Imported Upstream version 0.12.7 upstream
authorDiane Trout <diane@caltech.edu>
Thu, 6 Dec 2012 20:06:15 +0000 (12:06 -0800)
committerDiane Trout <diane@caltech.edu>
Thu, 6 Dec 2012 20:06:15 +0000 (12:06 -0800)
248 files changed:
AUTHORS [new file with mode: 0644]
COPYING [new file with mode: 0644]
MANUAL [new file with mode: 0644]
MANUAL.markdown [new file with mode: 0644]
Makefile [new file with mode: 0644]
NEWS [new file with mode: 0644]
SeqAn-1.1/GPL.txt [new file with mode: 0644]
SeqAn-1.1/LGPL.txt [new file with mode: 0644]
SeqAn-1.1/README.txt [new file with mode: 0644]
SeqAn-1.1/platform_linux_gcc.h [new file with mode: 0644]
SeqAn-1.1/platform_windows_mingw.h [new file with mode: 0644]
SeqAn-1.1/platform_windows_vs.h [new file with mode: 0644]
SeqAn-1.1/seqan/basic.h [new file with mode: 0644]
SeqAn-1.1/seqan/basic/basic_aggregates.h [new file with mode: 0644]
SeqAn-1.1/seqan/basic/basic_allocator_interface.h [new file with mode: 0644]
SeqAn-1.1/seqan/basic/basic_allocator_multipool.h [new file with mode: 0644]
SeqAn-1.1/seqan/basic/basic_allocator_simple.h [new file with mode: 0644]
SeqAn-1.1/seqan/basic/basic_allocator_singlepool.h [new file with mode: 0644]
SeqAn-1.1/seqan/basic/basic_allocator_to_std.h [new file with mode: 0644]
SeqAn-1.1/seqan/basic/basic_alphabet_interface.h [new file with mode: 0644]
SeqAn-1.1/seqan/basic/basic_alphabet_interface2.h [new file with mode: 0644]
SeqAn-1.1/seqan/basic/basic_alphabet_simple.h [new file with mode: 0644]
SeqAn-1.1/seqan/basic/basic_alphabet_simple_tabs.h [new file with mode: 0644]
SeqAn-1.1/seqan/basic/basic_alphabet_trait_basic.h [new file with mode: 0644]
SeqAn-1.1/seqan/basic/basic_compare.h [new file with mode: 0644]
SeqAn-1.1/seqan/basic/basic_converter.h [new file with mode: 0644]
SeqAn-1.1/seqan/basic/basic_counted_ptr.h [new file with mode: 0644]
SeqAn-1.1/seqan/basic/basic_debug.h [new file with mode: 0644]
SeqAn-1.1/seqan/basic/basic_definition.h [new file with mode: 0644]
SeqAn-1.1/seqan/basic/basic_forwards.h [new file with mode: 0644]
SeqAn-1.1/seqan/basic/basic_generated_forwards.h [new file with mode: 0644]
SeqAn-1.1/seqan/basic/basic_holder.h [new file with mode: 0644]
SeqAn-1.1/seqan/basic/basic_host.h [new file with mode: 0644]
SeqAn-1.1/seqan/basic/basic_iterator.h [new file with mode: 0644]
SeqAn-1.1/seqan/basic/basic_iterator_adapt_std.h [new file with mode: 0644]
SeqAn-1.1/seqan/basic/basic_iterator_adaptor.h [new file with mode: 0644]
SeqAn-1.1/seqan/basic/basic_iterator_base.h [new file with mode: 0644]
SeqAn-1.1/seqan/basic/basic_iterator_position.h [new file with mode: 0644]
SeqAn-1.1/seqan/basic/basic_iterator_simple.h [new file with mode: 0644]
SeqAn-1.1/seqan/basic/basic_metaprogramming.h [new file with mode: 0644]
SeqAn-1.1/seqan/basic/basic_operator.h [new file with mode: 0644]
SeqAn-1.1/seqan/basic/basic_pointer.h [new file with mode: 0644]
SeqAn-1.1/seqan/basic/basic_profile.h [new file with mode: 0644]
SeqAn-1.1/seqan/basic/basic_proxy.h [new file with mode: 0644]
SeqAn-1.1/seqan/basic/basic_tag.h [new file with mode: 0644]
SeqAn-1.1/seqan/basic/basic_transport.h [new file with mode: 0644]
SeqAn-1.1/seqan/basic/basic_type.h [new file with mode: 0644]
SeqAn-1.1/seqan/basic/basic_volatile_ptr.h [new file with mode: 0644]
SeqAn-1.1/seqan/file.h [new file with mode: 0644]
SeqAn-1.1/seqan/file/chunk_collector.h [new file with mode: 0644]
SeqAn-1.1/seqan/file/cstream.h [new file with mode: 0644]
SeqAn-1.1/seqan/file/file_array.h [new file with mode: 0644]
SeqAn-1.1/seqan/file/file_base.h [new file with mode: 0644]
SeqAn-1.1/seqan/file/file_format.h [new file with mode: 0644]
SeqAn-1.1/seqan/file/file_format_cgviz.h [new file with mode: 0644]
SeqAn-1.1/seqan/file/file_format_fasta.h [new file with mode: 0644]
SeqAn-1.1/seqan/file/file_format_fasta_align.h [new file with mode: 0644]
SeqAn-1.1/seqan/file/file_format_guess.h [new file with mode: 0644]
SeqAn-1.1/seqan/file/file_format_raw.h [new file with mode: 0644]
SeqAn-1.1/seqan/file/file_forwards.h [new file with mode: 0644]
SeqAn-1.1/seqan/file/file_generated_forwards.h [new file with mode: 0644]
SeqAn-1.1/seqan/file/meta.h [new file with mode: 0644]
SeqAn-1.1/seqan/file/stream.h [new file with mode: 0644]
SeqAn-1.1/seqan/file/stream_algorithms.h [new file with mode: 0644]
SeqAn-1.1/seqan/find.h [new file with mode: 0644]
SeqAn-1.1/seqan/find/find_base.h [new file with mode: 0644]
SeqAn-1.1/seqan/find/find_generated_forwards.h [new file with mode: 0644]
SeqAn-1.1/seqan/find/find_horspool.h [new file with mode: 0644]
SeqAn-1.1/seqan/find/find_multi.h [new file with mode: 0644]
SeqAn-1.1/seqan/find/find_multiple_shiftand.h [new file with mode: 0644]
SeqAn-1.1/seqan/find/find_score.h [new file with mode: 0644]
SeqAn-1.1/seqan/find/find_set_horspool.h [new file with mode: 0644]
SeqAn-1.1/seqan/index.h [new file with mode: 0644]
SeqAn-1.1/seqan/index/index_base.h [new file with mode: 0644]
SeqAn-1.1/seqan/index/index_find.h [new file with mode: 0644]
SeqAn-1.1/seqan/index/index_generated_forwards.h [new file with mode: 0644]
SeqAn-1.1/seqan/index/index_manual_forwards.h [new file with mode: 0644]
SeqAn-1.1/seqan/index/index_qgram_find.h [new file with mode: 0644]
SeqAn-1.1/seqan/index/index_sa_lss.h [new file with mode: 0644]
SeqAn-1.1/seqan/index/shape_base.h [new file with mode: 0644]
SeqAn-1.1/seqan/index/shape_gapped.h [new file with mode: 0644]
SeqAn-1.1/seqan/index/shape_predefined.h [new file with mode: 0644]
SeqAn-1.1/seqan/platform.h [new file with mode: 0644]
SeqAn-1.1/seqan/sequence.h [new file with mode: 0644]
SeqAn-1.1/seqan/sequence/lexical.h [new file with mode: 0644]
SeqAn-1.1/seqan/sequence/segment_base.h [new file with mode: 0644]
SeqAn-1.1/seqan/sequence/segment_infix.h [new file with mode: 0644]
SeqAn-1.1/seqan/sequence/segment_prefix.h [new file with mode: 0644]
SeqAn-1.1/seqan/sequence/segment_suffix.h [new file with mode: 0644]
SeqAn-1.1/seqan/sequence/sequence_forwards.h [new file with mode: 0644]
SeqAn-1.1/seqan/sequence/sequence_generated_forwards.h [new file with mode: 0644]
SeqAn-1.1/seqan/sequence/sequence_interface.h [new file with mode: 0644]
SeqAn-1.1/seqan/sequence/sequence_multiple.h [new file with mode: 0644]
SeqAn-1.1/seqan/sequence/sequence_shortcuts.h [new file with mode: 0644]
SeqAn-1.1/seqan/sequence/std_string.h [new file with mode: 0644]
SeqAn-1.1/seqan/sequence/string_alloc.h [new file with mode: 0644]
SeqAn-1.1/seqan/sequence/string_array.h [new file with mode: 0644]
SeqAn-1.1/seqan/sequence/string_base.h [new file with mode: 0644]
SeqAn-1.1/seqan/sequence/string_cstyle.h [new file with mode: 0644]
SeqAn-1.1/seqan/sequence/string_packed.h [new file with mode: 0644]
SeqAn-1.1/seqan/sequence/string_pointer.h [new file with mode: 0644]
SeqAn-1.1/seqan/sequence/string_stack.h [new file with mode: 0644]
SeqAn-1.1/seqan/sequence/string_value_expand.h [new file with mode: 0644]
TUTORIAL [new file with mode: 0644]
VERSION [new file with mode: 0644]
aligner.h [new file with mode: 0644]
aligner_0mm.h [new file with mode: 0644]
aligner_1mm.h [new file with mode: 0644]
aligner_23mm.h [new file with mode: 0644]
aligner_metrics.h [new file with mode: 0644]
aligner_seed_mm.h [new file with mode: 0644]
alphabet.c [new file with mode: 0644]
alphabet.h [new file with mode: 0644]
annot.cpp [new file with mode: 0644]
annot.h [new file with mode: 0644]
assert_helpers.h [new file with mode: 0644]
auto_array.h [new file with mode: 0644]
binary_sa_search.h [new file with mode: 0644]
bitpack.h [new file with mode: 0644]
bitset.h [new file with mode: 0644]
blockwise_sa.h [new file with mode: 0644]
bowtie_build_main.cpp [new file with mode: 0644]
bowtie_inspect.cpp [new file with mode: 0644]
bowtie_main.cpp [new file with mode: 0644]
ccnt_lut.cpp [new file with mode: 0644]
chaincat.cpp [new file with mode: 0644]
color.cpp [new file with mode: 0644]
color.h [new file with mode: 0644]
color_dec.cpp [new file with mode: 0644]
color_dec.h [new file with mode: 0644]
diff_sample.h [new file with mode: 0644]
doc/README [new file with mode: 0644]
doc/manual.html [new file with mode: 0644]
doc/strip_markdown.pl [new file with mode: 0644]
doc/style.css [new file with mode: 0644]
ebwt.cpp [new file with mode: 0644]
ebwt.h [new file with mode: 0644]
ebwt_build.cpp [new file with mode: 0644]
ebwt_search.cpp [new file with mode: 0644]
ebwt_search_backtrack.h [new file with mode: 0644]
ebwt_search_util.cpp [new file with mode: 0644]
ebwt_search_util.h [new file with mode: 0644]
edit.cpp [new file with mode: 0644]
edit.h [new file with mode: 0644]
endian_swap.h [new file with mode: 0644]
filebuf.h [new file with mode: 0644]
formats.h [new file with mode: 0644]
genomes/NC_008253.fna [new file with mode: 0644]
hit.cpp [new file with mode: 0644]
hit.h [new file with mode: 0644]
hit_set.cpp [new file with mode: 0644]
hit_set.h [new file with mode: 0644]
indexes/e_coli.1.ebwt [new file with mode: 0644]
indexes/e_coli.2.ebwt [new file with mode: 0644]
indexes/e_coli.3.ebwt [new file with mode: 0644]
indexes/e_coli.4.ebwt [new file with mode: 0644]
indexes/e_coli.README [new file with mode: 0644]
indexes/e_coli.rev.1.ebwt [new file with mode: 0644]
indexes/e_coli.rev.2.ebwt [new file with mode: 0644]
log.cpp [new file with mode: 0644]
log.h [new file with mode: 0644]
mm.h [new file with mode: 0644]
multikey_qsort.h [new file with mode: 0644]
pat.cpp [new file with mode: 0644]
pat.h [new file with mode: 0644]
pool.h [new file with mode: 0644]
qual.cpp [new file with mode: 0644]
qual.h [new file with mode: 0644]
random_source.h [new file with mode: 0644]
random_test.cpp [new file with mode: 0644]
range.h [new file with mode: 0644]
range_cache.h [new file with mode: 0644]
range_chaser.h [new file with mode: 0644]
range_source.h [new file with mode: 0644]
reads/e_coli_1000.fa [new file with mode: 0644]
reads/e_coli_1000.fq [new file with mode: 0644]
reads/e_coli_1000.raw [new file with mode: 0644]
reads/e_coli_10000snp.fa [new file with mode: 0644]
reads/e_coli_10000snp.fq [new file with mode: 0644]
reads/e_coli_1000_1.fa [new file with mode: 0644]
reads/e_coli_1000_1.fq [new file with mode: 0644]
reads/e_coli_1000_2.fa [new file with mode: 0644]
reads/e_coli_1000_2.fq [new file with mode: 0644]
ref_aligner.cpp [new file with mode: 0644]
ref_aligner.h [new file with mode: 0644]
ref_read.cpp [new file with mode: 0644]
ref_read.h [new file with mode: 0644]
reference.h [new file with mode: 0644]
refmap.cpp [new file with mode: 0644]
refmap.h [new file with mode: 0644]
row_chaser.h [new file with mode: 0644]
sam.cpp [new file with mode: 0644]
sam.h [new file with mode: 0644]
scripts/best_verify.pl [new file with mode: 0755]
scripts/bs_mapability.pl [new file with mode: 0755]
scripts/build_test.sh [new file with mode: 0755]
scripts/colorize_fasta.pl [new file with mode: 0755]
scripts/colorize_fastq.pl [new file with mode: 0755]
scripts/convert_quals.pl [new file with mode: 0755]
scripts/fastq_to_tabbed.pl [new file with mode: 0755]
scripts/gen_2b_occ_lookup.pl [new file with mode: 0755]
scripts/gen_dnamasks2colormask.pl [new file with mode: 0755]
scripts/gen_occ_lookup.pl [new file with mode: 0755]
scripts/gen_solqual_lookup.pl [new file with mode: 0755]
scripts/make_a_thaliana_tair.sh [new file with mode: 0755]
scripts/make_b_taurus_UMD3.sh [new file with mode: 0755]
scripts/make_c_elegans_ws200.sh [new file with mode: 0755]
scripts/make_canFam2.sh [new file with mode: 0755]
scripts/make_d_melanogaster_fb5_22.sh [new file with mode: 0755]
scripts/make_e_coli.sh [new file with mode: 0755]
scripts/make_galGal3.sh [new file with mode: 0755]
scripts/make_h_sapiens_ncbi36.sh [new file with mode: 0755]
scripts/make_h_sapiens_ncbi37.sh [new file with mode: 0755]
scripts/make_hg18.sh [new file with mode: 0755]
scripts/make_hg19.sh [new file with mode: 0755]
scripts/make_m_musculus_ncbi37.sh [new file with mode: 0755]
scripts/make_mm8.sh [new file with mode: 0755]
scripts/make_mm9.sh [new file with mode: 0755]
scripts/make_rn4.sh [new file with mode: 0755]
scripts/make_s_cerevisiae.sh [new file with mode: 0755]
scripts/mapability.pl [new file with mode: 0755]
scripts/pe_verify.pl [new file with mode: 0755]
scripts/random_bowtie_tests.pl [new file with mode: 0755]
scripts/random_bowtie_tests.sh [new file with mode: 0755]
scripts/random_bowtie_tests_p.sh [new file with mode: 0755]
scripts/reconcile_alignments.pl [new file with mode: 0755]
scripts/reconcile_alignments_pe.pl [new file with mode: 0755]
search_1mm_phase1.c [new file with mode: 0644]
search_1mm_phase2.c [new file with mode: 0644]
search_23mm_phase1.c [new file with mode: 0644]
search_23mm_phase2.c [new file with mode: 0644]
search_23mm_phase3.c [new file with mode: 0644]
search_exact.c [new file with mode: 0644]
search_globals.h [new file with mode: 0644]
search_seeded_phase1.c [new file with mode: 0644]
search_seeded_phase2.c [new file with mode: 0644]
search_seeded_phase3.c [new file with mode: 0644]
search_seeded_phase4.c [new file with mode: 0644]
sequence_io.h [new file with mode: 0644]
shmem.cpp [new file with mode: 0644]
shmem.h [new file with mode: 0644]
spinlock.h [new file with mode: 0644]
str_util.h [new file with mode: 0644]
threading.h [new file with mode: 0644]
timer.h [new file with mode: 0644]
tokenize.h [new file with mode: 0644]
word_io.h [new file with mode: 0644]
zbox.h [new file with mode: 0644]

diff --git a/AUTHORS b/AUTHORS
new file mode 100644 (file)
index 0000000..32fe374
--- /dev/null
+++ b/AUTHORS
@@ -0,0 +1,19 @@
+Bowtie authors
+Primary contact <blangmea@jhsph.edu>
+
+Ben Langmead and Cole Trapnell wrote Bowtie.  The SeqAn-1.1 library is
+used in Bowtie and some of its sources are included in Bowtie source
+releases; its authors are Andreas Doring, David Weese, Tobias Rausch,
+and Knut Reinert.  A DLL from the pthreads for Win32 library is
+distributed with the Win32 version of Bowtie.  The pthreads for Win32
+library and the GnuWin32 package have many contributors (see their
+respective web sites).
+
+Websites:
+
+ Bowtie:             http://bowtie-bio.sf.net
+ SeqAn:              http://www.seqan.de
+ pthreads for Win32: http://sourceware.org/pthreads-win32
+ GnuWin32:           http://gnuwin32.sf.net
+
+December 2009
diff --git a/COPYING b/COPYING
new file mode 100644 (file)
index 0000000..7cb8b7b
--- /dev/null
+++ b/COPYING
@@ -0,0 +1,114 @@
+The Artistic License
+
+Preamble
+
+The intent of this document is to state the conditions under which a
+Package may be copied, such that the Copyright Holder maintains some
+semblance of artistic control over the development of the package,
+while giving the users of the package the right to use and distribute
+the Package in a more-or-less customary fashion, plus the right to
+make reasonable modifications.
+
+Definitions:
+    * "Package" refers to the collection of files distributed by the
+      Copyright Holder, and derivatives of that collection of files
+      created through textual modification.
+    * "Standard Version" refers to such a Package if it has not been
+      modified, or has been modified in accordance with the wishes of
+      the Copyright Holder.
+    * "Copyright Holder" is whoever is named in the copyright or
+      copyrights for the package.
+    * "You" is you, if you're thinking about copying or distributing
+      this Package.
+    * "Reasonable copying fee" is whatever you can justify on the
+      basis of media cost, duplication charges, time of people
+      involved, and so on. (You will not be required to justify it to
+      the Copyright Holder, but only to the computing community at
+      large as a market that must bear the fee.)
+    * "Freely Available" means that no fee is charged for the item
+      itself, though there may be fees involved in handling the
+      item. It also means that recipients of the item may redistribute
+      it under the same conditions they received it.
+
+1. You may make and give away verbatim copies of the source form of
+   the Standard Version of this Package without restriction, provided
+   that you duplicate all of the original copyright notices and
+   associated disclaimers.
+
+2. You may apply bug fixes, portability fixes and other modifications
+   derived from the Public Domain or from the Copyright Holder. A
+   Package modified in such a way shall still be considered the
+   Standard Version.
+
+3. You may otherwise modify your copy of this Package in any way,
+   provided that you insert a prominent notice in each changed file
+   stating how and when you changed that file, and provided that you
+   do at least ONE of the following:
+
+    a) place your modifications in the Public Domain or otherwise make
+    them Freely Available, such as by posting said modifications to
+    Usenet or an equivalent medium, or placing the modifications on a
+    major archive site such as ftp.uu.net, or by allowing the
+    Copyright Holder to include your modifications in the Standard
+    Version of the Package.
+
+    b) use the modified Package only within your corporation or
+    organization.
+
+    c) rename any non-standard executables so the names do not
+    conflict with standard executables, which must also be provided,
+    and provide a separate manual page for each non-standard
+    executable that clearly documents how it differs from the Standard
+    Version.
+
+    d) make other distribution arrangements with the Copyright Holder.
+
+4. You may distribute the programs of this Package in object code or
+   executable form, provided that you do at least ONE of the
+   following:
+
+    a) distribute a Standard Version of the executables and library
+    files, together with instructions (in the manual page or
+    equivalent) on where to get the Standard Version.
+
+    b) accompany the distribution with the machine-readable source of
+    the Package with your modifications.
+
+    c) accompany any non-standard executables with their corresponding
+    Standard Version executables, giving the non-standard executables
+    non-standard names, and clearly documenting the differences in
+    manual pages (or equivalent), together with instructions on where
+    to get the Standard Version.
+
+    d) make other distribution arrangements with the Copyright Holder.
+
+5. You may charge a reasonable copying fee for any distribution of
+   this Package. You may charge any fee you choose for support of this
+   Package. You may not charge a fee for this Package itself. However,
+   you may distribute this Package in aggregate with other (possibly
+   commercial) programs as part of a larger (possibly commercial)
+   software distribution provided that you do not advertise this
+   Package as a product of your own.
+
+6. The scripts and library files supplied as input to or produced as
+   output from the programs of this Package do not automatically fall
+   under the copyright of this Package, but belong to whomever
+   generated them, and may be sold commercially, and may be aggregated
+   with this Package.
+
+7. C or perl subroutines supplied by you and linked into this Package
+   shall not be considered part of this Package.
+
+8. The name of the Copyright Holder may not be used to endorse or
+   promote products derived from this software without specific prior
+   written permission.
+
+9. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED
+   WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES
+   OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+
+The End
+This license is approved by the Open Source Initiative
+(www.opensource.org) for certifying software as OSI Certified Open
+Source.
+
diff --git a/MANUAL b/MANUAL
new file mode 100644 (file)
index 0000000..9a56cc8
--- /dev/null
+++ b/MANUAL
@@ -0,0 +1,1671 @@
+
+What is Bowtie?
+===============
+
+[Bowtie] is an ultrafast, memory-efficient short read aligner geared
+toward quickly aligning large sets of short DNA sequences (reads) to
+large genomes. It aligns 35-base-pair reads to the human genome at a
+rate of 25 million reads per hour on a typical workstation. Bowtie
+indexes the genome with a [Burrows-Wheeler] index to keep its memory
+footprint small: for the human genome, the index is typically about
+2.2 GB (for unpaired alignment) or 2.9 GB (for paired-end or colorspace
+alignment).  Multiple processors can be used simultaneously to achieve
+greater alignment speed.  Bowtie can also output alignments in the
+standard [SAM] format, allowing Bowtie to interoperate with other tools
+supporting SAM, including the [SAMtools] consensus, SNP, and indel
+callers.  Bowtie runs on the command line under Windows, Mac OS X,
+Linux, and Solaris.
+
+[Bowtie] also forms the basis for other tools, including [TopHat]: a
+fast splice junction mapper for RNA-seq reads, [Cufflinks]: a tool for
+transcriptome assembly and isoform quantitiation from RNA-seq reads,
+[Crossbow]: a cloud-computing software tool for large-scale
+resequencing data,and [Myrna]: a cloud computing tool for calculating
+differential gene expression in large RNA-seq datasets.
+
+If you use [Bowtie] for your published research, please cite the
+[Bowtie paper].
+
+[Bowtie]:          http://bowtie-bio.sf.net
+[Burrows-Wheeler]: http://en.wikipedia.org/wiki/Burrows-Wheeler_transform
+[SAM]:             http://samtools.sourceforge.net/SAM1.pdf
+[SAMtools]:        http://samtools.sourceforge.net/
+[TopHat]:          http://tophat.cbcb.umd.edu/
+[Cufflinks]:       http://cufflinks.cbcb.umd.edu/
+[Crossbow]:        http://bowtie-bio.sf.net/crossbow
+[Myrna]:           http://bowtie-bio.sf.net/myrna
+[Bowtie paper]:    http://genomebiology.com/2009/10/3/R25
+
+What isn't Bowtie?
+==================
+
+Bowtie is not a general-purpose alignment tool like [MUMmer], [BLAST]
+or [Vmatch].  Bowtie works best when aligning short reads to large
+genomes, though it supports arbitrarily small reference sequences (e.g.
+amplicons) and reads as long as 1024 bases.  Bowtie is designed to be
+extremely fast for sets of short reads where (a) many of the reads have
+at least one good, valid alignment, (b) many of the reads are
+relatively high-quality, and (c) the number of alignments reported per
+read is small (close to 1).
+
+Bowtie does not yet report gapped alignments; this is future work.
+
+[MUMmer]: http://mummer.sourceforge.net/
+[BLAST]:  http://blast.ncbi.nlm.nih.gov/Blast.cgi
+[Vmatch]: http://www.vmatch.de/
+
+Obtaining Bowtie
+================
+
+You may download either Bowtie sources or binaries for your platform
+from the [Download] section of the Sourceforge project site.  Binaries
+are currently available for Intel architectures (`i386` and `x86_64`)
+running Linux, Windows, and Mac OS X.
+
+Building from source
+--------------------
+
+Building Bowtie from source requires a GNU-like environment that
+includes GCC, GNU Make and other basics.  It should be possible to
+build Bowtie on a vanilla Linux or Mac installation.  Bowtie can also
+be built on Windows using [Cygwin] or [MinGW].  We recommend
+[TDM's MinGW Build].  If using [MinGW], you must also have [MSYS]
+installed.
+
+To build Bowtie, extract the sources, change to the extracted
+directory, and run GNU `make` (usually with the command `make`, but
+sometimes with `gmake`) with no arguments.  If building with [MinGW],
+run `make` from the [MSYS] command line.
+
+To support the `-p` (multithreading) option, Bowtie needs the
+`pthreads` library.  To compile Bowtie without `pthreads` (which
+disables `-p`), use `make BOWTIE_PTHREADS=0`.
+
+[Cygwin]:   http://www.cygwin.com/
+[MinGW]:    http://www.mingw.org/
+[TDM's MinGW Build]: http://www.tdragon.net/recentgcc/
+[MSYS]:     http://www.mingw.org/wiki/msys
+[Download]: https://sourceforge.net/projects/bowtie-bio/files/bowtie/
+
+The `bowtie` aligner
+====================
+
+`bowtie` takes an index and a set of reads as input and outputs a list
+of alignments.  Alignments are selected according to a combination of
+the `-v`/`-n`/`-e`/`-l` options (plus the `-I`/`-X`/`--fr`/`--rf`/
+`--ff` options for paired-end alignment), which define which alignments
+are legal, and the `-k`/`-a`/`-m`/`-M`/`--best`/`--strata` options
+which define which and how many legal alignments should be reported.
+
+By default, Bowtie enforces an alignment policy similar to [Maq]'s
+default quality-aware policy (`-n` 2 `-l` 28 `-e` 70).  See [the -n
+alignment mode] section of the manual for details about this mode.  But
+Bowtie can also enforce a simpler end-to-end k-difference policy (e.g.
+with `-v` 2).  See [the -v alignment mode] section of the manual for
+details about that mode.  [The -n alignment mode] and [the -v alignment
+mode] are mutually exclusive.
+
+Bowtie works best when aligning short reads to large genomes (e.g.
+human or mouse), though it supports arbitrarily small reference
+sequences and reads as long as 1024 bases.  Bowtie is designed to be
+very fast for sets of short reads where a) many reads have at least one
+good, valid alignment, b) many reads are relatively high-quality, c)
+the number of alignments reported per read is small (close to 1).
+These criteria are generally satisfied in the context of modern
+short-read analyses such as RNA-seq, ChIP-seq, other types of -seq, and
+mammalian resequencing.  You may observe longer running times in other
+research contexts.
+
+If `bowtie` is too slow for your application, try some of the
+performance-tuning hints described in the [Performance Tuning] section
+below.
+
+Alignments involving one or more ambiguous reference characters (`N`,
+`-`, `R`, `Y`, etc.) are considered invalid by Bowtie.  This is true
+only for ambiguous characters in the reference; alignments involving
+ambiguous characters in the read are legal, subject to the alignment
+policy.  Ambiguous characters in the read mismatch all other
+characters.  Alignments that "fall off" the reference sequence are not
+considered valid.
+
+The process by which `bowtie` chooses an alignment to report is
+randomized in order to avoid "mapping bias" - the phenomenon whereby
+an aligner systematically fails to report a particular class of good
+alignments, causing spurious "holes" in the comparative assembly.
+Whenever `bowtie` reports a subset of the valid alignments that exist,
+it makes an effort to sample them randomly.  This randomness flows
+from a simple seeded pseudo-random number generator and is
+deterministic in the sense that Bowtie will always produce the same
+results for the same read when run with the same initial "seed" value
+(see `--seed` option).
+
+In the default mode, `bowtie` can exhibit strand bias.  Strand bias
+occurs when input reference and reads are such that (a) some reads
+align equally well to sites on the forward and reverse strands of the
+reference, and (b) the number of such sites on one strand is different
+from the number on the other strand.  When this happens for a given
+read, `bowtie` effectively chooses one strand or the other with 50%
+probability, then reports a randomly-selected alignment for that read
+from among the sites on the selected strand.  This tends to overassign
+alignments to the sites on the strand with fewer sites and underassign
+to sites on the strand with more sites.  The effect is mitigated,
+though it may not be eliminated, when reads are longer or when
+paired-end reads are used.  Running Bowtie in `--best` mode
+eliminates strand bias by forcing Bowtie to select one strand or the
+other with a probability that is proportional to the number of best
+sites on the strand.
+
+Gapped alignments are not currently supported, but support is planned
+for a future release.
+
+[Maq]: http://maq.sf.net
+
+The `-n` alignment mode
+-----------------------
+
+When the `-n` option is specified (which is the default), `bowtie`
+determines which alignments are valid according to the following
+policy, which is similar to [Maq]'s default policy.
+
+  1. Alignments may have no more than `N` mismatches (where `N` is a
+     number 0-3, set with `-n`) in the first `L` bases (where `L` is a
+     number 5 or greater, set with `-l`) on the high-quality (left) end
+     of the read.  The first `L` bases are called the "seed".
+
+  2. The sum of the [Phred quality] values at *all* mismatched positions
+     (not just in the seed) may not exceed `E` (set with `-e`).  Where
+     qualities are unavailable (e.g. if the reads are from a FASTA
+     file), the [Phred quality] defaults to 40.
+
+The `-n` option is mutually exclusive with the `-v` option.
+
+If there are many possible alignments satisfying these criteria, Bowtie
+gives preference to alignments with fewer mismatches and where the sum
+from criterion 2 is smaller.  When the `--best` option is specified,
+Bowtie guarantees the reported alignment(s) are "best" in terms of
+these criteria (criterion 1 has priority), and that the alignments are
+reported in best-to-worst order.  Bowtie is somewhat slower when
+`--best` is specified.
+
+Note that [Maq] internally rounds base qualities to the nearest 10 and
+rounds qualities greater than 30 to 30.  To maintain compatibility,
+Bowtie does the same.  Rounding can be suppressed with the
+`--nomaqround` option.
+Bowtie is not fully sensitive in `-n` 2 and `-n` 3 modes by default.
+In these modes Bowtie imposes a "backtracking limit" to limit effort
+spent trying to find valid alignments for low-quality reads unlikely to
+have any.  This may cause bowtie to miss some legal 2- and 3-mismatch
+alignments.  The limit is set to a reasonable default (125 without
+`--best`, 800 with `--best`), but the user may decrease or increase the
+limit using the `--maxbts` and/or `-y` options.  `-y` mode is
+relatively slow but guarantees full sensitivity.
+
+[Maq]: http://maq.sf.net
+[Phred quality]: http://en.wikipedia.org/wiki/FASTQ_format#Variations
+
+The `-v` alignment mode
+-----------------------
+
+In `-v` mode, alignments may have no more than `V` mismatches, where
+`V` may be a number from 0 through 3 set using the `-v` option.
+Quality values are ignored.  The `-v` option is mutually exclusive with
+the `-n` option.
+
+If there are many legal alignments, Bowtie gives preference to
+alignments with fewer mismatches.  When the `--best` option is
+specified, Bowtie guarantees the reported alignment(s) are "best" in
+terms of the number of mismatches, and that the alignments are reported
+in best-to-worst order.  Bowtie is somewhat slower when `--best` is
+specified.
+
+Strata
+------
+
+In [the -n alignment mode], an alignment's "stratum" is defined as the
+number of mismatches in the "seed" region, i.e. the leftmost `L` bases,
+where `L` is set with the `-l` option.  In [the -v alignment mode], an
+alignment's stratum is defined as the total number of mismatches in the
+entire alignment.  Some of Bowtie's options (e.g. `--strata` and `-m`
+use the notion of "stratum" to limit or expand the scope of reportable
+alignments.
+
+Reporting Modes
+---------------
+
+With the `-k`, `-a`, `-m`, `-M`, `--best` and `--strata` options, the
+user can flexibily select which alignments are reported.  Below we
+demonstrate a few ways in which these options can be combined.  All
+examples are using the `e_coli` index packaged with Bowtie.  The
+`--suppress` option is used to keep the output concise and some
+output is elided for clarity.
+
+  Example 1: `-a`
+
+    $ ./bowtie -a -v 2 e_coli --suppress 1,5,6,7 -c ATGCATCATGCGCCAT
+    -  gi|110640213|ref|NC_008253.1|   148810  10:A>G,13:C>G
+    -  gi|110640213|ref|NC_008253.1|   2852852 8:T>A
+    -  gi|110640213|ref|NC_008253.1|   4930433 4:G>T,6:C>G
+    -  gi|110640213|ref|NC_008253.1|   905664  6:A>G,7:G>T
+    +  gi|110640213|ref|NC_008253.1|   1093035 2:T>G,15:A>T
+
+Specifying `-a` instructs bowtie to report *all* valid alignments,
+subject to the alignment policy: `-v` 2.  In this case, bowtie finds
+5 inexact hits in the E. coli genome; 1 hit (the 2nd one listed)
+has 1 mismatch, and the other 4 hits have 2 mismatches.  Four are on
+the reverse reference strand and one is on the forward strand.  Note
+that they are not listed in best-to-worst order.
+
+  Example 2: `-k 3`
+
+    $ ./bowtie -k 3 -v 2 e_coli --suppress 1,5,6,7 -c ATGCATCATGCGCCAT
+    -  gi|110640213|ref|NC_008253.1|   148810  10:A>G,13:C>G
+    -  gi|110640213|ref|NC_008253.1|   2852852 8:T>A
+    -  gi|110640213|ref|NC_008253.1|   4930433 4:G>T,6:C>G
+
+Specifying `-k` 3 instructs bowtie to report up to 3 valid
+alignments.  In this case, a total of 5 valid alignments exist (see
+[Example 1]); `bowtie` reports 3 out of those 5.  `-k` can be set to
+any integer greater than 0.
+
+  Example 3: `-k 6`
+
+    $ ./bowtie -k 6 -v 2 e_coli --suppress 1,5,6,7 -c ATGCATCATGCGCCAT
+    -  gi|110640213|ref|NC_008253.1|   148810  10:A>G,13:C>G
+    -  gi|110640213|ref|NC_008253.1|   2852852 8:T>A
+    -  gi|110640213|ref|NC_008253.1|   4930433 4:G>T,6:C>G
+    -  gi|110640213|ref|NC_008253.1|   905664  6:A>G,7:G>T
+    +  gi|110640213|ref|NC_008253.1|   1093035 2:T>G,15:A>T
+
+Specifying `-k` 6 instructs bowtie to report up to 6 valid
+alignments.  In this case, a total of 5 valid alignments exist, so
+`bowtie` reports all 5.
+
+  Example 4: default (`-k 1`)
+
+    $ ./bowtie -v 2 e_coli --suppress 1,5,6,7 -c ATGCATCATGCGCCAT
+    -  gi|110640213|ref|NC_008253.1|   148810  10:A>G,13:C>G
+
+Leaving the reporting options at their defaults causes `bowtie` to
+report the first valid alignment it encounters.  Because `--best` was
+not specified, we are not guaranteed that bowtie will report the best
+alignment, and in this case it does not (the 1-mismatch alignment from
+the previous example would have been better).  The default reporting
+mode is equivalent to `-k` 1.
+
+  Example 5: `-a --best`
+
+    $ ./bowtie -a --best -v 2 e_coli --suppress 1,5,6,7 -c ATGCATCATGCGCCAT
+    -  gi|110640213|ref|NC_008253.1|   2852852 8:T>A
+    +  gi|110640213|ref|NC_008253.1|   1093035 2:T>G,15:A>T
+    -  gi|110640213|ref|NC_008253.1|   905664  6:A>G,7:G>T
+    -  gi|110640213|ref|NC_008253.1|   148810  10:A>G,13:C>G
+    -  gi|110640213|ref|NC_008253.1|   4930433 4:G>T,6:C>G
+
+Specifying `-a` `--best` results in the same alignments being printed
+as if just `-a` had been specified, but they are guaranteed to be
+reported in best-to-worst order.
+
+  Example 6: `-a --best --strata`
+
+    $ ./bowtie -a --best --strata -v 2 --suppress 1,5,6,7 e_coli -c ATGCATCATGCGCCAT
+    -  gi|110640213|ref|NC_008253.1|   2852852 8:T>A
+
+Specifying `--strata` in addition to `-a` and `--best` causes
+`bowtie` to report only those alignments in the best alignment
+"stratum".  The alignments in the best stratum are those having the
+least number of mismatches (or mismatches just in the "seed" portion of
+the alignment in the case of `-n` mode).  Note that if `--strata`
+is specified, `--best` must also be specified.
+
+  Example 7: `-a -m 3`
+
+    $ ./bowtie -a -m 3 -v 2 e_coli -c ATGCATCATGCGCCAT
+    No alignments
+
+Specifying `-m` 3 instructs bowtie to refrain from reporting any
+alignments for reads having more than 3 reportable alignments.  The
+`-m` option is useful when the user would like to guarantee that
+reported alignments are "unique", for some definition of unique.
+
+Example 1 showed that the read has 5 reportable alignments when `-a`
+and `-v` 2 are specified, so the `-m` 3 limit causes bowtie to
+output no alignments.
+
+  Example 8: `-a -m 5`
+
+    $ ./bowtie -a -m 5 -v 2 e_coli --suppress 1,5,6,7 -c ATGCATCATGCGCCAT
+    -  gi|110640213|ref|NC_008253.1|   148810  10:A>G,13:C>G
+    -  gi|110640213|ref|NC_008253.1|   2852852 8:T>A
+    -  gi|110640213|ref|NC_008253.1|   4930433 4:G>T,6:C>G
+    -  gi|110640213|ref|NC_008253.1|   905664  6:A>G,7:G>T
+    +  gi|110640213|ref|NC_008253.1|   1093035 2:T>G,15:A>T
+
+Specifying `-m` 5 instructs bowtie to refrain from reporting any
+alignments for reads having more than 5 reportable alignments.  Since
+the read has exactly 5 reportable alignments, the `-m` 5 limit allows
+`bowtie` to print them as usual. 
+
+  Example 9: `-a -m 3 --best --strata`
+
+    $ ./bowtie -a -m 3 --best --strata -v 2 e_coli --suppress 1,5,6,7 -c ATGCATCATGCGCCAT
+    -  gi|110640213|ref|NC_008253.1|   2852852 8:T>A
+
+Specifying `-m` 3 instructs bowtie to refrain from reporting any
+alignments for reads having more than 3 reportable alignments.  As we
+saw in Example 6, the read has only 1 reportable alignment when `-a`,
+`--best` and `--strata` are specified, so the `-m` 3 limit allows
+`bowtie` to print that alignment as usual.
+
+Intuitively, the `-m` option, when combined with the `--best` and
+`--strata` options, guarantees a principled, though weaker form of
+"uniqueness."  A stronger form of uniqueness is enforced when `-m` is
+specified but `--best` and `--strata` are not.
+
+Paired-end Alignment
+--------------------
+
+`bowtie` can align paired-end reads when properly paired read files are
+specified using the `-1` and `-2` options (for pairs of raw, FASTA, or
+FASTQ read files), or using the `--12` option (for Tab-delimited read
+files).  A valid paired-end alignment satisfies these criteria:
+
+1. Both mates have a valid alignment according to the alignment policy
+   defined by the `-v`/`-n`/`-e`/`-l` options.
+2. The relative orientation and position of the mates satisfy the
+   constraints defined by the `-I`/`-X`/`--fr`/`--rf`/`--ff`
+   options. 
+
+Policies governing which paired-end alignments are reported for a
+given read are specified using the `-k`, `-a` and `-m` options as
+usual.  The `--strata` and `--best` options do not apply in
+paired-end mode.
+
+A paired-end alignment is reported as a pair of mate alignments, both
+on a separate line, where the alignment for each mate is formatted the
+same as an unpaired (singleton) alignment.  The alignment for the mate
+that occurs closest to the beginning of the reference sequence (the
+"upstream" mate) is always printed before the alignment for the
+downstream mate.  Reads files containing paired-end reads will
+sometimes name the reads according to whether they are the #1 or #2
+mates by appending a `/1` or `/2` suffix to the read name.  If no such
+suffix is present in Bowtie's input, the suffix will be added when
+Bowtie prints read names in alignments (except in `-S` "SAM" mode,
+where mate information is encoded in the `FLAGS` field instead).
+
+Finding a valid paired-end alignment where both mates align to
+repetitive regions of the reference can be very time-consuming.  By
+default, Bowtie avoids much of this cost by imposing a limit on the
+number of "tries" it makes to match an alignment for one mate with a
+nearby alignment for the other.  The default limit is 100.  This causes
+`bowtie` to miss some valid paired-end alignments where both mates lie
+in repetitive regions, but the user may use the `--pairtries` or
+`-y` options to increase Bowtie's sensitivity as desired.
+
+Paired-end alignments where one mate's alignment is entirely contained
+within the other's are considered invalid.
+
+When colospace alignment is enabled via `-C`, the default setting for
+paired-end orientation is `--ff`.  This is because most SOLiD datasets
+have that orientation.  When colorspace alignment is not enabled
+(default), the default setting for orientation is `--fr`, since most
+Illumina datasets have this orientation.  The default can be overriden
+in either case.
+
+Because Bowtie uses an in-memory representation of the original
+reference string when finding paired-end alignments, its memory
+footprint is larger when aligning paired-end reads.  For example, the
+human index has a memory footprint of about 2.2 GB in single-end mode
+and 2.9 GB in paired-end mode.  Note that paired-end and unpaired
+alignment incur the same memory footprint in colorspace (e.g. human
+incurs about 2.9 GB)
+
+Colorspace Alignment
+--------------------
+
+As of version 0.12.0, `bowtie` can align colorspace reads against a
+colorspace index when `-C` is specified.  Colorspace is the
+characteristic output format of Applied Biosystems' SOLiD system.  In a
+colorspace read, each character is a color rather than a nucleotide,
+where a color encodes a class of dinucleotides.  E.g. the color blue
+encodes any of the dinucleotides: AA, CC, GG, TT.  Colorspace has the
+advantage of (often) being able to distinguish sequencing errors from
+SNPs once the read has been aligned.  See ABI's [Principles of Di-Base
+Sequencing] document for details.
+
+  Colorspace reads
+
+All input formats (FASTA `-f`, FASTQ `-q`, raw `-r`, tab-delimited
+`--12`, command-line `-c`) are compatible with colorspace (`-C`).
+When `-C` is specified, read sequences are treated as colors.  Colors
+may be encoded either as numbers (`0`=blue, `1`=green, `2`=orange,
+`3`=red) or as characters `A/C/G/T` (`A`=blue, `C`=green, `G`=orange,
+`T`=red).
+
+Some reads include a primer base as the first character; e.g.:
+
+    >1_53_33_F3
+    T2213120002010301233221223311331
+    >1_53_70_F3
+    T2302111203131231130300111123220
+    ...
+
+Here, `T` is the primer base.  `bowtie` detects and handles primer
+bases properly (i.e., the primer base and the adjacent color are both
+trimmed away prior to alignment) as long as the rest of the read is
+encoded as numbers.
+
+`bowtie` also handles input in the form of parallel `.csfasta` and
+`_QV.qual` files.  Use `-f` to specify the `.csfasta` files and `-Q`
+(for unpaired reads) or `--Q1`/`--Q2` (for paired-end reads) to
+specify the corresponding `_QV.qual` files.  It is not necessary to
+first convert to FASTQ, though `bowtie` also handles FASTQ-formatted
+colorspace reads (with `-q`, the default).
+
+  Building a colorspace index
+
+A colorspace index is built in the same way as a normal index except
+that `-C` must be specified when running `bowtie-build`.  If the user
+attempts to use `bowtie` without `-C` to align against an index that
+was built with `-C` (or vice versa), `bowtie` prints an error message
+and quits.
+
+  Decoding colorspace alignments
+
+Once a colorspace read is aligned, Bowtie decodes the alignment into
+nucleotides and reports the decoded nucleotide sequence.  A principled
+decoding scheme is necessary because many different possible decodings
+are usually possible.  Finding the true decoding with 100% certainty
+requires knowing all variants (e.g. SNPs) in the subject's genome
+beforehand, which is usually not possible.  Instead, `bowtie` employs
+the approximate decoding scheme described in the [BWA paper].  This
+scheme attempts to distinguish variants from sequencing errors
+according to their relative likelihood under a model that considers the
+quality values of the colors and the (configurable) global likelihood
+of a SNP.
+
+Quality values are also "decoded" so that each reported quality value
+is a function of the two color qualities overlapping it.  Bowtie again
+adopts the scheme described in the [BWA paper], i.e., the decoded
+nucleotide quality is either the sum of the overlapping color qualities
+(when both overlapping colors correspond to bases that match in the
+alignment), the quality of the matching color minus the quality of the
+mismatching color, or 0 (when both overlapping colors correspond to
+mismatches).
+
+For accurate decoding, `--snpphred`/`--snpfrac` should be set according
+to the user's best guess of the SNP frequency in the subject.  The
+`--snpphred` parameter sets the SNP penalty directly (on the [Phred
+quality] scale), whereas `--snpfrac` allows the user to specify the
+fraction of sites expected to be SNPs; the fraction is then converted
+to a [Phred quality] internally.  For the purpose of decoding, the SNP
+fraction is defined in terms of SNPs per *haplotype* base.  Thus, if
+the genome is diploid, heterozygous SNPs have half the weight of
+homozygous SNPs
+
+Note that in `-S`/`--sam` mode, the decoded nucleotide sequence is
+printed for alignments, but the original color sequence (with `A`=blue,
+`C`=green, `G`=orange, `T`=red) is printed for unaligned reads without
+any reported alignments.  As always, the `--un`, `--max` and `--al`
+parameters print reads exactly as they appeared in the input file.
+
+  Paired-end colorspace alignment
+
+Like other platforms, SOLiD supports generation of paired-end reads.
+When colorspace alignment is enabled, the default paired-end
+orientation setting is `--ff`.  This is because most SOLiD datasets
+have that orientation.
+
+Note that SOLiD-generated read files can have "orphaned" mates; i.e.
+mates without a correpsondingly-named mate in the other file.  To avoid
+problems due to orphaned mates, SOLiD paired-end output should first be
+converted to `.csfastq` files with unpaired mates omitted.  This can be
+accomplished using, for example, [Galaxy]'s conversion tool (click
+"NGS: QC and manipulation", then "SOLiD-to-FASTQ" in the left-hand
+sidebar).
+
+[Principles of Di-Base Sequencing]: http://tinyurl.com/ygnb2gn
+[BWA paper]: http://bioinformatics.oxfordjournals.org/cgi/content/abstract/25/14/1754
+
+Performance Tuning
+------------------
+
+1.  Use 64-bit bowtie if possible
+
+    The 64-bit version of Bowtie is substantially (usually more then
+    50%) faster than the 32-bit version, owing to its use of 64-bit
+    arithmetic.  If possible, download the 64-bit binaries for Bowtie
+    and run on a 64-bit computer.  If you are building Bowtie from
+    sources, you may need to pass the `-m64` option to `g++` to compile
+    the 64-bit version; you can do this by including `BITS=64` in the
+    arguments to the `make` command; e.g.: `make BITS=64 bowtie`.  To
+    determine whether your version of bowtie is 64-bit or 32-bit, run
+    `bowtie --version`.
+
+2.  If your computer has multiple processors/cores, use `-p`
+
+    The `-p` option causes Bowtie to launch a specified number of
+    parallel search threads.  Each thread runs on a different
+    processor/core and all threads find alignments in parallel,
+    increasing alignment throughput by approximately a multiple of the
+    number of threads (though in practice, speedup is somewhat worse
+    than linear).
+
+3.  If reporting many alignments per read, try tweaking
+    `bowtie-build --offrate`
+
+    If you are using the `-k`, `-a` or `-m` options and Bowtie is
+    reporting many alignments per read (an average of more than about
+    10 per read) and you have some memory to spare, using an index with
+    a denser SA sample can speed things up considerably.
+
+    To do this, specify a smaller-than-default `-o`/`--offrate` value
+    when running `bowtie-build`.  A denser SA sample yields a larger
+    index, but is also particularly effective at speeding up alignment
+    when many alignments are reported per read.  For example,
+    decreasing the index's `-o`/`--offrate` by 1 could as much as
+    double alignment performance, and decreasing by 2 could quadruple
+    alignment performance, etc.
+
+    On the other hand, decreasing `-o`/`--offrate` increases the size
+    of the Bowtie index, both on disk and in memory when aligning
+    reads.  At the default `-o`/`--offrate` of 5, the SA sample for the
+    human genome occupies about 375 MB of memory when aligning reads.
+    Decreasing the `-o`/`--offrate` by 1 doubles the memory taken by
+    the SA sample, and decreasing by 2 quadruples the memory taken,
+    etc.
+
+4.  If bowtie "thrashes", try increasing `bowtie --offrate`
+
+    If `bowtie` runs very slow on a relatively low-memory machine
+    (having less than about 4 GB of memory), then try setting `bowtie`
+    `-o`/`--offrate` to a *larger* value than the value used to build
+    the index.  For example, `bowtie-build`'s default `-o`/`--offrate`
+    is 5 and all pre-built indexes available from the Bowtie website
+    are built with `-o`/`--offrate` 5; so if `bowtie` thrashes when
+    querying such an index, try using `bowtie` `--offrate` 6.  If
+    `bowtie` still thrashes, try `bowtie` `--offrate` 7, etc.  A higher
+    `-o`/`--offrate` causes `bowtie` to use a sparser sample of the
+    suffix array than is stored in the index; this saves memory but
+    makes alignment reporting slower (which is especially slow when
+    using `-a` or large `-k` or `-m`).
+
+Command Line
+------------
+
+Usage:
+
+    bowtie [options]* <ebwt> {-1 <m1> -2 <m2> | --12 <r> | <s>} [<hit>]
+
+  Main arguments
+
+    <ebwt>
+
+The basename of the index to be searched.  The basename is the name of
+any of the index files up to but not including the final `.1.ebwt` /
+`.rev.1.ebwt` / etc.  `bowtie` looks for the specified index first in
+the current directory, then in the `indexes` subdirectory under the
+directory where the `bowtie` executable is located, then looks in the
+directory specified in the `BOWTIE_INDEXES` environment variable.
+
+    <m1>
+
+Comma-separated list of files containing the #1 mates (filename usually
+includes `_1`), or, if `-c` is specified, the mate sequences
+themselves.  E.g., this might be `flyA_1.fq,flyB_1.fq`, or, if `-c`
+is specified, this might be `GGTCATCCT,ACGGGTCGT`.  Sequences specified
+with this option must correspond file-for-file and read-for-read with
+those specified in `<m2>`.  Reads may be a mix of different lengths.
+If `-` is specified, `bowtie` will read the #1 mates from the "standard
+in" filehandle.
+
+    <m2>
+
+Comma-separated list of files containing the #2 mates (filename usually
+includes `_2`), or, if `-c` is specified, the mate sequences
+themselves.  E.g., this might be `flyA_2.fq,flyB_2.fq`, or, if `-c`
+is specified, this might be `GGTCATCCT,ACGGGTCGT`.  Sequences specified
+with this option must correspond file-for-file and read-for-read with
+those specified in `<m1>`.  Reads may be a mix of different lengths.
+If `-` is specified, `bowtie` will read the #2 mates from the "standard
+in" filehandle.
+
+    <r>
+
+Comma-separated list of files containing a mix of unpaired and
+paired-end reads in Tab-delimited format.  Tab-delimited format is a
+1-read-per-line format where unpaired reads consist of a read name,
+sequence and quality string each separated by tabs.  A paired-end read
+consists of a read name, sequnce of the #1 mate, quality values of the
+#1 mate, sequence of the #2 mate, and quality values of the #2 mate
+separated by tabs.  Quality values can be expressed using any of the
+scales supported in FASTQ files.  Reads may be a mix of different
+lengths and paired-end and unpaired reads may be intermingled in the
+same file.  If `-` is specified, `bowtie` will read the Tab-delimited
+reads from the "standard in" filehandle.
+
+    <s>
+
+A comma-separated list of files containing unpaired reads to be
+aligned, or, if `-c` is specified, the unpaired read sequences
+themselves.  E.g., this might be
+`lane1.fq,lane2.fq,lane3.fq,lane4.fq`, or, if `-c` is specified, this
+might be `GGTCATCCT,ACGGGTCGT`.  Reads may be a mix of different
+lengths.  If `-` is specified, Bowtie gets the reads from the "standard
+in" filehandle.
+
+    <hit>
+
+File to write alignments to.  By default, alignments are written to the
+"standard out" filehandle (i.e. the console).
+
+  Options
+
+    Input
+
+    -q
+
+The query input files (specified either as `<m1>` and `<m2>`, or as
+`<s>`) are FASTQ files (usually having extension `.fq` or `.fastq`).
+This is the default.  See also: `--solexa-quals` and
+`--integer-quals`.
+
+    -f
+
+The query input files (specified either as `<m1>` and `<m2>`, or as
+`<s>`) are FASTA files (usually having extension `.fa`, `.mfa`, `.fna`
+or similar).  All quality values are assumed to be 40 on the [Phred
+quality] scale.
+
+    -r
+
+The query input files (specified either as `<m1>` and `<m2>`, or as
+`<s>`) are Raw files: one sequence per line, without quality values or
+names.  All quality values are assumed to be 40 on the [Phred quality]
+scale.
+
+    -c
+
+The query sequences are given on command line.  I.e. `<m1>`, `<m2>` and
+`<singles>` are comma-separated lists of reads rather than lists of
+read files.
+
+    -C/--color
+
+Align in colorspace.  Read characters are interpreted as colors.  The
+index specified must be a colorspace index (i.e. built with
+`bowtie-build` `-C`, or `bowtie` will print an error message and quit.
+See [Colorspace alignment] for more details.
+
+    -Q/--quals <files>
+
+Comma-separated list of files containing quality values for
+corresponding unpaired CSFASTA reads.  Use in combination with `-C`
+and `-f`.  `--integer-quals` is set automatically when `-Q`/`--quals`
+is specified.
+
+    --Q1 <files>
+
+Comma-separated list of files containing quality values for
+corresponding CSFASTA #1 mates.  Use in combination with `-C`, `-f`,
+and `-1`.  `--integer-quals` is set automatically when `--Q1`
+is specified.
+
+    --Q2 <files>
+
+Comma-separated list of files containing quality values for
+corresponding CSFASTA #2 mates.  Use in combination with `-C`, `-f`,
+and `-2`.  `--integer-quals` is set automatically when `--Q2`
+is specified.
+
+    -s/--skip <int>
+
+Skip (i.e. do not align) the first `<int>` reads or pairs in the input.
+
+    -u/--qupto <int>
+
+Only align the first `<int>` reads or read pairs from the input (after
+the `-s`/`--skip` reads or pairs have been skipped).  Default: no
+limit.
+
+    -5/--trim5 <int>
+
+Trim `<int>` bases from high-quality (left) end of each read before
+alignment (default: 0).
+
+    -3/--trim3 <int>
+
+Trim `<int>` bases from low-quality (right) end of each read before
+alignment (default: 0).
+
+    --phred33-quals
+
+Input qualities are ASCII chars equal to the [Phred quality] plus 33.
+Default: on.
+
+    --phred64-quals
+
+Input qualities are ASCII chars equal to the [Phred quality] plus 64.
+Default: off.
+
+    --solexa-quals
+
+Convert input qualities from [Solexa][Phred quality] (which can be
+negative) to [Phred][Phred quality] (which can't).  This is usually the
+right option for use with (unconverted) reads emitted by GA Pipeline
+versions prior to 1.3.  Default: off.
+
+    --solexa1.3-quals
+
+Same as `--phred64-quals`.  This is usually the right option for use
+with (unconverted) reads emitted by GA Pipeline version 1.3 or later. 
+Default: off.
+
+    --integer-quals
+
+Quality values are represented in the read input file as
+space-separated ASCII integers, e.g., `40 40 30 40`..., rather than
+ASCII characters, e.g., `II?I`....  Integers are treated as being on
+the [Phred quality] scale unless `--solexa-quals` is also specified.
+Default: off.
+
+    Alignment
+
+    -v <int>
+
+Report alignments with at most `<int>` mismatches.  `-e` and `-l`
+options are ignored and quality values have no effect on what
+alignments are valid.  `-v` is mutually exclusive with `-n`.
+
+    -n/--seedmms <int>
+
+Maximum number of mismatches permitted in the "seed", i.e. the first
+`L` base pairs of the read (where `L` is set with `-l`/`--seedlen`).
+This may be 0, 1, 2 or 3 and the default is 2.  This option is mutually
+exclusive with the `-v` option.
+
+    -e/--maqerr <int>
+
+Maximum permitted total of quality values at *all* mismatched read
+positions throughout the entire alignment, not just in the "seed".  The
+default is 70.  Like [Maq], `bowtie` rounds quality values to the
+nearest 10 and saturates at 30; rounding can be disabled with
+`--nomaqround`.
+
+    -l/--seedlen <int>
+
+The "seed length"; i.e., the number of bases on the high-quality end of
+the read to which the `-n` ceiling applies.  The lowest permitted
+setting is 5 and the default is 28.  `bowtie` is faster for larger
+values of `-l`.
+
+    --nomaqround
+
+[Maq] accepts quality values in the [Phred quality] scale, but
+internally rounds values to the nearest 10, with a maximum of 30.  By
+default, `bowtie` also rounds this way.  `--nomaqround` prevents this
+rounding in `bowtie`.
+
+    -I/--minins <int>
+
+The minimum insert size for valid paired-end alignments.  E.g. if `-I
+60` is specified and a paired-end alignment consists of two 20-bp
+alignments in the appropriate orientation with a 20-bp gap between
+them, that alignment is considered valid (as long as `-X` is also
+satisfied).  A 19-bp gap would not be valid in that case.  If trimming
+options `-3` or `-5` are also used, the `-I` constraint is
+applied with respect to the untrimmed mates.  Default: 0.
+
+    -X/--maxins <int>
+
+The maximum insert size for valid paired-end alignments.  E.g. if `-X
+100` is specified and a paired-end alignment consists of two 20-bp
+alignments in the proper orientation with a 60-bp gap between them,
+that alignment is considered valid (as long as `-I` is also
+satisfied).  A 61-bp gap would not be valid in that case.  If trimming
+options `-3` or `-5` are also used, the `-X` constraint is applied
+with respect to the untrimmed mates, not the trimmed mates.  Default:
+250.
+
+    --fr/--rf/--ff
+
+The upstream/downstream mate orientations for a valid paired-end
+alignment against the forward reference strand.  E.g., if `--fr` is
+specified and there is a candidate paired-end alignment where mate1
+appears upstream of the reverse complement of mate2 and the insert
+length constraints are met, that alignment is valid.  Also, if mate2
+appears upstream of the reverse complement of mate1 and all other
+constraints are met, that too is valid.  `--rf` likewise requires that
+an upstream mate1 be reverse-complemented and a downstream mate2 be
+forward-oriented. ` --ff` requires both an upstream mate1 and a
+downstream mate2 to be forward-oriented.  Default: `--fr` when `-C`
+(colorspace alignment) is not specified, `--ff` when `-C` is specified.
+
+    --nofw/--norc
+
+If `--nofw` is specified, `bowtie` will not attempt to align against
+the forward reference strand.  If `--norc` is specified, `bowtie` will
+not attempt to align against the reverse-complement reference strand.
+For paired-end reads using `--fr` or `--rf` modes, `--nofw` and
+`--norc` apply to the forward and reverse-complement pair orientations.
+I.e. specifying `--nofw` and `--fr` will only find reads in the R/F
+orientation where mate 2 occurs upstream of mate 1 with respect to the
+forward reference strand.
+
+    --maxbts
+
+The maximum number of backtracks permitted when aligning a read in
+`-n` 2 or `-n` 3 mode (default: 125 without `--best`, 800 with
+`--best`).  A "backtrack" is the introduction of a speculative
+substitution into the alignment.  Without this limit, the default
+parameters will sometimes require that `bowtie` try 100s or 1,000s of
+backtracks to align a read, especially if the read has many low-quality
+bases and/or has no valid alignments, slowing bowtie down
+significantly.  However, this limit may cause some valid alignments to
+be missed.  Higher limits yield greater sensitivity at the expensive of
+longer running times.  See also: `-y`/`--tryhard`.
+
+    --pairtries <int>
+
+For paired-end alignment, this is the maximum number of attempts
+`bowtie` will make to match an alignment for one mate up with an
+alignment for the opposite mate.  Most paired-end alignments require
+only a few such attempts, but pairs where both mates occur in highly
+repetitive regions of the reference can require significantly more.
+Setting this to a higher number allows `bowtie` to find more paired-
+end alignments for repetitive pairs at the expense of speed.  The
+default is 100.  See also: `-y`/`--tryhard`.
+
+    -y/--tryhard
+
+Try as hard as possible to find valid alignments when they exist,
+including paired-end alignments.  This is equivalent to specifying very
+high values for the `--maxbts` and `--pairtries` options.  This
+mode is generally much slower than the default settings, but can be
+useful for certain problems.  This mode is slower when (a) the
+reference is very repetitive, (b) the reads are low quality, or (c) not
+many reads have valid alignments.
+
+    --chunkmbs <int>
+
+The number of megabytes of memory a given thread is given to store path
+descriptors in `--best` mode.  Best-first search must keep track of
+many paths at once to ensure it is always extending the path with the
+lowest cumulative cost.  Bowtie tries to minimize the memory impact of
+the descriptors, but they can still grow very large in some cases.  If
+you receive an error message saying that chunk memory has been
+exhausted in `--best` mode, try adjusting this parameter up to
+dedicate more memory to the descriptors.  Default: 64.
+
+    Reporting
+
+    -k <int>
+
+Report up to `<int>` valid alignments per read or pair (default: 1).
+Validity of alignments is determined by the alignment policy (combined
+effects of `-n`, `-v`, `-l`, and `-e`).  If more than one valid
+alignment exists and the `--best` and `--strata` options are
+specified, then only those alignments belonging to the best alignment
+"stratum" will be reported.  Bowtie is designed to be very fast for
+small `-k` but bowtie can become significantly slower as `-k`
+increases.  If you would like to use Bowtie for larger values of
+`-k`, consider building an index with a denser suffix-array sample,
+i.e. specify a smaller `-o`/`--offrate` when invoking `bowtie-build`
+for the relevant index (see the [Performance tuning] section for
+details).
+
+    -a/--all
+
+Report all valid alignments per read or pair (default: off).  Validity
+of alignments is determined by the alignment policy (combined effects
+of `-n`, `-v`, `-l`, and `-e`).  If more than one valid alignment
+exists and the `--best` and `--strata` options are specified, then only
+those alignments belonging to the best alignment "stratum" will be
+reported.  Bowtie is designed to be very fast for small `-k` but bowtie
+can become significantly slower if `-a`/`--all` is specified.  If you
+would like to use Bowtie with `-a`, consider building an index with a
+denser suffix-array sample, i.e. specify a smaller `-o`/`--offrate`
+when invoking `bowtie-build` for the relevant index (see the
+[Performance tuning] section for details).
+
+    -m <int>
+
+Suppress all alignments for a particular read or pair if more than
+`<int>` reportable alignments exist for it.  Reportable alignments are
+those that would be reported given the `-n`, `-v`, `-l`, `-e`, `-k`,
+`-a`, `--best`, and `--strata` options.  Default: no limit.  Bowtie is
+designed to be very fast for small `-m` but bowtie can become
+significantly slower for larger values of `-m`.  If you would like to
+use Bowtie for larger values of `-k`, consider building an index with a
+denser suffix-array sample, i.e. specify a smaller `-o`/`--offrate` when
+invoking `bowtie-build` for the relevant index (see the [Performance
+tuning] section for details).
+
+    -M <int>
+
+Behaves like `-m` except that if a read has more than `<int>`
+reportable alignments, one is reported at random.  In [default
+output mode], the selected alignment's 7th column is set to `<int>`+1 to
+indicate the read has at least `<int>`+1 valid alignments.  In
+`-S`/`--sam` mode, the selected alignment is given a `MAPQ` (mapping
+quality) of 0 and the `XM:I` field is set to `<int>`+1.  This option
+requires `--best`; if specified without `--best`, `--best` is enabled
+automatically.
+
+    --best
+
+Make Bowtie guarantee that reported singleton alignments are "best" in
+terms of stratum (i.e. number of mismatches, or mismatches in the seed
+in the case of `-n` mode) and in terms of the quality values at the
+mismatched position(s).  Stratum always trumps quality; e.g. a
+1-mismatch alignment where the mismatched position has [Phred quality]
+40 is preferred over a 2-mismatch alignment where the mismatched
+positions both have [Phred quality] 10.  When `--best` is not
+specified, Bowtie may report alignments that are sub-optimal in terms
+of stratum and/or quality (though an effort is made to report the best
+alignment).  `--best` mode also removes all strand bias.  Note that
+`--best` does not affect which alignments are considered "valid" by
+`bowtie`, only which valid alignments are reported by `bowtie`.  When
+`--best` is specified and multiple hits are allowed (via `-k` or
+`-a`), the alignments for a given read are guaranteed to appear in
+best-to-worst order in `bowtie`'s output.  `bowtie` is somewhat slower
+when `--best` is specified.
+
+    --strata
+
+If many valid alignments exist and are reportable (e.g. are not
+disallowed via the `-k` option) and they fall into more than one
+alignment "stratum", report only those alignments that fall into the
+best stratum.  By default, Bowtie reports all reportable alignments
+regardless of whether they fall into multiple strata.  When
+`--strata` is specified, `--best` must also be specified. 
+
+    Output
+
+    -t/--time
+
+Print the amount of wall-clock time taken by each phase.
+
+    -B/--offbase <int>
+
+When outputting alignments, number the first base of a reference
+sequence as `<int>`.  Default: 0.
+
+    --quiet
+
+Print nothing besides alignments.
+
+    --refout
+
+Write alignments to a set of files named `refXXXXX.map`, where `XXXXX`
+is the 0-padded index of the reference sequence aligned to.  This can
+be a useful way to break up work for downstream analyses when dealing
+with, for example, large numbers of reads aligned to the assembled
+human genome.  If `<hits>` is also specified, it will be ignored.
+
+    --refidx
+
+When a reference sequence is referred to in a reported alignment, refer
+to it by 0-based index (its offset into the list of references that
+were indexed) rather than by name.
+
+    --al <filename>
+
+Write all reads for which at least one alignment was reported to a file
+with name `<filename>`.  Written reads will appear as they did in the
+input, without any of the trimming or translation of quality values
+that may have taken place within `bowtie`.  Paired-end reads will be
+written to two parallel files with `_1` and `_2` inserted in the
+filename, e.g., if `<filename>` is `aligned.fq`, the #1 and #2 mates
+that fail to align will be written to `aligned_1.fq` and `aligned_2.fq`
+respectively.
+
+    --un <filename>
+
+Write all reads that could not be aligned to a file with name
+`<filename>`.  Written reads will appear as they did in the input,
+without any of the trimming or translation of quality values that may
+have taken place within Bowtie.  Paired-end reads will be written to
+two parallel files with `_1` and `_2` inserted in the filename, e.g.,
+if `<filename>` is `unaligned.fq`, the #1 and #2 mates that fail to
+align will be written to `unaligned_1.fq` and `unaligned_2.fq`
+respectively.  Unless `--max` is also specified, reads with a number
+of valid alignments exceeding the limit set with the `-m` option are
+also written to `<filename>`.
+
+    --max <filename>
+
+Write all reads with a number of valid alignments exceeding the limit
+set with the `-m` option to a file with name `<filename>`.  Written
+reads will appear as they did in the input, without any of the trimming
+or translation of quality values that may have taken place within
+`bowtie`.  Paired-end reads will be written to two parallel files with
+`_1` and `_2` inserted in the filename, e.g., if `<filename>` is
+`max.fq`, the #1 and #2 mates that exceed the `-m` limit will be
+written to `max_1.fq` and `max_2.fq` respectively.  These reads are not
+written to the file specified with `--un`.
+
+    --suppress <cols>
+
+Suppress columns of output in the [default output mode].  E.g. if
+`--suppress 1,5,6` is specified, the read name, read sequence, and read
+quality fields will be omitted.  See [Default Bowtie output] for field
+descriptions.  This option is ignored if the output mode is
+`-S`/`--sam`.
+
+    --fullref
+
+Print the full refernce sequence name, including whitespace, in
+alignment output.  By default `bowtie` prints everything up to but not
+including the first whitespace.
+
+    Colorspace
+
+    --snpphred <int>
+
+When decoding colorspace alignments, use `<int>` as the SNP penalty.
+This should be set to the user's best guess of the true ratio of SNPs
+per base in the subject genome, converted to the [Phred quality] scale.
+E.g., if the user expects about 1 SNP every 1,000 positions,
+`--snpphred` should be set to 30 (which is also the default).  To
+specify the fraction directly, use `--snpfrac`.
+
+    --snpfrac <dec>
+
+When decoding colorspace alignments, use `<dec>` as the estimated ratio
+of SNPs per base.  For best decoding results, this should be set to the
+user's best guess of the true ratio.  `bowtie` internally converts the
+ratio to a [Phred quality], and behaves as if that quality had been set
+via the `--snpphred` option.  Default: 0.001.
+
+    --col-cseq
+
+If reads are in colorspace and the [default output mode] is active,
+`--col-cseq` causes the reads' color sequence to appear in the
+read-sequence column (column 5) instead of the decoded nucleotide
+sequence.  See the [Decoding colorspace alignments] section for details
+about decoding.  This option is ignored in `-S`/`--sam` mode.
+
+    --col-cqual
+
+If reads are in colorspace and the [default output mode] is active,
+`--col-cqual` causes the reads' original (color) quality sequence to
+appear in the quality column (column 6) instead of the decoded
+qualities.  See the [Colorspace alignment] section for details about
+decoding.  This option is ignored in `-S`/`--sam` mode.
+
+    --col-keepends
+
+When decoding colorpsace alignments, `bowtie` trims off a nucleotide
+and quality from the left and right edges of the alignment.  This is
+because those nucleotides are supported by only one color, in contrast
+to the middle nucleotides which are supported by two.  Specify
+`--col-keepends` to keep the extreme-end nucleotides and qualities.
+
+    SAM
+
+    -S/--sam
+
+Print alignments in [SAM] format.  See the [SAM output] section of the
+manual for details.  To suppress all SAM headers, use `--sam-nohead`
+in addition to `-S/--sam`.  To suppress just the `@SQ` headers (e.g. if
+the alignment is against a very large number of reference sequences),
+use `--sam-nosq` in addition to `-S/--sam`.  `bowtie` does not write
+BAM files directly, but SAM output can be converted to BAM on the fly
+by piping `bowtie`'s output to `samtools view`.  `-S`/`--sam` is not
+compatible with `--refout`.
+
+    --mapq <int>
+
+If an alignment is non-repetitive (according to `-m`, `--strata` and
+other options) set the `MAPQ` (mapping quality) field to this value.
+See the [SAM Spec][SAM] for details about the `MAPQ` field  Default: 255.
+
+    --sam-nohead
+
+Suppress header lines (starting with `@`) when output is `-S`/`--sam`.
+This must be specified *in addition to* `-S`/`--sam`.  `--sam-nohead`
+is ignored unless `-S`/`--sam` is also specified.
+
+    --sam-nosq
+
+Suppress `@SQ` header lines when output is `-S`/`--sam`.  This must be
+specified *in addition to* `-S`/`--sam`.  `--sam-nosq` is ignored
+unless `-S`/`--sam` is also specified.
+
+    --sam-RG <text>
+
+Add `<text>` (usually of the form `TAG:VAL`, e.g. `ID:IL7LANE2`) as a
+field on the `@RG` header line.  Specify `--sam-RG` multiple times to
+set multiple fields.  See the [SAM Spec][SAM] for details about what fields
+are legal.  Note that, if any `@RG` fields are set using this option,
+the `ID` and `SM` fields must both be among them to make the `@RG` line
+legal according to the [SAM Spec][SAM].  `--sam-RG` is ignored unless
+`-S`/`--sam` is also specified.
+
+    Performance
+
+    -o/--offrate <int>
+
+Override the offrate of the index with `<int>`.  If `<int>` is greater
+than the offrate used to build the index, then some row markings are
+discarded when the index is read into memory.  This reduces the memory
+footprint of the aligner but requires more time to calculate text
+offsets.  `<int>` must be greater than the value used to build the
+index.
+
+    -p/--threads <int>
+
+Launch `<int>` parallel search threads (default: 1).  Threads will run
+on separate processors/cores and synchronize when parsing reads and
+outputting alignments.  Searching for alignments is highly parallel,
+and speedup is fairly close to linear.  This option is only available
+if `bowtie` is linked with the `pthreads` library (i.e. if
+`BOWTIE_PTHREADS=0` is not specified at build time).
+
+    --mm
+
+Use memory-mapped I/O to load the index, rather than normal C file I/O.
+Memory-mapping the index allows many concurrent `bowtie` processes on
+the same computer to share the same memory image of the index (i.e. you
+pay the memory overhead just once).  This facilitates memory-efficient
+parallelization of `bowtie` in situations where using `-p` is not
+possible.
+
+    --shmem
+
+Use shared memory to load the index, rather than normal C file I/O.
+Using shared memory allows many concurrent bowtie processes on the same
+computer to share the same memory image of the index (i.e. you pay the
+memory overhead just once).  This facilitates memory-efficient
+parallelization of `bowtie` in situations where using `-p` is not
+desirable.  Unlike `--mm`, `--shmem` installs the index into shared
+memory permanently, or until the user deletes the shared memory chunks
+manually.  See your operating system documentation for details on how
+to manually list and remove shared memory chunks (on Linux and Mac OS
+X, these commands are `ipcs` and `ipcrm`).  You may also need to
+increase your OS's maximum shared-memory chunk size to accomodate
+larger indexes; see your OS documentation.
+
+    Other
+
+    --seed <int>
+
+Use `<int>` as the seed for pseudo-random number generator.
+
+    --verbose
+
+Print verbose output (for debugging).
+
+    --version
+
+Print version information and quit.
+
+    -h/--help
+
+Print usage information and quit.
+
+Default `bowtie` output
+-----------------------
+
+`bowtie` outputs one alignment per line.  Each line is a collection of
+8 fields separated by tabs; from left to right, the fields are:
+
+1.  Name of read that aligned
+
+2.  Reference strand aligned to, `+` for forward strand, `-` for
+    reverse
+
+3.  Name of reference sequence where alignment occurs, or numeric ID if
+    no name was provided
+
+4.  0-based offset into the forward reference strand where leftmost
+    character of the alignment occurs
+
+5.  Read sequence (reverse-complemented if orientation is `-`).
+    
+    If the read was in colorspace, then the sequence shown in this
+    column is the sequence of *decoded nucleotides*, not the original
+    colors.  See the [Colorspace alignment] section for details about
+    decoding.  To display colors instead, use the `--col-cseq` option.
+
+6.  ASCII-encoded read qualities (reversed if orientation is `-`).  The
+    encoded quality values are on the Phred scale and the encoding is
+    ASCII-offset by 33 (ASCII char `!`).
+    
+    If the read was in colorspace, then the qualities shown in this
+    column are the *decoded qualities*, not the original qualities.
+    See the [Colorspace alignment] section for details about decoding.
+    To display colors instead, use the `--col-cqual` option.
+
+7.  If `-M` was specified and the prescribed ceiling was exceeded for
+    this read, this column contains the value of the ceiling,
+    indicating that at least that many valid alignments were found in
+    addition to the one reported.
+    
+    Otherwise, this column contains the number of other instances where
+    the same sequence aligned against the same reference characters as
+    were aligned against in the reported alignment.  This is *not* the
+    number of other places the read aligns with the same number of
+    mismatches.  The number in this column is generally not a good
+    proxy for that number (e.g., the number in this column may be '0'
+    while the number of other alignments with the same number of
+    mismatches might be large).
+
+8.  Comma-separated list of mismatch descriptors.  If there are no
+    mismatches in the alignment, this field is empty.  A single
+    descriptor has the format offset:reference-base>read-base.  The
+    offset is expressed as a 0-based offset from the high-quality (5')
+    end of the read. 
+
+SAM `bowtie` output
+-------------------
+
+Following is a brief description of the [SAM] format as output by
+`bowtie` when the `-S`/`--sam` option is specified.  For more
+details, see the [SAM format specification][SAM].
+
+When `-S`/`--sam` is specified, `bowtie` prints a SAM header with
+`@HD`, `@SQ` and `@PG` lines.  When one or more `--sam-RG` arguments
+are specified, `bowtie` will also print an `@RG` line that includes all
+user-specified `--sam-RG` tokens separated by tabs.
+
+Each subsequnt line corresponds to a read or an alignment.  Each line
+is a collection of at least 12 fields separated by tabs; from left to
+right, the fields are:
+
+1.  Name of read that aligned
+
+2.  Sum of all applicable flags.  Flags relevant to Bowtie are:
+
+        1
+
+    The read is one of a pair
+
+        2
+
+    The alignment is one end of a proper paired-end alignment
+
+        4
+
+    The read has no reported alignments
+
+        8
+
+    The read is one of a pair and has no reported alignments
+
+        16
+
+    The alignment is to the reverse reference strand
+
+        32
+
+    The other mate in the paired-end alignment is aligned to the
+    reverse reference strand
+
+        64
+
+    The read is the first  mate in a pair
+
+        128
+
+    The read is the second  mate in a pair
+
+    Thus, an unpaired read that aligns to the reverse reference strand
+    will have flag 16.  A paired-end read that aligns and is the first
+    mate in the pair will have flag 83 (= 64 + 16 + 2 + 1).
+
+3.  Name of reference sequence where alignment occurs, or ordinal ID
+    if no name was provided
+
+4.  1-based offset into the forward reference strand where leftmost
+    character of the alignment occurs
+
+5.  Mapping quality
+
+6.  CIGAR string representation of alignment
+
+7.  Name of reference sequence where mate's alignment occurs.  Set to
+    `=` if the mate's reference sequence is the same as this
+    alignment's, or `*` if there is no mate.
+
+8.  1-based offset into the forward reference strand where leftmost
+    character of the mate's alignment occurs.  Offset is 0 if there is
+    no mate.
+
+9.  Inferred insert size.  Size is negative if the mate's alignment
+    occurs upstream of this alignment.  Size is 0 if there is no mate.
+
+10. Read sequence (reverse-complemented if aligned to the reverse
+    strand)
+
+11. ASCII-encoded read qualities (reverse-complemented if the read
+    aligned to the reverse strand).  The encoded quality values are on
+    the [Phred quality] scale and the encoding is ASCII-offset by 33
+    (ASCII char `!`), similarly to a [FASTQ] file. 
+
+12. Optional fields.  Fields are tab-separated.  For descriptions of
+    all possible optional fields, see the SAM format specification.
+    `bowtie` outputs some of these optional fields for each alignment,
+    depending on the type of the alignment:
+
+        NM:i:<N>
+
+    Aligned read has an edit distance of `<N>`.
+
+        CM:i:<N>
+
+    Aligned read has an edit distance of `<N>` in colorspace.  This
+    field is present in addition to the `NM` field in `-C`/`--color`
+    mode, but is omitted otherwise.
+
+        MD:Z:<S>
+
+    For aligned reads, `<S>` is a string representation of the
+    mismatched reference bases in the alignment.  See [SAM] format
+    specification for details.  For colorspace alignments, `<S>`
+    describes the decoded *nucleotide* alignment, not the colorspace
+    alignment.
+
+        XA:i:<N>
+
+    Aligned read belongs to stratum `<N>`.  See [Strata] for definition.
+
+        XM:i:<N>
+
+    For a read with no reported alignments, `<N>` is 0 if the read had
+    no alignments.  If `-m` was specified and the read's alignments
+    were supressed because the `-m` ceiling was exceeded, `<N>` equals
+    the `-m` ceiling + 1, to indicate that there were at least that
+    many valid alignments (but all were suppressed).  In `-M` mode, if
+    the alignment was randomly selected because the `-M` ceiling was
+    exceeded, `<N>` equals the `-M` ceiling + 1, to indicate that there
+    were at least that many valid alignments (of which one was reported
+    at random).
+
+[SAM format specification]: http://samtools.sf.net/SAM1.pdf
+[FASTQ]: http://en.wikipedia.org/wiki/FASTQ_format
+
+The `bowtie-build` indexer
+==========================
+
+`bowtie-build` builds a Bowtie index from a set of DNA sequences.
+`bowtie-build` outputs a set of 6 files with suffixes
+`.1.ebwt`, `.2.ebwt`, `.3.ebwt`, `.4.ebwt`, `.rev.1.ebwt`, and
+`.rev.2.ebwt`.  These files together constitute the index: they are all
+that is needed to align reads to that reference.  The original sequence
+files are no longer used by Bowtie once the index is built.  
+
+Use of Karkkainen's [blockwise algorithm] allows `bowtie-build` to
+trade off between running time and memory usage. `bowtie-build` has
+three options governing how it makes this trade: `-p`/`--packed`,
+`--bmax`/`--bmaxdivn`, and `--dcv`.  By default, `bowtie-build` will
+automatically search for the settings that yield the best
+ running time without exhausting memory.  This behavior can be disabled
+ using the `-a`/`--noauto` option.
+
+The indexer provides options pertaining to the "shape" of the index,
+e.g. `--offrate` governs the fraction of [Burrows-Wheeler] rows that
+are "marked" (i.e., the density of the suffix-array sample; see the
+original [FM Index] paper for details).  All of these options are
+potentially profitable trade-offs depending on the application.  They
+have been set to defaults that are reasonable for most cases according
+to our experiments.  See [Performance Tuning] for details.
+
+Because `bowtie-build` uses 32-bit pointers internally, it can handle
+up to a theoretical maximum of 2^32-1 (somewhat more than 4 billion)
+characters in an index, though, with other constraints, the actual
+ceiling is somewhat less than that.  If your reference exceeds 2^32-1
+characters, `bowtie-build` will print an error message and abort.  To
+resolve this, divide your reference sequences into smaller batches
+and/or chunks and build a separate index for each.
+
+If your computer has more than 3-4 GB of memory and you would like to
+exploit that fact to make index building faster, use a 64-bit version
+of the `bowtie-build` binary.  The 32-bit version of the binary is
+restricted to using less than 4 GB of memory.  If a 64-bit pre-built
+binary does not yet exist for your platform on the sourceforge download
+site, you will need to build one from source.
+
+The Bowtie index is based on the [FM Index] of Ferragina and Manzini,
+which in turn is based on the [Burrows-Wheeler] transform.  The
+algorithm used to build the index is based on the [blockwise algorithm]
+of Karkkainen.
+
+[Blockwise algorithm]: http://portal.acm.org/citation.cfm?id=1314852
+[FM Index]: http://portal.acm.org/citation.cfm?id=796543
+[Burrows-Wheeler]: http://en.wikipedia.org/wiki/Burrows-Wheeler_transform
+
+Command Line
+------------
+
+Usage:
+
+    bowtie-build [options]* <reference_in> <ebwt_base>
+
+  Main arguments
+
+    <reference_in>
+
+A comma-separated list of FASTA files containing the reference
+sequences to be aligned to, or, if `-c` is specified, the sequences
+themselves. E.g., `<reference_in>` might be
+`chr1.fa,chr2.fa,chrX.fa,chrY.fa`, or, if `-c` is specified, this might
+be `GGTCATCCT,ACGGGTCGT,CCGTTCTATGCGGCTTA`.
+
+    <ebwt_base>
+
+The basename of the index files to write.  By default, `bowtie-build`
+writes files named `NAME.1.ebwt`, `NAME.2.ebwt`, `NAME.3.ebwt`,
+`NAME.4.ebwt`, `NAME.rev.1.ebwt`, and `NAME.rev.2.ebwt`, where `NAME`
+is `<ebwt_base>`.
+
+  Options
+
+    -f
+
+The reference input files (specified as `<reference_in>`) are FASTA
+files (usually having extension `.fa`, `.mfa`, `.fna` or similar).
+
+    -c
+
+The reference sequences are given on the command line.  I.e.
+`<reference_in>` is a comma-separated list of sequences rather than a
+list of FASTA files.
+
+    -C/--color
+
+Build a colorspace index, to be queried using `bowtie` `-C`.
+
+    -a/--noauto
+
+Disable the default behavior whereby `bowtie-build` automatically
+selects values for the `--bmax`, `--dcv` and `--packed` parameters
+according to available memory.  Instead, user may specify values for
+those parameters.  If memory is exhausted during indexing, an error
+message will be printed; it is up to the user to try new parameters.
+
+    -p/--packed
+
+Use a packed (2-bits-per-nucleotide) representation for DNA strings.
+This saves memory but makes indexing 2-3 times slower.  Default: off.
+This is configured automatically by default; use `-a`/`--noauto` to
+configure manually.
+
+    --bmax <int>
+
+The maximum number of suffixes allowed in a block.  Allowing more
+suffixes per block makes indexing faster, but increases peak memory
+usage.  Setting this option overrides any previous setting for
+`--bmax`, or `--bmaxdivn`.  Default (in terms of the `--bmaxdivn`
+parameter) is `--bmaxdivn` 4.  This is configured automatically by
+default; use `-a`/`--noauto` to configure manually.
+
+    --bmaxdivn <int>
+
+The maximum number of suffixes allowed in a block, expressed as a
+fraction of the length of the reference.  Setting this option overrides
+any previous setting for `--bmax`, or `--bmaxdivn`.  Default:
+`--bmaxdivn` 4.  This is configured automatically by default; use
+`-a`/`--noauto` to configure manually.
+
+    --dcv <int>
+
+Use `<int>` as the period for the difference-cover sample.  A larger
+period yields less memory overhead, but may make suffix sorting slower,
+especially if repeats are present.  Must be a power of 2 no greater
+than 4096.  Default: 1024.  This is configured automatically by
+default; use `-a`/`--noauto` to configure manually.
+
+    --nodc
+
+Disable use of the difference-cover sample.  Suffix sorting becomes
+quadratic-time in the worst case (where the worst case is an extremely
+repetitive reference).  Default: off.
+
+    -r/--noref
+
+Do not build the `NAME.3.ebwt` and `NAME.4.ebwt` portions of the index,
+which contain a bitpacked version of the reference sequences and are
+used for paired-end alignment.
+
+    -3/--justref
+
+Build *only* the `NAME.3.ebwt` and `NAME.4.ebwt` portions of the index,
+which contain a bitpacked version of the reference sequences and are
+used for paired-end alignment.
+
+    -o/--offrate <int>
+
+To map alignments back to positions on the reference sequences, it's
+necessary to annotate ("mark") some or all of the [Burrows-Wheeler]
+rows with their corresponding location on the genome.  `-o`/`--offrate`
+governs how many rows get marked: the indexer will mark every 2^`<int>`
+rows.  Marking more rows makes reference-position lookups faster, but
+requires more memory to hold the annotations at runtime.  The default
+is 5 (every 32nd row is marked; for human genome, annotations occupy
+about 340 megabytes).  
+
+    -t/--ftabchars <int>
+
+The ftab is the lookup table used to calculate an initial
+[Burrows-Wheeler] range with respect to the first `<int>` characters
+of the query.  A larger `<int>` yields a larger lookup table but faster
+query times.  The ftab has size 4^(`<int>`+1) bytes.  The default
+setting is 10 (ftab is 4MB).
+
+    --ntoa
+
+Convert Ns in the reference sequence to As before building the index.
+By default, Ns are simply excluded from the index and `bowtie` will not
+report alignments that overlap them.
+
+    --big --little
+
+Endianness to use when serializing integers to the index file.
+Default: little-endian (recommended for Intel- and AMD-based
+architectures).
+
+    --seed <int>
+
+Use `<int>` as the seed for pseudo-random number generator.
+
+    --cutoff <int>
+
+Index only the first `<int>` bases of the reference sequences
+(cumulative across sequences) and ignore the rest.
+
+    -q/--quiet
+
+`bowtie-build` is verbose by default.  With this option `bowtie-build`
+will print only error messages.
+
+    -h/--help
+
+Print usage information and quit.
+
+    --version
+
+Print version information and quit.
+
+The `bowtie-inspect` index inspector
+====================================
+
+`bowtie-inspect` extracts information from a Bowtie index about what
+kind of index it is and what reference sequences were used to build it.
+When run without any options, the tool will output a FASTA file
+containing the sequences of the original references (with all
+non-`A`/`C`/`G`/`T` characters converted to `N`s).  It can also be used
+to extract just the reference sequence names using the `-n`/`--names`
+option or a more verbose summary using the `-s`/`--summary` option.
+
+Command Line
+------------
+
+Usage:
+
+    bowtie-inspect [options]* <ebwt_base>
+
+  Main arguments
+
+    <ebwt_base>
+
+The basename of the index to be inspected.  The basename is name of any
+of the index files but with the `.X.ebwt` or `.rev.X.ebwt` suffix
+omitted.  `bowtie-inspect` first looks in the current directory for the
+index files, then looks in the `indexes` subdirectory under the
+directory where the currently-running `bowtie` executable is located,
+then looks in the directory specified in the `BOWTIE_INDEXES`
+environment variable.
+
+  Options
+
+    -a/--across <int>
+
+When printing FASTA output, output a newline character every `<int>`
+bases (default: 60).
+
+    -n/--names
+
+Print reference sequence names, one per line, and quit.
+
+    -s/--summary
+
+Print a summary that includes information about index settings, as well
+as the names and lengths of the input sequences.  The summary has this
+format:
+
+    Colorspace <0 or 1>
+    SA-Sample  1 in <sample>
+    FTab-Chars <chars>
+    Sequence-1 <name>  <len>
+    Sequence-2 <name>  <len>
+    ...
+    Sequence-N <name>  <len>
+
+Fields are separated by tabs.
+
+    -e/--ebwt-ref
+
+By default, when `bowtie-inspect` is run without `-s` or `-n`, it
+recreates the reference nucleotide sequences using the bit-encoded
+reference nucleotides kept in the `.3.ebwt` and `.4.ebwt` index files.
+When `-e/--ebwt-ref` is specified, `bowtie-inspect` recreates the
+reference sequences from the Burrows-Wheeler-transformed reference
+sequence in the `.1.ebwt` file instead.  The reference recreation
+process is much slower when `-e/--ebwt-ref` is specified.  Also, when
+`-e/--ebwt-ref` is specified and the index is in colorspace, the
+reference is printed in colors (A=blue, C=green, G=orange, T=red).
+
+    -v/--verbose
+
+Print verbose output (for debugging).
+
+    --version
+
+Print version information and quit.
+
+    -h/--help
+
+Print usage information and quit.
+
diff --git a/MANUAL.markdown b/MANUAL.markdown
new file mode 100644 (file)
index 0000000..065c1c6
--- /dev/null
@@ -0,0 +1,2362 @@
+<!--
+ ! This manual is written in "markdown" format and thus contains some
+ ! distracting clutter encoding information about how to convert to
+ ! HTML.  See 'MANUAL' for a clearer version of this document.
+  -->
+
+What is Bowtie?
+===============
+
+[Bowtie] is an ultrafast, memory-efficient short read aligner geared
+toward quickly aligning large sets of short DNA sequences (reads) to
+large genomes. It aligns 35-base-pair reads to the human genome at a
+rate of 25 million reads per hour on a typical workstation. Bowtie
+indexes the genome with a [Burrows-Wheeler] index to keep its memory
+footprint small: for the human genome, the index is typically about
+2.2 GB (for unpaired alignment) or 2.9 GB (for paired-end or colorspace
+alignment).  Multiple processors can be used simultaneously to achieve
+greater alignment speed.  Bowtie can also output alignments in the
+standard [SAM] format, allowing Bowtie to interoperate with other tools
+supporting SAM, including the [SAMtools] consensus, SNP, and indel
+callers.  Bowtie runs on the command line under Windows, Mac OS X,
+Linux, and Solaris.
+
+[Bowtie] also forms the basis for other tools, including [TopHat]: a
+fast splice junction mapper for RNA-seq reads, [Cufflinks]: a tool for
+transcriptome assembly and isoform quantitiation from RNA-seq reads,
+[Crossbow]: a cloud-computing software tool for large-scale
+resequencing data,and [Myrna]: a cloud computing tool for calculating
+differential gene expression in large RNA-seq datasets.
+
+If you use [Bowtie] for your published research, please cite the
+[Bowtie paper].
+
+[Bowtie]:          http://bowtie-bio.sf.net
+[Burrows-Wheeler]: http://en.wikipedia.org/wiki/Burrows-Wheeler_transform
+[SAM]:             http://samtools.sourceforge.net/SAM1.pdf
+[SAMtools]:        http://samtools.sourceforge.net/
+[TopHat]:          http://tophat.cbcb.umd.edu/
+[Cufflinks]:       http://cufflinks.cbcb.umd.edu/
+[Crossbow]:        http://bowtie-bio.sf.net/crossbow
+[Myrna]:           http://bowtie-bio.sf.net/myrna
+[Bowtie paper]:    http://genomebiology.com/2009/10/3/R25
+
+What isn't Bowtie?
+==================
+
+Bowtie is not a general-purpose alignment tool like [MUMmer], [BLAST]
+or [Vmatch].  Bowtie works best when aligning short reads to large
+genomes, though it supports arbitrarily small reference sequences (e.g.
+amplicons) and reads as long as 1024 bases.  Bowtie is designed to be
+extremely fast for sets of short reads where (a) many of the reads have
+at least one good, valid alignment, (b) many of the reads are
+relatively high-quality, and (c) the number of alignments reported per
+read is small (close to 1).
+
+Bowtie does not yet report gapped alignments; this is future work.
+
+[MUMmer]: http://mummer.sourceforge.net/
+[BLAST]:  http://blast.ncbi.nlm.nih.gov/Blast.cgi
+[Vmatch]: http://www.vmatch.de/
+
+Obtaining Bowtie
+================
+
+You may download either Bowtie sources or binaries for your platform
+from the [Download] section of the Sourceforge project site.  Binaries
+are currently available for Intel architectures (`i386` and `x86_64`)
+running Linux, Windows, and Mac OS X.
+
+Building from source
+--------------------
+
+Building Bowtie from source requires a GNU-like environment that
+includes GCC, GNU Make and other basics.  It should be possible to
+build Bowtie on a vanilla Linux or Mac installation.  Bowtie can also
+be built on Windows using [Cygwin] or [MinGW].  We recommend
+[TDM's MinGW Build].  If using [MinGW], you must also have [MSYS]
+installed.
+
+To build Bowtie, extract the sources, change to the extracted
+directory, and run GNU `make` (usually with the command `make`, but
+sometimes with `gmake`) with no arguments.  If building with [MinGW],
+run `make` from the [MSYS] command line.
+
+To support the [`-p`] (multithreading) option, Bowtie needs the
+`pthreads` library.  To compile Bowtie without `pthreads` (which
+disables [`-p`]), use `make BOWTIE_PTHREADS=0`.
+
+[Cygwin]:   http://www.cygwin.com/
+[MinGW]:    http://www.mingw.org/
+[TDM's MinGW Build]: http://www.tdragon.net/recentgcc/
+[MSYS]:     http://www.mingw.org/wiki/msys
+[Download]: https://sourceforge.net/projects/bowtie-bio/files/bowtie/
+
+The `bowtie` aligner
+====================
+
+`bowtie` takes an index and a set of reads as input and outputs a list
+of alignments.  Alignments are selected according to a combination of
+the [`-v`]/[`-n`]/[`-e`]/[`-l`] options (plus the [`-I`]/[`-X`]/[`--fr`]/[`--rf`]/
+[`--ff`] options for paired-end alignment), which define which alignments
+are legal, and the [`-k`]/[`-a`]/[`-m`]/[`-M`]/[`--best`]/[`--strata`] options
+which define which and how many legal alignments should be reported.
+
+By default, Bowtie enforces an alignment policy similar to [Maq]'s
+default quality-aware policy ([`-n`] 2 [`-l`] 28 [`-e`] 70).  See [the -n
+alignment mode] section of the manual for details about this mode.  But
+Bowtie can also enforce a simpler end-to-end k-difference policy (e.g.
+with [`-v`] 2).  See [the -v alignment mode] section of the manual for
+details about that mode.  [The -n alignment mode] and [the -v alignment
+mode] are mutually exclusive.
+
+Bowtie works best when aligning short reads to large genomes (e.g.
+human or mouse), though it supports arbitrarily small reference
+sequences and reads as long as 1024 bases.  Bowtie is designed to be
+very fast for sets of short reads where a) many reads have at least one
+good, valid alignment, b) many reads are relatively high-quality, c)
+the number of alignments reported per read is small (close to 1).
+These criteria are generally satisfied in the context of modern
+short-read analyses such as RNA-seq, ChIP-seq, other types of -seq, and
+mammalian resequencing.  You may observe longer running times in other
+research contexts.
+
+If `bowtie` is too slow for your application, try some of the
+performance-tuning hints described in the [Performance Tuning] section
+below.
+
+Alignments involving one or more ambiguous reference characters (`N`,
+`-`, `R`, `Y`, etc.) are considered invalid by Bowtie.  This is true
+only for ambiguous characters in the reference; alignments involving
+ambiguous characters in the read are legal, subject to the alignment
+policy.  Ambiguous characters in the read mismatch all other
+characters.  Alignments that "fall off" the reference sequence are not
+considered valid.
+
+The process by which `bowtie` chooses an alignment to report is
+randomized in order to avoid "mapping bias" - the phenomenon whereby
+an aligner systematically fails to report a particular class of good
+alignments, causing spurious "holes" in the comparative assembly.
+Whenever `bowtie` reports a subset of the valid alignments that exist,
+it makes an effort to sample them randomly.  This randomness flows
+from a simple seeded pseudo-random number generator and is
+deterministic in the sense that Bowtie will always produce the same
+results for the same read when run with the same initial "seed" value
+(see [`--seed`] option).
+
+In the default mode, `bowtie` can exhibit strand bias.  Strand bias
+occurs when input reference and reads are such that (a) some reads
+align equally well to sites on the forward and reverse strands of the
+reference, and (b) the number of such sites on one strand is different
+from the number on the other strand.  When this happens for a given
+read, `bowtie` effectively chooses one strand or the other with 50%
+probability, then reports a randomly-selected alignment for that read
+from among the sites on the selected strand.  This tends to overassign
+alignments to the sites on the strand with fewer sites and underassign
+to sites on the strand with more sites.  The effect is mitigated,
+though it may not be eliminated, when reads are longer or when
+paired-end reads are used.  Running Bowtie in [`--best`] mode
+eliminates strand bias by forcing Bowtie to select one strand or the
+other with a probability that is proportional to the number of best
+sites on the strand.
+
+Gapped alignments are not currently supported, but support is planned
+for a future release.
+
+[the -n alignment mode]: #the--n-alignment-mode
+[the -v alignment mode]: #the--v-alignment-mode
+[High Performance Tips]: #high-performance-tips
+[Maq]: http://maq.sf.net
+
+The `-n` alignment mode
+-----------------------
+
+When the [`-n`] option is specified (which is the default), `bowtie`
+determines which alignments are valid according to the following
+policy, which is similar to [Maq]'s default policy.
+
+  1. Alignments may have no more than `N` mismatches (where `N` is a
+     number 0-3, set with [`-n`]) in the first `L` bases (where `L` is a
+     number 5 or greater, set with [`-l`]) on the high-quality (left) end
+     of the read.  The first `L` bases are called the "seed".
+
+  2. The sum of the [Phred quality] values at *all* mismatched positions
+     (not just in the seed) may not exceed `E` (set with [`-e`]).  Where
+     qualities are unavailable (e.g. if the reads are from a FASTA
+     file), the [Phred quality] defaults to 40.
+
+The [`-n`] option is mutually exclusive with the [`-v`] option.
+
+If there are many possible alignments satisfying these criteria, Bowtie
+gives preference to alignments with fewer mismatches and where the sum
+from criterion 2 is smaller.  When the [`--best`] option is specified,
+Bowtie guarantees the reported alignment(s) are "best" in terms of
+these criteria (criterion 1 has priority), and that the alignments are
+reported in best-to-worst order.  Bowtie is somewhat slower when
+[`--best`] is specified.
+
+Note that [Maq] internally rounds base qualities to the nearest 10 and
+rounds qualities greater than 30 to 30.  To maintain compatibility,
+Bowtie does the same.  Rounding can be suppressed with the
+[`--nomaqround`] option.
+Bowtie is not fully sensitive in [`-n`] 2 and [`-n`] 3 modes by default.
+In these modes Bowtie imposes a "backtracking limit" to limit effort
+spent trying to find valid alignments for low-quality reads unlikely to
+have any.  This may cause bowtie to miss some legal 2- and 3-mismatch
+alignments.  The limit is set to a reasonable default (125 without
+[`--best`], 800 with [`--best`]), but the user may decrease or increase the
+limit using the [`--maxbts`] and/or [`-y`] options.  [`-y`] mode is
+relatively slow but guarantees full sensitivity.
+
+[Maq]: http://maq.sf.net
+[Phred quality]: http://en.wikipedia.org/wiki/FASTQ_format#Variations
+
+The `-v` alignment mode
+-----------------------
+
+In [`-v`] mode, alignments may have no more than `V` mismatches, where
+`V` may be a number from 0 through 3 set using the [`-v`] option.
+Quality values are ignored.  The [`-v`] option is mutually exclusive with
+the [`-n`] option.
+
+If there are many legal alignments, Bowtie gives preference to
+alignments with fewer mismatches.  When the [`--best`] option is
+specified, Bowtie guarantees the reported alignment(s) are "best" in
+terms of the number of mismatches, and that the alignments are reported
+in best-to-worst order.  Bowtie is somewhat slower when [`--best`] is
+specified.
+
+Strata
+------
+
+In [the -n alignment mode], an alignment's "stratum" is defined as the
+number of mismatches in the "seed" region, i.e. the leftmost `L` bases,
+where `L` is set with the [`-l`] option.  In [the -v alignment mode], an
+alignment's stratum is defined as the total number of mismatches in the
+entire alignment.  Some of Bowtie's options (e.g. [`--strata`] and [`-m`]
+use the notion of "stratum" to limit or expand the scope of reportable
+alignments.
+
+Reporting Modes
+---------------
+
+With the [`-k`], [`-a`], [`-m`], [`-M`], [`--best`] and [`--strata`] options, the
+user can flexibily select which alignments are reported.  Below we
+demonstrate a few ways in which these options can be combined.  All
+examples are using the `e_coli` index packaged with Bowtie.  The
+[`--suppress`] option is used to keep the output concise and some
+output is elided for clarity.
+
+### Example 1: `-a`
+
+    $ ./bowtie -a -v 2 e_coli --suppress 1,5,6,7 -c ATGCATCATGCGCCAT
+    -  gi|110640213|ref|NC_008253.1|   148810  10:A>G,13:C>G
+    -  gi|110640213|ref|NC_008253.1|   2852852 8:T>A
+    -  gi|110640213|ref|NC_008253.1|   4930433 4:G>T,6:C>G
+    -  gi|110640213|ref|NC_008253.1|   905664  6:A>G,7:G>T
+    +  gi|110640213|ref|NC_008253.1|   1093035 2:T>G,15:A>T
+
+Specifying [`-a`] instructs bowtie to report *all* valid alignments,
+subject to the alignment policy: [`-v`] 2.  In this case, bowtie finds
+5 inexact hits in the E. coli genome; 1 hit (the 2nd one listed)
+has 1 mismatch, and the other 4 hits have 2 mismatches.  Four are on
+the reverse reference strand and one is on the forward strand.  Note
+that they are not listed in best-to-worst order.
+
+### Example 2: `-k 3`
+
+    $ ./bowtie -k 3 -v 2 e_coli --suppress 1,5,6,7 -c ATGCATCATGCGCCAT
+    -  gi|110640213|ref|NC_008253.1|   148810  10:A>G,13:C>G
+    -  gi|110640213|ref|NC_008253.1|   2852852 8:T>A
+    -  gi|110640213|ref|NC_008253.1|   4930433 4:G>T,6:C>G
+
+Specifying [`-k`] 3 instructs bowtie to report up to 3 valid
+alignments.  In this case, a total of 5 valid alignments exist (see
+[Example 1]); `bowtie` reports 3 out of those 5.  [`-k`] can be set to
+any integer greater than 0.
+
+[Example 1]: #example-1
+
+### Example 3: `-k 6`
+
+    $ ./bowtie -k 6 -v 2 e_coli --suppress 1,5,6,7 -c ATGCATCATGCGCCAT
+    -  gi|110640213|ref|NC_008253.1|   148810  10:A>G,13:C>G
+    -  gi|110640213|ref|NC_008253.1|   2852852 8:T>A
+    -  gi|110640213|ref|NC_008253.1|   4930433 4:G>T,6:C>G
+    -  gi|110640213|ref|NC_008253.1|   905664  6:A>G,7:G>T
+    +  gi|110640213|ref|NC_008253.1|   1093035 2:T>G,15:A>T
+
+Specifying [`-k`] 6 instructs bowtie to report up to 6 valid
+alignments.  In this case, a total of 5 valid alignments exist, so
+`bowtie` reports all 5.
+
+### Example 4: default (`-k 1`)
+
+    $ ./bowtie -v 2 e_coli --suppress 1,5,6,7 -c ATGCATCATGCGCCAT
+    -  gi|110640213|ref|NC_008253.1|   148810  10:A>G,13:C>G
+
+Leaving the reporting options at their defaults causes `bowtie` to
+report the first valid alignment it encounters.  Because [`--best`] was
+not specified, we are not guaranteed that bowtie will report the best
+alignment, and in this case it does not (the 1-mismatch alignment from
+the previous example would have been better).  The default reporting
+mode is equivalent to [`-k`] 1.
+
+### Example 5: `-a --best`
+
+    $ ./bowtie -a --best -v 2 e_coli --suppress 1,5,6,7 -c ATGCATCATGCGCCAT
+    -  gi|110640213|ref|NC_008253.1|   2852852 8:T>A
+    +  gi|110640213|ref|NC_008253.1|   1093035 2:T>G,15:A>T
+    -  gi|110640213|ref|NC_008253.1|   905664  6:A>G,7:G>T
+    -  gi|110640213|ref|NC_008253.1|   148810  10:A>G,13:C>G
+    -  gi|110640213|ref|NC_008253.1|   4930433 4:G>T,6:C>G
+
+Specifying [`-a`] [`--best`] results in the same alignments being printed
+as if just [`-a`] had been specified, but they are guaranteed to be
+reported in best-to-worst order.
+
+### Example 6: `-a --best --strata`
+
+    $ ./bowtie -a --best --strata -v 2 --suppress 1,5,6,7 e_coli -c ATGCATCATGCGCCAT
+    -  gi|110640213|ref|NC_008253.1|   2852852 8:T>A
+
+Specifying [`--strata`] in addition to [`-a`] and [`--best`] causes
+`bowtie` to report only those alignments in the best alignment
+"stratum".  The alignments in the best stratum are those having the
+least number of mismatches (or mismatches just in the "seed" portion of
+the alignment in the case of [`-n`] mode).  Note that if [`--strata`]
+is specified, [`--best`] must also be specified.
+
+### Example 7: `-a -m 3`
+
+    $ ./bowtie -a -m 3 -v 2 e_coli -c ATGCATCATGCGCCAT
+    No alignments
+
+Specifying [`-m`] 3 instructs bowtie to refrain from reporting any
+alignments for reads having more than 3 reportable alignments.  The
+[`-m`] option is useful when the user would like to guarantee that
+reported alignments are "unique", for some definition of unique.
+
+Example 1 showed that the read has 5 reportable alignments when [`-a`]
+and [`-v`] 2 are specified, so the [`-m`] 3 limit causes bowtie to
+output no alignments.
+
+### Example 8: `-a -m 5`
+
+    $ ./bowtie -a -m 5 -v 2 e_coli --suppress 1,5,6,7 -c ATGCATCATGCGCCAT
+    -  gi|110640213|ref|NC_008253.1|   148810  10:A>G,13:C>G
+    -  gi|110640213|ref|NC_008253.1|   2852852 8:T>A
+    -  gi|110640213|ref|NC_008253.1|   4930433 4:G>T,6:C>G
+    -  gi|110640213|ref|NC_008253.1|   905664  6:A>G,7:G>T
+    +  gi|110640213|ref|NC_008253.1|   1093035 2:T>G,15:A>T
+
+Specifying [`-m`] 5 instructs bowtie to refrain from reporting any
+alignments for reads having more than 5 reportable alignments.  Since
+the read has exactly 5 reportable alignments, the [`-m`] 5 limit allows
+`bowtie` to print them as usual. 
+
+### Example 9: `-a -m 3 --best --strata`
+
+    $ ./bowtie -a -m 3 --best --strata -v 2 e_coli --suppress 1,5,6,7 -c ATGCATCATGCGCCAT
+    -  gi|110640213|ref|NC_008253.1|   2852852 8:T>A
+
+Specifying [`-m`] 3 instructs bowtie to refrain from reporting any
+alignments for reads having more than 3 reportable alignments.  As we
+saw in Example 6, the read has only 1 reportable alignment when [`-a`],
+[`--best`] and [`--strata`] are specified, so the [`-m`] 3 limit allows
+`bowtie` to print that alignment as usual.
+
+Intuitively, the [`-m`] option, when combined with the [`--best`] and
+[`--strata`] options, guarantees a principled, though weaker form of
+"uniqueness."  A stronger form of uniqueness is enforced when [`-m`] is
+specified but [`--best`] and [`--strata`] are not.
+
+Paired-end Alignment
+--------------------
+
+`bowtie` can align paired-end reads when properly paired read files are
+specified using the [`-1`](#command-line) and [`-2`](#command-line) options (for pairs of raw, FASTA, or
+FASTQ read files), or using the [`--12`](#command-line) option (for Tab-delimited read
+files).  A valid paired-end alignment satisfies these criteria:
+
+1. Both mates have a valid alignment according to the alignment policy
+   defined by the [`-v`]/[`-n`]/[`-e`]/[`-l`] options.
+2. The relative orientation and position of the mates satisfy the
+   constraints defined by the [`-I`]/[`-X`]/[`--fr`]/[`--rf`]/[`--ff`]
+   options. 
+
+Policies governing which paired-end alignments are reported for a
+given read are specified using the [`-k`], [`-a`] and [`-m`] options as
+usual.  The [`--strata`] and [`--best`] options do not apply in
+paired-end mode.
+
+A paired-end alignment is reported as a pair of mate alignments, both
+on a separate line, where the alignment for each mate is formatted the
+same as an unpaired (singleton) alignment.  The alignment for the mate
+that occurs closest to the beginning of the reference sequence (the
+"upstream" mate) is always printed before the alignment for the
+downstream mate.  Reads files containing paired-end reads will
+sometimes name the reads according to whether they are the #1 or #2
+mates by appending a `/1` or `/2` suffix to the read name.  If no such
+suffix is present in Bowtie's input, the suffix will be added when
+Bowtie prints read names in alignments (except in [`-S`] "SAM" mode,
+where mate information is encoded in the `FLAGS` field instead).
+
+Finding a valid paired-end alignment where both mates align to
+repetitive regions of the reference can be very time-consuming.  By
+default, Bowtie avoids much of this cost by imposing a limit on the
+number of "tries" it makes to match an alignment for one mate with a
+nearby alignment for the other.  The default limit is 100.  This causes
+`bowtie` to miss some valid paired-end alignments where both mates lie
+in repetitive regions, but the user may use the [`--pairtries`] or
+[`-y`] options to increase Bowtie's sensitivity as desired.
+
+Paired-end alignments where one mate's alignment is entirely contained
+within the other's are considered invalid.
+
+When colospace alignment is enabled via [`-C`], the default setting for
+paired-end orientation is [`--ff`].  This is because most SOLiD datasets
+have that orientation.  When colorspace alignment is not enabled
+(default), the default setting for orientation is [`--fr`], since most
+Illumina datasets have this orientation.  The default can be overriden
+in either case.
+
+Because Bowtie uses an in-memory representation of the original
+reference string when finding paired-end alignments, its memory
+footprint is larger when aligning paired-end reads.  For example, the
+human index has a memory footprint of about 2.2 GB in single-end mode
+and 2.9 GB in paired-end mode.  Note that paired-end and unpaired
+alignment incur the same memory footprint in colorspace (e.g. human
+incurs about 2.9 GB)
+
+Colorspace Alignment
+--------------------
+
+[Colorspace alignment]: #colorspace-alignment
+
+As of version 0.12.0, `bowtie` can align colorspace reads against a
+colorspace index when [`-C`] is specified.  Colorspace is the
+characteristic output format of Applied Biosystems' SOLiD system.  In a
+colorspace read, each character is a color rather than a nucleotide,
+where a color encodes a class of dinucleotides.  E.g. the color blue
+encodes any of the dinucleotides: AA, CC, GG, TT.  Colorspace has the
+advantage of (often) being able to distinguish sequencing errors from
+SNPs once the read has been aligned.  See ABI's [Principles of Di-Base
+Sequencing] document for details.
+
+### Colorspace reads
+
+All input formats (FASTA [`-f`], FASTQ [`-q`], raw [`-r`], tab-delimited
+[`--12`](#command-line), command-line [`-c`]) are compatible with colorspace ([`-C`]).
+When [`-C`] is specified, read sequences are treated as colors.  Colors
+may be encoded either as numbers (`0`=blue, `1`=green, `2`=orange,
+`3`=red) or as characters `A/C/G/T` (`A`=blue, `C`=green, `G`=orange,
+`T`=red).
+
+Some reads include a primer base as the first character; e.g.:
+
+    >1_53_33_F3
+    T2213120002010301233221223311331
+    >1_53_70_F3
+    T2302111203131231130300111123220
+    ...
+
+Here, `T` is the primer base.  `bowtie` detects and handles primer
+bases properly (i.e., the primer base and the adjacent color are both
+trimmed away prior to alignment) as long as the rest of the read is
+encoded as numbers.
+
+`bowtie` also handles input in the form of parallel `.csfasta` and
+`_QV.qual` files.  Use [`-f`] to specify the `.csfasta` files and [`-Q`]
+(for unpaired reads) or [`--Q1`]/[`--Q2`] (for paired-end reads) to
+specify the corresponding `_QV.qual` files.  It is not necessary to
+first convert to FASTQ, though `bowtie` also handles FASTQ-formatted
+colorspace reads (with [`-q`], the default).
+
+### Building a colorspace index
+
+A colorspace index is built in the same way as a normal index except
+that [`-C`](#bowtie-build-options-C) must be specified when running `bowtie-build`.  If the user
+attempts to use `bowtie` without [`-C`] to align against an index that
+was built with [`-C`] (or vice versa), `bowtie` prints an error message
+and quits.
+
+### Decoding colorspace alignments
+
+Once a colorspace read is aligned, Bowtie decodes the alignment into
+nucleotides and reports the decoded nucleotide sequence.  A principled
+decoding scheme is necessary because many different possible decodings
+are usually possible.  Finding the true decoding with 100% certainty
+requires knowing all variants (e.g. SNPs) in the subject's genome
+beforehand, which is usually not possible.  Instead, `bowtie` employs
+the approximate decoding scheme described in the [BWA paper].  This
+scheme attempts to distinguish variants from sequencing errors
+according to their relative likelihood under a model that considers the
+quality values of the colors and the (configurable) global likelihood
+of a SNP.
+
+Quality values are also "decoded" so that each reported quality value
+is a function of the two color qualities overlapping it.  Bowtie again
+adopts the scheme described in the [BWA paper], i.e., the decoded
+nucleotide quality is either the sum of the overlapping color qualities
+(when both overlapping colors correspond to bases that match in the
+alignment), the quality of the matching color minus the quality of the
+mismatching color, or 0 (when both overlapping colors correspond to
+mismatches).
+
+For accurate decoding, [`--snpphred`]/[`--snpfrac`] should be set according
+to the user's best guess of the SNP frequency in the subject.  The
+[`--snpphred`] parameter sets the SNP penalty directly (on the [Phred
+quality] scale), whereas [`--snpfrac`] allows the user to specify the
+fraction of sites expected to be SNPs; the fraction is then converted
+to a [Phred quality] internally.  For the purpose of decoding, the SNP
+fraction is defined in terms of SNPs per *haplotype* base.  Thus, if
+the genome is diploid, heterozygous SNPs have half the weight of
+homozygous SNPs
+
+Note that in [`-S`/`--sam`] mode, the decoded nucleotide sequence is
+printed for alignments, but the original color sequence (with `A`=blue,
+`C`=green, `G`=orange, `T`=red) is printed for unaligned reads without
+any reported alignments.  As always, the [`--un`], [`--max`] and [`--al`]
+parameters print reads exactly as they appeared in the input file.
+
+### Paired-end colorspace alignment
+
+Like other platforms, SOLiD supports generation of paired-end reads.
+When colorspace alignment is enabled, the default paired-end
+orientation setting is [`--ff`].  This is because most SOLiD datasets
+have that orientation.
+
+Note that SOLiD-generated read files can have "orphaned" mates; i.e.
+mates without a correpsondingly-named mate in the other file.  To avoid
+problems due to orphaned mates, SOLiD paired-end output should first be
+converted to `.csfastq` files with unpaired mates omitted.  This can be
+accomplished using, for example, [Galaxy]'s conversion tool (click
+"NGS: QC and manipulation", then "SOLiD-to-FASTQ" in the left-hand
+sidebar).
+
+[Principles of Di-Base Sequencing]: http://tinyurl.com/ygnb2gn
+[Decoding colorspace alignments]: #decoding-colorspace-alignments
+[BWA paper]: http://bioinformatics.oxfordjournals.org/cgi/content/abstract/25/14/1754
+
+Performance Tuning
+------------------
+
+[Performance tuning]: #performance-tuning
+
+1.  Use 64-bit bowtie if possible
+
+    The 64-bit version of Bowtie is substantially (usually more then
+    50%) faster than the 32-bit version, owing to its use of 64-bit
+    arithmetic.  If possible, download the 64-bit binaries for Bowtie
+    and run on a 64-bit computer.  If you are building Bowtie from
+    sources, you may need to pass the `-m64` option to `g++` to compile
+    the 64-bit version; you can do this by including `BITS=64` in the
+    arguments to the `make` command; e.g.: `make BITS=64 bowtie`.  To
+    determine whether your version of bowtie is 64-bit or 32-bit, run
+    `bowtie --version`.
+
+2.  If your computer has multiple processors/cores, use `-p`
+
+    The [`-p`] option causes Bowtie to launch a specified number of
+    parallel search threads.  Each thread runs on a different
+    processor/core and all threads find alignments in parallel,
+    increasing alignment throughput by approximately a multiple of the
+    number of threads (though in practice, speedup is somewhat worse
+    than linear).
+
+3.  If reporting many alignments per read, try tweaking
+    `bowtie-build --offrate`
+
+    If you are using the [`-k`], [`-a`] or [`-m`] options and Bowtie is
+    reporting many alignments per read (an average of more than about
+    10 per read) and you have some memory to spare, using an index with
+    a denser SA sample can speed things up considerably.
+
+    To do this, specify a smaller-than-default [`-o`/`--offrate`](#bowtie-build-options-o) value
+    when running `bowtie-build`.  A denser SA sample yields a larger
+    index, but is also particularly effective at speeding up alignment
+    when many alignments are reported per read.  For example,
+    decreasing the index's [`-o`/`--offrate`](#bowtie-build-options-o) by 1 could as much as
+    double alignment performance, and decreasing by 2 could quadruple
+    alignment performance, etc.
+
+    On the other hand, decreasing [`-o`/`--offrate`](#bowtie-build-options-o) increases the size
+    of the Bowtie index, both on disk and in memory when aligning
+    reads.  At the default [`-o`/`--offrate`](#bowtie-build-options-o) of 5, the SA sample for the
+    human genome occupies about 375 MB of memory when aligning reads.
+    Decreasing the [`-o`/`--offrate`](#bowtie-build-options-o) by 1 doubles the memory taken by
+    the SA sample, and decreasing by 2 quadruples the memory taken,
+    etc.
+
+4.  If bowtie "thrashes", try increasing `bowtie --offrate`
+
+    If `bowtie` runs very slow on a relatively low-memory machine
+    (having less than about 4 GB of memory), then try setting `bowtie`
+    [`-o`/`--offrate`] to a *larger* value than the value used to build
+    the index.  For example, `bowtie-build`'s default [`-o`/`--offrate`](#bowtie-build-options-o)
+    is 5 and all pre-built indexes available from the Bowtie website
+    are built with [`-o`/`--offrate`](#bowtie-build-options-o) 5; so if `bowtie` thrashes when
+    querying such an index, try using `bowtie` [`--offrate`] 6.  If
+    `bowtie` still thrashes, try `bowtie` [`--offrate`] 7, etc.  A higher
+    [`-o`/`--offrate`] causes `bowtie` to use a sparser sample of the
+    suffix array than is stored in the index; this saves memory but
+    makes alignment reporting slower (which is especially slow when
+    using [`-a`] or large [`-k`] or [`-m`]).
+
+Command Line
+------------
+
+Usage:
+
+    bowtie [options]* <ebwt> {-1 <m1> -2 <m2> | --12 <r> | <s>} [<hit>]
+
+### Main arguments
+
+<table><tr><td>
+
+    <ebwt>
+
+</td><td>
+
+The basename of the index to be searched.  The basename is the name of
+any of the index files up to but not including the final `.1.ebwt` /
+`.rev.1.ebwt` / etc.  `bowtie` looks for the specified index first in
+the current directory, then in the `indexes` subdirectory under the
+directory where the `bowtie` executable is located, then looks in the
+directory specified in the `BOWTIE_INDEXES` environment variable.
+
+</td></tr><tr><td>
+
+    <m1>
+
+</td><td>
+
+Comma-separated list of files containing the #1 mates (filename usually
+includes `_1`), or, if [`-c`] is specified, the mate sequences
+themselves.  E.g., this might be `flyA_1.fq,flyB_1.fq`, or, if [`-c`]
+is specified, this might be `GGTCATCCT,ACGGGTCGT`.  Sequences specified
+with this option must correspond file-for-file and read-for-read with
+those specified in `<m2>`.  Reads may be a mix of different lengths.
+If `-` is specified, `bowtie` will read the #1 mates from the "standard
+in" filehandle.
+
+</td></tr><tr><td>
+
+    <m2>
+
+</td><td>
+
+Comma-separated list of files containing the #2 mates (filename usually
+includes `_2`), or, if [`-c`] is specified, the mate sequences
+themselves.  E.g., this might be `flyA_2.fq,flyB_2.fq`, or, if [`-c`]
+is specified, this might be `GGTCATCCT,ACGGGTCGT`.  Sequences specified
+with this option must correspond file-for-file and read-for-read with
+those specified in `<m1>`.  Reads may be a mix of different lengths.
+If `-` is specified, `bowtie` will read the #2 mates from the "standard
+in" filehandle.
+
+</td></tr><tr><td>
+
+    <r>
+
+</td><td>
+
+Comma-separated list of files containing a mix of unpaired and
+paired-end reads in Tab-delimited format.  Tab-delimited format is a
+1-read-per-line format where unpaired reads consist of a read name,
+sequence and quality string each separated by tabs.  A paired-end read
+consists of a read name, sequnce of the #1 mate, quality values of the
+#1 mate, sequence of the #2 mate, and quality values of the #2 mate
+separated by tabs.  Quality values can be expressed using any of the
+scales supported in FASTQ files.  Reads may be a mix of different
+lengths and paired-end and unpaired reads may be intermingled in the
+same file.  If `-` is specified, `bowtie` will read the Tab-delimited
+reads from the "standard in" filehandle.
+
+</td></tr><tr><td>
+
+    <s>
+
+</td><td>
+
+A comma-separated list of files containing unpaired reads to be
+aligned, or, if [`-c`] is specified, the unpaired read sequences
+themselves.  E.g., this might be
+`lane1.fq,lane2.fq,lane3.fq,lane4.fq`, or, if [`-c`] is specified, this
+might be `GGTCATCCT,ACGGGTCGT`.  Reads may be a mix of different
+lengths.  If `-` is specified, Bowtie gets the reads from the "standard
+in" filehandle.
+
+</td></tr><tr><td>
+
+    <hit>
+
+</td><td>
+
+File to write alignments to.  By default, alignments are written to the
+"standard out" filehandle (i.e. the console).
+
+</td></tr></table>
+
+### Options
+
+#### Input
+
+<table>
+<tr><td id="bowtie-options-q">
+
+[`-q`]: #bowtie-options-q
+
+    -q
+
+</td><td>
+
+The query input files (specified either as `<m1>` and `<m2>`, or as
+`<s>`) are FASTQ files (usually having extension `.fq` or `.fastq`).
+This is the default.  See also: [`--solexa-quals`] and
+[`--integer-quals`].
+
+</td></tr><tr><td id="bowtie-options-f">
+
+[`-f`]: #bowtie-options-f
+
+    -f
+
+</td><td>
+
+The query input files (specified either as `<m1>` and `<m2>`, or as
+`<s>`) are FASTA files (usually having extension `.fa`, `.mfa`, `.fna`
+or similar).  All quality values are assumed to be 40 on the [Phred
+quality] scale.
+
+</td></tr><tr><td id="bowtie-options-r">
+
+[`-r`]: #bowtie-options-r
+
+    -r
+
+</td><td>
+
+The query input files (specified either as `<m1>` and `<m2>`, or as
+`<s>`) are Raw files: one sequence per line, without quality values or
+names.  All quality values are assumed to be 40 on the [Phred quality]
+scale.
+
+</td></tr><tr><td id="bowtie-options-c">
+
+[`-c`]: #bowtie-options-c
+
+    -c
+
+</td><td>
+
+The query sequences are given on command line.  I.e. `<m1>`, `<m2>` and
+`<singles>` are comma-separated lists of reads rather than lists of
+read files.
+
+</td></tr><tr><td id="bowtie-options-C">
+
+[`-C`]: #bowtie-options-C
+[`-C`/`--color`]: #bowtie-options-C
+
+    -C/--color
+
+</td><td>
+
+Align in colorspace.  Read characters are interpreted as colors.  The
+index specified must be a colorspace index (i.e. built with
+`bowtie-build` [`-C`](#bowtie-build-options-C), or `bowtie` will print an error message and quit.
+See [Colorspace alignment] for more details.
+
+</td></tr><tr><td id="bowtie-options-Q">
+
+[`-Q`]: #bowtie-options-Q
+[`-Q`/`--quals`]: #bowtie-options-Q
+
+    -Q/--quals <files>
+
+</td><td>
+
+Comma-separated list of files containing quality values for
+corresponding unpaired CSFASTA reads.  Use in combination with [`-C`]
+and [`-f`].  [`--integer-quals`] is set automatically when `-Q`/`--quals`
+is specified.
+
+</td></tr><tr><td id="bowtie-options-Q1">
+
+[`--Q1`]: #bowtie-options-Q1
+
+    --Q1 <files>
+
+</td><td>
+
+Comma-separated list of files containing quality values for
+corresponding CSFASTA #1 mates.  Use in combination with [`-C`], [`-f`],
+and [`-1`](#command-line).  [`--integer-quals`] is set automatically when `--Q1`
+is specified.
+
+</td></tr><tr><td id="bowtie-options-Q2">
+
+[`--Q2`]: #bowtie-options-Q2
+
+    --Q2 <files>
+
+</td><td>
+
+Comma-separated list of files containing quality values for
+corresponding CSFASTA #2 mates.  Use in combination with [`-C`], [`-f`],
+and [`-2`](#command-line).  [`--integer-quals`] is set automatically when `--Q2`
+is specified.
+
+</td></tr><tr><td id="bowtie-options-s">
+
+[`-s`/`--skip`]: #bowtie-options-s
+[`-s`]: #bowtie-options-s
+
+    -s/--skip <int>
+
+</td><td>
+
+Skip (i.e. do not align) the first `<int>` reads or pairs in the input.
+
+</td></tr><tr><td id="bowtie-options-u">
+
+[`-u`/`--qupto`]: #bowtie-options-u
+[`-u`]: #bowtie-options-u
+
+    -u/--qupto <int>
+
+</td><td>
+
+Only align the first `<int>` reads or read pairs from the input (after
+the [`-s`/`--skip`] reads or pairs have been skipped).  Default: no
+limit.
+
+</td></tr><tr><td id="bowtie-options-5">
+
+[`-5`/`--trim5`]: #bowtie-options-5
+[`-5`]: #bowtie-options-5
+
+    -5/--trim5 <int>
+
+</td><td>
+
+Trim `<int>` bases from high-quality (left) end of each read before
+alignment (default: 0).
+
+</td></tr><tr><td id="bowtie-options-3">
+
+[`-3`/`--trim3`]: #bowtie-options-3
+[`-3`]: #bowtie-options-3
+
+    -3/--trim3 <int>
+
+</td><td>
+
+Trim `<int>` bases from low-quality (right) end of each read before
+alignment (default: 0).
+
+</td></tr><tr><td id="bowtie-options-phred33-quals">
+
+[`--phred33-quals`]: #bowtie-options-phred33-quals
+
+    --phred33-quals
+
+</td><td>
+
+Input qualities are ASCII chars equal to the [Phred quality] plus 33.
+Default: on.
+
+</td></tr><tr><td id="bowtie-options-phred64-quals">
+
+[`--phred64-quals`]: #bowtie-options-phred64-quals
+
+    --phred64-quals
+
+</td><td>
+
+Input qualities are ASCII chars equal to the [Phred quality] plus 64.
+Default: off.
+
+</td></tr><tr><td id="bowtie-options-solexa-quals">
+
+[`--solexa-quals`]: #bowtie-options-solexa-quals
+
+    --solexa-quals
+
+</td><td>
+
+Convert input qualities from [Solexa][Phred quality] (which can be
+negative) to [Phred][Phred quality] (which can't).  This is usually the
+right option for use with (unconverted) reads emitted by GA Pipeline
+versions prior to 1.3.  Default: off.
+
+</td></tr><tr><td id="bowtie-options-solexa1.3-quals">
+
+[`--solexa1.3-quals`]: #bowtie-options-solexa1.3-quals
+
+    --solexa1.3-quals
+
+</td><td>
+
+Same as [`--phred64-quals`].  This is usually the right option for use
+with (unconverted) reads emitted by GA Pipeline version 1.3 or later. 
+Default: off.
+
+</td></tr><tr><td id="bowtie-options-integer-quals">
+
+[`--integer-quals`]: #bowtie-options-integer-quals
+
+    --integer-quals
+
+</td><td>
+
+Quality values are represented in the read input file as
+space-separated ASCII integers, e.g., `40 40 30 40`..., rather than
+ASCII characters, e.g., `II?I`....  Integers are treated as being on
+the [Phred quality] scale unless [`--solexa-quals`] is also specified.
+Default: off.
+
+</td></tr></table>
+
+#### Alignment
+
+<table>
+
+<tr><td id="bowtie-options-v">
+
+[`-v`]: #bowtie-options-v
+
+    -v <int>
+
+</td><td>
+
+Report alignments with at most `<int>` mismatches.  [`-e`] and [`-l`]
+options are ignored and quality values have no effect on what
+alignments are valid.  [`-v`] is mutually exclusive with [`-n`].
+
+</td></tr><tr><td id="bowtie-options-n">
+
+[`-n`/`--seedmms`]: #bowtie-options-n
+[`-n`]: #bowtie-options-n
+
+    -n/--seedmms <int>
+
+</td><td>
+
+Maximum number of mismatches permitted in the "seed", i.e. the first
+`L` base pairs of the read (where `L` is set with [`-l`/`--seedlen`]).
+This may be 0, 1, 2 or 3 and the default is 2.  This option is mutually
+exclusive with the [`-v`] option.
+
+</td></tr><tr><td id="bowtie-options-e">
+
+[`-e`/`--maqerr`]: #bowtie-options-e
+[`-e`]: #bowtie-options-e
+
+    -e/--maqerr <int>
+
+</td><td>
+
+Maximum permitted total of quality values at *all* mismatched read
+positions throughout the entire alignment, not just in the "seed".  The
+default is 70.  Like [Maq], `bowtie` rounds quality values to the
+nearest 10 and saturates at 30; rounding can be disabled with
+[`--nomaqround`].
+
+</td></tr><tr><td id="bowtie-options-l">
+
+[`-l`/`--seedlen`]: #bowtie-options-l
+[`-l`]: #bowtie-options-l
+
+    -l/--seedlen <int>
+
+</td><td>
+
+The "seed length"; i.e., the number of bases on the high-quality end of
+the read to which the [`-n`] ceiling applies.  The lowest permitted
+setting is 5 and the default is 28.  `bowtie` is faster for larger
+values of [`-l`].
+
+</td></tr><tr><td id="bowtie-options-nomaqround">
+
+[`--nomaqround`]: #bowtie-options-nomaqround
+
+    --nomaqround
+
+</td><td>
+
+[Maq] accepts quality values in the [Phred quality] scale, but
+internally rounds values to the nearest 10, with a maximum of 30.  By
+default, `bowtie` also rounds this way.  [`--nomaqround`] prevents this
+rounding in `bowtie`.
+
+</td></tr><tr><td id="bowtie-options-I">
+
+[`-I`/`--minins`]: #bowtie-options-I
+[`-I`]: #bowtie-options-I
+
+    -I/--minins <int>
+
+</td><td>
+
+The minimum insert size for valid paired-end alignments.  E.g. if `-I
+60` is specified and a paired-end alignment consists of two 20-bp
+alignments in the appropriate orientation with a 20-bp gap between
+them, that alignment is considered valid (as long as [`-X`] is also
+satisfied).  A 19-bp gap would not be valid in that case.  If trimming
+options [`-3`] or [`-5`] are also used, the [`-I`] constraint is
+applied with respect to the untrimmed mates.  Default: 0.
+
+</td></tr><tr><td id="bowtie-options-X">
+
+[`-X`/`--maxins`]: #bowtie-options-X
+[`-X`]: #bowtie-options-X
+
+    -X/--maxins <int>
+
+</td><td>
+
+The maximum insert size for valid paired-end alignments.  E.g. if `-X
+100` is specified and a paired-end alignment consists of two 20-bp
+alignments in the proper orientation with a 60-bp gap between them,
+that alignment is considered valid (as long as [`-I`] is also
+satisfied).  A 61-bp gap would not be valid in that case.  If trimming
+options [`-3`] or [`-5`] are also used, the `-X` constraint is applied
+with respect to the untrimmed mates, not the trimmed mates.  Default:
+250.
+
+</td></tr><tr><td id="bowtie-options-fr">
+
+[`--fr`/`--rf`/`--ff`]: #bowtie-options-fr
+[`--fr`]: #bowtie-options-fr
+[`--rf`]: #bowtie-options-fr
+[`--ff`]: #bowtie-options-fr
+
+    --fr/--rf/--ff
+
+</td><td>
+
+The upstream/downstream mate orientations for a valid paired-end
+alignment against the forward reference strand.  E.g., if `--fr` is
+specified and there is a candidate paired-end alignment where mate1
+appears upstream of the reverse complement of mate2 and the insert
+length constraints are met, that alignment is valid.  Also, if mate2
+appears upstream of the reverse complement of mate1 and all other
+constraints are met, that too is valid.  `--rf` likewise requires that
+an upstream mate1 be reverse-complemented and a downstream mate2 be
+forward-oriented. ` --ff` requires both an upstream mate1 and a
+downstream mate2 to be forward-oriented.  Default: `--fr` when [`-C`]
+(colorspace alignment) is not specified, `--ff` when [`-C`] is specified.
+
+</td></tr><tr><td id="bowtie-options-nofw">
+
+[`--nofw`]: #bowtie-options-nofw
+
+    --nofw/--norc
+
+</td><td>
+
+If `--nofw` is specified, `bowtie` will not attempt to align against
+the forward reference strand.  If `--norc` is specified, `bowtie` will
+not attempt to align against the reverse-complement reference strand.
+For paired-end reads using [`--fr`] or [`--rf`] modes, `--nofw` and
+`--norc` apply to the forward and reverse-complement pair orientations.
+I.e. specifying `--nofw` and [`--fr`] will only find reads in the R/F
+orientation where mate 2 occurs upstream of mate 1 with respect to the
+forward reference strand.
+
+</td></tr><tr><td id="bowtie-options-maxbts">
+
+[`--maxbts`]: #bowtie-options-maxbts
+
+    --maxbts
+
+</td><td>
+
+The maximum number of backtracks permitted when aligning a read in
+[`-n`] 2 or [`-n`] 3 mode (default: 125 without [`--best`], 800 with
+[`--best`]).  A "backtrack" is the introduction of a speculative
+substitution into the alignment.  Without this limit, the default
+parameters will sometimes require that `bowtie` try 100s or 1,000s of
+backtracks to align a read, especially if the read has many low-quality
+bases and/or has no valid alignments, slowing bowtie down
+significantly.  However, this limit may cause some valid alignments to
+be missed.  Higher limits yield greater sensitivity at the expensive of
+longer running times.  See also: [`-y`/`--tryhard`].
+
+</td></tr><tr><td id="bowtie-options-pairtries">
+
+[`--pairtries`]: #bowtie-options-pairtries
+
+    --pairtries <int>
+
+</td><td>
+
+For paired-end alignment, this is the maximum number of attempts
+`bowtie` will make to match an alignment for one mate up with an
+alignment for the opposite mate.  Most paired-end alignments require
+only a few such attempts, but pairs where both mates occur in highly
+repetitive regions of the reference can require significantly more.
+Setting this to a higher number allows `bowtie` to find more paired-
+end alignments for repetitive pairs at the expense of speed.  The
+default is 100.  See also: [`-y`/`--tryhard`].
+
+</td></tr><tr><td id="bowtie-options-y">
+
+[`-y`/`--tryhard`]: #bowtie-options-y
+[`-y`]: #bowtie-options-y
+
+    -y/--tryhard
+
+</td><td>
+
+Try as hard as possible to find valid alignments when they exist,
+including paired-end alignments.  This is equivalent to specifying very
+high values for the [`--maxbts`] and [`--pairtries`] options.  This
+mode is generally much slower than the default settings, but can be
+useful for certain problems.  This mode is slower when (a) the
+reference is very repetitive, (b) the reads are low quality, or (c) not
+many reads have valid alignments.
+
+</td></tr><tr><td id="bowtie-options-chunkmbs">
+
+[`--chunkmbs`]: #bowtie-options-chunkmbs
+
+    --chunkmbs <int>
+
+</td><td>
+
+The number of megabytes of memory a given thread is given to store path
+descriptors in [`--best`] mode.  Best-first search must keep track of
+many paths at once to ensure it is always extending the path with the
+lowest cumulative cost.  Bowtie tries to minimize the memory impact of
+the descriptors, but they can still grow very large in some cases.  If
+you receive an error message saying that chunk memory has been
+exhausted in [`--best`] mode, try adjusting this parameter up to
+dedicate more memory to the descriptors.  Default: 64.
+
+</td></tr></table>
+
+#### Reporting
+
+<table><tr><td id="bowtie-options-k">
+
+[`-k`]: #bowtie-options-k
+
+    -k <int>
+
+</td><td>
+
+Report up to `<int>` valid alignments per read or pair (default: 1).
+Validity of alignments is determined by the alignment policy (combined
+effects of [`-n`], [`-v`], [`-l`], and [`-e`]).  If more than one valid
+alignment exists and the [`--best`] and [`--strata`] options are
+specified, then only those alignments belonging to the best alignment
+"stratum" will be reported.  Bowtie is designed to be very fast for
+small [`-k`] but bowtie can become significantly slower as [`-k`]
+increases.  If you would like to use Bowtie for larger values of
+[`-k`], consider building an index with a denser suffix-array sample,
+i.e. specify a smaller [`-o`/`--offrate`](#bowtie-build-options-o) when invoking `bowtie-build`
+for the relevant index (see the [Performance tuning] section for
+details).
+
+</td></tr><tr><td id="bowtie-options-a">
+
+[`-a`/`--all`]: #bowtie-options-a
+[`-a`]: #bowtie-options-a
+
+    -a/--all
+
+</td><td>
+
+Report all valid alignments per read or pair (default: off).  Validity
+of alignments is determined by the alignment policy (combined effects
+of [`-n`], [`-v`], [`-l`], and [`-e`]).  If more than one valid alignment
+exists and the [`--best`] and [`--strata`] options are specified, then only
+those alignments belonging to the best alignment "stratum" will be
+reported.  Bowtie is designed to be very fast for small [`-k`] but bowtie
+can become significantly slower if [`-a`/`--all`] is specified.  If you
+would like to use Bowtie with [`-a`], consider building an index with a
+denser suffix-array sample, i.e. specify a smaller [`-o`/`--offrate`](#bowtie-build-options-o)
+when invoking `bowtie-build` for the relevant index (see the
+[Performance tuning] section for details).
+
+</td></tr><tr><td id="bowtie-options-m">
+
+[`-m`]: #bowtie-options-m
+
+    -m <int>
+
+</td><td>
+
+Suppress all alignments for a particular read or pair if more than
+`<int>` reportable alignments exist for it.  Reportable alignments are
+those that would be reported given the [`-n`], [`-v`], [`-l`], [`-e`], [`-k`],
+[`-a`], [`--best`], and [`--strata`] options.  Default: no limit.  Bowtie is
+designed to be very fast for small [`-m`] but bowtie can become
+significantly slower for larger values of [`-m`].  If you would like to
+use Bowtie for larger values of [`-k`], consider building an index with a
+denser suffix-array sample, i.e. specify a smaller [`-o`/`--offrate`](#bowtie-build-options-o) when
+invoking `bowtie-build` for the relevant index (see the [Performance
+tuning] section for details).
+
+</td></tr><tr><td id="bowtie-options-M">
+
+[`-M`]: #bowtie-options-M
+
+    -M <int>
+
+</td><td>
+
+Behaves like [`-m`] except that if a read has more than `<int>`
+reportable alignments, one is reported at random.  In [default
+output mode], the selected alignment's 7th column is set to `<int>`+1 to
+indicate the read has at least `<int>`+1 valid alignments.  In
+[`-S`/`--sam`] mode, the selected alignment is given a `MAPQ` (mapping
+quality) of 0 and the `XM:I` field is set to `<int>`+1.  This option
+requires [`--best`]; if specified without [`--best`], [`--best`] is enabled
+automatically.
+
+[default output mode]: #default-bowtie-output
+
+</td></tr><tr><td id="bowtie-options-best">
+
+[`--best`]: #bowtie-options-best
+
+    --best
+
+</td><td>
+
+Make Bowtie guarantee that reported singleton alignments are "best" in
+terms of stratum (i.e. number of mismatches, or mismatches in the seed
+in the case of [`-n`] mode) and in terms of the quality values at the
+mismatched position(s).  Stratum always trumps quality; e.g. a
+1-mismatch alignment where the mismatched position has [Phred quality]
+40 is preferred over a 2-mismatch alignment where the mismatched
+positions both have [Phred quality] 10.  When [`--best`] is not
+specified, Bowtie may report alignments that are sub-optimal in terms
+of stratum and/or quality (though an effort is made to report the best
+alignment).  [`--best`] mode also removes all strand bias.  Note that
+[`--best`] does not affect which alignments are considered "valid" by
+`bowtie`, only which valid alignments are reported by `bowtie`.  When
+[`--best`] is specified and multiple hits are allowed (via [`-k`] or
+[`-a`]), the alignments for a given read are guaranteed to appear in
+best-to-worst order in `bowtie`'s output.  `bowtie` is somewhat slower
+when [`--best`] is specified.
+
+</td></tr><tr><td id="bowtie-options-strata">
+
+[`--strata`]: #bowtie-options-strata
+
+    --strata
+
+</td><td>
+
+If many valid alignments exist and are reportable (e.g. are not
+disallowed via the [`-k`] option) and they fall into more than one
+alignment "stratum", report only those alignments that fall into the
+best stratum.  By default, Bowtie reports all reportable alignments
+regardless of whether they fall into multiple strata.  When
+[`--strata`] is specified, [`--best`] must also be specified. 
+
+</td></tr>
+</table>
+
+#### Output
+
+<table>
+
+<tr><td id="bowtie-options-t">
+
+[`-t`/`--time`]: #bowtie-options-t
+[`-t`]: #bowtie-options-t
+
+    -t/--time
+
+</td><td>
+
+Print the amount of wall-clock time taken by each phase.
+
+</td></tr><tr><td  id="bowtie-options-B">
+
+[`-B`/`--offbase`]: #bowtie-options-B
+[`-B`]: #bowtie-options-B
+
+    -B/--offbase <int>
+
+</td><td>
+
+When outputting alignments, number the first base of a reference
+sequence as `<int>`.  Default: 0.
+
+</td></tr><tr><td id="bowtie-options-quiet">
+
+[`--quiet`]: #bowtie-options-quiet
+
+    --quiet
+
+</td><td>
+
+Print nothing besides alignments.
+
+</td></tr><tr><td id="bowtie-options-refout">
+
+[`--refout`]: #bowtie-options-refout
+
+    --refout
+
+</td><td>
+
+Write alignments to a set of files named `refXXXXX.map`, where `XXXXX`
+is the 0-padded index of the reference sequence aligned to.  This can
+be a useful way to break up work for downstream analyses when dealing
+with, for example, large numbers of reads aligned to the assembled
+human genome.  If `<hits>` is also specified, it will be ignored.
+
+</td></tr><tr><td id="bowtie-options-refidx">
+
+[`--refidx`]: #bowtie-options-refidx
+
+    --refidx
+
+</td><td>
+
+When a reference sequence is referred to in a reported alignment, refer
+to it by 0-based index (its offset into the list of references that
+were indexed) rather than by name.
+
+</td></tr><tr><td id="bowtie-options-al">
+
+[`--al`]: #bowtie-options-al
+
+    --al <filename>
+
+</td><td>
+
+Write all reads for which at least one alignment was reported to a file
+with name `<filename>`.  Written reads will appear as they did in the
+input, without any of the trimming or translation of quality values
+that may have taken place within `bowtie`.  Paired-end reads will be
+written to two parallel files with `_1` and `_2` inserted in the
+filename, e.g., if `<filename>` is `aligned.fq`, the #1 and #2 mates
+that fail to align will be written to `aligned_1.fq` and `aligned_2.fq`
+respectively.
+
+</td></tr><tr><td id="bowtie-options-un">
+
+[`--un`]: #bowtie-options-un
+
+    --un <filename>
+
+</td><td>
+
+Write all reads that could not be aligned to a file with name
+`<filename>`.  Written reads will appear as they did in the input,
+without any of the trimming or translation of quality values that may
+have taken place within Bowtie.  Paired-end reads will be written to
+two parallel files with `_1` and `_2` inserted in the filename, e.g.,
+if `<filename>` is `unaligned.fq`, the #1 and #2 mates that fail to
+align will be written to `unaligned_1.fq` and `unaligned_2.fq`
+respectively.  Unless [`--max`] is also specified, reads with a number
+of valid alignments exceeding the limit set with the [`-m`] option are
+also written to `<filename>`.
+
+</td></tr><tr><td id="bowtie-options-max">
+
+[`--max`]: #bowtie-options-max
+
+    --max <filename>
+
+</td><td>
+
+Write all reads with a number of valid alignments exceeding the limit
+set with the [`-m`] option to a file with name `<filename>`.  Written
+reads will appear as they did in the input, without any of the trimming
+or translation of quality values that may have taken place within
+`bowtie`.  Paired-end reads will be written to two parallel files with
+`_1` and `_2` inserted in the filename, e.g., if `<filename>` is
+`max.fq`, the #1 and #2 mates that exceed the [`-m`] limit will be
+written to `max_1.fq` and `max_2.fq` respectively.  These reads are not
+written to the file specified with [`--un`].
+
+</td></tr><tr><td id="bowtie-options-suppress">
+
+[`--suppress`]: #bowtie-options-suppress
+
+    --suppress <cols>
+
+</td><td>
+
+Suppress columns of output in the [default output mode].  E.g. if
+`--suppress 1,5,6` is specified, the read name, read sequence, and read
+quality fields will be omitted.  See [Default Bowtie output] for field
+descriptions.  This option is ignored if the output mode is
+[`-S`/`--sam`].
+
+</td></tr>
+<tr><td id="bowtie-options-fullref">
+
+[`--fullref`]: #bowtie-options-fullref
+
+    --fullref
+
+</td><td>
+
+Print the full refernce sequence name, including whitespace, in
+alignment output.  By default `bowtie` prints everything up to but not
+including the first whitespace.
+
+</td></tr></table>
+
+#### Colorspace
+
+<table>
+<tr><td id="bowtie-options-snpphred">
+
+[`--snpphred`]: #bowtie-options-snpphred
+
+    --snpphred <int>
+
+</td><td>
+
+When decoding colorspace alignments, use `<int>` as the SNP penalty.
+This should be set to the user's best guess of the true ratio of SNPs
+per base in the subject genome, converted to the [Phred quality] scale.
+E.g., if the user expects about 1 SNP every 1,000 positions,
+`--snpphred` should be set to 30 (which is also the default).  To
+specify the fraction directly, use [`--snpfrac`].
+
+</td></tr>
+<tr><td id="bowtie-options-snpfrac">
+
+[`--snpfrac`]: #bowtie-options-snpfrac
+
+    --snpfrac <dec>
+
+</td><td>
+
+When decoding colorspace alignments, use `<dec>` as the estimated ratio
+of SNPs per base.  For best decoding results, this should be set to the
+user's best guess of the true ratio.  `bowtie` internally converts the
+ratio to a [Phred quality], and behaves as if that quality had been set
+via the [`--snpphred`] option.  Default: 0.001.
+
+</td></tr>
+<tr><td id="bowtie-options-col-cseq">
+
+[`--col-cseq`]: #bowtie-options-col-cseq
+
+    --col-cseq
+
+</td><td>
+
+If reads are in colorspace and the [default output mode] is active,
+`--col-cseq` causes the reads' color sequence to appear in the
+read-sequence column (column 5) instead of the decoded nucleotide
+sequence.  See the [Decoding colorspace alignments] section for details
+about decoding.  This option is ignored in [`-S`/`--sam`] mode.
+
+</td></tr>
+<tr><td id="bowtie-options-col-cqual">
+
+[`--col-cqual`]: #bowtie-options-col-cqual
+
+    --col-cqual
+
+</td><td>
+
+If reads are in colorspace and the [default output mode] is active,
+`--col-cqual` causes the reads' original (color) quality sequence to
+appear in the quality column (column 6) instead of the decoded
+qualities.  See the [Colorspace alignment] section for details about
+decoding.  This option is ignored in [`-S`/`--sam`] mode.
+
+</td></tr>
+<tr><td id="bowtie-options-col-keepends">
+
+[`--col-keepends`]: #bowtie-options-col-keepends
+
+    --col-keepends
+
+</td><td>
+
+When decoding colorpsace alignments, `bowtie` trims off a nucleotide
+and quality from the left and right edges of the alignment.  This is
+because those nucleotides are supported by only one color, in contrast
+to the middle nucleotides which are supported by two.  Specify
+`--col-keepends` to keep the extreme-end nucleotides and qualities.
+
+</td></tr>
+</table>
+
+#### SAM
+
+<table>
+
+<tr><td id="bowtie-options-S">
+
+[`-S`/`--sam`]: #bowtie-options-S
+[`-S`]: #bowtie-options-S
+
+    -S/--sam
+
+</td><td>
+
+Print alignments in [SAM] format.  See the [SAM output] section of the
+manual for details.  To suppress all SAM headers, use [`--sam-nohead`]
+in addition to `-S/--sam`.  To suppress just the `@SQ` headers (e.g. if
+the alignment is against a very large number of reference sequences),
+use [`--sam-nosq`] in addition to `-S/--sam`.  `bowtie` does not write
+BAM files directly, but SAM output can be converted to BAM on the fly
+by piping `bowtie`'s output to `samtools view`.  [`-S`/`--sam`] is not
+compatible with [`--refout`].
+
+[SAM output]: #sam-bowtie-output
+
+</td></tr><tr><td id="bowtie-options-mapq">
+
+[`--mapq`]: #bowtie-options-mapq
+
+    --mapq <int>
+
+</td><td>
+
+If an alignment is non-repetitive (according to [`-m`], [`--strata`] and
+other options) set the `MAPQ` (mapping quality) field to this value.
+See the [SAM Spec][SAM] for details about the `MAPQ` field  Default: 255.
+
+</td></tr><tr><td id="bowtie-options-sam-nohead">
+
+[`--sam-nohead`]: #bowtie-options-sam-nohead
+
+    --sam-nohead
+
+</td><td>
+
+Suppress header lines (starting with `@`) when output is [`-S`/`--sam`].
+This must be specified *in addition to* [`-S`/`--sam`].  `--sam-nohead`
+is ignored unless [`-S`/`--sam`] is also specified.
+
+</td></tr><tr><td id="bowtie-options-sam-nosq">
+
+[`--sam-nosq`]: #bowtie-options-sam-nosq
+
+    --sam-nosq
+
+</td><td>
+
+Suppress `@SQ` header lines when output is [`-S`/`--sam`].  This must be
+specified *in addition to* [`-S`/`--sam`].  `--sam-nosq` is ignored
+unless [`-S`/`--sam`] is also specified.
+
+</td></tr><tr><td id="bowtie-options-sam-RG">
+
+[`--sam-RG`]: #bowtie-options-sam-RG
+
+    --sam-RG <text>
+
+</td><td>
+
+Add `<text>` (usually of the form `TAG:VAL`, e.g. `ID:IL7LANE2`) as a
+field on the `@RG` header line.  Specify `--sam-RG` multiple times to
+set multiple fields.  See the [SAM Spec][SAM] for details about what fields
+are legal.  Note that, if any `@RG` fields are set using this option,
+the `ID` and `SM` fields must both be among them to make the `@RG` line
+legal according to the [SAM Spec][SAM].  `--sam-RG` is ignored unless
+[`-S`/`--sam`] is also specified.
+
+</td></tr></table>
+
+#### Performance
+
+<table><tr>
+
+<td id="bowtie-options-o">
+
+[`-o`/`--offrate`]: #bowtie-options-o
+[`-o`]: #bowtie-options-o
+[`--offrate`]: #bowtie-options-o
+
+    -o/--offrate <int>
+
+</td><td>
+
+Override the offrate of the index with `<int>`.  If `<int>` is greater
+than the offrate used to build the index, then some row markings are
+discarded when the index is read into memory.  This reduces the memory
+footprint of the aligner but requires more time to calculate text
+offsets.  `<int>` must be greater than the value used to build the
+index.
+
+</td></tr><tr><td id="bowtie-options-p">
+
+[`-p`/`--threads`]: #bowtie-options-p
+[`-p`]: #bowtie-options-p
+
+    -p/--threads <int>
+
+</td><td>
+
+Launch `<int>` parallel search threads (default: 1).  Threads will run
+on separate processors/cores and synchronize when parsing reads and
+outputting alignments.  Searching for alignments is highly parallel,
+and speedup is fairly close to linear.  This option is only available
+if `bowtie` is linked with the `pthreads` library (i.e. if
+`BOWTIE_PTHREADS=0` is not specified at build time).
+
+</td></tr><tr><td id="bowtie-options-mm">
+
+[`--mm`]: #bowtie-options-mm
+
+    --mm
+
+</td><td>
+
+Use memory-mapped I/O to load the index, rather than normal C file I/O.
+Memory-mapping the index allows many concurrent `bowtie` processes on
+the same computer to share the same memory image of the index (i.e. you
+pay the memory overhead just once).  This facilitates memory-efficient
+parallelization of `bowtie` in situations where using [`-p`] is not
+possible.
+
+</td></tr><tr><td id="bowtie-options-shmem">
+
+[`--shmem`]: #bowtie-options-shmem
+
+    --shmem
+
+</td><td>
+
+Use shared memory to load the index, rather than normal C file I/O.
+Using shared memory allows many concurrent bowtie processes on the same
+computer to share the same memory image of the index (i.e. you pay the
+memory overhead just once).  This facilitates memory-efficient
+parallelization of `bowtie` in situations where using [`-p`] is not
+desirable.  Unlike [`--mm`], `--shmem` installs the index into shared
+memory permanently, or until the user deletes the shared memory chunks
+manually.  See your operating system documentation for details on how
+to manually list and remove shared memory chunks (on Linux and Mac OS
+X, these commands are `ipcs` and `ipcrm`).  You may also need to
+increase your OS's maximum shared-memory chunk size to accomodate
+larger indexes; see your OS documentation.
+
+</td></tr></table>
+
+#### Other
+
+<table><tr><td id="bowtie-options-seed">
+
+[`--seed`]: #bowtie-options-seed
+
+    --seed <int>
+
+</td><td>
+
+Use `<int>` as the seed for pseudo-random number generator.
+
+</td></tr><tr><td id="bowtie-options-verbose">
+
+[`--verbose`]: #bowtie-options-verbose
+
+    --verbose
+
+</td><td>
+
+Print verbose output (for debugging).
+
+</td></tr><tr><td id="bowtie-options-version">
+
+[`--version`]: #bowtie-options-version
+
+    --version
+
+</td><td>
+
+Print version information and quit.
+
+</td></tr><tr><td id="bowtie-options-h">
+
+    -h/--help
+
+</td><td>
+
+Print usage information and quit.
+
+</td></tr></table>
+
+Default `bowtie` output
+-----------------------
+
+[Default Bowtie output]: #default-bowtie-output
+
+`bowtie` outputs one alignment per line.  Each line is a collection of
+8 fields separated by tabs; from left to right, the fields are:
+
+1.  Name of read that aligned
+
+2.  Reference strand aligned to, `+` for forward strand, `-` for
+    reverse
+
+3.  Name of reference sequence where alignment occurs, or numeric ID if
+    no name was provided
+
+4.  0-based offset into the forward reference strand where leftmost
+    character of the alignment occurs
+
+5.  Read sequence (reverse-complemented if orientation is `-`).
+    
+    If the read was in colorspace, then the sequence shown in this
+    column is the sequence of *decoded nucleotides*, not the original
+    colors.  See the [Colorspace alignment] section for details about
+    decoding.  To display colors instead, use the [`--col-cseq`] option.
+
+6.  ASCII-encoded read qualities (reversed if orientation is `-`).  The
+    encoded quality values are on the Phred scale and the encoding is
+    ASCII-offset by 33 (ASCII char `!`).
+    
+    If the read was in colorspace, then the qualities shown in this
+    column are the *decoded qualities*, not the original qualities.
+    See the [Colorspace alignment] section for details about decoding.
+    To display colors instead, use the [`--col-cqual`] option.
+
+7.  If [`-M`] was specified and the prescribed ceiling was exceeded for
+    this read, this column contains the value of the ceiling,
+    indicating that at least that many valid alignments were found in
+    addition to the one reported.
+    
+    Otherwise, this column contains the number of other instances where
+    the same sequence aligned against the same reference characters as
+    were aligned against in the reported alignment.  This is *not* the
+    number of other places the read aligns with the same number of
+    mismatches.  The number in this column is generally not a good
+    proxy for that number (e.g., the number in this column may be '0'
+    while the number of other alignments with the same number of
+    mismatches might be large).
+
+8.  Comma-separated list of mismatch descriptors.  If there are no
+    mismatches in the alignment, this field is empty.  A single
+    descriptor has the format offset:reference-base>read-base.  The
+    offset is expressed as a 0-based offset from the high-quality (5')
+    end of the read. 
+
+SAM `bowtie` output
+-------------------
+
+Following is a brief description of the [SAM] format as output by
+`bowtie` when the [`-S`/`--sam`] option is specified.  For more
+details, see the [SAM format specification][SAM].
+
+When [`-S`/`--sam`] is specified, `bowtie` prints a SAM header with
+`@HD`, `@SQ` and `@PG` lines.  When one or more [`--sam-RG`] arguments
+are specified, `bowtie` will also print an `@RG` line that includes all
+user-specified [`--sam-RG`] tokens separated by tabs.
+
+Each subsequnt line corresponds to a read or an alignment.  Each line
+is a collection of at least 12 fields separated by tabs; from left to
+right, the fields are:
+
+1.  Name of read that aligned
+
+2.  Sum of all applicable flags.  Flags relevant to Bowtie are:
+
+    <table><tr><td>
+
+        1
+
+    </td><td>
+
+    The read is one of a pair
+
+    </td></tr><tr><td>
+
+        2
+
+    </td><td>
+
+    The alignment is one end of a proper paired-end alignment
+
+    </td></tr><tr><td>
+
+        4
+
+    </td><td>
+
+    The read has no reported alignments
+
+    </td></tr><tr><td>
+
+        8
+
+    </td><td>
+
+    The read is one of a pair and has no reported alignments
+
+    </td></tr><tr><td>
+
+        16
+
+    </td><td>
+
+    The alignment is to the reverse reference strand
+
+    </td></tr><tr><td>
+
+        32
+
+    </td><td>
+
+    The other mate in the paired-end alignment is aligned to the
+    reverse reference strand
+
+    </td></tr><tr><td>
+
+        64
+
+    </td><td>
+
+    The read is the first (#1) mate in a pair
+
+    </td></tr><tr><td>
+
+        128
+
+    </td><td>
+
+    The read is the second (#2) mate in a pair
+
+    </td></tr></table>
+
+    Thus, an unpaired read that aligns to the reverse reference strand
+    will have flag 16.  A paired-end read that aligns and is the first
+    mate in the pair will have flag 83 (= 64 + 16 + 2 + 1).
+
+3.  Name of reference sequence where alignment occurs, or ordinal ID
+    if no name was provided
+
+4.  1-based offset into the forward reference strand where leftmost
+    character of the alignment occurs
+
+5.  Mapping quality
+
+6.  CIGAR string representation of alignment
+
+7.  Name of reference sequence where mate's alignment occurs.  Set to
+    `=` if the mate's reference sequence is the same as this
+    alignment's, or `*` if there is no mate.
+
+8.  1-based offset into the forward reference strand where leftmost
+    character of the mate's alignment occurs.  Offset is 0 if there is
+    no mate.
+
+9.  Inferred insert size.  Size is negative if the mate's alignment
+    occurs upstream of this alignment.  Size is 0 if there is no mate.
+
+10. Read sequence (reverse-complemented if aligned to the reverse
+    strand)
+
+11. ASCII-encoded read qualities (reverse-complemented if the read
+    aligned to the reverse strand).  The encoded quality values are on
+    the [Phred quality] scale and the encoding is ASCII-offset by 33
+    (ASCII char `!`), similarly to a [FASTQ] file. 
+
+12. Optional fields.  Fields are tab-separated.  For descriptions of
+    all possible optional fields, see the SAM format specification.
+    `bowtie` outputs some of these optional fields for each alignment,
+    depending on the type of the alignment:
+
+    <table><tr><td>
+
+        NM:i:<N>
+
+    </td><td>
+
+    Aligned read has an edit distance of `<N>`.
+
+    </td></tr><tr><td>
+
+        CM:i:<N>
+
+    </td><td>
+
+    Aligned read has an edit distance of `<N>` in colorspace.  This
+    field is present in addition to the `NM` field in [`-C`/`--color`]
+    mode, but is omitted otherwise.
+
+    </td></tr><tr><td>
+
+        MD:Z:<S>
+
+    </td><td>
+
+    For aligned reads, `<S>` is a string representation of the
+    mismatched reference bases in the alignment.  See [SAM] format
+    specification for details.  For colorspace alignments, `<S>`
+    describes the decoded *nucleotide* alignment, not the colorspace
+    alignment.
+
+    </td></tr><tr><td>
+
+        XA:i:<N>
+
+    </td><td>
+
+    Aligned read belongs to stratum `<N>`.  See [Strata] for definition.
+
+[Strata]: #strata
+
+    </td></tr><tr><td>
+
+        XM:i:<N>
+
+    </td><td>
+
+    For a read with no reported alignments, `<N>` is 0 if the read had
+    no alignments.  If [`-m`] was specified and the read's alignments
+    were supressed because the [`-m`] ceiling was exceeded, `<N>` equals
+    the [`-m`] ceiling + 1, to indicate that there were at least that
+    many valid alignments (but all were suppressed).  In [`-M`] mode, if
+    the alignment was randomly selected because the [`-M`] ceiling was
+    exceeded, `<N>` equals the [`-M`] ceiling + 1, to indicate that there
+    were at least that many valid alignments (of which one was reported
+    at random).
+
+    </td></tr></table>
+
+[SAM format specification]: http://samtools.sf.net/SAM1.pdf
+[FASTQ]: http://en.wikipedia.org/wiki/FASTQ_format
+[`-S`/`--sam`]: #bowtie-options-S
+[`-m`]: #bowtie-options-m
+
+The `bowtie-build` indexer
+==========================
+
+`bowtie-build` builds a Bowtie index from a set of DNA sequences.
+`bowtie-build` outputs a set of 6 files with suffixes
+`.1.ebwt`, `.2.ebwt`, `.3.ebwt`, `.4.ebwt`, `.rev.1.ebwt`, and
+`.rev.2.ebwt`.  These files together constitute the index: they are all
+that is needed to align reads to that reference.  The original sequence
+files are no longer used by Bowtie once the index is built.  
+
+Use of Karkkainen's [blockwise algorithm] allows `bowtie-build` to
+trade off between running time and memory usage. `bowtie-build` has
+three options governing how it makes this trade: [`-p`/`--packed`],
+[`--bmax`]/[`--bmaxdivn`], and [`--dcv`].  By default, `bowtie-build` will
+automatically search for the settings that yield the best
+ running time without exhausting memory.  This behavior can be disabled
+ using the [`-a`/`--noauto`] option.
+
+The indexer provides options pertaining to the "shape" of the index,
+e.g. [`--offrate`](#bowtie-build-options-o) governs the fraction of [Burrows-Wheeler] rows that
+are "marked" (i.e., the density of the suffix-array sample; see the
+original [FM Index] paper for details).  All of these options are
+potentially profitable trade-offs depending on the application.  They
+have been set to defaults that are reasonable for most cases according
+to our experiments.  See [Performance Tuning] for details.
+
+Because `bowtie-build` uses 32-bit pointers internally, it can handle
+up to a theoretical maximum of 2^32-1 (somewhat more than 4 billion)
+characters in an index, though, with other constraints, the actual
+ceiling is somewhat less than that.  If your reference exceeds 2^32-1
+characters, `bowtie-build` will print an error message and abort.  To
+resolve this, divide your reference sequences into smaller batches
+and/or chunks and build a separate index for each.
+
+If your computer has more than 3-4 GB of memory and you would like to
+exploit that fact to make index building faster, use a 64-bit version
+of the `bowtie-build` binary.  The 32-bit version of the binary is
+restricted to using less than 4 GB of memory.  If a 64-bit pre-built
+binary does not yet exist for your platform on the sourceforge download
+site, you will need to build one from source.
+
+The Bowtie index is based on the [FM Index] of Ferragina and Manzini,
+which in turn is based on the [Burrows-Wheeler] transform.  The
+algorithm used to build the index is based on the [blockwise algorithm]
+of Karkkainen.
+
+[Blockwise algorithm]: http://portal.acm.org/citation.cfm?id=1314852
+[FM Index]: http://portal.acm.org/citation.cfm?id=796543
+[Burrows-Wheeler]: http://en.wikipedia.org/wiki/Burrows-Wheeler_transform
+
+Command Line
+------------
+
+Usage:
+
+    bowtie-build [options]* <reference_in> <ebwt_base>
+
+### Main arguments
+
+<table><tr><td>
+
+    <reference_in>
+
+</td><td>
+
+A comma-separated list of FASTA files containing the reference
+sequences to be aligned to, or, if [`-c`](#bowtie-build-options-c) is specified, the sequences
+themselves. E.g., `<reference_in>` might be
+`chr1.fa,chr2.fa,chrX.fa,chrY.fa`, or, if [`-c`](#bowtie-build-options-c) is specified, this might
+be `GGTCATCCT,ACGGGTCGT,CCGTTCTATGCGGCTTA`.
+
+</td></tr><tr><td>
+
+    <ebwt_base>
+
+</td><td>
+
+The basename of the index files to write.  By default, `bowtie-build`
+writes files named `NAME.1.ebwt`, `NAME.2.ebwt`, `NAME.3.ebwt`,
+`NAME.4.ebwt`, `NAME.rev.1.ebwt`, and `NAME.rev.2.ebwt`, where `NAME`
+is `<ebwt_base>`.
+
+</td></tr></table>
+
+### Options
+
+<table><tr><td>
+
+    -f
+
+</td><td>
+
+The reference input files (specified as `<reference_in>`) are FASTA
+files (usually having extension `.fa`, `.mfa`, `.fna` or similar).
+
+</td></tr><tr><td id="bowtie-build-options-c">
+
+    -c
+
+</td><td>
+
+The reference sequences are given on the command line.  I.e.
+`<reference_in>` is a comma-separated list of sequences rather than a
+list of FASTA files.
+
+</td></tr><tr><td id="bowtie-build-options-C">
+
+    -C/--color
+
+</td><td>
+
+Build a colorspace index, to be queried using `bowtie` [`-C`].
+
+</td></tr><tr><td id="bowtie-build-options-a">
+
+[`-a`/`--noauto`]: #bowtie-build-options-a
+
+    -a/--noauto
+
+</td><td>
+
+Disable the default behavior whereby `bowtie-build` automatically
+selects values for the [`--bmax`], [`--dcv`] and [`--packed`] parameters
+according to available memory.  Instead, user may specify values for
+those parameters.  If memory is exhausted during indexing, an error
+message will be printed; it is up to the user to try new parameters.
+
+</td></tr><tr><td id="bowtie-build-options-p">
+
+[`--packed`]: #bowtie-build-options-p
+[`-p`/`--packed`]: #bowtie-build-options-p
+
+    -p/--packed
+
+</td><td>
+
+Use a packed (2-bits-per-nucleotide) representation for DNA strings.
+This saves memory but makes indexing 2-3 times slower.  Default: off.
+This is configured automatically by default; use [`-a`/`--noauto`] to
+configure manually.
+
+</td></tr><tr><td id="bowtie-build-options-bmax">
+
+[`--bmax`]: #bowtie-build-options-bmax
+
+    --bmax <int>
+
+</td><td>
+
+The maximum number of suffixes allowed in a block.  Allowing more
+suffixes per block makes indexing faster, but increases peak memory
+usage.  Setting this option overrides any previous setting for
+[`--bmax`], or [`--bmaxdivn`].  Default (in terms of the [`--bmaxdivn`]
+parameter) is [`--bmaxdivn`] 4.  This is configured automatically by
+default; use [`-a`/`--noauto`] to configure manually.
+
+</td></tr><tr><td id="bowtie-build-options-bmaxdivn">
+
+[`--bmaxdivn`]: #bowtie-build-options-bmaxdivn
+
+    --bmaxdivn <int>
+
+</td><td>
+
+The maximum number of suffixes allowed in a block, expressed as a
+fraction of the length of the reference.  Setting this option overrides
+any previous setting for [`--bmax`], or [`--bmaxdivn`].  Default:
+[`--bmaxdivn`] 4.  This is configured automatically by default; use
+[`-a`/`--noauto`] to configure manually.
+
+</td></tr><tr><td id="bowtie-build-options-dcv">
+
+[`--dcv`]: #bowtie-build-options-dcv
+
+    --dcv <int>
+
+</td><td>
+
+Use `<int>` as the period for the difference-cover sample.  A larger
+period yields less memory overhead, but may make suffix sorting slower,
+especially if repeats are present.  Must be a power of 2 no greater
+than 4096.  Default: 1024.  This is configured automatically by
+default; use [`-a`/`--noauto`] to configure manually.
+
+</td></tr><tr><td id="bowtie-build-options-nodc">
+
+[`--nodc`]: #bowtie-build-options-nodc
+
+    --nodc
+
+</td><td>
+
+Disable use of the difference-cover sample.  Suffix sorting becomes
+quadratic-time in the worst case (where the worst case is an extremely
+repetitive reference).  Default: off.
+
+</td></tr><tr><td>
+
+    -r/--noref
+
+</td><td>
+
+Do not build the `NAME.3.ebwt` and `NAME.4.ebwt` portions of the index,
+which contain a bitpacked version of the reference sequences and are
+used for paired-end alignment.
+
+</td></tr><tr><td>
+
+    -3/--justref
+
+</td><td>
+
+Build *only* the `NAME.3.ebwt` and `NAME.4.ebwt` portions of the index,
+which contain a bitpacked version of the reference sequences and are
+used for paired-end alignment.
+
+</td></tr><tr><td id="bowtie-build-options-o">
+
+    -o/--offrate <int>
+
+</td><td>
+
+To map alignments back to positions on the reference sequences, it's
+necessary to annotate ("mark") some or all of the [Burrows-Wheeler]
+rows with their corresponding location on the genome.  [`-o`/`--offrate`](#bowtie-build-options-o)
+governs how many rows get marked: the indexer will mark every 2^`<int>`
+rows.  Marking more rows makes reference-position lookups faster, but
+requires more memory to hold the annotations at runtime.  The default
+is 5 (every 32nd row is marked; for human genome, annotations occupy
+about 340 megabytes).  
+
+</td></tr><tr><td>
+
+    -t/--ftabchars <int>
+
+</td><td>
+
+The ftab is the lookup table used to calculate an initial
+[Burrows-Wheeler] range with respect to the first `<int>` characters
+of the query.  A larger `<int>` yields a larger lookup table but faster
+query times.  The ftab has size 4^(`<int>`+1) bytes.  The default
+setting is 10 (ftab is 4MB).
+
+</td></tr><tr><td id="bowtie-build-options-ntoa">
+
+    --ntoa
+
+</td><td>
+
+Convert Ns in the reference sequence to As before building the index.
+By default, Ns are simply excluded from the index and `bowtie` will not
+report alignments that overlap them.
+
+</td></tr><tr><td id="bowtie-build-options-big-little">
+
+    --big --little
+
+</td><td>
+
+Endianness to use when serializing integers to the index file.
+Default: little-endian (recommended for Intel- and AMD-based
+architectures).
+
+</td></tr><tr><td id="bowtie-build-options-seed">
+
+    --seed <int>
+
+</td><td>
+
+Use `<int>` as the seed for pseudo-random number generator.
+
+</td></tr><tr><td>
+
+    --cutoff <int>
+
+</td><td>
+
+Index only the first `<int>` bases of the reference sequences
+(cumulative across sequences) and ignore the rest.
+
+</td></tr><tr><td>
+
+    -q/--quiet
+
+</td><td>
+
+`bowtie-build` is verbose by default.  With this option `bowtie-build`
+will print only error messages.
+
+</td></tr><tr><td>
+
+    -h/--help
+
+</td><td>
+
+Print usage information and quit.
+
+</td></tr><tr><td>
+
+    --version
+
+</td><td>
+
+Print version information and quit.
+
+</td></tr></table>
+
+The `bowtie-inspect` index inspector
+====================================
+
+`bowtie-inspect` extracts information from a Bowtie index about what
+kind of index it is and what reference sequences were used to build it.
+When run without any options, the tool will output a FASTA file
+containing the sequences of the original references (with all
+non-`A`/`C`/`G`/`T` characters converted to `N`s).  It can also be used
+to extract just the reference sequence names using the [`-n`/`--names`]
+option or a more verbose summary using the [`-s`/`--summary`] option.
+
+Command Line
+------------
+
+Usage:
+
+    bowtie-inspect [options]* <ebwt_base>
+
+### Main arguments
+
+<table><tr><td>
+
+    <ebwt_base>
+
+</td><td>
+
+The basename of the index to be inspected.  The basename is name of any
+of the index files but with the `.X.ebwt` or `.rev.X.ebwt` suffix
+omitted.  `bowtie-inspect` first looks in the current directory for the
+index files, then looks in the `indexes` subdirectory under the
+directory where the currently-running `bowtie` executable is located,
+then looks in the directory specified in the `BOWTIE_INDEXES`
+environment variable.
+
+</td></tr></table>
+
+### Options
+
+<table><tr><td>
+
+    -a/--across <int>
+
+</td><td>
+
+When printing FASTA output, output a newline character every `<int>`
+bases (default: 60).
+
+</td></tr><tr><td id="bowtie-build-options-n">
+
+[`-n`/`--names`]: #bowtie-build-options-n
+
+    -n/--names
+
+</td><td>
+
+Print reference sequence names, one per line, and quit.
+
+</td></tr><tr><td id="bowtie-inspect-options-s">
+
+[`-s`/`--summary`]: #bowtie-inspect-options-s
+
+    -s/--summary
+
+</td><td>
+
+Print a summary that includes information about index settings, as well
+as the names and lengths of the input sequences.  The summary has this
+format:
+
+    Colorspace <0 or 1>
+    SA-Sample  1 in <sample>
+    FTab-Chars <chars>
+    Sequence-1 <name>  <len>
+    Sequence-2 <name>  <len>
+    ...
+    Sequence-N <name>  <len>
+
+Fields are separated by tabs.
+
+</td></tr><tr><td id="bowtie-inspect-options-e">
+
+[`-e`/`--ebwt-ref`]: #bowtie-inspect-options-e
+
+    -e/--ebwt-ref
+
+</td><td>
+
+By default, when `bowtie-inspect` is run without [`-s`] or [`-n`], it
+recreates the reference nucleotide sequences using the bit-encoded
+reference nucleotides kept in the `.3.ebwt` and `.4.ebwt` index files.
+When `-e/--ebwt-ref` is specified, `bowtie-inspect` recreates the
+reference sequences from the Burrows-Wheeler-transformed reference
+sequence in the `.1.ebwt` file instead.  The reference recreation
+process is much slower when `-e/--ebwt-ref` is specified.  Also, when
+`-e/--ebwt-ref` is specified and the index is in colorspace, the
+reference is printed in colors (A=blue, C=green, G=orange, T=red).
+
+</td></tr><tr><td>
+
+    -v/--verbose
+
+</td><td>
+
+Print verbose output (for debugging).
+
+</td></tr><tr><td>
+
+    --version
+
+</td><td>
+
+Print version information and quit.
+
+</td></tr><tr><td>
+
+    -h/--help
+
+</td><td>
+
+Print usage information and quit.
+
+</td></tr></table>
+
diff --git a/Makefile b/Makefile
new file mode 100644 (file)
index 0000000..b1a2c76
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,329 @@
+#
+# Makefile for bowtie, bowtie-build, bowtie-inspect
+#
+
+SEQAN_DIR = SeqAn-1.1
+SEQAN_INC = -I $(SEQAN_DIR)
+INC = $(SEQAN_INC)
+GCC_PREFIX = $(shell dirname `which gcc`)
+GCC_SUFFIX =
+CC = $(GCC_PREFIX)/gcc$(GCC_SUFFIX)
+CPP = $(GCC_PREFIX)/g++$(GCC_SUFFIX)
+CXX = $(CPP)
+HEADERS = $(wildcard *.h)
+BOWTIE_PTHREADS = 1
+BOWTIE_MM = 1
+BOWTIE_SHARED_MEM = 1
+EXTRA_FLAGS =
+EXTRA_CFLAGS =
+EXTRA_CXXFLAGS =
+CFLAGS += $(EXTRA_CFLAGS)
+CXXFLAGS += $(EXTRA_CXXFLAGS)
+
+# Detect Cygwin or MinGW
+WINDOWS = 0
+ifneq (,$(findstring CYGWIN,$(shell uname)))
+WINDOWS = 1
+# POSIX memory-mapped files not currently supported on Windows
+BOWTIE_MM = 0
+BOWTIE_SHARED_MEM = 0
+else
+ifneq (,$(findstring MINGW,$(shell uname)))
+WINDOWS = 1
+# POSIX memory-mapped files not currently supported on Windows
+BOWTIE_MM = 0
+BOWTIE_SHARED_MEM = 0
+endif
+endif
+
+MACOS = 0
+ifneq (,$(findstring Darwin,$(shell uname)))
+MACOS = 1
+endif
+
+LINUX = 0
+ifneq (,$(findstring Linux,$(shell uname)))
+LINUX = 1
+EXTRA_FLAGS += -Wl,--hash-style=both
+endif
+
+MM_DEF = 
+ifeq (1,$(BOWTIE_MM))
+MM_DEF = -DBOWTIE_MM
+endif
+SHMEM_DEF = 
+ifeq (1,$(BOWTIE_SHARED_MEM))
+SHMEM_DEF = -DBOWTIE_SHARED_MEM
+endif
+PTHREAD_PKG =
+PTHREAD_LIB =
+PTHREAD_DEF =
+ifeq (1,$(BOWTIE_PTHREADS))
+PTHREAD_DEF = -DBOWTIE_PTHREADS
+ifeq (1,$(WINDOWS))
+# pthreads for windows forces us to be specific about the library
+PTHREAD_LIB = -L . -lpthreadGC2
+PTHREAD_PKG = pthreadGC2.dll
+else
+# There's also -pthread, but that only seems to work on Linux
+PTHREAD_LIB = -lpthread
+endif
+endif
+
+PREFETCH_LOCALITY = 2
+PREF_DEF = -DPREFETCH_LOCALITY=$(PREFETCH_LOCALITY)
+
+LIBS = 
+SEARCH_LIBS = $(PTHREAD_LIB)
+BUILD_LIBS =
+
+OTHER_CPPS = ccnt_lut.cpp ref_read.cpp alphabet.c shmem.cpp \
+             edit.cpp ebwt.cpp
+SEARCH_CPPS = qual.cpp pat.cpp ebwt_search_util.cpp ref_aligner.cpp \
+              log.cpp hit_set.cpp refmap.cpp annot.cpp sam.cpp \
+              color.cpp color_dec.cpp hit.cpp
+SEARCH_CPPS_MAIN = $(SEARCH_CPPS) bowtie_main.cpp
+
+BUILD_CPPS =
+BUILD_CPPS_MAIN = $(BUILD_CPPS) bowtie_build_main.cpp
+
+SEARCH_FRAGMENTS = $(wildcard search_*_phase*.c)
+VERSION = $(shell cat VERSION)
+
+# Convert BITS=?? to a -m flag
+BITS_FLAG =
+ifeq (32,$(BITS))
+BITS_FLAG = -m32
+endif
+ifeq (64,$(BITS))
+BITS_FLAG = -m64
+endif
+
+# Convert CHUD=1 to CHUD-related flags
+CHUD=0
+CHUD_DEF =
+ifeq (1,$(CHUD))
+EXTRA_FLAGS += -g3
+ifeq (1,$(MACOS))
+CHUD_DEF = -F/System/Library/PrivateFrameworks -weak_framework CHUD -DCHUD_PROFILING
+endif
+endif
+
+DEBUG_FLAGS = -O0 -g3 $(BITS_FLAG)
+RELEASE_FLAGS = -O3 $(BITS_FLAG)
+NOASSERT_FLAGS = -DNDEBUG
+FILE_FLAGS = -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE
+
+BIN_LIST = bowtie-build \
+           bowtie \
+           bowtie-inspect
+BIN_LIST_AUX = bowtie-build-debug \
+               bowtie-debug \
+               bowtie-inspect-debug
+
+GENERAL_LIST = $(wildcard scripts/*.sh) \
+               $(wildcard scripts/*.pl) \
+               $(wildcard indexes/e_coli*) \
+               $(wildcard genomes/NC_008253.fna) \
+               $(wildcard reads/e_coli_1000.*) \
+               $(wildcard reads/e_coli_1000_*) \
+               doc/manual.html \
+               doc/README \
+               doc/style.css \
+               reads/e_coli_10000snp.fa \
+               reads/e_coli_10000snp.fq \
+               $(PTHREAD_PKG) \
+               AUTHORS \
+               COPYING \
+               NEWS \
+               MANUAL \
+               MANUAL.markdown \
+               TUTORIAL \
+               VERSION
+
+# This is helpful on Windows under MinGW/MSYS, where Make might go for
+# the Windows FIND tool instead.
+FIND=$(shell which find)
+
+SRC_PKG_LIST = $(wildcard *.h) \
+               $(wildcard *.hh) \
+               $(wildcard *.c) \
+               $(wildcard *.cpp) \
+               $(shell $(FIND) SeqAn-1.1 -name "*.h") \
+               $(shell $(FIND) SeqAn-1.1 -name "*.txt") \
+               doc/strip_markdown.pl \
+               Makefile \
+               $(GENERAL_LIST)
+
+BIN_PKG_LIST = $(GENERAL_LIST)
+
+all: $(BIN_LIST)
+
+allall: $(BIN_LIST) $(BIN_LIST_AUX)
+
+DEFS=-fno-strict-aliasing \
+     -DBOWTIE_VERSION="\"`cat VERSION`\"" \
+     -DBUILD_HOST="\"`hostname`\"" \
+     -DBUILD_TIME="\"`date`\"" \
+     -DCOMPILER_VERSION="\"`$(CXX) -v 2>&1 | tail -1`\"" \
+     $(FILE_FLAGS) \
+     $(PTHREAD_DEF) \
+     $(PREF_DEF) \
+     $(MM_DEF) \
+     $(SHMEM_DEF) \
+     $(CHUD_DEF)
+
+define checksum
+  cat $^ | md5sum | awk '{print $$1}' > .$@.md5
+endef
+
+ALL_FLAGS=$(EXTRA_FLAGS) $(CFLAGS) $(CXXFLAGS)
+DEBUG_DEFS = -DCOMPILER_OPTIONS="\"$(DEBUG_FLAGS) $(ALL_FLAGS)\""
+RELEASE_DEFS = -DCOMPILER_OPTIONS="\"$(RELEASE_FLAGS) $(ALL_FLAGS)\""
+
+#
+# bowtie-build targets
+#
+
+bowtie-build: ebwt_build.cpp $(OTHER_CPPS) $(HEADERS)
+       $(checksum)
+       $(CXX) $(RELEASE_FLAGS) $(RELEASE_DEFS) $(ALL_FLAGS) \
+               -DEBWT_BUILD_HASH=`cat .$@.md5` \
+               $(DEFS) $(NOASSERT_FLAGS) -Wall \
+               $(INC) \
+               -o $@ $< \
+               $(OTHER_CPPS) $(BUILD_CPPS_MAIN) \
+               $(LIBS) $(BUILD_LIBS)
+
+bowtie-build_prof: ebwt_build.cpp $(OTHER_CPPS) $(HEADERS)
+       $(checksum)
+       $(CXX) $(RELEASE_FLAGS) -pg -p -g3 $(RELEASE_DEFS) $(ALL_FLAGS) \
+               -DEBWT_BUILD_HASH=`cat .$@.md5` \
+               $(DEFS) $(NOASSERT_FLAGS) -Wall \
+               $(INC) \
+               -o $@ $< \
+               $(OTHER_CPPS) $(BUILD_CPPS_MAIN) \
+               $(LIBS) $(BUILD_LIBS)
+
+bowtie-build-debug: ebwt_build.cpp $(OTHER_CPPS) $(HEADERS)
+       $(checksum)
+       $(CXX) $(DEBUG_FLAGS) $(DEBUG_DEFS) $(ALL_FLAGS) \
+               -DEBWT_BUILD_HASH=`cat .$@.md5` \
+               $(DEFS) -Wall \
+               $(INC) \
+               -o $@ $< \
+               $(OTHER_CPPS) $(BUILD_CPPS_MAIN) \
+               $(LIBS) $(BUILD_LIBS)
+
+#
+# bowtie targets
+#
+
+bowtie: ebwt_search.cpp $(SEARCH_CPPS) $(OTHER_CPPS) $(HEADERS) $(SEARCH_FRAGMENTS)
+       $(checksum)
+       $(CXX) $(RELEASE_FLAGS) $(RELEASE_DEFS) $(ALL_FLAGS) \
+               -DEBWT_SEARCH_HASH=`cat .$@.md5` \
+               $(DEFS) $(NOASSERT_FLAGS) -Wall \
+               $(INC) \
+               -o $@ $< \
+               $(OTHER_CPPS) $(SEARCH_CPPS_MAIN) \
+               $(LIBS) $(SEARCH_LIBS)
+
+bowtie_prof: ebwt_search.cpp $(SEARCH_CPPS) $(OTHER_CPPS) $(HEADERS) $(SEARCH_FRAGMENTS)
+       $(checksum)
+       $(CXX) $(RELEASE_FLAGS) \
+               $(RELEASE_DEFS) -pg -p -g3 $(ALL_FLAGS) \
+               -DEBWT_SEARCH_HASH=`cat .$@.md5` \
+               $(DEFS) $(NOASSERT_FLAGS) -Wall \
+               $(INC) \
+               -o $@ $< \
+               $(OTHER_CPPS) $(SEARCH_CPPS_MAIN) \
+               $(LIBS) $(SEARCH_LIBS)
+
+bowtie-debug: ebwt_search.cpp $(SEARCH_CPPS) $(OTHER_CPPS) $(HEADERS) $(SEARCH_FRAGMENTS)
+       $(checksum)
+       $(CXX) $(DEBUG_FLAGS) \
+               $(DEBUG_DEFS) $(ALL_FLAGS) \
+               -DEBWT_SEARCH_HASH=`cat .$@.md5` \
+               $(DEFS) -Wall \
+               $(INC) \
+               -o $@ $< \
+               $(OTHER_CPPS) $(SEARCH_CPPS_MAIN) \
+               $(LIBS) $(SEARCH_LIBS)
+
+#
+# bowtie-inspect targets
+#
+
+bowtie-inspect: bowtie_inspect.cpp $(HEADERS) $(OTHER_CPPS)
+       $(checksum)
+       $(CXX) $(RELEASE_FLAGS) \
+               $(RELEASE_DEFS) $(ALL_FLAGS) \
+               -DEBWT_INSPECT_HASH=`cat .$@.md5` \
+               $(DEFS) -Wall \
+               $(INC) -I . \
+               -o $@ $< \
+               $(OTHER_CPPS) \
+               $(LIBS)
+
+bowtie-inspect-debug: bowtie_inspect.cpp $(HEADERS) $(OTHER_CPPS) 
+       $(checksum)
+       $(CXX) $(DEBUG_FLAGS) \
+               $(DEBUG_DEFS) $(ALL_FLAGS) \
+               -DEBWT_INSPECT_HASH=`cat .$@.md5` \
+               $(DEFS) -Wall \
+               $(INC) -I . \
+               -o $@ $< \
+               $(OTHER_CPPS) \
+               $(LIBS)
+
+chaincat: chaincat.cpp hit_set.h filebuf.h hit_set.cpp alphabet.h alphabet.c
+       $(CXX) $(DEBUG_FLAGS) $(DEBUG_DEFS) $(ALL_FLAGS) -Wall $(INC) -I . -o $@ $< hit_set.cpp alphabet.c
+
+bowtie-src.zip: $(SRC_PKG_LIST)
+       chmod a+x scripts/*.sh scripts/*.pl
+       mkdir .src.tmp
+       mkdir .src.tmp/bowtie-$(VERSION)
+       zip tmp.zip $(SRC_PKG_LIST)
+       mv tmp.zip .src.tmp/bowtie-$(VERSION)
+       cd .src.tmp/bowtie-$(VERSION) ; unzip tmp.zip ; rm -f tmp.zip
+       cd .src.tmp ; zip -r $@ bowtie-$(VERSION)
+       cp .src.tmp/$@ .
+       rm -rf .src.tmp
+
+bowtie-bin.zip: $(BIN_PKG_LIST) $(BIN_LIST) $(BIN_LIST_AUX) 
+       chmod a+x scripts/*.sh scripts/*.pl
+       rm -rf .bin.tmp
+       mkdir .bin.tmp
+       mkdir .bin.tmp/bowtie-$(VERSION)
+       if [ -f bowtie.exe ] ; then \
+               zip tmp.zip $(BIN_PKG_LIST) $(addsuffix .exe,$(BIN_LIST) $(BIN_LIST_AUX)) ; \
+       else \
+               zip tmp.zip $(BIN_PKG_LIST) $(BIN_LIST) $(BIN_LIST_AUX) ; \
+       fi
+       mv tmp.zip .bin.tmp/bowtie-$(VERSION)
+       cd .bin.tmp/bowtie-$(VERSION) ; unzip tmp.zip ; rm -f tmp.zip
+       cd .bin.tmp ; zip -r $@ bowtie-$(VERSION)
+       cp .bin.tmp/$@ .
+       rm -rf .bin.tmp
+
+.PHONY: doc
+doc: doc/manual.html MANUAL
+
+doc/manual.html: MANUAL.markdown
+       echo "<h1>Table of Contents</h1>" > .tmp.head
+       pandoc -T "Bowtie Manual" -B .tmp.head \
+              --css style.css -o $@ \
+              --from markdown --to HTML \
+              --table-of-contents $^
+
+MANUAL: MANUAL.markdown
+       perl doc/strip_markdown.pl < $^ > $@
+
+.PHONY: clean
+clean:
+       rm -f $(BIN_LIST) $(BIN_LIST_AUX) \
+       bowtie_prof \
+       $(addsuffix .exe,$(BIN_LIST) $(BIN_LIST_AUX) bowtie_prof) \
+       bowtie-src.zip bowtie-bin.zip
+       rm -f core.*
diff --git a/NEWS b/NEWS
new file mode 100644 (file)
index 0000000..f6fec1f
--- /dev/null
+++ b/NEWS
@@ -0,0 +1,562 @@
+Bowtie: an Ultrafast, Lightweight Short Read Aligner
+
+Bowtie NEWS
+===========
+
+   Bowtie is now available for download.  0.9.0 is the first version to
+be released under the OSI Artistic License (see `COPYING') and freely
+available to the public for download.  The current version is 0.12.7.
+
+Reporting Issues
+================
+
+Please report any issues using the Sourceforge bug tracker:
+
+  https://sourceforge.net/tracker/?group_id=236897&atid=1101606
+
+Announcements
+=============
+
+To receive announcements (including release announcements) about Bowtie
+and related tools (including Crossbow, TopHat, Cufflinks, Myrna)
+subscribe to our mailing list:
+
+  https://lists.sourceforge.net/lists/listinfo/bowtie-bio-announce
+
+Version Release History
+=======================
+
+Version 0.12.7 - September 7, 2010
+   * Fixes the all-gap reference sequence issue that was present in
+     Bowtie 0.12.6.  Index files produced by bowtie-build 0.12.5 and
+     earlier (back to 0.10.*) are compatible with bowtie 0.12.7.  Index
+     files produced by bowtie-build 0.12.7 are backward compatible with
+     bowtie 0.12.5 and earlier as long as the first reference sequence
+     is not all-gaps (or, when colorspace indexes, as long as the first
+     reference sequence has two consecutive ACGT characters in it
+     somewhere).
+   * Indexes where the first sequence consists of all gaps or other
+     non-ACGT characters are not handled properly by Bowtie versions
+     0.12.5 and older, but are handled properly by Bowtie 0.12.7.
+   * REMOVED: bowtie-build's --old-reverse option; the old reverse-
+     index scheme is again the default.  The new scheme is disabled
+     pending further refinement.
+
+September 3, 2010
+   * The version of bowtie-build distributed in Bowtie 0.12.6 IS
+     BROKEN.  It could not handle stretches of ambiguous reference
+     characters compatibly with prior versions of Bowtie.  Please use
+     Bowtie 0.12.5's bowtie-build instead.  Bowtie 0.12.7, due out
+     soon, will contain a complete set of working tools.  Bowtie 0.12.7
+     will revert to old way of building the reverse index.  Sorry for
+     the inconvenience.
+
+Version 0.12.6 - August 29, 2010
+   * Modified bowtie-inspect's default mode to use the bit-encoded
+     reference portion of the index to reconstruct the reference
+     sequence, rather than the ebwt portion.  This makes bowtie-inspect
+     much faster and uses less memory, and the output for a colorspace
+     index will now be in nucleotide space.  To get the behavior of the
+     old default, use the new -e/--ebwt-ref option.
+   * Fixed bug whereby SOLiD QV strings would fail to parse.
+   * Moved to a new default way of building the reverse index.  Revert
+     to the old behavior with bowtie-build's new --old-reverse option.
+     The new reverse index format is forward and backward compatible
+     with `bowtie`, unless otherwise noted in a future version.
+   * Fixed issue that would sometimes cause bowtie-build to crash when
+     building a large index with a low --offrate.
+   * Fixed build issue that would cause bowtie-build built on one
+     version of Linux to die with a "floating point error" on other
+     versions.
+   * Fixed a bug whereby alignment cost could sometimes be
+     miscalculated.  Stratum was unaffected.
+   * bowtie now simply skips reads with 0 characters.  Previously it
+     would print an error and exit.
+
+Version 0.12.5 - April 10, 2010
+   * Fixed spurious "Error while writing string output; not all
+     characters written" errors in -S/--sam mode.
+
+Version 0.12.4 - April 5, 2010
+   * Periods in read sequences are now treated as Ns instead of
+     ignored.  This should help with some problems where Bowtie
+     erroneously reports "Reads file contained a pattern with more than
+     1024 quality values..." for data from recent versions of the
+     Illumina GA pipeline.
+   * Fixed a bug whereby some error and warning messages would be
+     printed on top of each other in -p mode.
+   * Chunk-exhaustion warnings messages are now suppressed when --quiet
+     is specified.
+   * Fixed small issue in quality decoding whereby no-confidence colors
+     would incorrectly influence decoded quality of adjacent bases.
+
+Version 0.12.3 - February 17, 2010
+   * Fixed a significant bug in -C/--color mode whereby quality values
+     for SNP nucleotide positions were erroneously penalized.
+   * Fixed a bug in -S/--sam mode whereby if whitespace occurred in the
+     original read name, it would be printed in the QNAME field in
+     violation of the SAM spec. Bowtie now truncates read names at the
+     first whitespace character before printing.
+   * When input is FASTQ and -C/--color is enabled, Bowtie is now
+     tolerant of output from FASTQ converters that include the primer
+     base and where the quality string is one character shorter than
+     the sequence string (due to the primer). This fixes issues users
+     have reported using output from BFAST's solid2fastq.
+   * Added support for SOLiD-style _QV files, via the -Q/--quals, --Q1
+     and --Q2 options. These options are used in combination with
+     -C/--color and -f to align parallel colorspace read/quality files
+     without having to convert to FASTQ.
+
+Version 0.12.2 - February 2, 2010
+   * When -C/--color is enabled, the default paired-end orientation is
+     now --ff, not --fr.  The new default fits typical SOLiD output.
+   * Fixed a bug whereby very large reads could cause bowtie to crash
+     in --best mode
+   * After 0.12.1, some issues remained whereby bowtie would fail to
+     trim the primer in colorspace (e.g. in -c mode).  All input modes
+     should now have fully-functioning
+   * Fixed a bug whereby decoded colorspace qualities could overflow
+     and erroneously become low qualities.
+   * Fixed a bug that could produce incorrect paired-end alignment
+     results in -n mode when using paired-end orientation modes other
+     than --fr.  Even with the bug, reported results are reasonable;
+     but the seed edit constraint (-n) may have been applied to the
+     wrong end of one of the mates.
+   * Changed --chunkmbs default up to 64 from 32.
+   * Better error checking and reporting for some bowtie options.
+   * Some basic testing scripts are now bundled with Bowtie (in
+     scripts/test), which should make it easier to regression-test.
+
+Version 0.12.1 - January 8, 2010
+   * IMPORTANT: Fixed bug whereby bowtie would fail to remove both the
+     primer base and the first color when parsing .csfasta files with
+     primer bases in -C -f mode.  A workaround for users of version
+     0.12.0 is to use "-5 1" in that situation.
+   * Fixed bug whereby, when -M limit was exceeded for an unpaired
+     read, the number printed in the 7th column for the random
+     alignment was too low by 1.
+   * Added documentation discussing a pitfall regarding SOLiD paired-
+     end input, i.e., not all entries necessarily have corresponding
+     mates in the other file.
+
+Version 0.12.0 - December 23, 2009
+   * Added missing README.markdown file
+   * Minor documentation additions
+
+Version 0.12.0-beta1 - December 12, 2009
+   * Added SOLiD colorspace support
+     * Colorspace indexes are distinct from standard letterspace
+       indexes and must be built with a separate invocation of
+       bowtie-build (with -C option)
+     * Running bowtie with -C causes Bowtie to align in colorspace;
+       both index and reads must be in colorspace
+     * Colorspace memory requirement is the same as paired-end
+       alignment in nucleotide-space (normal) mode.  Paired-end
+       alignment does not increase the memory requirement further in
+       colorspace.
+     * csfasta, csfastq, and "raw" read formats are all supported with
+       -C; '0' means "blue" and is intechangeable with 'A', likewise
+       '1' ('C') means "green", '2' ('G') means "orange" and '3' ('T')
+       means "red"
+     * Colorspace versions of pre-built indexes added (see Bowtie web
+       site)
+     * New manual section discussing colorspace features
+   * Fixed a few SAM output issues
+     * @PG line now properly uses colons instead of equals signs
+     * Removed /1, /2 suffixes for paired-end reads in SAM mode
+     * Added --sam-RG option that permits the user to insert set values
+       for flags that appear on the @RG line
+   * Fixed lingering pthreads bugs that would cause Bowtie to hang or
+     crash toward the end of execution with -p > 1.
+   * Fixed performance-related bug that would cause paired-end
+     alignment to be artificially slow in many situations.
+   * Fixed issue with random number generation that would result in
+     non-random selection of alignments in some situations.
+   * bowtie -f now supports fasta files with reads split across
+     multiple lines 
+   * New --suppress option suppresses unwanted columns of output
+   * The MANUAL file was converted to markdown format, facilitating
+     conversion to various other formats using tools like pandoc
+   * DEPRECATED: bowtie: --concise, bowtie-build: --big, --little
+   * REMOVED: -z/--phased, -b/--binout, bowtie-maptool,
+     bowtie-maqconvert
+
+Version 0.11.3 - October 12, 2009
+   * Fixed crashing bug in -S/--sam mode when the number of reference
+     sequences in the index is very large.
+   * Added --sam-nohead option to suppress output of SAM headers in
+     -S/--sam mode.
+   * Added --sam-nosq option to suppress output of @SQ SAM headers in
+     -S/--sam mode.  These can become a nuisance when the reference
+     index contains a very large number of sequences.
+   * Fixed a bug in bowtie-build's auto-configure mode that would cause
+     it to underestimate the amount of memory required by a set of
+     parameters.  This in turn would cause the index to be corrupted.
+
+Version 0.11.2 - October 7, 2009
+   * Fixed issue whereby --max option was disabled.
+
+Version 0.11.1 - October 5, 2009
+   * SAM output: changed XS:i optional field to be named XA:i to avoid
+     a conflict with TopHat's XS:i field.
+
+Version 0.11.0 - October 5, 2009
+   * Initial SAM output support with -S/--sam option.  Bowtie sets all
+     fields according to the SAM spec (Version 0.1.2-draft, 20090820).
+     See the new "SAM Output" section of the manual for details.
+   * Added --shmem option: --shmem is similar to --mm in that it allows
+     concurrent 'bowtie' processes querying the same index to share a
+     single memory image of the index.  Unlike --mm, shared memory
+     alocated by --shmem is permanent.
+   * The alignment summary printed to stderr at the end of an alignment
+     run is now more friendly and includes data about the number and
+     proportion of reads that aligned, failed to align, or were
+     suppressed via the -m option.
+   * When too-short reads are encountered, Bowtie now always prints
+     warnings, not errors.  --quiet now suppresses those warnings.
+   * By default, when bowtie prints a reference sequence name it now
+     stops at the first whitespace.  In 0.10.1, the default was to
+     print the entire name, which could cause confusion when parsing
+     Bowtie output.  To revert to printing the full name, use the new
+     --fullref option.
+   * Bowtie now prints the command-line before exiting with an error.
+   * Fixed mistake in the manual's "Default output" section: the offset
+     in field 4 is 0-based, not 1-based.  To obtain a 1-based offset
+     instead, use the -B 1 option.
+   * Various minor bug fixes.
+   * DEPRECATED: -z/--phased, -b/--binout, bowtie-maptool,
+     bowtie-maqconvert.  These features will be removed in a future
+     version of Bowtie.  Note that -b/--binout, bowtie-maptool, and
+     bowtie-maqconvert are largely superseded by the SAM output format
+     (-S/--sam), BAM, and SAMtools (http://samtools.sf.net).  Contact
+     the authors if this is a problem.
+   * REMOVED: --unfq/--unfa/--maxfq/--maxfa/--alfq/--alfa.  Please use
+     --un/--max/--al instead.  Contact the authors if this is a
+     problem.
+
+Version 0.10.1 - July 19, 2009
+   * Now when -3/-5 are used in combination with -I/-X, the -I/-X
+     constraints are interpreted as applying to the original insert,
+     not the trimmed insert.
+   * Fixed issue whereby -I option was ignored; -I option works now.
+   * Fixed a bug whereby some large indexes were incorrectly reported
+     as corrupt by bowtie-build.
+   * Fixed issue whereby negative quality values were wrongly rejected
+     when both --integer-quals and --solexa-quals were specified.
+   * The -l/--seedlen parameter can now be adjusted down to 5
+     (previously had to be >= 20).
+   * Fixed several minor memory leaks and out-of-bounds issues.  The
+     Linux version of the bowtie aligner now receives a clean bill of
+     health from valgrind's memcheck.
+   * Other minor bugfixes.
+
+Version 0.10.0.2 - 6/28/09
+    * Second bugfix for Windows version. src and bin-win32 packages
+      updated. Linux and Mac users are not affected. Thanks for your
+      bug reports and patience.
+
+Version 0.10.0.1 - 6/23/09
+    * Fix for crashing bug in Windows version. src and bin-win32
+      packages updated. Linux and Mac users are not affected.
+
+Version 0.10.0 - June 12, 2009
+   * Major change: All alignment modes are now unstratified by default.
+     The --nostrata option has been removed, since it is now the
+     default.  A --strata option has been added to override the default
+     and force stratified reporting.  Reporting is stratified if and
+     only if --strata is specified.  --strata now cannot be specified
+     without also specifying --best.  Please note that, because of this
+     change, specifying the same arguments to this version of Bowtie
+     may yield different reported results.
+   * Replaced the --unfa/--unfq options with a single --un option,
+     which writes unaligned reads to an output file (or pair of output
+     files) but keeps reads in their original form.  This is in
+     contrast to the old --unfa/--unfq options, which only supported
+     FASTA or FASTQ formats, and which would print a post-trimming and
+     post-quality-value translation version of the read.  Likewise, the
+     --alfa/--alfq and --maxfa/--maxfq options have been replaced with
+     --al and --max options.  The old options are still present, but
+     are deprecated and will be removed in a future version.
+   * Added --nofw and --norc options, allowing alignment to just one
+     reference strand or the other.
+   * Added --mm option that causes bowtie to use memory-mapped files
+     instead of traditional file I/O to access the reference index.
+     This allows multiple bowtie processes running on the same computer
+     to share a single in-memory image of a given index.  This is a
+     useful feature for parallelizing bowtie in situations where memory
+     is limited and where -p is inappropriate or insufficient.  This
+     feature is not available in the Windows version of Bowtie.
+   * Added a section to the manual ("Reporting Modes") clarifying and
+     giving examples of how to use Bowtie's reporting options.
+   * The --al and -z/--phased options previously interacted in such a
+     way that the --al file could contain multiple entries for the same
+     aligned read.  --al and -z/--phased are now incompatible.
+   * The --oldpmap option, deprecated in version 0.9.8, has been
+     removed.
+
+Version 0.9.9.3 - May 12, 2009
+   * Fixed an issue where bowtie --best would sometimes use excessive
+     amounts of memory to store path descriptors.  There is now a per-
+     thread 32-MB ceiling (configurable with new option --chunkmbs
+     <int>) on the memory taken by path descriptors.  If the ceiling is
+     exceeded Bowtie will skip the offending read, print a warning
+     message identifying the read, and continue.
+   * More options are available for defining the quality-value format,
+     including new --phred64-quals/--solexa1.3-quals options
+     appropriate for the 64-based-Phred output of Illumina's GA
+     Pipeline 1.3.  Added option --phred33-quals to to handle the more
+     typical 33-based-Phred scale (the default).  The --solexa-quals
+     option still handles the 64-based-Solexa scale output by GA
+     Pipeline versions prior to 1.3.
+   * bowtie-build now checks output files for obvious corruption due,
+     for example, to disk exhaustion.
+   * Specifying "-" (meaning stdin) as an input to bowtie is now
+     supported and documented.
+   * Fixed a bug whereby bowtie-maqconvert could fail to notice that it
+     had exhausted memory and output a corrupt Maq map file.
+   * Fixed a bug whereby bowtie would crash when trying to use an index
+     built on a machine with different endianness.
+   * Fixed several issues that prevented Bowtie from compiling on
+     Solaris.  I confirm that Bowtie builds and runs on Solaris.
+   * Added _LARGEFILE_SOURCE _FILE_OFFSET_BITS=64 _GNU_SOURCE to the
+     default build options in an attempt to resolve some of the large-
+     file issues users are having.
+   * Clarified column 7 in the manual.  We received many queries from
+     users curious about this number.
+   * Moderate speed improvements in --best mode.
+
+Version 0.9.9.2 - April 6, 2009
+   * Paired-end alignment is now available in all alignment modes,
+     including all -n modes.
+   * --best now provides better guarantees.  Reported alignments are
+     now guaranteed to be "best" both in terms of stratum (i.e. number
+     of mismatches, or mismatches in the seed in the case of -n mode),
+     and in terms of the quality values at the mismatched position(s).
+     Stratum always trumps quality when determining best alignments.
+     Also, --best mode resolves the strand bias issue (see manual for a
+     discussion of the issue).
+   * Speed improvements for --best mode in most alignment modes.
+   * Major speed improvement for the -v 3 alignment mode (except when
+     -z is also used)
+   * The "Reported X alignments..." message is now printed to stderr
+     rather than stdout.  Only alignments are written to stdout.
+   * In bowtie-maqconvert, read names longer than Maq's limit (36) are
+     now truncated to a suffix of the original name, rather than a
+     prefix.  This mimics Maq's behavior and prevents "/1" and "/2"
+     suffixes for paired-end reads from being destroyed.
+   * Added --alfq/--alfa options to dump aligned reads to FASTQ and/or
+     FASTA files.
+   * Removed many extraneous source files.
+
+Version 0.9.9.1 - March 10, 2009
+   * Added paired-end alignment for -v 2 and -v 3 alignment modes (-n
+     modes coming soon).
+   * Minor bug fixes and speed improvements for all paired-end modes.
+   * Added -s/--skip <int> option to skip over the first <int> reads or
+     pairs in the input.
+   * --unfq/--unfa/--maxfq/--maxfa modes no longer create empty output
+     files. 
+   * All Bowtie tools now compile under GCC 4.3.3.
+   * Fixed bug whereby bowtie -b would sometimes write garbage into the
+     reference offset field.
+   * Paired-end info is now persisted in the -b format, allowing
+     bowtie-maptool output to add "/1" and "/2" suffixes as
+     appropriate.
+
+Version 0.9.9 - February 19, 2009
+   * Added some preliminary support for paired-end alignment in -v 0
+     and -v 1 modes.  -1/-2 options to specify the paired-end files,
+     -I/-X to specify min and max insert sizes, and --fr/--rf/--ff
+     specify relative orientation of upstream and downstream mates.
+     bowtie-build now builds two additional files: NAME.3.ebwt and
+     NAME.4.ebwt.  Together, these files store a bitpacked version of
+     the reference and they are required for paired-end alignment.  If
+     your index does not include these files and you would like to
+     perform a paired-end alignment, you will have to rebuild the index
+     with bowtie-build version 0.9.9 or later.  Paired-end alignment is
+     not compatible with -z mode, and it incurs about a 30% greater
+     memory overhead than single-end mode.
+   * Pre-built indexes available from Bowtie website have been updated
+     to include .3/.4.ebwt index files.  These new pre-built indexes
+     are no longer compatible with bowtie versions prior to 0.9.8.
+   * New -B/--offbase option allows user to specify how bowtie numbers
+     reference positions in its output.  E.g. -B 1 causes bowtie to
+     number leftmost char as 1.  -B 0 is the default, but -B 1 will
+     likely become the default in the 1.0 release.
+   * Fixed a bug that caused trimming options -3 and -5 not to work
+     properly in -r (raw input) mode.
+   * bowtie-build now prints a friendly error message and exits if an
+     input file doesn't exist.
+   * Fixed a bug that caused the Win32 version of bowtie to hang just
+     before it would normally have exited.
+   * Fixed bug that could prevent successful read-in of very large
+     (>1GB) .2.ebwt index files.
+   * Removed --maxns option since it's mostly redundant with what -v
+     and -n already do.
+   * Removed --ntoa option.
+   * bowtie usage message is now divided into sections for clarity.
+
+Version 0.9.8.1 - January 7, 2009
+   * Fixed all known problems with the --unfa/--unfq options:
+     * They now work properly with multiple threads.
+     * Fixed issue where sequence and quals were sometimes reversed.
+     * Fixed other issues causing spurious omission of unaligned reads.
+   * Added --maxfa/--maxfq options so that reads that don't align due
+     to the -m limit can be dumped separately from reads that don't
+     align at all.
+   * Alignment output is now guaranteed to be "deterministic" even when
+     multiple threads are used.  I.e., given the same input reads (in
+     any order) and the same --seed, bowtie will produce the same
+     alignments every time it is run, though not necessarily in the
+     same order.  This does not hold across different versions of
+     Bowtie.
+   * Multiple other bug fixes. 
+
+Version 0.9.8 - November 25, 2008
+   * --unfa/--unfq <filename> options cause bowtie to dump unaligned
+     reads to FASTA and/or FASTQ files.
+   * bowtie-build now selects its memory-efficiency parameters (--bmax,
+     --dcv, --packed) automatically by default; this makes it far
+     easier to build an index under memory constraints by eliminating
+     tedious trail-and-error.  New -a option disables this, yielding
+     old behavior.
+   * bowtie-build-packed is no longer a separate binary.  Supplying the
+     new -p/--packed argument to bowtie-build is the new equivalent.
+   * New tool bowtie-maptool converts between Bowtie's output formats.
+   * New tool bowtie-inspect recreates reference strings from Bowtie
+     index.
+   * Renamed bowtie-convert to bowtie-maqconvert for clarity.
+   * New universal Mac binary combines i386 & x86_64 binaries.  PowerPC
+     still not supported.
+   * Added --nomaqround option to bowtie.
+   * Fixed memory leaks in bowtie.
+   * Switched to a new scheme for mapping positions in "joined"
+     reference string to positions in original strings.  This changes
+     the index format.  bowtie-build's --oldpmap parameter reverts to
+     the old format.  Versions of bowtie prior to 0.9.8 cannot search
+     indexes produced by bowtie-build 0.9.8 unless bowtie-build is run
+     with --oldpmap.  bowtie 0.9.8 can search either index format.
+     Pre-built indexes are still in the old format, but will switch to
+     new format when Bowtie 1.0 is released.
+
+Version 0.9.7.1 - November 11, 2008
+   * Fixed an issue that caused a spurious loss of sensitivity between
+     Bowtie versions 0.9.6 and 0.9.7 in certain modes.  Many thanks to
+     Ali Mortazavi for bringing this to our attention.
+
+Version 0.9.7 - November 8, 2008
+   * Added new reporting option -m <int> which suppresses all
+     alignments for a particular read if more than <int> reportable
+     alignments exist for it.
+   * Threads now buffer all alignments for a particular read/phase then
+     output all alignments in one critical section.  This guarantees
+     that all alignments for a given read/phase appear in one
+     consecutive block of the output, even when multiple threads are
+     operating in parallel. 
+   * Separated the quality-conversion and parsing aspects of the old
+     --solexa-quals argument into separate arguments: --solexa-quals
+     (quality conversion) and --integer-quals (parsing).
+   * bowtie-convert now handles the new (post-0.7.0) Maq alignment
+     format.  The new format allows Maq tools to handle reads up to
+     127 bases, whereas the old format was limited to 63 bases.  Added
+     a -o option to opt for the old Maq format. 
+   * New --refout argument sends alignments to a set of files named
+     refXXXXX.map, where XXXXX is the 0-padded index of the reference
+     sequence aligned to.  Useful for dealing with large datasets
+     aligned to, e.g., the assembled human genome.
+   * Improved tutorial to use a simple simulated read set (included)
+     to do SNP calls with Maq.
+   * Added --nota option to bowtie-build
+   * Fixed make_h_sapiens_asm.sh script to include mitochondrial DNA.
+
+Version 0.9.6 - October 10, 2008
+   * 'bowtie' now supports a host of options that allow the user to
+     specify which and how many valid alignments to report per read.
+     The default is still to report 1 "good" alignment, which is by far
+     the fastest mode.  See -k/-a/--best/--nostrata options described
+     in the manual for details.
+   * 'bowtie' now supports reads up to 1024 bases long.  Note that for
+     reads much longer than, say, 35 bases, the user must be careful to
+     set alignment policy parameters (especially -e) appropriately.
+   * --fast flag eliminated, double-index mode is now the default.
+     Added the -z/--phased flag to revert to phased, half-index mode.
+   * --concise output mode now officially supported.  Now outputs one
+     alignment per line.
+   * Changed 'bowtie-build' default back to --bmaxdivn 4.
+   * -h/--help now prints much more verbose help for 'bowtie' and
+     'bowtie-build' (verbatim from MANUAL file)
+   * BWT-searching code streamlined; much old code eliminated
+
+Version 0.9.5 - September 27, 2008
+   * Last column of output now additionally reports the reference and
+     query bases (in that order) for mismatches.  E.g., old: "30,32",
+     new: "30:C>A,32:C>T".
+   * Eliminated spurious trailing space in first column of output.
+   * Minor performance and sensitivity improvements.
+   * New option '-p' spawns a user-specified number of pthreads for
+     parallel processing of reads.  For example, use '-p 4' to run
+     'bowtie' on 4 processor cores simultaneously.
+   * Due to the new '-p' option, 'bowtie' needs pthreads to compile and
+     run.  To compile 'bowtie' without pthreads support (which disables
+     the '-p' option), use 'make BOWTIE_PTHREADS=0'.
+   * Also due to '-p' option, the Windows version of Bowtie now comes
+     with the pthreadGC2.dll file from the pthreads for Win32 project
+     (http://sourceware.org/pthreads-win32).  This library is released
+     under the LGPL license.
+   * New option '--fast' causes Bowtie to load both the "forward" and
+     "mirror" halves of the index at once, which eliminates the need
+     for multiple phases and speeds up matching at the cost of using
+     about twice as much memory.  '--fast' also causes 'bowtie' to
+     scale better when used in combination with '-p'.
+   * Fixed crashing bug with -o/--offrate in 'bowtie'.
+   * Improved error reporting.
+
+Version 0.9.4 - September 16, 2008
+   * New method for handling gaps and ambiguity codes in the reference.
+     New 'bowtie-build' method handles long stretches of gaps
+     gracefully.  New 'bowtie' rejects alignments that overlap a gap or
+     ambiguous character in the reference.
+   * Due to above change, index file format has been changed.  All
+     pre-built indexes available on this site have been updated to the
+     new format.  To obtain indexes with the old format, contact us.
+   * In 'bowtie' unnamed reads are now given ordinal names (rather than
+     "default") in the alignment output.  Works for all input modes.
+   * New 'bowtie' input mode: Raw, activated with -r.  Expects one read
+     sequence per line; no quality values or names.
+   * Fixed 'bowtie' bug whereby trimming did not work in -c mode.
+   * Changed 'bowtie-build' default to not use blockwise mode.
+   * Changed 'bowtie-build' to avoid certain infinite-loop and very-
+     long-runtime scenarios.
+   * Packaging improvements: archives now explode into subdirectories
+     and scripts are executable.
+
+Version 0.9.3 - September 6, 2008
+   * Major reference-name bug fixes to bowtie-convert
+
+Version 0.9.2 - September 4, 2008
+   * Now allows 3-mismatches: -n and -v options accept 3
+   * Output format prints reference name instead of id in third column
+   * Pre-built indexes updated to encode reference names
+   * Ns in reads now match nothing (previously, they matched As/Ts)
+   * Dropped -l/--linerate and -i/--linesperside arguments to bowtie-
+     build
+   * Fixed bug in Maq-like mode that allowed some poor alignments
+   * Minor speed improvements
+
+Version 0.9.1 - August 25, 2008
+   * Integrated relevant SeqAn-1.1 sources into Bowtie source release
+   * Now builds on Windows under MinGW (needs pthreads and zlib)
+   * Binary releases for Linux (i386, x86_64), Windows (i386) and MacOS
+     X (i386)
+
+Version 0.9.0 - August 18, 2008
+   * First stable release of Bowtie.
+   * Includes the three core Bowtie tools: the indexer 'bowtie-build',
+     the read aligner 'bowtie' and the converter from Bowtie's to Maq's
+     mapping output format, 'bowtie-convert'.
+   * Compatible pre-built indexes for many model organisms are
+     available from http://bowtie-bio.sf.net.
+   * FASTA, FASTQ inputs supported; tested with Solexa FASTQ
+   * Supports Maq alignment policy (-n and -e behave as in Maq)
+   * Supports X-mismatch policy (-v option behaves as in SOAP)
+   * -n and -v options accept 0, 1, or 2
diff --git a/SeqAn-1.1/GPL.txt b/SeqAn-1.1/GPL.txt
new file mode 100644 (file)
index 0000000..94a9ed0
--- /dev/null
@@ -0,0 +1,674 @@
+                    GNU GENERAL PUBLIC LICENSE
+                       Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+                            Preamble
+
+  The GNU General Public License is a free, copyleft license for
+software and other kinds of works.
+
+  The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works.  By contrast,
+the GNU General Public License is intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains free
+software for all its users.  We, the Free Software Foundation, use the
+GNU General Public License for most of our software; it applies also to
+any other work released this way by its authors.  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+them if you wish), that you receive source code or can get it if you
+want it, that you can change the software or use pieces of it in new
+free programs, and that you know you can do these things.
+
+  To protect your rights, we need to prevent others from denying you
+these rights or asking you to surrender the rights.  Therefore, you have
+certain responsibilities if you distribute copies of the software, or if
+you modify it: responsibilities to respect the freedom of others.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must pass on to the recipients the same
+freedoms that you received.  You must make sure that they, too, receive
+or can get the source code.  And you must show them these terms so they
+know their rights.
+
+  Developers that use the GNU GPL protect your rights with two steps:
+(1) assert copyright on the software, and (2) offer you this License
+giving you legal permission to copy, distribute and/or modify it.
+
+  For the developers' and authors' protection, the GPL clearly explains
+that there is no warranty for this free software.  For both users' and
+authors' sake, the GPL requires that modified versions be marked as
+changed, so that their problems will not be attributed erroneously to
+authors of previous versions.
+
+  Some devices are designed to deny users access to install or run
+modified versions of the software inside them, although the manufacturer
+can do so.  This is fundamentally incompatible with the aim of
+protecting users' freedom to change the software.  The systematic
+pattern of such abuse occurs in the area of products for individuals to
+use, which is precisely where it is most unacceptable.  Therefore, we
+have designed this version of the GPL to prohibit the practice for those
+products.  If such problems arise substantially in other domains, we
+stand ready to extend this provision to those domains in future versions
+of the GPL, as needed to protect the freedom of users.
+
+  Finally, every program is threatened constantly by software patents.
+States should not allow patents to restrict development and use of
+software on general-purpose computers, but in those that do, we wish to
+avoid the special danger that patents applied to a free program could
+make it effectively proprietary.  To prevent this, the GPL assures that
+patents cannot be used to render the program non-free.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+
+                       TERMS AND CONDITIONS
+
+  0. Definitions.
+
+  "This License" refers to version 3 of the GNU General Public License.
+
+  "Copyright" also means copyright-like laws that apply to other kinds of
+works, such as semiconductor masks.
+
+  "The Program" refers to any copyrightable work licensed under this
+License.  Each licensee is addressed as "you".  "Licensees" and
+"recipients" may be individuals or organizations.
+
+  To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of an
+exact copy.  The resulting work is called a "modified version" of the
+earlier work or a work "based on" the earlier work.
+
+  A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+  To "propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy.  Propagation includes copying,
+distribution (with or without modification), making available to the
+public, and in some countries other activities as well.
+
+  To "convey" a work means any kind of propagation that enables other
+parties to make or receive copies.  Mere interaction with a user through
+a computer network, with no transfer of a copy, is not conveying.
+
+  An interactive user interface displays "Appropriate Legal Notices"
+to the extent that it includes a convenient and prominently visible
+feature that (1) displays an appropriate copyright notice, and (2)
+tells the user that there is no warranty for the work (except to the
+extent that warranties are provided), that licensees may convey the
+work under this License, and how to view a copy of this License.  If
+the interface presents a list of user commands or options, such as a
+menu, a prominent item in the list meets this criterion.
+
+  1. Source Code.
+
+  The "source code" for a work means the preferred form of the work
+for making modifications to it.  "Object code" means any non-source
+form of a work.
+
+  A "Standard Interface" means an interface that either is an official
+standard defined by a recognized standards body, or, in the case of
+interfaces specified for a particular programming language, one that
+is widely used among developers working in that language.
+
+  The "System Libraries" of an executable work include anything, other
+than the work as a whole, that (a) is included in the normal form of
+packaging a Major Component, but which is not part of that Major
+Component, and (b) serves only to enable use of the work with that
+Major Component, or to implement a Standard Interface for which an
+implementation is available to the public in source code form.  A
+"Major Component", in this context, means a major essential component
+(kernel, window system, and so on) of the specific operating system
+(if any) on which the executable work runs, or a compiler used to
+produce the work, or an object code interpreter used to run it.
+
+  The "Corresponding Source" for a work in object code form means all
+the source code needed to generate, install, and (for an executable
+work) run the object code and to modify the work, including scripts to
+control those activities.  However, it does not include the work's
+System Libraries, or general-purpose tools or generally available free
+programs which are used unmodified in performing those activities but
+which are not part of the work.  For example, Corresponding Source
+includes interface definition files associated with source files for
+the work, and the source code for shared libraries and dynamically
+linked subprograms that the work is specifically designed to require,
+such as by intimate data communication or control flow between those
+subprograms and other parts of the work.
+
+  The Corresponding Source need not include anything that users
+can regenerate automatically from other parts of the Corresponding
+Source.
+
+  The Corresponding Source for a work in source code form is that
+same work.
+
+  2. Basic Permissions.
+
+  All rights granted under this License are granted for the term of
+copyright on the Program, and are irrevocable provided the stated
+conditions are met.  This License explicitly affirms your unlimited
+permission to run the unmodified Program.  The output from running a
+covered work is covered by this License only if the output, given its
+content, constitutes a covered work.  This License acknowledges your
+rights of fair use or other equivalent, as provided by copyright law.
+
+  You may make, run and propagate covered works that you do not
+convey, without conditions so long as your license otherwise remains
+in force.  You may convey covered works to others for the sole purpose
+of having them make modifications exclusively for you, or provide you
+with facilities for running those works, provided that you comply with
+the terms of this License in conveying all material for which you do
+not control copyright.  Those thus making or running the covered works
+for you must do so exclusively on your behalf, under your direction
+and control, on terms that prohibit them from making any copies of
+your copyrighted material outside their relationship with you.
+
+  Conveying under any other circumstances is permitted solely under
+the conditions stated below.  Sublicensing is not allowed; section 10
+makes it unnecessary.
+
+  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+  No covered work shall be deemed part of an effective technological
+measure under any applicable law fulfilling obligations under article
+11 of the WIPO copyright treaty adopted on 20 December 1996, or
+similar laws prohibiting or restricting circumvention of such
+measures.
+
+  When you convey a covered work, you waive any legal power to forbid
+circumvention of technological measures to the extent such circumvention
+is effected by exercising rights under this License with respect to
+the covered work, and you disclaim any intention to limit operation or
+modification of the work as a means of enforcing, against the work's
+users, your or third parties' legal rights to forbid circumvention of
+technological measures.
+
+  4. Conveying Verbatim Copies.
+
+  You may convey verbatim copies of the Program's source code as you
+receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice;
+keep intact all notices stating that this License and any
+non-permissive terms added in accord with section 7 apply to the code;
+keep intact all notices of the absence of any warranty; and give all
+recipients a copy of this License along with the Program.
+
+  You may charge any price or no price for each copy that you convey,
+and you may offer support or warranty protection for a fee.
+
+  5. Conveying Modified Source Versions.
+
+  You may convey a work based on the Program, or the modifications to
+produce it from the Program, in the form of source code under the
+terms of section 4, provided that you also meet all of these conditions:
+
+    a) The work must carry prominent notices stating that you modified
+    it, and giving a relevant date.
+
+    b) The work must carry prominent notices stating that it is
+    released under this License and any conditions added under section
+    7.  This requirement modifies the requirement in section 4 to
+    "keep intact all notices".
+
+    c) You must license the entire work, as a whole, under this
+    License to anyone who comes into possession of a copy.  This
+    License will therefore apply, along with any applicable section 7
+    additional terms, to the whole of the work, and all its parts,
+    regardless of how they are packaged.  This License gives no
+    permission to license the work in any other way, but it does not
+    invalidate such permission if you have separately received it.
+
+    d) If the work has interactive user interfaces, each must display
+    Appropriate Legal Notices; however, if the Program has interactive
+    interfaces that do not display Appropriate Legal Notices, your
+    work need not make them do so.
+
+  A compilation of a covered work with other separate and independent
+works, which are not by their nature extensions of the covered work,
+and which are not combined with it such as to form a larger program,
+in or on a volume of a storage or distribution medium, is called an
+"aggregate" if the compilation and its resulting copyright are not
+used to limit the access or legal rights of the compilation's users
+beyond what the individual works permit.  Inclusion of a covered work
+in an aggregate does not cause this License to apply to the other
+parts of the aggregate.
+
+  6. Conveying Non-Source Forms.
+
+  You may convey a covered work in object code form under the terms
+of sections 4 and 5, provided that you also convey the
+machine-readable Corresponding Source under the terms of this License,
+in one of these ways:
+
+    a) Convey the object code in, or embodied in, a physical product
+    (including a physical distribution medium), accompanied by the
+    Corresponding Source fixed on a durable physical medium
+    customarily used for software interchange.
+
+    b) Convey the object code in, or embodied in, a physical product
+    (including a physical distribution medium), accompanied by a
+    written offer, valid for at least three years and valid for as
+    long as you offer spare parts or customer support for that product
+    model, to give anyone who possesses the object code either (1) a
+    copy of the Corresponding Source for all the software in the
+    product that is covered by this License, on a durable physical
+    medium customarily used for software interchange, for a price no
+    more than your reasonable cost of physically performing this
+    conveying of source, or (2) access to copy the
+    Corresponding Source from a network server at no charge.
+
+    c) Convey individual copies of the object code with a copy of the
+    written offer to provide the Corresponding Source.  This
+    alternative is allowed only occasionally and noncommercially, and
+    only if you received the object code with such an offer, in accord
+    with subsection 6b.
+
+    d) Convey the object code by offering access from a designated
+    place (gratis or for a charge), and offer equivalent access to the
+    Corresponding Source in the same way through the same place at no
+    further charge.  You need not require recipients to copy the
+    Corresponding Source along with the object code.  If the place to
+    copy the object code is a network server, the Corresponding Source
+    may be on a different server (operated by you or a third party)
+    that supports equivalent copying facilities, provided you maintain
+    clear directions next to the object code saying where to find the
+    Corresponding Source.  Regardless of what server hosts the
+    Corresponding Source, you remain obligated to ensure that it is
+    available for as long as needed to satisfy these requirements.
+
+    e) Convey the object code using peer-to-peer transmission, provided
+    you inform other peers where the object code and Corresponding
+    Source of the work are being offered to the general public at no
+    charge under subsection 6d.
+
+  A separable portion of the object code, whose source code is excluded
+from the Corresponding Source as a System Library, need not be
+included in conveying the object code work.
+
+  A "User Product" is either (1) a "consumer product", which means any
+tangible personal property which is normally used for personal, family,
+or household purposes, or (2) anything designed or sold for incorporation
+into a dwelling.  In determining whether a product is a consumer product,
+doubtful cases shall be resolved in favor of coverage.  For a particular
+product received by a particular user, "normally used" refers to a
+typical or common use of that class of product, regardless of the status
+of the particular user or of the way in which the particular user
+actually uses, or expects or is expected to use, the product.  A product
+is a consumer product regardless of whether the product has substantial
+commercial, industrial or non-consumer uses, unless such uses represent
+the only significant mode of use of the product.
+
+  "Installation Information" for a User Product means any methods,
+procedures, authorization keys, or other information required to install
+and execute modified versions of a covered work in that User Product from
+a modified version of its Corresponding Source.  The information must
+suffice to ensure that the continued functioning of the modified object
+code is in no case prevented or interfered with solely because
+modification has been made.
+
+  If you convey an object code work under this section in, or with, or
+specifically for use in, a User Product, and the conveying occurs as
+part of a transaction in which the right of possession and use of the
+User Product is transferred to the recipient in perpetuity or for a
+fixed term (regardless of how the transaction is characterized), the
+Corresponding Source conveyed under this section must be accompanied
+by the Installation Information.  But this requirement does not apply
+if neither you nor any third party retains the ability to install
+modified object code on the User Product (for example, the work has
+been installed in ROM).
+
+  The requirement to provide Installation Information does not include a
+requirement to continue to provide support service, warranty, or updates
+for a work that has been modified or installed by the recipient, or for
+the User Product in which it has been modified or installed.  Access to a
+network may be denied when the modification itself materially and
+adversely affects the operation of the network or violates the rules and
+protocols for communication across the network.
+
+  Corresponding Source conveyed, and Installation Information provided,
+in accord with this section must be in a format that is publicly
+documented (and with an implementation available to the public in
+source code form), and must require no special password or key for
+unpacking, reading or copying.
+
+  7. Additional Terms.
+
+  "Additional permissions" are terms that supplement the terms of this
+License by making exceptions from one or more of its conditions.
+Additional permissions that are applicable to the entire Program shall
+be treated as though they were included in this License, to the extent
+that they are valid under applicable law.  If additional permissions
+apply only to part of the Program, that part may be used separately
+under those permissions, but the entire Program remains governed by
+this License without regard to the additional permissions.
+
+  When you convey a copy of a covered work, you may at your option
+remove any additional permissions from that copy, or from any part of
+it.  (Additional permissions may be written to require their own
+removal in certain cases when you modify the work.)  You may place
+additional permissions on material, added by you to a covered work,
+for which you have or can give appropriate copyright permission.
+
+  Notwithstanding any other provision of this License, for material you
+add to a covered work, you may (if authorized by the copyright holders of
+that material) supplement the terms of this License with terms:
+
+    a) Disclaiming warranty or limiting liability differently from the
+    terms of sections 15 and 16 of this License; or
+
+    b) Requiring preservation of specified reasonable legal notices or
+    author attributions in that material or in the Appropriate Legal
+    Notices displayed by works containing it; or
+
+    c) Prohibiting misrepresentation of the origin of that material, or
+    requiring that modified versions of such material be marked in
+    reasonable ways as different from the original version; or
+
+    d) Limiting the use for publicity purposes of names of licensors or
+    authors of the material; or
+
+    e) Declining to grant rights under trademark law for use of some
+    trade names, trademarks, or service marks; or
+
+    f) Requiring indemnification of licensors and authors of that
+    material by anyone who conveys the material (or modified versions of
+    it) with contractual assumptions of liability to the recipient, for
+    any liability that these contractual assumptions directly impose on
+    those licensors and authors.
+
+  All other non-permissive additional terms are considered "further
+restrictions" within the meaning of section 10.  If the Program as you
+received it, or any part of it, contains a notice stating that it is
+governed by this License along with a term that is a further
+restriction, you may remove that term.  If a license document contains
+a further restriction but permits relicensing or conveying under this
+License, you may add to a covered work material governed by the terms
+of that license document, provided that the further restriction does
+not survive such relicensing or conveying.
+
+  If you add terms to a covered work in accord with this section, you
+must place, in the relevant source files, a statement of the
+additional terms that apply to those files, or a notice indicating
+where to find the applicable terms.
+
+  Additional terms, permissive or non-permissive, may be stated in the
+form of a separately written license, or stated as exceptions;
+the above requirements apply either way.
+
+  8. Termination.
+
+  You may not propagate or modify a covered work except as expressly
+provided under this License.  Any attempt otherwise to propagate or
+modify it is void, and will automatically terminate your rights under
+this License (including any patent licenses granted under the third
+paragraph of section 11).
+
+  However, if you cease all violation of this License, then your
+license from a particular copyright holder is reinstated (a)
+provisionally, unless and until the copyright holder explicitly and
+finally terminates your license, and (b) permanently, if the copyright
+holder fails to notify you of the violation by some reasonable means
+prior to 60 days after the cessation.
+
+  Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+  Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License.  If your rights have been terminated and not permanently
+reinstated, you do not qualify to receive new licenses for the same
+material under section 10.
+
+  9. Acceptance Not Required for Having Copies.
+
+  You are not required to accept this License in order to receive or
+run a copy of the Program.  Ancillary propagation of a covered work
+occurring solely as a consequence of using peer-to-peer transmission
+to receive a copy likewise does not require acceptance.  However,
+nothing other than this License grants you permission to propagate or
+modify any covered work.  These actions infringe copyright if you do
+not accept this License.  Therefore, by modifying or propagating a
+covered work, you indicate your acceptance of this License to do so.
+
+  10. Automatic Licensing of Downstream Recipients.
+
+  Each time you convey a covered work, the recipient automatically
+receives a license from the original licensors, to run, modify and
+propagate that work, subject to this License.  You are not responsible
+for enforcing compliance by third parties with this License.
+
+  An "entity transaction" is a transaction transferring control of an
+organization, or substantially all assets of one, or subdividing an
+organization, or merging organizations.  If propagation of a covered
+work results from an entity transaction, each party to that
+transaction who receives a copy of the work also receives whatever
+licenses to the work the party's predecessor in interest had or could
+give under the previous paragraph, plus a right to possession of the
+Corresponding Source of the work from the predecessor in interest, if
+the predecessor has it or can get it with reasonable efforts.
+
+  You may not impose any further restrictions on the exercise of the
+rights granted or affirmed under this License.  For example, you may
+not impose a license fee, royalty, or other charge for exercise of
+rights granted under this License, and you may not initiate litigation
+(including a cross-claim or counterclaim in a lawsuit) alleging that
+any patent claim is infringed by making, using, selling, offering for
+sale, or importing the Program or any portion of it.
+
+  11. Patents.
+
+  A "contributor" is a copyright holder who authorizes use under this
+License of the Program or a work on which the Program is based.  The
+work thus licensed is called the contributor's "contributor version".
+
+  A contributor's "essential patent claims" are all patent claims
+owned or controlled by the contributor, whether already acquired or
+hereafter acquired, that would be infringed by some manner, permitted
+by this License, of making, using, or selling its contributor version,
+but do not include claims that would be infringed only as a
+consequence of further modification of the contributor version.  For
+purposes of this definition, "control" includes the right to grant
+patent sublicenses in a manner consistent with the requirements of
+this License.
+
+  Each contributor grants you a non-exclusive, worldwide, royalty-free
+patent license under the contributor's essential patent claims, to
+make, use, sell, offer for sale, import and otherwise run, modify and
+propagate the contents of its contributor version.
+
+  In the following three paragraphs, a "patent license" is any express
+agreement or commitment, however denominated, not to enforce a patent
+(such as an express permission to practice a patent or covenant not to
+sue for patent infringement).  To "grant" such a patent license to a
+party means to make such an agreement or commitment not to enforce a
+patent against the party.
+
+  If you convey a covered work, knowingly relying on a patent license,
+and the Corresponding Source of the work is not available for anyone
+to copy, free of charge and under the terms of this License, through a
+publicly available network server or other readily accessible means,
+then you must either (1) cause the Corresponding Source to be so
+available, or (2) arrange to deprive yourself of the benefit of the
+patent license for this particular work, or (3) arrange, in a manner
+consistent with the requirements of this License, to extend the patent
+license to downstream recipients.  "Knowingly relying" means you have
+actual knowledge that, but for the patent license, your conveying the
+covered work in a country, or your recipient's use of the covered work
+in a country, would infringe one or more identifiable patents in that
+country that you have reason to believe are valid.
+
+  If, pursuant to or in connection with a single transaction or
+arrangement, you convey, or propagate by procuring conveyance of, a
+covered work, and grant a patent license to some of the parties
+receiving the covered work authorizing them to use, propagate, modify
+or convey a specific copy of the covered work, then the patent license
+you grant is automatically extended to all recipients of the covered
+work and works based on it.
+
+  A patent license is "discriminatory" if it does not include within
+the scope of its coverage, prohibits the exercise of, or is
+conditioned on the non-exercise of one or more of the rights that are
+specifically granted under this License.  You may not convey a covered
+work if you are a party to an arrangement with a third party that is
+in the business of distributing software, under which you make payment
+to the third party based on the extent of your activity of conveying
+the work, and under which the third party grants, to any of the
+parties who would receive the covered work from you, a discriminatory
+patent license (a) in connection with copies of the covered work
+conveyed by you (or copies made from those copies), or (b) primarily
+for and in connection with specific products or compilations that
+contain the covered work, unless you entered into that arrangement,
+or that patent license was granted, prior to 28 March 2007.
+
+  Nothing in this License shall be construed as excluding or limiting
+any implied license or other defenses to infringement that may
+otherwise be available to you under applicable patent law.
+
+  12. No Surrender of Others' Freedom.
+
+  If conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot convey a
+covered work so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you may
+not convey it at all.  For example, if you agree to terms that obligate you
+to collect a royalty for further conveying from those to whom you convey
+the Program, the only way you could satisfy both those terms and this
+License would be to refrain entirely from conveying the Program.
+
+  13. Use with the GNU Affero General Public License.
+
+  Notwithstanding any other provision of this License, you have
+permission to link or combine any covered work with a work licensed
+under version 3 of the GNU Affero General Public License into a single
+combined work, and to convey the resulting work.  The terms of this
+License will continue to apply to the part which is the covered work,
+but the special requirements of the GNU Affero General Public License,
+section 13, concerning interaction through a network will apply to the
+combination as such.
+
+  14. Revised Versions of this License.
+
+  The Free Software Foundation may publish revised and/or new versions of
+the GNU General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+  Each version is given a distinguishing version number.  If the
+Program specifies that a certain numbered version of the GNU General
+Public License "or any later version" applies to it, you have the
+option of following the terms and conditions either of that numbered
+version or of any later version published by the Free Software
+Foundation.  If the Program does not specify a version number of the
+GNU General Public License, you may choose any version ever published
+by the Free Software Foundation.
+
+  If the Program specifies that a proxy can decide which future
+versions of the GNU General Public License can be used, that proxy's
+public statement of acceptance of a version permanently authorizes you
+to choose that version for the Program.
+
+  Later license versions may give you additional or different
+permissions.  However, no additional obligations are imposed on any
+author or copyright holder as a result of your choosing to follow a
+later version.
+
+  15. Disclaimer of Warranty.
+
+  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
+APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
+HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
+OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
+IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
+ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+  16. Limitation of Liability.
+
+  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
+THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
+USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
+DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
+PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
+EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGES.
+
+  17. Interpretation of Sections 15 and 16.
+
+  If the disclaimer of warranty and limitation of liability provided
+above cannot be given local legal effect according to their terms,
+reviewing courts shall apply local law that most closely approximates
+an absolute waiver of all civil liability in connection with the
+Program, unless a warranty or assumption of liability accompanies a
+copy of the Program in return for a fee.
+
+                     END OF TERMS AND CONDITIONS
+
+            How to Apply These Terms to Your New Programs
+
+  If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+  To do so, attach the following notices to the program.  It is safest
+to attach them to the start of each source file to most effectively
+state the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the program's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    This program is free software: you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+Also add information on how to contact you by electronic and paper mail.
+
+  If the program does terminal interaction, make it output a short
+notice like this when it starts in an interactive mode:
+
+    <program>  Copyright (C) <year>  <name of author>
+    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    This is free software, and you are welcome to redistribute it
+    under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License.  Of course, your program's commands
+might be different; for a GUI interface, you would use an "about box".
+
+  You should also get your employer (if you work as a programmer) or school,
+if any, to sign a "copyright disclaimer" for the program, if necessary.
+For more information on this, and how to apply and follow the GNU GPL, see
+<http://www.gnu.org/licenses/>.
+
+  The GNU General Public License does not permit incorporating your program
+into proprietary programs.  If your program is a subroutine library, you
+may consider it more useful to permit linking proprietary applications with
+the library.  If this is what you want to do, use the GNU Lesser General
+Public License instead of this License.  But first, please read
+<http://www.gnu.org/philosophy/why-not-lgpl.html>.
diff --git a/SeqAn-1.1/LGPL.txt b/SeqAn-1.1/LGPL.txt
new file mode 100644 (file)
index 0000000..fc8a5de
--- /dev/null
@@ -0,0 +1,165 @@
+                  GNU LESSER GENERAL PUBLIC LICENSE
+                       Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+
+  This version of the GNU Lesser General Public License incorporates
+the terms and conditions of version 3 of the GNU General Public
+License, supplemented by the additional permissions listed below.
+
+  0. Additional Definitions. 
+
+  As used herein, "this License" refers to version 3 of the GNU Lesser
+General Public License, and the "GNU GPL" refers to version 3 of the GNU
+General Public License.
+
+  "The Library" refers to a covered work governed by this License,
+other than an Application or a Combined Work as defined below.
+
+  An "Application" is any work that makes use of an interface provided
+by the Library, but which is not otherwise based on the Library.
+Defining a subclass of a class defined by the Library is deemed a mode
+of using an interface provided by the Library.
+
+  A "Combined Work" is a work produced by combining or linking an
+Application with the Library.  The particular version of the Library
+with which the Combined Work was made is also called the "Linked
+Version".
+
+  The "Minimal Corresponding Source" for a Combined Work means the
+Corresponding Source for the Combined Work, excluding any source code
+for portions of the Combined Work that, considered in isolation, are
+based on the Application, and not on the Linked Version.
+
+  The "Corresponding Application Code" for a Combined Work means the
+object code and/or source code for the Application, including any data
+and utility programs needed for reproducing the Combined Work from the
+Application, but excluding the System Libraries of the Combined Work.
+
+  1. Exception to Section 3 of the GNU GPL.
+
+  You may convey a covered work under sections 3 and 4 of this License
+without being bound by section 3 of the GNU GPL.
+
+  2. Conveying Modified Versions.
+
+  If you modify a copy of the Library, and, in your modifications, a
+facility refers to a function or data to be supplied by an Application
+that uses the facility (other than as an argument passed when the
+facility is invoked), then you may convey a copy of the modified
+version:
+
+   a) under this License, provided that you make a good faith effort to
+   ensure that, in the event an Application does not supply the
+   function or data, the facility still operates, and performs
+   whatever part of its purpose remains meaningful, or
+
+   b) under the GNU GPL, with none of the additional permissions of
+   this License applicable to that copy.
+
+  3. Object Code Incorporating Material from Library Header Files.
+
+  The object code form of an Application may incorporate material from
+a header file that is part of the Library.  You may convey such object
+code under terms of your choice, provided that, if the incorporated
+material is not limited to numerical parameters, data structure
+layouts and accessors, or small macros, inline functions and templates
+(ten or fewer lines in length), you do both of the following:
+
+   a) Give prominent notice with each copy of the object code that the
+   Library is used in it and that the Library and its use are
+   covered by this License.
+
+   b) Accompany the object code with a copy of the GNU GPL and this license
+   document.
+
+  4. Combined Works.
+
+  You may convey a Combined Work under terms of your choice that,
+taken together, effectively do not restrict modification of the
+portions of the Library contained in the Combined Work and reverse
+engineering for debugging such modifications, if you also do each of
+the following:
+
+   a) Give prominent notice with each copy of the Combined Work that
+   the Library is used in it and that the Library and its use are
+   covered by this License.
+
+   b) Accompany the Combined Work with a copy of the GNU GPL and this license
+   document.
+
+   c) For a Combined Work that displays copyright notices during
+   execution, include the copyright notice for the Library among
+   these notices, as well as a reference directing the user to the
+   copies of the GNU GPL and this license document.
+
+   d) Do one of the following:
+
+       0) Convey the Minimal Corresponding Source under the terms of this
+       License, and the Corresponding Application Code in a form
+       suitable for, and under terms that permit, the user to
+       recombine or relink the Application with a modified version of
+       the Linked Version to produce a modified Combined Work, in the
+       manner specified by section 6 of the GNU GPL for conveying
+       Corresponding Source.
+
+       1) Use a suitable shared library mechanism for linking with the
+       Library.  A suitable mechanism is one that (a) uses at run time
+       a copy of the Library already present on the user's computer
+       system, and (b) will operate properly with a modified version
+       of the Library that is interface-compatible with the Linked
+       Version. 
+
+   e) Provide Installation Information, but only if you would otherwise
+   be required to provide such information under section 6 of the
+   GNU GPL, and only to the extent that such information is
+   necessary to install and execute a modified version of the
+   Combined Work produced by recombining or relinking the
+   Application with a modified version of the Linked Version. (If
+   you use option 4d0, the Installation Information must accompany
+   the Minimal Corresponding Source and Corresponding Application
+   Code. If you use option 4d1, you must provide the Installation
+   Information in the manner specified by section 6 of the GNU GPL
+   for conveying Corresponding Source.)
+
+  5. Combined Libraries.
+
+  You may place library facilities that are a work based on the
+Library side by side in a single library together with other library
+facilities that are not Applications and are not covered by this
+License, and convey such a combined library under terms of your
+choice, if you do both of the following:
+
+   a) Accompany the combined library with a copy of the same work based
+   on the Library, uncombined with any other library facilities,
+   conveyed under the terms of this License.
+
+   b) Give prominent notice with the combined library that part of it
+   is a work based on the Library, and explaining where to find the
+   accompanying uncombined form of the same work.
+
+  6. Revised Versions of the GNU Lesser General Public License.
+
+  The Free Software Foundation may publish revised and/or new versions
+of the GNU Lesser General Public License from time to time. Such new
+versions will be similar in spirit to the present version, but may
+differ in detail to address new problems or concerns.
+
+  Each version is given a distinguishing version number. If the
+Library as you received it specifies that a certain numbered version
+of the GNU Lesser General Public License "or any later version"
+applies to it, you have the option of following the terms and
+conditions either of that published version or of any later version
+published by the Free Software Foundation. If the Library as you
+received it does not specify a version number of the GNU Lesser
+General Public License, you may choose any version of the GNU Lesser
+General Public License ever published by the Free Software Foundation.
+
+  If the Library as you received it specifies that a proxy can decide
+whether future versions of the GNU Lesser General Public License shall
+apply, that proxy's public statement of acceptance of any version is
+permanent authorization for you to choose that version for the
+Library.
diff --git a/SeqAn-1.1/README.txt b/SeqAn-1.1/README.txt
new file mode 100644 (file)
index 0000000..53f2d08
--- /dev/null
@@ -0,0 +1,29 @@
+This is SeqAn, the C++ template library for sequence analysis
+
+See http://www.seqan.de for more information
+
+Read "docs/Page_Installation.html" for detailed installation instructions.
+
+
+Folders:
+========
+
+"seqan": SeqAn library (add the folder that contains "seqan" to 
+         your include path)
+"demos": SeqAn demos, see also "docs/INDEXPAGE_Demo.html"
+"apps":  SeqAn applications
+"docs":  HTML-Documentation
+
+
+Files:
+======
+
+"Makefile": make file for Linux/Darwin/Solaris
+"*_7.sln", "*_7.vcproj": Visual Studio .net 2003 solution and project files
+"*_8.sln", "*_8.vcproj": Visual Studio .net 2005 solution and project files
+"*_9.sln", "*_9.vcproj": Visual Studio .net 2008 solution and project files
+
+
+Have fun!
+
+Your SeqAn Team
diff --git a/SeqAn-1.1/platform_linux_gcc.h b/SeqAn-1.1/platform_linux_gcc.h
new file mode 100644 (file)
index 0000000..a385cea
--- /dev/null
@@ -0,0 +1,26 @@
+#define PLATFORM "gcc"
+
+#ifndef PLATFORM_GCC
+  #define PLATFORM_GCC
+#endif
+
+// should be set before including anything
+#ifndef _FILE_OFFSET_BITS
+  #define _FILE_OFFSET_BITS 64
+#endif
+
+#ifndef _LARGEFILE_SOURCE
+  #define _LARGEFILE_SOURCE
+#endif
+
+//#include <unistd.h>
+#include <inttypes.h>
+
+#define finline __inline__
+
+// default 64bit type
+typedef int64_t __int64;
+
+
+//define SEQAN_SWITCH_USE_FORWARDS to use generated forwards 
+#define SEQAN_SWITCH_USE_FORWARDS
diff --git a/SeqAn-1.1/platform_windows_mingw.h b/SeqAn-1.1/platform_windows_mingw.h
new file mode 100644 (file)
index 0000000..70bda5b
--- /dev/null
@@ -0,0 +1,10 @@
+#define PLATFORM "windows"
+
+#ifndef PLATFORM_WINDOWS
+  #define PLATFORM_WINDOWS
+#endif
+
+#define finline __inline__
+
+//define SEQAN_SWITCH_USE_FORWARDS to use generated forwards 
+//#define SEQAN_SWITCH_USE_FORWARDS
diff --git a/SeqAn-1.1/platform_windows_vs.h b/SeqAn-1.1/platform_windows_vs.h
new file mode 100644 (file)
index 0000000..7f097d1
--- /dev/null
@@ -0,0 +1,13 @@
+#define PLATFORM "windows"
+
+#ifndef PLATFORM_WINDOWS
+  #define PLATFORM_WINDOWS
+#endif
+
+#pragma warning( disable : 4675 )
+#pragma warning( disable : 4503 )
+
+#define finline __forceinline
+
+//define SEQAN_SWITCH_USE_FORWARDS to use generated forwards 
+//#define SEQAN_SWITCH_USE_FORWARDS
diff --git a/SeqAn-1.1/seqan/basic.h b/SeqAn-1.1/seqan/basic.h
new file mode 100644 (file)
index 0000000..27beba1
--- /dev/null
@@ -0,0 +1,115 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: basic.h,v 1.2 2009/05/06 20:32:59 langmead Exp $
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_BASIC_H
+#define SEQAN_HEADER_BASIC_H
+
+//____________________________________________________________________________
+// prerequisites
+
+#include <seqan/platform.h>
+
+//#include <cstring>
+#ifdef PLATFORM_WINDOWS
+#include <limits>      // limits include file exists only for g++ >= 3.0
+#endif
+
+#include <cstddef>     // size_t
+#include <cstdio>      // FILE, basic_debug
+#include <ctime>
+#include <iterator>
+#include <algorithm>
+#include <memory.h> // memset
+#include <string>      // basic_profile
+
+#define SEQAN_NAMESPACE_MAIN seqan
+
+//____________________________________________________________________________
+
+#include <seqan/basic/basic_forwards.h>
+#ifdef SEQAN_SWITCH_USE_FORWARDS
+#include <seqan/basic/basic_generated_forwards.h>
+#endif
+
+#include <seqan/basic/basic_debug.h>
+#include <seqan/basic/basic_profile.h>
+#include <seqan/basic/basic_definition.h>
+#include <seqan/basic/basic_metaprogramming.h>
+#include <seqan/basic/basic_type.h>
+#include <seqan/basic/basic_tag.h>
+
+//____________________________________________________________________________
+// allocators
+
+#include <seqan/basic/basic_allocator_interface.h>
+#include <seqan/basic/basic_allocator_to_std.h>
+
+#include <seqan/basic/basic_holder.h>
+
+#include <seqan/basic/basic_allocator_simple.h>
+#include <seqan/basic/basic_allocator_singlepool.h>
+#include <seqan/basic/basic_allocator_multipool.h>
+//#include <seqan/basic/basic_allocator_chunkpool.h>
+
+//____________________________________________________________________________
+
+#include <seqan/basic/basic_converter.h>
+#include <seqan/basic/basic_compare.h>
+#include <seqan/basic/basic_operator.h>
+
+#include <seqan/basic/basic_host.h>
+
+//____________________________________________________________________________
+// iterators
+
+#include <seqan/basic/basic_iterator.h>
+#include <seqan/basic/basic_iterator_base.h>
+
+#include <seqan/basic/basic_transport.h>
+
+#include <seqan/basic/basic_iterator_simple.h>
+#include <seqan/basic/basic_iterator_adaptor.h>
+#include <seqan/basic/basic_iterator_position.h>
+#include <seqan/basic/basic_iterator_adapt_std.h>
+//#include <seqan/basic_identifier.h>
+
+#include <seqan/basic/basic_proxy.h>
+
+#include <seqan/basic/basic_pointer.h>
+
+//____________________________________________________________________________
+// alphabets
+
+#include <seqan/basic/basic_alphabet_interface.h>
+#include <seqan/basic/basic_alphabet_trait_basic.h>
+
+#include <seqan/basic/basic_alphabet_interface2.h>
+
+#include <seqan/basic/basic_alphabet_simple_tabs.h>
+#include <seqan/basic/basic_alphabet_simple.h>
+
+//____________________________________________________________________________
+
+//#include <seqan/basic/basic_counted_ptr>
+#include <seqan/basic/basic_volatile_ptr.h>
+
+#include <seqan/basic/basic_aggregates.h>
+
+#endif //#ifndef SEQAN_HEADER_...
diff --git a/SeqAn-1.1/seqan/basic/basic_aggregates.h b/SeqAn-1.1/seqan/basic/basic_aggregates.h
new file mode 100644 (file)
index 0000000..68e4e70
--- /dev/null
@@ -0,0 +1,689 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de 
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: basic_aggregates.h,v 1.1 2008/08/25 16:20:01 langmead Exp $
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_BASIC_AGGREGATES_H
+#define SEQAN_HEADER_BASIC_AGGREGATES_H
+
+namespace SEQAN_NAMESPACE_MAIN
+{
+
+//____________________________________________________________________________
+
+    struct _Compressed;
+       typedef Tag<_Compressed> Compressed;
+
+       // for Pairs with small i1-values
+       // store i1 and i2 in one word of type i2
+       // use the upper bits for i1 and the lower bits for i2
+       template <unsigned valueSizeI1 = 16>
+       struct CutCompressed {
+               enum { bitSizeI1 = Log2<valueSizeI1>::VALUE };
+       };
+
+/**
+.Class.Pair:
+..cat:Aggregates
+..summary:Stores two arbitrary objects.
+..signature:Pair<T1, T2[, Compression]>
+..param.T1:The type of the first object.
+..param.T2:The type of the second object.
+..param.Compression:If $Compressed$, the pair is stored in a more space efficient way (useful for external storage).
+...note:When compression is enabled, referring to members is not allowed.
+...default:$void$, no compression (faster access).
+.Memfunc.Pair#Pair:
+..class:Class.Pair
+..summary:Constructor
+..signature:Pair<T1, T2> ()    
+..signature:Pair<T1, T2> (pair)
+..signature:Pair<T1, T2> (i1, i2)
+..param.pair:Other Pair object. (copy constructor)
+..param.i1:T1 object.
+..param.i2:T2 object.
+.Memvar.Pair#i1:
+..class:Class.Pair
+..summary:T1 object
+.Memvar.Pair#i2:
+..class:Class.Pair
+..summary:T2 object
+*/
+
+       // standard storage 
+       template <typename _T1, typename _T2 = _T1, typename TCompression = void>
+    struct Pair {
+        typedef _T1 T1;
+        typedef _T2 T2;
+           _T1 i1;
+           _T2 i2;
+               inline Pair() {}
+               inline Pair(Pair const &_p): i1(_p.i1), i2(_p.i2) {}
+               inline Pair(_T1 const &_i1, _T2 const &_i2): i1(_i1), i2(_i2) {}
+
+               template <typename __T1, typename __T2, typename __TCompression>
+               inline Pair(Pair<__T1, __T2, __TCompression> const &_p):
+                       i1(getValueI1(_p)), i2(getValueI2(_p)) {}
+    };
+
+
+
+       // unaligned and unpadded storage (space efficient)
+#ifdef PLATFORM_WINDOWS
+    #pragma pack(push,1)
+#endif
+    template <typename _T1, typename _T2>
+    struct Pair<_T1, _T2, Compressed> {
+        typedef _T1 T1;
+        typedef _T2 T2;
+        _T1 i1;
+        _T2 i2;
+               inline Pair() {}
+               inline Pair(Pair const &_p): i1(_p.i1), i2(_p.i2) {}
+               inline Pair(_T1 const &_i1, _T2 const &_i2): i1(_i1), i2(_i2) {}
+
+               template <typename __T1, typename __T2, typename __TCompression>
+               inline Pair(Pair<__T1, __T2, __TCompression> const &_p):
+                       i1(getValueI1(_p)), i2(getValueI2(_p)) {}
+       }
+#ifndef PLATFORM_WINDOWS
+       __attribute__((packed))
+#endif
+       ;
+#ifdef PLATFORM_WINDOWS
+    #pragma pack(pop)
+#endif
+
+
+
+#ifdef PLATFORM_WINDOWS
+    #pragma pack(push,1)
+#endif
+    template <typename _T1, typename _T2, unsigned valueSizeI1>
+    struct Pair<_T1, _T2, CutCompressed<valueSizeI1> > {
+        typedef _T1 T1;
+        typedef _T2 T2;
+
+               typedef _T2 T12;
+
+        T12 i12;
+
+               enum { bitSizeI1 = CutCompressed<valueSizeI1>::bitSizeI1 };
+        enum { bitShiftI1 = BitsPerValue<T12>::VALUE - bitSizeI1 };
+
+               inline Pair() {}
+               inline Pair(Pair const &_p): i12(_p.i12) {}
+               inline Pair(_T1 const &_i1, _T2 const &_i2):
+                       i12(((T12)_i1 << bitShiftI1) + (T12)_i2) {}
+
+               template <typename __T1, typename __T2, typename __TCompression>
+               inline Pair(Pair<__T1, __T2, __TCompression> const &_p):
+                       i12(((T12)getValueI1(_p) << bitShiftI1) + (T12)getValueI2(_p)) {}
+       }
+#ifndef PLATFORM_WINDOWS
+       __attribute__((packed))
+#endif
+       ;
+#ifdef PLATFORM_WINDOWS
+    #pragma pack(pop)
+#endif
+
+
+
+    template <typename _T1, typename _T2, typename TCompression>
+       std::ostream& operator<<(std::ostream &out, Pair<_T1,_T2,TCompression> const &p) {
+               out << "< " << getValueI1(p) << " , " << getValueI2(p) << " >";
+               return out;
+       }
+
+       template <typename T1, typename T2, typename TCompression>
+       struct Value< Pair<T1, T2, TCompression>, 1 > {
+               typedef T1 Type;
+       };
+
+       template <typename T1, typename T2, typename TCompression>
+       struct Value< Pair<T1, T2, TCompression>, 2 > {
+               typedef T2 Type;
+       };
+
+       template <typename T1, typename T2, typename TCompression>
+       struct Spec< Pair<T1, T2, TCompression> > {
+               typedef TCompression Type;
+       };
+
+
+//____________________________________________________________________________
+
+       template <typename TKey, typename TObject, typename TSpec>
+       struct Key< Pair<TKey, TObject, TSpec> > 
+       {
+               typedef TKey Type;
+       };
+
+       template <typename TKey, typename TCargo, typename TSpec>
+       struct Cargo< Pair<TKey, TCargo, TSpec> > 
+       {
+               typedef TCargo Type;
+       };
+//____________________________________________________________________________
+
+/**
+.Class.Triple:
+..cat:Aggregates
+..summary:Stores three arbitrary objects.
+..signature:Triple<T1, T2, T3[, Compression]>
+..param.T1:The type of the first object.
+..param.T2:The type of the second object.
+..param.T3:The type of the third object.
+..param.Compression:If $Compressed$, the triple is stored in a more space efficient way (useful for external storage).
+...note:When compression is enabled, referring to members is not allowed.
+...default:$void$, no compression (faster access).
+.Memfunc.Triple#Triple:
+..class:Class.Triple
+..summary:Constructor
+..signature:Triple<T1, T2, T3> ()
+..signature:Triple<T1, T2, T3> (triple)
+..signature:Triple<T1, T2, T3> (i1, i2, i3)
+..param.triple:Other Triple object. (copy constructor)
+..param.i1:T1 object.
+..param.i2:T2 object.
+..param.i3:T3 object.
+.Memvar.Triple#i1:
+..class:Class.Triple
+..summary:T1 object
+.Memvar.Triple#i2:
+..class:Class.Triple
+..summary:T2 object
+.Memvar.Triple#i3:
+..class:Class.Triple
+..summary:T3 object
+*/
+
+       // standard storage 
+       template <typename _T1, typename _T2 = _T1, typename _T3 = _T1, typename TCompression = void>
+    struct Triple {
+        typedef _T1 T1;
+        typedef _T2 T2;
+        typedef _T3 T3;
+        _T1 i1;
+        _T2 i2;
+        _T3 i3;
+               inline Triple() {}
+               inline Triple(Triple const &_p):
+                       i1(_p.i1), i2(_p.i2), i3(_p.i3) {}
+               inline Triple(_T1 const &_i1, _T2 const &_i2, _T3 const &_i3):
+                       i1(_i1), i2(_i2), i3(_i3) {}
+
+               template <typename __T1, typename __T2, typename __T3, typename __TCompression>
+               inline Triple(Triple<__T1, __T2, __T3, __TCompression> const &_p):
+                       i1(getValueI1(_p)), i2(getValueI2(_p)), i3(getValueI3(_p)) {}
+       };
+
+       // unaligned and unpadded storage (space efficient)
+#ifdef PLATFORM_WINDOWS
+    #pragma pack(push,1)
+#endif
+    template <typename _T1, typename _T2, typename _T3>
+    struct Triple<_T1, _T2, _T3, Compressed> {
+        typedef _T1 T1;
+        typedef _T2 T2;
+        typedef _T3 T3;
+        _T1 i1;
+        _T2 i2;
+        _T3 i3;
+               inline Triple() {}
+               inline Triple(Triple const &_p):
+                       i1(_p.i1), i2(_p.i2), i3(_p.i3) {}
+               inline Triple(_T1 const &_i1, _T2 const &_i2, _T3 const &_i3):
+                       i1(_i1), i2(_i2), i3(_i3) {}
+
+               template <typename __T1, typename __T2, typename __T3, typename __TCompression>
+               inline Triple(Triple<__T1, __T2, __T3, __TCompression> const &_p):
+                       i1(getValueI1(_p)), i2(getValueI2(_p)), i3(getValueI3(_p)) {}
+       }
+#ifndef PLATFORM_WINDOWS
+       __attribute__((packed))
+#endif
+       ;
+#ifdef PLATFORM_WINDOWS
+    #pragma pack(pop)
+#endif
+
+       template <typename _T1, typename _T2, typename _T3, typename TCompression>
+       std::ostream& operator<<(std::ostream &out, Triple<_T1,_T2,_T3,TCompression> const &t) {
+               out << "< " << getValueI1(t) << " , " << getValueI2(t) << " , " << getValueI3(t) << " >";
+               return out;
+       }
+
+       template <typename T1, typename T2, typename T3, typename TCompression>
+       struct Value< Triple<T1, T2, T3, TCompression>, 1 > {
+               typedef T1 Type;
+       };
+
+       template <typename T1, typename T2, typename T3, typename TCompression>
+       struct Value< Triple<T1, T2, T3, TCompression>, 2 > {
+               typedef T2 Type;
+       };
+
+       template <typename T1, typename T2, typename T3, typename TCompression>
+       struct Value< Triple<T1, T2, T3, TCompression>, 3 > {
+               typedef T3 Type;
+       };
+
+       template <typename T1, typename T2, typename T3, typename TCompression>
+       struct Spec< Triple<T1, T2, T3, TCompression> > {
+               typedef TCompression Type;
+       };
+
+
+//____________________________________________________________________________
+
+/**
+.Class.Tuple:
+..cat:Aggregates
+..summary:A plain fixed-length string.
+..signature:Tuple<T, size[, compress]>
+..param.T:The value type, that is the type of characters stored in the tuple.
+..param.size:The size/length of the tuple.
+...remarks:In contrast to @Class.String@ the length of Tuple is fixed.
+..param.compress:Enable/Disable compression.
+..param.compress:If $void$, no compression is used.
+..param.compress:If $Compressed$, the characters are stored as a bit sequence in an ordinal type (char, ..., __int64)
+...remarks:Only useful for small alphabets and small tuple sizes (|Sigma|^size <= 2^64) as for DNA or protein m-grams)
+...default:void.
+..see:Spec.Sampler
+*/
+
+       // standard storage 
+       template <typename _T, unsigned _size, typename TCompression = void>
+    struct Tuple {
+        typedef _T T;
+        enum { size = _size };
+        _T i[_size];
+
+               template <typename TPos>
+        inline _T& operator[](TPos k) {
+            SEQAN_ASSERT(k >= 0 && k < size);
+            return i[k];
+        }
+               template <typename TPos>
+        inline const _T& operator[](TPos k) const {
+            SEQAN_ASSERT(k >= 0 && k < size);
+            return i[k];
+        }
+               inline _T* operator&() { return i; }
+               inline const _T* operator&() const { return i; }
+
+               // has to be inline because elements (like this tuple) of packed structs can't be arguments
+               template <typename TPos, typename SSS>
+               inline SSS const assignValueAt(TPos k, SSS const source) {
+                       return i[k] = source;
+               }
+    };
+
+
+    template < unsigned char _size >
+       struct _BitVector {
+        typedef typename _BitVector<_size + 1>::Type Type;
+    };
+
+    template <> struct _BitVector<8> { typedef unsigned char Type; };
+    template <> struct _BitVector<16> { typedef unsigned short Type; };
+    template <> struct _BitVector<32> { typedef unsigned int Type; };
+    template <> struct _BitVector<64> { typedef __int64 Type; };
+    template <> struct _BitVector<255> { typedef __int64 Type; };
+
+       // bit-compressed storage (space efficient)
+#ifdef PLATFORM_WINDOWS
+    #pragma pack(push,1)
+#endif
+    template <typename _T, unsigned _size>
+    struct Tuple<_T, _size, Compressed> {
+        typedef _T T;
+        enum { size = _size };
+        enum { bitSize = BitsPerValue<_T>::VALUE };
+        enum { bitMask = (1 << bitSize) - 1 };
+        enum { mask = (1 << (size * bitSize)) - 1 };
+        typedef typename _BitVector< bitSize * size >::Type CT;
+        
+        CT i;
+/*
+               inline Tuple() {
+                       SEQAN_ASSERT(bitSize * size <= sizeof(CT) * 8);
+               }
+*/
+               template <typename TPos>
+        inline const _T operator[](TPos k) const {
+            SEQAN_ASSERT(k >= 0 && k < size);
+            return (i >> (size - 1 - k) * bitSize) & bitMask;
+        }
+               template <unsigned __size>
+               inline Tuple operator=(Tuple<_T, __size, Compressed> const &_right) {
+                       i = _right.i;
+                       return *this;
+               }
+               template <typename TShiftSize>
+        inline CT operator<<=(TShiftSize shift) {
+            return i = (i << (shift * bitSize)) & mask;
+        }
+               template <typename TShiftSize>
+        inline CT operator<<(TShiftSize shift) const {
+            return (i << (shift * bitSize)) & mask;
+        }
+               template <typename TShiftSize>
+        inline CT operator>>=(TShiftSize shift) {
+            return i = (i >> (shift * bitSize));
+        }
+               template <typename TShiftSize>
+        inline CT operator>>(TShiftSize shift) const {
+            return i >> (shift * bitSize);
+        }
+        template <typename T>
+        inline void operator|=(T const &t) {
+            i |= t;
+        }
+        template <typename T, typename TSpec>
+        inline void operator|=(SimpleType<T, TSpec> const &t) {
+            i |= t.value;
+        }
+               inline CT* operator&() { return &i; }
+               inline const CT* operator&() const { return &i; }
+
+               // has to be inline because elements (like this tuple) of packed structs can't be arguments
+               template <typename TPos, typename SSS>
+               inline SSS const assignValueAt(TPos k, SSS const source) {
+                       typedef Tuple<_T, _size, Compressed> Tup;
+                       typename Tup::CT mask = Tup::bitMask << ((_size - 1 - k) * bitSize);
+                       i = (i & ~mask) | ((CT)source << ((_size - 1 - k) * bitSize));
+                       return source;
+               }
+    }
+#ifndef PLATFORM_WINDOWS
+       __attribute__((packed))
+#endif
+       ;
+#ifdef PLATFORM_WINDOWS
+    #pragma pack(pop)
+#endif
+
+
+//////////////////////////////////////////////////////////////////////////////
+// length
+
+    template <typename _T, unsigned _size, typename TCompression>
+       inline unsigned length(Tuple<_T, _size, TCompression> const &) { return _size; }
+
+       ///.Metafunction.LENGTH.param.T.type:Class.Tuple
+    template <typename _T, unsigned _size, typename TCompression>
+       struct LENGTH< Tuple<_T, _size, TCompression> >
+       {
+               enum { VALUE = _size };
+       };
+
+//////////////////////////////////////////////////////////////////////////////
+// assignValueAt
+
+    template <typename TObject, typename TPos, typename TSource>
+    inline TSource & 
+       assignValueAt(TObject &me, TPos k, TSource &source) {
+        assign(value(me, k), source);
+               return source;
+    }
+
+    template <typename TObject, typename TPos, typename TSource>
+    inline TSource const & 
+       assignValueAt(TObject &me, TPos k, TSource const &source) {
+        assign(value(me, k), source);
+               return source;
+    }
+
+    template <typename TTT, unsigned _size, typename SSS, typename TPos>
+    inline SSS const assignValueAt(Tuple<TTT, _size, void> &me, TPos k, SSS const source) {
+        return me.i[k] = source;
+    }
+
+    template <typename TTT, unsigned _size, typename SSS, typename TPos>
+    inline SSS const assignValueAt(Tuple<TTT, _size, Compressed> &me, TPos k, SSS const source) {
+        typedef Tuple<TTT, _size, Compressed> Tup;
+        typename Tup::CT mask = Tup::bitMask << ((_size - 1 - k) * me.bitSize);
+        me.i = (me.i & ~mask) | source << ((_size - 1 - k) * me.bitSize);
+        return source;
+    }
+
+    template <typename TTT, typename SSS, typename SSSpec, unsigned _size, typename TPos>
+    inline SimpleType<SSS, SSSpec> const & assignValueAt(Tuple<TTT, _size, Compressed> &me, TPos k, SimpleType<SSS, SSSpec> const &source) {
+        typedef Tuple<TTT, _size, Compressed> Tup;
+        typename Tup::CT mask = Tup::bitMask << ((_size - 1 - k) * me.bitSize);
+        me.i = (me.i & ~mask) | source.value << ((_size - 1 - k) * me.bitSize);
+        return source;
+    }
+
+//////////////////////////////////////////////////////////////////////////////
+// clear
+
+       template <typename TTT, unsigned _size, typename TCompression>
+       inline void clear(Tuple<TTT, _size, TCompression> &me) {
+        memset<sizeof(me.i), 0>(&(me.i));
+       }
+    template <typename TTT, unsigned _size>
+       inline void clear(Tuple<TTT, _size, Compressed> &me) {
+               me.i = 0; 
+       }
+
+//////////////////////////////////////////////////////////////////////////////
+// optimized compares
+
+       template <typename TTT, unsigned _sizeL, unsigned _sizeR>
+       inline bool operator<(Tuple<TTT, _sizeL, Compressed> const &_left, Tuple<TTT, _sizeR, Compressed> const &_right) {
+               return _left.i < _right.i;
+       }
+       template <typename TTT, unsigned _sizeL, unsigned _sizeR>
+       inline bool operator>(Tuple<TTT, _sizeL, Compressed> const &_left, Tuple<TTT, _sizeR, Compressed> const &_right) {
+               return _left.i > _right.i;
+       }
+       template <typename TTT, unsigned _sizeL, unsigned _sizeR>
+       inline bool operator==(Tuple<TTT, _sizeL, Compressed> const &_left, Tuple<TTT, _sizeR, Compressed> const &_right) {
+               return _left.i == _right.i;
+       }
+       template <typename TTT, unsigned _sizeL, unsigned _sizeR>
+       inline bool operator!=(Tuple<TTT, _sizeL, Compressed> const &_left, Tuple<TTT, _sizeR, Compressed> const &_right) {
+               return _left.i != _right.i;
+       }
+
+//////////////////////////////////////////////////////////////////////////////
+// optimized shifts
+
+    struct _TupleShiftLeftWorker {
+        template <typename Arg>
+        static inline void body(Arg &arg, unsigned I) {
+            arg[I-1] = arg[I];
+        }
+    };
+
+    struct _TupleShiftRightWorker {
+        template <typename Arg>
+        static inline void body(Arg &arg, unsigned I) {
+            arg[I] = arg[I-1];
+        }
+    };
+
+       template <typename _T, unsigned _size, typename TCompression>
+       inline void shiftLeft(Tuple<_T, _size, TCompression> &me) {
+               LOOP<_TupleShiftLeftWorker, _size - 1>::run(me);
+       }
+
+       template <typename _T, unsigned _size, typename TCompression>
+       inline void shiftRight(Tuple<_T, _size, TCompression> &me) {
+               LOOP_REVERSE<_TupleShiftRightWorker, _size - 1>::run(me);
+       }
+
+       template <typename _T, unsigned _size>
+       inline void shiftLeft(Tuple<_T, _size, Compressed> &me) {
+               me<<=1;
+       }
+
+       template <typename _T, unsigned _size>
+       inline void shiftRight(Tuple<_T, _size, Compressed> &me) {
+               me>>=1;
+       }
+
+//////////////////////////////////////////////////////////////////////////////
+// standard output
+
+       template <typename _T, unsigned _size, typename TCompression>
+       std::ostream& operator<<(std::ostream& out, Tuple<_T,_size,TCompression> const &a) {
+               out << "[";
+               if (a.size > 0)
+                       out << a[0];
+               for(unsigned j = 1; j < a.size; ++j)
+                       out << " " << a[j];
+               out << "]";
+               return out;
+       }
+
+       template <typename _T, unsigned _size, typename TCompression>
+       struct Value< Tuple<_T, _size, TCompression> > {
+               typedef _T Type;
+       };
+
+       template <typename _T, unsigned _size, typename TCompression>
+       struct Spec< Tuple<_T, _size, TCompression> > {
+               typedef TCompression Type;
+       };
+
+//////////////////////////////////////////////////////////////////////////////
+// getValueIx
+
+       template <typename T1, typename T2, typename TCompression>
+       inline T1 getValueI1(Pair<T1, T2, TCompression> const &pair) {
+               return pair.i1;
+       }
+
+       template <typename T1, typename T2, typename TCompression>
+       inline T2 getValueI2(Pair<T1, T2, TCompression> const &pair) {
+               return pair.i2;
+       }
+
+       template <typename T1, typename T2, unsigned valueSizeI1>
+       inline T1 getValueI1(Pair<T1, T2, CutCompressed<valueSizeI1> > const &pair) {
+               typedef Pair<T1, T2, CutCompressed<valueSizeI1> > TPair;
+               return pair.i12 >> TPair::bitShiftI1;
+       }
+
+       template <typename T1, typename T2, unsigned valueSizeI1>
+       inline T2 getValueI2(Pair<T1, T2, CutCompressed<valueSizeI1> > const &pair) {
+               typedef Pair<T1, T2, CutCompressed<valueSizeI1> > TPair;                 
+               return pair.i12 & (((typename TPair::T12)1 << TPair::bitShiftI1) - 1);
+       }
+//____________________________________________________________________________
+
+       template <typename T1, typename T2, typename T3, typename TCompression>
+       inline T1 getValueI1(Triple<T1, T2, T3, TCompression> const &triple) {
+               return triple.i1;
+       }
+
+       template <typename T1, typename T2, typename T3, typename TCompression>
+       inline T2 getValueI2(Triple<T1, T2, T3, TCompression> const &triple) {
+               return triple.i2;
+       }
+
+       template <typename T1, typename T2, typename T3, typename TCompression>
+       inline T3 getValueI3(Triple<T1, T2, T3, TCompression> const &triple) {
+               return triple.i3;
+       }
+
+//////////////////////////////////////////////////////////////////////////////
+// assignValueIx
+
+       template <typename T1, typename T2, typename TCompression, typename T>
+       inline void assignValueI1(Pair<T1, T2, TCompression> &pair, T const &_i) {
+               pair.i1 = _i;
+       }
+
+       template <typename T1, typename T2, typename TCompression, typename T>
+       inline void assignValueI2(Pair<T1, T2, TCompression> &pair, T const &_i) {
+               pair.i2 = _i;
+       }
+
+       template <typename T1, typename T2, unsigned valueSizeI1, typename T>
+       inline void assignValueI1(Pair<T1, T2, CutCompressed<valueSizeI1> > &pair, T const &_i) 
+       {
+               typedef Pair<T1, T2, CutCompressed<valueSizeI1> > TPair;
+               pair.i12 = ((typename TPair::T12)_i << TPair::bitShiftI1) |
+                          (pair.i12 & (((typename TPair::T12)1 << TPair::bitShiftI1) - 1));
+       }
+
+       template <typename T1, typename T2, unsigned valueSizeI1, typename T>
+       inline void assignValueI2(Pair<T1, T2, CutCompressed<valueSizeI1> > &pair, T const &_i) {
+               typedef Pair<T1, T2, CutCompressed<valueSizeI1> > TPair;
+               pair.i12 = (pair.i12 & ~(((typename TPair::T12)1 << TPair::bitShiftI1) - 1)) | _i;
+       }
+//____________________________________________________________________________
+
+       template <typename T1, typename T2, typename T3, typename TCompression, typename T>
+       inline T const assignValueI1(Triple<T1, T2, T3, TCompression> &triple, T const &_i) {
+               return triple.i1 = _i;
+       }
+
+       template <typename T1, typename T2, typename T3, typename TCompression, typename T>
+       inline T const assignValueI2(Triple<T1, T2, T3, TCompression> &triple, T const &_i) {
+               return triple.i2 = _i;
+       }
+
+       template <typename T1, typename T2, typename T3, typename TCompression, typename T>
+       inline T const assignValueI3(Triple<T1, T2, T3, TCompression> &triple, T const &_i) {
+               return triple.i3 = _i;
+       }
+
+//////////////////////////////////////////////////////////////////////////////
+// operator ==/!= for pairs and triples
+
+       template <typename L1, typename L2, typename LCompression, typename R1, typename R2, typename RCompression>
+       inline bool operator==(Pair<L1, L2, LCompression> const &_left, Pair<R1, R2, RCompression> const &_right) {
+               return _left.i1 == _right.i1 && _left.i2 == _right.i2;
+       }
+       template <typename L1, typename L2, typename LCompression, typename R1, typename R2, typename RCompression>
+       inline bool operator!=(Pair<L1, L2, LCompression> const &_left, Pair<R1, R2, RCompression> const &_right) {
+               return _left.i1 != _right.i1 || _left.i2 != _right.i2;
+       }
+
+       template <typename L1, typename L2, unsigned LSizeI1, typename R1, typename R2, unsigned RSizeI1>
+       inline bool operator==(Pair<L1, L2, CutCompressed<LSizeI1> > const &_left, Pair<R1, R2, CutCompressed<RSizeI1> > const &_right) {
+               return _left.i12 == _right.i12;
+       }
+       template <typename L1, typename L2, unsigned LSizeI1, typename R1, typename R2, unsigned RSizeI1>
+       inline bool operator!=(Pair<L1, L2, CutCompressed<LSizeI1> > const &_left, Pair<R1, R2, CutCompressed<RSizeI1> > const &_right) {
+               return _left.i12 != _right.i12;
+       }
+//____________________________________________________________________________
+
+       template <
+               typename L1, typename L2, typename L3, typename LCompression, 
+               typename R1, typename R2, typename R3, typename RCompression>
+       inline bool operator==(Triple<L1, L2, L3, LCompression> const &_left, Triple<R1, R2, R3, RCompression> const &_right) {
+               return _left.i1 == _right.i1 && _left.i2 == _right.i2 && _left.i3 == _right.i3;
+       }
+       template <
+               typename L1, typename L2, typename L3, typename LCompression, 
+               typename R1, typename R2, typename R3, typename RCompression>
+       inline bool operator!=(Triple<L1, L2, L3, LCompression> const &_left, Triple<R1, R2, R3, RCompression> const &_right) {
+               return _left.i1 != _right.i1 || _left.i2 != _right.i2 || _left.i3 != _right.i3;
+       }
+
+}// namespace SEQAN_NAMESPACE_MAIN
+
+#endif //#ifndef SEQAN_HEADER_...
diff --git a/SeqAn-1.1/seqan/basic/basic_allocator_interface.h b/SeqAn-1.1/seqan/basic/basic_allocator_interface.h
new file mode 100644 (file)
index 0000000..cc48e0d
--- /dev/null
@@ -0,0 +1,236 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de 
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: basic_allocator_interface.h,v 1.1 2008/08/25 16:20:02 langmead Exp $
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_BASIC_ALLOCATOR_INTERFACE_H
+#define SEQAN_HEADER_BASIC_ALLOCATOR_INTERFACE_H
+
+namespace SEQAN_NAMESPACE_MAIN
+{
+//////////////////////////////////////////////////////////////////////////////
+//Allocator
+//////////////////////////////////////////////////////////////////////////////
+
+
+/**
+.Class.Allocator:
+..cat:Basic
+..summary:Manager for allocated memory.
+..signature:Allocator<TSpec>
+..param.TSpec:The specializing type.
+...metafunction:Metafunction.Spec
+..implements:Concept.Allocator
+..include:basic.h
+..remarks:There are two reasons for using non-trivial allocators:
+...text:1. Allocators support the function @Function.Allocator#clear@ for a fast deallocation of all 
+allocated memory blocks. 
+...text:2. Some allocators are faster in allocating an deallocating memory.
+Pool allocators like e.g. @Spec.Single Pool Allocator@ or @Spec.Multi Pool Allocator@
+speed up @Function.allocate@, @Function.deallocate@, and @Function.Allocator#clear@ for
+pooled memory blocks.
+*/
+
+template <typename TSpec>
+struct Allocator;
+
+///.Function.allocate.param.object.type:Class.Allocator
+///.Function.deallocate.param.object.type:Class.Allocator
+
+
+//////////////////////////////////////////////////////////////////////////////
+// Metafunctions
+//////////////////////////////////////////////////////////////////////////////
+
+//.Metafunction.Spec.param.T.type:Class.Allocator
+
+template <typename TSpec>
+struct Spec<Allocator<TSpec> >
+{
+       typedef TSpec Type;
+};
+
+
+//////////////////////////////////////////////////////////////////////////////
+/**
+.Tag.Allocator Usage:
+..summary:The purpose of an allocated memory block.
+..tag.TagAllocateTemp:Temporary memory. 
+..tag.TagAllocateStorage:Memory for storing container content. 
+..see:Function.allocate
+..see:Function.deallocate
+*/
+struct TagAllocateUnspecified_; //< usage not specified
+typedef Tag<TagAllocateUnspecified_> const TagAllocateUnspecified;
+
+struct TagAllocateTemp_; //< allocate temporary memory
+typedef Tag<TagAllocateTemp_> const TagAllocateTemp;
+
+struct TagAllocateStorage_; //< allocate memory for storing member data
+typedef Tag<TagAllocateStorage_> const TagAllocateStorage;
+
+
+//////////////////////////////////////////////////////////////////////////////
+//allocates memory on heap. No c'tors are called.
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Function.allocate:
+..cat:Memory
+..summary:Allocates memory from heap.
+..signature:allocate(object, data, count [, usage_tag])
+..param.object:Allocator object.
+...remarks:$object$ is conceptually the "owner" of the allocated memory.
+ Objects of all types can be used as allocators. If no special behavior is implemented,
+ default functions allocation/deallocation are applied that uses standard
+ $new$ and $delete$ operators.
+..param.count:Number of items that could be stored in the allocated memory.
+...text:The type of the allocated items is given by the type of $data$.
+..param.usage_tag:A tag the specifies the purpose for the allocated memory.
+...value:@Tag.Allocator Usage@
+..returns.param.data:Pointer to allocated memory.
+...remarks:The value of this pointer is overwritten by the function.
+..remarks:
+...text:The function allocates at least $count*sizeof(data)$ bytes. 
+ The allocated memory is large enough 
+ to hold $count$ objects of type $T$, where $T *$ is type of $data$.
+...note:These objects are not constructed by $allocate$.
+...text:Use e.g. one of the functions @Function.valueConstruct@, @Function.arrayConstruct@, @Function.arrayConstructCopy@ or @Function.arrayFill@
+to construct the objects.
+A $new$ operator which is part of the C++ standard (defined in $<new>$)
+ can also be used to construct objects at a given memory address.
+..note:All allocated memory blocks should be deallocated by the corresponding function @Function.deallocate@.
+..see:Function.deallocate
+..see:Function.valueConstruct
+..see:Function.arrayFill
+..see:Function.arrayConstruct
+..see:Function.arrayConstructCopy
+*/
+template <typename T, typename TValue, typename TSize>
+inline void
+allocate(T const & me,
+                TValue * & data,
+                TSize count)
+{
+       allocate(me, data, count, TagAllocateUnspecified());
+}
+template <typename T, typename TValue, typename TSize>
+inline void
+allocate(T & me,
+                TValue * & data,
+                TSize count)
+{
+       allocate(me, data, count, TagAllocateUnspecified());
+}
+
+template <typename T, typename TValue, typename TSize, typename TUsage>
+inline void
+allocate(T const &, 
+                TValue * & data,
+                TSize count,
+                Tag<TUsage> const)
+{
+       data = (TValue *) operator new(count * sizeof(TValue));
+       if (data)
+           SEQAN_PROADD(SEQAN_PROMEMORY, count * sizeof(TValue));
+}
+template <typename T, typename TValue, typename TSize, typename TUsage>
+inline void
+allocate(T &, 
+                TValue * & data,
+                TSize count,
+                Tag<TUsage> const)
+{
+       data = (TValue *) operator new(count * sizeof(TValue));
+       if (data)
+           SEQAN_PROADD(SEQAN_PROMEMORY, count * sizeof(TValue));
+}
+
+
+//////////////////////////////////////////////////////////////////////////////
+//deallocates memory that was allocates using allocate(.)
+
+/**
+.Function.deallocate:
+..cat:Memory
+..summary:Deallocates memory.
+..signature:deallocate(object, data, count [, usage_tag])
+..param.object:Allocator object.
+...remarks:$object$ is conceptually the "owner" of the allocated memory.
+ Objects of all types can be used as allocators. If no special behavior is implemented,
+ default functions allocation/deallocation are applied that uses standard
+ $new$ and $delete$ operators.
+..param.data:Pointer to allocated memory that was allocated by $allocate$.
+..param.count:Number of items that could be stored in the allocated memory.
+..param.usage_tag:A tag the specifies the purpose for the allocated memory.
+...value:@Tag.Allocator Usage@
+..remarks:
+...text:The values for $object$, $count$ and $usage_tag$ should be the same that was 
+used when $allocate$ was called. The value of $data$ should be the same that was
+returned by $allocate$.
+...note:$deallocate$ does not destruct objects.
+...text:Use e.g. one of the functions @Function.valueDestruct@ or @Function.arrayDestruct@ to destruct the objects.
+$delete$ and $delete []$ operators which are part of the C++ standard (defined in $<new>$)
+ can also be used to destruct objects at a given memory address.
+..see:Function.valueDestruct
+..see:Function.arrayDestruct
+*/
+template <typename T, typename TValue, typename TSize>
+inline void 
+deallocate(T const & me, 
+                  TValue * data, 
+                  TSize const count)
+{
+       deallocate(me, data, count, TagAllocateUnspecified());
+}
+template <typename T, typename TValue, typename TSize>
+inline void 
+deallocate(T & me, 
+                  TValue * data, 
+                  TSize const count)
+{
+       deallocate(me, data, count, TagAllocateUnspecified());
+}
+
+template <typename T, typename TValue, typename TSize, typename TUsage>
+inline void 
+deallocate(T const & /*me*/,
+                  TValue * data, 
+                  TSize count,
+                  Tag<TUsage> const)
+{
+       if (data && count)      // .. to use count if SEQAN_PROFILE is not defined
+           SEQAN_PROSUB(SEQAN_PROMEMORY, count * sizeof(TValue));
+       operator delete ((void *) data);
+}
+template <typename T, typename TValue, typename TSize, typename TUsage>
+inline void 
+deallocate(T & /*me*/,
+                  TValue * data, 
+                  TSize count,
+                  Tag<TUsage> const)
+{
+       if (data && count)      // .. to use count if SEQAN_PROFILE is not defined
+           SEQAN_PROSUB(SEQAN_PROMEMORY, count * sizeof(TValue));
+       operator delete ((void *) data);
+}
+//////////////////////////////////////////////////////////////////////////////
+
+} //namespace SEQAN_NAMESPACE_MAIN
+
+#endif //#ifndef SEQAN_HEADER_...
diff --git a/SeqAn-1.1/seqan/basic/basic_allocator_multipool.h b/SeqAn-1.1/seqan/basic/basic_allocator_multipool.h
new file mode 100644 (file)
index 0000000..c637e20
--- /dev/null
@@ -0,0 +1,230 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: basic_allocator_multipool.h,v 1.2 2009/02/19 01:51:23 langmead Exp $
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_BASIC_ALLOCATOR_MULTIPOOL_H
+#define SEQAN_HEADER_BASIC_ALLOCATOR_MULTIPOOL_H
+
+namespace SEQAN_NAMESPACE_MAIN
+{
+//////////////////////////////////////////////////////////////////////////////
+// MultiPool Allocator
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Spec.Multi Pool Allocator:
+..cat:Allocators
+..general:Class.Allocator
+..summary:Allocator that pools memory blocks.
+..signature:Allocator< MultiPool<ParentAllocator, BLOCKING_LIMIT> >
+..param.ParentAllocator:An allocator that is by the pool allocator used to allocate memory.
+...default:@Spec.Simple Allocator@
+...note:The multi pool allocator only supports @Function.clear@ if this function is also implemented for $ParentAllocator$.
+..remarks:A pool allocator allocates several memory blocks at once.
+..param.BLOCKING_LIMIT:The maximum size for memory blocks to be pooled.
+...default:256
+Freed blocks are not immediately deallocated but recycled in subsequential allocations.
+This way, the number of calls to the heap manager is reduced, and that speeds up memory management.
+...text:Note that memory blocks larger than $BLOCKING_LIMIT$ are not pooled
+but immediately allocated and deallocated using $ParentAllocator$.
+*/
+
+
+template <typename TParentAllocator = Allocator<SimpleAlloc<Default> >, unsigned int BLOCKING_LIMIT = 0x100>
+struct MultiPool;
+
+//////////////////////////////////////////////////////////////////////////////
+
+typedef Allocator<MultiPool<Allocator<SimpleAlloc<Default> >, 0x100> > PoolAllocator;
+
+template <typename TParentAllocator, unsigned int BLOCKING_LIMIT_>
+struct Allocator<MultiPool<TParentAllocator, BLOCKING_LIMIT_> >
+{
+       enum
+       {
+               BLOCKING_LIMIT = BLOCKING_LIMIT_,
+               GRANULARITY_BITS = 2,
+               BLOCKING_COUNT = BLOCKING_LIMIT >> GRANULARITY_BITS,
+               STORAGE_SIZE = 0xf80
+       };
+
+       char * data_recycled_blocks [BLOCKING_COUNT];
+       char * data_current_begin [BLOCKING_COUNT];
+       char * data_current_free [BLOCKING_COUNT];
+       Holder<TParentAllocator> data_parent_allocator;
+
+       Allocator()
+       {
+SEQAN_CHECKPOINT
+               memset(data_recycled_blocks, 0, sizeof(data_recycled_blocks));
+               memset(data_current_begin, 0, sizeof(data_current_begin));
+               memset(data_current_free, 0, sizeof(data_current_free));
+       }
+
+       Allocator(TParentAllocator & parent_alloc)
+       {
+SEQAN_CHECKPOINT
+               memset(data_recycled_blocks, 0, sizeof(data_recycled_blocks));
+               memset(data_current_begin, 0, sizeof(data_current_begin));
+               memset(data_current_free, 0, sizeof(data_current_free));
+
+               setValue(data_parent_allocator, parent_alloc);
+       }
+
+       //Dummy copy
+       Allocator(Allocator const &)
+       {
+               memset(data_recycled_blocks, 0, sizeof(data_recycled_blocks));
+               memset(data_current_begin, 0, sizeof(data_current_begin));
+               memset(data_current_free, 0, sizeof(data_current_free));
+       }
+       inline Allocator &
+       operator = (Allocator const &)
+       {
+               clear(*this);
+               return *this;
+       }
+
+       ~Allocator()
+       {
+SEQAN_CHECKPOINT
+               clear(*this);
+       }
+};
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TParentAllocator, unsigned int BLOCKING_LIMIT>
+inline TParentAllocator &
+parentAllocator(Allocator<MultiPool<TParentAllocator, BLOCKING_LIMIT> > & me)
+{
+SEQAN_CHECKPOINT
+       return value(me.data_parent_allocator);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TParentAllocator, unsigned int BLOCKING_LIMIT>
+void
+clear(Allocator<MultiPool<TParentAllocator, BLOCKING_LIMIT> > & me)
+{
+SEQAN_CHECKPOINT
+       memset(me.data_recycled_blocks, 0, sizeof(me.data_recycled_blocks));
+       memset(me.data_current_begin, 0, sizeof(me.data_current_begin));
+       memset(me.data_current_free, 0, sizeof(me.data_current_free));
+
+       clear(parentAllocator(me));
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TParentAllocator, unsigned int BLOCKING_LIMIT>
+inline unsigned int
+_allocatorBlockNumber(Allocator<MultiPool<TParentAllocator, BLOCKING_LIMIT> > &,
+                                         size_t size_)
+{
+SEQAN_CHECKPOINT
+       typedef Allocator<MultiPool<TParentAllocator, BLOCKING_LIMIT> > TAllocator;
+
+       SEQAN_ASSERT(size_)
+
+       if (size_ < BLOCKING_LIMIT)
+       {//blocks
+               return size_ >> TAllocator::GRANULARITY_BITS;
+       }
+       else
+       {//no blocking
+               return TAllocator::BLOCKING_COUNT;
+       }
+}
+
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TParentAllocator, unsigned int BLOCKING_LIMIT, typename TValue, typename TSize, typename TUsage>
+inline void
+allocate(Allocator<MultiPool<TParentAllocator, BLOCKING_LIMIT> > & me,
+                TValue * & data,
+                TSize count,
+                Tag<TUsage> const tag_)
+{
+SEQAN_CHECKPOINT
+       typedef Allocator<MultiPool<TParentAllocator, BLOCKING_LIMIT> > TAllocator;
+
+       size_t bytes_needed = count * sizeof(TValue);
+       char * ptr;
+
+       unsigned int block_number =  _allocatorBlockNumber(me, bytes_needed);
+       if (block_number == TAllocator::BLOCKING_COUNT)
+       {//no blocking
+               return allocate(parentAllocator(me), data, count, tag_);
+       }
+
+       bytes_needed = (block_number + 1) << TAllocator::GRANULARITY_BITS;
+
+       if (me.data_recycled_blocks[block_number])
+       {//use recycled
+               ptr = me.data_recycled_blocks[block_number];
+               me.data_recycled_blocks[block_number] = * reinterpret_cast<char **>(ptr);
+       }
+       else
+       {//use new
+               ptr = me.data_current_free[block_number];
+               if (!ptr || (ptr + bytes_needed > me.data_current_begin[block_number] + TAllocator::STORAGE_SIZE))
+               {//not enough free space in current storage: allocate new
+                       allocate(parentAllocator(me), ptr, (size_t) TAllocator::STORAGE_SIZE, tag_);
+                       me.data_current_begin[block_number] = ptr;
+               }
+               me.data_current_free[block_number] = ptr + bytes_needed;
+       }
+
+       data = reinterpret_cast<TValue *>(ptr);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TParentAllocator, unsigned int BLOCKING_LIMIT, typename TValue, typename TSize, typename TUsage>
+inline void
+deallocate(Allocator<MultiPool<TParentAllocator, BLOCKING_LIMIT> > & me,
+                  TValue * data,
+                  TSize count,
+                  Tag<TUsage> const tag_)
+{
+SEQAN_CHECKPOINT
+       typedef Allocator<MultiPool<TParentAllocator, BLOCKING_LIMIT> > TAllocator;
+
+       size_t bytes_needed = count * sizeof(TValue);
+
+       unsigned int block_number = _allocatorBlockNumber(me, bytes_needed);
+       if (block_number == TAllocator::BLOCKING_COUNT)
+       {//no blocking
+               return deallocate(parentAllocator(me), data, count, tag_);
+       }
+
+       bytes_needed = (block_number + 1) << TAllocator::GRANULARITY_BITS;
+
+       //link in recycling list
+       *reinterpret_cast<char **>(data) = me.data_recycled_blocks[block_number];
+       me.data_recycled_blocks[block_number] = reinterpret_cast<char *>(data);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+} //namespace SEQAN_NAMESPACE_MAIN
+
+#endif //#ifndef SEQAN_HEADER_...
diff --git a/SeqAn-1.1/seqan/basic/basic_allocator_simple.h b/SeqAn-1.1/seqan/basic/basic_allocator_simple.h
new file mode 100644 (file)
index 0000000..6b570cc
--- /dev/null
@@ -0,0 +1,210 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de 
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: basic_allocator_simple.h,v 1.1 2008/08/25 16:20:02 langmead Exp $
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_BASIC_ALLOCATOR_SIMPLE_H
+#define SEQAN_HEADER_BASIC_ALLOCATOR_SIMPLE_H
+
+namespace SEQAN_NAMESPACE_MAIN
+{
+//////////////////////////////////////////////////////////////////////////////
+
+
+//////////////////////////////////////////////////////////////////////////////
+// SimpleAlloc Allocator
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Spec.Simple Allocator:
+..cat:Allocators
+..general:Class.Allocator
+..summary:General purpose allocator.
+..signature:Allocator< SimpleAlloc<ParentAllocator> >
+..param.ParentAllocator:An allocator that is by the simple allocator used to allocate memory.
+...default:@Tag.Default@
+...remarks:@Tag.Default@ used as allocator means that the default implementations
+of @Function.allocate@ and @Function.deallocate@ are used.
+*/
+
+template <typename TParentAllocator = Default>
+struct SimpleAlloc;
+
+//////////////////////////////////////////////////////////////////////////////
+
+
+typedef Allocator<SimpleAlloc<Default> > SimpleAllocator;
+
+template <typename TParentAllocator>
+struct Allocator<SimpleAlloc<TParentAllocator> >
+{
+       struct Header
+       {
+               Header * left;
+               Header * right;
+               size_t size;
+       };
+
+       Header * data_storages;
+       Holder<TParentAllocator> data_parent_allocator;
+
+       Allocator():
+               data_storages(0)
+       {
+SEQAN_CHECKPOINT
+       }
+
+       Allocator(TParentAllocator & parent_alloc):
+               data_storages(0)
+       {
+SEQAN_CHECKPOINT
+               setValue(data_parent_allocator, parent_alloc);
+       }
+
+       //Dummy copy
+       Allocator(Allocator const &):
+               data_storages(0)
+       {
+       }
+       inline Allocator &
+       operator = (Allocator const &)
+       {
+               clear(*this);
+               return *this;
+       }
+
+       ~Allocator()
+       {
+SEQAN_CHECKPOINT
+               clear(*this);
+       }
+};
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TParentAllocator>
+inline TParentAllocator &
+parentAllocator(Allocator<SimpleAlloc<TParentAllocator> > & me)
+{
+SEQAN_CHECKPOINT
+       return value(me.data_parent_allocator);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+/**
+.Function.Allocator#clear:
+..cat:Memory
+..summary:Deallocates all memory blocks.
+..signature:clear(allocator)
+..param.allocator:Allocator object.
+...type:Class.Allocator
+...concept:Concept.Allocator
+..remarks:This function deallocates all memory blocks 
+that was allocated using @Function.allocate@ for $allocator$.
+The memory is not pooled but directly passed back to the heap manager.
+..see:Function.allocate
+..see:Function.deallocate
+*/
+template <typename TParentAllocator>
+void
+clear(Allocator<SimpleAlloc<TParentAllocator> > & me)
+{
+SEQAN_CHECKPOINT
+       typedef Allocator<SimpleAlloc<TParentAllocator> > TAllocator;
+
+       while (me.data_storages)
+       {
+               typename TAllocator::Header * next_storage = me.data_storages->right;
+               deallocate(parentAllocator(me), reinterpret_cast<char *>(me.data_storages), me.data_storages->size);
+               me.data_storages = next_storage;
+       }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TParentAllocator, typename TValue, typename TSize, typename TUsage>
+inline void
+allocate(Allocator<SimpleAlloc<TParentAllocator> > & me, 
+                TValue * & data,
+                TSize count,
+                Tag<TUsage> const)
+{
+SEQAN_CHECKPOINT
+       typedef Allocator<SimpleAlloc<TParentAllocator> > TAllocator;
+       typedef typename TAllocator::Header THeader;
+
+       //compute needed bytes
+       size_t bytes_needed = count * sizeof(TValue) + sizeof(THeader);
+
+       //allocate storage from parent
+       char * ptr;
+       allocate(parentAllocator(me), ptr, bytes_needed, TagAllocateStorage());
+
+       THeader * new_block = reinterpret_cast<THeader *>(ptr);
+       new_block->left = 0;
+       new_block->right = me.data_storages;
+       new_block->size = bytes_needed;
+
+       if (me.data_storages)
+       {
+               me.data_storages->left = new_block;
+       }
+       me.data_storages = new_block;
+
+       //return data
+       data = reinterpret_cast<TValue *>(ptr + sizeof(THeader));
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TParentAllocator, typename TValue, typename TSize, typename TUsage>
+inline void 
+deallocate(Allocator<SimpleAlloc<TParentAllocator> > & me,
+                  TValue * data, 
+                  TSize,
+                  Tag<TUsage> const)
+{
+SEQAN_CHECKPOINT
+       typedef Allocator<SimpleAlloc<TParentAllocator> > TAllocator;
+       typedef typename TAllocator::Header THeader;
+
+       //update links
+       THeader & header = *(reinterpret_cast<THeader *>(data) - 1);
+       if (header.left)
+       {
+               header.left->right = header.right;
+       }
+       else
+       {
+               me.data_storages = header.right;
+       }
+       if (header.right)
+       {
+               header.right->left = header.left;
+       }
+
+       //deallocate storage using parent
+       char * ptr = reinterpret_cast<char *>(& header);
+       deallocate(parentAllocator(me), ptr, header.size);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+} //namespace SEQAN_NAMESPACE_MAIN
+
+#endif //#ifndef SEQAN_HEADER_...
diff --git a/SeqAn-1.1/seqan/basic/basic_allocator_singlepool.h b/SeqAn-1.1/seqan/basic/basic_allocator_singlepool.h
new file mode 100644 (file)
index 0000000..88fde00
--- /dev/null
@@ -0,0 +1,299 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de 
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: basic_allocator_singlepool.h,v 1.1 2008/08/25 16:20:01 langmead Exp $
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_BASIC_ALLOCATOR_SINGLE_POOL_H
+#define SEQAN_HEADER_BASIC_ALLOCATOR_SINGLE_POOL_H
+
+namespace SEQAN_NAMESPACE_MAIN
+{
+//////////////////////////////////////////////////////////////////////////////
+// SinglePool Allocator
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Spec.Single Pool Allocator:
+..cat:Allocators
+..general:Class.Allocator
+..summary:Allocator that pools memory blocks of specific size.
+..signature:Allocator< SinglePool<SIZE, ParentAllocator> >
+..param.SIZE:Size of memory blocks that are pooled.
+...value:An unsigned integer with $SIZE >= sizeof(void *)$.
+..param.ParentAllocator:An allocator that is by the pool allocator used to allocate memory.
+...default:@Spec.Simple Allocator@
+...note:The single pool allocator only supports @Function.clear@ if this function is also implemented for $ParentAllocator$.
+..remarks:A pool allocator allocates several memory blocks at once. 
+Freed blocks are not immediately deallocated but recycled in subsequential allocations.
+This way, the number of calls to the heap manager is reduced, and that speeds up memory management.
+...text:The single pool allocator only pools memory blocks of size $SIZE$.
+Blocks of other sizes are allocated and deallocated using an allocator of type $ParentAllocator$.
+...text:Using the single pool allocator for blocksizes larger than some KB is not advised.
+*/
+
+template <size_t SIZE, typename TParentAllocator = SimpleAllocator>
+struct SinglePool;
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <size_t SIZE, typename TParentAllocator>
+struct Allocator<SinglePool<SIZE, TParentAllocator> >
+{
+       enum
+       {
+               SIZE_PER_ITEM = SIZE,
+               ITEMS_PER_BLOCK = (SIZE_PER_ITEM < 0x0100) ? 0x01000 / SIZE_PER_ITEM : 16,
+               STORAGE_SIZE = SIZE * ITEMS_PER_BLOCK,
+
+               STORAGE_SIZE_MIN = SIZE
+       };
+
+       char * data_recycled_blocks;
+       char * data_current_begin;
+       char * data_current_end;
+       char * data_current_free;
+       Holder<TParentAllocator> data_parent_allocator;
+
+       Allocator()
+       {
+SEQAN_CHECKPOINT
+               data_recycled_blocks = data_current_end = data_current_free = 0;
+               //dont need to initialize data_current_begin
+       }
+
+       Allocator(size_t reserve_item_count)
+       {
+SEQAN_CHECKPOINT
+               data_recycled_blocks = 0;
+
+               size_t storage_size = (reserve_item_count * SIZE > STORAGE_SIZE_MIN) ? reserve_item_count * SIZE : STORAGE_SIZE_MIN;
+               allocate( parentAllocator( *this ), data_current_begin, storage_size );
+               data_current_end = data_current_begin + storage_size;
+               data_current_free = data_current_begin;
+       }
+
+       Allocator(TParentAllocator & parent_alloc)
+       {
+SEQAN_CHECKPOINT
+               setValue(data_parent_allocator, parent_alloc);
+
+               data_recycled_blocks = data_current_end = data_current_free = 0;
+               //dont need to initialize data_current_begin
+       }
+
+       Allocator(size_t reserve_item_count, TParentAllocator & parent_alloc)
+       {
+SEQAN_CHECKPOINT
+               data_recycled_blocks = 0;
+
+               setValue(data_parent_allocator, parent_alloc);
+
+               size_t storage_size = (reserve_item_count * SIZE > STORAGE_SIZE_MIN) ? reserve_item_count * SIZE : STORAGE_SIZE_MIN;
+               allocate( parentAllocator( *this ), data_current_begin, storage_size );
+               data_current_end = data_current_begin + storage_size;
+               data_current_free = data_current_begin;
+       }
+
+       //Dummy copy
+       Allocator(Allocator const &)
+       {
+               data_recycled_blocks = data_current_end = data_current_free = 0;
+               //dont need to initialize data_current_begin
+       }
+       inline Allocator &
+       operator = (Allocator const &)
+       {
+               clear(*this);
+               return *this;
+       }
+
+       ~Allocator()
+       {
+SEQAN_CHECKPOINT
+               clear(*this);
+       }
+};
+//////////////////////////////////////////////////////////////////////////////
+
+template <size_t SIZE, typename TParentAllocator>
+inline TParentAllocator &
+parentAllocator(Allocator<SinglePool<SIZE, TParentAllocator> > & me)
+{
+SEQAN_CHECKPOINT
+       return value(me.data_parent_allocator);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <size_t SIZE, typename TParentAllocator>
+void
+clear(Allocator<SinglePool<SIZE, TParentAllocator> > & me)
+{
+SEQAN_CHECKPOINT
+
+       me.data_recycled_blocks = me.data_current_end = me.data_current_free = 0;
+
+       clear(parentAllocator(me));
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <size_t SIZE, typename TParentAllocator, typename TValue, typename TSize, typename TUsage>
+inline void
+allocate(Allocator<SinglePool<SIZE, TParentAllocator> > & me, 
+                TValue * & data,
+                TSize count,
+                Tag<TUsage> const tag_)
+{
+SEQAN_CHECKPOINT
+       typedef Allocator<SinglePool<SIZE, TParentAllocator> > TAllocator;
+       size_t bytes_needed = count * sizeof(TValue);
+
+       if (bytes_needed != TAllocator::SIZE_PER_ITEM)
+       {//no blocking
+               allocate(parentAllocator(me), data, count, tag_);
+               return;
+       }
+
+       char * ptr;
+       if (me.data_recycled_blocks)
+       {//use recycled
+               ptr = me.data_recycled_blocks;
+               me.data_recycled_blocks = * reinterpret_cast<char **>(ptr);
+       }
+       else
+       {//use new
+               ptr = me.data_current_free;
+               if (ptr + bytes_needed > me.data_current_end)
+               {//not enough free space in current storage: allocate new
+                       allocate(parentAllocator(me), ptr, (size_t) TAllocator::STORAGE_SIZE, tag_);
+                       me.data_current_begin = ptr;
+                       me.data_current_end = ptr + TAllocator::STORAGE_SIZE;
+               }
+               me.data_current_free = ptr + bytes_needed;
+       }
+
+       data = reinterpret_cast<TValue *>(ptr);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <size_t SIZE, typename TParentAllocator, typename TValue, typename TSize, typename TUsage>
+inline void 
+deallocate(Allocator<SinglePool<SIZE, TParentAllocator> > & me,
+                  TValue * data, 
+                  TSize count,
+                  Tag<TUsage> const tag_)
+{
+SEQAN_CHECKPOINT
+       typedef Allocator<SinglePool<SIZE, TParentAllocator> > TAllocator;
+
+       size_t bytes_needed = count * sizeof(TValue);
+
+       if (bytes_needed != TAllocator::SIZE_PER_ITEM)
+       {//no blocking
+               deallocate(parentAllocator(me), data, count, tag_);
+               return;
+       }
+
+       //link in recycling list
+       *reinterpret_cast<char **>(data) = me.data_recycled_blocks;
+       me.data_recycled_blocks = reinterpret_cast<char *>(data);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////////
+// alternative Interface that takes a Type instead of a SIZE
+//////////////////////////////////////////////////////////////////////////////
+
+
+template <typename TValue, typename TParentAllocator = SimpleAllocator>
+struct SinglePool2;
+
+template <typename TValue, typename TParentAllocator>
+struct Allocator<SinglePool2<TValue, TParentAllocator> >
+{
+       Allocator<SinglePool<sizeof(TValue), TParentAllocator> > data_alloc;
+
+
+       Allocator(size_t reserve_item_count)
+               : data_alloc(reserve_item_count)
+       {
+       }
+
+       Allocator(TParentAllocator & parent_alloc)
+               : data_alloc(parent_alloc)
+       {
+       }
+
+       Allocator(size_t reserve_item_count, TParentAllocator & parent_alloc)
+               : data_alloc(reserve_item_count, parent_alloc)
+
+       {
+       }
+};
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TValue, typename TParentAllocator>
+inline TParentAllocator &
+parentAllocator(Allocator<SinglePool2<TValue, TParentAllocator> > & me)
+{
+SEQAN_CHECKPOINT
+       return parentAllocator(me.data_alloc);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TValue, typename TParentAllocator>
+void
+clear(Allocator<SinglePool2<TValue, TParentAllocator> > & me)
+{
+SEQAN_CHECKPOINT
+       clear(me.data_alloc);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TValue, typename TParentAllocator, typename TValue2, typename TSize, typename TUsage>
+inline void
+allocate(Allocator<SinglePool2<TValue, TParentAllocator> > & me, 
+                TValue2 * & data,
+                TSize count,
+                Tag<TUsage> const tag_)
+{
+SEQAN_CHECKPOINT
+       allocate(me.data_alloc, data, count, tag_);
+}
+
+template <typename TValue, typename TParentAllocator, typename TValue2, typename TSize, typename TUsage>
+inline void 
+deallocate(Allocator<SinglePool2<TValue, TParentAllocator> > & me,
+                  TValue2 * data, 
+                  TSize count,
+                  Tag<TUsage> const tag_)
+{
+SEQAN_CHECKPOINT
+       deallocate(me.data_alloc, data, count, tag_);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+} //namespace SEQAN_NAMESPACE_MAIN
+
+#endif //#ifndef SEQAN_HEADER_...
diff --git a/SeqAn-1.1/seqan/basic/basic_allocator_to_std.h b/SeqAn-1.1/seqan/basic/basic_allocator_to_std.h
new file mode 100644 (file)
index 0000000..e54589d
--- /dev/null
@@ -0,0 +1,178 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de 
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: basic_allocator_to_std.h,v 1.1 2008/08/25 16:20:01 langmead Exp $
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_BASIC_ALLOCATOR_TO_STD_H
+#define SEQAN_HEADER_BASIC_ALLOCATOR_TO_STD_H
+
+
+namespace SEQAN_NAMESPACE_MAIN
+{
+
+//////////////////////////////////////////////////////////////////////////////
+//helper caller for calling functions that have same name as member functions
+
+template <typename TMe, typename TValue, typename TSize>
+inline void call_allocate(TMe & me, TValue * & data, TSize const count)
+{
+       allocate(me, data, count);
+}
+template <typename TMe, typename TValue, typename TSize>
+inline void call_deallocate(TMe & me, TValue * data, TSize const count)
+{
+       deallocate(me, data, count);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+//Filter that adapts seqan allocator zu std allocator
+/**
+.Class.ToStdAllocator:
+..summary:Emulates standard conform allocator.
+..signature:ToStdAllocator<THost, TValue>
+..param.THost:Type of the host allocator object.
+...text:This object is used to call @Function.allocate@ and @Function.deallocate@.
+..param.TValue:Type of allocated items.
+..remarks:The member functions $allocate$ and $deallocate$ of $ToStdAllocator$ call
+the (globale) functions @Function.allocate@ and @Function.deallocate@, respectively. The globale functions
+get an allocator object as their first arguments. This allocator object is not the $ToStdAllocator$ object itself,
+but the host object that was given to the constructor. 
+..remarks:
+..see:Function.allocate
+..see:Function.deallocate
+*/
+template <typename THost, typename TValue>
+struct ToStdAllocator
+{
+       typedef TValue value_type;
+       typedef value_type * pointer;
+       typedef value_type & reference;
+       typedef value_type const * const_pointer;
+       typedef value_type const & const_reference;
+
+//     typedef typename THost::Size size_type;
+//     typedef typename THost::Difference difference_type;
+       typedef size_t size_type;
+       typedef ptrdiff_t difference_type;
+
+/**
+.Memfunc.ToStdAllocator:
+..summary:Constructor
+..signature:ToStdAllocator(host)
+..class:Class.ToStdAllocator
+..param.host:The host object that is used as allocator for @Function.allocate@ and @Function.deallocate@.
+*/
+       ToStdAllocator(THost & host): m_host(& host)
+       {
+       }
+       ToStdAllocator(ToStdAllocator const & alloc): m_host(alloc.m_host)
+       {
+       }
+       ToStdAllocator & operator= (ToStdAllocator const & alloc)
+       {
+               m_host = alloc.m_host;
+       }
+       ~ToStdAllocator()
+       {
+       }
+
+/**
+.Function.host:
+..summary:The object a given object depends on.
+..cat:Dependent Objects
+..signature:host(object)
+..param.object:An object.
+...type:Class.ToStdAllocator
+..returns:The host object.
+*/
+    friend THost & host(ToStdAllocator & me)
+    {
+        return *me.m_host;
+    }
+
+       pointer allocate(size_type count)
+       {
+               value_type * ptr;
+               call_allocate(*m_host, ptr, count);
+               return pointer(ptr);
+       }
+       pointer allocate(size_type count, const void *)
+       {
+               value_type * ptr;
+               call_allocate(*m_host, ptr, count);
+               return pointer(ptr);
+       }
+
+       void deallocate(pointer data, size_type count)
+       {
+               call_deallocate(*m_host, data, count);
+       }
+
+       void construct(pointer ptr, const_reference data)
+       {
+               new(ptr) TValue(data);
+       }
+
+       void destroy(pointer ptr)
+       {
+               ptr->~TValue();
+       }
+
+       pointer address(reference value) const
+       {
+               return (&value);
+       }
+       const_pointer address(const_reference value) const
+       {
+               return (&value);
+       }
+
+       size_type max_size() const
+       {
+               return ~0UL / sizeof(value_type);
+       }
+
+       template<class TValue2>
+       struct rebind
+       {
+               typedef ToStdAllocator<THost, TValue2> other;
+       };
+
+       private:
+               THost * m_host;
+};
+//////////////////////////////////////////////////////////////////////////////
+
+
+
+//returns std-allocator type (for allocators)
+template <typename T, typename TData>
+struct StdAllocator
+{
+       typedef ToStdAllocator<T, TData> Type;
+};
+
+
+//////////////////////////////////////////////////////////////////////////////
+
+} //namespace SEQAN_NAMESPACE_MAIN
+
+
+//////////////////////////////////////////////////////////////////////////////
+
+#endif //#ifndef SEQAN_HEADER_...
diff --git a/SeqAn-1.1/seqan/basic/basic_alphabet_interface.h b/SeqAn-1.1/seqan/basic/basic_alphabet_interface.h
new file mode 100644 (file)
index 0000000..dd9a92f
--- /dev/null
@@ -0,0 +1,917 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de 
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: basic_alphabet_interface.h,v 1.1 2008/08/25 16:20:01 langmead Exp $
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_BASIC_ALPHABET_INTERFACE_H
+#define SEQAN_HEADER_BASIC_ALPHABET_INTERFACE_H
+
+#include <new>
+
+namespace SEQAN_NAMESPACE_MAIN
+{
+//////////////////////////////////////////////////////////////////////////////
+//IsSimple
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Metafunction.IsSimple:
+..summary:Tests type to be simple.
+..signature:IsSimple<T>::Type
+..param.T:Type that is tested.
+..returns.param.Type:@Tag.Logical Values.True@, if $T$ is a simple type, @Tag.Logical Values.False@ otherwise.
+...default:@Tag.Logical Values.False@
+..remarks:A simple type is a type that does not need constructors to be created,
+a destructor to be destroyed, and copy assignment operators or copy constructors
+to be copied. All POD ("plain old data") types are simple, but some
+non-POD types could be simple too, e.g. some specializations of @Class.SimpleType@.
+..see:Class.SimpleType
+*/
+
+template <typename T>
+struct _IsSimple {
+       typedef False Type;
+};
+
+template <typename T>
+struct IsSimple:
+       public _IsSimple<T> {};
+template <typename T>
+struct IsSimple<T const>:
+       public IsSimple<T> {};
+
+//////////////////////////////////////////////////////////////////////////////
+//very basic Alphabets
+
+typedef char Ascii;
+typedef unsigned char Byte;
+typedef wchar_t Unicode;
+
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Function.valueConstruct:
+..cat:Content Manipulation
+..summary:Constructs an object at specified position.
+..signature:valueConstruct(iterator [, param [, move_tag] ])
+..param.iterator:Pointer or iterator to position where the object should be constructed.
+..param.param:Parameter that is forwarded to constructor. (optional)
+..param.move_tag:Instance of the @Tag.Move Switch.move switch tag@. (optional)
+...remarks:If the @Tag.Move Switch.move switch tag@ is specified, it is forwarded to the constructor,
+so the constructed object must support move construction.
+..remarks:The type of the destructed object is the @Metafunction.Value.value type@ of $iterator$.
+*/
+
+struct _ValueConstructor 
+{
+       template <typename TIterator>
+       static inline void
+       construct(TIterator it)
+       {
+               typedef typename Value<TIterator>::Type TValue;
+               new( & value(it) ) TValue;
+       }
+
+       template <typename TIterator, typename TParam>
+       static inline void
+       construct(TIterator it,
+                         TParam const & param_)
+       {
+               typedef typename Value<TIterator>::Type TValue;
+               new( & value(it) ) TValue(param_);
+       }
+
+       template <typename TIterator, typename TParam>
+       static inline void
+       construct(TIterator it,
+                         TParam const & param_,
+                         Move tag)
+       {
+               typedef typename Value<TIterator>::Type TValue;
+               new( & value(it) ) TValue(param_, tag);
+       }
+};
+
+struct _ValueConstructorProxy 
+{
+       template <typename TIterator>
+       static inline void construct(TIterator) {}
+
+       template <typename TIterator, typename TParam>
+       static inline void construct(TIterator, TParam const &) {}
+
+       template <typename TIterator, typename TParam>
+       static inline void construct(TIterator, TParam const &, Move) {}
+};
+
+//____________________________________________________________________________
+
+struct _ValueDestructor 
+{
+       template <typename TIterator>
+       static inline void
+       destruct(TIterator it)
+       {
+               typedef typename Value<TIterator>::Type TValue;
+               value(it).~TValue();
+       }
+};
+struct _ValueDestructorProxy 
+{
+       template <typename TIterator>
+       static inline void destruct(TIterator) {}
+};
+
+//____________________________________________________________________________
+
+template <typename TIterator>
+inline void
+valueConstruct(TIterator it)
+{
+SEQAN_CHECKPOINT
+       typedef typename IF<
+               TYPECMP<
+                       typename Value<TIterator>::Type &,
+                       typename Reference<TIterator>::Type
+               >::VALUE,
+       // THEN
+               _ValueConstructor,                      // true,  types are equal
+       // ELSE
+               _ValueConstructorProxy          // false, types differ -> value() returns a proxy
+       >::Type TConstructor;
+
+       TConstructor::construct(it);
+}
+
+template <typename TIterator, typename TParam>
+inline void
+valueConstruct(TIterator it,
+                          TParam const & param_)
+{
+SEQAN_CHECKPOINT
+       typedef typename IF<
+               TYPECMP<
+                       typename Value<TIterator>::Type &,
+                       typename Reference<TIterator>::Type
+               >::VALUE,
+       // THEN
+               _ValueConstructor,                      // true,  types are equal
+       // ELSE
+               _ValueConstructorProxy          // false, types differ -> value() returns a proxy
+       >::Type TConstructor;
+
+       TConstructor::construct(it, param_);
+}
+
+template <typename TIterator, typename TParam>
+inline void
+valueConstruct(TIterator it,
+                          TParam const & param_,
+                          Move tag)
+{
+SEQAN_CHECKPOINT
+       typedef typename IF<
+               TYPECMP<
+                       typename Value<TIterator>::Type &,
+                       typename Reference<TIterator>::Type
+               >::VALUE,
+       // THEN
+               _ValueConstructor,                      // true,  types are equal
+       // ELSE
+               _ValueConstructorProxy          // false, types differ -> value() returns a proxy
+       >::Type TConstructor;
+
+       TConstructor::construct(it, param_, tag);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Function.valueDestruct:
+..cat:Content Manipulation
+..summary:Destoys an object at specified position.
+..signature:valueDestruct(iterator)
+..param.iterator:Pointer or iterator to position where the object should be constructed.
+..remarks:The type of the constructed object is the @Metafunction.Value.value type@ of $iterator$.
+..see:Function.valueConstruct
+*/
+template <typename TIterator>
+inline void
+valueDestruct(TIterator it)
+{
+SEQAN_CHECKPOINT
+       typedef typename IF<
+               TYPECMP<
+                       typename Value<TIterator>::Type &,
+                       typename Reference<TIterator>::Type
+               >::VALUE,
+       // THEN
+               _ValueDestructor,                       // true,  types are equal
+       // ELSE
+               _ValueDestructorProxy           // false, types differ -> value() returns a proxy
+       >::Type TDestructor;
+
+       TDestructor::destruct(it);
+}
+
+
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Function.valueConstructMove:
+..cat:Content Manipulation
+..summary:Move constructs an object at specified position.
+..signature:valueConstructMove(iterator, param)
+..param.iterator:Pointer or iterator to position where the object should be constructed.
+..param.param:Parameter that is moved to the new constructed object.
+..remarks:The type of the destructed object is the @Metafunction.Value.value type@ of $iterator$.
+..remarks:The default implementation just calls @Function.valueConstruct@.
+*/
+template <typename TIterator, typename TValue>
+inline void
+valueConstructMove(TIterator it, TValue const & value)
+{
+       valueConstruct(it, value);
+}
+
+
+//////////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////////
+//arrayConstruct
+//////////////////////////////////////////////////////////////////////////////
+/**
+.Function.arrayConstruct:
+..cat:Array Handling
+..summary:Construct objects in a given memory buffer.
+..signature:arrayConstruct(begin, end [, value])
+..param.begin:Iterator to the begin of the range that is to be constructed.
+..param.end:Iterator behind the end of the range.
+..param.value:Argument that is forwarded to the constructor. (optional)
+...text:An appropriate constructor is required. 
+If $value$ is not specified, the default constructor is used. 
+..remarks:The type of the constructed Objects is the @Metafunction.Value.value type@
+of $begin$ and $end$.
+..see:Function.arrayDestruct
+..see:Function.arrayConstructCopy
+..see:Function.arrayFill
+..see:Class.SimpleType
+..see:Function.valueConstruct
+*/
+template<typename TIterator1, typename TIterator2>
+inline void 
+_arrayConstruct_Default(TIterator1 begin_, 
+                                               TIterator2 end_)
+{
+SEQAN_CHECKPOINT
+       while (begin_ != end_)
+       {
+               valueConstruct(begin_);
+               ++begin_;
+       }
+}
+template<typename TIterator1, typename TIterator2>
+inline void 
+arrayConstruct(TIterator1 begin_, 
+                          TIterator2 end_)
+{
+SEQAN_CHECKPOINT
+       _arrayConstruct_Default(begin_, end_);
+}
+
+//____________________________________________________________________________
+
+template<typename TIterator1, typename TIterator2, typename TParam>
+inline void 
+_arrayConstruct_Default(TIterator1 begin_, 
+                                               TIterator2 end_, 
+                                               TParam const & param_)
+{
+SEQAN_CHECKPOINT
+       while (begin_ != end_)
+       {
+               valueConstruct(begin_, param_);
+               ++begin_;
+       }
+}
+template<typename TIterator1, typename TIterator2, typename TParam>
+inline void 
+arrayConstruct(TIterator1 begin_, 
+                          TIterator2 end_, 
+                          TParam const & param_)
+{
+SEQAN_CHECKPOINT
+       _arrayConstruct_Default(begin_, end_, param_);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+//arrayConstructCopy
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Function.arrayConstructCopy:
+..cat:Array Handling
+..summary:Copy constructs an array of objects into in a given memory buffer.
+..signature:arrayConstructCopy(source_begin, source_end, target)
+..param.source_begin:Iterator to the first element of the source range.
+..param.source_end:Iterator behind the last element of the source range.
+...text:$source_end$ should have the same type as $source_begin$.
+..param.target:Pointer to the memory block the new objects will be constructed in.
+...text:The type of $target$ specifies the type of the constructed objects:
+If $T*$ is the type of $target$, then the function constructs objects of type $T$. 
+...text:The memory buffer should be large enough to store $source_end$ - $source_begin$ objects.
+An appropriate (copy-) constructor that constructs an target objects given a source object is required.
+..see:Function.arrayDestruct
+..see:Function.arrayCopyForward
+..see:Function.arrayCopy
+..see:Function.valueConstruct
+*/
+template<typename TTarget, typename TSource1, typename TSource2>
+inline void 
+_arrayConstructCopy_Default(TSource1 source_begin, 
+                                                       TSource2 source_end, 
+                                                       TTarget target_begin)
+{
+SEQAN_CHECKPOINT
+       while (source_begin != source_end)
+       {
+               valueConstruct(target_begin, *source_begin);
+               ++source_begin;
+               ++target_begin;
+       }
+}
+
+template<typename TTarget, typename TSource1, typename TSource2>
+inline void 
+arrayConstructCopy(TSource1 source_begin, 
+                                  TSource2 source_end, 
+                                  TTarget target_begin)
+{
+SEQAN_CHECKPOINT
+       _arrayConstructCopy_Default(source_begin, source_end, target_begin);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+//arrayConstructMove
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Function.arrayConstructMove:
+..cat:Array Handling
+..summary:Move constructs an array of objects into in a given memory buffer.
+..signature:arrayConstructMove(source_begin, source_end, target)
+..param.source_begin:Iterator to the first element of the source range.
+..param.source_end:Iterator behind the last element of the source range.
+...text:$source_end$ should have the same type as $source_begin$.
+..param.target:Pointer to the memory block the new objects will be constructed in.
+...text:The type of $target$ specifies the type of the constructed objects:
+If $T*$ is the type of $target$, then the function constructs objects of type $T$. 
+...text:The memory buffer should be large enough to store $source_end$ - $source_begin$ objects.
+An appropriate move constructor that constructs an target objects given a source object is required.
+..see:Function.arrayDestruct
+..see:Function.arrayConstructCopy
+..see:Function.arrayMoveForward
+..see:Function.arrayMove
+..see:Function.valueConstruct
+*/
+template<typename TTarget, typename TSource1, typename TSource2>
+inline void 
+_arrayConstructMove_Default(TSource1 source_begin, 
+                                                       TSource2 source_end, 
+                                                       TTarget target_begin)
+{
+SEQAN_CHECKPOINT
+       while (source_begin < source_end)
+       {
+               valueConstructMove(target_begin, *source_begin);
+               ++source_begin;
+               ++target_begin;
+       }
+}
+
+template<typename TTarget, typename TSource1, typename TSource2>
+inline void 
+arrayConstructMove(TSource1 source_begin, 
+                                  TSource2 source_end, 
+                                  TTarget target_begin)
+{
+SEQAN_CHECKPOINT
+       _arrayMoveConstruct_Default(source_begin, source_end, target_begin);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+//arrayDestruct
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Function.arrayDestruct:
+..cat:Array Handling
+..summary:Destroys an array of objects.
+..signature:arrayDestruct(begin, end)
+..param.begin:Iterator to the begin of the range that is to be destructed.
+..param.end:Iterator behind the end of the range.
+..remarks:This function does not deallocates the memory.
+..see:Class.SimpleType
+..see:Function.valueDestruct
+*/
+template<typename TIterator1, typename TIterator2>
+inline void 
+_arrayDestruct_Default(TIterator1 begin_, 
+                                          TIterator2 end_)
+{
+SEQAN_CHECKPOINT
+       while (begin_ != end_)
+       {
+               valueDestruct(begin_);
+               ++begin_;
+       }
+}
+template<typename TIterator1, typename TIterator2>
+inline void 
+arrayDestruct(TIterator1 begin_, 
+                         TIterator2 end_)
+{
+SEQAN_CHECKPOINT
+       _arrayDestruct_Default(begin_, end_);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+//arrayFill
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Function.arrayFill:
+..cat:Array Handling
+..summary:Assigns one object to each element of a range.
+..signature:arrayFill(begin, end, value)
+..param.begin:Iterator to the begin of the range that is to be filled.
+..param.end:Iterator behind the end of the range.
+..param.value:Argument that is assigned to all $count$ objects in $array$.
+..remarks:All objects $target_begin[0]$ to $target_begin[count-1]$ are set to $value$.
+..see:Function.arrayCopy
+..see:Function.arrayCopyForward
+*/
+template<typename TIterator1, typename TIterator2, typename TValue>
+inline void 
+arrayFill(TIterator1 begin_,
+                 TIterator2 end_, 
+                 TValue const & value)
+{
+SEQAN_CHECKPOINT
+       ::std::fill_n(begin_, end_ - begin_, value);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+//arrayCopyForward
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Function.arrayCopyForward:
+..cat:Array Handling
+..summary:Copies a range of objects into another range of objects starting from the first element.
+..signature:arrayCopyForward(source_begin, source_end, target)
+..param.source_begin:Iterator to the first element of the source array.
+..param.source_end:Iterator behind the last element of the source array.
+...text:$source_end$ must have the same type as $source_begin$.
+..param.target:Iterator to the first element of the target array.
+...text:The target capacity should be at least as long as the source range.
+..remarks.note:Be careful if source and target range overlap, because in this case
+       some source elements could be accidently overwritten before they are moved.
+..remarks:If there is no need for the source elements to persist, consider to use 
+@Function.arrayMoveForward@ instead to improve performance.
+..see:Class.SimpleType
+*/
+template<typename TTarget, typename TSource1, typename TSource2>
+inline void 
+_arrayCopyForward_Default(TSource1 source_begin, 
+                                                 TSource2 source_end, 
+                                                 TTarget target_begin)
+{
+SEQAN_CHECKPOINT
+       ::std::copy(source_begin, source_end, target_begin);
+}
+template<typename TTarget, typename TSource1, typename TSource2>
+inline void 
+arrayCopyForward(TSource1 source_begin, 
+                                TSource2 source_end, 
+                                TTarget target_begin)
+{
+SEQAN_CHECKPOINT
+       _arrayCopyForward_Default(source_begin, source_end, target_begin);      
+}
+
+//////////////////////////////////////////////////////////////////////////////
+//arrayCopyBackward
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Function.arrayCopyBackward:
+..cat:Array Handling
+..summary:Copies a range of objects into another range of objects starting from the last element.
+..signature:arrayCopyBackward(source_begin, source_end, target)
+..param.source_begin:Iterator to the first element of the source array.
+..param.source_end:Iterator behind the last element of the source array.
+...text:$source_end$ must have the same type as $source_begin$.
+..param.target:Iterator to the first element of the target array.
+...text:The target capacity should be at least as long as the source range.
+..remarks.note:Be careful if source and target range overlap, because in this case
+       some source elements could be accidently overwritten before they are moved.
+..remarks.text:If source and target do not overlap, consider to use the function
+@Function.arrayCopyForward@ instead that is faster in some cases.
+..remarks:If there is no need for the source elements to persist, consider to use 
+@Function.arrayMoveBackward@ instead to improve performance.
+..remarks.note:The semantic of this function's argument $target$ differ from the arguments of $::std::copy_backward$.
+..see:Function.arrayCopyForward
+..see:Class.SimpleType
+*/
+template<typename TTarget, typename TSource1, typename TSource2>
+inline void 
+_arrayCopyBackward_Default(TSource1 source_begin, 
+                                                  TSource2 source_end, 
+                                                  TTarget target_begin)
+{
+SEQAN_CHECKPOINT
+       ::std::copy_backward(source_begin, source_end, target_begin + (source_end - source_begin));
+}
+template<typename TTarget, typename TSource1, typename TSource2>
+inline void 
+arrayCopyBackward(TSource1 source_begin, 
+                                 TSource2 source_end, 
+                                 TTarget target_begin)
+{
+SEQAN_CHECKPOINT
+       _arrayCopyBackward_Default(source_begin, source_end, target_begin);
+}
+
+
+//////////////////////////////////////////////////////////////////////////////
+//arrayCopy
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Function.arrayCopy:
+..cat:Array Handling
+..summary:Copies a range of objects into another range of objects.
+..signature:arrayCopy(source_begin, source_end, target)
+..param.source_begin:Iterator to the first element of the source range.
+..param.source_end:Iterator behind the last element of the source range.
+...text:$source_end$ must have the same type as $source_begin$.
+..param.target:Iterator to the first element of the target range.
+...text:The target capacity should be at least as long as the source range.
+..remarks.text:If source and target range do not overlap, consider to use
+       @Function.arrayCopyForward@ instead to improve performance.
+..remarks:If there is no need for the source elements to persist, consider to use 
+       @Function.arrayMoveForward@ instead to improve performance.
+..DISABLED.remarks.note:Be careful if source and target range overlap and the size of the
+       source elements differ from the size of target elements, because in this case
+       some source elements could be accidently overwritten before they are moved.
+..see:Function.arrayCopyForward
+..see:Function.arrayCopyBackward
+..see:Class.SimpleType
+*/
+template<typename TTarget, typename TSource1, typename TSource2>
+inline void arrayCopy(TSource1 source_begin, 
+                                         TSource2 source_end, 
+                                         TTarget target_begin)
+{
+       if ((void *) source_begin >= (void *) target_begin)
+       {
+SEQAN_CHECKPOINT
+               arrayCopyForward(source_begin, source_end, target_begin);
+       }
+       else
+       {
+SEQAN_CHECKPOINT
+               arrayCopyBackward(source_begin, source_end, target_begin);
+       }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+//arrayMoveForward
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Function.arrayMoveForward:
+..cat:Array Handling
+..summary:Moves a range of objects into another range of objects starting from the first element.
+..signature:arrayMoveForward(source_begin, source_end, target)
+..param.source_begin:Iterator to the first element of the source array.
+..param.source_end:Iterator behind the last element of the source array.
+...text:$source_end$ must have the same type as $source_begin$.
+..param.target:Iterator to the first element of the target array.
+...text:The target capacity should be at least as long as the source range.
+..remarks:The function possibly clears (but does not destroy) the source elements.
+       If source elements must persist, consider to use @Function.arrayCopyForward@ instead.
+..remarks.note:Be careful if source and target range overlap, because in this case
+       some source elements could be accidently overwritten before they are moved.
+..see:Function.arrayCopyForward
+..see:Class.SimpleType
+*/
+template<typename TTarget, typename TSource1, typename TSource2>
+inline void 
+_arrayMoveForward_Default(TSource1 source_begin, 
+                                                 TSource2 source_end, 
+                                                 TTarget target_begin)
+{
+SEQAN_CHECKPOINT
+       while (source_begin != source_end)
+       {
+               move(*target_begin, *source_begin);
+               ++source_begin;
+               ++target_begin;
+       }
+}
+template<typename TTarget, typename TSource1, typename TSource2>
+inline void 
+arrayMoveForward(TSource1 source_begin, 
+                                TSource2 source_end, 
+                                TTarget target_begin)
+{
+SEQAN_CHECKPOINT
+       _arrayMoveForward_Default(source_begin, source_end, target_begin);      
+}
+
+//////////////////////////////////////////////////////////////////////////////
+//arrayMoveBackward
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Function.arrayMoveBackward:
+..cat:Array Handling
+..summary:Moves a range of objects into another range of objects starting from the last element.
+..signature:arrayMoveBackward(source_begin, source_end, target)
+..param.source_begin:Iterator to the first element of the source array.
+..param.source_end:Iterator behind the last element of the source array.
+...text:$source_end$ must have the same type as $source_begin$.
+..param.target:Iterator to the first element of the target array.
+...text:The target capacity should be at least as long as the source range.
+..remarks:The function possibly clears (but does not destroy) the source elements.
+       If source elements must persist, consider to use @Function.arrayCopyBackward@ instead.
+..remarks.note:Be careful if source and target range overlap, because in this case
+       some source elements could be accidently overwritten before they are moved.
+..remarks.text:If source and target do not overlap, consider to use the function
+@Function.arrayMoveForward@ instead that is faster in some cases.
+..remarks.note:The semantic of this function's argument $target$ differ from the arguments of $::std::copy_backward$.
+..see:Function.arrayMoveForward
+..see:Function.arrayCopyBackward
+..see:Class.SimpleType
+*/
+template<typename TTarget, typename TSource1, typename TSource2>
+inline void 
+_arrayMoveBackward_Default(TSource1 source_begin, 
+                                                  TSource2 source_end, 
+                                                  TTarget target_begin)
+{
+SEQAN_CHECKPOINT
+       target_begin += (source_end - source_begin);
+       while (source_end != source_begin)
+       {
+               --source_end;
+               --target_begin;
+               move(*target_begin, *source_end);
+       }
+}
+template<typename TTarget, typename TSource1, typename TSource2>
+inline void 
+arrayMoveBackward(TSource1 source_begin, 
+                                 TSource2 source_end, 
+                                 TTarget target_begin)
+{
+SEQAN_CHECKPOINT
+       _arrayMoveBackward_Default(source_begin, source_end, target_begin);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+//arrayMove
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Function.arrayMove:
+..cat:Array Handling
+..summary:Moves a range of objects into another range of objects.
+..signature:arrayMove(source_begin, source_end, target)
+..param.source_begin:Iterator to the first element of the source range.
+..param.source_end:Iterator behind the last element of the source range.
+...text:$source_end$ must have the same type as $source_begin$.
+..param.target:Iterator to the first element of the target range.
+...text:The target capacity should be at least as long as the source range.
+..remarks:The function possibly clears (but does not destroy) the source elements.
+       If source elements must persist, consider to use @Function.arrayCopy@ instead.
+..remarks.text:If source and target range do not overlap, consider to use
+       @Function.arrayMoveForward@ instead to improve performance.
+..DISABLED.remarks.note:Be careful if source and target range overlap and the size of the
+       source elements differ from the size of target elements, because in this case
+       some source elements could be accidently overwritten before they are moved.
+..remarks.note:Don't confuse this function with the standard $move$ function that
+resembles @Function.arrayCopy@.
+..see:Function.arrayMoveForward
+..see:Function.arrayMoveBackward
+..see:Function.arrayCopy
+..see:Class.SimpleType
+*/
+template<typename TTarget, typename TSource1, typename TSource2>
+inline void 
+arrayMove(TSource1 source_begin, 
+                 TSource2 source_end,
+                 TTarget target_begin)
+{
+       if ((void *) source_begin >= (void *) target_begin)
+       {
+SEQAN_CHECKPOINT
+               arrayMoveForward(source_begin, source_end, target_begin);
+       }
+       else
+       {
+SEQAN_CHECKPOINT
+               arrayMoveBackward(source_begin, source_end, target_begin);
+       }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+//arrayClearSpace
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Function.arrayClearSpace:
+..cat:Array Handling
+..summary:Destroys the begin of an array and keeps the rest.
+..signature:arrayClearSpace(arr_begin, arr_length, keep_from, move_to)
+..param.arr_begin:Pointer to the first element of the array.
+..param.arr_length:Length of the array.
+..param.keep_from:Offset of the first object that will be kept.
+..param.move_to:Offset the first kept object will get at the end of the function. 
+..remarks.text:The objects $arr[keep_from]$ to $arr[arr_length-1]$
+are moved to the area beginning at positions $move_to$. 
+All objects in $arr[0]$ to $arr[keep_from-1]$ are destroyed.
+After this function, the first $move_to$ positions of the array
+are free and dont contain objects. 
+..remarks.text:The array must have at least enough space to store $arr_length + move_to - keep_from$ objects.
+..see:Function.arrayCopy
+..see:Function.arrayDestruct
+..see:Function.arrayCopyForward
+..see:Class.SimpleType
+*/
+template <typename TIterator>
+void _arrayClearSpace_Default(TIterator array_begin, 
+                                                         size_t array_length, 
+                                                         size_t keep_from, 
+                                                         size_t move_to)
+{
+       if (keep_from == array_length)
+       {
+               arrayDestruct(array_begin, array_begin + array_length);
+               return;
+       }
+
+       SEQAN_ASSERT(keep_from < array_length)
+
+       if (keep_from == move_to)
+       {
+               arrayDestruct(array_begin, array_begin + move_to);
+       }
+       else if (keep_from < move_to) 
+       {
+               if (array_length > move_to)
+               {
+SEQAN_CHECKPOINT
+                       size_t middle = array_length - (move_to - keep_from);
+                       arrayConstructMove(array_begin + middle, array_begin + array_length, array_begin + array_length);
+                       arrayMove(array_begin + keep_from, array_begin + middle, array_begin + move_to);
+                       arrayDestruct(array_begin, array_begin + move_to);
+               }
+               else
+               {
+SEQAN_CHECKPOINT
+                       arrayConstructMove(array_begin + keep_from, array_begin + array_length, array_begin + move_to);
+                       arrayDestruct(array_begin, array_begin + array_length);
+               }
+       }
+       else
+       {
+SEQAN_CHECKPOINT
+               arrayMove(array_begin + keep_from, array_begin + array_length, array_begin + move_to);
+               arrayDestruct(array_begin, array_begin + move_to);
+               arrayDestruct(array_begin + array_length - (keep_from - move_to), array_begin + array_length);
+       }
+}
+
+template <typename TIterator>
+void arrayClearSpace(TIterator array_begin, 
+                                        size_t array_length, 
+                                        size_t keep_from, 
+                                        size_t move_to)
+{
+       _arrayClearSpace_Default(array_begin, array_length, keep_from, move_to);
+}
+
+
+//////////////////////////////////////////////////////////////////////////////
+//BitsPerValue
+//////////////////////////////////////////////////////////////////////////////
+/**
+.Metafunction.BitsPerValue:
+..summary:Number of bits needed to store a value.
+..signature:BitsPerValue<T>::VALUE
+..param.T:A class.
+..returns.param.VALUE:Number of bits needed to store $T$.
+...default:$sizeof<T> * 8$
+..see:Metafunction.ValueSize
+*/
+template <typename TValue>
+struct BitsPerValue
+{
+       enum { VALUE = sizeof(TValue) * 8 };
+};
+template <typename TValue>
+struct BitsPerValue<TValue const>:
+       public BitsPerValue<TValue> {};
+
+//////////////////////////////////////////////////////////////////////////////
+//ValueSize
+//////////////////////////////////////////////////////////////////////////////
+/**
+.Metafunction.ValueSize:
+..summary:Number of different values a value type object can have.
+..signature:ValueSize<T>::VALUE
+..param.T:A class.
+..returns.param.VALUE:Value size of $T$.
+..remarks
+...text:This function is only defined for integral types like $unsigned int$, $double$ or @Spec.Dna@.
+..see:Metafunction.Value
+*/
+template <typename T>
+struct ValueSize
+{
+       enum { VALUE = 1 << BitsPerValue<T>::VALUE };
+};
+template <typename TValue>
+struct ValueSize<TValue const>:
+       public ValueSize<TValue> {};
+
+
+
+template < typename T >
+struct _SupremumValueUnsigned {        static const T VALUE; };
+template < typename T >
+struct _SupremumValueSigned {  static const T VALUE; };
+
+template < typename T >
+struct _InfimumValueUnsigned { static const T VALUE; };
+template < typename T >
+struct _InfimumValueSigned {   static const T VALUE; };
+
+
+
+template < typename T >
+const T _SupremumValueUnsigned<T>::VALUE = ~(T)0;
+template < typename T >
+const T _SupremumValueSigned<T>::VALUE = ( (((T)1 << (BitsPerValue<T>::VALUE - 2)) - 1) << 1) + 1;
+
+template < typename T >
+const T _InfimumValueUnsigned<T>::VALUE = 0;
+template < typename T >
+const T _InfimumValueSigned<T>::VALUE = ~(T)_SupremumValueSigned<T>::VALUE;
+
+
+
+template < 
+       typename T, 
+       typename TParent = typename IF<
+               TYPECMP< typename _MakeSigned<T>::Type, T >::VALUE,
+               _SupremumValueSigned<T>,
+               _SupremumValueUnsigned<T> >::Type >
+struct SupremumValue:
+       public TParent 
+{
+};
+
+template < 
+       typename T, 
+       typename TParent = typename IF<
+               TYPECMP< typename _MakeSigned<T>::Type, T >::VALUE,
+               _InfimumValueSigned<T>,
+               _InfimumValueUnsigned<T> >::Type >
+struct InfimumValue:
+       public TParent 
+{
+};
+
+//////////////////////////////////////////////////////////////////////////////
+}// namespace SEQAN_NAMESPACE_MAIN
+
+#endif //#ifndef SEQAN_HEADER_...
diff --git a/SeqAn-1.1/seqan/basic/basic_alphabet_interface2.h b/SeqAn-1.1/seqan/basic/basic_alphabet_interface2.h
new file mode 100644 (file)
index 0000000..d523e2b
--- /dev/null
@@ -0,0 +1,178 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de 
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: basic_alphabet_interface2.h,v 1.1 2008/08/25 16:20:01 langmead Exp $
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_BASIC_ALPHABET_INTERFACE2_H
+#define SEQAN_HEADER_BASIC_ALPHABET_INTERFACE2_H
+
+#include <new>
+
+namespace SEQAN_NAMESPACE_MAIN
+{
+
+//////////////////////////////////////////////////////////////////////////////
+// gapValue, gapValueImpl
+//////////////////////////////////////////////////////////////////////////////
+/**
+.Function.gapValueImpl:
+..hidefromindex
+..cat:Alphabets
+..summary:Implements @Function.gapValue@.
+..signature:gapValueImpl(value_pointer_tag)
+..param.value_pointer_tag:A pointer that is used as a tag to specify the value type.
+...remarks:The pointer needs not to point to a valid object, so it is possible to use a null pointer here.
+..returns:A gap character.
+..remarks.text:This function implements @Function.getValue@. 
+It is recommended to use @Function.gapValue@ rather than $gapValueImpl$.
+*/
+
+template <typename T>
+inline T const &
+gapValueImpl(T *)
+{
+SEQAN_CHECKPOINT
+       static T const _gap = T();
+       return _gap;
+}
+
+
+/**
+.Function.gapValue:
+..cat:Alphabets
+..cat:Alignments
+..summary:Returns reference to a value that is used as gap character.
+..signature:gapValue<TValue>()
+..param.TValue:Value type.
+..returns:A gap character.
+..remarks.text:The function is implemented in @Function.gapValueImpl@. 
+Do not specialize $gapValue$, specialize @Function.gapValueImpl@ instead!
+..see:Function.gapValueImpl
+*/
+
+template <typename T>
+inline T const &
+gapValue()
+{
+SEQAN_CHECKPOINT
+       T * _tag = 0;
+       return gapValueImpl(_tag);
+}
+
+
+//////////////////////////////////////////////////////////////////////////////
+// supremumValue, supremumValueImpl
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Function.supremumValueImpl:
+..hidefromindex
+..cat:Alphabets
+..summary:Implements @Function.supremumValue@.
+..signature:supremumValueImpl(value_pointer_tag)
+..param.value_pointer_tag:A pointer that is used as a tag to specify the value type.
+...remarks:The pointer needs not to point to a valid object, so it is possible to use a null pointer here.
+..returns:A value $inf$ that holds: $inf >= i$ for all values $i$.
+..remarks.text:This function implements @Function.supremumValue@. 
+It is recommended to use @Function.supremumValue@ rather than $supremumValueImpl$.
+*/
+
+/*
+template <typename T>
+inline T const &
+supremumValueImpl(T *)
+{
+       static T const _value = -1;
+       return _value;
+}
+*/
+
+/**
+.Function.supremumValue:
+..cat:Alphabets
+..summary:Supremum for a given type.
+..signature:supremumValue<T>()
+..param.T:An ordered type.
+..returns:A value $inf$ that holds: $inf >= i$ for all values $i$ of type $T$.
+..remarks.text:The function is implemented in @Function.supremumValueImpl@. 
+Do not specialize $supremumValue$, specialize @Function.supremumValueImpl@ instead!
+..see:Function.supremumValueImpl
+*/
+
+template <typename T>
+inline T const &
+supremumValue()
+{
+SEQAN_CHECKPOINT
+       T * _tag = 0;
+       return supremumValueImpl(_tag);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// infimumValue, infimumValueImpl
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Function.infimumValueImpl:
+..hidefromindex
+..cat:Alphabets
+..summary:Implements @Function.infimumValue@.
+..signature:infimumValueImpl(value_pointer_tag)
+..param.value_pointer_tag:A pointer that is used as a tag to specify the value type.
+...remarks:The pointer needs not to point to a valid object, so it is possible to use a null pointer here.
+..returns:A value $inf$ that holds: $inf <= i$ for all values $i$.
+..remarks.text:This function implements @Function.infimumValue@. 
+It is recommended to use @Function.infimumValue@ rather than $infimumValueImpl$.
+*/
+
+/*
+template <typename T>
+inline T const &
+infimumValueImpl(T *)
+{
+       static T const _value = -1;
+       return _value;
+}
+*/
+
+/**
+.Function.infimumValue:
+..cat:Alphabets
+..summary:Infimum for a given type.
+..signature:infimumValue<T>()
+..param.T:An ordered type.
+..returns:A value $inf$ that holds: $inf <= i$ for all values $i$ of type $T$.
+..remarks.text:The function is implemented in @Function.infimumValueImpl@. 
+Do not specialize $infimumValue$, specialize @Function.infimumValueImpl@ instead!
+..see:Function.infimumValueImpl
+..see:Function.supremumValue
+*/
+
+template <typename T>
+inline T const &
+infimumValue()
+{
+SEQAN_CHECKPOINT
+       T * _tag = 0;
+       return infimumValueImpl(_tag);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+}// namespace SEQAN_NAMESPACE_MAIN
+
+#endif //#ifndef SEQAN_HEADER_...
diff --git a/SeqAn-1.1/seqan/basic/basic_alphabet_simple.h b/SeqAn-1.1/seqan/basic/basic_alphabet_simple.h
new file mode 100644 (file)
index 0000000..9703666
--- /dev/null
@@ -0,0 +1,1296 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de 
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: basic_alphabet_simple.h,v 1.1 2008/08/25 16:20:02 langmead Exp $
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_BASIC_ALPHABET_SIMPLE_H
+#define SEQAN_HEADER_BASIC_ALPHABET_SIMPLE_H
+
+namespace SEQAN_NAMESPACE_MAIN
+{
+
+//////////////////////////////////////////////////////////////////////////////
+//Class that is used for various simple value types
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Class.SimpleType:
+..cat:Basic
+..summary:Implementation for "simple" types.
+..signature:SimpleType<TValue, TSpec>
+..param.TValue:Type that stores the values of an instance.
+...remarks:TValue must be a simple type.
+...metafunction:Metafunction.Value
+..param.TSpec:Specialization tag.
+...metafunction:Metafunction.Spec
+..remarks:
+...text:A "simple type" is a C++ type that can be constructed without constructor,
+destructed without destructor and copied without copy constructor or assignment operator.
+All basic types (like $char$, $int$ or $float$) are simple. Pointers, references and arrays of
+simple types are simple.
+POD types ("plain old data types"), that are - simplified spoken - C++-types that already existed in C,
+are simple too. 
+...text:Arrays of simple types can be copied very fast by memory manipulation routines, 
+but the default implementation of functions like @Function.arrayCopyForward@ and @Function.arrayCopy@
+are not optimized for simple types this way.
+But for classes derived from $SimpleType$, optimized variants of array manipulation functions are applied. 
+...text:Note that simple types need not to be derived or specialized from $SimpleType$, but
+it could be convenient to do so.
+..implements:Concept.Simple Type
+*/
+template <typename TValue, typename TSpec>
+struct SimpleType
+{
+//____________________________________________________________________________
+
+       TValue value;
+
+//____________________________________________________________________________
+
+       SimpleType() 
+       {
+SEQAN_CHECKPOINT
+       }
+
+//____________________________________________________________________________
+
+       SimpleType(SimpleType const & other)
+       {
+SEQAN_CHECKPOINT
+               assign(*this, other);
+       }
+
+       template <typename T> 
+       SimpleType(T const & other) 
+       {
+SEQAN_CHECKPOINT
+               assign(*this, other);
+       }
+
+
+//____________________________________________________________________________
+
+       SimpleType & operator=(SimpleType const & other) 
+       { 
+SEQAN_CHECKPOINT
+               assign(*this, other);
+               return *this;
+       }
+       template <typename T>
+       SimpleType & operator=(T const & other) 
+       { 
+SEQAN_CHECKPOINT
+               assign(*this, other);
+               return *this;
+       }
+//____________________________________________________________________________
+
+       ~SimpleType()
+       {
+SEQAN_CHECKPOINT
+       }
+//____________________________________________________________________________
+
+       //this cannot be a template since a template would be in conflict to
+       //the template c'tor
+
+
+       operator long() const
+       {
+SEQAN_CHECKPOINT
+               long c;
+               assign(c, *this);
+               return c;
+       }
+       operator unsigned long() const
+       {
+SEQAN_CHECKPOINT
+               unsigned long c;
+               assign(c, *this);
+               return c;
+       }
+       operator int() const
+       {
+SEQAN_CHECKPOINT
+               int c;
+               assign(c, *this);
+               return c;
+       }
+       operator unsigned int() const
+       {
+SEQAN_CHECKPOINT
+               unsigned int c;
+               assign(c, *this);
+               return c;
+       }
+       operator short() const
+       {
+SEQAN_CHECKPOINT
+               short c;
+               assign(c, *this);
+               return c;
+       }
+       operator unsigned short() const
+       {
+SEQAN_CHECKPOINT
+               unsigned short c;
+               assign(c, *this);
+               return c;
+       }
+       operator char() const
+       {
+SEQAN_CHECKPOINT
+               char c;
+               assign(c, *this);
+               return c;
+       }
+       operator signed char() const
+       {
+SEQAN_CHECKPOINT
+               signed char c;
+               assign(c, *this);
+               return c;
+       }
+       operator unsigned char() const
+       {
+SEQAN_CHECKPOINT
+               unsigned char c;
+               assign(c, *this);
+               return c;
+       }
+
+//____________________________________________________________________________
+};
+
+//////////////////////////////////////////////////////////////////////////////
+// METAFUNCTIONS
+//////////////////////////////////////////////////////////////////////////////
+
+///.Metafunction.IsSimple.param.T.type:Class.SimpleType
+
+template <typename TValue, typename TSpec>
+struct IsSimple<SimpleType<TValue, TSpec> >
+{
+       typedef True Type;
+};
+
+//////////////////////////////////////////////////////////////////////////////
+
+///.Metafunction.Value.param.T.type:Class.SimpleType
+template <typename TValue, typename TSpec>
+struct Value<SimpleType<TValue, TSpec> >
+{
+       typedef TValue Type;
+};
+
+template <typename TValue, typename TSpec>
+struct Value<SimpleType<TValue, TSpec> const >
+{
+       typedef TValue const Type;
+};
+
+//////////////////////////////////////////////////////////////////////////////
+
+///.Metafunction.Spec.param.T.type:Class.SimpleType
+template <typename TValue, typename TSpec>
+struct Spec<SimpleType<TValue, TSpec> >
+{
+       typedef TSpec Type;
+};
+
+template <typename TValue, typename TSpec>
+struct Spec<SimpleType<TValue, TSpec> const >
+{
+       typedef TSpec Type;
+};
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TValue, typename TSpec>
+struct Iterator<SimpleType<TValue, TSpec>, Standard>
+{
+       typedef SimpleType<TValue, TSpec> * Type;
+//     typedef Iter<SimpleType<TValue, TSpec>, SimpleIterator> * Type;
+};
+
+template <typename TValue, typename TSpec>
+struct Iterator<SimpleType<TValue, TSpec> const, Standard>
+{
+       typedef SimpleType<TValue, TSpec> const * Type;
+//     typedef Iter<SimpleType<TValue, TSpec> const, SimpleIterator> * Type;
+};
+
+
+//////////////////////////////////////////////////////////////////////////////
+// FUNCTIONS
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TTarget, typename T, typename TSourceValue, typename TSourceSpec>
+inline typename _RemoveConst<TTarget>::Type
+convertImpl(Convert<TTarget, T> const,
+                       SimpleType<TSourceValue, TSourceSpec> const & source_)
+{
+SEQAN_CHECKPOINT
+       typename _RemoveConst<TTarget>::Type target_;
+       assign(target_, source_);
+       return target_;
+}
+
+
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TStream, typename TValue, typename TSpec>
+inline TStream &
+operator << (TStream & stream, 
+                        SimpleType<TValue, TSpec> const & data)
+{
+SEQAN_CHECKPOINT
+       stream << convert<char>(data);
+       return stream;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TStream, typename TValue, typename TSpec>
+inline TStream &
+operator >> (TStream & stream, 
+                        SimpleType<TValue, TSpec> & data)
+{
+SEQAN_CHECKPOINT
+       char c;
+       stream >> c;
+       assign(data, c);
+       return stream;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// assign
+//////////////////////////////////////////////////////////////////////////////
+
+///.Function.assign.param.target.type:Class.SimpleType
+///.Function.assign.param.source.type:Class.SimpleType
+
+
+template <typename TTargetValue, typename TTargetSpec, typename TSourceValue, typename TSourceSpec>
+inline void 
+assign(SimpleType<TTargetValue, TTargetSpec> & target, 
+          SimpleType<TSourceValue, TSourceSpec> & source)
+{
+SEQAN_CHECKPOINT
+       target.value = source.value;
+}
+template <typename TTargetValue, typename TTargetSpec, typename TSourceValue, typename TSourceSpec>
+inline void 
+assign(SimpleType<TTargetValue, TTargetSpec> & target, 
+          SimpleType<TSourceValue, TSourceSpec> const & source)
+{
+SEQAN_CHECKPOINT
+       target.value = source.value;
+}
+
+//____________________________________________________________________________
+
+template <typename TTargetValue, typename TTargetSpec, typename TSource>
+inline void 
+assign(SimpleType<TTargetValue, TTargetSpec> & target, 
+          TSource & source)
+{
+SEQAN_CHECKPOINT
+       target.value = source;
+}
+template <typename TTargetValue, typename TTargetSpec, typename TSource>
+inline void 
+assign(SimpleType<TTargetValue, TTargetSpec> & target, 
+          TSource const & source)
+{
+SEQAN_CHECKPOINT
+       target.value = source;
+}
+
+//____________________________________________________________________________
+// Assign Proxy to SimpleType 
+//??? Diese Funktionen wurden noetig wegen eines seltsamen VC++-Verhaltens
+
+template <typename TTargetValue, typename TTargetSpec, typename TSourceSpec>
+inline void 
+assign(SimpleType<TTargetValue, TTargetSpec> & target, 
+          Proxy<TSourceSpec> & source)
+{
+SEQAN_CHECKPOINT
+       target.value = getValue(source);
+}
+
+template <typename TTargetValue, typename TTargetSpec, typename TSourceSpec>
+inline void 
+assign(SimpleType<TTargetValue, TTargetSpec> & target, 
+          Proxy<TSourceSpec> const & source)
+{
+SEQAN_CHECKPOINT
+       target.value = getValue(source);
+}
+
+//____________________________________________________________________________
+//INTEGRAL TYPES
+//note: it is not possible to write a single function here since "assign"
+//must be specialized for the first argument at the first place
+
+//int
+template <typename TValue, typename TSpec>
+inline void 
+assign(int & c_target, 
+          SimpleType<TValue, TSpec> & source)
+{
+SEQAN_CHECKPOINT
+       c_target = source.value;
+}
+template <typename TValue, typename TSpec>
+inline void 
+assign(int & c_target, 
+          SimpleType<TValue, TSpec> const & source)
+{
+SEQAN_CHECKPOINT
+       c_target = source.value;
+}
+
+//unsigned int
+template <typename TValue, typename TSpec>
+inline void 
+assign(unsigned int & c_target, 
+          SimpleType<TValue, TSpec> & source)
+{
+SEQAN_CHECKPOINT
+       c_target = source.value;
+}
+template <typename TValue, typename TSpec>
+inline void 
+assign(unsigned int & c_target, 
+          SimpleType<TValue, TSpec> const & source)
+{
+SEQAN_CHECKPOINT
+       c_target = source.value;
+}
+
+//short
+template <typename TValue, typename TSpec>
+inline void 
+assign(short & c_target, 
+          SimpleType<TValue, TSpec> & source)
+{
+SEQAN_CHECKPOINT
+       c_target = source.value;
+}
+template <typename TValue, typename TSpec>
+inline void 
+assign(short & c_target, 
+          SimpleType<TValue, TSpec> const & source)
+{
+SEQAN_CHECKPOINT
+       c_target = source.value;
+}
+
+//unsigned short
+template <typename TValue, typename TSpec>
+inline void 
+assign(unsigned short & c_target, 
+          SimpleType<TValue, TSpec> & source)
+{
+SEQAN_CHECKPOINT
+       c_target = source.value;
+}
+template <typename TValue, typename TSpec>
+inline void 
+assign(unsigned short & c_target, 
+          SimpleType<TValue, TSpec> const & source)
+{
+SEQAN_CHECKPOINT
+       c_target = source.value;
+}
+
+//char
+template <typename TValue, typename TSpec>
+inline void 
+assign(char & c_target, 
+          SimpleType<TValue, TSpec> & source)
+{
+SEQAN_CHECKPOINT
+       c_target = source.value;
+}
+template <typename TValue, typename TSpec>
+inline void 
+assign(char & c_target, 
+          SimpleType<TValue, TSpec> const & source)
+{
+SEQAN_CHECKPOINT
+       c_target = source.value;
+}
+
+//signed char
+template <typename TValue, typename TSpec>
+inline void 
+assign(signed char & c_target, 
+          SimpleType<TValue, TSpec> & source)
+{
+SEQAN_CHECKPOINT
+       c_target = source.value;
+}
+template <typename TValue, typename TSpec>
+inline void 
+assign(signed char & c_target, 
+          SimpleType<TValue, TSpec> const & source)
+{
+SEQAN_CHECKPOINT
+       c_target = source.value;
+}
+
+//unsigned char
+template <typename TValue, typename TSpec>
+inline void 
+assign(unsigned char & c_target, 
+          SimpleType<TValue, TSpec> & source)
+{
+SEQAN_CHECKPOINT
+       c_target = source.value;
+}
+template <typename TValue, typename TSpec>
+inline void 
+assign(unsigned char & c_target, 
+          SimpleType<TValue, TSpec> const & source)
+{
+SEQAN_CHECKPOINT
+       c_target = source.value;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////////
+// CompareType
+//////////////////////////////////////////////////////////////////////////////
+
+/**.Metafunction.CompareType:
+..summary:Type to convert other types for comparisons.
+..signature:CompareType<TLeft, TRight>::Type
+..param.TLeft:Type of the left operand of a comparison.
+..param.TRight:Type of the right operand of a comparison.
+..return.Type:The Type in which the arguments are converted in order to compare them.
+..remarks:Comparisons are for example operators like $==$ or $<$.
+..remarks.text:Note that there is no rule that guarantees that $CompareType<T1, T2>::Type$
+is the same as $CompareType<T2, T1>::Type$. It is also possible, that only one of these
+two types is defined.
+..remarks.text:This metafunction is used for the implementation of
+comparisons that involve @Class.SimpleType@.
+*/
+//???TODO: muss geprueft werden, ob diese Metafunktion noch ausgeweitet oder aber versteckt wird.
+
+template <typename TLeft, typename TRight>
+struct CompareType;
+
+template <typename T>
+struct CompareType<T, T>
+{
+       typedef T Type;
+};
+
+//____________________________________________________________________________
+
+template <typename TValue, typename TSpec, typename TRight>
+struct CompareType<SimpleType<TValue, TSpec>, TRight>
+{
+       typedef TRight Type;
+};
+
+//////////////////////////////////////////////////////////////////////////////
+// operator ==
+
+template <typename TValue, typename TSpec, typename TRight>
+inline bool
+operator == (SimpleType<TValue, TSpec> const & left_, 
+                        TRight const & right_)
+{
+SEQAN_CHECKPOINT
+       typedef SimpleType<TValue, TSpec> TLeft;
+       typedef typename CompareType<TLeft, TRight>::Type TCompareType;
+       return convert<TCompareType>(left_) == convert<TCompareType>(right_);
+}
+
+template <typename TLeft, typename TValue, typename TSpec>
+inline bool
+operator == (TLeft const & left_, 
+                        SimpleType<TValue, TSpec> const & right_)
+{
+SEQAN_CHECKPOINT
+       typedef SimpleType<TValue, TSpec> TRight;
+       typedef typename CompareType<TRight, TLeft>::Type TCompareType;
+       return convert<TCompareType>(left_) == convert<TCompareType>(right_);
+}
+
+template <typename TLeftValue, typename TLeftSpec, typename TRightValue, typename TRightSpec>
+inline bool
+operator == (SimpleType<TLeftValue, TLeftSpec> const & left_, 
+                        SimpleType<TRightValue, TRightSpec> const & right_)
+{
+SEQAN_CHECKPOINT
+       typedef SimpleType<TLeftValue, TLeftSpec> TLeft;
+       typedef SimpleType<TRightValue, TRightSpec> TRight;
+       typedef typename CompareType<TLeft, TRight>::Type TCompareType;
+       return convert<TCompareType>(left_) == convert<TCompareType>(right_);
+}
+
+template <typename TValue, typename TSpec>
+inline bool
+operator == (SimpleType<TValue, TSpec> const & left_, 
+                        SimpleType<TValue, TSpec> const & right_)
+{
+SEQAN_CHECKPOINT
+       return convert<TValue>(left_) == convert<TValue>(right_);
+}
+
+
+template <typename TSpec, typename TValue, typename TSpec2>
+inline bool
+operator == (Proxy<TSpec> const & left_, 
+                        SimpleType<TValue, TSpec2> const & right_)
+{
+SEQAN_CHECKPOINT
+       typedef Proxy<TSpec> TLeft;
+       typedef SimpleType<TValue, TSpec> TRight;
+       typedef typename CompareType<TLeft, TRight>::Type TCompareType;
+       return convert<TCompareType>(left_) == convert<TCompareType>(right_);
+}
+template <typename TSpec, typename TValue, typename TSpec2>
+inline bool
+operator == (SimpleType<TValue, TSpec2> const & left_,
+                        Proxy<TSpec> const & right_)
+{
+SEQAN_CHECKPOINT
+       typedef SimpleType<TValue, TSpec> TLeft;
+       typedef Proxy<TSpec> TRight;
+       typedef typename CompareType<TLeft, TRight>::Type TCompareType;
+       return convert<TCompareType>(left_) == convert<TCompareType>(right_);
+}
+
+
+//____________________________________________________________________________
+// operator !=
+
+template <typename TValue, typename TSpec, typename TRight>
+inline bool
+operator != (SimpleType<TValue, TSpec> const & left_, 
+                        TRight const & right_)
+{
+SEQAN_CHECKPOINT
+       typedef SimpleType<TValue, TSpec> TLeft;
+       typedef typename CompareType<TLeft, TRight>::Type TCompareType;
+       return convert<TCompareType>(left_) != convert<TCompareType>(right_);
+}
+
+template <typename TLeft, typename TValue, typename TSpec>
+inline bool
+operator != (TLeft const & left_, 
+                        SimpleType<TValue, TSpec> const & right_)
+{
+SEQAN_CHECKPOINT
+       typedef SimpleType<TValue, TSpec> TRight;
+       typedef typename CompareType<TRight, TLeft>::Type TCompareType;
+       return convert<TCompareType>(left_) != convert<TCompareType>(right_);
+}
+
+template <typename TLeftValue, typename TLeftSpec, typename TRightValue, typename TRightSpec>
+inline bool
+operator != (SimpleType<TLeftValue, TLeftSpec> const & left_, 
+                        SimpleType<TRightValue, TRightSpec> const & right_)
+{
+SEQAN_CHECKPOINT
+       typedef SimpleType<TLeftValue, TLeftSpec> TLeft;
+       typedef SimpleType<TRightValue, TRightSpec> TRight;
+       typedef typename CompareType<TLeft, TRight>::Type TCompareType;
+       return convert<TCompareType>(left_) != convert<TCompareType>(right_);
+}
+
+template <typename TValue, typename TSpec>
+inline bool
+operator != (SimpleType<TValue, TSpec> const & left_, 
+                        SimpleType<TValue, TSpec> const & right_)
+{
+SEQAN_CHECKPOINT
+       return convert<TValue>(left_) != convert<TValue>(right_);
+}
+
+
+template <typename TSpec, typename TValue, typename TSpec2>
+inline bool
+operator != (Proxy<TSpec> const & left_, 
+                        SimpleType<TValue, TSpec2> const & right_)
+{
+SEQAN_CHECKPOINT
+       typedef Proxy<TSpec> TLeft;
+       typedef SimpleType<TValue, TSpec> TRight;
+       typedef typename CompareType<TLeft, TRight>::Type TCompareType;
+       return convert<TCompareType>(left_) != convert<TCompareType>(right_);
+}
+template <typename TSpec, typename TValue, typename TSpec2>
+inline bool
+operator != (SimpleType<TValue, TSpec2> const & left_,
+                        Proxy<TSpec> const & right_)
+{
+SEQAN_CHECKPOINT
+       typedef SimpleType<TValue, TSpec> TLeft;
+       typedef Proxy<TSpec> TRight;
+       typedef typename CompareType<TLeft, TRight>::Type TCompareType;
+       return convert<TCompareType>(left_) != convert<TCompareType>(right_);
+}
+
+
+//____________________________________________________________________________
+// operator <
+
+template <typename TValue, typename TSpec, typename TRight>
+inline bool
+operator < (SimpleType<TValue, TSpec> const & left_, 
+                       TRight const & right_)
+{
+SEQAN_CHECKPOINT
+       typedef SimpleType<TValue, TSpec> TLeft;
+       typedef typename CompareType<TLeft, TRight>::Type TCompareType;
+       return convert<TCompareType>(left_) < convert<TCompareType>(right_);
+}
+
+template <typename TLeft, typename TValue, typename TSpec>
+inline bool
+operator < (TLeft const & left_, 
+                       SimpleType<TValue, TSpec> const & right_)
+{
+SEQAN_CHECKPOINT
+       typedef SimpleType<TValue, TSpec> TRight;
+       typedef typename CompareType<TRight, TLeft>::Type TCompareType;
+       return convert<TCompareType>(left_) < convert<TCompareType>(right_);
+}
+
+template <typename TLeftValue, typename TLeftSpec, typename TRightValue, typename TRightSpec>
+inline bool
+operator < (SimpleType<TLeftValue, TLeftSpec> const & left_, 
+                       SimpleType<TRightValue, TRightSpec> const & right_)
+{
+SEQAN_CHECKPOINT
+       typedef SimpleType<TLeftValue, TLeftSpec> TLeft;
+       typedef SimpleType<TRightValue, TRightSpec> TRight;
+       typedef typename CompareType<TLeft, TRight>::Type TCompareType;
+       return convert<TCompareType>(left_) < convert<TCompareType>(right_);
+}
+
+template <typename TValue, typename TSpec>
+inline bool
+operator < (SimpleType<TValue, TSpec> const & left_, 
+                       SimpleType<TValue, TSpec> const & right_)
+{
+SEQAN_CHECKPOINT
+       return convert<TValue>(left_) < convert<TValue>(right_);
+}
+
+
+template <typename TSpec, typename TValue, typename TSpec2>
+inline bool
+operator < (Proxy<TSpec> const & left_, 
+                        SimpleType<TValue, TSpec2> const & right_)
+{
+SEQAN_CHECKPOINT
+       typedef Proxy<TSpec> TLeft;
+       typedef SimpleType<TValue, TSpec> TRight;
+       typedef typename CompareType<TLeft, TRight>::Type TCompareType;
+       return convert<TCompareType>(left_) < convert<TCompareType>(right_);
+}
+template <typename TSpec, typename TValue, typename TSpec2>
+inline bool
+operator < (SimpleType<TValue, TSpec2> const & left_,
+                        Proxy<TSpec> const & right_)
+{
+SEQAN_CHECKPOINT
+       typedef SimpleType<TValue, TSpec> TLeft;
+       typedef Proxy<TSpec> TRight;
+       typedef typename CompareType<TLeft, TRight>::Type TCompareType;
+       return convert<TCompareType>(left_) < convert<TCompareType>(right_);
+}
+
+
+//____________________________________________________________________________
+// operator <=
+
+template <typename TValue, typename TSpec, typename TRight>
+inline bool
+operator <= (SimpleType<TValue, TSpec> const & left_, 
+                        TRight const & right_)
+{
+SEQAN_CHECKPOINT
+       typedef SimpleType<TValue, TSpec> TLeft;
+       typedef typename CompareType<TLeft, TRight>::Type TCompareType;
+       return convert<TCompareType>(left_) <= convert<TCompareType>(right_);
+}
+
+template <typename TLeft, typename TValue, typename TSpec>
+inline bool
+operator <= (TLeft const & left_, 
+                        SimpleType<TValue, TSpec> const & right_)
+{
+SEQAN_CHECKPOINT
+       typedef SimpleType<TValue, TSpec> TRight;
+       typedef typename CompareType<TRight, TLeft>::Type TCompareType;
+       return convert<TCompareType>(left_) <= convert<TCompareType>(right_);
+}
+
+template <typename TLeftValue, typename TLeftSpec, typename TRightValue, typename TRightSpec>
+inline bool
+operator <= (SimpleType<TLeftValue, TLeftSpec> const & left_, 
+                        SimpleType<TRightValue, TRightSpec> const & right_)
+{
+SEQAN_CHECKPOINT
+       typedef SimpleType<TLeftValue, TLeftSpec> TLeft;
+       typedef SimpleType<TRightValue, TRightSpec> TRight;
+       typedef typename CompareType<TLeft, TRight>::Type TCompareType;
+       return convert<TCompareType>(left_) <= convert<TCompareType>(right_);
+}
+
+template <typename TValue, typename TSpec>
+inline bool
+operator <= (SimpleType<TValue, TSpec> const & left_, 
+                        SimpleType<TValue, TSpec> const & right_)
+{
+SEQAN_CHECKPOINT
+       return convert<TValue>(left_) <= convert<TValue>(right_);
+}
+
+
+template <typename TSpec, typename TValue, typename TSpec2>
+inline bool
+operator <= (Proxy<TSpec> const & left_, 
+                        SimpleType<TValue, TSpec2> const & right_)
+{
+SEQAN_CHECKPOINT
+       typedef Proxy<TSpec> TLeft;
+       typedef SimpleType<TValue, TSpec> TRight;
+       typedef typename CompareType<TLeft, TRight>::Type TCompareType;
+       return convert<TCompareType>(left_) <= convert<TCompareType>(right_);
+}
+template <typename TSpec, typename TValue, typename TSpec2>
+inline bool
+operator <= (SimpleType<TValue, TSpec2> const & left_,
+                        Proxy<TSpec> const & right_)
+{
+SEQAN_CHECKPOINT
+       typedef SimpleType<TValue, TSpec> TLeft;
+       typedef Proxy<TSpec> TRight;
+       typedef typename CompareType<TLeft, TRight>::Type TCompareType;
+       return convert<TCompareType>(left_) <= convert<TCompareType>(right_);
+}
+
+
+
+//____________________________________________________________________________
+// operator >
+
+template <typename TValue, typename TSpec, typename TRight>
+inline bool
+operator > (SimpleType<TValue, TSpec> const & left_, 
+                       TRight const & right_)
+{
+SEQAN_CHECKPOINT
+       typedef SimpleType<TValue, TSpec> TLeft;
+       typedef typename CompareType<TLeft, TRight>::Type TCompareType;
+       return convert<TCompareType>(left_) > convert<TCompareType>(right_);
+}
+
+template <typename TLeft, typename TValue, typename TSpec>
+inline bool
+operator > (TLeft const & left_, 
+                       SimpleType<TValue, TSpec> const & right_)
+{
+SEQAN_CHECKPOINT
+       typedef SimpleType<TValue, TSpec> TRight;
+       typedef typename CompareType<TRight, TLeft>::Type TCompareType;
+       return convert<TCompareType>(left_) > convert<TCompareType>(right_);
+}
+
+template <typename TLeftValue, typename TLeftSpec, typename TRightValue, typename TRightSpec>
+inline bool
+operator > (SimpleType<TLeftValue, TLeftSpec> const & left_, 
+                       SimpleType<TRightValue, TRightSpec> const & right_)
+{
+SEQAN_CHECKPOINT
+       typedef SimpleType<TLeftValue, TLeftSpec> TLeft;
+       typedef SimpleType<TRightValue, TRightSpec> TRight;
+       typedef typename CompareType<TLeft, TRight>::Type TCompareType;
+       return convert<TCompareType>(left_) > convert<TCompareType>(right_);
+}
+
+template <typename TValue, typename TSpec>
+inline bool
+operator > (SimpleType<TValue, TSpec> const & left_, 
+                       SimpleType<TValue, TSpec> const & right_)
+{
+SEQAN_CHECKPOINT
+       return convert<TValue>(left_) > convert<TValue>(right_);
+}
+
+
+template <typename TSpec, typename TValue, typename TSpec2>
+inline bool
+operator > (Proxy<TSpec> const & left_, 
+                        SimpleType<TValue, TSpec2> const & right_)
+{
+SEQAN_CHECKPOINT
+       typedef Proxy<TSpec> TLeft;
+       typedef SimpleType<TValue, TSpec> TRight;
+       typedef typename CompareType<TLeft, TRight>::Type TCompareType;
+       return convert<TCompareType>(left_) > convert<TCompareType>(right_);
+}
+template <typename TSpec, typename TValue, typename TSpec2>
+inline bool
+operator > (SimpleType<TValue, TSpec2> const & left_,
+                        Proxy<TSpec> const & right_)
+{
+SEQAN_CHECKPOINT
+       typedef SimpleType<TValue, TSpec> TLeft;
+       typedef Proxy<TSpec> TRight;
+       typedef typename CompareType<TLeft, TRight>::Type TCompareType;
+       return convert<TCompareType>(left_) > convert<TCompareType>(right_);
+}
+
+
+//____________________________________________________________________________
+// operator >=
+
+template <typename TValue, typename TSpec, typename TRight>
+inline bool
+operator >= (SimpleType<TValue, TSpec> const & left_, 
+                        TRight const & right_)
+{
+SEQAN_CHECKPOINT
+       typedef SimpleType<TValue, TSpec> TLeft;
+       typedef typename CompareType<TLeft, TRight>::Type TCompareType;
+       return convert<TCompareType>(left_) >= convert<TCompareType>(right_);
+}
+
+template <typename TLeft, typename TValue, typename TSpec>
+inline bool
+operator >= (TLeft const & left_, 
+                        SimpleType<TValue, TSpec> const & right_)
+{
+SEQAN_CHECKPOINT
+       typedef SimpleType<TValue, TSpec> TRight;
+       typedef typename CompareType<TRight, TLeft>::Type TCompareType;
+       return convert<TCompareType>(left_) >= convert<TCompareType>(right_);
+}
+
+template <typename TLeftValue, typename TLeftSpec, typename TRightValue, typename TRightSpec>
+inline bool
+operator >= (SimpleType<TLeftValue, TLeftSpec> const & left_, 
+                        SimpleType<TRightValue, TRightSpec> const & right_)
+{
+SEQAN_CHECKPOINT
+       typedef SimpleType<TLeftValue, TLeftSpec> TLeft;
+       typedef SimpleType<TRightValue, TRightSpec> TRight;
+       typedef typename CompareType<TLeft, TRight>::Type TCompareType;
+       return convert<TCompareType>(left_) >= convert<TCompareType>(right_);
+}
+
+template <typename TValue, typename TSpec>
+inline bool
+operator >= (SimpleType<TValue, TSpec> const & left_, 
+                        SimpleType<TValue, TSpec> const & right_)
+{
+SEQAN_CHECKPOINT
+       return convert<TValue>(left_) >= convert<TValue>(right_);
+}
+
+
+template <typename TSpec, typename TValue, typename TSpec2>
+inline bool
+operator >= (Proxy<TSpec> const & left_, 
+                        SimpleType<TValue, TSpec2> const & right_)
+{
+SEQAN_CHECKPOINT
+       typedef Proxy<TSpec> TLeft;
+       typedef SimpleType<TValue, TSpec> TRight;
+       typedef typename CompareType<TLeft, TRight>::Type TCompareType;
+       return convert<TCompareType>(left_) >= convert<TCompareType>(right_);
+}
+template <typename TSpec, typename TValue, typename TSpec2>
+inline bool
+operator >= (SimpleType<TValue, TSpec2> const & left_,
+                        Proxy<TSpec> const & right_)
+{
+SEQAN_CHECKPOINT
+       typedef SimpleType<TValue, TSpec> TLeft;
+       typedef Proxy<TSpec> TRight;
+       typedef typename CompareType<TLeft, TRight>::Type TCompareType;
+       return convert<TCompareType>(left_) >= convert<TCompareType>(right_);
+}
+
+
+//////////////////////////////////////////////////////////////////////////////
+
+template<typename _T, typename TSpec> 
+inline
+bool lexLess(SimpleType<_T, TSpec> const &_Left, SimpleType<_T, TSpec> const &_Right)
+{      // return lexicographical _Left < _Right
+       typedef typename _MakeUnsigned<_T>::Type TUnsigned;
+    return (TUnsigned)(_Left.value) < (TUnsigned)(_Right.value);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TValue, typename TSpec>
+inline SimpleType<TValue, TSpec> &
+operator ++ (SimpleType<TValue, TSpec> & me)
+{
+       ++me.value;
+       return me;
+}
+template <typename TValue, typename TSpec>
+inline SimpleType<TValue, TSpec>
+operator ++ (SimpleType<TValue, TSpec> & me,
+                        int)
+{
+       SimpleType<TValue, TSpec> dummy = me;
+       ++me.value;
+       return dummy;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TValue, typename TSpec>
+inline SimpleType<TValue, TSpec> &
+operator -- (SimpleType<TValue, TSpec> & me)
+{
+       --me.value;
+       return me;
+}
+template <typename TValue, typename TSpec>
+inline SimpleType<TValue, TSpec>
+operator -- (SimpleType<TValue, TSpec> & me,
+                        int)
+{
+       SimpleType<TValue, TSpec> dummy = me;
+       --me.value;
+       return dummy;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Spec.Dna:
+..cat:Alphabets
+..summary:Alphabet for DNA.
+..general:Class.SimpleType
+..signature:Dna
+..remarks:
+...text:The @Metafunction.ValueSize@ of $Dna$ is 4. 
+The nucleotides are enumerated this way: $'A' = 0, 'C' = 1, 'G' = 2, 'T' = 3$.
+...text:Objects of type $Dna$ can be converted to various other types and vice versa. 
+An object that has a value not in ${'A', 'C', 'G', 'T'}$ is converted to $'A'$.
+...text:$Dna$ is typedef for $SimpleType<char,_Dna>$, while $_Dna$ is a helper
+specialization tag class.
+..see:Metafunction.ValueSize
+..see:Spec.Dna5
+*/
+struct _Dna {};
+typedef SimpleType<unsigned char,_Dna> Dna;
+
+template <> struct ValueSize< Dna > { enum { VALUE = 4 }; };
+template <> struct BitsPerValue< Dna > { enum { VALUE = 2 }; };
+
+//____________________________________________________________________________
+
+/**
+.Spec.Dna5:
+..cat:Alphabets
+..summary:Alphabet for DNA including 'N' character.
+..general:Class.SimpleType
+..signature:Dna5
+..remarks:
+...text:The @Metafunction.ValueSize@ of $Dna5$ is 5. 
+The nucleotides are enumerated this way: $'A' = 0, 'C' = 1, 'G' = 2, 'T' = 3$. 
+The 'N' character ("unkown nucleotide") is encoded by 4.
+...text:Objects of type $Dna5$ can be converted to various other types and vice versa. 
+An object that has a value not in ${'A', 'C', 'G', 'T'}$ is converted to $'N'$.
+...text:$Dna5$ is typedef for $SimpleType<char,_Dna5>$, while $_Dna5$ is a helper
+specialization tag class.
+..see:Metafunction.ValueSize
+*/
+struct _Dna5 {};
+typedef SimpleType<unsigned char, _Dna5> Dna5;
+
+template <> struct ValueSize< Dna5 > { enum { VALUE = 5 }; };
+template <> struct BitsPerValue< Dna5 > { enum { VALUE = 3 }; };
+
+//____________________________________________________________________________
+
+/**
+.Spec.Iupac:
+..cat:Alphabets
+..summary:Iupac code for DNA.
+..general:Class.SimpleType
+..signature:Iupac
+..remarks:
+...text:The @Metafunction.ValueSize@ of $Iupac$ is 16. 
+The nucleotides are enumerated from 0 to 15 in this order: 
+'U'=0, 'T', 'A', 'W', 'C', 'Y', 'M', 'H', 'G', 'K', 'R', 'D', 'S', 'B', 'V', 'N'=15. 
+...text:Objects of type $Iupac$ can be converted to various other types and vice versa. 
+Unkown values are converted to $'N'$.
+...text:$Iupac$ is typedef for $SimpleType<char,_Iupac>$, while $_Iupac$ is a helper
+specialization tag class.
+..see:Metafunction.ValueSize
+*/
+struct _Iupac {};
+typedef SimpleType<unsigned char, _Iupac> Iupac;
+
+template <> struct ValueSize< Iupac > { enum { VALUE = 16 }; };
+template <> struct BitsPerValue< Iupac > { enum { VALUE = 4 }; };
+
+
+//____________________________________________________________________________
+
+/**
+.Spec.AminoAcid:
+..cat:Alphabets
+..summary:Iupac code for amino acids.
+..general:Class.SimpleType
+..signature:AminoAcid
+..remarks:
+...text:The @Metafunction.ValueSize@ of $AminoAcid$ is 24. 
+...text:The amino acids are enumerated from 0 to 15 in this order: 
+...text:'A'=0, 'R', 'N', 'D', 'C', 'Q', 'E', 'G', 'H', 'I', 'L', 'K', 'M', 'F', 'P', 'S', 'T', 'W', 'Y', 'V'=19.
+...text:The remaining 4 symbols are:
+...text: 'B'=20 (Aspartic Acid, Asparagine), 'Z'=21 (Glutamic Acid, Glutamine), 'X'=22 (unknown), '*'=23 (terminator)
+...text:Objects of type $AminoAcid$ can be converted to $char$ and vice versa. 
+Unkown values are converted to $'X'$.
+...text:$AminoAcid$ is typedef for $SimpleType<char,_AminoAcid>$, while $_AminoAcid$ is a helper
+specialization tag class.
+..see:Metafunction.ValueSize
+*/
+struct _AminoAcid {};
+typedef SimpleType<unsigned char, _AminoAcid> AminoAcid;
+
+template <> struct ValueSize< AminoAcid > { enum { VALUE = 24 }; };
+template <> struct BitsPerValue< AminoAcid > { enum { VALUE = 5 }; };
+
+//////////////////////////////////////////////////////////////////////////////
+//ASCII
+
+inline void assign(Ascii & c_target, 
+                                  Dna const & source)
+{
+SEQAN_CHECKPOINT
+       c_target = _Translate_Table_Dna5_2_Ascii<>::VALUE[source.value];
+}
+//____________________________________________________________________________
+
+inline void assign(Ascii & c_target, 
+                                  Dna5 const & source)
+{
+SEQAN_CHECKPOINT
+       c_target = _Translate_Table_Dna5_2_Ascii<>::VALUE[source.value];
+}
+//____________________________________________________________________________
+
+inline void assign(Ascii & c_target, Iupac const & source)
+{
+SEQAN_CHECKPOINT
+       c_target = _Translate_Table_Iupac_2_Ascii<>::VALUE[source.value];
+}
+//____________________________________________________________________________
+
+inline void assign(Ascii & c_target, AminoAcid const & source)
+{
+SEQAN_CHECKPOINT
+       c_target = _Translate_Table_AA_2_Ascii<>::VALUE[source.value];
+}
+
+//////////////////////////////////////////////////////////////////////////////
+//DNA (4 letters)
+
+template <>
+struct CompareType<Dna, Byte> { typedef Dna Type; };
+inline void assign(Dna & target, Byte c_source)
+{
+SEQAN_CHECKPOINT
+       target.value = _Translate_Table_Byte_2_Dna<>::VALUE[c_source];
+}
+//____________________________________________________________________________
+
+template <>
+struct CompareType<Dna, Ascii> { typedef Dna Type; };
+inline void assign(Dna & target, Ascii c_source)
+{
+SEQAN_CHECKPOINT
+       target.value = _Translate_Table_Ascii_2_Dna<>::VALUE[(unsigned char)c_source];
+}
+//____________________________________________________________________________
+
+template <>
+struct CompareType<Dna, Unicode> { typedef Dna Type; };
+inline void assign(Dna & target, Unicode c_source)
+{
+SEQAN_CHECKPOINT
+       target.value = _Translate_Table_Ascii_2_Dna<>::VALUE[(unsigned char) c_source];
+}
+//____________________________________________________________________________
+
+template <>
+struct CompareType<Dna, Dna5> { typedef Dna Type; };
+inline void assign(Dna & target, Dna5 const & c_source)
+{
+SEQAN_CHECKPOINT
+       target.value = c_source.value & 0x03;
+}
+//____________________________________________________________________________
+
+template <>
+struct CompareType<Dna, Iupac> { typedef Dna Type; };
+inline void assign(Dna & target, Iupac const & source)
+{
+SEQAN_CHECKPOINT
+       target.value = _Translate_Table_Iupac_2_Dna<>::VALUE[source.value];
+}
+
+//////////////////////////////////////////////////////////////////////////////
+//DNA (5 letters)
+
+template <>
+struct CompareType<Dna5, Byte> { typedef Dna5 Type; };
+inline void assign(Dna5 & target, Byte c_source)
+{
+SEQAN_CHECKPOINT
+       target.value = _Translate_Table_Byte_2_Dna5<>::VALUE[c_source];
+}
+//____________________________________________________________________________
+
+template <>
+struct CompareType<Dna5, Ascii> { typedef Dna5 Type; };
+inline void assign(Dna5 & target, Ascii c_source)
+{
+SEQAN_CHECKPOINT
+       target.value = _Translate_Table_Ascii_2_Dna5<>::VALUE[(unsigned char) c_source];
+}
+//____________________________________________________________________________
+
+template <>
+struct CompareType<Dna5, Unicode> { typedef Dna5 Type; };
+inline void assign(Dna5 & target, Unicode c_source)
+{
+SEQAN_CHECKPOINT
+       target.value = _Translate_Table_Ascii_2_Dna5<>::VALUE[(unsigned char) c_source];
+}
+//____________________________________________________________________________
+
+template <>
+struct CompareType<Dna5, Iupac> { typedef Dna5 Type; };
+inline void assign(Dna5 & target, Iupac const & source)
+{
+SEQAN_CHECKPOINT
+       target.value = _Translate_Table_Iupac_2_Dna5<>::VALUE[source.value];
+}
+
+//____________________________________________________________________________
+
+template <>
+struct CompareType<Dna5, Dna> { typedef Dna Type; };
+inline void assign(Dna5 & target, Dna const & c_source)
+{
+SEQAN_CHECKPOINT
+       target.value = c_source.value;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+//IUPAC (4 bits)
+
+template <>
+struct CompareType<Iupac, Byte> { typedef Iupac Type; };
+inline void assign(Iupac & target, Byte c_source)
+{
+SEQAN_CHECKPOINT
+       target.value = _Translate_Table_Byte_2_Iupac<>::VALUE[c_source];
+}
+//____________________________________________________________________________
+
+template <>
+struct CompareType<Iupac, Ascii> { typedef Iupac Type; };
+inline void assign(Iupac & target, Ascii c_source)
+{
+SEQAN_CHECKPOINT
+       target.value = _Translate_Table_Ascii_2_Iupac<>::VALUE[(unsigned char) c_source];
+}
+//____________________________________________________________________________
+
+template <>
+struct CompareType<Iupac, Unicode> { typedef Iupac Type; };
+inline void assign(Iupac & target, Unicode c_source)
+{
+SEQAN_CHECKPOINT
+       target.value = _Translate_Table_Ascii_2_Iupac<>::VALUE[(unsigned char) c_source];
+}
+//____________________________________________________________________________
+
+inline void assign(Iupac & target, Dna const & source)
+{
+SEQAN_CHECKPOINT
+       target.value = _Translate_Table_Dna5_2_Iupac<>::VALUE[source.value];
+}
+//____________________________________________________________________________
+
+inline void assign(Iupac & target, Dna5 const & source)
+{
+SEQAN_CHECKPOINT
+       target.value = _Translate_Table_Dna5_2_Iupac<>::VALUE[source.value];
+}
+
+//////////////////////////////////////////////////////////////////////////////
+//Amino Acid (5 bits)
+
+template <>
+struct CompareType<AminoAcid, Byte> { typedef AminoAcid Type; };
+inline void assign(AminoAcid & target, Byte c_source)
+{
+SEQAN_CHECKPOINT
+       target.value = _Translate_Table_Byte_2_AA<>::VALUE[c_source];
+}
+//____________________________________________________________________________
+
+template <>
+struct CompareType<AminoAcid, Ascii> { typedef AminoAcid Type; };
+inline void assign(AminoAcid & target, Ascii c_source)
+{
+SEQAN_CHECKPOINT
+       target.value = _Translate_Table_Ascii_2_AA<>::VALUE[(unsigned char) c_source];
+}
+//____________________________________________________________________________
+
+template <>
+struct CompareType<AminoAcid, Unicode> { typedef AminoAcid Type; };
+inline void assign(AminoAcid & target, Unicode c_source)
+{
+SEQAN_CHECKPOINT
+       target.value = _Translate_Table_Ascii_2_AA<>::VALUE[(unsigned char) c_source];
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+
+//////////////////////////////////////////////////////////////////////////////
+}// namespace SEQAN_NAMESPACE_MAIN
+
+#endif //#ifndef SEQAN_HEADER_...
diff --git a/SeqAn-1.1/seqan/basic/basic_alphabet_simple_tabs.h b/SeqAn-1.1/seqan/basic/basic_alphabet_simple_tabs.h
new file mode 100644 (file)
index 0000000..6a82ad9
--- /dev/null
@@ -0,0 +1,439 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de 
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: basic_alphabet_simple_tabs.h,v 1.1 2008/08/25 16:20:02 langmead Exp $
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_BASIC_ALPHABET_SIMPLE_TABS_H
+#define SEQAN_HEADER_BASIC_ALPHABET_SIMPLE_TABS_H
+
+
+namespace SEQAN_NAMESPACE_MAIN
+{
+//////////////////////////////////////////////////////////////////////////////
+
+//use same tables for Dna
+
+template <typename T = void>
+struct _Translate_Table_Dna5_2_Ascii
+{
+       static char const VALUE[5];
+};
+template <typename T>
+char const _Translate_Table_Dna5_2_Ascii<T>::VALUE[5] = {'A', 'C', 'G', 'T', 'N'};
+
+//____________________________________________________________________________
+
+template <typename T = void>
+struct _Translate_Table_Dna5_2_Iupac
+{
+       static char const VALUE[5];
+};
+template <typename T>
+char const _Translate_Table_Dna5_2_Iupac<T>::VALUE[5] = {0x02, 0x04, 0x08, 0x01, 0x0f};
+
+//____________________________________________________________________________
+
+template <typename T = void>
+struct _Translate_Table_Iupac_2_Ascii
+{
+       static char const VALUE[16];
+};
+template <typename T>
+char const _Translate_Table_Iupac_2_Ascii<T>::VALUE[16] = 
+{
+       'U', //0000=0
+       'T', //0001=1 //T=1: change between U and T is just inc/dec
+       'A', //0010=2
+       'W', //0011=3 TA
+       'C', //0100=4 
+       'Y', //0101=5 TC (pyrimidine)
+       'M', //0110=6 AC
+       'H', //0111=7 not-G
+       'G', //1000=8
+       'K', //1001=9 TG
+       'R', //1010=A AG (purine)
+       'D', //1011=B not-C
+       'S', //1100=C CG
+       'B', //1101=D non-A
+       'V', //1110=E non-T
+       'N'  //1111=F any
+};
+
+//____________________________________________________________________________
+
+template <typename T = void>
+struct _Translate_Table_Iupac_2_Dna
+{
+       static char const VALUE[16];
+};
+template <typename T>
+char const _Translate_Table_Iupac_2_Dna<T>::VALUE[16] = 
+{
+       3, //'U'
+       3, //'T'
+       0, //'A'
+       0, //'W' = TA
+       1, //'C' 
+       1, //'Y' = TC
+       0, //'M' = AC
+       0, //'H' = not-G
+       2, //'G'
+       2, //'K' = TG
+       0, //'R' = AG
+       0, //'D' = not-C
+       1, //'S' = CG
+       1, //'B' = non-A
+       0, //'V' = non-T
+       0  //'N' = any
+};
+
+//____________________________________________________________________________
+
+
+template <typename T = void>
+struct _Translate_Table_Iupac_2_Dna5
+{
+       static char const VALUE[16];
+};
+template <typename T>
+char const _Translate_Table_Iupac_2_Dna5<T>::VALUE[16] = 
+{
+       3, //'U'
+       3, //'T'
+       0, //'A'
+       4, //'W' = TA
+       1, //'C' 
+       4, //'Y' = TC
+       4, //'M' = AC
+       4, //'H' = not-G
+       2, //'G'
+       4, //'K' = TG
+       4, //'R' = AG
+       4, //'D' = not-C
+       4, //'S' = CG
+       4, //'B' = non-A
+       4, //'V' = non-T
+       4  //'N' = any
+};
+
+//____________________________________________________________________________
+
+template <typename T = void>
+struct _Translate_Table_Ascii_2_Dna
+{
+       static char const VALUE[256];
+};
+template <typename T>
+char const _Translate_Table_Ascii_2_Dna<T>::VALUE[256] = 
+{
+       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, //0
+       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, //1
+       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, //2
+       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, //3
+
+       0,   0,   0,   1,   0,   0,   0,   2,   0,   0,   0,   0,   0,   0,   0,   0, //4
+//      ,   A,   B,   C,   D,   E,   D,   G,   H,   I,   J,   K,   L,   M,   N,   O,
+
+       0,   0,   0,   0,   3,   3,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, //5
+//     P,   Q,   R,   S,   T,   U,   V,   W,   X,   Y,   Z,    ,    ,    ,    ,    
+
+       0,   0,   0,   1,   0,   0,   0,   2,   0,   0,   0,   0,   0,   0,   0,   0, //6
+//   ,   a,   b,   c,   d,   e,   f,   g,   h,   i,   j,   k,   l,   m,   n,   o,
+
+       0,   0,   0,   0,   3,   3,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, //7
+//  p,   q,   r,   s,   t,   u,   v,   w,   x,   y,   z,    ,    ,    ,    ,   
+
+       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, //8
+       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, //9
+       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, //10
+       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, //11
+       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, //12
+       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, //13
+       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, //14
+       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0  //15
+};
+
+//____________________________________________________________________________
+
+
+template <typename T = void>
+struct _Translate_Table_Ascii_2_Dna5
+{
+       static char const VALUE[256];
+};
+template <typename T>
+char const _Translate_Table_Ascii_2_Dna5<T>::VALUE[256] = 
+{
+       4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4, //0
+       4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4, //1
+       4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4, //2
+       4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4, //3
+
+       4,   0,   4,   1,   4,   4,   4,   2,   4,   4,   4,   4,   4,   4,   4,   4, //4
+//      ,   A,   B,   C,   D,   E,   D,   G,   H,   I,   J,   K,   L,   M,   N,   O,
+
+       4,   4,   4,   4,   3,   3,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4, //5
+//     P,   Q,   R,   S,   T,   U,   V,   W,   X,   Y,   Z,    ,    ,    ,    ,    
+
+       4,   0,   4,   1,   4,   4,   4,   2,   4,   4,   4,   4,   4,   4,   4,   4, //6
+//   ,   a,   b,   c,   d,   e,   f,   g,   h,   i,   j,   k,   l,   m,   n,   o,
+
+       4,   4,   4,   4,   3,   3,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4, //7
+//  p,   q,   r,   s,   t,   u,   v,   w,   x,   y,   z,    ,    ,    ,    ,   
+
+       4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4, //8
+       4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4, //9
+       4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4, //10
+       4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4, //11
+       4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4, //12
+       4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4, //13
+       4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4, //14
+       4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4  //15
+};
+
+//____________________________________________________________________________
+
+
+template <typename T = void>
+struct _Translate_Table_Ascii_2_Iupac
+{
+       static char const VALUE[256];
+};
+template <typename T>
+char const _Translate_Table_Ascii_2_Iupac<T>::VALUE[256] = 
+{
+       15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15, //0
+       15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15, //1
+       15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15, //2
+       15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15, //3
+
+       15,   2,  13,   4,  11,  15,  15,   8,   7,  15,  15,   9,  15,   6,  15,  15, //4
+       //   ,   A,   B,   C,   D,   E,   F,   G,   H,   I,   J,   K,   L,   M,   N,   O,
+
+       15,  15,  10,  12,   1,   0,  14,   3,  15,   5,  15,  15,  15,  15,  15,  15, //5
+       //  P,   Q,   R,   S,   T,   U,   V,   W,   X,   Y,   Z,    ,    ,    ,    ,   
+
+       15,   2,  13,   4,  11,  15,  15,   8,   7,  15,  15,   9,  15,   6,  15,  15, //6
+       //   ,   a,   b,   c,   d,   e,   f,   g,   h,   i,   j,   k,   l,   m,   n,   o,
+
+       15,  15,  10,  12,   1,   0,  14,   3,  15,   5,  15,  15,  15,  15,  15,  15, //7
+       //  p,   q,   r,   s,   t,   u,   v,   w,   x,   y,   z,    ,    ,    ,    ,   
+
+       15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15, //8
+       15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15, //9
+       15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15, //10
+       15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15, //11
+       15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15, //12
+       15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15, //13
+       15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15, //14
+       15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15  //15
+};
+
+//____________________________________________________________________________
+
+template <typename T = void>
+struct _Translate_Table_Byte_2_Dna
+{
+       static char const VALUE[256];
+};
+template <typename T>
+char const _Translate_Table_Byte_2_Dna<T>::VALUE[256] = 
+{
+       0,   1,   2,   3,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, //0
+       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, //1
+       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, //2
+       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, //3
+       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, //4
+       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, //5
+       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, //6
+       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, //7
+       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, //8
+       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, //9
+       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, //10
+       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, //11
+       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, //12
+       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, //13
+       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, //14
+       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0  //15
+};
+
+//____________________________________________________________________________
+
+
+template <typename T = void>
+struct _Translate_Table_Byte_2_Dna5
+{
+       static char const VALUE[256];
+};
+template <typename T>
+char const _Translate_Table_Byte_2_Dna5<T>::VALUE[256] = {
+       0,   1,   2,   3,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4, //0
+       4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4, //1
+       4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4, //2
+       4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4, //3
+       4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4, //4
+       4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4, //5
+       4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4, //6
+       4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4, //7
+       4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4, //8
+       4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4, //9
+       4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4, //10
+       4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4, //11
+       4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4, //12
+       4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4, //13
+       4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4, //14
+       4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4  //15
+};
+
+//____________________________________________________________________________
+
+
+template <typename T = void>
+struct _Translate_Table_Byte_2_Iupac
+{
+       static char const VALUE[256];
+};
+template <typename T>
+char const _Translate_Table_Byte_2_Iupac<T>::VALUE[256] = 
+{
+       0,   1,   2,   3,   4,   5,   6,   7,   8,   9,  10,  11,  12,  13,  14,  15, //0
+       15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15, //1
+       15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15, //2
+       15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15, //3
+       15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15, //4
+       15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15, //5
+       15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15, //6
+       15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15, //7
+       15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15, //8
+       15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15, //9
+       15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15, //10
+       15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15, //11
+       15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15, //12
+       15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15, //13
+       15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15, //14
+       15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15,  15  //15
+};
+
+//____________________________________________________________________________
+
+
+template <typename T = void>
+struct _Translate_Table_AA_2_Ascii
+{
+       static char const VALUE[24];
+};
+template <typename T>
+char const _Translate_Table_AA_2_Ascii<T>::VALUE[24] = 
+{
+       'A', // 0 Ala Alanine                 
+       'R', // 1 Arg Arginine                
+       'N', // 2 Asn Asparagine              
+       'D', // 3 Asp Aspartic Acid           
+       'C', // 4 Cys Cystine                 
+       'Q', // 5 Gln Glutamine               
+       'E', // 6 Glu Glutamic Acid           
+       'G', // 7 Gly Glycine                 
+       'H', // 8 His Histidine               
+       'I', // 9 Ile Isoleucine              
+       'L', //10 Leu Leucine                 
+       'K', //11 Lys Lysine                  
+       'M', //12 Met Methionine              
+       'F', //13 Phe Phenylalanine           
+       'P', //14 Pro Proline                 
+       'S', //15 Ser Serine                  
+       'T', //16 Thr Threonine               
+       'W', //17 Trp Tryptophan              
+       'Y', //18 Tyr Tyrosine                
+       'V', //19 Val Valine                  
+       'B', //20 Aspartic Acid, Asparagine   
+       'Z', //21 Glutamic Acid, Glutamine    
+       'X', //22 Unknown                     
+       '*'  //23 Terminator                  
+};
+
+//____________________________________________________________________________
+
+
+template <typename T = void>
+struct _Translate_Table_Ascii_2_AA
+{
+       static char const VALUE[256];
+};
+template <typename T>
+char const _Translate_Table_Ascii_2_AA<T>::VALUE[256] = 
+{
+       22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22, //0
+       22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22, //1
+       22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  23,  22,  22,  22,  22,  22, //2
+//                                                                                                        *    
+       22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22, //3
+       22,   0,  20,   4,   3,   6,  13,   7,   8,   9,  22,  11,  10,  12,   2,  22, //4
+//    ,   A,   B,   C,   D,   E,   F,   G,   H,   I,   J,   K,   L,   M,   N,   O,
+
+       14,   5,   1,  15,  16,  22,  19,  17,  22,  18,  21,  22,  22,  22,  22,  22, //5
+//   P,   Q,   R,   S,   T,   U,   V,   W,   X,   Y,   Z,    ,    ,    ,    ,    ,
+
+       22,   0,  20,   4,   3,   6,  13,   7,   8,   9,  22,  11,  10,  12,   2,  22, //6
+//    ,   a,   b,   c,   d,   e,   f,   g,   h,   i,   j,   k,   l,   m,   n,   o,
+
+       14,   5,   1,  15,  16,  22,  19,  17,  22,  18,  21,  22,  22,  22,  22,  22, //7
+//   p,   q,   r,   s,   t,   u,   v,   w,   x,   y,   z,    ,    ,    ,    ,    ,
+
+       22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22, //8
+       22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22, //9
+       22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22, //10
+       22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22, //11
+       22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22, //12
+       22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22, //13
+       22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22, //14
+       22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22  //15
+};
+
+//____________________________________________________________________________
+
+
+template <typename T = void>
+struct _Translate_Table_Byte_2_AA
+{
+       static char const VALUE[256];
+};
+template <typename T>
+char const _Translate_Table_Byte_2_AA<T>::VALUE[256] = 
+{
+       0,   1,   2,   3,   4,   5,   6,   7,   8,   9,  10,  11,  12,  13,  14,  15, //0
+       16,  17,  18,  19,  20,  21,  22,  23,  22,  22,  22,  22,  22,  22,  22,  22, //1
+       22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22, //2
+       22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22, //3
+       22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22, //4
+       22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22, //5
+       22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22, //6
+       22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22, //7
+       22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22, //8
+       22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22, //9
+       22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22, //10
+       22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22, //11
+       22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22, //12
+       22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22, //13
+       22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22, //14
+       22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22,  22  //15
+};
+
+//////////////////////////////////////////////////////////////////////////////
+
+}//namespace SEQAN_NAMESPACE_MAIN
+#endif //#ifndef SEQAN_HEADER_...
diff --git a/SeqAn-1.1/seqan/basic/basic_alphabet_trait_basic.h b/SeqAn-1.1/seqan/basic/basic_alphabet_trait_basic.h
new file mode 100644 (file)
index 0000000..024bf55
--- /dev/null
@@ -0,0 +1,733 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: basic_alphabet_trait_basic.h,v 1.2 2009/02/19 01:51:23 langmead Exp $
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_BASIC_ALPHABET_TRAIT_BASIC_H
+#define SEQAN_HEADER_BASIC_ALPHABET_TRAIT_BASIC_H
+
+namespace SEQAN_NAMESPACE_MAIN
+{
+
+//////////////////////////////////////////////////////////////////////////////
+//arrayConstruct
+//////////////////////////////////////////////////////////////////////////////
+
+template<typename TIterator>
+inline void
+_arrayConstruct_Pointer(TIterator,
+                                               TIterator,
+                                               True)
+{
+SEQAN_CHECKPOINT
+       //nothing to do
+}
+template<typename TIterator>
+inline void
+_arrayConstruct_Pointer(TIterator begin_,
+                                               TIterator end_,
+                                               False)
+{
+SEQAN_CHECKPOINT
+       _arrayConstruct_Default(begin_, end_);
+}
+template<typename TValue>
+inline void
+arrayConstruct(TValue * begin_,
+                          TValue * end_)
+{
+SEQAN_CHECKPOINT
+       _arrayConstruct_Pointer(begin_, end_, typename IsSimple<TValue>::Type() );
+}
+
+//____________________________________________________________________________
+
+template<typename TIterator, typename TParam>
+inline void
+_arrayConstruct_Pointer(TIterator begin_,
+                                               TIterator end_,
+                                               TParam const & param_,
+                                               True)
+{
+SEQAN_CHECKPOINT
+       arrayFill(begin_, end_, param_);
+}
+template<typename TIterator, typename TParam>
+inline void
+_arrayConstruct_Pointer(TIterator begin_,
+                                               TIterator end_,
+                                               TParam const & param_,
+                                               False)
+{
+SEQAN_CHECKPOINT
+       _arrayConstruct_Default(begin_, end_, param_);
+}
+template<typename TValue, typename TParam>
+inline void
+arrayConstruct(TValue * begin_,
+                          TValue * end_,
+                          TParam const & param_)
+{
+SEQAN_CHECKPOINT
+       _arrayConstruct_Pointer(begin_, end_, param_, typename IsSimple<TValue>::Type() );
+}
+
+//////////////////////////////////////////////////////////////////////////////
+//arrayConstructCopy
+//////////////////////////////////////////////////////////////////////////////
+
+template<typename TValue>
+inline void
+_arrayConstructCopy_Pointer(TValue * source_begin,
+                                                       TValue * source_end,
+                                                       TValue * target_begin,
+                                                       True)
+{
+SEQAN_CHECKPOINT
+       arrayCopyForward(source_begin, source_end, target_begin);
+}
+template<typename TValue>
+inline void
+_arrayConstructCopy_Pointer(TValue * source_begin,
+                                                       TValue * source_end,
+                                                       TValue * target_begin,
+                                                       False)
+{
+SEQAN_CHECKPOINT
+       _arrayConstructCopy_Default(source_begin, source_end, target_begin);
+}
+template<typename TValue>
+inline void
+arrayConstructCopy(TValue * source_begin,
+                                  TValue * source_end,
+                                  TValue * target_begin)
+{
+SEQAN_CHECKPOINT
+       _arrayConstructCopy_Pointer(source_begin, source_end, target_begin, typename IsSimple<TValue>::Type() );
+}
+
+//////////////////////////////////////////////////////////////////////////////
+//arrayConstructMove
+//////////////////////////////////////////////////////////////////////////////
+
+template<typename TValue>
+inline void
+_arrayConstructMove_Pointer(TValue * source_begin,
+                                                       TValue * source_end,
+                                                       TValue * target_begin,
+                                                       True)
+{
+SEQAN_CHECKPOINT
+       arrayMoveForward(source_begin, source_end, target_begin);
+}
+template<typename TValue>
+inline void
+_arrayConstructMove_Pointer(TValue * source_begin,
+                                                       TValue * source_end,
+                                                       TValue * target_begin,
+                                                       False)
+{
+SEQAN_CHECKPOINT
+       _arrayConstructMove_Default(source_begin, source_end, target_begin);
+}
+template<typename TValue>
+inline void
+arrayConstructMove(TValue * source_begin,
+                                  TValue * source_end,
+                                  TValue * target_begin)
+{
+SEQAN_CHECKPOINT
+       _arrayConstructMove_Pointer(source_begin, source_end, target_begin, typename IsSimple<TValue>::Type() );
+}
+
+//////////////////////////////////////////////////////////////////////////////
+//arrayDestruct
+//////////////////////////////////////////////////////////////////////////////
+
+template<typename TValue>
+inline void
+_arrayDestruct_Pointer(TValue * /*begin_*/,
+                                          TValue * /*end_*/,
+                                          True)
+{
+SEQAN_CHECKPOINT
+       //do nothing
+}
+template<typename TValue>
+inline void
+_arrayDestruct_Pointer(TValue * begin_,
+                                          TValue * end_,
+                                          False)
+{
+SEQAN_CHECKPOINT
+       _arrayDestruct_Default(begin_, end_);
+}
+template<typename TValue>
+inline void
+arrayDestruct(TValue * begin_,
+                         TValue * end_)
+{
+SEQAN_CHECKPOINT
+       _arrayDestruct_Pointer(begin_, end_, typename IsSimple<TValue>::Type() );
+}
+
+//////////////////////////////////////////////////////////////////////////////
+//arrayFill
+//////////////////////////////////////////////////////////////////////////////
+
+//no specializiation for pointer to simple
+
+//////////////////////////////////////////////////////////////////////////////
+//arrayCopyForward
+//////////////////////////////////////////////////////////////////////////////
+
+template<typename TValue>
+inline void
+_arrayCopyForward_Pointer(TValue * source_begin,
+                                                 TValue * source_end,
+                                                 TValue * target_begin,
+                                                 True)
+{
+SEQAN_CHECKPOINT
+       memmove(target_begin, source_begin, (source_end - source_begin) * sizeof(TValue));
+}
+template<typename TValue>
+inline void
+_arrayCopyForward_Pointer(TValue * source_begin,
+                                                 TValue * source_end,
+                                                 TValue * target_begin,
+                                                 False)
+{
+SEQAN_CHECKPOINT
+       _arrayCopyForward_Default(source_begin, source_end, target_begin);
+}
+template<typename TValue>
+inline void
+arrayCopyForward(TValue * source_begin,
+                                TValue * source_end,
+                                TValue * target_begin)
+{
+SEQAN_CHECKPOINT
+       _arrayCopyForward_Pointer(source_begin, source_end, target_begin, typename IsSimple<TValue>::Type() );
+}
+
+//////////////////////////////////////////////////////////////////////////////
+//arrayCopyBackward
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TValue>
+inline void
+_arrayCopyBackward_Pointer(TValue * source_begin,
+                                                  TValue * source_end,
+                                                  TValue * target_begin,
+                                                  True)
+{
+SEQAN_CHECKPOINT
+       memmove(target_begin, source_begin, (source_end - source_begin) * sizeof(TValue));
+}
+template <typename TValue>
+inline void
+_arrayCopyBackward_Pointer(TValue * source_begin,
+                                                  TValue * source_end,
+                                                  TValue * target_begin,
+                                                  False)
+{
+SEQAN_CHECKPOINT
+       _arrayCopyBackward_Default(source_begin, source_end, target_begin);
+}
+template<typename TValue>
+inline void
+arrayCopyBackward(TValue * source_begin,
+                                 TValue * source_end,
+                                 TValue * target_begin)
+{
+SEQAN_CHECKPOINT
+       _arrayCopyBackward_Pointer(source_begin, source_end, target_begin, typename IsSimple<TValue>::Type() );
+}
+
+//////////////////////////////////////////////////////////////////////////////
+//arrayMoveForward
+//////////////////////////////////////////////////////////////////////////////
+
+template<typename TValue>
+inline void
+_arrayMoveForward_Pointer(TValue * source_begin,
+                                                 TValue * source_end,
+                                                 TValue * target_begin,
+                                                 True)
+{
+SEQAN_CHECKPOINT
+       memmove(target_begin, source_begin, (source_end - source_begin) * sizeof(TValue));
+}
+template<typename TValue>
+inline void
+_arrayMoveForward_Pointer(TValue * source_begin,
+                                                 TValue * source_end,
+                                                 TValue * target_begin,
+                                                 False)
+{
+SEQAN_CHECKPOINT
+       _arrayMoveForward_Default(source_begin, source_end, target_begin);
+}
+template<typename TValue>
+inline void
+arrayMoveForward(TValue * source_begin,
+                                TValue * source_end,
+                                TValue * target_begin)
+{
+SEQAN_CHECKPOINT
+       _arrayMoveForward_Pointer(source_begin, source_end, target_begin, typename IsSimple<TValue>::Type() );
+}
+
+//////////////////////////////////////////////////////////////////////////////
+//arrayMoveBackward
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TValue>
+inline void
+_arrayMoveBackward_Pointer(TValue * source_begin,
+                                                  TValue * source_end,
+                                                  TValue * target_begin,
+                                                  True)
+{
+SEQAN_CHECKPOINT
+       memmove(target_begin, source_begin, (source_end - source_begin) * sizeof(TValue));
+}
+template <typename TValue>
+inline void
+_arrayMoveBackward_Pointer(TValue * source_begin,
+                                                  TValue * source_end,
+                                                  TValue * target_begin,
+                                                  False)
+{
+SEQAN_CHECKPOINT
+       _arrayMoveBackward_Default(source_begin, source_end, target_begin);
+}
+template<typename TValue>
+inline void
+arrayMoveBackward(TValue * source_begin,
+                                 TValue * source_end,
+                                 TValue * target_begin)
+{
+SEQAN_CHECKPOINT
+       _arrayMoveBackward_Pointer(source_begin, source_end, target_begin, typename IsSimple<TValue>::Type() );
+}
+
+//////////////////////////////////////////////////////////////////////////////
+//arrayClearSpace
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TValue>
+inline void
+_arrayClearSpace_Pointer(TValue * array_begin,
+                                               size_t array_length,
+                                               size_t keep_from,
+                                               size_t move_to,
+                                               True)
+{
+       if (keep_from == move_to) return;
+SEQAN_CHECKPOINT
+       arrayMove(array_begin + keep_from, array_begin + array_length, array_begin + move_to);
+}
+template <typename TValue>
+inline void
+_arrayClearSpace_Pointer(TValue * array_begin,
+                                               size_t array_length,
+                                               size_t keep_from,
+                                               size_t move_to,
+                                               False)
+{
+       _arrayClearSpace_Default(array_begin, array_length, keep_from, move_to);
+}
+template <typename TValue>
+void arrayClearSpace(TValue * array_begin,
+                                        size_t array_length,
+                                        size_t keep_from,
+                                        size_t move_to)
+{
+       _arrayClearSpace_Pointer(array_begin, array_length, keep_from, move_to, typename IsSimple<TValue>::Type() );
+}
+
+
+
+//////////////////////////////////////////////////////////////////////////////
+// IsSimple specializations
+//////////////////////////////////////////////////////////////////////////////
+
+// standard types
+template <> struct _IsSimple< bool > { typedef True Type; };
+template <> struct _IsSimple< char > { typedef True Type; };
+
+template <> struct _IsSimple< unsigned char > { typedef True Type; };
+template <> struct _IsSimple< unsigned short > { typedef True Type; };
+template <> struct _IsSimple< unsigned int > { typedef True Type; };
+template <> struct _IsSimple< unsigned long > { typedef True Type; };
+
+template <> struct _IsSimple< signed char > { typedef True Type; };
+template <> struct _IsSimple< signed short > { typedef True Type; };
+template <> struct _IsSimple< signed int > { typedef True Type; };
+template <> struct _IsSimple< signed long > { typedef True Type; };
+
+template <> struct _IsSimple< float > { typedef True Type; };
+template <> struct _IsSimple< double > { typedef True Type; };
+template <> struct _IsSimple< long double > { typedef True Type; };
+
+// user defined types (re-specializations are allowed here)
+template <> struct IsSimple< wchar_t > { typedef True Type; };
+template <> struct IsSimple< __int64 > { typedef True Type; };
+
+//////////////////////////////////////////////////////////////////////////////
+// gapValue
+//////////////////////////////////////////////////////////////////////////////
+
+inline char const &
+gapValueImpl(char *)
+{
+SEQAN_CHECKPOINT
+       static char const _gap = '-';
+       return _gap;
+}
+inline char const &
+gapValueImpl(char const *)
+{
+SEQAN_CHECKPOINT
+       static char const _gap = '-';
+       return _gap;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// generic extreme values
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename T>
+inline T const &
+supremumValueImpl(T *)
+{
+SEQAN_CHECKPOINT
+       return SupremumValue<T>::VALUE;
+}
+template <typename T>
+inline T const &
+infimumValueImpl(T *)
+{
+SEQAN_CHECKPOINT
+       return InfimumValue<T>::VALUE;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// bool
+//////////////////////////////////////////////////////////////////////////////
+
+template <> struct BitsPerValue< bool > { enum { VALUE = 1 }; };
+
+/*
+//////////////////////////////////////////////////////////////////////////////
+// char
+//////////////////////////////////////////////////////////////////////////////
+
+inline char const &
+supremumValueImpl(char *)
+{
+SEQAN_CHECKPOINT
+       static char const _value = (char) 127;
+       return _value;
+}
+inline char const &
+infimumValueImpl(char *)
+{
+SEQAN_CHECKPOINT
+       static char const _value = (char) -128;
+       return _value;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// signed char
+//////////////////////////////////////////////////////////////////////////////
+
+inline signed char const &
+supremumValueImpl(signed char *)
+{
+SEQAN_CHECKPOINT
+       static signed char const _value = 127;
+       return _value;
+}
+inline signed char const &
+infimumValueImpl(signed char *)
+{
+SEQAN_CHECKPOINT
+       static signed char const _value = -128;
+       return _value;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// unsigned char
+//////////////////////////////////////////////////////////////////////////////
+
+inline unsigned char const &
+supremumValueImpl(unsigned char *)
+{
+SEQAN_CHECKPOINT
+       static unsigned char const _value = 255;
+       return _value;
+}
+inline unsigned char const &
+infimumValueImpl(unsigned char *)
+{
+SEQAN_CHECKPOINT
+       static unsigned char const _value = 0;
+       return _value;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// wchar_t
+//////////////////////////////////////////////////////////////////////////////
+
+inline wchar_t const &
+supremumValueImpl(wchar_t *)
+{
+SEQAN_CHECKPOINT
+       static wchar_t const _value = 1UL << (BitsPerValue<wchar_t>::VALUE) - 1;
+       return _value;
+}
+inline wchar_t const &
+infimumValueImpl(wchar_t *)
+{
+SEQAN_CHECKPOINT
+       static wchar_t const _value = 0;
+       return _value;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// signed short
+//////////////////////////////////////////////////////////////////////////////
+
+inline signed short const &
+supremumValueImpl(signed short *)
+{
+SEQAN_CHECKPOINT
+       static signed short const _value = (((1 << (BitsPerValue<signed short>::VALUE - 2)) - 1) << 1) + 1;
+       return _value;
+}
+inline signed short const &
+infimumValueImpl(signed short *dummy)
+{
+SEQAN_CHECKPOINT
+       static signed short const _value = -supremumValueImpl(dummy) - 1;
+       return _value;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// unsigned short
+//////////////////////////////////////////////////////////////////////////////
+
+inline unsigned short const &
+supremumValueImpl(unsigned short *)
+{
+SEQAN_CHECKPOINT
+       static unsigned short const _value = (((1 << (BitsPerValue<unsigned short>::VALUE - 1)) - 1) << 1) + 1;
+       return _value;
+}
+inline unsigned short const &
+infimumValueImpl(unsigned short *)
+{
+SEQAN_CHECKPOINT
+       static unsigned short const _value = 0;
+       return _value;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// signed int
+//////////////////////////////////////////////////////////////////////////////
+
+inline signed int const &
+supremumValueImpl(signed int *)
+{
+SEQAN_CHECKPOINT
+       static signed int const _value = (((1 << (BitsPerValue<signed int>::VALUE - 2)) - 1) << 1) + 1;
+       return _value;
+}
+inline signed int const &
+infimumValueImpl(signed int *dummy)
+{
+SEQAN_CHECKPOINT
+       static signed int const _value = -supremumValueImpl(dummy) - 1;
+       return _value;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// unsigned int
+//////////////////////////////////////////////////////////////////////////////
+
+inline unsigned int const &
+supremumValueImpl(unsigned int *)
+{
+SEQAN_CHECKPOINT
+       static unsigned int const _value = ~0ul;
+       return _value;
+}
+inline unsigned int const &
+infimumValueImpl(unsigned int *)
+{
+SEQAN_CHECKPOINT
+       static unsigned int const _value = 0;
+       return _value;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// signed long
+//////////////////////////////////////////////////////////////////////////////
+
+inline signed long const &
+supremumValueImpl(signed long *)
+{
+SEQAN_CHECKPOINT
+       static signed long const _value = (((1 << (BitsPerValue<signed long>::VALUE - 2)) - 1) << 1) + 1;
+       return _value;
+}
+inline signed long const &
+infimumValueImpl(signed long *dummy)
+{
+SEQAN_CHECKPOINT
+       static signed long const _value = -supremumValueImpl(dummy) - 1;
+       return _value;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// unsigned long
+//////////////////////////////////////////////////////////////////////////////
+
+inline unsigned long const &
+supremumValueImpl(unsigned long *)
+{
+SEQAN_CHECKPOINT
+       static unsigned long const _value = ~0ul;
+       return _value;
+}
+inline unsigned long const &
+infimumValueImpl(unsigned long *)
+{
+SEQAN_CHECKPOINT
+       static unsigned long const _value = 0;
+       return _value;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// signed 64bit int (cannot use long long <- no ISO C++)
+//////////////////////////////////////////////////////////////////////////////
+
+inline __int64 const &
+supremumValueImpl(__int64 *)
+{
+SEQAN_CHECKPOINT
+       static __int64 const _value = ((((__int64)1 << (BitsPerValue<__int64>::VALUE - 2)) - 1) << 1) + 1;
+       return _value;
+}
+inline __int64 const &
+infimumValueImpl(__int64 *dummy)
+{
+SEQAN_CHECKPOINT
+       static __int64 const _value = -supremumValueImpl(dummy) - 1;
+       return _value;
+}
+*/
+
+//////////////////////////////////////////////////////////////////////////////
+// float
+//////////////////////////////////////////////////////////////////////////////
+
+inline float const &
+supremumValueImpl(float *)
+{
+SEQAN_CHECKPOINT
+#ifdef PLATFORM_WINDOWS
+       static float const _value = ::std::numeric_limits<float>::infinity( );
+#else
+       static float const _value = 3.40282347e+38F;
+#endif
+       return _value;
+}
+inline float const &
+infimumValueImpl(float *)
+{
+SEQAN_CHECKPOINT
+#ifdef PLATFORM_WINDOWS
+       static float const _value = -::std::numeric_limits<float>::infinity( );
+#else
+       static float const _value = -3.40282347e+38F;
+#endif
+       return _value;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// double
+//////////////////////////////////////////////////////////////////////////////
+
+inline double const &
+supremumValueImpl(double *)
+{
+SEQAN_CHECKPOINT
+#ifdef PLATFORM_WINDOWS
+       static double const _value = ::std::numeric_limits<double>::infinity( );
+#else
+       static double const _value = 1.7976931348623157e+308;
+#endif
+       return _value;
+}
+inline double const &
+infimumValueImpl(double *)
+{
+SEQAN_CHECKPOINT
+#ifdef PLATFORM_WINDOWS
+       static double const _value = -::std::numeric_limits<double>::infinity( );
+#else
+       static double const _value = -1.7976931348623157e+308;
+#endif
+       return _value;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// long double
+//////////////////////////////////////////////////////////////////////////////
+
+inline long double const &
+supremumValueImpl(long double *)
+{
+SEQAN_CHECKPOINT
+#ifdef PLATFORM_WINDOWS
+       static long double const _value = ::std::numeric_limits<long double>::infinity( );
+#else
+       static long double const _value = 1.7976931348623157e+308;
+#endif
+       return _value;
+}
+inline long double const &
+infimumValueImpl(long double *)
+{
+SEQAN_CHECKPOINT
+#ifdef PLATFORM_WINDOWS
+       static long double const _value = -::std::numeric_limits<long double>::infinity( );
+#else
+       static long double const _value = -1.7976931348623157e+308;
+#endif
+       return _value;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+}// namespace SEQAN_NAMESPACE_MAIN
+
+#endif //#ifndef SEQAN_HEADER_...
diff --git a/SeqAn-1.1/seqan/basic/basic_compare.h b/SeqAn-1.1/seqan/basic/basic_compare.h
new file mode 100644 (file)
index 0000000..6499da9
--- /dev/null
@@ -0,0 +1,60 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de 
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: basic_compare.h,v 1.1 2008/08/25 16:20:01 langmead Exp $
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_BASIC_COMPARE_H
+#define SEQAN_HEADER_BASIC_COMPARE_H
+
+namespace SEQAN_NAMESPACE_MAIN
+{
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TLeft, typename TRight>
+struct CompareType;
+
+template <typename TLeft, typename TRight>
+struct CompareType<TLeft const, TRight>
+{
+       typedef typename CompareType<TLeft, TRight>::Type const Type;
+};
+template <typename TLeft, typename TRight>
+struct CompareType<TLeft, TRight const>
+{
+       typedef typename CompareType<TLeft, TRight>::Type const Type;
+};
+template <typename TLeft, typename TRight>
+struct CompareType<TLeft const, TRight const>
+{
+       typedef typename CompareType<TLeft, TRight>::Type const Type;
+};
+
+//////////////////////////////////////////////////////////////////////////////
+
+template<typename _T> inline
+bool lexLess(const _T& _Left, const _T& _Right)
+{      // return lexicographical _Left < _Right
+       typedef typename _MakeUnsigned<_T>::Type TUnsigned;
+    return (TUnsigned)_Left < (TUnsigned)_Right;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+}// namespace SEQAN_NAMESPACE_MAIN
+
+#endif //#ifndef SEQAN_HEADER_...
diff --git a/SeqAn-1.1/seqan/basic/basic_converter.h b/SeqAn-1.1/seqan/basic/basic_converter.h
new file mode 100644 (file)
index 0000000..966f467
--- /dev/null
@@ -0,0 +1,117 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de 
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: basic_converter.h,v 1.1 2008/08/25 16:20:01 langmead Exp $
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_BASIC_CONVERTER_H
+#define SEQAN_HEADER_BASIC_CONVERTER_H
+
+namespace SEQAN_NAMESPACE_MAIN
+{
+
+//////////////////////////////////////////////////////////////////////////////
+//Convert
+//////////////////////////////////////////////////////////////////////////////
+
+//gibt den Typ an, in den TSource konvertiert werden kann (TTarget oder TTarget &)
+
+/**
+.Metafunction.Convert:
+..summary:Return type of a conversion. 
+..signature:Convert<Target, Source>::Type
+..param.Target:Type the object should be converted to.
+..param.Source:Type of the object that should be converted to $Target$.
+..returns.param.Type:Type that is returned by @Function.convert@.
+...remarks:This is either $Target$ or $Target &$:
+If instances of $Source: /fs/szdevel/src/cvsroot/bowtie/SeqAn-1.1/seqan/basic/basic_converter.h,v $ can be re-interpreted as instances of $Target$,
+than this metafunction returns a reference, otherwise it returns $Target$, 
+that is @Function.convert@ returns a temporary.
+..remarks:A constant instance of $Convert$ is (ab)used as tag argument of @Function.convertImpl@.
+*/
+template <typename TTarget, typename TSource = void>
+struct Convert
+{
+       typedef TTarget Type;
+       
+};
+
+//////////////////////////////////////////////////////////////////////////////
+//convertImpl
+//////////////////////////////////////////////////////////////////////////////
+/**
+.Function.convertImpl:
+..hidefromindex
+..cat:Alphabets
+..summary:Implements @Function.convert@.
+..signature:Convert convertImpl(convert, source)
+..param.convert:Object that specifies the conversion.
+...type:Metafunction.Convert
+...remarks:A constant instance of @Metafunction.Convert@ is used to specify the conversion target.
+..param.source:An object that should be converted.
+..returns:$source$ converted to the type specified by convert.
+...metafunction:Metafunction.Convert
+..remarks:This function implements @Function.convert@. 
+It is recommended to use @Function.convert@ rather than $convertImpl$.
+*/
+//??? Spezialisiere convertImpl, verwende convert
+//??? Konversion eines einzelnen Zeichens in ein einzelnes Zeichen. Konversion von Sequenzen in Sequenzen finden wo anders statt.
+//??? Kann entweder kopieren oder re-interpretieren, je nach Convert::Type
+template <typename TTarget, typename T, typename TSource>
+inline typename Convert<TTarget, TSource>::Type
+convertImpl(Convert<TTarget, T> const,
+                       TSource & source)
+{
+       return source;
+}
+template <typename TTarget, typename T, typename TSource>
+inline typename Convert<TTarget, TSource const>::Type
+convertImpl(Convert<TTarget, T> const,
+                       TSource const & source)
+{
+       return source;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+//convert
+//////////////////////////////////////////////////////////////////////////////
+/**
+.Function.convert:
+..cat:Alphabets
+..summary:Converts a value into another value.
+..signature:Convert convert<Target>(source)
+..param.Target:The type $source$ is converted to.
+..param.source:An object that is converted to $Target$.
+..returns:$source$ converted to $Target$.
+...remarks:If $source$ can be re-interpreted as instance of $Target$, then a reference is returned.
+Otherwise the function returns a temporary object. 
+...metafunction:Metafunction.Convert
+..remarks:This function is implemented in @Function.convertImpl@. 
+Do not specialize $convert$, specialize @Function.convertImpl@ instead.
+..see:Function.convertImpl
+*/
+template <typename TTarget, typename TSource>
+inline typename Convert<TTarget, TSource>::Type
+convert(TSource const & source)
+{
+       return convertImpl(Convert<TTarget, TSource>(), source);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+}// namespace SEQAN_NAMESPACE_MAIN
+
+#endif //#ifndef SEQAN_HEADER_...
diff --git a/SeqAn-1.1/seqan/basic/basic_counted_ptr.h b/SeqAn-1.1/seqan/basic/basic_counted_ptr.h
new file mode 100644 (file)
index 0000000..4973a9f
--- /dev/null
@@ -0,0 +1,116 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de 
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: basic_counted_ptr.h,v 1.1 2008/08/25 16:20:01 langmead Exp $
+ ==========================================================================*/
+
+// THIS FILE IS CURRENTLY NOT USED IN SEQAN
+
+#ifndef SEQAN_HEADER_BASIC_COUNTED_PTR_H
+#define SEQAN_HEADER_BASIC_COUNTED_PTR_H
+
+namespace SEQAN_NAMESPACE_MAIN
+{
+
+       //////////////////////////////////////////////////////////////////////////////
+       // counted pointer
+
+       template < typename Type >
+       struct CountedPtr
+       {
+               typedef CountedPtr              _Self;
+               typedef CountedPtr*         _SelfPtr;
+               typedef CountedPtr&         _SelfRef;
+
+               typedef Type&                   reference;
+               typedef const Type&             const_reference;
+               typedef Type*                   pointer;
+
+        explicit CountedPtr(pointer p = 0): // allocate a new counter
+            itsCounter(0)
+        {
+            if (p) itsCounter = new counter(p);
+        }
+
+        CountedPtr(const _Self& r) throw() {
+            acquire(r.itsCounter);
+        }
+
+        ~CountedPtr() {
+            release();
+        }
+
+        CountedPtr& operator=(const _Self& r)
+        {
+            if (this != &r) {
+                release();
+                acquire(r.itsCounter);
+            }
+            return *this;
+        }
+
+        reference operator*() const throw() {
+            return *itsCounter->ptr;
+        }
+
+        pointer operator->() const throw() {
+            return itsCounter->ptr;
+        }
+
+        pointer get() const throw() {
+            return itsCounter ? itsCounter->ptr : 0;
+        }
+
+        bool unique() const throw() {
+            return (itsCounter ? itsCounter->count == 1 : true);
+        }
+
+               inline operator pointer () const {
+            return get();
+               }
+
+    private:
+
+        struct counter {
+            pointer     ptr;
+            unsigned    count;
+            counter(pointer p = 0, unsigned c = 1):
+                ptr(p),
+                count(c) { }
+        }* itsCounter;
+
+        void acquire(counter* c) throw()
+        { // increment the count
+            itsCounter = c;
+            if (c) ++c->count;
+        }
+
+        void release()
+        { // decrement the count, delete if it is 0
+            if (itsCounter) {
+                if (--itsCounter->count == 0) {
+                    delete itsCounter->ptr;
+                    delete itsCounter;
+                }
+                itsCounter = 0;
+            }
+        }
+    };
+
+}
+
+#endif
diff --git a/SeqAn-1.1/seqan/basic/basic_debug.h b/SeqAn-1.1/seqan/basic/basic_debug.h
new file mode 100644 (file)
index 0000000..424b011
--- /dev/null
@@ -0,0 +1,385 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de 
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: basic_debug.h,v 1.1 2008/08/25 16:20:01 langmead Exp $
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_BASIC_DEBUG_H
+#define SEQAN_HEADER_BASIC_DEBUG_H
+
+#ifndef SEQAN_DEBUG_OR_TEST_
+#ifdef SEQAN_DEBUG
+#define SEQAN_DEBUG_OR_TEST_
+#else //#ifdef SEQAN_DEBUG
+#ifdef SEQAN_TEST
+#define SEQAN_DEBUG_OR_TEST_
+#endif //#ifdef SEQAN_TEST
+#endif //#ifdef SEQAN_DEBUG
+#endif //#ifndef SEQAN_DEBUG_OR_TEST_
+
+
+#ifdef SEQAN_DEBUG_OR_TEST_
+#include <cstdio>
+#endif //#ifdef SEQAN_DEBUG_OR_TEST_
+
+#ifdef SEQAN_DEBUG
+
+//throw a fatal debug report if _cond is false
+#define SEQAN_ASSERT(_cond) { if (!(_cond)) ::SEQAN_NAMESPACE_MAIN::debug::Error< ::SEQAN_NAMESPACE_MAIN::debug::Check >(__FILE__, __LINE__, #_cond " is FALSE"); }
+#define SEQAN_ASSERT1(_cond) SEQAN_ASSERT(_cond)
+#define SEQAN_ASSERT2(_cond, _comment) { if (!(_cond)) ::SEQAN_NAMESPACE_MAIN::debug::Error< ::SEQAN_NAMESPACE_MAIN::debug::Check >(__FILE__, __LINE__, _comment); }
+
+//throw a debug report if _cond is false
+#define SEQAN_CHECK(_cond) { if (!(_cond)) ::SEQAN_NAMESPACE_MAIN::debug::Message< ::SEQAN_NAMESPACE_MAIN::debug::Check >(__FILE__, __LINE__, #_cond " is FALSE"); }
+#define SEQAN_CHECK1(_cond) SEQAN_CHECK(_cond)
+#define SEQAN_CHECK2(_cond, _comment) { if (!(_cond)) ::SEQAN_NAMESPACE_MAIN::debug::Message< ::SEQAN_NAMESPACE_MAIN::debug::Check >(__FILE__, __LINE__, _comment); }
+
+#define SEQAN_DO(_cond) { if (!(_cond)) ::SEQAN_NAMESPACE_MAIN::debug::Message< ::SEQAN_NAMESPACE_MAIN::debug::Check >(__FILE__, __LINE__, #_cond " is FALSE"); }
+#define SEQAN_DO1(_cond) SEQAN_DO(_cond)
+#define SEQAN_DO2(_cond, _comment) { if (!(_cond)) ::SEQAN_NAMESPACE_MAIN::debug::Error< ::SEQAN_NAMESPACE_MAIN::debug::Check >(__FILE__, __LINE__, _comment); }
+
+//report a message
+#define SEQAN_ABORT(_comment) { ::SEQAN_NAMESPACE_MAIN::debug::Error< ::SEQAN_NAMESPACE_MAIN::debug::Report >(__FILE__, __LINE__, _comment); }
+#define SEQAN_REPORT(_comment) { ::SEQAN_NAMESPACE_MAIN::debug::Message< ::SEQAN_NAMESPACE_MAIN::debug::Report >(__FILE__, __LINE__, _comment); }
+
+#else //#ifdef SEQAN_DEBUG
+
+//disable debug reports in release built
+#define SEQAN_ASSERT(_cond) {}
+#define SEQAN_ASSERT1(_cond) {}
+#define SEQAN_ASSERT2(_cond, _comment) {}
+
+#define SEQAN_CHECK(_cond) {}
+#define SEQAN_CHECK1(_cond) {}
+#define SEQAN_CHECK2(_cond, _comment) {}
+
+#define SEQAN_DO(_cond) { _cond; }
+#define SEQAN_DO1(_cond) SEQAN_DO(_cond)
+#define SEQAN_DO2(_cond, _comment) { _cond; }
+
+#define SEQAN_ABORT(_comment) {}
+#define SEQAN_REPORT(_comment) {}
+
+#endif //#ifdef SEQAN_DEBUG
+
+#ifdef SEQAN_TEST
+
+//test a condition and report test result
+#define SEQAN_TASSERT(_cond) \
+       { if (!(_cond)) ::SEQAN_NAMESPACE_MAIN::debug::Error< ::SEQAN_NAMESPACE_MAIN::debug::Check >(__FILE__, __LINE__, "(" #_cond ") is FALSE"); }
+#define SEQAN_TASSERT1(_cond) SEQAN_TASSERT(_cond)
+#define SEQAN_TASSERT2(_cond, _comment) \
+       { if (!(_cond)) ::SEQAN_NAMESPACE_MAIN::debug::Error< ::SEQAN_NAMESPACE_MAIN::debug::Check >(__FILE__, __LINE__, _comment); }
+
+#define SEQAN_TCHECK(_cond) \
+       { if (_cond) ::SEQAN_NAMESPACE_MAIN::debug::Result< ::SEQAN_NAMESPACE_MAIN::debug::Check >(__FILE__, __LINE__, "(" #_cond ") is TRUE"); \
+       else ::SEQAN_NAMESPACE_MAIN::debug::Result< ::SEQAN_NAMESPACE_MAIN::debug::Check >(__FILE__, __LINE__, "(" #_cond ") is FALSE"); }
+#define SEQAN_TCHECK1(_cond) SEQAN_TCHECK(_cond)
+#define SEQAN_TCHECK2(_cond, _comment) \
+       { if (_cond) ::SEQAN_NAMESPACE_MAIN::debug::Result< ::SEQAN_NAMESPACE_MAIN::debug::Check >(__FILE__, __LINE__, _comment); }
+
+//report a test result
+#define SEQAN_TABORT(_comment) { ::SEQAN_NAMESPACE_MAIN::debug::Error< ::SEQAN_NAMESPACE_MAIN::debug::Report >(__FILE__, __LINE__, _comment); }
+#define SEQAN_TREPORT(_comment) { ::SEQAN_NAMESPACE_MAIN::debug::Result< ::SEQAN_NAMESPACE_MAIN::debug::Report >(__FILE__, __LINE__, _comment); }
+
+#else //#ifdef SEQAN_TEST
+
+#define SEQAN_TASSERT(_cond) {}
+#define SEQAN_TASSERT1(_cond) {}
+#define SEQAN_TASSERT2(_cond, _comment) {}
+
+#define SEQAN_TCHECK(_cond) {}
+#define SEQAN_TABORT(_comment) {}
+#define SEQAN_TREPORT(_comment) {}
+
+#endif //#ifdef SEQAN_TEST
+//____________________________________________________________________________
+
+#ifdef SEQAN_DEBUG_OR_TEST_
+
+//Test Helper Functions
+
+// compare two files, do not translate linebreaks
+inline bool 
+_compareBinaryFiles(char * file1, char * file2)
+{
+       bool ret = false;
+
+       FILE * fl1 = fopen(file1, "rb");
+       if (!fl1) return ret;
+
+       FILE * fl2 = fopen(file2, "rb");
+       if (!fl2)
+       {
+               fclose(fl1);
+               return ret;
+       }
+
+       while (!feof(fl1) && !feof(fl2))
+       {
+               if (fgetc(fl1) != fgetc(fl2)) goto End;
+       }
+
+       ret = feof(fl1) && feof(fl2);
+
+End:
+       fclose(fl2);
+       fclose(fl1);
+
+       return ret;
+
+}
+//____________________________________________________________________________
+
+//one line break is either \r, \n, or \r\n.
+inline void 
+_compareTextFiles_readChar(FILE * fl, char & c, bool & is_lb, bool & is_eof)
+{
+       is_lb = false;
+       is_eof = false;
+
+       c = fgetc(fl);
+       if (c == '\r')
+       {
+               is_lb = true;
+               char c_help = fgetc(fl);
+               if (feof(fl)) is_eof = true;
+               else
+               {
+                       if (c_help == '\n')
+                       {
+                               c = fgetc(fl);
+                               if (feof(fl)) is_eof = true;
+                       }
+                       else c = c_help;
+               }
+       }
+       if (c == '\n')
+       {
+               is_lb = true;
+               c = fgetc(fl);
+               if (feof(fl)) is_eof = true;
+       }
+}
+
+// compare two files, translate linebreaks
+inline bool 
+_compareTextFiles(char * file1, char * file2)
+{
+       FILE * fl1 = fopen(file1, "rb");
+       if (!fl1) return false;
+
+       FILE * fl2 = fopen(file2, "rb");
+       if (!fl2)
+       {
+               fclose(fl1);
+               return false;
+       }
+
+       bool ret = false;
+
+       bool is_lb1, is_lb2, is_eof1, is_eof2;
+       char c1, c2;
+
+       while (!feof(fl1) && !feof(fl2))
+       {
+               _compareTextFiles_readChar(fl1, c1, is_lb1, is_eof1);
+               _compareTextFiles_readChar(fl2, c2, is_lb2, is_eof2);
+
+               if (is_lb1 ^ is_lb2)
+               {
+                       goto End;
+               }
+               if (is_eof1 ^ is_eof2)
+               {
+                       goto End;
+               }
+               if (c1 != c2)
+               {
+                       goto End;
+               }
+       }
+
+       ret = feof(fl1) && feof(fl2);
+
+End:
+       fclose(fl2);
+       fclose(fl1);
+
+       return ret;
+
+}
+
+
+//____________________________________________________________________________
+
+namespace SEQAN_NAMESPACE_MAIN
+{
+
+namespace debug
+{
+
+//action of SEQAN_ASSERT, SEQAN_TCHECK and SEQAN_CHECK
+//use as template argument for Error<> and Message<> and Result<>
+class Check {};
+
+//action of SEQAN_ABORT, SEQAN_TREPORT and SEQAN_REPORT
+//use as template argument for Error<> and Message<> and Result<>
+class Report {};
+
+
+//report fatal error
+//template argument TAction is the action (Check or Report)
+//use explicit instatiation for overwriting the default behavior
+template <typename TAction>
+void Error(const char * file, int line, const char * comment="-")
+{
+       std::fprintf(stderr, "%s(%i) : SEQAN: %s\nSEQAN: execution aborted\n", file, line, comment);
+       exit(1);
+}
+
+//report debug message
+//template argument TAction is the action (Check or Report)
+//use explicit instatiation for overwriting the default behavior
+template <typename TAction>
+void Message(const char * file, int line, const char * comment="-")
+{
+       std::fprintf(stderr, "%s(%i) : SEQAN: %s\n", file, line, comment);
+}
+
+//report test result
+//template argument TAction is the action (Check or Report)
+//use explicit instatiation for overwriting the default behavior
+template <typename TAction>
+void Result(const char * file, int line, const char * comment="-")
+{
+       std::fprintf(stdout, "%s(%i) : %s\n", file, line, comment);
+}
+
+} //namespace debug
+
+} //namespace SEQAN_NAMESPACE_MAIN
+
+#endif //#ifdef SEQAN_DEBUG_OR_TEST_
+
+
+//____________________________________________________________________________
+//Checkpoint Testing
+
+//note: this framework relies on the filenames in the project to be unique 
+
+#ifdef SEQAN_TEST
+
+#include <set>
+#include <vector>
+#include <cstring>
+
+namespace SEQAN_NAMESPACE_MAIN
+{
+namespace debug
+{
+struct Checkpoint
+{
+       char const* file;
+       unsigned int line;
+};
+
+struct CheckpointLess : public ::std::binary_function <Checkpoint, Checkpoint, bool>
+{
+       inline bool operator() (Checkpoint const &a, Checkpoint const &b) const
+       {
+               int c = strcmp(a.file, b.file);
+               return c < 0 || (c == 0 && a.line < b.line);
+       }
+};
+
+template <typename T = void>
+struct CheckpointStore
+{
+       static ::std::set<Checkpoint, CheckpointLess> data;
+};
+template <typename T>
+::std::set<Checkpoint, CheckpointLess> CheckpointStore<T>::data;
+
+
+inline bool 
+checkpoint(unsigned int line, char const* file)
+{
+       char const* file_name = strrchr(file, '/');
+       char const* file_name_2 = strrchr(file, '\\');
+       if (file_name_2 > file_name) file_name = file_name_2;
+       if (!file_name) file_name = file;
+       else ++file_name;
+
+       Checkpoint cp = {file_name, line};
+       CheckpointStore<>::data.insert(cp);
+       return true;
+}
+#define SEQAN_CHECKPOINT \
+       ::SEQAN_NAMESPACE_MAIN::debug::checkpoint(__LINE__, __FILE__);
+
+
+inline void 
+testCheckpoint(char const* file, unsigned int line)
+{
+       Checkpoint cp = {file, line};
+       if (CheckpointStore<>::data.find(cp) == CheckpointStore<>::data.end())
+               Message< Report >(file, line, "Checkpoint lost");
+}
+
+inline void 
+verifyCheckpoints(char const* file)
+{
+       char const* file_name = strrchr(file, '/');
+       char const* file_name_2 = strrchr(file, '\\');
+       if (file_name_2 > file_name) file_name = file_name_2;
+       if (!file_name) file_name = file;
+       else ++file_name;
+
+       FILE * fl = ::std::fopen(file, "r");
+       if (!fl)
+       {
+               Error< Report >(file, 0, "verifyCheckpoints could not find this file.");        
+       }
+       unsigned int line_number = 1;
+       char buf[1<<16];
+
+       while (::std::fgets(buf, sizeof(buf), fl))
+       {
+               if (::std::strstr(buf, "SEQAN_CHECKPOINT"))
+               {
+                       testCheckpoint(file_name, line_number);
+               }
+               ++line_number;
+       }
+
+       ::std::fclose(fl);
+}
+
+} //namespace debug
+
+} //namespace SEQAN_NAMESPACE_MAIN
+
+#else //#ifdef SEQAN_TEST
+
+#define SEQAN_CHECKPOINT
+
+#endif //#ifdef SEQAN_TEST
+
+//____________________________________________________________________________
+
+#endif //#ifndef SEQAN_HEADER_...
diff --git a/SeqAn-1.1/seqan/basic/basic_definition.h b/SeqAn-1.1/seqan/basic/basic_definition.h
new file mode 100644 (file)
index 0000000..b12fd4c
--- /dev/null
@@ -0,0 +1,405 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de 
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: basic_definition.h,v 1.1 2008/08/25 16:20:01 langmead Exp $
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_BASIC_DEFINITION_H
+#define SEQAN_HEADER_BASIC_DEFINITION_H
+
+namespace SEQAN_NAMESPACE_MAIN
+{
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename T>
+struct Tag
+{
+};
+
+//////////////////////////////////////////////////////////////////////////////
+/**
+.Tag.Default:
+..summary:Tag that specifies default behavior.
+..tag.Default:Use default behavior. 
+*/
+struct Default_;
+typedef Tag<Default_> const Default;
+
+//////////////////////////////////////////////////////////////////////////////
+/**
+.Tag.Move Switch:
+..summary:Switch to force move.
+..tag.Move:Move instead of assign. 
+..remarks.text:The difference between move constructor and copy constructor
+is that the source object is not copied but moved into the target object.
+The source object can lose its content and will be empty after
+this operation in this case.
+A move constructor can sigificantly faster than a copy constructor.
+..example.code:String source("hello");
+String target(source, Move()); // source is moved to target
+std::cout << source; //nothing printed since source lost content
+std::cout << target; //"hello"
+..see:Function.move
+*/
+
+struct Move_;
+typedef Tag<Move_> const Move;
+
+//////////////////////////////////////////////////////////////////////////////
+
+//Pass to c'tor of iterator to move it to the end
+struct GoEnd_;
+typedef Tag<GoEnd_> const GoEnd;
+
+
+//////////////////////////////////////////////////////////////////////////////
+
+//construct without initializing
+struct MinimalCtor_;
+typedef Tag<MinimalCtor_> const MinimalCtor;
+
+//construct with initializing
+struct NonMinimalCtor_;
+typedef Tag<NonMinimalCtor_> const NonMinimalCtor;
+
+//////////////////////////////////////////////////////////////////////////////
+/**
+.Tag.Logical Values:
+..summary:Tag that represents true and false.
+..tag.True:The logical value "true".
+..tag.False:The logical value "false".
+*/
+struct True { enum { VALUE = true }; };
+struct False { enum { VALUE = false }; };
+
+
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Tag.Nothing:
+..summary:Tag that represents an absent parameter or an absent type.
+..tag.Nothing:Omit parameter.
+*/
+///Empty Data Class.
+struct Nothing {};
+
+
+
+//////////////////////////////////////////////////////////////////////////////
+// returns TTo const, if TFrom is const, TTo otherwise
+
+template <typename TFrom, typename TTo>
+struct _CopyConst
+{
+       typedef TTo Type;
+};
+template <typename TFrom, typename TTo>
+struct _CopyConst<TFrom const, TTo>
+{
+       typedef TTo const Type;
+};
+
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Internal._RemoveConst:
+..signature:_RemoveConst<T>
+..returns:$t$ if $T$ is $t const$, otherwise $T$.
+*/
+template <typename T>
+struct _RemoveConst
+{
+       typedef T Type;
+};
+template <typename T>
+struct _RemoveConst<T const>:
+       public _RemoveConst<T> {};
+
+template <typename T>
+struct _RemoveConst<T &>
+{
+       typedef typename _RemoveConst<T>::Type & Type;
+};
+template <typename T>
+struct _RemoveConst<T *>
+{
+       typedef typename _RemoveConst<T>::Type * Type;
+};
+template <typename T, size_t I>
+struct _RemoveConst<T const [I]>
+{
+       typedef T * Type;
+};
+
+//////////////////////////////////////////////////////////////////////////////
+/**
+.Internal._MakeUnsigned:
+..signature:_MakeUnsigned<T>
+..returns:$unsigned t$ if $T$ is not $unsigned t$, otherwise $T$.
+*/
+template <typename T>
+struct _MakeUnsigned
+{
+       typedef T Type;
+};
+
+template <typename T>
+struct _MakeUnsigned<T const> {
+       typedef typename _MakeUnsigned<T>::Type const Type;
+};
+
+template <>
+struct _MakeUnsigned<char>
+{
+       typedef unsigned char Type;
+};
+
+template <>
+struct _MakeUnsigned<signed char>
+{
+       typedef unsigned char Type;
+};
+
+template <>
+struct _MakeUnsigned<int>
+{
+       typedef unsigned int Type;
+};
+
+template <>
+struct _MakeUnsigned<short>
+{
+       typedef unsigned short Type;
+};
+
+template <>
+struct _MakeUnsigned<long>
+{
+       typedef unsigned long Type;
+};
+
+/*
+template <>
+struct _MakeUnsigned<long long>
+{
+       typedef unsigned long long Type;
+};
+*/
+
+//////////////////////////////////////////////////////////////////////////////
+/**
+.Internal._MakeSigned:
+..signature:_MakeSigned<T>
+..returns:$signed t$ if $T$ is not $signed t$, otherwise $T$.
+*/
+template <typename T>
+struct _MakeSigned
+{
+       typedef T Type;
+};
+
+template <typename T>
+struct _MakeSigned<T const> {
+       typedef typename _MakeSigned<T>::Type const Type;
+};
+
+template <>
+struct _MakeSigned<char>
+{
+       typedef signed char Type;
+};
+
+template <>
+struct _MakeSigned<unsigned char>
+{
+       typedef signed char Type;
+};
+
+template <>
+struct _MakeSigned<unsigned int>
+{
+       typedef signed int Type;
+};
+
+template <>
+struct _MakeSigned<unsigned short>
+{
+       typedef signed short Type;
+};
+
+template <>
+struct _MakeSigned<unsigned long>
+{
+       typedef signed long Type;
+};
+
+/*
+template <>
+struct _MakeSigned<unsigned long long>
+{
+       typedef signed long long Type;
+};
+*/
+
+//////////////////////////////////////////////////////////////////////////////
+/**
+.Internal._ClassIdentifier:
+..signature:void * _ClassIdentifier<T>::getID()
+..returns:A void * that identifies $T$.
+...text:The returned values of two calls of $getID$ are equal if and only if
+the used type $T$ was the same.
+*/
+template <typename T>
+struct _ClassIdentifier
+{
+       static inline void *
+       getID()
+       {
+SEQAN_CHECKPOINT
+               static bool _id_dummy;
+               return &_id_dummy;
+       }
+};
+
+//////////////////////////////////////////////////////////////////////////////
+/**
+.Function.log2:
+..cat:Miscellaneous
+..summary:Computes logarithm of base 2 for integer types
+..signature:unsigned int log2(i)
+..param.i:An integer type.
+..returns:The largest integer smaller or equal than
+the logarithm of $i$.
+*/
+
+#if 0
+template <int BITS_MAX>
+struct _Log2_Impl
+{
+       template <typename T>
+       static inline unsigned int
+       log2(T val, unsigned int offset)
+       {
+               unsigned int val2 = val >> (BITS_MAX / 2);
+               if (val2)
+               {
+                       val = val2;
+                       offset += BITS_MAX / 2;
+               }
+               return _Log2_Impl<BITS_MAX / 2>::log2(val, offset);
+       }
+};
+
+template <>
+struct _Log2_Impl<1>
+{
+       template <typename T>
+       static inline unsigned int
+       log2(T /*val*/, unsigned int offset)
+       {
+               return offset;
+       }
+};
+
+
+template <typename T>
+inline unsigned int
+log2(T val)
+{
+       enum
+       {
+//             BITS_PER_VALUE = BitsPerValue<T>::VALUE //TODO???
+               BITS_PER_VALUE = sizeof(T) * 8
+       };
+
+       return _Log2_Impl<BITS_PER_VALUE>::log2(val, 0);
+}
+#endif
+
+template <typename TValue, typename TExponent>
+inline TValue _intPow(TValue a, TExponent b)
+{
+SEQAN_CHECKPOINT
+       TValue ret = 1;
+       while (b != 0)
+       {
+               if (b & 1) ret *= a;
+               a *= a;
+               b >>= 1;
+       }       
+       return ret;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// to avoid conflicts with non-standard macros and namespaces
+// we define our own Min/Max functions
+
+template<typename _Tx> inline
+const _Tx& _min(const _Tx& _Left, const _Tx& _Right)
+{      // return smaller of _Left and _Right
+       if (_Left < _Right)
+               return _Left;
+       else
+               return _Right;
+}
+
+template<typename _Tx, typename _Ty> inline
+_Tx _min(const _Tx& _Left, const _Ty& _Right)
+{      // return smaller of _Left and _Right
+    return (_Right < _Left ? _Right : _Left);
+}
+
+template<typename _Ty> inline
+const _Ty& _max(const _Ty& _Left, const _Ty& _Right)
+{      // return larger of _Left and _Right
+       if (_Left < _Right)
+               return _Right;
+       else
+               return _Left;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename T1, typename T2>
+struct _IsSameType
+{
+       enum {VALUE = false};
+       typedef False Type;
+};
+
+template <typename T>
+struct _IsSameType<T, T>
+{
+       enum {VALUE = true};
+       typedef True Type;
+};
+
+template <typename T1, typename T2>
+inline bool 
+_isSameType()
+{
+       return _IsSameType<T1, T2>::VALUE;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+} //namespace SEQAN_NAMESPACE_MAIN
+
+#endif //#ifndef SEQAN_HEADER_...
+
+
diff --git a/SeqAn-1.1/seqan/basic/basic_forwards.h b/SeqAn-1.1/seqan/basic/basic_forwards.h
new file mode 100644 (file)
index 0000000..13e70fb
--- /dev/null
@@ -0,0 +1,71 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de 
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: basic_forwards.h,v 1.1 2008/08/25 16:20:02 langmead Exp $
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_BASIC_FORWARD2_H
+#define SEQAN_HEADER_BASIC_FORWARD2_H
+
+//forward declarations (make GCC 4.x happy)
+
+namespace SEQAN_NAMESPACE_MAIN
+{
+//////////////////////////////////////////////////////////////////////////////
+// basic_transport.h::assign
+
+template <typename TTarget, typename TSource>
+inline void
+assign(TTarget & target,
+          TSource & source);
+
+template <typename TTarget, typename TSource>
+inline void
+assign(TTarget & target,
+          TSource const & source);
+
+//////////////////////////////////////////////////////////////////////////////
+// string_pointer.h::assignValue
+
+template <typename TValue, typename TPos>
+inline void
+assignValue(TValue * me,
+                       TPos pos, 
+                       TValue const & _value);
+
+//////////////////////////////////////////////////////////////////////////////
+// string_pointer.h::moveValue
+
+template <typename TValue, typename TPos>
+inline void
+moveValue(TValue * me,
+                       TPos pos, 
+                       TValue const & _value);
+
+//////////////////////////////////////////////////////////////////////////////
+// string_pointer.h::value
+
+template <typename TValue, typename TPos>
+inline TValue &
+value(TValue * me,
+         TPos pos);
+
+//////////////////////////////////////////////////////////////////////////////
+
+} //namespace SEQAN_NAMESPACE_MAIN
+
+#endif //#ifndef SEQAN_HEADER_...
diff --git a/SeqAn-1.1/seqan/basic/basic_generated_forwards.h b/SeqAn-1.1/seqan/basic/basic_generated_forwards.h
new file mode 100644 (file)
index 0000000..55f8ded
--- /dev/null
@@ -0,0 +1,1941 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_BASIC_GENERATED_FORWARDS_H
+#define SEQAN_HEADER_BASIC_GENERATED_FORWARDS_H
+
+//////////////////////////////////////////////////////////////////////////////
+// NOTE: This file is automatically generated by build_forwards.py
+//       Do not edit this file manually!
+//////////////////////////////////////////////////////////////////////////////
+
+
+//////////////////////////////////////////////////////////////////////////////
+// CLASSES
+//////////////////////////////////////////////////////////////////////////////
+
+namespace SEQAN_NAMESPACE_MAIN {
+namespace debug {
+
+//____________________________________________________________________________
+// Check
+
+class Check;           // "projects/library/seqan/basic/basic_debug.h"(238)
+
+//____________________________________________________________________________
+// Checkpoint
+
+struct Checkpoint;             // "projects/library/seqan/basic/basic_debug.h"(296)
+
+//____________________________________________________________________________
+// CheckpointLess
+
+struct CheckpointLess;         // "projects/library/seqan/basic/basic_debug.h"(302)
+
+//____________________________________________________________________________
+// CheckpointStore
+
+template <typename T > struct CheckpointStore;         // "projects/library/seqan/basic/basic_debug.h"(312)
+
+//____________________________________________________________________________
+// Report
+
+class Report;          // "projects/library/seqan/basic/basic_debug.h"(242)
+
+} //namespace debug
+} //namespace SEQAN_NAMESPACE_MAIN
+//////////////////////////////////////////////////////////////////////////////
+
+namespace SEQAN_NAMESPACE_MAIN {
+
+//____________________________________________________________________________
+// AdaptorIterator
+
+template <typename TIterator, typename TSpec > struct AdaptorIterator;         // "projects/library/seqan/basic/basic_iterator_adaptor.h"(31)
+
+//____________________________________________________________________________
+// Allocator
+
+template <typename TSpec> struct Allocator;            // "projects/library/seqan/basic/basic_allocator_interface.h"(50)
+
+//____________________________________________________________________________
+// BitsPerValue
+
+template <typename TValue> struct BitsPerValue;        // "projects/library/seqan/basic/basic_alphabet_interface.h"(837)
+
+//____________________________________________________________________________
+// CASE
+
+template <int tag_,class Type_,class Next_ > struct CASE;              // "projects/library/seqan/basic/basic_metaprogramming.h"(76)
+
+//____________________________________________________________________________
+// Cargo
+
+template <typename T> struct Cargo;            // "projects/library/seqan/basic/basic_type.h"(290)
+
+//____________________________________________________________________________
+// ChunkPool
+
+#if 0
+template <size_t SIZE, size_t MAX_COUNT , typename TParentAllocator > struct ChunkPool;        // "projects/library/seqan/basic/basic_allocator_chunkpool.h"(56)
+#endif
+
+//____________________________________________________________________________
+// ChunkPool2
+
+template <typename TValue, size_t MAX_COUNT , typename TParentAllocator > struct ChunkPool2;           // "projects/library/seqan/basic/basic_allocator_chunkpool.h"(248)
+
+//____________________________________________________________________________
+// CompareType
+
+template <typename TLeft, typename TRight> struct CompareType;         // "projects/library/seqan/basic/basic_alphabet_simple.h"(500)
+template <typename TLeft, typename TRight> struct CompareType;         // "projects/library/seqan/basic/basic_compare.h"(30)
+
+//____________________________________________________________________________
+// Container
+
+template <typename T> struct Container;        // "projects/library/seqan/basic/basic_iterator_base.h"(106)
+template <typename T> struct Container;        // "projects/library/seqan/basic/basic_iterator.h"(147)
+
+//____________________________________________________________________________
+// Convert
+
+template <typename TTarget, typename TSource > struct Convert;         // "projects/library/seqan/basic/basic_converter.h"(48)
+
+//____________________________________________________________________________
+// CountedPtr
+
+template <typename Type > struct CountedPtr;           // "projects/library/seqan/basic/basic_counted_ptr.h"(34)
+
+//____________________________________________________________________________
+// CutCompressed
+
+template <unsigned valueSizeI1 > struct CutCompressed;         // "projects/library/seqan/basic/basic_aggregates.h"(36)
+
+//____________________________________________________________________________
+// DeepestSpec
+
+template <typename T> struct DeepestSpec;              // "projects/library/seqan/basic/basic_type.h"(229)
+
+//____________________________________________________________________________
+// DefaultGetIteratorSpec
+
+template <typename T> struct DefaultGetIteratorSpec;           // "projects/library/seqan/basic/basic_iterator.h"(94)
+
+//____________________________________________________________________________
+// DefaultIteratorSpec
+
+template <typename T> struct DefaultIteratorSpec;              // "projects/library/seqan/basic/basic_iterator.h"(72)
+
+//____________________________________________________________________________
+// Default_
+
+struct Default_;               // "projects/library/seqan/basic/basic_definition.h"(40)
+
+//____________________________________________________________________________
+// Difference
+
+template <typename T> struct Difference;               // "projects/library/seqan/basic/basic_type.h"(137)
+
+//____________________________________________________________________________
+// DotDrawing_
+
+struct DotDrawing_;            // "projects/library/seqan/basic/basic_tag.h"(36)
+
+//____________________________________________________________________________
+// False
+
+struct False;          // "projects/library/seqan/basic/basic_definition.h"(88)
+
+//____________________________________________________________________________
+// GetValue
+
+template <typename T> struct GetValue;         // "projects/library/seqan/basic/basic_type.h"(69)
+
+//____________________________________________________________________________
+// GoEnd_
+
+struct GoEnd_;         // "projects/library/seqan/basic/basic_definition.h"(66)
+
+//____________________________________________________________________________
+// Gotoh_
+
+struct Gotoh_;         // "projects/library/seqan/basic/basic_tag.h"(90)
+
+//____________________________________________________________________________
+// Hirschberg_
+
+struct Hirschberg_;            // "projects/library/seqan/basic/basic_tag.h"(118)
+
+//____________________________________________________________________________
+// Holder
+
+template <typename TValue, typename TSpec > struct Holder;             // "projects/library/seqan/basic/basic_holder.h"(112)
+
+//____________________________________________________________________________
+// Host
+
+template <typename T> struct Host;             // "projects/library/seqan/basic/basic_type.h"(181)
+
+//____________________________________________________________________________
+// IF
+
+template <bool Flag,class Type1, class Type2> struct IF;               // "projects/library/seqan/basic/basic_metaprogramming.h"(35)
+
+//____________________________________________________________________________
+// Id
+
+template <typename T> struct Id;               // "projects/library/seqan/basic/basic_type.h"(335)
+
+//____________________________________________________________________________
+// InfimumValue
+
+template <typename T, typename TParent > struct InfimumValue;          // "projects/library/seqan/basic/basic_alphabet_interface.h"(911)
+
+//____________________________________________________________________________
+// IsSimple
+
+template <typename T> struct IsSimple;         // "projects/library/seqan/basic/basic_alphabet_interface.h"(53)
+
+//____________________________________________________________________________
+// Iter
+
+template <typename TContainer, typename TSpec> class Iter;             // "projects/library/seqan/basic/basic_iterator_base.h"(41)
+
+//____________________________________________________________________________
+// Iterator
+
+template <typename T, typename TSpec > struct Iterator;        // "projects/library/seqan/basic/basic_iterator.h"(129)
+
+//____________________________________________________________________________
+// IteratorProxy
+
+template <typename TIterator> struct IteratorProxy;            // "projects/library/seqan/basic/basic_proxy.h"(80)
+
+//____________________________________________________________________________
+// Iterator_Default_Imp
+
+template <typename T, typename TSpec> struct Iterator_Default_Imp;             // "projects/library/seqan/basic/basic_iterator.h"(119)
+
+//____________________________________________________________________________
+// Key
+
+template <typename T > struct Key;             // "projects/library/seqan/basic/basic_type.h"(358)
+
+//____________________________________________________________________________
+// LENGTH
+
+template <typename T> struct LENGTH;           // "projects/library/seqan/basic/basic_type.h"(586)
+
+//____________________________________________________________________________
+// LOOP
+
+template <typename Worker, int I> class LOOP;          // "projects/library/seqan/basic/basic_metaprogramming.h"(121)
+
+//____________________________________________________________________________
+// LOOP_REVERSE
+
+template <typename Worker, int I> class LOOP_REVERSE;          // "projects/library/seqan/basic/basic_metaprogramming.h"(144)
+
+//____________________________________________________________________________
+// Log2
+
+template <__int64 numerus > struct Log2;               // "projects/library/seqan/basic/basic_metaprogramming.h"(166)
+
+//____________________________________________________________________________
+// Log2Floor
+
+template <__int64 numerus > struct Log2Floor;          // "projects/library/seqan/basic/basic_metaprogramming.h"(171)
+
+//____________________________________________________________________________
+// MemsetConstValueWorker
+
+template <unsigned SIZE, bool direct, unsigned char c> struct MemsetConstValueWorker;          // "projects/library/seqan/basic/basic_metaprogramming.h"(251)
+
+//____________________________________________________________________________
+// MemsetWorker
+
+template <unsigned SIZE, bool direct> struct MemsetWorker;             // "projects/library/seqan/basic/basic_metaprogramming.h"(205)
+
+//____________________________________________________________________________
+// MinimalCtor_
+
+struct MinimalCtor_;           // "projects/library/seqan/basic/basic_definition.h"(73)
+
+//____________________________________________________________________________
+// Move_
+
+struct Move_;          // "projects/library/seqan/basic/basic_definition.h"(60)
+
+//____________________________________________________________________________
+// MultiPool
+
+template <typename TParentAllocator , unsigned int BLOCKING_LIMIT > struct MultiPool;          // "projects/library/seqan/basic/basic_allocator_multipool.h"(50)
+
+//____________________________________________________________________________
+// MyersBitVector_
+
+struct MyersBitVector_;        // "projects/library/seqan/basic/basic_tag.h"(100)
+
+//____________________________________________________________________________
+// MyersHirschberg_
+
+struct MyersHirschberg_;               // "projects/library/seqan/basic/basic_tag.h"(109)
+
+//____________________________________________________________________________
+// NeedlemanWunsch_
+
+struct NeedlemanWunsch_;               // "projects/library/seqan/basic/basic_tag.h"(81)
+
+//____________________________________________________________________________
+// NilCase
+
+struct NilCase;        // "projects/library/seqan/basic/basic_metaprogramming.h"(72)
+
+//____________________________________________________________________________
+// NonMinimalCtor_
+
+struct NonMinimalCtor_;        // "projects/library/seqan/basic/basic_definition.h"(77)
+
+//____________________________________________________________________________
+// Nothing
+
+struct Nothing;        // "projects/library/seqan/basic/basic_definition.h"(99)
+
+//____________________________________________________________________________
+// Nussinov_
+
+struct Nussinov_;              // "projects/library/seqan/basic/basic_tag.h"(163)
+
+//____________________________________________________________________________
+// Object
+
+template <typename T> struct Object;           // "projects/library/seqan/basic/basic_type.h"(377)
+
+//____________________________________________________________________________
+// Pair
+
+template <typename _T1, typename _T2 , typename TCompression > struct Pair;            // "projects/library/seqan/basic/basic_aggregates.h"(69)
+
+//____________________________________________________________________________
+// Position
+
+template <typename T> struct Position;         // "projects/library/seqan/basic/basic_type.h"(161)
+
+//____________________________________________________________________________
+// PositionIterator
+
+struct PositionIterator;               // "projects/library/seqan/basic/basic_iterator_position.h"(29)
+
+//____________________________________________________________________________
+// Power
+
+template <__int64 base, __int64 exponent > struct Power;               // "projects/library/seqan/basic/basic_metaprogramming.h"(186)
+
+//____________________________________________________________________________
+// Proxy
+
+template <typename TSpec> struct Proxy;        // "projects/library/seqan/basic/basic_transport.h"(67)
+template <typename TSpec> struct Proxy;        // "projects/library/seqan/basic/basic_proxy.h"(48)
+
+//____________________________________________________________________________
+// Reference
+
+template <typename T> struct Reference;        // "projects/library/seqan/basic/basic_type.h"(91)
+
+//____________________________________________________________________________
+// SWITCH
+
+template <int tag,class Case> class SWITCH;            // "projects/library/seqan/basic/basic_metaprogramming.h"(84)
+
+//____________________________________________________________________________
+// Simple
+
+struct Simple;         // "projects/library/seqan/basic/basic_holder.h"(86)
+
+//____________________________________________________________________________
+// SimpleAlloc
+
+template <typename TParentAllocator > struct SimpleAlloc;              // "projects/library/seqan/basic/basic_allocator_simple.h"(46)
+
+//____________________________________________________________________________
+// SimpleIterator
+
+struct SimpleIterator;         // "projects/library/seqan/basic/basic_iterator_simple.h"(30)
+
+//____________________________________________________________________________
+// SimpleType
+
+template <typename TValue, typename TSpec> struct SimpleType;          // "projects/library/seqan/basic/basic_alphabet_simple.h"(58)
+
+//____________________________________________________________________________
+// SinglePool
+
+template <size_t SIZE, typename TParentAllocator > struct SinglePool;          // "projects/library/seqan/basic/basic_allocator_singlepool.h"(50)
+
+//____________________________________________________________________________
+// SinglePool2
+
+template <typename TValue, typename TParentAllocator > struct SinglePool2;             // "projects/library/seqan/basic/basic_allocator_singlepool.h"(226)
+
+//____________________________________________________________________________
+// Size
+
+template <typename T> struct Size;             // "projects/library/seqan/basic/basic_type.h"(113)
+
+//____________________________________________________________________________
+// SmithWatermanClump_
+
+struct SmithWatermanClump_;            // "projects/library/seqan/basic/basic_tag.h"(145)
+
+//____________________________________________________________________________
+// SmithWatermanIsland_
+
+struct SmithWatermanIsland_;           // "projects/library/seqan/basic/basic_tag.h"(154)
+
+//____________________________________________________________________________
+// SmithWaterman_
+
+struct SmithWaterman_;         // "projects/library/seqan/basic/basic_tag.h"(136)
+
+//____________________________________________________________________________
+// Source
+
+template <typename TSpec > struct Source;              // "projects/library/seqan/basic/basic_type.h"(392)
+
+//____________________________________________________________________________
+// Spec
+
+template <typename T> struct Spec;             // "projects/library/seqan/basic/basic_type.h"(200)
+
+//____________________________________________________________________________
+// StdAllocator
+
+template <typename T, typename TData> struct StdAllocator;             // "projects/library/seqan/basic/basic_allocator_to_std.h"(166)
+
+//____________________________________________________________________________
+// StdContainerIterator
+
+template <typename TStdContainer> struct StdContainerIterator;         // "projects/library/seqan/basic/basic_iterator_adapt_std.h"(68)
+
+//____________________________________________________________________________
+// StdIteratorAdaptor
+
+struct StdIteratorAdaptor;             // "projects/library/seqan/basic/basic_iterator_adapt_std.h"(89)
+
+//____________________________________________________________________________
+// SupremumValue
+
+template <typename T, typename TParent > struct SupremumValue;         // "projects/library/seqan/basic/basic_alphabet_interface.h"(900)
+
+//____________________________________________________________________________
+// TYPECMP
+
+template <class Type1, class Type2> struct TYPECMP;            // "projects/library/seqan/basic/basic_metaprogramming.h"(54)
+
+//____________________________________________________________________________
+// Tag
+
+template <typename T> struct Tag;              // "projects/library/seqan/basic/basic_definition.h"(31)
+
+//____________________________________________________________________________
+// TagAllocateStorage_
+
+struct TagAllocateStorage_;            // "projects/library/seqan/basic/basic_allocator_interface.h"(84)
+
+//____________________________________________________________________________
+// TagAllocateTemp_
+
+struct TagAllocateTemp_;               // "projects/library/seqan/basic/basic_allocator_interface.h"(81)
+
+//____________________________________________________________________________
+// TagAllocateUnspecified_
+
+struct TagAllocateUnspecified_;        // "projects/library/seqan/basic/basic_allocator_interface.h"(78)
+
+//____________________________________________________________________________
+// TagRooted_
+
+struct TagRooted_;             // "projects/library/seqan/basic/basic_iterator.h"(48)
+
+//____________________________________________________________________________
+// TagStandard_
+
+struct TagStandard_;           // "projects/library/seqan/basic/basic_iterator.h"(51)
+
+//____________________________________________________________________________
+// ToStdAllocator
+
+template <typename THost, typename TValue> struct ToStdAllocator;              // "projects/library/seqan/basic/basic_allocator_to_std.h"(61)
+
+//____________________________________________________________________________
+// Triple
+
+template <typename _T1, typename _T2 , typename _T3 , typename TCompression > struct Triple;           // "projects/library/seqan/basic/basic_aggregates.h"(218)
+
+//____________________________________________________________________________
+// Tristate
+
+struct Tristate;               // "projects/library/seqan/basic/basic_holder.h"(87)
+
+//____________________________________________________________________________
+// Tristate2
+
+struct Tristate2;              // "projects/library/seqan/basic/basic_holder.h"(790)
+
+//____________________________________________________________________________
+// True
+
+struct True;           // "projects/library/seqan/basic/basic_definition.h"(87)
+
+//____________________________________________________________________________
+// Tuple
+
+template <typename _T, unsigned _size, typename TCompression > struct Tuple;           // "projects/library/seqan/basic/basic_aggregates.h"(313)
+
+//____________________________________________________________________________
+// Value
+
+template <typename T, const int i > struct Value;              // "projects/library/seqan/basic/basic_type.h"(43)
+
+//____________________________________________________________________________
+// ValueSize
+
+template <typename T> struct ValueSize;        // "projects/library/seqan/basic/basic_alphabet_interface.h"(859)
+
+//____________________________________________________________________________
+// VertexDescriptor
+
+template <typename T> struct VertexDescriptor;         // "projects/library/seqan/basic/basic_type.h"(313)
+
+//____________________________________________________________________________
+// VolatilePtr
+
+template <typename Type > struct VolatilePtr;          // "projects/library/seqan/basic/basic_volatile_ptr.h"(40)
+
+//____________________________________________________________________________
+// WEIGHT
+
+template <typename T> struct WEIGHT;           // "projects/library/seqan/basic/basic_type.h"(608)
+
+//____________________________________________________________________________
+// WorkerNothing
+
+struct WorkerNothing;          // "projects/library/seqan/basic/basic_metaprogramming.h"(115)
+
+//____________________________________________________________________________
+// _AminoAcid
+
+struct _AminoAcid;             // "projects/library/seqan/basic/basic_alphabet_simple.h"(1085)
+
+//____________________________________________________________________________
+// _BitVector
+
+template <unsigned char _size > struct _BitVector;             // "projects/library/seqan/basic/basic_aggregates.h"(340)
+
+//____________________________________________________________________________
+// _ClassIdentifier
+
+template <typename T> struct _ClassIdentifier;         // "projects/library/seqan/basic/basic_definition.h"(269)
+
+//____________________________________________________________________________
+// _Compressed
+
+struct _Compressed;            // "projects/library/seqan/basic/basic_aggregates.h"(29)
+
+//____________________________________________________________________________
+// _ConstParameter
+
+template <typename T> struct _ConstParameter;          // "projects/library/seqan/basic/basic_type.h"(474)
+
+//____________________________________________________________________________
+// _CopyConst
+
+template <typename TFrom, typename TTo> struct _CopyConst;             // "projects/library/seqan/basic/basic_definition.h"(108)
+
+//____________________________________________________________________________
+// _Dna
+
+struct _Dna;           // "projects/library/seqan/basic/basic_alphabet_simple.h"(1010)
+
+//____________________________________________________________________________
+// _Dna5
+
+struct _Dna5;          // "projects/library/seqan/basic/basic_alphabet_simple.h"(1034)
+
+//____________________________________________________________________________
+// _HammingDistance
+
+struct _HammingDistance;               // "projects/library/seqan/basic/basic_tag.h"(50)
+
+//____________________________________________________________________________
+// _InfimumValueSigned
+
+template <typename T > struct _InfimumValueSigned;             // "projects/library/seqan/basic/basic_alphabet_interface.h"(876)
+
+//____________________________________________________________________________
+// _InfimumValueUnsigned
+
+template <typename T > struct _InfimumValueUnsigned;           // "projects/library/seqan/basic/basic_alphabet_interface.h"(874)
+
+//____________________________________________________________________________
+// _IsSameType
+
+template <typename T1, typename T2> struct _IsSameType;        // "projects/library/seqan/basic/basic_definition.h"(378)
+
+//____________________________________________________________________________
+// _IsSimple
+
+template <typename T> struct _IsSimple;        // "projects/library/seqan/basic/basic_alphabet_interface.h"(47)
+
+//____________________________________________________________________________
+// _Iupac
+
+struct _Iupac;         // "projects/library/seqan/basic/basic_alphabet_simple.h"(1058)
+
+//____________________________________________________________________________
+// _LevenshteinDistance
+
+struct _LevenshteinDistance;           // "projects/library/seqan/basic/basic_tag.h"(51)
+
+//____________________________________________________________________________
+// _Log2_Impl
+
+template <int BITS_MAX> struct _Log2_Impl;             // "projects/library/seqan/basic/basic_definition.h"(292)
+
+//____________________________________________________________________________
+// _MakeSigned
+
+template <typename T> struct _MakeSigned;              // "projects/library/seqan/basic/basic_definition.h"(212)
+
+//____________________________________________________________________________
+// _MakeUnsigned
+
+template <typename T> struct _MakeUnsigned;            // "projects/library/seqan/basic/basic_definition.h"(157)
+
+//____________________________________________________________________________
+// _Parameter
+
+template <typename T> struct _Parameter;               // "projects/library/seqan/basic/basic_type.h"(416)
+
+//____________________________________________________________________________
+// _Pointer
+
+template <typename T> struct _Pointer;         // "projects/library/seqan/basic/basic_type.h"(519)
+
+//____________________________________________________________________________
+// _RemoveConst
+
+template <typename T> struct _RemoveConst;             // "projects/library/seqan/basic/basic_definition.h"(126)
+
+//____________________________________________________________________________
+// _SupremumValueSigned
+
+template <typename T > struct _SupremumValueSigned;            // "projects/library/seqan/basic/basic_alphabet_interface.h"(871)
+
+//____________________________________________________________________________
+// _SupremumValueUnsigned
+
+template <typename T > struct _SupremumValueUnsigned;          // "projects/library/seqan/basic/basic_alphabet_interface.h"(869)
+
+//____________________________________________________________________________
+// _Translate_Table_AA_2_Ascii
+
+template <typename T > struct _Translate_Table_AA_2_Ascii;             // "projects/library/seqan/basic/basic_alphabet_simple_tabs.h"(337)
+
+//____________________________________________________________________________
+// _Translate_Table_Ascii_2_AA
+
+template <typename T > struct _Translate_Table_Ascii_2_AA;             // "projects/library/seqan/basic/basic_alphabet_simple_tabs.h"(374)
+
+//____________________________________________________________________________
+// _Translate_Table_Ascii_2_Dna
+
+template <typename T > struct _Translate_Table_Ascii_2_Dna;            // "projects/library/seqan/basic/basic_alphabet_simple_tabs.h"(138)
+
+//____________________________________________________________________________
+// _Translate_Table_Ascii_2_Dna5
+
+template <typename T > struct _Translate_Table_Ascii_2_Dna5;           // "projects/library/seqan/basic/basic_alphabet_simple_tabs.h"(176)
+
+//____________________________________________________________________________
+// _Translate_Table_Ascii_2_Iupac
+
+template <typename T > struct _Translate_Table_Ascii_2_Iupac;          // "projects/library/seqan/basic/basic_alphabet_simple_tabs.h"(214)
+
+//____________________________________________________________________________
+// _Translate_Table_Byte_2_AA
+
+template <typename T > struct _Translate_Table_Byte_2_AA;              // "projects/library/seqan/basic/basic_alphabet_simple_tabs.h"(412)
+
+//____________________________________________________________________________
+// _Translate_Table_Byte_2_Dna
+
+template <typename T > struct _Translate_Table_Byte_2_Dna;             // "projects/library/seqan/basic/basic_alphabet_simple_tabs.h"(251)
+
+//____________________________________________________________________________
+// _Translate_Table_Byte_2_Dna5
+
+template <typename T > struct _Translate_Table_Byte_2_Dna5;            // "projects/library/seqan/basic/basic_alphabet_simple_tabs.h"(280)
+
+//____________________________________________________________________________
+// _Translate_Table_Byte_2_Iupac
+
+template <typename T > struct _Translate_Table_Byte_2_Iupac;           // "projects/library/seqan/basic/basic_alphabet_simple_tabs.h"(308)
+
+//____________________________________________________________________________
+// _Translate_Table_Dna5_2_Ascii
+
+template <typename T > struct _Translate_Table_Dna5_2_Ascii;           // "projects/library/seqan/basic/basic_alphabet_simple_tabs.h"(33)
+
+//____________________________________________________________________________
+// _Translate_Table_Dna5_2_Iupac
+
+template <typename T > struct _Translate_Table_Dna5_2_Iupac;           // "projects/library/seqan/basic/basic_alphabet_simple_tabs.h"(43)
+
+//____________________________________________________________________________
+// _Translate_Table_Iupac_2_Ascii
+
+template <typename T > struct _Translate_Table_Iupac_2_Ascii;          // "projects/library/seqan/basic/basic_alphabet_simple_tabs.h"(53)
+
+//____________________________________________________________________________
+// _Translate_Table_Iupac_2_Dna
+
+template <typename T > struct _Translate_Table_Iupac_2_Dna;            // "projects/library/seqan/basic/basic_alphabet_simple_tabs.h"(81)
+
+//____________________________________________________________________________
+// _Translate_Table_Iupac_2_Dna5
+
+template <typename T > struct _Translate_Table_Iupac_2_Dna5;           // "projects/library/seqan/basic/basic_alphabet_simple_tabs.h"(110)
+
+//____________________________________________________________________________
+// _TupleShiftLeftWorker
+
+struct _TupleShiftLeftWorker;          // "projects/library/seqan/basic/basic_aggregates.h"(510)
+
+//____________________________________________________________________________
+// _TupleShiftRightWorker
+
+struct _TupleShiftRightWorker;         // "projects/library/seqan/basic/basic_aggregates.h"(517)
+
+//____________________________________________________________________________
+// _ValueConstructor
+
+struct _ValueConstructor;              // "projects/library/seqan/basic/basic_alphabet_interface.h"(81)
+
+//____________________________________________________________________________
+// _ValueConstructorProxy
+
+struct _ValueConstructorProxy;         // "projects/library/seqan/basic/basic_alphabet_interface.h"(111)
+
+//____________________________________________________________________________
+// _ValueDestructor
+
+struct _ValueDestructor;               // "projects/library/seqan/basic/basic_alphabet_interface.h"(125)
+
+//____________________________________________________________________________
+// _ValueDestructorProxy
+
+struct _ValueDestructorProxy;          // "projects/library/seqan/basic/basic_alphabet_interface.h"(135)
+
+} //namespace SEQAN_NAMESPACE_MAIN
+
+
+//////////////////////////////////////////////////////////////////////////////
+// TYPEDEFS
+//////////////////////////////////////////////////////////////////////////////
+
+namespace SEQAN_NAMESPACE_MAIN {
+
+//____________________________________________________________________________
+// AminoAcid
+
+typedef SimpleType<unsigned char, _AminoAcid> AminoAcid;               // "projects/library/seqan/basic/basic_alphabet_simple.h"(1086)
+
+//____________________________________________________________________________
+// Ascii
+
+typedef char Ascii;            // "projects/library/seqan/basic/basic_alphabet_interface.h"(61)
+
+//____________________________________________________________________________
+// Byte
+
+typedef unsigned char Byte;            // "projects/library/seqan/basic/basic_alphabet_interface.h"(62)
+
+//____________________________________________________________________________
+// Compressed
+
+typedef Tag<_Compressed> Compressed;           // "projects/library/seqan/basic/basic_aggregates.h"(30)
+
+//____________________________________________________________________________
+// Default
+
+typedef Tag<Default_> const Default;           // "projects/library/seqan/basic/basic_definition.h"(41)
+
+//____________________________________________________________________________
+// Dna
+
+typedef SimpleType<unsigned char,_Dna> Dna;            // "projects/library/seqan/basic/basic_alphabet_simple.h"(1011)
+
+//____________________________________________________________________________
+// Dna5
+
+typedef SimpleType<unsigned char, _Dna5> Dna5;         // "projects/library/seqan/basic/basic_alphabet_simple.h"(1035)
+
+//____________________________________________________________________________
+// DotDrawing
+
+typedef Tag<DotDrawing_> const DotDrawing;             // "projects/library/seqan/basic/basic_tag.h"(37)
+
+//____________________________________________________________________________
+// EditDistance
+
+typedef Tag<_LevenshteinDistance> EditDistance;        // "projects/library/seqan/basic/basic_tag.h"(55)
+
+//____________________________________________________________________________
+// GoEnd
+
+typedef Tag<GoEnd_> const GoEnd;               // "projects/library/seqan/basic/basic_definition.h"(67)
+
+//____________________________________________________________________________
+// Gotoh
+
+typedef Tag<Gotoh_> const Gotoh;               // "projects/library/seqan/basic/basic_tag.h"(91)
+
+//____________________________________________________________________________
+// HammingDistance
+
+typedef Tag<_HammingDistance> HammingDistance;         // "projects/library/seqan/basic/basic_tag.h"(53)
+
+//____________________________________________________________________________
+// Hirschberg
+
+typedef Tag<Hirschberg_> const Hirschberg;             // "projects/library/seqan/basic/basic_tag.h"(119)
+
+//____________________________________________________________________________
+// Iupac
+
+typedef SimpleType<unsigned char, _Iupac> Iupac;               // "projects/library/seqan/basic/basic_alphabet_simple.h"(1059)
+
+//____________________________________________________________________________
+// LevenshteinDistance
+
+typedef Tag<_LevenshteinDistance> LevenshteinDistance;         // "projects/library/seqan/basic/basic_tag.h"(54)
+
+//____________________________________________________________________________
+// MinimalCtor
+
+typedef Tag<MinimalCtor_> const MinimalCtor;           // "projects/library/seqan/basic/basic_definition.h"(74)
+
+//____________________________________________________________________________
+// Move
+
+typedef Tag<Move_> const Move;         // "projects/library/seqan/basic/basic_definition.h"(61)
+
+//____________________________________________________________________________
+// MyersBitVector
+
+typedef Tag<MyersBitVector_> const MyersBitVector;             // "projects/library/seqan/basic/basic_tag.h"(101)
+
+//____________________________________________________________________________
+// MyersHirschberg
+
+typedef Tag<MyersHirschberg_> const MyersHirschberg;           // "projects/library/seqan/basic/basic_tag.h"(110)
+
+//____________________________________________________________________________
+// NeedlemanWunsch
+
+typedef Tag<NeedlemanWunsch_> const NeedlemanWunsch;           // "projects/library/seqan/basic/basic_tag.h"(82)
+
+//____________________________________________________________________________
+// NonMinimalCtor
+
+typedef Tag<NonMinimalCtor_> const NonMinimalCtor;             // "projects/library/seqan/basic/basic_definition.h"(78)
+
+//____________________________________________________________________________
+// Nussinov
+
+typedef Tag<Nussinov_> const Nussinov;         // "projects/library/seqan/basic/basic_tag.h"(164)
+
+//____________________________________________________________________________
+// PoolAllocator
+
+typedef Allocator<MultiPool<Allocator<SimpleAlloc<Default> >, 0x100> > PoolAllocator;          // "projects/library/seqan/basic/basic_allocator_multipool.h"(54)
+
+//____________________________________________________________________________
+// Rooted
+
+typedef Tag<TagRooted_> const Rooted;          // "projects/library/seqan/basic/basic_iterator.h"(49)
+
+//____________________________________________________________________________
+// SimpleAllocator
+
+typedef Allocator<SimpleAlloc<Default> > SimpleAllocator;              // "projects/library/seqan/basic/basic_allocator_simple.h"(51)
+
+//____________________________________________________________________________
+// SmithWaterman
+
+typedef Tag<SmithWaterman_> const SmithWaterman;               // "projects/library/seqan/basic/basic_tag.h"(137)
+
+//____________________________________________________________________________
+// SmithWatermanClump
+
+typedef Tag<SmithWatermanClump_> const SmithWatermanClump;             // "projects/library/seqan/basic/basic_tag.h"(146)
+
+//____________________________________________________________________________
+// SmithWatermanIsland
+
+typedef Tag<SmithWatermanIsland_> const SmithWatermanIsland;           // "projects/library/seqan/basic/basic_tag.h"(155)
+
+//____________________________________________________________________________
+// Standard
+
+typedef Tag<TagStandard_> const Standard;              // "projects/library/seqan/basic/basic_iterator.h"(52)
+
+//____________________________________________________________________________
+// TagAllocateStorage
+
+typedef Tag<TagAllocateStorage_> const TagAllocateStorage;             // "projects/library/seqan/basic/basic_allocator_interface.h"(85)
+
+//____________________________________________________________________________
+// TagAllocateTemp
+
+typedef Tag<TagAllocateTemp_> const TagAllocateTemp;           // "projects/library/seqan/basic/basic_allocator_interface.h"(82)
+
+//____________________________________________________________________________
+// TagAllocateUnspecified
+
+typedef Tag<TagAllocateUnspecified_> const TagAllocateUnspecified;             // "projects/library/seqan/basic/basic_allocator_interface.h"(79)
+
+//____________________________________________________________________________
+// Unicode
+
+typedef wchar_t Unicode;               // "projects/library/seqan/basic/basic_alphabet_interface.h"(63)
+
+} //namespace SEQAN_NAMESPACE_MAIN
+
+
+//////////////////////////////////////////////////////////////////////////////
+// FUNCTIONS
+//////////////////////////////////////////////////////////////////////////////
+
+namespace SEQAN_NAMESPACE_MAIN {
+namespace debug {
+
+//____________________________________________________________________________
+// Error
+
+template <typename TAction> void Error(const char * file, int line, const char * comment);             // "projects/library/seqan/basic/basic_debug.h"(250)
+
+//____________________________________________________________________________
+// Message
+
+template <typename TAction> void Message(const char * file, int line, const char * comment);           // "projects/library/seqan/basic/basic_debug.h"(260)
+
+//____________________________________________________________________________
+// Result
+
+template <typename TAction> void Result(const char * file, int line, const char * comment);            // "projects/library/seqan/basic/basic_debug.h"(269)
+
+//____________________________________________________________________________
+// checkpoint
+
+inline bool checkpoint(unsigned int line, char const* file);           // "projects/library/seqan/basic/basic_debug.h"(321)
+
+//____________________________________________________________________________
+// testCheckpoint
+
+inline void testCheckpoint(char const* file, unsigned int line);               // "projects/library/seqan/basic/basic_debug.h"(338)
+
+//____________________________________________________________________________
+// verifyCheckpoints
+
+inline void verifyCheckpoints(char const* file);               // "projects/library/seqan/basic/basic_debug.h"(346)
+
+} //namespace debug
+} //namespace SEQAN_NAMESPACE_MAIN
+//////////////////////////////////////////////////////////////////////////////
+
+namespace SEQAN_NAMESPACE_MAIN {
+
+//____________________________________________________________________________
+// _allocatorBlockNumber
+
+template <typename TParentAllocator, unsigned int BLOCKING_LIMIT> inline unsigned int _allocatorBlockNumber(Allocator<MultiPool<TParentAllocator, BLOCKING_LIMIT> > &, size_t size_);          // "projects/library/seqan/basic/basic_allocator_multipool.h"(140)
+
+//____________________________________________________________________________
+// _arrayClearSpace_Default
+
+template <typename TIterator> void _arrayClearSpace_Default(TIterator array_begin, size_t array_length, size_t keep_from, size_t move_to);             // "projects/library/seqan/basic/basic_alphabet_interface.h"(774)
+
+//____________________________________________________________________________
+// _arrayClearSpace_Pointer
+
+template <typename TValue> inline void _arrayClearSpace_Pointer(TValue * array_begin, size_t array_length, size_t keep_from, size_t move_to, True);            // "projects/library/seqan/basic/basic_alphabet_trait_basic.h"(342)
+template <typename TValue> inline void _arrayClearSpace_Pointer(TValue * array_begin, size_t array_length, size_t keep_from, size_t move_to, False);           // "projects/library/seqan/basic/basic_alphabet_trait_basic.h"(354)
+
+//____________________________________________________________________________
+// _arrayConstructCopy_Default
+
+template <typename TTarget, typename TSource1, typename TSource2> inline void _arrayConstructCopy_Default(TSource1 source_begin, TSource2 source_end, TTarget target_begin);           // "projects/library/seqan/basic/basic_alphabet_interface.h"(349)
+
+//____________________________________________________________________________
+// _arrayConstructCopy_Pointer
+
+template <typename TValue> inline void _arrayConstructCopy_Pointer(TValue * source_begin, TValue * source_end, TValue * target_begin, True);           // "projects/library/seqan/basic/basic_alphabet_trait_basic.h"(100)
+template <typename TValue> inline void _arrayConstructCopy_Pointer(TValue * source_begin, TValue * source_end, TValue * target_begin, False);          // "projects/library/seqan/basic/basic_alphabet_trait_basic.h"(110)
+
+//____________________________________________________________________________
+// _arrayConstructMove_Default
+
+template <typename TTarget, typename TSource1, typename TSource2> inline void _arrayConstructMove_Default(TSource1 source_begin, TSource2 source_end, TTarget target_begin);           // "projects/library/seqan/basic/basic_alphabet_interface.h"(397)
+
+//____________________________________________________________________________
+// _arrayConstructMove_Pointer
+
+template <typename TValue> inline void _arrayConstructMove_Pointer(TValue * source_begin, TValue * source_end, TValue * target_begin, True);           // "projects/library/seqan/basic/basic_alphabet_trait_basic.h"(134)
+template <typename TValue> inline void _arrayConstructMove_Pointer(TValue * source_begin, TValue * source_end, TValue * target_begin, False);          // "projects/library/seqan/basic/basic_alphabet_trait_basic.h"(144)
+
+//____________________________________________________________________________
+// _arrayConstruct_Default
+
+template <typename TIterator1, typename TIterator2> inline void _arrayConstruct_Default(TIterator1 begin_, TIterator2 end_);           // "projects/library/seqan/basic/basic_alphabet_interface.h"(280)
+template <typename TIterator1, typename TIterator2, typename TParam> inline void _arrayConstruct_Default(TIterator1 begin_, TIterator2 end_, TParam const & param_);           // "projects/library/seqan/basic/basic_alphabet_interface.h"(304)
+
+//____________________________________________________________________________
+// _arrayConstruct_Pointer
+
+template <typename TIterator> inline void _arrayConstruct_Pointer(TIterator, TIterator, True);         // "projects/library/seqan/basic/basic_alphabet_trait_basic.h"(36)
+template <typename TIterator> inline void _arrayConstruct_Pointer(TIterator begin_, TIterator end_, False);            // "projects/library/seqan/basic/basic_alphabet_trait_basic.h"(45)
+template <typename TIterator, typename TParam> inline void _arrayConstruct_Pointer(TIterator begin_, TIterator end_, TParam const & param_, True);             // "projects/library/seqan/basic/basic_alphabet_trait_basic.h"(66)
+template <typename TIterator, typename TParam> inline void _arrayConstruct_Pointer(TIterator begin_, TIterator end_, TParam const & param_, False);            // "projects/library/seqan/basic/basic_alphabet_trait_basic.h"(76)
+
+//____________________________________________________________________________
+// _arrayCopyBackward_Default
+
+template <typename TTarget, typename TSource1, typename TSource2> inline void _arrayCopyBackward_Default(TSource1 source_begin, TSource2 source_end, TTarget target_begin);            // "projects/library/seqan/basic/basic_alphabet_interface.h"(547)
+
+//____________________________________________________________________________
+// _arrayCopyBackward_Pointer
+
+template <typename TValue> inline void _arrayCopyBackward_Pointer(TValue * source_begin, TValue * source_end, TValue * target_begin, True);            // "projects/library/seqan/basic/basic_alphabet_trait_basic.h"(239)
+template <typename TValue> inline void _arrayCopyBackward_Pointer(TValue * source_begin, TValue * source_end, TValue * target_begin, False);           // "projects/library/seqan/basic/basic_alphabet_trait_basic.h"(249)
+
+//____________________________________________________________________________
+// _arrayCopyForward_Default
+
+template <typename TTarget, typename TSource1, typename TSource2> inline void _arrayCopyForward_Default(TSource1 source_begin, TSource2 source_end, TTarget target_begin);             // "projects/library/seqan/basic/basic_alphabet_interface.h"(504)
+
+//____________________________________________________________________________
+// _arrayCopyForward_Pointer
+
+template <typename TValue> inline void _arrayCopyForward_Pointer(TValue * source_begin, TValue * source_end, TValue * target_begin, True);             // "projects/library/seqan/basic/basic_alphabet_trait_basic.h"(205)
+template <typename TValue> inline void _arrayCopyForward_Pointer(TValue * source_begin, TValue * source_end, TValue * target_begin, False);            // "projects/library/seqan/basic/basic_alphabet_trait_basic.h"(215)
+
+//____________________________________________________________________________
+// _arrayDestruct_Default
+
+template <typename TIterator1, typename TIterator2> inline void _arrayDestruct_Default(TIterator1 begin_, TIterator2 end_);            // "projects/library/seqan/basic/basic_alphabet_interface.h"(436)
+
+//____________________________________________________________________________
+// _arrayDestruct_Pointer
+
+template <typename TValue> inline void _arrayDestruct_Pointer(TValue * , TValue * , True);             // "projects/library/seqan/basic/basic_alphabet_trait_basic.h"(167)
+template <typename TValue> inline void _arrayDestruct_Pointer(TValue * begin_, TValue * end_, False);          // "projects/library/seqan/basic/basic_alphabet_trait_basic.h"(176)
+
+//____________________________________________________________________________
+// _arrayMoveBackward_Default
+
+template <typename TTarget, typename TSource1, typename TSource2> inline void _arrayMoveBackward_Default(TSource1 source_begin, TSource2 source_end, TTarget target_begin);            // "projects/library/seqan/basic/basic_alphabet_interface.h"(679)
+
+//____________________________________________________________________________
+// _arrayMoveBackward_Pointer
+
+template <typename TValue> inline void _arrayMoveBackward_Pointer(TValue * source_begin, TValue * source_end, TValue * target_begin, True);            // "projects/library/seqan/basic/basic_alphabet_trait_basic.h"(307)
+template <typename TValue> inline void _arrayMoveBackward_Pointer(TValue * source_begin, TValue * source_end, TValue * target_begin, False);           // "projects/library/seqan/basic/basic_alphabet_trait_basic.h"(317)
+
+//____________________________________________________________________________
+// _arrayMoveForward_Default
+
+template <typename TTarget, typename TSource1, typename TSource2> inline void _arrayMoveForward_Default(TSource1 source_begin, TSource2 source_end, TTarget target_begin);             // "projects/library/seqan/basic/basic_alphabet_interface.h"(630)
+
+//____________________________________________________________________________
+// _arrayMoveForward_Pointer
+
+template <typename TValue> inline void _arrayMoveForward_Pointer(TValue * source_begin, TValue * source_end, TValue * target_begin, True);             // "projects/library/seqan/basic/basic_alphabet_trait_basic.h"(273)
+template <typename TValue> inline void _arrayMoveForward_Pointer(TValue * source_begin, TValue * source_end, TValue * target_begin, False);            // "projects/library/seqan/basic/basic_alphabet_trait_basic.h"(283)
+
+//____________________________________________________________________________
+// _intPow
+
+template <typename TValue, typename TExponent> inline TValue _intPow(TValue a, TExponent b);           // "projects/library/seqan/basic/basic_definition.h"(334)
+
+//____________________________________________________________________________
+// _isSameType
+
+template <typename T1, typename T2> inline bool _isSameType();         // "projects/library/seqan/basic/basic_definition.h"(393)
+
+//____________________________________________________________________________
+// _max
+
+template <typename _Ty> inline const _Ty& _max(const _Ty& _Left, const _Ty& _Right);           // "projects/library/seqan/basic/basic_definition.h"(367)
+
+//____________________________________________________________________________
+// _min
+
+template <typename _Tx> inline const _Tx& _min(const _Tx& _Left, const _Tx& _Right);           // "projects/library/seqan/basic/basic_definition.h"(352)
+template <typename _Tx, typename _Ty> inline _Tx _min(const _Tx& _Left, const _Ty& _Right);            // "projects/library/seqan/basic/basic_definition.h"(361)
+
+//____________________________________________________________________________
+// _toParameter
+
+template <typename T> typename _Parameter<T>::Type _toParameter(T * _object);          // "projects/library/seqan/basic/basic_type.h"(447)
+template <typename T> typename _Parameter<T>::Type _toParameter(T _object);            // "projects/library/seqan/basic/basic_type.h"(454)
+
+//____________________________________________________________________________
+// _toPointer
+
+template <typename T> typename _Pointer<T>::Type _toPointer(T & _object);              // "projects/library/seqan/basic/basic_type.h"(553)
+template <typename T> typename _Pointer<T const>::Type _toPointer(T const & _object);          // "projects/library/seqan/basic/basic_type.h"(560)
+template <typename T> typename _Pointer<T *>::Type _toPointer(T * _object);            // "projects/library/seqan/basic/basic_type.h"(568)
+
+//____________________________________________________________________________
+// addRef
+
+template <typename T> inline void addRef(T & );        // "projects/library/seqan/basic/basic_holder.h"(45)
+template <typename T> inline void addRef(T const & );          // "projects/library/seqan/basic/basic_holder.h"(51)
+
+//____________________________________________________________________________
+// allocate
+
+template <size_t SIZE, typename TParentAllocator, typename TValue, typename TSize, typename TUsage> inline void allocate(Allocator<SinglePool<SIZE, TParentAllocator> > & me, TValue * & data, TSize count, Tag<TUsage> const tag_);           // "projects/library/seqan/basic/basic_allocator_singlepool.h"(162)
+template <typename TValue, typename TParentAllocator, typename TValue2, typename TSize, typename TUsage> inline void allocate(Allocator<SinglePool2<TValue, TParentAllocator> > & me, TValue2 * & data, TSize count, Tag<TUsage> const tag_);          // "projects/library/seqan/basic/basic_allocator_singlepool.h"(279)
+template <typename TParentAllocator, unsigned int BLOCKING_LIMIT, typename TValue, typename TSize, typename TUsage> inline void allocate(Allocator<MultiPool<TParentAllocator, BLOCKING_LIMIT> > & me, TValue * & data, TSize count, Tag<TUsage> const tag_);          // "projects/library/seqan/basic/basic_allocator_multipool.h"(165)
+template <typename TParentAllocator, typename TValue, typename TSize, typename TUsage> inline void allocate(Allocator<SimpleAlloc<TParentAllocator> > & me, TValue * & data, TSize count, Tag<TUsage> const);          // "projects/library/seqan/basic/basic_allocator_simple.h"(146)
+template <typename T, typename TValue, typename TSize> inline void allocate(T const & me, TValue * & data, TSize count);               // "projects/library/seqan/basic/basic_allocator_interface.h"(129)
+template <typename T, typename TValue, typename TSize> inline void allocate(T & me, TValue * & data, TSize count);             // "projects/library/seqan/basic/basic_allocator_interface.h"(137)
+template <typename T, typename TValue, typename TSize, typename TUsage> inline void allocate(T const &, TValue * & data, TSize count, Tag<TUsage> const);              // "projects/library/seqan/basic/basic_allocator_interface.h"(147)
+template <typename T, typename TValue, typename TSize, typename TUsage> inline void allocate(T &, TValue * & data, TSize count, Tag<TUsage> const);            // "projects/library/seqan/basic/basic_allocator_interface.h"(158)
+//template <size_t SIZE, size_t MAX_COUNT, typename TParentAllocator, typename TValue, typename TSize, typename TUsage> inline void allocate(Allocator<ChunkPool<SIZE, MAX_COUNT, TParentAllocator> > & me, TValue * & data, TSize count, Tag<TUsage> const tag_);             // "projects/library/seqan/basic/basic_allocator_chunkpool.h"(173)
+template <typename TValue, size_t MAX_COUNT, typename TParentAllocator, typename TValue2, typename TSize, typename TUsage> inline void allocate(Allocator<ChunkPool2<TValue, MAX_COUNT, TParentAllocator> > & me, TValue2 * & data, TSize count, Tag<TUsage> const tag_);              // "projects/library/seqan/basic/basic_allocator_chunkpool.h"(302)
+
+//____________________________________________________________________________
+// arrayClearSpace
+
+template <typename TIterator> void arrayClearSpace(TIterator array_begin, size_t array_length, size_t keep_from, size_t move_to);              // "projects/library/seqan/basic/basic_alphabet_interface.h"(818)
+template <typename TValue> void arrayClearSpace(TValue * array_begin, size_t array_length, size_t keep_from, size_t move_to);          // "projects/library/seqan/basic/basic_alphabet_trait_basic.h"(362)
+
+//____________________________________________________________________________
+// arrayConstruct
+
+template <typename TIterator1, typename TIterator2> inline void arrayConstruct(TIterator1 begin_, TIterator2 end_);            // "projects/library/seqan/basic/basic_alphabet_interface.h"(292)
+template <typename TIterator1, typename TIterator2, typename TParam> inline void arrayConstruct(TIterator1 begin_, TIterator2 end_, TParam const & param_);            // "projects/library/seqan/basic/basic_alphabet_interface.h"(317)
+template <typename TValue> inline void arrayConstruct(TValue * begin_, TValue * end_);         // "projects/library/seqan/basic/basic_alphabet_trait_basic.h"(53)
+template <typename TValue, typename TParam> inline void arrayConstruct(TValue * begin_, TValue * end_, TParam const & param_);         // "projects/library/seqan/basic/basic_alphabet_trait_basic.h"(85)
+
+//____________________________________________________________________________
+// arrayConstructCopy
+
+template <typename TTarget, typename TSource1, typename TSource2> inline void arrayConstructCopy(TSource1 source_begin, TSource2 source_end, TTarget target_begin);            // "projects/library/seqan/basic/basic_alphabet_interface.h"(364)
+template <typename TValue> inline void arrayConstructCopy(TValue * source_begin, TValue * source_end, TValue * target_begin);          // "projects/library/seqan/basic/basic_alphabet_trait_basic.h"(119)
+
+//____________________________________________________________________________
+// arrayConstructMove
+
+template <typename TTarget, typename TSource1, typename TSource2> inline void arrayConstructMove(TSource1 source_begin, TSource2 source_end, TTarget target_begin);            // "projects/library/seqan/basic/basic_alphabet_interface.h"(412)
+template <typename TValue> inline void arrayConstructMove(TValue * source_begin, TValue * source_end, TValue * target_begin);          // "projects/library/seqan/basic/basic_alphabet_trait_basic.h"(153)
+
+//____________________________________________________________________________
+// arrayCopy
+
+template <typename TTarget, typename TSource1, typename TSource2> inline void arrayCopy(TSource1 source_begin, TSource2 source_end, TTarget target_begin);             // "projects/library/seqan/basic/basic_alphabet_interface.h"(591)
+
+//____________________________________________________________________________
+// arrayCopyBackward
+
+template <typename TTarget, typename TSource1, typename TSource2> inline void arrayCopyBackward(TSource1 source_begin, TSource2 source_end, TTarget target_begin);             // "projects/library/seqan/basic/basic_alphabet_interface.h"(556)
+template <typename TValue> inline void arrayCopyBackward(TValue * source_begin, TValue * source_end, TValue * target_begin);           // "projects/library/seqan/basic/basic_alphabet_trait_basic.h"(258)
+
+//____________________________________________________________________________
+// arrayCopyForward
+
+template <typename TTarget, typename TSource1, typename TSource2> inline void arrayCopyForward(TSource1 source_begin, TSource2 source_end, TTarget target_begin);              // "projects/library/seqan/basic/basic_alphabet_interface.h"(513)
+template <typename TValue> inline void arrayCopyForward(TValue * source_begin, TValue * source_end, TValue * target_begin);            // "projects/library/seqan/basic/basic_alphabet_trait_basic.h"(224)
+
+//____________________________________________________________________________
+// arrayDestruct
+
+template <typename TIterator1, typename TIterator2> inline void arrayDestruct(TIterator1 begin_, TIterator2 end_);             // "projects/library/seqan/basic/basic_alphabet_interface.h"(448)
+template <typename TValue> inline void arrayDestruct(TValue * begin_, TValue * end_);          // "projects/library/seqan/basic/basic_alphabet_trait_basic.h"(184)
+
+//____________________________________________________________________________
+// arrayFill
+
+template <typename TIterator1, typename TIterator2, typename TValue> inline void arrayFill(TIterator1 begin_, TIterator2 end_, TValue const & value);          // "projects/library/seqan/basic/basic_alphabet_interface.h"(474)
+
+//____________________________________________________________________________
+// arrayMove
+
+template <typename TTarget, typename TSource1, typename TSource2> inline void arrayMove(TSource1 source_begin, TSource2 source_end, TTarget target_begin);             // "projects/library/seqan/basic/basic_alphabet_interface.h"(732)
+
+//____________________________________________________________________________
+// arrayMoveBackward
+
+template <typename TTarget, typename TSource1, typename TSource2> inline void arrayMoveBackward(TSource1 source_begin, TSource2 source_end, TTarget target_begin);             // "projects/library/seqan/basic/basic_alphabet_interface.h"(694)
+template <typename TValue> inline void arrayMoveBackward(TValue * source_begin, TValue * source_end, TValue * target_begin);           // "projects/library/seqan/basic/basic_alphabet_trait_basic.h"(326)
+
+//____________________________________________________________________________
+// arrayMoveForward
+
+template <typename TTarget, typename TSource1, typename TSource2> inline void arrayMoveForward(TSource1 source_begin, TSource2 source_end, TTarget target_begin);              // "projects/library/seqan/basic/basic_alphabet_interface.h"(644)
+template <typename TValue> inline void arrayMoveForward(TValue * source_begin, TValue * source_end, TValue * target_begin);            // "projects/library/seqan/basic/basic_alphabet_trait_basic.h"(292)
+
+//____________________________________________________________________________
+// assign
+
+template <typename TTargetValue, typename TTargetSpec, typename TSourceValue, typename TSourceSpec> inline void assign(SimpleType<TTargetValue, TTargetSpec> & target, SimpleType<TSourceValue, TSourceSpec> & source);        // "projects/library/seqan/basic/basic_alphabet_simple.h"(294)
+template <typename TTargetValue, typename TTargetSpec, typename TSourceValue, typename TSourceSpec> inline void assign(SimpleType<TTargetValue, TTargetSpec> & target, SimpleType<TSourceValue, TSourceSpec> const & source);          // "projects/library/seqan/basic/basic_alphabet_simple.h"(302)
+template <typename TTargetValue, typename TTargetSpec, typename TSource> inline void assign(SimpleType<TTargetValue, TTargetSpec> & target, TSource & source);         // "projects/library/seqan/basic/basic_alphabet_simple.h"(313)
+template <typename TTargetValue, typename TTargetSpec, typename TSource> inline void assign(SimpleType<TTargetValue, TTargetSpec> & target, TSource const & source);           // "projects/library/seqan/basic/basic_alphabet_simple.h"(321)
+template <typename TTargetValue, typename TTargetSpec, typename TSourceSpec> inline void assign(SimpleType<TTargetValue, TTargetSpec> & target, Proxy<TSourceSpec> & source);          // "projects/library/seqan/basic/basic_alphabet_simple.h"(334)
+template <typename TTargetValue, typename TTargetSpec, typename TSourceSpec> inline void assign(SimpleType<TTargetValue, TTargetSpec> & target, Proxy<TSourceSpec> const & source);            // "projects/library/seqan/basic/basic_alphabet_simple.h"(343)
+template <typename TValue, typename TSpec> inline void assign(int & c_target, SimpleType<TValue, TSpec> & source);             // "projects/library/seqan/basic/basic_alphabet_simple.h"(358)
+template <typename TValue, typename TSpec> inline void assign(int & c_target, SimpleType<TValue, TSpec> const & source);               // "projects/library/seqan/basic/basic_alphabet_simple.h"(366)
+template <typename TValue, typename TSpec> inline void assign(unsigned int & c_target, SimpleType<TValue, TSpec> & source);            // "projects/library/seqan/basic/basic_alphabet_simple.h"(376)
+template <typename TValue, typename TSpec> inline void assign(unsigned int & c_target, SimpleType<TValue, TSpec> const & source);              // "projects/library/seqan/basic/basic_alphabet_simple.h"(384)
+template <typename TValue, typename TSpec> inline void assign(short & c_target, SimpleType<TValue, TSpec> & source);           // "projects/library/seqan/basic/basic_alphabet_simple.h"(394)
+template <typename TValue, typename TSpec> inline void assign(short & c_target, SimpleType<TValue, TSpec> const & source);             // "projects/library/seqan/basic/basic_alphabet_simple.h"(402)
+template <typename TValue, typename TSpec> inline void assign(unsigned short & c_target, SimpleType<TValue, TSpec> & source);          // "projects/library/seqan/basic/basic_alphabet_simple.h"(412)
+template <typename TValue, typename TSpec> inline void assign(unsigned short & c_target, SimpleType<TValue, TSpec> const & source);            // "projects/library/seqan/basic/basic_alphabet_simple.h"(420)
+template <typename TValue, typename TSpec> inline void assign(char & c_target, SimpleType<TValue, TSpec> & source);            // "projects/library/seqan/basic/basic_alphabet_simple.h"(430)
+template <typename TValue, typename TSpec> inline void assign(char & c_target, SimpleType<TValue, TSpec> const & source);              // "projects/library/seqan/basic/basic_alphabet_simple.h"(438)
+template <typename TValue, typename TSpec> inline void assign(signed char & c_target, SimpleType<TValue, TSpec> & source);             // "projects/library/seqan/basic/basic_alphabet_simple.h"(448)
+template <typename TValue, typename TSpec> inline void assign(signed char & c_target, SimpleType<TValue, TSpec> const & source);               // "projects/library/seqan/basic/basic_alphabet_simple.h"(456)
+template <typename TValue, typename TSpec> inline void assign(unsigned char & c_target, SimpleType<TValue, TSpec> & source);           // "projects/library/seqan/basic/basic_alphabet_simple.h"(466)
+template <typename TValue, typename TSpec> inline void assign(unsigned char & c_target, SimpleType<TValue, TSpec> const & source);             // "projects/library/seqan/basic/basic_alphabet_simple.h"(474)
+inline void assign(Ascii & c_target, Dna const & source);              // "projects/library/seqan/basic/basic_alphabet_simple.h"(1096)
+inline void assign(Ascii & c_target, Dna5 const & source);             // "projects/library/seqan/basic/basic_alphabet_simple.h"(1104)
+inline void assign(Ascii & c_target, Iupac const & source);            // "projects/library/seqan/basic/basic_alphabet_simple.h"(1111)
+inline void assign(Ascii & c_target, AminoAcid const & source);        // "projects/library/seqan/basic/basic_alphabet_simple.h"(1118)
+inline void assign(Dna & target, Byte c_source);               // "projects/library/seqan/basic/basic_alphabet_simple.h"(1129)
+inline void assign(Dna & target, Ascii c_source);              // "projects/library/seqan/basic/basic_alphabet_simple.h"(1138)
+inline void assign(Dna & target, Unicode c_source);            // "projects/library/seqan/basic/basic_alphabet_simple.h"(1147)
+inline void assign(Dna & target, Dna5 const & c_source);               // "projects/library/seqan/basic/basic_alphabet_simple.h"(1156)
+inline void assign(Dna & target, Iupac const & source);        // "projects/library/seqan/basic/basic_alphabet_simple.h"(1165)
+inline void assign(Dna5 & target, Byte c_source);              // "projects/library/seqan/basic/basic_alphabet_simple.h"(1176)
+inline void assign(Dna5 & target, Ascii c_source);             // "projects/library/seqan/basic/basic_alphabet_simple.h"(1185)
+inline void assign(Dna5 & target, Unicode c_source);           // "projects/library/seqan/basic/basic_alphabet_simple.h"(1194)
+inline void assign(Dna5 & target, Iupac const & source);               // "projects/library/seqan/basic/basic_alphabet_simple.h"(1203)
+inline void assign(Dna5 & target, Dna const & c_source);               // "projects/library/seqan/basic/basic_alphabet_simple.h"(1213)
+inline void assign(Iupac & target, Byte c_source);             // "projects/library/seqan/basic/basic_alphabet_simple.h"(1224)
+inline void assign(Iupac & target, Ascii c_source);            // "projects/library/seqan/basic/basic_alphabet_simple.h"(1233)
+inline void assign(Iupac & target, Unicode c_source);          // "projects/library/seqan/basic/basic_alphabet_simple.h"(1242)
+inline void assign(Iupac & target, Dna const & source);        // "projects/library/seqan/basic/basic_alphabet_simple.h"(1249)
+inline void assign(Iupac & target, Dna5 const & source);               // "projects/library/seqan/basic/basic_alphabet_simple.h"(1256)
+inline void assign(AminoAcid & target, Byte c_source);         // "projects/library/seqan/basic/basic_alphabet_simple.h"(1267)
+inline void assign(AminoAcid & target, Ascii c_source);        // "projects/library/seqan/basic/basic_alphabet_simple.h"(1276)
+inline void assign(AminoAcid & target, Unicode c_source);              // "projects/library/seqan/basic/basic_alphabet_simple.h"(1285)
+template <typename TTarget, typename TSource> inline void assign(TTarget & target, TSource & source);          // "projects/library/seqan/basic/basic_transport.h"(52)
+template <typename TTarget, typename TSource> inline void assign(TTarget & target, TSource const & source);            // "projects/library/seqan/basic/basic_transport.h"(60)
+template <typename TTargetSpec, typename TSource> inline void assign(Proxy<TTargetSpec> & target, TSource & source);           // "projects/library/seqan/basic/basic_transport.h"(73)
+template <typename TTargetSpec, typename TSource> inline void assign(Proxy<TTargetSpec> & target, TSource const & source);             // "projects/library/seqan/basic/basic_transport.h"(82)
+template <typename TTargetContainer, typename TSource> inline void assign(Iter<TTargetContainer, PositionIterator> & target, TSource const & source);          // "projects/library/seqan/basic/basic_iterator_position.h"(440)
+template <typename TValue> inline void assign(Holder<TValue, Tristate> & target_, Holder<TValue, Tristate> const & source_);           // "projects/library/seqan/basic/basic_holder.h"(554)
+template <typename TValue> inline void assign(Holder<TValue, Simple> & target_, Holder<TValue, Simple> const & source_);               // "projects/library/seqan/basic/basic_holder.h"(774)
+template <typename TValue> inline void assign(Holder<TValue, Tristate2> & target_, Holder<TValue, Tristate2> const & source_);         // "projects/library/seqan/basic/basic_holder.h"(1091)
+template <typename TTargetContainer, typename TIterator, typename TSpec, typename TSource> inline void assign(Iter<TTargetContainer, AdaptorIterator<TIterator, TSpec> > & target, TSource const & source);            // "projects/library/seqan/basic/basic_iterator_adaptor.h"(514)
+template <typename TTargetContainer, typename TSource> inline void assign(Iter<TTargetContainer, StdIteratorAdaptor> & target, TSource const & source);        // "projects/library/seqan/basic/basic_iterator_adapt_std.h"(427)
+
+//____________________________________________________________________________
+// assignHost
+
+template <typename T, typename THost> inline void assignHost(T & me, THost & host_);           // "projects/library/seqan/basic/basic_host.h"(135)
+template <typename T, typename THost> inline void assignHost(T & me, THost const & host_);             // "projects/library/seqan/basic/basic_host.h"(143)
+
+//____________________________________________________________________________
+// assignValue
+
+template <typename TContainer, typename TValue> inline void assignValue(Iter<TContainer, PositionIterator> & me, TValue _value);               // "projects/library/seqan/basic/basic_iterator_position.h"(184)
+template <typename TContainer, typename TValue> inline void assignValue(Iter<TContainer, PositionIterator> const & me, TValue _value);         // "projects/library/seqan/basic/basic_iterator_position.h"(192)
+template <typename TValue, typename TSource> inline void assignValue(Holder<TValue, Tristate> & me, TSource const & value_);           // "projects/library/seqan/basic/basic_holder.h"(512)
+template <typename TValue, typename TSource> inline void assignValue(Holder<TValue, Simple> & me, TSource const & value_);             // "projects/library/seqan/basic/basic_holder.h"(752)
+template <typename TValue, typename TSource> inline void assignValue(Holder<TValue, Tristate2> & me, TSource const & value_);          // "projects/library/seqan/basic/basic_holder.h"(1049)
+template <typename T, typename TValue> inline void assignValue(T & me, TValue const & _value);         // "projects/library/seqan/basic/basic_iterator.h"(258)
+template <typename T, typename TValue> inline void assignValue(T const & me, TValue const & _value);           // "projects/library/seqan/basic/basic_iterator.h"(268)
+template <typename TContainer, typename TIterator, typename TSpec, typename TValue> inline void assignValue(Iter<TContainer, AdaptorIterator<TIterator, TSpec> > & me, TValue const & _value);         // "projects/library/seqan/basic/basic_iterator_adaptor.h"(288)
+template <typename TContainer, typename TIterator, typename TSpec, typename TValue> inline void assignValue(Iter<TContainer, AdaptorIterator<TIterator, TSpec> > const & me, TValue const & _value);           // "projects/library/seqan/basic/basic_iterator_adaptor.h"(296)
+template <typename TContainer, typename TValue> inline void assignValue(Iter<TContainer, StdIteratorAdaptor> & me, TValue & val);              // "projects/library/seqan/basic/basic_iterator_adapt_std.h"(165)
+template <typename TContainer, typename TValue> inline void assignValue(Iter<TContainer, StdIteratorAdaptor> & me, TValue const & val);        // "projects/library/seqan/basic/basic_iterator_adapt_std.h"(172)
+
+//____________________________________________________________________________
+// assignValueAt
+
+template <typename TObject, typename TPos, typename TSource> inline TSource & assignValueAt(TObject &me, TPos k, TSource &source);             // "projects/library/seqan/basic/basic_aggregates.h"(442)
+template <typename TObject, typename TPos, typename TSource> inline TSource const & assignValueAt(TObject &me, TPos k, TSource const &source);         // "projects/library/seqan/basic/basic_aggregates.h"(449)
+template <typename TTT, unsigned _size, typename SSS, typename TPos> inline SSS const assignValueAt(Tuple<TTT, _size, void> &me, TPos k, SSS const source);            // "projects/library/seqan/basic/basic_aggregates.h"(455)
+template <typename TTT, unsigned _size, typename SSS, typename TPos> inline SSS const assignValueAt(Tuple<TTT, _size, Compressed> &me, TPos k, SSS const source);              // "projects/library/seqan/basic/basic_aggregates.h"(460)
+template <typename TTT, typename SSS, typename SSSpec, unsigned _size, typename TPos> inline SimpleType<SSS, SSSpec> const & assignValueAt(Tuple<TTT, _size, Compressed> &me, TPos k, SimpleType<SSS, SSSpec> const &source);          // "projects/library/seqan/basic/basic_aggregates.h"(468)
+
+//____________________________________________________________________________
+// assignValueI1
+
+template <typename T1, typename T2, typename TCompression, typename T> inline void assignValueI1(Pair<T1, T2, TCompression> &pair, T const &_i);               // "projects/library/seqan/basic/basic_aggregates.h"(613)
+template <typename T1, typename T2, unsigned valueSizeI1, typename T> inline void assignValueI1(Pair<T1, T2, CutCompressed<valueSizeI1> > &pair, T const &_i);         // "projects/library/seqan/basic/basic_aggregates.h"(624)
+template <typename T1, typename T2, typename T3, typename TCompression, typename T> inline T const assignValueI1(Triple<T1, T2, T3, TCompression> &triple, T const &_i);               // "projects/library/seqan/basic/basic_aggregates.h"(638)
+
+//____________________________________________________________________________
+// assignValueI2
+
+template <typename T1, typename T2, typename TCompression, typename T> inline void assignValueI2(Pair<T1, T2, TCompression> &pair, T const &_i);               // "projects/library/seqan/basic/basic_aggregates.h"(618)
+template <typename T1, typename T2, unsigned valueSizeI1, typename T> inline void assignValueI2(Pair<T1, T2, CutCompressed<valueSizeI1> > &pair, T const &_i);         // "projects/library/seqan/basic/basic_aggregates.h"(631)
+template <typename T1, typename T2, typename T3, typename TCompression, typename T> inline T const assignValueI2(Triple<T1, T2, T3, TCompression> &triple, T const &_i);               // "projects/library/seqan/basic/basic_aggregates.h"(643)
+
+//____________________________________________________________________________
+// assignValueI3
+
+template <typename T1, typename T2, typename T3, typename TCompression, typename T> inline T const assignValueI3(Triple<T1, T2, T3, TCompression> &triple, T const &_i);               // "projects/library/seqan/basic/basic_aggregates.h"(648)
+
+//____________________________________________________________________________
+// atBegin
+
+template <typename T, typename TContainer> inline bool atBegin(T const & it, TContainer const & cont);         // "projects/library/seqan/basic/basic_iterator.h"(394)
+template <typename T> inline bool atBegin(T const & it);               // "projects/library/seqan/basic/basic_iterator.h"(404)
+
+//____________________________________________________________________________
+// atEnd
+
+template <typename T, typename TContainer> inline bool atEnd(T & it, TContainer const & cont);         // "projects/library/seqan/basic/basic_iterator.h"(435)
+template <typename T, typename TContainer> inline bool atEnd(T const & it, TContainer const & cont);           // "projects/library/seqan/basic/basic_iterator.h"(443)
+template <typename T> inline bool atEnd(T & it);               // "projects/library/seqan/basic/basic_iterator.h"(452)
+template <typename T> inline bool atEnd(T const & it);         // "projects/library/seqan/basic/basic_iterator.h"(459)
+template <typename TContainer, typename TIterator, typename TSpec> inline bool atEnd(Iter<TContainer, AdaptorIterator<TIterator, TSpec> > & me);               // "projects/library/seqan/basic/basic_iterator_adaptor.h"(501)
+
+//____________________________________________________________________________
+// atNil
+
+template <typename TIterator> inline bool atNil(TIterator & me);               // "projects/library/seqan/basic/basic_iterator.h"(714)
+template <typename TIterator> inline bool atNil(TIterator * me);               // "projects/library/seqan/basic/basic_iterator.h"(723)
+
+//____________________________________________________________________________
+// call_allocate
+
+template <typename TMe, typename TValue, typename TSize> inline void call_allocate(TMe & me, TValue * & data, TSize const count);              // "projects/library/seqan/basic/basic_allocator_to_std.h"(33)
+
+//____________________________________________________________________________
+// call_deallocate
+
+template <typename TMe, typename TValue, typename TSize> inline void call_deallocate(TMe & me, TValue * data, TSize const count);              // "projects/library/seqan/basic/basic_allocator_to_std.h"(38)
+
+//____________________________________________________________________________
+// clear
+
+template <size_t SIZE, typename TParentAllocator> void clear(Allocator<SinglePool<SIZE, TParentAllocator> > & me);             // "projects/library/seqan/basic/basic_allocator_singlepool.h"(146)
+template <typename TValue, typename TParentAllocator> void clear(Allocator<SinglePool2<TValue, TParentAllocator> > & me);              // "projects/library/seqan/basic/basic_allocator_singlepool.h"(266)
+template <typename TValue> inline void clear(Holder<TValue, Tristate> & me);           // "projects/library/seqan/basic/basic_holder.h"(314)
+template <typename TValue> inline void clear(Holder<TValue, Simple> & me);             // "projects/library/seqan/basic/basic_holder.h"(685)
+template <typename TValue> inline void clear(Holder<TValue, Tristate2> & me);          // "projects/library/seqan/basic/basic_holder.h"(901)
+template <typename TParentAllocator, unsigned int BLOCKING_LIMIT> void clear(Allocator<MultiPool<TParentAllocator, BLOCKING_LIMIT> > & me);            // "projects/library/seqan/basic/basic_allocator_multipool.h"(125)
+template <typename TParentAllocator> void clear(Allocator<SimpleAlloc<TParentAllocator> > & me);               // "projects/library/seqan/basic/basic_allocator_simple.h"(126)
+//template <size_t SIZE, size_t MAX_COUNT, typename TParentAllocator> void clear(Allocator<ChunkPool<SIZE, MAX_COUNT, TParentAllocator> > & me);               // "projects/library/seqan/basic/basic_allocator_chunkpool.h"(157)
+template <typename TValue, size_t MAX_COUNT, typename TParentAllocator> void clear(Allocator<ChunkPool2<TValue, MAX_COUNT, TParentAllocator> > & me);          // "projects/library/seqan/basic/basic_allocator_chunkpool.h"(289)
+template <typename TTT, unsigned _size, typename TCompression> inline void clear(Tuple<TTT, _size, TCompression> &me);         // "projects/library/seqan/basic/basic_aggregates.h"(479)
+template <typename TTT, unsigned _size> inline void clear(Tuple<TTT, _size, Compressed> &me);          // "projects/library/seqan/basic/basic_aggregates.h"(483)
+
+//____________________________________________________________________________
+// clearHost
+
+template <typename T> inline void clearHost(T & me);           // "projects/library/seqan/basic/basic_host.h"(59)
+
+//____________________________________________________________________________
+// container
+
+template <typename T> inline typename Container<T>::Type container(T me);              // "projects/library/seqan/basic/basic_iterator.h"(328)
+
+//____________________________________________________________________________
+// convert
+
+template <typename TTarget, typename TSource> inline typename Convert<TTarget, TSource>::Type convert(TSource const & source);         // "projects/library/seqan/basic/basic_converter.h"(110)
+
+//____________________________________________________________________________
+// convertImpl
+
+template <typename TTarget, typename T, typename TSourceValue, typename TSourceSpec> inline typename _RemoveConst<TTarget>::Type convertImpl(Convert<TTarget, T> const, SimpleType<TSourceValue, TSourceSpec> const & source_);        // "projects/library/seqan/basic/basic_alphabet_simple.h"(247)
+template <typename TTarget, typename T, typename TSpec> inline typename Convert<TTarget, Proxy<TSpec> >::Type convertImpl(Convert<TTarget, T> const, Proxy<TSpec> & source);           // "projects/library/seqan/basic/basic_proxy.h"(264)
+template <typename TTarget, typename T, typename TSpec> inline typename Convert<TTarget, Proxy<TSpec> const>::Type convertImpl(Convert<TTarget, T> const, Proxy<TSpec> const & source);        // "projects/library/seqan/basic/basic_proxy.h"(271)
+template <typename TTarget, typename T, typename TSource> inline typename Convert<TTarget, TSource>::Type convertImpl(Convert<TTarget, T> const, TSource & source);            // "projects/library/seqan/basic/basic_converter.h"(78)
+template <typename TTarget, typename T, typename TSource> inline typename Convert<TTarget, TSource const>::Type convertImpl(Convert<TTarget, T> const, TSource const & source);        // "projects/library/seqan/basic/basic_converter.h"(85)
+
+//____________________________________________________________________________
+// create
+
+template <typename TValue> inline void create(Holder<TValue, Tristate> & me);          // "projects/library/seqan/basic/basic_holder.h"(361)
+template <typename TValue> inline void create(Holder<TValue, Tristate> & me, typename _Parameter<TValue const>::Type value_);          // "projects/library/seqan/basic/basic_holder.h"(395)
+template <typename TValue> inline void create(Holder<TValue, Simple> & me);            // "projects/library/seqan/basic/basic_holder.h"(694)
+template <typename TValue> inline void create(Holder<TValue, Simple> & me, TValue const & value_);             // "projects/library/seqan/basic/basic_holder.h"(704)
+template <typename TValue> inline void create(Holder<TValue, Tristate2> & me);         // "projects/library/seqan/basic/basic_holder.h"(932)
+template <typename TValue> inline void create(Holder<TValue, Tristate2> & me, TValue const & value_);          // "projects/library/seqan/basic/basic_holder.h"(966)
+
+//____________________________________________________________________________
+// createHost
+
+template <typename T> inline void createHost(T & me);          // "projects/library/seqan/basic/basic_host.h"(69)
+template <typename T, typename THost> inline void createHost(T & me, THost & host_);           // "projects/library/seqan/basic/basic_host.h"(80)
+template <typename T, typename THost> inline void createHost(T & me, THost const & host_);             // "projects/library/seqan/basic/basic_host.h"(88)
+
+//____________________________________________________________________________
+// deallocate
+
+template <size_t SIZE, typename TParentAllocator, typename TValue, typename TSize, typename TUsage> inline void deallocate(Allocator<SinglePool<SIZE, TParentAllocator> > & me, TValue * data, TSize count, Tag<TUsage> const tag_);           // "projects/library/seqan/basic/basic_allocator_singlepool.h"(202)
+template <typename TValue, typename TParentAllocator, typename TValue2, typename TSize, typename TUsage> inline void deallocate(Allocator<SinglePool2<TValue, TParentAllocator> > & me, TValue2 * data, TSize count, Tag<TUsage> const tag_);          // "projects/library/seqan/basic/basic_allocator_singlepool.h"(290)
+template <typename TParentAllocator, unsigned int BLOCKING_LIMIT, typename TValue, typename TSize, typename TUsage> inline void deallocate(Allocator<MultiPool<TParentAllocator, BLOCKING_LIMIT> > & me, TValue * data, TSize count, Tag<TUsage> const tag_);          // "projects/library/seqan/basic/basic_allocator_multipool.h"(207)
+template <typename TParentAllocator, typename TValue, typename TSize, typename TUsage> inline void deallocate(Allocator<SimpleAlloc<TParentAllocator> > & me, TValue * data, TSize, Tag<TUsage> const);        // "projects/library/seqan/basic/basic_allocator_simple.h"(181)
+template <typename T, typename TValue, typename TSize> inline void deallocate(T const & me, TValue * data, TSize const count);         // "projects/library/seqan/basic/basic_allocator_interface.h"(198)
+template <typename T, typename TValue, typename TSize> inline void deallocate(T & me, TValue * data, TSize const count);               // "projects/library/seqan/basic/basic_allocator_interface.h"(206)
+template <typename T, typename TValue, typename TSize, typename TUsage> inline void deallocate(T const & , TValue * data, TSize count, Tag<TUsage> const);             // "projects/library/seqan/basic/basic_allocator_interface.h"(216)
+template <typename T, typename TValue, typename TSize, typename TUsage> inline void deallocate(T & , TValue * data, TSize count, Tag<TUsage> const);           // "projects/library/seqan/basic/basic_allocator_interface.h"(227)
+//template <size_t SIZE, size_t MAX_COUNT, typename TParentAllocator, typename TValue, typename TSize, typename TUsage> inline void deallocate(Allocator<ChunkPool<SIZE, MAX_COUNT, TParentAllocator> > & me, TValue * data, TSize count, Tag<TUsage> const tag_);             // "projects/library/seqan/basic/basic_allocator_chunkpool.h"(222)
+template <typename TValue, size_t MAX_COUNT, typename TParentAllocator, typename TValue2, typename TSize, typename TUsage> inline void deallocate(Allocator<ChunkPool2<TValue, MAX_COUNT, TParentAllocator> > & me, TValue2 * data, TSize count, Tag<TUsage> const tag_);              // "projects/library/seqan/basic/basic_allocator_chunkpool.h"(313)
+
+//____________________________________________________________________________
+// dependent
+
+template <typename TValue> inline bool dependent(Holder<TValue, Tristate> const & me);         // "projects/library/seqan/basic/basic_holder.h"(300)
+template <typename TValue> inline bool dependent(Holder<TValue, Simple> const & me);           // "projects/library/seqan/basic/basic_holder.h"(675)
+template <typename TValue> inline bool dependent(Holder<TValue, Tristate2> const & me);        // "projects/library/seqan/basic/basic_holder.h"(887)
+
+//____________________________________________________________________________
+// dependentHost
+
+template <typename T> inline bool dependentHost(T const & me);         // "projects/library/seqan/basic/basic_host.h"(49)
+
+//____________________________________________________________________________
+// detach
+
+template <typename TValue> inline void detach(Holder<TValue, Tristate> & me);          // "projects/library/seqan/basic/basic_holder.h"(430)
+template <typename TValue> inline void detach(Holder<TValue, Simple> & me);            // "projects/library/seqan/basic/basic_holder.h"(714)
+template <typename TValue> inline void detach(Holder<TValue, Tristate2> & me);         // "projects/library/seqan/basic/basic_holder.h"(987)
+
+//____________________________________________________________________________
+// difference
+
+template <typename TIterator> inline typename Difference<TIterator>::Type difference( TIterator const & begin, TIterator const & end);         // "projects/library/seqan/basic/basic_iterator.h"(657)
+
+//____________________________________________________________________________
+// empty
+
+template <typename TValue> inline bool empty(Holder<TValue, Tristate> const & me);             // "projects/library/seqan/basic/basic_holder.h"(288)
+template <typename TValue> inline bool empty(Holder<TValue, Simple> const & me);               // "projects/library/seqan/basic/basic_holder.h"(665)
+template <typename TValue> inline bool empty(Holder<TValue, Tristate2> const & me);            // "projects/library/seqan/basic/basic_holder.h"(875)
+
+//____________________________________________________________________________
+// emptyHost
+
+template <typename T> inline bool emptyHost(T const & me);             // "projects/library/seqan/basic/basic_host.h"(39)
+
+//____________________________________________________________________________
+// gapValue
+
+template <typename T> inline T const & gapValue();             // "projects/library/seqan/basic/basic_alphabet_interface2.h"(71)
+
+//____________________________________________________________________________
+// gapValueImpl
+
+inline char const & gapValueImpl(char *);              // "projects/library/seqan/basic/basic_alphabet_trait_basic.h"(400)
+inline char const & gapValueImpl(char const *);        // "projects/library/seqan/basic/basic_alphabet_trait_basic.h"(407)
+template <typename T> inline T const & gapValueImpl(T *);              // "projects/library/seqan/basic/basic_alphabet_interface2.h"(48)
+
+//____________________________________________________________________________
+// getValue
+
+template <typename TSpec> typename GetValue<Proxy<TSpec> >::Type getValue(Proxy<TSpec> & me);          // "projects/library/seqan/basic/basic_proxy.h"(235)
+template <typename TSpec> typename GetValue<Proxy<TSpec> const>::Type getValue(Proxy<TSpec> const & me);               // "projects/library/seqan/basic/basic_proxy.h"(241)
+template <typename T> inline typename GetValue<T>::Type getValue(T & me);              // "projects/library/seqan/basic/basic_iterator.h"(210)
+template <typename T> inline typename GetValue<T const>::Type getValue(T const & me);          // "projects/library/seqan/basic/basic_iterator.h"(217)
+template <typename T> inline T & getValue(T * me);             // "projects/library/seqan/basic/basic_iterator.h"(225)
+
+//____________________________________________________________________________
+// getValueI1
+
+template <typename T1, typename T2, typename TCompression> inline T1 getValueI1(Pair<T1, T2, TCompression> const &pair);               // "projects/library/seqan/basic/basic_aggregates.h"(572)
+template <typename T1, typename T2, unsigned valueSizeI1> inline T1 getValueI1(Pair<T1, T2, CutCompressed<valueSizeI1> > const &pair);         // "projects/library/seqan/basic/basic_aggregates.h"(582)
+template <typename T1, typename T2, typename T3, typename TCompression> inline T1 getValueI1(Triple<T1, T2, T3, TCompression> const &triple);          // "projects/library/seqan/basic/basic_aggregates.h"(595)
+
+//____________________________________________________________________________
+// getValueI2
+
+template <typename T1, typename T2, typename TCompression> inline T2 getValueI2(Pair<T1, T2, TCompression> const &pair);               // "projects/library/seqan/basic/basic_aggregates.h"(577)
+template <typename T1, typename T2, unsigned valueSizeI1> inline T2 getValueI2(Pair<T1, T2, CutCompressed<valueSizeI1> > const &pair);         // "projects/library/seqan/basic/basic_aggregates.h"(588)
+template <typename T1, typename T2, typename T3, typename TCompression> inline T2 getValueI2(Triple<T1, T2, T3, TCompression> const &triple);          // "projects/library/seqan/basic/basic_aggregates.h"(600)
+
+//____________________________________________________________________________
+// getValueI3
+
+template <typename T1, typename T2, typename T3, typename TCompression> inline T3 getValueI3(Triple<T1, T2, T3, TCompression> const &triple);          // "projects/library/seqan/basic/basic_aggregates.h"(605)
+
+//____________________________________________________________________________
+// goBegin
+
+template <typename TIterator, typename TContainer> inline void goBegin(TIterator & it, TContainer & container);        // "projects/library/seqan/basic/basic_iterator.h"(488)
+template <typename TIterator> inline void goBegin(TIterator & it);             // "projects/library/seqan/basic/basic_iterator.h"(506)
+
+//____________________________________________________________________________
+// goEnd
+
+template <typename TIterator, typename TContainer> inline void goEnd(TIterator & it, TContainer & container);          // "projects/library/seqan/basic/basic_iterator.h"(536)
+template <typename TIterator, typename TContainer> inline void goEnd(TIterator & it, TContainer const & container);            // "projects/library/seqan/basic/basic_iterator.h"(544)
+template <typename TIterator> inline void goEnd(TIterator & it);               // "projects/library/seqan/basic/basic_iterator.h"(552)
+
+//____________________________________________________________________________
+// goFurther
+
+template <typename TIterator, typename TDiff> inline void goFurther(TIterator & it, TDiff steps);              // "projects/library/seqan/basic/basic_iterator.h"(602)
+
+//____________________________________________________________________________
+// goNext
+
+template <typename TContainer> inline void goNext(Iter<TContainer, PositionIterator> & me);            // "projects/library/seqan/basic/basic_iterator_position.h"(295)
+template <typename TIterator> inline void goNext(TIterator & it);              // "projects/library/seqan/basic/basic_iterator.h"(576)
+template <typename TContainer, typename TIterator, typename TSpec> inline void goNext(Iter<TContainer, AdaptorIterator<TIterator, TSpec> > & me);              // "projects/library/seqan/basic/basic_iterator_adaptor.h"(355)
+template <typename TContainer> inline void goNext(Iter<TContainer, StdIteratorAdaptor> & me);          // "projects/library/seqan/basic/basic_iterator_adapt_std.h"(280)
+
+//____________________________________________________________________________
+// goNil
+
+template <typename TIterator> inline void goNil(TIterator & me);               // "projects/library/seqan/basic/basic_iterator.h"(681)
+template <typename TIterator> inline void goNil(TIterator * & me);             // "projects/library/seqan/basic/basic_iterator.h"(689)
+
+//____________________________________________________________________________
+// goPrevious
+
+template <typename TContainer> inline void goPrevious(Iter<TContainer, PositionIterator> & me);        // "projects/library/seqan/basic/basic_iterator_position.h"(307)
+template <typename TIterator> inline void goPrevious(TIterator & it);          // "projects/library/seqan/basic/basic_iterator.h"(626)
+template <typename TContainer, typename TIterator, typename TSpec> inline void goPrevious(Iter<TContainer, AdaptorIterator<TIterator, TSpec> > & me);          // "projects/library/seqan/basic/basic_iterator_adaptor.h"(367)
+template <typename TContainer> inline void goPrevious(Iter<TContainer, StdIteratorAdaptor> & me);              // "projects/library/seqan/basic/basic_iterator_adapt_std.h"(292)
+
+//____________________________________________________________________________
+// host
+
+template <typename T> inline typename Host<T>::Type & host(T & me);            // "projects/library/seqan/basic/basic_host.h"(117)
+template <typename T> inline typename Host<T const>::Type & host(T const & me);        // "projects/library/seqan/basic/basic_host.h"(124)
+
+//____________________________________________________________________________
+// hostIterator
+
+template <typename TContainer> inline typename StdContainerIterator<TContainer>::Type & hostIterator(Iter<TContainer, StdIteratorAdaptor> & me);               // "projects/library/seqan/basic/basic_iterator_adapt_std.h"(129)
+template <typename TContainer> inline typename StdContainerIterator<TContainer>::Type const & hostIterator(Iter<TContainer, StdIteratorAdaptor> const & me);           // "projects/library/seqan/basic/basic_iterator_adapt_std.h"(135)
+
+//____________________________________________________________________________
+// infimumValue
+
+template <typename T> inline T const & infimumValue();         // "projects/library/seqan/basic/basic_alphabet_interface2.h"(169)
+
+//____________________________________________________________________________
+// infimumValueImpl
+
+template <typename T> inline T const & infimumValueImpl(T *);          // "projects/library/seqan/basic/basic_alphabet_trait_basic.h"(427)
+inline float const & infimumValueImpl(float *);        // "projects/library/seqan/basic/basic_alphabet_trait_basic.h"(666)
+inline double const & infimumValueImpl(double *);              // "projects/library/seqan/basic/basic_alphabet_trait_basic.h"(693)
+inline long double const & infimumValueImpl(long double *);            // "projects/library/seqan/basic/basic_alphabet_trait_basic.h"(720)
+
+//____________________________________________________________________________
+// length
+
+template <typename TTT, unsigned _size, typename TCompression> inline unsigned length(Tuple<TTT, _size, TCompression> const &);        // "projects/library/seqan/basic/basic_aggregates.h"(428)
+
+//____________________________________________________________________________
+// lexLess
+
+template <typename TTT, typename TSpec> inline bool lexLess(SimpleType<TTT, TSpec> const &Left, SimpleType<TTT, TSpec> const &Right);          // "projects/library/seqan/basic/basic_alphabet_simple.h"(948)
+template <typename TTT> inline bool lexLess(const TTT& Left, const TTT& Right);        // "projects/library/seqan/basic/basic_compare.h"(52)
+
+//____________________________________________________________________________
+// log2
+
+// projects/library/seqan/basic/basic_definition.h(322)
+//template <typename TTT> inline unsigned int log2(TTT v);
+
+//____________________________________________________________________________
+// memset
+
+template <unsigned SIZE> finline void memset(void* ptr, unsigned char c);              // "projects/library/seqan/basic/basic_metaprogramming.h"(241)
+template <unsigned SIZE, unsigned char c> finline void memset(void* ptr);              // "projects/library/seqan/basic/basic_metaprogramming.h"(287)
+
+//____________________________________________________________________________
+// move
+
+template <typename TTarget, typename TSource> inline void move(TTarget & target, TSource & source);            // "projects/library/seqan/basic/basic_transport.h"(108)
+template <typename TTarget, typename TSource> inline void move(TTarget const & target, TSource & source);              // "projects/library/seqan/basic/basic_transport.h"(116)
+template <typename TTarget, typename TSource> inline void move(TTarget & target, TSource const & source);              // "projects/library/seqan/basic/basic_transport.h"(124)
+template <typename TTarget, typename TSource> inline void move(TTarget const & target, TSource const & source);        // "projects/library/seqan/basic/basic_transport.h"(132)
+
+//____________________________________________________________________________
+// moveHost
+
+template <typename T, typename THost> inline void moveHost(T & me, THost & host_);             // "projects/library/seqan/basic/basic_host.h"(153)
+template <typename T, typename THost> inline void moveHost(T & me, THost const & host_);               // "projects/library/seqan/basic/basic_host.h"(161)
+
+//____________________________________________________________________________
+// moveValue
+
+template <typename TContainer, typename TValue> inline void moveValue(Iter<TContainer, PositionIterator> & me, TValue _value);         // "projects/library/seqan/basic/basic_iterator_position.h"(205)
+template <typename TContainer, typename TValue> inline void moveValue(Iter<TContainer, PositionIterator> const & me, TValue _value);           // "projects/library/seqan/basic/basic_iterator_position.h"(213)
+template <typename TValue, typename TSource> inline void moveValue(Holder<TValue, Tristate> & me, TSource const & value_);             // "projects/library/seqan/basic/basic_holder.h"(533)
+template <typename TValue, typename TSource> inline void moveValue(Holder<TValue, Simple> & me, TSource const & value_);               // "projects/library/seqan/basic/basic_holder.h"(763)
+template <typename TValue, typename TSource> inline void moveValue(Holder<TValue, Tristate2> & me, TSource const & value_);            // "projects/library/seqan/basic/basic_holder.h"(1070)
+template <typename T, typename TValue> inline void moveValue(T & me, TValue const & _value);           // "projects/library/seqan/basic/basic_iterator.h"(297)
+template <typename T, typename TValue> inline void moveValue(T const & me, TValue const & _value);             // "projects/library/seqan/basic/basic_iterator.h"(306)
+template <typename TContainer, typename TIterator, typename TSpec, typename TValue> inline void moveValue(Iter<TContainer, AdaptorIterator<TIterator, TSpec> > & me, TValue const & _value);           // "projects/library/seqan/basic/basic_iterator_adaptor.h"(309)
+template <typename TContainer, typename TIterator, typename TSpec, typename TValue> inline void moveValue(Iter<TContainer, AdaptorIterator<TIterator, TSpec> > const & me, TValue const & _value);             // "projects/library/seqan/basic/basic_iterator_adaptor.h"(317)
+template <typename TContainer, typename TValue> inline void moveValue(Iter<TContainer, StdIteratorAdaptor> & me, TValue & val);        // "projects/library/seqan/basic/basic_iterator_adapt_std.h"(184)
+template <typename TContainer, typename TValue> inline void moveValue(Iter<TContainer, StdIteratorAdaptor> & me, TValue const & val);          // "projects/library/seqan/basic/basic_iterator_adapt_std.h"(191)
+
+//____________________________________________________________________________
+// nukeCopies
+
+template <typename TValue> inline void nukeCopies(TValue* &);          // "projects/library/seqan/basic/basic_volatile_ptr.h"(152)
+template <typename TValue> inline void nukeCopies(VolatilePtr<TValue> &ptr);           // "projects/library/seqan/basic/basic_volatile_ptr.h"(155)
+
+//____________________________________________________________________________
+// operator!=
+
+template <typename TValue, typename TSpec, typename TRight> inline bool operator!= (SimpleType<TValue, TSpec> const & left_, TRight const & right_);           // "projects/library/seqan/basic/basic_alphabet_simple.h"(594)
+template <typename TLeft, typename TValue, typename TSpec> inline bool operator!= (TLeft const & left_, SimpleType<TValue, TSpec> const & right_);             // "projects/library/seqan/basic/basic_alphabet_simple.h"(605)
+template <typename TLeftValue, typename TLeftSpec, typename TRightValue, typename TRightSpec> inline bool operator!= (SimpleType<TLeftValue, TLeftSpec> const & left_, SimpleType<TRightValue, TRightSpec> const & right_);            // "projects/library/seqan/basic/basic_alphabet_simple.h"(616)
+template <typename TValue, typename TSpec> inline bool operator!= (SimpleType<TValue, TSpec> const & left_, SimpleType<TValue, TSpec> const & right_);         // "projects/library/seqan/basic/basic_alphabet_simple.h"(628)
+template <typename TSpec, typename TValue, typename TSpec2> inline bool operator!= (Proxy<TSpec> const & left_, SimpleType<TValue, TSpec2> const & right_);            // "projects/library/seqan/basic/basic_alphabet_simple.h"(638)
+template <typename TSpec, typename TValue, typename TSpec2> inline bool operator!= (SimpleType<TValue, TSpec2> const & left_, Proxy<TSpec> const & right_);            // "projects/library/seqan/basic/basic_alphabet_simple.h"(649)
+template <typename TContainer> inline bool operator!= (Iter<TContainer, PositionIterator> const & left, Iter<TContainer, PositionIterator> const & right);             // "projects/library/seqan/basic/basic_iterator_position.h"(239)
+template <typename TSpec, typename TRight> inline bool operator!= (Proxy<TSpec> const & left_, TRight const & right_);         // "projects/library/seqan/basic/basic_proxy.h"(328)
+template <typename TLeft, typename TSpec> inline bool operator!= (TLeft const & left_, Proxy<TSpec> const & right_);           // "projects/library/seqan/basic/basic_proxy.h"(339)
+template <typename TLeftSpec, typename TRightSpec> inline bool operator!= (Proxy<TLeftSpec> const & left_, Proxy<TRightSpec> const & right_);          // "projects/library/seqan/basic/basic_proxy.h"(350)
+template <typename TSpec> inline bool operator!= (Proxy<TSpec> const & left_, Proxy<TSpec> const & right_);            // "projects/library/seqan/basic/basic_proxy.h"(362)
+template <typename TContainer, typename TIterator, typename TSpec> inline bool operator!= (Iter<TContainer, AdaptorIterator<TIterator, TSpec> > const & left, Iter<TContainer, AdaptorIterator<TIterator, TSpec> > const & right);             // "projects/library/seqan/basic/basic_iterator_adaptor.h"(343)
+template <typename TTT, unsigned _sizeL, unsigned _sizeR> inline bool operator!=(Tuple<TTT, _sizeL, Compressed> const &_left, Tuple<TTT, _sizeR, Compressed> const &_right);           // "projects/library/seqan/basic/basic_aggregates.h"(503)
+template <typename L1, typename L2, typename LCompression, typename R1, typename R2, typename RCompression> inline bool operator!=(Pair<L1, L2, LCompression> const &_left, Pair<R1, R2, RCompression> const &_right);         // "projects/library/seqan/basic/basic_aggregates.h"(660)
+template <typename L1, typename L2, unsigned LSizeI1, typename R1, typename R2, unsigned RSizeI1> inline bool operator!=(Pair<L1, L2, CutCompressed<LSizeI1> > const &_left, Pair<R1, R2, CutCompressed<RSizeI1> > const &_right);             // "projects/library/seqan/basic/basic_aggregates.h"(669)
+template <typename L1, typename L2, typename L3, typename LCompression, typename R1, typename R2, typename R3, typename RCompression> inline bool operator!=(Triple<L1, L2, L3, LCompression> const &_left, Triple<R1, R2, R3, RCompression> const &_right);           // "projects/library/seqan/basic/basic_aggregates.h"(683)
+template <typename TContainer> inline bool operator!= (Iter<TContainer, StdIteratorAdaptor> const & left, Iter<TContainer, StdIteratorAdaptor> const & right);         // "projects/library/seqan/basic/basic_iterator_adapt_std.h"(216)
+
+//____________________________________________________________________________
+// operator*
+
+template <typename TContainer, typename TSpec> inline typename Reference<Iter<TContainer, TSpec> >::Type operator* (Iter<TContainer, TSpec> & me);             // "projects/library/seqan/basic/basic_iterator_base.h"(143)
+template <typename TContainer, typename TSpec> inline typename Reference<Iter<TContainer, TSpec> const>::Type operator* (Iter<TContainer, TSpec> const & me);          // "projects/library/seqan/basic/basic_iterator_base.h"(150)
+
+//____________________________________________________________________________
+// operator+
+
+template <typename TContainer, typename TIntegral> inline Iter<TContainer, PositionIterator> operator+ (Iter<TContainer, PositionIterator> const & left, TIntegral right);             // "projects/library/seqan/basic/basic_iterator_position.h"(319)
+template <typename TContainer> inline Iter<TContainer, PositionIterator> operator+ (Iter<TContainer, PositionIterator> const & left, int right);               // "projects/library/seqan/basic/basic_iterator_position.h"(328)
+template <typename TContainer, typename TIntegral> inline Iter<TContainer, PositionIterator> operator+ (TIntegral left, Iter<TContainer, PositionIterator> const & right);             // "projects/library/seqan/basic/basic_iterator_position.h"(337)
+template <typename TContainer> inline Iter<TContainer, PositionIterator> operator+ (int left, Iter<TContainer, PositionIterator> const & right);               // "projects/library/seqan/basic/basic_iterator_position.h"(346)
+template <typename TContainer, typename TIterator, typename TSpec, typename TIntegral> inline Iter<TContainer, AdaptorIterator<TIterator, TSpec> > operator+ (Iter<TContainer, AdaptorIterator<TIterator, TSpec> > const & left, TIntegral right);             // "projects/library/seqan/basic/basic_iterator_adaptor.h"(380)
+template <typename TContainer, typename TIterator, typename TSpec> inline Iter<TContainer, AdaptorIterator<TIterator, TSpec> > operator+ (Iter<TContainer, AdaptorIterator<TIterator, TSpec> > const & left, int right);               // "projects/library/seqan/basic/basic_iterator_adaptor.h"(389)
+template <typename TContainer, typename TIterator, typename TSpec, typename TIntegral> inline Iter<TContainer, AdaptorIterator<TIterator, TSpec> > operator+ (TIntegral left, Iter<TContainer, AdaptorIterator<TIterator, TSpec> > const & right);             // "projects/library/seqan/basic/basic_iterator_adaptor.h"(398)
+template <typename TContainer, typename TIterator, typename TSpec> inline Iter<TContainer, AdaptorIterator<TIterator, TSpec> > operator+ (int left, Iter<TContainer, AdaptorIterator<TIterator, TSpec> > const & right);               // "projects/library/seqan/basic/basic_iterator_adaptor.h"(407)
+template <typename TContainer, typename TIntegral> inline Iter<TContainer, StdIteratorAdaptor> operator+ (Iter<TContainer, StdIteratorAdaptor> const & left, TIntegral right);         // "projects/library/seqan/basic/basic_iterator_adapt_std.h"(305)
+template <typename TContainer> inline Iter<TContainer, StdIteratorAdaptor> operator+ (Iter<TContainer, StdIteratorAdaptor> const & left, int right);           // "projects/library/seqan/basic/basic_iterator_adapt_std.h"(314)
+template <typename TContainer, typename TIntegral> inline Iter<TContainer, StdIteratorAdaptor> operator+ (TIntegral left, Iter<TContainer, StdIteratorAdaptor> const & right);         // "projects/library/seqan/basic/basic_iterator_adapt_std.h"(323)
+template <typename TContainer> inline Iter<TContainer, StdIteratorAdaptor> operator+ (int left, Iter<TContainer, StdIteratorAdaptor> const & right);           // "projects/library/seqan/basic/basic_iterator_adapt_std.h"(332)
+
+//____________________________________________________________________________
+// operator++
+
+template <typename TValue, typename TSpec> inline SimpleType<TValue, TSpec> & operator++ (SimpleType<TValue, TSpec> & me);             // "projects/library/seqan/basic/basic_alphabet_simple.h"(958)
+template <typename TValue, typename TSpec> inline SimpleType<TValue, TSpec> operator++ (SimpleType<TValue, TSpec> & me, int);          // "projects/library/seqan/basic/basic_alphabet_simple.h"(966)
+template <typename TContainer, typename TSpec> inline Iter<TContainer, TSpec> const & operator++ (Iter<TContainer, TSpec> & me);               // "projects/library/seqan/basic/basic_iterator_base.h"(162)
+template <typename TContainer, typename TSpec> inline Iter<TContainer, TSpec> const operator++ (Iter<TContainer, TSpec> & me, int);            // "projects/library/seqan/basic/basic_iterator_base.h"(171)
+
+//____________________________________________________________________________
+// operator+=
+
+template <typename TContainer, typename TIntegral> inline Iter<TContainer, PositionIterator> & operator+= (Iter<TContainer, PositionIterator> & left, TIntegral right);        // "projects/library/seqan/basic/basic_iterator_position.h"(359)
+template <typename TContainer> inline Iter<TContainer, PositionIterator> & operator+= (Iter<TContainer, PositionIterator> & left, int right);          // "projects/library/seqan/basic/basic_iterator_position.h"(369)
+template <typename TContainer, typename TIterator, typename TSpec, typename TIntegral> inline Iter<TContainer, AdaptorIterator<TIterator, TSpec> > & operator+= (Iter<TContainer, AdaptorIterator<TIterator, TSpec> > & left, TIntegral right);        // "projects/library/seqan/basic/basic_iterator_adaptor.h"(420)
+template <typename TContainer, typename TIterator, typename TSpec> inline Iter<TContainer, AdaptorIterator<TIterator, TSpec> > & operator+= (Iter<TContainer, AdaptorIterator<TIterator, TSpec> > & left, int right);          // "projects/library/seqan/basic/basic_iterator_adaptor.h"(430)
+template <typename TContainer, typename TIntegral> inline Iter<TContainer, StdIteratorAdaptor> & operator+= (Iter<TContainer, StdIteratorAdaptor> & left, TIntegral right);            // "projects/library/seqan/basic/basic_iterator_adapt_std.h"(345)
+template <typename TContainer> inline Iter<TContainer, StdIteratorAdaptor> & operator+= (Iter<TContainer, StdIteratorAdaptor> & left, int right);              // "projects/library/seqan/basic/basic_iterator_adapt_std.h"(355)
+
+//____________________________________________________________________________
+// operator-
+
+template <typename TContainer, typename TIntegral> inline Iter<TContainer, PositionIterator> operator- (Iter<TContainer, PositionIterator> const & left, TIntegral right);             // "projects/library/seqan/basic/basic_iterator_position.h"(383)
+template <typename TContainer> inline Iter<TContainer, PositionIterator> operator- (Iter<TContainer, PositionIterator> const & left, int right);               // "projects/library/seqan/basic/basic_iterator_position.h"(392)
+template <typename TContainer> inline typename Difference<TContainer>::Type operator- (Iter<TContainer, PositionIterator> const & left, Iter<TContainer, PositionIterator> const & right);             // "projects/library/seqan/basic/basic_iterator_position.h"(403)
+template <typename TContainer, typename TIterator, typename TSpec, typename TIntegral> inline Iter<TContainer, AdaptorIterator<TIterator, TSpec> > operator- (Iter<TContainer, AdaptorIterator<TIterator, TSpec> > const & left, TIntegral right);             // "projects/library/seqan/basic/basic_iterator_adaptor.h"(444)
+template <typename TContainer, typename TIterator, typename TSpec> inline Iter<TContainer, AdaptorIterator<TIterator, TSpec> > operator- (Iter<TContainer, AdaptorIterator<TIterator, TSpec> > const & left, int right);               // "projects/library/seqan/basic/basic_iterator_adaptor.h"(453)
+template <typename TContainer, typename TIterator, typename TSpec> inline typename Difference<Iter<TContainer, AdaptorIterator<TIterator, TSpec> > >::Type operator- (Iter<TContainer, AdaptorIterator<TIterator, TSpec> > const & left, Iter<TContainer, AdaptorIterator<TIterator, TSpec> > const & right);          // "projects/library/seqan/basic/basic_iterator_adaptor.h"(464)
+template <typename TContainer, typename TIntegral> inline Iter<TContainer, StdIteratorAdaptor> operator- (Iter<TContainer, StdIteratorAdaptor> const & left, TIntegral right);         // "projects/library/seqan/basic/basic_iterator_adapt_std.h"(369)
+template <typename TContainer> inline Iter<TContainer, StdIteratorAdaptor> operator- (Iter<TContainer, StdIteratorAdaptor> const & left, int right);           // "projects/library/seqan/basic/basic_iterator_adapt_std.h"(378)
+template <typename TContainer> inline typename Difference<Iter<TContainer, StdIteratorAdaptor> >::Type operator- (Iter<TContainer, StdIteratorAdaptor> const & left, Iter<TContainer, StdIteratorAdaptor> const & right);              // "projects/library/seqan/basic/basic_iterator_adapt_std.h"(389)
+
+//____________________________________________________________________________
+// operator--
+
+template <typename TValue, typename TSpec> inline SimpleType<TValue, TSpec> & operator-- (SimpleType<TValue, TSpec> & me);             // "projects/library/seqan/basic/basic_alphabet_simple.h"(977)
+template <typename TValue, typename TSpec> inline SimpleType<TValue, TSpec> operator-- (SimpleType<TValue, TSpec> & me, int);          // "projects/library/seqan/basic/basic_alphabet_simple.h"(985)
+template <typename TContainer, typename TSpec> inline Iter<TContainer, TSpec> const & operator-- (Iter<TContainer, TSpec> & me);               // "projects/library/seqan/basic/basic_iterator_base.h"(185)
+template <typename TContainer, typename TSpec> inline Iter<TContainer, TSpec> const operator-- (Iter<TContainer, TSpec> & me, int);            // "projects/library/seqan/basic/basic_iterator_base.h"(194)
+
+//____________________________________________________________________________
+// operator-=
+
+template <typename TContainer, typename TIntegral> inline Iter<TContainer, PositionIterator> & operator-= (Iter<TContainer, PositionIterator> & left, TIntegral right);        // "projects/library/seqan/basic/basic_iterator_position.h"(416)
+template <typename TContainer> inline Iter<TContainer, PositionIterator> & operator-= (Iter<TContainer, PositionIterator> & left, int right);          // "projects/library/seqan/basic/basic_iterator_position.h"(426)
+template <typename TContainer, typename TIterator, typename TSpec, typename TIntegral> inline Iter<TContainer, AdaptorIterator<TIterator, TSpec> > & operator-= (Iter<TContainer, AdaptorIterator<TIterator, TSpec> > & left, TIntegral right);        // "projects/library/seqan/basic/basic_iterator_adaptor.h"(477)
+template <typename TContainer, typename TIterator, typename TSpec> inline Iter<TContainer, AdaptorIterator<TIterator, TSpec> > & operator-= (Iter<TContainer, AdaptorIterator<TIterator, TSpec> > & left, int right);          // "projects/library/seqan/basic/basic_iterator_adaptor.h"(487)
+template <typename TContainer, typename TIntegral> inline Iter<TContainer, StdIteratorAdaptor> & operator-= (Iter<TContainer, StdIteratorAdaptor> & left, TIntegral right);            // "projects/library/seqan/basic/basic_iterator_adapt_std.h"(402)
+template <typename TContainer> inline Iter<TContainer, StdIteratorAdaptor> & operator-= (Iter<TContainer, StdIteratorAdaptor> & left, int right);              // "projects/library/seqan/basic/basic_iterator_adapt_std.h"(412)
+
+//____________________________________________________________________________
+// operator<
+
+template <typename TValue, typename TSpec, typename TRight> inline bool operator< (SimpleType<TValue, TSpec> const & left_, TRight const & right_);            // "projects/library/seqan/basic/basic_alphabet_simple.h"(665)
+template <typename TLeft, typename TValue, typename TSpec> inline bool operator< (TLeft const & left_, SimpleType<TValue, TSpec> const & right_);              // "projects/library/seqan/basic/basic_alphabet_simple.h"(676)
+template <typename TLeftValue, typename TLeftSpec, typename TRightValue, typename TRightSpec> inline bool operator< (SimpleType<TLeftValue, TLeftSpec> const & left_, SimpleType<TRightValue, TRightSpec> const & right_);             // "projects/library/seqan/basic/basic_alphabet_simple.h"(687)
+template <typename TValue, typename TSpec> inline bool operator< (SimpleType<TValue, TSpec> const & left_, SimpleType<TValue, TSpec> const & right_);          // "projects/library/seqan/basic/basic_alphabet_simple.h"(699)
+template <typename TSpec, typename TValue, typename TSpec2> inline bool operator< (Proxy<TSpec> const & left_, SimpleType<TValue, TSpec2> const & right_);             // "projects/library/seqan/basic/basic_alphabet_simple.h"(709)
+template <typename TSpec, typename TValue, typename TSpec2> inline bool operator< (SimpleType<TValue, TSpec2> const & left_, Proxy<TSpec> const & right_);             // "projects/library/seqan/basic/basic_alphabet_simple.h"(720)
+template <typename TContainer> inline bool operator< (Iter<TContainer, PositionIterator> const & left, Iter<TContainer, PositionIterator> const & right);              // "projects/library/seqan/basic/basic_iterator_position.h"(252)
+template <typename TSpec, typename TRight> inline bool operator< (Proxy<TSpec> const & left_, TRight const & right_);          // "projects/library/seqan/basic/basic_proxy.h"(376)
+template <typename TLeft, typename TSpec> inline bool operator< (TLeft const & left_, Proxy<TSpec> const & right_);            // "projects/library/seqan/basic/basic_proxy.h"(387)
+template <typename TLeftSpec, typename TRightSpec> inline bool operator< (Proxy<TLeftSpec> const & left_, Proxy<TRightSpec> const & right_);           // "projects/library/seqan/basic/basic_proxy.h"(398)
+template <typename TSpec> inline bool operator< (Proxy<TSpec> const & left_, Proxy<TSpec> const & right_);             // "projects/library/seqan/basic/basic_proxy.h"(410)
+template <typename TTT, unsigned _sizeL, unsigned _sizeR> inline bool operator<(Tuple<TTT, _sizeL, Compressed> const &_left, Tuple<TTT, _sizeR, Compressed> const &_right);            // "projects/library/seqan/basic/basic_aggregates.h"(491)
+template <typename TContainer> inline bool operator< (Iter<TContainer, StdIteratorAdaptor> const & left, Iter<TContainer, StdIteratorAdaptor> const & right);          // "projects/library/seqan/basic/basic_iterator_adapt_std.h"(229)
+
+//____________________________________________________________________________
+// operator<<
+
+template <typename TStream, typename TValue, typename TSpec> inline TStream & operator<< (TStream & stream, SimpleType<TValue, TSpec> const & data);           // "projects/library/seqan/basic/basic_alphabet_simple.h"(262)
+template <typename TStream, typename TSpec> inline TStream & operator<< (TStream & strm, Proxy<TSpec> & proxy);        // "projects/library/seqan/basic/basic_proxy.h"(591)
+template <typename TStream, typename TSpec> inline TStream & operator<< (TStream & strm, Proxy<TSpec> const & proxy);          // "projects/library/seqan/basic/basic_proxy.h"(598)
+template <typename TTT1, typename TTT2, typename TCompression> std::ostream& operator<<(std::ostream &out, Pair<TTT1,TTT2,TCompression> const &p);             // "projects/library/seqan/basic/basic_aggregates.h"(148)
+template <typename TTT1, typename TTT2, typename TTT3, typename TCompression> std::ostream& operator<<(std::ostream &out, Triple<TTT1,TTT2,TTT3,TCompression> const &t);               // "projects/library/seqan/basic/basic_aggregates.h"(267)
+template <typename TTT, unsigned _size, typename TCompression> std::ostream& operator<<(std::ostream& out, Tuple<TTT,_size,TCompression> const &a);            // "projects/library/seqan/basic/basic_aggregates.h"(548)
+
+//____________________________________________________________________________
+// operator<=
+
+template <typename TValue, typename TSpec, typename TRight> inline bool operator<= (SimpleType<TValue, TSpec> const & left_, TRight const & right_);           // "projects/library/seqan/basic/basic_alphabet_simple.h"(736)
+template <typename TLeft, typename TValue, typename TSpec> inline bool operator<= (TLeft const & left_, SimpleType<TValue, TSpec> const & right_);             // "projects/library/seqan/basic/basic_alphabet_simple.h"(747)
+template <typename TLeftValue, typename TLeftSpec, typename TRightValue, typename TRightSpec> inline bool operator<= (SimpleType<TLeftValue, TLeftSpec> const & left_, SimpleType<TRightValue, TRightSpec> const & right_);            // "projects/library/seqan/basic/basic_alphabet_simple.h"(758)
+template <typename TValue, typename TSpec> inline bool operator<= (SimpleType<TValue, TSpec> const & left_, SimpleType<TValue, TSpec> const & right_);         // "projects/library/seqan/basic/basic_alphabet_simple.h"(770)
+template <typename TSpec, typename TValue, typename TSpec2> inline bool operator<= (Proxy<TSpec> const & left_, SimpleType<TValue, TSpec2> const & right_);            // "projects/library/seqan/basic/basic_alphabet_simple.h"(780)
+template <typename TSpec, typename TValue, typename TSpec2> inline bool operator<= (SimpleType<TValue, TSpec2> const & left_, Proxy<TSpec> const & right_);            // "projects/library/seqan/basic/basic_alphabet_simple.h"(791)
+template <typename TContainer> inline bool operator<= (Iter<TContainer, PositionIterator> const & left, Iter<TContainer, PositionIterator> const & right);             // "projects/library/seqan/basic/basic_iterator_position.h"(274)
+template <typename TSpec, typename TRight> inline bool operator<= (Proxy<TSpec> const & left_, TRight const & right_);         // "projects/library/seqan/basic/basic_proxy.h"(423)
+template <typename TLeft, typename TSpec> inline bool operator<= (TLeft const & left_, Proxy<TSpec> const & right_);           // "projects/library/seqan/basic/basic_proxy.h"(434)
+template <typename TLeftSpec, typename TRightSpec> inline bool operator<= (Proxy<TLeftSpec> const & left_, Proxy<TRightSpec> const & right_);          // "projects/library/seqan/basic/basic_proxy.h"(445)
+template <typename TSpec> inline bool operator<= (Proxy<TSpec> const & left_, Proxy<TSpec> const & right_);            // "projects/library/seqan/basic/basic_proxy.h"(457)
+template <typename TContainer> inline bool operator<= (Iter<TContainer, StdIteratorAdaptor> const & left, Iter<TContainer, StdIteratorAdaptor> const & right);         // "projects/library/seqan/basic/basic_iterator_adapt_std.h"(255)
+
+//____________________________________________________________________________
+// operator==
+
+template <typename TValue, typename TSpec, typename TRight> inline bool operator== (SimpleType<TValue, TSpec> const & left_, TRight const & right_);           // "projects/library/seqan/basic/basic_alphabet_simple.h"(523)
+template <typename TLeft, typename TValue, typename TSpec> inline bool operator== (TLeft const & left_, SimpleType<TValue, TSpec> const & right_);             // "projects/library/seqan/basic/basic_alphabet_simple.h"(534)
+template <typename TLeftValue, typename TLeftSpec, typename TRightValue, typename TRightSpec> inline bool operator== (SimpleType<TLeftValue, TLeftSpec> const & left_, SimpleType<TRightValue, TRightSpec> const & right_);            // "projects/library/seqan/basic/basic_alphabet_simple.h"(545)
+template <typename TValue, typename TSpec> inline bool operator== (SimpleType<TValue, TSpec> const & left_, SimpleType<TValue, TSpec> const & right_);         // "projects/library/seqan/basic/basic_alphabet_simple.h"(557)
+template <typename TSpec, typename TValue, typename TSpec2> inline bool operator== (Proxy<TSpec> const & left_, SimpleType<TValue, TSpec2> const & right_);            // "projects/library/seqan/basic/basic_alphabet_simple.h"(567)
+template <typename TSpec, typename TValue, typename TSpec2> inline bool operator== (SimpleType<TValue, TSpec2> const & left_, Proxy<TSpec> const & right_);            // "projects/library/seqan/basic/basic_alphabet_simple.h"(578)
+template <typename TContainer> inline bool operator== (Iter<TContainer, PositionIterator> const & left, Iter<TContainer, PositionIterator> const & right);             // "projects/library/seqan/basic/basic_iterator_position.h"(226)
+template <typename TSpec, typename TRight> inline bool operator== (Proxy<TSpec> const & left_, TRight const & right_);         // "projects/library/seqan/basic/basic_proxy.h"(281)
+template <typename TLeft, typename TSpec> inline bool operator== (TLeft const & left_, Proxy<TSpec> const & right_);           // "projects/library/seqan/basic/basic_proxy.h"(292)
+template <typename TLeftSpec, typename TRightSpec> inline bool operator== (Proxy<TLeftSpec> const & left_, Proxy<TRightSpec> const & right_);          // "projects/library/seqan/basic/basic_proxy.h"(303)
+template <typename TSpec> inline bool operator== (Proxy<TSpec> const & left_, Proxy<TSpec> const & right_);            // "projects/library/seqan/basic/basic_proxy.h"(315)
+template <typename TContainer, typename TIterator, typename TSpec> inline bool operator== (Iter<TContainer, AdaptorIterator<TIterator, TSpec> > const & left, Iter<TContainer, AdaptorIterator<TIterator, TSpec> > const & right);             // "projects/library/seqan/basic/basic_iterator_adaptor.h"(330)
+template <typename TTT, unsigned _sizeL, unsigned _sizeR> inline bool operator==(Tuple<TTT, _sizeL, Compressed> const &_left, Tuple<TTT, _sizeR, Compressed> const &_right);           // "projects/library/seqan/basic/basic_aggregates.h"(499)
+template <typename L1, typename L2, typename LCompression, typename R1, typename R2, typename RCompression> inline bool operator==(Pair<L1, L2, LCompression> const &_left, Pair<R1, R2, RCompression> const &_right);         // "projects/library/seqan/basic/basic_aggregates.h"(656)
+template <typename L1, typename L2, unsigned LSizeI1, typename R1, typename R2, unsigned RSizeI1> inline bool operator==(Pair<L1, L2, CutCompressed<LSizeI1> > const &_left, Pair<R1, R2, CutCompressed<RSizeI1> > const &_right);             // "projects/library/seqan/basic/basic_aggregates.h"(665)
+template <typename L1, typename L2, typename L3, typename LCompression, typename R1, typename R2, typename R3, typename RCompression> inline bool operator==(Triple<L1, L2, L3, LCompression> const &_left, Triple<R1, R2, R3, RCompression> const &_right);           // "projects/library/seqan/basic/basic_aggregates.h"(677)
+template <typename TContainer> inline bool operator== (Iter<TContainer, StdIteratorAdaptor> const & left, Iter<TContainer, StdIteratorAdaptor> const & right);         // "projects/library/seqan/basic/basic_iterator_adapt_std.h"(203)
+
+//____________________________________________________________________________
+// operator>
+
+template <typename TValue, typename TSpec, typename TRight> inline bool operator> (SimpleType<TValue, TSpec> const & left_, TRight const & right_);            // "projects/library/seqan/basic/basic_alphabet_simple.h"(808)
+template <typename TLeft, typename TValue, typename TSpec> inline bool operator> (TLeft const & left_, SimpleType<TValue, TSpec> const & right_);              // "projects/library/seqan/basic/basic_alphabet_simple.h"(819)
+template <typename TLeftValue, typename TLeftSpec, typename TRightValue, typename TRightSpec> inline bool operator> (SimpleType<TLeftValue, TLeftSpec> const & left_, SimpleType<TRightValue, TRightSpec> const & right_);             // "projects/library/seqan/basic/basic_alphabet_simple.h"(830)
+template <typename TValue, typename TSpec> inline bool operator> (SimpleType<TValue, TSpec> const & left_, SimpleType<TValue, TSpec> const & right_);          // "projects/library/seqan/basic/basic_alphabet_simple.h"(842)
+template <typename TSpec, typename TValue, typename TSpec2> inline bool operator> (Proxy<TSpec> const & left_, SimpleType<TValue, TSpec2> const & right_);             // "projects/library/seqan/basic/basic_alphabet_simple.h"(852)
+template <typename TSpec, typename TValue, typename TSpec2> inline bool operator> (SimpleType<TValue, TSpec2> const & left_, Proxy<TSpec> const & right_);             // "projects/library/seqan/basic/basic_alphabet_simple.h"(863)
+template <typename TContainer> inline bool operator> (Iter<TContainer, PositionIterator> const & left, Iter<TContainer, PositionIterator> const & right);              // "projects/library/seqan/basic/basic_iterator_position.h"(261)
+template <typename TSpec, typename TRight> inline bool operator> (Proxy<TSpec> const & left_, TRight const & right_);          // "projects/library/seqan/basic/basic_proxy.h"(471)
+template <typename TLeft, typename TSpec> inline bool operator> (TLeft const & left_, Proxy<TSpec> const & right_);            // "projects/library/seqan/basic/basic_proxy.h"(482)
+template <typename TLeftSpec, typename TRightSpec> inline bool operator> (Proxy<TLeftSpec> const & left_, Proxy<TRightSpec> const & right_);           // "projects/library/seqan/basic/basic_proxy.h"(493)
+template <typename TSpec> inline bool operator> (Proxy<TSpec> const & left_, Proxy<TSpec> const & right_);             // "projects/library/seqan/basic/basic_proxy.h"(505)
+template <typename TTT, unsigned _sizeL, unsigned _sizeR> inline bool operator>(Tuple<TTT, _sizeL, Compressed> const &_left, Tuple<TTT, _sizeR, Compressed> const &_right);            // "projects/library/seqan/basic/basic_aggregates.h"(495)
+template <typename TContainer> inline bool operator> (Iter<TContainer, StdIteratorAdaptor> const & left, Iter<TContainer, StdIteratorAdaptor> const & right);          // "projects/library/seqan/basic/basic_iterator_adapt_std.h"(242)
+
+//____________________________________________________________________________
+// operator>=
+
+template <typename TValue, typename TSpec, typename TRight> inline bool operator>= (SimpleType<TValue, TSpec> const & left_, TRight const & right_);           // "projects/library/seqan/basic/basic_alphabet_simple.h"(879)
+template <typename TLeft, typename TValue, typename TSpec> inline bool operator>= (TLeft const & left_, SimpleType<TValue, TSpec> const & right_);             // "projects/library/seqan/basic/basic_alphabet_simple.h"(890)
+template <typename TLeftValue, typename TLeftSpec, typename TRightValue, typename TRightSpec> inline bool operator>= (SimpleType<TLeftValue, TLeftSpec> const & left_, SimpleType<TRightValue, TRightSpec> const & right_);            // "projects/library/seqan/basic/basic_alphabet_simple.h"(901)
+template <typename TValue, typename TSpec> inline bool operator>= (SimpleType<TValue, TSpec> const & left_, SimpleType<TValue, TSpec> const & right_);         // "projects/library/seqan/basic/basic_alphabet_simple.h"(913)
+template <typename TSpec, typename TValue, typename TSpec2> inline bool operator>= (Proxy<TSpec> const & left_, SimpleType<TValue, TSpec2> const & right_);            // "projects/library/seqan/basic/basic_alphabet_simple.h"(923)
+template <typename TSpec, typename TValue, typename TSpec2> inline bool operator>= (SimpleType<TValue, TSpec2> const & left_, Proxy<TSpec> const & right_);            // "projects/library/seqan/basic/basic_alphabet_simple.h"(934)
+template <typename TContainer> inline bool operator>= (Iter<TContainer, PositionIterator> const & left, Iter<TContainer, PositionIterator> const & right);             // "projects/library/seqan/basic/basic_iterator_position.h"(283)
+template <typename TSpec, typename TRight> inline bool operator>= (Proxy<TSpec> const & left_, TRight const & right_);         // "projects/library/seqan/basic/basic_proxy.h"(519)
+template <typename TLeft, typename TSpec> inline bool operator>= (TLeft const & left_, Proxy<TSpec> const & right_);           // "projects/library/seqan/basic/basic_proxy.h"(530)
+template <typename TLeftSpec, typename TRightSpec> inline bool operator>= (Proxy<TLeftSpec> const & left_, Proxy<TRightSpec> const & right_);          // "projects/library/seqan/basic/basic_proxy.h"(541)
+template <typename TSpec> inline bool operator>= (Proxy<TSpec> const & left_, Proxy<TSpec> const & right_);            // "projects/library/seqan/basic/basic_proxy.h"(553)
+template <typename TContainer> inline bool operator>= (Iter<TContainer, StdIteratorAdaptor> const & left, Iter<TContainer, StdIteratorAdaptor> const & right);         // "projects/library/seqan/basic/basic_iterator_adapt_std.h"(268)
+
+//____________________________________________________________________________
+// operator>>
+
+template <typename TStream, typename TValue, typename TSpec> inline TStream & operator>> (TStream & stream, SimpleType<TValue, TSpec> & data);         // "projects/library/seqan/basic/basic_alphabet_simple.h"(274)
+template <typename TStream, typename TSpec> inline TStream & operator>> (TStream & strm, Proxy<TSpec> & proxy);        // "projects/library/seqan/basic/basic_proxy.h"(565)
+template <typename TStream, typename TSpec> inline TStream & operator>> (TStream & strm, Proxy<TSpec> const& proxy);           // "projects/library/seqan/basic/basic_proxy.h"(577)
+
+//____________________________________________________________________________
+// parentAllocator
+
+template <size_t SIZE, typename TParentAllocator> inline TParentAllocator & parentAllocator(Allocator<SinglePool<SIZE, TParentAllocator> > & me);              // "projects/library/seqan/basic/basic_allocator_singlepool.h"(136)
+template <typename TValue, typename TParentAllocator> inline TParentAllocator & parentAllocator(Allocator<SinglePool2<TValue, TParentAllocator> > & me);               // "projects/library/seqan/basic/basic_allocator_singlepool.h"(256)
+template <typename TParentAllocator, unsigned int BLOCKING_LIMIT> inline TParentAllocator & parentAllocator(Allocator<MultiPool<TParentAllocator, BLOCKING_LIMIT> > & me);             // "projects/library/seqan/basic/basic_allocator_multipool.h"(115)
+template <typename TParentAllocator> inline TParentAllocator & parentAllocator(Allocator<SimpleAlloc<TParentAllocator> > & me);        // "projects/library/seqan/basic/basic_allocator_simple.h"(103)
+//template <size_t SIZE, size_t MAX_COUNT, typename TParentAllocator> inline TParentAllocator & parentAllocator(Allocator<ChunkPool<SIZE, MAX_COUNT, TParentAllocator> > & me);        // "projects/library/seqan/basic/basic_allocator_chunkpool.h"(147)
+template <typename TValue, size_t MAX_COUNT, typename TParentAllocator> inline TParentAllocator & parentAllocator(Allocator<ChunkPool2<TValue, MAX_COUNT, TParentAllocator> > & me);           // "projects/library/seqan/basic/basic_allocator_chunkpool.h"(279)
+
+//____________________________________________________________________________
+// position
+
+template <typename TContainer, typename TSpec, typename TContainer2> inline typename Position<Iter<TContainer, TSpec> const>::Type position(Iter<TContainer, TSpec> const & me, TContainer2 const &);          // "projects/library/seqan/basic/basic_iterator_base.h"(211)
+template <typename T> inline typename Position<T>::Type position(T * me);              // "projects/library/seqan/basic/basic_iterator.h"(354)
+template <typename TContainer, typename TIterator> inline typename Position<TContainer>::Type position(TIterator const & it, TContainer const & me);           // "projects/library/seqan/basic/basic_iterator.h"(363)
+template <typename TContainer, typename TContainer2> inline typename Position<Iter<TContainer, SimpleIterator> const>::Type position(Iter<TContainer, SimpleIterator> const & me, TContainer2 const & cont);           // "projects/library/seqan/basic/basic_iterator_simple.h"(108)
+template <typename TContainer, typename TIterator, typename TSpec> inline typename Position<Iter<TContainer, AdaptorIterator<TIterator, TSpec> > const>::Type position(Iter<TContainer, AdaptorIterator<TIterator, TSpec> > const & me);               // "projects/library/seqan/basic/basic_iterator_adaptor.h"(232)
+template <typename TContainer, typename TIterator, typename TSpec, typename TContainer2> inline typename Position<Iter<TContainer, AdaptorIterator<TIterator, TSpec> > const>::Type position(Iter<TContainer, AdaptorIterator<TIterator, TSpec> > const & me, TContainer2 const &);            // "projects/library/seqan/basic/basic_iterator_adaptor.h"(243)
+
+//____________________________________________________________________________
+// releaseRef
+
+template <typename T> inline void releaseRef(T & );            // "projects/library/seqan/basic/basic_holder.h"(73)
+template <typename T> inline void releaseRef(T const & );              // "projects/library/seqan/basic/basic_holder.h"(79)
+
+//____________________________________________________________________________
+// set
+
+template <typename TTarget, typename TSource> inline void set(TTarget & target, TSource & source);             // "projects/library/seqan/basic/basic_transport.h"(160)
+template <typename TTarget, typename TSource> inline void set(TTarget const & target, TSource & source);               // "projects/library/seqan/basic/basic_transport.h"(168)
+template <typename TTarget, typename TSource> inline void set(TTarget & target, TSource const & source);               // "projects/library/seqan/basic/basic_transport.h"(176)
+template <typename TTarget, typename TSource> inline void set(TTarget const & target, TSource const & source);         // "projects/library/seqan/basic/basic_transport.h"(184)
+
+//____________________________________________________________________________
+// setHost
+
+template <typename T, typename THost> inline void setHost(T & me, THost & host_);              // "projects/library/seqan/basic/basic_host.h"(99)
+template <typename T, typename THost> inline void setHost(T & me, THost const & host_);        // "projects/library/seqan/basic/basic_host.h"(107)
+
+//____________________________________________________________________________
+// setPosition
+
+template <typename TContainer, typename TIterator, typename TSpec, typename TPosition> inline void setPosition(Iter<TContainer, AdaptorIterator<TIterator, TSpec> > & me, TPosition pos_);             // "projects/library/seqan/basic/basic_iterator_adaptor.h"(256)
+
+//____________________________________________________________________________
+// setValue
+
+template <typename TValue> inline void setValue(Holder<TValue, Tristate> & me, typename _Parameter<TValue>::Type value_);              // "projects/library/seqan/basic/basic_holder.h"(453)
+template <typename TValue, typename TValue2> inline void setValue(Holder<TValue, Tristate> & me, TValue2 const & value_);              // "projects/library/seqan/basic/basic_holder.h"(467)
+template <typename TValue> inline void setValue(Holder<TValue, Simple> & me, TValue const & value_);           // "projects/library/seqan/basic/basic_holder.h"(724)
+template <typename TValue> inline void setValue(Holder<TValue, Tristate2> & me, TValue & value_);              // "projects/library/seqan/basic/basic_holder.h"(999)
+
+//____________________________________________________________________________
+// shiftLeft
+
+template <typename TTT, unsigned _size, typename TCompression> inline void shiftLeft(Tuple<TTT, _size, TCompression> &me);             // "projects/library/seqan/basic/basic_aggregates.h"(525)
+template <typename TTT, unsigned _size> inline void shiftLeft(Tuple<TTT, _size, Compressed> &me);              // "projects/library/seqan/basic/basic_aggregates.h"(535)
+
+//____________________________________________________________________________
+// shiftRight
+
+template <typename TTT, unsigned _size, typename TCompression> inline void shiftRight(Tuple<TTT, _size, TCompression> &me);            // "projects/library/seqan/basic/basic_aggregates.h"(530)
+template <typename TTT, unsigned _size> inline void shiftRight(Tuple<TTT, _size, Compressed> &me);             // "projects/library/seqan/basic/basic_aggregates.h"(540)
+
+//____________________________________________________________________________
+// supremumValue
+
+template <typename T> inline T const & supremumValue();        // "projects/library/seqan/basic/basic_alphabet_interface2.h"(120)
+
+//____________________________________________________________________________
+// supremumValueImpl
+
+template <typename T> inline T const & supremumValueImpl(T *);         // "projects/library/seqan/basic/basic_alphabet_trait_basic.h"(420)
+inline float const & supremumValueImpl(float *);               // "projects/library/seqan/basic/basic_alphabet_trait_basic.h"(655)
+inline double const & supremumValueImpl(double *);             // "projects/library/seqan/basic/basic_alphabet_trait_basic.h"(682)
+inline long double const & supremumValueImpl(long double *);           // "projects/library/seqan/basic/basic_alphabet_trait_basic.h"(709)
+
+//____________________________________________________________________________
+// value
+
+template <typename TContainer> inline typename Reference<Iter<TContainer, PositionIterator> >::Type value(Iter<TContainer, PositionIterator> & me);            // "projects/library/seqan/basic/basic_iterator_position.h"(164)
+template <typename TContainer> inline typename Reference<Iter<TContainer, PositionIterator> >::Type value(Iter<TContainer, PositionIterator> const & me);              // "projects/library/seqan/basic/basic_iterator_position.h"(171)
+template <typename TValue> inline typename Reference<Holder<TValue, Tristate> >::Type value(Holder<TValue, Tristate> & me);            // "projects/library/seqan/basic/basic_holder.h"(479)
+template <typename TValue> inline typename Reference<Holder<TValue, Tristate> const>::Type value(Holder<TValue, Tristate> const & me);         // "projects/library/seqan/basic/basic_holder.h"(496)
+template <typename TValue> inline typename Reference<Holder<TValue, Simple> >::Type value(Holder<TValue, Simple> & me);        // "projects/library/seqan/basic/basic_holder.h"(734)
+template <typename TValue> inline typename Reference<Holder<TValue, Simple> const>::Type value(Holder<TValue, Simple> const & me);             // "projects/library/seqan/basic/basic_holder.h"(741)
+template <typename TValue> inline typename Reference<Holder<TValue, Tristate2> >::Type value(Holder<TValue, Tristate2> & me);          // "projects/library/seqan/basic/basic_holder.h"(1016)
+template <typename TValue> inline typename Reference<Holder<TValue, Tristate2> const>::Type value(Holder<TValue, Tristate2> const & me);               // "projects/library/seqan/basic/basic_holder.h"(1033)
+template <typename T> inline typename Reference<T>::Type value(T & me);        // "projects/library/seqan/basic/basic_iterator.h"(171)
+template <typename T> inline typename Reference<T const>::Type value(T const & me);            // "projects/library/seqan/basic/basic_iterator.h"(178)
+template <typename T> inline T & value(T * me);        // "projects/library/seqan/basic/basic_iterator.h"(187)
+template <typename TContainer, typename TIterator, typename TSpec> inline typename Reference<Iter<TContainer, AdaptorIterator<TIterator, TSpec> > >::Type value(Iter<TContainer, AdaptorIterator<TIterator, TSpec> > & me);            // "projects/library/seqan/basic/basic_iterator_adaptor.h"(268)
+template <typename TContainer, typename TIterator, typename TSpec> inline typename Reference<Iter<TContainer, AdaptorIterator<TIterator, TSpec> > const>::Type value(Iter<TContainer, AdaptorIterator<TIterator, TSpec> > const & me);         // "projects/library/seqan/basic/basic_iterator_adaptor.h"(275)
+template <typename TContainer> inline typename Reference<Iter<TContainer, StdIteratorAdaptor> >::Type value(Iter<TContainer, StdIteratorAdaptor> & me);        // "projects/library/seqan/basic/basic_iterator_adapt_std.h"(146)
+template <typename TContainer> inline typename Reference<Iter<TContainer, StdIteratorAdaptor> const>::Type value(Iter<TContainer, StdIteratorAdaptor> const & me);             // "projects/library/seqan/basic/basic_iterator_adapt_std.h"(152)
+
+//____________________________________________________________________________
+// valueConstruct
+
+template <typename TIterator> inline void valueConstruct(TIterator it);        // "projects/library/seqan/basic/basic_alphabet_interface.h"(145)
+template <typename TIterator, typename TParam> inline void valueConstruct(TIterator it, TParam const & param_);        // "projects/library/seqan/basic/basic_alphabet_interface.h"(165)
+template <typename TIterator, typename TParam> inline void valueConstruct(TIterator it, TParam const & param_, Move tag);              // "projects/library/seqan/basic/basic_alphabet_interface.h"(186)
+
+//____________________________________________________________________________
+// valueConstructMove
+
+template <typename TIterator, typename TValue> inline void valueConstructMove(TIterator it, TValue const & value);             // "projects/library/seqan/basic/basic_alphabet_interface.h"(248)
+
+//____________________________________________________________________________
+// valueDestruct
+
+template <typename TIterator> inline void valueDestruct(TIterator it);         // "projects/library/seqan/basic/basic_alphabet_interface.h"(216)
+
+} //namespace SEQAN_NAMESPACE_MAIN
+
+//____________________________________________________________________________
+// _compareBinaryFiles
+
+inline bool _compareBinaryFiles(char * file1, char * file2);           // "projects/library/seqan/basic/basic_debug.h"(119)
+
+//____________________________________________________________________________
+// _compareTextFiles
+
+inline bool _compareTextFiles(char * file1, char * file2);             // "projects/library/seqan/basic/basic_debug.h"(182)
+
+//____________________________________________________________________________
+// _compareTextFiles_readChar
+
+inline void _compareTextFiles_readChar(FILE * fl, char & c, bool & is_lb, bool & is_eof);              // "projects/library/seqan/basic/basic_debug.h"(151)
+
+#endif
+
diff --git a/SeqAn-1.1/seqan/basic/basic_holder.h b/SeqAn-1.1/seqan/basic/basic_holder.h
new file mode 100644 (file)
index 0000000..df5a791
--- /dev/null
@@ -0,0 +1,1120 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de 
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: basic_holder.h,v 1.1 2008/08/25 16:20:01 langmead Exp $
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_BASIC_HOLDER_H
+#define SEQAN_HEADER_BASIC_HOLDER_H
+
+namespace SEQAN_NAMESPACE_MAIN
+{
+
+//////////////////////////////////////////////////////////////////////////////
+// addRef
+//////////////////////////////////////////////////////////////////////////////
+/**
+.Function.addRef:
+..summary:Called when dependency is added. 
+..cat:Dependent Objects
+..signature:addRef(host)
+..param.host:The host object.
+..remarks.text:A call of this function denotes that a client object is about to become
+dependent on $host$.
+..remarks.text:The default behavior is: Do nothing.
+..see:Class.Holder
+*/
+
+template <typename T>
+inline void 
+addRef(T & /*me*/)
+{// general: do nothing
+SEQAN_CHECKPOINT
+}
+template <typename T>
+inline void 
+addRef(T const & /*me*/)
+{// general: do nothing
+SEQAN_CHECKPOINT
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// releaseRef
+//////////////////////////////////////////////////////////////////////////////
+/**
+.Function.releaseRef:
+..summary:Called when dependency is released. 
+..cat:Dependent Objects
+..signature:releaseRef(host)
+..param.host:The host object.
+..remarks.text:A call of this function denotes that a former dependent client object 
+ceases to be dependent on $host$.
+..remarks.text:The default behavior is: Do nothing.
+..see:Class.Holder
+..see:Function.addRef
+*/
+template <typename T>
+inline void 
+releaseRef(T & /*me*/)
+{// general: do nothing
+SEQAN_CHECKPOINT
+}
+template <typename T>
+inline void 
+releaseRef(T const & /*me*/)
+{// general: do nothing
+SEQAN_CHECKPOINT
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// Tags
+
+struct Simple;
+struct Tristate;
+
+
+//////////////////////////////////////////////////////////////////////////////
+// Holder
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Class.Holder:
+..cat:Basic
+..summary:Manages relationship to another object.
+..signature:Holder<TValue, TSpec>
+..param.TValue:Type of the managed object.
+...metafunction:Metafunction.Value
+..param.TSpec:The specializing type.
+...metafunction:Metafunction.Spec
+...default:$Tristate$
+..remarks.text:The main purpose of this class is to facilitate the handling of
+member objects. If we want class $A$ to be dependent on or the owner of another object of class $B$, 
+then we add a data member of type $Holder<B>$ to $A$. 
+$Holder$ offers some useful access functions, stores the kind of relationship between $A$ and $B$,
+and executes all needed @Function.addRef@ and @Function.releaseRef@ calls.
+*/
+
+template <typename TValue, typename TSpec = Tristate>
+struct Holder;
+
+
+//////////////////////////////////////////////////////////////////////////////
+// METAFUNCTIONS
+//////////////////////////////////////////////////////////////////////////////
+
+///.Metafunction.Value.param.T.type:Class.Holder
+
+template <typename TValue, typename TSpec>
+struct Value< Holder<TValue, TSpec> >
+{
+       typedef typename _RemoveConst<TValue>::Type Type;
+};
+template <typename TValue, typename TSpec>
+struct Value< Holder<TValue, TSpec> const>
+{
+       typedef typename _RemoveConst<TValue>::Type Type;
+};
+
+//////////////////////////////////////////////////////////////////////////////
+
+///.Metafunction.Spec.param.T.type:Class.Holder
+
+template <typename TValue, typename TSpec>
+struct Spec< Holder<TValue, TSpec> >
+{
+       typedef TSpec Type;
+};
+template <typename TValue, typename TSpec>
+struct Spec< Holder<TValue, TSpec> const>
+{
+       typedef TSpec Type;
+};
+
+//////////////////////////////////////////////////////////////////////////////
+
+///.Metafunction.Reference.param.T.type:Class.Holder
+
+template <typename TValue, typename TSpec>
+struct Reference< Holder<TValue, TSpec> >
+{
+       typedef typename Value< Holder<TValue, TSpec> >::Type & Type;
+};
+template <typename TValue, typename TSpec>
+struct Reference< Holder<TValue, TSpec> const>
+{
+       typedef typename Value< Holder<TValue, TSpec> const>::Type & Type;
+};
+
+
+//////////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////////
+// Tristate Holder
+//////////////////////////////////////////////////////////////////////////////
+/**
+.Spec.Tristate Holder
+..cat:Holders
+..summary:Holder that can be empty, dependent, or owner.
+..signature:Holder<TValue, Tristate>
+..param.TValue:Type of the managed object.
+..general:Class.Holder
+..remarks.text:A tristate holder $A$ that holds an object $B$ has one of the following states:
+..remarks.text:- owner: $A$ is the owner of $B$. If $A$ is destroyed, $B$ will be destroyed automatically.
+..remarks.text:- dependent: $A$ depends on $B$. $B$ should not be destroyed as long as $A$ is used.
+..remarks.text:- empty: there is currently no object reference stored in the holder $A$.
+..remarks.text:The state of the holder can be determined by @Function.empty@ and @Function.dependent@.
+*/
+
+template <typename TValue>
+struct Holder<TValue, Tristate>
+{
+public:
+       enum EHolderState
+       {
+               EMPTY = 0,
+               OWNER = 1,
+               DEPENDENT = ~0
+       };
+
+//     typedef typename _RemoveConst<TValue>::Type TValue_NotConst;
+       typedef typename Value<Holder>::Type THostValue;
+
+       typename _Pointer<THostValue>::Type data_value;
+       EHolderState data_state;
+
+//____________________________________________________________________________
+
+/**
+.Memfunc.Holder:
+..class:Class.Holder
+..summary:Constructor
+..signature:Holder<TValue, TInfix> ()
+..signature:Holder<TValue, TInfix> (holder)
+..signature:Holder<TValue, TInfix> (value)
+..param.holder:Another holder object.
+..param.value:An object of type $TValue$.
+..remarks.text:
+The default constructor creates a holder that is in state 'empty'.
+If a $value$ is passed to the constructor, the holder will be in state 'dependent'.
+*/
+
+       Holder():
+               data_state(EMPTY)
+       {
+SEQAN_CHECKPOINT
+       }
+       Holder(Holder const & source_):
+               data_state(EMPTY)
+       {
+SEQAN_CHECKPOINT
+               assign(*this, source_);
+       }
+       Holder(typename _Parameter<THostValue>::Type value_):
+               data_state(EMPTY)
+       {
+SEQAN_CHECKPOINT
+               setValue(*this, value_);
+       }
+       Holder(typename _ConstParameter<THostValue>::Type value_):
+               data_state(EMPTY)
+       {
+SEQAN_CHECKPOINT
+               assignValue(*this, value_);
+       }
+
+/**
+.Memfunc.~Holder:
+..class:Class.Holder
+..summary:Destructor
+..signature:~Holder()
+..remarks.text:
+If the holder is in state 'owner', the holded object will be destoyed too.
+*/
+       ~Holder()
+       {
+SEQAN_CHECKPOINT
+               clear(*this);
+       }
+
+//____________________________________________________________________________
+
+       Holder const &
+       operator = (Holder const & source_)
+       {
+SEQAN_CHECKPOINT
+               assign(*this, source_);
+               return *this;
+       }
+
+       Holder const &
+       operator = (typename _ConstParameter<THostValue>::Type value_)
+       {
+SEQAN_CHECKPOINT
+               assignValue(*this, value_);
+               return *this;
+       }
+
+       operator typename _Parameter<THostValue>::Type()
+       {
+SEQAN_CHECKPOINT
+               return *data_value;
+       }
+//____________________________________________________________________________
+
+};
+
+//////////////////////////////////////////////////////////////////////////////
+// FUNCTIONS
+//////////////////////////////////////////////////////////////////////////////
+
+///.Function.empty.param.object.type:Class.Holder
+
+template <typename TValue>
+inline bool
+empty(Holder<TValue, Tristate> const & me)
+{
+SEQAN_CHECKPOINT
+       return (me.data_state == Holder<TValue, Tristate>::EMPTY);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+///.Function.dependent.param.object.type:Class.Holder
+
+template <typename TValue>
+inline bool
+dependent(Holder<TValue, Tristate> const & me)
+{
+SEQAN_CHECKPOINT
+       return (me.data_state == Holder<TValue, Tristate>::DEPENDENT);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+///.Function.clear.param.object.type:Class.Holder
+///.Function.clear.remarks.text:If $clear$ is applied on a @Class.Holder@ object,
+///the state of this object is set to 'empty'.
+
+template <typename TValue>
+inline void
+clear(Holder<TValue, Tristate> & me)
+{
+       switch (me.data_state)
+       {
+       case Holder<TValue, Tristate>::EMPTY:
+               break;
+
+       case Holder<TValue, Tristate>::DEPENDENT:
+               {
+SEQAN_CHECKPOINT
+               releaseRef(_toParameter<TValue>(me.data_value));
+               me.data_state = Holder<TValue, Tristate>::EMPTY;
+               }
+               break;
+
+       default: /*Holder<TValue, TSpec>::OWNER*/
+               {
+SEQAN_CHECKPOINT
+               valueDestruct(me.data_value);
+               deallocate(me, me.data_value, 1);
+               me.data_state = Holder<TValue, Tristate>::EMPTY;
+               }
+               break;
+       }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+/**
+.Function.create:
+..summary:Makes an object to owner of its content.
+..cat:Dependent Objects
+..signature:create(holder [, object])
+..param.holder:A holder object.
+...type:Class.Holder
+..param.object:Object from which a copy is made and stored in $holder$. (optional)
+...type:Metafunction.Value.Value<Holder>::Type
+..remarks.text:After this operation, $holder$ will be in state 'owner'.
+If $object$ is specified, $holder$ will hold a copy of $object$ at the end of this function.
+If $object$ is not specified, the action depends on the former state of $holder$:
+..remarks.text:- If the state of $holder$ was 'empty', a new object is default constructed and stored into $holder$.
+..remarks.text:- If the state of $holder$ was 'dependent', a copy of the former object is made and stored into $holder$. 
+..remarks.text:- If the state of $holder$ was already 'owner', nothing happens.
+..see:Class.Holder
+*/
+
+template <typename TValue>
+inline void
+create(Holder<TValue, Tristate> & me)
+{
+       typedef Holder<TValue, Tristate> THolder;
+
+       switch (me.data_state)
+       {
+       case Holder<TValue, Tristate>::EMPTY:
+               {
+SEQAN_CHECKPOINT
+               allocate(me, me.data_value, 1);
+               valueConstruct(me.data_value);
+               me.data_state = THolder::OWNER;
+               }
+               break;
+
+       case THolder::DEPENDENT:
+               {
+SEQAN_CHECKPOINT
+               typename _Parameter<TValue>::Type old_value = value(me);
+               allocate(me, me.data_value, 1);
+               valueConstruct(me.data_value, old_value);
+               me.data_state = THolder::OWNER;
+               releaseRef(old_value);
+               }
+               break;
+       default:;
+       }
+}
+
+//____________________________________________________________________________
+
+template <typename TValue>
+inline void
+create(Holder<TValue, Tristate> & me,
+          typename _Parameter<TValue const>::Type value_)
+{
+SEQAN_CHECKPOINT
+
+       if (me.data_state == Holder<TValue, Tristate>::OWNER)
+       {
+               assign(_toParameter(me.data_value), value_);
+               return;
+       }
+
+       clear(me);
+       allocate(me, me.data_value, 1);
+       valueConstruct(me.data_value, value_);
+       me.data_state = Holder<TValue, Tristate>::OWNER;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+/**
+.Function.detach:
+..summary:Makes an object independent from other objects.
+..cat:Dependent Objects
+..signature:detach(object)
+..param.object:An object.
+...type:Class.Holder
+..remarks:
+After this function, $object$ does not depends from any other entity outside of $object$,
+like a @Function.source@ or a @Function.host@, and @Function.dependent.dependent(object)@ returns $false$ 
+..see:Function.source
+..see:Function.host
+..see:Function.createSource
+..see:Function.create
+*/
+
+template <typename TValue>
+inline void
+detach(Holder<TValue, Tristate> & me)
+{
+SEQAN_CHECKPOINT
+       create(me);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+/**
+.Function.setValue:
+..cat:Content Manipulation
+..summary:Makes holder dependent.
+..signature:setValue(holder, object)
+..param.holder:A holder object.
+...type:Class.Holder
+..param.object:Object from which $holder$ will be dependent.
+...type:Metafunction.Value.Value<Holder>::Type
+..remarks.text:After this operation, $holder$ will be dependent in state 'dependent'.
+..see:Class.Holder
+*/
+
+template <typename TValue>
+inline void
+setValue(Holder<TValue, Tristate> & me,
+                typename _Parameter<TValue>::Type value_)
+{
+SEQAN_CHECKPOINT
+       typedef typename Value<Holder<TValue, Tristate> >::Type THolderType;
+
+       clear(me);
+       me.data_value = _toPointer(value_);
+       me.data_state = Holder<TValue, Tristate>::DEPENDENT;
+       addRef(_toParameter<THolderType>(me.data_value));
+}
+
+template <typename TValue, typename TValue2>
+inline void
+setValue(Holder<TValue, Tristate> & me,
+                TValue2 const & value_)
+{
+SEQAN_CHECKPOINT
+       set(value(me), value_);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+///.Function.value.param.object.type:Class.Holder
+
+template <typename TValue>
+inline typename Reference<Holder<TValue, Tristate> >::Type
+value(Holder<TValue, Tristate> & me)
+{
+SEQAN_CHECKPOINT
+       typedef Holder<TValue, Tristate> THolder;
+
+       if (empty(me))
+       {
+               allocate(me, me.data_value, 1);
+               valueConstruct(me.data_value);
+               me.data_state = THolder::OWNER;
+       }
+
+       typedef typename Value<Holder<TValue, Tristate> >::Type THolderType;
+       return _toParameter<THolderType>(me.data_value);
+}
+template <typename TValue>
+inline typename Reference<Holder<TValue, Tristate> const>::Type
+value(Holder<TValue, Tristate> const & me)
+{
+SEQAN_CHECKPOINT
+       SEQAN_ASSERT(!empty(me));
+
+       typedef typename Value<Holder<TValue, Tristate> >::Type THolderType;
+       return _toParameter<THolderType>(me.data_value);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+///.Function.assignValue.param.object.type:Class.Holder
+
+template <typename TValue, typename TSource>
+inline void
+assignValue(Holder<TValue, Tristate> & me,
+                       TSource const & value_)
+{
+SEQAN_CHECKPOINT
+       typedef typename Value<Holder<TValue, Tristate> >::Type THostValue;
+       if (empty(me))
+       {
+               create(me, value_);
+       }
+       else
+       {
+               assign(_toParameter<THostValue>(me.data_value), value_);
+       }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+///.Function.moveValue.param.object.type:Class.Holder
+
+template <typename TValue, typename TSource>
+inline void
+moveValue(Holder<TValue, Tristate> & me,
+                 TSource const & value_)
+{
+SEQAN_CHECKPOINT
+       if (empty(me))
+       {
+               create(me, value_);
+       }
+       else
+       {
+               move(value(me), value_);
+       }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+///.Function.assign.param.target.type:Class.Holder
+///.Function.assign.param.source.type:Class.Holder
+
+template <typename TValue>
+inline void
+assign(Holder<TValue, Tristate> & target_,
+          Holder<TValue, Tristate> const & source_)
+{
+SEQAN_CHECKPOINT
+       switch(source_.data_state)
+       {
+       case Holder<TValue, Tristate>::EMPTY:
+               {
+               clear(target_);
+               }
+               break;
+
+       case Holder<TValue, Tristate>::OWNER:
+               {
+               assignValue(target_, value(source_));
+               }
+               break;
+
+       default: /*case Holder<TValue, Tristate>::DEPENDENT*/
+               {
+               setValue(target_, value(source_));
+               }
+               break;
+       }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////////
+// Simple Holder
+//////////////////////////////////////////////////////////////////////////////
+//??? TODO: Documentation of Simple Holder
+
+template <typename TValue>
+struct Holder<TValue, Simple>
+{
+       typedef typename Value<Holder>::Type THolderValue;
+       typedef typename _Parameter<THolderValue>::Type THolderParameter;
+
+       mutable THolderValue data_value;
+//____________________________________________________________________________
+
+       Holder()
+       {
+SEQAN_CHECKPOINT
+       }
+       Holder(Holder & source_):
+               data_value(source_.data_value)
+       {
+SEQAN_CHECKPOINT
+       }
+       Holder(Holder const & source_):
+               data_value(source_.data_value)
+       {
+SEQAN_CHECKPOINT
+       }
+       template <typename TSource>
+       Holder(TSource & value_):
+               data_value(value_)
+       {
+SEQAN_CHECKPOINT
+       }
+       template <typename TSource>
+       Holder(TSource const & value_):
+               data_value(value_)
+       {
+SEQAN_CHECKPOINT
+       }
+/*
+       Holder(TValue const & value_):
+               data_value(value_)
+       {
+SEQAN_CHECKPOINT
+       }
+*/
+       ~Holder()
+       {
+SEQAN_CHECKPOINT
+       }
+
+//____________________________________________________________________________
+
+       Holder const &
+       operator = (Holder const & source_)
+       {
+SEQAN_CHECKPOINT
+               data_value = source_.data_value;
+               return *this;
+       }
+
+       Holder const &
+       operator = (THolderValue const & value_)
+       {
+SEQAN_CHECKPOINT
+               data_value = value_;
+               return *this;
+       }
+
+       operator THolderParameter()
+       {
+SEQAN_CHECKPOINT
+               return *data_value;
+       }
+//____________________________________________________________________________
+};
+
+
+//////////////////////////////////////////////////////////////////////////////
+// FUNCTIONS
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TValue>
+inline bool
+empty(Holder<TValue, Simple> const & me)
+{
+SEQAN_CHECKPOINT
+       return false;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TValue>
+inline bool
+dependent(Holder<TValue, Simple> const & me)
+{
+SEQAN_CHECKPOINT
+       return false;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TValue>
+inline void
+clear(Holder<TValue, Simple> & me)
+{
+SEQAN_CHECKPOINT
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TValue>
+inline void
+create(Holder<TValue, Simple> & me)
+{
+SEQAN_CHECKPOINT
+}
+
+//____________________________________________________________________________
+
+template <typename TValue>
+inline void
+create(Holder<TValue, Simple> & me,
+          TValue const & value_)
+{
+SEQAN_CHECKPOINT
+       me.data_value = value_;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TValue>
+inline void
+detach(Holder<TValue, Simple> & me)
+{
+SEQAN_CHECKPOINT
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TValue>
+inline void
+setValue(Holder<TValue, Simple> & me,
+                TValue const & value_)
+{
+SEQAN_CHECKPOINT
+       me.data_value = value_;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TValue>
+inline typename Reference<Holder<TValue, Simple> >::Type
+value(Holder<TValue, Simple> & me)
+{
+SEQAN_CHECKPOINT
+       return me.data_value;
+}
+template <typename TValue>
+inline typename Reference<Holder<TValue, Simple> const>::Type
+value(Holder<TValue, Simple> const & me)
+{
+SEQAN_CHECKPOINT
+       return me.data_value;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TValue, typename TSource>
+inline void
+assignValue(Holder<TValue, Simple> & me,
+                       TSource const & value_)
+{
+SEQAN_CHECKPOINT
+       assignValue(me.data_value, value_);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TValue, typename TSource>
+inline void
+moveValue(Holder<TValue, Simple> & me,
+                 TSource const & value_)
+{
+SEQAN_CHECKPOINT
+       move(me.data_value, value_);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TValue>
+inline void
+assign(Holder<TValue, Simple> & target_,
+          Holder<TValue, Simple> const & source_)
+{
+SEQAN_CHECKPOINT
+       assignValue(target_, source_);
+}
+
+
+//////////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////////
+
+
+
+
+//////////////////////////////////////////////////////////////////////////////
+// New Tristate Holder that works also on pointers
+//////////////////////////////////////////////////////////////////////////////
+
+struct Tristate2;
+
+template <typename TValue>
+struct Holder<TValue, Tristate2>
+{
+public:
+       enum EHolderState
+       {
+               EMPTY = 0,
+               OWNER = 1,
+               DEPENDENT = ~0
+       };
+
+       typedef typename Value<Holder>::Type THostValue;
+
+       TValue * data_value;
+       EHolderState data_state;
+
+//____________________________________________________________________________
+
+       Holder():
+               data_state(EMPTY)
+       {
+SEQAN_CHECKPOINT
+       }
+       Holder(Holder const & source_):
+               data_state(EMPTY)
+       {
+SEQAN_CHECKPOINT
+               assign(*this, source_);
+       }
+       Holder(typename _Parameter<THostValue>::Type value_):
+               data_state(EMPTY)
+       {
+SEQAN_CHECKPOINT
+               setValue(*this, value_);
+       }
+       Holder(typename _ConstParameter<THostValue>::Type value_):
+               data_state(EMPTY)
+       {
+SEQAN_CHECKPOINT
+               assignValue(*this, value_);
+       }
+       ~Holder()
+       {
+SEQAN_CHECKPOINT
+               clear(*this);
+       }
+
+//____________________________________________________________________________
+
+       Holder const &
+       operator = (Holder const & source_)
+       {
+SEQAN_CHECKPOINT
+               assign(*this, source_);
+               return *this;
+       }
+
+       Holder const &
+       operator = (TValue const & value_)
+       {
+SEQAN_CHECKPOINT
+               assignValue(*this, value_);
+               return *this;
+       }
+
+       operator TValue &()
+       {
+SEQAN_CHECKPOINT
+               return *data_value;
+       }
+//____________________________________________________________________________
+
+};
+
+//////////////////////////////////////////////////////////////////////////////
+// FUNCTIONS
+//////////////////////////////////////////////////////////////////////////////
+
+///.Function.empty.param.object.type:Class.Holder
+
+template <typename TValue>
+inline bool
+empty(Holder<TValue, Tristate2> const & me)
+{
+SEQAN_CHECKPOINT
+       return (me.data_state == Holder<TValue, Tristate2>::EMPTY);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+///.Function.dependent.param.object.type:Class.Holder
+
+template <typename TValue>
+inline bool
+dependent(Holder<TValue, Tristate2> const & me)
+{
+SEQAN_CHECKPOINT
+       return (me.data_state == Holder<TValue, Tristate2>::DEPENDENT);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+///.Function.clear.param.object.type:Class.Holder
+///.Function.clear.remarks.text:If $clear$ is applied on a @Class.Holder@ object,
+///the state of this object is set to 'empty'.
+
+template <typename TValue>
+inline void
+clear(Holder<TValue, Tristate2> & me)
+{
+       switch (me.data_state)
+       {
+       case Holder<TValue, Tristate2>::EMPTY:
+               break;
+
+       case Holder<TValue, Tristate2>::DEPENDENT:
+               {
+SEQAN_CHECKPOINT
+               releaseRef(*(me.data_value));
+               me.data_state = Holder<TValue, Tristate2>::EMPTY;
+               }
+               break;
+
+       default: /*Holder<TValue, TSpec>::OWNER*/
+               {
+SEQAN_CHECKPOINT
+               valueDestruct(me.data_value);
+               deallocate(me, me.data_value, 1);
+               me.data_state = Holder<TValue, Tristate2>::EMPTY;
+               }
+               break;
+       }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+
+template <typename TValue>
+inline void
+create(Holder<TValue, Tristate2> & me)
+{
+       typedef Holder<TValue, Tristate2> THolder;
+
+       switch (me.data_state)
+       {
+       case Holder<TValue, Tristate2>::EMPTY:
+               {
+SEQAN_CHECKPOINT
+               allocate(me, me.data_value, 1);
+               valueConstruct(me.data_value);
+               me.data_state = THolder::OWNER;
+               }
+               break;
+
+       case THolder::DEPENDENT:
+               {
+SEQAN_CHECKPOINT
+               TValue & old_value = value(me);
+               allocate(me, me.data_value, 1);
+               valueConstruct(me.data_value, old_value);
+               me.data_state = THolder::OWNER;
+               releaseRef(old_value);
+               }
+               break;
+       default:;
+       }
+}
+
+//____________________________________________________________________________
+
+template <typename TValue>
+inline void
+create(Holder<TValue, Tristate2> & me,
+          TValue const & value_)
+{
+SEQAN_CHECKPOINT
+
+       if (me.data_state == Holder<TValue, Tristate2>::OWNER)
+       {
+               assign(*(me.data_value), value_);
+               return;
+       }
+
+       clear(me);
+       allocate(me, me.data_value, 1);
+       valueConstruct(me.data_value, value_);
+       me.data_state = Holder<TValue, Tristate2>::OWNER;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+
+template <typename TValue>
+inline void
+detach(Holder<TValue, Tristate2> & me)
+{
+SEQAN_CHECKPOINT
+       create(me);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+
+template <typename TValue>
+inline void
+setValue(Holder<TValue, Tristate2> & me,
+                TValue & value_)
+{
+SEQAN_CHECKPOINT
+       typedef typename Value<Holder<TValue, Tristate2> >::Type THolderType;
+
+       clear(me);
+       me.data_value = & value_;
+       me.data_state = Holder<TValue, Tristate2>::DEPENDENT;
+       addRef(value_);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+///.Function.value.param.object.type:Class.Holder
+
+template <typename TValue>
+inline typename Reference<Holder<TValue, Tristate2> >::Type
+value(Holder<TValue, Tristate2> & me)
+{
+SEQAN_CHECKPOINT
+       typedef Holder<TValue, Tristate2> THolder;
+
+       if (empty(me))
+       {
+               allocate(me, me.data_value, 1);
+               valueConstruct(me.data_value);
+               me.data_state = THolder::OWNER;
+       }
+
+       typedef typename Value<Holder<TValue, Tristate2> >::Type THolderType;
+       return *(me.data_value);
+}
+template <typename TValue>
+inline typename Reference<Holder<TValue, Tristate2> const>::Type
+value(Holder<TValue, Tristate2> const & me)
+{
+SEQAN_CHECKPOINT
+       SEQAN_ASSERT(!empty(me));
+
+       return *(me.data_value);
+}
+
+
+//////////////////////////////////////////////////////////////////////////////
+
+///.Function.assignValue.param.object.type:Class.Holder
+
+template <typename TValue, typename TSource>
+inline void
+assignValue(Holder<TValue, Tristate2> & me,
+                       TSource const & value_)
+{
+SEQAN_CHECKPOINT
+       typedef typename Value<Holder<TValue, Tristate2> >::Type THostValue;
+       if (empty(me))
+       {
+               create(me, value_);
+       }
+       else
+       {
+               assign(*(me.data_value), value_);
+       }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+///.Function.moveValue.param.object.type:Class.Holder
+
+template <typename TValue, typename TSource>
+inline void
+moveValue(Holder<TValue, Tristate2> & me,
+                 TSource const & value_)
+{
+SEQAN_CHECKPOINT
+       if (empty(me))
+       {
+               create(me, value_);
+       }
+       else
+       {
+               move(value(me), value_);
+       }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+///.Function.assign.param.target.type:Class.Holder
+///.Function.assign.param.source.type:Class.Holder
+
+template <typename TValue>
+inline void
+assign(Holder<TValue, Tristate2> & target_,
+          Holder<TValue, Tristate2> const & source_)
+{
+SEQAN_CHECKPOINT
+       switch(source_.data_state)
+       {
+       case Holder<TValue, Tristate2>::EMPTY:
+               {
+               clear(target_);
+               }
+               break;
+
+       case Holder<TValue, Tristate2>::OWNER:
+               {
+               assignValue(target_, value(source_));
+               }
+               break;
+
+       default: /*case Holder<TValue, Tristate2>::DEPENDENT*/
+               {
+               setValue(target_, value(source_));
+               }
+               break;
+       }
+}
+//////////////////////////////////////////////////////////////////////////////
+
+} //namespace SEQAN_NAMESPACE_MAIN
+
+#endif //#ifndef SEQAN_HEADER_...
+
+
diff --git a/SeqAn-1.1/seqan/basic/basic_host.h b/SeqAn-1.1/seqan/basic/basic_host.h
new file mode 100644 (file)
index 0000000..a1a7231
--- /dev/null
@@ -0,0 +1,171 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de 
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: basic_host.h,v 1.1 2008/08/25 16:20:01 langmead Exp $
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_BASIC_HOST_H
+#define SEQAN_HEADER_BASIC_HOST_H
+
+namespace SEQAN_NAMESPACE_MAIN
+{
+//////////////////////////////////////////////////////////////////////////////
+
+//////////////////////////////////////////////////////////////////////////////
+// Host Functions
+//////////////////////////////////////////////////////////////////////////////
+//these functions assume that the hosted object exports a function "_dataHost"
+//that returns a reference to a holder type of Host<T>::Type & 
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename T>
+inline bool
+emptyHost(T const & me)
+{
+SEQAN_CHECKPOINT
+       return empty(_dataHost(me));
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename T>
+inline bool
+dependentHost(T const & me)
+{
+SEQAN_CHECKPOINT
+       return dependent(_dataHost(me));
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename T>
+inline void
+clearHost(T & me)
+{
+SEQAN_CHECKPOINT
+       clear(_dataHost(me));
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename T>
+inline void
+createHost(T & me)
+{
+SEQAN_CHECKPOINT
+       create(_dataHost(me));
+}
+
+//____________________________________________________________________________
+
+template <typename T, typename THost>
+inline void
+createHost(T & me,
+                  THost & host_)
+{
+SEQAN_CHECKPOINT
+       create(_dataHost(me), host_);
+}
+template <typename T, typename THost>
+inline void
+createHost(T & me,
+                  THost const & host_)
+{
+SEQAN_CHECKPOINT
+       create(_dataHost(me), host_);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename T, typename THost>
+inline void
+setHost(T & me,
+               THost & host_)
+{
+SEQAN_CHECKPOINT
+       setValue(_dataHost(me), host_);
+}
+template <typename T, typename THost>
+inline void
+setHost(T & me,
+               THost const & host_)
+{
+SEQAN_CHECKPOINT
+       setValue(_dataHost(me), host_);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename T>
+inline typename Host<T>::Type &
+host(T & me)
+{
+SEQAN_CHECKPOINT
+       return value(_dataHost(me));
+}
+template <typename T>
+inline typename Host<T const>::Type &
+host(T const & me)
+{
+SEQAN_CHECKPOINT
+       return value(_dataHost(me));
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename T, typename THost>
+inline void
+assignHost(T & me,
+                  THost & host_)
+{
+SEQAN_CHECKPOINT
+       assignValue(_dataHost(me), host_);
+}
+template <typename T, typename THost>
+inline void
+assignHost(T & me,
+                  THost const & host_)
+{
+SEQAN_CHECKPOINT
+       assignValue(_dataHost(me), host_);
+}
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename T, typename THost>
+inline void
+moveHost(T & me,
+                THost & host_)
+{
+SEQAN_CHECKPOINT
+       moveValue(_dataHost(me), host_);
+}
+template <typename T, typename THost>
+inline void
+moveHost(T & me,
+                THost const & host_)
+{
+SEQAN_CHECKPOINT
+       moveValue(_dataHost(me), host_);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+} //namespace SEQAN_NAMESPACE_MAIN
+
+#endif //#ifndef SEQAN_HEADER_...
+
+
diff --git a/SeqAn-1.1/seqan/basic/basic_iterator.h b/SeqAn-1.1/seqan/basic/basic_iterator.h
new file mode 100644 (file)
index 0000000..9ccc0dd
--- /dev/null
@@ -0,0 +1,732 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de 
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: basic_iterator.h,v 1.1 2008/08/25 16:20:01 langmead Exp $
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_BASIC_ITERATOR_H
+#define SEQAN_HEADER_BASIC_ITERATOR_H
+
+namespace SEQAN_NAMESPACE_MAIN
+{
+//////////////////////////////////////////////////////////////////////////////
+// TAGS
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Tag.Iterator Spec:
+..summary:Specifies the kind of an iterator.
+..tag.Rooted:Rooted iterator. 
+...remarks
+....text:This iterator implements some more advanced functions like
+@Function.container@ and @Function.position@.
+....concept:Concept.Rooted Iterator
+..tag.Standard:Standard conform iterator. 
+...remarks
+....text:Note that standard iterators need not to implement all functions
+that are available for rooted iterators.
+....concept:Concept.Iterator
+..remarks.text:The default iterator spec is given by @Metafunction.DefaultIteratorSpec@.
+..see:Metafunction.DefaultIteratorSpec
+..see:Concept.Iterator
+*/
+
+struct TagRooted_;
+typedef Tag<TagRooted_> const Rooted;
+
+struct TagStandard_;
+typedef Tag<TagStandard_> const Standard;
+
+
+//////////////////////////////////////////////////////////////////////////////
+// METAFUNCTIONS
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Metafunction.DefaultIteratorSpec:
+..hidefromindex
+..summary:Specifies default kind of iterator.
+..signature:DefaultIteratorSpec<T>::Type
+..param.T:Container type for which the default iterator spec is determined.
+...concept:Concept.Container
+..returns.param.Type:Iterator spec of $T$.
+..see:Metafunction.Iterator
+*/
+
+template <typename T>
+struct DefaultIteratorSpec
+{
+       typedef Standard Type;
+};
+
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Metafunction.DefaultGetIteratorSpec:
+..hidefromindex
+..summary:Specifies default kind of iterator returned by functions.
+..signature:DefaultGetIteratorSpec<T>::Type
+..param.T:Container type for which the spec is determined.
+...concept:Concept.Container
+..returns.param.Type:Iterator spec of $T$.
+..remarks:This metafunction returns the iterator spec of iterators that are returned by functions like 
+@Function.begin@, @Function.end@, or @Function.iter@.
+..see:Metafunction.Iterator
+..see:Metafunction.DefaultIteratorSpec
+*/
+
+template <typename T>
+struct DefaultGetIteratorSpec
+{
+       typedef Rooted Type;
+};
+
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Metafunction.Iterator:
+..summary:Type of iterator objects that are used to traverse the container.
+..signature:Iterator<T, TSpec>::Type
+..param.T:Type for which the iterator type is determined.
+...concept:Concept.Container
+...type:Class.Iter
+..param.TSpec:Specifies an @Tag.Iterator Spec.iterator spec@.
+...default:The default iterator spec is given by @Metafunction.DefaultIteratorSpec@.
+..returns.param.Type:Iterator type of $T$.
+..remarks.text:Iterators behave like pointers in some respects. 
+ For example, you can use $*it$ to access the value object the iterator $it$ points to.
+ But note that $Iterator<T>::Type$ can differ from $T *$, depending on $T$.
+..see:Metafunction.Position
+*/
+
+//____________________________________________________________________________
+
+template <typename T, typename TSpec>
+struct Iterator_Default_Imp;
+
+//Iterator_Default_Imp<T, Standard> is implemented in basic_iterator_simple.h
+//Iterator_Default_Imp<T, Rooted> is implemented in basic_iterator_adaptor.h 
+
+//____________________________________________________________________________
+
+template <typename T, typename TSpec = typename DefaultIteratorSpec<T>::Type>
+struct Iterator:
+       Iterator_Default_Imp<T, TSpec>
+{
+};
+
+
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Metafunction.Container:
+..summary:Type of the container given an iterator.
+..signature:Container<T>::Type
+..param.T:Iterator type.
+...type:Class.Iter
+...concept:Concept.Iterator
+..returns.param.Type:The container type to $T$.
+*/
+
+template <typename T>
+struct Container
+{
+       typedef T Type;
+};
+
+
+//////////////////////////////////////////////////////////////////////////////
+// GENERAL FUNCTIONS
+//////////////////////////////////////////////////////////////////////////////
+
+//////////////////////////////////////////////////////////////////////////////
+// value
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Function.value:
+..signature:Reference value(object)
+..param.object:An object that holds a value or an iterator that points to a value.
+...type:Class.Iter
+...concept:Concept.Iterator
+*/
+
+template <typename T>
+inline typename Reference<T>::Type
+value(T & me)
+{
+SEQAN_CHECKPOINT
+       return *me;
+} 
+template <typename T>
+inline typename Reference<T const>::Type
+value(T const & me)
+{
+SEQAN_CHECKPOINT
+       return *me;
+} 
+
+
+template <typename T>
+inline T &
+value(T * me)
+{
+SEQAN_CHECKPOINT
+       return *me;
+} 
+
+//////////////////////////////////////////////////////////////////////////////
+// getValue
+//////////////////////////////////////////////////////////////////////////////
+
+//unary getValue
+/**
+.Function.getValue:
+..cat:Iteration
+..signature:GetValue getValue(object)
+..param.object:An object that holds a value or points to a value.
+...type:Class.Iter
+...concept:Concept.Iterator
+..see:Metafunction.GetValue
+*/
+
+template <typename T>
+inline typename GetValue<T>::Type
+getValue(T & me)
+{
+SEQAN_CHECKPOINT
+       return value(me);
+} 
+template <typename T>
+inline typename GetValue<T const>::Type
+getValue(T const & me)
+{
+SEQAN_CHECKPOINT
+       return value(me);
+} 
+
+template <typename T>
+inline T &
+getValue(T * me)
+{
+SEQAN_CHECKPOINT
+       return value(me);
+} 
+
+//////////////////////////////////////////////////////////////////////////////
+//toGetValue
+//////////////////////////////////////////////////////////////////////////////
+//Nimmt eine Reference und macht daraus einen GetValue
+//???TODO toGetValue()
+
+//////////////////////////////////////////////////////////////////////////////
+// assignValue
+//////////////////////////////////////////////////////////////////////////////
+/**
+.Function.assignValue:
+..cat:Iteration
+..summary:Assigns value to item.
+..signature:assignValue(object, value)
+..param.object:An object that holds a value or points to a value.
+...type:Class.Iter
+...concept:Concept.Iterator
+..param.value:A value that is assigned to the item $object$ holds or points to.
+..remarks.text:This function is similar to @Function.assign@.
+The difference is, that $assignValue$ just changes a value stored in $object$ or the value $object$ points to, 
+while @Function.assign@ changes the whole object.
+..see:Function.assign
+*/
+
+template <typename T, typename TValue>
+inline void
+assignValue(T & me,
+                       TValue const & _value)
+{
+SEQAN_CHECKPOINT
+       assign(value(me), _value);
+} 
+
+//const version for iterators as targets
+template <typename T, typename TValue>
+inline void
+assignValue(T const & me,
+                       TValue const & _value)
+{
+SEQAN_CHECKPOINT
+       assign(value(me), _value);
+} 
+
+//////////////////////////////////////////////////////////////////////////////
+// moveValue
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Function.moveValue:
+..cat:Iteration
+..summary:Assigns value to item.
+..signature:moveValue(object, value)
+..param.object:An object that holds a value or points to a value.
+...type:Class.Iter
+...concept:Concept.Iterator
+..param.value:A value that is handed over to the item $object$ holds or points to.
+..remarks.text:This function is similar to @Function.move@.
+The difference is, that $moveValue$ just changes a value stored in $object$ or the value $object$ points to, 
+while @Function.move@ changes the whole object.
+..see:Function.move
+..see:Function.assignValue
+*/
+
+template <typename T, typename TValue>
+inline void
+moveValue(T & me,
+                 TValue const & _value)
+{
+SEQAN_CHECKPOINT
+       move(value(me), _value);
+}
+//const version for iterators as targets
+template <typename T, typename TValue>
+inline void
+moveValue(T const & me,
+                 TValue const & _value)
+{
+SEQAN_CHECKPOINT
+       move(value(me), _value);
+} 
+
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Function.container:
+..cat:Iteration
+..summary:Container of an iterator.
+..signature:Container container(iterator)
+..param.iterator:An iterator.
+...type:Class.Iter
+...concept:Concept.Rooted Iterator
+..returns:The container that $iterator$ traverses.
+...metafunction:Metafunction.Container
+*/
+
+template <typename T>
+inline typename Container<T>::Type 
+container(T me)
+{
+SEQAN_CHECKPOINT
+       return me;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Function.position:
+..summary:Position of an iterator.
+..cat:Iteration
+..signature:Position position(iterator [, container])
+..param.iterator:An iterator.
+...type:Class.Iter
+...concept:Concept.Iterator
+..param.container:A container.
+...concept:Concept.Container
+...remarks:If $iterator$ implements @Concept.Rooted Iterator@, then $container$ is optional.
+...remarks:If $container$ is specified, $iterator$ must be a container of $container$.
+..returns:The position of the value in the container $iterator$ points to.
+...metafunction:Metafunction.Position
+*/
+
+template <typename T>
+inline typename Position<T>::Type 
+position(T * me)
+{
+SEQAN_CHECKPOINT
+       return 0;
+}
+
+template <typename TContainer, typename TIterator>
+inline typename Position<TContainer>::Type 
+position(TIterator const & it,
+                TContainer const & me)
+{
+SEQAN_CHECKPOINT
+       return it - begin(me, Standard());
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+
+//////////////////////////////////////////////////////////////////////////////
+// atBegin
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Function.atBegin:
+..cat:Iteration
+..summary:Determines whether an iterator is at the beginning position.
+..signature:bool atBegin(iterator [, container])
+..param.iterator:An iterator.
+...type:Class.Iter
+...concept:Concept.Iterator
+..param.container:Container of $iterator$. (optional)
+...remarks.text:If $iterator$ implements @Concept.Rooted Iterator@ then $container$ is optional otherwise $container$ is required.
+..returns:$true$ if $iterator$ points to the fist item of the container, otherwise $false$.
+..see:Function.begin
+*/
+
+//TODO???: Was, wenn der Container leer ist?
+
+template <typename T, typename TContainer>
+inline bool
+atBegin(T const & it, TContainer const & cont)
+{
+SEQAN_CHECKPOINT
+       return it == begin(cont, Standard());   
+}
+
+//____________________________________________________________________________
+
+template <typename T>
+inline bool
+atBegin(T const & it)
+{
+SEQAN_CHECKPOINT
+       return atBegin(it, container(it));      
+}
+
+
+
+//////////////////////////////////////////////////////////////////////////////
+// atEnd
+//////////////////////////////////////////////////////////////////////////////
+/**
+.Function.atEnd:
+..cat:Iteration
+..summary:Determines whether an iterator is at the end position. 
+..signature:bool atEnd(iterator [, container])
+..param.iterator:An iterator.
+...type:Class.Iter
+...concept:Concept.Iterator
+..param.container:Container of $iterator$.
+...remarks.text:If $iterator$ implements @Concept.Rooted Iterator@ then $container$ is optional.
+....text:$container$ is also optional for iterators to @Adaption.char array.char arrays@.
+....text:Otherwise, $container$ is required.
+..returns:$true$ if $iterator$ points behind the last item of the container, otherwise $false$.
+..see:Function.atBegin
+..see:Function.end
+*/
+
+template <typename T, typename TContainer>
+inline bool
+atEnd(T & it, 
+         TContainer const & cont)
+{
+SEQAN_CHECKPOINT
+       return it == end(cont, Standard());     
+}
+template <typename T, typename TContainer>
+inline bool
+atEnd(T const & it, 
+         TContainer const & cont)
+{
+SEQAN_CHECKPOINT
+       return it == end(cont, Standard());     
+}
+//____________________________________________________________________________
+
+template <typename T>
+inline bool
+atEnd(T & it)
+{
+SEQAN_CHECKPOINT
+       return atEnd(it, container(it));        
+}
+template <typename T>
+inline bool
+atEnd(T const & it)
+{
+SEQAN_CHECKPOINT
+       return atEnd(it, container(it));        
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// goBegin
+//////////////////////////////////////////////////////////////////////////////
+/**
+.Function.goBegin:
+..cat:Iteration
+..summary:Iterates to the first position of a container. 
+..signature:goBegin(iterator [, container])
+..param.iterator:Object that iterates through $container$.
+...type:Class.Iter
+...concept:Concept.Iterator
+...text:$iterator$ is set to the position of the first item in $container$.
+..param.container:Container of $iterator$.
+...remarks.text:If $iterator$ implements @Concept.Rooted Iterator@ then $container$ is optional,
+otherwise $container$ is required.
+..remarks:This function is equivalent to $iterator = begin(container)$.
+..see:Function.begin
+..see:Function.atBegin
+..see:Function.goEnd
+*/
+template <typename TIterator, typename TContainer>
+inline void
+goBegin(TIterator & it,
+               TContainer & container)
+{
+SEQAN_CHECKPOINT
+       it = begin(container);
+}
+/*
+template <typename TIterator, typename TContainer>
+inline void
+goBegin(TIterator & it,
+               TContainer const & container)
+{
+SEQAN_CHECKPOINT
+       it = begin(container);
+}
+*/
+
+template <typename TIterator>
+inline void
+goBegin(TIterator & it)
+{
+SEQAN_CHECKPOINT
+       goBegin(it, container(it));
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// goEnd
+//////////////////////////////////////////////////////////////////////////////
+/**
+.Function.goEnd:
+..cat:Iteration
+..summary:Iterates to the last position of a container. 
+..signature:goEnd(iterator [, container])
+..param.iterator:Object that iterates through $container$.
+...type:Class.Iter
+...concept:Concept.Iterator
+...text:$iterator$ is set to the position behin the last item in $container$.
+..param.container:Container of $iterator$.
+...remarks.text:If $iterator$ implements @Concept.Rooted Iterator@ then $container$ is optional,
+otherwise $container$ is required.
+..remarks:This function is equivalent to $iterator = end(container)$.
+..see:Function.end
+..see:Function.atEnd
+..see:Function.goBegin
+..see:Function.goEnd
+*/
+template <typename TIterator, typename TContainer>
+inline void
+goEnd(TIterator & it,
+         TContainer & container)
+{
+SEQAN_CHECKPOINT
+       it = end(container);
+}
+template <typename TIterator, typename TContainer>
+inline void
+goEnd(TIterator & it,
+         TContainer const & container)
+{
+SEQAN_CHECKPOINT
+       it = end(container);
+}
+
+template <typename TIterator>
+inline void
+goEnd(TIterator & it)
+{
+SEQAN_CHECKPOINT
+       goEnd(it, container(it));
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// goNext
+//////////////////////////////////////////////////////////////////////////////
+/**
+.Function.goNext:
+..cat:Iteration
+..summary:Iterates to next position. 
+..signature:goNext(iterator)
+..param.iterator:An iterator.
+...type:Class.Iter
+...concept:Concept.Iterator
+...text:$iterator$ is set to the next position of an iteration through its container.
+..remarks:This function is equivalent to $++iterator$.
+..see:Function.goBegin
+..see:Function.goEnd
+*/
+template <typename TIterator>
+inline void
+goNext(TIterator & it)
+{
+SEQAN_CHECKPOINT
+       ++it;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// goFurther
+//////////////////////////////////////////////////////////////////////////////
+/**
+.Function.goFurther:
+..cat:Iteration
+..summary:Iterates some steps further. 
+..signature:goFurther(iterator, steps)
+..param.iterator:An iterator.
+...type:Class.Iter
+...concept:Concept.Iterator
+...text:$iterator$ is set $steps$ positions further in the iteration through the container.
+..param.steps:Number of steps $iterator$ should be moved further.
+...remarks:If $iterator$ supports bidirectional iteration, $steps$ could also be negativ.
+..remarks:This function is equivalent to $iterator += steps$ for random access iterators.
+..see:Function.goNext
+..see:Function.goPrevious
+*/
+
+template <typename TIterator, typename TDiff> inline
+void goFurther(TIterator & it, TDiff steps)
+{      // return distance type from arbitrary argument
+    it += steps;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// goPrevious
+//////////////////////////////////////////////////////////////////////////////
+/**
+.Function.goPrevious:
+..cat:Iteration
+..summary:Iterates to pevious position. 
+..signature:goPrevious(iterator)
+..param.iterator:An iterator.
+...type:Class.Iter
+...concept:Concept.Iterator
+...text:$iterator$ is set to the pevious position of an iteration through its container.
+..remarks:This function is equivalent to $--iterator$.
+..see:Function.goBegin
+..see:Function.goEnd
+..see:Function.goNext
+*/
+template <typename TIterator>
+inline void
+goPrevious(TIterator & it)
+{
+SEQAN_CHECKPOINT
+       --it;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// difference
+//////////////////////////////////////////////////////////////////////////////
+/**
+.Function.difference:
+..cat:Iteration
+..summary:The difference between two iterators. 
+..signature:difference(begin, end)
+..param.begin:Iterator to the first position of a range.
+...type:Class.Iter
+...Concept.Iterator
+..param.end:Iterator behind the last position of a range.
+...type:Class.Iter
+...Concept.Iterator
+..returns:Length of the range between $begin$ and $end$.
+..remarks:This function is equivalent to $begin - end$.
+...text:Usually, $begin$ and $end$ have the same type.
+..see:Function.begin
+..see:Function.end
+..see:Function.length
+*/
+
+template <typename TIterator> inline
+typename Difference<TIterator>::Type difference(
+       TIterator const & begin, 
+       TIterator const & end)
+{      // return distance type from arbitrary argument
+SEQAN_CHECKPOINT
+    return end - begin;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// goNil
+//////////////////////////////////////////////////////////////////////////////
+
+
+/**
+.Function.goNil:
+..cat:Iteration
+..summary:Moves iterator to nil position.
+..signature:goNil(iterator)
+..param.iterator:The iterator that will be moved.
+...type:Class.String
+..remarks:$iterator$ is set to an invalid position, e.g. $NULL$ for pointer types.
+..see:Function.clear
+*/
+
+template <typename TIterator>
+inline void
+goNil(TIterator & me)
+{
+SEQAN_CHECKPOINT
+       me = TIterator();
+}
+
+template <typename TIterator>
+inline void
+goNil(TIterator * & me)
+{
+SEQAN_CHECKPOINT
+       me = 0;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// atNil
+//////////////////////////////////////////////////////////////////////////////
+
+
+/**
+.Function.atNil:
+..cat:Iteration
+..summary:Tests whether iterator is at nil position.
+..signature:bool atNil(iterator)
+..param.iterator:An iterator.
+...type:Class.String
+..returns:$true$ if $iterator$ points to an ivalid position, e.g. $iterator$ is a $NULL$ pointer.
+$false$ otherwise.
+..see:Function.goNil
+*/
+
+template <typename TIterator>
+inline bool
+atNil(TIterator & me)
+{
+SEQAN_CHECKPOINT
+       return me == TIterator();
+}
+
+
+template <typename TIterator>
+inline bool
+atNil(TIterator * me)
+{
+SEQAN_CHECKPOINT
+       return me == 0;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+} //namespace SEQAN_NAMESPACE_MAIN
+
+#endif //#ifndef SEQAN_HEADER_...
diff --git a/SeqAn-1.1/seqan/basic/basic_iterator_adapt_std.h b/SeqAn-1.1/seqan/basic/basic_iterator_adapt_std.h
new file mode 100644 (file)
index 0000000..a39f23b
--- /dev/null
@@ -0,0 +1,436 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de 
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: basic_iterator_adapt_std.h,v 1.1 2008/08/25 16:20:01 langmead Exp $
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_BASIC_ITERATOR_ADAPT_STD_H
+#define SEQAN_HEADER_BASIC_ITERATOR_ADAPT_STD_H
+
+//////////////////////////////////////////////////////////////////////////////
+
+//adapt SeqAn iterator to std
+namespace std
+{
+       template<typename TContainer, typename TSpec>
+       struct iterator_traits<seqan::Iter<TContainer, TSpec> >
+       {
+               typedef ::seqan::Iter<TContainer, TSpec> TIter;
+
+               typedef random_access_iterator_tag iterator_category;
+               typedef typename ::seqan::Value<TIter>::Type value_type;
+               typedef typename ::seqan::Difference<TIter>::Type difference_type;
+               typedef typename ::seqan::Value<TIter>::Type * pointer;
+               typedef typename ::seqan::Reference<TIter>::Type reference;
+       };
+}
+
+//////////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////////
+
+namespace SEQAN_NAMESPACE_MAIN
+{
+
+//helper Metafunction
+
+/* This simple, general implementation cannot be used due to strange VC++ 2003 behavior
+
+template <typename TStdContainer>
+struct StdContainerIterator
+{
+       typedef typename TStdContainer::iterator Type;
+};
+
+template <typename TStdContainer>
+struct StdContainerIterator<TStdContainer const>
+{
+       typedef typename TStdContainer::const_iterator Type;
+};
+*/
+
+//we use this instead: specialize StdContainerIterator for each std-container
+template <typename TStdContainer>
+struct StdContainerIterator
+{
+       typedef void * Type; //dummy, just to make VC++ 2003 happy
+};
+
+template <typename TChar, typename TCharTraits, typename TAlloc>
+struct StdContainerIterator< ::std::basic_string<TChar, TCharTraits, TAlloc> >
+{
+       typedef ::std::basic_string<TChar, TCharTraits, TAlloc> TContainer;
+       typedef typename TContainer::iterator Type;
+};
+template <typename TChar, typename TCharTraits, typename TAlloc>
+struct StdContainerIterator< ::std::basic_string<TChar, TCharTraits, TAlloc> const>
+{
+       typedef ::std::basic_string<TChar, TCharTraits, TAlloc> TContainer;
+       typedef typename TContainer::const_iterator Type;
+};
+
+//////////////////////////////////////////////////////////////////////////////
+//adapt std iterator to SeqAn
+
+
+struct StdIteratorAdaptor;
+
+template <typename TContainer>
+class Iter<TContainer, StdIteratorAdaptor>
+{
+public:
+       typedef typename StdContainerIterator<TContainer>::Type TIterator;
+       TIterator data_iterator;
+
+       Iter() {}
+       Iter(Iter const & other_): data_iterator(other_.data_iterator) {}
+       Iter(TIterator const & iter_): data_iterator(iter_) {}
+       Iter(TContainer const & cont_): data_iterator(begin(cont_)) {}
+
+       Iter const & operator = (Iter const & other_)
+       {
+               data_iterator = other_.data_iterator;
+               return *this;
+       }
+       Iter const & operator = (TIterator const & iter_)
+       {
+               data_iterator = iter_;
+               return *this;
+       }
+
+       operator TIterator &()
+       {
+               return data_iterator;
+       }
+
+       ~Iter() {}
+};
+
+//////////////////////////////////////////////////////////////////////////////
+// hostIterator
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TContainer>
+inline typename StdContainerIterator<TContainer>::Type &
+hostIterator(Iter<TContainer, StdIteratorAdaptor> & me)
+{
+       return me.data_iterator;
+}
+template <typename TContainer>
+inline typename StdContainerIterator<TContainer>::Type const &
+hostIterator(Iter<TContainer, StdIteratorAdaptor> const & me)
+{
+       return me.data_iterator;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// value
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TContainer>
+inline typename Reference<Iter<TContainer, StdIteratorAdaptor> >::Type 
+value(Iter<TContainer, StdIteratorAdaptor> & me)
+{
+       return *(me.data_iterator);
+}
+template <typename TContainer>
+inline typename Reference<Iter<TContainer, StdIteratorAdaptor> const>::Type 
+value(Iter<TContainer, StdIteratorAdaptor> const & me)
+{
+       return *(me.data_iterator);
+}
+
+
+/////////////////////////////////////////////////////////////////////////////
+// assignValue
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TContainer, typename TValue>
+inline void 
+assignValue(Iter<TContainer, StdIteratorAdaptor> & me,
+                       TValue & val)
+{
+       *(me.data_iterator) = val;
+}
+template <typename TContainer, typename TValue>
+inline void 
+assignValue(Iter<TContainer, StdIteratorAdaptor> & me,
+                       TValue const & val)
+{
+       *(me.data_iterator) = val;
+}
+
+/////////////////////////////////////////////////////////////////////////////
+// moveValue
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TContainer, typename TValue>
+inline void 
+moveValue(Iter<TContainer, StdIteratorAdaptor> & me,
+                 TValue & val)
+{
+       move(*(me.data_iterator), val);
+}
+template <typename TContainer, typename TValue>
+inline void 
+moveValue(Iter<TContainer, StdIteratorAdaptor> & me,
+                 TValue const & val)
+{
+       move(*(me.data_iterator), val);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// operator ==
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TContainer>
+inline bool 
+operator == (Iter<TContainer, StdIteratorAdaptor> const & left,
+                        Iter<TContainer, StdIteratorAdaptor> const & right)
+{
+SEQAN_CHECKPOINT
+       return hostIterator(left) == hostIterator(right);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// operator !=
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TContainer>
+inline bool 
+operator != (Iter<TContainer, StdIteratorAdaptor> const & left,
+                        Iter<TContainer, StdIteratorAdaptor> const & right)
+{
+SEQAN_CHECKPOINT
+       return hostIterator(left) != hostIterator(right);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// operator <
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TContainer>
+inline bool 
+operator < (Iter<TContainer, StdIteratorAdaptor> const & left,
+                       Iter<TContainer, StdIteratorAdaptor> const & right)
+{
+SEQAN_CHECKPOINT
+       return hostIterator(left) < hostIterator(right);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// operator >
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TContainer>
+inline bool 
+operator > (Iter<TContainer, StdIteratorAdaptor> const & left,
+                       Iter<TContainer, StdIteratorAdaptor> const & right)
+{
+SEQAN_CHECKPOINT
+       return hostIterator(left) > hostIterator(right);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// operator <=
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TContainer>
+inline bool 
+operator <= (Iter<TContainer, StdIteratorAdaptor> const & left,
+                       Iter<TContainer, StdIteratorAdaptor> const & right)
+{
+SEQAN_CHECKPOINT
+       return hostIterator(left) <= hostIterator(right);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// operator >=
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TContainer>
+inline bool 
+operator >= (Iter<TContainer, StdIteratorAdaptor> const & left,
+                       Iter<TContainer, StdIteratorAdaptor> const & right)
+{
+SEQAN_CHECKPOINT
+       return hostIterator(left) >= hostIterator(right);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// goNext
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TContainer>
+inline void
+goNext(Iter<TContainer, StdIteratorAdaptor> & me)
+{
+SEQAN_CHECKPOINT
+       goNext(hostIterator(me));
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// goPrevious
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TContainer>
+inline void
+goPrevious(Iter<TContainer, StdIteratorAdaptor> & me)
+{
+SEQAN_CHECKPOINT
+       goPrevious(hostIterator(me));
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// operator +
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TContainer, typename TIntegral>
+inline Iter<TContainer, StdIteratorAdaptor>  
+operator + (Iter<TContainer, StdIteratorAdaptor> const & left,
+                       TIntegral right)
+{
+SEQAN_CHECKPOINT
+       return Iter<TContainer, StdIteratorAdaptor>(hostIterator(left) + right);
+}
+// for <anonymous enum> types
+template <typename TContainer>
+inline Iter<TContainer, StdIteratorAdaptor>  
+operator + (Iter<TContainer, StdIteratorAdaptor> const & left,
+                       int right)
+{
+SEQAN_CHECKPOINT
+       return Iter<TContainer, StdIteratorAdaptor>(hostIterator(left) + right);
+}
+
+template <typename TContainer, typename TIntegral>
+inline Iter<TContainer, StdIteratorAdaptor>  
+operator + (TIntegral left,
+                       Iter<TContainer, StdIteratorAdaptor> const & right)
+{
+SEQAN_CHECKPOINT
+       return Iter<TContainer, StdIteratorAdaptor>(hostIterator(right) + left);
+}
+// for <anonymous enum> types
+template <typename TContainer>
+inline Iter<TContainer, StdIteratorAdaptor>  
+operator + (int left,
+                       Iter<TContainer, StdIteratorAdaptor> const & right)
+{
+SEQAN_CHECKPOINT
+       return Iter<TContainer, StdIteratorAdaptor>(hostIterator(right) + left);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// operator +=
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TContainer, typename TIntegral>
+inline Iter<TContainer, StdIteratorAdaptor> &
+operator += (Iter<TContainer, StdIteratorAdaptor> & left,
+                        TIntegral right)
+{
+SEQAN_CHECKPOINT
+       hostIterator(left) += right;
+       return left;
+}
+// for <anonymous enum> types
+template <typename TContainer>
+inline Iter<TContainer, StdIteratorAdaptor> &
+operator += (Iter<TContainer, StdIteratorAdaptor> & left,
+                        int right)
+{
+SEQAN_CHECKPOINT
+       hostIterator(left) += right;
+       return left;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// operator -
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TContainer, typename TIntegral>
+inline Iter<TContainer, StdIteratorAdaptor>  
+operator - (Iter<TContainer, StdIteratorAdaptor> const & left,
+                       TIntegral right)
+{
+SEQAN_CHECKPOINT
+       return Iter<TContainer, StdIteratorAdaptor>(hostIterator(left) - right);
+}
+// for <anonymous enum> types
+template <typename TContainer>
+inline Iter<TContainer, StdIteratorAdaptor>  
+operator - (Iter<TContainer, StdIteratorAdaptor> const & left,
+                       int right)
+{
+SEQAN_CHECKPOINT
+       return Iter<TContainer, StdIteratorAdaptor>(hostIterator(left) - right);
+}
+
+//____________________________________________________________________________
+
+template <typename TContainer>
+inline typename Difference<Iter<TContainer, StdIteratorAdaptor> >::Type  
+operator - (Iter<TContainer, StdIteratorAdaptor> const & left,
+                       Iter<TContainer, StdIteratorAdaptor> const & right)
+{
+SEQAN_CHECKPOINT
+       return hostIterator(left) - hostIterator(right);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// operator -=
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TContainer, typename TIntegral>
+inline Iter<TContainer, StdIteratorAdaptor> &
+operator -= (Iter<TContainer, StdIteratorAdaptor> & left,
+                        TIntegral right)
+{
+SEQAN_CHECKPOINT
+       hostIterator(left) -= right;
+       return left;
+}
+// for <anonymous enum> types
+template <typename TContainer>
+inline Iter<TContainer, StdIteratorAdaptor> &
+operator -= (Iter<TContainer, StdIteratorAdaptor> & left,
+                        int right)
+{
+SEQAN_CHECKPOINT
+       hostIterator(left) -= right;
+       return left;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////////
+// assign (Conversion)
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TTargetContainer, typename TSource>
+inline void
+assign(Iter<TTargetContainer, StdIteratorAdaptor> & target,
+          TSource const & source)
+{
+SEQAN_CHECKPOINT
+       target.data_iterator = begin(container(source)) + position(source);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+} //namespace SEQAN_NAMESPACE_MAIN
+
+#endif //#ifndef SEQAN_HEADER_...
diff --git a/SeqAn-1.1/seqan/basic/basic_iterator_adaptor.h b/SeqAn-1.1/seqan/basic/basic_iterator_adaptor.h
new file mode 100644 (file)
index 0000000..9a68a98
--- /dev/null
@@ -0,0 +1,524 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de 
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: basic_iterator_adaptor.h,v 1.1 2008/08/25 16:20:01 langmead Exp $
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_BASIC_ITERATOR_ADAPTOR_H
+#define SEQAN_HEADER_BASIC_ITERATOR_ADAPTOR_H
+
+namespace SEQAN_NAMESPACE_MAIN
+{
+//////////////////////////////////////////////////////////////////////////////
+// Tag
+
+//An iterator that adapts a std iterator to a default seqan iterator
+template <typename TIterator, typename TSpec = Default>
+struct AdaptorIterator;
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename T>
+struct Iterator_Default_Imp<T, Rooted>
+{
+       typedef typename Iterator<T, Standard>::Type TStandardIterator;
+       typedef Iter<T, AdaptorIterator<TStandardIterator> > Type;
+};
+
+//////////////////////////////////////////////////////////////////////////////
+// Adaptor Iterator
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Spec.Adaptor Iterator:
+..cat:Iterators
+..general:Class.Iter
+..summary:Adapts iterators to @Concept.Rooted Iterator@.
+..signature:Iter<TContainer, AdaptorIterator<TIterator [, TSpec]> >
+..param.TContainer:Type of the container that can be iterated by $TIterator$.
+...remarks:Use @Metafunction.Container@ to get the container type for a given iterator.
+..param.TIterator:Type of the iterator that is adapted to @Concept.Rooted Iterator@.
+..remarks.text:Adaptor iterators can implicitly converted to $TIterator$.
+*/
+
+template <typename TContainer, typename TIterator, typename TSpec>
+class Iter<TContainer, AdaptorIterator<TIterator, TSpec> >
+{
+private:
+       typename _Pointer<TContainer>::Type data_container;
+       TIterator data_iterator;
+//____________________________________________________________________________
+
+/**
+.Memfunc.AdaptorIterator#Iter:
+..class:Spec.Adaptor Iterator
+..summary:Constructor
+..signature:Iter()
+..signature:Iter(iter)
+..signature:Iter(container [, iterator])
+..param.iter:Another adaptor iterator object.
+..param.container:The corresponding container object.
+..param.iterator:A iterator of $container$. (optional)
+...remarks.text:If this argument is omitted, the adaptor iterator is initialized to the @Function.begin.begin iterator@ of $container$.
+*/
+
+public:
+       Iter():
+               data_container(0)
+       {
+SEQAN_CHECKPOINT
+               data_iterator = TIterator();
+       }
+/*//TODO: welches "begin" zur initialisierung von "data_iterator" aufrufen?
+       Iter(typename _Parameter<TContainer>::Type container_):
+               data_container(_toPointer(container_)),
+               data_iterator(begin(container_))
+       {
+SEQAN_CHECKPOINT
+       }
+*/
+       Iter(typename _Parameter<TContainer>::Type container_, TIterator it_):
+               data_container(_toPointer(container_)),
+               data_iterator(it_)
+       {
+SEQAN_CHECKPOINT
+       }
+       Iter(Iter const & other_):
+               data_container(other_.data_container),
+               data_iterator(other_.data_iterator)
+       {
+SEQAN_CHECKPOINT
+       }
+/*
+       template <typename TSource>
+       Iter(TSource & source)
+       {
+SEQAN_CHECKPOINT
+               assign(*this, source);
+       }
+       template <typename TSource>
+       Iter(TSource const & source)
+       {
+SEQAN_CHECKPOINT
+               assign(*this, source);
+       }
+*/
+
+       ~Iter()
+       {
+SEQAN_CHECKPOINT
+       }
+
+       Iter const & 
+       operator = (Iter const & other_)
+       {
+SEQAN_CHECKPOINT
+               data_container = other_.data_container;
+               data_iterator = other_.data_iterator;
+               return *this;
+       }
+/*
+       template <typename TSource>
+       Iter const & 
+       operator = (TSource & source)
+       {
+SEQAN_CHECKPOINT
+               assign(*this, source);
+               return *this;
+       }
+       template <typename TSource>
+       Iter const & 
+       operator = (TSource const & source)
+       {
+SEQAN_CHECKPOINT
+               assign(*this, source);
+               return *this;
+       }
+*/
+//____________________________________________________________________________
+
+       friend inline typename _Parameter<TContainer>::Type 
+       container(Iter & me)
+       {
+SEQAN_CHECKPOINT
+               return _toParameter<TContainer>(me.data_container);
+       }
+       friend inline typename _Parameter<TContainer>::Type 
+       container(Iter const & me)
+       {
+SEQAN_CHECKPOINT
+               return _toParameter<TContainer>(me.data_container);
+       }
+//____________________________________________________________________________
+
+       friend inline void
+       setContainer(Iter & me, typename _Parameter<TContainer>::Type container_)
+       {
+SEQAN_CHECKPOINT
+               if (me.data_container && me.data_iterator != TIterator())
+               {
+                       typename Position<Iter>::Type pos = position(me);
+                       me.data_container = _toPointer(container_);
+                       setPosition(me, pos);
+               }
+               else
+               {       
+                       me.data_container = _toPointer(container_);
+               }
+       }
+
+//____________________________________________________________________________
+
+       friend inline TIterator &
+       hostIterator(Iter & me)
+       {
+SEQAN_CHECKPOINT
+               return me.data_iterator;
+       }
+       friend inline TIterator const &
+       hostIterator(Iter const & me)
+       {
+SEQAN_CHECKPOINT
+               return me.data_iterator;
+       }
+
+//____________________________________________________________________________
+
+       operator TIterator () const
+       {
+SEQAN_CHECKPOINT
+               return data_iterator;
+       }
+
+//____________________________________________________________________________
+};
+
+//////////////////////////////////////////////////////////////////////////////
+// METAFUNCTIONS
+//////////////////////////////////////////////////////////////////////////////
+/*
+template <typename TContainer, typename TIterator, typename TSpec>
+struct Reference<Iter<TContainer, AdaptorIterator<TIterator, TSpec> > const>:
+       Reference<TIterator const>
+{
+};
+*/
+
+//////////////////////////////////////////////////////////////////////////////
+// FUNCTIONS
+//////////////////////////////////////////////////////////////////////////////
+
+//////////////////////////////////////////////////////////////////////////////
+// position
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TContainer, typename TIterator, typename TSpec>
+inline typename Position<Iter<TContainer, AdaptorIterator<TIterator, TSpec> > const>::Type 
+position(Iter<TContainer, AdaptorIterator<TIterator, TSpec> > const & me)
+{
+SEQAN_CHECKPOINT
+       return hostIterator(me) - begin(container(me), Standard());
+}
+
+//____________________________________________________________________________
+
+template <typename TContainer, typename TIterator, typename TSpec, typename TContainer2>
+inline typename Position<Iter<TContainer, AdaptorIterator<TIterator, TSpec> > const>::Type 
+position(Iter<TContainer, AdaptorIterator<TIterator, TSpec> > const & me,
+                TContainer2 const &)
+{
+SEQAN_CHECKPOINT
+       return hostIterator(me) - begin(container(me), Standard());
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// setPosition
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TContainer, typename TIterator, typename TSpec, typename TPosition>
+inline void 
+setPosition(Iter<TContainer, AdaptorIterator<TIterator, TSpec> > & me,
+                       TPosition pos_)
+{
+SEQAN_CHECKPOINT
+       hostIterator(me) = begin(container(me), Standard()) + pos_;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// value
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TContainer, typename TIterator, typename TSpec>
+inline typename Reference<Iter<TContainer, AdaptorIterator<TIterator, TSpec> > >::Type 
+value(Iter<TContainer, AdaptorIterator<TIterator, TSpec> > & me)
+{
+SEQAN_CHECKPOINT
+       return value(hostIterator(me));
+}
+template <typename TContainer, typename TIterator, typename TSpec>
+inline typename Reference<Iter<TContainer, AdaptorIterator<TIterator, TSpec> > const>::Type 
+value(Iter<TContainer, AdaptorIterator<TIterator, TSpec> > const & me)
+{
+SEQAN_CHECKPOINT
+       return value(hostIterator(me));
+}
+
+/////////////////////////////////////////////////////////////////////////////
+// assignValue
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TContainer, typename TIterator, typename TSpec, typename TValue>
+inline void
+assignValue(Iter<TContainer, AdaptorIterator<TIterator, TSpec> > & me,
+                       TValue const & _value)
+{
+SEQAN_CHECKPOINT
+       assignValue(hostIterator(me), _value);
+}
+template <typename TContainer, typename TIterator, typename TSpec, typename TValue>
+inline void
+assignValue(Iter<TContainer, AdaptorIterator<TIterator, TSpec> > const & me,
+                       TValue const & _value)
+{
+SEQAN_CHECKPOINT
+       assignValue(hostIterator(me), _value);
+}
+
+/////////////////////////////////////////////////////////////////////////////
+// moveValue
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TContainer, typename TIterator, typename TSpec, typename TValue>
+inline void
+moveValue(Iter<TContainer, AdaptorIterator<TIterator, TSpec> > & me,
+                 TValue const & _value)
+{
+SEQAN_CHECKPOINT
+       moveValue(hostIterator(me), _value);
+}
+template <typename TContainer, typename TIterator, typename TSpec, typename TValue>
+inline void
+moveValue(Iter<TContainer, AdaptorIterator<TIterator, TSpec> > const & me,
+                 TValue const & _value)
+{
+SEQAN_CHECKPOINT
+       moveValue(hostIterator(me), _value);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// operator ==
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TContainer, typename TIterator, typename TSpec>
+inline bool 
+operator == (Iter<TContainer, AdaptorIterator<TIterator, TSpec> > const & left,
+                        Iter<TContainer, AdaptorIterator<TIterator, TSpec> > const & right)
+{
+SEQAN_CHECKPOINT
+       return hostIterator(left) == hostIterator(right);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// operator !=
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TContainer, typename TIterator, typename TSpec>
+inline bool 
+operator != (Iter<TContainer, AdaptorIterator<TIterator, TSpec> > const & left,
+                        Iter<TContainer, AdaptorIterator<TIterator, TSpec> > const & right)
+{
+SEQAN_CHECKPOINT
+       return hostIterator(left) != hostIterator(right);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// goNext
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TContainer, typename TIterator, typename TSpec>
+inline void
+goNext(Iter<TContainer, AdaptorIterator<TIterator, TSpec> > & me)
+{
+SEQAN_CHECKPOINT
+       goNext(hostIterator(me));
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// goPrevious
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TContainer, typename TIterator, typename TSpec>
+inline void
+goPrevious(Iter<TContainer, AdaptorIterator<TIterator, TSpec> > & me)
+{
+SEQAN_CHECKPOINT
+       goPrevious(hostIterator(me));
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// operator +
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TContainer, typename TIterator, typename TSpec, typename TIntegral>
+inline Iter<TContainer, AdaptorIterator<TIterator, TSpec> >  
+operator + (Iter<TContainer, AdaptorIterator<TIterator, TSpec> > const & left,
+                       TIntegral right)
+{
+SEQAN_CHECKPOINT
+       return Iter<TContainer, AdaptorIterator<TIterator, TSpec> >(container(left), hostIterator(left) + right);
+}
+// for <anonymous enum> types
+template <typename TContainer, typename TIterator, typename TSpec>
+inline Iter<TContainer, AdaptorIterator<TIterator, TSpec> >  
+operator + (Iter<TContainer, AdaptorIterator<TIterator, TSpec> > const & left,
+                       int right)
+{
+SEQAN_CHECKPOINT
+       return Iter<TContainer, AdaptorIterator<TIterator, TSpec> >(container(left), hostIterator(left) + right);
+}
+
+template <typename TContainer, typename TIterator, typename TSpec, typename TIntegral>
+inline Iter<TContainer, AdaptorIterator<TIterator, TSpec> >  
+operator + (TIntegral left,
+                       Iter<TContainer, AdaptorIterator<TIterator, TSpec> > const & right)
+{
+SEQAN_CHECKPOINT
+       return Iter<TContainer, AdaptorIterator<TIterator, TSpec> >(container(right), hostIterator(right) + left);
+}
+// for <anonymous enum> types
+template <typename TContainer, typename TIterator, typename TSpec>
+inline Iter<TContainer, AdaptorIterator<TIterator, TSpec> >  
+operator + (int left,
+                       Iter<TContainer, AdaptorIterator<TIterator, TSpec> > const & right)
+{
+SEQAN_CHECKPOINT
+       return Iter<TContainer, AdaptorIterator<TIterator, TSpec> >(container(right), hostIterator(right) + left);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// operator +=
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TContainer, typename TIterator, typename TSpec, typename TIntegral>
+inline Iter<TContainer, AdaptorIterator<TIterator, TSpec> > &
+operator += (Iter<TContainer, AdaptorIterator<TIterator, TSpec> > & left,
+                        TIntegral right)
+{
+SEQAN_CHECKPOINT
+       hostIterator(left) += right;
+       return left;
+}
+// for <anonymous enum> types
+template <typename TContainer, typename TIterator, typename TSpec>
+inline Iter<TContainer, AdaptorIterator<TIterator, TSpec> > &
+operator += (Iter<TContainer, AdaptorIterator<TIterator, TSpec> > & left,
+                        int right)
+{
+SEQAN_CHECKPOINT
+       hostIterator(left) += right;
+       return left;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// operator -
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TContainer, typename TIterator, typename TSpec, typename TIntegral>
+inline Iter<TContainer, AdaptorIterator<TIterator, TSpec> >  
+operator - (Iter<TContainer, AdaptorIterator<TIterator, TSpec> > const & left,
+                       TIntegral right)
+{
+SEQAN_CHECKPOINT
+       return Iter<TContainer, AdaptorIterator<TIterator, TSpec> >(container(left), hostIterator(left) - right);
+}
+// for <anonymous enum> types
+template <typename TContainer, typename TIterator, typename TSpec>
+inline Iter<TContainer, AdaptorIterator<TIterator, TSpec> >  
+operator - (Iter<TContainer, AdaptorIterator<TIterator, TSpec> > const & left,
+                       int right)
+{
+SEQAN_CHECKPOINT
+       return Iter<TContainer, AdaptorIterator<TIterator, TSpec> >(container(left), hostIterator(left) - right);
+}
+
+//____________________________________________________________________________
+
+template <typename TContainer, typename TIterator, typename TSpec>
+inline typename Difference<Iter<TContainer, AdaptorIterator<TIterator, TSpec> > >::Type  
+operator - (Iter<TContainer, AdaptorIterator<TIterator, TSpec> > const & left,
+                       Iter<TContainer, AdaptorIterator<TIterator, TSpec> > const & right)
+{
+SEQAN_CHECKPOINT
+       return hostIterator(left) - hostIterator(right);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// operator -=
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TContainer, typename TIterator, typename TSpec, typename TIntegral>
+inline Iter<TContainer, AdaptorIterator<TIterator, TSpec> > &
+operator -= (Iter<TContainer, AdaptorIterator<TIterator, TSpec> > & left,
+                        TIntegral right)
+{
+SEQAN_CHECKPOINT
+       hostIterator(left) -= right;
+       return left;
+}
+// for <anonymous enum> types
+template <typename TContainer, typename TIterator, typename TSpec>
+inline Iter<TContainer, AdaptorIterator<TIterator, TSpec> > &
+operator -= (Iter<TContainer, AdaptorIterator<TIterator, TSpec> > & left,
+                        int right)
+{
+SEQAN_CHECKPOINT
+       hostIterator(left) -= right;
+       return left;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////////
+// atEnd
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TContainer, typename TIterator, typename TSpec>
+inline bool
+atEnd(Iter<TContainer, AdaptorIterator<TIterator, TSpec> > & me)
+{
+SEQAN_CHECKPOINT
+       return atEnd(me, container(me));
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// assign (Conversion)
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TTargetContainer, typename TIterator, typename TSpec, typename TSource>
+inline void
+assign(Iter<TTargetContainer, AdaptorIterator<TIterator, TSpec> > & target,
+          TSource const & source)
+{
+SEQAN_CHECKPOINT
+       target.data_container = container(source);
+       target.data_iterator = begin(container(source)) + position(source);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+} //namespace SEQAN_NAMESPACE_MAIN
+
+#endif //#ifndef SEQAN_HEADER_...
diff --git a/SeqAn-1.1/seqan/basic/basic_iterator_base.h b/SeqAn-1.1/seqan/basic/basic_iterator_base.h
new file mode 100644 (file)
index 0000000..4c3049a
--- /dev/null
@@ -0,0 +1,221 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de 
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: basic_iterator_base.h,v 1.1 2008/08/25 16:20:01 langmead Exp $
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_BASIC_ITERATOR_BASE_H
+#define SEQAN_HEADER_BASIC_ITERATOR_BASE_H
+
+namespace SEQAN_NAMESPACE_MAIN
+{
+//////////////////////////////////////////////////////////////////////////////
+// Iter
+//////////////////////////////////////////////////////////////////////////////
+/**
+.Class.Iter:
+..cat:Basic
+..summary:Iterator that is used to traverse containers.
+..signature:Iter<TContainer, TSpec>
+..param.TContainer:Type of the container that can be iterated by $Iter$.
+...metafunction:Metafunction.Container
+..param.TSpec:The specializing type.
+...metafunction:Metafunction.Spec
+..implements:Concept.Iterator
+*/
+template <typename TContainer, typename TSpec>
+class Iter;
+
+//////////////////////////////////////////////////////////////////////////////
+///.Metafunction.Spec.param.T.type:Class.Iter
+
+template <typename TContainer, typename TSpec>
+struct Spec<Iter<TContainer, TSpec> >
+{
+       typedef TSpec Type;
+};
+template <typename TContainer, typename TSpec>
+struct Spec<Iter<TContainer, TSpec> const>
+{
+       typedef TSpec Type;
+};
+
+//////////////////////////////////////////////////////////////////////////////
+
+///.Metafunction.Value.param.T.type:Class.Iter
+
+template <typename TContainer, typename TSpec>
+struct Value<Iter<TContainer, TSpec> >:
+       Value<TContainer>
+{
+};
+template <typename TContainer, typename TSpec>
+struct Value<Iter<TContainer, TSpec> const>:
+       Value<TContainer>
+{
+};
+
+//////////////////////////////////////////////////////////////////////////////
+
+///.Metafunction.GetValue.param.T.type:Class.Iter
+
+template <typename TContainer, typename TSpec>
+struct GetValue<Iter<TContainer, TSpec> >:
+       GetValue<TContainer>
+{
+};
+template <typename TContainer, typename TSpec>
+struct GetValue<Iter<TContainer, TSpec> const>:
+       GetValue<TContainer>
+{
+};
+
+//////////////////////////////////////////////////////////////////////////////
+
+///.Metafunction.Reference.param.T.type:Class.Iter
+
+template <typename TContainer, typename TSpec>
+struct Reference<Iter<TContainer, TSpec> >:
+       Reference<TContainer>
+{
+};
+template <typename TContainer, typename TSpec>
+struct Reference<Iter<TContainer, TSpec> const>:
+       Reference<TContainer>
+{
+};
+
+//////////////////////////////////////////////////////////////////////////////
+
+///.Metafunction.Container.param.T.type:Class.Iter
+
+template <typename T> struct Container;
+
+template <typename TContainer, typename TSpec>
+struct Container<Iter<TContainer, TSpec> >
+{
+       typedef TContainer Type;
+};
+template <typename TContainer, typename TSpec>
+struct Container<Iter<TContainer, TSpec> const>
+{
+       typedef TContainer Type;
+};
+
+//////////////////////////////////////////////////////////////////////////////
+
+/*
+///.Metafunction.Host.param.T.type:Class.Iter
+
+template <typename TContainer, typename TSpec>
+struct Host<Iter<TContainer, TSpec> >:
+       Container<Iter<TContainer, TSpec> >
+{
+};
+template <typename TContainer, typename TSpec>
+struct Host<Iter<TContainer, TSpec> const>:
+       Container<Iter<TContainer, TSpec> const>
+{
+};
+*/
+
+//////////////////////////////////////////////////////////////////////////////
+// operator *
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TContainer, typename TSpec>
+inline typename Reference<Iter<TContainer, TSpec> >::Type 
+operator * (Iter<TContainer, TSpec> & me)
+{
+SEQAN_CHECKPOINT
+       return value(me);
+}
+template <typename TContainer, typename TSpec>
+inline typename Reference<Iter<TContainer, TSpec> const>::Type 
+operator * (Iter<TContainer, TSpec> const & me)
+{
+SEQAN_CHECKPOINT
+       return value(me);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// operator ++
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TContainer, typename TSpec>
+inline Iter<TContainer, TSpec> const &
+operator ++ (Iter<TContainer, TSpec> & me)
+{
+SEQAN_CHECKPOINT
+       goNext(me);
+       return me;
+}
+
+template <typename TContainer, typename TSpec>
+inline Iter<TContainer, TSpec> const
+operator ++ (Iter<TContainer, TSpec> & me, int)
+{
+SEQAN_CHECKPOINT
+       Iter<TContainer, TSpec> temp_(me);
+       goNext(me);
+       return temp_;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// operator --
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TContainer, typename TSpec>
+inline Iter<TContainer, TSpec> const &
+operator -- (Iter<TContainer, TSpec> & me)
+{
+SEQAN_CHECKPOINT
+       goPrevious(me);
+       return me;
+}
+
+template <typename TContainer, typename TSpec>
+inline Iter<TContainer, TSpec> const
+operator -- (Iter<TContainer, TSpec> & me, int)
+{
+SEQAN_CHECKPOINT
+       Iter<TContainer, TSpec> temp_(me);
+       goPrevious(me);
+       return temp_;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// position
+//////////////////////////////////////////////////////////////////////////////
+
+//most Iter classes are rooted strings
+
+template <typename TContainer, typename TSpec, typename TContainer2>
+inline typename Position<Iter<TContainer, TSpec> const>::Type 
+position(Iter<TContainer, TSpec> const & me,
+                TContainer2 const &)
+{
+SEQAN_CHECKPOINT
+       return position(me);
+}
+
+
+//////////////////////////////////////////////////////////////////////////////
+
+} //namespace SEQAN_NAMESPACE_MAIN
+
+#endif //#ifndef SEQAN_HEADER_...
diff --git a/SeqAn-1.1/seqan/basic/basic_iterator_position.h b/SeqAn-1.1/seqan/basic/basic_iterator_position.h
new file mode 100644 (file)
index 0000000..adc4222
--- /dev/null
@@ -0,0 +1,450 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de 
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: basic_iterator_position.h,v 1.1 2008/08/25 16:20:01 langmead Exp $
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_BASIC_ITERATOR_POSITION_H
+#define SEQAN_HEADER_BASIC_ITERATOR_POSITION_H
+
+namespace SEQAN_NAMESPACE_MAIN
+{
+//////////////////////////////////////////////////////////////////////////////
+// Tag
+
+struct PositionIterator;
+
+//////////////////////////////////////////////////////////////////////////////
+// Position Iterator
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Spec.Position Iterator:
+..cat:Iterators
+..general:Class.Iter
+..summary:Adapts @Metafunction.Position.position@ to @Concept.Rooted Iterator.iterator@.
+..signature:Iter<TContainer, PositionIterator>
+..param.TContainer:Type of the container.
+...metafunction:Metafunction.Container
+..remarks
+...text:Position Iterators provide the concept @Concept.Rooted Iterator@.
+..see:Metafunction.Position
+*/
+
+template <typename TContainer>
+class Iter<TContainer, PositionIterator>
+{
+public:
+       typedef typename Position<TContainer>::Type TPosition;
+
+       typename _Pointer<TContainer>::Type data_container;
+       TPosition data_position;
+//____________________________________________________________________________
+
+public:
+/**
+.Memfunc.PositionIterator#Iter:
+..class:Spec.Position Iterator
+..summary:Constructor
+..signature:Iter()
+..signature:Iter(iter)
+..signature:Iter(container [, position])
+..param.iter:Another position iterator object.
+..param.container:The corresponding container object.
+...metafunction:Metafunction.Container
+..param.position:A position in $container$. (optional)
+...metafunction:Metafunction.Position
+...remarks.text:If this argument is omitted, the adaptor iterator is initialized to the @Function.beginPosition.begin position@ of $container$.
+*/
+       Iter()
+       {
+SEQAN_CHECKPOINT
+       }
+       Iter(typename _Parameter<TContainer>::Type container_, TPosition position_ = 0):
+               data_container(_toPointer(container_)),
+               data_position(position_)
+       {
+SEQAN_CHECKPOINT
+       }
+       Iter(Iter const & other_):
+               data_container(other_.data_container),
+               data_position(other_.data_position)
+       {
+SEQAN_CHECKPOINT
+       }
+       template <typename TContainer2, typename TSpec2>
+       Iter(Iter<TContainer2, TSpec2> const & other_)
+       {
+SEQAN_CHECKPOINT
+               assign(*this, other_);
+       }
+       ~Iter()
+       {
+SEQAN_CHECKPOINT
+       }
+       Iter const & 
+       operator = (Iter const & other_)
+       {
+SEQAN_CHECKPOINT
+               data_container = other_.data_container;
+               data_position = other_.data_position;
+               return *this;
+       }
+//____________________________________________________________________________
+
+       friend inline typename _Parameter<TContainer>::Type 
+       container(Iter & me)
+       {
+SEQAN_CHECKPOINT
+               return _toParameter<TContainer>(me.data_container);
+       }
+       friend inline typename _Parameter<TContainer>::Type 
+       container(Iter const & me)
+       {
+SEQAN_CHECKPOINT
+               return _toParameter<TContainer>(me.data_container);
+       }
+//____________________________________________________________________________
+
+       friend inline void
+       setContainer(Iter & me, typename _Parameter<TContainer>::Type container_)
+       {
+SEQAN_CHECKPOINT
+               typename Position<Iter>::Type pos = position(me);
+               me.data_container = _toPointer(container_);
+               setPosition(me, pos);
+       }
+
+//____________________________________________________________________________
+
+       friend inline TPosition &
+       position(Iter & me)
+       {
+SEQAN_CHECKPOINT
+               return me.data_position;
+       }
+       friend inline TPosition const &
+       position(Iter const & me)
+       {
+SEQAN_CHECKPOINT
+               return me.data_position;
+       }
+//____________________________________________________________________________
+
+       friend inline void
+       setPosition(Iter & me, TPosition position_)
+       {
+SEQAN_CHECKPOINT
+               me.data_position = position_;
+       }
+//____________________________________________________________________________
+};
+
+//////////////////////////////////////////////////////////////////////////////
+// value
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TContainer>
+inline typename Reference<Iter<TContainer, PositionIterator> >::Type 
+value(Iter<TContainer, PositionIterator> & me)
+{
+SEQAN_CHECKPOINT
+       return value(container(me), position(me));
+}
+template <typename TContainer>
+inline typename Reference<Iter<TContainer, PositionIterator> >::Type 
+value(Iter<TContainer, PositionIterator> const & me)
+{
+SEQAN_CHECKPOINT
+       return value(container(me), position(me));
+}
+
+/////////////////////////////////////////////////////////////////////////////
+// assignValue
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TContainer, typename TValue>
+inline void
+assignValue(Iter<TContainer, PositionIterator> & me,
+                       TValue _value)
+{
+SEQAN_CHECKPOINT
+       assignValue(container(me), position(me), _value);
+}
+template <typename TContainer, typename TValue>
+inline void
+assignValue(Iter<TContainer, PositionIterator> const & me,
+                       TValue _value)
+{
+SEQAN_CHECKPOINT
+       assignValue(container(me), position(me), _value);
+}
+
+/////////////////////////////////////////////////////////////////////////////
+// moveValue
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TContainer, typename TValue>
+inline void
+moveValue(Iter<TContainer, PositionIterator> & me,
+                 TValue _value)
+{
+SEQAN_CHECKPOINT
+       moveValue(container(me), position(me), _value);
+}
+template <typename TContainer, typename TValue>
+inline void
+moveValue(Iter<TContainer, PositionIterator> const & me,
+                 TValue _value)
+{
+SEQAN_CHECKPOINT
+       moveValue(container(me), position(me), _value);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// operator ==
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TContainer>
+inline bool 
+operator == (Iter<TContainer, PositionIterator> const & left,
+                        Iter<TContainer, PositionIterator> const & right)
+{
+SEQAN_CHECKPOINT
+       return position(left) == position(right);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// operator !=
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TContainer>
+inline bool 
+operator != (Iter<TContainer, PositionIterator> const & left,
+                        Iter<TContainer, PositionIterator> const & right)
+{
+SEQAN_CHECKPOINT
+       return position(left) != position(right);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// operator < / >
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TContainer>
+inline bool 
+operator < (Iter<TContainer, PositionIterator> const & left,
+                       Iter<TContainer, PositionIterator> const & right)
+{
+SEQAN_CHECKPOINT
+       return position(left) < position(right);
+}
+
+template <typename TContainer>
+inline bool 
+operator > (Iter<TContainer, PositionIterator> const & left,
+                       Iter<TContainer, PositionIterator> const & right)
+{
+SEQAN_CHECKPOINT
+       return position(left) > position(right);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// operator <= / >=
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TContainer>
+inline bool 
+operator <= (Iter<TContainer, PositionIterator> const & left,
+                        Iter<TContainer, PositionIterator> const & right)
+{
+SEQAN_CHECKPOINT
+       return position(left) <= position(right);
+}
+
+template <typename TContainer>
+inline bool 
+operator >= (Iter<TContainer, PositionIterator> const & left,
+                        Iter<TContainer, PositionIterator> const & right)
+{
+SEQAN_CHECKPOINT
+       return position(left) >= position(right);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// goNext
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TContainer>
+inline void
+goNext(Iter<TContainer, PositionIterator> & me)
+{
+SEQAN_CHECKPOINT
+       setPosition(me, position(me) + 1);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// goPrevious
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TContainer>
+inline void
+goPrevious(Iter<TContainer, PositionIterator> & me)
+{
+SEQAN_CHECKPOINT
+       setPosition(me, position(me) - 1);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// operator +
+//////////////////////////////////////////////////////////////////////////////
+template <typename TContainer, typename TIntegral>
+inline Iter<TContainer, PositionIterator>  
+operator + (Iter<TContainer, PositionIterator> const & left,
+                       TIntegral right)
+{
+SEQAN_CHECKPOINT
+       return Iter<TContainer, PositionIterator>(container(left), position(left) + right);
+}
+// for <anonymous enum> types
+template <typename TContainer>
+inline Iter<TContainer, PositionIterator>  
+operator + (Iter<TContainer, PositionIterator> const & left,
+                       int right)
+{
+SEQAN_CHECKPOINT
+       return Iter<TContainer, PositionIterator>(container(left), position(left) + right);
+}
+
+template <typename TContainer, typename TIntegral>
+inline Iter<TContainer, PositionIterator>  
+operator + (TIntegral left,
+                       Iter<TContainer, PositionIterator> const & right)
+{
+SEQAN_CHECKPOINT
+       return Iter<TContainer, PositionIterator>(container(right), position(right) + left);
+}
+// for <anonymous enum> types
+template <typename TContainer>
+inline Iter<TContainer, PositionIterator>  
+operator + (int left,
+                       Iter<TContainer, PositionIterator> const & right)
+{
+SEQAN_CHECKPOINT
+       return Iter<TContainer, PositionIterator>(container(right), position(right) + left);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// operator +=
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TContainer, typename TIntegral>
+inline Iter<TContainer, PositionIterator> &
+operator += (Iter<TContainer, PositionIterator> & left,
+                        TIntegral right)
+{
+SEQAN_CHECKPOINT
+       setPosition(left, position(left) + right);
+       return left;
+}
+// for <anonymous enum> types
+template <typename TContainer>
+inline Iter<TContainer, PositionIterator> &
+operator += (Iter<TContainer, PositionIterator> & left,
+                        int right)
+{
+SEQAN_CHECKPOINT
+       setPosition(left, position(left) + right);
+       return left;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// operator -
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TContainer, typename TIntegral>
+inline Iter<TContainer, PositionIterator>  
+operator - (Iter<TContainer, PositionIterator> const & left,
+                       TIntegral right)
+{
+SEQAN_CHECKPOINT
+       return Iter<TContainer, PositionIterator>(container(left), position(left) - right);
+}
+// for <anonymous enum> types
+template <typename TContainer>
+inline Iter<TContainer, PositionIterator>  
+operator - (Iter<TContainer, PositionIterator> const & left,
+                       int right)
+{
+SEQAN_CHECKPOINT
+       return Iter<TContainer, PositionIterator>(container(left), position(left) - right);
+}
+
+//____________________________________________________________________________
+
+template <typename TContainer>
+inline typename Difference<TContainer>::Type  
+operator - (Iter<TContainer, PositionIterator> const & left,
+                       Iter<TContainer, PositionIterator> const & right)
+{
+SEQAN_CHECKPOINT
+       return position(left) - position(right);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// operator -=
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TContainer, typename TIntegral>
+inline Iter<TContainer, PositionIterator> &
+operator -= (Iter<TContainer, PositionIterator> & left,
+                        TIntegral right)
+{
+SEQAN_CHECKPOINT
+       setPosition(left, position(left) - right);
+       return left;
+}
+// for <anonymous enum> types
+template <typename TContainer>
+inline Iter<TContainer, PositionIterator> &
+operator -= (Iter<TContainer, PositionIterator> & left,
+                        int right)
+{
+SEQAN_CHECKPOINT
+       setPosition(left, position(left) - right);
+       return left;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// assign (Conversion)
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TTargetContainer, typename TSource>
+inline void
+assign(Iter<TTargetContainer, PositionIterator> & target,
+          TSource const & source)
+{
+SEQAN_CHECKPOINT
+       target.data_container = container(source);
+       target.data_position = position(source);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+} //namespace SEQAN_NAMESPACE_MAIN
+
+#endif //#ifndef SEQAN_HEADER_...
diff --git a/SeqAn-1.1/seqan/basic/basic_iterator_simple.h b/SeqAn-1.1/seqan/basic/basic_iterator_simple.h
new file mode 100644 (file)
index 0000000..8bfe78f
--- /dev/null
@@ -0,0 +1,117 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de 
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: basic_iterator_simple.h,v 1.1 2008/08/25 16:20:01 langmead Exp $
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_BASIC_ITERATOR_SIMPLE_H
+#define SEQAN_HEADER_BASIC_ITERATOR_SIMPLE_H
+
+namespace SEQAN_NAMESPACE_MAIN
+{
+//////////////////////////////////////////////////////////////////////////////
+// Iter
+//////////////////////////////////////////////////////////////////////////////
+
+struct SimpleIterator;
+
+/**
+.Spec.SimpleIterator:
+..cat:Iterators
+..summary:A simple iterator.
+..signature:Iter<TContainer, SimpleIterator>
+..param.TContainer:Type of the container that can be iterated.
+...metafunction:Metafunction.Container
+..general:Class.Iter
+*/
+template <typename TContainer>
+class Iter<TContainer, SimpleIterator>
+{
+public:
+       typedef typename Value<TContainer>::Type TValue;
+       TValue * data_ptr;
+
+       Iter()
+       {
+       }
+       Iter(Iter const & other_):
+               data_ptr(other_.data_ptr)
+       {
+       }
+       Iter(TValue * other_data_ptr):
+               data_ptr(other_data_ptr)
+       {
+       }
+       template <typename TContainer2>
+       Iter(Iter<TContainer2, SimpleIterator> const & other_):
+               data_ptr(other_.data_ptr)
+       {
+       }
+       ~Iter()
+       {
+       }
+       Iter const &
+       operator = (Iter const & other_)
+       {
+               this->data_ptr = other_.data_ptr;
+               return *this;
+       }
+       Iter const &
+       operator = (TValue * other_data_ptr)
+       {
+               data_ptr = other_data_ptr;
+               return *this;
+       }
+       template <typename TContainer2>
+       Iter const &
+       operator = (Iter<TContainer2, SimpleIterator> const & other_)
+       {
+               this->data_ptr = other_.data_ptr;
+               return *this;
+       }
+
+       operator TValue * ()
+       {
+               return data_ptr;
+       }
+};
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename T>
+struct Iterator_Default_Imp<T, Standard>
+{
+       typedef typename Value<T>::Type * Type;
+//     typedef Iter<T, SimpleIterator> Type;
+};
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TContainer, typename TContainer2>
+inline typename Position<Iter<TContainer, SimpleIterator> const>::Type 
+position(Iter<TContainer, SimpleIterator> const & me,
+                TContainer2 const & cont)
+{
+SEQAN_CHECKPOINT
+       return me.data_ptr - begin(cont);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+} //namespace SEQAN_NAMESPACE_MAIN
+
+#endif //#ifndef SEQAN_HEADER_...
diff --git a/SeqAn-1.1/seqan/basic/basic_metaprogramming.h b/SeqAn-1.1/seqan/basic/basic_metaprogramming.h
new file mode 100644 (file)
index 0000000..fffe660
--- /dev/null
@@ -0,0 +1,293 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: basic_metaprogramming.h,v 1.2 2009/02/19 01:51:23 langmead Exp $
+ ==========================================================================*/
+
+#ifndef SEQAN_BASIC_METAPROGRAMMING_H
+#define SEQAN_BASIC_METAPROGRAMMING_H
+
+namespace SEQAN_NAMESPACE_MAIN
+{
+
+       //////////////////////////////////////////////////////////////////////////////
+       // generic "if" (using meta-programming)
+       // if Flag is true,  the resulting type is Type1
+       // if Flag is false, the resulting type is Type2
+       //////////////////////////////////////////////////////////////////////////////
+
+       template <bool Flag,class Type1, class Type2>
+       struct IF
+       {
+               typedef Type1 Type;
+       };
+
+       template <class Type1, class Type2>
+       struct IF<false,Type1,Type2>
+       {
+               typedef Type2 Type;
+       };
+
+
+       //////////////////////////////////////////////////////////////////////////////
+       // generic type comparison (using meta-programming)
+       // if Type1 equals Type2,               VALUE is true
+       // if Type1 differs from Type2, VALUE is false
+       //////////////////////////////////////////////////////////////////////////////
+
+       template <class Type1, class Type2>
+       struct TYPECMP
+       {
+               typedef False Type;
+               enum { VALUE = false };
+       };
+
+       template <class Type1>
+       struct TYPECMP<Type1, Type1>
+       {
+               typedef True Type;
+               enum { VALUE = true };
+       };
+
+       //////////////////////////////////////////////////////////////////////////////
+       // generic "switch" (using meta-programming)
+       //////////////////////////////////////////////////////////////////////////////
+
+       const int DEFAULT = ~(~0u >> 1); // initialize with the smallest int
+
+       struct NilCase {};
+
+       template <int tag_,class Type_,class Next_ = NilCase>
+       struct CASE
+       {
+               enum { tag = tag_ };
+               typedef Type_ Type;
+               typedef Next_ Next;
+       };
+
+       template <int tag,class Case>
+       class SWITCH
+       {
+               typedef typename Case::Next NextCase;
+               enum
+               {
+                       caseTag = Case::tag,
+                       found   = (caseTag == tag || caseTag == DEFAULT)
+               };
+       public:
+               typedef typename
+                       IF<
+                               found,
+                               typename Case::Type,
+                               typename SWITCH<tag,NextCase>::Type
+                       >::Type Type;
+       };
+
+       template <int tag>
+       class SWITCH<tag,NilCase>
+       {
+       public:
+               typedef NilCase Type;
+       };
+
+
+       //////////////////////////////////////////////////////////////////////////////
+       // generic loops (using meta-programming)
+       // corresponds to for(i=1; i<=I; ++i) ...
+       //////////////////////////////////////////////////////////////////////////////
+
+       // example of a loop Worker class
+       struct WorkerNothing
+       {
+               template <typename Arg>
+               static inline void body(Arg &arg, int I) {}
+       };
+
+       template <typename Worker, int I>
+       class LOOP {
+       public:
+               template <typename Arg>
+               static inline void run(Arg &arg) {
+                       LOOP<Worker, I - 1>::run(arg);
+                       Worker::body(arg, I);
+               }
+       };
+
+       template <typename Worker>
+       class LOOP<Worker, 0> {
+       public:
+               // end of loop
+               template <typename Arg>
+               static inline void run(Arg &) {}
+       };
+
+       //////////////////////////////////////////////////////////////////////////////
+       // generic reverse loops (using meta-programming)
+       // corresponds to for(i=I; i>0; --i) ...
+       //////////////////////////////////////////////////////////////////////////////
+
+       template <typename Worker, int I>
+       class LOOP_REVERSE {
+       public:
+               template <typename Arg>
+               static inline void run(Arg &arg) {
+                       Worker::body(arg, I);
+                       LOOP_REVERSE<Worker, I - 1>::run(arg);
+               }
+       };
+
+       template <typename Worker>
+       class LOOP_REVERSE<Worker, 0> {
+       public:
+               // end of loop
+               template <typename Arg>
+               static inline void run(Arg &) {}
+       };
+
+       //////////////////////////////////////////////////////////////////////////////
+       // logarithmus dualis (using meta-programming)
+       //////////////////////////////////////////////////////////////////////////////
+
+       template < __int64 numerus >
+       struct Log2 {
+               enum { VALUE = Log2<(numerus + 1) / 2>::VALUE + 1 };            // ceil(log_2(n))
+       };
+
+       template < __int64 numerus >
+       struct Log2Floor {
+               enum { VALUE = Log2Floor<numerus / 2>::VALUE + 1 };             // floor(log_2(n))
+       };
+
+       template <> struct Log2<1> { enum { VALUE = 0 }; };
+       template <> struct Log2<0> { enum { VALUE = 0 }; };
+       template <> struct Log2Floor<1> { enum { VALUE = 0 }; };
+       template <> struct Log2Floor<0> { enum { VALUE = 0 }; };
+
+
+       //////////////////////////////////////////////////////////////////////////////
+       // exponentiation (using meta-programming)
+       //////////////////////////////////////////////////////////////////////////////
+
+       template < __int64 base, __int64 exponent >
+       struct Power {
+               enum {
+                       VALUE =
+                               Power<base, exponent / 2>::VALUE *
+                               Power<base, exponent - (exponent / 2)>::VALUE
+               };
+       };
+
+       template < __int64 base > struct Power<base, 1> { enum { VALUE = base }; };
+       template < __int64 base > struct Power<base, 0> { enum { VALUE = 1 }; };
+
+
+       //////////////////////////////////////////////////////////////////////////////
+       // memset with fill size (using meta-programming)
+       //////////////////////////////////////////////////////////////////////////////
+
+       using ::memset;
+
+       template <unsigned SIZE, bool direct>
+       struct MemsetWorker {
+               finline static void run(unsigned char* ptr, unsigned char c) { memset(ptr, c, SIZE); }
+       };
+
+       template <unsigned  SIZE>
+       struct MemsetWorker<SIZE, true> {
+               finline static void run(unsigned char* ptr, unsigned char c) {
+                       *((unsigned*)ptr) = ((unsigned)c << 24) + ((unsigned)c << 16) + ((unsigned)c << 8) + (unsigned)c;
+                       MemsetWorker<SIZE - 4, true>::run(ptr + 4, c);
+               }
+       };
+
+       template <>
+       struct MemsetWorker<0, true> {
+               finline static void run(unsigned char*, unsigned char) {}
+       };
+
+       template <>
+       struct MemsetWorker<1, true> {
+               finline static void run(unsigned char* ptr, unsigned char c) { *ptr = c; }
+       };
+
+       template <>
+       struct MemsetWorker<2, true> {
+               finline static void run(unsigned char* ptr, unsigned char c) { *(unsigned short *)ptr = ((unsigned short)c << 8) + (unsigned short)c; }
+       };
+
+       template <>
+       struct MemsetWorker<3, true> {
+               finline static void run(unsigned char* ptr, unsigned char c) {
+                       MemsetWorker<2, true>::run(ptr, c);
+                       MemsetWorker<1, true>::run(ptr + 2, c);
+               }
+       };
+
+       template <unsigned SIZE>
+       finline void memset(void* ptr, unsigned char c) {
+               MemsetWorker<SIZE, SIZE <= 32>::run((unsigned char*)ptr, c);
+       }
+
+
+       //////////////////////////////////////////////////////////////////////////////
+       // memset with fill value (using meta-programming)
+       //////////////////////////////////////////////////////////////////////////////
+
+       template <unsigned SIZE, bool direct, unsigned char c>
+       struct MemsetConstValueWorker {
+               finline static void run(unsigned char* ptr) { memset(ptr, c, SIZE); }
+       };
+
+       template <unsigned  SIZE, unsigned char c>
+       struct MemsetConstValueWorker<SIZE, true, c> {
+               finline static void run(unsigned char* ptr) {
+                       *((unsigned*)ptr) = ((unsigned)c << 24) + ((unsigned)c << 16) + ((unsigned)c << 8) + (unsigned)c;
+                       MemsetConstValueWorker<SIZE - 4, true, c>::run(ptr + 4);
+               }
+       };
+
+       template <unsigned char c>
+       struct MemsetConstValueWorker<0, true, c> {
+               finline static void run(unsigned char* ptr) {}
+       };
+
+       template <unsigned char c>
+       struct MemsetConstValueWorker<1, true, c> {
+               finline static void run(unsigned char* ptr) { *ptr = c; }
+       };
+
+       template <unsigned char c>
+       struct MemsetConstValueWorker<2, true, c> {
+               finline static void run(unsigned char* ptr) { *(unsigned short *)ptr = ((unsigned short)c << 8) + (unsigned short)c; }
+       };
+
+       template <unsigned char c>
+       struct MemsetConstValueWorker<3, true, c> {
+               finline static void run(unsigned char* ptr) {
+                       MemsetConstValueWorker<2, true, c>::run(ptr);
+                       MemsetConstValueWorker<1, true, c>::run(ptr + 2);
+               }
+       };
+
+       template <unsigned SIZE, unsigned char c>
+       finline void memset(void* ptr) {
+               MemsetConstValueWorker<SIZE, SIZE <= 32, c>::run((unsigned char*)ptr);
+       }
+
+}
+
+#endif
diff --git a/SeqAn-1.1/seqan/basic/basic_operator.h b/SeqAn-1.1/seqan/basic/basic_operator.h
new file mode 100644 (file)
index 0000000..2bd48d9
--- /dev/null
@@ -0,0 +1,32 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de 
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: basic_operator.h,v 1.1 2008/08/25 16:20:01 langmead Exp $
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_BASIC_OPERATOR_H
+#define SEQAN_HEADER_BASIC_OPERATOR_H
+
+namespace SEQAN_NAMESPACE_MAIN
+{
+
+
+} //namespace SEQAN_NAMESPACE_MAIN
+
+#endif //#ifndef SEQAN_HEADER_...
+
+
diff --git a/SeqAn-1.1/seqan/basic/basic_pointer.h b/SeqAn-1.1/seqan/basic/basic_pointer.h
new file mode 100644 (file)
index 0000000..83825c0
--- /dev/null
@@ -0,0 +1,103 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de 
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: basic_pointer.h,v 1.1 2008/08/25 16:20:01 langmead Exp $
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_BASIC_POINTER_H
+#define SEQAN_HEADER_BASIC_POINTER_H
+
+namespace SEQAN_NAMESPACE_MAIN
+{
+
+//////////////////////////////////////////////////////////////////////////////
+
+//////////////////////////////////////////////////////////////////////////////
+
+///.Metafunction.Value.param.T.type:Adaption.char array
+
+template <typename TValue>
+struct Value< TValue * >
+{
+       typedef TValue Type;
+};
+template <typename TValue>
+struct Value< TValue * const>
+{
+       typedef TValue Type;
+};
+
+//The next two metafunctions dont work in VC++ due to a compiler bug.
+//(the default implementation in common_type.h is called instead)
+//work-around: convert arrays to pointers.
+template <typename TValue, size_t SIZE>
+struct Value< TValue [SIZE] >
+{
+       typedef TValue Type;
+};
+template <typename TValue, size_t SIZE>
+struct Value< TValue const [SIZE] >
+{
+       typedef TValue const Type;
+};
+
+//////////////////////////////////////////////////////////////////////////////
+
+///.Metafunction.Iterator.param.T.type:Adaption.char array
+
+template <typename TValue>
+struct Iterator< TValue *, Standard>
+{
+       typedef TValue * Type;
+};
+template <typename TValue>
+struct Iterator< TValue * const, Standard>
+{
+       typedef TValue * Type;
+};
+
+//____________________________________________________________________________
+
+template <typename TValue, size_t SIZE>
+struct Iterator< TValue [SIZE], Standard>:
+       Iterator<TValue *, Standard>
+{
+};
+template <typename TValue, size_t SIZE>
+struct Iterator< TValue const [SIZE], Standard>:
+       Iterator<TValue const *, Standard>
+{
+};
+
+template <typename TValue, size_t SIZE>
+struct Iterator< TValue [SIZE], Rooted>:
+       Iterator<TValue *, Rooted>
+{
+};
+template <typename TValue, size_t SIZE>
+struct Iterator< TValue const [SIZE], Rooted>:
+       Iterator<TValue const *, Rooted>
+{
+};
+
+
+
+
+//////////////////////////////////////////////////////////////////////////////
+}// namespace SEQAN_NAMESPACE_MAIN
+
+#endif //#ifndef SEQAN_HEADER_...
diff --git a/SeqAn-1.1/seqan/basic/basic_profile.h b/SeqAn-1.1/seqan/basic/basic_profile.h
new file mode 100644 (file)
index 0000000..edcf42b
--- /dev/null
@@ -0,0 +1,503 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de 
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: basic_profile.h,v 1.1 2008/08/25 16:20:02 langmead Exp $
+ ==========================================================================*/
+
+//SEQAN_NO_GENERATED_FORWARDS: no forwards are generated for this file
+
+#ifndef SEQAN_HEADER_BASIC_PROFILE_H
+#define SEQAN_HEADER_BASIC_PROFILE_H
+
+// todo: substitute defines with inlines
+#ifndef SEQAN_PROFILE
+
+    #define SEQAN_PROSET(i,v)
+    #define SEQAN_PROADD(i,v)
+    #define SEQAN_PROSUB(i,v)
+       #define SEQAN_PROVAL(i)                         0
+    #define SEQAN_PROEXTRAS(i)
+    #define SEQAN_PROMARK(m)
+    #define SEQAN_PROENDMARK(m)
+    #define SEQAN_PRORESET
+       #define SEQAN_PROGETTIME                        0
+    #define SEQAN_PROTIMESTART(a)
+    #define SEQAN_PROTIMEDIFF(a)               0
+       // replace malloc and free in external tools
+       // with SEQAN_PROMALLOC and SEQAN_PROFREE to profile
+       // their memory usage
+    #define SEQAN_PROMALLOC(s)                         malloc(s)
+    #define SEQAN_PROFREE(p)                   free(p)
+
+#else
+
+    #define SEQAN_PROSET(i,v)                  _proSet(i,v)
+    #define SEQAN_PROADD(i,v)                  _proAdd(i,v)
+    #define SEQAN_PROSUB(i,v)                  _proSub(i,v)
+       #define SEQAN_PROVAL(i)                         (_proData<>::_proValue[i])
+    #define SEQAN_PROEXTRAS(i)                 {_proData<>::_proExtraCount = i;}
+    #define SEQAN_PROMARK(m)                   _proMark(m)
+    #define SEQAN_PROENDMARK(m)                        _proEndMark(m)
+    #define SEQAN_PRORESET                             _proReset()
+       #define SEQAN_PROGETTIME                        sysTime()
+    #define SEQAN_PROTIMESTART(a)              _proFloat a = sysTime()
+    #define SEQAN_PROTIMEDIFF(a)               (sysTime() - a)
+    #define SEQAN_PROMALLOC(s)                 _proMalloc(s)
+    #define SEQAN_PROFREE(p)                   _proFree(p)
+
+#endif
+
+#ifdef PLATFORM_WINDOWS
+    typedef __int64   _proInt;
+#else
+    typedef int64_t _proInt;
+#endif
+
+    typedef double    _proFloat;
+
+
+    typedef _proFloat _proTValue;
+
+    enum _proConsts {
+        SEQAN_PROPAGESIZE         = 4096, // B in byte
+        SEQAN_PROFLOAT            = 0,
+        SEQAN_PROINT              = 1,
+        SEQAN_PROTIME             = 2,
+        SEQAN_PROTYPEMASK         = 3,
+        SEQAN_PROSTATE            = 4
+    };
+
+    enum _proValueIndex {
+               SEQAN_PROSYSTIME                  = 0,
+               SEQAN_PROCPUTIME                  = 1,
+        SEQAN_PROMEMORY           = 2,    // current memory usage (state value)
+        SEQAN_PROIO               = 3,    // IOs done (measured in Blocks of size B)
+        SEQAN_PROIORANDOM         = 4,    // IOs calls done (read/write calls done)
+        SEQAN_PROIOVOLUME         = 5,    // current disk usage (state value)
+        SEQAN_PRODEPTH            = 6,    // algorithmic rec. depth or loop count
+               SEQAN_PROOPENFILES                = 7,    // currently opened files
+        SEQAN_PROIWAIT            = 8,    // waiting time (initiating)
+        SEQAN_PROCWAIT            = 9,    // waiting time (completing)
+               SEQAN_PROEXTRA1           = 10,
+               SEQAN_PROEXTRA2           = 11,
+               SEQAN_PROEXTRA3           = 12,
+               SEQAN_PROINDEXCOUNT       = 13,
+               SEQAN_PROEXTRACOUNT       = 3
+    };
+
+    const char _proValueType[] = {
+               SEQAN_PROTIME, 
+               SEQAN_PROTIME, 
+        SEQAN_PROINT + SEQAN_PROSTATE, 
+        SEQAN_PROINT,
+        SEQAN_PROINT,
+        SEQAN_PROINT + SEQAN_PROSTATE, 
+        SEQAN_PROINT + SEQAN_PROSTATE, 
+        SEQAN_PROINT + SEQAN_PROSTATE, 
+        SEQAN_PROFLOAT,
+        SEQAN_PROFLOAT,
+        SEQAN_PROFLOAT + SEQAN_PROSTATE,
+        SEQAN_PROFLOAT + SEQAN_PROSTATE,
+        SEQAN_PROFLOAT + SEQAN_PROSTATE
+    };
+
+    typedef _proTValue _proTStates[SEQAN_PROINDEXCOUNT];
+    typedef _proFloat  _proTTimes[SEQAN_PROINDEXCOUNT];
+
+
+
+    struct _proFile;
+
+       template <typename T = void>
+       struct _proData
+       {
+               static _proTStates      _proValue;
+               static _proTTimes       _proLastUpdate;
+               static int                      _proExtraCount;
+           
+               static clock_t          _proCpuTimeLast;                        // clock_t wraps around every 72mins
+               static _proInt          _proCpuTimeOffset;                      // we have to work around this
+
+               static _proFile*        _proPFile;
+               static _proFile*        _proPFileStream;
+       };
+
+       template <typename T> _proTStates       _proData<T>::_proValue = {};
+       template <typename T> _proTStates       _proData<T>::_proLastUpdate = {};
+       template <typename T> int                       _proData<T>::_proExtraCount = 0;
+       template <typename T> clock_t           _proData<T>::_proCpuTimeLast = 0;
+       template <typename T> _proInt           _proData<T>::_proCpuTimeOffset = 0;
+       template <typename T> _proFile*         _proData<T>::_proPFile = NULL;
+       template <typename T> _proFile*         _proData<T>::_proPFileStream = NULL;
+
+
+       inline _proFile* & _proPFile()                  { return _proData<>::_proPFile; }
+       inline _proFile* & _proPFileStream()    { return _proData<>::_proPFileStream; }
+
+
+// HINT: The unit of all time functions is second.
+    inline _proFloat cpuTime() {
+       clock_t now = clock();
+       if (_proData<>::_proCpuTimeLast > now) {                // test for time wrap
+               _proData<>::_proCpuTimeOffset += (~0u);         // got one
+               _proData<>::_proCpuTimeOffset ++;
+//             printf("\n!!WRAP!! old:%d, now:%d    ofs:%d\n",_proData<>::_proCpuTimeLast,now,_proData<>::_proCpuTimeOffset);
+       }
+               _proData<>::_proCpuTimeLast = now;
+       return (_proData<>::_proCpuTimeOffset + now) / (_proFloat)CLOCKS_PER_SEC;
+       }
+
+    #ifdef PLATFORM_WINDOWS
+//        inline _proFloat sysTime() { return GetTickCount() * 1e-3; }
+               inline _proFloat sysTime() { return ( (_proFloat) clock() ) / CLOCKS_PER_SEC; }
+    #else
+
+               #include <unistd.h>
+               #if _POSIX_TIMERS > 0
+                       #ifndef SEQAN_USE_CLOCKGETTIME
+                       #define SEQAN_USE_CLOCKGETTIME
+                       #endif
+               #endif
+               
+               #ifndef SEQAN_USE_CLOCKGETTIME
+               /* some systems e.g. darwin have no clock_gettime */
+               
+                       #include <sys/time.h>
+                       
+                       inline _proFloat sysTime() {
+                               struct timeval tp;
+                               gettimeofday(&tp, NULL);
+                               return tp.tv_sec + tp.tv_usec * 1e-6;
+                       }
+
+               #else
+
+                       inline _proFloat sysTime() {
+                         /*struct timespec tp;
+                               clock_gettime(CLOCK_MONOTONIC, &tp);
+                                 return tp.tv_sec + tp.tv_nsec * 1e-9;*/
+                               return 0; // BTL: to compile under cygwin
+                       }
+
+           #endif
+
+    #endif
+
+    
+    struct _proFile {
+
+        FILE   *out;
+        bool   running;
+
+        _proFloat dumpStep;            // 0 .. manual dump mode, >0 .. live stream
+        _proFloat dumpNext;        
+
+        _proTStates all, last;
+        ::std::string mark;
+        unsigned       lines;
+
+        _proFile() {
+            running = false;
+        }
+
+        _proFile(char const *fname, _proFloat _dumpStep = 300.0) { // five minutes default dump interval
+            running = false;
+            start(fname, _dumpStep);
+        }
+
+        ~_proFile() {
+            if (running) stop();
+        }
+
+        inline void start(char const *fname, _proFloat _dumpStep = 300.0, bool append = false) {
+            if (append)
+                out = fopen(fname, "a");
+            else {
+                out = fopen(fname, "w");
+                dumpHeader();
+            }
+
+            if (!out) printf("WARNING: proFile could not be opened.\n");
+
+                       setTime(_proData<>::_proValue);
+            syncAll(all);
+            syncAll(last);
+            running      = true;
+            lines               = 0;
+            dumpStep     = _dumpStep;
+            dumpNext     = sysTime();
+            dump(last);
+        }
+
+        inline void stop() {
+            dump(last);
+            maximize(all, last);
+            if (dumpStep == 0) {
+                mark = "Zusammenfassung";
+                dump(all);
+            }
+            fclose(out);
+            running = false;
+        }
+
+        inline void syncTime(_proTStates &dst) {
+            memcpy(dst, _proData<>::_proValue, 2 * sizeof(_proTValue));
+        }
+
+        inline void sync(_proTStates &dst) {
+            memcpy(&(dst[2]), &(_proData<>::_proValue[2]), sizeof(_proTStates) - 2 * sizeof(_proTValue));
+        }
+
+        inline void syncAll(_proTStates &dst) {
+            memcpy(dst, _proData<>::_proValue, sizeof(_proTStates));
+        }
+
+               inline static void setTime(_proTStates &dst) {
+            dst[0] = sysTime();
+                       dst[1] = cpuTime();
+               }
+
+        inline void maximize(_proTStates &dst, _proTStates const &src) {
+            for(int i = 0; i < SEQAN_PROINDEXCOUNT; ++i)
+                if (((_proValueType[i] & SEQAN_PROSTATE) != 0))
+                    if (dst[i] < src[i])
+                        dst[i] = src[i];
+        }
+
+        inline void dumpTab() {
+            if (!bol)
+                fprintf(out, " \t");
+            bol = false;
+        }
+
+        inline void dumpEndl() { fprintf(out, "\n"); }
+
+        inline void dumpHeader() {
+            fprintf(out, "\"Echtzeit\"\t\"CPU-Zeit\"\t\"Speicher\"\t\"I/O-Zugriffe\"\t\"wahlfreie I/Os\"\t\"I/O-Volumen\"\t\"Rekursionstiefe\"\t\"Offene Dateien\"\t\"Idle-Zeit vor I/O\"\t\"Idle-Zeit nach I/O\"\n");
+        }
+
+        inline void dumpTime(_proFloat seconds) {
+                       if (seconds < 0) {
+                               fputc('-', out);
+                               seconds = -seconds;
+                       }
+            int secs    = (int)seconds;
+            int mins    = secs/60;  secs -= 60*mins;
+            int hours   = mins/60;  mins -= 60*hours;
+            fprintf(out, "%d:%02d:%02d", hours, mins, secs);
+        }
+
+        inline void dumpTimeEx(_proFloat seconds) {
+            int milli   = (int)(seconds * 1000.0);
+            int secs    = (int)seconds;
+            int mins    = secs/60;  secs -= 60*mins;
+            int hours   = mins/60;  mins -= 60*hours;
+            fprintf(out, "%d:%02d:%02d.%03d", hours, mins, secs, milli);
+        }
+
+        inline void dumpValue(_proTStates &stat, int valNum) {
+                       _proFloat f = stat[valNum];
+            if ((_proValueType[valNum] & SEQAN_PROSTATE) == 0)
+                               f = _proData<>::_proValue[valNum] - f;
+
+                       switch (_proValueType[valNum] & SEQAN_PROTYPEMASK) {
+                               case SEQAN_PROINT:                                                                      // state value -> print last seen maximum
+                                       fprintf(out, "%.0f", f);
+                                       break;
+
+                               case SEQAN_PROFLOAT:
+                                       fprintf(out, "%f", f);
+                                       break;
+
+                               case SEQAN_PROTIME:
+                                       dumpTimeEx(f);
+                       }
+        }
+
+        inline void dumpSysValues(_proTStates &stat) {
+            for(int i = 0; i < SEQAN_PROINDEXCOUNT - SEQAN_PROEXTRACOUNT; ++i) {
+                dumpTab();
+                dumpValue(stat, i);
+            }
+        }
+
+        inline void dumpExtraValues(_proTStates &stat) {
+            for(int i = 0; i < _proData<>::_proExtraCount; ++i) {
+                dumpTab();
+                dumpValue(stat, SEQAN_PROINDEXCOUNT - SEQAN_PROEXTRACOUNT + i);
+            }
+       }
+       
+        inline void dumpMark() {
+            if (!mark.empty()) {
+                dumpTab();
+                fprintf(out, "\"%s\"", mark.c_str());
+                mark.erase();
+            }
+        }
+
+        inline void dump(_proTStates &stat) {
+                       setTime(_proData<>::_proValue);
+            dumpNext += dumpStep;
+            bol = true;
+            bool _flush = ((dumpStep == 0.0)) || ((lines & 16) == 0);
+
+            dumpSysValues(stat);
+            dumpExtraValues(stat);
+            dumpMark();
+            dumpEndl();
+            if (_flush) fflush(out);
+            ++lines;
+        }
+
+        inline void signalDumpTest(_proFloat now) {
+            if (dumpStep > 0 && now > dumpNext && running) {
+                dump(last);
+                maximize(all, last);
+                sync(last);
+            }
+        }
+
+        inline void signalNewMax(int valNum) {
+            if (running)
+                if (last[valNum] < _proData<>::_proValue[valNum])
+                    last[valNum] = _proData<>::_proValue[valNum];
+        }
+
+        inline void setMark(const char *text) {
+            if (running) {
+                mark = text;
+                if (dumpStep == 0.0) {
+                    dump(last);                 // manual dump;
+                    maximize(all, last);
+                    sync(last);
+                }
+            }
+        }
+        
+        inline void reset() {
+               syncTime(last);
+        }
+
+        inline void setEndMark(const char *text) {
+            if (running) {
+                               setMark(text);
+                               reset();
+                       }
+        }
+
+    private:
+        
+        bool bol;   // begin of line
+    };
+
+
+
+/*
+    inline void _proSignalDumpTest(_proFloat now);
+    inline void _proSignalNewMax(int valNum);
+    inline void _proMark(const char *text);
+    inline void _proEndMark(const char *text);
+    inline void _proReset();
+
+    inline void _proSet(int valNum, _proFloat value);
+    inline void _proAdd(int valNum, _proFloat value);
+    inline void _proSub(int valNum, _proFloat value);
+    
+    // simple interface for external programs
+    inline void *_proMalloc(size_t size);
+    inline void _proFree(void *_ptr);
+*/
+
+    inline void _proSignalDumpTest(_proFloat now) {
+        if (_proData<>::_proPFileStream) _proData<>::_proPFileStream->signalDumpTest(now);
+    }
+
+    inline void _proSignalNewMax(int valNum) {
+        if (((_proValueType[valNum] & SEQAN_PROSTATE) != 0)) {
+            if (_proData<>::_proPFileStream) _proData<>::_proPFileStream->signalNewMax(valNum);
+            if (_proData<>::_proPFile)       _proData<>::_proPFile->signalNewMax(valNum);
+        }
+    }
+
+    inline void _proMark(const char *text) {
+        if (_proData<>::_proPFileStream) _proData<>::_proPFileStream->setMark(text);
+        if (_proData<>::_proPFile)       _proData<>::_proPFile->setMark(text);
+    }
+
+    inline void _proEndMark(const char *text) {
+        if (_proData<>::_proPFileStream) { _proData<>::_proPFileStream->setEndMark(text); }
+        if (_proData<>::_proPFile)       { _proData<>::_proPFile->setEndMark(text); }
+    }
+
+    inline void _proReset() {
+        if (_proData<>::_proPFileStream) { _proData<>::_proPFileStream->reset(); }
+        if (_proData<>::_proPFile)       { _proData<>::_proPFile->reset(); }
+    }
+
+
+
+
+    inline void _proSet(_proValueIndex valNum, _proFloat value) {
+        _proFloat now = sysTime();
+        _proData<>::_proLastUpdate[valNum] = now;
+        if (_proData<>::_proValue[valNum] < value) {
+            _proData<>::_proValue[valNum] = value;
+            _proSignalNewMax(valNum);
+        } else
+            _proData<>::_proValue[valNum] = value;
+        _proSignalDumpTest(now);
+    }
+
+    inline void _proAdd(_proValueIndex valNum, _proFloat value) {
+        _proFloat now = sysTime();
+        _proData<>::_proValue[valNum] += value;
+        _proData<>::_proLastUpdate[valNum] = now;
+        if (valNum == SEQAN_PROIO) _proAdd(SEQAN_PROIORANDOM, 1);
+        _proSignalNewMax(valNum);
+        _proSignalDumpTest(now);
+    }
+
+    inline void _proSub(_proValueIndex valNum, _proFloat value) {
+        _proFloat now = sysTime();
+        _proData<>::_proValue[valNum] -= value;
+        _proData<>::_proLastUpdate[valNum] = now;
+        _proSignalDumpTest(now);
+    }
+    
+    // simple interface for external programs
+    inline void *_proMalloc(size_t size) {
+       size_t *ptr = reinterpret_cast<size_t*>(malloc(size + sizeof(size_t)));
+       if (ptr) {
+               _proAdd(SEQAN_PROMEMORY, *ptr = size);
+//                     printf("_proMalloc %x size %d\n", ptr, size);
+               ++ptr;
+       }
+       return ptr;
+    }
+
+    inline void _proFree(void *_ptr) {
+       size_t *ptr = reinterpret_cast<size_t*>(_ptr);
+       if (ptr) {
+               --ptr;
+//                     printf("_proFree   %x size %d\n", _ptr, *ptr);
+               _proSub(SEQAN_PROMEMORY, *ptr);
+       }
+       free(ptr);
+    }
+
+#endif
diff --git a/SeqAn-1.1/seqan/basic/basic_proxy.h b/SeqAn-1.1/seqan/basic/basic_proxy.h
new file mode 100644 (file)
index 0000000..c384e05
--- /dev/null
@@ -0,0 +1,606 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de 
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: basic_proxy.h,v 1.1 2008/08/25 16:20:02 langmead Exp $
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_BASIC_PROXY_H
+#define SEQAN_HEADER_BASIC_PROXY_H
+
+
+namespace SEQAN_NAMESPACE_MAIN
+{
+
+
+//////////////////////////////////////////////////////////////////////////////
+// Proxy
+//////////////////////////////////////////////////////////////////////////////
+/**
+.Class.Proxy:
+..cat:Basic
+..summary:Emulates object of another class.
+..signature:Proxy<TSpec>
+..param.TSpec:The specializing type.
+...metafunction:Metafunction.Spec
+..remarks.text:Use @Metafunction.Value@ to get the emulated type.
+An instance of $Proxy$ behaves like an object of its value type.
+$Proxy$ can be used as reference type (see @Metafunction.Reference@).
+..remarks.text:Note that functions that are both general and specialized for 
+the value type should be specialized for $Proxy<TSpec>$ too, 
+since otherwise the general version will be called.
+*/
+
+template <typename TSpec>
+struct Proxy;
+
+//////////////////////////////////////////////////////////////////////////////
+
+///.Metafunction.Spec.param.T.type:Class.Proxy
+
+template <typename TSpec>
+struct Spec< Proxy<TSpec> >
+{
+       typedef TSpec Type;
+};
+template <typename TSpec>
+struct Spec< Proxy<TSpec> const>
+{
+       typedef TSpec Type;
+};
+
+//////////////////////////////////////////////////////////////////////////////
+// Iterator Proxy
+//////////////////////////////////////////////////////////////////////////////
+/**
+.Spec.Iterator Proxy:
+..cat:Proxies
+..general:Class.Proxy
+..summary:Proxy that is implemented by an iterator.
+..signature:Proxy<IteratorProxy<TIterator> >
+..param.TIterator:Iterator type.
+..remarks.text:The value type of an iterator proxy is the value type of the
+iterator $TIterator$.
+*/
+
+template <typename TIterator>
+struct IteratorProxy;
+
+//____________________________________________________________________________
+
+template <typename TIterator>
+struct Proxy<IteratorProxy<TIterator> >
+{
+public:
+       typedef typename Value<Proxy>::Type TValue;
+       typedef typename GetValue<Proxy>::Type TAccessor;
+
+       typedef typename _RemoveConst<TAccessor>::Type TAccessor_NotConst;
+
+private:
+       TIterator data_iterator;
+
+public:
+       Proxy(TIterator const _it):
+               data_iterator(_it)
+       {
+SEQAN_CHECKPOINT
+       }
+       Proxy(Proxy const & _other):
+               data_iterator(_other.data_iterator)
+       {
+SEQAN_CHECKPOINT
+       }
+
+       ~Proxy()
+       {
+SEQAN_CHECKPOINT
+       }
+
+       Proxy const &
+       operator = (Proxy const & _other)
+       {
+SEQAN_CHECKPOINT
+               assignValue(data_iterator, getValue(_other.data_iterator));
+               return *this;
+       }
+
+       Proxy const &
+       operator = (TValue const & _value)
+       {
+SEQAN_CHECKPOINT
+               assignValue(data_iterator, _value);
+               return *this;
+       }
+
+       operator TAccessor_NotConst()
+       {
+SEQAN_CHECKPOINT
+               return getValue(data_iterator);
+       }
+
+//____________________________________________________________________________
+
+       //not documented
+       friend inline TIterator &
+       iter(Proxy & me)
+       {
+               return me.data_iterator;
+       }
+       friend inline TIterator const &
+       iter(Proxy const & me)
+       {
+               return me.data_iterator;
+       }
+
+//____________________________________________________________________________
+};
+
+//////////////////////////////////////////////////////////////////////////////
+// Metafunctions
+//////////////////////////////////////////////////////////////////////////////
+
+///.Metafunction.Value.param.T.type:Class.Proxy
+
+template <typename TIterator>
+struct Value< Proxy<IteratorProxy<TIterator> > >:
+       Value<TIterator>
+{
+};
+template <typename TIterator>
+struct Value< Proxy<IteratorProxy<TIterator> > const>
+{
+       typedef typename Value<TIterator>::Type const Type;
+};
+
+//////////////////////////////////////////////////////////////////////////////
+
+///.Metafunction.GetValue.param.T.type:Class.Proxy
+
+template <typename TIterator>
+struct GetValue< Proxy<IteratorProxy<TIterator> > >:
+       GetValue<TIterator>
+{
+};
+template <typename TIterator>
+struct GetValue< Proxy<IteratorProxy<TIterator> > const>
+{
+       typedef typename GetValue<TIterator const>::Type Type;
+};
+
+//////////////////////////////////////////////////////////////////////////////
+
+///.Metafunction.Reference.param.T.type:Class.Proxy
+
+template <typename TIterator>
+struct Reference< Proxy<IteratorProxy<TIterator> > >
+{
+       typedef Proxy<IteratorProxy<TIterator> > Type;
+};
+template <typename TIterator>
+struct Reference< Proxy<IteratorProxy<TIterator> > const >
+{
+       typedef Proxy<IteratorProxy<TIterator> > const Type;
+};
+
+//////////////////////////////////////////////////////////////////////////////
+
+///.Metafunction.Size.param.T.type:Class.Proxy
+
+template <typename TIterator>
+struct Size< Proxy<IteratorProxy<TIterator> > >:
+       Size<TIterator>
+{
+};
+template <typename TIterator>
+struct Size< Proxy<IteratorProxy<TIterator> > const>:
+       Size<TIterator>
+{
+};
+
+//////////////////////////////////////////////////////////////////////////////
+
+///.Metafunction.Difference.param.T.type:Class.Proxy
+
+template <typename TIterator>
+struct Difference< Proxy<IteratorProxy<TIterator> > >:
+       Difference<TIterator>
+{
+};
+template <typename TIterator>
+struct Difference< Proxy<IteratorProxy<TIterator> > const>:
+       Difference<TIterator>
+{
+};
+
+//////////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TSpec>
+typename GetValue<Proxy<TSpec> >::Type
+getValue(Proxy<TSpec> & me)
+{
+       return getValue(iter(me));
+}
+template <typename TSpec>
+typename GetValue<Proxy<TSpec> const>::Type
+getValue(Proxy<TSpec> const & me)
+{
+       return getValue(iter(me));
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// Comparison
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TSpec, typename T>
+struct CompareType <Proxy<TSpec>, T>
+{
+       typedef typename Value<Proxy<TSpec> >::Type TValue;
+       typedef typename _RemoveConst<TValue>::Type TValue_NoConst;
+       typedef typename CompareType<TValue_NoConst, T>::Type Type;
+};
+
+//???TODO: Symmetrie von CompareType herstellen
+//____________________________________________________________________________
+
+template <typename TTarget, typename T, typename TSpec>
+inline typename Convert<TTarget, Proxy<TSpec> >::Type
+convertImpl(Convert<TTarget, T> const,
+                       Proxy<TSpec> & source)
+{
+       return convert<TTarget>(getValue(source));
+}
+template <typename TTarget, typename T, typename TSpec>
+inline typename Convert<TTarget, Proxy<TSpec> const>::Type
+convertImpl(Convert<TTarget, T> const,
+                       Proxy<TSpec> const & source)
+{
+       return convert<TTarget>(getValue(source));
+}
+//////////////////////////////////////////////////////////////////////////////
+// operator ==
+
+template <typename TSpec, typename TRight>
+inline bool
+operator == (Proxy<TSpec> const & left_, 
+                        TRight const & right_)
+{
+SEQAN_CHECKPOINT
+       typedef Proxy<TSpec> TLeft;
+       typedef typename CompareType<TLeft, TRight>::Type TCompareType;
+       return convert<TCompareType>(left_) == convert<TCompareType>(right_);
+}
+
+template <typename TLeft, typename TSpec>
+inline bool
+operator == (TLeft const & left_, 
+                        Proxy<TSpec> const & right_)
+{
+SEQAN_CHECKPOINT
+       typedef Proxy<TSpec> TRight;
+       typedef typename CompareType<TRight, TLeft>::Type TCompareType;
+       return convert<TCompareType>(left_) == convert<TCompareType>(right_);
+}
+
+template <typename TLeftSpec, typename TRightSpec>
+inline bool
+operator == (Proxy<TLeftSpec> const & left_, 
+                        Proxy<TRightSpec> const & right_)
+{
+SEQAN_CHECKPOINT
+       typedef Proxy<TLeftSpec> TLeft;
+       typedef Proxy<TRightSpec> TRight;
+       typedef typename CompareType<TLeft, TRight>::Type TCompareType;
+       return convert<TCompareType>(left_) == convert<TCompareType>(right_);
+}
+
+template <typename TSpec>
+inline bool
+operator == (Proxy<TSpec> const & left_, 
+                        Proxy<TSpec> const & right_)
+{
+SEQAN_CHECKPOINT
+       typedef typename GetValue<Proxy<TSpec> >::Type TAccessor;
+       return convert<TAccessor>(left_) == convert<TAccessor>(right_);
+}
+
+//____________________________________________________________________________
+// operator !=
+
+template <typename TSpec, typename TRight>
+inline bool
+operator != (Proxy<TSpec> const & left_, 
+                        TRight const & right_)
+{
+SEQAN_CHECKPOINT
+       typedef Proxy<TSpec> TLeft;
+       typedef typename CompareType<TLeft, TRight>::Type TCompareType;
+       return convert<TCompareType>(left_) != convert<TCompareType>(right_);
+}
+
+template <typename TLeft, typename TSpec>
+inline bool
+operator != (TLeft const & left_, 
+                        Proxy<TSpec> const & right_)
+{
+SEQAN_CHECKPOINT
+       typedef Proxy<TSpec> TRight;
+       typedef typename CompareType<TRight, TLeft>::Type TCompareType;
+       return convert<TCompareType>(left_) != convert<TCompareType>(right_);
+}
+
+template <typename TLeftSpec, typename TRightSpec>
+inline bool
+operator != (Proxy<TLeftSpec> const & left_, 
+                        Proxy<TRightSpec> const & right_)
+{
+SEQAN_CHECKPOINT
+       typedef Proxy<TLeftSpec> TLeft;
+       typedef Proxy<TRightSpec> TRight;
+       typedef typename CompareType<TLeft, TRight>::Type TCompareType;
+       return convert<TCompareType>(left_) != convert<TCompareType>(right_);
+}
+
+template <typename TSpec>
+inline bool
+operator != (Proxy<TSpec> const & left_, 
+                        Proxy<TSpec> const & right_)
+{
+SEQAN_CHECKPOINT
+       typedef typename GetValue<Proxy<TSpec> >::Type TAccessor;
+       return convert<TAccessor>(left_) != convert<TAccessor>(right_);
+}
+
+
+//____________________________________________________________________________
+// operator <
+
+template <typename TSpec, typename TRight>
+inline bool
+operator < (Proxy<TSpec> const & left_, 
+                       TRight const & right_)
+{
+SEQAN_CHECKPOINT
+       typedef Proxy<TSpec> TLeft;
+       typedef typename CompareType<TLeft, TRight>::Type TCompareType;
+       return convert<TCompareType>(left_) < convert<TCompareType>(right_);
+}
+
+template <typename TLeft, typename TSpec>
+inline bool
+operator < (TLeft const & left_, 
+                       Proxy<TSpec> const & right_)
+{
+SEQAN_CHECKPOINT
+       typedef Proxy<TSpec> TRight;
+       typedef typename CompareType<TRight, TLeft>::Type TCompareType;
+       return convert<TCompareType>(left_) < convert<TCompareType>(right_);
+}
+
+template <typename TLeftSpec, typename TRightSpec>
+inline bool
+operator < (Proxy<TLeftSpec> const & left_, 
+                       Proxy<TRightSpec> const & right_)
+{
+SEQAN_CHECKPOINT
+       typedef Proxy<TLeftSpec> TLeft;
+       typedef Proxy<TRightSpec> TRight;
+       typedef typename CompareType<TLeft, TRight>::Type TCompareType;
+       return convert<TCompareType>(left_) < convert<TCompareType>(right_);
+}
+
+template <typename TSpec>
+inline bool
+operator < (Proxy<TSpec> const & left_, 
+                       Proxy<TSpec> const & right_)
+{
+SEQAN_CHECKPOINT
+       typedef typename GetValue<Proxy<TSpec> >::Type TAccessor;
+       return convert<TAccessor>(left_) < convert<TAccessor>(right_);
+}
+
+//____________________________________________________________________________
+// operator <=
+
+template <typename TSpec, typename TRight>
+inline bool
+operator <= (Proxy<TSpec> const & left_, 
+                        TRight const & right_)
+{
+SEQAN_CHECKPOINT
+       typedef Proxy<TSpec> TLeft;
+       typedef typename CompareType<TLeft, TRight>::Type TCompareType;
+       return convert<TCompareType>(left_) <= convert<TCompareType>(right_);
+}
+
+template <typename TLeft, typename TSpec>
+inline bool
+operator <= (TLeft const & left_, 
+                        Proxy<TSpec> const & right_)
+{
+SEQAN_CHECKPOINT
+       typedef Proxy<TSpec> TRight;
+       typedef typename CompareType<TRight, TLeft>::Type TCompareType;
+       return convert<TCompareType>(left_) <= convert<TCompareType>(right_);
+}
+
+template <typename TLeftSpec, typename TRightSpec>
+inline bool
+operator <= (Proxy<TLeftSpec> const & left_, 
+                        Proxy<TRightSpec> const & right_)
+{
+SEQAN_CHECKPOINT
+       typedef Proxy<TLeftSpec> TLeft;
+       typedef Proxy<TRightSpec> TRight;
+       typedef typename CompareType<TLeft, TRight>::Type TCompareType;
+       return convert<TCompareType>(left_) <= convert<TCompareType>(right_);
+}
+
+template <typename TSpec>
+inline bool
+operator <= (Proxy<TSpec> const & left_, 
+                        Proxy<TSpec> const & right_)
+{
+SEQAN_CHECKPOINT
+       typedef typename GetValue<Proxy<TSpec> >::Type TAccessor;
+       return convert<TAccessor>(left_) <= convert<TAccessor>(right_);
+}
+
+
+//____________________________________________________________________________
+// operator >
+
+template <typename TSpec, typename TRight>
+inline bool
+operator > (Proxy<TSpec> const & left_, 
+                       TRight const & right_)
+{
+SEQAN_CHECKPOINT
+       typedef Proxy<TSpec> TLeft;
+       typedef typename CompareType<TLeft, TRight>::Type TCompareType;
+       return convert<TCompareType>(left_) > convert<TCompareType>(right_);
+}
+
+template <typename TLeft, typename TSpec>
+inline bool
+operator > (TLeft const & left_, 
+                       Proxy<TSpec> const & right_)
+{
+SEQAN_CHECKPOINT
+       typedef Proxy<TSpec> TRight;
+       typedef typename CompareType<TRight, TLeft>::Type TCompareType;
+       return convert<TCompareType>(left_) > convert<TCompareType>(right_);
+}
+
+template <typename TLeftSpec, typename TRightSpec>
+inline bool
+operator > (Proxy<TLeftSpec> const & left_, 
+                       Proxy<TRightSpec> const & right_)
+{
+SEQAN_CHECKPOINT
+       typedef Proxy<TLeftSpec> TLeft;
+       typedef Proxy<TRightSpec> TRight;
+       typedef typename CompareType<TLeft, TRight>::Type TCompareType;
+       return convert<TCompareType>(left_) > convert<TCompareType>(right_);
+}
+
+template <typename TSpec>
+inline bool
+operator > (Proxy<TSpec> const & left_, 
+                       Proxy<TSpec> const & right_)
+{
+SEQAN_CHECKPOINT
+       typedef typename GetValue<Proxy<TSpec> >::Type TAccessor;
+       return convert<TAccessor>(left_) > convert<TAccessor>(right_);
+}
+
+
+//____________________________________________________________________________
+// operator >=
+
+template <typename TSpec, typename TRight>
+inline bool
+operator >= (Proxy<TSpec> const & left_, 
+                        TRight const & right_)
+{
+SEQAN_CHECKPOINT
+       typedef Proxy<TSpec> TLeft;
+       typedef typename CompareType<TLeft, TRight>::Type TCompareType;
+       return convert<TCompareType>(left_) >= convert<TCompareType>(right_);
+}
+
+template <typename TLeft, typename TSpec>
+inline bool
+operator >= (TLeft const & left_, 
+                        Proxy<TSpec> const & right_)
+{
+SEQAN_CHECKPOINT
+       typedef Proxy<TSpec> TRight;
+       typedef typename CompareType<TRight, TLeft>::Type TCompareType;
+       return convert<TCompareType>(left_) >= convert<TCompareType>(right_);
+}
+
+template <typename TLeftSpec, typename TRightSpec>
+inline bool
+operator >= (Proxy<TLeftSpec> const & left_, 
+                        Proxy<TRightSpec> const & right_)
+{
+SEQAN_CHECKPOINT
+       typedef Proxy<TLeftSpec> TLeft;
+       typedef Proxy<TRightSpec> TRight;
+       typedef typename CompareType<TLeft, TRight>::Type TCompareType;
+       return convert<TCompareType>(left_) >= convert<TCompareType>(right_);
+}
+
+template <typename TSpec>
+inline bool
+operator >= (Proxy<TSpec> const & left_, 
+                        Proxy<TSpec> const & right_)
+{
+SEQAN_CHECKPOINT
+       typedef typename GetValue<Proxy<TSpec> >::Type TAccessor;
+       return convert<TAccessor>(left_) >= convert<TAccessor>(right_);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TStream, typename TSpec>
+inline TStream &
+operator >> (TStream & strm,
+                        Proxy<TSpec> & proxy)
+{
+       typedef Proxy<TSpec> TProxy;
+       typedef typename Value<TProxy>::Type TValue;
+       TValue temp;
+       strm >> temp;
+       assignValue(iter(proxy), temp);
+       return strm;
+}
+template <typename TStream, typename TSpec>
+inline TStream &
+operator >> (TStream & strm,
+                        Proxy<TSpec> const& proxy)
+{
+       typedef Proxy<TSpec> TProxy;
+       typedef typename Value<TProxy>::Type TValue;
+       TValue temp;
+       strm >> temp;
+       assignValue(iter(proxy), temp);
+       return strm;
+}
+
+
+template <typename TStream, typename TSpec>
+inline TStream &
+operator << (TStream & strm,
+                        Proxy<TSpec> & proxy)
+{
+       return strm << getValue(proxy);
+}
+template <typename TStream, typename TSpec>
+inline TStream &
+operator << (TStream & strm,
+                        Proxy<TSpec> const & proxy)
+{
+       return strm << getValue(proxy);
+}
+
+
+//////////////////////////////////////////////////////////////////////////////
+} //namespace SEQAN_NAMESPACE_MAIN
+
+#endif //#ifndef SEQAN_HEADER_...
diff --git a/SeqAn-1.1/seqan/basic/basic_tag.h b/SeqAn-1.1/seqan/basic/basic_tag.h
new file mode 100644 (file)
index 0000000..3035cba
--- /dev/null
@@ -0,0 +1,173 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de 
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: basic_tag.h,v 1.1 2008/08/25 16:20:01 langmead Exp $
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_BASIC_TAG_H
+#define SEQAN_HEADER_BASIC_TAG_H
+
+namespace SEQAN_NAMESPACE_MAIN
+{
+
+
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Tag.DotDrawing
+..summary:Switch to trigger drawing in dot format.
+..value.DotDrawing:Graphs in dot format.
+*/
+
+struct DotDrawing_;
+typedef Tag<DotDrawing_> const DotDrawing;
+
+
+/**
+.Tag.HammingDistance
+..summary:Switch to trigger Hamming distance, which is a measure of character substitutions.
+*/
+
+/**
+.Tag.LevenshteinDistance
+..summary:Switch to trigger Levenshtein distance, which is a measure of edit operations (character substitutions, deletions or insertions).
+*/
+
+struct _HammingDistance;
+struct _LevenshteinDistance;
+
+typedef Tag<_HammingDistance>          HammingDistance;
+typedef Tag<_LevenshteinDistance>      LevenshteinDistance;
+typedef Tag<_LevenshteinDistance>      EditDistance;
+
+
+//////////////////////////////////////////////////////////////////////////////
+
+
+//////////////////////////////////////////////////////////////////////////////
+// Alignment: Tags
+//////////////////////////////////////////////////////////////////////////////
+//Sollte eigentlich nach align/, aber da jetzt ja so viele
+//alignment algorithmen in graph/ gelandet sind...
+
+/**
+.Tag.Global Alignment Algorithms:
+..summary:Global alignment algorithm used by globalAlignment.
+..see:Function.globalAlignment
+..see:Tag.Local Alignment Algorithms
+*/
+
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Tag.Global Alignment Algorithms.value.NeedlemanWunsch:
+       Dynamic programming algorithm for alignments by Needleman and Wunsch.
+*/
+
+struct NeedlemanWunsch_;
+typedef Tag<NeedlemanWunsch_> const NeedlemanWunsch;
+
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Tag.Global Alignment Algorithms.value.Gotoh:
+       Gotoh's affine gap cost alignment algorithm.
+*/
+struct Gotoh_;
+typedef Tag<Gotoh_> const Gotoh;
+
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Tag.Global Alignment Algorithms.value.MyersBitVector:
+       Myers' bit vector alignment algorithm for edit distance.
+       Note that this algorithm does not returns the alignment itself, but only computes the score.
+*/
+struct MyersBitVector_;
+typedef Tag<MyersBitVector_> const MyersBitVector;
+
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Tag.Global Alignment Algorithms.value.MyersHirschberg:
+       Myers' bit vector algorithm for edit distance combined with Hirschberg's linear space alignment algorithm.
+*/
+struct MyersHirschberg_;
+typedef Tag<MyersHirschberg_> const MyersHirschberg;
+
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Tag.Global Alignment Algorithms.value.Hirschberg:
+       Hirschberg's linear space global alignment algorithm.
+*/
+struct Hirschberg_;
+typedef Tag<Hirschberg_> const Hirschberg;
+
+//////////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Tag.Local Alignment Algorithms:
+..summary:Local alignment algorithm used by localAlignment.
+..see:Function.localAlignment
+*/
+
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Tag.Local Alignment Algorithms.value.SmithWaterman:
+       Triggers a Smith Waterman local alignment algorithm.
+*/
+struct SmithWaterman_;
+typedef Tag<SmithWaterman_> const SmithWaterman;
+
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Tag.Local Alignment Algorithms.value.SmithWatermanClump:
+       Local alignment algorithm with "declumping" by Waterman and Eggert.
+*/
+struct SmithWatermanClump_;
+typedef Tag<SmithWatermanClump_> const SmithWatermanClump;
+
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Tag.Local Alignment Algorithms.value.SmithWatermanIsland:
+       Local alignment algorithm finding all "islands".
+*/
+struct SmithWatermanIsland_;
+typedef Tag<SmithWatermanIsland_> const SmithWatermanIsland;
+
+//////////////////////////////////////////////////////////////////////////////
+
+/*DISABLED
+.Tag.RNA Folding Algorithms.value.Nussinov:
+       Nussinov style RNA folding algorithm
+*/
+struct Nussinov_;
+typedef Tag<Nussinov_> const Nussinov;
+
+//////////////////////////////////////////////////////////////////////////////
+
+
+//////////////////////////////////////////////////////////////////////////////
+
+}// namespace SEQAN_NAMESPACE_MAIN
+
+#endif //#ifndef SEQAN_HEADER_...
diff --git a/SeqAn-1.1/seqan/basic/basic_transport.h b/SeqAn-1.1/seqan/basic/basic_transport.h
new file mode 100644 (file)
index 0000000..4757d87
--- /dev/null
@@ -0,0 +1,196 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de 
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: basic_transport.h,v 1.1 2008/08/25 16:20:01 langmead Exp $
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_BASIC_TRANSPORT_H
+#define SEQAN_HEADER_BASIC_TRANSPORT_H
+
+namespace SEQAN_NAMESPACE_MAIN
+{
+
+//////////////////////////////////////////////////////////////////////////////
+//assign
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Function.assign:
+..summary:Assigns one object to another object.
+..cat:Content Manipulation
+..signature:assign(target, source)
+..signature:assign(target, source [, limit] [,resize_tag])
+..param.target: Gets the content of $source$.
+..param.source: Is copied to $target$.
+..param.limit: The maximal length of $target$ after the operation. (optional)
+...remarks:This arguments can be applied if $target$ is a container.
+..param.resize_tag: Specifies the strategy that is applied if $target$ has not enough capacity to store the complete content. (optional)
+...type:Tag.Overflow Strategy
+...default:Specified by @Metafunction.DefaultOverflowImplicit@ of the $target$ type.
+...remarks:This arguments can be applied if $target$ is a container.
+..remarks:$assign(target, source)$ is semantically equivalent to $target = source$. 
+*/
+
+template <typename TTarget, typename TSource>
+inline void
+assign(TTarget & target,
+          TSource & source)
+{
+SEQAN_CHECKPOINT
+       target = source;
+}
+template <typename TTarget, typename TSource>
+inline void
+assign(TTarget & target,
+          TSource const & source)
+{
+SEQAN_CHECKPOINT
+       target = source;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TSpec> struct Proxy;
+
+template<typename TTargetSpec, typename TSource>
+inline void 
+assign(Proxy<TTargetSpec> & target,
+          TSource & source)
+{
+SEQAN_CHECKPOINT
+       assignValue(iter(target), source);
+}
+
+template<typename TTargetSpec, typename TSource>
+inline void 
+assign(Proxy<TTargetSpec> & target,
+          TSource const & source)
+{
+SEQAN_CHECKPOINT
+       assignValue(iter(target), source);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// move
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Function.move:
+..summary:Hands over content from one container to another container.
+..cat:Content Manipulation
+..signature:move(target, source)
+..param.target:A container $source$ is moved to.
+..param.source:A container that is moved to $target$.
+..remarks:The function tries to hand over the contents of $source$ to $target$.
+If this is possible, $source$ losts its content and will therefore be empty after this operation.
+Otherwise, the function behaves like @Function.assign@ and $source$ is copied to $target$. 
+..see:Function.assign
+*/
+
+template<typename TTarget, typename TSource>
+inline void 
+move(TTarget & target,
+        TSource & source)
+{
+SEQAN_CHECKPOINT
+       assign(target, source);
+}
+template<typename TTarget, typename TSource>
+inline void 
+move(TTarget const & target,
+        TSource & source)
+{
+SEQAN_CHECKPOINT
+       assign(target, source);
+}
+template<typename TTarget, typename TSource>
+inline void 
+move(TTarget & target,
+        TSource const & source)
+{
+SEQAN_CHECKPOINT
+       assign(target, source);
+}
+template<typename TTarget, typename TSource>
+inline void 
+move(TTarget const & target,
+        TSource const & source)
+{
+SEQAN_CHECKPOINT
+       assign(target, source);
+}
+
+
+//////////////////////////////////////////////////////////////////////////////
+// set
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Function.set:
+..summary:Assigns one object to another object avoiding to copy contents.
+..cat:Content Manipulation
+..signature:assign(target, source)
+..signature:assign(target, source)
+..param.target: Gets the content of $source$.
+..param.source: Content source.
+..remarks:$set(target, source)$ is semantically equivalent to $target = source$.
+If possible, $set$ copies content references instead of the content itself.
+*/
+
+//TODO: rename set to ...
+
+template<typename TTarget, typename TSource>
+inline void 
+set(TTarget & target,
+       TSource & source)
+{
+SEQAN_CHECKPOINT
+       assign(target, source);
+}
+template<typename TTarget, typename TSource>
+inline void 
+set(TTarget const & target,
+       TSource & source)
+{
+SEQAN_CHECKPOINT
+       assign(target, source);
+}
+template<typename TTarget, typename TSource>
+inline void 
+set(TTarget & target,
+       TSource const & source)
+{
+SEQAN_CHECKPOINT
+       assign(target, source);
+}
+template<typename TTarget, typename TSource>
+inline void 
+set(TTarget const & target,
+       TSource const & source)
+{
+SEQAN_CHECKPOINT
+       assign(target, source);
+}
+
+
+//////////////////////////////////////////////////////////////////////////////
+
+} //namespace SEQAN_NAMESPACE_MAIN
+
+#endif //#ifndef SEQAN_HEADER_...
+
+
diff --git a/SeqAn-1.1/seqan/basic/basic_type.h b/SeqAn-1.1/seqan/basic/basic_type.h
new file mode 100644 (file)
index 0000000..320fa99
--- /dev/null
@@ -0,0 +1,624 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de 
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: basic_type.h,v 1.1 2008/08/25 16:20:01 langmead Exp $
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_BASIC_TYPE_H
+#define SEQAN_HEADER_BASIC_TYPE_H
+
+namespace SEQAN_NAMESPACE_MAIN
+{
+
+
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Metafunction.Value:
+..summary:Type of the items in the container. 
+..signature:Value<T>::Type
+..param.T:Type for which the value type is determined.
+..returns.param.Type:Value type of $T$.
+..remarks.text:The value type of a container $T$ is the type of the elements in $T$.
+    For example, the value type of a sequence of $int$ is $int$.
+..example.code:Value<String<char> >::Type c; //c has type char
+*/
+
+template <typename T, const int i = 0>
+struct Value
+{
+       typedef T Type;
+};
+/*
+template <typename T>
+struct Value<T const>
+{
+       typedef T Type;
+};
+*/
+//____________________________________________________________________________
+
+/**
+.Metafunction.GetValue:
+..summary:Type for reading values. 
+..signature:GetValue<T>::Type
+..param.T:Type of container that holds a value.
+..returns.param.Type:GetValue type of $T$.
+..remarks.text:Depending on $T$, the $GetValue$-type can either be $Value<T>::Type &$ or $Value<T>::Type$.
+..text:$GetValue$ is the return type of @Function.getValue@ that allows a (read-only) access to objects.
+Do not confuse it with @Function.value@ that returns a @Metafunction.Reference.reference@ to the value.
+..see:Metafunction.Value
+..see:Function.getValue
+*/
+template <typename T>
+struct GetValue
+{
+       typedef typename Value<T>::Type const & Type;
+};
+template <typename T>
+struct GetValue<T const>:
+       public GetValue<T>
+{
+};
+
+//____________________________________________________________________________
+
+/**
+.Metafunction.Reference:
+..summary:Reference type. 
+..signature:Reference<T>::Type
+..param.T:A Type.
+..returns.param.Type:Either $T &$ or a proxy object @Class.Proxy@ for $T$.
+..see:Metafunction.Value
+..see:Metafunction.GetValue
+*/
+template <typename T>
+struct Reference
+{
+       typedef typename Value<T>::Type & Type;
+};
+template <typename T>
+struct Reference<T const>
+{
+       typedef typename Value<T>::Type const & Type;
+};
+
+//____________________________________________________________________________
+
+
+/**
+.Metafunction.Size:
+..summary:Type of an object that is suitable to hold size information.
+..signature:Size<T>::Type
+..param.T:Type for which the size type is determined.
+..returns.param.Type:Size type of $T$.
+..remarks.text:In most cases this type is $size_t$.
+*/
+template <typename T>
+struct Size
+{
+       typedef size_t Type;
+};
+template <typename T>
+struct Size<T const>:
+       Size<T>
+{
+};
+
+//____________________________________________________________________________
+
+
+/**
+.Metafunction.Difference:
+..summary:Type of an object that stores the difference between two iterators.
+..signature:Difference<T>::Type
+..param.T:Type for which the difference type is determined.
+...type:Class.Iter
+..returns.param.Type:Difference type of $T$.
+..remarks.text:In most cases this type is $ptrdiff_t$.
+..see:Metafunction.Size
+*/
+template <typename T>
+struct Difference
+{
+       typedef ptrdiff_t Type;
+};
+template <typename T>
+struct Difference<T const>:
+       Difference<T>
+{
+};
+
+//____________________________________________________________________________
+
+
+/**
+.Metafunction.Position:
+..summary:Type of an object that represents a position in a container.
+..signature:Position<T>::Type
+..param.T:Type for which the position type is determined.
+...type:Class.Iter
+...type:Class.String
+..returns.param.Type:Position type of $T$.
+..see:Metafunction.Iterator
+*/
+template <typename T>
+struct Position
+{
+       typedef typename Size<T>::Type Type;
+};
+template <typename T>
+struct Position<T const>:
+       Position<T>
+{
+};
+
+//____________________________________________________________________________
+
+/**
+.Metafunction.Host:
+..summary:Type of the object a given object depends on.
+..signature:Host<T>::Type
+..param.T:Type for which the host type is determined.
+..returns.param.Type:Host type of $T$.
+*/
+template <typename T>
+struct Host
+{
+       typedef T Type;
+};
+
+//____________________________________________________________________________
+
+/**
+.Metafunction.Spec:
+..summary:The spec of a class. 
+..signature:Spec<T>::Type
+..param.T:Type for which the spec is determined.
+..returns.param.Type:Spec of $T$.
+..remarks:The spec of a SeqAn type is the class that is used in template subclassing 
+ to specify the specialization. 
+ For example, the spec of $String<char, Alloc<> >$ is $Alloc<>$.
+*/
+
+// default case
+template <typename T>
+struct Spec {
+       typedef void Type;
+};
+
+
+// one argument case
+template <template <typename> class T, typename TSpec>
+struct Spec< T<TSpec> > {
+       typedef TSpec Type;
+};
+
+template <typename T>
+struct Spec<T const>:
+       public Spec<T> {};
+
+//____________________________________________________________________________
+
+/**
+.Metafunction.DeepestSpec:
+..summary:The deepest spec of a class with nested template arguments.
+..signature:DeepestSpec<T>::Type
+..param.T:Type for which the deepest spec is determined.
+..returns.param.Type:Deepest spec of $T$.
+..remarks:The spec of a SeqAn type is the innermost class that is used in nested subclassing.
+ For example, the deepest spec of $Iter<..., VSTree<BottomUp<MUMs> > >$ is $MUMs$.
+*/
+
+// default case
+template <typename T>
+struct DeepestSpec {
+       typedef T Type;
+};
+
+// recursion for 1 argument
+template <
+       template <typename> class T, 
+       typename T1 >
+struct DeepestSpec< T<T1> > {
+       typedef typename 
+               IF<
+                       TYPECMP<T1, void>::VALUE,                                                                               // is T1 void?
+                       T<T1>,                                                                                                                  // yes, end of recursion
+                       typename DeepestSpec< typename Spec< T<T1> >::Type >::Type              // no,  recurse
+               >::Type Type;
+};
+
+// recursion for 2 arguments
+template <
+       template <typename, typename> class T, 
+       typename T1, typename T2 >
+struct DeepestSpec< T<T1,T2> >:
+       DeepestSpec< typename Spec< T<T1,T2> >::Type > {};
+
+// recursion for 3 arguments
+template <
+       template <typename, typename, typename> class T, 
+       typename T1, typename T2, typename T3 >
+struct DeepestSpec< T<T1,T2,T3> >:
+       DeepestSpec< typename Spec< T<T1,T2,T3> >::Type > {};
+
+// recursion for 4 arguments
+template <
+       template <typename, typename, typename, typename> class T, 
+       typename T1, typename T2, typename T3, typename T4 >
+struct DeepestSpec< T<T1,T2,T3,T4> >:
+       DeepestSpec< typename Spec< T<T1,T2,T3,T4> >::Type > {};
+
+// recursion for 5 arguments
+template <
+       template <typename, typename, typename, typename, typename> class T, 
+       typename T1, typename T2, typename T3, typename T4, typename T5 >
+struct DeepestSpec< T<T1,T2,T3,T4,T5> >:
+       DeepestSpec< typename Spec< T<T1,T2,T3,T4,T5> >::Type > {};
+
+template <typename T>
+struct DeepestSpec<T const>:
+       public DeepestSpec<T> {};
+
+//____________________________________________________________________________
+
+/**
+.Metafunction.Cargo:
+..summary:Type of additional data stored in an object. 
+..signature:Cargo<T>::Type
+..param.T:Type for which the cargo tyoe is determined.
+..returns.param.Type:Cargo of $T$.
+..remarks:The definition of Cargo allows the addition of user specific data to existing data structures.
+*/
+
+template <typename T>
+struct Cargo {
+       typedef Nothing Type;
+};
+template <typename T>
+struct Cargo<T const> {
+       typedef typename Cargo<T>::Type const Type;
+};
+
+//____________________________________________________________________________
+
+/**
+.Metafunction.VertexDescriptor:
+..summary:Type of an object that represents a vertex descriptor.
+..signature:VertexDescriptor<T>::Type
+..param.T:Type T must be a graph. All graphs currently use ids as vertex descriptors.
+..returns.param.Type:VertexDescriptor type.
+..remarks.text:The vertex descriptor is a unique handle to a vertex in a graph.
+It is used in various graph functions, e.g., to add edges, to create OutEdge Iterators or to remove a vertex.
+It is also used to attach properties to vertices.
+..example.code:VertexDescriptor<Graph<> >::Type vD; //vD is a vertex descriptor
+*/
+
+template <typename T>
+struct VertexDescriptor {
+       typedef void* Type;
+};
+template <typename T>
+struct VertexDescriptor<T const>:
+       public VertexDescriptor<T> {};
+
+
+//____________________________________________________________________________
+
+       
+/**
+.Metafunction.Id:
+..summary:Type of an object that represents an id.
+..signature:Id<T>::Type
+..param.T:Type for which a suitable id type is determined.
+..returns.param.Type:Id type.
+..remarks.text:The id type of a container is the type that is used to uniquely identify its elements.
+In most cases this type is unsigned int.
+..example.code:Id<Graph<> >::Type id; //id has type unsigned int
+*/
+template<typename T>
+struct Id {
+       typedef unsigned int Type;
+};
+
+//____________________________________________________________________________
+
+template<typename T>
+struct Id<T const> {
+       typedef unsigned int Type;
+};
+
+//____________________________________________________________________________
+
+/**
+.Metafunction.Key:
+..summary:Key type of a key to cargo mapping.
+..signature:Key<T>::Type
+..param.T:Type for which a key type is determined.
+..returns.param.Type:Key type.
+...default:The type $T$ itself.
+*/
+template< typename T >
+struct Key
+{
+       typedef T Type;
+};
+
+template <typename T>
+struct Key<T const>:
+       Key<T> {};
+
+//____________________________________________________________________________
+
+/*VERALTET
+.Metafunction.Object:
+..summary:Object type of a key to object mapping.
+..signature:Object<T>::Type
+..param.T:Type for which a object type is determined.
+..returns.param.Type:Object type.
+*/
+
+template<typename T>
+struct Object; 
+
+template <typename T>
+struct Object<T const>:
+       Object<T> {};
+
+
+//____________________________________________________________________________
+
+/**
+.Metafunction.Source
+*/
+
+template < typename TSpec = void >
+struct Source
+{
+       typedef TSpec Type;
+};
+
+template <typename T>
+struct Source<T const>:
+       Source<T>
+{
+};
+
+//____________________________________________________________________________
+
+/**
+.Internal._Parameter:
+..cat:Metafunctions
+..summary:Type for function parameters and return values.
+..signature:_Parameter<T>::Type
+..param.T:A type.
+..returns.param.Type:The parameter type for arguments of type $T$.
+...text:If $T$ is a pointer or array type, then $_Parameter<T>::Type$ is $T$, 
+otherwise $_Parameter<T>::Type$ is $T &$.
+*/
+template <typename T>
+struct _Parameter
+{
+       typedef T & Type;
+};
+
+template <typename T>
+struct _Parameter<T *>
+{
+       typedef T * Type;
+};
+template <typename T, size_t I>
+struct _Parameter<T [I]>
+{
+       typedef T * Type;
+};
+
+
+/**
+.Internal._toParameter:
+..cat:Functions
+..summary:Transforms pointers to parameter types.
+..signature:_toParameter<T>(pointer)
+..param.pointer:A pointer.
+..param.T:A Type.
+...text:$object$ is transformed into the parameter type of $T$ that is given by @Internal._Parameter@.
+...note:This type must be explicitely specified.
+..returns:To $TParameter$ transformed $object$.
+..see:Internal._Parameter
+*/
+template <typename T>
+typename _Parameter<T>::Type
+_toParameter(T * _object)
+{
+SEQAN_CHECKPOINT
+       return * _object;
+}
+template <typename T>
+typename _Parameter<T>::Type
+_toParameter(T _object)
+{
+SEQAN_CHECKPOINT
+       return _object;
+}
+
+//____________________________________________________________________________
+
+/**
+.Internal._ConstParameter:
+..cat:Metafunctions
+..summary:Type for constant function parameters and return values.
+..signature:_ConstParameter<T>::Type
+..param.T:A type.
+..returns.param.Type:The const parameter type for arguments of type $T$.
+...text:If $T$ is a pointer or array type, then $_Parameter<T>::Type$ is a pointer to a const array, 
+otherwise $_Parameter<T>::Type$ is $T const &$.
+..see:Internal._Parameter
+*/
+template <typename T>
+struct _ConstParameter
+{
+       typedef T const & Type;
+};
+template <typename T>
+struct _ConstParameter<T const>:
+       public _ConstParameter<T> {};
+
+template <typename T>
+struct _ConstParameter<T *>
+{
+       typedef T const * Type;
+};
+template <typename T>
+struct _ConstParameter<T const *>
+{
+       typedef T const * Type;
+};
+
+template <typename T, size_t I>
+struct _ConstParameter<T [I]>
+{
+       typedef T const * Type;
+};
+template <typename T, size_t I>
+struct _ConstParameter<T const [I]>
+{
+       typedef T const * Type;
+};
+
+//____________________________________________________________________________
+
+/**
+.Internal._Pointer:
+..cat:Metafunctions
+..summary:The associated pointer type.
+..signature:_Pointer<T>::Type
+..param.T:A type.
+..returns.param.Type:A pointer type for $T$.
+...text:if $T$ is already a pointer type, then $_Pointer<T>::Type$ is $T$,
+otherwise $_Pointer<T>::Type$ is $T *$.
+..see:Internal._Parameter
+..see:Internal._toParameter
+*/
+template <typename T>
+struct _Pointer
+{
+       typedef T * Type;
+};
+
+template <typename T>
+struct _Pointer<T *>
+{
+       typedef T * Type;
+};
+template <typename T>
+struct _Pointer<T * const>
+{
+       typedef T * const Type;
+};
+
+template <typename T, size_t I>
+struct _Pointer<T [I]>
+{
+       typedef T * Type;
+};
+
+/**
+.Internal._toPointer:
+..cat:Functions
+..summary:Transforms types into pointers.
+..signature:_toPointer(object)
+..param.object:An object.
+..returns:$object$, transformed to a pointer. 
+...text:The type of the returned pointer is given by @Internal._Pointer@.
+..see:Internal._Pointer
+*/
+template <typename T>
+typename _Pointer<T>::Type
+_toPointer(T & _object)
+{
+SEQAN_CHECKPOINT
+       return & _object;
+}
+template <typename T>
+typename _Pointer<T const>::Type
+_toPointer(T const & _object)
+{
+SEQAN_CHECKPOINT
+       return & _object;
+}
+
+template <typename T>
+typename _Pointer<T *>::Type
+_toPointer(T * _object)
+{
+SEQAN_CHECKPOINT
+       return _object;
+}
+
+//____________________________________________________________________________
+
+
+/**
+.Metafunction.LENGTH:
+..summary:Number of elements in a fixed-size container.
+..signature:LENGTH<T>::Type
+..param.T:Type for which the number of elements is determined.
+..returns.param.VALUE:Number of elements.
+..remarks.text:The default return value is 1 for dynamic-size containers.
+*/
+template <typename T>
+struct LENGTH
+{
+       enum { VALUE = 1 };
+};
+template <typename T>
+struct LENGTH<T const>:
+       LENGTH<T>
+{
+};
+
+/**
+.Metafunction.WEIGHT:
+..summary:Number of relevant positions in a shape.
+..signature:WEIGHT<T>::Type
+..param.T:Shape type for which the number of relevant positions is determined.
+...type:Class.Shape
+..returns.param.VALUE:Number of relevant positions.
+..remarks.text:The default return value is the result of the @Metafunction.LENGTH@ function.
+For gapped shapes this is the number of '1's.
+*/
+template <typename T>
+struct WEIGHT:
+       LENGTH<T>
+{
+};
+template <typename T>
+struct WEIGHT<T const>:
+       WEIGHT<T>
+{
+};
+
+//////////////////////////////////////////////////////////////////////////////
+
+//Iterator: see basic_iterator.h
+
+//////////////////////////////////////////////////////////////////////////////
+
+}// namespace SEQAN_NAMESPACE_MAIN
+
+#endif //#ifndef SEQAN_HEADER_...
diff --git a/SeqAn-1.1/seqan/basic/basic_volatile_ptr.h b/SeqAn-1.1/seqan/basic/basic_volatile_ptr.h
new file mode 100644 (file)
index 0000000..6a6bdd5
--- /dev/null
@@ -0,0 +1,159 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de 
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: basic_volatile_ptr.h,v 1.1 2008/08/25 16:20:01 langmead Exp $
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_BASIC_VOLATILE_PTR_H
+#define SEQAN_HEADER_BASIC_VOLATILE_PTR_H
+
+//////////////////////////////////////////////////////////////////////////////
+
+namespace SEQAN_NAMESPACE_MAIN
+{
+
+       //////////////////////////////////////////////////////////////////////////////
+       // volatile pointer
+       // allows you to handle volatile data (used by ext. string during swapping)
+    //
+       // imagine volatile pointers as nodes in an undirected graph
+    // when you assign one to another then they are connected
+    // all pointers in a connection component points to the same value
+    // by calling nukeCopies you can destroy the component and set all pointers to NULL
+
+       template < typename Type >
+       struct VolatilePtr
+       {
+               typedef VolatilePtr             _Self;
+               typedef VolatilePtr*    _SelfPtr;
+               typedef VolatilePtr&    _SelfRef;
+
+               typedef Type&                   reference;
+               typedef const Type&             const_reference;
+               typedef Type*                   pointer;
+
+               pointer                 ptr;
+               _SelfPtr                next;                   // prev == NULL means this is the master node
+               _SelfPtr                prev;                   // prev == NULL means this is the master node
+
+        VolatilePtr() {            // volatile pinters behave like normal pointers
+            prev = this;    // and are not initialized (ptr) per default
+            next = this;
+        };
+
+        VolatilePtr(const pointer _p) {
+                       ptr = _p;
+                       prev = this;
+                       next = this;
+        }
+
+        VolatilePtr(const _Self& _vp) {
+                       ptr = _vp.ptr;
+                       prev = this;
+                       next = this;
+        }
+
+        VolatilePtr(_SelfRef _vp) {
+                       ptr = _vp.ptr;
+                       prev = this;
+                       next = this;
+                       if (ptr) hangOn(_vp);
+               }
+
+               ~VolatilePtr() {
+                       hangOff();
+               }
+        
+        template <typename size_type>
+               inline reference operator[] (size_type offset) {
+                       return ptr[offset];
+               }
+
+        template <typename size_type>
+               inline const_reference operator[] (size_type offset) const {
+                       return ptr[offset];
+               }
+
+               inline _Self& operator=(_Self const &_Right) {
+                       hangOff();
+                       ptr = _Right.ptr;
+            if (ptr) hangOn(const_cast<_Self&>(_Right));
+                       return *this;
+               }
+
+               inline _Self& operator=(pointer const _Right) {
+                       hangOff();
+                       ptr = _Right;
+                       return *this;
+               }
+
+        inline bool isLonely() {
+            return next == this;
+        }
+
+               inline void nukeCopies() {
+                       _SelfPtr p = next;
+                       while (p != this) {
+                               _SelfPtr tmp = p->next;
+                               p->ptr = NULL;
+                               p->prev = p;
+                               p->next = p;
+                               p = tmp;
+                       }
+            prev = this;
+                       next = this;
+               }
+
+               inline bool operator== (const _Self &I) const {
+                       return ptr == I.ptr;
+               }
+
+               inline bool operator!= (const _Self &I) const {
+                       return ptr != I.ptr;
+               }
+
+               inline operator pointer () const {
+                       return ptr;
+               }
+
+       private:
+
+               inline void hangOn(_SelfRef _prev) {
+                       // hang on between _prev and _prev.next
+                       prev = &_prev;
+                       next = _prev.next;
+                       _prev.next = this;
+                       next->prev = this;
+               }
+
+               inline void hangOff() {
+                       next->prev = prev;
+                       prev->next = next;
+            next = this;
+            prev = this;
+               }
+       };
+
+    template <typename TValue>
+    inline void nukeCopies(TValue* &) {}
+
+    template <typename TValue>
+    inline void nukeCopies(VolatilePtr<TValue> &ptr) { ptr.nukeCopies(); }
+
+}
+
+#endif
diff --git a/SeqAn-1.1/seqan/file.h b/SeqAn-1.1/seqan/file.h
new file mode 100644 (file)
index 0000000..034a8e0
--- /dev/null
@@ -0,0 +1,89 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: file.h,v 1.4 2009/03/13 14:51:00 langmead Exp $
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_FILE_H
+#define SEQAN_HEADER_FILE_H
+
+//____________________________________________________________________________
+// prerequisites
+
+#include <iostream>
+#include <climits>
+#include <cstdio>
+#include <list>
+#include <vector>
+#include <map>
+#include <cmath>
+
+#include <seqan/sequence.h>
+
+
+//____________________________________________________________________________
+
+#include <seqan/file/file_forwards.h>
+
+#ifdef SEQAN_SWITCH_USE_FORWARDS
+#include <seqan/file/file_generated_forwards.h>
+#endif
+
+#include <seqan/file/cstream.h>
+#include <seqan/file/stream.h>
+
+#include <seqan/file/chunk_collector.h>
+#include <seqan/file/meta.h>
+
+//____________________________________________________________________________
+// file formats
+
+#include <seqan/file/file_format.h>
+
+#include <seqan/file/stream_algorithms.h>
+
+//file formats for sequences
+#include <seqan/file/file_format_raw.h>
+#include <seqan/file/file_format_fasta.h>
+//#include <seqan/file/file_format_embl.h>
+//#include <seqan/file/file_format_genbank.h>
+
+//file formats for alignments
+#include <seqan/file/file_format_fasta_align.h>
+
+//others
+#include <seqan/file/file_format_cgviz.h>
+
+//____________________________________________________________________________
+
+//#include <seqan/file/file_format_guess.h>
+
+//____________________________________________________________________________
+// files
+
+#include <seqan/file/file_base.h>
+#include <seqan/file/file_array.h>
+
+//#include <seqan/system.h>    // async file (default file type of File<>)
+/*#include <seqan/system/file_sync.h>
+#include <seqan/system/system_event.h>
+#include <seqan/system/file_async.h>
+*/
+//____________________________________________________________________________
+// external string
+
+#endif //#ifndef SEQAN_HEADER_...
diff --git a/SeqAn-1.1/seqan/file/chunk_collector.h b/SeqAn-1.1/seqan/file/chunk_collector.h
new file mode 100644 (file)
index 0000000..c4515d1
--- /dev/null
@@ -0,0 +1,534 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de 
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: chunk_collector.h,v 1.1 2008/08/25 16:20:04 langmead Exp $
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_CHUNK_COLLECTOR_H
+#define SEQAN_HEADER_CHUNK_COLLECTOR_H
+
+
+namespace SEQAN_NAMESPACE_MAIN
+{
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Internal._ChunkCollector:
+..cat:Classes
+..summary:Reads piecewise from stream, collects pieces (chunks) in a vector.
+..signature:_ChunkCollector<Host>
+..param.Host:Type of host object that is used as allocator.
+*/
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename T>
+struct ChunkLength
+{
+       enum { VALUE = 1024 };
+};
+
+//////////////////////////////////////////////////////////////////////////////
+// _StreamChunkCollector class: collects content of a stream in chunks
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename THost>
+class _ChunkCollector
+{
+protected:
+       THost * data_host;
+       typename Size<THost>::Type data_length;
+
+       typedef ::std::vector<typename Value<THost>::Type *, ToStdAllocator<THost, typename Value<THost>::Type *> > Chunk_Holder;
+       Chunk_Holder data_chunks; 
+
+public:
+       static int const CHUNK_LENGTH = ChunkLength<_ChunkCollector>::VALUE;
+
+public:
+       _ChunkCollector(THost & _host):
+               data_host(& _host),
+               data_length(0),
+               data_chunks(typename Chunk_Holder::allocator_type(_host))
+       {
+       }
+
+       ~_ChunkCollector()
+       {
+               clear(*this);
+       }
+
+public:
+
+       friend inline void
+       clear(_ChunkCollector & me)
+       {
+               typename Chunk_Holder::iterator it = me.data_chunks.begin();
+               typename Chunk_Holder::iterator it_end = me.data_chunks.end();
+
+               for (; it != it_end; ++it)
+               {
+                       deallocate(me.data_host, *it, CHUNK_LENGTH);
+               }
+
+               me.data_chunks.clear();
+               me.data_length = 0;
+       }
+
+       friend inline typename Size<THost>::Type
+       length(_ChunkCollector const & me)
+       {
+               return me.data_length;
+       }
+
+       friend inline void
+       _setLength(_ChunkCollector & me, typename Size<THost>::Type new_length)
+       {
+               me.data_length = new_length;
+       }
+
+       friend inline int
+       chunkCount(_ChunkCollector const & me)
+       {
+               return me.data_chunks.size();
+       }
+
+       friend inline typename Value<THost>::Type *
+       getChunk(_ChunkCollector const & me, int chunk_number)
+       {
+               return me.data_chunks[chunk_number];
+       }
+
+       friend inline typename Value<THost>::Type *
+       createChunk(_ChunkCollector & me)
+       {
+               typename Value<THost>::Type * new_chunk;
+               allocate(me.data_host, new_chunk, CHUNK_LENGTH);
+               me.data_chunks.push_back(new_chunk);
+               return new_chunk;
+       }
+};
+
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename THost>
+struct Host<_ChunkCollector<THost> >
+{
+       typedef THost Type;
+};
+
+template <typename THost>
+struct Host<_ChunkCollector<THost> const >
+{
+       typedef THost Type;
+};
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename THost>
+struct Value<_ChunkCollector<THost> >
+{
+       typedef typename Value<THost>::Type Type;
+};
+
+template <typename THost>
+struct Value<_ChunkCollector<THost> const >
+{
+       typedef typename Value<THost>::Type Type;
+};
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename THost>
+struct GetValue<_ChunkCollector<THost> >
+{
+       typedef typename GetValue<THost>::Type Type;
+};
+
+template <typename THost>
+struct GetValue<_ChunkCollector<THost> const >
+{
+       typedef typename GetValue<THost>::Type Type;
+};
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename THost>
+struct Size<_ChunkCollector<THost> >
+{
+       typedef typename Size<THost>::Type Type;
+};
+
+template <typename THost>
+struct Size<_ChunkCollector<THost> const >
+{
+       typedef typename Size<THost>::Type Type;
+};
+
+//////////////////////////////////////////////////////////////////////////////
+
+struct _Assign_Stream_2_ChunkCollector
+{
+       template <typename THost, typename TSource>
+       static inline void 
+       assign_(_ChunkCollector<THost> & target,
+               TSource & source)
+       {
+               clear(target);
+
+               while (!_streamEOF(source))
+               {
+                       typename Value<THost>::Type * chunk = createChunk(target);
+                       typename Size<THost>::Type count = _streamRead(chunk, source, ChunkLength< _ChunkCollector<THost> >::VALUE);
+                       _setLength(target, length(target) + count);
+               }
+       }
+
+       template <typename THost, typename TSource>
+       static inline void 
+       assign_(_ChunkCollector<THost> & target,
+               TSource & source,
+               typename Size< _ChunkCollector<THost> >::Type limit)
+       {
+               clear(target);
+
+               while (!_streamEOF(source))
+               {
+                       typename Value<THost>::Type * chunk = createChunk(target);
+                       typename Size<THost>::Type count = _streamRead(chunk, source, ChunkLength< _ChunkCollector<THost> >::VALUE);
+                       _setLength(target, length(target) + count);
+
+                       if (length(target) >= limit)
+                       {
+                               _setLength(target, limit);
+                               break;
+                       }
+               }
+       }
+};
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename THost, typename TSource>
+inline void 
+assign(_ChunkCollector<THost> & target,
+          TSource & source)
+{
+       _Assign_Stream_2_ChunkCollector::assign_(target, source);
+}
+template <typename THost, typename TSource>
+inline void 
+assign(_ChunkCollector<THost> & target,
+          TSource const & source)
+{
+       _Assign_Stream_2_ChunkCollector::assign_(target, source);
+}
+
+template <typename THost, typename TSource, typename TSize>
+inline void 
+assign(_ChunkCollector<THost> & target,
+          TSource & source,
+          TSize limit)
+{
+       _Assign_Stream_2_ChunkCollector::assign_(target, source, limit);
+}
+template <typename THost, typename TSource, typename TSize>
+inline void 
+assign(_ChunkCollector<THost> & target,
+          TSource const & source,
+          TSize limit)
+{
+       _Assign_Stream_2_ChunkCollector::assign_(target, source, limit);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TExpand>
+struct _Assign_ChunkCollector_2_String
+{
+       template <typename TTarget, typename TSource>
+       static void assign_(
+               TTarget & target, 
+               TSource & source)
+       {
+               typename Size<TTarget>::Type part_length = _clearSpace(target, length(source), TExpand());
+
+               int i_end = chunkCount(source);
+               typename Value<TTarget>::Type * pos = begin(target);
+               for (int i = 0; i < i_end; ++i)
+               {
+                       bool is_last_chunk = ( part_length <= ChunkLength<TSource>::VALUE);
+                       typename Size<TTarget>::Type chunk_length = (is_last_chunk) ? part_length : ChunkLength<TSource>::VALUE;
+                       typename Value<TSource>::Type * chunk = getChunk(source, i);
+                       
+                       arrayConstructCopy(chunk, chunk + chunk_length, pos);
+                       if (is_last_chunk) break;
+                       pos += chunk_length;
+               }
+       }
+
+       template <typename TTarget, typename TSource>
+       static void assign_(
+               TTarget & target, 
+               TSource & source,
+               typename Size<TTarget>::Type limit)
+       {
+               typename Size<TTarget>::Type part_length = _clearSpace(target, length(source), limit, TExpand());
+
+               int i_end = chunkCount(source);
+               typename Value<TTarget>::Type * pos = begin(target);
+               for (int i = 0; i < i_end; ++i)
+               {
+                       bool is_last_chunk = ( part_length <= ChunkLength<TSource>::VALUE);
+                       typename Size<TTarget>::Type chunk_length = (is_last_chunk) ? part_length : ChunkLength<TSource>::VALUE;
+                       typename Value<TSource>::Type * chunk = getChunk(source, i);
+                       
+                       arrayConstructCopy(chunk, chunk + chunk_length, pos);
+                       if (is_last_chunk) break;
+                       pos += chunk_length;
+               }
+       }
+};
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TTargetValue, typename TTargetSpec, typename TSourceHost, typename TExpand>
+inline void 
+assign(String<TTargetValue, TTargetSpec> & target,
+          _ChunkCollector<TSourceHost> const & source,
+          Tag<TExpand> const tag)
+{
+       _Assign_ChunkCollector_2_String<Tag<TExpand> const>::assign_(target, source);
+}
+template <typename TTargetValue, typename TTargetSpec, typename TSourceHost, typename TExpand>
+inline void 
+assign(String<TTargetValue, TTargetSpec> & target,
+          _ChunkCollector<TSourceHost> const & source,
+          typename Size< String<TTargetValue, TTargetSpec> >::Type limit,
+          Tag<TExpand> const tag)
+{
+       _Assign_ChunkCollector_2_String<Tag<TExpand> const>::assign_(target, source, limit);
+}
+
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TExpand>
+struct _Append_ChunkCollector_2_String
+{
+       template <typename TTarget, typename TSource>
+       static void append_(
+               TTarget & target, 
+               TSource & source)
+       {
+               typedef typename Size<TTarget>::Type TSize;
+               TSize target_length_old = length(target);
+               TSize part_length = _clearSpace(target, length(source), target_length_old, target_length_old, TExpand());
+
+               int i_end = chunkCount(source);
+               typename Value<TTarget>::Type * pos = begin(target) + target_length_old; //begin(target) was possibly changed by _clearSpace
+               for (int i = 0; i < i_end; ++i)
+               {
+                       bool is_last_chunk = ( part_length <= ChunkLength<TSource>::VALUE);
+                       typename Size<TTarget>::Type chunk_length = (is_last_chunk) ? part_length : (TSize) ChunkLength<TSource>::VALUE;
+                       typename Value<TSource>::Type * chunk = getChunk(source, i);
+                       
+                       arrayConstructCopy(chunk, chunk + chunk_length, pos);
+                       if (is_last_chunk) break;
+                       pos += chunk_length;
+               }
+       }
+
+       template <typename TTarget, typename TSource>
+       static void append_(
+               TTarget & target, 
+               TSource & source,
+               typename Size<TTarget>::Type limit)
+       {
+               typedef typename Size<TTarget>::Type TSize;
+               TSize target_length_old = length(target);
+               TSize part_length = _clearSpace(target, length(source), target_length_old, target_length_old, limit, TExpand());
+
+               int i_end = chunkCount(source);
+               typename Value<TTarget>::Type * pos = begin(target) + target_length_old; //begin(target) was possibly changed by _clearSpace
+               for (int i = 0; i < i_end; ++i)
+               {
+                       bool is_last_chunk = ( part_length <= ChunkLength<TSource>::VALUE);
+                       typename Size<TTarget>::Type chunk_length = (is_last_chunk) ? part_length : (TSize) ChunkLength<TSource>::VALUE;
+                       typename Value<TSource>::Type * chunk = getChunk(source, i);
+                       
+                       arrayConstructCopy(chunk, chunk + chunk_length, pos);
+                       if (is_last_chunk) break;
+                       pos += chunk_length;
+               }
+       }
+};
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TTargetValue, typename TTargetSpec, typename TSourceHost, typename TExpand>
+inline void 
+append(String<TTargetValue, TTargetSpec> & target,
+          _ChunkCollector<TSourceHost> const & source,
+          Tag<TExpand> const )
+{
+       _Append_ChunkCollector_2_String<Tag<TExpand> const>::append_(target, source);
+}
+template <typename TTargetValue, typename TTargetSpec, typename TSourceHost, typename TExpand>
+inline void 
+append(String<TTargetValue, TTargetSpec> & target,
+          _ChunkCollector<TSourceHost> const & source,
+          typename Size< String<TTargetValue, TTargetSpec> >::Type limit,
+          Tag<TExpand> const )
+{
+       _Append_ChunkCollector_2_String<Tag<TExpand> const>::append_(target, source, limit);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TExpand>
+struct _Replace_ChunkCollector_2_String
+{
+       template <typename TTarget, typename TSource>
+       static void replace_(
+               TTarget & target,
+               typename Size<TTarget>::Type pos_begin,
+               typename Size<TTarget>::Type pos_end,
+               TSource & source)
+       {
+               typename Size<TTarget>::Type part_length = _clearSpace(target, length(source), pos_begin, pos_end, TExpand());
+
+               int i_end = chunkCount(source);
+               typename Value<TTarget>::Type * pos = begin(target) + pos_begin;
+               for (int i = 0; i < i_end; ++i)
+               {
+                       bool is_last_chunk = ( part_length <= ChunkLength<TSource>::VALUE);
+                       typename Size<TTarget>::Type chunk_length = (is_last_chunk) ? part_length : ChunkLength<TSource>::VALUE;
+                       typename Value<TSource>::Type * chunk = getChunk(source, i);
+                       
+                       arrayConstructCopy(chunk, chunk + chunk_length, pos);
+                       if (is_last_chunk) break;
+                       pos += chunk_length;
+               }
+       }
+
+       template <typename TTarget, typename TSource>
+       static void replace_(
+               TTarget & target, 
+               typename Size<TTarget>::Type pos_begin,
+               typename Size<TTarget>::Type pos_end,
+               TSource & source,
+               typename Size<TTarget>::Type limit)
+       {
+               typename Size<TTarget>::Type part_length = _clearSpace(target, length(source), pos_begin, pos_end, limit, TExpand());
+
+               int i_end = chunkCount(source);
+               typename Value<TTarget>::Type * pos = begin(target) + pos_begin;
+               for (int i = 0; i < i_end; ++i)
+               {
+                       bool is_last_chunk = ( part_length <= ChunkLength<TSource>::VALUE);
+                       typename Size<TTarget>::Type chunk_length = (is_last_chunk) ? part_length : ChunkLength<TSource>::VALUE;
+                       typename Value<TSource>::Type * chunk = getChunk(source, i);
+                       
+                       arrayConstructCopy(chunk, chunk + chunk_length, pos);
+                       if (is_last_chunk) break;
+                       pos += chunk_length;
+               }
+       }
+};
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TTargetValue, typename TTargetSpec, typename TSourceHost, typename TExpand>
+inline void 
+replace(String<TTargetValue, TTargetSpec> & target,
+               typename Size< String<TTargetValue, TTargetSpec> >::Type pos_begin,
+               typename Size< String<TTargetValue, TTargetSpec> >::Type pos_end,
+          _ChunkCollector<TSourceHost> const & source,
+          Tag<TExpand> const tag)
+{
+       _Replace_ChunkCollector_2_String<Tag<TExpand> const>::replace_(target, pos_begin, pos_end, source);
+}
+
+template <typename TTargetValue, typename TTargetSpec, typename TSourceHost, typename TExpand>
+inline void 
+replace(String<TTargetValue, TTargetSpec> & target,
+               typename Size< String<TTargetValue, TTargetSpec> >::Type pos_begin,
+               typename Size< String<TTargetValue, TTargetSpec> >::Type pos_end,
+          _ChunkCollector<TSourceHost> const & source,
+          typename Size< String<TTargetValue, TTargetSpec> >::Type limit,
+          Tag<TExpand> const tag)
+{
+       _Replace_ChunkCollector_2_String<Tag<TExpand> const>::replace_(target, pos_begin, pos_end, source, limit);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TTargetValue, typename TSourceHost, typename TExpand>
+inline void 
+replace(TTargetValue * target,
+               size_t pos_begin,
+               size_t pos_end,
+               _ChunkCollector<TSourceHost> const & source,
+               Tag<TExpand> const tag)
+{
+       _Replace_ChunkCollector_2_String<Tag<TExpand> const>::replace_(target, pos_begin, pos_end, source);
+}
+
+template <typename TTargetValue, typename TSourceHost, typename TExpand>
+inline void 
+replace(TTargetValue * target,
+               size_t pos_begin,
+               size_t pos_end,
+               _ChunkCollector<TSourceHost> const & source,
+               size_t limit,
+               Tag<TExpand> const tag)
+{
+       _Replace_ChunkCollector_2_String<Tag<TExpand> const>::replace_(target, pos_begin, pos_end, source, limit);
+}
+//____________________________________________________________________________
+/*
+template <typename TTargetValue, typename TSourceHost, typename TExpand>
+inline void 
+replace(TTargetValue * target,
+               size_t pos_begin,
+               size_t pos_end,
+          _ChunkCollector<TSourceHost> const & source,
+          Tag<TExpand> const tag)
+{
+       _Replace_ChunkCollector_2_String<Tag<TExpand> const>::replace_(target, pos_begin, pos_end, source);
+}
+
+template <typename TTargetValue, typename TTargetSpec, typename TSourceHost, typename TExpand>
+inline void 
+replace(String<TTargetValue, TTargetSpec> & target,
+               typename Size< String<TTargetValue, TTargetSpec> >::Type pos_begin,
+               typename Size< String<TTargetValue, TTargetSpec> >::Type pos_end,
+          _ChunkCollector<TSourceHost> const & source,
+          typename Size< String<TTargetValue, TTargetSpec> >::Type limit,
+          Tag<TExpand> const tag)
+{
+       _Replace_ChunkCollector_2_String<Tag<TExpand> const>::replace_(target, pos_begin, pos_end, source, limit);
+}
+*/
+//////////////////////////////////////////////////////////////////////////////
+
+} //namespace SEQAN_NAMESPACE_MAIN
+
+#endif //#ifndef SEQAN_HEADER_...
diff --git a/SeqAn-1.1/seqan/file/cstream.h b/SeqAn-1.1/seqan/file/cstream.h
new file mode 100644 (file)
index 0000000..56f4315
--- /dev/null
@@ -0,0 +1,283 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: cstream.h,v 1.2 2009/03/03 18:47:37 langmead Exp $
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_CSTREAM_H
+#define SEQAN_HEADER_CSTREAM_H
+
+#include <cstdio>
+
+namespace SEQAN_NAMESPACE_MAIN
+{
+//////////////////////////////////////////////////////////////////////////////
+/**
+.Adaption."std::FILE *":
+..summary:Standard library C style streams.
+*/
+
+//////////////////////////////////////////////////////////////////////////////
+// Position is now defined in file/file_cstyle.h
+/*
+template <>
+struct Position<FILE *>
+{
+       typedef long Type;
+};
+*/
+//////////////////////////////////////////////////////////////////////////////
+
+template <>
+struct Value<FILE *>
+{
+       typedef char Type;
+};
+
+//////////////////////////////////////////////////////////////////////////////
+/*
+template <>
+struct Position<FILE *>
+{
+       typedef ::std::fpos_t Type;
+};
+*/
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename T>
+struct _IsTellSeekStream;
+
+template <>
+struct _IsTellSeekStream<FILE *>
+{
+       typedef True Type;
+};
+
+//////////////////////////////////////////////////////////////////////////////
+
+inline bool
+_streamOpen(::std::FILE * & me, String<char> path, bool for_read = true)
+{
+SEQAN_CHECKPOINT
+       size_t plen = length(path);
+       char *s = new char[plen + 1];
+       for(size_t i = 0; i < plen; i++) {
+               s[i] = path[i];
+       }
+       s[plen] = '\0';
+       if (for_read)
+       {
+               me = fopen(s, "rb");
+       }
+       else
+       {
+               me = fopen(s, "wb");
+       }
+       delete[] s;
+       return (me != 0);
+}
+
+
+//////////////////////////////////////////////////////////////////////////////
+
+inline void
+_streamClose(::std::FILE * & me)
+{
+SEQAN_CHECKPOINT
+       if (me)
+       {
+               fclose(me);
+               me = 0;
+       }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+///.Internal._streamEOF.param.stream.type:Adaption."std::FILE *"
+
+inline bool
+_streamEOF(::std::FILE * me)
+{
+SEQAN_CHECKPOINT
+       return feof(me) || ferror(me);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+///.Internal._streamRead.param.stream.type:Adaption."std::FILE *"
+
+template <typename TValue>
+inline size_t
+_streamRead(TValue * target,
+                       ::std::FILE * source,
+                       size_t limit)
+{
+SEQAN_CHECKPOINT
+       return ::std::fread(target, sizeof(TValue), limit, source);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+///.Internal._streamGet.param.stream.type:Adaption."std::FILE *"
+
+inline char
+_streamGet(::std::FILE * source)
+{
+SEQAN_CHECKPOINT
+       return getc(source);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+///.Internal._streamPut.param.stream.type:Adaption."std::FILE *"
+
+inline void
+_streamPut(::std::FILE * target,
+                  char character)
+{
+SEQAN_CHECKPOINT
+       putc(character, target);
+}
+
+
+//////////////////////////////////////////////////////////////////////////////
+
+///.Internal._streamPut.param.stream.type:Adaption."std::FILE *"
+
+//////////////////////////////////////////////////////////////////////////////
+
+///.Internal._streamTellG.param.stream.type:Adaption."std::FILE *"
+
+inline Position<FILE *>::Type
+_streamTellG(FILE * me)
+{
+SEQAN_CHECKPOINT
+       return ::std::ftell(me);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+///.Internal._streamTellP.param.stream.type:Adaption."std::FILE *"
+
+inline Position<FILE *>::Type
+_streamTellP(FILE * me)
+{
+SEQAN_CHECKPOINT
+       return ::std::ftell(me);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+///.Internal._streamSeekG.param.stream.type:Adaption."std::FILE *"
+
+inline void
+_streamSeekG(FILE * me,
+                        Position<FILE *>::Type pos)
+{
+SEQAN_CHECKPOINT
+       ::std::fseek(me, pos, SEEK_SET);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+///.Internal._streamSeekP.param.stream.type:Adaption."std::FILE *"
+
+inline void
+_streamSeekP(FILE * me,
+                        Position<FILE *>::Type pos)
+{
+SEQAN_CHECKPOINT
+       ::std::fseek(me, pos, SEEK_SET);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+///.Internal._streamSeek2G.param.stream.type:Adaption."std::FILE *"
+
+inline void
+_streamSeek2G(FILE * me,
+        int off)
+{
+SEQAN_CHECKPOINT
+       ::std::fseek(me, off, SEEK_CUR);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+///.Internal._streamUnget.param.stream.type:Adaption."std::FILE *"
+
+inline void
+_streamUnget(::std::FILE * stream)
+{
+SEQAN_CHECKPOINT
+       _streamSeek2G(stream, -1);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// Stream operators for FILE *
+//////////////////////////////////////////////////////////////////////////////
+
+// ISO C++ operators are only allowed for classes, not for pointers
+
+/*
+template <typename TSource>
+inline FILE *
+operator << (FILE * target,
+                        TSource & source)
+{
+SEQAN_CHECKPOINT
+       write(target, source);
+       return target;
+}
+template <typename TSource>
+inline FILE *
+operator << (FILE * target,
+                        TSource const & source)
+{
+SEQAN_CHECKPOINT
+       write(target, source);
+       return target;
+}
+
+//____________________________________________________________________________
+
+template <typename TTarget>
+inline FILE *
+operator >> (FILE * source,
+                        TTarget & target)
+{
+SEQAN_CHECKPOINT
+       read(source, target);
+       return source;
+}
+template <typename TTarget>
+inline FILE *
+operator >> (FILE * source,
+                        TTarget const & target)
+{
+SEQAN_CHECKPOINT
+       read(source, target);
+       return source;
+}
+*/
+
+//////////////////////////////////////////////////////////////////////////////
+
+} //namespace SEQAN_NAMESPACE_MAIN
+
+#endif //#ifndef SEQAN_HEADER_...
diff --git a/SeqAn-1.1/seqan/file/file_array.h b/SeqAn-1.1/seqan/file/file_array.h
new file mode 100644 (file)
index 0000000..52f5855
--- /dev/null
@@ -0,0 +1,427 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de 
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: file_array.h,v 1.1 2008/08/25 16:20:03 langmead Exp $
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_FILE_ARRAY_H
+#define SEQAN_HEADER_FILE_ARRAY_H
+
+#include <sstream>
+#include <iomanip>
+
+
+//////////////////////////////////////////////////////////////////////////////
+
+namespace SEQAN_NAMESPACE_MAIN
+{
+
+       //template < __int64 _FileSize = 2*1024*1024*1024-1, typename TFile = File<> >
+       //struct Chained;
+
+       //template < unsigned _FileCount = 2, typename TFile = File<> >
+       //struct Striped;
+
+
+    template < __int64 _FileSize, typename TFile >
+    struct Size< File< Chained<_FileSize, TFile> > >
+    {
+        typedef __int64 Type;
+    };
+
+    template < __int64 _FileSize, typename TFile >
+    struct Position< File< Chained<_FileSize, TFile> > >
+    {
+        typedef __int64 Type;
+    };
+
+    template < __int64 _FileSize, typename TFile >
+    struct Difference< File< Chained<_FileSize, TFile> > >
+    {
+        typedef __int64 Type;
+    };
+
+    template < __int64 _FileSize, typename TFile >
+    struct aRequest< File< Chained<_FileSize, TFile> > >
+    {
+               typedef typename aRequest<TFile>::Type Type;
+    };
+
+
+    template < unsigned _FileCount, typename TFile >
+    struct Size< File< Striped<_FileCount, TFile> > >
+    {
+        typedef __int64 Type;
+    };
+
+    template < unsigned _FileCount, typename TFile >
+    struct Position< File< Striped<_FileCount, TFile> > >
+    {
+        typedef __int64 Type;
+    };
+
+    template < unsigned _FileCount, typename TFile >
+    struct Difference< File< Striped<_FileCount, TFile> > >
+    {
+        typedef __int64 Type;
+    };
+
+    template < unsigned _FileCount, typename TFile >
+    struct aRequest< File< Striped<_FileCount, TFile> > >
+    {
+               typedef typename aRequest<TFile>::Type Type;
+    };
+
+
+       template < unsigned _FileCount, typename TFile >
+       class File< Striped<_FileCount, TFile> >: public Tuple< TFile, _FileCount > {
+               File(void *dummy = NULL) {}     // to be compatible with the FILE*(NULL) constructor
+               operator bool() const { return (*this)[0]; }
+       };
+
+    template < __int64 _FileSize, typename TFile >
+       class File< Chained<_FileSize, TFile> >: public String< TFile > {
+               typedef String< TFile > Base;
+
+               ::std::string   baseName;
+               int                             openMode;
+               __int64                 fileSize;
+               bool                    temporary;
+
+               File(void *dummy = NULL) :      // to be compatible with the FILE*(NULL) constructor
+                       fileSize(0),
+                       _realign(false) {}
+
+       private:
+               
+               bool _realign;
+       
+               template < typename TSize, typename TValue >
+               inline void _alignFloor(TSize _size, TValue const *) {
+                       __int64 alignment = sizeof(TValue) * sectorSize(TFile());
+                       fileSize = (_size / alignment) * alignment;
+               }
+
+               template < typename TSize, typename TValue >
+               inline void _alignCeil(TSize _size, TValue const *) {
+                       __int64 alignment = sizeof(TValue) * sectorSize(TFile());
+                       fileSize = ((_size + alignment - 1) / alignment) * alignment;
+               }
+
+       public:
+       
+               inline ::std::string getFileName(int i) const { 
+                       ::std::stringstream strm;
+                       strm << baseName << '.' << ::std::setfill('0') << ::std::setw(3) << i;
+                       return strm.str();
+               }
+
+               inline operator bool() const { 
+                       return (*this)[0]; 
+               }
+
+               inline unsigned fileCount() const {
+                       return length(*(Base*)this);
+               }
+
+               inline TFile& getFile(int fileNo) {
+                       unsigned _oldFileCount = fileCount();
+                       if (fileNo >= _oldFileCount) {
+                               resize(*(Base*)this, fileNo + 1);
+                               for(unsigned i = _oldFileCount; i <= fileNo; ++i)
+                                       if (temporary)
+                                               openTemp((*this)[i], openMode);
+                                       else
+                                               open((*this)[i], getFileName(i).c_str(), openMode);
+                       }
+                       return (*this)[fileNo];
+               }
+
+               inline void tryOpen() {
+                       unsigned fileCount = 0;
+                       while (fileExists(getFileName(fileCount).c_str())) ++fileCount;
+                       if (fileCount) {
+                               fileSize = size(getFile(0));
+                               _realign = (fileCount == 1);
+                               getFile(fileCount - 1);
+                       } 
+               }
+
+               // fileSize dependent functions
+
+               template < typename TValue >
+               inline void adjustFileSize(TValue const *dummy) {
+                       if (_realign) {
+                               _alignCeil(fileSize, dummy);
+                               _realign = false;
+                               if (fileSize < _FileSize)
+                                       fileSize = 0;
+                       }
+                       if (!fileSize) 
+                               _alignFloor(_FileSize, dummy);
+               }
+
+               template < typename TPos, typename TOffset, typename TValue >
+               inline TFile& getFileAndOffset(TPos offset, TOffset &fileOffset, TValue const *dummy) {
+                       adjustFileSize(dummy);
+                       offset *= sizeof(TValue);
+                       fileOffset = (offset % fileSize) / sizeof(TValue);
+                       return getFile(offset / fileSize);
+               }
+
+               template < typename TOffset, typename TValue >
+               inline __int64 restAt(TOffset fileOffset, TValue const *dummy) {
+                       adjustFileSize(dummy);
+                       __int64 restBytes = fileSize;
+                       restBytes -= fileOffset * sizeof(TValue);
+                       return restBytes / sizeof(TValue);
+               }
+
+               inline void resizeArray(__int64 _newSize) {
+                       if (fileSize) {
+                               unsigned _oldFileCount = fileCount();
+                               unsigned _newFileCount = enclosingBlocks(_newSize, fileSize);
+                               for(unsigned i = _newFileCount; i < _oldFileCount; ++i) {
+                                       close((*this)[i]);
+                                       if (!temporary) fileUnlink(getFileName(i).c_str());
+                               }
+                               resize(*(Base*)this, _newFileCount);
+                               if (_newFileCount) {
+                                       typename Size<TFile>::Type lastFileSize = _newSize % fileSize;
+                                       if (fileSize) resize((*this)[_newFileCount - 1], lastFileSize);
+                               }
+                       }
+               }
+
+        inline void clearInternals() {
+                       clear(*(Base*)this);
+            fileSize = 0;
+            _realign = false;
+               }
+       };
+
+
+    //////////////////////////////////////////////////////////////////////////////
+    // generic open/close interface
+    template < typename TFileArray >
+    inline bool _openTempFArray(TFileArray &me, int openMode) {
+               bool result = true;
+               for(int i = 0; i < length(me); ++i)
+                       result &= openTemp(me[i], openMode);
+               return result;
+    }
+
+    template < typename TFileArray >
+    inline bool _openTempFArray(TFileArray &me) {
+               return _openTempFArray(me, DefaultOpenTempMode<TFileArray>::VALUE);
+       }
+
+    template < typename TFileArray >
+    inline bool _reopenFArray(TFileArray &me, int openMode) {
+               bool result = true;
+               for(int i = 0; i < length(me); ++i)
+                       result &= reopen(me[i], openMode);
+               return result;
+    }
+
+    template < typename TFileArray >
+    inline bool _closeFArray(TFileArray &me) {
+               bool result = true;
+               for(int i = 0; i < length(me); ++i)
+                       if (me[i]) result &= close(me[i]);
+               return result;
+    }
+
+    template < typename TFileArray >
+    inline unsigned _sectorSizeFArray(TFileArray &me, int openMode) {
+               return sectorSize(me[0]);
+    }
+
+    template < typename TFileArray >
+    inline typename Size<TFileArray>::Type
+       _sizeFArray(TFileArray &me) {
+        typename Size<TFileArray>::Type sum = 0;
+               for(int i = 0; i < length(me); ++i)
+                       sum += size(me[i]);
+               return sum;
+    }
+
+    template < typename TFileArray >
+    inline bool _flushFArray(TFileArray &me) {
+               bool result = true;
+               for(int i = 0; i < length(me); ++i)
+                       result &= flush(me[i]);
+               return result;
+    }
+
+    template < typename TFileArray, typename TRequest >
+    inline bool _cancelFArray(TFileArray &me, TRequest &request) {
+               bool result = true;
+               for(int i = 0; i < length(me); ++i)
+                       result &= cancel(me[i], &request);
+               return result;
+    }
+
+
+    //////////////////////////////////////////////////////////////////////////////
+    // standard file array wrappers
+
+    template < __int64 _FileSize, typename TFile >
+       inline unsigned length(File< Chained<_FileSize, TFile> > const &me) {
+               return me.fileCount();
+       }
+
+    template < unsigned _FileCount, typename TFile >
+       inline unsigned length(File< Striped<_FileCount, TFile> > const &me) {
+               return _FileCount;
+       }
+
+    template < __int64 _FileSize, typename TFile >
+       inline bool open(File< Chained<_FileSize, TFile> > &me, const char *fileName, int openMode) {
+               me.baseName = fileName;
+               me.openMode = openMode;
+               me.temporary = false;
+               me.tryOpen();
+               return true;
+       }
+
+    template < __int64 _FileSize, typename TFile >
+       inline bool openTemp(File< Chained<_FileSize, TFile> > &me, int openMode) {
+               me.openMode = openMode;
+               me.temporary = true;
+               return true;
+       }
+
+    template < unsigned _FileCount, typename TFile >
+       inline bool openTemp(File< Striped<_FileCount, TFile> > &me, int openMode) {
+               return _openTempFArray(me, openMode);
+       }
+
+    template < __int64 _FileSize, typename TFile >
+       inline bool close(File< Chained<_FileSize, TFile> > &me) {
+        _closeFArray(me);
+        me.clearInternals();
+        return true;
+    }
+
+    template < unsigned _FileCount, typename TFile >
+       inline bool close(File< Striped<_FileCount, TFile> > &me) {     return _closeFArray(me); }
+
+    template < __int64 _FileSize, typename TFile >
+       __int64 size(File< Chained<_FileSize, TFile> > &me) {
+               return _sizeFArray(me);
+       }
+
+    template < unsigned _FileCount, typename TFile >
+       __int64 size(File< Striped<_FileCount, TFile> > &me) {
+               return _sizeFArray(me);
+       }
+
+    template < __int64 _FileSize, typename TFile, typename TSize >
+    inline void resize(File< Chained<_FileSize, TFile> > &me, TSize new_length) {
+               me.resizeArray(new_length);
+    }
+
+    template < __int64 _FileSize, typename TFile, typename TValue, typename TSize >
+       inline void allocate(File< Chained<_FileSize, TFile> > const &me, TValue* &data, TSize count) {
+               allocate(me[0], data, count);
+       }
+
+    template < __int64 _FileSize, typename TFile, typename TValue, typename TSize >
+       inline void deallocate(File< Chained<_FileSize, TFile> > const &me, TValue* &data, TSize count) {
+               deallocate(me[0], data, count);
+       }
+
+    template < unsigned _FileCount, typename TFile, typename TValue, typename TSize >
+       inline void allocate(File< Striped<_FileCount, TFile> > const &me, TValue* &data, TSize count) {
+               allocate(me[0], data, count);
+       }
+
+    template < unsigned _FileCount, typename TFile, typename TValue, typename TSize >
+       inline void deallocate(File< Striped<_FileCount, TFile> > const &me, TValue* &data, TSize count) {
+               deallocate(me[0], data, count);
+       }
+
+
+    //////////////////////////////////////////////////////////////////////////////
+    // read/write wrappers
+
+    template < __int64 _FileSize, typename TFile, typename TValue, typename TSize, typename TOffset >
+    inline bool readAt(File< Chained<_FileSize, TFile> > &me, TValue *memPtr, TSize count, TOffset offset) {
+               TOffset fileOfs = 0;
+               while (count) {
+                       TFile &file = me.getFileAndOffset(offset, fileOfs, memPtr);
+                       TSize xmitSize = _min(me.restAt(fileOfs, memPtr), (__int64)count);
+                       if (!readAt(file, memPtr, xmitSize, fileOfs)) return false;
+                       count -= xmitSize;
+                       offset += xmitSize;
+                       memPtr += xmitSize;
+               }
+               return true;
+    }
+    
+    template < __int64 _FileSize, typename TFile, typename TValue, typename TSize, typename TOffset >
+    inline bool writeAt(File< Chained<_FileSize, TFile> > &me, TValue const *memPtr, TSize count, TOffset offset) {
+               TOffset fileOfs = 0;
+               while (count) {
+                       TFile &file = me.getFileAndOffset(offset, fileOfs, memPtr);
+                       TSize xmitSize = _min(me.restAt(fileOfs, memPtr), (__int64)count);
+                       if (!writeAt(file, memPtr, xmitSize, fileOfs)) return false;
+                       count -= xmitSize;
+                       offset += xmitSize;
+                       memPtr += xmitSize;
+               }
+               return true;
+    }
+
+    template < __int64 _FileSize, typename TFile, typename TValue, typename TSize, typename TOffset, typename TRequest >
+    inline bool areadAt(File< Chained<_FileSize, TFile> > &me, TValue *memPtr, TSize count, TOffset offset, TRequest &req) {
+               TOffset fileOfs = 0;
+               while (count) {
+                       TFile &file = me.getFileAndOffset(offset, fileOfs, memPtr);
+                       TSize xmitSize = _min(me.restAt(fileOfs, memPtr), (__int64)count);
+                       if (count != xmitSize) {
+                               if (!readAt(file, memPtr, xmitSize, fileOfs)) return false;
+                       } else
+                               if (!areadAt(file, memPtr, xmitSize, fileOfs, req)) return false;
+                       count -= xmitSize;
+                       offset += xmitSize;
+                       memPtr += xmitSize;
+               }
+               return true;
+    }
+    
+    template < __int64 _FileSize, typename TFile, typename TValue, typename TSize, typename TOffset, typename TRequest  >
+    inline bool awriteAt(File< Chained<_FileSize, TFile> > &me, TValue const *memPtr, TSize count, TOffset offset, TRequest &req) {
+               TOffset fileOfs = 0;
+               while (count) {
+                       TFile &file = me.getFileAndOffset(offset, fileOfs, memPtr);
+                       TSize xmitSize = _min(me.restAt(fileOfs, memPtr), (__int64)count);
+                       if (count != xmitSize) {
+                               if (!writeAt(file, memPtr, xmitSize, fileOfs)) return false;
+                       } else
+                               if (!awriteAt(file, memPtr, xmitSize, fileOfs, req)) return false;
+                       count -= xmitSize;
+                       offset += xmitSize;
+                       memPtr += xmitSize;
+               }
+               return true;
+    }
+
+}
+
+#endif
diff --git a/SeqAn-1.1/seqan/file/file_base.h b/SeqAn-1.1/seqan/file/file_base.h
new file mode 100644 (file)
index 0000000..40d8d22
--- /dev/null
@@ -0,0 +1,697 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: file_base.h,v 1.2 2009/02/19 01:51:23 langmead Exp $
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_FILE_BASE_H
+#define SEQAN_HEADER_FILE_BASE_H
+
+
+//////////////////////////////////////////////////////////////////////////////
+
+namespace SEQAN_NAMESPACE_MAIN
+{
+
+       // To override the system's default temporary directory use the following:
+       //#define SEQAN_DEFAULT_TMPDIR "/var/tmp"
+
+       // To use direct I/O access define SEQAN_DIRECTIO (not completely tested yet)
+       //#define SEQAN_DIRECTIO
+
+
+/**
+.Spec.Sync:
+..cat:Files
+..general:Class.File
+..summary:File structure supporting synchronous input/output access.
+..signature:File<Sync<> >
+..remarks:This class suports pseudo-asynchronous access methods, i.e. the methods to initiate a I/O request return after request completion.
+*/
+
+       template <typename TSpec = void>
+    struct Sync;
+
+/**
+.Spec.Async:
+..cat:Files
+..general:Class.File
+..summary:File structure supporting synchronous and asynchronous input/output access.
+..signature:File<Async<> >
+*/
+
+       template <typename TSpec = void>
+    struct Async;
+
+
+/**
+.Class.File:
+..cat:Input/Output
+..summary:Represents a file.
+..signature:File<TSpec>
+..param.TSpec:The specializing type.
+...default:$Async<>$, see @Spec.Async@.
+*/
+
+       template <typename TSpec = Async<> >
+    class File;
+
+/**
+.Spec.Chained:
+..cat:Files
+..general:Class.File
+..summary:Splits a large file into a chain of smaller files.
+..signature:File<Chained<FileSize, TFile> >
+..param.FileSize:The maximal split file size in byte.
+...default:2^31-1 (~2GB)
+..param.TFile:Underlying @Class.File@ type.
+...default:$File<>$, see @Class.File@.
+..remarks:This file type uses a chain of $TFile$ files, whose file sizes are at most $FileSize$ bytes.
+Chained Files should be used for file systems or $TFile$ types that don't support large files (e.g. FAT32, C-style FILE*).
+..remarks:The chain can be used as if it were one contiguous file.
+*/
+
+       // chained file's default filesize is 2gb-1byte (fat16 filesize limitation)
+       template < __int64 _FileSize = ~(((__int64)1) << 63), typename TFile = File<> >
+       struct Chained;
+
+/**
+.Spec.Striped:
+..cat:Files
+..general:Class.File
+..summary:Stripes a file across multiple files.
+..signature:File<Chained<FileCount, TFile> >
+..param.FileCount:The number of files used for striping.
+...default:2
+..param.TFile:Underlying @Class.File@ type.
+...default:$File<>$, see @Class.File@.
+..remarks:This file type uses a software striping without redundance (see RAID0) to accelerate I/O access when using more than one disks.
+..remarks:Striped files should only be used in @Class.Pool@s or external Strings as they only support block operations and no random accesses.
+*/
+
+       template < unsigned _FileCount = 2, typename TFile = File<> >
+       struct Striped;
+
+    enum FileOpenMode {
+        OPEN_RDONLY     = 1,
+        OPEN_WRONLY     = 2,
+        OPEN_RDWR       = 3,
+        OPEN_MASK       = 3,
+        OPEN_CREATE     = 4,
+        OPEN_APPEND     = 8,
+        OPEN_ASYNC      = 16,
+               OPEN_TEMPORARY  = 32,
+               OPEN_QUIET              = 128
+    };
+
+       template <typename T>
+       struct DefaultOpenMode {
+               enum { VALUE = (OPEN_RDWR + OPEN_CREATE) | OPEN_APPEND };
+       };
+
+       template <typename T>
+       struct DefaultOpenTempMode {
+               enum { VALUE = OPEN_RDWR + OPEN_CREATE };
+       };
+
+    enum FileSeekMode {
+        SEEK_BEGIN   = 0,
+        SEEK_CURRENT = 1
+#ifndef SEEK_END
+      , SEEK_END     = 2
+#endif
+    };
+
+
+    //////////////////////////////////////////////////////////////////////////////
+    // result type of asynch. functions
+    // you have to call release(aRequest<T>) after a finished *event based* transfer
+       struct aDummyRequest {};
+
+/**
+.Class.aRequest:
+..cat:Input/Output
+..summary:Associated with an asynchronous I/O request.
+..signature:aRequest<TFile>
+..param.TFile:A File type.
+..remarks:This structure is used to identify asynchronous requests after their initiation.
+*/
+
+    template < typename T >
+    struct aRequest
+    {
+        typedef aDummyRequest Type;
+    };
+/*
+    //////////////////////////////////////////////////////////////////////////////
+    // event to represent asynchronous transfers
+    // you can wait for it or test it
+    template < typename T >
+    struct aEvent
+    {
+        typedef DummyEvent Type;
+    };
+
+    ////////////////////////////////////////////////////////////////////////////////
+    // callback hint parameter type
+    // hint lets you recognize the finished asynch. transfer in your own callback routine
+    template < typename T >
+    struct aHint
+    {
+        typedef void Type;
+    };
+
+    //////////////////////////////////////////////////////////////////////////////
+    // callback function interface
+    template < typename T >
+    struct aCallback
+    {
+        typedef void Type(aHint<T> *);
+    };
+
+    //////////////////////////////////////////////////////////////////////////////
+    // file queue interface
+    template < typename T >
+    struct aQueue
+    {
+        typedef Nothing Type;
+    };
+*/
+
+    //////////////////////////////////////////////////////////////////////////////
+    // generic open/close interface
+
+/**
+.Function.open:
+..summary:Opens a file.
+..cat:Input/Output
+..signature:open(file, fileName[, openMode])
+..param.file:A File object.
+...type:Class.File
+..param.fileName:C-style character string containing the file name.
+..param.openMode:The combination of flags defining how the file should be opened.
+...remarks:To open a file read-only, write-only or to read and write use $OPEN_RDONLY$, $OPEN_WRONLY$, or $OPEN_RDWR$.
+...remarks:To create or overwrite a file add $OPEN_CREATE$.
+...remarks:To append a file if existing add $OPEN_APPEND$.
+...default:$OPEN_RDWR | OPEN_CREATE | OPEN_APPEND$
+..returns:A $bool$ which is $true$ on success.
+*/
+
+    template < typename TSpec >
+    inline bool open(File<TSpec> &me, const char *fileName, int openMode) {
+        return me.open(fileName, openMode);
+    }
+
+    template < typename TSpec >
+    inline bool open(File<TSpec> &me, const char *fileName) {
+               return open(me, fileName, DefaultOpenMode<File<TSpec> >::VALUE);
+    }
+
+/**
+.Function.openTemp:
+..summary:Opens a temporary file.
+..cat:Input/Output
+..signature:openTemp(file)
+..param.file:A File object.
+...type:Class.File
+..remarks:After closing this file will automatically be deleted.
+..remarks:The openmode (see @Function.open@) is $OPEN_RDWR | OPEN_CREATE$.
+..returns:A $bool$ which is $true$ on success.
+*/
+
+    template < typename TSpec >
+    inline bool openTemp(File<TSpec> &me) {
+        return me.openTemp();
+    }
+
+    template < typename TSpec >
+    inline bool openTemp(File<TSpec> &me, int openMode) {
+        return me.openTemp(openMode);
+    }
+
+    template < typename File >
+    inline void reopen(File &, int) {
+       }
+
+/**
+.Function.close:
+..cat:Input/Output
+..summary:Closes a file.
+..signature:close(file)
+..param.file:A File object.
+...type:Class.File
+..returns:A $bool$ which is $true$ on success.
+*/
+
+    template < typename TSpec >
+    inline bool close(File<TSpec> & me) {
+        return me.close();
+    }
+
+    template < typename TSpec >
+    inline unsigned sectorSize(File<TSpec> const & /*me*/) {
+        return 4096;
+    }
+
+
+    //////////////////////////////////////////////////////////////////////////////
+    // generic read(At)/write(At) interface
+
+/**
+.Function.read:
+..cat:Input/Output
+..summary:Loads records from a file.
+..signature:read(file, memPtr, count)
+..param.file:A File object.
+...type:Class.File
+..param.memPtr:A pointer to the first destination record in memory.
+..param.count:The amount of records to be read.
+..returns:A $bool$ which is $true$ on success.
+..remarks:The records are read from the position pointed by the current file pointer (see @Function.seek@).
+*/
+
+       template < typename TSpec, typename TValue, typename TSize >
+    inline bool read(File<TSpec> & me, TValue *memPtr, TSize const count) {
+               return me.read(memPtr, count * sizeof(TValue));
+    }
+
+/**
+.Function.write:
+..cat:Input/Output
+..summary:Saves records to a file.
+..signature:write(file, memPtr, count)
+..param.file:A File object.
+...type:Class.File
+..param.memPtr:A pointer to the first source record in memory.
+..param.count:The amount of records to be written.
+..returns:A $bool$ which is $true$ on success.
+..remarks:The records are written at the position pointed by the current file pointer (see @Function.seek@).
+*/
+
+       template < typename TSpec, typename TValue, typename TSize >
+    inline bool write(File<TSpec> & me, TValue const *memPtr, TSize const count) {
+               return me.write(memPtr, count * sizeof(TValue));
+    }
+
+/**
+.Function.readAt:
+..summary:Loads records from a specific position in a file.
+..cat:Input/Output
+..signature:readAt(file, memPtr, count, fileOfs)
+..param.file:A File object.
+...type:Class.File
+..param.memPtr:A pointer to the first destination record in memory.
+..param.count:The amount of records to be read.
+..param.fileOfs:The absolute file position in bytes measured from the beginning.
+..returns:A $bool$ which is $true$ on success.
+*/
+
+    template < typename TFile, typename TValue, typename TSize, typename TPos >
+    inline bool readAt(TFile & me, TValue *memPtr, TSize const count, TPos const fileOfs) {
+               typedef typename Position<TFile>::Type pos_t;
+               seek(me, (pos_t)fileOfs * (pos_t)sizeof(TValue));
+               return read(me, memPtr, count);
+    }
+
+/**
+.Function.writeAt:
+..summary:Saves records to a specific position in a file.
+..cat:Input/Output
+..signature:writeAt(file, memPtr, count, fileOfs)
+..param.file:A File object.
+...type:Class.File
+..param.memPtr:A pointer to the first source record in memory.
+..param.count:The amount of records to be written.
+..param.fileOfs:The absolute file position in bytes measured from the beginning.
+..returns:A $bool$ which is $true$ on success.
+*/
+
+    template < typename TFile, typename TValue, typename TSize, typename TPos >
+    inline bool writeAt(TFile & me, TValue const *memPtr, TSize const count, TPos const fileOfs) {
+               typedef typename Position<TFile>::Type pos_t;
+               seek(me, (pos_t)fileOfs * (pos_t)sizeof(TValue));
+               return write(me, memPtr, count);
+    }
+
+
+
+    //////////////////////////////////////////////////////////////////////////////
+    // generic seek/tell/size/resize interface
+
+/**
+.Function.seek:
+..summary:Changes the current file pointer.
+..cat:Input/Output
+..signature:seek(file, fileOfs[, origin])
+..param.file:A File object.
+...type:Class.File
+..param.fileOfs:A file offset measured in bytes relative to $origin$.
+..param.origin:Selects the origin from where to calculate the new position.
+...default:$SEEK_BEGIN$
+...remarks:For $SEEK_BEGIN$, $SEEK_CURRENT$, or $SEEK_END$ the origin is the beginning, the current pointer, or the end of the file.
+..returns:The new file position measured in bytes from the beginning.
+*/
+
+       template < typename TSpec, typename TPos >
+    inline typename Position< File<TSpec> >::Type seek(File<TSpec> &me, TPos const fileOfs, int origin) {
+               typedef typename Position< File<TSpec> >::Type TFilePos;
+               TFilePos newOfs = me.seek(fileOfs, origin);
+        #ifdef SEQAN_DEBUG_OR_TEST_
+                       if (origin == SEEK_BEGIN && newOfs != (TFilePos)fileOfs) {
+                               ::std::cerr << "seek returned " << ::std::hex << newOfs << " instead of " << fileOfs << ::std::dec << ::std::endl;
+                       }
+        #endif
+        return newOfs;
+    }
+
+       template < typename TSpec, typename TPos >
+    inline typename Position< File<TSpec> >::Type seek(File<TSpec> &me, TPos const fileOfs) {
+               return seek(me, fileOfs, SEEK_BEGIN);
+       }
+/**
+.Function.tell:
+..summary:Gets the current file pointer.
+..cat:Input/Output
+..signature:tell(file)
+..param.file:A File object.
+...type:Class.File
+..returns:The current file position measured in bytes from the beginning.
+*/
+
+    template < typename TSpec >
+    inline typename Position< File<TSpec> >::Type tell(File<TSpec> &me) {
+        return me.tell();
+    }
+
+/**
+.Function.rewind:
+..summary:Sets the current file pointer to the beginning.
+..cat:Input/Output
+..signature:rewind(file)
+..param.file:A File object.
+...type:Class.File
+..remarks:Calls @Function.seek@$(file, 0)$ by default.
+*/
+
+    template < typename File >
+    inline void rewind(File &me) {
+               seek(me, 0);
+    }
+
+/**
+.Function.size:
+..summary:Gets the file size.
+..cat:Input/Output
+..signature:size(file)
+..param.file:A File object.
+...type:Class.File
+..returns:The file size measured in bytes.
+*/
+
+    template < typename TSpec >
+    inline typename Size<File<TSpec> >::Type size(File<TSpec> &me) {
+        typename Size<File<TSpec> >::Type old_pos = tell(me);
+        typename Size<File<TSpec> >::Type result = seek(me, 0, SEEK_END);
+        seek(me, old_pos, SEEK_BEGIN);
+        return result;
+    }
+
+/**
+.Function.resize:
+..cat:Input/Output
+..signature:resize(file, new_length)
+..param.file:A File object.
+...type:Class.File
+..param.new_length:The new file size measured in bytes.
+*/
+
+    template < typename TSpec, typename TSize >
+    inline void resize(File<TSpec> &me, TSize new_length) {
+        typename Size<File<TSpec> >::Type old_pos = tell(me);
+        seek(me, new_length, SEEK_BEGIN);
+        setEOF(me);
+        seek(me, old_pos, SEEK_BEGIN);
+    }
+
+/**
+.Function.setEOF:
+..summary:Sets the file end to the current pointer.
+..cat:Input/Output
+..signature:setEOF(file)
+..param.file:A File object.
+...type:Class.File
+*/
+
+    template < typename TSpec >
+    inline bool setEOF(File<TSpec> &/*me*/) {
+               return true;
+       }
+
+
+    //////////////////////////////////////////////////////////////////////
+    // Pseudo asynchronous Methods
+    //////////////////////////////////////////////////////////////////////
+
+    //////////////////////////////////////////////////////////////////////
+    // callback based read/write
+/*
+    template < typename File, typename TValue, typename TSize,
+               typename aCallback, typename aHint >
+    inline typename aRequest<File>::Type
+    aread(File & me, TValue *memPtr, TSize const count,
+        aCallback* cb, aHint* hint)
+    {
+        result = read(me, memPtr, count);
+        cb(hint);
+        return NULL;
+    }
+
+    template < typename File, typename TValue, typename TSize,
+               typename aCallback, typename aHint >
+    inline typename aRequest<File>::Type
+    awrite(File & me, TValue const *memPtr, TSize const count,
+        aCallback* cb, aHint* hint)
+    {
+        write(me, memPtr, count);
+        cb(hint);
+        return NULL;
+    }
+
+    template < typename File, typename TValue, typename TSize, typename TPos,
+               typename aCallback, typename aHint >
+    inline typename aRequest<File>::Type
+    areadAt(File & me, TValue *memPtr, TSize const count, TPos const fileOfs,
+        aCallback* cb, aHint* hint)
+    {
+        readAt(me, memPtr, count, fileOfs);
+        cb(hint);
+        return NULL;
+    }
+
+    template < typename File, typename TValue, typename TSize, typename TPos,
+               typename aCallback, typename aHint >
+    inline typename aRequest<File>::Type
+    awriteAt(File & me, TValue const *memPtr, TSize const count, TPos const fileOfs,
+        aCallback* cb, aHint* hint)
+    {
+        result = writeAt(me, memPtr, count, fileOfs);
+        cb(hint);
+        return NULL;
+    }
+
+
+    //////////////////////////////////////////////////////////////////////
+    // event based read/write
+
+    template < typename File, typename TValue, typename TSize,
+               typename aEvent >
+    inline typename aRequest<File>::Type
+    aread(File & me, TValue *memPtr, TSize const count,
+        aEvent &event)
+    {
+        read(me, memPtr, count);
+        event.signal();
+        return NULL;
+    }
+
+    template < typename File, typename TValue, typename TSize,
+               typename aEvent >
+    inline typename aRequest<File>::Type
+    awrite(File & me, TValue const *memPtr, TSize const count,
+        aEvent &event)
+    {
+        write(me, memPtr, count);
+        event.signal();
+        return NULL;
+    }
+
+    template < typename File, typename TValue, typename TSize, typename TPos,
+               typename aEvent >
+    inline typename aRequest<File>::Type
+    areadAt(File & me, TValue *memPtr, TSize const count, TPos const fileOfs,
+        aEvent &event)
+    {
+        readAt(me, memPtr, count, fileOfs);
+        event.signal();
+        return NULL;
+    }
+
+    template < typename File, typename TValue, typename TSize, typename TPos,
+               typename aEvent >
+    inline typename aRequest<File>::Type
+    awriteAt(File & me, TValue const *memPtr, TSize const count, TPos const fileOfs,
+        aEvent &event)
+    {
+        writeAt(me, memPtr, count, fileOfs);
+        event.signal();
+        return NULL;
+    }
+*/
+
+    //////////////////////////////////////////////////////////////////////
+    // queue-less request based pseudo asychronous read/write
+
+/**
+.Function.areadAt:
+..summary:Asynchronously loads records from a specific position in a file.
+..cat:Input/Output
+..signature:areadAt(file, memPtr, count, fileOfs, request)
+..param.file:A File object.
+...type:Class.File
+..param.memPtr:A pointer to the first destination record in memory.
+..param.count:The amount of records to be read.
+..param.fileOfs:The absolute file position in bytes measured from the beginning.
+..param.request:Reference to a structure that will be associated with this asynchronous request.
+...type:Class.aRequest
+..returns:A $bool$ which is $true$ on success.
+*/
+
+    template < typename File, typename TValue, typename TSize, typename TPos,
+               typename aRequest >
+    inline bool
+       areadAt(File & me, TValue *memPtr, TSize const count, TPos const fileOfs,
+        aRequest &request)
+    {
+        return readAt(me, memPtr, count, fileOfs);
+    }
+
+/**
+.Function.awriteAt:
+..summary:Asynchronously saves records to a specific position in a file.
+..cat:Input/Output
+..signature:awriteAt(file, memPtr, count, fileOfs, request)
+..param.file:A File object.
+...type:Class.File
+..param.memPtr:A pointer to the first source record in memory.
+..param.count:The amount of records to be written.
+..param.fileOfs:The absolute file position in bytes measured from the beginning.
+..param.request:Reference to a structure that will be associated with this asynchronous request.
+...type:Class.aRequest
+..returns:A $bool$ which is $true$ on success.
+*/
+
+    template < typename File, typename TValue, typename TSize, typename TPos,
+               typename aRequest >
+    inline bool
+       awriteAt(File & me, TValue const *memPtr, TSize const count, TPos const fileOfs,
+        aRequest &request)
+    {
+        return writeAt(me, memPtr, count, fileOfs);
+    }
+
+
+       //////////////////////////////////////////////////////////////////////
+    // pseudo queue specific functions
+
+/**
+.Function.flush:
+..summary:Waits for all open requests to complete.
+..cat:Input/Output
+..signature:flush(file)
+..param.file:A File object.
+...type:Class.File
+..remarks:$flush$ returns after all pending requests are completed.
+*/
+
+    template < typename TSpec >
+    inline void flush(File<TSpec> &) {
+       }
+
+/**
+.Function.waitFor:
+..summary:Waits for an asynchronous request to complete.
+..cat:Input/Output
+..signature:waitFor(request[, timeout_millis])
+..param.request:Reference to an aRequest object.
+...type:Class.aRequest
+..param.timeout_millis:Timout value in milliseconds.
+...remarks:A value of 0 can be used to test for completion without waiting.
+...default:Infinity.
+..returns:A $bool$ which is $true$ on completion and $false$ on timeout.
+..remarks:$waitFor$ suspends the calling process until $request$ is completed or after $timeout_millis$ milliseconds.
+*/
+
+    inline bool waitFor(aDummyRequest &) {
+               return true;
+       }
+
+       template < typename TTime >
+    inline bool waitFor(aDummyRequest &, TTime) {
+               return true;
+       }
+
+       // deprecated
+       template < typename TSpec, typename aRequest >
+    inline void release(File<TSpec> &, aRequest &) {
+       }
+
+/**
+.Function.cancel:
+..summary:Cancels an asynchronous request.
+..cat:Input/Output
+..signature:cancel(file, request)
+..param.file:A File object.
+...type:Class.File
+..param.request:Reference to an aRequest object.
+...type:Class.aRequest
+..returns:A $bool$ which is $true$ on success.
+*/
+
+    template < typename TSpec, typename aRequest >
+    inline bool cancel(File<TSpec> &, aRequest &) {
+               return true;
+       }
+
+
+       // little helpers
+
+       template <typename T1, typename T2> inline
+       T1 enclosingBlocks(T1 _size, T2 _blockSize) {
+               return (_size + _blockSize - 1) / _blockSize;
+       }
+
+       template <typename T1, typename T2> inline
+       T1 alignSize(T1 _size, T2 _aligning) {
+        if (_size < _aligning)
+            return _aligning;
+        else
+                   return (_size / _aligning) * (T1)_aligning;
+       }
+
+}
+
+#endif
diff --git a/SeqAn-1.1/seqan/file/file_format.h b/SeqAn-1.1/seqan/file/file_format.h
new file mode 100644 (file)
index 0000000..93336df
--- /dev/null
@@ -0,0 +1,686 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de 
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: file_format.h,v 1.1 2008/08/25 16:20:03 langmead Exp $
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_FILE_FORMAT_H
+#define SEQAN_HEADER_FILE_FORMAT_H
+
+namespace SEQAN_NAMESPACE_MAIN
+{
+
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Tag.File Format:
+..summary:A file format.
+*/
+
+
+//////////////////////////////////////////////////////////////////////////////
+// Metafunctions
+//////////////////////////////////////////////////////////////////////////////
+
+//////////////////////////////////////////////////////////////////////////////
+
+//////////////////////////////////////////////////////////////////////////////
+//Base Class for all FileFormat classes
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Class.FileFormat:
+..cat:Input/Output
+..summary:Object that stores a file format.
+..signature:FileFormat<File, Data [, Format [, Meta] ]>
+..see:Tag.File Format
+*/
+
+template <
+       typename TFile, 
+       typename TData,
+       typename TMeta,
+       typename TFormat = void >
+struct FileFormat:
+       public FileFormat<TFile, TData, TMeta, void>
+{
+public:
+       typedef typename Size<TData>::Type TSize;
+
+       FileFormat() {}
+       FileFormat(FileFormat const &) {}
+       ~FileFormat() {}
+       FileFormat const & operator =(FileFormat const &) {}
+
+       inline void * 
+       formatID_() const
+       {
+SEQAN_CHECKPOINT
+               return _ClassIdentifier<TFormat>::getID();
+       }
+
+       virtual void
+       read_(TFile & file, TData & data) const
+       {
+SEQAN_CHECKPOINT
+               read(file, data, TFormat());
+       }
+       virtual void
+       read_(TFile & file, TData & data, TSize limit) const
+       {
+SEQAN_CHECKPOINT
+               read(file, data, limit, TFormat());
+       }
+
+       virtual void
+       readMeta_(TFile & file, TMeta & meta) const
+       {
+SEQAN_CHECKPOINT
+               readMeta(file, meta, TFormat());
+       }
+
+       virtual void
+       goNext_(TFile & file) const
+       {
+SEQAN_CHECKPOINT
+               goNext(file, TFormat());
+       }
+
+       virtual TSize
+       length_(TFile & file) const
+       {
+SEQAN_CHECKPOINT
+               length(file, TFormat());
+       }
+
+       virtual void
+       write_(TFile & file, TData & data) const
+       {
+SEQAN_CHECKPOINT
+               write(file, data, TFormat());
+       }
+       virtual void
+       write_(TFile & file, TData & data, TMeta & meta) const
+       {
+SEQAN_CHECKPOINT
+               write(file, data, meta, TFormat());
+       }
+};
+
+//____________________________________________________________________________
+
+//base class for all file format classes 
+
+template <typename TFile, typename TData, typename TMeta>
+struct FileFormat<TFile, TData, TMeta, void>
+{
+public:
+       typedef typename Size<TData>::Type TSize;
+
+       FileFormat() {}
+       FileFormat(FileFormat const &) {}
+       ~FileFormat() {};
+       FileFormat const & operator =(FileFormat const &) {}
+
+       virtual void *
+       formatID_() const = 0;
+
+       virtual void
+       read_(TFile & file, TData & data) const = 0;
+       virtual void
+       read_(TFile & file, TData & data, TSize limit) const = 0;
+
+       virtual void
+       readMeta_(TFile & file, TMeta & meta) const = 0;
+
+       virtual void
+       goNext_(TFile & file) const = 0;
+
+       virtual TSize
+       length_(TFile & file) const = 0;
+
+       virtual void
+       write_(TFile & file, TData & data) const = 0;
+       virtual void
+       write_(TFile & file, TData & data, TMeta & meta) const = 0;
+
+};
+
+//////////////////////////////////////////////////////////////////////////////
+// Wrapper for functions to virtuals
+//////////////////////////////////////////////////////////////////////////////
+
+
+template <typename TFile, typename TData, typename TMeta, typename TFormat>
+inline void *
+formatID(FileFormat<TFile, TData, TMeta, TFormat> const & file_format)
+{
+SEQAN_CHECKPOINT
+       return file_format.formatID_();
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Function.Fileformat#read:
+..cat:Input/Output
+..summary:Loads a record from file.
+..signature:read(file, data [, meta], format)
+..signature:read(file, data [, meta], tag)
+..param.file:An input file.
+..param.data:A container that gets the data read from $file$.
+..param.meta:A container that gets meta data from $file$. (optional)
+..param.format:A file format object.
+...type:Class.FileFormat.File Format object
+..param.tag:A file format tag.
+...type:Tag.File Format.File Format tag
+..remarks:The result of this operation is stored in $data$.
+..remarks:The function leaves $file$ at the position for reading the next record.
+..see:Function.assign
+*/
+template <typename TFile, typename TData, typename TMeta, typename TFormat>
+inline void
+read(TFile & file,
+        TData & data,
+        FileFormat<TFile, TData, TMeta, TFormat> const & file_format)
+{
+SEQAN_CHECKPOINT
+       file_format.read_(file, data);
+}
+
+template <typename TFile, typename TData, typename TMeta, typename TFormat, typename TSize>
+inline void
+read(TFile & file,
+        TData & data,
+        TSize limit,
+        FileFormat<TFile, TData, TMeta, TFormat> const & file_format)
+{
+SEQAN_CHECKPOINT
+       file_format.read_(file, data, limit);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Function.readMeta:
+..cat:Input/Output
+..summary:Read meta information from file.
+..signature:readMeta(file, meta, file_format)
+..param.file:A file that contains data in the format specified by $file_format$.
+..param.meta:A data structure that is able to store meta informations stored in $file$.
+..param.file_format:A file format.
+..returns.param.meta:The meta data read from $file$.
+...type:Tag.File Format
+*/
+
+template <typename TFile, typename TData, typename TMeta, typename TFormat>
+inline void
+readMeta(TFile & file,
+                TMeta & meta,
+                FileFormat<TFile, TData, TMeta, TFormat> const & file_format)
+{
+SEQAN_CHECKPOINT
+       file_format.readMeta_(file, meta);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Function.goNext:
+..cat:Input/Output
+*/
+
+template <typename TFile, typename TData, typename TMeta, typename TFormat>
+inline void
+goNext(TFile & file,
+          FileFormat<TFile, TData, TMeta, TFormat> const & file_format)
+{
+SEQAN_CHECKPOINT
+       file_format.goNext_(file);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Function.length:
+..cat:Input/Output
+*/
+
+template <typename TFile, typename TData, typename TMeta, typename TFormat>
+inline void
+length(TFile & file,
+          FileFormat<TFile, TData, TMeta, TFormat> const & file_format)
+{
+SEQAN_CHECKPOINT
+       file_format.length_(file);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Function.Fileformat#write:
+..cat:Input/Output
+..summary:Writes to stream.
+..signature:write(stream, source)
+..signature:write(stream, begin, end)
+..param.stream: A stream object.
+...type:Adaption."std::iostream"
+..param.source: Container that is written to $stream$.
+..param.begin: Iterator to the first character of the range.
+..param.end: Iterator behind the last character of the range.
+..remarks:The content of $source$ is written 'as-is' to $stream$.
+*/
+
+template <typename TFile, typename TData, typename TMeta, typename TFormat>
+inline void
+write(TFile & file,
+         TData & data,
+         FileFormat<TFile, TData, TMeta, TFormat> const & file_format)
+{
+SEQAN_CHECKPOINT
+       file_format.write_(file, data);
+}
+template <typename TFile, typename TData, typename TMeta, typename TFormat>
+inline void
+write(TFile & file,
+         TData & data,
+         TMeta & meta,
+         FileFormat<TFile, TData, TMeta, TFormat> const & file_format)
+{
+SEQAN_CHECKPOINT
+       file_format.write_(file, data, meta);
+}
+
+
+
+
+//////////////////////////////////////////////////////////////////////////////
+// Comparison of two FileFormat objects
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TFileLeft, typename TDataLeft, typename TMetaLeft, typename TFormatLeft, typename TFileRight, typename TDataRight, typename TMetaRight, typename TFormatRight>
+inline bool
+operator == (FileFormat<TFileLeft, TDataLeft, TMetaLeft, TFormatLeft> const & left, 
+                        FileFormat<TFileRight, TDataRight, TMetaRight, TFormatRight> const & right)
+{
+SEQAN_CHECKPOINT
+       return formatID(left) == formatID(right);
+}
+
+template <typename TFile, typename TData, typename TMeta, typename TFormat, typename TFormat2>
+inline bool
+operator == (FileFormat<TFile, TData, TMeta, TFormat> const & left, 
+                        Tag<TFormat2> const)
+{
+SEQAN_CHECKPOINT
+       return formatID(left) == _ClassIdentifier<Tag<TFormat2> const>::getID();
+}
+
+template <typename TFile, typename TData, typename TMeta, typename TFormat, typename TFormat2>
+inline bool
+operator == (Tag<TFormat2> const,
+                        FileFormat<TFile, TData, TMeta, TFormat> const & right)
+{
+SEQAN_CHECKPOINT
+       return _ClassIdentifier<Tag<TFormat2> const>::getID() == formatID(right);
+}
+
+//____________________________________________________________________________
+
+template <typename TFileLeft, typename TDataLeft, typename TMetaLeft, typename TFormatLeft, typename TFileRight, typename TDataRight, typename TMetaRight, typename TFormatRight>
+inline bool
+operator != (FileFormat<TFileLeft, TDataLeft, TMetaLeft, TFormatLeft> const & left, 
+                        FileFormat<TFileRight, TDataRight, TMetaRight, TFormatRight> const & right)
+{
+SEQAN_CHECKPOINT
+       return formatID(left) != formatID(right);
+}
+
+template <typename TFile, typename TData, typename TMeta, typename TFormat, typename TFormat2>
+inline bool
+operator != (FileFormat<TFile, TData, TMeta, TFormat> const & left, 
+                        Tag<TFormat2> const)
+{
+SEQAN_CHECKPOINT
+       return formatID(left) != _ClassIdentifier<Tag<TFormat2> const>::getID();
+}
+
+template <typename TFile, typename TData, typename TMeta, typename TFormat, typename TFormat2>
+inline bool
+operator != (Tag<TFormat2> const,
+                        FileFormat<TFile, TData, TMeta, TFormat> const & right)
+{
+SEQAN_CHECKPOINT
+       return _ClassIdentifier<Tag<TFormat2> const>::getID() != formatID(right);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// allgemeine Funktionen fuer Streams
+//////////////////////////////////////////////////////////////////////////////
+//TODO??? Das muss in eine extra Datei
+
+
+/*
+template <typename TStream, typename TIterator>
+inline void
+write(TStream & target,
+         TIterator begin_,
+         TIterator end_)
+{
+       while (begin_ != end_)
+       {
+               _streamPut(target, convert<char>(*begin_));
+               ++begin_;
+       }
+}
+
+//____________________________________________________________________________
+
+template <typename TStream, typename TSource>
+inline void
+write(TStream & target,
+         TSource const & source)
+{
+       write(target, begin(source), end(source));
+}
+//TODO???: Spezialisierungen zum blockweise schreiben bei contiguous strings von char
+//Anmerkungen: write wird nach dem zweiten Argument (source) spezialisiert!
+
+//____________________________________________________________________________
+
+template <typename TStream, typename TSource>
+inline void
+write(TStream & target,
+         TSource const & source,
+         typename Size<TSource>::Type limit_)
+{
+       if (length(source) > limit_)
+       {
+               write(target, begin(source), begin(source) + limit_);
+       }
+       else
+       {
+               write(target, begin(source), end(source));
+       }
+}
+
+*/
+//////////////////////////////////////////////////////////////////////////////
+
+// Helper function for scanning a stream
+// c = next character, pass it to the next call of the function
+
+template <typename TFile, typename TString, typename TChar>
+inline void
+_stream_appendLine(TFile & file,
+                                  TString & str,
+                                  TChar & c)
+{
+       while (true)
+       {
+               if (_streamEOF(file)) break;
+
+               if (c == '\r')
+               {
+                       c = _streamGet(file);
+                       if (c == '\n') 
+                       {
+                               c = _streamGet(file);
+                       }
+                       break;
+               }
+               if (c == '\n')
+               {
+                       c = _streamGet(file);
+                       break;
+               }
+
+               appendValue(str, c);
+
+               c = _streamGet(file);
+       }
+}
+//____________________________________________________________________________
+
+template <typename TFile, typename TChar>
+inline void
+_stream_countLine(TFile & file,
+                                 TChar & c)
+
+{
+       while (true)
+       {
+               if (_streamEOF(file)) break;
+
+               if (c == '\r')
+               {
+                       c = _streamGet(file);
+                       if (c == '\n') 
+                       {
+                               c = _streamGet(file);
+                       }
+                       break;
+               }
+               if (c == '\n')
+               {
+                       c = _streamGet(file);
+                       break;
+               }
+
+               c = _streamGet(file);
+       }
+}
+
+//____________________________________________________________________________
+
+template <typename TFile, typename TChar>
+inline typename Size<TFile>::Type
+_stream_skipLine(TFile & file,
+                                TChar & c)
+
+{
+       typename Size<TFile>::Type count = 0;
+       while (true)
+       {
+               if (_streamEOF(file)) break;
+
+               if (c == '\r')
+               {
+                       c = _streamGet(file);
+                       if (c == '\n') 
+                       {
+                               c = _streamGet(file);
+                       }
+                       break;
+               }
+               if (c == '\n')
+               {
+                       c = _streamGet(file);
+                       break;
+               }
+
+               ++count;
+
+               c = _streamGet(file);
+       }
+
+       return count;
+}
+
+
+
+
+////////////////////////////////////////////////////////////////////////////
+//new ones
+
+//new ones for streams
+template<typename TFile, typename TChar>
+inline void 
+_stream_skipWhitespace(TFile& file, TChar& c)
+{
+       if ((c!=' ') && (c != '\t')) return;
+       while (!_streamEOF(file)) {
+               c = _streamGet(file);
+               if ((c!=' ') && (c != '\t')) break;
+       }
+}
+
+////////////////////////////////////////////////////////////////////////////
+
+
+template<typename TFile, typename TChar>
+inline String<char>
+_stream_readWord(TFile & file, TChar& c)
+{
+       // Read word
+       String<char> str(c);
+       while (!_streamEOF(file)) {
+               c = _streamGet(file);
+               if (!_stream_isLetter(c)) break;
+               append(str, c);
+       }
+       return str;
+}
+
+////////////////////////////////////////////////////////////////////////////
+
+template<typename TChar>
+inline bool
+_stream_isLetter(TChar const c)
+{
+       return ((c == 'a') || (c == 'b') || (c == 'c') || (c == 'd') || (c == 'e') || 
+                       (c == 'f') || (c == 'g') || (c == 'h') || (c == 'i') || (c == 'j') ||
+                       (c == 'k') || (c == 'l') || (c == 'm') || (c == 'n') || (c == 'o') || 
+                       (c == 'p') || (c == 'q') || (c == 'r') || (c == 's') || (c == 't') ||
+                       (c == 'u') || (c == 'v') || (c == 'w') || (c == 'x') || (c == 'y') || 
+                       (c == 'z') || (c == 'A') || (c == 'B') || (c == 'C') || (c == 'D') ||
+                       (c == 'E') || (c == 'F') || (c == 'G') || (c == 'H') || (c == 'I') || 
+                       (c == 'J') || (c == 'K') || (c == 'L') || (c == 'M') || (c == 'N') ||
+                       (c == 'O') || (c == 'P') || (c == 'Q') || (c == 'R') || (c == 'S') || 
+                       (c == 'T') || (c == 'U') || (c == 'V') || (c == 'W') || (c == 'X') ||
+                       (c == 'Y') || (c == 'Z'));
+}
+
+
+//////////////////////////////////////////////////////////////////////////////
+
+//new ones for strings
+
+template <typename TString, typename TIter>
+inline typename Size<TString>::Type
+_string_skipLine(TString & str,
+                                TIter & it)
+
+{
+       typename Size<TString>::Type count = 0;
+       typename Iterator<TString,Standard>::Type end_it = end(str,Standard());
+       while (true)
+       {
+               if (it == end_it) break;
+
+               if (*it == '\r')
+               {
+                       ++it;
+                       if (*it == '\n') 
+                       {
+                               ++it;
+                       }
+                       break;
+               }
+               if (*it == '\n')
+               {
+                       ++it;
+                       break;
+               }
+
+               ++count;
+               ++it;
+       }
+
+       return count;
+}
+
+/////////////////////////////////////////////////////////////////////////
+
+template <typename TString1, typename TString2, typename TIter>
+inline void
+_string_appendLine(TString1 & str,
+                                  TString2 & a_str,
+                                  TIter & it)
+{
+       typename Iterator<TString1,Standard>::Type end_it = end(str,Standard());
+       while (true)
+       {
+               if (it == end_it) break;
+
+               if (*it == '\r')
+               {
+                       ++it; 
+                       if (*it == '\n') 
+                       {
+                               ++it;
+                       }
+                       break;
+               }
+               if (*it == '\n')
+               {
+                       ++it;
+                       break;
+               }
+
+               appendValue(a_str, getValue(it));
+               ++it;
+       }
+}
+
+////////////////////////////////////////////////////////////////////////////
+
+template<typename TString, typename TIter>
+inline void 
+_string_skipWhitespace(TString& str, TIter& it)
+{
+       typename Iterator<TString,Standard>::Type end_it = end(str,Standard())-1;
+       while (it != end_it) {
+               if ((*it!=' ') && (*it != '\t')) break;
+               ++it;
+       }
+}
+
+////////////////////////////////////////////////////////////////////////////
+
+template<typename TString, typename TIter>
+inline int
+_string_readNumber(TString & str, TIter& it)
+{
+       // Read number
+       typename Iterator<TString,Standard>::Type end_it = end(str,Standard())-1;
+       String<char> numstr(getValue(it));
+       while (it != end_it) {
+               ++it;
+               if (!_parse_isDigit(*it)) break;
+               append(numstr, getValue(it));
+       }
+       return atoi(toCString(numstr));
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+} //namespace SEQAN_NAMESPACE_MAIN
+
+//////////////////////////////////////////////////////////////////////////////
+
+#endif //#ifndef SEQAN_HEADER_...
diff --git a/SeqAn-1.1/seqan/file/file_format_cgviz.h b/SeqAn-1.1/seqan/file/file_format_cgviz.h
new file mode 100644 (file)
index 0000000..9cd11f0
--- /dev/null
@@ -0,0 +1,226 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de 
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: file_format_cgviz.h,v 1.1 2008/08/25 16:20:03 langmead Exp $
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_FILE_CGVIZ_H
+#define SEQAN_HEADER_FILE_CGVIZ_H
+
+namespace SEQAN_NAMESPACE_MAIN
+{
+
+//////////////////////////////////////////////////////////////////////////////
+// File Formats - CGViz
+//////////////////////////////////////////////////////////////////////////////
+
+
+/**
+.Tag.File Format.tag.CGViz:
+       CGViz file format for sequences. Only output.
+*/
+struct TagCGViz_;
+typedef Tag<TagCGViz_> const CGViz;
+
+/////////////////////////////////////////////////////////////////////////
+
+
+
+//////////////////////////////////////////////////////////////////////////////
+// goNext
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TFile>
+void goNext(TFile & file, CGViz) {
+       SEQAN_CHECKPOINT
+       SEQAN_ASSERT(!_streamEOF(file))
+       
+       return;
+}
+
+
+
+//////////////////////////////////////////////////////////////////////////////
+// write
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TFile, typename TStringContainer, typename TSource, typename TSpec>
+void _write_impl(TFile& target, Align<TSource, TSpec>& align, TStringContainer& ids, CGViz) {
+       SEQAN_CHECKPOINT
+
+       typedef Align<TSource, TSpec> const TAlign;
+       typedef typename Row<TAlign>::Type TRow;
+       typedef typename Position<typename Rows<TAlign>::Type>::Type TRowsPosition;
+       typedef typename Position<TAlign>::Type TPosition;
+       TRowsPosition row_count = length(rows(align));
+       if (row_count < 2) return;
+
+       unsigned int pair=1;
+       unsigned int count=0;
+       for(TRowsPosition i=0;i<row_count-1;++i) {
+               for(TRowsPosition j=i+1;j<row_count;++j) {
+                       
+                       // Print header
+                       _streamWrite(target, "{DATA dat"); 
+                       _streamPutInt(target, pair);
+                       _streamPut(target, '\n');
+                       _streamWrite(target, "[__GLOBAL__] dimension=2:\n"); 
+                                               
+                       TPosition begin_ = beginPosition(cols(align));
+                       TPosition end_ = endPosition(cols(align));
+               
+                       bool match = false;
+                       while(begin_ < end_) {
+                               if ((row(align, i)[begin_]==row(align, j)[begin_]) && (row(align, i)[begin_]!='-')) {
+                                       if (!match) {
+                                               match=true;
+                                               _streamPutInt(target, toSourcePosition(row(align,i),begin_+1));
+                                               _streamPut(target, ' ');
+                                               _streamPutInt(target, toSourcePosition(row(align,j),begin_+1));
+                                               _streamPut(target, ' ');
+                                       }
+                               }
+                               if ((row(align, i)[begin_]!=row(align, j)[begin_]) || (row(align, i)[begin_]=='-') || (row(align, j)[begin_]=='-')) {
+                                       if (match) {
+                                               _streamPutInt(target, toSourcePosition(row(align,i),begin_));
+                                               _streamPut(target, ' ');
+                                               _streamPutInt(target, toSourcePosition(row(align,j),begin_));
+                                               _streamPut(target, '\n');
+                                               match=false;
+                                       }
+                               }
+                               begin_++;
+                       }
+                       if (match) {
+                               _streamPutInt(target, toSourcePosition(row(align,i),begin_));
+                               _streamPut(target, ' ');
+                               _streamPutInt(target, toSourcePosition(row(align,j),begin_));
+                               _streamPut(target, '\n');
+                               match=false;
+                       }
+                       _streamPut(target, '}');
+                       _streamPut(target, '\n');
+
+                       // Write footer
+                       _streamWrite(target, "{GLYPH Glyph");
+                       _streamPutInt(target, pair);
+                       _streamPut(target, '\n');
+                       _streamWrite(target, "drawerName=Lines\n");
+                       _streamWrite(target, "lineWidth=3\n");
+                       _streamPut(target, '}');
+                       _streamPut(target, '\n');
+                       _streamWrite(target, "{PANE Pane");
+                       _streamPutInt(target, pair);
+                       _streamPut(target, '\n');
+                       _streamWrite(target, "uLabel=");
+                       _streamWrite(target, getValue(ids,i));
+                       _streamPut(target, '\n');
+                       _streamWrite(target, "uStop=");
+                       _streamPutInt(target, length(source(row(align,i))));
+                       _streamPut(target, '\n');
+                       _streamWrite(target, "vLabel=");
+                       _streamWrite(target, getValue(ids,j));
+                       _streamPut(target, '\n');
+                       _streamWrite(target, "vStop=");
+                       _streamPutInt(target, length(source(row(align,j))));
+                       _streamPut(target, '\n');
+                       _streamPut(target, '}');
+                       _streamPut(target, '\n');
+                       _streamWrite(target, "{WINDOW Window");
+                       _streamPutInt(target, pair);
+                       _streamPut(target, '\n');
+                       _streamPut(target, '}');
+                       _streamPut(target, '\n');
+                       _streamWrite(target, "{FEEDER Feeder<");
+                       _streamPutInt(target, pair);
+                       _streamPut(target, '>');
+                       _streamPut(target, ' ');
+                       _streamPutInt(target, count);
+                       _streamPut(target, ' ');
+                       _streamPutInt(target, count+1);
+                       _streamPut(target, '\n');
+                       _streamPut(target, '}');
+                       _streamPut(target, '\n');
+                       ++count;
+                       _streamWrite(target, "{THREADER Threader<");
+                       _streamPutInt(target, pair);
+                       _streamPut(target, '>');
+                       _streamPut(target, ' ');
+                       _streamPutInt(target, count);
+                       _streamPut(target, ' ');
+                       _streamPutInt(target, count+1);
+                       _streamPut(target, '\n');
+                       _streamPut(target, '}');
+                       _streamPut(target, '\n');
+                       ++count;
+                       _streamWrite(target, "{ANCHOR Anchor<");
+                       _streamPutInt(target, pair);
+                       _streamPut(target, '>');
+                       _streamPut(target, ' ');
+                       _streamPutInt(target, count);
+                       _streamPut(target, ' ');
+                       _streamPutInt(target, count+1);
+                       _streamPut(target, '\n');
+                       _streamPut(target, '}');
+                       _streamPut(target, '\n');
+                       count+=2;
+                       ++pair;
+               }
+       }
+}
+
+
+//____________________________________________________________________________
+
+template <typename TFile, typename TSource, typename TSpec>
+void write(TFile & file, Align<TSource, TSpec>& align, CGViz) {
+       SEQAN_CHECKPOINT
+       _write_impl(file, align, String<String<char> >(), CGViz());
+}
+
+//____________________________________________________________________________
+
+template <typename TFile, typename TStringContainer, typename TSource, typename TSpec>
+void write(TFile & file, Align<TSource, TSpec> & align, TStringContainer& ids, CGViz) {
+       SEQAN_CHECKPOINT
+       _write_impl(file, align, ids, CGViz());
+}
+
+
+//VisualC++ const array bug workaround
+template <typename TFile, typename TStringContainer, typename TSource, typename TSpec>
+void write(TFile & file, Align<TSource, TSpec>* align, TStringContainer & ids, CGViz) {
+       SEQAN_CHECKPOINT
+       _write_impl(file, align, ids, CGViz());
+}
+
+//____________________________________________________________________________
+
+template <typename TFile, typename TStringContainer, typename TSource, typename TSpec, typename TMeta>
+void write(TFile & file, Align<TSource, TSpec> & align, TStringContainer& ids, TMeta &, CGViz) {
+       SEQAN_CHECKPOINT
+       _write_impl(file, align, ids, CGViz());
+}
+
+
+
+//////////////////////////////////////////////////////////////////////////////
+} //namespace SEQAN_NAMESPACE_MAIN
+
+//////////////////////////////////////////////////////////////////////////////
+
+#endif //#ifndef SEQAN_HEADER_...
diff --git a/SeqAn-1.1/seqan/file/file_format_fasta.h b/SeqAn-1.1/seqan/file/file_format_fasta.h
new file mode 100644 (file)
index 0000000..5676b1b
--- /dev/null
@@ -0,0 +1,520 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de 
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: file_format_fasta.h,v 1.1 2008/08/25 16:20:03 langmead Exp $
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_FILE_FASTA_H
+#define SEQAN_HEADER_FILE_FASTA_H
+
+namespace SEQAN_NAMESPACE_MAIN
+{
+
+//////////////////////////////////////////////////////////////////////////////
+// File Formats - Fasta
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Tag.File Format.tag.Fasta:
+       FASTA file format for sequences.
+*/
+struct TagFasta_;
+typedef Tag<TagFasta_> const Fasta;
+
+//////////////////////////////////////////////////////////////////////////////
+// Filereader
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TFile, typename TFile2, typename TSpec>
+inline void
+goBegin(Iter<TFile, FileReader<Fasta, TFile2, TSpec> > & it, bool skip_meta)
+{
+       if (_streamEOF(host(it)))
+       {
+               it.data_eof = true;
+               return;
+       }
+
+       if (skip_meta && (it.data_char == '>'))
+       {
+               //skip meta line
+               _stream_skipLine(host(it), it.data_char);
+       }
+
+       //eliminate linebreaks
+       while ((it.data_char == '\n') || (it.data_char == '\r'))
+       {
+               if (_streamEOF(host(it)))
+               {
+                       it.data_eof = true;
+                       return;
+               }
+               it.data_char = _streamGet(host(it));
+       }
+
+       if (it.data_char == '>')
+       {//end of record
+               it.data_eof = true;
+               _streamUnget(host(it));
+               return;
+       }
+
+       it.data_file_pos = _streamTellG(host(it)) - 1;
+       it.data_eof = _streamEOF(host(it));
+}
+template <typename TFile, typename TFile2, typename TSpec>
+inline void
+goBegin(Iter<TFile, FileReader<Fasta, TFile2, TSpec> > & it)
+{
+       goBegin(it, true);
+}
+
+
+template <typename TFile, typename TFile2, typename TSpec>
+inline void
+goNext(Iter<TFile, FileReader<Fasta, TFile2, TSpec> > & it)
+{
+/*
+       if (_streamEOF(host(it)))
+       {
+               it.data_eof = true;
+               return;
+       }
+*/
+       it.data_char = _streamGet(host(it));
+       ++it.data_file_pos;
+
+       if (_streamEOF(host(it)))
+       {
+               it.data_eof = true;
+               return;
+       }
+
+       if ((it.data_char == '\n') || (it.data_char == '\r'))
+       {//linebreak detected: find begin of next line
+               do
+               {
+                       it.data_char = _streamGet(host(it));
+                       if (_streamEOF(host(it)))
+                       {
+                               it.data_eof = true;
+                               return;
+                       }
+                       ++it.data_file_pos;
+               } while ((it.data_char == '\n') || (it.data_char == '\r'));
+
+               if (it.data_char == '>')
+               {//end of record
+                       _streamUnget(host(it));
+                       it.data_eof = true;
+               }
+       }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// FileFormat Interface
+//////////////////////////////////////////////////////////////////////////////
+
+
+
+/////////////////////////////////////////////////////////////////////////
+//count_valid: zaehlt die nicht-Zeilenumbrueche (input/output)
+//count_all: zaehlt alle Zeichen incl. Zeilenumbrueche (input/output)
+//returns: zuletzt gelesenes Zeichen = das erste hinter dem Zeilenumbruch bzw. eof
+//the last read char is not counted!
+//count_valid and count_all are not resetted but counted up
+template <typename TFile, typename TSize>
+inline typename Value<TFile>::Type
+_fasta_scan_line(TFile & file,
+                                TSize & count_valid,
+                                TSize & count_all)
+{
+SEQAN_CHECKPOINT
+       SEQAN_ASSERT(!_streamEOF(file))
+
+       TSize count = 0;
+
+       while (true)
+       {
+               typename Value<TFile>::Type c = _streamGet(file);
+
+               if (_streamEOF(file))
+               {
+                       count_valid += count;
+                       count_all += count;
+                       return c;
+               }
+
+               if ((c == '\n') || (c == '\r'))
+               {
+                       do
+                       {
+                               ++count_all;
+                               c = _streamGet(file);
+                       } while ((c == '\n') || (c == '\r'));
+
+                       count_valid += count;
+                       count_all += count;
+                       return c;
+               }
+
+               if (c != '\r')
+               {
+                       ++count;
+               }
+       }
+}
+
+
+/////////////////////////////////////////////////////////////////////////
+template <typename TFile, typename TSize>
+inline void
+_read_n_chars_from_file(TFile & file, TSize count)
+{
+SEQAN_CHECKPOINT
+       for (TSize i = 0; i < count; ++i)
+       {
+               _streamGet(file);
+       }
+}
+
+
+//////////////////////////////////////////////////////////////////////////////
+// read
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TFile, typename TData, typename TSize>
+void
+read(TFile & file,
+        TData & data,
+        TSize limit,
+        Fasta)
+{
+SEQAN_CHECKPOINT
+
+       SEQAN_ASSERT(!_streamEOF(file))
+       clear(data);
+
+       //determine begin position
+       typename Value<TFile>::Type c_first = _streamGet(file);
+       SEQAN_ASSERT(!_streamEOF(file))
+
+       typename Position<TFile>::Type begin_pos = _streamTellG(file);
+       typename Size<TData>::Type count_valid = 1; //"valid" characters read (without line breaks)
+       typename Size<TData>::Type count_all = 1;       //all characters read (with line breaks)
+
+       if (_streamEOF(file))
+       {
+               return;
+       }       
+
+       if (c_first == '>')
+       {//there is an id line: skip it
+               c_first = _fasta_scan_line(file, count_valid, count_all);
+       }
+
+       if ((c_first == '>') || _streamEOF(file)) 
+       {//another id line = empty entry
+               _streamSeekG(file, begin_pos);
+               _read_n_chars_from_file(file, count_all);
+               return;
+       }
+
+       begin_pos = _streamTellG(file);
+
+       count_valid = 1;
+       count_all = 1;
+       typename Value<TFile>::Type c;
+       bool eof_reached = false;
+       //determine length
+       while (true)
+       {
+               c = _fasta_scan_line(file, count_valid, count_all);
+               if (_streamEOF(file)) 
+               {//end of file: stop searching
+                       eof_reached = true;
+                       break;
+               }
+               if (c == '>')
+               {//next entry found: stop seaching
+                       break;
+               }
+               if ((c != '\n') && (c != '\r'))
+               {
+                       ++count_valid; //count c
+               }
+               ++count_all;
+       }
+
+       //reserve space
+       typename Size<TData>::Type count = count_valid;
+       if (count > limit)
+       {
+               count = limit;
+       }
+       resize(data, count);
+       if (length(data) < count)
+       {
+               count = length(data);
+       }
+
+       //read sequence
+       _streamSeekG(file, begin_pos);
+
+       typename Position<TData>::Type pos = 0;
+       c = c_first;
+       while (true)
+       {
+               if ((c != '\n') && (c != '\r'))
+               {
+                       data[pos] = c;
+                       ++pos;
+               }
+               if (pos >= count) break;
+
+               c =  _streamGet(file);
+               --count_all;
+       }
+
+       //move file ptr to next entry
+       _read_n_chars_from_file(file, count_all - 1);
+       if(eof_reached)
+               _streamGet(file);
+}
+
+//____________________________________________________________________________
+
+template <typename TFile, typename TData>
+void
+read(TFile & file,
+        TData & data,
+        Fasta tag)
+{
+SEQAN_CHECKPOINT
+       typedef typename Size<TData>::Type TSize;
+       read(file, data, supremumValue<TSize>(), tag);
+}
+
+
+//////////////////////////////////////////////////////////////////////////////
+// readID
+//////////////////////////////////////////////////////////////////////////////
+//the ID is the complete first line (without the leading '>'-sign)
+
+template <typename TFile, typename TString>
+void
+readID(TFile & file,
+          TString & id,
+          Fasta)
+{
+SEQAN_CHECKPOINT
+       SEQAN_ASSERT(!_streamEOF(file))
+
+       typename Position<TFile>::Type start_pos = _streamTellG(file);
+
+       typename Value<TFile>::Type c = _streamGet(file);
+       if (c != '>')
+       {
+               clear(id);
+       }
+       else
+       {
+               typename Size<TString>::Type count_valid = 0;
+               typename Size<TString>::Type count_all = 0;
+               _fasta_scan_line(file, count_valid, count_all);
+
+               if (! count_valid)
+               {
+                       clear(id);
+               }
+               else
+               {
+                       resize(id, count_valid);
+                       if (length(id) < count_valid)
+                       {
+                               count_valid = length(id);
+                       }
+
+                       _streamSeekG(file, start_pos);
+                       c = _streamGet(file); //pop the '>' character
+                       for (typename Position<TString>::Type pos = 0; count_valid; --count_valid)
+                       {
+                               id[pos] = _streamGet(file);
+                               ++pos;
+                       }
+               }
+       }
+       _streamSeekG(file, start_pos);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// readMeta
+//////////////////////////////////////////////////////////////////////////////
+
+//Fasta file records have no meta data
+
+template <typename TFile, typename TMeta>
+void
+readMeta(TFile & file,
+                TMeta & meta,
+                Fasta)
+{
+SEQAN_CHECKPOINT
+       readID(file, meta, Fasta());
+}
+
+
+//////////////////////////////////////////////////////////////////////////////
+// goNext
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TFile>
+void
+goNext(TFile & file,
+          Fasta)
+{
+SEQAN_CHECKPOINT
+       SEQAN_ASSERT(!_streamEOF(file))
+
+       bool found_data = false;
+       while (true)
+       {
+               typename Value<TFile>::Type c = _streamGet(file);
+
+               if (_streamEOF(file)) return;
+
+               if (c == '\n' || c == '\r')
+               {
+                       do {
+                               c = _streamGet(file);
+                               if (_streamEOF(file)) return;
+                       } while (c == '\n' || c == '\r');
+
+                       if (c != '>')
+                       {
+                               found_data = true;
+                       }
+                       else if (found_data)
+                       {
+                               _streamUnget(file);
+                               return;
+                       }
+               }
+       }
+}
+
+
+
+//////////////////////////////////////////////////////////////////////////////
+// write
+//////////////////////////////////////////////////////////////////////////////
+
+
+template <typename TFile, typename TString, typename TData>
+void
+_write_impl(TFile & file,
+                       TData & data,
+                       TString & id,
+                       Fasta)
+{
+SEQAN_CHECKPOINT
+       _streamPut(file, '>');
+       _streamWrite(file, id);
+       _streamPut(file, '\n');
+
+       //typename Iterator<TData, Standard>::Type it = begin(data, Standard());
+       //typename Iterator<TData, Standard>::Type it_end = end(data, Standard());
+       typename Iterator<TData>::Type it = begin(data);
+       typename Iterator<TData>::Type it_end = end(data);
+
+       int i = 0;
+
+       for (; it < it_end; ++it)
+       {
+               if (i == 60)
+               {
+                       _streamPut(file, '\n');
+                       i = 0;
+               }
+               ++i;
+
+               _streamPut(file, *it);
+       }
+       _streamPut(file, '\n');
+}
+
+//____________________________________________________________________________
+
+template <typename TFile, typename TString, typename TData, typename TMeta>
+void
+write(TFile & file,
+         TData & data,
+         Fasta)
+{
+SEQAN_CHECKPOINT
+       _write_impl(file, data, "", Fasta());
+}
+
+//____________________________________________________________________________
+
+template <typename TFile, typename TString, typename TData>
+void
+write(TFile & file,
+         TData & data,
+         TString & id,
+         Fasta)
+{
+SEQAN_CHECKPOINT
+       _write_impl(file, data, id, Fasta());
+}
+
+
+//VisualC++ const array bug workaround
+template <typename TFile, typename TString, typename TDataValue>
+void
+write(TFile & file,
+         TDataValue * data,
+         TString & id,
+         Fasta)
+{
+SEQAN_CHECKPOINT
+       _write_impl(file, data, id, Fasta());
+
+}
+
+//____________________________________________________________________________
+
+template <typename TFile, typename TString, typename TData, typename TMeta>
+void
+write(TFile & file,
+         TData & data,
+         TString & id,
+         TMeta &,
+         Fasta)
+{
+SEQAN_CHECKPOINT
+       _write_impl(file, data, id, Fasta());
+}
+
+
+//////////////////////////////////////////////////////////////////////////////
+} //namespace SEQAN_NAMESPACE_MAIN
+
+//////////////////////////////////////////////////////////////////////////////
+
+#endif //#ifndef SEQAN_HEADER_...
diff --git a/SeqAn-1.1/seqan/file/file_format_fasta_align.h b/SeqAn-1.1/seqan/file/file_format_fasta_align.h
new file mode 100644 (file)
index 0000000..6790f4b
--- /dev/null
@@ -0,0 +1,320 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de 
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: file_format_fasta_align.h,v 1.1 2008/08/25 16:20:03 langmead Exp $
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_FILE_FASTA_ALIGN_H
+#define SEQAN_HEADER_FILE_FASTA_ALIGN_H
+
+namespace SEQAN_NAMESPACE_MAIN
+{
+
+//////////////////////////////////////////////////////////////////////////////
+// File Formats - Fasta alignment format
+//////////////////////////////////////////////////////////////////////////////
+
+//forward declarations
+template <typename T>
+struct Row;
+
+template <typename T>
+struct Rows;
+
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Tag.File Format.tag.Fasta alignment:
+       FASTA alignment file format for sequences.
+*/
+struct TagFastaAlign_;
+typedef Tag<TagFastaAlign_> const FastaAlign;
+
+
+/////////////////////////////////////////////////////////////////////////
+
+template <typename TFile, typename TSize>
+void _fasta_align_scan_line(TFile & file, TSize & count) {
+
+       SEQAN_CHECKPOINT
+       SEQAN_ASSERT(!_streamEOF(file))
+
+       while (true) {
+               typename Value<TFile>::Type c = _streamGet(file);
+
+               if (_streamEOF(file)) return;
+               if (c == '\n') return;
+
+               if ((c != '\r') && (c!='-')) {
+                       ++count;
+               }
+       }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// read
+//////////////////////////////////////////////////////////////////////////////
+template <typename TFile, typename TSource, typename TSpec>
+void read(TFile & file, Align<TSource, TSpec> & align, FastaAlign) {
+SEQAN_CHECKPOINT
+
+       SEQAN_ASSERT(!_streamEOF(file))
+       
+       typedef typename Value<TSource>::Type TSourceValue;
+       typedef typename Size<TSourceValue>::Type TSize;
+       TSize limit = supremumValue<TSize>();
+
+       //Determine begin position, end position and length of each sequence
+       String<TSize> beg_end_length;
+       
+       typename Position<TFile>::Type begin_pos;
+       typename Position<TFile>::Type end_pos;
+       typename Value<TFile>::Type c;
+       TSize count;
+
+       while (!_streamEOF(file)) {
+               begin_pos = _streamTellG(file);
+               count = 0;
+               SEQAN_ASSERT(!_streamEOF(file))
+
+       
+               c = _streamGet(file);
+               
+               // Skip id
+               if (c == '>') {
+                       _fasta_align_scan_line(file, count);
+                       begin_pos = _streamTellG(file);
+                       count = 0;
+               } else {  //If no id first letter belongs to sequence
+                       count = 1;
+               }
+
+               // Count letters
+               while (true) {
+                       _fasta_align_scan_line(file, count);
+
+                       typename Value<TFile>::Type c = _streamGet(file);
+                       if (c == '>') {
+                               _streamSeek2G(file, -1);
+                               end_pos = _streamTellG(file);
+                               break;
+                       }
+                       if (_streamEOF(file)) {
+                               end_pos = _streamTellG(file);
+                               break;
+                       }
+                       if ((c != '\n') && (c != '\r') && (c!='-'))     {
+                               ++count;
+                       }
+               }
+               if (count > limit) {
+                       count = limit;
+               }
+
+               append(beg_end_length, begin_pos);
+               append(beg_end_length, end_pos);
+               append(beg_end_length, count);
+       }
+
+       // Resize alignment data structure
+       TSize numRows=length(beg_end_length) / 3;
+       resize(rows(align), numRows);   //rows
+               
+       typedef Align<TSource, TSpec> TAlign;
+       typedef typename Row<TAlign>::Type TRow;
+       
+       for(TSize i=0;i<numRows;++i) {
+               TSize begin = beg_end_length[i*3];
+//             TSize end = beg_end_length[i*3+1];
+               count = beg_end_length[i*3+2];
+               
+               //Reserve space
+               clear(row(align,i));
+               createSource(row(align,i));
+               resize(source(row(align,i)),count);
+               if (length(source(row(align,i))) < count) {
+                       count = length(source(row(align,i)));
+               }
+               setSourceEndPosition(row(align,i),count);
+               
+               //Read sequence
+               _streamSeekG(file, begin);
+
+               typename Position<TSource>::Type pos;
+               for (pos = 0; pos < count; ) {
+                       c = _streamGet(file);
+                       if ((c != '\n') && (c != '\r') && (c != '-'))   {
+                               source(row(align,i))[pos] = c;
+                               ++pos;
+                       }
+                       if (c=='-') {
+                               insertGap(row(align,i), toViewPosition(row(align,i), pos));
+                       }
+               }
+       }
+
+       _streamSeekG(file, 0);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// readIDs
+//////////////////////////////////////////////////////////////////////////////
+template <typename TFile, typename TStringContainer>
+void readIDs(TFile& file, TStringContainer& ids, FastaAlign) {
+       
+       SEQAN_CHECKPOINT
+       
+       SEQAN_ASSERT(!_streamEOF(file))
+
+       typedef typename Value<TStringContainer>::Type TString;
+       typename Position<TFile>::Type start_pos;
+       typename Value<TFile>::Type c;
+
+
+       TString id;
+       while(true) {
+               c = _streamGet(file);
+               while ((!_streamEOF(file)) && (c != '>')) c = _streamGet(file);
+               if (!_streamEOF(file)) {
+                       start_pos = _streamTellG(file);
+                       typename Size<TString>::Type count = 0;
+                       _fasta_align_scan_line(file, count);
+                       if (! count) clear(id);
+                       else {
+                               resize(id, count);
+                               if (length(id) < count) {
+                                       count = length(id);
+                               }
+                               _streamSeekG(file, start_pos);
+                               for (typename Position<TString>::Type pos = 0; pos<count; ++pos) {
+                                       id[pos] = _streamGet(file);
+                               }
+                       }
+                       appendValue(ids, id);
+               } else {
+                       break;
+               }
+       }
+       _streamSeekG(file, 0);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// readMeta
+//////////////////////////////////////////////////////////////////////////////
+
+//Fasta file records have no meta data
+
+template <typename TFile, typename TMeta>
+void readMeta(TFile & file, TMeta & meta, FastaAlign) {
+       SEQAN_CHECKPOINT
+       clear(meta);
+}
+
+
+//////////////////////////////////////////////////////////////////////////////
+// goNext
+//////////////////////////////////////////////////////////////////////////////
+template <typename TFile>
+void goNext(TFile & file, FastaAlign) {
+       SEQAN_CHECKPOINT
+       SEQAN_ASSERT(!_streamEOF(file))
+       
+       return;
+}
+
+
+//////////////////////////////////////////////////////////////////////////////
+// write
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TFile, typename TStringContainer, typename TSource, typename TSpec>
+void _write_impl(TFile& file, Align<TSource, TSpec>& align, TStringContainer& ids, FastaAlign) {
+       SEQAN_CHECKPOINT
+
+       typedef Align<TSource, TSpec> const TAlign;
+       typedef typename Row<TAlign>::Type TRow;
+       typedef typename Position<typename Rows<TAlign>::Type>::Type TRowsPosition;
+       typedef typename Position<TAlign>::Type TPosition;
+       TRowsPosition row_count = length(rows(align));
+
+       for(TRowsPosition i=0;i<row_count;++i) {
+               TRow & row_ = row(align, i);    
+       
+               typedef typename Iterator<typename Row<TAlign>::Type const, Standard>::Type TIter;
+               TIter begin_ = iter(row_, beginPosition(cols(align)));
+               TIter end_ = iter(row_, endPosition(cols(align)));
+       
+               _streamPut(file, '>');
+               _streamWrite(file, getValue(ids,i));
+               _streamPut(file, '\n');
+
+               int chars=0;
+               while(begin_ != end_) {
+                       if (chars == 60) {
+                               _streamPut(file, '\n');
+                               chars = 0;
+                       }
+                       if (isGap(begin_)) _streamPut(file, gapValue<char>());
+                       else _streamPut(file, getValue(source(begin_)));
+                       chars++;
+                       ++begin_;
+               }
+               _streamPut(file, '\n');
+       }
+}
+
+//____________________________________________________________________________
+
+template <typename TFile, typename TSource, typename TSpec>
+void write(TFile & file, Align<TSource, TSpec>& align, FastaAlign) {
+       SEQAN_CHECKPOINT
+       _write_impl(file, align, String<String<char> >(), FastaAlign());
+}
+
+//____________________________________________________________________________
+
+template <typename TFile, typename TStringContainer, typename TSource, typename TSpec>
+void write(TFile & file, Align<TSource, TSpec> & align, TStringContainer& ids, FastaAlign) {
+       SEQAN_CHECKPOINT
+       _write_impl(file, align, ids, FastaAlign());
+}
+
+
+//VisualC++ const array bug workaround
+template <typename TFile, typename TStringContainer, typename TSource, typename TSpec>
+void write(TFile & file, Align<TSource, TSpec>* align, TStringContainer & ids, FastaAlign) {
+       SEQAN_CHECKPOINT
+       _write_impl(file, align, ids, FastaAlign());
+}
+
+//____________________________________________________________________________
+
+template <typename TFile, typename TStringContainer, typename TSource, typename TSpec, typename TMeta>
+void write(TFile & file, Align<TSource, TSpec> & align, TStringContainer& ids, TMeta &, FastaAlign) {
+       SEQAN_CHECKPOINT
+       _write_impl(file, align, ids, FastaAlign());
+}
+
+
+
+//////////////////////////////////////////////////////////////////////////////
+} //namespace SEQAN_NAMESPACE_MAIN
+
+//////////////////////////////////////////////////////////////////////////////
+
+#endif //#ifndef SEQAN_HEADER_...
diff --git a/SeqAn-1.1/seqan/file/file_format_guess.h b/SeqAn-1.1/seqan/file/file_format_guess.h
new file mode 100644 (file)
index 0000000..a4c5287
--- /dev/null
@@ -0,0 +1,103 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de 
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: file_format_guess.h,v 1.1 2008/08/25 16:20:04 langmead Exp $
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_FILE_GUESS_H
+#define SEQAN_HEADER_FILE_GUESS_H
+
+namespace SEQAN_NAMESPACE_MAIN
+{
+
+//////////////////////////////////////////////////////////////////////////////
+// guessFileFormat
+//////////////////////////////////////////////////////////////////////////////
+
+//guessFileFormat braucht auch data, weil die FileFormat-Klasse von TData
+//abhaengig, und das ist so, weil sonst die Kombination von Templates mit
+//virtuellen Funktionen nicht funktionieren wuerde.
+/**
+.Function.guessFileFormat:
+..cat:Input/Output
+..summary:Tries to determine the format of a file.
+..signature:guessFileFormat(file, data)
+..param.file: An input file.
+..param.data: The target container.
+...remarks:This container is not modified by this function.
+..returns:A file format object instance that represents the determined file format.
+...type:Class.FileFormat
+..remarks:The $data$-argument is used here as a tag to determine the type of the target.
+..see:Function.Fileformat#read
+..see:Tag.File Format
+*/
+template <typename TFile, typename TData, typename TMeta>
+inline FileFormat<TFile, TData, TMeta, void> &
+guessFileFormat(TFile & file,
+                               TData & data)
+{
+SEQAN_CHECKPOINT
+       typename Position<TFile>::Type old_pos = _streamTellG(file);
+       typename Value<TFile>::Type c;
+
+       _streamSeekG(file, 0); /// move to beginning of file
+       c = _streamGet(file);
+               
+       if (c=='>') 
+       {
+               _streamSeekG(file, old_pos);
+               return getFileFormatInstance<TFile, TData, Fasta, TMeta>();
+       }
+       
+       if (c=='L')
+       {
+               _streamSeekG(file, old_pos);
+               return getFileFormatInstance<TFile, TData, Genbank, TMeta>();
+       }
+
+       if (c=='I')
+       {
+               _streamSeekG(file, old_pos);
+               return getFileFormatInstance<TFile, TData, Embl, TMeta>();
+       }
+
+       else
+       {
+               _streamSeekG(file, old_pos);
+               return getFileFormatInstance<TFile, TData, Raw, TMeta>();
+       }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+/* DOCH NICHT:
+template <typename TTarget, typename TSource>
+inline void
+read(TTarget & target,
+        TSource & source)
+{
+SEQAN_CHECKPOINT
+       read(target, source, guessFileFormat(target, source));
+}
+*/
+
+//////////////////////////////////////////////////////////////////////////////
+} //namespace SEQAN_NAMESPACE_MAIN
+
+//////////////////////////////////////////////////////////////////////////////
+
+#endif //#ifndef SEQAN_HEADER_...
diff --git a/SeqAn-1.1/seqan/file/file_format_raw.h b/SeqAn-1.1/seqan/file/file_format_raw.h
new file mode 100644 (file)
index 0000000..3b905db
--- /dev/null
@@ -0,0 +1,345 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de 
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: file_format_raw.h,v 1.1 2008/08/25 16:20:03 langmead Exp $
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_FILE_RAW_H
+#define SEQAN_HEADER_FILE_RAW_H
+
+namespace SEQAN_NAMESPACE_MAIN
+{
+
+//////////////////////////////////////////////////////////////////////////////
+// File Formats - Raw
+//////////////////////////////////////////////////////////////////////////////
+/**
+.Tag.File Format.tag.Raw:
+       The file contains data in a raw format.
+..remark:It is supposed that the file contains one single piece of data, 
+that is the file cannot store multiple records.
+*/
+
+struct TagRaw_;
+typedef Tag<TagRaw_> const Raw;
+
+
+
+//////////////////////////////////////////////////////////////////////////////
+// read
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TFile, typename TData, typename TTag>
+struct _Read_Raw;
+
+//____________________________________________________________________________
+
+template <typename TFile, typename TData>
+struct _Read_Raw<TFile, TData, True>
+{
+       static void
+       read_(TFile & file,     
+               TData & data)
+       {
+SEQAN_CHECKPOINT
+               SEQAN_ASSERT(!_streamEOF(file))
+
+               //determine length
+               typename Position<TFile>::Type begin_pos = _streamTellG(file);
+               typename Size<TData>::Type count = 0;
+               typename Value<TFile>::Type c = _streamGet(file);
+
+               while (!_streamEOF(file))
+               {
+                       c = _streamGet(file);
+                       ++count;
+               }
+
+               //reserve space
+               resize(data, count);
+
+               if (!count) return;
+
+               if (length(data) < count)
+               {
+                       count = length(data);
+               }
+
+               //read sequence
+               _streamSeekG(file, begin_pos);
+
+               typename Position<TData>::Type pos;
+               for (pos = 0; pos < count; )
+               {
+                       c = _streamGet(file);
+                       assignValue(data, pos, c);
+                       ++pos;
+               }
+       }
+//____________________________________________________________________________
+
+       template <typename TSize>
+       static void
+       read_(TFile & file,
+               TData & data,
+               TSize _limit)
+       {
+SEQAN_CHECKPOINT
+               SEQAN_ASSERT(!_streamEOF(file))
+
+               typename Size<TData>::Type limit = _limit;
+
+               //determine length
+               typename Position<TFile>::Type begin_pos = _streamTellG(file);
+               typename Size<TData>::Type count = 0;
+               typename Value<TFile>::Type c = _streamGet(file);
+
+               while (!_streamEOF(file))
+               {
+                       c = _streamGet(file);
+                       ++count;
+                       if (count == limit) break;
+               }
+
+               //reserve space
+               resize(data, count);
+
+               if (!count) return;
+
+               if (length(data) < count)
+               {
+                       count = length(data);
+               }
+
+               //read sequence
+               _streamSeekG(file, begin_pos);
+
+               typename Position<TData>::Type pos;
+               for (pos = 0; pos < count; )
+               {
+                       c = _streamGet(file);
+                       assignValue(data, pos, c);
+                       ++pos;
+               }
+       }
+};
+
+//____________________________________________________________________________
+
+template <typename TFile, typename TData>
+struct _Read_Raw<TFile, TData, False>
+{
+       static void
+       read_(TFile & file,
+               TData & data)
+       {
+SEQAN_CHECKPOINT
+
+               clear(data);
+               if (!_streamEOF(file))
+               {
+SEQAN_CHECKPOINT
+                       _ChunkCollector<TData> chunk_collector(data);
+                       assign(chunk_collector, file);
+                       append(data, chunk_collector);
+               }
+       }
+
+//____________________________________________________________________________
+
+       template <typename TSize>
+       static void
+       read_(TFile & file,
+               TData & data,
+               TSize limit)
+       {
+SEQAN_CHECKPOINT
+
+               clear(data);
+               if (!_streamEOF(file))
+               {
+SEQAN_CHECKPOINT
+                       _ChunkCollector<TData> chunk_collector(data);
+                       assign(chunk_collector, file, limit);
+                       append(data, chunk_collector, limit);
+               }
+       }
+};
+
+//////////////////////////////////////////////////////////////////////////////
+
+
+template <typename TFile, typename TData>
+void
+read(TFile & file,
+        TData & data,
+        Raw)
+{
+SEQAN_CHECKPOINT
+       _Read_Raw<TFile, TData, typename _IsTellSeekStream<TFile>::Type>::read_(file, data);
+}
+
+//____________________________________________________________________________
+
+template <typename TFile, typename TData, typename TSize>
+void
+read(TFile & file,
+        TData & data,
+        TSize limit,
+        Raw)
+{
+SEQAN_CHECKPOINT
+       _Read_Raw<TFile, TData, typename _IsTellSeekStream<TFile>::Type>::read_(file, data, limit);
+}
+
+
+//////////////////////////////////////////////////////////////////////////////
+// readID
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TFile, typename TString>
+void
+readID(TFile & /*file*/,
+          TString & id,
+          Raw)
+{
+SEQAN_CHECKPOINT
+       clear(id);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// readMeta
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TFile, typename TMeta>
+void
+readMeta(TFile & file,
+                TMeta & meta,
+                Raw)
+{
+SEQAN_CHECKPOINT
+       clear(meta);
+}
+
+
+//////////////////////////////////////////////////////////////////////////////
+// goNext
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TFile>
+void
+goNext(TFile & file,
+          Raw)
+{
+SEQAN_CHECKPOINT
+       SEQAN_ASSERT(!_streamEOF(file))
+
+//??? TODO: set file to eof
+}
+
+
+
+//////////////////////////////////////////////////////////////////////////////
+// write
+//////////////////////////////////////////////////////////////////////////////
+
+
+template <typename TFile, typename TString, typename TData>
+void
+write(TFile & file,
+         TData const & data,
+         Raw)
+{
+SEQAN_CHECKPOINT
+       _streamWrite(file, data);
+}
+
+//____________________________________________________________________________
+
+template <typename TFile, typename TData, typename TString>
+void
+write(TFile & file,
+         TData const & data,
+         TString const &,
+         Raw)
+{
+SEQAN_CHECKPOINT
+       _streamWrite(file, data);
+}
+
+//____________________________________________________________________________
+
+template <typename TFile, typename TString, typename TData, typename TMeta>
+void
+write(TFile & file,
+         TData const & data,
+         TString const &,
+         TMeta const &,
+         Raw)
+{
+SEQAN_CHECKPOINT
+       _streamWrite(file, data);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// default functions
+//////////////////////////////////////////////////////////////////////////////
+
+
+template <typename TFile, typename TData>
+void
+read(TFile & file,
+        TData & data)
+{
+       read(file, data, Raw());
+}
+
+template <typename TFile, typename TData, typename TSize>
+void
+read(TFile & file,
+        TData & data,
+        TSize limit)
+{
+SEQAN_CHECKPOINT
+       read(file, data, limit, Raw());
+}
+
+//____________________________________________________________________________
+
+template <typename TFile, typename TData>
+void
+write(TFile & file,
+         TData & data)
+{
+SEQAN_CHECKPOINT
+       write(file, data, "", Raw());
+}
+template <typename TFile, typename TData>
+void
+write(TFile & file,
+         TData const & data)
+{
+SEQAN_CHECKPOINT
+       write(file, data, "", Raw());
+}
+
+//////////////////////////////////////////////////////////////////////////////
+} //namespace SEQAN_NAMESPACE_MAIN
+
+//////////////////////////////////////////////////////////////////////////////
+
+#endif //#ifndef SEQAN_HEADER_...
diff --git a/SeqAn-1.1/seqan/file/file_forwards.h b/SeqAn-1.1/seqan/file/file_forwards.h
new file mode 100644 (file)
index 0000000..987c820
--- /dev/null
@@ -0,0 +1,44 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de 
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: file_forwards.h,v 1.1 2008/08/25 16:20:03 langmead Exp $
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_FILE_FORWARDS_H 
+#define SEQAN_HEADER_FILE_FORWARDS_H 
+
+//SEQAN_NO_GENERATED_FORWARDS: no forwards are generated for this file
+
+//////////////////////////////////////////////////////////////////////////////
+
+namespace SEQAN_NAMESPACE_MAIN 
+{
+    
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TSource, typename TSpec>
+class Align;
+
+
+//////////////////////////////////////////////////////////////////////////////
+
+} //namespace SEQAN_NAMESPACE_MAIN
+
+//////////////////////////////////////////////////////////////////////////////
+
+#endif
+
diff --git a/SeqAn-1.1/seqan/file/file_generated_forwards.h b/SeqAn-1.1/seqan/file/file_generated_forwards.h
new file mode 100644 (file)
index 0000000..b6f01de
--- /dev/null
@@ -0,0 +1,1155 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de 
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_FILE_GENERATED_FORWARDS_H 
+#define SEQAN_HEADER_FILE_GENERATED_FORWARDS_H 
+
+//////////////////////////////////////////////////////////////////////////////
+// NOTE: This file is automatically generated by build_forwards.py
+//       Do not edit this file manually!
+//////////////////////////////////////////////////////////////////////////////
+
+
+//////////////////////////////////////////////////////////////////////////////
+// CLASSES
+//////////////////////////////////////////////////////////////////////////////
+
+namespace SEQAN_NAMESPACE_MAIN {
+
+//____________________________________________________________________________
+// Async
+
+template <typename TSpec > struct Async;               // "projects/library/seqan/file/file_base.h"(58)
+
+//____________________________________________________________________________
+// Chained
+
+template <__int64 _FileSize , typename TFile > struct Chained;         // "projects/library/seqan/file/file_base.h"(90)
+
+//____________________________________________________________________________
+// ChunkLength
+
+template <typename T> struct ChunkLength;              // "projects/library/seqan/file/chunk_collector.h"(41)
+
+//____________________________________________________________________________
+// DefaultOpenMode
+
+template <typename T> struct DefaultOpenMode;          // "projects/library/seqan/file/file_base.h"(122)
+
+//____________________________________________________________________________
+// DefaultOpenTempMode
+
+template <typename T> struct DefaultOpenTempMode;              // "projects/library/seqan/file/file_base.h"(127)
+
+//____________________________________________________________________________
+// Dynamic
+
+template <typename TSpec > struct Dynamic;             // "projects/library/seqan/file/file_page.h"(185)
+
+//____________________________________________________________________________
+// External
+
+template <typename TConfig > struct External;          // "projects/library/seqan/file/string_external.h"(158)
+
+//____________________________________________________________________________
+// ExternalConfig
+
+template <typename _TFile , unsigned _PageSize , unsigned _Frames > struct ExternalConfig;             // "projects/library/seqan/file/string_external.h"(83)
+
+//____________________________________________________________________________
+// ExternalConfigLarge
+
+template <typename _TFile , unsigned _PageSize , unsigned _Frames > struct ExternalConfigLarge;        // "projects/library/seqan/file/string_external.h"(118)
+
+//____________________________________________________________________________
+// ExternalConfigSize
+
+template <typename TSize, typename _TFile , unsigned _PageSize , unsigned _Frames > struct ExternalConfigSize;         // "projects/library/seqan/file/string_external.h"(150)
+
+//____________________________________________________________________________
+// File
+
+template <typename TSpec > class File;         // "projects/library/seqan/file/file_base.h"(71)
+
+//____________________________________________________________________________
+// FileFormat
+
+template <typename TFile, typename TData, typename TMeta, typename TFormat > struct FileFormat;        // "projects/library/seqan/file/file_format.h"(60)
+
+//____________________________________________________________________________
+// FileReader
+
+template <typename TFormat, typename TFile , typename TSpec > struct FileReader;               // "projects/library/seqan/file/file_filereaderiterator.h"(30)
+
+//____________________________________________________________________________
+// FileReaderIterator
+
+struct FileReaderIterator;             // "projects/library/seqan/file/file_filereader.h"(402)
+
+//____________________________________________________________________________
+// Fixed
+
+template <unsigned _PageSize > struct Fixed;           // "projects/library/seqan/file/file_page.h"(228)
+
+//____________________________________________________________________________
+// PageBucket
+
+template <typename TValue > struct PageBucket;         // "projects/library/seqan/file/file_page.h"(159)
+
+//____________________________________________________________________________
+// PageBucketExtended
+
+template <typename TValue > struct PageBucketExtended;         // "projects/library/seqan/file/file_page.h"(165)
+
+//____________________________________________________________________________
+// PageChain
+
+template <typename TPageFrame > struct PageChain;              // "projects/library/seqan/file/file_page.h"(189)
+template <typename TPageFrame > struct PageChain;              // "projects/library/seqan/file/file_page.h"(509)
+
+//____________________________________________________________________________
+// PageContainer
+
+template <typename TPageFrame, unsigned _Frames, unsigned _PriorityLevels > struct PageContainer;              // "projects/library/seqan/file/file_page.h"(723)
+
+//____________________________________________________________________________
+// PageFrame
+
+template <typename TValue, typename TFile, typename TSpec > struct PageFrame;          // "projects/library/seqan/file/file_page.h"(178)
+
+//____________________________________________________________________________
+// Row
+
+template <typename T> struct Row;              // "projects/library/seqan/file/file_format_fasta_align.h"(33)
+
+//____________________________________________________________________________
+// Rows
+
+template <typename T> struct Rows;             // "projects/library/seqan/file/file_format_fasta_align.h"(36)
+
+//____________________________________________________________________________
+// SimpleBuffer
+
+template <typename TValue > struct SimpleBuffer;               // "projects/library/seqan/file/file_page.h"(35)
+
+//____________________________________________________________________________
+// Striped
+
+template <unsigned _FileCount , typename TFile > struct Striped;               // "projects/library/seqan/file/file_base.h"(107)
+
+//____________________________________________________________________________
+// Sync
+
+template <typename TSpec > struct Sync;        // "projects/library/seqan/file/file_base.h"(47)
+
+//____________________________________________________________________________
+// TagCGViz_
+
+struct TagCGViz_;              // "projects/library/seqan/file/file_format_cgviz.h"(36)
+
+//____________________________________________________________________________
+// TagEmbl_
+
+struct TagEmbl_;               // "projects/library/seqan/file/file_format_embl.h"(34)
+
+//____________________________________________________________________________
+// TagFastaAlign_
+
+struct TagFastaAlign_;         // "projects/library/seqan/file/file_format_fasta_align.h"(44)
+
+//____________________________________________________________________________
+// TagFasta_
+
+struct TagFasta_;              // "projects/library/seqan/file/file_format_fasta.h"(35)
+
+//____________________________________________________________________________
+// TagGenbank_
+
+struct TagGenbank_;            // "projects/library/seqan/file/file_format_genbank.h"(35)
+
+//____________________________________________________________________________
+// TagRaw_
+
+struct TagRaw_;        // "projects/library/seqan/file/file_format_raw.h"(37)
+
+//____________________________________________________________________________
+// VectorConstIterator
+
+template <typename _Vector > struct VectorConstIterator;               // "projects/library/seqan/file/string_external.h"(275)
+
+//____________________________________________________________________________
+// VectorFwdConstIterator
+
+template <typename _Vector > struct VectorFwdConstIterator;            // "projects/library/seqan/file/string_external.h"(641)
+
+//____________________________________________________________________________
+// VectorFwdIterator
+
+template <typename _Vector > struct VectorFwdIterator;         // "projects/library/seqan/file/string_external.h"(392)
+
+//____________________________________________________________________________
+// VectorIterator
+
+template <typename _Vector > struct VectorIterator;            // "projects/library/seqan/file/string_external.h"(165)
+
+//____________________________________________________________________________
+// _Append_ChunkCollector_2_String
+
+template <typename TExpand> struct _Append_ChunkCollector_2_String;            // "projects/library/seqan/file/chunk_collector.h"(334)
+
+//____________________________________________________________________________
+// _Assign_ChunkCollector_2_String
+
+template <typename TExpand> struct _Assign_ChunkCollector_2_String;            // "projects/library/seqan/file/chunk_collector.h"(264)
+
+//____________________________________________________________________________
+// _Assign_Stream_2_ChunkCollector
+
+struct _Assign_Stream_2_ChunkCollector;        // "projects/library/seqan/file/chunk_collector.h"(186)
+
+//____________________________________________________________________________
+// _ChunkCollector
+
+template <typename THost> class _ChunkCollector;               // "projects/library/seqan/file/chunk_collector.h"(51)
+
+//____________________________________________________________________________
+// _FileReader_Types
+
+template <typename T> struct _FileReader_Types;        // "projects/library/seqan/file/file_filereader.h"(410)
+
+//____________________________________________________________________________
+// _IsTellSeekStream
+
+template <typename T> struct _IsTellSeekStream;        // "projects/library/seqan/file/stream.h"(179)
+template <typename T> struct _IsTellSeekStream;        // "projects/library/seqan/file/cstream.h"(63)
+
+//____________________________________________________________________________
+// _Read_Raw
+
+template <typename TFile, typename TData, typename TTag> struct _Read_Raw;             // "projects/library/seqan/file/file_format_raw.h"(47)
+
+//____________________________________________________________________________
+// _Replace_ChunkCollector_2_String
+
+template <typename TExpand> struct _Replace_ChunkCollector_2_String;           // "projects/library/seqan/file/chunk_collector.h"(407)
+
+//____________________________________________________________________________
+// aDummyRequest
+
+struct aDummyRequest;          // "projects/library/seqan/file/file_base.h"(143)
+
+//____________________________________________________________________________
+// aRequest
+
+template <typename T > struct aRequest;        // "projects/library/seqan/file/file_base.h"(156)
+
+} //namespace SEQAN_NAMESPACE_MAIN
+
+
+//////////////////////////////////////////////////////////////////////////////
+// TYPEDEFS
+//////////////////////////////////////////////////////////////////////////////
+
+namespace SEQAN_NAMESPACE_MAIN {
+
+//____________________________________________________________________________
+// CGViz
+
+typedef Tag<TagCGViz_> const CGViz;            // "projects/library/seqan/file/file_format_cgviz.h"(37)
+
+//____________________________________________________________________________
+// Embl
+
+typedef Tag<TagEmbl_> const Embl;              // "projects/library/seqan/file/file_format_embl.h"(35)
+
+//____________________________________________________________________________
+// Fasta
+
+typedef Tag<TagFasta_> const Fasta;            // "projects/library/seqan/file/file_format_fasta.h"(36)
+
+//____________________________________________________________________________
+// FastaAlign
+
+typedef Tag<TagFastaAlign_> const FastaAlign;          // "projects/library/seqan/file/file_format_fasta_align.h"(45)
+
+//____________________________________________________________________________
+// Genbank
+
+typedef Tag<TagGenbank_> const Genbank;        // "projects/library/seqan/file/file_format_genbank.h"(36)
+
+//____________________________________________________________________________
+// Raw
+
+typedef Tag<TagRaw_> const Raw;        // "projects/library/seqan/file/file_format_raw.h"(38)
+
+} //namespace SEQAN_NAMESPACE_MAIN
+
+
+//////////////////////////////////////////////////////////////////////////////
+// FUNCTIONS
+//////////////////////////////////////////////////////////////////////////////
+
+namespace SEQAN_NAMESPACE_MAIN {
+
+//____________________________________________________________________________
+// _FileReaderString_construct
+
+template <typename TValue, typename TFormat, typename TFile, typename TSpec> inline void _FileReaderString_construct(String<TValue, FileReader<TFormat, TFile, TSpec> > & me);         // "projects/library/seqan/file/file_filereader.h"(254)
+
+//____________________________________________________________________________
+// _FileReaderString_findblock
+
+template <typename TValue, typename TFormat, typename TFile, typename TSpec, typename TPosition> inline unsigned int _FileReaderString_findblock(String<TValue, FileReader<TFormat, TFile, TSpec> > & me, TPosition pos);              // "projects/library/seqan/file/file_filereader.h"(233)
+
+//____________________________________________________________________________
+// _FileReaderString_isValidBlock
+
+template <typename TValue, typename TFormat, typename TFile, typename TSpec, typename TUint> inline bool _FileReaderString_isValidBlock(String<TValue, FileReader<TFormat, TFile, TSpec> > & me, TUint block_number);          // "projects/library/seqan/file/file_filereader.h"(271)
+
+//____________________________________________________________________________
+// _FileReaderString_loadComplete
+
+template <typename TValue, typename TFormat, typename TFile, typename TSpec> inline void _FileReaderString_loadComplete(String<TValue, FileReader<TFormat, TFile, TSpec> > & me);              // "projects/library/seqan/file/file_filereader.h"(288)
+
+//____________________________________________________________________________
+// _FileReaderString_loadblock
+
+template <typename TValue, typename TFormat, typename TFile, typename TSpec, typename TPosition> inline void _FileReaderString_loadblock(String<TValue, FileReader<TFormat, TFile, TSpec> > & me, TPosition blocknum);         // "projects/library/seqan/file/file_filereader.h"(167)
+
+//____________________________________________________________________________
+// _cancelFArray
+
+template <typename TFileArray, typename TRequest > inline bool _cancelFArray(TFileArray &me, TRequest &request);               // "projects/library/seqan/file/file_array.h"(272)
+
+//____________________________________________________________________________
+// _closeFArray
+
+template <typename TFileArray > inline bool _closeFArray(TFileArray &me);              // "projects/library/seqan/file/file_array.h"(242)
+
+//____________________________________________________________________________
+// _dataFile
+
+template <typename TValue, typename TFormat, typename TFile, typename TSpec> inline TFile & _dataFile(String<TValue, FileReader<TFormat, TFile, TSpec> > & me);        // "projects/library/seqan/file/file_filereader.h"(156)
+
+//____________________________________________________________________________
+// _fasta_align_scan_line
+
+template <typename TFile, typename TSize> void _fasta_align_scan_line(TFile & file, TSize & count);            // "projects/library/seqan/file/file_format_fasta_align.h"(51)
+
+//____________________________________________________________________________
+// _fasta_scan_line
+
+template <typename TFile, typename TSize> inline typename Value<TFile>::Type _fasta_scan_line(TFile & file, TSize & count_valid, TSize & count_all);           // "projects/library/seqan/file/file_format_fasta.h"(145)
+
+//____________________________________________________________________________
+// _flushFArray
+
+template <typename TFileArray > inline bool _flushFArray(TFileArray &me);              // "projects/library/seqan/file/file_array.h"(264)
+
+//____________________________________________________________________________
+// _getCStyleOpenMode
+
+inline const char * _getCStyleOpenMode(int openMode);          // "projects/library/seqan/file/file_cstyle.h"(66)
+
+//____________________________________________________________________________
+// _openTempFArray
+
+template <typename TFileArray > inline bool _openTempFArray(TFileArray &me, int openMode);             // "projects/library/seqan/file/file_array.h"(221)
+template <typename TFileArray > inline bool _openTempFArray(TFileArray &me);           // "projects/library/seqan/file/file_array.h"(229)
+
+//____________________________________________________________________________
+// _read_n_chars_from_file
+
+template <typename TFile, typename TSize> inline void _read_n_chars_from_file(TFile & file, TSize count);              // "projects/library/seqan/file/file_format_fasta.h"(187)
+
+//____________________________________________________________________________
+// _reopenFArray
+
+template <typename TFileArray > inline bool _reopenFArray(TFileArray &me, int openMode);               // "projects/library/seqan/file/file_array.h"(234)
+
+//____________________________________________________________________________
+// _sectorSizeFArray
+
+template <typename TFileArray > inline unsigned _sectorSizeFArray(TFileArray &me, int openMode);               // "projects/library/seqan/file/file_array.h"(250)
+
+//____________________________________________________________________________
+// _sizeFArray
+
+template <typename TFileArray > inline typename Size<TFileArray>::Type _sizeFArray(TFileArray &me);            // "projects/library/seqan/file/file_array.h"(256)
+
+//____________________________________________________________________________
+// _streamClose
+
+inline void _streamClose(::std::FILE * & me);          // "projects/library/seqan/file/cstream.h"(93)
+
+//____________________________________________________________________________
+// _streamEOF
+
+template <typename TValue, typename TTraits> inline bool _streamEOF(::std::basic_ios<TValue, TTraits> const & me);             // "projects/library/seqan/file/stream.h"(209)
+inline bool _streamEOF(::std::FILE * me);              // "projects/library/seqan/file/cstream.h"(108)
+
+//____________________________________________________________________________
+// _streamGet
+
+template <typename TValue, typename TTraits> inline TValue _streamGet(::std::basic_istream<TValue, TTraits> & source);         // "projects/library/seqan/file/stream.h"(253)
+inline char _streamGet(::std::FILE * source);          // "projects/library/seqan/file/cstream.h"(133)
+
+//____________________________________________________________________________
+// _streamOpen
+
+inline bool _streamOpen(::std::FILE * & me, String<char> path, bool for_read );        // "projects/library/seqan/file/cstream.h"(75)
+
+//____________________________________________________________________________
+// _streamPeek
+
+template <typename TValue, typename TTraits> inline TValue _streamPeek(::std::basic_istream<TValue, TTraits> & source);        // "projects/library/seqan/file/stream.h"(273)
+
+//____________________________________________________________________________
+// _streamPut
+
+template <typename TValue, typename TTraits, typename TChar> inline void _streamPut(::std::basic_ostream<TValue, TTraits> & target, TChar character);          // "projects/library/seqan/file/stream.h"(313)
+inline void _streamPut(::std::FILE * target, char character);          // "projects/library/seqan/file/cstream.h"(145)
+
+//____________________________________________________________________________
+// _streamPutFloat
+
+template <typename TStream> inline void _streamPutFloat(TStream & target, float number, char const * format_string);           // "projects/library/seqan/file/stream_algorithms.h"(73)
+template <typename TStream> inline void _streamPutFloat(TStream & target, float number);               // "projects/library/seqan/file/stream_algorithms.h"(83)
+
+//____________________________________________________________________________
+// _streamPutInt
+
+template <typename TStream> inline void _streamPutInt(TStream & target, int number, char const * format_string);               // "projects/library/seqan/file/stream_algorithms.h"(44)
+template <typename TStream> inline void _streamPutInt(TStream & target, int number);           // "projects/library/seqan/file/stream_algorithms.h"(54)
+
+//____________________________________________________________________________
+// _streamRead
+
+template <typename TValue, typename TTraits> inline ::std::streamsize _streamRead(TValue * target, ::std::basic_istream<TValue, TTraits> & source, ::std::streamsize limit);           // "projects/library/seqan/file/stream.h"(232)
+template <typename TValue> inline size_t _streamRead(TValue * target, ::std::FILE * source, size_t limit);             // "projects/library/seqan/file/cstream.h"(122)
+
+//____________________________________________________________________________
+// _streamSeek2G
+
+template <typename TValue, typename TTraits> inline void _streamSeek2G(::std::basic_istream<TValue, TTraits> & me, int off);           // "projects/library/seqan/file/stream.h"(420)
+inline void _streamSeek2G(FILE * me, int off);         // "projects/library/seqan/file/cstream.h"(208)
+
+//____________________________________________________________________________
+// _streamSeekG
+
+template <typename TValue, typename TTraits> inline void _streamSeekG(::std::basic_istream<TValue, TTraits> & me, typename Position< ::std::basic_istream<TValue, TTraits> >::Type pos);               // "projects/library/seqan/file/stream.h"(373)
+inline void _streamSeekG(FILE * me, Position<FILE *>::Type pos);               // "projects/library/seqan/file/cstream.h"(184)
+
+//____________________________________________________________________________
+// _streamSeekP
+
+template <typename TValue, typename TTraits> inline void _streamSeekP(::std::basic_ostream<TValue, TTraits> & me, typename Position< ::std::basic_ostream<TValue, TTraits> >::Type pos);               // "projects/library/seqan/file/stream.h"(397)
+inline void _streamSeekP(FILE * me, Position<FILE *>::Type pos);               // "projects/library/seqan/file/cstream.h"(196)
+
+//____________________________________________________________________________
+// _streamTellG
+
+template <typename TValue, typename TTraits> inline typename Position< ::std::basic_istream<TValue, TTraits> >::Type _streamTellG(::std::basic_istream<TValue, TTraits> & me);         // "projects/library/seqan/file/stream.h"(332)
+inline Position<FILE *>::Type _streamTellG(FILE * me);         // "projects/library/seqan/file/cstream.h"(161)
+
+//____________________________________________________________________________
+// _streamTellP
+
+template <typename TValue, typename TTraits> inline typename Position< ::std::basic_ostream<TValue, TTraits> >::Type _streamTellP(::std::basic_ostream<TValue, TTraits> & me);         // "projects/library/seqan/file/stream.h"(351)
+inline Position<FILE *>::Type _streamTellP(FILE * me);         // "projects/library/seqan/file/cstream.h"(172)
+
+//____________________________________________________________________________
+// _streamUnget
+
+template <typename TValue, typename TTraits> inline void _streamUnget(::std::basic_istream<TValue, TTraits> & source);         // "projects/library/seqan/file/stream.h"(292)
+inline void _streamUnget(::std::FILE * stream);        // "projects/library/seqan/file/cstream.h"(219)
+
+//____________________________________________________________________________
+// _streamWrite
+
+template <typename TTarget, typename T1, typename T2, typename TCompression> inline void _streamWrite(TTarget & target, Pair<T1, T2, TCompression> const & source);            // "projects/library/seqan/file/stream_algorithms.h"(94)
+template <typename TTarget, typename T1, typename T2, typename T3, typename TCompression> inline void _streamWrite(TTarget & target, Triple<T1, T2, T3, TCompression> const & source);         // "projects/library/seqan/file/stream_algorithms.h"(104)
+template <typename TTarget, typename TSource> inline void _streamWrite(TTarget & target, TSource const & source);              // "projects/library/seqan/file/stream_algorithms.h"(128)
+
+//____________________________________________________________________________
+// _streamWriteRange
+
+template <typename TTarget, typename TIterator> inline void _streamWriteRange(TTarget & target, TIterator begin_, TIterator end_);             // "projects/library/seqan/file/stream_algorithms.h"(193)
+
+//____________________________________________________________________________
+// _streamWriteSeq
+
+template <typename TTarget, typename TSource> inline void _streamWriteSeq(TTarget & target, TSource const & source, False const);              // "projects/library/seqan/file/stream_algorithms.h"(140)
+template <typename TTarget, typename TSource> inline void _streamWriteSeq(TTarget & target, TSource const & source, True const);               // "projects/library/seqan/file/stream_algorithms.h"(151)
+template <typename TTarget, typename TSourceValue> inline void _streamWriteSeq(TTarget & target, TSourceValue const * source, True const);             // "projects/library/seqan/file/stream_algorithms.h"(168)
+
+//____________________________________________________________________________
+// _stream_appendLine
+
+template <typename TFile, typename TString, typename TChar> inline void _stream_appendLine(TFile & file, TString & str, TChar & c);            // "projects/library/seqan/file/file_format.h"(432)
+
+//____________________________________________________________________________
+// _stream_countLine
+
+template <typename TFile, typename TChar> inline void _stream_countLine(TFile & file, TChar & c);              // "projects/library/seqan/file/file_format.h"(464)
+
+//____________________________________________________________________________
+// _stream_isLetter
+
+template <typename TChar> inline bool _stream_isLetter(TChar const c);         // "projects/library/seqan/file/file_format.h"(564)
+
+//____________________________________________________________________________
+// _stream_readWord
+
+template <typename TFile, typename TChar> inline String<char> _stream_readWord(TFile & file, TChar& c);        // "projects/library/seqan/file/file_format.h"(548)
+
+//____________________________________________________________________________
+// _stream_skipLine
+
+template <typename TFile, typename TChar> inline typename Size<TFile>::Type _stream_skipLine(TFile & file, TChar & c);         // "projects/library/seqan/file/file_format.h"(495)
+
+//____________________________________________________________________________
+// _stream_skipWhitespace
+
+template <typename TFile, typename TChar> inline void _stream_skipWhitespace(TFile& file, TChar& c);           // "projects/library/seqan/file/file_format.h"(534)
+
+//____________________________________________________________________________
+// _string_appendLine
+
+template <typename TString1, typename TString2, typename TIter> inline void _string_appendLine(TString1 & str, TString2 & a_str, TIter & it);          // "projects/library/seqan/file/file_format.h"(624)
+
+//____________________________________________________________________________
+// _string_readNumber
+
+template <typename TString, typename TIter> inline int _string_readNumber(TString & str, TIter& it);           // "projects/library/seqan/file/file_format.h"(668)
+
+//____________________________________________________________________________
+// _string_skipLine
+
+template <typename TString, typename TIter> inline typename Size<TString>::Type _string_skipLine(TString & str, TIter & it);           // "projects/library/seqan/file/file_format.h"(588)
+
+//____________________________________________________________________________
+// _string_skipWhitespace
+
+template <typename TString, typename TIter> inline void _string_skipWhitespace(TString& str, TIter& it);               // "projects/library/seqan/file/file_format.h"(655)
+
+//____________________________________________________________________________
+// _write_impl
+
+template <typename TFile, typename TStringContainer, typename TSource, typename TSpec> void _write_impl(TFile& target, Align<TSource, TSpec>& align, TStringContainer& ids, CGViz);            // "projects/library/seqan/file/file_format_cgviz.h"(62)
+template <typename TFile, typename TString, typename TData> void _write_impl(TFile & file, TData & data, TString & id, Fasta);         // "projects/library/seqan/file/file_format_fasta.h"(434)
+template <typename TFile, typename TStringContainer, typename TSource, typename TSpec> void _write_impl(TFile& file, Align<TSource, TSpec>& align, TStringContainer& ids, FastaAlign);         // "projects/library/seqan/file/file_format_fasta_align.h"(246)
+
+//____________________________________________________________________________
+// alignSize
+
+template <typename T1, typename T2> inline T1 alignSize(T1 _size, T2 _aligning);               // "projects/library/seqan/file/file_base.h"(688)
+
+//____________________________________________________________________________
+// allocPage
+
+template <typename TValue, typename TSize, typename T > inline void allocPage(SimpleBuffer<TValue> &pf, TSize size, T const & me);             // "projects/library/seqan/file/file_page.h"(119)
+template <typename TValue, typename TFile, typename TSpec, typename T > inline void allocPage(PageFrame<TValue, TFile, TSpec> &pf, T const & me);              // "projects/library/seqan/file/file_page.h"(334)
+
+//____________________________________________________________________________
+// allocate
+
+template <__int64 _FileSize, typename TFile, typename TValue, typename TSize > inline void allocate(File< Chained<_FileSize, TFile> > const &me, TValue* &data, TSize count);          // "projects/library/seqan/file/file_array.h"(340)
+template <unsigned _FileCount, typename TFile, typename TValue, typename TSize > inline void allocate(File< Striped<_FileCount, TFile> > const &me, TValue* &data, TSize count);               // "projects/library/seqan/file/file_array.h"(350)
+
+//____________________________________________________________________________
+// append
+
+template <typename TValue, typename TConfig, typename TString, typename TExpand > inline void append(String<TValue, External<TConfig> > &me, TString const &string, Tag<TExpand> const expand);        // "projects/library/seqan/file/string_external.h"(1895)
+template <typename TTargetValue, typename TTargetSpec, typename TSourceHost, typename TExpand> inline void append(String<TTargetValue, TTargetSpec> & target, _ChunkCollector<TSourceHost> const & source, Tag<TExpand> const );               // "projects/library/seqan/file/chunk_collector.h"(390)
+template <typename TTargetValue, typename TTargetSpec, typename TSourceHost, typename TExpand> inline void append(String<TTargetValue, TTargetSpec> & target, _ChunkCollector<TSourceHost> const & source, typename Size< String<TTargetValue, TTargetSpec> >::Type limit, Tag<TExpand> const );               // "projects/library/seqan/file/chunk_collector.h"(399)
+
+//____________________________________________________________________________
+// appendValue
+
+template <typename TValue, typename TConfig, typename TExpand > inline void appendValue(String<TValue, External<TConfig> > &me, TValue const &_Val, Tag<TExpand> const);               // "projects/library/seqan/file/string_external.h"(1886)
+
+//____________________________________________________________________________
+// areadAt
+
+template <typename File, typename TValue, typename TSize, typename TPos, typename aRequest > inline bool areadAt(File & me, TValue *memPtr, TSize const count, TPos const fileOfs, aRequest &request);         // "projects/library/seqan/file/file_base.h"(588)
+template <__int64 _FileSize, typename TFile, typename TValue, typename TSize, typename TOffset, typename TRequest > inline bool areadAt(File< Chained<_FileSize, TFile> > &me, TValue *memPtr, TSize count, TOffset offset, TRequest &req);            // "projects/library/seqan/file/file_array.h"(392)
+
+//____________________________________________________________________________
+// assign
+
+template <typename TValue, typename TConfig, typename TSource, typename TExpand > inline void assign( String<TValue, External<TConfig> > &target, TSource const &source, Tag<TExpand> const);          // "projects/library/seqan/file/string_external.h"(1937)
+template <typename THost, typename TSource> inline void assign(_ChunkCollector<THost> & target, TSource & source);             // "projects/library/seqan/file/chunk_collector.h"(231)
+template <typename THost, typename TSource> inline void assign(_ChunkCollector<THost> & target, TSource const & source);               // "projects/library/seqan/file/chunk_collector.h"(238)
+template <typename THost, typename TSource, typename TSize> inline void assign(_ChunkCollector<THost> & target, TSource & source, TSize limit);        // "projects/library/seqan/file/chunk_collector.h"(247)
+template <typename THost, typename TSource, typename TSize> inline void assign(_ChunkCollector<THost> & target, TSource const & source, TSize limit);          // "projects/library/seqan/file/chunk_collector.h"(255)
+template <typename TTargetValue, typename TTargetSpec, typename TSourceHost, typename TExpand> inline void assign(String<TTargetValue, TTargetSpec> & target, _ChunkCollector<TSourceHost> const & source, Tag<TExpand> const tag);            // "projects/library/seqan/file/chunk_collector.h"(316)
+template <typename TTargetValue, typename TTargetSpec, typename TSourceHost, typename TExpand> inline void assign(String<TTargetValue, TTargetSpec> & target, _ChunkCollector<TSourceHost> const & source, typename Size< String<TTargetValue, TTargetSpec> >::Type limit, Tag<TExpand> const tag);            // "projects/library/seqan/file/chunk_collector.h"(325)
+
+//____________________________________________________________________________
+// atBegin
+
+template <typename TContainer> inline bool atBegin(Iter<TContainer, FileReaderIterator> & it);         // "projects/library/seqan/file/file_filereader.h"(760)
+template <typename TContainer> inline bool atBegin(Iter<TContainer, FileReaderIterator> const & it);           // "projects/library/seqan/file/file_filereader.h"(766)
+template <typename TExtString> inline bool atBegin(VectorIterator<TExtString> &it);            // "projects/library/seqan/file/string_external.h"(1650)
+template <typename TExtString> inline bool atBegin(VectorIterator<TExtString> const &it);              // "projects/library/seqan/file/string_external.h"(1652)
+template <typename TExtString> inline bool atBegin(VectorConstIterator<TExtString> &it);               // "projects/library/seqan/file/string_external.h"(1655)
+template <typename TExtString> inline bool atBegin(VectorConstIterator<TExtString> const &it);         // "projects/library/seqan/file/string_external.h"(1657)
+template <typename TExtString> inline bool atBegin(VectorFwdIterator<TExtString> &it);         // "projects/library/seqan/file/string_external.h"(1660)
+template <typename TExtString> inline bool atBegin(VectorFwdIterator<TExtString> const &it);           // "projects/library/seqan/file/string_external.h"(1664)
+template <typename TExtString> inline bool atBegin(VectorFwdConstIterator<TExtString> &it);            // "projects/library/seqan/file/string_external.h"(1669)
+template <typename TExtString> inline bool atBegin(VectorFwdConstIterator<TExtString> const &it);              // "projects/library/seqan/file/string_external.h"(1673)
+
+//____________________________________________________________________________
+// atEnd
+
+template <typename TContainer> inline bool atEnd(Iter<TContainer, FileReaderIterator> & it);           // "projects/library/seqan/file/file_filereader.h"(745)
+template <typename TContainer> inline bool atEnd(Iter<TContainer, FileReaderIterator> const & it);             // "projects/library/seqan/file/file_filereader.h"(751)
+template <typename TExtString> inline bool atEnd(VectorIterator<TExtString> &it);              // "projects/library/seqan/file/string_external.h"(1679)
+template <typename TExtString> inline bool atEnd(VectorIterator<TExtString> const &it);        // "projects/library/seqan/file/string_external.h"(1681)
+template <typename TExtString> inline bool atEnd(VectorConstIterator<TExtString> &it);         // "projects/library/seqan/file/string_external.h"(1684)
+template <typename TExtString> inline bool atEnd(VectorConstIterator<TExtString> const &it);           // "projects/library/seqan/file/string_external.h"(1686)
+template <typename TExtString> inline bool atEnd(VectorFwdIterator<TExtString> &it);           // "projects/library/seqan/file/string_external.h"(1689)
+template <typename TExtString> inline bool atEnd(VectorFwdIterator<TExtString> const &it);             // "projects/library/seqan/file/string_external.h"(1693)
+template <typename TExtString> inline bool atEnd(VectorFwdConstIterator<TExtString> &it);              // "projects/library/seqan/file/string_external.h"(1698)
+template <typename TExtString> inline bool atEnd(VectorFwdConstIterator<TExtString> const &it);        // "projects/library/seqan/file/string_external.h"(1702)
+template <typename TFile, typename TFormat, typename TFile2, typename TSpec> inline bool atEnd(Iter<TFile, FileReader<TFormat, TFile2, TSpec> > & it);         // "projects/library/seqan/file/file_filereaderiterator.h"(127)
+
+//____________________________________________________________________________
+// awriteAt
+
+template <typename File, typename TValue, typename TSize, typename TPos, typename aRequest > inline bool awriteAt(File & me, TValue const *memPtr, TSize const count, TPos const fileOfs, aRequest &request);          // "projects/library/seqan/file/file_base.h"(612)
+template <__int64 _FileSize, typename TFile, typename TValue, typename TSize, typename TOffset, typename TRequest > inline bool awriteAt(File< Chained<_FileSize, TFile> > &me, TValue const *memPtr, TSize count, TOffset offset, TRequest &req);             // "projects/library/seqan/file/file_array.h"(409)
+
+//____________________________________________________________________________
+// begin
+
+template <typename TValue, typename TFormat, typename TFile, typename TSpec, typename TIteratorSpec> inline typename Iterator< String<TValue, FileReader<TFormat, TFile, TSpec> >, TIteratorSpec >::Type begin(String<TValue, FileReader<TFormat, TFile, TSpec> > & me, Tag<TIteratorSpec> const);             // "projects/library/seqan/file/file_filereader.h"(340)
+template <typename TValue, typename TFormat, typename TFile, typename TSpec, typename TIteratorSpec> inline typename Iterator< String<TValue, FileReader<TFormat, TFile, TSpec> > const, TIteratorSpec >::Type begin(String<TValue, FileReader<TFormat, TFile, TSpec> > const & me, Tag<TIteratorSpec> const);         // "projects/library/seqan/file/file_filereader.h"(348)
+template <typename TValue, typename TConfig, typename TSpec > inline typename Iterator<String<TValue, External<TConfig> >, Tag<TSpec> const>::Type begin(String<TValue, External<TConfig> > &me, Tag<TSpec> const);            // "projects/library/seqan/file/string_external.h"(1834)
+template <typename TValue, typename TConfig, typename TSpec > inline typename Iterator<String<TValue, External<TConfig> > const, Tag<TSpec> const>::Type begin(String<TValue, External<TConfig> > const &me, Tag<TSpec> const);        // "projects/library/seqan/file/string_external.h"(1840)
+template <typename TValue > inline TValue* begin(SimpleBuffer<TValue> &pf, Standard);          // "projects/library/seqan/file/file_page.h"(134)
+template <typename TValue > inline TValue const * begin(SimpleBuffer<TValue> const &pf, Standard);             // "projects/library/seqan/file/file_page.h"(139)
+
+//____________________________________________________________________________
+// cancel
+
+template <typename TSpec, typename aRequest > inline bool cancel(File<TSpec> &, aRequest &);           // "projects/library/seqan/file/file_base.h"(675)
+template <typename TValue, typename TFile, typename TSpec > inline bool cancel(PageFrame<TValue, TFile, TSpec> &pf, TFile &file);              // "projects/library/seqan/file/file_page.h"(427)
+
+//____________________________________________________________________________
+// clear
+
+template <typename TValue, typename TConfig > inline void clear(String<TValue, External<TConfig> > &me);               // "projects/library/seqan/file/string_external.h"(1710)
+
+//____________________________________________________________________________
+// close
+
+inline bool close(FILE* me);           // "projects/library/seqan/file/file_cstyle.h"(103)
+template <typename TValue, typename TConfig > inline bool close(String<TValue, External<TConfig> > &me);               // "projects/library/seqan/file/string_external.h"(1795)
+template <typename TSpec > inline bool close(File<TSpec> & me);        // "projects/library/seqan/file/file_base.h"(261)
+template <__int64 _FileSize, typename TFile > inline bool close(File< Chained<_FileSize, TFile> > &me);        // "projects/library/seqan/file/file_array.h"(315)
+template <unsigned _FileCount, typename TFile > inline bool close(File< Striped<_FileCount, TFile> > &me);             // "projects/library/seqan/file/file_array.h"(322)
+
+//____________________________________________________________________________
+// container
+
+template <typename TContainer> inline TContainer & container(Iter<TContainer, FileReaderIterator> & it);               // "projects/library/seqan/file/file_filereader.h"(573)
+template <typename TContainer> inline TContainer & container(Iter<TContainer, FileReaderIterator> const & it);         // "projects/library/seqan/file/file_filereader.h"(579)
+template <typename TExtString> inline TExtString & container(VectorIterator<TExtString> &it);          // "projects/library/seqan/file/string_external.h"(1629)
+template <typename TExtString> inline TExtString & container(VectorIterator<TExtString> const &it);            // "projects/library/seqan/file/string_external.h"(1631)
+template <typename TExtString> inline TExtString & container(VectorConstIterator<TExtString> &it);             // "projects/library/seqan/file/string_external.h"(1634)
+template <typename TExtString> inline TExtString & container(VectorConstIterator<TExtString> const &it);               // "projects/library/seqan/file/string_external.h"(1636)
+template <typename TExtString> inline TExtString & container(VectorFwdIterator<TExtString> &it);               // "projects/library/seqan/file/string_external.h"(1639)
+template <typename TExtString> inline TExtString & container(VectorFwdIterator<TExtString> const &it);         // "projects/library/seqan/file/string_external.h"(1641)
+template <typename TExtString> inline TExtString & container(VectorFwdConstIterator<TExtString> &it);          // "projects/library/seqan/file/string_external.h"(1644)
+template <typename TExtString> inline TExtString & container(VectorFwdConstIterator<TExtString> const &it);            // "projects/library/seqan/file/string_external.h"(1646)
+
+//____________________________________________________________________________
+// deallocate
+
+template <__int64 _FileSize, typename TFile, typename TValue, typename TSize > inline void deallocate(File< Chained<_FileSize, TFile> > const &me, TValue* &data, TSize count);        // "projects/library/seqan/file/file_array.h"(345)
+template <unsigned _FileCount, typename TFile, typename TValue, typename TSize > inline void deallocate(File< Striped<_FileCount, TFile> > const &me, TValue* &data, TSize count);             // "projects/library/seqan/file/file_array.h"(355)
+
+//____________________________________________________________________________
+// enclosingBlocks
+
+template <typename T1, typename T2> inline T1 enclosingBlocks(T1 _size, T2 _blockSize);        // "projects/library/seqan/file/file_base.h"(683)
+
+//____________________________________________________________________________
+// end
+
+template <typename TValue, typename TFormat, typename TFile, typename TSpec, typename TIteratorSpec> inline typename Iterator< String<TValue, FileReader<TFormat, TFile, TSpec> >, TIteratorSpec >::Type end(String<TValue, FileReader<TFormat, TFile, TSpec> > & me, Tag<TIteratorSpec> const);               // "projects/library/seqan/file/file_filereader.h"(360)
+template <typename TValue, typename TFormat, typename TFile, typename TSpec, typename TIteratorSpec> inline typename Iterator< String<TValue, FileReader<TFormat, TFile, TSpec> > const, TIteratorSpec >::Type end(String<TValue, FileReader<TFormat, TFile, TSpec> > const & me, Tag<TIteratorSpec> const);           // "projects/library/seqan/file/file_filereader.h"(368)
+template <typename TValue, typename TConfig, typename TSpec > inline typename Iterator<String<TValue, External<TConfig> >, Tag<TSpec> const>::Type end(String<TValue, External<TConfig> > &me, Tag<TSpec> const);              // "projects/library/seqan/file/string_external.h"(1846)
+template <typename TValue, typename TConfig, typename TSpec > inline typename Iterator<String<TValue, External<TConfig> > const, Tag<TSpec> const>::Type end(String<TValue, External<TConfig> > const &me, Tag<TSpec> const);          // "projects/library/seqan/file/string_external.h"(1853)
+template <typename TValue > inline TValue * end(SimpleBuffer<TValue> &pf, Standard);           // "projects/library/seqan/file/file_page.h"(144)
+template <typename TValue > inline TValue const * end(SimpleBuffer<TValue> const &pf, Standard);               // "projects/library/seqan/file/file_page.h"(149)
+
+//____________________________________________________________________________
+// equiDistantAlignedDistribution
+
+template <typename TValue, typename TSize, typename T, class Function > inline unsigned equiDistantAlignedDistribution( SimpleBuffer<TValue> &_clusterBuffer, unsigned aligning, unsigned _bufferSize, T const &me, TSize _size, unsigned _pageSize, Function const &_Func);           // "projects/library/seqan/file/file_page.h"(934)
+
+//____________________________________________________________________________
+// equiDistantDistribution
+
+template <typename TValue, typename TSize, typename T, class Function > inline bool equiDistantDistribution( SimpleBuffer<TValue> &_clusterBuffer, unsigned _bufferSize, T const &me, TSize _size, unsigned _pageSize, Function const &_Func);         // "projects/library/seqan/file/file_page.h"(872)
+
+//____________________________________________________________________________
+// flush
+
+inline bool flush(FILE*);              // "projects/library/seqan/file/file_cstyle.h"(182)
+template <typename TValue, typename TConfig > inline void flush(String<TValue, External<TConfig> > &me);               // "projects/library/seqan/file/string_external.h"(1722)
+template <typename TSpec > inline void flush(File<TSpec> &);           // "projects/library/seqan/file/file_base.h"(631)
+
+//____________________________________________________________________________
+// formatID
+
+template <typename TFile, typename TData, typename TMeta, typename TFormat> inline void * formatID(FileFormat<TFile, TData, TMeta, TFormat> const & file_format);              // "projects/library/seqan/file/file_format.h"(171)
+
+//____________________________________________________________________________
+// freePage
+
+template <typename TValue, typename T > inline void freePage(SimpleBuffer<TValue> &pf, T const & me);          // "projects/library/seqan/file/file_page.h"(126)
+template <typename TValue, typename TFile, typename TSpec, typename T > inline void freePage(PageFrame<TValue, TFile, TSpec> &pf, T const & me);               // "projects/library/seqan/file/file_page.h"(344)
+
+//____________________________________________________________________________
+// getValue
+
+template <typename TContainer> inline typename GetValue<Iter<TContainer, FileReaderIterator> >::Type getValue(Iter<TContainer, FileReaderIterator> & it);              // "projects/library/seqan/file/file_filereader.h"(533)
+template <typename TContainer> inline typename GetValue<Iter<TContainer, FileReaderIterator> >::Type getValue(Iter<TContainer, FileReaderIterator> const & it);        // "projects/library/seqan/file/file_filereader.h"(544)
+template <typename TFile, typename TFormat, typename TFile2, typename TSpec> inline typename GetValue<Iter<TFile, FileReader<TFormat, TFile2, TSpec> > >::Type getValue(Iter<TFile, FileReader<TFormat, TFile2, TSpec> > & it);        // "projects/library/seqan/file/file_filereaderiterator.h"(120)
+
+//____________________________________________________________________________
+// goBegin
+
+template <typename TContainer> inline void goBegin(Iter<TContainer, FileReaderIterator> & it);         // "projects/library/seqan/file/file_filereader.h"(711)
+template <typename TFile, typename TFile2, typename TSpec> inline void goBegin(Iter<TFile, FileReader<Fasta, TFile2, TSpec> > & it, bool skip_meta);           // "projects/library/seqan/file/file_format_fasta.h"(45)
+template <typename TFile, typename TFile2, typename TSpec> inline void goBegin(Iter<TFile, FileReader<Fasta, TFile2, TSpec> > & it);           // "projects/library/seqan/file/file_format_fasta.h"(82)
+template <typename TFile, typename TFile2, typename TSpec> inline void goBegin(Iter<TFile, FileReader<Genbank, TFile2, TSpec> > & it, bool skip_meta );        // "projects/library/seqan/file/file_format_genbank.h"(46)
+template <typename TFile, typename TFile2, typename TSpec> inline void goBegin(Iter<TFile, FileReader<Embl, TFile2, TSpec> > & it, bool skip_meta );           // "projects/library/seqan/file/file_format_embl.h"(47)
+
+//____________________________________________________________________________
+// goEnd
+
+template <typename TContainer> inline void goEnd(Iter<TContainer, FileReaderIterator> & it);           // "projects/library/seqan/file/file_filereader.h"(733)
+
+//____________________________________________________________________________
+// goNext
+
+template <typename TFile> void goNext(TFile & file, CGViz);            // "projects/library/seqan/file/file_format_cgviz.h"(48)
+template <typename TFile> void goNext(TFile & file, Raw);              // "projects/library/seqan/file/file_format_raw.h"(247)
+template <typename TContainer> inline void goNext(Iter<TContainer, FileReaderIterator> & it);          // "projects/library/seqan/file/file_filereader.h"(645)
+template <typename TFile, typename TFile2, typename TSpec> inline void goNext(Iter<TFile, FileReader<Fasta, TFile2, TSpec> > & it);            // "projects/library/seqan/file/file_format_fasta.h"(90)
+template <typename TFile> void goNext(TFile & file, Fasta);            // "projects/library/seqan/file/file_format_fasta.h"(390)
+template <typename TFile, typename TFile2, typename TSpec> inline void goNext(Iter<TFile, FileReader<Genbank, TFile2, TSpec> > & it);          // "projects/library/seqan/file/file_format_genbank.h"(124)
+template <typename TFile> inline void goNext(TFile & file, Genbank);           // "projects/library/seqan/file/file_format_genbank.h"(254)
+template <typename TFile> void goNext(TFile & file, FastaAlign);               // "projects/library/seqan/file/file_format_fasta_align.h"(233)
+template <typename TFile, typename TData, typename TMeta, typename TFormat> inline void goNext(TFile & file, FileFormat<TFile, TData, TMeta, TFormat> const & file_format);            // "projects/library/seqan/file/file_format.h"(251)
+template <typename TFile, typename TFile2, typename TSpec> inline void goNext(Iter<TFile, FileReader<Embl, TFile2, TSpec> > & it);             // "projects/library/seqan/file/file_format_embl.h"(108)
+template <typename TFile> inline void goNext(TFile & file, Embl);              // "projects/library/seqan/file/file_format_embl.h"(427)
+
+//____________________________________________________________________________
+// goPrevious
+
+template <typename TContainer> inline void goPrevious(Iter<TContainer, FileReaderIterator> & it);              // "projects/library/seqan/file/file_filereader.h"(677)
+
+//____________________________________________________________________________
+// guessFileFormat
+
+template <typename TFile, typename TData, typename TMeta> inline FileFormat<TFile, TData, TMeta, void> & guessFileFormat(TFile & file, TData & data);          // "projects/library/seqan/file/file_format_guess.h"(52)
+
+//____________________________________________________________________________
+// host
+
+template <typename TFile, typename TFormat, typename TFile2, typename TSpec> inline TFile & host(Iter<TFile, FileReader<TFormat, TFile2, TSpec> > & it);               // "projects/library/seqan/file/file_filereaderiterator.h"(105)
+
+//____________________________________________________________________________
+// id
+
+template <typename TValue, typename TFormat, typename TFile, typename TSpec> inline void const * id(String<TValue, FileReader<TFormat, TFile, TSpec> > const & me);            // "projects/library/seqan/file/file_filereader.h"(301)
+template <typename TValue, typename TConfig > inline void const * id(String<TValue, External<TConfig> > const &me);            // "projects/library/seqan/file/string_external.h"(1958)
+
+//____________________________________________________________________________
+// iterator
+
+template <typename TValue, typename TFormat, typename TFile, typename TSpec, typename TPosition, typename TIteratorSpec> inline typename Iterator< String<TValue, FileReader<TFormat, TFile, TSpec> >, TIteratorSpec >::Type iterator(String<TValue, FileReader<TFormat, TFile, TSpec> > & me, TPosition pos, Tag<TIteratorSpec> const);               // "projects/library/seqan/file/file_filereader.h"(381)
+template <typename TValue, typename TFormat, typename TFile, typename TSpec, typename TPosition, typename TIteratorSpec> inline typename Iterator< String<TValue, FileReader<TFormat, TFile, TSpec> > const, TIteratorSpec >::Type iterator(String<TValue, FileReader<TFormat, TFile, TSpec> > const & me, TPosition pos, Tag<TIteratorSpec> const);           // "projects/library/seqan/file/file_filereader.h"(390)
+
+//____________________________________________________________________________
+// length
+
+template <typename TValue, typename TFormat, typename TFile, typename TSpec> inline typename Size< String<TValue, FileReader<TFormat, TFile, TSpec> > >::Type length(String<TValue, FileReader<TFormat, TFile, TSpec> > & me);         // "projects/library/seqan/file/file_filereader.h"(328)
+template <typename TValue, typename TConfig > inline typename Size< String<TValue, External<TConfig> > >::Type length(String<TValue, External<TConfig> > const &me);           // "projects/library/seqan/file/string_external.h"(1803)
+template <typename TValue > inline typename Size<SimpleBuffer<TValue> >::Type length(SimpleBuffer<TValue> const &me);          // "projects/library/seqan/file/file_page.h"(109)
+template <typename TValue, typename TFile, unsigned _PageSize > inline typename Size<PageFrame<TValue, TFile, Fixed<_PageSize> > >::Type length(PageFrame<TValue, TFile, Fixed<_PageSize> > const & );         // "projects/library/seqan/file/file_page.h"(286)
+template <__int64 _FileSize, typename TFile > inline unsigned length(File< Chained<_FileSize, TFile> > const &me);             // "projects/library/seqan/file/file_array.h"(284)
+template <unsigned _FileCount, typename TFile > inline unsigned length(File< Striped<_FileCount, TFile> > const &me);          // "projects/library/seqan/file/file_array.h"(289)
+template <typename TFile, typename TData, typename TMeta, typename TFormat> inline void length(TFile & file, FileFormat<TFile, TData, TMeta, TFormat> const & file_format);            // "projects/library/seqan/file/file_format.h"(267)
+
+//____________________________________________________________________________
+// open
+
+inline bool open(FILE* &me, const char *fileName, int openMode);               // "projects/library/seqan/file/file_cstyle.h"(89)
+inline bool open(FILE* &me, const char *fileName);             // "projects/library/seqan/file/file_cstyle.h"(94)
+template <typename TValue, typename TConfig > inline bool open(String<TValue, External<TConfig> > &me, const char *fileName, int openMode);            // "projects/library/seqan/file/string_external.h"(1734)
+template <typename TValue, typename TConfig > inline bool open(String<TValue, External<TConfig> > &me, const char *fileName);          // "projects/library/seqan/file/string_external.h"(1740)
+template <typename TValue, typename TConfig > inline bool open(String<TValue, External<TConfig> > &me, typename TConfig::TFile file);          // "projects/library/seqan/file/string_external.h"(1746)
+template <typename TSpec > inline bool open(File<TSpec> &me, const char *fileName, int openMode);              // "projects/library/seqan/file/file_base.h"(215)
+template <typename TSpec > inline bool open(File<TSpec> &me, const char *fileName);            // "projects/library/seqan/file/file_base.h"(220)
+template <__int64 _FileSize, typename TFile > inline bool open(File< Chained<_FileSize, TFile> > &me, const char *fileName, int openMode);             // "projects/library/seqan/file/file_array.h"(294)
+
+//____________________________________________________________________________
+// openTemp
+
+inline bool openTemp(FILE* &me);               // "projects/library/seqan/file/file_cstyle.h"(98)
+template <typename TValue, typename TConfig > inline bool openTemp(String<TValue, External<TConfig> > &me);            // "projects/library/seqan/file/string_external.h"(1758)
+template <typename TSpec > inline bool openTemp(File<TSpec> &me);              // "projects/library/seqan/file/file_base.h"(237)
+template <typename TSpec > inline bool openTemp(File<TSpec> &me, int openMode);        // "projects/library/seqan/file/file_base.h"(242)
+template <__int64 _FileSize, typename TFile > inline bool openTemp(File< Chained<_FileSize, TFile> > &me, int openMode);               // "projects/library/seqan/file/file_array.h"(303)
+template <unsigned _FileCount, typename TFile > inline bool openTemp(File< Striped<_FileCount, TFile> > &me, int openMode);            // "projects/library/seqan/file/file_array.h"(310)
+
+//____________________________________________________________________________
+// operator!=
+
+template <typename TContainer> inline bool operator!= (Iter<TContainer, FileReaderIterator> const & left, Iter<TContainer, FileReaderIterator> const & right);         // "projects/library/seqan/file/file_filereader.h"(791)
+template <typename TFileLeft, typename TDataLeft, typename TMetaLeft, typename TFormatLeft, typename TFileRight, typename TDataRight, typename TMetaRight, typename TFormatRight> inline bool operator!= (FileFormat<TFileLeft, TDataLeft, TMetaLeft, TFormatLeft> const & left, FileFormat<TFileRight, TDataRight, TMetaRight, TFormatRight> const & right);          // "projects/library/seqan/file/file_format.h"(348)
+template <typename TFile, typename TData, typename TMeta, typename TFormat, typename TFormat2> inline bool operator!= (FileFormat<TFile, TData, TMeta, TFormat> const & left, Tag<TFormat2> const);            // "projects/library/seqan/file/file_format.h"(357)
+template <typename TFile, typename TData, typename TMeta, typename TFormat, typename TFormat2> inline bool operator!= (Tag<TFormat2> const, FileFormat<TFile, TData, TMeta, TFormat> const & right);           // "projects/library/seqan/file/file_format.h"(366)
+
+//____________________________________________________________________________
+// operator+
+
+template <typename TContainer, typename TIntegral> inline Iter<TContainer, FileReaderIterator> operator+ (Iter<TContainer, FileReaderIterator> const & left, TIntegral right);         // "projects/library/seqan/file/file_filereader.h"(848)
+template <typename TContainer, typename TIntegral> inline Iter<TContainer, FileReaderIterator> operator+ (TIntegral left, Iter<TContainer, FileReaderIterator> const & right);         // "projects/library/seqan/file/file_filereader.h"(856)
+
+//____________________________________________________________________________
+// operator+=
+
+template <typename TContainer, typename TIntegral> inline Iter<TContainer, FileReaderIterator> & operator+= (Iter<TContainer, FileReaderIterator> & left, TIntegral right);            // "projects/library/seqan/file/file_filereader.h"(869)
+
+//____________________________________________________________________________
+// operator-
+
+template <typename TContainer, typename TIntegral> inline Iter<TContainer, FileReaderIterator> operator- (Iter<TContainer, FileReaderIterator> const & left, TIntegral right);         // "projects/library/seqan/file/file_filereader.h"(887)
+template <typename TContainer> inline typename Difference<Iter<TContainer, FileReaderIterator> >::Type operator- (Iter<TContainer, FileReaderIterator> const & left, Iter<TContainer, FileReaderIterator> const & right);              // "projects/library/seqan/file/file_filereader.h"(898)
+
+//____________________________________________________________________________
+// operator-=
+
+template <typename TContainer, typename TIntegral> inline Iter<TContainer, FileReaderIterator> & operator-= (Iter<TContainer, FileReaderIterator> & left, TIntegral right);            // "projects/library/seqan/file/file_filereader.h"(911)
+
+//____________________________________________________________________________
+// operator<
+
+template <typename TContainer> inline bool operator< (Iter<TContainer, FileReaderIterator> const & left, Iter<TContainer, FileReaderIterator> const & right);          // "projects/library/seqan/file/file_filereader.h"(804)
+
+//____________________________________________________________________________
+// operator<<
+
+template <typename TValue > ::std::ostream& operator<<(::std::ostream &out, const PageBucketExtended<TValue> &pb);             // "projects/library/seqan/file/file_page.h"(170)
+template <typename TValue, typename TFile, typename TSpec > ::std::ostream& operator<<(::std::ostream &out, const PageFrame<TValue, TFile, TSpec > &pf);               // "projects/library/seqan/file/file_page.h"(304)
+
+//____________________________________________________________________________
+// operator<=
+
+template <typename TContainer> inline bool operator<= (Iter<TContainer, FileReaderIterator> const & left, Iter<TContainer, FileReaderIterator> const & right);         // "projects/library/seqan/file/file_filereader.h"(826)
+
+//____________________________________________________________________________
+// operator==
+
+template <typename TContainer> inline bool operator== (Iter<TContainer, FileReaderIterator> const & left, Iter<TContainer, FileReaderIterator> const & right);         // "projects/library/seqan/file/file_filereader.h"(778)
+template <typename TFileLeft, typename TDataLeft, typename TMetaLeft, typename TFormatLeft, typename TFileRight, typename TDataRight, typename TMetaRight, typename TFormatRight> inline bool operator== (FileFormat<TFileLeft, TDataLeft, TMetaLeft, TFormatLeft> const & left, FileFormat<TFileRight, TDataRight, TMetaRight, TFormatRight> const & right);          // "projects/library/seqan/file/file_format.h"(319)
+template <typename TFile, typename TData, typename TMeta, typename TFormat, typename TFormat2> inline bool operator== (FileFormat<TFile, TData, TMeta, TFormat> const & left, Tag<TFormat2> const);            // "projects/library/seqan/file/file_format.h"(328)
+template <typename TFile, typename TData, typename TMeta, typename TFormat, typename TFormat2> inline bool operator== (Tag<TFormat2> const, FileFormat<TFile, TData, TMeta, TFormat> const & right);           // "projects/library/seqan/file/file_format.h"(337)
+
+//____________________________________________________________________________
+// operator>
+
+template <typename TContainer> inline bool operator> (Iter<TContainer, FileReaderIterator> const & left, Iter<TContainer, FileReaderIterator> const & right);          // "projects/library/seqan/file/file_filereader.h"(813)
+
+//____________________________________________________________________________
+// operator>=
+
+template <typename TContainer> inline bool operator>= (Iter<TContainer, FileReaderIterator> const & left, Iter<TContainer, FileReaderIterator> const & right);         // "projects/library/seqan/file/file_filereader.h"(835)
+
+//____________________________________________________________________________
+// pageSize
+
+template <typename TValue > inline typename Size<SimpleBuffer<TValue> >::Type pageSize(SimpleBuffer<TValue> &me);              // "projects/library/seqan/file/file_page.h"(92)
+template <typename TValue, typename TFile, unsigned _PageSize > inline typename Size<PageFrame<TValue, TFile, Fixed<_PageSize> > >::Type pageSize(PageFrame<TValue, TFile, Fixed<_PageSize> > & );             // "projects/library/seqan/file/file_page.h"(292)
+
+//____________________________________________________________________________
+// position
+
+template <typename TContainer> inline typename Position<Iter<TContainer, FileReaderIterator> >::Type position(Iter<TContainer, FileReaderIterator> const & it);        // "projects/library/seqan/file/file_filereader.h"(588)
+
+//____________________________________________________________________________
+// push_back
+
+template <typename TValue, typename TConfig > inline void push_back(String<TValue, External<TConfig> > &me, TValue const &_Val);               // "projects/library/seqan/file/string_external.h"(1877)
+
+//____________________________________________________________________________
+// read
+
+template <typename TFile, typename TData> void read(TFile & file, TData & data, Raw);          // "projects/library/seqan/file/file_format_raw.h"(191)
+template <typename TFile, typename TData, typename TSize> void read(TFile & file, TData & data, TSize limit, Raw);             // "projects/library/seqan/file/file_format_raw.h"(204)
+template <typename TFile, typename TData> void read(TFile & file, TData & data);               // "projects/library/seqan/file/file_format_raw.h"(307)
+template <typename TFile, typename TData, typename TSize> void read(TFile & file, TData & data, TSize limit);          // "projects/library/seqan/file/file_format_raw.h"(316)
+template <typename TValue, typename TSize > inline bool read(FILE* me, TValue *memPtr, TSize const count);             // "projects/library/seqan/file/file_cstyle.h"(127)
+template <typename TFile, typename TData, typename TSize> void read(TFile & file, TData & data, TSize limit, Fasta);           // "projects/library/seqan/file/file_format_fasta.h"(206)
+template <typename TFile, typename TData> void read(TFile & file, TData & data, Fasta tag);            // "projects/library/seqan/file/file_format_fasta.h"(306)
+template <typename TSpec, typename TValue, typename TSize > inline bool read(File<TSpec> & me, TValue *memPtr, TSize const count);             // "projects/library/seqan/file/file_base.h"(288)
+template <typename TFile, typename TData> inline void read(TFile & file, TData & data, Genbank);               // "projects/library/seqan/file/file_format_genbank.h"(170)
+template <typename TFile, typename TData, typename TSize> inline void read(TFile & file, TData & data, TSize limit, Genbank);          // "projects/library/seqan/file/file_format_genbank.h"(188)
+template <typename TFile, typename TSource, typename TSpec> void read(TFile & file, Align<TSource, TSpec> & align, FastaAlign);        // "projects/library/seqan/file/file_format_fasta_align.h"(72)
+template <typename TFile, typename TData, typename TMeta, typename TFormat> inline void read(TFile & file, TData & data, FileFormat<TFile, TData, TMeta, TFormat> const & file_format);        // "projects/library/seqan/file/file_format.h"(200)
+template <typename TFile, typename TData, typename TMeta, typename TFormat, typename TSize> inline void read(TFile & file, TData & data, TSize limit, FileFormat<TFile, TData, TMeta, TFormat> const & file_format);           // "projects/library/seqan/file/file_format.h"(211)
+template <typename TFile, typename TData> inline void read(TFile & file, TData & data, Embl);          // "projects/library/seqan/file/file_format_embl.h"(153)
+template <typename TFile, typename TData, typename TSize> inline void read(TFile & file, TData & data, TSize limit, Embl);             // "projects/library/seqan/file/file_format_embl.h"(171)
+
+//____________________________________________________________________________
+// readAt
+
+template <typename TValue, typename TSize, typename TPos > inline bool readAt(FILE* me, TValue *memPtr, TSize const count, TPos const fileOfs);        // "projects/library/seqan/file/file_cstyle.h"(145)
+template <typename TFile, typename TValue, typename TSize, typename TPos > inline bool readAt(TFile & me, TValue *memPtr, TSize const count, TPos const fileOfs);              // "projects/library/seqan/file/file_base.h"(324)
+template <__int64 _FileSize, typename TFile, typename TValue, typename TSize, typename TOffset > inline bool readAt(File< Chained<_FileSize, TFile> > &me, TValue *memPtr, TSize count, TOffset offset);               // "projects/library/seqan/file/file_array.h"(364)
+
+//____________________________________________________________________________
+// readBucket
+
+template <typename TValue, unsigned _FileCount, typename TFile > inline unsigned readBucket( PageBucket<TValue> &b, int pageNo, unsigned pageSize, unsigned dataSize, File< Striped<_FileCount, TFile> > &file);               // "projects/library/seqan/file/file_page_raid0.h"(134)
+template <typename TValue, typename TFile > inline unsigned readBucket(PageBucket<TValue> &b, int pageNo, unsigned pageSize, unsigned dataSize, TFile &file);          // "projects/library/seqan/file/file_page.h"(456)
+
+//____________________________________________________________________________
+// readFeature
+
+template <typename TData, typename TKey, typename TString> inline typename Position<TString>::Type readFeature(TString & str, typename Position<TString>::Type start_pos, TData & data, TKey key, Embl);               // "projects/library/seqan/file/file_format_embl.h"(372)
+
+//____________________________________________________________________________
+// readID
+
+template <typename TFile, typename TString> void readID(TFile & , TString & id, Raw);          // "projects/library/seqan/file/file_format_raw.h"(219)
+template <typename TFile, typename TString> void readID(TFile & file, TString & id, Fasta);            // "projects/library/seqan/file/file_format_fasta.h"(324)
+
+//____________________________________________________________________________
+// readIDs
+
+template <typename TFile, typename TStringContainer> void readIDs(TFile& file, TStringContainer& ids, FastaAlign);             // "projects/library/seqan/file/file_format_fasta_align.h"(178)
+
+//____________________________________________________________________________
+// readLastPage
+
+template <typename TValue, unsigned _FileCount, typename TFile, typename TSpec, typename TSize > inline bool readLastPage( int pageNo, PageFrame<TValue, File< Striped<_FileCount, TFile> >, TSpec> &pf, File< Striped<_FileCount, TFile> > &file, TSize size);        // "projects/library/seqan/file/file_page_raid0.h"(84)
+template <typename TValue, typename TFile, typename TSpec, typename TSize> inline bool readLastPage(int pageNo, PageFrame<TValue, TFile, TSpec> &pf, TFile &file, TSize size);         // "projects/library/seqan/file/file_page.h"(381)
+
+//____________________________________________________________________________
+// readLineType
+
+template <typename TFile, typename TData, typename TKey> inline void readLineType(TFile & file, TData & data, TKey key, Embl);         // "projects/library/seqan/file/file_format_embl.h"(248)
+template <typename TData, typename TValue, typename TSpec, typename TKey> inline void readLineType(String<TValue,TSpec> & meta, TData & data, TKey key, Embl);         // "projects/library/seqan/file/file_format_embl.h"(305)
+
+//____________________________________________________________________________
+// readMeta
+
+template <typename TFile, typename TMeta> void readMeta(TFile & file, TMeta & meta, Raw);              // "projects/library/seqan/file/file_format_raw.h"(233)
+template <typename TFile, typename TMeta> void readMeta(TFile & file, TMeta & meta, Fasta);            // "projects/library/seqan/file/file_format_fasta.h"(376)
+template <typename TFile, typename TMeta> inline void readMeta(TFile & file, TMeta & meta, Genbank);           // "projects/library/seqan/file/file_format_genbank.h"(212)
+template <typename TFile, typename TMeta> void readMeta(TFile & file, TMeta & meta, FastaAlign);               // "projects/library/seqan/file/file_format_fasta_align.h"(223)
+template <typename TFile, typename TData, typename TMeta, typename TFormat> inline void readMeta(TFile & file, TMeta & meta, FileFormat<TFile, TData, TMeta, TFormat> const & file_format);            // "projects/library/seqan/file/file_format.h"(235)
+template <typename TFile, typename TMeta> inline void readMeta(TFile & file, TMeta & meta, Embl);              // "projects/library/seqan/file/file_format_embl.h"(194)
+
+//____________________________________________________________________________
+// readPage
+
+template <typename TValue, unsigned _FileCount, typename TFile, typename TSpec > inline bool readPage( int pageNo, PageFrame<TValue, File< Striped<_FileCount, TFile> >, TSpec> &pf, File< Striped<_FileCount, TFile> > &file);        // "projects/library/seqan/file/file_page_raid0.h"(40)
+template <typename TValue, typename TFile, typename TSpec > inline bool readPage(int pageNo, PageFrame<TValue, TFile, TSpec> &pf, TFile &file);        // "projects/library/seqan/file/file_page.h"(356)
+template <typename TValue, typename TFile, typename TSpec > inline bool readPage(PageFrame<TValue, TFile, Dynamic<TSpec> > &pf, TFile &file);          // "projects/library/seqan/file/file_page.h"(440)
+
+//____________________________________________________________________________
+// release
+
+template <typename aRequest > inline void release(FILE*, aRequest &);          // "projects/library/seqan/file/file_cstyle.h"(187)
+template <typename TSpec, typename aRequest > inline void release(File<TSpec> &, aRequest &);          // "projects/library/seqan/file/file_base.h"(659)
+
+//____________________________________________________________________________
+// reopen
+
+template <typename File > inline void reopen(File &, int);             // "projects/library/seqan/file/file_base.h"(247)
+
+//____________________________________________________________________________
+// replace
+
+template <typename TTargetValue, typename TTargetSpec, typename TSourceHost, typename TExpand> inline void replace(String<TTargetValue, TTargetSpec> & target, typename Size< String<TTargetValue, TTargetSpec> >::Type pos_begin, typename Size< String<TTargetValue, TTargetSpec> >::Type pos_end, _ChunkCollector<TSourceHost> const & source, Tag<TExpand> const tag);             // "projects/library/seqan/file/chunk_collector.h"(465)
+template <typename TTargetValue, typename TTargetSpec, typename TSourceHost, typename TExpand> inline void replace(String<TTargetValue, TTargetSpec> & target, typename Size< String<TTargetValue, TTargetSpec> >::Type pos_begin, typename Size< String<TTargetValue, TTargetSpec> >::Type pos_end, _ChunkCollector<TSourceHost> const & source, typename Size< String<TTargetValue, TTargetSpec> >::Type limit, Tag<TExpand> const tag);             // "projects/library/seqan/file/chunk_collector.h"(477)
+template <typename TTargetValue, typename TSourceHost, typename TExpand> inline void replace(TTargetValue * target, size_t pos_begin, size_t pos_end, _ChunkCollector<TSourceHost> const & source, Tag<TExpand> const tag);            // "projects/library/seqan/file/chunk_collector.h"(490)
+template <typename TTargetValue, typename TSourceHost, typename TExpand> inline void replace(TTargetValue * target, size_t pos_begin, size_t pos_end, _ChunkCollector<TSourceHost> const & source, size_t limit, Tag<TExpand> const tag);              // "projects/library/seqan/file/chunk_collector.h"(502)
+
+//____________________________________________________________________________
+// reserve
+
+template <typename TValue, typename TConfig, typename TSize, typename TExpand > inline typename Size< String<TValue, External<TConfig> > >::Type reserve( String<TValue, External<TConfig> > &me, TSize new_capacity, Tag<TExpand> const);             // "projects/library/seqan/file/string_external.h"(1826)
+
+//____________________________________________________________________________
+// resize
+
+template <typename TSize > inline void resize(FILE* me, TSize new_length);             // "projects/library/seqan/file/file_cstyle.h"(176)
+template <typename TValue, typename TConfig, typename TSize, typename TExpand > inline typename Size< String<TValue, External<TConfig> > >::Type resize( String<TValue, External<TConfig> > &me, TSize new_length, Tag<TExpand> const);        // "projects/library/seqan/file/string_external.h"(1814)
+template <typename TSpec, typename TSize > inline void resize(File<TSpec> &me, TSize new_length);              // "projects/library/seqan/file/file_base.h"(443)
+template <typename TValue, typename TSize > inline void resize(SimpleBuffer<TValue> &me, TSize size);          // "projects/library/seqan/file/file_page.h"(114)
+template <typename TValue, typename TFile, typename TSpec, typename TSize > inline void resize(PageFrame<TValue, TFile, Dynamic<TSpec> > &me, TSize size);             // "projects/library/seqan/file/file_page.h"(274)
+template <typename TValue, typename TFile, unsigned _PageSize, typename TSize > inline void resize(PageFrame<TValue, TFile, Fixed<_PageSize> > & , TSize );            // "projects/library/seqan/file/file_page.h"(297)
+template <__int64 _FileSize, typename TFile, typename TSize > inline void resize(File< Chained<_FileSize, TFile> > &me, TSize new_length);             // "projects/library/seqan/file/file_array.h"(335)
+
+//____________________________________________________________________________
+// rewind
+
+template <typename File > inline void rewind(File &me);        // "projects/library/seqan/file/file_base.h"(411)
+
+//____________________________________________________________________________
+// save
+
+template <typename TValue, typename TConfig > inline bool save(String<TValue, External<TConfig> > const &me, const char *fileName, int openMode);              // "projects/library/seqan/file/string_external.h"(1765)
+template <typename TValue, typename TConfig > inline bool save(String<TValue, External<TConfig> > const &me, const char *fileName);            // "projects/library/seqan/file/string_external.h"(1773)
+template <typename TValue, typename TConfig > inline bool save(String<TValue, External<TConfig> > const &me, typename TConfig::TFile file);            // "projects/library/seqan/file/string_external.h"(1781)
+
+//____________________________________________________________________________
+// sectorSize
+
+inline unsigned sectorSize(FILE* const &);             // "projects/library/seqan/file/file_cstyle.h"(108)
+template <typename TSpec > inline unsigned sectorSize(File<TSpec> const & );           // "projects/library/seqan/file/file_base.h"(266)
+
+//____________________________________________________________________________
+// seek
+
+template <typename TPos > inline Size<FILE*>::Type seek(FILE* me, TPos const fileOfs, int origin);             // "projects/library/seqan/file/file_cstyle.h"(113)
+template <typename TPos > inline Size<FILE*>::Type seek(FILE* me, TPos const fileOfs);         // "projects/library/seqan/file/file_cstyle.h"(118)
+template <typename TSpec, typename TPos > inline typename Position< File<TSpec> >::Type seek(File<TSpec> &me, TPos const fileOfs, int origin);         // "projects/library/seqan/file/file_base.h"(370)
+template <typename TSpec, typename TPos > inline typename Position< File<TSpec> >::Type seek(File<TSpec> &me, TPos const fileOfs);             // "projects/library/seqan/file/file_base.h"(382)
+
+//____________________________________________________________________________
+// setEOF
+
+template <typename TSpec > inline bool setEOF(File<TSpec> & );         // "projects/library/seqan/file/file_base.h"(460)
+
+//____________________________________________________________________________
+// setPageSize
+
+template <typename TValue, typename TSize > inline void setPageSize(SimpleBuffer<TValue> &me, TSize size);             // "projects/library/seqan/file/file_page.h"(97)
+
+//____________________________________________________________________________
+// setPosition
+
+template <typename TContainer, typename TPos> inline void setPosition(Iter<TContainer, FileReaderIterator> & it, TPos pos);            // "projects/library/seqan/file/file_filereader.h"(613)
+
+//____________________________________________________________________________
+// size
+
+inline Size<FILE*>::Type size(FILE* me);               // "projects/library/seqan/file/file_cstyle.h"(166)
+template <typename TSpec > inline typename Size<File<TSpec> >::Type size(File<TSpec> &me);             // "projects/library/seqan/file/file_base.h"(426)
+template <typename TValue > inline typename Size<SimpleBuffer<TValue> >::Type size(SimpleBuffer<TValue> const &me);            // "projects/library/seqan/file/file_page.h"(103)
+template <typename TValue, typename TFile, unsigned _PageSize > inline typename Size<PageFrame<TValue, TFile, Fixed<_PageSize> > >::Type size(PageFrame<TValue, TFile, Fixed<_PageSize> > & );         // "projects/library/seqan/file/file_page.h"(280)
+template <__int64 _FileSize, typename TFile > __int64 size(File< Chained<_FileSize, TFile> > &me);             // "projects/library/seqan/file/file_array.h"(325)
+template <unsigned _FileCount, typename TFile > __int64 size(File< Striped<_FileCount, TFile> > &me);          // "projects/library/seqan/file/file_array.h"(330)
+
+//____________________________________________________________________________
+// tell
+
+inline Size<FILE*>::Type tell(FILE* me);               // "projects/library/seqan/file/file_cstyle.h"(122)
+template <typename TSpec > inline typename Position< File<TSpec> >::Type tell(File<TSpec> &me);        // "projects/library/seqan/file/file_base.h"(396)
+
+//____________________________________________________________________________
+// value
+
+template <typename TValue, typename TFormat, typename TFile, typename TSpec, typename TPos> inline TValue value(String<TValue, FileReader<TFormat, TFile, TSpec> > & me, TPos pos);            // "projects/library/seqan/file/file_filereader.h"(312)
+template <typename TContainer> inline typename Reference<Iter<TContainer, FileReaderIterator> >::Type value(Iter<TContainer, FileReaderIterator> & it);        // "projects/library/seqan/file/file_filereader.h"(558)
+template <typename TContainer> inline typename Reference<Iter<TContainer, FileReaderIterator> >::Type value(Iter<TContainer, FileReaderIterator> const & it);          // "projects/library/seqan/file/file_filereader.h"(564)
+template <typename TValue, typename TConfig, typename TPos > inline typename Reference<String<TValue, External<TConfig> > >::Type value(String<TValue, External<TConfig> > &me, TPos pos);             // "projects/library/seqan/file/string_external.h"(1861)
+template <typename TValue, typename TConfig, typename TPos > inline typename Reference<String<TValue, External<TConfig> > const>::Type value(String<TValue, External<TConfig> > const &me, TPos pos);          // "projects/library/seqan/file/string_external.h"(1868)
+template <typename TFile, typename TFormat, typename TFile2, typename TSpec> inline typename Reference<Iter<TFile, FileReader<TFormat, TFile2, TSpec> > >::Type value(Iter<TFile, FileReader<TFormat, TFile2, TSpec> > & it);          // "projects/library/seqan/file/file_filereaderiterator.h"(113)
+
+//____________________________________________________________________________
+// waitFor
+
+inline bool waitFor(aDummyRequest &);          // "projects/library/seqan/file/file_base.h"(648)
+template <typename TTime > inline bool waitFor(aDummyRequest &, TTime);        // "projects/library/seqan/file/file_base.h"(653)
+template <typename TValue, typename TFile, typename TSpec > inline bool waitFor(PageFrame<TValue, TFile, TSpec> &pf);          // "projects/library/seqan/file/file_page.h"(407)
+template <typename TValue, typename TFile, typename TSpec, typename TTime > inline bool waitFor(PageFrame<TValue, TFile, TSpec> &pf, TTime timeOut);           // "projects/library/seqan/file/file_page.h"(417)
+
+//____________________________________________________________________________
+// write
+
+template <typename TFile, typename TSource, typename TSpec> void write(TFile & file, Align<TSource, TSpec>& align, CGViz);             // "projects/library/seqan/file/file_format_cgviz.h"(190)
+template <typename TFile, typename TStringContainer, typename TSource, typename TSpec> void write(TFile & file, Align<TSource, TSpec> & align, TStringContainer& ids, CGViz);          // "projects/library/seqan/file/file_format_cgviz.h"(198)
+template <typename TFile, typename TStringContainer, typename TSource, typename TSpec> void write(TFile & file, Align<TSource, TSpec>* align, TStringContainer & ids, CGViz);          // "projects/library/seqan/file/file_format_cgviz.h"(206)
+template <typename TFile, typename TStringContainer, typename TSource, typename TSpec, typename TMeta> void write(TFile & file, Align<TSource, TSpec> & align, TStringContainer& ids, TMeta &, CGViz);         // "projects/library/seqan/file/file_format_cgviz.h"(214)
+template <typename TFile, typename TString, typename TData> void write(TFile & file, TData const & data, Raw);         // "projects/library/seqan/file/file_format_raw.h"(266)
+template <typename TFile, typename TData, typename TString> void write(TFile & file, TData const & data, TString const &, Raw);        // "projects/library/seqan/file/file_format_raw.h"(279)
+template <typename TFile, typename TString, typename TData, typename TMeta> void write(TFile & file, TData const & data, TString const &, TMeta const &, Raw);         // "projects/library/seqan/file/file_format_raw.h"(293)
+template <typename TFile, typename TData> void write(TFile & file, TData & data);              // "projects/library/seqan/file/file_format_raw.h"(327)
+template <typename TFile, typename TData> void write(TFile & file, TData const & data);        // "projects/library/seqan/file/file_format_raw.h"(335)
+template <typename TValue, typename TSize > inline bool write(FILE* me, TValue const *memPtr, TSize const count);              // "projects/library/seqan/file/file_cstyle.h"(136)
+template <typename TFile, typename TString, typename TData, typename TMeta> void write(TFile & file, TData & data, Fasta);             // "projects/library/seqan/file/file_format_fasta.h"(468)
+template <typename TFile, typename TString, typename TData> void write(TFile & file, TData & data, TString & id, Fasta);               // "projects/library/seqan/file/file_format_fasta.h"(481)
+template <typename TFile, typename TString, typename TDataValue> void write(TFile & file, TDataValue * data, TString & id, Fasta);             // "projects/library/seqan/file/file_format_fasta.h"(494)
+template <typename TFile, typename TString, typename TData, typename TMeta> void write(TFile & file, TData & data, TString & id, TMeta &, Fasta);              // "projects/library/seqan/file/file_format_fasta.h"(509)
+template <typename TSpec, typename TValue, typename TSize > inline bool write(File<TSpec> & me, TValue const *memPtr, TSize const count);              // "projects/library/seqan/file/file_base.h"(306)
+template <typename TFile, typename TData> inline void write(TFile & file, TData & data, Genbank);              // "projects/library/seqan/file/file_format_genbank.h"(292)
+template <typename TFile, typename TData, typename TMeta> inline void write(TFile & file, TData & data, TMeta & meta, Genbank);        // "projects/library/seqan/file/file_format_genbank.h"(348)
+template <typename TFile, typename TSource, typename TSpec> void write(TFile & file, Align<TSource, TSpec>& align, FastaAlign);        // "projects/library/seqan/file/file_format_fasta_align.h"(284)
+template <typename TFile, typename TStringContainer, typename TSource, typename TSpec> void write(TFile & file, Align<TSource, TSpec> & align, TStringContainer& ids, FastaAlign);             // "projects/library/seqan/file/file_format_fasta_align.h"(292)
+template <typename TFile, typename TStringContainer, typename TSource, typename TSpec> void write(TFile & file, Align<TSource, TSpec>* align, TStringContainer & ids, FastaAlign);             // "projects/library/seqan/file/file_format_fasta_align.h"(300)
+template <typename TFile, typename TStringContainer, typename TSource, typename TSpec, typename TMeta> void write(TFile & file, Align<TSource, TSpec> & align, TStringContainer& ids, TMeta &, FastaAlign);            // "projects/library/seqan/file/file_format_fasta_align.h"(308)
+template <typename TFile, typename TData, typename TMeta, typename TFormat> inline void write(TFile & file, TData & data, FileFormat<TFile, TData, TMeta, TFormat> const & file_format);               // "projects/library/seqan/file/file_format.h"(293)
+template <typename TFile, typename TData, typename TMeta, typename TFormat> inline void write(TFile & file, TData & data, TMeta & meta, FileFormat<TFile, TData, TMeta, TFormat> const & file_format);         // "projects/library/seqan/file/file_format.h"(303)
+template <typename TFile, typename TData> inline void write(TFile & file, TData & data, Embl);         // "projects/library/seqan/file/file_format_embl.h"(465)
+template <typename TFile, typename TData, typename TMeta> inline void write(TFile & file, TData & data, TMeta & meta, Embl);           // "projects/library/seqan/file/file_format_embl.h"(531)
+
+//____________________________________________________________________________
+// writeAt
+
+template <typename TValue, typename TSize, typename TPos > inline bool writeAt(FILE* me, TValue const *memPtr, TSize const count, TPos const fileOfs);         // "projects/library/seqan/file/file_cstyle.h"(156)
+template <typename TFile, typename TValue, typename TSize, typename TPos > inline bool writeAt(TFile & me, TValue const *memPtr, TSize const count, TPos const fileOfs);               // "projects/library/seqan/file/file_base.h"(344)
+template <__int64 _FileSize, typename TFile, typename TValue, typename TSize, typename TOffset > inline bool writeAt(File< Chained<_FileSize, TFile> > &me, TValue const *memPtr, TSize count, TOffset offset);        // "projects/library/seqan/file/file_array.h"(378)
+
+//____________________________________________________________________________
+// writeBucket
+
+template <typename TValue, unsigned _FileCount, typename TFile > inline bool writeBucket( PageBucket<TValue> &b, int pageNo, unsigned pageSize, File< Striped<_FileCount, TFile> > &file);             // "projects/library/seqan/file/file_page_raid0.h"(158)
+template <typename TValue, unsigned _FileCount, typename TFile, typename TSpec > inline bool writeBucket( PageFrame<TValue, File< Striped<_FileCount, TFile> >, Dynamic<TSpec> > &pf, unsigned &pageOfs, File< Striped<_FileCount, TFile> > &file);            // "projects/library/seqan/file/file_page_raid0.h"(179)
+template <typename TValue, typename TFile > inline bool writeBucket(PageBucket<TValue> &b, int pageNo, unsigned pageSize, TFile &file);        // "projects/library/seqan/file/file_page.h"(474)
+template <typename TValue, typename TFile, typename TSpec > inline bool writeBucket(PageFrame<TValue, TFile, Dynamic<TSpec> > &pf, unsigned &pageOfs, TFile &file);            // "projects/library/seqan/file/file_page.h"(490)
+
+//____________________________________________________________________________
+// writeLastPage
+
+template <typename TValue, unsigned _FileCount, typename TFile, typename TSpec, typename TSize > inline bool writeLastPage( PageFrame<TValue, File< Striped<_FileCount, TFile> >, TSpec> &pf, int pageNo, File< Striped<_FileCount, TFile> > &file, TSize size);               // "projects/library/seqan/file/file_page_raid0.h"(106)
+template <typename TValue, typename TFile, typename TSpec, typename TSize > inline bool writeLastPage(PageFrame<TValue, TFile, TSpec> &pf, int pageNo, TFile &file, TSize size);               // "projects/library/seqan/file/file_page.h"(394)
+
+//____________________________________________________________________________
+// writePage
+
+template <typename TValue, unsigned _FileCount, typename TFile, typename TSpec > inline bool writePage( PageFrame<TValue, File< Striped<_FileCount, TFile> >, TSpec> &pf, int pageNo, File< Striped<_FileCount, TFile> > &file);               // "projects/library/seqan/file/file_page_raid0.h"(62)
+template <typename TValue, typename TFile, typename TSpec > inline bool writePage(PageFrame<TValue, TFile, TSpec> &pf, int pageNo, TFile &file);               // "projects/library/seqan/file/file_page.h"(369)
+template <typename TValue, typename TFile, typename TSpec > inline bool writePage(PageFrame<TValue, TFile, Dynamic<TSpec> > &pf, TFile &file);         // "projects/library/seqan/file/file_page.h"(448)
+
+} //namespace SEQAN_NAMESPACE_MAIN
+
+#endif
+
diff --git a/SeqAn-1.1/seqan/file/meta.h b/SeqAn-1.1/seqan/file/meta.h
new file mode 100644 (file)
index 0000000..c130fd4
--- /dev/null
@@ -0,0 +1,36 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de 
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: meta.h,v 1.1 2008/08/25 16:20:03 langmead Exp $
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_FILE_META_H
+#define SEQAN_HEADER_FILE_META_H
+
+
+
+namespace SEQAN_NAMESPACE_MAIN
+{
+//////////////////////////////////////////////////////////////////////////////
+
+
+
+//////////////////////////////////////////////////////////////////////////////
+
+} //namespace SEQAN_NAMESPACE_MAIN
+
+#endif //#ifndef SEQAN_HEADER_...
diff --git a/SeqAn-1.1/seqan/file/stream.h b/SeqAn-1.1/seqan/file/stream.h
new file mode 100644 (file)
index 0000000..62c10b5
--- /dev/null
@@ -0,0 +1,430 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de 
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: stream.h,v 1.1 2008/08/25 16:20:04 langmead Exp $
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_STREAM_H
+#define SEQAN_HEADER_STREAM_H
+
+#include <iosfwd>
+
+namespace SEQAN_NAMESPACE_MAIN
+{
+//////////////////////////////////////////////////////////////////////////////
+/**
+.Adaption."std::iostream":
+..summary:Standard library stream classes.
+*/
+
+//////////////////////////////////////////////////////////////////////////////
+       
+template <typename TValue, typename TTraits>
+struct Position< ::std::basic_ios<TValue, TTraits> >
+{
+       typedef typename ::std::basic_ios<TValue, TTraits>::pos_type Type;
+};
+template <typename TValue, typename TTraits>
+struct Position< ::std::basic_streambuf<TValue, TTraits> >
+{
+       typedef typename ::std::basic_streambuf<TValue, TTraits>::pos_type Type;
+};
+template <typename TValue, typename TTraits>
+struct Position< ::std::basic_istream<TValue, TTraits> >
+{
+       typedef typename ::std::basic_istream<TValue, TTraits>::pos_type Type;
+};
+template <typename TValue, typename TTraits>
+struct Position< ::std::basic_ostream<TValue, TTraits> >
+{
+       typedef typename ::std::basic_ostream<TValue, TTraits>::pos_type Type;
+};
+template <typename TValue, typename TTraits>
+struct Position< ::std::basic_iostream<TValue, TTraits> >
+{
+       typedef typename ::std::basic_iostream<TValue, TTraits>::pos_type Type;
+};
+template <typename TValue, typename TTraits>
+struct Position< ::std::basic_stringbuf<TValue, TTraits> >
+{
+       typedef typename ::std::basic_stringbuf<TValue, TTraits>::pos_type Type;
+};
+template <typename TValue, typename TTraits>
+struct Position< ::std::basic_istringstream<TValue, TTraits> >
+{
+       typedef typename ::std::basic_istringstream<TValue, TTraits>::pos_type Type;
+};
+template <typename TValue, typename TTraits>
+struct Position< ::std::basic_ostringstream<TValue, TTraits> >
+{
+       typedef typename ::std::basic_ostringstream<TValue, TTraits>::pos_type Type;
+};
+template <typename TValue, typename TTraits>
+struct Position< ::std::basic_stringstream<TValue, TTraits> >
+{
+       typedef typename ::std::basic_stringstream<TValue, TTraits>::pos_type Type;
+};
+template <typename TValue, typename TTraits>
+struct Position< ::std::basic_filebuf<TValue, TTraits> >
+{
+       typedef typename ::std::basic_filebuf<TValue, TTraits>::pos_type Type;
+};
+template <typename TValue, typename TTraits>
+struct Position< ::std::basic_ifstream<TValue, TTraits> >
+{
+       typedef typename ::std::basic_ifstream<TValue, TTraits>::pos_type Type;
+};
+template <typename TValue, typename TTraits>
+struct Position< ::std::basic_ofstream<TValue, TTraits> >
+{
+       typedef typename ::std::basic_ofstream<TValue, TTraits>::pos_type Type;
+};
+template <typename TValue, typename TTraits>
+struct Position< ::std::basic_fstream<TValue, TTraits> >
+{
+       typedef typename ::std::basic_fstream<TValue, TTraits>::pos_type Type;
+};
+
+//////////////////////////////////////////////////////////////////////////////
+       
+template <typename TValue, typename TTraits>
+struct Value< ::std::basic_ios<TValue, TTraits> >
+{
+       typedef typename ::std::basic_ios<TValue, TTraits>::char_type Type;
+};
+template <typename TValue, typename TTraits>
+struct Value< ::std::basic_streambuf<TValue, TTraits> >
+{
+       typedef typename ::std::basic_streambuf<TValue, TTraits>::char_type Type;
+};
+template <typename TValue, typename TTraits>
+struct Value< ::std::basic_istream<TValue, TTraits> >
+{
+       typedef typename ::std::basic_istream<TValue, TTraits>::char_type Type;
+};
+template <typename TValue, typename TTraits>
+struct Value< ::std::basic_ostream<TValue, TTraits> >
+{
+       typedef typename ::std::basic_ostream<TValue, TTraits>::char_type Type;
+};
+template <typename TValue, typename TTraits>
+struct Value< ::std::basic_iostream<TValue, TTraits> >
+{
+       typedef typename ::std::basic_iostream<TValue, TTraits>::char_type Type;
+};
+template <typename TValue, typename TTraits>
+struct Value< ::std::basic_stringbuf<TValue, TTraits> >
+{
+       typedef typename ::std::basic_stringbuf<TValue, TTraits>::char_type Type;
+};
+template <typename TValue, typename TTraits>
+struct Value< ::std::basic_istringstream<TValue, TTraits> >
+{
+       typedef typename ::std::basic_istringstream<TValue, TTraits>::char_type Type;
+};
+template <typename TValue, typename TTraits>
+struct Value< ::std::basic_ostringstream<TValue, TTraits> >
+{
+       typedef typename ::std::basic_ostringstream<TValue, TTraits>::char_type Type;
+};
+template <typename TValue, typename TTraits>
+struct Value< ::std::basic_stringstream<TValue, TTraits> >
+{
+       typedef typename ::std::basic_stringstream<TValue, TTraits>::char_type Type;
+};
+template <typename TValue, typename TTraits>
+struct Value< ::std::basic_filebuf<TValue, TTraits> >
+{
+       typedef typename ::std::basic_filebuf<TValue, TTraits>::char_type Type;
+};
+template <typename TValue, typename TTraits>
+struct Value< ::std::basic_ifstream<TValue, TTraits> >
+{
+       typedef typename ::std::basic_ifstream<TValue, TTraits>::char_type Type;
+};
+template <typename TValue, typename TTraits>
+struct Value< ::std::basic_ofstream<TValue, TTraits> >
+{
+       typedef typename ::std::basic_ofstream<TValue, TTraits>::char_type Type;
+};
+template <typename TValue, typename TTraits>
+struct Value< ::std::basic_fstream<TValue, TTraits> >
+{
+       typedef typename ::std::basic_fstream<TValue, TTraits>::char_type Type;
+};
+
+//////////////////////////////////////////////////////////////////////////////
+
+/**.interal._IsTellSeekStream:
+..summary:Determines whether stream supports tell and seek functions.
+..cat:Metafunction
+*/
+
+template <typename T>
+struct _IsTellSeekStream
+{
+       typedef False Type;
+};
+
+
+template <typename TValue, typename TTraits>
+struct _IsTellSeekStream< ::std::basic_ifstream<TValue, TTraits> >
+{
+       typedef True Type;
+};
+template <typename TValue, typename TTraits>
+struct _IsTellSeekStream< ::std::basic_fstream<TValue, TTraits> >
+{
+       typedef True Type;
+};
+
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Internal._streamEOF:
+..summary:Test stream for being in eof or error state.
+..cat:Streams
+..signature:_streamEOF(stream)
+..param.stream:A stream object.
+...type:Adaption."std::iostream"
+..returns:$true$, if stream is at end of file or was set to error state, $false$ otherwise.
+*/
+template <typename TValue, typename TTraits>
+inline bool 
+_streamEOF(::std::basic_ios<TValue, TTraits> const & me)
+{
+SEQAN_CHECKPOINT
+       return me.eof() || me.fail();
+}
+
+//////////////////////////////////////////////////////////////////////////////
+/**
+.Internal._streamRead:
+..summary:Read some characters from stream into a buffer.
+..cat:Streams
+..signature:_streamRead(target, stream, limit)
+..param.target:A buffer that is filled.
+..param.stream:An input stream.
+...type:Adaption."std::iostream"
+..param.limit:The maximal number of characters that is read from $stream$.
+..returns:The number of characters read from $stream$.
+*/
+template <typename TValue, typename TTraits>
+inline ::std::streamsize 
+_streamRead(TValue * target,
+                       ::std::basic_istream<TValue, TTraits> & source,
+                       ::std::streamsize limit)
+{
+SEQAN_CHECKPOINT
+       source.read(target, limit);
+       return source.gcount();
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Internal._streamGet:
+..summary:Read one character from stream.
+..cat:Streams
+..signature:_streamGet(stream)
+..param.stream:An input stream.
+...type:Adaption."std::iostream"
+..returns:The character read.
+*/
+
+template <typename TValue, typename TTraits>
+inline TValue 
+_streamGet(::std::basic_istream<TValue, TTraits> & source)
+{
+SEQAN_CHECKPOINT
+       return source.get();
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Internal._streamPeek:
+..summary:Return the next character to be read from stream.
+..cat:Streams
+..signature:_streamPeek(stream)
+..param.stream:An input stream.
+...type:Adaption."std::iostream"
+..returns:The character to be read.
+*/
+
+template <typename TValue, typename TTraits>
+inline TValue 
+_streamPeek(::std::basic_istream<TValue, TTraits> & source)
+{
+SEQAN_CHECKPOINT
+       return source.peek();
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Internal._streamUnget:
+..summary:Put the last read character back into stream.
+..cat:Streams
+..signature:_streamUnget(stream)
+..param.stream:An input stream.
+...type:Adaption."std::iostream"
+*/
+
+template <typename TValue, typename TTraits>
+inline void
+_streamUnget(::std::basic_istream<TValue, TTraits> & source)
+{
+SEQAN_CHECKPOINT
+       source.unget();
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Internal._streamPut:
+..summary:Writes one character to stream.
+..cat:Streams
+..signature:_streamPut(stream, character)
+..param.stream:An input stream.
+...type:Adaption."std::iostream"
+..param.character:A character that is written to $stream$.
+*/
+
+template <typename TValue, typename TTraits, typename TChar>
+inline void
+_streamPut(::std::basic_ostream<TValue, TTraits> & target,
+                  TChar character)
+{
+SEQAN_CHECKPOINT
+       target.put(convert<TValue>(character));
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Internal._streamTellG:
+..cat:Streams
+..summary:Gets current position of input stream.
+..signature:_streamTellG(stream)
+..param.stream:An input stream.
+...type:Adaption."std::iostream"
+..returns:The current position in $stream$.
+*/
+template <typename TValue, typename TTraits>
+inline typename Position< ::std::basic_istream<TValue, TTraits> >::Type
+_streamTellG(::std::basic_istream<TValue, TTraits> & me)
+{
+SEQAN_CHECKPOINT
+       return me.tellg();
+}
+
+//////////////////////////////////////////////////////////////////////////////
+/**
+.Internal._streamTellP:
+..cat:Streams
+..summary:Gets current position of output stream.
+..signature:_streamTellP(stream)
+..param.stream:An ouput stream.
+...type:Adaption."std::iostream"
+..returns:The current position in $stream$.
+..see:Internal._streamTellG
+*/
+template <typename TValue, typename TTraits>
+inline typename Position< ::std::basic_ostream<TValue, TTraits> >::Type
+_streamTellP(::std::basic_ostream<TValue, TTraits> & me)
+{
+SEQAN_CHECKPOINT
+       return me.tellp();
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Internal._streamSeekG:
+..summary:Moves input stream to a position.
+..cat:Streams
+..signature:_streamSeekG(stream, position)
+..param.stream:An input stream.
+...type:Adaption."std::iostream"
+..param.position:A position within the stream.
+...remarks:Use @Function._streamTellG@ to get valid stream positions.
+..see:Internal._streamTellG
+*/
+template <typename TValue, typename TTraits>
+inline void
+_streamSeekG(::std::basic_istream<TValue, TTraits> & me,
+        typename Position< ::std::basic_istream<TValue, TTraits> >::Type pos)
+{
+SEQAN_CHECKPOINT
+       me.clear();
+       me.seekg(pos);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Internal._streamSeekP:
+..summary:Moves output stream to a position.
+..cat:Streams
+..signature:_streamSeekP(stream, position)
+..param.stream:An output stream.
+...type:Adaption."std::iostream"
+..param.position:A position within the stream.
+...remarks:Use @Function._streamTellP@ to get valid stream positions.
+..see:Internal._streamTellP
+..see:Internal._streamSeekG
+*/
+template <typename TValue, typename TTraits>
+inline void
+_streamSeekP(::std::basic_ostream<TValue, TTraits> & me,
+        typename Position< ::std::basic_ostream<TValue, TTraits> >::Type pos)
+{
+SEQAN_CHECKPOINT
+       me.clear();
+       me.seekp(pos);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Internal._streamSeek2G:
+..summary:Moves input stream position relative to current position.
+..cat:Streams
+..signature:_streamSeek2G(stream, offset)
+..param.stream:An input stream.
+...type:Adaption."std::iostream"
+..param.offset:The amout the position is changed.
+...remarks:If this value is negative.
+..see:Internal._streamSeekG
+*/
+template <typename TValue, typename TTraits>
+inline void
+_streamSeek2G(::std::basic_istream<TValue, TTraits> & me,
+        int off)
+{
+SEQAN_CHECKPOINT
+       me.seekg(off, ::std::ios_base::cur);
+}
+
+
+//////////////////////////////////////////////////////////////////////////////
+
+} //namespace SEQAN_NAMESPACE_MAIN
+
+#endif //#ifndef SEQAN_HEADER_...
diff --git a/SeqAn-1.1/seqan/file/stream_algorithms.h b/SeqAn-1.1/seqan/file/stream_algorithms.h
new file mode 100644 (file)
index 0000000..6f5a188
--- /dev/null
@@ -0,0 +1,208 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de 
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: stream_algorithms.h,v 1.1 2008/08/25 16:20:04 langmead Exp $
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_STREAM_ALGORITHMS_H
+#define SEQAN_HEADER_STREAM_ALGORITHMS_H
+
+
+namespace SEQAN_NAMESPACE_MAIN
+{
+//////////////////////////////////////////////////////////////////////////////
+
+
+/**
+.Internal._streamPutInt:
+..summary:Converts an integer to a character and writes it to stream.
+..cat:Streams
+..signature:_streamPutInt(stream, number [, format_string])
+..param.target:An output stream.
+...type:Adaption."std::iostream"
+..param.number:A number that is written to $stream$.
+*/
+template <typename TStream>
+inline void
+_streamPutInt(TStream & target,
+                         int number, 
+                         char const * format_string)
+{
+SEQAN_CHECKPOINT
+       char str[BitsPerValue<int>::VALUE];
+       sprintf(str, format_string, number);
+       _streamWrite(target, str);
+}
+template <typename TStream>
+inline void
+_streamPutInt(TStream & target,
+                         int number)
+{
+SEQAN_CHECKPOINT
+       _streamPutInt(target, number, "%d");
+}
+
+/**
+.Internal._streamPutFloat:
+..summary:Converts a float to a character and writes it to stream.
+..cat:Streams
+..signature:_streamPutFloat(stream, number [, format_string])
+..param.target:An output stream.
+...type:Adaption."std::iostream"
+..param.number:A number that is written to $stream$.
+*/
+template <typename TStream>
+inline void
+_streamPutFloat(TStream & target,
+                         float number, 
+                         char const * format_string)
+{
+SEQAN_CHECKPOINT
+       char str[BitsPerValue<float>::VALUE];
+       sprintf(str, format_string, number);
+       _streamWrite(target, str);
+}
+template <typename TStream>
+inline void
+_streamPutFloat(TStream & target,
+                               float number)
+{
+SEQAN_CHECKPOINT
+       _streamPutFloat(target, number, "%f");
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TTarget, typename T1, typename T2, typename TCompression>
+inline void
+_streamWrite(TTarget & target,
+                        Pair<T1, T2, TCompression> const & source)
+{
+SEQAN_CHECKPOINT
+       _streamWrite(target, getValueI1(source));
+       _streamWrite(target, getValueI2(source));
+}
+
+template <typename TTarget, typename T1, typename T2, typename T3, typename TCompression>
+inline void
+_streamWrite(TTarget & target,
+                        Triple<T1, T2, T3, TCompression> const & source)
+{
+SEQAN_CHECKPOINT
+       _streamWrite(target, getValueI1(source));
+       _streamWrite(target, getValueI2(source));
+       _streamWrite(target, getValueI3(source));
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+
+
+/**
+.Internal._streamWrite:
+..summary:Writes a sequence to stream.
+..cat:Streams
+..signature:_streamWrite(stream, sequence)
+..param.stream:An input stream.
+..param.sequence:A sequence that is written to $stream$.
+*/
+
+template <typename TTarget, typename TSource>
+inline void
+_streamWrite(TTarget & target,
+                        TSource const & source)
+{
+SEQAN_CHECKPOINT
+       _streamWriteSeq(target, source, typename IsSequence<TSource const>::Type());
+}
+
+//____________________________________________________________________________
+
+template <typename TTarget, typename TSource>
+inline void
+_streamWriteSeq(TTarget & target,
+                               TSource const & source,
+                               False const)
+{
+       _streamPut(target, source);
+}
+
+//____________________________________________________________________________
+
+template <typename TTarget, typename TSource>
+inline void
+_streamWriteSeq(TTarget & target,
+                               TSource const & source,
+                               True const)
+{
+SEQAN_CHECKPOINT
+       typename Iterator<TSource const, Standard>::Type it = begin(source, Standard());
+       typename Iterator<TSource const, Standard>::Type it_end = end(source, Standard());
+
+       for (; it < it_end; ++it)
+       {
+               typename GetValue<TSource const>::Type val_ = getValue(it);
+               _streamWrite(target, val_);
+       }
+}
+
+template <typename TTarget, typename TSourceValue>
+inline void
+_streamWriteSeq(TTarget & target,
+                           TSourceValue const * source,
+                               True const)
+{
+SEQAN_CHECKPOINT
+
+       for (; !atEnd(source); ++source)
+       {
+               _streamWrite(target, *source);
+       }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Internal._streamWriteRange:
+..summary:Writes a range to stream.
+..cat:Streams
+..signature:_streamWriteRange(stream, begin_iterator, end_iterator)
+..param.stream:An input stream.
+..param.sequence:A sequence that is written to $stream$.
+*/
+
+template <typename TTarget, typename TIterator>
+inline void
+_streamWriteRange(TTarget & target,
+                                 TIterator begin_,
+                                 TIterator end_)
+{
+SEQAN_CHECKPOINT
+       for (; begin_ != end_; ++begin_)
+       {
+               _streamPut(target, *begin_);
+       }
+}
+
+
+       
+
+//////////////////////////////////////////////////////////////////////////////
+
+} //namespace SEQAN_NAMESPACE_MAIN
+
+#endif //#ifndef SEQAN_HEADER_...
diff --git a/SeqAn-1.1/seqan/find.h b/SeqAn-1.1/seqan/find.h
new file mode 100644 (file)
index 0000000..fd50b22
--- /dev/null
@@ -0,0 +1,78 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: find.h,v 1.2 2009/03/13 14:44:34 langmead Exp $
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_FIND_H
+#define SEQAN_HEADER_FIND_H
+
+//____________________________________________________________________________
+// prerequisites
+
+#include <cmath>
+
+#include <deque>
+
+#include <seqan/sequence.h>
+//#include <seqan/score.h>
+//#include <seqan/graph_types.h>
+//#include <seqan/graph_algorithms.h>
+//#include <seqan/map.h>
+
+//____________________________________________________________________________
+
+#ifdef SEQAN_SWITCH_USE_FORWARDS
+#include <seqan/find/find_generated_forwards.h>
+#endif
+
+#include <seqan/find/find_base.h>
+
+//____________________________________________________________________________
+// exact pattern matching
+
+#include <seqan/find/find_horspool.h>
+//#include <seqan/find/find_shiftand.h>
+//#include <seqan/find/find_shiftor.h>
+//#include <seqan/find/find_bndm.h>
+//#include <seqan/find/find_quasar.h>
+
+//____________________________________________________________________________
+// exact pattern matching
+//#include <seqan/find/find_wild_shiftand.h>
+
+//____________________________________________________________________________
+//multiple pattern search
+
+//#include <seqan/find/find_ahocorasick.h>
+#include <seqan/find/find_multiple_shiftand.h>
+//#include <seqan/find/find_set_horspool.h>
+
+//#include <seqan/find/find_multi.h> //wegwerfen
+//#include <seqan/find/find_wumanber.h> //todo
+
+//____________________________________________________________________________
+// approximate pattern matching
+
+#include <seqan/find/find_score.h>
+//#include <seqan/find/find_myers_ukkonen.h>
+//#include <seqan/find/find_abndm.h>
+//#include <seqan/find/find_pex.h>
+
+//#include <seqan/find/find_bom.h>
+
+#endif //#ifndef SEQAN_HEADER_...
diff --git a/SeqAn-1.1/seqan/find/find_base.h b/SeqAn-1.1/seqan/find/find_base.h
new file mode 100644 (file)
index 0000000..5f7e206
--- /dev/null
@@ -0,0 +1,806 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de 
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: find_base.h,v 1.1 2008/08/25 16:20:07 langmead Exp $
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_FIND_BASE_H
+#define SEQAN_HEADER_FIND_BASE_H
+
+
+//////////////////////////////////////////////////////////////////////////////
+
+namespace SEQAN_NAMESPACE_MAIN
+{
+
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Metafunction.DefaultFinder:
+..cat:Searching
+..summary:Default @Class.Finder@ specialization type.
+..signature:DefaultFinder<THaystack>::Type
+..param.THaystack:The given haystack type.
+..returns:Is $void$ by default and @Tag.Index Find Algorithm.ESA_FIND_MLR@ if $THaystack$ is an @Class.Index@.
+*/
+       template < typename TObject >
+       struct DefaultFinder {
+               typedef void Type;
+       };
+
+/**
+.Metafunction.DefaultPattern:
+..cat:Searching
+..summary:Default @Class.Pattern@ specialization type.
+..signature:DefaultPattern<TNeedle>::Type
+..param.TNeedle:The given needle type.
+..returns:Is $void$ by default.
+*/
+       template < typename TObject >
+       struct DefaultPattern {
+               typedef void Type;
+       };
+
+/**
+.Metafunction.Haystack:
+..summary:Returns the haystack type of a @Class.Finder@ type.
+..cat:Searching
+..signature:Haystack<TFinder>::Type
+..param.TFinder:A @Class.Finder@ type.
+...type:Class.Finder
+..returns:The haystack type of $TFinder$, i.e. $THaystack$ for $Finder<THaystack, TSpec>$.
+*/
+
+       template <typename TFinder>
+       struct Haystack {
+               typedef typename Container<TFinder>::Type Type;
+       };
+
+/**
+.Metafunction.Needle:
+..summary:Returns the needle type of a @Class.Pattern@ type.
+..cat:Searching
+..signature:Needle<TPattern>::Type
+..param.TPattern:A @Class.Pattern@ type.
+...type:Class.Pattern
+..returns:The needle type of $TPattern$, i.e. $TNeedle$ for $Pattern<TNeedle, TSpec>$.
+*/
+
+       template <typename TPattern>
+       struct Needle {
+               typedef typename Host<TPattern>::Type Type;
+       };
+
+       template <typename THost, typename TSpec>
+       struct Needle<Segment<THost, TSpec> > {
+               typedef Segment<THost, TSpec> Type;
+       };
+
+       template <typename THost, typename TSpec>
+       struct Needle<Segment<THost, TSpec> const> {
+               typedef Segment<THost, TSpec> const Type;
+       };
+
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Class.Pattern:
+..summary:Holds the needle and preprocessing data (depends on algorithm).
+..cat:Searching
+..signature:Pattern<TNeedle[, TSpec]>
+..param.TNeedle:The needle type.
+...type:Class.String
+..param.TSpec:The online-algorithm to search with.
+...remarks:Leave empty for index-based pattern matching (see @Class.Index@).
+...default:The result of @Metafunction.DefaultPattern@
+..remarks:If $TNeedle$ is a set of strings, then $position(pattern)$ returns the index of the currently matching needle.
+*/
+
+template < typename TNeedle, typename TSpec = typename DefaultPattern<TNeedle>::Type >
+class Pattern;
+
+//default implementation
+template < typename TNeedle >
+class Pattern<TNeedle, void>
+{
+public:
+       typedef typename Position<TNeedle>::Type TNeedlePosition;
+
+       Holder<TNeedle> data_host;
+       TNeedlePosition data_begin_position;
+       TNeedlePosition data_end_position;
+
+       Pattern() {}
+
+       template <typename _TNeedle>
+       Pattern(_TNeedle & ndl):
+               data_host(ndl) {}
+
+       template <typename _TNeedle>
+       Pattern(_TNeedle const & ndl):
+               data_host(ndl) {}
+
+};
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TNeedle, typename TSpec>
+inline Holder<TNeedle> & 
+_dataHost(Pattern<TNeedle, TSpec> & me) 
+{ 
+       return me.data_host;
+}
+template <typename TNeedle, typename TSpec>
+inline Holder<TNeedle> & 
+_dataHost(Pattern<TNeedle, TSpec> const & me) 
+{
+       return const_cast<Holder<TNeedle> &>(me.data_host);
+}
+
+//host access: see basic_host.h
+
+
+//???TODO: Diese Funktion entfernen! (sobald setHost bei anderen pattern nicht mehr eine Art "assignHost" ist)
+template <typename TNeedle, typename TSpec, typename TNeedle2>
+inline void 
+setHost(Pattern<TNeedle, TSpec> & me,
+               TNeedle2 const & ndl) 
+{
+        me.data_host = ndl; //assign => Pattern haelt eine Kopie => doof!
+}
+template <typename TNeedle, typename TSpec, typename TNeedle2>
+inline void 
+setHost(Pattern<TNeedle, TSpec> & me,
+               TNeedle2 & ndl) 
+{ 
+        me.data_host = ndl; //assign => Pattern haelt eine Kopie => doof!
+}
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TNeedle, typename TSpec>
+inline typename Position<Pattern<TNeedle, TSpec> >::Type & 
+beginPosition(Pattern<TNeedle, TSpec> & me) 
+{
+       return me.data_begin_position;
+}
+template <typename TNeedle, typename TSpec>
+inline typename Position<Pattern<TNeedle, TSpec> const >::Type & 
+beginPosition(Pattern<TNeedle, TSpec> const & me) 
+{
+       return me.data_begin_position;
+}
+
+
+template <typename TNeedle, typename TSpec, typename TPosition>
+inline void
+setBeginPosition(Pattern<TNeedle, TSpec> & me, 
+                                TPosition _pos) 
+{
+       me.data_begin_position = _pos;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TNeedle, typename TSpec>
+inline typename Position<Pattern<TNeedle, TSpec> >::Type & 
+endPosition(Pattern<TNeedle, TSpec> & me) 
+{
+       return me.data_end_position;
+}
+template <typename TNeedle, typename TSpec>
+inline typename Position<Pattern<TNeedle, TSpec> const >::Type & 
+endPosition(Pattern<TNeedle, TSpec> const & me) 
+{
+       return me.data_end_position;
+}
+
+template <typename TNeedle, typename TSpec, typename TPosition>
+inline void
+setEndPosition(Pattern<TNeedle, TSpec> & me, 
+                          TPosition _pos) 
+{
+       me.data_end_position = _pos;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TNeedle, typename TSpec>
+inline typename Infix<TNeedle>::Type 
+segment(Pattern<TNeedle, TSpec> & me) 
+{
+       typedef typename Infix<TNeedle>::Type TInfix;
+       return TInfix(host(me), me.data_begin_position, me.data_end_position);
+}
+template <typename TNeedle, typename TSpec>
+inline typename Infix<TNeedle>::Type 
+segment(Pattern<TNeedle, TSpec> const & me) 
+{
+       typedef typename Infix<TNeedle>::Type TInfix;
+       return TInfix(host(me), me.data_begin_position, me.data_end_position);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+
+/**
+.Function.needle:
+..summary:Returns the needle of a @Class.Pattern@ object (not implemented for some online-algorithms).
+..cat:Searching
+..signature:needle(pattern)
+..param.pattern:The @Class.Pattern@ object to search with.
+...type:Class.Pattern
+..returns:The needle object to search for.
+..remarks:The result type is @Metafunction.Needle@$<TPattern>::Type$ for pattern of type $TPattern$.
+*/
+
+template < typename TObject >
+inline typename Needle<TObject>::Type &
+needle(TObject &obj) 
+{
+       return obj;
+}
+
+template < typename TObject >
+inline typename Needle<TObject const>::Type &
+needle(TObject const &obj) 
+{
+       return obj;
+}
+
+
+///.Function.position.param.iterator.type:Class.Pattern
+
+template < typename TNeedle, typename TSpec >
+inline typename Needle< Pattern<TNeedle, TSpec> >::Type &
+needle(Pattern<TNeedle, TSpec> & obj) 
+{
+       return host(obj);
+}
+
+template < typename TNeedle, typename TSpec >
+inline typename Needle< Pattern<TNeedle, TSpec> const>::Type &
+needle(Pattern<TNeedle, TSpec> const & obj) 
+{
+       return host(obj);
+}
+
+/**
+.Function.setNeedle:
+..summary:Sets the needle of a @Class.Pattern@ object and optionally induces preprocessing.
+..cat:Searching
+..signature:setNeedle(pattern, needle)
+..param.pattern:The @Class.Pattern@ object to search with.
+...type:Class.Pattern
+..param.needle:The needle object to search for.
+...type:Class.String
+*/
+
+       template < typename TNeedle, typename TSpec >
+       inline void
+       setNeedle(Pattern<TNeedle, TSpec> &obj, TNeedle const &ndl) {
+               setHost(obj, ndl);
+       }
+
+
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Function.find:
+..summary:Search for a @Class.Pattern@ in a @Class.Finder@ object.
+..cat:Searching
+..signature:find(finder, pattern)
+..signature:find(finder, pattern, k)
+..param.finder:The @Class.Finder@ object to search through.
+...remarks:For online-algorithm $patterns$, finder can also be an arbitrary @Concept.Rooted Iterator@.
+...type:Class.Finder
+...type:Concept.Rooted Iterator
+..param.pattern:The @Class.Pattern@ object to search for.
+...remarks:For index $finders$, pattern can also be a Sequence.
+...type:Class.Pattern
+..param.k:Desired minimal score (for approximate matching).
+...remarks:$k$ has to be a number <= 0.
+...remarks:Differences are deletions, insertions and substitutions.
+..returns:$boolean$ that indicates whether an occurence of $pattern$ was found or not.
+..remarks:Repeated calls of this function iterate through all occurences of $pattern$.
+*/
+
+/**
+.Class.Finder:
+..summary:Holds the haystack and a current search context.
+..cat:Searching
+..signature:Finder<THaystack[, TSpec]>
+..param.THaystack:The haystack type.
+...type:Class.String
+...type:Class.Index
+..param.TSpec:The index-algorithm to search with (Optional).
+...default:The result of @Metafunction.DefaultFinder@
+...remarks:Leave empty for online pattern matching (see @Class.Pattern@).
+...remarks:If $THaystack$ is an @Class.Index@, then $TSpec$ specifies the index search algorithm.
+..remarks:$position(finder)$ returns the position of the current hit in the haystack.
+If $THaystack$ is a set of strings or an index of a set of strings, then $position(finder)$ returns a @Class.Pair@ $(hayNo, pos)$,
+in which $hayNo$ is the haystack index and $pos$ the local position of the hit.
+..remarks:Use $clear(finder)$ to reset a finder object and search from the beginning.
+*/
+
+///.Function.clear.param.object.type:Class.Finder
+///.Function.position.param.iterator.type:Class.Finder
+
+       template < typename THaystack, typename TSpec = typename DefaultFinder<THaystack>::Type >
+       class Finder
+       {
+               typedef typename Iterator<THaystack, Rooted>::Type TIterator;
+
+       public:
+               TIterator data_iterator;
+               bool _needReinit;                                       // if true, the Pattern needs to be reinitialized
+
+               Finder():
+                       _needReinit(true) {}
+
+               Finder(THaystack &haystack):
+                       data_iterator(begin(haystack, Rooted())),
+                       _needReinit(true) {}
+
+               Finder(TIterator &iter):
+                       data_iterator(iter),
+                       _needReinit(true) {}
+
+               Finder(TIterator const &iter):
+                       data_iterator(iter),
+                       _needReinit(true) {}
+
+               Finder(Finder const &orig):
+                       data_iterator(orig.data_iterator),
+                       _needReinit(orig._needReinit) {};
+
+//____________________________________________________________________________
+
+               inline typename Reference<TIterator>::Type 
+               operator* () 
+               {
+SEQAN_CHECKPOINT
+                       return value(hostIterator(*this));
+               }
+
+               inline typename Reference<TIterator const>::Type 
+               operator* () const
+               {
+SEQAN_CHECKPOINT
+                       return value(hostIterator(*this));
+               }
+
+//____________________________________________________________________________
+
+               operator TIterator () const
+               {
+SEQAN_CHECKPOINT
+                       return data_iterator;
+               }
+
+//____________________________________________________________________________
+
+       };
+
+
+
+//____________________________________________________________________________
+
+       template <typename THaystack, typename TSpec>
+       inline typename _Parameter<THaystack>::Type 
+       host(Finder<THaystack, TSpec> & me)
+       {
+SEQAN_CHECKPOINT
+               return container(hostIterator(me));
+       }
+
+       template <typename THaystack, typename TSpec>
+       inline typename _Parameter<THaystack>::Type 
+       host(Finder<THaystack, TSpec> const & me)
+       {
+SEQAN_CHECKPOINT
+               return container(hostIterator(me));
+       }
+
+       template <typename THaystack, typename TSpec>
+       inline typename _Parameter<THaystack>::Type 
+       container(Finder<THaystack, TSpec> & me)
+       {
+SEQAN_CHECKPOINT
+               return container(hostIterator(me));
+       }
+
+       template <typename THaystack, typename TSpec>
+       inline typename _Parameter<THaystack>::Type 
+       container(Finder<THaystack, TSpec> const & me)
+       {
+SEQAN_CHECKPOINT
+               return container(hostIterator(me));
+       }
+
+//____________________________________________________________________________
+
+       template <typename THaystack, typename TSpec>
+       inline void
+       setHost(Finder<THaystack, TSpec> & me, typename _Parameter<THaystack>::Type container_)
+       {
+SEQAN_CHECKPOINT
+               setContainer(hostIterator(me), container_);
+               goBegin(me);
+       }
+
+       template <typename THaystack, typename TSpec>
+       inline void
+       setContainer(Finder<THaystack, TSpec> & me, typename _Parameter<THaystack>::Type container_)
+       {
+SEQAN_CHECKPOINT
+               setContainer(hostIterator(me), container_);
+               goBegin(me);
+       }
+
+//____________________________________________________________________________
+
+       template <typename THaystack, typename TSpec>
+       inline typename Iterator<THaystack, Rooted>::Type &
+       hostIterator(Finder<THaystack, TSpec> & me)
+       {
+SEQAN_CHECKPOINT
+               return me.data_iterator;
+       }
+
+       template <typename THaystack, typename TSpec>
+       inline typename Iterator<THaystack, Rooted>::Type const &
+       hostIterator(Finder<THaystack, TSpec> const & me)
+       {
+SEQAN_CHECKPOINT
+               return me.data_iterator;
+       }
+
+//____________________________________________________________________________
+
+       template <typename THaystack, typename TSpec>
+       inline bool
+       empty(Finder<THaystack, TSpec> & me)
+       {
+SEQAN_CHECKPOINT
+               return me._needReinit;
+       }
+
+       template <typename THaystack, typename TSpec>
+       inline void
+       clear(Finder<THaystack, TSpec> & me)
+       {
+SEQAN_CHECKPOINT
+               me._needReinit = true;
+       }
+
+//____________________________________________________________________________
+
+       template <typename T>
+       inline void
+       _finderSetNonEmpty(T & me)
+       {
+SEQAN_CHECKPOINT
+               goBegin(me);
+       }
+
+
+       template <typename THaystack, typename TSpec>
+       inline void
+       _finderSetNonEmpty(Finder<THaystack, TSpec> & me)
+       {
+SEQAN_CHECKPOINT
+               me._needReinit = false;
+       }
+
+//____________________________________________________________________________
+
+       template <typename THaystack, typename TSpec>
+       inline bool
+       atBegin(Finder<THaystack, TSpec> & me)
+       {
+SEQAN_CHECKPOINT
+               return (!empty(me) && atBegin(hostIterator(me)));
+       }
+
+       template <typename THaystack, typename TSpec>
+       inline bool
+       atEnd(Finder<THaystack, TSpec> & me)
+       {
+SEQAN_CHECKPOINT
+               return (!empty(me) && atEnd(hostIterator(me)));
+       }
+
+//____________________________________________________________________________
+
+       template <typename THaystack, typename TSpec>
+       inline void
+       goBegin(Finder<THaystack, TSpec> & me)
+       {
+SEQAN_CHECKPOINT
+               //_finderSetNonEmpty(me);
+               goBegin(hostIterator(me));
+       }
+
+       template <typename THaystack, typename TSpec>
+       inline void
+       goEnd(Finder<THaystack, TSpec> & me)
+       {
+SEQAN_CHECKPOINT
+               //_finderSetNonEmpty(me);
+               goEnd(hostIterator(me));
+       }
+
+//____________________________________________________________________________
+
+       template <typename THaystack, typename TSpec>
+       inline typename Position<Finder<THaystack, TSpec> >::Type
+       position(Finder<THaystack, TSpec> & me)
+       {
+SEQAN_CHECKPOINT
+               if (empty(me)) return 0;
+               return position(hostIterator(me));
+       }
+
+       template <typename THaystack, typename TSpec>
+       inline typename Position<Finder<THaystack, TSpec> >::Type
+       position(Finder<THaystack, TSpec> const & me)
+       {
+SEQAN_CHECKPOINT
+               if (empty(me)) return 0;
+               return position(hostIterator(me));
+       }
+
+//____________________________________________________________________________
+/**
+.Function.setPosition:
+..cat:Searching
+..summary:Sets the position of a finder.
+..signature:setPosition(finder, pos)
+..param.finder:A finder.
+...class:Class.Finder
+..param.pos:A position.
+...metafunction:Metafunction.Position
+..see:Function.position
+*/
+
+       template <typename THaystack, typename TSpec, typename TPosition>
+       inline void 
+       setPosition(Finder<THaystack, TSpec> & me, TPosition pos_)
+       {
+SEQAN_CHECKPOINT
+               setPosition(hostIterator(me), pos_);
+       }
+
+//____________________________________________________________________________
+
+       template <typename THaystack, typename TSpec>
+       inline Finder<THaystack, TSpec> &
+       operator--(Finder<THaystack, TSpec> & me)
+       {
+SEQAN_CHECKPOINT
+               --hostIterator(me);
+               return me;
+       }
+
+       template <typename THaystack, typename TSpec>
+       inline Finder<THaystack, TSpec> &
+       operator++(Finder<THaystack, TSpec> & me)
+       {
+SEQAN_CHECKPOINT
+/*                     if (beforeBegin()) {
+                       goBegin(hostIterator(me));
+               } else*/
+                       ++hostIterator(me);
+               return me;
+       }
+
+//////////////////////////////////////////////////////////////////////////////
+// operator +
+//////////////////////////////////////////////////////////////////////////////
+
+       template <typename THaystack, typename TSpec, typename TIntegral>
+       inline Finder<THaystack, TSpec> const
+       operator + (Finder<THaystack, TSpec> const & left, TIntegral right)
+       {
+SEQAN_CHECKPOINT
+               return Finder<THaystack, TSpec>(hostIterator(left) + right);
+       }
+
+//////////////////////////////////////////////////////////////////////////////
+// operator +=
+//////////////////////////////////////////////////////////////////////////////
+
+       template <typename THaystack, typename TSpec, typename TIntegral>
+       inline Finder<THaystack, TSpec> &
+       operator += (Finder<THaystack, TSpec> & left,
+                                       TIntegral right)
+       {
+SEQAN_CHECKPOINT
+               hostIterator(left) += right;
+               return left;
+       }
+
+//////////////////////////////////////////////////////////////////////////////
+// operator -
+//////////////////////////////////////////////////////////////////////////////
+
+       template <typename THaystack, typename TSpec, typename TIntegral>
+       inline Finder<THaystack, TSpec> const
+       operator - (Finder<THaystack, TSpec> const & left, TIntegral right)
+       {
+SEQAN_CHECKPOINT
+               return Finder<THaystack, TSpec>(hostIterator(left) - right);
+       }
+
+       template <typename THaystack, typename TSpec, typename TIntegral>
+       inline typename Difference<Finder<THaystack, TSpec> const>::Type
+       operator - (Finder<THaystack, TSpec> const & left, Finder<THaystack, TSpec> const & right)
+       {
+SEQAN_CHECKPOINT
+               return hostIterator(left) - hostIterator(right);
+       }
+
+//////////////////////////////////////////////////////////////////////////////
+// operator -=
+//////////////////////////////////////////////////////////////////////////////
+
+       template <typename THaystack, typename TSpec, typename TIntegral>
+       inline Finder<THaystack, TSpec> &
+       operator -= (Finder<THaystack, TSpec> & left,
+                                       TIntegral right)
+       {
+SEQAN_CHECKPOINT
+               hostIterator(left) -= right;
+               return left;
+       }
+
+//____________________________________________________________________________
+
+
+/**
+.Function.setHaystack:
+..summary:Sets the haystack of a @Class.Finder@ object.
+..cat:Searching
+..signature:setHaystack(finder, haystack)
+..param.finder:The @Class.Finder@ object to search with.
+...type:Class.Finder
+..param.haystack:The haystack object the finder searches through.
+...type:Class.String
+*/
+
+       template < typename THaystack, typename TSpec >
+       inline void
+       setHaystack(Finder<THaystack, TSpec> &obj, THaystack const &hstk) {
+               setHost(obj, hstk);
+       }
+
+/**
+.Function.haystack:
+..summary:Returns the haystack of a @Class.Finder@ object.
+..cat:Searching
+..signature:haystack(finder)
+..param.finder:The @Class.Finder@ object to search through.
+...type:Class.Finder
+..returns:The haystack object.
+..remarks:The result type is @Metafunction.Haystack@$<TFinder>::Type$ for finder of type $TFinder$.
+*/
+
+       template < typename TObject >
+       inline typename Haystack<TObject>::Type &
+       haystack(TObject &obj) {
+               return container(obj);
+       }
+
+       template < typename TObject >
+       inline typename Haystack<TObject const>::Type &
+       haystack(TObject const &obj) {
+               return container(obj);
+       }
+
+
+//////////////////////////////////////////////////////////////////////////////
+
+
+       template <typename THaystack, typename TSpec>
+       struct Container< Finder<THaystack, TSpec> > {
+               typedef THaystack Type;
+       };
+
+       template <typename THaystack, typename TSpec>
+       struct Container< Finder<THaystack, TSpec> const> {
+               typedef THaystack const Type;
+       };
+
+       template <typename THaystack, typename TSpec>
+       struct Host< Finder<THaystack, TSpec> > {
+               typedef THaystack Type;
+       };
+
+       template <typename THaystack, typename TSpec>
+       struct Host< Finder<THaystack, TSpec> const> {
+               typedef THaystack const Type;
+       };
+
+
+       template <typename THaystack, typename TSpec>
+       struct Value< Finder<THaystack, TSpec> > {
+               typedef typename Value<THaystack>::Type Type;
+       };
+
+       template <typename THaystack, typename TSpec>
+       struct Position< Finder<THaystack, TSpec> >:
+               Position<THaystack> {};
+
+       template <typename THaystack, typename TSpec>
+       struct Difference< Finder<THaystack, TSpec> > {
+               typedef typename Difference<THaystack>::Type Type;
+       };
+
+       template <typename THaystack, typename TSpec>
+       struct Size< Finder<THaystack, TSpec> > {
+               typedef typename Size<THaystack>::Type Type;
+       };
+
+//____________________________________________________________________________
+
+
+       template <typename TNeedle, typename TSpec>
+       struct Container< Pattern<TNeedle, TSpec> > {
+               typedef TNeedle Type;
+       };
+
+       template <typename TNeedle, typename TSpec>
+       struct Container< Pattern<TNeedle, TSpec> const > {
+               typedef TNeedle const Type;
+       };
+
+       template <typename TNeedle, typename TSpec>
+       struct Host< Pattern<TNeedle, TSpec> > {
+               typedef TNeedle Type;
+       };
+
+       template <typename TNeedle, typename TSpec>
+       struct Host< Pattern<TNeedle, TSpec> const > {
+               typedef TNeedle const Type;
+       };
+
+
+       template <typename TPattern, typename TSpec>
+       struct Value< Pattern<TPattern, TSpec> > {
+               typedef typename Value<TPattern>::Type Type;
+       };
+
+       template <typename TPattern, typename TSpec>
+       struct Position< Pattern<TPattern, TSpec> > {
+               typedef typename Position<TPattern>::Type Type;
+       };
+
+       template <typename TPattern, typename TSpec>
+       struct Difference< Pattern<TPattern, TSpec> > {
+               typedef typename Difference<TPattern>::Type Type;
+       };
+
+       template <typename TPattern, typename TSpec>
+       struct Size< Pattern<TPattern, TSpec> > {
+               typedef typename Size<TPattern>::Type Type;
+       };
+
+
+//////////////////////////////////////////////////////////////////////////////
+
+}// namespace SEQAN_NAMESPACE_MAIN
+
+#endif //#ifndef SEQAN_HEADER_...
diff --git a/SeqAn-1.1/seqan/find/find_generated_forwards.h b/SeqAn-1.1/seqan/find/find_generated_forwards.h
new file mode 100644 (file)
index 0000000..e1709ee
--- /dev/null
@@ -0,0 +1,838 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_FIND_GENERATED_FORWARDS_H
+#define SEQAN_HEADER_FIND_GENERATED_FORWARDS_H
+
+//////////////////////////////////////////////////////////////////////////////
+// NOTE: This file is automatically generated by build_forwards.py
+//       Do not edit this file manually!
+//////////////////////////////////////////////////////////////////////////////
+
+
+//////////////////////////////////////////////////////////////////////////////
+// CLASSES
+//////////////////////////////////////////////////////////////////////////////
+
+namespace SEQAN_NAMESPACE_MAIN {
+
+//____________________________________________________________________________
+// AbndmAlgo
+
+struct AbndmAlgo;              // "projects/library/seqan/find/find_abndm.h"(76)
+
+//____________________________________________________________________________
+// AlignTextBanded
+
+struct AlignTextBanded;        // "projects/library/seqan/find/find_myers_ukkonen.h"(46)
+
+//____________________________________________________________________________
+// AlignTextGlobal
+
+struct AlignTextGlobal;        // "projects/library/seqan/find/find_myers_ukkonen.h"(45)
+
+//____________________________________________________________________________
+// AlignTextLocal
+
+struct AlignTextLocal;         // "projects/library/seqan/find/find_myers_ukkonen.h"(44)
+
+//____________________________________________________________________________
+// DPSearch
+
+template <typename TScore> struct DPSearch;            // "projects/library/seqan/find/find_score.h"(32)
+
+//____________________________________________________________________________
+// DefaultFinder
+
+template <typename TObject > struct DefaultFinder;             // "projects/library/seqan/find/find_base.h"(41)
+
+//____________________________________________________________________________
+// DefaultHash
+
+class DefaultHash;             // "projects/library/seqan/find/find_wumanber.h"(63)
+
+//____________________________________________________________________________
+// DefaultPattern
+
+template <typename TObject > struct DefaultPattern;            // "projects/library/seqan/find/find_base.h"(54)
+
+//____________________________________________________________________________
+// FileReader
+
+template <typename TFormat, typename TFile, typename TSpec> struct FileReader;         // "projects/library/seqan/find/find_horspool.h"(308)
+
+//____________________________________________________________________________
+// Finder
+
+template <typename THaystack, typename TSpec > class Finder;           // "projects/library/seqan/find/find_base.h"(343)
+
+//____________________________________________________________________________
+// Haystack
+
+template <typename TFinder> struct Haystack;           // "projects/library/seqan/find/find_base.h"(69)
+
+//____________________________________________________________________________
+// Hierarchical
+
+struct Hierarchical;           // "projects/library/seqan/find/find_pex.h"(30)
+
+//____________________________________________________________________________
+// Index
+
+template <typename TObject, typename TSpec > class Index;              // "projects/library/seqan/find/find_swift.h"(34)
+
+//____________________________________________________________________________
+// Needle
+
+template <typename TPattern> struct Needle;            // "projects/library/seqan/find/find_base.h"(84)
+
+//____________________________________________________________________________
+// NonHierarchical
+
+struct NonHierarchical;        // "projects/library/seqan/find/find_pex.h"(31)
+
+//____________________________________________________________________________
+// Pattern
+
+template <typename TNeedle, typename TSpec > class Pattern;            // "projects/library/seqan/find/find_base.h"(114)
+
+//____________________________________________________________________________
+// Pex
+
+template <typename TVerification, typename TMultiFinder > struct Pex;          // "projects/library/seqan/find/find_pex.h"(34)
+
+//____________________________________________________________________________
+// PexMultiFinder
+
+template <typename T> struct PexMultiFinder;           // "projects/library/seqan/find/find_pex.h"(53)
+
+//____________________________________________________________________________
+// Pipe
+
+//template <typename TInput, typename TSpec > struct Pipe;             // "projects/library/seqan/find/find_swift.h"(179)
+
+//____________________________________________________________________________
+// Swift
+
+template <typename TSpec > struct Swift;               // "projects/library/seqan/find/find_swift.h"(44)
+
+//____________________________________________________________________________
+// SwiftParameters
+
+struct SwiftParameters;        // "projects/library/seqan/find/find_swift.h"(65)
+
+//____________________________________________________________________________
+// WuManber
+
+template <typename THash > class WuManber;             // "projects/library/seqan/find/find_wumanber.h"(238)
+
+//____________________________________________________________________________
+// _AhoCorasick
+
+struct _AhoCorasick;           // "projects/library/seqan/find/find_ahocorasick.h"(46)
+
+//____________________________________________________________________________
+// _BndmAlgo
+
+struct _BndmAlgo;              // "projects/library/seqan/find/find_bndm.h"(44)
+
+//____________________________________________________________________________
+// _BomAlgo
+
+struct _BomAlgo;               // "projects/library/seqan/find/find_bom.h"(44)
+
+//____________________________________________________________________________
+// _Horspool
+
+struct _Horspool;              // "projects/library/seqan/find/find_horspool.h"(43)
+
+//____________________________________________________________________________
+// _MultipatternFinder
+
+struct _MultipatternFinder;            // "projects/library/seqan/find/find_multi.h"(29)
+
+//____________________________________________________________________________
+// _MultipleShiftAnd
+
+struct _MultipleShiftAnd;              // "projects/library/seqan/find/find_multiple_shiftand.h"(44)
+
+//____________________________________________________________________________
+// _MyersUkkonen
+
+template <typename TSpec> struct _MyersUkkonen;        // "projects/library/seqan/find/find_myers_ukkonen.h"(49)
+
+//____________________________________________________________________________
+// _MyersUkkonenHP0
+
+template <typename T> struct _MyersUkkonenHP0;         // "projects/library/seqan/find/find_myers_ukkonen.h"(62)
+
+//____________________________________________________________________________
+// _PexRange
+
+template <typename TPosition,typename TScore,typename TVerifier,typename TNeedle> struct _PexRange;            // "projects/library/seqan/find/find_pex.h"(64)
+
+//____________________________________________________________________________
+// _Quasar
+
+struct _Quasar;        // "projects/library/seqan/find/find_quasar.h"(33)
+
+//____________________________________________________________________________
+// _SetHorspool
+
+struct _SetHorspool;           // "projects/library/seqan/find/find_set_horspool.h"(44)
+
+//____________________________________________________________________________
+// _ShiftAnd
+
+struct _ShiftAnd;              // "projects/library/seqan/find/find_shiftand.h"(44)
+
+//____________________________________________________________________________
+// _ShiftOr
+
+struct _ShiftOr;               // "projects/library/seqan/find/find_shiftor.h"(44)
+
+//____________________________________________________________________________
+// _SwiftBucket
+
+template <typename TSpec, typename TSize, typename TShortSize > struct _SwiftBucket;           // "projects/library/seqan/find/find_swift.h"(79)
+
+//____________________________________________________________________________
+// _SwiftBucketParams
+
+template <typename TSpec, typename TSize, typename TShortSize > struct _SwiftBucketParams;             // "projects/library/seqan/find/find_swift.h"(98)
+
+//____________________________________________________________________________
+// _SwiftHit
+
+template <typename THstkPos> struct _SwiftHit;         // "projects/library/seqan/find/find_swift.h"(113)
+
+//____________________________________________________________________________
+// _SwiftLocal
+
+struct _SwiftLocal;            // "projects/library/seqan/find/find_swift.h"(36)
+
+//____________________________________________________________________________
+// _SwiftSemiGlobal
+
+struct _SwiftSemiGlobal;               // "projects/library/seqan/find/find_swift.h"(39)
+
+//____________________________________________________________________________
+// _WildShiftAnd
+
+struct _WildShiftAnd;          // "projects/library/seqan/find/find_wild_shiftand.h"(31)
+
+} //namespace SEQAN_NAMESPACE_MAIN
+
+
+//////////////////////////////////////////////////////////////////////////////
+// TYPEDEFS
+//////////////////////////////////////////////////////////////////////////////
+
+namespace SEQAN_NAMESPACE_MAIN {
+
+//____________________________________________________________________________
+// AhoCorasick
+
+typedef Tag<_AhoCorasick> AhoCorasick;         // "projects/library/seqan/find/find_ahocorasick.h"(47)
+
+//____________________________________________________________________________
+// BndmAlgo
+
+typedef Tag<_BndmAlgo> BndmAlgo;               // "projects/library/seqan/find/find_bndm.h"(45)
+
+//____________________________________________________________________________
+// BomAlgo
+
+typedef Tag<_BomAlgo> BomAlgo;         // "projects/library/seqan/find/find_bom.h"(45)
+
+//____________________________________________________________________________
+// Horspool
+
+typedef Tag<_Horspool> Horspool;               // "projects/library/seqan/find/find_horspool.h"(44)
+
+//____________________________________________________________________________
+// MultipatternFinder
+
+typedef Tag<_MultipatternFinder> MultipatternFinder;           // "projects/library/seqan/find/find_multi.h"(30)
+
+//____________________________________________________________________________
+// MultipleShiftAnd
+
+typedef Tag<_MultipleShiftAnd> MultipleShiftAnd;               // "projects/library/seqan/find/find_multiple_shiftand.h"(45)
+
+//____________________________________________________________________________
+// MyersUkkonen
+
+typedef Tag<_MyersUkkonen<AlignTextLocal> >  MyersUkkonen;             // "projects/library/seqan/find/find_myers_ukkonen.h"(51)
+
+//____________________________________________________________________________
+// MyersUkkonenBanded
+
+typedef Tag<_MyersUkkonen<AlignTextBanded> > MyersUkkonenBanded;               // "projects/library/seqan/find/find_myers_ukkonen.h"(53)
+
+//____________________________________________________________________________
+// MyersUkkonenGlobal
+
+typedef Tag<_MyersUkkonen<AlignTextGlobal> > MyersUkkonenGlobal;               // "projects/library/seqan/find/find_myers_ukkonen.h"(52)
+
+//____________________________________________________________________________
+// PexHierarchical
+
+typedef Pex<Hierarchical,AhoCorasick>   PexHierarchical;               // "projects/library/seqan/find/find_pex.h"(36)
+
+//____________________________________________________________________________
+// PexNonHierarchical
+
+typedef Pex<NonHierarchical,AhoCorasick>  PexNonHierarchical;          // "projects/library/seqan/find/find_pex.h"(37)
+
+//____________________________________________________________________________
+// Quasar
+
+typedef Tag<_Quasar> Quasar;           // "projects/library/seqan/find/find_quasar.h"(34)
+
+//____________________________________________________________________________
+// SetHorspool
+
+typedef Tag<_SetHorspool> SetHorspool;         // "projects/library/seqan/find/find_set_horspool.h"(45)
+
+//____________________________________________________________________________
+// ShiftAnd
+
+typedef Tag<_ShiftAnd> ShiftAnd;               // "projects/library/seqan/find/find_shiftand.h"(45)
+
+//____________________________________________________________________________
+// ShiftOr
+
+typedef Tag<_ShiftOr> ShiftOr;         // "projects/library/seqan/find/find_shiftor.h"(45)
+
+//____________________________________________________________________________
+// SwiftLocal
+
+typedef Tag<_SwiftLocal> SwiftLocal;           // "projects/library/seqan/find/find_swift.h"(37)
+
+//____________________________________________________________________________
+// SwiftSemiGlobal
+
+typedef Tag<_SwiftSemiGlobal> SwiftSemiGlobal;         // "projects/library/seqan/find/find_swift.h"(40)
+
+//____________________________________________________________________________
+// WildShiftAnd
+
+typedef Tag<_WildShiftAnd> WildShiftAnd;               // "projects/library/seqan/find/find_wild_shiftand.h"(32)
+
+} //namespace SEQAN_NAMESPACE_MAIN
+
+
+//////////////////////////////////////////////////////////////////////////////
+// FUNCTIONS
+//////////////////////////////////////////////////////////////////////////////
+
+namespace SEQAN_NAMESPACE_MAIN {
+
+//____________________________________________________________________________
+// _createAcTrie
+
+template <typename TNeedle> inline void _createAcTrie(Pattern<TNeedle, AhoCorasick> & me);             // "projects/library/seqan/find/find_ahocorasick.h"(120)
+
+//____________________________________________________________________________
+// _createTree
+
+template <typename TNeedle, typename TMultiFinder> void _createTree(Pattern<TNeedle, Pex<Hierarchical, TMultiFinder > > &me, unsigned start, unsigned end, unsigned k, unsigned parent, unsigned direction ,unsigned idx, unsigned plen);              // "projects/library/seqan/find/find_pex.h"(424)
+
+//____________________________________________________________________________
+// _dataHost
+
+template <typename TNeedle, typename TSpec> inline Holder<TNeedle> & _dataHost(Pattern<TNeedle, TSpec> & me);          // "projects/library/seqan/find/find_base.h"(143)
+template <typename TNeedle, typename TSpec> inline Holder<TNeedle> & _dataHost(Pattern<TNeedle, TSpec> const & me);            // "projects/library/seqan/find/find_base.h"(149)
+
+//____________________________________________________________________________
+// _findAbndm_LargeNeedle
+
+template <typename TFinder, typename TNeedle> inline bool _findAbndm_LargeNeedle(TFinder & finder, Pattern<TNeedle, AbndmAlgo> & me);          // "projects/library/seqan/find/find_abndm.h"(371)
+
+//____________________________________________________________________________
+// _findAbndm_SmallNeedle
+
+template <typename TFinder, typename TNeedle> inline bool _findAbndm_SmallNeedle(TFinder & finder, Pattern<TNeedle, AbndmAlgo> & me);          // "projects/library/seqan/find/find_abndm.h"(237)
+
+//____________________________________________________________________________
+// _findBndm_LargeNeedle
+
+template <typename TFinder, typename TNeedle> inline bool _findBndm_LargeNeedle(TFinder & finder, Pattern<TNeedle, BndmAlgo> & me);            // "projects/library/seqan/find/find_bndm.h"(184)
+
+//____________________________________________________________________________
+// _findBndm_SmallNeedle
+
+template <typename TFinder, typename TNeedle> inline bool _findBndm_SmallNeedle(TFinder & finder, Pattern<TNeedle, BndmAlgo> & me);            // "projects/library/seqan/find/find_bndm.h"(160)
+
+//____________________________________________________________________________
+// _findMyersLargePatterns
+
+template <typename TFinder, typename TNeedle, typename TSpec> inline bool _findMyersLargePatterns (TFinder & finder, Pattern<TNeedle, Tag<_MyersUkkonen<TSpec> > > & me);              // "projects/library/seqan/find/find_myers_ukkonen.h"(362)
+template <typename TFinder, typename TNeedle, typename TSpec> inline bool _findMyersLargePatterns( TFinder & finder, Pattern<TNeedle, Tag<_MyersUkkonen<AlignTextBanded> > > & me);            // "projects/library/seqan/find/find_myers_ukkonen.h"(505)
+
+//____________________________________________________________________________
+// _findMyersSmallPatterns
+
+template <typename TFinder, typename TNeedle, typename TSpec> inline bool _findMyersSmallPatterns (TFinder & finder, Pattern<TNeedle, Tag<_MyersUkkonen<TSpec> > > & me);              // "projects/library/seqan/find/find_myers_ukkonen.h"(457)
+template <typename TFinder, typename TNeedle> inline bool _findMyersSmallPatterns( TFinder & finder, Pattern<TNeedle, Tag<_MyersUkkonen<AlignTextBanded> > > & me);            // "projects/library/seqan/find/find_myers_ukkonen.h"(775)
+
+//____________________________________________________________________________
+// _findShiftAnd_LargeNeedle
+
+template <typename TFinder, typename TNeedle> inline bool _findShiftAnd_LargeNeedle(TFinder & finder, Pattern<TNeedle, ShiftAnd> & me);        // "projects/library/seqan/find/find_shiftand.h"(180)
+template <typename TFinder, typename TNeedle> bool _findShiftAnd_LargeNeedle(TFinder & finder, Pattern<TNeedle, MultipleShiftAnd> & me);               // "projects/library/seqan/find/find_multiple_shiftand.h"(313)
+template <typename TFinder, typename TNeedle> inline bool _findShiftAnd_LargeNeedle(TFinder & finder, Pattern<TNeedle, WildShiftAnd> & me);            // "projects/library/seqan/find/find_wild_shiftand.h"(590)
+
+//____________________________________________________________________________
+// _findShiftAnd_SmallNeedle
+
+template <typename TFinder, typename TNeedle> inline bool _findShiftAnd_SmallNeedle(TFinder & finder, Pattern<TNeedle, ShiftAnd> & me);        // "projects/library/seqan/find/find_shiftand.h"(160)
+template <typename TFinder, typename TNeedle> bool _findShiftAnd_SmallNeedle(TFinder & finder, Pattern<TNeedle, MultipleShiftAnd> & me);               // "projects/library/seqan/find/find_multiple_shiftand.h"(261)
+template <typename TFinder, typename TNeedle> inline bool _findShiftAnd_SmallNeedle(TFinder & finder, Pattern<TNeedle, WildShiftAnd> & me);            // "projects/library/seqan/find/find_wild_shiftand.h"(567)
+
+//____________________________________________________________________________
+// _findShiftOr_LargeNeedle
+
+template <typename TFinder, typename TNeedle> bool _findShiftOr_LargeNeedle(TFinder & finder, Pattern<TNeedle, ShiftOr> & me);         // "projects/library/seqan/find/find_shiftor.h"(212)
+
+//____________________________________________________________________________
+// _findShiftOr_SmallNeedle
+
+template <typename TFinder, typename TNeedle> bool _findShiftOr_SmallNeedle(TFinder & finder, Pattern<TNeedle, ShiftOr> & me);         // "projects/library/seqan/find/find_shiftor.h"(178)
+
+//____________________________________________________________________________
+// _find_score_simple_proportional
+
+template <typename TFinder, typename TNeedle, typename TScore> bool _find_score_simple_proportional(TFinder & finder, Pattern<TNeedle, DPSearch<TScore> > & me);               // "projects/library/seqan/find/find_score.h"(350)
+
+//____________________________________________________________________________
+// _finderSetNonEmpty
+
+template <typename T> inline void _finderSetNonEmpty(T & me);          // "projects/library/seqan/find/find_base.h"(494)
+template <typename THaystack, typename TSpec> inline void _finderSetNonEmpty(Finder<THaystack, TSpec> & me);           // "projects/library/seqan/find/find_base.h"(503)
+
+//____________________________________________________________________________
+// _getCharacterClass
+
+template <typename TValue,typename TNeedle2> String <unsigned> _getCharacterClass(TNeedle2 const & host,unsigned start,unsigned end);          // "projects/library/seqan/find/find_wild_shiftand.h"(261)
+
+//____________________________________________________________________________
+// _getRoot
+
+template <typename TNeedle, typename TMultiFinder> int _getRoot(Pattern<TNeedle, Pex<NonHierarchical, TMultiFinder > > & me);          // "projects/library/seqan/find/find_pex.h"(213)
+template <typename TNeedle, typename TMultiFinder> int _getRoot(Pattern<TNeedle, Pex<Hierarchical, TMultiFinder > > &);        // "projects/library/seqan/find/find_pex.h"(220)
+
+//____________________________________________________________________________
+// _isInt
+
+inline bool _isInt(String<char> const & number);               // "projects/library/seqan/find/find_wild_shiftand.h"(99)
+
+//____________________________________________________________________________
+// _length_wo_wild
+
+template <typename TNeedle> unsigned _length_wo_wild(TNeedle const & needle);          // "projects/library/seqan/find/find_wild_shiftand.h"(189)
+
+//____________________________________________________________________________
+// _myersCoreSmall
+
+template <typename TWord, typename TAlignSpec> inline int _myersCoreSmall(TWord &VP, TWord &VN, TWord const &bitmap, int scoreBit, Tag<_MyersUkkonen<TAlignSpec> >);           // "projects/library/seqan/find/find_myers_ukkonen.h"(743)
+
+//____________________________________________________________________________
+// _myersCoreSmallDiag
+
+template <typename TWord, typename TAlignSpec> inline int _myersCoreSmallDiag(TWord &VP, TWord &VN, TWord const &bitmap, int scoreBit, Tag<_MyersUkkonen<TAlignSpec> >);               // "projects/library/seqan/find/find_myers_ukkonen.h"(758)
+
+//____________________________________________________________________________
+// _patternFirstInit
+
+template <typename TNeedle, typename TSpec, typename TNeedle2> inline void _patternFirstInit(Pattern<TNeedle, Tag<_MyersUkkonen<TSpec> > > & me, TNeedle2 & needle);           // "projects/library/seqan/find/find_myers_ukkonen.h"(174)
+template <typename TNeedle, typename TNeedle2> inline void _patternFirstInit(Pattern<TNeedle, Tag<_MyersUkkonen<AlignTextBanded> > > & me, TNeedle2 & ndl);            // "projects/library/seqan/find/find_myers_ukkonen.h"(199)
+
+//____________________________________________________________________________
+// _patternInit
+
+template <typename TNeedle, typename TSpec, typename TFinder> void _patternInit(Pattern<TNeedle, Tag<_MyersUkkonen<TSpec> > > &me, TFinder &);         // "projects/library/seqan/find/find_myers_ukkonen.h"(284)
+template <typename TNeedle, typename TFinder> void _patternInit(Pattern<TNeedle, Tag<_MyersUkkonen<AlignTextBanded> > > &me, TFinder &finder);         // "projects/library/seqan/find/find_myers_ukkonen.h"(312)
+template <typename TIndex, typename TFloat, typename _TSize, typename TSpec> inline void _patternInit(Pattern<TIndex, Swift<TSpec> > &pattern, TFloat errorRate, _TSize minLengthForAll);              // "projects/library/seqan/find/find_swift.h"(333)
+template <typename TNeedle> inline void _patternInit (Pattern<TNeedle, Quasar> & me);          // "projects/library/seqan/find/find_quasar.h"(109)
+template <typename TNeedle, typename TFinder, typename TMultiFinder> void _patternInit(Pattern<TNeedle, Pex<NonHierarchical, TMultiFinder > > &me, TFinder &);         // "projects/library/seqan/find/find_pex.h"(266)
+template <typename TNeedle, typename TFinder, typename TMultiFinder> void _patternInit(Pattern<TNeedle, Pex<Hierarchical, TMultiFinder > > &me, TFinder &);            // "projects/library/seqan/find/find_pex.h"(479)
+template <typename TNeedle> inline void _patternInit (Pattern<TNeedle, ShiftAnd> & me);        // "projects/library/seqan/find/find_shiftand.h"(130)
+template <typename TNeedle> inline void _patternInit (Pattern<TNeedle, Horspool> &);           // "projects/library/seqan/find/find_horspool.h"(125)
+template <typename TNeedle, typename TScore> inline void _patternInit (Pattern<TNeedle, DPSearch<TScore> > & me);              // "projects/library/seqan/find/find_score.h"(299)
+template <typename TNeedle> inline void _patternInit (Pattern<TNeedle, MultipleShiftAnd> & me);        // "projects/library/seqan/find/find_multiple_shiftand.h"(218)
+template <typename TNeedle> inline void _patternInit (Pattern<TNeedle, BomAlgo> & me);         // "projects/library/seqan/find/find_bom.h"(129)
+template <typename TNeedle> inline void _patternInit (Pattern<TNeedle, ShiftOr> & me);         // "projects/library/seqan/find/find_shiftor.h"(129)
+template <typename TNeedle> inline void _patternInit (Pattern<TNeedle, WildShiftAnd> & me);            // "projects/library/seqan/find/find_wild_shiftand.h"(518)
+template <typename TNeedle> inline void _patternInit (Pattern<TNeedle, SetHorspool> & me);             // "projects/library/seqan/find/find_set_horspool.h"(175)
+template <typename TNeedle> inline void _patternInit (Pattern<TNeedle, BndmAlgo> & me);        // "projects/library/seqan/find/find_bndm.h"(131)
+template <typename TNeedle> inline void _patternInit (Pattern<TNeedle, AhoCorasick> & me);             // "projects/library/seqan/find/find_ahocorasick.h"(225)
+template <typename TNeedle> inline void _patternInit (Pattern<TNeedle, AbndmAlgo> & me);               // "projects/library/seqan/find/find_abndm.h"(196)
+
+//____________________________________________________________________________
+// _printMask
+
+inline void _printMask(String <unsigned> const & mask,String <char> name);             // "projects/library/seqan/find/find_abndm.h"(33)
+inline void _printMask(String <unsigned> const & mask,unsigned start, unsigned len,String <char> name);        // "projects/library/seqan/find/find_abndm.h"(46)
+
+//____________________________________________________________________________
+// _printR
+
+template <typename TNeedle> void _printR(Pattern<TNeedle, AbndmAlgo> & me);            // "projects/library/seqan/find/find_abndm.h"(127)
+
+//____________________________________________________________________________
+// _printSwiftBuckets
+
+template <typename TNeedle, typename TIndexSpec, typename TSpec > inline void _printSwiftBuckets(Pattern< Index<TNeedle, TIndexSpec>, Swift<TSpec> > &p);              // "projects/library/seqan/find/find_swift.h"(288)
+
+//____________________________________________________________________________
+// _printSwiftParams
+
+template <typename TParams> inline void _printSwiftParams(TParams &bucketParams);              // "projects/library/seqan/find/find_swift.h"(276)
+
+//____________________________________________________________________________
+// _swiftBucketNo
+
+template <typename TIndex, typename TSpec, typename TParams, typename TSize> inline unsigned _swiftBucketNo(Pattern<TIndex, Swift<TSpec> > const &, TParams &bucketParams, TSize seqNo);               // "projects/library/seqan/find/find_swift.h"(324)
+
+//____________________________________________________________________________
+// _swiftBucketParams
+
+template <typename TIndex, typename TSpec, typename TSize> inline typename Pattern<TIndex, Swift<TSpec> >::TBucketParams & _swiftBucketParams(Pattern<TIndex, Swift<TSpec> > & pattern, TSize seqNo);          // "projects/library/seqan/find/find_swift.h"(314)
+
+//____________________________________________________________________________
+// _swiftMultiFlushBuckets
+
+template <typename THaystack, typename TIndex, typename TSpec > inline bool _swiftMultiFlushBuckets( Finder<THaystack, Swift<TSpec> > &finder, Pattern<TIndex, Swift<TSpec> > &pattern);               // "projects/library/seqan/find/find_swift.h"(612)
+
+//____________________________________________________________________________
+// _swiftMultiProcessQGram
+
+template <typename THaystack, typename TIndex, typename TSpec, typename THValue > inline bool _swiftMultiProcessQGram( Finder<THaystack, Swift<TSpec> > &finder, Pattern<TIndex, Swift<TSpec> > &pattern, THValue hash);               // "projects/library/seqan/find/find_swift.h"(491)
+
+//____________________________________________________________________________
+// _validate
+
+template <typename TNeedle2> bool _validate(TNeedle2 const & needle);          // "projects/library/seqan/find/find_wild_shiftand.h"(111)
+
+//____________________________________________________________________________
+// atBegin
+
+template <typename THaystack, typename TSpec> inline bool atBegin(Finder<THaystack, TSpec> & me);              // "projects/library/seqan/find/find_base.h"(513)
+
+//____________________________________________________________________________
+// atEnd
+
+template <typename THaystack, typename TSpec> inline bool atEnd(Finder<THaystack, Swift<TSpec> > & me);        // "projects/library/seqan/find/find_swift.h"(218)
+template <typename THaystack, typename TSpec> inline bool atEnd(Finder<THaystack, TSpec> & me);        // "projects/library/seqan/find/find_base.h"(521)
+
+//____________________________________________________________________________
+// beginPosition
+
+template <typename THaystack, typename TSpec> inline typename Position<Finder<THaystack, Swift<TSpec> > >::Type beginPosition(Finder<THaystack, Swift<TSpec> > & finder);              // "projects/library/seqan/find/find_swift.h"(720)
+template <typename THaystack, typename TSpec> inline typename Position<Finder<THaystack, Swift<TSpec> > >::Type beginPosition(Finder<THaystack, Swift<TSpec> > const & finder);        // "projects/library/seqan/find/find_swift.h"(728)
+template <typename TNeedle, typename TSpec> inline typename Position<Pattern<TNeedle, TSpec> >::Type & beginPosition(Pattern<TNeedle, TSpec> & me);            // "projects/library/seqan/find/find_base.h"(176)
+template <typename TNeedle, typename TSpec> inline typename Position<Pattern<TNeedle, TSpec> const >::Type & beginPosition(Pattern<TNeedle, TSpec> const & me);        // "projects/library/seqan/find/find_base.h"(182)
+
+//____________________________________________________________________________
+// clear
+
+template <typename TNeedle, typename TIndexSpec, typename TSpec> inline void clear(Pattern<Index<TNeedle, TIndexSpec>, Swift<TSpec> > & me);           // "projects/library/seqan/find/find_swift.h"(692)
+template <typename THaystack, typename TSpec> inline void clear(Finder<THaystack, TSpec> & me);        // "projects/library/seqan/find/find_base.h"(484)
+
+//____________________________________________________________________________
+// container
+
+template <typename THaystack, typename TSpec> inline typename _Parameter<THaystack>::Type container(Finder<THaystack, TSpec> & me);            // "projects/library/seqan/find/find_base.h"(420)
+template <typename THaystack, typename TSpec> inline typename _Parameter<THaystack>::Type container(Finder<THaystack, TSpec> const & me);              // "projects/library/seqan/find/find_base.h"(428)
+
+//____________________________________________________________________________
+// empty
+
+template <typename TNeedle, typename TIndexSpec, typename TSpec> inline bool empty(Pattern<Index<TNeedle, TIndexSpec>, Swift<TSpec> > & me);           // "projects/library/seqan/find/find_swift.h"(685)
+template <typename THaystack, typename TSpec> inline bool empty(Finder<THaystack, TSpec> & me);        // "projects/library/seqan/find/find_base.h"(476)
+
+//____________________________________________________________________________
+// endPosition
+
+template <typename THaystack, typename TSpec> inline typename Position<Finder<THaystack, Swift<TSpec> > >::Type endPosition(Finder<THaystack, Swift<TSpec> > & finder);        // "projects/library/seqan/find/find_swift.h"(738)
+template <typename THaystack, typename TSpec> inline typename Position<Finder<THaystack, Swift<TSpec> > >::Type endPosition(Finder<THaystack, Swift<TSpec> > const & finder);          // "projects/library/seqan/find/find_swift.h"(746)
+template <typename TNeedle, typename TSpec> inline typename Position<Pattern<TNeedle, TSpec> >::Type & endPosition(Pattern<TNeedle, TSpec> & me);              // "projects/library/seqan/find/find_base.h"(200)
+template <typename TNeedle, typename TSpec> inline typename Position<Pattern<TNeedle, TSpec> const >::Type & endPosition(Pattern<TNeedle, TSpec> const & me);          // "projects/library/seqan/find/find_base.h"(206)
+
+//____________________________________________________________________________
+// find
+
+template <typename TFinder, typename TNeedle, typename TSpec> inline bool find (TFinder & finder, Pattern<TNeedle, Tag<_MyersUkkonen<TSpec> > > & me);         // "projects/library/seqan/find/find_myers_ukkonen.h"(961)
+template <typename TFinder, typename TNeedle, typename TSpec> inline bool find (TFinder & finder, Pattern<TNeedle, Tag<_MyersUkkonen<TSpec> > > & me, int const k);            // "projects/library/seqan/find/find_myers_ukkonen.h"(997)
+template <typename THaystack, typename TNeedle, typename TIndexSpec, typename TSpec> inline bool find( Finder<THaystack, Swift<TSpec> > &finder, Pattern<Index<TNeedle, TIndexSpec>, Swift<TSpec> > &pattern, double errorRate);               // "projects/library/seqan/find/find_swift.h"(799)
+//template <typename THashes, typename TPipeSpec, typename TNeedle, typename TIndexSpec, typename TSpec> inline bool find( Finder<Pipe<THashes, TPipeSpec>, Swift<TSpec> > &finder, Pattern<Index<TNeedle, TIndexSpec>, Swift<TSpec> > &pattern, double errorRate, bool printDots);            // "projects/library/seqan/find/find_swift.h"(843)
+template <typename TFinder, typename TNeedle> inline bool find(TFinder & finder, Pattern<TNeedle, Quasar> & me);               // "projects/library/seqan/find/find_quasar.h"(138)
+template <typename TFinder, typename TNeedle, typename TMultiFinder> inline bool find (TFinder & finder, Pattern<TNeedle, Pex<NonHierarchical, TMultiFinder > > & me);         // "projects/library/seqan/find/find_pex.h"(335)
+template <typename TFinder, typename TNeedle, typename TMultiFinder> inline bool find (TFinder & finder, Pattern<TNeedle, Pex<Hierarchical, TMultiFinder > > & me);            // "projects/library/seqan/find/find_pex.h"(520)
+template <typename TFinder, typename TNeedle> inline bool find(TFinder & finder, Pattern<TNeedle, ShiftAnd> & me);             // "projects/library/seqan/find/find_shiftand.h"(217)
+template <typename TFinder, typename TNeedle2> bool find(TFinder & finder, Pattern<TNeedle2, Horspool> & me);          // "projects/library/seqan/find/find_horspool.h"(448)
+template <typename TFinder, typename TNeedle, typename TScore> inline bool find(TFinder & finder, Pattern<TNeedle, DPSearch<TScore> > & me);           // "projects/library/seqan/find/find_score.h"(430)
+template <typename TFinder, typename TNeedle, typename TScore> inline bool find(TFinder & finder, Pattern<TNeedle, DPSearch<TScore> > & me, int const limit_);         // "projects/library/seqan/find/find_score.h"(440)
+template <typename TFinder, typename TNeedle> inline bool find(TFinder & finder, Pattern<TNeedle, MultipleShiftAnd> & me);             // "projects/library/seqan/find/find_multiple_shiftand.h"(386)
+template <typename TFinder, typename TNeedle> inline bool find(TFinder & finder, Pattern<TNeedle, BomAlgo> & me);              // "projects/library/seqan/find/find_bom.h"(159)
+template <typename TFinder, typename TNeedle> inline bool find(TFinder & finder, Pattern<TNeedle, ShiftOr> & me);              // "projects/library/seqan/find/find_shiftor.h"(248)
+template <typename TFinder, typename TNeedle> inline bool find(TFinder & finder, Pattern<TNeedle, WildShiftAnd> & me);         // "projects/library/seqan/find/find_wild_shiftand.h"(631)
+template <typename TFinder, typename TNeedle> inline bool find(TFinder & finder, Pattern<TNeedle, SetHorspool> & me);          // "projects/library/seqan/find/find_set_horspool.h"(213)
+template <typename TFinder, typename TNeedle> inline bool find(TFinder & finder, Pattern<TNeedle, BndmAlgo> & me);             // "projects/library/seqan/find/find_bndm.h"(229)
+template <typename TFinder, typename TNeedle> inline bool find(TFinder & finder, Pattern<TNeedle, AhoCorasick> & me);          // "projects/library/seqan/find/find_ahocorasick.h"(263)
+template <typename TFinder, typename TNeedle> inline bool find (TFinder & finder, Pattern<TNeedle, AbndmAlgo > & me);          // "projects/library/seqan/find/find_abndm.h"(575)
+template <typename TFinder, typename TNeedle> inline bool find (TFinder & finder, Pattern<TNeedle, AbndmAlgo > & me, int const k);             // "projects/library/seqan/find/find_abndm.h"(594)
+
+//____________________________________________________________________________
+// find_horspool
+
+template <typename TFinder, typename TNeedle2> bool find_horspool(TFinder & finder, Pattern<TNeedle2, Horspool> & me, bool find_first);        // "projects/library/seqan/find/find_horspool.h"(152)
+template <typename TValue, typename TFormat, typename TFile, typename FileReaderTSpec, typename TFinderSpec, typename TNeedle2> bool find_horspool(Finder<String<TValue, FileReader<TFormat, TFile, FileReaderTSpec> >, TFinderSpec > & finder, Pattern<TNeedle2, Horspool> & me, bool find_first);            // "projects/library/seqan/find/find_horspool.h"(315)
+
+//____________________________________________________________________________
+// getScore
+
+template <typename TNeedle, typename TSpec> int getScore(Pattern<TNeedle, Tag<_MyersUkkonen<TSpec> > > & me);          // "projects/library/seqan/find/find_myers_ukkonen.h"(271)
+template <typename TNeedle, typename TVerification, typename TMultiFinder> int getScore(Pattern<TNeedle, Pex<TVerification,TMultiFinder > > & me);             // "projects/library/seqan/find/find_pex.h"(230)
+template <typename TNeedle, typename TScore> inline typename Value<TScore>::Type getScore(Pattern<TNeedle, DPSearch<TScore> > & me);           // "projects/library/seqan/find/find_score.h"(290)
+template <typename TNeedle> int getScore(Pattern<TNeedle, AbndmAlgo > & me);           // "projects/library/seqan/find/find_abndm.h"(228)
+
+//____________________________________________________________________________
+// goBegin
+
+template <typename THaystack, typename TSpec> inline void goBegin(Finder<THaystack, TSpec> & me);              // "projects/library/seqan/find/find_base.h"(531)
+
+//____________________________________________________________________________
+// goEnd
+
+template <typename THaystack, typename TSpec> inline void goEnd(Finder<THaystack, Swift<TSpec> > & me);        // "projects/library/seqan/find/find_swift.h"(225)
+template <typename THaystack, typename TSpec> inline void goEnd(Finder<THaystack, TSpec> & me);        // "projects/library/seqan/find/find_base.h"(540)
+
+//____________________________________________________________________________
+// haystack
+
+template <typename TObject > inline typename Haystack<TObject>::Type & haystack(TObject &obj);         // "projects/library/seqan/find/find_base.h"(703)
+template <typename TObject > inline typename Haystack<TObject const>::Type & haystack(TObject const &obj);             // "projects/library/seqan/find/find_base.h"(709)
+
+//____________________________________________________________________________
+// host
+
+template <typename TNeedle, typename TSpec> inline typename Host<Pattern<TNeedle, Tag<_MyersUkkonen<TSpec> > > >::Type & host(Pattern<TNeedle, Tag<_MyersUkkonen<TSpec> > > & me);             // "projects/library/seqan/find/find_myers_ukkonen.h"(227)
+template <typename TNeedle, typename TSpec> inline typename Host<Pattern<TNeedle, Tag<_MyersUkkonen<TSpec> > > const>::Type & host(Pattern<TNeedle, Tag<_MyersUkkonen<TSpec> > > const & me);          // "projects/library/seqan/find/find_myers_ukkonen.h"(235)
+template <typename TNeedle> inline typename Host<Pattern<TNeedle, Quasar>const>::Type & host(Pattern<TNeedle, Quasar> & me);           // "projects/library/seqan/find/find_quasar.h"(119)
+template <typename TNeedle> inline typename Host<Pattern<TNeedle, Quasar>const>::Type & host(Pattern<TNeedle, Quasar> const & me);             // "projects/library/seqan/find/find_quasar.h"(127)
+template <typename TNeedle, typename TVerification, typename TMultiFinder> inline typename Host<Pattern<TNeedle, Pex<TVerification,TMultiFinder > > const>::Type & host(Pattern<TNeedle, Pex<TVerification,TMultiFinder > > & me);             // "projects/library/seqan/find/find_pex.h"(196)
+template <typename TNeedle, typename TVerification, typename TMultiFinder> inline typename Host<Pattern<TNeedle, Pex<TVerification,TMultiFinder > > const>::Type & host(Pattern<TNeedle, Pex<TVerification,TMultiFinder > > const & me);               // "projects/library/seqan/find/find_pex.h"(204)
+template <typename TNeedle> inline typename Host<Pattern<TNeedle, ShiftAnd>const>::Type & host(Pattern<TNeedle, ShiftAnd> & me);               // "projects/library/seqan/find/find_shiftand.h"(142)
+template <typename TNeedle> inline typename Host<Pattern<TNeedle, ShiftAnd>const>::Type & host(Pattern<TNeedle, ShiftAnd> const & me);         // "projects/library/seqan/find/find_shiftand.h"(150)
+template <typename TNeedle> inline typename Host<Pattern<TNeedle, Horspool> >::Type & host(Pattern<TNeedle, Horspool> & me);           // "projects/library/seqan/find/find_horspool.h"(132)
+template <typename TNeedle> inline typename Host<Pattern<TNeedle, Horspool> const>::Type & host(Pattern<TNeedle, Horspool> const & me);        // "projects/library/seqan/find/find_horspool.h"(140)
+template <typename THaystack, typename TSpec> inline typename _Parameter<THaystack>::Type host(Finder<THaystack, TSpec> & me);         // "projects/library/seqan/find/find_base.h"(404)
+template <typename THaystack, typename TSpec> inline typename _Parameter<THaystack>::Type host(Finder<THaystack, TSpec> const & me);           // "projects/library/seqan/find/find_base.h"(412)
+template <typename TNeedle, typename TScore> inline typename Host<Pattern<TNeedle, DPSearch<TScore> > >::Type & host(Pattern<TNeedle, DPSearch<TScore> > & me);        // "projects/library/seqan/find/find_score.h"(144)
+template <typename TNeedle, typename TScore> inline typename Host<Pattern<TNeedle, DPSearch<TScore> > const>::Type & host(Pattern<TNeedle, DPSearch<TScore> > const & me);             // "projects/library/seqan/find/find_score.h"(152)
+template <typename TNeedle> inline typename Host<Pattern<TNeedle, MultipleShiftAnd>const>::Type & host(Pattern<TNeedle, MultipleShiftAnd> & me);               // "projects/library/seqan/find/find_multiple_shiftand.h"(236)
+template <typename TNeedle> inline typename Host<Pattern<TNeedle, MultipleShiftAnd>const>::Type & host(Pattern<TNeedle, MultipleShiftAnd> const & me);         // "projects/library/seqan/find/find_multiple_shiftand.h"(244)
+template <typename TNeedle> inline typename Host<Pattern<TNeedle, BomAlgo>const>::Type & host(Pattern<TNeedle, BomAlgo> & me);         // "projects/library/seqan/find/find_bom.h"(140)
+template <typename TNeedle> inline typename Host<Pattern<TNeedle, BomAlgo>const>::Type & host(Pattern<TNeedle, BomAlgo> const & me);           // "projects/library/seqan/find/find_bom.h"(148)
+template <typename TNeedle> inline typename Host<Pattern<TNeedle, ShiftOr>const>::Type & host(Pattern<TNeedle, ShiftOr> & me);         // "projects/library/seqan/find/find_shiftor.h"(143)
+template <typename TNeedle> inline typename Host<Pattern<TNeedle, ShiftOr>const>::Type & host(Pattern<TNeedle, ShiftOr> const & me);           // "projects/library/seqan/find/find_shiftor.h"(151)
+template <typename TNeedle> inline typename Host<Pattern<TNeedle, WildShiftAnd>const>::Type & host(Pattern<TNeedle, WildShiftAnd> & me);               // "projects/library/seqan/find/find_wild_shiftand.h"(550)
+template <typename TNeedle> inline typename Host<Pattern<TNeedle, WildShiftAnd>const>::Type & host(Pattern<TNeedle, WildShiftAnd> const & me);         // "projects/library/seqan/find/find_wild_shiftand.h"(558)
+template <typename TNeedle> inline typename Host<Pattern<TNeedle, SetHorspool>const>::Type & host(Pattern<TNeedle, SetHorspool> & me);         // "projects/library/seqan/find/find_set_horspool.h"(188)
+template <typename TNeedle> inline typename Host<Pattern<TNeedle, SetHorspool>const>::Type & host(Pattern<TNeedle, SetHorspool> const & me);           // "projects/library/seqan/find/find_set_horspool.h"(196)
+template <typename TNeedle> inline typename Host<Pattern<TNeedle, BndmAlgo>const>::Type & host(Pattern<TNeedle, BndmAlgo> & me);               // "projects/library/seqan/find/find_bndm.h"(143)
+template <typename TNeedle> inline typename Host<Pattern<TNeedle, BndmAlgo>const>::Type & host(Pattern<TNeedle, BndmAlgo> const & me);         // "projects/library/seqan/find/find_bndm.h"(151)
+template <typename TNeedle> inline typename Host<Pattern<TNeedle, AhoCorasick>const>::Type & host(Pattern<TNeedle, AhoCorasick> & me);         // "projects/library/seqan/find/find_ahocorasick.h"(238)
+template <typename TNeedle> inline typename Host<Pattern<TNeedle, AhoCorasick>const>::Type & host(Pattern<TNeedle, AhoCorasick> const & me);           // "projects/library/seqan/find/find_ahocorasick.h"(246)
+template <typename TNeedle> inline typename Host<Pattern<TNeedle, AbndmAlgo>const>::Type & host(Pattern<TNeedle, AbndmAlgo> & me);             // "projects/library/seqan/find/find_abndm.h"(209)
+template <typename TNeedle> inline typename Host<Pattern<TNeedle, AbndmAlgo>const>::Type & host(Pattern<TNeedle, AbndmAlgo> const & me);               // "projects/library/seqan/find/find_abndm.h"(217)
+
+//____________________________________________________________________________
+// hostIterator
+
+template <typename THaystack, typename TSpec> inline typename Iterator<THaystack, Rooted>::Type & hostIterator(Finder<THaystack, TSpec> & me);         // "projects/library/seqan/find/find_base.h"(458)
+template <typename THaystack, typename TSpec> inline typename Iterator<THaystack, Rooted>::Type const & hostIterator(Finder<THaystack, TSpec> const & me);             // "projects/library/seqan/find/find_base.h"(466)
+
+//____________________________________________________________________________
+// needle
+
+template <typename TObject > inline typename Needle<TObject>::Type & needle(TObject &obj);             // "projects/library/seqan/find/find_base.h"(252)
+template <typename TObject > inline typename Needle<TObject const>::Type & needle(TObject const &obj);         // "projects/library/seqan/find/find_base.h"(259)
+template <typename TNeedle, typename TSpec > inline typename Needle< Pattern<TNeedle, TSpec> >::Type & needle(Pattern<TNeedle, TSpec> & obj);          // "projects/library/seqan/find/find_base.h"(269)
+template <typename TNeedle, typename TSpec > inline typename Needle< Pattern<TNeedle, TSpec> const>::Type & needle(Pattern<TNeedle, TSpec> const & obj);               // "projects/library/seqan/find/find_base.h"(276)
+
+//____________________________________________________________________________
+// operator+
+
+template <typename THaystack, typename TSpec, typename TIntegral> inline Finder<THaystack, TSpec> const operator+ (Finder<THaystack, TSpec> const & left, TIntegral right);            // "projects/library/seqan/find/find_base.h"(617)
+
+//____________________________________________________________________________
+// operator++
+
+template <typename THaystack, typename TSpec> inline Finder<THaystack, TSpec> & operator++(Finder<THaystack, TSpec> & me);             // "projects/library/seqan/find/find_base.h"(601)
+
+//____________________________________________________________________________
+// operator+=
+
+template <typename THaystack, typename TSpec, typename TIntegral> inline Finder<THaystack, TSpec> & operator+= (Finder<THaystack, TSpec> & left, TIntegral right);             // "projects/library/seqan/find/find_base.h"(630)
+
+//____________________________________________________________________________
+// operator-
+
+template <typename THaystack, typename TSpec, typename TIntegral> inline Finder<THaystack, TSpec> const operator- (Finder<THaystack, TSpec> const & left, TIntegral right);            // "projects/library/seqan/find/find_base.h"(643)
+template <typename THaystack, typename TSpec, typename TIntegral> inline typename Difference<Finder<THaystack, TSpec> const>::Type operator- (Finder<THaystack, TSpec> const & left, Finder<THaystack, TSpec> const & right);          // "projects/library/seqan/find/find_base.h"(651)
+
+//____________________________________________________________________________
+// operator--
+
+template <typename THaystack, typename TSpec> inline Finder<THaystack, TSpec> & operator--(Finder<THaystack, TSpec> & me);             // "projects/library/seqan/find/find_base.h"(592)
+
+//____________________________________________________________________________
+// operator-=
+
+template <typename THaystack, typename TSpec, typename TIntegral> inline Finder<THaystack, TSpec> & operator-= (Finder<THaystack, TSpec> & left, TIntegral right);             // "projects/library/seqan/find/find_base.h"(664)
+
+//____________________________________________________________________________
+// position
+
+template <typename THaystack, typename TSpec> inline typename Position<Finder<THaystack, Swift<TSpec> > >::Type position(Finder<THaystack, Swift<TSpec> > & finder);           // "projects/library/seqan/find/find_swift.h"(702)
+template <typename THaystack, typename TSpec> inline typename Position<Finder<THaystack, Swift<TSpec> > >::Type position(Finder<THaystack, Swift<TSpec> > const & finder);             // "projects/library/seqan/find/find_swift.h"(710)
+template <typename THaystack, typename TSpec> inline typename Position<Finder<THaystack, TSpec> >::Type position(Finder<THaystack, TSpec> & me);               // "projects/library/seqan/find/find_base.h"(551)
+template <typename THaystack, typename TSpec> inline typename Position<Finder<THaystack, TSpec> >::Type position(Finder<THaystack, TSpec> const & me);         // "projects/library/seqan/find/find_base.h"(560)
+template <typename TNeedle> inline typename Size<TNeedle>::Type position(Pattern<TNeedle, MultipleShiftAnd> & me);             // "projects/library/seqan/find/find_multiple_shiftand.h"(255)
+template <typename TNeedle> inline typename Size<TNeedle>::Type position(Pattern<TNeedle, SetHorspool> & me);          // "projects/library/seqan/find/find_set_horspool.h"(207)
+template <typename TNeedle> inline typename Size<TNeedle>::Type position(Pattern<TNeedle, AhoCorasick> & me);          // "projects/library/seqan/find/find_ahocorasick.h"(257)
+
+//____________________________________________________________________________
+// range
+
+template <typename THaystack, typename TSpec> inline typename Infix<THaystack>::Type range(Finder<THaystack, Swift<TSpec> > &finder);          // "projects/library/seqan/find/find_swift.h"(756)
+template <typename THaystack, typename TSpec, typename TText> inline typename Infix<TText>::Type range(Finder<THaystack, Swift<TSpec> > &finder, TText &text);         // "projects/library/seqan/find/find_swift.h"(772)
+template <typename TNeedle, typename TIndexSpec, typename TSpec> inline typename Value<TNeedle>::Type & range(Pattern<Index<TNeedle, TIndexSpec>, Swift<TSpec> > &pattern);            // "projects/library/seqan/find/find_swift.h"(788)
+
+//____________________________________________________________________________
+// scoreLimit
+
+template <typename TNeedle, typename TSpec> inline int scoreLimit(Pattern<TNeedle, Tag<_MyersUkkonen<TSpec> > > const & me);           // "projects/library/seqan/find/find_myers_ukkonen.h"(247)
+template <typename TNeedle, typename TVerification, typename TMultiFinder> inline int scoreLimit(Pattern<TNeedle, Pex<TVerification,TMultiFinder > > const & me);              // "projects/library/seqan/find/find_pex.h"(241)
+template <typename TNeedle, typename TScore> inline typename Value<TScore>::Type scoreLimit(Pattern<TNeedle, DPSearch<TScore> > const & me);           // "projects/library/seqan/find/find_score.h"(245)
+template <typename TNeedle> inline int scoreLimit(Pattern<TNeedle, AbndmAlgo > const & me);            // "projects/library/seqan/find/find_abndm.h"(551)
+
+//____________________________________________________________________________
+// scoringScheme
+
+template <typename TNeedle, typename TScore> inline TScore const & scoringScheme(Pattern<TNeedle, DPSearch<TScore> > & me);            // "projects/library/seqan/find/find_score.h"(193)
+
+//____________________________________________________________________________
+// segment
+
+template <typename TNeedle, typename TSpec> inline typename Infix<TNeedle>::Type segment(Pattern<TNeedle, TSpec> & me);        // "projects/library/seqan/find/find_base.h"(223)
+template <typename TNeedle, typename TSpec> inline typename Infix<TNeedle>::Type segment(Pattern<TNeedle, TSpec> const & me);          // "projects/library/seqan/find/find_base.h"(230)
+
+//____________________________________________________________________________
+// setBeginPosition
+
+template <typename TNeedle, typename TSpec, typename TPosition> inline void setBeginPosition(Pattern<TNeedle, TSpec> & me, TPosition _pos);            // "projects/library/seqan/find/find_base.h"(191)
+
+//____________________________________________________________________________
+// setContainer
+
+template <typename THaystack, typename TSpec> inline void setContainer(Finder<THaystack, TSpec> & me, typename _Parameter<THaystack>::Type container_);        // "projects/library/seqan/find/find_base.h"(447)
+
+//____________________________________________________________________________
+// setEndPosition
+
+template <typename TNeedle, typename TSpec, typename TPosition> inline void setEndPosition(Pattern<TNeedle, TSpec> & me, TPosition _pos);              // "projects/library/seqan/find/find_base.h"(214)
+
+//____________________________________________________________________________
+// setHaystack
+
+template <typename THaystack, typename TSpec > inline void setHaystack(Finder<THaystack, TSpec> &obj, THaystack const &hstk);          // "projects/library/seqan/find/find_base.h"(686)
+
+//____________________________________________________________________________
+// setHost
+
+template <typename TNeedle, typename TSpec, typename TNeedle2> void setHost(Pattern<TNeedle, Tag<_MyersUkkonen<TSpec> > > & me, TNeedle2 & ndl);               // "projects/library/seqan/find/find_myers_ukkonen.h"(209)
+template <typename TNeedle, typename TSpec, typename TNeedle2> void setHost(Pattern<TNeedle, Tag<_MyersUkkonen<TSpec> > > & me, TNeedle2 const & ndl);         // "projects/library/seqan/find/find_myers_ukkonen.h"(217)
+template <typename TNeedle, typename TNeedle2> inline void setHost (Pattern<TNeedle, Quasar> & me, TNeedle2 const& needle);            // "projects/library/seqan/find/find_quasar.h"(92)
+template <typename TNeedle, typename TNeedle2> inline void setHost (Pattern<TNeedle, Quasar> & me, TNeedle2 & needle);         // "projects/library/seqan/find/find_quasar.h"(100)
+template <typename TNeedle, typename TNeedle2, typename TVerification, typename TMultiFinder> void setHost (Pattern<TNeedle, Pex<TVerification,TMultiFinder > > & me, TNeedle2 const & needle);        // "projects/library/seqan/find/find_pex.h"(176)
+template <typename TNeedle, typename TNeedle2, typename TVerification, typename TMultiFinder> void setHost (Pattern<TNeedle, Pex<TVerification,TMultiFinder > > & me, TNeedle2 & needle);              // "projects/library/seqan/find/find_pex.h"(187)
+template <typename TNeedle, typename TNeedle2> void setHost (Pattern<TNeedle, ShiftAnd> & me, TNeedle2 const & needle);        // "projects/library/seqan/find/find_shiftand.h"(80)
+template <typename TNeedle, typename TNeedle2> inline void setHost (Pattern<TNeedle, ShiftAnd> & me, TNeedle2 & needle);               // "projects/library/seqan/find/find_shiftand.h"(121)
+template <typename TNeedle, typename TNeedle2> void setHost(Pattern<TNeedle, Horspool> & me, TNeedle2 const & ndl);            // "projects/library/seqan/find/find_horspool.h"(86)
+template <typename TNeedle, typename TNeedle2> void setHost(Pattern<TNeedle, Horspool> & horsp, TNeedle2 & ndl);               // "projects/library/seqan/find/find_horspool.h"(117)
+template <typename TNeedle, typename TSpec, typename TNeedle2> inline void setHost(Pattern<TNeedle, TSpec> & me, TNeedle2 const & ndl);        // "projects/library/seqan/find/find_base.h"(161)
+template <typename TNeedle, typename TSpec, typename TNeedle2> inline void setHost(Pattern<TNeedle, TSpec> & me, TNeedle2 & ndl);              // "projects/library/seqan/find/find_base.h"(168)
+template <typename THaystack, typename TSpec> inline void setHost(Finder<THaystack, TSpec> & me, typename _Parameter<THaystack>::Type container_);             // "projects/library/seqan/find/find_base.h"(438)
+template <typename TNeedle, typename TScore, typename TNeedle2> void setHost(Pattern<TNeedle, DPSearch<TScore> > & me, TNeedle2 & ndl);        // "projects/library/seqan/find/find_score.h"(164)
+template <typename TNeedle, typename TScore, typename TNeedle2> void setHost(Pattern<TNeedle, DPSearch<TScore> > & me, TNeedle2 const & ndl);          // "projects/library/seqan/find/find_score.h"(172)
+template <typename TNeedle, typename TNeedle2> void setHost (Pattern<TNeedle, MultipleShiftAnd> & me, TNeedle2 const & needle);        // "projects/library/seqan/find/find_multiple_shiftand.h"(124)
+template <typename TNeedle, typename TNeedle2> void setHost (Pattern<TNeedle, MultipleShiftAnd> & me, TNeedle2 & needle);              // "projects/library/seqan/find/find_multiple_shiftand.h"(209)
+template <typename TNeedle, typename TNeedle2> inline void setHost (Pattern<TNeedle, BomAlgo> & me, TNeedle2 const& needle);           // "projects/library/seqan/find/find_bom.h"(108)
+template <typename TNeedle, typename TNeedle2> inline void setHost (Pattern<TNeedle, BomAlgo> & me, TNeedle2 & needle);        // "projects/library/seqan/find/find_bom.h"(120)
+template <typename TNeedle, typename TNeedle2> void setHost (Pattern<TNeedle, ShiftOr> & me, TNeedle2 const & needle);         // "projects/library/seqan/find/find_shiftor.h"(79)
+template <typename TNeedle, typename TNeedle2> void setHost (Pattern<TNeedle, ShiftOr> & me, TNeedle2 & needle);               // "projects/library/seqan/find/find_shiftor.h"(120)
+template <typename TNeedle, typename TNeedle2> void setHost (Pattern<TNeedle, WildShiftAnd> & me, TNeedle2 const & needle);            // "projects/library/seqan/find/find_wild_shiftand.h"(289)
+template <typename TNeedle, typename TNeedle2> inline void setHost (Pattern<TNeedle, WildShiftAnd> & me, TNeedle2 & needle);           // "projects/library/seqan/find/find_wild_shiftand.h"(509)
+template <typename TNeedle, typename TNeedle2> void setHost (Pattern<TNeedle, SetHorspool> & me, TNeedle2 const & needle);             // "projects/library/seqan/find/find_set_horspool.h"(112)
+template <typename TNeedle, typename TNeedle2> void setHost (Pattern<TNeedle, SetHorspool> & me, TNeedle2 & needle);           // "projects/library/seqan/find/find_set_horspool.h"(166)
+template <typename TNeedle, typename TNeedle2> void setHost (Pattern<TNeedle, BndmAlgo> & me, TNeedle2 const& needle);         // "projects/library/seqan/find/find_bndm.h"(82)
+template <typename TNeedle, typename TNeedle2> void setHost (Pattern<TNeedle, BndmAlgo> & me, TNeedle2 & needle);              // "projects/library/seqan/find/find_bndm.h"(122)
+template <typename TNeedle, typename TNeedle2> void setHost (Pattern<TNeedle, AhoCorasick> & me, TNeedle2 const & needle);             // "projects/library/seqan/find/find_ahocorasick.h"(187)
+template <typename TNeedle, typename TNeedle2> inline void setHost (Pattern<TNeedle, AhoCorasick> & me, TNeedle2 & needle);            // "projects/library/seqan/find/find_ahocorasick.h"(216)
+template <typename TNeedle, typename TNeedle2> void setHost (Pattern<TNeedle, AbndmAlgo> & me, TNeedle2 const& needle);        // "projects/library/seqan/find/find_abndm.h"(140)
+template <typename TNeedle, typename TNeedle2> void setHost (Pattern<TNeedle, AbndmAlgo> & me, TNeedle2 & needle);             // "projects/library/seqan/find/find_abndm.h"(188)
+
+//____________________________________________________________________________
+// setNeedle
+
+template <typename TNeedle, typename TSpec > inline void setNeedle(Pattern<TNeedle, TSpec> &obj, TNeedle const &ndl);          // "projects/library/seqan/find/find_base.h"(293)
+
+//____________________________________________________________________________
+// setPosition
+
+template <typename THaystack, typename TSpec, typename TPosition> inline void setPosition(Finder<THaystack, TSpec> & me, TPosition pos_);              // "projects/library/seqan/find/find_base.h"(582)
+
+//____________________________________________________________________________
+// setScoreLimit
+
+template <typename TNeedle, typename TSpec, typename TScoreValue> inline void setScoreLimit(Pattern<TNeedle, Tag<_MyersUkkonen<TSpec> > > & me, TScoreValue _limit);           // "projects/library/seqan/find/find_myers_ukkonen.h"(260)
+template <typename TNeedle, typename TScoreValue,typename TVerification, typename TMultiFinder> inline void setScoreLimit(Pattern<TNeedle, Pex<TVerification,TMultiFinder > > & me, TScoreValue _limit);               // "projects/library/seqan/find/find_pex.h"(254)
+template <typename TNeedle, typename TScore, typename TScoreValue> inline void setScoreLimit(Pattern<TNeedle, DPSearch<TScore> > & me, TScoreValue _limit);            // "projects/library/seqan/find/find_score.h"(266)
+template <typename TNeedle, typename TScoreValue> inline void setScoreLimit(Pattern<TNeedle, AbndmAlgo > & me, TScoreValue _limit);            // "projects/library/seqan/find/find_abndm.h"(564)
+
+//____________________________________________________________________________
+// setScoringScheme
+
+template <typename TNeedle, typename TScore, typename TScore2> inline void setScoringScheme(Pattern<TNeedle, DPSearch<TScore> > & me, TScore2 & score);        // "projects/library/seqan/find/find_score.h"(215)
+template <typename TNeedle, typename TScore, typename TScore2> inline void setScoringScheme(Pattern<TNeedle, DPSearch<TScore> > & me, TScore2 const & score);          // "projects/library/seqan/find/find_score.h"(224)
+
+//____________________________________________________________________________
+// valid
+
+template <typename TNeedle> inline bool valid(Pattern <TNeedle,WildShiftAnd> & me);            // "projects/library/seqan/find/find_wild_shiftand.h"(531)
+template <typename TNeedle> inline bool valid(Pattern <TNeedle,WildShiftAnd> const & me);              // "projects/library/seqan/find/find_wild_shiftand.h"(539)
+
+} //namespace SEQAN_NAMESPACE_MAIN
+
+#endif
+
diff --git a/SeqAn-1.1/seqan/find/find_horspool.h b/SeqAn-1.1/seqan/find/find_horspool.h
new file mode 100644 (file)
index 0000000..5733163
--- /dev/null
@@ -0,0 +1,483 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de 
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: find_horspool.h,v 1.1 2008/08/25 16:20:06 langmead Exp $
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_FIND_HORSPOOL_H
+#define SEQAN_HEADER_FIND_HORSPOOL_H
+
+namespace SEQAN_NAMESPACE_MAIN
+{
+
+//////////////////////////////////////////////////////////////////////////////
+// Horspool
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Spec.Horspool:
+..summary: Exact string matching using Horspool's algorithm (1980).
+..general:Class.Pattern
+..cat:Searching
+..signature:Pattern<TNeedle, Horspool>
+..param.TNeedle:The needle type.
+...type:Class.String
+*/
+
+///.Class.Pattern.param.TSpec.type:Spec.Horspool
+
+struct _Horspool;
+typedef Tag<_Horspool> Horspool;
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TNeedle>
+class Pattern<TNeedle, Horspool>
+{
+//____________________________________________________________________________
+
+public:
+       typedef typename Size<TNeedle>::Type TSize;
+
+       Holder<TNeedle>         data_needle;
+       String<TSize>           data_map;
+
+//____________________________________________________________________________
+
+public:
+       Pattern() {}
+
+       Pattern(Pattern const & other_):
+               data_map(other_.data_map) {}
+
+       template <typename TNeedle2>
+       Pattern(TNeedle2 const & ndl)
+       {
+               setHost(*this, ndl);
+       }
+
+       Pattern const &
+       operator = (Pattern const & other_)
+       {
+               data_map = other_.data_map;
+               return *this;
+       }
+//____________________________________________________________________________
+};
+
+
+template <typename TNeedle, typename TNeedle2>
+void
+setHost(Pattern<TNeedle, Horspool> & me, TNeedle2 const & ndl)
+{
+       typedef typename Value<TNeedle>::Type TValue;
+       typedef typename Size<TNeedle>::Type TSize;
+
+       SEQAN_ASSERT(!empty(ndl));
+
+       TSize value_size = ValueSize<TValue>::VALUE;
+
+       //make room for map
+       resize(me.data_map, value_size);
+
+       //fill map
+       typename Value<String<TSize> >::Type jump_width = length(ndl); //das ist so umstaendlich wegen VC++ 2003
+       arrayFill(begin(me.data_map, Standard()), begin(me.data_map, Standard()) + value_size, jump_width);
+
+       typename Iterator<TNeedle2 const, Standard>::Type it;
+       it = begin(ndl, Standard());
+       while (jump_width > 1)
+       {
+               --jump_width;
+               unsigned int pos_ = *it; //conversion value type to unsigned int
+               me.data_map[pos_] = jump_width;
+               ++it;
+       }
+
+       me.data_needle = ndl;
+}
+
+template <typename TNeedle, typename TNeedle2>
+void
+setHost(Pattern<TNeedle, Horspool> & horsp, TNeedle2 & ndl)
+{
+       setHost(horsp, reinterpret_cast<TNeedle2 const &>(ndl));
+}
+
+//____________________________________________________________________________
+
+
+template <typename TNeedle>
+inline void _patternInit (Pattern<TNeedle, Horspool> &) {}
+
+//____________________________________________________________________________
+
+template <typename TNeedle>
+inline typename Host<Pattern<TNeedle, Horspool> >::Type & 
+host(Pattern<TNeedle, Horspool> & me)
+{
+SEQAN_CHECKPOINT
+       return value(me.data_needle);
+}
+
+template <typename TNeedle>
+inline typename Host<Pattern<TNeedle, Horspool> const>::Type & 
+host(Pattern<TNeedle, Horspool> const & me)
+{
+SEQAN_CHECKPOINT
+       return value(me.data_needle);
+}
+
+//____________________________________________________________________________
+
+template <typename TFinder, typename TNeedle2>
+bool
+find_horspool(TFinder & finder, 
+                         Pattern<TNeedle2, Horspool> & me,
+                         bool find_first)
+{
+SEQAN_CHECKPOINT
+       typedef typename Haystack<TFinder>::Type THaystack;
+       THaystack & hayst = haystack(finder);
+
+       typedef Pattern<TNeedle2, Horspool> TPattern;
+       typedef typename Needle<TPattern>::Type TNeedle;
+       TNeedle & ndl = needle(me);
+
+       typedef typename Size<TNeedle>::Type TNeedleSize;
+       TNeedleSize ndl_size = length(ndl);
+
+       typedef typename Iterator<THaystack, Standard>::Type THaystackIterator;
+       THaystackIterator haystack_end = end(hayst, Standard());
+       THaystackIterator it = begin(hayst, Standard());
+       it += position(finder) + ndl_size - 1; //it points to the last character
+       THaystackIterator it_next = it;
+
+       typedef typename Iterator<TNeedle, Standard>::Type TNeedleIterator;
+       TNeedleIterator nit; //needle iterator
+       TNeedleIterator nit_begin = begin(ndl, Standard());
+       TNeedleIterator nit_end = end(ndl, Standard()) - 1; //here the verification begins
+
+       unsigned int char_i;
+
+       if (find_first)
+       {
+               goto VALIDATE;
+       }
+
+MOVE_FURTHER:
+       //move to next position
+       char_i = *it; //conversion to unsigned integer
+       it_next = it + me.data_map[char_i];
+       if (it_next >= haystack_end)
+       {//found nothing
+               return false;
+       }
+
+       it = it_next;
+
+VALIDATE:
+       //validate current position
+       for (nit = nit_end; nit >= nit_begin; --nit)
+       {
+               if (*nit != *it_next)
+               {//invalid!
+                       goto MOVE_FURTHER;
+               }
+               --it_next;
+       }
+
+       //valid! return hit
+       setPosition(finder, it - begin(hayst, Standard()) - ndl_size + 1);
+       return true;
+}
+
+//____________________________________________________________________________
+// Sentinel variant (not used at the moment)
+//TODO: if not enough space at the end of the haystack: call non-sentinel search
+/*
+template <typename TFinder, typename TNeedle2>
+bool
+find_horspool_sentinel(TFinder & finder, 
+                                          Pattern<TNeedle2, Horspool> & me,
+                                          bool find_first)
+{
+SEQAN_CHECKPOINT
+       typedef typename Haystack<TFinder>::Type THaystack;
+       THaystack & hayst = haystack(finder);
+       
+
+       typedef Pattern<TNeedle2, Horspool> TPattern;
+       typedef typename Needle<TPattern>::Type TNeedle;
+       TNeedle & ndl = needle(me);
+
+       //implant sentinel
+       typename Size<THaystack>::Type old_haystack_size = length(hayst);
+       if (find_first)
+       {
+               typedef typename Position<TFinder>::Type TFinderPosition;
+               TFinderPosition finder_pos = position(finder);
+
+               append(hayst, ndl, Exact());
+               if (length(hayst) != old_haystack_size + length(ndl))
+               {//not enough place in haystack
+//TODO!!!
+printf("error!");
+return false;
+               }
+               setPosition(finder, finder_pos);
+       }
+       else
+       {
+               _setLength(hayst, old_haystack_size + length(ndl));
+       }
+
+       typedef typename Size<TNeedle>::Type TNeedleSize;
+       TNeedleSize ndl_size = length(ndl);
+
+       typedef typename Iterator<THaystack, Standard>::Type THaystackIterator;
+       THaystackIterator it = begin(hayst, Standard());
+       THaystackIterator haystack_end = it + old_haystack_size;
+       it += position(finder) + ndl_size - 1; //it points to the last character
+
+       typedef typename Iterator<TNeedle, Standard>::Type TNeedleIterator;
+       TNeedleIterator nit; //needle iterator
+       TNeedleIterator nit_begin = begin(ndl, Standard());
+       TNeedleIterator nit_end = end(ndl, Standard()) - 1; //here the verification begins
+
+       typedef typename Value<TNeedle>::Type TNeedleValue;
+       TNeedleValue char_needle_last = *nit_end;
+       TNeedleValue char_haystack_last;
+
+       char_haystack_last = *it;
+
+       if (find_first)
+       {
+               goto VALIDATE;
+       }
+
+       //main loop
+MOVE_FURTHER:
+       it += me.data_map[_ord(char_haystack_last)];
+       char_haystack_last = *it;
+       if (char_haystack_last != char_needle_last) goto MOVE_FURTHER;
+
+
+       if (it >= haystack_end)
+       {//found nothing
+               resize(hayst, old_haystack_size);
+               return false;
+       }
+
+VALIDATE:
+       //validate current position
+       THaystackIterator it_back = it;
+       for (nit = nit_end; nit >= nit_begin; --nit)
+       {
+               if (*nit != *it_back)
+               {//invalid!
+                       goto MOVE_FURTHER;
+               }
+               --it_back;
+       }
+
+       //valid! return hit
+       setPosition(finder, it - begin(hayst, Standard()) - ndl_size + 1);
+       resize(hayst, old_haystack_size);
+       return true;
+}
+*/
+//____________________________________________________________________________
+//spec for file reader haystacks
+
+template <typename TFormat, typename TFile, typename TSpec>
+struct FileReader;
+
+template <typename TValue, typename TFormat, typename TFile, typename FileReaderTSpec, typename TFinderSpec, typename TNeedle2>
+bool
+find_horspool(Finder<String<TValue, FileReader<TFormat, TFile, FileReaderTSpec> >, TFinderSpec > & finder, 
+                         Pattern<TNeedle2, Horspool> & me,
+                         bool find_first)
+{
+SEQAN_CHECKPOINT
+       typedef Finder<String<TValue, FileReader<TFormat, TFile, FileReaderTSpec> >, TFinderSpec > TFinder;
+       typedef typename Haystack<TFinder>::Type THaystack;
+       THaystack & hayst = haystack(finder);
+
+       typedef Pattern<TNeedle2, Horspool> TPattern;
+       typedef typename Needle<TPattern>::Type TNeedle;
+       TNeedle & ndl = needle(me);
+
+       typedef typename Size<TNeedle>::Type TNeedleSize;
+       TNeedleSize ndl_size = length(ndl);
+
+       typedef typename Iterator<THaystack, Standard>::Type THaystackIterator;
+       THaystackIterator it(hayst, position(finder) + ndl_size - 1); //it points to the last character
+
+       typedef typename Iterator<TNeedle, Standard>::Type TNeedleIterator;
+       TNeedleIterator nit; //needle iterator
+       TNeedleIterator nit_begin = begin(ndl, Standard());
+       TNeedleIterator nit_end = end(ndl, Standard()) - 1; //here the verification begins
+
+       unsigned int char_i;
+
+       if (find_first)
+       {
+               goto VALIDATE;
+       }
+
+MOVE_FURTHER:
+       //move to next position
+       char_i = *it; //conversion to unsigned integer
+       it += me.data_map[char_i];
+       if (atEnd(it))
+       {//found nothing
+               return false;
+       }
+
+VALIDATE:
+       //validate current position
+       for (nit = nit_end; nit >= nit_begin; --nit)
+       {
+               if (*nit != *it)
+               {//invalid!
+                       it += (nit_end - nit);
+                       goto MOVE_FURTHER;
+               }
+               --it;
+       }
+
+       //valid! return hit
+       setPosition(finder, it - begin(hayst, Standard()) + 1);
+       return true;
+
+}
+
+//____________________________________________________________________________
+/* groepl variante
+
+template <typename TFinder, typename TNeedle2>
+bool
+find_horspool(TFinder & finder, 
+       Pattern<TNeedle2, Horspool> & me,
+       bool find_first)
+{
+SEQAN_CHECKPOINT
+       typedef typename Haystack<TFinder>::Type THaystack;
+       THaystack & hayst = haystack(finder);
+
+       typedef Pattern<TNeedle2, Horspool> TPattern;
+       typedef typename Needle<TPattern>::Type TNeedle;
+       TNeedle & ndl = needle(me);
+
+       typename Size<TNeedle>::Type ndl_size = length(ndl);
+
+       typedef typename Iterator<THaystack, Standard>::Type THaystackIterator;
+       THaystackIterator haystack_end = end(hayst, Standard());
+       THaystackIterator it = begin(hayst, Standard());
+       it += position(finder) + ndl_size - 1; //it points to the last character
+       THaystackIterator it2;
+
+       typedef typename Iterator<TNeedle, Standard>::Type TNeedleIterator;
+       TNeedleIterator nit; //needle iterator
+       TNeedleIterator nit_begin = begin(ndl, Standard());
+       TNeedleIterator nit_end = end(ndl, Standard()) - 2; //here the verification begins
+
+       typedef typename Value<TNeedle>::Type TNeedleValue;
+       TNeedleValue last_needle_char = value(ndl, ndl_size - 1);
+
+       unsigned int char_i;
+
+       if (!find_first)
+       {
+               ++it;
+       }
+
+MOVE_FURTHER:
+       //scan for the last character
+       while (true)
+       {
+               if (it >= haystack_end)
+               {//found nothing
+                       return false;
+               }
+               if (*it == last_needle_char) 
+               {
+                       break;
+               }
+               ++it;
+       }
+
+VALIDATE:
+       it2 = it;
+       //validate current position
+       for (nit = nit_end; nit >= nit_begin; --nit)
+       {
+               --it2;
+               if (*nit != *it2)
+               {//invalid! skip!
+                       char_i = *it; //conversion to unsigned integer
+                       it += me.data_map[char_i];
+                       goto MOVE_FURTHER;
+               }
+       }
+
+       //valid! return hit
+       setPosition(finder, it - begin(hayst, Standard()) - ndl_size + 1);
+       return true;
+}
+*/
+
+template <typename TFinder, typename TNeedle2>
+bool
+find(TFinder & finder, Pattern<TNeedle2, Horspool> & me)
+{
+SEQAN_CHECKPOINT
+       bool find_first = empty(finder);
+       if (find_first)
+       {
+               _patternInit(me);
+               _finderSetNonEmpty(finder);
+       }
+
+       SEQAN_ASSERT(length(needle(me)) > 0)
+
+       return find_horspool(finder, me, find_first);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// Host
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TNeedle>
+struct Host< Pattern<TNeedle, Horspool> >
+{
+       typedef TNeedle Type;
+};
+
+template <typename TNeedle>
+struct Host< Pattern<TNeedle, Horspool> const>
+{
+       typedef TNeedle const Type;
+};
+
+
+//////////////////////////////////////////////////////////////////////////////
+
+}// namespace SEQAN_NAMESPACE_MAIN
+
+#endif //#ifndef SEQAN_HEADER_...
diff --git a/SeqAn-1.1/seqan/find/find_multi.h b/SeqAn-1.1/seqan/find/find_multi.h
new file mode 100644 (file)
index 0000000..261b822
--- /dev/null
@@ -0,0 +1,143 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de 
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: find_multi.h,v 1.1 2008/08/25 16:20:06 langmead Exp $
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_FIND_MULTI_H
+#define SEQAN_HEADER_FIND_MULTI_H
+
+namespace SEQAN_NAMESPACE_MAIN
+{
+
+//////////////////////////////////////////////////////////////////////////////
+
+struct _MultipatternFinder;
+typedef Tag<_MultipatternFinder> MultipatternFinder;
+       
+//____________________________________________________________________________
+
+template <typename THaystack>
+class Finder<THaystack, MultipatternFinder>
+{
+//____________________________________________________________________________
+private:
+       unsigned int data_pattern;
+
+public:
+       Finder():
+               data_pattern(0)
+       {
+SEQAN_CHECKPOINT
+       }
+
+       Finder(Finder const & other_):
+               data_pattern(other_.data_pattern)
+       {
+SEQAN_CHECKPOINT
+       }
+
+       ~Finder()
+       {
+SEQAN_CHECKPOINT
+       }
+//____________________________________________________________________________
+
+       Finder & 
+       operator = (Finder const & other_)
+       {
+SEQAN_CHECKPOINT
+               data_pattern = other_.data_pattern;
+               return *this;
+       }
+//____________________________________________________________________________
+
+       friend inline unsigned int &
+       needle(Finder & me)
+       {
+SEQAN_CHECKPOINT
+               return me.data_pattern;
+       }
+       friend inline unsigned int const &
+       needle(Finder const & me)
+       {
+SEQAN_CHECKPOINT
+               return me.data_pattern;
+       }
+//____________________________________________________________________________
+
+       friend inline void
+       setNeedle(Finder & me, unsigned int const needleIndex_)
+       {
+SEQAN_CHECKPOINT
+               me.data_pattern = needleIndex_;
+       }
+
+//____________________________________________________________________________
+
+       friend inline void
+       init(Finder & me)
+       {
+SEQAN_CHECKPOINT
+               me.data_pattern = 0;
+       }
+//____________________________________________________________________________
+
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename THaystack, typename TNeedle>
+friend inline bool
+find(Finder & me,
+        THaystack & hstk,
+        TNeedle const & ndl)
+{
+SEQAN_CHECKPOINT
+       while ( needle(me) < length(ndl) )
+       {
+               Finder<THaystack, Horspool> horspool(ndl[needle(me)]);
+               bool found = find(horspool, hstk, ndl[needle(me)]);
+               if (found)
+               {
+                       return true;
+               }
+               setPosition(hstk, 0);
+               ++needle(me);
+       }
+       return false;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+/*
+template <typename THaystack, typename TNeedle>
+bool
+findNext(Finder & me,
+                THaystack & hstk,
+                TNeedle const & ndl)
+{
+SEQAN_CHECKPOINT
+       ++hstk;
+       return find(me, hstk, ndl);
+}*/
+
+//////////////////////////////////////////////////////////////////////////////
+
+};
+
+}// namespace SEQAN_NAMESPACE_MAIN
+
+#endif //#ifndef SEQAN_HEADER_...
diff --git a/SeqAn-1.1/seqan/find/find_multiple_shiftand.h b/SeqAn-1.1/seqan/find/find_multiple_shiftand.h
new file mode 100644 (file)
index 0000000..7371403
--- /dev/null
@@ -0,0 +1,418 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de 
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: find_multiple_shiftand.h,v 1.1 2008/08/25 16:20:07 langmead Exp $
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_FIND_MULTIPLESHIFTAND_H
+#define SEQAN_HEADER_FIND_MULTIPLESHIFTAND_H
+
+namespace SEQAN_NAMESPACE_MAIN
+{
+
+//////////////////////////////////////////////////////////////////////////////
+// Multiple ShiftAnd
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Spec.MultipleShiftAnd:
+..summary: Multiple exact string matching using bit parallelism. The total size of the patterns should fit into a computer word.
+..general:Class.Pattern
+..cat:Searching
+..signature:Pattern<TNeedle, MultipleShiftAnd>
+..param.TNeedle:The needle type, a string of keywords.
+...type:Class.String
+..remarks.text:The types of all keywords in the needle and the haystack have to match.
+*/
+
+///.Class.Pattern.param.TSpec.type:Spec.MultipleShiftAnd
+
+struct _MultipleShiftAnd;
+typedef Tag<_MultipleShiftAnd> MultipleShiftAnd;
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TNeedle>
+class Pattern<TNeedle, MultipleShiftAnd> {
+//____________________________________________________________________________
+private:
+       Pattern(Pattern const& other);
+       Pattern const& operator=(Pattern const & other);
+
+//____________________________________________________________________________
+public:
+       typedef unsigned int TWord;
+       typedef typename Size<TNeedle>::Type TSize;
+       Holder<TNeedle> data_needle;
+       TWord* table;                   // Look up table for each character in the alphabet (called B in "Navarro")
+       TWord* prefSufMatch;    // Set of all the prefixes of needle that match a suffix of haystack (called D in "Navarro")
+       TWord* di;                              // Initialization word
+       TWord* df;                              // Final test word
+       TWord alphabetSize;             // e.g., char --> 256
+       TWord totalLength;              // Lenght of concatenated keywords
+       TWord blockCount;               // #unsigned ints required to store needle      
+       std::deque<Pair<TSize, TSize> > data_keyword;  // All keywords that produced a hit here
+       TSize data_keywordIndex;  // Last keyword index
+       TSize data_needleLength;  // Last needle length
+
+//____________________________________________________________________________
+
+       Pattern() {
+               table = 0;
+               prefSufMatch=0;
+               di = 0;
+               df = 0;
+       }
+
+       template <typename TNeedle2>
+       Pattern(TNeedle2 const & ndl)
+       {
+               table = 0;
+               prefSufMatch=0;
+               di = 0;
+               df = 0;
+               setHost(*this, ndl);
+       }
+
+       ~Pattern() {
+               SEQAN_CHECKPOINT
+               if (table != 0) {
+                       deallocate(this, table, alphabetSize * blockCount);
+                       deallocate(this, prefSufMatch, blockCount);
+                       deallocate(this, di, blockCount);
+                       deallocate(this, df, blockCount);
+               }
+       }               
+//____________________________________________________________________________
+};
+
+//////////////////////////////////////////////////////////////////////////////
+// Host Metafunctions
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TNeedle>
+struct Host< Pattern<TNeedle, MultipleShiftAnd> >
+{
+       typedef TNeedle Type;
+};
+
+template <typename TNeedle>
+struct Host< Pattern<TNeedle, MultipleShiftAnd> const>
+{
+       typedef TNeedle const Type;
+};
+
+//////////////////////////////////////////////////////////////////////////////
+// Functions
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TNeedle, typename TNeedle2>
+void setHost (Pattern<TNeedle, MultipleShiftAnd> & me, TNeedle2 const & needle) {
+       SEQAN_CHECKPOINT
+       typedef unsigned int TWord;
+       typedef typename Value<TNeedle>::Type TKeyword;
+       typedef typename Value<TKeyword>::Type TAlphabet;
+       if (me.table != 0) {
+               deallocate(me, me.table, me.alphabetSize * me.blockCount);
+               deallocate(me, me.di, me.blockCount);
+               deallocate(me, me.df, me.blockCount);
+       }
+
+       typename Iterator<TNeedle2 const, Rooted>::Type it = begin(needle);
+       me.totalLength = 0;
+       for(;!atEnd(it);goNext(it)) {
+               me.totalLength += length(*it);
+       }
+       me.alphabetSize = ValueSize<TAlphabet>::VALUE;
+       if (me.totalLength<1) me.blockCount=1;
+       else me.blockCount=((me.totalLength-1) / BitsPerValue<TWord>::VALUE)+1;
+                       
+       allocate (me, me.table, me.blockCount * me.alphabetSize);
+       arrayFill (me.table, me.table + me.blockCount * me.alphabetSize, 0);
+
+       allocate (me, me.di, me.blockCount);
+       arrayFill (me.di, me.di + me.blockCount, 0);
+
+       allocate (me, me.df, me.blockCount);
+       arrayFill (me.df, me.df + me.blockCount, 0);
+
+       goBegin(it);
+       TWord j = 0;
+       for(;!atEnd(it);goNext(it)) {
+               me.di[j / BitsPerValue<TWord>::VALUE] |= (1<<(j%BitsPerValue<TWord>::VALUE));
+               for (TWord posInKeyword = 0; posInKeyword < length(*it); ++posInKeyword) {
+                       // Determine character position in array table
+                       TWord index = convert<TWord>(getValue(*it,posInKeyword));
+                       me.table[me.blockCount*index + j / BitsPerValue<TWord>::VALUE] |= (1<<(j%BitsPerValue<TWord>::VALUE));
+                       ++j;
+               }
+               me.df[(j - 1) / BitsPerValue<TWord>::VALUE] |= (1<<((j-1)%BitsPerValue<TWord>::VALUE));
+       }
+       setValue(me.data_needle, needle);
+
+       /*
+       // Debug code
+       std::cout << "Alphabet size: " << me.alphabetSize << ::std::endl;
+       std::cout << "Needle length: " << me.totalLength << ::std::endl;
+       std::cout << "Block count: " << me.blockCount << ::std::endl;
+       std::cout << "K: ";
+       goBegin(it);
+       for(;!atEnd(it);goNext(it)) {
+               std::cout << *it;
+       }
+       std::cout << ::std::endl;
+       std::cout << "Table: " << ::std::endl;
+       for(unsigned int i=0;i<me.alphabetSize;++i) {
+               //if ((i<97) || (i>122)) continue;
+               std::cout << TAlphabet(i) << ": ";
+               for(int j=0;j<me.blockCount;++j) {
+                       for(int bit_pos=0;bit_pos<BitsPerValue<unsigned int>::VALUE;++bit_pos) {
+                               std::cout << ((me.table[me.blockCount*i+j] & (1<<(bit_pos % BitsPerValue<unsigned int>::VALUE))) !=0);
+                       }
+               }
+               std::cout << ::std::endl;
+       }
+       std::cout << "DI and DF: " << ::std::endl;
+       std::cout << "I: ";
+       for(int j=0;j<me.blockCount;++j) {
+               for(int bit_pos=0;bit_pos<BitsPerValue<unsigned int>::VALUE;++bit_pos) {
+                       std::cout << ((me.di[j] & (1<<(bit_pos % BitsPerValue<unsigned int>::VALUE))) !=0);
+               }
+       }
+       std::cout << ::std::endl;
+       std::cout << "F: ";
+       for(int j=0;j<me.blockCount;++j) {
+               for(int bit_pos=0;bit_pos<BitsPerValue<unsigned int>::VALUE;++bit_pos) {
+                       std::cout << ((me.df[j] & (1<<(bit_pos % BitsPerValue<unsigned int>::VALUE))) !=0);
+               }
+       }
+       std::cout << ::std::endl;
+       */
+}
+
+template <typename TNeedle, typename TNeedle2>
+void setHost (Pattern<TNeedle, MultipleShiftAnd> & me, TNeedle2 & needle)
+{
+       setHost(me, reinterpret_cast<TNeedle2 const &>(needle));
+}
+
+//____________________________________________________________________________
+
+
+template <typename TNeedle>
+inline void _patternInit (Pattern<TNeedle, MultipleShiftAnd> & me) 
+{
+SEQAN_CHECKPOINT
+       typedef unsigned int TWord;
+
+       if (me.prefSufMatch != 0) {
+               deallocate(me, me.prefSufMatch, me.blockCount);
+       }
+       allocate (me, me.prefSufMatch, me.blockCount);
+       arrayFill (me.prefSufMatch, me.prefSufMatch + me.blockCount, 0);
+       me.data_keyword.clear();
+       me.data_keywordIndex = 0;
+}
+
+//____________________________________________________________________________
+
+template <typename TNeedle>
+inline typename Host<Pattern<TNeedle, MultipleShiftAnd>const>::Type & 
+host(Pattern<TNeedle, MultipleShiftAnd> & me)
+{
+SEQAN_CHECKPOINT
+       return value(me.data_needle);
+}
+
+template <typename TNeedle>
+inline typename Host<Pattern<TNeedle, MultipleShiftAnd>const>::Type & 
+host(Pattern<TNeedle, MultipleShiftAnd> const & me)
+{
+SEQAN_CHECKPOINT
+       return value(me.data_needle);
+}
+
+//____________________________________________________________________________
+
+
+template <typename TNeedle>
+inline typename Size<TNeedle>::Type
+position(Pattern<TNeedle, MultipleShiftAnd> & me)
+{
+       return me.data_keywordIndex;
+}
+
+
+template <typename TFinder, typename TNeedle>
+bool _findShiftAnd_SmallNeedle(TFinder & finder, Pattern<TNeedle, MultipleShiftAnd> & me) {
+       SEQAN_CHECKPOINT
+       typedef unsigned int TWord;
+       typedef typename Size<TNeedle>::Type TSize;
+       while (!atEnd(finder)) {
+               TWord pos = convert<TWord>(*finder);
+               me.prefSufMatch[0] = ((me.prefSufMatch[0] << 1) | me.di[0]) & me.table[me.blockCount*pos];
+
+               /*
+               // Debug code
+               std::cout << "   ";
+               for(int j=0;j<me.blockCount;++j) {
+                       for(int bit_pos=0;bit_pos<BitsPerValue<unsigned int>::VALUE;++bit_pos) {
+                               std::cout << ((me.prefSufMatch[j] & (1<<(bit_pos % BitsPerValue<unsigned int>::VALUE))) !=0);
+                       }
+               }
+               std::cout << ::std::endl;
+               */
+
+               if ((me.prefSufMatch[0] & me.df[0]) != 0) {
+                       // Check which pattern has matched
+                       typename Iterator<TNeedle, Rooted>::Type it = begin(value(me.data_needle));
+                       TWord j = 0;
+                       for(;!atEnd(it);goNext(it)) {
+                               j += length(*it);
+                               TWord test = (1<<((j-1)%BitsPerValue<TWord>::VALUE));
+                               /*
+                               // Debug code
+                               std::cout << "Tes";
+                               for(int j=0;j<me.blockCount;++j) {
+                                       for(int bit_pos=0;bit_pos<BitsPerValue<unsigned int>::VALUE;++bit_pos) {
+                                               std::cout << ((test & (1<<(bit_pos % BitsPerValue<unsigned int>::VALUE))) !=0);
+                                       }
+                               }
+                               std::cout << ::std::endl;
+                               */
+                               if ((me.prefSufMatch[0] & test) != 0) {
+                                       me.data_keyword.push_back(Pair<TSize,TSize>(position(it),length(*it)));
+                               }
+                       }
+                       me.data_keywordIndex = (me.data_keyword.front()).i1;
+                       me.data_needleLength = (me.data_keyword.front()).i2;
+                       me.data_keyword.pop_front();
+                       finder -= (me.data_needleLength - 1);
+                       return true;
+               }
+               goNext(finder);
+       }
+       return false;
+}
+
+template <typename TFinder, typename TNeedle>
+bool _findShiftAnd_LargeNeedle(TFinder & finder, Pattern<TNeedle, MultipleShiftAnd> & me) {
+       SEQAN_CHECKPOINT
+       typedef typename Size<TNeedle>::Type TSize;
+       typedef unsigned int TWord;
+       while (!atEnd(finder)) {
+               TWord pos = convert<TWord>(*finder);
+               TWord carry = 1;
+               for(TWord block=0;block<me.blockCount;++block) {
+                       bool newCarry = ((me.prefSufMatch[block] & (1<< (BitsPerValue<TWord>::VALUE - 1)))!=0); 
+                       me.prefSufMatch[block]<<=1;
+                       me.prefSufMatch[block]|=carry;
+                       carry = newCarry;
+               }
+               for(TWord block=0;block<me.blockCount;++block) me.prefSufMatch[block] |= me.di[block];
+               for(TWord block=0;block<me.blockCount;++block) me.prefSufMatch[block] &= me.table[me.blockCount*pos+block];
+
+               /*
+               // Debug code
+               std::cout << "   ";
+               for(int j=0;j<me.blockCount;++j) {
+                       for(int bit_pos=0;bit_pos<BitsPerValue<unsigned int>::VALUE;++bit_pos) {
+                               std::cout << ((me.prefSufMatch[j] & (1<<(bit_pos % BitsPerValue<unsigned int>::VALUE))) !=0);
+                       }
+               }
+               std::cout << ::std::endl;
+               */
+
+               bool match = false;
+               for(TWord block=0;block<me.blockCount;++block) {
+                       if ((me.prefSufMatch[block] & me.df[block]) != 0) {
+                               match = true;
+                               break;
+                       }
+               }
+               if (match) {
+                       // Check which pattern has matched
+                       typename Iterator<TNeedle, Rooted>::Type it = begin(value(me.data_needle));
+                       TWord j = 0;
+                       for(;!atEnd(it);goNext(it)) {
+                               j += length(*it);
+                               TWord* test;
+                               allocate (me, test, me.blockCount);
+                               arrayFill (test, test + me.blockCount, 0);
+                               test[(j - 1) / BitsPerValue<TWord>::VALUE] |= (1<<((j-1)%BitsPerValue<TWord>::VALUE));
+
+                               /*
+                               // Debug code
+                               std::cout << "Tes";
+                               for(int i=0;i<me.blockCount;++i) {
+                                       for(int bit_pos=0;bit_pos<BitsPerValue<unsigned int>::VALUE;++bit_pos) {
+                                               std::cout << ((test[i] & (1<<(bit_pos % BitsPerValue<unsigned int>::VALUE))) !=0);
+                                       }
+                               }
+                               std::cout << ::std::endl;
+                               */
+
+                               if ((me.prefSufMatch[(j - 1) / BitsPerValue<TWord>::VALUE] & test[(j - 1) / BitsPerValue<TWord>::VALUE]) != 0) {
+                                       me.data_keyword.push_back(Pair<TSize,TSize>(position(it),length(*it)));                 
+                               }
+                               deallocate(me, test, me.blockCount);
+                       }
+                       me.data_keywordIndex = (me.data_keyword.front()).i1;
+                       me.data_needleLength = (me.data_keyword.front()).i2;
+                       me.data_keyword.pop_front();
+                       finder -= (me.data_needleLength - 1);
+                       return true;
+               }
+               goNext(finder);
+       }
+       return false;
+}
+
+template <typename TFinder, typename TNeedle>
+inline bool find(TFinder & finder, Pattern<TNeedle, MultipleShiftAnd> & me) {
+       SEQAN_CHECKPOINT
+
+       // Check for left-over keywords
+       if ((!empty(finder)) &&
+               (!me.data_keyword.empty())) {
+               finder += me.data_needleLength - 1;
+               me.data_keywordIndex = (me.data_keyword.front()).i1;
+               me.data_needleLength = (me.data_keyword.front()).i2;
+               me.data_keyword.pop_front();
+               finder -= (me.data_needleLength - 1);
+               return true;
+       }
+
+
+       if (empty(finder)) {
+               _patternInit(me);
+               _finderSetNonEmpty(finder);
+       } else
+               finder += me.data_needleLength;
+
+       // Fast algorithm for needles < machine word?
+       if (me.blockCount == 1) {
+               return _findShiftAnd_SmallNeedle(finder, me);
+       } else {
+               return _findShiftAnd_LargeNeedle(finder, me);
+       }
+       return false;
+}
+
+}// namespace SEQAN_NAMESPACE_MAIN
+
+#endif //#ifndef SEQAN_HEADER_FIND_MULTIPLESHIFTAND_H
diff --git a/SeqAn-1.1/seqan/find/find_score.h b/SeqAn-1.1/seqan/find/find_score.h
new file mode 100644 (file)
index 0000000..871e918
--- /dev/null
@@ -0,0 +1,451 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de 
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: find_score.h,v 1.1 2008/08/25 16:20:07 langmead Exp $
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_FIND_SCORE_H
+#define SEQAN_HEADER_FIND_SCORE_H
+
+namespace SEQAN_NAMESPACE_MAIN
+{
+
+//////////////////////////////////////////////////////////////////////////////
+// DPSearch
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TScore>
+struct DPSearch;
+
+
+/**
+.Spec.DPSearch:
+..cat:Searching
+..general:Class.Pattern
+..summary:A dynamic programming algorithm for approximate string-matching with a user-definable scoring function.
+..signature:Pattern<TNeedle, DPSearch<TScore> >
+..param.TNeedle:The needle type.
+...type:Class.String
+..param.TScore:The scoring function.
+...type:Class.Score
+..remarks.text:The algorithm is based on the Sellers/Needleman-Wunsch dynamic progamming algorithm. 
+The $Pattern$ object only contains the right-most column of the dynamic programming matrix.
+...note:At the moment, the algorithm only works on linear gap costs.
+*/
+
+///.Class.Pattern.param.TSpec.type:Class.Score
+
+
+template <typename TNeedle, typename TScore>
+class Pattern<TNeedle, DPSearch<TScore> >
+{
+public:
+       typedef typename Value<TScore>::Type TScoreValue;
+
+       Holder<TNeedle>         data_needle;
+       TScore                          data_score;
+       TScoreValue                     data_limit;
+       String<TScoreValue>     data_tab;
+
+public: 
+       Pattern(): 
+               data_limit(0)
+       { 
+SEQAN_CHECKPOINT
+       }
+
+       Pattern(TNeedle & _needle, 
+                       TScore & _score_func, 
+                       TScoreValue _limit = 0): 
+               data_score(_score_func),
+               data_limit(_limit)
+       { 
+SEQAN_CHECKPOINT
+               setHost(*this, _needle);
+       }
+
+       Pattern(TNeedle & _needle,
+                       TScoreValue _limit = 0): 
+               data_limit(_limit)
+       { 
+SEQAN_CHECKPOINT
+               setHost(*this, _needle);
+       }
+
+       Pattern(TScoreValue _limit): 
+               data_limit(_limit)
+       { 
+SEQAN_CHECKPOINT
+               create(data_score);
+       }
+
+       Pattern(Pattern const & other): 
+               data_needle( other.data_needle ),
+               data_score( other.data_score ), 
+               data_limit( other.data_limit ),
+               data_tab( other.data_tab )
+       {
+SEQAN_CHECKPOINT
+       }
+
+       inline Pattern & 
+       operator = (Pattern const & other) 
+       { 
+SEQAN_CHECKPOINT
+               this->data_needle = other.data_needle;
+               this->data_score = other.data_score;
+               this->data_limit = other.data_limit;
+               this->data_tab = other.data_tab;
+
+               return *this;
+       }
+};
+
+
+//////////////////////////////////////////////////////////////////////////////
+// Host
+//////////////////////////////////////////////////////////////////////////////
+
+/* //see find_base.h
+
+template <typename TNeedle, typename TScore>
+struct Host< Pattern<TNeedle, DPSearch<TScore> > >
+{
+       typedef TNeedle Type;
+};
+
+template <typename TNeedle, typename TScore>
+struct Host< Pattern<TNeedle, DPSearch<TScore> > const>
+{
+       typedef TNeedle const Type;
+};
+*/
+
+//////////////////////////////////////////////////////////////////////////////
+
+
+template <typename TNeedle, typename TScore>
+inline typename Host<Pattern<TNeedle, DPSearch<TScore> > >::Type & 
+host(Pattern<TNeedle, DPSearch<TScore> > & me)
+{
+SEQAN_CHECKPOINT
+       return value(me.data_needle);
+}
+
+template <typename TNeedle, typename TScore>
+inline typename Host<Pattern<TNeedle, DPSearch<TScore> > const>::Type & 
+host(Pattern<TNeedle, DPSearch<TScore> >  const & me)
+{
+SEQAN_CHECKPOINT
+       return value(me.data_needle);
+}
+
+
+//____________________________________________________________________________
+
+template <typename TNeedle, typename TScore, typename TNeedle2>
+void 
+setHost(Pattern<TNeedle, DPSearch<TScore> > & me, 
+               TNeedle2 & ndl)
+{
+       me.data_needle = ndl;
+       clear(me.data_tab);
+}
+template <typename TNeedle, typename TScore, typename TNeedle2>
+void 
+setHost(Pattern<TNeedle, DPSearch<TScore> > & me, 
+               TNeedle2 const & ndl)
+{
+       me.data_needle = ndl;
+       clear(me.data_tab);
+}
+
+
+//____________________________________________________________________________
+
+/**.Function.scoringScheme
+..cat:Searching
+..summary:The @glos:scoring scheme@ used for finding or aligning.
+..signature:scoringScheme(obj)
+..param.obj:Object that holds a @glos:scoring scheme@
+...type:Spec.DPSearch
+..returns:The @glos:scoring scheme@ used in $obj$
+..see:glos:scoring scheme
+*/
+
+template <typename TNeedle, typename TScore>
+inline TScore const & 
+scoringScheme(Pattern<TNeedle, DPSearch<TScore> > & me)
+{
+SEQAN_CHECKPOINT
+       return me.data_score;
+}
+
+//____________________________________________________________________________
+
+/**.Function.setScoringScheme
+..cat:Searching
+..summary:Sets the @glos:scoring scheme@ used for finding or aligning.
+..signature:setScoringScheme(obj, score)
+..param.obj:Object that holds a @glos:scoring scheme@.
+...type:Spec.DPSearch
+..param.score:The new @glos:scoring scheme@ used by $obj$.
+..see:glos:scoring scheme
+..see:Function.scoringScheme
+*/
+
+template <typename TNeedle, typename TScore, typename TScore2>
+inline void
+setScoringScheme(Pattern<TNeedle, DPSearch<TScore> > & me, 
+                                TScore2 & score)
+{
+SEQAN_CHECKPOINT
+       me.data_score = score;
+       clear(me.data_tab);
+}
+template <typename TNeedle, typename TScore, typename TScore2>
+inline void
+setScoringScheme(Pattern<TNeedle, DPSearch<TScore> > & me, 
+                                TScore2 const & score)
+{
+SEQAN_CHECKPOINT
+       me.data_score = score;
+       clear(me.data_tab);
+}
+
+//____________________________________________________________________________
+
+
+/**.Function.scoreLimit
+..cat:Searching
+..summary:The minimal score a match must reach in approximate searching.
+..signature:scoreLimit(pattern)
+..param.pattern:A @Concept.Pattern|pattern@ that can be used for approximate searching.
+...type:Spec.DPSearch
+..returns:The current score limit of $pattern$.
+*/
+
+template <typename TNeedle, typename TScore>
+inline typename Value<TScore>::Type 
+scoreLimit(Pattern<TNeedle, DPSearch<TScore> > const & me)
+{
+SEQAN_CHECKPOINT
+       return me.data_limit;
+}
+
+//____________________________________________________________________________
+
+/**.Function.setScoreLimit
+..cat:Searching
+..summary:Sets the minimal score a match must reach in approximate searching.
+..signature:setScoreLimit(pattern, limit)
+..param.pattern:A @Concept.Pattern|pattern@ that can be used for approximate searching.
+...type:Spec.DPSearch
+..param.limit:The new score limit.
+..see:Function.scoreLimit
+*/
+
+template <typename TNeedle, typename TScore, typename TScoreValue>
+inline void 
+setScoreLimit(Pattern<TNeedle, DPSearch<TScore> > & me, 
+                         TScoreValue _limit)
+{
+SEQAN_CHECKPOINT
+       me.data_limit = _limit;
+}
+
+//____________________________________________________________________________
+// returns the score of the last hit position found (note:position = end of occurrence in haystack)
+
+/**.Function.getScore
+..cat:Searching
+..summary:Score of the last found match in approximate searching.
+..signature:getScore(pattern)
+..param.pattern:A @Concept.Pattern|pattern@ that can be used for approximate searching.
+...type:Spec.DPSearch
+..returns:The score of the last match found using $pattern$.
+...remarks:If no match was found, the value is undefined.
+..see:Function.scoreLimit
+..see:Function.setScoreLimit
+..see:Function.find
+*/
+
+template <typename TNeedle, typename TScore>
+inline typename Value<TScore>::Type
+getScore(Pattern<TNeedle, DPSearch<TScore> > & me)
+{
+       return front(me.data_tab);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+
+template <typename TNeedle, typename TScore>
+inline void _patternInit (Pattern<TNeedle, DPSearch<TScore> > & me) 
+{
+       typedef Pattern<TNeedle, DPSearch<TScore> > TPattern;
+       typedef typename Value<TScore>::Type TScoreValue;
+
+       typedef typename Size<TPattern>::Type TSize;
+
+       typedef String<TScoreValue> TTab;
+       typedef typename Iterator<TTab, Standard>::Type TIterator;
+
+       TScoreValue score_gap = scoreGapExtend(scoringScheme(me));
+
+       TTab & string_tab = me.data_tab;
+
+       //allocate enough memory for one column of DP matrix
+       TSize need_length = length(needle(me));
+       SEQAN_ASSERT(need_length);
+
+       TSize got_length = resize(string_tab, need_length);
+       SEQAN_ASSERT(got_length >= need_length);
+
+//     if (length(_dataNeedle(me)) < got_length) throw(0); //???TODO: Throw "not enough memory" exception
+
+       //init matrix
+       //note: The column is stored in reverse order
+       TIterator tab_end = begin(string_tab, Standard());
+       TIterator tab = end(string_tab, Standard());
+       
+       TScoreValue x = score_gap;
+
+       while (tab > tab_end)
+       {
+               --tab;
+               *tab = x;
+               x += score_gap;
+       }
+}
+
+
+
+//////////////////////////////////////////////////////////////////////////////
+// find, findNext
+//////////////////////////////////////////////////////////////////////////////
+
+//proportional gap cost: Needleman-Wunsch 
+
+//???TODO: Ukkonen trick?
+//???TODO: Finder for affine gap costs?
+
+template <typename TFinder, typename TNeedle, typename TScore>
+bool 
+_find_score_simple_proportional(TFinder & finder, Pattern<TNeedle, DPSearch<TScore> > & me)
+{
+       typedef typename Value<TScore>::Type TScoreValue;
+       typedef String<TScoreValue> TTab;
+       typedef typename Iterator<TTab, Standard>::Type TTabIterator;
+       typedef typename Iterator<TNeedle const, Standard>::Type TNeedleIterator;
+       typedef typename Value<typename Haystack<TFinder>::Type>::Type THaystackValue;
+
+       String<TScoreValue> & string_tab = me.data_tab;
+
+       TScoreValue score_gap = scoreGapExtend(scoringScheme(me));
+       TScoreValue score_match = scoreMatch(scoringScheme(me));
+       TScoreValue score_mismatch = scoreMismatch(scoringScheme(me));
+
+       //init table
+
+       if (empty(finder))
+       {
+               clear(me.data_tab);
+               _finderSetNonEmpty(finder);
+       }
+       else
+       {
+               goNext(finder);
+       }
+
+       if (! length(me.data_tab))
+       {
+               _patternInit(me);
+       }
+       //start searching
+
+       TTabIterator tab_begin = end(string_tab, Standard());
+
+       TNeedleIterator it_begin = begin(host(me), Standard());
+       TNeedleIterator it_end = end(host(me), Standard());
+
+       //for each character in haystack, do...
+       for (; !atEnd(finder); ++finder)
+       {
+               //get character
+               THaystackValue c = *finder;
+
+               //init some variables
+               TNeedleIterator it = it_begin;
+               TScoreValue * tab = tab_begin;
+               TScoreValue h = 0;
+               TScoreValue v = 0;
+
+               //fill the column
+               while (it < it_end)
+               {
+                       --tab; //note: the column is stored in "reverse order"
+
+                       TScoreValue m2 = (c == *it) ? h + score_match : h + score_mismatch;
+                       h = *tab;
+                       TScoreValue m1 = (h > v) ? h + score_gap : v + score_gap;
+
+                       v = (m1 > m2) ? m1 : m2;
+                       *tab = v;
+
+                       ++it;
+               }
+
+               if (*tab >= scoreLimit(me) )
+               {//found a hit
+                       return true;
+               }
+
+       }
+
+       //found nothing
+       return false;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TFinder, typename TNeedle, typename TScore>
+inline bool 
+find(TFinder & finder, 
+        Pattern<TNeedle, DPSearch<TScore> > & me)
+{
+       SEQAN_ASSERT(scoreGapOpen(scoringScheme(me)) == scoreGapExtend(scoringScheme(me))) //this finder is only defined for linear gap costs
+       return _find_score_simple_proportional(finder, me);
+}
+
+template <typename TFinder, typename TNeedle, typename TScore>
+inline bool 
+find(TFinder & finder, 
+        Pattern<TNeedle, DPSearch<TScore> > & me,
+        int const limit_)
+{
+       SEQAN_ASSERT(scoreGapOpen(scoringScheme(me)) == scoreGapExtend(scoringScheme(me))) //this finder is only defined for linear gap costs
+       setScoreLimit(me, limit_);
+       return _find_score_simple_proportional(finder, me);
+}
+
+
+//////////////////////////////////////////////////////////////////////////////
+
+}// namespace SEQAN_NAMESPACE_MAIN
+
+#endif //#ifndef SEQAN_HEADER_...
diff --git a/SeqAn-1.1/seqan/find/find_set_horspool.h b/SeqAn-1.1/seqan/find/find_set_horspool.h
new file mode 100644 (file)
index 0000000..b9a72d1
--- /dev/null
@@ -0,0 +1,286 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de 
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: find_set_horspool.h,v 1.1 2008/08/25 16:20:07 langmead Exp $
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_FIND_SETHORSPOOL_H
+#define SEQAN_HEADER_FIND_SETHORSPOOL_H
+
+namespace SEQAN_NAMESPACE_MAIN
+{
+
+//////////////////////////////////////////////////////////////////////////////
+// Set Horspool Algorithm
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Spec.SetHorspool:
+..summary: Multiple exact string matching using set horspool algorithm.
+..general:Class.Pattern
+..cat:Searching
+..signature:Pattern<TNeedle, SetHorspool>
+..param.TNeedle:The needle type, a string of keywords.
+...type:Class.String
+..remarks.text:The types of all keywords in the needle and the haystack have to match.
+*/
+
+///.Class.Pattern.param.TSpec.type:Spec.SetHorspool
+
+struct _SetHorspool;
+typedef Tag<_SetHorspool> SetHorspool;
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TNeedle>
+class Pattern<TNeedle, SetHorspool> {
+//____________________________________________________________________________
+private:
+       Pattern(Pattern const& other);
+       Pattern const& operator=(Pattern const & other);
+
+//____________________________________________________________________________
+public:
+       typedef typename Size<TNeedle>::Type TSize;
+       typedef typename Value<TNeedle>::Type TValue;
+       typedef typename Value<TValue>::Type TAlphabet;
+       typedef Graph<Automaton<TAlphabet> > TGraph;
+       typedef typename VertexDescriptor<TGraph>::Type TVertexDescriptor;
+       
+       Holder<TNeedle> data_needle;
+       Graph<Automaton<TAlphabet> > data_reverseTrie;  // Search trie
+       String<String<TSize> > data_terminalStateMap;
+       String<TSize> data_dMap;        // Jump table
+       TSize data_lmin;
+       String<TSize> data_endPositions;        // All remaining keyword indices
+       TSize data_keywordIndex;                        // Current keyword that produced a hit
+       TSize data_needleLength;                        // Last length of needle to reposition finder
+       TVertexDescriptor data_lastState;   // Last state in the trie
+
+//____________________________________________________________________________
+
+       Pattern() {
+       }
+
+       template <typename TNeedle2>
+       Pattern(TNeedle2 const & ndl)
+       {
+               setHost(*this, ndl);
+       }
+
+       ~Pattern() {
+               SEQAN_CHECKPOINT
+       }               
+//____________________________________________________________________________
+};
+
+//////////////////////////////////////////////////////////////////////////////
+// Host Metafunctions
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TNeedle>
+struct Host< Pattern<TNeedle, SetHorspool> >
+{
+       typedef TNeedle Type;
+};
+
+template <typename TNeedle>
+struct Host< Pattern<TNeedle, SetHorspool> const>
+{
+       typedef TNeedle const Type;
+};
+
+//////////////////////////////////////////////////////////////////////////////
+// Functions
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TNeedle, typename TNeedle2>
+void setHost (Pattern<TNeedle, SetHorspool> & me, TNeedle2 const & needle) {
+       SEQAN_CHECKPOINT
+       typedef typename Value<TNeedle>::Type TKeyword;
+       typedef typename Size<TKeyword>::Type TSize;
+       typedef typename Value<TKeyword>::Type TAlphabet;
+
+       // clean-up
+       clear(me.data_reverseTrie);
+       clear(me.data_terminalStateMap);
+       clear(me.data_endPositions);
+       clear(me.data_dMap);
+       me.data_lmin=0;
+
+       // Create Trie
+       createTrieOnReverse(me.data_reverseTrie,me.data_terminalStateMap,needle);
+       assignRoot(me.data_reverseTrie,0);
+       setValue(me.data_needle, needle);
+
+       // Create jump map
+       TSize alphabet_size = ValueSize<TAlphabet>::VALUE;
+       resize(me.data_dMap, alphabet_size);
+       me.data_lmin = _getInfinity<TSize>();
+       typename Iterator<TNeedle2 const, Rooted>::Type it = begin(needle);
+       for(;!atEnd(it);goNext(it)) {
+               TSize tmp = length(*it);
+               if (tmp<me.data_lmin) me.data_lmin = tmp;
+       }
+       for(TSize i=0;i<alphabet_size;++i) {
+               me.data_dMap[i]=me.data_lmin;
+       }
+       goBegin(it);
+       for(;!atEnd(it);goNext(it)) {
+               for(TSize pos = 0;pos < length(*it) - 1; ++pos) {
+                       TSize ind = ordValue((TAlphabet)(*it)[pos]);    
+                       if ((length(*it)- 1 - pos) < me.data_dMap[ind]) {
+                               me.data_dMap[ind] = (length(*it) - 1 - pos);
+                       }
+               }
+       }
+
+       /*
+       fstream strm;
+       strm.open(TEST_PATH "my_trie.dot", ios_base::out | ios_base::trunc);
+       String<String<char> > nodeMap;
+       _createTrieNodeNames(me.data_reverseTrie, me.data_terminalStateMap, nodeMap);
+       String<String<char> > edgeMap;
+       _createEdgeNames(me.data_reverseTrie,edgeMap);
+       write(strm,me.data_reverseTrie,nodeMap,edgeMap,DotDrawing());
+       strm.close();
+       */
+}
+
+template <typename TNeedle, typename TNeedle2>
+void setHost (Pattern<TNeedle, SetHorspool> & me, TNeedle2 & needle)
+{
+       setHost(me, reinterpret_cast<TNeedle2 const &>(needle));
+}
+
+//____________________________________________________________________________
+
+
+template <typename TNeedle>
+inline void _patternInit (Pattern<TNeedle, SetHorspool> & me) 
+{
+SEQAN_CHECKPOINT
+       clear(me.data_endPositions);
+       me.data_keywordIndex = 0;
+       me.data_lastState = getRoot(me.data_reverseTrie);
+}
+
+
+//____________________________________________________________________________
+
+template <typename TNeedle>
+inline typename Host<Pattern<TNeedle, SetHorspool>const>::Type & 
+host(Pattern<TNeedle, SetHorspool> & me)
+{
+SEQAN_CHECKPOINT
+       return value(me.data_needle);
+}
+
+template <typename TNeedle>
+inline typename Host<Pattern<TNeedle, SetHorspool>const>::Type & 
+host(Pattern<TNeedle, SetHorspool> const & me)
+{
+SEQAN_CHECKPOINT
+       return value(me.data_needle);
+}
+
+//____________________________________________________________________________
+
+
+template <typename TNeedle>
+inline typename Size<TNeedle>::Type
+position(Pattern<TNeedle, SetHorspool> & me)
+{
+       return me.data_keywordIndex;
+}
+
+
+template <typename TFinder, typename TNeedle>
+inline bool find(TFinder & finder, Pattern<TNeedle, SetHorspool> & me) {
+       SEQAN_CHECKPOINT
+       typedef typename Value<TNeedle>::Type TKeyword;
+       typedef typename Size<TKeyword>::Type TSize;
+       typedef typename Value<TKeyword>::Type TAlphabet;
+       typedef Graph<Automaton<TAlphabet> > TGraph;
+       typedef typename VertexDescriptor<TGraph>::Type TVertexDescriptor;
+
+       TVertexDescriptor current = getRoot(me.data_reverseTrie); 
+
+       // Process left-over hits
+       if ((!empty(finder)) &&
+               (!empty(me.data_endPositions))) {
+               finder += me.data_needleLength;
+               current = me.data_lastState;
+               me.data_keywordIndex = me.data_endPositions[length(me.data_endPositions)-1];
+               me.data_needleLength = length(getValue(host(me), me.data_keywordIndex))-1;
+               if (length(me.data_endPositions) > 1) resize(me.data_endPositions, (length(me.data_endPositions)-1));
+               else clear(me.data_endPositions);
+               me.data_lastState = current;
+               finder -= me.data_needleLength;
+               return true;
+       }
+
+       TVertexDescriptor nilVal = getNil<TVertexDescriptor>();
+       TSize j = 0;
+       if (empty(finder)) {
+               _patternInit(me);
+               _finderSetNonEmpty(finder);
+               finder += me.data_lmin - 1;
+       } else {
+               finder += me.data_needleLength;
+               j = me.data_needleLength + 1;
+               current = me.data_lastState;
+       }
+
+       TSize haystackLength = length(container(finder));
+       bool oldMatch = true;
+       // Do not change to !atEnd(finder) because of jump map!
+       while(position(finder) < haystackLength) {
+               while ((position(finder)>=j) && 
+                               (getSuccessor(me.data_reverseTrie, current, *(finder-j))!= nilVal))
+               {
+                       me.data_endPositions = getProperty(me.data_terminalStateMap,current);
+                       if ((!oldMatch) && (!empty(me.data_endPositions))) break;
+                       current = getSuccessor(me.data_reverseTrie, current, *(finder-j));
+                       if (current == nilVal) break;
+                       ++j;
+                       oldMatch = false;
+               }
+               me.data_endPositions = getProperty(me.data_terminalStateMap,current);
+               if ((!oldMatch) &&
+                       (!empty(me.data_endPositions)))
+               {
+                       me.data_keywordIndex = me.data_endPositions[length(me.data_endPositions)-1];
+                       me.data_needleLength = length(getValue(host(me), me.data_keywordIndex))-1;
+                       if (length(me.data_endPositions) > 1) resize(me.data_endPositions, length(me.data_endPositions)-1);
+                       else clear(me.data_endPositions);
+                       me.data_lastState = current;
+                       finder -= me.data_needleLength;
+                       return true;
+               }
+               oldMatch = false;
+               TSize ind = ordValue(*finder);
+               setPosition(finder, position(finder) + getValue(me.data_dMap, ind));
+               j = 0;
+               current = getRoot(me.data_reverseTrie);
+       }
+       return false;
+}
+
+}// namespace SEQAN_NAMESPACE_MAIN
+
+#endif //#ifndef SEQAN_HEADER_FIND_SETHORSPOOL_H
diff --git a/SeqAn-1.1/seqan/index.h b/SeqAn-1.1/seqan/index.h
new file mode 100644 (file)
index 0000000..ddb3eac
--- /dev/null
@@ -0,0 +1,113 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: index.h,v 1.6 2009/03/13 14:46:42 langmead Exp $
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_INDEX_H
+#define SEQAN_HEADER_INDEX_H
+
+//____________________________________________________________________________
+// prerequisites
+
+#include <seqan/sequence.h>
+//#include <seqan/pipe.h>
+//#include <seqan/modifier.h>
+
+#include <seqan/find/find_base.h>
+//#include <seqan/misc/misc_set.h>
+
+#include <climits>
+#include <functional>
+#include <vector>
+#include <stack>
+#include <queue>
+#include <algorithm>
+#include <iterator>
+#include <utility>
+#include <string.h> // memset
+
+
+//////////////////////////////////////////////////////////////////////////////
+// INDEX CONSTRUCTION
+//////////////////////////////////////////////////////////////////////////////
+
+
+#ifdef SEQAN_SWITCH_USE_FORWARDS
+#include <seqan/index/index_manual_forwards.h>
+#include <seqan/index/index_generated_forwards.h>
+#endif
+
+#include <seqan/index/index_base.h>
+
+//____________________________________________________________________________
+// suffix array creators
+
+//#include <seqan/index/radix.h>
+//#include <seqan/index/index_sa_btree.h>
+#include <seqan/index/index_sa_lss.h>
+//#include <seqan/index/index_sa_mm.h>
+//#include <seqan/index/index_sa_qsort.h>
+//
+//#include <seqan/index/pump_extender3.h>
+//#include <seqan/index/pipe_merger3.h>
+//
+//#include <seqan/index/pump_extender7.h>
+//#include <seqan/index/pipe_merger7.h>
+
+//#include <seqan/index/pump_separator7.h>
+
+//____________________________________________________________________________
+// enhanced table creators
+
+//#include <seqan/index/pump_lcp_core.h>
+
+//____________________________________________________________________________
+// q-gram index creator
+
+#include <seqan/index/shape_base.h>
+#include <seqan/index/shape_gapped.h>
+#include <seqan/index/shape_predefined.h>
+//#include <seqan/index/index_qgram.h>
+//#include <seqan/index/index_qgram_nested.h>
+
+
+//////////////////////////////////////////////////////////////////////////////
+// INDEX USAGE
+//////////////////////////////////////////////////////////////////////////////
+
+#include <seqan/index/index_qgram_find.h>
+#include <seqan/index/index_find.h>
+
+//____________________________________________________________________________
+// (virtual) suffix trees
+
+//____________________________________________________________________________
+// suffix tree algorithms
+
+//____________________________________________________________________________
+// Pizza & Chili interface (compressed indices)
+
+//#include <seqan/index/index_pizzachili.h>
+//#include <seqan/index/index_pizzachili_find.h>
+
+//____________________________________________________________________________
+// Shawarma interface (suffix array creators)
+
+//#include <seqan/index/index_shawarma.h>
+
+#endif //#ifndef SEQAN_HEADER_...
diff --git a/SeqAn-1.1/seqan/index/index_base.h b/SeqAn-1.1/seqan/index/index_base.h
new file mode 100644 (file)
index 0000000..12d89ad
--- /dev/null
@@ -0,0 +1,954 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: index_base.h,v 1.3 2009/03/13 14:34:32 langmead Exp $
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_INDEX_BASE_H
+#define SEQAN_HEADER_INDEX_BASE_H
+
+//#define SEQAN_TEST_INDEX
+
+namespace SEQAN_NAMESPACE_MAIN
+{
+
+//////////////////////////////////////////////////////////////////////////////
+// needful forward declarations
+
+       // suffix array construction specs
+       struct Skew3;
+       struct Skew7;
+       struct LarssonSadakane;
+       struct ManberMyers;
+       struct SAQSort;
+       struct QGram_Alg;
+
+       // lcp table construction algorithms
+       struct Kasai;
+       struct KasaiOriginal;   // original, but more space-consuming algorithm
+
+       // enhanced suffix array construction algorithms
+       struct ChildTab;
+       struct BWT;
+
+       template <typename TSpec = void>
+       struct Index_ESA;
+
+
+//////////////////////////////////////////////////////////////////////////////
+/**
+.Metafunction.DefaultIndexSpec:
+..cat:Index
+..summary:Default @Class.Index@ specialization type.
+..signature:DefaultIndexSpec<TText>::Type
+..param.TText:The given text type.
+..returns:Can be @Spec.Index_ESA@ or $Index_QGram$, etc.
+..remarks:Currently @Spec.Index_ESA@ is default if $TText$ is a @Class.String@.
+*/
+    template < typename TObject >
+    struct DefaultIndexSpec {
+        typedef Index_ESA<> Type;
+    };
+
+//////////////////////////////////////////////////////////////////////////////
+/**
+.Metafunction.DefaultIndexStringSpec:
+..cat:Index
+..summary:Default @Class.String@ specialization type of the @Metafunction.Fibre@ of an @Class.Index@.
+..signature:DefaultIndexStringSpec<TIndex>::Type
+..param.TIndex:An @Class.Index@ Type.
+..returns:If the underlying text is a @Class.String@ or a set of Strings (see @Class.StringSet@) the String's spec. type is returned.
+..remarks:Most of the @Class.Index@ fibres are strings. The @Class.String@ specialization type is chosen by this meta-function.
+*/
+    template < typename TIndex >
+    struct DefaultIndexStringSpec {
+        typedef Alloc<> Type;
+    };
+
+//    template < typename TValue, typename TSpec >
+//    struct DefaultIndexStringSpec< String<TValue, External<TSpec> > > {
+//        typedef External<TSpec> Type;
+//    };
+
+       template < typename TString, typename TSpec >
+       struct DefaultIndexStringSpec< StringSet<TString, TSpec> >:
+               DefaultIndexStringSpec<TString> {};
+
+
+//////////////////////////////////////////////////////////////////////////////
+/**
+.Class.Index:
+..summary:Contains preprocessing data of a fixed text. Allows fast dictionary look-up and advanced computations.
+..cat:Index
+..signature:Index<TText[, TSpec]>
+..param.TText:The text type.
+...type:Class.String
+...metafunction:Metafunction.Host
+..param.TSpec:The index type.
+...default:The result of @Metafunction.DefaultIndexSpec@
+...metafunction:Metafunction.Spec
+..remarks:An index contains various arrays or objects, also called fibres (see @Metafunction.Fibre@).
+..remarks:These fibres are created on demand depending on the requirements of an algorithm.
+*/
+
+///.Function.setHaystack.param.haystack.type:Class.Index
+
+       // index as a haystack
+       template <
+        typename TObject,
+        typename TSpec = typename DefaultIndexSpec<TObject>::Type >
+       class Index;
+
+       template <typename TObject, typename TSpec>
+       struct Host< Index<TObject, TSpec> > {
+               typedef TObject Type;
+       };
+
+       template <typename TObject, typename TSpec>
+       struct Spec< Index<TObject, TSpec> > {
+               typedef TSpec Type;
+       };
+
+
+//////////////////////////////////////////////////////////////////////////////
+/**
+.Metafunction.Fibre:
+..summary:Type of a specific bundle member (fibre).
+..signature:Fibre<TIndex, TSpec>::Type
+..cat:Index
+..param.TIndex:The fibre container type.
+..param.TSpec:Type to specify the fibre.
+..returns:Fibre type.
+..remarks:An @Class.Index@ can be seen as a bundle consisting of various fibres. In most cases this type is $String<Size<TIndex>::Type>$.
+..remarks:A @Metafunction.Fibre@ need not to be a real container. It can also be view (see @Tag.ESA Index Fibres.ESA_RawText@).
+*/
+       // meta function to get the type of a bundle fibre
+       template < typename TIndex, typename TSpec >
+       struct Fibre {
+               typedef String< typename Size<TIndex>::Type > Type;
+       };
+
+       template < typename TIndex, typename TSpec >
+       struct Fibre<TIndex const, TSpec> {
+               typedef typename Fibre<TIndex, TSpec>::Type const Type;
+       };
+
+       struct FibreRecord {
+               unsigned        id;
+               void*           ptr;
+               bool            owner;
+       };
+
+       // less function to search in sorted list for fibre id
+       struct FibreLess: public ::std::binary_function<FibreRecord, unsigned, bool>
+       {       // functor for operator>
+               inline bool operator()(FibreRecord const & _Left, unsigned const _Right) const
+               {       // apply operator> to operands
+                       return (_Left.id < _Right);
+               }
+       };
+
+//////////////////////////////////////////////////////////////////////////////
+/**
+.Metafunction.DefaultIndexCreator:
+..cat:Index
+..summary:Default algorithm to create a demanded and not yet existing @Metafunction.Fibre@.
+..signature:DefaultIndexCreator<TIndex, TFibre>::Type
+..param.TIndex:An @Class.Index@ Type.
+..param.TFibre:A tag specifying the fibre (e.g. @Tag.ESA Index Fibres.ESA_SA@).
+..returns:A tag specifying the default algorithm to create the fibre with.
+*/
+    // standard algorithm for indices creation
+    template < typename TIndex, typename TFibre >
+       struct DefaultIndexCreator {
+               typedef Default Type;
+       };
+
+//////////////////////////////////////////////////////////////////////////////
+/**
+       .Class.Bundle:
+       ..summary:General purpose container of various members.
+       ..signature:Bundle<TValue, TSize>
+       ..param.TValue:The value type, that is the type of the items/characters stored in the string.
+       ...remarks:Use @Metafunction.Value@ to get the value type for a given class.
+       ..param.TSpec:The specializing type.
+       ...default:$Alloc<>$, see @Spec.Alloc String@.
+*/
+/*
+       template < typename TSpec = void >
+       struct Bundle {
+               typedef ::std::vector<FibreRecord>      TFibreRecords;
+               TFibreRecords                                           fibres;
+       };
+
+       template < typename TBundleSpec, typename TFibreSpec >
+       inline FibreRecord& getRecord(Bundle<TBundleSpec> &bundle, TFibreSpec const) {
+               unsigned id = (unsigned)_ClassIdentifier<TFibreSpec>::getID();
+
+               typename Bundle<TBundleSpec>::TFibreRecords::iterator first = lower_bound(bundle.fibres.begin(), bundle.fibres.end(), id, FibreLess());
+               if (!first->id != id) {
+                       FibreRecord rec;
+                       rec.id = id;
+                       rec.ptr = NULL;
+                       rec.owner = true;
+                       bundle.fibres.insert(first, rec);
+               } else
+                       return *first;
+       }
+
+       template < typename TBundleSpec, typename TFibreSpec >
+       inline typename Fibre<Bundle<TBundleSpec>, TFibreSpec>::Type & getFibre(Bundle<TBundleSpec> &bundle, TFibreSpec const) {
+               typedef typename Fibre<Bundle<TBundleSpec>, TFibreSpec>::Type Type;
+               unsigned id = (unsigned)_ClassIdentifier<TFibreSpec>::getID();
+
+               FibreRecord &rec = getRecord(bundle, TFibreSpec());
+               if (!rec.ptr)
+                       rec.ptr = new Type();
+               return *reinterpret_cast<Type*>(rec.ptr);
+       }
+
+       template < typename TBundleSpec, typename TFibreSpec >
+       inline typename Fibre<Bundle<TBundleSpec>, TFibreSpec>::Type const & getFibre(Bundle<TBundleSpec> const &bundle, TFibreSpec const) {
+               typedef typename Fibre<Bundle<TBundleSpec>, TFibreSpec>::Type Type;
+               unsigned id = (unsigned)_ClassIdentifier<TFibreSpec>::getID();
+
+               FibreRecord &rec = getRecord(bundle, TFibreSpec());
+               return *reinterpret_cast<Type*>(rec.ptr);
+       }
+*/
+
+//////////////////////////////////////////////////////////////////////////////
+// various fibre specs for enhanced suffix arrays
+
+       struct _Fibre_Text;             // Original text. Can be a String or a StringSet
+       struct _Fibre_RawText;  // Concatenation of the strings above
+       struct _Fibre_SA;               // suffix array (of raw text with virtual $-delimiters) with Pair entries
+       struct _Fibre_RawSA;    // suffix array with integer entries
+       struct _Fibre_SAE;              // suffix array reordered in a b-tree
+       struct _Fibre_LCP;              // lcp table of raw text
+       struct _Fibre_LCPE;             // lcp interval tree
+       struct _Fibre_ChildTab; // childtab (Kurtz et al.) of raw text
+       struct _Fibre_BWT;              // burrows wheeler table of raw text
+
+       typedef Tag<_Fibre_Text> const          Fibre_Text;
+       typedef Tag<_Fibre_RawText> const       Fibre_RawText;
+       typedef Tag<_Fibre_SA> const            Fibre_SA;
+       typedef Tag<_Fibre_RawSA> const         Fibre_RawSA;
+       typedef Tag<_Fibre_SAE> const           Fibre_SAE;
+       typedef Tag<_Fibre_LCP> const           Fibre_LCP;
+       typedef Tag<_Fibre_LCPE> const          Fibre_LCPE;
+       typedef Tag<_Fibre_ChildTab> const      Fibre_ChildTab;
+       typedef Tag<_Fibre_BWT> const           Fibre_BWT;
+
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Metafunction.SAValue:
+..cat:Index
+..summary:The default alphabet type of a suffix array, i.e. the type to store a position of a string or string set.
+..signature:SAValue<TObject>::Type
+..param.TObject:A string, string set, or index type.
+...type:Class.String
+...type:Class.StringSet
+...type:Class.Index
+..returns:A type to store a position.
+...text:If $TObject$ is a @Class.String@, it is a single integer value. By default this is the @Metafunction.Size@ type of $TObject$.
+...text:If $TObject$ is a @Class.StringSet@, it could be a single integer too (called global position, see @Spec.ConcatDirect@) or a @Class.Pair@ (called local position, see @Spec.Owner@).
+Currently SeqAn defaults to a local position for @Class.StringSet@ classes (index_base.h):
+...code:template < typename TString, typename TSpec >
+struct SAValue< StringSet<TString, TSpec> > {
+       typedef Pair<
+               typename Size< StringSet<TString, TSpec> >::Type,
+               typename SAValue<TString>::Type,
+               Compressed
+       > Type;
+};
+..note:SAValue is the return type of various function, e.g. @Function.position@ for the @Class.Index@ @Class.Finder@ class, @Function.getOccurrence@, @Function.getOccurrences@ etc.
+You should always use the type of this meta-function to store the return values.
+If you want to write algorithms for both variants (local and global positions) you
+should use the functions @Function.posLocalize@, @Function.posGlobalize@, @Function.getSeqNo@ and @Function.getSeqOffset@.
+..note:If $TObject$ is an @Class.Index@, @Metafunction.Position@ returns the same value as $SAValue$. You can change the position type of an index by overloading $SAValue$, not @Metafunction.Position@.
+*/
+       template <typename TObject>
+       struct SAValue:
+               Size<TObject> {};
+
+       template <typename TObject>
+       struct SAValue<TObject const>:
+               SAValue<TObject> {};
+
+       // to speed up sequence number computation
+       // we use a pair of seqNo and localPosition
+       template < typename TString, typename TSpec >
+       struct SAValue< StringSet<TString, TSpec> > {
+               typedef Pair<
+                       typename Size< StringSet<TString, TSpec> >::Type,
+                       typename SAValue<TString>::Type,
+                       Compressed
+               > Type;
+       };
+
+/*
+       template < typename TString, typename TSpec >
+       struct SAValue< StringSet<TString, TSpec> > {
+               typedef Pair<
+                       typename Size< StringSet<TString, TSpec> >::Type,
+                       typename SAValue<TString>::Type,
+                       CutCompressed<4>                                                // max. 4 sequences
+               > Type;                                                                         // max. 2^30 characters each
+       };
+*/
+       template < typename TText, typename TSpec >
+       struct SAValue< Index<TText, TSpec> >:
+               SAValue<TText> {};
+
+       template < typename TObject, typename TSpec >
+       struct DefaultIndexStringSpec< Index<TObject, TSpec> >:
+               DefaultIndexStringSpec<TObject> {};
+
+//////////////////////////////////////////////////////////////////////////////
+// value and size type of an index
+
+       template < typename TText, typename TSpec >
+    struct Value< Index<TText, TSpec> > {
+               typedef typename Value<
+                       typename Fibre< Index<TText, TSpec>, Fibre_RawText>::Type
+               >::Type Type;
+    };
+
+       template < typename TText, typename TSpec >
+    struct Size< Index<TText, TSpec> > {
+               typedef typename Size<
+                       typename Fibre< Index<TText, TSpec>, Fibre_RawText>::Type
+               >::Type Type;
+    };
+
+       template < typename TText, typename TSpec >
+       struct Position< Index<TText, TSpec> >:
+               SAValue< Index<TText, TSpec> > {};
+
+//////////////////////////////////////////////////////////////////////////////
+// default table type
+
+       template < typename TObject, typename TSpec, typename TFibre >
+       struct Fibre< Index<TObject, TSpec>, Tag<TFibre> const > {
+               typedef String<
+                       typename Size< Index<TObject, TSpec> >::Type,
+                       typename DefaultIndexStringSpec< Index<TObject, TSpec> >::Type
+               > Type;
+       };
+
+//////////////////////////////////////////////////////////////////////////////
+// original text
+
+       template < typename TText, typename TSpec >
+       struct Fibre< Index<TText, TSpec>, Fibre_Text> {
+               typedef TText Type;
+       };
+
+//////////////////////////////////////////////////////////////////////////////
+// concatenated text
+
+       template < typename TText, typename TSpec >
+       struct Fibre< Index<TText, TSpec>, Fibre_RawText> {
+               typedef typename Concatenator<TText>::Type Type;
+       };
+
+//////////////////////////////////////////////////////////////////////////////
+// suffix array type
+
+       template < typename TText, typename TSpec >
+       struct Fibre< Index<TText, TSpec>, Fibre_SA> {
+               typedef String<
+                       typename SAValue< Index<TText, TSpec> >::Type,
+                       typename DefaultIndexStringSpec< Index<TText, TSpec> >::Type
+               > Type;
+       };
+
+//////////////////////////////////////////////////////////////////////////////
+// globalize functor
+
+       template <typename InType, typename TLimitsString, typename Result = typename Value<TLimitsString>::Type>
+       struct FunctorGlobalize : public ::std::unary_function<InType,Result> {
+               TLimitsString const *limits;
+
+               FunctorGlobalize() {}
+               FunctorGlobalize(TLimitsString const &_limits) : limits(&_limits) {}
+        inline Result operator()(const InType& x) const
+        {
+                       return posGlobalize(x, *limits);
+               }
+    };
+
+//////////////////////////////////////////////////////////////////////////////
+// raw suffix array contains integer offsets relative to raw text
+
+       template < typename TString, typename TSSetSpec, typename TSpec >
+       struct Fibre< Index<StringSet<TString, TSSetSpec>, TSpec>, Fibre_RawSA>
+       {
+               typedef Index< StringSet<TString, TSSetSpec>, TSpec> TIndex;
+//             typedef ModifiedString<
+//                     typename Fibre<TIndex, Fibre_SA>::Type,
+//                     ModView< FunctorGlobalize<
+//                             typename Value< typename Fibre<TIndex, Fibre_SA>::Type >::Type,
+//                             typename StringSetLimits<StringSet<TString, TSSetSpec> >::Type >
+//                     >
+//             > Type;
+       };
+
+//////////////////////////////////////////////////////////////////////////////
+// default burrows-wheeler table
+
+       template < typename TText, typename TSpec >
+       struct Fibre< Index<TText, TSpec>, Fibre_BWT> {
+               typedef String <
+                       typename Value< Index<TText, TSpec> >::Type,
+                       typename DefaultIndexStringSpec< Index<TText, TSpec> >::Type
+               > Type;
+       };
+
+
+//////////////////////////////////////////////////////////////////////////////
+// default fibre creators
+
+       template < typename TText, typename TSpec >
+       struct DefaultIndexCreator<Index<TText, TSpec>, Fibre_SA> {
+        typedef Skew7 Type;                                                    // standard suffix array creator is skew7
+    };
+
+       template < typename TText, typename TSpec >
+       struct DefaultIndexCreator<Index<TText, TSpec>, Fibre_LCP> {
+        typedef Kasai Type;
+    };
+
+       template < typename TText, typename TSpec >
+       struct DefaultIndexCreator<Index<TText, TSpec>, Fibre_BWT> {
+        typedef BWT Type;
+    };
+
+       template < typename TText, typename TSpec >
+       struct DefaultIndexCreator<Index<TText, TSpec>, Fibre_ChildTab> {
+        typedef ChildTab Type;
+    };
+
+
+//////////////////////////////////////////////////////////////////////////////
+// fibre interface to access the enhanced suffix array tables
+
+/**
+.Function.getFibre:
+..summary:Returns a specific @Metafunction.Fibre@ of an @Class.Index@ object.
+..cat:Index
+..signature:getFibre(index, fibre_tag)
+..param.index:The @Class.Index@ object holding the fibre.
+...type:Class.Index
+..param.fibre_tag:A tag that identifies the @Metafunction.Fibre@ (e.g. @Tag.ESA Index Fibres.ESA_SA@).
+..returns:A reference to the @Metafunction.Fibre@ object.
+*/
+
+       template <typename TText, typename TSpec>
+       inline Holder<TText> & _dataHost(Index<TText, TSpec> &index) {
+               return index.text;
+       }
+       template <typename TText, typename TSpec>
+       inline Holder<TText> const & _dataHost(Index<TText, TSpec> const &index) {
+               return index.text;
+       }
+
+//////////////////////////////////////////////////////////////////////////////
+
+       template <typename TText, typename TSpec>
+       inline typename Fibre<Index<TText, TSpec>, Fibre_Text>::Type &
+       getFibre(Index<TText, TSpec> &index, Fibre_Text) {
+               return value(index.text);
+       }
+       template <typename TText, typename TSpec>
+       inline typename Fibre<Index<TText, TSpec> const, Fibre_Text>::Type &
+       getFibre(Index<TText, TSpec> const &index, Fibre_Text) {
+               return value(index.text);
+       }
+
+//////////////////////////////////////////////////////////////////////////////
+
+       template <typename TText, typename TSpec>
+       inline typename Fibre<Index<TText, TSpec>, Fibre_RawText>::Type &
+       getFibre(Index<TText, TSpec> &index, Fibre_RawText) {
+               return concat(value(index.text));
+       }
+       template <typename TText, typename TSpec>
+       inline typename Fibre<Index<TText, TSpec> const, Fibre_RawText>::Type &
+       getFibre(Index<TText, TSpec> const &index, Fibre_RawText) {
+               return concat(value(index.text));
+       }
+
+//////////////////////////////////////////////////////////////////////////////
+
+       template <typename TText, typename TSpec>
+       inline typename Fibre<Index<TText, TSpec>, Fibre_SA>::Type &
+       getFibre(Index<TText, TSpec> &index, Fibre_SA) {
+               return index.sa;
+       }
+       template <typename TText, typename TSpec>
+       inline typename Fibre<Index<TText, TSpec> const, Fibre_SA>::Type &
+       getFibre(Index<TText, TSpec> const &index, Fibre_SA) {
+               return index.sa;
+       }
+
+//////////////////////////////////////////////////////////////////////////////
+
+       template <typename TText, typename TSpec>
+       inline typename Fibre<Index<TText, TSpec> const, Fibre_SA>::Type &
+       getFibre(Index<TText, TSpec> &index, Fibre_RawSA) {
+               return indexSA(index);
+       }
+/*
+       template <typename TText, typename TSpec>
+       inline typename Fibre<Index<TText, TSpec> const, Fibre_SA>::Type &
+       getFibre(Index<TText, TSpec> const &index, Fibre_RawSA) {
+               return indexSA(index);
+       }
+*/
+       template <typename TString, typename TSSetSpec, typename TSpec>
+       inline typename Fibre<Index<StringSet<TString, TSSetSpec>, TSpec>, Fibre_RawSA>::Type
+       getFibre(Index<StringSet<TString, TSSetSpec>, TSpec> &index, Fibre_RawSA)
+       {
+               typedef Index< StringSet<TString, TSSetSpec>, TSpec> TIndex;
+
+               typedef FunctorGlobalize<
+                       typename Value< typename Fibre<TIndex, Fibre_SA>::Type >::Type,
+                       typename StringSetLimits<StringSet<TString, TSSetSpec> >::Type
+               > TFunctor;
+
+//             typedef ModifiedString<
+//                     typename Fibre<Index<StringSet<TString, TSSetSpec>, TSpec>, Fibre_SA>::Type,
+//                     ModView< TFunctor >
+//             > ModString;
+
+               return ModString(indexSA(index), TFunctor(stringSetLimits(indexText(index))));
+       }
+
+//////////////////////////////////////////////////////////////////////////////
+
+       template <typename TText, typename TSpec>
+       inline typename Fibre<Index<TText, TSpec>, Fibre_LCP>::Type &
+       getFibre(Index<TText, TSpec> &index, Fibre_LCP) {
+               return index.lcp;
+       }
+       template <typename TText, typename TSpec>
+       inline typename Fibre<Index<TText, TSpec> const, Fibre_LCP>::Type &
+       getFibre(Index<TText, TSpec> const &index, Fibre_LCP) {
+               return index.lcp;
+       }
+
+//////////////////////////////////////////////////////////////////////////////
+
+       template <typename TText, typename TSpec>
+       inline typename Fibre<Index<TText, TSpec>, Fibre_LCPE>::Type &
+       getFibre(Index<TText, TSpec> &index, Fibre_LCPE) {
+               return index.lcpe;
+       }
+       template <typename TText, typename TSpec>
+       inline typename Fibre<Index<TText, TSpec> const, Fibre_LCPE>::Type &
+       getFibre(Index<TText, TSpec> const &index, Fibre_LCPE) {
+               return index.lcpe;
+       }
+
+//////////////////////////////////////////////////////////////////////////////
+
+       template <typename TText, typename TSpec>
+       inline typename Fibre<Index<TText, TSpec>, Fibre_ChildTab>::Type &
+       getFibre(Index<TText, TSpec> &index, Fibre_ChildTab) {
+               return index.childtab;
+       }
+       template <typename TText, typename TSpec>
+       inline typename Fibre<Index<TText, TSpec> const, Fibre_ChildTab>::Type &
+       getFibre(Index<TText, TSpec> const &index, Fibre_ChildTab) {
+               return index.childtab;
+       }
+
+//////////////////////////////////////////////////////////////////////////////
+
+       template <typename TText, typename TSpec>
+       inline typename Fibre<Index<TText, TSpec>, Fibre_BWT>::Type &
+       getFibre(Index<TText, TSpec> &index, Fibre_BWT) {
+               return index.bwt;
+       }
+       template <typename TText, typename TSpec>
+       inline typename Fibre<Index<TText, TSpec> const, Fibre_BWT>::Type &
+       getFibre(Index<TText, TSpec> const &index, Fibre_BWT) {
+               return index.bwt;
+       }
+
+//////////////////////////////////////////////////////////////////////////////
+///.Function.length.param.object.type:Class.Index
+
+       template <typename TText, typename TSpec>
+       inline typename Size<Index<TText, TSpec> >::Type
+       length(Index<TText, TSpec> const &index) {
+               return length(indexRawText(index));
+       }
+
+//////////////////////////////////////////////////////////////////////////////
+
+       template <typename TText, typename TSpec>
+       inline typename Size<TText>::Type
+       countSequences(Index<TText, TSpec> const &index) {
+               return countSequences(indexText(index));
+       }
+
+//////////////////////////////////////////////////////////////////////////////
+
+       template <typename TSeqNo, typename TText, typename TSpec>
+       inline typename Size<Index<TText, TSpec> >::Type
+       sequenceLength(TSeqNo seqNo, Index<TText, TSpec> const &index) {
+               return sequenceLength(seqNo, indexText(index));
+       }
+
+//////////////////////////////////////////////////////////////////////////////
+
+       template <typename TPos, typename TText, typename TSpec>
+       inline typename Size<Index<TText, TSpec> >::Type
+       suffixLength(TPos pos, Index<TText, TSpec> const &index) {
+               return sequenceLength(getSeqNo(pos, stringSetLimits(index)), index) - getSeqOffset(pos, stringSetLimits(index));
+       }
+
+
+//////////////////////////////////////////////////////////////////////////////
+// unified textAt interface
+
+       template <typename TPos, typename TIndex>
+       inline typename Reference<typename Fibre<TIndex, Fibre_RawText>::Type>::Type
+       textAt(TPos i, TIndex &index) {
+               return value(getFibre(index, Fibre_RawText()), i);
+       }
+       template <typename TPos, typename TString, typename TSSetSpec, typename TSpec>
+       inline typename Reference<typename Fibre< Index< StringSet<TString, TSSetSpec>, TSpec>, Fibre_RawText>::Type>::Type
+       textAt(TPos i, Index< StringSet<TString, TSSetSpec>, TSpec> &index) {
+               return value(getFibre(index, Fibre_RawText()), posGlobalize(i, stringSetLimits(index)));
+       }
+       template <typename TPos, typename TString, typename TSpec>
+       inline typename Reference<typename Fibre< Index< StringSet<TString, Owner<Default> >, TSpec>, Fibre_RawText>::Type>::Type
+       textAt(TPos i, Index< StringSet<TString, Owner<Default> >, TSpec> &index) {
+               Pair <
+                       typename Size< StringSet<TString, Owner<Default> > >::Type,
+                       typename Size< TString >::Type > locPos;
+               posLocalize(locPos, i, stringSetLimits(index));
+               return value(value(getFibre(index, Fibre_Text()), getValueI1(locPos)), getValueI2(locPos));
+       }
+
+//////////////////////////////////////////////////////////////////////////////
+/**
+.Function.rawtextAt:
+..summary:Shortcut for $value(indexRawText(..), ..)$.
+..cat:Index
+..signature:rawtextAt(position, index)
+..param.position:A position in the array on which the value should be accessed.
+..param.index:The @Class.Index@ object holding the fibre.
+...type:Spec.Index_ESA
+..returns:A reference or proxy to the value.
+*/
+
+       template <typename TPos, typename TIndex>
+       inline typename Reference<typename Fibre<TIndex, Fibre_RawText>::Type>::Type rawtextAt(TPos i, TIndex &index) {
+               return value(getFibre(index, Fibre_RawText()), i);
+       }
+       template <typename TPos, typename TIndex>
+       inline typename Reference<typename Fibre<TIndex const, Fibre_RawText>::Type>::Type rawtextAt(TPos i, TIndex const &index) {
+               return value(getFibre(index, Fibre_RawText()), i);
+       }
+
+//////////////////////////////////////////////////////////////////////////////
+/**
+.Function.saAt:
+..summary:Shortcut for $value(indexSA(..), ..)$.
+..cat:Index
+..signature:saAt(position, index)
+..param.position:A position in the array on which the value should be accessed.
+..param.index:The @Class.Index@ object holding the fibre.
+...type:Spec.Index_ESA
+..returns:A reference or proxy to the value.
+*/
+
+       template <typename TPos, typename TIndex>
+       inline typename Reference<typename Fibre<TIndex, Fibre_SA>::Type>::Type saAt(TPos i, TIndex &index) {
+               return value(getFibre(index, Fibre_SA()), i);
+       }
+       template <typename TPos, typename TIndex>
+       inline typename Reference<typename Fibre<TIndex const, Fibre_SA>::Type>::Type saAt(TPos i, TIndex const &index) {
+               return value(getFibre(index, Fibre_SA()), i);
+       }
+
+       template <typename TPos, typename TIndex>
+       inline typename Value<typename Fibre<TIndex const, Fibre_RawSA>::Type>::Type rawsaAt(TPos i, TIndex const &index) {
+               return posGlobalize(saAt(i, index), stringSetLimits(indexText(index)));
+       }
+
+
+//////////////////////////////////////////////////////////////////////////////
+/**
+.Function.lcpAt:
+..summary:Shortcut for $value(indexLCP(..), ..)$.
+..cat:Index
+..signature:lcpAt(position, index)
+..param.position:A position in the array on which the value should be accessed.
+..param.index:The @Class.Index@ object holding the fibre.
+...type:Spec.Index_ESA
+..returns:A reference or proxy to the value.
+*/
+
+       template <typename TPos, typename TIndex>
+       inline typename Reference<typename Fibre<TIndex, Fibre_LCP>::Type>::Type lcpAt(TPos i, TIndex &index) {
+               return value(getFibre(index, Fibre_LCP()), i);
+       }
+       template <typename TPos, typename TIndex>
+       inline typename Reference<typename Fibre<TIndex const, Fibre_LCP>::Type>::Type lcpAt(TPos i, TIndex const &index) {
+               return value(getFibre(index, Fibre_LCP()), i);
+       }
+
+//////////////////////////////////////////////////////////////////////////////
+/**
+.Function.lcpeAt:
+..summary:Shortcut for $value(indexLCPE(..), ..)$.
+..cat:Index
+..signature:lcpeAt(position, index)
+..param.position:A position in the array on which the value should be accessed.
+..param.index:The @Class.Index@ object holding the fibre.
+...type:Spec.Index_ESA
+..returns:A reference or proxy to the value.
+*/
+
+       template <typename TPos, typename TIndex>
+       inline typename Reference<typename Fibre<TIndex, Fibre_LCPE>::Type>::Type lcpeAt(TPos i, TIndex &index) {
+               return value(getFibre(index, Fibre_LCPE()), i);
+       }
+       template <typename TPos, typename TIndex>
+       inline typename Reference<typename Fibre<TIndex const, Fibre_LCPE>::Type>::Type lcpeAt(TPos i, TIndex const &index) {
+               return value(getFibre(index, Fibre_LCPE()), i);
+       }
+
+//////////////////////////////////////////////////////////////////////////////
+/**
+.Function.childAt:
+..summary:Shortcut for $value(indexChildTab(..), ..)$.
+..cat:Index
+..signature:childAt(position, index)
+..param.position:A position in the array on which the value should be accessed.
+..param.index:The @Class.Index@ object holding the fibre.
+...type:Spec.Index_ESA
+..returns:A reference or proxy to the value.
+*/
+
+       template <typename TPos, typename TIndex>
+       inline typename Reference<typename Fibre<TIndex, Fibre_ChildTab>::Type>::Type childAt(TPos i, TIndex &index) {
+               return value(getFibre(index, Fibre_ChildTab()), i);
+       }
+       template <typename TPos, typename TIndex>
+       inline typename Reference<typename Fibre<TIndex const, Fibre_ChildTab>::Type>::Type childAt(TPos i, TIndex const &index) {
+               return value(getFibre(index, Fibre_ChildTab()), i);
+       }
+
+//////////////////////////////////////////////////////////////////////////////
+/**
+.Function.bwtAt:
+..summary:Shortcut for $value(indexBWT(..), ..)$.
+..cat:Index
+..signature:bwtAt(position, index)
+..param.position:A position in the array on which the value should be accessed.
+..param.index:The @Class.Index@ object holding the fibre.
+...type:Spec.Index_ESA
+..returns:A reference or proxy to the value.
+*/
+
+       template <typename TPos, typename TIndex>
+       inline typename Reference<typename Fibre<TIndex, Fibre_BWT>::Type>::Type bwtAt(TPos i, TIndex &index) {
+               return value(getFibre(index, Fibre_BWT()), i);
+       }
+       template <typename TPos, typename TIndex>
+       inline typename Reference<typename Fibre<TIndex const, Fibre_BWT>::Type>::Type bwtAt(TPos i, TIndex const &index) {
+               return value(getFibre(index, Fibre_BWT()), i);
+       }
+
+//////////////////////////////////////////////////////////////////////////////
+// interface for infinity/invalid values
+
+       template <typename TValue>
+       inline void _setSizeInval(TValue &v) {
+               v = SupremumValue<TValue>::VALUE;
+       }
+
+       template <typename TValue>
+       inline bool _isSizeInval(TValue const &v) {
+               return v == SupremumValue<TValue>::VALUE;
+       }
+
+//////////////////////////////////////////////////////////////////////////////
+/**
+.Function.indexText:
+..summary:Shortcut for $getFibre(.., ESA_Text)$.
+..cat:Index
+..signature:indexText(index)
+..param.index:The @Class.Index@ object holding the fibre.
+...type:Spec.Index_ESA
+..returns:A reference to the @Tag.ESA Index Fibres.ESA_Text@ fibre (original text).
+*/
+
+       template <typename TText, typename TSpec>
+       inline typename Fibre<Index<TText, TSpec>, Fibre_Text>::Type & indexText(Index<TText, TSpec> &index) { return getFibre(index, Fibre_Text()); }
+       template <typename TText, typename TSpec>
+       inline typename Fibre<Index<TText, TSpec> const, Fibre_Text>::Type & indexText(Index<TText, TSpec> const &index) { return getFibre(index, Fibre_Text()); }
+
+//////////////////////////////////////////////////////////////////////////////
+
+       template <typename TText, typename TSpec>
+       inline typename StringSetLimits<TText const>::Type
+       stringSetLimits(Index<TText, TSpec> &) {
+               return Nothing();
+       }
+
+       template <typename TText, typename TSpec>
+       inline typename StringSetLimits<TText const>::Type
+       stringSetLimits(Index<TText, TSpec> const &) {
+               return Nothing();
+       }
+
+       template <typename TString, typename TSSetSpec, typename TSpec>
+       inline typename StringSetLimits< StringSet<TString, TSSetSpec> const >::Type &
+       stringSetLimits(Index<StringSet<TString, TSSetSpec>, TSpec> &index) {
+               return stringSetLimits(indexText(index));
+       }
+
+       template <typename TString, typename TSSetSpec, typename TSpec>
+       inline typename StringSetLimits< StringSet<TString, TSSetSpec> const >::Type &
+       stringSetLimits(Index<StringSet<TString, TSSetSpec>, TSpec> const &index) {
+               return stringSetLimits(indexText(index));
+       }
+
+//////////////////////////////////////////////////////////////////////////////
+/**
+.Function.indexRawText:
+..summary:Shortcut for $getFibre(.., ESA_RawText)$.
+..cat:Index
+..signature:indexRawText(index)
+..param.index:The @Class.Index@ object holding the fibre.
+...type:Spec.Index_ESA
+..returns:A reference to the @Tag.ESA Index Fibres.ESA_RawText@ fibre (concatenated input text).
+*/
+
+       template <typename TText, typename TSpec>
+       inline typename Fibre<Index<TText, TSpec>, Fibre_RawText>::Type & indexRawText(Index<TText, TSpec> &index) { return getFibre(index, Fibre_RawText()); }
+       template <typename TText, typename TSpec>
+       inline typename Fibre<Index<TText, TSpec> const, Fibre_RawText>::Type & indexRawText(Index<TText, TSpec> const &index) { return getFibre(index, Fibre_RawText()); }
+
+//////////////////////////////////////////////////////////////////////////////
+/**
+.Function.indexSA:
+..summary:Shortcut for $getFibre(.., ESA_SA)$.
+..cat:Index
+..signature:indexSA(index)
+..param.index:The @Class.Index@ object holding the fibre.
+...type:Spec.Index_ESA
+..returns:A reference to the @Tag.ESA Index Fibres.ESA_SA@ fibre (suffix array).
+*/
+
+       template <typename TText, typename TSpec>
+       inline typename Fibre<Index<TText, TSpec>, Fibre_SA>::Type & indexSA(Index<TText, TSpec> &index) { return getFibre(index, Fibre_SA()); }
+       template <typename TText, typename TSpec>
+       inline typename Fibre<Index<TText, TSpec> const, Fibre_SA>::Type & indexSA(Index<TText, TSpec> const &index) { return getFibre(index, Fibre_SA()); }
+
+//////////////////////////////////////////////////////////////////////////////
+/**
+.Function.indexRawSA:
+..summary:Shortcut for $getFibre(.., ESA_RawSA)$.
+..cat:Index
+..signature:indexRawSA(index)
+..param.index:The @Class.Index@ object holding the fibre.
+...type:Spec.Index_ESA
+..returns:A reference to the @Tag.ESA Index Fibres.ESA_RawSA@ fibre (suffix array).
+*/
+
+       template <typename TText, typename TSpec>
+       inline typename Fibre<Index<TText, TSpec>, Fibre_RawSA>::Type indexRawSA(Index<TText, TSpec> &index) { return getFibre(index, Fibre_RawSA()); }
+       template <typename TText, typename TSpec>
+       inline typename Fibre<Index<TText, TSpec> const, Fibre_RawSA>::Type indexRawSA(Index<TText, TSpec> const &index) { return getFibre(index, Fibre_RawSA()); }
+
+//////////////////////////////////////////////////////////////////////////////
+/**
+.Function.indexLCP:
+..summary:Shortcut for $getFibre(.., ESA_LCP)$.
+..cat:Index
+..signature:indexLCP(index)
+..param.index:The @Class.Index@ object holding the fibre.
+...type:Spec.Index_ESA
+..returns:A reference to the @Tag.ESA Index Fibres.ESA_LCP@ fibre (lcp table).
+*/
+
+       template <typename TText, typename TSpec>
+       inline typename Fibre<Index<TText, TSpec>, Fibre_LCP>::Type & indexLCP(Index<TText, TSpec> &index) { return getFibre(index, Fibre_LCP()); }
+       template <typename TText, typename TSpec>
+       inline typename Fibre<Index<TText, TSpec> const, Fibre_LCP>::Type & indexLCP(Index<TText, TSpec> const &index) { return getFibre(index, Fibre_LCP()); }
+
+//////////////////////////////////////////////////////////////////////////////
+/**
+.Function.indexLCPE:
+..summary:Shortcut for $getFibre(.., ESA_LCPE)$.
+..cat:Index
+..signature:indexLCPE(index)
+..param.index:The @Class.Index@ object holding the fibre.
+...type:Spec.Index_ESA
+..returns:A reference to the @Tag.ESA Index Fibres.ESA_LCPE@ fibre (enhanced lcp table).
+*/
+
+       template <typename TText, typename TSpec>
+       inline typename Fibre<Index<TText, TSpec>, Fibre_LCPE>::Type & indexLCPE(Index<TText, TSpec> &index) { return getFibre(index, Fibre_LCPE()); }
+       template <typename TText, typename TSpec>
+       inline typename Fibre<Index<TText, TSpec> const, Fibre_LCPE>::Type & indexLCPE(Index<TText, TSpec> const &index) { return getFibre(index, Fibre_LCPE()); }
+
+//////////////////////////////////////////////////////////////////////////////
+/**
+.Function.indexBWT:
+..summary:Shortcut for $getFibre(.., ESA_BWT)$.
+..cat:Index
+..signature:indexBWT(index)
+..param.index:The @Class.Index@ object holding the fibre.
+...type:Spec.Index_ESA
+..returns:A reference to the @Tag.ESA Index Fibres.ESA_BWT@ fibre (Burrows-Wheeler table).
+*/
+
+       template <typename TText, typename TSpec>
+       inline typename Fibre<Index<TText, TSpec>, Fibre_BWT>::Type & indexBWT(Index<TText, TSpec> &index) { return getFibre(index, Fibre_BWT()); }
+       template <typename TText, typename TSpec>
+       inline typename Fibre<Index<TText, TSpec> const, Fibre_BWT>::Type & indexBWT(Index<TText, TSpec> const &index) { return getFibre(index, Fibre_BWT()); }
+
+//////////////////////////////////////////////////////////////////////////////
+/**
+.Function.indexChildTab:
+..summary:Shortcut for $getFibre(.., ESA_ChildTab)$.
+..cat:Index
+..signature:indexChildTab(index)
+..param.index:The @Class.Index@ object holding the fibre.
+...type:Spec.Index_ESA
+..returns:A reference to the @Tag.ESA Index Fibres.ESA_ChildTab@ fibre (child table).
+*/
+
+       template <typename TText, typename TSpec>
+       inline typename Fibre<Index<TText, TSpec>, Fibre_ChildTab>::Type & indexChildTab(Index<TText, TSpec> &index) { return getFibre(index, Fibre_ChildTab()); }
+       template <typename TText, typename TSpec>
+       inline typename Fibre<Index<TText, TSpec> const, Fibre_ChildTab>::Type & indexChildTab(Index<TText, TSpec> const &index) { return getFibre(index, Fibre_ChildTab()); }
+
+}
+
+#endif
diff --git a/SeqAn-1.1/seqan/index/index_find.h b/SeqAn-1.1/seqan/index/index_find.h
new file mode 100644 (file)
index 0000000..a734c78
--- /dev/null
@@ -0,0 +1,268 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de 
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: index_find.h,v 1.1 2008/08/25 16:20:05 langmead Exp $
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_INDEX_FIND_H
+#define SEQAN_HEADER_INDEX_FIND_H
+
+namespace SEQAN_NAMESPACE_MAIN
+{
+
+//////////////////////////////////////////////////////////////////////////////
+
+       template < typename TText, typename TSpec, typename TSpecFinder >
+       struct Position< Finder< Index<TText, TSpec>, TSpecFinder > >:
+               SAValue< Index<TText, TSpec> > {};
+
+
+//////////////////////////////////////////////////////////////////////////////
+// generic Finder class for all indices containing a suffix array or 
+// similar table, where a query result is an interval in this table
+//
+// your index must specialize the function _findFirstIndex and set
+// finder.range to the interval containing the query hits. See:
+//
+//     template < typename TText, typename TSpec, typename TSpecFinder, typename TPattern >
+//     inline void _findFirstIndex(
+//             Finder< Index<TText, TSpec>, TSpecFinder > &finder,
+//             TPattern const &pattern,
+//             ESA_FIND_MLR const)
+//     {
+//             Index<TText, TSpec> &index = haystack(finder);
+//             indexRequire(index, ESA_SA());
+//             finder.range = equalRangeSAIterator(indexText(index), indexSA(index), pattern);
+//     }
+
+       template < typename TText, typename TSpec, typename TSpecFinder >
+       class Finder< Index<TText, TSpec>, TSpecFinder >
+       {
+    protected:
+               typedef Index<TText, TSpec>                                                             TIndex;
+               typedef typename Fibre<TIndex, Fibre_SA>::Type                  TSA;
+               typedef typename Iterator<TSA const, Standard>::Type    TIterator;
+
+       public:
+               Holder<TIndex>  index;
+               Pair<TIterator> range;
+               TIterator               data_iterator;
+
+               Finder() 
+               {
+                       clear(*this);
+               }
+               Finder(TIndex &_index): index(_index) 
+               {
+                       clear(*this);
+               }
+               Finder(TIndex const &_index): index(_index)
+               {
+                       clear(*this);
+               }
+       };
+
+//____________________________________________________________________________
+
+       template < typename TText, typename TSpec, typename TSpecFinder >
+       inline typename _Parameter< Index<TText, TSpec> >::Type 
+       host(Finder< Index<TText, TSpec>, TSpecFinder > & me)
+       {
+SEQAN_CHECKPOINT
+               return value(me.index);
+       }
+
+       template < typename TText, typename TSpec, typename TSpecFinder >
+       inline typename _Parameter< Index<TText, TSpec> >::Type 
+       host(Finder< Index<TText, TSpec>, TSpecFinder > const & me)
+       {
+SEQAN_CHECKPOINT
+               return value(me.index);
+       }
+
+       template < typename TText, typename TSpec, typename TSpecFinder >
+       inline typename _Parameter< Index<TText, TSpec> >::Type 
+       container(Finder< Index<TText, TSpec>, TSpecFinder > & me)
+       {
+SEQAN_CHECKPOINT
+               return value(me.index);
+       }
+
+       template < typename TText, typename TSpec, typename TSpecFinder >
+       inline typename _Parameter< Index<TText, TSpec> >::Type 
+       container(Finder< Index<TText, TSpec>, TSpecFinder > const & me)
+       {
+SEQAN_CHECKPOINT
+               return value(me.index);
+       }
+
+//____________________________________________________________________________
+
+       template < typename TText, typename TSpec, typename TSpecFinder >
+       inline void
+       setHost(
+               Finder< Index<TText, TSpec>, TSpecFinder > & me, 
+               typename _Parameter<Index<TText, TSpec> >::Type container_)
+       {
+SEQAN_CHECKPOINT
+               me.index = container;
+       }
+
+       template < typename TText, typename TSpec, typename TSpecFinder >
+       inline void
+       setContainer(
+               Finder< Index<TText, TSpec>, TSpecFinder > & me, 
+               typename _Parameter<Index<TText, TSpec> >::Type container_)
+       {
+SEQAN_CHECKPOINT
+               me.index = container;
+       }
+
+//____________________________________________________________________________
+
+       template < typename TText, typename TSpec, typename TSpecFinder >
+       inline typename Iterator< typename Fibre<Index<TText, TSpec>, Fibre_SA>::Type, Standard>::Type &
+       hostIterator(Finder< Index<TText, TSpec>, TSpecFinder > & me)
+       {
+SEQAN_CHECKPOINT
+               return me.data_iterator;
+       }
+
+       template < typename TText, typename TSpec, typename TSpecFinder >
+       inline typename Iterator< typename Fibre<Index<TText, TSpec>, Fibre_SA>::Type, Standard>::Type const &
+       hostIterator(Finder< Index<TText, TSpec>, TSpecFinder > const & me)
+       {
+SEQAN_CHECKPOINT
+               return me.data_iterator;
+       }
+
+
+//____________________________________________________________________________
+
+       template < typename TText, typename TSpec, typename TSpecFinder >
+       inline bool
+       empty(Finder< Index<TText, TSpec>, TSpecFinder > & me)
+       {
+SEQAN_CHECKPOINT
+               return me.range.i1 == me.range.i2;
+       }
+
+       template < typename TText, typename TSpec, typename TSpecFinder >
+       inline void
+       clear(Finder< Index<TText, TSpec>, TSpecFinder > & me)
+       {
+SEQAN_CHECKPOINT
+               typedef Index<TText, TSpec>                                             TIndex;
+               typedef typename Fibre<TIndex, Fibre_SA>::Type  TSA;
+               typedef typename Iterator<TSA, Standard>::Type  TIterator;
+               me.range.i1 = me.range.i2 = TIterator();
+       }
+
+//____________________________________________________________________________
+
+       template < typename TText, typename TSpec, typename TSpecFinder >
+       inline bool
+       atBegin(Finder< Index<TText, TSpec>, TSpecFinder > & me)
+       {
+SEQAN_CHECKPOINT
+               return (empty(me) || hostIterator(me) == me.range.i1);
+       }
+
+       template < typename TText, typename TSpec, typename TSpecFinder >
+       inline bool
+       atEnd(Finder< Index<TText, TSpec>, TSpecFinder > & me)
+       {
+SEQAN_CHECKPOINT
+               return (empty(me) || hostIterator(me) == me.range.i2);
+       }
+
+//____________________________________________________________________________
+
+       template < typename TText, typename TSpec, typename TSpecFinder >
+       inline void
+       goBegin(Finder< Index<TText, TSpec>, TSpecFinder > & me)
+       {
+SEQAN_CHECKPOINT
+               hostIterator(me) = me.range.i1;
+       }
+
+       template < typename TText, typename TSpec, typename TSpecFinder >
+       inline void
+       goEnd(Finder< Index<TText, TSpec>, TSpecFinder > & me)
+       {
+SEQAN_CHECKPOINT
+               hostIterator(me) = me.range.i2;
+       }
+
+//____________________________________________________________________________
+/*
+       template < typename TText, typename TSpec, typename TSpecFinder, typename TPosition >
+       inline void 
+       setPosition(Finder< Index<TText, TSpec>, TSpecFinder > & me, TPosition pos_)
+       {
+SEQAN_CHECKPOINT
+               hostIterator(me) = me.range.i1 + pos_;
+       }
+*/
+//____________________________________________________________________________
+
+       template < typename TText, typename TSpec, typename TSpecFinder >
+       inline typename Position< Finder< Index<TText, TSpec>, TSpecFinder > >::Type
+       position(Finder< Index<TText, TSpec>, TSpecFinder > & me)
+       {
+SEQAN_CHECKPOINT
+               SEQAN_ASSERT(!empty(me))
+               return *me.data_iterator;
+       }
+
+       template < typename TText, typename TSpec, typename TSpecFinder >
+       inline typename Position< Finder< Index<TText, TSpec>, TSpecFinder > >::Type
+       position(Finder< Index<TText, TSpec>, TSpecFinder > const & me)
+       {
+SEQAN_CHECKPOINT
+               SEQAN_ASSERT(!empty(me))
+               return hostIterator(me) - begin(container(me), Rooted());
+       }
+
+
+//////////////////////////////////////////////////////////////////////////////
+// find
+
+       template < typename TText, typename TSpec, typename TSpecFinder, typename TPattern >
+       inline bool find(
+               Finder<Index<TText, TSpec>, TSpecFinder> &finder,
+               TPattern const &pattern)
+       {
+               if (empty(finder)) {
+                       _findFirstIndex(finder, needle(pattern), TSpecFinder());
+                       hostIterator(finder) = finder.range.i1;
+               } else
+                       ++hostIterator(finder);
+               return !atEnd(finder);
+       }
+
+       template < typename TText, typename TSpec, typename TSpecFinder >
+       inline bool find(Finder<Index<TText, TSpec>, TSpecFinder> &finder)
+       {
+               if (empty(finder)) return false;
+               ++hostIterator(finder);
+               return !atEnd(finder);
+       }
+
+}
+
+#endif
diff --git a/SeqAn-1.1/seqan/index/index_generated_forwards.h b/SeqAn-1.1/seqan/index/index_generated_forwards.h
new file mode 100644 (file)
index 0000000..d5b4560
--- /dev/null
@@ -0,0 +1,2648 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_INDEX_GENERATED_FORWARDS_H
+#define SEQAN_HEADER_INDEX_GENERATED_FORWARDS_H
+
+//////////////////////////////////////////////////////////////////////////////
+// NOTE: This file is automatically generated by build_forwards.py
+//       Do not edit this file manually!
+//////////////////////////////////////////////////////////////////////////////
+
+
+//////////////////////////////////////////////////////////////////////////////
+// CLASSES
+//////////////////////////////////////////////////////////////////////////////
+
+namespace SEQAN_NAMESPACE_MAIN {
+namespace impl {
+
+//____________________________________________________________________________
+// substringHelperPizzaChili
+
+template <typename TValue, typename TSpec, typename TPos> struct substringHelperPizzaChili;            // "projects/library/seqan/index/index_pizzachili_string.h"(520)
+
+} //namespace impl
+} //namespace SEQAN_NAMESPACE_MAIN
+//////////////////////////////////////////////////////////////////////////////
+
+namespace SEQAN_NAMESPACE_MAIN {
+
+//____________________________________________________________________________
+// Align
+
+template <typename TSource, typename TSpec> class Align;               // "projects/library/seqan/index/index_esa_base.h"(189)
+
+//____________________________________________________________________________
+// ArrayGaps
+
+struct ArrayGaps;              // "projects/library/seqan/index/index_esa_base.h"(186)
+
+//____________________________________________________________________________
+// BTree
+
+template <unsigned BlockSize > struct BTree;           // "projects/library/seqan/index/index_esa_find.h"(70)
+
+//____________________________________________________________________________
+// BWT
+
+struct BWT;            // "projects/library/seqan/index/index_base.h"(46)
+struct BWT;            // "projects/library/seqan/index/index_bwt.h"(30)
+
+//____________________________________________________________________________
+// BottomUp
+
+template <typename TSpec > struct BottomUp;            // "projects/library/seqan/index/index_esa_base.h"(125)
+
+//____________________________________________________________________________
+// ChildTab
+
+struct ChildTab;               // "projects/library/seqan/index/index_childtab.h"(30)
+struct ChildTab;               // "projects/library/seqan/index/index_base.h"(45)
+
+//____________________________________________________________________________
+// CompareSkewDCStream
+
+template <typename TValue> struct CompareSkewDCStream;         // "projects/library/seqan/index/pipe_merger7.h"(95)
+
+//____________________________________________________________________________
+// DeepShallow
+
+struct DeepShallow;            // "projects/library/seqan/index/index_shawarma.h"(42)
+
+//____________________________________________________________________________
+// DefaultIndexCreator
+
+template <typename TIndex, typename TFibre > struct DefaultIndexCreator;               // "projects/library/seqan/index/index_base.h"(177)
+
+//____________________________________________________________________________
+// DefaultIndexSpec
+
+template <typename TObject > struct DefaultIndexSpec;          // "projects/library/seqan/index/index_base.h"(63)
+
+//____________________________________________________________________________
+// DefaultIndexStringSpec
+
+template <typename TIndex > struct DefaultIndexStringSpec;             // "projects/library/seqan/index/index_base.h"(78)
+
+//____________________________________________________________________________
+// DivSufSort
+
+struct DivSufSort;             // "projects/library/seqan/index/index_shawarma.h"(41)
+
+//____________________________________________________________________________
+// EmptyEdges
+
+struct EmptyEdges;             // "projects/library/seqan/index/index_esa_base.h"(102)
+
+//____________________________________________________________________________
+// Extender3
+
+struct Extender3;              // "projects/library/seqan/index/pump_extender3.h"(30)
+
+//____________________________________________________________________________
+// Extender7
+
+template <typename TCompression > struct Extender7;            // "projects/library/seqan/index/pump_extender7.h"(33)
+
+//____________________________________________________________________________
+// Extender7Multi
+
+template <typename TPair, typename TCompression > struct Extender7Multi;               // "projects/library/seqan/index/pump_extender7.h"(228)
+
+//____________________________________________________________________________
+// Fibre
+
+template <typename TIndex, typename TSpec > struct Fibre;              // "projects/library/seqan/index/index_base.h"(141)
+
+//____________________________________________________________________________
+// FibreLess
+
+struct FibreLess;              // "projects/library/seqan/index/index_base.h"(158)
+
+//____________________________________________________________________________
+// FibreRecord
+
+struct FibreRecord;            // "projects/library/seqan/index/index_base.h"(150)
+
+//____________________________________________________________________________
+// FixedGappedShape
+
+template <typename TSpec> struct FixedGappedShape;             // "projects/library/seqan/index/shape_base.h"(32)
+
+//____________________________________________________________________________
+// FixedShape
+
+template <unsigned q> struct FixedShape;               // "projects/library/seqan/index/shape_base.h"(28)
+
+//____________________________________________________________________________
+// FunctorGlobalize
+
+template <typename InType, typename TLimitsString, typename Result > struct FunctorGlobalize;          // "projects/library/seqan/index/index_base.h"(386)
+
+//____________________________________________________________________________
+// GetVSTreeIteratorTraits
+
+template <typename TIterator> struct GetVSTreeIteratorTraits;          // "projects/library/seqan/index/index_esa_base.h"(148)
+
+//____________________________________________________________________________
+// HardwiredShape
+
+template <int P00 , int P01 , int P02 , int P03 , int P04 , int P05 , int P06 , int P07 , int P08 , int P09 , int P10 , int P11 , int P12 , int P13 , int P14 , int P15 , int P16 , int P17 , int P18 , int P19 > struct HardwiredShape;               // "projects/library/seqan/index/shape_gapped.h"(50)
+
+//____________________________________________________________________________
+// HideEmptyEdges
+
+struct HideEmptyEdges;         // "projects/library/seqan/index/index_esa_base.h"(101)
+
+//____________________________________________________________________________
+// Index
+
+template <typename TObject, typename TSpec > class Index;              // "projects/library/seqan/index/index_base.h"(114)
+
+//____________________________________________________________________________
+// Index_ESA
+
+template <typename TSpec > struct Index_ESA;           // "projects/library/seqan/index/index_base.h"(49)
+
+//____________________________________________________________________________
+// Index_QGram
+
+template <typename TShapeSpec, typename TSpec > struct Index_QGram;            // "projects/library/seqan/index/index_qgram.h"(100)
+
+//____________________________________________________________________________
+// Index_Wotd
+
+template <typename TSpec > struct Index_Wotd;          // "projects/library/seqan/index/index_wotd.h"(56)
+
+//____________________________________________________________________________
+// InvalidPizzaChiliSpec
+
+struct InvalidPizzaChiliSpec;          // "projects/library/seqan/index/pizzachili_api.h"(37)
+
+//____________________________________________________________________________
+// Kasai
+
+struct Kasai;          // "projects/library/seqan/index/index_base.h"(41)
+struct Kasai;          // "projects/library/seqan/index/index_lcp.h"(30)
+
+//____________________________________________________________________________
+// KasaiOriginal
+
+struct KasaiOriginal;          // "projects/library/seqan/index/index_base.h"(42)
+struct KasaiOriginal;          // "projects/library/seqan/index/index_lcp.h"(31)
+
+//____________________________________________________________________________
+// LarssonSadakane
+
+struct LarssonSadakane;        // "projects/library/seqan/index/index_sa_lss.h"(336)
+struct LarssonSadakane;        // "projects/library/seqan/index/index_base.h"(35)
+
+//____________________________________________________________________________
+// LcpConfig
+
+struct LcpConfig;              // "projects/library/seqan/index/pump_lcp_core.h"(31)
+
+//____________________________________________________________________________
+// LeftCompleteTree
+
+struct LeftCompleteTree;               // "projects/library/seqan/index/index_esa_find.h"(67)
+
+//____________________________________________________________________________
+// MSufSort
+
+struct MSufSort;               // "projects/library/seqan/index/index_shawarma.h"(40)
+
+//____________________________________________________________________________
+// MUMs
+
+struct MUMs;           // "projects/library/seqan/index/index_esa_base.h"(129)
+
+//____________________________________________________________________________
+// ManberMyers
+
+struct ManberMyers;            // "projects/library/seqan/index/index_sa_mm.h"(27)
+struct ManberMyers;            // "projects/library/seqan/index/index_base.h"(36)
+
+//____________________________________________________________________________
+// MaxRepeat
+
+template <typename TSTree> struct MaxRepeat;           // "projects/library/seqan/index/index_esa_algs.h"(602)
+
+//____________________________________________________________________________
+// MaxRepeatOccurrences
+
+struct MaxRepeatOccurrences;           // "projects/library/seqan/index/index_esa_base.h"(132)
+
+//____________________________________________________________________________
+// Merger3
+
+struct Merger3;        // "projects/library/seqan/index/pipe_merger3.h"(30)
+
+//____________________________________________________________________________
+// Merger7
+
+struct Merger7;        // "projects/library/seqan/index/pipe_merger7.h"(178)
+
+//____________________________________________________________________________
+// Merger7Multi
+
+template <typename TLimitsString> struct Merger7Multi;         // "projects/library/seqan/index/pipe_merger7.h"(187)
+
+//____________________________________________________________________________
+// MultiMEM
+
+template <typename TSTree> struct MultiMEM;            // "projects/library/seqan/index/index_esa_algs_multi.h"(385)
+
+//____________________________________________________________________________
+// MultiMEMOccurences
+
+struct MultiMEMOccurences;             // "projects/library/seqan/index/index_esa_base.h"(134)
+
+//____________________________________________________________________________
+// ParentLinks
+
+template <typename TSpec > struct ParentLinks;         // "projects/library/seqan/index/index_esa_base.h"(121)
+
+//____________________________________________________________________________
+// PizzaChili
+
+template <typename TSpec> struct PizzaChili;           // "projects/library/seqan/index/index_pizzachili_string.h"(47)
+
+//____________________________________________________________________________
+// PizzaChiliCodeProvider
+
+template <typename TSpec> struct PizzaChiliCodeProvider;               // "projects/library/seqan/index/pizzachili_api.h"(40)
+
+//____________________________________________________________________________
+// Postorder
+
+struct Postorder;              // "projects/library/seqan/index/index_esa_base.h"(96)
+
+//____________________________________________________________________________
+// PostorderEmptyEdges
+
+struct PostorderEmptyEdges;            // "projects/library/seqan/index/index_esa_base.h"(98)
+
+//____________________________________________________________________________
+// Preorder
+
+struct Preorder;               // "projects/library/seqan/index/index_esa_base.h"(95)
+
+//____________________________________________________________________________
+// PreorderEmptyEdges
+
+struct PreorderEmptyEdges;             // "projects/library/seqan/index/index_esa_base.h"(97)
+
+//____________________________________________________________________________
+// QGram_Alg
+
+struct QGram_Alg;              // "projects/library/seqan/index/index_base.h"(38)
+
+//____________________________________________________________________________
+// QSufSort
+
+struct QSufSort;               // "projects/library/seqan/index/index_shawarma.h"(43)
+
+//____________________________________________________________________________
+// Repeat
+
+template <typename TPos, typename TPeriod> struct Repeat;              // "projects/library/seqan/index/repeat_base.h"(28)
+
+//____________________________________________________________________________
+// RepeatFinderParams
+
+template <typename TSize> struct RepeatFinderParams;           // "projects/library/seqan/index/repeat_base.h"(47)
+
+//____________________________________________________________________________
+// SAQSort
+
+struct SAQSort;        // "projects/library/seqan/index/index_base.h"(37)
+struct SAQSort;        // "projects/library/seqan/index/index_sa_qsort.h"(27)
+
+//____________________________________________________________________________
+// SAValue
+
+template <typename TObject> struct SAValue;            // "projects/library/seqan/index/index_base.h"(288)
+
+//____________________________________________________________________________
+// SearchTreeIterator
+
+template <typename TString, typename TSpec > class SearchTreeIterator;         // "projects/library/seqan/index/index_esa_find.h"(73)
+
+//____________________________________________________________________________
+// Shape
+
+template <typename TValue , typename TSpec > class Shape;              // "projects/library/seqan/index/shape_base.h"(54)
+
+//____________________________________________________________________________
+// Shawarma
+
+template <typename TSpec> struct Shawarma;             // "projects/library/seqan/index/index_shawarma.h"(38)
+
+//____________________________________________________________________________
+// Skew3
+
+struct Skew3;          // "projects/library/seqan/index/index_base.h"(33)
+struct Skew3;          // "projects/library/seqan/index/index_skew3.h"(30)
+
+//____________________________________________________________________________
+// Skew7
+
+struct Skew7;          // "projects/library/seqan/index/index_base.h"(34)
+struct Skew7;          // "projects/library/seqan/index/index_skew7.h"(30)
+
+//____________________________________________________________________________
+// SkewDCStream
+
+template <typename TValue> struct SkewDCStream;        // "projects/library/seqan/index/pipe_merger7.h"(71)
+
+//____________________________________________________________________________
+// SortedList
+
+struct SortedList;             // "projects/library/seqan/index/index_esa_find.h"(66)
+
+//____________________________________________________________________________
+// SuperMaxRepeats
+
+struct SuperMaxRepeats;        // "projects/library/seqan/index/index_esa_base.h"(127)
+
+//____________________________________________________________________________
+// SuperMaxRepeatsFast
+
+struct SuperMaxRepeatsFast;            // "projects/library/seqan/index/index_esa_base.h"(128)
+
+//____________________________________________________________________________
+// TRepeatFinder
+
+struct TRepeatFinder;          // "projects/library/seqan/index/repeat_base.h"(53)
+
+//____________________________________________________________________________
+// TopDown
+
+template <typename TSpec > struct TopDown;             // "projects/library/seqan/index/index_esa_base.h"(117)
+
+//____________________________________________________________________________
+// VSTree
+
+template <typename TSpec > struct VSTree;              // "projects/library/seqan/index/index_esa_base.h"(113)
+
+//____________________________________________________________________________
+// VSTreeIteratorTraits
+
+template <typename TDFSOrder , typename THideEmptyEdges > struct VSTreeIteratorTraits;         // "projects/library/seqan/index/index_esa_base.h"(32)
+
+//____________________________________________________________________________
+// VertexESA
+
+template <typename TSize> struct VertexESA;            // "projects/library/seqan/index/index_esa_base.h"(153)
+
+//____________________________________________________________________________
+// WotdDFI
+
+template <typename TPredHull , typename TPred > struct WotdDFI;        // "projects/library/seqan/index/index_dfi.h"(74)
+
+//____________________________________________________________________________
+// WotdOriginal_
+
+struct WotdOriginal_;          // "projects/library/seqan/index/index_wotd.h"(52)
+
+//____________________________________________________________________________
+// _AllocHelper
+
+template <typename TValue, typename TSpec> struct _AllocHelper;        // "projects/library/seqan/index/index_pizzachili_string.h"(283)
+
+//____________________________________________________________________________
+// _Context_LSS
+
+template <typename TValue> struct _Context_LSS;        // "projects/library/seqan/index/index_sa_lss.h"(40)
+
+//____________________________________________________________________________
+// _DFIEntry
+
+struct _DFIEntry;              // "projects/library/seqan/index/index_dfi.h"(32)
+
+//____________________________________________________________________________
+// _DFIPredDefault
+
+template <bool RESULT> struct _DFIPredDefault;         // "projects/library/seqan/index/index_dfi.h"(44)
+
+//____________________________________________________________________________
+// _Fibre_BWT
+
+struct _Fibre_BWT;             // "projects/library/seqan/index/index_base.h"(245)
+
+//____________________________________________________________________________
+// _Fibre_ChildTab
+
+struct _Fibre_ChildTab;        // "projects/library/seqan/index/index_base.h"(244)
+
+//____________________________________________________________________________
+// _Fibre_Counts
+
+struct _Fibre_Counts;          // "projects/library/seqan/index/index_qgram.h"(64)
+
+//____________________________________________________________________________
+// _Fibre_CountsDir
+
+struct _Fibre_CountsDir;               // "projects/library/seqan/index/index_qgram.h"(65)
+
+//____________________________________________________________________________
+// _Fibre_Dir
+
+struct _Fibre_Dir;             // "projects/library/seqan/index/index_qgram.h"(61)
+
+//____________________________________________________________________________
+// _Fibre_LCP
+
+struct _Fibre_LCP;             // "projects/library/seqan/index/index_base.h"(242)
+
+//____________________________________________________________________________
+// _Fibre_LCPE
+
+struct _Fibre_LCPE;            // "projects/library/seqan/index/index_base.h"(243)
+
+//____________________________________________________________________________
+// _Fibre_PizzaChili_Compressed
+
+struct _Fibre_PizzaChili_Compressed;           // "projects/library/seqan/index/index_pizzachili.h"(41)
+
+//____________________________________________________________________________
+// _Fibre_RawSA
+
+struct _Fibre_RawSA;           // "projects/library/seqan/index/index_base.h"(240)
+
+//____________________________________________________________________________
+// _Fibre_RawText
+
+struct _Fibre_RawText;         // "projects/library/seqan/index/index_base.h"(238)
+
+//____________________________________________________________________________
+// _Fibre_SA
+
+struct _Fibre_SA;              // "projects/library/seqan/index/index_base.h"(239)
+
+//____________________________________________________________________________
+// _Fibre_SADir
+
+struct _Fibre_SADir;           // "projects/library/seqan/index/index_qgram.h"(62)
+
+//____________________________________________________________________________
+// _Fibre_SAE
+
+struct _Fibre_SAE;             // "projects/library/seqan/index/index_base.h"(241)
+
+//____________________________________________________________________________
+// _Fibre_Shape
+
+struct _Fibre_Shape;           // "projects/library/seqan/index/index_qgram.h"(63)
+
+//____________________________________________________________________________
+// _Fibre_Text
+
+struct _Fibre_Text;            // "projects/library/seqan/index/index_base.h"(237)
+
+//____________________________________________________________________________
+// _Finder_LCPE
+
+struct _Finder_LCPE;           // "projects/library/seqan/index/index_esa_find.h"(49)
+
+//____________________________________________________________________________
+// _Finder_MLR
+
+struct _Finder_MLR;            // "projects/library/seqan/index/index_esa_find.h"(48)
+
+//____________________________________________________________________________
+// _Finder_QGramLookup
+
+struct _Finder_QGramLookup;            // "projects/library/seqan/index/index_qgram_find.h"(30)
+
+//____________________________________________________________________________
+// _FractionCompound
+
+template <typename TValue, typename TSize> struct _FractionCompound;           // "projects/library/seqan/index/index_esa_algs.h"(250)
+
+//____________________________________________________________________________
+// _FractionHeader
+
+template <typename TSize> struct _FractionHeader;              // "projects/library/seqan/index/index_esa_algs.h"(239)
+
+//____________________________________________________________________________
+// _FractionMultiCompound
+
+template <typename TValue, typename TSize> struct _FractionMultiCompound;              // "projects/library/seqan/index/index_esa_algs_multi.h"(132)
+
+//____________________________________________________________________________
+// _HistoryStackEntry
+
+template <typename TVSTreeIter > struct _HistoryStackEntry;            // "projects/library/seqan/index/index_esa_stree.h"(125)
+
+//____________________________________________________________________________
+// _HistoryStackWotdModified
+
+template <typename TSize> struct _HistoryStackWotdModified;            // "projects/library/seqan/index/index_wotd.h"(209)
+
+//____________________________________________________________________________
+// _HistoryStackWotdOriginal
+
+template <typename TSize> struct _HistoryStackWotdOriginal;            // "projects/library/seqan/index/index_wotd.h"(202)
+
+//____________________________________________________________________________
+// _MaxRepeats
+
+template <typename TSpec > struct _MaxRepeats;         // "projects/library/seqan/index/index_esa_base.h"(106)
+
+//____________________________________________________________________________
+// _MultiMEMs
+
+struct _MultiMEMs;             // "projects/library/seqan/index/index_esa_base.h"(107)
+
+//____________________________________________________________________________
+// _PizzaChiliFinder
+
+struct _PizzaChiliFinder;              // "projects/library/seqan/index/index_pizzachili_find.h"(26)
+
+//____________________________________________________________________________
+// _PizzaChili_AF
+
+struct _PizzaChili_AF;         // "projects/library/seqan/index/pizzachili_api.h"(67)
+
+//____________________________________________________________________________
+// _PizzaChili_CCSA
+
+struct _PizzaChili_CCSA;               // "projects/library/seqan/index/pizzachili_api.h"(70)
+
+//____________________________________________________________________________
+// _PizzaChili_FM
+
+struct _PizzaChili_FM;         // "projects/library/seqan/index/pizzachili_api.h"(73)
+
+//____________________________________________________________________________
+// _PizzaChili_LZ
+
+struct _PizzaChili_LZ;         // "projects/library/seqan/index/pizzachili_api.h"(76)
+
+//____________________________________________________________________________
+// _PizzaChili_RLFM
+
+struct _PizzaChili_RLFM;               // "projects/library/seqan/index/pizzachili_api.h"(82)
+
+//____________________________________________________________________________
+// _PizzaChili_RSA
+
+struct _PizzaChili_RSA;        // "projects/library/seqan/index/pizzachili_api.h"(79)
+
+//____________________________________________________________________________
+// _PizzaChili_SA
+
+struct _PizzaChili_SA;         // "projects/library/seqan/index/pizzachili_api.h"(85)
+
+//____________________________________________________________________________
+// _PizzaChili_SADA
+
+struct _PizzaChili_SADA;               // "projects/library/seqan/index/pizzachili_api.h"(88)
+
+//____________________________________________________________________________
+// _PizzaChili_SSA
+
+struct _PizzaChili_SSA;        // "projects/library/seqan/index/pizzachili_api.h"(91)
+
+//____________________________________________________________________________
+// _PizzaChili_Test
+
+struct _PizzaChili_Test;               // "projects/library/seqan/index/pizzachili_api.h"(94)
+
+//____________________________________________________________________________
+// _Postorder
+
+struct _Postorder;             // "projects/library/seqan/index/index_esa_base.h"(29)
+
+//____________________________________________________________________________
+// _Preorder
+
+struct _Preorder;              // "projects/library/seqan/index/index_esa_base.h"(28)
+
+//____________________________________________________________________________
+// _QGramLess
+
+template <typename TSAValue, typename TText > struct _QGramLess;               // "projects/library/seqan/index/index_qgram.h"(347)
+
+//____________________________________________________________________________
+// _QGramLessNoCheck
+
+template <typename TSAValue, typename TText > struct _QGramLessNoCheck;        // "projects/library/seqan/index/index_qgram.h"(506)
+
+//____________________________________________________________________________
+// _QGramLessNoCheckOffset
+
+template <typename TSAValue, typename TText > struct _QGramLessNoCheckOffset;          // "projects/library/seqan/index/index_qgram.h"(588)
+
+//____________________________________________________________________________
+// _QGramLessOffset
+
+template <typename TSAValue, typename TText > struct _QGramLessOffset;         // "projects/library/seqan/index/index_qgram.h"(442)
+
+//____________________________________________________________________________
+// _RepeatLess
+
+template <typename TPos> struct _RepeatLess;           // "projects/library/seqan/index/repeat_base.h"(82)
+
+//____________________________________________________________________________
+// _SAValueLess
+
+template <typename TOccValue> struct _SAValueLess;             // "projects/library/seqan/index/index_shims.h"(449)
+
+//____________________________________________________________________________
+// _SkewNIndx
+
+template <int I, typename T > struct _SkewNIndx;               // "projects/library/seqan/index/pipe_merger7.h"(34)
+
+//____________________________________________________________________________
+// _SkewShift
+
+template <int I, typename T > struct _SkewShift;               // "projects/library/seqan/index/pipe_merger7.h"(31)
+
+//____________________________________________________________________________
+// _SuffixLess
+
+template <typename TSAValue, typename TText > struct _SuffixLess;              // "projects/library/seqan/index/index_sa_qsort.h"(33)
+
+//____________________________________________________________________________
+// _SuffixLessOffset
+
+template <typename TSAValue, typename TText > struct _SuffixLessOffset;        // "projects/library/seqan/index/index_sa_qsort.h"(71)
+
+//____________________________________________________________________________
+// _VertexWotdModified
+
+template <typename TSize> struct _VertexWotdModified;          // "projects/library/seqan/index/index_wotd.h"(163)
+
+//____________________________________________________________________________
+// _VertexWotdOriginal
+
+template <typename TSize> struct _VertexWotdOriginal;          // "projects/library/seqan/index/index_wotd.h"(148)
+
+//____________________________________________________________________________
+// _qgram_comp
+
+template <typename InType, typename Result > struct _qgram_comp;               // "projects/library/seqan/index/index_qgram.h"(1227)
+
+//____________________________________________________________________________
+// _qgram_hash
+
+template <typename TValue, typename TResult > struct _qgram_hash;              // "projects/library/seqan/index/index_qgram.h"(1262)
+
+//____________________________________________________________________________
+// filter_globalizer
+
+template <typename InType, typename TLimitsString, typename Result > struct filter_globalizer;         // "projects/library/seqan/index/index_bwt.h"(130)
+
+//____________________________________________________________________________
+// map_inverse
+
+template <typename InType, typename Result > struct map_inverse;               // "projects/library/seqan/index/index_lcp.h"(45)
+
+//____________________________________________________________________________
+// map_inverse_multi
+
+template <typename InType, typename TLimitsString, typename Result > struct map_inverse_multi;         // "projects/library/seqan/index/index_lcp.h"(148)
+
+//____________________________________________________________________________
+// skew3_extend_comp
+
+template <typename InType, typename Result > struct skew3_extend_comp;         // "projects/library/seqan/index/index_skew3.h"(107)
+
+//____________________________________________________________________________
+// skew3_ncomp
+
+template <typename InType, typename Result > struct skew3_ncomp;               // "projects/library/seqan/index/index_skew3.h"(49)
+
+//____________________________________________________________________________
+// skew3_nmap_extended
+
+template <typename InType, typename Result > struct skew3_nmap_extended;               // "projects/library/seqan/index/index_skew3.h"(101)
+
+//____________________________________________________________________________
+// skew3_nmap_linear
+
+template <typename InType, typename Result > struct skew3_nmap_linear;         // "projects/library/seqan/index/index_skew3.h"(72)
+
+//____________________________________________________________________________
+// skew3_nmap_sliced
+
+template <typename InType, typename Result > struct skew3_nmap_sliced;         // "projects/library/seqan/index/index_skew3.h"(80)
+
+//____________________________________________________________________________
+// skew3_unslicer_func
+
+template <typename InType, typename Result > struct skew3_unslicer_func;               // "projects/library/seqan/index/index_skew3.h"(89)
+
+//____________________________________________________________________________
+// skew7_extend_comp
+
+template <typename InType, const int EXT_LENGTH, typename Result > struct skew7_extend_comp;           // "projects/library/seqan/index/index_skew7.h"(137)
+
+//____________________________________________________________________________
+// skew7_global_sliced_multi
+
+template <typename InType, typename TLimitsString, typename TResultSize , typename Result > struct skew7_global_sliced_multi;          // "projects/library/seqan/index/index_skew7_multi.h"(109)
+
+//____________________________________________________________________________
+// skew7_ncomp
+
+template <typename InType, typename Result > struct skew7_ncomp;               // "projects/library/seqan/index/index_skew7.h"(49)
+
+//____________________________________________________________________________
+// skew7_ncomp_multi
+
+template <typename InType, typename Result > struct skew7_ncomp_multi;         // "projects/library/seqan/index/index_skew7_multi.h"(42)
+
+//____________________________________________________________________________
+// skew7_nmap_extended
+
+template <typename InType, typename Result > struct skew7_nmap_extended;               // "projects/library/seqan/index/index_skew7.h"(131)
+
+//____________________________________________________________________________
+// skew7_nmap_linear
+
+template <typename InType, typename Result > struct skew7_nmap_linear;         // "projects/library/seqan/index/index_skew7.h"(91)
+
+//____________________________________________________________________________
+// skew7_nmap_sliced
+
+template <typename InType, typename Result > struct skew7_nmap_sliced;         // "projects/library/seqan/index/index_skew7.h"(99)
+
+//____________________________________________________________________________
+// skew7_unslicer_func
+
+template <typename InType, typename Result > struct skew7_unslicer_func;               // "projects/library/seqan/index/index_skew7.h"(115)
+
+} //namespace SEQAN_NAMESPACE_MAIN
+
+
+//////////////////////////////////////////////////////////////////////////////
+// TYPEDEFS
+//////////////////////////////////////////////////////////////////////////////
+
+namespace SEQAN_NAMESPACE_MAIN {
+namespace impl {
+
+//____________________________________________________________________________
+// error_t
+
+typedef int error_t;           // "projects/library/seqan/index/pizzachili_api.h"(34)
+
+//____________________________________________________________________________
+// index_t
+
+typedef void* index_t;         // "projects/library/seqan/index/pizzachili_api.h"(33)
+
+//____________________________________________________________________________
+// uchar_t
+
+typedef unsigned char uchar_t;         // "projects/library/seqan/index/pizzachili_api.h"(31)
+
+//____________________________________________________________________________
+// ulong_t
+
+typedef unsigned long ulong_t;         // "projects/library/seqan/index/pizzachili_api.h"(32)
+
+} //namespace impl
+} //namespace SEQAN_NAMESPACE_MAIN
+//////////////////////////////////////////////////////////////////////////////
+
+namespace SEQAN_NAMESPACE_MAIN {
+
+//____________________________________________________________________________
+// ESA_BWT
+
+typedef Fibre_BWT ESA_BWT;             // "projects/library/seqan/index/index_esa_base.h"(239)
+
+//____________________________________________________________________________
+// ESA_ChildTab
+
+typedef Fibre_ChildTab ESA_ChildTab;           // "projects/library/seqan/index/index_esa_base.h"(238)
+
+//____________________________________________________________________________
+// ESA_FIND_LCPE
+
+typedef Tag<_Finder_LCPE> const ESA_FIND_LCPE;         // "projects/library/seqan/index/index_esa_find.h"(52)
+
+//____________________________________________________________________________
+// ESA_FIND_MLR
+
+typedef Tag<_Finder_MLR> const ESA_FIND_MLR;           // "projects/library/seqan/index/index_esa_find.h"(51)
+
+//____________________________________________________________________________
+// ESA_LCP
+
+typedef Fibre_LCP ESA_LCP;             // "projects/library/seqan/index/index_esa_base.h"(236)
+
+//____________________________________________________________________________
+// ESA_LCPE
+
+typedef Fibre_LCPE ESA_LCPE;           // "projects/library/seqan/index/index_esa_base.h"(237)
+
+//____________________________________________________________________________
+// ESA_RawSA
+
+typedef Fibre_RawSA ESA_RawSA;         // "projects/library/seqan/index/index_esa_base.h"(234)
+
+//____________________________________________________________________________
+// ESA_RawText
+
+typedef Fibre_RawText ESA_RawText;             // "projects/library/seqan/index/index_esa_base.h"(232)
+
+//____________________________________________________________________________
+// ESA_SA
+
+typedef Fibre_SA ESA_SA;               // "projects/library/seqan/index/index_esa_base.h"(233)
+
+//____________________________________________________________________________
+// ESA_SAE
+
+typedef Fibre_SAE ESA_SAE;             // "projects/library/seqan/index/index_esa_base.h"(235)
+
+//____________________________________________________________________________
+// ESA_Text
+
+typedef Fibre_Text ESA_Text;           // "projects/library/seqan/index/index_esa_base.h"(231)
+
+//____________________________________________________________________________
+// Fibre_BWT
+
+typedef Tag<_Fibre_BWT> const Fibre_BWT;               // "projects/library/seqan/index/index_base.h"(255)
+
+//____________________________________________________________________________
+// Fibre_ChildTab
+
+typedef Tag<_Fibre_ChildTab> const Fibre_ChildTab;             // "projects/library/seqan/index/index_base.h"(254)
+
+//____________________________________________________________________________
+// Fibre_Counts
+
+typedef Tag<_Fibre_Counts> const Fibre_Counts;         // "projects/library/seqan/index/index_qgram.h"(70)
+
+//____________________________________________________________________________
+// Fibre_CountsDir
+
+typedef Tag<_Fibre_CountsDir> const Fibre_CountsDir;           // "projects/library/seqan/index/index_qgram.h"(71)
+
+//____________________________________________________________________________
+// Fibre_Dir
+
+typedef Tag<_Fibre_Dir> const Fibre_Dir;               // "projects/library/seqan/index/index_qgram.h"(67)
+
+//____________________________________________________________________________
+// Fibre_LCP
+
+typedef Tag<_Fibre_LCP> const Fibre_LCP;               // "projects/library/seqan/index/index_base.h"(252)
+
+//____________________________________________________________________________
+// Fibre_LCPE
+
+typedef Tag<_Fibre_LCPE> const Fibre_LCPE;             // "projects/library/seqan/index/index_base.h"(253)
+
+//____________________________________________________________________________
+// Fibre_PizzaChili_Compressed
+
+typedef Tag<_Fibre_PizzaChili_Compressed> const Fibre_PizzaChili_Compressed;           // "projects/library/seqan/index/index_pizzachili.h"(44)
+
+//____________________________________________________________________________
+// Fibre_PizzaChili_Text
+
+typedef Tag<_Fibre_Text> const Fibre_PizzaChili_Text;          // "projects/library/seqan/index/index_pizzachili.h"(43)
+
+//____________________________________________________________________________
+// Fibre_RawSA
+
+typedef Tag<_Fibre_RawSA> const Fibre_RawSA;           // "projects/library/seqan/index/index_base.h"(250)
+
+//____________________________________________________________________________
+// Fibre_RawText
+
+typedef Tag<_Fibre_RawText> const Fibre_RawText;               // "projects/library/seqan/index/index_base.h"(248)
+
+//____________________________________________________________________________
+// Fibre_SA
+
+typedef Tag<_Fibre_SA> const Fibre_SA;         // "projects/library/seqan/index/index_base.h"(249)
+
+//____________________________________________________________________________
+// Fibre_SADir
+
+typedef Tag<_Fibre_SADir> const Fibre_SADir;           // "projects/library/seqan/index/index_qgram.h"(68)
+
+//____________________________________________________________________________
+// Fibre_SAE
+
+typedef Tag<_Fibre_SAE> const Fibre_SAE;               // "projects/library/seqan/index/index_base.h"(251)
+
+//____________________________________________________________________________
+// Fibre_Shape
+
+typedef Tag<_Fibre_Shape> const Fibre_Shape;           // "projects/library/seqan/index/index_qgram.h"(69)
+
+//____________________________________________________________________________
+// Fibre_Text
+
+typedef Tag<_Fibre_Text> const Fibre_Text;             // "projects/library/seqan/index/index_base.h"(247)
+
+//____________________________________________________________________________
+// GappedShape
+
+typedef FixedGappedShape<Default> GappedShape;         // "projects/library/seqan/index/shape_base.h"(33)
+
+//____________________________________________________________________________
+// MaxRepeats
+
+typedef _MaxRepeats<void> MaxRepeats;          // "projects/library/seqan/index/index_esa_base.h"(131)
+
+//____________________________________________________________________________
+// MultiMEMs
+
+typedef _MaxRepeats<_MultiMEMs> MultiMEMs;             // "projects/library/seqan/index/index_esa_base.h"(133)
+
+//____________________________________________________________________________
+// PizzaChiliFinder
+
+typedef Tag<_PizzaChiliFinder> const PizzaChiliFinder;         // "projects/library/seqan/index/index_pizzachili_find.h"(36)
+
+//____________________________________________________________________________
+// PizzaChili_AF
+
+typedef Tag<_PizzaChili_AF> const PizzaChili_AF;               // "projects/library/seqan/index/pizzachili_api.h"(68)
+
+//____________________________________________________________________________
+// PizzaChili_CCSA
+
+typedef Tag<_PizzaChili_CCSA> const PizzaChili_CCSA;           // "projects/library/seqan/index/pizzachili_api.h"(71)
+
+//____________________________________________________________________________
+// PizzaChili_Compressed
+
+typedef Fibre_PizzaChili_Compressed PizzaChili_Compressed;             // "projects/library/seqan/index/index_pizzachili.h"(47)
+
+//____________________________________________________________________________
+// PizzaChili_FM
+
+typedef Tag<_PizzaChili_FM> const PizzaChili_FM;               // "projects/library/seqan/index/pizzachili_api.h"(74)
+
+//____________________________________________________________________________
+// PizzaChili_LZ
+
+typedef Tag<_PizzaChili_LZ> const PizzaChili_LZ;               // "projects/library/seqan/index/pizzachili_api.h"(77)
+
+//____________________________________________________________________________
+// PizzaChili_RLFM
+
+typedef Tag<_PizzaChili_RLFM> const PizzaChili_RLFM;           // "projects/library/seqan/index/pizzachili_api.h"(83)
+
+//____________________________________________________________________________
+// PizzaChili_RSA
+
+typedef Tag<_PizzaChili_RSA> const PizzaChili_RSA;             // "projects/library/seqan/index/pizzachili_api.h"(80)
+
+//____________________________________________________________________________
+// PizzaChili_SA
+
+typedef Tag<_PizzaChili_SA> const PizzaChili_SA;               // "projects/library/seqan/index/pizzachili_api.h"(86)
+
+//____________________________________________________________________________
+// PizzaChili_SADA
+
+typedef Tag<_PizzaChili_SADA> const PizzaChili_SADA;           // "projects/library/seqan/index/pizzachili_api.h"(89)
+
+//____________________________________________________________________________
+// PizzaChili_SSA
+
+typedef Tag<_PizzaChili_SSA> const PizzaChili_SSA;             // "projects/library/seqan/index/pizzachili_api.h"(92)
+
+//____________________________________________________________________________
+// PizzaChili_Test
+
+typedef Tag<_PizzaChili_Test> const PizzaChili_Test;           // "projects/library/seqan/index/pizzachili_api.h"(95)
+
+//____________________________________________________________________________
+// PizzaChili_Text
+
+typedef Fibre_PizzaChili_Text PizzaChili_Text;         // "projects/library/seqan/index/index_pizzachili.h"(46)
+
+//____________________________________________________________________________
+// QGram_Counts
+
+typedef Fibre_Counts QGram_Counts;             // "projects/library/seqan/index/index_qgram.h"(82)
+
+//____________________________________________________________________________
+// QGram_CountsDir
+
+typedef Fibre_CountsDir QGram_CountsDir;               // "projects/library/seqan/index/index_qgram.h"(83)
+
+//____________________________________________________________________________
+// QGram_Dir
+
+typedef Fibre_Dir QGram_Dir;           // "projects/library/seqan/index/index_qgram.h"(79)
+
+//____________________________________________________________________________
+// QGram_FIND_Lookup
+
+typedef Tag<_Finder_QGramLookup> const QGram_FIND_Lookup;              // "projects/library/seqan/index/index_qgram_find.h"(38)
+
+//____________________________________________________________________________
+// QGram_RawSA
+
+typedef Fibre_RawSA QGram_RawSA;               // "projects/library/seqan/index/index_qgram.h"(78)
+
+//____________________________________________________________________________
+// QGram_RawText
+
+typedef Fibre_RawText QGram_RawText;           // "projects/library/seqan/index/index_qgram.h"(76)
+
+//____________________________________________________________________________
+// QGram_SA
+
+typedef Fibre_SA QGram_SA;             // "projects/library/seqan/index/index_qgram.h"(77)
+
+//____________________________________________________________________________
+// QGram_SADir
+
+typedef Fibre_SADir QGram_SADir;               // "projects/library/seqan/index/index_qgram.h"(80)
+
+//____________________________________________________________________________
+// QGram_Shape
+
+typedef Fibre_Shape QGram_Shape;               // "projects/library/seqan/index/index_qgram.h"(81)
+
+//____________________________________________________________________________
+// QGram_Text
+
+typedef Fibre_Text QGram_Text;         // "projects/library/seqan/index/index_qgram.h"(75)
+
+//____________________________________________________________________________
+// SimpleShape
+
+typedef FixedShape<0> SimpleShape;             // "projects/library/seqan/index/shape_base.h"(29)
+
+//____________________________________________________________________________
+// WotdOriginal
+
+typedef Tag<WotdOriginal_> const WotdOriginal;         // "projects/library/seqan/index/index_wotd.h"(53)
+
+//____________________________________________________________________________
+// Wotd_Dir
+
+typedef Fibre_Dir Wotd_Dir;            // "projects/library/seqan/index/index_wotd.h"(35)
+
+//____________________________________________________________________________
+// Wotd_RawSA
+
+typedef Fibre_RawSA Wotd_RawSA;        // "projects/library/seqan/index/index_wotd.h"(34)
+
+//____________________________________________________________________________
+// Wotd_RawText
+
+typedef Fibre_RawText Wotd_RawText;            // "projects/library/seqan/index/index_wotd.h"(32)
+
+//____________________________________________________________________________
+// Wotd_SA
+
+typedef Fibre_SA Wotd_SA;              // "projects/library/seqan/index/index_wotd.h"(33)
+
+//____________________________________________________________________________
+// Wotd_Text
+
+typedef Fibre_Text Wotd_Text;          // "projects/library/seqan/index/index_wotd.h"(31)
+
+} //namespace SEQAN_NAMESPACE_MAIN
+
+
+//////////////////////////////////////////////////////////////////////////////
+// FUNCTIONS
+//////////////////////////////////////////////////////////////////////////////
+
+namespace SEQAN_NAMESPACE_MAIN {
+namespace impl {
+
+//____________________________________________________________________________
+// clearIndex
+
+template <typename TText, typename TSpec> inline void clearIndex(Index<TText, PizzaChili<TSpec> >& me);        // "projects/library/seqan/index/index_pizzachili.h"(132)
+
+//____________________________________________________________________________
+// createPizzaChiliIndex
+
+template <typename TText, typename TSpec> inline bool createPizzaChiliIndex( Index<TText, PizzaChili<TSpec> >& me, uchar_t* textstart, ulong_t textlength );           // "projects/library/seqan/index/index_pizzachili.h"(256)
+
+//____________________________________________________________________________
+// getOptionsString
+
+template <typename TText, typename TSpec> inline char const* getOptionsString(Index<TText, PizzaChili<TSpec> >& );             // "projects/library/seqan/index/index_pizzachili.h"(162)
+template <typename TText> inline char const* getOptionsString(Index<TText, PizzaChili<PizzaChili_SA> >& );             // "projects/library/seqan/index/index_pizzachili.h"(169)
+template <typename TText> inline char const* getOptionsString(Index<TText, PizzaChili<PizzaChili_FM> >& );             // "projects/library/seqan/index/index_pizzachili.h"(176)
+template <typename TText> inline char const* getOptionsString(Index<TText, PizzaChili<PizzaChili_RSA> >& );            // "projects/library/seqan/index/index_pizzachili.h"(183)
+
+//____________________________________________________________________________
+// getPizzaChiliString
+
+template <typename TPattern> inline uchar_t* getPizzaChiliString(TPattern const& pattern);             // "projects/library/seqan/index/index_pizzachili_find.h"(92)
+inline uchar_t* getPizzaChiliString(char const* pattern);              // "projects/library/seqan/index/index_pizzachili_find.h"(110)
+
+//____________________________________________________________________________
+// queryText
+
+template <typename TValue, typename TSpec> inline void queryText(String<TValue, PizzaChili<TSpec> > const& me);        // "projects/library/seqan/index/index_pizzachili_string.h"(419)
+
+} //namespace impl
+} //namespace SEQAN_NAMESPACE_MAIN
+//////////////////////////////////////////////////////////////////////////////
+
+namespace SEQAN_NAMESPACE_MAIN {
+
+//____________________________________________________________________________
+// __cp_
+
+template <typename Dest, typename Ofs, typename Src> static finline Src const __cp_(Dest &dst, Ofs const ofs, Src const src);          // "projects/library/seqan/index/pump_extender7.h"(67)
+
+//____________________________________________________________________________
+// _adjustRightBorder
+
+template <typename TText, typename TSpec > inline void _adjustRightBorder( Iter< Index<TText, Index_Wotd<WotdOriginal> >, VSTree< TopDown<TSpec> > > &);               // "projects/library/seqan/index/index_wotd.h"(493)
+template <typename TText, typename TIndexSpec, typename TSpec > inline void _adjustRightBorder( Iter< Index<TText, Index_Wotd<TIndexSpec> >, VSTree< TopDown<TSpec> > > &it);          // "projects/library/seqan/index/index_wotd.h"(499)
+
+//____________________________________________________________________________
+// _bucketLCP
+
+template <typename TSA, typename TText > typename Size<TText>::Type _bucketLCP(TSA const &sa, TText const &text);              // "projects/library/seqan/index/index_wotd.h"(1249)
+template <typename TSA, typename TText, typename TSize > typename Size<TText>::Type _bucketLCP(TSA const &sa, TText const &text, TSize prefixLen);             // "projects/library/seqan/index/index_wotd.h"(1283)
+template <typename TSA, typename TText, typename TSpec, typename TSize > typename Size<TText>::Type _bucketLCP(TSA const &sa, StringSet<TText, TSpec> const &stringSet, TSize prefixLen);              // "projects/library/seqan/index/index_wotd.h"(1315)
+
+//____________________________________________________________________________
+// _createBWTableWrapper
+
+template <typename TBWT, typename TText, typename TSA, typename _TTextRandom > inline void _createBWTableWrapper(TBWT &bwt, TText const &s, TSA const &sa, _TTextRandom const);        // "projects/library/seqan/index/index_shims.h"(424)
+template <typename TBWT, typename TText, typename TSA > inline void _createBWTableWrapper(TBWT &bwt, TText const &s, TSA const &sa, True const);               // "projects/library/seqan/index/index_shims.h"(432)
+
+//____________________________________________________________________________
+// _dataHost
+
+template <typename TText, typename TSpec> inline Holder<TText> & _dataHost(Index<TText, TSpec> &index);        // "projects/library/seqan/index/index_base.h"(464)
+template <typename TText, typename TSpec> inline Holder<TText> const & _dataHost(Index<TText, TSpec> const &index);            // "projects/library/seqan/index/index_base.h"(468)
+
+//____________________________________________________________________________
+// _deallocateStorage
+
+template <typename TValue, typename TSpec> inline void _deallocateStorage( String<TValue, PizzaChili<TSpec> >& , TValue* begin, typename Size<String<TValue, PizzaChili<TSpec> > >::Type );            // "projects/library/seqan/index/index_pizzachili_string.h"(370)
+
+//____________________________________________________________________________
+// _dfsClear
+
+template <typename TIndex, class TSpec > inline void _dfsClear(Iter<TIndex, VSTree<TSpec> > &it);              // "projects/library/seqan/index/index_esa_stree.h"(1393)
+
+//____________________________________________________________________________
+// _dfsLCP
+
+template <typename TIndex, class TSpec > inline typename Size<TIndex>::Type & _dfsLCP(Iter< TIndex, VSTree< BottomUp<TSpec> > > &it);          // "projects/library/seqan/index/index_esa_stree.h"(1860)
+template <typename TIndex, class TSpec > inline typename Size<TIndex>::Type _dfsLCP(Iter< TIndex, VSTree< BottomUp<TSpec> > > const &it);              // "projects/library/seqan/index/index_esa_stree.h"(1866)
+
+//____________________________________________________________________________
+// _dfsOnLeaf
+
+template <typename TIndex, typename TSpec > inline void _dfsOnLeaf(Iter<TIndex, VSTree< BottomUp<TSpec> > > &it);              // "projects/library/seqan/index/index_esa_stree.h"(274)
+template <typename TSTree, typename TSpec > inline void _dfsOnLeaf(Iter<TSTree, VSTree< BottomUp<_MaxRepeats<TSpec> > > > &it);        // "projects/library/seqan/index/index_esa_algs.h"(496)
+template <typename TSTree > inline void _dfsOnLeaf(Iter<TSTree, VSTree< BottomUp<MultiMEMs> > > &it);          // "projects/library/seqan/index/index_esa_algs_multi.h"(338)
+
+//____________________________________________________________________________
+// _dfsOnPop
+
+template <typename TIndex, typename TSpec, typename TSize > inline void _dfsOnPop(Iter<TIndex, VSTree< BottomUp<TSpec> > > &it, TSize const);          // "projects/library/seqan/index/index_esa_stree.h"(262)
+
+//____________________________________________________________________________
+// _dfsOnPush
+
+template <typename TIndex, typename TSpec, typename TElement > inline void _dfsOnPush(Iter<TIndex, VSTree< BottomUp<TSpec> > > &it, TElement const &e);        // "projects/library/seqan/index/index_esa_stree.h"(269)
+template <typename TSTree, typename TElement, typename TSpec > inline void _dfsOnPush(Iter<TSTree, VSTree< BottomUp<_MaxRepeats<TSpec> > > > &it, TElement const &e);          // "projects/library/seqan/index/index_esa_algs.h"(482)
+
+//____________________________________________________________________________
+// _dfsRange
+
+template <typename TIndex, class TSpec > inline Pair<typename Size<TIndex>::Type> & _dfsRange(Iter< TIndex, VSTree< BottomUp<TSpec> > > &it);          // "projects/library/seqan/index/index_esa_stree.h"(1847)
+template <typename TIndex, class TSpec > inline Pair<typename Size<TIndex>::Type> const & _dfsRange(Iter< TIndex, VSTree< BottomUp<TSpec> > > const &it);              // "projects/library/seqan/index/index_esa_stree.h"(1854)
+
+//____________________________________________________________________________
+// _dfsReversedOrder
+
+template <typename TIndex, typename TSpec > inline bool _dfsReversedOrder(Iter<TIndex, VSTree< BottomUp<TSpec> > > &it);               // "projects/library/seqan/index/index_esa_stree.h"(256)
+
+//____________________________________________________________________________
+// _dump
+
+template <typename TText, typename TPredHull, typename TPred> inline void _dump(Index<TText, Index_Wotd< WotdDFI<TPredHull, TPred> > > &index);        // "projects/library/seqan/index/index_dfi.h"(470)
+template <typename TText, typename TSpec> inline void _dump(Index<TText, Index_Wotd<TSpec> > &index);          // "projects/library/seqan/index/index_wotd.h"(1580)
+template <typename TText, typename TSpec> inline void _dump(Index<TText, Index_ESA<TSpec> > &index);           // "projects/library/seqan/index/index_esa_stree.h"(238)
+
+//____________________________________________________________________________
+// _dumpFreq
+
+template <typename TText, typename TPredHull, typename TPred> inline void _dumpFreq(Index<TText, Index_Wotd< WotdDFI<TPredHull, TPred> > > &index);            // "projects/library/seqan/index/index_dfi.h"(497)
+
+//____________________________________________________________________________
+// _dumpHistoryStack
+
+template <typename TIndex, typename TSpec > inline void _dumpHistoryStack(Iter<TIndex, VSTree<TSpec> > &it);           // "projects/library/seqan/index/index_esa_stree.h"(229)
+
+//____________________________________________________________________________
+// _equalRangeLCPE
+
+template <typename TText, typename TSA, typename TLCP, typename TSpec, typename TQuery > inline Pair< typename Iterator<TSA, Standard>::Type > _equalRangeLCPE( TText &text, TSA &sa, SearchTreeIterator< TLCP, TSpec > treeIter, TQuery &query);              // "projects/library/seqan/index/index_esa_find.h"(1362)
+template <typename TText, typename TSA, typename TLCP, typename TQuery > inline Pair< typename Iterator<TSA, Standard>::Type > _equalRangeLCPE( TText &text, TSA &sa, TLCP &lcp, TQuery &query);               // "projects/library/seqan/index/index_esa_find.h"(1514)
+
+//____________________________________________________________________________
+// _equalRangeSA
+
+template <typename TText, typename TSA, typename TSpec, typename TQuery > inline Pair< typename Iterator<TSA, Standard>::Type > _equalRangeSA( TText &text, SearchTreeIterator< TSA, TSpec > treeIter, TQuery &query);         // "projects/library/seqan/index/index_esa_find.h"(632)
+
+//____________________________________________________________________________
+// _findFirstIndex
+
+template <typename TText, typename TSpec, typename TSpecFinder, typename TPattern> inline void _findFirstIndex( Finder<Index<TText, PizzaChili<TSpec> >, TSpecFinder>& finder, TPattern const& pattern, PizzaChiliFinder const );              // "projects/library/seqan/index/index_pizzachili_find.h"(123)
+template <typename TText, typename TSpec, typename TSpecFinder, typename TPattern > inline void _findFirstIndex( Finder< Index<TText, TSpec>, TSpecFinder > &finder, TPattern const &pattern, QGram_FIND_Lookup const);        // "projects/library/seqan/index/index_qgram_find.h"(57)
+template <typename TText, typename TSpec, typename TSpecFinder, typename TPattern > inline void _findFirstIndex( Finder< Index<TText, TSpec>, TSpecFinder > &finder, TPattern const &pattern, ESA_FIND_MLR const);             // "projects/library/seqan/index/index_esa_find.h"(1742)
+template <typename TText, typename TSpec, typename TSpecFinder, typename TPattern > inline void _findFirstIndex( Finder< Index<TText, TSpec>, TSpecFinder > &finder, TPattern const &pattern, ESA_FIND_LCPE const);            // "projects/library/seqan/index/index_esa_find.h"(1754)
+
+//____________________________________________________________________________
+// _fractionMerge
+
+template <typename TSTree, typename TSpec, typename TValue, typename TSize > inline void _fractionMerge( Iter<TSTree, VSTree< BottomUp<TSpec> > > &it, _FractionCompound<TValue, TSize> &parent, _FractionCompound<TValue, TSize> &child);             // "projects/library/seqan/index/index_esa_algs.h"(451)
+template <typename TSTree, typename TSpec, typename TValue, typename TSize > inline void _fractionMerge( Iter<TSTree, VSTree< BottomUp<TSpec> > > &it, _FractionMultiCompound<TValue, TSize> &parent, _FractionMultiCompound<TValue, TSize> &child);           // "projects/library/seqan/index/index_esa_algs_multi.h"(317)
+
+//____________________________________________________________________________
+// _fullDir2Length
+
+template <typename TIndex> inline int _fullDir2Length(TIndex const &index);            // "projects/library/seqan/index/index_qgram.h"(330)
+
+//____________________________________________________________________________
+// _fullDirLength
+
+template <typename TIndex> inline int _fullDirLength(TIndex const &index);             // "projects/library/seqan/index/index_qgram.h"(322)
+
+//____________________________________________________________________________
+// _getDown
+
+template <typename TSize, typename TIndex > inline TSize _getDown(TSize i, TIndex const &index);               // "projects/library/seqan/index/index_esa_stree.h"(1836)
+
+//____________________________________________________________________________
+// _getNextl
+
+template <typename TSize, typename TIndex > inline TSize _getNextl(TSize i, TIndex const &index);              // "projects/library/seqan/index/index_esa_stree.h"(1821)
+
+//____________________________________________________________________________
+// _getNodeByChar
+
+template <typename TText, class TSpec, typename TValue > inline bool _getNodeByChar( Iter< Index<TText, Index_ESA<TSpec> >, VSTree<TSpec> > const &it, TValue c, typename VertexDescriptor< Index<TText, Index_ESA<TSpec> > >::Type &childDesc);               // "projects/library/seqan/index/index_esa_stree.h"(787)
+
+//____________________________________________________________________________
+// _getNodeLP
+
+template <typename TText, typename TSpec, typename TPos> inline TPos _getNodeLP( Index<TText, Index_Wotd<TSpec> > const &index, TPos pos);             // "projects/library/seqan/index/index_wotd.h"(1366)
+
+//____________________________________________________________________________
+// _getUp
+
+template <typename TSize, typename TIndex > inline TSize _getUp(TSize i, TIndex const &index);         // "projects/library/seqan/index/index_esa_stree.h"(1827)
+
+//____________________________________________________________________________
+// _goDown
+
+template <typename TText, typename TSpec, typename TDFSOrder, typename THideEmptyEdges > inline bool _goDown( Iter< Index<TText, Index_Wotd<WotdOriginal> >, VSTree< TopDown<TSpec> > > &it, VSTreeIteratorTraits<TDFSOrder, THideEmptyEdges> const);          // "projects/library/seqan/index/index_wotd.h"(524)
+template <typename TText, typename TIndexSpec, typename TSpec, typename TDFSOrder, typename THideEmptyEdges > inline bool _goDown( Iter< Index<TText, Index_Wotd<TIndexSpec> >, VSTree< TopDown<TSpec> > > &it, VSTreeIteratorTraits<TDFSOrder, THideEmptyEdges> const);               // "projects/library/seqan/index/index_wotd.h"(560)
+template <typename TText, class TIndexSpec, class TSpec, typename TDFSOrder > inline bool _goDown( Iter< Index<TText, Index_ESA<TIndexSpec> >, VSTree< TopDown<TSpec> > > &it, VSTreeIteratorTraits<TDFSOrder, False> const);          // "projects/library/seqan/index/index_esa_stree.h"(1035)
+template <typename TText, class TIndexSpec, class TSpec, typename TDFSOrder > inline bool _goDown( Iter< Index<TText, Index_ESA<TIndexSpec> >, VSTree< TopDown<TSpec> > > &it, VSTreeIteratorTraits<TDFSOrder, True> const);           // "projects/library/seqan/index/index_esa_stree.h"(1055)
+
+//____________________________________________________________________________
+// _goDownChar
+
+template <typename TText, class TSpec, typename TValue > inline bool _goDownChar( Iter<Index<TText, Index_Wotd<WotdOriginal> >, VSTree< TopDown<TSpec> > > &it, TValue c);             // "projects/library/seqan/index/index_wotd.h"(1609)
+template <typename TText, class TIndexSpec, class TSpec, typename TValue > inline bool _goDownChar( Iter<Index<TText, Index_Wotd<TIndexSpec> >, VSTree< TopDown<TSpec> > > &it, TValue c);             // "projects/library/seqan/index/index_wotd.h"(1631)
+template <typename TIndex, class TSpec, typename TValue > inline bool _goDownChar(Iter< TIndex, VSTree< TopDown<TSpec> > > &it, TValue c);             // "projects/library/seqan/index/index_esa_stree.h"(1100)
+
+//____________________________________________________________________________
+// _goDownObject
+
+template <typename TIndex, typename TSpec, typename TObject > inline bool _goDownObject( Iter< TIndex, VSTree< TopDown<TSpec> > > &it, TObject const &obj, False);             // "projects/library/seqan/index/index_esa_stree.h"(1168)
+template <typename TIndex, typename TSpec, typename TObject > inline bool _goDownObject( Iter< TIndex, VSTree< TopDown<TSpec> > > &it, TObject const &obj, True);              // "projects/library/seqan/index/index_esa_stree.h"(1178)
+
+//____________________________________________________________________________
+// _goDownString
+
+template <typename TIndex, typename TSpec, typename TString, typename TSize > inline bool _goDownString( Iter< TIndex, VSTree< TopDown<TSpec> > > &node, TString const &pattern, TSize &lcp);          // "projects/library/seqan/index/index_esa_stree.h"(1118)
+
+//____________________________________________________________________________
+// _goRight
+
+template <typename TText, typename TSpec, typename TDFSOrder, typename THideEmptyEdges > inline bool _goRight( Iter< Index<TText, Index_Wotd<WotdOriginal> >, VSTree< TopDown<TSpec> > > &it, VSTreeIteratorTraits<TDFSOrder, THideEmptyEdges> const);         // "projects/library/seqan/index/index_wotd.h"(596)
+template <typename TText, typename TIndexSpec, typename TSpec, typename TDFSOrder, typename THideEmptyEdges > inline bool _goRight( Iter< Index<TText, Index_Wotd<TIndexSpec> >, VSTree< TopDown<TSpec> > > &it, VSTreeIteratorTraits<TDFSOrder, THideEmptyEdges> const);              // "projects/library/seqan/index/index_wotd.h"(620)
+template <typename TText, class TIndexSpec, class TSpec, typename TDFSOrder, typename THideEmptyEdges > inline bool _goRight( Iter< Index<TText, Index_ESA<TIndexSpec> >, VSTree< TopDown<TSpec> > > &it, VSTreeIteratorTraits<TDFSOrder, THideEmptyEdges> const);             // "projects/library/seqan/index/index_esa_stree.h"(1289)
+
+//____________________________________________________________________________
+// _goUp
+
+template <typename TText, typename TWotdSpec, typename TSpec > inline bool _goUp(Iter< Index<TText, Index_Wotd<TWotdSpec> >, VSTree< TopDown<TSpec> > > &it);          // "projects/library/seqan/index/index_wotd.h"(645)
+template <typename TText, typename TSpec > inline bool _goUp(Iter< Index<TText, Index_Wotd<WotdOriginal> >, VSTree< TopDown< ParentLinks<TSpec> > > > &it);            // "projects/library/seqan/index/index_wotd.h"(657)
+template <typename TText, typename TIndexSpec, typename TSpec > inline bool _goUp(Iter< Index<TText, Index_Wotd<TIndexSpec> >, VSTree< TopDown< ParentLinks<TSpec> > > > &it);         // "projects/library/seqan/index/index_wotd.h"(674)
+template <typename TIndex, class TSpec > inline bool _goUp(Iter< TIndex, VSTree< TopDown<TSpec> > > &it);              // "projects/library/seqan/index/index_esa_stree.h"(1219)
+template <typename TIndex, class TSpec > inline bool _goUp(Iter< TIndex, VSTree< TopDown< ParentLinks<TSpec> > > > &it);               // "projects/library/seqan/index/index_esa_stree.h"(1231)
+
+//____________________________________________________________________________
+// _hashFixedShape
+
+template <typename THValue, typename TValue, typename TIter> inline THValue _hashFixedShape(THValue hash, TIter &, TValue const, FixedShape<1> const);         // "projects/library/seqan/index/shape_base.h"(290)
+template <typename THValue, typename TValue, typename TIter, unsigned q> inline THValue _hashFixedShape(THValue hash, TIter &it, TValue const, FixedShape<q> const);           // "projects/library/seqan/index/shape_base.h"(296)
+
+//____________________________________________________________________________
+// _hashHardwiredShape
+
+template <typename THValue, typename TValue, typename TIter> inline THValue _hashHardwiredShape(THValue hash, TIter &, TValue const, HardwiredShape< 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0 > const);              // "projects/library/seqan/index/shape_gapped.h"(448)
+template <int P01, int P02, int P03, int P04, int P05, int P06, int P07, int P08, int P09, int P10, int P11, int P12, int P13, int P14, int P15, int P16, int P17, int P18, int P19, typename THValue, typename TValue, typename TIter > inline THValue _hashHardwiredShape(THValue hash, TIter &it, TValue const, HardwiredShape< 1 ,P01,P02,P03,P04, P05,P06,P07,P08,P09, P10,P11,P12,P13,P14, P15,P16,P17,P18,P19 > const);         // "projects/library/seqan/index/shape_gapped.h"(465)
+template <int P00, int P01, int P02, int P03, int P04, int P05, int P06, int P07, int P08, int P09, int P10, int P11, int P12, int P13, int P14, int P15, int P16, int P17, int P18, int P19, typename THValue, typename TValue, typename TIter > inline THValue _hashHardwiredShape(THValue hash, TIter &it, TValue const, HardwiredShape< P00,P01,P02,P03,P04, P05,P06,P07,P08,P09, P10,P11,P12,P13,P14, P15,P16,P17,P18,P19 > const);               // "projects/library/seqan/index/shape_gapped.h"(488)
+
+//____________________________________________________________________________
+// _hashTuple2FixedShape
+
+template <typename THValue, typename TValue, typename TTValue, unsigned SIZE, typename TCompressed> inline THValue _hashTuple2FixedShape( THValue const, Tuple<TTValue, SIZE, TCompressed> const &tuple, TValue const, FixedShape<1> const);           // "projects/library/seqan/index/shape_base.h"(353)
+template <typename THValue, typename TValue, typename TTValue, unsigned SIZE, typename TCompressed, unsigned q> inline THValue _hashTuple2FixedShape( THValue const, Tuple<TTValue, SIZE, TCompressed> const &tuple, TValue const, FixedShape<q> const);               // "projects/library/seqan/index/shape_base.h"(364)
+
+//____________________________________________________________________________
+// _haveMaximalRepeats
+
+template <typename TValue, typename TSize> int _haveMaximalRepeats( _FractionCompound<TValue, TSize> const &a, _FractionCompound<TValue, TSize> const &b);             // "projects/library/seqan/index/index_esa_algs.h"(268)
+template <typename TValue, typename TSize> int _haveMaximalRepeats( _FractionCompound<TValue, TSize> const &a, _FractionCompound<TValue, TSize> const &b, TValue &equalKey);           // "projects/library/seqan/index/index_esa_algs.h"(289)
+
+//____________________________________________________________________________
+// _historyClear
+
+template <typename TIndex, class TSpec > inline void _historyClear(Iter< TIndex, VSTree<TSpec> > &);           // "projects/library/seqan/index/index_esa_stree.h"(989)
+template <typename TIndex, class TSpec > inline void _historyClear(Iter< TIndex, VSTree< TopDown< ParentLinks<TSpec> > > > &it);               // "projects/library/seqan/index/index_esa_stree.h"(993)
+
+//____________________________________________________________________________
+// _historyPush
+
+template <typename TText, typename TIndexSpec, typename TSpec > inline void _historyPush(Iter< Index<TText, Index_Wotd<TIndexSpec> >, VSTree< TopDown<TSpec> > > &it);         // "projects/library/seqan/index/index_wotd.h"(235)
+template <typename TText, typename TSpec > inline void _historyPush(Iter< Index<TText, Index_Wotd<WotdOriginal> >, VSTree< TopDown< ParentLinks<TSpec> > > > &it);             // "projects/library/seqan/index/index_wotd.h"(244)
+template <typename TText, typename TIndexSpec, typename TSpec > inline void _historyPush(Iter< Index<TText, Index_Wotd<TIndexSpec> >, VSTree< TopDown< ParentLinks<TSpec> > > > &it);          // "projects/library/seqan/index/index_wotd.h"(255)
+template <typename TText, class TIndexSpec, class TSpec > inline void _historyPush(Iter< Index<TText, Index_ESA<TIndexSpec> >, VSTree< TopDown<TSpec> > > &it);        // "projects/library/seqan/index/index_esa_stree.h"(1004)
+template <typename TText, class TIndexSpec, class TSpec > inline void _historyPush(Iter< Index<TText, Index_ESA<TIndexSpec> >, VSTree< TopDown< ParentLinks<TSpec> > > > &it);         // "projects/library/seqan/index/index_esa_stree.h"(1010)
+
+//____________________________________________________________________________
+// _indexRequireBottomUpIteration
+
+template <typename TText, typename TSpec > void _indexRequireBottomUpIteration(Index<TText, Index_ESA<TSpec> > &index);        // "projects/library/seqan/index/index_esa_base.h"(298)
+
+//____________________________________________________________________________
+// _indexRequireTopDownIteration
+
+template <typename TText, typename TSpec > void _indexRequireTopDownIteration(Index<TText, Index_ESA<TSpec> > &index);         // "projects/library/seqan/index/index_esa_base.h"(290)
+template <typename TText, typename TSpec > void _indexRequireTopDownIteration(Index<TText, Index_Wotd<TSpec> > &index);        // "projects/library/seqan/index/index_wotd.h"(193)
+
+//____________________________________________________________________________
+// _isLeaf
+
+template <typename TText, typename TIndexSpec, typename TSpec, typename TDFSOrder > inline bool _isLeaf( Iter< Index<TText, Index_Wotd<TIndexSpec> >, VSTree<TSpec> > const &it, VSTreeIteratorTraits<TDFSOrder, False> const);        // "projects/library/seqan/index/index_wotd.h"(281)
+template <typename TText, typename TIndexSpec, typename TSpec, typename TDFSOrder > inline bool _isLeaf( Iter< Index<TText, Index_Wotd<TIndexSpec> >, VSTree<TSpec> > const &it, VSTreeIteratorTraits<TDFSOrder, True> const);         // "projects/library/seqan/index/index_wotd.h"(292)
+template <typename TSize > inline bool _isLeaf(VertexESA<TSize> const &vDesc);         // "projects/library/seqan/index/index_esa_stree.h"(1750)
+template <typename TIndex, class TSpec, typename TDFSOrder > inline bool _isLeaf( Iter<TIndex, VSTree<TSpec> > const &it, VSTreeIteratorTraits<TDFSOrder, False> const);               // "projects/library/seqan/index/index_esa_stree.h"(1760)
+template <typename TIndex, class TSpec, typename TDFSOrder > inline bool _isLeaf( Iter<TIndex, VSTree<TSpec> > const &it, VSTreeIteratorTraits<TDFSOrder, True> const);        // "projects/library/seqan/index/index_esa_stree.h"(1769)
+
+//____________________________________________________________________________
+// _isNextl
+
+template <typename TSize, typename TIndex > inline bool _isNextl(TSize i, TIndex const &index);        // "projects/library/seqan/index/index_esa_stree.h"(1805)
+
+//____________________________________________________________________________
+// _isRoot
+
+template <typename TSize > inline bool _isRoot(_VertexWotdOriginal<TSize> const &value);               // "projects/library/seqan/index/index_wotd.h"(267)
+template <typename TSize > inline bool _isRoot(_VertexWotdModified<TSize> const &value);               // "projects/library/seqan/index/index_wotd.h"(272)
+template <typename TSize > inline bool _isRoot(VertexESA<TSize> const &value);         // "projects/library/seqan/index/index_esa_stree.h"(1501)
+
+//____________________________________________________________________________
+// _isSizeInval
+
+template <typename TValue> inline bool _isSizeInval(TValue const &v);          // "projects/library/seqan/index/index_base.h"(794)
+
+//____________________________________________________________________________
+// _isUp
+
+template <typename TSize, typename TIndex > inline bool _isUp(TSize i, TIndex const &index);           // "projects/library/seqan/index/index_esa_stree.h"(1813)
+
+//____________________________________________________________________________
+// _leqSkew3
+
+template <typename T, typename ST> inline bool _leqSkew3(T a1, ST a2,  T b1, ST b2);           // "projects/library/seqan/index/index_skew3.h"(313)
+template <typename T, typename ST> inline bool _leqSkew3(T a1, T a2, ST a3,  T b1, T b2, ST b3);               // "projects/library/seqan/index/index_skew3.h"(319)
+
+//____________________________________________________________________________
+// _leqSkew7
+
+template <typename TTextIter, typename TSize> inline bool _leqSkew7(TTextIter a1, TSize a2,  TTextIter b1, TSize b2,  TSize n);        // "projects/library/seqan/index/index_skew7.h"(414)
+template <typename TTextIter, typename TSize> inline bool _leqSkew7(TTextIter a,  TTextIter b,  TSize n);              // "projects/library/seqan/index/index_skew7.h"(425)
+template <typename TTextIter, typename TSize, typename TString> inline bool _leqSkew7(unsigned a, unsigned b,  TTextIter spos[], const TSize tpos[], const bool islast[], const TString &s124, const long adjust[7][7]);               // "projects/library/seqan/index/index_skew7.h"(436)
+
+//____________________________________________________________________________
+// _lowerBoundLCPE
+
+template <typename TText, typename TSA, typename TLCP, typename TSpec, typename TQuery, typename TDiff_ > inline typename Iterator<TSA, Standard>::Type _lowerBoundLCPE( TText &text, TSA &sa, SearchTreeIterator< TLCP, TSpec > treeIter, TQuery &query, TDiff_ lcpLower, TDiff_ lcpUpper);           // "projects/library/seqan/index/index_esa_find.h"(992)
+template <typename TText, typename TSA, typename TLCP, typename TSpec, typename TQuery > inline typename Iterator<TSA, Standard>::Type _lowerBoundLCPE( TText &text, TSA &sa, SearchTreeIterator< TLCP, TSpec > &treeIter, TQuery &query);             // "projects/library/seqan/index/index_esa_find.h"(1169)
+
+//____________________________________________________________________________
+// _lowerBoundSA
+
+template <typename TText, typename TSA, typename TSpec, typename TQuery > inline typename Iterator<TSA, Standard>::Type _lowerBoundSA( TText &text, SearchTreeIterator< TSA, TSpec > treeIter, TQuery &query);         // "projects/library/seqan/index/index_esa_find.h"(524)
+
+//____________________________________________________________________________
+// _onGoDown
+
+template <typename TIndex, typename TSpec > inline void _onGoDown(Iter<TIndex, VSTree< TopDown<TSpec> > > &);          // "projects/library/seqan/index/index_esa_stree.h"(1018)
+
+//____________________________________________________________________________
+// _onGoRight
+
+template <typename TIndex, typename TSpec > inline void _onGoRight(Iter<TIndex, VSTree< TopDown<TSpec> > > &);         // "projects/library/seqan/index/index_esa_stree.h"(1021)
+
+//____________________________________________________________________________
+// _onGoUp
+
+template <typename TIndex, typename TSpec > inline void _onGoUp(Iter<TIndex, VSTree< TopDown< ParentLinks<TSpec> > > > &);             // "projects/library/seqan/index/index_esa_stree.h"(1024)
+
+//____________________________________________________________________________
+// _pizzaChiliDeallocate
+
+template <typename TValue> inline void _pizzaChiliDeallocate(TValue* begin);           // "projects/library/seqan/index/index_pizzachili_string.h"(276)
+
+//____________________________________________________________________________
+// _pizzaChiliReallocate
+
+template <typename TValue, typename TSpec> inline typename Value<String<TValue, PizzaChili<TSpec> > >::Type* _pizzaChiliReallocate( String<TValue, PizzaChili<TSpec> >& me, typename Size<String<TValue, PizzaChili<TSpec> > >::Type new_capacity );           // "projects/library/seqan/index/index_pizzachili_string.h"(259)
+
+//____________________________________________________________________________
+// _qgramCountQGrams
+
+template <typename TDir, typename TText, typename TShape > inline void _qgramCountQGrams(TDir &dir, TText const &text, TShape &shape);         // "projects/library/seqan/index/index_qgram.h"(640)
+template <typename TDir, typename TString, typename TSpec, typename TShape > inline void _qgramCountQGrams(TDir &dir, StringSet<TString, TSpec> const &stringSet, TShape &shape);              // "projects/library/seqan/index/index_qgram.h"(660)
+
+//____________________________________________________________________________
+// _qgramCummulativeSum
+
+template <typename TDir, typename TWithConstraints > inline typename Value<TDir>::Type _qgramCummulativeSum(TDir &dir, TWithConstraints);              // "projects/library/seqan/index/index_qgram.h"(690)
+
+//____________________________________________________________________________
+// _qgramCummulativeSumAlt
+
+template <typename TDir, typename TWithConstraints > inline typename Value<TDir>::Type _qgramCummulativeSumAlt(TDir &dir, TWithConstraints const);             // "projects/library/seqan/index/index_qgram.h"(722)
+
+//____________________________________________________________________________
+// _qgramDisableBuckets
+
+template <typename TIndex > inline bool _qgramDisableBuckets(TIndex &);        // "projects/library/seqan/index/index_qgram.h"(863)
+
+//____________________________________________________________________________
+// _qgramFillSuffixArray
+
+template <typename TSA, typename TText, typename TShape, typename TDir, typename TWithConstraints > inline void _qgramFillSuffixArray(TSA &sa, TText const &text, TShape &shape, TDir &dir, TWithConstraints const);           // "projects/library/seqan/index/index_qgram.h"(748)
+template <typename TSA, typename TString, typename TSpec, typename TShape, typename TDir, typename TWithConstraints > inline void _qgramFillSuffixArray( TSA &sa, StringSet<TString, TSpec> const &stringSet, TShape &shape, TDir &dir, TWithConstraints const);               // "projects/library/seqan/index/index_qgram.h"(790)
+
+//____________________________________________________________________________
+// _qgramPostprocessBuckets
+
+template <typename TDir > inline void _qgramPostprocessBuckets(TDir &dir);             // "projects/library/seqan/index/index_qgram.h"(831)
+
+//____________________________________________________________________________
+// _reallocateStorage
+
+template <typename TValue, typename TSpec> inline typename Value<String<TValue, PizzaChili<TSpec> > >::Type* _reallocateStorage( String<TValue, PizzaChili<TSpec> >& me, typename Size<String<TValue, PizzaChili<TSpec> > >::Type new_capacity, Exact );               // "projects/library/seqan/index/index_pizzachili_string.h"(359)
+
+//____________________________________________________________________________
+// _refineQGramIndex
+
+template <typename TSA, typename TDir, typename TText, typename TSize1, typename TSize2 > void _refineQGramIndex( TSA &sa, TDir &dir, TText const &text, TSize1 oldQ, TSize2 newQ);            // "projects/library/seqan/index/index_qgram.h"(1033)
+
+//____________________________________________________________________________
+// _setLength
+
+template <typename TValue, typename TSpec> inline void _setLength( String<TValue, PizzaChili<TSpec> >& me, size_t new_length );        // "projects/library/seqan/index/index_pizzachili_string.h"(409)
+
+//____________________________________________________________________________
+// _setSizeInval
+
+template <typename TValue> inline void _setSizeInval(TValue &v);               // "projects/library/seqan/index/index_base.h"(789)
+
+//____________________________________________________________________________
+// _sortBucketQuickSort
+
+template <typename TSA, typename TText, typename TSize> void _sortBucketQuickSort( TSA &sa, TText &text, TSize lcp);           // "projects/library/seqan/index/index_sa_qsort.h"(87)
+
+//____________________________________________________________________________
+// _sortFirstWotdBucket
+
+template <typename TText, typename TSpec, typename TPredHull, typename TPred > typename Size< Index<StringSet<TText, TSpec>, Index_Wotd<WotdDFI<TPredHull, TPred> > > >::Type _sortFirstWotdBucket(Index<StringSet<TText, TSpec>, Index_Wotd<WotdDFI<TPredHull, TPred> > > &index);            // "projects/library/seqan/index/index_dfi.h"(171)
+template <typename TIndex > typename Size<TIndex>::Type _sortFirstWotdBucket(TIndex &index);           // "projects/library/seqan/index/index_wotd.h"(890)
+template <typename TText, typename TSpec, typename TIndexSpec > typename Size< Index<StringSet<TText, TSpec>, TIndexSpec> >::Type _sortFirstWotdBucket(Index<StringSet<TText, TSpec>, TIndexSpec> &index);             // "projects/library/seqan/index/index_wotd.h"(935)
+
+//____________________________________________________________________________
+// _sortWotdBucket
+
+template <typename TText, typename TSpec, typename TPredHull, typename TPred, typename TSize > TSize _sortWotdBucket( Index<StringSet<TText, TSpec>, Index_Wotd<WotdDFI<TPredHull, TPred> > > &index, TSize left, TSize right, TSize prefixLen);               // "projects/library/seqan/index/index_dfi.h"(260)
+template <typename TText, typename TSize > TSize _sortWotdBucket( Index<TText, Index_Wotd<WotdOriginal> > &index, TSize left, TSize right, TSize prefixLen);           // "projects/library/seqan/index/index_wotd.h"(999)
+template <typename TIndex, typename TSize > TSize _sortWotdBucket( TIndex &index, TSize left, TSize right, TSize prefixLen);           // "projects/library/seqan/index/index_wotd.h"(1108)
+template <typename TText, typename TSpec, typename TIndexSpec, typename TSize > TSize _sortWotdBucket( Index<StringSet<TText, TSpec>, TIndexSpec> &index, TSize left, TSize right, TSize prefixLen);           // "projects/library/seqan/index/index_wotd.h"(1171)
+
+//____________________________________________________________________________
+// _storeWotdChildren
+
+template <typename TText, typename TPredHull, typename TPred, typename TSize> inline void _storeWotdChildren( Index<TText, Index_Wotd<WotdDFI<TPredHull, TPred> > > &index, TSize dirOfs, TSize lcp);          // "projects/library/seqan/index/index_dfi.h"(397)
+template <typename TText, typename TPos> inline void _storeWotdChildren( Index<TText, Index_Wotd<WotdOriginal> > &index, TPos dirOfs);         // "projects/library/seqan/index/index_wotd.h"(1385)
+template <typename TText, typename TSpec, typename TSize> inline void _storeWotdChildren( Index<TText, Index_Wotd<TSpec> > &index, TSize dirOfs, TSize lcp);           // "projects/library/seqan/index/index_wotd.h"(1441)
+
+//____________________________________________________________________________
+// _treeLevels
+
+template <typename TSize > inline unsigned _treeLevels(TSize lcpSize);         // "projects/library/seqan/index/index_lcp_tree.h"(146)
+
+//____________________________________________________________________________
+// _upperBoundLCPE
+
+template <typename TText, typename TSA, typename TLCP, typename TSpec, typename TQuery, typename TDiff_ > inline typename Iterator<TSA, Standard>::Type _upperBoundLCPE( TText &text, TSA &sa, SearchTreeIterator< TLCP, TSpec > treeIter, TQuery &query, TDiff_ lcpLower, TDiff_ lcpUpper);           // "projects/library/seqan/index/index_esa_find.h"(1192)
+template <typename TText, typename TSA, typename TLCP, typename TSpec, typename TQuery > inline typename Iterator<TSA, Standard>::Type _upperBoundLCPE( TText &text, TSA &sa, SearchTreeIterator< TLCP, TSpec > &treeIter, TQuery &query);             // "projects/library/seqan/index/index_esa_find.h"(1342)
+
+//____________________________________________________________________________
+// _upperBoundSA
+
+template <typename TText, typename TSA, typename TSpec, typename TQuery > inline typename Iterator<TSA, Standard>::Type _upperBoundSA( TText &text, SearchTreeIterator< TSA, TSpec > treeIter, TQuery &query);         // "projects/library/seqan/index/index_esa_find.h"(578)
+
+//____________________________________________________________________________
+// _wotdCountChars
+
+template <typename TBuckets, typename TText > inline void _wotdCountChars(TBuckets &buckets, TText const &text);               // "projects/library/seqan/index/index_wotd.h"(700)
+template <typename TBuckets, typename TText, typename TSpec > inline void _wotdCountChars(TBuckets &buckets, StringSet<TText, TSpec> const &stringSet);        // "projects/library/seqan/index/index_wotd.h"(714)
+template <typename TBuckets, typename TText, typename TSA, typename TSize > inline typename Size<TText>::Type _wotdCountChars( TBuckets &buckets, TText const &text, TSA const &sa, TSize prefixLen);          // "projects/library/seqan/index/index_wotd.h"(767)
+template <typename TBuckets, typename TText, typename TSpec, typename TSA, typename TSize > inline typename Size<TText>::Type _wotdCountChars( TBuckets &buckets, StringSet<TText, TSpec> const &stringSet, TSA const &sa, TSize prefixLen);           // "projects/library/seqan/index/index_wotd.h"(803)
+
+//____________________________________________________________________________
+// _wotdCountCharsWotdOriginal
+
+template <typename TBuckets, typename TText, typename TSA, typename TSize > inline typename Size<TText>::Type _wotdCountCharsWotdOriginal( TBuckets &buckets, TText const &text, TSA &sa, TSize prefixLen);            // "projects/library/seqan/index/index_wotd.h"(736)
+
+//____________________________________________________________________________
+// _wotdCreateFirstLevel
+
+template <typename TText, typename TSpec> inline void _wotdCreateFirstLevel(Index<TText, Index_Wotd<TSpec> > &index);          // "projects/library/seqan/index/index_wotd.h"(1681)
+
+//____________________________________________________________________________
+// _wotdCummulativeSum
+
+template <typename TBounds, typename TBuckets, typename TSize > inline typename Size<TBuckets>::Type _wotdCummulativeSum(TBounds &bounds, TBuckets const &buckets, TSize offset);              // "projects/library/seqan/index/index_wotd.h"(844)
+template <typename TBounds, typename TBuckets > inline typename Size<TBuckets>::Type _wotdCummulativeSum(TBounds &bounds, TBuckets const &buckets);            // "projects/library/seqan/index/index_wotd.h"(870)
+
+//____________________________________________________________________________
+// _wotdEvaluate
+
+template <typename TText, typename TSpec > inline typename Size< Index<TText, Index_Wotd<WotdOriginal> > >::Type _wotdEvaluate(Iter< Index<TText, Index_Wotd<WotdOriginal> >, VSTree<TSpec> > const &it);              // "projects/library/seqan/index/index_wotd.h"(1497)
+template <typename TText, typename TIndexSpec, typename TSpec > inline typename Size< Index<TText, Index_Wotd<TIndexSpec> > >::Type _wotdEvaluate(Iter< Index<TText, Index_Wotd<TIndexSpec> >, VSTree<TSpec> > const &it);             // "projects/library/seqan/index/index_wotd.h"(1538)
+
+//____________________________________________________________________________
+// alignment
+
+template <typename TString, typename TSSetSpec, typename TIndexSpec, class TSpec > inline Align<TString, ArrayGaps> alignment(Iter< Index< StringSet<TString, TSSetSpec>, TIndexSpec >, VSTree<TSpec> > &it);          // "projects/library/seqan/index/index_esa_stree.h"(643)
+template <typename TString, typename TConcSpec, typename TIndexSpec, class TSpec > inline Align<TString, ArrayGaps> alignment(Iter< Index< StringSet<TString, Owner<ConcatDirect<TConcSpec> > >, TIndexSpec >, VSTree<TSpec> > &it);           // "projects/library/seqan/index/index_esa_stree.h"(689)
+
+//____________________________________________________________________________
+// assign
+
+template <typename TValue, typename TSpec, typename TSource, typename TExpand> inline void assign( String<TValue, PizzaChili<TSpec> >& target, TSource const& source, Tag<TExpand> const );            // "projects/library/seqan/index/index_pizzachili_string.h"(196)
+template <typename TValue, typename TSpec, typename TSource, typename TExpand> inline void assign( String<TValue, PizzaChili<TSpec> >& target, TSource const* source, Tag<TExpand> const );            // "projects/library/seqan/index/index_pizzachili_string.h"(210)
+template <typename TValue, typename TSpec, typename TExpand> inline void assign( String<TValue, PizzaChili<TSpec> >& target, String<TValue, PizzaChili<TSpec> > const& source, Tag<TExpand> const );           // "projects/library/seqan/index/index_pizzachili_string.h"(224)
+
+//____________________________________________________________________________
+// atBegin
+
+template <typename TText, typename TSpec, typename TSpecFinder > inline bool atBegin(Finder< Index<TText, TSpec>, TSpecFinder > & me);         // "projects/library/seqan/index/index_find.h"(180)
+
+//____________________________________________________________________________
+// atEnd
+
+template <typename TText, typename TSpec > inline bool atEnd(Iter<Index<TText, Index_Wotd<WotdOriginal> >, VSTree<TSpec> > &it);               // "projects/library/seqan/index/index_wotd.h"(477)
+template <typename TText, typename TSpec > inline bool atEnd(Iter<Index<TText, Index_Wotd<WotdOriginal> >, VSTree<TSpec> > const &it);         // "projects/library/seqan/index/index_wotd.h"(483)
+template <typename TText, typename TSpec, typename TSpecFinder > inline bool atEnd(Finder< Index<TText, TSpec>, TSpecFinder > & me);           // "projects/library/seqan/index/index_find.h"(188)
+template <typename TIndex, class TSpec > inline bool atEnd(Iter<TIndex, VSTree<TSpec> > &it);          // "projects/library/seqan/index/index_esa_stree.h"(1467)
+template <typename TIndex, class TSpec > inline bool atEnd(Iter<TIndex, VSTree<TSpec> > const &it);            // "projects/library/seqan/index/index_esa_stree.h"(1473)
+template <typename TRepeat > inline bool atEnd(Iter<TRepeat, MaxRepeatOccurrences> const &it);         // "projects/library/seqan/index/index_esa_algs.h"(824)
+template <typename TRepeat > inline bool atEnd(Iter<TRepeat, MaxRepeatOccurrences> &it);               // "projects/library/seqan/index/index_esa_algs.h"(829)
+template <typename TRepeat > inline bool atEnd(Iter<TRepeat, MultiMEMOccurences> const &it);           // "projects/library/seqan/index/index_esa_algs_multi.h"(644)
+template <typename TRepeat > inline bool atEnd(Iter<TRepeat, MultiMEMOccurences> &it);         // "projects/library/seqan/index/index_esa_algs_multi.h"(649)
+
+//____________________________________________________________________________
+// begin
+
+template <typename TValue, typename TSpec, typename TTag> inline typename Iterator<String<TValue, PizzaChili<TSpec> >, Tag<TSpec> const>::Type begin( String<TValue, PizzaChili<TSpec> >& me, Tag<TTag> const );               // "projects/library/seqan/index/index_pizzachili_string.h"(464)
+template <typename TValue, typename TSpec, typename TTag> inline typename Iterator<String<TValue, PizzaChili<TSpec> > const, Tag<TSpec> const>::Type begin( String<TValue, PizzaChili<TSpec> > const& me, Tag<TTag> const );           // "projects/library/seqan/index/index_pizzachili_string.h"(475)
+template <typename TText, typename TIndexSpec, class TSpec > inline typename Iterator<Index<TText, TIndexSpec>, TSpec >::Type begin(Index<TText, TIndexSpec> &index, TSpec const);             // "projects/library/seqan/index/index_esa_stree.h"(877)
+template <typename TSTree, class TSpec > inline typename Iterator< Iter< TSTree, VSTree< BottomUp<_MaxRepeats<TSpec> > > > >::Type begin(Iter< TSTree, VSTree< BottomUp<_MaxRepeats<TSpec> > > > &it);         // "projects/library/seqan/index/index_esa_algs.h"(579)
+
+//____________________________________________________________________________
+// bwtAt
+
+template <typename TPos, typename TIndex> inline typename Reference<typename Fibre<TIndex, Fibre_BWT>::Type>::Type bwtAt(TPos i, TIndex &index);               // "projects/library/seqan/index/index_base.h"(777)
+template <typename TPos, typename TIndex> inline typename Reference<typename Fibre<TIndex const, Fibre_BWT>::Type>::Type bwtAt(TPos i, TIndex const &index);           // "projects/library/seqan/index/index_base.h"(781)
+
+//____________________________________________________________________________
+// cargo
+
+template <typename TText, typename TSpec> inline typename Reference< typename Cargo<Index<TText, TSpec> >::Type >::Type cargo(Index<TText, TSpec> & me);               // "projects/library/seqan/index/index_shims.h"(595)
+template <typename TText, typename TSpec> inline typename Reference< typename Cargo<Index<TText, TSpec> const>::Type >::Type cargo(Index<TText, TSpec> const & me);            // "projects/library/seqan/index/index_shims.h"(603)
+
+//____________________________________________________________________________
+// childAt
+
+template <typename TPos, typename TIndex> inline typename Reference<typename Fibre<TIndex, Fibre_ChildTab>::Type>::Type childAt(TPos i, TIndex &index);        // "projects/library/seqan/index/index_base.h"(756)
+template <typename TPos, typename TIndex> inline typename Reference<typename Fibre<TIndex const, Fibre_ChildTab>::Type>::Type childAt(TPos i, TIndex const &index);            // "projects/library/seqan/index/index_base.h"(760)
+
+//____________________________________________________________________________
+// childrenAreLeaves
+
+template <typename TIndex, class TSpec > inline bool childrenAreLeaves(Iter<TIndex, VSTree<TSpec> > const &it);        // "projects/library/seqan/index/index_esa_stree.h"(1734)
+
+//____________________________________________________________________________
+// childtab_process
+
+template <typename TLCPInput, typename TDest > inline void childtab_process(TLCPInput &lcpIn, TDest &dest);            // "projects/library/seqan/index/index_childtab.h"(44)
+
+//____________________________________________________________________________
+// clear
+
+template <typename TText, typename TSpec> inline void clear(Index<TText, Index_ESA<TSpec> > &index);           // "projects/library/seqan/index/index_esa_base.h"(307)
+template <typename TText, typename TSpec> inline void clear(Index<TText, PizzaChili<TSpec> >& me);             // "projects/library/seqan/index/index_pizzachili.h"(150)
+template <typename TText, typename TSpec, typename TSpecFinder > inline void clear(Finder< Index<TText, TSpec>, TSpecFinder > & me);           // "projects/library/seqan/index/index_find.h"(167)
+template <typename TValue, typename TSpec> inline void clear(String<TValue, PizzaChili<TSpec> >& me);          // "projects/library/seqan/index/index_pizzachili_string.h"(178)
+template <typename TIndex, class TSpec > inline void clear(Iter<TIndex, VSTree<TSpec> > &it);          // "projects/library/seqan/index/index_esa_stree.h"(1387)
+
+//____________________________________________________________________________
+// container
+
+template <typename TText, typename TSpec, typename TSpecFinder > inline typename _Parameter< Index<TText, TSpec> >::Type container(Finder< Index<TText, TSpec>, TSpecFinder > & me);           // "projects/library/seqan/index/index_find.h"(100)
+template <typename TText, typename TSpec, typename TSpecFinder > inline typename _Parameter< Index<TText, TSpec> >::Type container(Finder< Index<TText, TSpec>, TSpecFinder > const & me);             // "projects/library/seqan/index/index_find.h"(108)
+template <typename TIndex, class TSpec > inline TIndex const & container(Iter< TIndex, VSTree<TSpec> > const &it);             // "projects/library/seqan/index/index_esa_stree.h"(543)
+template <typename TIndex, class TSpec > inline TIndex & container(Iter< TIndex, VSTree<TSpec> > &it);         // "projects/library/seqan/index/index_esa_stree.h"(548)
+
+//____________________________________________________________________________
+// control
+
+//template <typename TInput > inline bool control(Pipe< TInput, LarssonSadakane > &me, ControlBeginRead const &command);               // "projects/library/seqan/index/index_sa_lss.h"(413)
+//template <typename TInput > inline bool control(Pipe< TInput, Merger3 > &me, ControlBeginRead const &command);               // "projects/library/seqan/index/pipe_merger3.h"(134)
+//template <typename TInput > inline bool control(Pipe< TInput, Merger7 > &me, ControlBeginRead const &command);               // "projects/library/seqan/index/pipe_merger7.h"(475)
+//template <typename TInput > inline bool control(Pipe< TInput, Merger7 > &me, ControlEof const &);            // "projects/library/seqan/index/pipe_merger7.h"(483)
+//template <typename TInput > inline bool control(Pipe< TInput, Merger7 > &me, ControlEos const &);            // "projects/library/seqan/index/pipe_merger7.h"(488)
+//template <typename TInput, typename TLimitsString > inline bool control(Pipe< TInput, Merger7Multi<TLimitsString> > &me, ControlBeginRead const &command);           // "projects/library/seqan/index/pipe_merger7.h"(506)
+//template <typename TInput, typename TLimitsString > inline bool control(Pipe< TInput, Merger7Multi<TLimitsString> > &me, ControlEof const &);        // "projects/library/seqan/index/pipe_merger7.h"(513)
+//template <typename TInput, typename TLimitsString > inline bool control(Pipe< TInput, Merger7Multi<TLimitsString> > &me, ControlEos const &);        // "projects/library/seqan/index/pipe_merger7.h"(518)
+
+//____________________________________________________________________________
+// countChildren
+
+template <typename TIndex, class TSpec > inline typename Size<TIndex>::Type countChildren(Iter< TIndex, VSTree<TSpec> > const &it);            // "projects/library/seqan/index/index_esa_stree.h"(763)
+
+//____________________________________________________________________________
+// countOccurrences
+
+template <typename TIndex, class TSpec > inline typename Size<TIndex>::Type countOccurrences(Iter< TIndex, VSTree<TSpec> > const &it);         // "projects/library/seqan/index/index_esa_stree.h"(600)
+
+//____________________________________________________________________________
+// countSequences
+
+template <typename TText, typename TSpec> inline typename Size<TText>::Type countSequences(Index<TText, TSpec> const &index);          // "projects/library/seqan/index/index_base.h"(609)
+
+//____________________________________________________________________________
+// createBWTable
+
+template <typename TBWT, typename TText, typename TSA > inline void createBWTable(TBWT &bwt, TText const &s, TSA const &sa);           // "projects/library/seqan/index/index_shims.h"(439)
+
+//____________________________________________________________________________
+// createBWTableExt
+
+template <typename TBWT, typename TText, typename TSA > void createBWTableExt( TBWT &bwt, TText const &s, TSA const &SA);              // "projects/library/seqan/index/index_shims.h"(394)
+
+//____________________________________________________________________________
+// createBWTableInt
+
+template <typename TBWT, typename TText, typename TSA > void createBWTableInt( TBWT &bwt, TText const &s, TSA const &SA);              // "projects/library/seqan/index/index_bwt.h"(247)
+template <typename TBWT, typename TString, typename TSpec, typename TSA > void createBWTableInt( TBWT &bwt, StringSet<TString, TSpec> const &s, TSA const &SA);        // "projects/library/seqan/index/index_bwt.h"(275)
+
+//____________________________________________________________________________
+// createChildTable
+
+//template <typename TLCPTable, typename TValue, typename TConfig > inline void createChildTable( String<TValue, External<TConfig> > &childtab, TLCPTable &lcp);               // "projects/library/seqan/index/index_childtab.h"(197)
+template <typename TLCPInput, typename TDest > inline void createChildTable(TDest &dest, TLCPInput const &lcpIn);              // "projects/library/seqan/index/index_childtab.h"(209)
+
+//____________________________________________________________________________
+// createChildTableExt
+
+template <typename TLCPTable, typename TChildTable > void createChildTableExt( TChildTable &childtab, TLCPTable &lcp);         // "projects/library/seqan/index/index_childtab.h"(171)
+
+//____________________________________________________________________________
+// createCountsArray
+
+template <typename TCounts, typename TDir, typename TString, typename TSpec, typename TShape > void createCountsArray( TCounts &counts, TDir &dir, StringSet<TString, TSpec> const &stringSet, TShape &shape);         // "projects/library/seqan/index/index_qgram.h"(1150)
+
+//____________________________________________________________________________
+// createLCPBinTree
+
+template <class LCPFwdIt, class FlatOutIt > inline FlatOutIt createLCPBinTree( LCPFwdIt _First, LCPFwdIt _Last, FlatOutIt _Dest);              // "projects/library/seqan/index/index_lcp_tree.h"(33)
+template <typename TLCPE, typename TLCP > inline void createLCPBinTree(TLCPE &lcp_enhanced, TLCP &lcp);        // "projects/library/seqan/index/index_lcp_tree.h"(139)
+//template <typename TValue, typename TConfig, typename TLCP > inline void createLCPBinTree(String<TValue, External<TConfig> > &lcp_enhanced, TLCP &lcp);              // "projects/library/seqan/index/index_lcp_tree.h"(155)
+
+//____________________________________________________________________________
+// createLCPETable
+
+template <typename TValue, typename TSpec, typename TText, typename TSA, typename TAlgSpec > void createLCPETable( String< TValue, TSpec > &LCPE, TText const &s, TSA const &SA, TAlgSpec const alg);          // "projects/library/seqan/index/index_shims.h"(334)
+//template <typename TValue, typename TConfig, typename TText, typename TSA, typename TAlgSpec > void createLCPETable( String< TValue, External<TConfig> > &LCPE, TText const &s, TSA const &SA, TAlgSpec const alg);          // "projects/library/seqan/index/index_shims.h"(359)
+template <typename TValue, typename TSpec, typename TText, typename TSA> inline void createLCPETable( String< TValue, TSpec > &LCPE, TText &s, TSA &SA);               // "projects/library/seqan/index/index_shims.h"(373)
+
+//____________________________________________________________________________
+// createLCPETableExt
+
+template <typename TValue, typename TSpec, typename TObject, typename TSA, typename TAlgSpec > void createLCPETableExt( String< TValue, TSpec > &LCPE, TObject const &text, TSA const &suffixArray, TAlgSpec const);           // "projects/library/seqan/index/index_shims.h"(301)
+
+//____________________________________________________________________________
+// createLCPTable
+
+//template <typename TLCPTable, typename TText, typename TSA > void createLCPTable( TLCPTable &LCP, TText const &s, TSA const &SA, KasaiOriginal const);               // "projects/library/seqan/index/index_lcp.h"(253)
+//template <typename TLCPTable, typename TText, typename TSA > void createLCPTable( TLCPTable &LCP, TText const &s, TSA const &SA, Kasai const);               // "projects/library/seqan/index/index_lcp.h"(315)
+template <typename TLCPTable, typename TString, typename TSpec, typename TSA > void createLCPTable( TLCPTable &LCP, StringSet<TString, TSpec> const &sset, TSA const &SA, Kasai const);        // "projects/library/seqan/index/index_lcp.h"(398)
+
+//____________________________________________________________________________
+// createLCPTableExt
+
+template <typename TLCPTable, typename TObject, typename TSA, typename TAlgSpec > void createLCPTableExt( TLCPTable &LCP, TObject const &text, TSA const &suffixArray, TAlgSpec const);        // "projects/library/seqan/index/index_shims.h"(179)
+template <typename TLCPTable, typename TString, typename TSpec, typename TSA, typename TAlgSpec > void createLCPTableExt( TLCPTable &LCP, StringSet<TString, TSpec> const &stringSet, TSA const &suffixArray, TAlgSpec const);         // "projects/library/seqan/index/index_shims.h"(210)
+
+//____________________________________________________________________________
+// createQGramIndex
+
+template <typename TIndex > void createQGramIndex(TIndex &index);              // "projects/library/seqan/index/index_qgram.h"(869)
+template <typename TSA, typename TDir, typename TText, typename TShape > void createQGramIndex( TSA &sa, TDir &dir, TText const &text, TShape &shape);         // "projects/library/seqan/index/index_qgram.h"(915)
+
+//____________________________________________________________________________
+// createQGramIndexDirOnly
+
+template <typename TDir, typename TText, typename TShape > void createQGramIndexDirOnly( TDir &dir, TText const &text, TShape &shape);         // "projects/library/seqan/index/index_qgram.h"(1089)
+template <typename TDir, typename TString, typename TSpec, typename TShape > void createQGramIndexDirOnly( TDir &dir, StringSet<TString, TSpec> const &stringSet, TShape &shape);              // "projects/library/seqan/index/index_qgram.h"(1111)
+
+//____________________________________________________________________________
+// createQGramIndexExt
+
+template <typename TSA, typename TDir, typename TText, typename TShape > void createQGramIndexExt( TSA &suffixArray, TDir &dir, TText &text, TShape &shape);           // "projects/library/seqan/index/index_qgram.h"(1287)
+template <typename TSA, typename TDir, typename TString, typename TSpec, typename TShape, typename TLimitsString > void createQGramIndexExt( TSA &suffixArray, TDir &dir, StringSet<TString, TSpec> const &stringSet, TShape &shape, TLimitsString &limits);           // "projects/library/seqan/index/index_qgram.h"(1374)
+
+//____________________________________________________________________________
+// createQGramIndexSAOnly
+
+template <typename TSA, typename TText, typename TShape > void createQGramIndexSAOnly( TSA &sa, TText const &text, TShape &shape);             // "projects/library/seqan/index/index_qgram.h"(951)
+template <typename TSA, typename TString, typename TSpec, typename TShape > void createQGramIndexSAOnly( TSA &sa, StringSet<TString, TSpec> const &stringSet, TShape &shape);          // "projects/library/seqan/index/index_qgram.h"(986)
+
+//____________________________________________________________________________
+// createSABTree
+
+template <class SAFwdIt, class FlatOutIt > inline FlatOutIt createSABTree( SAFwdIt _First, SAFwdIt _Last, FlatOutIt _Dest, unsigned BlockSize);        // "projects/library/seqan/index/index_sa_btree.h"(33)
+template <typename TSAB, typename TSA > inline void createSABTree(TSAB &sa_btree, TSA &sa, unsigned BlockSize);        // "projects/library/seqan/index/index_sa_btree.h"(96)
+//template <typename TValue, typename TConfig, typename TSA > inline void createSABTree(String<TValue, External<TConfig> > &sa_btree, TSA &sa, unsigned BlockSize);            // "projects/library/seqan/index/index_sa_btree.h"(110)
+
+//____________________________________________________________________________
+// createSuffixArray
+
+template <typename TSA, typename TText > void createSuffixArray( TSA &SA, TText &s, Shawarma<DeepShallow> const);              // "projects/library/seqan/index/index_shawarma.h"(58)
+template <typename TSA, typename TText, typename TAlgSpec > inline void createSuffixArray( TSA &SA, TText const &s, TAlgSpec const &alg);              // "projects/library/seqan/index/index_shims.h"(121)
+//template <typename TSA, typename TValue, typename TConfig, typename TAlgSpec > inline void createSuffixArray( TSA &SA, String< TValue, External<TConfig> > const &s, TAlgSpec const alg);            // "projects/library/seqan/index/index_shims.h"(139)
+template <typename TSA, typename TValue, typename TSpec, typename TSSetSpec, typename TAlgSpec > inline void createSuffixArray( TSA &SA, StringSet< String<TValue, TSpec>, TSSetSpec > const &s, TAlgSpec const);              // "projects/library/seqan/index/index_shims.h"(155)
+template <typename TSA, typename TText > void createSuffixArray( TSA &SA, TText &s, LarssonSadakane const &, unsigned K);              // "projects/library/seqan/index/index_sa_lss.h"(352)
+template <typename TSA, typename TText > void createSuffixArray( TSA &SA, TText &s, ManberMyers const &, unsigned K, unsigned maxdepth);               // "projects/library/seqan/index/index_sa_mm.h"(42)
+template <typename TSA, typename TText > inline void createSuffixArray( TSA &SA, TText &s, SAQSort const &);           // "projects/library/seqan/index/index_sa_qsort.h"(102)
+//template <typename TSA, typename TValue, typename TConfig > inline void createSuffixArray( TSA &SA, String< TValue, External<TConfig> > &s, Skew3 const &spec, unsigned K, unsigned maxdepth);               // "projects/library/seqan/index/index_skew3.h"(299)
+template <typename TSA, typename TText > void createSuffixArray( TSA &SA, TText &s, Skew3 const &, unsigned K, unsigned maxdepth, unsigned depth);             // "projects/library/seqan/index/index_skew3.h"(342)
+template <typename TSA, typename TText > inline void createSuffixArray( TSA &SA, TText &s, Skew3 const &alg, unsigned K, unsigned maxdepth);           // "projects/library/seqan/index/index_skew3.h"(494)
+//template <typename TSA, typename TValue, typename TConfig > inline void createSuffixArray( TSA &SA, String< TValue, External<TConfig> > &s, Skew7 const &spec, unsigned K, unsigned maxdepth);               // "projects/library/seqan/index/index_skew7.h"(399)
+template <typename TSA, typename TText > void createSuffixArray( TSA &SA, TText &s, Skew7 const &, unsigned K, unsigned maxdepth, unsigned depth);             // "projects/library/seqan/index/index_skew7.h"(472)
+template <typename TSA, typename TText > inline void createSuffixArray( TSA &SA, TText &s, Skew7 const &alg, unsigned K, unsigned maxdepth);           // "projects/library/seqan/index/index_skew7.h"(795)
+
+//____________________________________________________________________________
+// createSuffixArrayExt
+
+template <typename TSA, typename TObject, typename TAlgSpec > void createSuffixArrayExt( TSA &suffixArray, TObject const &text, TAlgSpec const);               // "projects/library/seqan/index/index_shims.h"(40)
+template <typename TSA, typename TString, typename TSpec, typename TAlgSpec > void createSuffixArrayExt( TSA &suffixArray, StringSet<TString, TSpec> const &stringSet, TAlgSpec const);        // "projects/library/seqan/index/index_shims.h"(74)
+
+//____________________________________________________________________________
+// createSuffixArrayPart
+
+template <typename TSA, typename TText, typename TSize > inline void createSuffixArrayPart( TSA &SA, TText &s, ManberMyers const &alg, TSize maxLCP, unsigned K );             // "projects/library/seqan/index/index_sa_mm.h"(167)
+template <typename TSA, typename TText, typename TSize > inline void createSuffixArrayPart( TSA &SA, TText &s, Skew3 const &_dummy, TSize maxLCP, unsigned K );        // "projects/library/seqan/index/index_skew3.h"(508)
+template <typename TSA, typename TText, typename TSize > inline void createSuffixArrayPart( TSA &SA, TText &s, Skew7 const &_dummy, TSize maxLCP, unsigned K );        // "projects/library/seqan/index/index_skew7.h"(809)
+
+//____________________________________________________________________________
+// dirAt
+
+template <typename TPos, typename TIndex> inline typename Reference<typename Fibre<TIndex, Fibre_Dir>::Type>::Type dirAt(TPos i, TIndex &index);               // "projects/library/seqan/index/index_qgram.h"(265)
+template <typename TPos, typename TIndex> inline typename Reference<typename Fibre<TIndex const, Fibre_Dir>::Type>::Type dirAt(TPos i, TIndex const &index);           // "projects/library/seqan/index/index_qgram.h"(269)
+
+//____________________________________________________________________________
+// empty
+
+template <typename TText, typename TSpec, typename TSpecFinder > inline bool empty(Finder< Index<TText, TSpec>, TSpecFinder > & me);           // "projects/library/seqan/index/index_find.h"(159)
+template <typename TIndex, class TSpec > inline bool empty(Iter<TIndex, VSTree<TSpec> > &it);          // "projects/library/seqan/index/index_esa_stree.h"(1452)
+template <typename TIndex, class TSpec > inline bool empty(Iter<TIndex, VSTree<TSpec> > const &it);            // "projects/library/seqan/index/index_esa_stree.h"(1458)
+
+//____________________________________________________________________________
+// emptyParentEdge
+
+template <typename TText, typename TIndexSpec, typename TSpec > inline bool emptyParentEdge(Iter< Index<TText, Index_Wotd<TIndexSpec> >, VSTree<TopDown<TSpec> > > const &it);         // "projects/library/seqan/index/index_wotd.h"(425)
+template <typename TText, typename TIndexSpec, typename TSpec > inline bool emptyParentEdge(Iter< Index<TText, Index_Wotd<TIndexSpec> >, VSTree<TopDown<ParentLinks<TSpec> > > > const &it);           // "projects/library/seqan/index/index_wotd.h"(438)
+template <typename TIndex, typename TSpec > inline bool emptyParentEdge(Iter< TIndex, VSTree<TopDown<TSpec> > > const &it);            // "projects/library/seqan/index/index_esa_stree.h"(427)
+
+//____________________________________________________________________________
+// end
+
+template <typename TValue, typename TSpec, typename TTag> inline typename Iterator<String<TValue, PizzaChili<TSpec> >, Tag<TSpec> const>::Type end( String<TValue, PizzaChili<TSpec> >& me, Tag<TTag> const );         // "projects/library/seqan/index/index_pizzachili_string.h"(486)
+template <typename TValue, typename TSpec, typename TTag> inline typename Iterator<String<TValue, PizzaChili<TSpec> > const, Tag<TSpec> const>::Type end( String<TValue, PizzaChili<TSpec> > const& me, Tag<TTag> const );             // "projects/library/seqan/index/index_pizzachili_string.h"(497)
+template <typename TText, typename TIndexSpec, class TSpec > inline typename Iterator<Index<TText, TIndexSpec>, TSpec >::Type end(Index<TText, TIndexSpec> &index, TSpec const);               // "projects/library/seqan/index/index_esa_stree.h"(927)
+template <typename TSTree, class TSpec > inline typename Iterator< Iter< TSTree, VSTree< BottomUp<_MaxRepeats<TSpec> > > > >::Type end(Iter< TSTree, VSTree< BottomUp<_MaxRepeats<TSpec> > > > &it);           // "projects/library/seqan/index/index_esa_algs.h"(589)
+
+//____________________________________________________________________________
+// eof
+
+template <typename TIndex, class TSpec > inline bool eof(Iter<TIndex, VSTree<TSpec> > &it);            // "projects/library/seqan/index/index_esa_stree.h"(1440)
+template <typename TIndex, class TSpec > inline bool eof(Iter<TIndex, VSTree<TSpec> > const &it);              // "projects/library/seqan/index/index_esa_stree.h"(1446)
+
+//____________________________________________________________________________
+// equalRangeLCPE
+
+template <typename TText, typename TSA, typename TLCPE, typename TQuery > inline Pair< typename Position<TSA>::Type > equalRangeLCPE( TText const &text, TSA const &sa, TLCPE const &lcpe, TQuery const &query);               // "projects/library/seqan/index/index_esa_find.h"(1586)
+template <typename TText, typename TSA, typename TLCPE, typename TQuery > inline Pair< typename Position<TSA>::Type > equalRangeLCPE( TText const &text, TSA const &sa, TLCPE const &lcpe, TQuery *query);             // "projects/library/seqan/index/index_esa_find.h"(1688)
+
+//____________________________________________________________________________
+// equalRangeLCPEIterator
+
+template <typename TText, typename TSA, typename TLCPE, typename TQuery > inline Pair< typename Iterator<TSA, Standard>::Type > equalRangeLCPEIterator( TText const &text, TSA const &sa, TLCPE const &lcpe, TQuery const &query);             // "projects/library/seqan/index/index_esa_find.h"(1637)
+template <typename TText, typename TSA, typename TLCPE, typename TQuery > inline Pair< typename Iterator<TSA, Standard>::Type > equalRangeLCPEIterator( TText const &text, TSA const &sa, TLCPE const &lcpe, TQuery *query);           // "projects/library/seqan/index/index_esa_find.h"(1707)
+
+//____________________________________________________________________________
+// equalRangeSA
+
+template <typename TText, typename TSA, typename TQuery, typename TFlatTreeSpec > inline Pair< typename Position<TSA>::Type > equalRangeSA( TText const &text, TSA const &sa, TQuery const &query, TFlatTreeSpec const);               // "projects/library/seqan/index/index_esa_find.h"(853)
+template <typename TText, typename TSA, typename TQuery > inline Pair< typename Position<TSA>::Type > equalRangeSA( TText const &text, TSA const &sa, TQuery const &query);            // "projects/library/seqan/index/index_esa_find.h"(870)
+template <typename TText, typename TSA, typename TQuery, typename TFlatTreeSpec > inline Pair< typename Position<TSA>::Type > equalRangeSA( TText const &text, TSA const &sa, TQuery *query, TFlatTreeSpec const);             // "projects/library/seqan/index/index_esa_find.h"(950)
+template <typename TText, typename TSA, typename TQuery > inline Pair< typename Position<TSA>::Type > equalRangeSA( TText const &text, TSA const &sa, TQuery *query);          // "projects/library/seqan/index/index_esa_find.h"(967)
+
+//____________________________________________________________________________
+// equalRangeSAIterator
+
+template <typename TText, typename TSA, typename TQuery > inline Pair< typename Iterator<TSA const, Standard>::Type > equalRangeSAIterator( TText const &text, TSA const &sa, TQuery const &query);            // "projects/library/seqan/index/index_esa_find.h"(727)
+template <typename TText, typename TSA, typename TQuery > inline Pair< typename Iterator<TSA const, Standard>::Type > equalRangeSAIterator( TText const &text, TSA const &sa, TQuery *query);          // "projects/library/seqan/index/index_esa_find.h"(773)
+
+//____________________________________________________________________________
+// find
+
+template <typename TText, typename TSpec, typename TSpecFinder, typename TPattern > inline bool find( Finder<Index<TText, TSpec>, TSpecFinder> &finder, TPattern const &pattern);              // "projects/library/seqan/index/index_find.h"(249)
+template <typename TText, typename TSpec, typename TSpecFinder > inline bool find(Finder<Index<TText, TSpec>, TSpecFinder> &finder);           // "projects/library/seqan/index/index_find.h"(260)
+
+//____________________________________________________________________________
+// findRepeats
+
+template <typename TRepeatStore, typename TText, typename TRepeatSize, typename TPeriodSize> void findRepeats(TRepeatStore &repString, TText const &text, TRepeatSize minRepeatLen, TPeriodSize maxPeriod);            // "projects/library/seqan/index/repeat_base.h"(92)
+template <typename TRepeatStore, typename TString, typename TSpec, typename TRepeatSize> void findRepeats(TRepeatStore &repString, StringSet<TString, TSpec> const &text, TRepeatSize minRepeatLen);           // "projects/library/seqan/index/repeat_base.h"(189)
+
+//____________________________________________________________________________
+// getFibre
+
+template <typename TText, typename TSpec> inline typename Fibre<Index<TText, PizzaChili<TSpec> > const, PizzaChili_Text>::Type getFibre(Index<TText, PizzaChili<TSpec> > const& me, PizzaChili_Text const);            // "projects/library/seqan/index/index_pizzachili.h"(210)
+template <typename TText, typename TSpec> inline typename Fibre<Index<TText, PizzaChili<TSpec> >, PizzaChili_Text>::Type getFibre(Index<TText, PizzaChili<TSpec> >& me, PizzaChili_Text const);        // "projects/library/seqan/index/index_pizzachili.h"(217)
+template <typename TText, typename TSpec> inline typename Fibre<Index<TText, TSpec>, Fibre_Dir>::Type & getFibre(Index<TText, TSpec> &index, Fibre_Dir);               // "projects/library/seqan/index/index_qgram.h"(188)
+template <typename TText, typename TSpec> inline typename Fibre<Index<TText, TSpec> const, Fibre_Dir>::Type & getFibre(Index<TText, TSpec> const &index, Fibre_Dir);           // "projects/library/seqan/index/index_qgram.h"(193)
+template <typename TText, typename TSpec> inline typename Fibre<Index<TText, TSpec>, Fibre_Counts>::Type & getFibre(Index<TText, TSpec> &index, Fibre_Counts);         // "projects/library/seqan/index/index_qgram.h"(199)
+template <typename TText, typename TSpec> inline typename Fibre<Index<TText, TSpec> const, Fibre_Counts>::Type & getFibre(Index<TText, TSpec> const &index, Fibre_Counts);             // "projects/library/seqan/index/index_qgram.h"(204)
+template <typename TText, typename TSpec> inline typename Fibre<Index<TText, TSpec>, Fibre_CountsDir>::Type & getFibre(Index<TText, TSpec> &index, Fibre_CountsDir);           // "projects/library/seqan/index/index_qgram.h"(210)
+template <typename TText, typename TSpec> inline typename Fibre<Index<TText, TSpec> const, Fibre_CountsDir>::Type & getFibre(Index<TText, TSpec> const &index, Fibre_CountsDir);               // "projects/library/seqan/index/index_qgram.h"(215)
+template <typename TText, typename TSpec> inline typename Fibre<Index<TText, TSpec>, Fibre_Shape>::Type & getFibre(Index<TText, TSpec> &index, Fibre_Shape);           // "projects/library/seqan/index/index_qgram.h"(221)
+template <typename TText, typename TSpec> inline typename Fibre<Index<TText, TSpec> const, Fibre_Shape>::Type & getFibre(Index<TText, TSpec> const &index, Fibre_Shape);               // "projects/library/seqan/index/index_qgram.h"(226)
+template <typename TText, typename TSpec> inline typename Fibre<Index<TText, TSpec>, Fibre_Text>::Type & getFibre(Index<TText, TSpec> &index, Fibre_Text);             // "projects/library/seqan/index/index_base.h"(476)
+template <typename TText, typename TSpec> inline typename Fibre<Index<TText, TSpec> const, Fibre_Text>::Type & getFibre(Index<TText, TSpec> const &index, Fibre_Text);         // "projects/library/seqan/index/index_base.h"(481)
+template <typename TText, typename TSpec> inline typename Fibre<Index<TText, TSpec>, Fibre_RawText>::Type & getFibre(Index<TText, TSpec> &index, Fibre_RawText);               // "projects/library/seqan/index/index_base.h"(489)
+template <typename TText, typename TSpec> inline typename Fibre<Index<TText, TSpec> const, Fibre_RawText>::Type & getFibre(Index<TText, TSpec> const &index, Fibre_RawText);           // "projects/library/seqan/index/index_base.h"(494)
+template <typename TText, typename TSpec> inline typename Fibre<Index<TText, TSpec>, Fibre_SA>::Type & getFibre(Index<TText, TSpec> &index, Fibre_SA);         // "projects/library/seqan/index/index_base.h"(502)
+template <typename TText, typename TSpec> inline typename Fibre<Index<TText, TSpec> const, Fibre_SA>::Type & getFibre(Index<TText, TSpec> const &index, Fibre_SA);             // "projects/library/seqan/index/index_base.h"(507)
+template <typename TText, typename TSpec> inline typename Fibre<Index<TText, TSpec> const, Fibre_SA>::Type & getFibre(Index<TText, TSpec> &index, Fibre_RawSA);        // "projects/library/seqan/index/index_base.h"(515)
+template <typename TString, typename TSSetSpec, typename TSpec> inline typename Fibre<Index<StringSet<TString, TSSetSpec>, TSpec>, Fibre_RawSA>::Type getFibre(Index<StringSet<TString, TSSetSpec>, TSpec> &index, Fibre_RawSA);               // "projects/library/seqan/index/index_base.h"(528)
+template <typename TText, typename TSpec> inline typename Fibre<Index<TText, TSpec>, Fibre_LCP>::Type & getFibre(Index<TText, TSpec> &index, Fibre_LCP);               // "projects/library/seqan/index/index_base.h"(548)
+template <typename TText, typename TSpec> inline typename Fibre<Index<TText, TSpec> const, Fibre_LCP>::Type & getFibre(Index<TText, TSpec> const &index, Fibre_LCP);           // "projects/library/seqan/index/index_base.h"(553)
+template <typename TText, typename TSpec> inline typename Fibre<Index<TText, TSpec>, Fibre_LCPE>::Type & getFibre(Index<TText, TSpec> &index, Fibre_LCPE);             // "projects/library/seqan/index/index_base.h"(561)
+template <typename TText, typename TSpec> inline typename Fibre<Index<TText, TSpec> const, Fibre_LCPE>::Type & getFibre(Index<TText, TSpec> const &index, Fibre_LCPE);         // "projects/library/seqan/index/index_base.h"(566)
+template <typename TText, typename TSpec> inline typename Fibre<Index<TText, TSpec>, Fibre_ChildTab>::Type & getFibre(Index<TText, TSpec> &index, Fibre_ChildTab);             // "projects/library/seqan/index/index_base.h"(574)
+template <typename TText, typename TSpec> inline typename Fibre<Index<TText, TSpec> const, Fibre_ChildTab>::Type & getFibre(Index<TText, TSpec> const &index, Fibre_ChildTab);         // "projects/library/seqan/index/index_base.h"(579)
+template <typename TText, typename TSpec> inline typename Fibre<Index<TText, TSpec>, Fibre_BWT>::Type & getFibre(Index<TText, TSpec> &index, Fibre_BWT);               // "projects/library/seqan/index/index_base.h"(587)
+template <typename TText, typename TSpec> inline typename Fibre<Index<TText, TSpec> const, Fibre_BWT>::Type & getFibre(Index<TText, TSpec> const &index, Fibre_BWT);           // "projects/library/seqan/index/index_base.h"(592)
+
+//____________________________________________________________________________
+// getFrequency
+
+template <typename TIndex, class TSpec, typename TSet > inline typename Size<TIndex>::Type getFrequency(Iter<TIndex, VSTree<TSpec> > const &it, TSet &set);            // "projects/library/seqan/index/index_esa_stree.h"(1686)
+template <typename TIndex, class TSpec > inline typename Size<TIndex>::Type getFrequency(Iter<TIndex, VSTree<TSpec> > const &it);              // "projects/library/seqan/index/index_esa_stree.h"(1714)
+
+//____________________________________________________________________________
+// getKmerSimilarityMatrix
+
+template <typename TObject, typename TShapeSpec, typename TSpec, typename TDistMatrix > inline void getKmerSimilarityMatrix( Index< TObject, Index_QGram<TShapeSpec, TSpec> > &index, TDistMatrix &distMat);           // "projects/library/seqan/index/index_qgram.h"(1538)
+template <typename TObject, typename TShapeSpec, typename TSpec, typename TDistMatrix, typename TSeqNoString > inline void getKmerSimilarityMatrix( Index< TObject, Index_QGram<TShapeSpec, TSpec> > &index, TDistMatrix &distMat, TSeqNoString const &seqNo);         // "projects/library/seqan/index/index_qgram.h"(1638)
+
+//____________________________________________________________________________
+// getOccurrence
+
+template <typename TText, typename TSpec > inline typename SAValue<Index<TText, Index_Wotd<WotdOriginal> > >::Type getOccurrence(Iter< Index<TText, Index_Wotd<WotdOriginal> >, VSTree<TSpec> > const &it);            // "projects/library/seqan/index/index_wotd.h"(418)
+template <typename TIndex, class TSpec > inline typename SAValue<TIndex>::Type getOccurrence(Iter< TIndex, VSTree<TSpec> > const &it);         // "projects/library/seqan/index/index_esa_stree.h"(581)
+
+//____________________________________________________________________________
+// getOccurrences
+
+template <typename TIndex, class TSpec > inline typename Infix< typename Fibre<TIndex, Fibre_SA>::Type const >::Type getOccurrences(Iter< TIndex, VSTree<TSpec> > const &it);          // "projects/library/seqan/index/index_esa_stree.h"(621)
+
+//____________________________________________________________________________
+// getOccurrencesBWT
+
+template <typename TIndex, class TSpec > inline typename Infix< typename Fibre<TIndex, ESA_BWT>::Type const >::Type getOccurrencesBWT(Iter< TIndex, VSTree<TSpec> > const &it);        // "projects/library/seqan/index/index_esa_stree.h"(723)
+
+//____________________________________________________________________________
+// goBegin
+
+template <typename TText, typename TSpec, typename TSpecFinder > inline void goBegin(Finder< Index<TText, TSpec>, TSpecFinder > & me);         // "projects/library/seqan/index/index_find.h"(198)
+template <typename TText, typename TIndexSpec, class TSpec > inline void goBegin(Iter<Index<TText, TIndexSpec>, VSTree<TSpec> > &it);          // "projects/library/seqan/index/index_esa_stree.h"(887)
+template <typename TText, typename TIndexSpec, class TSpec > inline void goBegin(Iter<Index<TText, Index_ESA<TIndexSpec> >, VSTree< BottomUp<TSpec> > > &it);          // "projects/library/seqan/index/index_esa_stree.h"(906)
+template <typename TRepeat > inline Iter<TRepeat, MaxRepeatOccurrences> & goBegin(Iter<TRepeat, MaxRepeatOccurrences> &it);            // "projects/library/seqan/index/index_esa_algs.h"(810)
+
+//____________________________________________________________________________
+// goDown
+
+template <typename TIndex, class TSpec > inline bool goDown(Iter< TIndex, VSTree< TopDown<TSpec> > > &it);             // "projects/library/seqan/index/index_esa_stree.h"(1085)
+template <typename TIndex, typename TSpec, typename TObject > inline bool goDown( Iter< TIndex, VSTree< TopDown<TSpec> > > &it, TObject const &obj);           // "projects/library/seqan/index/index_esa_stree.h"(1190)
+template <typename TIndex, typename TSpec, typename TString, typename TSize > inline bool goDown( Iter< TIndex, VSTree< TopDown<TSpec> > > &it, TString const &pattern, TSize &lcp);           // "projects/library/seqan/index/index_esa_stree.h"(1200)
+
+//____________________________________________________________________________
+// goEnd
+
+template <typename TText, typename TSpec, typename TSpecFinder > inline void goEnd(Finder< Index<TText, TSpec>, TSpecFinder > & me);           // "projects/library/seqan/index/index_find.h"(206)
+template <typename TText, typename TIndexSpec, class TSpec > inline void goEnd(Iter<Index<TText, Index_ESA<TIndexSpec> >, VSTree<TSpec> > &it);        // "projects/library/seqan/index/index_esa_stree.h"(938)
+template <typename TText, typename TIndexSpec, class TSpec > inline void goEnd(Iter<Index<TText, Index_ESA<TIndexSpec> >, VSTree< BottomUp<TSpec> > > &it);            // "projects/library/seqan/index/index_esa_stree.h"(945)
+template <typename TRepeat > inline Iter<TRepeat, MaxRepeatOccurrences> & goEnd(Iter<TRepeat, MaxRepeatOccurrences> &it);              // "projects/library/seqan/index/index_esa_algs.h"(819)
+
+//____________________________________________________________________________
+// goNext
+
+template <typename TIndex, typename TSpec > inline void goNext(Iter<TIndex, VSTree<TSpec> > &it);              // "projects/library/seqan/index/index_esa_stree.h"(956)
+template <typename TIndex, typename TSpec, typename TTraits > inline void goNext(Iter<TIndex, VSTree<TSpec> > &it, TTraits const traits);              // "projects/library/seqan/index/index_esa_stree.h"(961)
+template <typename TSTree > inline void goNext(Iter< TSTree, VSTree< BottomUp<SuperMaxRepeats> > > &it);               // "projects/library/seqan/index/index_esa_algs.h"(96)
+template <typename TText, typename TSpec > inline void goNext(Iter< Index<TText, Index_ESA<TSpec> >, VSTree< BottomUp<SuperMaxRepeatsFast> > > &it);           // "projects/library/seqan/index/index_esa_algs.h"(187)
+template <typename TSTree, typename TSpec > inline void goNext(Iter< TSTree, VSTree< BottomUp<_MaxRepeats<TSpec> > > > &it);           // "projects/library/seqan/index/index_esa_algs.h"(533)
+template <typename TRepeat > inline Iter<TRepeat, MaxRepeatOccurrences> & goNext(Iter<TRepeat, MaxRepeatOccurrences> &it);             // "projects/library/seqan/index/index_esa_algs.h"(793)
+template <typename TSTree > inline void goNext(Iter< TSTree, VSTree< BottomUp<MUMs> > > &it);          // "projects/library/seqan/index/index_esa_algs_multi.h"(100)
+template <typename TRepeat > inline Iter<TRepeat, MultiMEMOccurences> & goNext(Iter<TRepeat, MultiMEMOccurences> &it);         // "projects/library/seqan/index/index_esa_algs_multi.h"(630)
+
+//____________________________________________________________________________
+// goNextImpl
+
+template <typename TIndex, typename TSpec, typename THideEmptyEdges > inline void goNextImpl( Iter<TIndex, VSTree< BottomUp<TSpec> > > &it, VSTreeIteratorTraits<_Postorder, THideEmptyEdges> const);          // "projects/library/seqan/index/index_esa_stree.h"(284)
+template <typename TIndex, typename TSpec, typename THideEmptyEdges > inline void goNextImpl( Iter< TIndex, VSTree< TopDown< ParentLinks<TSpec> > > > &it, VSTreeIteratorTraits<_Preorder, THideEmptyEdges> const);            // "projects/library/seqan/index/index_esa_stree.h"(1405)
+template <typename TIndex, typename TSpec, typename THideEmptyEdges > inline void goNextImpl( Iter< TIndex, VSTree< TopDown< ParentLinks<TSpec> > > > &it, VSTreeIteratorTraits<_Postorder, THideEmptyEdges> const);           // "projects/library/seqan/index/index_esa_stree.h"(1421)
+
+//____________________________________________________________________________
+// goRight
+
+template <typename TIndex, class TSpec > inline bool goRight(Iter< TIndex, VSTree< TopDown<TSpec> > > &it);            // "projects/library/seqan/index/index_esa_stree.h"(1316)
+
+//____________________________________________________________________________
+// goRoot
+
+template <typename TText, typename TSpec > inline void goRoot(Iter< Index<TText, Index_Wotd<WotdOriginal> >, VSTree<TSpec> > &it);             // "projects/library/seqan/index/index_wotd.h"(454)
+template <typename TText, typename TIndexSpec, typename TSpec > inline void goRoot(Iter< Index<TText, Index_Wotd<TIndexSpec> >, VSTree<TSpec> > &it);          // "projects/library/seqan/index/index_wotd.h"(466)
+template <typename TText, typename TIndexSpec, class TSpec > inline void goRoot(Iter<Index<TText, TIndexSpec>, VSTree<TSpec> > &it);           // "projects/library/seqan/index/index_esa_stree.h"(865)
+
+//____________________________________________________________________________
+// goUp
+
+template <typename TIndex, class TSpec > inline bool goUp(Iter< TIndex, VSTree< TopDown< ParentLinks<TSpec> > > > &it);        // "projects/library/seqan/index/index_esa_stree.h"(1244)
+
+//____________________________________________________________________________
+// hash
+
+template <typename TValue, typename TIter> inline typename Value< Shape<TValue, GappedShape> >::Type hash(Shape<TValue, GappedShape> &me, TIter it);           // "projects/library/seqan/index/shape_gapped.h"(368)
+template <typename TValue, typename TSpec, typename TIter, typename TSize> inline typename Value< Shape<TValue, FixedGappedShape<TSpec> > >::Type hash(Shape<TValue, FixedGappedShape<TSpec> > &me, TIter it, TSize charsLeft);        // "projects/library/seqan/index/shape_gapped.h"(385)
+template <int P00, int P01, int P02, int P03, int P04, int P05, int P06, int P07, int P08, int P09, int P10, int P11, int P12, int P13, int P14, int P15, int P16, int P17, int P18, int P19, typename TValue, typename TIter > inline typename Value< Shape<TValue, FixedGappedShape< HardwiredShape< P00,P01,P02,P03,P04, P05,P06,P07,P08,P09, P10,P11,P12,P13,P14, P15,P16,P17,P18,P19 > > > >::Type hash(Shape<TValue, FixedGappedShape< HardwiredShape< P00,P01,P02,P03,P04, P05,P06,P07,P08,P09, P10,P11,P12,P13,P14, P15,P16,P17,P18,P19 > > > &me, TIter it);          // "projects/library/seqan/index/shape_gapped.h"(517)
+template <typename TValue, typename TIter> typename Value< Shape<TValue, SimpleShape> >::Type hash(Shape<TValue, SimpleShape> &me, TIter it);          // "projects/library/seqan/index/shape_base.h"(271)
+template <typename TValue, unsigned q, typename TIter> inline typename Value< Shape<TValue, FixedShape<q> > >::Type hash(Shape<TValue, FixedShape<q> > &me, TIter it);         // "projects/library/seqan/index/shape_base.h"(307)
+template <typename TValue, typename TSpec, typename TIter, typename TSize> inline typename Value< Shape<TValue, TSpec> >::Type hash(Shape<TValue, TSpec> &me, TIter it, TSize charsLeft);              // "projects/library/seqan/index/shape_base.h"(320)
+template <typename TValue, typename TTValue, unsigned SIZE, unsigned q> typename Value< Shape<TValue, FixedShape<q> > >::Type hash( Shape<TValue, FixedShape<q> > &me, Tuple<TTValue, SIZE, Compressed> const &tuple);         // "projects/library/seqan/index/shape_base.h"(379)
+template <typename TValue, typename TTValue, unsigned SIZE, typename TCompressed, unsigned q> typename Value< Shape<TValue, FixedShape<q> > >::Type hash( Shape<TValue, FixedShape<q> > &me, Tuple<TTValue, SIZE, TCompressed> const &tuple);          // "projects/library/seqan/index/shape_base.h"(400)
+
+//____________________________________________________________________________
+// hash2
+
+template <typename TValue, typename TSpec, typename TIter, typename TSize> inline typename Value< Shape<TValue, TSpec> >::Type hash2(Shape<TValue, TSpec> &me, TIter it, TSize charsLeft);             // "projects/library/seqan/index/shape_base.h"(490)
+
+//____________________________________________________________________________
+// hash2Next
+
+template <typename TValue, typename TSpec, typename TIter, typename TSize> inline typename Value< Shape<TValue, TSpec> >::Type hash2Next(Shape<TValue, TSpec> &me, TIter &it, TSize charsLeft);        // "projects/library/seqan/index/shape_base.h"(568)
+
+//____________________________________________________________________________
+// hash2Upper
+
+template <typename TValue, typename TSpec, typename TIter, typename TSize> inline typename Value< Shape<TValue, TSpec> >::Type hash2Upper(Shape<TValue, TSpec> &me, TIter it, TSize charsLeft);        // "projects/library/seqan/index/shape_base.h"(519)
+
+//____________________________________________________________________________
+// hashNext
+
+template <typename TValue, typename TSpec, typename TIter> inline typename Value< Shape<TValue, FixedGappedShape<TSpec> > >::Type hashNext(Shape<TValue, FixedGappedShape<TSpec> > &me, TIter it);             // "projects/library/seqan/index/shape_gapped.h"(536)
+template <typename TValue, typename TSpec, typename TIter> inline typename Value< Shape<TValue, TSpec> >::Type hashNext(Shape<TValue, TSpec> &me, TIter &it);          // "projects/library/seqan/index/shape_base.h"(463)
+
+//____________________________________________________________________________
+// hashUpper
+
+template <typename TValue, typename TSpec, typename TIter, typename TSize> inline typename Value< Shape<TValue, FixedGappedShape<TSpec> > >::Type hashUpper(Shape<TValue, FixedGappedShape<TSpec> > &me, TIter it, TSize charsLeft);           // "projects/library/seqan/index/shape_gapped.h"(413)
+template <typename TValue, typename TSpec, typename TIter, typename TSize> inline typename Value< Shape<TValue, TSpec> >::Type hashUpper(Shape<TValue, TSpec> &me, TIter it, TSize charsLeft);         // "projects/library/seqan/index/shape_base.h"(422)
+
+//____________________________________________________________________________
+// host
+
+template <typename TText, typename TSpec, typename TSpecFinder > inline typename _Parameter< Index<TText, TSpec> >::Type host(Finder< Index<TText, TSpec>, TSpecFinder > & me);        // "projects/library/seqan/index/index_find.h"(84)
+template <typename TText, typename TSpec, typename TSpecFinder > inline typename _Parameter< Index<TText, TSpec> >::Type host(Finder< Index<TText, TSpec>, TSpecFinder > const & me);          // "projects/library/seqan/index/index_find.h"(92)
+
+//____________________________________________________________________________
+// hostIterator
+
+template <typename TText, typename TSpec, typename TSpecFinder > inline typename Iterator< typename Fibre<Index<TText, TSpec>, Fibre_SA>::Type, Standard>::Type & hostIterator(Finder< Index<TText, TSpec>, TSpecFinder > & me);               // "projects/library/seqan/index/index_find.h"(140)
+template <typename TText, typename TSpec, typename TSpecFinder > inline typename Iterator< typename Fibre<Index<TText, TSpec>, Fibre_SA>::Type, Standard>::Type const & hostIterator(Finder< Index<TText, TSpec>, TSpecFinder > const & me);           // "projects/library/seqan/index/index_find.h"(148)
+
+//____________________________________________________________________________
+// indexBWT
+
+template <typename TText, typename TSpec> inline typename Fibre<Index<TText, TSpec>, Fibre_BWT>::Type & indexBWT(Index<TText, TSpec> &index);          // "projects/library/seqan/index/index_base.h"(932)
+template <typename TText, typename TSpec> inline typename Fibre<Index<TText, TSpec> const, Fibre_BWT>::Type & indexBWT(Index<TText, TSpec> const &index);              // "projects/library/seqan/index/index_base.h"(934)
+
+//____________________________________________________________________________
+// indexChildTab
+
+template <typename TText, typename TSpec> inline typename Fibre<Index<TText, TSpec>, Fibre_ChildTab>::Type & indexChildTab(Index<TText, TSpec> &index);        // "projects/library/seqan/index/index_base.h"(948)
+template <typename TText, typename TSpec> inline typename Fibre<Index<TText, TSpec> const, Fibre_ChildTab>::Type & indexChildTab(Index<TText, TSpec> const &index);            // "projects/library/seqan/index/index_base.h"(950)
+
+//____________________________________________________________________________
+// indexCounts
+
+template <typename TText, typename TSpec> inline typename Fibre<Index<TText, TSpec>, Fibre_Counts>::Type & indexCounts(Index<TText, TSpec> &index);            // "projects/library/seqan/index/index_qgram.h"(289)
+template <typename TText, typename TSpec> inline typename Fibre<Index<TText, TSpec> const, Fibre_Counts>::Type & indexCounts(Index<TText, TSpec> const &index);        // "projects/library/seqan/index/index_qgram.h"(294)
+
+//____________________________________________________________________________
+// indexCountsDir
+
+template <typename TText, typename TSpec> inline typename Fibre<Index<TText, TSpec>, Fibre_CountsDir>::Type & indexCountsDir(Index<TText, TSpec> &index);              // "projects/library/seqan/index/index_qgram.h"(300)
+template <typename TText, typename TSpec> inline typename Fibre<Index<TText, TSpec> const, Fibre_CountsDir>::Type & indexCountsDir(Index<TText, TSpec> const &index);          // "projects/library/seqan/index/index_qgram.h"(305)
+
+//____________________________________________________________________________
+// indexCreate
+
+template <typename TText, typename TPredHull, typename TPred> inline bool indexCreate(Index<TText, Index_Wotd<WotdDFI<TPredHull, TPred> > > &index, Wotd_SA const, Default const);             // "projects/library/seqan/index/index_dfi.h"(518)
+template <typename TText, typename TSpec> inline bool indexCreate(Index<TText, PizzaChili<TSpec> >& me, PizzaChili_Compressed const);          // "projects/library/seqan/index/index_pizzachili.h"(278)
+template <typename TText, typename TSpec> inline bool indexCreate(Index<TText, Index_Wotd<TSpec> > &index, Wotd_SA const, Default const);              // "projects/library/seqan/index/index_wotd.h"(1712)
+template <typename TText, typename TSpec, typename TSpecAlg> inline bool indexCreate(Index<TText, TSpec> &index, Fibre_SA, TSpecAlg const alg);        // "projects/library/seqan/index/index_shims.h"(498)
+template <typename TText, typename TSpec, typename TSpecAlg> inline bool indexCreate(Index<TText, TSpec> &index, Fibre_LCP, TSpecAlg const alg);               // "projects/library/seqan/index/index_shims.h"(506)
+template <typename TText, typename TSpec, typename TSpecAlg> inline bool indexCreate(Index<TText, TSpec> &index, Fibre_LCPE, TSpecAlg const alg);              // "projects/library/seqan/index/index_shims.h"(514)
+template <typename TText, typename TSpec> inline bool indexCreate(Index<TText, TSpec> &index, Fibre_BWT, BWT const);           // "projects/library/seqan/index/index_shims.h"(523)
+template <typename TText, typename TSpec> inline bool indexCreate(Index<TText, TSpec> &index, Fibre_ChildTab, ChildTab const);         // "projects/library/seqan/index/index_shims.h"(531)
+template <typename TText, typename TSpec, typename TFibre> inline bool indexCreate(Index<TText, TSpec> &index, Tag<TFibre> const fibre);               // "projects/library/seqan/index/index_shims.h"(539)
+template <typename TText, typename TShapeSpec, typename TSpec> inline bool indexCreate( Index<TText, Index_QGram<TShapeSpec, TSpec> > &index, Fibre_SADir, Default const);             // "projects/library/seqan/index/index_qgram.h"(1459)
+template <typename TText, typename TShapeSpec, typename TSpec> inline bool indexCreate( Index<TText, Index_QGram<TShapeSpec, TSpec> > &index, Fibre_SA, Default const alg);            // "projects/library/seqan/index/index_qgram.h"(1487)
+template <typename TText, typename TShapeSpec, typename TSpec> inline bool indexCreate( Index<TText, Index_QGram<TShapeSpec, TSpec> > &index, Fibre_Counts, Default const);            // "projects/library/seqan/index/index_qgram.h"(1509)
+
+//____________________________________________________________________________
+// indexDir
+
+template <typename TText, typename TSpec> inline typename Fibre<Index<TText, TSpec>, Fibre_Dir>::Type & indexDir(Index<TText, TSpec> &index);          // "projects/library/seqan/index/index_qgram.h"(243)
+template <typename TText, typename TSpec> inline typename Fibre<Index<TText, TSpec> const, Fibre_Dir>::Type & indexDir(Index<TText, TSpec> const &index);              // "projects/library/seqan/index/index_qgram.h"(248)
+
+//____________________________________________________________________________
+// indexLCP
+
+template <typename TText, typename TSpec> inline typename Fibre<Index<TText, TSpec>, Fibre_LCP>::Type & indexLCP(Index<TText, TSpec> &index);          // "projects/library/seqan/index/index_base.h"(900)
+template <typename TText, typename TSpec> inline typename Fibre<Index<TText, TSpec> const, Fibre_LCP>::Type & indexLCP(Index<TText, TSpec> const &index);              // "projects/library/seqan/index/index_base.h"(902)
+
+//____________________________________________________________________________
+// indexLCPE
+
+template <typename TText, typename TSpec> inline typename Fibre<Index<TText, TSpec>, Fibre_LCPE>::Type & indexLCPE(Index<TText, TSpec> &index);        // "projects/library/seqan/index/index_base.h"(916)
+template <typename TText, typename TSpec> inline typename Fibre<Index<TText, TSpec> const, Fibre_LCPE>::Type & indexLCPE(Index<TText, TSpec> const &index);            // "projects/library/seqan/index/index_base.h"(918)
+
+//____________________________________________________________________________
+// indexRawSA
+
+template <typename TText, typename TSpec> inline typename Fibre<Index<TText, TSpec>, Fibre_RawSA>::Type indexRawSA(Index<TText, TSpec> &index);        // "projects/library/seqan/index/index_base.h"(884)
+template <typename TText, typename TSpec> inline typename Fibre<Index<TText, TSpec> const, Fibre_RawSA>::Type indexRawSA(Index<TText, TSpec> const &index);            // "projects/library/seqan/index/index_base.h"(886)
+
+//____________________________________________________________________________
+// indexRawText
+
+template <typename TText, typename TSpec> inline typename Fibre<Index<TText, TSpec>, Fibre_RawText>::Type & indexRawText(Index<TText, TSpec> &index);          // "projects/library/seqan/index/index_base.h"(852)
+template <typename TText, typename TSpec> inline typename Fibre<Index<TText, TSpec> const, Fibre_RawText>::Type & indexRawText(Index<TText, TSpec> const &index);              // "projects/library/seqan/index/index_base.h"(854)
+
+//____________________________________________________________________________
+// indexRequire
+
+template <typename TText, typename TSpec, typename TFibre> inline bool indexRequire(Index<TText, TSpec> &index, Tag<TFibre> const fibre);              // "projects/library/seqan/index/index_shims.h"(581)
+
+//____________________________________________________________________________
+// indexSA
+
+template <typename TText, typename TSpec> inline typename Fibre<Index<TText, TSpec>, Fibre_SA>::Type & indexSA(Index<TText, TSpec> &index);            // "projects/library/seqan/index/index_base.h"(868)
+template <typename TText, typename TSpec> inline typename Fibre<Index<TText, TSpec> const, Fibre_SA>::Type & indexSA(Index<TText, TSpec> const &index);        // "projects/library/seqan/index/index_base.h"(870)
+
+//____________________________________________________________________________
+// indexShape
+
+template <typename TText, typename TSpec> inline typename Fibre<Index<TText, TSpec>, Fibre_Shape>::Type & indexShape(Index<TText, TSpec> &index);              // "projects/library/seqan/index/index_qgram.h"(311)
+template <typename TText, typename TSpec> inline typename Fibre<Index<TText, TSpec> const, Fibre_Shape>::Type & indexShape(Index<TText, TSpec> const &index);          // "projects/library/seqan/index/index_qgram.h"(316)
+
+//____________________________________________________________________________
+// indexSolveDependencies
+
+template <typename TText, typename TSpec> inline bool indexSolveDependencies(Index<TText, PizzaChili<TSpec> >& me, PizzaChili_Compressed const);               // "projects/library/seqan/index/index_pizzachili.h"(242)
+template <typename TText, typename TSpec, typename TFibre> inline bool indexSolveDependencies(Index<TText, TSpec> &, Tag<TFibre> const);               // "projects/library/seqan/index/index_shims.h"(612)
+template <typename TText, typename TSpec> inline bool indexSolveDependencies(Index<TText, TSpec> &index, Fibre_LCP);           // "projects/library/seqan/index/index_shims.h"(618)
+template <typename TText, typename TSpec> inline bool indexSolveDependencies(Index<TText, TSpec> &index, Fibre_LCPE);          // "projects/library/seqan/index/index_shims.h"(624)
+template <typename TText, typename TSpec> inline bool indexSolveDependencies(Index<TText, TSpec> &index, Fibre_ChildTab);              // "projects/library/seqan/index/index_shims.h"(630)
+template <typename TText, typename TSpec> inline bool indexSolveDependencies(Index<TText, TSpec> &index, Fibre_BWT);           // "projects/library/seqan/index/index_shims.h"(636)
+
+//____________________________________________________________________________
+// indexSupplied
+
+template <typename TText, typename TSpec> inline bool indexSupplied(Index<TText, PizzaChili<TSpec> >& me, PizzaChili_Compressed const);        // "projects/library/seqan/index/index_pizzachili.h"(226)
+template <typename TText, typename TSpec> inline bool indexSupplied(Index<TText, PizzaChili<TSpec> >& me, PizzaChili_Text const);              // "projects/library/seqan/index/index_pizzachili.h"(233)
+template <typename TText, typename TSpec, typename TFibre> inline bool indexSupplied(Index<TText, TSpec> &index, Tag<TFibre> const fibre);             // "projects/library/seqan/index/index_shims.h"(560)
+template <typename TText, typename TSpec> inline bool indexSupplied(Index<TText, TSpec> &index, Fibre_SADir);          // "projects/library/seqan/index/index_qgram.h"(1478)
+
+//____________________________________________________________________________
+// indexText
+
+template <typename TText, typename TSpec> inline typename Fibre<Index<TText, PizzaChili<TSpec> >, PizzaChili_Text>::Type indexText(Index<TText, PizzaChili<TSpec> >& me);              // "projects/library/seqan/index/index_pizzachili.h"(194)
+template <typename TText, typename TSpec> inline typename Fibre<Index<TText, PizzaChili<TSpec> > const, PizzaChili_Text>::Type indexText(Index<TText, PizzaChili<TSpec> > const& me);          // "projects/library/seqan/index/index_pizzachili.h"(201)
+template <typename TText, typename TSpec> inline typename Fibre<Index<TText, TSpec>, Fibre_Text>::Type & indexText(Index<TText, TSpec> &index);        // "projects/library/seqan/index/index_base.h"(810)
+template <typename TText, typename TSpec> inline typename Fibre<Index<TText, TSpec> const, Fibre_Text>::Type & indexText(Index<TText, TSpec> const &index);            // "projects/library/seqan/index/index_base.h"(812)
+
+//____________________________________________________________________________
+// infix
+
+template <typename TValue, typename TSpec, typename TPosBegin, typename TPosEnd> inline typename Infix<String<TValue, PizzaChili<TSpec> > >::Type infix( String<TValue, PizzaChili<TSpec> > const& me, TPosBegin begin, TPosEnd end );         // "projects/library/seqan/index/index_pizzachili_string.h"(724)
+template <typename TValue, typename TSpec, typename TPosBegin, typename TPosEnd> inline typename Infix<String<TValue, PizzaChili<TSpec> > >::Type infix( String<TValue, PizzaChili<TSpec> >& me, TPosBegin begin, TPosEnd end );               // "projects/library/seqan/index/index_pizzachili_string.h"(735)
+
+//____________________________________________________________________________
+// isLeaf
+
+template <typename TIndex, class TSpec > inline bool isLeaf(Iter<TIndex, VSTree<TSpec> > const &it);           // "projects/library/seqan/index/index_esa_stree.h"(1795)
+
+//____________________________________________________________________________
+// isLeftMaximal
+
+template <typename TIndex, class TSpec > inline bool isLeftMaximal(Iter<TIndex, VSTree<TSpec> > const &it);            // "projects/library/seqan/index/index_esa_stree.h"(1541)
+
+//____________________________________________________________________________
+// isPartiallyLeftExtensible
+
+template <typename TIndex, class TSpec, typename TSet > inline bool isPartiallyLeftExtensible(Iter<TIndex, VSTree<TSpec> > const &it, TSet &charSet);          // "projects/library/seqan/index/index_esa_stree.h"(1589)
+template <typename TIndex, class TSpec > inline bool isPartiallyLeftExtensible(Iter<TIndex, VSTree<TSpec> > const &it);        // "projects/library/seqan/index/index_esa_stree.h"(1623)
+
+//____________________________________________________________________________
+// isRightTerminal
+
+template <typename TIndex, class TSpec > inline bool isRightTerminal(Iter<TIndex, VSTree<TSpec> > const &it);          // "projects/library/seqan/index/index_esa_stree.h"(1518)
+
+//____________________________________________________________________________
+// isRoot
+
+template <typename TIndex, class TSpec > inline bool isRoot(Iter<TIndex, VSTree< BottomUp<TSpec> > > const &it);               // "projects/library/seqan/index/index_esa_stree.h"(1489)
+template <typename TIndex, class TSpec > inline bool isRoot(Iter<TIndex, VSTree<TSpec> > const &it);           // "projects/library/seqan/index/index_esa_stree.h"(1495)
+
+//____________________________________________________________________________
+// isUnique
+
+template <typename TIndex, class TSpec, typename TSet > inline bool isUnique(Iter<TIndex, VSTree<TSpec> > const &it, TSet &set);               // "projects/library/seqan/index/index_esa_stree.h"(1641)
+template <typename TIndex, class TSpec > inline bool isUnique(Iter<TIndex, VSTree<TSpec> > const &it);         // "projects/library/seqan/index/index_esa_stree.h"(1664)
+
+//____________________________________________________________________________
+// lca
+
+template <typename TIndex, class TSpec1, class TSpec2 > inline bool lca( Iter<TIndex, VSTree< TopDown< ParentLinks<TSpec1> > > > &a, Iter<TIndex, VSTree< TopDown< ParentLinks<TSpec2> > > > &b, Iter<TIndex, VSTree< TopDown< ParentLinks<TSpec1> > > > &_lca);               // "projects/library/seqan/index/index_esa_stree.h"(456)
+
+//____________________________________________________________________________
+// lcp
+
+template <typename TIndex, class TSpec1, class TSpec2 > inline typename Size<TIndex>::Type lcp( Iter<TIndex, VSTree< TopDown< ParentLinks<TSpec1> > > > &a, Iter<TIndex, VSTree< TopDown< ParentLinks<TSpec2> > > > &b);               // "projects/library/seqan/index/index_esa_stree.h"(507)
+
+//____________________________________________________________________________
+// lcpAt
+
+template <typename TPos, typename TIndex> inline typename Reference<typename Fibre<TIndex, Fibre_LCP>::Type>::Type lcpAt(TPos i, TIndex &index);               // "projects/library/seqan/index/index_base.h"(714)
+template <typename TPos, typename TIndex> inline typename Reference<typename Fibre<TIndex const, Fibre_LCP>::Type>::Type lcpAt(TPos i, TIndex const &index);           // "projects/library/seqan/index/index_base.h"(718)
+
+//____________________________________________________________________________
+// lcp_process
+
+template <typename TTextInput, typename TInvertedSAInput, typename TDest > static void lcp_process(TTextInput &textIn, TInvertedSAInput &invertedSAIn, TDest &dest, LcpConfig conf);           // "projects/library/seqan/index/pump_lcp_core.h"(56)
+template <typename TTextInput, typename TInvertedSAInput, typename TDest > static inline void lcp_process(TTextInput &textIn, TInvertedSAInput &invertedSAIn, TDest &dest);            // "projects/library/seqan/index/pump_lcp_core.h"(196)
+
+//____________________________________________________________________________
+// lcp_process_multi
+
+template <typename TTextInput, typename TLimitsString, typename TInvertedSAInput, typename TDest > static void lcp_process_multi( TTextInput &textIn, TLimitsString const &limits, TInvertedSAInput &invertedSAIn, TDest &dest, LcpConfig conf);               // "projects/library/seqan/index/pump_lcp_core.h"(208)
+template <typename TTextInput, typename TLimitsString, typename TInvertedSAInput, typename TDest > static void lcp_process_multi( TTextInput &textIn, TLimitsString const &limits, TInvertedSAInput &invertedSAIn, TDest &dest);               // "projects/library/seqan/index/pump_lcp_core.h"(367)
+
+//____________________________________________________________________________
+// lcpeAt
+
+template <typename TPos, typename TIndex> inline typename Reference<typename Fibre<TIndex, Fibre_LCPE>::Type>::Type lcpeAt(TPos i, TIndex &index);             // "projects/library/seqan/index/index_base.h"(735)
+template <typename TPos, typename TIndex> inline typename Reference<typename Fibre<TIndex const, Fibre_LCPE>::Type>::Type lcpeAt(TPos i, TIndex const &index);         // "projects/library/seqan/index/index_base.h"(739)
+
+//____________________________________________________________________________
+// length
+
+//template <typename TInput > inline typename Size< Pipe< TInput, LarssonSadakane > >::Type length(Pipe< TInput, LarssonSadakane > const &me);         // "projects/library/seqan/index/index_sa_lss.h"(421)
+template <typename TValue, typename TSpec> inline typename Size<String<TValue, PizzaChili<TSpec> > >::Type length(String<TValue, PizzaChili<TSpec> > const& me);               // "projects/library/seqan/index/index_pizzachili_string.h"(379)
+template <typename TValue, typename TSpec> inline typename Size< Shape<TValue, TSpec> >::Type length(Shape<TValue, TSpec> const &me);          // "projects/library/seqan/index/shape_base.h"(215)
+template <typename TText, typename TSpec> inline typename Size<Index<TText, TSpec> >::Type length(Index<TText, TSpec> const &index);           // "projects/library/seqan/index/index_base.h"(601)
+template <typename TSTree, typename TSpec > inline typename Size<TSTree>::Type length(Iter< TSTree, VSTree< BottomUp<_MaxRepeats<TSpec> > > > const &it);              // "projects/library/seqan/index/index_esa_algs.h"(570)
+template <typename TSTree> inline typename Size< MaxRepeat<TSTree> >::Type length(MaxRepeat<TSTree> const &repeat);            // "projects/library/seqan/index/index_esa_algs.h"(619)
+template <typename TSTree> inline typename Size< MultiMEM<TSTree> >::Type length(MultiMEM<TSTree> const &repeat);              // "projects/library/seqan/index/index_esa_algs_multi.h"(402)
+//template <typename TInput > inline typename Size< Pipe< TInput, Merger3 > >::Type length(Pipe< TInput, Merger3 > const &me);         // "projects/library/seqan/index/pipe_merger3.h"(145)
+//template <typename TInput > inline typename Size< Pipe< TInput, Merger7 > >::Type length(Pipe< TInput, Merger7 > const &me);         // "projects/library/seqan/index/pipe_merger7.h"(494)
+//template <typename TInput, typename TLimitsString > inline typename Size< Pipe< TInput, Merger7Multi<TLimitsString> > >::Type length(Pipe< TInput, Merger7Multi<TLimitsString> > const &me);         // "projects/library/seqan/index/pipe_merger7.h"(524)
+
+//____________________________________________________________________________
+// lowerBoundLCPE
+
+template <typename TText, typename TSA, typename TLCPE, typename TQuery > inline typename Position<TLCPE>::Type lowerBoundLCPE( TText const &text, TSA const &sa, TLCPE const &lcpe, TQuery const &query);             // "projects/library/seqan/index/index_esa_find.h"(1554)
+template <typename TText, typename TSA, typename TLCPE, typename TQuery > inline typename Position<TLCPE>::Type lowerBoundLCPE( TText const &text, TSA const &sa, TLCPE const &lcpe, TQuery *query);           // "projects/library/seqan/index/index_esa_find.h"(1656)
+
+//____________________________________________________________________________
+// lowerBoundLCPEIterator
+
+template <typename TText, typename TSA, typename TLCPE, typename TQuery > inline typename Iterator<TSA, Standard>::Type lowerBoundLCPEIterator( TText const &text, TSA const &sa, TLCPE const &lcpe, TQuery const &query);             // "projects/library/seqan/index/index_esa_find.h"(1605)
+
+//____________________________________________________________________________
+// lowerBoundSA
+
+template <typename TText, typename TSA, typename TQuery, typename TFlatTreeSpec > inline typename Position<TSA>::Type lowerBoundSA( TText const &text, TSA const &sa, TQuery const &query, TFlatTreeSpec const);               // "projects/library/seqan/index/index_esa_find.h"(793)
+template <typename TText, typename TSA, typename TQuery > inline typename Position<TSA>::Type lowerBoundSA( TText const &text, TSA const &sa, TQuery const &query);            // "projects/library/seqan/index/index_esa_find.h"(807)
+template <typename TText, typename TSA, typename TQuery, typename TFlatTreeSpec > inline typename Position<TSA>::Type lowerBoundSA( TText const &text, TSA const &sa, TQuery *query, TFlatTreeSpec const);             // "projects/library/seqan/index/index_esa_find.h"(890)
+template <typename TText, typename TSA, typename TQuery > inline typename Position<TSA>::Type lowerBoundSA( TText const &text, TSA const &sa, TQuery *query);          // "projects/library/seqan/index/index_esa_find.h"(904)
+
+//____________________________________________________________________________
+// lowerBoundSAIterator
+
+template <typename TText, typename TSA, typename TQuery > inline typename Iterator<TSA const, Standard>::Type lowerBoundSAIterator( TText const &text, TSA const &sa, TQuery const &query);            // "projects/library/seqan/index/index_esa_find.h"(699)
+template <typename TText, typename TSA, typename TQuery > inline typename Iterator<TSA const, Standard>::Type lowerBoundSAIterator( TText const &text, TSA const &sa, TQuery *query);          // "projects/library/seqan/index/index_esa_find.h"(745)
+
+//____________________________________________________________________________
+// nodeDepth
+
+template <typename TIndex, typename TSpec > inline typename Size<TIndex>::Type nodeDepth(Iter< TIndex, VSTree<TopDown<ParentLinks<TSpec> > > > const &it);             // "projects/library/seqan/index/index_esa_stree.h"(390)
+
+//____________________________________________________________________________
+// nodeHullPredicate
+
+template <typename TText, typename TPredHull, typename TPred, typename TSpec > inline bool nodeHullPredicate( Iter<Index<TText, Index_Wotd< WotdDFI<TPredHull, TPred> > >, TSpec> const &it);          // "projects/library/seqan/index/index_dfi.h"(158)
+template <typename TIndex, class TSpec > inline bool nodeHullPredicate(Iter<TIndex, TSpec> &);         // "projects/library/seqan/index/index_esa_stree.h"(857)
+template <typename TText, typename TSpec> bool nodeHullPredicate(Iter<Index<TText, Index_Wotd<TRepeatFinder> >, TSpec> &it);           // "projects/library/seqan/index/repeat_base.h"(75)
+
+//____________________________________________________________________________
+// nodePredicate
+
+template <typename TText, typename TPredHull, typename TPred, typename TSpec > inline bool nodePredicate( Iter<Index<TText, Index_Wotd< WotdDFI<TPredHull, TPred> > >, TSpec> const &it);              // "projects/library/seqan/index/index_dfi.h"(145)
+template <typename TIndex, class TSpec > inline bool nodePredicate(Iter<TIndex, TSpec> &);             // "projects/library/seqan/index/index_esa_stree.h"(839)
+template <typename TText, typename TSpec> bool nodePredicate(Iter<Index<TText, Index_Wotd<TRepeatFinder> >, TSpec> &it);               // "projects/library/seqan/index/repeat_base.h"(67)
+
+//____________________________________________________________________________
+// nodeUp
+
+template <typename TIndex, class TSpec > inline typename VertexDescriptor<TIndex>::Type nodeUp(Iter< TIndex, VSTree< TopDown< ParentLinks<TSpec> > > > const &it);             // "projects/library/seqan/index/index_esa_stree.h"(1256)
+template <typename TIndex, class TSpec > inline typename VertexDescriptor<TIndex>::Type const & nodeUp(Iter< TIndex, VSTree< TopDown<TSpec> > > const &it);            // "projects/library/seqan/index/index_esa_stree.h"(1271)
+
+//____________________________________________________________________________
+// open
+
+template <typename TObject, typename TSpec > inline bool open( Index< TObject, Index_ESA<TSpec> > &index, const char *fileName, int openMode);         // "projects/library/seqan/index/index_esa_base.h"(324)
+template <typename TObject, typename TSpec > inline bool open( Index< TObject, Index_ESA<TSpec> > &index, const char *fileName);               // "projects/library/seqan/index/index_esa_base.h"(340)
+template <typename TText, typename TSpec> inline bool open( Index<TText, PizzaChili<TSpec> >& me, char const* filename );              // "projects/library/seqan/index/index_pizzachili.h"(334)
+template <typename TValue, typename TSpec > inline bool open(String<TValue, TSpec> &string, const char *fileName, int openMode);               // "projects/library/seqan/index/index_shims.h"(646)
+template <typename TValue, typename TSpec > inline bool open(String<TValue, TSpec> &string, const char *fileName);             // "projects/library/seqan/index/index_shims.h"(654)
+template <typename THost, typename TSpec > inline bool open(Segment<THost, TSpec> &string, const char *fileName, int openMode);        // "projects/library/seqan/index/index_shims.h"(660)
+template <typename THost, typename TSpec > inline bool open(Segment<THost, TSpec> &string, const char *fileName);              // "projects/library/seqan/index/index_shims.h"(668)
+template <typename TValue, typename TSpec, typename TSSSpec > inline bool open(StringSet<String<TValue, TSpec>, TSSSpec> &multi, const char *fileName, int openMode);          // "projects/library/seqan/index/index_shims.h"(674)
+template <typename TValue, typename TSpec, typename TSSSpec> inline bool open(StringSet<String<TValue, TSpec>, TSSSpec> &multi, const char *fileName);         // "projects/library/seqan/index/index_shims.h"(694)
+template <typename TObject, typename TShapeSpec, typename TSpec > inline bool open( Index< TObject, Index_QGram<TShapeSpec, TSpec> > &index, const char *fileName, int openMode);              // "projects/library/seqan/index/index_qgram.h"(1755)
+template <typename TObject, typename TShapeSpec, typename TSpec > inline bool open( Index< TObject, Index_QGram<TShapeSpec, TSpec> > &index, const char *fileName);            // "projects/library/seqan/index/index_qgram.h"(1769)
+
+//____________________________________________________________________________
+// operator!=
+
+template <typename TRepeat > inline bool operator!= ( Iter<TRepeat, MaxRepeatOccurrences> const &itA, Iter<TRepeat, MaxRepeatOccurrences> const &itB);         // "projects/library/seqan/index/index_esa_algs.h"(851)
+
+//____________________________________________________________________________
+// operator<<
+
+//template <typename TInput, typename TObject, typename TPair, typename TLimitsString > inline bool operator<<(Pipe< TInput, Multi<Skew7, TPair, TLimitsString> > &me, TObject &textIn);               // "projects/library/seqan/index/index_skew7_multi.h"(404)
+//template <typename TInput, typename _TLCPInput > inline bool operator<<(Pipe< TInput, ChildTab > &me, _TLCPInput const &in);         // "projects/library/seqan/index/index_childtab.h"(162)
+//template <typename TInput, typename _TTextInput, typename _TSuffixArrayInput > inline bool operator<<(Pipe< TInput, Kasai > &me, Bundle2< _TTextInput, _TSuffixArrayInput > const &bundleIn);        // "projects/library/seqan/index/index_lcp.h"(131)
+//template <typename TInput, typename _TTextInput, typename _TSuffixArrayInput, typename TPair, typename TLimitsString > inline bool operator<<(Pipe< TInput, Multi<Kasai, TPair, TLimitsString> > &me, Bundle2< _TTextInput, _TSuffixArrayInput > const &bundleIn);           // "projects/library/seqan/index/index_lcp.h"(234)
+//template <typename TInput, typename TObject > inline bool operator<<(Pipe< TInput, Skew3 > &me, TObject &textIn);            // "projects/library/seqan/index/index_skew3.h"(285)
+//template <typename TInput, typename _TTextInput, typename _TSuffixArrayInput > inline bool operator<<(Pipe< TInput, BWT > &me, Bundle2< _TTextInput, _TSuffixArrayInput > const &bundleIn);          // "projects/library/seqan/index/index_bwt.h"(113)
+//template <typename TInput, typename _TTextInput, typename _TSuffixArrayInput, typename TPair, typename TLimitsString > inline bool operator<<(Pipe< TInput, Multi<BWT, TPair, TLimitsString> > &me, Bundle2< _TTextInput, _TSuffixArrayInput > const &bundleIn);             // "projects/library/seqan/index/index_bwt.h"(229)
+//template <typename TValue> std::ostream& operator<<(std::ostream &out, const SkewDCStream<TValue> &s);               // "projects/library/seqan/index/pipe_merger7.h"(77)
+//template <typename TInput, typename TObject > inline bool operator<<(Pipe< TInput, Skew7 > &me, TObject &textIn);            // "projects/library/seqan/index/index_skew7.h"(385)
+
+//____________________________________________________________________________
+// operator==
+
+template <typename TRepeat > inline bool operator== ( Iter<TRepeat, MaxRepeatOccurrences> const &itA, Iter<TRepeat, MaxRepeatOccurrences> const &itB);         // "projects/library/seqan/index/index_esa_algs.h"(840)
+
+//____________________________________________________________________________
+// orderOccurrences
+
+template <typename TValue, typename TSpec> inline void orderOccurrences(String<TValue, TSpec> &occString);             // "projects/library/seqan/index/index_shims.h"(474)
+
+//____________________________________________________________________________
+// parentEdgeFirstChar
+
+template <typename TIndex, class TSpec > inline typename Value<TIndex>::Type parentEdgeFirstChar(Iter< TIndex, VSTree<TSpec> > const &it);             // "projects/library/seqan/index/index_esa_stree.h"(1377)
+
+//____________________________________________________________________________
+// parentEdgeLabel
+
+template <typename TText, typename TSpec > inline typename Infix< typename Fibre<Index<TText, Index_Wotd<WotdOriginal> >, ESA_RawText>::Type const >::Type parentEdgeLabel(Iter< Index<TText, Index_Wotd<WotdOriginal> >, VSTree< TopDown<TSpec> > > const &it);               // "projects/library/seqan/index/index_wotd.h"(401)
+template <typename TIndex, class TSpec > inline typename Infix< typename Fibre<TIndex, Fibre_Text>::Type const >::Type parentEdgeLabel(Iter< TIndex, VSTree< TopDown<TSpec> > > const &it);            // "projects/library/seqan/index/index_esa_stree.h"(1357)
+
+//____________________________________________________________________________
+// parentEdgeLength
+
+template <typename TIndex, typename TSize > inline typename Size<TIndex>::Type parentEdgeLength(TIndex const &index, _VertexWotdOriginal<TSize> &vDesc);               // "projects/library/seqan/index/index_wotd.h"(309)
+template <typename TIndex, typename TSize > inline typename Size<TIndex>::Type parentEdgeLength(TIndex const &index, _VertexWotdModified<TSize> &vDesc);               // "projects/library/seqan/index/index_wotd.h"(332)
+template <typename TText, typename TIndexSpec, typename TSpec > inline typename Size< Index<TText, Index_Wotd<TIndexSpec> > >::Type parentEdgeLength(Iter< Index<TText, Index_Wotd<TIndexSpec> >, VSTree< TopDown<TSpec> > > const &it);               // "projects/library/seqan/index/index_wotd.h"(364)
+template <typename TText, class TIndexSpec, class TSpec > inline typename Size< Index<TText, Index_ESA<TIndexSpec> > >::Type parentEdgeLength(Iter< Index<TText, Index_ESA<TIndexSpec> >, VSTree< TopDown< ParentLinks<TSpec> > > > const &it);        // "projects/library/seqan/index/index_esa_stree.h"(1339)
+
+//____________________________________________________________________________
+// parentRepLength
+
+template <typename TText, typename TIndexSpec, typename TSpec > inline typename Size< Index<TText, Index_Wotd<TIndexSpec> > >::Type parentRepLength(Iter< Index<TText, Index_Wotd<TIndexSpec> >, VSTree< TopDown<TSpec> > > const &it);        // "projects/library/seqan/index/index_wotd.h"(374)
+template <typename TText, typename TIndexSpec, typename TSpec > inline typename Size< Index<TText, Index_Wotd<TIndexSpec> > >::Type parentRepLength(Iter< Index<TText, Index_Wotd<TIndexSpec> >, VSTree< TopDown< ParentLinks<TSpec> > > > const &it);         // "projects/library/seqan/index/index_wotd.h"(383)
+template <typename TIndex, typename TSpec > inline typename Size<TIndex>::Type parentRepLength(Iter< TIndex, VSTree<TopDown<TSpec> > > const &it);             // "projects/library/seqan/index/index_esa_stree.h"(408)
+
+//____________________________________________________________________________
+// position
+
+template <typename TText, typename TSpec, typename TSpecFinder > inline typename Position< Finder< Index<TText, TSpec>, TSpecFinder > >::Type position(Finder< Index<TText, TSpec>, TSpecFinder > & me);               // "projects/library/seqan/index/index_find.h"(226)
+template <typename TText, typename TSpec, typename TSpecFinder > inline typename Position< Finder< Index<TText, TSpec>, TSpecFinder > >::Type position(Finder< Index<TText, TSpec>, TSpecFinder > const & me);         // "projects/library/seqan/index/index_find.h"(235)
+
+//____________________________________________________________________________
+// prefix
+
+template <typename TValue, typename TSpec, typename TPos> inline typename Prefix<String<TValue, PizzaChili<TSpec> > >::Type prefix( String<TValue, PizzaChili<TSpec> > const& me, TPos end );          // "projects/library/seqan/index/index_pizzachili_string.h"(747)
+template <typename TValue, typename TSpec, typename TPos> inline typename Prefix<String<TValue, PizzaChili<TSpec> > >::Type prefix( String<TValue, PizzaChili<TSpec> >& me, TPos end );        // "projects/library/seqan/index/index_pizzachili_string.h"(757)
+
+//____________________________________________________________________________
+// radixExtend
+
+template <typename TSortedArray, typename TUnsortedArray, typename TCountArray, typename TText > void radixExtend( TSortedArray &b, TUnsortedArray const &a, TText const &r, TCountArray &c, unsigned K);              // "projects/library/seqan/index/radix.h"(118)
+
+//____________________________________________________________________________
+// radixExtendClip
+
+template <typename TSortedArray, typename TUnsortedArray, typename TCountArray, typename TText > void radixExtendClip( TSortedArray &b, TUnsortedArray const &a, TText const &r, TCountArray &c, unsigned K);          // "projects/library/seqan/index/radix.h"(153)
+
+//____________________________________________________________________________
+// radixPass
+
+template <typename TSortedArray, typename TUnsortedArray, typename TCountArray, typename TText > void radixPass( TSortedArray &b, TUnsortedArray const &a, TText const &r, TCountArray &c, unsigned K);        // "projects/library/seqan/index/radix.h"(39)
+template <typename TSortedArray, typename TUnsortedArray, typename TCountArray, typename TText, typename TShift > void radixPass( TSortedArray &b, TUnsortedArray const &a, TText const &r, TCountArray &c, unsigned K, TShift shift);         // "projects/library/seqan/index/radix.h"(75)
+
+//____________________________________________________________________________
+// rawsaAt
+
+template <typename TPos, typename TIndex> inline typename Value<typename Fibre<TIndex const, Fibre_RawSA>::Type>::Type rawsaAt(TPos i, TIndex const &index);           // "projects/library/seqan/index/index_base.h"(696)
+
+//____________________________________________________________________________
+// rawtextAt
+
+template <typename TPos, typename TIndex> inline typename Reference<typename Fibre<TIndex, Fibre_RawText>::Type>::Type rawtextAt(TPos i, TIndex &index);               // "projects/library/seqan/index/index_base.h"(666)
+template <typename TPos, typename TIndex> inline typename Reference<typename Fibre<TIndex const, Fibre_RawText>::Type>::Type rawtextAt(TPos i, TIndex const &index);           // "projects/library/seqan/index/index_base.h"(670)
+
+//____________________________________________________________________________
+// repLength
+
+template <typename TText, typename TIndexSpec, typename TSpec > inline typename Size< Index<TText, Index_Wotd<TIndexSpec> > >::Type repLength(Iter< Index<TText, Index_Wotd<TIndexSpec> >, VSTree< TopDown<TSpec> > > const &it);              // "projects/library/seqan/index/index_wotd.h"(392)
+template <typename TIndex, typename TSpec > inline typename Size<TIndex>::Type repLength(Iter< TIndex, VSTree<BottomUp<TSpec> > > const &it);          // "projects/library/seqan/index/index_esa_stree.h"(355)
+template <typename TIndex, typename TSize > inline typename Size<TIndex>::Type repLength(TIndex const &index, VertexESA<TSize> const &vDesc);          // "projects/library/seqan/index/index_esa_stree.h"(367)
+template <typename TIndex, typename TSpec > inline typename Size<TIndex>::Type repLength(Iter< TIndex, VSTree<TopDown<TSpec> > > const &it);           // "projects/library/seqan/index/index_esa_stree.h"(383)
+template <typename TSTree, typename TSpec > inline typename Size<TSTree>::Type repLength(Iter< TSTree, VSTree< BottomUp<_MaxRepeats<TSpec> > > > const &it);           // "projects/library/seqan/index/index_esa_algs.h"(562)
+
+//____________________________________________________________________________
+// representative
+
+template <typename TIndex, class TSpec > inline typename Infix< typename Fibre<TIndex, Fibre_Text>::Type const >::Type representative(Iter< TIndex, VSTree<TSpec> > const &it);        // "projects/library/seqan/index/index_esa_stree.h"(744)
+
+//____________________________________________________________________________
+// resize
+
+template <typename TValue, typename TSize> inline typename Size< Shape<TValue, SimpleShape> >::Type resize(Shape<TValue, SimpleShape> & me, TSize new_length);         // "projects/library/seqan/index/shape_base.h"(246)
+
+//____________________________________________________________________________
+// saAt
+
+template <typename TPos, typename TIndex> inline typename Reference<typename Fibre<TIndex, Fibre_SA>::Type>::Type saAt(TPos i, TIndex &index);         // "projects/library/seqan/index/index_base.h"(687)
+template <typename TPos, typename TIndex> inline typename Reference<typename Fibre<TIndex const, Fibre_SA>::Type>::Type saAt(TPos i, TIndex const &index);             // "projects/library/seqan/index/index_base.h"(691)
+
+//____________________________________________________________________________
+// save
+
+template <typename TObject, typename TSpec > inline bool save( Index< TObject, Index_ESA<TSpec> > &index, const char *fileName, int openMode);         // "projects/library/seqan/index/index_esa_base.h"(353)
+template <typename TObject, typename TSpec > inline bool save( Index< TObject, Index_ESA<TSpec> > &index, const char *fileName);               // "projects/library/seqan/index/index_esa_base.h"(369)
+template <typename TText, typename TSpec> inline bool save( Index<TText, PizzaChili<TSpec> >& me, char const* filename );              // "projects/library/seqan/index/index_pizzachili.h"(352)
+template <typename TValue, typename TSpec > inline bool save(String<TValue, TSpec> const &string, const char *fileName, int openMode);         // "projects/library/seqan/index/index_shims.h"(704)
+template <typename TValue, typename TSpec > inline bool save(String<TValue, TSpec> &string, const char *fileName);             // "projects/library/seqan/index/index_shims.h"(714)
+template <typename THost, typename TSpec > inline bool save(Segment<THost, TSpec> const &string, const char *fileName, int openMode);          // "projects/library/seqan/index/index_shims.h"(720)
+template <typename THost, typename TSpec > inline bool save(Segment<THost, TSpec> const &string, const char *fileName);        // "projects/library/seqan/index/index_shims.h"(729)
+template <typename TValue, typename TSpec, typename TSSSpec> inline bool save(StringSet<String<TValue, TSpec>, TSSSpec> const &multi, const char *fileName, int openMode);             // "projects/library/seqan/index/index_shims.h"(735)
+template <typename TValue, typename TSpec, typename TSSSpec> inline bool save(StringSet<String<TValue, TSpec>, TSSSpec> const &multi, const char *fileName);           // "projects/library/seqan/index/index_shims.h"(750)
+template <typename TObject, typename TShapeSpec, typename TSpec > inline bool save( Index< TObject, Index_QGram<TShapeSpec, TSpec> > &index, const char *fileName, int openMode);              // "projects/library/seqan/index/index_qgram.h"(1782)
+template <typename TObject, typename TShapeSpec, typename TSpec > inline bool save( Index< TObject, Index_QGram<TShapeSpec, TSpec> > &index, const char *fileName);            // "projects/library/seqan/index/index_qgram.h"(1796)
+
+//____________________________________________________________________________
+// sequenceLength
+
+template <typename TSeqNo, typename TText, typename TSpec> inline typename Size<Index<TText, TSpec> >::Type sequenceLength(TSeqNo seqNo, Index<TText, TSpec> const &index);            // "projects/library/seqan/index/index_base.h"(617)
+
+//____________________________________________________________________________
+// setContainer
+
+template <typename TText, typename TSpec, typename TSpecFinder > inline void setContainer( Finder< Index<TText, TSpec>, TSpecFinder > & me, typename _Parameter<Index<TText, TSpec> >::Type container_);               // "projects/library/seqan/index/index_find.h"(130)
+
+//____________________________________________________________________________
+// setHost
+
+template <typename TText, typename TSpec, typename TSpecFinder > inline void setHost( Finder< Index<TText, TSpec>, TSpecFinder > & me, typename _Parameter<Index<TText, TSpec> >::Type container_);            // "projects/library/seqan/index/index_find.h"(120)
+
+//____________________________________________________________________________
+// setIndexText
+
+template <typename TText, typename TSpec, typename TOtherText> inline void setIndexText(Index<TText, PizzaChili<TSpec> >& me, TOtherText& text);               // "projects/library/seqan/index/index_pizzachili.h"(303)
+
+//____________________________________________________________________________
+// sizeofLCPE
+
+template <typename TSize > inline TSize sizeofLCPE(TSize n);           // "projects/library/seqan/index/index_lcp_tree.h"(105)
+template <class LCPFwdIt, typename TSize > inline void sizeofLCPE(LCPFwdIt _First, LCPFwdIt _Last, TSize &_Size);              // "projects/library/seqan/index/index_lcp_tree.h"(124)
+
+//____________________________________________________________________________
+// sizeofLCPH
+
+template <typename TSize > inline TSize sizeofLCPH(TSize n);           // "projects/library/seqan/index/index_lcp_tree.h"(116)
+template <class LCPFwdIt, typename TSize > inline void sizeofLCPH(LCPFwdIt _First, LCPFwdIt _Last, TSize &_Size);              // "projects/library/seqan/index/index_lcp_tree.h"(132)
+
+//____________________________________________________________________________
+// sizeofSAB
+
+template <typename TSize > inline TSize sizeofSAB(TSize n, unsigned BlockSize);        // "projects/library/seqan/index/index_sa_btree.h"(79)
+template <class SAFwdIt, typename TSize > inline void sizeofSAB(SAFwdIt _First, SAFwdIt _Last, TSize &_Size, unsigned BlockSize);              // "projects/library/seqan/index/index_sa_btree.h"(90)
+
+//____________________________________________________________________________
+// skew3_extend
+
+template <typename TTextInput, typename TNameInput, typename TOut0, typename TOut12 > static bool skew3_extend(TTextInput &textIn, TNameInput &nameIn, TOut0 &out0, TOut12 &out12);            // "projects/library/seqan/index/pump_extender3.h"(54)
+
+//____________________________________________________________________________
+// skew7_extend
+
+template <typename TTextInput, typename TNameInput, typename TOut0, typename TOut3, typename TOut5, typename TOut6, typename TOut124 > static bool skew7_extend(TTextInput &textIn, TNameInput &nameIn, TOut0 &out0, TOut3 &out3, TOut5 &out5, TOut6 &out6, TOut124 &out124);          // "projects/library/seqan/index/pump_extender7.h"(75)
+
+//____________________________________________________________________________
+// skew7_extend_multi
+
+template <typename TTextInput, typename TLimitsString, typename TNameInput, typename TOut0, typename TOut3, typename TOut5, typename TOut6, typename TOut124 > static bool skew7_extend_multi( TTextInput &textIn, TLimitsString const &limits, TNameInput &nameIn1, TNameInput &nameIn2, TNameInput &nameIn4, TOut0 &out0, TOut3 &out3, TOut5 &out5, TOut6 &out6, TOut124 &out124);           // "projects/library/seqan/index/pump_extender7.h"(265)
+
+//____________________________________________________________________________
+// skew7_separate_slices
+
+template <typename TInput, typename TFunctor, typename TOut1, typename TOut2, typename TOut4 > static void skew7_separate_slices( TInput &in, TFunctor const &funcSlice, TOut1 &out1, TOut2 &out2, TOut4 &out4);               // "projects/library/seqan/index/pump_separator7.h"(35)
+
+//____________________________________________________________________________
+// stringSetLimits
+
+template <typename TText, typename TSpec> inline typename StringSetLimits<TText const>::Type stringSetLimits(Index<TText, TSpec> &);           // "projects/library/seqan/index/index_base.h"(818)
+template <typename TText, typename TSpec> inline typename StringSetLimits<TText const>::Type stringSetLimits(Index<TText, TSpec> const &);             // "projects/library/seqan/index/index_base.h"(824)
+template <typename TString, typename TSSetSpec, typename TSpec> inline typename StringSetLimits< StringSet<TString, TSSetSpec> const >::Type & stringSetLimits(Index<StringSet<TString, TSSetSpec>, TSpec> &index);            // "projects/library/seqan/index/index_base.h"(830)
+template <typename TString, typename TSSetSpec, typename TSpec> inline typename StringSetLimits< StringSet<TString, TSSetSpec> const >::Type & stringSetLimits(Index<StringSet<TString, TSSetSpec>, TSpec> const &index);              // "projects/library/seqan/index/index_base.h"(836)
+
+//____________________________________________________________________________
+// stringToShape
+
+template <typename TValue, typename TSpec, typename TShapeString> inline void stringToShape( Shape<TValue, FixedGappedShape<TSpec> > &me, TShapeString const &bitmap);         // "projects/library/seqan/index/shape_gapped.h"(561)
+
+//____________________________________________________________________________
+// suffix
+
+template <typename TValue, typename TSpec, typename TPos> inline typename Suffix<String<TValue, PizzaChili<TSpec> > >::Type suffix( String<TValue, PizzaChili<TSpec> > const& me, TPos begin );        // "projects/library/seqan/index/index_pizzachili_string.h"(769)
+template <typename TValue, typename TSpec, typename TPos> inline typename Suffix<String<TValue, PizzaChili<TSpec> > >::Type suffix( String<TValue, PizzaChili<TSpec> >& me, TPos begin );              // "projects/library/seqan/index/index_pizzachili_string.h"(779)
+
+//____________________________________________________________________________
+// suffixLength
+
+template <typename TPos, typename TText, typename TSpec> inline typename Size<Index<TText, TSpec> >::Type suffixLength(TPos pos, Index<TText, TSpec> const &index);            // "projects/library/seqan/index/index_base.h"(625)
+
+//____________________________________________________________________________
+// textAt
+
+template <typename TPos, typename TIndex> inline typename Reference<typename Fibre<TIndex, Fibre_RawText>::Type>::Type textAt(TPos i, TIndex &index);          // "projects/library/seqan/index/index_base.h"(635)
+template <typename TPos, typename TString, typename TSSetSpec, typename TSpec> inline typename Reference<typename Fibre< Index< StringSet<TString, TSSetSpec>, TSpec>, Fibre_RawText>::Type>::Type textAt(TPos i, Index< StringSet<TString, TSSetSpec>, TSpec> &index);        // "projects/library/seqan/index/index_base.h"(640)
+template <typename TPos, typename TString, typename TSpec> inline typename Reference<typename Fibre< Index< StringSet<TString, Owner<Default> >, TSpec>, Fibre_RawText>::Type>::Type textAt(TPos i, Index< StringSet<TString, Owner<Default> >, TSpec> &index);        // "projects/library/seqan/index/index_base.h"(645)
+
+//____________________________________________________________________________
+// treeLevelsSAB
+
+template <typename TSize > inline unsigned treeLevelsSAB(TSize saSize, unsigned BlockSize);            // "projects/library/seqan/index/index_sa_btree.h"(103)
+
+//____________________________________________________________________________
+// unhash
+
+template <typename TString, typename THash> inline void unhash(TString &result, THash hash, unsigned q);               // "projects/library/seqan/index/shape_base.h"(593)
+
+//____________________________________________________________________________
+// upperBoundLCPE
+
+template <typename TText, typename TSA, typename TLCPE, typename TQuery > inline typename Position<TLCPE>::Type upperBoundLCPE( TText const &text, TSA const &sa, TLCPE const &lcpe, TQuery const &query);             // "projects/library/seqan/index/index_esa_find.h"(1570)
+template <typename TText, typename TSA, typename TLCPE, typename TQuery > inline typename Position<TLCPE>::Type upperBoundLCPE( TText const &text, TSA const &sa, TLCPE const &lcpe, TQuery *query);           // "projects/library/seqan/index/index_esa_find.h"(1672)
+
+//____________________________________________________________________________
+// upperBoundLCPEIterator
+
+template <typename TText, typename TSA, typename TLCPE, typename TQuery > inline typename Iterator<TSA, Standard>::Type upperBoundLCPEIterator( TText const &text, TSA const &sa, TLCPE const &lcpe, TQuery const &query);             // "projects/library/seqan/index/index_esa_find.h"(1621)
+
+//____________________________________________________________________________
+// upperBoundSA
+
+template <typename TText, typename TSA, typename TQuery, typename TFlatTreeSpec > inline typename Position<TSA>::Type upperBoundSA( TText const &text, TSA const &sa, TQuery const &query, TFlatTreeSpec const);               // "projects/library/seqan/index/index_esa_find.h"(823)
+template <typename TText, typename TSA, typename TQuery > inline typename Position<TSA>::Type upperBoundSA( TText const &text, TSA const &sa, TQuery const &query);            // "projects/library/seqan/index/index_esa_find.h"(837)
+template <typename TText, typename TSA, typename TQuery, typename TFlatTreeSpec > inline typename Position<TSA>::Type upperBoundSA( TText const &text, TSA const &sa, TQuery *query, TFlatTreeSpec const);             // "projects/library/seqan/index/index_esa_find.h"(920)
+template <typename TText, typename TSA, typename TQuery > inline typename Position<TSA>::Type upperBoundSA( TText const &text, TSA const &sa, TQuery *query);          // "projects/library/seqan/index/index_esa_find.h"(934)
+
+//____________________________________________________________________________
+// upperBoundSAIterator
+
+template <typename TText, typename TSA, typename TQuery > inline typename Iterator<TSA const, Standard>::Type upperBoundSAIterator( TText const &text, TSA const &sa, TQuery const &query);            // "projects/library/seqan/index/index_esa_find.h"(713)
+template <typename TText, typename TSA, typename TQuery > inline typename Iterator<TSA const, Standard>::Type upperBoundSAIterator( TText const &text, TSA const &sa, TQuery *query);          // "projects/library/seqan/index/index_esa_find.h"(759)
+
+//____________________________________________________________________________
+// value
+
+template <typename TValue, typename TSpec> inline typename Value< Shape<TValue, TSpec> >::Type value(Shape<TValue, TSpec> &me);        // "projects/library/seqan/index/shape_base.h"(205)
+template <typename TIndex, class TSpec > inline typename VertexDescriptor<TIndex>::Type & value(Iter< TIndex, VSTree<TSpec> > &it);            // "projects/library/seqan/index/index_esa_stree.h"(557)
+template <typename TIndex, class TSpec > inline typename VertexDescriptor<TIndex>::Type const & value(Iter< TIndex, VSTree<TSpec> > const &it);        // "projects/library/seqan/index/index_esa_stree.h"(563)
+template <typename TSTree, typename TSpec > inline typename VertexDescriptor<TSTree>::Type value(Iter< TSTree, VSTree< BottomUp<_MaxRepeats<TSpec> > > > const &it);           // "projects/library/seqan/index/index_esa_algs.h"(551)
+template <typename TRepeat > inline typename Value< Iter<TRepeat, MaxRepeatOccurrences> >::Type & value(Iter<TRepeat, MaxRepeatOccurrences> const &it);        // "projects/library/seqan/index/index_esa_algs.h"(780)
+template <typename TRepeat > inline typename Value< Iter<TRepeat, MaxRepeatOccurrences> >::Type & value(Iter<TRepeat, MaxRepeatOccurrences> &it);              // "projects/library/seqan/index/index_esa_algs.h"(786)
+
+//____________________________________________________________________________
+// weight
+
+template <typename TValue, typename TSpec> inline typename Size< Shape<TValue, FixedGappedShape<TSpec> > >::Type weight(Shape<TValue, FixedGappedShape<TSpec> > const & me);           // "projects/library/seqan/index/shape_gapped.h"(358)
+template <typename TValue, typename TSpec> inline typename Size< Shape<TValue, TSpec> >::Type weight(Shape<TValue, TSpec> const &me);          // "projects/library/seqan/index/shape_base.h"(235)
+
+//____________________________________________________________________________
+// write
+
+template <typename TFile, typename TText, typename TESASpec> void write(TFile & file, Index<TText, Index_ESA<TESASpec> > & stree, DotDrawing);         // "projects/library/seqan/index/index_esa_drawing.h"(31)
+
+} //namespace SEQAN_NAMESPACE_MAIN
+
+#endif
+
diff --git a/SeqAn-1.1/seqan/index/index_manual_forwards.h b/SeqAn-1.1/seqan/index/index_manual_forwards.h
new file mode 100644 (file)
index 0000000..1ef3d7f
--- /dev/null
@@ -0,0 +1,55 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de 
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: index_manual_forwards.h,v 1.1 2008/08/25 16:20:05 langmead Exp $
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_INDEX_MANUAL_FORWARDS_H 
+#define SEQAN_HEADER_INDEX_MANUAL_FORWARDS_H 
+
+//SEQAN_NO_GENERATED_FORWARDS: no forwards are generated for this file
+
+//////////////////////////////////////////////////////////////////////////////
+// CLASSES
+//////////////////////////////////////////////////////////////////////////////
+
+namespace SEQAN_NAMESPACE_MAIN {
+
+       struct _Fibre_Text;             // Original text. Can be a String or a StringSet
+       struct _Fibre_RawText;  // Concatenation of the strings above
+       struct _Fibre_SA;               // suffix array (of raw text with virtual $-delimiters) with Pair entries
+       struct _Fibre_RawSA;    // suffix array with integer entries
+       struct _Fibre_SAE;              // suffix array reordered in a b-tree
+       struct _Fibre_LCP;              // lcp table of raw text
+       struct _Fibre_LCPE;             // lcp interval tree
+       struct _Fibre_ChildTab; // childtab (Kurtz et al.) of raw text
+       struct _Fibre_BWT;              // burrows wheeler table of raw text
+
+       typedef Tag<_Fibre_Text> const          Fibre_Text;
+       typedef Tag<_Fibre_RawText> const       Fibre_RawText;
+       typedef Tag<_Fibre_SA> const            Fibre_SA;
+       typedef Tag<_Fibre_RawSA> const         Fibre_RawSA;
+       typedef Tag<_Fibre_SAE> const           Fibre_SAE;
+       typedef Tag<_Fibre_LCP> const           Fibre_LCP;
+       typedef Tag<_Fibre_LCPE> const          Fibre_LCPE;
+       typedef Tag<_Fibre_ChildTab> const      Fibre_ChildTab;
+       typedef Tag<_Fibre_BWT> const           Fibre_BWT;
+
+}
+
+#endif
+
diff --git a/SeqAn-1.1/seqan/index/index_qgram_find.h b/SeqAn-1.1/seqan/index/index_qgram_find.h
new file mode 100644 (file)
index 0000000..7d33301
--- /dev/null
@@ -0,0 +1,82 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de 
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: index_qgram_find.h,v 1.1 2008/08/25 16:20:05 langmead Exp $
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_INDEX_QGRAM_FIND_H
+#define SEQAN_HEADER_INDEX_QGRAM_FIND_H
+
+namespace SEQAN_NAMESPACE_MAIN
+{
+
+//////////////////////////////////////////////////////////////////////////////
+// QGram finders
+
+       struct _Finder_QGramLookup; //Finder that simply looks up the q-gram in the hash table
+
+/**
+.Tag.Index Find Algorithm
+..tag.QGram_FIND_Lookup:q-gram search.
+Finds q-grams in a @Spec.Index_QGram@ index using the hash table.
+*/
+
+       typedef Tag<_Finder_QGramLookup> const QGram_FIND_Lookup;
+
+//____________________________________________________________________________
+
+
+       template < typename TText, typename TShapeSpec, typename TSpec >
+       struct DefaultFinder<Index<TText, Index_QGram<TShapeSpec, TSpec> > > {
+        typedef QGram_FIND_Lookup Type;
+    };
+
+
+//////////////////////////////////////////////////////////////////////////////
+// _findFirstIndex implementation
+
+       template < typename TText, typename TSpec, typename TSpecFinder, typename TPattern >
+       inline void _findFirstIndex(
+               Finder< Index<TText, TSpec>, TSpecFinder > &finder,
+               TPattern const &pattern,
+               QGram_FIND_Lookup const)
+       {
+               typedef Index<TText, TSpec>                                                                     TIndex;
+               typedef typename Fibre<TIndex, QGram_SA>::Type                          TSA;
+               typedef typename Fibre<TIndex, QGram_Shape>::Type                       TShape;
+               typedef typename Fibre<TIndex, QGram_Dir>::Type                         TDir;
+               typedef typename Iterator<TSA const, Standard>::Type            TSAIterator;
+               typedef typename Iterator<TPattern const, Standard>::Type       TPatternIterator;
+
+               TIndex &index = haystack(finder);
+               indexRequire(index, QGram_SADir());
+
+               TSAIterator saIt = begin(indexSA(index), Standard());
+               TPatternIterator pIt = begin(pattern, Standard());
+               TDir const &dir = indexDir(index);
+               TShape &shape = indexShape(index);
+
+               finder.range.i1 = saIt + dir[hash(shape, pIt, length(pattern))];
+               finder.range.i2 = saIt + dir[hashUpper(shape, pIt, length(pattern))];
+       }
+
+
+//////////////////////////////////////////////////////////////////////////////
+
+} //namespace SEQAN_NAMESPACE_MAIN
+
+#endif //#ifndef SEQAN_HEADER_
diff --git a/SeqAn-1.1/seqan/index/index_sa_lss.h b/SeqAn-1.1/seqan/index/index_sa_lss.h
new file mode 100644 (file)
index 0000000..df23b8c
--- /dev/null
@@ -0,0 +1,427 @@
+/*
+ *  index_sa_lss.h
+ *  SeqAn
+ *
+ *  Created by David Weese on 18.04.07.
+ *
+ *  This file contains the suffix array algorithm implementation
+ *  by Larsson and Sadakane with the following modifications.
+ *
+ *  MODIFICATIONS:
+ *  - a context is used for reentrance
+ *  - a generic TValue is used instead of int
+ *  - functions are surrounded by SeqAn's namespace to omit namespace pollution
+ *
+ *  David Weese, 2007
+ *
+ */
+
+/* qsufsort.c
+   Copyright 1999, N. Jesper Larsson, all rights reserved.
+
+   This file contains an implementation of the algorithm presented in "Faster
+   Suffix Sorting" by N. Jesper Larsson (jesper@cs.lth.se) and Kunihiko
+   Sadakane (sada@is.s.u-tokyo.ac.jp).
+
+   This software may be used freely for any purpose. However, when distributed,
+   the original source must be clearly stated, and, when the source code is
+   distributed, the copyright notice must be retained and any alterations in
+   the code must be clearly marked. No warranty is given regarding the quality
+   of this software.*/
+
+#ifndef SEQAN_HEADER_INDEX_SA_LSS_H
+#define SEQAN_HEADER_INDEX_SA_LSS_H
+
+namespace SEQAN_NAMESPACE_MAIN
+{
+
+template <typename TValue>
+struct _Context_LSS
+{
+       TValue *I,                   /* group array, ultimately suffix array.*/
+       *V,                          /* inverse array, ultimately inverse of I.*/
+       r,                           /* number of symbols aggregated by transform.*/
+       h;                           /* length of already-sorted prefixes.*/
+
+       // MODIFIED: renamed defines according to SeqAn's naming conventions
+       #define SEQAN_LSSKEY(p)          (V[*(p)+(h)])
+       #define SEQAN_LSSSWAP(p, q)      (tmp=*(p), *(p)=*(q), *(q)=tmp)
+       #define SEQAN_LSSMED3(a, b, c)   (SEQAN_LSSKEY(a)<SEQAN_LSSKEY(b) ?                        \
+                       (SEQAN_LSSKEY(b)<SEQAN_LSSKEY(c) ? (b) : SEQAN_LSSKEY(a)<SEQAN_LSSKEY(c) ? (c) : (a))       \
+                       : (SEQAN_LSSKEY(b)>SEQAN_LSSKEY(c) ? (b) : SEQAN_LSSKEY(a)>SEQAN_LSSKEY(c) ? (c) : (a)))
+
+       /* Subroutine for select_sort_split and sort_split. Sets group numbers for a
+          group whose lowest position in I is pl and highest position is pm.*/
+
+       inline void update_group(TValue *pl, TValue *pm)
+       {
+          TValue g;
+
+          g=pm-I;                      /* group number.*/
+          V[*pl]=g;                    /* update group number of first position.*/
+          if (pl==pm)
+                 *pl=-1;                   /* one element, sorted group.*/
+          else
+                 do                        /* more than one element, unsorted group.*/
+                        V[*++pl]=g;            /* update group numbers.*/
+                 while (pl<pm);
+       }
+
+       /* Quadratic sorting method to use for small subarrays. To be able to update
+          group numbers consistently, a variant of selection sorting is used.*/
+
+       inline void select_sort_split(TValue *p, TValue n) {
+          TValue *pa, *pb, *pi, *pn;
+          TValue f, v, tmp;
+
+          pa=p;                        /* pa is start of group being picked out.*/
+          pn=p+n-1;                    /* pn is last position of subarray.*/
+          while (pa<pn) {
+                 for (pi=pb=pa+1, f=SEQAN_LSSKEY(pa); pi<=pn; ++pi)
+                        if ((v=SEQAN_LSSKEY(pi))<f) {
+                               f=v;                /* f is smallest key found.*/
+                               SEQAN_LSSSWAP(pi, pa);       /* place smallest element at beginning.*/
+                               pb=pa+1;            /* pb is position for elements equal to f.*/
+                        } else if (v==f) {     /* if equal to smallest key.*/
+                               SEQAN_LSSSWAP(pi, pb);       /* place next to other smallest elements.*/
+                               ++pb;
+                        }
+                 update_group(pa, pb-1);   /* update group values for new group.*/
+                 pa=pb;                    /* continue sorting rest of the subarray.*/
+          }
+          if (pa==pn) {                /* check if last part is single element.*/
+                 V[*pa]=pa-I;
+                 *pa=-1;                   /* sorted group.*/
+          }
+       }
+
+       /* Subroutine for sort_split, algorithm by Bentley & McIlroy.*/
+
+       inline TValue choose_pivot(TValue *p, TValue n) {
+          TValue *pl, *pm, *pn;
+          TValue s;
+
+          pm=p+(n>>1);                 /* small arrays, middle element.*/
+          if (n>7) {
+                 pl=p;
+                 pn=p+n-1;
+                 if (n>40) {               /* big arrays, pseudomedian of 9.*/
+                        s=n>>3;
+                        pl=SEQAN_LSSMED3(pl, pl+s, pl+s+s);
+                        pm=SEQAN_LSSMED3(pm-s, pm, pm+s);
+                        pn=SEQAN_LSSMED3(pn-s-s, pn-s, pn);
+                 }
+                 pm=SEQAN_LSSMED3(pl, pm, pn);      /* midsize arrays, median of 3.*/
+          }
+          return SEQAN_LSSKEY(pm);
+       }
+
+       /* Sorting routine called for each unsorted group. Sorts the array of integers
+          (suffix numbers) of length n starting at p. The algorithm is a ternary-split
+          quicksort taken from Bentley & McIlroy, "Engineering a Sort Function",
+          Software -- Practice and Experience 23(11), 1249-1265 (November 1993). This
+          function is based on Program 7.*/
+
+       inline void sort_split(TValue *p, TValue n)
+       {
+          TValue *pa, *pb, *pc, *pd, *pl, *pm, *pn;
+          TValue f, v, s, t, tmp;
+
+          if (n<7) {                   /* multi-selection sort smallest arrays.*/
+                 select_sort_split(p, n);
+                 return;
+          }
+
+          v=choose_pivot(p, n);
+          pa=pb=p;
+          pc=pd=p+n-1;
+          while (1) {                  /* split-end partition.*/
+                 while (pb<=pc && (f=SEQAN_LSSKEY(pb))<=v) {
+                        if (f==v) {
+                               SEQAN_LSSSWAP(pa, pb);
+                               ++pa;
+                        }
+                        ++pb;
+                 }
+                 while (pc>=pb && (f=SEQAN_LSSKEY(pc))>=v) {
+                        if (f==v) {
+                               SEQAN_LSSSWAP(pc, pd);
+                               --pd;
+                        }
+                        --pc;
+                 }
+                 if (pb>pc)
+                        break;
+                 SEQAN_LSSSWAP(pb, pc);
+                 ++pb;
+                 --pc;
+          }
+          pn=p+n;
+          if ((s=pa-p)>(t=pb-pa))
+                 s=t;
+          for (pl=p, pm=pb-s; s; --s, ++pl, ++pm)
+                 SEQAN_LSSSWAP(pl, pm);
+          if ((s=pd-pc)>(t=pn-pd-1))
+                 s=t;
+          for (pl=pb, pm=pn-s; s; --s, ++pl, ++pm)
+                 SEQAN_LSSSWAP(pl, pm);
+
+          s=pb-pa;
+          t=pd-pc;
+          if (s>0)
+                 sort_split(p, s);
+          update_group(p+s, p+n-t-1);
+          if (t>0)
+                 sort_split(p+n-t, t);
+       }
+
+       /* Bucketsort for first iteration.
+
+          Input: x[0...n-1] holds integers in the range 1...k-1, all of which appear
+          at least once. x[n] is 0. (This is the corresponding output of transform.) k
+          must be at most n+1. p is array of size n+1 whose contents are disregarded.
+
+          Output: x is V and p is I after the initial sorting stage of the refined
+          suffix sorting algorithm.*/
+
+       inline void bucketsort(TValue *x, TValue *p, TValue n, TValue k)
+       {
+          TValue *pi, i, c, d, g;
+
+          for (pi=p; pi<p+k; ++pi)
+                 *pi=-1;                   /* mark linked lists empty.*/
+          for (i=0; i<=n; ++i) {
+                 x[i]=p[c=x[i]];           /* insert in linked list.*/
+                 p[c]=i;
+          }
+          for (pi=p+k-1, i=n; pi>=p; --pi) {
+                 d=x[c=*pi];               /* c is position, d is next in list.*/
+                 x[c]=g=i;                 /* last position equals group number.*/
+                 if (d>=0) {               /* if more than one element in group.*/
+                        p[i--]=c;              /* p is permutation for the sorted x.*/
+                        do {
+                               d=x[c=d];           /* next in linked list.*/
+                               x[c]=g;             /* group number in x.*/
+                               p[i--]=c;           /* permutation in p.*/
+                        } while (d>=0);
+                 } else
+                        p[i--]=-1;             /* one element, sorted group.*/
+          }
+       }
+
+       /* Transforms the alphabet of x by attempting to aggregate several symbols into
+          one, while preserving the suffix order of x. The alphabet may also be
+          compacted, so that x on output comprises all integers of the new alphabet
+          with no skipped numbers.
+
+          Input: x is an array of size n+1 whose first n elements are positive
+          integers in the range l...k-1. p is array of size n+1, used for temporary
+          storage. q controls aggregation and compaction by defining the maximum value
+          for any symbol during transformation: q must be at least k-l; if q<=n,
+          compaction is guaranteed; if k-l>n, compaction is never done; if q is
+          INT_MAX, the maximum number of symbols are aggregated into one.
+
+          Output: Returns an integer j in the range 1...q representing the size of the
+          new alphabet. If j<=n+1, the alphabet is compacted. The global variable r is
+          set to the number of old symbols grouped into one. Only x[n] is 0.*/
+
+       inline TValue transform(TValue *x, TValue *p, TValue n, TValue k, TValue l, TValue q)
+       {
+          TValue b, c, d, e, i, j, m, s;
+          TValue *pi, *pj;
+
+          for (s=0, i=k-l; i; i>>=1)
+                 ++s;                      /* s is number of bits in old symbol.*/
+          e=SupremumValue<TValue>::VALUE>>s; /* e is for overflow checking.*/
+          for (b=d=r=0; r<n && d<=e && (c=d<<s|(k-l))<=q; ++r) {
+                 b=b<<s|(x[r]-l+1);        /* b is start of x in chunk alphabet.*/
+                 d=c;                      /* d is max symbol in chunk alphabet.*/
+          }
+          m=(1<<(r-1)*s)-1;            /* m masks off top old symbol from chunk.*/
+          x[n]=l-1;                    /* emulate zero terminator.*/
+          if (d<=n) {                  /* if bucketing possible, compact alphabet.*/
+                 for (pi=p; pi<=p+d; ++pi)
+                        *pi=0;                 /* zero transformation table.*/
+                 for (pi=x+r, c=b; pi<=x+n; ++pi) {
+                        p[c]=1;                /* mark used chunk symbol.*/
+                        c=(c&m)<<s|(*pi-l+1);  /* shift in next old symbol in chunk.*/
+                 }
+                 for (i=1; i<r; ++i) {     /* handle last r-1 positions.*/
+                        p[c]=1;                /* mark used chunk symbol.*/
+                        c=(c&m)<<s;            /* shift in next old symbol in chunk.*/
+                 }
+                 for (pi=p, j=1; pi<=p+d; ++pi)
+                        if (*pi)
+                               *pi=j++;            /* j is new alphabet size.*/
+                 for (pi=x, pj=x+r, c=b; pj<=x+n; ++pi, ++pj) {
+                        *pi=p[c];              /* transform to new alphabet.*/
+                        c=(c&m)<<s|(*pj-l+1);  /* shift in next old symbol in chunk.*/
+                 }
+                 while (pi<x+n) {          /* handle last r-1 positions.*/
+                        *pi++=p[c];            /* transform to new alphabet.*/
+                        c=(c&m)<<s;            /* shift right-end zero in chunk.*/
+                 }
+          } else {                     /* bucketing not possible, don't compact.*/
+                 for (pi=x, pj=x+r, c=b; pj<=x+n; ++pi, ++pj) {
+                        *pi=c;                 /* transform to new alphabet.*/
+                        c=(c&m)<<s|(*pj-l+1);  /* shift in next old symbol in chunk.*/
+                 }
+                 while (pi<x+n) {          /* handle last r-1 positions.*/
+                        *pi++=c;               /* transform to new alphabet.*/
+                        c=(c&m)<<s;            /* shift right-end zero in chunk.*/
+                 }
+                 j=d+1;                    /* new alphabet size.*/
+          }
+          x[n]=0;                      /* end-of-string symbol is zero.*/
+          return j;                    /* return new alphabet size.*/
+       }
+
+       /* Makes suffix array p of x. x becomes inverse of p. p and x are both of size
+          n+1. Contents of x[0...n-1] are integers in the range l...k-1. Original
+          contents of x[n] is disregarded, the n-th symbol being regarded as
+          end-of-string smaller than all other symbols.*/
+
+       void suffixsort(TValue *x, TValue *p, TValue n, TValue k, TValue l)
+       {
+          TValue *pi, *pk;
+          TValue i, j, s, sl;
+
+          V=x;                         /* set global values.*/
+          I=p;
+
+          if (n>=k-l) {                /* if bucketing possible,*/
+                 j=transform(V, I, n, k, l, n);
+                 bucketsort(V, I, n, j);   /* bucketsort on first r positions.*/
+          } else {
+                 transform(V, I, n, k, l, SupremumValue<TValue>::VALUE);
+                 for (i=0; i<=n; ++i)
+                        I[i]=i;                /* initialize I with suffix numbers.*/
+                 h=0;
+                 sort_split(I, n+1);       /* quicksort on first r positions.*/
+          }
+          h=r;                         /* number of symbols aggregated by transform.*/
+
+          while (*I>=-n) {
+                 pi=I;                     /* pi is first position of group.*/
+                 sl=0;                     /* sl is negated length of sorted groups.*/
+                 do {
+                        if ((s=*pi)<0) {
+                               pi-=s;              /* skip over sorted group.*/
+                               sl+=s;              /* add negated length to sl.*/
+                        } else {
+                               if (sl) {
+                                  *(pi+sl)=sl;     /* combine sorted groups before pi.*/
+                                  sl=0;
+                               }
+                               pk=I+V[s]+1;        /* pk-1 is last position of unsorted group.*/
+                               sort_split(pi, pk-pi);
+                               pi=pk;              /* next group.*/
+                        }
+                 } while (pi<=I+n);
+                 if (sl)                   /* if the array ends with a sorted group.*/
+                        *(pi+sl)=sl;           /* combine sorted groups at end of I.*/
+                 h=2*h;                    /* double sorted-depth.*/
+          }
+
+          for (i=0; i<=n; ++i)         /* reconstruct suffix array from inverse.*/
+                 I[V[i]]=i;
+       }
+};
+
+
+
+//////////////////////////////////////////////////////////////////////////////
+// SeqAn interface
+
+       struct LarssonSadakane {};
+
+       // WARNING:
+       // 1. the content of s will be destroyed
+       // 2. s and SA have to have size n+1
+       // 3. s[n] must be unique and less than any other character in s
+       //
+       // better use LarssonSadakane as a pipe (look down)
+
+    template < typename TSA,
+               typename TText >
+    void createSuffixArray(
+               TSA &SA,
+               TText &s,
+               LarssonSadakane const &,
+               unsigned K)
+       {
+               typedef typename Value<TSA>::Type                       TValue;
+               typedef typename _MakeSigned<TValue>::Type      TSValue;        // LarssonSadakane expects signed values
+               _Context_LSS<TSValue> c;
+               c.suffixsort(
+                       (TSValue*)begin(s, Standard()),         // text
+                       (TSValue*)begin(SA, Standard()),        // SA
+                       length(s) - 1,                                          // n
+                       K,                                                                      // text[i] <  K
+                       0);                                                                     // text[i] >= 0
+       }
+
+    //////////////////////////////////////////////////////////////////////////////
+    // qsufsort pipe
+//    template < typename TInput >
+//    struct Pipe< TInput, LarssonSadakane >
+//    {
+//             typedef typename SAValue<TInput>::Type  TValue;
+//             typedef String<TValue, Alloc<> >                TText;
+//             typedef String<TValue, Alloc<> >                TSA;
+//             typedef Pipe<TSA, Source<> >                    TSource;
+//
+//             TSA             sa;
+//             TSource in;
+//
+//             Pipe(TInput &_textIn):
+//                     in(sa)
+//             {
+//             typedef typename Iterator<TText, Standard>::Type TIter;
+//
+//                     TValue len = length(_textIn);
+//                     TText text;
+//                     resize(text, len + 1, Exact());
+//
+//                     TIter   it = begin(text);
+//                     TIter   itEnd = begin(text) + len;
+//                     TValue  maxChar = 0;
+//
+//                     beginRead(_textIn);
+//                     for(; it != itEnd; ++it, ++_textIn) {
+//                             TValue val = (*it = 1 + (TValue)*_textIn);
+//                             if (val > maxChar)
+//                                     maxChar = val;
+//                     }
+//                     endRead(_textIn);
+//
+//                     resize(sa, len + 1, Exact());
+//                     createSuffixArray(sa, text, LarssonSadakane(), maxChar + 1);
+//             }
+//
+//             inline typename Value<TSource>::Type const & operator*() {
+//            return *in;
+//        }
+//
+//        inline Pipe& operator++() {
+//            ++in;
+//            return *this;
+//        }
+//     };
+
+//     template < typename TInput >
+//     inline bool control(Pipe< TInput, LarssonSadakane > &me, ControlBeginRead const &command) {
+//             control(me.in, command);
+//             ++me.in;
+//             return true;
+//     }
+
+//    template < typename TInput >
+//    inline typename Size< Pipe< TInput, LarssonSadakane > >::Type
+//     length(Pipe< TInput, LarssonSadakane > const &me) {
+//        return length(me.in) - 1;
+//    }
+
+}
+
+#endif
diff --git a/SeqAn-1.1/seqan/index/shape_base.h b/SeqAn-1.1/seqan/index/shape_base.h
new file mode 100644 (file)
index 0000000..6e66f79
--- /dev/null
@@ -0,0 +1,607 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de 
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: shape_base.h,v 1.1 2008/08/25 16:20:05 langmead Exp $
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_SHAPE_BASE_H
+#define SEQAN_HEADER_SHAPE_BASE_H
+
+namespace SEQAN_NAMESPACE_MAIN
+{
+
+       template <unsigned q>
+       struct FixedShape {};
+       typedef FixedShape<0> SimpleShape;
+
+       template <typename TSpec>
+       struct FixedGappedShape {};
+       typedef FixedGappedShape<Default> GappedShape;
+
+
+/**
+.Class.Shape:
+..cat:Index
+..summary:Stores hash value and shape for an ungapped or gapped q-gram.
+..signature:Shape<TValue, TSpec>
+..param.TValue:The @Metafunction.Value@ type of the string the shape is applied to (e.g. $Dna$).
+..param.TSpec:The specializing type.
+...default:@Spec.SimpleShape@, for ungapped q-grams.
+..remarks:The @Metafunction.ValueSize@ of Shape is the ValueSize of TValue which is the alphabet size.
+..remarks:To get the span or the weight of a shape call @Function.length@ or @Function.weight@.
+.Memfunc.Shape#Shape:
+..class:Class.Shape
+..summary:Constructor
+..signature:Shape<TValue, TSpec> ()
+..signature:Shape<TValue, TSpec> (shape)
+..param.shape:Other Shape object. (copy constructor)
+*/
+       template <typename TValue = Dna, typename TSpec = SimpleShape>
+       class Shape;
+
+//////////////////////////////////////////////////////////////////////////////
+
+///.Metafunction.Value.param.T.type:Class.Shape
+       template <typename TValue, typename TSpec>
+       struct Value<Shape<TValue,TSpec> >
+       {
+               typedef unsigned Type;
+       };
+
+///.Metafunction.Size.param.T.type:Class.Shape
+       template <typename TValue, typename TSpec>
+       struct Size<Shape<TValue,TSpec> >
+       {
+               typedef unsigned Type;
+       };
+
+///.Metafunction.LENGTH.param.T.type:Class.Shape
+    template <typename TValue, unsigned q>
+       struct LENGTH< Shape<TValue, FixedShape<q> > >
+       {
+               enum { VALUE = q };
+       };
+
+///.Metafunction.WEIGHT.param.T.type:Class.Shape
+    template <typename TValue, unsigned q>
+       struct WEIGHT< Shape<TValue, FixedShape<q> > >
+       {
+               enum { VALUE = q };
+       };
+
+///.Metafunction.ValueSize.param.T.type:Class.Shape
+       template <typename TValue, typename TSpec>
+       struct ValueSize< Shape<TValue, TSpec> > {
+               enum { VALUE = Power<
+                                               ValueSize<TValue>::VALUE, 
+                                               WEIGHT< Shape<TValue, TSpec> >::VALUE >::VALUE };
+       };
+
+
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Spec.SimpleShape:
+..cat:Index
+..summary:A variable length ungapped shape (also called q-gram or k-mer).
+..general:Class.Shape
+..signature:Shape<TValue, SimpleShape>
+..param.TValue:The @Metafunction.Value@ type of the string the shape is applied to (e.g. $Dna$).
+..remarks:A SimpleShape must be resized first to a valid length. To do so, call @Function.resize@.
+..see:Spec.FixedShape
+*/
+
+       //////////////////////////////////////////////////////////////////////////////
+       // ungapped shape with variable length
+       //////////////////////////////////////////////////////////////////////////////
+
+       template <typename TValue>
+       class Shape<TValue, SimpleShape>
+       {
+       public:
+//____________________________________________________________________________
+
+               unsigned                                        span;
+               typename Value<Shape>::Type     hValue;
+               typename Value<Shape>::Type     XValue;
+               typename Value<Shape>::Type     leftFactor;
+               typename Value<Shape>::Type     leftFactor2;
+               TValue                                          leftChar;
+//____________________________________________________________________________
+               
+/**
+.Memfunc.SimpleShape#Shape:
+..class:Spec.SimpleShape
+..summary:Constructor
+..signature:Shape<TValue, SimpleShape> ()
+..signature:Shape<TValue, SimpleShape> (shape)
+..signature:Shape<TValue, SimpleShape> (q)
+..param.shape:Other Shape object. (copy constructor)
+..param.q:Length of the ungapped q-gram.
+*/
+               Shape() {}
+
+               Shape(unsigned _span)
+               {
+                       resize(*this, _span);
+               }
+
+               template <unsigned q>
+               Shape(Shape<TValue, FixedShape<q> > const &other)
+               {
+                       *this = other;
+               }       
+
+//____________________________________________________________________________
+
+               template <unsigned q>
+               inline Shape &
+               operator=(Shape<TValue, FixedShape<q> > const &other)
+               {
+                       span = other.span;
+                       hValue = other.hValue;
+                       XValue = other.XValue;
+                       leftFactor = other.leftFactor;
+                       leftFactor2 = other.leftFactor2;
+                       leftChar = other.leftChar;
+                       return *this;
+               }
+       };
+
+       //////////////////////////////////////////////////////////////////////////////
+       // ungapped shape with fixed length q
+       //////////////////////////////////////////////////////////////////////////////
+
+/**
+.Spec.FixedShape:
+..cat:Index
+..summary:A fixed length ungapped shape (also called q-gram or k-mer).
+..general:Class.Shape
+..signature:Shape<TValue, FixedShape<q> >
+..param.TValue:The @Metafunction.Value@ type of the sequence the shape is applied to (e.g. $Dna$).
+..param.q:The length of the shape.
+*/
+
+       template <typename TValue, unsigned q>
+       class Shape<TValue, FixedShape<q> >
+       {
+       public:
+//____________________________________________________________________________
+
+               enum { span = q };
+               enum { leftFactor = Power<ValueSize<TValue>::VALUE, q - 1>::VALUE };
+               enum { leftFactor2 = (Power<ValueSize<TValue>::VALUE, q>::VALUE - 1) / (ValueSize<TValue>::VALUE - 1) };
+               // Sigma^(q-1) + Sigma^(q-2) + ... + Sigma + 1
+
+               typename Value<Shape>::Type     hValue;         // current hash value
+               typename Value<Shape>::Type     XValue;         // Sum_{i=0..q-1} (x_i + 1)
+               TValue                                          leftChar;       // left-most character
+//____________________________________________________________________________
+               
+       };
+
+
+
+//////////////////////////////////////////////////////////////////////////////
+
+///.Function.value.param.object.type:Class.Shape
+       template <typename TValue, typename TSpec>
+       inline typename Value< Shape<TValue, TSpec> >::Type
+       value(Shape<TValue, TSpec> &me)
+       {
+               return me.hValue;
+       }
+
+//____________________________________________________________________________
+
+///.Function.length.param.object.type:Class.Shape
+       template <typename TValue, typename TSpec>
+       inline typename Size< Shape<TValue, TSpec> >::Type
+       length(Shape<TValue, TSpec> const &me)
+       {
+       SEQAN_CHECKPOINT
+               return me.span;
+       }
+
+//____________________________________________________________________________
+
+/**.Function.weight:
+..cat:Index
+..summary:Number of relevant positions in a shape.
+..signature:weight(shape)
+..param.shape:Shape object for which the number of relevant positions is determined.
+...type:Class.Shape
+..returns:Number of relevant positions.
+..remarks.text:For ungapped shapes the return value is the result of the @Function.length@ function.
+For gapped shapes this is the number of '1's.
+*/
+       template <typename TValue, typename TSpec>
+       inline typename Size< Shape<TValue, TSpec> >::Type
+       weight(Shape<TValue, TSpec> const &me)
+       {
+       SEQAN_CHECKPOINT
+               return length(me);
+       }
+
+//____________________________________________________________________________
+
+///.Function.resize.param.object.type:Spec.SimpleShape
+       template <typename TValue, typename TSize>
+       inline typename Size< Shape<TValue, SimpleShape> >::Type
+       resize(Shape<TValue, SimpleShape> & me, TSize new_length)
+       {
+       SEQAN_CHECKPOINT
+               me.leftFactor = _intPow((unsigned)ValueSize<TValue>::VALUE, new_length - 1);
+               me.leftFactor2 = (_intPow((unsigned)ValueSize<TValue>::VALUE, new_length) - 1) / (ValueSize<TValue>::VALUE - 1);
+               return me.span = new_length;
+       }
+
+//____________________________________________________________________________
+
+/**.Function.hash:
+..cat:Index
+..summary:Computes a (lower) hash value for a shape applied to a sequence.
+..signature:hash(shape, it)
+..signature:hash(shape, it, charsLeft)
+..param.shape:Shape to be used for hashing.
+...type:Class.Shape
+..param.it:Sequence iterator pointing to the first character of the shape.
+..param.charsLeft:The distance of $it$ to the string end. 
+If $charsLeft$ is smaller than the shape's span, the hash value corresponds to the smallest shape beginning with $charsLeft$ characters.
+..returns:Hash value of the shape.
+*/
+
+       template <typename TValue, typename TIter>
+       typename Value< Shape<TValue, SimpleShape> >::Type
+       hash(Shape<TValue, SimpleShape> &me, TIter it)
+       {
+       SEQAN_CHECKPOINT
+               typedef typename Value< Shape<TValue, SimpleShape> >::Type      THValue;
+               typedef typename Size< Shape<TValue, SimpleShape> >::Type       TSize;
+
+               me.hValue = ordValue(me.leftChar = *it);
+               for(TSize i = 1; i < me.span; ++i) {
+                       ++it;
+                       me.hValue = me.hValue * ValueSize<TValue>::VALUE + ordValue((TValue)*it);
+               }
+               return me.hValue;
+       }
+
+//____________________________________________________________________________
+// fixed ungapped shapes
+
+       // loop unrolling ...
+       template <typename THValue, typename TValue, typename TIter>
+       inline THValue
+       _hashFixedShape(THValue hash, TIter &, TValue const, FixedShape<1> const) {
+               return hash;
+       }
+
+       template <typename THValue, typename TValue, typename TIter, unsigned q>
+       inline THValue
+       _hashFixedShape(THValue hash, TIter &it, TValue const, FixedShape<q> const) {
+               ++it;
+               return _hashFixedShape(
+                       hash * ValueSize<TValue>::VALUE + ordValue((TValue)*it),
+                       it, TValue(), FixedShape<q - 1>());
+       }
+
+       // ... for fixed ungapped shapes
+       template <typename TValue, unsigned q, typename TIter>
+       inline typename Value< Shape<TValue, FixedShape<q> > >::Type
+       hash(Shape<TValue, FixedShape<q> > &me, TIter it)
+       {
+       SEQAN_CHECKPOINT
+               typedef typename Value< Shape<TValue, FixedShape<q> > >::Type   THValue;
+               typedef typename Size< Shape<TValue, FixedShape<q> > >::Type    TSize;
+
+               me.hValue = ordValue(me.leftChar = *it);
+               return me.hValue = _hashFixedShape(me.hValue, it, TValue(), FixedShape<q>());
+       }
+
+
+       template <typename TValue, typename TSpec, typename TIter, typename TSize>
+       inline typename Value< Shape<TValue, TSpec> >::Type
+       hash(Shape<TValue, TSpec> &me, TIter it, TSize charsLeft)
+       {
+       SEQAN_CHECKPOINT
+               typedef typename Value< Shape<TValue, TSpec> >::Type    THValue;
+
+               TSize iEnd = me.span;
+               if (iEnd > charsLeft) iEnd = charsLeft;
+
+               TSize i = 0;
+               if (iEnd > 0) {
+                       me.hValue = ordValue(me.leftChar = *it);
+                       for(i = 1; i < iEnd; ++i) {
+                               ++it;
+                               me.hValue = me.hValue * ValueSize<TValue>::VALUE + ordValue((TValue)*it);
+                       }
+               } else
+                       return me.hValue = 0;
+
+               // fill shape with zeros
+               for(; i < (TSize)me.span; ++i)
+                       me.hValue *= ValueSize<TValue>::VALUE;
+               return me.hValue;
+       }
+
+//____________________________________________________________________________
+// Tuple -> fixed ungapped shapes
+
+       template <typename THValue, typename TValue, typename TTValue, unsigned SIZE, typename TCompressed>
+       inline THValue
+       _hashTuple2FixedShape(
+               THValue const, 
+               Tuple<TTValue, SIZE, TCompressed> const &tuple,
+               TValue const,
+               FixedShape<1> const) 
+       {
+               return ordValue(tuple[0]);
+       }
+
+       template <typename THValue, typename TValue, typename TTValue, unsigned SIZE, typename TCompressed, unsigned q>
+       inline THValue
+       _hashTuple2FixedShape(
+               THValue const, 
+               Tuple<TTValue, SIZE, TCompressed> const &tuple,
+               TValue const,
+               FixedShape<q> const) 
+       {
+               return _hashTuple2FixedShape(THValue(), tuple, TValue(), FixedShape<q - 1>()) 
+                       * ValueSize<TValue>::VALUE + ordValue(tuple[q-1]);
+       }
+
+       // ... for fixed ungapped shapes
+       template <
+               typename TValue,
+               typename TTValue, 
+               unsigned SIZE, 
+               unsigned q>
+       typename Value< Shape<TValue, FixedShape<q> > >::Type
+       hash(
+               Shape<TValue, FixedShape<q> > &me, 
+               Tuple<TTValue, SIZE, Compressed> const &tuple)
+       {
+       SEQAN_CHECKPOINT
+               if (ValueSize<TValue>::VALUE == (1 << BitsPerValue<TTValue>::VALUE))
+                       if (q == SIZE)
+                               return tuple.i;
+                       else
+                               return tuple >> (q - SIZE);
+               else
+                       return me.hValue = _hashTuple2FixedShape(me.hValue, tuple, TValue(), FixedShape<q>());
+       }
+
+       template <
+               typename TValue,
+               typename TTValue, 
+               unsigned SIZE, 
+               typename TCompressed, 
+               unsigned q>
+       typename Value< Shape<TValue, FixedShape<q> > >::Type
+       hash(
+               Shape<TValue, FixedShape<q> > &me, 
+               Tuple<TTValue, SIZE, TCompressed> const &tuple)
+       {
+       SEQAN_CHECKPOINT
+               return me.hValue = _hashTuple2FixedShape(me.hValue, tuple, TValue(), FixedShape<q>());
+       }
+
+//____________________________________________________________________________
+
+/**.Function.hashUpper:
+..cat:Index
+..summary:Computes an upper hash value for a shape applied to a sequence.
+..signature:hashUpper(shape, it, charsLeft)
+..param.shape:Shape to be used for hashing.
+...type:Class.Shape
+..param.it:Sequence iterator pointing to the first character of the shape.
+..param.charsLeft:The distance of $it$ to the string end. 
+If $charsLeft$ is smaller than the shape's span, the hash value corresponds to the biggest shape beginning with $charsLeft$ characters + 1.
+..returns:Upper hash value of the shape.
+*/
+
+       template <typename TValue, typename TSpec, typename TIter, typename TSize>
+       inline typename Value< Shape<TValue, TSpec> >::Type
+       hashUpper(Shape<TValue, TSpec> &me, TIter it, TSize charsLeft)
+       {
+       SEQAN_CHECKPOINT
+               typedef typename Value< Shape<TValue, TSpec> >::Type    THValue;
+
+               TSize iEnd = me.span;
+               if (iEnd > charsLeft) iEnd = charsLeft;
+
+               TSize i = 0;
+               if (iEnd > 0) {
+                       me.hValue = ordValue(me.leftChar = *it);
+                       for(i = 1; i < iEnd; ++i) {
+                               ++it;
+                               me.hValue = me.hValue * ValueSize<TValue>::VALUE + ordValue((TValue)*it);
+                       }
+                       ++me.hValue;
+               } else
+                       me.hValue = 1;
+
+               // fill shape with zeros
+               for(; i < (TSize)me.span; ++i)
+                       me.hValue *= ValueSize<TValue>::VALUE;
+               return me.hValue;
+       }
+
+//____________________________________________________________________________
+
+/**
+.Function.hashNext:
+..cat:Index
+..summary:Computes the hash value for the adjacent shape.
+..signature:hashNext(shape, it)
+..param.shape:Shape to be used for hashing.
+...type:Class.Shape
+..param.it:Sequence iterator pointing to the first character of the adjacent shape.
+..returns:Hash value of the q-gram.
+..remarks:@Function.hash@ has to be called before.
+*/
+
+       template <typename TValue, typename TSpec, typename TIter>
+       inline typename Value< Shape<TValue, TSpec> >::Type
+       hashNext(Shape<TValue, TSpec> &me, TIter &it)
+       {
+       SEQAN_CHECKPOINT
+               // remove first, shift left, and add next character
+               typedef typename Value< Shape<TValue, TSpec> >::Type    THValue;
+               me.hValue = 
+                       (me.hValue - ordValue(me.leftChar) * (THValue)me.leftFactor) * ValueSize<TValue>::VALUE
+                       + ordValue((TValue)*(it + (THValue)me.span - 1));
+               me.leftChar = *it;
+               return me.hValue;
+       }
+
+//____________________________________________________________________________
+
+/**.Function.hash2:
+..cat:Index
+..summary:Computes a unique hash value of a shape, even if it is shorter than its span.
+..signature:hash2(shape, it, charsLeft)
+..param.shape:Shape to be used for hashing.
+...type:Class.Shape
+..param.it:Sequence iterator pointing to the first character of the shape.
+..param.charsLeft:The distance of $it$ to the string end. 
+..returns:Hash value of the shape.
+*/
+
+       template <typename TValue, typename TSpec, typename TIter, typename TSize>
+       inline typename Value< Shape<TValue, TSpec> >::Type
+       hash2(Shape<TValue, TSpec> &me, TIter it, TSize charsLeft)
+       {
+       SEQAN_CHECKPOINT
+               typedef typename Value< Shape<TValue, TSpec> >::Type    THValue;
+
+               TSize iEnd = me.span;
+               if (iEnd > charsLeft) iEnd = charsLeft;
+
+               TSize i = 0;
+               if (iEnd > 0) {
+                       me.hValue = me.XValue = ordValue(me.leftChar = *it);
+                       for(i = 1; i < iEnd; ++i) {
+                               ++it;
+                               // update sum of x_i
+                               me.XValue += ordValue((TValue)*it);
+                               // shift hash
+                               me.hValue = me.hValue * ValueSize<TValue>::VALUE + me.XValue;
+                       }
+               } else
+                       return me.hValue = me.XValue = 0;
+
+               // fill shape with zeros
+               for(; i < (TSize)me.span; ++i)
+                       me.hValue = me.hValue * ValueSize<TValue>::VALUE + me.XValue;
+               return me.hValue += iEnd;
+       }
+
+       template <typename TValue, typename TSpec, typename TIter, typename TSize>
+       inline typename Value< Shape<TValue, TSpec> >::Type
+       hash2Upper(Shape<TValue, TSpec> &me, TIter it, TSize charsLeft)
+       {
+       SEQAN_CHECKPOINT
+               typedef typename Value< Shape<TValue, TSpec> >::Type    THValue;
+
+               TSize iEnd = me.span;
+               if (iEnd > charsLeft) iEnd = charsLeft;
+
+               THValue hValue, XValue;
+               TSize i = 0;
+               if (iEnd > 0) {
+                       hValue = XValue = ordValue((TValue)*it);
+                       for(i = 1; i < iEnd; ++i) {
+                               ++it;
+                               // update sum of x_i
+                               XValue += ordValue((TValue)*it);
+                               // shift hash
+                               hValue = hValue * ValueSize<TValue>::VALUE + XValue;
+                       }
+               } else
+                       hValue = XValue = 0;
+
+               if (charsLeft <= me.span) {
+                       ++XValue;
+                       ++hValue;
+               }
+
+               // fill shape with zeros
+               for(; i < (TSize)me.span; ++i)
+                       hValue = hValue * ValueSize<TValue>::VALUE + XValue;
+               return hValue += iEnd;
+       }
+
+//____________________________________________________________________________
+
+/**
+.Function.hash2Next:
+..cat:Index
+..summary:Computes a unique hash value for the adjacent shape, even if it is shorter than q.
+..signature:hash2Next(shape, it)
+..param.shape:Shape to be used for hashing the q-gram.
+...type:Class.Shape
+..param.it:Sequence iterator pointing to the first character of the adjacent shape.
+..returns:Hash value of the shape.
+..remarks:@Function.hash@ has to be called before with $shape$ on the left adjacent q-gram.
+*/
+
+       template <typename TValue, typename TSpec, typename TIter, typename TSize>
+       inline typename Value< Shape<TValue, TSpec> >::Type
+       hash2Next(Shape<TValue, TSpec> &me, TIter &it, TSize charsLeft)
+       {
+       SEQAN_CHECKPOINT
+               // remove first, shift left, and add next character
+               typedef typename Value< Shape<TValue, TSpec> >::Type    THValue;
+
+               if (charsLeft >= me.span) {
+                       // update sum of x_i
+                       me.XValue = me.XValue + ordValue((TValue)*(it + me.span - 1)) - ordValue(me.leftChar);
+                       // shift hash
+                       me.hValue = (me.hValue - ordValue(me.leftChar) * (THValue)me.leftFactor2) * ValueSize<TValue>::VALUE + me.XValue
+                                               - me.span * (ValueSize<TValue>::VALUE - 1);
+               } else {
+                       // update sum of x_i
+                       me.XValue -= ordValue(me.leftChar);
+                       // shift hash
+                       me.hValue = (me.hValue - ordValue(me.leftChar) * (THValue)me.leftFactor2) * ValueSize<TValue>::VALUE + me.XValue
+                                       - charsLeft * (ValueSize<TValue>::VALUE - 1) - ValueSize<TValue>::VALUE;
+               }
+
+               me.leftChar = *it;
+               return me.hValue;
+       }
+
+       template <typename TString, typename THash>
+       inline void unhash(TString &result, THash hash, unsigned q)
+       {
+       SEQAN_CHECKPOINT
+               typedef typename Value<TString>::Type   TValue;
+
+               resize(result, q);
+               for (unsigned i = q; i > 0; ) 
+               {
+                       result[--i] = (TValue)(hash % ValueSize<TValue>::VALUE);
+                       hash /= ValueSize<TValue>::VALUE;
+               }
+       }
+
+}      // namespace seqan
+
+#endif
diff --git a/SeqAn-1.1/seqan/index/shape_gapped.h b/SeqAn-1.1/seqan/index/shape_gapped.h
new file mode 100644 (file)
index 0000000..8a9d724
--- /dev/null
@@ -0,0 +1,593 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de 
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: shape_gapped.h,v 1.1 2008/08/25 16:20:05 langmead Exp $
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_SHAPE_GAPPED_H
+#define SEQAN_HEADER_SHAPE_GAPPED_H
+
+namespace SEQAN_NAMESPACE_MAIN
+{
+
+//////////////////////////////////////////////////////////////////////////////
+// HardwiredShape allows compiler-time defined gapped shape
+
+/**
+.Class.HardwiredShape:
+..cat:Index
+..summary:A structure to define a fixed gapped shape.
+..signature:HardwiredShape<P1, P2, ..., Pn>
+..param.P1, P2, ..., Pn:Px is the distance of the x'th '1' to the next '1' in the shape.
+...remarks:At most 20 parameters are allowed, so the maximal shape weight is 21.
+..remarks:You can use this structure to define your one gapped shapes in conjunction with @Spec.FixedGappedShape@.
+..note:The shape $1100101$ corresponds to $HardwiredShape<1,3,2>$.
+..note:The following predefined shapes are already available in $seqan/index/shape_predefined.h$:
+..file:../projects/library/seqan/index/shape_predefined.h
+*/
+
+       // Pxx = spaces between '1's
+       template <
+               int P00 = 0, int P01 = 0, int P02 = 0, int P03 = 0, int P04 = 0, 
+               int P05 = 0, int P06 = 0, int P07 = 0, int P08 = 0, int P09 = 0,
+               int P10 = 0, int P11 = 0, int P12 = 0, int P13 = 0, int P14 = 0,
+               int P15 = 0, int P16 = 0, int P17 = 0, int P18 = 0, int P19 = 0 
+       >
+       struct HardwiredShape {
+               static const int DIFFS[];
+       };
+
+       template <
+               int P00, int P01, int P02, int P03, int P04, 
+               int P05, int P06, int P07, int P08, int P09,
+               int P10, int P11, int P12, int P13, int P14,
+               int P15, int P16, int P17, int P18, int P19     
+       >
+       const int HardwiredShape<
+               P00,P01,P02,P03,P04,
+               P05,P06,P07,P08,P09,
+               P10,P11,P12,P13,P14,
+               P15,P16,P17,P18,P19 
+       >::DIFFS[] = {
+               P00,P01,P02,P03,P04,
+               P05,P06,P07,P08,P09,
+               P10,P11,P12,P13,P14,
+               P15,P16,P17,P18,P19, 0 
+       };
+
+
+//////////////////////////////////////////////////////////////////////////////
+// LENGTH meta-function for fixed gapped shapes
+
+       template <>
+       struct LENGTH< HardwiredShape<
+               0,0,0,0,0,
+               0,0,0,0,0,
+               0,0,0,0,0,
+               0,0,0,0,0> >
+       {
+               enum { VALUE = 1 };
+       };
+
+       template <
+               int P00, int P01, int P02, int P03, int P04, 
+               int P05, int P06, int P07, int P08, int P09,
+               int P10, int P11, int P12, int P13, int P14,
+               int P15, int P16, int P17, int P18, int P19     
+       >
+       struct LENGTH< HardwiredShape<
+               P00,P01,P02,P03,P04,
+               P05,P06,P07,P08,P09,
+               P10,P11,P12,P13,P14,
+               P15,P16,P17,P18,P19> >
+       {
+               enum { VALUE = LENGTH< HardwiredShape<
+                       P01,P02,P03,P04,P05,
+                       P06,P07,P08,P09,P10,
+                       P11,P12,P13,P14,P15,
+                       P16,P17,P18,P19, 0 > >::VALUE + P00 };
+       };
+
+       template <
+           typename TValue,
+               int P00, int P01, int P02, int P03, int P04, 
+               int P05, int P06, int P07, int P08, int P09,
+               int P10, int P11, int P12, int P13, int P14,
+               int P15, int P16, int P17, int P18, int P19     
+       >
+       struct LENGTH< Shape<TValue, FixedGappedShape< HardwiredShape<
+               P00,P01,P02,P03,P04,
+               P05,P06,P07,P08,P09,
+               P10,P11,P12,P13,P14,
+               P15,P16,P17,P18,P19 
+       > > > >:
+       LENGTH< HardwiredShape<
+               P00,P01,P02,P03,P04,
+               P05,P06,P07,P08,P09,
+               P10,P11,P12,P13,P14,
+               P15,P16,P17,P18,P19 
+       > > {};
+
+
+//////////////////////////////////////////////////////////////////////////////
+// WEIGHT meta-function for fixed gapped shapes
+
+       template <>
+       struct WEIGHT< HardwiredShape<
+               0,0,0,0,0,
+               0,0,0,0,0,
+               0,0,0,0,0,
+               0,0,0,0,0> >
+       {
+               enum { VALUE = 1 };
+       };
+
+       template <
+               int P00, int P01, int P02, int P03, int P04, 
+               int P05, int P06, int P07, int P08, int P09,
+               int P10, int P11, int P12, int P13, int P14,
+               int P15, int P16, int P17, int P18, int P19     
+       >
+       struct WEIGHT< HardwiredShape<
+               P00,P01,P02,P03,P04,
+               P05,P06,P07,P08,P09,
+               P10,P11,P12,P13,P14,
+               P15,P16,P17,P18,P19> >
+       {
+               enum { VALUE = WEIGHT< HardwiredShape<
+                       P01,P02,P03,P04,P05,
+                       P06,P07,P08,P09,P10,
+                       P11,P12,P13,P14,P15,
+                       P16,P17,P18,P19, 0 > >::VALUE + 1 };
+       };
+
+       template <
+           typename TValue,
+               int P00, int P01, int P02, int P03, int P04, 
+               int P05, int P06, int P07, int P08, int P09,
+               int P10, int P11, int P12, int P13, int P14,
+               int P15, int P16, int P17, int P18, int P19     
+       >
+       struct WEIGHT< Shape<TValue, FixedGappedShape< HardwiredShape<
+               P00,P01,P02,P03,P04,
+               P05,P06,P07,P08,P09,
+               P10,P11,P12,P13,P14,
+               P15,P16,P17,P18,P19 
+       > > > >:
+       WEIGHT< HardwiredShape<
+               P00,P01,P02,P03,P04,
+               P05,P06,P07,P08,P09,
+               P10,P11,P12,P13,P14,
+               P15,P16,P17,P18,P19 
+       > > {};
+
+
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Spec.GappedShape:
+..cat:Index
+..summary:A variable gapped shape.
+..general:Class.Shape
+..signature:Shape<TValue, GappedShape>
+..param.TValue:The @Metafunction.Value@ type of the string the shape is applied to (e.g. $Dna$).
+..remarks:A GappedShape must be initialized first with a valid shape. To do so, call @Function.stringToShape@.
+..see:Spec.FixedGappedShape
+*/
+
+       //////////////////////////////////////////////////////////////////////////////
+       // variable gapped shape
+       //////////////////////////////////////////////////////////////////////////////
+
+       template <typename TValue>
+       class Shape<TValue, GappedShape>
+       {
+       public:
+//____________________________________________________________________________
+
+               unsigned span;
+               unsigned weight;
+               String<int> diffs;
+       
+               typename Value<Shape>::Type     hValue;         // current hash value
+//____________________________________________________________________________
+
+/**
+.Memfunc.GappedShape#Shape:
+..class:Spec.GappedShape
+..summary:Constructor
+..signature:Shape<TValue, GappedShape> ()
+..signature:Shape<TValue, GappedShape> (q)
+..signature:Shape<TValue, GappedShape> (shape)
+..signature:Shape<TValue, GappedShape> (predefined)
+..param.q:Creates an ungapped q-gram.
+..param.shape:Any other gapped/ungapped shape.
+..param.predefined:Any instance of a predefined shape spec (e.g. $ShapePatternHunter$).
+..see:Class.HardwiredShape
+*/
+               Shape() {}
+
+               // c'tor for ungapped shapes
+               Shape(unsigned _span):
+                       span(_span),
+                       weight(_span)
+               {
+               SEQAN_CHECKPOINT
+                       resize(diffs, _span);
+                       for(unsigned i = 0; i < _span; ++i)
+                               diffs[i] = 1;
+               }
+
+               Shape(Shape const &other):
+                       span(other.span),
+                       weight(other.weight),
+                       diffs(other.diffs),
+                       hValue(other.hValue) {} 
+
+               template <typename TSpec>
+               Shape(Shape<TValue, TSpec> const &other)
+               {
+                       *this = other;
+               }       
+
+               template <typename TSpec>
+               Shape(FixedGappedShape<TSpec> const &other)
+               {
+                       *this = other;
+               }
+
+               template <typename TStringValue, typename TSpec>
+               Shape(String<TStringValue, TSpec> const &bitmap)
+               {
+                       *this = bitmap;
+               }       
+
+//____________________________________________________________________________
+
+               template <unsigned q>
+               inline Shape &
+               operator=(Shape<TValue, FixedShape<q> > const &other)
+               {
+                       span = length(other);
+                       weight = weight(other);
+                       resize(diffs, weight);
+                       for(unsigned i = 1; i < weight; ++i)
+                               diffs[i] = 1;
+                       hValue = other.hValue;
+                       return *this;
+               }
+
+               template <typename TSpec>
+               inline Shape &
+               operator=(Shape<TValue, FixedGappedShape<TSpec> > const &other)
+               {
+                       span = other.span;
+                       weight = other.weight;
+                       diffs = other.diffs;
+                       hValue = other.hValue;
+                       return *this;
+               }
+
+               template <typename TSpec>
+               inline Shape &
+               operator=(FixedGappedShape<TSpec> const)
+               {
+                       typedef Shape<TValue, FixedGappedShape<TSpec> > TShape;
+                       return *this = TShape();
+               }
+
+               template <typename TStringValue, typename TSpec>
+               inline Shape &
+               operator=(String<TStringValue, TSpec> const &bitmap)
+               {
+                       stringToShape(*this, bitmap);
+                       return *this;
+               }
+       };
+
+
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Spec.FixedGappedShape:
+..cat:Index
+..summary:A fixed gapped shape.
+..general:Class.Shape
+..signature:Shape<TValue, FixedGappedShape<TSpec> >
+..param.TValue:The @Metafunction.Value@ type of the string the shape is applied to (e.g. $Dna$).
+..param.TSpec:A structure to store the shape at compile-time.
+...type:Class.HardwiredShape
+..remarks:There are predefined shapes in $index/shape_predefined.h$.
+You can simply use them with $Shape<TValue, ShapePatternHunter>$ for example.
+..see:Class.HardwiredShape
+*/
+
+       //////////////////////////////////////////////////////////////////////////////
+       // fixed gapped shape
+       //////////////////////////////////////////////////////////////////////////////
+
+       template <typename TValue, typename TSpec>
+       class Shape<TValue, FixedGappedShape<TSpec> >
+       {
+       public:
+//____________________________________________________________________________
+
+               typedef FixedGappedShape<TSpec> TShapeSpec;
+
+               enum { span = LENGTH<Shape>::VALUE };
+               enum { weight = WEIGHT<Shape>::VALUE };
+               const int *diffs;
+       
+               typename Value<Shape>::Type     hValue;         // current hash value
+//____________________________________________________________________________
+
+               Shape():
+                       diffs(TSpec::DIFFS) {}
+
+               Shape(Shape const &other):
+                       diffs(other.diffs),     
+                       hValue(other.hValue) {}
+//____________________________________________________________________________
+
+               inline Shape &
+               operator=(Shape const &other)
+               {
+                       hValue = other.hValue;
+               }
+       };
+
+//////////////////////////////////////////////////////////////////////////////
+
+       template <typename TValue, typename TSpec>
+       inline typename Size< Shape<TValue, FixedGappedShape<TSpec> > >::Type
+       weight(Shape<TValue, FixedGappedShape<TSpec> > const & me)
+       {
+       SEQAN_CHECKPOINT
+               return me.weight;
+       }
+
+//____________________________________________________________________________
+
+       template <typename TValue, typename TIter>
+       inline typename Value< Shape<TValue, GappedShape> >::Type
+       hash(Shape<TValue, GappedShape> &me, TIter it)  
+       {
+       SEQAN_CHECKPOINT
+               typedef typename Value< Shape<TValue, GappedShape> >::Type      THValue;
+               typedef typename Size< Shape<TValue, GappedShape> >::Type       TSize;
+
+               me.hValue = ordValue((TValue)*it);
+               TSize iEnd = me.weight - 1;
+               for(TSize i = 0; i < iEnd; ++i) {
+                       goFurther(it, me.diffs[i]);
+                       me.hValue = me.hValue * ValueSize<TValue>::VALUE + ordValue((TValue)*it);
+               }
+               return me.hValue;
+       }
+
+       template <typename TValue, typename TSpec, typename TIter, typename TSize>
+       inline typename Value< Shape<TValue, FixedGappedShape<TSpec> > >::Type
+       hash(Shape<TValue, FixedGappedShape<TSpec> > &me, TIter it, TSize charsLeft)
+       {
+       SEQAN_CHECKPOINT
+               typedef typename Value< Shape<TValue, FixedGappedShape<TSpec> > >::Type THValue;
+
+               TSize iEnd = me.weight;
+               if (iEnd > charsLeft) iEnd = charsLeft;
+
+               TSize i = 0;
+               if (iEnd > 0) {
+                       me.hValue = ordValue((TValue)*it);
+                       --iEnd;
+                       for(; i < iEnd; ++i) {
+                               goFurther(it, me.diffs[i]);
+                               me.hValue = me.hValue * ValueSize<TValue>::VALUE + ordValue((TValue)*it);
+                       }
+                       ++i;
+               } else
+                       return me.hValue = 0;
+
+               // fill shape with zeros
+               for(; i < (TSize)me.weight; ++i)
+                       me.hValue *= ValueSize<TValue>::VALUE;
+               return me.hValue;
+       }
+
+       template <typename TValue, typename TSpec, typename TIter, typename TSize>
+       inline typename Value< Shape<TValue, FixedGappedShape<TSpec> > >::Type
+       hashUpper(Shape<TValue, FixedGappedShape<TSpec> > &me, TIter it, TSize charsLeft)
+       {
+       SEQAN_CHECKPOINT
+               typedef typename Value< Shape<TValue, FixedGappedShape<TSpec> > >::Type THValue;
+
+               TSize iEnd = me.weight;
+               if (iEnd > charsLeft) iEnd = charsLeft;
+
+               TSize i = 0;
+               if (iEnd > 0) {
+                       me.hValue = ordValue((TValue)*it);
+                       --iEnd;
+                       for(; i < iEnd; ++i) {
+                               goFurther(it, me.diffs[i]);
+                               me.hValue = me.hValue * ValueSize<TValue>::VALUE + ordValue((TValue)*it);
+                       }
+                       ++i;
+                       ++me.hValue;
+               } else
+                       return me.hValue = 1;
+
+               // fill shape with zeros
+               for(; i < (TSize)me.weight; ++i)
+                       me.hValue *= ValueSize<TValue>::VALUE;
+               return me.hValue;
+       }
+
+//____________________________________________________________________________
+
+       template <typename THValue, typename TValue, typename TIter>
+       inline THValue
+       _hashHardwiredShape(THValue hash, TIter &, TValue const, HardwiredShape<
+               0,0,0,0,0,
+               0,0,0,0,0,
+               0,0,0,0,0,
+               0,0,0,0,0 > const)
+       {
+               return hash;
+       }
+
+       template <
+                        int P01, int P02, int P03, int P04,
+               int P05, int P06, int P07, int P08, int P09,
+               int P10, int P11, int P12, int P13, int P14,
+               int P15, int P16, int P17, int P18, int P19,
+               typename THValue, typename TValue, typename TIter
+       >
+       inline THValue
+       _hashHardwiredShape(THValue hash, TIter &it, TValue const, HardwiredShape<
+                1 ,P01,P02,P03,P04,
+               P05,P06,P07,P08,P09,
+               P10,P11,P12,P13,P14,
+               P15,P16,P17,P18,P19 > const)
+       {
+               ++it;
+               return _hashHardwiredShape(hash * ValueSize<TValue>::VALUE + ordValue((TValue)*it),
+                       it, TValue(), HardwiredShape<
+                               P01,P02,P03,P04,P05,
+                               P06,P07,P08,P09,P10,
+                               P11,P12,P13,P14,P15,
+                               P16,P17,P18,P19, 0 >());
+       }
+
+       template <
+               int P00, int P01, int P02, int P03, int P04,
+               int P05, int P06, int P07, int P08, int P09,
+               int P10, int P11, int P12, int P13, int P14,
+               int P15, int P16, int P17, int P18, int P19,
+               typename THValue, typename TValue, typename TIter
+       >
+       inline THValue
+       _hashHardwiredShape(THValue hash, TIter &it, TValue const, HardwiredShape<
+               P00,P01,P02,P03,P04,
+               P05,P06,P07,P08,P09,
+               P10,P11,P12,P13,P14,
+               P15,P16,P17,P18,P19 > const)
+       {
+               it += P00;
+               return _hashHardwiredShape(hash * ValueSize<TValue>::VALUE + ordValue((TValue)*it),
+                       it, TValue(), HardwiredShape<
+                               P01,P02,P03,P04,P05,
+                               P06,P07,P08,P09,P10,
+                               P11,P12,P13,P14,P15,
+                               P16,P17,P18,P19, 0 >());
+       }
+
+       template <
+               int P00, int P01, int P02, int P03, int P04,
+               int P05, int P06, int P07, int P08, int P09,
+               int P10, int P11, int P12, int P13, int P14,
+               int P15, int P16, int P17, int P18, int P19,
+               typename TValue, typename TIter
+       >
+       inline typename Value< Shape<TValue, FixedGappedShape< HardwiredShape<
+               P00,P01,P02,P03,P04,
+               P05,P06,P07,P08,P09,
+               P10,P11,P12,P13,P14,
+               P15,P16,P17,P18,P19 
+       > > > >::Type
+       hash(Shape<TValue, FixedGappedShape< HardwiredShape<
+               P00,P01,P02,P03,P04,
+               P05,P06,P07,P08,P09,
+               P10,P11,P12,P13,P14,
+               P15,P16,P17,P18,P19 
+       > > > &me, TIter it)
+       {
+       SEQAN_CHECKPOINT
+               typedef HardwiredShape<
+                       P00,P01,P02,P03,P04,
+                       P05,P06,P07,P08,P09,
+                       P10,P11,P12,P13,P14,
+                       P15,P16,P17,P18,P19 >                                                           TSpec;
+               typedef FixedGappedShape<TSpec>                                                 TShape;
+               typedef typename Value< Shape<TValue, TShape> >::Type   THValue;
+
+               me.hValue = (THValue)ordValue((TValue)*it);
+               return me.hValue = _hashHardwiredShape(me.hValue, it, TValue(), TSpec());
+       }
+
+//____________________________________________________________________________
+
+       template <typename TValue, typename TSpec, typename TIter>
+       inline typename Value< Shape<TValue, FixedGappedShape<TSpec> > >::Type
+       hashNext(Shape<TValue, FixedGappedShape<TSpec> > &me, TIter it) 
+       {
+       SEQAN_CHECKPOINT
+               return hash(me, it);
+       }
+
+
+//____________________________________________________________________________
+
+/**.Function.stringToShape:
+..cat:Index
+..summary:Takes a shape given as a string of '1' (relevant position) and '0' 
+(irrelevant position) and converts it into a Shape object.
+..signature:stringToShape(shape, bitmap)
+..param.shape:Shape object that is manipulated.
+...type:Spec.GappedShape
+..param.bitmap:A character string of '1' and '0' representing relevant and irrelevant positions (blanks) respectively.
+...remarks:This string must begin with a '1'.
+...type:Class.String
+*/
+
+       template <typename TValue, typename TSpec, typename TShapeString>
+       inline void
+       stringToShape(
+               Shape<TValue, FixedGappedShape<TSpec> > &me, 
+               TShapeString const &bitmap)
+       {
+       SEQAN_CHECKPOINT
+               typedef typename Iterator<TShapeString const>::Type             TIter;
+               typedef typename Iterator<String<int> >::Type                   TShapeIter;
+
+               me.span = length(bitmap);
+
+               unsigned oneCount = 0;
+               TIter it = begin(bitmap, Standard());
+               TIter itEnd = end(bitmap, Standard());
+               for(; it != itEnd; ++it)
+                       if (*it == '1')
+                               ++oneCount;
+
+               me.weight = oneCount;
+               resize(me.diffs, oneCount);
+
+               unsigned diff = 0;
+               it = begin(bitmap, Standard());
+               TShapeIter itS = begin(me.diffs, Standard());
+               for(; it != itEnd; ++it) {
+                       if (*it == '1') {
+                               *itS = diff;
+                               ++itS;
+                               diff = 0;
+                       }
+                       ++diff;
+               }
+       }
+
+}      // namespace seqan
+
+#endif
diff --git a/SeqAn-1.1/seqan/index/shape_predefined.h b/SeqAn-1.1/seqan/index/shape_predefined.h
new file mode 100644 (file)
index 0000000..a46da60
--- /dev/null
@@ -0,0 +1,114 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de 
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: shape_predefined.h,v 1.1 2008/08/25 16:20:05 langmead Exp $
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_SHAPE_PREDEFINED_H
+#define SEQAN_HEADER_SHAPE_PREDEFINED_H
+
+//SEQAN_NO_GENERATED_FORWARDS: no forwards are generated for this file
+
+namespace SEQAN_NAMESPACE_MAIN
+{
+
+       //////////////////////////////////////////////////////////////////////////////
+       // some predefined gapped shapes
+
+
+       //////////////////////////////////////////////////////////////////////////////
+       // Single seed of
+       // B.Ma and J.Tromp and M.Li, 
+       // "PatternHunter: faster and more sensitive homology search"
+       // Bioinformatics 18, 2002
+       //
+       // weight:11 
+       // length:18
+       // 
+       // shape:
+       // 111010010100110111
+
+       typedef FixedGappedShape< 
+               HardwiredShape< 1, 1, 2, 3, 2, 3, 1, 2, 1, 1 > 
+       > ShapePatternHunter;
+
+
+
+       //////////////////////////////////////////////////////////////////////////////
+       // Multiple seeds of
+       // L.Ilie and S.Ilie, "Fast Computation of Good Multiple Spaced Seeds"
+       // WABI, 2007
+       //
+       // weight:9 
+       // length:15 
+       //
+       // shapes:
+       // 111010100100111
+       // 110100110011101
+       // 111010001011011
+       //
+       // sensitivity:
+       // 65% 0.747975         70% 0.897741
+       // 75% 0.973134         80% 0.996226
+
+       typedef FixedGappedShape< 
+               HardwiredShape< 1, 1, 2, 2, 3, 3, 1, 1 > 
+       > ShapeIlie_9_15_1;
+
+       typedef FixedGappedShape< 
+               HardwiredShape< 1, 2, 3, 1, 3, 1, 1, 2 > 
+       > ShapeIlie_9_15_2;
+
+       typedef FixedGappedShape< 
+               HardwiredShape< 1, 1, 2, 4, 2, 1, 2, 1 > 
+       > ShapeIlie_9_15_3;
+
+
+
+       //////////////////////////////////////////////////////////////////////////////
+       // Multiple seeds of
+       // L.Ilie and S.Ilie, "Fast Computation of Good Multiple Spaced Seeds"
+       // WABI 2007
+       //
+       // weight:9 
+       // length:13..23 
+       //
+       // shapes:
+       // 1110110100111
+       // 11010000110010111
+       // 11100010010000101011
+       //
+       // sensitivity:
+       // 65% 0.767413         70% 0.910949
+       // 75% 0.978558         80% 0.997357
+
+       typedef FixedGappedShape< 
+               HardwiredShape< 1, 1, 2, 1, 2, 3, 1, 1 > 
+       > ShapeIlie_9_1323_1;
+
+       typedef FixedGappedShape< 
+               HardwiredShape< 1, 2, 5, 1, 3, 2, 1, 1 > 
+       > ShapeIlie_9_1323_2;
+
+       typedef FixedGappedShape< 
+               HardwiredShape< 1, 1, 4, 3, 5, 2, 2, 1 > 
+       > ShapeIlie_9_1323_3;
+
+
+}      // namespace seqan
+
+#endif
diff --git a/SeqAn-1.1/seqan/platform.h b/SeqAn-1.1/seqan/platform.h
new file mode 100644 (file)
index 0000000..d032011
--- /dev/null
@@ -0,0 +1,27 @@
+#define PLATFORM "gcc"
+
+#ifndef PLATFORM_GCC
+  #define PLATFORM_GCC
+#endif
+
+// should be set before including anything
+#ifndef _FILE_OFFSET_BITS
+  #define _FILE_OFFSET_BITS 64
+#endif
+
+#ifndef _LARGEFILE_SOURCE
+  #define _LARGEFILE_SOURCE
+#endif
+
+//#include <unistd.h>
+#include <inttypes.h>
+
+#define finline __inline__
+
+// default 64bit type
+#ifndef __int64
+typedef int64_t __int64;
+#endif
+
+//define SEQAN_SWITCH_USE_FORWARDS to use generated forwards 
+#define SEQAN_SWITCH_USE_FORWARDS
diff --git a/SeqAn-1.1/seqan/sequence.h b/SeqAn-1.1/seqan/sequence.h
new file mode 100644 (file)
index 0000000..99c4a4f
--- /dev/null
@@ -0,0 +1,65 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de 
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: sequence.h,v 1.1 2008/08/25 16:20:06 langmead Exp $
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_SEQUENCE_H
+#define SEQAN_HEADER_SEQUENCE_H
+
+//____________________________________________________________________________
+// prerequisites
+
+#include <seqan/basic.h>
+
+//____________________________________________________________________________
+
+#include <seqan/sequence/sequence_forwards.h>
+
+#ifdef SEQAN_SWITCH_USE_FORWARDS
+#include <seqan/sequence/sequence_generated_forwards.h>
+#endif
+
+#include <seqan/sequence/sequence_interface.h>
+#include <seqan/sequence/lexical.h>
+
+//____________________________________________________________________________
+// segments (suffix, ...)
+
+#include <seqan/sequence/segment_base.h>
+#include <seqan/sequence/segment_infix.h>
+#include <seqan/sequence/segment_suffix.h>
+#include <seqan/sequence/segment_prefix.h>
+
+//____________________________________________________________________________
+// strings
+
+#include <seqan/sequence/string_base.h>
+#include <seqan/sequence/string_pointer.h>
+#include <seqan/sequence/string_alloc.h>
+#include <seqan/sequence/string_array.h>
+#include <seqan/sequence/string_cstyle.h>
+#include <seqan/sequence/string_stack.h>
+#include <seqan/sequence/string_packed.h>
+#include <seqan/sequence/string_value_expand.h>
+
+#include <seqan/sequence/std_string.h>
+
+#include <seqan/sequence/sequence_multiple.h>
+#include <seqan/sequence/sequence_shortcuts.h>
+
+#endif //#ifndef SEQAN_HEADER_...
diff --git a/SeqAn-1.1/seqan/sequence/lexical.h b/SeqAn-1.1/seqan/sequence/lexical.h
new file mode 100644 (file)
index 0000000..f73cc97
--- /dev/null
@@ -0,0 +1,787 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de 
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: lexical.h,v 1.1 2008/08/25 16:20:04 langmead Exp $
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_LEXICAL_H
+#define SEQAN_HEADER_LEXICAL_H
+
+
+namespace SEQAN_NAMESPACE_MAIN
+{
+//////////////////////////////////////////////////////////////////////////////
+// Switches for prefix ordering mode
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Tag.Prefix Order:
+..summary:Specify whether a prefix is smaller or greater.
+..tag.TagPrefixLess:A prefix is smaller.
+...text:For example: $"abc" < "abcde"$.
+..tag.TagPrefixGreater:A prefix is greater.
+...text:For example: $"abc" > "abcde"$.
+..remarks:The default for all comparison functions is $TagPrefixLess$.
+*/
+struct TagPrefixLess_ {};
+typedef Tag<TagPrefixLess_> const TagPrefixLess;
+
+struct TagPrefixGreater_ {};
+typedef Tag<TagPrefixGreater_> const TagPrefixGreater;
+
+
+/**
+.Metafunction.DefaultPrefixOrder:
+..hidefromindex
+..summary:The default prefix order.
+..signature:DefaultPrefixOrder<T>::Type
+..param.T:Type for which the prefix order is determined.
+..returns.param.Type:Prefix order tag for type of $T$.
+..see:Tag.Prefix Order
+*/
+template <typename T>
+struct DefaultPrefixOrder
+{
+       typedef TagPrefixLess Type;
+};
+
+//////////////////////////////////////////////////////////////////////////////
+// Lexical
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Class.Lexical:
+..cat:Basic
+..summary:Comparator for lexical comparison.
+..signature:Lexical<TSpec>
+..param.TSpec:The specializing type.
+...metafunction:Metafunction.Spec
+...text:This type can be used for specializations of $Lexical$.
+...remarks:$TSpec$ is by default interpreted as size-type.
+...default:$size_t$
+..remarks:
+...text:This class implement comparator objects that perform (lexical) comparisons between two sequences.
+The result of the comparison is stored in the data members of the instance an can be
+accessed by some functions, for example @Function.isLess@ or @Function.isEqual@.
+...text:In most cases, there is no need for an explicite use of comparators,
+but sometimes this concept provide the opportunity to speed up the code.
+..example:
+...text:This program compares the strings $str1$ and $str2$:
+...code:if (isLess(str1, str2)) //first comparison
+{
+       //str1 < str2
+}
+else if (isGreater(str1, str2)) //second comparison
+{
+       //str1 > str2
+}
+else
+{
+       //str == str2
+}
+...text:Using a comparator, the same program only needs one comparison instead of two:
+...code:Lexical <> comparator(str1, str2); //comparison is executed here
+if (isLess(comparator))
+{
+       //str1 < str2
+}
+else if (lexGreater(comparator))
+{
+       //str1 > str2
+}
+else
+{
+       //str == str2
+}
+...text:The state of a default constructed $Lexical$ instance is undefined until
+it is set by a call of @Function.compare@.
+..see:Metafunction.Comparator
+*/
+
+template <typename TSpec = size_t>
+struct Lexical
+{
+public:
+       typename Size<Lexical>::Type data_lcp;
+       char data_compare;
+
+public:
+       Lexical()
+       {
+SEQAN_CHECKPOINT
+       }
+
+       template <typename TLeft, typename TRight>
+       Lexical(TLeft const & left, TRight const & right)
+       {
+SEQAN_CHECKPOINT
+               compare(*this, left, right);
+       }
+
+       Lexical(Lexical const & other):
+               data_lcp(other.data_lcp),
+               data_compare(other.data_compare)
+       {
+SEQAN_CHECKPOINT
+       };
+
+       Lexical & operator=(Lexical const & other)
+       {
+SEQAN_CHECKPOINT
+               data_compare = other.data_compare;
+               data_lcp = other.data_lcp;
+               return *this;
+       }
+
+       ~Lexical() {}
+//____________________________________________________________________________
+
+       enum
+       {
+               EQUAL = 1,
+               LESS = 2,
+               GREATER = 4,
+               LEFT_IS_PREFIX = 8,
+               RIGHT_IS_PREFIX = 16
+       };
+};
+
+
+//////////////////////////////////////////////////////////////////////////////
+// Metafunctions
+//////////////////////////////////////////////////////////////////////////////
+// Comparator: returns object that can compare objects of type T
+
+/**
+.Metafunction.Comparator:
+..summary:Type of comparator object
+..signature:Comparator<T>::Type
+..param.T:Type for which the comparator type is to be determined.
+..returns.param.Type:Comparator type
+..remarks:Comparators are objects that can be used to compare other objects and store the
+result of comparisons.
+*/
+template <typename T>
+struct Comparator
+{
+       typedef Lexical<typename Size<T>::Type> Type;
+};
+
+//////////////////////////////////////////////////////////////////////////////
+// Size
+
+template <typename TSpec>
+struct Size<Lexical<TSpec> >
+{
+       typedef TSpec Type;
+};
+
+template <typename TSpec>
+struct Size<Lexical<TSpec> const>
+{
+       typedef TSpec Type;
+};
+
+//////////////////////////////////////////////////////////////////////////////
+// Spec
+
+template <typename TSpec>
+struct Spec<Lexical<TSpec> >
+{
+       typedef TSpec Type;
+};
+
+template <typename TSpec>
+struct Spec<Lexical<TSpec> const>
+{
+       typedef TSpec Type;
+};
+
+
+//////////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////////
+// compare
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Function.compare:
+..cat:Comparisons
+..summary:Compares two objects.
+..signature:compare(comparator, left, right)
+..param.left:The first objects.
+..param.right:The second objects that is compared to $left$.
+..param.comparator:Object that stores the results.
+...type:Class.Lexical
+..see:Metafunction.Comparator
+*/
+
+template <typename TSpec, typename TLeft, typename TRight>
+inline void
+compare_(Lexical<TSpec> & lexical, 
+                TLeft & left, 
+                TRight & right)
+{
+SEQAN_CHECKPOINT
+       typedef typename Value<TLeft>::Type TLeftValue;
+
+       typename Iterator<TLeft, Standard>::Type left_it = begin(left, Standard());
+       typename Size<TLeft>::Type left_length = length(left);
+       typename Iterator<TRight, Standard>::Type right_it = begin(right, Standard());
+       typename Size<TRight>::Type right_length = length(right);
+
+       if (left_length == right_length) lexical.data_compare = Lexical<TSpec>::EQUAL;
+       else if (left_length < right_length) lexical.data_compare = Lexical<TSpec>::LEFT_IS_PREFIX;
+       else
+       {
+               lexical.data_compare = Lexical<TSpec>::RIGHT_IS_PREFIX;
+               left_length = right_length;
+       }
+
+       lexical.data_lcp = 0;
+       for (lexical.data_lcp = 0; lexical.data_lcp < left_length; ++lexical.data_lcp)
+       {
+               if (*left_it < *right_it)
+               {
+                       lexical.data_compare = Lexical<TSpec>::LESS;
+                       break;
+               }
+               if (*left_it > *right_it)
+               {
+                       lexical.data_compare = Lexical<TSpec>::GREATER;
+                       break;
+               }
+               ++left_it;
+               ++right_it;
+       }
+}
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TSpec, typename TLeft, typename TRight>
+inline void
+compare(Lexical<TSpec> & lexical, 
+               TLeft const & left, 
+               TRight const & right)
+{
+       compare_(lexical, left, right);
+}
+
+//workaround for VC++ "const arrays" bug
+template <typename TSpec, typename TLeftValue, typename TRight>
+inline void
+compare(Lexical<TSpec> & lexical, 
+               TLeftValue const * left, 
+               TRight const & right)
+{
+       compare_(lexical, left, right);
+}
+template <typename TSpec, typename TLeftValue, typename TRightValue>
+inline void
+compare(Lexical<TSpec> & lexical, 
+               TLeftValue const * left, 
+               TRightValue const * right)
+{
+       compare_(lexical, left, right);
+}
+template <typename TSpec, typename TLeft, typename TRightValue>
+inline void
+compare(Lexical<TSpec> & lexical, 
+               TLeft const & left, 
+               TRightValue const * right)
+{
+       compare_(lexical, left, right);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// isEqual
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Function.isEqual:
+..cat:Comparisons
+..summary:Operator "==".
+..signature:isEqual(left, right)
+..signature:isEqual(comparator)
+..param.left:The first parameter.
+..param.right:The second parameter that is compared to $left$.
+..param.comparator:A comparator.
+...type:Class.Lexical
+..returns:$true$ if $left$ equals $right$, $false$ otherwise.
+..see:Metafunction.Comparator
+*/
+template <typename TLeft, typename TRight >
+inline bool
+isEqual(TLeft const & left, 
+               TRight const & right)
+{
+SEQAN_CHECKPOINT
+       return left == right;
+}
+
+template <typename TSpec>
+inline bool
+isEqual(Lexical<TSpec> const & _lex)
+{
+SEQAN_CHECKPOINT
+       return (_lex.data_compare & Lexical<TSpec>::EQUAL);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// isNotEqual
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Function.isNotEqual:
+..cat:Comparisons
+..summary:Operator "!=".
+..signature:isNotEqual(left, right)
+..signature:isNotEqual(comparator)
+..param.left:The first parameter.
+..param.right:The second parameter that is compared to $left$.
+..param.comparator:A comparator.
+...type:Class.Lexical
+..returns:$true$ if $left$ is not equal to $right$, $false$ otherwise.
+..see:Metafunction.Comparator
+*/
+template <typename TLeft, typename TRight >
+inline bool
+isNotEqual(TLeft const & left, 
+                TRight const & right)
+{
+SEQAN_CHECKPOINT
+       return left != right;
+}
+
+template <typename TSpec>
+inline bool
+isNotEqual(Lexical<TSpec> const & _lex)
+{
+SEQAN_CHECKPOINT
+       return !(_lex.data_compare & Lexical<TSpec>::EQUAL);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// isLess
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Function.isLess:
+..cat:Comparisons
+..summary:Operator "<".
+..signature:isLess(left, right [, prefix_order_tag])
+..signature:isLess(comparator)
+..param.left:The first parameter.
+..param.right:The second parameter that is compared to $left$.
+..param.prefix_order_tag:Tag that specify whether prefixes are less or greater. (optional)
+...text:If omitted, the default tag is determined by @Metafunction.DefaultPrefixOrder@ for the type of $left$.
+...see:Tag.Prefix Order
+..param.comparator:A comparator.
+...type:Class.Lexical
+..returns:$true$ if $left$ is less than $right$, $false$ otherwise.
+..see:Metafunction.Comparator
+..remarks:
+...text:Sequences are compared in lexicographical order.
+..see:Tag.Prefix Order
+..see:Metafunction.DefaultPrefixOrder
+*/
+template <typename TLeft, typename TRight, typename TPrefixOrder >
+inline bool
+isLess(TLeft const & left, 
+          TRight const & right,
+          Tag<TPrefixOrder> const tag)
+{
+SEQAN_CHECKPOINT
+       typename Comparator<TLeft>::Type _lex(left, right);
+    return isLess(_lex, tag);
+}
+template <typename TLeft, typename TRight>
+inline bool
+isLess(TLeft const & left, 
+          TRight const & right)
+{
+SEQAN_CHECKPOINT
+       return left < right;
+}
+
+template <typename TSpec>
+inline bool
+isLess(Lexical<TSpec> const & _lex,
+          TagPrefixLess)
+{
+SEQAN_CHECKPOINT
+   return (_lex.data_compare & (Lexical<TSpec>::LESS | Lexical<TSpec>::LEFT_IS_PREFIX));
+}
+template <typename TSpec>
+inline bool
+isLess(Lexical<TSpec> const & _lex,
+          TagPrefixGreater)
+{
+SEQAN_CHECKPOINT
+   return (_lex.data_compare & (Lexical<TSpec>::LESS | Lexical<TSpec>::RIGHT_IS_PREFIX));
+}
+template <typename TSpec>
+inline bool
+isLess(Lexical<TSpec> const & _lex)
+{
+SEQAN_CHECKPOINT
+       return isLess(_lex, typename DefaultPrefixOrder< Lexical<TSpec> >::Type());
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// isLessOrEqual
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Function.isLessOrEqual:
+..cat:Comparisons
+..summary:Operator "<=".
+..signature:isLessOrEqual(left, right [, prefix_order_tag])
+..signature:isLessOrEqual(comparator)
+..param.left:The first parameter.
+..param.right:The second parameter that is compared to $left$.
+..param.prefix_order_tag:Tag that specify whether prefixes are less or greater. (optional)
+...text:If omitted, the default tag is determined by @Metafunction.DefaultPrefixOrder@ for the type of $left$.
+...see:Tag.Prefix Order
+..param.comparator:A comparator.
+...type:Class.Lexical
+..returns:$true$ if $left$ is less than or equal to $right$, $false$ otherwise.
+..see:Metafunction.Comparator
+..remarks:
+...text:Sequences are compared in lexicographical order.
+..see:Tag.Prefix Order
+..see:Metafunction.DefaultPrefixOrder
+*/
+
+template <typename TLeft, typename TRight, typename TPrefixOrder >
+inline bool
+isLessOrEqual(TLeft const & left, 
+               TRight const & right,
+               Tag<TPrefixOrder> const tag)
+{
+SEQAN_CHECKPOINT
+       typename Comparator<TLeft>::Type _lex(left, right);
+    return isLessOrEqual(_lex, tag);
+}
+template <typename TLeft, typename TRight>
+inline bool
+isLessOrEqual(TLeft const & left, 
+               TRight const & right)
+{
+SEQAN_CHECKPOINT
+       return left <= right;
+}
+
+template <typename TSpec>
+inline bool
+isLessOrEqual(Lexical<TSpec> const & _lex,
+               TagPrefixLess)
+{
+SEQAN_CHECKPOINT
+   return (_lex.data_compare & (Lexical<TSpec>::LESS | Lexical<TSpec>::EQUAL | Lexical<TSpec>::LEFT_IS_PREFIX));
+}
+template <typename TSpec>
+inline bool
+isLessOrEqual(Lexical<TSpec> const & _lex,
+               TagPrefixGreater)
+{
+SEQAN_CHECKPOINT
+   return (_lex.data_compare & (Lexical<TSpec>::LESS | Lexical<TSpec>::EQUAL | Lexical<TSpec>::RIGHT_IS_PREFIX));
+}
+template <typename TSpec>
+inline bool
+isLessOrEqual(Lexical<TSpec> const & _lex)
+{
+SEQAN_CHECKPOINT
+       return isLessOrEqual(_lex, typename DefaultPrefixOrder< Lexical<TSpec> >::Type());
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// isGreater
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Function.isGreater:
+..cat:Comparisons
+..summary:Operator ">".
+..signature:isGreater(left, right [, prefix_order_tag])
+..signature:isGreater(comparator)
+..param.left:The first parameter.
+..param.right:The second parameter that is compared to $left$.
+..param.prefix_order_tag:Tag that specify whether prefixes are less or greater. (optional)
+...text:If omitted, the default tag is determined by @Metafunction.DefaultPrefixOrder@ for the type of $left$.
+...see:Tag.Prefix Order
+..param.comparator:A comparator.
+...type:Class.Lexical
+..returns:$true$ if $left$ is greater than $right$, $false$ otherwise.
+..see:Metafunction.Comparator
+..remarks:
+...text:Sequences are compared in lexicographical order.
+..see:Tag.Prefix Order
+..see:Metafunction.DefaultPrefixOrder
+*/
+template <typename TLeft, typename TRight, typename TPrefixOrder >
+inline bool
+isGreater(TLeft const & left, 
+               TRight const & right,
+               Tag<TPrefixOrder> const tag)
+{
+SEQAN_CHECKPOINT
+       typename Comparator<TLeft>::Type _lex(left, right);
+    return isGreater(_lex, tag);
+}
+template <typename TLeft, typename TRight>
+inline bool
+isGreater(TLeft const & left, 
+               TRight const & right)
+{
+SEQAN_CHECKPOINT
+       return left > right;
+}
+
+template <typename TSpec>
+inline bool
+isGreater(Lexical<TSpec> const & _lex,
+               TagPrefixLess)
+{
+SEQAN_CHECKPOINT
+   return (_lex.data_compare & (Lexical<TSpec>::GREATER | Lexical<TSpec>::RIGHT_IS_PREFIX));
+}
+template <typename TSpec>
+inline bool
+isGreater(Lexical<TSpec> const & _lex,
+               TagPrefixGreater)
+{
+SEQAN_CHECKPOINT
+   return (_lex.data_compare & (Lexical<TSpec>::GREATER | Lexical<TSpec>::LEFT_IS_PREFIX));
+}
+template <typename TSpec>
+inline bool
+isGreater(Lexical<TSpec> const & _lex)
+{
+SEQAN_CHECKPOINT
+       return isGreater(_lex, typename DefaultPrefixOrder< Lexical<TSpec> >::Type());
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// isGreaterOrEqual
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Function.isGreaterOrEqual:
+..cat:Comparisons
+..summary:Operator ">=".
+..signature:isGreaterOrEqual(left, right [, prefix_order_tag])
+..signature:isGreaterOrEqual(comparator)
+..param.left:The first parameter.
+..param.right:The second parameter that is compared to $left$.
+..param.prefix_order_tag:Tag that specify whether prefixes are less or greater. (optional)
+...text:If omitted, the default tag is determined by @Metafunction.DefaultPrefixOrder@ for the type of $left$.
+...see:Tag.Prefix Order
+..param.comparator:A comparator.
+...type:Class.Lexical
+..returns:$true$ if $left$ is greater than or equal to $right$, $false$ otherwise.
+..see:Metafunction.Comparator
+..remarks:
+...text:Sequences are compared in lexicographical order.
+..see:Tag.Prefix Order
+..see:Metafunction.DefaultPrefixOrder
+*/
+
+template <typename TLeft, typename TRight, typename TPrefixOrder >
+inline bool
+isGreaterOrEqual(TLeft const & left, 
+               TRight const & right,
+               Tag<TPrefixOrder> const tag)
+{
+SEQAN_CHECKPOINT
+       typename Comparator<TLeft>::Type _lex(left, right);
+    return isGreaterOrEqual(_lex, tag);
+}
+template <typename TLeft, typename TRight>
+inline bool
+isGreaterOrEqual(TLeft const & left, 
+               TRight const & right)
+{
+SEQAN_CHECKPOINT
+       return left >= right;
+}
+
+template <typename TSpec>
+inline bool
+isGreaterOrEqual(Lexical<TSpec> const & _lex,
+               TagPrefixLess)
+{
+SEQAN_CHECKPOINT
+   return (_lex.data_compare & (Lexical<TSpec>::GREATER | Lexical<TSpec>::EQUAL | Lexical<TSpec>::RIGHT_IS_PREFIX));
+}
+template <typename TSpec>
+inline bool
+isGreaterOrEqual(Lexical<TSpec> const & _lex,
+               TagPrefixGreater)
+{
+SEQAN_CHECKPOINT
+   return (_lex.data_compare & (Lexical<TSpec>::GREATER | Lexical<TSpec>::EQUAL | Lexical<TSpec>::LEFT_IS_PREFIX));
+}
+template <typename TSpec>
+inline bool
+isGreaterOrEqual(Lexical<TSpec> const & _lex)
+{
+SEQAN_CHECKPOINT
+       return isGreaterOrEqual(_lex, typename DefaultPrefixOrder< Lexical<TSpec> >::Type());
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// isPrefix
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Function.isPrefix:
+..cat:Comparisons
+..summary:Test whether a sequence is prefix of another sequence.
+..signature:isPrefix(left, right)
+..signature:isPrefix(comparator)
+..param.left:The first sequence, the putative prefix.
+..param.right:The second sequence.
+..param.comparator:A comparator.
+...type:Class.Lexical
+..returns:$true$ if $left$ is a prefix of $right$, $false$ otherwise.
+..see:Metafunction.Comparator
+..remarks:By definition, the whole sequence is a prefix of itself too: $isPrefix("abc", "abc") == true$.
+*/
+
+template <typename TLeft, typename TRight >
+inline bool
+isPrefix(TLeft const & left, 
+               TRight const & right)
+{
+SEQAN_CHECKPOINT
+       typename Comparator<TLeft>::Type _lex(left, right);
+    return isPrefix(_lex);
+}
+template <typename TSpec>
+inline bool
+isPrefix(Lexical<TSpec> const & _lex)
+{
+SEQAN_CHECKPOINT
+    return (_lex.data_compare & (Lexical<TSpec>::LEFT_IS_PREFIX | Lexical<TSpec>::EQUAL));
+}
+
+
+//////////////////////////////////////////////////////////////////////////////
+// hasPrefix
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Function.hasPrefix:
+..cat:Comparisons
+..summary:Test whether a sequence is prefix of another sequence.
+..signature:hasPrefix(left, right)
+..signature:hasPrefix(comparator)
+..param.left:The first sequence.
+..param.right:The second sequence, the putative prefix.
+..param.comparator:A comparator.
+...type:Class.Lexical
+..returns:$true$ if $right$ is a prefix of $left$, $false$ otherwise.
+..see:Metafunction.Comparator
+..see:Function.isPrefix
+..remarks:By definition, the whole sequence is a prefix of itself too: $hasPrefix("abc", "abc") == true$.
+*/
+
+template <typename TLeft, typename TRight >
+inline bool
+hasPrefix(TLeft const & left, 
+               TRight const & right)
+{
+SEQAN_CHECKPOINT
+       typename Comparator<TLeft>::Type _lex(left, right);
+    return hasPrefix(_lex);
+}
+template <typename TSpec>
+inline bool
+hasPrefix(Lexical<TSpec> const & _lex)
+{
+SEQAN_CHECKPOINT
+    return (_lex.data_compare & (Lexical<TSpec>::RIGHT_IS_PREFIX | Lexical<TSpec>::EQUAL));
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// lcpLength
+//////////////////////////////////////////////////////////////////////////////
+/**
+.Function.lcpLength:
+..summary:Length of longest common prefix.
+..cat:Comparisons
+..signature:lcpLength(left, right)
+..signature:lcpLength(comparator)
+..param.left:The first sequence.
+..param.right:The second sequence that is compared to $left$.
+..param.comparator:A comparator.
+...type:Class.Lexical
+..returns:The length of the longest common prefix of $left$ and $right$.
+..see:Metafunction.Comparator
+*/
+template <typename TLeft, typename TRight >
+inline typename Size<TLeft>::Type
+lcpLength(TLeft const & left, TRight const & right)
+{
+SEQAN_CHECKPOINT
+       typename Comparator<TLeft>::Type _lex(left, right);
+    return lcpLength(_lex);
+}
+
+template <typename TSpec>
+inline typename Size< Lexical<TSpec> >::Type
+lcpLength(Lexical<TSpec> const & _lex)
+{
+SEQAN_CHECKPOINT
+    return _lex.data_lcp;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// lcpLength
+//////////////////////////////////////////////////////////////////////////////
+/**
+.Function.ordValue:
+..summary:Maps an alphabet 1-to-1 to the interval [0..ValueSize).
+..cat:Alphabets
+..signature:ordValue(value)
+..param.value:Arbitrary character value.
+...type:Class.SimpleType
+..returns:An $unsigned int$ between 0 and @Metafunction.ValueSize@ of the type of value.
+..note:This function first converts value to its unsigned value type and after that to an $unsigned int$.
+You can't use $(unsigned int)c$ for a character $c$ as on some systems $char$ is signed and a $-1$ would be mapped to $0xffffffff$ instead of $0x000000ff$.
+*/
+
+template <typename TValue>
+inline unsigned ordValue(TValue const &c) 
+{
+       return (typename _MakeUnsigned<TValue>::Type const &)c;
+}
+
+template <typename TValue, typename TSpec>
+inline unsigned ordValue(SimpleType<TValue,TSpec> const &c) 
+{
+       return c;
+}
+
+
+
+//////////////////////////////////////////////////////////////////////////////
+
+
+} //namespace SEQAN_NAMESPACE_MAIN
+
+#endif //#ifndef SEQAN_HEADER_...
diff --git a/SeqAn-1.1/seqan/sequence/segment_base.h b/SeqAn-1.1/seqan/sequence/segment_base.h
new file mode 100644 (file)
index 0000000..af45a2e
--- /dev/null
@@ -0,0 +1,1181 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de 
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: segment_base.h,v 1.1 2008/08/25 16:20:04 langmead Exp $
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_SEGMENT_BASE_H
+#define SEQAN_HEADER_SEGMENT_BASE_H
+
+
+namespace SEQAN_NAMESPACE_MAIN
+{
+
+//////////////////////////////////////////////////////////////////////////////
+// Segment
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Class.Segment:
+..cat:Sequences
+..summary:A contiguous part of a sequence.
+..signature:Segment<THost, TSpec>
+..param.THost:Type of the whole sequence.
+...metafunction:Metafunction.Host
+...text:Instances of $Segment<THost, TSpec>$ are subsequences of $THost$ objects.
+..param.TSpec:The specializing type.
+...metafunction:Metafunction.Spec
+...default:@Spec.InfixSegment@.
+*/
+
+struct InfixSegment;
+
+template <typename THost, typename TSpec = InfixSegment>
+class Segment
+{
+};
+
+//////////////////////////////////////////////////////////////////////////////
+
+///.Metafunction.Host.param.T.type:Class.Segment
+
+template <typename THost, typename TSpec>
+struct Host<Segment<THost, TSpec> >
+{
+       typedef THost Type;
+};
+
+template <typename THost, typename TSpec>
+struct Host<Segment<THost, TSpec> const >
+{
+       typedef THost Type;
+};
+
+//////////////////////////////////////////////////////////////////////////////
+
+///.Metafunction.Spec.param.T.type:Class.Segment
+
+template <typename THost, typename TSpec>
+struct Spec<Segment<THost, TSpec> >
+{
+       typedef TSpec Type;
+};
+template <typename THost, typename TSpec>
+struct Spec<Segment<THost, TSpec> const>
+{
+       typedef TSpec Type;
+};
+
+//////////////////////////////////////////////////////////////////////////////
+
+///.Metafunction.Value.param.T.type:Class.Segment
+
+template <typename THost, typename TSpec>
+struct Value<Segment<THost, TSpec> >
+{
+       typedef typename Value<THost>::Type Type;
+};
+
+template <typename THost, typename TSpec>
+struct Value<Segment<THost, TSpec> const >
+{
+       typedef typename Value<THost const>::Type Type;
+};
+
+//////////////////////////////////////////////////////////////////////////////
+
+///.Metafunction.GetValue.param.T.type:Class.Segment
+
+template <typename THost, typename TSpec>
+struct GetValue<Segment<THost, TSpec> >
+{
+       typedef typename GetValue<THost>::Type Type;
+};
+
+template <typename THost, typename TSpec>
+struct GetValue<Segment<THost, TSpec> const >
+{
+       typedef typename GetValue<THost const>::Type Type;
+};
+
+//////////////////////////////////////////////////////////////////////////////
+
+///.Metafunction.Iterator.param.T.type:Class.Segment
+
+template <typename THost, typename TSpec>
+struct Iterator<Segment<THost, TSpec>, Rooted>
+{
+       typedef Segment<THost, TSpec> TSequence;
+       typedef typename Iterator<THost, Standard>::Type TIterator;
+       typedef Iter<TSequence, AdaptorIterator<TIterator> > Type;
+};
+template <typename THost, typename TSpec>
+struct Iterator<Segment<THost, TSpec> const, Rooted>
+{
+       typedef Segment<THost, TSpec> const TSequence;
+       typedef typename Iterator<THost const, Standard>::Type TIterator;
+       typedef Iter<TSequence, AdaptorIterator<TIterator> > Type;
+};
+
+template <typename THost, typename TSpec>
+struct Iterator<Segment<THost, TSpec>, Standard>:
+       Iterator<THost, Standard>
+{
+};
+template <typename THost, typename TSpec>
+struct Iterator<Segment<THost, TSpec> const, Standard>:
+       Iterator<THost, Standard>
+{
+};
+
+
+
+//////////////////////////////////////////////////////////////////////////////
+
+///.Metafunction.Size.param.T.type:Class.Segment
+
+template <typename THost, typename TSpec>
+struct Size<Segment<THost, TSpec> >
+{
+       typedef typename Size<THost>::Type Type;
+};
+
+template <typename THost, typename TSpec>
+struct Size<Segment<THost, TSpec> const >
+{
+       typedef typename Size<THost>::Type Type;
+};
+
+template <typename THost, typename TSpec>
+struct Position<Segment<THost, TSpec> >
+{
+       typedef typename Position<THost>::Type Type;
+};
+
+template <typename THost, typename TSpec>
+struct Position<Segment<THost, TSpec> const >
+{
+       typedef typename Position<THost>::Type Type;
+};
+
+//////////////////////////////////////////////////////////////////////////////
+
+///.Metafunction.DefaultOverflowImplicit.param.T.type:Class.Segment
+
+template <typename THost, typename TSpec>
+struct DefaultOverflowImplicit<Segment<THost, TSpec > >:
+       DefaultOverflowImplicit<THost>
+{
+};
+
+template <typename THost, typename TSpec>
+struct DefaultOverflowImplicit<Segment<THost, TSpec > const >:
+       DefaultOverflowImplicit<THost>
+{
+};
+
+//////////////////////////////////////////////////////////////////////////////
+
+///.Metafunction.DefaultOverflowExplicit.param.T.type:Class.Segment
+
+template <typename THost, typename TSpec>
+struct DefaultOverflowExplicit<Segment<THost, TSpec > >:
+       DefaultOverflowExplicit<THost>
+{
+};
+
+template <typename THost, typename TSpec>
+struct DefaultOverflowExplicit<Segment<THost, TSpec > const >:
+       DefaultOverflowExplicit<THost>
+{
+};
+
+//////////////////////////////////////////////////////////////////////////////
+
+///.Metafunction.IsContiguous.param.T.type:Class.Segment
+
+template <typename THost, typename TSpec>
+struct IsContiguous< Segment<THost, TSpec> >:
+       public IsContiguous<THost> {};
+
+//////////////////////////////////////////////////////////////////////////////
+
+///.Metafunction.IsSequence.param.T.type:Class.Segment
+
+template <typename THost, typename TSpec>
+struct IsSequence< Segment<THost, TSpec> > {
+    typedef True Type;
+       enum { VALUE = true };
+};
+
+//////////////////////////////////////////////////////////////////////////////
+
+///.Function.atBegin.param.iterator.type:Class.Segment
+///.Function.atEnd.param.iterator.type:Class.Segment
+///.Function.goBegin.param.iterator.type:Class.Segment
+///.Function.goEnd.param.iterator.type:Class.Segment
+///.Function.goNext.param.iterator.type:Class.Segment
+///.Function.goPrevious.param.iterator.type:Class.Segment
+///.Function.value.param.container.type:Class.Segment
+
+///.Function.shareResources.param.sequence1, sequence2.type:Class.Segment
+
+//////////////////////////////////////////////////////////////////////////////
+// functions for all Segment classes
+//////////////////////////////////////////////////////////////////////////////
+
+///.Function.id.param.object.type:Class.Segment
+
+template <typename THost, typename TSpec>
+inline void const * 
+id(Segment<THost, TSpec> const & me)
+{
+SEQAN_CHECKPOINT
+       return id(host(me));
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+///.Function.length.param.object.type:Class.Segment
+
+template <typename THost, typename TSpec>
+inline typename Size<Segment<THost, TSpec> const>::Type 
+length(Segment<THost, TSpec> const & me)
+{
+SEQAN_CHECKPOINT
+       return endPosition(me) - beginPosition(me);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+///.Function.capacity.param.object.type:Class.Segment
+
+template <typename THost, typename TSpec>
+inline typename Size< Segment<THost, TSpec> const>::Type 
+capacity(Segment<THost, TSpec> const & me)
+{
+SEQAN_CHECKPOINT
+       return capacity(host(me)) + length(me) - length(host(me));
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// assign
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Function.assign:
+..remarks:If $target$ is a @Class.Segment@ object, then
+$limit$ denotes the maximal length of @Function.host.$host(target)$@ after the operation.
+..param.target.type:Class.Segment
+..param.source.type:Class.Segment
+*/
+
+//overload of binary version for strings: 
+
+template<typename THost, typename TSpec, typename TSource>
+inline void 
+assign(Segment<THost, TSpec> & target, 
+         TSource & source)
+{
+SEQAN_CHECKPOINT
+       typedef Segment<THost, TSpec> TTarget;
+       assign(target, source, typename DefaultOverflowImplicit<TTarget>::Type());
+}
+template<typename THost, typename TSpec, typename TSource>
+inline void 
+assign(Segment<THost, TSpec> & target, 
+         TSource const & source)
+{
+SEQAN_CHECKPOINT
+       typedef Segment<THost, TSpec> TTarget;
+       assign(target, source, typename DefaultOverflowImplicit<TTarget>::Type());
+}
+
+//(for temporary targets)
+
+template<typename THost, typename TSpec, typename TSource>
+inline void 
+assign(Segment<THost, TSpec> const & target, 
+         TSource & source)
+{
+SEQAN_CHECKPOINT
+       typedef Segment<THost, TSpec> const TTarget;
+       assign(target, source, typename DefaultOverflowImplicit<TTarget>::Type());
+}
+template<typename THost, typename TSpec, typename TSource>
+inline void 
+assign(Segment<THost, TSpec> const & target, 
+         TSource const & source)
+{
+SEQAN_CHECKPOINT
+       typedef Segment<THost, TSpec> const TTarget;
+       assign(target, source, typename DefaultOverflowImplicit<TTarget>::Type());
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TExpand>
+struct _Assign_Segment
+{
+       template <typename THost, typename TSpec, typename TSource>
+       static inline void 
+       assign_(
+               Segment<THost, TSpec> & target, 
+               TSource & source)
+       {
+SEQAN_CHECKPOINT
+               if ((void *) &target == (void *) &source) return;
+
+               typedef Segment<THost, TSpec> Target;
+
+               replace(host(target), beginPosition(target), endPosition(target), source, TExpand());
+
+               typename Iterator<Target, Standard>::Type new_end = begin(target, Standard()) + length(source);
+               typename Iterator<THost, Standard>::Type host_end = end(host(target), Standard());
+               if (new_end > host_end) new_end = host_end;
+               setEnd(target, new_end);
+       }
+
+       template <typename THost, typename TSpec, typename TSource>
+       static inline void 
+       assign_(
+               Segment<THost, TSpec> & target, 
+               TSource & source, 
+               typename Size< Segment<THost, TSpec> >::Type limit)
+       {
+SEQAN_CHECKPOINT
+               if ((void *) &target == (void *) &source) return;
+
+               typedef Segment<THost, TSpec> Target;
+
+               replace(host(target), beginPosition(target), endPosition(target), source, limit, TExpand());
+
+               typename Iterator<Target, Standard>::Type new_end = begin(target, Standard()) + length(source);
+               typename Iterator<THost, Standard>::Type host_end = end(host(target), Standard());
+               if (begin(target, Standard()) > host_end) setBegin(target, host_end);
+               if (new_end > host_end) new_end = host_end;
+               setEnd(target, new_end);
+       }
+
+       template <typename THost, typename TSpec, typename TSource>
+       static inline void 
+       assign_(
+               Segment<THost, TSpec> const & target, 
+               TSource & source)
+       {
+SEQAN_CHECKPOINT
+               replace(host(target), beginPosition(target), endPosition(target), source, TExpand());
+       }
+
+       template <typename THost, typename TSpec, typename TSource>
+       static inline void 
+       assign_(
+               Segment<THost, TSpec> const & target, 
+               TSource & source, 
+               typename Size< Segment<THost, TSpec> >::Type limit)
+       {
+SEQAN_CHECKPOINT
+               replace(host(target), beginPosition(target), endPosition(target), source, limit, TExpand());
+       }
+};
+
+//____________________________________________________________________________
+
+template <typename THost, typename TSpec, typename TSource, typename TExpand>
+inline void 
+assign(Segment<THost, TSpec> & target, 
+          TSource & source, 
+          Tag<TExpand> const)
+{
+SEQAN_CHECKPOINT
+       _Assign_Segment<Tag<TExpand> const>::assign_(target, source);
+}
+template <typename THost, typename TSpec, typename TSource, typename TExpand>
+inline void 
+assign(Segment<THost, TSpec> & target, 
+          TSource const & source, 
+          Tag<TExpand> const)
+{
+SEQAN_CHECKPOINT
+       _Assign_Segment<Tag<TExpand> const>::assign_(target, source);
+}
+
+template <typename THost, typename TSpec, typename TSource, typename TExpand>
+inline void 
+assign(Segment<THost, TSpec> & target, 
+          TSource & source, 
+          typename Size< Segment<THost, TSpec> >::Type limit, 
+          Tag<TExpand> const)
+{
+SEQAN_CHECKPOINT
+       _Assign_Segment<Tag<TExpand> const>::assign_(target, source, limit);
+}
+template <typename THost, typename TSpec, typename TSource, typename TExpand>
+inline void 
+assign(Segment<THost, TSpec> & target, 
+          TSource const & source, 
+          typename Size< Segment<THost, TSpec> >::Type limit, 
+          Tag<TExpand> const)
+{
+SEQAN_CHECKPOINT
+       _Assign_Segment<Tag<TExpand> const>::assign_(target, source, limit);
+}
+
+//(for temporary targets)
+
+template <typename THost, typename TSpec, typename TSource, typename TExpand>
+inline void 
+assign(Segment<THost, TSpec> const & target, 
+          TSource & source, 
+          Tag<TExpand> const)
+{
+SEQAN_CHECKPOINT
+       _Assign_Segment<Tag<TExpand> const>::assign_(target, source);
+}
+template <typename THost, typename TSpec, typename TSource, typename TExpand>
+inline void 
+assign(Segment<THost, TSpec> const & target, 
+          TSource const & source, 
+          Tag<TExpand> const)
+{
+SEQAN_CHECKPOINT
+       _Assign_Segment<Tag<TExpand> const>::assign_(target, source);
+}
+
+template <typename THost, typename TSpec, typename TSource, typename TExpand>
+inline void 
+assign(Segment<THost, TSpec> const & target, 
+          TSource & source, 
+          typename Size< Segment<THost, TSpec> >::Type limit, 
+          Tag<TExpand> const)
+{
+SEQAN_CHECKPOINT
+       _Assign_Segment<Tag<TExpand> const>::assign_(target, source, limit);
+}
+template <typename THost, typename TSpec, typename TSource, typename TExpand>
+inline void 
+assign(Segment<THost, TSpec> const & target, 
+          TSource const & source, 
+          typename Size< Segment<THost, TSpec> >::Type limit, 
+          Tag<TExpand> const)
+{
+SEQAN_CHECKPOINT
+       _Assign_Segment<Tag<TExpand> const>::assign_(target, source, limit);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// move
+//////////////////////////////////////////////////////////////////////////////
+
+//overload of binary version: 
+
+template <typename THost, typename TSpec, typename TSource, typename TExpand>
+inline void 
+move(Segment<THost, TSpec> & target, 
+        TSource & source)
+{
+SEQAN_CHECKPOINT
+       typedef Segment<THost, TSpec> TTarget;
+       move(target, source, typename DefaultOverflowImplicit<TTarget>::Type());
+}
+template <typename THost, typename TSpec, typename TSource, typename TExpand>
+inline void 
+move(Segment<THost, TSpec> & target, 
+        TSource const & source)
+{
+SEQAN_CHECKPOINT
+       typedef Segment<THost, TSpec> TTarget;
+       move(target, source, typename DefaultOverflowImplicit<TTarget>::Type());
+}
+
+//(for temporary targets)
+
+template <typename THost, typename TSpec, typename TSource, typename TExpand>
+inline void 
+move(Segment<THost, TSpec> const & target, 
+        TSource & source)
+{
+SEQAN_CHECKPOINT
+       typedef Segment<THost, TSpec> const TTarget;
+       move(target, source, typename DefaultOverflowImplicit<TTarget>::Type());
+}
+template <typename THost, typename TSpec, typename TSource, typename TExpand>
+inline void 
+move(Segment<THost, TSpec> const & target, 
+        TSource const & source)
+{
+SEQAN_CHECKPOINT
+       typedef Segment<THost, TSpec> const TTarget;
+       move(target, source, typename DefaultOverflowImplicit<TTarget>::Type());
+}
+
+
+
+//////////////////////////////////////////////////////////////////////////////
+// append
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Function.append:
+..remarks:If $target$ is a @Class.Segment@ object, then
+$limit$ denotes the maximal length of @Function.host.$host(target)$@ after the operation.
+..param.target.type:Class.Segment
+..param.source.type:Class.Segment
+*/
+
+
+template <typename TExpand>
+struct _Append_Sequence_2_Segment
+{
+       template <typename THost, typename TSpec, typename TSource>
+       static inline void 
+       append_(
+               Segment<THost, TSpec> & target, 
+               TSource & source)
+       {
+SEQAN_CHECKPOINT
+               typedef Segment<THost, TSpec> Target;
+
+               replace(host(target), endPosition(target), endPosition(target), source, TExpand());
+
+               typename Iterator<Target, Standard>::Type new_end = end(target, Standard()) + length(source);
+               typename Iterator<THost, Standard>::Type host_end = end(host(target), Standard());
+               if (new_end > host_end) new_end = host_end;
+               setEnd(target, new_end);
+       }
+
+       template <typename THost, typename TSpec, typename TSource>
+       static inline void 
+       append_(
+               Segment<THost, TSpec> & target, 
+               TSource const & source, 
+               typename Size< Segment<THost, TSpec> >::Type limit)
+       {
+SEQAN_CHECKPOINT
+               typedef Segment<THost, TSpec> Target;
+
+               replace(host(target), endPosition(target), endPosition(target), source, limit, TExpand());
+               typename Iterator<Target, Standard>::Type new_end = end(target, Standard()) + length(source);
+               typename Iterator<THost, Standard>::Type host_end = end(host(target), Standard());
+               if (begin(target) > host_end) setBegin(target, host_end);
+               if (new_end > host_end) new_end = host_end;
+               setEnd(target, new_end);
+       }
+
+       template <typename THost, typename TSpec, typename TSource>
+       static inline void 
+       append_(
+               Segment<THost, TSpec> const & target, 
+               TSource & source)
+       {
+SEQAN_CHECKPOINT
+               replace(host(target), endPosition(target), endPosition(target), source, TExpand());
+       }
+
+       template <typename THost, typename TSpec, typename TSource>
+       static inline void 
+       append_(
+               Segment<THost, TSpec> const & target, 
+               TSource const & source, 
+               typename Size< Segment<THost, TSpec> >::Type limit)
+       {
+SEQAN_CHECKPOINT
+               replace(host(target), endPosition(target), endPosition(target), source, limit, TExpand()); //??? INSERT
+       }
+};
+//____________________________________________________________________________
+
+
+template <typename THost, typename TSpec, typename TSource, typename TExpand>
+inline void 
+append(
+       Segment<THost, TSpec> & target, 
+       TSource & source, 
+       Tag<TExpand> const)
+{
+SEQAN_CHECKPOINT
+       _Append_Sequence_2_Segment<Tag<TExpand> const>::append_(target, source);
+}
+template <typename THost, typename TSpec, typename TSource, typename TExpand>
+inline void 
+append(
+       Segment<THost, TSpec> & target, 
+       TSource const & source, 
+       Tag<TExpand> const)
+{
+SEQAN_CHECKPOINT
+       _Append_Sequence_2_Segment<Tag<TExpand> const>::append_(target, source);
+}
+
+template <typename THost, typename TSpec, typename TSource, typename TExpand>
+inline void 
+append(
+       Segment<THost, TSpec> & target, 
+       TSource & source, 
+       typename Size< Segment<THost, TSpec> >::Type limit, 
+       Tag<TExpand> const)
+{
+SEQAN_CHECKPOINT
+       _Append_Sequence_2_Segment<Tag<TExpand> const>::append_(target, source, limit);
+}
+template <typename THost, typename TSpec, typename TSource, typename TExpand>
+inline void 
+append(
+       Segment<THost, TSpec> & target, 
+       TSource const & source, 
+       typename Size< Segment<THost, TSpec> >::Type limit, 
+       Tag<TExpand> const)
+{
+SEQAN_CHECKPOINT
+       _Append_Sequence_2_Segment<Tag<TExpand> const>::append_(target, source, limit);
+}
+
+template <typename THost, typename TSpec, typename TSource, typename TExpand>
+inline void 
+append(
+       Segment<THost, TSpec> const & target, 
+       TSource & source, 
+       Tag<TExpand> const)
+{
+SEQAN_CHECKPOINT
+       _Append_Sequence_2_Segment<Tag<TExpand> const>::append_(target, source);
+}
+template <typename THost, typename TSpec, typename TSource, typename TExpand>
+inline void 
+append(
+       Segment<THost, TSpec> const & target, 
+       TSource const & source, 
+       Tag<TExpand> const)
+{
+SEQAN_CHECKPOINT
+       _Append_Sequence_2_Segment<Tag<TExpand> const>::append_(target, source);
+}
+
+template <typename THost, typename TSpec, typename TSource, typename TExpand>
+inline void 
+append(
+       Segment<THost, TSpec> const & target, 
+       TSource & source, 
+       typename Size< Segment<THost, TSpec> >::Type limit, 
+       Tag<TExpand> const)
+{
+SEQAN_CHECKPOINT
+       _Append_Sequence_2_Segment<Tag<TExpand> const>::append_(target, source, limit);
+}
+template <typename THost, typename TSpec, typename TSource, typename TExpand>
+inline void 
+append(
+       Segment<THost, TSpec> const & target, 
+       TSource const & source, 
+       typename Size< Segment<THost, TSpec> >::Type limit, 
+       Tag<TExpand> const)
+{
+SEQAN_CHECKPOINT
+       _Append_Sequence_2_Segment<Tag<TExpand> const>::append_(target, source, limit);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// appendValue
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TExpand>
+struct _Append_Value_2_Segment
+{
+       template <typename T, typename TValue>
+       static inline void 
+       appendValue_(T & me,
+                               TValue & _value)
+       {
+SEQAN_CHECKPOINT
+               insertValue(host(me), endPosition(me), TExpand());
+               if (endPosition(me) < length(host(me)) ) //this could be false for some TExpand
+               {
+                       setEndPosition(me, endPosition(me) + 1);
+               }
+       }
+};
+
+//____________________________________________________________________________
+
+template <typename THost, typename TSpec, typename TValue, typename TExpand>
+inline void
+appendValue(Segment<THost, TSpec> & me, 
+                       TValue const & _value,
+                       Tag<TExpand> const)
+{
+SEQAN_CHECKPOINT
+       _Append_Value_2_Segment<Tag<TExpand> const>::appendValue_(me, _value);
+}
+template <typename THost, typename TSpec, typename TValue, typename TExpand>
+inline void
+appendValue(Segment<THost, TSpec> const & me, 
+                       TValue const & _value,
+                       Tag<TExpand> const)
+{
+SEQAN_CHECKPOINT
+       _Append_Value_2_Segment<Tag<TExpand> const>::appendValue_(me, _value);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// insertValue
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TExpand>
+struct _Insert_Value_2_Segment
+{
+       template <typename T, typename TPosition, typename TValue>
+       static inline void 
+       insertValue_(T & me,
+                               TPosition pos,
+                               TValue & _value)
+       {
+SEQAN_CHECKPOINT
+               insertValue(host(me), beginPosition(me) + pos, TExpand());
+               if (endPosition(me) < length(host(me)) ) //this could be false for some TExpand
+               {
+                       setEndPosition(me, endPosition(me) + 1);
+               }
+       }
+};
+
+//____________________________________________________________________________
+
+template <typename THost, typename TSpec, typename TPosition, typename TValue, typename TExpand>
+inline void
+insertValue(Segment<THost, TSpec> & me, 
+                       TPosition pos,
+                       TValue const & _value,
+                       Tag<TExpand> const)
+{
+SEQAN_CHECKPOINT
+       _Insert_Value_2_Segment<Tag<TExpand> const>::insertValue_(me, pos, _value);
+}
+template <typename THost, typename TSpec, typename TPosition, typename TValue, typename TExpand>
+inline void
+insertValue(Segment<THost, TSpec> const & me, 
+                       TPosition pos,
+                       TValue const & _value,
+                       Tag<TExpand> const)
+{
+SEQAN_CHECKPOINT
+       _Insert_Value_2_Segment<Tag<TExpand> const>::insertValue_(me, pos, _value);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// replace
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Function.replace:
+..remarks:If $target$ is a @Class.Segment@ object, then
+$limit$ denotes the maximal length of @Function.host.$host(target)$@ after the operation.
+..param.target.type:Class.Segment
+..param.source.type:Class.Segment
+*/
+
+template <typename TExpand>
+struct _Replace_Sequence_2_Segment
+{
+       template <typename THost, typename TSpec, typename TSource>
+       static inline void 
+       replace_(
+               Segment<THost, TSpec> & target, 
+               typename Position< Segment<THost, TSpec> >::Type pos_begin,
+               typename Position< Segment<THost, TSpec> >::Type pos_end,
+               TSource & source)
+       {
+SEQAN_CHECKPOINT
+               typedef Segment<THost, TSpec> Target;
+
+               replace(host(target), beginPosition(target) + pos_begin, beginPosition(target) + pos_end, source, TExpand());
+
+               typename Iterator<Target, Standard>::Type new_end = begin(target, Standard()) + length(target) - pos_end + pos_begin + length(source);
+               typename Iterator<THost, Standard>::Type host_end = end(host(target), Standard());
+               if (new_end > host_end) new_end = host_end;
+               setEnd(target, new_end);
+       }
+
+       template <typename THost, typename TSpec, typename TSource>
+       static inline void 
+       replace_(
+               Segment<THost, TSpec> & target, 
+               typename Position< Segment<THost, TSpec> >::Type pos_begin,
+               typename Position< Segment<THost, TSpec> >::Type pos_end,
+               TSource & source, 
+               typename Size< Segment<THost, TSpec> >::Type limit)
+       {
+SEQAN_CHECKPOINT
+               typedef Segment<THost, TSpec> Target;
+
+               replace(host(target), beginPosition(target) + pos_begin, beginPosition(target) + pos_end, source, limit, TExpand());
+
+               typename Iterator<Target, Standard>::Type new_end = begin(target, Standard()) + length(target) - pos_end + pos_begin + length(source);
+               typename Iterator<THost, Standard>::Type host_end = end(host(target), Standard());
+               if (begin(target, Standard()) > host_end) setBegin(target, host_end);
+               if (new_end > host_end) new_end = host_end;
+               setEnd(target, new_end);
+       }
+
+       template <typename THost, typename TSpec, typename TSource>
+       static inline void 
+       replace_(
+               Segment<THost, TSpec> const & target, 
+               typename Position< Segment<THost, TSpec> const>::Type pos_begin,
+               typename Position< Segment<THost, TSpec> const>::Type pos_end,
+               TSource & source)
+       {
+SEQAN_CHECKPOINT
+               replace(host(target), beginPosition(target) + pos_begin, beginPosition(target) + pos_end, source, TExpand());
+       }
+
+       template <typename THost, typename TSpec, typename TSource>
+       static inline void 
+       replace_(
+               Segment<THost, TSpec> const & target, 
+               typename Position< Segment<THost, TSpec> const>::Type pos_begin,
+               typename Position< Segment<THost, TSpec> const>::Type pos_end,
+               TSource & source, 
+               typename Size< Segment<THost, TSpec> >::Type limit)
+       {
+SEQAN_CHECKPOINT
+               replace(host(target), beginPosition(target) + pos_begin, beginPosition(target) + pos_end, source, limit, TExpand()); //??? INSERT
+       }
+};
+//____________________________________________________________________________
+
+
+template <typename THost, typename TSpec, typename TSource, typename TExpand>
+inline void 
+replace(
+       Segment<THost, TSpec> & target, 
+       typename Position< Segment<THost, TSpec> >::Type pos_begin,
+       typename Position< Segment<THost, TSpec> >::Type pos_end,
+       TSource & source, 
+       Tag<TExpand> const)
+{
+SEQAN_CHECKPOINT
+       _Replace_Sequence_2_Segment<Tag<TExpand> const>::replace_(target, pos_begin, pos_end, source);
+}
+template <typename THost, typename TSpec, typename TSource, typename TExpand>
+inline void 
+replace(
+       Segment<THost, TSpec> & target, 
+       typename Position< Segment<THost, TSpec> >::Type pos_begin,
+       typename Position< Segment<THost, TSpec> >::Type pos_end,
+       TSource const & source, 
+       Tag<TExpand> const)
+{
+SEQAN_CHECKPOINT
+       _Replace_Sequence_2_Segment<Tag<TExpand> const>::replace_(target, pos_begin, pos_end, source);
+}
+
+template <typename THost, typename TSpec, typename TSource, typename TExpand>
+inline void 
+replace(
+       Segment<THost, TSpec> & target, 
+       typename Position< Segment<THost, TSpec> >::Type pos_begin,
+       typename Position< Segment<THost, TSpec> >::Type pos_end,
+       TSource & source, 
+       typename Size< Segment<THost, TSpec> >::Type limit, 
+       Tag<TExpand> const)
+{
+SEQAN_CHECKPOINT
+       _Replace_Sequence_2_Segment<Tag<TExpand> const>::replace_(target, pos_begin, pos_end, source, limit);
+}
+template <typename THost, typename TSpec, typename TSource, typename TExpand>
+inline void 
+replace(
+       Segment<THost, TSpec> & target, 
+       typename Position< Segment<THost, TSpec> >::Type pos_begin,
+       typename Position< Segment<THost, TSpec> >::Type pos_end,
+       TSource const & source, 
+       typename Size< Segment<THost, TSpec> >::Type limit, 
+       Tag<TExpand> const)
+{
+SEQAN_CHECKPOINT
+       _Replace_Sequence_2_Segment<Tag<TExpand> const>::replace_(target, pos_begin, pos_end, source, limit);
+}
+
+template <typename THost, typename TSpec, typename TSource, typename TExpand>
+inline void 
+replace(
+       Segment<THost, TSpec> const & target, 
+       typename Position< Segment<THost, TSpec> const>::Type pos_begin,
+       typename Position< Segment<THost, TSpec> const>::Type pos_end,
+       TSource & source, 
+       Tag<TExpand> const)
+{
+SEQAN_CHECKPOINT
+       _Replace_Sequence_2_Segment<Tag<TExpand> const>::replace_(target, pos_begin, pos_end, source);
+}
+template <typename THost, typename TSpec, typename TSource, typename TExpand>
+inline void 
+replace(
+       Segment<THost, TSpec> const & target, 
+       typename Position< Segment<THost, TSpec> const>::Type pos_begin,
+       typename Position< Segment<THost, TSpec> const>::Type pos_end,
+       TSource const & source, 
+       Tag<TExpand> const)
+{
+SEQAN_CHECKPOINT
+       _Replace_Sequence_2_Segment<Tag<TExpand> const>::replace_(target, pos_begin, pos_end, source);
+}
+
+template <typename THost, typename TSpec, typename TSource, typename TExpand>
+inline void 
+replace(
+       Segment<THost, TSpec> const & target, 
+       typename Position< Segment<THost, TSpec> const>::Type pos_begin,
+       typename Position< Segment<THost, TSpec> const>::Type pos_end,
+       TSource & source, 
+       typename Size< Segment<THost, TSpec> >::Type limit, 
+       Tag<TExpand> const )
+{
+SEQAN_CHECKPOINT
+       _Replace_Sequence_2_Segment<Tag<TExpand> const>::replace_(target, pos_begin, pos_end, source, limit);
+}
+template <typename THost, typename TSpec, typename TSource, typename TExpand>
+inline void 
+replace(
+       Segment<THost, TSpec> const & target, 
+       typename Position< Segment<THost, TSpec> const>::Type pos_begin,
+       typename Position< Segment<THost, TSpec> const>::Type pos_end,
+       TSource const & source, 
+       typename Size< Segment<THost, TSpec> >::Type limit, 
+       Tag<TExpand> const)
+{
+SEQAN_CHECKPOINT
+       _Replace_Sequence_2_Segment<Tag<TExpand> const>::replace_(target, pos_begin, pos_end, source, limit);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// handling of iterators as begin and end
+
+/*
+template<typename THost, typename TTargetSpec, typename TSource, typename TExpand>
+inline void 
+replace(Segment<THost, TTargetSpec> & target,
+               typename Iterator< Segment<THost, TTargetSpec>, Rooted>::Type pos_begin,
+               typename Iterator< Segment<THost, TTargetSpec>, Rooted>::Type pos_end,
+               TSource & source,
+               Tag<TExpand> const tag)
+{
+SEQAN_CHECKPOINT
+       replace(target, position(pos_begin), position(pos_end), source, tag);
+}
+
+template<typename THost, typename TTargetSpec, typename TSource, typename TExpand>
+inline void 
+replace(Segment<THost, TTargetSpec> & target,
+               typename Iterator< Segment<THost, TTargetSpec>, Rooted>::Type pos_begin,
+               typename Iterator< Segment<THost, TTargetSpec>, Rooted>::Type pos_end,
+               TSource & source,
+               typename Size< Segment<THost, TTargetSpec> >::Type limit,
+               Tag<TExpand> const tag)
+{
+SEQAN_CHECKPOINT
+       replace(target, position(pos_begin), position(pos_end), source, limit, tag);
+}
+
+template<typename THost, typename TTargetSpec, typename TSource, typename TExpand>
+inline void 
+replace(Segment<THost, TTargetSpec> const & target,
+               typename Iterator< Segment<THost, TTargetSpec> const, Rooted>::Type pos_begin,
+               typename Iterator< Segment<THost, TTargetSpec> const, Rooted>::Type pos_end,
+               TSource & source,
+               Tag<TExpand> const tag)
+{
+SEQAN_CHECKPOINT
+       replace(target, position(pos_begin), position(pos_end), source, tag);
+}
+
+template<typename THost, typename TTargetSpec, typename TSource, typename TExpand>
+inline void 
+replace(Segment<THost, TTargetSpec> const & target,
+               typename Iterator< Segment<THost, TTargetSpec> const, Rooted>::Type pos_begin,
+               typename Iterator< Segment<THost, TTargetSpec> const, Rooted>::Type pos_end,
+               TSource & source,
+               typename Size< Segment<THost, TTargetSpec> >::Type limit,
+               Tag<TExpand> const tag)
+{
+SEQAN_CHECKPOINT
+       replace(target, position(pos_begin), position(pos_end), source, limit, tag);
+}
+*/
+
+//////////////////////////////////////////////////////////////////////////////
+///.Function.resize.param.object.type:Class.Segment
+
+template <typename THost, typename TSpec, typename TExpand>
+inline typename Size< Segment<THost, TSpec> >::Type 
+resize(
+       Segment<THost, TSpec> & me,
+       typename Size< Segment<THost, TSpec> >::Type new_length,
+       Tag<TExpand> const tag)
+{
+SEQAN_CHECKPOINT
+
+       typename Size<Segment<THost, TSpec> >::Type me_length = length(me);
+       typename Position<THost>::Type me_end_pos = endPosition(me);
+       if (new_length > me_length)
+       {
+               new_length = me_length + resizeSpace(host(me), new_length - me_length, me_end_pos, me_end_pos, tag);
+       }
+       else if (new_length < me_length)
+       {
+               new_length = resizeSpace(host(me), 0, me_end_pos - (me_length - new_length), me_end_pos, tag);
+       }
+       _setLength(me, new_length);
+       return new_length;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+//??? TODO: fill (kopie von resize anpassen)
+
+//////////////////////////////////////////////////////////////////////////////
+///.Function.clear.param.object.type:Class.Segment
+
+template <typename THost, typename TSpec>
+inline void 
+clear(Segment<THost, TSpec> & target)
+{
+SEQAN_CHECKPOINT
+       assign(target, "");
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TLeftValue, typename TLeftSpec, typename TRight>
+Segment<TLeftValue, TLeftSpec> const & 
+operator += (Segment<TLeftValue, TLeftSpec> & left,
+                        TRight const & right)
+{
+SEQAN_CHECKPOINT
+       append(left, right);
+       return left;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TLeftHost, typename TLeftSpec, typename TRight >
+inline bool
+operator == (Segment<TLeftHost, TLeftSpec> const & left, 
+                       TRight const & right)
+{
+SEQAN_CHECKPOINT
+       typename Comparator<Segment<TLeftHost, TLeftSpec> >::Type _lex(left, right);
+    return isEqual(_lex);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TLeftHost, typename TLeftSpec, typename TRight >
+inline bool
+operator != (Segment<TLeftHost, TLeftSpec> const & left, 
+                       TRight const & right)
+{
+SEQAN_CHECKPOINT
+       typename Comparator<Segment<TLeftHost, TLeftSpec> >::Type _lex(left, right);
+    return isNotEqual(_lex);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TLeftHost, typename TLeftSpec, typename TRight>
+inline bool
+operator < (Segment<TLeftHost, TLeftSpec> const & left, 
+                       TRight const & right)
+{
+SEQAN_CHECKPOINT
+       return isLess(left, right, typename DefaultPrefixOrder<Segment<TLeftHost, TLeftSpec> >::Type());
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TLeftHost, typename TLeftSpec, typename TRight>
+inline bool
+operator <= (Segment<TLeftHost, TLeftSpec> const & left, 
+                        TRight const & right)
+{
+SEQAN_CHECKPOINT
+       return isLessOrEqual(left, right, typename DefaultPrefixOrder<Segment<TLeftHost, TLeftSpec> >::Type());
+}
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TLeftHost, typename TLeftSpec, typename TRight>
+inline bool
+operator > (Segment<TLeftHost, TLeftSpec> const & left, 
+                       TRight const & right)
+{
+SEQAN_CHECKPOINT
+       return isGreater(left, right, typename DefaultPrefixOrder<Segment<TLeftHost, TLeftSpec> >::Type());
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TLeftHost, typename TLeftSpec, typename TRight>
+inline bool
+operator >= (Segment<TLeftHost, TLeftSpec> const & left, 
+               TRight const & right)
+{
+SEQAN_CHECKPOINT
+       return isGreaterOrEqual(left, right, typename DefaultPrefixOrder<Segment<TLeftHost, TLeftSpec> >::Type());
+}
+
+
+//////////////////////////////////////////////////////////////////////////////
+// stream operators
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TStream, typename THost, typename TSpec>
+inline TStream &
+operator << (TStream & target, 
+                        Segment<THost, TSpec> const & source)
+{
+SEQAN_CHECKPOINT
+       write(target, source);
+       return target;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TStream, typename THost, typename TSpec>
+inline TStream &
+operator >> (TStream & source, 
+                        Segment<THost, TSpec> & target)
+{
+SEQAN_CHECKPOINT
+       read(source, target);
+       return source;
+}
+template <typename TStream, typename THost, typename TSpec>
+inline TStream &
+operator >> (TStream & source, 
+                        Segment<THost, TSpec> const & target)
+{
+SEQAN_CHECKPOINT
+       read(source, target);
+       return source;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+
+} //namespace SEQAN_NAMESPACE_MAIN
+
+#endif //#ifndef SEQAN_HEADER_...
diff --git a/SeqAn-1.1/seqan/sequence/segment_infix.h b/SeqAn-1.1/seqan/sequence/segment_infix.h
new file mode 100644 (file)
index 0000000..e1daaf4
--- /dev/null
@@ -0,0 +1,794 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de 
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: segment_infix.h,v 1.1 2008/08/25 16:20:04 langmead Exp $
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_SEGMENT_INFIX_H
+#define SEQAN_HEADER_SEGMENT_INFIX_H
+
+
+namespace SEQAN_NAMESPACE_MAIN
+{
+
+//////////////////////////////////////////////////////////////////////////////
+// InfixSegment
+//////////////////////////////////////////////////////////////////////////////
+
+
+/**
+.Spec.InfixSegment:
+..cat:Segments
+..summary:An arbitrary segment.
+..general:Class.Segment
+..signature:Segment<THost, InfixSegment>
+..param.THost:Type of the whole sequence.
+...text:Instances of $Segment<THost, InfixSegment>$ are infixes of $THost$ objects.
+...remarks:Use @Metafunction.Host@ to get the host type for a given class.
+..remarks.note:Since the appropriate segment type depends on the host sequence type, 
+       it is recommended to use the metafunction @Metafunction.Infix@ instead of explicitely 
+       choose a specialization of @Class.Segment@.
+..see:Metafunction.Infix
+*/
+
+template <typename THost_>
+class Segment<THost_, InfixSegment>
+{
+protected:
+       typedef typename Host<Segment>::Type THost;
+
+       typename _Pointer<THost>::Type data_host;
+       typename Position<THost>::Type data_begin_position;
+       typename Position<THost>::Type data_end_position;
+
+
+//____________________________________________________________________________
+
+public:
+
+/**
+.Memfunc.InfixSegment#Segment:
+..class:Spec.InfixSegment
+..summary:Constructor
+..signature:Segment<THost, InfixSegment> ()
+..signature:Segment<THost, InfixSegment> (infix)
+..signature:Segment<THost, InfixSegment> (host [, begin, end])
+..param.infix:Other infix object. (copy constructor)
+..param.host:The whole sequence.
+..param.begin:Position/iterator in $host$ of the first item in segment.
+...type:Metafunction.Position.$Position<THost>::Type$
+...type:Metafunction.Iterator.$Iterator<THost>::Type$
+..param.end:Position/iterator behind the end of the segment.
+...type:Metafunction.Position.$Position<THost>::Type$
+...type:Metafunction.Iterator.$Iterator<THost>::Type$
+..remarks:
+...text:A Segment object cannot work without a host. If the object is default constructed,
+the host must be set by @Function.setHost@ before the segment can be used.
+...text:If a segment object is constructed by the copy constructor, the
+members of the new constructed object are set to the same values as the members in the
+source object; the host object is not modified.
+Note that this is a special case, since all other copy operations result in changes 
+of the host object.
+...text:$begin$ and $end$ must be valid positions/iterators in $host$.
+If $begin$ und $end$ are omitted, the infix segment corresponding to
+the first character of $host$ is constructed.
+This is the same segment that is returned by @Function.goBegin@.
+*/
+       Segment():
+               data_begin_position(0),
+               data_end_position(0)
+       {
+SEQAN_CHECKPOINT
+       }
+
+       Segment(typename _Parameter<THost>::Type _host):
+               data_host(_toPointer(_host)),
+               data_begin_position(0),
+               data_end_position(1)
+       {
+SEQAN_CHECKPOINT
+       }
+
+       Segment(typename _Parameter<THost>::Type _host, typename Position<THost>::Type _begin_index, typename Position<THost>::Type _end_index):
+               data_host(_toPointer(_host)),
+               data_begin_position(_begin_index),
+               data_end_position(_end_index)
+       {
+SEQAN_CHECKPOINT
+       }
+/*
+       Segment(typename _Parameter<THost>::Type _host, typename Iterator<THost, Rooted>::Type _begin, typename Iterator<THost, Rooted>::Type _end):
+               data_host(_toPointer(_host)),
+               data_begin_position(position(_begin)),
+               data_end_position(position(_end))
+       {
+SEQAN_CHECKPOINT
+       }
+*/
+       Segment(typename _Parameter<THost>::Type _host, typename Iterator<THost, Standard>::Type _begin, typename Iterator<THost, Standard>::Type _end):
+               data_host(_toPointer(_host)),
+               data_begin_position(position(_begin, _host)),
+               data_end_position(position(_end, _host))
+       {
+SEQAN_CHECKPOINT
+       }
+       template <typename THost2, typename TSpec2>
+       Segment(Segment<THost2, TSpec2> const & _other):
+               data_host(_toPointer(host(_other))),
+               data_begin_position(beginPosition(_other)),
+               data_end_position(endPosition(_other))
+       {
+SEQAN_CHECKPOINT
+       }
+
+       ~ Segment() 
+       {
+SEQAN_CHECKPOINT
+       }
+
+       template <typename TSource>
+       inline Segment & 
+       operator = (TSource const & source)
+       {
+               assign(*this, source);
+               return *this;
+       }
+       inline Segment & 
+       operator = (Segment const & source)
+       {
+               assign(*this, source);
+               return *this;
+       }
+//____________________________________________________________________________
+
+public:
+
+///Function.host.param.object.type:Class.Segment
+
+       friend inline typename _Parameter<THost>::Type 
+       host(Segment & me)
+       {
+SEQAN_CHECKPOINT
+               return _toParameter<THost>(me.data_host);
+       }
+
+       friend inline typename _Parameter<THost>::Type 
+       host(Segment const & me)
+       {
+SEQAN_CHECKPOINT
+               return _toParameter<THost>(me.data_host);
+       }
+
+//____________________________________________________________________________
+
+/**
+.Function.setHost:
+..summary:Sets the host of an object.
+..cat:Dependent Objects
+..signature:setHost(object, host)
+..param.object:The object that will get a new host.
+...type:Class.Segment
+..param.host:The new host.
+..remarks:After this operation, $object$ depends on $host$.
+...text:Note that setting the host can invalidate $object$.
+For example, if one changes the host of a @Class.Segment@ object, it is possible
+that begin- and end-position of the segment does not fit into the new host sequence.
+..see:Function.host
+*/
+       friend inline void 
+       setHost(Segment & me, typename _Parameter<THost>::Type _host)
+       {
+SEQAN_CHECKPOINT
+               me.data_host = _toPointer(_host);
+       }
+
+//____________________________________________________________________________
+
+       template <typename TPos>
+       inline typename Reference<Segment>::Type
+       operator [] (TPos pos)
+       {
+SEQAN_CHECKPOINT
+               return value(*this, pos);
+       }
+
+       template <typename TPos>
+       inline typename Reference<Segment const>::Type 
+       operator [] (TPos pos) const
+       {
+SEQAN_CHECKPOINT
+               return value(*this, pos);
+       }
+
+//____________________________________________________________________________
+
+///.Function.begin.param.object.type:Class.Segment
+
+       friend inline typename Iterator<Segment, Standard>::Type 
+       begin(Segment & me,
+               Standard)
+       {
+SEQAN_CHECKPOINT
+               return begin(host(me), Standard()) + me.data_begin_position;
+       }
+       friend inline typename Iterator<Segment const, Standard>::Type 
+       begin(Segment const & me,
+               Standard)
+       {
+SEQAN_CHECKPOINT
+               return begin(host(me), Standard()) + me.data_begin_position;
+       }
+
+//____________________________________________________________________________
+
+///.Function.beginPosition.param.object.type:Class.Segment
+
+       friend inline typename Position<Segment>::Type 
+       beginPosition(Segment & me)
+       {
+SEQAN_CHECKPOINT
+               return me.data_begin_position;
+       }
+       friend inline typename Position<Segment const>::Type 
+       beginPosition(Segment const & me)
+       {
+SEQAN_CHECKPOINT
+               return me.data_begin_position;
+       }
+
+//____________________________________________________________________________
+
+/**
+.Function.setBegin:
+..summary:Sets begin of object in host.
+..cat:Dependent Objects
+..signature:setBegin(object, new_begin)
+..param.object:An object.
+...type:Spec.InfixSegment
+...type:Spec.SuffixSegment
+..param.new_begin:iterator to the new first item in $host(object)$ that belongs of $object$.
+...type:Metafunction.Iterator
+..see:Function.begin
+..see:Function.beginPosition
+*/
+       template <typename TIterator>
+       friend inline void 
+       setBegin(Segment & me, TIterator new_begin)
+       {
+SEQAN_CHECKPOINT
+               me.data_begin_position = new_begin - begin(host(me));//, Standard());
+       }
+
+
+//____________________________________________________________________________
+
+/**
+.Function.setBeginPosition:
+..summary:Sets begin position of object in host.
+..cat:Dependent Objects
+..signature:setBeginPosition(object, new_begin)
+..param.object:An object.
+...type:Spec.InfixSegment
+...type:Spec.SuffixSegment
+..param.new_begin:position of the new first item in $host(object)$ that belongs of $object$.
+...type:Metafunction.Position
+..see:Function.begin
+..see:Function.beginPosition
+..see:Function.setBegin
+*/
+
+       template <typename TPosition>
+       friend inline void 
+       setBeginPosition(Segment & me, TPosition new_begin)
+       {
+SEQAN_CHECKPOINT
+               me.data_begin_position = new_begin;
+       }
+
+//____________________________________________________________________________
+
+///.Function.begin.param.object.type:Class.Segment
+
+       friend inline typename Iterator<Segment, Standard>::Type 
+       end(Segment & me,
+               Standard)
+       {
+SEQAN_CHECKPOINT
+               return begin(host(me), Standard()) + me.data_end_position;
+       }
+       friend inline typename Iterator<Segment const, Standard>::Type 
+       end(Segment const & me,
+               Standard)
+       {
+SEQAN_CHECKPOINT
+               return begin(host(me), Standard()) + me.data_end_position;
+       }
+
+//____________________________________________________________________________
+
+///.Function.endPosition.param.object.type:Class.Segment
+
+       friend inline typename Position<Segment>::Type 
+       endPosition(Segment & me)
+       {
+SEQAN_CHECKPOINT
+               return me.data_end_position;
+       }
+       friend inline typename Position<Segment>::Type 
+       endPosition(Segment const & me)
+       {
+SEQAN_CHECKPOINT
+               return me.data_end_position;
+       }
+
+//____________________________________________________________________________
+
+/**
+.Function.setEnd:
+..summary:Sets end of object in host.
+..cat:Dependent Objects
+..signature:setEnd(object, new_end)
+..param.object:An object.
+...type:Spec.InfixSegment
+...type:Spec.PrefixSegment
+..param.new_end:Iterator behind the last item in $host(object)$ belongs of $object$.
+...type:Metafunction.Iterator
+..see:Function.end
+..see:Function.endPosition
+..see:Function.setBegin
+*/
+
+       template <typename TIterator>
+       friend inline void 
+       setEnd(Segment & me, TIterator new_end)
+       {
+SEQAN_CHECKPOINT
+               me.data_end_position = new_end - begin(host(me));//, Standard());
+       }
+
+/* //unnoetig
+       friend inline void 
+       setEnd(Segment & me)
+       {
+SEQAN_CHECKPOINT
+               setEnd(me, end(host(me)));
+       }
+*/
+//____________________________________________________________________________
+
+
+/**
+.Function.setEndPosition:
+..summary:Sets begin position of object in host.
+..cat:Dependent Objects
+..signature:setEndPosition(object, new_end)
+..param.object:An object.
+...type:Spec.InfixSegment
+...type:Spec.PrefixSegment
+..param.new_end:position behind the last item in $host(object)$ that belongs of $object$.
+...type:Metafunction.Position
+..see:Function.end
+..see:Function.endPosition
+..see:Function.setBeginPosition
+..see:Function.setEnd
+*/
+
+       template <typename TPosition>
+       friend inline void 
+       setEndPosition(Segment & me, TPosition new_end)
+       {
+SEQAN_CHECKPOINT
+               me.data_end_position = new_end;
+       }
+
+//____________________________________________________________________________
+
+       friend inline void 
+       _setLength(
+               Segment & me, 
+               typename Size<THost>::Type new_length)
+       {
+SEQAN_CHECKPOINT
+               me.data_end_position = me.data_begin_position + new_length;
+       }
+
+//____________________________________________________________________________
+
+};
+
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Metafunction.Infix:
+..summary:Infix sequence type.
+..signature:Infix<T>::Type
+..param.T:A sequence type.
+...type:Class.String
+..returns.param.Type:The infix type.
+..see:Spec.InfixSegment
+*/
+
+template <typename THost>
+struct Infix
+{
+       typedef Segment<THost, InfixSegment> Type;
+};
+
+template <typename THost, typename TSpec>
+struct Infix< Segment<THost, TSpec> >
+{
+       typedef Segment<THost, InfixSegment> Type;
+};
+
+template <typename THost, typename TSpec>
+struct Infix< Segment<THost, TSpec> const >:
+       Infix< Segment<THost, TSpec> > {};
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename THost, typename TPosition1, typename TPosition2>
+inline void
+set(Segment<THost, InfixSegment> & me,
+       THost & host_,
+       TPosition1 begin_,
+       TPosition2 end_)
+{
+SEQAN_CHECKPOINT
+       setHost(me, host_);
+       setBegin(me, begin_);
+       setEnd(me, end_);
+}
+//____________________________________________________________________________
+
+template <typename THost>
+inline void
+set(Segment<THost, InfixSegment> & me,
+       THost & host_)
+{
+SEQAN_CHECKPOINT
+       setHost(me, host_);
+       setBegin(me, begin(host_, Standard()));
+       setEnd(me, end(host_, Standard()));
+}
+template <typename THost>
+inline void
+set(Segment<THost, InfixSegment> & me,
+       THost const & host_)
+{
+SEQAN_CHECKPOINT
+       setHost(me, host_);
+       setBegin(me, begin(host_, Standard()));
+       setEnd(me, end(host_, Standard()));
+}
+
+//____________________________________________________________________________
+
+template <typename THost, typename TSpec>
+inline void
+set(Segment<THost, InfixSegment> & me,
+       Segment<THost, TSpec> & source)
+{
+SEQAN_CHECKPOINT
+       setHost(me, host(source));
+       setBeginPosition(me, beginPosition(source));
+       setEndPosition(me, endPosition(source));
+}
+template <typename THost, typename TSpec>
+inline void
+set(Segment<THost, InfixSegment> & me,
+       Segment<THost, TSpec> const & source)
+{
+SEQAN_CHECKPOINT
+       setHost(me, host(source));
+       setBeginPosition(me, beginPosition(source));
+       setEndPosition(me, endPosition(source));
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename THost>
+inline bool
+atBegin(Segment<THost, InfixSegment> & segment)
+{
+SEQAN_CHECKPOINT
+       return (beginPosition(segment) == endPosition(segment));
+}
+template <typename THost>
+inline bool
+atBegin(Segment<THost, InfixSegment> const & segment)
+{
+SEQAN_CHECKPOINT
+       return (beginPosition(segment) == endPosition(segment));
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename THost>
+inline bool
+atEnd(Segment<THost, InfixSegment> & segment)
+{
+SEQAN_CHECKPOINT
+       return (endPosition(segment) - beginPosition(segment)) > length(host(segment));
+}
+template <typename THost>
+inline bool
+atEnd(Segment<THost, InfixSegment> const & segment)
+{
+SEQAN_CHECKPOINT
+       return (endPosition(segment) - beginPosition(segment)) > length(host(segment));
+}
+
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename THost>
+inline void
+goBegin(Segment<THost, InfixSegment> & segment)
+{
+SEQAN_CHECKPOINT
+       setBeginPosition(segment, 0);
+       setEndPosition(segment, 1);
+}
+template <typename THost, typename THost2>
+inline void
+goBegin(Segment<THost, InfixSegment> & segment,
+               THost2 &)
+{
+       goBegin(segment);
+}
+template <typename THost, typename THost2>
+inline void
+goBegin(Segment<THost, InfixSegment> & segment,
+               THost2 const &)
+{
+       goBegin(segment);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+
+template <typename THost>
+inline void
+goEnd(Segment<THost, InfixSegment> & segment)
+{
+SEQAN_CHECKPOINT
+       setBeginPosition(segment, 0);
+       setEndPosition(segment, length(host(segment)));
+}
+template <typename THost, typename THost2>
+inline void
+goEnd(Segment<THost, InfixSegment> & segment,
+         THost2 &)
+{
+       goEnd(segment);
+}
+template <typename THost, typename THost2>
+inline void
+goEnd(Segment<THost, InfixSegment> & segment,
+         THost2 const &)
+{
+       goEnd(segment);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename THost>
+inline Segment<THost, InfixSegment> &
+operator ++(Segment<THost, InfixSegment> & segment)
+{
+SEQAN_CHECKPOINT
+       if (endPosition(segment) == length(host(segment)))
+       {
+               setEndPosition(segment, endPosition(segment) - beginPosition(segment) + 1);
+               setBeginPosition(segment, 0);
+       }
+       else
+       {
+               setBeginPosition(segment, beginPosition(segment) + 1);
+               setEndPosition(segment, endPosition(segment) + 1);
+       }
+       return segment;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename THost>
+inline Segment<THost, InfixSegment> &
+operator --(Segment<THost, InfixSegment> & segment)
+{
+SEQAN_CHECKPOINT
+       if (!beginPosition(segment))
+       {
+               typename Size<THost>::Type host_length = length(host(segment));
+
+               setBeginPosition(segment, host_length - endPosition(segment) + beginPosition(segment) + 1);
+               setEndPosition(segment, host_length);
+       }
+       else
+       {
+               setBeginPosition(segment, beginPosition(segment) - 1);
+               setEndPosition(segment, endPosition(segment) - 1);
+       }
+       return segment;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename THost, typename TSpec, typename TPos>
+inline typename Reference< Segment<THost, TSpec> >::Type 
+value(Segment<THost, TSpec> & me, 
+         TPos pos)
+{
+SEQAN_CHECKPOINT
+       return *(begin(me, Standard()) + pos);
+}
+
+template <typename THost, typename TSpec, typename TPos>
+inline typename Reference< Segment<THost, TSpec> const >::Type 
+value(Segment<THost, TSpec> const & me, 
+         TPos pos)
+{
+SEQAN_CHECKPOINT
+       return *(begin(me, Standard()) + pos);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Function.infix:
+..cat:Containers
+..summary:Creates infix object.
+..signature:infix(host, begin, end)
+..param.host:The complete sequence.
+...type:Class.String
+...type:Adaption.char array
+..param.begin:Position or iterator of the first element of the segment.
+...type:Metafunction.Position
+...type:Metafunction.Iterator
+..param.end:Position or iterator behind the last element of the segment.
+...remarks:$end$ must have the same type as $begin$.
+..returns:The infix of $host$ between $begin$ and $end-1$.
+...remarks:The type of the infix is given by @Metafunction.Infix@.
+..remarks:Notational sugar.
+..see:Spec.InfixSegment
+*/
+
+template <typename T, typename TPosBegin, typename TPosEnd>
+inline typename Infix<T>::Type
+infix(T & t, TPosBegin pos_begin, TPosEnd pos_end)
+{
+SEQAN_CHECKPOINT
+       return typename Infix<T>::Type(t, pos_begin, pos_end);
+}
+
+template <typename T, typename TPosBegin, typename TPosEnd>
+inline typename Infix<T *>::Type
+infix(T * t, TPosBegin pos_begin, TPosEnd pos_end)
+{
+SEQAN_CHECKPOINT
+       return typename Infix<T *>::Type (t, pos_begin, pos_end);
+}
+
+template <typename T, typename TSpec, typename TPosBegin, typename TPosEnd>
+inline typename Infix<Segment<T, TSpec> >::Type
+infix(Segment<T, TSpec> & t, TPosBegin pos_begin, TPosEnd pos_end)
+{
+SEQAN_CHECKPOINT
+       return typename Infix<Segment<T, TSpec> >::Type (
+               host(t), 
+               beginPosition(t) + pos_begin, 
+               beginPosition(t) + pos_end);
+}
+
+template <typename T, typename TSpec, typename TPosBegin, typename TPosEnd>
+inline typename Infix<Segment<T, TSpec> const>::Type
+infix(Segment<T, TSpec> const & t, TPosBegin pos_begin, TPosEnd pos_end)
+{
+SEQAN_CHECKPOINT
+       return typename Infix<Segment<T, TSpec> const>::Type (
+               host(t), 
+               beginPosition(t) + pos_begin, 
+               beginPosition(t) + pos_end);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Function.infixWithLength:
+..cat:Containers
+..summary:Creates infix object.
+..signature:infixWithLength(host, begin, length)
+..param.host:The complete sequence.
+...type:Class.String
+...type:Adaption.char array
+..param.begin:Position or iterator of the first element of the segment.
+...type:Metafunction.Position
+...type:Metafunction.Iterator
+..param.length:Length of the returned infix.
+..returns:The infix of $host$ between $begin$ and $begin+length-1$.
+...remarks:The type of the infix is given by @Metafunction.Infix@.
+..remarks:Notational sugar.
+..see:Spec.InfixSegment
+*/
+
+template <typename T, typename TPosBegin, typename TSize>
+inline typename Infix<T>::Type
+infixWithLength(T & t, TPosBegin pos_begin, TSize length)
+{
+SEQAN_CHECKPOINT
+       return typename Infix<T>::Type(t, pos_begin, pos_begin + length);
+}
+
+template <typename T, typename TPosBegin, typename TSize>
+inline typename Infix<T *>::Type
+infixWithLength(T * t, TPosBegin pos_begin, TSize length)
+{
+SEQAN_CHECKPOINT
+       return typename Infix<T *>::Type (t, pos_begin, pos_begin + length);
+}
+
+template <typename T, typename TSpec, typename TPosBegin, typename TSize>
+inline typename Infix<Segment<T, TSpec> >::Type
+infixWithLength(Segment<T, TSpec> & t, TPosBegin pos_begin, TSize length)
+{
+SEQAN_CHECKPOINT
+       return typename Infix<Segment<T, TSpec> >::Type (
+               host(t), 
+               beginPosition(t) + pos_begin, 
+               beginPosition(t) + pos_begin + length);
+}
+
+template <typename T, typename TSpec, typename TPosBegin, typename TSize>
+inline typename Infix<Segment<T, TSpec> const>::Type
+infixWithLength(Segment<T, TSpec> const & t, TPosBegin pos_begin, TSize length)
+{
+SEQAN_CHECKPOINT
+       return typename Infix<Segment<T, TSpec> const>::Type (
+               host(t), 
+               beginPosition(t) + pos_begin, 
+               beginPosition(t) + pos_begin + length);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+//setBegin
+
+
+template <typename TIterator>
+inline void 
+setBegin(TIterator new_begin)
+{
+SEQAN_CHECKPOINT
+       setBegin(container(new_begin), hostIterator(new_begin));
+}
+
+
+//////////////////////////////////////////////////////////////////////////////
+//setEnd
+
+template <typename TIterator>
+inline void 
+setEnd(TIterator new_end)
+{
+SEQAN_CHECKPOINT
+       setEnd(container(new_end), new_end);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+} //namespace SEQAN_NAMESPACE_MAIN
+
+#endif //#ifndef SEQAN_HEADER_...
diff --git a/SeqAn-1.1/seqan/sequence/segment_prefix.h b/SeqAn-1.1/seqan/sequence/segment_prefix.h
new file mode 100644 (file)
index 0000000..edf6ad9
--- /dev/null
@@ -0,0 +1,595 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de 
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: segment_prefix.h,v 1.1 2008/08/25 16:20:04 langmead Exp $
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_SEGMENT_PREFIX_H
+#define SEQAN_HEADER_SEGMENT_PREFIX_H
+
+
+namespace SEQAN_NAMESPACE_MAIN
+{
+
+//////////////////////////////////////////////////////////////////////////////
+// PrefixSegment
+//////////////////////////////////////////////////////////////////////////////
+
+
+/**
+.Spec.PrefixSegment:
+..cat:Segments
+..summary:First part of a sequence.
+..general:Class.Segment
+..signature:Segment<THost, PrefixSegment>
+..param.THost:Type of the whole sequence.
+...text:Instances of $Segment<THost, PrefixSegment>$ are prefixes of $THost$ objects.
+...remarks:Use @Metafunction.Host@ to get the host type for a given class.
+..remarks.note:Since the appropriate segment type depends on the host sequence type, 
+       it is recommended to use the metafunction @Metafunction.Prefix@ instead of explicitely 
+       choose a specialization of @Class.Segment@.
+..see:Spec.InfixSegment
+..see:Spec.SuffixSegment
+..see:Metafunction.Prefix
+*/
+
+struct PrefixSegment;
+
+template <typename THost_>
+class Segment<THost_, PrefixSegment>
+{
+protected:
+       typedef typename Host<Segment>::Type THost;
+
+       typename _Pointer<THost>::Type data_host;
+       typename Position<THost>::Type data_end_position;
+
+//____________________________________________________________________________
+
+public:
+
+/**
+.Memfunc.PrefixSegment#Segment:
+..class:Spec.PrefixSegment
+..summary:Constructor
+..signature:Segment<THost, PrefixSegment> ()
+..signature:Segment<THost, PrefixSegment> (prefix)
+..signature:Segment<THost, PrefixSegment> (host [, end])
+..param.prefix:Other prefix object. (copy constructor)
+..param.host:The whole sequence.
+..param.end:Position in $host$ behind the last item in segment. (optional)
+...default:$length(host)$
+...type:Metafunction.Position.$Position<THost>::Type$
+...type:Metafunction.Iterator.$Iterator<THost>::Type$
+..remarks:
+...text:A Segment object cannot work without a host. If the object is default constructed,
+the host must be set by @Function.setHost@ before the segment can be used.
+...text:If a segment object is constructed by the copy constructor, the
+members of the new constructed object are set to the same values as the members in the
+source object; the host object is not modified.
+Note that this is a special case, since all other copy operations result in changes 
+of the host object.
+...text:$begin$ must be a valid position/iterator in $host$.
+If $begin$ is omitted, the prefix segment corresponding to
+the whole sequence $host$ is constructed.
+This is the same segment that is returned by @Function.goBegin@.
+*/
+       Segment():
+               data_end_position(0)
+       {
+SEQAN_CHECKPOINT
+       }
+
+       Segment(THost & _host):
+               data_host(& _host),
+               data_end_position(length(_host))
+       {
+SEQAN_CHECKPOINT
+       }
+
+       Segment(typename _Parameter<THost>::Type _host, typename Position<THost>::Type _end_index):
+               data_host(_toPointer(_host)),
+               data_end_position(_end_index)
+       {
+SEQAN_CHECKPOINT
+       }
+/*
+       Segment(typename _Parameter<THost>::Type _host, typename Iterator<THost, Rooted>::Type _end):
+               data_host(_toPointer(_host)),
+               data_end_position(position(_end))
+       {
+SEQAN_CHECKPOINT
+       }
+*/
+       Segment(typename _Parameter<THost>::Type _host, typename Iterator<THost, Standard>::Type _end):
+               data_host(_toPointer(_host)),
+               data_end_position(position(_end, _host))
+       {
+SEQAN_CHECKPOINT
+       }
+
+/*
+       Segment(Segment const & _other):
+               data_host(_other.data_host),
+               data_end_position(_other.data_end_position)
+       {
+SEQAN_CHECKPOINT
+       }
+*/
+       template <typename THost2, typename TSpec2>
+       Segment(Segment<THost2, TSpec2> const & _other):
+               data_host(_toPointer(host(_other))),
+               data_end_position(endPosition(_other))
+       {
+SEQAN_CHECKPOINT
+       }
+
+       ~ Segment() 
+       {
+SEQAN_CHECKPOINT
+       }
+
+       template <typename TSource>
+       inline Segment & 
+       operator = (TSource const & source)
+       {
+               assign(*this, source);
+               return *this;
+       }
+       inline Segment & 
+       operator = (Segment const & source)
+       {
+               assign(*this, source);
+               return *this;
+       }
+//____________________________________________________________________________
+
+public:
+
+       friend inline typename _Parameter<THost>::Type 
+       host(Segment & me)
+       {
+SEQAN_CHECKPOINT
+               return _toParameter<THost>(me.data_host);
+       }
+
+       friend inline typename _Parameter<THost>::Type 
+       host(Segment const & me)
+       {
+SEQAN_CHECKPOINT
+               return _toParameter<THost>(me.data_host);
+       }
+
+//____________________________________________________________________________
+
+       friend inline void 
+       setHost(Segment & me, typename _Parameter<THost>::Type _host)
+       {
+SEQAN_CHECKPOINT
+               me.data_host = _toPointer(_host);
+       }
+
+//____________________________________________________________________________
+
+       template <typename TPos>
+       inline typename Reference<Segment>::Type
+       operator [] (TPos pos)
+       {
+SEQAN_CHECKPOINT
+               return value(*this, pos);
+       }
+
+       template <typename TPos>
+       inline typename Reference<Segment const>::Type 
+       operator [] (TPos pos) const
+       {
+SEQAN_CHECKPOINT
+               return value(*this, pos);
+       }
+
+//____________________________________________________________________________
+
+       friend inline typename Iterator<Segment, Standard>::Type 
+       begin(Segment & me,
+               Standard)
+       {
+SEQAN_CHECKPOINT
+               return begin(host(me), Standard());
+       }
+       friend inline typename Iterator<Segment const, Standard>::Type 
+       begin(Segment const & me,
+               Standard)
+       {
+SEQAN_CHECKPOINT
+               return begin(host(me), Standard());
+       }
+
+//____________________________________________________________________________
+
+       friend inline typename Position<Segment const>::Type 
+       beginPosition(Segment const & /*me*/)
+       {
+SEQAN_CHECKPOINT
+               return 0;
+       }
+       friend inline typename Position<Segment>::Type 
+       beginPosition(Segment & /*me*/)
+       {
+SEQAN_CHECKPOINT
+               return 0;
+       }
+
+//____________________________________________________________________________
+
+       template <typename TIterator>
+       friend inline void
+       setBegin(Segment &, TIterator)
+       {
+       }
+
+//____________________________________________________________________________
+
+       friend inline typename Iterator<Segment, Standard>::Type 
+       end(Segment & me,
+               Standard)
+       {
+SEQAN_CHECKPOINT
+               return begin(host(me), Standard()) + me.data_end_position;
+       }
+       friend inline typename Iterator<Segment const, Standard>::Type 
+       end(Segment const & me,
+               Standard)
+       {
+SEQAN_CHECKPOINT
+               return begin(host(me), Standard()) + me.data_end_position;
+       }
+
+//____________________________________________________________________________
+
+/* //unnoetig
+       friend inline void 
+       setEnd(Segment & me)
+       {
+SEQAN_CHECKPOINT
+               me.data_end_position = length(host(me));
+       }
+*/
+       friend inline void 
+       setEndPosition(Segment & me, typename Position<Segment>::Type new_end)
+       {
+SEQAN_CHECKPOINT
+               me.data_end_position = new_end;
+       }
+
+       friend inline void 
+       setEnd(Segment & me, typename Iterator<Segment, Standard>::Type new_end)
+       {
+SEQAN_CHECKPOINT
+               me.data_end_position = new_end - begin(host(me));//, Standard());
+       }
+
+       friend inline void 
+       setEnd(typename Iterator<Segment, Rooted>::Type new_end)
+       {
+SEQAN_CHECKPOINT
+               container(new_end).data_end_position = hostIterator(new_end) - begin(host(container(new_end)));//, Standard());
+       }
+
+//____________________________________________________________________________
+
+       friend inline void 
+       _setLength(
+               Segment & me, 
+               typename Size<THost>::Type new_length)
+       {
+SEQAN_CHECKPOINT
+               me.data_end_position = new_length;
+       }
+
+//____________________________________________________________________________
+
+       friend inline typename Position<Segment>::Type 
+       endPosition(Segment & me)
+       {
+SEQAN_CHECKPOINT
+               return me.data_end_position;
+       }
+       friend inline typename Position<Segment const>::Type 
+       endPosition(Segment const & me)
+       {
+SEQAN_CHECKPOINT
+               return me.data_end_position;
+       }
+
+//____________________________________________________________________________
+};
+
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Metafunction.Prefix:
+..summary:Prefix sequence type.
+..signature:Prefix<T>::Type
+..param.T:A sequence type.
+...type:Class.String
+..returns.param.Type:The prefix type.
+..see:Spec.PrefixSegment
+..see:Metafunction.Infix
+*/
+
+struct InfixSegment;
+struct SuffixSegment;
+
+template <typename THost>
+struct Prefix
+{
+       typedef Segment<THost, PrefixSegment> Type;
+};
+
+template <typename THost>
+struct Prefix< Segment<THost, InfixSegment> >
+{
+       typedef Segment<THost, InfixSegment> Type;
+};
+template <typename THost>
+struct Prefix< Segment<THost, SuffixSegment> >
+{
+       typedef Segment<THost, InfixSegment> Type;
+};
+template <typename THost>
+struct Prefix< Segment<THost, PrefixSegment> >
+{
+       typedef Segment<THost, PrefixSegment> Type;
+};
+
+template <typename THost, typename TSpec>
+struct Prefix< Segment<THost, TSpec> const >:
+       Prefix< Segment<THost, TSpec> > {};
+
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename THost, typename TPosition>
+inline void
+set(Segment<THost, PrefixSegment> & me,
+       THost & host_,
+       TPosition end_)
+{
+SEQAN_CHECKPOINT
+       setHost(me, host_);
+       setEnd(me, end_);
+}
+//____________________________________________________________________________
+
+template <typename THost>
+inline void
+set(Segment<THost, PrefixSegment> & me,
+       THost & host_)
+{
+SEQAN_CHECKPOINT
+       setHost(me, host_);
+       setEnd(me, end(host_));
+}
+
+//____________________________________________________________________________
+
+template <typename THost, typename TSpec>
+inline void
+set(Segment<THost, PrefixSegment> & me,
+       Segment<THost, TSpec> & source)
+{
+SEQAN_CHECKPOINT
+       setHost(me, host(source));
+       setEndPosition(me, endPosition(source));
+}
+
+template <typename THost, typename TSpec>
+inline void
+set(Segment<THost, PrefixSegment> & me,
+       Segment<THost, TSpec> const & source)
+{
+SEQAN_CHECKPOINT
+       setHost(me, host(source));
+       setEndPosition(me, endPosition(source));
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename THost>
+inline bool
+atBegin(Segment<THost, PrefixSegment> const & segment)
+{
+SEQAN_CHECKPOINT
+       return (endPosition(segment) == length(host(segment)));
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename THost>
+inline bool
+atEnd(Segment<THost, PrefixSegment> const & segment)
+{
+SEQAN_CHECKPOINT
+       return (endPosition(segment) == 0);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename THost>
+inline void
+goBegin(Segment<THost, PrefixSegment> & segment,
+               THost &)
+{
+SEQAN_CHECKPOINT
+       goBegin(segment);
+}
+
+template <typename THost>
+inline void
+goBegin(Segment<THost, PrefixSegment> & segment)
+{
+       setEnd(segment);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename THost>
+inline void
+goEnd(Segment<THost, PrefixSegment> & segment,
+         THost &)
+{
+SEQAN_CHECKPOINT
+       goEnd(segment);
+}
+
+template <typename THost>
+inline void
+goEnd(Segment<THost, PrefixSegment> & segment)
+{
+       setEnd(segment, 0);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename THost>
+inline Segment<THost, PrefixSegment> &
+operator ++(Segment<THost, PrefixSegment> & segment)
+{
+       setEnd(segment, endPosition(segment) - 1);
+       return segment;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename THost>
+inline Segment<THost, PrefixSegment> &
+operator --(Segment<THost, PrefixSegment> & segment)
+{
+       setEnd(segment, endPosition(segment) + 1);
+       return segment;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Function.prefix:
+..cat:Containers
+..summary:Creates prefix object.
+..signature:prefix(host, end)
+..param.host:The complete sequence.
+...type:Class.String
+...type:Adaption.char array
+..param.end:Position or iterator behind the last element of the segment.
+...type:Metafunction.Position
+...type:Metafunction.Iterator
+..returns:The prefix of $host that begins at $begin$.
+...remarks:The type of the prefix is given by @Metafunction.Prefix@.
+..remarks:Notational sugar.
+..see:Spec.PrefixSegment
+..see:Function.suffix
+..see:Function.infix
+*/
+
+template <typename T, typename TPosEnd>
+inline typename Prefix<T>::Type
+prefix(T & t, TPosEnd pos_end)
+{
+SEQAN_CHECKPOINT
+       return typename Prefix<T>::Type(t, pos_end);
+}
+
+template <typename T, typename TPosEnd>
+inline typename Prefix<T *>::Type
+prefix(T * t, TPosEnd pos_end)
+{
+SEQAN_CHECKPOINT
+       return typename Prefix<T *>::Type (t, pos_end);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// A prefix of a prefix -> is a prefix
+template <typename T, typename TPosEnd>
+inline typename Prefix<Segment<T, PrefixSegment> >::Type
+prefix(Segment<T, PrefixSegment> & t, TPosEnd pos_end)
+{
+SEQAN_CHECKPOINT
+       return typename Prefix<Segment<T, PrefixSegment> >::Type (
+               host(t), 
+               beginPosition(t) + pos_end);
+}
+template <typename T, typename TPosEnd>
+inline typename Prefix<Segment<T, PrefixSegment> const>::Type
+prefix(Segment<T, PrefixSegment> const & t, TPosEnd pos_end)
+{
+SEQAN_CHECKPOINT
+       return typename Prefix<Segment<T, PrefixSegment> const>::Type (
+               host(t), 
+               beginPosition(t) + pos_end);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// A prefix of an infix -> is an infix
+template <typename T, typename TPosEnd>
+inline typename Prefix<Segment<T, InfixSegment> >::Type
+prefix(Segment<T, InfixSegment> & t, TPosEnd pos_end)
+{
+SEQAN_CHECKPOINT
+       return typename Prefix<Segment<T, InfixSegment> >::Type (
+               host(t), 
+               beginPosition(t),
+               beginPosition(t) + pos_end);
+}
+template <typename T, typename TPosEnd>
+inline typename Prefix<Segment<T, InfixSegment> const>::Type
+prefix(Segment<T, InfixSegment> const & t, TPosEnd pos_end)
+{
+SEQAN_CHECKPOINT
+       return typename Prefix<Segment<T, InfixSegment> const>::Type (
+               host(t), 
+               beginPosition(t),
+               beginPosition(t) + pos_end);
+}
+
+
+//////////////////////////////////////////////////////////////////////////////
+// A prefix of an suffix -> is an infix
+template <typename T, typename TPosEnd>
+inline typename Prefix<Segment<T, SuffixSegment> >::Type
+prefix(Segment<T, SuffixSegment> & t, TPosEnd pos_end)
+{
+SEQAN_CHECKPOINT
+       return typename Prefix<Segment<T, SuffixSegment> >::Type (
+               host(t), 
+               beginPosition(t),
+               beginPosition(t) + pos_end);
+}
+template <typename T, typename TPosEnd>
+inline typename Prefix<Segment<T, SuffixSegment> const>::Type
+prefix(Segment<T, SuffixSegment> const & t, TPosEnd pos_end)
+{
+SEQAN_CHECKPOINT
+       return typename Prefix<Segment<T, SuffixSegment> const>::Type (
+               host(t), 
+               beginPosition(t),
+               beginPosition(t) + pos_end);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+} //namespace SEQAN_NAMESPACE_MAIN
+
+#endif //#ifndef SEQAN_HEADER_...
diff --git a/SeqAn-1.1/seqan/sequence/segment_suffix.h b/SeqAn-1.1/seqan/sequence/segment_suffix.h
new file mode 100644 (file)
index 0000000..36d360b
--- /dev/null
@@ -0,0 +1,583 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de 
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: segment_suffix.h,v 1.1 2008/08/25 16:20:04 langmead Exp $
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_SEGMENT_SUFFIX_H
+#define SEQAN_HEADER_SEGMENT_SUFFIX_H
+
+
+namespace SEQAN_NAMESPACE_MAIN
+{
+
+//////////////////////////////////////////////////////////////////////////////
+// SuffixSegment
+//////////////////////////////////////////////////////////////////////////////
+
+
+/**
+.Spec.SuffixSegment:
+..cat:Segments
+..summary:End part segment of a sequence.
+..general:Class.Segment
+..signature:Segment<THost, SuffixSegment>
+..param.THost:Type of the whole sequence.
+...text:Instances of $Segment<THost, SuffixSegment>$ are suffixes of $THost$ objects.
+...remarks:Use @Metafunction.Host@ to get the host type for a given class.
+..remarks.note:Since the appropriate segment type depends on the host sequence type, 
+       it is recommended to use the metafunction @Metafunction.Suffix@ instead of explicitely 
+       choose a specialization of @Class.Segment@.
+..see:Spec.InfixSegment
+..see:Metafunction.Suffix
+*/
+
+struct SuffixSegment;
+
+template <typename THost_>
+class Segment<THost_, SuffixSegment>
+{
+protected:
+       typedef typename Host<Segment>::Type THost;
+
+       typename _Pointer<THost>::Type data_host;
+       typename Position<THost>::Type data_begin_position;
+
+//____________________________________________________________________________
+
+public:
+
+/**
+.Memfunc.SuffixSegment#Segment:
+..class:Spec.SuffixSegment
+..summary:Constructor
+..signature:Segment<THost, SuffixSegment> ()
+..signature:Segment<THost, SuffixSegment> (suffix)
+..signature:Segment<THost, SuffixSegment> (host [, begin])
+..param.suffix:Other suffix object. (copy constructor)
+..param.host:The whole sequence.
+..param.begin:Position in $host$ of the first item in segment. (optional)
+...default:$0$
+...type:Metafunction.Position.$Position<THost>::Type$
+...type:Metafunction.Iterator.$Iterator<THost>::Type$
+..remarks:
+...text:A Segment object cannot work without a host. If the object is default constructed,
+the host must be set by @Function.setHost@ before the segment can be used.
+...text:If a segment object is constructed by the copy constructor, the
+members of the new constructed object are set to the same values as the members in the
+source object; the host object is not modified.
+Note that this is a special case, since all other copy operations result in changes 
+of the host object.
+...text:$begin$ must be a valid position/iterator in $host$.
+If $begin$ is omitted, the suffix segment corresponding to
+the whole sequence $host$ is constructed.
+This is the same segment that is returned by @Function.goBegin@.
+*/
+       Segment():
+               data_begin_position(0)
+       {
+SEQAN_CHECKPOINT
+       }
+
+       Segment(THost & _host):
+               data_host(& _host),
+               data_begin_position(0)
+       {
+SEQAN_CHECKPOINT
+       }
+
+       Segment(typename _Parameter<THost>::Type _host, typename Position<THost>::Type _begin_index):
+               data_host(_toPointer(_host)),
+               data_begin_position(_begin_index)
+       {
+SEQAN_CHECKPOINT
+       }
+/*
+       Segment(typename _Parameter<THost>::Type _host, typename Iterator<THost, Rooted>::Type _begin):
+               data_host(_toPointer(_host)),
+               data_begin_position(position(_begin))
+       {
+SEQAN_CHECKPOINT
+       }
+*/
+       Segment(typename _Parameter<THost>::Type _host, typename Iterator<THost, Standard>::Type _begin):
+               data_host(_toPointer(_host)),
+               data_begin_position(position(_begin, _host))
+       {
+SEQAN_CHECKPOINT
+       }
+/*
+       Segment(Segment const & _other):
+               data_host(_other.data_host),
+               data_begin_position(_other.data_begin_position)
+       {
+SEQAN_CHECKPOINT
+       }
+*/
+       template <typename THost2, typename TSpec2>
+       Segment(Segment<THost2, TSpec2> const & _other):
+               data_host(_toPointer(host(_other))),
+               data_begin_position(beginPosition(_other))
+       {
+SEQAN_CHECKPOINT
+       }
+
+       ~ Segment() 
+       {
+SEQAN_CHECKPOINT
+       }
+
+       template <typename TSource>
+       inline Segment & 
+       operator = (TSource const & source)
+       {
+               assign(*this, source);
+               return *this;
+       }
+       inline Segment & 
+       operator = (Segment const & source)
+       {
+               assign(*this, source);
+               return *this;
+       }
+//____________________________________________________________________________
+
+public:
+
+       friend inline typename _Parameter<THost>::Type 
+       host(Segment & me)
+       {
+SEQAN_CHECKPOINT
+               return _toParameter<THost>(me.data_host);
+       }
+
+       friend inline typename _Parameter<THost>::Type 
+       host(Segment const & me)
+       {
+SEQAN_CHECKPOINT
+               return _toParameter<THost>(me.data_host);
+       }
+
+//____________________________________________________________________________
+
+       friend inline void 
+       setHost(Segment & me, typename _Parameter<THost>::Type _host)
+       {
+SEQAN_CHECKPOINT
+               me.data_host = _toPointer(_host);
+       }
+
+//____________________________________________________________________________
+
+       template <typename TPos>
+       inline typename Reference<Segment>::Type
+       operator [] (TPos pos)
+       {
+SEQAN_CHECKPOINT
+               return value(*this, pos);
+       }
+
+       template <typename TPos>
+       inline typename Reference<Segment const>::Type 
+       operator [] (TPos pos) const
+       {
+SEQAN_CHECKPOINT
+               return value(*this, pos);
+       }
+
+//____________________________________________________________________________
+
+       friend inline typename Iterator<Segment, Standard>::Type 
+       begin(Segment & me,
+               Standard)
+       {
+SEQAN_CHECKPOINT
+               return begin(host(me), Standard()) + me.data_begin_position;
+       }
+       friend inline typename Iterator<Segment const, Standard>::Type 
+       begin(Segment const & me,
+               Standard)
+       {
+SEQAN_CHECKPOINT
+               return begin(host(me), Standard()) + me.data_begin_position;
+       }
+
+//____________________________________________________________________________
+
+       friend inline typename Position<Segment const>::Type 
+       beginPosition(Segment const & me)
+       {
+SEQAN_CHECKPOINT
+               return me.data_begin_position;
+       }
+       friend inline typename Position<Segment>::Type 
+       beginPosition(Segment & me)
+       {
+SEQAN_CHECKPOINT
+               return me.data_begin_position;
+       }
+//____________________________________________________________________________
+
+       template <typename TIterator>
+       friend inline void 
+       setBegin(Segment & me, TIterator new_begin)
+       {
+SEQAN_CHECKPOINT
+               me.data_begin_position = new_begin - begin(host(me));//, Standard());
+       }
+
+       friend inline void 
+       setBegin(typename Iterator<Segment, Rooted>::Type new_begin)
+       {
+SEQAN_CHECKPOINT
+               container(new_begin).data_begin_position = hostIterator(new_begin) - begin(host(container(new_begin)));//, Standard());
+       }
+
+//____________________________________________________________________________
+
+       template <typename TPosition>
+       friend inline void 
+       setBeginPosition(Segment & me, TPosition new_begin)
+       {
+SEQAN_CHECKPOINT
+               me.data_begin_position = new_begin;
+       }
+
+//____________________________________________________________________________
+
+       friend inline typename Iterator<Segment, Standard>::Type 
+       end(Segment & me,
+               Standard)
+       {
+SEQAN_CHECKPOINT
+               return end(host(me), Standard());
+       }
+       friend inline typename Iterator<Segment const, Standard>::Type 
+       end(Segment const & me,
+               Standard)
+       {
+SEQAN_CHECKPOINT
+               return end(host(me), Standard());
+       }
+
+//____________________________________________________________________________
+
+
+       friend inline typename Position<Segment>::Type 
+       endPosition(Segment & me)
+       {
+SEQAN_CHECKPOINT
+               return length(host(me));
+       }
+
+       friend inline typename Position<Segment const>::Type 
+       endPosition(Segment const & me)
+       {
+SEQAN_CHECKPOINT
+               return length(host(me));
+       }
+
+//____________________________________________________________________________
+
+       template <typename TIterator>
+       friend inline void
+       setEnd(Segment &, TIterator)
+       {
+       }
+
+       friend inline void 
+       _setLength(Segment &, typename Size<THost>::Type)
+       {
+       }
+
+//____________________________________________________________________________
+};
+
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Metafunction.Suffix:
+..summary:Suffix sequence type.
+..signature:Suffix<T>::Type
+..param.T:A sequence type.
+...type:Class.String
+..returns.param.Type:The suffix type.
+..see:Spec.SuffixSegment
+..see:Metafunction.Infix
+..see:Metafunction.Prefix
+*/
+
+struct PrefixSegment;
+struct InfixSegment;
+
+template <typename THost>
+struct Suffix
+{
+       typedef Segment<THost, SuffixSegment> Type;
+};
+
+template <typename THost>
+struct Suffix< Segment<THost, InfixSegment> >
+{
+       typedef Segment<THost, InfixSegment> Type;
+};
+template <typename THost>
+struct Suffix< Segment<THost, SuffixSegment> >
+{
+       typedef Segment<THost, SuffixSegment> Type;
+};
+template <typename THost>
+struct Suffix< Segment<THost, PrefixSegment> >
+{
+       typedef Segment<THost, InfixSegment> Type;
+};
+
+template <typename THost, typename TSpec>
+struct Suffix< Segment<THost, TSpec> const >:
+       Suffix< Segment<THost, TSpec> > {};
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename THost, typename TPosition>
+inline void
+set(Segment<THost, SuffixSegment> & me,
+       THost & host_,
+       TPosition begin_)
+{
+SEQAN_CHECKPOINT
+       setHost(me, host_);
+       setBegin(me, begin_);
+}
+//____________________________________________________________________________
+
+template <typename THost>
+inline void
+set(Segment<THost, SuffixSegment> & me,
+       THost & host_)
+{
+SEQAN_CHECKPOINT
+       setHost(me, host_);
+       setBegin(me, begin(host_, Standard()));
+}
+
+//____________________________________________________________________________
+
+template <typename THost, typename TSpec>
+inline void
+set(Segment<THost, SuffixSegment> & me,
+       Segment<THost, TSpec> & source)
+{
+SEQAN_CHECKPOINT
+       setHost(me, host(source));
+       setBeginPosition(me, beginPosition(source));
+}
+
+template <typename THost, typename TSpec>
+inline void
+set(Segment<THost, SuffixSegment> & me,
+       Segment<THost, TSpec> const & source)
+{
+SEQAN_CHECKPOINT
+       setHost(me, host(source));
+       setBeginPosition(me, beginPosition(source));
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename THost>
+inline bool
+atBegin(Segment<THost, SuffixSegment> const & segment)
+{
+SEQAN_CHECKPOINT
+       return (beginPosition(segment) == 0);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename THost>
+inline bool
+atEnd(Segment<THost, SuffixSegment> const & segment)
+{
+SEQAN_CHECKPOINT
+       return (beginPosition(segment) == length(host(segment)));
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename THost>
+inline void
+goBegin(Segment<THost, SuffixSegment> & segment,
+               THost &)
+{
+SEQAN_CHECKPOINT
+       goBegin(segment);
+}
+
+template <typename THost>
+inline void
+goBegin(Segment<THost, SuffixSegment> & segment)
+{
+       setBegin(segment);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename THost>
+inline void
+goEnd(Segment<THost, SuffixSegment> & segment,
+         THost &)
+{
+SEQAN_CHECKPOINT
+       goEnd(segment);
+}
+
+template <typename THost>
+inline void
+goEnd(Segment<THost, SuffixSegment> & segment)
+{
+       setBegin(segment, length(host(segment))-1);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename THost>
+inline Segment<THost, SuffixSegment> &
+operator ++(Segment<THost, SuffixSegment> & segment)
+{
+       setBegin(segment, beginPosition(segment) + 1);
+       return segment;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename THost>
+inline Segment<THost, SuffixSegment> &
+operator --(Segment<THost, SuffixSegment> & segment)
+{
+       setBegin(segment, beginPosition(segment) - 1);
+       return segment;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Function.suffix:
+..cat:Containers
+..summary:Creates suffix object.
+..signature:suffix(host, begin)
+..param.host:The complete sequence.
+...type:Class.String
+...type:Adaption.char array
+..param.begin:Position or iterator of the first element of the segment.
+...type:Metafunction.Position
+...type:Metafunction.Iterator
+..returns:The suffix of $host that begins at $begin$.
+...remarks:The type of the suffix is given by @Metafunction.Suffix@.
+..remarks:Notational sugar.
+..see:Spec.SuffixSegment
+..see:Function.infix
+*/
+
+template <typename T, typename TPosBegin>
+inline typename Suffix<T>::Type
+suffix(T & t, TPosBegin pos_begin)
+{
+SEQAN_CHECKPOINT
+       return typename Suffix<T>::Type(t, pos_begin);
+}
+
+template <typename T, typename TPosBegin>
+inline typename Suffix<T *>::Type
+suffix(T * t, TPosBegin pos_begin)
+{
+SEQAN_CHECKPOINT
+       return typename Suffix<T *>::Type (t, pos_begin);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// A suffix of a prefix -> is an infix
+template <typename T, typename TPosBegin>
+inline typename Suffix<Segment<T, PrefixSegment> >::Type
+suffix(Segment<T, PrefixSegment> & t, TPosBegin pos_begin)
+{
+SEQAN_CHECKPOINT
+       return typename Suffix<Segment<T, PrefixSegment> >::Type (
+               host(t), 
+               beginPosition(t) + pos_begin, 
+               endPosition(t));
+}
+template <typename T, typename TPosBegin>
+inline typename Suffix<Segment<T, PrefixSegment> const>::Type
+suffix(Segment<T, PrefixSegment> const & t, TPosBegin pos_begin)
+{
+SEQAN_CHECKPOINT
+       return typename Suffix<Segment<T, PrefixSegment> const>::Type (
+               host(t), 
+               beginPosition(t) + pos_begin, 
+               endPosition(t));
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// A suffix of a infix -> is an infix
+template <typename T, typename TPosBegin>
+inline typename Suffix<Segment<T, InfixSegment> >::Type
+suffix(Segment<T, InfixSegment> & t, TPosBegin pos_begin)
+{
+SEQAN_CHECKPOINT
+       return typename Suffix<Segment<T, InfixSegment> >::Type (
+               host(t), 
+               beginPosition(t) + pos_begin, 
+               endPosition(t));
+}
+template <typename T, typename TPosBegin>
+inline typename Suffix<Segment<T, InfixSegment> const>::Type
+suffix(Segment<T, InfixSegment> const & t, TPosBegin pos_begin)
+{
+SEQAN_CHECKPOINT
+       return typename Suffix<Segment<T, InfixSegment> const>::Type (
+               host(t), 
+               beginPosition(t) + pos_begin, 
+               endPosition(t));
+}
+
+
+//////////////////////////////////////////////////////////////////////////////
+// A suffix of a suffix -> is a suffix
+template <typename T, typename TPosBegin>
+inline typename Suffix<Segment<T, SuffixSegment> >::Type
+suffix(Segment<T, SuffixSegment> & t, TPosBegin pos_begin)
+{
+SEQAN_CHECKPOINT
+       return typename Suffix<Segment<T, SuffixSegment> >::Type (
+               host(t), 
+               beginPosition(t) + pos_begin);
+}
+template <typename T, typename TPosBegin>
+inline typename Suffix<Segment<T, SuffixSegment> const>::Type
+suffix(Segment<T, SuffixSegment> const & t, TPosBegin pos_begin)
+{
+SEQAN_CHECKPOINT
+       return typename Suffix<Segment<T, SuffixSegment> const>::Type (
+               host(t), 
+               beginPosition(t) + pos_begin);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+} //namespace SEQAN_NAMESPACE_MAIN
+
+#endif //#ifndef SEQAN_HEADER_...
diff --git a/SeqAn-1.1/seqan/sequence/sequence_forwards.h b/SeqAn-1.1/seqan/sequence/sequence_forwards.h
new file mode 100644 (file)
index 0000000..411aed3
--- /dev/null
@@ -0,0 +1,52 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de 
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: sequence_forwards.h,v 1.1 2008/08/25 16:20:04 langmead Exp $
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_SEQUENCE_FORWARDS_H 
+#define SEQAN_HEADER_SEQUENCE_FORWARDS_H 
+
+//SEQAN_NO_GENERATED_FORWARDS: no forwards are generated for this file
+
+//////////////////////////////////////////////////////////////////////////////
+
+namespace SEQAN_NAMESPACE_MAIN 
+{
+    
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TFile, typename TData> 
+void read(TFile & file, TData & data);         // "projects/library/seqan/file/file_format_raw.h"(307)
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TFile, typename TData> 
+void write(TFile & file, TData & data);        // "projects/library/seqan/file/file_format_raw.h"(327)
+
+template <typename TFile, typename TData> 
+void write(TFile & file, TData const & data);   // "projects/library/seqan/file/file_format_raw.h"(335)
+
+
+//////////////////////////////////////////////////////////////////////////////
+
+} //namespace SEQAN_NAMESPACE_MAIN
+
+//////////////////////////////////////////////////////////////////////////////
+
+#endif
+
diff --git a/SeqAn-1.1/seqan/sequence/sequence_generated_forwards.h b/SeqAn-1.1/seqan/sequence/sequence_generated_forwards.h
new file mode 100644 (file)
index 0000000..3edea41
--- /dev/null
@@ -0,0 +1,1557 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de 
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_SEQUENCE_GENERATED_FORWARDS_H 
+#define SEQAN_HEADER_SEQUENCE_GENERATED_FORWARDS_H 
+
+//////////////////////////////////////////////////////////////////////////////
+// NOTE: This file is automatically generated by build_forwards.py
+//       Do not edit this file manually!
+//////////////////////////////////////////////////////////////////////////////
+
+
+//////////////////////////////////////////////////////////////////////////////
+// CLASSES
+//////////////////////////////////////////////////////////////////////////////
+
+namespace SEQAN_NAMESPACE_MAIN {
+
+//____________________________________________________________________________
+// Alloc
+
+template <typename TSpec > struct Alloc;               // "projects/library/seqan/sequence/string_base.h"(34)
+
+//____________________________________________________________________________
+// AllowsFastRandomAccess
+
+template <typename T> struct AllowsFastRandomAccess;           // "projects/library/seqan/sequence/sequence_interface.h"(172)
+
+//____________________________________________________________________________
+// Array
+
+template <unsigned int ISize> struct Array;            // "projects/library/seqan/sequence/string_array.h"(42)
+
+//____________________________________________________________________________
+// Block
+
+template <unsigned int SPACE > struct Block;           // "projects/library/seqan/sequence/string_stack.h"(47)
+
+//____________________________________________________________________________
+// CStyle
+
+struct CStyle;         // "projects/library/seqan/sequence/string_cstyle.h"(67)
+
+//____________________________________________________________________________
+// Comparator
+
+template <typename T> struct Comparator;               // "projects/library/seqan/sequence/lexical.h"(180)
+
+//____________________________________________________________________________
+// ConcatDirect
+
+template <typename TDelimiter > struct ConcatDirect;           // "projects/library/seqan/sequence/sequence_multiple.h"(67)
+
+//____________________________________________________________________________
+// ConcatVirtual
+
+template <typename TDelimiter > struct ConcatVirtual;          // "projects/library/seqan/sequence/sequence_multiple.h"(1871)
+
+//____________________________________________________________________________
+// Concatenator
+
+template <typename TObject> struct Concatenator;               // "projects/library/seqan/sequence/sequence_multiple.h"(95)
+
+//____________________________________________________________________________
+// ConcatenatorNto1
+
+template <typename TStringSet> struct ConcatenatorNto1;        // "projects/library/seqan/sequence/sequence_multiple.h"(1711)
+
+//____________________________________________________________________________
+// DefaultOverflowExplicit
+
+template <typename TValue> struct DefaultOverflowExplicit;             // "projects/library/seqan/sequence/string_pointer.h"(69)
+template <typename T> struct DefaultOverflowExplicit;          // "projects/library/seqan/sequence/sequence_interface.h"(109)
+
+//____________________________________________________________________________
+// DefaultOverflowImplicit
+
+template <typename TValue> struct DefaultOverflowImplicit;             // "projects/library/seqan/sequence/string_pointer.h"(44)
+template <typename T> struct DefaultOverflowImplicit;          // "projects/library/seqan/sequence/sequence_interface.h"(89)
+
+//____________________________________________________________________________
+// DefaultPrefixOrder
+
+template <typename T> struct DefaultPrefixOrder;               // "projects/library/seqan/sequence/lexical.h"(58)
+
+//____________________________________________________________________________
+// Dependent
+
+template <typename TSpec > struct Dependent;           // "projects/library/seqan/sequence/sequence_multiple.h"(50)
+
+//____________________________________________________________________________
+// Infix
+
+template <typename THost> struct Infix;        // "projects/library/seqan/sequence/segment_infix.h"(427)
+
+//____________________________________________________________________________
+// InfixSegment
+
+struct InfixSegment;           // "projects/library/seqan/sequence/segment_base.h"(45)
+struct InfixSegment;           // "projects/library/seqan/sequence/segment_prefix.h"(334)
+struct InfixSegment;           // "projects/library/seqan/sequence/segment_suffix.h"(325)
+
+//____________________________________________________________________________
+// IsContiguous
+
+template <typename TValue> struct IsContiguous;        // "projects/library/seqan/sequence/string_pointer.h"(97)
+template <typename T> struct IsContiguous;             // "projects/library/seqan/sequence/sequence_interface.h"(130)
+
+//____________________________________________________________________________
+// IsSequence
+
+template <typename T> struct IsSequence;               // "projects/library/seqan/sequence/sequence_interface.h"(151)
+
+//____________________________________________________________________________
+// Lexical
+
+template <typename TSpec > struct Lexical;             // "projects/library/seqan/sequence/lexical.h"(117)
+
+//____________________________________________________________________________
+// MapType
+
+template <typename T> struct MapType;          // "projects/library/seqan/sequence/string_value_expand.h"(211)
+
+//____________________________________________________________________________
+// Owner
+
+template <typename TSpec > struct Owner;               // "projects/library/seqan/sequence/sequence_multiple.h"(84)
+
+//____________________________________________________________________________
+// Packed
+
+template <typename THostspec > struct Packed;          // "projects/library/seqan/sequence/string_packed.h"(33)
+
+//____________________________________________________________________________
+// Prefix
+
+template <typename THost> struct Prefix;               // "projects/library/seqan/sequence/segment_prefix.h"(339)
+
+//____________________________________________________________________________
+// PrefixSegment
+
+struct PrefixSegment;          // "projects/library/seqan/sequence/segment_prefix.h"(50)
+struct PrefixSegment;          // "projects/library/seqan/sequence/segment_suffix.h"(324)
+
+//____________________________________________________________________________
+// Segment
+
+template <typename THost, typename TSpec > class Segment;              // "projects/library/seqan/sequence/segment_base.h"(49)
+
+//____________________________________________________________________________
+// String
+
+template <typename TValue, typename TSpec > class String;              // "projects/library/seqan/sequence/string_base.h"(54)
+
+//____________________________________________________________________________
+// StringSet
+
+template <typename TString, typename TSpec > class StringSet;          // "projects/library/seqan/sequence/sequence_multiple.h"(92)
+
+//____________________________________________________________________________
+// StringSetLimits
+
+template <typename TString> struct StringSetLimits;            // "projects/library/seqan/sequence/sequence_multiple.h"(110)
+
+//____________________________________________________________________________
+// StringSetPosition
+
+template <typename TString> struct StringSetPosition;          // "projects/library/seqan/sequence/sequence_multiple.h"(120)
+
+//____________________________________________________________________________
+// Suffix
+
+template <typename THost> struct Suffix;               // "projects/library/seqan/sequence/segment_suffix.h"(329)
+
+//____________________________________________________________________________
+// SuffixSegment
+
+struct SuffixSegment;          // "projects/library/seqan/sequence/segment_prefix.h"(335)
+struct SuffixSegment;          // "projects/library/seqan/sequence/segment_suffix.h"(49)
+
+//____________________________________________________________________________
+// TagExact_
+
+struct TagExact_;              // "projects/library/seqan/sequence/sequence_interface.h"(69)
+
+//____________________________________________________________________________
+// TagGenerous_
+
+struct TagGenerous_;           // "projects/library/seqan/sequence/sequence_interface.h"(65)
+
+//____________________________________________________________________________
+// TagInsist_
+
+struct TagInsist_;             // "projects/library/seqan/sequence/sequence_interface.h"(56)
+
+//____________________________________________________________________________
+// TagLimit_
+
+struct TagLimit_;              // "projects/library/seqan/sequence/sequence_interface.h"(61)
+
+//____________________________________________________________________________
+// TagPrefixGreater_
+
+struct TagPrefixGreater_;              // "projects/library/seqan/sequence/lexical.h"(43)
+
+//____________________________________________________________________________
+// TagPrefixLess_
+
+struct TagPrefixLess_;         // "projects/library/seqan/sequence/lexical.h"(40)
+
+//____________________________________________________________________________
+// ValueExpand
+
+template <typename THost, typename TMap, typename TSpec > struct ValueExpand;          // "projects/library/seqan/sequence/string_value_expand.h"(31)
+
+//____________________________________________________________________________
+// ValueExpandIter
+
+struct ValueExpandIter;        // "projects/library/seqan/sequence/string_value_expand.h"(33)
+
+//____________________________________________________________________________
+// _Append_Sequence_2_Segment
+
+template <typename TExpand> struct _Append_Sequence_2_Segment;         // "projects/library/seqan/sequence/segment_base.h"(543)
+
+//____________________________________________________________________________
+// _Append_String
+
+template <typename TExpand> struct _Append_String;             // "projects/library/seqan/sequence/string_base.h"(977)
+
+//____________________________________________________________________________
+// _Append_Value_2_Segment
+
+template <typename TExpand> struct _Append_Value_2_Segment;            // "projects/library/seqan/sequence/segment_base.h"(697)
+
+//____________________________________________________________________________
+// _Append_Value_2_String
+
+template <typename TExpand> struct _Append_Value_2_String;             // "projects/library/seqan/sequence/string_base.h"(1094)
+
+//____________________________________________________________________________
+// _Assign_Segment
+
+template <typename TExpand> struct _Assign_Segment;            // "projects/library/seqan/sequence/segment_base.h"(333)
+
+//____________________________________________________________________________
+// _Assign_String
+
+template <typename TExpand> struct _Assign_String;             // "projects/library/seqan/sequence/string_base.h"(753)
+
+//____________________________________________________________________________
+// _Assign_String_2_StringArray
+
+template <typename TExpand, bool IS_CONTIGUOUS> struct _Assign_String_2_StringArray;           // "projects/library/seqan/sequence/string_cstyle.h"(457)
+
+//____________________________________________________________________________
+// _ClearSpace_Expand_String_Base_
+
+template <typename TExpand> struct _ClearSpace_Expand_String_Base_;            // "projects/library/seqan/sequence/string_base.h"(426)
+
+//____________________________________________________________________________
+// _ClearSpace_String_Base_
+
+template <typename TExpand> struct _ClearSpace_String_Base_;           // "projects/library/seqan/sequence/string_base.h"(214)
+
+//____________________________________________________________________________
+// _ClearSpace_String_Packed_
+
+template <typename TExpand> struct _ClearSpace_String_Packed_;         // "projects/library/seqan/sequence/string_packed.h"(533)
+
+//____________________________________________________________________________
+// _Create_ArrayString
+
+template <typename TExpand> struct _Create_ArrayString;        // "projects/library/seqan/sequence/string_cstyle.h"(600)
+
+//____________________________________________________________________________
+// _Create_ArrayString_Expand
+
+template <typename TExpand> struct _Create_ArrayString_Expand;         // "projects/library/seqan/sequence/string_cstyle.h"(547)
+
+//____________________________________________________________________________
+// _Fill_String
+
+template <typename TExpand> struct _Fill_String;               // "projects/library/seqan/sequence/string_base.h"(1468)
+
+//____________________________________________________________________________
+// _Insert_Value_2_Segment
+
+template <typename TExpand> struct _Insert_Value_2_Segment;            // "projects/library/seqan/sequence/segment_base.h"(739)
+
+//____________________________________________________________________________
+// _Insert_Value_2_String
+
+template <typename TExpand> struct _Insert_Value_2_String;             // "projects/library/seqan/sequence/string_base.h"(1140)
+
+//____________________________________________________________________________
+// _PackedConsts
+
+template <typename TPackedContainer> struct _PackedConsts;             // "projects/library/seqan/sequence/string_packed.h"(285)
+
+//____________________________________________________________________________
+// _Replace_Sequence_2_Segment
+
+template <typename TExpand> struct _Replace_Sequence_2_Segment;        // "projects/library/seqan/sequence/segment_base.h"(792)
+
+//____________________________________________________________________________
+// _Replace_String
+
+template <typename TExpand> struct _Replace_String;            // "projects/library/seqan/sequence/string_base.h"(1179)
+
+//____________________________________________________________________________
+// _Resize_String
+
+template <typename TExpand> struct _Resize_String;             // "projects/library/seqan/sequence/string_base.h"(1413)
+
+//____________________________________________________________________________
+// _TempCopy
+
+template <typename T> struct _TempCopy;        // "projects/library/seqan/sequence/string_base.h"(108)
+
+} //namespace SEQAN_NAMESPACE_MAIN
+
+
+//////////////////////////////////////////////////////////////////////////////
+// TYPEDEFS
+//////////////////////////////////////////////////////////////////////////////
+
+namespace SEQAN_NAMESPACE_MAIN {
+
+//____________________________________________________________________________
+// CharString
+
+typedef String<char, Alloc<void> > CharString;         // "projects/library/seqan/sequence/sequence_shortcuts.h"(37)
+
+//____________________________________________________________________________
+// Dna5String
+
+typedef String<Dna5, Alloc<void> > Dna5String;         // "projects/library/seqan/sequence/sequence_shortcuts.h"(119)
+
+//____________________________________________________________________________
+// DnaString
+
+typedef String<Dna, Alloc<void> > DnaString;           // "projects/library/seqan/sequence/sequence_shortcuts.h"(90)
+
+//____________________________________________________________________________
+// Exact
+
+typedef Tag<TagExact_> const Exact;            // "projects/library/seqan/sequence/sequence_interface.h"(70)
+
+//____________________________________________________________________________
+// Generous
+
+typedef Tag<TagGenerous_> const Generous;              // "projects/library/seqan/sequence/sequence_interface.h"(66)
+
+//____________________________________________________________________________
+// Insist
+
+typedef Tag<TagInsist_> const Insist;          // "projects/library/seqan/sequence/sequence_interface.h"(57)
+
+//____________________________________________________________________________
+// IupacString
+
+typedef String<Iupac, Alloc<void> > IupacString;               // "projects/library/seqan/sequence/sequence_shortcuts.h"(148)
+
+//____________________________________________________________________________
+// Limit
+
+typedef Tag<TagLimit_> const Limit;            // "projects/library/seqan/sequence/sequence_interface.h"(62)
+
+//____________________________________________________________________________
+// Peptide
+
+typedef String<AminoAcid, Alloc<void> > Peptide;               // "projects/library/seqan/sequence/sequence_shortcuts.h"(176)
+
+//____________________________________________________________________________
+// TagPrefixGreater
+
+typedef Tag<TagPrefixGreater_> const TagPrefixGreater;         // "projects/library/seqan/sequence/lexical.h"(44)
+
+//____________________________________________________________________________
+// TagPrefixLess
+
+typedef Tag<TagPrefixLess_> const TagPrefixLess;               // "projects/library/seqan/sequence/lexical.h"(41)
+
+//____________________________________________________________________________
+// Tight
+
+typedef Tag<TagInsist_> const Tight;           // "projects/library/seqan/sequence/sequence_interface.h"(58)
+
+//____________________________________________________________________________
+// UnicodeString
+
+typedef String<wchar_t, Alloc<void> > UnicodeString;           // "projects/library/seqan/sequence/sequence_shortcuts.h"(63)
+
+} //namespace SEQAN_NAMESPACE_MAIN
+
+
+//////////////////////////////////////////////////////////////////////////////
+// FUNCTIONS
+//////////////////////////////////////////////////////////////////////////////
+
+namespace SEQAN_NAMESPACE_MAIN {
+
+//____________________________________________________________________________
+// _assignValue_packed_string_iterator
+
+template <typename TIter, typename TValue> inline void _assignValue_packed_string_iterator(TIter & me, TValue & _value);               // "projects/library/seqan/sequence/string_packed.h"(969)
+
+//____________________________________________________________________________
+// _assign_copy_packed_string
+
+template <typename TTarget, typename TSource, typename TTag> inline void _assign_copy_packed_string(TTarget & target, TSource & source, Tag<TTag> const tag);          // "projects/library/seqan/sequence/string_packed.h"(327)
+template <typename TTarget, typename TSource, typename TSize, typename TTag> inline void _assign_copy_packed_string(TTarget & target, TSource & source, TSize limit, Tag<TTag> const tag);             // "projects/library/seqan/sequence/string_packed.h"(345)
+
+//____________________________________________________________________________
+// _begin_default
+
+template <typename T> inline typename Iterator<T, Standard>::Type _begin_default(T & me, Standard);            // "projects/library/seqan/sequence/sequence_interface.h"(278)
+template <typename T> inline typename Iterator<T const, Standard>::Type _begin_default(T const & me, Standard);        // "projects/library/seqan/sequence/sequence_interface.h"(286)
+template <typename T> inline typename Iterator<T, Rooted>::Type _begin_default(T & me, Rooted);        // "projects/library/seqan/sequence/sequence_interface.h"(298)
+template <typename T> inline typename Iterator<T const, Rooted>::Type _begin_default(T const & me, Rooted);            // "projects/library/seqan/sequence/sequence_interface.h"(307)
+
+//____________________________________________________________________________
+// _clearSpace
+
+template <typename TValue, typename TExpand> inline size_t _clearSpace(TValue * me, size_t size, Tag<TExpand> const);          // "projects/library/seqan/sequence/string_pointer.h"(390)
+template <typename TValue, typename TExpand> inline size_t _clearSpace(TValue * me, size_t size, size_t limit, Tag<TExpand> const);            // "projects/library/seqan/sequence/string_pointer.h"(401)
+template <typename TValue, typename TPosition, typename TExpand> inline size_t _clearSpace(TValue * me, size_t size, TPosition pos_begin, TPosition pos_end, Tag<TExpand> const);              // "projects/library/seqan/sequence/string_pointer.h"(413)
+template <typename TValue, typename TPosition, typename TExpand> inline size_t _clearSpace(TValue * me, size_t size, TPosition pos_begin, TPosition pos_end, size_t limit, Tag<TExpand> const);        // "projects/library/seqan/sequence/string_pointer.h"(426)
+template <typename TValue, typename THostspec, typename TExpand> inline typename Size< String<TValue, Packed<THostspec> > >::Type _clearSpace(String<TValue, Packed<THostspec> > & me, typename Size< String<TValue, Packed<THostspec> > >::Type size, Tag<TExpand> const);            // "projects/library/seqan/sequence/string_packed.h"(673)
+template <typename TValue, typename THostspec, typename TExpand> inline typename Size< String<TValue, Packed<THostspec> > >::Type _clearSpace(String<TValue, Packed<THostspec> > & me, typename Size< String<TValue, Packed<THostspec> > >::Type size, typename Size< String<TValue, Packed<THostspec> > >::Type limit, Tag<TExpand> const);           // "projects/library/seqan/sequence/string_packed.h"(684)
+template <typename TValue, typename THostspec, typename TPosition, typename TExpand> inline typename Size< String<TValue, Packed<THostspec> > >::Type _clearSpace(String<TValue, Packed<THostspec> > & me, typename Size< String<TValue, Packed<THostspec> > >::Type size, TPosition pos_begin, TPosition pos_end, Tag<TExpand> const);        // "projects/library/seqan/sequence/string_packed.h"(696)
+template <typename TValue, typename THostspec, typename TPosition, typename TExpand> inline typename Size< String<TValue, Packed<THostspec> > >::Type _clearSpace(String<TValue, Packed<THostspec> > & me, typename Size< String<TValue, Packed<THostspec> > >::Type size, TPosition pos_begin, TPosition pos_end, typename Size< String<TValue, Packed<THostspec> > >::Type limit, Tag<TExpand> const);               // "projects/library/seqan/sequence/string_packed.h"(709)
+template <typename TValue, typename TSpec, typename TSize, typename TExpand> inline typename Size< String<TValue, TSpec> >::Type _clearSpace(String<TValue, TSpec> & me, TSize size, Tag<TExpand> const);              // "projects/library/seqan/sequence/string_base.h"(631)
+template <typename TValue, typename TSpec, typename TSize, typename TExpand> inline typename Size< String<TValue, TSpec> >::Type _clearSpace(String<TValue, TSpec> & me, TSize size, TSize limit, Tag<TExpand> const);         // "projects/library/seqan/sequence/string_base.h"(642)
+template <typename TValue, typename TSpec, typename TSize, typename TPosition, typename TExpand> inline typename Size< String<TValue, TSpec> >::Type _clearSpace(String<TValue, TSpec> & me, TSize size, TPosition pos_begin, TPosition pos_end, Tag<TExpand> const);          // "projects/library/seqan/sequence/string_base.h"(654)
+template <typename TValue, typename TSpec, typename TSize, typename TPosition, typename TExpand> inline typename Size< String<TValue, TSpec> >::Type _clearSpace(String<TValue, TSpec> & me, TSize size, TPosition pos_begin, TPosition pos_end, TSize limit, Tag<TExpand> const);             // "projects/library/seqan/sequence/string_base.h"(667)
+
+//____________________________________________________________________________
+// _computeSize4Capacity
+
+template <typename T, typename TSize> inline TSize _computeSize4Capacity(T const & , TSize capacity);          // "projects/library/seqan/sequence/sequence_interface.h"(900)
+
+//____________________________________________________________________________
+// _countNonZeroValues
+
+template <typename TValue, typename TSpec, typename TPos > inline typename Size< String<TValue, TSpec> >::Type _countNonZeroValues(String<TValue, TSpec> const &me, TPos i);           // "projects/library/seqan/sequence/sequence_multiple.h"(1009)
+
+//____________________________________________________________________________
+// _end_default
+
+template <typename T> inline typename Iterator<T, Standard>::Type _end_default(T & me, Standard);              // "projects/library/seqan/sequence/sequence_interface.h"(461)
+template <typename T> inline typename Iterator<T const, Standard>::Type _end_default(T const & me, Standard);          // "projects/library/seqan/sequence/sequence_interface.h"(469)
+template <typename T> inline typename Iterator<T, Rooted>::Type _end_default(T & me, Rooted);          // "projects/library/seqan/sequence/sequence_interface.h"(481)
+template <typename T> inline typename Iterator<T const, Rooted>::Type _end_default(T const & me, Rooted);              // "projects/library/seqan/sequence/sequence_interface.h"(490)
+
+//____________________________________________________________________________
+// _findIthNonZeroValue
+
+template <typename TValue, typename TSpec, typename TPos > inline typename Size< String<TValue, TSpec> >::Type _findIthNonZeroValue(String<TValue, TSpec> const &me, TPos i);          // "projects/library/seqan/sequence/sequence_multiple.h"(990)
+
+//____________________________________________________________________________
+// _getMap
+
+template <typename TValue, typename THost, typename TMap, typename TSpec> inline TMap & _getMap(String< TValue, ValueExpand<THost, TMap, TSpec> > & me);               // "projects/library/seqan/sequence/string_value_expand.h"(230)
+template <typename TValue, typename THost, typename TMap, typename TSpec> inline TMap & _getMap(String< TValue, ValueExpand<THost, TMap, TSpec> > const & me);         // "projects/library/seqan/sequence/string_value_expand.h"(236)
+
+//____________________________________________________________________________
+// _getValueExpandFlagValue
+
+template <typename TValue, typename THost, typename TMap, typename TSpec> inline typename Value<THost>::Type _getValueExpandFlagValue(String< TValue, ValueExpand<THost, TMap, TSpec> > const & me);           // "projects/library/seqan/sequence/string_value_expand.h"(245)
+
+//____________________________________________________________________________
+// _moveContiguous
+
+template <typename TTarget, typename TSource> void _moveContiguous(TTarget & target, TSource & source);        // "projects/library/seqan/sequence/string_base.h"(862)
+
+//____________________________________________________________________________
+// _reallocateStorage
+
+template <typename TValue, typename TSpec> inline typename Value<String<TValue, TSpec> >::Type * _reallocateStorage( String<TValue, TSpec> & me, typename Size< String<TValue, TSpec> >::Type new_capacity, Exact);            // "projects/library/seqan/sequence/string_base.h"(1348)
+template <typename TValue, typename TSpec> inline typename Value<String<TValue, TSpec> >::Type * _reallocateStorage( String<TValue, TSpec> & me, typename Size< String<TValue, TSpec> >::Type new_capacity, typename Size< String<TValue, TSpec> >::Type limit, Exact);        // "projects/library/seqan/sequence/string_base.h"(1364)
+template <typename TValue, typename TSpec> inline typename Value<String<TValue, TSpec> >::Type * _reallocateStorage( String<TValue, TSpec> & me, typename Size< String<TValue, TSpec> >::Type new_capacity, Generous);         // "projects/library/seqan/sequence/string_base.h"(1380)
+template <typename TValue, typename TSpec> inline typename Value<String<TValue, TSpec> >::Type * _reallocateStorage( String<TValue, TSpec> & me, typename Size< String<TValue, TSpec> >::Type new_capacity, typename Size< String<TValue, TSpec> >::Type limit, Generous);             // "projects/library/seqan/sequence/string_base.h"(1397)
+
+//____________________________________________________________________________
+// _refreshStringSetLimits
+
+template <typename T > inline void _refreshStringSetLimits(T &);               // "projects/library/seqan/sequence/sequence_multiple.h"(959)
+template <typename TString, typename TSpec > inline void _refreshStringSetLimits(StringSet< TString, Owner<ConcatDirect<TSpec> > > &);         // "projects/library/seqan/sequence/sequence_multiple.h"(962)
+template <typename TString, typename TSpec > inline void _refreshStringSetLimits(StringSet< TString, TSpec > &me);             // "projects/library/seqan/sequence/sequence_multiple.h"(966)
+
+//____________________________________________________________________________
+// _setLength
+
+template <typename TValue> inline void _setLength(TValue * me, size_t new_length);             // "projects/library/seqan/sequence/string_pointer.h"(352)
+
+//____________________________________________________________________________
+// _validStringSetLimits
+
+template <typename T > inline bool _validStringSetLimits(T const &);           // "projects/library/seqan/sequence/sequence_multiple.h"(941)
+template <typename TString, typename TSpec > inline bool _validStringSetLimits(StringSet< TString, TSpec > const &me);         // "projects/library/seqan/sequence/sequence_multiple.h"(946)
+template <typename TString, typename TSpec > inline bool _validStringSetLimits(StringSet< TString, Owner<ConcatDirect<TSpec> > > const &);             // "projects/library/seqan/sequence/sequence_multiple.h"(951)
+
+//____________________________________________________________________________
+// append
+
+template <typename THost, typename TSpec, typename TSource, typename TExpand> inline void append( Segment<THost, TSpec> & target, TSource & source, Tag<TExpand> const);               // "projects/library/seqan/sequence/segment_base.h"(609)
+template <typename THost, typename TSpec, typename TSource, typename TExpand> inline void append( Segment<THost, TSpec> & target, TSource const & source, Tag<TExpand> const);         // "projects/library/seqan/sequence/segment_base.h"(619)
+template <typename THost, typename TSpec, typename TSource, typename TExpand> inline void append( Segment<THost, TSpec> & target, TSource & source, typename Size< Segment<THost, TSpec> >::Type limit, Tag<TExpand> const);           // "projects/library/seqan/sequence/segment_base.h"(631)
+template <typename THost, typename TSpec, typename TSource, typename TExpand> inline void append( Segment<THost, TSpec> & target, TSource const & source, typename Size< Segment<THost, TSpec> >::Type limit, Tag<TExpand> const);             // "projects/library/seqan/sequence/segment_base.h"(642)
+template <typename THost, typename TSpec, typename TSource, typename TExpand> inline void append( Segment<THost, TSpec> const & target, TSource & source, Tag<TExpand> const);         // "projects/library/seqan/sequence/segment_base.h"(653)
+template <typename THost, typename TSpec, typename TSource, typename TExpand> inline void append( Segment<THost, TSpec> const & target, TSource const & source, Tag<TExpand> const);           // "projects/library/seqan/sequence/segment_base.h"(663)
+template <typename THost, typename TSpec, typename TSource, typename TExpand> inline void append( Segment<THost, TSpec> const & target, TSource & source, typename Size< Segment<THost, TSpec> >::Type limit, Tag<TExpand> const);             // "projects/library/seqan/sequence/segment_base.h"(675)
+template <typename THost, typename TSpec, typename TSource, typename TExpand> inline void append( Segment<THost, TSpec> const & target, TSource const & source, typename Size< Segment<THost, TSpec> >::Type limit, Tag<TExpand> const);               // "projects/library/seqan/sequence/segment_base.h"(686)
+template <typename TTargetValue, typename TSource, typename TExpand> inline void append(TTargetValue * target, TSource const & source, Tag<TExpand> const);            // "projects/library/seqan/sequence/string_pointer.h"(542)
+template <typename TTargetValue, typename TSource, typename TExpand> inline void append(TTargetValue * target, TSource const & source, size_t limit, Tag<TExpand> const);              // "projects/library/seqan/sequence/string_pointer.h"(553)
+template <typename TTargetValue, typename TSourceValue, typename TExpand> inline void append(TTargetValue * target, TSourceValue const * source, Tag<TExpand> const);          // "projects/library/seqan/sequence/string_pointer.h"(566)
+template <typename TTargetValue, typename TSourceValue, typename TExpand> inline void append(TTargetValue * target, TSourceValue const * source, size_t limit, Tag<TExpand> const);            // "projects/library/seqan/sequence/string_pointer.h"(577)
+template <typename TChar, typename TCharTraits, typename TAlloc, typename TSource> inline void append(::std::basic_string<TChar, TCharTraits, TAlloc> & target, TSource const & source, Generous);             // "projects/library/seqan/sequence/std_string.h"(425)
+template <typename TChar, typename TCharTraits, typename TAlloc, typename TSource> inline void append(::std::basic_string<TChar, TCharTraits, TAlloc> & target, TSource const & source, typename Size< ::std::basic_string<TChar, TCharTraits, TAlloc> >::Type limit, Generous);               // "projects/library/seqan/sequence/std_string.h"(436)
+template <typename TChar, typename TCharTraits, typename TAlloc, typename TSource> inline void append(::std::basic_string<TChar, TCharTraits, TAlloc> & target, TSource const & source, Limit);        // "projects/library/seqan/sequence/std_string.h"(463)
+template <typename TChar, typename TCharTraits, typename TAlloc, typename TSource> inline void append(::std::basic_string<TChar, TCharTraits, TAlloc> & target, TSource const & source, typename Size< ::std::basic_string<TChar, TCharTraits, TAlloc> >::Type limit, Limit);          // "projects/library/seqan/sequence/std_string.h"(474)
+template <typename TTarget, typename TSource> inline void append(TTarget & target, TSource & source);          // "projects/library/seqan/sequence/sequence_interface.h"(1025)
+template <typename TTarget, typename TSource> inline void append(TTarget const & target, TSource & source);            // "projects/library/seqan/sequence/sequence_interface.h"(1033)
+template <typename TTarget, typename TSource> inline void append(TTarget & target, TSource const & source);            // "projects/library/seqan/sequence/sequence_interface.h"(1041)
+template <typename TTarget, typename TSource> inline void append(TTarget const & target, TSource const & source);              // "projects/library/seqan/sequence/sequence_interface.h"(1049)
+template <typename TTarget, typename TSource> inline void append(TTarget & target, TSource & source, typename Size<TTarget>::Type limit);              // "projects/library/seqan/sequence/sequence_interface.h"(1061)
+template <typename TTarget, typename TSource> inline void append(TTarget const & target, TSource & source, typename Size<TTarget>::Type limit);        // "projects/library/seqan/sequence/sequence_interface.h"(1070)
+template <typename TTarget, typename TSource> inline void append(TTarget & target, TSource const & source, typename Size<TTarget>::Type limit);        // "projects/library/seqan/sequence/sequence_interface.h"(1079)
+template <typename TTarget, typename TSource> inline void append(TTarget const & target, TSource const & source, typename Size<TTarget>::Type limit);          // "projects/library/seqan/sequence/sequence_interface.h"(1088)
+template <typename TValue, unsigned int SPACE, typename TSource, typename TExpand> inline void append( String<TValue, Block<SPACE> >& me, TSource const& source, Tag<TExpand> const tag);              // "projects/library/seqan/sequence/string_stack.h"(368)
+template <typename TTargetValue, typename TTargetSpec, typename TSource, typename TExpand> inline void append(String<TTargetValue, TTargetSpec> & target, TSource const & source, Tag<TExpand> const);         // "projects/library/seqan/sequence/string_base.h"(1042)
+template <typename TTargetValue, typename TTargetSpec, typename TSource, typename TExpand> inline void append(String<TTargetValue, TTargetSpec> & target, TSource const & source, typename Size< String<TTargetValue, TTargetSpec> >::Type limit, Tag<TExpand> const);         // "projects/library/seqan/sequence/string_base.h"(1054)
+template <typename TTargetValue, typename TTargetSpec, typename TSourceValue, typename TExpand> inline void append(String<TTargetValue, TTargetSpec> & target, TSourceValue * source, Tag<TExpand> const);             // "projects/library/seqan/sequence/string_base.h"(1068)
+template <typename TTargetValue, typename TTargetSpec, typename TSourceValue, typename TExpand> inline void append(String<TTargetValue, TTargetSpec> & target, TSourceValue * source, typename Size< String<TTargetValue, TTargetSpec> >::Type limit, Tag<TExpand> const);             // "projects/library/seqan/sequence/string_base.h"(1080)
+
+//____________________________________________________________________________
+// appendValue
+
+template <typename THost, typename TSpec, typename TValue, typename TExpand> inline void appendValue(Segment<THost, TSpec> & me, TValue const & _value, Tag<TExpand> const);           // "projects/library/seqan/sequence/segment_base.h"(719)
+template <typename THost, typename TSpec, typename TValue, typename TExpand> inline void appendValue(Segment<THost, TSpec> const & me, TValue const & _value, Tag<TExpand> const);             // "projects/library/seqan/sequence/segment_base.h"(728)
+template <typename TChar, typename TCharTraits, typename TAlloc, typename TValue, typename TTag> inline void appendValue(::std::basic_string<TChar, TCharTraits, TAlloc> & me, TValue const & _value, TTag);           // "projects/library/seqan/sequence/std_string.h"(492)
+template <typename TChar, typename TCharTraits, typename TAlloc, typename TValue> inline void appendValue(::std::basic_string<TChar, TCharTraits, TAlloc> & me, TValue const & _value, Limit);         // "projects/library/seqan/sequence/std_string.h"(502)
+template <typename TString, typename TString2, typename TExpand > inline void appendValue( StringSet< TString, Owner<Default> > &me, TString2 const &obj, Tag<TExpand> const);         // "projects/library/seqan/sequence/sequence_multiple.h"(1042)
+template <typename TString, typename TString2, typename TExpand > inline void appendValue( StringSet< TString, Owner<ConcatDirect<void> > > &me, TString2 const &obj, Tag<TExpand> const);             // "projects/library/seqan/sequence/sequence_multiple.h"(1053)
+template <typename TString, typename TDelimiter, typename TString2, typename TExpand > inline void appendValue( StringSet< TString, Owner<ConcatDirect<TDelimiter> > > &me, TString2 const &obj, Tag<TExpand> const);          // "projects/library/seqan/sequence/sequence_multiple.h"(1063)
+template <typename TString, typename TExpand > inline void appendValue( StringSet<TString, Dependent<Generous> > &me, TString const &obj, Tag<TExpand> const);         // "projects/library/seqan/sequence/sequence_multiple.h"(1075)
+template <typename TString, typename TExpand > inline void appendValue( StringSet<TString, Dependent<Tight> > &me, TString const &obj, Tag<TExpand> const);            // "projects/library/seqan/sequence/sequence_multiple.h"(1087)
+template <typename T, typename TValue> inline void appendValue(T & me, TValue const & _value);         // "projects/library/seqan/sequence/sequence_interface.h"(1114)
+template <typename T, typename TValue> inline void appendValue(T const & me, TValue const & _value);           // "projects/library/seqan/sequence/sequence_interface.h"(1122)
+template <typename TValue, unsigned int SPACE, typename TVal, typename TExpand> inline void appendValue( String<TValue, Block<SPACE> >& me, TVal const& source, Tag<TExpand> const tag);               // "projects/library/seqan/sequence/string_stack.h"(384)
+template <typename TTargetValue, typename TTargetSpec, typename TValue, typename TExpand> inline void appendValue(String<TTargetValue, TTargetSpec> & me, TValue const & _value, Tag<TExpand> const);          // "projects/library/seqan/sequence/string_base.h"(1126)
+
+//____________________________________________________________________________
+// assign
+
+template <typename TTargetValue, typename TSource, typename TExpand> inline void assign(String<TTargetValue, CStyle> & target, TSource & source, Tag<TExpand> const tag);              // "projects/library/seqan/sequence/string_cstyle.h"(389)
+template <typename TTargetValue, typename TSource, typename TExpand> inline void assign(String<TTargetValue, CStyle> & target, TSource const & source, Tag<TExpand> const tag);        // "projects/library/seqan/sequence/string_cstyle.h"(399)
+template <typename TTargetValue, typename TSource, typename TSize, typename TExpand> inline void assign(String<TTargetValue, CStyle> & target, TSource & source, TSize limit, Tag<TExpand> const tag);         // "projects/library/seqan/sequence/string_cstyle.h"(410)
+template <typename TTargetValue, typename TSource, typename TSize, typename TExpand> inline void assign(String<TTargetValue, CStyle> & target, TSource const & source, TSize limit, Tag<TExpand> const tag);           // "projects/library/seqan/sequence/string_cstyle.h"(421)
+template <typename TTargetValue, typename TSourceValue, typename TExpand> inline void assign(String<TTargetValue, CStyle> & target, TSourceValue const * source, Tag<TExpand> const tag);              // "projects/library/seqan/sequence/string_cstyle.h"(435)
+template <typename TTargetValue, typename TSourceValue, typename TSize, typename TExpand> inline void assign(String<TTargetValue, CStyle> & target, TSourceValue const * source, TSize limit, Tag<TExpand> const tag);         // "projects/library/seqan/sequence/string_cstyle.h"(446)
+template <typename TValue, typename TSourceSpec, typename TExpand> inline void assign(String<TValue, CStyle> & target, String<TValue, TSourceSpec> & source, Tag<TExpand> const);              // "projects/library/seqan/sequence/string_cstyle.h"(520)
+template <typename THost, typename TSpec, typename TSource> inline void assign(Segment<THost, TSpec> & target, TSource & source);              // "projects/library/seqan/sequence/segment_base.h"(293)
+template <typename THost, typename TSpec, typename TSource> inline void assign(Segment<THost, TSpec> & target, TSource const & source);        // "projects/library/seqan/sequence/segment_base.h"(302)
+template <typename THost, typename TSpec, typename TSource> inline void assign(Segment<THost, TSpec> const & target, TSource & source);        // "projects/library/seqan/sequence/segment_base.h"(314)
+template <typename THost, typename TSpec, typename TSource> inline void assign(Segment<THost, TSpec> const & target, TSource const & source);          // "projects/library/seqan/sequence/segment_base.h"(323)
+template <typename THost, typename TSpec, typename TSource, typename TExpand> inline void assign(Segment<THost, TSpec> & target, TSource & source, Tag<TExpand> const);        // "projects/library/seqan/sequence/segment_base.h"(403)
+template <typename THost, typename TSpec, typename TSource, typename TExpand> inline void assign(Segment<THost, TSpec> & target, TSource const & source, Tag<TExpand> const);          // "projects/library/seqan/sequence/segment_base.h"(412)
+template <typename THost, typename TSpec, typename TSource, typename TExpand> inline void assign(Segment<THost, TSpec> & target, TSource & source, typename Size< Segment<THost, TSpec> >::Type limit, Tag<TExpand> const);            // "projects/library/seqan/sequence/segment_base.h"(423)
+template <typename THost, typename TSpec, typename TSource, typename TExpand> inline void assign(Segment<THost, TSpec> & target, TSource const & source, typename Size< Segment<THost, TSpec> >::Type limit, Tag<TExpand> const);              // "projects/library/seqan/sequence/segment_base.h"(433)
+template <typename THost, typename TSpec, typename TSource, typename TExpand> inline void assign(Segment<THost, TSpec> const & target, TSource & source, Tag<TExpand> const);          // "projects/library/seqan/sequence/segment_base.h"(445)
+template <typename THost, typename TSpec, typename TSource, typename TExpand> inline void assign(Segment<THost, TSpec> const & target, TSource const & source, Tag<TExpand> const);            // "projects/library/seqan/sequence/segment_base.h"(454)
+template <typename THost, typename TSpec, typename TSource, typename TExpand> inline void assign(Segment<THost, TSpec> const & target, TSource & source, typename Size< Segment<THost, TSpec> >::Type limit, Tag<TExpand> const);              // "projects/library/seqan/sequence/segment_base.h"(465)
+template <typename THost, typename TSpec, typename TSource, typename TExpand> inline void assign(Segment<THost, TSpec> const & target, TSource const & source, typename Size< Segment<THost, TSpec> >::Type limit, Tag<TExpand> const);        // "projects/library/seqan/sequence/segment_base.h"(475)
+template <typename TTargetValue, typename TSource> inline void assign(TTargetValue * target, TSource & source);        // "projects/library/seqan/sequence/string_pointer.h"(444)
+template <typename TTargetValue, typename TSource> inline void assign(TTargetValue * target, TSource const & source);          // "projects/library/seqan/sequence/string_pointer.h"(453)
+template <typename TTargetValue, typename TSource, typename TExpand> inline void assign(TTargetValue * target, TSource const & source, Tag<TExpand> const);            // "projects/library/seqan/sequence/string_pointer.h"(466)
+template <typename TTargetValue, typename TSource, typename TExpand> inline void assign(TTargetValue * target, TSource const & source, size_t limit, Tag<TExpand> const);              // "projects/library/seqan/sequence/string_pointer.h"(477)
+template <typename TTargetValue, typename TSourceValue, typename TExpand> inline void assign(TTargetValue * target, TSourceValue const * source, Tag<TExpand> const);          // "projects/library/seqan/sequence/string_pointer.h"(490)
+template <typename TTargetValue, typename TSourceValue, typename TExpand> inline void assign(TTargetValue * target, TSourceValue const * source, size_t limit, Tag<TExpand> const);            // "projects/library/seqan/sequence/string_pointer.h"(501)
+template <typename TValue, typename THostspec, typename TTag> inline void assign(String<TValue, Packed<THostspec> > & target, String<TValue, Packed<THostspec> > & source, Tag<TTag> const tag);               // "projects/library/seqan/sequence/string_packed.h"(369)
+template <typename TValue, typename THostspec, typename TTag> inline void assign(String<TValue, Packed<THostspec> > & target, String<TValue, Packed<THostspec> > const & source, Tag<TTag> const tag);         // "projects/library/seqan/sequence/string_packed.h"(377)
+template <typename TValue, typename THostspec, typename TSize, typename TTag> void assign(String<TValue, Packed<THostspec> > & target, String<TValue, Packed<THostspec> > & source, TSize limit, Tag<TTag> const tag);         // "projects/library/seqan/sequence/string_packed.h"(386)
+template <typename TValue, typename THostspec, typename TSize, typename TTag> void assign(String<TValue, Packed<THostspec> > & target, String<TValue, Packed<THostspec> > const & source, TSize limit, Tag<TTag> const tag);           // "projects/library/seqan/sequence/string_packed.h"(394)
+template <typename TChar, typename TCharTraits, typename TAlloc, typename TSource> inline void assign(::std::basic_string<TChar, TCharTraits, TAlloc> & target, TSource & source);             // "projects/library/seqan/sequence/std_string.h"(272)
+template <typename TChar, typename TCharTraits, typename TAlloc, typename TSource> inline void assign(::std::basic_string<TChar, TCharTraits, TAlloc> & target, TSource const & source);               // "projects/library/seqan/sequence/std_string.h"(280)
+template <typename TChar, typename TCharTraits, typename TAlloc, typename TSource, typename TSize> inline void assign(::std::basic_string<TChar, TCharTraits, TAlloc> & target, TSource & source, TSize limit);        // "projects/library/seqan/sequence/std_string.h"(290)
+template <typename TChar, typename TCharTraits, typename TAlloc, typename TSource, typename TSize> inline void assign(::std::basic_string<TChar, TCharTraits, TAlloc> & target, TSource const & source, TSize limit);          // "projects/library/seqan/sequence/std_string.h"(299)
+template <typename TChar, typename TCharTraits, typename TAlloc, typename TSource> inline void assign(::std::basic_string<TChar, TCharTraits, TAlloc> & target, TSource & source, Generous);           // "projects/library/seqan/sequence/std_string.h"(311)
+template <typename TChar, typename TCharTraits, typename TAlloc, typename TSource> inline void assign(::std::basic_string<TChar, TCharTraits, TAlloc> & target, TSource const & source, Generous);             // "projects/library/seqan/sequence/std_string.h"(320)
+template <typename TChar, typename TCharTraits, typename TAlloc, typename TSource> inline void assign(::std::basic_string<TChar, TCharTraits, TAlloc> & target, TSource & source, typename Size< ::std::basic_string<TChar, TCharTraits, TAlloc> >::Type limit, Generous);             // "projects/library/seqan/sequence/std_string.h"(347)
+template <typename TChar, typename TCharTraits, typename TAlloc, typename TSource> inline void assign(::std::basic_string<TChar, TCharTraits, TAlloc> & target, TSource const & source, typename Size< ::std::basic_string<TChar, TCharTraits, TAlloc> >::Type limit, Generous);               // "projects/library/seqan/sequence/std_string.h"(357)
+template <typename TChar, typename TCharTraits, typename TAlloc, typename TSource> inline void assign(::std::basic_string<TChar, TCharTraits, TAlloc> & target, TSource & source, Limit);              // "projects/library/seqan/sequence/std_string.h"(369)
+template <typename TChar, typename TCharTraits, typename TAlloc, typename TSource> inline void assign(::std::basic_string<TChar, TCharTraits, TAlloc> & target, TSource const & source, Limit);        // "projects/library/seqan/sequence/std_string.h"(378)
+template <typename TChar, typename TCharTraits, typename TAlloc, typename TSource> inline void assign(::std::basic_string<TChar, TCharTraits, TAlloc> & target, TSource & source, typename Size< ::std::basic_string<TChar, TCharTraits, TAlloc> >::Type limit, Limit);        // "projects/library/seqan/sequence/std_string.h"(389)
+template <typename TChar, typename TCharTraits, typename TAlloc, typename TSource> inline void assign(::std::basic_string<TChar, TCharTraits, TAlloc> & target, TSource const & source, typename Size< ::std::basic_string<TChar, TCharTraits, TAlloc> >::Type limit, Limit);          // "projects/library/seqan/sequence/std_string.h"(404)
+template <typename TTarget, typename TSource> inline void assign(TTarget & target, TSource & source, typename Size<TTarget>::Type limit);              // "projects/library/seqan/sequence/sequence_interface.h"(970)
+template <typename TTarget, typename TSource> inline void assign(TTarget const & target, TSource & source, typename Size<TTarget>::Type limit);        // "projects/library/seqan/sequence/sequence_interface.h"(979)
+template <typename TTarget, typename TSource> inline void assign(TTarget & target, TSource const & source, typename Size<TTarget>::Type limit);        // "projects/library/seqan/sequence/sequence_interface.h"(988)
+template <typename TTarget, typename TSource> inline void assign(TTarget const & target, TSource const & source, typename Size<TTarget>::Type limit);          // "projects/library/seqan/sequence/sequence_interface.h"(997)
+template <typename TValue, unsigned int SPACE, typename TSource> inline void assign( String<TValue, Block<SPACE> >& target, TSource const& source);            // "projects/library/seqan/sequence/string_stack.h"(226)
+template <typename TTargetValue, typename TTargetSpec, typename TSource> inline void assign(String<TTargetValue, TTargetSpec> & target, TSource & source);             // "projects/library/seqan/sequence/string_base.h"(734)
+template <typename TTargetValue, typename TTargetSpec, typename TSource> inline void assign(String<TTargetValue, TTargetSpec> & target, TSource const & source);               // "projects/library/seqan/sequence/string_base.h"(743)
+template <typename TTargetValue, typename TTargetSpec, typename TSource, typename TExpand> inline void assign(String<TTargetValue, TTargetSpec> & target, TSource const & source, Tag<TExpand> const);         // "projects/library/seqan/sequence/string_base.h"(810)
+template <typename TTargetValue, typename TTargetSpec, typename TSource, typename TSize, typename TExpand> inline void assign(String<TTargetValue, TTargetSpec> & target, TSource const & source, TSize limit, Tag<TExpand> const);            // "projects/library/seqan/sequence/string_base.h"(820)
+template <typename TTargetValue, typename TTargetSpec, typename TSourceValue, typename TExpand> inline void assign(String<TTargetValue, TTargetSpec> & target, TSourceValue const * source, Tag<TExpand> const);               // "projects/library/seqan/sequence/string_base.h"(833)
+template <typename TTargetValue, typename TTargetSpec, typename TSourceValue, typename TSize, typename TExpand> inline void assign(String<TTargetValue, TTargetSpec> & target, TSourceValue const * source, TSize limit, Tag<TExpand> const);          // "projects/library/seqan/sequence/string_base.h"(843)
+
+//____________________________________________________________________________
+// assignValue
+
+template <typename TContainer, typename TIterator, typename TValue> inline void assignValue(Iter<TContainer, AdaptorIterator<TIterator, ValueExpandIter> > & me, TValue const & _value);               // "projects/library/seqan/sequence/string_value_expand.h"(453)
+template <typename TContainer, typename TIterator, typename TValue> inline void assignValue(Iter<TContainer, AdaptorIterator<TIterator, ValueExpandIter> > const & me, TValue const & _value);         // "projects/library/seqan/sequence/string_value_expand.h"(473)
+template <typename TValue, typename TPos> inline void assignValue(TValue * me, TPos pos, TValue const & _value);               // "projects/library/seqan/sequence/string_pointer.h"(266)
+template <typename TContainer, typename THostspec, typename TValue> inline void assignValue(Iter<TContainer, Packed<THostspec> > & me, TValue const & _value);         // "projects/library/seqan/sequence/string_packed.h"(985)
+template <typename TContainer, typename THostspec, typename TValue> inline void assignValue(Iter<TContainer, Packed<THostspec> > const & me, TValue const & _value);           // "projects/library/seqan/sequence/string_packed.h"(995)
+template <typename T, typename TValue, typename TPos> inline void assignValue(T & me, TPos pos, TValue const & _value);        // "projects/library/seqan/sequence/sequence_interface.h"(775)
+template <typename TValue, typename TSpec, typename TValue2> inline void assignValue(String<TValue, TSpec> & me, TValue2 const & _value);              // "projects/library/seqan/sequence/string_base.h"(715)
+
+//____________________________________________________________________________
+// assignValueById
+
+template <typename TString, typename TSpec, typename TString2> inline typename Id<StringSet<TString, TSpec> >::Type assignValueById(StringSet<TString, TSpec>& me, TString2& obj);             // "projects/library/seqan/sequence/sequence_multiple.h"(1366)
+template <typename TString, typename TSpec, typename TId> inline typename Id<StringSet<TString, Owner<TSpec> > >::Type assignValueById(StringSet<TString, Owner<TSpec> >& me, TString& obj, TId id);           // "projects/library/seqan/sequence/sequence_multiple.h"(1378)
+template <typename TString, typename TId> inline typename Id<StringSet<TString, Dependent<Generous> > >::Type assignValueById(StringSet<TString, Dependent<Generous> >& me, TString& obj, TId id);             // "projects/library/seqan/sequence/sequence_multiple.h"(1394)
+template <typename TString, typename TId> inline typename Id<StringSet<TString, Dependent<Tight> > >::Type assignValueById(StringSet<TString, Dependent<Tight> >& me, TString& obj, TId id);           // "projects/library/seqan/sequence/sequence_multiple.h"(1413)
+template <typename TString, typename TSpec1, typename TSpec2, typename TId> inline typename Id<StringSet<TString, TSpec1> >::Type assignValueById(StringSet<TString, TSpec1>& dest, StringSet<TString, TSpec2>& source, TId id);               // "projects/library/seqan/sequence/sequence_multiple.h"(1434)
+
+//____________________________________________________________________________
+// assign_std_string_Generous_impl
+
+template <typename TChar, typename TCharTraits, typename TAlloc, typename TSource> inline void assign_std_string_Generous_impl(::std::basic_string<TChar, TCharTraits, TAlloc> & target, TSource & source, typename Size< ::std::basic_string<TChar, TCharTraits, TAlloc> >::Type limit);              // "projects/library/seqan/sequence/std_string.h"(331)
+
+//____________________________________________________________________________
+// atBegin
+
+template <typename THost> inline bool atBegin(Segment<THost, InfixSegment> & segment);         // "projects/library/seqan/sequence/segment_infix.h"(506)
+template <typename THost> inline bool atBegin(Segment<THost, InfixSegment> const & segment);           // "projects/library/seqan/sequence/segment_infix.h"(513)
+template <typename THost> inline bool atBegin(Segment<THost, PrefixSegment> const & segment);          // "projects/library/seqan/sequence/segment_prefix.h"(415)
+template <typename TSSet, typename TSpec> inline bool atBegin(Iter<TSSet, ConcatVirtual<TSpec> > &me);         // "projects/library/seqan/sequence/sequence_multiple.h"(2227)
+template <typename TSSet, typename TSpec> inline bool atBegin(Iter<TSSet, ConcatVirtual<TSpec> > const &me);           // "projects/library/seqan/sequence/sequence_multiple.h"(2234)
+template <typename THost> inline bool atBegin(Segment<THost, SuffixSegment> const & segment);          // "projects/library/seqan/sequence/segment_suffix.h"(404)
+
+//____________________________________________________________________________
+// atEnd
+
+template <typename THost> inline bool atEnd(Segment<THost, InfixSegment> & segment);           // "projects/library/seqan/sequence/segment_infix.h"(523)
+template <typename THost> inline bool atEnd(Segment<THost, InfixSegment> const & segment);             // "projects/library/seqan/sequence/segment_infix.h"(530)
+template <typename TValue> inline bool atEnd(TValue * pos);            // "projects/library/seqan/sequence/string_pointer.h"(290)
+template <typename TValue> inline bool atEnd(TValue * pos, TValue const * container);          // "projects/library/seqan/sequence/string_pointer.h"(301)
+template <typename THost> inline bool atEnd(Segment<THost, PrefixSegment> const & segment);            // "projects/library/seqan/sequence/segment_prefix.h"(425)
+template <typename TSSet, typename TSpec> inline bool atEnd(Iter<TSSet, ConcatVirtual<TSpec> > &me);           // "projects/library/seqan/sequence/sequence_multiple.h"(2245)
+template <typename TSSet, typename TSpec> inline bool atEnd(Iter<TSSet, ConcatVirtual<TSpec> > const &me);             // "projects/library/seqan/sequence/sequence_multiple.h"(2252)
+template <typename THost> inline bool atEnd(Segment<THost, SuffixSegment> const & segment);            // "projects/library/seqan/sequence/segment_suffix.h"(414)
+template <typename TValue, unsigned int SPACE, typename TIteratorSpec> inline bool atEnd( Iter<String<TValue, Block<SPACE> >, TIteratorSpec>& it, String<TValue, Block<SPACE> >& container);           // "projects/library/seqan/sequence/string_stack.h"(260)
+
+//____________________________________________________________________________
+// atEndOfSequence
+
+template <typename TIterator> inline bool atEndOfSequence(TIterator const &me);        // "projects/library/seqan/sequence/sequence_multiple.h"(2263)
+template <typename TSSet, typename TSpec> inline bool atEndOfSequence(Iter<TSSet, ConcatVirtual<TSpec> > const &me);           // "projects/library/seqan/sequence/sequence_multiple.h"(2270)
+template <typename TIterator> inline bool atEndOfSequence(TIterator &me);              // "projects/library/seqan/sequence/sequence_multiple.h"(2277)
+
+//____________________________________________________________________________
+// back
+
+template <typename T> inline typename Reference<T const>::Type back(T const & me);             // "projects/library/seqan/sequence/sequence_interface.h"(679)
+template <typename T> inline typename Reference<T>::Type back(T & me);         // "projects/library/seqan/sequence/sequence_interface.h"(687)
+
+//____________________________________________________________________________
+// begin
+
+template <typename TValue, typename THost, typename TMap, typename TSpec, typename TTag> inline typename Iterator<String< TValue, ValueExpand<THost, TMap, TSpec> >, Tag<TTag> const>::Type begin(String< TValue, ValueExpand<THost, TMap, TSpec> > & me, Tag<TTag> const tag_);               // "projects/library/seqan/sequence/string_value_expand.h"(293)
+template <typename TValue, typename THost, typename TMap, typename TSpec, typename TTag> inline typename Iterator<String< TValue, ValueExpand<THost, TMap, TSpec> > const, Tag<TTag> const>::Type begin(String< TValue, ValueExpand<THost, TMap, TSpec> > const & me, Tag<TTag> const tag_);           // "projects/library/seqan/sequence/string_value_expand.h"(301)
+template <typename T> inline typename Iterator<T *, typename DefaultGetIteratorSpec<T>::Type>::Type begin(T * me);             // "projects/library/seqan/sequence/string_pointer.h"(147)
+template <typename TValue> inline typename Iterator<TValue *, Standard>::Type begin(TValue * me, Standard);            // "projects/library/seqan/sequence/string_pointer.h"(158)
+template <typename TValue> inline typename Iterator<TValue const *, Standard>::Type begin(TValue const * me, Standard);        // "projects/library/seqan/sequence/string_pointer.h"(168)
+template <typename TValue, typename TSpec> inline typename Iterator<TValue *, Tag<TSpec> const>::Type begin(TValue * me, Tag<TSpec> const);            // "projects/library/seqan/sequence/string_pointer.h"(177)
+template <typename TValue, typename TSpec> inline typename Iterator<TValue const *, Tag<TSpec> const>::Type begin(TValue const * me, Tag<TSpec> const);        // "projects/library/seqan/sequence/string_pointer.h"(187)
+template <typename TValue, typename THostspec, typename TTag> inline typename Iterator<String<TValue, Packed<THostspec> >, Tag<TTag> const>::Type begin(String<TValue, Packed<THostspec> > & me, Tag<TTag> const tag_);        // "projects/library/seqan/sequence/string_packed.h"(440)
+template <typename TValue, typename THostspec, typename TTag> inline typename Iterator<String<TValue, Packed<THostspec> > const, Tag<TTag> const>::Type begin(String<TValue, Packed<THostspec> > const & me, Tag<TTag> const tag_);            // "projects/library/seqan/sequence/string_packed.h"(448)
+template <typename TChar, typename TCharTraits, typename TAlloc> inline typename Iterator< ::std::basic_string<TChar, TCharTraits, TAlloc>, Standard>::Type begin(::std::basic_string<TChar, TCharTraits, TAlloc> & me, Standard);             // "projects/library/seqan/sequence/std_string.h"(159)
+template <typename TChar, typename TCharTraits, typename TAlloc> inline typename Iterator< ::std::basic_string<TChar, TCharTraits, TAlloc> const, Standard>::Type begin(::std::basic_string<TChar, TCharTraits, TAlloc> const & me, Standard);         // "projects/library/seqan/sequence/std_string.h"(167)
+template <typename TStringSet, typename TSpec > inline typename Iterator< ConcatenatorNto1<TStringSet const>, Tag<TSpec> const >::Type begin(ConcatenatorNto1<TStringSet const> concat, Tag<TSpec> const);             // "projects/library/seqan/sequence/sequence_multiple.h"(1800)
+template <typename TStringSet, typename TSpec > inline typename Iterator< ConcatenatorNto1<TStringSet>, Tag<TSpec> const >::Type begin(ConcatenatorNto1<TStringSet> concat, Tag<TSpec> const);         // "projects/library/seqan/sequence/sequence_multiple.h"(1807)
+template <typename T> inline typename Iterator<T, typename DefaultGetIteratorSpec<T>::Type>::Type begin(T & me);               // "projects/library/seqan/sequence/sequence_interface.h"(259)
+template <typename T> inline typename Iterator<T const, typename DefaultGetIteratorSpec<T>::Type>::Type begin(T const & me);           // "projects/library/seqan/sequence/sequence_interface.h"(266)
+template <typename T, typename TSpec> inline typename Iterator<T, Tag<TSpec> const>::Type begin(T & me, Tag<TSpec> const tag_);        // "projects/library/seqan/sequence/sequence_interface.h"(327)
+template <typename T, typename TSpec> inline typename Iterator<T const, Tag<TSpec> const>::Type begin(T const & me, Tag<TSpec> const tag_);            // "projects/library/seqan/sequence/sequence_interface.h"(335)
+template <typename TValue, unsigned int SPACE, typename TSpec> inline typename Iterator<String<TValue, Block<SPACE> >, Tag<TSpec> const >::Type begin(String<TValue, Block<SPACE> > &me, Tag<TSpec> const);            // "projects/library/seqan/sequence/string_stack.h"(191)
+template <typename TValue, unsigned int SPACE, typename TSpec> inline typename Iterator<String<TValue, Block<SPACE> > const, Tag<TSpec> const>::Type begin(String<TValue, Block<SPACE> > const &me, Tag<TSpec> const);         // "projects/library/seqan/sequence/string_stack.h"(199)
+
+//____________________________________________________________________________
+// beginPosition
+
+template <typename T> inline typename Position<T>::Type beginPosition(T &);            // "projects/library/seqan/sequence/sequence_interface.h"(406)
+template <typename T> inline typename Position<T>::Type beginPosition(T const &);              // "projects/library/seqan/sequence/sequence_interface.h"(413)
+
+//____________________________________________________________________________
+// capacity
+
+template <typename THost, typename TSpec> inline typename Size< Segment<THost, TSpec> const>::Type capacity(Segment<THost, TSpec> const & me);         // "projects/library/seqan/sequence/segment_base.h"(270)
+template <typename TValue, typename THost, typename TMap, typename TSpec> inline typename Size<String< TValue, ValueExpand<THost, TMap, TSpec> > const>::Type capacity(String< TValue, ValueExpand<THost, TMap, TSpec> > const & me);          // "projects/library/seqan/sequence/string_value_expand.h"(361)
+template <typename TValue, typename THostspec> inline typename Size<String<TValue, Packed<THostspec> > const>::Type capacity(String<TValue, Packed<THostspec> > const & me);           // "projects/library/seqan/sequence/string_packed.h"(505)
+template <typename TChar, typename TCharTraits, typename TAlloc> inline typename Size< ::std::basic_string<TChar, TCharTraits, TAlloc> >::Type capacity(::std::basic_string<TChar, TCharTraits, TAlloc> const & me);           // "projects/library/seqan/sequence/std_string.h"(233)
+template <typename T> inline typename Size<T const>::Type capacity(T const & me);              // "projects/library/seqan/sequence/sequence_interface.h"(856)
+template <typename TValue, unsigned int SPACE> inline typename Size<String<TValue, Block<SPACE> > >::Type capacity(String<TValue, Block<SPACE> > const & me);          // "projects/library/seqan/sequence/string_stack.h"(522)
+
+//____________________________________________________________________________
+// clear
+
+template <typename THost, typename TSpec> inline void clear(Segment<THost, TSpec> & target);           // "projects/library/seqan/sequence/segment_base.h"(1055)
+template <typename TValue> inline void clear(TValue * me);             // "projects/library/seqan/sequence/string_pointer.h"(364)
+template <typename TValue, typename THostspec> inline void clear(String<TValue, Packed<THostspec> > & me);             // "projects/library/seqan/sequence/string_packed.h"(520)
+template <typename TChar, typename TCharTraits, typename TAlloc> inline void clear(::std::basic_string<TChar, TCharTraits, TAlloc> & me);              // "projects/library/seqan/sequence/std_string.h"(257)
+template <typename TString > inline void clear(StringSet< TString, Owner<Default> > &me);              // "projects/library/seqan/sequence/sequence_multiple.h"(1107)
+template <typename TString, typename TDelimiter > inline void clear(StringSet< TString, Owner<ConcatDirect<TDelimiter> > > &me);               // "projects/library/seqan/sequence/sequence_multiple.h"(1116)
+template <typename TString > inline void clear(StringSet< TString, Dependent<Generous> > & me);        // "projects/library/seqan/sequence/sequence_multiple.h"(1124)
+template <typename TString > inline void clear(StringSet<TString, Dependent<Tight> >& me);             // "projects/library/seqan/sequence/sequence_multiple.h"(1133)
+template <typename TValue, unsigned int SPACE> inline void clear(String<TValue, Block<SPACE> >& me);           // "projects/library/seqan/sequence/string_stack.h"(271)
+template <typename TValue, typename TSpec> inline void clear(String<TValue, TSpec> & me);              // "projects/library/seqan/sequence/string_base.h"(204)
+
+//____________________________________________________________________________
+// compare
+
+template <typename TSpec, typename TLeft, typename TRight> inline void compare(Lexical<TSpec> & lexical, TLeft const & left, TRight const & right);            // "projects/library/seqan/sequence/lexical.h"(278)
+template <typename TSpec, typename TLeftValue, typename TRight> inline void compare(Lexical<TSpec> & lexical, TLeftValue const * left, TRight const & right);          // "projects/library/seqan/sequence/lexical.h"(288)
+template <typename TSpec, typename TLeftValue, typename TRightValue> inline void compare(Lexical<TSpec> & lexical, TLeftValue const * left, TRightValue const * right);        // "projects/library/seqan/sequence/lexical.h"(296)
+template <typename TSpec, typename TLeft, typename TRightValue> inline void compare(Lexical<TSpec> & lexical, TLeft const & left, TRightValue const * right);          // "projects/library/seqan/sequence/lexical.h"(304)
+
+//____________________________________________________________________________
+// compare_
+
+template <typename TSpec, typename TLeft, typename TRight> inline void compare_(Lexical<TSpec> & lexical, TLeft & left, TRight & right);               // "projects/library/seqan/sequence/lexical.h"(237)
+
+//____________________________________________________________________________
+// computeGenerousCapacity
+
+template <typename T, typename TSize> inline TSize computeGenerousCapacity(T const & , TSize capacity);        // "projects/library/seqan/sequence/sequence_interface.h"(927)
+
+//____________________________________________________________________________
+// concat
+
+template <typename TString> inline typename Concatenator<TString>::Type & concat(TString &string);             // "projects/library/seqan/sequence/sequence_multiple.h"(1848)
+template <typename TString, typename TSpec> inline typename Concatenator< StringSet<TString, TSpec> >::Type & concat(StringSet<TString, TSpec> &set);          // "projects/library/seqan/sequence/sequence_multiple.h"(1854)
+template <typename TString, typename TSpec> inline typename Concatenator< StringSet<TString, TSpec> const>::Type & concat(StringSet<TString, TSpec> const &set);               // "projects/library/seqan/sequence/sequence_multiple.h"(1860)
+
+//____________________________________________________________________________
+// container
+
+template <typename TSSet, typename TSpec> inline typename Concatenator<TSSet>::Type container(Iter<TSSet, ConcatVirtual<TSpec> > &me);         // "projects/library/seqan/sequence/sequence_multiple.h"(2209)
+template <typename TSSet, typename TSpec> inline typename Concatenator<TSSet>::Type container(Iter<TSSet, ConcatVirtual<TSpec> > const &me);           // "projects/library/seqan/sequence/sequence_multiple.h"(2216)
+
+//____________________________________________________________________________
+// countSequences
+
+template <typename TString> inline unsigned countSequences(TString const &);           // "projects/library/seqan/sequence/sequence_multiple.h"(620)
+template <typename TString, typename TSpec> inline typename Size<StringSet<TString, TSpec> >::Type countSequences(StringSet<TString, TSpec> const &stringSet);         // "projects/library/seqan/sequence/sequence_multiple.h"(626)
+
+//____________________________________________________________________________
+// create
+
+template <typename TTargetValue, typename TSource> inline void create(String<TTargetValue, CStyle> & target, TSource & source);        // "projects/library/seqan/sequence/string_cstyle.h"(693)
+template <typename TTargetValue, typename TSource, typename TSize> inline void create(String<TTargetValue, CStyle> & target, TSource & source, TSize limit);           // "projects/library/seqan/sequence/string_cstyle.h"(704)
+template <typename TTargetValue, typename TSource, typename TExpand> inline void create(String<TTargetValue, CStyle> & target, TSource & source, Tag<TExpand> const);          // "projects/library/seqan/sequence/string_cstyle.h"(717)
+template <typename TTargetValue, typename TSource, typename TSize, typename TExpand> inline void create(String<TTargetValue, CStyle> & target, TSource & source, TSize limit, Tag<TExpand> const);             // "projects/library/seqan/sequence/string_cstyle.h"(728)
+template <typename TTargetValue, typename TSource, typename TExpand> inline void create(String<TTargetValue, CStyle> & target, TSource const & source, Tag<TExpand> const);            // "projects/library/seqan/sequence/string_cstyle.h"(738)
+template <typename TTargetValue, typename TSource, typename TSize, typename TExpand> inline void create(String<TTargetValue, CStyle> & target, TSource const & source, TSize limit, Tag<TExpand> const);               // "projects/library/seqan/sequence/string_cstyle.h"(749)
+template <typename TTargetValue, typename TSourceValue, typename TExpand> inline void create(String<TTargetValue, CStyle> & target, TSourceValue const * source, Tag<TExpand> const);          // "projects/library/seqan/sequence/string_cstyle.h"(762)
+template <typename TTargetValue, typename TSourceValue, typename TSize, typename TExpand> inline void create(String<TTargetValue, CStyle> & target, TSourceValue const * source, TSize limit, Tag<TExpand> const);             // "projects/library/seqan/sequence/string_cstyle.h"(773)
+
+//____________________________________________________________________________
+// empty
+
+template <typename TValue> inline bool empty(TValue * me);             // "projects/library/seqan/sequence/string_pointer.h"(377)
+template <typename TChar, typename TCharTraits, typename TAlloc> inline bool empty(::std::basic_string<TChar, TCharTraits, TAlloc> const & me);        // "projects/library/seqan/sequence/std_string.h"(245)
+template <typename T> inline bool empty(T const & me);         // "projects/library/seqan/sequence/sequence_interface.h"(879)
+template <typename TValue, unsigned int SPACE> inline bool empty(String<TValue, Block<SPACE> > const& me);             // "projects/library/seqan/sequence/string_stack.h"(503)
+
+//____________________________________________________________________________
+// end
+
+template <typename TValue, typename THost, typename TMap, typename TSpec, typename TTag> inline typename Iterator<String< TValue, ValueExpand<THost, TMap, TSpec> >, Tag<TTag> const>::Type end(String< TValue, ValueExpand<THost, TMap, TSpec> > & me, Tag<TTag> const tag_);         // "projects/library/seqan/sequence/string_value_expand.h"(312)
+template <typename TValue, typename THost, typename TMap, typename TSpec, typename TTag> inline typename Iterator<String< TValue, ValueExpand<THost, TMap, TSpec> > const, Tag<TTag> const>::Type end(String< TValue, ValueExpand<THost, TMap, TSpec> > const & me, Tag<TTag> const tag_);             // "projects/library/seqan/sequence/string_value_expand.h"(320)
+template <typename TValue> inline typename Iterator<TValue *, Standard>::Type end(TValue * me, Standard);              // "projects/library/seqan/sequence/string_pointer.h"(201)
+template <typename TValue> inline typename Iterator<TValue const *, Standard>::Type end(TValue const * me, Standard);          // "projects/library/seqan/sequence/string_pointer.h"(211)
+template <typename TValue, typename TSpec> inline typename Iterator<TValue *, Tag<TSpec> const>::Type end(TValue * me, Tag<TSpec> const tag_);         // "projects/library/seqan/sequence/string_pointer.h"(220)
+template <typename TValue, typename TSpec> inline typename Iterator<TValue const *, Tag<TSpec> const>::Type end(TValue const * me, Tag<TSpec> const tag_);             // "projects/library/seqan/sequence/string_pointer.h"(229)
+template <typename TValue, typename THostspec, typename TTag> inline typename Iterator<String<TValue, Packed<THostspec> >, Tag<TTag> const>::Type end(String<TValue, Packed<THostspec> > & me, Tag<TTag> const tag_);          // "projects/library/seqan/sequence/string_packed.h"(461)
+template <typename TValue, typename THostspec, typename TTag> inline typename Iterator<String<TValue, Packed<THostspec> > const, Tag<TTag> const>::Type end(String<TValue, Packed<THostspec> > const & me, Tag<TTag> const tag_);              // "projects/library/seqan/sequence/string_packed.h"(469)
+template <typename TChar, typename TCharTraits, typename TAlloc> inline typename Iterator< ::std::basic_string<TChar, TCharTraits, TAlloc>, Standard>::Type end(::std::basic_string<TChar, TCharTraits, TAlloc> & me, Standard);               // "projects/library/seqan/sequence/std_string.h"(180)
+template <typename TChar, typename TCharTraits, typename TAlloc> inline typename Iterator< ::std::basic_string<TChar, TCharTraits, TAlloc> const, Standard>::Type end(::std::basic_string<TChar, TCharTraits, TAlloc> const & me, Standard);           // "projects/library/seqan/sequence/std_string.h"(188)
+template <typename TStringSet, typename TSpec > inline typename Iterator< ConcatenatorNto1<TStringSet const>, Tag<TSpec> const >::Type end(ConcatenatorNto1<TStringSet const> concat, Tag<TSpec> const);               // "projects/library/seqan/sequence/sequence_multiple.h"(1817)
+template <typename TStringSet, typename TSpec > inline typename Iterator< ConcatenatorNto1<TStringSet>, Tag<TSpec> const >::Type end(ConcatenatorNto1<TStringSet> concat, Tag<TSpec> const);           // "projects/library/seqan/sequence/sequence_multiple.h"(1825)
+template <typename T> inline typename Iterator<T, typename DefaultGetIteratorSpec<T>::Type>::Type end(T & me);         // "projects/library/seqan/sequence/sequence_interface.h"(442)
+template <typename T> inline typename Iterator<T const, typename DefaultGetIteratorSpec<T>::Type>::Type end(T const & me);             // "projects/library/seqan/sequence/sequence_interface.h"(449)
+template <typename T, typename TSpec> inline typename Iterator<T, Tag<TSpec> const>::Type end(T & me, Tag<TSpec> const tag_);          // "projects/library/seqan/sequence/sequence_interface.h"(502)
+template <typename T, typename TSpec> inline typename Iterator<T const, Tag<TSpec> const>::Type end(T const & me, Tag<TSpec> const tag_);              // "projects/library/seqan/sequence/sequence_interface.h"(510)
+template <typename TValue, unsigned int SPACE, typename TSpec> inline typename Iterator<String<TValue, Block<SPACE> >, Tag<TSpec> const >::Type end(String<TValue, Block<SPACE> > &me, Tag<TSpec> const);              // "projects/library/seqan/sequence/string_stack.h"(208)
+template <typename TValue, unsigned int SPACE, typename TSpec> inline typename Iterator<String<TValue, Block<SPACE> > const, Tag<TSpec> const>::Type end(String<TValue, Block<SPACE> > const &me, Tag<TSpec> const);           // "projects/library/seqan/sequence/string_stack.h"(216)
+
+//____________________________________________________________________________
+// endPosition
+
+template <typename T> inline typename Position<T>::Type endPosition(T & me);           // "projects/library/seqan/sequence/sequence_interface.h"(535)
+template <typename T> inline typename Position<T>::Type endPosition(T const & me);             // "projects/library/seqan/sequence/sequence_interface.h"(542)
+
+//____________________________________________________________________________
+// erase
+
+template <typename T, typename TPosition> inline void erase(T & me, TPosition pos, TPosition pos_end);         // "projects/library/seqan/sequence/sequence_interface.h"(1433)
+template <typename T, typename TPosition> inline void erase(T & me, TPosition pos);            // "projects/library/seqan/sequence/sequence_interface.h"(1442)
+
+//____________________________________________________________________________
+// fill
+
+template <typename TValue, typename TExpand> inline size_t fill( TValue * me, size_t new_length, TValue const & val, Tag<TExpand> const &);            // "projects/library/seqan/sequence/string_pointer.h"(690)
+template <typename TChar, typename TCharTraits, typename TAlloc, typename TSize, typename TExpand> inline typename Size< ::std::basic_string<TChar, TCharTraits, TAlloc> >::Type fill( ::std::basic_string<TChar, TCharTraits, TAlloc> & me, TSize new_length, TChar const & val, Tag<TExpand> const &);               // "projects/library/seqan/sequence/std_string.h"(667)
+template <typename T, typename TSize, typename TValue> inline typename Size<T>::Type fill( T & me, TSize new_length, TValue const & val);              // "projects/library/seqan/sequence/sequence_interface.h"(1483)
+template <typename TValue, typename TSpec, typename TSize, typename TValue2, typename TExpand> inline TSize fill(String<TValue, TSpec> & me, TSize new_length, TValue2 const & val, Tag<TExpand> const);               // "projects/library/seqan/sequence/string_base.h"(1508)
+
+//____________________________________________________________________________
+// front
+
+template <typename T> inline typename Reference<T>::Type front(T & me);        // "projects/library/seqan/sequence/sequence_interface.h"(645)
+template <typename T> inline typename Reference<T const>::Type front(T const & me);            // "projects/library/seqan/sequence/sequence_interface.h"(652)
+
+//____________________________________________________________________________
+// getSeqNo
+
+template <typename TPosition> inline TPosition getSeqNo(TPosition const &, Nothing const &);           // "projects/library/seqan/sequence/sequence_multiple.h"(214)
+template <typename TPosition> inline TPosition getSeqNo(TPosition const &);            // "projects/library/seqan/sequence/sequence_multiple.h"(225)
+template <typename T1, typename T2, typename TCompression, typename TLimitsString> inline T1 getSeqNo(Pair<T1, T2, TCompression> const &pos, TLimitsString const &);           // "projects/library/seqan/sequence/sequence_multiple.h"(239)
+template <typename T1, typename T2, typename TCompression> inline T1 getSeqNo(Pair<T1, T2, TCompression> const &pos);          // "projects/library/seqan/sequence/sequence_multiple.h"(244)
+template <typename TPos, typename TLimitsString> inline TPos getSeqNo(TPos const &pos, TLimitsString const &limits);           // "projects/library/seqan/sequence/sequence_multiple.h"(264)
+
+//____________________________________________________________________________
+// getSeqOffset
+
+template <typename TPosition> inline TPosition getSeqOffset(TPosition const &pos, Nothing const &);            // "projects/library/seqan/sequence/sequence_multiple.h"(219)
+template <typename TPosition> inline TPosition getSeqOffset(TPosition const &pos);             // "projects/library/seqan/sequence/sequence_multiple.h"(230)
+template <typename T1, typename T2, typename TCompression, typename TLimitsString> inline T2 getSeqOffset(Pair<T1, T2, TCompression> const &pos, TLimitsString const &);               // "projects/library/seqan/sequence/sequence_multiple.h"(250)
+template <typename T1, typename T2, typename TCompression> inline T1 getSeqOffset(Pair<T1, T2, TCompression> const &pos);              // "projects/library/seqan/sequence/sequence_multiple.h"(255)
+template <typename TPos, typename TLimitsString> inline TPos getSeqOffset(TPos const &pos, TLimitsString const &limits);               // "projects/library/seqan/sequence/sequence_multiple.h"(273)
+
+//____________________________________________________________________________
+// getValue
+
+template <typename TContainer, typename TIterator> inline typename Value<TContainer>::Type getValue(Iter<TContainer, AdaptorIterator<TIterator, ValueExpandIter> > & me);              // "projects/library/seqan/sequence/string_value_expand.h"(396)
+template <typename TContainer, typename TIterator> inline void getValue(Iter<TContainer, AdaptorIterator<TIterator, ValueExpandIter> > const & me);            // "projects/library/seqan/sequence/string_value_expand.h"(413)
+template <typename TContainer, typename THostspec> inline typename GetValue<Iter<TContainer, Packed<THostspec> > >::Type getValue(Iter<TContainer, Packed<THostspec> > & me);          // "projects/library/seqan/sequence/string_packed.h"(949)
+template <typename TContainer, typename THostspec> inline typename GetValue<Iter<TContainer, Packed<THostspec> > const>::Type getValue(Iter<TContainer, Packed<THostspec> > const & me);               // "projects/library/seqan/sequence/string_packed.h"(956)
+template <typename T, typename TPos> inline typename GetValue<T>::Type getValue(T & me, TPos pos);             // "projects/library/seqan/sequence/sequence_interface.h"(610)
+template <typename T, typename TPos> inline typename GetValue<T const>::Type getValue(T const & me, TPos pos);         // "projects/library/seqan/sequence/sequence_interface.h"(618)
+
+//____________________________________________________________________________
+// getValueById
+
+template <typename TString, typename TSpec, typename TId> inline typename Reference<StringSet<TString, Owner<TSpec> > >::Type getValueById(StringSet<TString, Owner<TSpec> >& me, TId const id);               // "projects/library/seqan/sequence/sequence_multiple.h"(1279)
+template <typename TString, typename TId> inline typename Reference<StringSet<TString, Dependent<Generous> > >::Type getValueById(StringSet<TString, Dependent<Generous> >& me, TId const id);         // "projects/library/seqan/sequence/sequence_multiple.h"(1290)
+template <typename TString, typename TId> inline typename Reference<StringSet<TString, Dependent<Tight> > >::Type getValueById(StringSet<TString, Dependent<Tight> >&me, TId const id);        // "projects/library/seqan/sequence/sequence_multiple.h"(1302)
+
+//____________________________________________________________________________
+// goBegin
+
+template <typename THost> inline void goBegin(Segment<THost, InfixSegment> & segment);         // "projects/library/seqan/sequence/segment_infix.h"(541)
+template <typename THost, typename THost2> inline void goBegin(Segment<THost, InfixSegment> & segment, THost2 &);              // "projects/library/seqan/sequence/segment_infix.h"(550)
+template <typename THost, typename THost2> inline void goBegin(Segment<THost, InfixSegment> & segment, THost2 const &);        // "projects/library/seqan/sequence/segment_infix.h"(557)
+template <typename THost> inline void goBegin(Segment<THost, PrefixSegment> & segment, THost &);               // "projects/library/seqan/sequence/segment_prefix.h"(436)
+template <typename THost> inline void goBegin(Segment<THost, PrefixSegment> & segment);        // "projects/library/seqan/sequence/segment_prefix.h"(444)
+template <typename THost> inline void goBegin(Segment<THost, SuffixSegment> & segment, THost &);               // "projects/library/seqan/sequence/segment_suffix.h"(425)
+template <typename THost> inline void goBegin(Segment<THost, SuffixSegment> & segment);        // "projects/library/seqan/sequence/segment_suffix.h"(433)
+
+//____________________________________________________________________________
+// goEnd
+
+template <typename THost> inline void goEnd(Segment<THost, InfixSegment> & segment);           // "projects/library/seqan/sequence/segment_infix.h"(567)
+template <typename THost, typename THost2> inline void goEnd(Segment<THost, InfixSegment> & segment, THost2 &);        // "projects/library/seqan/sequence/segment_infix.h"(576)
+template <typename THost, typename THost2> inline void goEnd(Segment<THost, InfixSegment> & segment, THost2 const &);          // "projects/library/seqan/sequence/segment_infix.h"(583)
+template <typename THost> inline void goEnd(Segment<THost, PrefixSegment> & segment, THost &);         // "projects/library/seqan/sequence/segment_prefix.h"(454)
+template <typename THost> inline void goEnd(Segment<THost, PrefixSegment> & segment);          // "projects/library/seqan/sequence/segment_prefix.h"(462)
+template <typename THost> inline void goEnd(Segment<THost, SuffixSegment> & segment, THost &);         // "projects/library/seqan/sequence/segment_suffix.h"(443)
+template <typename THost> inline void goEnd(Segment<THost, SuffixSegment> & segment);          // "projects/library/seqan/sequence/segment_suffix.h"(451)
+
+//____________________________________________________________________________
+// goNext
+
+template <typename TContainer, typename THostspec> inline void goNext(Iter<TContainer, Packed<THostspec> > & me);              // "projects/library/seqan/sequence/string_packed.h"(1144)
+template <typename TStringSet, typename TSpec> inline void goNext(Iter<TStringSet, ConcatVirtual<TSpec> > & me);               // "projects/library/seqan/sequence/sequence_multiple.h"(2067)
+
+//____________________________________________________________________________
+// goPrevious
+
+template <typename TContainer, typename THostspec> inline void goPrevious(Iter<TContainer, Packed<THostspec> > & me);          // "projects/library/seqan/sequence/string_packed.h"(1165)
+template <typename TStringSet, typename TSpec> inline void goPrevious(Iter<TStringSet, ConcatVirtual<TSpec> > & me);           // "projects/library/seqan/sequence/sequence_multiple.h"(2093)
+
+//____________________________________________________________________________
+// hasPrefix
+
+template <typename TLeft, typename TRight > inline bool hasPrefix(TLeft const & left, TRight const & right);           // "projects/library/seqan/sequence/lexical.h"(707)
+template <typename TSpec> inline bool hasPrefix(Lexical<TSpec> const & _lex);          // "projects/library/seqan/sequence/lexical.h"(715)
+
+//____________________________________________________________________________
+// id
+
+template <typename THost, typename TSpec> inline void const * id(Segment<THost, TSpec> const & me);            // "projects/library/seqan/sequence/segment_base.h"(246)
+template <typename TValue, typename THost, typename TMap, typename TSpec> inline void const * id(String< TValue, ValueExpand<THost, TMap, TSpec> > const & me);        // "projects/library/seqan/sequence/string_value_expand.h"(257)
+template <typename TValue, typename THostspec> inline void const * id(String<TValue, Packed<THostspec> > const & me);          // "projects/library/seqan/sequence/string_packed.h"(406)
+template <typename TChar, typename TCharTraits, typename TAlloc> inline void const * id(::std::basic_string<TChar, TCharTraits, TAlloc> const & me);           // "projects/library/seqan/sequence/std_string.h"(147)
+template <typename T> inline void const * id(T const & me);            // "projects/library/seqan/sequence/sequence_interface.h"(208)
+
+//____________________________________________________________________________
+// idToPosition
+
+template <typename TString, typename TSpec, typename TId> inline typename Id<StringSet<TString, Owner<TSpec> > >::Type idToPosition(StringSet<TString, Owner<TSpec> >&, TId const id);         // "projects/library/seqan/sequence/sequence_multiple.h"(1578)
+template <typename TString, typename TId> inline typename Id<StringSet<TString, Dependent<Generous> > >::Type idToPosition(StringSet<TString, Dependent<Generous> >& me, TId const id);        // "projects/library/seqan/sequence/sequence_multiple.h"(1587)
+template <typename TString, typename TId> inline typename Id<StringSet<TString, Dependent<Tight> > >::Type idToPosition(StringSet<TString, Dependent<Tight> >&me, TId const id);               // "projects/library/seqan/sequence/sequence_multiple.h"(1596)
+
+//____________________________________________________________________________
+// infix
+
+template <typename T, typename TPosBegin, typename TPosEnd> inline typename Infix<T>::Type infix(T & t, TPosBegin pos_begin, TPosEnd pos_end);         // "projects/library/seqan/sequence/segment_infix.h"(673)
+template <typename T, typename TPosBegin, typename TPosEnd> inline typename Infix<T *>::Type infix(T * t, TPosBegin pos_begin, TPosEnd pos_end);               // "projects/library/seqan/sequence/segment_infix.h"(681)
+template <typename T, typename TSpec, typename TPosBegin, typename TPosEnd> inline typename Infix<Segment<T, TSpec> >::Type infix(Segment<T, TSpec> & t, TPosBegin pos_begin, TPosEnd pos_end);        // "projects/library/seqan/sequence/segment_infix.h"(689)
+template <typename T, typename TSpec, typename TPosBegin, typename TPosEnd> inline typename Infix<Segment<T, TSpec> const>::Type infix(Segment<T, TSpec> const & t, TPosBegin pos_begin, TPosEnd pos_end);             // "projects/library/seqan/sequence/segment_infix.h"(700)
+
+//____________________________________________________________________________
+// infixWithLength
+
+template <typename T, typename TPosBegin, typename TSize> inline typename Infix<T>::Type infixWithLength(T & t, TPosBegin pos_begin, TSize length);            // "projects/library/seqan/sequence/segment_infix.h"(731)
+template <typename T, typename TPosBegin, typename TSize> inline typename Infix<T *>::Type infixWithLength(T * t, TPosBegin pos_begin, TSize length);          // "projects/library/seqan/sequence/segment_infix.h"(739)
+template <typename T, typename TSpec, typename TPosBegin, typename TSize> inline typename Infix<Segment<T, TSpec> >::Type infixWithLength(Segment<T, TSpec> & t, TPosBegin pos_begin, TSize length);           // "projects/library/seqan/sequence/segment_infix.h"(747)
+template <typename T, typename TSpec, typename TPosBegin, typename TSize> inline typename Infix<Segment<T, TSpec> const>::Type infixWithLength(Segment<T, TSpec> const & t, TPosBegin pos_begin, TSize length);        // "projects/library/seqan/sequence/segment_infix.h"(758)
+template <typename TString, typename TSpec, typename TPosition, typename TSize > inline typename Infix<TString>::Type infixWithLength(StringSet< TString, TSpec > &me, TPosition pos, TSize length);           // "projects/library/seqan/sequence/sequence_multiple.h"(468)
+template <typename TString, typename TSpec, typename TPosition, typename TSize > inline typename Infix<TString const>::Type infixWithLength(StringSet< TString, TSpec > const &me, TPosition pos, TSize length);               // "projects/library/seqan/sequence/sequence_multiple.h"(482)
+template <typename TString, typename TDelimiter, typename TPosition, typename TSize > inline typename Infix<TString>::Type infixWithLength(StringSet< TString, Owner<ConcatDirect<TDelimiter> > > &me, TPosition pos, TSize length);           // "projects/library/seqan/sequence/sequence_multiple.h"(496)
+template <typename TString, typename TDelimiter, typename TPosition, typename TSize > inline typename Infix<TString const>::Type infixWithLength(StringSet< TString, Owner<ConcatDirect<TDelimiter> > > const &me, TPosition pos, TSize length);               // "projects/library/seqan/sequence/sequence_multiple.h"(503)
+
+//____________________________________________________________________________
+// insertValue
+
+template <typename THost, typename TSpec, typename TPosition, typename TValue, typename TExpand> inline void insertValue(Segment<THost, TSpec> & me, TPosition pos, TValue const & _value, Tag<TExpand> const);        // "projects/library/seqan/sequence/segment_base.h"(763)
+template <typename THost, typename TSpec, typename TPosition, typename TValue, typename TExpand> inline void insertValue(Segment<THost, TSpec> const & me, TPosition pos, TValue const & _value, Tag<TExpand> const);          // "projects/library/seqan/sequence/segment_base.h"(773)
+template <typename T, typename TPosition, typename TValue> inline void insertValue(T & me, TPosition pos, TValue const & _value);              // "projects/library/seqan/sequence/sequence_interface.h"(1149)
+template <typename T, typename TPosition, typename TValue> inline void insertValue(T const & me, TPosition pos, TValue const & _value);        // "projects/library/seqan/sequence/sequence_interface.h"(1158)
+template <typename TTargetValue, typename TTargetSpec, typename TPosition, typename TValue, typename TExpand> inline void insertValue(String<TTargetValue, TTargetSpec> & me, TPosition pos, TValue const & _value, Tag<TExpand> const);               // "projects/library/seqan/sequence/string_base.h"(1165)
+
+//____________________________________________________________________________
+// isEqual
+
+template <typename TLeftValue, typename TRight > inline bool isEqual(TLeftValue * left, TRight const & right);         // "projects/library/seqan/sequence/string_pointer.h"(715)
+template <typename TLeft, typename TRight > inline bool isEqual(TLeft const & left, TRight const & right);             // "projects/library/seqan/sequence/lexical.h"(329)
+template <typename TSpec> inline bool isEqual(Lexical<TSpec> const & _lex);            // "projects/library/seqan/sequence/lexical.h"(337)
+
+//____________________________________________________________________________
+// isGreater
+
+template <typename TLeftValue, typename TRight> inline bool isGreater(TLeftValue * left, TRight const & right);        // "projects/library/seqan/sequence/string_pointer.h"(800)
+template <typename TLeft, typename TRight, typename TPrefixOrder > inline bool isGreater(TLeft const & left, TRight const & right, Tag<TPrefixOrder> const tag);               // "projects/library/seqan/sequence/lexical.h"(540)
+template <typename TLeft, typename TRight> inline bool isGreater(TLeft const & left, TRight const & right);            // "projects/library/seqan/sequence/lexical.h"(549)
+template <typename TSpec> inline bool isGreater(Lexical<TSpec> const & _lex, TagPrefixLess);           // "projects/library/seqan/sequence/lexical.h"(558)
+template <typename TSpec> inline bool isGreater(Lexical<TSpec> const & _lex, TagPrefixGreater);        // "projects/library/seqan/sequence/lexical.h"(566)
+template <typename TSpec> inline bool isGreater(Lexical<TSpec> const & _lex);          // "projects/library/seqan/sequence/lexical.h"(573)
+
+//____________________________________________________________________________
+// isGreaterOrEqual
+
+template <typename TLeftValue, typename TRight> inline bool isGreaterOrEqual(TLeftValue * left, TRight const & right);         // "projects/library/seqan/sequence/string_pointer.h"(820)
+template <typename TLeft, typename TRight, typename TPrefixOrder > inline bool isGreaterOrEqual(TLeft const & left, TRight const & right, Tag<TPrefixOrder> const tag);        // "projects/library/seqan/sequence/lexical.h"(608)
+template <typename TLeft, typename TRight> inline bool isGreaterOrEqual(TLeft const & left, TRight const & right);             // "projects/library/seqan/sequence/lexical.h"(617)
+template <typename TSpec> inline bool isGreaterOrEqual(Lexical<TSpec> const & _lex, TagPrefixLess);            // "projects/library/seqan/sequence/lexical.h"(626)
+template <typename TSpec> inline bool isGreaterOrEqual(Lexical<TSpec> const & _lex, TagPrefixGreater);         // "projects/library/seqan/sequence/lexical.h"(634)
+template <typename TSpec> inline bool isGreaterOrEqual(Lexical<TSpec> const & _lex);           // "projects/library/seqan/sequence/lexical.h"(641)
+
+//____________________________________________________________________________
+// isLess
+
+template <typename TLeftValue, typename TRight> inline bool isLess(TLeftValue * left, TRight const & right);           // "projects/library/seqan/sequence/string_pointer.h"(760)
+template <typename TLeft, typename TRight, typename TPrefixOrder > inline bool isLess(TLeft const & left, TRight const & right, Tag<TPrefixOrder> const tag);          // "projects/library/seqan/sequence/lexical.h"(405)
+template <typename TLeft, typename TRight> inline bool isLess(TLeft const & left, TRight const & right);               // "projects/library/seqan/sequence/lexical.h"(414)
+template <typename TSpec> inline bool isLess(Lexical<TSpec> const & _lex, TagPrefixLess);              // "projects/library/seqan/sequence/lexical.h"(423)
+template <typename TSpec> inline bool isLess(Lexical<TSpec> const & _lex, TagPrefixGreater);           // "projects/library/seqan/sequence/lexical.h"(431)
+template <typename TSpec> inline bool isLess(Lexical<TSpec> const & _lex);             // "projects/library/seqan/sequence/lexical.h"(438)
+
+//____________________________________________________________________________
+// isLessOrEqual
+
+template <typename TLeftValue, typename TRight> inline bool isLessOrEqual(TLeftValue * left, TRight const & right);            // "projects/library/seqan/sequence/string_pointer.h"(780)
+template <typename TLeft, typename TRight, typename TPrefixOrder > inline bool isLessOrEqual(TLeft const & left, TRight const & right, Tag<TPrefixOrder> const tag);           // "projects/library/seqan/sequence/lexical.h"(473)
+template <typename TLeft, typename TRight> inline bool isLessOrEqual(TLeft const & left, TRight const & right);        // "projects/library/seqan/sequence/lexical.h"(482)
+template <typename TSpec> inline bool isLessOrEqual(Lexical<TSpec> const & _lex, TagPrefixLess);               // "projects/library/seqan/sequence/lexical.h"(491)
+template <typename TSpec> inline bool isLessOrEqual(Lexical<TSpec> const & _lex, TagPrefixGreater);            // "projects/library/seqan/sequence/lexical.h"(499)
+template <typename TSpec> inline bool isLessOrEqual(Lexical<TSpec> const & _lex);              // "projects/library/seqan/sequence/lexical.h"(506)
+
+//____________________________________________________________________________
+// isNotEqual
+
+template <typename TLeftValue, typename TRight > inline bool isNotEqual(TLeftValue * left, TRight const & right);              // "projects/library/seqan/sequence/string_pointer.h"(737)
+template <typename TLeft, typename TRight > inline bool isNotEqual(TLeft const & left, TRight const & right);          // "projects/library/seqan/sequence/lexical.h"(363)
+template <typename TSpec> inline bool isNotEqual(Lexical<TSpec> const & _lex);         // "projects/library/seqan/sequence/lexical.h"(371)
+
+//____________________________________________________________________________
+// isPrefix
+
+template <typename TLeft, typename TRight > inline bool isPrefix(TLeft const & left, TRight const & right);            // "projects/library/seqan/sequence/lexical.h"(669)
+template <typename TSpec> inline bool isPrefix(Lexical<TSpec> const & _lex);           // "projects/library/seqan/sequence/lexical.h"(677)
+
+//____________________________________________________________________________
+// iter
+
+template <typename TValue, typename THost, typename TMap, typename TPos, typename TSpec, typename TTag> inline typename Iterator<String< TValue, ValueExpand<THost, TMap, TSpec> >, Tag<TTag> const>::Type iter(String< TValue, ValueExpand<THost, TMap, TSpec> > & me, TPos pos_, Tag<TTag> const tag_);              // "projects/library/seqan/sequence/string_value_expand.h"(269)
+template <typename TValue, typename THost, typename TMap, typename TPos, typename TSpec, typename TTag> inline typename Iterator<String< TValue, ValueExpand<THost, TMap, TSpec> > const, Tag<TTag> const>::Type iter(String< TValue, ValueExpand<THost, TMap, TSpec> > const & me, TPos pos_, Tag<TTag> const tag_ );         // "projects/library/seqan/sequence/string_value_expand.h"(280)
+template <typename TValue, typename THostspec, typename TPos, typename TTag> inline typename Iterator<String<TValue, Packed<THostspec> >, Tag<TTag> const>::Type iter(String<TValue, Packed<THostspec> > & me, TPos pos_, Tag<TTag> const);            // "projects/library/seqan/sequence/string_packed.h"(418)
+template <typename TValue, typename THostspec, typename TPos, typename TTag> inline typename Iterator<String<TValue, Packed<THostspec> > const, Tag<TTag> const>::Type iter(String<TValue, Packed<THostspec> > const & me, TPos pos_, Tag<TTag> const);        // "projects/library/seqan/sequence/string_packed.h"(428)
+template <typename T, typename TPos> inline typename Iterator<T, typename DefaultGetIteratorSpec<T>::Type>::Type iter(T & me, TPos pos);               // "projects/library/seqan/sequence/sequence_interface.h"(720)
+template <typename T, typename TPos> inline typename Iterator<T const, typename DefaultGetIteratorSpec<T>::Type>::Type iter(T const & me, TPos pos);           // "projects/library/seqan/sequence/sequence_interface.h"(728)
+template <typename T, typename TPos, typename TTag> inline typename Iterator<T, Tag<TTag> const>::Type iter(T & me, TPos pos, Tag<TTag> const tag_);           // "projects/library/seqan/sequence/sequence_interface.h"(739)
+template <typename T, typename TPos, typename TTag> inline typename Iterator<T const, Tag<TTag> const>::Type iter(T const & me, TPos pos, Tag<TTag> const tag_);               // "projects/library/seqan/sequence/sequence_interface.h"(748)
+
+//____________________________________________________________________________
+// lcpLength
+
+template <typename TLeft, typename TRight > inline typename Size<TLeft>::Type lcpLength(TLeft const & left, TRight const & right);             // "projects/library/seqan/sequence/lexical.h"(739)
+template <typename TSpec> inline typename Size< Lexical<TSpec> >::Type lcpLength(Lexical<TSpec> const & _lex);         // "projects/library/seqan/sequence/lexical.h"(748)
+
+//____________________________________________________________________________
+// length
+
+template <typename THost, typename TSpec> inline typename Size<Segment<THost, TSpec> const>::Type length(Segment<THost, TSpec> const & me);            // "projects/library/seqan/sequence/segment_base.h"(258)
+template <typename TValue, typename THost, typename TMap, typename TSpec> inline typename Size<String< TValue, ValueExpand<THost, TMap, TSpec> > const>::Type length(String< TValue, ValueExpand<THost, TMap, TSpec> > const & me);            // "projects/library/seqan/sequence/string_value_expand.h"(351)
+template <typename TValue> inline size_t length(TValue * me);          // "projects/library/seqan/sequence/string_pointer.h"(313)
+template <typename TValue> inline size_t length(TValue const * me);            // "projects/library/seqan/sequence/string_pointer.h"(324)
+inline size_t length(char * me);               // "projects/library/seqan/sequence/string_pointer.h"(334)
+inline size_t length(char const * me);         // "projects/library/seqan/sequence/string_pointer.h"(341)
+template <typename TChar, typename TCharTraits, typename TAlloc> inline typename Size< ::std::basic_string<TChar, TCharTraits, TAlloc> >::Type length(::std::basic_string<TChar, TCharTraits, TAlloc> const & me);             // "projects/library/seqan/sequence/std_string.h"(221)
+template <typename TString, typename TSpec > inline typename Size< StringSet< TString, TSpec > >::Type length(StringSet< TString, TSpec > const &me);          // "projects/library/seqan/sequence/sequence_multiple.h"(1148)
+template <typename TString> inline typename Size<StringSet<TString, Dependent<Tight> > >::Type length(StringSet<TString, Dependent<Tight> > const &me);        // "projects/library/seqan/sequence/sequence_multiple.h"(1155)
+template <typename TStringSet > inline typename Size< ConcatenatorNto1<TStringSet> >::Type length(ConcatenatorNto1<TStringSet> const &me);             // "projects/library/seqan/sequence/sequence_multiple.h"(1790)
+template <typename T> inline typename Size<T const>::Type length(T const & );          // "projects/library/seqan/sequence/sequence_interface.h"(829)
+template <typename TValue, unsigned int SPACE> inline typename Size<String<TValue, Block<SPACE> > >::Type length(String<TValue, Block<SPACE> > const & me);            // "projects/library/seqan/sequence/string_stack.h"(511)
+template <typename TValue, typename TSpec> inline typename Size< String<TValue, TSpec> const>::Type length(String<TValue, TSpec> const & me);          // "projects/library/seqan/sequence/string_base.h"(179)
+
+//____________________________________________________________________________
+// lengthSum
+
+template <typename TString > inline typename Size<TString>::Type lengthSum(TString const &me);         // "projects/library/seqan/sequence/sequence_multiple.h"(1023)
+template <typename TString, typename TSpec > inline typename Size<TString>::Type lengthSum(StringSet< TString, TSpec > const &me);             // "projects/library/seqan/sequence/sequence_multiple.h"(1028)
+
+//____________________________________________________________________________
+// move
+
+template <typename THost, typename TSpec, typename TSource, typename TExpand> inline void move(Segment<THost, TSpec> & target, TSource & source);              // "projects/library/seqan/sequence/segment_base.h"(490)
+template <typename THost, typename TSpec, typename TSource, typename TExpand> inline void move(Segment<THost, TSpec> & target, TSource const & source);        // "projects/library/seqan/sequence/segment_base.h"(499)
+template <typename THost, typename TSpec, typename TSource, typename TExpand> inline void move(Segment<THost, TSpec> const & target, TSource & source);        // "projects/library/seqan/sequence/segment_base.h"(511)
+template <typename THost, typename TSpec, typename TSource, typename TExpand> inline void move(Segment<THost, TSpec> const & target, TSource const & source);          // "projects/library/seqan/sequence/segment_base.h"(520)
+template <typename TTargetValue, typename TSource> inline void move(TTargetValue * & target, TSource & source);        // "projects/library/seqan/sequence/string_pointer.h"(516)
+template <typename TTargetValue, typename TSource> inline void move(TTargetValue * & target, TSource const & source);          // "projects/library/seqan/sequence/string_pointer.h"(524)
+template <typename TTargetValue, typename TSourceValue, typename TSpec> inline void move(String<TTargetValue, Alloc<TSpec> > & target, String<TSourceValue, Alloc<TSpec> > & source);          // "projects/library/seqan/sequence/string_alloc.h"(360)
+template <typename TTargetValue, typename TSourceValue, typename TSpec> inline void move(String<TTargetValue, Alloc<TSpec> > & target, String<TSourceValue, Alloc<TSpec> > const & source);            // "projects/library/seqan/sequence/string_alloc.h"(367)
+template <typename TValue, typename TSpec> inline void move(String<TValue, Alloc<TSpec> > & target, String<TValue, Alloc<TSpec> > & source);           // "projects/library/seqan/sequence/string_alloc.h"(375)
+template <typename TValue, typename TSpec> inline void move(String<TValue, Alloc<TSpec> > & target, String<TValue, Alloc<TSpec> > const & source);             // "projects/library/seqan/sequence/string_alloc.h"(389)
+template <typename TTargetValue, typename TTargetSpec, typename TSource> inline void move(String<TTargetValue, TTargetSpec> & target, TSource & source);               // "projects/library/seqan/sequence/string_base.h"(915)
+template <typename TTargetValue, typename TTargetSpec, typename TSource> inline void move(String<TTargetValue, TTargetSpec> & target, TSource const & source);         // "projects/library/seqan/sequence/string_base.h"(924)
+template <typename TTargetValue, typename TTargetSpec, typename TSource, typename TTag> inline void move(String<TTargetValue, TTargetSpec> & target, TSource & source, Tag<TTag> const tag);           // "projects/library/seqan/sequence/string_base.h"(937)
+template <typename TTargetValue, typename TTargetSpec, typename TSource, typename TTag> inline void move(String<TTargetValue, TTargetSpec> & target, TSource const & source, Tag<TTag> const tag);             // "projects/library/seqan/sequence/string_base.h"(947)
+
+//____________________________________________________________________________
+// moveValue
+
+template <typename TContainer, typename TIterator, typename TValue> inline void moveValue(Iter<TContainer, AdaptorIterator<TIterator, ValueExpandIter> > & me, TValue const & _value);         // "projects/library/seqan/sequence/string_value_expand.h"(496)
+template <typename TContainer, typename TIterator, typename TValue> inline void moveValue(Iter<TContainer, AdaptorIterator<TIterator, ValueExpandIter> > const & me, TValue const & _value);           // "projects/library/seqan/sequence/string_value_expand.h"(504)
+template <typename TValue, typename TPos> inline void moveValue(TValue * me, TPos pos, TValue const & _value);         // "projects/library/seqan/sequence/string_pointer.h"(280)
+template <typename TContainer, typename THostspec, typename TValue> inline void moveValue(Iter<TContainer, Packed<THostspec> > & me, TValue const & _value);           // "projects/library/seqan/sequence/string_packed.h"(1010)
+template <typename TContainer, typename THostspec, typename TValue> inline void moveValue(Iter<TContainer, Packed<THostspec> > const & me, TValue const & _value);             // "projects/library/seqan/sequence/string_packed.h"(1018)
+template <typename T, typename TValue, typename TPos> inline void moveValue(T & me, TPos pos, TValue const & _value);          // "projects/library/seqan/sequence/sequence_interface.h"(804)
+
+//____________________________________________________________________________
+// operator!=
+
+template <typename TLeftHost, typename TLeftSpec, typename TRight > inline bool operator!= (Segment<TLeftHost, TLeftSpec> const & left, TRight const & right);         // "projects/library/seqan/sequence/segment_base.h"(1091)
+template <typename TContainer, typename THostspec> inline bool operator!= (Iter<TContainer, Packed<THostspec> > const & left, Iter<TContainer, Packed<THostspec> > const & right);             // "projects/library/seqan/sequence/string_packed.h"(1080)
+template <typename TSSetL, typename TSpecL, typename TSSetR, typename TSpecR> inline bool operator!= ( Iter<TSSetL, ConcatVirtual<TSpecL> > const &L, Iter<TSSetR, ConcatVirtual<TSpecR> > const &R);          // "projects/library/seqan/sequence/sequence_multiple.h"(2173)
+template <typename TLeftValue, typename TLeftSpec, typename TRight > inline bool operator!=(String<TLeftValue, TLeftSpec> const & left, TRight const & right);         // "projects/library/seqan/sequence/string_base.h"(1572)
+
+//____________________________________________________________________________
+// operator*
+
+template <typename TStringSet, typename TSpec> inline typename Reference< Iter< TStringSet, ConcatVirtual<TSpec> > const>::Type operator* (Iter<TStringSet, ConcatVirtual<TSpec> > const & me);        // "projects/library/seqan/sequence/sequence_multiple.h"(2051)
+template <typename TStringSet, typename TSpec> inline typename Reference< Iter< TStringSet, ConcatVirtual<TSpec> > >::Type operator* (Iter<TStringSet, ConcatVirtual<TSpec> > & me);           // "projects/library/seqan/sequence/sequence_multiple.h"(2057)
+
+//____________________________________________________________________________
+// operator+
+
+template <typename TContainer, typename THostspec, typename TIntegral> inline Iter<TContainer, Packed<THostspec> > operator+ (Iter<TContainer, Packed<THostspec> > const & left, TIntegral right);             // "projects/library/seqan/sequence/string_packed.h"(1189)
+template <typename TContainer, typename THostspec, typename TIntegral> inline Iter<TContainer, Packed<THostspec> > operator+ (TIntegral left, Iter<TContainer, Packed<THostspec> > const & right);             // "projects/library/seqan/sequence/string_packed.h"(1197)
+template <typename TStringSet, typename TSpec, typename TDelta> inline Iter<TStringSet, ConcatVirtual<TSpec> > operator+ (Iter<TStringSet, ConcatVirtual<TSpec> > const & me, TDelta delta);           // "projects/library/seqan/sequence/sequence_multiple.h"(2119)
+template <typename TStringSet, typename TSpec, typename T1, typename T2, typename TCompression> inline Iter<TStringSet, ConcatVirtual<TSpec> > operator+ (Iter<TStringSet, ConcatVirtual<TSpec> > const & me, Pair<T1, T2, TCompression> delta);               // "projects/library/seqan/sequence/sequence_multiple.h"(2127)
+
+//____________________________________________________________________________
+// operator++
+
+template <typename THost> inline Segment<THost, InfixSegment> & operator++(Segment<THost, InfixSegment> & segment);            // "projects/library/seqan/sequence/segment_infix.h"(592)
+template <typename THost> inline Segment<THost, PrefixSegment> & operator++(Segment<THost, PrefixSegment> & segment);          // "projects/library/seqan/sequence/segment_prefix.h"(471)
+template <typename TStringSet, typename TSpec> inline Iter<TStringSet, ConcatVirtual<TSpec> > const & operator++ (Iter<TStringSet, ConcatVirtual<TSpec> > & me);               // "projects/library/seqan/sequence/sequence_multiple.h"(2074)
+template <typename TStringSet, typename TSpec> inline Iter<TStringSet, ConcatVirtual<TSpec> > const & operator++ (Iter<TStringSet, ConcatVirtual<TSpec> > & me, int);          // "projects/library/seqan/sequence/sequence_multiple.h"(2081)
+template <typename THost> inline Segment<THost, SuffixSegment> & operator++(Segment<THost, SuffixSegment> & segment);          // "projects/library/seqan/sequence/segment_suffix.h"(460)
+
+//____________________________________________________________________________
+// operator+=
+
+template <typename TLeftValue, typename TLeftSpec, typename TRight> Segment<TLeftValue, TLeftSpec> const & operator+= (Segment<TLeftValue, TLeftSpec> & left, TRight const & right);           // "projects/library/seqan/sequence/segment_base.h"(1066)
+template <typename TContainer, typename THostspec, typename TIntegral> inline Iter<TContainer, Packed<THostspec> > & operator+= (Iter<TContainer, Packed<THostspec> > & left, TIntegral right);        // "projects/library/seqan/sequence/string_packed.h"(1210)
+template <typename TLeftValue, typename TLeftSpec, typename TRight > String<TLeftValue, TLeftSpec> const & operator+= (String<TLeftValue, TLeftSpec> & left, TRight const & right);            // "projects/library/seqan/sequence/string_base.h"(1548)
+
+//____________________________________________________________________________
+// operator-
+
+template <typename TContainer, typename THostspec, typename TIntegral> inline Iter<TContainer, Packed<THostspec> > operator- (Iter<TContainer, Packed<THostspec> > const & left, TIntegral right);             // "projects/library/seqan/sequence/string_packed.h"(1224)
+template <typename TContainer, typename THostspec> inline typename Difference<Iter<TContainer, Packed<THostspec> > >::Type operator- (Iter<TContainer, Packed<THostspec> > const & left, Iter<TContainer, Packed<THostspec> > const & right);          // "projects/library/seqan/sequence/string_packed.h"(1235)
+template <typename TSSetL, typename TSpecL, typename TSSetR, typename TSpecR> typename Difference<Iter<TSSetL, ConcatVirtual<TSpecL> > >::Type operator- ( Iter<TSSetL, ConcatVirtual<TSpecL> > const &L, Iter<TSSetR, ConcatVirtual<TSpecR> > const &R);              // "projects/library/seqan/sequence/sequence_multiple.h"(2142)
+template <typename TStringSet, typename TSpec, typename TDelta> inline Iter<TStringSet, ConcatVirtual<TSpec> > operator- (Iter<TStringSet, ConcatVirtual<TSpec> > const & me, TDelta delta);           // "projects/library/seqan/sequence/sequence_multiple.h"(2148)
+
+//____________________________________________________________________________
+// operator--
+
+template <typename THost> inline Segment<THost, InfixSegment> & operator--(Segment<THost, InfixSegment> & segment);            // "projects/library/seqan/sequence/segment_infix.h"(612)
+template <typename THost> inline Segment<THost, PrefixSegment> & operator--(Segment<THost, PrefixSegment> & segment);          // "projects/library/seqan/sequence/segment_prefix.h"(481)
+template <typename TStringSet, typename TSpec> inline Iter<TStringSet, ConcatVirtual<TSpec> > const & operator-- (Iter<TStringSet, ConcatVirtual<TSpec> > & me);               // "projects/library/seqan/sequence/sequence_multiple.h"(2100)
+template <typename TStringSet, typename TSpec> inline Iter<TStringSet, ConcatVirtual<TSpec> > const & operator-- (Iter<TStringSet, ConcatVirtual<TSpec> > & me, int);          // "projects/library/seqan/sequence/sequence_multiple.h"(2107)
+template <typename THost> inline Segment<THost, SuffixSegment> & operator--(Segment<THost, SuffixSegment> & segment);          // "projects/library/seqan/sequence/segment_suffix.h"(470)
+
+//____________________________________________________________________________
+// operator-=
+
+template <typename TContainer, typename THostspec, typename TIntegral> inline Iter<TContainer, Packed<THostspec> > & operator-= (Iter<TContainer, Packed<THostspec> > & left, TIntegral right);        // "projects/library/seqan/sequence/string_packed.h"(1248)
+
+//____________________________________________________________________________
+// operator<
+
+template <typename TLeftHost, typename TLeftSpec, typename TRight> inline bool operator< (Segment<TLeftHost, TLeftSpec> const & left, TRight const & right);           // "projects/library/seqan/sequence/segment_base.h"(1103)
+template <typename TContainer, typename THostspec> inline bool operator< (Iter<TContainer, Packed<THostspec> > const & left, Iter<TContainer, Packed<THostspec> > const & right);              // "projects/library/seqan/sequence/string_packed.h"(1119)
+template <typename TSSetL, typename TSpecL, typename TSSetR, typename TSpecR> inline bool operator< ( Iter<TSSetL, ConcatVirtual<TSpecL> > const &L, Iter<TSSetR, ConcatVirtual<TSpecR> > const &R);           // "projects/library/seqan/sequence/sequence_multiple.h"(2187)
+template <typename TLeftValue, typename TLeftSpec, typename TRight> inline bool operator< (String<TLeftValue, TLeftSpec> const & left, TRight const & right);          // "projects/library/seqan/sequence/string_base.h"(1584)
+
+//____________________________________________________________________________
+// operator<<
+
+template <typename TStream, typename THost, typename TSpec> inline TStream & operator<< (TStream & target, Segment<THost, TSpec> const & source);              // "projects/library/seqan/sequence/segment_base.h"(1149)
+template <typename TStream, typename TValue, typename TSpec> inline TStream & operator<< (TStream & target, String<TValue, TSpec> const & source);             // "projects/library/seqan/sequence/string_base.h"(1629)
+
+//____________________________________________________________________________
+// operator<=
+
+template <typename TLeftHost, typename TLeftSpec, typename TRight> inline bool operator<= (Segment<TLeftHost, TLeftSpec> const & left, TRight const & right);          // "projects/library/seqan/sequence/segment_base.h"(1114)
+template <typename TContainer, typename THostspec> inline bool operator<= (Iter<TContainer, Packed<THostspec> > const & left, Iter<TContainer, Packed<THostspec> > const & right);             // "projects/library/seqan/sequence/string_packed.h"(1132)
+template <typename TLeftValue, typename TLeftSpec, typename TRight> inline bool operator<= (String<TLeftValue, TLeftSpec> const & left, TRight const & right);         // "projects/library/seqan/sequence/string_base.h"(1595)
+
+//____________________________________________________________________________
+// operator==
+
+template <typename TLeftHost, typename TLeftSpec, typename TRight > inline bool operator== (Segment<TLeftHost, TLeftSpec> const & left, TRight const & right);         // "projects/library/seqan/sequence/segment_base.h"(1079)
+template <typename TContainer, typename THostspec> inline bool operator== (Iter<TContainer, Packed<THostspec> > const & left, Iter<TContainer, Packed<THostspec> > const & right);             // "projects/library/seqan/sequence/string_packed.h"(1067)
+template <typename TSSetL, typename TSpecL, typename TSSetR, typename TSpecR> inline bool operator== ( Iter<TSSetL, ConcatVirtual<TSpecL> > const &L, Iter<TSSetR, ConcatVirtual<TSpecR> > const &R);          // "projects/library/seqan/sequence/sequence_multiple.h"(2163)
+template <typename TLeftValue, typename TLeftSpec, typename TRight > inline bool operator== (String<TLeftValue, TLeftSpec> const & left, TRight const & right);        // "projects/library/seqan/sequence/string_base.h"(1560)
+
+//____________________________________________________________________________
+// operator>
+
+template <typename TLeftHost, typename TLeftSpec, typename TRight> inline bool operator> (Segment<TLeftHost, TLeftSpec> const & left, TRight const & right);           // "projects/library/seqan/sequence/segment_base.h"(1124)
+template <typename TContainer, typename THostspec> inline bool operator> (Iter<TContainer, Packed<THostspec> > const & left, Iter<TContainer, Packed<THostspec> > const & right);              // "projects/library/seqan/sequence/string_packed.h"(1093)
+template <typename TSSetL, typename TSpecL, typename TSSetR, typename TSpecR> inline bool operator> ( Iter<TSSetL, ConcatVirtual<TSpecL> > const &L, Iter<TSSetR, ConcatVirtual<TSpecR> > const &R);           // "projects/library/seqan/sequence/sequence_multiple.h"(2197)
+template <typename TLeftValue, typename TLeftSpec, typename TRight> inline bool operator> (String<TLeftValue, TLeftSpec> const & left, TRight const & right);          // "projects/library/seqan/sequence/string_base.h"(1605)
+
+//____________________________________________________________________________
+// operator>=
+
+template <typename TLeftHost, typename TLeftSpec, typename TRight> inline bool operator>= (Segment<TLeftHost, TLeftSpec> const & left, TRight const & right);          // "projects/library/seqan/sequence/segment_base.h"(1135)
+template <typename TContainer, typename THostspec> inline bool operator>= (Iter<TContainer, Packed<THostspec> > const & left, Iter<TContainer, Packed<THostspec> > const & right);             // "projects/library/seqan/sequence/string_packed.h"(1106)
+template <typename TLeftValue, typename TLeftSpec, typename TRight> inline bool operator>= (String<TLeftValue, TLeftSpec> const & left, TRight const & right);         // "projects/library/seqan/sequence/string_base.h"(1616)
+
+//____________________________________________________________________________
+// operator>>
+
+template <typename TStream, typename THost, typename TSpec> inline TStream & operator>> (TStream & source, Segment<THost, TSpec> & target);            // "projects/library/seqan/sequence/segment_base.h"(1161)
+template <typename TStream, typename THost, typename TSpec> inline TStream & operator>> (TStream & source, Segment<THost, TSpec> const & target);              // "projects/library/seqan/sequence/segment_base.h"(1170)
+template <typename TStream, typename TValue, typename TSpec> inline TStream & operator>> (TStream & source, String<TValue, TSpec> & target);           // "projects/library/seqan/sequence/string_base.h"(1641)
+
+//____________________________________________________________________________
+// ordValue
+
+template <typename TValue> inline unsigned ordValue(TValue const &c);          // "projects/library/seqan/sequence/lexical.h"(770)
+template <typename TValue, typename TSpec> inline unsigned ordValue(SimpleType<TValue,TSpec> const &c);        // "projects/library/seqan/sequence/lexical.h"(776)
+
+//____________________________________________________________________________
+// pop
+
+template <typename TValue, unsigned int SPACE> inline void pop(String<TValue, Block<SPACE> >& me);             // "projects/library/seqan/sequence/string_stack.h"(474)
+
+//____________________________________________________________________________
+// pop_back
+
+template <typename TValue, unsigned int SPACE> inline void pop_back(String<TValue, Block<SPACE> >& me);        // "projects/library/seqan/sequence/string_stack.h"(496)
+
+//____________________________________________________________________________
+// posAdd
+
+template <typename TPos, typename TDelta> inline TPos posAdd(TPos pos, TDelta delta);          // "projects/library/seqan/sequence/sequence_multiple.h"(547)
+template <typename T1, typename T2, typename TCompression, typename TDelta> inline Pair<T1, T2, TCompression> posAdd(Pair<T1, T2, TCompression> const &pos, TDelta delta);             // "projects/library/seqan/sequence/sequence_multiple.h"(553)
+
+//____________________________________________________________________________
+// posAtFirstLocal
+
+template <typename TPos, typename TLimitsString> inline bool posAtFirstLocal(TPos pos, TLimitsString const &limits);           // "projects/library/seqan/sequence/sequence_multiple.h"(513)
+template <typename TPos> inline bool posAtFirstLocal(TPos pos);        // "projects/library/seqan/sequence/sequence_multiple.h"(517)
+
+//____________________________________________________________________________
+// posCompare
+
+template <typename TPos> inline int posCompare(TPos const &a, TPos const &b);          // "projects/library/seqan/sequence/sequence_multiple.h"(589)
+template <typename T1, typename T2, typename TCompression> inline int posCompare(Pair<T1, T2, TCompression> const &a, Pair<T1, T2, TCompression> const &b);            // "projects/library/seqan/sequence/sequence_multiple.h"(596)
+
+//____________________________________________________________________________
+// posGlobalize
+
+template <typename TPosition> inline TPosition posGlobalize(TPosition const &pos, Nothing const &);            // "projects/library/seqan/sequence/sequence_multiple.h"(300)
+template <typename T1, typename T2, typename TCompression> inline T2 posGlobalize(Pair<T1, T2, TCompression> const &pos, Nothing const &);             // "projects/library/seqan/sequence/sequence_multiple.h"(306)
+template <typename TLimitsString, typename TPosition> inline TPosition posGlobalize(TPosition const &pos, TLimitsString const &);              // "projects/library/seqan/sequence/sequence_multiple.h"(312)
+template <typename TLimitsString, typename T1, typename T2, typename TCompression> inline typename Value<TLimitsString>::Type posGlobalize(Pair<T1, T2, TCompression> const &pos, TLimitsString const &limits);        // "projects/library/seqan/sequence/sequence_multiple.h"(319)
+
+//____________________________________________________________________________
+// posLess
+
+template <typename TPos> inline bool posLess(TPos const &a, TPos const &b);            // "projects/library/seqan/sequence/sequence_multiple.h"(577)
+template <typename T1, typename T2, typename TCompression> inline bool posLess(Pair<T1, T2, TCompression> const &a, Pair<T1, T2, TCompression> const &b);              // "projects/library/seqan/sequence/sequence_multiple.h"(582)
+
+//____________________________________________________________________________
+// posLocalize
+
+template <typename TResult, typename TPosition> inline void posLocalize(TResult &result, TPosition const &pos, Nothing const &);               // "projects/library/seqan/sequence/sequence_multiple.h"(343)
+template <typename T1, typename T2, typename TCompression, typename TPosition> inline void posLocalize(Pair<T1, T2, TCompression> &result, TPosition const &pos, Nothing const &);             // "projects/library/seqan/sequence/sequence_multiple.h"(348)
+template <typename TResult, typename TSize, typename TSpec, typename TPosition> inline void posLocalize(TResult &result, TPosition const &pos, String<TSize, TSpec> const &limits);            // "projects/library/seqan/sequence/sequence_multiple.h"(355)
+template <typename TResult, typename TSize, typename TSpec, typename T1, typename T2, typename TCompression> inline void posLocalize(TResult &result, Pair<T1, T2, TCompression> const &pos, String<TSize, TSpec> const & );           // "projects/library/seqan/sequence/sequence_multiple.h"(365)
+
+//____________________________________________________________________________
+// posNext
+
+template <typename TPos> inline TPos posNext(TPos pos);        // "projects/library/seqan/sequence/sequence_multiple.h"(535)
+template <typename T1, typename T2, typename TCompression> inline Pair<T1, T2, TCompression> posNext(Pair<T1, T2, TCompression> const &pos);           // "projects/library/seqan/sequence/sequence_multiple.h"(541)
+
+//____________________________________________________________________________
+// posPrev
+
+template <typename TPos> inline TPos posPrev(TPos pos);        // "projects/library/seqan/sequence/sequence_multiple.h"(524)
+template <typename T1, typename T2, typename TCompression> inline Pair<T1, T2, TCompression> posPrev(Pair<T1, T2, TCompression> const &pos);           // "projects/library/seqan/sequence/sequence_multiple.h"(529)
+
+//____________________________________________________________________________
+// posSub
+
+template <typename TA, typename TB> inline TA posSub(TA a, TB b);              // "projects/library/seqan/sequence/sequence_multiple.h"(559)
+template <typename TA1, typename TA2, typename TACompression, typename TB1, typename TB2, typename TBCompression > inline TA2 posSub(Pair<TA1, TA2, TACompression> const &a, Pair<TB1, TB2, TBCompression> const &b);          // "projects/library/seqan/sequence/sequence_multiple.h"(568)
+
+//____________________________________________________________________________
+// position
+
+template <typename TContainer, typename THostspec> inline typename Position<Iter<TContainer, Packed<THostspec> > const>::Type position(Iter<TContainer, Packed<THostspec> > const & me);               // "projects/library/seqan/sequence/string_packed.h"(902)
+
+//____________________________________________________________________________
+// positionToId
+
+template <typename TString, typename TSpec, typename TPos> inline typename Id<StringSet<TString, Owner<TSpec> > >::Type positionToId(StringSet<TString, Owner<TSpec> >&, TPos const pos);              // "projects/library/seqan/sequence/sequence_multiple.h"(1518)
+template <typename TString, typename TPos> inline typename Id<StringSet<TString, Dependent<Generous> > >::Type positionToId(StringSet<TString, Dependent<Generous> >& me, TPos const pos);             // "projects/library/seqan/sequence/sequence_multiple.h"(1527)
+template <typename TString, typename TPos> inline typename Id<StringSet<TString, Dependent<Generous> > >::Type positionToId(StringSet<TString, Dependent<Generous> > const& me, TPos const pos);               // "projects/library/seqan/sequence/sequence_multiple.h"(1536)
+template <typename TString, typename TPos> inline typename Id<StringSet<TString, Dependent<Tight> > >::Type positionToId(StringSet<TString, Dependent<Tight> >&me, TPos const pos);            // "projects/library/seqan/sequence/sequence_multiple.h"(1545)
+template <typename TString, typename TPos> inline typename Id<StringSet<TString, Dependent<Tight> > >::Type positionToId(StringSet<TString, Dependent<Tight> > const&me, TPos const pos);              // "projects/library/seqan/sequence/sequence_multiple.h"(1554)
+
+//____________________________________________________________________________
+// prefix
+
+template <typename T, typename TPosEnd> inline typename Prefix<T>::Type prefix(T & t, TPosEnd pos_end);        // "projects/library/seqan/sequence/segment_prefix.h"(510)
+template <typename T, typename TPosEnd> inline typename Prefix<T *>::Type prefix(T * t, TPosEnd pos_end);              // "projects/library/seqan/sequence/segment_prefix.h"(518)
+template <typename T, typename TPosEnd> inline typename Prefix<Segment<T, PrefixSegment> >::Type prefix(Segment<T, PrefixSegment> & t, TPosEnd pos_end);               // "projects/library/seqan/sequence/segment_prefix.h"(528)
+template <typename T, typename TPosEnd> inline typename Prefix<Segment<T, PrefixSegment> const>::Type prefix(Segment<T, PrefixSegment> const & t, TPosEnd pos_end);            // "projects/library/seqan/sequence/segment_prefix.h"(537)
+template <typename T, typename TPosEnd> inline typename Prefix<Segment<T, InfixSegment> >::Type prefix(Segment<T, InfixSegment> & t, TPosEnd pos_end);         // "projects/library/seqan/sequence/segment_prefix.h"(549)
+template <typename T, typename TPosEnd> inline typename Prefix<Segment<T, InfixSegment> const>::Type prefix(Segment<T, InfixSegment> const & t, TPosEnd pos_end);              // "projects/library/seqan/sequence/segment_prefix.h"(559)
+template <typename T, typename TPosEnd> inline typename Prefix<Segment<T, SuffixSegment> >::Type prefix(Segment<T, SuffixSegment> & t, TPosEnd pos_end);               // "projects/library/seqan/sequence/segment_prefix.h"(573)
+template <typename T, typename TPosEnd> inline typename Prefix<Segment<T, SuffixSegment> const>::Type prefix(Segment<T, SuffixSegment> const & t, TPosEnd pos_end);            // "projects/library/seqan/sequence/segment_prefix.h"(583)
+template <typename TString, typename TSpec, typename TPosition > inline typename Prefix<TString>::Type prefix(StringSet< TString, TSpec > &me, TPosition pos);         // "projects/library/seqan/sequence/sequence_multiple.h"(376)
+template <typename TString, typename TSpec, typename TPosition > inline typename Prefix<TString const>::Type prefix(StringSet< TString, TSpec > const &me, TPosition pos);             // "projects/library/seqan/sequence/sequence_multiple.h"(390)
+template <typename TString, typename TDelimiter, typename TPosition > inline typename Infix<TString>::Type prefix(StringSet< TString, Owner<ConcatDirect<TDelimiter> > > &me, TPosition pos);          // "projects/library/seqan/sequence/sequence_multiple.h"(404)
+template <typename TString, typename TDelimiter, typename TPosition > inline typename Infix<TString const>::Type prefix(StringSet< TString, Owner<ConcatDirect<TDelimiter> > > const &me, TPosition pos);              // "projects/library/seqan/sequence/sequence_multiple.h"(411)
+
+//____________________________________________________________________________
+// push
+
+template <typename TValue, unsigned int SPACE, typename TVal> inline void push( String<TValue, Block<SPACE> >& me, TVal const& source);        // "projects/library/seqan/sequence/string_stack.h"(403)
+template <typename TValue, unsigned int SPACE> inline void push(String<TValue, Block<SPACE> >& me);            // "projects/library/seqan/sequence/string_stack.h"(410)
+
+//____________________________________________________________________________
+// push_back
+
+template <typename TValue, unsigned int SPACE, typename TVal> inline void push_back( String<TValue, Block<SPACE> >& me, TVal const& source);           // "projects/library/seqan/sequence/string_stack.h"(429)
+
+//____________________________________________________________________________
+// removeValueById
+
+template <typename TString, typename TSpec, typename TId> inline void removeValueById(StringSet<TString, Owner<TSpec> >& me, TId const id);            // "projects/library/seqan/sequence/sequence_multiple.h"(1458)
+template <typename TString, typename TId> inline void removeValueById(StringSet<TString, Dependent<Generous> >& me, TId const id);             // "projects/library/seqan/sequence/sequence_multiple.h"(1468)
+template <typename TString, typename TId> inline void removeValueById(StringSet<TString, Dependent<Tight> >& me, TId const id);        // "projects/library/seqan/sequence/sequence_multiple.h"(1482)
+
+//____________________________________________________________________________
+// replace
+
+template <typename THost, typename TSpec, typename TSource, typename TExpand> inline void replace( Segment<THost, TSpec> & target, typename Position< Segment<THost, TSpec> >::Type pos_begin, typename Position< Segment<THost, TSpec> >::Type pos_end, TSource & source, Tag<TExpand> const);        // "projects/library/seqan/sequence/segment_base.h"(869)
+template <typename THost, typename TSpec, typename TSource, typename TExpand> inline void replace( Segment<THost, TSpec> & target, typename Position< Segment<THost, TSpec> >::Type pos_begin, typename Position< Segment<THost, TSpec> >::Type pos_end, TSource const & source, Tag<TExpand> const);          // "projects/library/seqan/sequence/segment_base.h"(881)
+template <typename THost, typename TSpec, typename TSource, typename TExpand> inline void replace( Segment<THost, TSpec> & target, typename Position< Segment<THost, TSpec> >::Type pos_begin, typename Position< Segment<THost, TSpec> >::Type pos_end, TSource & source, typename Size< Segment<THost, TSpec> >::Type limit, Tag<TExpand> const);            // "projects/library/seqan/sequence/segment_base.h"(895)
+template <typename THost, typename TSpec, typename TSource, typename TExpand> inline void replace( Segment<THost, TSpec> & target, typename Position< Segment<THost, TSpec> >::Type pos_begin, typename Position< Segment<THost, TSpec> >::Type pos_end, TSource const & source, typename Size< Segment<THost, TSpec> >::Type limit, Tag<TExpand> const);              // "projects/library/seqan/sequence/segment_base.h"(908)
+template <typename THost, typename TSpec, typename TSource, typename TExpand> inline void replace( Segment<THost, TSpec> const & target, typename Position< Segment<THost, TSpec> const>::Type pos_begin, typename Position< Segment<THost, TSpec> const>::Type pos_end, TSource & source, Tag<TExpand> const);        // "projects/library/seqan/sequence/segment_base.h"(921)
+template <typename THost, typename TSpec, typename TSource, typename TExpand> inline void replace( Segment<THost, TSpec> const & target, typename Position< Segment<THost, TSpec> const>::Type pos_begin, typename Position< Segment<THost, TSpec> const>::Type pos_end, TSource const & source, Tag<TExpand> const);          // "projects/library/seqan/sequence/segment_base.h"(933)
+template <typename THost, typename TSpec, typename TSource, typename TExpand> inline void replace( Segment<THost, TSpec> const & target, typename Position< Segment<THost, TSpec> const>::Type pos_begin, typename Position< Segment<THost, TSpec> const>::Type pos_end, TSource & source, typename Size< Segment<THost, TSpec> >::Type limit, Tag<TExpand> const );           // "projects/library/seqan/sequence/segment_base.h"(947)
+template <typename THost, typename TSpec, typename TSource, typename TExpand> inline void replace( Segment<THost, TSpec> const & target, typename Position< Segment<THost, TSpec> const>::Type pos_begin, typename Position< Segment<THost, TSpec> const>::Type pos_end, TSource const & source, typename Size< Segment<THost, TSpec> >::Type limit, Tag<TExpand> const);              // "projects/library/seqan/sequence/segment_base.h"(960)
+template <typename TTargetValue, typename TSource, typename TExpand> inline void replace(TTargetValue * target, size_t pos_begin, size_t pos_end, TSource const & source, Tag<TExpand> const);         // "projects/library/seqan/sequence/string_pointer.h"(596)
+template <typename TTargetValue, typename TSource, typename TExpand> inline void replace(TTargetValue * target, size_t pos_begin, size_t pos_end, TSource const & source, size_t limit, Tag<TExpand> const);           // "projects/library/seqan/sequence/string_pointer.h"(609)
+template <typename TTargetValue, typename TSourceValue, typename TExpand> inline void replace(TTargetValue * target, size_t pos_begin, size_t pos_end, TSourceValue const * source, Tag<TExpand> const);               // "projects/library/seqan/sequence/string_pointer.h"(623)
+template <typename TTargetValue, typename TSourceValue, typename TExpand> inline void replace(TTargetValue * target, size_t pos_begin, size_t pos_end, TSourceValue const * source, size_t limit, Tag<TExpand> const);         // "projects/library/seqan/sequence/string_pointer.h"(636)
+template <typename TChar, typename TCharTraits, typename TAlloc, typename TSource> inline void replace(::std::basic_string<TChar, TCharTraits, TAlloc> & target, typename Position< ::std::basic_string<TChar, TCharTraits, TAlloc> >::Type pos_begin, typename Position< ::std::basic_string<TChar, TCharTraits, TAlloc> >::Type pos_end, TSource const & source, Generous);          // "projects/library/seqan/sequence/std_string.h"(520)
+template <typename TChar, typename TCharTraits, typename TAlloc, typename TSource> inline void replace(::std::basic_string<TChar, TCharTraits, TAlloc> & target, typename Position< ::std::basic_string<TChar, TCharTraits, TAlloc> >::Type pos_begin, typename Position< ::std::basic_string<TChar, TCharTraits, TAlloc> >::Type pos_end, TSource const & source, typename Size< ::std::basic_string<TChar, TCharTraits, TAlloc> >::Type limit, Generous);            // "projects/library/seqan/sequence/std_string.h"(533)
+template <typename TChar, typename TCharTraits, typename TAlloc, typename TSource> inline void replace(::std::basic_string<TChar, TCharTraits, TAlloc> & target, typename Position< ::std::basic_string<TChar, TCharTraits, TAlloc> >::Type pos_begin, typename Position< ::std::basic_string<TChar, TCharTraits, TAlloc> >::Type pos_end, TSource const & source, Limit);             // "projects/library/seqan/sequence/std_string.h"(569)
+template <typename TChar, typename TCharTraits, typename TAlloc, typename TSource> inline void replace(::std::basic_string<TChar, TCharTraits, TAlloc> & target, typename Position< ::std::basic_string<TChar, TCharTraits, TAlloc> >::Type pos_begin, typename Position< ::std::basic_string<TChar, TCharTraits, TAlloc> >::Type pos_end, TSource const & source, typename Size< ::std::basic_string<TChar, TCharTraits, TAlloc> >::Type limit, Limit);               // "projects/library/seqan/sequence/std_string.h"(582)
+template <typename TTarget, typename TPositionBegin, typename TPositionEnd, typename TSource> inline void replace(TTarget & target, TPositionBegin pos_begin, TPositionEnd pos_end, TSource & source);         // "projects/library/seqan/sequence/sequence_interface.h"(1195)
+template <typename TTarget, typename TPositionBegin, typename TPositionEnd, typename TSource> inline void replace(TTarget const & target, TPositionBegin pos_begin, TPositionEnd pos_end, TSource & source);           // "projects/library/seqan/sequence/sequence_interface.h"(1204)
+template <typename TTarget, typename TPositionBegin, typename TPositionEnd, typename TSource> inline void replace(TTarget & target, TPositionBegin pos_begin, TPositionEnd pos_end, TSource const & source);           // "projects/library/seqan/sequence/sequence_interface.h"(1213)
+template <typename TTarget, typename TPositionBegin, typename TPositionEnd, typename TSource> inline void replace(TTarget const & target, TPositionBegin pos_begin, TPositionEnd pos_end, TSource const & source);             // "projects/library/seqan/sequence/sequence_interface.h"(1222)
+template <typename TTarget, typename TPositionBegin, typename TPositionEnd, typename TSource> inline void replace(TTarget & target, TPositionBegin pos_begin, TPositionEnd pos_end, TSource & source, typename Size<TTarget>::Type limit);             // "projects/library/seqan/sequence/sequence_interface.h"(1235)
+template <typename TTarget, typename TPositionBegin, typename TPositionEnd, typename TSource> inline void replace(TTarget const & target, TPositionBegin pos_begin, TPositionEnd pos_end, TSource & source, typename Size<TTarget>::Type limit);               // "projects/library/seqan/sequence/sequence_interface.h"(1245)
+template <typename TTarget, typename TPositionBegin, typename TPositionEnd, typename TSource> inline void replace(TTarget & target, TPositionBegin pos_begin, TPositionEnd pos_end, TSource const & source, typename Size<TTarget>::Type limit);               // "projects/library/seqan/sequence/sequence_interface.h"(1255)
+template <typename TTarget, typename TPositionBegin, typename TPositionEnd, typename TSource> inline void replace(TTarget const & target, TPositionBegin pos_begin, TPositionEnd pos_end, TSource const & source, typename Size<TTarget>::Type limit);         // "projects/library/seqan/sequence/sequence_interface.h"(1265)
+template <typename TTargetValue, typename TTargetSpec, typename TSource, typename TExpand> inline void replace(String<TTargetValue, TTargetSpec> & target, typename Size< String<TTargetValue, TTargetSpec> >::Type pos_begin, typename Size< String<TTargetValue, TTargetSpec> >::Type pos_end, TSource const & source, Tag<TExpand> const);          // "projects/library/seqan/sequence/string_base.h"(1247)
+template <typename TTargetValue, typename TTargetSpec, typename TSource, typename TExpand> inline void replace(String<TTargetValue, TTargetSpec> & target, typename Size< String<TTargetValue, TTargetSpec> >::Type pos_begin, typename Size< String<TTargetValue, TTargetSpec> >::Type pos_end, TSource const & source, typename Size< String<TTargetValue, TTargetSpec> >::Type limit, Tag<TExpand> const);          // "projects/library/seqan/sequence/string_base.h"(1261)
+template <typename TTargetValue, typename TTargetSpec, typename TSourceValue, typename TExpand> inline void replace(String<TTargetValue, TTargetSpec> & target, typename Size< String<TTargetValue, TTargetSpec> >::Type pos_begin, typename Size< String<TTargetValue, TTargetSpec> >::Type pos_end, TSourceValue const * source, Tag<TExpand> const);        // "projects/library/seqan/sequence/string_base.h"(1277)
+template <typename TTargetValue, typename TTargetSpec, typename TSourceValue, typename TExpand> inline void replace(String<TTargetValue, TTargetSpec> & target, typename Size< String<TTargetValue, TTargetSpec> >::Type pos_begin, typename Size< String<TTargetValue, TTargetSpec> >::Type pos_end, TSourceValue const * source, typename Size< String<TTargetValue, TTargetSpec> >::Type limit, Tag<TExpand> const);        // "projects/library/seqan/sequence/string_base.h"(1291)
+
+//____________________________________________________________________________
+// reserve
+
+template <typename TValue, typename THost, typename TMap, typename TSpec, typename TSize, typename TExpand> inline TSize reserve(String< TValue, ValueExpand<THost, TMap, TSpec> > & me, TSize new_length, Tag<TExpand> const tag);            // "projects/library/seqan/sequence/string_value_expand.h"(384)
+template <typename TValue, typename TSpec, typename _TSize, typename TExpand> inline typename Size< String<TValue, Packed<TSpec> > >::Type reserve( String<TValue, Packed<TSpec> > & seq, _TSize new_capacity, Tag<TExpand> const tag);        // "projects/library/seqan/sequence/string_packed.h"(726)
+template <typename TValue, typename TSpec, typename _TSize> inline typename Size< String<TValue, Alloc<TSpec> > >::Type reserve( String<TValue, Packed<TSpec> > & me, _TSize new_capacity, Limit);             // "projects/library/seqan/sequence/string_packed.h"(741)
+template <typename TValue, typename TSpec, typename _TSize> inline typename Size< String<TValue, Alloc<TSpec> > >::Type reserve( String<TValue, Packed<TSpec> > & me, _TSize new_capacity, Insist);            // "projects/library/seqan/sequence/string_packed.h"(756)
+template <typename TValue, typename TSpec, typename _TSize, typename TExpand> inline typename Size< String<TValue, Alloc<TSpec> > >::Type reserve( String<TValue, Alloc<TSpec> > & seq, _TSize new_capacity, Tag<TExpand> const tag);          // "projects/library/seqan/sequence/string_alloc.h"(410)
+template <typename TValue, typename TSpec, typename _TSize> inline typename Size< String<TValue, Alloc<TSpec> > >::Type reserve( String<TValue, Alloc<TSpec> > & me, _TSize new_capacity, Limit);              // "projects/library/seqan/sequence/string_alloc.h"(439)
+template <typename TValue, typename TSpec, typename _TSize> inline typename Size< String<TValue, Alloc<TSpec> > >::Type reserve( String<TValue, Alloc<TSpec> > & , _TSize new_capacity, Insist);               // "projects/library/seqan/sequence/string_alloc.h"(454)
+template <typename TChar, typename TCharTraits, typename TAlloc, typename TExpand> inline typename Size< ::std::basic_string<TChar, TCharTraits, TAlloc> >::Type reserve( ::std::basic_string<TChar, TCharTraits, TAlloc> & seq, typename Size< ::std::basic_string<TChar, TCharTraits, TAlloc> >::Type new_capacity, Tag<TExpand> const &);           // "projects/library/seqan/sequence/std_string.h"(630)
+template <typename T, typename TSize> inline typename Size<T>::Type reserve( T & , TSize new_capacity, Insist);        // "projects/library/seqan/sequence/sequence_interface.h"(1300)
+template <typename T, typename TSize> inline typename Size<T>::Type reserve( T & me, TSize new_capacity, Limit);               // "projects/library/seqan/sequence/sequence_interface.h"(1311)
+template <typename T, typename TSize> inline typename Size<T>::Type reserve( T & me, TSize new_capacity);              // "projects/library/seqan/sequence/sequence_interface.h"(1323)
+template <typename TValue, unsigned int SPACE, typename TSize, typename TExpand> inline typename Size< String<TValue, Block<SPACE> > >::Type reserve(String<TValue, Block<SPACE> > & me, TSize new_capacity, Tag<TExpand> const);              // "projects/library/seqan/sequence/string_stack.h"(356)
+
+//____________________________________________________________________________
+// resize
+
+template <typename THost, typename TSpec, typename TExpand> inline typename Size< Segment<THost, TSpec> >::Type resize( Segment<THost, TSpec> & me, typename Size< Segment<THost, TSpec> >::Type new_length, Tag<TExpand> const tag);          // "projects/library/seqan/sequence/segment_base.h"(1029)
+template <typename TValue, typename THost, typename TMap, typename TSpec, typename TSize> inline TSize resize(String< TValue, ValueExpand<THost, TMap, TSpec> > & me, TSize new_length);               // "projects/library/seqan/sequence/string_value_expand.h"(372)
+template <typename TValue, typename TExpand> inline size_t resize( TValue * me, size_t new_length, Tag<TExpand> const &);              // "projects/library/seqan/sequence/string_pointer.h"(675)
+template <typename TChar, typename TCharTraits, typename TAlloc, typename TSize, typename TExpand> inline typename Size< ::std::basic_string<TChar, TCharTraits, TAlloc> >::Type resize( ::std::basic_string<TChar, TCharTraits, TAlloc> & me, TSize new_length, Tag<TExpand> const &);        // "projects/library/seqan/sequence/std_string.h"(650)
+template <typename TString, typename TSpec, typename TSize > inline typename Size< StringSet< TString, TSpec > >::Type resize(StringSet< TString, TSpec > &me, TSize new_size);        // "projects/library/seqan/sequence/sequence_multiple.h"(1165)
+template <typename TString, typename TSpec, typename TSize > inline typename Size< StringSet< TString, Owner<ConcatDirect<TSpec> > > >::Type resize(StringSet< TString, Owner<ConcatDirect<TSpec> > > &me, TSize new_size);            // "projects/library/seqan/sequence/sequence_multiple.h"(1173)
+template <typename T, typename TSize> inline typename Size<T>::Type resize( T & me, TSize new_length);         // "projects/library/seqan/sequence/sequence_interface.h"(1358)
+template <typename TValue, unsigned int SPACE, typename TSize2, typename TExpand> inline typename Size< String<TValue, Block<SPACE> > >::Type resize(String<TValue, Block<SPACE> > & me, TSize2 new_length, Tag<TExpand> const);               // "projects/library/seqan/sequence/string_stack.h"(308)
+template <typename TValue, unsigned int SPACE, typename TSize2> inline typename Size< String<TValue, Block<SPACE> > >::Type resize(String<TValue, Block<SPACE> > & me, TSize2 new_length, Limit);              // "projects/library/seqan/sequence/string_stack.h"(329)
+template <typename TValue, typename TSpec, typename TSize, typename TExpand> inline typename Size< String<TValue, TSpec> >::Type resize( String<TValue, TSpec> & me, TSize new_length, Tag<TExpand> const);            // "projects/library/seqan/sequence/string_base.h"(1457)
+
+//____________________________________________________________________________
+// resizeSpace
+
+template <typename T, typename TSize, typename TPosition> inline TSize resizeSpace(T & me, TSize size, TPosition pos_begin, TPosition pos_end);        // "projects/library/seqan/sequence/sequence_interface.h"(1393)
+template <typename T, typename TSize, typename TPosition> inline TSize resizeSpace(T & me, TSize size, TPosition pos_begin, TPosition pos_end, TSize limit);           // "projects/library/seqan/sequence/sequence_interface.h"(1405)
+template <typename TValue, typename TSpec, typename TPosition, typename TExpand> inline typename Size< String<TValue, TSpec> >::Type resizeSpace(String<TValue, TSpec> & me, typename Size< String<TValue, TSpec> >::Type size, TPosition pos_begin, TPosition pos_end, Tag<TExpand> const tag);               // "projects/library/seqan/sequence/string_base.h"(685)
+template <typename TValue, typename TSpec, typename TPosition, typename TExpand> inline typename Size< String<TValue, TSpec> >::Type resizeSpace(String<TValue, TSpec> & me, typename Size< String<TValue, TSpec> >::Type size, TPosition pos_begin, TPosition pos_end, typename Size< String<TValue, TSpec> >::Type limit, Tag<TExpand> const tag);           // "projects/library/seqan/sequence/string_base.h"(700)
+
+//____________________________________________________________________________
+// sequenceLength
+
+template <typename TSeqNo, typename TString> inline typename Size<TString>::Type sequenceLength(TSeqNo , TString const &string);               // "projects/library/seqan/sequence/sequence_multiple.h"(634)
+template <typename TSeqNo, typename TString, typename TSpec> inline typename Size<StringSet<TString, TSpec> >::Type sequenceLength(TSeqNo seqNo, StringSet<TString, TSpec> const &stringSet);          // "projects/library/seqan/sequence/sequence_multiple.h"(640)
+
+//____________________________________________________________________________
+// set
+
+template <typename THost, typename TPosition1, typename TPosition2> inline void set(Segment<THost, InfixSegment> & me, THost & host_, TPosition1 begin_, TPosition2 end_);             // "projects/library/seqan/sequence/segment_infix.h"(449)
+template <typename THost> inline void set(Segment<THost, InfixSegment> & me, THost & host_);           // "projects/library/seqan/sequence/segment_infix.h"(461)
+template <typename THost> inline void set(Segment<THost, InfixSegment> & me, THost const & host_);             // "projects/library/seqan/sequence/segment_infix.h"(471)
+template <typename THost, typename TSpec> inline void set(Segment<THost, InfixSegment> & me, Segment<THost, TSpec> & source);          // "projects/library/seqan/sequence/segment_infix.h"(484)
+template <typename THost, typename TSpec> inline void set(Segment<THost, InfixSegment> & me, Segment<THost, TSpec> const & source);            // "projects/library/seqan/sequence/segment_infix.h"(494)
+template <typename THost, typename TPosition> inline void set(Segment<THost, PrefixSegment> & me, THost & host_, TPosition end_);              // "projects/library/seqan/sequence/segment_prefix.h"(371)
+template <typename THost> inline void set(Segment<THost, PrefixSegment> & me, THost & host_);          // "projects/library/seqan/sequence/segment_prefix.h"(382)
+template <typename THost, typename TSpec> inline void set(Segment<THost, PrefixSegment> & me, Segment<THost, TSpec> & source);         // "projects/library/seqan/sequence/segment_prefix.h"(394)
+template <typename THost, typename TSpec> inline void set(Segment<THost, PrefixSegment> & me, Segment<THost, TSpec> const & source);           // "projects/library/seqan/sequence/segment_prefix.h"(404)
+template <typename THost, typename TPosition> inline void set(Segment<THost, SuffixSegment> & me, THost & host_, TPosition begin_);            // "projects/library/seqan/sequence/segment_suffix.h"(360)
+template <typename THost> inline void set(Segment<THost, SuffixSegment> & me, THost & host_);          // "projects/library/seqan/sequence/segment_suffix.h"(371)
+template <typename THost, typename TSpec> inline void set(Segment<THost, SuffixSegment> & me, Segment<THost, TSpec> & source);         // "projects/library/seqan/sequence/segment_suffix.h"(383)
+template <typename THost, typename TSpec> inline void set(Segment<THost, SuffixSegment> & me, Segment<THost, TSpec> const & source);           // "projects/library/seqan/sequence/segment_suffix.h"(393)
+
+//____________________________________________________________________________
+// setBegin
+
+template <typename TIterator> inline void setBegin(TIterator new_begin);               // "projects/library/seqan/sequence/segment_infix.h"(773)
+
+//____________________________________________________________________________
+// setEnd
+
+template <typename TIterator> inline void setEnd(TIterator new_end);           // "projects/library/seqan/sequence/segment_infix.h"(785)
+
+//____________________________________________________________________________
+// setPosition
+
+template <typename TContainer, typename THostspec, typename TPosition> inline void setPosition(Iter<TContainer, Packed<THostspec> > & me, TPosition pos_);             // "projects/library/seqan/sequence/string_packed.h"(917)
+
+//____________________________________________________________________________
+// shareResources
+
+template <typename T1, typename T2> inline bool shareResources(T1 const & obj1, T2 const & obj2);              // "projects/library/seqan/sequence/sequence_interface.h"(230)
+template <typename TValue, typename TSpec> inline bool shareResources(String<TValue, TSpec> const & obj1, TValue const & obj2);        // "projects/library/seqan/sequence/string_base.h"(132)
+template <typename TValue, typename TSpec> inline bool shareResources(TValue const & obj1, String<TValue, TSpec> const & obj2);        // "projects/library/seqan/sequence/string_base.h"(141)
+
+//____________________________________________________________________________
+// shrinkToFit
+
+template <typename T, typename TSize, typename TValue> inline void shrinkToFit(T & me);        // "projects/library/seqan/sequence/sequence_interface.h"(1508)
+
+//____________________________________________________________________________
+// stringSetLimits
+
+template <typename TStringSet> inline typename StringSetLimits<TStringSet>::Type stringSetLimits(TStringSet &);        // "projects/library/seqan/sequence/sequence_multiple.h"(157)
+template <typename TString, typename TSpec> inline typename StringSetLimits< StringSet<TString, TSpec> >::Type & stringSetLimits(StringSet<TString, TSpec> &stringSet);        // "projects/library/seqan/sequence/sequence_multiple.h"(163)
+template <typename TString, typename TSpec> inline typename StringSetLimits< StringSet<TString, TSpec> const>::Type & stringSetLimits(StringSet<TString, TSpec> const &stringSet);             // "projects/library/seqan/sequence/sequence_multiple.h"(171)
+
+//____________________________________________________________________________
+// subset
+
+template <typename TString, typename TSpec, typename TDestSpec, typename TIds, typename TLength> inline void subset(StringSet<TString, Owner<TSpec> >& source, StringSet<TString, TDestSpec>& dest, TIds ids, TLength len);            // "projects/library/seqan/sequence/sequence_multiple.h"(1631)
+template <typename TString, typename TIds, typename TLength> inline void subset(StringSet<TString, Dependent<Generous> >& source, StringSet<TString, Dependent<Generous> >& dest, TIds ids, TLength len);              // "projects/library/seqan/sequence/sequence_multiple.h"(1641)
+template <typename TString, typename TIds, typename TLength> inline void subset(StringSet<TString, Dependent<Tight> >& source, StringSet<TString, Dependent<Tight> >& dest, TIds ids, TLength len);            // "projects/library/seqan/sequence/sequence_multiple.h"(1661)
+template <typename TString, typename TSpec, typename TIds> inline void subset(StringSet<TString, TSpec>& source, StringSet<TString, TSpec>& dest, TIds ids);           // "projects/library/seqan/sequence/sequence_multiple.h"(1696)
+
+//____________________________________________________________________________
+// suffix
+
+template <typename TString, typename TSpec, typename TPosition > inline typename Suffix<TString>::Type suffix(StringSet< TString, TSpec > &me, TPosition pos);         // "projects/library/seqan/sequence/sequence_multiple.h"(422)
+template <typename TString, typename TSpec, typename TPosition > inline typename Suffix<TString const>::Type suffix(StringSet< TString, TSpec > const &me, TPosition pos);             // "projects/library/seqan/sequence/sequence_multiple.h"(436)
+template <typename TString, typename TDelimiter, typename TPosition > inline typename Infix<TString>::Type suffix(StringSet< TString, Owner<ConcatDirect<TDelimiter> > > &me, TPosition pos);          // "projects/library/seqan/sequence/sequence_multiple.h"(450)
+template <typename TString, typename TDelimiter, typename TPosition > inline typename Infix<TString const>::Type suffix(StringSet< TString, Owner<ConcatDirect<TDelimiter> > > const &me, TPosition pos);              // "projects/library/seqan/sequence/sequence_multiple.h"(457)
+template <typename T, typename TPosBegin> inline typename Suffix<T>::Type suffix(T & t, TPosBegin pos_begin);          // "projects/library/seqan/sequence/segment_suffix.h"(498)
+template <typename T, typename TPosBegin> inline typename Suffix<T *>::Type suffix(T * t, TPosBegin pos_begin);        // "projects/library/seqan/sequence/segment_suffix.h"(506)
+template <typename T, typename TPosBegin> inline typename Suffix<Segment<T, PrefixSegment> >::Type suffix(Segment<T, PrefixSegment> & t, TPosBegin pos_begin);         // "projects/library/seqan/sequence/segment_suffix.h"(516)
+template <typename T, typename TPosBegin> inline typename Suffix<Segment<T, PrefixSegment> const>::Type suffix(Segment<T, PrefixSegment> const & t, TPosBegin pos_begin);              // "projects/library/seqan/sequence/segment_suffix.h"(526)
+template <typename T, typename TPosBegin> inline typename Suffix<Segment<T, InfixSegment> >::Type suffix(Segment<T, InfixSegment> & t, TPosBegin pos_begin);           // "projects/library/seqan/sequence/segment_suffix.h"(539)
+template <typename T, typename TPosBegin> inline typename Suffix<Segment<T, InfixSegment> const>::Type suffix(Segment<T, InfixSegment> const & t, TPosBegin pos_begin);        // "projects/library/seqan/sequence/segment_suffix.h"(549)
+template <typename T, typename TPosBegin> inline typename Suffix<Segment<T, SuffixSegment> >::Type suffix(Segment<T, SuffixSegment> & t, TPosBegin pos_begin);         // "projects/library/seqan/sequence/segment_suffix.h"(563)
+template <typename T, typename TPosBegin> inline typename Suffix<Segment<T, SuffixSegment> const>::Type suffix(Segment<T, SuffixSegment> const & t, TPosBegin pos_begin);              // "projects/library/seqan/sequence/segment_suffix.h"(572)
+
+//____________________________________________________________________________
+// suffixLength
+
+template <typename TPos, typename TString> inline typename Size<TString>::Type suffixLength(TPos pos, TString const &string);          // "projects/library/seqan/sequence/sequence_multiple.h"(606)
+template <typename TPos, typename TString, typename TSpec> inline typename Size<TString>::Type suffixLength(TPos pos, StringSet<TString, TSpec> const &stringSet);             // "projects/library/seqan/sequence/sequence_multiple.h"(612)
+
+//____________________________________________________________________________
+// toCString
+
+template <typename T> inline typename Value<T>::Type * toCString(T & me);              // "projects/library/seqan/sequence/string_cstyle.h"(796)
+
+//____________________________________________________________________________
+// top
+
+template <typename TValue, unsigned int SPACE> inline TValue & top(String<TValue, Block<SPACE> > & me);        // "projects/library/seqan/sequence/string_stack.h"(436)
+template <typename TValue, unsigned int SPACE> inline TValue const & top(String<TValue, Block<SPACE> > const& me);             // "projects/library/seqan/sequence/string_stack.h"(444)
+
+//____________________________________________________________________________
+// topPrev
+
+template <typename TValue, unsigned int SPACE> inline TValue & topPrev(String<TValue, Block<SPACE> > & me);            // "projects/library/seqan/sequence/string_stack.h"(452)
+template <typename TValue, unsigned int SPACE> inline TValue const & topPrev(String<TValue, Block<SPACE> > const& me);         // "projects/library/seqan/sequence/string_stack.h"(463)
+
+//____________________________________________________________________________
+// value
+
+template <typename THost, typename TSpec, typename TPos> inline typename Reference< Segment<THost, TSpec> >::Type value(Segment<THost, TSpec> & me, TPos pos);         // "projects/library/seqan/sequence/segment_infix.h"(635)
+template <typename THost, typename TSpec, typename TPos> inline typename Reference< Segment<THost, TSpec> const >::Type value(Segment<THost, TSpec> const & me, TPos pos);             // "projects/library/seqan/sequence/segment_infix.h"(644)
+template <typename TValue, typename THost, typename TMap, typename TSpec, typename TPos> inline typename Reference<String< TValue, ValueExpand<THost, TMap, TSpec> > >::Type value(String< TValue, ValueExpand<THost, TMap, TSpec> > & me, TPos pos);          // "projects/library/seqan/sequence/string_value_expand.h"(331)
+template <typename TValue, typename THost, typename TMap, typename TSpec, typename TPos> inline typename Reference<String< TValue, ValueExpand<THost, TMap, TSpec> > const>::Type value(String< TValue, ValueExpand<THost, TMap, TSpec> > const & me, TPos pos);               // "projects/library/seqan/sequence/string_value_expand.h"(340)
+template <typename TContainer, typename TIterator> inline typename Reference<Iter<TContainer, AdaptorIterator<TIterator, ValueExpandIter> > >::Type value(Iter<TContainer, AdaptorIterator<TIterator, ValueExpandIter> > & me);        // "projects/library/seqan/sequence/string_value_expand.h"(433)
+template <typename TContainer, typename TIterator> inline typename Reference<Iter<TContainer, AdaptorIterator<TIterator, ValueExpandIter> > >::Type value(Iter<TContainer, AdaptorIterator<TIterator, ValueExpandIter> > const & me);          // "projects/library/seqan/sequence/string_value_expand.h"(441)
+template <typename TValue, typename TPos> inline TValue & value(TValue * me, TPos pos);        // "projects/library/seqan/sequence/string_pointer.h"(243)
+template <typename TValue, typename TPos> inline TValue const & value(TValue const * me, TPos pos);            // "projects/library/seqan/sequence/string_pointer.h"(252)
+template <typename TValue, typename THostspec, typename TPos> inline typename Reference<String<TValue, Packed<THostspec> > >::Type value(String<TValue, Packed<THostspec> > & me, TPos pos);           // "projects/library/seqan/sequence/string_packed.h"(482)
+template <typename TValue, typename THostspec, typename TPos> inline typename Reference<String<TValue, Packed<THostspec> > const>::Type value(String<TValue, Packed<THostspec> > const & me, TPos pos);        // "projects/library/seqan/sequence/string_packed.h"(491)
+template <typename TContainer, typename THostspec> inline typename Reference<Iter<TContainer, Packed<THostspec> > >::Type value(Iter<TContainer, Packed<THostspec> > & me);            // "projects/library/seqan/sequence/string_packed.h"(930)
+template <typename TContainer, typename THostspec> inline typename Reference<Iter<TContainer, Packed<THostspec> > const>::Type value(Iter<TContainer, Packed<THostspec> > const & me);         // "projects/library/seqan/sequence/string_packed.h"(937)
+template <typename TChar, typename TCharTraits, typename TAlloc, typename TPos> inline typename GetValue< ::std::basic_string<TChar, TCharTraits, TAlloc> >::Type value(::std::basic_string<TChar, TCharTraits, TAlloc> & me, TPos pos);               // "projects/library/seqan/sequence/std_string.h"(201)
+template <typename TChar, typename TCharTraits, typename TAlloc, typename TPos> inline typename GetValue< ::std::basic_string<TChar, TCharTraits, TAlloc> const>::Type value(::std::basic_string<TChar, TCharTraits, TAlloc> const & me, TPos pos);            // "projects/library/seqan/sequence/std_string.h"(209)
+template <typename TString, typename TPos > inline typename Reference< StringSet< TString, Owner<Default> > >::Type value(StringSet< TString, Owner<Default> > & me, TPos pos);        // "projects/library/seqan/sequence/sequence_multiple.h"(1185)
+template <typename TString, typename TPos > inline typename Reference< StringSet< TString, Owner<Default> > const >::Type value(StringSet< TString, Owner<Default> > const & me, TPos pos);            // "projects/library/seqan/sequence/sequence_multiple.h"(1192)
+template <typename TString, typename TSpec, typename TPos > inline typename Infix<TString>::Type value(StringSet< TString, Owner<ConcatDirect<TSpec> > > & me, TPos pos);              // "projects/library/seqan/sequence/sequence_multiple.h"(1200)
+template <typename TString, typename TSpec, typename TPos > inline typename Infix<TString const>::Type value(StringSet< TString, Owner<ConcatDirect<TSpec> > > const & me, TPos pos);          // "projects/library/seqan/sequence/sequence_multiple.h"(1207)
+template <typename TString, typename TPos > inline typename Reference<StringSet< TString, Dependent<Tight> > >::Type value(StringSet< TString, Dependent<Tight> >& me, TPos pos);              // "projects/library/seqan/sequence/sequence_multiple.h"(1215)
+template <typename TString, typename TPos > inline typename Reference<StringSet< TString, Dependent<Tight> > const >::Type value(StringSet< TString, Dependent<Tight> >const & me, TPos pos);          // "projects/library/seqan/sequence/sequence_multiple.h"(1226)
+template <typename TString, typename TPos > inline typename Reference<StringSet< TString, Dependent<Generous> > >::Type value(StringSet< TString, Dependent<Generous> >& me, TPos pos);        // "projects/library/seqan/sequence/sequence_multiple.h"(1237)
+template <typename TString, typename TPos > inline typename Reference< StringSet< TString, Dependent<Generous> > const >::Type value(StringSet< TString, Dependent<Generous> > const & me, TPos pos);          // "projects/library/seqan/sequence/sequence_multiple.h"(1249)
+template <typename TStringSet, typename TPos > inline typename Reference< ConcatenatorNto1<TStringSet> >::Type value(ConcatenatorNto1<TStringSet> &me, TPos globalPos);        // "projects/library/seqan/sequence/sequence_multiple.h"(1769)
+template <typename TStringSet, typename TPos > inline typename Reference< ConcatenatorNto1<TStringSet> const >::Type value(ConcatenatorNto1<TStringSet> const &me, TPos globalPos);            // "projects/library/seqan/sequence/sequence_multiple.h"(1778)
+template <typename TStringSet, typename TSpec> inline typename Reference< Iter< TStringSet, ConcatVirtual<TSpec> > const>::Type value(Iter<TStringSet, ConcatVirtual<TSpec> > const & me);             // "projects/library/seqan/sequence/sequence_multiple.h"(2039)
+template <typename TStringSet, typename TSpec> inline typename Reference< Iter< TStringSet, ConcatVirtual<TSpec> > >::Type value(Iter<TStringSet, ConcatVirtual<TSpec> > & me);        // "projects/library/seqan/sequence/sequence_multiple.h"(2045)
+template <typename T, typename TPos> inline typename Reference<T>::Type value(T & me, TPos );          // "projects/library/seqan/sequence/sequence_interface.h"(568)
+template <typename T, typename TPos> inline typename Reference<T const>::Type value(T const & me, TPos );              // "projects/library/seqan/sequence/sequence_interface.h"(576)
+template <typename TValue, unsigned int SPACE, typename TPos> inline typename Reference<String<TValue, Block<SPACE> > >::Type value( String<TValue, Block<SPACE> >& stack, TPos const pos);            // "projects/library/seqan/sequence/string_stack.h"(240)
+template <typename TValue, unsigned int SPACE, typename TPos> inline typename Reference<String<TValue, Block<SPACE> > >::Type value( String<TValue, Block<SPACE> > const& stack, TPos const pos);              // "projects/library/seqan/sequence/string_stack.h"(250)
+template <typename TValue, typename TSpec, typename TPos> inline typename Reference< String<TValue, TSpec> >::Type value(String<TValue, TSpec> & me, TPos pos);        // "projects/library/seqan/sequence/string_base.h"(158)
+template <typename TValue, typename TSpec, typename TPos> inline typename Reference< String<TValue, TSpec> const >::Type value(String<TValue, TSpec> const & me, TPos pos);            // "projects/library/seqan/sequence/string_base.h"(167)
+
+//____________________________________________________________________________
+// valueById
+
+template <typename TString, typename TSpec, typename TId> inline typename Reference<StringSet<TString, TSpec> >::Type valueById(StringSet<TString, TSpec>& me, TId const id);          // "projects/library/seqan/sequence/sequence_multiple.h"(1333)
+
+//____________________________________________________________________________
+// valueConstruct
+
+template <typename TContainer, typename THostspec> inline void valueConstruct(Iter<TContainer, Packed<THostspec> > const & );          // "projects/library/seqan/sequence/string_packed.h"(1031)
+template <typename TContainer, typename THostspec, typename TParam> inline void valueConstruct(Iter<TContainer, Packed<THostspec> > const & it, TParam const & param_);        // "projects/library/seqan/sequence/string_packed.h"(1037)
+template <typename TContainer, typename THostspec, typename TParam> inline void valueConstruct(Iter<TContainer, Packed<THostspec> > const & it, TParam const & param_, Move tag);              // "projects/library/seqan/sequence/string_packed.h"(1045)
+
+//____________________________________________________________________________
+// valueDestruct
+
+template <typename TContainer, typename THostspec> inline void valueDestruct(Iter<TContainer, Packed<THostspec> > const & );           // "projects/library/seqan/sequence/string_packed.h"(1056)
+
+} //namespace SEQAN_NAMESPACE_MAIN
+
+#endif
+
diff --git a/SeqAn-1.1/seqan/sequence/sequence_interface.h b/SeqAn-1.1/seqan/sequence/sequence_interface.h
new file mode 100644 (file)
index 0000000..7806fd1
--- /dev/null
@@ -0,0 +1,1516 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de 
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: sequence_interface.h,v 1.1 2008/08/25 16:20:04 langmead Exp $
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_SEQUENCE_INTERFACE_H
+#define SEQAN_HEADER_SEQUENCE_INTERFACE_H
+
+namespace SEQAN_NAMESPACE_MAIN
+{
+
+//////////////////////////////////////////////////////////////////////////////
+// Expand
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Tag.Overflow Strategy:
+..summary:The strategy for resizing containers.
+..tag.Insist:No capacity check. 
+...remarks:The user has to ensure that the container's capacity is large enough. 
+..tag.Limit:Limit the contents to current capacity. 
+...remarks: All entries that exceed the capacity are lost. 
+..tag.Exact:Expand as far as needed.
+...remarks: The capacity is only changed if the current capacity is not large enough.
+ If the capacity can only be expanded up to a certain ammount, it will be increased as far as possible
+ and the contents are limited to the new capacity.
+...remarks:Note that the capacity will never be shrinked. 
+ Use @Function.shrinkToFit@ to resize the capacity down to the current length.
+..tag.Generous:Expand if needed, get precautionary extra space. 
+...remarks:Whenever the capacity has to be increased, the new capacity is choosen somewhat large than actually needed.
+ This strategy limits the number of capacity changes, so that resizing takes armotized constant time.
+ Use this strategy if the total amount of storage is unkown at first.  
+...remarks:The new capacity is computed by @Function.computeGenerousCapacity@.
+By default, it is guaranteed not to exceed about 
+ tree halfs of the space that is used to store the data. 
+ The user can overload @Function.computeGenerousCapacity@ in order to change this behavior.
+..remarks:Changing the capacity of a container can invalidate the iterators of this container.
+..remarks:If no overflow tag is specified, most operations use the default overflow strategy given by @Metafunction.DefaultOverflowImplicit@
+or @Metafunction.DefaultOverflowExplicit@, depending on the kind of operation.
+*/
+struct TagInsist_;
+typedef Tag<TagInsist_> const Insist;
+typedef Tag<TagInsist_> const Tight;
+//Insist INSIST;
+
+struct TagLimit_;
+typedef Tag<TagLimit_> const Limit;
+//Limit LIMIT;
+
+struct TagGenerous_;
+typedef Tag<TagGenerous_> const Generous;
+//Generous GENEROUS;
+
+struct TagExact_;
+typedef Tag<TagExact_> const Exact;
+//Exact EXACT;
+
+//____________________________________________________________________________
+
+/**
+.Metafunction.DefaultOverflowImplicit:
+..hidefromindex
+..summary:The default overflow strategy for implicit resize.
+..signature:DefaultOverflowImplicit<T>::Type
+..param.T:Type for which the overflow strategy is determined.
+...type:Class.String
+..returns.param.Type:Expansion tag for type of $T$.
+..remarks:This function is used for functions that cause an implicit change of a container's size, like
+e.g. @Function.assign@, @Function.append@, and @Function.replace@.
+..see:Tag.Overflow Strategy
+*/
+template <typename T>
+struct DefaultOverflowImplicit
+{
+       typedef Insist Type;
+};
+
+//____________________________________________________________________________
+
+/**
+.Metafunction.DefaultOverflowExplicit:
+..hidefromindex
+..summary:The default overflow strategy for explicit resize.
+..signature:DefaultOverflowExplicit<T>::Type
+..param.T:Type for which the overflow strategy is determined.
+...type:Class.String
+..returns.param.Type:Expansion tag for type of $T$.
+..remarks:This function is used for functions that change a container's size explicit, like e.g. @Function.resize@.
+..see:Tag.Overflow Strategy
+..see:Metafunction.DefaultOverflowImplicit
+*/
+template <typename T>
+struct DefaultOverflowExplicit
+{
+       typedef Exact Type;
+};
+
+//////////////////////////////////////////////////////////////////////////////
+// IsContiguous
+//////////////////////////////////////////////////////////////////////////////
+/**
+.Metafunction.IsContiguous:
+..summary:Determines whether a container stores its elements in a contiguous array.
+..signature:IsContiguous<T>::VALUE
+..param.T:Type that is tested for being a string.
+..returns.param.VALUE:$true$ if $T$ is a string, $false$ otherwise.
+..remarks:Definition: A sequence container is "contiguous", if its elements
+       are stored in a single contiguous array.
+       Examples for contiguous sequences are @Spec.Alloc String@ or @Adaption.char array@.
+..remarks:If an object $obj$ is a contiguous sequence, then $begin(obj)$ can be
+       converted to a pointer to the first element of the content array.
+*/
+template <typename T>
+struct IsContiguous
+{
+    typedef False Type;
+       enum { VALUE = false };
+};
+template <typename T>
+struct IsContiguous<T const>:
+       public IsContiguous<T> {};
+
+//////////////////////////////////////////////////////////////////////////////
+// IsSequence
+//////////////////////////////////////////////////////////////////////////////
+/**
+.Metafunction.IsSequence:
+..summary:Determines whether a container stores its elements in sequential order.
+..signature:IsSequence<T>::VALUE
+..param.T:Type that is tested for being a sequence.
+..returns.param.VALUE:$true$ if $T$ is a sequence, $false$ otherwise.
+..remarks:For example @Class.String@ and @Class.Segment@ return $true$.
+*/
+template <typename T>
+struct IsSequence
+{
+    typedef False Type;
+       enum { VALUE = false };
+};
+template <typename T>
+struct IsSequence<T const>:
+       public IsSequence<T> {};
+
+//////////////////////////////////////////////////////////////////////////////
+// AllowsFastRandomAccess
+//////////////////////////////////////////////////////////////////////////////
+/**
+.Metafunction.AllowsFastRandomAccess:
+..summary:Determines whether a sequence efficiently supports random access.
+..signature:AllowsFastRandomAccess<T>::VALUE
+..param.T:Type that is tested for fast random access.
+..returns.param.VALUE:$true$ if $T$ supports fast random access, $false$ otherwise.
+..remarks:For example @Spec.Alloc String@, @Class.Segment@, and @Spec.Block String@ return $true$.
+*/
+template <typename T>
+struct AllowsFastRandomAccess
+{
+    typedef True Type;
+       enum { VALUE = true };
+};
+template <typename T>
+struct AllowsFastRandomAccess<T const>:
+       public AllowsFastRandomAccess<T> {};
+
+//////////////////////////////////////////////////////////////////////////////
+// identification
+//////////////////////////////////////////////////////////////////////////////
+/**
+.Function.id:
+..cat:Miscellaneous
+..summary:A value that identifies the underlying sequence. 
+..signature:void const * id(object)
+..param.object:The object for which the id will be determined.
+..returns:The id of $sequence$. 
+..remarks.text:Two sequences should have the same id, if they share the same resource, e.g. the same memory buffer.
+..remarks.text:The exact semantic of the returned id can vary for different classes.
+Typically, the id of a string is a $void const *$ to the end of the string.
+..remarks.note:The id of a single character need not to be the id of its container.
+..example.code:String<char> str = "hallo seqan";
+bool b1 = (id(str) == id(infix(str, 3, 7));   //true
+bool b2 = (id(str) == id(String<char>(str))); //false
+bool b3 = (id(str) == id(toCString(str))); 
+..example.text:In this example, $b1$ is $true$, since the segment object returned by $infix()$
+is just a filter and uses the buffer of it's host object $str$.
+..example.text:$String<char>(str)$ constructs a temporary copy of $str$, so these two
+strings have different id values.
+..example.text:The result of the last comparison depends on the implementation of $toCString$
+and cannot be predicted at compile time.
+*/
+template <typename T>
+inline void const * 
+id(T const & me)
+{
+SEQAN_CHECKPOINT
+       return end(me, Standard());
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Function.shareResources:
+..cat:Miscellaneous
+..summary:Determines whether two sequences share the same resource.
+..signature:bool shareResources(sequence1, sequence2)
+..param.sequence1, sequence2:Two sequences.
+..returns:$false$ if it can be guaranteed that $sequence1$ and $sequence2$ can be modified without changing each other, $true$ otherwise.
+..remarks:Non-sequences are interpreted as sequences of size 1. 
+..remarks:Note that this function may not work properly for argument types that are not listed here.
+*/
+
+template <typename T1, typename T2>
+inline bool 
+shareResources(T1 const & obj1,
+                          T2 const & obj2)
+{
+SEQAN_CHECKPOINT
+       return id(obj1) == id(obj2);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// begin
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Function.begin:
+..cat:Iteration
+..cat:Containers
+..summary:The begin of a container. 
+..signature:Iterator begin(object [, tag])
+..param.object:A container.
+...type:Class.String
+...concept:Concept.Container
+..param.tag:An @Tag.Iterator Spec.iterator spec@ tag that specifies the kind of the iterator returned. (optional)
+...default:Given by @Metafunction.DefaultGetIteratorSpec@.
+..returns:An iterator to the first item in $object$. 
+...metafunction:Metafunction.Iterator
+..remarks.text:If the container does not contain any items at all, the function may return 0.
+..see:Function.end
+..see:Metafunction.Iterator
+*/
+template <typename T>
+inline typename Iterator<T, typename DefaultGetIteratorSpec<T>::Type>::Type 
+begin(T & me)
+{
+SEQAN_CHECKPOINT
+       return begin(me, typename DefaultGetIteratorSpec<T>::Type()) ;
+}
+template <typename T>
+inline typename Iterator<T const, typename DefaultGetIteratorSpec<T>::Type>::Type
+begin(T const & me)
+{
+SEQAN_CHECKPOINT
+       return begin(me, typename DefaultGetIteratorSpec<T>::Type()) ;
+}
+
+//____________________________________________________________________________
+
+//* ???Anti Default Sequences
+template <typename T>
+inline typename Iterator<T, Standard>::Type 
+_begin_default(T & me,
+                          Standard)
+{
+SEQAN_CHECKPOINT
+       return & me;
+}
+template <typename T>
+inline typename Iterator<T const, Standard>::Type 
+_begin_default(T const & me,
+                          Standard)
+{
+SEQAN_CHECKPOINT
+       return & me;
+}
+//*/
+
+//____________________________________________________________________________
+
+template <typename T>
+inline typename Iterator<T, Rooted>::Type 
+_begin_default(T & me,
+                          Rooted)
+{
+SEQAN_CHECKPOINT
+       typedef typename Iterator<T, Rooted>::Type TIterator;
+       return TIterator(me, begin(me, Standard()));
+}
+template <typename T>
+inline typename Iterator<T const, Rooted>::Type 
+_begin_default(T const & me,
+                          Rooted)
+{
+SEQAN_CHECKPOINT
+       typedef typename Iterator<T const, Rooted>::Type TIterator;
+       return TIterator(me, begin(me, Standard()));
+}
+//____________________________________________________________________________
+
+//folgende forward Deklaration wurde wegen Phaenomene bei VC++ 2003 hinzugenommen
+//implemented in string_pointer.h
+template <typename TValue>
+inline typename Iterator<TValue const *, Standard>::Type  
+begin(TValue const * me, 
+         Standard);
+
+//____________________________________________________________________________
+
+template <typename T, typename TSpec>
+inline typename Iterator<T, Tag<TSpec> const>::Type 
+begin(T & me,
+         Tag<TSpec> const tag_)
+{
+SEQAN_CHECKPOINT
+       return _begin_default(me, tag_);
+}
+template <typename T, typename TSpec>
+inline typename Iterator<T const, Tag<TSpec> const>::Type 
+begin(T const & me,
+         Tag<TSpec> const tag_)
+{
+SEQAN_CHECKPOINT
+       return _begin_default(me, tag_);
+}
+
+
+/*
+template <typename TValue>
+inline typename Iterator<TValue *, Standard>::Type  
+begin(TValue * me, 
+         Standard)
+{
+SEQAN_CHECKPOINT
+       return me;
+}
+
+//folgende Version wurde wegen eines seltsamen Phaenomens bei VC++ hinzugenommen
+template <typename TValue>
+inline typename Iterator<TValue const *, Standard>::Type  
+begin(TValue const * me, 
+         Standard)
+{
+SEQAN_CHECKPOINT
+       return me;
+}
+
+template <typename TValue, typename TSpec>
+inline typename Iterator<TValue *, Standard>::Type  
+begin(TValue * me, 
+         Tag<TSpec> const tag_)
+//       Standard)
+{
+SEQAN_CHECKPOINT
+       return me;
+}
+
+//folgende Version wurde wegen eines seltsamen Phaenomens bei VC++ hinzugenommen
+template <typename TValue, typename TSpec>
+inline typename Iterator<TValue const *, Standard>::Type  
+begin(TValue const * me, 
+         Tag<TSpec> const tag_)
+//       Standard)
+{
+SEQAN_CHECKPOINT
+       return me;
+}
+
+*/
+
+
+
+//////////////////////////////////////////////////////////////////////////////
+// beginPosition
+//////////////////////////////////////////////////////////////////////////////
+/**
+.Function.beginPosition:
+..cat:Containers
+..summary:Begin position of object in host.
+..signature:Position beginPosition(object)
+..param.object:An object.
+...type:Class.String
+...concept:Concept.Container
+..returns:The position of the first item in $host(object)$ that belongs of $object$.
+...metafunction:Metafunction.Position
+..remarks
+...text:For most classes $beginPosition$ always returns 0. Exceptions are e.g. @Spec.InfixSegment@ and @Spec.SuffixSegment@.
+..see:Function.begin
+*/
+template <typename T>
+inline typename Position<T>::Type 
+beginPosition(T &)
+{
+SEQAN_CHECKPOINT
+       return 0;
+}
+template <typename T>
+inline typename Position<T>::Type 
+beginPosition(T const &)
+{
+SEQAN_CHECKPOINT
+       return 0;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// end
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Function.end:
+..cat:Iteration
+..cat:Containers
+..summary:The end of a container. 
+..signature:Iterator end(object [, tag])
+..param.object:A container.
+...type:Class.String
+...concept:Concept.Container
+..param.tag:An @Tag.Iterator Spec.iterator spec@ tag that specifies the kind of the iterator returned. (optional)
+...default:Given by @Metafunction.DefaultGetIteratorSpec@.
+..returns:An iterator that points behind the last item in $object$.
+...metafunction:Metafunction.Iterator
+..remarks.text:If the container does not contain any items at all, the function may return 0.
+..see:Function.begin
+..see:Metafunction.Iterator
+*/
+template <typename T>
+inline typename Iterator<T, typename DefaultGetIteratorSpec<T>::Type>::Type 
+end(T & me)
+{
+SEQAN_CHECKPOINT
+       return end(me, typename DefaultGetIteratorSpec<T>::Type()) ;
+}
+template <typename T>
+inline typename Iterator<T const, typename DefaultGetIteratorSpec<T>::Type>::Type 
+end(T const & me)
+{
+SEQAN_CHECKPOINT
+       return end(me, typename DefaultGetIteratorSpec<T>::Type()) ;
+}
+
+//____________________________________________________________________________
+
+//* ???Anti Default Sequences
+template <typename T>
+inline typename Iterator<T, Standard>::Type 
+_end_default(T & me,
+                        Standard)
+{
+SEQAN_CHECKPOINT
+       return (& me) + 1;
+}
+template <typename T>
+inline typename Iterator<T const, Standard>::Type 
+_end_default(T const & me,
+                        Standard)
+{
+SEQAN_CHECKPOINT
+       return (& me) + 1;
+}
+//*/
+
+//____________________________________________________________________________
+
+template <typename T>
+inline typename Iterator<T, Rooted>::Type 
+_end_default(T & me,
+                        Rooted)
+{
+SEQAN_CHECKPOINT
+       typedef typename Iterator<T, Rooted>::Type TIterator;
+       return TIterator(me, end(me, Standard()));
+}
+template <typename T>
+inline typename Iterator<T const, Rooted>::Type 
+_end_default(T const & me,
+                        Rooted)
+{
+SEQAN_CHECKPOINT
+       typedef typename Iterator<T const, Rooted>::Type TIterator;
+       return TIterator(me, end(me, Standard()));
+}
+
+//____________________________________________________________________________
+
+template <typename T, typename TSpec>
+inline typename Iterator<T, Tag<TSpec> const>::Type 
+end(T & me,
+       Tag<TSpec> const tag_)
+{
+SEQAN_CHECKPOINT
+       return _end_default(me, tag_);
+}
+template <typename T, typename TSpec>
+inline typename Iterator<T const, Tag<TSpec> const>::Type 
+end(T const & me,
+       Tag<TSpec> const tag_)
+{
+SEQAN_CHECKPOINT
+       return _end_default(me, tag_);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// endPosition
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Function.endPosition:
+..cat:Containers
+..summary:End position of object in host.
+..signature:Position endPosition(object)
+..param.object:An object.
+...concept:Concept.Container
+...type:Class.String
+..returns:The position behind the last item in $host(object)$ that belongs of $object$.
+...metafunction:Metafunction.Position
+..see:Function.end
+..see:Function.beginPosition
+*/
+template <typename T>
+inline typename Position<T>::Type 
+endPosition(T & me)
+{
+SEQAN_CHECKPOINT
+       return length(me);
+}
+template <typename T>
+inline typename Position<T>::Type 
+endPosition(T const & me)
+{
+SEQAN_CHECKPOINT
+       return length(me);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// value
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Function.value:
+..cat:Iteration
+..cat:Containers
+..summary:Reference to the value.
+..signature:Reference value(container, position)
+..param.container:A container of values.
+..param.position:A position in $container$ on which the value should be accessed.
+..returns:A reference or proxy to the value.
+...metafunction:Metafunction.Reference
+*/
+
+//* ???Anti Default Sequences
+template <typename T, typename TPos>
+inline typename Reference<T>::Type
+value(T & me, 
+         TPos /*pos*/)
+{
+SEQAN_CHECKPOINT
+       return me;
+} 
+template <typename T, typename TPos>
+inline typename Reference<T const>::Type
+value(T const & me, 
+         TPos /*pos*/)
+{
+SEQAN_CHECKPOINT
+       return me;
+} 
+//*/
+
+//////////////////////////////////////////////////////////////////////////////
+// getValue
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Function.getValue:
+..summary:Access to the value.
+..cat:Containers
+..cat:Content Manipulation
+..signature:GetValue getValue(container, pos)
+..param.container:A container.
+...concept:Concept.Container
+..param.pos:The position of an item in $object$.
+...remarks:$pos$ should be convertible to $Position<T>::Type$ for $container$-type $T$.
+..returns:The item at position $pos$ in $container$.
+This can either be a reference to the item or a temporary copy of the item.
+...metafunction:Metafunction.GetValue
+..remarks:
+...text:If $pos$ is out of range, then the behavior of the function is undefined.
+..see:Metafunction.GetValue
+..see:Metafunction.Position
+..see:Function.value
+*/
+
+template <typename T, typename TPos>
+inline typename GetValue<T>::Type
+getValue(T & me, 
+                TPos pos)
+{
+SEQAN_CHECKPOINT
+       return (typename GetValue<T>::Type) value(me, pos);
+} 
+template <typename T, typename TPos>
+inline typename GetValue<T const>::Type
+getValue(T const & me, 
+                TPos pos)
+{
+SEQAN_CHECKPOINT
+       return value(me, pos);
+} 
+
+//////////////////////////////////////////////////////////////////////////////
+// front
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Function.Container#front:
+..cat:Containers
+..summary:The first item in container. 
+..signature:Iterator front(container)
+..param.container:A container.
+...concept:Concept.Container
+..returns:A @Metafunction.Reference.reference@ of the first item in $container$.
+...metafunction:Metafunction.Reference
+..remarks:This function is equivalent to $value(me, beginPosition(me))$.
+..see:Function.value
+..see:Function.begin
+*/
+
+
+template <typename T>
+inline typename Reference<T>::Type
+front(T & me)
+{
+SEQAN_CHECKPOINT
+    return value(me, beginPosition(me));
+}
+template <typename T>
+inline typename Reference<T const>::Type
+front(T const & me)
+{
+SEQAN_CHECKPOINT
+    return value(me, beginPosition(me));
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// back
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Function.back:
+..cat:Containers
+..summary:The last item in container. 
+..signature:Iterator back(container)
+..param.container:A container.
+...concept:Concept.Container
+..returns:A @Metafunction.Reference.reference@ of the last item in $container$.
+...metafunction:Metafunction.Reference
+..remarks:This function is equivalent to $value(me, endPosition(me) - 1)$.
+..see:Function.value
+..see:Function.end
+..see:Function.Container#front
+*/
+
+template <typename T>
+inline typename Reference<T const>::Type
+back(T const & me)
+{
+SEQAN_CHECKPOINT
+    return value(me, endPosition(me) - 1); 
+}
+
+template <typename T>
+inline typename Reference<T>::Type
+back(T & me)
+{
+SEQAN_CHECKPOINT
+    return value(me, endPosition(me) - 1);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// iter
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Function.iter:
+..cat:Containers
+..summary:Iterator to item at given position. 
+..signature:Iterator iter(object, pos [, tag])
+..param.object:A container.
+...type:Class.String
+..param.pos:The position of an item in $object$.
+...metafunction:Metafunction.Position
+..param.tag:An @Tag.Iterator Spec.iterator spec@ tag that specifies the kind of the iterator returned. (optional)
+...default:Given by @Metafunction.DefaultGetIteratorSpec@.
+..returns:An iterator to the item at position $pos$ in $object$.
+...metafunction:Metafunction.Iterator
+..remarks:
+...text:If $pos$ is out of range, then the behavior of the function is undefined.
+..see:Function.value
+..see:Metafunction.Iterator
+..see:Metafunction.Position
+*/
+
+template <typename T, typename TPos>
+inline typename Iterator<T, typename DefaultGetIteratorSpec<T>::Type>::Type
+iter(T & me, 
+        TPos pos)
+{
+SEQAN_CHECKPOINT
+       return iter(me, pos, typename DefaultGetIteratorSpec<T>::Type());
+} 
+template <typename T, typename TPos>
+inline typename Iterator<T const, typename DefaultGetIteratorSpec<T>::Type>::Type
+iter(T const & me, 
+        TPos pos)
+{
+SEQAN_CHECKPOINT
+       return iter(me, pos, typename DefaultGetIteratorSpec<T const>::Type());
+} 
+
+
+template <typename T, typename TPos, typename TTag>
+inline typename Iterator<T, Tag<TTag> const>::Type
+iter(T & me, 
+        TPos pos,
+        Tag<TTag> const tag_)
+{
+SEQAN_CHECKPOINT
+       return begin(me, tag_) + pos;
+} 
+template <typename T, typename TPos, typename TTag>
+inline typename Iterator<T const, Tag<TTag> const>::Type
+iter(T const & me, 
+        TPos pos,
+        Tag<TTag> const tag_)
+{
+SEQAN_CHECKPOINT
+       return begin(me, tag_) + pos;
+} 
+
+//////////////////////////////////////////////////////////////////////////////
+// assignValue (3)
+//////////////////////////////////////////////////////////////////////////////
+/**
+.Function.assignValue:
+..cat:Content Manipulation
+..signature:assignValue(container, pos, value)
+..param.container:A container.
+...concept:Concept.Container
+..param.pos:Position of the item in $container$ to that $value$ is assigned.
+..remarks:If $object$ is a container (that is $pos$ is not specified), 
+       the whole content of $object$ is replaced by $value$.
+..remarks.text:
+       If $value$ is not used again after calling this function, 
+       then consider to use @Function.moveValue@ that could be faster in some cases instead.
+*/
+
+template <typename T, typename TValue, typename TPos>
+inline void
+assignValue(T & me,
+                       TPos pos, 
+                       TValue const & _value)
+{
+SEQAN_CHECKPOINT
+       assign(value(me, pos), _value);
+} 
+
+//////////////////////////////////////////////////////////////////////////////
+// moveValue (3)
+//////////////////////////////////////////////////////////////////////////////
+/**
+.Function.moveValue:
+..cat:Content Manipulation
+..signature:moveValue(container, pos, value)
+..param.object:
+...concept:Concept.Container
+..param.container:A container.
+...concept:Concept.Container
+..param.pos:Position of the item in $container$ to that $value$ is moved to.
+..remarks:If $object$ is a container (that is $pos$ is not specified), 
+the whole content of $object$ is replaced by $value$.
+..remarks.text:
+       This function possibly clears $value$.
+       If $value$ should be used further, consider to use @Function.assignValue@ instead.
+*/
+
+template <typename T, typename TValue, typename TPos>
+inline void
+moveValue(T & me,
+                 TPos pos, 
+                 TValue const & _value)
+{
+SEQAN_CHECKPOINT
+       move(value(me, pos), _value);
+} 
+
+//////////////////////////////////////////////////////////////////////////////
+// length
+//////////////////////////////////////////////////////////////////////////////
+/**
+.Function.length:
+..cat:Containers
+..summary:The number of items/characters. 
+..signature:Size length(object)
+..param.object:A container.
+...concept:Concept.Container
+..returns:The number of items/characters in $object$.
+...metafunction:Metafunction.Size
+..remarks.text:The length of a sequence can never exceed it's capacity.
+..see:Function.capacity
+*/
+
+//* ???Anti Default Sequences
+template <typename T> 
+inline typename Size<T const>::Type
+length(T const & /*me*/)
+{
+SEQAN_CHECKPOINT
+       return 1;
+}
+//*/
+
+//////////////////////////////////////////////////////////////////////////////
+// capacity
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Function.capacity:
+..cat:Containers
+..summary:The maximal length.
+..signature:Size capacity(object)
+..param.object:A container.
+...remarks: If $object$ cannot be converted to one of these types, the function returns 1.
+..returns:The maximal number of items/characters that can be stored in $object$.
+...metafunction:Metafunction.Size
+..remarks.text:The size of a sequence can never exceed it's capacity, but some containers support 
+resizing of the capacity. 
+Some functions do that implicitely if they are called with a suitable @Tag.Overflow Strategy.overflow strategy@.
+The function @Function.reserve@ can be used to change the capacity explicitely.
+*/
+template <typename T> 
+inline typename Size<T const>::Type
+capacity(T const & me)
+{
+SEQAN_CHECKPOINT
+       return length(me);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// empty
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Function.empty:
+..cat:Containers
+..summary:Test a container for being empty.
+..signature:bool empty(object)
+..param.object:A container.
+..returns:$true$ if $object$ contains no elements, otherwise $false$.
+..remarks.text:$empty(x)$ is guaranteed to be at least as fast as $length(me) == 0$, 
+but can be significantly faster in some cases.
+..see:Function.length
+*/
+template <typename T>
+inline bool
+empty(T const & me)
+{
+SEQAN_CHECKPOINT
+       return (length(me) == 0);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// _computeSize4Capacity
+//////////////////////////////////////////////////////////////////////////////
+
+// note: for value types of size 1 or 2,
+// an extra position for the termination character is allocated.
+// This speeds up a conversion to a c style string (see Spec.CStyle String)
+// note that this extra position is necessary not only for char and wchar_t,
+// but also for all other value types of size 1 and 2 to make the application
+// of the funciton move for in-place alphabet conversion.
+
+
+template <typename T, typename TSize>
+inline TSize 
+_computeSize4Capacity(T const & /*me*/, 
+                                         TSize capacity)
+{
+SEQAN_CHECKPOINT
+       if (sizeof(T) <= 2) return capacity + 1;
+       else return capacity;
+}
+
+
+//////////////////////////////////////////////////////////////////////////////
+// computeGenerousCapacity
+//////////////////////////////////////////////////////////////////////////////
+/**
+.Function.computeGenerousCapacity:
+..hidefromindex
+..cat:Containers
+..summary:Capacity for generous expansion.
+..signature:Size computeGenerousCapacity(container, capacity)
+..param.container:A container that should be expanded.
+..param.capacity:Minimal capacity needed.
+..returns:A value larger than $capacity$ that should be used as new capacity for $container$
+when it is expanded using the @Tag.Overflow Strategy."Generous" overflow strategy@.
+...metafunction:Metafunction.Size
+..see:Tag.Overflow Strategy
+*/
+template <typename T, typename TSize>
+inline TSize 
+computeGenerousCapacity(T const & /*me*/, 
+                                                TSize capacity)
+{
+SEQAN_CHECKPOINT
+       if (capacity <= 32) return 32;
+       return capacity + (capacity >> 1);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// _storageUpdated
+//////////////////////////////////////////////////////////////////////////////
+
+/*
+template <typename T>
+inline void 
+_storageUpdated(T & me,
+                               void const *)
+{
+}
+
+template <typename T>
+inline void 
+_storageUpdated(T & me)
+{
+       _storageUpdated_(me, (T *) 0);
+}
+
+template <typename T>
+inline void 
+_storageUpdated(T const & me)
+{
+       _storageUpdated_(me, (T const *) 0);
+}
+*/
+
+
+//////////////////////////////////////////////////////////////////////////////
+// assign
+//////////////////////////////////////////////////////////////////////////////
+
+template<typename TTarget, typename TSource>
+inline void 
+assign(TTarget & target, 
+          TSource & source,
+          typename Size<TTarget>::Type limit)
+{
+SEQAN_CHECKPOINT
+       assign(target, source, limit, typename DefaultOverflowImplicit<TTarget>::Type());
+}
+template<typename TTarget, typename TSource>
+inline void 
+assign(TTarget const & target, 
+          TSource & source,
+          typename Size<TTarget>::Type limit)
+{
+SEQAN_CHECKPOINT
+       assign(target, source, limit, typename DefaultOverflowImplicit<TTarget const>::Type());
+}
+template<typename TTarget, typename TSource>
+inline void 
+assign(TTarget & target, 
+          TSource const & source,
+          typename Size<TTarget>::Type limit)
+{
+SEQAN_CHECKPOINT
+       assign(target, source, limit, typename DefaultOverflowImplicit<TTarget>::Type());
+}
+template<typename TTarget, typename TSource>
+inline void 
+assign(TTarget const & target, 
+          TSource const & source,
+          typename Size<TTarget>::Type limit)
+{
+SEQAN_CHECKPOINT
+       assign(target, source, limit, typename DefaultOverflowImplicit<TTarget const>::Type());
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// append
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Function.append:
+..summary:Concatenate two containers.
+..cat:Content Manipulation
+..signature:append(target, source [, limit] [,resize_tag])
+..param.target: A container $source$ is append to.
+..param.source: A container that is append to $target$.
+...remarks:The function does not modify this container.
+..param.limit: The maximal length of $target$ after the operation. (optional)
+..param.resize_tag: Specifies the strategy that is applied if $target$ has not enough capacity to store the complete content. (optional)
+...type:Tag.Overflow Strategy
+...default:Specified by @Metafunction.DefaultOverflowImplicit@ of the $target$ type.
+..remarks:The result of this operation is stored in $target$.
+..see:Function.assign
+*/
+template<typename TTarget, typename TSource>
+inline void 
+append(TTarget & target, 
+          TSource & source)
+{
+SEQAN_CHECKPOINT
+       append(target, source, typename DefaultOverflowImplicit<TTarget>::Type());
+}
+template<typename TTarget, typename TSource>
+inline void 
+append(TTarget const & target, 
+          TSource & source)
+{
+SEQAN_CHECKPOINT
+       append(target, source, typename DefaultOverflowImplicit<TTarget const>::Type());
+}
+template<typename TTarget, typename TSource>
+inline void 
+append(TTarget & target, 
+          TSource const & source)
+{
+SEQAN_CHECKPOINT
+       append(target, source, typename DefaultOverflowImplicit<TTarget>::Type());
+}
+template<typename TTarget, typename TSource>
+inline void 
+append(TTarget const & target, 
+          TSource const & source)
+{
+SEQAN_CHECKPOINT
+       append(target, source, typename DefaultOverflowImplicit<TTarget const>::Type());
+}
+
+//____________________________________________________________________________
+
+template<typename TTarget, typename TSource>
+inline void 
+append(TTarget & target, 
+          TSource & source,
+          typename Size<TTarget>::Type limit)
+{
+SEQAN_CHECKPOINT
+       append(target, source, limit, typename DefaultOverflowImplicit<TTarget>::Type());
+}
+template<typename TTarget, typename TSource>
+inline void 
+append(TTarget const & target, 
+          TSource & source,
+          typename Size<TTarget>::Type limit)
+{
+SEQAN_CHECKPOINT
+       append(target, source, limit, typename DefaultOverflowImplicit<TTarget const>::Type());
+}
+template<typename TTarget, typename TSource>
+inline void 
+append(TTarget & target, 
+          TSource const & source,
+          typename Size<TTarget>::Type limit)
+{
+SEQAN_CHECKPOINT
+       append(target, source, limit, typename DefaultOverflowImplicit<TTarget>::Type());
+}
+template<typename TTarget, typename TSource>
+inline void 
+append(TTarget const & target, 
+          TSource const & source,
+          typename Size<TTarget>::Type limit)
+{
+SEQAN_CHECKPOINT
+       append(target, source, limit, typename DefaultOverflowImplicit<TTarget const>::Type());
+}
+
+
+//////////////////////////////////////////////////////////////////////////////
+// appendValue
+//////////////////////////////////////////////////////////////////////////////
+/**
+.Function.appendValue:
+..signature:appendValue(target, value [, resize_tag])
+..cat:Content Manipulation
+..summary:Appends a value to a container.
+..param.target:A container.
+..param.value:Value that is appended to $target$.
+..param.resize_tag:
+..param.resize_tag: Specifies the strategy that is applied if $target$ has not enough capacity to store the complete content. (optional)
+...type:Tag.Overflow Strategy
+...default:Specified by @Metafunction.DefaultOverflowImplicit@ of the $target$ type.
+*/
+
+template <typename T, typename TValue>
+inline void
+appendValue(T & me, 
+                       TValue const & _value)
+{
+SEQAN_CHECKPOINT
+       appendValue(me, _value, typename DefaultOverflowImplicit<T>::Type());
+} 
+template <typename T, typename TValue>
+inline void
+appendValue(T const & me, 
+                       TValue const & _value)
+{
+SEQAN_CHECKPOINT
+       appendValue(me, _value, typename DefaultOverflowImplicit<T const>::Type());
+} 
+
+//////////////////////////////////////////////////////////////////////////////
+// insertValue
+//////////////////////////////////////////////////////////////////////////////
+/**
+.Function.insertValue:
+..cat:Content Manipulation
+..summary:Inserts a single value into a container.
+..signature:insertValue(target, pos, value [, resize_tag])
+..param.target:The container
+..param.pos:Position within $target$ at which $value$ is to be inserted.
+..param.value:Value that will be inserted into $target$.
+..param.resize_tag:Strategy that is applied if $target$ has not enough capacity to store the complete content.
+...type:Tag.Overflow Strategy
+..see:Function.assignValue
+..see:Function.appendValue
+*/
+
+template <typename T, typename TPosition, typename TValue>
+inline void
+insertValue(T & me, 
+                       TPosition pos, 
+                       TValue const & _value)
+{
+SEQAN_CHECKPOINT
+       insertValue(me, pos, _value, typename DefaultOverflowImplicit<T>::Type());
+} 
+template <typename T, typename TPosition, typename TValue>
+inline void
+insertValue(T const & me, 
+                       TPosition pos, 
+                       TValue const & _value)
+{
+SEQAN_CHECKPOINT
+       insertValue(me, pos, _value, typename DefaultOverflowImplicit<T const>::Type());
+} 
+
+//////////////////////////////////////////////////////////////////////////////
+// replace
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Function.replace:
+..summary:Replaces a part of a container with another container.
+..cat:Content Manipulation
+..signature:replace(target, pos_begin, pos_end, source [, limit] [,resize_tag])
+..param.target: A container that is modified.
+..param.pos_begin: Begin of replaced area.
+...text:The first position in $target$ of the area that is replaced by $source$.
+..param.pos_end: End of replaced area.
+...text:The position behind the last position in $target$ of the area that is replaced by $source$.
+..param.source: A container that is inserted into $target$.
+...remarks:The function does not modify this container.
+..param.limit: The maximal length of $target$ after the operation. (optional)
+..param.resize_tag: Specifies the strategy that is applied if $target$ has not enough capacity to store the complete content. (optional)
+...type:Tag.Overflow Strategy
+...default:Specified by @Metafunction.DefaultOverflowImplicit@ of the $target$ type.
+..see:Function.assign
+..see:Function.append
+..remarks.text:Some compilers have difficulties if $pos_begin$ and $pos_end$ are both 0, since 0 can be
+both a position or an iterator. The workaround is to convert at least one of these arguments
+explicite to the position or to the interator type.
+*/
+template<typename TTarget, typename TPositionBegin, typename TPositionEnd, typename TSource>
+inline void 
+replace(TTarget & target,
+               TPositionBegin pos_begin, 
+               TPositionEnd pos_end,
+               TSource & source)
+{
+       replace(target, pos_begin, pos_end, source, typename DefaultOverflowImplicit<TTarget>::Type());
+}
+template<typename TTarget, typename TPositionBegin, typename TPositionEnd, typename TSource>
+inline void 
+replace(TTarget const & target,
+               TPositionBegin pos_begin, 
+               TPositionEnd pos_end,
+               TSource & source)
+{
+       replace(target, pos_begin, pos_end, source, typename DefaultOverflowImplicit<TTarget const>::Type());
+}
+template<typename TTarget, typename TPositionBegin, typename TPositionEnd, typename TSource>
+inline void 
+replace(TTarget & target,
+               TPositionBegin pos_begin, 
+               TPositionEnd pos_end,
+               TSource const & source)
+{
+       replace(target, pos_begin, pos_end, source, typename DefaultOverflowImplicit<TTarget>::Type());
+}
+template<typename TTarget, typename TPositionBegin, typename TPositionEnd, typename TSource>
+inline void 
+replace(TTarget const & target,
+               TPositionBegin pos_begin, 
+               TPositionEnd pos_end,
+               TSource const & source)
+{
+       replace(target, pos_begin, pos_end, source, typename DefaultOverflowImplicit<TTarget const>::Type());
+}
+
+//____________________________________________________________________________
+
+template<typename TTarget, typename TPositionBegin, typename TPositionEnd, typename TSource>
+inline void 
+replace(TTarget & target,
+               TPositionBegin pos_begin, 
+               TPositionEnd pos_end,
+               TSource & source,
+               typename Size<TTarget>::Type limit)
+{
+       replace(target, pos_begin, pos_end, source, limit, typename DefaultOverflowImplicit<TTarget>::Type());
+}
+template<typename TTarget, typename TPositionBegin, typename TPositionEnd, typename TSource>
+inline void 
+replace(TTarget const & target,
+               TPositionBegin pos_begin, 
+               TPositionEnd pos_end,
+               TSource & source,
+               typename Size<TTarget>::Type limit)
+{
+       replace(target, pos_begin, pos_end, source, limit, typename DefaultOverflowImplicit<TTarget const>::Type());
+}
+template<typename TTarget, typename TPositionBegin, typename TPositionEnd, typename TSource>
+inline void 
+replace(TTarget & target,
+               TPositionBegin pos_begin, 
+               TPositionEnd pos_end,
+               TSource const & source,
+               typename Size<TTarget>::Type limit)
+{
+       replace(target, pos_begin, pos_end, source, limit, typename DefaultOverflowImplicit<TTarget>::Type());
+}
+template<typename TTarget, typename TPositionBegin, typename TPositionEnd, typename TSource>
+inline void 
+replace(TTarget const & target,
+               TPositionBegin pos_begin, 
+               TPositionEnd pos_end,
+               TSource const & source,
+               typename Size<TTarget>::Type limit)
+{
+       replace(target, pos_begin, pos_end, source, limit, typename DefaultOverflowImplicit<TTarget const>::Type());
+}
+
+
+//////////////////////////////////////////////////////////////////////////////
+// reserve
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Function.reserve:
+..cat:Containers
+..summary:Increases the capacity.
+..signature:Size reserve(object, new_capacity [, resize_tag])
+..param.object: A container.
+..param.new_capacity: The new capacity $object$ will get.
+..param.resize_tag: Specifies the strategy that is applied for changing the capacity. (optional)
+...type:Tag.Overflow Strategy
+...default:Specified by @Metafunction.DefaultOverflowExplicit@.
+..returns:The ammout of the requested capacity that was available.
+That is the function returns the minimum of $new_capacity$ and $capacity(me)$.
+...metafunction:Metafunction.Size
+..remarks:At the end of the operation, $capacity(me)$ can be larger than $new_capacity$.
+If $new_capacity$ is smaller than $capacity(me)$ at the beginning of the operation, 
+the operation need not to change the capacity at all.
+..remarks:This operation does not changes the content of $object$.
+...note:This operation may invalidate iterators of $object$.
+..see:Function.capacity
+*/
+template <typename T, typename TSize>
+inline typename Size<T>::Type 
+reserve(
+       T & /*me*/, 
+       TSize new_capacity,
+       Insist)
+{
+SEQAN_CHECKPOINT
+       return new_capacity;
+}
+
+template <typename T, typename TSize>
+inline typename Size<T>::Type 
+reserve(
+       T & me, 
+       TSize new_capacity,
+       Limit)
+{
+SEQAN_CHECKPOINT
+       typename Size<T>::Type me_capacity = capacity(me);
+       if (me_capacity < (typename Size<T>::Type) new_capacity) return me_capacity;
+       return new_capacity;
+}
+
+template <typename T, typename TSize>
+inline typename Size<T>::Type 
+reserve(
+       T & me, 
+       TSize new_capacity)
+{
+SEQAN_CHECKPOINT
+       return reserve(me, new_capacity, typename DefaultOverflowExplicit<T>::Type());
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// resize
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Function.resize:
+..cat:Containers
+..summary:Changes the length.
+..signature:Size resize(object, new_length [, resize_tag])
+..param.object: A container.
+...type:Class.String
+..param.new_length: The new length $object$ will get.
+..param.resize_tag: Specifies the strategy that is applied if the capacity of $object$ is less than $new_length$. (optional)
+...type:Tag.Overflow Strategy
+...default:Specified by @Metafunction.DefaultOverflowExplicit@.
+..returns:The new length $length(object)$.
+...metafunction:Metafunction.Size
+..remarks:This function can be used both for expanding and for shrinking $object$.
+...text:
+If $new_length$ is too large for $object$ (i.e. the @Function.capacity@ of $object$ is too small), then $object$ is
+expanded as far as possible. The resulting length
+of $object$ could be less than $new_length$, depending on the type of $object$ and the available storage.
+..see:Function.length
+..see:Function.reserve
+*/
+template <typename T, typename TSize>
+inline typename Size<T>::Type  
+resize(
+       T & me, 
+       TSize new_length)
+{
+SEQAN_CHECKPOINT
+       return resize(me, new_length, typename DefaultOverflowExplicit<T>::Type());
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// resizeSpace
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Function.resizeSpace:
+..cat:Containers
+..summary:Makes free space in container
+..signature:Size resizeSpace(object, size, pos_begin, pos_end [, limit] [, resize_tag])
+..param.object:The container.
+...type:Class.String
+..param.size:Number of characters that should be freed.
+..param.pos_begin:Position of the first item in $object$ that is to be destroyed.
+..param.pos_end:Position behind the last item in $object$ that is to be destroyed.
+...remarks:If $pos_end == pos_begin$, no item in $object$ will be destroyed.
+..param.limit:Maximal length $object$ can get after this operation. (optional)
+..param.resize_tag:Strategy that is applied if $object$ has not enough capacity to store the complete content. (optional)
+...metafunction:Metafunction.DefaultOverflowExplicit
+..returns:The number of free characters.
+...metafunction:Metafunction.Size
+...remarks:Depeding on the @Tag.Overflow Strategy.overflow strategy@ specified by $resize_tag$,
+this could be $size$ or less than $size$ if $object$ has not enough @Function.capacity@.
+*/
+
+template<typename T, typename TSize, typename TPosition>
+inline TSize 
+resizeSpace(T & me, 
+                       TSize size, 
+                       TPosition pos_begin, 
+                       TPosition pos_end)
+{
+SEQAN_CHECKPOINT
+       return resizeSpace(me, size, pos_begin, pos_end, typename DefaultOverflowExplicit<T>::Type());
+}
+
+template<typename T, typename TSize, typename TPosition>
+inline TSize 
+resizeSpace(T & me, 
+                       TSize size, 
+                       TPosition pos_begin, 
+                       TPosition pos_end,
+                       TSize limit)
+{
+SEQAN_CHECKPOINT
+       return resizeSpace(me, size, pos_begin, pos_end, limit, typename DefaultOverflowExplicit<T>::Type());
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// erase
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Function.erase:
+..summary:Erases a part of a container
+..cat:Containers
+..signature:erase(object, pos [, pos_end])
+..param.object:The container.
+...type:Class.String
+..param.pos:Position of the first item in $object$ that is to be destroyed.
+..param.pos_end:Position behind the last item in $object$ that is to be destroyed. (optional)
+...default:$pos + 1$
+...remarks:If $pos_end$ is omitted, only one element in $object$ at position $pos$ is destroyed.
+..remarks:$erase(object, pos, pos_end)$ is semantically the same as @Function.resizeSpace.resizeSpace(object, 0, pos, pos_end)@.
+*/
+
+template<typename T, typename TPosition>
+inline void 
+erase(T & me, 
+         TPosition pos, 
+         TPosition pos_end)
+{
+SEQAN_CHECKPOINT
+       resizeSpace(me, 0, pos, pos_end);
+}
+
+template<typename T, typename TPosition>
+inline void 
+erase(T & me, 
+         TPosition pos)
+{
+SEQAN_CHECKPOINT
+       resizeSpace(me, 0, pos, pos + 1);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// fill
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Function.fill:
+..cat:Containers
+..summary:Resizes and fills a container.
+..signature:Size fill(object, new_length, value [, resize_tag])
+..param.object: A container.
+...type:Class.String
+..param.new_length: The new length $object$ will get.
+..param.value: Value that is copied if new items are created in $object$.
+...remarks:If the $value$ argument is omitted, the default constructor is used to create
+new items in $object$.
+..param.resize_tag: Specifies the strategy that is applied if the capacity of $object$ is less than $new_length$. (optional)
+...type:Tag.Overflow Strategy
+...default:Specified by @Metafunction.DefaultOverflowExplicit@.
+..returns:The new length $length(object)$.
+...metafunction:Metafunction.Size
+..remarks:This function can be used both for expanding and for shrinking $object$.
+...text:
+       If $new_length$ is too large for $object$ (i.e. the @Function.capacity@ of $object$ is too small), then $object$ is
+       expanded as far as possible. The resulting length
+       of $object$ could be less than $new_length$, depending on the type of $object$ and the available storage.
+..see:Function.length
+..see:Function.reserve
+..see:Function.resize
+*/
+
+template <typename T, typename TSize, typename TValue>
+inline typename Size<T>::Type  
+fill(
+       T & me, 
+       TSize new_length,
+       TValue const & val)
+{
+SEQAN_CHECKPOINT
+       return fill(me, new_length, val, typename DefaultOverflowExplicit<T>::Type());
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// shrinkToFit
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Function.shrinkToFit:
+..cat:Containers
+..summary:Resizes container to minimum capacity
+..signature:shrinkToFit(object) 
+..param.object: A container.
+..remarks
+...text:$shrinkToFit(object)$ is equivalent to $reserve(object, length(object), Exact())$.
+..see:Function.capacity
+..see:Function.length
+..see:Function.reserve
+*/
+
+template <typename T, typename TSize, typename TValue>
+inline void  
+shrinkToFit(T & me)
+{
+SEQAN_CHECKPOINT
+       reserve(me, length(me), Exact());
+}
+//////////////////////////////////////////////////////////////////////////////
+
+} //namespace SEQAN_NAMESPACE_MAIN
+
+#endif //#ifndef SEQAN_HEADER_...
diff --git a/SeqAn-1.1/seqan/sequence/sequence_multiple.h b/SeqAn-1.1/seqan/sequence/sequence_multiple.h
new file mode 100644 (file)
index 0000000..0eed9b4
--- /dev/null
@@ -0,0 +1,2286 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: sequence_multiple.h,v 1.2 2009/02/19 01:51:23 langmead Exp $
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_STRING_SET_H
+#define SEQAN_HEADER_STRING_SET_H
+
+namespace SEQAN_NAMESPACE_MAIN
+{
+
+       //////////////////////////////////////////////////////////////////////////////
+       // StringSet specs
+       //////////////////////////////////////////////////////////////////////////////
+
+       //struct Generous;                                              // large string-string, large id-string
+       //struct Tight;                                                 // small string-string, small id-string
+       //struct Optimal??                                              // small string-string, large id-string
+
+/**
+.Spec.Dependent:
+..summary:A string set storing references of the strings.
+..cat:Sequences
+..general:Class.StringSet
+..signature:StringSet<TString, Dependent<TSpec> >
+..param.TString:The string type.
+...type:Class.String
+..param.TSpec:The specializing type for the dependent string set.
+...remarks:Possible values are $Tight$ or $Generous$
+...remarks:$Tight$ is very space efficient whereas $Generous$ provides fast access to the strings in the container via ids.
+*/
+
+       // Default id holder string set
+       template<typename TSpec = Generous >
+       struct Dependent;                                               // holds references of its elements
+
+
+/**
+.Spec.ConcatDirect:
+..summary:A string set storing the concatenation of all strings within one string.
+..cat:Sequences
+..general:Spec.Owner
+..signature:StringSet<TString, Owner<ConcatDirect<> > >
+..param.TString:The string type.
+...type:Class.String
+..remarks:The strings are internally stored in a $TString$ object and the character position type is a
+a single integer value between 0 and the sum of string lengths minus 1.
+..remarks:The position type can be returned or modified by the meta-function @Metafunction.SAValue@ called with the @Class.StringSet@ type.
+*/
+
+       template < typename TDelimiter = void >
+       struct ConcatDirect;                                    // contains 1 string (the concatenation of n strings)
+       //struct Default;                                                       // contains n strings in a string
+
+/**
+.Spec.Owner:
+..summary:A string set storing the strings as members.
+..cat:Sequences
+..general:Class.StringSet
+..signature:StringSet<TString, Owner<> >
+..signature:StringSet<TString, Owner<Default> >
+..param.TString:The string type.
+...type:Class.String
+..remarks:The strings are internally stored in a $String<TString>$ object and the character position type is a
+@Class.Pair@ $(seqNo,seqOfs)$ where seqNo identifies the string within the stringset and seqOfs identifies the position within this string.
+..remarks:The position type can be returned or modified by the meta-function @Metafunction.SAValue@ called with the @Class.StringSet@ type.
+*/
+       template < typename TSpec = Default >
+       struct Owner;                                                   // owns its elements
+
+
+    //////////////////////////////////////////////////////////////////////////////
+       // Forwards
+       //////////////////////////////////////////////////////////////////////////////
+
+       template < typename TString, typename TSpec = Owner<> >
+       class StringSet;
+
+    template <typename TObject>
+       struct Concatenator {
+               typedef TObject Type;
+       };
+
+    template <typename TObject>
+       struct Concatenator<TObject const> {
+               typedef typename Concatenator<TObject>::Type const Type;
+       };
+
+
+       //////////////////////////////////////////////////////////////////////////////
+       // StringSet limits
+       //////////////////////////////////////////////////////////////////////////////
+
+       template <typename TString>
+       struct StringSetLimits {
+               typedef Nothing Type;
+       };
+
+       template <typename TString>
+       struct StringSetLimits<TString const> {
+               typedef typename StringSetLimits<TString>::Type const Type;
+       };
+
+       template <typename TString>
+       struct StringSetPosition {
+               typedef typename Size<TString>::Type    Type;
+       };
+
+       template <typename TString, typename TSpec>
+       struct StringSetLimits< StringSet<TString, TSpec> > {
+               typedef typename Size<TString>::Type    TSize;
+               typedef String<TSize>                                   Type;
+       };
+
+       template <typename TString, typename TSpec>
+       struct StringSetPosition< StringSet<TString, TSpec> > {
+               typedef typename Size<TString>::Type    TSize;
+               typedef Pair<TSize>                                             Type;
+       };
+
+
+
+       //////////////////////////////////////////////////////////////////////////////
+       // get StringSet limits
+       //////////////////////////////////////////////////////////////////////////////
+
+/**
+.Function.stringSetLimits:
+..cat:Sequences
+..summary:Retrieves a string of delimiter positions of a @Class.StringSet@ which is needed for local<->global position conversions.
+..signature:stringSetLimits(me)
+..param.me:A string or string set.
+...type:Class.String
+...type:Class.StringSet
+..returns:A reference to a string.
+...remarks:If $me$ is a @Class.StringSet@ then the returned string is of size $length(me)+1$ and contains the ascending (virtual) delimiter positions of the concatenation of all strings in the string set.
+...remarks:If $me$ is a @Class.String@, @Tag.Nothing@ is returned.
+*/
+
+    template <typename TStringSet>
+       inline typename StringSetLimits<TStringSet>::Type
+       stringSetLimits(TStringSet &) {
+               return typename StringSetLimits<TStringSet>::Type();
+       }
+
+    template <typename TString, typename TSpec>
+       inline typename StringSetLimits< StringSet<TString, TSpec> >::Type &
+       stringSetLimits(StringSet<TString, TSpec> &stringSet) {
+               if (!_validStringSetLimits(stringSet))
+                       _refreshStringSetLimits(stringSet);
+               return stringSet.limits;
+       }
+
+    template <typename TString, typename TSpec>
+       inline typename StringSetLimits< StringSet<TString, TSpec> const>::Type &
+       stringSetLimits(StringSet<TString, TSpec> const &stringSet) {
+               if (!_validStringSetLimits(stringSet))
+                       _refreshStringSetLimits(const_cast< StringSet<TString, TSpec>& >(stringSet));
+               return stringSet.limits;
+       }
+
+       //////////////////////////////////////////////////////////////////////////////
+       // accessing local positions
+       //////////////////////////////////////////////////////////////////////////////
+
+/**
+.Function.getSeqNo:
+..cat:Sequences
+..summary:Returns the sequence number of a position.
+..signature:getSeqNo(pos[, limits])
+..param.pos:A position.
+...type:Class.Pair
+..param.limits:The limits string returned by @Function.stringSetLimits@.
+..returns:A single integer value that identifies the string within the stringset $pos$ points at.
+...remarks:If $limits$ is omitted or @Tag.Nothing@ $getSeqNo$ returns 0.
+...remarks:If $pos$ is a local position (of class @Class.Pair@) then $i1$ is returned.
+...remarks:If $pos$ is a global position (integer type and $limits$ is a @Class.String@) then $pos$ is converted to a local position and $i1$ is returned.
+*/
+
+/**
+.Function.getSeqOffset:
+..cat:Sequences
+..summary:Returns the local sequence offset of a position.
+..signature:getSeqOffset(pos[, limits])
+..param.pos:A position.
+...type:Class.Pair
+..param.limits:The limits string returned by @Function.stringSetLimits@.
+..returns:A single integer value that identifies the position within the string $pos$ points at.
+...remarks:If $limits$ is omitted or @Tag.Nothing@ $getSeqNo$ returns $pos$.
+...remarks:If $pos$ is a local position (of class @Class.Pair@) then $i2$ is returned.
+...remarks:If $pos$ is a global position (integer type and $limits$ is a @Class.String@) then $pos$ is converted to a local position and $i2$ is returned.
+*/
+
+       //////////////////////////////////////////////////////////////////////////////
+       // 1 sequence
+       //////////////////////////////////////////////////////////////////////////////
+
+       template <typename TPosition>
+       inline TPosition getSeqNo(TPosition const &, Nothing const &) {
+               return 0;
+       }
+
+       template <typename TPosition>
+       inline TPosition getSeqOffset(TPosition const &pos, Nothing const &) {
+               return pos;
+       }
+//____________________________________________________________________________
+
+       template <typename TPosition>
+       inline TPosition getSeqNo(TPosition const &) {
+               return 0;
+       }
+
+       template <typename TPosition>
+       inline TPosition getSeqOffset(TPosition const &pos) {
+               return pos;
+       }
+
+       //////////////////////////////////////////////////////////////////////////////
+       // n sequences (position type is Pair)
+       //////////////////////////////////////////////////////////////////////////////
+
+       template <typename T1, typename T2, typename TCompression, typename TLimitsString>
+       inline T1 getSeqNo(Pair<T1, T2, TCompression> const &pos, TLimitsString const &) {
+               return getValueI1(pos);
+       }
+
+       template <typename T1, typename T2, typename TCompression>
+       inline T1 getSeqNo(Pair<T1, T2, TCompression> const &pos) {
+               return getValueI1(pos);
+       }
+//____________________________________________________________________________
+
+       template <typename T1, typename T2, typename TCompression, typename TLimitsString>
+       inline T2 getSeqOffset(Pair<T1, T2, TCompression> const &pos, TLimitsString const &) {
+               return getValueI2(pos);
+       }
+
+       template <typename T1, typename T2, typename TCompression>
+       inline T1 getSeqOffset(Pair<T1, T2, TCompression> const &pos) {
+               return getValueI2(pos);
+       }
+
+       //////////////////////////////////////////////////////////////////////////////
+       // n sequences (position type is an integral type)
+       //////////////////////////////////////////////////////////////////////////////
+
+       template <typename TPos, typename TLimitsString>
+       inline TPos getSeqNo(TPos const &pos, TLimitsString const &limits) {
+               typedef typename Iterator<TLimitsString const, Standard>::Type TIter;
+               typedef typename Value<TLimitsString>::Type TSize;
+        TIter _begin = begin(limits, Standard());
+        TIter _upper = ::std::upper_bound(_begin, end(limits, Standard()), (TSize)pos) - 1;
+        return difference(_begin, _upper);
+       }
+
+       template <typename TPos, typename TLimitsString>
+       inline TPos getSeqOffset(TPos const &pos, TLimitsString const &limits) {
+               typedef typename Iterator<TLimitsString const, Standard>::Type TIter;
+               typedef typename Value<TLimitsString>::Type TSize;
+        TIter _begin = begin(limits, Standard());
+        TIter _upper = ::std::upper_bound(_begin, end(limits, Standard()), (TSize)pos) - 1;
+        return pos - *_upper;
+       }
+
+       //////////////////////////////////////////////////////////////////////////////
+       // local -> global conversions
+       //////////////////////////////////////////////////////////////////////////////
+
+/**
+.Function.posGlobalize:
+..cat:Sequences
+..summary:Converts a local/global to a global position.
+..signature:posGlobalize(pos, limits)
+..param.pos:A local or global position (pair or integer value).
+...type:Class.Pair
+..param.limits:The limits string returned by @Function.stringSetLimits@.
+..returns:The corresponding global position of $pos$.
+...remarks:If $pos$ is an integral type $pos$ is returned.
+...remarks:If not, $limits[getSeqNo(pos, limits)] + getSeqOffset(pos, limits)$ is returned.
+*/
+
+       // any_position and no limits_string -> any_position
+       template <typename TPosition>
+       inline TPosition posGlobalize(TPosition const &pos, Nothing const &) {
+               return pos;
+       }
+
+       // local_position (0,x) and no limits_string -> global_position x
+       template <typename T1, typename T2, typename TCompression>
+       inline T2 posGlobalize(Pair<T1, T2, TCompression> const &pos, Nothing const &) {
+               return getSeqOffset(pos);
+       }
+
+       // any_position and no limits_string -> any_position
+       template <typename TLimitsString, typename TPosition>
+       inline TPosition posGlobalize(TPosition const &pos, TLimitsString const &) {
+               return pos;
+       }
+
+       // local_position and limits_string -> global_position
+       template <typename TLimitsString, typename T1, typename T2, typename TCompression>
+       inline typename Value<TLimitsString>::Type
+       posGlobalize(Pair<T1, T2, TCompression> const &pos, TLimitsString const &limits) {
+               return limits[getSeqNo(pos, limits)] + getSeqOffset(pos, limits);
+       }
+
+       //////////////////////////////////////////////////////////////////////////////
+       // global -> local position
+       //////////////////////////////////////////////////////////////////////////////
+
+/**
+.Function.posLocalize:
+..cat:Sequences
+..summary:Converts a local/global to a local position.
+..signature:posLocalize(result, pos, limits)
+..param.pos:A local or global position (pair or integer value).
+...type:Class.Pair
+..param.limits:The limits string returned by @Function.stringSetLimits@.
+..param.result:Reference to the resulting corresponding local position of $pos$.
+...remarks:If $pos$ is an integral type and $limits$ is omitted or @Tag.Nothing@, $pos$ is returned.
+...remarks:If $pos$ is a local position (of class @Class.Pair@) then $pos$ is returned.
+...remarks:If $pos$ is a global position (integer type and $limits$ is a @Class.String@) then $pos$ is converted to a local position.
+*/
+
+       // any_position and no limits_string -> any_position
+       template <typename TResult, typename TPosition>
+       inline void posLocalize(TResult &result, TPosition const &pos, Nothing const &) {
+               result = pos;
+       }
+
+       template <typename T1, typename T2, typename TCompression, typename TPosition>
+       inline void posLocalize(Pair<T1, T2, TCompression> &result, TPosition const &pos, Nothing const &) {
+               result.i1 = 0;
+               result.i2 = pos;
+       }
+
+       // global_position and limits_string -> local_position
+       template <typename TResult, typename TSize, typename TSpec, typename TPosition>
+       inline void posLocalize(TResult &result, TPosition const &pos, String<TSize, TSpec> const &limits) {
+               typedef typename Iterator<String<TSize> const, Standard>::Type TIter;
+        TIter _begin = begin(limits, Standard());
+               TIter _upper = ::std::upper_bound(_begin, end(limits, Standard()), (TSize)pos) - 1;
+        result.i1 = difference(_begin, _upper);
+        result.i2 = pos - *_upper;
+       }
+
+       // local_position -> local_position
+       template <typename TResult, typename TSize, typename TSpec, typename T1, typename T2, typename TCompression>
+       inline void posLocalize(TResult &result, Pair<T1, T2, TCompression> const &pos, String<TSize, TSpec> const &/*limits*/) {
+               result = pos;
+       }
+
+       //////////////////////////////////////////////////////////////////////////////
+       // prefix
+       //////////////////////////////////////////////////////////////////////////////
+
+       template < typename TString, typename TSpec, typename TPosition >
+       inline typename Prefix<TString>::Type
+       prefix(StringSet< TString, TSpec > &me, TPosition pos)
+       {
+               typedef StringSet<TString, TSpec>                               TStringSet;
+               typedef typename Size<TStringSet>::Type                 TSetSize;
+               typedef typename Size<TString>::Type                    TStringSize;
+               typedef Pair<TSetSize, TStringSize, Compressed> TPair;
+
+               TPair lPos;
+               posLocalize(lPos, pos, stringSetLimits(me));
+               return prefix(me[getSeqNo(lPos)], getSeqOffset(lPos));
+       }
+
+       template < typename TString, typename TSpec, typename TPosition >
+       inline typename Prefix<TString const>::Type
+       prefix(StringSet< TString, TSpec > const &me, TPosition pos)
+       {
+               typedef StringSet<TString, TSpec>                               TStringSet;
+               typedef typename Size<TStringSet>::Type                 TSetSize;
+               typedef typename Size<TString>::Type                    TStringSize;
+               typedef Pair<TSetSize, TStringSize, Compressed> TPair;
+
+               TPair lPos;
+               posLocalize(lPos, pos, stringSetLimits(me));
+               return prefix(me[getSeqNo(lPos)], getSeqOffset(lPos));
+       }
+
+       template < typename TString, typename TDelimiter, typename TPosition >
+       inline typename Infix<TString>::Type
+       prefix(StringSet< TString, Owner<ConcatDirect<TDelimiter> > > &me, TPosition pos)
+       {
+               return infix(me.concat, stringSetLimits(me)[getSeqNo(pos, stringSetLimits(me))], posGlobalize(pos, stringSetLimits(me)));
+       }
+
+       template < typename TString, typename TDelimiter, typename TPosition >
+       inline typename Infix<TString const>::Type
+       prefix(StringSet< TString, Owner<ConcatDirect<TDelimiter> > > const &me, TPosition pos)
+       {
+               return infix(me.concat, stringSetLimits(me)[getSeqNo(pos, stringSetLimits(me))], posGlobalize(pos, stringSetLimits(me)));
+       }
+
+       //////////////////////////////////////////////////////////////////////////////
+       // suffix
+       //////////////////////////////////////////////////////////////////////////////
+
+       template < typename TString, typename TSpec, typename TPosition >
+       inline typename Suffix<TString>::Type
+       suffix(StringSet< TString, TSpec > &me, TPosition pos)
+       {
+               typedef StringSet<TString, TSpec>                               TStringSet;
+               typedef typename Size<TStringSet>::Type                 TSetSize;
+               typedef typename Size<TString>::Type                    TStringSize;
+               typedef Pair<TSetSize, TStringSize, Compressed> TPair;
+
+               TPair lPos;
+               posLocalize(lPos, pos, stringSetLimits(me));
+               return suffix(me[getSeqNo(lPos)], getSeqOffset(lPos));
+       }
+
+       template < typename TString, typename TSpec, typename TPosition >
+       inline typename Suffix<TString const>::Type
+       suffix(StringSet< TString, TSpec > const &me, TPosition pos)
+       {
+               typedef StringSet<TString, TSpec>                               TStringSet;
+               typedef typename Size<TStringSet>::Type                 TSetSize;
+               typedef typename Size<TString>::Type                    TStringSize;
+               typedef Pair<TSetSize, TStringSize, Compressed> TPair;
+
+               TPair lPos;
+               posLocalize(lPos, pos, stringSetLimits(me));
+               return suffix(me[getSeqNo(lPos)], getSeqOffset(lPos));
+       }
+
+       template < typename TString, typename TDelimiter, typename TPosition >
+       inline typename Infix<TString>::Type
+       suffix(StringSet< TString, Owner<ConcatDirect<TDelimiter> > > &me, TPosition pos)
+       {
+               return infix(me.concat, posGlobalize(pos, stringSetLimits(me)), stringSetLimits(me)[getSeqNo(pos, stringSetLimits(me)) + 1]);
+       }
+
+       template < typename TString, typename TDelimiter, typename TPosition >
+       inline typename Infix<TString const>::Type
+       suffix(StringSet< TString, Owner<ConcatDirect<TDelimiter> > > const &me, TPosition pos)
+       {
+               return infix(me.concat, posGlobalize(pos, stringSetLimits(me)), stringSetLimits(me)[getSeqNo(pos, stringSetLimits(me)) + 1]);
+       }
+
+       //////////////////////////////////////////////////////////////////////////////
+       // infixWithLength
+       //////////////////////////////////////////////////////////////////////////////
+
+       template < typename TString, typename TSpec, typename TPosition, typename TSize >
+       inline typename Infix<TString>::Type
+       infixWithLength(StringSet< TString, TSpec > &me, TPosition pos, TSize length)
+       {
+               typedef StringSet<TString, TSpec>                               TStringSet;
+               typedef typename Size<TStringSet>::Type                 TSetSize;
+               typedef typename Size<TString>::Type                    TStringSize;
+               typedef Pair<TSetSize, TStringSize, Compressed> TPair;
+
+               TPair lPos;
+               posLocalize(lPos, pos, stringSetLimits(me));
+               return infixWithLength(me[getSeqNo(lPos)], getSeqOffset(lPos), length);
+       }
+
+       template < typename TString, typename TSpec, typename TPosition, typename TSize >
+       inline typename Infix<TString const>::Type
+       infixWithLength(StringSet< TString, TSpec > const &me, TPosition pos, TSize length)
+       {
+               typedef StringSet<TString, TSpec>                               TStringSet;
+               typedef typename Size<TStringSet>::Type                 TSetSize;
+               typedef typename Size<TString>::Type                    TStringSize;
+               typedef Pair<TSetSize, TStringSize, Compressed> TPair;
+
+               TPair lPos;
+               posLocalize(lPos, pos, stringSetLimits(me));
+               return infixWithLength(me[getSeqNo(lPos)], getSeqOffset(lPos), length);
+       }
+
+       template < typename TString, typename TDelimiter, typename TPosition, typename TSize >
+       inline typename Infix<TString>::Type
+       infixWithLength(StringSet< TString, Owner<ConcatDirect<TDelimiter> > > &me, TPosition pos, TSize length)
+       {
+               return infixWithLength(me.concat, posGlobalize(pos, stringSetLimits(me)), length);
+       }
+
+       template < typename TString, typename TDelimiter, typename TPosition, typename TSize >
+       inline typename Infix<TString const>::Type
+       infixWithLength(StringSet< TString, Owner<ConcatDirect<TDelimiter> > > const &me, TPosition pos, TSize length)
+       {
+               return infixWithLength(me.concat, posGlobalize(pos, stringSetLimits(me)), length);
+       }
+
+       //////////////////////////////////////////////////////////////////////////////
+       // position arithmetics
+       //////////////////////////////////////////////////////////////////////////////
+
+       // posAtFirstLocal
+       template <typename TPos, typename TLimitsString>
+       inline bool posAtFirstLocal(TPos pos, TLimitsString const &limits) {
+               return getSeqOffset(pos, limits) == 0;
+       }
+       template <typename TPos>
+       inline bool posAtFirstLocal(TPos pos) {
+               return getSeqOffset(pos) == 0;
+       }
+
+
+       // posPrev
+       template <typename TPos>
+       inline TPos posPrev(TPos pos) {
+               return pos - 1;
+       }
+
+       template <typename T1, typename T2, typename TCompression>
+       inline Pair<T1, T2, TCompression> posPrev(Pair<T1, T2, TCompression> const &pos) {
+               return Pair<T1, T2, TCompression>(getValueI1(pos), getValueI2(pos) - 1);
+       }
+
+       // posNext
+       template <typename TPos>
+       inline TPos posNext(TPos pos) {
+               return pos + 1;
+       }
+
+       template <typename T1, typename T2, typename TCompression>
+       inline Pair<T1, T2, TCompression>
+       posNext(Pair<T1, T2, TCompression> const &pos) {
+               return Pair<T1, T2, TCompression>(getValueI1(pos), getValueI2(pos) + 1);
+       }
+
+       // posAdd
+       template <typename TPos, typename TDelta>
+       inline TPos posAdd(TPos pos, TDelta delta) {
+               return pos + delta;
+       }
+
+       template <typename T1, typename T2, typename TCompression, typename TDelta>
+       inline Pair<T1, T2, TCompression>
+       posAdd(Pair<T1, T2, TCompression> const &pos, TDelta delta) {
+               return Pair<T1, T2, TCompression>(getValueI1(pos), getValueI2(pos) + delta);
+       }
+
+       // posSub
+       template <typename TA, typename TB>
+       inline TA posSub(TA a, TB b) {
+               return a - b;
+       }
+
+       template <
+               typename TA1, typename TA2, typename TACompression,
+               typename TB1, typename TB2, typename TBCompression
+       >
+       inline TA2
+       posSub(Pair<TA1, TA2, TACompression> const &a, Pair<TB1, TB2, TBCompression> const &b) {
+               return getValueI2(a) - getValueI2(b);
+       }
+
+       //////////////////////////////////////////////////////////////////////////////
+       // position relations
+       //////////////////////////////////////////////////////////////////////////////
+
+       template <typename TPos>
+       inline bool posLess(TPos const &a, TPos const &b) {
+               return a < b;
+       }
+
+       template <typename T1, typename T2, typename TCompression>
+       inline bool posLess(Pair<T1, T2, TCompression> const &a, Pair<T1, T2, TCompression> const &b) {
+               return
+                        (getValueI1(a) <  getValueI1(b)) ||
+                       ((getValueI1(a) == getValueI1(b)) && (getValueI2(a) < getValueI2(b)));
+       }
+
+       template <typename TPos>
+       inline int posCompare(TPos const &a, TPos const &b) {
+               if (a < b) return -1;
+               if (a > b) return 1;
+               return 0;
+       }
+
+       template <typename T1, typename T2, typename TCompression>
+       inline int posCompare(Pair<T1, T2, TCompression> const &a, Pair<T1, T2, TCompression> const &b) {
+               if (getValueI1(a) < getValueI1(b)) return -1;
+               if (getValueI1(a) > getValueI1(b)) return 1;
+               return posCompare(getValueI2(a), getValueI2(b));
+       }
+
+       //////////////////////////////////////////////////////////////////////////////
+
+       template <typename TPos, typename TString>
+       inline typename Size<TString>::Type
+       suffixLength(TPos pos, TString const &string) {
+               return length(string) - pos;
+       }
+
+       template <typename TPos, typename TString, typename TSpec>
+       inline typename Size<TString>::Type
+       suffixLength(TPos pos, StringSet<TString, TSpec> const &stringSet) {
+               return length(stringSet[getSeqNo(pos, stringSetLimits(stringSet))]) - getSeqOffset(pos, stringSetLimits(stringSet));
+       }
+
+       //////////////////////////////////////////////////////////////////////////////
+
+       template <typename TString>
+       inline unsigned
+       countSequences(TString const &) {
+               return 1;
+       }
+
+       template <typename TString, typename TSpec>
+       inline typename Size<StringSet<TString, TSpec> >::Type
+       countSequences(StringSet<TString, TSpec> const &stringSet) {
+               return length(stringSet);
+       }
+
+       //////////////////////////////////////////////////////////////////////////////
+
+       template <typename TSeqNo, typename TString>
+       inline typename Size<TString>::Type
+       sequenceLength(TSeqNo /*seqNo*/, TString const &string) {
+               return length(string);
+       }
+
+       template <typename TSeqNo, typename TString, typename TSpec>
+       inline typename Size<StringSet<TString, TSpec> >::Type
+       sequenceLength(TSeqNo seqNo, StringSet<TString, TSpec> const &stringSet) {
+               return length(stringSet[seqNo]);
+       }
+
+       //////////////////////////////////////////////////////////////////////////////
+    // StringSet Container
+    //////////////////////////////////////////////////////////////////////////////
+
+/**
+.Class.StringSet:
+..cat:Sequences
+..summary:A container class for a set of strings.
+..signature:StringSet<TString, TSpec>
+..param.TString:The string type.
+...type:Class.String
+..param.TSpec:The specializing type for the StringSet.
+...metafunction:Metafunction.Spec
+...default:$Generous$.
+..include:sequence.h
+*/
+
+       //////////////////////////////////////////////////////////////////////////////
+    // StringSet with individual sequences in a tight string of string pointers and corr. IDs
+       template <typename TString>
+       class StringSet<TString, Dependent<Tight> >
+       {
+               public:
+                       typedef String<TString*>                                                        TStrings;
+                       typedef typename Id<StringSet>::Type                            TIdType;
+                       typedef String<TIdType>                                                         TIds;
+                       typedef typename StringSetLimits<StringSet>::Type       TLimits;
+                       typedef typename Concatenator<StringSet>::Type          TConcatenator;
+       //____________________________________________________________________________
+
+                       TStrings                strings;
+                       TIds                    ids;
+                       TLimits                 limits;
+                       bool                    limitsValid;            // is true if limits contains the cumulative sum of the sequence lengths
+                       TConcatenator   concat;
+       //____________________________________________________________________________
+
+                       StringSet():
+                               limitsValid(true)
+                       {
+                       SEQAN_CHECKPOINT
+                               appendValue(limits, 0);
+                               concat.set = this;
+                       }
+
+                       template <typename TDefault>
+                       StringSet(StringSet<TString, Owner<TDefault> > const& _other) :
+                               limitsValid(true)
+                       {
+                               SEQAN_CHECKPOINT
+                               appendValue(limits, 0);
+                               concat.set = this;
+                               for(unsigned int i = 0; i<length(_other); ++i) appendValue(*this, _other[i]);
+                       }
+
+                       template <typename TPos>
+                       inline typename Reference<StringSet>::Type
+                       operator [] (TPos pos)
+                       {
+               SEQAN_CHECKPOINT
+                               return value(*this, pos);
+                       }
+
+                       template <typename TPos>
+                       inline typename Reference<StringSet const>::Type
+                       operator [] (TPos pos) const
+                       {
+                               return value(*this, pos);
+                       }
+       };
+
+       //////////////////////////////////////////////////////////////////////////////
+    // StringSet with individual sequences in a string of string pointers
+       template <typename TString>
+       class StringSet<TString, Dependent<Generous> >
+       {
+               public:
+                       typedef String<TString*>                                                        TStrings;
+                       typedef typename Size<StringSet>::Type                          TSize;
+                       typedef typename StringSetLimits<StringSet>::Type       TLimits;
+                       typedef typename Concatenator<StringSet>::Type          TConcatenator;
+       //____________________________________________________________________________
+
+                       TStrings                strings;
+                       TLimits                 limits;
+                       bool                    limitsValid;            // is true if limits contains the cumulative sum of the sequence lengths
+                       TConcatenator   concat;
+       //____________________________________________________________________________
+
+                       StringSet():
+                               limitsValid(true)
+                       {
+                       SEQAN_CHECKPOINT
+                               appendValue(limits, 0);
+                               concat.set = this;
+                       }
+
+                       template <typename TDefault>
+                       StringSet(StringSet<TString, Owner<TDefault> > const& _other) :
+                               limitsValid(true)
+                       {
+                               SEQAN_CHECKPOINT
+                               appendValue(limits, 0);
+                               concat.set = this;
+                               for(unsigned int i = 0; i<length(_other); ++i) appendValue(*this, _other[i]);
+                       }
+
+                       template <typename TPos>
+                       inline typename Reference<StringSet>::Type
+                       operator [] (TPos pos)
+                       {
+                               return value(*this, pos);
+                       }
+
+                       template <typename TPos>
+                       inline typename Reference<StringSet const>::Type
+                       operator [] (TPos pos) const
+                       {
+                               return value(*this, pos);
+                       }
+       };
+
+       //////////////////////////////////////////////////////////////////////////////
+    // StringSet with individual sequences in a string of strings
+    template < typename TString >
+    class StringSet< TString, Owner<Default> >
+    {
+       public:
+
+        typedef String<TString>                                                                TStrings;
+               typedef typename StringSetLimits<StringSet>::Type       TLimits;
+               typedef typename Concatenator<StringSet>::Type          TConcatenator;
+//____________________________________________________________________________
+
+               TStrings                strings;
+        TLimits                        limits;
+               bool                    limitsValid;            // is true if limits contains the cumulative sum of the sequence lengths
+               TConcatenator   concat;
+//____________________________________________________________________________
+
+               StringSet():
+                       limitsValid(true)
+               {
+                       appendValue(limits, 0);
+                       concat.set = this;
+               };
+//____________________________________________________________________________
+
+               template <typename TPos>
+               inline typename Reference<StringSet>::Type
+               operator [] (TPos pos)
+               {
+                       return value(*this, pos);
+               }
+
+               template <typename TPos>
+               inline typename Reference<StringSet const>::Type
+               operator [] (TPos pos) const
+               {
+                       return value(*this, pos);
+               }
+       };
+
+
+       //////////////////////////////////////////////////////////////////////////////
+    // StringSet with directly concatenated sequences
+    template < typename TString, typename TDelimiter >
+    class StringSet< TString, Owner<ConcatDirect<TDelimiter> > >
+    {
+       public:
+               typedef typename StringSetLimits<StringSet>::Type       TLimits;
+               typedef typename Concatenator<StringSet>::Type          TConcatenator;
+//____________________________________________________________________________
+
+               TLimits                 limits;
+               TConcatenator   concat;
+//____________________________________________________________________________
+
+               StringSet()     {
+                       appendValue(limits, 0);
+               }
+//____________________________________________________________________________
+
+               template <typename TPos>
+               inline typename Reference<StringSet>::Type
+               operator [] (TPos pos)
+               {
+               SEQAN_CHECKPOINT
+                       return value(*this, pos);
+               }
+
+               template <typename TPos>
+               inline typename Reference<StringSet const>::Type
+               operator [] (TPos pos) const
+               {
+               SEQAN_CHECKPOINT
+                       return value(*this, pos);
+               }
+       };
+
+
+//////////////////////////////////////////////////////////////////////////////
+// meta functions
+
+       template < typename TString, typename TSpec >
+    struct Value< StringSet< TString, TSpec > > {
+        typedef TString Type;
+    };
+
+       template < typename TString, typename TSpec >
+    struct Value< StringSet< TString, TSpec > const> {
+        typedef TString Type;
+    };
+
+       template < typename TString, typename TSpec >
+       struct Size< StringSet< TString, TSpec > >:
+               Size< typename StringSetLimits< StringSet<TString, TSpec> >::Type > {};
+
+       template < typename TString, typename TSpec >
+       struct Prefix< StringSet< TString, TSpec > >:
+               Prefix< TString > {};
+
+       template < typename TString, typename TSpec >
+       struct Prefix< StringSet< TString, TSpec > const >:
+               Prefix< TString const > {};
+
+       template < typename TString, typename TSpec >
+       struct Suffix< StringSet< TString, TSpec > >:
+               Suffix< TString > {};
+
+       template < typename TString, typename TSpec >
+       struct Suffix< StringSet< TString, TSpec > const >:
+               Suffix< TString const > {};
+
+       template < typename TString, typename TSpec >
+       struct Infix< StringSet< TString, TSpec > >:
+               Infix< TString > {};
+
+       template < typename TString, typename TSpec >
+       struct Infix< StringSet< TString, TSpec > const >:
+               Infix< TString const > {};
+
+
+       // direct concatenation
+       template < typename TString, typename TSpec >
+       struct Value< StringSet< TString, Owner<ConcatDirect<TSpec> > > >:
+               Infix<TString> {};
+
+    template < typename TString, typename TSpec >
+       struct GetValue< StringSet< TString, Owner<ConcatDirect<TSpec> > > >:
+               Infix<TString> {};
+
+    template < typename TString, typename TSpec >
+       struct GetValue< StringSet< TString, Owner<ConcatDirect<TSpec> > > const >:
+               Infix<TString const> {};
+
+    template < typename TString, typename TSpec >
+       struct Reference< StringSet< TString, Owner<ConcatDirect<TSpec> > > >:
+               Infix<TString> {};
+
+    template < typename TString, typename TSpec >
+       struct Reference< StringSet< TString, Owner<ConcatDirect<TSpec> > > const >:
+               Infix<TString const> {};
+
+    template <typename TString, typename TSpec>
+       struct AllowsFastRandomAccess< StringSet< TString, TSpec > >:
+               AllowsFastRandomAccess<TString> {};
+
+       template < typename TString, typename TSpec >
+       struct Prefix< StringSet< TString, Owner<ConcatDirect<TSpec> > > >:
+               Infix< TString > {};
+
+       template < typename TString, typename TSpec >
+       struct Prefix< StringSet< TString, Owner<ConcatDirect<TSpec> > > const >:
+               Infix< TString const > {};
+
+       template < typename TString, typename TSpec >
+       struct Suffix< StringSet< TString, Owner<ConcatDirect<TSpec> > > >:
+               Infix< TString > {};
+
+       template < typename TString, typename TSpec >
+       struct Suffix< StringSet< TString, Owner<ConcatDirect<TSpec> > > const >:
+               Infix< TString const > {};
+
+       template < typename TString, typename TSpec >
+       struct Infix< StringSet< TString, Owner<ConcatDirect<TSpec> > > >:
+               Infix< TString > {};
+
+       template < typename TString, typename TSpec >
+       struct Infix< StringSet< TString, Owner<ConcatDirect<TSpec> > > const >:
+               Infix< TString const > {};
+
+
+//////////////////////////////////////////////////////////////////////////////
+// validStringSetLimits
+
+       template < typename T >
+    inline bool _validStringSetLimits(T const &) {
+        return true;
+    }
+
+       template < typename TString, typename TSpec >
+    inline bool _validStringSetLimits(StringSet< TString, TSpec > const &me) {
+        return me.limitsValid;
+    }
+
+       template < typename TString, typename TSpec >
+    inline bool _validStringSetLimits(StringSet< TString, Owner<ConcatDirect<TSpec> > > const &) {
+        return true;
+    }
+
+//////////////////////////////////////////////////////////////////////////////
+// _refreshStringSetLimits
+
+       template < typename T >
+       inline void _refreshStringSetLimits(T &) {}
+
+       template < typename TString, typename TSpec >
+    inline void _refreshStringSetLimits(StringSet< TString, Owner<ConcatDirect<TSpec> > > &) {}
+
+       template < typename TString, typename TSpec >
+    inline void _refreshStringSetLimits(StringSet< TString, TSpec > &me)
+       {
+               typedef StringSet< TString, TSpec >                                     TStringSet;
+               typedef typename StringSetLimits<TStringSet>::Type      TLimits;
+
+               typename Value<TLimits>::Type   sum = 0;
+               typename Size<TStringSet>::Type len = length(me);
+               typename Size<TStringSet>::Type i = 0;
+
+//             SEQAN_ASSERT(length(me.limits) == len + 1);
+//             resize(me.limits, len + 1);
+               for(; i < len; ++i) {
+                       me.limits[i] = sum;
+                       sum += length(me[i]);
+               }
+               me.limits[i] = sum;
+               me.limitsValid = true;
+    }
+
+//////////////////////////////////////////////////////////////////////////////
+// find the i-th non-zero value of a string me
+
+       template < typename TValue, typename TSpec, typename TPos >
+       inline typename Size< String<TValue, TSpec> >::Type
+       _findIthNonZeroValue(String<TValue, TSpec> const &me, TPos i)
+       {
+               typename Iterator< String<TValue, TSpec> const, Standard >::Type it = begin(me, Standard());
+               typename Iterator< String<TValue, TSpec> const, Standard >::Type itEnd = end(me, Standard());
+
+               for(; it != itEnd; ++it)
+                       if (*it) {
+                               if (i) {
+                                       --i;
+                               }
+                               else {
+                                       return position(it, me);
+                               }
+                       }
+               return length(me);
+       }
+
+//////////////////////////////////////////////////////////////////////////////
+// count non-zero values before position i
+
+       template < typename TValue, typename TSpec, typename TPos >
+       inline typename Size< String<TValue, TSpec> >::Type
+       _countNonZeroValues(String<TValue, TSpec> const &me, TPos i)
+       {
+               typename Iterator< String<TValue, TSpec> const, Standard >::Type it = begin(me, Standard());
+               typename Iterator< String<TValue, TSpec> const, Standard >::Type itEnd = begin(me, Standard()) + i;
+               typename Size< String<TValue, TSpec> >::Type counter = 0;
+
+               for(; it != itEnd; ++it)
+                       if (*it) ++counter;
+               return counter;
+       }
+
+//////////////////////////////////////////////////////////////////////////////
+// lengthSum
+
+       template < typename TString >
+    inline typename Size<TString>::Type lengthSum(TString const &me) {
+        return length(me);
+    }
+
+       template < typename TString, typename TSpec >
+    inline typename Size<TString>::Type lengthSum(StringSet< TString, TSpec > const &me) {
+        return back(stringSetLimits(me));
+    }
+
+///.Function.appendValue.param.target.type:Class.StringSet
+//////////////////////////////////////////////////////////////////////////////
+// appendValue
+
+       // Default
+       template < typename TString, typename TString2, typename TExpand >
+    inline void appendValue(
+               StringSet< TString, Owner<Default> > &me,
+               TString2 const &obj,
+               Tag<TExpand> const)
+       {
+        appendValue(me.strings, obj);
+        appendValue(me.limits, lengthSum(me) + length(obj));
+    }
+
+       // ConcatDirect
+       template < typename TString, typename TString2, typename TExpand >
+    inline void appendValue(
+               StringSet< TString, Owner<ConcatDirect<void> > > &me,
+               TString2 const &obj,
+               Tag<TExpand> const)
+       {
+        append(me.concat, obj);
+        appendValue(me.limits, lengthSum(me) + length(obj));
+    }
+
+    template < typename TString, typename TDelimiter, typename TString2, typename TExpand >
+    inline void appendValue(
+               StringSet< TString, Owner<ConcatDirect<TDelimiter> > > &me,
+               TString2 const &obj,
+               Tag<TExpand> const)
+       {
+        append(me.concat, obj);
+        appendValue(me.concat, TDelimiter());
+        appendValue(me.limits, lengthSum(me) + length(obj) + 1);
+    }
+
+       // Generous
+       template < typename TString, typename TExpand >
+       inline void appendValue(
+               StringSet<TString, Dependent<Generous> > &me,
+               TString const &obj,
+               Tag<TExpand> const)
+       {
+               SEQAN_CHECKPOINT
+               appendValue(me.strings, const_cast<TString*>(&obj));
+        appendValue(me.limits, lengthSum(me) + length(obj));
+       }
+
+       // Tight
+       template < typename TString, typename TExpand >
+       inline void appendValue(
+               StringSet<TString, Dependent<Tight> > &me,
+               TString const &obj,
+               Tag<TExpand> const)
+       {
+               SEQAN_CHECKPOINT
+               appendValue(me.strings, const_cast<TString*>(&obj));
+               appendValue(me.ids, length(me.strings) - 1);
+        appendValue(me.limits, lengthSum(me) + length(obj));
+       }
+
+/*
+    inline void append(TString *_objs[], unsigned count) {
+        for(unsigned i = 0; i < count; ++i)
+            add(_objs[i]);
+    }
+*/
+
+///.Function.clear.param.object.type:Class.StringSet
+//////////////////////////////////////////////////////////////////////////////
+// clear
+
+       template < typename TString >
+    inline void        clear(StringSet< TString, Owner<Default> > &me)
+       {
+       SEQAN_CHECKPOINT
+               clear(me.strings);
+               resize(me.limits, 1);
+               me.limitsValid = true;
+    }
+
+    template < typename TString, typename TDelimiter >
+    inline void        clear(StringSet< TString, Owner<ConcatDirect<TDelimiter> > > &me)
+       {
+       SEQAN_CHECKPOINT
+               clear(me.concat);
+               resize(me.limits, 1);
+    }
+
+    template < typename TString >
+       inline void     clear(StringSet< TString, Dependent<Generous> > & me)
+       {
+       SEQAN_CHECKPOINT
+               clear(me.strings);
+               resize(me.limits, 1);
+               me.limitsValid = true;
+       }
+
+    template < typename TString >
+       inline void     clear(StringSet<TString, Dependent<Tight> >& me)
+       {
+       SEQAN_CHECKPOINT
+               clear(me.strings);
+               resize(me.limits, 1);
+               me.limitsValid = true;
+
+               clear(me.ids);
+       }
+
+///.Function.length.param.object.type:Class.StringSet
+//////////////////////////////////////////////////////////////////////////////
+// length
+
+    template < typename TString, typename TSpec >
+    inline typename Size< StringSet< TString, TSpec > >::Type
+       length(StringSet< TString, TSpec > const &me) {
+        return length(me.limits) - 1;
+    }
+
+       template <typename TString>
+       inline typename Size<StringSet<TString, Dependent<Tight> > >::Type
+       length(StringSet<TString, Dependent<Tight> > const &me)
+       {
+               return length(me.strings);
+       }
+
+///.Function.resize.param.object.type:Class.StringSet
+//////////////////////////////////////////////////////////////////////////////
+// resize
+
+       template < typename TString, typename TSpec, typename TSize >
+    inline typename Size< StringSet< TString, TSpec > >::Type
+       resize(StringSet< TString, TSpec > &me, TSize new_size) {
+               resize(me.limits, new_size + 1);
+               me.limitsValid = (new_size == 0);
+               return resize(me.strings, new_size);
+    }
+
+       template < typename TString, typename TSpec, typename TSize >
+    inline typename Size< StringSet< TString, Owner<ConcatDirect<TSpec> > > >::Type
+       resize(StringSet< TString, Owner<ConcatDirect<TSpec> > > &me, TSize new_size) {
+               return resize(me.limits, new_size + 1) - 1;
+    }
+
+///.Function.value.param.object.type:Class.StringSet
+//////////////////////////////////////////////////////////////////////////////
+// value
+
+       // Default
+       template < typename TString, typename TPos >
+       inline typename Reference< StringSet< TString, Owner<Default> > >::Type
+       value(StringSet< TString, Owner<Default> > & me, TPos pos)
+       {
+               return me.strings[pos];
+       }
+
+       template < typename TString, typename TPos >
+       inline typename Reference< StringSet< TString, Owner<Default> > const >::Type
+       value(StringSet< TString, Owner<Default> > const & me, TPos pos)
+       {
+               return me.strings[pos];
+       }
+
+       // ConcatDirect
+       template < typename TString, typename TSpec, typename TPos >
+       inline typename Infix<TString>::Type
+       value(StringSet< TString, Owner<ConcatDirect<TSpec> > > & me, TPos pos)
+       {
+               return infix(me.concat, me.limits[pos], me.limits[pos + 1]);
+       }
+
+       template < typename TString, typename TSpec, typename TPos >
+       inline typename Infix<TString const>::Type
+       value(StringSet< TString, Owner<ConcatDirect<TSpec> > > const & me, TPos pos)
+       {
+               return infix(me.concat, me.limits[pos], me.limits[pos + 1]);
+       }
+
+       // Tight
+       template < typename TString, typename TPos >
+       inline typename Reference<StringSet< TString, Dependent<Tight> > >::Type
+       value(StringSet< TString, Dependent<Tight> >& me, TPos pos)
+       {
+       SEQAN_CHECKPOINT
+               if (me.strings[pos])
+                       return *me.strings[pos];
+               static TString tmp = "";
+               return tmp;
+       }
+
+       template < typename TString, typename TPos >
+       inline typename Reference<StringSet< TString, Dependent<Tight> > const >::Type
+       value(StringSet< TString, Dependent<Tight> >const & me, TPos pos)
+       {
+               if (me.strings[pos])
+                       return *me.strings[pos];
+               static TString tmp = "";
+               return tmp;
+       }
+
+       // Generous
+       template < typename TString, typename TPos >
+       inline typename Reference<StringSet< TString, Dependent<Generous> > >::Type
+       value(StringSet< TString, Dependent<Generous> >& me, TPos pos)
+       {
+       SEQAN_CHECKPOINT
+               unsigned i = _findIthNonZeroValue(me.strings, pos);
+               if (i < length(me.strings))
+                       return *me.strings[i];
+               static TString tmp = "";
+               return tmp;
+       }
+
+       template < typename TString, typename TPos >
+       inline typename Reference< StringSet< TString, Dependent<Generous> > const >::Type
+       value(StringSet< TString, Dependent<Generous> > const & me, TPos pos)
+       {
+       SEQAN_CHECKPOINT
+               unsigned i = _findIthNonZeroValue(me.strings, pos);
+               if (i < length(me.strings))
+                       return *me.strings[i];
+               static TString tmp = "";
+               return tmp;
+       }
+
+//////////////////////////////////////////////////////////////////////////////
+// getValueById
+
+/**
+.Function.getValueById:
+..cat:Sequences
+..summary:Retrieves a string from the StringSet given an id.
+..signature:getValueById(me, id)
+..param.me:A StringSet.
+...type:Class.StringSet
+..param.id:An id.
+...type:Metafunction.Id
+..returns:A reference to a string.
+..see:Function.assignValueById
+..see:Function.valueById
+*/
+
+       template <typename TString, typename TSpec, typename TId>
+       inline typename Reference<StringSet<TString, Owner<TSpec> > >::Type
+       getValueById(StringSet<TString, Owner<TSpec> >& me,
+                               TId const id)
+       {
+       SEQAN_CHECKPOINT
+               if (id < (TId) length(me)) return value(me, id);
+               static TString tmp = "";
+               return tmp;
+       }
+
+       template <typename TString, typename TId>
+       inline typename Reference<StringSet<TString, Dependent<Generous> > >::Type
+       getValueById(StringSet<TString, Dependent<Generous> >& me,
+                               TId const id)
+       {
+       SEQAN_CHECKPOINT
+               if (me.strings[id])
+                       return *me.strings[id];
+               static TString tmp = "";
+               return tmp;
+       }
+
+       template <typename TString, typename TId>
+       inline typename Reference<StringSet<TString, Dependent<Tight> > >::Type
+       getValueById(StringSet<TString, Dependent<Tight> >&me,
+                               TId const id)
+       {
+       SEQAN_CHECKPOINT
+               for(unsigned i = 0; i < length(me.strings); ++i)
+                       if ((TId) me.ids[i] == id)
+                               return value(me, i);
+               static TString tmp = "";
+               return tmp;
+       }
+
+
+//////////////////////////////////////////////////////////////////////////////
+// valueById
+
+/**
+.Function.valueById:
+..cat:Sequences
+..summary:Retrieves a string from the StringSet given an id.
+..signature:valueById(me, id)
+..param.me:A StringSet.
+...type:Class.StringSet
+..param.id:An id.
+...type:Metafunction.Id
+..returns:A reference to a string.
+..see:Function.assignValueById
+..see:Function.getValueById
+*/
+
+       template<typename TString, typename TSpec, typename TId>
+       inline typename Reference<StringSet<TString, TSpec> >::Type
+       valueById(StringSet<TString, TSpec>& me,
+                       TId const id)
+       {
+       SEQAN_CHECKPOINT
+               return getValueById(me, id);
+       }
+
+
+//////////////////////////////////////////////////////////////////////////////
+// assignValueById
+
+/**
+.Function.assignValueById:
+..cat:Sequences
+..summary:Adds a new string to the StringSet and returns an id.
+..signature:assignValueById(dest, str, [id])
+..signature:assignValueById(dest, source, id)
+..param.dest:A StringSet.
+...type:Class.StringSet
+..param.source:A StringSet.
+...type:Class.StringSet
+..param.str:A new string.
+...type:Metafunction.Value
+..param.id:An associated id.
+...type:Metafunction.Id
+..returns:A new id
+...type:Metafunction.Id
+..see:Function.getValueById
+..see:Function.valueById
+*/
+
+       template<typename TString, typename TSpec, typename TString2>
+       inline typename Id<StringSet<TString, TSpec> >::Type
+       assignValueById(StringSet<TString, TSpec>& me,
+                                       TString2& obj)
+       {
+       SEQAN_CHECKPOINT
+               appendValue(me, obj);
+               SEQAN_ASSERT(length(me.limits) == length(me) + 1);
+               return length(me.strings) - 1;
+       }
+
+       template <typename TString, typename TSpec, typename TId>
+       inline typename Id<StringSet<TString, Owner<TSpec> > >::Type
+       assignValueById(StringSet<TString, Owner<TSpec> >& me,
+                                       TString& obj,
+                                       TId id)
+       {
+       SEQAN_CHECKPOINT
+               if (id >= (TId) length(me.strings)) {
+                       fill(me.strings, id+1, TString());
+                       resize(me.limits, length(me.limits) + 1);
+               }
+               assignValue(me, id, obj);
+               me.limitsValid = false;
+               return id;
+       }
+
+       template<typename TString, typename TId>
+       inline typename Id<StringSet<TString, Dependent<Generous> > >::Type
+       assignValueById(StringSet<TString, Dependent<Generous> >& me,
+                                       TString& obj,
+                                       TId id)
+       {
+       SEQAN_CHECKPOINT
+               SEQAN_ASSERT(length(me.limits) == length(me) + 1);
+               if (id >= (TId) length(me.strings)) fill(me.strings, id+1, (TString*) 0);
+               if ((TString*) me.strings[id] == (TString*) 0)
+                       resize(me.limits, length(me.limits) + 1);
+               me.strings[id] = &obj;
+               me.limitsValid = false;
+               SEQAN_ASSERT(length(me.limits) == length(me) + 1);
+               return id;
+       }
+
+       //////////////////////////////////////////////////////////////////////////////
+
+       template<typename TString, typename TId>
+       inline typename Id<StringSet<TString, Dependent<Tight> > >::Type
+       assignValueById(StringSet<TString, Dependent<Tight> >& me,
+                                       TString& obj,
+                                       TId id)
+       {
+       SEQAN_CHECKPOINT
+               typedef StringSet<TString, Dependent<Tight> > TStringSet;
+               typedef typename Size<TStringSet>::Type TSize;
+
+               for(TSize i = 0; i < length(me.ids); ++i)
+                       if ((TId) me.ids[i] == id) {
+                               me.strings[i] = &obj;
+                               me.limitsValid = false;
+                               return id;
+                       }
+               appendValue(me.strings, &obj);
+               appendValue(me.ids, id);
+               return id;
+       }
+
+       template<typename TString, typename TSpec1, typename TSpec2, typename TId>
+       inline typename Id<StringSet<TString, TSpec1> >::Type
+       assignValueById(StringSet<TString, TSpec1>& dest,
+                                       StringSet<TString, TSpec2>& source,
+                                       TId id)
+       {
+       SEQAN_CHECKPOINT
+               return assignValueById(dest, getValueById(source, id), id);
+       }
+
+//////////////////////////////////////////////////////////////////////////////
+// removeValueById
+
+/**
+.Function.removeValueById:
+..cat:Sequences
+..summary:Removes a string from the StringSet given an id.
+..signature:removeValueById(me, id)
+..param.me:A StringSet.
+...type:Class.StringSet
+..param.id:An id.
+...type:Metafunction.Id
+..returns:void
+..see:Function.assignValueById
+*/
+
+       template<typename TString, typename TSpec, typename TId>
+       inline void
+       removeValueById(StringSet<TString, Owner<TSpec> >& me, TId const id)
+       {
+       SEQAN_CHECKPOINT
+               erase(me.strings, id);
+               resize(me.limits, length(me.limits) - 1);
+               me.limitsValid = empty(me);
+       }
+
+       template<typename TString, typename TId>
+       inline void
+       removeValueById(StringSet<TString, Dependent<Generous> >& me, TId const id)
+       {
+       SEQAN_CHECKPOINT
+               if (me.strings[id] != (TString*) 0) {
+                       resize(me.limits, length(me.limits) - 1);
+                       me.limitsValid = empty(me);
+               }
+               me.strings[id] = 0;
+               while (!empty(me.strings) && !me.strings[length(me.strings) - 1])
+                       resize(me.strings, length(me.strings) - 1);
+       }
+
+       template<typename TString, typename TId>
+       inline void
+       removeValueById(StringSet<TString, Dependent<Tight> >& me, TId const id)
+       {
+       SEQAN_CHECKPOINT
+               typedef StringSet<TString, Dependent<Tight> > TStringSet;
+               typedef typename Size<TStringSet>::Type TSize;
+
+               SEQAN_ASSERT(length(me.limits) == length(me) + 1);
+               for(TSize i = 0; i < length(me.strings); ++i)
+                       if (me.ids[i] == id) {
+                               erase(me.strings, i);
+                               erase(me.ids, i);
+                               resize(me.limits, length(me.limits) - 1);
+                               me.limitsValid = empty(me);
+                       }
+               SEQAN_ASSERT(length(me.limits) == length(me) + 1);
+       }
+
+//////////////////////////////////////////////////////////////////////////////
+//
+
+/**
+.Function.positionToId:
+..cat:Sequences
+..summary:Retrieves the id of a string in the StringSet given a position.
+..signature:positionToId(string_set, pos)
+..param.string_set:A StringSet.
+...type:Class.StringSet
+..param.pos:A position that is transfored into an id.
+..returns:An id that corresponds to $pos$ within $string_set$
+..see:Function.assignValueById
+..see:Function.valueById
+*/
+
+       template <typename TString, typename TSpec, typename TPos>
+       inline typename Id<StringSet<TString, Owner<TSpec> > >::Type
+       positionToId(StringSet<TString, Owner<TSpec> >&,
+                               TPos const pos)
+       {
+       SEQAN_CHECKPOINT
+               return pos;
+       }
+
+       template <typename TString, typename TPos>
+       inline typename Id<StringSet<TString, Dependent<Generous> > >::Type
+       positionToId(StringSet<TString, Dependent<Generous> >& me,
+                       TPos const pos)
+       {
+       SEQAN_CHECKPOINT
+               return _findIthNonZeroValue(me.strings,pos);
+       }
+
+       template <typename TString, typename TPos>
+       inline typename Id<StringSet<TString, Dependent<Generous> > >::Type
+       positionToId(StringSet<TString, Dependent<Generous> > const& me,
+                               TPos const pos)
+       {
+       SEQAN_CHECKPOINT
+               return _findIthNonZeroValue(me.strings,pos);
+       }
+
+       template <typename TString, typename TPos>
+       inline typename Id<StringSet<TString, Dependent<Tight> > >::Type
+       positionToId(StringSet<TString, Dependent<Tight> >&me,
+                               TPos const pos)
+       {
+       SEQAN_CHECKPOINT
+               return me.ids[pos];
+       }
+
+       template <typename TString, typename TPos>
+       inline typename Id<StringSet<TString, Dependent<Tight> > >::Type
+       positionToId(StringSet<TString, Dependent<Tight> > const&me,
+                               TPos const pos)
+       {
+       SEQAN_CHECKPOINT
+               return me.ids[pos];
+       }
+
+
+/**
+.Function.idToPosition:
+..cat:Sequences
+..summary:Retrieves the position of a string in the StringSet given an id.
+..signature:idToPosition(me, id)
+..param.me:A StringSet.
+...type:Class.StringSet
+..param.id:An id.
+...type:Metafunction.Id
+..returns:A reference to a string.
+..see:Function.assignValueById
+..see:Function.valueById
+*/
+
+       template <typename TString, typename TSpec, typename TId>
+       inline typename Id<StringSet<TString, Owner<TSpec> > >::Type
+       idToPosition(StringSet<TString, Owner<TSpec> >&,
+                               TId const id)
+       {
+       SEQAN_CHECKPOINT
+               return id;
+       }
+
+       template <typename TString, typename TId>
+       inline typename Id<StringSet<TString, Dependent<Generous> > >::Type
+       idToPosition(StringSet<TString, Dependent<Generous> >& me,
+                               TId const id)
+       {
+       SEQAN_CHECKPOINT
+               return _countNonZeroValues(me.strings,id);
+       }
+
+       template <typename TString, typename TId>
+       inline typename Id<StringSet<TString, Dependent<Tight> > >::Type
+       idToPosition(StringSet<TString, Dependent<Tight> >&me,
+                               TId const id)
+       {
+       SEQAN_CHECKPOINT
+               for(unsigned i = 0; i < length(me.ids); ++i)
+                       if ((TId) me.ids[i] == id)
+                               return i;
+               return 0;
+       }
+
+
+
+
+//////////////////////////////////////////////////////////////////////////////
+// subset
+
+/**
+.Function.subset:
+..cat:Sequences
+..summary:Creates a subset of a given StringSet.
+..signature:subset(source, dest, id_array [, len])
+..param.source:In-parameter:The source StringSet.
+...type:Class.StringSet
+..param.dest:Out-parameter:The destination StringSet (the subset).
+...type:Class.StringSet
+..param.id_array:In-parameter:An array of ids. Each id corresponds to a sequence that is supposed to be in the subset.
+..param.len:In-parameter:Optional length of the id array.
+...remarks:If len is not defined the length function must be valid for this array or string type.
+..returns:void
+*/
+
+       template <typename TString, typename TSpec, typename TDestSpec, typename TIds, typename TLength>
+       inline void
+       subset(StringSet<TString, Owner<TSpec> >& source,
+               StringSet<TString, TDestSpec>& dest,
+               TIds ids,
+               TLength len)
+       {
+       SEQAN_CHECKPOINT
+       }
+
+       template <typename TString, typename TIds, typename TLength>
+       inline void
+       subset(StringSet<TString, Dependent<Generous> >& source,
+               StringSet<TString, Dependent<Generous> >& dest,
+               TIds ids,
+               TLength len)
+       {
+       SEQAN_CHECKPOINT
+               typedef StringSet<TString, Dependent<Generous> > TStringSet;
+               typedef typename Id<TStringSet>::Type TId;
+               typedef typename Size<TStringSet>::Type TSize;
+
+               clear(dest);
+               resize(dest.limits, len + 1);
+               dest.limitsValid = (len == 0);
+               fill(dest.strings, length(source.strings), (TString*) 0);
+               for(TSize i = 0; i < len; ++i)
+                       dest.strings[ids[i]] = source.strings[ids[i]];
+       }
+
+       template <typename TString, typename TIds, typename TLength>
+       inline void
+       subset(StringSet<TString, Dependent<Tight> >& source,
+               StringSet<TString, Dependent<Tight> >& dest,
+               TIds ids,
+               TLength len)
+       {
+       SEQAN_CHECKPOINT
+               typedef StringSet<TString, Dependent<Tight> > TStringSet;
+               typedef typename Id<TStringSet>::Type TId;
+               typedef typename Size<TStringSet>::Type TSize;
+
+               clear(dest);
+               resize(dest.limits, len + 1);
+               dest.limitsValid = (len == 0);
+               TLength upperBound = length(source.ids);
+               for(TSize i=0;i<len;++i) {
+                       TId id = ids[i];
+                       if ((upperBound > id) &&
+                               (source.ids[id] == id)) {
+                                       appendValue(dest.strings, source.strings[id]);
+                                       appendValue(dest.ids, id);
+                       } else {
+                               typedef String<TId> TIdString;
+                               typedef typename Iterator<TIdString, Rooted>::Type TIter;
+                               TIter it = begin(source.ids);
+                               for(;!atEnd(it);goNext(it)) {
+                                       if (*it == id) {
+                                               appendValue(dest.strings, source.strings[position(it)]);
+                                               appendValue(dest.ids, id);
+                                       }
+                               }
+                       }
+               }
+       }
+
+       template <typename TString, typename TSpec, typename TIds>
+       inline void
+       subset(StringSet<TString, TSpec>& source,
+               StringSet<TString, TSpec>& dest,
+               TIds ids)
+       {
+       SEQAN_CHECKPOINT
+               subset(source, dest, ids, length(ids));
+       }
+
+//////////////////////////////////////////////////////////////////////////////
+
+
+
+
+       //////////////////////////////////////////////////////////////////////////////
+       // ConcatenatorNto1 - a StringSet to String converter
+       //////////////////////////////////////////////////////////////////////////////
+
+    template <typename TStringSet>
+       struct ConcatenatorNto1 {
+               TStringSet *set;
+               ConcatenatorNto1 () {}
+               ConcatenatorNto1 (TStringSet &_set): set(&_set) {}
+
+//____________________________________________________________________________
+// WARNING:
+// operator[] conducts a binary search and should be avoided
+// you better use StringSet<.., Owner<ConcatDirect<..> > > for random access
+// or ConcatenatorNto1's iterators for sequential access
+
+               template <typename TPos>
+               inline typename Reference<ConcatenatorNto1>::Type
+               operator [] (TPos pos)
+               {
+       SEQAN_CHECKPOINT
+                       return value(*this, pos);
+               }
+
+               template <typename TPos>
+               inline typename Reference<ConcatenatorNto1 const>::Type
+               operator [] (TPos pos) const
+               {
+       SEQAN_CHECKPOINT
+                       return value(*this, pos);
+               }
+       };
+//____________________________________________________________________________
+
+    template <typename TStringSet>
+       struct Value< ConcatenatorNto1<TStringSet> > {
+               typedef typename Value< typename Value<TStringSet>::Type >::Type Type;
+       };
+
+    template <typename TStringSet>
+       struct Value< ConcatenatorNto1<TStringSet> const >:
+               Value< ConcatenatorNto1<TStringSet> > {};
+//____________________________________________________________________________
+
+    template <typename TStringSet>
+    struct Size< ConcatenatorNto1<TStringSet> > {
+               typedef typename Size< typename Value<TStringSet>::Type >::Type Type;
+    };
+//____________________________________________________________________________
+
+    template <typename TStringSet>
+       struct AllowsFastRandomAccess< ConcatenatorNto1<TStringSet> >
+       {
+               typedef False Type;
+               enum { VALUE = false };
+       };
+
+//////////////////////////////////////////////////////////////////////////////
+// value
+
+       template < typename TStringSet, typename TPos >
+       inline typename Reference< ConcatenatorNto1<TStringSet> >::Type
+       value(ConcatenatorNto1<TStringSet> &me, TPos globalPos)
+       {
+               Pair<unsigned, typename Size< typename Value<TStringSet>::Type >::Type> localPos;
+               posLocalize(localPos, globalPos, stringSetLimits(*me.set));
+        return value(value(*me.set, getValueI1(localPos)), getValueI2(localPos));
+       }
+
+       template < typename TStringSet, typename TPos >
+       inline typename Reference< ConcatenatorNto1<TStringSet> const >::Type
+       value(ConcatenatorNto1<TStringSet> const &me, TPos globalPos)
+       {
+               typedef typename Value<TStringSet>::Type TString;
+               Pair<unsigned, typename Size<TString>::Type> localPos;
+               posLocalize(localPos, globalPos, stringSetLimits(*me.set));
+        return value(value(*(TStringSet const*)me.set, getValueI1(localPos)), getValueI2(localPos));
+       }
+
+//////////////////////////////////////////////////////////////////////////////
+// length
+
+       template < typename TStringSet >
+    inline typename Size< ConcatenatorNto1<TStringSet> >::Type
+       length(ConcatenatorNto1<TStringSet> const &me) {
+        return lengthSum(*me.set);
+    }
+
+//////////////////////////////////////////////////////////////////////////////
+// begin
+
+       template < typename TStringSet, typename TSpec >
+       inline typename Iterator< ConcatenatorNto1<TStringSet const>, Tag<TSpec> const >::Type
+       begin(ConcatenatorNto1<TStringSet const> concat, Tag<TSpec> const)
+       {
+               return typename Iterator< ConcatenatorNto1<TStringSet const>, Tag<TSpec> const >::Type (*concat.set);
+       }
+
+       template < typename TStringSet, typename TSpec >
+       inline typename Iterator< ConcatenatorNto1<TStringSet>, Tag<TSpec> const >::Type
+       begin(ConcatenatorNto1<TStringSet> concat, Tag<TSpec> const)
+       {
+               return typename Iterator< ConcatenatorNto1<TStringSet>, Tag<TSpec> const >::Type (*concat.set);
+       }
+
+//////////////////////////////////////////////////////////////////////////////
+// end
+
+       template < typename TStringSet, typename TSpec >
+       inline typename Iterator< ConcatenatorNto1<TStringSet const>, Tag<TSpec> const >::Type
+       end(ConcatenatorNto1<TStringSet const> concat, Tag<TSpec> const)
+       {
+               return typename Iterator< ConcatenatorNto1<TStringSet>, Tag<TSpec> const >::Type
+                       (*concat.set, length(*concat.set), 0);
+       }
+
+       template < typename TStringSet, typename TSpec >
+       inline typename Iterator< ConcatenatorNto1<TStringSet>, Tag<TSpec> const >::Type
+       end(ConcatenatorNto1<TStringSet> concat, Tag<TSpec> const)
+       {
+               return typename Iterator< ConcatenatorNto1<TStringSet>, Tag<TSpec> const >::Type
+                       (*concat.set, length(*concat.set), 0);
+       }
+
+//////////////////////////////////////////////////////////////////////////////
+// Concatenator metafunction
+
+       template < typename TString, typename TSpec >
+       struct Concatenator< StringSet<TString, TSpec> > {
+               typedef ConcatenatorNto1< StringSet<TString, TSpec> > Type;
+       };
+
+       template < typename TString, typename TSpec >
+       struct Concatenator< StringSet<TString, Owner<ConcatDirect<TSpec> > > > {
+               typedef TString Type;
+       };
+
+//////////////////////////////////////////////////////////////////////////////
+// concat
+
+       template <typename TString>
+       inline typename Concatenator<TString>::Type &
+       concat(TString &string) {
+               return string;
+       }
+
+       template <typename TString, typename TSpec>
+       inline typename Concatenator< StringSet<TString, TSpec> >::Type &
+       concat(StringSet<TString, TSpec> &set) {
+               return set.concat;
+       }
+
+       template <typename TString, typename TSpec>
+       inline typename Concatenator< StringSet<TString, TSpec> const>::Type &
+       concat(StringSet<TString, TSpec> const &set) {
+               return set.concat;
+       }
+
+
+       //////////////////////////////////////////////////////////////////////////////
+       // This iterator sequentially iterates through the elements of TStringSet
+       // as if they were directly concatenated (compare StringSet<.., Owner<ConcatDirect<> > >
+    //////////////////////////////////////////////////////////////////////////////
+
+       template < typename TDelimiter = void >
+       struct ConcatVirtual;
+
+    template < typename TStringSet, typename TSpec >
+       class Iter< TStringSet, ConcatVirtual<TSpec> >
+       {
+       public:
+               typedef typename Value<TStringSet>::Type                TString;
+               typedef typename Value<TString>::Type                   TValue;
+        typedef typename Size<TString>::Type                   TSize;
+//____________________________________________________________________________
+
+       public:
+        typedef typename Iterator<TString, Standard>::Type                     obj_iterator;
+        typedef typename Iterator<TString const, Standard>::Type       const_obj_iterator;
+
+               //////////////////////////////////////////////////////////////////////////////
+               // STL compatible public iterator interface
+
+        typedef Iter                                                           iterator;
+               typedef ::std::bidirectional_iterator_tag       iterator_category;
+        typedef TValue                                                         value_type;
+               typedef TValue &                                                        reference;
+               typedef TValue const &                                          const_reference;
+               typedef TValue*                                                         pointer;
+               typedef TSize                                                           size_type;
+               typedef typename Difference<TString>::Type      difference_type;
+//____________________________________________________________________________
+
+               TStringSet              *host;
+        unsigned               objNo;
+        obj_iterator   _begin, _cur, _end;
+//____________________________________________________________________________
+
+               inline Iter() {}
+
+        inline Iter(TStringSet &_host):
+            host(&_host)
+        {
+            objNo = 0;
+            _begin = _cur = begin(_host[objNo]);
+            _end = end(_host[objNo]);
+            _testEnd();
+        }
+
+        inline Iter(TStringSet &_host, unsigned _objNo, difference_type _offset):
+            host(&_host)
+        {
+            if (_objNo < length(_host)) {
+                   objNo = _objNo;
+                               _begin = _cur = begin(_host[objNo]);
+                               _end = end(_host[objNo]);
+                goFurther(_cur, _offset);
+                _testEnd();
+            } else {
+                               objNo = length(_host) - 1;
+                               _begin = _cur = _end = end(_host[objNo]);
+            }
+        }
+
+        inline operator obj_iterator() {
+            return _cur;
+        }
+//____________________________________________________________________________
+
+               inline bool _atEndOfSequence() {
+                       if (_cur == _begin && objNo > 0) return true;
+                       if (_cur == _end) return true;
+                       return false;
+               }
+
+               inline void _testBegin() {
+            while (_cur == _begin && objNo > 0) {
+                --objNo;
+                               _begin = host->_begin(objNo);
+                               _end = _cur = host->_end(objNo);
+            }
+        }
+
+        inline void _testEnd() {
+                       while (_cur == _end && objNo < (length(*host) - 1)) {
+                               ++objNo;
+                               _begin = _cur = begin((*host)[objNo]);
+                               _end = end((*host)[objNo]);
+            };
+        }
+
+        inline TSize _tell() const {
+                       typedef Pair<unsigned, TSize> TPair;
+                       return posGlobalize(TPair(objNo, difference(_begin, _cur)), stringSetLimits(*host));
+        }
+    };
+
+       //////////////////////////////////////////////////////////////////////////////
+       // ConcatenatorNto1 meta functions
+       //////////////////////////////////////////////////////////////////////////////
+//____________________________________________________________________________
+// default concatenator iterators
+
+    template <typename TString, typename TSpec >
+    struct Iterator< ConcatenatorNto1< StringSet<TString, TSpec> >, Standard > {
+        typedef Iter<StringSet<TString, TSpec>, ConcatVirtual<> > Type;
+    };
+
+    template <typename TString, typename TSpec >
+    struct Iterator< ConcatenatorNto1< StringSet<TString, TSpec> const >, Standard > {
+        typedef Iter<StringSet<TString, TSpec> const, ConcatVirtual<> > Type;
+    };
+
+    template <typename TString, typename TSpec >
+    struct Iterator< ConcatenatorNto1< StringSet<TString, TSpec> >, Rooted > {
+        typedef Iter<StringSet<TString, TSpec>, ConcatVirtual<> > Type;
+    };
+
+    template <typename TString, typename TSpec >
+    struct Iterator< ConcatenatorNto1< StringSet<TString, TSpec> const >, Rooted > {
+        typedef Iter<StringSet<TString, TSpec> const, ConcatVirtual<> > Type;
+    };
+//____________________________________________________________________________
+
+       template <typename TStringSet >
+    struct Iterator< ConcatenatorNto1<TStringSet> const, Standard > {
+               typedef typename Iterator< ConcatenatorNto1<TStringSet>, Standard >::Type Type;
+    };
+
+    template <typename TStringSet >
+    struct Iterator< ConcatenatorNto1<TStringSet> const, Rooted > {
+               typedef typename Iterator< ConcatenatorNto1<TStringSet>, Rooted >::Type Type;
+    };
+
+       //////////////////////////////////////////////////////////////////////////////
+       // meta functions
+       //////////////////////////////////////////////////////////////////////////////
+
+       template <typename TStringSet, typename TSpec>
+       struct Value< Iter< TStringSet, ConcatVirtual<TSpec> > >:
+               Value< typename Value<TStringSet>::Type > {};
+
+       template <typename TStringSet, typename TSpec>
+       struct Value< Iter< TStringSet, ConcatVirtual<TSpec> > const >:
+               Value< typename Value<TStringSet>::Type > {};
+
+       template <typename TStringSet, typename TSpec>
+       struct GetValue< Iter< TStringSet, ConcatVirtual<TSpec> > >:
+               GetValue< typename Value<TStringSet>::Type > {};
+
+       template <typename TStringSet, typename TSpec>
+       struct GetValue< Iter< TStringSet, ConcatVirtual<TSpec> > const >:
+               GetValue< typename Value<TStringSet>::Type > {};
+
+       template <typename TStringSet, typename TSpec>
+       struct Size< Iter< TStringSet, ConcatVirtual<TSpec> > >:
+               Size< typename Value<TStringSet>::Type > {};
+
+       template <typename TStringSet, typename TSpec>
+       struct Reference< Iter< TStringSet, ConcatVirtual<TSpec> > >:
+               Reference< typename Value<TStringSet>::Type > {};
+
+       template <typename TStringSet, typename TSpec>
+       struct Reference< Iter< TStringSet, ConcatVirtual<TSpec> > const >:
+               Reference< typename Value<TStringSet>::Type > {};
+
+
+       //////////////////////////////////////////////////////////////////////////////
+       // operator *
+       //////////////////////////////////////////////////////////////////////////////
+
+       template <typename TStringSet, typename TSpec>
+       inline typename Reference< Iter< TStringSet, ConcatVirtual<TSpec> > const>::Type
+       value(Iter<TStringSet, ConcatVirtual<TSpec> > const & me) {
+        return *me._cur;
+    }
+
+       template <typename TStringSet, typename TSpec>
+       inline typename Reference< Iter< TStringSet, ConcatVirtual<TSpec> > >::Type
+       value(Iter<TStringSet, ConcatVirtual<TSpec> > & me) {
+        return *me._cur;
+    }
+
+       template <typename TStringSet, typename TSpec>
+       inline typename Reference< Iter< TStringSet, ConcatVirtual<TSpec> > const>::Type
+       operator * (Iter<TStringSet, ConcatVirtual<TSpec> > const & me) {
+        return *me._cur;
+    }
+
+       template <typename TStringSet, typename TSpec>
+       inline typename Reference< Iter< TStringSet, ConcatVirtual<TSpec> > >::Type
+       operator * (Iter<TStringSet, ConcatVirtual<TSpec> > & me) {
+        return *me._cur;
+    }
+
+       //////////////////////////////////////////////////////////////////////////////
+       // operator ++
+       //////////////////////////////////////////////////////////////////////////////
+
+       template <typename TStringSet, typename TSpec>
+       inline void
+       goNext(Iter<TStringSet, ConcatVirtual<TSpec> > & me) {
+        ++me._cur;
+        me._testEnd();
+    }
+
+       template <typename TStringSet, typename TSpec>
+       inline Iter<TStringSet, ConcatVirtual<TSpec> > const &
+       operator ++ (Iter<TStringSet, ConcatVirtual<TSpec> > & me) {
+        goNext(me);
+               return me;
+    }
+
+       template <typename TStringSet, typename TSpec>
+       inline Iter<TStringSet, ConcatVirtual<TSpec> > const &
+       operator ++ (Iter<TStringSet, ConcatVirtual<TSpec> > & me, int) {
+               Iter<TStringSet, ConcatVirtual<TSpec> > before = me;
+        goNext(me);
+               return before;
+       }
+
+       //////////////////////////////////////////////////////////////////////////////
+       // operator --
+       //////////////////////////////////////////////////////////////////////////////
+
+       template <typename TStringSet, typename TSpec>
+       inline void
+       goPrevious(Iter<TStringSet, ConcatVirtual<TSpec> > & me) {
+        me._testBegin();
+        --me._cur;
+    }
+
+       template <typename TStringSet, typename TSpec>
+       inline Iter<TStringSet, ConcatVirtual<TSpec> > const &
+       operator -- (Iter<TStringSet, ConcatVirtual<TSpec> > & me) {
+        goPrevious(me);
+               return me;
+    }
+
+       template <typename TStringSet, typename TSpec>
+       inline Iter<TStringSet, ConcatVirtual<TSpec> > const &
+       operator -- (Iter<TStringSet, ConcatVirtual<TSpec> > & me, int) {
+               Iter<TStringSet, ConcatVirtual<TSpec> > before = me;
+        goPrevious(me);
+               return before;
+       }
+
+       //////////////////////////////////////////////////////////////////////////////
+       // operator +
+       //////////////////////////////////////////////////////////////////////////////
+
+       template <typename TStringSet, typename TSpec, typename TDelta>
+       inline Iter<TStringSet, ConcatVirtual<TSpec> >
+       operator + (Iter<TStringSet, ConcatVirtual<TSpec> > const & me, TDelta delta) {
+               Pair<unsigned, typename Size< typename Value<TStringSet>::Type >::Type> pos;
+               posLocalize(pos, me._tell() + delta, stringSetLimits(*me.host));
+        return Iter<TStringSet, ConcatVirtual<TSpec> > (*me.host, getValueI1(pos), getValueI2(pos));
+    }
+
+       template <typename TStringSet, typename TSpec, typename T1, typename T2, typename TCompression>
+       inline Iter<TStringSet, ConcatVirtual<TSpec> >
+       operator + (Iter<TStringSet, ConcatVirtual<TSpec> > const & me, Pair<T1, T2, TCompression> delta) {
+               Pair<unsigned, typename Size< typename Value<TStringSet>::Type >::Type> pos;
+               posLocalize(pos, me._tell() + delta, stringSetLimits(*me.host));
+        return Iter<TStringSet, ConcatVirtual<TSpec> > (*me.host, getValueI1(pos), getValueI2(pos));
+    }
+
+       //////////////////////////////////////////////////////////////////////////////
+       // operator -
+       //////////////////////////////////////////////////////////////////////////////
+
+       template <typename TSSetL, typename TSpecL, typename TSSetR, typename TSpecR>
+       typename Difference<Iter<TSSetL, ConcatVirtual<TSpecL> > >::Type
+       operator - (
+               Iter<TSSetL, ConcatVirtual<TSpecL> > const &L,
+               Iter<TSSetR, ConcatVirtual<TSpecR> > const &R)
+       {
+        return L._tell() - R._tell();
+    }
+
+       template <typename TStringSet, typename TSpec, typename TDelta>
+       inline Iter<TStringSet, ConcatVirtual<TSpec> >
+       operator - (Iter<TStringSet, ConcatVirtual<TSpec> > const & me, TDelta delta) {
+               Pair<unsigned, typename Size< typename Value<TStringSet>::Type >::Type> pos;
+               posLocalize(pos, me._tell() - delta, stringSetLimits(*me.host));
+        return Iter<TStringSet, ConcatVirtual<TSpec> > (*me.host, getValueI1(pos), getValueI2(pos));
+    }
+
+       //////////////////////////////////////////////////////////////////////////////
+       // operator ==
+       //////////////////////////////////////////////////////////////////////////////
+
+       template <typename TSSetL, typename TSpecL, typename TSSetR, typename TSpecR>
+       inline bool
+       operator == (
+               Iter<TSSetL, ConcatVirtual<TSpecL> > const &L,
+               Iter<TSSetR, ConcatVirtual<TSpecR> > const &R)
+       {
+               SEQAN_ASSERT(L.host == R.host);
+               return L.objNo == R.objNo && L._cur == R._cur;
+       }
+
+       template <typename TSSetL, typename TSpecL, typename TSSetR, typename TSpecR>
+       inline bool
+       operator != (
+               Iter<TSSetL, ConcatVirtual<TSpecL> > const &L,
+               Iter<TSSetR, ConcatVirtual<TSpecR> > const &R)
+       {
+               SEQAN_ASSERT(L.host == R.host);
+               return L.objNo != R.objNo || L._cur != R._cur;
+       }
+
+       //////////////////////////////////////////////////////////////////////////////
+       // operator <
+       //////////////////////////////////////////////////////////////////////////////
+
+       template <typename TSSetL, typename TSpecL, typename TSSetR, typename TSpecR>
+       inline bool
+       operator < (
+               Iter<TSSetL, ConcatVirtual<TSpecL> > const &L,
+               Iter<TSSetR, ConcatVirtual<TSpecR> > const &R)
+       {
+               SEQAN_ASSERT(L.host == R.host);
+               return L.objNo < R.objNo || (L.objNo == R.objNo && L._cur < R._cur);
+       }
+
+       template <typename TSSetL, typename TSpecL, typename TSSetR, typename TSpecR>
+       inline bool
+       operator > (
+               Iter<TSSetL, ConcatVirtual<TSpecL> > const &L,
+               Iter<TSSetR, ConcatVirtual<TSpecR> > const &R)
+       {
+               SEQAN_ASSERT(L.host == R.host);
+               return L.objNo > R.objNo || (L.objNo == R.objNo && L._cur > R._cur);
+       }
+
+       //////////////////////////////////////////////////////////////////////////////
+       // container
+       //////////////////////////////////////////////////////////////////////////////
+
+       template <typename TSSet, typename TSpec>
+       inline typename Concatenator<TSSet>::Type
+       container(Iter<TSSet, ConcatVirtual<TSpec> > &me)
+       {
+               return concat(*me.host);
+       }
+
+       template <typename TSSet, typename TSpec>
+       inline typename Concatenator<TSSet>::Type
+       container(Iter<TSSet, ConcatVirtual<TSpec> > const &me)
+       {
+               return concat(*me.host);
+       }
+
+       //////////////////////////////////////////////////////////////////////////////
+       // atBegin
+       //////////////////////////////////////////////////////////////////////////////
+
+       template <typename TSSet, typename TSpec>
+       inline bool
+       atBegin(Iter<TSSet, ConcatVirtual<TSpec> > &me)
+       {
+               return me._cur == me._begin && me.objNo == 0;
+       }
+
+       template <typename TSSet, typename TSpec>
+       inline bool
+       atBegin(Iter<TSSet, ConcatVirtual<TSpec> > const &me)
+       {
+               return me._cur == me._begin && me.objNo == 0;
+       }
+
+       //////////////////////////////////////////////////////////////////////////////
+       // atEnd
+       //////////////////////////////////////////////////////////////////////////////
+
+       template <typename TSSet, typename TSpec>
+       inline bool
+       atEnd(Iter<TSSet, ConcatVirtual<TSpec> > &me)
+       {
+               return me._cur == me._end && me.objNo == (length(*me.host) - 1);
+       }
+
+       template <typename TSSet, typename TSpec>
+       inline bool
+       atEnd(Iter<TSSet, ConcatVirtual<TSpec> > const &me)
+       {
+               return me._cur == me._end && me.objNo == (length(*me.host) - 1);
+       }
+
+       //////////////////////////////////////////////////////////////////////////////
+       // atEndOfSequence
+       //////////////////////////////////////////////////////////////////////////////
+
+       template <typename TIterator>
+       inline bool
+       atEndOfSequence(TIterator const &me)
+       {
+               return atEnd(me);
+       }
+
+       template <typename TSSet, typename TSpec>
+       inline bool
+       atEndOfSequence(Iter<TSSet, ConcatVirtual<TSpec> > const &me)
+       {
+               return me._atEndOfSequence();
+       }
+
+       template <typename TIterator>
+       inline bool
+       atEndOfSequence(TIterator &me)
+       {
+               return atEndOfSequence(reinterpret_cast<TIterator const &>(me));
+       }
+
+}
+
+#endif
diff --git a/SeqAn-1.1/seqan/sequence/sequence_shortcuts.h b/SeqAn-1.1/seqan/sequence/sequence_shortcuts.h
new file mode 100644 (file)
index 0000000..3e1f3ec
--- /dev/null
@@ -0,0 +1,197 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de 
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: sequence_shortcuts.h,v 1.1 2008/08/25 16:20:04 langmead Exp $
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_SEQUENCE_SHORTCUTS_H
+#define SEQAN_HEADER_SEQUENCE_SHORTCUTS_H
+
+namespace SEQAN_NAMESPACE_MAIN
+{
+
+//////////////////////////////////////////////////////////////////////////////
+/**
+.Shortcut.CharString:
+..cat:Strings
+..summary:A string of $char$.
+..signature:CharString
+..shortcutfor:Spec.Alloc String
+...signature:String<char, Alloc<> >
+*/
+
+typedef String<char, Alloc<void> > CharString;
+
+//____________________________________________________________________________
+
+/**
+.Shortcut.CharIterator:
+..cat:Iterators
+..summary:Iterator for @Shortcut.CharString@.
+..signature:CharIterator
+..shortcutfor:Concept.Rooted Iterator
+...signature:Iterator<CharString, Rooted>::Type
+..see:Shortcut.CharString
+*/
+
+typedef Iterator<CharString, Rooted>::Type CharIterator;
+
+//////////////////////////////////////////////////////////////////////////////
+/**
+.Shortcut.UnicodeString:
+..cat:Strings
+..summary:A string of $wchar_t$.
+..signature:UnicodeString
+..shortcutfor:Spec.Alloc String
+...signature:String<wchar_t, Alloc<> >
+*/
+
+typedef String<wchar_t, Alloc<void> > UnicodeString;
+
+//____________________________________________________________________________
+
+/**
+.Shortcut.UnicodeIterator:
+..cat:Iterators
+..summary:Iterator for @Shortcut.UnicodeString@.
+..signature:UnicodeIterator
+..shortcutfor:Concept.Rooted Iterator
+...signature:Iterator<UnicodeString, Rooted>::Type
+..see:Shortcut.UnicodeString
+*/
+
+typedef Iterator<UnicodeString, Rooted>::Type UnicodeIterator;
+
+//////////////////////////////////////////////////////////////////////////////
+/**
+.Shortcut.DnaString:
+..cat:Strings
+..summary:A string of @Spec.Dna@.
+..signature:DnaString
+..shortcutfor:Spec.Alloc String
+...signature:String<Dna, Alloc<> >
+..see:Spec.Dna
+*/
+
+typedef String<Dna, Alloc<void> > DnaString;
+
+//____________________________________________________________________________
+
+/**
+.Shortcut.DnaIterator:
+..cat:Iterators
+..summary:Iterator for @Shortcut.DnaString@.
+..signature:DnaIterator
+..shortcutfor:Concept.Rooted Iterator
+...signature:Iterator<DnaString, Rooted>::Type
+..see:Spec.Dna
+..see:Shortcut.DnaString
+*/
+
+typedef Iterator<DnaString, Rooted>::Type DnaIterator;
+
+//////////////////////////////////////////////////////////////////////////////
+/**
+.Shortcut.Dna5String:
+..cat:Strings
+..summary:A string of @Spec.Dna5@.
+..signature:Dna5String
+..shortcutfor:Spec.Alloc String
+...signature:String<Dna5, Alloc<> >
+..see:Spec.Dna5
+..see:Shortcut.DnaString
+*/
+
+typedef String<Dna5, Alloc<void> > Dna5String;
+
+//____________________________________________________________________________
+
+/**
+.Shortcut.Dna5Iterator:
+..cat:Iterators
+..summary:Iterator for @Shortcut.Dna5String@.
+..signature:Dna5Iterator
+..shortcutfor:Concept.Rooted Iterator
+...signature:Iterator<Dna5String, Rooted>::Type
+..see:Spec.Dna5
+..see:Shortcut.Dna5String
+..see:Shortcut.DnaIterator
+*/
+
+typedef Iterator<Dna5String, Rooted>::Type Dna5Iterator;
+
+//////////////////////////////////////////////////////////////////////////////
+/**
+.Shortcut.IupacString:
+..cat:Strings
+..summary:A string of @Spec.Iupac@.
+..signature:IupacString
+..shortcutfor:Spec.Alloc String
+...signature:String<Iupac, Alloc<> >
+..see:Spec.Iupac
+*/
+
+typedef String<Iupac, Alloc<void> > IupacString;
+
+//____________________________________________________________________________
+
+/**
+.Shortcut.IupacIterator:
+..cat:Iterators
+..summary:Iterator for @Shortcut.IupacString@.
+..signature:IupacIterator
+..shortcutfor:Concept.Rooted Iterator
+...signature:Iterator<IupacString, Rooted>::Type
+..see:Spec.Iupac
+..see:Shortcut.IupacString
+*/
+
+typedef Iterator<IupacString, Rooted>::Type IupacIterator;
+
+//////////////////////////////////////////////////////////////////////////////
+/**
+.Shortcut.Peptide:
+..cat:Strings
+..summary:A string of @Spec.AminoAcid@.
+..signature:IupacString
+..shortcutfor:Spec.Alloc String
+...signature:String<AminoAcid, Alloc<> >
+..see:Spec.AminoAcid
+*/
+
+typedef String<AminoAcid, Alloc<void> > Peptide;
+
+//____________________________________________________________________________
+
+/**
+.Shortcut.PeptideIterator:
+..cat:Iterators
+..summary:Iterator for @Shortcut.Peptide@.
+..signature:PeptideIterator
+..shortcutfor:Concept.Rooted Iterator
+...signature:Iterator<Peptide, Rooted>::Type
+..see:Spec.AminoAcid
+..see:Shortcut.Peptide
+*/
+
+typedef Iterator<Peptide, Rooted>::Type PeptideIterator;
+
+//////////////////////////////////////////////////////////////////////////////
+
+} //namespace SEQAN_NAMESPACE_MAIN
+
+#endif //#ifndef SEQAN_HEADER_...
diff --git a/SeqAn-1.1/seqan/sequence/std_string.h b/SeqAn-1.1/seqan/sequence/std_string.h
new file mode 100644 (file)
index 0000000..239974c
--- /dev/null
@@ -0,0 +1,691 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de 
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: std_string.h,v 1.1 2008/08/25 16:20:04 langmead Exp $
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_STD_STRING_H
+#define SEQAN_HEADER_STD_STRING_H
+
+
+//Adaption for ::std::basic_string
+
+#include <string>
+
+namespace SEQAN_NAMESPACE_MAIN
+{
+
+//////////////////////////////////////////////////////////////////////////////
+/**
+.Adaption."std::basic_string":
+..summary:Standard library string class.
+*/
+
+
+
+//////////////////////////////////////////////////////////////////////////////
+
+///.Metafunction.IsContiguous.param.T.type:Adaption.std::basic_string
+
+template <typename  TChar, typename TCharTraits, typename TAlloc>
+struct IsContiguous< ::std::basic_string<TChar, TCharTraits, TAlloc> >
+{
+    enum { VALUE = true };
+};
+
+template <typename  TChar, typename TCharTraits, typename TAlloc>
+struct IsContiguous< ::std::basic_string<TChar, TCharTraits, TAlloc> const>
+{
+    enum { VALUE = true };
+};
+
+///.Metafunction.Value.param.T.type:Adaption.std::basic_string
+template <typename TChar, typename TCharTraits, typename TAlloc>
+struct Value< ::std::basic_string<TChar, TCharTraits, TAlloc> >
+{
+       typedef typename ::std::basic_string<TChar, TCharTraits, TAlloc>::value_type Type;
+};
+template <typename TChar, typename TCharTraits, typename TAlloc>
+struct Value< ::std::basic_string<TChar, TCharTraits, TAlloc> const>
+{
+       typedef typename ::std::basic_string<TChar, TCharTraits, TAlloc>::value_type Type;
+};
+
+///.Metafunction.GetValue.param.T.type:Adaption.std::basic_string
+template <typename TChar, typename TCharTraits, typename TAlloc>
+struct GetValue< ::std::basic_string<TChar, TCharTraits, TAlloc> >
+{
+       typedef typename ::std::basic_string<TChar, TCharTraits, TAlloc>::reference Type;
+};
+template <typename TChar, typename TCharTraits, typename TAlloc>
+struct GetValue< ::std::basic_string<TChar, TCharTraits, TAlloc> const>
+{
+       typedef typename ::std::basic_string<TChar, TCharTraits, TAlloc>::const_reference Type;
+};
+
+//???GetValue<vector<bool> > ist bool
+
+//____________________________________________________________________________
+
+///.Metafunction.Iterator.param.T.type:Adaption.std::basic_string
+
+template <typename TChar, typename TCharTraits, typename TAlloc>
+struct Iterator< ::std::basic_string<TChar, TCharTraits, TAlloc>, Rooted>
+{
+       typedef ::std::basic_string<TChar, TCharTraits, TAlloc> TString;
+       typedef Iter<TString, StdIteratorAdaptor> TIterator;
+       typedef Iter<TString, AdaptorIterator<TIterator> > Type;
+};
+template <typename TChar, typename TCharTraits, typename TAlloc>
+struct Iterator< ::std::basic_string<TChar, TCharTraits, TAlloc> const, Rooted>
+{
+       typedef ::std::basic_string<TChar, TCharTraits, TAlloc> const TString;
+       typedef Iter<TString, StdIteratorAdaptor> TIterator;
+       typedef Iter<TString, AdaptorIterator<TIterator> > Type;
+};
+
+
+template <typename TChar, typename TCharTraits, typename TAlloc>
+struct Iterator< ::std::basic_string<TChar, TCharTraits, TAlloc>, Standard >
+{
+       typedef Iter< ::std::basic_string<TChar, TCharTraits, TAlloc>, StdIteratorAdaptor > Type;
+};
+template <typename TChar, typename TCharTraits, typename TAlloc>
+struct Iterator< ::std::basic_string<TChar, TCharTraits, TAlloc> const, Standard>
+{
+       typedef Iter< ::std::basic_string<TChar, TCharTraits, TAlloc> const, StdIteratorAdaptor > Type;
+};
+
+//____________________________________________________________________________
+
+///.Metafunction.Position.param.T.type:Adaption.std::basic_string
+template <typename TChar, typename TCharTraits, typename TAlloc>
+struct Position< ::std::basic_string<TChar, TCharTraits, TAlloc> >
+{
+       typedef typename ::std::basic_string<TChar, TCharTraits, TAlloc>::size_type Type;
+};
+
+//____________________________________________________________________________
+
+///.Metafunction.Size.param.T.type:Adaption.std::basic_string
+template <typename TChar, typename TCharTraits, typename TAlloc>
+struct Size< ::std::basic_string<TChar, TCharTraits, TAlloc> >
+{
+       typedef typename ::std::basic_string<TChar, TCharTraits, TAlloc>::size_type Type;
+};
+
+//////////////////////////////////////////////////////////////////////////////
+
+///.Metafunction.Size.param.T.type:Adaption.std::basic_string
+template <typename TChar, typename TCharTraits, typename TAlloc>
+struct DefaultOverflowImplicit< ::std::basic_string<TChar, TCharTraits, TAlloc> >
+{
+       typedef Generous Type;
+};
+
+//////////////////////////////////////////////////////////////////////////////
+
+///.Function.id.param.object.type:Adaption.std::basic_string
+
+template <typename TChar, typename TCharTraits, typename TAlloc>
+inline void const * 
+id(::std::basic_string<TChar, TCharTraits, TAlloc> const & me)
+{
+SEQAN_CHECKPOINT
+       return & *end(me, Standard());
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+///.Function.begin.param.object.type:Adaption.std::basic_string
+template <typename TChar, typename TCharTraits, typename TAlloc>
+inline typename Iterator< ::std::basic_string<TChar, TCharTraits, TAlloc>, Standard>::Type 
+begin(::std::basic_string<TChar, TCharTraits, TAlloc> & me,
+         Standard)
+{
+SEQAN_CHECKPOINT
+       return typename Iterator< ::std::basic_string<TChar, TCharTraits, TAlloc>, Standard>::Type(me.begin());
+}
+template <typename TChar, typename TCharTraits, typename TAlloc>
+inline typename Iterator< ::std::basic_string<TChar, TCharTraits, TAlloc> const, Standard>::Type 
+begin(::std::basic_string<TChar, TCharTraits, TAlloc> const & me,
+         Standard)
+{
+SEQAN_CHECKPOINT
+       return typename Iterator< ::std::basic_string<TChar, TCharTraits, TAlloc> const, Standard>::Type(me.begin());
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+///.Function.end.param.object.type:Adaption.std::basic_string
+
+template <typename TChar, typename TCharTraits, typename TAlloc>
+inline typename Iterator< ::std::basic_string<TChar, TCharTraits, TAlloc>, Standard>::Type 
+end(::std::basic_string<TChar, TCharTraits, TAlloc> & me,
+       Standard)
+{
+SEQAN_CHECKPOINT
+       return typename Iterator< ::std::basic_string<TChar, TCharTraits, TAlloc>, Standard>::Type(me.end());
+}
+template <typename TChar, typename TCharTraits, typename TAlloc>
+inline typename Iterator< ::std::basic_string<TChar, TCharTraits, TAlloc> const, Standard>::Type 
+end(::std::basic_string<TChar, TCharTraits, TAlloc> const & me,
+       Standard)
+{
+SEQAN_CHECKPOINT
+       return typename Iterator< ::std::basic_string<TChar, TCharTraits, TAlloc> const, Standard>::Type(me.end());
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+///.Function.value.param.container.type:Adaption.std::basic_string
+
+template <typename TChar, typename TCharTraits, typename TAlloc, typename TPos>
+inline typename GetValue< ::std::basic_string<TChar, TCharTraits, TAlloc> >::Type
+value(::std::basic_string<TChar, TCharTraits, TAlloc> & me, 
+         TPos pos)
+{
+SEQAN_CHECKPOINT
+       return me[pos];
+} 
+template <typename TChar, typename TCharTraits, typename TAlloc, typename TPos>
+inline typename GetValue< ::std::basic_string<TChar, TCharTraits, TAlloc> const>::Type
+value(::std::basic_string<TChar, TCharTraits, TAlloc> const & me, 
+         TPos pos)
+{
+SEQAN_CHECKPOINT
+       return me[pos];
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+///.Function.length.param.object.type:Adaption.std::basic_string
+
+template <typename TChar, typename TCharTraits, typename TAlloc>
+inline typename Size< ::std::basic_string<TChar, TCharTraits, TAlloc> >::Type
+length(::std::basic_string<TChar, TCharTraits, TAlloc> const & me)
+{
+SEQAN_CHECKPOINT
+       return me.length();
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+///.Function.capacity.param.object.type:Adaption.std::basic_string
+
+template <typename TChar, typename TCharTraits, typename TAlloc>
+inline typename Size< ::std::basic_string<TChar, TCharTraits, TAlloc> >::Type
+capacity(::std::basic_string<TChar, TCharTraits, TAlloc> const & me)
+{
+SEQAN_CHECKPOINT
+       return me.capacity();
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+///.Function.empty.param.object.type:Adaption.std::basic_string
+
+template <typename TChar, typename TCharTraits, typename TAlloc>
+inline bool
+empty(::std::basic_string<TChar, TCharTraits, TAlloc> const & me)
+{
+SEQAN_CHECKPOINT
+       return me.empty();
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+///.Function.clear.param.object.type:Adaption.std::basic_string
+
+template <typename TChar, typename TCharTraits, typename TAlloc>
+inline void
+clear(::std::basic_string<TChar, TCharTraits, TAlloc> & me)
+{
+SEQAN_CHECKPOINT
+       me.clear();
+}
+
+//////////////////////////////////////////////////////////////////////////////
+//assign to ::std::basic_string
+
+///.Function.assign.param.target.type:Adaption.std::basic_string
+///.Function.assign.param.source.type:Adaption.std::basic_string
+
+template <typename TChar, typename TCharTraits, typename TAlloc, typename TSource>
+inline void 
+assign(::std::basic_string<TChar, TCharTraits, TAlloc> & target, 
+          TSource & source)
+{
+SEQAN_CHECKPOINT
+       assign(target, source, Generous());
+}
+template <typename TChar, typename TCharTraits, typename TAlloc, typename TSource>
+inline void 
+assign(::std::basic_string<TChar, TCharTraits, TAlloc> & target, 
+          TSource const & source)
+{
+SEQAN_CHECKPOINT
+       assign(target, source, Generous());
+}
+
+template <typename TChar, typename TCharTraits, typename TAlloc, typename TSource, typename TSize>
+inline void 
+assign(::std::basic_string<TChar, TCharTraits, TAlloc> & target, 
+          TSource & source,
+          TSize limit)
+{
+SEQAN_CHECKPOINT
+       assign(target, source, limit, Generous());
+}
+template <typename TChar, typename TCharTraits, typename TAlloc, typename TSource, typename TSize>
+inline void 
+assign(::std::basic_string<TChar, TCharTraits, TAlloc> & target, 
+          TSource const & source,
+          TSize limit)
+{
+SEQAN_CHECKPOINT
+       assign(target, source, limit, Generous());
+}
+
+//____________________________________________________________________________
+
+template <typename TChar, typename TCharTraits, typename TAlloc, typename TSource>
+inline void 
+assign(::std::basic_string<TChar, TCharTraits, TAlloc> & target, 
+          TSource & source,
+          Generous)
+{
+SEQAN_CHECKPOINT
+       target.assign(begin(source, Standard()), end(source, Standard()));
+}
+template <typename TChar, typename TCharTraits, typename TAlloc, typename TSource>
+inline void 
+assign(::std::basic_string<TChar, TCharTraits, TAlloc> & target, 
+          TSource const & source,
+          Generous)
+{
+SEQAN_CHECKPOINT
+       target.assign(begin(source, Standard()), end(source, Standard()));
+}
+
+
+template <typename TChar, typename TCharTraits, typename TAlloc, typename TSource>
+inline void 
+assign_std_string_Generous_impl(::std::basic_string<TChar, TCharTraits, TAlloc> & target, 
+                                                               TSource & source,
+                                                               typename Size< ::std::basic_string<TChar, TCharTraits, TAlloc> >::Type limit)
+{
+SEQAN_CHECKPOINT
+       typename Iterator<TSource const, Standard>::Type source_begin = begin(source, Standard());
+       typename Size<TSource const>::Type source_length = length(source);
+       if (source_length > limit)
+       {
+               source_length = limit;
+       }
+       target.assign(source_begin, source_begin + source_length);
+}
+template <typename TChar, typename TCharTraits, typename TAlloc, typename TSource>
+inline void 
+assign(::std::basic_string<TChar, TCharTraits, TAlloc> & target, 
+          TSource & source,
+          typename Size< ::std::basic_string<TChar, TCharTraits, TAlloc> >::Type limit,
+          Generous)
+{
+SEQAN_CHECKPOINT
+       assign_std_string_Generous_impl(target, source, limit);
+}
+template <typename TChar, typename TCharTraits, typename TAlloc, typename TSource>
+inline void 
+assign(::std::basic_string<TChar, TCharTraits, TAlloc> & target, 
+          TSource const & source,
+          typename Size< ::std::basic_string<TChar, TCharTraits, TAlloc> >::Type limit,
+          Generous)
+{
+SEQAN_CHECKPOINT
+       assign_std_string_Generous_impl(target, source, limit);
+}
+
+//____________________________________________________________________________
+
+template <typename TChar, typename TCharTraits, typename TAlloc, typename TSource>
+inline void 
+assign(::std::basic_string<TChar, TCharTraits, TAlloc> & target, 
+          TSource & source,
+          Limit)
+{
+SEQAN_CHECKPOINT
+       assign(target, source, target.capacity(), Generous());
+}
+template <typename TChar, typename TCharTraits, typename TAlloc, typename TSource>
+inline void 
+assign(::std::basic_string<TChar, TCharTraits, TAlloc> & target, 
+          TSource const & source,
+          Limit)
+{
+SEQAN_CHECKPOINT
+       assign(target, source, target.capacity(), Generous());
+}
+
+template <typename TChar, typename TCharTraits, typename TAlloc, typename TSource>
+inline void 
+assign(::std::basic_string<TChar, TCharTraits, TAlloc> & target, 
+          TSource & source,
+          typename Size< ::std::basic_string<TChar, TCharTraits, TAlloc> >::Type limit,
+          Limit)
+{
+SEQAN_CHECKPOINT
+       if (limit > target.capacity()) 
+       {
+               limit = target.capacity();
+       }
+
+       assign(target, source, limit, Generous());
+}
+template <typename TChar, typename TCharTraits, typename TAlloc, typename TSource>
+inline void 
+assign(::std::basic_string<TChar, TCharTraits, TAlloc> & target, 
+          TSource const & source,
+          typename Size< ::std::basic_string<TChar, TCharTraits, TAlloc> >::Type limit,
+          Limit)
+{
+SEQAN_CHECKPOINT
+       if (limit > target.capacity()) 
+       {
+               limit = target.capacity();
+       }
+
+       assign(target, source, limit, Generous());
+}
+
+//////////////////////////////////////////////////////////////////////////////
+//append to ::std::basic_string
+
+///.Function.append.param.target.type:Adaption.std::basic_string
+///.Function.append.param.source.type:Adaption.std::basic_string
+
+template <typename TChar, typename TCharTraits, typename TAlloc, typename TSource>
+inline void 
+append(::std::basic_string<TChar, TCharTraits, TAlloc> & target, 
+          TSource const & source,
+          Generous)
+{
+SEQAN_CHECKPOINT
+       target.append(begin(source, Standard()), end(source, Standard()));
+}
+
+template <typename TChar, typename TCharTraits, typename TAlloc, typename TSource>
+inline void 
+append(::std::basic_string<TChar, TCharTraits, TAlloc> & target, 
+          TSource const & source,
+          typename Size< ::std::basic_string<TChar, TCharTraits, TAlloc> >::Type limit,
+          Generous)
+{
+SEQAN_CHECKPOINT
+       typename Size< ::std::basic_string<TChar, TCharTraits, TAlloc> >::Type target_length = target.length();
+       if (target_length > limit)
+       {
+               target.resize(limit);
+       }
+       else
+       {
+               limit -= target_length;
+               typename Iterator<TSource const, Standard>::Type source_begin = begin(source, Standard());
+               typename Size<TSource const>::Type source_length = length(source);
+               if (source_length > limit)
+               {
+                       source_length = limit;
+               }
+               target.append(source_begin, source_begin + source_length);
+       }
+}
+
+//____________________________________________________________________________
+
+template <typename TChar, typename TCharTraits, typename TAlloc, typename TSource>
+inline void 
+append(::std::basic_string<TChar, TCharTraits, TAlloc> & target, 
+          TSource const & source,
+          Limit)
+{
+SEQAN_CHECKPOINT
+       append(target, source, target.capacity(), Generous());
+}
+
+template <typename TChar, typename TCharTraits, typename TAlloc, typename TSource>
+inline void 
+append(::std::basic_string<TChar, TCharTraits, TAlloc> & target, 
+          TSource const & source,
+          typename Size< ::std::basic_string<TChar, TCharTraits, TAlloc> >::Type limit,
+          Limit)
+{
+SEQAN_CHECKPOINT
+       if (limit > target.capacity()) 
+       {
+               limit = target.capacity();
+       }
+
+       append(target, source, limit, Generous());
+}
+
+//////////////////////////////////////////////////////////////////////////////
+///.Function.appendValue.param.target.type:Adaption.std::basic_string
+
+template <typename TChar, typename TCharTraits, typename TAlloc, typename TValue, typename TTag>
+inline void
+appendValue(::std::basic_string<TChar, TCharTraits, TAlloc> & me, 
+                       TValue const & _value,
+                       TTag)
+{
+SEQAN_CHECKPOINT
+       me.push_back(_value);
+} 
+
+template <typename TChar, typename TCharTraits, typename TAlloc, typename TValue>
+inline void
+appendValue(::std::basic_string<TChar, TCharTraits, TAlloc> & me, 
+                       TValue const & _value,
+                       Limit)
+{
+SEQAN_CHECKPOINT
+       if (capacity(me) > length(me)) me.push_back(_value);
+} 
+
+//////////////////////////////////////////////////////////////////////////////
+//replace to ::std::basic_string
+
+///.Function.replace.param.target.type:Adaption.std::basic_string
+///.Function.replace.param.source.type:Adaption.std::basic_string
+
+template <typename TChar, typename TCharTraits, typename TAlloc, typename TSource>
+inline void 
+replace(::std::basic_string<TChar, TCharTraits, TAlloc> & target,
+               typename Position< ::std::basic_string<TChar, TCharTraits, TAlloc> >::Type pos_begin,
+               typename Position< ::std::basic_string<TChar, TCharTraits, TAlloc> >::Type pos_end,
+               TSource const & source,
+               Generous)
+{
+SEQAN_CHECKPOINT
+       target.replace(target.begin() + pos_begin, target.begin() + pos_end, begin(source, Standard()), end(source, Standard()));
+}
+
+template <typename TChar, typename TCharTraits, typename TAlloc, typename TSource>
+inline void 
+replace(::std::basic_string<TChar, TCharTraits, TAlloc> & target, 
+               typename Position< ::std::basic_string<TChar, TCharTraits, TAlloc> >::Type pos_begin,
+               typename Position< ::std::basic_string<TChar, TCharTraits, TAlloc> >::Type pos_end,
+               TSource const & source,
+               typename Size< ::std::basic_string<TChar, TCharTraits, TAlloc> >::Type limit,
+               Generous)
+{
+SEQAN_CHECKPOINT
+       if (pos_begin >= limit)
+       {
+               target.resize(limit);
+       }
+       else
+       {
+               typename Iterator<TSource const, Standard>::Type source_begin = begin(source, Standard());
+               typename Size<TSource const>::Type source_length = length(source);
+               typename Size< ::std::basic_string<TChar, TCharTraits, TAlloc> >::Type pos_mid = pos_begin + source_length;
+               if (pos_mid > limit)
+               {
+                       target.replace(target.begin() + pos_begin, target.begin() + limit, source_begin, source_begin + limit - pos_begin);
+                       target.resize(limit);
+               }
+               else
+               {
+                       target.replace(target.begin() + pos_begin, target.begin() + pos_end, source_begin, end(source, Standard()));
+                       if (target.length() > limit)
+                       {
+                               target.resize(limit);
+                       }
+               }
+       }
+}
+
+//____________________________________________________________________________
+
+template <typename TChar, typename TCharTraits, typename TAlloc, typename TSource>
+inline void 
+replace(::std::basic_string<TChar, TCharTraits, TAlloc> & target,
+               typename Position< ::std::basic_string<TChar, TCharTraits, TAlloc> >::Type pos_begin,
+               typename Position< ::std::basic_string<TChar, TCharTraits, TAlloc> >::Type pos_end,
+               TSource const & source,
+               Limit)
+{
+SEQAN_CHECKPOINT
+       replace(target, pos_begin, pos_end, source, target.capacity(), Generous());
+}
+
+template <typename TChar, typename TCharTraits, typename TAlloc, typename TSource>
+inline void 
+replace(::std::basic_string<TChar, TCharTraits, TAlloc> & target, 
+               typename Position< ::std::basic_string<TChar, TCharTraits, TAlloc> >::Type pos_begin,
+               typename Position< ::std::basic_string<TChar, TCharTraits, TAlloc> >::Type pos_end,
+               TSource const & source,
+               typename Size< ::std::basic_string<TChar, TCharTraits, TAlloc> >::Type limit,
+               Limit)
+{
+SEQAN_CHECKPOINT
+       if (limit > target.capacity()) 
+       {
+               limit = target.capacity();
+       }
+
+       replace(target, pos_begin, pos_end, source, limit, Generous());
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// handling of iterators as begin and end
+
+/*
+template<typename TChar, typename TCharTraits, typename TAlloc, typename TSource, typename TExpand>
+inline void 
+replace(::std::basic_string<TChar, TCharTraits, TAlloc> & target,
+               typename Iterator< ::std::basic_string<TChar, TCharTraits, TAlloc>, Rooted>::Type pos_begin,
+               typename Iterator< ::std::basic_string<TChar, TCharTraits, TAlloc>, Rooted>::Type pos_end,
+               TSource & source,
+               Tag<TExpand> const tag)
+{
+       replace(target, position(pos_begin), position(pos_end), source, tag);
+}
+
+template<typename TChar, typename TCharTraits, typename TAlloc, typename TSource, typename TExpand>
+inline void 
+replace(::std::basic_string<TChar, TCharTraits, TAlloc> & target,
+               typename Iterator< ::std::basic_string<TChar, TCharTraits, TAlloc>, Rooted>::Type pos_begin,
+               typename Iterator< ::std::basic_string<TChar, TCharTraits, TAlloc>, Rooted>::Type pos_end,
+               TSource & source,
+               typename Size< ::std::basic_string<TChar, TCharTraits, TAlloc> >::Type limit,
+               Tag<TExpand> const tag)
+{
+       replace(target,  position(pos_begin),  position(pos_end), source, tag);
+}
+*/
+
+//////////////////////////////////////////////////////////////////////////////
+
+///.Function.reserve.param.object.type:Adaption.std::basic_string
+
+template <typename TChar, typename TCharTraits, typename TAlloc, typename TExpand>
+inline typename Size< ::std::basic_string<TChar, TCharTraits, TAlloc> >::Type 
+reserve(
+       ::std::basic_string<TChar, TCharTraits, TAlloc> & seq, 
+       typename Size< ::std::basic_string<TChar, TCharTraits, TAlloc> >::Type new_capacity,
+       Tag<TExpand> const &)
+{
+SEQAN_CHECKPOINT
+    seq.reserve(new_capacity);
+    if (new_capacity < seq.capacity())
+    {
+        return seq.capacity();
+    }
+       return new_capacity;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+///.Function.resize.param.object.type:Adaption.std::basic_string
+
+template <typename TChar, typename TCharTraits, typename TAlloc, typename TSize, typename TExpand>
+inline typename Size< ::std::basic_string<TChar, TCharTraits, TAlloc> >::Type 
+resize(
+       ::std::basic_string<TChar, TCharTraits, TAlloc> & me,
+       TSize new_length,
+       Tag<TExpand> const &)
+{
+SEQAN_CHECKPOINT
+    me.resize(new_length);
+       return me.length();
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+///.Function.fill.param.object.type:Adaption.std::basic_string
+
+template <typename TChar, typename TCharTraits, typename TAlloc, typename TSize, typename TExpand>
+inline typename Size< ::std::basic_string<TChar, TCharTraits, TAlloc> >::Type 
+fill(
+       ::std::basic_string<TChar, TCharTraits, TAlloc> & me,
+       TSize new_length,
+       TChar const & val,
+       Tag<TExpand> const &)
+{
+SEQAN_CHECKPOINT
+    me.resize(new_length, val);
+       return me.length();
+}
+
+
+/* (veraltet)
+//////////////////////////////////////////////////////////////////////////////
+// Iterator Handling
+//////////////////////////////////////////////////////////////////////////////
+
+//??????
+template <typename TChar, typename TContainer>
+struct GetValue< ::__gnu_cxx::__normal_iterator<TChar, TContainer> >
+{
+       typedef typename ::__gnu_cxx::__normal_iterator<TChar, TContainer>::reference Type;
+};
+*/
+
+//////////////////////////////////////////////////////////////////////////////
+
+} //namespace SEQAN_NAMESPACE_MAIN
+
+#endif //#ifndef SEQAN_HEADER_...
diff --git a/SeqAn-1.1/seqan/sequence/string_alloc.h b/SeqAn-1.1/seqan/sequence/string_alloc.h
new file mode 100644 (file)
index 0000000..2a1c9a9
--- /dev/null
@@ -0,0 +1,467 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de 
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: string_alloc.h,v 1.1 2008/08/25 16:20:04 langmead Exp $
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_SEQUENCE_STRING_ALLOC_H
+#define SEQAN_HEADER_SEQUENCE_STRING_ALLOC_H
+
+
+namespace SEQAN_NAMESPACE_MAIN
+{
+
+/**
+.Spec.Alloc String:
+..cat:Strings
+..general:Class.String
+..summary:Expandable string that is stored on heap.
+..signature:String<TValue, Alloc<TSpec> >
+..param.TValue:The value type, that is the type of the items/characters stored in the string.
+...remarks:Use @Metafunction.Value@ to get the value type for a given class.
+..param.TSpec:The specializing type.
+...default:$void$
+*/
+//////////////////////////////////////////////////////////////////////////////
+//expandable string
+//////////////////////////////////////////////////////////////////////////////
+//Default: TSpec == void
+
+template <typename TValue>
+class String<TValue, Alloc<void> >
+{
+public:
+       typename Value<String>::Type * data_begin;
+       typename Value<String>::Type * data_end;
+       size_t data_capacity;
+
+//____________________________________________________________________________
+
+public:
+       String():
+               data_begin(0),
+               data_end(0),
+               data_capacity(0)
+       {
+SEQAN_CHECKPOINT
+       }
+
+       template <typename TSource>
+       String(TSource & source):
+               data_begin(0),
+               data_end(0),
+               data_capacity(0)
+       {
+SEQAN_CHECKPOINT
+               assign(*this, source);
+       }
+       template <typename TSource>
+       String(TSource const & source):
+               data_begin(0),
+               data_end(0),
+               data_capacity(0)
+       {
+SEQAN_CHECKPOINT
+               assign(*this, source);
+       }
+       String(String const & source):
+               data_begin(0),
+               data_end(0),
+               data_capacity(0)
+       {
+SEQAN_CHECKPOINT
+               assign(*this, source);
+       }
+       String(String const & source, Move):
+               data_begin(0),
+               data_end(0),
+               data_capacity(0)
+       {
+SEQAN_CHECKPOINT
+               move(*this, source);
+       }
+       template <typename TSource, typename TSize>
+       String(TSource & source, TSize limit):
+               data_begin(0),
+               data_end(0),
+               data_capacity(0)
+       {
+SEQAN_CHECKPOINT
+               assign(*this, source, limit);
+       }
+       template <typename TSource, typename TSize>
+       String(TSource const & source, TSize limit):
+               data_begin(0),
+               data_end(0),
+               data_capacity(0)
+       {
+SEQAN_CHECKPOINT
+               assign(*this, source, limit);
+       }
+
+
+       template <typename TSource>
+       String & operator =(TSource const & source)
+       {
+SEQAN_CHECKPOINT
+               assign(*this, source);
+               return *this;
+       }
+       String & operator =(String const & source)
+       {
+SEQAN_CHECKPOINT
+               assign(*this, source);
+               return *this;
+       }
+
+       ~String()
+       {
+SEQAN_CHECKPOINT
+               arrayDestruct(this->data_begin, this->data_end);
+               _deallocateStorage(*this, this->data_begin, data_capacity);
+       }
+
+
+//____________________________________________________________________________
+
+       template <typename TPos>
+       inline typename Reference<String>::Type
+       operator [] (TPos pos)
+       {
+SEQAN_CHECKPOINT
+               return value(*this, pos);
+       }
+
+       template <typename TPos>
+       inline typename Reference<String const>::Type 
+       operator [] (TPos pos) const
+       {
+SEQAN_CHECKPOINT
+               return value(*this, pos);
+       }
+
+//____________________________________________________________________________
+
+       friend inline typename Iterator<String, Standard>::Type
+       begin(String & me,
+               Standard)
+       {
+SEQAN_CHECKPOINT
+               return me.data_begin;
+       }
+       friend inline typename Iterator<String const, Standard>::Type
+       begin(String const & me,
+               Standard)
+       {
+SEQAN_CHECKPOINT
+               return me.data_begin;
+       }
+
+//____________________________________________________________________________
+
+       friend inline typename Iterator<String, Standard>::Type
+       end(String & me,
+               Standard)
+       {
+SEQAN_CHECKPOINT
+               return me.data_end;
+       }
+       friend inline typename Iterator<String const, Standard>::Type
+       end(String const & me,
+               Standard)
+       {
+SEQAN_CHECKPOINT
+               return me.data_end;
+       }
+
+//____________________________________________________________________________
+
+       friend inline size_t
+       capacity(String & me) 
+       {
+SEQAN_CHECKPOINT
+               return me.data_capacity;
+       }
+
+       friend inline size_t
+       capacity(String const & me) 
+       {
+SEQAN_CHECKPOINT
+               return me.data_capacity;
+       }
+
+//____________________________________________________________________________
+/* Entwicklungsschrott?
+       inline void 
+       move(String & target, 
+                String & source)
+       {
+               clear(target);
+               target.data_begin = source.data_begin;
+               target.data_end = source.data_end;
+               target.data_capacity = source.data_capacity;
+
+               source.data_begin = 0;
+               source.data_end = 0;
+               source.data_capacity = 0;
+       }
+*/
+//____________________________________________________________________________
+
+/**
+.Internal._setBegin:
+*/
+       friend inline void 
+       _setBegin(
+               String & me, 
+               typename Value<String>::Type * new_begin)
+       {
+SEQAN_CHECKPOINT
+               me.data_begin = new_begin;
+       }
+
+//____________________________________________________________________________
+
+/**
+.Internal._setLength:
+..cat:Functions
+..summary:Set the length of container.
+..signature:_setLength(object, new_length)
+..param.object:A container.
+..param.object.type:Spec.Alloc String
+..param.new_length:The new length.
+*/
+       friend inline void 
+       _setLength(
+               String & me, 
+               size_t new_length)
+       {
+SEQAN_CHECKPOINT
+               me.data_end = me.data_begin + new_length;
+       }
+
+//____________________________________________________________________________
+
+/**
+.Internal._setCapacity:
+*/
+       friend inline void 
+       _setCapacity(
+               String & me, 
+               size_t new_capacity)
+       {
+SEQAN_CHECKPOINT
+               me.data_capacity = new_capacity;
+       }
+
+//____________________________________________________________________________
+
+/**
+.Internal._allocateStorage:
+..cat:Functions
+..summary:Allocates a new buffer for a container.
+..signature:_allocateStorage(object, new_capacity)
+..param.object:A container.
+..param.object.type:Spec.Alloc String
+..param.new_capacity:The capacity of the new allocated buffer.
+..returns:The old butter $object$, that is replaced by the new allocated buffer.
+..remarks:The returned buffer must be deallocated by @Internal._deallocateStorage@.
+..remarks:This function does not construct objects in the allocated buffer.
+..see:Internal._reallocateStorage
+*/
+       friend inline typename Value<String>::Type * 
+       _allocateStorage(
+               String & me, 
+               size_t new_capacity)
+       {
+SEQAN_CHECKPOINT
+               size_t size = _computeSize4Capacity(me, new_capacity);
+               typename Value<String>::Type * return_value = me.data_begin;
+               allocate(me, me.data_begin, size, TagAllocateStorage());
+               me.data_capacity = new_capacity;
+               return return_value;
+       }
+
+       //____________________________________________________________________________
+
+/**
+.Internal._deallocateStorage:
+..cat:Functions
+..summary:Deallocates a buffer of a container.
+..signature:_deallocateStorage(object, buffer, capacity)
+..param.object:A container.
+..param.object.type:Spec.Alloc String
+..param.buffer:The buffer that will be deallocated.
+..param.capacity:The capacity of $buffer$.
+..remarks:All objects in the buffer must be destroyed before calling $_deallocateStorage$.
+..see:Internal._allocateStorage
+..see:Internal._reallocateStorage
+*/
+       friend inline void 
+       _deallocateStorage(
+               String & me, 
+               typename Value<String>::Type * ptr, 
+               size_t capacity)
+       {
+SEQAN_CHECKPOINT
+               size_t size = _computeSize4Capacity(me, capacity);
+               deallocate(me, ptr, size, TagAllocateStorage());
+       }
+
+//____________________________________________________________________________
+
+};
+
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TValue, typename TSpec>
+struct DefaultOverflowImplicit<String<TValue, Alloc<TSpec> > >
+{
+       typedef Generous Type;
+};
+
+template <typename TValue, typename TSpec>
+struct DefaultOverflowImplicit<String<TValue, Alloc<TSpec> > const >
+{
+       typedef Generous Type;
+};
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TValue, typename TSpec>
+struct IsContiguous< String<TValue, Alloc<TSpec> > >
+{
+    typedef True Type;
+       enum { VALUE = true };
+};
+
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TTargetValue, typename TSourceValue, typename TSpec>
+inline void 
+move(String<TTargetValue, Alloc<TSpec> > & target, 
+        String<TSourceValue, Alloc<TSpec> > & source)
+{
+       _moveContiguous(target, source);
+}
+template <typename TTargetValue, typename TSourceValue, typename TSpec>
+inline void 
+move(String<TTargetValue, Alloc<TSpec> > & target, 
+        String<TSourceValue, Alloc<TSpec> > const & source)
+{
+       _moveContiguous(target, source);
+}
+
+template <typename TValue, typename TSpec>
+inline void 
+move(String<TValue, Alloc<TSpec> > & target, 
+        String<TValue, Alloc<TSpec> > & source)
+{
+       clear(target);
+       target.data_begin = source.data_begin;
+       target.data_end = source.data_end;
+       target.data_capacity = source.data_capacity;
+
+       source.data_begin = 0;
+       source.data_end = 0;
+       source.data_capacity = 0;
+}
+template <typename TValue, typename TSpec>
+inline void 
+move(String<TValue, Alloc<TSpec> > & target, 
+        String<TValue, Alloc<TSpec> > const & source)
+{
+       clear(target);
+       target.data_begin = source.data_begin;
+       target.data_end = source.data_end;
+       target.data_capacity = source.data_capacity;
+
+       source.data_begin = 0;
+       source.data_end = 0;
+       source.data_capacity = 0;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+///.Function.reserve.param.object.type:Spec.Alloc String
+
+template <typename TValue, typename TSpec, typename _TSize, typename TExpand>
+inline typename Size< String<TValue, Alloc<TSpec> > >::Type
+reserve(
+       String<TValue, Alloc<TSpec> > & seq, 
+       _TSize new_capacity,
+       Tag<TExpand> const tag)
+{
+SEQAN_CHECKPOINT
+       typedef typename Size< String<TValue, Alloc<TSpec> > >::Type TSize;
+
+       TSize old_capacity = capacity(seq);
+       if (old_capacity >= (TSize)new_capacity) return new_capacity;
+
+       TSize seq_length = length(seq);
+       typename Value< String<TValue, Alloc<TSpec> > >::Type * old_array = _reallocateStorage(seq, new_capacity, tag);
+       if (old_array)
+       {//buffer was replaced, destruct old buffer
+               arrayConstructCopy(old_array, old_array + seq_length, begin(seq, Standard()));
+               arrayDestruct(old_array, old_array + seq_length);
+               _deallocateStorage(seq, old_array, old_capacity);
+               _setLength(seq, seq_length);
+       }
+       else if (!old_capacity)
+       {//new buffer created and the string had no buffer yet
+               _setLength(seq, seq_length);
+       }
+       return new_capacity;
+}
+
+template <typename TValue, typename TSpec, typename _TSize>
+inline typename Size< String<TValue, Alloc<TSpec> > >::Type
+reserve(
+       String<TValue, Alloc<TSpec> > & me, 
+       _TSize new_capacity,
+       Limit)
+{
+SEQAN_CHECKPOINT
+       typedef typename Size< String<TValue, Alloc<TSpec> > >::Type TSize;
+
+       TSize me_capacity = capacity(me);
+       if (me_capacity < (TSize)new_capacity) return me_capacity;
+       return new_capacity;
+}
+
+template <typename TValue, typename TSpec, typename _TSize>
+inline typename Size< String<TValue, Alloc<TSpec> > >::Type
+reserve(
+       String<TValue, Alloc<TSpec> > & /*me*/, 
+       _TSize new_capacity,
+       Insist)
+{
+SEQAN_CHECKPOINT
+       typedef typename Size< String<TValue, Alloc<TSpec> > >::Type TSize;
+
+       return new_capacity;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+
+
+} //namespace SEQAN_NAMESPACE_MAIN
+
+#endif //#ifndef SEQAN_HEADER_...
diff --git a/SeqAn-1.1/seqan/sequence/string_array.h b/SeqAn-1.1/seqan/sequence/string_array.h
new file mode 100644 (file)
index 0000000..c865ede
--- /dev/null
@@ -0,0 +1,237 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de 
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: string_array.h,v 1.1 2008/08/25 16:20:04 langmead Exp $
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_SEQUENCE_STRING_ARRAY_H
+#define SEQAN_HEADER_SEQUENCE_STRING_ARRAY_H
+
+
+namespace SEQAN_NAMESPACE_MAIN
+{
+
+/**
+.Spec.Array String:
+..cat:Strings
+..general:Class.String
+..summary:Fast but non-expandable string.
+..signature:String<TValue, Array<size> >
+..param.TValue:The value type, that is the type of the items/characters stored in the string.
+...remarks:Use @Metafunction.Value@ to get the value type for a given class.
+..param.size:A positive integer that specifies the capacity of the string.
+...remarks:Note that the capacity of a stack string cannot be changed later.
+*/
+//////////////////////////////////////////////////////////////////////////////
+
+template <unsigned int ISize>
+struct Array;
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TValue, unsigned int ISize>
+class String<TValue, Array<ISize> >
+{
+protected:
+       mutable TValue data_begin[ISize];
+       TValue * data_end;
+
+//____________________________________________________________________________
+
+public:
+       String()
+       {
+SEQAN_CHECKPOINT
+               data_end = data_begin;
+       }
+
+       template <typename TSource>
+       String(TSource & source)
+       {
+SEQAN_CHECKPOINT
+               data_end = data_begin;
+               assign(*this, source);
+       }
+       template <typename TSource>
+       String(TSource const & source)
+       {
+SEQAN_CHECKPOINT
+               data_end = data_begin;
+               assign(*this, source);
+       }
+       String(String const & source)
+       {
+SEQAN_CHECKPOINT
+               data_end = data_begin;
+               assign(*this, source);
+       }
+
+       template <typename TSource>
+       String & operator =(TSource const & source)
+       {
+SEQAN_CHECKPOINT
+               assign(*this, source);
+               return *this;
+       }
+       String & operator =(String const & source)
+       {
+SEQAN_CHECKPOINT
+               assign(*this, source);
+               return *this;
+       }
+
+       ~String()
+       {
+       }
+
+//____________________________________________________________________________
+
+       template <typename TPos>
+       inline typename Reference<String>::Type
+       operator [] (TPos pos)
+       {
+SEQAN_CHECKPOINT
+               return value(*this, pos);
+       }
+
+       template <typename TPos>
+       inline typename Reference<String const>::Type 
+       operator [] (TPos pos) const
+       {
+SEQAN_CHECKPOINT
+               return value(*this, pos);
+       }
+
+//____________________________________________________________________________
+
+       friend inline typename Iterator<String, Standard>::Type
+       begin(String & me,
+               Standard)
+       {
+SEQAN_CHECKPOINT
+               return me.data_begin;
+       }
+       friend inline typename Iterator<String const, Standard>::Type
+       begin(String const & me,
+               Standard)
+       {
+SEQAN_CHECKPOINT
+               return me.data_begin;
+       }
+
+//____________________________________________________________________________
+
+       friend inline typename Iterator<String, Standard>::Type
+       end(String & me,
+               Standard)
+       {
+SEQAN_CHECKPOINT
+               return me.data_end;
+       }
+       friend inline typename Iterator<String const, Standard>::Type
+       end(String const & me,
+               Standard)
+       {
+SEQAN_CHECKPOINT
+               return me.data_end;
+       }
+
+//____________________________________________________________________________
+
+       friend inline size_t
+       capacity(String &)
+       {
+SEQAN_CHECKPOINT
+               return ISize;
+       }
+
+       friend inline size_t
+       capacity(String const &)
+       {
+SEQAN_CHECKPOINT
+               return ISize;
+       }
+//____________________________________________________________________________
+
+/**
+.Internal._setLength.param.object.type:Spec.Array String
+*/
+       friend inline void 
+       _setLength(
+               String & me, 
+               size_t new_length)
+       {
+SEQAN_CHECKPOINT
+               me.data_end = me.data_begin + new_length;
+       }
+
+//____________________________________________________________________________
+
+};
+
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TValue, unsigned int ISize>
+struct DefaultOverflowImplicit<String<TValue, Array<ISize> > >
+{
+       typedef Limit Type;
+};
+
+template <typename TValue, unsigned int ISize>
+struct DefaultOverflowImplicit<String<TValue, Array<ISize> > const >
+{
+       typedef Limit Type;
+};
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TValue, unsigned int ISize>
+struct DefaultOverflowExplicit<String<TValue, Array<ISize> > >
+{
+       typedef Limit Type;
+};
+
+template <typename TValue, unsigned int ISize>
+struct DefaultOverflowExplicit<String<TValue, Array<ISize> > const >
+{
+       typedef Limit Type;
+};
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TValue, unsigned int ISize>
+struct IsContiguous< String<TValue, Array<ISize> > >
+{
+    typedef True Type;
+       enum { VALUE = true };
+};
+
+//////////////////////////////////////////////////////////////////////////////
+
+///.Metafunction.LENGTH.param.T.type:Spec.Array String
+template <typename TValue, unsigned int ISize>
+struct LENGTH< String<TValue, Array<ISize> > >
+{
+       enum { VALUE = ISize };
+};
+
+//////////////////////////////////////////////////////////////////////////////
+
+} //namespace SEQAN_NAMESPACE_MAIN
+
+#endif //#ifndef SEQAN_HEADER_...
diff --git a/SeqAn-1.1/seqan/sequence/string_base.h b/SeqAn-1.1/seqan/sequence/string_base.h
new file mode 100644 (file)
index 0000000..d32237c
--- /dev/null
@@ -0,0 +1,1695 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de 
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: string_base.h,v 1.1 2008/08/25 16:20:04 langmead Exp $
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_SEQUENCE_ARRAY_BASE_H
+#define SEQAN_HEADER_SEQUENCE_ARRAY_BASE_H
+
+
+namespace SEQAN_NAMESPACE_MAIN
+{
+
+//////////////////////////////////////////////////////////////////////////////
+// Tags
+//////////////////////////////////////////////////////////////////////////////
+
+
+template <typename TSpec = void>
+struct Alloc;
+
+
+//////////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////////
+/**
+.Class.String:
+..cat:Sequences
+..summary:General purpose container for sequences.
+..signature:String<TValue, TSpec>
+..param.TValue:The value type, that is the type of the items/characters stored in the string.
+...metafunction:Metafunction.Value
+..param.TSpec:The specializing type.
+...metafunction:Metafunction.Spec
+...default:$Alloc<>$, see @Spec.Alloc String@.
+..implements:Concept.Container
+..include:sequence.h
+*/
+
+template <typename TValue, typename TSpec = Alloc<> >
+class String;
+
+
+
+
+//////////////////////////////////////////////////////////////////////////////
+// METAFUNCTIONS
+//////////////////////////////////////////////////////////////////////////////
+
+///.Metafunction.Iterator.param.T.type:Class.String
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TValue, typename TSpec>
+struct Value<String<TValue, TSpec> >
+{
+       typedef TValue Type;
+};
+template <typename TValue, typename TSpec>
+struct Value<String<TValue, TSpec> const >:
+       public Value<String<TValue, TSpec> >
+{
+};
+
+//////////////////////////////////////////////////////////////////////////////
+
+///.Metafunction.Spec.param.T.type:Class.String
+
+template <typename TValue, typename TSpec>
+struct Spec<String<TValue, TSpec> >
+{
+       typedef TSpec Type;
+};
+template <typename TValue, typename TSpec>
+struct Spec<String<TValue, TSpec> const>:
+       public Spec<String<TValue, TSpec> >
+{
+};
+
+//////////////////////////////////////////////////////////////////////////////
+
+///.Metafunction.IsSequence.param.T.type:Class.String
+
+template <typename TValue, typename TSpec>
+struct IsSequence<String<TValue, TSpec> > {
+    typedef True Type;
+       enum { VALUE = true };
+};
+
+//////////////////////////////////////////////////////////////////////////////
+// Returns a Class that can be used to store a temporary copy of a String
+
+template <typename T>
+struct _TempCopy
+{
+       typedef typename Value<T>::Type TValue;
+       typedef typename _RemoveConst<TValue>::Type TValue_NotConst;
+       typedef String<TValue_NotConst, Alloc<> > Type;
+};
+
+//////////////////////////////////////////////////////////////////////////////
+// FUNCTIONS
+//////////////////////////////////////////////////////////////////////////////
+
+///.Function.id.param.object.type:Class.String
+///.Function.empty.param.object.type:Class.String
+///.Function.capacity.param.object.type:Class.String
+
+
+//////////////////////////////////////////////////////////////////////////////
+//shareResources
+
+///.Function.shareResources.param.sequence1, sequence2.type:Class.String
+
+template <typename TValue, typename TSpec>
+inline bool 
+shareResources(String<TValue, TSpec> const & obj1,
+                                       TValue const & obj2)
+{
+SEQAN_CHECKPOINT
+       return (begin(obj1) >= &obj2) && (end(obj1) <= &obj2);
+}
+
+template <typename TValue, typename TSpec>
+inline bool 
+shareResources(TValue const & obj1,
+                                       String<TValue, TSpec> const & obj2)
+{
+SEQAN_CHECKPOINT
+       return (begin(obj2) >= &obj1) && (end(obj2) <= &obj1);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+///.Function.begin.param.object.type:Class.String
+///.Function.end.param.object.type:Class.String
+//////////////////////////////////////////////////////////////////////////////
+
+///.Function.value.param.container.type:Class.String
+
+template <typename TValue, typename TSpec, typename TPos>
+inline typename Reference< String<TValue, TSpec> >::Type 
+value(String<TValue, TSpec> & me, 
+         TPos pos)
+{
+SEQAN_CHECKPOINT
+       return *(begin(me, Standard()) + pos);
+}
+
+template <typename TValue, typename TSpec, typename TPos>
+inline typename Reference< String<TValue, TSpec> const >::Type 
+value(String<TValue, TSpec> const & me, 
+         TPos pos)
+{
+SEQAN_CHECKPOINT
+       return *(begin(me, Standard()) + pos);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+///.Function.length.param.object.type:Class.String
+
+template <typename TValue, typename TSpec>
+inline typename Size< String<TValue, TSpec> const>::Type
+length(String<TValue, TSpec> const & me)
+{
+SEQAN_CHECKPOINT
+       return end(me, Standard()) - begin(me, Standard());
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Function.clear:
+..cat:Containers
+..summary:Resets an object.
+..signature:clear(object)
+..param.object:The object that will be resetted.
+...type:Class.String
+..remarks:$object$ is set to a state that is equivalent to a default constructed object of the same type.
+..remarks:If $object$ is a container, then all elements are removed from this container. 
+The length is set to 0.
+The capacity can be changed, depending on the implementation.
+..see:Function.resize
+..see:Function.length
+*/
+
+template <typename TValue, typename TSpec>
+inline void 
+clear(String<TValue, TSpec> & me)
+{
+SEQAN_CHECKPOINT
+       arrayDestruct(begin(me, Standard()), end(me, Standard()));
+       _setLength(me, 0);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TExpand>
+struct _ClearSpace_String_Base_
+{
+};
+
+//____________________________________________________________________________
+
+template <>
+struct _ClearSpace_String_Base_<Insist>
+{
+       template <typename T>
+       static inline typename Size<T>::Type
+       _clearSpace_(
+               T & seq, 
+               typename Size<T>::Type size)
+       {
+SEQAN_CHECKPOINT
+               arrayDestruct(begin(seq, Standard()), end(seq, Standard()));
+               _setLength(seq, size);
+               return size;
+       }
+
+       template <typename T>
+       static inline typename Size<T>::Type 
+       _clearSpace_(
+               T & seq, 
+               typename Size<T>::Type size,
+               typename Size<T>::Type limit)
+       {
+               arrayDestruct(begin(seq, Standard()), end(seq, Standard()));
+               if (limit < size)
+               {
+SEQAN_CHECKPOINT
+                       size = limit;
+               }
+               _setLength(seq, size);
+               return size;
+       }
+
+       template <typename T>
+       static inline typename Size<T>::Type 
+       _clearSpace_(
+               T & seq, 
+               typename Size<T>::Type size, 
+               typename Size<T>::Type start, 
+               typename Size<T>::Type end)
+       {
+SEQAN_CHECKPOINT
+               typename Size<T>::Type new_length = length(seq) + size - (end - start);
+               arrayClearSpace(begin(seq, Standard()) + start, length(seq) - start, end - start, size);
+               _setLength(seq, new_length);
+               return size;
+       }
+
+       template <typename T>
+       static typename Size<T>::Type 
+       _clearSpace_(
+               T & seq, 
+               typename Size<T>::Type size, 
+               typename Size<T>::Type start, 
+               typename Size<T>::Type end, 
+               typename Size<T>::Type limit)
+       {
+               typename Value<T>::Type * seq_buffer = begin(seq);
+               typename Size<T>::Type seq_length = length(seq);
+               
+               if (limit > start + size)
+               {
+SEQAN_CHECKPOINT
+                       typename Size<T>::Type removed_size = end - start;
+                       typename Size<T>::Type new_length = seq_length - removed_size + size;
+                       if (limit < new_length)
+                       {
+SEQAN_CHECKPOINT
+                               arrayDestruct(seq_buffer + limit, seq_buffer + new_length);
+                               seq_length -= new_length - limit;
+                       }
+                       arrayClearSpace(seq_buffer + start, seq_length - start, end - start, size);
+                       _setLength(seq, new_length);
+                       return size;
+               }
+               else
+               {
+SEQAN_CHECKPOINT
+                       arrayDestruct(seq_buffer + start, seq_buffer + seq_length);
+                       _setLength(seq, limit);
+                       if (limit > start) return limit - start;
+                       else return 0;
+               }
+       }
+/*
+       template <typename T>
+       static inline typename Size<T>::Type 
+       _clearSpace_(
+               T & seq, 
+               typename Size<T>::Type size, 
+               typename Iterator<T>::Type start, 
+               typename Iterator<T>::Type end)
+       {
+               typename Iterator<T>::Type seq_begin = begin(seq);
+               return _clearSpace(seq, size, start - seq_begin, end - seq_begin, Insist());
+       }
+
+       template <typename T>
+       static inline typename Size<T>::Type 
+       _clearSpace_(
+               T & seq, 
+               typename Size<T>::Type size,  
+               typename Iterator<T>::Type start,
+               typename Iterator<T>::Type end,
+               typename Size<T>::Type limit) 
+       {
+               typename Iterator<T>::Type seq_begin = begin(seq);
+               return _clearSpace(seq, size, start - seq_begin, end - seq_begin, limit, Insist());
+       }
+*/
+};
+
+
+//____________________________________________________________________________
+
+
+template <>
+struct _ClearSpace_String_Base_<Limit>
+{
+
+       template <typename T>
+       static inline typename Size<T>::Type 
+       _clearSpace_(
+               T & seq, 
+               typename Size<T>::Type size)
+       {
+SEQAN_CHECKPOINT
+               return _clearSpace(seq, size, capacity(seq), Insist());
+       }
+
+       template <typename T>
+       static inline typename Size<T>::Type 
+       _clearSpace_(
+               T & seq, 
+               typename Size<T>::Type size,
+               typename Size<T>::Type limit)
+       {
+               typename Size<T>::Type seq_capacity = capacity(seq);
+               if (limit > seq_capacity) 
+               {
+SEQAN_CHECKPOINT
+                       limit = seq_capacity;
+               }
+               return _clearSpace(seq, size, limit, Insist());
+       }
+
+       template <typename T>
+       static inline typename Size<T>::Type 
+       _clearSpace_(
+               T & seq, 
+               typename Size<T>::Type size, 
+               typename Size<T>::Type start, 
+               typename Size<T>::Type end)
+       {
+SEQAN_CHECKPOINT
+               return _clearSpace(seq, size, start, end, capacity(seq), Insist());
+       }
+
+       template <typename T>
+       static typename Size<T>::Type 
+       _clearSpace_(
+               T & seq, 
+               typename Size<T>::Type size, 
+               typename Size<T>::Type start, 
+               typename Size<T>::Type end, 
+               typename Size<T>::Type limit)
+       {
+               typename Size<T>::Type seq_capacity = capacity(seq);
+               if (limit > seq_capacity) 
+               {
+SEQAN_CHECKPOINT
+                       limit = seq_capacity;
+               }
+               return _clearSpace(seq, size, start, end, limit, Insist());
+       }
+
+/*
+       template <typename T>
+       static inline typename Size<T>::Type 
+       _clearSpace_(
+               T & seq, 
+               typename Size<T>::Type size, 
+               typename Iterator<T>::Type start, 
+               typename Iterator<T>::Type end)
+       {
+               typename Iterator<T>::Type seq_begin = begin(seq);
+               return _clearSpace(seq, size, start - seq_begin, end - seq_begin, Insist());
+       }
+
+       template <typename T>
+       static inline typename Size<T>::Type 
+       _clearSpace_(
+               T & seq, 
+               typename Size<T>::Type size,  
+               typename Iterator<T>::Type start,
+               typename Iterator<T>::Type end,
+               typename Size<T>::Type limit) 
+       {
+               typename Iterator<T>::Type seq_begin = begin(seq);
+               return _clearSpace(seq, size, start - seq_begin, end - seq_begin, limit, Insist());
+       }
+*/
+};
+
+//____________________________________________________________________________
+
+template <typename TExpand>
+struct _ClearSpace_Expand_String_Base_
+{
+       template <typename T>
+       static inline typename Size<T>::Type 
+       _clearSpace_(
+               T & seq, 
+               typename Size<T>::Type size)
+       {
+               arrayDestruct(begin(seq, Standard()), end(seq, Standard()));
+               typename Size<T>::Type old_capacity = capacity(seq);
+               typename Value<T>::Type * old_array = _reallocateStorage(seq, size, TExpand());
+               if (old_array)
+               {
+SEQAN_CHECKPOINT
+                       _deallocateStorage(seq, old_array, old_capacity);
+               }
+               _setLength(seq, size);
+               return size;
+       }
+
+       template <typename T>
+       static inline typename Size<T>::Type 
+       _clearSpace_(
+               T & seq, 
+               typename Size<T>::Type size,
+               typename Size<T>::Type limit)
+       {
+               arrayDestruct(begin(seq, Standard()), end(seq, Standard()));
+               if (limit < size)
+               {
+SEQAN_CHECKPOINT
+                       size = limit;
+               }
+               typename Size<T>::Type old_capacity = capacity(seq);
+               typename Value<T>::Type * old_array = _reallocateStorage(seq, size, limit, TExpand());
+               if (old_array)
+               {
+                       _deallocateStorage(seq, old_array, old_capacity);
+               }
+               _setLength(seq, size);
+               return size;
+       }
+
+       template <typename T>
+       static typename Size<T>::Type 
+       _clearSpace_(
+               T & seq, 
+               typename Size<T>::Type size, 
+               typename Size<T>::Type start, 
+               typename Size<T>::Type end)
+       {
+               typename Size<T>::Type old_length = length(seq);
+               typename Size<T>::Type removed_size = end - start;
+               typename Size<T>::Type new_length = old_length - removed_size + size;
+
+               typename Size<T>::Type old_capacity = capacity(seq);
+               typename Value<T>::Type * old_array = _reallocateStorage(seq, new_length, TExpand());
+               typename Value<T>::Type * seq_array = begin(seq);
+
+               if (old_array)
+               {
+SEQAN_CHECKPOINT
+                       arrayConstructMove(old_array, old_array + start, seq_array);
+                       arrayConstructMove(old_array + end, old_array + old_length, seq_array + start + size);
+                       _deallocateStorage(seq, old_array, old_capacity);
+               }
+               else
+               {
+SEQAN_CHECKPOINT
+                       arrayClearSpace(seq_array + start, old_length - start, removed_size, size);
+               }
+
+               _setLength(seq, new_length);
+
+               return size;
+       }
+
+       template <typename T>
+       static typename Size<T>::Type 
+       _clearSpace_(
+               T & seq, 
+               typename Size<T>::Type size, 
+               typename Size<T>::Type start, 
+               typename Size<T>::Type end, 
+               typename Size<T>::Type limit)
+       {
+               typename Size<T>::Type old_length = length(seq);
+               typename Size<T>::Type removed_size = end - start;
+               typename Size<T>::Type need_length = old_length - removed_size + size;
+
+               typename Size<T>::Type new_length = need_length;
+               typename Size<T>::Type length_to_copy = old_length;
+               if (limit < need_length)
+               {
+SEQAN_CHECKPOINT
+                       new_length = limit;
+                       length_to_copy = new_length - size + removed_size;
+               }
+
+               bool keep_second_part = (new_length > start + size);
+
+               typename Size<T>::Type old_capacity = capacity(seq);
+               typename Value<T>::Type * old_array = _reallocateStorage(seq, new_length, limit, TExpand());
+               typename Value<T>::Type * seq_array = begin(seq);
+
+               if (old_array)
+               {//new buffer allocated
+                //so old_length < limit, so start <= limit
+                       arrayConstructMove(old_array, old_array + start, seq_array);
+                       if (keep_second_part)
+                       {
+                               arrayConstructMove(old_array + end, old_array + length_to_copy, seq_array + start + size);
+                       }
+                       _deallocateStorage(seq, old_array, old_capacity);
+               }
+               else
+               {
+                       if (keep_second_part)
+                       {
+                               arrayClearSpace(seq_array + start, length_to_copy - start, end - start, size);
+                               if (length_to_copy < old_length)
+                               {
+                                       arrayDestruct(seq_array + length_to_copy, seq_array + old_length);
+                               }
+                       }
+                       else
+                       {
+                               arrayDestruct(seq_array + start, seq_array + old_length);
+                       }
+               }
+
+               _setLength(seq, new_length);
+
+               if (keep_second_part) return size;
+               else if (new_length > start) return new_length - start;
+               else return 0;
+       }
+
+/*
+       template <typename T>
+       static inline typename Size<T>::Type 
+       _clearSpace_(
+               T & seq, 
+               typename Size<T>::Type size, 
+               typename Iterator<T>::Type start, 
+               typename Iterator<T>::Type end)
+       {
+               typename Iterator<T>::Type seq_begin = begin(seq);
+               return _clearSpace(seq, size, start - seq_begin, end - seq_begin, TExpand());
+       }
+
+       template <typename T>
+       static inline typename Size<T>::Type 
+       _clearSpace_(
+               T & seq, 
+               typename Size<T>::Type size,  
+               typename Iterator<T>::Type start,
+               typename Iterator<T>::Type end,
+               typename Size<T>::Type limit) 
+       {
+               typename Iterator<T>::Type seq_begin = begin(seq);
+               return _clearSpace(seq, size, start - seq_begin, end - seq_begin, limit, TExpand());
+       }
+*/
+};
+
+//____________________________________________________________________________
+
+template <>
+struct _ClearSpace_String_Base_<Exact>:
+       _ClearSpace_Expand_String_Base_<Exact>
+{
+};
+
+//____________________________________________________________________________
+
+template <>
+struct _ClearSpace_String_Base_<Generous>:
+       _ClearSpace_Expand_String_Base_<Generous>
+{
+};
+
+//____________________________________________________________________________
+/**
+.Internal._clearSpace:
+..cat:Functions
+..summary:Makes space in container
+..signature:_clearSpace(object, size [, pos_begin, pos_end] [, limit], resize_tag)
+..param.object:The container.
+..param.size:Length of the freed space.
+..param.pos_begin:Position of the first item in $object$ that is to be destroyed. (optional)
+..param.pos_end:Position behind the last item in $object$ that is to be destroyed. (optional)
+...remarks:If $pos_end == pos_begin$, no item in $object$ will be destroyed.
+..param.limit:Maximal length $object$ can get after this operation. (optional)
+..param.resize_tag:Strategy that is applied if $object$ has not enough capacity to store the complete content.
+..returns:The number of free characters.
+...remarks:Depeding on the @Tag.Overflow Strategy.overflow strategy@ specified by $resize_tag$,
+this could be $size$ or less than $size$ if $object$ has not enough @Function.capacity@.
+..remarks:This function is similar to @Function.resizeSpace@ and @Function.fillSpace@. 
+The main difference is that $_clearSpace$ does not construct objects in the new created space.
+*/
+template<typename TValue, typename TSpec, typename TSize, typename TExpand>
+inline typename Size< String<TValue, TSpec> >::Type 
+_clearSpace(String<TValue, TSpec> & me, 
+               TSize size, 
+               Tag<TExpand> const)
+{
+SEQAN_CHECKPOINT
+       return _ClearSpace_String_Base_<Tag<TExpand> const>::_clearSpace_(me, size);
+}
+
+template<typename TValue, typename TSpec, typename TSize, typename TExpand>
+inline typename Size< String<TValue, TSpec> >::Type 
+_clearSpace(String<TValue, TSpec> & me, 
+               TSize size, 
+               TSize limit, 
+               Tag<TExpand> const)
+{
+SEQAN_CHECKPOINT
+       return _ClearSpace_String_Base_<Tag<TExpand> const>::_clearSpace_(me, size, limit);
+}
+
+template<typename TValue, typename TSpec, typename TSize, typename TPosition, typename TExpand>
+inline typename Size< String<TValue, TSpec> >::Type 
+_clearSpace(String<TValue, TSpec> & me, 
+                       TSize size, 
+                       TPosition pos_begin, 
+                       TPosition pos_end, 
+                       Tag<TExpand> const)
+{
+SEQAN_CHECKPOINT
+       return _ClearSpace_String_Base_<Tag<TExpand> const>::_clearSpace_(me, size, pos_begin, pos_end);
+}
+
+template<typename TValue, typename TSpec, typename TSize, typename TPosition, typename TExpand>
+inline typename Size< String<TValue, TSpec> >::Type 
+_clearSpace(String<TValue, TSpec> & me, 
+                       TSize size, 
+                       TPosition pos_begin, 
+                       TPosition pos_end, 
+                       TSize limit, 
+                       Tag<TExpand> const)
+{
+SEQAN_CHECKPOINT
+       return _ClearSpace_String_Base_<Tag<TExpand> const>::_clearSpace_(me, size, pos_begin, pos_end, limit);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Function.resizeSpace.param.object.type:Class.String
+*/
+
+template<typename TValue, typename TSpec, typename TPosition, typename TExpand>
+inline typename Size< String<TValue, TSpec> >::Type 
+resizeSpace(String<TValue, TSpec> & me, 
+                       typename Size< String<TValue, TSpec> >::Type size, 
+                       TPosition pos_begin, 
+                       TPosition pos_end, 
+                       Tag<TExpand> const tag)
+{
+SEQAN_CHECKPOINT
+       typename Size<String<TValue, TSpec> >::Type ret_ =_clearSpace(me, size, pos_begin, pos_end, tag);
+       arrayConstruct(iter(me, pos_begin), iter(me, pos_begin) + ret_);
+       return ret_;
+}
+
+template<typename TValue, typename TSpec, typename TPosition, typename TExpand>
+inline typename Size< String<TValue, TSpec> >::Type 
+resizeSpace(String<TValue, TSpec> & me, 
+                       typename Size< String<TValue, TSpec> >::Type size, 
+                       TPosition pos_begin, 
+                       TPosition pos_end, 
+                       typename Size< String<TValue, TSpec> >::Type limit, 
+                       Tag<TExpand> const tag)
+{
+SEQAN_CHECKPOINT
+       typename Size<String<TValue, TSpec> >::Type ret_ =_clearSpace(me, size, pos_begin, pos_end, limit, tag);
+       arrayConstruct(iter(me, pos_begin), iter(me, pos_begin) + ret_);
+       return ret_;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// assignValue (2)
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TValue, typename TSpec, typename TValue2>
+inline void
+assignValue(String<TValue, TSpec> & me,
+                       TValue2 const & _value)
+{
+//     assign(me, toString(_value)); ???TODO
+}
+
+//???TODO: moveValue (2)
+
+//////////////////////////////////////////////////////////////////////////////
+// assign
+//////////////////////////////////////////////////////////////////////////////
+
+///.Function.assign.param.target.type:Class.String
+///.Function.assign.param.source.type:Class.String
+
+//overload of binary version for strings: 
+
+template<typename TTargetValue, typename TTargetSpec, typename TSource>
+inline void 
+assign(String<TTargetValue, TTargetSpec> & target,
+         TSource & source)
+{
+SEQAN_CHECKPOINT
+       typedef String<TTargetValue, TTargetSpec> TTarget;
+       assign(target, source, typename DefaultOverflowImplicit<TTarget>::Type());
+}
+template<typename TTargetValue, typename TTargetSpec, typename TSource>
+inline void 
+assign(String<TTargetValue, TTargetSpec> & target,
+         TSource const & source)
+{
+SEQAN_CHECKPOINT
+       typedef String<TTargetValue, TTargetSpec> TTarget;
+       assign(target, source, typename DefaultOverflowImplicit<TTarget>::Type());
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TExpand>
+struct _Assign_String
+{
+       template <typename TTarget, typename TSource>
+       static inline void 
+       assign_(
+               TTarget & target,
+               TSource & source)
+       {
+               if (!id(source) || !shareResources(target, source))
+               {
+SEQAN_CHECKPOINT
+                       typename Size<TTarget>::Type part_length = _clearSpace(target, length(source), TExpand());
+                       arrayConstructCopy(begin(source, Standard()), begin(source, Standard()) + part_length, begin(target, Standard()));
+               }
+               else
+               {
+SEQAN_CHECKPOINT
+                       if ((void *) &target == (void *) &source) return;
+
+                       typename _TempCopy<TSource>::Type temp(source, length(source));
+                       assign(target, temp, TExpand());
+               }
+       }
+
+       template <typename TTarget, typename TSource>
+       static inline void 
+       assign_(
+               TTarget & target,
+               TSource & source,
+               typename Size<TTarget>::Type limit)
+       {
+               if (!id(source) || !shareResources(target, source))
+               {
+SEQAN_CHECKPOINT
+                       typename Size<TTarget>::Type part_length = _clearSpace(target, typename Size<TTarget>::Type(length(source)), limit, TExpand());
+                       arrayConstructCopy(begin(source, Standard()), begin(source, Standard()) + part_length, begin(target, Standard()));
+               }
+               else
+               {
+SEQAN_CHECKPOINT
+                       if ((void *) &target == (void *) &source) return;
+
+                       typename Size<TTarget>::Type source_length = length(source);
+                       if (source_length > limit) source_length = limit;
+
+                       typename _TempCopy<TSource>::Type temp(source, source_length);
+                       assign(target, temp, TExpand());
+               }
+       }
+};
+
+//////////////////////////////////////////////////////////////////////////////
+
+template<typename TTargetValue, typename TTargetSpec, typename TSource, typename TExpand>
+inline void
+assign(String<TTargetValue, TTargetSpec> & target,
+          TSource const & source,
+          Tag<TExpand> const)
+{
+       typedef String<TTargetValue, TTargetSpec> TTarget;
+       _Assign_String<Tag<TExpand> const>::assign_(target, source);
+}
+template<typename TTargetValue, typename TTargetSpec, typename TSource, typename TSize, typename TExpand>
+inline void
+assign(String<TTargetValue, TTargetSpec> & target,
+          TSource const & source,
+          TSize limit,
+          Tag<TExpand> const)
+{
+       typedef String<TTargetValue, TTargetSpec> TTarget;
+       _Assign_String<Tag<TExpand> const>::assign_(target, source, limit);
+}
+
+//____________________________________________________________________________
+//this variant is a workaround for the "const array"-bug of VC++
+
+template<typename TTargetValue, typename TTargetSpec, typename TSourceValue, typename TExpand>
+inline void
+assign(String<TTargetValue, TTargetSpec> & target,
+          TSourceValue const * source,
+          Tag<TExpand> const)
+{
+       typedef String<TTargetValue, TTargetSpec> TTarget;
+       _Assign_String<Tag<TExpand> const>::assign_(target, source);
+}
+template<typename TTargetValue, typename TTargetSpec, typename TSourceValue, typename TSize, typename TExpand>
+inline void
+assign(String<TTargetValue, TTargetSpec> & target,
+          TSourceValue const * source,
+          TSize limit,
+          Tag<TExpand> const)
+{
+       typedef String<TTargetValue, TTargetSpec> TTarget;
+       _Assign_String<Tag<TExpand> const>::assign_(target, source, limit);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// move
+//////////////////////////////////////////////////////////////////////////////
+
+//____________________________________________________________________________
+//implementation of move for contiguous sequences
+//note: there is a problem, if sizeof(TSourceValue) and sizeof(TTargetValue) are not a multiple
+//     of each other, since in this case the correct size cannot be determined afterwards
+//     when calling the deallocate function. 
+//     ???TODO
+template <typename TTarget, typename TSource>
+void
+_moveContiguous(TTarget & target,
+                               TSource & source)
+{
+       typedef typename Value<TSource>::Type TSourceValue;
+       typedef typename Value<TTarget>::Type TTargetValue;
+
+       clear(target);
+
+       typename Iterator<TSource, Standard>::Type source_begin = begin(source, Standard());
+       typename Iterator<TTarget, Standard>::Type target_begin = (typename Iterator<TTarget, Standard>::Type) begin(source, Standard());
+
+       typename Size<TTarget>::Type size = sizeof(TSourceValue) * capacity(source);
+       if (size >=  sizeof(TTargetValue))
+       {
+SEQAN_CHECKPOINT
+               if (sizeof(TSourceValue) <= 2) ++size; //regard the "end of string termination" case
+               typename Size<TTarget>::Type target_capacity = size / sizeof(TTargetValue);
+               if (sizeof(TTargetValue) <= 2) --target_capacity; //regard the "end of string termination" case
+
+               typename Size<TTarget>::Type target_length = length(source);
+               if (target_length > target_capacity)
+               {
+                       target_length = target_capacity;
+               }
+
+               if (sizeof(TSourceValue) >= sizeof(TTargetValue))
+               {
+                       arrayMoveForward(source_begin, source_begin + target_length, target_begin);
+               }
+               else
+               {
+                       arrayMoveBackward(source_begin, source_begin + target_length, target_begin);
+               }
+
+               _setBegin(target, target_begin);
+               _setLength(target, target_length);
+               _setCapacity(target, target_capacity);
+
+               _setBegin(source, 0);
+               _setLength(source, 0);
+               _setCapacity(source, 0);
+       }
+       else
+       {
+               clear(source);
+       }
+}
+//____________________________________________________________________________
+
+//overload of binary version for strings: 
+
+template<typename TTargetValue, typename TTargetSpec, typename TSource>
+inline void 
+move(String<TTargetValue, TTargetSpec> & target,
+        TSource & source)
+{
+SEQAN_CHECKPOINT
+       typedef String<TTargetValue, TTargetSpec> TTarget;
+       move(target, source, typename DefaultOverflowImplicit<TTarget>::Type());
+}
+template<typename TTargetValue, typename TTargetSpec, typename TSource>
+inline void 
+move(String<TTargetValue, TTargetSpec> & target,
+        TSource const & source)
+{
+SEQAN_CHECKPOINT
+       typedef String<TTargetValue, TTargetSpec> TTarget;
+       move(target, source, typename DefaultOverflowImplicit<TTarget>::Type());
+}
+
+//____________________________________________________________________________
+
+template<typename TTargetValue, typename TTargetSpec, typename TSource, typename TTag>
+inline void 
+move(String<TTargetValue, TTargetSpec> & target,
+        TSource & source,
+        Tag<TTag> const tag)
+{
+SEQAN_CHECKPOINT
+       assign(target, source, tag);
+}
+
+template<typename TTargetValue, typename TTargetSpec, typename TSource, typename TTag>
+inline void 
+move(String<TTargetValue, TTargetSpec> & target,
+        TSource const & source,
+        Tag<TTag> const tag)
+{
+SEQAN_CHECKPOINT
+       assign(target, source, tag);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// valueConstructMove: 
+// it is usually better for strings to default construct and move instead of
+// copy construct strings
+
+/*
+template <typename TIterator, typename TValue, typename TSpec>
+inline void
+valueConstructMove(TIterator it, 
+                                  String<TValue, TSpec> const & value)
+{
+       valueConstruct(it);
+       move(*it, value);
+}
+*/
+
+//////////////////////////////////////////////////////////////////////////////
+// append
+//////////////////////////////////////////////////////////////////////////////
+
+///.Function.append.param.target.type:Class.String
+///.Function.append.param.source.type:Class.String
+
+template <typename TExpand>
+struct _Append_String
+{
+       template <typename TTarget, typename TSource>
+       static inline void 
+       append_(TTarget & target,
+                       TSource & source)
+       {
+               if (!id(source) || !shareResources(target, source))
+               {
+SEQAN_CHECKPOINT
+                       typename Size<TTarget>::Type target_length = length(target);
+                       typename Size<TTarget>::Type part_length = _clearSpace(target, length(source), target_length, target_length, TExpand());
+                       arrayConstructCopy(begin(source, Standard()), begin(source, Standard()) + part_length, begin(target, Standard()) + target_length);
+               }
+               else
+               {
+SEQAN_CHECKPOINT
+                       typename _TempCopy<TSource>::Type temp(source, length(source));
+                       assign(target, temp, TExpand());
+               }
+       }
+
+       template <typename TTarget, typename TSource>
+       static inline void 
+       append_(TTarget & target,
+                       TSource & source,
+                       typename Size<TTarget>::Type limit)
+       {
+               typename Iterator<TTarget, Standard>::Type target_begin = begin(target, Standard());
+               if (!id(source) || !shareResources(target, source))
+               {
+SEQAN_CHECKPOINT
+                       typename Size<TTarget>::Type target_length = length(target);
+                       typename Size<TTarget>::Type part_length = _clearSpace(target, length(source), target_length, target_length, limit, TExpand());
+                       arrayConstructCopy(begin(source, Standard()), begin(source, Standard()) + part_length, begin(target, Standard()) + target_length);
+               }
+               else
+               {
+                       typename Size<TTarget>::Type target_length = length(target);
+                       if (target_length >= limit) 
+                       {
+SEQAN_CHECKPOINT
+                               arrayDestruct(target_begin + limit, target_begin + target_length);
+                               _setLength(target, limit);
+                       }
+                       else
+                       {
+SEQAN_CHECKPOINT
+                               limit -= target_length;
+                               typename Size<TTarget>::Type source_length = length(source) ;
+                               if (source_length > limit) source_length = limit;
+
+                               typename _TempCopy<TSource>::Type temp(source, source_length);
+                               append(target, temp, TExpand());
+                       }
+               }
+       }
+};
+
+//////////////////////////////////////////////////////////////////////////////
+
+template<typename TTargetValue, typename TTargetSpec, typename TSource, typename TExpand>
+inline void 
+append(String<TTargetValue, TTargetSpec> & target,
+          TSource const & source,
+          Tag<TExpand> const)
+{
+SEQAN_CHECKPOINT
+       typedef String<TTargetValue, TTargetSpec> TTarget;
+       _Append_String<Tag<TExpand> const>::append_(target, source);
+}
+
+template<typename TTargetValue, typename TTargetSpec, typename TSource, typename TExpand>
+inline void 
+append(String<TTargetValue, TTargetSpec> & target,
+          TSource const & source,
+          typename Size< String<TTargetValue, TTargetSpec> >::Type limit,
+          Tag<TExpand> const)
+{
+SEQAN_CHECKPOINT
+       typedef String<TTargetValue, TTargetSpec> TTarget;
+       _Append_String<Tag<TExpand> const>::append_(target, source, limit);
+}
+
+//____________________________________________________________________________
+//this variant is a workaround for the "const array"-bug of VC++
+
+template<typename TTargetValue, typename TTargetSpec, typename TSourceValue, typename TExpand>
+inline void 
+append(String<TTargetValue, TTargetSpec> & target,
+          TSourceValue * source,
+          Tag<TExpand> const)
+{
+SEQAN_CHECKPOINT
+       typedef String<TTargetValue, TTargetSpec> TTarget;
+       _Append_String<Tag<TExpand> const>::append_(target, source);
+}
+
+template<typename TTargetValue, typename TTargetSpec, typename TSourceValue, typename TExpand>
+inline void 
+append(String<TTargetValue, TTargetSpec> & target,
+          TSourceValue * source,
+          typename Size< String<TTargetValue, TTargetSpec> >::Type limit,
+          Tag<TExpand> const)
+{
+SEQAN_CHECKPOINT
+       typedef String<TTargetValue, TTargetSpec> TTarget;
+       _Append_String<Tag<TExpand> const>::append_(target, source, limit);
+}
+
+
+
+//////////////////////////////////////////////////////////////////////////////
+// appendValue
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TExpand>
+struct _Append_Value_2_String
+{
+       template <typename T, typename TValue>
+       static inline void 
+       appendValue_(T & me,
+                               TValue & _value)
+       {
+SEQAN_CHECKPOINT
+               typename Position<T>::Type me_length = length(me);
+               if (capacity(me) <= me_length)
+               {
+                       typename Value<T>::Type temp_copy(_value); //temp copy because resize could invalidate _value
+                       typename Size<T>::Type new_length = resize(me, me_length + 1, TExpand());
+                       if (me_length < new_length)
+                       {
+                               valueConstruct(begin(me) + me_length, temp_copy); //??? this should be valueMoveConstruct
+                       }
+               }
+               else
+               {
+                       valueConstruct(begin(me, Standard()) + me_length, _value);
+                       _setLength(me, me_length + 1);
+               }
+       }
+};
+
+//____________________________________________________________________________
+
+template <typename TTargetValue, typename TTargetSpec, typename TValue, typename TExpand>
+inline void
+appendValue(String<TTargetValue, TTargetSpec> & me, 
+                       TValue const & _value,
+                       Tag<TExpand> const)
+{
+SEQAN_CHECKPOINT
+       _Append_Value_2_String<Tag<TExpand> const>::appendValue_(me, _value);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// insertValue
+//////////////////////////////////////////////////////////////////////////////
+/**
+.Function.insertValue:
+*/
+
+template <typename TExpand>
+struct _Insert_Value_2_String
+{
+       template <typename T, typename TPosition, typename TValue>
+       static inline void 
+       insertValue_(T & me,
+                               TPosition pos,
+                               TValue & _value)
+       {
+SEQAN_CHECKPOINT
+               typename Value<T>::Type temp_copy = _value; //temp copy because resizeSpace could invalidate _value
+               resizeSpace(me, 1, pos, pos, TExpand());
+               if ((typename Size<T>::Type) pos < length(me))
+               {
+                       moveValue(me, pos, temp_copy);
+               }
+       }
+};
+
+//____________________________________________________________________________
+
+template <typename TTargetValue, typename TTargetSpec, typename TPosition, typename TValue, typename TExpand>
+inline void
+insertValue(String<TTargetValue, TTargetSpec> & me,
+                       TPosition pos,
+                       TValue const & _value,
+                       Tag<TExpand> const)
+{
+SEQAN_CHECKPOINT
+       _Insert_Value_2_String<Tag<TExpand> const>::insertValue_(me, pos, _value);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// replace
+//////////////////////////////////////////////////////////////////////////////
+
+///.Function.replace.param.target.type:Class.String
+///.Function.replace.param.source.type:Class.String
+
+template <typename TExpand>
+struct _Replace_String
+{
+       template <typename TTarget, typename TSource>
+       static inline void 
+       replace_(TTarget & target,
+                        typename Size<TTarget>::Type pos_begin,
+                        typename Size<TTarget>::Type pos_end,
+                        TSource & source)
+       {
+               if (!id(source) || !shareResources(target, source))
+               {
+SEQAN_CHECKPOINT
+                       typename Size<TTarget>::Type part_length = _clearSpace(target, length(source), pos_begin, pos_end, TExpand());
+                       arrayConstructCopy(begin(source, Standard()), begin(source, Standard()) + part_length, begin(target, Standard()) + pos_begin);
+               }
+               else
+               {
+SEQAN_CHECKPOINT
+                       typename _TempCopy<TSource>::Type temp(source, length(source));
+                       replace(target, pos_begin, pos_end, temp, TExpand());
+               }
+       }
+
+       template <typename TTarget, typename TSource>
+       static inline void 
+       replace_(TTarget & target,
+                        typename Size<TTarget>::Type pos_begin,
+                        typename Size<TTarget>::Type pos_end,
+                        TSource & source,
+                        typename Size<TTarget>::Type limit)
+       {
+               if (!id(source) || !shareResources(target, source))
+               {
+SEQAN_CHECKPOINT
+                       typename Size<TTarget>::Type part_length = _clearSpace(target, length(source), pos_begin, pos_end, limit, TExpand());
+                       arrayConstructCopy(begin(source, Standard()), begin(source, Standard()) + part_length, begin(target, Standard()) + pos_begin);
+               }
+               else
+               {
+                       if (pos_begin >= limit) 
+                       {
+SEQAN_CHECKPOINT
+                               arrayDestruct(begin(target) + limit, end(target));
+                               _setLength(target, limit);
+                       }
+                       else
+                       {
+SEQAN_CHECKPOINT
+                               limit -= pos_begin;
+                               typename Size<TTarget>::Type source_length = length(source) ;
+                               if (source_length > limit) source_length = limit;
+
+                               typename _TempCopy<TSource>::Type temp(source, source_length);
+                               replace(target, pos_begin, pos_end, temp, limit, TExpand());
+                       }
+               }
+       }
+
+};
+
+//////////////////////////////////////////////////////////////////////////////
+
+template<typename TTargetValue, typename TTargetSpec, typename TSource, typename TExpand>
+inline void 
+replace(String<TTargetValue, TTargetSpec> & target,
+                typename Size< String<TTargetValue, TTargetSpec> >::Type pos_begin,
+                typename Size< String<TTargetValue, TTargetSpec> >::Type pos_end,
+                TSource const & source,
+                Tag<TExpand> const)
+{
+SEQAN_CHECKPOINT
+       typedef String<TTargetValue, TTargetSpec> TTarget;
+       _Replace_String<Tag<TExpand> const>::replace_(target, pos_begin, pos_end, source);
+}
+
+template<typename TTargetValue, typename TTargetSpec, typename TSource, typename TExpand>
+inline void 
+replace(String<TTargetValue, TTargetSpec> & target,
+                typename Size< String<TTargetValue, TTargetSpec> >::Type pos_begin,
+                typename Size< String<TTargetValue, TTargetSpec> >::Type pos_end,
+                TSource const & source,
+                typename Size< String<TTargetValue, TTargetSpec> >::Type limit,
+                Tag<TExpand> const)
+{
+SEQAN_CHECKPOINT
+       typedef String<TTargetValue, TTargetSpec> TTarget;
+       _Replace_String<Tag<TExpand> const>::replace_(target, pos_begin, pos_end, source, limit);
+}
+
+//____________________________________________________________________________
+//this variant is a workaround for the "const array"-bug of VC++
+
+template<typename TTargetValue, typename TTargetSpec, typename TSourceValue, typename TExpand>
+inline void 
+replace(String<TTargetValue, TTargetSpec> & target,
+               typename Size< String<TTargetValue, TTargetSpec> >::Type pos_begin,
+               typename Size< String<TTargetValue, TTargetSpec> >::Type pos_end,
+               TSourceValue const * source,
+               Tag<TExpand> const)
+{
+SEQAN_CHECKPOINT
+       typedef String<TTargetValue, TTargetSpec> TTarget;
+       _Replace_String<Tag<TExpand> const>::replace_(target, pos_begin, pos_end, source);
+}
+
+template<typename TTargetValue, typename TTargetSpec, typename TSourceValue, typename TExpand>
+inline void 
+replace(String<TTargetValue, TTargetSpec> & target,
+               typename Size< String<TTargetValue, TTargetSpec> >::Type pos_begin,
+               typename Size< String<TTargetValue, TTargetSpec> >::Type pos_end,
+               TSourceValue const * source,
+               typename Size< String<TTargetValue, TTargetSpec> >::Type limit,
+               Tag<TExpand> const)
+{
+SEQAN_CHECKPOINT
+       typedef String<TTargetValue, TTargetSpec> TTarget;
+       _Replace_String<Tag<TExpand> const>::replace_(target, pos_begin, pos_end, source, limit);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// handling of iterators as begin and end
+
+/*
+template<typename TTargetValue, typename TTargetSpec, typename TSource, typename TExpand>
+inline void 
+replace(String<TTargetValue, TTargetSpec> & target,
+               typename Iterator< String<TTargetValue, TTargetSpec>, Rooted >::Type pos_begin,
+               typename Iterator< String<TTargetValue, TTargetSpec>, Rooted >::Type pos_end,
+               TSource & source,
+               Tag<TExpand> const tag)
+{
+       replace(target, position(pos_begin), position(pos_end), source, tag);
+}
+
+template<typename TTargetValue, typename TTargetSpec, typename TSource, typename TExpand>
+inline void 
+replace(String<TTargetValue, TTargetSpec> & target,
+               typename Iterator< String<TTargetValue, TTargetSpec>, Rooted >::Type pos_begin,
+               typename Iterator< String<TTargetValue, TTargetSpec>, Rooted >::Type pos_end,
+               TSource & source,
+               typename Size< String<TTargetValue, TTargetSpec> >::Type limit,
+               Tag<TExpand> const tag)
+{
+       replace(target, position(pos_begin), position(pos_end), source, limit, tag);
+}
+*/
+
+//////////////////////////////////////////////////////////////////////////////
+/**
+.Internal._reallocateStorage:
+..cat:Functions
+..summary:Allocates a new buffer if needed.
+..signature:_reallocateStorage(object, new_capacity, resize_tag)
+..param.object:A container for which the buffer is reallocated.
+...type:Class.String
+..param.new_capacity:The capacity $object$ will get after reallocating the buffer.
+..param.resize_tag:Strategy that is used for changing the capacity.
+..returns:Returns the old buffer, if a new buffer has been allocated, $0$ otherwise.
+..remarks:This function only allocates a new buffer if the current capacity is less then $new_capacity$.
+A new buffer is not filled with any content, all copy operations must be done by the caller.
+..remarks:If $object$ never had a buffer, or the buffer is not changed by the function, 
+the returned pointer is 0.
+*/
+
+template <typename TValue, typename TSpec>
+inline typename Value<String<TValue, TSpec> >::Type *
+_reallocateStorage(
+       String<TValue, TSpec> & me, 
+       typename Size< String<TValue, TSpec> >::Type new_capacity,
+       Exact)
+{
+       if (new_capacity <= capacity(me)) return 0;
+       else
+       {
+SEQAN_CHECKPOINT
+               return _allocateStorage(me, new_capacity);
+       }
+}
+
+template <typename TValue, typename TSpec>
+inline typename Value<String<TValue, TSpec> >::Type *
+_reallocateStorage(
+       String<TValue, TSpec> & me, 
+       typename Size< String<TValue, TSpec> >::Type new_capacity, 
+       typename Size< String<TValue, TSpec> >::Type limit,
+       Exact)
+{
+       if (new_capacity <= capacity(me)) return 0;
+       else
+       {
+SEQAN_CHECKPOINT
+               if (new_capacity > limit) new_capacity = limit;
+               return _allocateStorage(me, new_capacity);
+       }
+}
+
+template <typename TValue, typename TSpec>
+inline typename Value<String<TValue, TSpec> >::Type *
+_reallocateStorage(
+       String<TValue, TSpec> & me, 
+       typename Size< String<TValue, TSpec> >::Type new_capacity,
+       Generous)
+{
+       if (new_capacity <= capacity(me)) return 0;
+       else
+       {
+SEQAN_CHECKPOINT
+               new_capacity = computeGenerousCapacity(me, new_capacity);
+               return _allocateStorage(me, new_capacity);
+       }
+}
+
+template <typename TValue, typename TSpec>
+inline typename Value<String<TValue, TSpec> >::Type *
+_reallocateStorage(
+       String<TValue, TSpec> & me, 
+       typename Size< String<TValue, TSpec> >::Type new_capacity, 
+       typename Size< String<TValue, TSpec> >::Type limit,
+       Generous)
+{
+       if (new_capacity <= capacity(me)) return 0;
+       else
+       {
+SEQAN_CHECKPOINT
+               new_capacity = computeGenerousCapacity(me, new_capacity);
+               if (new_capacity > limit) new_capacity = limit;
+               return _allocateStorage(me, new_capacity);
+       }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+///.Function.resize.param.object.type:Class.String
+
+template <typename TExpand>
+struct _Resize_String
+{
+       template <typename T>
+       static inline typename Size<T>::Type 
+       resize_(
+               T & me,
+               typename Size<T>::Type new_length)
+       {
+               typedef typename Size<T>::Type TSize;
+               TSize me_length = length(me);
+               if (new_length < me_length)
+               {
+SEQAN_CHECKPOINT
+                       arrayDestruct(begin(me, Standard()) + new_length, begin(me, Standard()) + me_length);
+               }
+               else
+               {
+                       typename Size<T>::Type me_capacity = capacity(me);
+                       if (new_length > me_capacity)
+                       {
+SEQAN_CHECKPOINT
+                               TSize new_capacity = reserve(me, new_length, TExpand());
+                               if (new_capacity < new_length)
+                               {
+                                       new_length = new_capacity;
+                               }
+                       }
+                       if (new_length > me_length)
+                       {
+SEQAN_CHECKPOINT
+                               arrayConstruct(begin(me, Standard()) + me_length, begin(me, Standard()) + new_length);
+                       }
+               }
+
+               _setLength(me, new_length);
+               return new_length;
+       }
+};
+
+template <typename TValue, typename TSpec, typename TSize, typename TExpand>
+inline typename Size< String<TValue, TSpec> >::Type 
+resize(
+       String<TValue, TSpec> & me,
+       TSize new_length,
+       Tag<TExpand> const)
+{
+SEQAN_CHECKPOINT
+       return _Resize_String<Tag<TExpand> const>::resize_(me, new_length);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+///.Function.fill.param.object.type:Class.String
+
+template <typename TExpand>
+struct _Fill_String
+{
+       template <typename T, typename TValue>
+       static inline typename Size<T>::Type 
+       fill_(
+               T & me,
+               typename Size<T>::Type new_length,
+               TValue const & val)
+       {
+               typename Size<T>::Type me_length = length(me);
+               if (new_length < me_length)
+               {
+SEQAN_CHECKPOINT
+                       arrayDestruct(begin(me, Standard()) + new_length, begin(me, Standard()) + me_length);
+               }
+               else
+               {
+                       typename Size<T>::Type me_capacity = capacity(me);
+                       if (new_length > me_capacity)
+                       {
+SEQAN_CHECKPOINT
+                               new_length = reserve(me, new_length, TExpand());
+                       }
+                       if (new_length > me_length)
+                       {
+SEQAN_CHECKPOINT
+                               arrayConstruct(begin(me, Standard()) + me_length, begin(me, Standard()) + new_length, val);
+                       }
+               }
+
+               _setLength(me, new_length);
+               return new_length;
+       }
+};
+
+template <typename TValue, typename TSpec, typename TSize, typename TValue2, typename TExpand>
+inline TSize 
+fill(String<TValue, TSpec> & me,
+        TSize new_length,
+        TValue2 const & val,
+        Tag<TExpand> const)
+{
+SEQAN_CHECKPOINT
+       return _Fill_String<Tag<TExpand> const>::fill_(me, new_length, val);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+/*
+template <typename TLeftValue, typename TLeftSpec, typename TRightValue, typename TRightSpec>
+String<TLeftValue, TLeftSpec> const &
+operator += (String<TLeftValue, TLeftSpec> & left,
+                        String<TRightValue, TRightSpec> const & right)
+{
+       append(left, right);
+       return left;
+}
+
+template <typename TLeftValue, typename TLeftSpec, typename TRight>
+String<TLeftValue, TLeftSpec> const &
+operator += (String<TLeftValue, TLeftSpec> & left,
+                        TRight const & right)
+{
+       append(left, right);
+       return left;
+}
+
+template <typename TLeft, typename TRightValue, typename TRightSpec>
+TLeft const & 
+operator += (TLeft & left,
+                        String<TRightValue, TRightSpec> const & right)
+{
+       append(left, right);
+       return left;
+}
+*/
+
+template <typename TLeftValue, typename TLeftSpec, typename TRight >
+String<TLeftValue, TLeftSpec> const & 
+operator += (String<TLeftValue, TLeftSpec> & left,
+                        TRight const & right)
+{
+SEQAN_CHECKPOINT
+       append(left, right);
+       return left;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TLeftValue, typename TLeftSpec, typename TRight >
+inline bool
+operator == (String<TLeftValue, TLeftSpec> const & left, 
+                       TRight const & right)
+{
+SEQAN_CHECKPOINT
+       typename Comparator<String<TLeftValue, TLeftSpec> >::Type _lex(left, right);
+    return isEqual(_lex);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TLeftValue, typename TLeftSpec, typename TRight >
+inline bool
+operator !=(String<TLeftValue, TLeftSpec> const & left, 
+                       TRight const & right)
+{
+SEQAN_CHECKPOINT
+       typename Comparator<String<TLeftValue, TLeftSpec> >::Type _lex(left, right);
+    return isNotEqual(_lex);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TLeftValue, typename TLeftSpec, typename TRight>
+inline bool
+operator < (String<TLeftValue, TLeftSpec> const & left, 
+                       TRight const & right)
+{
+SEQAN_CHECKPOINT
+       return isLess(left, right, typename DefaultPrefixOrder<String<TLeftValue, TLeftSpec> >::Type());
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TLeftValue, typename TLeftSpec, typename TRight>
+inline bool
+operator <= (String<TLeftValue, TLeftSpec> const & left, 
+                        TRight const & right)
+{
+SEQAN_CHECKPOINT
+       return isLessOrEqual(left, right, typename DefaultPrefixOrder<String<TLeftValue, TLeftSpec> >::Type());
+}
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TLeftValue, typename TLeftSpec, typename TRight>
+inline bool
+operator > (String<TLeftValue, TLeftSpec> const & left, 
+               TRight const & right)
+{
+SEQAN_CHECKPOINT
+       return isGreater(left, right, typename DefaultPrefixOrder<String<TLeftValue, TLeftSpec> >::Type());
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TLeftValue, typename TLeftSpec, typename TRight>
+inline bool
+operator >= (String<TLeftValue, TLeftSpec> const & left, 
+               TRight const & right)
+{
+SEQAN_CHECKPOINT
+       return isGreaterOrEqual(left, right, typename DefaultPrefixOrder<String<TLeftValue, TLeftSpec> >::Type());
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// stream operators
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TStream, typename TValue, typename TSpec>
+inline TStream &
+operator << (TStream & target, 
+                        String<TValue, TSpec> const & source)
+{
+SEQAN_CHECKPOINT
+       write(target, source);
+       return target;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TStream, typename TValue, typename TSpec>
+inline TStream &
+operator >> (TStream & source, 
+                        String<TValue, TSpec> & target)
+{
+SEQAN_CHECKPOINT
+       read(source, target);
+       return source;
+}
+
+
+//////////////////////////////////////////////////////////////////////////////
+
+/*
+//////////////////////////////////////////////////////////////////////////////
+// Converter
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TTarget, typename TSource, typename TSpec>
+struct Value<String<Convert<TTarget, TSource>, TSpec> >:
+       Value< String<TSource, TSpec> >
+{
+};
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename T, typename TAccessor, typename TConverter>
+struct _AccessorConverter
+{
+       typedef T Type;
+};
+template <typename T, typename TAccessor, typename TConverter>
+struct _AccessorConverter<T, TAccessor &, typename TConverter &>
+{
+       typedef T & Type;
+};
+
+template <typename TTarget, typename TSource, typename TSpec>
+struct GetValue<String<Converter<TTarget, TSource>, TSpec> >:
+       _AccessorConverter<
+               TTarget, 
+               typename GetValue<String<TSource, TSpec> >::Type,
+               typename Converter<TTarget, TSource>::Type
+       >
+{
+};
+*/
+
+//////////////////////////////////////////////////////////////////////////////
+
+
+
+//////////////////////////////////////////////////////////////////////////////
+
+} //namespace SEQAN_NAMESPACE_MAIN
+
+//////////////////////////////////////////////////////////////////////////////
+
+#endif //#ifndef SEQAN_HEADER_...
diff --git a/SeqAn-1.1/seqan/sequence/string_cstyle.h b/SeqAn-1.1/seqan/sequence/string_cstyle.h
new file mode 100644 (file)
index 0000000..937c968
--- /dev/null
@@ -0,0 +1,808 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de 
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: string_cstyle.h,v 1.1 2008/08/25 16:20:04 langmead Exp $
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_SEQUENCE_CSTYLE_H
+#define SEQAN_HEADER_SEQUENCE_CSTYLE_H
+
+namespace SEQAN_NAMESPACE_MAIN
+{
+
+//////////////////////////////////////////////////////////////////////////////
+//string that exports an interface to cstyle strings.
+
+/**
+.Spec.CStyle String:
+..cat:Strings
+..general:Class.String
+..summary:Allows adaption of strings to C-style strings.
+..signature:String<TValue, CStyle>
+..param.TValue:The value type, that is the type of the items/characters stored in the string.
+...remarks:Use @Metafunction.Value@ to get the value type for a given class.
+...note:$TValue$ must be a simple type.???(Link)
+..remarks:
+...text:The purpose of this class is to access to the content of a sequence 
+in a "zero terminated string" style. 
+This can be useful if SEQAN classes has to be integrated in programs that use $char$ arrays
+to store strings.
+Instances of $String<TValue, CStyle>$ can implicitely converted to a $TValue *$ that
+points to a zero terminated CStyle of $TValue$. 
+...text:The stored c-style string object can be set by constructors or assignment. 
+The content of a c-style string can eighter be stored in a separate buffer, that is the source string
+is copied. Or the buffer of the source string itself is used instead, in this case the c-style string
+depends on the source string and gets invalid as soon as the buffer of the source string is destroyed.
+...text:Hence, this class is a kind of adaptor from an arbitrary SEQAN string to char arrays.
+Of course, the opposite way is possible too: 
+Read @Adaption.char array.here@ about adapting char arrays to SEQAN strings.
+..example:
+...code://Create a string str:
+String<char> str = "this is a test string";
+
+//Create a c-style string object for str:
+String<char, CStyle> c_style = str;
+
+//Now use c_style as char array:
+strcmp(c_style, "compare it to this string");
+...text:If the c-style string is needed only temporarily, the function $toCString$ can be used:
+...code:String<char> str = "this is a test string";
+strcmp(toCString(str), "compare it to this string");
+*/
+
+struct CStyle;
+
+template <typename TValue>
+class String <TValue, CStyle >
+{
+protected:
+       TValue * data_begin;
+       TValue * data_end;
+       size_t data_size; //if data_size > 0, then the buffer is owned by me and must be deallocated
+
+public:
+       static TValue EMPTY_STRING;
+//____________________________________________________________________________
+
+public:
+       String():
+               data_begin(&EMPTY_STRING),
+               data_end(&EMPTY_STRING),
+               data_size(0)
+       {
+SEQAN_CHECKPOINT
+       }
+
+//____________________________________________________________________________
+
+       template <typename TString>
+       String(TString & str):
+               data_size(0)
+       {
+SEQAN_CHECKPOINT
+               assign(*this, str);
+       }
+       template <typename TString>
+       String(TString const & str):
+               data_size(0)
+       {
+SEQAN_CHECKPOINT
+               assign(*this, str);
+       }
+
+       String(String & str):
+               data_size(0)
+       {
+SEQAN_CHECKPOINT
+               assign(*this, str);
+       }
+       String(String const & str):
+               data_size(0)
+       {
+SEQAN_CHECKPOINT
+               assign(*this, str);
+       }
+
+       String(TValue * str):
+               data_begin(str),
+               data_end(end(str)),
+               data_size(0)
+       {
+SEQAN_CHECKPOINT
+       }
+
+//____________________________________________________________________________
+
+       template <typename TString>
+       String & operator = (TString & str)
+       {
+SEQAN_CHECKPOINT
+               assign(*this, str);
+               return *this;
+       }
+       template <typename TString>
+       String & operator = (TString const & str)
+       {
+SEQAN_CHECKPOINT
+               assign(*this, str);
+               return *this;
+       }
+       String & operator = (String & str)
+       {
+SEQAN_CHECKPOINT
+               assign(*this, str);
+               return *this;
+       }
+       String & operator = (String const & str)
+       {
+SEQAN_CHECKPOINT
+               assign(*this, str);
+               return *this;
+       }
+
+       ~String()
+       {
+SEQAN_CHECKPOINT
+               clear(*this);
+       }
+
+//____________________________________________________________________________
+
+       operator TValue * ()
+       {
+SEQAN_CHECKPOINT
+               return data_begin;
+       }
+
+       operator TValue const * () const
+       {
+SEQAN_CHECKPOINT
+               return data_begin;
+       }
+
+//____________________________________________________________________________
+
+       friend inline void 
+       move(
+               String & target,
+               String & source)
+       {
+SEQAN_CHECKPOINT
+               clear(target);
+
+               target.data_begin = source.data_begin;
+               target.data_end = source.data_end;
+               target.data_size = source.data_size;
+
+               source.data_begin = 0;
+               source.data_end = 0;
+               source.data_size = 0;
+       }
+
+//____________________________________________________________________________
+
+       friend inline typename Iterator<String, Standard>::Type
+       begin(String & me,
+               Standard)
+       {
+SEQAN_CHECKPOINT
+               return me.data_begin;
+       }
+       friend inline typename Iterator<String const, Standard>::Type
+       begin(String const & me,
+               Standard)
+       {
+SEQAN_CHECKPOINT
+               return me.data_begin;
+       }
+
+//____________________________________________________________________________
+
+       friend inline void
+       _setBegin(String & me, TValue * new_begin)
+       {
+SEQAN_CHECKPOINT
+               me.data_begin = new_begin;
+       }
+
+//____________________________________________________________________________
+
+       friend inline typename Iterator<String, Standard>::Type
+       end(String & me,
+               Standard)
+       {
+SEQAN_CHECKPOINT
+               return me.data_end;
+       }
+       friend inline typename Iterator<String const, Standard>::Type
+       end(String const & me,
+               Standard)
+       {
+SEQAN_CHECKPOINT
+               return me.data_end;
+       }
+
+//____________________________________________________________________________
+
+       friend inline void
+       _setEnd(String & me, TValue * new_end)
+       {
+SEQAN_CHECKPOINT
+               me.data_end = new_end;
+               *new_end = TValue(); //??? ist das wirklich sinnvoll fuer typen, die weder char noch wchar_t sind?
+       }
+
+//____________________________________________________________________________
+
+       friend inline size_t 
+       capacity(String const & me)
+       {
+SEQAN_CHECKPOINT
+               if (me.data_size) return me.data_size -1;
+               else return me.data_end - me.data_begin;
+       }
+
+
+//____________________________________________________________________________
+
+       friend inline void
+       clear(String & me)
+       {
+               if (me.data_size)
+               {
+SEQAN_CHECKPOINT
+//                     arrayDestruct(me, length(me)); 
+                       deallocate(me, me.data_begin, me.data_size);
+                       me.data_size = 0;
+               }
+               me.data_begin = me.data_end = &EMPTY_STRING;
+       }
+//____________________________________________________________________________
+
+//??? TODO: reserve
+
+//____________________________________________________________________________
+
+///.Internal._reallocateStorage.param.object.type:Spec.CStyle String
+///.Internal._reallocateStorage.param.resize_tag.remarks:@Spec.CStyle String@ only supports @Tag.Overflow Strategy.exact@.
+//this function works also for dependent buffers
+       friend inline TValue *
+       _reallocateStorage(
+               String & me, 
+               size_t new_capacity,
+               Exact)
+       {
+SEQAN_CHECKPOINT
+               TValue * return_value;
+               if (me.data_size)
+               {//dependent
+                       return_value = me.data_begin;
+               }
+               else
+               {//not dependent
+                       return_value = 0;
+               }
+
+               me.data_size = new_capacity + 1; //+1 for zero termination
+               allocate(me, me.data_begin, me.data_size, TagAllocateStorage());
+               return return_value;
+       }
+//____________________________________________________________________________
+
+///.Internal._deallocateStorage.param.object.type:Spec.CStyle String
+
+       friend inline void 
+       _deallocateStorage(
+               String & me, 
+               TValue * ptr, 
+               size_t capacity)
+       {
+SEQAN_CHECKPOINT
+               size_t size = capacity + 1;
+               deallocate(me, ptr, size, TagAllocateStorage());
+       }
+
+//____________________________________________________________________________
+
+/**
+.Function.dependent:
+..summary:Test whether object depends on other objects.
+..cat:Dependent Objects
+..signature:bool dependent(object)
+..param.object:An object.
+...type:Spec.CStyle String
+..returns:$true$ if $object$ depends one some other object, $false$ otherwise.
+..remarks:An object "$a$" depends on another object "$b$", if changing "$b$" can invalidate "$a$";
+especially the destruction of "$b$" invalidates "$a$".
+*/
+       friend inline bool
+       dependent(String & me)
+       {
+SEQAN_CHECKPOINT
+               return (me.data_size == 0);
+       }
+//____________________________________________________________________________
+
+//special implementation for char array sources
+       friend inline void
+       assign(String & target,
+               TValue * source)
+       {
+       SEQAN_CHECKPOINT
+               clear(target);
+               target.data_begin = source;
+               target.data_end = end(source);
+       }
+
+//____________________________________________________________________________
+
+};
+
+//////////////////////////////////////////////////////////////////////////////
+// Define the static member
+
+template <typename TValue>
+TValue String<TValue, CStyle >::EMPTY_STRING = TValue();
+
+//////////////////////////////////////////////////////////////////////////////
+// Metafunctions
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TValue>
+struct DefaultOverflowImplicit<String<TValue, CStyle> >
+{
+       typedef Exact Type;
+};
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TValue>
+struct IsContiguous< String<TValue, CStyle > >
+{
+    typedef True Type;
+       enum { VALUE = true };
+};
+
+//////////////////////////////////////////////////////////////////////////////
+// assign
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TTargetValue, typename TSource, typename TExpand>
+inline void
+assign(String<TTargetValue, CStyle> & target,
+          TSource & source,
+          Tag<TExpand> const tag)
+{
+SEQAN_CHECKPOINT
+       create(target, source, tag);
+}
+
+template <typename TTargetValue, typename TSource, typename TExpand>
+inline void
+assign(String<TTargetValue, CStyle> & target,
+          TSource const & source,
+          Tag<TExpand> const tag)
+{
+SEQAN_CHECKPOINT
+       create(target, source, tag);
+}
+
+template <typename TTargetValue, typename TSource, typename TSize, typename TExpand>
+inline void
+assign(String<TTargetValue, CStyle> & target,
+          TSource & source,
+          TSize limit,
+          Tag<TExpand> const tag)
+{
+SEQAN_CHECKPOINT
+       create(target, source, tag);
+}
+
+template <typename TTargetValue, typename TSource, typename TSize, typename TExpand>
+inline void
+assign(String<TTargetValue, CStyle> & target,
+          TSource const & source,
+          TSize limit,
+          Tag<TExpand> const tag)
+{
+SEQAN_CHECKPOINT
+       create(target, source, limit, tag);
+}
+
+
+//____________________________________________________________________________
+//this variant is a workaround for the "const array"-bug of VC++
+
+template <typename TTargetValue, typename TSourceValue, typename TExpand>
+inline void
+assign(String<TTargetValue, CStyle> & target,
+          TSourceValue const * source, 
+          Tag<TExpand> const tag)
+{
+SEQAN_CHECKPOINT
+       create(target, source, tag);
+}
+
+template <typename TTargetValue, typename TSourceValue, typename TSize, typename TExpand>
+inline void
+assign(String<TTargetValue, CStyle> & target,
+          TSourceValue const * source,
+          TSize limit,
+          Tag<TExpand> const tag)
+{
+SEQAN_CHECKPOINT
+       create(target, source, limit, tag);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+//If source is non-const String, then there could be the possibility
+//to use the source buffer
+
+template <typename TExpand, bool IS_CONTIGUOUS>
+struct _Assign_String_2_StringArray;
+
+//____________________________________________________________________________
+
+template <typename TExpand>
+struct _Assign_String_2_StringArray<TExpand, true>
+{
+       template <typename TValue, typename TSourceSpec>
+       static inline void
+       assign_(String<TValue, CStyle> & target,
+               String<TValue, TSourceSpec> & source)
+       {
+               if (capacity(source) > length(source))
+               {//use source's buffer
+SEQAN_CHECKPOINT
+                       clear(target);
+                       _setBegin(target, begin(source));
+                       _setEnd(target, end(source));
+               }
+               else
+               {
+                       create(target, source, TExpand());
+               }
+       }
+
+//special treatment of char:
+//_computeSize4Capacity is specialized for char such that there
+//is enough place for the zero termination
+
+       template <typename TSourceSpec>
+       static inline void
+       assign_(String<char, CStyle> & target,
+               String<char, TSourceSpec> & source)
+       {
+SEQAN_CHECKPOINT
+               clear(target);
+               _setBegin(target, begin(source));
+               _setEnd(target, end(source));
+       }
+};
+
+//____________________________________________________________________________
+
+template <typename TExpand>
+struct _Assign_String_2_StringArray<TExpand, false>
+{
+       template <typename TValue, typename TSourceSpec>
+       static inline void
+       assign_(String<TValue, CStyle> & target,
+               String<TValue, TSourceSpec> & source)
+       {
+SEQAN_CHECKPOINT
+               create(target, source, TExpand());
+       }
+};
+
+//____________________________________________________________________________
+
+template <typename TValue, typename TSourceSpec, typename TExpand>
+inline void
+assign(String<TValue, CStyle> & target,
+       String<TValue, TSourceSpec> & source,
+       Tag<TExpand> const)
+{
+       typedef String<TValue, TSourceSpec> TSource;
+       _Assign_String_2_StringArray<Tag<TExpand> const, IsContiguous<TSource>::VALUE>::assign_(target, source);
+}
+
+
+//////////////////////////////////////////////////////////////////////////////
+// create
+//////////////////////////////////////////////////////////////////////////////
+
+//see basic_holder
+/**
+.Function.create:
+..signature:create(target, source [, limit] [,resize_tag])
+..param.target: Gets a copy of the content of $source$.
+...type:Spec.CStyle String
+..param.source: Is copied to $target$.
+..param.limit: The maximal length of $target$ after the operation. (optional)
+..param.resize_tag: Specifies the strategy that is applied if $target$ has not enough capacity to store the complete content. (optional)
+...type:Tag.Overflow Strategy
+...default:Specified by @Metafunction.DefaultOverflowImplicit@ of the $target$ type.
+..remarks.text:It is guaranteed, that after calling this function $source$ and $target$ can be used independently.
+..see:Spec.CStyle String
+*/
+
+template <typename TExpand>
+struct _Create_ArrayString_Expand
+{
+       template <typename TTarget, typename TSource>
+       static inline void
+       create_(TTarget & target, 
+               TSource & source)
+       {
+               typename Size<TTarget>::Type source_length = length(source);
+               if (dependent(target) || (capacity(target) < source_length))
+               {
+SEQAN_CHECKPOINT
+                       typename Size<TTarget>::Type old_target_capacity = capacity(target);
+                       typename Value<TTarget>::Type * buf = _reallocateStorage(target, source_length, TExpand());
+                       if (buf)
+                       {
+                               _deallocateStorage(target, buf, old_target_capacity);
+                       }
+               }
+               if (length(source) > 0)
+               {
+                       assignValue(begin(target, Standard()), 0); //set target length to 0
+                       assign(begin(target, Standard()), source, Insist());
+                       _setEnd(target, begin(target) + source_length);
+               }
+       }
+
+       template <typename TTarget, typename TSource, typename TLimit>
+       static inline void
+       create_(TTarget & target, 
+               TSource & source,
+               TLimit limit)
+       {
+               typename Size<TTarget>::Type copy_length = length(source);
+               if (limit < copy_length)
+               {
+                       copy_length = limit;
+               }
+               if (dependent(target) || (capacity(target) < copy_length))
+               {
+SEQAN_CHECKPOINT
+                       typename Size<TTarget>::Type old_target_capacity = capacity(target);
+                       TTarget * buf = _reallocateStorage(target, copy_length, TExpand());
+                       if (buf)
+                       {
+                               _deallocateStorage(target, buf, old_target_capacity);
+                       }
+               }
+               assign(begin(target, Standard()), source, copy_length, Insist());
+               _setEnd(target, begin(target, Standard()) + copy_length);
+       }
+};
+//____________________________________________________________________________
+
+template <typename TExpand>
+struct _Create_ArrayString;
+//____________________________________________________________________________
+
+template <>
+struct _Create_ArrayString<Insist>
+{
+       template <typename TTarget, typename TSource>
+       static inline void
+       create_(TTarget & target, 
+               TSource & source)
+       {
+SEQAN_CHECKPOINT
+               typename Size<TTarget>::Type source_length = length(source);
+               if (dependent(target))
+               {
+                       TTarget * buf = _reallocateStorage(target, source_length, Exact());
+               }
+               assign(begin(target, Standard()), source, source_length, Insist());
+               _setEnd(target, begin(target, Standard()) + source_length);
+       }
+
+       template <typename TTarget, typename TSource, typename TSize>
+       static inline void
+       create_(TTarget & target, 
+               TSource & source,
+               TSize limit)
+       {
+SEQAN_CHECKPOINT
+               typename Size<TTarget>::Type copy_size = length(source);
+               if (limit < copy_size)
+               {
+                       copy_size = limit;
+               }
+               if (dependent(target))
+               {
+                       TTarget * buf = _reallocateStorage(target, copy_size, Exact());
+               }
+               assign(begin(target, Standard()), source, copy_size, Insist());
+               _setEnd(target, begin(target, Standard()) + copy_size);
+       }
+};
+
+//____________________________________________________________________________
+
+template <>
+struct _Create_ArrayString<Limit>
+{
+       template <typename TTarget, typename TSource>
+       static inline void
+       create_(TTarget & target, 
+               TSource & source)
+       {
+SEQAN_CHECKPOINT
+               _Create_ArrayString<Insist>::create_(target, source, capacity(target));
+       }
+
+       template <typename TTarget, typename TSource, typename TSize>
+       static inline void
+       create_(TTarget & target, 
+               TSource & source,
+               TSize & limit)
+       {
+SEQAN_CHECKPOINT
+               typename Size<TTarget>::Type copy_size = capacity(target);
+               if (copy_size > limit)
+               {
+                       copy_size = limit;
+               }
+               _Create_ArrayString<Insist>::create_(target, source, copy_size);
+       }
+};
+//____________________________________________________________________________
+
+template <>
+struct _Create_ArrayString<Exact>:
+       _Create_ArrayString_Expand<Exact>
+{
+};
+
+//____________________________________________________________________________
+
+template <>
+struct _Create_ArrayString<Generous>:
+       _Create_ArrayString_Expand<Generous>
+{
+};
+
+//____________________________________________________________________________
+
+template <typename TTargetValue, typename TSource>
+inline void
+create(String<TTargetValue, CStyle> & target,
+          TSource & source)
+{
+SEQAN_CHECKPOINT
+       typedef String<TTargetValue, CStyle> TTarget;
+       create(target, source, typename DefaultOverflowImplicit<TTarget>::Type()); 
+}
+
+template <typename TTargetValue, typename TSource, typename TSize>
+inline void
+create(String<TTargetValue, CStyle> & target,
+          TSource & source,
+          TSize limit)
+{
+SEQAN_CHECKPOINT
+       typedef String<TTargetValue, CStyle> TTarget;
+       create(target, source, limit, typename DefaultOverflowImplicit<TTarget>::Type()); 
+}
+
+//____________________________________________________________________________
+
+template <typename TTargetValue, typename TSource, typename TExpand>
+inline void
+create(String<TTargetValue, CStyle> & target,
+          TSource & source, 
+          Tag<TExpand> const)
+{
+SEQAN_CHECKPOINT
+       _Create_ArrayString<Tag<TExpand> const>::create_(target, source);
+}
+
+template <typename TTargetValue, typename TSource, typename TSize, typename TExpand>
+inline void
+create(String<TTargetValue, CStyle> & target,
+          TSource & source,
+          TSize limit,
+          Tag<TExpand> const)
+{
+SEQAN_CHECKPOINT
+       _Create_ArrayString<Tag<TExpand> const>::create_(target, source, limit);
+}
+
+template <typename TTargetValue, typename TSource, typename TExpand>
+inline void
+create(String<TTargetValue, CStyle> & target,
+          TSource const & source, 
+          Tag<TExpand> const)
+{
+SEQAN_CHECKPOINT
+       _Create_ArrayString<Tag<TExpand> const>::create_(target, source);
+}
+
+template <typename TTargetValue, typename TSource, typename TSize, typename TExpand>
+inline void
+create(String<TTargetValue, CStyle> & target,
+          TSource const & source,
+          TSize limit,
+          Tag<TExpand> const)
+{
+SEQAN_CHECKPOINT
+       _Create_ArrayString<Tag<TExpand> const>::create_(target, source, limit);
+}
+
+//____________________________________________________________________________
+//this variant is a workaround for the "const array"-bug of VC++
+
+template <typename TTargetValue, typename TSourceValue, typename TExpand>
+inline void
+create(String<TTargetValue, CStyle> & target,
+          TSourceValue const * source, 
+          Tag<TExpand> const)
+{
+SEQAN_CHECKPOINT
+       _Create_ArrayString<Tag<TExpand> const>::create_(target, source);
+}
+
+template <typename TTargetValue, typename TSourceValue, typename TSize, typename TExpand>
+inline void
+create(String<TTargetValue, CStyle> & target,
+          TSourceValue const * source,
+          TSize limit,
+          Tag<TExpand> const)
+{
+SEQAN_CHECKPOINT
+       _Create_ArrayString<Tag<TExpand> const>::create_(target, source, limit);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// Shotcut
+
+/**
+.Function.toCString:
+..cat:Containers
+..summary:Access sequence as c-style string.
+..signature:toCString(object)
+..param.object:A sequence.
+...type:Class.String
+...type:Adaption.char array
+..returns:A temporary @Spec.CStyle String@ object of that was constructed for $object$.
+..remarks:Notational sugar.
+*/
+
+template <typename T>
+inline typename Value<T>::Type *
+toCString(T & me)
+{
+SEQAN_CHECKPOINT
+       return String<typename Value<T>::Type, CStyle>(me);
+}
+
+
+//////////////////////////////////////////////////////////////////////////////
+
+} //namespace SEQAN_NAMESPACE_MAIN
+
+//____________________________________________________________________________
+
+#endif //#ifndef SEQAN_HEADER_...
diff --git a/SeqAn-1.1/seqan/sequence/string_packed.h b/SeqAn-1.1/seqan/sequence/string_packed.h
new file mode 100644 (file)
index 0000000..1a8c9df
--- /dev/null
@@ -0,0 +1,1262 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: string_packed.h,v 1.2 2009/02/19 01:51:23 langmead Exp $
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_SEQUENCE_PACKED_H
+#define SEQAN_HEADER_SEQUENCE_PACKED_H
+
+
+namespace SEQAN_NAMESPACE_MAIN
+{
+
+//////////////////////////////////////////////////////////////////////////////
+// Tags
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename THostspec = Alloc<> >
+struct Packed;
+
+
+//////////////////////////////////////////////////////////////////////////////
+/**
+.Spec.Packed String:
+..cat:Strings
+..general:Class.String
+..summary:A string that stores as many values in one machine word as possible.
+..signature:String<TValue, Packed<THostspec> >
+..param.TValue:The value type, that is the type of the items/characters stored in the string.
+...remarks:Use @Metafunction.Value@ to get the value type for a given class.
+..param.THostspec:The specializing type.
+...remarks:This is the specialization of the host string that is used for storing the packed values.
+...default:@Spec.Alloc String.Alloc<>@
+*/
+
+/*???TODO Optimierungsmöglichkeiten:
+- _clearSpace kopiert Zeichenweise im Packed-String, und nicht im Host-String
+- _clearSpace verwendet resize, um den Host zu vergrößern, d.h. der Inhalt wird eventuell doppelt kopiert.
+*/
+
+//////////////////////////////////////////////////////////////////////////////
+//Rooted expandable string
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TValue, typename THostspec>
+class String<TValue, Packed<THostspec> >
+{
+protected:
+       typedef typename Host<String>::Type THost;
+       typedef typename Size<String>::Type TSize;
+
+       THost data_host;
+       TSize data_length;
+
+//____________________________________________________________________________
+
+public:
+       String():
+               data_length(0)
+       {
+SEQAN_CHECKPOINT
+       }
+
+       template <typename TSource>
+       String(TSource & source):
+               data_length(0)
+       {
+SEQAN_CHECKPOINT
+               assign(*this, source);
+       }
+       template <typename TSource>
+       String(TSource const & source):
+               data_length(0)
+       {
+SEQAN_CHECKPOINT
+               assign(*this, source);
+       }
+       String(String const & source):
+               data_length(0)
+       {
+SEQAN_CHECKPOINT
+               assign(*this, source);
+       }
+
+       template <typename TSource>
+       String & operator =(TSource const & source)
+       {
+SEQAN_CHECKPOINT
+               assign(*this, source);
+               return *this;
+       }
+       String & operator =(String const & source)
+       {
+SEQAN_CHECKPOINT
+               assign(*this, source);
+               return *this;
+       }
+
+       ~String()
+       {
+SEQAN_CHECKPOINT
+       }
+
+
+//____________________________________________________________________________
+
+       template <typename TPos>
+       inline typename Reference<String>::Type
+       operator [] (TPos pos)
+       {
+SEQAN_CHECKPOINT
+               return value(*this, pos);
+       }
+
+       template <typename TPos>
+       inline typename Reference<String const>::Type
+       operator [] (TPos pos) const
+       {
+SEQAN_CHECKPOINT
+               return value(*this, pos);
+       }
+
+//____________________________________________________________________________
+
+///.Function.host.param.object.type:Spec.Packed String
+
+       friend inline THost &
+       host(String & me)
+       {
+SEQAN_CHECKPOINT
+               return me.data_host;
+       }
+
+       friend inline THost const &
+       host(String const & me)
+       {
+SEQAN_CHECKPOINT
+               return me.data_host;
+       }
+
+//____________________________________________________________________________
+
+       friend inline TSize
+       length(String & me)
+       {
+SEQAN_CHECKPOINT
+               return me.data_length;
+       }
+
+       friend inline TSize
+       length(String const & me)
+       {
+SEQAN_CHECKPOINT
+               return me.data_length;
+       }
+
+//____________________________________________________________________________
+
+       friend inline void
+       _setLength(
+               String & me,
+               TSize new_length)
+       {
+SEQAN_CHECKPOINT
+               me.data_length = new_length;
+               _setLength(host(me), _PackedConsts<String>::toHostLength(new_length));
+       }
+
+//____________________________________________________________________________
+};
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TValue, typename THostspec>
+struct DefaultOverflowImplicit<String<TValue, Packed<THostspec> > >:
+       DefaultOverflowImplicit< typename Host<String<TValue, Packed<THostspec> > >::Type >
+{
+};
+template <typename TValue, typename THostspec>
+struct DefaultOverflowImplicit<String<TValue, Packed<THostspec> > const>:
+       DefaultOverflowImplicit< typename Host<String<TValue, Packed<THostspec> > const>::Type >
+{
+};
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TValue, typename THostspec>
+struct DefaultOverflowExplicit<String<TValue, Packed<THostspec> > >:
+       DefaultOverflowExplicit< typename Host<String<TValue, Packed<THostspec> > >::Type >
+{
+};
+template <typename TValue, typename THostspec>
+struct DefaultOverflowExplicit<String<TValue, Packed<THostspec> > const>:
+       DefaultOverflowExplicit< typename Host<String<TValue, Packed<THostspec> > const>::Type >
+{
+};
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TValue, typename THostspec>
+struct IsContiguous<String<TValue, Packed<THostspec> > >
+{
+    typedef False Type;
+       enum { VALUE = false };
+};
+
+//////////////////////////////////////////////////////////////////////////////
+
+///.Metafunction.Host.param.T.type:Spec.Packed String
+
+template <typename TValue, typename THostspec>
+struct Host<String<TValue, Packed<THostspec> > >
+{
+       typedef String<unsigned int, THostspec> Type;
+};
+template <typename TValue, typename THostspec>
+struct Host<String<TValue, Packed<THostspec> > const>
+{
+       typedef String<unsigned int, THostspec> const Type;
+};
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TValue, typename THostspec>
+struct GetValue<String<TValue, Packed<THostspec> > >:
+       Value<String<TValue, Packed<THostspec> > >
+{
+};
+template <typename TValue, typename THostspec>
+struct GetValue<String<TValue, Packed<THostspec> > const>:
+       Value<String<TValue, Packed<THostspec> > const>
+{
+};
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TValue, typename THostspec>
+struct Reference<String<TValue, Packed<THostspec> > >
+{
+       typedef typename Iterator<String<TValue, Packed<THostspec> >, Standard>::Type TIterator;
+       typedef Proxy<IteratorProxy<TIterator> > Type;
+};
+template <typename TValue, typename THostspec>
+struct Reference<String<TValue, Packed<THostspec> > const>
+{
+       typedef typename Iterator<String<TValue, Packed<THostspec> > const, Standard>::Type TIterator;
+       typedef Proxy<IteratorProxy<TIterator> > Type;
+};
+
+//////////////////////////////////////////////////////////////////////////////
+/*
+template <typename TValue, typename THostspec>
+struct Size<String<TValue, Packed<THostspec> > >
+{
+       typedef __int64 Type;
+};
+template <typename TValue, typename THostspec>
+struct Size<String<TValue, Packed<THostspec> > const>
+{
+       typedef __int64 Type;
+};
+//*/
+
+//////////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////////
+// Compute Bit Values
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TPackedContainer>
+struct _PackedConsts
+{
+       typedef typename Value<TPackedContainer>::Type TValue;
+       typedef typename Host<TPackedContainer>::Type THost;
+       typedef typename Value<THost>::Type THostValue;
+
+       enum
+       {
+               BITS_PER_VALUE = BitsPerValue<TValue>::VALUE,
+               BITS_PER_HOST_VALUE = BitsPerValue<THostValue>::VALUE,
+               VALUES_PER_WORD = (BITS_PER_VALUE > BITS_PER_HOST_VALUE) ? 1 : (BITS_PER_HOST_VALUE / BITS_PER_VALUE),
+               VALUE_MASK = (1 << BITS_PER_VALUE) - 1,
+               MAX_BIT_POS = (VALUES_PER_WORD - 1) * BITS_PER_VALUE
+       };
+
+       static typename Size<THost>::Type
+       toHostLength(typename Size<TPackedContainer>::Type len)
+       {
+               return (len + VALUES_PER_WORD - 1) / VALUES_PER_WORD;
+       }
+};
+
+//////////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////////
+// Temporary Copy
+//////////////////////////////////////////////////////////////////////////////
+//note: this works only, if the copy assignment is done without using _TempCopy
+
+template <typename TValue, typename THostspec>
+struct _TempCopy<String<TValue, Packed<THostspec> > >
+{
+       typedef String<TValue, Packed<THostspec> > Type;
+};
+
+//////////////////////////////////////////////////////////////////////////////
+//optimized variant for copy assignment. The host sequence is copied instead of
+//copying the packed string value by value
+
+template <typename TTarget, typename TSource, typename TTag>
+inline void
+_assign_copy_packed_string(TTarget & target,
+                                                  TSource & source,
+                                                  Tag<TTag> const tag)
+{
+       typedef typename Size<TTarget>::Type TSize2;
+
+       assign(host(target), host(source), tag);
+       TSize2 new_length_limit = length(host(target)) * _PackedConsts<TTarget>::VALUES_PER_WORD;
+       TSize2 new_length = length(source);
+       if (new_length > new_length_limit)
+       {
+               new_length = new_length_limit;
+       }
+       _setLength(target, new_length);
+}
+template <typename TTarget, typename TSource, typename TSize, typename TTag>
+inline void
+_assign_copy_packed_string(TTarget & target,
+                                                  TSource & source,
+                                                  TSize limit,
+                                                  Tag<TTag> const tag)
+{
+       typedef typename Size<TTarget>::Type TSize2;
+
+       TSize2 host_limit = _PackedConsts<TTarget>::toHostLength(limit);
+       assign(host(target), host(source), host_limit, tag);
+       TSize2 new_length_limit = length(host(target)) * _PackedConsts<TTarget>::VALUES_PER_WORD;
+       TSize2 new_length = length(source);
+       if (new_length > new_length_limit)
+       {
+               new_length = new_length_limit;
+       }
+       if (new_length > limit)
+       {
+               new_length = limit;
+       }
+       _setLength(target, new_length);
+}
+//____________________________________________________________________________
+
+template <typename TValue, typename THostspec, typename TTag>
+inline void
+assign(String<TValue, Packed<THostspec> > & target,
+          String<TValue, Packed<THostspec> > & source,
+          Tag<TTag> const tag)
+{
+       _assign_copy_packed_string(target, source, tag);
+}
+template <typename TValue, typename THostspec, typename TTag>
+inline void
+assign(String<TValue, Packed<THostspec> > & target,
+          String<TValue, Packed<THostspec> > const & source,
+          Tag<TTag> const tag)
+{
+       _assign_copy_packed_string(target, source, tag);
+}
+
+template <typename TValue, typename THostspec, typename TSize, typename TTag>
+void assign(String<TValue, Packed<THostspec> > & target,
+                       String<TValue, Packed<THostspec> > & source,
+                       TSize limit,
+                       Tag<TTag> const tag)
+{
+       _assign_copy_packed_string(target, source, limit, tag);
+}
+template <typename TValue, typename THostspec, typename TSize, typename TTag>
+void assign(String<TValue, Packed<THostspec> > & target,
+                       String<TValue, Packed<THostspec> > const & source,
+                       TSize limit,
+                       Tag<TTag> const tag)
+{
+       _assign_copy_packed_string(target, source, limit, tag);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////////
+// Function
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TValue, typename THostspec>
+inline void const *
+id(String<TValue, Packed<THostspec> > const & me)
+{
+SEQAN_CHECKPOINT
+       return id(host(me));
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TValue, typename THostspec, typename TPos, typename TTag>
+inline typename Iterator<String<TValue, Packed<THostspec> >, Tag<TTag> const>::Type
+iter(String<TValue, Packed<THostspec> > & me,
+        TPos pos_,
+        Tag<TTag> const)
+{
+SEQAN_CHECKPOINT
+       typedef typename Iterator<String<TValue, Packed<THostspec> >, Tag<TTag> const>::Type TIterator;
+       return TIterator(me, pos_);
+}
+template <typename TValue, typename THostspec, typename TPos, typename TTag>
+inline typename Iterator<String<TValue, Packed<THostspec> > const, Tag<TTag> const>::Type
+iter(String<TValue, Packed<THostspec> > const & me,
+        TPos pos_,
+        Tag<TTag> const)
+{
+SEQAN_CHECKPOINT
+       typedef typename Iterator<String<TValue, Packed<THostspec> > const, Tag<TTag> const>::Type TIterator;
+       return TIterator(me, pos_);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TValue, typename THostspec, typename TTag>
+inline typename Iterator<String<TValue, Packed<THostspec> >, Tag<TTag> const>::Type
+begin(String<TValue, Packed<THostspec> > & me,
+         Tag<TTag> const tag_)
+{
+SEQAN_CHECKPOINT
+       return iter(me, 0, tag_);
+}
+template <typename TValue, typename THostspec, typename TTag>
+inline typename Iterator<String<TValue, Packed<THostspec> > const, Tag<TTag> const>::Type
+begin(String<TValue, Packed<THostspec> > const & me,
+         Tag<TTag> const tag_)
+{
+SEQAN_CHECKPOINT
+       return iter(me, 0, tag_);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// end
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TValue, typename THostspec, typename TTag>
+inline typename Iterator<String<TValue, Packed<THostspec> >, Tag<TTag> const>::Type
+end(String<TValue, Packed<THostspec> > & me,
+       Tag<TTag> const tag_)
+{
+SEQAN_CHECKPOINT
+       return iter(me, length(me), tag_);
+}
+template <typename TValue, typename THostspec, typename TTag>
+inline typename Iterator<String<TValue, Packed<THostspec> > const, Tag<TTag> const>::Type
+end(String<TValue, Packed<THostspec> > const & me,
+       Tag<TTag> const tag_)
+{
+SEQAN_CHECKPOINT
+       return iter(me, length(me), tag_);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// value
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TValue, typename THostspec, typename TPos>
+inline typename Reference<String<TValue, Packed<THostspec> > >::Type
+value(String<TValue, Packed<THostspec> > & me,
+         TPos pos)
+{
+SEQAN_CHECKPOINT
+
+       return *iter(me, pos, Standard());
+}
+template <typename TValue, typename THostspec, typename TPos>
+inline typename Reference<String<TValue, Packed<THostspec> > const>::Type
+value(String<TValue, Packed<THostspec> > const & me,
+         TPos pos)
+{
+SEQAN_CHECKPOINT
+
+       return *iter(me, pos, Standard());
+}
+
+
+//////////////////////////////////////////////////////////////////////////////
+// capacity
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TValue, typename THostspec>
+inline typename Size<String<TValue, Packed<THostspec> > const>::Type
+capacity(String<TValue, Packed<THostspec> > const & me)
+{
+SEQAN_CHECKPOINT
+       typedef typename Size<String<TValue, Packed<THostspec> > const>::Type TSize;
+       TSize len = capacity(host(me));
+       len *= _PackedConsts<String<TValue, Packed<THostspec> > >::VALUES_PER_WORD;
+       return len;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// clear
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TValue, typename THostspec>
+inline void
+clear(String<TValue, Packed<THostspec> > & me)
+{
+SEQAN_CHECKPOINT
+       clear(host(me));
+       _setLength(me, 0);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// _clearSpace
+//////////////////////////////////////////////////////////////////////////////
+
+//implementation for all expand tags other than "limit"
+template <typename TExpand>
+struct _ClearSpace_String_Packed_
+{
+       template <typename T>
+       static inline typename Size<T>::Type
+       _clearSpace_(
+               T & seq,
+               typename Size<T>::Type size)
+       {
+SEQAN_CHECKPOINT
+               typedef typename Size<T>::Type TSize;
+               TSize wanted_host_length = _PackedConsts<T>::toHostLength(size);
+               TSize new_host_length = resize(host(seq), wanted_host_length, TExpand());
+               if (new_host_length < wanted_host_length)
+               {
+                       size = new_host_length * _PackedConsts<T>::VALUES_PER_WORD;
+               }
+               _setLength(seq, size);
+               return size;
+       }
+
+       template <typename T>
+       static inline typename Size<T>::Type
+       _clearSpace_(
+               T & seq,
+               typename Size<T>::Type size,
+               typename Size<T>::Type limit)
+       {
+               if (limit < size)
+               {
+SEQAN_CHECKPOINT
+                       size = limit;
+               }
+               return _clearSpace_(seq, limit);
+       }
+
+       template <typename T>
+       static inline typename Size<T>::Type
+       _clearSpace_(
+               T & seq,
+               typename Size<T>::Type size,
+               typename Size<T>::Type start,
+               typename Size<T>::Type end)
+       {
+SEQAN_CHECKPOINT
+               return _clearSpace_(seq, size, start, end, supremumValue<typename Size<T>::Type >());
+       }
+
+       template <typename T>
+       static typename Size<T>::Type
+       _clearSpace_(
+               T & seq,
+               typename Size<T>::Type size,
+               typename Size<T>::Type start,
+               typename Size<T>::Type end,
+               typename Size<T>::Type limit)
+       {
+SEQAN_CHECKPOINT
+//??? TODO: This function can be accelerated this way:
+//                             - move values in host
+//                             - avoid double moving of the rest-part if "resize" allocates a new block
+
+               typedef typename Size<T>::Type TSize;
+               typedef typename Iterator<T, Standard>::Type TIterator;
+
+               TSize old_length = length(seq);
+               TSize old_size = end - start;
+               TSize wanted_new_length = old_length + size - old_size;
+
+               if (wanted_new_length > limit)
+               {
+                       wanted_new_length = limit;
+               }
+
+               TSize wanted_host_length = _PackedConsts<T>::toHostLength(wanted_new_length);
+               TSize new_host_length = resize(host(seq), wanted_host_length, TExpand());
+
+               TSize new_length;
+               if (new_host_length < wanted_host_length)
+               {
+                       new_length = new_host_length * _PackedConsts<T>::VALUES_PER_WORD;
+                       if (new_length <= start + size)
+                       {
+                               goto FINISH;
+                       }
+                       old_length = new_length - size + old_size;
+               }
+               else
+               {
+                       new_length = wanted_new_length;
+               }
+
+               //move [end:right_end] to [start + size:..]
+               if (old_size > size)
+               {//move rest to left
+                       ::std::copy_backward(iter(seq, end, Standard()), iter(seq, old_length, Standard()), iter(seq,  new_length, Standard()));
+               }
+               else
+               {//move rest to right
+                       ::std::copy(iter(seq, end, Standard()), iter(seq, old_length, Standard()), iter(seq, end + size - old_size, Standard()));
+               }
+FINISH:
+               _setLength(seq, new_length);
+               return size;
+       }
+/*
+       template <typename T>
+       static inline typename Size<T>::Type
+       _clearSpace_(
+               T & seq,
+               typename Size<T>::Type size,
+               typename Iterator<T>::Type start,
+               typename Iterator<T>::Type end)
+       {
+SEQAN_CHECKPOINT
+               typename Iterator<T>::Type seq_begin = begin(seq);
+               return _clearSpace(seq, size, start - seq_begin, end - seq_begin, Insist());
+       }
+
+       template <typename T>
+       static inline typename Size<T>::Type
+       _clearSpace_(
+               T & seq,
+               typename Size<T>::Type size,
+               typename Iterator<T>::Type start,
+               typename Iterator<T>::Type end,
+               typename Size<T>::Type limit)
+       {
+SEQAN_CHECKPOINT
+               typename Iterator<T>::Type seq_begin = begin(seq);
+               return _clearSpace(seq, size, start - seq_begin, end - seq_begin, limit, Insist());
+       }
+*/
+};
+
+//////////////////////////////////////////////////////////////////////////////
+
+template<typename TValue, typename THostspec, typename TExpand>
+inline typename Size< String<TValue, Packed<THostspec> > >::Type
+_clearSpace(String<TValue, Packed<THostspec> > & me,
+               typename Size< String<TValue, Packed<THostspec> > >::Type size,
+               Tag<TExpand> const)
+{
+SEQAN_CHECKPOINT
+       return _ClearSpace_String_Packed_<Tag<TExpand> const>::_clearSpace_(me, size);
+}
+
+template<typename TValue, typename THostspec, typename TExpand>
+inline typename Size< String<TValue, Packed<THostspec> > >::Type
+_clearSpace(String<TValue, Packed<THostspec> > & me,
+               typename Size< String<TValue, Packed<THostspec> > >::Type size,
+               typename Size< String<TValue, Packed<THostspec> > >::Type limit,
+               Tag<TExpand> const)
+{
+SEQAN_CHECKPOINT
+       return _ClearSpace_String_Packed_<Tag<TExpand> const>::_clearSpace_(me, size, limit);
+}
+
+template<typename TValue, typename THostspec, typename TPosition, typename TExpand>
+inline typename Size< String<TValue, Packed<THostspec> > >::Type
+_clearSpace(String<TValue, Packed<THostspec> > & me,
+                       typename Size< String<TValue, Packed<THostspec> > >::Type size,
+                       TPosition pos_begin,
+                       TPosition pos_end,
+                       Tag<TExpand> const)
+{
+SEQAN_CHECKPOINT
+       return _ClearSpace_String_Packed_<Tag<TExpand> const>::_clearSpace_(me, size, pos_begin, pos_end);
+}
+
+template<typename TValue, typename THostspec, typename TPosition, typename TExpand>
+inline typename Size< String<TValue, Packed<THostspec> > >::Type
+_clearSpace(String<TValue, Packed<THostspec> > & me,
+                       typename Size< String<TValue, Packed<THostspec> > >::Type size,
+                       TPosition pos_begin,
+                       TPosition pos_end,
+                       typename Size< String<TValue, Packed<THostspec> > >::Type limit,
+                       Tag<TExpand> const)
+{
+SEQAN_CHECKPOINT
+       return _ClearSpace_String_Packed_<Tag<TExpand> const>::_clearSpace_(me, size, pos_begin, pos_end, limit);
+}
+
+
+//////////////////////////////////////////////////////////////////////////////
+
+
+///.Function.reserve.param.object.type:Spec.Packed String
+
+template <typename TValue, typename TSpec, typename _TSize, typename TExpand>
+inline typename Size< String<TValue, Packed<TSpec> > >::Type
+reserve(
+       String<TValue, Packed<TSpec> > & seq,
+       _TSize new_capacity,
+       Tag<TExpand> const tag)
+{
+SEQAN_CHECKPOINT
+
+       typedef String<TValue, Packed<TSpec> > TString;
+       typedef typename Size<TString>::Type TSize;
+       TSize ret_value = reserve(host(seq), _PackedConsts<TString>::toHostLength(new_capacity), tag);
+       return ret_value * _PackedConsts<TString>::VALUES_PER_WORD;
+}
+
+template <typename TValue, typename TSpec, typename _TSize>
+inline typename Size< String<TValue, Alloc<TSpec> > >::Type
+reserve(
+       String<TValue, Packed<TSpec> > & me,
+       _TSize new_capacity,
+       Limit)
+{
+SEQAN_CHECKPOINT
+       typedef typename Size< String<TValue, Alloc<TSpec> > >::Type TSize;
+
+       TSize me_capacity = capacity(me);
+       if (me_capacity < (TSize)new_capacity) return me_capacity;
+       return new_capacity;
+}
+
+template <typename TValue, typename TSpec, typename _TSize>
+inline typename Size< String<TValue, Alloc<TSpec> > >::Type
+reserve(
+       String<TValue, Packed<TSpec> > & me,
+       _TSize new_capacity,
+       Insist)
+{
+SEQAN_CHECKPOINT
+       typedef typename Size< String<TValue, Alloc<TSpec> > >::Type TSize;
+
+       return new_capacity;
+}
+
+
+//////////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////////
+// Iteration
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TValue, typename THostspec, typename TSpec>
+struct Iterator<String<TValue, Packed<THostspec> >, TSpec>
+{
+       typedef Iter<String<TValue, Packed<THostspec> >, Packed<THostspec> > Type;
+};
+template <typename TValue, typename THostspec, typename TSpec>
+struct Iterator<String<TValue, Packed<THostspec> > const, TSpec>
+{
+       typedef Iter<String<TValue, Packed<THostspec> > const, Packed<THostspec> > Type;
+};
+
+//////////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////////
+// Iterator for packed strings
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TContainer, typename THostspec>
+class Iter<TContainer, Packed<THostspec> >
+{
+private:
+       typedef typename Host<TContainer>::Type THost;
+       typedef typename Iterator<THost, Standard>::Type THostIterator;
+       typedef typename Position<TContainer>::Type TPosition;
+
+       typename _Pointer<TContainer>::Type data_container;
+       THostIterator data_iterator;
+       unsigned char data_bitpos;
+
+//____________________________________________________________________________
+
+public:
+       Iter()
+       {
+SEQAN_CHECKPOINT
+       }
+       Iter(typename _Parameter<TContainer>::Type container_):
+               data_container(_toPointer(container_)),
+               data_iterator(begin(host(container_))),
+               data_bitpos(0)
+       {
+SEQAN_CHECKPOINT
+       }
+       Iter(typename _Parameter<TContainer>::Type container_, TPosition pos_):
+               data_container(_toPointer(container_))
+       {
+SEQAN_CHECKPOINT
+               setPosition(*this, pos_);
+       }
+       Iter(Iter const & other_):
+               data_container(other_.data_container),
+               data_iterator(other_.data_iterator),
+               data_bitpos(other_.data_bitpos)
+       {
+SEQAN_CHECKPOINT
+       }
+       ~Iter()
+       {
+SEQAN_CHECKPOINT
+       }
+       Iter const &
+       operator = (Iter const & other_)
+       {
+SEQAN_CHECKPOINT
+               data_container = other_.data_container;
+               data_iterator = other_.data_iterator;
+               data_bitpos = other_.data_bitpos;
+               return *this;
+       }
+//____________________________________________________________________________
+
+       friend inline typename _Parameter<TContainer>::Type
+       container(Iter & me)
+       {
+SEQAN_CHECKPOINT
+               return _toParameter<TContainer>(me.data_container);
+       }
+       friend inline typename _Parameter<TContainer>::Type
+       container(Iter const & me)
+       {
+SEQAN_CHECKPOINT
+               return _toParameter<TContainer>(me.data_container);
+       }
+//____________________________________________________________________________
+
+       friend inline void
+       setContainer(Iter & me, typename _Parameter<TContainer>::Type container_)
+       {
+SEQAN_CHECKPOINT
+               typename Position<Iter>::Type pos = position(me);
+               me.data_container = _toPointer(container_);
+               setPosition(me, pos);
+       }
+
+//____________________________________________________________________________
+
+       friend inline THostIterator &
+       hostIterator(Iter & me)
+       {
+SEQAN_CHECKPOINT
+               return me.data_iterator;
+       }
+       friend inline THostIterator const &
+       hostIterator(Iter const & me)
+       {
+SEQAN_CHECKPOINT
+               return me.data_iterator;
+       }
+
+//____________________________________________________________________________
+
+       friend inline unsigned char &
+       _bitpos(Iter & me)
+       {
+SEQAN_CHECKPOINT
+               return me.data_bitpos;
+       }
+       friend inline unsigned char
+       _bitpos(Iter const & me)
+       {
+SEQAN_CHECKPOINT
+               return me.data_bitpos;
+       }
+
+//____________________________________________________________________________
+};
+
+//////////////////////////////////////////////////////////////////////////////
+// position
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TContainer, typename THostspec>
+inline typename Position<Iter<TContainer, Packed<THostspec> > const>::Type
+position(Iter<TContainer, Packed<THostspec> > const & me)
+{
+SEQAN_CHECKPOINT
+       typedef typename Host<TContainer>::Type THost;
+       THost const & host_ = host(container(me));
+       return (hostIterator(me) - begin(host_)) * _PackedConsts<TContainer>::VALUES_PER_WORD + _bitpos(me) / _PackedConsts<TContainer>::BITS_PER_VALUE;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// setPosition
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TContainer, typename THostspec, typename TPosition>
+inline void
+setPosition(Iter<TContainer, Packed<THostspec> > & me,
+                       TPosition pos_)
+{
+SEQAN_CHECKPOINT
+       hostIterator(me) = begin(host(container(me))) + pos_ / _PackedConsts<TContainer>::VALUES_PER_WORD;
+       _bitpos(me) = (pos_ % _PackedConsts<TContainer>::VALUES_PER_WORD) * _PackedConsts<TContainer>::BITS_PER_VALUE;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// value
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TContainer, typename THostspec>
+inline typename Reference<Iter<TContainer, Packed<THostspec> > >::Type
+value(Iter<TContainer, Packed<THostspec> > & me)
+{
+SEQAN_CHECKPOINT
+       return typename Reference<Iter<TContainer, Packed<THostspec> > >::Type(me);
+}
+template <typename TContainer, typename THostspec>
+inline typename Reference<Iter<TContainer, Packed<THostspec> > const>::Type
+value(Iter<TContainer, Packed<THostspec> > const & me)
+{
+SEQAN_CHECKPOINT
+       return typename Reference<Iter<TContainer, Packed<THostspec> > const>::Type(me);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// getValue
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TContainer, typename THostspec>
+inline typename GetValue<Iter<TContainer, Packed<THostspec> > >::Type
+getValue(Iter<TContainer, Packed<THostspec> > & me)
+{
+SEQAN_CHECKPOINT
+       return (value(hostIterator(me)) >> _bitpos(me)) & _PackedConsts<TContainer>::VALUE_MASK;
+}
+template <typename TContainer, typename THostspec>
+inline typename GetValue<Iter<TContainer, Packed<THostspec> > const>::Type
+getValue(Iter<TContainer, Packed<THostspec> > const & me)
+{
+SEQAN_CHECKPOINT
+       return (value(hostIterator(me)) >> _bitpos(me)) & _PackedConsts<TContainer>::VALUE_MASK;
+}
+
+/////////////////////////////////////////////////////////////////////////////
+// assignValue
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TIter, typename TValue>
+inline void
+_assignValue_packed_string_iterator(TIter & me,
+                                                                       TValue & _value)
+{
+       typedef typename Container<TIter>::Type TContainer;
+       typedef typename Host<TContainer>::Type THost;
+       typedef typename Value<THost>::Type THostValue;
+       THostValue mask_ = _PackedConsts<TContainer>::VALUE_MASK << _bitpos(me);
+       THostValue val_ = _value;
+       val_ <<= _bitpos(me);
+
+       assignValue(hostIterator(me), (getValue(hostIterator(me)) & ~(mask_)) | val_);
+}
+
+
+template <typename TContainer, typename THostspec, typename TValue>
+inline void
+assignValue(Iter<TContainer, Packed<THostspec> > & me,
+                       TValue const & _value)
+{
+SEQAN_CHECKPOINT
+       typedef Iter<TContainer, Packed<THostspec> > TIterator;
+       typename Value<TIterator>::Type _temp_value = _value; //conversion
+       _assignValue_packed_string_iterator(me, _temp_value);
+}
+template <typename TContainer, typename THostspec, typename TValue>
+inline void
+assignValue(Iter<TContainer, Packed<THostspec> > const & me,
+                       TValue const & _value)
+{
+SEQAN_CHECKPOINT
+       typedef Iter<TContainer, Packed<THostspec> > const TIterator;
+       typename Value<TIterator>::Type _temp_value = _value; //conversion
+       _assignValue_packed_string_iterator(me, _temp_value);
+}
+
+/////////////////////////////////////////////////////////////////////////////
+// moveValue
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TContainer, typename THostspec, typename TValue>
+inline void
+moveValue(Iter<TContainer, Packed<THostspec> > & me,
+                 TValue const & _value)
+{
+SEQAN_CHECKPOINT
+       assignValue(me, _value);
+}
+template <typename TContainer, typename THostspec, typename TValue>
+inline void
+moveValue(Iter<TContainer, Packed<THostspec> > const & me,
+                 TValue const & _value)
+{
+SEQAN_CHECKPOINT
+       assignValue(me, _value);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// valueConstruct
+//////////////////////////////////////////////////////////////////////////////
+//emulate construction and destruction
+
+template <typename TContainer, typename THostspec>
+inline void
+valueConstruct(Iter<TContainer, Packed<THostspec> > const & /*it*/)
+{
+}
+template <typename TContainer, typename THostspec, typename TParam>
+inline void
+valueConstruct(Iter<TContainer, Packed<THostspec> > const & it,
+                          TParam const & param_)
+{
+       assignValue(it, param_);
+}
+template <typename TContainer, typename THostspec, typename TParam>
+inline void
+valueConstruct(Iter<TContainer, Packed<THostspec> > const & it,
+                          TParam const & param_,
+                          Move tag)
+{
+       moveValue(it, param_);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// valueDestruct
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TContainer, typename THostspec>
+inline void
+valueDestruct(Iter<TContainer, Packed<THostspec> > const & /*it*/)
+{
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// operator ==
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TContainer, typename THostspec>
+inline bool
+operator == (Iter<TContainer, Packed<THostspec> > const & left,
+                        Iter<TContainer, Packed<THostspec> > const & right)
+{
+SEQAN_CHECKPOINT
+       return (hostIterator(left) == hostIterator(right)) && (_bitpos(left) == _bitpos(right));
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// operator !=
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TContainer, typename THostspec>
+inline bool
+operator != (Iter<TContainer, Packed<THostspec> > const & left,
+                        Iter<TContainer, Packed<THostspec> > const & right)
+{
+SEQAN_CHECKPOINT
+       return (hostIterator(left) != hostIterator(right)) || (_bitpos(left) != _bitpos(right));
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// operator >
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TContainer, typename THostspec>
+inline bool
+operator > (Iter<TContainer, Packed<THostspec> > const & left,
+                       Iter<TContainer, Packed<THostspec> > const & right)
+{
+SEQAN_CHECKPOINT
+       return (hostIterator(left) > hostIterator(right)) || ((hostIterator(left) == hostIterator(right)) && (_bitpos(left) > _bitpos(right)));
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// operator >=
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TContainer, typename THostspec>
+inline bool
+operator >= (Iter<TContainer, Packed<THostspec> > const & left,
+                        Iter<TContainer, Packed<THostspec> > const & right)
+{
+SEQAN_CHECKPOINT
+       return (hostIterator(left) > hostIterator(right)) || ((hostIterator(left) == hostIterator(right)) && (_bitpos(left) >= _bitpos(right)));
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// operator <
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TContainer, typename THostspec>
+inline bool
+operator < (Iter<TContainer, Packed<THostspec> > const & left,
+                       Iter<TContainer, Packed<THostspec> > const & right)
+{
+SEQAN_CHECKPOINT
+       return (hostIterator(left) < hostIterator(right)) || ((hostIterator(left) == hostIterator(right)) && (_bitpos(left) < _bitpos(right)));
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// operator <=
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TContainer, typename THostspec>
+inline bool
+operator <= (Iter<TContainer, Packed<THostspec> > const & left,
+                        Iter<TContainer, Packed<THostspec> > const & right)
+{
+SEQAN_CHECKPOINT
+       return (hostIterator(left) < hostIterator(right)) || ((hostIterator(left) == hostIterator(right)) && (_bitpos(left) <= _bitpos(right)));
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// goNext
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TContainer, typename THostspec>
+inline void
+goNext(Iter<TContainer, Packed<THostspec> > & me)
+{
+SEQAN_CHECKPOINT
+       int new_bitpos = _bitpos(me) + _PackedConsts<TContainer>::BITS_PER_VALUE;
+       if (new_bitpos <= _PackedConsts<TContainer>::MAX_BIT_POS)
+       {
+               _bitpos(me) = (unsigned char) new_bitpos;
+       }
+       else
+       {
+               _bitpos(me) = 0;
+               goNext(hostIterator(me));
+       }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// goPrevious
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TContainer, typename THostspec>
+inline void
+goPrevious(Iter<TContainer, Packed<THostspec> > & me)
+{
+SEQAN_CHECKPOINT
+       int new_bitpos = _bitpos(me) - _PackedConsts<TContainer>::BITS_PER_VALUE;
+       if (new_bitpos >= 0)
+       {
+               _bitpos(me) = (unsigned char) new_bitpos;
+       }
+       else
+       {
+               _bitpos(me) = _PackedConsts<TContainer>::MAX_BIT_POS;
+               goPrevious(hostIterator(me));
+       }
+
+       goPrevious(hostIterator(me));
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// operator +
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TContainer, typename THostspec, typename TIntegral>
+inline Iter<TContainer, Packed<THostspec> >
+operator + (Iter<TContainer, Packed<THostspec> > const & left,
+                       TIntegral right)
+{
+SEQAN_CHECKPOINT
+       return Iter<TContainer, Packed<THostspec> >(container(left), position(left) + right);
+}
+template <typename TContainer, typename THostspec, typename TIntegral>
+inline Iter<TContainer, Packed<THostspec> >
+operator + (TIntegral left,
+                       Iter<TContainer, Packed<THostspec> > const & right)
+{
+SEQAN_CHECKPOINT
+       return Iter<TContainer, Packed<THostspec> >(container(right), position(right) + left);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// operator +=
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TContainer, typename THostspec, typename TIntegral>
+inline Iter<TContainer, Packed<THostspec> > &
+operator += (Iter<TContainer, Packed<THostspec> > & left,
+                        TIntegral right)
+{
+SEQAN_CHECKPOINT
+       setPosition(left, position(left) + right);
+       return left;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// operator -
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TContainer, typename THostspec, typename TIntegral>
+inline Iter<TContainer, Packed<THostspec> >
+operator - (Iter<TContainer, Packed<THostspec> > const & left,
+                       TIntegral right)
+{
+SEQAN_CHECKPOINT
+       return Iter<TContainer, AdaptorIterator<THostspec> >(container(left), position(left) - right);
+}
+
+//____________________________________________________________________________
+
+template <typename TContainer, typename THostspec>
+inline typename Difference<Iter<TContainer, Packed<THostspec> > >::Type
+operator - (Iter<TContainer, Packed<THostspec> > const & left,
+                       Iter<TContainer, Packed<THostspec> > const & right)
+{
+SEQAN_CHECKPOINT
+       return position(left) - position(right);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// operator -=
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TContainer, typename THostspec, typename TIntegral>
+inline Iter<TContainer, Packed<THostspec> > &
+operator -= (Iter<TContainer, Packed<THostspec> > & left,
+                        TIntegral right)
+{
+SEQAN_CHECKPOINT
+       setPosition(left, position(left) - right);
+       return left;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+
+
+//////////////////////////////////////////////////////////////////////////////
+
+} //namespace SEQAN_NAMESPACE_MAIN
+
+#endif //#ifndef SEQAN_HEADER_...
diff --git a/SeqAn-1.1/seqan/sequence/string_pointer.h b/SeqAn-1.1/seqan/sequence/string_pointer.h
new file mode 100644 (file)
index 0000000..cb6f50e
--- /dev/null
@@ -0,0 +1,842 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: string_pointer.h,v 1.3 2009/10/12 16:00:57 langmead Exp $
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_SEQUENCE_POINTER_H
+#define SEQAN_HEADER_SEQUENCE_POINTER_H
+
+#include <cstring>
+
+namespace SEQAN_NAMESPACE_MAIN
+{
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Adaption.char array:
+..summary:Zero terminated $char[]$ or $wchar_t[]$.
+..remarks:Char arrays only support the Insist @Tag.Overflow Strategy.overflow strategy@.
+*/
+
+
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Adaption.char array.remarks:The default overflow strategy
+(both @Metafunction.DefaultOverflowImplicit@ and @Metafunction.DefaultOverflowExplicit@)
+for all operations on char arrays is @Tag.Overflow Strategy.insist@.
+*/
+
+template <typename TValue>
+struct DefaultOverflowImplicit;
+
+template <typename TValue>
+struct DefaultOverflowImplicit< TValue * >
+{
+       typedef Insist Type;
+};
+template <typename TValue>
+struct DefaultOverflowImplicit< TValue * const>
+{
+       typedef Insist Type;
+};
+template <typename TValue, size_t SIZE>
+struct DefaultOverflowImplicit< TValue [SIZE] >
+{
+       typedef Insist Type;
+};
+template <typename TValue, size_t SIZE>
+struct DefaultOverflowImplicit< TValue const [SIZE] >
+{
+       typedef Insist Type;
+};
+//____________________________________________________________________________
+
+template <typename TValue>
+struct DefaultOverflowExplicit;
+
+template <typename TValue>
+struct DefaultOverflowExplicit< TValue * >
+{
+       typedef Insist Type;
+};
+template <typename TValue>
+struct DefaultOverflowExplicit< TValue * const>
+{
+       typedef Insist Type;
+};
+template <typename TValue, size_t SIZE>
+struct DefaultOverflowExplicit< TValue [SIZE] >
+{
+       typedef Insist Type;
+};
+template <typename TValue, size_t SIZE>
+struct DefaultOverflowExplicit< TValue const [SIZE] >
+{
+       typedef Insist Type;
+};
+
+//////////////////////////////////////////////////////////////////////////////
+
+///.Metafunction.IsContiguous.param.T.type:Adaption.char array
+
+template <typename TValue>
+struct IsContiguous;
+
+template <typename TValue>
+struct IsContiguous< TValue * >
+{
+    typedef True Type;
+       enum { VALUE = true };
+};
+template <typename TValue, size_t SIZE>
+struct IsContiguous< TValue [SIZE] >
+{
+    typedef True Type;
+       enum { VALUE = true };
+};
+template <typename TValue, size_t SIZE>
+struct IsContiguous< TValue const [SIZE] >
+{
+    typedef True Type;
+       enum { VALUE = true };
+};
+
+/*DISABLED
+.Metafunction.IsString.param.T.type:Adaption.char array
+*/
+
+template <typename TValue>
+struct IsSequence< TValue * >
+{
+    typedef True Type;
+       enum { VALUE = true };
+};
+template <typename TValue, size_t SIZE>
+struct IsSequence< TValue [SIZE] >
+{
+    typedef True Type;
+       enum { VALUE = true };
+};
+template <typename TValue, size_t SIZE>
+struct IsSequence< TValue const [SIZE] >
+{
+    typedef True Type;
+       enum { VALUE = true };
+};
+
+//////////////////////////////////////////////////////////////////////////////
+
+
+template <typename T>
+inline typename Iterator<T *, typename DefaultGetIteratorSpec<T>::Type>::Type
+begin(T * me)
+{
+SEQAN_CHECKPOINT
+       return begin(me, typename DefaultGetIteratorSpec<T>::Type()) ;
+}
+
+///.Function.begin.param.object.type:Adaption.char array
+
+template <typename TValue>
+inline typename Iterator<TValue *, Standard>::Type
+begin(TValue * me,
+         Standard)
+{
+SEQAN_CHECKPOINT
+       return me;
+}
+
+//folgende Versionen wurde wegen seltsamer Phaenomene bei VC++ 2003 hinzugenommen
+template <typename TValue>
+inline typename Iterator<TValue const *, Standard>::Type
+begin(TValue const * me,
+         Standard)
+{
+SEQAN_CHECKPOINT
+       return me;
+}
+
+template <typename TValue, typename TSpec>
+inline typename Iterator<TValue *, Tag<TSpec> const>::Type
+begin(TValue * me,
+         Tag<TSpec> const)
+{
+SEQAN_CHECKPOINT
+       typedef typename Iterator<TValue *, Tag<TSpec> const>::Type TIterator;
+       return TIterator(me, begin(me, Standard()));
+}
+
+template <typename TValue, typename TSpec>
+inline typename Iterator<TValue const *, Tag<TSpec> const>::Type
+begin(TValue const * me,
+         Tag<TSpec> const)
+{
+SEQAN_CHECKPOINT
+       typedef typename Iterator<TValue const *, Tag<TSpec> const>::Type TIterator;
+       return TIterator(me, begin(me, Standard()));
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+///.Function.end.param.object.type:Adaption.char array
+
+template <typename TValue>
+inline typename Iterator<TValue *, Standard>::Type
+end(TValue * me,
+       Standard)
+{
+SEQAN_CHECKPOINT
+       return begin(me, Standard()) + length(me);
+}
+
+//folgende Version wurde wegen eines seltsamen Phaenomens bei VC++ hinzugenommen
+template <typename TValue>
+inline typename Iterator<TValue const *, Standard>::Type
+end(TValue const * me,
+       Standard)
+{
+SEQAN_CHECKPOINT
+       return begin(me, Standard()) + length(me);
+}
+
+template <typename TValue, typename TSpec>
+inline typename Iterator<TValue *, Tag<TSpec> const>::Type
+end(TValue * me,
+         Tag<TSpec> const tag_)
+{
+SEQAN_CHECKPOINT
+       return begin(me, tag_) + length(me);
+}
+
+template <typename TValue, typename TSpec>
+inline typename Iterator<TValue const *, Tag<TSpec> const>::Type
+end(TValue const * me,
+         Tag<TSpec> const tag_)
+{
+SEQAN_CHECKPOINT
+       return begin(me, tag_) + length(me);
+}
+
+
+//////////////////////////////////////////////////////////////////////////////
+
+///.Function.value.param.container.type:Adaption.char array
+
+template <typename TValue, typename TPos>
+inline TValue &
+value(TValue * me,
+         TPos pos)
+{
+SEQAN_CHECKPOINT
+       return me[pos];
+}
+
+template <typename TValue, typename TPos>
+inline TValue const &
+value(TValue const * me,
+         TPos pos)
+{
+SEQAN_CHECKPOINT
+       return me[pos];
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// assignValue
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TValue, typename TPos>
+inline void
+assignValue(TValue * me,
+                       TPos pos,
+                       TValue const & _value)
+{
+SEQAN_CHECKPOINT
+       assign(value(me, pos), _value);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// moveValue
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TValue, typename TPos>
+inline void
+moveValue(TValue * me,
+                 TPos pos,
+                 TValue const & _value)
+{
+SEQAN_CHECKPOINT
+       move(value(me, pos), _value);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TValue>
+inline bool
+atEnd(TValue * pos)
+{
+SEQAN_CHECKPOINT
+       return *pos == 0;
+}
+
+//____________________________________________________________________________
+
+template <typename TValue>
+inline bool
+atEnd(TValue * pos,
+         TValue const * container)
+{
+SEQAN_CHECKPOINT
+       return *pos == 0;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+///.Function.length.param.object.type:Adaption.char array
+
+template <typename TValue>
+inline size_t
+length(TValue * me)
+{
+SEQAN_CHECKPOINT
+       TValue * it = me;
+       TValue zero = TValue();
+       while ( *it != zero) ++it;
+       return it - me;
+}
+
+template <typename TValue>
+inline size_t
+length(TValue const * me)
+{
+SEQAN_CHECKPOINT
+       TValue const * it = me;
+       TValue const zero = TValue();
+       while ( *it != zero) ++it;
+       return it - me;
+}
+
+inline size_t
+length(char * me)
+{
+SEQAN_CHECKPOINT
+       return strlen(me);
+}
+
+inline size_t
+length(char const * me)
+{
+SEQAN_CHECKPOINT
+       return strlen(me);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TValue>
+inline void
+_setLength(TValue * me,
+                  size_t new_length)
+{
+SEQAN_CHECKPOINT
+       me[new_length] = 0;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+///.Function.clear.param.object.type:Adaption.char array
+
+template <typename TValue>
+inline void
+clear(TValue * me)
+{
+SEQAN_CHECKPOINT
+       //arrayDestruct(begin(me), length(me)); //??? Die Laengenbestimmung ist meistens nutzlos, braucht man sowieso nur fuer non-pod
+       _setLength(me, 0);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+///.Function.empty.param.object.type:Adaption.char array
+
+template <typename TValue>
+inline bool
+empty(TValue * me)
+{
+SEQAN_CHECKPOINT
+       return !me || (*me == TValue());
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+
+template<typename TValue, typename TExpand>
+inline size_t
+_clearSpace(TValue * me,
+                  size_t size,
+                  Tag<TExpand> const)
+{
+SEQAN_CHECKPOINT
+       return _ClearSpace_String_Base_<Tag<TExpand> const>::_clearSpace_(me, size);
+}
+
+template<typename TValue, typename TExpand>
+inline size_t
+_clearSpace(TValue * me,
+                  size_t size,
+                  size_t limit,
+                  Tag<TExpand> const)
+{
+SEQAN_CHECKPOINT
+       return _ClearSpace_String_Base_<Tag<TExpand> const>::_clearSpace_(me, size, limit);
+}
+
+template<typename TValue, typename TPosition, typename TExpand>
+inline size_t
+_clearSpace(TValue * me,
+                  size_t size,
+                  TPosition pos_begin,
+                  TPosition pos_end,
+                  Tag<TExpand> const)
+{
+SEQAN_CHECKPOINT
+       return _ClearSpace_String_Base_<Tag<TExpand> const>::_clearSpace_(me, size, pos_begin, pos_end);
+}
+
+template<typename TValue, typename TPosition, typename TExpand>
+inline size_t
+_clearSpace(TValue * me,
+                  size_t size,
+                  TPosition pos_begin,
+                  TPosition pos_end,
+                  size_t limit,
+                  Tag<TExpand> const)
+{
+SEQAN_CHECKPOINT
+       return _ClearSpace_String_Base_<Tag<TExpand> const>::_clearSpace_(me, size, pos_begin, pos_end, limit);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// assign
+//////////////////////////////////////////////////////////////////////////////
+
+///.Function.assign.param.target.type:.Adaption.char array
+///.Function.assign.param.source.type:.Adaption.char array
+
+//overload of binary version for strings:
+
+template<typename TTargetValue, typename TSource>
+inline void
+assign(TTargetValue * target,
+          TSource & source)
+{
+SEQAN_CHECKPOINT
+       typedef TTargetValue * TTarget;
+       assign(target, source, typename DefaultOverflowImplicit<TTarget>::Type());
+}
+template<typename TTargetValue, typename TSource>
+inline void
+assign(TTargetValue * target,
+          TSource const & source)
+{
+SEQAN_CHECKPOINT
+       typedef TTargetValue * TTarget;
+       assign(target, source, typename DefaultOverflowImplicit<TTarget>::Type());
+}
+
+//____________________________________________________________________________
+
+template<typename TTargetValue, typename TSource, typename TExpand>
+inline void
+assign(TTargetValue * target,
+          TSource const & source,
+          Tag<TExpand> const)
+{
+SEQAN_CHECKPOINT
+       _Assign_String<Tag<TExpand> const>::assign_(target, source);
+}
+
+template<typename TTargetValue, typename TSource, typename TExpand>
+inline void
+assign(TTargetValue * target,
+          TSource const & source,
+          size_t limit,
+          Tag<TExpand> const)
+{
+SEQAN_CHECKPOINT
+       _Assign_String<Tag<TExpand> const>::assign_(target, source, limit);
+}
+
+//____________________________________________________________________________
+//this variant is a workaround for the "const array"-bug of VC++
+
+template<typename TTargetValue, typename TSourceValue, typename TExpand>
+inline void
+assign(TTargetValue * target,
+          TSourceValue const * source,
+          Tag<TExpand> const)
+{
+SEQAN_CHECKPOINT
+       _Assign_String<Tag<TExpand> const>::assign_(target, source);
+}
+
+template<typename TTargetValue, typename TSourceValue, typename TExpand>
+inline void
+assign(TTargetValue * target,
+          TSourceValue const * source,
+          size_t limit,
+          Tag<TExpand> const)
+{
+SEQAN_CHECKPOINT
+       _Assign_String<Tag<TExpand> const>::assign_(target, source, limit);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// move
+//////////////////////////////////////////////////////////////////////////////
+
+//overload of binary version for strings:
+
+template<typename TTargetValue, typename TSource>
+inline void
+move(TTargetValue * & target,
+        TSource & source)
+{
+SEQAN_CHECKPOINT
+       target = source;
+}
+template<typename TTargetValue, typename TSource>
+inline void
+move(TTargetValue * & target,
+        TSource const & source)
+{
+SEQAN_CHECKPOINT
+       target = source;
+}
+
+
+//////////////////////////////////////////////////////////////////////////////
+// append
+//////////////////////////////////////////////////////////////////////////////
+
+///.Function.append.param.target.type:.Adaption.char array
+///.Function.append.param.source.type:.Adaption.char array
+
+template<typename TTargetValue, typename TSource, typename TExpand>
+inline void
+append(TTargetValue * target,
+          TSource const & source,
+          Tag<TExpand> const)
+{
+SEQAN_CHECKPOINT
+       _Append_String<Tag<TExpand> const>::append_(target, source);
+}
+
+template<typename TTargetValue, typename TSource, typename TExpand>
+inline void
+append(TTargetValue * target,
+          TSource const & source,
+          size_t limit,
+          Tag<TExpand> const)
+{
+SEQAN_CHECKPOINT
+       _Append_String<Tag<TExpand> const>::append_(target, source, limit);
+}
+
+//____________________________________________________________________________
+//this variant is a workaround for the "const array"-bug of VC++
+
+template<typename TTargetValue, typename TSourceValue, typename TExpand>
+inline void
+append(TTargetValue * target,
+          TSourceValue const * source,
+          Tag<TExpand> const)
+{
+SEQAN_CHECKPOINT
+       _Append_String<Tag<TExpand> const>::append_(target, source);
+}
+
+template<typename TTargetValue, typename TSourceValue, typename TExpand>
+inline void
+append(TTargetValue * target,
+          TSourceValue const * source,
+          size_t limit,
+          Tag<TExpand> const)
+{
+SEQAN_CHECKPOINT
+       _Append_String<Tag<TExpand> const>::append_(target, source, limit);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// replace
+//////////////////////////////////////////////////////////////////////////////
+
+///.Function.replace.param.target.type:.Adaption.char array
+///.Function.replace.param.source.type:.Adaption.char array
+
+template<typename TTargetValue, typename TSource, typename TExpand>
+inline void
+replace(TTargetValue * target,
+               size_t pos_begin,
+               size_t pos_end,
+               TSource const & source,
+               Tag<TExpand> const)
+{
+SEQAN_CHECKPOINT
+       _Replace_String<Tag<TExpand> const>::replace_(target, pos_begin, pos_end, source);
+}
+
+template<typename TTargetValue, typename TSource, typename TExpand>
+inline void
+replace(TTargetValue * target,
+               size_t pos_begin,
+               size_t pos_end,
+               TSource const & source,
+               size_t limit,
+               Tag<TExpand> const)
+{
+SEQAN_CHECKPOINT
+       _Replace_String<Tag<TExpand> const>::replace_(target, pos_begin, pos_end, source, limit);
+}
+//____________________________________________________________________________
+//this variant is a workaround for the "const array"-bug of VC++
+
+template<typename TTargetValue, typename TSourceValue, typename TExpand>
+inline void
+replace(TTargetValue * target,
+               size_t pos_begin,
+               size_t pos_end,
+               TSourceValue const * source,
+               Tag<TExpand> const)
+{
+SEQAN_CHECKPOINT
+       _Replace_String<Tag<TExpand> const>::replace_(target, pos_begin, pos_end, source);
+}
+
+template<typename TTargetValue, typename TSourceValue, typename TExpand>
+inline void
+replace(TTargetValue * target,
+               size_t pos_begin,
+               size_t pos_end,
+               TSourceValue const * source,
+               size_t limit,
+               Tag<TExpand> const)
+{
+SEQAN_CHECKPOINT
+       _Replace_String<Tag<TExpand> const>::replace_(target, pos_begin, pos_end, source, limit);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// handling of iterators as begin and and
+/*
+template<typename TTargetValue, typename TSource, typename TExpand>
+inline void
+replace(TTargetValue * target,
+               typename Iterator<TTargetValue *, Rooted>::Type pos_begin,
+               typename Iterator<TTargetValue *, Rooted>::Type pos_end,
+               TSource const & source,
+               Tag<TExpand> const tag)
+{
+       replace(target, position(pos_begin), position(pos_end), source, tag);
+}
+template<typename TTargetValue, typename TSource, typename TExpand>
+inline void
+replace(TTargetValue * target,
+               typename Iterator<TTargetValue *, Rooted>::Type pos_begin,
+               typename Iterator<TTargetValue *, Rooted>::Type pos_end,
+               TSource const & source,
+               size_t limit,
+               Tag<TExpand> const tag)
+{
+       replace(target, position(pos_begin), position(pos_end), source, limit, tag);
+}
+*/
+//////////////////////////////////////////////////////////////////////////////
+///.Function.resize.param.object.type:Adaption.char array
+
+template <typename TValue, typename TExpand>
+inline size_t
+resize(
+       TValue * me,
+       size_t new_length,
+       Tag<TExpand> const &)
+{
+SEQAN_CHECKPOINT
+       return _Resize_String<Tag<TExpand> const>::resize_(me, new_length);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+///.Function.fill.param.object.type:Adaption.char array
+
+template <typename TValue, typename TExpand>
+inline size_t
+fill(
+       TValue * me,
+       size_t new_length,
+       TValue const & val,
+       Tag<TExpand> const &)
+{
+SEQAN_CHECKPOINT
+       return _Fill_String<Tag<TExpand> const>::fill_(me, new_length, val);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+//PROBLEM: ambiguitiy "pointer/iterator" and "c-style string"
+//workaround: disable all operators
+/*
+template <typename TLeftValue, typename TRight >
+TLeftValue const *
+operator += (TLeftValue * left,
+                        TRight const & right)
+{
+SEQAN_CHECKPOINT
+       append(left, right);
+       return left;
+}
+*/
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TLeftValue, typename TRight >
+inline bool
+isEqual(TLeftValue * left,
+               TRight const & right)
+{
+SEQAN_CHECKPOINT
+       typename Comparator<TLeftValue *>::Type _lex(left, right);
+    return isEqual(_lex);
+}
+/*
+template <typename TLeftValue, typename TRight >
+inline bool
+operator == (TLeftValue * left,
+                       TRight const & right)
+{
+SEQAN_CHECKPOINT
+       typename Comparator<TLeftValue *>::Type _lex(left, right);
+    return isEqual(_lex);
+}
+*/
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TLeftValue, typename TRight >
+inline bool
+isNotEqual(TLeftValue * left,
+                  TRight const & right)
+{
+SEQAN_CHECKPOINT
+       typename Comparator<TLeftValue *>::Type _lex(left, right);
+    return isNotEqual(_lex);
+}
+/*
+template <typename TLeftValue, typename TRight >
+inline bool
+operator != (TLeftValue * left,
+                        TRight const & right)
+{
+SEQAN_CHECKPOINT
+       typename Comparator<TLeftValue *>::Type _lex(left, right);
+    return isNotEqual(_lex);
+}
+*/
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TLeftValue, typename TRight>
+inline bool
+isLess(TLeftValue * left,
+          TRight const & right)
+{
+SEQAN_CHECKPOINT
+       return isLess(left, right, typename DefaultPrefixOrder<TLeftValue *>::Type());
+}
+/*
+template <typename TLeftValue, typename TRight>
+inline bool
+operator < (TLeftValue * left,
+                       TRight const & right)
+{
+SEQAN_CHECKPOINT
+       return isLess(left, right, typename DefaultPrefixOrder<TLeftValue *>::Type());
+}
+*/
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TLeftValue, typename TRight>
+inline bool
+isLessOrEqual(TLeftValue * left,
+                        TRight const & right)
+{
+SEQAN_CHECKPOINT
+       return isLessOrEqual(left, right, typename DefaultPrefixOrder<TLeftValue *>::Type());
+}
+/*
+template <typename TLeftValue, typename TRight>
+inline bool
+operator <= (TLeftValue * left,
+                        TRight const & right)
+{
+SEQAN_CHECKPOINT
+       return isLessOrEqual(left, right, typename DefaultPrefixOrder<TLeftValue *>::Type());
+}
+*/
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TLeftValue, typename TRight>
+inline bool
+isGreater(TLeftValue * left,
+               TRight const & right)
+{
+SEQAN_CHECKPOINT
+       return isGreater(left, right, typename DefaultPrefixOrder<TLeftValue *>::Type());
+}
+/*
+template <typename TLeftValue, typename TRight>
+inline bool
+operator > (TLeftValue * left,
+               TRight const & right)
+{
+SEQAN_CHECKPOINT
+       return isGreater(left, right, typename DefaultPrefixOrder<TLeftValue *>::Type());
+}
+*/
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TLeftValue, typename TRight>
+inline bool
+isGreaterOrEqual(TLeftValue * left,
+               TRight const & right)
+{
+SEQAN_CHECKPOINT
+       return isGreaterOrEqual(left, right, typename DefaultPrefixOrder<TLeftValue *>::Type());
+}
+/*
+template <typename TLeftValue, typename TRight>
+inline bool
+operator >= (TLeftValue * left,
+               TRight const & right)
+{
+SEQAN_CHECKPOINT
+       return isGreaterOrEqual(left, right, typename DefaultPrefixOrder<TLeftValue *>::Type());
+}
+*/
+//////////////////////////////////////////////////////////////////////////////
+
+} //namespace SEQAN_NAMESPACE_MAIN
+
+//____________________________________________________________________________
+
+#endif //#ifndef SEQAN_HEADER_...
diff --git a/SeqAn-1.1/seqan/sequence/string_stack.h b/SeqAn-1.1/seqan/sequence/string_stack.h
new file mode 100644 (file)
index 0000000..e135f43
--- /dev/null
@@ -0,0 +1,532 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de 
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: string_stack.h,v 1.1 2008/08/25 16:20:04 langmead Exp $
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_GRAPH_STACK_H
+#define SEQAN_HEADER_GRAPH_STACK_H
+
+
+//////////////////////////////////////////////////////////////////////////////
+
+namespace SEQAN_NAMESPACE_MAIN
+{
+
+//////////////////////////////////////////////////////////////////////////////
+// TAGS
+//////////////////////////////////////////////////////////////////////////////
+
+/**
+.Spec.Block String:
+..cat:Strings
+..general:Class.String
+..summary:String optimized for push_back, top, and pop (Stack behaviour).
+..signature:String<TValue, Block<size> >
+..param.TValue:The value type, that is the type of the items/characters stored in the string.
+...remarks:Use @Metafunction.Value@ to get the value type for a given class.
+..param.size:A positive integer that specifies the number of values in each allocated block.
+...remarks: Size should be a power of 2, e.g., 1024.
+*/
+
+       template<unsigned int SPACE = 4096>
+       struct Block;
+
+//////////////////////////////////////////////////////////////////////////////
+
+
+       template<typename TValue, unsigned int SPACE>
+       class String<TValue, Block<SPACE> > 
+       {
+               typedef String<TValue, Array<SPACE> >                           TBlock;
+               typedef TBlock*                                                                         PBlock;
+               typedef Allocator< SinglePool<sizeof(TBlock)> >         TAllocator;
+
+       public:
+               typedef typename Iterator<TBlock, Standard>::Type       TBlockIter;
+               typedef String<PBlock>                                                          TBlockTable;
+
+               TBlockTable             blocks;
+               TBlockIter              blockFirst, blockLast;  // current block boundaries
+               TBlockIter              lastValue;                              // pointer to top value
+               TAllocator              alloc;
+           
+       //____________________________________________________________________________
+             
+               public:
+                       String():
+                               blockFirst(TBlockIter()),
+                               blockLast(TBlockIter()),
+                               lastValue(TBlockIter()) {}
+
+                       template<typename TSource>
+                       String(TSource const& source):
+                               blockFirst(TBlockIter()),
+                               blockLast(TBlockIter()),
+                               lastValue(TBlockIter())
+                       {
+                       SEQAN_CHECKPOINT
+                               assign(*this, source);
+                       } 
+
+                       String(String const & source):
+                               blockFirst(TBlockIter()),
+                               blockLast(TBlockIter()),
+                               lastValue(TBlockIter())
+                       {
+                       SEQAN_CHECKPOINT
+                               assign(*this, source);
+                       }
+
+                       template<typename TSource>
+                       String & operator =(TSource const& source) 
+                       {
+                       SEQAN_CHECKPOINT
+                               assign(*this, source);
+                               return *this;
+                       }
+
+                       String & operator =(String const& _other)       
+                       {
+                       SEQAN_CHECKPOINT
+                               if (this == &_other) return *this;
+                               assign(*this, _other);
+                               return *this;
+                       }
+
+                       ~String() 
+                       {
+                               clear(*this);
+                       }
+
+       //____________________________________________________________________________
+
+               public:
+                       template<typename TPos>
+                       inline typename Reference<String>::Type 
+                               operator[] (TPos pos) 
+                       {
+                       SEQAN_CHECKPOINT
+                               return value(*this, pos);
+                       }
+
+                       template<typename TPos>
+                       inline typename Reference<String const>::Type 
+                               operator[] (TPos pos) const 
+                       {
+                       SEQAN_CHECKPOINT
+                               return value(*this, pos);
+                       }
+       };
+
+
+       template<typename TValue, unsigned int SPACE>
+       struct DefaultOverflowImplicit< String<TValue, Block<SPACE> > >
+       {
+               typedef Generous Type;
+       };
+
+
+//////////////////////////////////////////////////////////////////////////////
+// Block metafunctions
+//////////////////////////////////////////////////////////////////////////////
+
+//////////////////////////////////////////////////////////////////////////////
+// Iterators
+//////////////////////////////////////////////////////////////////////////////
+
+///.Metafunction.Iterator.param.T.type:Spec.Block String
+
+       template<typename TValue, unsigned int SPACE>
+       struct Iterator<String<TValue, Block<SPACE> >, Standard> 
+       {
+               typedef Iter<String<TValue, Block<SPACE> >, PositionIterator> Type;
+       };
+
+       template<typename TValue, unsigned int SPACE>
+       struct Iterator<String<TValue, Block<SPACE> > const, Standard> 
+       {
+               typedef Iter<String<TValue, Block<SPACE> > const, PositionIterator> Type;
+       };
+
+       template<typename TValue, unsigned int SPACE>
+       struct Iterator<String<TValue, Block<SPACE> >, Rooted> 
+       {
+               typedef Iter<String<TValue, Block<SPACE> >, PositionIterator> Type;
+       };
+
+       template<typename TValue, unsigned int SPACE>
+       struct Iterator<String<TValue, Block<SPACE> > const, Rooted> 
+       {
+               typedef Iter<String<TValue, Block<SPACE> > const, PositionIterator> Type;
+       };
+
+
+///////////////////////////////////////////////////////////////
+// Block interface
+///////////////////////////////////////////////////////////////
+
+
+//////////////////////////////////////////////////////////////////////////////
+// begin
+//////////////////////////////////////////////////////////////////////////////
+
+       template<typename TValue, unsigned int SPACE, typename TSpec>
+       inline typename Iterator<String<TValue, Block<SPACE> >, Tag<TSpec> const >::Type 
+       begin(String<TValue, Block<SPACE> > &me, Tag<TSpec> const)
+       {
+       SEQAN_CHECKPOINT
+               return Iter<String<TValue, Block<SPACE> >, PositionIterator>(me, 0);
+       }
+
+       template<typename TValue, unsigned int SPACE, typename TSpec>
+       inline typename Iterator<String<TValue, Block<SPACE> > const, Tag<TSpec> const>::Type 
+       begin(String<TValue, Block<SPACE> > const &me, Tag<TSpec> const)
+       {
+       SEQAN_CHECKPOINT
+               return Iter<String<TValue, Block<SPACE> > const, PositionIterator>(me, 0);
+       }
+
+
+       template<typename TValue, unsigned int SPACE, typename TSpec>
+       inline typename Iterator<String<TValue, Block<SPACE> >, Tag<TSpec> const >::Type 
+       end(String<TValue, Block<SPACE> > &me, Tag<TSpec> const)
+       {
+       SEQAN_CHECKPOINT
+               return Iter<String<TValue, Block<SPACE> >, PositionIterator>(me, length(me));
+       }
+
+       template<typename TValue, unsigned int SPACE, typename TSpec>
+       inline typename Iterator<String<TValue, Block<SPACE> > const, Tag<TSpec> const>::Type 
+       end(String<TValue, Block<SPACE> > const &me, Tag<TSpec> const)
+       {
+       SEQAN_CHECKPOINT
+               return Iter<String<TValue, Block<SPACE> > const, PositionIterator>(me, length(me));
+       }
+
+       template<typename TValue, unsigned int SPACE, typename TSource>
+       inline void 
+       assign(
+               String<TValue, Block<SPACE> >& target, 
+               TSource const& source) 
+       {
+       SEQAN_CHECKPOINT
+               clear(target);
+               typedef typename Iterator<TSource const, Standard>::Type TIter;
+               for(TIter it = begin(source, Standard()); !atEnd(it, source); goNext(it))
+                       push(target, *it);
+       }
+
+
+       template<typename TValue, unsigned int SPACE, typename TPos>
+       inline typename Reference<String<TValue, Block<SPACE> > >::Type 
+       value(
+               String<TValue, Block<SPACE> >& stack, 
+               TPos const pos) 
+       {
+       SEQAN_CHECKPOINT
+               return value(*(stack.blocks[pos / SPACE]), pos % SPACE);
+       }
+
+       template<typename TValue, unsigned int SPACE, typename TPos>
+       inline typename Reference<String<TValue, Block<SPACE> > >::Type 
+       value(
+               String<TValue, Block<SPACE> > const& stack, 
+               TPos const pos) 
+       {
+       SEQAN_CHECKPOINT
+               return value(*(stack.blocks[pos / SPACE]), pos % SPACE);
+       }
+
+       template<typename TValue, unsigned int SPACE, typename TIteratorSpec>
+       inline bool 
+       atEnd(
+               Iter<String<TValue, Block<SPACE> >, TIteratorSpec>& it, 
+               String<TValue, Block<SPACE> >& container) 
+       {
+       SEQAN_CHECKPOINT
+               typedef typename Iterator<String<TValue, Block<SPACE> >, Standard>::Type TIter;
+               TIter endIt = end(container, Standard());
+               return (it == endIt);
+       }
+
+
+       template<typename TValue, unsigned int SPACE>
+       inline void 
+       clear(String<TValue, Block<SPACE> >& me)
+       {
+       SEQAN_CHECKPOINT
+               typedef String<TValue, Block<SPACE>     >                       TBlockString;
+               typedef typename TBlockString::TBlockTable              TBlockTable;
+               typedef typename Iterator<TBlockTable, Standard>::Type  TIter;
+               
+               TIter it = begin(me.blocks), itEnd = end(me.blocks);
+               while (it != itEnd) {
+                       deallocate(me.alloc, *it, 1);
+                       ++it;
+               }
+               clear(me.blocks);
+               me.lastValue = me.blockLast = typename TBlockString::TBlockIter();
+       }
+
+
+//////////////////////////////////////////////////////////////////////////////
+///.Function.reserve.param.object.type:Spec.Block String
+/*
+       template <typename TValue, unsigned int SPACE, typename TSize, typename TExpand>
+       inline typename Size< String<TValue, Block<SPACE> > >::Type
+       reserve(
+               String<TValue, Block<SPACE> >& me, 
+               TSize new_capacity,
+               Tag<TExpand> const tag)
+       {
+       SEQAN_CHECKPOINT
+               reserve(me.blocks, (new_capacity + SPACE - 1) / SPACE, tag);
+               return capacity(me.blocks) * SPACE;
+       }
+*/
+
+       template<typename TValue, unsigned int SPACE, typename TSize2, typename TExpand>
+       inline typename Size< String<TValue, Block<SPACE> > >::Type
+       resize(String<TValue, Block<SPACE> > & me,
+               TSize2 new_length,
+               Tag<TExpand> const)
+       {
+       SEQAN_CHECKPOINT
+               typedef String<TValue, Block<SPACE>     >                       TBlockString;
+               typedef typename Size<TBlockString>::Type               TSize;
+               TSize len = length(me);
+
+               if (new_length > len)
+               {
+                       for (; len < new_length; ++len) push(me);
+               }
+               else if (new_length < len)
+               {
+                       for (; len > new_length; --len) pop(me);
+               }
+               return new_length;
+       }
+       template<typename TValue, unsigned int SPACE, typename TSize2>
+       inline typename Size< String<TValue, Block<SPACE> > >::Type
+       resize(String<TValue, Block<SPACE> > & me,
+               TSize2 new_length,
+               Limit)
+       {
+       SEQAN_CHECKPOINT
+               typedef String<TValue, Block<SPACE>     >                       TBlockString;
+               typedef typename Size<TBlockString>::Type               TSize;
+               TSize len = length(me);
+
+               if (new_length > capacity(me)) new_length = capacity(me);
+
+               if (new_length > len)
+               {
+                       TValue val;
+                       for (; len < new_length; ++len) push(me, val);
+               }
+               else if (new_length < len)
+               {
+                       for (; len > new_length; --len) pop(me);
+               }
+               return new_length;
+       }
+
+       
+       //dummy implementation
+       template<typename TValue, unsigned int SPACE, typename TSize, typename TExpand>
+       inline typename Size< String<TValue, Block<SPACE> > >::Type
+       reserve(String<TValue, Block<SPACE> > & me,
+               TSize new_capacity,
+               Tag<TExpand> const)
+       {
+       SEQAN_CHECKPOINT
+               return new_capacity;
+       }
+
+
+       template<typename TValue, unsigned int SPACE, typename TSource, typename TExpand>
+       inline void 
+       append(
+               String<TValue, Block<SPACE> >& me,
+               TSource const& source,
+               Tag<TExpand> const tag)
+       {
+       SEQAN_CHECKPOINT
+               typedef typename Iterator<TSource const, Standard>::Type TIter;
+               for(TIter it = begin(source, Standard()); !atEnd(it, source); goNext(it))
+                       appendValue(me, *it);
+       }
+
+//////////////////////////////////////////////////////////////////////////////
+///.Function.appendValue.param.target.type:Spec.Block String
+
+       template<typename TValue, unsigned int SPACE, typename TVal, typename TExpand>
+       inline void 
+       appendValue(
+               String<TValue, Block<SPACE> >& me, 
+               TVal const& source,
+               Tag<TExpand> const tag)
+       {
+       SEQAN_CHECKPOINT
+               if (me.lastValue == me.blockLast) {
+                       typename Size< String<TValue, Block<SPACE> > >::Type last = length(me.blocks);
+
+                       resize(me.blocks, last + 1, tag);
+                       allocate(me.alloc, me.blocks[last], 1);
+                       me.lastValue = me.blockFirst = begin(*me.blocks[last]);
+                       me.blockLast = (me.blockFirst + (SPACE - 1));
+               } else
+                       ++me.lastValue;
+               valueConstruct(me.lastValue, source);
+       }
+        
+       template<typename TValue, unsigned int SPACE, typename TVal>
+       inline void 
+       push(
+               String<TValue, Block<SPACE> >& me, 
+               TVal const& source)
+       {
+               appendValue(me, source);
+       }
+
+       template<typename TValue, unsigned int SPACE>
+       inline void 
+       push(String<TValue, Block<SPACE> >& me)
+       {
+       SEQAN_CHECKPOINT
+               if (me.lastValue == me.blockLast) {
+                       typename Size< String<TValue, Block<SPACE> > >::Type last = length(me.blocks);
+
+                       resize(me.blocks, last + 1, typename DefaultOverflowImplicit<String<TValue, Block<SPACE> > >::Type());
+                       allocate(me.alloc, me.blocks[last], 1);
+                       me.lastValue = me.blockFirst = begin(*me.blocks[last]);
+                       me.blockLast = (me.blockFirst + (SPACE - 1));
+               } else
+                       ++me.lastValue;
+               valueConstruct(me.lastValue);
+       }
+        
+       template<typename TValue, unsigned int SPACE, typename TVal>
+       inline void 
+       push_back(
+               String<TValue, Block<SPACE> >& me, 
+               TVal const& source)
+       {
+               appendValue(me, source);
+       }
+
+       template<typename TValue, unsigned int SPACE>
+       inline TValue &
+       top(String<TValue, Block<SPACE> > & me) 
+       {
+       SEQAN_CHECKPOINT
+               return *me.lastValue;
+       }
+
+       template<typename TValue, unsigned int SPACE>
+       inline TValue const &
+       top(String<TValue, Block<SPACE> > const& me) 
+       {
+       SEQAN_CHECKPOINT
+               return *me.lastValue;
+       }
+
+       template<typename TValue, unsigned int SPACE>
+       inline TValue &
+       topPrev(String<TValue, Block<SPACE> > & me) 
+       {
+       SEQAN_CHECKPOINT
+               if (me.lastValue != me.blockFirst)
+                       return *(me.lastValue - 1);
+               else
+                       return *(begin(*me.blocks[length(me.blocks) - 1]) + (SPACE - 1));
+       }
+
+       template<typename TValue, unsigned int SPACE>
+       inline TValue const &
+       topPrev(String<TValue, Block<SPACE> > const& me) 
+       {
+       SEQAN_CHECKPOINT
+               if (me.lastValue != me.blockFirst)
+                       return *(me.lastValue - 1);
+               else
+                       return *(begin(*me.blocks[length(me.blocks) - 1]) + (SPACE - 1));
+       }
+
+       template<typename TValue, unsigned int SPACE>
+       inline void 
+       pop(String<TValue, Block<SPACE> >& me) 
+       {
+       SEQAN_CHECKPOINT
+               if (me.lastValue == me.blockFirst) {
+                       typename Size< String<TValue, Block<SPACE> > >::Type last = length(me.blocks);
+
+                       if (last) {
+                               valueDestruct(me.lastValue);
+                               deallocate(me.alloc, me.blocks[--last], 1);
+                               resize(me.blocks, last);
+                               if (last) {
+                                       me.blockFirst = begin(*me.blocks[--last]);
+                                       me.lastValue = me.blockLast = (me.blockFirst + (SPACE - 1));
+                               }
+                       }
+               } else {
+                       valueDestruct(me.lastValue);
+                       --me.lastValue;
+               }
+       }
+
+       template<typename TValue, unsigned int SPACE>
+       inline void 
+       pop_back(String<TValue, Block<SPACE> >& me) {
+               pop(me);
+       }
+
+       template<typename TValue, unsigned int SPACE>
+       inline bool 
+       empty(String<TValue, Block<SPACE> > const& me) 
+       {
+       SEQAN_CHECKPOINT
+               return length(me.blocks) == 0;
+       }
+
+       template<typename TValue, unsigned int SPACE>
+       inline typename Size<String<TValue, Block<SPACE> > >::Type
+       length(String<TValue, Block<SPACE> > const & me) 
+       {
+       SEQAN_CHECKPOINT
+               if (length(me.blocks))
+                       return (length(me.blocks) - 1) * SPACE + (me.lastValue - me.blockFirst) + 1;
+               else
+                       return 0;
+       }
+
+       template<typename TValue, unsigned int SPACE>
+       inline typename Size<String<TValue, Block<SPACE> > >::Type
+       capacity(String<TValue, Block<SPACE> > const & me) 
+       {
+       SEQAN_CHECKPOINT
+               if (length(me.blocks))
+                       return length(me.blocks) * SPACE;
+               else
+                       return 0;
+       }
+
+}// namespace SEQAN_NAMESPACE_MAIN
+
+#endif //#ifndef SEQAN_HEADER_...
diff --git a/SeqAn-1.1/seqan/sequence/string_value_expand.h b/SeqAn-1.1/seqan/sequence/string_value_expand.h
new file mode 100644 (file)
index 0000000..38d025c
--- /dev/null
@@ -0,0 +1,514 @@
+ /*==========================================================================
+                SeqAn - The Library for Sequence Analysis
+                          http://www.seqan.de 
+ ============================================================================
+  Copyright (C) 2007
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+ ============================================================================
+  $Id: string_value_expand.h,v 1.1 2008/08/25 16:20:04 langmead Exp $
+ ==========================================================================*/
+
+#ifndef SEQAN_HEADER_SEQUENCE_STRING_VALUEEXPAND_H
+#define SEQAN_HEADER_SEQUENCE_STRING_VALUEEXPAND_H
+
+
+namespace SEQAN_NAMESPACE_MAIN
+{
+//////////////////////////////////////////////////////////////////////////////
+// Tags
+
+template <typename THost, typename TMap, typename TSpec = Default>
+struct ValueExpand;
+
+struct ValueExpandIter;
+
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TValue, typename THost, typename TMap, typename TSpec>
+class String<TValue, ValueExpand<THost, TMap, TSpec> >
+{
+//____________________________________________________________________________
+private:
+
+       typedef typename Value<String>::Type TLargeValue;
+       typedef typename Value<THost>::Type TSmallValue;
+
+       Holder<THost> data_host;
+       Holder<TMap> data_map;
+
+//____________________________________________________________________________
+
+public:
+       String() 
+       {
+       }
+       String(String const & other_):
+               data_host(other_.data_host),
+               data_map(other_.data_map)
+       {
+       }
+       ~String()
+       {
+       }
+       String const &
+       operator = (String const & other_)
+       {
+               data_host = other_.data_host;
+               data_map = other_.data_map;
+       }
+//____________________________________________________________________________
+
+       template <typename TPos>
+       inline typename Reference<String>::Type
+       operator [](TPos pos)
+       {
+               return value(*this, pos);
+       }
+
+//____________________________________________________________________________
+
+       friend inline Holder<THost> &
+       _dataHost(String & me)
+       {
+               return me.data_host;
+       }
+//____________________________________________________________________________
+
+       friend inline Holder<TMap> &
+       _dataMap(String & me)
+       {
+               return me.data_map;
+       }
+//____________________________________________________________________________
+};
+
+//////////////////////////////////////////////////////////////////////////////
+// Metafunctions
+
+template <typename TValue, typename THost, typename TMap, typename TSpec>
+struct Value<String< TValue, ValueExpand<THost, TMap, TSpec> > >
+{
+       typedef TValue Type;
+};
+template <typename TValue, typename THost, typename TMap, typename TSpec>
+struct Value<String< TValue, ValueExpand<THost, TMap, TSpec> > const>
+{
+       typedef TValue const Type;
+};
+
+//____________________________________________________________________________
+
+template <typename TValue, typename THost, typename TMap, typename TSpec>
+struct GetValue<String< TValue, ValueExpand<THost, TMap, TSpec> > >:
+       Value<String< TValue, ValueExpand<THost, TMap, TSpec> > >
+{
+};
+template <typename TValue, typename THost, typename TMap, typename TSpec>
+struct GetValue<String< TValue, ValueExpand<THost, TMap, TSpec> > const>:
+       Value<String< TValue, ValueExpand<THost, TMap, TSpec> > const>
+{
+};
+
+//____________________________________________________________________________
+
+template <typename TValue, typename THost, typename TMap, typename TSpec>
+struct Reference<String< TValue, ValueExpand<THost, TMap, TSpec> > >   
+{
+       typedef String< TValue, ValueExpand<THost, TMap, TSpec> > TMe;
+       typedef typename Iterator<TMe, Standard>::Type TIterator;
+       typedef Proxy<IteratorProxy<TIterator> > Type;
+};
+template <typename TValue, typename THost, typename TMap, typename TSpec>
+struct Reference<String< TValue, ValueExpand<THost, TMap, TSpec> > const>      
+{
+       typedef String< TValue, ValueExpand<THost, TMap, TSpec> > const TMe;
+       typedef typename Iterator<TMe, Standard>::Type TIterator;
+       typedef Proxy<IteratorProxy<TIterator> > Type;
+};
+
+//____________________________________________________________________________
+
+template <typename TValue, typename THost, typename TMap, typename TSpec, typename TIteratorSpec>
+struct Iterator<String< TValue, ValueExpand<THost, TMap, TSpec> >, TIteratorSpec>      
+{
+       typedef ValueExpand<THost, TMap, TSpec> TValueExpand;
+       typedef String< TValue, TValueExpand> TMe;
+       typedef typename Iterator<THost, Standard>::Type THostIterator;
+
+       typedef Iter<TMe, AdaptorIterator<THostIterator, ValueExpandIter> > Type;
+};
+template <typename TValue, typename THost, typename TMap, typename TSpec, typename TIteratorSpec>
+struct Iterator<String< TValue, ValueExpand<THost, TMap, TSpec> > const, TIteratorSpec>        
+{
+       typedef ValueExpand<THost, TMap, TSpec> TValueExpand;
+       typedef String< TValue, TValueExpand> const TMe;
+       typedef typename Iterator<THost, Standard>::Type THostIterator;
+
+       typedef Iter<TMe, AdaptorIterator<THostIterator, ValueExpandIter> > Type;
+};
+
+//____________________________________________________________________________
+
+template <typename TValue, typename THost, typename TMap, typename TSpec>
+struct DefaultOverflowImplicit<String< TValue, ValueExpand<THost, TMap, TSpec> > >:
+       DefaultOverflowImplicit< typename Host<String< TValue, ValueExpand<THost, TMap, TSpec> > >::Type >
+{
+};
+template <typename TValue, typename THost, typename TMap, typename TSpec>
+struct DefaultOverflowImplicit<String< TValue, ValueExpand<THost, TMap, TSpec> > const>:
+       DefaultOverflowImplicit< typename Host<String< TValue, ValueExpand<THost, TMap, TSpec> > const>::Type >
+{
+};
+
+//____________________________________________________________________________
+
+template <typename TValue, typename THost, typename TMap, typename TSpec>
+struct DefaultOverflowExplicit<String< TValue, ValueExpand<THost, TMap, TSpec> > >:
+       DefaultOverflowExplicit< typename Host<String< TValue, ValueExpand<THost, TMap, TSpec> > >::Type >
+{
+};
+template <typename TValue, typename THost, typename TMap, typename TSpec>
+struct DefaultOverflowExplicit<String< TValue, ValueExpand<THost, TMap, TSpec> > const>:
+       DefaultOverflowExplicit< typename Host<String< TValue, ValueExpand<THost, TMap, TSpec> > const>::Type >
+{
+};
+
+//____________________________________________________________________________
+
+template <typename TValue, typename THost, typename TMap, typename TSpec>
+struct IsContiguous<String< TValue, ValueExpand<THost, TMap, TSpec> > >
+{
+    typedef False Type;
+       enum { VALUE = false };
+};
+
+//____________________________________________________________________________
+
+template <typename TValue, typename THost, typename TMap, typename TSpec>
+struct Host<String< TValue, ValueExpand<THost, TMap, TSpec> > >
+{
+       typedef THost Type;
+};
+template <typename TValue, typename THost, typename TMap, typename TSpec>
+struct Host<String< TValue, ValueExpand<THost, TMap, TSpec> > const>
+{
+       typedef THost const Type;
+};
+
+//____________________________________________________________________________
+
+template <typename T>
+struct MapType;
+
+template <typename TValue, typename THost, typename TMap, typename TSpec>
+struct MapType<String< TValue, ValueExpand<THost, TMap, TSpec> > >
+{
+       typedef TMap Type;
+};
+template <typename TValue, typename THost, typename TMap, typename TSpec>
+struct MapType<String< TValue, ValueExpand<THost, TMap, TSpec> > const>
+{
+       typedef TMap const Type;
+};
+
+//////////////////////////////////////////////////////////////////////////////
+// Special Functions
+
+template <typename TValue, typename THost, typename TMap, typename TSpec>
+inline TMap &
+_getMap(String< TValue, ValueExpand<THost, TMap, TSpec> > & me)
+{
+       return value(_dataMap(me));
+}
+template <typename TValue, typename THost, typename TMap, typename TSpec>
+inline TMap &
+_getMap(String< TValue, ValueExpand<THost, TMap, TSpec> > const & me)
+{
+       return value(_dataMap(me));
+}
+
+//____________________________________________________________________________
+
+template <typename TValue, typename THost, typename TMap, typename TSpec>
+inline typename Value<THost>::Type
+_getValueExpandFlagValue(String< TValue, ValueExpand<THost, TMap, TSpec> > const & me)
+{
+       typedef typename Value<THost>::Type TSmallValue;
+       return supremumValue<TSmallValue>();
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// Public Functions
+
+
+template <typename TValue, typename THost, typename TMap, typename TSpec>
+inline void const * 
+id(String< TValue, ValueExpand<THost, TMap, TSpec> > const & me)
+{
+SEQAN_CHECKPOINT
+       return id(host(me));
+}
+
+//____________________________________________________________________________
+
+template <typename TValue, typename THost, typename TMap, typename TPos, typename TSpec, typename TTag>
+inline typename Iterator<String< TValue, ValueExpand<THost, TMap, TSpec> >, Tag<TTag> const>::Type 
+iter(String< TValue, ValueExpand<THost, TMap, TSpec> > & me,
+        TPos pos_,
+        Tag<TTag> const tag_)
+{
+SEQAN_CHECKPOINT
+       typedef String< TValue, ValueExpand<THost, TMap, TSpec> > TMe;
+       typedef typename Iterator<TMe, Tag<TTag> const>::Type TIterator;
+       return TIterator(me, begin(host(me), Standard()) + pos_);
+}
+template <typename TValue, typename THost, typename TMap, typename TPos, typename TSpec, typename TTag>
+inline typename Iterator<String< TValue, ValueExpand<THost, TMap, TSpec> > const, Tag<TTag> const>::Type 
+iter(String< TValue, ValueExpand<THost, TMap, TSpec> > const & me,
+        TPos pos_,
+        Tag<TTag> const tag_ )
+{
+SEQAN_CHECKPOINT
+       typedef String< TValue, ValueExpand<THost, TMap, TSpec> > const TMe;
+       typedef typename Iterator<TMe, Tag<TTag> const>::Type TIterator;
+       return TIterator(me, begin(host(me), Standard()) + pos_);
+}
+
+//____________________________________________________________________________
+
+template <typename TValue, typename THost, typename TMap, typename TSpec, typename TTag>
+inline typename Iterator<String< TValue, ValueExpand<THost, TMap, TSpec> >, Tag<TTag> const>::Type 
+begin(String< TValue, ValueExpand<THost, TMap, TSpec> > & me,
+         Tag<TTag> const tag_)
+{
+SEQAN_CHECKPOINT
+       return iter(me, 0, tag_);
+}
+template <typename TValue, typename THost, typename TMap, typename TSpec, typename TTag>
+inline typename Iterator<String< TValue, ValueExpand<THost, TMap, TSpec> > const, Tag<TTag> const>::Type 
+begin(String< TValue, ValueExpand<THost, TMap, TSpec> > const & me,
+         Tag<TTag> const tag_)
+{
+SEQAN_CHECKPOINT
+       return iter(me, 0, tag_);
+}
+
+//____________________________________________________________________________
+
+template <typename TValue, typename THost, typename TMap, typename TSpec, typename TTag>
+inline typename Iterator<String< TValue, ValueExpand<THost, TMap, TSpec> >, Tag<TTag> const>::Type 
+end(String< TValue, ValueExpand<THost, TMap, TSpec> > & me,
+       Tag<TTag> const tag_)
+{
+SEQAN_CHECKPOINT
+       return iter(me, length(me), tag_);
+}
+template <typename TValue, typename THost, typename TMap, typename TSpec, typename TTag>
+inline typename Iterator<String< TValue, ValueExpand<THost, TMap, TSpec> > const, Tag<TTag> const>::Type 
+end(String< TValue, ValueExpand<THost, TMap, TSpec> > const & me,
+       Tag<TTag> const tag_)
+{
+SEQAN_CHECKPOINT
+       return iter(me, length(me), tag_);
+}
+
+//____________________________________________________________________________
+
+template <typename TValue, typename THost, typename TMap, typename TSpec, typename TPos>
+inline typename Reference<String< TValue, ValueExpand<THost, TMap, TSpec> > >::Type
+value(String< TValue, ValueExpand<THost, TMap, TSpec> > & me, 
+         TPos pos)
+{
+SEQAN_CHECKPOINT
+       
+       return *iter(me, pos, Standard());
+} 
+template <typename TValue, typename THost, typename TMap, typename TSpec, typename TPos>
+inline typename Reference<String< TValue, ValueExpand<THost, TMap, TSpec> > const>::Type
+value(String< TValue, ValueExpand<THost, TMap, TSpec> > const & me, 
+         TPos pos)
+{
+SEQAN_CHECKPOINT
+       
+       return *iter(me, pos, Standard());
+} 
+
+//____________________________________________________________________________
+
+template <typename TValue, typename THost, typename TMap, typename TSpec>
+inline typename Size<String< TValue, ValueExpand<THost, TMap, TSpec> > const>::Type
+length(String< TValue, ValueExpand<THost, TMap, TSpec> > const & me)
+{
+SEQAN_CHECKPOINT
+       return length(host(me));
+}
+
+//____________________________________________________________________________
+
+template <typename TValue, typename THost, typename TMap, typename TSpec>
+inline typename Size<String< TValue, ValueExpand<THost, TMap, TSpec> > const>::Type
+capacity(String< TValue, ValueExpand<THost, TMap, TSpec> > const & me)
+{
+SEQAN_CHECKPOINT
+       return capacity(host(me));
+}
+
+//____________________________________________________________________________
+
+template <typename TValue, typename THost, typename TMap, typename TSpec, typename TSize>
+inline TSize
+resize(String< TValue, ValueExpand<THost, TMap, TSpec> > & me,
+          TSize new_length)
+{
+SEQAN_CHECKPOINT
+       return resize(host(me), new_length);
+}
+
+//____________________________________________________________________________
+
+template <typename TValue, typename THost, typename TMap, typename TSpec, typename TSize, typename TExpand>
+inline TSize 
+reserve(String< TValue, ValueExpand<THost, TMap, TSpec> > & me,
+               TSize new_length,
+               Tag<TExpand> const tag)
+{
+SEQAN_CHECKPOINT
+       return reserve(host(me), new_length, tag);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// Iterator for ValueExpandIterator string: Subclass of AdaptorIterator
+//////////////////////////////////////////////////////////////////////////////
+
+template <typename TContainer, typename TIterator>
+inline typename Value<TContainer>::Type
+getValue(Iter<TContainer, AdaptorIterator<TIterator, ValueExpandIter> > & me)
+{
+SEQAN_CHECKPOINT
+       typedef typename Host<TContainer>::Type THost;
+       typedef typename Value<THost>::Type TSmallValue;
+       TSmallValue c = value(hostIterator(me));
+       if (c == _getValueExpandFlagValue(container(me)))
+       {//value is large 
+               return _getMap(container(me))[position(me)];
+       }
+       else
+       {
+               return c;
+       }
+}
+template <typename TContainer, typename TIterator>
+inline void
+getValue(Iter<TContainer, AdaptorIterator<TIterator, ValueExpandIter> > const & me)
+{
+SEQAN_CHECKPOINT
+       typedef typename Host<TContainer>::Type THost;
+       typedef typename Value<THost>::Type TSmallValue;
+       TSmallValue c = value(hostIterator(me));
+       if (c == _getValueExpandFlagValue(container(me)))
+       {//value is large 
+               return _getMap(container(me))[position(me)];
+       }
+       else
+       {
+               return c;
+       }
+}
+
+//____________________________________________________________________________
+
+template <typename TContainer, typename TIterator>
+inline typename Reference<Iter<TContainer, AdaptorIterator<TIterator, ValueExpandIter> > >::Type 
+value(Iter<TContainer, AdaptorIterator<TIterator, ValueExpandIter> > & me)
+{
+SEQAN_CHECKPOINT
+       typedef Iter<TContainer, AdaptorIterator<TIterator, ValueExpandIter> > TMe;
+       return typename Reference<TMe>::Type(me);
+}
+template <typename TContainer, typename TIterator>
+inline typename Reference<Iter<TContainer, AdaptorIterator<TIterator, ValueExpandIter> > >::Type 
+value(Iter<TContainer, AdaptorIterator<TIterator, ValueExpandIter> > const & me)
+{
+SEQAN_CHECKPOINT
+       typedef Iter<TContainer, AdaptorIterator<TIterator, ValueExpandIter> > const TMe;
+       return typename Reference<TMe>::Type(me);
+}
+
+//____________________________________________________________________________
+
+template <typename TContainer, typename TIterator, typename TValue>
+inline void
+assignValue(Iter<TContainer, AdaptorIterator<TIterator, ValueExpandIter> > & me,
+                       TValue const & _value)
+{
+SEQAN_CHECKPOINT
+       typedef typename Host<TContainer>::Type THost;
+       typedef typename Value<THost>::Type TSmallValue;
+       
+       TSmallValue flagValue = _getValueExpandFlagValue(container(me));
+       if (_value >= flagValue)
+       {//use map to store LargeValue
+               assignValue(hostIterator(me), flagValue);
+               _getMap(container(me))[position(me)] = _value;
+       }
+       else
+       {
+               assignValue(hostIterator(me), _value);
+       }
+}
+template <typename TContainer, typename TIterator, typename TValue>
+inline void
+assignValue(Iter<TContainer, AdaptorIterator<TIterator, ValueExpandIter> > const & me,
+                       TValue const & _value)
+{
+SEQAN_CHECKPOINT
+       typedef typename Host<TContainer>::Type THost;
+       typedef typename Value<THost>::Type TSmallValue;
+       
+       TSmallValue flagValue = _getValueExpandFlagValue(container(me));
+       if (_value >= flagValue)
+       {//use map to store LargeValue
+               assignValue(hostIterator(me), flagValue);
+               _getMap(container(me))[position(me)] = _value;
+       }
+       else
+       {
+               assignValue(hostIterator(me), _value);
+       }
+}
+
+//____________________________________________________________________________
+
+template <typename TContainer, typename TIterator, typename TValue>
+inline void
+moveValue(Iter<TContainer, AdaptorIterator<TIterator, ValueExpandIter> > & me,
+                 TValue const & _value)
+{
+SEQAN_CHECKPOINT
+       assignValue(me, _value);
+}
+template <typename TContainer, typename TIterator, typename TValue>
+inline void
+moveValue(Iter<TContainer, AdaptorIterator<TIterator, ValueExpandIter> > const & me,
+                 TValue const & _value)
+{
+SEQAN_CHECKPOINT
+       assignValue(me, _value);
+}
+
+
+//////////////////////////////////////////////////////////////////////////////
+
+} //namespace SEQAN_NAMESPACE_MAIN
+
+#endif //#ifndef SEQAN_HEADER_...
diff --git a/TUTORIAL b/TUTORIAL
new file mode 100644 (file)
index 0000000..92af96b
--- /dev/null
+++ b/TUTORIAL
@@ -0,0 +1,152 @@
+Bowtie: an Ultrafast, Lightweight Short Read Aligner
+
+Bowtie Getting Started Guide
+============================
+
+ Download and extract the appropriate Bowtie binary release from
+ http://bowtie-bio.sf.net into a fresh directory. Change to that
+ directory.
+
+ Performing alignments
+ ---------------------
+
+ The Bowtie source and binary packages come with a pre-built index of
+ the E. coli genome, and a set of 1,000 35-bp reads simulated from that
+ genome. To use Bowtie to align those reads, issue the following
+ command.  If you get an error message "command not found", try adding
+ a "./" before the "bowtie".
+    bowtie e_coli reads/e_coli_1000.fq
+
+ The first argument to bowtie is the basename of the index for the
+ genome to be searched. The second argument is the name of a FASTQ file
+ containing the reads.
+
+ Depending on your computer, the run might take a few seconds up to
+ about a minute. You will see bowtie print many lines of output. Each
+ line is an alignment for a read. The name of the aligned read appears
+ in the leftmost column. The final line should say "Reported 698
+ alignments to 1 output stream(s)" or something similar. 
+
+ Next, issue this command:
+
+    bowtie -t e_coli reads/e_coli_1000.fq e_coli.map
+
+ This run calculates the same alignments as the previous run, but the
+ alignments are written to e_coli.map (the final argument) rather than
+ to the screen. Also, the -t option instructs Bowtie to print timing
+ statistics.  The output should look something like this:
+
+    Time loading forward index: 00:00:00
+    Time loading mirror index: 00:00:00
+    Seeded quality full-index search: 00:00:00
+    # reads processed: 1000
+    # reads with at least one reported alignment: 699 (69.90%)
+    # reads that failed to align: 301 (30.10%)
+    Reported 699 alignments to 1 output stream(s)
+    Time searching: 00:00:00
+    Overall time: 00:00:00
+
+ Installing a pre-built index
+ ----------------------------
+
+ Download the pre-built S. cerevisiae genome package from the Bowtie
+ FTP site:
+
+    ftp://ftp.cbcb.umd.edu/pub/data/bowtie_indexes/s_cerevisiae.ebwt.zip
+
+ All pre-built indexes are packaged as .zip archives, and the S.
+ cerevisiae archive is named s_cerevisiae.ebwt.zip. When it has
+ finished downloading, extract the archive into the Bowtie 'indexes'
+ subdirectory using your preferred unzip tool. The index is now
+ installed.
+
+ To test that the index is properly installed, issue this command from
+ the Bowtie install directory:
+
+    bowtie -c s_cerevisiae ATTGTAGTTCGAGTAAGTAATGTGGGTTTG
+
+ This command searches the S. cerevisiae index with a single read. The
+ -c argument instructs Bowtie to obtain read sequences directly from
+ the command line rather than from a file. If the index is installed
+ properly, this command should print a single alignment and then exit.
+
+ If you would rather install pre-built indexes somewhere other than the
+ 'indexes' subdirectory of the Bowtie install directory, simply set the
+ BOWTIE_INDEXES environment variable to point to your preferred
+ directory and extract indexes there instead.
+
+ Building a new index
+ --------------------
+
+ The pre-built E. coli index included with Bowtie is built from the
+ sequence for strain 536, known to cause urinary tract infections. We
+ will create a new index from the sequence of E. coli strain O157:H7, a
+ strain known to cause food poisoning. Download the sequence file from:
+
+    ftp://ftp.ncbi.nlm.nih.gov/genomes/Bacteria/Escherichia_coli_O157H7/NC_002127.fna
+
+ When the sequence file is finished downloading, move it to the Bowtie
+ install directory and issue this command:
+
+    bowtie-build NC_002127.fna e_coli_O157_H7
+
+ The command should finish quickly, and print several lines of status
+ messages. When the command has completed, note that the current
+ directory contains four new files named e_coli_O157_H7.1.ebwt,
+ e_coli_O157_H7.2.ebwt, e_coli_O157_H7.rev.1.ebwt, and
+ e_coli_O157_H7.rev.2.ebwt. These files constitute the index. Move
+ these files to the indexes subdirectory to install it.
+
+ To test that the index is properly installed, issue this command:
+
+    bowtie -c e_coli_O157_H7 GCGTGAGCTATGAGAAAGCGCCACGCTTCC
+
+ If the index is installed properly, this command should print a single
+ alignment and then exit.
+
+ Finding variations with SAMtools
+ --------------------------------
+
+ SAMtools (http://samtools.sf.net) is a suite of tools for storing,
+ manipulating, and analyzing alignments such as those output by Bowtie.
+ SAMtools understands alignments in either of two complementary
+ formats: the human-readable SAM format, or the binary BAM format.
+ Because Bowtie can output SAM (using the -S/--sam option), and SAM can
+ can be converted to BAM using SAMtools, Bowtie users can make full use
+ of the analyses implemented in SAMtools, or in any other tools
+ supporting SAM or BAM.
+
+ We will use SAMtools to find SNPs in a set of simulated reads included
+ with Bowtie.  The reads cover the first 10,000 bases of the pre-built
+ E. coli genome and contain 10 SNPs throughout.  First, we run 'bowtie'
+ to align the reads, being sure to specify the -S option.  We also
+ specify an output file that we will use as input for the next step
+ (though pipes can be used to accomplish the same thing without the
+ intermediate file):
+
+    bowtie -S e_coli reads/e_coli_10000snp.fq ec_snp.sam
+
+ Next, we convert the SAM file to BAM in preparation for sorting.  We
+ assume that SAMtools is installed and that the samtools binary is
+ accessible in the PATH.
+
+    samtools view -bS -o ec_snp.bam ec_snp.sam
+ Next, we sort the BAM file, in preparation for SNP calling:
+
+    samtools sort ec_snp.bam ec_snp.sorted
+ We now have a sorted BAM file called ec_snp.sorted.bam.  Sorted BAM is
+ a useful format because the alignments are both compressed, which is
+ convenient for long-term storage, and sorted, which is conveneint for
+ variant discovery.  Finally, we call variants from the Sorted BAM:
+    samtools pileup -cv -f genomes/NC_008253.fna ec_snp.sorted.bam
+
+ For this sample data, the 'samtools pileup' command should print
+ records for 10 distinct SNPs, the first being at position 541 in the
+ reference.
+
+ See the SAMtools web site for details on how to use these and other
+ tools in the SAMtools suite: http://samtools.sf.net/.
diff --git a/VERSION b/VERSION
new file mode 100644 (file)
index 0000000..cc96715
--- /dev/null
+++ b/VERSION
@@ -0,0 +1 @@
+0.12.7
\ No newline at end of file
diff --git a/aligner.h b/aligner.h
new file mode 100644 (file)
index 0000000..0c633f3
--- /dev/null
+++ b/aligner.h
@@ -0,0 +1,2008 @@
+/**
+ * aligner.h
+ *
+ * A generic class providing a stateful way to find alignments.
+ */
+
+#ifndef ALIGNER_H_
+#define ALIGNER_H_
+
+#include <iostream>
+#include <set>
+#include <stdint.h>
+#include "seqan/sequence.h"
+#include "assert_helpers.h"
+#include "ebwt.h"
+#include "pat.h"
+#include "range.h"
+#include "range_source.h"
+#include "range_chaser.h"
+#include "ref_aligner.h"
+#include "reference.h"
+#include "aligner_metrics.h"
+#include "search_globals.h"
+
+/**
+ * State machine for carrying out an alignment, which usually consists
+ * of a series of phases that conduct different alignments using
+ * different backtracking constraints.
+ *
+ * Each Aligner should have a dedicated PatternSourcePerThread.
+ */
+class Aligner {
+public:
+       Aligner(bool _done, bool rangeMode) :
+               done(_done), patsrc_(NULL), bufa_(NULL), bufb_(NULL),
+               rangeMode_(rangeMode)
+       { }
+
+       virtual ~Aligner() { }
+       /// Advance the range search by one memory op
+       virtual bool advance() = 0;
+
+       /// Prepare Aligner for the next read
+       virtual void setQuery(PatternSourcePerThread *patsrc) {
+               assert(patsrc != NULL);
+               patsrc_ = patsrc;
+               bufa_ = &patsrc->bufa();
+               assert(bufa_ != NULL);
+               bufb_ = &patsrc->bufb();
+               alen_ = bufa_->length();
+               blen_ = (bufb_ != NULL) ? bufb_->length() : 0;
+               rand_.init(bufa_->seed);
+       }
+
+       /**
+        * Set to true if all searching w/r/t the current query is
+        * finished or if there is no current query.
+        */
+       bool done;
+
+protected:
+
+       // Current read pair
+       PatternSourcePerThread* patsrc_;
+       ReadBuf* bufa_;
+       uint32_t alen_;
+       ReadBuf* bufb_;
+       uint32_t blen_;
+       bool rangeMode_;
+       RandomSource rand_;
+};
+
+/**
+ * Abstract parent factory class for constructing aligners of all kinds.
+ */
+class AlignerFactory {
+public:
+       virtual ~AlignerFactory() { }
+       virtual Aligner* create() const = 0;
+
+       /**
+        * Allocate a vector of n Aligners; use destroy(std::vector...) to
+        * free the memory.
+        */
+       virtual std::vector<Aligner*>* create(uint32_t n) const {
+               std::vector<Aligner*>* v = new std::vector<Aligner*>;
+               for(uint32_t i = 0; i < n; i++) {
+                       v->push_back(create());
+                       assert(v->back() != NULL);
+               }
+               return v;
+       }
+
+       /// Free memory associated with the aligner
+       virtual void destroy(Aligner* al) const {
+               assert(al != NULL);
+               // Free the Aligner
+               delete al;
+       }
+
+       /// Free memory associated with an aligner list
+       virtual void destroy(std::vector<Aligner*>* als) const {
+               assert(als != NULL);
+               // Free all of the Aligners
+               for(size_t i = 0; i < als->size(); i++) {
+                       if((*als)[i] != NULL) {
+                               delete (*als)[i];
+                               (*als)[i] = NULL;
+                       }
+               }
+               // Free the vector
+               delete als;
+       }
+};
+
+/**
+ * Coordinates multiple aligners of the same type (i.e. either all
+ * single-end or all paired-end).
+ */
+class MultiAligner {
+public:
+       MultiAligner(
+                       uint32_t n,
+                       uint32_t qUpto,
+                       const AlignerFactory& alignFact,
+                       const PatternSourcePerThreadFactory& patsrcFact) :
+                       n_(n), qUpto_(qUpto),
+                       alignFact_(alignFact), patsrcFact_(patsrcFact),
+                       aligners_(NULL), patsrcs_(NULL)
+       {
+               aligners_ = alignFact_.create(n_);
+               assert(aligners_ != NULL);
+               patsrcs_ = patsrcFact_.create(n_);
+               assert(patsrcs_ != NULL);
+       }
+
+       /// Free memory associated with the aligners and their pattern sources.
+       virtual ~MultiAligner() {
+               alignFact_.destroy(aligners_);
+               patsrcFact_.destroy(patsrcs_);
+       }
+
+       /**
+        * Advance an array of aligners in parallel, using prefetches to
+        * try to hide all the latency.
+        */
+       void run() {
+               bool done = false;
+               while(!done) {
+                       done = true;
+                       for(uint32_t i = 0; i < n_; i++) {
+                               if(!(*aligners_)[i]->done) {
+                                       // Advance an aligner already in progress
+                                       done = false;
+                                       (*aligners_)[i]->advance();
+                               } else {
+                                       // Get a new read and initialize an aligner with it
+                                       (*patsrcs_)[i]->nextReadPair();
+                                       if(!(*patsrcs_)[i]->empty() && (*patsrcs_)[i]->patid() < qUpto_) {
+                                               (*aligners_)[i]->setQuery((*patsrcs_)[i]);
+                                               assert(!(*aligners_)[i]->done);
+                                               done = false;
+                                       } else {
+                                               // No more reads; if done == true, it remains
+                                               // true
+                                       }
+                               }
+                       }
+               }
+       }
+
+protected:
+       uint32_t n_;     /// Number of aligners
+       uint32_t qUpto_; /// Number of reads to align before stopping
+       const AlignerFactory&                  alignFact_;
+       const PatternSourcePerThreadFactory&   patsrcFact_;
+       std::vector<Aligner *>*                aligners_;
+       std::vector<PatternSourcePerThread *>* patsrcs_;
+};
+
+/**
+ * Coordinates multiple single-end and paired-end aligners, routing
+ * reads to one or the other type as appropriate.
+ */
+class MixedMultiAligner {
+public:
+       MixedMultiAligner(
+                       uint32_t n,
+                       uint32_t qUpto,
+                       const AlignerFactory& alignSEFact,
+                       const AlignerFactory& alignPEFact,
+                       const PatternSourcePerThreadFactory& patsrcFact) :
+                       n_(n), qUpto_(qUpto),
+                       alignSEFact_(alignSEFact),
+                       alignPEFact_(alignPEFact),
+                       patsrcFact_(patsrcFact),
+                       alignersSE_(NULL),
+                       alignersPE_(NULL),
+                       seOrPe_(NULL),
+                       patsrcs_(NULL)
+       {
+               // Instantiate all single-end aligners
+               alignersSE_ = alignSEFact_.create(n_);
+               assert(alignersSE_ != NULL);
+               // Instantiate all paired-end aligners
+               alignersPE_ = alignPEFact_.create(n_);
+               assert(alignersPE_ != NULL);
+               // Allocate array of boolean flags indicating whether each of
+               // the slots is currently using the single-end or paired-end
+               // aligner
+               seOrPe_ = new bool[n_];
+               for(uint32_t i = 0; i < n_; i++) {
+                       seOrPe_[i] = true;
+               }
+               // Instantiate all read sources
+               patsrcs_ = patsrcFact_.create(n_);
+               assert(patsrcs_ != NULL);
+       }
+
+       /// Free memory associated with the aligners and their pattern sources.
+       virtual ~MixedMultiAligner() {
+               alignSEFact_.destroy(alignersSE_);
+               alignPEFact_.destroy(alignersPE_);
+               patsrcFact_.destroy(patsrcs_);
+               delete[] seOrPe_;
+       }
+
+       /**
+        * Advance an array of aligners in parallel, using prefetches to
+        * try to hide all the latency.
+        */
+       void run(bool verbose = false) {
+               bool done = false;
+               bool first = true;
+               if(n_ == 1) {
+                       Aligner *al = seOrPe_[0] ? (*alignersSE_)[0] : (*alignersPE_)[0];
+                       PatternSourcePerThread *ps = (*patsrcs_)[0];
+                       while(!done) {
+                               done = true;
+                               if(!first && !al->done) {
+                                       // Advance an aligner already in progress; this is
+                                       // the common case
+                                       done = false;
+                                       al->advance();
+                               } else {
+                                       // Get a new read
+                                       ps->nextReadPair();
+                                       if(ps->patid() < qUpto_ && !ps->empty()) {
+                                               if(ps->paired()) {
+                                                       // Read currently in buffer is paired-end
+                                                       (*alignersPE_)[0]->setQuery(ps);
+                                                       al = (*alignersPE_)[0];
+                                                       seOrPe_[0] = false; // false -> paired
+                                               } else {
+                                                       // Read currently in buffer is single-end
+                                                       (*alignersSE_)[0]->setQuery(ps);
+                                                       al = (*alignersSE_)[0];
+                                                       seOrPe_[0] = true; // true = unpaired
+                                               }
+                                               done = false;
+                                       } else {
+                                               // No more reads; if done == true, it remains
+                                               // true
+                                       }
+                               }
+                               first = false;
+                       }
+               } else {
+                       while(!done) {
+                               done = true;
+                               for(uint32_t i = 0; i < n_; i++) {
+                                       Aligner *al = seOrPe_[i] ? (*alignersSE_)[i] :
+                                                                                          (*alignersPE_)[i];
+                                       if(!first && !al->done) {
+                                               // Advance an aligner already in progress; this is
+                                               // the common case
+                                               done = false;
+                                               al->advance();
+                                       } else {
+                                               // Feed a new read to a vacant aligner
+                                               PatternSourcePerThread *ps = (*patsrcs_)[i];
+                                               // Get a new read
+                                               ps->nextReadPair();
+                                               if(ps->patid() < qUpto_ && !ps->empty()) {
+                                                       if(ps->paired()) {
+                                                               // Read currently in buffer is paired-end
+                                                               (*alignersPE_)[i]->setQuery(ps);
+                                                               seOrPe_[i] = false; // false -> paired
+                                                       } else {
+                                                               // Read currently in buffer is single-end
+                                                               (*alignersSE_)[i]->setQuery(ps);
+                                                               seOrPe_[i] = true; // true = unpaired
+                                                       }
+                                                       done = false;
+                                               } else {
+                                                       // No more reads; if done == true, it remains
+                                                       // true
+                                               }
+                                       }
+                               }
+                               first = false;
+                       }
+               }
+       }
+
+protected:
+       uint32_t n_;     /// Number of aligners
+       uint32_t qUpto_; /// Number of reads to align before stopping
+       const AlignerFactory&                  alignSEFact_;
+       const AlignerFactory&                  alignPEFact_;
+       const PatternSourcePerThreadFactory&   patsrcFact_;
+       std::vector<Aligner *>*                alignersSE_;
+       std::vector<Aligner *>*                alignersPE_;
+       bool *                                 seOrPe_;
+       std::vector<PatternSourcePerThread *>* patsrcs_;
+};
+
+/**
+ * An aligner for finding exact matches of unpaired reads.  Always
+ * tries the forward-oriented version of the read before the reverse-
+ * oriented read.
+ */
+template<typename TRangeSource>
+class UnpairedAlignerV2 : public Aligner {
+       typedef RangeSourceDriver<TRangeSource> TDriver;
+public:
+       UnpairedAlignerV2(
+               EbwtSearchParams<String<Dna> >* params,
+               TDriver* driver,
+               RangeChaser<String<Dna> >* rchase,
+               HitSink& sink,
+               const HitSinkPerThreadFactory& sinkPtFactory,
+               HitSinkPerThread* sinkPt,
+               vector<String<Dna5> >& os,
+               const BitPairReference* refs,
+               bool rangeMode,
+               bool verbose,
+               bool quiet,
+               int maxBts,
+               ChunkPool *pool,
+               int *btCnt = NULL,
+               AlignerMetrics *metrics = NULL) :
+               Aligner(true, rangeMode),
+               refs_(refs),
+               doneFirst_(true),
+               firstIsFw_(true),
+               chase_(false),
+               sinkPtFactory_(sinkPtFactory),
+               sinkPt_(sinkPt),
+               params_(params),
+               rchase_(rchase),
+               driver_(driver),
+               verbose_(verbose),
+               quiet_(quiet),
+               maxBts_(maxBts),
+               pool_(pool),
+               btCnt_(btCnt),
+               metrics_(metrics)
+       {
+               assert(pool_   != NULL);
+               assert(sinkPt_ != NULL);
+               assert(params_ != NULL);
+               assert(driver_ != NULL);
+       }
+
+       virtual ~UnpairedAlignerV2() {
+               delete driver_;  driver_  = NULL;
+               delete params_;  params_  = NULL;
+               delete rchase_;  rchase_  = NULL;
+               delete[] btCnt_; btCnt_   = NULL;
+               sinkPtFactory_.destroy(sinkPt_); sinkPt_ = NULL;
+       }
+
+       /**
+        * Prepare this aligner for the next read.
+        */
+       virtual void setQuery(PatternSourcePerThread* patsrc) {
+               Aligner::setQuery(patsrc); // set fields & random seed
+               if(metrics_ != NULL) {
+                       metrics_->nextRead(patsrc->bufa().patFw);
+               }
+               pool_->reset(&patsrc->bufa().name, patsrc->patid());
+               if(patsrc->bufa().length() < 4) {
+                       if(!quiet_) {
+                               cerr << "Warning: Skipping read " << patsrc->bufa().name
+                                    << " because it is less than 4 characters long" << endl;
+                       }
+                       this->done = true;
+                       sinkPt_->finishRead(*patsrc_, true, true);
+                       return;
+               }
+               driver_->setQuery(patsrc, NULL);
+               this->done = driver_->done;
+               doneFirst_ = false;
+               // Reset #-backtrack countdown
+               if(btCnt_ != NULL) *btCnt_ = maxBts_;
+               if(sinkPt_->setHits(patsrc->bufa().hitset)) {
+                       this->done = true;
+                       sinkPt_->finishRead(*patsrc_, true, true);
+               }
+               // Grab a bit from the pseudo-random seed to determine whether
+               // to start with forward or reverse complement
+               firstIsFw_ = ((patsrc->bufa().seed & 0x10) == 0);
+               chase_ = false;
+       }
+
+       /**
+        * Helper for reporting an alignment.
+        */
+       inline bool report(const Range& ra,
+                          uint32_t first,
+                          uint32_t second,
+                          uint32_t tlen)
+       {
+               bool ebwtFw = ra.ebwt->fw();
+               params_->setFw(ra.fw);
+               assert_eq(bufa_->color, color);
+               return params_->reportHit(
+                               ra.fw ? (ebwtFw? bufa_->patFw    : bufa_->patFwRev) :
+                                       (ebwtFw? bufa_->patRc    : bufa_->patRcRev),
+                               ra.fw ? (ebwtFw? &bufa_->qual    : &bufa_->qualRev) :
+                                       (ebwtFw? &bufa_->qualRev : &bufa_->qual),
+                               &bufa_->name,
+                               bufa_->color,
+                               colorExEnds,
+                               snpPhred,
+                               refs_,
+                               ra.ebwt->rmap(),
+                               ebwtFw,
+                               ra.mms,                   // mismatch positions
+                               ra.refcs,                 // reference characters for mms
+                               ra.numMms,                // # mismatches
+                               make_pair(first, second), // position
+                               make_pair(0, 0),          // (bogus) mate position
+                               true,                     // (bogus) mate orientation
+                               0,                        // (bogus) mate length
+                               make_pair(ra.top, ra.bot),// arrows
+                               tlen,                     // textlen
+                               alen_,                    // qlen
+                               ra.stratum,               // alignment stratum
+                               ra.cost,                  // cost, including qual penalty
+                               ra.bot - ra.top - 1,      // # other hits
+                               patsrc_->patid(),         // pattern id
+                               bufa_->seed,              // pseudo-random seed
+                               0);                       // mate (0 = unpaired)
+       }
+
+       /**
+        * Advance the aligner.  Return true iff we're
+        * done with this read.
+        */
+       virtual bool advance() {
+               assert(!this->done);
+               if(chase_) {
+                       assert(!rangeMode_);
+                       assert(driver_->foundRange);
+                       assert(!sinkPt_->irrelevantCost(driver_->range().cost));
+                       if(!rchase_->foundOff() && !rchase_->done) {
+                               rchase_->advance();
+                               return false;
+                       }
+                       if(rchase_->foundOff()) {
+                               this->done = report(driver_->range(), rchase_->off().first,
+                                                   rchase_->off().second, rchase_->tlen());
+                               rchase_->reset();
+                       } else {
+                               assert(rchase_->done);
+                               // Forget this range; keep looking for ranges
+                               chase_ = false;
+                               driver_->foundRange = false;
+                               this->done = driver_->done;
+                       }
+               }
+               // Still advancing a
+               if(!this->done && !chase_) {
+                       assert(!driver_->done || driver_->foundRange);
+                       if(driver_->foundRange) {
+                               const Range& ra = driver_->range();
+                               assert(!sinkPt_->irrelevantCost(ra.cost));
+                               assert(ra.repOk());
+                               if(rangeMode_) {
+                                       this->done = report(ra, ra.top, ra.bot, 0);
+                                       driver_->foundRange = false;
+                               } else {
+                                       rchase_->setTopBot(ra.top, ra.bot, alen_, rand_, ra.ebwt);
+                                       if(rchase_->foundOff()) {
+                                               this->done = report(
+                                                               ra, rchase_->off().first,
+                                                               rchase_->off().second, rchase_->tlen());
+                                               rchase_->reset();
+                                       }
+                                       if(!rchase_->done && !sinkPt_->irrelevantCost(ra.cost)) {
+                                               // Keep chasing this range
+                                               chase_ = true;
+                                       } else {
+                                               driver_->foundRange = false;
+                                       }
+                               }
+                       } else {
+                               this->done = sinkPt_->irrelevantCost(driver_->minCost);
+                               if(!this->done) {
+                                       driver_->advance(ADV_COST_CHANGES);
+                               } else {
+                                       // No longer necessarily true with chain input
+                                       //assert(!sinkPt_->spanStrata());
+                               }
+                       }
+                       if(driver_->done && !driver_->foundRange && !chase_) {
+                               this->done = true;
+                       }
+               }
+               if(this->done) {
+                       sinkPt_->finishRead(*patsrc_, true, true);
+               }
+               return this->done;
+       }
+
+protected:
+
+       // Reference sequences (needed for colorspace decoding)
+       const BitPairReference* refs_;
+
+       // Progress state
+       bool doneFirst_;
+       bool firstIsFw_;
+       bool chase_;
+
+       // Temporary HitSink; to be deleted
+       const HitSinkPerThreadFactory& sinkPtFactory_;
+       HitSinkPerThread* sinkPt_;
+
+       // State for alignment
+       EbwtSearchParams<String<Dna> >* params_;
+
+       // State for getting alignments from ranges statefully
+       RangeChaser<String<Dna> >* rchase_;
+
+       // Range-finding state
+       TDriver* driver_;
+
+       bool verbose_; // be talkative
+       bool quiet_; // don't print informational/warning info
+
+       const int maxBts_;
+       ChunkPool *pool_;
+       int *btCnt_;
+       AlignerMetrics *metrics_;
+};
+
+/**
+ * An aligner for finding paired alignments while operating entirely
+ * within the Burrows-Wheeler domain.
+ */
+template<typename TRangeSource>
+class PairedBWAlignerV1 : public Aligner {
+
+       typedef std::pair<uint32_t,uint32_t> U32Pair;
+       typedef std::vector<U32Pair> U32PairVec;
+       typedef std::vector<Range> TRangeVec;
+       typedef RangeSourceDriver<TRangeSource> TDriver;
+       typedef std::pair<uint64_t, uint64_t> TU64Pair;
+       typedef std::set<TU64Pair> TSetPairs;
+
+public:
+       PairedBWAlignerV1(
+               EbwtSearchParams<String<Dna> >* params,
+               TDriver* driver1Fw, TDriver* driver1Rc,
+               TDriver* driver2Fw, TDriver* driver2Rc,
+               RefAligner<String<Dna5> >* refAligner,
+               RangeChaser<String<Dna> >* rchase,
+               HitSink& sink,
+               const HitSinkPerThreadFactory& sinkPtFactory,
+               HitSinkPerThread* sinkPt,
+               bool fw1, bool fw2,
+               uint32_t minInsert,
+               uint32_t maxInsert,
+               bool dontReconcile,
+               uint32_t symCeiling,
+               uint32_t mixedThresh,
+               uint32_t mixedAttemptLim,
+               const BitPairReference* refs,
+               bool rangeMode,
+               bool verbose,
+               bool quiet,
+               int maxBts,
+               ChunkPool *pool,
+               int *btCnt) :
+               Aligner(true, rangeMode),
+               refs_(refs),
+               patsrc_(NULL), qlen1_(0), qlen2_(0), doneFw_(true),
+               doneFwFirst_(true),
+               chase1Fw_(false), chase1Rc_(false),
+               chase2Fw_(false), chase2Rc_(false),
+               delayedChase1Fw_(false), delayedChase1Rc_(false),
+               delayedChase2Fw_(false), delayedChase2Rc_(false),
+               refAligner_(refAligner),
+               sinkPtFactory_(sinkPtFactory),
+               sinkPt_(sinkPt),
+               params_(params),
+               minInsert_(minInsert),
+               maxInsert_(maxInsert),
+               dontReconcile_(dontReconcile),
+               symCeiling_(symCeiling),
+               mixedThresh_(mixedThresh),
+               mixedAttemptLim_(mixedAttemptLim),
+               mixedAttempts_(0),
+               fw1_(fw1), fw2_(fw2),
+               rchase_(rchase),
+               verbose_(verbose),
+               quiet_(quiet),
+               maxBts_(maxBts),
+               pool_(pool),
+               btCnt_(btCnt),
+               driver1Fw_(driver1Fw), driver1Rc_(driver1Rc),
+               offs1FwSz_(0), offs1RcSz_(0),
+               driver2Fw_(driver2Fw), driver2Rc_(driver2Rc),
+               offs2FwSz_(0), offs2RcSz_(0),
+
+               chaseL_fw_       (fw1_ ? chase1Fw_        : chase1Rc_),
+               chaseR_fw_       (fw2_ ? chase2Fw_        : chase2Rc_),
+               delayedchaseL_fw_(fw1_ ? delayedChase1Fw_ : delayedChase1Rc_),
+               delayedchaseR_fw_(fw2_ ? delayedChase2Fw_ : delayedChase2Rc_),
+               drL_fw_          (fw1_ ? *driver1Fw_      : *driver1Rc_),
+               drR_fw_          (fw2_ ? *driver2Fw_      : *driver2Rc_),
+               offsLarr_fw_     (fw1_ ? offs1FwArr_      : offs1RcArr_),
+               offsRarr_fw_     (fw2_ ? offs2FwArr_      : offs2RcArr_),
+               rangesLarr_fw_   (fw1_ ? ranges1FwArr_    : ranges1RcArr_),
+               rangesRarr_fw_   (fw2_ ? ranges2FwArr_    : ranges2RcArr_),
+               offsLsz_fw_      (fw1_ ? offs1FwSz_       : offs1RcSz_),
+               offsRsz_fw_      (fw2_ ? offs2FwSz_       : offs2RcSz_),
+
+               chaseL_rc_       (fw2_ ? chase2Rc_        : chase2Fw_),
+               chaseR_rc_       (fw1_ ? chase1Rc_        : chase1Fw_),
+               delayedchaseL_rc_(fw2_ ? delayedChase2Rc_ : delayedChase2Fw_),
+               delayedchaseR_rc_(fw1_ ? delayedChase1Rc_ : delayedChase1Fw_),
+               drL_rc_          (fw2_ ? *driver2Rc_      : *driver2Fw_),
+               drR_rc_          (fw1_ ? *driver1Rc_      : *driver1Fw_),
+               offsLarr_rc_     (fw2_ ? offs2RcArr_      : offs2FwArr_),
+               offsRarr_rc_     (fw1_ ? offs1RcArr_      : offs1FwArr_),
+               rangesLarr_rc_   (fw2_ ? ranges2RcArr_    : ranges2FwArr_),
+               rangesRarr_rc_   (fw1_ ? ranges1RcArr_    : ranges1FwArr_),
+               offsLsz_rc_      (fw2_ ? offs2RcSz_       : offs2FwSz_),
+               offsRsz_rc_      (fw1_ ? offs1RcSz_       : offs1FwSz_),
+
+               chaseL_       (&chaseL_fw_),
+               chaseR_       (&chaseR_fw_),
+               delayedchaseL_(&delayedchaseL_fw_),
+               delayedchaseR_(&delayedchaseR_fw_),
+               drL_          (&drL_fw_),
+               drR_          (&drR_fw_),
+               offsLarr_     (offsLarr_fw_),
+               offsRarr_     (offsRarr_fw_),
+               rangesLarr_   (rangesLarr_fw_),
+               rangesRarr_   (rangesRarr_fw_),
+               offsLsz_      (&offsLsz_fw_),
+               offsRsz_      (&offsRsz_fw_),
+               donePair_     (&doneFw_),
+               fwL_(fw1),
+               fwR_(fw2),
+               verbose2_(false)
+       {
+               assert(pool_      != NULL);
+               assert(sinkPt_    != NULL);
+               assert(params_    != NULL);
+               assert(driver1Fw_ != NULL);
+               assert(driver1Rc_ != NULL);
+               assert(driver2Fw_ != NULL);
+               assert(driver2Rc_ != NULL);
+       }
+
+       virtual ~PairedBWAlignerV1() {
+               delete driver1Fw_; driver1Fw_ = NULL;
+               delete driver1Rc_; driver1Rc_ = NULL;
+               delete driver2Fw_; driver2Fw_ = NULL;
+               delete driver2Rc_; driver2Rc_ = NULL;
+               delete params_;    params_    = NULL;
+               delete rchase_;    rchase_    = NULL;
+               delete[] btCnt_;   btCnt_     = NULL;
+               delete refAligner_; refAligner_ = NULL;
+               sinkPtFactory_.destroy(sinkPt_); sinkPt_ = NULL;
+       }
+
+       /**
+        * Prepare this aligner for the next read.
+        */
+       virtual void setQuery(PatternSourcePerThread* patsrc) {
+               assert(!patsrc->bufa().empty());
+               Aligner::setQuery(patsrc); // set fields & random seed
+               assert(!patsrc->bufb().empty());
+               // Give all of the drivers pointers to the relevant read info
+               patsrc_ = patsrc;
+               pool_->reset(&patsrc->bufa().name, patsrc->patid());
+               if(patsrc->bufa().length() < 4 || patsrc->bufb().length() < 4) {
+                       if(!quiet_) {
+                               cerr << "Warning: Skipping pair " << patsrc->bufa().name
+                                        << " because a mate is less than 4 characters long" << endl;
+                       }
+                       this->done = true;
+                       sinkPt_->finishRead(*patsrc_, true, true);
+                       return;
+               }
+               driver1Fw_->setQuery(patsrc, NULL);
+               driver1Rc_->setQuery(patsrc, NULL);
+               driver2Fw_->setQuery(patsrc, NULL);
+               driver2Rc_->setQuery(patsrc, NULL);
+               qlen1_ = patsrc_->bufa().length();
+               qlen2_ = patsrc_->bufb().length();
+               if(btCnt_ != NULL) (*btCnt_) = maxBts_;
+               // Neither orientation is done
+               doneFw_   = false;
+               doneFwFirst_ = true;
+               this->done   = false;
+               // No ranges are being chased yet
+               chase1Fw_ = false;
+               chase1Rc_ = false;
+               chase2Fw_ = false;
+               chase2Rc_ = false;
+               delayedChase1Fw_ = false;
+               delayedChase1Rc_ = false;
+               delayedChase2Fw_ = false;
+               delayedChase2Rc_ = false;
+               // Clear all intermediate ranges
+               for(size_t i = 0; i < 32; i++) {
+                       offs1FwArr_[i].clear();   offs1RcArr_[i].clear();
+                       offs2FwArr_[i].clear();   offs2RcArr_[i].clear();
+                       ranges1FwArr_[i].clear(); ranges1RcArr_[i].clear();
+                       ranges2FwArr_[i].clear(); ranges2RcArr_[i].clear();
+               }
+               offs1FwSz_ = offs1RcSz_ = offs2FwSz_ = offs2RcSz_ = 0;
+               chaseL_        = &chaseL_fw_;
+               chaseR_        = &chaseR_fw_;
+               delayedchaseL_ = &delayedchaseL_fw_;
+               delayedchaseR_ = &delayedchaseR_fw_;
+               drL_           = &drL_fw_;
+               drR_           = &drR_fw_;
+               offsLarr_      = offsLarr_fw_;
+               offsRarr_      = offsRarr_fw_;
+               rangesLarr_    = rangesLarr_fw_;
+               rangesRarr_    = rangesRarr_fw_;
+               offsLsz_       = &offsLsz_fw_;
+               offsRsz_       = &offsRsz_fw_;
+               donePair_      = &doneFw_;
+               fwL_           = fw1_;
+               fwR_           = fw2_;
+               mixedAttempts_ = 0;
+               pairs_fw_.clear();
+               pairs_rc_.clear();
+#ifndef NDEBUG
+               allTopsL_fw_.clear();
+               allTopsR_fw_.clear();
+               allTopsL_rc_.clear();
+               allTopsR_rc_.clear();
+#endif
+       }
+
+       /**
+        * Advance the aligner by one memory op.  Return true iff we're
+        * done with this read.
+        *
+        * A call to this function does one of many things:
+        * 1. Advance a RangeSourceDriver and check if it found a new range
+        * 2. Advance a RowChaseDriver and check if it found a reference
+        *    offset for a an alignment in a range
+        */
+       virtual bool advance() {
+               assert(!this->done);
+               if(doneFw_ && doneFwFirst_) {
+                       if(verbose2_) cout << "--" << endl;
+                       chaseL_        = &chaseL_rc_;
+                       chaseR_        = &chaseR_rc_;
+                       delayedchaseL_ = &delayedchaseL_rc_;
+                       delayedchaseR_ = &delayedchaseR_rc_;
+                       drL_           = &drL_rc_;
+                       drR_           = &drR_rc_;
+                       offsLarr_      = offsLarr_rc_;
+                       offsRarr_      = offsRarr_rc_;
+                       rangesLarr_    = rangesLarr_rc_;
+                       rangesRarr_    = rangesRarr_rc_;
+                       offsLsz_       = &offsLsz_rc_;
+                       offsRsz_       = &offsRsz_rc_;
+                       donePair_      = &this->done;
+                       fwL_           = !fw2_;
+                       fwR_           = !fw1_;
+                       doneFwFirst_   = false;
+                       mixedAttempts_ = 0;
+               }
+               bool chasing = *chaseL_ || *chaseR_;
+               if(chasing && !rchase_->foundOff() && !rchase_->done) {
+                       rchase_->advance();
+                       return false;
+               }
+               advanceOrientation(!doneFw_);
+               if(this->done) {
+                       if(verbose2_) cout << "----" << endl;
+                       sinkPt_->finishRead(*patsrc_, true, true);
+               }
+               return this->done;
+       }
+
+protected:
+
+       /**
+        * Helper for reporting a pair of alignments.  As of now, we report
+        * a paired alignment by reporting two consecutive alignments, one
+        * for each mate.
+        */
+       bool report(const Range& rL, // range for upstream mate
+                   const Range& rR, // range for downstream mate
+                   uint32_t first,  // ref idx
+                   uint32_t upstreamOff, // offset for upstream mate
+                   uint32_t dnstreamOff, // offset for downstream mate
+                   uint32_t tlen, // length of ref
+                   bool pairFw,   // whether the pair is being mapped to fw strand
+                   bool ebwtFwL,
+                   bool ebwtFwR,
+                   const ReferenceMap* rmap)
+       {
+               assert_lt(upstreamOff, dnstreamOff);
+               uint32_t spreadL = rL.bot - rL.top;
+               uint32_t spreadR = rR.bot - rR.top;
+               uint32_t oms = min(spreadL, spreadR) - 1;
+               ReadBuf* bufL = pairFw ? bufa_ : bufb_;
+               ReadBuf* bufR = pairFw ? bufb_ : bufa_;
+               uint32_t lenL = pairFw ? alen_ : blen_;
+               uint32_t lenR = pairFw ? blen_ : alen_;
+               bool ret;
+               assert(!params_->sink().exceededOverThresh());
+               params_->setFw(rL.fw);
+               assert_eq(bufL->color, color);
+               // Print upstream mate first
+               ret = params_->reportHit(
+                               rL.fw ? (ebwtFwL?  bufL->patFw  :  bufL->patFwRev) :
+                                           (ebwtFwL?  bufL->patRc  :  bufL->patRcRev),
+                               rL.fw ? (ebwtFwL? &bufL->qual    : &bufL->qualRev) :
+                                       (ebwtFwL? &bufL->qualRev : &bufL->qual),
+                               &bufL->name,
+                               bufL->color,
+                               colorExEnds,
+                               snpPhred,
+                               refs_,
+                               rmap,
+                               ebwtFwL,
+                               rL.mms,                       // mismatch positions
+                               rL.refcs,                     // reference characters for mms
+                               rL.numMms,                    // # mismatches
+                               make_pair(first, upstreamOff),// position
+                               make_pair(first, dnstreamOff),// mate position
+                               rR.fw,                        // mate orientation
+                               lenR,                         // mate length
+                               make_pair(rL.top, rL.bot),    // arrows
+                               tlen,                         // textlen
+                               lenL,                         // qlen
+                               rL.stratum,                   // alignment stratum
+                               rL.cost,                      // cost, including quality penalty
+                               oms,                          // # other hits
+                               bufL->patid,
+                               bufL->seed,
+                               pairFw ? 1 : 2);
+               if(ret) {
+                       return true; // can happen when -m is set
+               }
+               params_->setFw(rR.fw);
+               assert_eq(bufR->color, color);
+               ret = params_->reportHit(
+                               rR.fw ? (ebwtFwR?  bufR->patFw  :  bufR->patFwRev) :
+                                           (ebwtFwR?  bufR->patRc  :  bufR->patRcRev),
+                               rR.fw ? (ebwtFwR? &bufR->qual    : &bufR->qualRev) :
+                                       (ebwtFwR? &bufR->qualRev : &bufR->qual),
+                               &bufR->name,
+                               bufR->color,
+                               colorExEnds,
+                               snpPhred,
+                               refs_,
+                               rmap,
+                               ebwtFwR,
+                               rR.mms,                       // mismatch positions
+                               rR.refcs,                     // reference characters for mms
+                               rR.numMms,                    // # mismatches
+                               make_pair(first, dnstreamOff),// position
+                               make_pair(first, upstreamOff),// mate position
+                               rL.fw,                        // mate orientation
+                               lenL,                         // mate length
+                               make_pair(rR.top, rR.bot),    // arrows
+                               tlen,                         // textlen
+                               lenR,                         // qlen
+                               rR.stratum,                   // alignment stratum
+                               rR.cost,                      // cost, including quality penalty
+                               oms,                          // # other hits
+                               bufR->patid,
+                               bufR->seed,
+                               pairFw ? 2 : 1);
+               return ret;
+       }
+
+       bool report(const Range& rL, // range for upstream mate
+                   const Range& rR, // range for downstream mate
+                   uint32_t first,  // ref idx
+                   uint32_t upstreamOff, // offset for upstream mate
+                   uint32_t dnstreamOff, // offset for downstream mate
+                   uint32_t tlen, // length of ref
+                   bool pairFw,   // whether the pair is being mapped to fw strand
+                   const ReferenceMap* rmap)
+       {
+               return report(rL, rR, first, upstreamOff,
+                             dnstreamOff, tlen,
+                             pairFw, rL.ebwt->fw(), rR.ebwt->fw(), rmap);
+       }
+
+       /**
+        * Given a vector of reference positions where one of the two mates
+        * (the "anchor" mate) has aligned, look directly at the reference
+        * sequence for instances where the other mate (the "outstanding"
+        * mate) aligns such that mating constraint is satisfied.
+        *
+        * This function picks up to 'pick' anchors at random from the
+        * 'offs' array.  It returns the number that it actually picked.
+        */
+       bool resolveOutstandingInRef(const bool off1,
+                                    const U32Pair& off,
+                                    const uint32_t tlen,
+                                    const Range& range)
+       {
+               assert(refs_->loaded());
+               assert_lt(off.first, refs_->numRefs());
+               // If matchRight is true, then we're trying to align the other
+               // mate to the right of the already-aligned mate.  Otherwise,
+               // to the left.
+               bool matchRight = (off1 ? !doneFw_ : doneFw_);
+               // Sequence and quals for mate to be matched
+               bool fw = off1 ? fw2_ : fw1_; // whether outstanding mate is fw/rc
+               if(doneFw_) fw = !fw;
+               // 'seq' gets sequence of outstanding mate w/r/t the forward
+               // reference strand
+               const String<Dna5>& seq  = fw ? (off1 ? patsrc_->bufb().patFw   :
+                                                       patsrc_->bufa().patFw)  :
+                                               (off1 ? patsrc_->bufb().patRc   :
+                                                       patsrc_->bufa().patRc);
+               // 'seq' gets qualities of outstanding mate w/r/t the forward
+               // reference strand
+               const String<char>& qual = fw ? (off1 ? patsrc_->bufb().qual  :
+                                                       patsrc_->bufa().qual) :
+                                               (off1 ? patsrc_->bufb().qualRev  :
+                                                       patsrc_->bufa().qualRev);
+               uint32_t qlen = seqan::length(seq);  // length of outstanding mate
+               uint32_t alen = (off1 ? patsrc_->bufa().length() :
+                                       patsrc_->bufb().length());
+               int minins = minInsert_;
+               int maxins = maxInsert_;
+               if(fw1_) {
+                       minins = max<int>(0, minins - patsrc_->bufa().trimmed5);
+                       maxins = max<int>(0, maxins - patsrc_->bufa().trimmed5);
+               } else {
+                       minins = max<int>(0, minins - patsrc_->bufa().trimmed3);
+                       maxins = max<int>(0, maxins - patsrc_->bufa().trimmed3);
+               }
+               if(fw2_) {
+                       minins = max<int>(0, minins - patsrc_->bufb().trimmed3);
+                       maxins = max<int>(0, maxins - patsrc_->bufb().trimmed3);
+               } else {
+                       minins = max<int>(0, minins - patsrc_->bufb().trimmed5);
+                       maxins = max<int>(0, maxins - patsrc_->bufb().trimmed5);
+               }
+               assert_geq(minins, 0);
+               assert_geq(maxins, 0);
+               // Don't even try if either of the mates is longer than the
+               // maximum insert size.
+               if((uint32_t)maxins <= max(qlen, alen)) {
+                       return false;
+               }
+               const uint32_t tidx = off.first;
+               const uint32_t toff = off.second;
+               // Set begin/end to be a range of all reference
+               // positions that are legally permitted to be involved in
+               // the alignment of the outstanding mate.  It's up to the
+               // callee to worry about how to scan these positions.
+               uint32_t begin, end;
+               assert_geq(maxins, minins);
+               uint32_t insDiff = maxins - minins;
+               if(matchRight) {
+                       end = toff + maxins;
+                       begin = toff + 1;
+                       if(qlen < alen) begin += alen-qlen;
+                       if(end > insDiff + qlen) {
+                               begin = max<uint32_t>(begin, end - insDiff - qlen);
+                       }
+                       end = min<uint32_t>(refs_->approxLen(tidx), end);
+                       begin = min<uint32_t>(refs_->approxLen(tidx), begin);
+               } else {
+                       if(toff + alen < (uint32_t)maxins) {
+                               begin = 0;
+                       } else {
+                               begin = toff + alen - maxins;
+                       }
+                       uint32_t mi = min<uint32_t>(alen, qlen);
+                       end = toff + mi - 1;
+                       end = min<uint32_t>(end, toff + alen - minins + qlen - 1);
+                       if(toff + alen + qlen < (uint32_t)minins + 1) end = 0;
+               }
+               // Check if there's not enough space in the range to fit an
+               // alignment for the outstanding mate.
+               if(end - begin < qlen) return false;
+               std::vector<Range> ranges;
+               std::vector<uint32_t> offs;
+               refAligner_->find(1, tidx, refs_, seq, qual, begin, end, ranges,
+                                 offs, doneFw_ ? &pairs_rc_ : &pairs_fw_,
+                                 toff, fw);
+               assert_eq(ranges.size(), offs.size());
+               for(size_t i = 0; i < ranges.size(); i++) {
+                       Range& r = ranges[i];
+                       r.fw = fw;
+                       r.cost |= (r.stratum << 14);
+                       r.mate1 = !off1;
+                       const uint32_t result = offs[i];
+                       // Just copy the known range's top and bot for now
+                       r.top = range.top;
+                       r.bot = range.bot;
+                       bool ebwtLFw = matchRight ? range.ebwt->fw() : true;
+                       bool ebwtRFw = matchRight ? true : range.ebwt->fw();
+                       if(report(
+                               matchRight ? range : r, // range for upstream mate
+                               matchRight ? r : range, // range for downstream mate
+                               tidx,                   // ref idx
+                               matchRight ? toff : result, // upstream offset
+                               matchRight ? result : toff, // downstream offset
+                               tlen,       // length of ref
+                               !doneFw_,   // whether the pair is being mapped to fw strand
+                               ebwtLFw,
+                               ebwtRFw,
+                               range.ebwt->rmap())) return true;
+               }
+               return false;
+       }
+
+       /**
+        * Advance paired-end alignment.
+        */
+       void advanceOrientation(bool pairFw) {
+               assert(!this->done);
+               assert(!*donePair_);
+               assert(!*chaseL_ || !*chaseR_);
+               if(*chaseL_) {
+                       assert(!rangeMode_);
+                       assert(!*delayedchaseL_);
+                       assert(drL_->foundRange);
+                       assert(rchase_->foundOff() || rchase_->done);
+                       if(rchase_->foundOff()) {
+                               // Resolve this against the reference loci
+                               // determined for the other mate
+                               const bool overThresh = (*offsLsz_ + *offsRsz_) > mixedThresh_;
+                               if(!this->done && (overThresh || dontReconcile_)) {
+                                       // Because the total size of both ranges exceeds
+                                       // our threshold, we're now operating in "mixed
+                                       // mode"
+                                       const Range& r = drL_->range();
+                                       assert(r.repOk());
+                                       if(verbose_) cout << "Making an attempt to find the outstanding mate" << endl;
+                                       this->done = resolveOutstandingInRef(
+                                                       pairFw, rchase_->off(),
+                                               r.ebwt->_plen[rchase_->off().first], r);
+                                       if(++mixedAttempts_ > mixedAttemptLim_) {
+                                               // Give up on this pair
+                                               *donePair_ = true;
+                                               return;
+                                       }
+                               }
+                               rchase_->reset();
+                       } else {
+                               assert(rchase_->done);
+                               // Forget this range; keep looking for ranges
+                               *chaseL_ = false;
+                               drL_->foundRange = false;
+                               if(verbose_) cout << "Done with chase for first mate" << endl;
+                               if(*delayedchaseR_) {
+                                       // Start chasing the delayed range
+                                       if(verbose_) cout << "Resuming delayed chase for second mate" << endl;
+                                       assert(drR_->foundRange);
+                                       const Range& r = drR_->range();
+                                       assert(r.repOk());
+                                       uint32_t top = r.top;
+                                       uint32_t bot = r.bot;
+                                       uint32_t qlen = doneFw_? qlen1_ : qlen2_;
+                                       rchase_->setTopBot(top, bot, qlen, rand_, r.ebwt);
+                                       *chaseR_ = true;
+                                       *delayedchaseR_ = false;
+                               }
+                       }
+               } else if(*chaseR_) {
+                       assert(!rangeMode_);
+                       assert(!*delayedchaseR_);
+                       assert(drR_->foundRange);
+                       assert(rchase_->foundOff() || rchase_->done);
+                       if(rchase_->foundOff()) {
+                               // Resolve this against the reference loci
+                               // determined for the other mate
+                               const bool overThresh = (*offsLsz_ + *offsRsz_) > mixedThresh_;
+                               if(!this->done && (overThresh || dontReconcile_)) {
+                                       // Because the total size of both ranges exceeds
+                                       // our threshold, we're now operating in "mixed
+                                       // mode"
+                                       const Range& r = drR_->range();
+                                       if(verbose_) cout << "Making an attempt to find the outstanding mate" << endl;
+                                       this->done = resolveOutstandingInRef(
+                                                       !pairFw, rchase_->off(),
+                                               r.ebwt->_plen[rchase_->off().first], r);
+                                       if(++mixedAttempts_ > mixedAttemptLim_) {
+                                               // Give up on this pair
+                                               *donePair_ = true;
+                                               return;
+                                       }
+                               }
+                               rchase_->reset();
+                       } else {
+                               assert(rchase_->done);
+                               // Forget this range; keep looking for ranges
+                               *chaseR_ = false;
+                               drR_->foundRange = false;
+                               if(verbose_) cout << "Done with chase for second mate" << endl;
+                               if(*delayedchaseL_) {
+                                       // Start chasing the delayed range
+                                       if(verbose_) cout << "Resuming delayed chase for first mate" << endl;
+                                       assert(drL_->foundRange);
+                                       const Range& r = drL_->range();
+                                       assert(r.repOk());
+                                       uint32_t top = r.top;
+                                       uint32_t bot = r.bot;
+                                       uint32_t qlen = doneFw_? qlen2_ : qlen1_;
+                                       rchase_->setTopBot(top, bot, qlen, rand_, r.ebwt);
+                                       *chaseL_ = true;
+                                       *delayedchaseL_ = false;
+                               }
+                       }
+               }
+               if(!this->done && !*donePair_ && !*chaseL_ && !*chaseR_) {
+                       // Search for more ranges for whichever mate currently has
+                       // fewer candidate alignments
+                       if((*offsLsz_ < *offsRsz_ || drR_->done) && !drL_->done) {
+                               // If there are no more ranges for the other mate and
+                               // there are no candidate alignments either, then we're
+                               // not going to find a paired alignment in this
+                               // orientation.
+                               if(drR_->done && *offsRsz_ == 0) {
+                                       // Give up on this orientation
+                                       if(verbose_) cout << "Giving up on paired orientation " << (pairFw? "fw" : "rc") << " in mate 1" << endl;
+                                       *donePair_ = true;
+                                       if(verbose2_) cout << *offsLsz_ << " " << *offsRsz_ << endl;
+                                       return;
+                               }
+                               assert(!*delayedchaseL_);
+                               if(!drL_->foundRange) drL_->advance(ADV_FOUND_RANGE);
+                               if(drL_->foundRange) {
+#ifndef NDEBUG
+                                       {
+                                               std::set<int64_t>& s = (pairFw ? allTopsL_fw_ : allTopsL_rc_);
+                                               int64_t t = drL_->range().top + 1; // add 1 to avoid 0
+                                               if(!drL_->range().ebwt->fw()) t = -t; // invert for bw index
+                                               assert(s.find(t) == s.end());
+                                               s.insert(t);
+                                       }
+#endif
+                                       // Add the size of this range to the total for this mate
+                                       *offsLsz_ += (drL_->range().bot - drL_->range().top);
+                                       if(*offsRsz_ == 0 && (!dontReconcile_ || *offsLsz_ > 3)) {
+                                               // Delay chasing this range; we delay to avoid
+                                               // needlessly chasing rows in this range when
+                                               // the other mate doesn't end up aligning
+                                               // anywhere
+                                               if(verbose_) cout << "Delaying a chase for first mate" << endl;
+                                               *delayedchaseL_ = true;
+                                       } else {
+                                               // Start chasing this range
+                                               if(verbose2_) cout << *offsLsz_ << " " << *offsRsz_ << " " << drL_->range().top << endl;
+                                               if(verbose_) cout << "Chasing a range for first mate" << endl;
+                                               if(*offsLsz_ > symCeiling_ && *offsRsz_ > symCeiling_) {
+                                                       // Too many candidates for both mates; abort
+                                                       // without any more searching
+                                                       *donePair_ = true;
+                                                       return;
+                                               }
+                                               // If this is the first range for both mates,
+                                               // choose the smaller range to chase down first
+                                               if(*delayedchaseR_ && (*offsRsz_ < *offsLsz_)) {
+                                                       assert(drR_->foundRange);
+                                                       *delayedchaseR_ = false;
+                                                       *delayedchaseL_ = true;
+                                                       *chaseR_ = true;
+                                                       const Range& r = drR_->range();
+                                                       assert(r.repOk());
+                                                       uint32_t qlen = doneFw_? qlen1_ : qlen2_;
+                                                       rchase_->setTopBot(r.top, r.bot, qlen, rand_, r.ebwt);
+                                               } else {
+                                                       // Use Burrows-Wheeler for this pair (as
+                                                       // usual)
+                                                       *chaseL_ = true;
+                                                       const Range& r = drL_->range();
+                                                       uint32_t qlen = doneFw_? qlen2_ : qlen1_;
+                                                       rchase_->setTopBot(r.top, r.bot, qlen, rand_, r.ebwt);
+                                               }
+                                       }
+                               }
+                       } else if(!drR_->done) {
+                               // If there are no more ranges for the other mate and
+                               // there are no candidate alignments either, then we're
+                               // not going to find a paired alignment in this
+                               // orientation.
+                               if(drL_->done && *offsLsz_ == 0) {
+                                       // Give up on this orientation
+                                       if(verbose_) cout << "Giving up on paired orientation " << (pairFw? "fw" : "rc") << " in mate 2" << endl;
+                                       if(verbose2_) cout << *offsLsz_ << " " << *offsRsz_ << endl;
+                                       *donePair_ = true;
+                                       return;
+                               }
+                               assert(!*delayedchaseR_);
+                               if(!drR_->foundRange) drR_->advance(ADV_FOUND_RANGE);
+                               if(drR_->foundRange) {
+#ifndef NDEBUG
+                                       {
+                                               std::set<int64_t>& s = (pairFw ? allTopsR_fw_ : allTopsR_rc_);
+                                               int64_t t = drR_->range().top + 1; // add 1 to avoid 0
+                                               if(!drR_->range().ebwt->fw()) t = -t; // invert for bw index
+                                               assert(s.find(t) == s.end());
+                                               s.insert(t);
+                                       }
+#endif
+                                       // Add the size of this range to the total for this mate
+                                       *offsRsz_ += (drR_->range().bot - drR_->range().top);
+                                       if(*offsLsz_ == 0 && (!dontReconcile_ || *offsRsz_ > 3)) {
+                                               // Delay chasing this range; we delay to avoid
+                                               // needlessly chasing rows in this range when
+                                               // the other mate doesn't end up aligning
+                                               // anywhere
+                                               if(verbose_) cout << "Delaying a chase for second mate" << endl;
+                                               *delayedchaseR_ = true;
+                                       } else {
+                                               // Start chasing this range
+                                               if(verbose2_) cout << *offsLsz_ << " " << *offsRsz_ << " " << drR_->range().top << endl;
+                                               if(verbose_) cout << "Chasing a range for second mate" << endl;
+                                               if(*offsLsz_ > symCeiling_ && *offsRsz_ > symCeiling_) {
+                                                       // Too many candidates for both mates; abort
+                                                       // without any more searching
+                                                       *donePair_ = true;
+                                                       return;
+                                               }
+                                               // If this is the first range for both mates,
+                                               // choose the smaller range to chase down first
+                                               if(*delayedchaseL_ && *offsLsz_ < *offsRsz_) {
+                                                       assert(drL_->foundRange);
+                                                       *delayedchaseL_ = false;
+                                                       *delayedchaseR_ = true;
+                                                       *chaseL_ = true;
+                                                       const Range& r = drL_->range();
+                                                       assert(r.repOk());
+                                                       uint32_t qlen = doneFw_? qlen2_ : qlen1_;
+                                                       rchase_->setTopBot(r.top, r.bot, qlen, rand_, r.ebwt);
+                                               } else {
+                                                       // Use Burrows-Wheeler for this pair (as
+                                                       // usual)
+                                                       *chaseR_ = true;
+                                                       const Range& r = drR_->range();
+                                                       assert(r.repOk());
+                                                       uint32_t qlen = doneFw_? qlen1_ : qlen2_;
+                                                       rchase_->setTopBot(r.top, r.bot, qlen, rand_, r.ebwt);
+                                               }
+                                       }
+                               }
+                       } else {
+                               // Finished processing ranges for both mates
+                               assert(drL_->done && drR_->done);
+                               *donePair_ = true;
+                       }
+               }
+       }
+
+       const BitPairReference* refs_;
+
+       PatternSourcePerThread *patsrc_;
+       uint32_t qlen1_;
+       uint32_t qlen2_;
+
+       // Progress state
+       bool doneFw_;   // finished with forward orientation of both mates?
+       bool doneFwFirst_;
+
+       bool chase1Fw_;
+       bool chase1Rc_;
+       bool chase2Fw_;
+       bool chase2Rc_;
+
+       bool delayedChase1Fw_;
+       bool delayedChase1Rc_;
+       bool delayedChase2Fw_;
+       bool delayedChase2Rc_;
+
+       // For searching for outstanding mates
+       RefAligner<String<Dna5> >* refAligner_;
+
+       // Temporary HitSink; to be deleted
+       const HitSinkPerThreadFactory& sinkPtFactory_;
+       HitSinkPerThread* sinkPt_;
+
+       // State for alignment
+       EbwtSearchParams<String<Dna> >* params_;
+
+       // Paired-end boundaries
+       const uint32_t minInsert_;
+       const uint32_t maxInsert_;
+
+       // Don't attempt pairwise all-versus-all style of mate
+       // reconciliation; just rely on mixed mode
+       const bool dontReconcile_;
+
+       // If both mates in a given orientation align >= symCeiling times,
+       // then immediately give up
+       const uint32_t symCeiling_;
+
+       // If the total number of alignments for both mates in a given
+       // orientation exceeds mixedThresh, then switch to mixed mode
+       const uint32_t mixedThresh_;
+       const uint32_t mixedAttemptLim_;
+       uint32_t mixedAttempts_;
+
+       // Orientation of upstream/downstream mates when aligning to
+       // forward strand
+       const bool fw1_;
+       const bool fw2_;
+
+       // State for getting alignments from ranges statefully
+       RangeChaser<String<Dna> >* rchase_;
+
+       // true -> be talkative
+       bool verbose_;
+       // true -> suppress warnings
+       bool quiet_;
+
+       int maxBts_;
+       ChunkPool *pool_;
+       int *btCnt_;
+
+       // Range-finding state for first mate
+       TDriver*      driver1Fw_;
+       TDriver*      driver1Rc_;
+       U32PairVec    offs1FwArr_[32];
+       TRangeVec     ranges1FwArr_[32];
+       uint32_t      offs1FwSz_; // total size of all ranges found in this category
+       U32PairVec    offs1RcArr_[32];
+       TRangeVec     ranges1RcArr_[32];
+       uint32_t      offs1RcSz_; // total size of all ranges found in this category
+
+       // Range-finding state for second mate
+       TDriver*      driver2Fw_;
+       TDriver*      driver2Rc_;
+       U32PairVec    offs2FwArr_[32];
+       TRangeVec     ranges2FwArr_[32];
+       uint32_t      offs2FwSz_; // total size of all ranges found in this category
+       U32PairVec    offs2RcArr_[32];
+       TRangeVec     ranges2RcArr_[32];
+       uint32_t      offs2RcSz_; // total size of all ranges found in this category
+
+       bool&       chaseL_fw_;
+       bool&       chaseR_fw_;
+       bool&       delayedchaseL_fw_;
+       bool&       delayedchaseR_fw_;
+       TDriver&    drL_fw_;
+       TDriver&    drR_fw_;
+       U32PairVec* offsLarr_fw_;
+       U32PairVec* offsRarr_fw_;
+       TRangeVec*  rangesLarr_fw_;
+       TRangeVec*  rangesRarr_fw_;
+       uint32_t&   offsLsz_fw_;
+       uint32_t&   offsRsz_fw_;
+
+       bool&       chaseL_rc_;
+       bool&       chaseR_rc_;
+       bool&       delayedchaseL_rc_;
+       bool&       delayedchaseR_rc_;
+       TDriver&    drL_rc_;
+       TDriver&    drR_rc_;
+       U32PairVec* offsLarr_rc_;
+       U32PairVec* offsRarr_rc_;
+       TRangeVec*  rangesLarr_rc_;
+       TRangeVec*  rangesRarr_rc_;
+       uint32_t&   offsLsz_rc_;
+       uint32_t&   offsRsz_rc_;
+
+       bool*       chaseL_;
+       bool*       chaseR_;
+       bool*       delayedchaseL_;
+       bool*       delayedchaseR_;
+       TDriver*    drL_;
+       TDriver*    drR_;
+       U32PairVec* offsLarr_;
+       U32PairVec* offsRarr_;
+       TRangeVec*  rangesLarr_;
+       TRangeVec*  rangesRarr_;
+       uint32_t*   offsLsz_;
+       uint32_t*   offsRsz_;
+       bool*       donePair_;
+       bool        fwL_;
+       bool        fwR_;
+
+       /// For keeping track of paired alignments that have already been
+       /// found for the forward and reverse-comp pair orientations
+       TSetPairs   pairs_fw_;
+       TSetPairs   pairs_rc_;
+
+#ifndef NDEBUG
+       std::set<int64_t> allTopsL_fw_;
+       std::set<int64_t> allTopsR_fw_;
+       std::set<int64_t> allTopsL_rc_;
+       std::set<int64_t> allTopsR_rc_;
+#endif
+
+       bool verbose2_;
+};
+
+/**
+ * Helper struct that holds a Range together with the coordinates where it al
+ */
+struct RangeWithCoords {
+       Range r;
+       U32Pair h;
+};
+
+/**
+ * An aligner for finding paired alignments while operating entirely
+ * within the Burrows-Wheeler domain.
+ */
+template<typename TRangeSource>
+class PairedBWAlignerV2 : public Aligner {
+
+       typedef std::pair<uint32_t,uint32_t> U32Pair;
+       typedef std::vector<U32Pair> U32PairVec;
+       typedef std::vector<Range> TRangeVec;
+       typedef RangeSourceDriver<TRangeSource> TDriver;
+       typedef std::pair<uint64_t, uint64_t> TU64Pair;
+       typedef std::set<TU64Pair> TSetPairs;
+
+public:
+       PairedBWAlignerV2(
+               EbwtSearchParams<String<Dna> >* params,
+               EbwtSearchParams<String<Dna> >* paramsSe1,
+               EbwtSearchParams<String<Dna> >* paramsSe2,
+               TDriver* driver,
+               RefAligner<String<Dna5> >* refAligner,
+               RangeChaser<String<Dna> >* rchase,
+               HitSink& sink,
+               const HitSinkPerThreadFactory& sinkPtFactory,
+               HitSinkPerThread* sinkPt,
+               HitSinkPerThread* sinkPtSe1,
+               HitSinkPerThread* sinkPtSe2,
+               bool fw1, bool fw2,
+               uint32_t minInsert,
+               uint32_t maxInsert,
+               uint32_t mixedAttemptLim,
+               const BitPairReference* refs,
+               bool rangeMode,
+               bool verbose,
+               bool quiet,
+               int maxBts,
+               ChunkPool *pool,
+               int *btCnt) :
+               Aligner(true, rangeMode),
+               refs_(refs),
+               patsrc_(NULL),
+               qlen1_(0), qlen2_(0),
+               chase_(false),
+               donePe_(false),
+               doneSe1_(false),
+               doneSe2_(false),
+               refAligner_(refAligner),
+               sinkPtFactory_(sinkPtFactory),
+               sinkPt_(sinkPt),
+               sinkPtSe1_(sinkPtSe1),
+               sinkPtSe2_(sinkPtSe2),
+               params_(params),
+               paramsSe1_(paramsSe1),
+               paramsSe2_(paramsSe2),
+               minInsert_(minInsert),
+               maxInsert_(maxInsert),
+               mixedAttemptLim_(mixedAttemptLim),
+               mixedAttempts_(0),
+               fw1_(fw1), fw2_(fw2),
+               rchase_(rchase),
+               driver_(driver),
+               pool_(pool),
+               verbose_(verbose),
+               quiet_(quiet),
+               maxBts_(maxBts),
+               btCnt_(btCnt)
+       {
+               assert(sinkPt_ != NULL);
+               assert(params_ != NULL);
+               assert(driver_ != NULL);
+       }
+
+       virtual ~PairedBWAlignerV2() {
+               delete driver_; driver_ = NULL;
+               delete params_; params_ = NULL;
+               if(paramsSe1_ != NULL) {
+                       delete paramsSe1_; paramsSe1_ = NULL;
+                       delete paramsSe2_; paramsSe2_ = NULL;
+               }
+               delete rchase_; rchase_ = NULL;
+               delete[] btCnt_; btCnt_ = NULL;
+               delete refAligner_; refAligner_ = NULL;
+               sinkPtFactory_.destroy(sinkPt_); sinkPt_ = NULL;
+               if(sinkPtSe1_ != NULL) {
+                       sinkPtFactory_.destroy(sinkPtSe1_); sinkPtSe1_ = NULL;
+                       sinkPtFactory_.destroy(sinkPtSe2_); sinkPtSe2_ = NULL;
+               }
+       }
+
+       /**
+        * Prepare this aligner for the next read.
+        */
+       virtual void setQuery(PatternSourcePerThread* patsrc) {
+               assert(!patsrc->bufa().empty());
+               Aligner::setQuery(patsrc); // set fields & random seed
+               assert(!patsrc->bufb().empty());
+               // Give all of the drivers pointers to the relevant read info
+               patsrc_ = patsrc;
+               pool_->reset(&patsrc->bufa().name, patsrc->patid());
+               if(patsrc->bufa().length() < 4 || patsrc->bufb().length() < 4) {
+                       if(!quiet_) {
+                               cerr << "Warning: Skipping pair " << patsrc->bufa().name
+                                    << " because a mate is less than 4 characters long" << endl;
+                       }
+                       this->done = true;
+                       sinkPt_->finishRead(*patsrc_, true, true);
+                       return;
+               }
+               driver_->setQuery(patsrc, NULL);
+               qlen1_ = patsrc_->bufa().length();
+               qlen2_ = patsrc_->bufb().length();
+               if(btCnt_ != NULL) (*btCnt_) = maxBts_;
+               mixedAttempts_ = 0;
+               // Neither orientation is done
+               this->done = false;
+               // No ranges are being chased yet
+               chase_ = false;
+               donePe_ = doneSe1_ = doneSe2_ = false;
+               pairs_fw_.clear();
+               pairs_rc_.clear();
+       }
+
+       /**
+        * Advance the aligner by one memory op.  Return true iff we're
+        * done with this read.
+        *
+        * A call to this function does one of many things:
+        * 1. Advance a RangeSourceDriver and check if it found a new range
+        * 2. Advance a RowChaseDriver and check if it found a reference
+        *    offset for a an alignment in a range
+        */
+       virtual bool advance() {
+               assert(!this->done);
+               if(chase_) {
+                       assert(!rangeMode_); // chasing ranges
+                       if(!rchase_->foundOff() && !rchase_->done) {
+                               rchase_->advance();
+                               return false;
+                       }
+                       assert(rchase_->foundOff() || rchase_->done);
+                       if(rchase_->foundOff()) {
+                               const Range& r = driver_->range();
+                               assert(r.repOk());
+                               resolveOutstanding(
+                                       rchase_->off(),
+                                       r.ebwt->_plen[rchase_->off().first], r);
+                               rchase_->reset();
+                       } else {
+                               assert(rchase_->done);
+                               // Forget this range; keep looking for ranges
+                               chase_ = false;
+                               this->done = driver_->done;
+                       }
+               }
+
+               if(!this->done && !chase_) {
+                       // Search for more ranges for whichever mate currently has
+                       // fewer candidate alignments
+                       if(!driver_->done) {
+                               if(!this->done) {
+                                       //
+                                       // Check whether any of the PE/SE possibilities
+                                       // have become impossible due to the minCost
+                                       //
+                                       if(!donePe_) {
+                                               assert(!this->done);
+                                               donePe_ = sinkPt_->irrelevantCost(driver_->minCost);
+                                               if(donePe_ && (!sinkPt_->empty() || sinkPtSe1_ == NULL)) {
+                                                       // Paired-end alignment(s) were found, no
+                                                       // more will be found, and no unpaired
+                                                       // alignments are requested, so stop
+                                                       this->done = true;
+                                               }
+                                               if(donePe_ && sinkPtSe1_ != NULL) {
+                                                       // Note: removeMate affects minCost
+                                                       if(doneSe1_) driver_->removeMate(1);
+                                                       if(doneSe2_) driver_->removeMate(2);
+                                               }
+                                       }
+                                       if(!this->done && sinkPtSe1_ != NULL) {
+                                               if(!doneSe1_) {
+                                                       doneSe1_ = sinkPtSe1_->irrelevantCost(driver_->minCost);
+                                                       if(doneSe1_ && donePe_) driver_->removeMate(1);
+                                               }
+                                               if(!doneSe2_) {
+                                                       doneSe2_ = sinkPtSe2_->irrelevantCost(driver_->minCost);
+                                                       if(doneSe2_ && donePe_) driver_->removeMate(2);
+                                               }
+                                               // Do Se1 again, because removing Se2 may have
+                                               // nudged minCost over the threshold
+                                               if(!doneSe1_) {
+                                                       doneSe1_ = sinkPtSe1_->irrelevantCost(driver_->minCost);
+                                                       if(doneSe1_ && donePe_) driver_->removeMate(1);
+                                               }
+                                               if(doneSe1_ && doneSe2_) assert(donePe_);
+                                               this->done = donePe_ && doneSe1_ && doneSe2_;
+                                       }
+
+                                       if(!this->done) {
+                                               if(sinkPtSe1_ != NULL) {
+                                                       assert(doneSe1_ || !sinkPtSe1_->irrelevantCost(driver_->minCost));
+                                                       assert(doneSe2_ || !sinkPtSe2_->irrelevantCost(driver_->minCost));
+                                               }
+                                               assert(donePe_ || !sinkPt_->irrelevantCost(driver_->minCost));
+                                               driver_->advance(ADV_COST_CHANGES);
+                                       }
+                               }
+                               if(driver_->foundRange) {
+                                       // Use Burrows-Wheeler for this pair (as usual)
+                                       chase_ = true;
+                                       driver_->foundRange = false;
+                                       const Range& r = driver_->range();
+                                       assert(r.repOk());
+                                       rchase_->setTopBot(r.top, r.bot,
+                                                          r.mate1 ? qlen1_ : qlen2_,
+                                                          rand_, r.ebwt);
+                               }
+                       } else {
+                               this->done = true;
+                       }
+               }
+
+               if(this->done) {
+                       bool reportedPe = (sinkPt_->finishRead(*patsrc_, true, true) > 0);
+                       if(sinkPtSe1_ != NULL) {
+                               sinkPtSe1_->finishRead(*patsrc_, !reportedPe, false);
+                               sinkPtSe2_->finishRead(*patsrc_, !reportedPe, false);
+                       }
+               }
+               return this->done;
+       }
+
+protected:
+
+       /**
+        * Helper for reporting a pair of alignments.  As of now, we report
+        * a paired alignment by reporting two consecutive alignments, one
+        * for each mate.
+        */
+       bool report(const Range& rL, // range for upstream mate
+                   const Range& rR, // range for downstream mate
+                   uint32_t first,  // ref idx
+                   uint32_t upstreamOff, // offset for upstream mate
+                   uint32_t dnstreamOff, // offset for downstream mate
+                   uint32_t tlen, // length of ref
+                   bool pairFw,   // whether the pair is being mapped to fw strand
+                   bool ebwtFwL,
+                   bool ebwtFwR,
+                   const ReferenceMap *rmap)
+       {
+               assert_lt(upstreamOff, dnstreamOff);
+               uint32_t spreadL = rL.bot - rL.top;
+               uint32_t spreadR = rR.bot - rR.top;
+               uint32_t oms = min(spreadL, spreadR) - 1;
+               ReadBuf* bufL = pairFw ? bufa_ : bufb_;
+               ReadBuf* bufR = pairFw ? bufb_ : bufa_;
+               uint32_t lenL = pairFw ? alen_ : blen_;
+               uint32_t lenR = pairFw ? blen_ : alen_;
+               bool ret;
+               assert(!params_->sink().exceededOverThresh());
+               params_->setFw(rL.fw);
+               assert_eq(bufL->color, color);
+               // Print upstream mate first
+               ret = params_->reportHit(
+                               rL.fw ? (ebwtFwL?  bufL->patFw  :  bufL->patFwRev) :
+                                       (ebwtFwL?  bufL->patRc  :  bufL->patRcRev),
+                               rL.fw ? (ebwtFwL? &bufL->qual    : &bufL->qualRev) :
+                                       (ebwtFwL? &bufL->qualRev : &bufL->qual),
+                               &bufL->name,
+                               bufL->color,
+                               colorExEnds,
+                               snpPhred,
+                               refs_,
+                               rmap,
+                               ebwtFwL,
+                               rL.mms,                       // mismatch positions
+                               rL.refcs,                     // reference characters for mms
+                               rL.numMms,                    // # mismatches
+                               make_pair(first, upstreamOff),// position
+                               make_pair(first, dnstreamOff),// mate position
+                               rR.fw,                        // mate orientation
+                               lenR,                         // mate length
+                               make_pair(rL.top, rL.bot),    // arrows
+                               tlen,                         // textlen
+                               lenL,                         // qlen
+                               rL.stratum,                   // alignment stratum
+                               rL.cost,                      // cost, including quality penalty
+                               oms,                          // # other hits
+                               bufL->patid,
+                               bufL->seed,
+                               pairFw ? 1 : 2);
+               if(ret) {
+                       return true; // can happen when -m is set
+               }
+               params_->setFw(rR.fw);
+               assert_eq(bufR->color, color);
+               ret = params_->reportHit(
+                               rR.fw ? (ebwtFwR?  bufR->patFw  :  bufR->patFwRev) :
+                                       (ebwtFwR?  bufR->patRc  :  bufR->patRcRev),
+                               rR.fw ? (ebwtFwR? &bufR->qual    : &bufR->qualRev) :
+                                       (ebwtFwR? &bufR->qualRev : &bufR->qual),
+                               &bufR->name,
+                               bufR->color,
+                               colorExEnds,
+                               snpPhred,
+                               refs_,
+                               rmap,
+                               ebwtFwR,
+                               rR.mms,                       // mismatch positions
+                               rR.refcs,                     // reference characters for mms
+                               rR.numMms,                    // # mismatches
+                               make_pair(first, dnstreamOff),// position
+                               make_pair(first, upstreamOff),// mate position
+                               rL.fw,                        // mate orientation
+                               lenL,                         // mate length
+                               make_pair(rR.top, rR.bot),    // arrows
+                               tlen,                         // textlen
+                               lenR,                         // qlen
+                               rR.stratum,                   // alignment stratum
+                               rR.cost,                      // cost, including quality penalty
+                               oms,                          // # other hits
+                               bufR->patid,
+                               bufR->seed,
+                               pairFw ? 2 : 1);
+               return ret;
+       }
+
+       /**
+        * Helper for reporting a pair of alignments.  As of now, we report
+        * a paired alignment by reporting two consecutive alignments, one
+        * for each mate.
+        */
+       void reportSe(const Range& r, U32Pair h, uint32_t tlen) {
+               EbwtSearchParams<String<Dna> >*params = (r.mate1 ? paramsSe1_ : paramsSe2_);
+               assert(!(r.mate1 ? doneSe1_ : doneSe2_));
+               params->setFw(r.fw);
+               ReadBuf* buf = r.mate1 ? bufa_ : bufb_;
+               bool ebwtFw = r.ebwt->fw();
+               uint32_t len = r.mate1 ? alen_ : blen_;
+               assert_eq(buf->color, color);
+               // Print upstream mate first
+               if(params->reportHit(
+                       r.fw ? (ebwtFw?  buf->patFw   :  buf->patFwRev) :
+                              (ebwtFw?  buf->patRc   :  buf->patRcRev),
+                       r.fw ? (ebwtFw? &buf->qual    : &buf->qualRev) :
+                              (ebwtFw? &buf->qualRev : &buf->qual),
+                       &buf->name,
+                       buf->color,
+                       colorExEnds,
+                       snpPhred,
+                       refs_,
+                       r.ebwt->rmap(),
+                       ebwtFw,
+                       r.mms,                   // mismatch positions
+                       r.refcs,                 // reference characters for mms
+                       r.numMms,                // # mismatches
+                       h,                       // position
+                       make_pair(0, 0),         // (bogus) mate coords
+                       true,                    // (bogus) mate orientation
+                       0,                       // (bogus) mate length
+                       make_pair(r.top, r.bot), // arrows
+                       tlen,                    // textlen
+                       len,                     // qlen
+                       r.stratum,               // alignment stratum
+                       r.cost,                  // cost, including quality penalty
+                       r.bot - r.top - 1,       // # other hits
+                       buf->patid,
+                       buf->seed,
+                       0))
+               {
+                       if(r.mate1) doneSe1_ = true;
+                       else        doneSe2_ = true;
+                       if(donePe_) driver_->removeMate(r.mate1 ? 1 : 2);
+               }
+       }
+
+       void resolveOutstanding(const U32Pair& off,
+                               const uint32_t tlen,
+                               const Range& range)
+       {
+               assert(!this->done);
+               if(!donePe_) {
+                       bool ret = resolveOutstandingInRef(off, tlen, range);
+                       if(++mixedAttempts_ > mixedAttemptLim_ || ret) {
+                               // Give up on this pair
+                               donePe_ = true;
+                               if(sinkPtSe1_ != NULL) {
+                                       if(doneSe1_) driver_->removeMate(1);
+                                       if(doneSe2_) driver_->removeMate(2);
+                               }
+                       }
+                       this->done = (donePe_ && (!sinkPt_->empty() || sinkPtSe1_ == NULL || (doneSe1_ && doneSe2_)));
+               }
+               if(!this->done && sinkPtSe1_ != NULL) {
+                       bool doneSe = (range.mate1 ? doneSe1_ : doneSe2_);
+                       if(!doneSe) {
+                               // Hold onto this single-end alignment in case we don't
+                               // find any paired alignments
+                               reportSe(range, off, tlen);
+                       }
+                       this->done = doneSe1_ && doneSe2_ && donePe_;
+               }
+       }
+
+       /**
+        * Given a vector of reference positions where one of the two mates
+        * (the "anchor" mate) has aligned, look directly at the reference
+        * sequence for instances where the other mate (the "outstanding"
+        * mate) aligns such that mating constraint is satisfied.
+        *
+        * This function picks up to 'pick' anchors at random from the
+        * 'offs' array.  It returns the number that it actually picked.
+        */
+       bool resolveOutstandingInRef(const U32Pair& off,
+                                    const uint32_t tlen,
+                                    const Range& range)
+       {
+               assert(!donePe_);
+               assert(refs_->loaded());
+               assert_lt(off.first, refs_->numRefs());
+               // pairFw = true if the anchor indicates that the pair will
+               // align in its forward orientation (i.e. with mate1 to the
+               // left of mate2)
+               bool pairFw = (range.mate1)? (range.fw == fw1_) : (range.fw == fw2_);
+               // matchRight = true, if the opposite mate will be to the right
+               // of the anchor mate
+               bool matchRight = (pairFw ? range.mate1 : !range.mate1);
+               // fw = orientation of the opposite mate
+               bool fw = range.mate1 ? fw2_ : fw1_; // whether outstanding mate is fw/rc
+               if(!pairFw) fw = !fw;
+               // 'seq' = sequence for opposite mate
+               const String<Dna5>& seq  =
+                       fw ? (range.mate1 ? patsrc_->bufb().patFw   :
+                                       patsrc_->bufa().patFw)  :
+                        (range.mate1 ? patsrc_->bufb().patRc   :
+                                       patsrc_->bufa().patRc);
+               // 'qual' = qualities for opposite mate
+               const String<char>& qual =
+                       fw ? (range.mate1 ? patsrc_->bufb().qual  :
+                                           patsrc_->bufa().qual) :
+                            (range.mate1 ? patsrc_->bufb().qualRev :
+                                           patsrc_->bufa().qualRev);
+               uint32_t qlen = seqan::length(seq);  // length of outstanding mate
+               uint32_t alen = (range.mate1 ? patsrc_->bufa().length() :
+                                              patsrc_->bufb().length());
+               int minins = minInsert_;
+               int maxins = maxInsert_;
+               if(fw1_) {
+                       minins = max<int>(0, minins - patsrc_->bufa().trimmed5);
+                       maxins = max<int>(0, maxins - patsrc_->bufa().trimmed5);
+               } else {
+                       minins = max<int>(0, minins - patsrc_->bufa().trimmed3);
+                       maxins = max<int>(0, maxins - patsrc_->bufa().trimmed3);
+               }
+               if(fw2_) {
+                       minins = max<int>(0, minins - patsrc_->bufb().trimmed3);
+                       maxins = max<int>(0, maxins - patsrc_->bufb().trimmed3);
+               } else {
+                       minins = max<int>(0, minins - patsrc_->bufb().trimmed5);
+                       maxins = max<int>(0, maxins - patsrc_->bufb().trimmed5);
+               }
+               assert_geq(minins, 0);
+               assert_geq(maxins, 0);
+               // Don't even try if either of the mates is longer than the
+               // maximum insert size.
+               if((uint32_t)maxins <= max(qlen, alen)) {
+                       return false;
+               }
+               const uint32_t tidx = off.first;  // text id where anchor mate hit
+               const uint32_t toff = off.second; // offset where anchor mate hit
+               // Set begin/end to the range of reference positions where
+               // outstanding mate may align while fulfilling insert-length
+               // constraints.
+               uint32_t begin, end;
+               assert_geq(maxins, minins);
+               uint32_t insDiff = maxins - minins;
+               if(matchRight) {
+                       end = toff + maxins;
+                       begin = toff + 1;
+                       if(qlen < alen) begin += alen-qlen;
+                       if(end > insDiff + qlen) {
+                               begin = max<uint32_t>(begin, end - insDiff - qlen);
+                       }
+                       end = min<uint32_t>(refs_->approxLen(tidx), end);
+                       begin = min<uint32_t>(refs_->approxLen(tidx), begin);
+               } else {
+                       if(toff + alen < (uint32_t)maxins) {
+                               begin = 0;
+                       } else {
+                               begin = toff + alen - maxins;
+                       }
+                       uint32_t mi = min<uint32_t>(alen, qlen);
+                       end = toff + mi - 1;
+                       end = min<uint32_t>(end, toff + alen - minins + qlen - 1);
+                       if(toff + alen + qlen < (uint32_t)(minins + 1)) end = 0;
+               }
+               // Check if there's not enough space in the range to fit an
+               // alignment for the outstanding mate.
+               if(end - begin < qlen) return false;
+               std::vector<Range> ranges;
+               std::vector<uint32_t> offs;
+               refAligner_->find(1, tidx, refs_, seq, qual, begin, end, ranges,
+                                 offs, pairFw ? &pairs_fw_ : &pairs_rc_,
+                                 toff, fw);
+               assert_eq(ranges.size(), offs.size());
+               for(size_t i = 0; i < ranges.size(); i++) {
+                       Range& r = ranges[i];
+                       r.fw = fw;
+                       r.cost |= (r.stratum << 14);
+                       r.mate1 = !range.mate1;
+                       const uint32_t result = offs[i];
+                       // Just copy the known range's top and bot for now
+                       r.top = range.top;
+                       r.bot = range.bot;
+                       bool ebwtLFw = matchRight ? range.ebwt->fw() : true;
+                       bool ebwtRFw = matchRight ? true : range.ebwt->fw();
+                       if(report(
+                               matchRight ? range : r, // range for upstream mate
+                               matchRight ? r : range, // range for downstream mate
+                               tidx,                   // ref idx
+                               matchRight ? toff : result, // upstream offset
+                               matchRight ? result : toff, // downstream offset
+                               tlen,       // length of ref
+                               pairFw,     // whether the pair is being mapped to fw strand
+                               ebwtLFw,
+                               ebwtRFw,
+                               range.ebwt->rmap())) return true;
+               }
+               return false;
+       }
+
+       const BitPairReference* refs_;
+
+       PatternSourcePerThread *patsrc_;
+       uint32_t qlen1_, qlen2_;
+       bool chase_;
+
+       // true -> we're no longer shooting for paired-end alignments;
+       // just collecting single-end ones
+       bool donePe_, doneSe1_, doneSe2_;
+
+       // For searching for outstanding mates
+       RefAligner<String<Dna5> >* refAligner_;
+
+       // Temporary HitSink; to be deleted
+       const HitSinkPerThreadFactory& sinkPtFactory_;
+       HitSinkPerThread* sinkPt_;
+       HitSinkPerThread* sinkPtSe1_, * sinkPtSe2_;
+
+       // State for alignment
+       EbwtSearchParams<String<Dna> >* params_;
+       // for single-end:
+       EbwtSearchParams<String<Dna> >* paramsSe1_, * paramsSe2_;
+
+       // Paired-end boundaries
+       const uint32_t minInsert_;
+       const uint32_t maxInsert_;
+
+       const uint32_t mixedAttemptLim_;
+       uint32_t mixedAttempts_;
+
+       // Orientation of upstream/downstream mates when aligning to
+       // forward strand
+       const bool fw1_, fw2_;
+
+       // State for getting alignments from ranges statefully
+       RangeChaser<String<Dna> >* rchase_;
+
+       // Range-finding state for first mate
+       TDriver* driver_;
+
+       // Pool for distributing chunks of best-first path descriptor memory
+       ChunkPool *pool_;
+
+       bool verbose_;
+       bool quiet_;
+
+       int maxBts_; // maximum allowed # backtracks
+       int *btCnt_; // current backtrack count
+
+       /// For keeping track of paired alignments that have already been
+       /// found for the forward and reverse-comp pair orientations
+       TSetPairs pairs_fw_, pairs_rc_;
+};
+
+#endif /* ALIGNER_H_ */
diff --git a/aligner_0mm.h b/aligner_0mm.h
new file mode 100644 (file)
index 0000000..603f62e
--- /dev/null
@@ -0,0 +1,382 @@
+/*
+ * aligner_0mm.h
+ */
+
+#ifndef ALIGNER_0MM_H_
+#define ALIGNER_0MM_H_
+
+#include <utility>
+#include <vector>
+#include "aligner.h"
+#include "hit.h"
+#include "row_chaser.h"
+#include "range_chaser.h"
+
+/**
+ * Concrete factory class for constructing unpaired exact aligners.
+ */
+class UnpairedExactAlignerV1Factory : public AlignerFactory {
+
+       typedef RangeSourceDriver<EbwtRangeSource> TRangeSrcDr;
+       typedef std::vector<TRangeSrcDr*> TRangeSrcDrPtrVec;
+       typedef CostAwareRangeSourceDriver<EbwtRangeSource> TCostAwareRangeSrcDr;
+
+public:
+       UnpairedExactAlignerV1Factory(
+                       Ebwt<String<Dna> >& ebwtFw,
+                       Ebwt<String<Dna> >* ebwtBw,
+                       bool doFw,
+                       bool doRc,
+                       HitSink& sink,
+                       const HitSinkPerThreadFactory& sinkPtFactory,
+                       RangeCache* cacheFw,
+                       RangeCache* cacheBw,
+                       uint32_t cacheLimit,
+                       ChunkPool *pool,
+                       BitPairReference* refs,
+                       vector<String<Dna5> >& os,
+                       bool maqPenalty,
+                       bool qualOrder,
+                       bool strandFix,
+                       bool rangeMode,
+                       bool verbose,
+                       bool quiet,
+                       uint32_t seed) :
+                       ebwtFw_(ebwtFw),
+                       ebwtBw_(ebwtBw),
+                       doFw_(doFw), doRc_(doRc),
+                       sink_(sink),
+                       sinkPtFactory_(sinkPtFactory),
+                       cacheFw_(cacheFw),
+                       cacheBw_(cacheBw),
+                       cacheLimit_(cacheLimit),
+                       pool_(pool),
+                       refs_(refs),
+                       os_(os),
+                       maqPenalty_(maqPenalty),
+                       qualOrder_(qualOrder),
+                       strandFix_(strandFix),
+                       rangeMode_(rangeMode),
+                       verbose_(verbose),
+                       quiet_(quiet),
+                       seed_(seed)
+       {
+               assert(ebwtFw.isInMemory());
+       }
+
+       /**
+        * Create a new UnpairedExactAlignerV1s.
+        */
+       virtual Aligner* create() const {
+               HitSinkPerThread* sinkPt = sinkPtFactory_.create();
+               EbwtSearchParams<String<Dna> >* params =
+                       new EbwtSearchParams<String<Dna> >(*sinkPt, os_, true, true);
+
+               const int halfAndHalf = 0;
+               const bool seeded = false;
+
+               EbwtRangeSource *rFw = new EbwtRangeSource(
+                       &ebwtFw_, true,  0xffffffff, true, verbose_, quiet_, halfAndHalf, seeded, maqPenalty_, qualOrder_);
+               EbwtRangeSource *rRc = new EbwtRangeSource(
+                       &ebwtFw_, false, 0xffffffff, true, verbose_, quiet_, halfAndHalf, seeded, maqPenalty_, qualOrder_);
+
+               EbwtRangeSourceDriver * driverFw = new EbwtRangeSourceDriver(
+                       *params, rFw, true, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                       0,          // seedLen
+                       true,       // nudgeLeft (not applicable)
+                       PIN_TO_LEN, // whole alignment is unrevisitable
+                       PIN_TO_LEN, // "
+                       PIN_TO_LEN, // "
+                       PIN_TO_LEN, // "
+                       os_, verbose_, quiet_, true, pool_, NULL);
+               EbwtRangeSourceDriver * driverRc = new EbwtRangeSourceDriver(
+                       *params, rRc, false, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                       0,          // seedLen
+                       true,       // nudgeLeft (not applicable)
+                       PIN_TO_LEN, // whole alignment is unrevisitable
+                       PIN_TO_LEN, // "
+                       PIN_TO_LEN, // "
+                       PIN_TO_LEN, // "
+                       os_, verbose_, quiet_, true, pool_, NULL);
+               TRangeSrcDrPtrVec *drVec = new TRangeSrcDrPtrVec();
+               if(doFw_) drVec->push_back(driverFw);
+               if(doRc_) drVec->push_back(driverRc);
+               TCostAwareRangeSrcDr* dr = new TCostAwareRangeSrcDr(strandFix_, drVec, verbose_, quiet_, false);
+               delete drVec;
+
+               // Set up a RangeChaser
+               RangeChaser<String<Dna> > *rchase =
+                       new RangeChaser<String<Dna> >(cacheLimit_, cacheFw_, cacheBw_);
+
+               return new UnpairedAlignerV2<EbwtRangeSource>(
+                       params, dr, rchase,
+                       sink_, sinkPtFactory_, sinkPt, os_, refs_,
+                       rangeMode_, verbose_, quiet_, INT_MAX, pool_, NULL, NULL);
+       }
+
+private:
+       Ebwt<String<Dna> >& ebwtFw_;
+       Ebwt<String<Dna> >* ebwtBw_;
+       bool doFw_;
+       bool doRc_;
+       HitSink& sink_;
+       const HitSinkPerThreadFactory& sinkPtFactory_;
+       RangeCache *cacheFw_;
+       RangeCache *cacheBw_;
+       const uint32_t cacheLimit_;
+       ChunkPool *pool_;
+       BitPairReference* refs_;
+       vector<String<Dna5> >& os_;
+       bool maqPenalty_;
+       bool qualOrder_;
+       bool strandFix_;
+       bool rangeMode_;
+       bool verbose_;
+       bool quiet_;
+       uint32_t seed_;
+};
+
+/**
+ * Concrete factory class for constructing unpaired exact aligners.
+ */
+class PairedExactAlignerV1Factory : public AlignerFactory {
+       typedef RangeSourceDriver<EbwtRangeSource> TRangeSrcDr;
+       typedef CostAwareRangeSourceDriver<EbwtRangeSource> TCostAwareRangeSrcDr;
+       typedef std::vector<TRangeSrcDr*> TRangeSrcDrPtrVec;
+public:
+       PairedExactAlignerV1Factory(
+                       Ebwt<String<Dna> >& ebwtFw,
+                       Ebwt<String<Dna> >* ebwtBw,
+                       bool color,
+                       bool doFw,
+                       bool doRc,
+                       bool v1,
+                       HitSink& sink,
+                       const HitSinkPerThreadFactory& sinkPtFactory,
+                       bool mate1fw,
+                       bool mate2fw,
+                       uint32_t peInner,
+                       uint32_t peOuter,
+                       bool dontReconcile,
+                       uint32_t symCeil,
+                       uint32_t mixedThresh,
+                       uint32_t mixedAttemptLim,
+                       RangeCache* cacheFw,
+                       RangeCache* cacheBw,
+                       uint32_t cacheLimit,
+                       ChunkPool *pool,
+                       BitPairReference* refs,
+                       vector<String<Dna5> >& os,
+                       bool reportSe,
+                       bool maqPenalty,
+                       bool strandFix,
+                       bool qualOrder,
+                       bool rangeMode,
+                       bool verbose,
+                       bool quiet,
+                       uint32_t seed) :
+                       ebwtFw_(ebwtFw),
+                       color_(color),
+                       doFw_(doFw),
+                       doRc_(doRc),
+                       v1_(v1),
+                       sink_(sink),
+                       sinkPtFactory_(sinkPtFactory),
+                       mate1fw_(mate1fw),
+                       mate2fw_(mate2fw),
+                       peInner_(peInner),
+                       peOuter_(peOuter),
+                       dontReconcile_(dontReconcile),
+                       symCeil_(symCeil),
+                       mixedThresh_(mixedThresh),
+                       mixedAttemptLim_(mixedAttemptLim),
+                       cacheFw_(cacheFw),
+                       cacheBw_(cacheBw),
+                       cacheLimit_(cacheLimit),
+                       pool_(pool),
+                       refs_(refs), os_(os),
+                       reportSe_(reportSe),
+                       maqPenalty_(maqPenalty),
+                       qualOrder_(qualOrder),
+                       strandFix_(strandFix),
+                       rangeMode_(rangeMode),
+                       verbose_(verbose),
+                       quiet_(quiet),
+                       seed_(seed)
+       {
+               assert(ebwtFw.isInMemory());
+       }
+
+       /**
+        * Create a new UnpairedExactAlignerV1s.
+        */
+       virtual Aligner* create() const {
+               HitSinkPerThread* sinkPt = sinkPtFactory_.createMult(2);
+               HitSinkPerThread* sinkPtSe1 = NULL, * sinkPtSe2 = NULL;
+               EbwtSearchParams<String<Dna> >* params =
+                       new EbwtSearchParams<String<Dna> >(*sinkPt, os_, true, true);
+               EbwtSearchParams<String<Dna> >* paramsSe1 = NULL, * paramsSe2 = NULL;
+               if(reportSe_) {
+                       sinkPtSe1 = sinkPtFactory_.create();
+                       sinkPtSe2 = sinkPtFactory_.create();
+                       paramsSe1 =
+                               new EbwtSearchParams<String<Dna> >(*sinkPtSe1, os_, true, true);
+                       paramsSe2 =
+                               new EbwtSearchParams<String<Dna> >(*sinkPtSe2, os_, true, true);
+               }
+
+               const int halfAndHalf = 0;
+               const bool seeded = false;
+
+               bool do1Fw = true;
+               bool do1Rc = true;
+               bool do2Fw = true;
+               bool do2Rc = true;
+               if(!doFw_) {
+                       if(mate1fw_) do1Fw = false;
+                       else         do1Rc = false;
+                       if(mate2fw_) do2Fw = false;
+                       else         do2Rc = false;
+               }
+               if(!doRc_) {
+                       if(mate1fw_) do1Rc = false;
+                       else         do1Fw = false;
+                       if(mate2fw_) do2Rc = false;
+                       else         do2Fw = false;
+               }
+
+               EbwtRangeSource *r1Fw = NULL;
+               EbwtRangeSource *r1Rc = NULL;
+               TRangeSrcDr * driver1Fw = NULL;
+               TRangeSrcDr * driver1Rc = NULL;
+               EbwtRangeSource *r2Fw = NULL;
+               EbwtRangeSource *r2Rc = NULL;
+               TRangeSrcDr * driver2Fw = NULL;
+               TRangeSrcDr * driver2Rc = NULL;
+               if(do1Fw) {
+                       r1Fw = new EbwtRangeSource(
+                               &ebwtFw_, true,  0xffffffff, true, verbose_, quiet_, halfAndHalf, seeded, maqPenalty_, qualOrder_);
+                       driver1Fw = new EbwtRangeSourceDriver(
+                               *params, r1Fw, true, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                               0,          // seedLen
+                               true,       // nudgeLeft (not applicable)
+                               PIN_TO_LEN, // whole alignment is unrevisitable
+                               PIN_TO_LEN, // "
+                               PIN_TO_LEN, // "
+                               PIN_TO_LEN, // "
+                               os_, verbose_, quiet_, true, pool_, NULL);
+               }
+               if(do2Fw) {
+                       r2Fw = new EbwtRangeSource(
+                               &ebwtFw_, true,  0xffffffff, true, verbose_, quiet_, halfAndHalf, seeded, maqPenalty_, qualOrder_);
+                       driver2Fw = new EbwtRangeSourceDriver(
+                               *params, r2Fw, true, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                               0,          // seedLen
+                               true,       // nudgeLeft (not applicable)
+                               PIN_TO_LEN, // whole alignment is unrevisitable
+                               PIN_TO_LEN, // "
+                               PIN_TO_LEN, // "
+                               PIN_TO_LEN, // "
+                               os_, verbose_, quiet_, false, pool_, NULL);
+               }
+               if(do1Rc) {
+                       r1Rc = new EbwtRangeSource(
+                               &ebwtFw_, false, 0xffffffff, true, verbose_, quiet_, halfAndHalf, seeded, maqPenalty_, qualOrder_);
+                       driver1Rc = new EbwtRangeSourceDriver(
+                               *params, r1Rc, false, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                               0,          // seedLen
+                               true,       // nudgeLeft (not applicable)
+                               PIN_TO_LEN, // whole alignment is unrevisitable
+                               PIN_TO_LEN, // "
+                               PIN_TO_LEN, // "
+                               PIN_TO_LEN, // "
+                               os_, verbose_, quiet_, true, pool_, NULL);
+               }
+               if(do2Rc) {
+                       r2Rc = new EbwtRangeSource(
+                               &ebwtFw_, false, 0xffffffff, true, verbose_, quiet_, halfAndHalf, seeded, maqPenalty_, qualOrder_);
+                       driver2Rc = new EbwtRangeSourceDriver(
+                               *params, r2Rc, false, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                               0,          // seedLen
+                               true,       // nudgeLeft (not applicable)
+                               PIN_TO_LEN, // whole alignment is unrevisitable
+                               PIN_TO_LEN, // "
+                               PIN_TO_LEN, // "
+                               PIN_TO_LEN, // "
+                               os_, verbose_, quiet_, false, pool_, NULL);
+               }
+
+               RefAligner<String<Dna5> >* refAligner
+                       = new ExactRefAligner<String<Dna5> >(color_, verbose_, quiet_);
+
+               // Set up a RangeChaser
+               RangeChaser<String<Dna> > *rchase =
+                       new RangeChaser<String<Dna> >(cacheLimit_, cacheFw_, cacheBw_);
+
+               if(v1_) {
+                       PairedBWAlignerV1<EbwtRangeSource>* al = new PairedBWAlignerV1<EbwtRangeSource>(
+                               params,
+                               driver1Fw == NULL ? (new StubRangeSourceDriver<EbwtRangeSource>()) : driver1Fw,
+                               driver1Rc == NULL ? (new StubRangeSourceDriver<EbwtRangeSource>()) : driver1Rc,
+                               driver2Fw == NULL ? (new StubRangeSourceDriver<EbwtRangeSource>()) : driver2Fw,
+                               driver2Rc == NULL ? (new StubRangeSourceDriver<EbwtRangeSource>()) : driver2Rc,
+                               refAligner,
+                               rchase, sink_, sinkPtFactory_, sinkPt, mate1fw_, mate2fw_,
+                               peInner_, peOuter_, dontReconcile_, symCeil_, mixedThresh_,
+                               mixedAttemptLim_, refs_, rangeMode_, verbose_,
+                               quiet_, INT_MAX, pool_, NULL);
+                       return al;
+               } else {
+                       TRangeSrcDrPtrVec *drVec = new TRangeSrcDrPtrVec();
+                       if(driver1Fw != NULL) drVec->push_back(driver1Fw);
+                       if(driver1Rc != NULL) drVec->push_back(driver1Rc);
+                       if(driver2Fw != NULL) drVec->push_back(driver2Fw);
+                       if(driver2Rc != NULL) drVec->push_back(driver2Rc);
+                       PairedBWAlignerV2<EbwtRangeSource>* al = new PairedBWAlignerV2<EbwtRangeSource>(
+                               params, paramsSe1, paramsSe2,
+                               new TCostAwareRangeSrcDr(strandFix_, drVec, verbose_, quiet_, true),
+                               refAligner,
+                               rchase, sink_, sinkPtFactory_, sinkPt,
+                               sinkPtSe1, sinkPtSe2, mate1fw_, mate2fw_,
+                               peInner_, peOuter_,
+                               mixedAttemptLim_, refs_, rangeMode_,
+                               verbose_, quiet_, INT_MAX, pool_, NULL);
+                       delete drVec;
+                       return al;
+               }
+       }
+
+private:
+       Ebwt<String<Dna> >& ebwtFw_;
+       Ebwt<String<Dna> >* ebwtBw_;
+       bool color_;
+       bool doFw_;
+       bool doRc_;
+       bool v1_;
+       HitSink& sink_;
+       const HitSinkPerThreadFactory& sinkPtFactory_;
+       const bool mate1fw_;
+       const bool mate2fw_;
+       const uint32_t peInner_;
+       const uint32_t peOuter_;
+       const bool dontReconcile_;
+       const uint32_t symCeil_;
+       const uint32_t mixedThresh_;
+       const uint32_t mixedAttemptLim_;
+       RangeCache *cacheFw_;
+       RangeCache *cacheBw_;
+       const uint32_t cacheLimit_;
+       ChunkPool *pool_;
+       BitPairReference* refs_;
+       vector<String<Dna5> >& os_;
+       const bool reportSe_;
+       const bool maqPenalty_;
+       const bool qualOrder_;
+       const bool strandFix_;
+       const bool rangeMode_;
+       const bool verbose_;
+       const bool quiet_;
+       const uint32_t seed_;
+};
+
+#endif /* ALIGNER_0MM_H_ */
diff --git a/aligner_1mm.h b/aligner_1mm.h
new file mode 100644 (file)
index 0000000..530464f
--- /dev/null
@@ -0,0 +1,494 @@
+/*
+ * aligner_1mm.h
+ */
+
+#ifndef ALIGNER_1MM_H_
+#define ALIGNER_1MM_H_
+
+#include <utility>
+#include <vector>
+#include "aligner.h"
+#include "hit.h"
+#include "range_source.h"
+#include "row_chaser.h"
+#include "range_chaser.h"
+#include "ref_aligner.h"
+
+/**
+ * Concrete factory class for constructing unpaired exact aligners.
+ */
+class Unpaired1mmAlignerV1Factory : public AlignerFactory {
+       typedef RangeSourceDriver<EbwtRangeSource> TRangeSrcDr;
+       typedef CostAwareRangeSourceDriver<EbwtRangeSource> TCostAwareRangeSrcDr;
+       typedef std::vector<TRangeSrcDr*> TRangeSrcDrPtrVec;
+public:
+       Unpaired1mmAlignerV1Factory(
+                       Ebwt<String<Dna> >& ebwtFw,
+                       Ebwt<String<Dna> >* ebwtBw,
+                       bool doFw,
+                       bool doRc,
+                       HitSink& sink,
+                       const HitSinkPerThreadFactory& sinkPtFactory,
+                       RangeCache *cacheFw,
+                       RangeCache *cacheBw,
+                       uint32_t cacheLimit,
+                       ChunkPool *pool,
+                       BitPairReference* refs,
+                       vector<String<Dna5> >& os,
+                       bool maqPenalty,
+                       bool qualOrder,
+                       bool strandFix,
+                       bool rangeMode,
+                       bool verbose,
+                       bool quiet,
+                       uint32_t seed) :
+                       ebwtFw_(ebwtFw),
+                       ebwtBw_(ebwtBw),
+                       doFw_(doFw),
+                       doRc_(doRc),
+                       sink_(sink),
+                       sinkPtFactory_(sinkPtFactory),
+                       cacheFw_(cacheFw),
+                       cacheBw_(cacheBw),
+                       cacheLimit_(cacheLimit),
+                       pool_(pool),
+                       refs_(refs),
+                       os_(os),
+                       maqPenalty_(maqPenalty),
+                       qualOrder_(qualOrder),
+                       strandFix_(strandFix),
+                       rangeMode_(rangeMode),
+                       verbose_(verbose),
+                       quiet_(quiet),
+                       seed_(seed)
+       {
+               assert(ebwtFw.isInMemory());
+               assert(ebwtBw != NULL);
+               assert(ebwtBw->isInMemory());
+       }
+
+       /**
+        * Create a new UnpairedExactAlignerV1s.
+        */
+       virtual Aligner* create() const {
+
+               HitSinkPerThread* sinkPt = sinkPtFactory_.create();
+               EbwtSearchParams<String<Dna> >* params =
+                       new EbwtSearchParams<String<Dna> >(*sinkPt, os_);
+
+               const int halfAndHalf = 0;
+               const bool seeded = false;
+
+               EbwtRangeSource *rFw_Bw = new EbwtRangeSource(
+                        ebwtBw_, true, 0xffffffff, true,  verbose_, quiet_, halfAndHalf, seeded, maqPenalty_, qualOrder_);
+               EbwtRangeSource *rFw_Fw = new EbwtRangeSource(
+                       &ebwtFw_, true, 0xffffffff, false, verbose_, quiet_, halfAndHalf, seeded, maqPenalty_, qualOrder_);
+
+               EbwtRangeSourceDriver * drFw_Bw = new EbwtRangeSourceDriver(
+                       *params, rFw_Bw, true, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                       0,          // seedLen (0 = whole read is seed)
+                       false,      // nudgeLeft (true for Fw index, false for Bw)
+                       PIN_TO_HI_HALF_EDGE, // right half is unrevisitable
+                       PIN_TO_LEN, // allow 1 mismatch in rest of read
+                       PIN_TO_LEN, // "
+                       PIN_TO_LEN, // "
+                       os_, verbose_, quiet_, true, pool_, NULL);
+               //
+               EbwtRangeSourceDriver * drFw_Fw = new EbwtRangeSourceDriver(
+                       *params, rFw_Fw, true, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                       0,          // seedLen (0 = whole read is seed)
+                       true,       // nudgeLeft (true for Fw index, false for Bw)
+                       PIN_TO_HI_HALF_EDGE, // right half is unrevisitable
+                       PIN_TO_LEN, // allow 1 mismatch in rest of read
+                       PIN_TO_LEN, // "
+                       PIN_TO_LEN, // "
+                       os_, verbose_, quiet_, true, pool_, NULL);
+               TRangeSrcDrPtrVec *drVec = new TRangeSrcDrPtrVec();
+               if(doFw_) {
+                       drVec->push_back(drFw_Bw);
+                       drVec->push_back(drFw_Fw);
+               }
+
+               EbwtRangeSource *rRc_Fw = new EbwtRangeSource(
+                       &ebwtFw_, false, 0xffffffff, true,  verbose_, quiet_, halfAndHalf, seeded, maqPenalty_, qualOrder_);
+               EbwtRangeSource *rRc_Bw = new EbwtRangeSource(
+                        ebwtBw_, false, 0xffffffff, false, verbose_, quiet_, halfAndHalf, seeded, maqPenalty_, qualOrder_);
+
+               EbwtRangeSourceDriver * drRc_Fw = new EbwtRangeSourceDriver(
+                       *params, rRc_Fw, false, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                       0,          // seedLen (0 = whole read is seed)
+                       true,       // nudgeLeft (true for Fw index, false for Bw)
+                       PIN_TO_HI_HALF_EDGE, // right half is unrevisitable
+                       PIN_TO_LEN, // allow 1 mismatch in rest of read
+                       PIN_TO_LEN, // "
+                       PIN_TO_LEN, // "
+                       os_, verbose_, quiet_, true, pool_, NULL);
+               //
+               EbwtRangeSourceDriver * drRc_Bw = new EbwtRangeSourceDriver(
+                       *params, rRc_Bw, false, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                       0,          // seedLen (0 = whole read is seed)
+                       false,      // nudgeLeft (true for Fw index, false for Bw)
+                       PIN_TO_HI_HALF_EDGE, // right half is unrevisitable
+                       PIN_TO_LEN, // allow 1 mismatch in rest of read
+                       PIN_TO_LEN, // "
+                       PIN_TO_LEN, // "
+                       os_, verbose_, quiet_, true, pool_, NULL);
+               if(doRc_) {
+                       drVec->push_back(drRc_Fw);
+                       drVec->push_back(drRc_Bw);
+               }
+               TCostAwareRangeSrcDr* dr = new TCostAwareRangeSrcDr(strandFix_, drVec, verbose_, quiet_, false);
+               delete drVec;
+
+               // Set up a RangeChaser
+               RangeChaser<String<Dna> > *rchase =
+                       new RangeChaser<String<Dna> >(cacheLimit_, cacheFw_, cacheBw_);
+
+               // Set up the aligner
+               return new UnpairedAlignerV2<EbwtRangeSource>(
+                       params, dr, rchase,
+                       sink_, sinkPtFactory_, sinkPt, os_, refs_,
+                       rangeMode_, verbose_, quiet_, INT_MAX, pool_, NULL, NULL);
+       }
+
+private:
+       Ebwt<String<Dna> >& ebwtFw_;
+       Ebwt<String<Dna> >* ebwtBw_;
+       bool doFw_;
+       bool doRc_;
+       HitSink& sink_;
+       const HitSinkPerThreadFactory& sinkPtFactory_;
+       RangeCache *cacheFw_;
+       RangeCache *cacheBw_;
+       const uint32_t cacheLimit_;
+       ChunkPool *pool_;
+       BitPairReference* refs_;
+       vector<String<Dna5> >& os_;
+       const bool maqPenalty_;
+       const bool qualOrder_;
+       bool strandFix_;
+       bool rangeMode_;
+       bool verbose_;
+       bool quiet_;
+       uint32_t seed_;
+};
+
+/**
+ * Concrete factory class for constructing unpaired exact aligners.
+ */
+class Paired1mmAlignerV1Factory : public AlignerFactory {
+       typedef RangeSourceDriver<EbwtRangeSource> TRangeSrcDr;
+       typedef CostAwareRangeSourceDriver<EbwtRangeSource> TCostAwareRangeSrcDr;
+       typedef std::vector<TRangeSrcDr*> TRangeSrcDrPtrVec;
+public:
+       Paired1mmAlignerV1Factory(
+                       Ebwt<String<Dna> >& ebwtFw,
+                       Ebwt<String<Dna> >* ebwtBw,
+                       bool color,
+                       bool doFw,
+                       bool doRc,
+                       bool v1,
+                       HitSink& sink,
+                       const HitSinkPerThreadFactory& sinkPtFactory,
+                       bool mate1fw,
+                       bool mate2fw,
+                       uint32_t peInner,
+                       uint32_t peOuter,
+                       bool dontReconcile,
+                       uint32_t symCeil,
+                       uint32_t mixedThresh,
+                       uint32_t mixedAttemptLim,
+                       RangeCache *cacheFw,
+                       RangeCache *cacheBw,
+                       uint32_t cacheLimit,
+                       ChunkPool *pool,
+                       BitPairReference* refs,
+                       vector<String<Dna5> >& os,
+                       bool reportSe,
+                       bool maqPenalty,
+                       bool qualOrder,
+                       bool strandFix,
+                       bool rangeMode,
+                       bool verbose,
+                       bool quiet,
+                       uint32_t seed) :
+                       ebwtFw_(ebwtFw),
+                       ebwtBw_(ebwtBw),
+                       color_(color),
+                       doFw_(doFw),
+                       doRc_(doRc),
+                       v1_(v1),
+                       sink_(sink),
+                       sinkPtFactory_(sinkPtFactory),
+                       mate1fw_(mate1fw),
+                       mate2fw_(mate2fw),
+                       peInner_(peInner),
+                       peOuter_(peOuter),
+                       dontReconcile_(dontReconcile),
+                       symCeil_(symCeil),
+                       mixedThresh_(mixedThresh),
+                       mixedAttemptLim_(mixedAttemptLim),
+                       cacheFw_(cacheFw),
+                       cacheBw_(cacheBw),
+                       cacheLimit_(cacheLimit),
+                       pool_(pool),
+                       refs_(refs), os_(os),
+                       reportSe_(reportSe),
+                       maqPenalty_(maqPenalty),
+                       qualOrder_(qualOrder),
+                       strandFix_(strandFix),
+                       rangeMode_(rangeMode),
+                       verbose_(verbose),
+                       quiet_(quiet),
+                       seed_(seed)
+       {
+               assert(ebwtBw != NULL);
+               assert(ebwtFw.isInMemory());
+               assert(ebwtBw->isInMemory());
+       }
+
+       /**
+        * Create a new UnpairedExactAlignerV1s.
+        */
+       virtual Aligner* create() const {
+               HitSinkPerThread* sinkPt = sinkPtFactory_.createMult(2);
+               HitSinkPerThread* sinkPtSe1 = NULL, * sinkPtSe2 = NULL;
+               EbwtSearchParams<String<Dna> >* params =
+                       new EbwtSearchParams<String<Dna> >(*sinkPt, os_);
+               EbwtSearchParams<String<Dna> >* paramsSe1 = NULL, * paramsSe2 = NULL;
+               if(reportSe_) {
+                       sinkPtSe1 = sinkPtFactory_.create();
+                       sinkPtSe2 = sinkPtFactory_.create();
+                       paramsSe1 =
+                               new EbwtSearchParams<String<Dna> >(*sinkPtSe1, os_);
+                       paramsSe2 =
+                               new EbwtSearchParams<String<Dna> >(*sinkPtSe2, os_);
+               }
+
+               const int halfAndHalf = 0;
+               const bool seeded = false;
+
+               bool do1Fw = true;
+               bool do1Rc = true;
+               bool do2Fw = true;
+               bool do2Rc = true;
+               if(!doFw_) {
+                       if(mate1fw_) do1Fw = false;
+                       else         do1Rc = false;
+                       if(mate2fw_) do2Fw = false;
+                       else         do2Rc = false;
+               }
+               if(!doRc_) {
+                       if(mate1fw_) do1Rc = false;
+                       else         do1Fw = false;
+                       if(mate2fw_) do2Rc = false;
+                       else         do2Fw = false;
+               }
+
+               TRangeSrcDrPtrVec *dr1FwVec;
+               dr1FwVec = new TRangeSrcDrPtrVec();
+               if(do1Fw) {
+                       EbwtRangeSource *r1Fw_Bw = new EbwtRangeSource(
+                                ebwtBw_, true, 0xffffffff, true,  verbose_, quiet_, halfAndHalf, seeded, maqPenalty_, qualOrder_);
+                       EbwtRangeSource *r1Fw_Fw = new EbwtRangeSource(
+                               &ebwtFw_, true, 0xffffffff, false, verbose_, quiet_, halfAndHalf, seeded, maqPenalty_, qualOrder_);
+
+                       EbwtRangeSourceDriver * dr1Fw_Bw = new EbwtRangeSourceDriver(
+                               *params, r1Fw_Bw, true, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                               0,          // seedLen (0 = whole read is seed)
+                               true,       // nudgeLeft (true for Fw index, false for Bw)
+                               PIN_TO_HI_HALF_EDGE, // right half is unrevisitable
+                               PIN_TO_LEN, // allow 1 mismatch in rest of read
+                               PIN_TO_LEN, // "
+                               PIN_TO_LEN, // "
+                               os_, verbose_, quiet_, true, pool_, NULL);
+                       EbwtRangeSourceDriver * dr1Fw_Fw = new EbwtRangeSourceDriver(
+                               *params, r1Fw_Fw, true, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                               0,          // seedLen
+                               false,      // nudgeLeft (true for Fw index, false for Bw)
+                               PIN_TO_HI_HALF_EDGE, // right-hand half alignment is unrevisitable
+                               PIN_TO_LEN, // "
+                               PIN_TO_LEN, // "
+                               PIN_TO_LEN, // "
+                               os_, verbose_, quiet_, true, pool_, NULL);
+
+                       dr1FwVec->push_back(dr1Fw_Bw);
+                       dr1FwVec->push_back(dr1Fw_Fw);
+               }
+
+               TRangeSrcDrPtrVec *dr1RcVec;
+               if(v1_) {
+                       dr1RcVec = new TRangeSrcDrPtrVec();
+               } else {
+                       dr1RcVec = dr1FwVec;
+               }
+               if(do1Rc) {
+                       EbwtRangeSource *r1Rc_Fw = new EbwtRangeSource(
+                               &ebwtFw_, false, 0xffffffff, true,  verbose_, quiet_, halfAndHalf, seeded, maqPenalty_, qualOrder_);
+                       EbwtRangeSource *r1Rc_Bw = new EbwtRangeSource(
+                                ebwtBw_, false, 0xffffffff, false, verbose_, quiet_, halfAndHalf, seeded, maqPenalty_, qualOrder_);
+
+                       EbwtRangeSourceDriver * dr1Rc_Fw = new EbwtRangeSourceDriver(
+                               *params, r1Rc_Fw, false, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                               0,          // seedLen
+                               true,       // nudgeLeft (true for Fw index, false for Bw)
+                               PIN_TO_HI_HALF_EDGE, // right-hand half alignment is unrevisitable
+                               PIN_TO_LEN, // "
+                               PIN_TO_LEN, // "
+                               PIN_TO_LEN, // "
+                               os_, verbose_, quiet_, true, pool_, NULL);
+                       EbwtRangeSourceDriver * dr1Rc_Bw = new EbwtRangeSourceDriver(
+                               *params, r1Rc_Bw, false, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                               0,          // seedLen (0 = whole read is seed)
+                               false,      // nudgeLeft (true for Fw index, false for Bw)
+                               PIN_TO_HI_HALF_EDGE, // right half is unrevisitable
+                               PIN_TO_LEN, // allow 1 mismatch in rest of read
+                               PIN_TO_LEN, // "
+                               PIN_TO_LEN, // "
+                               os_, verbose_, quiet_, true, pool_, NULL);
+                       dr1RcVec->push_back(dr1Rc_Fw);
+                       dr1RcVec->push_back(dr1Rc_Bw);
+               }
+
+               TRangeSrcDrPtrVec *dr2FwVec;
+               if(v1_) {
+                       dr2FwVec = new TRangeSrcDrPtrVec();
+               } else {
+                       dr2FwVec = dr1FwVec;
+               }
+               if(do2Fw) {
+                       EbwtRangeSource *r2Fw_Bw = new EbwtRangeSource(
+                                ebwtBw_, true, 0xffffffff, true,  verbose_, quiet_, halfAndHalf, seeded, maqPenalty_, qualOrder_);
+                       EbwtRangeSource *r2Fw_Fw = new EbwtRangeSource(
+                               &ebwtFw_, true, 0xffffffff, false, verbose_, quiet_, halfAndHalf, seeded, maqPenalty_, qualOrder_);
+
+                       EbwtRangeSourceDriver * dr2Fw_Bw = new EbwtRangeSourceDriver(
+                               *params, r2Fw_Bw, true, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                               0,          // seedLen (0 = whole read is seed)
+                               true,       // nudgeLeft (true for Fw index, false for Bw)
+                               PIN_TO_HI_HALF_EDGE, // right half is unrevisitable
+                               PIN_TO_LEN, // allow 1 mismatch in rest of read
+                               PIN_TO_LEN, // "
+                               PIN_TO_LEN, // "
+                               os_, verbose_, quiet_, false, pool_, NULL);
+                       EbwtRangeSourceDriver * dr2Fw_Fw = new EbwtRangeSourceDriver(
+                               *params, r2Fw_Fw, true, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                               0,          // seedLen
+                               false,      // nudgeLeft (true for Fw index, false for Bw)
+                               PIN_TO_HI_HALF_EDGE, // right-hand half alignment is unrevisitable
+                               PIN_TO_LEN, // "
+                               PIN_TO_LEN, // "
+                               PIN_TO_LEN, // "
+                               os_, verbose_, quiet_, false, pool_, NULL);
+                       dr2FwVec->push_back(dr2Fw_Bw);
+                       dr2FwVec->push_back(dr2Fw_Fw);
+               }
+
+               TRangeSrcDrPtrVec *dr2RcVec;
+               if(v1_) {
+                       dr2RcVec = new TRangeSrcDrPtrVec();
+               } else {
+                       dr2RcVec = dr1FwVec;
+               }
+               if(do2Rc) {
+                       EbwtRangeSource *r2Rc_Fw = new EbwtRangeSource(
+                               &ebwtFw_, false, 0xffffffff, true,  verbose_, quiet_, halfAndHalf, seeded, maqPenalty_, qualOrder_);
+                       EbwtRangeSource *r2Rc_Bw = new EbwtRangeSource(
+                                ebwtBw_, false, 0xffffffff, false, verbose_, quiet_, halfAndHalf, seeded, maqPenalty_, qualOrder_);
+
+                       EbwtRangeSourceDriver * dr2Rc_Fw = new EbwtRangeSourceDriver(
+                               *params, r2Rc_Fw, false, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                               0,          // seedLen
+                               true,       // nudgeLeft (true for Fw index, false for Bw)
+                               PIN_TO_HI_HALF_EDGE, // right-hand half alignment is unrevisitable
+                               PIN_TO_LEN, // "
+                               PIN_TO_LEN, // "
+                               PIN_TO_LEN, // "
+                               os_, verbose_, quiet_, false, pool_, NULL);
+                       EbwtRangeSourceDriver * dr2Rc_Bw = new EbwtRangeSourceDriver(
+                               *params, r2Rc_Bw, false, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                               0,          // seedLen (0 = whole read is seed)
+                               false,      // nudgeLeft (true for Fw index, false for Bw)
+                               PIN_TO_HI_HALF_EDGE, // right half is unrevisitable
+                               PIN_TO_LEN, // allow 1 mismatch in rest of read
+                               PIN_TO_LEN, // "
+                               PIN_TO_LEN, // "
+                               os_, verbose_, quiet_, false, pool_, NULL);
+                       dr2RcVec->push_back(dr2Rc_Fw);
+                       dr2RcVec->push_back(dr2Rc_Bw);
+               }
+
+               RefAligner<String<Dna5> >* refAligner =
+                       new OneMMRefAligner<String<Dna5> >(color_, verbose_, quiet_);
+
+               // Set up a RangeChaser
+               RangeChaser<String<Dna> > *rchase =
+                       new RangeChaser<String<Dna> >(cacheLimit_, cacheFw_, cacheBw_);
+
+               if(v1_) {
+                       PairedBWAlignerV1<EbwtRangeSource>* al = new PairedBWAlignerV1<EbwtRangeSource>(
+                               params,
+                               new TCostAwareRangeSrcDr(strandFix_, dr1FwVec, verbose_, quiet_, false),
+                               new TCostAwareRangeSrcDr(strandFix_, dr1RcVec, verbose_, quiet_, false),
+                               new TCostAwareRangeSrcDr(strandFix_, dr2FwVec, verbose_, quiet_, false),
+                               new TCostAwareRangeSrcDr(strandFix_, dr2RcVec, verbose_, quiet_, false),
+                               refAligner, rchase,
+                               sink_, sinkPtFactory_, sinkPt, mate1fw_, mate2fw_,
+                               peInner_, peOuter_, dontReconcile_, symCeil_, mixedThresh_,
+                               mixedAttemptLim_, refs_, rangeMode_, verbose_,
+                               quiet_, INT_MAX, pool_, NULL);
+                       delete dr1FwVec;
+                       delete dr1RcVec;
+                       delete dr2FwVec;
+                       delete dr2RcVec;
+                       return al;
+               } else {
+                       PairedBWAlignerV2<EbwtRangeSource>* al = new PairedBWAlignerV2<EbwtRangeSource>(
+                               params, paramsSe1, paramsSe2,
+                               new TCostAwareRangeSrcDr(strandFix_, dr1FwVec, verbose_, quiet_, true),
+                               refAligner, rchase,
+                               sink_, sinkPtFactory_,
+                               sinkPt, sinkPtSe1, sinkPtSe2,
+                               mate1fw_, mate2fw_,
+                               peInner_, peOuter_,
+                               mixedAttemptLim_, refs_, rangeMode_,
+                               verbose_, quiet_, INT_MAX, pool_, NULL);
+                       delete dr1FwVec;
+                       return al;
+               }
+       }
+
+private:
+       Ebwt<String<Dna> >& ebwtFw_;
+       Ebwt<String<Dna> >* ebwtBw_;
+       bool color_;
+       bool doFw_;
+       bool doRc_;
+       bool v1_;
+       HitSink& sink_;
+       const HitSinkPerThreadFactory& sinkPtFactory_;
+       const bool mate1fw_;
+       const bool mate2fw_;
+       const uint32_t peInner_;
+       const uint32_t peOuter_;
+       const bool dontReconcile_;
+       const uint32_t symCeil_;
+       const uint32_t mixedThresh_;
+       const uint32_t mixedAttemptLim_;
+       RangeCache *cacheFw_;
+       RangeCache *cacheBw_;
+       const uint32_t cacheLimit_;
+       ChunkPool *pool_;
+       BitPairReference* refs_;
+       vector<String<Dna5> >& os_;
+       const bool reportSe_;
+       const bool maqPenalty_;
+       const bool qualOrder_;
+       const bool strandFix_;
+       const bool rangeMode_;
+       const bool verbose_;
+       const bool quiet_;
+       const uint32_t seed_;
+};
+
+#endif /* ALIGNER_1MM_H_ */
diff --git a/aligner_23mm.h b/aligner_23mm.h
new file mode 100644 (file)
index 0000000..e79b396
--- /dev/null
@@ -0,0 +1,691 @@
+/*
+ * aligner_23mm.h
+ */
+
+#ifndef ALIGNER_23MM_H_
+#define ALIGNER_23MM_H_
+
+#include <utility>
+#include <vector>
+#include "aligner.h"
+#include "hit.h"
+#include "range_source.h"
+#include "row_chaser.h"
+#include "range_chaser.h"
+#include "ref_aligner.h"
+
+/**
+ * Concrete factory for constructing unpaired 2- or 3-mismatch aligners.
+ */
+class Unpaired23mmAlignerV1Factory : public AlignerFactory {
+       typedef RangeSourceDriver<EbwtRangeSource> TRangeSrcDr;
+       typedef CostAwareRangeSourceDriver<EbwtRangeSource> TCostAwareRangeSrcDr;
+       typedef std::vector<TRangeSrcDr*> TRangeSrcDrPtrVec;
+public:
+       Unpaired23mmAlignerV1Factory(
+                       Ebwt<String<Dna> >& ebwtFw,
+                       Ebwt<String<Dna> >* ebwtBw,
+                       bool two,
+                       bool doFw,
+                       bool doRc,
+                       HitSink& sink,
+                       const HitSinkPerThreadFactory& sinkPtFactory,
+                       RangeCache *cacheFw,
+                       RangeCache *cacheBw,
+                       uint32_t cacheLimit,
+                       ChunkPool *pool,
+                       BitPairReference* refs,
+                       vector<String<Dna5> >& os,
+                       bool maqPenalty,
+                       bool qualOrder,
+                       bool strandFix,
+                       bool rangeMode,
+                       bool verbose,
+                       bool quiet,
+                       uint32_t seed) :
+                       ebwtFw_(ebwtFw),
+                       ebwtBw_(ebwtBw),
+                       two_(two),
+                       doFw_(doFw), doRc_(doRc),
+                       sink_(sink),
+                       sinkPtFactory_(sinkPtFactory),
+                       cacheFw_(cacheFw),
+                       cacheBw_(cacheBw),
+                       cacheLimit_(cacheLimit),
+                       pool_(pool),
+                       refs_(refs),
+                       os_(os),
+                       maqPenalty_(maqPenalty),
+                       qualOrder_(qualOrder),
+                       strandFix_(strandFix),
+                       rangeMode_(rangeMode),
+                       verbose_(verbose),
+                       quiet_(quiet),
+                       seed_(seed)
+       {
+               assert(ebwtFw.isInMemory());
+               assert(ebwtBw != NULL);
+               assert(ebwtBw->isInMemory());
+       }
+
+       /**
+        * Create a new UnpairedExactAlignerV1s.
+        */
+       virtual Aligner* create() const {
+
+               HitSinkPerThread* sinkPt = sinkPtFactory_.create();
+               EbwtSearchParams<String<Dna> >* params =
+                       new EbwtSearchParams<String<Dna> >(*sinkPt, os_);
+
+               const bool seeded = false;
+
+               EbwtRangeSource *rFw_Bw = new EbwtRangeSource(
+                        ebwtBw_, true, 0xffffffff, true, verbose_, quiet_, 0, seeded, maqPenalty_, qualOrder_);
+               EbwtRangeSource *rFw_Fw = new EbwtRangeSource(
+                       &ebwtFw_, true, 0xffffffff, false, verbose_, quiet_, 0, seeded, maqPenalty_, qualOrder_);
+               EbwtRangeSource *rFw_BwHalf = new EbwtRangeSource(
+                        ebwtBw_, true, 0xffffffff, false, verbose_, quiet_, 2,  seeded, maqPenalty_, qualOrder_);
+               EbwtRangeSource *rFw_FwHalf = NULL;
+               if(!two_) {
+                       rFw_FwHalf = new EbwtRangeSource(
+                               &ebwtFw_, true, 0xffffffff, false, verbose_, quiet_, 3,  seeded, maqPenalty_, qualOrder_);
+               }
+
+               // Driver wrapper for rFw_Bw
+               EbwtRangeSourceDriver * drFw_Bw = new EbwtRangeSourceDriver(
+                       *params, rFw_Bw, true, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                       0,          // seedLen (0 = whole read is seed)
+                       true,       // nudgeLeft (true for Fw index, false for Bw)
+                       PIN_TO_HI_HALF_EDGE, // right half is unrevisitable
+                       PIN_TO_HI_HALF_EDGE, // trumped by 0-mm
+                       two_ ? PIN_TO_LEN : PIN_TO_HI_HALF_EDGE,
+                       PIN_TO_LEN,
+                       os_, verbose_, quiet_, true, pool_, NULL);
+               // Driver wrapper for rFw_Fw
+               EbwtRangeSourceDriver * drFw_Fw = new EbwtRangeSourceDriver(
+                       *params, rFw_Fw, true, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                       0,          // seedLen (0 = whole read is seed)
+                       false,      // nudgeLeft (true for Fw index, false for Bw)
+                       PIN_TO_HI_HALF_EDGE, // right half is unrevisitable
+                       PIN_TO_HI_HALF_EDGE, // trumped by 0-mm
+                       two_ ? PIN_TO_LEN : PIN_TO_HI_HALF_EDGE,
+                       PIN_TO_LEN,
+                       os_, verbose_, quiet_, true, pool_, NULL);
+               // Driver wrapper for rFw_Fw
+               EbwtRangeSourceDriver * drFw_BwHalf = new EbwtRangeSourceDriver(
+                       *params, rFw_BwHalf, true, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                       0,          // seedLen (0 = whole read is seed)
+                       true,       // nudgeLeft (true for Fw index, false for Bw)
+                       PIN_TO_BEGINNING,    // nothing's unrevisitable
+                       PIN_TO_HI_HALF_EDGE,
+                       two_ ? PIN_TO_LEN : PIN_TO_HI_HALF_EDGE,
+                       PIN_TO_LEN,
+                       os_, verbose_, quiet_, true, pool_, NULL);
+               // Driver wrapper for rFw_Fw
+               EbwtRangeSourceDriver * drFw_FwHalf = NULL;
+               if(!two_) {
+                       drFw_FwHalf = new EbwtRangeSourceDriver(
+                               *params, rFw_FwHalf, true, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                               0,          // seedLen (0 = whole read is seed)
+                               false,      // nudgeLeft (true for Fw index, false for Bw)
+                               PIN_TO_BEGINNING,    // nothing's unrevisitable
+                               PIN_TO_HI_HALF_EDGE,
+                               PIN_TO_HI_HALF_EDGE,
+                               PIN_TO_LEN,
+                               os_, verbose_, quiet_, true, pool_, NULL);
+               }
+
+               TRangeSrcDrPtrVec *drVec = new TRangeSrcDrPtrVec();
+               if(doFw_) {
+                       drVec->push_back(drFw_Bw);
+                       drVec->push_back(drFw_Fw);
+                       drVec->push_back(drFw_BwHalf);
+                       if(!two_) {
+                               drVec->push_back(drFw_FwHalf);
+                       }
+               }
+
+               EbwtRangeSource *rRc_Fw = new EbwtRangeSource(
+                       &ebwtFw_, false, 0xffffffff, true,  verbose_, quiet_, 0, seeded, maqPenalty_, qualOrder_);
+               EbwtRangeSource *rRc_Bw = new EbwtRangeSource(
+                        ebwtBw_, false, 0xffffffff, false, verbose_, quiet_, 0, seeded, maqPenalty_, qualOrder_);
+               EbwtRangeSource *rRc_FwHalf = new EbwtRangeSource(
+                       &ebwtFw_, false, 0xffffffff, false, verbose_, quiet_, 2,  seeded, maqPenalty_, qualOrder_);
+               EbwtRangeSource *rRc_BwHalf = NULL;
+               if(!two_) {
+                       rRc_BwHalf = new EbwtRangeSource(
+                                ebwtBw_, false, 0xffffffff, false, verbose_, quiet_, 3,  seeded, maqPenalty_, qualOrder_);
+               }
+
+               // Driver wrapper for rRc_Fw
+               EbwtRangeSourceDriver * drRc_Fw = new EbwtRangeSourceDriver(
+                       *params, rRc_Fw, false, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                       0,          // seedLen (0 = whole read is seed)
+                       true,       // nudgeLeft (true for Fw index, false for Bw)
+                       PIN_TO_HI_HALF_EDGE, // right half is unrevisitable
+                       PIN_TO_HI_HALF_EDGE, // trumped by 0-mm
+                       two_ ? PIN_TO_LEN : PIN_TO_HI_HALF_EDGE,
+                       PIN_TO_LEN,
+                       os_, verbose_, quiet_, true, pool_, NULL);
+               // Driver wrapper for rRc_Bw
+               EbwtRangeSourceDriver * drRc_Bw = new EbwtRangeSourceDriver(
+                       *params, rRc_Bw, false, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                       0,          // seedLen (0 = whole read is seed)
+                       false,      // nudgeLeft (true for Fw index, false for Bw)
+                       PIN_TO_HI_HALF_EDGE, // right half is unrevisitable
+                       PIN_TO_HI_HALF_EDGE, // trumped by 0-mm
+                       two_ ? PIN_TO_LEN : PIN_TO_HI_HALF_EDGE,
+                       PIN_TO_LEN,
+                       os_, verbose_, quiet_, true, pool_, NULL);
+               // Driver wrapper for rRc_Fw
+               EbwtRangeSourceDriver * drRc_FwHalf = new EbwtRangeSourceDriver(
+                       *params, rRc_FwHalf, false, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                       0,          // seedLen (0 = whole read is seed)
+                       true,       // nudgeLeft (true for Fw index, false for Bw)
+                       PIN_TO_BEGINNING,    // nothing's unrevisitable
+                       PIN_TO_HI_HALF_EDGE,
+                       two_ ? PIN_TO_LEN : PIN_TO_HI_HALF_EDGE,
+                       PIN_TO_LEN,
+                       os_, verbose_, quiet_, true, pool_, NULL);
+               EbwtRangeSourceDriver * drRc_BwHalf = NULL;
+               if(!two_) {
+                       drRc_BwHalf = new EbwtRangeSourceDriver(
+                               *params, rRc_BwHalf, false, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                               0,          // seedLen (0 = whole read is seed)
+                               false,       // nudgeLeft (true for Fw index, false for Bw)
+                               PIN_TO_BEGINNING,    // nothing's unrevisitable
+                               PIN_TO_HI_HALF_EDGE,
+                               PIN_TO_HI_HALF_EDGE,
+                               PIN_TO_LEN,
+                               os_, verbose_, quiet_, true, pool_, NULL);
+               }
+               if(doRc_) {
+                       drVec->push_back(drRc_Fw);
+                       drVec->push_back(drRc_Bw);
+                       drVec->push_back(drRc_FwHalf);
+                       if(!two_) {
+                               drVec->push_back(drRc_BwHalf);
+                       }
+               }
+               TCostAwareRangeSrcDr* dr = new TCostAwareRangeSrcDr(strandFix_, drVec, verbose_, quiet_, false);
+               delete drVec;
+
+               // Set up a RangeChaser
+               RangeChaser<String<Dna> > *rchase =
+                       new RangeChaser<String<Dna> >(cacheLimit_, cacheFw_, cacheBw_);
+
+               return new UnpairedAlignerV2<EbwtRangeSource>(
+                       params, dr, rchase,
+                       sink_, sinkPtFactory_, sinkPt, os_, refs_,
+                       rangeMode_, verbose_, quiet_, INT_MAX, pool_, NULL, NULL);
+       }
+
+private:
+       Ebwt<String<Dna> >& ebwtFw_;
+       Ebwt<String<Dna> >* ebwtBw_;
+       bool two_;
+       bool doFw_;
+       bool doRc_;
+       HitSink& sink_;
+       const HitSinkPerThreadFactory& sinkPtFactory_;
+       RangeCache *cacheFw_;
+       RangeCache *cacheBw_;
+       const uint32_t cacheLimit_;
+       ChunkPool *pool_;
+       BitPairReference* refs_;
+       vector<String<Dna5> >& os_;
+       const bool maqPenalty_;
+       const bool qualOrder_;
+       const bool strandFix_;
+       const bool rangeMode_;
+       const bool verbose_;
+       const bool quiet_;
+       uint32_t seed_;
+};
+
+/**
+ * Concrete factory for constructing paired 2- or 3-mismatch aligners.
+ */
+class Paired23mmAlignerV1Factory : public AlignerFactory {
+       typedef RangeSourceDriver<EbwtRangeSource> TRangeSrcDr;
+       typedef ListRangeSourceDriver<EbwtRangeSource> TListRangeSrcDr;
+       typedef CostAwareRangeSourceDriver<EbwtRangeSource> TCostAwareRangeSrcDr;
+       typedef std::vector<TRangeSrcDr*> TRangeSrcDrPtrVec;
+public:
+       Paired23mmAlignerV1Factory(
+                       Ebwt<String<Dna> >& ebwtFw,
+                       Ebwt<String<Dna> >* ebwtBw,
+                       bool color,
+                       bool doFw,
+                       bool doRc,
+                       bool v1,
+                       bool two,
+                       HitSink& sink,
+                       const HitSinkPerThreadFactory& sinkPtFactory,
+                       bool mate1fw,
+                       bool mate2fw,
+                       uint32_t peInner,
+                       uint32_t peOuter,
+                       bool dontReconcile,
+                       uint32_t symCeil,
+                       uint32_t mixedThresh,
+                       uint32_t mixedAttemptLim,
+                       RangeCache *cacheFw,
+                       RangeCache *cacheBw,
+                       uint32_t cacheLimit,
+                       ChunkPool *pool,
+                       BitPairReference* refs,
+                       vector<String<Dna5> >& os,
+                       bool reportSe,
+                       bool maqPenalty,
+                       bool qualOrder,
+                       bool strandFix,
+                       bool rangeMode,
+                       bool verbose,
+                       bool quiet,
+                       uint32_t seed) :
+                       ebwtFw_(ebwtFw),
+                       ebwtBw_(ebwtBw),
+                       color_(color),
+                       doFw_(doFw),
+                       doRc_(doRc),
+                       v1_(v1),
+                       two_(two),
+                       sink_(sink),
+                       sinkPtFactory_(sinkPtFactory),
+                       mate1fw_(mate1fw),
+                       mate2fw_(mate2fw),
+                       peInner_(peInner),
+                       peOuter_(peOuter),
+                       dontReconcile_(dontReconcile),
+                       symCeil_(symCeil),
+                       mixedThresh_(mixedThresh),
+                       mixedAttemptLim_(mixedAttemptLim),
+                       cacheFw_(cacheFw),
+                       cacheBw_(cacheBw),
+                       cacheLimit_(cacheLimit),
+                       pool_(pool),
+                       refs_(refs), os_(os),
+                       reportSe_(reportSe),
+                       maqPenalty_(maqPenalty),
+                       qualOrder_(qualOrder),
+                       strandFix_(strandFix),
+                       rangeMode_(rangeMode),
+                       verbose_(verbose),
+                       quiet_(quiet),
+                       seed_(seed)
+       {
+               assert(ebwtBw != NULL);
+               assert(ebwtFw.isInMemory());
+               assert(ebwtBw->isInMemory());
+       }
+
+       /**
+        * Create a new UnpairedExactAlignerV1s.
+        */
+       virtual Aligner* create() const {
+               HitSinkPerThread* sinkPt = sinkPtFactory_.createMult(2);
+               HitSinkPerThread* sinkPtSe1 = NULL, * sinkPtSe2 = NULL;
+               EbwtSearchParams<String<Dna> >* params =
+                       new EbwtSearchParams<String<Dna> >(*sinkPt, os_);
+               EbwtSearchParams<String<Dna> >* paramsSe1 = NULL, * paramsSe2 = NULL;
+               if(reportSe_) {
+                       sinkPtSe1 = sinkPtFactory_.create();
+                       sinkPtSe2 = sinkPtFactory_.create();
+                       paramsSe1 =
+                               new EbwtSearchParams<String<Dna> >(*sinkPtSe1, os_);
+                       paramsSe2 =
+                               new EbwtSearchParams<String<Dna> >(*sinkPtSe2, os_);
+               }
+
+               const bool seeded = false;
+
+               bool do1Fw = true;
+               bool do1Rc = true;
+               bool do2Fw = true;
+               bool do2Rc = true;
+               if(!doFw_) {
+                       if(mate1fw_) do1Fw = false;
+                       else         do1Rc = false;
+                       if(mate2fw_) do2Fw = false;
+                       else         do2Rc = false;
+               }
+               if(!doRc_) {
+                       if(mate1fw_) do1Rc = false;
+                       else         do1Fw = false;
+                       if(mate2fw_) do2Rc = false;
+                       else         do2Fw = false;
+               }
+
+               TRangeSrcDrPtrVec *dr1FwVec = new TRangeSrcDrPtrVec();
+
+               if(do1Fw) {
+                       EbwtRangeSource *r1Fw_Bw = new EbwtRangeSource(
+                                ebwtBw_, true, 0xffffffff, true,  verbose_, quiet_, 0, seeded, maqPenalty_, qualOrder_);
+                       EbwtRangeSource *r1Fw_Fw = new EbwtRangeSource(
+                               &ebwtFw_, true, 0xffffffff, false, verbose_, quiet_, 0, seeded, maqPenalty_, qualOrder_);
+                       EbwtRangeSource *r1Fw_BwHalf = new EbwtRangeSource(
+                                ebwtBw_, true, 0xffffffff, false, verbose_, quiet_, 2, seeded, maqPenalty_, qualOrder_);
+                       EbwtRangeSource *r1Fw_FwHalf = two_ ? NULL : new EbwtRangeSource(
+                               &ebwtFw_, true, 0xffffffff, false, verbose_, quiet_, 3, seeded, maqPenalty_, qualOrder_);
+
+                       // Driver wrapper for rFw_Bw
+                       EbwtRangeSourceDriver * dr1Fw_Bw = new EbwtRangeSourceDriver(
+                               *params, r1Fw_Bw, true, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                               0,          // seedLen (0 = whole read is seed)
+                               true,      // nudgeLeft (true for Fw index, false for Bw)
+                               PIN_TO_HI_HALF_EDGE, // right half is unrevisitable
+                               PIN_TO_HI_HALF_EDGE, // trumped by 0-mm
+                               two_ ? PIN_TO_LEN : PIN_TO_HI_HALF_EDGE,
+                               PIN_TO_LEN,
+                               os_, verbose_, quiet_, true, pool_, NULL);
+                       // Driver wrapper for rFw_Fw
+                       EbwtRangeSourceDriver * dr1Fw_Fw = new EbwtRangeSourceDriver(
+                               *params, r1Fw_Fw, true, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                               0,          // seedLen (0 = whole read is seed)
+                               false,       // nudgeLeft (true for Fw index, false for Bw)
+                               PIN_TO_HI_HALF_EDGE, // right half is unrevisitable
+                               PIN_TO_HI_HALF_EDGE, // trumped by 0-mm
+                               two_ ? PIN_TO_LEN : PIN_TO_HI_HALF_EDGE,
+                               PIN_TO_LEN,
+                               os_, verbose_, quiet_, true, pool_, NULL);
+                       // Driver wrapper for rFw_Fw
+                       EbwtRangeSourceDriver * dr1Fw_BwHalf = new EbwtRangeSourceDriver(
+                               *params, r1Fw_BwHalf, true, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                               0,          // seedLen (0 = whole read is seed)
+                               true,       // nudgeLeft (true for Fw index, false for Bw)
+                               PIN_TO_BEGINNING,    // nothing's unrevisitable
+                               PIN_TO_HI_HALF_EDGE,
+                               two_ ? PIN_TO_LEN : PIN_TO_HI_HALF_EDGE,
+                               PIN_TO_LEN,
+                               os_, verbose_, quiet_, true, pool_, NULL);
+                       dr1FwVec->push_back(dr1Fw_Bw);
+                       dr1FwVec->push_back(dr1Fw_Fw);
+                       dr1FwVec->push_back(dr1Fw_BwHalf);
+                       if(!two_) {
+                               // Driver wrapper for rFw_Fw
+                               EbwtRangeSourceDriver * dr1Fw_FwHalf = two_ ? NULL : new EbwtRangeSourceDriver(
+                                       *params, r1Fw_FwHalf, true, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                                       0,          // seedLen (0 = whole read is seed)
+                                       false,       // nudgeLeft (true for Fw index, false for Bw)
+                                       PIN_TO_BEGINNING,    // nothing's unrevisitable
+                                       PIN_TO_BEGINNING,
+                                       PIN_TO_HI_HALF_EDGE,
+                                       PIN_TO_LEN,
+                                       os_, verbose_, quiet_, true, pool_, NULL);
+                               dr1FwVec->push_back(dr1Fw_FwHalf);
+                       }
+               }
+
+               TRangeSrcDrPtrVec *dr1RcVec;
+               if(v1_) {
+                       dr1RcVec = new TRangeSrcDrPtrVec();
+               } else {
+                       dr1RcVec = dr1FwVec;
+               }
+
+               if(do1Rc) {
+                       EbwtRangeSource *r1Rc_Fw = new EbwtRangeSource(
+                               &ebwtFw_, false, 0xffffffff, true,  verbose_, quiet_, 0, seeded, maqPenalty_, qualOrder_);
+                       EbwtRangeSource *r1Rc_Bw = new EbwtRangeSource(
+                                ebwtBw_, false, 0xffffffff, false, verbose_, quiet_, 0, seeded, maqPenalty_, qualOrder_);
+                       EbwtRangeSource *r1Rc_FwHalf = new EbwtRangeSource(
+                               &ebwtFw_, false, 0xffffffff, false, verbose_, quiet_, 2, seeded, maqPenalty_, qualOrder_);
+                       EbwtRangeSource *r1Rc_BwHalf = two_ ? NULL : new EbwtRangeSource(
+                                ebwtBw_, false, 0xffffffff, false, verbose_, quiet_, 3, seeded, maqPenalty_, qualOrder_);
+
+                       // Driver wrapper for rRc_Fw
+                       EbwtRangeSourceDriver * dr1Rc_Fw = new EbwtRangeSourceDriver(
+                               *params, r1Rc_Fw, false, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                               0,          // seedLen (0 = whole read is seed)
+                               true,       // nudgeLeft (true for Fw index, false for Bw)
+                               PIN_TO_HI_HALF_EDGE, // right half is unrevisitable
+                               PIN_TO_HI_HALF_EDGE, // trumped by 0-mm
+                               two_ ? PIN_TO_LEN : PIN_TO_HI_HALF_EDGE,
+                               PIN_TO_LEN,
+                               os_, verbose_, quiet_, true, pool_, NULL);
+                       // Driver wrapper for rRc_Bw
+                       EbwtRangeSourceDriver * dr1Rc_Bw = new EbwtRangeSourceDriver(
+                               *params, r1Rc_Bw, false, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                               0,          // seedLen (0 = whole read is seed)
+                               false,      // nudgeLeft (true for Fw index, false for Bw)
+                               PIN_TO_HI_HALF_EDGE, // right half is unrevisitable
+                               PIN_TO_HI_HALF_EDGE, // trumped by 0-mm
+                               two_ ? PIN_TO_LEN : PIN_TO_HI_HALF_EDGE,
+                               PIN_TO_LEN,
+                               os_, verbose_, quiet_, true, pool_, NULL);
+                       // Driver wrapper for rRc_Fw
+                       EbwtRangeSourceDriver * dr1Rc_FwHalf = new EbwtRangeSourceDriver(
+                               *params, r1Rc_FwHalf, false, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                               0,          // seedLen (0 = whole read is seed)
+                               true,       // nudgeLeft (true for Fw index, false for Bw)
+                               PIN_TO_BEGINNING,
+                               PIN_TO_HI_HALF_EDGE,
+                               two_ ? PIN_TO_LEN : PIN_TO_HI_HALF_EDGE,
+                               PIN_TO_LEN,
+                               os_, verbose_, quiet_, true, pool_, NULL);
+                       dr1RcVec->push_back(dr1Rc_Fw);
+                       dr1RcVec->push_back(dr1Rc_Bw);
+                       dr1RcVec->push_back(dr1Rc_FwHalf);
+                       if(!two_) {
+                               // Driver wrapper for rRc_Bw
+                               EbwtRangeSourceDriver * dr1Rc_BwHalf = two_ ? NULL : new EbwtRangeSourceDriver(
+                                       *params, r1Rc_BwHalf, false, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                                       0,          // seedLen (0 = whole read is seed)
+                                       false,       // nudgeLeft (true for Fw index, false for Bw)
+                                       PIN_TO_BEGINNING,
+                                       PIN_TO_HI_HALF_EDGE,
+                                       PIN_TO_HI_HALF_EDGE,
+                                       PIN_TO_LEN,
+                                       os_, verbose_, quiet_, true, pool_, NULL);
+                               dr1RcVec->push_back(dr1Rc_BwHalf);
+                       }
+               }
+
+               TRangeSrcDrPtrVec *dr2FwVec;
+               if(v1_) {
+                       dr2FwVec = new TRangeSrcDrPtrVec();
+               } else {
+                       dr2FwVec = dr1FwVec;
+               }
+
+               if(do2Fw) {
+                       EbwtRangeSource *r2Fw_Bw = new EbwtRangeSource(
+                                ebwtBw_, true, 0xffffffff, true,  verbose_, quiet_, 0, seeded, maqPenalty_, qualOrder_);
+                       EbwtRangeSource *r2Fw_Fw = new EbwtRangeSource(
+                               &ebwtFw_, true, 0xffffffff, false, verbose_, quiet_, 0, seeded, maqPenalty_, qualOrder_);
+                       EbwtRangeSource *r2Fw_BwHalf = new EbwtRangeSource(
+                                ebwtBw_, true, 0xffffffff, false, verbose_, quiet_, 2, seeded, maqPenalty_, qualOrder_);
+                       EbwtRangeSource *r2Fw_FwHalf = two_ ? NULL : new EbwtRangeSource(
+                               &ebwtFw_, true, 0xffffffff, false, verbose_, quiet_, 3, seeded, maqPenalty_, qualOrder_);
+
+                       // Driver wrapper for rFw_Bw
+                       EbwtRangeSourceDriver * dr2Fw_Bw = new EbwtRangeSourceDriver(
+                               *params, r2Fw_Bw, true, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                               0,          // seedLen (0 = whole read is seed)
+                               true,       // nudgeLeft (true for Fw index, false for Bw)
+                               PIN_TO_HI_HALF_EDGE, // right half is unrevisitable
+                               PIN_TO_HI_HALF_EDGE, // trumped by 0-mm
+                               two_ ? PIN_TO_LEN : PIN_TO_HI_HALF_EDGE,
+                               PIN_TO_LEN,
+                               os_, verbose_, quiet_, false, pool_, NULL);
+                       // Driver wrapper for rFw_Fw
+                       EbwtRangeSourceDriver * dr2Fw_Fw = new EbwtRangeSourceDriver(
+                               *params, r2Fw_Fw, true, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                               0,          // seedLen (0 = whole read is seed)
+                               false,      // nudgeLeft (true for Fw index, false for Bw)
+                               PIN_TO_HI_HALF_EDGE, // right half is unrevisitable
+                               PIN_TO_HI_HALF_EDGE, // trumped by 0-mm
+                               two_ ? PIN_TO_LEN : PIN_TO_HI_HALF_EDGE,
+                               PIN_TO_LEN,
+                               os_, verbose_, quiet_, false, pool_, NULL);
+                       // Driver wrapper for rFw_Fw
+                       EbwtRangeSourceDriver * dr2Fw_BwHalf = new EbwtRangeSourceDriver(
+                               *params, r2Fw_BwHalf, true, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                               0,          // seedLen (0 = whole read is seed)
+                               true,       // nudgeLeft (true for Fw index, false for Bw)
+                               PIN_TO_BEGINNING,    // nothing's unrevisitable
+                               PIN_TO_HI_HALF_EDGE,
+                               two_ ? PIN_TO_LEN : PIN_TO_HI_HALF_EDGE,
+                               PIN_TO_LEN,
+                               os_, verbose_, quiet_, false, pool_, NULL);
+                       dr2FwVec->push_back(dr2Fw_Bw);
+                       dr2FwVec->push_back(dr2Fw_Fw);
+                       dr2FwVec->push_back(dr2Fw_BwHalf);
+                       if(!two_) {
+                               EbwtRangeSourceDriver * dr2Fw_FwHalf = two_ ? NULL : new EbwtRangeSourceDriver(
+                                       *params, r2Fw_FwHalf, true, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                                       0,          // seedLen (0 = whole read is seed)
+                                       false,       // nudgeLeft (true for Fw index, false for Bw)
+                                       PIN_TO_BEGINNING,    // nothing's unrevisitable
+                                       PIN_TO_BEGINNING,
+                                       PIN_TO_HI_HALF_EDGE,
+                                       PIN_TO_LEN,
+                                       os_, verbose_, quiet_, false, pool_, NULL);
+                               dr2FwVec->push_back(dr2Fw_FwHalf);
+                       }
+               }
+
+               TRangeSrcDrPtrVec *dr2RcVec;
+               if(v1_) {
+                       dr2RcVec = new TRangeSrcDrPtrVec();
+               } else {
+                       dr2RcVec = dr1FwVec;
+               }
+
+               if(do2Rc) {
+                       EbwtRangeSource *r2Rc_Fw = new EbwtRangeSource(
+                               &ebwtFw_, false, 0xffffffff, true,  verbose_, quiet_, 0, seeded, maqPenalty_, qualOrder_);
+                       EbwtRangeSource *r2Rc_Bw = new EbwtRangeSource(
+                                ebwtBw_, false, 0xffffffff, false, verbose_, quiet_, 0, seeded, maqPenalty_, qualOrder_);
+                       EbwtRangeSource *r2Rc_FwHalf = new EbwtRangeSource(
+                               &ebwtFw_, false, 0xffffffff, false, verbose_, quiet_, 2,  seeded, maqPenalty_, qualOrder_);
+                       EbwtRangeSource *r2Rc_BwHalf = two_ ? NULL : new EbwtRangeSource(
+                                ebwtBw_, false, 0xffffffff, false, verbose_, quiet_, 3,  seeded, maqPenalty_, qualOrder_);
+
+                       // Driver wrapper for rRc_Fw
+                       EbwtRangeSourceDriver * dr2Rc_Fw = new EbwtRangeSourceDriver(
+                               *params, r2Rc_Fw, false, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                               0,          // seedLen (0 = whole read is seed)
+                               true,       // nudgeLeft (true for Fw index, false for Bw)
+                               PIN_TO_HI_HALF_EDGE, // right half is unrevisitable
+                               PIN_TO_HI_HALF_EDGE, // trumped by 0-mm
+                               two_ ? PIN_TO_LEN : PIN_TO_HI_HALF_EDGE,
+                               PIN_TO_LEN,
+                               os_, verbose_, quiet_, false, pool_, NULL);
+                       // Driver wrapper for rRc_Bw
+                       EbwtRangeSourceDriver * dr2Rc_Bw = new EbwtRangeSourceDriver(
+                               *params, r2Rc_Bw, false, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                               0,          // seedLen (0 = whole read is seed)
+                               false,      // nudgeLeft (true for Fw index, false for Bw)
+                               PIN_TO_HI_HALF_EDGE, // right half is unrevisitable
+                               PIN_TO_HI_HALF_EDGE, // trumped by 0-mm
+                               two_ ? PIN_TO_LEN : PIN_TO_HI_HALF_EDGE,
+                               PIN_TO_LEN,
+                               os_, verbose_, quiet_, false, pool_, NULL);
+                       // Driver wrapper for rRc_Fw
+                       EbwtRangeSourceDriver * dr2Rc_FwHalf = new EbwtRangeSourceDriver(
+                               *params, r2Rc_FwHalf, false, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                               0,          // seedLen (0 = whole read is seed)
+                               true,       // nudgeLeft (true for Fw index, false for Bw)
+                               PIN_TO_BEGINNING,    // nothing's unrevisitable
+                               PIN_TO_HI_HALF_EDGE,
+                               two_ ? PIN_TO_LEN : PIN_TO_HI_HALF_EDGE,
+                               PIN_TO_LEN,
+                               os_, verbose_, quiet_, false, pool_, NULL);
+                       dr2RcVec->push_back(dr2Rc_Fw);
+                       dr2RcVec->push_back(dr2Rc_Bw);
+                       dr2RcVec->push_back(dr2Rc_FwHalf);
+                       if(!two_) {
+                               EbwtRangeSourceDriver * dr2Rc_BwHalf = two_ ? NULL : new EbwtRangeSourceDriver(
+                                       *params, r2Rc_BwHalf, false, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                                       0,          // seedLen (0 = whole read is seed)
+                                       false,       // nudgeLeft (true for Fw index, false for Bw)
+                                       PIN_TO_BEGINNING,    // nothing's unrevisitable
+                                       PIN_TO_BEGINNING,
+                                       PIN_TO_HI_HALF_EDGE,
+                                       PIN_TO_LEN,
+                                       os_, verbose_, quiet_, false, pool_, NULL);
+                               dr2RcVec->push_back(dr2Rc_BwHalf);
+                       }
+               }
+
+               RefAligner<String<Dna5> >* refAligner;
+               if(two_) {
+                       refAligner = new TwoMMRefAligner<String<Dna5> >(color_, verbose_, quiet_);
+               } else {
+                       refAligner = new ThreeMMRefAligner<String<Dna5> >(color_, verbose_, quiet_);
+               }
+
+               // Set up a RangeChaser
+               RangeChaser<String<Dna> > *rchase =
+                       new RangeChaser<String<Dna> >(cacheLimit_, cacheFw_, cacheBw_);
+
+               if(v1_) {
+                       PairedBWAlignerV1<EbwtRangeSource> *al = new PairedBWAlignerV1<EbwtRangeSource>(
+                               params,
+                               new TCostAwareRangeSrcDr(strandFix_, dr1FwVec, verbose_, quiet_, false),
+                               new TCostAwareRangeSrcDr(strandFix_, dr1RcVec, verbose_, quiet_, false),
+                               new TCostAwareRangeSrcDr(strandFix_, dr2FwVec, verbose_, quiet_, false),
+                               new TCostAwareRangeSrcDr(strandFix_, dr2RcVec, verbose_, quiet_, false),
+                               refAligner, rchase,
+                               sink_, sinkPtFactory_, sinkPt, mate1fw_, mate2fw_,
+                               peInner_, peOuter_, dontReconcile_, symCeil_, mixedThresh_,
+                               mixedAttemptLim_, refs_, rangeMode_, verbose_,
+                               quiet_, INT_MAX, pool_, NULL);
+                       delete dr1FwVec;
+                       delete dr1RcVec;
+                       delete dr2FwVec;
+                       delete dr2RcVec;
+                       return al;
+               } else {
+                       PairedBWAlignerV2<EbwtRangeSource>* al = new PairedBWAlignerV2<EbwtRangeSource>(
+                               params, paramsSe1, paramsSe2,
+                               new TCostAwareRangeSrcDr(strandFix_, dr1FwVec, verbose_, quiet_, true),
+                               refAligner, rchase,
+                               sink_, sinkPtFactory_,
+                               sinkPt, sinkPtSe1, sinkPtSe2,
+                               mate1fw_, mate2fw_,
+                               peInner_, peOuter_,
+                               mixedAttemptLim_, refs_, rangeMode_,
+                               verbose_, quiet_, INT_MAX, pool_, NULL);
+                       delete dr1FwVec;
+                       return al;
+               }
+       }
+
+private:
+       Ebwt<String<Dna> >& ebwtFw_;
+       Ebwt<String<Dna> >* ebwtBw_;
+       bool color_;
+       bool doFw_;
+       bool doRc_;
+       bool v1_;
+       bool two_;
+       HitSink& sink_;
+       const HitSinkPerThreadFactory& sinkPtFactory_;
+       const bool mate1fw_;
+       const bool mate2fw_;
+       const uint32_t peInner_;
+       const uint32_t peOuter_;
+       const bool dontReconcile_;
+       const uint32_t symCeil_;
+       const uint32_t mixedThresh_;
+       const uint32_t mixedAttemptLim_;
+       RangeCache *cacheFw_;
+       RangeCache *cacheBw_;
+       const uint32_t cacheLimit_;
+       ChunkPool *pool_;
+       BitPairReference* refs_;
+       vector<String<Dna5> >& os_;
+       const bool reportSe_;
+       const bool maqPenalty_;
+       const bool qualOrder_;
+       const bool strandFix_;
+       const bool rangeMode_;
+       const bool verbose_;
+       const bool quiet_;
+       const uint32_t seed_;
+};
+
+#endif /* ALIGNER_23MM_H_ */
diff --git a/aligner_metrics.h b/aligner_metrics.h
new file mode 100644 (file)
index 0000000..b5244f4
--- /dev/null
@@ -0,0 +1,336 @@
+/*
+ * aligner_metrics.h
+ */
+
+#ifndef ALIGNER_METRICS_H_
+#define ALIGNER_METRICS_H_
+
+#include <math.h>
+#include <iostream>
+#include <seqan/sequence.h>
+#include "alphabet.h"
+#include "timer.h"
+
+using namespace std;
+
+/**
+ * Borrowed from http://www.johndcook.com/standard_deviation.html,
+ * which in turn is borrowed from Knuth.
+ */
+class RunningStat {
+public:
+       RunningStat() : m_n(0), m_tot(0.0) { }
+
+       void clear() {
+               m_n = 0;
+               m_tot = 0.0;
+       }
+
+       void push(float x) {
+               m_n++;
+               m_tot += x;
+               // See Knuth TAOCP vol 2, 3rd edition, page 232
+               if (m_n == 1) {
+                       m_oldM = m_newM = x;
+                       m_oldS = 0.0;
+               } else {
+                       m_newM = m_oldM + (x - m_oldM)/m_n;
+                       m_newS = m_oldS + (x - m_oldM)*(x - m_newM);
+                       // set up for next iteration
+                       m_oldM = m_newM;
+                       m_oldS = m_newS;
+               }
+       }
+
+       int num() const {
+               return m_n;
+       }
+
+       double tot() const {
+               return m_tot;
+       }
+
+       double mean() const {
+               return (m_n > 0) ? m_newM : 0.0;
+       }
+
+       double variance() const {
+               return ( (m_n > 1) ? m_newS/(m_n - 1) : 0.0 );
+       }
+
+       double stddev() const {
+               return sqrt(variance());
+       }
+
+private:
+       int m_n;
+       double m_tot;
+       double m_oldM, m_newM, m_oldS, m_newS;
+};
+
+/**
+ * Encapsulates a set of metrics that we would like an aligner to keep
+ * track of, so that we can possibly use it to diagnose performance
+ * issues.
+ */
+class AlignerMetrics {
+
+public:
+
+       AlignerMetrics() :
+               curBacktracks_(0),
+               curBwtOps_(0),
+               first_(true),
+               curIsLowEntropy_(false),
+               curIsHomoPoly_(false),
+               curHadRanges_(false),
+               curNumNs_(0),
+               reads_(0),
+               homoReads_(0),
+               lowEntReads_(0),
+               hiEntReads_(0),
+               alignedReads_(0),
+               unalignedReads_(0),
+               threeOrMoreNReads_(0),
+               lessThanThreeNRreads_(0),
+               bwtOpsPerRead_(),
+               backtracksPerRead_(),
+               bwtOpsPerHomoRead_(),
+               backtracksPerHomoRead_(),
+               bwtOpsPerLoEntRead_(),
+               backtracksPerLoEntRead_(),
+               bwtOpsPerHiEntRead_(),
+               backtracksPerHiEntRead_(),
+               bwtOpsPerAlignedRead_(),
+               backtracksPerAlignedRead_(),
+               bwtOpsPerUnalignedRead_(),
+               backtracksPerUnalignedRead_(),
+               bwtOpsPer0nRead_(),
+               backtracksPer0nRead_(),
+               bwtOpsPer1nRead_(),
+               backtracksPer1nRead_(),
+               bwtOpsPer2nRead_(),
+               backtracksPer2nRead_(),
+               bwtOpsPer3orMoreNRead_(),
+               backtracksPer3orMoreNRead_(),
+               timer_(cout, "", false)
+               { }
+
+       void printSummary() {
+               if(!first_) {
+                       finishRead();
+               }
+               cout << "AlignerMetrics:" << endl;
+               cout << "  # Reads:             " << reads_ << endl;
+               float hopct = (reads_ > 0) ? (((float)homoReads_)/((float)reads_)) : (0.0);
+               hopct *= 100.0;
+               cout << "  % homo-polymeric:    " << (hopct) << endl;
+               float lopct = (reads_ > 0) ? ((float)lowEntReads_/(float)(reads_)) : (0.0);
+               lopct *= 100.0;
+               cout << "  % low-entropy:       " << (lopct) << endl;
+               float unpct = (reads_ > 0) ? ((float)unalignedReads_/(float)(reads_)) : (0.0);
+               unpct *= 100.0;
+               cout << "  % unaligned:         " << (unpct) << endl;
+               float npct = (reads_ > 0) ? ((float)threeOrMoreNReads_/(float)(reads_)) : (0.0);
+               npct *= 100.0;
+               cout << "  % with 3 or more Ns: " << (npct) << endl;
+               cout << endl;
+               cout << "  Total BWT ops:    avg: " << bwtOpsPerRead_.mean() << ", stddev: " << bwtOpsPerRead_.stddev() << endl;
+               cout << "  Total Backtracks: avg: " << backtracksPerRead_.mean() << ", stddev: " << backtracksPerRead_.stddev() << endl;
+               time_t elapsed = timer_.elapsed();
+               cout << "  BWT ops per second:    " << (bwtOpsPerRead_.tot()/elapsed) << endl;
+               cout << "  Backtracks per second: " << (backtracksPerRead_.tot()/elapsed) << endl;
+               cout << endl;
+               cout << "  Homo-poly:" << endl;
+               cout << "    BWT ops:    avg: " << bwtOpsPerHomoRead_.mean() << ", stddev: " << bwtOpsPerHomoRead_.stddev() << endl;
+               cout << "    Backtracks: avg: " << backtracksPerHomoRead_.mean() << ", stddev: " << backtracksPerHomoRead_.stddev() << endl;
+               cout << "  Low-entropy:" << endl;
+               cout << "    BWT ops:    avg: " << bwtOpsPerLoEntRead_.mean() << ", stddev: " << bwtOpsPerLoEntRead_.stddev() << endl;
+               cout << "    Backtracks: avg: " << backtracksPerLoEntRead_.mean() << ", stddev: " << backtracksPerLoEntRead_.stddev() << endl;
+               cout << "  High-entropy:" << endl;
+               cout << "    BWT ops:    avg: " << bwtOpsPerHiEntRead_.mean() << ", stddev: " << bwtOpsPerHiEntRead_.stddev() << endl;
+               cout << "    Backtracks: avg: " << backtracksPerHiEntRead_.mean() << ", stddev: " << backtracksPerHiEntRead_.stddev() << endl;
+               cout << endl;
+               cout << "  Unaligned:" << endl;
+               cout << "    BWT ops:    avg: " << bwtOpsPerUnalignedRead_.mean() << ", stddev: " << bwtOpsPerUnalignedRead_.stddev() << endl;
+               cout << "    Backtracks: avg: " << backtracksPerUnalignedRead_.mean() << ", stddev: " << backtracksPerUnalignedRead_.stddev() << endl;
+               cout << "  Aligned:" << endl;
+               cout << "    BWT ops:    avg: " << bwtOpsPerAlignedRead_.mean() << ", stddev: " << bwtOpsPerAlignedRead_.stddev() << endl;
+               cout << "    Backtracks: avg: " << backtracksPerAlignedRead_.mean() << ", stddev: " << backtracksPerAlignedRead_.stddev() << endl;
+               cout << endl;
+               cout << "  0 Ns:" << endl;
+               cout << "    BWT ops:    avg: " << bwtOpsPer0nRead_.mean() << ", stddev: " << bwtOpsPer0nRead_.stddev() << endl;
+               cout << "    Backtracks: avg: " << backtracksPer0nRead_.mean() << ", stddev: " << backtracksPer0nRead_.stddev() << endl;
+               cout << "  1 N:" << endl;
+               cout << "    BWT ops:    avg: " << bwtOpsPer1nRead_.mean() << ", stddev: " << bwtOpsPer1nRead_.stddev() << endl;
+               cout << "    Backtracks: avg: " << backtracksPer1nRead_.mean() << ", stddev: " << backtracksPer1nRead_.stddev() << endl;
+               cout << "  2 Ns:" << endl;
+               cout << "    BWT ops:    avg: " << bwtOpsPer2nRead_.mean() << ", stddev: " << bwtOpsPer2nRead_.stddev() << endl;
+               cout << "    Backtracks: avg: " << backtracksPer2nRead_.mean() << ", stddev: " << backtracksPer2nRead_.stddev() << endl;
+               cout << "  >2 Ns:" << endl;
+               cout << "    BWT ops:    avg: " << bwtOpsPer3orMoreNRead_.mean() << ", stddev: " << bwtOpsPer3orMoreNRead_.stddev() << endl;
+               cout << "    Backtracks: avg: " << backtracksPer3orMoreNRead_.mean() << ", stddev: " << backtracksPer3orMoreNRead_.stddev() << endl;
+               cout << endl;
+       }
+
+       /**
+        *
+        */
+       void nextRead(const seqan::String<seqan::Dna5>& read) {
+               if(!first_) {
+                       finishRead();
+               }
+               first_ = false;
+               float ent = entropyDna5(read);
+               curIsLowEntropy_ = (ent < 0.75f);
+               curIsHomoPoly_ = (ent < 0.001f);
+               curHadRanges_ = false;
+               curBwtOps_ = 0;
+               curBacktracks_ = 0;
+               // Count Ns
+               curNumNs_ = 0;
+               const size_t len = seqan::length(read);
+               for(size_t i = 0; i < len; i++) {
+                       if((int)read[i] == 4) curNumNs_++;
+               }
+       }
+
+       /**
+        *
+        */
+       void setReadHasRange() {
+               curHadRanges_ = true;
+       }
+
+       /**
+        * Commit the running statistics for this read to
+        */
+       void finishRead() {
+               reads_++;
+               if(curIsHomoPoly_) homoReads_++;
+               else if(curIsLowEntropy_) lowEntReads_++;
+               else hiEntReads_++;
+               if(curHadRanges_) alignedReads_++;
+               else unalignedReads_++;
+               bwtOpsPerRead_.push((float)curBwtOps_);
+               backtracksPerRead_.push((float)curBacktracks_);
+               // Drill down by entropy
+               if(curIsHomoPoly_) {
+                       bwtOpsPerHomoRead_.push((float)curBwtOps_);
+                       backtracksPerHomoRead_.push((float)curBacktracks_);
+               } else if(curIsLowEntropy_) {
+                       bwtOpsPerLoEntRead_.push((float)curBwtOps_);
+                       backtracksPerLoEntRead_.push((float)curBacktracks_);
+               } else {
+                       bwtOpsPerHiEntRead_.push((float)curBwtOps_);
+                       backtracksPerHiEntRead_.push((float)curBacktracks_);
+               }
+               // Drill down by whether it aligned
+               if(curHadRanges_) {
+                       bwtOpsPerAlignedRead_.push((float)curBwtOps_);
+                       backtracksPerAlignedRead_.push((float)curBacktracks_);
+               } else {
+                       bwtOpsPerUnalignedRead_.push((float)curBwtOps_);
+                       backtracksPerUnalignedRead_.push((float)curBacktracks_);
+               }
+               if(curNumNs_ == 0) {
+                       lessThanThreeNRreads_++;
+                       bwtOpsPer0nRead_.push((float)curBwtOps_);
+                       backtracksPer0nRead_.push((float)curBacktracks_);
+               } else if(curNumNs_ == 1) {
+                       lessThanThreeNRreads_++;
+                       bwtOpsPer1nRead_.push((float)curBwtOps_);
+                       backtracksPer1nRead_.push((float)curBacktracks_);
+               } else if(curNumNs_ == 2) {
+                       lessThanThreeNRreads_++;
+                       bwtOpsPer2nRead_.push((float)curBwtOps_);
+                       backtracksPer2nRead_.push((float)curBacktracks_);
+               } else {
+                       threeOrMoreNReads_++;
+                       bwtOpsPer3orMoreNRead_.push((float)curBwtOps_);
+                       backtracksPer3orMoreNRead_.push((float)curBacktracks_);
+               }
+       }
+
+       // Running-total of the number of backtracks and BWT ops for the
+       // current read
+       uint32_t curBacktracks_;
+       uint32_t curBwtOps_;
+
+protected:
+
+       bool first_;
+
+       // true iff the current read is low entropy
+       bool curIsLowEntropy_;
+       // true if current read is all 1 char (or very close)
+       bool curIsHomoPoly_;
+       // true iff the current read has had one or more ranges reported
+       bool curHadRanges_;
+       // number of Ns in current read
+       int curNumNs_;
+
+       // # reads
+       uint32_t reads_;
+       // # homo-poly reads
+       uint32_t homoReads_;
+       // # low-entropy reads
+       uint32_t lowEntReads_;
+       // # high-entropy reads
+       uint32_t hiEntReads_;
+       // # reads with alignments
+       uint32_t alignedReads_;
+       // # reads without alignments
+       uint32_t unalignedReads_;
+       // # reads with 3 or more Ns
+       uint32_t threeOrMoreNReads_;
+       // # reads with < 3 Ns
+       uint32_t lessThanThreeNRreads_;
+
+       // Distribution of BWT operations per read
+       RunningStat bwtOpsPerRead_;
+       RunningStat backtracksPerRead_;
+
+       // Distribution of BWT operations per homo-poly read
+       RunningStat bwtOpsPerHomoRead_;
+       RunningStat backtracksPerHomoRead_;
+
+       // Distribution of BWT operations per low-entropy read
+       RunningStat bwtOpsPerLoEntRead_;
+       RunningStat backtracksPerLoEntRead_;
+
+       // Distribution of BWT operations per high-entropy read
+       RunningStat bwtOpsPerHiEntRead_;
+       RunningStat backtracksPerHiEntRead_;
+
+       // Distribution of BWT operations per read that "aligned" (for
+       // which a range was arrived at - range may not have necessarily
+       // lead to an alignment)
+       RunningStat bwtOpsPerAlignedRead_;
+       RunningStat backtracksPerAlignedRead_;
+
+       // Distribution of BWT operations per read that didn't align
+       RunningStat bwtOpsPerUnalignedRead_;
+       RunningStat backtracksPerUnalignedRead_;
+
+       // Distribution of BWT operations/backtracks per read with no Ns
+       RunningStat bwtOpsPer0nRead_;
+       RunningStat backtracksPer0nRead_;
+
+       // Distribution of BWT operations/backtracks per read with one N
+       RunningStat bwtOpsPer1nRead_;
+       RunningStat backtracksPer1nRead_;
+
+       // Distribution of BWT operations/backtracks per read with two Ns
+       RunningStat bwtOpsPer2nRead_;
+       RunningStat backtracksPer2nRead_;
+
+       // Distribution of BWT operations/backtracks per read with three or
+       // more Ns
+       RunningStat bwtOpsPer3orMoreNRead_;
+       RunningStat backtracksPer3orMoreNRead_;
+
+       Timer timer_;
+};
+
+#endif /* ALIGNER_METRICS_H_ */
diff --git a/aligner_seed_mm.h b/aligner_seed_mm.h
new file mode 100644 (file)
index 0000000..af11d06
--- /dev/null
@@ -0,0 +1,1390 @@
+/*
+ * aligner_seed_mm.h
+ */
+
+#ifndef ALIGNER_SEED_MM_H_
+#define ALIGNER_SEED_MM_H_
+
+#include <utility>
+#include <vector>
+#include "aligner.h"
+#include "hit.h"
+#include "row_chaser.h"
+#include "range_chaser.h"
+#include "aligner_metrics.h"
+
+/**
+ * Concrete factory class for constructing unpaired exact aligners.
+ */
+class UnpairedSeedAlignerFactory : public AlignerFactory {
+
+       typedef RangeSourceDriver<EbwtRangeSource> TRangeSrcDr;
+       typedef std::vector<TRangeSrcDr*> TRangeSrcDrPtrVec;
+       typedef CostAwareRangeSourceDriver<EbwtRangeSource> TCostAwareRangeSrcDr;
+
+public:
+       UnpairedSeedAlignerFactory(
+                       Ebwt<String<Dna> >& ebwtFw,
+                       Ebwt<String<Dna> >* ebwtBw,
+                       bool doFw,
+                       bool doRc,
+                       uint32_t seedMms,
+                       uint32_t seedLen,
+                       int qualCutoff,
+                       int maxBts,
+                       HitSink& sink,
+                       const HitSinkPerThreadFactory& sinkPtFactory,
+                       RangeCache* cacheFw,
+                       RangeCache* cacheBw,
+                       uint32_t cacheLimit,
+                       ChunkPool *pool,
+                       BitPairReference* refs,
+                       vector<String<Dna5> >& os,
+                       bool maqPenalty,
+                       bool qualOrder,
+                       bool strandFix,
+                       bool rangeMode,
+                       bool verbose,
+                       bool quiet,
+                       uint32_t seed,
+                       AlignerMetrics *metrics) :
+                       ebwtFw_(ebwtFw),
+                       ebwtBw_(ebwtBw),
+                       doFw_(doFw), doRc_(doRc),
+                       seedMms_(seedMms),
+                       seedLen_(seedLen),
+                       qualCutoff_(qualCutoff),
+                       maxBts_(maxBts),
+                       sink_(sink),
+                       sinkPtFactory_(sinkPtFactory),
+                       cacheFw_(cacheFw),
+                       cacheBw_(cacheBw),
+                       cacheLimit_(cacheLimit),
+                       pool_(pool),
+                       refs_(refs),
+                       os_(os),
+                       strandFix_(strandFix),
+                       maqPenalty_(maqPenalty),
+                       qualOrder_(qualOrder),
+                       rangeMode_(rangeMode),
+                       verbose_(verbose),
+                       quiet_(quiet),
+                       metrics_(metrics)
+       {
+               assert(ebwtFw.isInMemory());
+       }
+
+       /**
+        * Create a new UnpairedExactAlignerV1s.
+        */
+       virtual Aligner* create() const {
+               HitSinkPerThread* sinkPt = sinkPtFactory_.create();
+               EbwtSearchParams<String<Dna> >* params =
+                       new EbwtSearchParams<String<Dna> >(*sinkPt, os_);
+               int *btCnt = new int[1];
+               *btCnt = maxBts_;
+
+               TRangeSrcDrPtrVec *drVec = new TRangeSrcDrPtrVec();
+               if(seedMms_ == 0) {
+                       const int halfAndHalf = 0;
+                       bool mate1 = true;
+                       EbwtRangeSource *rFw_Bw = new EbwtRangeSource(
+                                ebwtBw_, true,  qualCutoff_, true, verbose_, quiet_,
+                                halfAndHalf, false, maqPenalty_, qualOrder_, metrics_);
+                       EbwtRangeSource *rRc_Fw = new EbwtRangeSource(
+                               &ebwtFw_, false, qualCutoff_, true, verbose_, quiet_,
+                               halfAndHalf, false, maqPenalty_, qualOrder_, metrics_);
+                       EbwtRangeSourceDriver * driverFw = new EbwtRangeSourceDriver(
+                               *params, rFw_Bw, true, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                               seedLen_,   // seedLen
+                               true,       // nudgeLeft (not applicable)
+                               PIN_TO_SEED_EDGE, // whole alignment is unrevisitable
+                               PIN_TO_SEED_EDGE, // "
+                               PIN_TO_SEED_EDGE, // "
+                               PIN_TO_SEED_EDGE, // "
+                               os_, verbose_, quiet_, mate1, pool_, NULL); // no backtrack limit for -n 1/2
+                       EbwtRangeSourceDriver * driverRc = new EbwtRangeSourceDriver(
+                               *params, rRc_Fw, false, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                               seedLen_,   // seedLen
+                               true,       // nudgeLeft (not applicable)
+                               PIN_TO_SEED_EDGE, // whole alignment is unrevisitable
+                               PIN_TO_SEED_EDGE, // "
+                               PIN_TO_SEED_EDGE, // "
+                               PIN_TO_SEED_EDGE, // "
+                               os_, verbose_, quiet_, mate1, pool_, NULL); // no backtrack limit for -n 1/2
+                       if(doFw_) drVec->push_back(driverFw);
+                       if(doRc_) drVec->push_back(driverRc);
+
+               } else if(seedMms_ == 1) {
+                       const int halfAndHalf = 0;
+                       bool fw = true;
+                       bool mate1 = true;
+
+                       EbwtRangeSource *rFw_Bw = new EbwtRangeSource(
+                                ebwtBw_, fw,  qualCutoff_, true,  verbose_, quiet_,
+                                halfAndHalf, false, maqPenalty_, qualOrder_, metrics_);
+                       EbwtRangeSourceFactory *rFw_BwSeed = new EbwtRangeSourceFactory(
+                                ebwtBw_, fw,  qualCutoff_, true,  verbose_, quiet_,
+                                halfAndHalf, false, maqPenalty_, qualOrder_, metrics_);
+                       EbwtRangeSource *rFw_FwSeedGen = new EbwtRangeSource(
+                               &ebwtFw_, fw,  qualCutoff_, false, verbose_, quiet_,
+                                halfAndHalf, true,  maqPenalty_, qualOrder_, metrics_);
+
+                       EbwtRangeSourceDriver * drFw_Bw = new EbwtRangeSourceDriver(
+                               *params, rFw_Bw, fw, false, maqPenalty_, qualOrder_,
+                               sink_, sinkPt, seedLen_,
+                               true,       // nudgeLeft
+                               PIN_TO_HI_HALF_EDGE,
+                               PIN_TO_SEED_EDGE,
+                               PIN_TO_SEED_EDGE,
+                               PIN_TO_SEED_EDGE,
+                               os_, verbose_, quiet_, mate1, pool_, NULL); // no backtrack limit for -n 1/2
+                       EbwtRangeSourceDriverFactory * drFw_BwSeed = new EbwtRangeSourceDriverFactory(
+                               *params, rFw_BwSeed, fw, false, maqPenalty_, qualOrder_,
+                               sink_, sinkPt, seedLen_,
+                               true,       // nudgeLeft
+                               PIN_TO_SEED_EDGE,
+                               PIN_TO_SEED_EDGE,
+                               PIN_TO_SEED_EDGE,
+                               PIN_TO_SEED_EDGE,
+                               os_, verbose_, quiet_, mate1, pool_, NULL); // no backtrack limit for -n 1/2
+                       EbwtRangeSourceDriver * drFw_FwSeedGen = new EbwtRangeSourceDriver(
+                               *params, rFw_FwSeedGen, fw, true, maqPenalty_,
+                               qualOrder_, sink_, sinkPt, seedLen_,
+                               false,      // nudgeLeft
+                               PIN_TO_HI_HALF_EDGE,
+                               PIN_TO_SEED_EDGE,
+                               PIN_TO_SEED_EDGE,
+                               PIN_TO_SEED_EDGE,
+                               os_, verbose_, quiet_, mate1, pool_, NULL); // no backtrack limit for -n 1/2
+                       EbwtSeededRangeSourceDriver * drFw_Seed = new EbwtSeededRangeSourceDriver(
+                               drFw_BwSeed, drFw_FwSeedGen, fw, seedLen_, verbose_, quiet_, mate1);
+
+                       fw = false;
+
+                       EbwtRangeSource *rRc_Fw = new EbwtRangeSource(
+                               &ebwtFw_, fw, qualCutoff_, true,  verbose_, quiet_,
+                               halfAndHalf, false, maqPenalty_, qualOrder_, metrics_);
+                       EbwtRangeSourceFactory *rRc_FwSeed = new EbwtRangeSourceFactory(
+                               &ebwtFw_, fw, qualCutoff_, true,  verbose_, quiet_,
+                               halfAndHalf, false, maqPenalty_, qualOrder_, metrics_);
+                       EbwtRangeSource *rRc_BwSeedGen = new EbwtRangeSource(
+                                ebwtBw_, fw, qualCutoff_, false, verbose_, quiet_,
+                               halfAndHalf, true,  maqPenalty_, qualOrder_, metrics_);
+
+                       EbwtRangeSourceDriver * drRc_Fw = new EbwtRangeSourceDriver(
+                               *params, rRc_Fw, fw, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                               seedLen_,   // seedLen
+                               true,       // nudgeLeft
+                               PIN_TO_HI_HALF_EDGE,
+                               PIN_TO_SEED_EDGE,
+                               PIN_TO_SEED_EDGE,
+                               PIN_TO_SEED_EDGE,
+                               os_, verbose_, quiet_, mate1, pool_, NULL); // no backtrack limit for -n 1/2
+                       EbwtRangeSourceDriverFactory * drRc_FwSeed = new EbwtRangeSourceDriverFactory(
+                               *params, rRc_FwSeed, fw, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                               seedLen_,   // seedLen
+                               true,       // nudgeLeft
+                               PIN_TO_SEED_EDGE,
+                               PIN_TO_SEED_EDGE,
+                               PIN_TO_SEED_EDGE,
+                               PIN_TO_SEED_EDGE,
+                               os_, verbose_, quiet_, mate1, pool_, NULL); // no backtrack limit for -n 1/2
+                       EbwtRangeSourceDriver * drRc_BwSeedGen = new EbwtRangeSourceDriver(
+                               *params, rRc_BwSeedGen, fw, true, maqPenalty_, qualOrder_, sink_, sinkPt,
+                               seedLen_,   // seedLen
+                               false,      // nudgeLeft
+                               PIN_TO_HI_HALF_EDGE,
+                               PIN_TO_SEED_EDGE,
+                               PIN_TO_SEED_EDGE,
+                               PIN_TO_SEED_EDGE,
+                               os_, verbose_, quiet_, mate1, pool_, NULL); // no backtrack limit for -n 1/2
+                       EbwtSeededRangeSourceDriver * drRc_Seed = new EbwtSeededRangeSourceDriver(
+                               drRc_FwSeed, drRc_BwSeedGen, fw, seedLen_, verbose_, quiet_, true);
+
+                       if(doFw_) {
+                               drVec->push_back(drFw_Bw);
+                               drVec->push_back(drFw_Seed);
+                       }
+                       if(doRc_) {
+                               drVec->push_back(drRc_Fw);
+                               drVec->push_back(drRc_Seed);
+                       }
+               } else if(seedMms_ == 2) {
+
+                       bool fw = true;
+                       bool mate1 = true;
+
+                       EbwtRangeSource *rFw_Bw = new EbwtRangeSource(
+                                ebwtBw_, fw,  qualCutoff_, true,  verbose_, quiet_, 0, false, maqPenalty_, qualOrder_, metrics_);
+                       EbwtRangeSourceFactory *rFw_BwSeed = new EbwtRangeSourceFactory(
+                                ebwtBw_, fw,  qualCutoff_, true,  verbose_, quiet_, 0, false, maqPenalty_, qualOrder_, metrics_);
+                       EbwtRangeSource *rFw_FwSeedGen = new EbwtRangeSource(
+                               &ebwtFw_, fw,  qualCutoff_, false, verbose_, quiet_, 0, true,  maqPenalty_, qualOrder_, metrics_);
+                       EbwtRangeSource *rFw_BwHalf = new EbwtRangeSource(
+                                ebwtBw_, fw,  qualCutoff_, false, verbose_, quiet_, 2,  false, maqPenalty_, qualOrder_, metrics_);
+
+                       EbwtRangeSourceDriver * drFw_Bw = new EbwtRangeSourceDriver(
+                               *params, rFw_Bw, fw, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                               seedLen_,   // seedLen
+                               true,       // nudgeLeft
+                               PIN_TO_HI_HALF_EDGE,
+                               PIN_TO_HI_HALF_EDGE,
+                               PIN_TO_SEED_EDGE,
+                               PIN_TO_SEED_EDGE,
+                               os_, verbose_, quiet_, mate1, pool_, btCnt);
+                       EbwtRangeSourceDriverFactory * drFw_BwSeed = new EbwtRangeSourceDriverFactory(
+                               *params, rFw_BwSeed, fw, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                               seedLen_,   // seedLen
+                               true,       // nudgeLeft
+                               PIN_TO_SEED_EDGE,
+                               PIN_TO_SEED_EDGE,
+                               PIN_TO_SEED_EDGE,
+                               PIN_TO_SEED_EDGE,
+                               os_, verbose_, quiet_, mate1, pool_, btCnt);
+                       EbwtRangeSourceDriver * drFw_FwSeedGen = new EbwtRangeSourceDriver(
+                               *params, rFw_FwSeedGen, fw, true, maqPenalty_, qualOrder_, sink_, sinkPt,
+                               seedLen_,   // seedLen
+                               false,      // nudgeLeft
+                               PIN_TO_HI_HALF_EDGE,
+                               PIN_TO_HI_HALF_EDGE,
+                               PIN_TO_SEED_EDGE,
+                               PIN_TO_SEED_EDGE,
+                               os_, verbose_, quiet_, mate1, pool_, btCnt);
+                       EbwtSeededRangeSourceDriver * drFw_Seed = new EbwtSeededRangeSourceDriver(
+                               drFw_BwSeed, drFw_FwSeedGen, fw, seedLen_, verbose_, quiet_, mate1);
+                       EbwtRangeSourceDriver * drFw_BwHalf = new EbwtRangeSourceDriver(
+                               *params, rFw_BwHalf, fw, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                               seedLen_,   // seedLen
+                               true,       // nudgeLeft
+                               PIN_TO_BEGINNING,    // nothing's unrevisitable
+                               PIN_TO_HI_HALF_EDGE,
+                               PIN_TO_SEED_EDGE,
+                               PIN_TO_SEED_EDGE,
+                               os_, verbose_, quiet_, mate1, pool_, btCnt);
+
+                       fw = false;
+
+                       EbwtRangeSource *rRc_Fw = new EbwtRangeSource(
+                               &ebwtFw_, fw, qualCutoff_, true,  verbose_, quiet_, 0, false, maqPenalty_, qualOrder_, metrics_);
+                       EbwtRangeSourceFactory *rRc_FwSeed = new EbwtRangeSourceFactory(
+                               &ebwtFw_, fw, qualCutoff_, true,  verbose_, quiet_, 0, false, maqPenalty_, qualOrder_, metrics_);
+                       EbwtRangeSource *rRc_BwSeedGen = new EbwtRangeSource(
+                                ebwtBw_, fw, qualCutoff_, false, verbose_, quiet_, 0, true,  maqPenalty_, qualOrder_, metrics_);
+                       EbwtRangeSource *rRc_FwHalf = new EbwtRangeSource(
+                               &ebwtFw_, fw, qualCutoff_, false, verbose_, quiet_, 2,  false, maqPenalty_, qualOrder_, metrics_);
+
+                       EbwtRangeSourceDriver * drRc_Fw = new EbwtRangeSourceDriver(
+                               *params, rRc_Fw, fw, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                               seedLen_,   // seedLen
+                               true,       // nudgeLeft
+                               PIN_TO_HI_HALF_EDGE, // no mismatches in hi half
+                               PIN_TO_HI_HALF_EDGE,
+                               PIN_TO_SEED_EDGE,    // up to 2 in lo half
+                               PIN_TO_SEED_EDGE,
+                               os_, verbose_, quiet_, mate1, pool_, btCnt);
+                       EbwtRangeSourceDriverFactory * drRc_FwSeed = new EbwtRangeSourceDriverFactory(
+                               *params, rRc_FwSeed, fw, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                               seedLen_,   // seedLen
+                               true,       // nudgeLeft
+                               PIN_TO_SEED_EDGE,
+                               PIN_TO_SEED_EDGE,
+                               PIN_TO_SEED_EDGE,
+                               PIN_TO_SEED_EDGE,
+                               os_, verbose_, quiet_, mate1, pool_, btCnt);
+                       EbwtRangeSourceDriver * drRc_BwSeedGen = new EbwtRangeSourceDriver(
+                               *params, rRc_BwSeedGen, fw, true, maqPenalty_, qualOrder_, sink_, sinkPt,
+                               seedLen_,   // seedLen
+                               false,      // nudgeLeft
+                               PIN_TO_HI_HALF_EDGE, // no mismatches in lo half
+                               PIN_TO_HI_HALF_EDGE,
+                               PIN_TO_SEED_EDGE,    // up to 2 in hi half
+                               PIN_TO_SEED_EDGE,
+                               os_, verbose_, quiet_, mate1, pool_, btCnt);
+                       EbwtSeededRangeSourceDriver * drRc_Seed = new EbwtSeededRangeSourceDriver(
+                               drRc_FwSeed, drRc_BwSeedGen, fw, seedLen_, verbose_, quiet_, true);
+                       EbwtRangeSourceDriver * drRc_FwHalf = new EbwtRangeSourceDriver(
+                               *params, rRc_FwHalf, fw, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                               seedLen_,   // seedLen
+                               true,       // nudgeLeft
+                               PIN_TO_BEGINNING,    // nothing's unrevisitable
+                               PIN_TO_HI_HALF_EDGE,
+                               PIN_TO_SEED_EDGE,
+                               PIN_TO_SEED_EDGE,
+                               os_, verbose_, quiet_, mate1, pool_, btCnt);
+
+                       if(doFw_) {
+                               drVec->push_back(drFw_Bw);
+                               drVec->push_back(drFw_Seed);
+                               drVec->push_back(drFw_BwHalf);
+                       }
+                       if(doRc_) {
+                               drVec->push_back(drRc_Fw);
+                               drVec->push_back(drRc_Seed);
+                               drVec->push_back(drRc_FwHalf);
+                       }
+               } else if(seedMms_ > 2) {
+
+                       bool fw = true;
+                       bool mate1 = true;
+
+                       EbwtRangeSource *rFw_Bw = new EbwtRangeSource(
+                                ebwtBw_, fw,  qualCutoff_, true,  verbose_, quiet_,
+                                0, false, maqPenalty_, qualOrder_, metrics_);
+
+                       // Partial and full aligners for alignments with 0
+                       // mismatches in the lo-half and up to 3 mismatches in the
+                       // hi-half
+                       EbwtRangeSourceFactory *rFw_BwSeed03 = new EbwtRangeSourceFactory(
+                                ebwtBw_, fw,  qualCutoff_, true,  verbose_, quiet_,
+                                0, false, maqPenalty_, qualOrder_, metrics_);
+                       EbwtRangeSource *rFw_FwSeedGen03 = new EbwtRangeSource(
+                               &ebwtFw_, fw,  qualCutoff_, false, verbose_, quiet_,
+                                0, true,  maqPenalty_, qualOrder_, metrics_);
+
+                       // Partial and full aligners for alignments with 1
+                       // mismatch in the lo-half and up to 2 mismatches in the
+                       // hi-half
+                       EbwtRangeSourceFactory *rFw_BwSeed12 = new EbwtRangeSourceFactory(
+                                ebwtBw_, fw,  qualCutoff_, true,  verbose_, quiet_,
+                                0, false, maqPenalty_, qualOrder_, metrics_);
+                       // Note: the following is half-and-half (unlike the 03 version)
+                       EbwtRangeSource *rFw_FwSeedGen12 = new EbwtRangeSource(
+                               &ebwtFw_, fw,  qualCutoff_, false, verbose_, quiet_,
+                                3,  true,  maqPenalty_, qualOrder_, metrics_);
+
+                       EbwtRangeSource *rFw_BwHalf12 = new EbwtRangeSource(
+                                ebwtBw_, fw,  qualCutoff_, false, verbose_, quiet_,
+                                2,  false, maqPenalty_, qualOrder_, metrics_);
+
+                       EbwtRangeSourceDriver * drFw_Bw = new EbwtRangeSourceDriver(
+                               *params, rFw_Bw, fw, false, maqPenalty_, qualOrder_,
+                               sink_, sinkPt, seedLen_,
+                               true,       // nudgeLeft
+                               PIN_TO_HI_HALF_EDGE, // 0 mismatches in hi-half
+                               PIN_TO_HI_HALF_EDGE,
+                               PIN_TO_HI_HALF_EDGE,
+                               PIN_TO_SEED_EDGE,    // up to 3 mismatches in lo-half
+                               os_, verbose_, quiet_, mate1, pool_, btCnt);
+
+                       EbwtRangeSourceDriverFactory * drFw_BwSeed03 = new EbwtRangeSourceDriverFactory(
+                               *params, rFw_BwSeed03, fw, false, maqPenalty_, qualOrder_,
+                               sink_, sinkPt, seedLen_,
+                               true,       // nudgeLeft
+                               PIN_TO_SEED_EDGE,
+                               PIN_TO_SEED_EDGE,
+                               PIN_TO_SEED_EDGE,
+                               PIN_TO_SEED_EDGE,
+                               os_, verbose_, quiet_, mate1, pool_, btCnt);
+                       EbwtRangeSourceDriver * drFw_FwSeedGen03 = new EbwtRangeSourceDriver(
+                               *params, rFw_FwSeedGen03, fw, true, maqPenalty_, qualOrder_,
+                               sink_, sinkPt, seedLen_,
+                               false,      // nudgeLeft
+                               PIN_TO_HI_HALF_EDGE,
+                               PIN_TO_HI_HALF_EDGE,
+                               PIN_TO_HI_HALF_EDGE,
+                               PIN_TO_SEED_EDGE,
+                               os_, verbose_, quiet_, mate1, pool_, btCnt);
+                       EbwtSeededRangeSourceDriver * drFw_Seed03 = new EbwtSeededRangeSourceDriver(
+                               drFw_BwSeed03, drFw_FwSeedGen03, fw, seedLen_, verbose_, quiet_, mate1);
+
+                       EbwtRangeSourceDriverFactory * drFw_BwSeed12 = new EbwtRangeSourceDriverFactory(
+                               *params, rFw_BwSeed12, fw, false, maqPenalty_, qualOrder_,
+                               sink_, sinkPt, seedLen_,
+                               true,       // nudgeLeft
+                               PIN_TO_SEED_EDGE,
+                               PIN_TO_SEED_EDGE,
+                               PIN_TO_SEED_EDGE,
+                               PIN_TO_SEED_EDGE,
+                               os_, verbose_, quiet_, mate1, pool_, btCnt);
+                       EbwtRangeSourceDriver * drFw_FwSeedGen12 = new EbwtRangeSourceDriver(
+                               *params, rFw_FwSeedGen12, fw, true, maqPenalty_, qualOrder_,
+                               sink_, sinkPt, seedLen_,
+                               false,      // nudgeLeft
+                               PIN_TO_BEGINNING,
+                               PIN_TO_HI_HALF_EDGE, // 1-mismatch in lo-half
+                               PIN_TO_HI_HALF_EDGE,
+                               PIN_TO_SEED_EDGE,    // 1 or 2 mismatches in hi-half
+                               os_, verbose_, quiet_, mate1, pool_, btCnt);
+                       EbwtSeededRangeSourceDriver * drFw_Seed12 = new EbwtSeededRangeSourceDriver(
+                               drFw_BwSeed12, drFw_FwSeedGen12, fw, seedLen_, verbose_, quiet_, mate1);
+
+                       EbwtRangeSourceDriver * drFw_BwHalf12 = new EbwtRangeSourceDriver(
+                               *params, rFw_BwHalf12, fw, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                               seedLen_,   // seedLen
+                               true,       // nudgeLeft
+                               PIN_TO_BEGINNING,    // nothing's unrevisitable
+                               PIN_TO_HI_HALF_EDGE,
+                               PIN_TO_HI_HALF_EDGE,
+                               PIN_TO_SEED_EDGE,
+                               os_, verbose_, quiet_, mate1, pool_, btCnt);
+
+                       fw = false;
+
+                       EbwtRangeSource *rRc_Fw = new EbwtRangeSource(
+                               &ebwtFw_, fw,  qualCutoff_, true,  verbose_, quiet_,
+                               0, false, maqPenalty_, qualOrder_, metrics_);
+
+                       // Partial and full aligners for alignments with 0
+                       // mismatches in the lo-half and up to 3 mismatches in the
+                       // hi-half
+                       EbwtRangeSourceFactory *rRc_FwSeed03 = new EbwtRangeSourceFactory(
+                               &ebwtFw_, fw,  qualCutoff_, true,  verbose_, quiet_,
+                               0, false, maqPenalty_, qualOrder_, metrics_);
+                       EbwtRangeSource *rRc_BwSeedGen03 = new EbwtRangeSource(
+                                ebwtBw_, fw,  qualCutoff_, false, verbose_, quiet_,
+                               0, true,  maqPenalty_, qualOrder_, metrics_);
+
+                       // Partial and full aligners for alignments with 1
+                       // mismatch in the lo-half and up to 2 mismatches in the
+                       // hi-half
+                       EbwtRangeSourceFactory *rRc_FwSeed12 = new EbwtRangeSourceFactory(
+                               &ebwtFw_, fw,  qualCutoff_, true,  verbose_, quiet_,
+                               0, false, maqPenalty_, qualOrder_, metrics_);
+                       EbwtRangeSource *rRc_BwSeedGen12 = new EbwtRangeSource(
+                                ebwtBw_, fw,  qualCutoff_, false, verbose_, quiet_,
+                               3,  true,  maqPenalty_, qualOrder_, metrics_);
+
+                       EbwtRangeSource *rRc_FwHalf12 = new EbwtRangeSource(
+                               &ebwtFw_, fw,  qualCutoff_, false, verbose_, quiet_,
+                               2,  false, maqPenalty_, qualOrder_, metrics_);
+
+                       EbwtRangeSourceDriver * drRc_Fw = new EbwtRangeSourceDriver(
+                               *params, rRc_Fw, fw, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                               seedLen_,   // seedLen
+                               true,       // nudgeLeft
+                               PIN_TO_HI_HALF_EDGE,
+                               PIN_TO_HI_HALF_EDGE,
+                               PIN_TO_HI_HALF_EDGE,
+                               PIN_TO_SEED_EDGE,
+                               os_, verbose_, quiet_, mate1, pool_, btCnt);
+
+                       EbwtRangeSourceDriverFactory * drRc_FwSeed03 = new EbwtRangeSourceDriverFactory(
+                               *params, rRc_FwSeed03, fw, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                               seedLen_,   // seedLen
+                               true,       // nudgeLeft
+                               PIN_TO_SEED_EDGE,
+                               PIN_TO_SEED_EDGE,
+                               PIN_TO_SEED_EDGE,
+                               PIN_TO_SEED_EDGE,
+                               os_, verbose_, quiet_, mate1, pool_, btCnt);
+                       EbwtRangeSourceDriver * drRc_BwSeedGen03 = new EbwtRangeSourceDriver(
+                               *params, rRc_BwSeedGen03, fw, true, maqPenalty_, qualOrder_, sink_, sinkPt,
+                               seedLen_,   // seedLen
+                               false,      // nudgeLeft
+                               PIN_TO_HI_HALF_EDGE,
+                               PIN_TO_HI_HALF_EDGE,
+                               PIN_TO_HI_HALF_EDGE,
+                               PIN_TO_SEED_EDGE,
+                               os_, verbose_, quiet_, mate1, pool_, btCnt);
+                       EbwtSeededRangeSourceDriver * drRc_Seed03 = new EbwtSeededRangeSourceDriver(
+                               drRc_FwSeed03, drRc_BwSeedGen03, fw, seedLen_, verbose_, quiet_, mate1);
+
+                       EbwtRangeSourceDriverFactory * drRc_FwSeed12 = new EbwtRangeSourceDriverFactory(
+                               *params, rRc_FwSeed12, fw, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                               seedLen_,   // seedLen
+                               true,       // nudgeLeft
+                               PIN_TO_SEED_EDGE,
+                               PIN_TO_SEED_EDGE,
+                               PIN_TO_SEED_EDGE,
+                               PIN_TO_SEED_EDGE,
+                               os_, verbose_, quiet_, mate1, pool_, btCnt);
+                       EbwtRangeSourceDriver * drRc_BwSeedGen12 = new EbwtRangeSourceDriver(
+                               *params, rRc_BwSeedGen12, fw, true, maqPenalty_, qualOrder_, sink_, sinkPt,
+                               seedLen_,   // seedLen
+                               false,      // nudgeLeft
+                               PIN_TO_BEGINNING,
+                               PIN_TO_HI_HALF_EDGE,
+                               PIN_TO_HI_HALF_EDGE,
+                               PIN_TO_SEED_EDGE,
+                               os_, verbose_, quiet_, mate1, pool_, btCnt);
+                       EbwtSeededRangeSourceDriver * drRc_Seed12 = new EbwtSeededRangeSourceDriver(
+                               drRc_FwSeed12, drRc_BwSeedGen12, fw, seedLen_, verbose_, quiet_, mate1);
+
+                       EbwtRangeSourceDriver * drRc_FwHalf12 = new EbwtRangeSourceDriver(
+                               *params, rRc_FwHalf12, fw, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                               seedLen_,   // seedLen
+                               true,       // nudgeLeft
+                               PIN_TO_BEGINNING,    // nothing's unrevisitable
+                               PIN_TO_HI_HALF_EDGE,
+                               PIN_TO_HI_HALF_EDGE,
+                               PIN_TO_SEED_EDGE,
+                               os_, verbose_, quiet_, mate1, pool_, btCnt);
+
+                       if(doFw_) {
+                               drVec->push_back(drFw_Bw);
+                               drVec->push_back(drFw_Seed03);
+                               drVec->push_back(drFw_Seed12);
+                               drVec->push_back(drFw_BwHalf12);
+                       }
+                       if(doRc_) {
+                               drVec->push_back(drRc_Fw);
+                               drVec->push_back(drRc_Seed03);
+                               drVec->push_back(drRc_Seed12);
+                               drVec->push_back(drRc_FwHalf12);
+                       }
+               } else {
+                       cerr << "Unsupported --stateful mode: " << seedMms_ << endl;
+               }
+               TCostAwareRangeSrcDr* dr = new TCostAwareRangeSrcDr(strandFix_, drVec, verbose_, quiet_, false);
+               delete drVec;
+
+               // Set up a RangeChaser
+               RangeChaser<String<Dna> > *rchase =
+                       new RangeChaser<String<Dna> >(cacheLimit_, cacheFw_, cacheBw_, metrics_);
+
+               return new UnpairedAlignerV2<EbwtRangeSource>(
+                       params, dr, rchase,
+                       sink_, sinkPtFactory_, sinkPt, os_, refs_,
+                       rangeMode_, verbose_, quiet_, maxBts_, pool_, btCnt,
+                       metrics_);
+       }
+
+private:
+       Ebwt<String<Dna> >& ebwtFw_;
+       Ebwt<String<Dna> >* ebwtBw_;
+       bool doFw_;
+       bool doRc_;
+       const uint32_t seedMms_;
+       const uint32_t seedLen_;
+       const int qualCutoff_;
+       const int maxBts_;
+       HitSink& sink_;
+       const HitSinkPerThreadFactory& sinkPtFactory_;
+       RangeCache *cacheFw_;
+       RangeCache *cacheBw_;
+       const uint32_t cacheLimit_;
+       ChunkPool *pool_;
+       BitPairReference* refs_;
+       vector<String<Dna5> >& os_;
+       bool strandFix_;
+       bool maqPenalty_;
+       bool qualOrder_;
+       bool rangeMode_;
+       bool verbose_;
+       bool quiet_;
+       AlignerMetrics *metrics_;
+};
+
+/**
+ * Concrete factory class for constructing unpaired exact aligners.
+ */
+class PairedSeedAlignerFactory : public AlignerFactory {
+       typedef RangeSourceDriver<EbwtRangeSource> TRangeSrcDr;
+       typedef std::vector<TRangeSrcDr*> TRangeSrcDrPtrVec;
+       typedef CostAwareRangeSourceDriver<EbwtRangeSource> TCostAwareRangeSrcDr;
+public:
+       PairedSeedAlignerFactory(
+                       Ebwt<String<Dna> >& ebwtFw,
+                       Ebwt<String<Dna> >* ebwtBw,
+                       bool color,
+                       bool v1,
+                       bool doFw,
+                       bool doRc,
+                       uint32_t seedMms,
+                       uint32_t seedLen,
+                       int qualCutoff,
+                       int maxBts,
+                       HitSink& sink,
+                       const HitSinkPerThreadFactory& sinkPtFactory,
+                       bool mate1fw,
+                       bool mate2fw,
+                       uint32_t peInner,
+                       uint32_t peOuter,
+                       bool dontReconcile,
+                       uint32_t symCeil,
+                       uint32_t mixedThresh,
+                       uint32_t mixedAttemptLim,
+                       RangeCache* cacheFw,
+                       RangeCache* cacheBw,
+                       uint32_t cacheLimit,
+                       ChunkPool *pool,
+                       BitPairReference* refs,
+                       vector<String<Dna5> >& os,
+                       bool reportSe,
+                       bool maqPenalty,
+                       bool qualOrder,
+                       bool strandFix,
+                       bool rangeMode,
+                       bool verbose,
+                       bool quiet,
+                       uint32_t seed) :
+                       ebwtFw_(ebwtFw),
+                       ebwtBw_(ebwtBw),
+                       color_(color),
+                       v1_(v1),
+                       doFw_(doFw),
+                       doRc_(doRc),
+                       seedMms_(seedMms),
+                       seedLen_(seedLen),
+                       qualCutoff_(qualCutoff),
+                       maxBts_(maxBts),
+                       sink_(sink),
+                       sinkPtFactory_(sinkPtFactory),
+                       mate1fw_(mate1fw),
+                       mate2fw_(mate2fw),
+                       peInner_(peInner),
+                       peOuter_(peOuter),
+                       dontReconcile_(dontReconcile),
+                       symCeil_(symCeil),
+                       mixedThresh_(mixedThresh),
+                       mixedAttemptLim_(mixedAttemptLim),
+                       cacheFw_(cacheFw),
+                       cacheBw_(cacheBw),
+                       cacheLimit_(cacheLimit),
+                       pool_(pool),
+                       refs_(refs), os_(os),
+                       reportSe_(reportSe),
+                       maqPenalty_(maqPenalty),
+                       qualOrder_(qualOrder),
+                       strandFix_(strandFix),
+                       rangeMode_(rangeMode),
+                       verbose_(verbose),
+                       quiet_(quiet)
+       {
+               assert(ebwtFw.isInMemory());
+               assert(ebwtBw->isInMemory());
+       }
+
+       /**
+        * Create a new UnpairedExactAlignerV1s.
+        */
+       virtual Aligner* create() const {
+               HitSinkPerThread* sinkPt = sinkPtFactory_.createMult(2);
+               HitSinkPerThread* sinkPtSe1 = NULL, * sinkPtSe2 = NULL;
+               EbwtSearchParams<String<Dna> >* params =
+                       new EbwtSearchParams<String<Dna> >(*sinkPt, os_);
+               EbwtSearchParams<String<Dna> >* paramsSe1 = NULL, * paramsSe2 = NULL;
+               if(reportSe_) {
+                       sinkPtSe1 = sinkPtFactory_.create();
+                       sinkPtSe2 = sinkPtFactory_.create();
+                       paramsSe1 =
+                               new EbwtSearchParams<String<Dna> >(*sinkPtSe1, os_);
+                       paramsSe2 =
+                               new EbwtSearchParams<String<Dna> >(*sinkPtSe2, os_);
+               }
+               RefAligner<String<Dna5> >* refAligner = NULL;
+               int *btCnt = new int[1];
+               *btCnt = maxBts_;
+               if(seedMms_ == 0) {
+                       refAligner = new Seed0RefAligner<String<Dna5> >(color_, verbose_, quiet_, seedLen_, qualCutoff_, maqPenalty_);
+               } else if(seedMms_ == 1) {
+                       refAligner = new Seed1RefAligner<String<Dna5> >(color_, verbose_, quiet_, seedLen_, qualCutoff_, maqPenalty_);
+               } else if(seedMms_ == 2) {
+                       refAligner = new Seed2RefAligner<String<Dna5> >(color_, verbose_, quiet_, seedLen_, qualCutoff_, maqPenalty_);
+               } else {
+                       refAligner = new Seed3RefAligner<String<Dna5> >(color_, verbose_, quiet_, seedLen_, qualCutoff_, maqPenalty_);
+               }
+               bool do1Fw = true;
+               bool do1Rc = true;
+               bool do2Fw = true;
+               bool do2Rc = true;
+               if(!doFw_) {
+                       if(mate1fw_) do1Fw = false;
+                       else         do1Rc = false;
+                       if(mate2fw_) do2Fw = false;
+                       else         do2Rc = false;
+               }
+               if(!doRc_) {
+                       if(mate1fw_) do1Rc = false;
+                       else         do1Fw = false;
+                       if(mate2fw_) do2Rc = false;
+                       else         do2Fw = false;
+               }
+               TRangeSrcDrPtrVec *dr1FwVec = new TRangeSrcDrPtrVec();
+               TRangeSrcDrPtrVec *dr1RcVec;
+               TRangeSrcDrPtrVec *dr2FwVec;
+               TRangeSrcDrPtrVec *dr2RcVec;
+               if(v1_) {
+                       dr1RcVec = new TRangeSrcDrPtrVec();
+                       dr2FwVec = new TRangeSrcDrPtrVec();
+                       dr2RcVec = new TRangeSrcDrPtrVec();
+               } else {
+                       dr1RcVec = dr1FwVec;
+                       dr2FwVec = dr1FwVec;
+                       dr2RcVec = dr1FwVec;
+               }
+               if(seedMms_ == 0) {
+                       const int halfAndHalf = 0;
+                       if(do1Fw) {
+                               bool mate1 = true;
+                               bool fw = true;
+                               EbwtRangeSource *r1Fw_Bw = new EbwtRangeSource(
+                                        ebwtBw_, fw,  qualCutoff_, true, verbose_, quiet_,
+                                        halfAndHalf, false, maqPenalty_, qualOrder_);
+                               EbwtRangeSourceDriver *dr1Fw_Bw = new EbwtRangeSourceDriver(
+                                       *params, r1Fw_Bw, fw, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                                       seedLen_,   // seedLen
+                                       true,       // nudgeLeft (not applicable)
+                                       PIN_TO_SEED_EDGE, // whole alignment is unrevisitable
+                                       PIN_TO_SEED_EDGE, // "
+                                       PIN_TO_SEED_EDGE, // "
+                                       PIN_TO_SEED_EDGE, // "
+                                       os_, verbose_, quiet_, mate1, pool_, NULL); // no backtrack limit for -n 1/2
+                               dr1FwVec->push_back(dr1Fw_Bw);
+                       }
+                       if(do2Fw) {
+                               bool mate1 = false;
+                               bool fw = true;
+                               EbwtRangeSource *r2Fw_Bw = new EbwtRangeSource(
+                                        ebwtBw_, fw,  qualCutoff_, true, verbose_, quiet_, halfAndHalf,
+                                        false, maqPenalty_, qualOrder_);
+                               EbwtRangeSourceDriver *dr2Fw_Bw = new EbwtRangeSourceDriver(
+                                       *params, r2Fw_Bw, fw, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                                       seedLen_,   // seedLen
+                                       true,       // nudgeLeft (not applicable)
+                                       PIN_TO_SEED_EDGE, // whole alignment is unrevisitable
+                                       PIN_TO_SEED_EDGE, // "
+                                       PIN_TO_SEED_EDGE, // "
+                                       PIN_TO_SEED_EDGE, // "
+                                       os_, verbose_, quiet_, mate1, pool_, NULL); // no backtrack limit for -n 1/2
+                               dr2FwVec->push_back(dr2Fw_Bw);
+                       }
+                       if(do1Rc) {
+                               bool mate1 = true;
+                               bool fw = false;
+                               EbwtRangeSource *r1Rc_Fw = new EbwtRangeSource(
+                                       &ebwtFw_, fw,  qualCutoff_, true, verbose_, quiet_,
+                                       halfAndHalf, false, maqPenalty_, qualOrder_);
+                               EbwtRangeSourceDriver *dr1Rc_Fw = new EbwtRangeSourceDriver(
+                                       *params, r1Rc_Fw, fw, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                                       seedLen_,   // seedLen
+                                       true,       // nudgeLeft (not applicable)
+                                       PIN_TO_SEED_EDGE, // whole alignment is unrevisitable
+                                       PIN_TO_SEED_EDGE, // "
+                                       PIN_TO_SEED_EDGE, // "
+                                       PIN_TO_SEED_EDGE, // "
+                                       os_, verbose_, quiet_, mate1, pool_, NULL); // no backtrack limit for -n 1/2
+                               dr1RcVec->push_back(dr1Rc_Fw);
+                       }
+                       if(do2Rc) {
+                               bool mate1 = false;
+                               bool fw = false;
+                               EbwtRangeSource *r2Rc_Fw = new EbwtRangeSource(
+                                       &ebwtFw_, fw,  qualCutoff_, true, verbose_, quiet_,
+                                       halfAndHalf, false, maqPenalty_, qualOrder_);
+                               EbwtRangeSourceDriver *dr2Rc_Fw = new EbwtRangeSourceDriver(
+                                       *params, r2Rc_Fw, fw, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                                       seedLen_,   // seedLen
+                                       true,       // nudgeLeft (not applicable)
+                                       PIN_TO_SEED_EDGE, // whole alignment is unrevisitable
+                                       PIN_TO_SEED_EDGE, // "
+                                       PIN_TO_SEED_EDGE, // "
+                                       PIN_TO_SEED_EDGE, // "
+                                       os_, verbose_, quiet_, mate1, pool_, NULL); // no backtrack limit for -n 1/2
+                               dr2RcVec->push_back(dr2Rc_Fw);
+                       }
+               } else if(seedMms_ == 1) {
+                       const int halfAndHalf = 0;
+                       if(do1Fw) {
+                               bool mate1 = true;
+                               bool fw = true;
+                               EbwtRangeSource *rFw_Bw = new EbwtRangeSource(
+                                        ebwtBw_, fw,  qualCutoff_, true,  verbose_, quiet_,
+                                       halfAndHalf, false, maqPenalty_, qualOrder_);
+                               EbwtRangeSourceFactory *rFw_BwSeed = new EbwtRangeSourceFactory(
+                                        ebwtBw_, fw,  qualCutoff_, true,  verbose_, quiet_,
+                                       halfAndHalf, false, maqPenalty_, qualOrder_);
+                               EbwtRangeSource *rFw_FwSeedGen = new EbwtRangeSource(
+                                       &ebwtFw_, fw,  qualCutoff_, false, verbose_, quiet_,
+                                       halfAndHalf, true,  maqPenalty_, qualOrder_);
+                               EbwtRangeSourceDriver * drFw_Bw = new EbwtRangeSourceDriver(
+                                       *params, rFw_Bw, fw, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                                       seedLen_,   // seedLen
+                                       true,       // nudgeLeft
+                                       PIN_TO_HI_HALF_EDGE,
+                                       PIN_TO_SEED_EDGE,
+                                       PIN_TO_SEED_EDGE,
+                                       PIN_TO_SEED_EDGE,
+                                       os_, verbose_, quiet_, mate1, pool_, NULL); // no backtrack limit for -n 1/2
+                               EbwtRangeSourceDriverFactory * drFw_BwSeed = new EbwtRangeSourceDriverFactory(
+                                       *params, rFw_BwSeed, fw, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                                       seedLen_,   // seedLen
+                                       true,       // nudgeLeft
+                                       PIN_TO_SEED_EDGE,
+                                       PIN_TO_SEED_EDGE,
+                                       PIN_TO_SEED_EDGE,
+                                       PIN_TO_SEED_EDGE,
+                                       os_, verbose_, quiet_, mate1, pool_, NULL); // no backtrack limit for -n 1/2
+                               EbwtRangeSourceDriver * drFw_FwSeedGen = new EbwtRangeSourceDriver(
+                                       *params, rFw_FwSeedGen, fw, true, maqPenalty_, qualOrder_, sink_, sinkPt,
+                                       seedLen_,   // seedLen
+                                       false,      // nudgeLeft
+                                       PIN_TO_HI_HALF_EDGE,
+                                       PIN_TO_SEED_EDGE,
+                                       PIN_TO_SEED_EDGE,
+                                       PIN_TO_SEED_EDGE,
+                                       os_, verbose_, quiet_, mate1, pool_, NULL); // no backtrack limit for -n 1/2
+                               EbwtSeededRangeSourceDriver * drFw_Seed = new EbwtSeededRangeSourceDriver(
+                                       drFw_BwSeed, drFw_FwSeedGen, fw, seedLen_, verbose_, quiet_, mate1);
+                               dr1FwVec->push_back(drFw_Bw);
+                               dr1FwVec->push_back(drFw_Seed);
+                       }
+                       if(do2Fw) {
+                               bool mate1 = false;
+                               bool fw = true;
+                               EbwtRangeSource *rFw_Bw = new EbwtRangeSource(
+                                        ebwtBw_, fw,  qualCutoff_, true,  verbose_, quiet_,
+                                       halfAndHalf, false, maqPenalty_, qualOrder_);
+                               EbwtRangeSourceFactory *rFw_BwSeed = new EbwtRangeSourceFactory(
+                                        ebwtBw_, fw,  qualCutoff_, true,  verbose_, quiet_,
+                                       halfAndHalf, false, maqPenalty_, qualOrder_);
+                               EbwtRangeSource *rFw_FwSeedGen = new EbwtRangeSource(
+                                       &ebwtFw_, fw,  qualCutoff_, false, verbose_, quiet_,
+                                       halfAndHalf, true,  maqPenalty_, qualOrder_);
+                               EbwtRangeSourceDriver * drFw_Bw = new EbwtRangeSourceDriver(
+                                       *params, rFw_Bw, fw, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                                       seedLen_,   // seedLen
+                                       true,       // nudgeLeft
+                                       PIN_TO_HI_HALF_EDGE,
+                                       PIN_TO_SEED_EDGE,
+                                       PIN_TO_SEED_EDGE,
+                                       PIN_TO_SEED_EDGE,
+                                       os_, verbose_, quiet_, mate1, pool_, NULL); // no backtrack limit for -n 1/2
+                               EbwtRangeSourceDriverFactory * drFw_BwSeed = new EbwtRangeSourceDriverFactory(
+                                       *params, rFw_BwSeed, fw, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                                       seedLen_,   // seedLen
+                                       true,       // nudgeLeft
+                                       PIN_TO_SEED_EDGE,
+                                       PIN_TO_SEED_EDGE,
+                                       PIN_TO_SEED_EDGE,
+                                       PIN_TO_SEED_EDGE,
+                                       os_, verbose_, quiet_, mate1, pool_, NULL); // no backtrack limit for -n 1/2
+                               EbwtRangeSourceDriver * drFw_FwSeedGen = new EbwtRangeSourceDriver(
+                                       *params, rFw_FwSeedGen, fw, true, maqPenalty_, qualOrder_, sink_, sinkPt,
+                                       seedLen_,   // seedLen
+                                       false,      // nudgeLeft
+                                       PIN_TO_HI_HALF_EDGE,
+                                       PIN_TO_SEED_EDGE,
+                                       PIN_TO_SEED_EDGE,
+                                       PIN_TO_SEED_EDGE,
+                                       os_, verbose_, quiet_, mate1, pool_, NULL); // no backtrack limit for -n 1/2
+                               EbwtSeededRangeSourceDriver * drFw_Seed = new EbwtSeededRangeSourceDriver(
+                                       drFw_BwSeed, drFw_FwSeedGen, fw, seedLen_, verbose_, quiet_, mate1);
+                               dr2FwVec->push_back(drFw_Bw);
+                               dr2FwVec->push_back(drFw_Seed);
+                       }
+                       if(do1Rc) {
+                               bool mate1 = true;
+                               bool fw = false;
+                               EbwtRangeSource *rRc_Fw = new EbwtRangeSource(
+                                       &ebwtFw_, fw,  qualCutoff_, true,  verbose_, quiet_,
+                                       halfAndHalf, false, maqPenalty_, qualOrder_);
+                               EbwtRangeSourceFactory *rRc_FwSeed = new EbwtRangeSourceFactory(
+                                       &ebwtFw_, fw,  qualCutoff_, true,  verbose_, quiet_,
+                                       halfAndHalf, false, maqPenalty_, qualOrder_);
+                               EbwtRangeSource *rRc_BwSeedGen = new EbwtRangeSource(
+                                        ebwtBw_, fw,  qualCutoff_, false, verbose_, quiet_,
+                                       halfAndHalf, true,  maqPenalty_, qualOrder_);
+                               EbwtRangeSourceDriver * drRc_Fw = new EbwtRangeSourceDriver(
+                                       *params, rRc_Fw, fw, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                                       seedLen_,   // seedLen
+                                       true,       // nudgeLeft
+                                       PIN_TO_HI_HALF_EDGE,
+                                       PIN_TO_SEED_EDGE,
+                                       PIN_TO_SEED_EDGE,
+                                       PIN_TO_SEED_EDGE,
+                                       os_, verbose_, quiet_, mate1, pool_, NULL); // no backtrack limit for -n 1/2
+                               EbwtRangeSourceDriverFactory * drRc_FwSeed = new EbwtRangeSourceDriverFactory(
+                                       *params, rRc_FwSeed, fw, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                                       seedLen_,   // seedLen
+                                       true,       // nudgeLeft
+                                       PIN_TO_SEED_EDGE,
+                                       PIN_TO_SEED_EDGE,
+                                       PIN_TO_SEED_EDGE,
+                                       PIN_TO_SEED_EDGE,
+                                       os_, verbose_, quiet_, mate1, pool_, NULL); // no backtrack limit for -n 1/2
+                               EbwtRangeSourceDriver * drRc_BwSeedGen = new EbwtRangeSourceDriver(
+                                       *params, rRc_BwSeedGen, fw, true, maqPenalty_, qualOrder_, sink_, sinkPt,
+                                       seedLen_,   // seedLen
+                                       false,      // nudgeLeft
+                                       PIN_TO_HI_HALF_EDGE,
+                                       PIN_TO_SEED_EDGE,
+                                       PIN_TO_SEED_EDGE,
+                                       PIN_TO_SEED_EDGE,
+                                       os_, verbose_, quiet_, mate1, pool_, NULL); // no backtrack limit for -n 1/2
+                               EbwtSeededRangeSourceDriver * drRc_Seed = new EbwtSeededRangeSourceDriver(
+                                       drRc_FwSeed, drRc_BwSeedGen, fw, seedLen_, verbose_, quiet_, mate1);
+                               dr1RcVec->push_back(drRc_Fw);
+                               dr1RcVec->push_back(drRc_Seed);
+                       }
+                       if(do2Rc) {
+                               bool mate1 = false;
+                               bool fw = false;
+                               EbwtRangeSource *rRc_Fw = new EbwtRangeSource(
+                                       &ebwtFw_, fw,  qualCutoff_, true,  verbose_, quiet_,
+                                       halfAndHalf, false, maqPenalty_, qualOrder_);
+                               EbwtRangeSourceFactory *rRc_FwSeed = new EbwtRangeSourceFactory(
+                                       &ebwtFw_, fw,  qualCutoff_, true,  verbose_, quiet_,
+                                       halfAndHalf, false, maqPenalty_, qualOrder_);
+                               EbwtRangeSource *rRc_BwSeedGen = new EbwtRangeSource(
+                                        ebwtBw_, fw,  qualCutoff_, false, verbose_, quiet_,
+                                       halfAndHalf, true,  maqPenalty_, qualOrder_);
+                               EbwtRangeSourceDriver * drRc_Fw = new EbwtRangeSourceDriver(
+                                       *params, rRc_Fw, fw, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                                       seedLen_,   // seedLen
+                                       true,       // nudgeLeft
+                                       PIN_TO_HI_HALF_EDGE,
+                                       PIN_TO_SEED_EDGE,
+                                       PIN_TO_SEED_EDGE,
+                                       PIN_TO_SEED_EDGE,
+                                       os_, verbose_, quiet_, mate1, pool_, NULL); // no backtrack limit for -n 1/2
+                               EbwtRangeSourceDriverFactory * drRc_FwSeed = new EbwtRangeSourceDriverFactory(
+                                       *params, rRc_FwSeed, fw, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                                       seedLen_,   // seedLen
+                                       true,       // nudgeLeft
+                                       PIN_TO_SEED_EDGE,
+                                       PIN_TO_SEED_EDGE,
+                                       PIN_TO_SEED_EDGE,
+                                       PIN_TO_SEED_EDGE,
+                                       os_, verbose_, quiet_, mate1, pool_, NULL); // no backtrack limit for -n 1/2
+                               EbwtRangeSourceDriver * drRc_BwSeedGen = new EbwtRangeSourceDriver(
+                                       *params, rRc_BwSeedGen, fw, true, maqPenalty_, qualOrder_, sink_, sinkPt,
+                                       seedLen_,   // seedLen
+                                       false,      // nudgeLeft
+                                       PIN_TO_HI_HALF_EDGE,
+                                       PIN_TO_SEED_EDGE,
+                                       PIN_TO_SEED_EDGE,
+                                       PIN_TO_SEED_EDGE,
+                                       os_, verbose_, quiet_, mate1, pool_, NULL); // no backtrack limit for -n 1/2
+                               EbwtSeededRangeSourceDriver * drRc_Seed = new EbwtSeededRangeSourceDriver(
+                                       drRc_FwSeed, drRc_BwSeedGen, fw, seedLen_, verbose_, quiet_, mate1);
+                               dr2RcVec->push_back(drRc_Fw);
+                               dr2RcVec->push_back(drRc_Seed);
+                       }
+               } else if(seedMms_ > 1) {
+                       bool two = seedMms_ == 2;
+                       if(do1Fw) {
+                               bool mate1 = true;
+                               bool fw = true;
+                               EbwtRangeSource *rFw_Bw = new EbwtRangeSource(
+                                        ebwtBw_, fw,  qualCutoff_, true,  verbose_, quiet_, 0, false, maqPenalty_, qualOrder_);
+                               EbwtRangeSourceFactory *rFw_BwSeed = new EbwtRangeSourceFactory(
+                                        ebwtBw_, fw,  qualCutoff_, true,  verbose_, quiet_, 0, false, maqPenalty_, qualOrder_);
+                               EbwtRangeSource *rFw_FwSeedGen = new EbwtRangeSource(
+                                       &ebwtFw_, fw,  qualCutoff_, false, verbose_, quiet_, 0, true,  maqPenalty_, qualOrder_);
+                               EbwtRangeSource *rFw_BwHalf = new EbwtRangeSource(
+                                        ebwtBw_, fw,  qualCutoff_, false, verbose_, quiet_, 2,  false, maqPenalty_, qualOrder_);
+                               EbwtRangeSourceDriver * drFw_Bw = new EbwtRangeSourceDriver(
+                                       *params, rFw_Bw, fw, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                                       seedLen_,   // seedLen
+                                       true,       // nudgeLeft
+                                       PIN_TO_HI_HALF_EDGE,
+                                       PIN_TO_HI_HALF_EDGE,
+                                       two ? PIN_TO_SEED_EDGE : PIN_TO_HI_HALF_EDGE,
+                                       PIN_TO_SEED_EDGE,
+                                       os_, verbose_, quiet_, mate1, pool_, btCnt);
+                               EbwtRangeSourceDriverFactory * drFw_BwSeed = new EbwtRangeSourceDriverFactory(
+                                       *params, rFw_BwSeed, fw, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                                       seedLen_,   // seedLen
+                                       true,       // nudgeLeft
+                                       PIN_TO_SEED_EDGE,
+                                       PIN_TO_SEED_EDGE,
+                                       PIN_TO_SEED_EDGE,
+                                       PIN_TO_SEED_EDGE,
+                                       os_, verbose_, quiet_, mate1, pool_, btCnt);
+                               EbwtRangeSourceDriver * drFw_FwSeedGen = new EbwtRangeSourceDriver(
+                                       *params, rFw_FwSeedGen, fw, true, maqPenalty_, qualOrder_, sink_, sinkPt,
+                                       seedLen_,   // seedLen
+                                       false,      // nudgeLeft
+                                       PIN_TO_HI_HALF_EDGE,
+                                       PIN_TO_HI_HALF_EDGE,
+                                       two ? PIN_TO_SEED_EDGE : PIN_TO_HI_HALF_EDGE,
+                                       PIN_TO_SEED_EDGE,
+                                       os_, verbose_, quiet_, mate1, pool_, btCnt);
+                               EbwtSeededRangeSourceDriver * drFw_Seed = new EbwtSeededRangeSourceDriver(
+                                       drFw_BwSeed, drFw_FwSeedGen, fw, seedLen_, verbose_, quiet_, mate1);
+                               EbwtRangeSourceDriverFactory * drFw_BwSeed12 = NULL;
+                               if(!two) {
+                                       EbwtRangeSourceFactory *rFw_BwSeed12 = new EbwtRangeSourceFactory(
+                                                ebwtBw_, fw,  qualCutoff_, true,  verbose_, quiet_, 0, false, maqPenalty_, qualOrder_);
+                                       drFw_BwSeed12 = new EbwtRangeSourceDriverFactory(
+                                               *params, rFw_BwSeed12, fw, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                                               seedLen_,   // seedLen
+                                               true,       // nudgeLeft
+                                               PIN_TO_SEED_EDGE,
+                                               PIN_TO_SEED_EDGE,
+                                               PIN_TO_SEED_EDGE,
+                                               PIN_TO_SEED_EDGE,
+                                               os_, verbose_, quiet_, mate1, pool_, btCnt);
+                               }
+                               EbwtRangeSourceDriver * drFw_FwSeedGen12 = NULL;
+                               if(!two) {
+                                       EbwtRangeSource *rFw_FwSeedGen12 = new EbwtRangeSource(
+                                               &ebwtFw_, fw,  qualCutoff_, false, verbose_, quiet_, 3,  true,  maqPenalty_, qualOrder_);
+                                       drFw_FwSeedGen12 = new EbwtRangeSourceDriver(
+                                               *params, rFw_FwSeedGen12, fw, true, maqPenalty_, qualOrder_, sink_, sinkPt,
+                                               seedLen_,   // seedLen
+                                               false,      // nudgeLeft
+                                               PIN_TO_BEGINNING,
+                                               PIN_TO_HI_HALF_EDGE,
+                                               PIN_TO_HI_HALF_EDGE,
+                                               PIN_TO_SEED_EDGE,
+                                               os_, verbose_, quiet_, mate1, pool_, btCnt);
+                               }
+                               EbwtSeededRangeSourceDriver * drFw_Seed12 = NULL;
+                               if(!two) {
+                                       drFw_Seed12 = new EbwtSeededRangeSourceDriver(
+                                               drFw_BwSeed12, drFw_FwSeedGen12, fw, seedLen_, verbose_, quiet_, mate1);
+                               }
+                               EbwtRangeSourceDriver * drFw_BwHalf = new EbwtRangeSourceDriver(
+                                       *params, rFw_BwHalf, fw, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                                       seedLen_,   // seedLen
+                                       true,       // nudgeLeft
+                                       PIN_TO_BEGINNING,    // nothing's unrevisitable
+                                       PIN_TO_HI_HALF_EDGE,
+                                       two ? PIN_TO_SEED_EDGE : PIN_TO_HI_HALF_EDGE,
+                                       PIN_TO_SEED_EDGE,
+                                       os_, verbose_, quiet_, mate1, pool_, btCnt);
+                               dr1FwVec->push_back(drFw_Bw);
+                               dr1FwVec->push_back(drFw_Seed);
+                               if(drFw_Seed12 != NULL) {
+                                       dr1FwVec->push_back(drFw_Seed12);
+                               }
+                               dr1FwVec->push_back(drFw_BwHalf);
+                       }
+                       if(do2Fw) {
+                               bool mate1 = false;
+                               bool fw = true;
+                               EbwtRangeSource *rFw_Bw = new EbwtRangeSource(
+                                        ebwtBw_, fw,  qualCutoff_, true,  verbose_, quiet_, 0, false, maqPenalty_, qualOrder_);
+                               EbwtRangeSourceFactory *rFw_BwSeed = new EbwtRangeSourceFactory(
+                                        ebwtBw_, fw,  qualCutoff_, true,  verbose_, quiet_, 0, false, maqPenalty_, qualOrder_);
+                               EbwtRangeSource *rFw_FwSeedGen = new EbwtRangeSource(
+                                       &ebwtFw_, fw,  qualCutoff_, false, verbose_, quiet_, 0, true,  maqPenalty_, qualOrder_);
+                               EbwtRangeSource *rFw_BwHalf = new EbwtRangeSource(
+                                        ebwtBw_, fw,  qualCutoff_, false, verbose_, quiet_, 2,  false, maqPenalty_, qualOrder_);
+
+                               EbwtRangeSourceDriver * drFw_Bw = new EbwtRangeSourceDriver(
+                                       *params, rFw_Bw, fw, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                                       seedLen_,   // seedLen
+                                       true,       // nudgeLeft
+                                       PIN_TO_HI_HALF_EDGE,
+                                       PIN_TO_HI_HALF_EDGE,
+                                       two ? PIN_TO_SEED_EDGE : PIN_TO_HI_HALF_EDGE,
+                                       PIN_TO_SEED_EDGE,
+                                       os_, verbose_, quiet_, mate1, pool_, btCnt);
+                               EbwtRangeSourceDriverFactory * drFw_BwSeed = new EbwtRangeSourceDriverFactory(
+                                       *params, rFw_BwSeed, fw, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                                       seedLen_,   // seedLen
+                                       true,       // nudgeLeft
+                                       PIN_TO_SEED_EDGE,
+                                       PIN_TO_SEED_EDGE,
+                                       PIN_TO_SEED_EDGE,
+                                       PIN_TO_SEED_EDGE,
+                                       os_, verbose_, quiet_, mate1, pool_, btCnt);
+                               EbwtRangeSourceDriver * drFw_FwSeedGen = new EbwtRangeSourceDriver(
+                                       *params, rFw_FwSeedGen, fw, true, maqPenalty_, qualOrder_, sink_, sinkPt,
+                                       seedLen_,   // seedLen
+                                       false,      // nudgeLeft
+                                       PIN_TO_HI_HALF_EDGE,
+                                       PIN_TO_HI_HALF_EDGE,
+                                       two ? PIN_TO_SEED_EDGE : PIN_TO_HI_HALF_EDGE,
+                                       PIN_TO_SEED_EDGE,
+                                       os_, verbose_, quiet_, mate1, pool_, btCnt);
+                               EbwtSeededRangeSourceDriver * drFw_Seed = new EbwtSeededRangeSourceDriver(
+                                       drFw_BwSeed, drFw_FwSeedGen, fw, seedLen_, verbose_, quiet_, mate1);
+                               EbwtRangeSourceDriverFactory * drFw_BwSeed12 = NULL;
+                               if(!two) {
+                                       EbwtRangeSourceFactory *rFw_BwSeed12 = new EbwtRangeSourceFactory(
+                                                ebwtBw_, fw,  qualCutoff_, true,  verbose_, quiet_, 0, false, maqPenalty_, qualOrder_);
+                                       drFw_BwSeed12 = new EbwtRangeSourceDriverFactory(
+                                               *params, rFw_BwSeed12, fw, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                                               seedLen_,   // seedLen
+                                               true,       // nudgeLeft
+                                               PIN_TO_SEED_EDGE,
+                                               PIN_TO_SEED_EDGE,
+                                               PIN_TO_SEED_EDGE,
+                                               PIN_TO_SEED_EDGE,
+                                               os_, verbose_, quiet_, mate1, pool_, btCnt);
+                               }
+                               EbwtRangeSourceDriver * drFw_FwSeedGen12 = NULL;
+                               if(!two) {
+                                       EbwtRangeSource *rFw_FwSeedGen12 = new EbwtRangeSource(
+                                               &ebwtFw_, fw,  qualCutoff_, false, verbose_, quiet_, 3,  true,  maqPenalty_, qualOrder_);
+                                       drFw_FwSeedGen12 = new EbwtRangeSourceDriver(
+                                               *params, rFw_FwSeedGen12, fw, true, maqPenalty_, qualOrder_, sink_, sinkPt,
+                                               seedLen_,   // seedLen
+                                               false,      // nudgeLeft
+                                               PIN_TO_BEGINNING,
+                                               PIN_TO_HI_HALF_EDGE,
+                                               PIN_TO_HI_HALF_EDGE,
+                                               PIN_TO_SEED_EDGE,
+                                               os_, verbose_, quiet_, mate1, pool_, btCnt);
+                               }
+                               EbwtSeededRangeSourceDriver * drFw_Seed12 = NULL;
+                               if(!two) {
+                                       drFw_Seed12 = new EbwtSeededRangeSourceDriver(
+                                               drFw_BwSeed12, drFw_FwSeedGen12, fw, seedLen_, verbose_, quiet_, mate1);
+                               }
+                               EbwtRangeSourceDriver * drFw_BwHalf = new EbwtRangeSourceDriver(
+                                       *params, rFw_BwHalf, fw, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                                       seedLen_,   // seedLen
+                                       true,       // nudgeLeft
+                                       PIN_TO_BEGINNING,    // nothing's unrevisitable
+                                       PIN_TO_HI_HALF_EDGE,
+                                       two ? PIN_TO_SEED_EDGE : PIN_TO_HI_HALF_EDGE,
+                                       PIN_TO_SEED_EDGE,
+                                       os_, verbose_, quiet_, mate1, pool_, btCnt);
+                               dr2FwVec->push_back(drFw_Bw);
+                               dr2FwVec->push_back(drFw_Seed);
+                               if(drFw_Seed12 != NULL) {
+                                       dr2FwVec->push_back(drFw_Seed12);
+                               }
+                               dr2FwVec->push_back(drFw_BwHalf);
+                       }
+                       if(do1Rc) {
+                               bool mate1 = true;
+                               bool fw = false;
+                               EbwtRangeSource *rRc_Fw = new EbwtRangeSource(
+                                       &ebwtFw_, fw,  qualCutoff_, true,  verbose_, quiet_, 0, false, maqPenalty_, qualOrder_);
+                               EbwtRangeSourceFactory *rRc_FwSeed = new EbwtRangeSourceFactory(
+                                       &ebwtFw_, fw,  qualCutoff_, true,  verbose_, quiet_, 0, false, maqPenalty_, qualOrder_);
+                               EbwtRangeSource *rRc_BwSeedGen = new EbwtRangeSource(
+                                        ebwtBw_, fw,  qualCutoff_, false, verbose_, quiet_, 0, true,  maqPenalty_, qualOrder_);
+                               EbwtRangeSource *rRc_FwHalf = new EbwtRangeSource(
+                                       &ebwtFw_, fw,  qualCutoff_, false, verbose_, quiet_, 2,  false, maqPenalty_, qualOrder_);
+
+                               EbwtRangeSourceDriver * drRc_Fw = new EbwtRangeSourceDriver(
+                                       *params, rRc_Fw, fw, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                                       seedLen_,   // seedLen
+                                       true,       // nudgeLeft
+                                       PIN_TO_HI_HALF_EDGE,
+                                       PIN_TO_HI_HALF_EDGE,
+                                       two ? PIN_TO_SEED_EDGE : PIN_TO_HI_HALF_EDGE,
+                                       PIN_TO_SEED_EDGE,
+                                       os_, verbose_, quiet_, mate1, pool_, btCnt);
+                               EbwtRangeSourceDriverFactory * drRc_FwSeed = new EbwtRangeSourceDriverFactory(
+                                       *params, rRc_FwSeed, fw, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                                       seedLen_,   // seedLen
+                                       true,       // nudgeLeft
+                                       PIN_TO_SEED_EDGE,
+                                       PIN_TO_SEED_EDGE,
+                                       PIN_TO_SEED_EDGE,
+                                       PIN_TO_SEED_EDGE,
+                                       os_, verbose_, quiet_, mate1, pool_, btCnt);
+                               EbwtRangeSourceDriver * drRc_BwSeedGen = new EbwtRangeSourceDriver(
+                                       *params, rRc_BwSeedGen, fw, true, maqPenalty_, qualOrder_, sink_, sinkPt,
+                                       seedLen_,   // seedLen
+                                       false,      // nudgeLeft
+                                       PIN_TO_HI_HALF_EDGE,
+                                       PIN_TO_HI_HALF_EDGE,
+                                       two ? PIN_TO_SEED_EDGE : PIN_TO_HI_HALF_EDGE,
+                                       PIN_TO_SEED_EDGE,
+                                       os_, verbose_, quiet_, mate1, pool_, btCnt);
+                               EbwtSeededRangeSourceDriver * drRc_Seed = new EbwtSeededRangeSourceDriver(
+                                       drRc_FwSeed, drRc_BwSeedGen, fw, seedLen_, verbose_, quiet_, mate1);
+                               EbwtRangeSourceDriverFactory * drRc_FwSeed12 = NULL;
+                               if(!two) {
+                                       EbwtRangeSourceFactory *rRc_FwSeed12 = new EbwtRangeSourceFactory(
+                                               &ebwtFw_, fw,  qualCutoff_, true,  verbose_, quiet_, 0, false, maqPenalty_, qualOrder_);
+                                       drRc_FwSeed12 = new EbwtRangeSourceDriverFactory(
+                                               *params, rRc_FwSeed12, fw, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                                               seedLen_,   // seedLen
+                                               true,       // nudgeLeft
+                                               PIN_TO_SEED_EDGE,
+                                               PIN_TO_SEED_EDGE,
+                                               PIN_TO_SEED_EDGE,
+                                               PIN_TO_SEED_EDGE,
+                                               os_, verbose_, quiet_, mate1, pool_, btCnt);
+                               }
+                               EbwtRangeSourceDriver * drRc_BwSeedGen12 = NULL;
+                               if(!two) {
+                                       EbwtRangeSource *rRc_BwSeedGen12 = new EbwtRangeSource(
+                                                ebwtBw_, fw,  qualCutoff_, false, verbose_, quiet_, 3,  true,  maqPenalty_, qualOrder_);
+                                       drRc_BwSeedGen12 = new EbwtRangeSourceDriver(
+                                               *params, rRc_BwSeedGen12, fw, true, maqPenalty_, qualOrder_, sink_, sinkPt,
+                                               seedLen_,   // seedLen
+                                               false,      // nudgeLeft
+                                               PIN_TO_BEGINNING,
+                                               PIN_TO_HI_HALF_EDGE,
+                                               PIN_TO_HI_HALF_EDGE,
+                                               PIN_TO_SEED_EDGE,
+                                               os_, verbose_, quiet_, mate1, pool_, btCnt);
+                               }
+                               EbwtSeededRangeSourceDriver * drRc_Seed12 = NULL;
+                               if(!two) {
+                                       drRc_Seed12 = new EbwtSeededRangeSourceDriver(
+                                               drRc_FwSeed12, drRc_BwSeedGen12, fw, seedLen_, verbose_, quiet_, mate1);
+                               }
+                               EbwtRangeSourceDriver * drRc_FwHalf = new EbwtRangeSourceDriver(
+                                       *params, rRc_FwHalf, fw, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                                       seedLen_,   // seedLen
+                                       true,       // nudgeLeft
+                                       PIN_TO_BEGINNING,    // nothing's unrevisitable
+                                       PIN_TO_HI_HALF_EDGE,
+                                       two ? PIN_TO_SEED_EDGE : PIN_TO_HI_HALF_EDGE,
+                                       PIN_TO_SEED_EDGE,
+                                       os_, verbose_, quiet_, mate1, pool_, btCnt);
+                               dr1RcVec->push_back(drRc_Fw);
+                               dr1RcVec->push_back(drRc_Seed);
+                               if(drRc_Seed12 != NULL) {
+                                       dr1RcVec->push_back(drRc_Seed12);
+                               }
+                               dr1RcVec->push_back(drRc_FwHalf);
+                       }
+                       if(do2Rc) {
+                               bool mate1 = false;
+                               bool fw = false;
+                               EbwtRangeSource *rRc_Fw = new EbwtRangeSource(
+                                       &ebwtFw_, fw,  qualCutoff_, true,  verbose_, quiet_, 0, false, maqPenalty_, qualOrder_);
+                               EbwtRangeSourceFactory *rRc_FwSeed = new EbwtRangeSourceFactory(
+                                       &ebwtFw_, fw,  qualCutoff_, true,  verbose_, quiet_, 0, false, maqPenalty_, qualOrder_);
+                               EbwtRangeSource *rRc_BwSeedGen = new EbwtRangeSource(
+                                        ebwtBw_, fw,  qualCutoff_, false, verbose_, quiet_, 0, true,  maqPenalty_, qualOrder_);
+                               EbwtRangeSource *rRc_FwHalf = new EbwtRangeSource(
+                                       &ebwtFw_, fw,  qualCutoff_, false, verbose_, quiet_, 2,  false, maqPenalty_, qualOrder_);
+
+                               EbwtRangeSourceDriver * drRc_Fw = new EbwtRangeSourceDriver(
+                                       *params, rRc_Fw, fw, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                                       seedLen_,   // seedLen
+                                       true,       // nudgeLeft
+                                       PIN_TO_HI_HALF_EDGE,
+                                       PIN_TO_HI_HALF_EDGE,
+                                       two ? PIN_TO_SEED_EDGE : PIN_TO_HI_HALF_EDGE,
+                                       PIN_TO_SEED_EDGE,
+                                       os_, verbose_, quiet_, mate1, pool_, btCnt);
+                               EbwtRangeSourceDriverFactory * drRc_FwSeed = new EbwtRangeSourceDriverFactory(
+                                       *params, rRc_FwSeed, fw, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                                       seedLen_,   // seedLen
+                                       true,       // nudgeLeft
+                                       PIN_TO_SEED_EDGE,
+                                       PIN_TO_SEED_EDGE,
+                                       PIN_TO_SEED_EDGE,
+                                       PIN_TO_SEED_EDGE,
+                                       os_, verbose_, quiet_, mate1, pool_, btCnt);
+                               EbwtRangeSourceDriver * drRc_BwSeedGen = new EbwtRangeSourceDriver(
+                                       *params, rRc_BwSeedGen, fw, true, maqPenalty_, qualOrder_, sink_, sinkPt,
+                                       seedLen_,   // seedLen
+                                       false,      // nudgeLeft
+                                       PIN_TO_HI_HALF_EDGE,
+                                       PIN_TO_HI_HALF_EDGE,
+                                       two ? PIN_TO_SEED_EDGE : PIN_TO_HI_HALF_EDGE,
+                                       PIN_TO_SEED_EDGE,
+                                       os_, verbose_, quiet_, mate1, pool_, btCnt);
+                               EbwtSeededRangeSourceDriver * drRc_Seed = new EbwtSeededRangeSourceDriver(
+                                       drRc_FwSeed, drRc_BwSeedGen, fw, seedLen_, verbose_, quiet_, mate1);
+                               EbwtRangeSourceDriverFactory * drRc_FwSeed12 = NULL;
+                               if(!two) {
+                                       EbwtRangeSourceFactory *rRc_FwSeed12 = new EbwtRangeSourceFactory(
+                                               &ebwtFw_, fw,  qualCutoff_, true,  verbose_, quiet_, 0, false, maqPenalty_, qualOrder_);
+                                       drRc_FwSeed12 = new EbwtRangeSourceDriverFactory(
+                                               *params, rRc_FwSeed12, fw, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                                               seedLen_,   // seedLen
+                                               true,       // nudgeLeft
+                                               PIN_TO_SEED_EDGE,
+                                               PIN_TO_SEED_EDGE,
+                                               PIN_TO_SEED_EDGE,
+                                               PIN_TO_SEED_EDGE,
+                                               os_, verbose_, quiet_, mate1, pool_, btCnt);
+                               }
+                               EbwtRangeSourceDriver * drRc_BwSeedGen12 = NULL;
+                               if(!two) {
+                                       EbwtRangeSource *rRc_BwSeedGen12 = new EbwtRangeSource(
+                                                ebwtBw_, fw,  qualCutoff_, false, verbose_, quiet_, 3,  true,  maqPenalty_, qualOrder_);
+                                       drRc_BwSeedGen12 = new EbwtRangeSourceDriver(
+                                               *params, rRc_BwSeedGen12, fw, true, maqPenalty_, qualOrder_, sink_, sinkPt,
+                                               seedLen_,   // seedLen
+                                               false,      // nudgeLeft
+                                               PIN_TO_BEGINNING,
+                                               PIN_TO_HI_HALF_EDGE,
+                                               PIN_TO_HI_HALF_EDGE,
+                                               PIN_TO_SEED_EDGE,
+                                               os_, verbose_, quiet_, mate1, pool_, btCnt);
+                               }
+                               EbwtSeededRangeSourceDriver * drRc_Seed12 = NULL;
+                               if(!two) {
+                                       drRc_Seed12 = new EbwtSeededRangeSourceDriver(
+                                               drRc_FwSeed12, drRc_BwSeedGen12, fw, seedLen_, verbose_, quiet_, mate1);
+                               }
+                               EbwtRangeSourceDriver * drRc_FwHalf = new EbwtRangeSourceDriver(
+                                       *params, rRc_FwHalf, fw, false, maqPenalty_, qualOrder_, sink_, sinkPt,
+                                       seedLen_,   // seedLen
+                                       true,       // nudgeLeft
+                                       PIN_TO_BEGINNING,    // nothing's unrevisitable
+                                       PIN_TO_HI_HALF_EDGE,
+                                       two ? PIN_TO_SEED_EDGE : PIN_TO_HI_HALF_EDGE,
+                                       PIN_TO_SEED_EDGE,
+                                       os_, verbose_, quiet_, mate1, pool_, btCnt);
+                               dr2RcVec->push_back(drRc_Fw);
+                               dr2RcVec->push_back(drRc_Seed);
+                               if(drRc_Seed12 != NULL) {
+                                       dr2RcVec->push_back(drRc_Seed12);
+                               }
+                               dr2RcVec->push_back(drRc_FwHalf);
+                       }
+               } else {
+                       cerr << "Unsupported --stateful mode: " << seedMms_ << endl;
+               }
+               // Set up a RangeChaser
+               RangeChaser<String<Dna> > *rchase =
+                       new RangeChaser<String<Dna> >(cacheLimit_, cacheFw_, cacheBw_);
+
+               if(v1_) {
+                       PairedBWAlignerV1<EbwtRangeSource>* al = new PairedBWAlignerV1<EbwtRangeSource>(
+                               params,
+                               new TCostAwareRangeSrcDr(strandFix_, dr1FwVec, verbose_, quiet_, false),
+                               new TCostAwareRangeSrcDr(strandFix_, dr1RcVec, verbose_, quiet_, false),
+                               new TCostAwareRangeSrcDr(strandFix_, dr2FwVec, verbose_, quiet_, false),
+                               new TCostAwareRangeSrcDr(strandFix_, dr2RcVec, verbose_, quiet_, false),
+                               refAligner, rchase, sink_, sinkPtFactory_, sinkPt,
+                               mate1fw_, mate2fw_, peInner_, peOuter_, dontReconcile_,
+                               symCeil_, mixedThresh_, mixedAttemptLim_, refs_,
+                               rangeMode_, verbose_, quiet_, maxBts_, pool_,
+                               btCnt);
+                       delete dr1FwVec;
+                       delete dr1RcVec;
+                       delete dr2FwVec;
+                       delete dr2RcVec;
+                       return al;
+               } else {
+                       // We dumped all the drivers into dr1FwVec
+                       PairedBWAlignerV2<EbwtRangeSource>* al = new PairedBWAlignerV2<EbwtRangeSource>(
+                               params, paramsSe1, paramsSe2,
+                               new TCostAwareRangeSrcDr(strandFix_, dr1FwVec, verbose_, quiet_, true),
+                               refAligner, rchase, sink_, sinkPtFactory_, sinkPt,
+                               sinkPtSe1, sinkPtSe2, mate1fw_, mate2fw_, peInner_, peOuter_,
+                               mixedAttemptLim_, refs_, rangeMode_, verbose_,
+                               quiet_, maxBts_, pool_, btCnt);
+                       delete dr1FwVec;
+                       return al;
+               }
+       }
+
+private:
+       Ebwt<String<Dna> >& ebwtFw_;
+       Ebwt<String<Dna> >* ebwtBw_;
+       bool color_;
+       const bool v1_; // whether to use V1 PairedAligner
+       const bool doFw_;
+       const bool doRc_;
+       const uint32_t seedMms_;
+       const uint32_t seedLen_;
+       const int qualCutoff_;
+       const int maxBts_;
+       HitSink& sink_;
+       const HitSinkPerThreadFactory& sinkPtFactory_;
+       const bool mate1fw_;
+       const bool mate2fw_;
+       const uint32_t peInner_;
+       const uint32_t peOuter_;
+       const bool dontReconcile_;
+       const uint32_t symCeil_;
+       const uint32_t mixedThresh_;
+       const uint32_t mixedAttemptLim_;
+       RangeCache *cacheFw_;
+       RangeCache *cacheBw_;
+       const uint32_t cacheLimit_;
+       ChunkPool *pool_;
+       BitPairReference* refs_;
+       vector<String<Dna5> >& os_;
+       const bool reportSe_;
+       const bool maqPenalty_;
+       const bool qualOrder_;
+       const bool strandFix_;
+       const bool rangeMode_;
+       const bool verbose_;
+       const bool quiet_;
+};
+
+#endif /* ALIGNER_SEED_MM_H_ */
diff --git a/alphabet.c b/alphabet.c
new file mode 100644 (file)
index 0000000..d75c2b1
--- /dev/null
@@ -0,0 +1,239 @@
+#include <stdint.h>
+
+uint8_t dna4Cat[] = {
+       /*   0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+       /*  16 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+       /*  32 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0,
+              /*                                        - */
+       /*  48 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+       /*  64 */ 0, 1, 2, 1, 2, 0, 0, 1, 2, 0, 0, 2, 0, 2, 2, 0,
+              /*    A  B  C  D        G  H        K     M  N */
+       /*  80 */ 0, 0, 2, 2, 1, 0, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0,
+              /*       R  S  T     V  W  X  Y */
+       /*  96 */ 0, 1, 2, 1, 2, 0, 0, 1, 2, 0, 0, 2, 0, 2, 2, 0,
+              /*    a  b  c  d        g  h        k     m  n */
+       /* 112 */ 0, 0, 2, 2, 1, 0, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0,
+              /*       r  s  t     v  w  x  y */
+       /* 128 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+       /* 144 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+       /* 160 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+       /* 176 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+       /* 192 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+       /* 208 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+       /* 224 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+       /* 240 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+};
+
+/// For converting from ASCII to the Dna5 code where A=0, C=1, G=2,
+/// T=3, N=4
+uint8_t charToDna5[] = {
+       /*   0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+       /*  16 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+       /*  32 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+       /*  48 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+       /*  64 */ 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 4, 0,
+              /*    A     C           G                    N */
+       /*  80 */ 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+              /*             T */
+       /*  96 */ 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 4, 0,
+              /*    a     c           g                    n */
+       /* 112 */ 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+              /*             t */
+       /* 128 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+       /* 144 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+       /* 160 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+       /* 176 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+       /* 192 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+       /* 208 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+       /* 224 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+       /* 240 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+};
+
+/// For converting from ASCII to the reverse-complement Dna5 code where
+/// A=3, C=2, G=1, T=0, N=4
+uint8_t rcCharToDna5[] = {
+       /*   0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+       /*  16 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+       /*  32 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+       /*  48 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+       /*  64 */ 0, 3, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 4, 0,
+              /*    A     C           G                    N */
+       /*  80 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+              /*             T */
+       /*  96 */ 0, 3, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 4, 0,
+              /*    a     c           g                    n */
+       /* 112 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+              /*             t */
+       /* 128 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+       /* 144 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+       /* 160 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+       /* 176 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+       /* 192 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+       /* 208 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+       /* 224 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+       /* 240 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+};
+
+/// For converting from ASCII to the Dna5 code where A=0, C=1, G=2,
+/// T=3, N=4
+uint8_t asc2col[] = {
+       /*   0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+       /*  16 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+       /*  32 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 0,
+              /*                                        -  . */
+       /*  48 */ 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+              /* 0  1  2  3 */
+       /*  64 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+       /*  80 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+       /*  96 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+       /* 112 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+       /* 128 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+       /* 144 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+       /* 160 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+       /* 176 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+       /* 192 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+       /* 208 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+       /* 224 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+       /* 240 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+};
+
+/**
+ * Mapping from ASCII characters to DNA categories:
+ *
+ * 0 = invalid - error
+ * 1 = DNA
+ * 2 = IUPAC (ambiguous DNA)
+ * 3 = not an error, but unmatchable; alignments containing this
+ *     character are invalid
+ */
+uint8_t asc2dnacat[] = {
+       /*   0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+       /*  16 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+       /*  32 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0,
+              /*                                        - */
+       /*  48 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+       /*  64 */ 0, 1, 2, 1, 2, 0, 0, 1, 2, 0, 0, 2, 0, 2, 2, 0,
+              /*    A  B  C  D        G  H        K     M  N */
+       /*  80 */ 0, 0, 2, 2, 1, 0, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0,
+              /*       R  S  T     V  W  X  Y */
+       /*  96 */ 0, 1, 2, 1, 2, 0, 0, 1, 2, 0, 0, 2, 0, 2, 2, 0,
+              /*    a  b  c  d        g  h        k     m  n */
+       /* 112 */ 0, 0, 2, 2, 1, 0, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0,
+              /*       r  s  t     v  w  x  y */
+       /* 128 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+       /* 144 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+       /* 160 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+       /* 176 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+       /* 192 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+       /* 208 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+       /* 224 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+       /* 240 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+};
+
+/**
+ * Mapping from ASCII characters for ambiguous nucleotides into masks:
+ */
+uint8_t asc2dnamask[] = {
+       /*   0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+       /*  16 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+       /*  32 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+       /*  48 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+       /*  64 */ 0, 1,14, 2,13, 0, 0, 4,11, 0, 0,12, 0, 3,15, 0,
+              /*    A  B  C  D        G  H        K     M  N */
+       /*  80 */ 0, 0, 5, 6, 8, 0, 7, 9, 0,10, 0, 0, 0, 0, 0, 0,
+              /*       R  S  T     V  W     Y */
+       /*  96 */ 0, 1,14, 2,13, 0, 0, 4,11, 0, 0,12, 0, 3,15, 0,
+              /*    a  b  c  d        g  h        k     m  n */
+       /* 112 */ 0, 0, 5, 6, 8, 0, 7, 9, 0,10, 0, 0, 0, 0, 0, 0,
+              /*       r  s  t     v  w     y */
+       /* 128 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+       /* 144 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+       /* 160 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+       /* 176 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+       /* 192 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+       /* 208 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+       /* 224 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+       /* 240 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+};
+
+/**
+ * Mapping from ASCII characters for ambiguous nucleotides into masks:
+ */
+char asc2dnacomp[] = {
+       /*   0 */ 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+       /*  16 */ 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+       /*  32 */ 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,'-',  0,  0,
+       /*  48 */ 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+       /*  64 */ 0,'T','V','G','H',  0,  0,'C','D',  0,  0,'M',  0,'K','N',  0,
+              /*    A   B   C   D           G   H           K       M   N */
+       /*  80 */ 0,  0,'Y','S','A',  0,'B','W',  0,'R',  0,  0,  0,  0,  0,  0,
+              /*        R   S   T       V   W       Y */
+       /*  96 */ 0,'T','V','G','H',  0,  0,'C','D',  0,  0,'M',  0,'K','N',  0,
+               /*   a   b   c   d           g   h           k       m   n */
+       /* 112 */ 0,  0,'Y','S','A',  0,'B','W',  0,'R',  0,  0,  0,  0,  0,  0,
+              /*        r   s   t       v   w       y */
+       /* 128 */ 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+       /* 144 */ 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+       /* 160 */ 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+       /* 176 */ 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+       /* 192 */ 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+       /* 208 */ 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+       /* 224 */ 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+       /* 240 */ 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0
+};
+
+/**
+ * Mapping from ASCII characters to color categories:
+ *
+ * 0 = invalid - error
+ * 1 = valid color
+ * 2 = IUPAC (ambiguous DNA) - there is no such thing for colors to my
+ *     knowledge
+ * 3 = not an error, but unmatchable; alignments containing this
+ *     character are invalid
+ */
+uint8_t asc2colcat[] = {
+       /*   0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+       /*  16 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+       /*  32 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0,
+              /*                                        -  . */
+       /*  48 */ 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+              /* 0  1  2  3 */
+       /*  64 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+       /*  80 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+       /*  96 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+       /* 112 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+       /* 128 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+       /* 144 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+       /* 160 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+       /* 176 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+       /* 192 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+       /* 208 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+       /* 224 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+       /* 240 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+};
+
+/**
+ * Convert a nucleotide and a color to the paired nucleotide.  Indexed
+ * first by nucleotide then by color.  Note that this is exactly the
+ * same as the dinuc2color array.
+ */
+uint8_t nuccol2nuc[5][5] = {
+       /*       B  G  O  R  . */
+       /* A */ {0, 1, 2, 3, 4},
+       /* C */ {1, 0, 3, 2, 4},
+       /* G */ {2, 3, 0, 1, 4},
+       /* T */ {3, 2, 1, 0, 4},
+       /* N */ {4, 4, 4, 4, 4}
+};
+
+/**
+ * Convert a pair of nucleotides to a color.
+ */
+uint8_t dinuc2color[5][5] = {
+       /* A */ {0, 1, 2, 3, 4},
+       /* C */ {1, 0, 3, 2, 4},
+       /* G */ {2, 3, 0, 1, 4},
+       /* T */ {3, 2, 1, 0, 4},
+       /* N */ {4, 4, 4, 4, 4}
+};
diff --git a/alphabet.h b/alphabet.h
new file mode 100644 (file)
index 0000000..b464ddf
--- /dev/null
@@ -0,0 +1,252 @@
+#ifndef ALPHABETS_H_
+#define ALPHABETS_H_
+
+#include <stdexcept>
+#include <string>
+#include <seqan/sequence.h>
+#include <seqan/file.h>
+#include <sstream>
+#include "assert_helpers.h"
+
+using namespace std;
+using namespace seqan;
+
+/**
+ * Return a new TStr containing the reverse-complement of s.  Ns go to
+ * Ns.
+ */
+template<typename TStr>
+static inline TStr reverseComplement(const TStr& s, bool color) {
+       typedef typename Value<TStr>::Type TVal;
+       TStr s_rc;
+       size_t slen = length(s);
+       resize(s_rc, slen);
+       if(color) {
+               for(size_t i = 0; i < slen; i++) {
+                       s_rc[i] = s[slen-i-1];
+               }
+       } else {
+               for(size_t i = 0; i < slen; i++) {
+                       int sv = (int)s[slen-i-1];
+                       if(sv == 4) {
+                               s_rc[i] = (TVal)4;
+                       } else {
+                               s_rc[i] = (TVal)(sv ^ 3);
+                       }
+               }
+       }
+       return s_rc;
+}
+
+/**
+ * Reverse-complement s in-place.  Ns go to Ns.
+ */
+template<typename TStr>
+static inline void reverseComplementInPlace(TStr& s, bool color) {
+       typedef typename Value<TStr>::Type TVal;
+       if(color) {
+               reverseInPlace(s);
+               return;
+       }
+       size_t len = length(s);
+       size_t i;
+       for(i = 0; i < (len>>1); i++) {
+               int sv = (int)s[len-i-1];
+               int sf = (int)s[i];
+               if(sv == 4) {
+                       s[i] = (TVal)4;
+               } else {
+                       s[i] = (TVal)(sv ^ 3);
+               }
+               if(sf == 4)  {
+                       s[len-i-1] = (TVal)4;
+               } else {
+                       s[len-i-1] = (TVal)(sf ^ 3);
+               }
+       }
+       if((len & 1) != 0 && (int)s[len >> 1] != 4) {
+               s[len >> 1] = (TVal)((int)s[len >> 1] ^ 3);
+       }
+}
+
+/// Reverse a string in-place
+template <typename TStr>
+static inline void reverseInPlace(TStr& s) {
+       typedef typename Value<TStr>::Type TVal;
+       size_t len = length(s);
+       for(size_t i = 0; i < (len>>1); i++) {
+               TVal tmp = s[i];
+               s[i] = s[len-i-1];
+               s[len-i-1] = tmp;
+       }
+}
+
+/**
+ * Return the reverse-complement of s.
+ */
+template<typename TStr>
+static inline TStr reverseCopy(const TStr& s) {
+       typedef typename Value<TStr>::Type TVal;
+       TStr s_rc;
+       size_t slen = length(s);
+       resize(s_rc, slen);
+       for(size_t i = 0; i < slen; i++) {
+               s_rc[i] = (TVal)((int)s[slen-i-1]);
+       }
+       return s_rc;
+}
+
+/**
+ * Return true iff the first string is dollar-less-than the second.
+ * This means that we pretend that a 'dollar sign' character,
+ * lexicographically larger than all other characters, exists at the
+ * end of both strings.
+ */
+template <typename TStr>
+static inline bool
+dollarLt(const TStr& l, const TStr& r) {
+       return isPrefix(r, l) || (l < r && !isPrefix(l, r));
+}
+
+/**
+ * Return true iff the first string is dollar-greater-than the second.
+ * This means that we pretend that a 'dollar sign' character,
+ * lexicographically larger than all other characters, exists at the
+ * end of both strings.
+ */
+template <typename TStr>
+static inline bool
+dollarGt(const TStr& l, const TStr& r) {
+       return !dollarLt(l, r);
+}
+
+/**
+ * Return a copy of the suffix of l starting at 'off'.
+ */
+template <typename TStr>
+static inline std::string
+suffixStr(const TStr& l, size_t off) {
+       typedef typename Value<TStr>::Type TVal;
+       std::string ret;
+       size_t len = seqan::length(l);
+       for(size_t i = off; i < len; i++) {
+               ret.push_back((char)(TVal)l[i]);
+       }
+       return ret;
+}
+
+/**
+ * Calculate the entropy of the given read.  Handle Ns by charging them
+ * to the most frequent non-N character.
+ */
+static inline float entropyDna5(const String<Dna5>& read) {
+       size_t cs[5] = {0, 0, 0, 0, 0};
+       size_t readLen = seqan::length(read);
+       for(size_t i = 0; i < readLen; i++) {
+               int c = (int)read[i];
+               assert_lt(c, 5);
+               assert_geq(c, 0);
+               cs[c]++;
+       }
+       if(cs[4] > 0) {
+               // Charge the Ns to the non-N character with maximal count and
+               // then exclude them from the entropy calculation (i.e.,
+               // penalize Ns as much as possible)
+               if(cs[0] >= cs[1] && cs[0] >= cs[2] && cs[0] >= cs[3]) {
+                       // Charge Ns to As
+                       cs[0] += cs[4];
+               } else if(cs[1] >= cs[2] && cs[1] >= cs[3]) {
+                       // Charge Ns to Cs
+                       cs[1] += cs[4];
+               } else if(cs[2] >= cs[3]) {
+                       // Charge Ns to Gs
+                       cs[2] += cs[4];
+               } else {
+                       // Charge Ns to Ts
+                       cs[3] += cs[4];
+               }
+       }
+       float ent = 0.0;
+       for(int i = 0; i < 4; i++) {
+               if(cs[i] > 0) {
+                       float frac = (float)cs[i] / (float)readLen;
+                       ent += (frac * log(frac));
+               }
+       }
+       ent = -ent;
+       assert_geq(ent, 0.0);
+       return ent;
+}
+
+/**
+ * Return the DNA complement of the given ASCII char.
+ */
+static inline char comp(char c) {
+       switch(c) {
+       case 'a': return 't';
+       case 'A': return 'T';
+       case 'c': return 'g';
+       case 'C': return 'G';
+       case 'g': return 'c';
+       case 'G': return 'C';
+       case 't': return 'a';
+       case 'T': return 'A';
+       default: return c;
+       }
+}
+
+extern uint8_t dna4Cat[];
+extern uint8_t charToDna5[];
+extern uint8_t asc2col[];
+extern uint8_t rcCharToDna5[];
+
+/// Convert an ascii char to a DNA category.  Categories are:
+/// 0 -> invalid
+/// 1 -> unambiguous a, c, g or t
+/// 2 -> ambiguous
+/// 3 -> unmatchable
+extern uint8_t asc2dnacat[];
+
+/// Convert an ascii char to a color category.  Categories are:
+/// 0 -> invalid
+/// 1 -> unambiguous 0, 1, 2 or 3
+/// 2 -> ambiguous (not applicable for colors)
+/// 3 -> unmatchable
+extern uint8_t asc2colcat[];
+
+/// Convert a 2-bit nucleotide (and 4=N) and a color to the
+/// corresponding 2-bit nucleotide
+extern uint8_t nuccol2nuc[5][5];
+
+/**
+ * Return true iff c is an unambiguous Dna character.
+ */
+static inline bool isUnambigDna(char c) {
+       return asc2dnacat[(int)c] == 1;
+}
+
+/**
+ * Return true iff c is a Dna character.
+ */
+static inline bool isDna(char c) {
+       return asc2dnacat[(int)c] > 0;
+}
+
+/**
+ * Return true iff c is an unambiguous color character (0,1,2,3).
+ */
+static inline bool isUnambigColor(char c) {
+       return asc2colcat[(int)c] == 1;
+}
+
+/**
+ * Return true iff c is a color character.
+ */
+static inline bool isColor(char c) {
+       return asc2colcat[(int)c] > 0;
+}
+
+/// Convert a pair of 2-bit (and 4=N) encoded DNA bases to a color
+extern uint8_t dinuc2color[5][5];
+
+#endif /*ALPHABETS_H_*/
diff --git a/annot.cpp b/annot.cpp
new file mode 100644 (file)
index 0000000..648689f
--- /dev/null
+++ b/annot.cpp
@@ -0,0 +1,30 @@
+/*
+ * annot.cpp
+ *
+ *  Created on: Aug 3, 2009
+ *      Author: Ben Langmead
+ */
+
+#include <stdexcept>
+#include "annot.h"
+
+using namespace std;
+
+/**
+ * Parse an annotation-map file.
+ */
+void AnnotationMap::parse() {
+       ifstream in(fname_);
+       if(!in.good() && in.is_open()) {
+               cerr << "Could not open annotation file " << fname_ << endl;
+               throw 1;
+       }
+       while(in.peek() != EOF) {
+               U32Pair pos;
+               CharPair an;
+               in >> pos.first >> pos.second >> an.first >> an.second;
+               map_[pos] = an;
+               while(isspace(in.peek())) in.get();
+       }
+       in.close();
+}
diff --git a/annot.h b/annot.h
new file mode 100644 (file)
index 0000000..d5fd250
--- /dev/null
+++ b/annot.h
@@ -0,0 +1,62 @@
+/*
+ * annot.h
+ *
+ *  Created on: Aug 3, 2009
+ *      Author: Ben Langmead
+ */
+
+#ifndef ANNOT_H_
+#define ANNOT_H_
+
+#include <stdint.h>
+#include <map>
+#include <iostream>
+#include <fstream>
+
+/**
+ * Encapsulates a sorted list of reference positions that are annotated
+ * somehow (e.g. as a SNP).
+ */
+class AnnotationMap {
+public:
+       typedef std::pair<uint32_t, uint32_t> U32Pair;
+       typedef std::pair<char, char> CharPair;
+       typedef std::map<U32Pair, CharPair> AnnotMap;
+       typedef std::map<U32Pair, CharPair>::const_iterator Iter;
+
+       AnnotationMap(const char *fname) {
+               fname_ = fname;
+               parse();
+       }
+
+       /**
+        * Give a reference coordinate in the index, translate it into a
+        * new reference coordinate via the reference map supplied by the
+        * user.
+        */
+       Iter lower_bound(const U32Pair& h) const {
+               return map_.lower_bound(h);
+       }
+
+       Iter begin() const {
+               return map_.begin();
+       }
+
+       Iter end() const {
+               return map_.end();
+       }
+
+protected:
+
+       /**
+        * Parse an annotation-map file.
+        */
+       void parse();
+
+       /// filename of file containing the annotation map
+       const char *fname_;
+       /// maps reference positions to character annotations
+       AnnotMap map_;
+};
+
+#endif /* ANNOT_H_ */
diff --git a/assert_helpers.h b/assert_helpers.h
new file mode 100644 (file)
index 0000000..cb46fa0
--- /dev/null
@@ -0,0 +1,259 @@
+#ifndef ASSERT_HELPERS_H_
+#define ASSERT_HELPERS_H_
+
+#include <stdexcept>
+#include <string>
+#include <cassert>
+
+/**
+ * Assertion for release-enabled assertions
+ */
+class ReleaseAssertException : public std::runtime_error {
+public:
+       ReleaseAssertException(const std::string& msg = "") : std::runtime_error(msg) {}
+};
+
+/**
+ * Macros for release-enabled assertions, and helper macros to make
+ * all assertion error messages more helpful.
+ */
+#ifndef NDEBUG
+#define ASSERT_ONLY(x...) x
+#else
+#define ASSERT_ONLY(x...)
+#endif
+
+#define rt_assert(b)  \
+       if(!(b)) { \
+               std::cout << "rt_assert at " << __FILE__ << ":" << __LINE__ << std::endl; \
+               throw ReleaseAssertException(); \
+       }
+#define rt_assert_msg(b,msg)  \
+       if(!(b)) { \
+               std::cout << msg <<  " at " << __FILE__ << ":" << __LINE__ << std::endl; \
+               throw ReleaseAssertException(msg); \
+       }
+
+#define rt_assert_eq(ex,ac)  \
+       if(!((ex) == (ac))) { \
+               std::cout << "rt_assert_eq: expected (" << (ex) << ", 0x" << std::hex << (ex) << std::dec << ") got (" << (ac) << ", 0x" << std::hex << (ac) << std::dec << ")" << std::endl; \
+               std::cout << __FILE__ << ":" << __LINE__ << std::endl; \
+               throw ReleaseAssertException(); \
+       }
+#define rt_assert_eq_msg(ex,ac,msg)  \
+       if(!((ex) == (ac))) { \
+               std::cout << "rt_assert_eq: " << msg <<  ": (" << (ex) << ", 0x" << std::hex << (ex) << std::dec << ") got (" << (ac) << ", 0x" << std::hex << (ac) << std::dec << ")" << std::endl; \
+               std::cout << __FILE__ << ":" << __LINE__ << std::endl; \
+               throw ReleaseAssertException(msg); \
+       }
+
+#ifndef NDEBUG
+#define assert_eq(ex,ac)  \
+       if(!((ex) == (ac))) { \
+               std::cout << "assert_eq: expected (" << (ex) << ", 0x" << std::hex << (ex) << std::dec << ") got (" << (ac) << ", 0x" << std::hex << (ac) << std::dec << ")" << std::endl; \
+               std::cout << __FILE__ << ":" << __LINE__ << std::endl; \
+               assert(0); \
+       }
+#define assert_eq_msg(ex,ac,msg)  \
+       if(!((ex) == (ac))) { \
+               std::cout << "assert_eq: " << msg <<  ": (" << (ex) << ", 0x" << std::hex << (ex) << std::dec << ") got (" << (ac) << ", 0x" << std::hex << (ac) << std::dec << ")" << std::endl; \
+               std::cout << __FILE__ << ":" << __LINE__ << std::endl; \
+               assert(0); \
+       }
+#else
+#define assert_eq(ex,ac)
+#define assert_eq_msg(ex,ac,msg)
+#endif
+
+#define rt_assert_neq(ex,ac)  \
+       if(!((ex) != (ac))) { \
+               std::cout << "rt_assert_neq: expected not (" << (ex) << ", 0x" << std::hex << (ex) << std::dec << ") got (" << (ac) << ", 0x" << std::hex << (ac) << std::dec << ")" << std::endl; \
+               std::cout << __FILE__ << ":" << __LINE__ << std::endl; \
+               throw ReleaseAssertException(); \
+       }
+#define rt_assert_neq_msg(ex,ac,msg)  \
+       if(!((ex) != (ac))) { \
+               std::cout << "rt_assert_neq: " << msg << ": (" << (ex) << ", 0x" << std::hex << (ex) << std::dec << ") got (" << (ac) << ", 0x" << std::hex << (ac) << std::dec << ")" << std::endl; \
+               std::cout << __FILE__ << ":" << __LINE__ << std::endl; \
+               throw ReleaseAssertException(msg); \
+       }
+
+#ifndef NDEBUG
+#define assert_neq(ex,ac)  \
+       if(!((ex) != (ac))) { \
+               std::cout << "assert_neq: expected not (" << (ex) << ", 0x" << std::hex << (ex) << std::dec << ") got (" << (ac) << ", 0x" << std::hex << (ac) << std::dec << ")" << std::endl; \
+               std::cout << __FILE__ << ":" << __LINE__ << std::endl; \
+               assert(0); \
+       }
+#define assert_neq_msg(ex,ac,msg)  \
+       if(!((ex) != (ac))) { \
+               std::cout << "assert_neq: " << msg << ": (" << (ex) << ", 0x" << std::hex << (ex) << std::dec << ") got (" << (ac) << ", 0x" << std::hex << (ac) << std::dec << ")" << std::endl; \
+               std::cout << __FILE__ << ":" << __LINE__ << std::endl; \
+               assert(0); \
+       }
+#else
+#define assert_neq(ex,ac)
+#define assert_neq_msg(ex,ac,msg)
+#endif
+
+#define rt_assert_gt(a,b) \
+       if(!((a) > (b))) { \
+               std::cout << "rt_assert_gt: expected (" << (a) << ") > (" << (b) << ")" << std::endl; \
+               std::cout << __FILE__ << ":" << __LINE__ << std::endl; \
+               throw ReleaseAssertException(); \
+       }
+#define rt_assert_gt_msg(a,b,msg) \
+       if(!((a) > (b))) { \
+               std::cout << "rt_assert_gt: " << msg << ": (" << (a) << ") > (" << (b) << ")" << std::endl; \
+               std::cout << __FILE__ << ":" << __LINE__ << std::endl; \
+               throw ReleaseAssertException(msg); \
+       }
+
+#ifndef NDEBUG
+#define assert_gt(a,b) \
+       if(!((a) > (b))) { \
+               std::cout << "assert_gt: expected (" << (a) << ") > (" << (b) << ")" << std::endl; \
+               std::cout << __FILE__ << ":" << __LINE__ << std::endl; \
+               assert(0); \
+       }
+#define assert_gt_msg(a,b,msg) \
+       if(!((a) > (b))) { \
+               std::cout << "assert_gt: " << msg << ": (" << (a) << ") > (" << (b) << ")" << std::endl; \
+               std::cout << __FILE__ << ":" << __LINE__ << std::endl; \
+               assert(0); \
+       }
+#else
+#define assert_gt(a,b)
+#define assert_gt_msg(a,b,msg)
+#endif
+
+#define rt_assert_geq(a,b) \
+       if(!((a) >= (b))) { \
+               std::cout << "rt_assert_geq: expected (" << (a) << ") >= (" << (b) << ")" << std::endl; \
+               std::cout << __FILE__ << ":" << __LINE__ << std::endl; \
+               throw ReleaseAssertException(); \
+       }
+#define rt_assert_geq_msg(a,b,msg) \
+       if(!((a) >= (b))) { \
+               std::cout << "rt_assert_geq: " << msg << ": (" << (a) << ") >= (" << (b) << ")" << std::endl; \
+               std::cout << __FILE__ << ":" << __LINE__ << std::endl; \
+               throw ReleaseAssertException(msg); \
+       }
+
+#ifndef NDEBUG
+#define assert_geq(a,b) \
+       if(!((a) >= (b))) { \
+               std::cout << "assert_geq: expected (" << (a) << ") >= (" << (b) << ")" << std::endl; \
+               std::cout << __FILE__ << ":" << __LINE__ << std::endl; \
+               assert(0); \
+       }
+#define assert_geq_msg(a,b,msg) \
+       if(!((a) >= (b))) { \
+               std::cout << "assert_geq: " << msg << ": (" << (a) << ") >= (" << (b) << ")" << std::endl; \
+               std::cout << __FILE__ << ":" << __LINE__ << std::endl; \
+               assert(0); \
+       }
+#else
+#define assert_geq(a,b)
+#define assert_geq_msg(a,b,msg)
+#endif
+
+#define rt_assert_lt(a,b) \
+       if(!(a < b)) { \
+               std::cout << "rt_assert_lt: expected (" << a << ") < (" << b << ")" << std::endl; \
+               std::cout << __FILE__ << ":" << __LINE__ << std::endl; \
+               throw ReleaseAssertException(); \
+       }
+#define rt_assert_lt_msg(a,b,msg) \
+       if(!(a < b)) { \
+               std::cout << "rt_assert_lt: " << msg << ": (" << a << ") < (" << b << ")" << std::endl; \
+               std::cout << __FILE__ << ":" << __LINE__ << std::endl; \
+               throw ReleaseAssertException(msg); \
+       }
+
+#ifndef NDEBUG
+#define assert_lt(a,b) \
+       if(!(a < b)) { \
+               std::cout << "assert_lt: expected (" << a << ") < (" << b << ")" << std::endl; \
+               std::cout << __FILE__ << ":" << __LINE__ << std::endl; \
+               assert(0); \
+       }
+#define assert_lt_msg(a,b,msg) \
+       if(!(a < b)) { \
+               std::cout << "assert_lt: " << msg << ": (" << a << ") < (" << b << ")" << std::endl; \
+               std::cout << __FILE__ << ":" << __LINE__ << std::endl; \
+               assert(0); \
+       }
+#else
+#define assert_lt(a,b)
+#define assert_lt_msg(a,b,msg)
+#endif
+
+#define rt_assert_leq(a,b) \
+       if(!((a) <= (b))) { \
+               std::cout << "rt_assert_leq: expected (" << (a) << ") <= (" << (b) << ")" << std::endl; \
+               std::cout << __FILE__ << ":" << __LINE__ << std::endl; \
+               throw ReleaseAssertException(); \
+       }
+#define rt_assert_leq_msg(a,b,msg) \
+       if(!((a) <= (b))) { \
+               std::cout << "rt_assert_leq: " << msg << ": (" << (a) << ") <= (" << (b) << ")" << std::endl; \
+               std::cout << __FILE__ << ":" << __LINE__ << std::endl; \
+               throw ReleaseAssertException(msg); \
+       }
+
+#ifndef NDEBUG
+#define assert_leq(a,b) \
+       if(!((a) <= (b))) { \
+               std::cout << "assert_leq: expected (" << (a) << ") <= (" << (b) << ")" << std::endl; \
+               std::cout << __FILE__ << ":" << __LINE__ << std::endl; \
+               assert(0); \
+       }
+#define assert_leq_msg(a,b,msg) \
+       if(!((a) <= (b))) { \
+               std::cout << "assert_leq: " << msg << ": (" << (a) << ") <= (" << (b) << ")" << std::endl; \
+               std::cout << __FILE__ << ":" << __LINE__ << std::endl; \
+               assert(0); \
+       }
+#else
+#define assert_leq(a,b)
+#define assert_leq_msg(a,b,msg)
+#endif
+
+#ifndef NDEBUG
+#define assert_in(c, s) assert_in2(c, s, __FILE__, __LINE__)
+static inline void assert_in2(char c, const char *str, const char *file, int line) {
+       const char *s = str;
+       while(*s != '\0') {
+               if(c == *s) return;
+               s++;
+       }
+       std::cout << "assert_in: (" << c << ") not in  (" << str << ")" << std::endl;
+       std::cout << file << ":" << line << std::endl;
+       assert(0);
+}
+#else
+#define assert_in(c, s)
+#endif
+
+#ifndef NDEBUG
+#define assert_range(b, e, v) assert_range_helper(b, e, v, __FILE__, __LINE__)
+template<typename T>
+inline static void assert_range_helper(const T& begin,
+                                       const T& end,
+                                       const T& val,
+                                       const char *file,
+                                       int line)
+{
+       if(val < begin || val > end) {
+               std::cout << "assert_range: (" << val << ") not in  ["
+                         << begin << ", " << end << "]" << std::endl;
+               std::cout << file << ":" << line << std::endl;
+               assert(0);
+       }
+}
+#else
+#define assert_range(b, e, v)
+#endif
+
+#endif /*ASSERT_HELPERS_H_*/
diff --git a/auto_array.h b/auto_array.h
new file mode 100644 (file)
index 0000000..afbc08a
--- /dev/null
@@ -0,0 +1,38 @@
+/*
+ * auto_array.h
+ *
+ *  Created on: Oct 12, 2009
+ *      Author: Ben Langmead
+ */
+
+#include <cstring>
+
+#ifndef AUTO_ARRAY_H_
+#define AUTO_ARRAY_H_
+
+/**
+ * A simple fixed-length array of type T, automatically freed in the
+ * destructor.
+ */
+template<typename T>
+class AutoArray {
+public:
+       AutoArray(size_t sz) {
+               t_ = NULL;
+               t_ = new T[sz];
+               memset(t_, 0, sz*sizeof(T));
+               sz_ = sz;
+       }
+       ~AutoArray() { if(t_ != NULL) delete[] t_; }
+       T& operator[](size_t sz) {
+               return t_[sz];
+       }
+       const T& operator[](size_t sz) const {
+               return t_[sz];
+       }
+private:
+       T *t_;
+       size_t sz_;
+};
+
+#endif /* AUTO_ARRAY_H_ */
diff --git a/binary_sa_search.h b/binary_sa_search.h
new file mode 100644 (file)
index 0000000..49b7c6d
--- /dev/null
@@ -0,0 +1,76 @@
+#ifndef BINARY_SA_SEARCH_H_
+#define BINARY_SA_SEARCH_H_
+
+#include <stdint.h>
+#include <iostream>
+#include <seqan/sequence.h>
+#include "alphabet.h"
+#include "assert_helpers.h"
+
+/**
+ * Do a binary search using the suffix of 'host' beginning at offset
+ * 'qry' as the query and 'sa' as an already-lexicographically-sorted
+ * list of suffixes of host.  'sa' may be all suffixes of host or just
+ * a subset.  Returns the index in sa of the smallest suffix of host
+ * that is larger than qry, or length(sa) if all suffixes of host are
+ * less than qry.
+ *
+ * We use the Manber and Myers optimization of maintaining a pair of
+ * counters for the longest lcp observed so far on the left- and right-
+ * hand sides and using the min of the two as a way of skipping over
+ * characters at the beginning of a new round.
+ *
+ * Returns 0xffffffff if the query suffix matches an element of sa.
+ */
+template<typename TStr, typename TSufElt> inline
+uint32_t binarySASearch(const TStr& host,
+                        uint32_t qry,
+                        const String<TSufElt>& sa)
+{
+       uint32_t lLcp = 0, rLcp = 0; // greatest observed LCPs on left and right
+       uint32_t l = 0, r = length(sa)+1; // binary-search window
+       uint32_t hostLen = length(host);
+       while(true) {
+               assert_gt(r, l);
+               uint32_t m = (l+r) >> 1;
+               if(m == l) {
+                       // Binary-search window has closed: we have an answer
+                       if(m > 0 && sa[m-1] == qry) return 0xffffffff; // qry matches
+                       assert_leq(m, length(sa));
+                       return m; // Return index of right-hand suffix
+               }
+               assert_gt(m, 0);
+               uint32_t suf = sa[m-1];
+               if(suf == qry) return 0xffffffff; // query matches an elt of sa
+               uint32_t lcp = min(lLcp, rLcp);
+#ifndef NDEBUG
+               if(prefix(suffix(host, qry), lcp) != prefix(suffix(host, suf), lcp)) {
+                       assert(0);
+               }
+#endif
+               // Keep advancing lcp, but stop when query mismatches host or
+               // when the counter falls off either the query or the suffix
+               while(suf+lcp < hostLen && qry+lcp < hostLen && host[suf+lcp] == host[qry+lcp]) {
+                       lcp++;
+               }
+               // Fell off the end of either the query or the sa elt?
+               bool fell = (suf+lcp == hostLen || qry+lcp == hostLen);
+               if((fell && qry+lcp == hostLen) || (!fell && host[suf+lcp] < host[qry+lcp])) {
+                       // Query is greater than sa elt
+                       l = m;                 // update left bound
+                       lLcp = max(lLcp, lcp); // update left lcp
+               }
+               else if((fell && suf+lcp == hostLen) || (!fell && host[suf+lcp] > host[qry+lcp])) {
+                       // Query is less than sa elt
+                       r = m;                 // update right bound
+                       rLcp = max(rLcp, lcp); // update right lcp
+               } else {
+                       assert(false); // Must be one or the other!
+               }
+       }
+       // Shouldn't get here
+       assert(false);
+       return 0xffffffff;
+}
+
+#endif /*BINARY_SA_SEARCH_H_*/
diff --git a/bitpack.h b/bitpack.h
new file mode 100644 (file)
index 0000000..a299497
--- /dev/null
+++ b/bitpack.h
@@ -0,0 +1,34 @@
+#ifndef BITPACK_H_
+#define BITPACK_H_
+
+#include <stdint.h>
+#include "assert_helpers.h"
+
+/**
+ * Routines for marshalling 2-bit values into and out of 8-bit or
+ * 32-bit hosts
+ */
+
+static inline void pack_2b_in_8b(const int two, uint8_t& eight, const int off) {
+       assert_lt(two, 4);
+       assert_lt(off, 4);
+       eight |= (two << (off*2));
+}
+
+static inline int unpack_2b_from_8b(const uint8_t eight, const int off) {
+       assert_lt(off, 4);
+       return ((eight >> (off*2)) & 0x3);
+}
+
+static inline void pack_2b_in_32b(const int two, uint32_t& thirty2, const int off) {
+       assert_lt(two, 4);
+       assert_lt(off, 16);
+       thirty2 |= (two << (off*2));
+}
+
+static inline int unpack_2b_from_32b(const uint32_t thirty2, const int off) {
+       assert_lt(off, 16);
+       return ((thirty2 >> (off*2)) & 0x3);
+}
+
+#endif /*BITPACK_H_*/
diff --git a/bitset.h b/bitset.h
new file mode 100644 (file)
index 0000000..2ae9f3a
--- /dev/null
+++ b/bitset.h
@@ -0,0 +1,527 @@
+#ifndef BITSET_H_
+#define BITSET_H_
+
+#include <iostream>
+#include <sstream>
+#include <stdint.h>
+#include <string.h>
+#include <stdexcept>
+#include "assert_helpers.h"
+#include "threading.h"
+
+/**
+ * Given a words array and a size, allocate a new, larger array, moving
+ * data from the old to the new array, and set all newly-allocated
+ * words to 0.  Return the new, larger array, which can be substituted
+ * for the old one.  The new array is larger than the old by about 50%.
+ */
+static inline uint32_t*
+bitsetRealloc(uint32_t& sz, uint32_t* words, const char *errmsg = NULL) {
+       uint32_t oldsz = sz;
+       if(sz > 0) {
+               sz += (sz >> 1) + 31; // Add 50% more elements, plus a bit
+               sz &= ~31;            // Make sure it's 32-aligned
+       } else {
+               sz = 1024; // Start off at 1024 bits to avoid many expansions
+       }
+       assert_gt(sz, oldsz);
+       assert_eq(0, (sz & 31));
+       uint32_t *newwords;
+       try {
+               newwords = new uint32_t[sz >> 5 /* convert to words */];
+       } catch(std::bad_alloc& ba) {
+               if(errmsg != NULL) {
+                       // Output given error message
+                       std::cerr << errmsg;
+               }
+               throw 1;
+       }
+       if(oldsz > 0) {
+               // Move old values into new array
+               memcpy(newwords, words, oldsz >> 3 /* convert to bytes */);
+       }
+       // Initialize all new words to 0
+       memset(newwords + (oldsz >> 5 /*convert to words*/), 0,
+              (sz - oldsz) >> 3 /* convert to bytes */);
+       return newwords; // return new array
+}
+
+/**
+ * A simple synchronized bitset class.
+ */
+class SyncBitset {
+
+public:
+       /**
+        * Allocate enough words to accommodate 'sz' bits.  Output the given
+        * error message and quit if allocation fails.
+        */
+       SyncBitset(uint32_t sz, const char *errmsg = NULL) : _errmsg(errmsg) {
+               MUTEX_INIT(_lock);
+               uint32_t nwords = (sz >> 5)+1; // divide by 32 and add 1
+               try {
+                       _words = new uint32_t[nwords];
+               } catch(std::bad_alloc& ba) {
+                       if(_errmsg != NULL) {
+                               std::cerr << _errmsg;
+                       }
+                       throw 1;
+               }
+               assert(_words != NULL);
+               memset(_words, 0, nwords * 4 /* words to bytes */);
+               _sz = nwords << 5 /* words to bits */;
+       }
+
+       /**
+        * Free memory for words.
+        */
+       ~SyncBitset() {
+               delete[] _words;
+       }
+
+       /**
+        * Test whether the given bit is set in an unsynchronized manner.
+        */
+       bool testUnsync(uint32_t i) {
+               if(i < _sz) {
+                       return ((_words[i >> 5] >> (i & 0x1f)) & 1) != 0;
+               }
+               return false;
+       }
+
+       /**
+        * Test whether the given bit is set in a synchronized manner.
+        */
+       bool test(uint32_t i) {
+               bool ret;
+               MUTEX_LOCK(_lock);
+               ret = testUnsync(i);
+               MUTEX_UNLOCK(_lock);
+               return ret;
+       }
+
+       /**
+        * Set a bit in the vector that hasn't been set before.  Assert if
+        * it has been set.  Uses synchronization.
+        */
+       void set(uint32_t i) {
+               MUTEX_LOCK(_lock);
+               while(i >= _sz) {
+                       // Slow path: bitset needs to be expanded before the
+                       // specified bit can be set
+                       ASSERT_ONLY(uint32_t oldsz = _sz);
+                       expand();
+                       assert_gt(_sz, oldsz);
+               }
+               // Fast path
+               assert_lt(i, _sz);
+               assert(((_words[i >> 5] >> (i & 0x1f)) & 1) == 0);
+               _words[i >> 5] |= (1 << (i & 0x1f));
+               assert(((_words[i >> 5] >> (i & 0x1f)) & 1) == 1);
+               MUTEX_UNLOCK(_lock);
+       }
+
+       /**
+        * Set a bit in the vector that might have already been set.  Uses
+        * synchronization.
+        */
+       void setOver(uint32_t i) {
+               MUTEX_LOCK(_lock);
+               while(i >= _sz) {
+                       // Slow path: bitset needs to be expanded before the
+                       // specified bit can be set
+                       ASSERT_ONLY(uint32_t oldsz = _sz);
+                       expand();
+                       assert_gt(_sz, oldsz);
+               }
+               // Fast path
+               assert_lt(i, _sz);
+               _words[i >> 5] |= (1 << (i & 0x1f));
+               assert(((_words[i >> 5] >> (i & 0x1f)) & 1) == 1);
+               MUTEX_UNLOCK(_lock);
+       }
+
+
+private:
+
+       /**
+        * Expand the size of the _words array by 50% to accommodate more
+        * bits.
+        */
+       void expand() {
+               uint32_t *newwords = bitsetRealloc(_sz, _words, _errmsg);
+               delete[] _words;   // delete old array
+               _words = newwords; // install new array
+       }
+
+       const char *_errmsg; // error message if an allocation fails
+       uint32_t _sz;        // size as # of bits
+       MUTEX_T _lock;       // mutex
+       uint32_t *_words;    // storage
+};
+
+/**
+ * A simple unsynchronized bitset class.
+ */
+class Bitset {
+
+public:
+       Bitset(uint32_t sz, const char *errmsg = NULL) : _errmsg(errmsg) {
+               uint32_t nwords = (sz >> 5)+1;
+               try {
+                       _words = new uint32_t[nwords];
+               } catch(std::bad_alloc& ba) {
+                       if(_errmsg != NULL) {
+                               std::cerr << _errmsg;
+                       }
+                       throw 1;
+               }
+               assert(_words != NULL);
+               memset(_words, 0, nwords * 4);
+               _sz = nwords << 5;
+               _cnt = 0;
+       }
+
+       Bitset(const Bitset& o) : _words(NULL) {
+               this->operator=(o);
+       }
+
+       ~Bitset() {
+               delete[] _words;
+       }
+
+       /**
+        * Test whether the given bit is set.
+        */
+       bool test(uint32_t i) const {
+               bool ret = false;
+               if(i < _sz) {
+                       ret = ((_words[i >> 5] >> (i & 0x1f)) & 1) != 0;
+               }
+               return ret;
+       }
+
+       /**
+        * Set a bit in the vector that hasn't been set before.  Assert if
+        * it has been set.
+        */
+       void set(uint32_t i) {
+               while(i >= _sz) {
+                       // Slow path: bitset needs to be expanded before the
+                       // specified bit can be set
+                       ASSERT_ONLY(uint32_t oldsz = _sz);
+                       expand();
+                       assert_gt(_sz, oldsz);
+               }
+               // Fast path
+               assert(((_words[i >> 5] >> (i & 0x1f)) & 1) == 0);
+               _cnt++;
+               _words[i >> 5] |= (1 << (i & 0x1f));
+               assert(((_words[i >> 5] >> (i & 0x1f)) & 1) == 1);
+       }
+
+       /**
+        * Set a bit in the vector that might have already been set.
+        */
+       void setOver(uint32_t i) {
+               while(i >= _sz) {
+                       // Slow path: bitset needs to be expanded before the
+                       // specified bit can be set
+                       ASSERT_ONLY(uint32_t oldsz = _sz);
+                       expand();
+                       assert_gt(_sz, oldsz);
+               }
+               // Fast path
+               if(((_words[i >> 5] >> (i & 0x1f)) & 1) == 0) _cnt++;
+               _words[i >> 5] |= (1 << (i & 0x1f));
+               assert(((_words[i >> 5] >> (i & 0x1f)) & 1) == 1);
+       }
+
+       /**
+        * Unset all entries.  Don't adjust size.
+        */
+       void clear() {
+               for(size_t i = 0; i < ((_sz+31)>>5); i++) {
+                       _words[i] = 0;
+               }
+               _cnt = 0;
+       }
+
+       /**
+        * Return the number of set bits.
+        */
+       uint32_t count() const {
+               return _cnt;
+       }
+
+       /**
+        * Return true iff no bits are set.
+        */
+       bool empty() const {
+               return _cnt == 0;
+       }
+
+       /**
+        * Deep copy from given Bitset to this one.
+        */
+       Bitset& operator=(const Bitset& o) {
+               _errmsg = o._errmsg;
+               _sz = o._sz;
+               _cnt = o._cnt;
+               if(_words != NULL) delete[] _words;
+               _words = new uint32_t[(_sz+31)>>5];
+               for(size_t i = 0; i < (_sz+31)>>5; i++) {
+                       _words[i] = o._words[i];
+               }
+               return *this;
+       }
+
+private:
+
+       /**
+        * Expand the size of the _words array by 50% to accommodate more
+        * bits.
+        */
+       void expand() {
+               uint32_t *newwords = bitsetRealloc(_sz, _words, _errmsg);
+               delete[] _words;   // delete old array
+               _words = newwords; // install new array
+       }
+
+       uint32_t _cnt;       // number of set bits
+       const char *_errmsg; // error message if an allocation fails
+       uint32_t _sz;        // size as # of bits
+       uint32_t *_words;    // storage
+};
+
+/**
+ * A simple fixed-length unsynchronized bitset class.
+ */
+template<int LEN>
+class FixedBitset {
+
+public:
+       FixedBitset() : _cnt(0), _size(0) {
+               memset(_words, 0, ((LEN>>5)+1) * 4);
+       }
+
+       /**
+        * Unset all bits.
+        */
+       void clear() {
+               memset(_words, 0, ((LEN>>5)+1) * 4);
+       }
+
+       /**
+        * Return true iff the bit at offset i has been set.
+        */
+       bool test(uint32_t i) const {
+               bool ret = false;
+               assert_lt(i, LEN);
+               ret = ((_words[i >> 5] >> (i & 0x1f)) & 1) != 0;
+               return ret;
+       }
+
+       /**
+        * Set the bit at offset i.  Assert if the bit was already set.
+        */
+       void set(uint32_t i) {
+               // Fast path
+               assert_lt(i, LEN);
+               assert(((_words[i >> 5] >> (i & 0x1f)) & 1) == 0);
+               _words[i >> 5] |= (1 << (i & 0x1f));
+               _cnt++;
+               if(i >= _size) {
+                       _size = i+1;
+               }
+               assert(((_words[i >> 5] >> (i & 0x1f)) & 1) == 1);
+       }
+
+       /**
+        * Set the bit at offset i.  Do not assert if the bit was already
+        * set.
+        */
+       void setOver(uint32_t i) {
+               // Fast path
+               assert_lt(i, LEN);
+               _words[i >> 5] |= (1 << (i & 0x1f));
+               _cnt++;
+               if(i >= _size) {
+                       _size = i+1;
+               }
+               assert(((_words[i >> 5] >> (i & 0x1f)) & 1) == 1);
+       }
+
+       uint32_t count() const { return _cnt; }
+       uint32_t size() const  { return _size; }
+
+       /**
+        * Return true iff this FixedBitset has the same bits set as
+        * FixedBitset 'that'.
+        */
+       bool operator== (const FixedBitset<LEN>& that) const {
+               for(uint32_t i = 0; i < (LEN>>5)+1; i++) {
+                       if(_words[i] != that._words[i]) {
+                               return false;
+                       }
+               }
+               return true;
+       }
+
+       /**
+        * Return true iff this FixedBitset does not have the same bits set
+        * as FixedBitset 'that'.
+        */
+       bool operator!= (const FixedBitset<LEN>& that) const {
+               for(uint32_t i = 0; i < (LEN>>5)+1; i++) {
+                       if(_words[i] != that._words[i]) {
+                               return true;
+                       }
+               }
+               return false;
+       }
+
+       /**
+        * Return a string-ized version of this FixedBitset.
+        */
+       std::string str() const {
+               std::ostringstream oss;
+               for(int i = (int)size()-1; i >= 0; i--) {
+                       oss << (test(i)? "1" : "0");
+               }
+               return oss.str();
+       }
+
+private:
+       uint32_t _cnt;
+       uint32_t _size;
+       uint32_t _words[(LEN>>5)+1]; // storage
+};
+
+/**
+ * A simple fixed-length unsynchronized bitset class.
+ */
+class FixedBitset2 {
+
+public:
+       FixedBitset2(uint32_t len) : len_(len), _cnt(0), _size(0) {
+               _words = new uint32_t[((len_ >> 5)+1)];
+               memset(_words, 0, ((len_ >> 5)+1) * 4);
+       }
+
+       ~FixedBitset2() { delete[] _words; }
+
+       /**
+        * Unset all bits.
+        */
+       void clear() {
+               memset(_words, 0, ((len_ >> 5)+1) * 4);
+               _cnt = 0;
+               _size = 0;
+       }
+
+       /**
+        * Return true iff the bit at offset i has been set.
+        */
+       bool test(uint32_t i) const {
+               bool ret = false;
+               assert_lt(i, len_);
+               ret = ((_words[i >> 5] >> (i & 0x1f)) & 1) != 0;
+               return ret;
+       }
+
+       /**
+        * Set the bit at offset i.  Assert if the bit was already set.
+        */
+       void set(uint32_t i) {
+               // Fast path
+               assert_lt(i, len_);
+               assert(((_words[i >> 5] >> (i & 0x1f)) & 1) == 0);
+               _words[i >> 5] |= (1 << (i & 0x1f));
+               _cnt++;
+               if(i >= _size) {
+                       _size = i+1;
+               }
+               assert(((_words[i >> 5] >> (i & 0x1f)) & 1) == 1);
+       }
+
+       /**
+        * Clear the bit at offset i.  Assert if the bit was not already set.
+        */
+       void clear(uint32_t i) {
+               // Fast path
+               assert_lt(i, len_);
+               assert(((_words[i >> 5] >> (i & 0x1f)) & 1) == 1);
+               _words[i >> 5] &= ~(1 << (i & 0x1f));
+               _cnt--;
+               if(i >= _size) {
+                       _size = i+1;
+               }
+               assert(((_words[i >> 5] >> (i & 0x1f)) & 1) == 0);
+       }
+
+       /**
+        * Set the bit at offset i.  Do not assert if the bit was already
+        * set.
+        */
+       void setOver(uint32_t i) {
+               // Fast path
+               assert_lt(i, len_);
+               if(((_words[i >> 5] >> (i & 0x1f)) & 1) == 0) {
+                       _words[i >> 5] |= (1 << (i & 0x1f));
+                       _cnt++;
+               }
+               if(i >= _size) {
+                       _size = i+1;
+               }
+               assert(((_words[i >> 5] >> (i & 0x1f)) & 1) == 1);
+       }
+
+       uint32_t count() const { return _cnt; }
+       uint32_t size() const  { return _size; }
+
+       /**
+        * Return true iff this FixedBitset has the same bits set as
+        * FixedBitset 'that'.
+        */
+       bool operator== (const FixedBitset2& that) const {
+               for(uint32_t i = 0; i < (len_>>5)+1; i++) {
+                       if(_words[i] != that._words[i]) {
+                               return false;
+                       }
+               }
+               return true;
+       }
+
+       /**
+        * Return true iff this FixedBitset does not have the same bits set
+        * as FixedBitset 'that'.
+        */
+       bool operator!= (const FixedBitset2& that) const {
+               for(uint32_t i = 0; i < (len_>>5)+1; i++) {
+                       if(_words[i] != that._words[i]) {
+                               return true;
+                       }
+               }
+               return false;
+       }
+
+       /**
+        * Return a string-ized version of this FixedBitset.
+        */
+       std::string str() const {
+               std::ostringstream oss;
+               for(int i = (int)size()-1; i >= 0; i--) {
+                       oss << (test(i)? "1" : "0");
+               }
+               return oss.str();
+       }
+
+private:
+       const uint32_t len_;
+       uint32_t _cnt;
+       uint32_t _size;
+       uint32_t *_words; // storage
+};
+
+#endif /* BITSET_H_ */
diff --git a/blockwise_sa.h b/blockwise_sa.h
new file mode 100644 (file)
index 0000000..3341fea
--- /dev/null
@@ -0,0 +1,902 @@
+#ifndef BLOCKWISE_SA_H_
+#define BLOCKWISE_SA_H_
+
+#include <stdint.h>
+#include <stdlib.h>
+#include <iostream>
+#include <sstream>
+#include <stdexcept>
+#include <vector>
+#include <seqan/sequence.h>
+#include <seqan/index.h>
+#include "assert_helpers.h"
+#include "diff_sample.h"
+#include "multikey_qsort.h"
+#include "random_source.h"
+#include "binary_sa_search.h"
+#include "zbox.h"
+#include "alphabet.h"
+#include "timer.h"
+#include "auto_array.h"
+
+using namespace std;
+using namespace seqan;
+
+// Helpers for printing verbose messages
+
+#ifndef VMSG_NL
+#define VMSG_NL(args...) \
+if(this->verbose()) { \
+       stringstream tmp; \
+       tmp << args << endl; \
+       this->verbose(tmp.str()); \
+}
+#endif
+
+#ifndef VMSG
+#define VMSG(args...) \
+if(this->verbose()) { \
+       stringstream tmp; \
+       tmp << args; \
+       this->verbose(tmp.str()); \
+}
+#endif
+
+/**
+ * Abstract parent class for blockwise suffix-array building schemes.
+ */
+template<typename TStr>
+class BlockwiseSA {
+public:
+       BlockwiseSA(const TStr& __text,
+                   uint32_t __bucketSz,
+                   bool __sanityCheck = false,
+                   bool __passMemExc = false,
+                   bool __verbose = false,
+                   ostream& __logger = cout) :
+       _text(__text),
+       _bucketSz(max<uint32_t>(__bucketSz, 2u)),
+       _sanityCheck(__sanityCheck),
+       _passMemExc(__passMemExc),
+       _verbose(__verbose),
+       _itrBucket(),
+       _itrBucketPos(0xffffffff),
+       _itrPushedBackSuffix(0xffffffff),
+       _logger(__logger)
+       { }
+
+       virtual ~BlockwiseSA() { }
+
+       /**
+        * Get the next suffix; compute the next bucket if necessary.
+        */
+       uint32_t nextSuffix() {
+               if(_itrPushedBackSuffix != 0xffffffff) {
+                       uint32_t tmp = _itrPushedBackSuffix;
+                       _itrPushedBackSuffix = 0xffffffff;
+                       return tmp;
+               }
+               while(_itrBucketPos >= length(_itrBucket) ||
+                     length(_itrBucket) == 0)
+               {
+                       if(!hasMoreBlocks()) {
+                               throw out_of_range("No more suffixes");
+                       }
+                       nextBlock();
+                       _itrBucketPos = 0;
+               }
+               return _itrBucket[_itrBucketPos++];
+       }
+
+       /**
+        * Return true iff the next call to nextSuffix will succeed.
+        */
+       bool hasMoreSuffixes() {
+               if(_itrPushedBackSuffix != 0xffffffff) return true;
+               try {
+                       _itrPushedBackSuffix = nextSuffix();
+               } catch(out_of_range& e) {
+                       assert_eq(0xffffffff, _itrPushedBackSuffix);
+                       return false;
+               }
+               return true;
+       }
+
+       /**
+        * Reset the suffix iterator so that the next call to nextSuffix()
+        * returns the lexicographically-first suffix.
+        */
+       void resetSuffixItr() {
+               clear(_itrBucket);
+               _itrBucketPos = 0xffffffff;
+               _itrPushedBackSuffix = 0xffffffff;
+               reset();
+               assert(suffixItrIsReset());
+       }
+
+       /**
+        * Returns true iff the next call to nextSuffix() returns the
+        * lexicographically-first suffix.
+        */
+       bool suffixItrIsReset() {
+               return length(_itrBucket)   == 0 &&
+                      _itrBucketPos        == 0xffffffff &&
+                      _itrPushedBackSuffix == 0xffffffff &&
+                      isReset();
+       }
+
+       const TStr& text()  const { return _text; }
+       uint32_t bucketSz() const { return _bucketSz; }
+       bool sanityCheck()  const { return _sanityCheck; }
+       bool verbose()      const { return _verbose; }
+       ostream& log()      const { return _logger; }
+       uint32_t size()     const { return length(_text)+1; }
+
+protected:
+       /// Reset back to the first block
+       virtual void reset() = 0;
+       /// Return true iff reset to the first block
+       virtual bool isReset() = 0;
+
+       /**
+        * Grab the next block of sorted suffixes.  The block is guaranteed
+        * to have at most _bucketSz elements.
+        */
+       virtual void nextBlock() = 0;
+       /// Return true iff more blocks are available
+       virtual bool hasMoreBlocks() const = 0;
+       /// Optionally output a verbose message
+       void verbose(const string& s) const {
+               if(this->verbose()) {
+                       this->log() << s;
+                       this->log().flush();
+               }
+       }
+
+       const TStr&      _text;        /// original string
+       const uint32_t   _bucketSz;    /// target maximum bucket size
+       const bool       _sanityCheck; /// whether to perform sanity checks
+       const bool       _passMemExc;  /// true -> pass on memory exceptions
+       const bool       _verbose;     /// be talkative
+       String<uint32_t> _itrBucket;   /// current bucket
+       uint32_t         _itrBucketPos;/// offset into current bucket
+       uint32_t         _itrPushedBackSuffix; /// temporary slot for lookahead
+       ostream&         _logger;      /// write log messages here
+};
+
+/**
+ * Abstract parent class for a blockwise suffix array builder that
+ * always doles out blocks in lexicographical order.
+ */
+template<typename TStr>
+class InorderBlockwiseSA : public BlockwiseSA<TStr> {
+public:
+       InorderBlockwiseSA(const TStr& __text,
+                          uint32_t __bucketSz,
+                          bool __sanityCheck = false,
+                              bool __passMemExc = false,
+                          bool __verbose = false,
+                          ostream& __logger = cout) :
+       BlockwiseSA<TStr>(__text, __bucketSz, __sanityCheck, __passMemExc, __verbose, __logger)
+       { }
+};
+
+/**
+ * Build the SA a block at a time according to the scheme outlined in
+ * Karkkainen's "Fast BWT" paper.
+ */
+template<typename TStr>
+class KarkkainenBlockwiseSA : public InorderBlockwiseSA<TStr> {
+public:
+       typedef DifferenceCoverSample<TStr> TDC;
+
+       KarkkainenBlockwiseSA(const TStr& __text,
+                             uint32_t __bucketSz,
+                             uint32_t __dcV,
+                             uint32_t __seed = 0,
+                             bool __sanityCheck = false,
+                                 bool __passMemExc = false,
+                             bool __verbose = false,
+                             ostream& __logger = cout) :
+       InorderBlockwiseSA<TStr>(__text, __bucketSz, __sanityCheck, __passMemExc, __verbose, __logger),
+       _sampleSuffs(), _cur(0), _dcV(__dcV), _dc(NULL), _built(false)
+       { _randomSrc.init(__seed); reset(); }
+
+       ~KarkkainenBlockwiseSA() {
+               if(_dc != NULL) delete _dc; _dc = NULL; // difference cover sample
+       }
+
+       /**
+        * Allocate an amount of memory that simulates the peak memory
+        * usage of the DifferenceCoverSample with the given text and v.
+        * Throws bad_alloc if it's not going to fit in memory.  Returns
+        * the approximate number of bytes the Cover takes at all times.
+        */
+       static size_t simulateAllocs(const TStr& text, uint32_t bucketSz) {
+               size_t len = length(text);
+               // _sampleSuffs and _itrBucket are in memory at the peak
+               size_t bsz = bucketSz;
+               size_t sssz = len / max<uint32_t>(bucketSz-1, 1);
+               AutoArray<uint32_t> tmp(bsz + sssz + (1024 * 1024 /*out of caution*/));
+               return bsz;
+       }
+
+       /// Defined in blockwise_sa.cpp
+       virtual void nextBlock();
+
+       /// Defined in blockwise_sa.cpp
+       virtual void qsort(String<uint32_t>& bucket);
+
+       /// Return true iff more blocks are available
+       virtual bool hasMoreBlocks() const {
+               return _cur <= length(_sampleSuffs);
+       }
+
+       /// Return the difference-cover period
+       uint32_t dcV() const { return _dcV; }
+
+protected:
+
+       /**
+        * Initialize the state of the blockwise suffix sort.  If the
+        * difference cover sample and the sample set have not yet been
+        * built, build them.  Then reset the block cursor to point to
+        * the first block.
+        */
+       virtual void reset() {
+               if(!_built) {
+                       build();
+               }
+               assert(_built);
+               _cur = 0;
+       }
+
+       /// Return true iff we're about to dole out the first bucket
+       virtual bool isReset() {
+               return _cur == 0;
+       }
+
+private:
+
+       /**
+        * Calculate the difference-cover sample and sample suffixes.
+        */
+       void build() {
+               // Calculate difference-cover sample
+               assert(_dc == NULL);
+               if(_dcV != 0) {
+                       _dc = new TDC(this->text(), _dcV, this->verbose(), this->sanityCheck());
+                       _dc->build();
+               }
+               // Calculate sample suffixes
+               if(this->bucketSz() <= length(this->text())) {
+                       VMSG_NL("Building samples");
+                       buildSamples();
+               } else {
+                       VMSG_NL("Skipping building samples since text length " <<
+                               length(this->text()) << " is less than bucket size: " <<
+                               this->bucketSz());
+               }
+               _built = true;
+       }
+
+       /**
+        * Calculate the lcp between two suffixes using the difference
+        * cover as a tie-breaker.  If the tie-breaker is employed, then
+        * the calculated lcp may be an underestimate.
+        *
+        * Defined in blockwise_sa.cpp
+        */
+       inline bool tieBreakingLcp(uint32_t aOff,
+                                  uint32_t bOff,
+                                  uint32_t& lcp,
+                                  bool& lcpIsSoft);
+
+       /**
+        * Compare two suffixes using the difference-cover sample.
+        */
+       inline bool suffixCmp(uint32_t cmp,
+                             uint32_t i,
+                             int64_t& j,
+                             int64_t& k,
+                             bool& kSoft,
+                             const String<uint32_t>& z);
+
+       void buildSamples();
+
+       String<uint32_t> _sampleSuffs; /// sample suffixes
+       uint32_t         _cur;         /// offset to 1st elt of next block
+       const uint32_t   _dcV;         /// difference-cover periodicity
+       TDC*             _dc;          /// queryable difference-cover data
+       bool             _built;       /// whether samples/DC have been built
+       RandomSource     _randomSrc;   /// source of pseudo-randoms
+};
+
+/**
+ * Qsort the set of suffixes whose offsets are in 'bucket'.
+ */
+template<typename TStr>
+void KarkkainenBlockwiseSA<TStr>::qsort(String<uint32_t>& bucket) {
+       typedef typename Value<TStr>::Type TAlphabet;
+       const TStr& t = this->text();
+       uint32_t *s = begin(bucket);
+       uint32_t slen = seqan::length(bucket);
+       uint32_t len = seqan::length(t);
+       if(_dc != NULL) {
+               // Use the difference cover as a tie-breaker if we have it
+               VMSG_NL("  (Using difference cover)");
+               // Extract the 'host' array because it's faster to work
+               // with than the String<> container
+               uint8_t *host = (uint8_t*)t.data_begin;
+               mkeyQSortSufDcU8(t, host, len, s, slen, *_dc,
+                                ValueSize<TAlphabet>::VALUE,
+                                this->verbose(), this->sanityCheck());
+       } else {
+               VMSG_NL("  (Not using difference cover)");
+               // We don't have a difference cover - just do a normal
+               // suffix sort
+               mkeyQSortSuf(t, s, slen, ValueSize<TAlphabet>::VALUE,
+                            this->verbose(), this->sanityCheck());
+       }
+}
+
+/**
+ * Qsort the set of suffixes whose offsets are in 'bucket'.  This
+ * specialization for packed strings does not attempt to extract and
+ * operate directly on the host string; the fact that the string is
+ * packed means that the array cannot be sorted directly.
+ */
+template<>
+void KarkkainenBlockwiseSA<String<Dna, Packed<> > >::qsort(String<uint32_t>& bucket) {
+       const String<Dna, Packed<> >& t = this->text();
+       uint32_t *s = begin(bucket);
+       uint32_t slen = seqan::length(bucket);
+       uint32_t len = seqan::length(t);
+       if(_dc != NULL) {
+               // Use the difference cover as a tie-breaker if we have it
+               VMSG_NL("  (Using difference cover)");
+               // Can't use the text's 'host' array because the backing
+               // store for the packed string is not one-char-per-elt.
+               mkeyQSortSufDcU8(t, t, len, s, slen, *_dc,
+                                ValueSize<Dna>::VALUE,
+                                this->verbose(), this->sanityCheck());
+       } else {
+               VMSG_NL("  (Not using difference cover)");
+               // We don't have a difference cover - just do a normal
+               // suffix sort
+               mkeyQSortSuf(t, s, slen, ValueSize<Dna>::VALUE,
+                            this->verbose(), this->sanityCheck());
+       }
+}
+
+/**
+ * Select a set of bucket-delineating sample suffixes such that no
+ * bucket is greater than the requested upper limit.  Some care is
+ * taken to make each bucket's size close to the limit without
+ * going over.
+ */
+template<typename TStr>
+void KarkkainenBlockwiseSA<TStr>::buildSamples() {
+       typedef typename Value<TStr>::Type TAlphabet;
+       const TStr& t = this->text();
+       uint32_t bsz = this->bucketSz()-1; // subtract 1 to leave room for sample
+       uint32_t len = length(this->text());
+       // Prepare _sampleSuffs array
+       clear(_sampleSuffs);
+       uint32_t numSamples = ((len/bsz)+1)<<1; // ~len/bsz x 2
+       assert_gt(numSamples, 0);
+       VMSG_NL("Reserving space for " << numSamples << " sample suffixes");
+       if(this->_passMemExc) {
+               reserve(_sampleSuffs, numSamples, Exact());
+               // Randomly generate samples.  Allow duplicates for now.
+               VMSG_NL("Generating random suffixes");
+               for(size_t i = 0; i < numSamples; i++) {
+                       appendValue(_sampleSuffs, _randomSrc.nextU32() % len);
+               }
+       } else {
+               try {
+                       reserve(_sampleSuffs, numSamples, Exact());
+                       // Randomly generate samples.  Allow duplicates for now.
+                       VMSG_NL("Generating random suffixes");
+                       for(size_t i = 0; i < numSamples; i++) {
+                               appendValue(_sampleSuffs, _randomSrc.nextU32() % len);
+                       }
+               } catch(bad_alloc &e) {
+                       if(this->_passMemExc) {
+                               throw e; // rethrow immediately
+                       } else {
+                               cerr << "Could not allocate sample suffix container of " << (numSamples * 4) << " bytes." << endl
+                                    << "Please try using a smaller number of blocks by specifying a larger --bmax or" << endl
+                                    << "a smaller --bmaxdivn" << endl;
+                               throw 1;
+                       }
+               }
+       }
+       // Remove duplicates; very important to do this before the call to
+       // mkeyQSortSuf so that it doesn't try to calculate lexicographical
+       // relationships between very long, identical strings, which takes
+       // an extremely long time in general, and causes the stack to grow
+       // linearly with the size of the input
+       {
+               Timer timer(cout, "QSorting sample offsets, eliminating duplicates time: ", this->verbose());
+               VMSG_NL("QSorting " << length(_sampleSuffs) << " sample offsets, eliminating duplicates");
+               sort(begin(_sampleSuffs), end(_sampleSuffs));
+               size_t sslen = length(_sampleSuffs);
+               for(size_t i = 0; i < sslen-1; i++) {
+                       if(_sampleSuffs[i] == _sampleSuffs[i+1]) {
+                               erase(_sampleSuffs, i--);
+                               sslen--;
+                       }
+               }
+       }
+       // Multikey quicksort the samples
+       {
+               Timer timer(cout, "  Multikey QSorting samples time: ", this->verbose());
+               VMSG_NL("Multikey QSorting " << length(_sampleSuffs) << " samples");
+               this->qsort(_sampleSuffs);
+       }
+       // Calculate bucket sizes
+       VMSG_NL("Calculating bucket sizes");
+       int limit = 5;
+       // Iterate until all buckets are less than
+       while(--limit >= 0) {
+               // Calculate bucket sizes by doing a binary search for each
+               // suffix and noting where it lands
+               uint32_t numBuckets = length(_sampleSuffs)+1;
+               String<uint32_t> bucketSzs; // holds computed bucket sizes
+               String<uint32_t> bucketReps; // holds 1 member of each bucket (for splitting)
+               try {
+                       // Allocate and initialize containers for holding bucket
+                       // sizes and representatives.
+                       fill(bucketSzs, numBuckets, 0, Exact());
+                       fill(bucketReps, numBuckets, 0xffffffff, Exact());
+               } catch(bad_alloc &e) {
+                       if(this->_passMemExc) {
+                               throw e; // rethrow immediately
+                       } else {
+                               cerr << "Could not allocate sizes, representatives (" << ((numBuckets*8)>>10) << " KB) for blocks." << endl
+                                    << "Please try using a smaller number of blocks by specifying a larger --bmax or a" << endl
+                                    << "smaller --bmaxdivn." << endl;
+                               throw 1;
+                       }
+               }
+               // Iterate through every suffix in the text, determine which
+               // bucket it falls into by doing a binary search across the
+               // sorted list of samples, and increment a counter associated
+               // with that bucket.  Also, keep one representative for each
+               // bucket so that we can split it later.  We loop in ten
+               // stretches so that we can print out a helpful progress
+               // message.  (This step can take a long time.)
+               {
+                       VMSG_NL("  Binary sorting into buckets");
+                       Timer timer(cout, "  Binary sorting into buckets time: ", this->verbose());
+                       uint32_t lenDiv10 = (len + 9) / 10;
+                       for(uint32_t iten = 0, ten = 0; iten < len; iten += lenDiv10, ten++) {
+                               uint32_t itenNext = iten + lenDiv10;
+                               if(ten > 0) VMSG_NL("  " << (ten * 10) << "%");
+                               for(uint32_t i = iten; i < itenNext && i < len; i++) {
+                                       uint32_t r = binarySASearch(t, i, _sampleSuffs);
+                                       if(r == 0xffffffff) continue; // r was one of the samples
+                                       assert_lt(r, numBuckets);
+                                       bucketSzs[r]++;
+                                       assert_lt(bucketSzs[r], len);
+                                       if(bucketReps[r] == 0xffffffff ||
+                                          (_randomSrc.nextU32() & 100) == 0)
+                                       {
+                                               bucketReps[r] = i; // clobbers previous one, but that's OK
+                                       }
+                               }
+                       }
+                       VMSG_NL("  100%");
+               }
+               // Check for large buckets and mergeable pairs of small buckets
+               // and split/merge as necessary
+               int added = 0;
+               int merged = 0;
+               assert_eq(length(bucketSzs), numBuckets);
+               assert_eq(length(bucketReps), numBuckets);
+               {
+                       Timer timer(cout, "  Splitting and merging time: ", this->verbose());
+                       VMSG_NL("Splitting and merging");
+                       for(int64_t i = 0; i < numBuckets; i++) {
+                               uint32_t mergedSz = bsz + 1;
+                               assert(bucketSzs[i] == 0 || bucketReps[i] != 0xffffffff);
+                               if(i < (int64_t)numBuckets-1) {
+                                       mergedSz = bucketSzs[i] + bucketSzs[i+1] + 1;
+                               }
+                               // Merge?
+                               if(mergedSz <= bsz) {
+                                       bucketSzs[i+1] += (bucketSzs[i]+1);
+                                       // The following may look strange, but it's necessary
+                                       // to ensure that the merged bucket has a representative
+                                       bucketReps[i+1] = _sampleSuffs[i+added];
+                                       erase(_sampleSuffs, i+added);
+                                       erase(bucketSzs, i);
+                                       erase(bucketReps, i);
+                                       i--; // might go to -1 but ++ will overflow back to 0
+                                       numBuckets--;
+                                       merged++;
+                                       assert_eq(numBuckets, length(_sampleSuffs)+1-added);
+                                       assert_eq(numBuckets, length(bucketSzs));
+                               }
+                               // Split?
+                               else if(bucketSzs[i] > bsz) {
+                                       // Add an additional sample from the bucketReps[]
+                                       // set accumulated in the binarySASearch loop; this
+                                       // effectively splits the bucket
+                                       insertValue(_sampleSuffs, i + (added++), bucketReps[i]);
+                               }
+                       }
+               }
+               if(added == 0) {
+                       //if(this->verbose()) {
+                       //      cout << "Final bucket sizes:" << endl;
+                       //      cout << "  (begin): " << bucketSzs[0] << " (" << (int)(bsz - bucketSzs[0]) << ")" << endl;
+                       //      for(uint32_t i = 1; i < numBuckets; i++) {
+                       //              cout << "  " << bucketSzs[i] << " (" << (int)(bsz - bucketSzs[i]) << ")" << endl;
+                       //      }
+                       //}
+                       break;
+               }
+               // Otherwise, continue until no more buckets need to be
+               // split
+               VMSG_NL("Split " << added << ", merged " << merged << "; iterating...");
+       }
+       // Do *not* force a do-over
+//     if(limit == 0) {
+//             VMSG_NL("Iterated too many times; trying again...");
+//             buildSamples();
+//     }
+       VMSG_NL("Avg bucket size: " << ((float)(len-length(_sampleSuffs)) / (length(_sampleSuffs)+1)) << " (target: " << bsz << ")");
+}
+
+/**
+ * Do a simple LCP calculation on two strings.
+ */
+template<typename T> inline
+static uint32_t suffixLcp(const T& t, uint32_t aOff, uint32_t bOff) {
+       uint32_t c = 0;
+       size_t len = length(t);
+       assert_leq(aOff, len);
+       assert_leq(bOff, len);
+       while(aOff + c < len && bOff + c < len && t[aOff + c] == t[bOff + c]) c++;
+       return c;
+}
+
+/**
+ * Calculate the lcp between two suffixes using the difference
+ * cover as a tie-breaker.  If the tie-breaker is employed, then
+ * the calculated lcp may be an underestimate.  If the tie-breaker is
+ * employed, lcpIsSoft will be set to true (otherwise, false).
+ */
+template<typename TStr> inline
+bool KarkkainenBlockwiseSA<TStr>::tieBreakingLcp(uint32_t aOff,
+                                                 uint32_t bOff,
+                                                 uint32_t& lcp,
+                                                 bool& lcpIsSoft)
+{
+       const TStr& t = this->text();
+       uint32_t c = 0;
+       uint32_t tlen = length(t);
+       assert_leq(aOff, tlen);
+       assert_leq(bOff, tlen);
+       assert(_dc != NULL);
+       uint32_t dcDist = _dc->tieBreakOff(aOff, bOff);
+       lcpIsSoft = false; // hard until proven soft
+       while(c < dcDist &&    // we haven't hit the tie breaker
+             c < tlen-aOff && // we haven't fallen off of LHS suffix
+             c < tlen-bOff && // we haven't fallen off of RHS suffix
+             t[aOff+c] == t[bOff+c]) // we haven't hit a mismatch
+               c++;
+       lcp = c;
+       if(c == tlen-aOff) {
+               // Fell off LHS (a), a is greater
+               return false;
+       } else if(c == tlen-bOff) {
+               // Fell off RHS (b), b is greater
+               return true;
+       } else if(c == dcDist) {
+               // Hit a tie-breaker element
+               lcpIsSoft = true;
+               assert_neq(dcDist, 0xffffffff);
+               return _dc->breakTie(aOff+c, bOff+c) < 0;
+       } else {
+               assert_neq(t[aOff+c], t[bOff+c]);
+               return t[aOff+c] < t[bOff+c];
+       }
+}
+
+/**
+ * Lookup a suffix LCP in the given z array; if the element is not
+ * filled in then calculate it from scratch.
+ */
+template<typename T>
+static uint32_t lookupSuffixZ(const T& t,
+                              uint32_t zOff,
+                              uint32_t off,
+                              const String<uint32_t>& z)
+{
+       if(zOff < length(z)) {
+               uint32_t ret = z[zOff];
+               assert_eq(ret, suffixLcp(t, off + zOff, off));
+               return ret;
+       }
+       assert_leq(off + zOff, length(t));
+       return suffixLcp(t, off + zOff, off);
+}
+
+/**
+ * true -> i < cmp
+ * false -> i > cmp
+ */
+template<typename TStr> inline
+bool KarkkainenBlockwiseSA<TStr>::suffixCmp(uint32_t cmp,
+                                            uint32_t i,
+                                            int64_t& j,
+                                            int64_t& k,
+                                            bool& kSoft,
+                                            const String<uint32_t>& z)
+{
+       const TStr& t = this->text();
+       uint32_t len = length(t);
+       // i is not covered by any previous match
+       uint32_t l;
+       if(i > k) {
+               k = i; // so that i + lHi == kHi
+               l = 0; // erase any previous l
+               kSoft = false;
+               // To be extended
+       }
+       // i is covered by a previous match
+       else /* i <= k */ {
+               assert_gt((int64_t)i, j);
+               uint32_t zIdx = i-j;
+               assert_leq(zIdx, len-cmp);
+               if(zIdx < _dcV || _dc == NULL) {
+                       // Go as far as the Z-box says
+                       l = lookupSuffixZ(t, zIdx, cmp, z);
+                       if(i + l > len) {
+                               l = len-i;
+                       }
+                       assert_leq(i + l, len);
+                       // Possibly to be extended
+               } else {
+                       // But we're past the point of no-more-Z-boxes
+                       bool ret = tieBreakingLcp(i, cmp, l, kSoft);
+                       // Sanity-check tie-breaker
+                       if(this->sanityCheck()) {
+                               if(ret) assert(dollarLt(suffix(t, i), suffix(t, cmp)));
+                               else    assert(dollarGt(suffix(t, i), suffix(t, cmp)));
+                       }
+                       j = i;
+                       k = i + l;
+                       if(this->sanityCheck()) {
+                               if(kSoft) { assert_leq(l, suffixLcp(t, i, cmp)); }
+                               else      { assert_eq (l, suffixLcp(t, i, cmp)); }
+                       }
+                       return ret;
+               }
+       }
+
+       // Z box extends exactly as far as previous match (or there
+       // is neither a Z box nor a previous match)
+       if(i + l == k) {
+               // Extend
+               while(l < len-cmp && k < len && t[cmp+l] == t[k]) {
+                       k++; l++;
+               }
+               j = i; // update furthest-extending LHS
+               kSoft = false;
+               assert_eq(l, suffixLcp(t, i, cmp));
+       }
+       // Z box extends further than previous match
+       else if(i + l > k) {
+               l = k - i; // point to just after previous match
+               j = i; // update furthest-extending LHS
+               if(kSoft) {
+                       while(l < len-cmp && k < len && t[cmp+l] == t[k]) {
+                               k++; l++;
+                       }
+                       kSoft = false;
+                       assert_eq(l, suffixLcp(t, i, cmp));
+               } else assert_eq(l, suffixLcp(t, i, cmp));
+       }
+
+       // Check that calculated lcp matches actual lcp
+       if(this->sanityCheck()) {
+               if(!kSoft) {
+                       // l should exactly match lcp
+                       assert_eq(l, suffixLcp(t, i, cmp));
+               } else {
+                       // l is an underestimate of LCP
+                       assert_leq(l, suffixLcp(t, i, cmp));
+               }
+       }
+       assert_leq(l+i, len);
+       assert_leq(l, len-cmp);
+
+       // i and cmp should not be the same suffix
+       assert(l != len-cmp || i+l != len);
+
+       // Now we're ready to do a comparison on the next char
+       if(l+i != len && (
+          l == len-cmp || // departure from paper algorithm:
+                          // falling off pattern implies
+                          // pattern is *greater* in our case
+          t[i + l] < t[cmp + l]))
+       {
+               // Case 2: Text suffix is less than upper sample suffix
+               if(this->sanityCheck()) assert(dollarLt(suffix(t, i), suffix(t, cmp)));
+               return true; // suffix at i is less than suffix at cmp
+       }
+       else {
+               // Case 3: Text suffix is greater than upper sample suffix
+               if(this->sanityCheck()) assert(dollarGt(suffix(t, i), suffix(t, cmp)));
+               return false; // suffix at i is less than suffix at cmp
+       }
+}
+
+/**
+ * Retrieve the next block.  This is the most performance-critical part
+ * of the blockwise suffix sorting process.
+ */
+template<typename TStr>
+void KarkkainenBlockwiseSA<TStr>::nextBlock() {
+       typedef typename Value<TStr>::Type TAlphabet;
+       String<uint32_t>& bucket = this->_itrBucket;
+       VMSG_NL("Getting block " << (_cur+1) << " of " << length(_sampleSuffs)+1);
+       assert(_built);
+       assert_gt(_dcV, 3);
+       assert_leq(_cur, length(_sampleSuffs));
+       const TStr& t = this->text();
+       uint32_t len = length(t);
+       // Set up the bucket
+       clear(bucket);
+       uint32_t lo = 0xffffffff, hi = 0xffffffff;
+       if(length(_sampleSuffs) == 0) {
+               // Special case: if _sampleSuffs is 0, then multikey-quicksort
+               // everything
+               VMSG_NL("  No samples; assembling all-inclusive block");
+               assert_eq(0, _cur);
+               try {
+                       if(capacity(bucket) < this->bucketSz()) {
+                               reserve(bucket, len+1, Exact());
+                       }
+                       for(uint32_t i = 0; i < len; i++) append(bucket, i);
+               } catch(bad_alloc &e) {
+                       if(this->_passMemExc) {
+                               throw e; // rethrow immediately
+                       } else {
+                               cerr << "Could not allocate a master suffix-array block of " << ((len+1) * 4) << " bytes" << endl
+                                    << "Please try using a larger number of blocks by specifying a smaller --bmax or" << endl
+                                    << "a larger --bmaxdivn" << endl;
+                               throw 1;
+                       }
+               }
+       } else {
+               try {
+                       VMSG_NL("  Reserving size (" << this->bucketSz() << ") for bucket");
+                       // BTL: Add a +100 fudge factor; there seem to be instances
+                       // where a bucket ends up having one more elt than bucketSz()
+                       if(capacity(bucket) < this->bucketSz()+100) {
+                               reserve(bucket, this->bucketSz()+100, Exact());
+                       }
+               } catch(bad_alloc &e) {
+                       if(this->_passMemExc) {
+                               throw e; // rethrow immediately
+                       } else {
+                               cerr << "Could not allocate a suffix-array block of " << ((this->bucketSz()+1) * 4) << " bytes" << endl;
+                               cerr << "Please try using a larger number of blocks by specifying a smaller --bmax or" << endl
+                                    << "a larger --bmaxdivn" << endl;
+                               throw 1;
+                       }
+               }
+               // Select upper and lower bounds from _sampleSuffs[] and
+               // calculate the Z array up to the difference-cover periodicity
+               // for both.  Be careful about first/last buckets.
+               String<uint32_t> zLo, zHi;
+               assert_geq(_cur, 0);
+               assert_leq(_cur, length(_sampleSuffs));
+               bool first = (_cur == 0);
+               bool last  = (_cur == length(_sampleSuffs));
+               try {
+                       Timer timer(cout, "  Calculating Z arrays time: ", this->verbose());
+                       VMSG_NL("  Calculating Z arrays");
+                       if(!last) {
+                               // Not the last bucket
+                               assert_lt(_cur, length(_sampleSuffs));
+                               hi = _sampleSuffs[_cur];
+                               fill(zHi, _dcV, 0, Exact());
+                               assert_eq(zHi[0], 0);
+                               calcZ(t, hi, zHi, this->verbose(), this->sanityCheck());
+                       }
+                       if(!first) {
+                               // Not the first bucket
+                               assert_gt(_cur, 0);
+                               assert_leq(_cur, length(_sampleSuffs));
+                               lo = _sampleSuffs[_cur-1];
+                               fill(zLo, _dcV, 0, Exact());
+                               assert_gt(_dcV, 3);
+                               assert_eq(zLo[0], 0);
+                               calcZ(t, lo, zLo, this->verbose(), this->sanityCheck());
+                       }
+               } catch(bad_alloc &e) {
+                       if(this->_passMemExc) {
+                               throw e; // rethrow immediately
+                       } else {
+                               cerr << "Could not allocate a z-array of " << (_dcV * 4) << " bytes" << endl;
+                               cerr << "Please try using a larger number of blocks by specifying a smaller --bmax or" << endl
+                                    << "a larger --bmaxdivn" << endl;
+                               throw 1;
+                       }
+               }
+
+               // This is the most critical loop in the algorithm; this is where
+               // we iterate over all suffixes in the text and pick out those that
+               // fall into the current bucket.
+               //
+               // This loop is based on the SMALLERSUFFIXES function outlined on
+               // p7 of the "Fast BWT" paper
+               //
+               int64_t kHi = -1, kLo = -1;
+               int64_t jHi = -1, jLo = -1;
+               bool kHiSoft = false, kLoSoft = false;
+               assert_eq(0, length(bucket));
+               {
+                       Timer timer(cout, "  Block accumulator loop time: ", this->verbose());
+                       VMSG_NL("  Entering block accumulator loop:");
+                       uint32_t lenDiv10 = (len + 9) / 10;
+                       for(uint32_t iten = 0, ten = 0; iten < len; iten += lenDiv10, ten++) {
+                       uint32_t itenNext = iten + lenDiv10;
+                       if(ten > 0) VMSG_NL("  " << (ten * 10) << "%");
+                       for(uint32_t i = iten; i < itenNext && i < len; i++) {
+                               assert_lt(jLo, i); assert_lt(jHi, i);
+                               // Advance the upper-bound comparison by one character
+                               if(i == hi || i == lo) continue; // equal to one of the bookends
+                               if(hi != 0xffffffff && !suffixCmp(hi, i, jHi, kHi, kHiSoft, zHi)) {
+                                       continue; // not in the bucket
+                               }
+                               if(lo != 0xffffffff && suffixCmp(lo, i, jLo, kLo, kLoSoft, zLo)) {
+                                       continue; // not in the bucket
+                               }
+                               // In the bucket! - add it
+                               assert_lt(i, len);
+                               try {
+                                       appendValue(bucket, i);
+                               } catch(bad_alloc &e) {
+                                       if(this->_passMemExc) {
+                                               throw e; // rethrow immediately
+                                       } else {
+                                               cerr << "Could not append element to block of " << ((length(bucket)) * 4) << " bytes" << endl;
+                                               cerr << "Please try using a larger number of blocks by specifying a smaller --bmax or" << endl
+                                                    << "a larger --bmaxdivn" << endl;
+                                               throw 1;
+                                       }
+                               }
+                               // Not necessarily true; we allow overflowing buckets
+                               // since we can't guarantee that a good set of sample
+                               // suffixes can be found in a reasonable amount of time
+                               //assert_lt(length(bucket), this->bucketSz());
+                       }
+                       } // end loop over all suffixes of t
+                       VMSG_NL("  100%");
+               }
+       } // end else clause of if(length(_sampleSuffs) == 0)
+       // Sort the bucket
+       if(length(bucket) > 0) {
+               Timer timer(cout, "  Sorting block time: ", this->verbose());
+               VMSG_NL("  Sorting block of length " << length(bucket));
+               this->qsort(bucket);
+       }
+       if(hi != 0xffffffff) {
+               // Not the final bucket; throw in the sample on the RHS
+               appendValue(bucket, hi);
+       } else {
+               // Final bucket; throw in $ suffix
+               appendValue(bucket, len);
+       }
+       VMSG_NL("Returning block of " << length(bucket));
+       _cur++; // advance to next bucket
+}
+
+#endif /*BLOCKWISE_SA_H_*/
diff --git a/bowtie_build_main.cpp b/bowtie_build_main.cpp
new file mode 100644 (file)
index 0000000..e4252f8
--- /dev/null
@@ -0,0 +1,57 @@
+/*
+ * bowtie_build_main.cpp
+ *
+ *  Created on: Sep 16, 2009
+ *      Author: Ben Langmead
+ */
+
+#include <iostream>
+#include <fstream>
+#include <string.h>
+#include <stdlib.h>
+#include <vector>
+#include "tokenize.h"
+
+using namespace std;
+
+extern "C" {
+       int bowtie_build(int argc, const char **argv);
+}
+
+/**
+ * bowtie-build main function.  It is placed in a separate source file
+ * to make it slightly easier to compile as a library.
+ *
+ * If the user specifies -A <file> as the first two arguments, main
+ * will interpret that file as having one set of command-line arguments
+ * per line, and will dispatch each batch of arguments one at a time to
+ * bowtie-build.
+ */
+int main(int argc, const char **argv) {
+       if(argc > 2 && strcmp(argv[1], "-A") == 0) {
+               const char *file = argv[2];
+               ifstream in;
+               in.open(file);
+               char buf[4096];
+               int lastret = -1;
+               while(in.getline(buf, 4095)) {
+                       vector<string> args;
+                       args.push_back(string(argv[0]));
+                       tokenize(buf, " \t", args);
+                       const char **myargs = (const char**)malloc(sizeof(char*)*args.size());
+                       for(size_t i = 0; i < args.size(); i++) {
+                               myargs[i] = args[i].c_str();
+                       }
+                       if(args.size() == 1) continue;
+                       lastret = bowtie_build(args.size(), myargs);
+                       free(myargs);
+               }
+               if(lastret == -1) {
+                       cerr << "Warning: No arg strings parsed from " << file << endl;
+                       return 0;
+               }
+               return lastret;
+       } else {
+               return bowtie_build(argc, argv);
+       }
+}
diff --git a/bowtie_inspect.cpp b/bowtie_inspect.cpp
new file mode 100644 (file)
index 0000000..ddaa4f7
--- /dev/null
@@ -0,0 +1,529 @@
+#include <string>
+#include <vector>
+#include <iostream>
+#include <getopt.h>
+#include <stdexcept>
+#include <seqan/find.h>
+
+#include "assert_helpers.h"
+#include "endian_swap.h"
+#include "ebwt.h"
+#include "reference.h"
+
+using namespace std;
+using namespace seqan;
+
+static bool showVersion = false; // just print version and quit?
+int verbose             = 0;  // be talkative
+static int names_only   = 0;  // just print the sequence names in the index
+static int summarize_only = 0; // just print summary of index and quit
+static int across       = 60; // number of characters across in FASTA output
+static bool extra       = false; // print extra summary info
+static bool exclAllGaps = false; // print extra summary info
+static bool refFromEbwt = false; // true -> when printing reference, decode it from Ebwt instead of reading it from BitPairReference
+
+static const char *short_options = "vhnsea:";
+
+enum {
+       ARG_VERSION = 256,
+       ARG_USAGE,
+       ARG_EXTRA,
+       ARG_EXCL_AMBIG
+};
+
+static struct option long_options[] = {
+       {(char*)"verbose",  no_argument,        0, 'v'},
+       {(char*)"version",  no_argument,        0, ARG_VERSION},
+       {(char*)"usage",    no_argument,        0, ARG_USAGE},
+       {(char*)"extra",    no_argument,        0, ARG_EXTRA},
+       {(char*)"excl-ambig",no_argument,       0, ARG_EXCL_AMBIG},
+       {(char*)"names",    no_argument,        0, 'n'},
+       {(char*)"summary",  no_argument,        0, 's'},
+       {(char*)"help",     no_argument,        0, 'h'},
+       {(char*)"across",   required_argument,  0, 'a'},
+       {(char*)"ebwt-ref", no_argument,        0, 'e'},
+       {(char*)0, 0, 0, 0} // terminator
+};
+
+/**
+ * Print a summary usage message to the provided output stream.
+ */
+static void printUsage(ostream& out) {
+       out
+       << "Usage: bowtie-inspect [options]* <ebwt_base>" << endl
+       << "  <ebwt_base>        ebwt filename minus trailing .1.ebwt/.2.ebwt" << endl
+       << endl
+       << "  By default, prints FASTA records of the indexed nucleotide sequences to" << endl
+       << "  standard out.  With -n, just prints names.  With -s, just prints a summary of" << endl
+       << "  the index parameters and sequences.  With -e, preserves colors if applicable." << endl
+       << endl
+       << "Options:" << endl
+       << "  -a/--across <int>  Number of characters across in FASTA output (default: 60)" << endl
+       << "  -n/--names         Print reference sequence names only" << endl
+       << "  -s/--summary       Print summary incl. ref names, lengths, index properties" << endl
+       << "  -e/--ebwt-ref      Reconstruct reference from ebwt (slow, preserves colors)" << endl
+       << "  -v/--verbose       Verbose output (for debugging)" << endl
+       << "  -h/--help          print detailed description of tool and its options" << endl
+       << "  --help             print this usage message" << endl
+       ;
+}
+
+/**
+ * Parse an int out of optarg and enforce that it be at least 'lower';
+ * if it is less than 'lower', than output the given error message and
+ * exit with an error and a usage message.
+ */
+static int parseInt(int lower, const char *errmsg) {
+       long l;
+       char *endPtr= NULL;
+       l = strtol(optarg, &endPtr, 10);
+       if (endPtr != NULL) {
+               if (l < lower) {
+                       cerr << errmsg << endl;
+                       printUsage(cerr);
+                       throw 1;
+               }
+               return (int32_t)l;
+       }
+       cerr << errmsg << endl;
+       printUsage(cerr);
+       throw 1;
+       return -1;
+}
+
+/**
+ * Read command-line arguments
+ */
+static void parseOptions(int argc, char **argv) {
+       int option_index = 0;
+       int next_option;
+       do {
+               next_option = getopt_long(argc, argv, short_options, long_options, &option_index);
+               switch (next_option) {
+                       case ARG_USAGE:
+                       case 'h':
+                               printUsage(cout);
+                               throw 0;
+                               break;
+                       case 'v': verbose = true; break;
+                       case ARG_VERSION: showVersion = true; break;
+                       case ARG_EXCL_AMBIG: exclAllGaps = true; break;
+                       case ARG_EXTRA: extra = true; break;
+                       case 'e': refFromEbwt = true; break;
+                       case 'n': names_only = true; break;
+                       case 's': summarize_only = true; break;
+                       case 'a': across = parseInt(-1, "-a/--across arg must be at least 1"); break;
+                       case -1: break; /* Done with options. */
+                       case 0:
+                               if (long_options[option_index].flag != 0)
+                                       break;
+                       default:
+                               printUsage(cerr);
+                               throw 1;
+               }
+       } while(next_option != -1);
+}
+
+void print_fasta_record(ostream& fout,
+                                               const string& defline,
+                                               const string& seq)
+{
+       fout << ">";
+       fout << defline << endl;
+
+       if(across > 0) {
+               size_t i = 0;
+               while (i + across < seq.length())
+               {
+                       fout << seq.substr(i, across) << endl;
+                       i += across;
+               }
+               if (i < seq.length())
+                       fout << seq.substr(i) << endl;
+       } else {
+               fout << seq << endl;
+       }
+}
+
+/**
+ * Given output stream, name and length, print a string of Ns with the
+ * appropriate number of columns.
+ */
+void print_alln_ref_sequence(
+       ostream& fout,
+       const string& name,
+       size_t len)
+{
+       fout << ">" << name << "\n";
+       size_t j = 0;
+       for(size_t i = 0; i < len; i += across) {
+               while(j < len && j < i+across) {
+                       fout << 'N';
+                       j++;
+               }
+               fout << "\n";
+       }
+}
+
+/**
+ * Given output stream, BitPairReference, reference index, name and
+ * length, print the whole nucleotide reference with the appropriate
+ * number of columns.
+ */
+void print_ref_sequence(
+       ostream& fout,
+       BitPairReference& ref,
+       const string& name,
+       size_t refi,
+       size_t len)
+{
+       bool newlines = across > 0;
+       int myacross = across > 0 ? across : 60;
+       size_t incr = myacross * 1000;
+       uint32_t *buf = new uint32_t[(incr + 128)/4];
+       fout << ">" << name << "\n";
+       for(size_t i = 0; i < len; i += incr) {
+               size_t amt = min(incr, len-i);
+               assert_leq(amt, incr);
+               int off = ref.getStretch(buf, refi, i, amt);
+               uint8_t *cb = ((uint8_t*)buf) + off;
+               for(size_t j = 0; j < amt; j++) {
+                       if(newlines && j > 0 && (j % myacross) == 0) fout << "\n";
+                       assert_range(0, 4, (int)cb[j]);
+                       fout << "ACGTN"[(int)cb[j]];
+               }
+               fout << "\n";
+       }
+       delete buf;
+}
+
+/**
+ * Create a BitPairReference encapsulating the reference portion of the
+ * index at the given basename.  Iterate through the reference
+ * sequences, sending each one to print_ref_sequence to print.
+ */
+void print_ref_sequences(
+       ostream& fout,
+       bool color,
+       const vector<string>& refnames,
+       const uint32_t* plen,
+       const string& adjustedEbwtFileBase)
+{
+       BitPairReference ref(
+               adjustedEbwtFileBase, // input basename
+               color,                // true -> expect colorspace reference
+               false,                // sanity-check reference
+               NULL,                 // infiles
+               NULL,                 // originals
+               false,                // infiles are sequences
+               true,                 // load sequence
+               false,                // memory-map
+               false,                // use shared memory
+               false,                // sweep mm-mapped ref
+               verbose,              // be talkative
+               verbose);             // be talkative at startup
+#ifdef ACCOUNT_FOR_ALL_GAP_REFS
+       for(size_t i = 0; i < ref.numRefs(); i++) {
+               if(ref.isAllGaps(i) && !exclAllGaps) {
+                       print_alln_ref_sequence(
+                               fout,
+                               refnames[i],
+                               ref.len(i));
+               } else {
+                       print_ref_sequence(
+                               fout,
+                               ref,
+                               refnames[i],
+                               ref.shrinkIdx(i),
+                               ref.len(i));
+               }
+       }
+#else
+       assert_eq(refnames.size(), ref.numNonGapRefs());
+       for(size_t i = 0; i < ref.numNonGapRefs(); i++) {
+               print_ref_sequence(
+                       fout,
+                       ref,
+                       refnames[i],
+                       i,
+                       plen[i] + (color ? 1 : 0));
+       }
+#endif
+}
+
+/**
+ * Given an index, reconstruct the reference by LF mapping through the
+ * entire thing.
+ */
+template<typename TStr>
+void print_index_sequences(
+       ostream& fout,
+       Ebwt<TStr>& ebwt,
+       const BitPairReference& refs)
+{
+       vector<string>* refnames = &(ebwt.refnames());
+
+       TStr cat_ref;
+       ebwt.restore(cat_ref);
+
+       uint32_t curr_ref = 0xffffffff;
+       string curr_ref_seq = "";
+       uint32_t curr_ref_len = 0xffffffff;
+       uint32_t last_text_off = 0;
+       size_t orig_len = seqan::length(cat_ref);
+       uint32_t tlen = 0xffffffff;
+       bool first = true;
+       for(size_t i = 0; i < orig_len; i++) {
+               uint32_t tidx = 0xffffffff;
+               uint32_t textoff = 0xffffffff;
+               tlen = 0xffffffff;
+
+               ebwt.joinedToTextOff(1 /* qlen */, i, tidx, textoff, tlen);
+
+               if (tidx != 0xffffffff && textoff < tlen)
+               {
+                       if (curr_ref != tidx)
+                       {
+                               if (curr_ref != 0xffffffff)
+                               {
+                                       // Add trailing gaps, if any exist
+                                       if(curr_ref_seq.length() < curr_ref_len) {
+                                               curr_ref_seq += string(curr_ref_len - curr_ref_seq.length(), 'N');
+                                       }
+                                       print_fasta_record(fout, (*refnames)[curr_ref], curr_ref_seq);
+                               }
+                               curr_ref = tidx;
+                               curr_ref_seq = "";
+                               curr_ref_len = tlen;
+                               last_text_off = 0;
+                               first = true;
+                       }
+
+                       uint32_t textoff_adj = textoff;
+                       if(first && textoff > 0) textoff_adj++;
+                       if (textoff_adj - last_text_off > 1)
+                               curr_ref_seq += string(textoff_adj - last_text_off - 1, 'N');
+
+                       curr_ref_seq.push_back(getValue(cat_ref,i));
+                       last_text_off = textoff;
+                       first = false;
+               }
+       }
+       if (curr_ref < refnames->size())
+       {
+               // Add trailing gaps, if any exist
+               if(curr_ref_seq.length() < curr_ref_len) {
+                       curr_ref_seq += string(curr_ref_len - curr_ref_seq.length(), 'N');
+               }
+               print_fasta_record(fout, (*refnames)[curr_ref], curr_ref_seq);
+       }
+
+}
+
+static char *argv0 = NULL;
+
+void print_index_sequence_names(const string& fname, ostream& fout)
+{
+       vector<string> p_refnames;
+       readEbwtRefnames(fname, p_refnames);
+       for(size_t i = 0; i < p_refnames.size(); i++) {
+               cout << p_refnames[i] << endl;
+       }
+}
+
+typedef Ebwt<String<Dna, Packed<Alloc<> > > > TPackedEbwt;
+
+/**
+ * Print a short summary of what's in the index and its flags.
+ */
+void print_index_summary(
+       const string& fname,
+       ostream& fout,
+       const BitPairReference& refs)
+{
+       int32_t flags = readFlags(fname);
+       int32_t flagsr = readFlags(fname + ".rev");
+       bool color = readEbwtColor(fname);
+       bool entireReverse = readEntireReverse(fname + ".rev");
+       TPackedEbwt ebwt(
+               fname,
+               color,                // index is colorspace
+               -1,                   // don't require entire reverse
+               true,                 // index is for the forward direction
+               -1,                   // offrate (-1 = index default)
+               -1,
+               false,                // use memory-mapped IO
+               false,                // use shared memory
+               false,                // sweep memory-mapped memory
+               true,                 // load names?
+               //false,                // load SA sample?
+               NULL,                 // no reference map
+               verbose,              // be talkative?
+               verbose,              // be talkative at startup?
+               false,                // pass up memory exceptions?
+               false);               // sanity check?
+       vector<string> p_refnames;
+       readEbwtRefnames(fname, p_refnames);
+       if(extra) {
+               cout << "Flags" << '\t' << (-flags) << endl;
+               cout << "Reverse flags" << '\t' << (-flagsr) << endl;
+       }
+       cout << "Colorspace" << '\t' << (color ? "1" : "0") << endl;
+       if(extra) {
+               cout << "Concat then reverse" << '\t' << (entireReverse ? "1" : "0") << endl;
+               cout << "Reverse then concat" << '\t' << (entireReverse ? "0" : "1") << endl;
+               cout << "nPat" << '\t' << ebwt.nPat() << endl;
+               cout << "refnames.size()" << '\t' << p_refnames.size() << endl;
+               cout << "refs.numRefs()" << '\t' << refs.numRefs() << endl;
+               cout << "refs.numNonGapRefs()" << '\t' << refs.numNonGapRefs() << endl;
+       }
+       cout << "SA-Sample" << "\t1 in " << (1 << ebwt.eh().offRate()) << endl;
+       cout << "FTab-Chars" << '\t' << ebwt.eh().ftabChars() << endl;
+       for(size_t i = 0; i < ebwt.nPat(); i++) {
+               cout << "Sequence-" << (i+1)
+                    << '\t' << p_refnames[refs.expandIdx(i)]
+                    << '\t' << (ebwt.plen()[i] + (color ? 1 : 0))
+                    << endl;
+       }
+       if(extra) {
+               cout << "RefRecords:\n";
+               for(size_t i = 0; i < refs.refRecords().size(); i++) {
+                       RefRecord r = refs.refRecords()[i];
+                       cout << r.first << "\t(" << r.off << ", " << r.len << ")" << endl;
+               }
+       }
+}
+
+static void driver(
+       const string& ebwtFileBase,
+       const string& query)
+{
+       // Adjust
+       string adjustedEbwtFileBase = adjustEbwtBase(argv0, ebwtFileBase, verbose);
+       if (names_only) {
+               print_index_sequence_names(adjustedEbwtFileBase, cout);
+               return;
+       }
+       bool color = readEbwtColor(adjustedEbwtFileBase);
+       BitPairReference refs(
+               adjustedEbwtFileBase,
+               color,
+               false,
+               NULL,
+               NULL,
+               false,
+               false, // don't load sequence (yet)
+               false,
+               false,
+               false, // mmSweep
+               verbose,
+               verbose);
+       if(summarize_only) {
+               print_index_summary(adjustedEbwtFileBase, cout, refs);
+       } else {
+               // Initialize Ebwt object
+               TPackedEbwt ebwt(
+                       adjustedEbwtFileBase,
+                       color,                // index is colorspace
+                       -1,                   // don't care about entire-reverse
+                       true,                 // index is for the forward direction
+                       -1,                   // offrate (-1 = index default)
+                       -1,
+                       false,                // use memory-mapped IO
+                       false,                // use shared memory
+                       false,                // sweep memory-mapped memory
+                       true,                 // load names?
+                       //true,                 // load SA sample?
+                       NULL,                 // no reference map
+                       verbose,              // be talkative?
+                       verbose,              // be talkative at startup?
+                       false,                // pass up memory exceptions?
+                       false);               // sanity check?
+               // Load whole index into memory
+               if(refFromEbwt) {
+                       ebwt.loadIntoMemory(-1, -1, true, false);
+                       print_index_sequences(cout, ebwt, refs);
+               } else {
+                       vector<string> refnames;
+                       readEbwtRefnames(adjustedEbwtFileBase, refnames);
+                       print_ref_sequences(
+                               cout,
+                               readEbwtColor(ebwtFileBase),
+                               refnames,
+                               ebwt.plen(),
+                               adjustedEbwtFileBase);
+               }
+               // Evict any loaded indexes from memory
+               if(ebwt.isInMemory()) {
+                       ebwt.evictFromMemory();
+               }
+       }
+}
+
+/**
+ * main function.  Parses command-line arguments.
+ */
+int main(int argc, char **argv) {
+       try {
+               string ebwtFile;  // read serialized Ebwt from this file
+               string query;   // read query string(s) from this file
+               vector<string> queries;
+               string outfile; // write query results to this file
+               argv0 = argv[0];
+               parseOptions(argc, argv);
+               if(showVersion) {
+                       cout << argv0 << " version " << BOWTIE_VERSION << endl;
+                       if(sizeof(void*) == 4) {
+                               cout << "32-bit" << endl;
+                       } else if(sizeof(void*) == 8) {
+                               cout << "64-bit" << endl;
+                       } else {
+                               cout << "Neither 32- nor 64-bit: sizeof(void*) = " << sizeof(void*) << endl;
+                       }
+                       cout << "Built on " << BUILD_HOST << endl;
+                       cout << BUILD_TIME << endl;
+                       cout << "Compiler: " << COMPILER_VERSION << endl;
+                       cout << "Options: " << COMPILER_OPTIONS << endl;
+                       cout << "Sizeof {int, long, long long, void*, size_t, off_t}: {"
+                                << sizeof(int)
+                                << ", " << sizeof(long) << ", " << sizeof(long long)
+                                << ", " << sizeof(void *) << ", " << sizeof(size_t)
+                                << ", " << sizeof(off_t) << "}" << endl;
+                       return 0;
+               }
+
+               // Get input filename
+               if(optind >= argc) {
+                       cerr << "No index name given!" << endl;
+                       printUsage(cerr);
+                       return 1;
+               }
+               ebwtFile = argv[optind++];
+
+               // Optionally summarize
+               if(verbose) {
+                       cout << "Input ebwt file: \"" << ebwtFile << "\"" << endl;
+                       cout << "Output file: \"" << outfile << "\"" << endl;
+                       cout << "Local endianness: " << (currentlyBigEndian()? "big":"little") << endl;
+#ifdef NDEBUG
+                       cout << "Assertions: disabled" << endl;
+#else
+                       cout << "Assertions: enabled" << endl;
+#endif
+               }
+               driver(ebwtFile, query);
+               return 0;
+       } catch(std::exception& e) {
+               cerr << "Command: ";
+               for(int i = 0; i < argc; i++) cerr << argv[i] << " ";
+               cerr << endl;
+               return 1;
+       } catch(int e) {
+               if(e != 0) {
+                       cerr << "Command: ";
+                       for(int i = 0; i < argc; i++) cerr << argv[i] << " ";
+                       cerr << endl;
+               }
+               return e;
+       }
+}
diff --git a/bowtie_main.cpp b/bowtie_main.cpp
new file mode 100644 (file)
index 0000000..80678d0
--- /dev/null
@@ -0,0 +1,57 @@
+/*
+ * bowtie_main.cpp
+ *
+ *  Created on: Sep 10, 2009
+ *      Author: Ben Langmead
+ */
+
+#include <iostream>
+#include <fstream>
+#include <string.h>
+#include <stdlib.h>
+#include <vector>
+#include "tokenize.h"
+
+using namespace std;
+
+extern "C" {
+       int bowtie(int argc, const char **argv);
+}
+
+/**
+ * Bowtie main function.  It is placed in a separate source file to
+ * make it slightly easier to compile Bowtie as a library.
+ *
+ * If the user specifies -A <file> as the first two arguments, main
+ * will interpret that file as having one set of command-line arguments
+ * per line, and will dispatch each batch of arguments one at a time to
+ * bowtie.
+ */
+int main(int argc, const char **argv) {
+       if(argc > 2 && strcmp(argv[1], "-A") == 0) {
+               const char *file = argv[2];
+               ifstream in;
+               in.open(file);
+               char buf[4096];
+               int lastret = -1;
+               while(in.getline(buf, 4095)) {
+                       vector<string> args;
+                       args.push_back(string(argv[0]));
+                       tokenize(buf, " \t", args);
+                       const char **myargs = (const char**)malloc(sizeof(char*)*args.size());
+                       for(size_t i = 0; i < args.size(); i++) {
+                               myargs[i] = args[i].c_str();
+                       }
+                       if(args.size() == 1) continue;
+                       lastret = bowtie(args.size(), myargs);
+                       free(myargs);
+               }
+               if(lastret == -1) {
+                       cerr << "Warning: No arg strings parsed from " << file << endl;
+                       return 0;
+               }
+               return lastret;
+       } else {
+               return bowtie(argc, argv);
+       }
+}
diff --git a/ccnt_lut.cpp b/ccnt_lut.cpp
new file mode 100644 (file)
index 0000000..e2a22ff
--- /dev/null
@@ -0,0 +1,302 @@
+#include <stdint.h>
+
+/* Generated by gen_lookup_tables.pl */
+
+uint8_t cCntLUT_4[4][4][256] = {
+       /* All 4 bit pairs */ {
+               /* As */ {
+                       4, 3, 3, 3, 3, 2, 2, 2, 3, 2, 2, 2, 3, 2, 2, 2,
+                       3, 2, 2, 2, 2, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1,
+                       3, 2, 2, 2, 2, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1,
+                       3, 2, 2, 2, 2, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1,
+                       3, 2, 2, 2, 2, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1,
+                       2, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
+                       2, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
+                       2, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
+                       3, 2, 2, 2, 2, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1,
+                       2, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
+                       2, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
+                       2, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
+                       3, 2, 2, 2, 2, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1,
+                       2, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
+                       2, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
+                       2, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
+               },
+               /* Cs */ {
+                       0, 1, 0, 0, 1, 2, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0,
+                       1, 2, 1, 1, 2, 3, 2, 2, 1, 2, 1, 1, 1, 2, 1, 1,
+                       0, 1, 0, 0, 1, 2, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0,
+                       0, 1, 0, 0, 1, 2, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0,
+                       1, 2, 1, 1, 2, 3, 2, 2, 1, 2, 1, 1, 1, 2, 1, 1,
+                       2, 3, 2, 2, 3, 4, 3, 3, 2, 3, 2, 2, 2, 3, 2, 2,
+                       1, 2, 1, 1, 2, 3, 2, 2, 1, 2, 1, 1, 1, 2, 1, 1,
+                       1, 2, 1, 1, 2, 3, 2, 2, 1, 2, 1, 1, 1, 2, 1, 1,
+                       0, 1, 0, 0, 1, 2, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0,
+                       1, 2, 1, 1, 2, 3, 2, 2, 1, 2, 1, 1, 1, 2, 1, 1,
+                       0, 1, 0, 0, 1, 2, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0,
+                       0, 1, 0, 0, 1, 2, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0,
+                       0, 1, 0, 0, 1, 2, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0,
+                       1, 2, 1, 1, 2, 3, 2, 2, 1, 2, 1, 1, 1, 2, 1, 1,
+                       0, 1, 0, 0, 1, 2, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0,
+                       0, 1, 0, 0, 1, 2, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0,
+               },
+               /* Gs */ {
+                       0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 2, 1, 0, 0, 1, 0,
+                       0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 2, 1, 0, 0, 1, 0,
+                       1, 1, 2, 1, 1, 1, 2, 1, 2, 2, 3, 2, 1, 1, 2, 1,
+                       0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 2, 1, 0, 0, 1, 0,
+                       0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 2, 1, 0, 0, 1, 0,
+                       0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 2, 1, 0, 0, 1, 0,
+                       1, 1, 2, 1, 1, 1, 2, 1, 2, 2, 3, 2, 1, 1, 2, 1,
+                       0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 2, 1, 0, 0, 1, 0,
+                       1, 1, 2, 1, 1, 1, 2, 1, 2, 2, 3, 2, 1, 1, 2, 1,
+                       1, 1, 2, 1, 1, 1, 2, 1, 2, 2, 3, 2, 1, 1, 2, 1,
+                       2, 2, 3, 2, 2, 2, 3, 2, 3, 3, 4, 3, 2, 2, 3, 2,
+                       1, 1, 2, 1, 1, 1, 2, 1, 2, 2, 3, 2, 1, 1, 2, 1,
+                       0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 2, 1, 0, 0, 1, 0,
+                       0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 2, 1, 0, 0, 1, 0,
+                       1, 1, 2, 1, 1, 1, 2, 1, 2, 2, 3, 2, 1, 1, 2, 1,
+                       0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 2, 1, 0, 0, 1, 0,
+               },
+               /* Ts */ {
+                       0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 2,
+                       0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 2,
+                       0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 2,
+                       1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 2, 2, 2, 2, 3,
+                       0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 2,
+                       0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 2,
+                       0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 2,
+                       1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 2, 2, 2, 2, 3,
+                       0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 2,
+                       0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 2,
+                       0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 2,
+                       1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 2, 2, 2, 2, 3,
+                       1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 2, 2, 2, 2, 3,
+                       1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 2, 2, 2, 2, 3,
+                       1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 2, 2, 2, 2, 3,
+                       2, 2, 2, 3, 2, 2, 2, 3, 2, 2, 2, 3, 3, 3, 3, 4,
+               }
+       },
+       /* Least significant 1 bit pair */ {
+               /* As */ {
+                       1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
+                       1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
+                       1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
+                       1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
+                       1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
+                       1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
+                       1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
+                       1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
+                       1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
+                       1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
+                       1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
+                       1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
+                       1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
+                       1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
+                       1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
+                       1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
+               },
+               /* Cs */ {
+                       0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0,
+                       0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0,
+                       0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0,
+                       0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0,
+                       0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0,
+                       0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0,
+                       0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0,
+                       0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0,
+                       0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0,
+                       0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0,
+                       0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0,
+                       0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0,
+                       0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0,
+                       0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0,
+                       0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0,
+                       0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0,
+               },
+               /* Gs */ {
+                       0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0,
+                       0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0,
+                       0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0,
+                       0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0,
+                       0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0,
+                       0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0,
+                       0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0,
+                       0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0,
+                       0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0,
+                       0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0,
+                       0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0,
+                       0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0,
+                       0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0,
+                       0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0,
+                       0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0,
+                       0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0,
+               },
+               /* Ts */ {
+                       0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1,
+                       0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1,
+                       0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1,
+                       0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1,
+                       0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1,
+                       0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1,
+                       0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1,
+                       0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1,
+                       0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1,
+                       0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1,
+                       0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1,
+                       0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1,
+                       0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1,
+                       0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1,
+                       0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1,
+                       0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1,
+               }
+       },
+       /* Least significant 2 bit pairs */ {
+               /* As */ {
+                       2, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
+                       2, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
+                       2, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
+                       2, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
+                       2, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
+                       2, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
+                       2, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
+                       2, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
+                       2, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
+                       2, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
+                       2, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
+                       2, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
+                       2, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
+                       2, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
+                       2, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
+                       2, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
+               },
+               /* Cs */ {
+                       0, 1, 0, 0, 1, 2, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0,
+                       0, 1, 0, 0, 1, 2, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0,
+                       0, 1, 0, 0, 1, 2, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0,
+                       0, 1, 0, 0, 1, 2, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0,
+                       0, 1, 0, 0, 1, 2, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0,
+                       0, 1, 0, 0, 1, 2, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0,
+                       0, 1, 0, 0, 1, 2, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0,
+                       0, 1, 0, 0, 1, 2, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0,
+                       0, 1, 0, 0, 1, 2, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0,
+                       0, 1, 0, 0, 1, 2, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0,
+                       0, 1, 0, 0, 1, 2, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0,
+                       0, 1, 0, 0, 1, 2, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0,
+                       0, 1, 0, 0, 1, 2, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0,
+                       0, 1, 0, 0, 1, 2, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0,
+                       0, 1, 0, 0, 1, 2, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0,
+                       0, 1, 0, 0, 1, 2, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0,
+               },
+               /* Gs */ {
+                       0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 2, 1, 0, 0, 1, 0,
+                       0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 2, 1, 0, 0, 1, 0,
+                       0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 2, 1, 0, 0, 1, 0,
+                       0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 2, 1, 0, 0, 1, 0,
+                       0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 2, 1, 0, 0, 1, 0,
+                       0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 2, 1, 0, 0, 1, 0,
+                       0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 2, 1, 0, 0, 1, 0,
+                       0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 2, 1, 0, 0, 1, 0,
+                       0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 2, 1, 0, 0, 1, 0,
+                       0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 2, 1, 0, 0, 1, 0,
+                       0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 2, 1, 0, 0, 1, 0,
+                       0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 2, 1, 0, 0, 1, 0,
+                       0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 2, 1, 0, 0, 1, 0,
+                       0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 2, 1, 0, 0, 1, 0,
+                       0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 2, 1, 0, 0, 1, 0,
+                       0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 2, 1, 0, 0, 1, 0,
+               },
+               /* Ts */ {
+                       0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 2,
+                       0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 2,
+                       0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 2,
+                       0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 2,
+                       0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 2,
+                       0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 2,
+                       0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 2,
+                       0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 2,
+                       0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 2,
+                       0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 2,
+                       0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 2,
+                       0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 2,
+                       0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 2,
+                       0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 2,
+                       0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 2,
+                       0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 2,
+               }
+       },
+       /* Least significant 3 bit pairs */ {
+               /* As */ {
+                       3, 2, 2, 2, 2, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1,
+                       2, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
+                       2, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
+                       2, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
+                       3, 2, 2, 2, 2, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1,
+                       2, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
+                       2, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
+                       2, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
+                       3, 2, 2, 2, 2, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1,
+                       2, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
+                       2, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
+                       2, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
+                       3, 2, 2, 2, 2, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1,
+                       2, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
+                       2, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
+                       2, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
+               },
+               /* Cs */ {
+                       0, 1, 0, 0, 1, 2, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0,
+                       1, 2, 1, 1, 2, 3, 2, 2, 1, 2, 1, 1, 1, 2, 1, 1,
+                       0, 1, 0, 0, 1, 2, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0,
+                       0, 1, 0, 0, 1, 2, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0,
+                       0, 1, 0, 0, 1, 2, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0,
+                       1, 2, 1, 1, 2, 3, 2, 2, 1, 2, 1, 1, 1, 2, 1, 1,
+                       0, 1, 0, 0, 1, 2, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0,
+                       0, 1, 0, 0, 1, 2, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0,
+                       0, 1, 0, 0, 1, 2, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0,
+                       1, 2, 1, 1, 2, 3, 2, 2, 1, 2, 1, 1, 1, 2, 1, 1,
+                       0, 1, 0, 0, 1, 2, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0,
+                       0, 1, 0, 0, 1, 2, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0,
+                       0, 1, 0, 0, 1, 2, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0,
+                       1, 2, 1, 1, 2, 3, 2, 2, 1, 2, 1, 1, 1, 2, 1, 1,
+                       0, 1, 0, 0, 1, 2, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0,
+                       0, 1, 0, 0, 1, 2, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0,
+               },
+               /* Gs */ {
+                       0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 2, 1, 0, 0, 1, 0,
+                       0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 2, 1, 0, 0, 1, 0,
+                       1, 1, 2, 1, 1, 1, 2, 1, 2, 2, 3, 2, 1, 1, 2, 1,
+                       0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 2, 1, 0, 0, 1, 0,
+                       0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 2, 1, 0, 0, 1, 0,
+                       0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 2, 1, 0, 0, 1, 0,
+                       1, 1, 2, 1, 1, 1, 2, 1, 2, 2, 3, 2, 1, 1, 2, 1,
+                       0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 2, 1, 0, 0, 1, 0,
+                       0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 2, 1, 0, 0, 1, 0,
+                       0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 2, 1, 0, 0, 1, 0,
+                       1, 1, 2, 1, 1, 1, 2, 1, 2, 2, 3, 2, 1, 1, 2, 1,
+                       0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 2, 1, 0, 0, 1, 0,
+                       0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 2, 1, 0, 0, 1, 0,
+                       0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 2, 1, 0, 0, 1, 0,
+                       1, 1, 2, 1, 1, 1, 2, 1, 2, 2, 3, 2, 1, 1, 2, 1,
+                       0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 2, 1, 0, 0, 1, 0,
+               },
+               /* Ts */ {
+                       0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 2,
+                       0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 2,
+                       0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 2,
+                       1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 2, 2, 2, 2, 3,
+                       0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 2,
+                       0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 2,
+                       0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 2,
+                       1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 2, 2, 2, 2, 3,
+                       0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 2,
+                       0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 2,
+                       0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 2,
+                       1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 2, 2, 2, 2, 3,
+                       0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 2,
+                       0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 2,
+                       0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 2,
+                       1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 2, 2, 2, 2, 3,
+               }
+       }
+};
diff --git a/chaincat.cpp b/chaincat.cpp
new file mode 100644 (file)
index 0000000..065527a
--- /dev/null
@@ -0,0 +1,37 @@
+/*
+ * chaincat.cpp
+ *
+ * Print out a chained-hit file.
+ *
+ *  Created on: Jul 31, 2009
+ *      Author: Ben Langmead
+ */
+
+#include <iostream>
+#include <stdexcept>
+#include "hit_set.h"
+#include "filebuf.h"
+
+using namespace std;
+
+int main(int argc, char **argv) {
+       try {
+               if(argc <= 1) {
+                       cerr << "Error: must specify chain file as first argument" << endl;
+                       return 1;
+               }
+               FILE *in = fopen(argv[1], "rb");
+               if(in == NULL) {
+                       cerr << "Could not open " << argv[1] << endl;
+                       return 1;
+               }
+               FileBuf fb(in);
+               while(!fb.eof()) {
+                       HitSet s(fb);
+                       s.reportUpTo(cout);
+               }
+               fb.close();
+       } catch(std::exception& e) {
+               return 1;
+       }
+}
diff --git a/color.cpp b/color.cpp
new file mode 100644 (file)
index 0000000..ef37f26
--- /dev/null
+++ b/color.cpp
@@ -0,0 +1,114 @@
+/*
+ * color.cpp
+ *
+ *  Created on: Oct 18, 2009
+ *      Author: Ben Langmead
+ */
+
+#include <iostream>
+#include <sstream>
+#include <string>
+#include "color.h"
+
+using namespace std;
+
+/**
+ * Set the console color.
+ */
+void setConsoleColor(int color) {
+       cout << (char)0x1B << "[" << 0 << ";" << color + 30 << ";" << 0 + 40 << "m";
+}
+
+/**
+ * Set the console color.
+ */
+void appendConsoleColor(string& s, int color) {
+       s.push_back((char)0x1B);
+       s.append("[0;");
+       ostringstream ss;
+       ss << (color + 30);
+       s.append(ss.str());
+       s.append(";40m");
+}
+
+/**
+ * Print color character in the appropriate color to the console.
+ * Console must support color.
+ */
+void printColor(char color) {
+       char ch = ' ';
+       switch(color) {
+               case 'A':
+               case '0':
+               case 0:
+                       setConsoleColor(COLOR_BLUE);
+                       ch = '0'; break;
+               case 'C':
+               case '1':
+               case 1:
+                       setConsoleColor(COLOR_GREEN);
+                       ch = '1'; break;
+               case 'G':
+               case '2':
+               case 2:
+                       setConsoleColor(COLOR_YELLOW);
+                       ch = '2'; break;
+               case 'T':
+               case '3':
+               case 3:
+                       setConsoleColor(COLOR_RED);
+                       ch = '3'; break;
+               case 'N':
+               case '4':
+               case '.':
+               case 4:
+                       setConsoleColor(COLOR_WHITE);
+                       ch = '.'; break;
+               default:
+                       setConsoleColor(COLOR_WHITE);
+                       break;
+       }
+       cout << ch;
+       setConsoleColor(COLOR_WHITE);
+}
+
+/**
+ * Print color character in the appropriate color to the console.
+ * Console must support color.
+ */
+void appendColor(string& s, char color) {
+       char ch = ' ';
+       switch(color) {
+               case 'A':
+               case '0':
+               case 0:
+                       appendConsoleColor(s, COLOR_BLUE);
+                       ch = '0'; break;
+               case 'C':
+               case '1':
+               case 1:
+                       appendConsoleColor(s, COLOR_GREEN);
+                       ch = '1'; break;
+               case 'G':
+               case '2':
+               case 2:
+                       appendConsoleColor(s, COLOR_YELLOW);
+                       ch = '2'; break;
+               case 'T':
+               case '3':
+               case 3:
+                       appendConsoleColor(s, COLOR_RED);
+                       ch = '3'; break;
+               case 'N':
+               case '4':
+               case '.':
+               case 4:
+                       appendConsoleColor(s, COLOR_WHITE);
+                       ch = '.'; break;
+               default:
+                       appendConsoleColor(s, COLOR_WHITE);
+                       break;
+       }
+       s.push_back(ch);
+       appendConsoleColor(s, COLOR_WHITE);
+}
diff --git a/color.h b/color.h
new file mode 100644 (file)
index 0000000..27be4d9
--- /dev/null
+++ b/color.h
@@ -0,0 +1,27 @@
+/*
+ * color.h
+ *
+ *  Created on: Oct 18, 2009
+ *      Author: Ben Langmead
+ */
+
+#ifndef COLOR_H_
+#define COLOR_H_
+
+#include <string>
+
+enum {
+       COLOR_RED = 1,
+       COLOR_GREEN,
+       COLOR_YELLOW,
+       COLOR_BLUE,
+       COLOR_WHITE = 7
+};
+
+
+void appendConsoleColor(std::string& s, int color);
+void setConsoleColor(int color);
+void appendColor(std::string& s, char color);
+void printColor(char color);
+
+#endif /* COLOR_H_ */
diff --git a/color_dec.cpp b/color_dec.cpp
new file mode 100644 (file)
index 0000000..c5f17ed
--- /dev/null
@@ -0,0 +1,347 @@
+/*
+ * color_dec.cpp
+ *
+ *  Created on: October 15, 2009
+ *      Author: Ben Langmead
+ */
+
+#include <iostream>
+#include <string>
+#include <stdlib.h>
+#include "alphabet.h"
+#include "color_dec.h"
+#include "color.h"
+#include "qual.h"
+
+using namespace std;
+
+// 4-bit pop count
+static int alts[] = {
+       -1, 1, 1, 2, 1, 2, 2, 3,
+        1, 2, 2, 3, 2, 3, 3, 4
+};
+static int firsts[] = {
+       -1, 0, 1, 0, 2, 0, 1, 0,
+        3, 0, 1, 0, 2, 0, 1, 0
+};
+
+/**
+ * Given a nucleotide mask, pick one matching nucleotide at random.
+ */
+static int randFromMask(int mask) {
+       assert_gt(mask, 0);
+       if(alts[mask] == 1) return firsts[mask];
+       assert_gt(mask, 0);
+       assert_lt(mask, 16);
+       int r = rand() % alts[mask];
+       assert_geq(r, 0);
+       assert_lt(r, alts[mask]);
+       for(int i = 0; i < 4; i++) {
+               if((mask & (1 << i)) != 0) {
+                       if(r == 0) return i;
+                       r--;
+               }
+       }
+       cerr << "Shouldn't get here" << endl;
+       throw 1;
+       return -1;
+}
+
+/**
+ * Does a 2-bit-encoded base match any bit in a mask?
+ */
+static inline bool matches(int i, int j) {
+       return ((1 << i) & j) != 0;
+}
+
+/**
+ * Given the dynamic programming table, trace backwards from the last
+ * column and populate the 's' and 'cmm' strings accordingly.  Whenever
+ * there are multiple equally good ways of backtracking, choose one at
+ * random.
+ */
+static void backtrack(int table[4][6][1025], // filled-in table
+                      const char *read, size_t readi, size_t readf,
+                      const char *ref, size_t refi, size_t reff,
+                      char *s,    // final nucleotide string
+                      char *cmm,  // color mismatches
+                      char *nmm,  // nucleotide mismatches
+                      int& cmms,  // # color mismatches
+                      int& nmms)  // # nucleotide mismatches
+{
+       const size_t len = reff-refi;
+       cmms = nmms = 0;
+       int min = INT_MAX;
+       int bests = 0;
+       // Determine best base in final column of table
+       for(int i = 0; i < 4; i++) {
+               // Install minimum and backtrack info
+               int m = table[i][4][len-1];
+               if(m < min) {
+                       min = m;
+                       bests = (1 << i);
+               } else if(m == min) {
+                       bests |= (1 << i);
+               }
+       }
+       // i <- position of rightmost nucleotide
+       int i = (int)len-1;
+       // to <- rightmost nucleotide
+       int to = randFromMask(bests);
+       while(true) {
+               bests = table[to][5][i]; // get next best mask
+               s[i--] = to; // install best nucleotide
+               if(i < 0) break; // done
+               assert_gt(bests, 0);
+               assert_lt(bests, 16);
+               to = randFromMask(bests); // select
+       }
+       // Determine what reference nucleotides were matched against
+       for(size_t i = 0; i < len; i++) {
+               if(matches(s[i], ref[refi+i])) {
+                       assert_eq(1, alts[(int)ref[refi+i]]);
+                       // Just plain matched
+                       nmm[i] = 'M';
+               } else {
+                       // If ref is ambiguous here, does it matter which one we
+                       // choose?  I don't think so.
+                       assert_eq(1, alts[(int)ref[refi+i]]);
+                       // SNP here
+                       nmm[i] = 'S';
+                       nmms++;
+               }
+       }
+       for(size_t i = 0; i < len-1; i++) {
+               int c1 = (int)read[readi+i]; // actual
+               int c2 = dinuc2color[(int)s[i]][(int)s[i+1]]; // decoded
+               assert_leq(c1, 4); assert_geq(c1, 0);
+               if(c1 != c2 || c1 == 4) {
+                       // Actual != decoded
+                       assert_lt(c2, 4); assert_geq(c2, 0);
+                       cmm[i] = "0123."[c2];
+                       cmms++;
+               } else {
+                       cmm[i] = 'M';
+               }
+       }
+       // done
+}
+
+/**
+ * Decode the colorspace read 'read' as aligned against the reference
+ * string 'ref', assuming that it's a hit.
+ */
+void decodeHit(
+               const char *read, // ASCII colors, '0', '1', '2', '3', '.'
+               const char *qual, // ASCII quals, Phred+33 encoded
+               size_t readi, // offset of first character within 'read' to consider
+               size_t readf, // offset of last char (exclusive) in 'read' to consider
+               const char *ref, // reference sequence, as masks
+               size_t refi, // offset of first character within 'ref' to consider
+               size_t reff, // offset of last char (exclusive) in 'ref' to consider
+               int snpPhred, // penalty incurred by a SNP
+               char *ns,  // decoded nucleotides are appended here
+               char *cmm, // where the color mismatches are in the string
+               char *nmm, // where nucleotide mismatches are in the string
+               int& cmms, // number of color mismatches
+               int& nmms) // number of nucleotide mismatches
+{
+       assert_lt(refi, reff);
+       assert_lt(readi, readf);
+       assert_eq(reff-refi-1, readf-readi);
+
+       //
+       // Dynamic programming table; good for colorspace reads up to 1024
+       // colors in length.
+       //
+       int table[4][6][1025];
+       // 0 -> A, 1 -> C, 2 -> G, 3 -> T, 4 -> min(A, C, G, T),
+       // 5 -> backtrack mask, 6 -> min mismatches
+
+       // The first column of the table just considers the first
+       // nucleotide and whether it matches the ref nucleotide.
+       for(int to = 0; to < 4; to++) {
+               if(matches(to, ref[refi])) {
+                       // The assigned subject nucleotide matches the reference;
+                       // no penalty
+                       table[to][0][0] = 0;
+                       table[to][1][0] = 0;
+                       table[to][2][0] = 0;
+                       table[to][3][0] = 0;
+                       table[to][4][0] = 0;
+                       table[to][5][0] = 15;
+               } else {
+                       // The assigned subject nucleotide does not match the
+                       // reference nucleotide, so we add a SNP penalty
+                       table[to][0][0] = snpPhred;
+                       table[to][1][0] = snpPhred;
+                       table[to][2][0] = snpPhred;
+                       table[to][3][0] = snpPhred;
+                       table[to][4][0] = snpPhred;
+                       table[to][5][0] = 15;
+               }
+       }
+
+       // Successive columns examine successive alignment positions
+       int omin = INT_MAX, t = 0;
+       int lastOmin = INT_MAX;
+       for(size_t c = readi; c < readf; c++) {
+               const int readc = (int)read[c];
+               assert_leq(readc, 4);
+               assert_geq(readc, 0);
+               lastOmin = omin;
+               omin = INT_MAX;
+               // t <- index of column in dynamic programming table
+               t = c - readi + 1;
+               const int refc = ref[refi + t];
+               int from[] = { table[0][4][t-1], table[1][4][t-1],
+                              table[2][4][t-1], table[3][4][t-1] };
+               // For each downstream nucleotide
+               for(int to = 0; to < 4; to++) {
+                       // For each upstream nucleotide
+                       int min = INT_MAX;
+                       const int goodfrom = nuccol2nuc[to][readc];
+                       int q = qual[c];
+                       // Reward the preceding position
+                       if(goodfrom < 4) from[goodfrom] -= q;
+                       min = from[0];
+                       table[to][5][t] = 1;
+                       if(from[1] < min) {
+                               min = from[1];
+                               table[to][5][t] = 2;
+                       } else if(from[1] == min) {
+                               table[to][5][t] |= 2;
+                       }
+                       if(from[2] < min) {
+                               min = from[2];
+                               table[to][5][t] = 4;
+                       } else if(from[2] == min) {
+                               table[to][5][t] |= 4;
+                       }
+                       if(from[3] < min) {
+                               min = from[3];
+                               table[to][5][t] = 8;
+                       } else if(from[3] == min) {
+                               table[to][5][t] |= 8;
+                       }
+                       min += q;
+                       if(!matches(to, refc)) {
+                               min += snpPhred;
+                       }
+                       table[to][4][t] = min;
+                       if(min < omin) omin = min;
+                       if(goodfrom < 4) from[goodfrom] += q;
+               }
+       }
+
+       t++;
+       assert_eq(t, (int)(reff - refi));
+       // Install the best backward path into ns, cmm, nmm
+       backtrack(table,
+                 read, readi, readi + t - 1,
+                 ref, refi, refi + t,
+                 ns, cmm, nmm, cmms, nmms);
+}
+
+#ifdef MAIN_COLOR_DEC
+
+#include <sstream>
+#include <getopt.h>
+
+static const char *short_opts = "s:m:r:e:";
+static struct option long_opts[] = {
+       {(char*)"snppen",  required_argument, 0, 's'},
+       {(char*)"misspen", required_argument, 0, 'm'},
+       {(char*)"seed",    required_argument, 0, 'r'},
+       {(char*)"maxpen",  required_argument, 0, 'e'}
+};
+
+template<typename T>
+T parse(const char *s) {
+       T tmp;
+       stringstream ss(s);
+       ss >> tmp;
+       return tmp;
+}
+
+int main(int argc, char **argv) {
+       int option_index = 0;
+       int next_option;
+       int snppen = 30;
+       int misspen = 20;
+       int maxPenalty = 70;
+       unsigned seed = 0;
+       do {
+               next_option = getopt_long(argc, argv, short_opts, long_opts, &option_index);
+               switch (next_option) {
+                       case 's': snppen = parse<int>(optarg); break;
+                       case 'm': misspen = parse<int>(optarg); break;
+                       case 'r': seed = parse<unsigned>(optarg); break;
+                       case 'e': maxPenalty = parse<int>(optarg); break;
+                       case -1: break;
+                       default: {
+                               cerr << "Unknown option: " << (char)next_option << endl;
+                               exit(1);
+                       }
+               }
+       } while(next_option != -1);
+       srand(seed);
+       if(argc - optind < 2) {
+               cerr << "Not enough options" << endl;
+               exit(1);
+       }
+       string read, ref;
+       read = argv[optind];
+       for(size_t i = 0; i < read.length(); i++) {
+               read[i] = asc2col[(int)read[i]];
+               assert_leq(read[i], 4);
+               assert_geq(read[i], 0);
+       }
+       ref = argv[optind+1];
+       for(size_t i = 0; i < ref.length(); i++) {
+               int num = 0;
+               int alts[] = {4, 4, 4, 4};
+               decodeNuc(toupper(ref[i]), num, alts);
+               assert_leq(num, 4);
+               assert_gt(num, 0);
+               ref[i] = 0;
+               for(int j = 0; j < num; j++) {
+                       ref[i] |= (1 << alts[j]);
+               }
+       }
+       string ns;
+       string quals;
+       quals.resize(read.length(), misspen);
+       string cmm, nmm;
+       int score = decode(read, quals, 0, read.length(),
+                          ref, 0, ref.length(), maxPenalty,
+                          snppen, ns, cmm, nmm);
+       cout << " Score: " << score << " (max: " << maxPenalty << ")" << endl;
+       cout << "   MMs:  ";
+       for(size_t i = 0; i < cmm.length(); i++) {
+               cout << cmm[i] << " ";
+       }
+       cout << endl;
+       cout << "Colors:  ";
+       for(size_t i = 0; i < read.length(); i++) {
+               printColor((int)read[i]);
+               cout << " ";
+       }
+       cout << endl;
+       cout << " Bases: ";
+       for(size_t i = 0; i < ns.length(); i++) {
+               cout << "ACGTN"[(int)ns[i]] << " ";
+       }
+       cout << endl;
+       cout << "   Ref: ";
+       for(size_t i = 0; i < ref.length(); i++) {
+               cout << mask2iupac[(int)ref[i]] << " ";
+       }
+       cout << endl;
+       cout << "   MMs: ";
+       for(size_t i = 0; i < ref.length(); i++) {
+               cout << nmm[i] << " ";
+       }
+       cout << endl;
+}
+#endif
diff --git a/color_dec.h b/color_dec.h
new file mode 100644 (file)
index 0000000..f9f1222
--- /dev/null
@@ -0,0 +1,31 @@
+/*
+ * color_dec.h
+ *
+ *  Created on: Oct 14, 2009
+ *      Author: Ben Langmead
+ */
+
+#ifndef COLOR_DEC_H_
+#define COLOR_DEC_H_
+
+#include <stdint.h>
+#include <string>
+#include <utility>
+#include "alphabet.h"
+
+void decodeHit(
+               const char *read, // ASCII colors, '0', '1', '2', '3', '.'
+               const char *qual, // ASCII quals, Phred+33 encoded
+               size_t readi, // offset of first character within 'read' to consider
+               size_t readf, // offset of last char (exclusive) in 'read' to consider
+               const char *ref, // reference sequence, as masks
+               size_t refi, // offset of first character within 'ref' to consider
+               size_t reff, // offset of last char (exclusive) in 'ref' to consider
+               int snpPhred, // penalty incurred by a SNP
+               char *ns,  // decoded nucleotides are appended here
+               char *cmm, // where the color mismatches are in the string
+               char *nmm, // where nucleotide mismatches are in the string
+               int& cmms, // number of color mismatches
+               int& nmms);// number of nucleotide mismatches
+
+#endif /* COLOR_DEC_H_ */
diff --git a/diff_sample.h b/diff_sample.h
new file mode 100644 (file)
index 0000000..287cd69
--- /dev/null
@@ -0,0 +1,982 @@
+#ifndef DIFF_SAMPLE_H_
+#define DIFF_SAMPLE_H_
+
+#include <stdint.h>
+#include <seqan/sequence.h>
+#include <seqan/index.h> // for LarssonSadakane
+#include "assert_helpers.h"
+#include "multikey_qsort.h"
+#include "timer.h"
+#include "auto_array.h"
+
+using namespace std;
+using namespace seqan;
+
+#ifndef VMSG_NL
+#define VMSG_NL(args...) \
+if(this->verbose()) { \
+       stringstream tmp; \
+       tmp << args << endl; \
+       this->verbose(tmp.str()); \
+}
+#endif
+
+#ifndef VMSG
+#define VMSG(args...) \
+if(this->verbose()) { \
+       stringstream tmp; \
+       tmp << args; \
+       this->verbose(tmp.str()); \
+}
+#endif
+
+/**
+ * Routines for calculating, sanity-checking, and dispensing difference
+ * cover samples to clients.
+ */
+
+/**
+ *
+ */
+struct sampleEntry {
+       uint32_t maxV;
+       uint32_t numSamples;
+       uint32_t samples[128];
+};
+
+/// Array of Colbourn and Ling calculated difference covers up to
+/// r = 16 (maxV = 5953)
+static struct sampleEntry clDCs[16];
+static bool clDCs_calced = false; /// have clDCs been calculated?
+
+/**
+ * Check that the given difference cover 'ds' actually covers all
+ * differences for a periodicity of v.
+ */
+template<typename T>
+static bool dcRepOk(T v, String<T>& ds) {
+       // diffs[] records all the differences observed
+       bool *covered = new bool[v];
+       for(T i = 1; i < v; i++) {
+               covered[i] = false;
+       }
+       for(T di = T(); di < length(ds); di++) {
+               for(T dj = di+1; dj < length(ds); dj++) {
+                       assert_lt(ds[di], ds[dj]);
+                       T d1 = (ds[dj] - ds[di]);
+                       T d2 = (ds[di] + v - ds[dj]);
+                       assert_lt(d1, v);
+                       assert_lt(d2, v);
+                       covered[d1] = true;
+                       covered[d2] = true;
+               }
+       }
+       bool ok = true;
+       for(T i = 1; i < v; i++) {
+               if(covered[i] == false) {
+                       ok = false;
+                       break;
+               }
+       }
+       delete[] covered;
+       return ok;
+}
+
+/**
+ * Return true iff each element of ts (with length 'limit') is greater
+ * than the last.
+ */
+template<typename T>
+static bool increasing(T* ts, size_t limit) {
+       for(size_t i = 0; i < limit-1; i++) {
+               if(ts[i+1] <= ts[i]) return false;
+       }
+       return true;
+}
+
+/**
+ * Return true iff the given difference cover covers difference 'diff'
+ * mod 'v'.
+ */
+template<typename T>
+static inline bool hasDifference(T *ds, T d, T v, T diff) {
+       // diffs[] records all the differences observed
+       for(T di = T(); di < d; di++) {
+               for(T dj = di+1; dj < d; dj++) {
+                       assert_lt(ds[di], ds[dj]);
+                       T d1 = (ds[dj] - ds[di]);
+                       T d2 = (ds[di] + v - ds[dj]);
+                       assert_lt(d1, v);
+                       assert_lt(d2, v);
+                       if(d1 == diff || d2 == diff) return true;
+               }
+       }
+       return false;
+}
+
+/**
+ * Exhaustively calculate optimal difference cover samples for v = 4,
+ * 8, 16, 32, 64, 128, 256 and store results in p2DCs[]
+ */
+template<typename T>
+void calcExhaustiveDC(T i, bool verbose = false, bool sanityCheck = false) {
+       T v = i;
+       bool *diffs = new bool[v];
+       // v is the target period
+       T ld = (T)ceil(sqrt(v));
+       // ud is the upper bound on |D|
+       T ud = v / 2;
+       // for all possible |D|s
+       bool ok = true;
+       T *ds = NULL;
+       T d;
+       for(d = ld; d <= ud+1; d++) {
+               // for all possible |D| samples
+               ds = new T[d];
+               for(T j = 0; j < d; j++) {
+                       ds[j] = j;
+               }
+               assert(increasing(ds, d));
+               while(true) {
+                       // reset diffs[]
+                       for(T t = 1; t < v; t++) {
+                               diffs[t] = false;
+                       }
+                       T diffCnt = 0;
+                       // diffs[] records all the differences observed
+                       for(T di = 0; di < d; di++) {
+                               for(T dj = di+1; dj < d; dj++) {
+                                       assert_lt(ds[di], ds[dj]);
+                                       T d1 = (ds[dj] - ds[di]);
+                                       T d2 = (ds[di] + v - ds[dj]);
+                                       assert_lt(d1, v);
+                                       assert_lt(d2, v);
+                                       assert_gt(d1, 0);
+                                       assert_gt(d2, 0);
+                                       if(!diffs[d1]) diffCnt++; diffs[d1] = true;
+                                       if(!diffs[d2]) diffCnt++; diffs[d2] = true;
+                               }
+                       }
+                       // Do we observe all possible differences (except 0)
+                       ok = diffCnt == v-1;
+                       if(ok) {
+                               // Yes, all differences are covered
+                               break;
+                       } else {
+                               // Advance ds
+                               // (Following is commented out because it turns out
+                               // it's slow)
+                               // Find a missing difference
+                               //uint32_t missing = 0xffffffff;
+                               //for(uint32_t t = 1; t < v; t++) {
+                               //      if(diffs[t] == false) {
+                               //              missing = diffs[t];
+                               //              break;
+                               //      }
+                               //}
+                               //assert_neq(missing, 0xffffffff);
+                               assert(increasing(ds, d));
+                               bool advanced = false;
+                               bool keepGoing = false;
+                               do {
+                                       keepGoing = false;
+                                       for(T bd = d-1; bd > 1; bd--) {
+                                               T dif = (d-1)-bd;
+                                               if(ds[bd] < v-1-dif) {
+                                                       ds[bd]++;
+                                                       assert_neq(0, ds[bd]);
+                                                       // Reset subsequent ones
+                                                       for(T bdi = bd+1; bdi < d; bdi++) {
+                                                               assert_eq(0, ds[bdi]);
+                                                               ds[bdi] = ds[bdi-1]+1;
+                                                               assert_gt(ds[bdi], ds[bdi-1]);
+                                                       }
+                                                       assert(increasing(ds, d));
+                                                       // (Following is commented out because
+                                                       // it turns out it's slow)
+                                                       // See if the new DC has the missing value
+                                                       //if(!hasDifference(ds, d, v, missing)) {
+                                                       //      keepGoing = true;
+                                                       //      break;
+                                                       //}
+                                                       advanced = true;
+                                                       break;
+                                               } else {
+                                                       ds[bd] = 0;
+                                                       // keep going
+                                               }
+                                       }
+                               } while(keepGoing);
+                               // No solution for this |D|
+                               if(!advanced) break;
+                               assert(increasing(ds, d));
+                       }
+               } // next sample assignment
+               if(ok) {
+                       break;
+               }
+               delete[] ds;
+       } // next |D|
+       assert(ok);
+       delete[] diffs;
+       cout << "Did exhaustive v=" << v << " |D|=" << d << endl;
+       cout << "  ";
+       for(T i = 0; i < d; i++) {
+               cout << ds[i];
+               if(i < d-1) cout << ",";
+       }
+       cout << endl;
+       delete[] ds;
+}
+
+/**
+ * Routune for calculating the elements of clDCs up to r = 16 using the
+ * technique of Colbourn and Ling.
+ *
+ * See http://citeseer.ist.psu.edu/211575.html
+ */
+template <typename T>
+void calcColbournAndLingDCs(bool verbose = false, bool sanityCheck = false) {
+       for(T r = 0; r < 16; r++) {
+               T maxv = 24*r*r + 36*r + 13; // Corollary 2.3
+               T numsamp = 6*r + 4;
+               clDCs[r].maxV = maxv;
+               clDCs[r].numSamples = numsamp;
+               memset(clDCs[r].samples, 0, 4 * 128);
+               T i;
+               // clDCs[r].samples[0] = 0;
+               // Fill in the 1^r part of the B series
+               for(i = 1; i < r+1; i++) {
+                       clDCs[r].samples[i] = clDCs[r].samples[i-1] + 1;
+               }
+               // Fill in the (r + 1)^1 part
+               clDCs[r].samples[r+1] = clDCs[r].samples[r] + r + 1;
+               // Fill in the (2r + 1)^r part
+               for(i = r+2; i < r+2+r; i++) {
+                       clDCs[r].samples[i] = clDCs[r].samples[i-1] + 2*r + 1;
+               }
+               // Fill in the (4r + 3)^(2r + 1) part
+               for(i = r+2+r; i < r+2+r+2*r+1; i++) {
+                       clDCs[r].samples[i] = clDCs[r].samples[i-1] + 4*r + 3;
+               }
+               // Fill in the (2r + 2)^(r + 1) part
+               for(i = r+2+r+2*r+1; i < r+2+r+2*r+1+r+1; i++) {
+                       clDCs[r].samples[i] = clDCs[r].samples[i-1] + 2*r + 2;
+               }
+               // Fill in the last 1^r part
+               for(i = r+2+r+2*r+1+r+1; i < r+2+r+2*r+1+r+1+r; i++) {
+                       clDCs[r].samples[i] = clDCs[r].samples[i-1] + 1;
+               }
+               assert_eq(i, numsamp);
+               assert_lt(i, 128);
+               if(sanityCheck) {
+                       // diffs[] records all the differences observed
+                       bool *diffs = new bool[maxv];
+                       for(T i = 0; i < numsamp; i++) {
+                               for(T j = i+1; j < numsamp; j++) {
+                                       T d1 = (clDCs[r].samples[j] - clDCs[r].samples[i]);
+                                       T d2 = (clDCs[r].samples[i] + maxv - clDCs[r].samples[j]);
+                                       assert_lt(d1, maxv);
+                                       assert_lt(d2, maxv);
+                                       diffs[d1] = true;
+                                       diffs[d2] = true;
+                               }
+                       }
+                       // Should have observed all possible differences (except 0)
+                       for(T i = 1; i < maxv; i++) {
+                               if(diffs[i] == false) cout << r << ", " << i << endl;
+                               assert(diffs[i] == true);
+                       }
+                       delete[] diffs;
+               }
+       }
+       clDCs_calced = true;
+}
+
+/**
+ * Entries 4-57 are transcribed from page 6 of Luk and Wong's paper
+ * "Two New Quorum Based Algorithms for Distributed Mutual Exclusion",
+ * which is also used and cited in the Burkhardt and Karkkainen's
+ * papers on difference covers for sorting.  These samples are optimal
+ * according to Luk and Wong.
+ *
+ * All other entries are generated via the exhaustive algorithm in
+ * calcExhaustiveDC().
+ *
+ * The 0 is stored at the end of the sample as an end-of-list marker,
+ * but 0 is also an element of each.
+ *
+ * Note that every difference cover has a 0 and a 1.  Intuitively,
+ * any optimal difference cover sample can be oriented (i.e. rotated)
+ * such that it includes 0 and 1 as elements.
+ *
+ * All samples in this list have been verified to be complete covers.
+ *
+ * A value of 0xffffffff in the first column indicates that there is no
+ * sample for that value of v.  We do not keep samples for values of v
+ * less than 3, since they are trivial (and the caller probably didn't
+ * mean to ask for it).
+ */
+static uint32_t dc0to64[65][10] = {
+       {0xffffffff},                     // 0
+       {0xffffffff},                     // 1
+       {0xffffffff},                     // 2
+       {1, 0},                           // 3
+       {1, 2, 0},                        // 4
+       {1, 2, 0},                        // 5
+       {1, 3, 0},                        // 6
+       {1, 3, 0},                        // 7
+       {1, 2, 4, 0},                     // 8
+       {1, 2, 4, 0},                     // 9
+       {1, 2, 5, 0},                     // 10
+       {1, 2, 5, 0},                     // 11
+       {1, 3, 7, 0},                     // 12
+       {1, 3, 9, 0},                     // 13
+       {1, 2, 3, 7, 0},                  // 14
+       {1, 2, 3, 7, 0},                  // 15
+       {1, 2, 5, 8, 0},                  // 16
+       {1, 2, 4, 12, 0},                 // 17
+       {1, 2, 5, 11, 0},                 // 18
+       {1, 2, 6, 9, 0},                  // 19
+       {1, 2, 3, 6, 10, 0},              // 20
+       {1, 4, 14, 16, 0},                // 21
+       {1, 2, 3, 7, 11, 0},              // 22
+       {1, 2, 3, 7, 11, 0},              // 23
+       {1, 2, 3, 7, 15, 0},              // 24
+       {1, 2, 3, 8, 12, 0},              // 25
+       {1, 2, 5, 9, 15, 0},              // 26
+       {1, 2, 5, 13, 22, 0},             // 27
+       {1, 4, 15, 20, 22, 0},            // 28
+       {1, 2, 3, 4, 9, 14, 0},           // 29
+       {1, 2, 3, 4, 9, 19, 0},           // 30
+       {1, 3, 8, 12, 18, 0},             // 31
+       {1, 2, 3, 7, 11, 19, 0},          // 32
+       {1, 2, 3, 6, 16, 27, 0},          // 33
+       {1, 2, 3, 7, 12, 20, 0},          // 34
+       {1, 2, 3, 8, 12, 21, 0},          // 35
+       {1, 2, 5, 12, 14, 20, 0},         // 36
+       {1, 2, 4, 10, 15, 22, 0},         // 37
+       {1, 2, 3, 4, 8, 14, 23, 0},       // 38
+       {1, 2, 4, 13, 18, 33, 0},         // 39
+       {1, 2, 3, 4, 9, 14, 24, 0},       // 40
+       {1, 2, 3, 4, 9, 15, 25, 0},       // 41
+       {1, 2, 3, 4, 9, 15, 25, 0},       // 42
+       {1, 2, 3, 4, 10, 15, 26, 0},      // 43
+       {1, 2, 3, 6, 16, 27, 38, 0},      // 44
+       {1, 2, 3, 5, 12, 18, 26, 0},      // 45
+       {1, 2, 3, 6, 18, 25, 38, 0},      // 46
+       {1, 2, 3, 5, 16, 22, 40, 0},      // 47
+       {1, 2, 5, 9, 20, 26, 36, 0},      // 48
+       {1, 2, 5, 24, 33, 36, 44, 0},     // 49
+       {1, 3, 8, 17, 28, 32, 38, 0},     // 50
+       {1, 2, 5, 11, 18, 30, 38, 0},     // 51
+       {1, 2, 3, 4, 6, 14, 21, 30, 0},   // 52
+       {1, 2, 3, 4, 7, 21, 29, 44, 0},   // 53
+       {1, 2, 3, 4, 9, 15, 21, 31, 0},   // 54
+       {1, 2, 3, 4, 6, 19, 26, 47, 0},   // 55
+       {1, 2, 3, 4, 11, 16, 33, 39, 0},  // 56
+       {1, 3, 13, 32, 36, 43, 52, 0},    // 57
+
+       // Generated by calcExhaustiveDC()
+       {1, 2, 3, 7, 21, 33, 37, 50, 0},  // 58
+       {1, 2, 3, 6, 13, 21, 35, 44, 0},  // 59
+       {1, 2, 4, 9, 15, 25, 30, 42, 0},  // 60
+       {1, 2, 3, 7, 15, 25, 36, 45, 0},  // 61
+       {1, 2, 4, 10, 32, 39, 46, 51, 0}, // 62
+       {1, 2, 6, 8, 20, 38, 41, 54, 0},  // 63
+       {1, 2, 5, 14, 16, 34, 42, 59, 0}  // 64
+};
+
+/**
+ * Get a difference cover for the requested periodicity v.
+ */
+template <typename T>
+static String<T> getDiffCover(T v,
+                              bool verbose = false,
+                              bool sanityCheck = false)
+{
+       assert_gt(v, 2);
+       String<T> ret;
+
+       // Can we look it up in our hardcoded array?
+       if(v <= 64 && dc0to64[v][0] == 0xffffffff) {
+               if(verbose) cout << "v in hardcoded area, but hardcoded entry was all-fs" << endl;
+               return ret;
+       } else if(v <= 64) {
+               append(ret, 0);
+               for(size_t i = 0; i < 10; i++) {
+                       if(dc0to64[v][i] == 0) break;
+                       append(ret, dc0to64[v][i]);
+               }
+               if(sanityCheck) assert(dcRepOk(v, ret));
+               return ret;
+       }
+
+       // Can we look it up in our calcColbournAndLingDCs array?
+       if(!clDCs_calced) {
+               calcColbournAndLingDCs<uint32_t>(verbose, sanityCheck);
+               assert(clDCs_calced);
+       }
+       for(size_t i = 0; i < 16; i++) {
+               if(v <= clDCs[i].maxV) {
+                       for(size_t j = 0; j < clDCs[i].numSamples; j++) {
+                               T s = clDCs[i].samples[j];
+                               if(s >= v) {
+                                       s %= v;
+                                       for(size_t k = 0; k < length(ret); k++) {
+                                               if(s == ret[k]) break;
+                                               if(s < ret[k]) {
+                                                       insertValue(ret, k, s);
+                                                       break;
+                                               }
+                                       }
+                               } else {
+                                       append(ret, s % v);
+                               }
+                       }
+                       if(sanityCheck) assert(dcRepOk(v, ret));
+                       return ret;
+               }
+       }
+       cerr << "Error: Could not find a difference cover sample for v=" << v << endl;
+       throw 1;
+}
+
+/**
+ * Calculate and return a delta map based on the given difference cover
+ * and periodicity v.
+ */
+template <typename T>
+static String<T> getDeltaMap(T v, const String<T>& dc) {
+       // Declare anchor-map-related items
+       String<T> amap;
+       size_t amapEnts = 1;
+       fill(amap, v, 0xffffffff, Exact());
+       amap[0] = 0;
+       // Print out difference cover (and optionally calculate
+       // anchor map)
+       for(size_t i = 0; i < length(dc); i++) {
+               for(size_t j = i+1; j < length(dc); j++) {
+                       assert_gt(dc[j], dc[i]);
+                       T diffLeft  = dc[j] - dc[i];
+                       T diffRight = dc[i] + v - dc[j];
+                       assert_lt(diffLeft, v);
+                       assert_lt(diffRight, v);
+                       if(amap[diffLeft] == 0xffffffff) {
+                               amap[diffLeft] = dc[i];
+                               amapEnts++;
+                       }
+                       if(amap[diffRight] == 0xffffffff) {
+                               amap[diffRight] = dc[j];
+                               amapEnts++;
+                       }
+               }
+       }
+       return amap;
+}
+
+/**
+ * Return population count (count of all bits set to 1) of i.
+ */
+template<typename T>
+static unsigned int popCount(T i) {
+       unsigned int cnt = 0;
+       for(size_t j = 0; j < sizeof(T)*8; j++) {
+               if(i & 1) cnt++;
+               i >>= 1;
+       }
+       return cnt;
+}
+
+/**
+ * Calculate log-base-2 of i
+ */
+template<typename T>
+static unsigned int myLog2(T i) {
+       assert_eq(1, popCount(i)); // must be power of 2
+       for(size_t j = 0; j < sizeof(T)*8; j++) {
+               if(i & 1) return j;
+               i >>= 1;
+       }
+       assert(false);
+       return 0xffffffff;
+}
+
+/**
+ *
+ */
+template<typename TStr>
+class DifferenceCoverSample {
+public:
+
+       DifferenceCoverSample(const TStr& __text,
+                             uint32_t __v,
+                             bool __verbose = false,
+                             bool __sanity = false,
+                             ostream& __logger = cout) :
+               _text(__text),
+               _v(__v),
+               _verbose(__verbose),
+               _sanity(__sanity),
+               _ds(getDiffCover(_v, _verbose, _sanity)),
+               _dmap(getDeltaMap(_v, _ds)),
+               _d(length(_ds)),
+               _doffs(),
+               _isaPrime(),
+               _dInv(),
+               _log2v(myLog2(_v)),
+               _vmask(0xffffffff << _log2v),
+               _logger(__logger)
+       {
+               assert_gt(_d, 0);
+               assert_eq(1, popCount(_v)); // must be power of 2
+               // Build map from d's to idx's
+               fill(_dInv, _v, 0xffffffff, Exact());
+               for(size_t i = 0; i < length(_ds); i++) _dInv[_ds[i]] = i;
+       }
+       
+       /**
+        * Allocate an amount of memory that simulates the peak memory
+        * usage of the DifferenceCoverSample with the given text and v.
+        * Throws bad_alloc if it's not going to fit in memory.  Returns
+        * the approximate number of bytes the Cover takes at all times.
+        */
+       static size_t simulateAllocs(const TStr& text, uint32_t v) {
+               String<uint32_t> ds = getDiffCover(v, false /*verbose*/, false /*sanity*/);
+               size_t len = length(text);
+               size_t sPrimeSz = (len / v) * length(ds);
+               // sPrime, sPrimeOrder, _isaPrime all exist in memory at
+               // once and that's the peak
+               AutoArray<uint32_t> aa(sPrimeSz * 3 + (1024 * 1024 /*out of caution*/));
+               return sPrimeSz * 4; // sPrime array
+       }
+
+       uint32_t v() const                   { return _v; }
+       uint32_t log2v() const               { return _log2v; }
+       uint32_t vmask() const               { return _vmask; }
+       uint32_t modv(uint32_t i) const      { return i & ~_vmask; }
+       uint32_t divv(uint32_t i) const      { return i >> _log2v; }
+       uint32_t d() const                   { return _d; }
+       bool verbose() const                 { return _verbose; }
+       bool sanityCheck() const             { return _sanity; }
+       const TStr& text() const             { return _text; }
+       const String<uint32_t>& ds() const   { return _ds; }
+       const String<uint32_t>& dmap() const { return _dmap; }
+       ostream& log() const                 { return _logger; }
+
+       void     build();
+       uint32_t tieBreakOff(uint32_t i, uint32_t j) const;
+       int64_t  breakTie(uint32_t i, uint32_t j) const;
+       bool     isCovered(uint32_t i) const;
+       uint32_t rank(uint32_t i) const;
+
+       /**
+        * Print out the suffix array such that every sample offset has its
+        * rank filled in and every non-sample offset is shown as '-'.
+        */
+       void print(ostream& out) {
+               for(size_t i = 0; i < length(_text); i++) {
+                       if(isCovered(i)) {
+                               out << rank(i);
+                       } else {
+                               out << "-";
+                       }
+                       if(i < length(_text)-1) {
+                               out << ",";
+                       }
+               }
+               out << endl;
+       }
+
+private:
+
+       void doBuiltSanityCheck() const;
+       void buildSPrime(String<uint32_t>& sPrime);
+
+       bool built() const {
+               return length(_isaPrime) > 0;
+       }
+
+       void verbose(const string& s) const {
+               if(this->verbose()) {
+                       this->log() << s;
+                       this->log().flush();
+               }
+       }
+
+       const TStr&      _text;     // text to sample
+       uint32_t         _v;        // periodicity of sample
+       bool             _verbose;  //
+       bool             _sanity;   //
+       String<uint32_t> _ds;       // samples: idx -> d
+       String<uint32_t> _dmap;     // delta map
+       uint32_t         _d;        // |D| - size of sample
+       String<uint32_t> _doffs;    // offsets into sPrime/isaPrime for each d idx
+       String<uint32_t> _isaPrime; // ISA' array
+       String<uint32_t> _dInv;     // Map from d -> idx
+       uint32_t         _log2v;
+       uint32_t         _vmask;
+       ostream&         _logger;
+};
+
+/**
+ * Return true iff suffixes with offsets suf1 and suf2 out of host
+ * string 'host' are identical up to depth 'v'.
+ */
+template <typename TStr>
+static inline bool suffixLt(const TStr& host, uint32_t suf1, uint32_t suf2) {
+       uint32_t hlen = length(host);
+       assert_neq(suf1, suf2);
+       uint32_t i = 0;
+       while(suf1 + i < hlen && suf2 + i < hlen) {
+               if(host[suf1+i] < host[suf2+i]) return true;
+               if(host[suf1+i] > host[suf2+i]) return false;
+               i++;
+       }
+       if(suf1 + i == hlen) {
+               assert_lt(suf2 + i, hlen);
+               return false;
+       }
+       assert_eq(suf2 + i, hlen);
+       return true;
+}
+
+/**
+ * Sanity-check the difference cover by first inverting _isaPrime then
+ * checking that each successive suffix really is less than the next.
+ */
+template <typename TStr>
+void DifferenceCoverSample<TStr>::doBuiltSanityCheck() const {
+       uint32_t v = this->v();
+       assert(built());
+       VMSG_NL("  Doing sanity check");
+       uint32_t added = 0;
+       String<uint32_t> sorted;
+       fill(sorted, length(_isaPrime), 0xffffffff, Exact());
+       for(size_t di = 0; di < this->d(); di++) {
+               uint32_t d = _ds[di];
+               size_t i = 0;
+               for(size_t doi = _doffs[di]; doi < _doffs[di+1]; doi++, i++) {
+                       assert_eq(0xffffffff, sorted[_isaPrime[doi]]);
+                       // Maps the offset of the suffix to its rank
+                       sorted[_isaPrime[doi]] = v*i + d;
+                       added++;
+               }
+       }
+       assert_eq(added, length(_isaPrime));
+       for(size_t i = 0; i < length(sorted)-1; i++) {
+               assert(suffixLt(this->text(), sorted[i], sorted[i+1]));
+       }
+}
+
+/**
+ * Build the s' array by sampling suffixes (suffix offsets, actually)
+ * from t according to the difference-cover sample and pack them into
+ * an array of machine words in the order dictated by the "mu" mapping
+ * described in Burkhardt.
+ *
+ * Also builds _doffs map.
+ */
+template <typename TStr>
+void DifferenceCoverSample<TStr>::buildSPrime(String<uint32_t>& sPrime) {
+       const TStr& t = this->text();
+       const String<uint32_t>& ds = this->ds();
+       uint32_t tlen = length(t);
+       uint32_t v = this->v();
+       uint32_t d = this->d();
+       assert_gt(v, 2);
+       assert_lt(d, v);
+       // Record where each d section should begin in sPrime
+       uint32_t tlenDivV = this->divv(tlen);
+       uint32_t tlenModV = this->modv(tlen);
+       uint32_t sPrimeSz = 0;
+       assert(empty(_doffs));
+       reserve(_doffs, d+1, Exact());
+       assert_eq(capacity(_doffs), d+1);
+       for(uint32_t di = 0; di < d; di++) {
+               // mu mapping
+               uint32_t sz = tlenDivV + ((ds[di] <= tlenModV) ? 1 : 0);
+               assert_geq(sz, 0);
+               appendValue(_doffs, sPrimeSz);
+               sPrimeSz += sz;
+       }
+       appendValue(_doffs, sPrimeSz);
+       #ifndef NDEBUG
+       if(tlenDivV > 0) {
+               for(size_t i = 0; i < d; i++) {
+                       assert_gt(_doffs[i+1], _doffs[i]);
+                       uint32_t diff = _doffs[i+1] - _doffs[i];
+                       assert(diff == tlenDivV || diff == tlenDivV+1);
+               }
+       }
+       #endif
+       assert_eq(length(_doffs), d+1);
+       // Size sPrime appropriately
+       reserve(sPrime, sPrimeSz+1, Exact()); // reserve extra slot for LS
+       fill(sPrime, sPrimeSz, 0xffffffff, Exact());
+       // Slot suffixes from text into sPrime according to the mu
+       // mapping; where the mapping would leave a blank, insert a 0
+       uint32_t added = 0;
+       uint32_t i = 0;
+       for(uint32_t ti = 0; ti <= tlen; ti += v) {
+               for(uint32_t di = 0; di < d; di++) {
+                       uint32_t tti = ti + ds[di];
+                       if(tti > tlen) break;
+                       uint32_t spi = _doffs[di] + i;
+                       assert_lt(spi, _doffs[di+1]);
+                       assert_leq(tti, tlen);
+                       assert_lt(spi, sPrimeSz);
+                       assert_eq(0xffffffff, sPrime[spi]);
+                       sPrime[spi] = tti; added++;
+               }
+               i++;
+       }
+       assert_eq(added, sPrimeSz);
+}
+
+/**
+ * Return true iff suffixes with offsets suf1 and suf2 out of host
+ * string 'host' are identical up to depth 'v'.
+ */
+template <typename TStr>
+static inline bool suffixSameUpTo(const TStr& host,
+                                  uint32_t suf1,
+                                  uint32_t suf2,
+                                  uint32_t v)
+{
+       for(uint32_t i = 0; i < v; i++) {
+               bool endSuf1 = suf1+i >= length(host);
+               bool endSuf2 = suf2+i >= length(host);
+               if((endSuf1 && !endSuf2) || (!endSuf1 && endSuf2)) return false;
+               if(endSuf1 && endSuf2) return true;
+               if(host[suf1+i] != host[suf2+i]) return false;
+       }
+       return true;
+}
+
+/**
+ * Calculates a ranking of all suffixes in the sample and stores them,
+ * packed according to the mu mapping, in _isaPrime.
+ */
+template <typename TStr>
+void DifferenceCoverSample<TStr>::build() {
+       // Local names for relevant types
+       typedef typename Value<TStr>::Type TAlphabet;
+       VMSG_NL("Building DifferenceCoverSample");
+       // Local names for relevant data
+       const TStr& t = this->text();
+       uint32_t v = this->v();
+       assert_gt(v, 2);
+       // Build s'
+       String<uint32_t> sPrime;
+       VMSG_NL("  Building sPrime");
+       buildSPrime(sPrime);
+       assert_gt(length(sPrime), 0);
+       assert_leq(length(sPrime), length(t)+1); // +1 is because of the end-cap
+       uint32_t nextRank = 0;
+       {
+               VMSG_NL("  Building sPrimeOrder");
+               String<uint32_t> sPrimeOrder;
+               reserve(sPrimeOrder, length(sPrime)+1, Exact()); // reserve extra slot for LS
+               resize(sPrimeOrder, length(sPrime), Exact());
+               for(size_t i = 0; i < length(sPrimeOrder); i++) {
+                       sPrimeOrder[i] = i;
+               }
+               // sPrime now holds suffix-offsets for DC samples.
+               {
+                       Timer timer(cout, "  V-Sorting samples time: ", this->verbose());
+                       VMSG_NL("  V-Sorting samples");
+                       // Extract backing-store array from sPrime and sPrimeOrder;
+                       // the mkeyQSortSuf2 routine works on the array for maximum
+                       // efficiency
+                       uint32_t *sPrimeArr = (uint32_t*)begin(sPrime);
+                       size_t slen = length(sPrime);
+                       assert_eq(sPrimeArr[0], sPrime[0]);
+                       assert_eq(sPrimeArr[slen-1], sPrime[slen-1]);
+                       uint32_t *sPrimeOrderArr = (uint32_t*)begin(sPrimeOrder);
+                       assert_eq(sPrimeOrderArr[0], sPrimeOrder[0]);
+                       assert_eq(sPrimeOrderArr[slen-1], sPrimeOrder[slen-1]);
+                       // Sort sample suffixes up to the vth character using a
+                       // multikey quicksort.  Sort time is proportional to the
+                       // number of samples times v.  It isn't quadratic.
+                       // sPrimeOrder is passed in as a swapping partner for
+                       // sPrimeArr, i.e., every time the multikey qsort swaps
+                       // elements in sPrime, it swaps the same elements in
+                       // sPrimeOrder too.  This allows us to easily reconstruct
+                       // what the sort did.
+                       mkeyQSortSuf2(t, sPrimeArr, slen, sPrimeOrderArr,
+                                     ValueSize<TAlphabet>::VALUE,
+                                     this->verbose(), this->sanityCheck(), v);
+                       // Make sure sPrime and sPrimeOrder are consistent with
+                       // their respective backing-store arrays
+                       assert_eq(sPrimeArr[0], sPrime[0]);
+                       assert_eq(sPrimeArr[slen-1], sPrime[slen-1]);
+                       assert_eq(sPrimeOrderArr[0], sPrimeOrder[0]);
+                       assert_eq(sPrimeOrderArr[slen-1], sPrimeOrder[slen-1]);
+               }
+               // Now assign the ranking implied by the sorted sPrime/sPrimeOrder
+               // arrays back into sPrime.
+               VMSG_NL("  Allocating rank array");
+               reserve(_isaPrime, length(sPrime)+1, Exact());
+               fill(_isaPrime, length(sPrime), 0xffffffff, Exact());
+               assert_gt(length(_isaPrime), 0);
+               {
+                       Timer timer(cout, "  Ranking v-sort output time: ", this->verbose());
+                       VMSG_NL("  Ranking v-sort output");
+                       for(size_t i = 0; i < length(sPrime)-1; i++) {
+                               // Place the appropriate ranking
+                               _isaPrime[sPrimeOrder[i]] = nextRank;
+                               // If sPrime[i] and sPrime[i+1] are identical up to v, then we
+                               // should give the next suffix the same rank
+                               if(!suffixSameUpTo(t, sPrime[i], sPrime[i+1], v)) nextRank++;
+                       }
+                       _isaPrime[sPrimeOrder[length(sPrime)-1]] = nextRank; // finish off
+               }
+               // sPrimeOrder is destroyed
+               // All the information we need is now in _isaPrime
+       }
+       #ifndef NDEBUG
+       // Check that all ranks are sane
+       for(size_t i = 0; i < length(_isaPrime); i++) {
+               assert_neq(_isaPrime[i], 0xffffffff);
+               assert_lt(_isaPrime[i], length(_isaPrime));
+       }
+       #endif
+       // Now pass the sPrimeRanks[] array to LarssonSadakane (in SeqAn).
+       append(_isaPrime, length(_isaPrime));
+       append(sPrime, length(sPrime));
+       {
+               Timer timer(cout, "  Invoking Larsson-Sadakane on ranks time: ", this->verbose());
+               VMSG_NL("  Invoking Larsson-Sadakane on ranks");
+               createSuffixArray(sPrime, _isaPrime, LarssonSadakane(), length(_isaPrime));
+       }
+       // sPrime now contains the suffix array (which we ignore)
+       assert_eq(length(_isaPrime), length(sPrime));
+       assert_gt(length(_isaPrime), 0);
+       // chop off final character of _isaPrime
+       resize(_isaPrime, length(_isaPrime)-1);
+       // Subtract 1 from each isaPrime (to adjust for LarssonSadakane
+       // always ranking the final suffix as lexicographically first)
+       for(size_t i = 0; i < length(_isaPrime); i++) {
+               _isaPrime[i]--;
+       }
+       VMSG_NL("  Sanity-checking and returning");
+
+       // done!
+       //if(this->verbose()) print(cout);
+       if(this->sanityCheck()) doBuiltSanityCheck();
+}
+
+/**
+ * Return true iff index i within the text is covered by the difference
+ * cover sample.  Allow i to be off the end of the text; simplifies
+ * logic elsewhere.
+ */
+template <typename TStr>
+bool DifferenceCoverSample<TStr>::isCovered(uint32_t i) const {
+       assert(built());
+       uint32_t modi = this->modv(i);
+       assert_lt(modi, length(_dInv));
+       return _dInv[modi] != 0xffffffff;
+}
+
+/**
+ * Given a text offset that's covered, return its lexicographical rank
+ * among the sample suffixes.
+ */
+template <typename TStr>
+uint32_t DifferenceCoverSample<TStr>::rank(uint32_t i) const {
+       assert(built());
+       assert_lt(i, length(this->text()));
+       uint32_t imodv = this->modv(i);
+       assert_neq(0xffffffff, _dInv[imodv]); // must be in the sample
+       uint32_t ioff = this->divv(i);
+       assert_lt(ioff, _doffs[_dInv[imodv]+1] - _doffs[_dInv[imodv]]);
+       uint32_t isaIIdx = _doffs[_dInv[imodv]] + ioff;
+       assert_lt(isaIIdx, length(_isaPrime));
+       uint32_t isaPrimeI = _isaPrime[isaIIdx];
+       assert_leq(isaPrimeI, length(_isaPrime));
+       return isaPrimeI;
+}
+
+/**
+ * Return: < 0 if suffix i is lexicographically less than suffix j; > 0
+ * if suffix j is lexicographically greater.
+ */
+template <typename TStr>
+int64_t DifferenceCoverSample<TStr>::breakTie(uint32_t i, uint32_t j) const {
+       assert(built());
+       assert_neq(i, j);
+       assert_lt(i, length(this->text()));
+       assert_lt(j, length(this->text()));
+       uint32_t imodv = this->modv(i);
+       uint32_t jmodv = this->modv(j);
+       assert_neq(0xffffffff, _dInv[imodv]); // must be in the sample
+       assert_neq(0xffffffff, _dInv[jmodv]); // must be in the sample
+       uint32_t dimodv = _dInv[imodv];
+       uint32_t djmodv = _dInv[jmodv];
+       uint32_t ioff = this->divv(i);
+       uint32_t joff = this->divv(j);
+       assert_lt(dimodv+1, length(_doffs));
+       assert_lt(djmodv+1, length(_doffs));
+       // assert_lt: expected (32024) < (0)
+       assert_lt(ioff, _doffs[dimodv+1] - _doffs[dimodv]);
+       assert_lt(joff, _doffs[djmodv+1] - _doffs[djmodv]);
+       uint32_t isaIIdx = _doffs[dimodv] + ioff;
+       uint32_t isaJIdx = _doffs[djmodv] + joff;
+       assert_lt(isaIIdx, length(_isaPrime));
+       assert_lt(isaJIdx, length(_isaPrime));
+       assert_neq(isaIIdx, isaJIdx); // ranks must be unique
+       uint32_t isaPrimeI = _isaPrime[isaIIdx];
+       uint32_t isaPrimeJ = _isaPrime[isaJIdx];
+       assert_neq(isaPrimeI, isaPrimeJ); // ranks must be unique
+       assert_leq(isaPrimeI, length(_isaPrime));
+       assert_leq(isaPrimeJ, length(_isaPrime));
+       return (int64_t)isaPrimeI - (int64_t)isaPrimeJ;
+}
+
+/**
+ * Given i, j, return the number of additional characters that need to
+ * be compared before the difference cover can break the tie.
+ */
+template <typename TStr>
+uint32_t DifferenceCoverSample<TStr>::tieBreakOff(uint32_t i, uint32_t j) const {
+       const TStr& t = this->text();
+       const String<uint32_t>& dmap = this->dmap();
+       assert(built());
+       // It's actually convenient to allow this, but we're permitted to
+       // return nonsense in that case
+       if(t[i] != t[j]) return 0xffffffff;
+       //assert_eq(t[i], t[j]); // if they're unequal, there's no tie to break
+       uint32_t v = this->v();
+       assert_neq(i, j);
+       assert_lt(i, length(t));
+       assert_lt(j, length(t));
+       uint32_t imod = this->modv(i);
+       uint32_t jmod = this->modv(j);
+       uint32_t diffLeft = (jmod >= imod)? (jmod - imod) : (jmod + v - imod);
+       uint32_t diffRight = (imod >= jmod)? (imod - jmod) : (imod + v - jmod);
+       assert_lt(diffLeft, length(dmap));
+       assert_lt(diffRight, length(dmap));
+       uint32_t destLeft = dmap[diffLeft];   // offset where i needs to be
+       uint32_t destRight = dmap[diffRight]; // offset where i needs to be
+       assert(isCovered(destLeft));
+       assert(isCovered(destLeft+diffLeft));
+       assert(isCovered(destRight));
+       assert(isCovered(destRight+diffRight));
+       assert_lt(destLeft, v);
+       assert_lt(destRight, v);
+       uint32_t deltaLeft = (destLeft >= imod)? (destLeft - imod) : (destLeft + v - imod);
+       if(deltaLeft == v) deltaLeft = 0;
+       uint32_t deltaRight = (destRight >= jmod)? (destRight - jmod) : (destRight + v - jmod);
+       if(deltaRight == v) deltaRight = 0;
+       assert_lt(deltaLeft, v);
+       assert_lt(deltaRight, v);
+       assert(isCovered(i+deltaLeft));
+       assert(isCovered(j+deltaLeft));
+       assert(isCovered(i+deltaRight));
+       assert(isCovered(j+deltaRight));
+       return min(deltaLeft, deltaRight);
+}
+
+#endif /*DIFF_SAMPLE_H_*/
diff --git a/doc/README b/doc/README
new file mode 100644 (file)
index 0000000..5148825
--- /dev/null
@@ -0,0 +1,4 @@
+To populate this directory, change to the bowtie directory and type
+'make doc'.  You must have pandoc installed:
+
+  http://johnmacfarlane.net/pandoc/
diff --git a/doc/manual.html b/doc/manual.html
new file mode 100644 (file)
index 0000000..eb608c3
--- /dev/null
@@ -0,0 +1,4350 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+  <title>Bowtie Manual - </title>
+  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+  <meta name="generator" content="pandoc" />
+  <link rel="stylesheet" href="style.css" type="text/css" />
+</head>
+<body>
+<h1>Table of Contents</h1>
+<div id="TOC"
+><ul
+  ><li
+    ><a href="#what-is-bowtie"
+      >What is Bowtie?</a
+      ></li
+    ><li
+    ><a href="#what-isnt-bowtie"
+      >What isn't Bowtie?</a
+      ></li
+    ><li
+    ><a href="#obtaining-bowtie"
+      >Obtaining Bowtie</a
+      ><ul
+      ><li
+       ><a href="#building-from-source"
+         >Building from source</a
+         ></li
+       ></ul
+      ></li
+    ><li
+    ><a href="#the-bowtie-aligner"
+      >The <code
+       >bowtie</code
+       > aligner</a
+      ><ul
+      ><li
+       ><a href="#the--n-alignment-mode"
+         >The <code
+           >-n</code
+           > alignment mode</a
+         ></li
+       ><li
+       ><a href="#the--v-alignment-mode"
+         >The <code
+           >-v</code
+           > alignment mode</a
+         ></li
+       ><li
+       ><a href="#strata"
+         >Strata</a
+         ></li
+       ><li
+       ><a href="#reporting-modes"
+         >Reporting Modes</a
+         ><ul
+         ><li
+           ><a href="#example-1--a"
+             >Example 1: <code
+               >-a</code
+               ></a
+             ></li
+           ><li
+           ><a href="#example-2--k-3"
+             >Example 2: <code
+               >-k 3</code
+               ></a
+             ></li
+           ><li
+           ><a href="#example-3--k-6"
+             >Example 3: <code
+               >-k 6</code
+               ></a
+             ></li
+           ><li
+           ><a href="#example-4-default--k-1"
+             >Example 4: default (<code
+               >-k 1</code
+               >)</a
+             ></li
+           ><li
+           ><a href="#example-5--a---best"
+             >Example 5: <code
+               >-a --best</code
+               ></a
+             ></li
+           ><li
+           ><a href="#example-6--a---best---strata"
+             >Example 6: <code
+               >-a --best --strata</code
+               ></a
+             ></li
+           ><li
+           ><a href="#example-7--a--m-3"
+             >Example 7: <code
+               >-a -m 3</code
+               ></a
+             ></li
+           ><li
+           ><a href="#example-8--a--m-5"
+             >Example 8: <code
+               >-a -m 5</code
+               ></a
+             ></li
+           ><li
+           ><a href="#example-9--a--m-3---best---strata"
+             >Example 9: <code
+               >-a -m 3 --best --strata</code
+               ></a
+             ></li
+           ></ul
+         ></li
+       ><li
+       ><a href="#paired-end-alignment"
+         >Paired-end Alignment</a
+         ></li
+       ><li
+       ><a href="#colorspace-alignment"
+         >Colorspace Alignment</a
+         ><ul
+         ><li
+           ><a href="#colorspace-reads"
+             >Colorspace reads</a
+             ></li
+           ><li
+           ><a href="#building-a-colorspace-index"
+             >Building a colorspace index</a
+             ></li
+           ><li
+           ><a href="#decoding-colorspace-alignments"
+             >Decoding colorspace alignments</a
+             ></li
+           ><li
+           ><a href="#paired-end-colorspace-alignment"
+             >Paired-end colorspace alignment</a
+             ></li
+           ></ul
+         ></li
+       ><li
+       ><a href="#performance-tuning"
+         >Performance Tuning</a
+         ></li
+       ><li
+       ><a href="#command-line"
+         >Command Line</a
+         ><ul
+         ><li
+           ><a href="#main-arguments"
+             >Main arguments</a
+             ></li
+           ><li
+           ><a href="#options"
+             >Options</a
+             ><ul
+             ><li
+               ><a href="#input"
+                 >Input</a
+                 ></li
+               ><li
+               ><a href="#alignment"
+                 >Alignment</a
+                 ></li
+               ><li
+               ><a href="#reporting"
+                 >Reporting</a
+                 ></li
+               ><li
+               ><a href="#output"
+                 >Output</a
+                 ></li
+               ><li
+               ><a href="#colorspace"
+                 >Colorspace</a
+                 ></li
+               ><li
+               ><a href="#sam"
+                 >SAM</a
+                 ></li
+               ><li
+               ><a href="#performance"
+                 >Performance</a
+                 ></li
+               ><li
+               ><a href="#other"
+                 >Other</a
+                 ></li
+               ></ul
+             ></li
+           ></ul
+         ></li
+       ><li
+       ><a href="#default-bowtie-output"
+         >Default <code
+           >bowtie</code
+           > output</a
+         ></li
+       ><li
+       ><a href="#sam-bowtie-output"
+         >SAM <code
+           >bowtie</code
+           > output</a
+         ></li
+       ></ul
+      ></li
+    ><li
+    ><a href="#the-bowtie-build-indexer"
+      >The <code
+       >bowtie-build</code
+       > indexer</a
+      ><ul
+      ><li
+       ><a href="#command-line-1"
+         >Command Line</a
+         ><ul
+         ><li
+           ><a href="#main-arguments-1"
+             >Main arguments</a
+             ></li
+           ><li
+           ><a href="#options-1"
+             >Options</a
+             ></li
+           ></ul
+         ></li
+       ></ul
+      ></li
+    ><li
+    ><a href="#the-bowtie-inspect-index-inspector"
+      >The <code
+       >bowtie-inspect</code
+       > index inspector</a
+      ><ul
+      ><li
+       ><a href="#command-line-2"
+         >Command Line</a
+         ><ul
+         ><li
+           ><a href="#main-arguments-2"
+             >Main arguments</a
+             ></li
+           ><li
+           ><a href="#options-2"
+             >Options</a
+             ></li
+           ></ul
+         ></li
+       ></ul
+      ></li
+    ></ul
+  ></div
+>
+<!--
+ ! This manual is written in "markdown" format and thus contains some
+ ! distracting clutter encoding information about how to convert to
+ ! HTML.  See 'MANUAL' for a clearer version of this document.
+  -->
+<h1 id="what-is-bowtie"
+><a href="#TOC"
+  >What is Bowtie?</a
+  ></h1
+><p
+><a href="http://bowtie-bio.sf.net"
+  >Bowtie</a
+  > is an ultrafast, memory-efficient short read aligner geared toward quickly aligning large sets of short DNA sequences (reads) to large genomes. It aligns 35-base-pair reads to the human genome at a rate of 25 million reads per hour on a typical workstation. Bowtie indexes the genome with a <a href="http://en.wikipedia.org/wiki/Burrows-Wheeler_transform"
+  >Burrows-Wheeler</a
+  > index to keep its memory footprint small: for the human genome, the index is typically about 2.2 GB (for unpaired alignment) or 2.9 GB (for paired-end or colorspace alignment). Multiple processors can be used simultaneously to achieve greater alignment speed. Bowtie can also output alignments in the standard <a href="http://samtools.sourceforge.net/SAM1.pdf"
+  >SAM</a
+  > format, allowing Bowtie to interoperate with other tools supporting SAM, including the <a href="http://samtools.sourceforge.net/"
+  >SAMtools</a
+  > consensus, SNP, and indel callers. Bowtie runs on the command line under Windows, Mac OS X, Linux, and Solaris.</p
+><p
+><a href="http://bowtie-bio.sf.net"
+  >Bowtie</a
+  > also forms the basis for other tools, including <a href="http://tophat.cbcb.umd.edu/"
+  >TopHat</a
+  >: a fast splice junction mapper for RNA-seq reads, <a href="http://cufflinks.cbcb.umd.edu/"
+  >Cufflinks</a
+  >: a tool for transcriptome assembly and isoform quantitiation from RNA-seq reads, <a href="http://bowtie-bio.sf.net/crossbow"
+  >Crossbow</a
+  >: a cloud-computing software tool for large-scale resequencing data,and <a href="http://bowtie-bio.sf.net/myrna"
+  >Myrna</a
+  >: a cloud computing tool for calculating differential gene expression in large RNA-seq datasets.</p
+><p
+>If you use <a href="http://bowtie-bio.sf.net"
+  >Bowtie</a
+  > for your published research, please cite the <a href="http://genomebiology.com/2009/10/3/R25"
+  >Bowtie paper</a
+  >.</p
+><h1 id="what-isnt-bowtie"
+><a href="#TOC"
+  >What isn't Bowtie?</a
+  ></h1
+><p
+>Bowtie is not a general-purpose alignment tool like <a href="http://mummer.sourceforge.net/"
+  >MUMmer</a
+  >, <a href="http://blast.ncbi.nlm.nih.gov/Blast.cgi"
+  >BLAST</a
+  > or <a href="http://www.vmatch.de/"
+  >Vmatch</a
+  >. Bowtie works best when aligning short reads to large genomes, though it supports arbitrarily small reference sequences (e.g. amplicons) and reads as long as 1024 bases. Bowtie is designed to be extremely fast for sets of short reads where (a) many of the reads have at least one good, valid alignment, (b) many of the reads are relatively high-quality, and (c) the number of alignments reported per read is small (close to 1).</p
+><p
+>Bowtie does not yet report gapped alignments; this is future work.</p
+><h1 id="obtaining-bowtie"
+><a href="#TOC"
+  >Obtaining Bowtie</a
+  ></h1
+><p
+>You may download either Bowtie sources or binaries for your platform from the <a href="https://sourceforge.net/projects/bowtie-bio/files/bowtie/"
+  >Download</a
+  > section of the Sourceforge project site. Binaries are currently available for Intel architectures (<code
+  >i386</code
+  > and <code
+  >x86_64</code
+  >) running Linux, Windows, and Mac OS X.</p
+><h2 id="building-from-source"
+><a href="#TOC"
+  >Building from source</a
+  ></h2
+><p
+>Building Bowtie from source requires a GNU-like environment that includes GCC, GNU Make and other basics. It should be possible to build Bowtie on a vanilla Linux or Mac installation. Bowtie can also be built on Windows using <a href="http://www.cygwin.com/"
+  >Cygwin</a
+  > or <a href="http://www.mingw.org/"
+  >MinGW</a
+  >. We recommend <a href="http://www.tdragon.net/recentgcc/"
+  >TDM's MinGW Build</a
+  >. If using <a href="http://www.mingw.org/"
+  >MinGW</a
+  >, you must also have <a href="http://www.mingw.org/wiki/msys"
+  >MSYS</a
+  > installed.</p
+><p
+>To build Bowtie, extract the sources, change to the extracted directory, and run GNU <code
+  >make</code
+  > (usually with the command <code
+  >make</code
+  >, but sometimes with <code
+  >gmake</code
+  >) with no arguments. If building with <a href="http://www.mingw.org/"
+  >MinGW</a
+  >, run <code
+  >make</code
+  > from the <a href="http://www.mingw.org/wiki/msys"
+  >MSYS</a
+  > command line.</p
+><p
+>To support the <a href="#bowtie-options-p"
+  ><code
+    >-p</code
+    ></a
+  > (multithreading) option, Bowtie needs the <code
+  >pthreads</code
+  > library. To compile Bowtie without <code
+  >pthreads</code
+  > (which disables <a href="#bowtie-options-p"
+  ><code
+    >-p</code
+    ></a
+  >), use <code
+  >make BOWTIE_PTHREADS=0</code
+  >.</p
+><h1 id="the-bowtie-aligner"
+><a href="#TOC"
+  >The <code
+    >bowtie</code
+    > aligner</a
+  ></h1
+><p
+><code
+  >bowtie</code
+  > takes an index and a set of reads as input and outputs a list of alignments. Alignments are selected according to a combination of the <a href="#bowtie-options-v"
+  ><code
+    >-v</code
+    ></a
+  >/<a href="#bowtie-options-n"
+  ><code
+    >-n</code
+    ></a
+  >/<a href="#bowtie-options-e"
+  ><code
+    >-e</code
+    ></a
+  >/<a href="#bowtie-options-l"
+  ><code
+    >-l</code
+    ></a
+  > options (plus the <a href="#bowtie-options-I"
+  ><code
+    >-I</code
+    ></a
+  >/<a href="#bowtie-options-X"
+  ><code
+    >-X</code
+    ></a
+  >/<a href="#bowtie-options-fr"
+  ><code
+    >--fr</code
+    ></a
+  >/<a href="#bowtie-options-fr"
+  ><code
+    >--rf</code
+    ></a
+  >/ <a href="#bowtie-options-fr"
+  ><code
+    >--ff</code
+    ></a
+  > options for paired-end alignment), which define which alignments are legal, and the <a href="#bowtie-options-k"
+  ><code
+    >-k</code
+    ></a
+  >/<a href="#bowtie-options-a"
+  ><code
+    >-a</code
+    ></a
+  >/<a href="#bowtie-options-m"
+  ><code
+    >-m</code
+    ></a
+  >/<a href="#bowtie-options-M"
+  ><code
+    >-M</code
+    ></a
+  >/<a href="#bowtie-options-best"
+  ><code
+    >--best</code
+    ></a
+  >/<a href="#bowtie-options-strata"
+  ><code
+    >--strata</code
+    ></a
+  > options which define which and how many legal alignments should be reported.</p
+><p
+>By default, Bowtie enforces an alignment policy similar to <a href="http://maq.sf.net"
+  >Maq</a
+  >'s default quality-aware policy (<a href="#bowtie-options-n"
+  ><code
+    >-n</code
+    ></a
+  > 2 <a href="#bowtie-options-l"
+  ><code
+    >-l</code
+    ></a
+  > 28 <a href="#bowtie-options-e"
+  ><code
+    >-e</code
+    ></a
+  > 70). See <a href="#the--n-alignment-mode"
+  >the -n alignment mode</a
+  > section of the manual for details about this mode. But Bowtie can also enforce a simpler end-to-end k-difference policy (e.g. with <a href="#bowtie-options-v"
+  ><code
+    >-v</code
+    ></a
+  > 2). See <a href="#the--v-alignment-mode"
+  >the -v alignment mode</a
+  > section of the manual for details about that mode. [The -n alignment mode] and <a href="#the--v-alignment-mode"
+  >the -v alignment mode</a
+  > are mutually exclusive.</p
+><p
+>Bowtie works best when aligning short reads to large genomes (e.g. human or mouse), though it supports arbitrarily small reference sequences and reads as long as 1024 bases. Bowtie is designed to be very fast for sets of short reads where a) many reads have at least one good, valid alignment, b) many reads are relatively high-quality, c) the number of alignments reported per read is small (close to 1). These criteria are generally satisfied in the context of modern short-read analyses such as RNA-seq, ChIP-seq, other types of -seq, and mammalian resequencing. You may observe longer running times in other research contexts.</p
+><p
+>If <code
+  >bowtie</code
+  > is too slow for your application, try some of the performance-tuning hints described in the [Performance Tuning] section below.</p
+><p
+>Alignments involving one or more ambiguous reference characters (<code
+  >N</code
+  >, <code
+  >-</code
+  >, <code
+  >R</code
+  >, <code
+  >Y</code
+  >, etc.) are considered invalid by Bowtie. This is true only for ambiguous characters in the reference; alignments involving ambiguous characters in the read are legal, subject to the alignment policy. Ambiguous characters in the read mismatch all other characters. Alignments that &quot;fall off&quot; the reference sequence are not considered valid.</p
+><p
+>The process by which <code
+  >bowtie</code
+  > chooses an alignment to report is randomized in order to avoid &quot;mapping bias&quot; - the phenomenon whereby an aligner systematically fails to report a particular class of good alignments, causing spurious &quot;holes&quot; in the comparative assembly. Whenever <code
+  >bowtie</code
+  > reports a subset of the valid alignments that exist, it makes an effort to sample them randomly. This randomness flows from a simple seeded pseudo-random number generator and is deterministic in the sense that Bowtie will always produce the same results for the same read when run with the same initial &quot;seed&quot; value (see <a href="#bowtie-options-seed"
+  ><code
+    >--seed</code
+    ></a
+  > option).</p
+><p
+>In the default mode, <code
+  >bowtie</code
+  > can exhibit strand bias. Strand bias occurs when input reference and reads are such that (a) some reads align equally well to sites on the forward and reverse strands of the reference, and (b) the number of such sites on one strand is different from the number on the other strand. When this happens for a given read, <code
+  >bowtie</code
+  > effectively chooses one strand or the other with 50% probability, then reports a randomly-selected alignment for that read from among the sites on the selected strand. This tends to overassign alignments to the sites on the strand with fewer sites and underassign to sites on the strand with more sites. The effect is mitigated, though it may not be eliminated, when reads are longer or when paired-end reads are used. Running Bowtie in <a href="#bowtie-options-best"
+  ><code
+    >--best</code
+    ></a
+  > mode eliminates strand bias by forcing Bowtie to select one strand or the other with a probability that is proportional to the number of best sites on the strand.</p
+><p
+>Gapped alignments are not currently supported, but support is planned for a future release.</p
+><h2 id="the--n-alignment-mode"
+><a href="#TOC"
+  >The <code
+    >-n</code
+    > alignment mode</a
+  ></h2
+><p
+>When the <a href="#bowtie-options-n"
+  ><code
+    >-n</code
+    ></a
+  > option is specified (which is the default), <code
+  >bowtie</code
+  > determines which alignments are valid according to the following policy, which is similar to <a href="http://maq.sf.net"
+  >Maq</a
+  >'s default policy.</p
+><ol style="list-style-type: decimal;"
+><li
+  ><p
+    >Alignments may have no more than <code
+      >N</code
+      > mismatches (where <code
+      >N</code
+      > is a number 0-3, set with <a href="#bowtie-options-n"
+      ><code
+       >-n</code
+       ></a
+      >) in the first <code
+      >L</code
+      > bases (where <code
+      >L</code
+      > is a number 5 or greater, set with <a href="#bowtie-options-l"
+      ><code
+       >-l</code
+       ></a
+      >) on the high-quality (left) end of the read. The first <code
+      >L</code
+      > bases are called the &quot;seed&quot;.</p
+    ></li
+  ><li
+  ><p
+    >The sum of the <a href="http://en.wikipedia.org/wiki/FASTQ_format#Variations"
+      >Phred quality</a
+      > values at <em
+      >all</em
+      > mismatched positions (not just in the seed) may not exceed <code
+      >E</code
+      > (set with <a href="#bowtie-options-e"
+      ><code
+       >-e</code
+       ></a
+      >). Where qualities are unavailable (e.g. if the reads are from a FASTA file), the <a href="http://en.wikipedia.org/wiki/FASTQ_format#Variations"
+      >Phred quality</a
+      > defaults to 40.</p
+    ></li
+  ></ol
+><p
+>The <a href="#bowtie-options-n"
+  ><code
+    >-n</code
+    ></a
+  > option is mutually exclusive with the <a href="#bowtie-options-v"
+  ><code
+    >-v</code
+    ></a
+  > option.</p
+><p
+>If there are many possible alignments satisfying these criteria, Bowtie gives preference to alignments with fewer mismatches and where the sum from criterion 2 is smaller. When the <a href="#bowtie-options-best"
+  ><code
+    >--best</code
+    ></a
+  > option is specified, Bowtie guarantees the reported alignment(s) are &quot;best&quot; in terms of these criteria (criterion 1 has priority), and that the alignments are reported in best-to-worst order. Bowtie is somewhat slower when <a href="#bowtie-options-best"
+  ><code
+    >--best</code
+    ></a
+  > is specified.</p
+><p
+>Note that <a href="http://maq.sf.net"
+  >Maq</a
+  > internally rounds base qualities to the nearest 10 and rounds qualities greater than 30 to 30. To maintain compatibility, Bowtie does the same. Rounding can be suppressed with the <a href="#bowtie-options-nomaqround"
+  ><code
+    >--nomaqround</code
+    ></a
+  > option.</p
+><p
+>Bowtie is not fully sensitive in <a href="#bowtie-options-n"
+  ><code
+    >-n</code
+    ></a
+  > 2 and <a href="#bowtie-options-n"
+  ><code
+    >-n</code
+    ></a
+  > 3 modes by default. In these modes Bowtie imposes a &quot;backtracking limit&quot; to limit effort spent trying to find valid alignments for low-quality reads unlikely to have any. This may cause bowtie to miss some legal 2- and 3-mismatch alignments. The limit is set to a reasonable default (125 without <a href="#bowtie-options-best"
+  ><code
+    >--best</code
+    ></a
+  >, 800 with <a href="#bowtie-options-best"
+  ><code
+    >--best</code
+    ></a
+  >), but the user may decrease or increase the limit using the <a href="#bowtie-options-maxbts"
+  ><code
+    >--maxbts</code
+    ></a
+  > and/or <a href="#bowtie-options-y"
+  ><code
+    >-y</code
+    ></a
+  > options. <a href="#bowtie-options-y"
+  ><code
+    >-y</code
+    ></a
+  > mode is relatively slow but guarantees full sensitivity.</p
+><h2 id="the--v-alignment-mode"
+><a href="#TOC"
+  >The <code
+    >-v</code
+    > alignment mode</a
+  ></h2
+><p
+>In <a href="#bowtie-options-v"
+  ><code
+    >-v</code
+    ></a
+  > mode, alignments may have no more than <code
+  >V</code
+  > mismatches, where <code
+  >V</code
+  > may be a number from 0 through 3 set using the <a href="#bowtie-options-v"
+  ><code
+    >-v</code
+    ></a
+  > option. Quality values are ignored. The <a href="#bowtie-options-v"
+  ><code
+    >-v</code
+    ></a
+  > option is mutually exclusive with the <a href="#bowtie-options-n"
+  ><code
+    >-n</code
+    ></a
+  > option.</p
+><p
+>If there are many legal alignments, Bowtie gives preference to alignments with fewer mismatches. When the <a href="#bowtie-options-best"
+  ><code
+    >--best</code
+    ></a
+  > option is specified, Bowtie guarantees the reported alignment(s) are &quot;best&quot; in terms of the number of mismatches, and that the alignments are reported in best-to-worst order. Bowtie is somewhat slower when <a href="#bowtie-options-best"
+  ><code
+    >--best</code
+    ></a
+  > is specified.</p
+><h2 id="strata"
+><a href="#TOC"
+  >Strata</a
+  ></h2
+><p
+>In <a href="#the--n-alignment-mode"
+  >the -n alignment mode</a
+  >, an alignment's &quot;stratum&quot; is defined as the number of mismatches in the &quot;seed&quot; region, i.e. the leftmost <code
+  >L</code
+  > bases, where <code
+  >L</code
+  > is set with the <a href="#bowtie-options-l"
+  ><code
+    >-l</code
+    ></a
+  > option. In <a href="#the--v-alignment-mode"
+  >the -v alignment mode</a
+  >, an alignment's stratum is defined as the total number of mismatches in the entire alignment. Some of Bowtie's options (e.g. <a href="#bowtie-options-strata"
+  ><code
+    >--strata</code
+    ></a
+  > and <a href="#bowtie-options-m"
+  ><code
+    >-m</code
+    ></a
+  > use the notion of &quot;stratum&quot; to limit or expand the scope of reportable alignments.</p
+><h2 id="reporting-modes"
+><a href="#TOC"
+  >Reporting Modes</a
+  ></h2
+><p
+>With the <a href="#bowtie-options-k"
+  ><code
+    >-k</code
+    ></a
+  >, <a href="#bowtie-options-a"
+  ><code
+    >-a</code
+    ></a
+  >, <a href="#bowtie-options-m"
+  ><code
+    >-m</code
+    ></a
+  >, <a href="#bowtie-options-M"
+  ><code
+    >-M</code
+    ></a
+  >, <a href="#bowtie-options-best"
+  ><code
+    >--best</code
+    ></a
+  > and <a href="#bowtie-options-strata"
+  ><code
+    >--strata</code
+    ></a
+  > options, the user can flexibily select which alignments are reported. Below we demonstrate a few ways in which these options can be combined. All examples are using the <code
+  >e_coli</code
+  > index packaged with Bowtie. The <a href="#bowtie-options-suppress"
+  ><code
+    >--suppress</code
+    ></a
+  > option is used to keep the output concise and some output is elided for clarity.</p
+><h3 id="example-1--a"
+><a href="#TOC"
+  >Example 1: <code
+    >-a</code
+    ></a
+  ></h3
+><pre
+><code
+  >$ ./bowtie -a -v 2 e_coli --suppress 1,5,6,7 -c ATGCATCATGCGCCAT
+-   gi|110640213|ref|NC_008253.1|   148810  10:A&gt;G,13:C&gt;G
+-   gi|110640213|ref|NC_008253.1|   2852852 8:T&gt;A
+-   gi|110640213|ref|NC_008253.1|   4930433 4:G&gt;T,6:C&gt;G
+-   gi|110640213|ref|NC_008253.1|   905664  6:A&gt;G,7:G&gt;T
++   gi|110640213|ref|NC_008253.1|   1093035 2:T&gt;G,15:A&gt;T
+</code
+  ></pre
+><p
+>Specifying <a href="#bowtie-options-a"
+  ><code
+    >-a</code
+    ></a
+  > instructs bowtie to report <em
+  >all</em
+  > valid alignments, subject to the alignment policy: <a href="#bowtie-options-v"
+  ><code
+    >-v</code
+    ></a
+  > 2. In this case, bowtie finds 5 inexact hits in the E. coli genome; 1 hit (the 2nd one listed) has 1 mismatch, and the other 4 hits have 2 mismatches. Four are on the reverse reference strand and one is on the forward strand. Note that they are not listed in best-to-worst order.</p
+><h3 id="example-2--k-3"
+><a href="#TOC"
+  >Example 2: <code
+    >-k 3</code
+    ></a
+  ></h3
+><pre
+><code
+  >$ ./bowtie -k 3 -v 2 e_coli --suppress 1,5,6,7 -c ATGCATCATGCGCCAT
+-   gi|110640213|ref|NC_008253.1|   148810  10:A&gt;G,13:C&gt;G
+-   gi|110640213|ref|NC_008253.1|   2852852 8:T&gt;A
+-   gi|110640213|ref|NC_008253.1|   4930433 4:G&gt;T,6:C&gt;G
+</code
+  ></pre
+><p
+>Specifying <a href="#bowtie-options-k"
+  ><code
+    >-k</code
+    ></a
+  > 3 instructs bowtie to report up to 3 valid alignments. In this case, a total of 5 valid alignments exist (see <a href="#example-1"
+  >Example 1</a
+  >); <code
+  >bowtie</code
+  > reports 3 out of those 5. <a href="#bowtie-options-k"
+  ><code
+    >-k</code
+    ></a
+  > can be set to any integer greater than 0.</p
+><h3 id="example-3--k-6"
+><a href="#TOC"
+  >Example 3: <code
+    >-k 6</code
+    ></a
+  ></h3
+><pre
+><code
+  >$ ./bowtie -k 6 -v 2 e_coli --suppress 1,5,6,7 -c ATGCATCATGCGCCAT
+-   gi|110640213|ref|NC_008253.1|   148810  10:A&gt;G,13:C&gt;G
+-   gi|110640213|ref|NC_008253.1|   2852852 8:T&gt;A
+-   gi|110640213|ref|NC_008253.1|   4930433 4:G&gt;T,6:C&gt;G
+-   gi|110640213|ref|NC_008253.1|   905664  6:A&gt;G,7:G&gt;T
++   gi|110640213|ref|NC_008253.1|   1093035 2:T&gt;G,15:A&gt;T
+</code
+  ></pre
+><p
+>Specifying <a href="#bowtie-options-k"
+  ><code
+    >-k</code
+    ></a
+  > 6 instructs bowtie to report up to 6 valid alignments. In this case, a total of 5 valid alignments exist, so <code
+  >bowtie</code
+  > reports all 5.</p
+><h3 id="example-4-default--k-1"
+><a href="#TOC"
+  >Example 4: default (<code
+    >-k 1</code
+    >)</a
+  ></h3
+><pre
+><code
+  >$ ./bowtie -v 2 e_coli --suppress 1,5,6,7 -c ATGCATCATGCGCCAT
+-   gi|110640213|ref|NC_008253.1|   148810  10:A&gt;G,13:C&gt;G
+</code
+  ></pre
+><p
+>Leaving the reporting options at their defaults causes <code
+  >bowtie</code
+  > to report the first valid alignment it encounters. Because <a href="#bowtie-options-best"
+  ><code
+    >--best</code
+    ></a
+  > was not specified, we are not guaranteed that bowtie will report the best alignment, and in this case it does not (the 1-mismatch alignment from the previous example would have been better). The default reporting mode is equivalent to <a href="#bowtie-options-k"
+  ><code
+    >-k</code
+    ></a
+  > 1.</p
+><h3 id="example-5--a---best"
+><a href="#TOC"
+  >Example 5: <code
+    >-a --best</code
+    ></a
+  ></h3
+><pre
+><code
+  >$ ./bowtie -a --best -v 2 e_coli --suppress 1,5,6,7 -c ATGCATCATGCGCCAT
+-   gi|110640213|ref|NC_008253.1|   2852852 8:T&gt;A
++   gi|110640213|ref|NC_008253.1|   1093035 2:T&gt;G,15:A&gt;T
+-   gi|110640213|ref|NC_008253.1|   905664  6:A&gt;G,7:G&gt;T
+-   gi|110640213|ref|NC_008253.1|   148810  10:A&gt;G,13:C&gt;G
+-   gi|110640213|ref|NC_008253.1|   4930433 4:G&gt;T,6:C&gt;G
+</code
+  ></pre
+><p
+>Specifying <a href="#bowtie-options-best"
+  ><code
+    >-a</code
+    ></a
+  > results in the same alignments being printed as if just <a href="#bowtie-options-a"
+  ><code
+    >-a</code
+    ></a
+  > had been specified, but they are guaranteed to be reported in best-to-worst order.</p
+><h3 id="example-6--a---best---strata"
+><a href="#TOC"
+  >Example 6: <code
+    >-a --best --strata</code
+    ></a
+  ></h3
+><pre
+><code
+  >$ ./bowtie -a --best --strata -v 2 --suppress 1,5,6,7 e_coli -c ATGCATCATGCGCCAT
+-   gi|110640213|ref|NC_008253.1|   2852852 8:T&gt;A
+</code
+  ></pre
+><p
+>Specifying <a href="#bowtie-options-strata"
+  ><code
+    >--strata</code
+    ></a
+  > in addition to <a href="#bowtie-options-a"
+  ><code
+    >-a</code
+    ></a
+  > and <a href="#bowtie-options-best"
+  ><code
+    >--best</code
+    ></a
+  > causes <code
+  >bowtie</code
+  > to report only those alignments in the best alignment &quot;stratum&quot;. The alignments in the best stratum are those having the least number of mismatches (or mismatches just in the &quot;seed&quot; portion of the alignment in the case of <a href="#bowtie-options-n"
+  ><code
+    >-n</code
+    ></a
+  > mode). Note that if <a href="#bowtie-options-strata"
+  ><code
+    >--strata</code
+    ></a
+  > is specified, <a href="#bowtie-options-best"
+  ><code
+    >--best</code
+    ></a
+  > must also be specified.</p
+><h3 id="example-7--a--m-3"
+><a href="#TOC"
+  >Example 7: <code
+    >-a -m 3</code
+    ></a
+  ></h3
+><pre
+><code
+  >$ ./bowtie -a -m 3 -v 2 e_coli -c ATGCATCATGCGCCAT
+No alignments
+</code
+  ></pre
+><p
+>Specifying <a href="#bowtie-options-m"
+  ><code
+    >-m</code
+    ></a
+  > 3 instructs bowtie to refrain from reporting any alignments for reads having more than 3 reportable alignments. The <a href="#bowtie-options-m"
+  ><code
+    >-m</code
+    ></a
+  > option is useful when the user would like to guarantee that reported alignments are &quot;unique&quot;, for some definition of unique.</p
+><p
+>Example 1 showed that the read has 5 reportable alignments when <a href="#bowtie-options-a"
+  ><code
+    >-a</code
+    ></a
+  > and <a href="#bowtie-options-v"
+  ><code
+    >-v</code
+    ></a
+  > 2 are specified, so the <a href="#bowtie-options-m"
+  ><code
+    >-m</code
+    ></a
+  > 3 limit causes bowtie to output no alignments.</p
+><h3 id="example-8--a--m-5"
+><a href="#TOC"
+  >Example 8: <code
+    >-a -m 5</code
+    ></a
+  ></h3
+><pre
+><code
+  >$ ./bowtie -a -m 5 -v 2 e_coli --suppress 1,5,6,7 -c ATGCATCATGCGCCAT
+-   gi|110640213|ref|NC_008253.1|   148810  10:A&gt;G,13:C&gt;G
+-   gi|110640213|ref|NC_008253.1|   2852852 8:T&gt;A
+-   gi|110640213|ref|NC_008253.1|   4930433 4:G&gt;T,6:C&gt;G
+-   gi|110640213|ref|NC_008253.1|   905664  6:A&gt;G,7:G&gt;T
++   gi|110640213|ref|NC_008253.1|   1093035 2:T&gt;G,15:A&gt;T
+</code
+  ></pre
+><p
+>Specifying <a href="#bowtie-options-m"
+  ><code
+    >-m</code
+    ></a
+  > 5 instructs bowtie to refrain from reporting any alignments for reads having more than 5 reportable alignments. Since the read has exactly 5 reportable alignments, the <a href="#bowtie-options-m"
+  ><code
+    >-m</code
+    ></a
+  > 5 limit allows <code
+  >bowtie</code
+  > to print them as usual.</p
+><h3 id="example-9--a--m-3---best---strata"
+><a href="#TOC"
+  >Example 9: <code
+    >-a -m 3 --best --strata</code
+    ></a
+  ></h3
+><pre
+><code
+  >$ ./bowtie -a -m 3 --best --strata -v 2 e_coli --suppress 1,5,6,7 -c ATGCATCATGCGCCAT
+-   gi|110640213|ref|NC_008253.1|   2852852 8:T&gt;A
+</code
+  ></pre
+><p
+>Specifying <a href="#bowtie-options-m"
+  ><code
+    >-m</code
+    ></a
+  > 3 instructs bowtie to refrain from reporting any alignments for reads having more than 3 reportable alignments. As we saw in Example 6, the read has only 1 reportable alignment when <a href="#bowtie-options-a"
+  ><code
+    >-a</code
+    ></a
+  >, <a href="#bowtie-options-best"
+  ><code
+    >--best</code
+    ></a
+  > and <a href="#bowtie-options-strata"
+  ><code
+    >--strata</code
+    ></a
+  > are specified, so the <a href="#bowtie-options-m"
+  ><code
+    >-m</code
+    ></a
+  > 3 limit allows <code
+  >bowtie</code
+  > to print that alignment as usual.</p
+><p
+>Intuitively, the <a href="#bowtie-options-m"
+  ><code
+    >-m</code
+    ></a
+  > option, when combined with the <a href="#bowtie-options-best"
+  ><code
+    >--best</code
+    ></a
+  > and <a href="#bowtie-options-strata"
+  ><code
+    >--strata</code
+    ></a
+  > options, guarantees a principled, though weaker form of &quot;uniqueness.&quot; A stronger form of uniqueness is enforced when <a href="#bowtie-options-m"
+  ><code
+    >-m</code
+    ></a
+  > is specified but <a href="#bowtie-options-best"
+  ><code
+    >--best</code
+    ></a
+  > and <a href="#bowtie-options-strata"
+  ><code
+    >--strata</code
+    ></a
+  > are not.</p
+><h2 id="paired-end-alignment"
+><a href="#TOC"
+  >Paired-end Alignment</a
+  ></h2
+><p
+><code
+  >bowtie</code
+  > can align paired-end reads when properly paired read files are specified using the <a href="#command-line"
+  ><code
+    >-1</code
+    ></a
+  > and <a href="#command-line"
+  ><code
+    >-2</code
+    ></a
+  > options (for pairs of raw, FASTA, or FASTQ read files), or using the <a href="#command-line"
+  ><code
+    >--12</code
+    ></a
+  > option (for Tab-delimited read files). A valid paired-end alignment satisfies these criteria:</p
+><ol style="list-style-type: decimal;"
+><li
+  >Both mates have a valid alignment according to the alignment policy defined by the <a href="#bowtie-options-v"
+    ><code
+      >-v</code
+      ></a
+    >/<a href="#bowtie-options-n"
+    ><code
+      >-n</code
+      ></a
+    >/<a href="#bowtie-options-e"
+    ><code
+      >-e</code
+      ></a
+    >/<a href="#bowtie-options-l"
+    ><code
+      >-l</code
+      ></a
+    > options.</li
+  ><li
+  >The relative orientation and position of the mates satisfy the constraints defined by the <a href="#bowtie-options-I"
+    ><code
+      >-I</code
+      ></a
+    >/<a href="#bowtie-options-X"
+    ><code
+      >-X</code
+      ></a
+    >/<a href="#bowtie-options-fr"
+    ><code
+      >--fr</code
+      ></a
+    >/<a href="#bowtie-options-fr"
+    ><code
+      >--rf</code
+      ></a
+    >/<a href="#bowtie-options-fr"
+    ><code
+      >--ff</code
+      ></a
+    > options.</li
+  ></ol
+><p
+>Policies governing which paired-end alignments are reported for a given read are specified using the <a href="#bowtie-options-k"
+  ><code
+    >-k</code
+    ></a
+  >, <a href="#bowtie-options-a"
+  ><code
+    >-a</code
+    ></a
+  > and <a href="#bowtie-options-m"
+  ><code
+    >-m</code
+    ></a
+  > options as usual. The <a href="#bowtie-options-strata"
+  ><code
+    >--strata</code
+    ></a
+  > and <a href="#bowtie-options-best"
+  ><code
+    >--best</code
+    ></a
+  > options do not apply in paired-end mode.</p
+><p
+>A paired-end alignment is reported as a pair of mate alignments, both on a separate line, where the alignment for each mate is formatted the same as an unpaired (singleton) alignment. The alignment for the mate that occurs closest to the beginning of the reference sequence (the &quot;upstream&quot; mate) is always printed before the alignment for the downstream mate. Reads files containing paired-end reads will sometimes name the reads according to whether they are the #1 or #2 mates by appending a <code
+  >/1</code
+  > or <code
+  >/2</code
+  > suffix to the read name. If no such suffix is present in Bowtie's input, the suffix will be added when Bowtie prints read names in alignments (except in <a href="#bowtie-options-S"
+  ><code
+    >-S</code
+    ></a
+  > &quot;SAM&quot; mode, where mate information is encoded in the <code
+  >FLAGS</code
+  > field instead).</p
+><p
+>Finding a valid paired-end alignment where both mates align to repetitive regions of the reference can be very time-consuming. By default, Bowtie avoids much of this cost by imposing a limit on the number of &quot;tries&quot; it makes to match an alignment for one mate with a nearby alignment for the other. The default limit is 100. This causes <code
+  >bowtie</code
+  > to miss some valid paired-end alignments where both mates lie in repetitive regions, but the user may use the <a href="#bowtie-options-pairtries"
+  ><code
+    >--pairtries</code
+    ></a
+  > or <a href="#bowtie-options-y"
+  ><code
+    >-y</code
+    ></a
+  > options to increase Bowtie's sensitivity as desired.</p
+><p
+>Paired-end alignments where one mate's alignment is entirely contained within the other's are considered invalid.</p
+><p
+>When colospace alignment is enabled via <a href="#bowtie-options-C"
+  ><code
+    >-C</code
+    ></a
+  >, the default setting for paired-end orientation is <a href="#bowtie-options-fr"
+  ><code
+    >--ff</code
+    ></a
+  >. This is because most SOLiD datasets have that orientation. When colorspace alignment is not enabled (default), the default setting for orientation is <a href="#bowtie-options-fr"
+  ><code
+    >--fr</code
+    ></a
+  >, since most Illumina datasets have this orientation. The default can be overriden in either case.</p
+><p
+>Because Bowtie uses an in-memory representation of the original reference string when finding paired-end alignments, its memory footprint is larger when aligning paired-end reads. For example, the human index has a memory footprint of about 2.2 GB in single-end mode and 2.9 GB in paired-end mode. Note that paired-end and unpaired alignment incur the same memory footprint in colorspace (e.g. human incurs about 2.9 GB)</p
+><h2 id="colorspace-alignment"
+><a href="#TOC"
+  >Colorspace Alignment</a
+  ></h2
+><p
+>As of version 0.12.0, <code
+  >bowtie</code
+  > can align colorspace reads against a colorspace index when <a href="#bowtie-options-C"
+  ><code
+    >-C</code
+    ></a
+  > is specified. Colorspace is the characteristic output format of Applied Biosystems' SOLiD system. In a colorspace read, each character is a color rather than a nucleotide, where a color encodes a class of dinucleotides. E.g. the color blue encodes any of the dinucleotides: AA, CC, GG, TT. Colorspace has the advantage of (often) being able to distinguish sequencing errors from SNPs once the read has been aligned. See ABI's <a href="http://tinyurl.com/ygnb2gn"
+  >Principles of Di-Base Sequencing</a
+  > document for details.</p
+><h3 id="colorspace-reads"
+><a href="#TOC"
+  >Colorspace reads</a
+  ></h3
+><p
+>All input formats (FASTA <a href="#bowtie-options-f"
+  ><code
+    >-f</code
+    ></a
+  >, FASTQ <a href="#bowtie-options-q"
+  ><code
+    >-q</code
+    ></a
+  >, raw <a href="#bowtie-options-r"
+  ><code
+    >-r</code
+    ></a
+  >, tab-delimited <a href="#command-line"
+  ><code
+    >--12</code
+    ></a
+  >, command-line <a href="#bowtie-options-c"
+  ><code
+    >-c</code
+    ></a
+  >) are compatible with colorspace (<a href="#bowtie-options-C"
+  ><code
+    >-C</code
+    ></a
+  >). When <a href="#bowtie-options-C"
+  ><code
+    >-C</code
+    ></a
+  > is specified, read sequences are treated as colors. Colors may be encoded either as numbers (<code
+  >0</code
+  >=blue, <code
+  >1</code
+  >=green, <code
+  >2</code
+  >=orange, <code
+  >3</code
+  >=red) or as characters <code
+  >A/C/G/T</code
+  > (<code
+  >A</code
+  >=blue, <code
+  >C</code
+  >=green, <code
+  >G</code
+  >=orange, <code
+  >T</code
+  >=red).</p
+><p
+>Some reads include a primer base as the first character; e.g.:</p
+><pre
+><code
+  >&gt;1_53_33_F3
+T2213120002010301233221223311331
+&gt;1_53_70_F3
+T2302111203131231130300111123220
+...
+</code
+  ></pre
+><p
+>Here, <code
+  >T</code
+  > is the primer base. <code
+  >bowtie</code
+  > detects and handles primer bases properly (i.e., the primer base and the adjacent color are both trimmed away prior to alignment) as long as the rest of the read is encoded as numbers.</p
+><p
+><code
+  >bowtie</code
+  > also handles input in the form of parallel <code
+  >.csfasta</code
+  > and <code
+  >_QV.qual</code
+  > files. Use <a href="#bowtie-options-f"
+  ><code
+    >-f</code
+    ></a
+  > to specify the <code
+  >.csfasta</code
+  > files and <a href="#bowtie-options-Q"
+  ><code
+    >-Q</code
+    ></a
+  > (for unpaired reads) or <a href="#bowtie-options-Q1"
+  ><code
+    >--Q1</code
+    ></a
+  >/<a href="#bowtie-options-Q2"
+  ><code
+    >--Q2</code
+    ></a
+  > (for paired-end reads) to specify the corresponding <code
+  >_QV.qual</code
+  > files. It is not necessary to first convert to FASTQ, though <code
+  >bowtie</code
+  > also handles FASTQ-formatted colorspace reads (with <a href="#bowtie-options-q"
+  ><code
+    >-q</code
+    ></a
+  >, the default).</p
+><h3 id="building-a-colorspace-index"
+><a href="#TOC"
+  >Building a colorspace index</a
+  ></h3
+><p
+>A colorspace index is built in the same way as a normal index except that <a href="#bowtie-build-options-C"
+  ><code
+    >-C</code
+    ></a
+  > must be specified when running <code
+  >bowtie-build</code
+  >. If the user attempts to use <code
+  >bowtie</code
+  > without <a href="#bowtie-options-C"
+  ><code
+    >-C</code
+    ></a
+  > to align against an index that was built with <a href="#bowtie-options-C"
+  ><code
+    >-C</code
+    ></a
+  > (or vice versa), <code
+  >bowtie</code
+  > prints an error message and quits.</p
+><h3 id="decoding-colorspace-alignments"
+><a href="#TOC"
+  >Decoding colorspace alignments</a
+  ></h3
+><p
+>Once a colorspace read is aligned, Bowtie decodes the alignment into nucleotides and reports the decoded nucleotide sequence. A principled decoding scheme is necessary because many different possible decodings are usually possible. Finding the true decoding with 100% certainty requires knowing all variants (e.g. SNPs) in the subject's genome beforehand, which is usually not possible. Instead, <code
+  >bowtie</code
+  > employs the approximate decoding scheme described in the <a href="http://bioinformatics.oxfordjournals.org/cgi/content/abstract/25/14/1754"
+  >BWA paper</a
+  >. This scheme attempts to distinguish variants from sequencing errors according to their relative likelihood under a model that considers the quality values of the colors and the (configurable) global likelihood of a SNP.</p
+><p
+>Quality values are also &quot;decoded&quot; so that each reported quality value is a function of the two color qualities overlapping it. Bowtie again adopts the scheme described in the <a href="http://bioinformatics.oxfordjournals.org/cgi/content/abstract/25/14/1754"
+  >BWA paper</a
+  >, i.e., the decoded nucleotide quality is either the sum of the overlapping color qualities (when both overlapping colors correspond to bases that match in the alignment), the quality of the matching color minus the quality of the mismatching color, or 0 (when both overlapping colors correspond to mismatches).</p
+><p
+>For accurate decoding, <a href="#bowtie-options-snpphred"
+  ><code
+    >--snpphred</code
+    ></a
+  >/<a href="#bowtie-options-snpfrac"
+  ><code
+    >--snpfrac</code
+    ></a
+  > should be set according to the user's best guess of the SNP frequency in the subject. The <a href="#bowtie-options-snpphred"
+  ><code
+    >--snpphred</code
+    ></a
+  > parameter sets the SNP penalty directly (on the <a href="http://en.wikipedia.org/wiki/FASTQ_format#Variations"
+  >Phred quality</a
+  > scale), whereas <a href="#bowtie-options-snpfrac"
+  ><code
+    >--snpfrac</code
+    ></a
+  > allows the user to specify the fraction of sites expected to be SNPs; the fraction is then converted to a <a href="http://en.wikipedia.org/wiki/FASTQ_format#Variations"
+  >Phred quality</a
+  > internally. For the purpose of decoding, the SNP fraction is defined in terms of SNPs per <em
+  >haplotype</em
+  > base. Thus, if the genome is diploid, heterozygous SNPs have half the weight of homozygous SNPs</p
+><p
+>Note that in <a href="#bowtie-options-S"
+  ><code
+    >-S</code
+    >/<code
+    >--sam</code
+    ></a
+  > mode, the decoded nucleotide sequence is printed for alignments, but the original color sequence (with <code
+  >A</code
+  >=blue, <code
+  >C</code
+  >=green, <code
+  >G</code
+  >=orange, <code
+  >T</code
+  >=red) is printed for unaligned reads without any reported alignments. As always, the <a href="#bowtie-options-un"
+  ><code
+    >--un</code
+    ></a
+  >, <a href="#bowtie-options-max"
+  ><code
+    >--max</code
+    ></a
+  > and <a href="#bowtie-options-al"
+  ><code
+    >--al</code
+    ></a
+  > parameters print reads exactly as they appeared in the input file.</p
+><h3 id="paired-end-colorspace-alignment"
+><a href="#TOC"
+  >Paired-end colorspace alignment</a
+  ></h3
+><p
+>Like other platforms, SOLiD supports generation of paired-end reads. When colorspace alignment is enabled, the default paired-end orientation setting is <a href="#bowtie-options-fr"
+  ><code
+    >--ff</code
+    ></a
+  >. This is because most SOLiD datasets have that orientation.</p
+><p
+>Note that SOLiD-generated read files can have &quot;orphaned&quot; mates; i.e. mates without a correpsondingly-named mate in the other file. To avoid problems due to orphaned mates, SOLiD paired-end output should first be converted to <code
+  >.csfastq</code
+  > files with unpaired mates omitted. This can be accomplished using, for example, [Galaxy]'s conversion tool (click &quot;NGS: QC and manipulation&quot;, then &quot;SOLiD-to-FASTQ&quot; in the left-hand sidebar).</p
+><h2 id="performance-tuning"
+><a href="#TOC"
+  >Performance Tuning</a
+  ></h2
+><ol style="list-style-type: decimal;"
+><li
+  ><p
+    >Use 64-bit bowtie if possible</p
+    ><p
+    >The 64-bit version of Bowtie is substantially (usually more then 50%) faster than the 32-bit version, owing to its use of 64-bit arithmetic. If possible, download the 64-bit binaries for Bowtie and run on a 64-bit computer. If you are building Bowtie from sources, you may need to pass the <code
+      >-m64</code
+      > option to <code
+      >g++</code
+      > to compile the 64-bit version; you can do this by including <code
+      >BITS=64</code
+      > in the arguments to the <code
+      >make</code
+      > command; e.g.: <code
+      >make BITS=64 bowtie</code
+      >. To determine whether your version of bowtie is 64-bit or 32-bit, run <code
+      >bowtie --version</code
+      >.</p
+    ></li
+  ><li
+  ><p
+    >If your computer has multiple processors/cores, use <code
+      >-p</code
+      ></p
+    ><p
+    >The <a href="#bowtie-options-p"
+      ><code
+       >-p</code
+       ></a
+      > option causes Bowtie to launch a specified number of parallel search threads. Each thread runs on a different processor/core and all threads find alignments in parallel, increasing alignment throughput by approximately a multiple of the number of threads (though in practice, speedup is somewhat worse than linear).</p
+    ></li
+  ><li
+  ><p
+    >If reporting many alignments per read, try tweaking <code
+      >bowtie-build --offrate</code
+      ></p
+    ><p
+    >If you are using the <a href="#bowtie-options-k"
+      ><code
+       >-k</code
+       ></a
+      >, <a href="#bowtie-options-a"
+      ><code
+       >-a</code
+       ></a
+      > or <a href="#bowtie-options-m"
+      ><code
+       >-m</code
+       ></a
+      > options and Bowtie is reporting many alignments per read (an average of more than about 10 per read) and you have some memory to spare, using an index with a denser SA sample can speed things up considerably.</p
+    ><p
+    >To do this, specify a smaller-than-default <a href="#bowtie-build-options-o"
+      ><code
+       >-o</code
+       >/<code
+       >--offrate</code
+       ></a
+      > value when running <code
+      >bowtie-build</code
+      >. A denser SA sample yields a larger index, but is also particularly effective at speeding up alignment when many alignments are reported per read. For example, decreasing the index's <a href="#bowtie-build-options-o"
+      ><code
+       >-o</code
+       >/<code
+       >--offrate</code
+       ></a
+      > by 1 could as much as double alignment performance, and decreasing by 2 could quadruple alignment performance, etc.</p
+    ><p
+    >On the other hand, decreasing <a href="#bowtie-build-options-o"
+      ><code
+       >-o</code
+       >/<code
+       >--offrate</code
+       ></a
+      > increases the size of the Bowtie index, both on disk and in memory when aligning reads. At the default <a href="#bowtie-build-options-o"
+      ><code
+       >-o</code
+       >/<code
+       >--offrate</code
+       ></a
+      > of 5, the SA sample for the human genome occupies about 375 MB of memory when aligning reads. Decreasing the <a href="#bowtie-build-options-o"
+      ><code
+       >-o</code
+       >/<code
+       >--offrate</code
+       ></a
+      > by 1 doubles the memory taken by the SA sample, and decreasing by 2 quadruples the memory taken, etc.</p
+    ></li
+  ><li
+  ><p
+    >If bowtie &quot;thrashes&quot;, try increasing <code
+      >bowtie --offrate</code
+      ></p
+    ><p
+    >If <code
+      >bowtie</code
+      > runs very slow on a relatively low-memory machine (having less than about 4 GB of memory), then try setting <code
+      >bowtie</code
+      > <a href="#bowtie-options-o"
+      ><code
+       >-o</code
+       >/<code
+       >--offrate</code
+       ></a
+      > to a <em
+      >larger</em
+      > value than the value used to build the index. For example, <code
+      >bowtie-build</code
+      >'s default <a href="#bowtie-build-options-o"
+      ><code
+       >-o</code
+       >/<code
+       >--offrate</code
+       ></a
+      > is 5 and all pre-built indexes available from the Bowtie website are built with <a href="#bowtie-build-options-o"
+      ><code
+       >-o</code
+       >/<code
+       >--offrate</code
+       ></a
+      > 5; so if <code
+      >bowtie</code
+      > thrashes when querying such an index, try using <code
+      >bowtie</code
+      > <a href="#bowtie-options-o"
+      ><code
+       >--offrate</code
+       ></a
+      > 6. If <code
+      >bowtie</code
+      > still thrashes, try <code
+      >bowtie</code
+      > <a href="#bowtie-options-o"
+      ><code
+       >--offrate</code
+       ></a
+      > 7, etc. A higher <a href="#bowtie-options-o"
+      ><code
+       >-o</code
+       >/<code
+       >--offrate</code
+       ></a
+      > causes <code
+      >bowtie</code
+      > to use a sparser sample of the suffix array than is stored in the index; this saves memory but makes alignment reporting slower (which is especially slow when using <a href="#bowtie-options-a"
+      ><code
+       >-a</code
+       ></a
+      > or large <a href="#bowtie-options-k"
+      ><code
+       >-k</code
+       ></a
+      > or <a href="#bowtie-options-m"
+      ><code
+       >-m</code
+       ></a
+      >).</p
+    ></li
+  ></ol
+><h2 id="command-line"
+><a href="#TOC"
+  >Command Line</a
+  ></h2
+><p
+>Usage:</p
+><pre
+><code
+  >bowtie [options]* &lt;ebwt&gt; {-1 &lt;m1&gt; -2 &lt;m2&gt; | --12 &lt;r&gt; | &lt;s&gt;} [&lt;hit&gt;]
+</code
+  ></pre
+><h3 id="main-arguments"
+><a href="#TOC"
+  >Main arguments</a
+  ></h3
+><table><tr><td>
+<pre
+><code
+  >&lt;ebwt&gt;
+</code
+  ></pre
+></td><td>
+<p
+>The basename of the index to be searched. The basename is the name of any of the index files up to but not including the final <code
+  >.1.ebwt</code
+  > / <code
+  >.rev.1.ebwt</code
+  > / etc. <code
+  >bowtie</code
+  > looks for the specified index first in the current directory, then in the <code
+  >indexes</code
+  > subdirectory under the directory where the <code
+  >bowtie</code
+  > executable is located, then looks in the directory specified in the <code
+  >BOWTIE_INDEXES</code
+  > environment variable.</p
+></td></tr><tr><td>
+<pre
+><code
+  >&lt;m1&gt;
+</code
+  ></pre
+></td><td>
+<p
+>Comma-separated list of files containing the #1 mates (filename usually includes <code
+  >_1</code
+  >), or, if <a href="#bowtie-options-c"
+  ><code
+    >-c</code
+    ></a
+  > is specified, the mate sequences themselves. E.g., this might be <code
+  >flyA_1.fq,flyB_1.fq</code
+  >, or, if <a href="#bowtie-options-c"
+  ><code
+    >-c</code
+    ></a
+  > is specified, this might be <code
+  >GGTCATCCT,ACGGGTCGT</code
+  >. Sequences specified with this option must correspond file-for-file and read-for-read with those specified in <code
+  >&lt;m2&gt;</code
+  >. Reads may be a mix of different lengths. If <code
+  >-</code
+  > is specified, <code
+  >bowtie</code
+  > will read the #1 mates from the &quot;standard in&quot; filehandle.</p
+></td></tr><tr><td>
+<pre
+><code
+  >&lt;m2&gt;
+</code
+  ></pre
+></td><td>
+<p
+>Comma-separated list of files containing the #2 mates (filename usually includes <code
+  >_2</code
+  >), or, if <a href="#bowtie-options-c"
+  ><code
+    >-c</code
+    ></a
+  > is specified, the mate sequences themselves. E.g., this might be <code
+  >flyA_2.fq,flyB_2.fq</code
+  >, or, if <a href="#bowtie-options-c"
+  ><code
+    >-c</code
+    ></a
+  > is specified, this might be <code
+  >GGTCATCCT,ACGGGTCGT</code
+  >. Sequences specified with this option must correspond file-for-file and read-for-read with those specified in <code
+  >&lt;m1&gt;</code
+  >. Reads may be a mix of different lengths. If <code
+  >-</code
+  > is specified, <code
+  >bowtie</code
+  > will read the #2 mates from the &quot;standard in&quot; filehandle.</p
+></td></tr><tr><td>
+<pre
+><code
+  >&lt;r&gt;
+</code
+  ></pre
+></td><td>
+<p
+>Comma-separated list of files containing a mix of unpaired and paired-end reads in Tab-delimited format. Tab-delimited format is a 1-read-per-line format where unpaired reads consist of a read name, sequence and quality string each separated by tabs. A paired-end read consists of a read name, sequnce of the #1 mate, quality values of the #1 mate, sequence of the #2 mate, and quality values of the #2 mate separated by tabs. Quality values can be expressed using any of the scales supported in FASTQ files. Reads may be a mix of different lengths and paired-end and unpaired reads may be intermingled in the same file. If <code
+  >-</code
+  > is specified, <code
+  >bowtie</code
+  > will read the Tab-delimited reads from the &quot;standard in&quot; filehandle.</p
+></td></tr><tr><td>
+<pre
+><code
+  >&lt;s&gt;
+</code
+  ></pre
+></td><td>
+<p
+>A comma-separated list of files containing unpaired reads to be aligned, or, if <a href="#bowtie-options-c"
+  ><code
+    >-c</code
+    ></a
+  > is specified, the unpaired read sequences themselves. E.g., this might be <code
+  >lane1.fq,lane2.fq,lane3.fq,lane4.fq</code
+  >, or, if <a href="#bowtie-options-c"
+  ><code
+    >-c</code
+    ></a
+  > is specified, this might be <code
+  >GGTCATCCT,ACGGGTCGT</code
+  >. Reads may be a mix of different lengths. If <code
+  >-</code
+  > is specified, Bowtie gets the reads from the &quot;standard in&quot; filehandle.</p
+></td></tr><tr><td>
+<pre
+><code
+  >&lt;hit&gt;
+</code
+  ></pre
+></td><td>
+<p
+>File to write alignments to. By default, alignments are written to the &quot;standard out&quot; filehandle (i.e. the console).</p
+></td></tr></table>
+<h3 id="options"
+><a href="#TOC"
+  >Options</a
+  ></h3
+><h4 id="input"
+><a href="#TOC"
+  >Input</a
+  ></h4
+><table>
+<tr><td id="bowtie-options-q">
+
+
+<pre
+><code
+  >-q
+</code
+  ></pre
+></td><td>
+<p
+>The query input files (specified either as <code
+  >&lt;m1&gt;</code
+  > and <code
+  >&lt;m2&gt;</code
+  >, or as <code
+  >&lt;s&gt;</code
+  >) are FASTQ files (usually having extension <code
+  >.fq</code
+  > or <code
+  >.fastq</code
+  >). This is the default. See also: <a href="#bowtie-options-solexa-quals"
+  ><code
+    >--solexa-quals</code
+    ></a
+  > and <a href="#bowtie-options-integer-quals"
+  ><code
+    >--integer-quals</code
+    ></a
+  >.</p
+></td></tr><tr><td id="bowtie-options-f">
+
+
+<pre
+><code
+  >-f
+</code
+  ></pre
+></td><td>
+<p
+>The query input files (specified either as <code
+  >&lt;m1&gt;</code
+  > and <code
+  >&lt;m2&gt;</code
+  >, or as <code
+  >&lt;s&gt;</code
+  >) are FASTA files (usually having extension <code
+  >.fa</code
+  >, <code
+  >.mfa</code
+  >, <code
+  >.fna</code
+  > or similar). All quality values are assumed to be 40 on the <a href="http://en.wikipedia.org/wiki/FASTQ_format#Variations"
+  >Phred quality</a
+  > scale.</p
+></td></tr><tr><td id="bowtie-options-r">
+
+
+<pre
+><code
+  >-r
+</code
+  ></pre
+></td><td>
+<p
+>The query input files (specified either as <code
+  >&lt;m1&gt;</code
+  > and <code
+  >&lt;m2&gt;</code
+  >, or as <code
+  >&lt;s&gt;</code
+  >) are Raw files: one sequence per line, without quality values or names. All quality values are assumed to be 40 on the <a href="http://en.wikipedia.org/wiki/FASTQ_format#Variations"
+  >Phred quality</a
+  > scale.</p
+></td></tr><tr><td id="bowtie-options-c">
+
+
+<pre
+><code
+  >-c
+</code
+  ></pre
+></td><td>
+<p
+>The query sequences are given on command line. I.e. <code
+  >&lt;m1&gt;</code
+  >, <code
+  >&lt;m2&gt;</code
+  > and <code
+  >&lt;singles&gt;</code
+  > are comma-separated lists of reads rather than lists of read files.</p
+></td></tr><tr><td id="bowtie-options-C">
+
+
+
+<pre
+><code
+  >-C/--color
+</code
+  ></pre
+></td><td>
+<p
+>Align in colorspace. Read characters are interpreted as colors. The index specified must be a colorspace index (i.e. built with <code
+  >bowtie-build</code
+  > <a href="#bowtie-build-options-C"
+  ><code
+    >-C</code
+    ></a
+  >, or <code
+  >bowtie</code
+  > will print an error message and quit. See <a href="#colorspace-alignment"
+  >Colorspace alignment</a
+  > for more details.</p
+></td></tr><tr><td id="bowtie-options-Q">
+
+
+
+<pre
+><code
+  >-Q/--quals &lt;files&gt;
+</code
+  ></pre
+></td><td>
+<p
+>Comma-separated list of files containing quality values for corresponding unpaired CSFASTA reads. Use in combination with <a href="#bowtie-options-C"
+  ><code
+    >-C</code
+    ></a
+  > and <a href="#bowtie-options-f"
+  ><code
+    >-f</code
+    ></a
+  >. <a href="#bowtie-options-integer-quals"
+  ><code
+    >--integer-quals</code
+    ></a
+  > is set automatically when <code
+  >-Q</code
+  >/<code
+  >--quals</code
+  > is specified.</p
+></td></tr><tr><td id="bowtie-options-Q1">
+
+
+<pre
+><code
+  >--Q1 &lt;files&gt;
+</code
+  ></pre
+></td><td>
+<p
+>Comma-separated list of files containing quality values for corresponding CSFASTA #1 mates. Use in combination with <a href="#bowtie-options-C"
+  ><code
+    >-C</code
+    ></a
+  >, <a href="#bowtie-options-f"
+  ><code
+    >-f</code
+    ></a
+  >, and <a href="#command-line"
+  ><code
+    >-1</code
+    ></a
+  >. <a href="#bowtie-options-integer-quals"
+  ><code
+    >--integer-quals</code
+    ></a
+  > is set automatically when <code
+  >--Q1</code
+  > is specified.</p
+></td></tr><tr><td id="bowtie-options-Q2">
+
+
+<pre
+><code
+  >--Q2 &lt;files&gt;
+</code
+  ></pre
+></td><td>
+<p
+>Comma-separated list of files containing quality values for corresponding CSFASTA #2 mates. Use in combination with <a href="#bowtie-options-C"
+  ><code
+    >-C</code
+    ></a
+  >, <a href="#bowtie-options-f"
+  ><code
+    >-f</code
+    ></a
+  >, and <a href="#command-line"
+  ><code
+    >-2</code
+    ></a
+  >. <a href="#bowtie-options-integer-quals"
+  ><code
+    >--integer-quals</code
+    ></a
+  > is set automatically when <code
+  >--Q2</code
+  > is specified.</p
+></td></tr><tr><td id="bowtie-options-s">
+
+
+
+<pre
+><code
+  >-s/--skip &lt;int&gt;
+</code
+  ></pre
+></td><td>
+<p
+>Skip (i.e. do not align) the first <code
+  >&lt;int&gt;</code
+  > reads or pairs in the input.</p
+></td></tr><tr><td id="bowtie-options-u">
+
+
+
+<pre
+><code
+  >-u/--qupto &lt;int&gt;
+</code
+  ></pre
+></td><td>
+<p
+>Only align the first <code
+  >&lt;int&gt;</code
+  > reads or read pairs from the input (after the <a href="#bowtie-options-s"
+  ><code
+    >-s</code
+    >/<code
+    >--skip</code
+    ></a
+  > reads or pairs have been skipped). Default: no limit.</p
+></td></tr><tr><td id="bowtie-options-5">
+
+
+
+<pre
+><code
+  >-5/--trim5 &lt;int&gt;
+</code
+  ></pre
+></td><td>
+<p
+>Trim <code
+  >&lt;int&gt;</code
+  > bases from high-quality (left) end of each read before alignment (default: 0).</p
+></td></tr><tr><td id="bowtie-options-3">
+
+
+
+<pre
+><code
+  >-3/--trim3 &lt;int&gt;
+</code
+  ></pre
+></td><td>
+<p
+>Trim <code
+  >&lt;int&gt;</code
+  > bases from low-quality (right) end of each read before alignment (default: 0).</p
+></td></tr><tr><td id="bowtie-options-phred33-quals">
+
+
+<pre
+><code
+  >--phred33-quals
+</code
+  ></pre
+></td><td>
+<p
+>Input qualities are ASCII chars equal to the <a href="http://en.wikipedia.org/wiki/FASTQ_format#Variations"
+  >Phred quality</a
+  > plus 33. Default: on.</p
+></td></tr><tr><td id="bowtie-options-phred64-quals">
+
+
+<pre
+><code
+  >--phred64-quals
+</code
+  ></pre
+></td><td>
+<p
+>Input qualities are ASCII chars equal to the <a href="http://en.wikipedia.org/wiki/FASTQ_format#Variations"
+  >Phred quality</a
+  > plus 64. Default: off.</p
+></td></tr><tr><td id="bowtie-options-solexa-quals">
+
+
+<pre
+><code
+  >--solexa-quals
+</code
+  ></pre
+></td><td>
+<p
+>Convert input qualities from <a href="http://en.wikipedia.org/wiki/FASTQ_format#Variations"
+  >Solexa</a
+  > (which can be negative) to <a href="http://en.wikipedia.org/wiki/FASTQ_format#Variations"
+  >Phred</a
+  > (which can't). This is usually the right option for use with (unconverted) reads emitted by GA Pipeline versions prior to 1.3. Default: off.</p
+></td></tr><tr><td id="bowtie-options-solexa1.3-quals">
+
+
+<pre
+><code
+  >--solexa1.3-quals
+</code
+  ></pre
+></td><td>
+<p
+>Same as <a href="#bowtie-options-phred64-quals"
+  ><code
+    >--phred64-quals</code
+    ></a
+  >. This is usually the right option for use with (unconverted) reads emitted by GA Pipeline version 1.3 or later. Default: off.</p
+></td></tr><tr><td id="bowtie-options-integer-quals">
+
+
+<pre
+><code
+  >--integer-quals
+</code
+  ></pre
+></td><td>
+<p
+>Quality values are represented in the read input file as space-separated ASCII integers, e.g., <code
+  >40 40 30 40</code
+  >..., rather than ASCII characters, e.g., <code
+  >II?I</code
+  >.... Integers are treated as being on the <a href="http://en.wikipedia.org/wiki/FASTQ_format#Variations"
+  >Phred quality</a
+  > scale unless <a href="#bowtie-options-solexa-quals"
+  ><code
+    >--solexa-quals</code
+    ></a
+  > is also specified. Default: off.</p
+></td></tr></table>
+<h4 id="alignment"
+><a href="#TOC"
+  >Alignment</a
+  ></h4
+><table>
+
+<tr><td id="bowtie-options-v">
+
+
+<pre
+><code
+  >-v &lt;int&gt;
+</code
+  ></pre
+></td><td>
+<p
+>Report alignments with at most <code
+  >&lt;int&gt;</code
+  > mismatches. <a href="#bowtie-options-e"
+  ><code
+    >-e</code
+    ></a
+  > and <a href="#bowtie-options-l"
+  ><code
+    >-l</code
+    ></a
+  > options are ignored and quality values have no effect on what alignments are valid. <a href="#bowtie-options-v"
+  ><code
+    >-v</code
+    ></a
+  > is mutually exclusive with <a href="#bowtie-options-n"
+  ><code
+    >-n</code
+    ></a
+  >.</p
+></td></tr><tr><td id="bowtie-options-n">
+
+
+
+<pre
+><code
+  >-n/--seedmms &lt;int&gt;
+</code
+  ></pre
+></td><td>
+<p
+>Maximum number of mismatches permitted in the &quot;seed&quot;, i.e. the first <code
+  >L</code
+  > base pairs of the read (where <code
+  >L</code
+  > is set with <a href="#bowtie-options-l"
+  ><code
+    >-l</code
+    >/<code
+    >--seedlen</code
+    ></a
+  >). This may be 0, 1, 2 or 3 and the default is 2. This option is mutually exclusive with the <a href="#bowtie-options-v"
+  ><code
+    >-v</code
+    ></a
+  > option.</p
+></td></tr><tr><td id="bowtie-options-e">
+
+
+
+<pre
+><code
+  >-e/--maqerr &lt;int&gt;
+</code
+  ></pre
+></td><td>
+<p
+>Maximum permitted total of quality values at <em
+  >all</em
+  > mismatched read positions throughout the entire alignment, not just in the &quot;seed&quot;. The default is 70. Like <a href="http://maq.sf.net"
+  >Maq</a
+  >, <code
+  >bowtie</code
+  > rounds quality values to the nearest 10 and saturates at 30; rounding can be disabled with <a href="#bowtie-options-nomaqround"
+  ><code
+    >--nomaqround</code
+    ></a
+  >.</p
+></td></tr><tr><td id="bowtie-options-l">
+
+
+
+<pre
+><code
+  >-l/--seedlen &lt;int&gt;
+</code
+  ></pre
+></td><td>
+<p
+>The &quot;seed length&quot;; i.e., the number of bases on the high-quality end of the read to which the <a href="#bowtie-options-n"
+  ><code
+    >-n</code
+    ></a
+  > ceiling applies. The lowest permitted setting is 5 and the default is 28. <code
+  >bowtie</code
+  > is faster for larger values of <a href="#bowtie-options-l"
+  ><code
+    >-l</code
+    ></a
+  >.</p
+></td></tr><tr><td id="bowtie-options-nomaqround">
+
+
+<pre
+><code
+  >--nomaqround
+</code
+  ></pre
+></td><td>
+<p
+><a href="http://maq.sf.net"
+  >Maq</a
+  > accepts quality values in the <a href="http://en.wikipedia.org/wiki/FASTQ_format#Variations"
+  >Phred quality</a
+  > scale, but internally rounds values to the nearest 10, with a maximum of 30. By default, <code
+  >bowtie</code
+  > also rounds this way. <a href="#bowtie-options-nomaqround"
+  ><code
+    >--nomaqround</code
+    ></a
+  > prevents this rounding in <code
+  >bowtie</code
+  >.</p
+></td></tr><tr><td id="bowtie-options-I">
+
+
+
+<pre
+><code
+  >-I/--minins &lt;int&gt;
+</code
+  ></pre
+></td><td>
+<p
+>The minimum insert size for valid paired-end alignments. E.g. if <code
+  >-I 60</code
+  > is specified and a paired-end alignment consists of two 20-bp alignments in the appropriate orientation with a 20-bp gap between them, that alignment is considered valid (as long as <a href="#bowtie-options-X"
+  ><code
+    >-X</code
+    ></a
+  > is also satisfied). A 19-bp gap would not be valid in that case. If trimming options <a href="#bowtie-options-3"
+  ><code
+    >-3</code
+    ></a
+  > or <a href="#bowtie-options-5"
+  ><code
+    >-5</code
+    ></a
+  > are also used, the <a href="#bowtie-options-I"
+  ><code
+    >-I</code
+    ></a
+  > constraint is applied with respect to the untrimmed mates. Default: 0.</p
+></td></tr><tr><td id="bowtie-options-X">
+
+
+
+<pre
+><code
+  >-X/--maxins &lt;int&gt;
+</code
+  ></pre
+></td><td>
+<p
+>The maximum insert size for valid paired-end alignments. E.g. if <code
+  >-X 100</code
+  > is specified and a paired-end alignment consists of two 20-bp alignments in the proper orientation with a 60-bp gap between them, that alignment is considered valid (as long as <a href="#bowtie-options-I"
+  ><code
+    >-I</code
+    ></a
+  > is also satisfied). A 61-bp gap would not be valid in that case. If trimming options <a href="#bowtie-options-3"
+  ><code
+    >-3</code
+    ></a
+  > or <a href="#bowtie-options-5"
+  ><code
+    >-5</code
+    ></a
+  > are also used, the <code
+  >-X</code
+  > constraint is applied with respect to the untrimmed mates, not the trimmed mates. Default: 250.</p
+></td></tr><tr><td id="bowtie-options-fr">
+
+
+
+
+
+<pre
+><code
+  >--fr/--rf/--ff
+</code
+  ></pre
+></td><td>
+<p
+>The upstream/downstream mate orientations for a valid paired-end alignment against the forward reference strand. E.g., if <code
+  >--fr</code
+  > is specified and there is a candidate paired-end alignment where mate1 appears upstream of the reverse complement of mate2 and the insert length constraints are met, that alignment is valid. Also, if mate2 appears upstream of the reverse complement of mate1 and all other constraints are met, that too is valid. <code
+  >--rf</code
+  > likewise requires that an upstream mate1 be reverse-complemented and a downstream mate2 be forward-oriented. <code
+  >--ff</code
+  > requires both an upstream mate1 and a downstream mate2 to be forward-oriented. Default: <code
+  >--fr</code
+  > when <a href="#bowtie-options-C"
+  ><code
+    >-C</code
+    ></a
+  > (colorspace alignment) is not specified, <code
+  >--ff</code
+  > when <a href="#bowtie-options-C"
+  ><code
+    >-C</code
+    ></a
+  > is specified.</p
+></td></tr><tr><td id="bowtie-options-nofw">
+
+
+<pre
+><code
+  >--nofw/--norc
+</code
+  ></pre
+></td><td>
+<p
+>If <code
+  >--nofw</code
+  > is specified, <code
+  >bowtie</code
+  > will not attempt to align against the forward reference strand. If <code
+  >--norc</code
+  > is specified, <code
+  >bowtie</code
+  > will not attempt to align against the reverse-complement reference strand. For paired-end reads using <a href="#bowtie-options-fr"
+  ><code
+    >--fr</code
+    ></a
+  > or <a href="#bowtie-options-fr"
+  ><code
+    >--rf</code
+    ></a
+  > modes, <code
+  >--nofw</code
+  > and <code
+  >--norc</code
+  > apply to the forward and reverse-complement pair orientations. I.e. specifying <code
+  >--nofw</code
+  > and <a href="#bowtie-options-fr"
+  ><code
+    >--fr</code
+    ></a
+  > will only find reads in the R/F orientation where mate 2 occurs upstream of mate 1 with respect to the forward reference strand.</p
+></td></tr><tr><td id="bowtie-options-maxbts">
+
+
+<pre
+><code
+  >--maxbts
+</code
+  ></pre
+></td><td>
+<p
+>The maximum number of backtracks permitted when aligning a read in <a href="#bowtie-options-n"
+  ><code
+    >-n</code
+    ></a
+  > 2 or <a href="#bowtie-options-n"
+  ><code
+    >-n</code
+    ></a
+  > 3 mode (default: 125 without <a href="#bowtie-options-best"
+  ><code
+    >--best</code
+    ></a
+  >, 800 with <a href="#bowtie-options-best"
+  ><code
+    >--best</code
+    ></a
+  >). A &quot;backtrack&quot; is the introduction of a speculative substitution into the alignment. Without this limit, the default parameters will sometimes require that <code
+  >bowtie</code
+  > try 100s or 1,000s of backtracks to align a read, especially if the read has many low-quality bases and/or has no valid alignments, slowing bowtie down significantly. However, this limit may cause some valid alignments to be missed. Higher limits yield greater sensitivity at the expensive of longer running times. See also: <a href="#bowtie-options-y"
+  ><code
+    >-y</code
+    >/<code
+    >--tryhard</code
+    ></a
+  >.</p
+></td></tr><tr><td id="bowtie-options-pairtries">
+
+
+<pre
+><code
+  >--pairtries &lt;int&gt;
+</code
+  ></pre
+></td><td>
+<p
+>For paired-end alignment, this is the maximum number of attempts <code
+  >bowtie</code
+  > will make to match an alignment for one mate up with an alignment for the opposite mate. Most paired-end alignments require only a few such attempts, but pairs where both mates occur in highly repetitive regions of the reference can require significantly more. Setting this to a higher number allows <code
+  >bowtie</code
+  > to find more paired- end alignments for repetitive pairs at the expense of speed. The default is 100. See also: <a href="#bowtie-options-y"
+  ><code
+    >-y</code
+    >/<code
+    >--tryhard</code
+    ></a
+  >.</p
+></td></tr><tr><td id="bowtie-options-y">
+
+
+
+<pre
+><code
+  >-y/--tryhard
+</code
+  ></pre
+></td><td>
+<p
+>Try as hard as possible to find valid alignments when they exist, including paired-end alignments. This is equivalent to specifying very high values for the <a href="#bowtie-options-maxbts"
+  ><code
+    >--maxbts</code
+    ></a
+  > and <a href="#bowtie-options-pairtries"
+  ><code
+    >--pairtries</code
+    ></a
+  > options. This mode is generally much slower than the default settings, but can be useful for certain problems. This mode is slower when (a) the reference is very repetitive, (b) the reads are low quality, or (c) not many reads have valid alignments.</p
+></td></tr><tr><td id="bowtie-options-chunkmbs">
+
+
+<pre
+><code
+  >--chunkmbs &lt;int&gt;
+</code
+  ></pre
+></td><td>
+<p
+>The number of megabytes of memory a given thread is given to store path descriptors in <a href="#bowtie-options-best"
+  ><code
+    >--best</code
+    ></a
+  > mode. Best-first search must keep track of many paths at once to ensure it is always extending the path with the lowest cumulative cost. Bowtie tries to minimize the memory impact of the descriptors, but they can still grow very large in some cases. If you receive an error message saying that chunk memory has been exhausted in <a href="#bowtie-options-best"
+  ><code
+    >--best</code
+    ></a
+  > mode, try adjusting this parameter up to dedicate more memory to the descriptors. Default: 64.</p
+></td></tr></table>
+<h4 id="reporting"
+><a href="#TOC"
+  >Reporting</a
+  ></h4
+><table><tr><td id="bowtie-options-k">
+
+
+<pre
+><code
+  >-k &lt;int&gt;
+</code
+  ></pre
+></td><td>
+<p
+>Report up to <code
+  >&lt;int&gt;</code
+  > valid alignments per read or pair (default: 1). Validity of alignments is determined by the alignment policy (combined effects of <a href="#bowtie-options-n"
+  ><code
+    >-n</code
+    ></a
+  >, <a href="#bowtie-options-v"
+  ><code
+    >-v</code
+    ></a
+  >, <a href="#bowtie-options-l"
+  ><code
+    >-l</code
+    ></a
+  >, and <a href="#bowtie-options-e"
+  ><code
+    >-e</code
+    ></a
+  >). If more than one valid alignment exists and the <a href="#bowtie-options-best"
+  ><code
+    >--best</code
+    ></a
+  > and <a href="#bowtie-options-strata"
+  ><code
+    >--strata</code
+    ></a
+  > options are specified, then only those alignments belonging to the best alignment &quot;stratum&quot; will be reported. Bowtie is designed to be very fast for small <a href="#bowtie-options-k"
+  ><code
+    >-k</code
+    ></a
+  > but bowtie can become significantly slower as <a href="#bowtie-options-k"
+  ><code
+    >-k</code
+    ></a
+  > increases. If you would like to use Bowtie for larger values of <a href="#bowtie-options-k"
+  ><code
+    >-k</code
+    ></a
+  >, consider building an index with a denser suffix-array sample, i.e. specify a smaller <a href="#bowtie-build-options-o"
+  ><code
+    >-o</code
+    >/<code
+    >--offrate</code
+    ></a
+  > when invoking <code
+  >bowtie-build</code
+  > for the relevant index (see the <a href="#performance-tuning"
+  >Performance tuning</a
+  > section for details).</p
+></td></tr><tr><td id="bowtie-options-a">
+
+
+
+<pre
+><code
+  >-a/--all
+</code
+  ></pre
+></td><td>
+<p
+>Report all valid alignments per read or pair (default: off). Validity of alignments is determined by the alignment policy (combined effects of <a href="#bowtie-options-n"
+  ><code
+    >-n</code
+    ></a
+  >, <a href="#bowtie-options-v"
+  ><code
+    >-v</code
+    ></a
+  >, <a href="#bowtie-options-l"
+  ><code
+    >-l</code
+    ></a
+  >, and <a href="#bowtie-options-e"
+  ><code
+    >-e</code
+    ></a
+  >). If more than one valid alignment exists and the <a href="#bowtie-options-best"
+  ><code
+    >--best</code
+    ></a
+  > and <a href="#bowtie-options-strata"
+  ><code
+    >--strata</code
+    ></a
+  > options are specified, then only those alignments belonging to the best alignment &quot;stratum&quot; will be reported. Bowtie is designed to be very fast for small <a href="#bowtie-options-k"
+  ><code
+    >-k</code
+    ></a
+  > but bowtie can become significantly slower if <a href="#bowtie-options-a"
+  ><code
+    >-a</code
+    >/<code
+    >--all</code
+    ></a
+  > is specified. If you would like to use Bowtie with <a href="#bowtie-options-a"
+  ><code
+    >-a</code
+    ></a
+  >, consider building an index with a denser suffix-array sample, i.e. specify a smaller <a href="#bowtie-build-options-o"
+  ><code
+    >-o</code
+    >/<code
+    >--offrate</code
+    ></a
+  > when invoking <code
+  >bowtie-build</code
+  > for the relevant index (see the <a href="#performance-tuning"
+  >Performance tuning</a
+  > section for details).</p
+></td></tr><tr><td id="bowtie-options-m">
+
+
+<pre
+><code
+  >-m &lt;int&gt;
+</code
+  ></pre
+></td><td>
+<p
+>Suppress all alignments for a particular read or pair if more than <code
+  >&lt;int&gt;</code
+  > reportable alignments exist for it. Reportable alignments are those that would be reported given the <a href="#bowtie-options-n"
+  ><code
+    >-n</code
+    ></a
+  >, <a href="#bowtie-options-v"
+  ><code
+    >-v</code
+    ></a
+  >, <a href="#bowtie-options-l"
+  ><code
+    >-l</code
+    ></a
+  >, <a href="#bowtie-options-e"
+  ><code
+    >-e</code
+    ></a
+  >, <a href="#bowtie-options-k"
+  ><code
+    >-k</code
+    ></a
+  >, <a href="#bowtie-options-a"
+  ><code
+    >-a</code
+    ></a
+  >, <a href="#bowtie-options-best"
+  ><code
+    >--best</code
+    ></a
+  >, and <a href="#bowtie-options-strata"
+  ><code
+    >--strata</code
+    ></a
+  > options. Default: no limit. Bowtie is designed to be very fast for small <a href="#bowtie-options-m"
+  ><code
+    >-m</code
+    ></a
+  > but bowtie can become significantly slower for larger values of <a href="#bowtie-options-m"
+  ><code
+    >-m</code
+    ></a
+  >. If you would like to use Bowtie for larger values of <a href="#bowtie-options-k"
+  ><code
+    >-k</code
+    ></a
+  >, consider building an index with a denser suffix-array sample, i.e. specify a smaller <a href="#bowtie-build-options-o"
+  ><code
+    >-o</code
+    >/<code
+    >--offrate</code
+    ></a
+  > when invoking <code
+  >bowtie-build</code
+  > for the relevant index (see the <a href="#performance-tuning"
+  >Performance tuning</a
+  > section for details).</p
+></td></tr><tr><td id="bowtie-options-M">
+
+
+<pre
+><code
+  >-M &lt;int&gt;
+</code
+  ></pre
+></td><td>
+<p
+>Behaves like <a href="#bowtie-options-m"
+  ><code
+    >-m</code
+    ></a
+  > except that if a read has more than <code
+  >&lt;int&gt;</code
+  > reportable alignments, one is reported at random. In <a href="#default-bowtie-output"
+  >default output mode</a
+  >, the selected alignment's 7th column is set to <code
+  >&lt;int&gt;</code
+  >+1 to indicate the read has at least <code
+  >&lt;int&gt;</code
+  >+1 valid alignments. In <a href="#bowtie-options-S"
+  ><code
+    >-S</code
+    >/<code
+    >--sam</code
+    ></a
+  > mode, the selected alignment is given a <code
+  >MAPQ</code
+  > (mapping quality) of 0 and the <code
+  >XM:I</code
+  > field is set to <code
+  >&lt;int&gt;</code
+  >+1. This option requires <a href="#bowtie-options-best"
+  ><code
+    >--best</code
+    ></a
+  >; if specified without <a href="#bowtie-options-best"
+  ><code
+    >--best</code
+    ></a
+  >, <a href="#bowtie-options-best"
+  ><code
+    >--best</code
+    ></a
+  > is enabled automatically.</p
+></td></tr><tr><td id="bowtie-options-best">
+
+
+<pre
+><code
+  >--best
+</code
+  ></pre
+></td><td>
+<p
+>Make Bowtie guarantee that reported singleton alignments are &quot;best&quot; in terms of stratum (i.e. number of mismatches, or mismatches in the seed in the case of <a href="#bowtie-options-n"
+  ><code
+    >-n</code
+    ></a
+  > mode) and in terms of the quality values at the mismatched position(s). Stratum always trumps quality; e.g. a 1-mismatch alignment where the mismatched position has <a href="http://en.wikipedia.org/wiki/FASTQ_format#Variations"
+  >Phred quality</a
+  > 40 is preferred over a 2-mismatch alignment where the mismatched positions both have <a href="http://en.wikipedia.org/wiki/FASTQ_format#Variations"
+  >Phred quality</a
+  > 10. When <a href="#bowtie-options-best"
+  ><code
+    >--best</code
+    ></a
+  > is not specified, Bowtie may report alignments that are sub-optimal in terms of stratum and/or quality (though an effort is made to report the best alignment). <a href="#bowtie-options-best"
+  ><code
+    >--best</code
+    ></a
+  > mode also removes all strand bias. Note that <a href="#bowtie-options-best"
+  ><code
+    >--best</code
+    ></a
+  > does not affect which alignments are considered &quot;valid&quot; by <code
+  >bowtie</code
+  >, only which valid alignments are reported by <code
+  >bowtie</code
+  >. When <a href="#bowtie-options-best"
+  ><code
+    >--best</code
+    ></a
+  > is specified and multiple hits are allowed (via <a href="#bowtie-options-k"
+  ><code
+    >-k</code
+    ></a
+  > or <a href="#bowtie-options-a"
+  ><code
+    >-a</code
+    ></a
+  >), the alignments for a given read are guaranteed to appear in best-to-worst order in <code
+  >bowtie</code
+  >'s output. <code
+  >bowtie</code
+  > is somewhat slower when <a href="#bowtie-options-best"
+  ><code
+    >--best</code
+    ></a
+  > is specified.</p
+></td></tr><tr><td id="bowtie-options-strata">
+
+
+<pre
+><code
+  >--strata
+</code
+  ></pre
+></td><td>
+<p
+>If many valid alignments exist and are reportable (e.g. are not disallowed via the <a href="#bowtie-options-k"
+  ><code
+    >-k</code
+    ></a
+  > option) and they fall into more than one alignment &quot;stratum&quot;, report only those alignments that fall into the best stratum. By default, Bowtie reports all reportable alignments regardless of whether they fall into multiple strata. When <a href="#bowtie-options-strata"
+  ><code
+    >--strata</code
+    ></a
+  > is specified, <a href="#bowtie-options-best"
+  ><code
+    >--best</code
+    ></a
+  > must also be specified.</p
+></td></tr>
+</table>
+<h4 id="output"
+><a href="#TOC"
+  >Output</a
+  ></h4
+><table>
+
+<tr><td id="bowtie-options-t">
+
+
+
+<pre
+><code
+  >-t/--time
+</code
+  ></pre
+></td><td>
+<p
+>Print the amount of wall-clock time taken by each phase.</p
+></td></tr><tr><td id="bowtie-options-B">
+
+
+
+<pre
+><code
+  >-B/--offbase &lt;int&gt;
+</code
+  ></pre
+></td><td>
+<p
+>When outputting alignments, number the first base of a reference sequence as <code
+  >&lt;int&gt;</code
+  >. Default: 0.</p
+></td></tr><tr><td id="bowtie-options-quiet">
+
+
+<pre
+><code
+  >--quiet
+</code
+  ></pre
+></td><td>
+<p
+>Print nothing besides alignments.</p
+></td></tr><tr><td id="bowtie-options-refout">
+
+
+<pre
+><code
+  >--refout
+</code
+  ></pre
+></td><td>
+<p
+>Write alignments to a set of files named <code
+  >refXXXXX.map</code
+  >, where <code
+  >XXXXX</code
+  > is the 0-padded index of the reference sequence aligned to. This can be a useful way to break up work for downstream analyses when dealing with, for example, large numbers of reads aligned to the assembled human genome. If <code
+  >&lt;hits&gt;</code
+  > is also specified, it will be ignored.</p
+></td></tr><tr><td id="bowtie-options-refidx">
+
+
+<pre
+><code
+  >--refidx
+</code
+  ></pre
+></td><td>
+<p
+>When a reference sequence is referred to in a reported alignment, refer to it by 0-based index (its offset into the list of references that were indexed) rather than by name.</p
+></td></tr><tr><td id="bowtie-options-al">
+
+
+<pre
+><code
+  >--al &lt;filename&gt;
+</code
+  ></pre
+></td><td>
+<p
+>Write all reads for which at least one alignment was reported to a file with name <code
+  >&lt;filename&gt;</code
+  >. Written reads will appear as they did in the input, without any of the trimming or translation of quality values that may have taken place within <code
+  >bowtie</code
+  >. Paired-end reads will be written to two parallel files with <code
+  >_1</code
+  > and <code
+  >_2</code
+  > inserted in the filename, e.g., if <code
+  >&lt;filename&gt;</code
+  > is <code
+  >aligned.fq</code
+  >, the #1 and #2 mates that fail to align will be written to <code
+  >aligned_1.fq</code
+  > and <code
+  >aligned_2.fq</code
+  > respectively.</p
+></td></tr><tr><td id="bowtie-options-un">
+
+
+<pre
+><code
+  >--un &lt;filename&gt;
+</code
+  ></pre
+></td><td>
+<p
+>Write all reads that could not be aligned to a file with name <code
+  >&lt;filename&gt;</code
+  >. Written reads will appear as they did in the input, without any of the trimming or translation of quality values that may have taken place within Bowtie. Paired-end reads will be written to two parallel files with <code
+  >_1</code
+  > and <code
+  >_2</code
+  > inserted in the filename, e.g., if <code
+  >&lt;filename&gt;</code
+  > is <code
+  >unaligned.fq</code
+  >, the #1 and #2 mates that fail to align will be written to <code
+  >unaligned_1.fq</code
+  > and <code
+  >unaligned_2.fq</code
+  > respectively. Unless <a href="#bowtie-options-max"
+  ><code
+    >--max</code
+    ></a
+  > is also specified, reads with a number of valid alignments exceeding the limit set with the <a href="#bowtie-options-m"
+  ><code
+    >-m</code
+    ></a
+  > option are also written to <code
+  >&lt;filename&gt;</code
+  >.</p
+></td></tr><tr><td id="bowtie-options-max">
+
+
+<pre
+><code
+  >--max &lt;filename&gt;
+</code
+  ></pre
+></td><td>
+<p
+>Write all reads with a number of valid alignments exceeding the limit set with the <a href="#bowtie-options-m"
+  ><code
+    >-m</code
+    ></a
+  > option to a file with name <code
+  >&lt;filename&gt;</code
+  >. Written reads will appear as they did in the input, without any of the trimming or translation of quality values that may have taken place within <code
+  >bowtie</code
+  >. Paired-end reads will be written to two parallel files with <code
+  >_1</code
+  > and <code
+  >_2</code
+  > inserted in the filename, e.g., if <code
+  >&lt;filename&gt;</code
+  > is <code
+  >max.fq</code
+  >, the #1 and #2 mates that exceed the <a href="#bowtie-options-m"
+  ><code
+    >-m</code
+    ></a
+  > limit will be written to <code
+  >max_1.fq</code
+  > and <code
+  >max_2.fq</code
+  > respectively. These reads are not written to the file specified with <a href="#bowtie-options-un"
+  ><code
+    >--un</code
+    ></a
+  >.</p
+></td></tr><tr><td id="bowtie-options-suppress">
+
+
+<pre
+><code
+  >--suppress &lt;cols&gt;
+</code
+  ></pre
+></td><td>
+<p
+>Suppress columns of output in the <a href="#default-bowtie-output"
+  >default output mode</a
+  >. E.g. if <code
+  >--suppress 1,5,6</code
+  > is specified, the read name, read sequence, and read quality fields will be omitted. See <a href="#default-bowtie-output"
+  >Default Bowtie output</a
+  > for field descriptions. This option is ignored if the output mode is <a href="#bowtie-options-S"
+  ><code
+    >-S</code
+    >/<code
+    >--sam</code
+    ></a
+  >.</p
+></td></tr>
+<tr><td id="bowtie-options-fullref">
+
+
+<pre
+><code
+  >--fullref
+</code
+  ></pre
+></td><td>
+<p
+>Print the full refernce sequence name, including whitespace, in alignment output. By default <code
+  >bowtie</code
+  > prints everything up to but not including the first whitespace.</p
+></td></tr></table>
+<h4 id="colorspace"
+><a href="#TOC"
+  >Colorspace</a
+  ></h4
+><table>
+<tr><td id="bowtie-options-snpphred">
+
+
+<pre
+><code
+  >--snpphred &lt;int&gt;
+</code
+  ></pre
+></td><td>
+<p
+>When decoding colorspace alignments, use <code
+  >&lt;int&gt;</code
+  > as the SNP penalty. This should be set to the user's best guess of the true ratio of SNPs per base in the subject genome, converted to the <a href="http://en.wikipedia.org/wiki/FASTQ_format#Variations"
+  >Phred quality</a
+  > scale. E.g., if the user expects about 1 SNP every 1,000 positions, <code
+  >--snpphred</code
+  > should be set to 30 (which is also the default). To specify the fraction directly, use <a href="#bowtie-options-snpfrac"
+  ><code
+    >--snpfrac</code
+    ></a
+  >.</p
+></td></tr>
+<tr><td id="bowtie-options-snpfrac">
+
+
+<pre
+><code
+  >--snpfrac &lt;dec&gt;
+</code
+  ></pre
+></td><td>
+<p
+>When decoding colorspace alignments, use <code
+  >&lt;dec&gt;</code
+  > as the estimated ratio of SNPs per base. For best decoding results, this should be set to the user's best guess of the true ratio. <code
+  >bowtie</code
+  > internally converts the ratio to a <a href="http://en.wikipedia.org/wiki/FASTQ_format#Variations"
+  >Phred quality</a
+  >, and behaves as if that quality had been set via the <a href="#bowtie-options-snpphred"
+  ><code
+    >--snpphred</code
+    ></a
+  > option. Default: 0.001.</p
+></td></tr>
+<tr><td id="bowtie-options-col-cseq">
+
+
+<pre
+><code
+  >--col-cseq
+</code
+  ></pre
+></td><td>
+<p
+>If reads are in colorspace and the <a href="#default-bowtie-output"
+  >default output mode</a
+  > is active, <code
+  >--col-cseq</code
+  > causes the reads' color sequence to appear in the read-sequence column (column 5) instead of the decoded nucleotide sequence. See the <a href="#decoding-colorspace-alignments"
+  >Decoding colorspace alignments</a
+  > section for details about decoding. This option is ignored in <a href="#bowtie-options-S"
+  ><code
+    >-S</code
+    >/<code
+    >--sam</code
+    ></a
+  > mode.</p
+></td></tr>
+<tr><td id="bowtie-options-col-cqual">
+
+
+<pre
+><code
+  >--col-cqual
+</code
+  ></pre
+></td><td>
+<p
+>If reads are in colorspace and the <a href="#default-bowtie-output"
+  >default output mode</a
+  > is active, <code
+  >--col-cqual</code
+  > causes the reads' original (color) quality sequence to appear in the quality column (column 6) instead of the decoded qualities. See the <a href="#colorspace-alignment"
+  >Colorspace alignment</a
+  > section for details about decoding. This option is ignored in <a href="#bowtie-options-S"
+  ><code
+    >-S</code
+    >/<code
+    >--sam</code
+    ></a
+  > mode.</p
+></td></tr>
+<tr><td id="bowtie-options-col-keepends">
+
+
+<pre
+><code
+  >--col-keepends
+</code
+  ></pre
+></td><td>
+<p
+>When decoding colorpsace alignments, <code
+  >bowtie</code
+  > trims off a nucleotide and quality from the left and right edges of the alignment. This is because those nucleotides are supported by only one color, in contrast to the middle nucleotides which are supported by two. Specify <code
+  >--col-keepends</code
+  > to keep the extreme-end nucleotides and qualities.</p
+></td></tr>
+</table>
+<h4 id="sam"
+><a href="#TOC"
+  >SAM</a
+  ></h4
+><table>
+
+<tr><td id="bowtie-options-S">
+
+
+
+<pre
+><code
+  >-S/--sam
+</code
+  ></pre
+></td><td>
+<p
+>Print alignments in <a href="http://samtools.sourceforge.net/SAM1.pdf"
+  >SAM</a
+  > format. See the <a href="#sam-bowtie-output"
+  >SAM output</a
+  > section of the manual for details. To suppress all SAM headers, use <a href="#bowtie-options-sam-nohead"
+  ><code
+    >--sam-nohead</code
+    ></a
+  > in addition to <code
+  >-S/--sam</code
+  >. To suppress just the <code
+  >@SQ</code
+  > headers (e.g. if the alignment is against a very large number of reference sequences), use <a href="#bowtie-options-sam-nosq"
+  ><code
+    >--sam-nosq</code
+    ></a
+  > in addition to <code
+  >-S/--sam</code
+  >. <code
+  >bowtie</code
+  > does not write BAM files directly, but SAM output can be converted to BAM on the fly by piping <code
+  >bowtie</code
+  >'s output to <code
+  >samtools view</code
+  >. <a href="#bowtie-options-S"
+  ><code
+    >-S</code
+    >/<code
+    >--sam</code
+    ></a
+  > is not compatible with <a href="#bowtie-options-refout"
+  ><code
+    >--refout</code
+    ></a
+  >.</p
+></td></tr><tr><td id="bowtie-options-mapq">
+
+
+<pre
+><code
+  >--mapq &lt;int&gt;
+</code
+  ></pre
+></td><td>
+<p
+>If an alignment is non-repetitive (according to <a href="#bowtie-options-m"
+  ><code
+    >-m</code
+    ></a
+  >, <a href="#bowtie-options-strata"
+  ><code
+    >--strata</code
+    ></a
+  > and other options) set the <code
+  >MAPQ</code
+  > (mapping quality) field to this value. See the <a href="http://samtools.sourceforge.net/SAM1.pdf"
+  >SAM Spec</a
+  > for details about the <code
+  >MAPQ</code
+  > field Default: 255.</p
+></td></tr><tr><td id="bowtie-options-sam-nohead">
+
+
+<pre
+><code
+  >--sam-nohead
+</code
+  ></pre
+></td><td>
+<p
+>Suppress header lines (starting with <code
+  >@</code
+  >) when output is <a href="#bowtie-options-S"
+  ><code
+    >-S</code
+    >/<code
+    >--sam</code
+    ></a
+  >. This must be specified <em
+  >in addition to</em
+  > <a href="#bowtie-options-S"
+  ><code
+    >-S</code
+    >/<code
+    >--sam</code
+    ></a
+  >. <code
+  >--sam-nohead</code
+  > is ignored unless <a href="#bowtie-options-S"
+  ><code
+    >-S</code
+    >/<code
+    >--sam</code
+    ></a
+  > is also specified.</p
+></td></tr><tr><td id="bowtie-options-sam-nosq">
+
+
+<pre
+><code
+  >--sam-nosq
+</code
+  ></pre
+></td><td>
+<p
+>Suppress <code
+  >@SQ</code
+  > header lines when output is <a href="#bowtie-options-S"
+  ><code
+    >-S</code
+    >/<code
+    >--sam</code
+    ></a
+  >. This must be specified <em
+  >in addition to</em
+  > <a href="#bowtie-options-S"
+  ><code
+    >-S</code
+    >/<code
+    >--sam</code
+    ></a
+  >. <code
+  >--sam-nosq</code
+  > is ignored unless <a href="#bowtie-options-S"
+  ><code
+    >-S</code
+    >/<code
+    >--sam</code
+    ></a
+  > is also specified.</p
+></td></tr><tr><td id="bowtie-options-sam-RG">
+
+
+<pre
+><code
+  >--sam-RG &lt;text&gt;
+</code
+  ></pre
+></td><td>
+<p
+>Add <code
+  >&lt;text&gt;</code
+  > (usually of the form <code
+  >TAG:VAL</code
+  >, e.g. <code
+  >ID:IL7LANE2</code
+  >) as a field on the <code
+  >@RG</code
+  > header line. Specify <code
+  >--sam-RG</code
+  > multiple times to set multiple fields. See the <a href="http://samtools.sourceforge.net/SAM1.pdf"
+  >SAM Spec</a
+  > for details about what fields are legal. Note that, if any <code
+  >@RG</code
+  > fields are set using this option, the <code
+  >ID</code
+  > and <code
+  >SM</code
+  > fields must both be among them to make the <code
+  >@RG</code
+  > line legal according to the <a href="http://samtools.sourceforge.net/SAM1.pdf"
+  >SAM Spec</a
+  >. <code
+  >--sam-RG</code
+  > is ignored unless <a href="#bowtie-options-S"
+  ><code
+    >-S</code
+    >/<code
+    >--sam</code
+    ></a
+  > is also specified.</p
+></td></tr></table>
+<h4 id="performance"
+><a href="#TOC"
+  >Performance</a
+  ></h4
+><table><tr>
+
+<td id="bowtie-options-o">
+
+
+
+
+<pre
+><code
+  >-o/--offrate &lt;int&gt;
+</code
+  ></pre
+></td><td>
+<p
+>Override the offrate of the index with <code
+  >&lt;int&gt;</code
+  >. If <code
+  >&lt;int&gt;</code
+  > is greater than the offrate used to build the index, then some row markings are discarded when the index is read into memory. This reduces the memory footprint of the aligner but requires more time to calculate text offsets. <code
+  >&lt;int&gt;</code
+  > must be greater than the value used to build the index.</p
+></td></tr><tr><td id="bowtie-options-p">
+
+
+
+<pre
+><code
+  >-p/--threads &lt;int&gt;
+</code
+  ></pre
+></td><td>
+<p
+>Launch <code
+  >&lt;int&gt;</code
+  > parallel search threads (default: 1). Threads will run on separate processors/cores and synchronize when parsing reads and outputting alignments. Searching for alignments is highly parallel, and speedup is fairly close to linear. This option is only available if <code
+  >bowtie</code
+  > is linked with the <code
+  >pthreads</code
+  > library (i.e. if <code
+  >BOWTIE_PTHREADS=0</code
+  > is not specified at build time).</p
+></td></tr><tr><td id="bowtie-options-mm">
+
+
+<pre
+><code
+  >--mm
+</code
+  ></pre
+></td><td>
+<p
+>Use memory-mapped I/O to load the index, rather than normal C file I/O. Memory-mapping the index allows many concurrent <code
+  >bowtie</code
+  > processes on the same computer to share the same memory image of the index (i.e. you pay the memory overhead just once). This facilitates memory-efficient parallelization of <code
+  >bowtie</code
+  > in situations where using <a href="#bowtie-options-p"
+  ><code
+    >-p</code
+    ></a
+  > is not possible.</p
+></td></tr><tr><td id="bowtie-options-shmem">
+
+
+<pre
+><code
+  >--shmem
+</code
+  ></pre
+></td><td>
+<p
+>Use shared memory to load the index, rather than normal C file I/O. Using shared memory allows many concurrent bowtie processes on the same computer to share the same memory image of the index (i.e. you pay the memory overhead just once). This facilitates memory-efficient parallelization of <code
+  >bowtie</code
+  > in situations where using <a href="#bowtie-options-p"
+  ><code
+    >-p</code
+    ></a
+  > is not desirable. Unlike <a href="#bowtie-options-mm"
+  ><code
+    >--mm</code
+    ></a
+  >, <code
+  >--shmem</code
+  > installs the index into shared memory permanently, or until the user deletes the shared memory chunks manually. See your operating system documentation for details on how to manually list and remove shared memory chunks (on Linux and Mac OS X, these commands are <code
+  >ipcs</code
+  > and <code
+  >ipcrm</code
+  >). You may also need to increase your OS's maximum shared-memory chunk size to accomodate larger indexes; see your OS documentation.</p
+></td></tr></table>
+<h4 id="other"
+><a href="#TOC"
+  >Other</a
+  ></h4
+><table><tr><td id="bowtie-options-seed">
+
+
+<pre
+><code
+  >--seed &lt;int&gt;
+</code
+  ></pre
+></td><td>
+<p
+>Use <code
+  >&lt;int&gt;</code
+  > as the seed for pseudo-random number generator.</p
+></td></tr><tr><td id="bowtie-options-verbose">
+
+
+<pre
+><code
+  >--verbose
+</code
+  ></pre
+></td><td>
+<p
+>Print verbose output (for debugging).</p
+></td></tr><tr><td id="bowtie-options-version">
+
+
+<pre
+><code
+  >--version
+</code
+  ></pre
+></td><td>
+<p
+>Print version information and quit.</p
+></td></tr><tr><td id="bowtie-options-h">
+<pre
+><code
+  >-h/--help
+</code
+  ></pre
+></td><td>
+<p
+>Print usage information and quit.</p
+></td></tr></table>
+<h2 id="default-bowtie-output"
+><a href="#TOC"
+  >Default <code
+    >bowtie</code
+    > output</a
+  ></h2
+><p
+><code
+  >bowtie</code
+  > outputs one alignment per line. Each line is a collection of 8 fields separated by tabs; from left to right, the fields are:</p
+><ol style="list-style-type: decimal;"
+><li
+  ><p
+    >Name of read that aligned</p
+    ></li
+  ><li
+  ><p
+    >Reference strand aligned to, <code
+      >+</code
+      > for forward strand, <code
+      >-</code
+      > for reverse</p
+    ></li
+  ><li
+  ><p
+    >Name of reference sequence where alignment occurs, or numeric ID if no name was provided</p
+    ></li
+  ><li
+  ><p
+    >0-based offset into the forward reference strand where leftmost character of the alignment occurs</p
+    ></li
+  ><li
+  ><p
+    >Read sequence (reverse-complemented if orientation is <code
+      >-</code
+      >).</p
+    ><p
+    >If the read was in colorspace, then the sequence shown in this column is the sequence of <em
+      >decoded nucleotides</em
+      >, not the original colors. See the <a href="#colorspace-alignment"
+      >Colorspace alignment</a
+      > section for details about decoding. To display colors instead, use the <a href="#bowtie-options-col-cseq"
+      ><code
+       >--col-cseq</code
+       ></a
+      > option.</p
+    ></li
+  ><li
+  ><p
+    >ASCII-encoded read qualities (reversed if orientation is <code
+      >-</code
+      >). The encoded quality values are on the Phred scale and the encoding is ASCII-offset by 33 (ASCII char <code
+      >!</code
+      >).</p
+    ><p
+    >If the read was in colorspace, then the qualities shown in this column are the <em
+      >decoded qualities</em
+      >, not the original qualities. See the <a href="#colorspace-alignment"
+      >Colorspace alignment</a
+      > section for details about decoding. To display colors instead, use the <a href="#bowtie-options-col-cqual"
+      ><code
+       >--col-cqual</code
+       ></a
+      > option.</p
+    ></li
+  ><li
+  ><p
+    >If <a href="#bowtie-options-M"
+      ><code
+       >-M</code
+       ></a
+      > was specified and the prescribed ceiling was exceeded for this read, this column contains the value of the ceiling, indicating that at least that many valid alignments were found in addition to the one reported.</p
+    ><p
+    >Otherwise, this column contains the number of other instances where the same sequence aligned against the same reference characters as were aligned against in the reported alignment. This is <em
+      >not</em
+      > the number of other places the read aligns with the same number of mismatches. The number in this column is generally not a good proxy for that number (e.g., the number in this column may be '0' while the number of other alignments with the same number of mismatches might be large).</p
+    ></li
+  ><li
+  ><p
+    >Comma-separated list of mismatch descriptors. If there are no mismatches in the alignment, this field is empty. A single descriptor has the format offset:reference-base&gt;read-base. The offset is expressed as a 0-based offset from the high-quality (5') end of the read.</p
+    ></li
+  ></ol
+><h2 id="sam-bowtie-output"
+><a href="#TOC"
+  >SAM <code
+    >bowtie</code
+    > output</a
+  ></h2
+><p
+>Following is a brief description of the <a href="http://samtools.sourceforge.net/SAM1.pdf"
+  >SAM</a
+  > format as output by <code
+  >bowtie</code
+  > when the <a href="#bowtie-options-S"
+  ><code
+    >-S</code
+    >/<code
+    >--sam</code
+    ></a
+  > option is specified. For more details, see the <a href="http://samtools.sourceforge.net/SAM1.pdf"
+  >SAM format specification</a
+  >.</p
+><p
+>When <a href="#bowtie-options-S"
+  ><code
+    >-S</code
+    >/<code
+    >--sam</code
+    ></a
+  > is specified, <code
+  >bowtie</code
+  > prints a SAM header with <code
+  >@HD</code
+  >, <code
+  >@SQ</code
+  > and <code
+  >@PG</code
+  > lines. When one or more <a href="#bowtie-options-sam-RG"
+  ><code
+    >--sam-RG</code
+    ></a
+  > arguments are specified, <code
+  >bowtie</code
+  > will also print an <code
+  >@RG</code
+  > line that includes all user-specified <a href="#bowtie-options-sam-RG"
+  ><code
+    >--sam-RG</code
+    ></a
+  > tokens separated by tabs.</p
+><p
+>Each subsequnt line corresponds to a read or an alignment. Each line is a collection of at least 12 fields separated by tabs; from left to right, the fields are:</p
+><ol style="list-style-type: decimal;"
+><li
+  ><p
+    >Name of read that aligned</p
+    ></li
+  ><li
+  ><p
+    >Sum of all applicable flags. Flags relevant to Bowtie are:</p
+    ><table><tr><td>
+<pre
+    ><code
+      >1
+</code
+      ></pre
+    ></td><td>
+<p
+    >The read is one of a pair</p
+    ></td></tr><tr><td>
+<pre
+    ><code
+      >2
+</code
+      ></pre
+    ></td><td>
+<p
+    >The alignment is one end of a proper paired-end alignment</p
+    ></td></tr><tr><td>
+<pre
+    ><code
+      >4
+</code
+      ></pre
+    ></td><td>
+<p
+    >The read has no reported alignments</p
+    ></td></tr><tr><td>
+<pre
+    ><code
+      >8
+</code
+      ></pre
+    ></td><td>
+<p
+    >The read is one of a pair and has no reported alignments</p
+    ></td></tr><tr><td>
+<pre
+    ><code
+      >16
+</code
+      ></pre
+    ></td><td>
+<p
+    >The alignment is to the reverse reference strand</p
+    ></td></tr><tr><td>
+<pre
+    ><code
+      >32
+</code
+      ></pre
+    ></td><td>
+<p
+    >The other mate in the paired-end alignment is aligned to the reverse reference strand</p
+    ></td></tr><tr><td>
+<pre
+    ><code
+      >64
+</code
+      ></pre
+    ></td><td>
+<p
+    >The read is the first (#1) mate in a pair</p
+    ></td></tr><tr><td>
+<pre
+    ><code
+      >128
+</code
+      ></pre
+    ></td><td>
+<p
+    >The read is the second (#2) mate in a pair</p
+    ></td></tr></table>
+<p
+    >Thus, an unpaired read that aligns to the reverse reference strand will have flag 16. A paired-end read that aligns and is the first mate in the pair will have flag 83 (= 64 + 16 + 2 + 1).</p
+    ></li
+  ><li
+  ><p
+    >Name of reference sequence where alignment occurs, or ordinal ID if no name was provided</p
+    ></li
+  ><li
+  ><p
+    >1-based offset into the forward reference strand where leftmost character of the alignment occurs</p
+    ></li
+  ><li
+  ><p
+    >Mapping quality</p
+    ></li
+  ><li
+  ><p
+    >CIGAR string representation of alignment</p
+    ></li
+  ><li
+  ><p
+    >Name of reference sequence where mate's alignment occurs. Set to <code
+      >=</code
+      > if the mate's reference sequence is the same as this alignment's, or <code
+      >*</code
+      > if there is no mate.</p
+    ></li
+  ><li
+  ><p
+    >1-based offset into the forward reference strand where leftmost character of the mate's alignment occurs. Offset is 0 if there is no mate.</p
+    ></li
+  ><li
+  ><p
+    >Inferred insert size. Size is negative if the mate's alignment occurs upstream of this alignment. Size is 0 if there is no mate.</p
+    ></li
+  ><li
+  ><p
+    >Read sequence (reverse-complemented if aligned to the reverse strand)</p
+    ></li
+  ><li
+  ><p
+    >ASCII-encoded read qualities (reverse-complemented if the read aligned to the reverse strand). The encoded quality values are on the <a href="http://en.wikipedia.org/wiki/FASTQ_format#Variations"
+      >Phred quality</a
+      > scale and the encoding is ASCII-offset by 33 (ASCII char <code
+      >!</code
+      >), similarly to a <a href="http://en.wikipedia.org/wiki/FASTQ_format"
+      >FASTQ</a
+      > file.</p
+    ></li
+  ><li
+  ><p
+    >Optional fields. Fields are tab-separated. For descriptions of all possible optional fields, see the SAM format specification. <code
+      >bowtie</code
+      > outputs some of these optional fields for each alignment, depending on the type of the alignment:</p
+    ><table><tr><td>
+<pre
+    ><code
+      >NM:i:&lt;N&gt;
+</code
+      ></pre
+    ></td><td>
+<p
+    >Aligned read has an edit distance of <code
+      >&lt;N&gt;</code
+      >.</p
+    ></td></tr><tr><td>
+<pre
+    ><code
+      >CM:i:&lt;N&gt;
+</code
+      ></pre
+    ></td><td>
+<p
+    >Aligned read has an edit distance of <code
+      >&lt;N&gt;</code
+      > in colorspace. This field is present in addition to the <code
+      >NM</code
+      > field in <a href="#bowtie-options-C"
+      ><code
+       >-C</code
+       >/<code
+       >--color</code
+       ></a
+      > mode, but is omitted otherwise.</p
+    ></td></tr><tr><td>
+<pre
+    ><code
+      >MD:Z:&lt;S&gt;
+</code
+      ></pre
+    ></td><td>
+<p
+    >For aligned reads, <code
+      >&lt;S&gt;</code
+      > is a string representation of the mismatched reference bases in the alignment. See <a href="http://samtools.sourceforge.net/SAM1.pdf"
+      >SAM</a
+      > format specification for details. For colorspace alignments, <code
+      >&lt;S&gt;</code
+      > describes the decoded <em
+      >nucleotide</em
+      > alignment, not the colorspace alignment.</p
+    ></td></tr><tr><td>
+<pre
+    ><code
+      >XA:i:&lt;N&gt;
+</code
+      ></pre
+    ></td><td>
+<p
+    >Aligned read belongs to stratum <code
+      >&lt;N&gt;</code
+      >. See <a href="#strata"
+      >Strata</a
+      > for definition.</p
+    ></td></tr><tr><td>
+<pre
+    ><code
+      >XM:i:&lt;N&gt;
+</code
+      ></pre
+    ></td><td>
+<p
+    >For a read with no reported alignments, <code
+      >&lt;N&gt;</code
+      > is 0 if the read had no alignments. If <a href="#bowtie-options-m"
+      ><code
+       >-m</code
+       ></a
+      > was specified and the read's alignments were supressed because the <a href="#bowtie-options-m"
+      ><code
+       >-m</code
+       ></a
+      > ceiling was exceeded, <code
+      >&lt;N&gt;</code
+      > equals the <a href="#bowtie-options-m"
+      ><code
+       >-m</code
+       ></a
+      > ceiling + 1, to indicate that there were at least that many valid alignments (but all were suppressed). In <a href="#bowtie-options-M"
+      ><code
+       >-M</code
+       ></a
+      > mode, if the alignment was randomly selected because the <a href="#bowtie-options-M"
+      ><code
+       >-M</code
+       ></a
+      > ceiling was exceeded, <code
+      >&lt;N&gt;</code
+      > equals the <a href="#bowtie-options-M"
+      ><code
+       >-M</code
+       ></a
+      > ceiling + 1, to indicate that there were at least that many valid alignments (of which one was reported at random).</p
+    ></td></tr></table>
+
+
+
+
+
+</li
+  ></ol
+><h1 id="the-bowtie-build-indexer"
+><a href="#TOC"
+  >The <code
+    >bowtie-build</code
+    > indexer</a
+  ></h1
+><p
+><code
+  >bowtie-build</code
+  > builds a Bowtie index from a set of DNA sequences. <code
+  >bowtie-build</code
+  > outputs a set of 6 files with suffixes <code
+  >.1.ebwt</code
+  >, <code
+  >.2.ebwt</code
+  >, <code
+  >.3.ebwt</code
+  >, <code
+  >.4.ebwt</code
+  >, <code
+  >.rev.1.ebwt</code
+  >, and <code
+  >.rev.2.ebwt</code
+  >. These files together constitute the index: they are all that is needed to align reads to that reference. The original sequence files are no longer used by Bowtie once the index is built.</p
+><p
+>Use of Karkkainen's [blockwise algorithm] allows <code
+  >bowtie-build</code
+  > to trade off between running time and memory usage. <code
+  >bowtie-build</code
+  > has three options governing how it makes this trade: <a href="#bowtie-build-options-p"
+  ><code
+    >-p</code
+    >/<code
+    >--packed</code
+    ></a
+  >, <a href="#bowtie-build-options-bmax"
+  ><code
+    >--bmax</code
+    ></a
+  >/<a href="#bowtie-build-options-bmaxdivn"
+  ><code
+    >--bmaxdivn</code
+    ></a
+  >, and <a href="#bowtie-build-options-dcv"
+  ><code
+    >--dcv</code
+    ></a
+  >. By default, <code
+  >bowtie-build</code
+  > will automatically search for the settings that yield the best running time without exhausting memory. This behavior can be disabled using the <a href="#bowtie-build-options-a"
+  ><code
+    >-a</code
+    >/<code
+    >--noauto</code
+    ></a
+  > option.</p
+><p
+>The indexer provides options pertaining to the &quot;shape&quot; of the index, e.g. <a href="#bowtie-build-options-o"
+  ><code
+    >--offrate</code
+    ></a
+  > governs the fraction of <a href="http://en.wikipedia.org/wiki/Burrows-Wheeler_transform"
+  >Burrows-Wheeler</a
+  > rows that are &quot;marked&quot; (i.e., the density of the suffix-array sample; see the original <a href="http://portal.acm.org/citation.cfm?id=796543"
+  >FM Index</a
+  > paper for details). All of these options are potentially profitable trade-offs depending on the application. They have been set to defaults that are reasonable for most cases according to our experiments. See [Performance Tuning] for details.</p
+><p
+>Because <code
+  >bowtie-build</code
+  > uses 32-bit pointers internally, it can handle up to a theoretical maximum of 2^32-1 (somewhat more than 4 billion) characters in an index, though, with other constraints, the actual ceiling is somewhat less than that. If your reference exceeds 2^32-1 characters, <code
+  >bowtie-build</code
+  > will print an error message and abort. To resolve this, divide your reference sequences into smaller batches and/or chunks and build a separate index for each.</p
+><p
+>If your computer has more than 3-4 GB of memory and you would like to exploit that fact to make index building faster, use a 64-bit version of the <code
+  >bowtie-build</code
+  > binary. The 32-bit version of the binary is restricted to using less than 4 GB of memory. If a 64-bit pre-built binary does not yet exist for your platform on the sourceforge download site, you will need to build one from source.</p
+><p
+>The Bowtie index is based on the <a href="http://portal.acm.org/citation.cfm?id=796543"
+  >FM Index</a
+  > of Ferragina and Manzini, which in turn is based on the <a href="http://en.wikipedia.org/wiki/Burrows-Wheeler_transform"
+  >Burrows-Wheeler</a
+  > transform. The algorithm used to build the index is based on the [blockwise algorithm] of Karkkainen.</p
+><h2 id="command-line-1"
+><a href="#TOC"
+  >Command Line</a
+  ></h2
+><p
+>Usage:</p
+><pre
+><code
+  >bowtie-build [options]* &lt;reference_in&gt; &lt;ebwt_base&gt;
+</code
+  ></pre
+><h3 id="main-arguments-1"
+><a href="#TOC"
+  >Main arguments</a
+  ></h3
+><table><tr><td>
+<pre
+><code
+  >&lt;reference_in&gt;
+</code
+  ></pre
+></td><td>
+<p
+>A comma-separated list of FASTA files containing the reference sequences to be aligned to, or, if <a href="#bowtie-build-options-c"
+  ><code
+    >-c</code
+    ></a
+  > is specified, the sequences themselves. E.g., <code
+  >&lt;reference_in&gt;</code
+  > might be <code
+  >chr1.fa,chr2.fa,chrX.fa,chrY.fa</code
+  >, or, if <a href="#bowtie-build-options-c"
+  ><code
+    >-c</code
+    ></a
+  > is specified, this might be <code
+  >GGTCATCCT,ACGGGTCGT,CCGTTCTATGCGGCTTA</code
+  >.</p
+></td></tr><tr><td>
+<pre
+><code
+  >&lt;ebwt_base&gt;
+</code
+  ></pre
+></td><td>
+<p
+>The basename of the index files to write. By default, <code
+  >bowtie-build</code
+  > writes files named <code
+  >NAME.1.ebwt</code
+  >, <code
+  >NAME.2.ebwt</code
+  >, <code
+  >NAME.3.ebwt</code
+  >, <code
+  >NAME.4.ebwt</code
+  >, <code
+  >NAME.rev.1.ebwt</code
+  >, and <code
+  >NAME.rev.2.ebwt</code
+  >, where <code
+  >NAME</code
+  > is <code
+  >&lt;ebwt_base&gt;</code
+  >.</p
+></td></tr></table>
+<h3 id="options-1"
+><a href="#TOC"
+  >Options</a
+  ></h3
+><table><tr><td>
+<pre
+><code
+  >-f
+</code
+  ></pre
+></td><td>
+<p
+>The reference input files (specified as <code
+  >&lt;reference_in&gt;</code
+  >) are FASTA files (usually having extension <code
+  >.fa</code
+  >, <code
+  >.mfa</code
+  >, <code
+  >.fna</code
+  > or similar).</p
+></td></tr><tr><td id="bowtie-build-options-c">
+<pre
+><code
+  >-c
+</code
+  ></pre
+></td><td>
+<p
+>The reference sequences are given on the command line. I.e. <code
+  >&lt;reference_in&gt;</code
+  > is a comma-separated list of sequences rather than a list of FASTA files.</p
+></td></tr><tr><td id="bowtie-build-options-C">
+<pre
+><code
+  >-C/--color
+</code
+  ></pre
+></td><td>
+<p
+>Build a colorspace index, to be queried using <code
+  >bowtie</code
+  > <a href="#bowtie-options-C"
+  ><code
+    >-C</code
+    ></a
+  >.</p
+></td></tr><tr><td id="bowtie-build-options-a">
+
+
+<pre
+><code
+  >-a/--noauto
+</code
+  ></pre
+></td><td>
+<p
+>Disable the default behavior whereby <code
+  >bowtie-build</code
+  > automatically selects values for the <a href="#bowtie-build-options-bmax"
+  ><code
+    >--bmax</code
+    ></a
+  >, <a href="#bowtie-build-options-dcv"
+  ><code
+    >--dcv</code
+    ></a
+  > and <a href="#bowtie-build-options-p"
+  ><code
+    >--packed</code
+    ></a
+  > parameters according to available memory. Instead, user may specify values for those parameters. If memory is exhausted during indexing, an error message will be printed; it is up to the user to try new parameters.</p
+></td></tr><tr><td id="bowtie-build-options-p">
+
+
+
+<pre
+><code
+  >-p/--packed
+</code
+  ></pre
+></td><td>
+<p
+>Use a packed (2-bits-per-nucleotide) representation for DNA strings. This saves memory but makes indexing 2-3 times slower. Default: off. This is configured automatically by default; use <a href="#bowtie-build-options-a"
+  ><code
+    >-a</code
+    >/<code
+    >--noauto</code
+    ></a
+  > to configure manually.</p
+></td></tr><tr><td id="bowtie-build-options-bmax">
+
+
+<pre
+><code
+  >--bmax &lt;int&gt;
+</code
+  ></pre
+></td><td>
+<p
+>The maximum number of suffixes allowed in a block. Allowing more suffixes per block makes indexing faster, but increases peak memory usage. Setting this option overrides any previous setting for <a href="#bowtie-build-options-bmax"
+  ><code
+    >--bmax</code
+    ></a
+  >, or <a href="#bowtie-build-options-bmaxdivn"
+  ><code
+    >--bmaxdivn</code
+    ></a
+  >. Default (in terms of the <a href="#bowtie-build-options-bmaxdivn"
+  ><code
+    >--bmaxdivn</code
+    ></a
+  > parameter) is <a href="#bowtie-build-options-bmaxdivn"
+  ><code
+    >--bmaxdivn</code
+    ></a
+  > 4. This is configured automatically by default; use <a href="#bowtie-build-options-a"
+  ><code
+    >-a</code
+    >/<code
+    >--noauto</code
+    ></a
+  > to configure manually.</p
+></td></tr><tr><td id="bowtie-build-options-bmaxdivn">
+
+
+<pre
+><code
+  >--bmaxdivn &lt;int&gt;
+</code
+  ></pre
+></td><td>
+<p
+>The maximum number of suffixes allowed in a block, expressed as a fraction of the length of the reference. Setting this option overrides any previous setting for <a href="#bowtie-build-options-bmax"
+  ><code
+    >--bmax</code
+    ></a
+  >, or <a href="#bowtie-build-options-bmaxdivn"
+  ><code
+    >--bmaxdivn</code
+    ></a
+  >. Default: <a href="#bowtie-build-options-bmaxdivn"
+  ><code
+    >--bmaxdivn</code
+    ></a
+  > 4. This is configured automatically by default; use <a href="#bowtie-build-options-a"
+  ><code
+    >-a</code
+    >/<code
+    >--noauto</code
+    ></a
+  > to configure manually.</p
+></td></tr><tr><td id="bowtie-build-options-dcv">
+
+
+<pre
+><code
+  >--dcv &lt;int&gt;
+</code
+  ></pre
+></td><td>
+<p
+>Use <code
+  >&lt;int&gt;</code
+  > as the period for the difference-cover sample. A larger period yields less memory overhead, but may make suffix sorting slower, especially if repeats are present. Must be a power of 2 no greater than 4096. Default: 1024. This is configured automatically by default; use <a href="#bowtie-build-options-a"
+  ><code
+    >-a</code
+    >/<code
+    >--noauto</code
+    ></a
+  > to configure manually.</p
+></td></tr><tr><td id="bowtie-build-options-nodc">
+
+
+<pre
+><code
+  >--nodc
+</code
+  ></pre
+></td><td>
+<p
+>Disable use of the difference-cover sample. Suffix sorting becomes quadratic-time in the worst case (where the worst case is an extremely repetitive reference). Default: off.</p
+></td></tr><tr><td>
+<pre
+><code
+  >-r/--noref
+</code
+  ></pre
+></td><td>
+<p
+>Do not build the <code
+  >NAME.3.ebwt</code
+  > and <code
+  >NAME.4.ebwt</code
+  > portions of the index, which contain a bitpacked version of the reference sequences and are used for paired-end alignment.</p
+></td></tr><tr><td>
+<pre
+><code
+  >-3/--justref
+</code
+  ></pre
+></td><td>
+<p
+>Build <em
+  >only</em
+  > the <code
+  >NAME.3.ebwt</code
+  > and <code
+  >NAME.4.ebwt</code
+  > portions of the index, which contain a bitpacked version of the reference sequences and are used for paired-end alignment.</p
+></td></tr><tr><td id="bowtie-build-options-o">
+<pre
+><code
+  >-o/--offrate &lt;int&gt;
+</code
+  ></pre
+></td><td>
+<p
+>To map alignments back to positions on the reference sequences, it's necessary to annotate (&quot;mark&quot;) some or all of the <a href="http://en.wikipedia.org/wiki/Burrows-Wheeler_transform"
+  >Burrows-Wheeler</a
+  > rows with their corresponding location on the genome. <a href="#bowtie-build-options-o"
+  ><code
+    >-o</code
+    >/<code
+    >--offrate</code
+    ></a
+  > governs how many rows get marked: the indexer will mark every 2^<code
+  >&lt;int&gt;</code
+  > rows. Marking more rows makes reference-position lookups faster, but requires more memory to hold the annotations at runtime. The default is 5 (every 32nd row is marked; for human genome, annotations occupy about 340 megabytes).</p
+></td></tr><tr><td>
+<pre
+><code
+  >-t/--ftabchars &lt;int&gt;
+</code
+  ></pre
+></td><td>
+<p
+>The ftab is the lookup table used to calculate an initial <a href="http://en.wikipedia.org/wiki/Burrows-Wheeler_transform"
+  >Burrows-Wheeler</a
+  > range with respect to the first <code
+  >&lt;int&gt;</code
+  > characters of the query. A larger <code
+  >&lt;int&gt;</code
+  > yields a larger lookup table but faster query times. The ftab has size 4^(<code
+  >&lt;int&gt;</code
+  >+1) bytes. The default setting is 10 (ftab is 4MB).</p
+></td></tr><tr><td id="bowtie-build-options-ntoa">
+<pre
+><code
+  >--ntoa
+</code
+  ></pre
+></td><td>
+<p
+>Convert Ns in the reference sequence to As before building the index. By default, Ns are simply excluded from the index and <code
+  >bowtie</code
+  > will not report alignments that overlap them.</p
+></td></tr><tr><td id="bowtie-build-options-big-little">
+<pre
+><code
+  >--big --little
+</code
+  ></pre
+></td><td>
+<p
+>Endianness to use when serializing integers to the index file. Default: little-endian (recommended for Intel- and AMD-based architectures).</p
+></td></tr><tr><td id="bowtie-build-options-seed">
+<pre
+><code
+  >--seed &lt;int&gt;
+</code
+  ></pre
+></td><td>
+<p
+>Use <code
+  >&lt;int&gt;</code
+  > as the seed for pseudo-random number generator.</p
+></td></tr><tr><td>
+<pre
+><code
+  >--cutoff &lt;int&gt;
+</code
+  ></pre
+></td><td>
+<p
+>Index only the first <code
+  >&lt;int&gt;</code
+  > bases of the reference sequences (cumulative across sequences) and ignore the rest.</p
+></td></tr><tr><td>
+<pre
+><code
+  >-q/--quiet
+</code
+  ></pre
+></td><td>
+<p
+><code
+  >bowtie-build</code
+  > is verbose by default. With this option <code
+  >bowtie-build</code
+  > will print only error messages.</p
+></td></tr><tr><td>
+<pre
+><code
+  >-h/--help
+</code
+  ></pre
+></td><td>
+<p
+>Print usage information and quit.</p
+></td></tr><tr><td>
+<pre
+><code
+  >--version
+</code
+  ></pre
+></td><td>
+<p
+>Print version information and quit.</p
+></td></tr></table>
+<h1 id="the-bowtie-inspect-index-inspector"
+><a href="#TOC"
+  >The <code
+    >bowtie-inspect</code
+    > index inspector</a
+  ></h1
+><p
+><code
+  >bowtie-inspect</code
+  > extracts information from a Bowtie index about what kind of index it is and what reference sequences were used to build it. When run without any options, the tool will output a FASTA file containing the sequences of the original references (with all non-<code
+  >A</code
+  >/<code
+  >C</code
+  >/<code
+  >G</code
+  >/<code
+  >T</code
+  > characters converted to <code
+  >N</code
+  >s). It can also be used to extract just the reference sequence names using the <a href="#bowtie-build-options-n"
+  ><code
+    >-n</code
+    >/<code
+    >--names</code
+    ></a
+  > option or a more verbose summary using the <a href="#bowtie-inspect-options-s"
+  ><code
+    >-s</code
+    >/<code
+    >--summary</code
+    ></a
+  > option.</p
+><h2 id="command-line-2"
+><a href="#TOC"
+  >Command Line</a
+  ></h2
+><p
+>Usage:</p
+><pre
+><code
+  >bowtie-inspect [options]* &lt;ebwt_base&gt;
+</code
+  ></pre
+><h3 id="main-arguments-2"
+><a href="#TOC"
+  >Main arguments</a
+  ></h3
+><table><tr><td>
+<pre
+><code
+  >&lt;ebwt_base&gt;
+</code
+  ></pre
+></td><td>
+<p
+>The basename of the index to be inspected. The basename is name of any of the index files but with the <code
+  >.X.ebwt</code
+  > or <code
+  >.rev.X.ebwt</code
+  > suffix omitted. <code
+  >bowtie-inspect</code
+  > first looks in the current directory for the index files, then looks in the <code
+  >indexes</code
+  > subdirectory under the directory where the currently-running <code
+  >bowtie</code
+  > executable is located, then looks in the directory specified in the <code
+  >BOWTIE_INDEXES</code
+  > environment variable.</p
+></td></tr></table>
+<h3 id="options-2"
+><a href="#TOC"
+  >Options</a
+  ></h3
+><table><tr><td>
+<pre
+><code
+  >-a/--across &lt;int&gt;
+</code
+  ></pre
+></td><td>
+<p
+>When printing FASTA output, output a newline character every <code
+  >&lt;int&gt;</code
+  > bases (default: 60).</p
+></td></tr><tr><td id="bowtie-build-options-n">
+
+
+<pre
+><code
+  >-n/--names
+</code
+  ></pre
+></td><td>
+<p
+>Print reference sequence names, one per line, and quit.</p
+></td></tr><tr><td id="bowtie-inspect-options-s">
+
+
+<pre
+><code
+  >-s/--summary
+</code
+  ></pre
+></td><td>
+<p
+>Print a summary that includes information about index settings, as well as the names and lengths of the input sequences. The summary has this format:</p
+><pre
+><code
+  >Colorspace  &lt;0 or 1&gt;
+SA-Sample   1 in &lt;sample&gt;
+FTab-Chars  &lt;chars&gt;
+Sequence-1  &lt;name&gt;  &lt;len&gt;
+Sequence-2  &lt;name&gt;  &lt;len&gt;
+...
+Sequence-N  &lt;name&gt;  &lt;len&gt;
+</code
+  ></pre
+><p
+>Fields are separated by tabs.</p
+></td></tr><tr><td id="bowtie-inspect-options-e">
+
+
+<pre
+><code
+  >-e/--ebwt-ref
+</code
+  ></pre
+></td><td>
+<p
+>By default, when <code
+  >bowtie-inspect</code
+  > is run without <a href="#bowtie-options-s"
+  ><code
+    >-s</code
+    ></a
+  > or <a href="#bowtie-options-n"
+  ><code
+    >-n</code
+    ></a
+  >, it recreates the reference nucleotide sequences using the bit-encoded reference nucleotides kept in the <code
+  >.3.ebwt</code
+  > and <code
+  >.4.ebwt</code
+  > index files. When <code
+  >-e/--ebwt-ref</code
+  > is specified, <code
+  >bowtie-inspect</code
+  > recreates the reference sequences from the Burrows-Wheeler-transformed reference sequence in the <code
+  >.1.ebwt</code
+  > file instead. The reference recreation process is much slower when <code
+  >-e/--ebwt-ref</code
+  > is specified. Also, when <code
+  >-e/--ebwt-ref</code
+  > is specified and the index is in colorspace, the reference is printed in colors (A=blue, C=green, G=orange, T=red).</p
+></td></tr><tr><td>
+<pre
+><code
+  >-v/--verbose
+</code
+  ></pre
+></td><td>
+<p
+>Print verbose output (for debugging).</p
+></td></tr><tr><td>
+<pre
+><code
+  >--version
+</code
+  ></pre
+></td><td>
+<p
+>Print version information and quit.</p
+></td></tr><tr><td>
+<pre
+><code
+  >-h/--help
+</code
+  ></pre
+></td><td>
+<p
+>Print usage information and quit.</p
+></td></tr></table>
+
+
+</body>
+</html>
diff --git a/doc/strip_markdown.pl b/doc/strip_markdown.pl
new file mode 100644 (file)
index 0000000..c0c86b4
--- /dev/null
@@ -0,0 +1,39 @@
+#!/usr/bin/perl -w
+
+# Used to convert MANUAL.markdown to MANUAL.
+
+use strict;
+use warnings;
+
+my $lastBlank = 0;
+
+while(<>) {
+       # Skip comments
+       next if /^\s*<!--/;
+       next if /^\s*!/;
+       next if /^\s*-->/;
+       # Skip internal links
+       next if /\[.*\]: #/;
+       # Skip HTML
+       next if /^\s?\s?\s?<.*>\s*$/;
+       # Skip HTML
+       next if /^\s*<table/;
+       next if /^\s*<\/td/;
+       # Strip [`...`]
+       s/\[`/`/g;
+       s/`\]/`/g;
+       # Strip [#...]
+       s/\[#[^\]]*\]//g;
+       # Strip (#...)
+       s/\(#[^\)]*\)//g;
+       # Turn hashes into spaces
+       s/^####/   /;
+       s/^###/ /;
+       if(/^\s*$/) {
+               next if $lastBlank;
+               $lastBlank = 1;
+       } else {
+               $lastBlank = 0;
+       }
+       print $_;
+}
diff --git a/doc/style.css b/doc/style.css
new file mode 100644 (file)
index 0000000..4dd6f0b
--- /dev/null
@@ -0,0 +1,140 @@
+/* 
+Stylesheet for the free sNews15_1 template
+from http://www.free-css-templates.com
+*/
+
+/* Reset all margins and paddings for browsers */
+* { 
+       padding: 0;
+       margin: 0;
+}
+
+body { 
+       font: .8em Verdana, Arial, Sans-Serif; 
+       line-height: 1.6em; 
+       margin: 0;
+       /* background-image: url(../images/bg.jpg); */
+       /* background-repeat: repeat */
+}
+
+#wrap {        margin: 0 auto; width: 95% }
+
+/* TOP HEADER -------- */
+#top {
+       margin: 0 auto;
+       padding: 0;
+       color: #666;
+       background: #FFF url(../images/cbcbstrip.jpg) repeat-x top;
+       height: 81px;
+}
+#top h1 { padding: 10px 0 0 25px; color: #FFF; font-size: 240%; background: transparent;}
+#top h2 { padding: 0px 0 0 25px; color: #bbb; font-size: 100%; background: transparent;}
+#top .padding { padding-top: 5px; }
+
+/* SEARCH BOX AND BUTTON ----------*/
+#search { float: right;  padding: 10px 25px 0 0;  }
+
+#subheader { 
+       clear: both; 
+       border-top: 1px dotted #888;    
+       border-bottom: 1px dotted #888;
+       background: #eaeaea;
+       color: #505050;
+       padding: 1em;
+       margin: 15px 0px 10px 0px;
+       
+}
+#subheader a { text-decoration: none; /* border-bottom: 1px dashed #0066B3; */ } 
+
+
+#main { background: #FFF; margin: 25px 0 15px 0; color: #666; }
+
+#main #rightside {
+       width: 300px;
+       float: right;
+       background: #FFF;
+       margin-right: 0px;
+       color: #555;
+       
+} 
+
+#main #rightside .box {
+       background: #efefef;
+       margin-bottom: 10px;
+       padding: 5px;
+       color: #555;
+}
+
+#main #rightside h2 {
+       font: bold 1.0em Arial, Arial, Sans-Serif; 
+       height: 18px;
+       padding: 3px;
+       color: #666;
+}
+
+/* LEFT SIDE - ARTICLES AREA -------- */
+#leftside {
+       padding-left: 8px;
+       color: #555;
+       background: #FFF;
+       margin-right: 305px;
+       margin-left: 0px;
+       
+}
+#leftside h1 { padding: 15px 0 10px 0 }
+#leftside h2 { padding: 15px 0 10px 0; color: #555; text-indent: 17px }
+/* #leftside h3 { font-size: 100%; margin-left: 15px; text-indent: 17px; background: #FFF url(../images/head.gif) no-repeat left; } */
+#leftside h3 { padding: 15px 0 10px 0; font-size: 100%; margin-left: 5px; text-indent: 17px; background: #FFF url(../images/head.gif) no-repeat left; }
+#leftside ul { margin-left: 24px; padding-left 24px; list-style-type: circle }
+#leftside li { }
+#leftside p { padding: 0px 0 10px 0 }
+
+#footer {
+       clear: both;
+       background: #FFF url(../images/footer.jpg) repeat-x;
+       height: 46px;
+       margin-left: 0px;
+       margin-right: 0px;
+       font-size: 75%;
+       color: #666;
+}
+#footer p  { padding: 5px }
+#footer .rside { float: right; display: inline; padding: 5px; text-align: right}
+
+#toc {
+       margin: 15px 15px 15px 10px;
+}
+#toc ol { list-style: roman }
+#toc ul { padding: 0 0 0 20px }
+
+a   { color: #0066B3; background: inherit; text-decoration: none }
+h1  { margin: 0 15px 10px 15px; padding: 10px 0 10px 0; font: bold 1.9em Arial, Arial, Sans-Serif }
+h2  { margin: 0 15px 10px 15px; padding: 10px 0 10px 0; font: bold 1.2em Arial, Arial, Sans-Serif }
+h3  { margin: 0 15px 10px 20px; padding: 10px 0 10px 0; font: 1.2em Arial, Arial, Sans-Serif }
+h4  { margin: 0 15px 10px 25px; padding: 10px 0 10px 0; font: 1.1em Arial, Arial, Sans-Serif }
+p   { margin: 0 15px 10px 15px; color: #444 }
+table { margin-top: 15px }
+ul  { margin: 0 15px 10px 15px; padding: 0; margin: 0; list-style-type: none }
+pre { margin: 0 15px 15px 25px }
+li  { margin: 0 15px 1px 15px; color: #444 }
+ol  { margin-left: 24px;
+      padding-left 24px;
+      list-style: decimal }
+td  { vertical-align: top; }
+blockquote { margin-left: 35px; font-family: "Courier New", Courier; }
+tt { font: .8em; font-family: "Courier New", Courier; }
+code { font: .8em; font-family: "Courier New", Courier; }
+.date { border-top: 1px solid #e5e5e5; text-align: right; margin-bottom: 25px; margin-top: 5px;}
+#main #leftside .date a, #main #rightside a { border: 0; text-decoration: none; }
+
+.comment .date { text-align: left; border: 0;} 
+
+#leftside #txt {width: 100%; height: 10em; padding: 3px 3px 3px 6px; margin-left:0em;}
+#leftside textarea { border: 1px solid #bbb; width: 100%;  }
+
+
+/* SNEWS */
+#main #leftside fieldset { float: left; width: 100%; border: 1px solid #ccc; padding: 10px 8px; margin: 0 10px 8px 0; background: #FFF; color: #000; }
+#main #leftside fieldset p { width: 100%; }
+#main input { padding: 3px; margin: 0; border: 1px solid #bbb }
+
diff --git a/ebwt.cpp b/ebwt.cpp
new file mode 100644 (file)
index 0000000..705c41f
--- /dev/null
+++ b/ebwt.cpp
@@ -0,0 +1,66 @@
+/*
+ * ebwt.cpp
+ *
+ *  Created on: Sep 23, 2009
+ *      Author: Ben Langmead
+ */
+
+#include <string>
+#include <stdexcept>
+#include <iostream>
+#include <fstream>
+#include <stdlib.h>
+
+using namespace std;
+
+/**
+ * Try to find the Bowtie index specified by the user.  First try the
+ * exact path given by the user.  Then try the user-provided string
+ * appended onto the path of the "indexes" subdirectory below this
+ * executable, then try the provided string appended onto
+ * "$BOWTIE_INDEXES/".
+ */
+string adjustEbwtBase(const string& cmdline,
+                                         const string& ebwtFileBase,
+                                         bool verbose = false)
+{
+       string str = ebwtFileBase;
+       ifstream in;
+       if(verbose) cout << "Trying " << str << endl;
+       in.open((str + ".1.ebwt").c_str(), ios_base::in | ios::binary);
+       if(!in.is_open()) {
+               if(verbose) cout << "  didn't work" << endl;
+               in.close();
+               str = cmdline;
+               size_t st = str.find_last_of("/\\");
+               if(st != string::npos) {
+                       str.erase(st);
+                       str += "/indexes/";
+               } else {
+                       str = "indexes/";
+               }
+               str += ebwtFileBase;
+               if(verbose) cout << "Trying " << str << endl;
+               in.open((str + ".1.ebwt").c_str(), ios_base::in | ios::binary);
+               if(!in.is_open()) {
+                       if(verbose) cout << "  didn't work" << endl;
+                       in.close();
+                       if(getenv("BOWTIE_INDEXES") != NULL) {
+                               str = string(getenv("BOWTIE_INDEXES")) + "/" + ebwtFileBase;
+                               if(verbose) cout << "Trying " << str << endl;
+                               in.open((str + ".1.ebwt").c_str(), ios_base::in | ios::binary);
+                               if(!in.is_open()) {
+                                       if(verbose) cout << "  didn't work" << endl;
+                                       in.close();
+                               } else {
+                                       if(verbose) cout << "  worked" << endl;
+                               }
+                       }
+               }
+       }
+       if(!in.is_open()) {
+               cerr << "Could not locate a Bowtie index corresponding to basename \"" << ebwtFileBase << "\"" << endl;
+               throw 1;
+       }
+       return str;
+}
diff --git a/ebwt.h b/ebwt.h
new file mode 100644 (file)
index 0000000..22ad5ed
--- /dev/null
+++ b/ebwt.h
@@ -0,0 +1,4496 @@
+#ifndef EBWT_H_
+#define EBWT_H_
+
+#include <stdint.h>
+#include <string.h>
+#include <algorithm>
+#include <iostream>
+#include <fstream>
+#include <vector>
+#include <set>
+#include <sstream>
+#include <fcntl.h>
+#include <errno.h>
+#include <stdexcept>
+#include <seqan/sequence.h>
+#include <seqan/index.h>
+#include <sys/stat.h>
+#ifdef BOWTIE_MM
+#include <sys/mman.h>
+#include <sys/shm.h>
+#endif
+#include "auto_array.h"
+#include "shmem.h"
+#include "alphabet.h"
+#include "assert_helpers.h"
+#include "bitpack.h"
+#include "blockwise_sa.h"
+#include "endian_swap.h"
+#include "word_io.h"
+#include "random_source.h"
+#include "hit.h"
+#include "ref_read.h"
+#include "threading.h"
+#include "bitset.h"
+#include "str_util.h"
+#include "mm.h"
+#include "timer.h"
+#include "refmap.h"
+#include "color_dec.h"
+#include "reference.h"
+
+using namespace std;
+using namespace seqan;
+
+#ifndef PREFETCH_LOCALITY
+// No locality by default
+#define PREFETCH_LOCALITY 2
+#endif
+
+// From ccnt_lut.cpp, automatically generated by gen_lookup_tables.pl
+extern uint8_t cCntLUT_4[4][4][256];
+
+#ifndef VMSG_NL
+#define VMSG_NL(args...) \
+if(this->verbose()) { \
+       stringstream tmp; \
+       tmp << args << endl; \
+       this->verbose(tmp.str()); \
+}
+#endif
+
+#ifndef VMSG
+#define VMSG(args...) \
+if(this->verbose()) { \
+       stringstream tmp; \
+       tmp << args; \
+       this->verbose(tmp.str()); \
+}
+#endif
+
+/**
+ * Flags describing type of Ebwt.
+ */
+enum EBWT_FLAGS {
+       EBWT_COLOR = 2,     // true -> Ebwt is colorspace
+       EBWT_ENTIRE_REV = 4 // true -> reverse Ebwt is the whole
+                           // concatenated string reversed, rather than
+                           // each stretch reversed
+};
+
+/**
+ * Extended Burrows-Wheeler transform header.  This together with the
+ * actual data arrays and other text-specific parameters defined in
+ * class Ebwt constitute the entire Ebwt.
+ */
+class EbwtParams {
+
+public:
+       EbwtParams() { }
+
+       EbwtParams(uint32_t len,
+                  int32_t lineRate,
+                  int32_t linesPerSide,
+                  int32_t offRate,
+                  int32_t isaRate,
+                  int32_t ftabChars,
+                  bool color,
+                  bool entireReverse)
+       {
+               init(len, lineRate, linesPerSide, offRate, isaRate, ftabChars, color, entireReverse);
+       }
+
+       EbwtParams(const EbwtParams& eh) {
+               init(eh._len, eh._lineRate, eh._linesPerSide, eh._offRate,
+                    eh._isaRate, eh._ftabChars, eh._color, eh._entireReverse);
+       }
+
+       void init(uint32_t len, int32_t lineRate, int32_t linesPerSide,
+                 int32_t offRate, int32_t isaRate, int32_t ftabChars,
+                 bool color, bool entireReverse)
+       {
+               _color = color;
+               _entireReverse = entireReverse;
+               _len = len;
+               _bwtLen = _len + 1;
+               _sz = (len+3)/4;
+               _bwtSz = (len/4 + 1);
+               _lineRate = lineRate;
+               _linesPerSide = linesPerSide;
+               _origOffRate = offRate;
+               _offRate = offRate;
+               _offMask = 0xffffffff << _offRate;
+               _isaRate = isaRate;
+               _isaMask = 0xffffffff << ((_isaRate >= 0) ? _isaRate : 0);
+               _ftabChars = ftabChars;
+               _eftabLen = _ftabChars*2;
+               _eftabSz = _eftabLen*4;
+               _ftabLen = (1 << (_ftabChars*2))+1;
+               _ftabSz = _ftabLen*4;
+               _offsLen = (_bwtLen + (1 << _offRate) - 1) >> _offRate;
+               _offsSz = _offsLen*4;
+               _isaLen = (_isaRate == -1)? 0 : ((_bwtLen + (1 << _isaRate) - 1) >> _isaRate);
+               _isaSz = _isaLen*4;
+               _lineSz = 1 << _lineRate;
+               _sideSz = _lineSz * _linesPerSide;
+               _sideBwtSz = _sideSz - 8;
+               _sideBwtLen = _sideBwtSz*4;
+               _numSidePairs = (_bwtSz+(2*_sideBwtSz)-1)/(2*_sideBwtSz);
+               _numSides = _numSidePairs*2;
+               _numLines = _numSides * _linesPerSide;
+               _ebwtTotLen = _numSidePairs * (2*_sideSz);
+               _ebwtTotSz = _ebwtTotLen;
+               assert(repOk());
+       }
+
+       uint32_t len() const           { return _len; }
+       uint32_t bwtLen() const        { return _bwtLen; }
+       uint32_t sz() const            { return _sz; }
+       uint32_t bwtSz() const         { return _bwtSz; }
+       int32_t  lineRate() const      { return _lineRate; }
+       int32_t  linesPerSide() const  { return _linesPerSide; }
+       int32_t  origOffRate() const   { return _origOffRate; }
+       int32_t  offRate() const       { return _offRate; }
+       uint32_t offMask() const       { return _offMask; }
+       int32_t  isaRate() const       { return _isaRate; }
+       uint32_t isaMask() const       { return _isaMask; }
+       int32_t  ftabChars() const     { return _ftabChars; }
+       uint32_t eftabLen() const      { return _eftabLen; }
+       uint32_t eftabSz() const       { return _eftabSz; }
+       uint32_t ftabLen() const       { return _ftabLen; }
+       uint32_t ftabSz() const        { return _ftabSz; }
+       uint32_t offsLen() const       { return _offsLen; }
+       uint32_t offsSz() const        { return _offsSz; }
+       uint32_t isaLen() const        { return _isaLen; }
+       uint32_t isaSz() const         { return _isaSz; }
+       uint32_t lineSz() const        { return _lineSz; }
+       uint32_t sideSz() const        { return _sideSz; }
+       uint32_t sideBwtSz() const     { return _sideBwtSz; }
+       uint32_t sideBwtLen() const    { return _sideBwtLen; }
+       uint32_t numSidePairs() const  { return _numSidePairs; }
+       uint32_t numSides() const      { return _numSides; }
+       uint32_t numLines() const      { return _numLines; }
+       uint32_t ebwtTotLen() const    { return _ebwtTotLen; }
+       uint32_t ebwtTotSz() const     { return _ebwtTotSz; }
+       bool color() const             { return _color; }
+       bool entireReverse() const     { return _entireReverse; }
+
+       /**
+        * Set a new suffix-array sampling rate, which involves updating
+        * rate, mask, sample length, and sample size.
+        */
+       void setOffRate(int __offRate) {
+               _offRate = __offRate;
+               _offMask = 0xffffffff << _offRate;
+               _offsLen = (_bwtLen + (1 << _offRate) - 1) >> _offRate;
+               _offsSz = _offsLen*4;
+       }
+
+       /**
+        * Set a new inverse suffix-array sampling rate, which involves
+        * updating rate, mask, sample length, and sample size.
+        */
+       void setIsaRate(int __isaRate) {
+               _isaRate = __isaRate;
+               _isaMask = 0xffffffff << _isaRate;
+               _isaLen = (_bwtLen + (1 << _isaRate) - 1) >> _isaRate;
+               _isaSz = _isaLen*4;
+       }
+
+       /// Check that this EbwtParams is internally consistent
+       bool repOk() const {
+               assert_gt(_len, 0);
+               assert_gt(_lineRate, 3);
+               assert_geq(_offRate, 0);
+               assert_leq(_ftabChars, 16);
+               assert_geq(_ftabChars, 1);
+               assert_lt(_lineRate, 32);
+               assert_lt(_linesPerSide, 32);
+               assert_lt(_ftabChars, 32);
+               assert_eq(0, _ebwtTotSz % (2*_lineSz));
+               return true;
+       }
+
+       /**
+        * Pretty-print the header contents to the given output stream.
+        */
+       void print(ostream& out) const {
+               out << "Headers:" << endl
+                   << "    len: "          << _len << endl
+                   << "    bwtLen: "       << _bwtLen << endl
+                   << "    sz: "           << _sz << endl
+                   << "    bwtSz: "        << _bwtSz << endl
+                   << "    lineRate: "     << _lineRate << endl
+                   << "    linesPerSide: " << _linesPerSide << endl
+                   << "    offRate: "      << _offRate << endl
+                   << "    offMask: 0x"    << hex << _offMask << dec << endl
+                   << "    isaRate: "      << _isaRate << endl
+                   << "    isaMask: 0x"    << hex << _isaMask << dec << endl
+                   << "    ftabChars: "    << _ftabChars << endl
+                   << "    eftabLen: "     << _eftabLen << endl
+                   << "    eftabSz: "      << _eftabSz << endl
+                   << "    ftabLen: "      << _ftabLen << endl
+                   << "    ftabSz: "       << _ftabSz << endl
+                   << "    offsLen: "      << _offsLen << endl
+                   << "    offsSz: "       << _offsSz << endl
+                   << "    isaLen: "       << _isaLen << endl
+                   << "    isaSz: "        << _isaSz << endl
+                   << "    lineSz: "       << _lineSz << endl
+                   << "    sideSz: "       << _sideSz << endl
+                   << "    sideBwtSz: "    << _sideBwtSz << endl
+                   << "    sideBwtLen: "   << _sideBwtLen << endl
+                   << "    numSidePairs: " << _numSidePairs << endl
+                   << "    numSides: "     << _numSides << endl
+                   << "    numLines: "     << _numLines << endl
+                   << "    ebwtTotLen: "   << _ebwtTotLen << endl
+                   << "    ebwtTotSz: "    << _ebwtTotSz << endl
+                   << "    reverse: "      << _entireReverse << endl;
+       }
+
+       uint32_t _len;
+       uint32_t _bwtLen;
+       uint32_t _sz;
+       uint32_t _bwtSz;
+       int32_t  _lineRate;
+       int32_t  _linesPerSide;
+       int32_t  _origOffRate;
+       int32_t  _offRate;
+       uint32_t _offMask;
+       int32_t  _isaRate;
+       uint32_t _isaMask;
+       int32_t  _ftabChars;
+       uint32_t _eftabLen;
+       uint32_t _eftabSz;
+       uint32_t _ftabLen;
+       uint32_t _ftabSz;
+       uint32_t _offsLen;
+       uint32_t _offsSz;
+       uint32_t _isaLen;
+       uint32_t _isaSz;
+       uint32_t _lineSz;
+       uint32_t _sideSz;
+       uint32_t _sideBwtSz;
+       uint32_t _sideBwtLen;
+       uint32_t _numSidePairs;
+       uint32_t _numSides;
+       uint32_t _numLines;
+       uint32_t _ebwtTotLen;
+       uint32_t _ebwtTotSz;
+       bool     _color;
+       bool     _entireReverse;
+};
+
+/**
+ * Exception to throw when a file-realted error occurs.
+ */
+class EbwtFileOpenException : public std::runtime_error {
+public:
+       EbwtFileOpenException(const std::string& msg = "") :
+               std::runtime_error(msg) { }
+};
+
+/**
+ * Calculate size of file with given name.
+ */
+static inline int64_t fileSize(const char* name) {
+       std::ifstream f;
+       f.open(name, std::ios_base::binary | std::ios_base::in);
+       if (!f.good() || f.eof() || !f.is_open()) { return 0; }
+       f.seekg(0, std::ios_base::beg);
+       std::ifstream::pos_type begin_pos = f.tellg();
+       f.seekg(0, std::ios_base::end);
+       return static_cast<int64_t>(f.tellg() - begin_pos);
+}
+
+// Forward declarations for Ebwt class
+class SideLocus;
+template<typename TStr> class EbwtSearchParams;
+
+/**
+ * Extended Burrows-Wheeler transform data.
+ *
+ * An Ebwt may be transferred to and from RAM with calls to
+ * evictFromMemory() and loadIntoMemory().  By default, a newly-created
+ * Ebwt is not loaded into memory; if the user would like to use a
+ * newly-created Ebwt to answer queries, they must first call
+ * loadIntoMemory().
+ */
+template <typename TStr>
+class Ebwt {
+public:
+       typedef typename Value<TStr>::Type TAlphabet;
+
+       #define Ebwt_INITS \
+           _toBigEndian(currentlyBigEndian()), \
+           _overrideOffRate(__overrideOffRate), \
+           _overrideIsaRate(__overrideIsaRate), \
+           _verbose(verbose), \
+           _passMemExc(passMemExc), \
+           _sanity(sanityCheck), \
+           _fw(__fw), \
+           _in1(MM_FILE_INIT), \
+           _in2(MM_FILE_INIT), \
+           _zOff(0xffffffff), \
+           _zEbwtByteOff(0xffffffff), \
+           _zEbwtBpOff(-1), \
+           _nPat(0), \
+           _nFrag(0), \
+           _plen(NULL), \
+           _rstarts(NULL), \
+           _fchr(NULL), \
+           _ftab(NULL), \
+           _eftab(NULL), \
+           _offs(NULL), \
+           _isa(NULL), \
+           _ebwt(NULL), \
+           _useMm(false), \
+           useShmem_(false), \
+           _refnames(), \
+           rmap_(NULL), \
+           mmFile1_(NULL), \
+           mmFile2_(NULL)
+
+#ifdef EBWT_STATS
+#define Ebwt_STAT_INITS \
+       ,mapLFExs_(0llu), \
+       mapLFs_(0llu), \
+       mapLFcs_(0llu), \
+       mapLF1cs_(0llu), \
+       mapLF1s_(0llu)
+#else
+#define Ebwt_STAT_INITS
+#endif
+
+       /// Construct an Ebwt from the given input file
+       Ebwt(const string& in,
+            int color,
+            int needEntireReverse,
+            bool __fw,
+            int32_t __overrideOffRate = -1,
+            int32_t __overrideIsaRate = -1,
+            bool useMm = false,
+            bool useShmem = false,
+            bool mmSweep = false,
+            bool loadNames = false,
+            const ReferenceMap* rmap = NULL,
+            bool verbose = false,
+            bool startVerbose = false,
+            bool passMemExc = false,
+            bool sanityCheck = false) :
+            Ebwt_INITS
+            Ebwt_STAT_INITS
+       {
+               assert(!useMm || !useShmem);
+               rmap_ = rmap;
+               _useMm = useMm;
+               useShmem_ = useShmem;
+               _in1Str = in + ".1.ebwt";
+               _in2Str = in + ".2.ebwt";
+               readIntoMemory(
+                       color,         // expect colorspace reference?
+                       __fw ? -1 : needEntireReverse, // need REF_READ_REVERSE
+                       true,          // stop after loading the header portion?
+                       &_eh,          // params structure to fill in
+                       mmSweep,       // mmSweep
+                       loadNames,     // loadNames
+                       startVerbose); // startVerbose
+               // If the offRate has been overridden, reflect that in the
+               // _eh._offRate field
+               if(_overrideOffRate > _eh._offRate) {
+                       _eh.setOffRate(_overrideOffRate);
+                       assert_eq(_overrideOffRate, _eh._offRate);
+               }
+               // Same with isaRate
+               if(_overrideIsaRate > _eh._isaRate) {
+                       _eh.setIsaRate(_overrideIsaRate);
+                       assert_eq(_overrideIsaRate, _eh._isaRate);
+               }
+               assert(repOk());
+       }
+
+       /// Construct an Ebwt from the given header parameters and string
+       /// vector, optionally using a blockwise suffix sorter with the
+       /// given 'bmax' and 'dcv' parameters.  The string vector is
+       /// ultimately joined and the joined string is passed to buildToDisk().
+       Ebwt(int color,
+            int32_t lineRate,
+            int32_t linesPerSide,
+            int32_t offRate,
+            int32_t isaRate,
+            int32_t ftabChars,
+            const string& file,   // base filename for EBWT files
+            bool __fw,
+            bool useBlockwise,
+            uint32_t bmax,
+            uint32_t bmaxSqrtMult,
+            uint32_t bmaxDivN,
+            int dcv,
+            vector<FileBuf*>& is,
+            vector<RefRecord>& szs,
+            vector<uint32_t>& plens,
+            uint32_t sztot,
+            const RefReadInParams& refparams,
+            uint32_t seed,
+            int32_t __overrideOffRate = -1,
+            int32_t __overrideIsaRate = -1,
+            bool verbose = false,
+            bool passMemExc = false,
+            bool sanityCheck = false) :
+            Ebwt_INITS
+            Ebwt_STAT_INITS,
+            _eh(joinedLen(szs),
+                lineRate,
+                linesPerSide,
+                offRate,
+                isaRate,
+                ftabChars,
+                color,
+                refparams.reverse == REF_READ_REVERSE)
+       {
+               _in1Str = file + ".1.ebwt";
+               _in2Str = file + ".2.ebwt";
+               // Open output files
+               ofstream fout1(_in1Str.c_str(), ios::binary);
+               if(!fout1.good()) {
+                       cerr << "Could not open index file for writing: \"" << _in1Str << "\"" << endl
+                            << "Please make sure the directory exists and that permissions allow writing by" << endl
+                            << "Bowtie." << endl;
+                       throw 1;
+               }
+               ofstream fout2(_in2Str.c_str(), ios::binary);
+               if(!fout2.good()) {
+                       cerr << "Could not open index file for writing: \"" << _in2Str << "\"" << endl
+                            << "Please make sure the directory exists and that permissions allow writing by" << endl
+                            << "Bowtie." << endl;
+                       throw 1;
+               }
+               // Build
+               initFromVector(
+                       is,
+                       szs,
+                       plens,
+                       sztot,
+                       refparams,
+                       fout1,
+                       fout2,
+                       useBlockwise,
+                       bmax,
+                       bmaxSqrtMult,
+                       bmaxDivN,
+                       dcv,
+                       seed);
+               // Close output files
+               fout1.flush();
+               int64_t tellpSz1 = (int64_t)fout1.tellp();
+               VMSG_NL("Wrote " << fout1.tellp() << " bytes to primary EBWT file: " << _in1Str);
+               fout1.close();
+               bool err = false;
+               if(tellpSz1 > fileSize(_in1Str.c_str())) {
+                       err = true;
+                       cerr << "Index is corrupt: File size for " << _in1Str << " should have been " << tellpSz1
+                            << " but is actually " << fileSize(_in1Str.c_str()) << "." << endl;
+               }
+               fout2.flush();
+               int64_t tellpSz2 = (int64_t)fout2.tellp();
+               VMSG_NL("Wrote " << fout2.tellp() << " bytes to secondary EBWT file: " << _in2Str);
+               fout2.close();
+               if(tellpSz2 > fileSize(_in2Str.c_str())) {
+                       err = true;
+                       cerr << "Index is corrupt: File size for " << _in2Str << " should have been " << tellpSz2
+                            << " but is actually " << fileSize(_in2Str.c_str()) << "." << endl;
+               }
+               if(err) {
+                       cerr << "Please check if there is a problem with the disk or if disk is full." << endl;
+                       throw 1;
+               }
+               // Reopen as input streams
+               VMSG_NL("Re-opening _in1 and _in2 as input streams");
+               if(_sanity) {
+                       VMSG_NL("Sanity-checking Ebwt");
+                       assert(!isInMemory());
+                       readIntoMemory(
+                               color,
+                               __fw ? -1 : refparams.reverse == REF_READ_REVERSE,
+                               false,
+                               NULL,
+                               false,
+                               true,
+                               false);
+                       sanityCheckAll(refparams.reverse);
+                       evictFromMemory();
+                       assert(!isInMemory());
+               }
+               VMSG_NL("Returning from Ebwt constructor");
+       }
+
+       bool isPacked();
+
+       /**
+        * Write the rstarts array given the szs array for the reference.
+        */
+       void szsToDisk(const vector<RefRecord>& szs, ostream& os, int reverse) {
+               size_t seq = 0;
+               uint32_t off = 0;
+               uint32_t totlen = 0;
+               for(unsigned int i = 0; i < szs.size(); i++) {
+                       if(szs[i].len == 0) continue;
+                       if(szs[i].first) off = 0;
+                       off += szs[i].off;
+#ifdef ACCOUNT_FOR_ALL_GAP_REFS
+                       if(szs[i].first && szs[i].len > 0) seq++;
+#else
+                       if(szs[i].first) seq++;
+#endif
+                       size_t seqm1 = seq-1;
+                       assert_lt(seqm1, _nPat);
+                       size_t fwoff = off;
+                       if(reverse == REF_READ_REVERSE) {
+                               // Invert pattern idxs
+                               seqm1 = _nPat - seqm1 - 1;
+                               // Invert pattern idxs
+                               assert_leq(off + szs[i].len, _plen[seqm1]);
+                               fwoff = _plen[seqm1] - (off + szs[i].len);
+                       }
+                       writeU32(os, totlen, this->toBe()); // offset from beginning of joined string
+                       writeU32(os, seqm1,  this->toBe()); // sequence id
+                       writeU32(os, fwoff,  this->toBe()); // offset into sequence
+                       totlen += szs[i].len;
+                       off += szs[i].len;
+               }
+       }
+
+       /**
+        * Helper for the constructors above.  Takes a vector of text
+        * strings and joins them into a single string with a call to
+        * joinToDisk, which does a join (with padding) and writes some of
+        * the resulting data directly to disk rather than keep it in
+        * memory.  It then constructs a suffix-array producer (what kind
+        * depends on 'useBlockwise') for the resulting sequence.  The
+        * suffix-array producer can then be used to obtain chunks of the
+        * joined string's suffix array.
+        */
+       void initFromVector(
+               vector<FileBuf*>& is,
+               vector<RefRecord>& szs,
+               vector<uint32_t>& plens,
+               uint32_t sztot,
+               const RefReadInParams& refparams,
+               ofstream& out1,
+               ofstream& out2,
+               bool useBlockwise,
+               uint32_t bmax,
+               uint32_t bmaxSqrtMult,
+               uint32_t bmaxDivN,
+               int dcv,
+               uint32_t seed)
+       {
+               // Compose text strings into single string
+               VMSG_NL("Calculating joined length");
+               TStr s; // holds the entire joined reference after call to joinToDisk
+               uint32_t jlen;
+               jlen = joinedLen(szs);
+               assert_geq(jlen, sztot);
+               VMSG_NL("Writing header");
+               writeFromMemory(true, out1, out2);
+               try {
+                       VMSG_NL("Reserving space for joined string");
+                       seqan::reserve(s, jlen, Exact());
+                       VMSG_NL("Joining reference sequences");
+                       if(refparams.reverse == REF_READ_REVERSE) {
+                               {
+                                       Timer timer(cout, "  Time to join reference sequences: ", _verbose);
+                                       joinToDisk(is, szs, plens, sztot, refparams, s, out1, out2, seed);
+                               } {
+                                       Timer timer(cout, "  Time to reverse reference sequence: ", _verbose);
+                                       vector<RefRecord> tmp;
+                                       reverseInPlace(s);
+                                       reverseRefRecords(szs, tmp, false, false);
+                                       szsToDisk(tmp, out1, refparams.reverse);
+                               }
+                       } else {
+                               Timer timer(cout, "  Time to join reference sequences: ", _verbose);
+                               joinToDisk(is, szs, plens, sztot, refparams, s, out1, out2, seed);
+                               szsToDisk(szs, out1, refparams.reverse);
+                       }
+                       // Joined reference sequence now in 's'
+               } catch(bad_alloc& e) {
+                       // If we throw an allocation exception in the try block,
+                       // that means that the joined version of the reference
+                       // string itself is too larger to fit in memory.  The only
+                       // alternatives are to tell the user to give us more memory
+                       // or to try again with a packed representation of the
+                       // reference (if we haven't tried that already).
+                       cerr << "Could not allocate space for a joined string of " << jlen << " elements." << endl;
+                       if(!isPacked() && _passMemExc) {
+                               // Pass the exception up so that we can retry using a
+                               // packed string representation
+                               throw e;
+                       }
+                       // There's no point passing this exception on.  The fact
+                       // that we couldn't allocate the joined string means that
+                       // --bmax is irrelevant - the user should re-run with
+                       // ebwt-build-packed
+                       if(isPacked()) {
+                               cerr << "Please try running bowtie-build on a computer with more memory." << endl;
+                       } else {
+                               cerr << "Please try running bowtie-build in packed mode (-p/--packed) or in automatic" << endl
+                                    << "mode (-a/--auto), or try again on a computer with more memory." << endl;
+                       }
+                       if(sizeof(void*) == 4) {
+                               cerr << "If this computer has more than 4 GB of memory, try using a 64-bit executable;" << endl
+                                    << "this executable is 32-bit." << endl;
+                       }
+                       throw 1;
+               }
+               // Succesfully obtained joined reference string
+               assert_geq(length(s), jlen);
+               if(bmax != 0xffffffff) {
+                       VMSG_NL("bmax according to bmax setting: " << bmax);
+               }
+               else if(bmaxSqrtMult != 0xffffffff) {
+                       bmax *= bmaxSqrtMult;
+                       VMSG_NL("bmax according to bmaxSqrtMult setting: " << bmax);
+               }
+               else if(bmaxDivN != 0xffffffff) {
+                       bmax = max<uint32_t>(jlen / bmaxDivN, 1);
+                       VMSG_NL("bmax according to bmaxDivN setting: " << bmax);
+               }
+               else {
+                       bmax = (uint32_t)sqrt(length(s));
+                       VMSG_NL("bmax defaulted to: " << bmax);
+               }
+               int iter = 0;
+               bool first = true;
+               // Look for bmax/dcv parameters that work.
+               while(true) {
+                       if(!first && bmax < 40 && _passMemExc) {
+                               cerr << "Could not find approrpiate bmax/dcv settings for building this index." << endl;
+                               if(!isPacked()) {
+                                       // Throw an exception exception so that we can
+                                       // retry using a packed string representation
+                                       throw bad_alloc();
+                               } else {
+                                       cerr << "Already tried a packed string representation." << endl;
+                               }
+                               cerr << "Please try indexing this reference on a computer with more memory." << endl;
+                               if(sizeof(void*) == 4) {
+                                       cerr << "If this computer has more than 4 GB of memory, try using a 64-bit executable;" << endl
+                                                << "this executable is 32-bit." << endl;
+                               }
+                               throw 1;
+                       }
+                       if(dcv > 4096) dcv = 4096;
+                       if((iter % 6) == 5 && dcv < 4096 && dcv != 0) {
+                               dcv <<= 1; // double difference-cover period
+                       } else {
+                               bmax -= (bmax >> 2); // reduce by 25%
+                       }
+                       VMSG("Using parameters --bmax " << bmax);
+                       if(dcv == 0) {
+                               VMSG_NL(" and *no difference cover*");
+                       } else {
+                               VMSG_NL(" --dcv " << dcv);
+                       }
+                       iter++;
+                       try {
+                               {
+                                       VMSG_NL("  Doing ahead-of-time memory usage test");
+                                       // Make a quick-and-dirty attempt to force a bad_alloc iff
+                                       // we would have thrown one eventually as part of
+                                       // constructing the DifferenceCoverSample
+                                       dcv <<= 1;
+                                       size_t sz = DifferenceCoverSample<TStr>::simulateAllocs(s, dcv >> 1);
+                                       AutoArray<uint8_t> tmp(sz);
+                                       dcv >>= 1;
+                                       // Likewise with the KarkkainenBlockwiseSA
+                                       sz = KarkkainenBlockwiseSA<TStr>::simulateAllocs(s, bmax);
+                                       AutoArray<uint8_t> tmp2(sz);
+                                       // Now throw in the 'ftab' and 'isaSample' structures
+                                       // that we'll eventually allocate in buildToDisk
+                                       AutoArray<uint32_t> ftab(_eh._ftabLen * 2);
+                                       AutoArray<uint8_t> side(_eh._sideSz);
+                                       // Grab another 20 MB out of caution
+                                       AutoArray<uint32_t> extra(20*1024*1024);
+                                       // If we made it here without throwing bad_alloc, then we
+                                       // passed the memory-usage stress test
+                                       VMSG("  Passed!  Constructing with these parameters: --bmax " << bmax << " --dcv " << dcv);
+                                       if(isPacked()) {
+                                               VMSG(" --packed");
+                                       }
+                                       VMSG_NL("");
+                               }
+                               VMSG_NL("Constructing suffix-array element generator");
+                               KarkkainenBlockwiseSA<TStr> bsa(s, bmax, dcv, seed, _sanity, _passMemExc, _verbose);
+                               assert(bsa.suffixItrIsReset());
+                               assert_eq(bsa.size(), length(s)+1);
+                               VMSG_NL("Converting suffix-array elements to index image");
+                               buildToDisk(bsa, s, out1, out2);
+                               out1.flush(); out2.flush();
+                               if(out1.fail() || out2.fail()) {
+                                       cerr << "An error occurred writing the index to disk.  Please check if the disk is full." << endl;
+                                       throw 1;
+                               }
+                               break;
+                       } catch(bad_alloc& e) {
+                               if(_passMemExc) {
+                                       VMSG_NL("  Ran out of memory; automatically trying more memory-economical parameters.");
+                               } else {
+                                       cerr << "Out of memory while constructing suffix array.  Please try using a smaller" << endl
+                                                << "number of blocks by specifying a smaller --bmax or a larger --bmaxdivn" << endl;
+                                       throw 1;
+                               }
+                       }
+                       first = false;
+               }
+               assert(repOk());
+               // Now write reference sequence names on the end
+#ifdef ACCOUNT_FOR_ALL_GAP_REFS
+               assert_geq(this->_refnames.size(), this->_nPat);
+#else
+               assert_eq(this->_refnames.size(), this->_nPat);
+#endif
+               for(size_t i = 0; i < this->_refnames.size(); i++) {
+                       out1 << this->_refnames[i] << endl;
+               }
+               out1 << '\0';
+               out1.flush(); out2.flush();
+               if(out1.fail() || out2.fail()) {
+                       cerr << "An error occurred writing the index to disk.  Please check if the disk is full." << endl;
+                       throw 1;
+               }
+               VMSG_NL("Returning from initFromVector");
+       }
+
+       /**
+        * Return the length that the joined string of the given string
+        * list will have.  Note that this is indifferent to how the text
+        * fragments correspond to input sequences - it just cares about
+        * the lengths of the fragments.
+        */
+       uint32_t joinedLen(vector<RefRecord>& szs) {
+               uint32_t ret = 0;
+               for(unsigned int i = 0; i < szs.size(); i++) {
+                       ret += szs[i].len;
+               }
+               return ret;
+       }
+
+       /// Destruct an Ebwt
+       ~Ebwt() {
+               // Only free buffers if we're *not* using memory-mapped files
+               if(!_useMm) {
+                       // Delete everything that was allocated in read(false, ...)
+                       if(_fchr    != NULL) delete[] _fchr;    _fchr    = NULL;
+                       if(_ftab    != NULL) delete[] _ftab;    _ftab    = NULL;
+                       if(_eftab   != NULL) delete[] _eftab;   _eftab   = NULL;
+                       if(_offs != NULL && !useShmem_) {
+                               delete[] _offs; _offs = NULL;
+                       } else if(_offs != NULL && useShmem_) {
+                               FREE_SHARED(_offs);
+                       }
+                       if(_isa     != NULL) delete[] _isa;     _isa     = NULL;
+                       if(_plen    != NULL) delete[] _plen;    _plen    = NULL;
+                       if(_rstarts != NULL) delete[] _rstarts; _rstarts = NULL;
+                       if(_ebwt != NULL && !useShmem_) {
+                               delete[] _ebwt; _ebwt = NULL;
+                       } else if(_ebwt != NULL && useShmem_) {
+                               FREE_SHARED(_ebwt);
+                       }
+               }
+               MM_FILE_CLOSE(_in1);
+               MM_FILE_CLOSE(_in2);
+#ifdef EBWT_STATS
+               cout << (_fw ? "Forward index:" : "Mirror index:") << endl;
+               cout << "  mapLFEx:   " << mapLFExs_ << endl;
+               cout << "  mapLF:     " << mapLFs_   << endl;
+               cout << "  mapLF(c):  " << mapLFcs_  << endl;
+               cout << "  mapLF1(c): " << mapLF1cs_ << endl;
+               cout << "  mapLF(c):  " << mapLF1s_  << endl;
+#endif
+       }
+
+       /// Accessors
+       const EbwtParams& eh() const     { return _eh; }
+       uint32_t    zOff() const         { return _zOff; }
+       uint32_t    zEbwtByteOff() const { return _zEbwtByteOff; }
+       int         zEbwtBpOff() const   { return _zEbwtBpOff; }
+       uint32_t    nPat() const         { return _nPat; }
+       uint32_t    nFrag() const        { return _nFrag; }
+       uint32_t*   fchr() const         { return _fchr; }
+       uint32_t*   ftab() const         { return _ftab; }
+       uint32_t*   eftab() const        { return _eftab; }
+       uint32_t*   offs() const         { return _offs; }
+       uint32_t*   isa() const          { return _isa; }
+       uint32_t*   plen() const         { return _plen; }
+       uint32_t*   rstarts() const      { return _rstarts; }
+       uint8_t*    ebwt() const         { return _ebwt; }
+       const ReferenceMap* rmap() const { return rmap_; }
+       bool        toBe() const         { return _toBigEndian; }
+       bool        verbose() const      { return _verbose; }
+       bool        sanityCheck() const  { return _sanity; }
+       vector<string>& refnames()       { return _refnames; }
+       bool        fw() const           { return _fw; }
+
+       /// Return true iff the Ebwt is currently in memory
+       bool isInMemory() const {
+               if(_ebwt != NULL) {
+                       assert(_eh.repOk());
+                       assert(_ftab != NULL);
+                       assert(_eftab != NULL);
+                       assert(_fchr != NULL);
+                       assert(_offs != NULL);
+                       assert(_isa != NULL);
+                       assert(_rstarts != NULL);
+                       assert_neq(_zEbwtByteOff, 0xffffffff);
+                       assert_neq(_zEbwtBpOff, -1);
+                       return true;
+               } else {
+                       assert(_ftab == NULL);
+                       assert(_eftab == NULL);
+                       assert(_fchr == NULL);
+                       assert(_offs == NULL);
+                       assert(_rstarts == NULL);
+                       assert_eq(_zEbwtByteOff, 0xffffffff);
+                       assert_eq(_zEbwtBpOff, -1);
+                       return false;
+               }
+       }
+
+       /// Return true iff the Ebwt is currently stored on disk
+       bool isEvicted() const {
+               return !isInMemory();
+       }
+
+       /**
+        * Load this Ebwt into memory by reading it in from the _in1 and
+        * _in2 streams.
+        */
+       void loadIntoMemory(
+               int color,
+               int needEntireReverse,
+               bool loadNames,
+               bool verbose)
+       {
+               readIntoMemory(
+                       color,      // expect index to be colorspace?
+                       needEntireReverse, // require reverse index to be concatenated reference reversed
+                       false,      // stop after loading the header portion?
+                       NULL,       // params
+                       false,      // mmSweep
+                       loadNames,  // loadNames
+                       verbose);   // startVerbose
+       }
+
+       /**
+        * Frees memory associated with the Ebwt.
+        */
+       void evictFromMemory() {
+               assert(isInMemory());
+               if(!_useMm) {
+                       delete[] _fchr;
+                       delete[] _ftab;
+                       delete[] _eftab;
+                       if(!useShmem_) delete[] _offs;
+                       delete[] _isa;
+                       // Keep plen; it's small and the client may want to query it
+                       // even when the others are evicted.
+                       //delete[] _plen;
+                       delete[] _rstarts;
+                       if(!useShmem_) delete[] _ebwt;
+               }
+               _fchr  = NULL;
+               _ftab  = NULL;
+               _eftab = NULL;
+               _offs  = NULL;
+               _isa   = NULL;
+               // Keep plen; it's small and the client may want to query it
+               // even when the others are evicted.
+               //_plen  = NULL;
+               _rstarts = NULL;
+               _ebwt    = NULL;
+               _zEbwtByteOff = 0xffffffff;
+               _zEbwtBpOff = -1;
+       }
+
+       /**
+        * Non-static facade for static function ftabHi.
+        */
+       uint32_t ftabHi(uint32_t i) const {
+               return Ebwt::ftabHi(_ftab, _eftab, _eh._len, _eh._ftabLen,
+                                   _eh._eftabLen, i);
+       }
+
+       /**
+        * Get "high interpretation" of ftab entry at index i.  The high
+        * interpretation of a regular ftab entry is just the entry
+        * itself.  The high interpretation of an extended entry is the
+        * second correpsonding ui32 in the eftab.
+        *
+        * It's a static member because it's convenient to ask this
+        * question before the Ebwt is fully initialized.
+        */
+       static uint32_t ftabHi(uint32_t *ftab,
+                              uint32_t *eftab,
+                              uint32_t len,
+                              uint32_t ftabLen,
+                              uint32_t eftabLen,
+                              uint32_t i)
+       {
+               assert_lt(i, ftabLen);
+               if(ftab[i] <= len) {
+                       return ftab[i];
+               } else {
+                       uint32_t efIdx = ftab[i] ^ 0xffffffff;
+                       assert_lt(efIdx*2+1, eftabLen);
+                       return eftab[efIdx*2+1];
+               }
+       }
+
+       /**
+        * Non-static facade for static function ftabLo.
+        */
+       uint32_t ftabLo(uint32_t i) const {
+               return Ebwt::ftabLo(_ftab, _eftab, _eh._len, _eh._ftabLen,
+                                   _eh._eftabLen, i);
+       }
+
+       /**
+        * Get "low interpretation" of ftab entry at index i.  The low
+        * interpretation of a regular ftab entry is just the entry
+        * itself.  The low interpretation of an extended entry is the
+        * first correpsonding ui32 in the eftab.
+        *
+        * It's a static member because it's convenient to ask this
+        * question before the Ebwt is fully initialized.
+        */
+       static uint32_t ftabLo(uint32_t *ftab,
+                              uint32_t *eftab,
+                              uint32_t len,
+                              uint32_t ftabLen,
+                              uint32_t eftabLen,
+                              uint32_t i)
+       {
+               assert_lt(i, ftabLen);
+               if(ftab[i] <= len) {
+                       return ftab[i];
+               } else {
+                       uint32_t efIdx = ftab[i] ^ 0xffffffff;
+                       assert_lt(efIdx*2+1, eftabLen);
+                       return eftab[efIdx*2];
+               }
+       }
+
+       /**
+        * When using read() to create an Ebwt, we have to set a couple of
+        * additional fields in the Ebwt object that aren't part of the
+        * parameter list and are not stored explicitly in the file.  Right
+        * now, this just involves initializing _zEbwtByteOff and
+        * _zEbwtBpOff from _zOff.
+        */
+       void postReadInit(EbwtParams& eh) {
+               uint32_t sideNum     = _zOff / eh._sideBwtLen;
+               uint32_t sideCharOff = _zOff % eh._sideBwtLen;
+               uint32_t sideByteOff = sideNum * eh._sideSz;
+               _zEbwtByteOff = sideCharOff >> 2;
+               assert_lt(_zEbwtByteOff, eh._sideBwtSz);
+               _zEbwtBpOff = sideCharOff & 3;
+               assert_lt(_zEbwtBpOff, 4);
+               if((sideNum & 1) == 0) {
+                       // This is an even (backward) side
+                       _zEbwtByteOff = eh._sideBwtSz - _zEbwtByteOff - 1;
+                       _zEbwtBpOff = 3 - _zEbwtBpOff;
+                       assert_lt(_zEbwtBpOff, 4);
+               }
+               _zEbwtByteOff += sideByteOff;
+               assert(repOk(eh)); // Ebwt should be fully initialized now
+       }
+
+       /**
+        * Pretty-print the Ebwt to the given output stream.
+        */
+       void print(ostream& out) const {
+               print(out, _eh);
+       }
+
+       /**
+        * Pretty-print the Ebwt and given EbwtParams to the given output
+        * stream.
+        */
+       void print(ostream& out, const EbwtParams& eh) const {
+               eh.print(out); // print params
+               out << "Ebwt (" << (isInMemory()? "memory" : "disk") << "):" << endl
+                   << "    zOff: "         << _zOff << endl
+                   << "    zEbwtByteOff: " << _zEbwtByteOff << endl
+                   << "    zEbwtBpOff: "   << _zEbwtBpOff << endl
+                   << "    nPat: "  << _nPat << endl
+                   << "    plen: ";
+               if(_plen == NULL) {
+                       out << "NULL" << endl;
+               } else {
+                       out << "non-NULL, [0] = " << _plen[0] << endl;
+               }
+               out << "    rstarts: ";
+               if(_rstarts == NULL) {
+                       out << "NULL" << endl;
+               } else {
+                       out << "non-NULL, [0] = " << _rstarts[0] << endl;
+               }
+               out << "    ebwt: ";
+               if(_ebwt == NULL) {
+                       out << "NULL" << endl;
+               } else {
+                       out << "non-NULL, [0] = " << _ebwt[0] << endl;
+               }
+               out << "    fchr: ";
+               if(_fchr == NULL) {
+                       out << "NULL" << endl;
+               } else {
+                       out << "non-NULL, [0] = " << _fchr[0] << endl;
+               }
+               out << "    ftab: ";
+               if(_ftab == NULL) {
+                       out << "NULL" << endl;
+               } else {
+                       out << "non-NULL, [0] = " << _ftab[0] << endl;
+               }
+               out << "    eftab: ";
+               if(_eftab == NULL) {
+                       out << "NULL" << endl;
+               } else {
+                       out << "non-NULL, [0] = " << _eftab[0] << endl;
+               }
+               out << "    offs: ";
+               if(_offs == NULL) {
+                       out << "NULL" << endl;
+               } else {
+                       out << "non-NULL, [0] = " << _offs[0] << endl;
+               }
+       }
+
+       // Building
+       static TStr join(vector<TStr>& l, uint32_t seed);
+       static TStr join(vector<FileBuf*>& l, vector<RefRecord>& szs, uint32_t sztot, const RefReadInParams& refparams, uint32_t seed);
+       void joinToDisk(vector<FileBuf*>& l, vector<RefRecord>& szs, vector<uint32_t>& plens, uint32_t sztot, const RefReadInParams& refparams, TStr& ret, ostream& out1, ostream& out2, uint32_t seed);
+       void buildToDisk(InorderBlockwiseSA<TStr>& sa, const TStr& s, ostream& out1, ostream& out2);
+
+       // I/O
+       void readIntoMemory(int color, int needEntireReverse, bool justHeader, EbwtParams *params, bool mmSweep, bool loadNames, bool startVerbose);
+       void writeFromMemory(bool justHeader, ostream& out1, ostream& out2) const;
+       void writeFromMemory(bool justHeader, const string& out1, const string& out2) const;
+
+       // Sanity checking
+       void printRangeFw(uint32_t begin, uint32_t end) const;
+       void printRangeBw(uint32_t begin, uint32_t end) const;
+       void sanityCheckUpToSide(int upToSide) const;
+       void sanityCheckAll(int reverse) const;
+       void restore(TStr& s) const;
+       void checkOrigs(const vector<String<Dna5> >& os, bool color, bool mirror) const;
+
+       // Searching and reporting
+       void joinedToTextOff(uint32_t qlen, uint32_t off, uint32_t& tidx, uint32_t& textoff, uint32_t& tlen) const;
+       inline bool report(const String<Dna5>& query, String<char>* quals, String<char>* name, bool color, bool colExEnds, int snpPhred, const BitPairReference* ref, const std::vector<uint32_t>& mmui32, const std::vector<uint8_t>& refcs, size_t numMms, uint32_t off, uint32_t top, uint32_t bot, uint32_t qlen, int stratum, uint16_t cost, uint32_t patid, uint32_t seed, const EbwtSearchParams<TStr>& params) const;
+       inline bool reportChaseOne(const String<Dna5>& query, String<char>* quals, String<char>* name, bool color, bool colExEnds, int snpPhred, const BitPairReference* ref, const std::vector<uint32_t>& mmui32, const std::vector<uint8_t>& refcs, size_t numMms, uint32_t i, uint32_t top, uint32_t bot, uint32_t qlen, int stratum, uint16_t cost, uint32_t patid, uint32_t seed, const EbwtSearchParams<TStr>& params, SideLocus *l = NULL) const;
+       inline bool reportReconstruct(const String<Dna5>& query, String<char>* quals, String<char>* name, String<Dna5>& lbuf, String<Dna5>& rbuf, const uint32_t *mmui32, const char* refcs, size_t numMms, uint32_t i, uint32_t top, uint32_t bot, uint32_t qlen, int stratum, const EbwtSearchParams<TStr>& params, SideLocus *l = NULL) const;
+       inline int rowL(const SideLocus& l) const;
+       inline uint32_t countUpTo(const SideLocus& l, int c) const;
+       inline void countUpToEx(const SideLocus& l, uint32_t* pairs) const;
+       inline uint32_t countFwSide(const SideLocus& l, int c) const;
+       inline void countFwSideEx(const SideLocus& l, uint32_t *pairs) const;
+       inline uint32_t countBwSide(const SideLocus& l, int c) const;
+       inline void countBwSideEx(const SideLocus& l, uint32_t *pairs) const;
+       inline uint32_t mapLF(const SideLocus& l ASSERT_ONLY(, bool overrideSanity = false)) const;
+       inline void mapLFEx(const SideLocus& l, uint32_t *pairs ASSERT_ONLY(, bool overrideSanity = false)) const;
+       inline void mapLFEx(const SideLocus& ltop, const SideLocus& lbot, uint32_t *tops, uint32_t *bots ASSERT_ONLY(, bool overrideSanity = false)) const;
+       inline uint32_t mapLF(const SideLocus& l, int c ASSERT_ONLY(, bool overrideSanity = false)) const;
+       inline uint32_t mapLF1(uint32_t row, const SideLocus& l, int c ASSERT_ONLY(, bool overrideSanity = false)) const;
+       inline int mapLF1(uint32_t& row, const SideLocus& l ASSERT_ONLY(, bool overrideSanity = false)) const;
+       /// Check that in-memory Ebwt is internally consistent with respect
+       /// to given EbwtParams; assert if not
+       bool inMemoryRepOk(const EbwtParams& eh) const {
+               assert_leq(ValueSize<TAlphabet>::VALUE, 4);
+               assert_geq(_zEbwtBpOff, 0);
+               assert_lt(_zEbwtBpOff, 4);
+               assert_lt(_zEbwtByteOff, eh._ebwtTotSz);
+               assert_lt(_zOff, eh._bwtLen);
+               assert(_rstarts != NULL);
+               assert_geq(_nFrag, _nPat);
+               return true;
+       }
+
+       /// Check that in-memory Ebwt is internally consistent; assert if
+       /// not
+       bool inMemoryRepOk() const {
+               return repOk(_eh);
+       }
+
+       /// Check that Ebwt is internally consistent with respect to given
+       /// EbwtParams; assert if not
+       bool repOk(const EbwtParams& eh) const {
+               assert(_eh.repOk());
+               if(isInMemory()) {
+                       return inMemoryRepOk(eh);
+               }
+               return true;
+       }
+
+       /// Check that Ebwt is internally consistent; assert if not
+       bool repOk() const {
+               return repOk(_eh);
+       }
+
+       bool       _toBigEndian;
+       int32_t    _overrideOffRate;
+       int32_t    _overrideIsaRate;
+       bool       _verbose;
+       bool       _passMemExc;
+       bool       _sanity;
+       bool       _fw;     // true iff this is a forward index
+       MM_FILE  _in1;    // input fd for primary index file
+       MM_FILE  _in2;    // input fd for secondary index file
+       string     _in1Str; // filename for primary index file
+       string     _in2Str; // filename for secondary index file
+       uint32_t   _zOff;
+       uint32_t   _zEbwtByteOff;
+       int        _zEbwtBpOff;
+       uint32_t   _nPat;  /// number of reference texts
+       uint32_t   _nFrag; /// number of fragments
+       uint32_t*  _plen;
+       uint32_t*  _rstarts; // starting offset of fragments / text indexes
+       // _fchr, _ftab and _eftab are expected to be relatively small
+       // (usually < 1MB, perhaps a few MB if _fchr is particularly large
+       // - like, say, 11).  For this reason, we don't bother with writing
+       // them to disk through separate output streams; we
+       uint32_t*  _fchr;
+       uint32_t*  _ftab;
+       uint32_t*  _eftab; // "extended" entries for _ftab
+       // _offs may be extremely large.  E.g. for DNA w/ offRate=4 (one
+       // offset every 16 rows), the total size of _offs is the same as
+       // the total size of the input sequence
+       uint32_t*  _offs;
+       uint32_t*  _isa;
+       // _ebwt is the Extended Burrows-Wheeler Transform itself, and thus
+       // is at least as large as the input sequence.
+       uint8_t*   _ebwt;
+       bool       _useMm;        /// use memory-mapped files to hold the index
+       bool       useShmem_;     /// use shared memory to hold large parts of the index
+       vector<string> _refnames; /// names of the reference sequences
+       const ReferenceMap* rmap_; /// mapping into another reference coordinate space
+       char *mmFile1_;
+       char *mmFile2_;
+       EbwtParams _eh;
+
+#ifdef EBWT_STATS
+       uint64_t   mapLFExs_;
+       uint64_t   mapLFs_;
+       uint64_t   mapLFcs_;
+#endif
+
+private:
+
+       ostream& log() const {
+               return cout; // TODO: turn this into a parameter
+       }
+
+       /// Print a verbose message and flush (flushing is helpful for
+       /// debugging)
+       void verbose(const string& s) const {
+               if(this->verbose()) {
+                       this->log() << s;
+                       this->log().flush();
+               }
+       }
+};
+
+/// Specialization for packed Ebwts - return true
+template<>
+bool Ebwt<String<Dna, Packed<> > >::isPacked() {
+       return true;
+}
+
+/// By default, Ebwts are not packed
+template<typename TStr>
+bool Ebwt<TStr>::isPacked() {
+       return false;
+}
+
+/**
+ * Structure encapsulating search parameters, such as whether and how
+ * to backtrack and how to deal with multiple equally-good hits.
+ */
+template<typename TStr>
+class EbwtSearchParams {
+public:
+       EbwtSearchParams(HitSinkPerThread& sink,
+                        const vector<String<Dna5> >& texts,
+                        bool fw = true,
+                        bool ebwtFw = true) :
+               _sink(sink),
+               _texts(texts),
+               _patid(0xffffffff),
+               _fw(fw) { }
+
+       HitSinkPerThread& sink() const { return _sink; }
+       void setPatId(uint32_t patid)  { _patid = patid; }
+       uint32_t patId() const         { return _patid; }
+       void setFw(bool fw)            { _fw = fw; }
+       bool fw() const                { return _fw; }
+       /**
+        * Report a hit.  Returns true iff caller can call off the search.
+        */
+       bool reportHit(const String<Dna5>& query, // read sequence
+                      String<char>* quals, // read quality values
+                      String<char>* name,  // read name
+                      bool color,          // true -> read is colorspace
+                      bool colExEnds,      // true -> exclude nucleotides at extreme ends after decoding
+                      int snpPhred,        // penalty for a SNP
+                      const BitPairReference* ref, // reference (= NULL if not necessary)
+                      const ReferenceMap* rmap, // map to another reference coordinate system
+                      bool ebwtFw,         // whether index is forward (true) or mirror (false)
+                      const std::vector<uint32_t>& mmui32, // mismatch list
+                      const std::vector<uint8_t>& refcs,  // reference characters
+                      size_t numMms,      // # mismatches
+                      U32Pair h,          // ref coords
+                      U32Pair mh,         // mate's ref coords
+                      bool mfw,           // mate's orientation
+                      uint16_t mlen,      // mate length
+                      U32Pair a,          // arrow pair
+                      uint32_t tlen,      // length of text
+                      uint32_t qlen,      // length of query
+                      int stratum,        // alignment stratum
+                      uint16_t cost,      // cost of alignment
+                      uint32_t oms,       // approx. # other valid alignments
+                      uint32_t patid,
+                      uint32_t seed,
+                      uint8_t mate) const
+       {
+#ifndef NDEBUG
+               // Check that no two elements of the mms array are the same
+               for(size_t i = 0; i < numMms; i++) {
+                       for(size_t j = i+1; j < numMms; j++) {
+                               assert_neq(mmui32[i], mmui32[j]);
+                       }
+               }
+#endif
+               // If ebwtFw is true, then 'query' and 'quals' are reversed
+               // If _fw is false, then 'query' and 'quals' are reverse complemented
+               assert(!color || ref != NULL);
+               assert(quals != NULL);
+               assert(name != NULL);
+               assert_eq(mmui32.size(), refcs.size());
+               assert_leq(numMms, mmui32.size());
+               assert_gt(qlen, 0);
+               Hit hit;
+               hit.stratum = stratum;
+               hit.cost = cost;
+               hit.patSeq = query;
+               hit.quals = *quals;
+               if(!ebwtFw) {
+                       // Re-reverse the pattern and the quals back to how they
+                       // appeared in the read file
+                       ::reverseInPlace(hit.patSeq);
+                       ::reverseInPlace(hit.quals);
+               }
+               if(color) {
+                       hit.colSeq = hit.patSeq;
+                       hit.colQuals = hit.quals;
+                       hit.crefcs.resize(qlen, 0);
+                       // Turn the mmui32 and refcs arrays into the mm FixedBitset and
+                       // the refc vector
+                       for(size_t i = 0; i < numMms; i++) {
+                               if (ebwtFw != _fw) {
+                                       // The 3' end is on the left but the mm vector encodes
+                                       // mismatches w/r/t the 5' end, so we flip
+                                       uint32_t off = qlen - mmui32[i] - 1;
+                                       hit.cmms.set(off);
+                                       hit.crefcs[off] = refcs[i];
+                               } else {
+                                       hit.cmms.set(mmui32[i]);
+                                       hit.crefcs[i] = refcs[i];
+                               }
+                       }
+                       assert(ref != NULL);
+                       char read[1024];
+                       uint32_t rfbuf[(1024+16)/4];
+                       ASSERT_ONLY(char rfbuf2[1024]);
+                       char qual[1024];
+                       char ns[1024];
+                       char cmm[1024];
+                       char nmm[1024];
+                       int cmms = 0;
+                       int nmms = 0;
+                       // TODO: account for indels when calculating these bounds
+                       size_t readi = 0;
+                       size_t readf = seqan::length(hit.patSeq);
+                       size_t refi = 0;
+                       size_t reff = readf + 1;
+                       bool maqRound = false;
+                       for(size_t i = 0; i < qlen + 1; i++) {
+                               if(i < qlen) {
+                                       read[i] = (int)hit.patSeq[i];
+                                       qual[i] = mmPenalty(maqRound, phredCharToPhredQual(hit.quals[i]));
+                               }
+                               ASSERT_ONLY(rfbuf2[i] = ref->getBase(h.first, h.second + i));
+                       }
+                       int offset = ref->getStretch(rfbuf, h.first, h.second, qlen + 1);
+                       char *rf = (char*)rfbuf + offset;
+                       for(size_t i = 0; i < qlen + 1; i++) {
+                               assert_eq(rf[i], rfbuf2[i]);
+                               rf[i] = (1 << rf[i]);
+                       }
+                       decodeHit(
+                               read,  // ASCII colors, '0', '1', '2', '3', '.'
+                               qual,  // ASCII quals, Phred+33 encoded
+                               readi, // offset of first character within 'read' to consider
+                               readf, // offset of last char (exclusive) in 'read' to consider
+                               rf,    // reference sequence, as masks
+                               refi, // offset of first character within 'ref' to consider
+                               reff, // offset of last char (exclusive) in 'ref' to consider
+                               snpPhred, // penalty incurred by a SNP
+                               ns,  // decoded nucleotides are appended here
+                               cmm, // where the color mismatches are in the string
+                               nmm, // where nucleotide mismatches are in the string
+                               cmms, // number of color mismatches
+                               nmms);// number of nucleotide mismatches
+                       size_t nqlen = qlen + (colExEnds ? -1 : 1);
+                       seqan::resize(hit.patSeq, nqlen);
+                       seqan::resize(hit.quals, nqlen);
+                       hit.refcs.resize(nqlen);
+                       size_t lo = colExEnds ? 1 : 0;
+                       size_t hi = colExEnds ? qlen : qlen+1;
+                       size_t destpos = 0;
+                       for(size_t i = lo; i < hi; i++, destpos++) {
+                               // Set sequence character
+                               assert_leq(ns[i], 4);
+                               assert_geq(ns[i], 0);
+                               hit.patSeq[destpos] = (Dna5)(int)ns[i];
+                               // Set initial quality
+                               hit.quals[destpos] = '!';
+                               // Color mismatches penalize quality
+                               if(i > 0) {
+                                       if(cmm[i-1] == 'M') {
+                                               if((int)hit.quals[destpos] + (int)qual[i-1] > 126) {
+                                                       hit.quals[destpos] = 126;
+                                               } else {
+                                                       hit.quals[destpos] += qual[i-1];
+                                               }
+                                       } else if((int)hit.colSeq[i-1] != 4) {
+                                               hit.quals[destpos] -= qual[i-1];
+                                       }
+                               }
+                               if(i < qlen) {
+                                       if(cmm[i] == 'M') {
+                                               if((int)hit.quals[destpos] + (int)qual[i] > 126) {
+                                                       hit.quals[destpos] = 126;
+                                               } else {
+                                                       hit.quals[destpos] += qual[i];
+                                               }
+                                       } else if((int)hit.patSeq[i] != 4) {
+                                               hit.quals[destpos] -= qual[i];
+                                       }
+                               }
+                               if(hit.quals[destpos] < '!') {
+                                       hit.quals[destpos] = '!';
+                               }
+                               if(nmm[i] != 'M') {
+                                       uint32_t off = i - (colExEnds? 1:0);
+                                       if(!_fw) off = nqlen - off - 1;
+                                       assert_lt(off, nqlen);
+                                       hit.mms.set(off);
+                                       hit.refcs[off] = "ACGT"[ref->getBase(h.first, h.second+i)];
+                               }
+                       }
+                       if(colExEnds) {
+                               // Extreme bases have been removed; that makes the
+                               // nucleotide alignment one character shorter than the
+                               // color alignment
+                               qlen--; mlen--;
+                               // It also shifts the alignment's offset up by 1
+                               h.second++;
+                       } else {
+                               // Extreme bases are included; that makes the
+                               // nucleotide alignment one character longer than the
+                               // color alignment
+                               qlen++; mlen++;
+                       }
+               } else {
+                       // Turn the mmui32 and refcs arrays into the mm FixedBitset and
+                       // the refc vector
+                       hit.refcs.resize(qlen, 0);
+                       for(size_t i = 0; i < numMms; i++) {
+                               if (ebwtFw != _fw) {
+                                       // The 3' end is on the left but the mm vector encodes
+                                       // mismatches w/r/t the 5' end, so we flip
+                                       uint32_t off = qlen - mmui32[i] - 1;
+                                       hit.mms.set(off);
+                                       hit.refcs[off] = refcs[i];
+                               } else {
+                                       hit.mms.set(mmui32[i]);
+                                       hit.refcs[mmui32[i]] = refcs[i];
+                               }
+                       }
+               }
+               // Check the hit against the original text, if it's available
+               if(_texts.size() > 0) {
+                       assert_lt(h.first, _texts.size());
+                       FixedBitset<1024> diffs;
+                       // This type of check assumes that only mismatches are
+                       // possible.  If indels are possible, then we either need
+                       // the caller to provide information about indel locations,
+                       // or we need to extend this to a more complicated check.
+                       assert_leq(h.second + qlen, length(_texts[h.first]));
+                       for(size_t i = 0; i < qlen; i++) {
+                               assert_neq(4, (int)_texts[h.first][h.second + i]);
+                               // Forward pattern appears at h
+                               if((int)hit.patSeq[i] != (int)_texts[h.first][h.second + i]) {
+                                       uint32_t qoff = i;
+                                       // if ebwtFw != _fw the 3' end is on on the
+                                       // left end of the pattern, but the diff vector
+                                       // should encode mismatches w/r/t the 5' end,
+                                       // so we flip
+                                       if (_fw) diffs.set(qoff);
+                                       else     diffs.set(qlen - qoff - 1);
+                               }
+                       }
+                       if(diffs != hit.mms) {
+                               // Oops, mismatches were not where we expected them;
+                               // print a diagnostic message before asserting
+                               cerr << "Expected " << hit.mms.str() << " mismatches, got " << diffs.str() << endl;
+                               cerr << "  Pat:  " << hit.patSeq << endl;
+                               cerr << "  Tseg: ";
+                               for(size_t i = 0; i < qlen; i++) {
+                                       cerr << _texts[h.first][h.second + i];
+                               }
+                               cerr << endl;
+                               cerr << "  mmui32: ";
+                               for(size_t i = 0; i < numMms; i++) {
+                                       cerr << mmui32[i] << " ";
+                               }
+                               cerr << endl;
+                               cerr << "  FW: " << _fw << endl;
+                               cerr << "  Ebwt FW: " << ebwtFw << endl;
+                       }
+                       if(diffs != hit.mms) assert(false);
+               }
+               hit.h = h;
+               if(rmap != NULL) rmap->map(hit.h);
+               hit.patId = ((patid == 0xffffffff) ? _patid : patid);
+               hit.patName = *name;
+               hit.mh = mh;
+               hit.fw = _fw;
+               hit.mfw = mfw;
+               hit.mlen = mlen;
+               hit.oms = oms;
+               hit.mate = mate;
+               hit.color = color;
+               hit.seed = seed;
+               assert(hit.repOk());
+               return sink().reportHit(hit, stratum);
+       }
+private:
+       HitSinkPerThread& _sink;
+       const vector<String<Dna5> >& _texts; // original texts, if available (if not
+                                   // available, _texts.size() == 0)
+       uint32_t _patid;      // id of current read
+       bool _fw;             // current read is forward-oriented
+};
+
+/**
+ * Encapsulates a location in the bwt text in terms of the side it
+ * occurs in and its offset within the side.
+ */
+struct SideLocus {
+       SideLocus() :
+       _sideByteOff(0),
+       _sideNum(0),
+       _charOff(0),
+       _fw(true),
+       _by(-1),
+       _bp(-1) { }
+
+       /**
+        * Construct from row and other relevant information about the Ebwt.
+        */
+       SideLocus(uint32_t row, const EbwtParams& ep, const uint8_t* ebwt) {
+               initFromRow(row, ep, ebwt);
+       }
+
+       /**
+        * Init two SideLocus objects from a top/bot pair, using the result
+        * from one call to initFromRow to possibly avoid a second call.
+        */
+       static void initFromTopBot(uint32_t top,
+                                  uint32_t bot,
+                                  const EbwtParams& ep,
+                                  const uint8_t* ebwt,
+                                  SideLocus& ltop,
+                                  SideLocus& lbot)
+       {
+               const uint32_t sideBwtLen = ep._sideBwtLen;
+               const uint32_t sideBwtSz  = ep._sideBwtSz;
+               assert_gt(bot, top);
+               ltop.initFromRow(top, ep, ebwt);
+               uint32_t spread = bot - top;
+               if(ltop._charOff + spread < sideBwtLen) {
+                       lbot._charOff = ltop._charOff + spread;
+                       lbot._sideNum = ltop._sideNum;
+                       lbot._sideByteOff = ltop._sideByteOff;
+                       lbot._fw = ltop._fw;
+                       lbot._by = lbot._charOff >> 2;
+                       assert_lt(lbot._by, (int)sideBwtSz);
+                       if(!lbot._fw) lbot._by = sideBwtSz - lbot._by - 1;
+                       lbot._bp = lbot._charOff & 3;
+                       if(!lbot._fw) lbot._bp ^= 3;
+               } else {
+                       lbot.initFromRow(bot, ep, ebwt);
+               }
+       }
+
+       /**
+        * Calculate SideLocus based on a row and other relevant
+        * information about the shape of the Ebwt.
+        */
+       void initFromRow(uint32_t row, const EbwtParams& ep, const uint8_t* ebwt) {
+               const uint32_t sideSz     = ep._sideSz;
+               // Side length is hard-coded for now; this allows the compiler
+               // to do clever things to accelerate / and %.
+               _sideNum                  = row / 224;
+               _charOff                  = row % 224;
+               _sideByteOff              = _sideNum * sideSz;
+               assert_leq(row, ep._len);
+               assert_leq(_sideByteOff + sideSz, ep._ebwtTotSz);
+#ifndef NO_PREFETCH
+               __builtin_prefetch((const void *)(ebwt + _sideByteOff),
+                                  0 /* prepare for read */,
+                                  PREFETCH_LOCALITY);
+#endif
+               // prefetch tjside too
+               _fw = (_sideNum & 1) != 0; // odd-numbered sides are forward
+               _by = _charOff >> 2; // byte within side
+               assert_lt(_by, (int)ep._sideBwtSz);
+               _bp = _charOff & 3;  // bit-pair within byte
+               if(!_fw) {
+                       _by = ep._sideBwtSz - _by - 1;
+                       _bp ^= 3;
+               }
+       }
+
+       /// Return true iff this is an initialized SideLocus
+       bool valid() {
+               return _bp != -1;
+       }
+
+       /// Make this look like an invalid SideLocus
+       void invalidate() {
+               _bp = -1;
+       }
+
+       const uint8_t *side(const uint8_t* ebwt) const {
+               return ebwt + _sideByteOff;
+       }
+
+       const uint8_t *oside(const uint8_t* ebwt) const {
+               return ebwt + _sideByteOff + (_fw? (-128) : (128));
+       }
+
+       uint32_t _sideByteOff; // offset of top side within ebwt[]
+       uint32_t _sideNum;     // index of side
+       uint16_t _charOff;     // character offset within side
+       bool _fw;              // side is forward or backward?
+       int16_t _by;           // byte within side (not adjusted for bw sides)
+       int8_t _bp;            // bitpair within byte (not adjusted for bw sides)
+};
+
+#include "ebwt_search_backtrack.h"
+
+///////////////////////////////////////////////////////////////////////
+//
+// Functions for printing and sanity-checking Ebwts
+//
+///////////////////////////////////////////////////////////////////////
+
+/**
+ * Given a range of positions in the EBWT array within the BWT portion
+ * of a forward side, print the characters at those positions along
+ * with a summary occ[] array.
+ */
+template<typename TStr>
+void Ebwt<TStr>::printRangeFw(uint32_t begin, uint32_t end) const {
+       assert(isInMemory());
+       uint32_t occ[] = {0, 0, 0, 0};
+       assert_gt(end, begin);
+       for(uint32_t i = begin; i < end; i++) {
+               uint8_t by = this->_ebwt[i];
+               for(int j = 0; j < 4; j++) {
+                       // Unpack from lowest to highest bit pair
+                       int twoBit = unpack_2b_from_8b(by, j);
+                       occ[twoBit]++;
+                       cout << "ACGT"[twoBit];
+               }
+               assert_eq(0, (occ[0] + occ[1] + occ[2] + occ[3]) & 3);
+       }
+       cout << ":{" << occ[0] << "," << occ[1] << "," << occ[2] << "," << occ[3] << "}" << endl;
+}
+
+/**
+ * Given a range of positions in the EBWT array within the BWT portion
+ * of a backward side, print the characters at those positions along
+ * with a summary occ[] array.
+ */
+template<typename TStr>
+void Ebwt<TStr>::printRangeBw(uint32_t begin, uint32_t end) const {
+       assert(isInMemory());
+       uint32_t occ[] = {0, 0, 0, 0};
+       assert_gt(end, begin);
+       for(uint32_t i = end-1; i >= begin; i--) {
+               uint8_t by = this->_ebwt[i];
+               for(int j = 3; j >= 0; j--) {
+                       // Unpack from lowest to highest bit pair
+                       int twoBit = unpack_2b_from_8b(by, j);
+                       occ[twoBit]++;
+                       cout << "ACGT"[twoBit];
+               }
+               assert_eq(0, (occ[0] + occ[1] + occ[2] + occ[3]) & 3);
+               if(i == 0) break;
+       }
+       cout << ":{" << occ[0] << "," << occ[1] << "," << occ[2] << "," << occ[3] << "}" << endl;
+}
+
+/**
+ * Check that the ebwt array is internally consistent up to (and not
+ * including) the given side index by re-counting the chars and
+ * comparing against the embedded occ[] arrays.
+ */
+template<typename TStr>
+void Ebwt<TStr>::sanityCheckUpToSide(int upToSide) const {
+       assert(isInMemory());
+       uint32_t occ[] = {0, 0, 0, 0};
+       uint32_t occ_save[] = {0, 0};
+       uint32_t cur = 0; // byte pointer
+       const EbwtParams& eh = this->_eh;
+       bool fw = false;
+       while(cur < (upToSide * eh._sideSz)) {
+               assert_leq(cur + eh._sideSz, eh._ebwtTotLen);
+               for(uint32_t i = 0; i < eh._sideBwtSz; i++) {
+                       uint8_t by = this->_ebwt[cur + (fw ? i : eh._sideBwtSz-i-1)];
+                       for(int j = 0; j < 4; j++) {
+                               // Unpack from lowest to highest bit pair
+                               int twoBit = unpack_2b_from_8b(by, fw ? j : 3-j);
+                               occ[twoBit]++;
+                               //if(_verbose) cout << "ACGT"[twoBit];
+                       }
+                       assert_eq(0, (occ[0] + occ[1] + occ[2] + occ[3]) % 4);
+               }
+               assert_eq(0, (occ[0] + occ[1] + occ[2] + occ[3]) % eh._sideBwtLen);
+               if(fw) {
+                       // Finished forward bucket; check saved [G] and [T]
+                       // against the two uint32_ts encoded here
+                       ASSERT_ONLY(uint32_t *u32ebwt = reinterpret_cast<uint32_t*>(&this->_ebwt[cur + eh._sideBwtSz]));
+                       ASSERT_ONLY(uint32_t gs = u32ebwt[0]);
+                       ASSERT_ONLY(uint32_t ts = u32ebwt[1]);
+                       assert_eq(gs, occ_save[0]);
+                       assert_eq(ts, occ_save[1]);
+                       fw = false;
+               } else {
+                       // Finished backward bucket; check current [A] and [C]
+                       // against the two uint32_ts encoded here
+                       ASSERT_ONLY(uint32_t *u32ebwt = reinterpret_cast<uint32_t*>(&this->_ebwt[cur + eh._sideBwtSz]));
+                       ASSERT_ONLY(uint32_t as = u32ebwt[0]);
+                       ASSERT_ONLY(uint32_t cs = u32ebwt[1]);
+                       assert(as == occ[0] || as == occ[0]-1); // one 'a' is a skipped '$' and doesn't count toward occ[]
+                       assert_eq(cs, occ[1]);
+                       occ_save[0] = occ[2]; // save gs
+                       occ_save[1] = occ[3]; // save ts
+                       fw = true;
+               }
+               cur += eh._sideSz;
+       }
+}
+
+/**
+ * Sanity-check various pieces of the Ebwt
+ */
+template<typename TStr>
+void Ebwt<TStr>::sanityCheckAll(int reverse) const {
+       const EbwtParams& eh = this->_eh;
+       assert(isInMemory());
+       // Check ftab
+       for(uint32_t i = 1; i < eh._ftabLen; i++) {
+               assert_geq(this->ftabHi(i), this->ftabLo(i-1));
+               assert_geq(this->ftabLo(i), this->ftabHi(i-1));
+               assert_leq(this->ftabHi(i), eh._bwtLen+1);
+       }
+       assert_eq(this->ftabHi(eh._ftabLen-1), eh._bwtLen);
+
+       // Check offs
+       int seenLen = (eh._bwtLen + 31) >> 5;
+       uint32_t *seen;
+       try {
+               seen = new uint32_t[seenLen]; // bitvector marking seen offsets
+       } catch(bad_alloc& e) {
+               cerr << "Out of memory allocating seen[] at " << __FILE__ << ":" << __LINE__ << endl;
+               throw e;
+       }
+       memset(seen, 0, 4 * seenLen);
+       uint32_t offsLen = eh._offsLen;
+       for(uint32_t i = 0; i < offsLen; i++) {
+               assert_lt(this->_offs[i], eh._bwtLen);
+               int w = this->_offs[i] >> 5;
+               int r = this->_offs[i] & 31;
+               assert_eq(0, (seen[w] >> r) & 1); // shouldn't have been seen before
+               seen[w] |= (1 << r);
+       }
+       delete[] seen;
+
+       // Check nPat
+       assert_gt(this->_nPat, 0);
+
+       // Check plen, flen
+       for(uint32_t i = 0; i < this->_nPat; i++) {
+               assert_geq(this->_plen[i], 0);
+       }
+
+       // Check rstarts
+       for(uint32_t i = 0; i < this->_nFrag-1; i++) {
+               assert_gt(this->_rstarts[(i+1)*3], this->_rstarts[i*3]);
+               if(reverse == REF_READ_REVERSE) {
+                       assert(this->_rstarts[(i*3)+1] >= this->_rstarts[((i+1)*3)+1]);
+               } else {
+                       assert(this->_rstarts[(i*3)+1] <= this->_rstarts[((i+1)*3)+1]);
+               }
+       }
+
+       // Check ebwt
+       sanityCheckUpToSide(eh._numSides);
+       VMSG_NL("Ebwt::sanityCheck passed");
+}
+
+///////////////////////////////////////////////////////////////////////
+//
+// Functions for searching Ebwts
+//
+///////////////////////////////////////////////////////////////////////
+
+/**
+ * Return the final character in row i (i.e. the i'th character in the
+ * BWT transform).  Note that the 'L' in the name of the function
+ * stands for 'last', as in the literature.
+ */
+template<typename TStr>
+inline int Ebwt<TStr>::rowL(const SideLocus& l) const {
+       // Extract and return appropriate bit-pair
+#ifdef SIXTY4_FORMAT
+       return (((uint64_t*)l.side(this->_ebwt))[l._by >> 3] >> ((((l._by & 7) << 2) + l._bp) << 1)) & 3;
+#else
+       return unpack_2b_from_8b(l.side(this->_ebwt)[l._by], l._bp);
+#endif
+}
+
+/**
+ * Inline-function version of the above.  This does not always seem to
+ * be inlined
+ */
+#if 0
+// Use gcc's intrinsic popcountll.  I don't recommend it because it
+// seems to be somewhat slower than the bit-bashing pop64 routine both
+// on an AMD server and on an Intel workstation.  On the other hand,
+// perhaps when the builtin is used GCC is smart enough to insert a
+// pop-count instruction on architectures that have one (e.g. Itanium).
+// For now, it's disabled.
+#define pop64(x) __builtin_popcountll(x)
+#elif 0
+__declspec naked int __stdcall pop64
+(uint64_t v)
+{
+static const uint64_t C55 = 0x5555555555555555ll;
+static const uint64_t C33 = 0x3333333333333333ll;
+static const uint64_t C0F = 0x0F0F0F0F0F0F0F0Fll;
+__asm {
+   MOVD      MM0, [ESP+4] ;v_low
+   PUNPCKLDQ MM0, [ESP+8] ;v
+   MOVQ      MM1, MM0     ;v
+   PSRLD     MM0, 1       ;v >> 1
+   PAND      MM0, [C55]   ;(v >> 1) & 0x55555555
+   PSUBD     MM1, MM0     ;w = v - ((v >> 1) & 0x55555555)
+   MOVQ      MM0, MM1     ;w
+   PSRLD     MM1, 2       ;w >> 2
+   PAND      MM0, [C33]   ;w & 0x33333333
+   PAND      MM1, [C33]   ;(w >> 2)  & 0x33333333
+   PADDD     MM0, MM1     ;x = (w & 0x33333333) +
+                          ; ((w >> 2) & 0x33333333)
+   MOVQ      MM1, MM0     ;x
+   PSRLD     MM0, 4       ;x >> 4
+   PADDD     MM0, MM1     ;x + (x >> 4)
+   PAND      MM0, [C0F]   ;y = (x + (x >> 4) & 0x0F0F0F0F)
+   PXOR      MM1, MM1     ;0
+   PSADBW    (MM0, MM1)   ;sum across all 8 bytes
+   MOVD      EAX, MM0     ;result in EAX per calling
+                          ; convention
+   EMMS                   ;clear MMX state
+   RET  8                 ;pop 8-byte argument off stack
+                          ; and return
+   }
+}
+#elif 0
+// Use a bytewise LUT version of popcount.  This is slower than the
+// bit-bashing pop64 routine both on an AMD server and on an Intel
+// workstation.  It seems to be about the same speed as the GCC builtin
+// on Intel, and a bit faster than it on AMD.  For now, it's disabled.
+const int popcntU8Table[256] = {
+    0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,1,2,2,3,2,3,3,4,2,3,3,4,3,4,4,5,
+    1,2,2,3,2,3,3,4,2,3,3,4,3,4,4,5,2,3,3,4,3,4,4,5,3,4,4,5,4,5,5,6,
+    1,2,2,3,2,3,3,4,2,3,3,4,3,4,4,5,2,3,3,4,3,4,4,5,3,4,4,5,4,5,5,6,
+    2,3,3,4,3,4,4,5,3,4,4,5,4,5,5,6,3,4,4,5,4,5,5,6,4,5,5,6,5,6,6,7,
+    1,2,2,3,2,3,3,4,2,3,3,4,3,4,4,5,2,3,3,4,3,4,4,5,3,4,4,5,4,5,5,6,
+    2,3,3,4,3,4,4,5,3,4,4,5,4,5,5,6,3,4,4,5,4,5,5,6,4,5,5,6,5,6,6,7,
+    2,3,3,4,3,4,4,5,3,4,4,5,4,5,5,6,3,4,4,5,4,5,5,6,4,5,5,6,5,6,6,7,
+    3,4,4,5,4,5,5,6,4,5,5,6,5,6,6,7,4,5,5,6,5,6,6,7,5,6,6,7,6,7,7,8
+};
+
+// Use this bytewise population count table
+inline static int pop64(uint64_t x) {
+       const unsigned char * p = (const unsigned char *) &x;
+       return popcntU8Table[p[0]] +
+              popcntU8Table[p[1]] +
+              popcntU8Table[p[2]] +
+              popcntU8Table[p[3]] +
+              popcntU8Table[p[4]] +
+              popcntU8Table[p[5]] +
+              popcntU8Table[p[6]] +
+              popcntU8Table[p[7]];
+}
+#else
+// Use this standard bit-bashing population count
+inline static int pop64(uint64_t x) {
+   x = x - ((x >> 1) & 0x5555555555555555llu);
+   x = (x & 0x3333333333333333llu) + ((x >> 2) & 0x3333333333333333llu);
+   x = (x + (x >> 4)) & 0x0F0F0F0F0F0F0F0Fllu;
+   x = x + (x >> 8);
+   x = x + (x >> 16);
+   x = x + (x >> 32);
+   return x & 0x3F;
+}
+#endif
+
+/**
+ * Tricky-bit-bashing bitpair counting for given two-bit value (0-3)
+ * within a 64-bit argument.
+ */
+inline static int countInU64(int c, uint64_t dw) {
+       uint64_t dwA  = dw &  0xAAAAAAAAAAAAAAAAllu;
+       uint64_t dwNA = dw & ~0xAAAAAAAAAAAAAAAAllu;
+       uint64_t tmp;
+       switch(c) {
+       case 0:
+               tmp = (dwA >> 1) | dwNA;
+               break;
+       case 1:
+               tmp = ~(dwA >> 1) & dwNA;
+               break;
+       case 2:
+               tmp = (dwA >> 1) & ~dwNA;
+               break;
+       case 3:
+               tmp = (dwA >> 1) & dwNA;
+               break;
+       default:
+               throw;
+       }
+       tmp = pop64(tmp); // Gets 7.62% in profile
+       if(c == 0) {
+               tmp = 32 - tmp;
+       }
+       assert_leq(tmp, 32);
+       assert_geq(tmp, 0);
+       return (int)tmp;
+}
+
+/**
+ * Tricky-bit-bashing bitpair counting for given two-bit value (0-3)
+ * within a 64-bit argument.
+ *
+ * Function gets 2.32% in profile
+ */
+inline static void countInU64Ex(uint64_t dw, uint32_t* arrs) {
+       uint64_t dwA  = dw &  0xAAAAAAAAAAAAAAAAllu;
+       uint64_t dwNA = dw & ~0xAAAAAAAAAAAAAAAAllu;
+       arrs[0] += (32 - pop64((dwA >> 1) | dwNA));
+       arrs[1] += pop64(~(dwA >> 1) & dwNA);
+       arrs[2] += pop64((dwA >> 1) & ~dwNA);
+       arrs[3] += pop64((dwA >> 1) & dwNA);
+}
+
+/**
+ * Counts the number of occurrences of character 'c' in the given Ebwt
+ * side up to (but not including) the given byte/bitpair (by/bp).
+ *
+ * This is a performance-critical function.  This is the top search-
+ * related hit in the time profile.
+ *
+ * Function gets 11.09% in profile
+ */
+template<typename TStr>
+inline uint32_t Ebwt<TStr>::countUpTo(const SideLocus& l, int c) const {
+       // Count occurrences of c in each 64-bit (using bit trickery);
+       // Someday countInU64() and pop() functions should be
+       // vectorized/SSE-ized in case that helps.
+       uint32_t cCnt = 0;
+       const uint8_t *side = l.side(this->_ebwt);
+       int i = 0;
+#if 1
+       for(; i + 7 < l._by; i += 8) {
+               cCnt += countInU64(c, *(uint64_t*)&side[i]);
+       }
+#else
+       for(; i + 2 < l._by; i += 2) {
+               cCnt += cCntLUT_16b_4[c][*(uint16_t*)&side[i]];
+       }
+#endif
+#ifdef SIXTY4_FORMAT
+       // Calculate number of bit pairs to shift off the end
+       const int bpShiftoff = 32 - (((l._by & 7) << 2) + l._bp);
+       if(bpShiftoff < 32) {
+               assert_lt(bpShiftoff, 32);
+               const uint64_t sw = (*(uint64_t*)&side[i]) << (bpShiftoff << 1);
+               cCnt += countInU64(c, sw);
+               if(c == 0) cCnt -= bpShiftoff; // we turned these into As
+       }
+#else
+       // Count occurences of c in the rest of the side (using LUT)
+       for(; i < l._by; i++) {
+               cCnt += cCntLUT_4[0][c][side[i]];
+       }
+       // Count occurences of c in the rest of the byte
+       if(l._bp > 0) {
+               cCnt += cCntLUT_4[(int)l._bp][c][side[i]];
+       }
+#endif
+       return cCnt;
+}
+
+/**
+ * Counts the number of occurrences of character 'c' in the given Ebwt
+ * side up to (but not including) the given byte/bitpair (by/bp).
+ */
+template<typename TStr>
+inline void Ebwt<TStr>::countUpToEx(const SideLocus& l, uint32_t* arrs) const {
+       int i = 0;
+       // Count occurrences of c in each 64-bit (using bit trickery);
+       // note: this seems does not seem to lend a significant boost to
+       // performance.  If you comment out this whole loop (which won't
+       // affect correctness - it will just cause the following loop to
+       // take up the slack) then runtime does not change noticeably.
+       // Someday the countInU64() and pop() functions should be
+       // vectorized/SSE-ized in case that helps.
+       const uint8_t *side = l.side(this->_ebwt);
+       for(; i+7 < l._by; i += 8) {
+               countInU64Ex(*(uint64_t*)&side[i], arrs);
+       }
+#ifdef SIXTY4_FORMAT
+       // Calculate number of bit pairs to shift off the end
+       const int bpShiftoff = 32 - (((l._by & 7) << 2) + l._bp);
+       assert_leq(bpShiftoff, 32);
+       if(bpShiftoff < 32) {
+               const uint64_t sw = (*(uint64_t*)&l.side(this->_ebwt)[i]) << (bpShiftoff << 1);
+               countInU64Ex(sw, arrs);
+               arrs[0] -= bpShiftoff;
+       }
+#else
+       // Count occurences of c in the rest of the side (using LUT)
+       for(; i < l._by; i++) {
+               arrs[0] += cCntLUT_4[0][0][side[i]];
+               arrs[1] += cCntLUT_4[0][1][side[i]];
+               arrs[2] += cCntLUT_4[0][2][side[i]];
+               arrs[3] += cCntLUT_4[0][3][side[i]];
+       }
+       // Count occurences of c in the rest of the byte
+       if(l._bp > 0) {
+               arrs[0] += cCntLUT_4[(int)l._bp][0][side[i]];
+               arrs[1] += cCntLUT_4[(int)l._bp][1][side[i]];
+               arrs[2] += cCntLUT_4[(int)l._bp][2][side[i]];
+               arrs[3] += cCntLUT_4[(int)l._bp][3][side[i]];
+       }
+#endif
+}
+
+/**
+ * Count all occurrences of character c from the beginning of the
+ * forward side to <by,bp> and add in the occ[] count up to the side
+ * break just prior to the side.
+ */
+template<typename TStr>
+inline uint32_t Ebwt<TStr>::countFwSide(const SideLocus& l, int c) const {
+       assert_lt(c, 4);
+       assert_geq(c, 0);
+       assert_lt(l._by, (int)this->_eh._sideBwtSz);
+       assert_geq(l._by, 0);
+       assert_lt(l._bp, 4);
+       assert_geq(l._bp, 0);
+       const uint8_t *side = l.side(this->_ebwt);
+       uint32_t cCnt = countUpTo(l, c);
+       assert_leq(cCnt, this->_eh._sideBwtLen);
+       if(c == 0 && l._sideByteOff <= _zEbwtByteOff && l._sideByteOff + l._by >= _zEbwtByteOff) {
+               // Adjust for the fact that we represented $ with an 'A', but
+               // shouldn't count it as an 'A' here
+               if((l._sideByteOff + l._by > _zEbwtByteOff) ||
+                  (l._sideByteOff + l._by == _zEbwtByteOff && l._bp > _zEbwtBpOff))
+               {
+                       cCnt--; // Adjust for '$' looking like an 'A'
+               }
+       }
+       uint32_t ret;
+       // Now factor in the occ[] count at the side break
+       if(c < 2) {
+               const uint32_t *ac = reinterpret_cast<const uint32_t*>(side - 8);
+               assert_leq(ac[0], this->_eh._numSides * this->_eh._sideBwtLen); // b/c it's used as padding
+               assert_leq(ac[1], this->_eh._len);
+               ret = ac[c] + cCnt + this->_fchr[c];
+       } else {
+               const uint32_t *gt = reinterpret_cast<const uint32_t*>(side + this->_eh._sideSz - 8); // next
+               assert_leq(gt[0], this->_eh._len); assert_leq(gt[1], this->_eh._len);
+               ret = gt[c-2] + cCnt + this->_fchr[c];
+       }
+#ifndef NDEBUG
+       assert_leq(ret, this->_fchr[c+1]); // can't have jumpded into next char's section
+       if(c == 0) {
+               assert_leq(cCnt, this->_eh._sideBwtLen);
+       } else {
+               assert_leq(ret, this->_eh._bwtLen);
+       }
+#endif
+       return ret;
+}
+
+/**
+ * Count all occurrences of character c from the beginning of the
+ * forward side to <by,bp> and add in the occ[] count up to the side
+ * break just prior to the side.
+ */
+template<typename TStr>
+inline void Ebwt<TStr>::countFwSideEx(const SideLocus& l, uint32_t* arrs) const
+{
+       assert_lt(l._by, (int)this->_eh._sideBwtSz);
+       assert_geq(l._by, 0);
+       assert_lt(l._bp, 4);
+       assert_geq(l._bp, 0);
+       countUpToEx(l, arrs);
+#ifndef NDEBUG
+       assert_leq(arrs[0], this->_fchr[1]); // can't have jumped into next char's section
+       assert_leq(arrs[1], this->_fchr[2]); // can't have jumped into next char's section
+       assert_leq(arrs[2], this->_fchr[3]); // can't have jumped into next char's section
+       assert_leq(arrs[3], this->_fchr[4]); // can't have jumped into next char's section
+#endif
+       assert_leq(arrs[0], this->_eh._sideBwtLen);
+       assert_leq(arrs[1], this->_eh._sideBwtLen);
+       assert_leq(arrs[2], this->_eh._sideBwtLen);
+       assert_leq(arrs[3], this->_eh._sideBwtLen);
+       const uint8_t *side = l.side(this->_ebwt);
+       if(l._sideByteOff <= _zEbwtByteOff && l._sideByteOff + l._by >= _zEbwtByteOff) {
+               // Adjust for the fact that we represented $ with an 'A', but
+               // shouldn't count it as an 'A' here
+               if((l._sideByteOff + l._by > _zEbwtByteOff) ||
+                  (l._sideByteOff + l._by == _zEbwtByteOff && l._bp > _zEbwtBpOff))
+               {
+                       arrs[0]--; // Adjust for '$' looking like an 'A'
+               }
+       }
+       // Now factor in the occ[] count at the side break
+       const uint32_t *ac = reinterpret_cast<const uint32_t*>(side - 8);
+       const uint32_t *gt = reinterpret_cast<const uint32_t*>(side + this->_eh._sideSz - 8);
+#ifndef NDEBUG
+       assert_leq(ac[0], this->_fchr[1] + this->_eh.sideBwtLen());
+       assert_leq(ac[1], this->_fchr[2]-this->_fchr[1]);
+       assert_leq(gt[0], this->_fchr[3]-this->_fchr[2]);
+       assert_leq(gt[1], this->_fchr[4]-this->_fchr[3]);
+#endif
+       assert_leq(ac[0], this->_eh._len + this->_eh.sideBwtLen()); assert_leq(ac[1], this->_eh._len);
+       assert_leq(gt[0], this->_eh._len); assert_leq(gt[1], this->_eh._len);
+       arrs[0] += (ac[0] + this->_fchr[0]);
+       arrs[1] += (ac[1] + this->_fchr[1]);
+       arrs[2] += (gt[0] + this->_fchr[2]);
+       arrs[3] += (gt[1] + this->_fchr[3]);
+#ifndef NDEBUG
+       assert_leq(arrs[0], this->_fchr[1]); // can't have jumpded into next char's section
+       assert_leq(arrs[1], this->_fchr[2]); // can't have jumpded into next char's section
+       assert_leq(arrs[2], this->_fchr[3]); // can't have jumpded into next char's section
+       assert_leq(arrs[3], this->_fchr[4]); // can't have jumpded into next char's section
+#endif
+}
+
+/**
+ * Count all instances of character c from <by,bp> to the logical end
+ * (actual beginning) of the backward side, and subtract that from the
+ * occ[] count up to the side break.
+ */
+template<typename TStr>
+inline uint32_t Ebwt<TStr>::countBwSide(const SideLocus& l, int c) const {
+       assert_lt(c, 4);
+       assert_geq(c, 0);
+       assert_lt(l._by, (int)this->_eh._sideBwtSz);
+       assert_geq(l._by, 0);
+       assert_lt(l._bp, 4);
+       assert_geq(l._bp, 0);
+       const uint8_t *side = l.side(this->_ebwt);
+       uint32_t cCnt = countUpTo(l, c);
+       if(rowL(l) == c) cCnt++;
+       assert_leq(cCnt, this->_eh._sideBwtLen);
+       if(c == 0 && l._sideByteOff <= _zEbwtByteOff && l._sideByteOff + l._by >= _zEbwtByteOff) {
+               // Adjust for the fact that we represented $ with an 'A', but
+               // shouldn't count it as an 'A' here
+               if((l._sideByteOff + l._by > _zEbwtByteOff) ||
+                  (l._sideByteOff + l._by == _zEbwtByteOff && l._bp >= _zEbwtBpOff))
+               {
+                       cCnt--;
+               }
+       }
+       uint32_t ret;
+       // Now factor in the occ[] count at the side break
+       if(c < 2) {
+               const uint32_t *ac = reinterpret_cast<const uint32_t*>(side + this->_eh._sideSz - 8);
+               assert_leq(ac[0], this->_eh._numSides * this->_eh._sideBwtLen); // b/c it's used as padding
+               assert_leq(ac[1], this->_eh._len);
+               ret = ac[c] - cCnt + this->_fchr[c];
+       } else {
+               const uint32_t *gt = reinterpret_cast<const uint32_t*>(side + (2*this->_eh._sideSz) - 8); // next
+               assert_leq(gt[0], this->_eh._len); assert_leq(gt[1], this->_eh._len);
+               ret = gt[c-2] - cCnt + this->_fchr[c];
+       }
+#ifndef NDEBUG
+       assert_leq(ret, this->_fchr[c+1]); // can't have jumped into next char's section
+       if(c == 0) {
+               assert_leq(cCnt, this->_eh._sideBwtLen);
+       } else {
+               assert_lt(ret, this->_eh._bwtLen);
+       }
+#endif
+       return ret;
+}
+
+/**
+ * Count all instances of character c from <by,bp> to the logical end
+ * (actual beginning) of the backward side, and subtract that from the
+ * occ[] count up to the side break.
+ */
+template<typename TStr>
+inline void Ebwt<TStr>::countBwSideEx(const SideLocus& l, uint32_t* arrs) const {
+       assert_lt(l._by, (int)this->_eh._sideBwtSz);
+       assert_geq(l._by, 0);
+       assert_lt(l._bp, 4);
+       assert_geq(l._bp, 0);
+       const uint8_t *side = l.side(this->_ebwt);
+       countUpToEx(l, arrs);
+       arrs[rowL(l)]++;
+       assert_leq(arrs[0], this->_eh._sideBwtLen);
+       assert_leq(arrs[1], this->_eh._sideBwtLen);
+       assert_leq(arrs[2], this->_eh._sideBwtLen);
+       assert_leq(arrs[3], this->_eh._sideBwtLen);
+       if(l._sideByteOff <= _zEbwtByteOff && l._sideByteOff + l._by >= _zEbwtByteOff) {
+               // Adjust for the fact that we represented $ with an 'A', but
+               // shouldn't count it as an 'A' here
+               if((l._sideByteOff + l._by > _zEbwtByteOff) ||
+                  (l._sideByteOff + l._by == _zEbwtByteOff && l._bp >= _zEbwtBpOff))
+               {
+                       arrs[0]--; // Adjust for '$' looking like an 'A'
+               }
+       }
+       // Now factor in the occ[] count at the side break
+       const uint32_t *ac = reinterpret_cast<const uint32_t*>(side + this->_eh._sideSz - 8);
+       const uint32_t *gt = reinterpret_cast<const uint32_t*>(side + (2*this->_eh._sideSz) - 8);
+#ifndef NDEBUG
+       assert_leq(ac[0], this->_fchr[1] + this->_eh.sideBwtLen());
+       assert_leq(ac[1], this->_fchr[2]-this->_fchr[1]);
+       assert_leq(gt[0], this->_fchr[3]-this->_fchr[2]);
+       assert_leq(gt[1], this->_fchr[4]-this->_fchr[3]);
+#endif
+       assert_leq(ac[0], this->_eh._len + this->_eh.sideBwtLen()); assert_leq(ac[1], this->_eh._len);
+       assert_leq(gt[0], this->_eh._len); assert_leq(gt[1], this->_eh._len);
+       arrs[0] = (ac[0] - arrs[0] + this->_fchr[0]);
+       arrs[1] = (ac[1] - arrs[1] + this->_fchr[1]);
+       arrs[2] = (gt[0] - arrs[2] + this->_fchr[2]);
+       arrs[3] = (gt[1] - arrs[3] + this->_fchr[3]);
+#ifndef NDEBUG
+       assert_leq(arrs[0], this->_fchr[1]); // can't have jumped into next char's section
+       assert_leq(arrs[1], this->_fchr[2]); // can't have jumped into next char's section
+       assert_leq(arrs[2], this->_fchr[3]); // can't have jumped into next char's section
+       assert_leq(arrs[3], this->_fchr[4]); // can't have jumped into next char's section
+#endif
+}
+
+/**
+ * Given top and bot loci, calculate counts of all four DNA chars up to
+ * those loci.  Used for more advanced backtracking-search.
+ */
+template<typename TStr>
+inline void Ebwt<TStr>::mapLFEx(const SideLocus& ltop,
+                                const SideLocus& lbot,
+                                uint32_t *tops,
+                                uint32_t *bots
+                                ASSERT_ONLY(, bool overrideSanity)
+                                ) const
+{
+       // TODO: Where there's overlap, reuse the count for the overlapping
+       // portion
+#ifdef EBWT_STATS
+       const_cast<Ebwt<TStr>*>(this)->mapLFExs_++;
+#endif
+       assert_eq(0, tops[0]); assert_eq(0, bots[0]);
+       assert_eq(0, tops[1]); assert_eq(0, bots[1]);
+       assert_eq(0, tops[2]); assert_eq(0, bots[2]);
+       assert_eq(0, tops[3]); assert_eq(0, bots[3]);
+       if(ltop._fw) countFwSideEx(ltop, tops); // Forward side
+       else         countBwSideEx(ltop, tops); // Backward side
+       if(lbot._fw) countFwSideEx(lbot, bots); // Forward side
+       else         countBwSideEx(lbot, bots); // Backward side
+#ifndef NDEBUG
+       if(_sanity && !overrideSanity) {
+               // Make sure results match up with individual calls to mapLF;
+               // be sure to override sanity-checking in the callee, or we'll
+               // have infinite recursion
+               assert_eq(mapLF(ltop, 0, true), tops[0]);
+               assert_eq(mapLF(ltop, 1, true), tops[1]);
+               assert_eq(mapLF(ltop, 2, true), tops[2]);
+               assert_eq(mapLF(ltop, 3, true), tops[3]);
+               assert_eq(mapLF(lbot, 0, true), bots[0]);
+               assert_eq(mapLF(lbot, 1, true), bots[1]);
+               assert_eq(mapLF(lbot, 2, true), bots[2]);
+               assert_eq(mapLF(lbot, 3, true), bots[3]);
+       }
+#endif
+}
+
+#ifndef NDEBUG
+/**
+ * Given top and bot loci, calculate counts of all four DNA chars up to
+ * those loci.  Used for more advanced backtracking-search.
+ */
+template<typename TStr>
+inline void Ebwt<TStr>::mapLFEx(const SideLocus& l,
+                                uint32_t *arrs
+                                ASSERT_ONLY(, bool overrideSanity)
+                                ) const
+{
+       assert_eq(0, arrs[0]);
+       assert_eq(0, arrs[1]);
+       assert_eq(0, arrs[2]);
+       assert_eq(0, arrs[3]);
+       if(l._fw) countFwSideEx(l, arrs); // Forward side
+       else      countBwSideEx(l, arrs); // Backward side
+#ifndef NDEBUG
+       if(_sanity && !overrideSanity) {
+               // Make sure results match up with individual calls to mapLF;
+               // be sure to override sanity-checking in the callee, or we'll
+               // have infinite recursion
+               assert_eq(mapLF(l, 0, true), arrs[0]);
+               assert_eq(mapLF(l, 1, true), arrs[1]);
+               assert_eq(mapLF(l, 2, true), arrs[2]);
+               assert_eq(mapLF(l, 3, true), arrs[3]);
+       }
+#endif
+}
+#endif
+
+/**
+ * Given row i, return the row that the LF mapping maps i to.
+ */
+template<typename TStr>
+inline uint32_t Ebwt<TStr>::mapLF(const SideLocus& l
+                                  ASSERT_ONLY(, bool overrideSanity)
+                                  ) const
+{
+#ifdef EBWT_STATS
+       const_cast<Ebwt<TStr>*>(this)->mapLFs_++;
+#endif
+       uint32_t ret;
+       assert(l.side(this->_ebwt) != NULL);
+       int c = rowL(l);
+       assert_lt(c, 4);
+       assert_geq(c, 0);
+       if(l._fw) ret = countFwSide(l, c); // Forward side
+       else      ret = countBwSide(l, c); // Backward side
+       assert_lt(ret, this->_eh._bwtLen);
+#ifndef NDEBUG
+       if(_sanity && !overrideSanity) {
+               // Make sure results match up with results from mapLFEx;
+               // be sure to override sanity-checking in the callee, or we'll
+               // have infinite recursion
+               uint32_t arrs[] = { 0, 0, 0, 0 };
+               mapLFEx(l, arrs, true);
+               assert_eq(arrs[c], ret);
+       }
+#endif
+       return ret;
+}
+
+/**
+ * Given row i and character c, return the row that the LF mapping maps
+ * i to on character c.
+ */
+template<typename TStr>
+inline uint32_t Ebwt<TStr>::mapLF(const SideLocus& l, int c
+                                  ASSERT_ONLY(, bool overrideSanity)
+                                  ) const
+{
+#ifdef EBWT_STATS
+       const_cast<Ebwt<TStr>*>(this)->mapLFcs_++;
+#endif
+       uint32_t ret;
+       assert_lt(c, 4);
+       assert_geq(c, 0);
+       if(l._fw) ret = countFwSide(l, c); // Forward side
+       else      ret = countBwSide(l, c); // Backward side
+       assert_lt(ret, this->_eh._bwtLen);
+#ifndef NDEBUG
+       if(_sanity && !overrideSanity) {
+               // Make sure results match up with results from mapLFEx;
+               // be sure to override sanity-checking in the callee, or we'll
+               // have infinite recursion
+               uint32_t arrs[] = { 0, 0, 0, 0 };
+               mapLFEx(l, arrs, true);
+               assert_eq(arrs[c], ret);
+       }
+#endif
+       return ret;
+}
+
+/**
+ * Given row i and character c, return the row that the LF mapping maps
+ * i to on character c.
+ */
+template<typename TStr>
+inline uint32_t Ebwt<TStr>::mapLF1(uint32_t row, const SideLocus& l, int c
+                                   ASSERT_ONLY(, bool overrideSanity)
+                                   ) const
+{
+#ifdef EBWT_STATS
+       const_cast<Ebwt<TStr>*>(this)->mapLF1cs_++;
+#endif
+       if(rowL(l) != c || row == _zOff) return 0xffffffff;
+       uint32_t ret;
+       assert_lt(c, 4);
+       assert_geq(c, 0);
+       if(l._fw) ret = countFwSide(l, c); // Forward side
+       else      ret = countBwSide(l, c); // Backward side
+       assert_lt(ret, this->_eh._bwtLen);
+#ifndef NDEBUG
+       if(_sanity && !overrideSanity) {
+               // Make sure results match up with results from mapLFEx;
+               // be sure to override sanity-checking in the callee, or we'll
+               // have infinite recursion
+               uint32_t arrs[] = { 0, 0, 0, 0 };
+               mapLFEx(l, arrs, true);
+               assert_eq(arrs[c], ret);
+       }
+#endif
+       return ret;
+}
+
+/**
+ * Given row i and character c, return the row that the LF mapping maps
+ * i to on character c.
+ */
+template<typename TStr>
+inline int Ebwt<TStr>::mapLF1(uint32_t& row, const SideLocus& l
+                              ASSERT_ONLY(, bool overrideSanity)
+                              ) const
+{
+#ifdef EBWT_STATS
+       const_cast<Ebwt<TStr>*>(this)->mapLF1s_++;
+#endif
+       if(row == _zOff) return -1;
+       int c = rowL(l);
+       assert_lt(c, 4);
+       assert_geq(c, 0);
+       if(l._fw) row = countFwSide(l, c); // Forward side
+       else      row = countBwSide(l, c); // Backward side
+       assert_lt(row, this->_eh._bwtLen);
+#ifndef NDEBUG
+       if(_sanity && !overrideSanity) {
+               // Make sure results match up with results from mapLFEx;
+               // be sure to override sanity-checking in the callee, or we'll
+               // have infinite recursion
+               uint32_t arrs[] = { 0, 0, 0, 0 };
+               mapLFEx(l, arrs, true);
+               assert_eq(arrs[c], row);
+       }
+#endif
+       return c;
+}
+
+/**
+ * Take an offset into the joined text and translate it into the
+ * reference of the index it falls on, the offset into the reference,
+ * and the length of the reference.  Use a binary search through the
+ * sorted list of reference fragment ranges t
+ */
+template<typename TStr>
+void Ebwt<TStr>::joinedToTextOff(uint32_t qlen, uint32_t off,
+                                 uint32_t& tidx,
+                                 uint32_t& textoff,
+                                 uint32_t& tlen) const
+{
+       uint32_t top = 0;
+       uint32_t bot = _nFrag; // 1 greater than largest addressable element
+       uint32_t elt = 0xffffffff;
+       // Begin binary search
+       while(true) {
+               ASSERT_ONLY(uint32_t oldelt = elt);
+               elt = top + ((bot - top) >> 1);
+               assert_neq(oldelt, elt); // must have made progress
+               uint32_t lower = _rstarts[elt*3];
+               uint32_t upper;
+               if(elt == _nFrag-1) {
+                       upper = _eh._len;
+               } else {
+                       upper = _rstarts[((elt+1)*3)];
+               }
+               assert_gt(upper, lower);
+               uint32_t fraglen = upper - lower;
+               if(lower <= off) {
+                       if(upper > off) { // not last element, but it's within
+                               // off is in this range; check if it falls off
+                               if(off + qlen > upper) {
+                                       // it falls off; signal no-go and return
+                                       tidx = 0xffffffff;
+                                       assert_lt(elt, _nFrag-1);
+                                       return;
+                               }
+                               tidx = _rstarts[(elt*3)+1];
+                               assert_lt(tidx, this->_nPat);
+                               assert_leq(fraglen, this->_plen[tidx]);
+                               // it doesn't fall off; now calculate textoff.
+                               // Initially it's the number of characters that precede
+                               // the alignment in the fragment
+                               uint32_t fragoff = off - _rstarts[(elt*3)];
+                               if(!this->_fw) {
+                                       fragoff = fraglen - fragoff - 1;
+                                       fragoff -= (qlen-1);
+                               }
+                               // Add the alignment's offset into the fragment
+                               // ('fragoff') to the fragment's offset within the text
+                               textoff = fragoff + _rstarts[(elt*3)+2];
+                               assert_lt(textoff, this->_plen[tidx]);
+                               break; // done with binary search
+                       } else {
+                               // 'off' belongs somewhere in the region between elt
+                               // and bot
+                               top = elt;
+                       }
+               } else {
+                       // 'off' belongs somewhere in the region between top and
+                       // elt
+                       bot = elt;
+               }
+               // continue with binary search
+       }
+       tlen = this->_plen[tidx];
+}
+
+/**
+ * Report a potential match at offset 'off' with pattern length
+ * 'qlen'.  Filter out spurious matches that span texts.
+ */
+template<typename TStr>
+inline bool Ebwt<TStr>::report(const String<Dna5>& query,
+                               String<char>* quals,
+                               String<char>* name,
+                               bool color,
+                               bool colExEnds,
+                               int snpPhred,
+                               const BitPairReference* ref,
+                               const std::vector<uint32_t>& mmui32,
+                               const std::vector<uint8_t>& refcs,
+                               size_t numMms,
+                               uint32_t off,
+                               uint32_t top,
+                               uint32_t bot,
+                               uint32_t qlen,
+                               int stratum,
+                               uint16_t cost,
+                               uint32_t patid,
+                               uint32_t seed,
+                               const EbwtSearchParams<TStr>& params) const
+{
+       VMSG_NL("In report");
+       assert_geq(cost, (uint32_t)(stratum << 14));
+       assert_lt(off, this->_eh._len);
+       uint32_t tidx;
+       uint32_t textoff;
+       uint32_t tlen;
+       joinedToTextOff(qlen, off, tidx, textoff, tlen);
+       if(tidx == 0xffffffff) {
+               return false;
+       }
+       return params.reportHit(
+                       query,                    // read sequence
+                       quals,                    // read quality values
+                       name,                     // read name
+                       color,                    // true -> read is colorspace
+                       colExEnds,                // true -> exclude nucleotides on ends
+                       snpPhred,                 // phred probability of SNP
+                       ref,                      // reference sequence
+                       rmap_,                    // map to another reference coordinate system
+                       _fw,                      // true = index is forward; false = mirror
+                       mmui32,                   // mismatch positions
+                       refcs,                    // reference characters for mms
+                       numMms,                   // # mismatches
+                       make_pair(tidx, textoff), // position
+                       make_pair(0, 0),          // (bogus) mate position
+                       true,                     // (bogus) mate orientation
+                       0,                        // (bogus) mate length
+                       make_pair(top, bot),      // arrows
+                       tlen,                     // textlen
+                       qlen,                     // qlen
+                       stratum,                  // alignment stratum
+                       cost,                     // cost, including stratum & quality penalty
+                       bot-top-1,                // # other hits
+                       patid,                    // pattern id
+                       seed,                     // pseudo-random seed
+                       0);                       // mate (0 = unpaired)
+}
+
+#include "row_chaser.h"
+
+/**
+ * Report a result.  Involves walking backwards along the original
+ * string by way of the LF-mapping until we reach a marked SA row or
+ * the row corresponding to the 0th suffix.  A marked row's offset
+ * into the original string can be read directly from the this->_offs[]
+ * array.
+ */
+template<typename TStr>
+inline bool Ebwt<TStr>::reportChaseOne(const String<Dna5>& query,
+                                       String<char>* quals,
+                                       String<char>* name,
+                                       bool color,
+                                       bool colExEnds,
+                                       int snpPhred,
+                                       const BitPairReference* ref,
+                                       const std::vector<uint32_t>& mmui32,
+                                       const std::vector<uint8_t>& refcs,
+                                       size_t numMms,
+                                       uint32_t i,
+                                       uint32_t top,
+                                       uint32_t bot,
+                                       uint32_t qlen,
+                                       int stratum,
+                                       uint16_t cost,
+                                       uint32_t patid,
+                                       uint32_t seed,
+                                       const EbwtSearchParams<TStr>& params,
+                                       SideLocus *l) const
+{
+       VMSG_NL("In reportChaseOne");
+       uint32_t off;
+       uint32_t jumps = 0;
+       ASSERT_ONLY(uint32_t origi = i);
+       SideLocus myl;
+       const uint32_t offMask = this->_eh._offMask;
+       const uint32_t offRate = this->_eh._offRate;
+       const uint32_t* offs = this->_offs;
+       // If the caller didn't give us a pre-calculated (and prefetched)
+       // locus, then we have to do that now
+       if(l == NULL) {
+               l = &myl;
+               l->initFromRow(i, this->_eh, this->_ebwt);
+       }
+       assert(l != NULL);
+       assert(l->valid());
+       // Walk along until we reach the next marked row to the left
+       while(((i & offMask) != i) && i != _zOff) {
+               // Not a marked row; walk left one more char
+               uint32_t newi = mapLF(*l); // calc next row
+               assert_neq(newi, i);
+               i = newi;                                  // update row
+               l->initFromRow(i, this->_eh, this->_ebwt); // update locus
+               jumps++;
+       }
+       // This is a marked row
+       if(i == _zOff) {
+               // Special case: it's the row corresponding to the
+               // lexicographically smallest suffix, which is implicitly
+               // marked 0
+               off = jumps;
+               VMSG_NL("reportChaseOne found zoff off=" << off << " (jumps=" << jumps << ")");
+       } else {
+               // Normal marked row, calculate offset of row i
+               off = offs[i >> offRate] + jumps;
+               VMSG_NL("reportChaseOne found off=" << off << " (jumps=" << jumps << ")");
+       }
+#ifndef NDEBUG
+       {
+               uint32_t rcoff = RowChaser<TStr>::toFlatRefOff(this, qlen, origi);
+               assert_eq(rcoff, off);
+       }
+#endif
+       return report(query, quals, name, color, colExEnds, snpPhred, ref,
+                     mmui32, refcs, numMms, off, top, bot, qlen, stratum,
+                     cost, patid, seed, params);
+}
+
+/**
+ * Report a result.  Involves walking backwards along the original
+ * string by way of the LF-mapping until we reach a marked SA row or
+ * the row corresponding to the 0th suffix.  A marked row's offset
+ * into the original string can be read directly from the this->_offs[]
+ * array.
+ */
+template<typename TStr>
+inline bool Ebwt<TStr>::reportReconstruct(const String<Dna5>& query,
+                                          String<char>* quals,
+                                          String<char>* name,
+                                          String<Dna5>& lbuf,
+                                          String<Dna5>& rbuf,
+                                          const uint32_t *mmui32,
+                                          const char* refcs,
+                                          size_t numMms,
+                                          uint32_t i,
+                                          uint32_t top,
+                                          uint32_t bot,
+                                          uint32_t qlen,
+                                          int stratum,
+                                          const EbwtSearchParams<TStr>& params,
+                                          SideLocus *l) const
+{
+       VMSG_NL("In reportReconstruct");
+       assert_gt(_eh._isaLen, 0); // Must have inverse suffix array to reconstruct
+       uint32_t off;
+       uint32_t jumps = 0;
+       SideLocus myl;
+       const uint32_t offMask = this->_eh._offMask;
+       const uint32_t offRate = this->_eh._offRate;
+       const uint32_t* offs = this->_offs;
+       const uint32_t* isa = this->_isa;
+       assert(isa != NULL);
+       if(l == NULL) {
+               l = &myl;
+               myl.initFromRow(i, this->_eh, this->_ebwt);
+       }
+       assert(l != NULL);
+       clear(lbuf); clear(rbuf);
+       // Walk along until we reach the next marked row to the left
+       while(((i & offMask) != i) && i != _zOff) {
+               // Not a marked row; walk left one more char
+               int c = rowL(*l);
+               appendValue(lbuf, (Dna5)c);
+               uint32_t newi;
+               assert_lt(c, 4);
+               assert_geq(c, 0);
+               if(l->_fw) newi = countFwSide(*l, c); // Forward side
+               else       newi = countBwSide(*l, c); // Backward side
+               assert_lt(newi, this->_eh._bwtLen);
+               assert_neq(newi, i);
+               i = newi;                                  // update row
+               l->initFromRow(i, this->_eh, this->_ebwt); // update locus
+               jumps++;
+       }
+       // This is a marked row
+       if(i == _zOff) {
+               // Special case: it's the row corresponding to the
+               // lexicographically smallest suffix, which is implicitly
+               // marked 0
+               off = jumps;
+               VMSG_NL("reportChaseOne found zoff off=" << off << " (jumps=" << jumps << ")");
+       } else {
+               // Normal marked row, calculate offset of row i
+               off = offs[i >> offRate] + jumps;
+               VMSG_NL("reportChaseOne found off=" << off << " (jumps=" << jumps << ")");
+       }
+       // 'off' now holds the text offset of the first (leftmost) position
+       // involved in the alignment.  Next we call joinedToTextOff to
+       // check whether the seed is valid (i.e., does not straddle a
+       // boundary between two reference seuqences) and to obtain its
+       // extents
+       uint32_t tidx;    // the index (id) of the reference we hit in
+       uint32_t textoff; // the offset of the alignment within the reference
+       uint32_t tlen;    // length of reference seed hit in
+       joinedToTextOff(qlen, off, tidx, textoff, tlen);
+       if(tidx == 0xffffffff) {
+               // The seed straddled a reference boundary, and so is spurious.
+               // Return false, indicating that we shouldn't stop.
+               return false;
+       }
+       if(jumps > textoff) {
+               // In our progress toward a marked row, we passed the boundary
+               // between the reference sequence containing the seed and the
+               // reference sequence to the left of it.  That's OK, we just
+               // need to knock off the extra characters we added to 'lbuf'.
+               assert_eq(jumps, length(lbuf));
+               _setLength(lbuf, textoff);
+               jumps = textoff;
+               assert_eq(textoff, length(lbuf));
+       } else if(jumps < textoff) {
+               // Keep walking until we reach the end of the reference
+               assert_neq(i, _zOff);
+               uint32_t diff = textoff-jumps;
+               for(size_t j = 0; j < diff; j++) {
+                       // Not a marked row; walk left one more char
+                       int c = rowL(*l);
+                       appendValue(lbuf, (Dna5)c);
+                       uint32_t newi;
+                       assert_lt(c, 4);
+                       assert_geq(c, 0);
+                       if(l->_fw) newi = countFwSide(*l, c); // Forward side
+                       else       newi = countBwSide(*l, c); // Backward side
+                       assert_lt(newi, this->_eh._bwtLen);
+                       assert_neq(newi, i);
+                       i = newi;                                  // update row
+                       assert_neq(i, _zOff);
+                       l->initFromRow(i, this->_eh, this->_ebwt); // update locus
+                       jumps++;
+               }
+               assert_eq(textoff, jumps);
+               assert_eq(textoff, length(lbuf));
+       }
+       assert_eq(textoff, jumps);
+       assert_eq(textoff, length(lbuf));
+       // Calculate the right-hand extent of the reference
+       uint32_t ref_right = off - textoff + tlen;
+       // Round the right-hand extent to the nearest ISA element that maps
+       // to it or a character to its right
+       uint32_t ref_right_rounded = ref_right;
+       if((ref_right_rounded & _eh._isaMask) != ref_right_rounded) {
+               ref_right_rounded = ((ref_right_rounded >> _eh._isaRate)+1) << _eh._isaRate;
+       }
+       // TODO: handle case where ref_right_rounded is off the end of _isa
+       // Let the current suffix-array elt be determined by the ISA
+       if((ref_right_rounded >> _eh._isaRate) >= _eh._isaLen) {
+               i = _eh._len;
+               ref_right_rounded = _eh._len;
+       } else {
+               i = isa[ref_right_rounded >> _eh._isaRate];
+       }
+       uint32_t right_steps_rounded = ref_right_rounded - (off + qlen);
+       uint32_t right_steps = ref_right - (off + qlen);
+       l->initFromRow(i, this->_eh, this->_ebwt); // update locus
+       for(size_t j = 0; j < right_steps_rounded; j++) {
+               // Not a marked row; walk left one more char
+               int c = rowL(*l);
+               appendValue(rbuf, (Dna5)c);
+               uint32_t newi;
+               assert_lt(c, 4); assert_geq(c, 0);
+               if(l->_fw) newi = countFwSide(*l, c); // Forward side
+               else       newi = countBwSide(*l, c); // Backward side
+               assert_lt(newi, this->_eh._bwtLen);
+               assert_neq(newi, i);
+               i = newi;                                  // update row
+               assert_neq(i, _zOff);
+               l->initFromRow(i, this->_eh, this->_ebwt); // update locus
+               jumps++;
+       }
+       if(right_steps_rounded > right_steps) {
+               jumps -= (right_steps_rounded - right_steps);
+               _setLength(rbuf, right_steps);
+       }
+       assert_eq(right_steps, length(rbuf));
+       assert_eq(tlen, jumps + qlen);
+       ::reverseInPlace(lbuf);
+       ::reverseInPlace(rbuf);
+       {
+               cout << "reportReconstruct:" << endl
+                        << "  " << lbuf << query << rbuf << endl;
+               cout << "  ";
+               for(size_t i = 0; i < length(lbuf); i++) cout << " ";
+               cout << query << endl;
+       }
+       // Now we've reconstructed the
+       return false;
+}
+
+/**
+ * Transform this Ebwt into the original string in linear time by using
+ * the LF mapping to walk backwards starting at the row correpsonding
+ * to the end of the string.  The result is written to s.  The Ebwt
+ * must be in memory.
+ */
+template<typename TStr>
+void Ebwt<TStr>::restore(TStr& s) const {
+       assert(isInMemory());
+       resize(s, this->_eh._len, Exact());
+       uint32_t jumps = 0;
+       uint32_t i = this->_eh._len; // should point to final SA elt (starting with '$')
+       SideLocus l(i, this->_eh, this->_ebwt);
+       while(i != _zOff) {
+               assert_lt(jumps, this->_eh._len);
+               //if(_verbose) cout << "restore: i: " << i << endl;
+               // Not a marked row; go back a char in the original string
+               uint32_t newi = mapLF(l);
+               assert_neq(newi, i);
+               s[this->_eh._len - jumps - 1] = rowL(l);
+               i = newi;
+               l.initFromRow(i, this->_eh, this->_ebwt);
+               jumps++;
+       }
+       assert_eq(jumps, this->_eh._len);
+}
+
+/**
+ * Check that this Ebwt, when restored via restore(), matches up with
+ * the given array of reference sequences.  For sanity checking.
+ */
+template <typename TStr>
+void Ebwt<TStr>::checkOrigs(const vector<String<Dna5> >& os,
+                            bool color, bool mirror) const
+{
+       TStr rest;
+       restore(rest);
+       uint32_t restOff = 0;
+       size_t i = 0, j = 0;
+       if(mirror) {
+               // TODO: FIXME
+               return;
+       }
+       while(i < os.size()) {
+               size_t olen = length(os[i]);
+               int lastorig = -1;
+               for(; j < olen; j++) {
+                       size_t joff = j;
+                       if(mirror) joff = olen - j - 1;
+                       if((int)os[i][joff] == 4) {
+                               // Skip over Ns
+                               lastorig = -1;
+                               if(!mirror) {
+                                       while(j < olen && (int)os[i][j] == 4) j++;
+                               } else {
+                                       while(j < olen && (int)os[i][olen-j-1] == 4) j++;
+                               }
+                               j--;
+                               continue;
+                       }
+                       if(lastorig == -1 && color) {
+                               lastorig = os[i][joff];
+                               continue;
+                       }
+                       if(color) {
+                               assert_neq(-1, lastorig);
+                               assert_eq(dinuc2color[(int)os[i][joff]][lastorig], rest[restOff]);
+                       } else {
+                               assert_eq(os[i][joff], rest[restOff]);
+                       }
+                       lastorig = (int)os[i][joff];
+                       restOff++;
+               }
+               if(j == length(os[i])) {
+                       // Moved to next sequence
+                       i++;
+                       j = 0;
+               } else {
+                       // Just jumped over a gap
+               }
+       }
+}
+
+///////////////////////////////////////////////////////////////////////
+//
+// Functions for reading and writing Ebwts
+//
+///////////////////////////////////////////////////////////////////////
+
+/**
+ * Read an Ebwt from file with given filename.
+ */
+template<typename TStr>
+void Ebwt<TStr>::readIntoMemory(
+       int color,
+       int needEntireRev,
+       bool justHeader,
+       EbwtParams *params,
+       bool mmSweep,
+       bool loadNames,
+       bool startVerbose)
+{
+       bool switchEndian; // dummy; caller doesn't care
+#ifdef BOWTIE_MM
+       char *mmFile[] = { NULL, NULL };
+#endif
+       if(_in1Str.length() > 0) {
+               if(_verbose || startVerbose) {
+                       cerr << "  About to open input files: ";
+                       logTime(cerr);
+               }
+#ifdef BOWTIE_MM
+               // Initialize our primary and secondary input-stream fields
+               if(_in1 != -1) close(_in1);
+               if(_verbose || startVerbose) {
+                       cerr << "Opening \"" << _in1Str << "\"" << endl;
+               }
+               if((_in1 = open(_in1Str.c_str(), O_RDONLY)) < 0) {
+                       cerr << "Could not open index file " << _in1Str << endl;
+               }
+               if(_in2 != -1) close(_in2);
+               if(_verbose || startVerbose) {
+                       cerr << "Opening \"" << _in2Str << "\"" << endl;
+               }
+               if((_in2 = open(_in2Str.c_str(), O_RDONLY)) < 0) {
+                       cerr << "Could not open index file " << _in2Str << endl;
+               }
+#else
+               // Initialize our primary and secondary input-stream fields
+               if(_in1 != NULL) fclose(_in1);
+               if(_verbose || startVerbose) cerr << "Opening \"" << _in1Str << "\"" << endl;
+               if((_in1 = fopen(_in1Str.c_str(), "rb")) == NULL) {
+                       cerr << "Could not open index file " << _in1Str << endl;
+               }
+               if(_in2 != NULL) fclose(_in2);
+               if(_verbose || startVerbose) cerr << "Opening \"" << _in2Str << "\"" << endl;
+               if((_in2 = fopen(_in2Str.c_str(), "rb")) == NULL) {
+                       cerr << "Could not open index file " << _in2Str << endl;
+               }
+#endif
+               if(_verbose || startVerbose) {
+                       cerr << "  Finished opening input files: ";
+                       logTime(cerr);
+               }
+
+#ifdef BOWTIE_MM
+               if(_useMm && !justHeader) {
+                       const char *names[] = {_in1Str.c_str(), _in2Str.c_str()};
+                       int fds[] = { _in1, _in2 };
+                       for(int i = 0; i < 2; i++) {
+                               if(_verbose || startVerbose) {
+                                       cerr << "  Memory-mapping input file " << (i+1) << ": ";
+                                       logTime(cerr);
+                               }
+                               struct stat sbuf;
+                               if (stat(names[i], &sbuf) == -1) {
+                                       perror("stat");
+                                       cerr << "Error: Could not stat index file " << names[i] << " prior to memory-mapping" << endl;
+                                       throw 1;
+                               }
+                               mmFile[i] = (char*)mmap((void *)0, sbuf.st_size,
+                                                                               PROT_READ, MAP_SHARED, fds[i], 0);
+                               if(mmFile == (void *)(-1)) {
+                                       perror("mmap");
+                                       cerr << "Error: Could not memory-map the index file " << names[i] << endl;
+                                       throw 1;
+                               }
+                               if(mmSweep) {
+                                       int sum = 0;
+                                       for(off_t j = 0; j < sbuf.st_size; j += 1024) {
+                                               sum += (int) mmFile[i][j];
+                                       }
+                                       if(startVerbose) {
+                                               cerr << "  Swept the memory-mapped ebwt index file 1; checksum: " << sum << ": ";
+                                               logTime(cerr);
+                                       }
+                               }
+                       }
+                       mmFile1_ = mmFile[0];
+                       mmFile2_ = mmFile[1];
+               }
+#endif
+       }
+#ifdef BOWTIE_MM
+       else if(_useMm && !justHeader) {
+               mmFile[0] = mmFile1_;
+               mmFile[1] = mmFile2_;
+       }
+       if(_useMm && !justHeader) {
+               assert(mmFile[0] == mmFile1_);
+               assert(mmFile[1] == mmFile2_);
+       }
+#endif
+
+       if(_verbose || startVerbose) {
+               cerr << "  Reading header: ";
+               logTime(cerr);
+       }
+
+       // Read endianness hints from both streams
+       size_t bytesRead = 0;
+       switchEndian = false;
+       uint32_t one = readU32(_in1, switchEndian); // 1st word of primary stream
+       bytesRead += 4;
+       #ifndef NDEBUG
+       assert_eq(one, readU32(_in2, switchEndian)); // should match!
+       #else
+       readU32(_in2, switchEndian);
+       #endif
+       if(one != 1) {
+               assert_eq((1u<<24), one);
+               assert_eq(1, endianSwapU32(one));
+               switchEndian = true;
+       }
+
+       // Can't switch endianness and use memory-mapped files; in order to
+       // support this, someone has to modify the file to switch
+       // endiannesses appropriately, and we can't do this inside Bowtie
+       // or we might be setting up a race condition with other processes.
+       if(switchEndian && _useMm) {
+               cerr << "Error: Can't use memory-mapped files when the index is the opposite endianness" << endl;
+               throw 1;
+       }
+
+       // Reads header entries one by one from primary stream
+       uint32_t len          = readU32(_in1, switchEndian);
+       bytesRead += 4;
+       int32_t  lineRate     = readI32(_in1, switchEndian);
+       bytesRead += 4;
+       int32_t  linesPerSide = readI32(_in1, switchEndian);
+       bytesRead += 4;
+       int32_t  offRate      = readI32(_in1, switchEndian);
+       bytesRead += 4;
+       // TODO: add isaRate to the actual file format (right now, the
+       // user has to tell us whether there's an ISA sample and what the
+       // sampling rate is.
+       int32_t  isaRate      = _overrideIsaRate;
+       int32_t  ftabChars    = readI32(_in1, switchEndian);
+       bytesRead += 4;
+       // chunkRate was deprecated in an earlier version of Bowtie; now
+       // we use it to hold flags.
+       int32_t flags = readI32(_in1, switchEndian);
+       bool entireRev = false;
+       if(flags < 0 && (((-flags) & EBWT_COLOR) != 0)) {
+               if(color != -1 && !color) {
+                       cerr << "Error: -C was not specified when running bowtie, but index is in colorspace.  If" << endl
+                            << "your reads are in colorspace, please use the -C option.  If your reads are not" << endl
+                            << "in colorspace, please use a normal index (one built without specifying -C to" << endl
+                            << "bowtie-build)." << endl;
+                       throw 1;
+               }
+               color = 1;
+       } else if(flags < 0) {
+               if(color != -1 && color) {
+                       cerr << "Error: -C was specified when running bowtie, but index is not in colorspace.  If" << endl
+                            << "your reads are in colorspace, please use a colorspace index (one built using" << endl
+                            << "bowtie-build -C).  If your reads are not in colorspace, don't specify -C when" << endl
+                            << "running bowtie." << endl;
+                       throw 1;
+               }
+               color = 0;
+       }
+       if(flags < 0 && (((-flags) & EBWT_ENTIRE_REV) == 0)) {
+               if(needEntireRev != -1 && needEntireRev != 0) {
+                       cerr << "Error: This index is not compatible with this version of bowtie.  Please use a" << endl
+                            << "current version of bowtie-build." << endl;
+                       throw 1;
+               }
+       } else entireRev = true;
+       bytesRead += 4;
+
+       // Create a new EbwtParams from the entries read from primary stream
+       EbwtParams *eh;
+       bool deleteEh = false;
+       if(params != NULL) {
+               params->init(len, lineRate, linesPerSide, offRate, isaRate, ftabChars, color, entireRev);
+               if(_verbose || startVerbose) params->print(cerr);
+               eh = params;
+       } else {
+               eh = new EbwtParams(len, lineRate, linesPerSide, offRate, isaRate, ftabChars, color, entireRev);
+               deleteEh = true;
+       }
+
+       // Set up overridden suffix-array-sample parameters
+       uint32_t offsLen = eh->_offsLen;
+       uint32_t offRateDiff = 0;
+       uint32_t offsLenSampled = offsLen;
+       if(_overrideOffRate > offRate) {
+               offRateDiff = _overrideOffRate - offRate;
+       }
+       if(offRateDiff > 0) {
+               offsLenSampled >>= offRateDiff;
+               if((offsLen & ~(0xffffffff << offRateDiff)) != 0) {
+                       offsLenSampled++;
+               }
+       }
+
+       // Set up overridden inverted-suffix-array-sample parameters
+       uint32_t isaLen = eh->_isaLen;
+       uint32_t isaRateDiff = 0;
+       uint32_t isaLenSampled = isaLen;
+       if(_overrideIsaRate > isaRate) {
+               isaRateDiff = _overrideIsaRate - isaRate;
+       }
+       if(isaRateDiff > 0) {
+               isaLenSampled >>= isaRateDiff;
+               if((isaLen & ~(0xffffffff << isaRateDiff)) != 0) {
+                       isaLenSampled++;
+               }
+       }
+
+       // Can't override the offrate or isarate and use memory-mapped
+       // files; ultimately, all processes need to copy the sparser sample
+       // into their own memory spaces.
+       if(_useMm && (offRateDiff || isaRateDiff)) {
+               cerr << "Error: Can't use memory-mapped files when the offrate or isarate is overridden" << endl;
+               throw 1;
+       }
+
+       // Read nPat from primary stream
+       this->_nPat = readI32(_in1, switchEndian);
+       bytesRead += 4;
+       if(this->_plen != NULL && !_useMm) {
+               // Delete it so that we can re-read it
+               delete[] this->_plen;
+               this->_plen = NULL;
+       }
+
+       // Read plen from primary stream
+       if(_useMm) {
+#ifdef BOWTIE_MM
+               this->_plen = (uint32_t*)(mmFile[0] + bytesRead);
+               bytesRead += this->_nPat*4;
+               lseek(_in1, this->_nPat*4, SEEK_CUR);
+#endif
+       } else {
+               try {
+                       if(_verbose || startVerbose) {
+                               cerr << "Reading plen (" << this->_nPat << "): ";
+                               logTime(cerr);
+                       }
+                       this->_plen = new uint32_t[this->_nPat];
+                       if(switchEndian) {
+                               for(uint32_t i = 0; i < this->_nPat; i++) {
+                                       this->_plen[i] = readU32(_in1, switchEndian);
+                               }
+                       } else {
+                               MM_READ_RET r = MM_READ(_in1, (void*)this->_plen, this->_nPat*4);
+                               if(r != (MM_READ_RET)(this->_nPat*4)) {
+                                       cerr << "Error reading _plen[] array: " << r << ", " << (this->_nPat*4) << endl;
+                                       throw 1;
+                               }
+                       }
+               } catch(bad_alloc& e) {
+                       cerr << "Out of memory allocating plen[] in Ebwt::read()"
+                                << " at " << __FILE__ << ":" << __LINE__ << endl;
+                       throw e;
+               }
+       }
+
+       bool shmemLeader;
+
+       // TODO: I'm not consistent on what "header" means.  Here I'm using
+       // "header" to mean everything that would exist in memory if we
+       // started to build the Ebwt but stopped short of the build*() step
+       // (i.e. everything up to and including join()).
+       if(justHeader) goto done;
+
+       this->_nFrag = readU32(_in1, switchEndian);
+       bytesRead += 4;
+       if(_verbose || startVerbose) {
+               cerr << "Reading rstarts (" << this->_nFrag*3 << "): ";
+               logTime(cerr);
+       }
+       assert_geq(this->_nFrag, this->_nPat);
+       if(_useMm) {
+#ifdef BOWTIE_MM
+               this->_rstarts = (uint32_t*)(mmFile[0] + bytesRead);
+               bytesRead += this->_nFrag*4*3;
+               lseek(_in1, this->_nFrag*4*3, SEEK_CUR);
+#endif
+       } else {
+               this->_rstarts = new uint32_t[this->_nFrag*3];
+               if(switchEndian) {
+                       for(uint32_t i = 0; i < this->_nFrag*3; i += 3) {
+                               // fragment starting position in joined reference
+                               // string, text id, and fragment offset within text
+                               this->_rstarts[i]   = readU32(_in1, switchEndian);
+                               this->_rstarts[i+1] = readU32(_in1, switchEndian);
+                               this->_rstarts[i+2] = readU32(_in1, switchEndian);
+                       }
+               } else {
+                       MM_READ_RET r = MM_READ(_in1, (void *)this->_rstarts, this->_nFrag*4*3);
+                       if(r != (MM_READ_RET)(this->_nFrag*4*3)) {
+                               cerr << "Error reading _rstarts[] array: " << r << ", " << (this->_nFrag*4*3) << endl;
+                               throw 1;
+                       }
+               }
+       }
+
+       if(_useMm) {
+#ifdef BOWTIE_MM
+               this->_ebwt = (uint8_t*)(mmFile[0] + bytesRead);
+               bytesRead += eh->_ebwtTotLen;
+               lseek(_in1, eh->_ebwtTotLen, SEEK_CUR);
+#endif
+       } else {
+               // Allocate ebwt (big allocation)
+               if(_verbose || startVerbose) {
+                       cerr << "Reading ebwt (" << eh->_ebwtTotLen << "): ";
+                       logTime(cerr);
+               }
+               bool shmemLeader = true;
+               if(useShmem_) {
+                       shmemLeader = ALLOC_SHARED_U8(
+                               (_in1Str + "[ebwt]"), eh->_ebwtTotLen, &this->_ebwt,
+                               "ebwt[]", (_verbose || startVerbose));
+                       if(_verbose || startVerbose) {
+                               cerr << "  shared-mem " << (shmemLeader ? "leader" : "follower") << endl;
+                       }
+               } else {
+                       try {
+                               this->_ebwt = new uint8_t[eh->_ebwtTotLen];
+                       } catch(bad_alloc& e) {
+                               cerr << "Out of memory allocating the ebwt[] array for the Bowtie index.  Please try" << endl
+                                    << "again on a computer with more memory." << endl;
+                               throw 1;
+                       }
+               }
+               if(shmemLeader) {
+                       // Read ebwt from primary stream
+                       MM_READ_RET r = MM_READ(_in1, (void *)this->_ebwt, eh->_ebwtTotLen);
+                       if(r != (MM_READ_RET)eh->_ebwtTotLen) {
+                               cerr << "Error reading ebwt array: returned " << r << ", length was " << (eh->_ebwtTotLen) << endl
+                                    << "Your index files may be corrupt; please try re-building or re-downloading." << endl
+                                    << "A complete index consists of 6 files: XYZ.1.ebwt, XYZ.2.ebwt, XYZ.3.ebwt," << endl
+                                    << "XYZ.4.ebwt, XYZ.rev.1.ebwt, and XYZ.rev.2.ebwt.  The XYZ.1.ebwt and " << endl
+                                    << "XYZ.rev.1.ebwt files should have the same size, as should the XYZ.2.ebwt and" << endl
+                                    << "XYZ.rev.2.ebwt files." << endl;
+                               throw 1;
+                       }
+                       if(switchEndian) {
+                               uint8_t *side = this->_ebwt;
+                               for(size_t i = 0; i < eh->_numSides; i++) {
+                                       uint32_t *cums = reinterpret_cast<uint32_t*>(side + eh->_sideSz - 8);
+                                       cums[0] = endianSwapU32(cums[0]);
+                                       cums[1] = endianSwapU32(cums[1]);
+                                       side += this->_eh._sideSz;
+                               }
+                       }
+                       if(useShmem_) NOTIFY_SHARED(this->_ebwt, eh->_ebwtTotLen);
+               } else {
+                       // Seek past the data and wait until master is finished
+                       MM_SEEK(_in1, eh->_ebwtTotLen, SEEK_CUR);
+                       if(useShmem_) WAIT_SHARED(this->_ebwt, eh->_ebwtTotLen);
+               }
+       }
+
+       // Read zOff from primary stream
+       _zOff = readU32(_in1, switchEndian);
+       bytesRead += 4;
+       assert_lt(_zOff, len);
+
+       try {
+               // Read fchr from primary stream
+               if(_verbose || startVerbose) cerr << "Reading fchr (5)" << endl;
+               if(_useMm) {
+#ifdef BOWTIE_MM
+                       this->_fchr = (uint32_t*)(mmFile[0] + bytesRead);
+                       bytesRead += 5*4;
+                       lseek(_in1, 5*4, SEEK_CUR);
+#endif
+               } else {
+                       this->_fchr = new uint32_t[5];
+                       for(int i = 0; i < 5; i++) {
+                               this->_fchr[i] = readU32(_in1, switchEndian);
+                               assert_leq(this->_fchr[i], len);
+                               if(i > 0) assert_geq(this->_fchr[i], this->_fchr[i-1]);
+                       }
+               }
+               assert_gt(this->_fchr[4], this->_fchr[0]);
+               // Read ftab from primary stream
+               if(_verbose || startVerbose) {
+                       cerr << "Reading ftab (" << eh->_ftabLen << "): ";
+                       logTime(cerr);
+               }
+               if(_useMm) {
+#ifdef BOWTIE_MM
+                       this->_ftab = (uint32_t*)(mmFile[0] + bytesRead);
+                       bytesRead += eh->_ftabLen*4;
+                       lseek(_in1, eh->_ftabLen*4, SEEK_CUR);
+#endif
+               } else {
+                       this->_ftab = new uint32_t[eh->_ftabLen];
+                       if(switchEndian) {
+                               for(uint32_t i = 0; i < eh->_ftabLen; i++)
+                                       this->_ftab[i] = readU32(_in1, switchEndian);
+                       } else {
+                               MM_READ_RET r = MM_READ(_in1, (void *)this->_ftab, eh->_ftabLen*4);
+                               if(r != (MM_READ_RET)(eh->_ftabLen*4)) {
+                                       cerr << "Error reading _ftab[] array: " << r << ", " << (eh->_ftabLen*4) << endl;
+                                       throw 1;
+                               }
+                       }
+               }
+               // Read etab from primary stream
+               if(_verbose || startVerbose) {
+                       cerr << "Reading eftab (" << eh->_eftabLen << "): ";
+                       logTime(cerr);
+               }
+               if(_useMm) {
+#ifdef BOWTIE_MM
+                       this->_eftab = (uint32_t*)(mmFile[0] + bytesRead);
+                       bytesRead += eh->_eftabLen*4;
+                       lseek(_in1, eh->_eftabLen*4, SEEK_CUR);
+#endif
+               } else {
+                       this->_eftab = new uint32_t[eh->_eftabLen];
+                       if(switchEndian) {
+                               for(uint32_t i = 0; i < eh->_eftabLen; i++)
+                                       this->_eftab[i] = readU32(_in1, switchEndian);
+                       } else {
+                               MM_READ_RET r = MM_READ(_in1, (void *)this->_eftab, eh->_eftabLen*4);
+                               if(r != (MM_READ_RET)(eh->_eftabLen*4)) {
+                                       cerr << "Error reading _eftab[] array: " << r << ", " << (eh->_eftabLen*4) << endl;
+                                       throw 1;
+                               }
+                       }
+               }
+               for(uint32_t i = 0; i < eh->_eftabLen; i++) {
+                       if(i > 0 && this->_eftab[i] > 0) {
+                               assert_geq(this->_eftab[i], this->_eftab[i-1]);
+                       } else if(i > 0 && this->_eftab[i-1] == 0) {
+                               assert_eq(0, this->_eftab[i]);
+                       }
+               }
+       } catch(bad_alloc& e) {
+               cerr << "Out of memory allocating fchr[], ftab[] or eftab[] arrays for the Bowtie index." << endl
+                    << "Please try again on a computer with more memory." << endl;
+               throw 1;
+       }
+
+       // Read reference sequence names from primary index file (or not,
+       // if --refidx is specified)
+       if(loadNames) {
+               while(true) {
+                       char c = '\0';
+                       if(MM_READ(_in1, (void *)(&c), (size_t)1) != (MM_READ_RET)1) break;
+                       bytesRead++;
+                       if(c == '\0') break;
+                       else if(c == '\n') {
+                               this->_refnames.push_back("");
+                       } else {
+                               if(this->_refnames.size() == 0) {
+                                       this->_refnames.push_back("");
+                               }
+                               this->_refnames.back().push_back(c);
+                       }
+               }
+       }
+
+       bytesRead = 4; // reset for secondary index file (already read 1-sentinel)
+
+       shmemLeader = true;
+       if(_verbose || startVerbose) {
+               cerr << "Reading offs (" << offsLenSampled << " 32-bit words): ";
+               logTime(cerr);
+       }
+       if(!_useMm) {
+               if(!useShmem_) {
+                       // Allocate offs_
+                       try {
+                               this->_offs = new uint32_t[offsLenSampled];
+                       } catch(bad_alloc& e) {
+                               cerr << "Out of memory allocating the offs[] array  for the Bowtie index." << endl
+                                        << "Please try again on a computer with more memory." << endl;
+                               throw 1;
+                       }
+               } else {
+                       shmemLeader = ALLOC_SHARED_U32(
+                               (_in2Str + "[offs]"), offsLenSampled*4, &this->_offs,
+                               "offs", (_verbose || startVerbose));
+               }
+       }
+
+       if(_overrideOffRate < 32) {
+               if(shmemLeader) {
+                       // Allocate offs (big allocation)
+                       if(switchEndian || offRateDiff > 0) {
+                               assert(!_useMm);
+                               const uint32_t blockMaxSz = (2 * 1024 * 1024); // 2 MB block size
+                               const uint32_t blockMaxSzU32 = (blockMaxSz >> 2); // # U32s per block
+                               char *buf = new char[blockMaxSz];
+                               for(uint32_t i = 0; i < offsLen; i += blockMaxSzU32) {
+                                       uint32_t block = min<uint32_t>(blockMaxSzU32, offsLen - i);
+                                       MM_READ_RET r = MM_READ(_in2, (void *)buf, block << 2);
+                                       if(r != (MM_READ_RET)(block << 2)) {
+                                               cerr << "Error reading block of offs array: " << r << ", " << (block << 2) << endl
+                                                    << "Your index files may be corrupt; please try re-building or re-downloading." << endl
+                                                    << "A complete index consists of 6 files: XYZ.1.ebwt, XYZ.2.ebwt, XYZ.3.ebwt," << endl
+                                                    << "XYZ.4.ebwt, XYZ.rev.1.ebwt, and XYZ.rev.2.ebwt.  The XYZ.1.ebwt and " << endl
+                                                    << "XYZ.rev.1.ebwt files should have the same size, as should the XYZ.2.ebwt and" << endl
+                                                    << "XYZ.rev.2.ebwt files." << endl;
+                                               throw 1;
+                                       }
+                                       uint32_t idx = i >> offRateDiff;
+                                       for(uint32_t j = 0; j < block; j += (1 << offRateDiff)) {
+                                               assert_lt(idx, offsLenSampled);
+                                               this->_offs[idx] = ((uint32_t*)buf)[j];
+                                               if(switchEndian) {
+                                                       this->_offs[idx] = endianSwapU32(this->_offs[idx]);
+                                               }
+                                               idx++;
+                                       }
+                               }
+                               delete[] buf;
+                       } else {
+                               if(_useMm) {
+#ifdef BOWTIE_MM
+                                       this->_offs = (uint32_t*)(mmFile[1] + bytesRead);
+                                       bytesRead += (offsLen << 2);
+                                       lseek(_in2, (offsLen << 2), SEEK_CUR);
+#endif
+                               } else {
+                                       // If any of the high two bits are set
+                                       if((offsLen & 0xf0000000) != 0) {
+                                               if(sizeof(char *) <= 4) {
+                                                       cerr << "Sanity error: sizeof(char *) <= 4 but offsLen is " << hex << offsLen << endl;
+                                                       throw 1;
+                                               }
+                                               // offsLen << 4 overflows sometimes, so do it in four reads
+                                               char *offs = (char *)this->_offs;
+                                               for(int i = 0; i < 16; i++) {
+                                                       MM_READ_RET r = MM_READ(_in2, (void*)offs, offsLen >> 2);
+                                                       if(r != (MM_READ_RET)(offsLen >> 2)) {
+                                                               cerr << "Error reading block of _offs[] array: " << r << ", " << (offsLen >> 2) << endl;
+                                                               throw 1;
+                                                       }
+                                                       offs += (offsLen >> 2);
+                                               }
+                                       } else {
+                                               // Do it all in one read
+                                               MM_READ_RET r = MM_READ(_in2, (void*)this->_offs, offsLen << 2);
+                                               if(r != (MM_READ_RET)(offsLen << 2)) {
+                                                       cerr << "Error reading _offs[] array: " << r << ", " << (offsLen << 2) << endl;
+                                                       throw 1;
+                                               }
+                                       }
+                               }
+                       }
+
+                       {
+                               ASSERT_ONLY(Bitset offsSeen(len+1));
+                               for(uint32_t i = 0; i < offsLenSampled; i++) {
+                                       assert(!offsSeen.test(this->_offs[i]));
+                                       ASSERT_ONLY(offsSeen.set(this->_offs[i]));
+                                       assert_leq(this->_offs[i], len);
+                               }
+                       }
+
+                       if(useShmem_) NOTIFY_SHARED(this->_offs, offsLenSampled*4);
+               } else {
+                       // Not the shmem leader
+                       MM_SEEK(_in2, offsLenSampled*4, SEEK_CUR);
+                       if(useShmem_) WAIT_SHARED(this->_offs, offsLenSampled*4);
+               }
+       }
+
+       // Allocate _isa[] (big allocation)
+       if(_verbose || startVerbose) {
+               cerr << "Reading isa (" << isaLenSampled << "): ";
+               logTime(cerr);
+       }
+       if(!_useMm) {
+               try {
+                       this->_isa = new uint32_t[isaLenSampled];
+               } catch(bad_alloc& e) {
+                       cerr << "Out of memory allocating the isa[] array  for the Bowtie index." << endl
+                                << "Please try again on a computer with more memory." << endl;
+                       throw 1;
+               }
+       }
+       // Read _isa[]
+       if(switchEndian || isaRateDiff > 0) {
+               assert(!_useMm);
+               for(uint32_t i = 0; i < isaLen; i++) {
+                       if((i & ~(0xffffffff << isaRateDiff)) != 0) {
+                               char tmp[4];
+                               MM_READ_RET r = MM_READ(_in2, (void *)tmp, 4);
+                               if(r != (MM_READ_RET)4) {
+                                       cerr << "Error reading a word of the _isa[] array: " << r << ", 4" << endl;
+                                       throw 1;
+                               }
+                       } else {
+                               uint32_t idx = i >> isaRateDiff;
+                               assert_lt(idx, isaLenSampled);
+                               this->_isa[idx] = readU32(_in2, switchEndian);
+                       }
+               }
+       } else {
+               if(_useMm) {
+#ifdef BOWTIE_MM
+                       this->_isa = (uint32_t*)(mmFile[1] + bytesRead);
+                       bytesRead += (isaLen << 2);
+                       lseek(_in2, (isaLen << 2), SEEK_CUR);
+#endif
+               } else {
+                       MM_READ_RET r = MM_READ(_in2, (void *)this->_isa, isaLen*4);
+                       if(r != (MM_READ_RET)(isaLen*4)) {
+                               cerr << "Error reading _isa[] array: " << r << ", " << (isaLen*4) << endl;
+                               throw 1;
+                       }
+               }
+       }
+
+       {
+               ASSERT_ONLY(Bitset isasSeen(len+1));
+               for(uint32_t i = 0; i < isaLenSampled; i++) {
+                       assert(!isasSeen.test(this->_isa[i]));
+                       ASSERT_ONLY(isasSeen.set(this->_isa[i]));
+                       assert_leq(this->_isa[i], len);
+               }
+       }
+
+       this->postReadInit(*eh); // Initialize fields of Ebwt not read from file
+       if(_verbose || startVerbose) print(cerr, *eh);
+
+       // The fact that _ebwt and friends actually point to something
+       // (other than NULL) now signals to other member functions that the
+       // Ebwt is loaded into memory.
+
+  done: // Exit hatch for both justHeader and !justHeader
+
+       // Be kind
+       if(deleteEh) delete eh;
+#ifdef BOWTIE_MM
+       lseek(_in1, 0, SEEK_SET);
+       lseek(_in2, 0, SEEK_SET);
+#else
+       rewind(_in1); rewind(_in2);
+#endif
+}
+
+/**
+ * Read reference names from an input stream 'in' for an Ebwt primary
+ * file and store them in 'refnames'.
+ */
+static inline void
+readEbwtRefnames(istream& in, vector<string>& refnames) {
+       // _in1 must already be open with the get cursor at the
+       // beginning and no error flags set.
+       assert(in.good());
+       assert_eq((streamoff)in.tellg(), ios::beg);
+
+       // Read endianness hints from both streams
+       bool switchEndian = false;
+       uint32_t one = readU32(in, switchEndian); // 1st word of primary stream
+       if(one != 1) {
+               assert_eq((1u<<24), one);
+               switchEndian = true;
+       }
+
+       // Reads header entries one by one from primary stream
+       uint32_t len          = readU32(in, switchEndian);
+       int32_t  lineRate     = readI32(in, switchEndian);
+       int32_t  linesPerSide = readI32(in, switchEndian);
+       int32_t  offRate      = readI32(in, switchEndian);
+       int32_t  ftabChars    = readI32(in, switchEndian);
+       // BTL: chunkRate is now deprecated
+       int32_t flags = readI32(in, switchEndian);
+       bool color = false;
+       bool entireReverse = false;
+       if(flags < 0) {
+               color = (((-flags) & EBWT_COLOR) != 0);
+               entireReverse = (((-flags) & EBWT_ENTIRE_REV) != 0);
+       }
+
+       // Create a new EbwtParams from the entries read from primary stream
+       EbwtParams eh(len, lineRate, linesPerSide, offRate, -1, ftabChars, color, entireReverse);
+
+       uint32_t nPat = readI32(in, switchEndian); // nPat
+       in.seekg(nPat*4, ios_base::cur); // skip plen
+
+       // Skip rstarts
+       uint32_t nFrag = readU32(in, switchEndian);
+       in.seekg(nFrag*4*3, ios_base::cur);
+
+       // Skip ebwt
+       in.seekg(eh._ebwtTotLen, ios_base::cur);
+
+       // Skip zOff from primary stream
+       readU32(in, switchEndian);
+
+       // Skip fchr
+       in.seekg(5 * 4, ios_base::cur);
+
+       // Skip ftab
+       in.seekg(eh._ftabLen*4, ios_base::cur);
+
+       // Skip eftab
+       in.seekg(eh._eftabLen*4, ios_base::cur);
+
+       // Read reference sequence names from primary index file
+       while(true) {
+               char c = '\0';
+               in.read(&c, 1);
+               if(in.eof()) break;
+               if(c == '\0') break;
+               else if(c == '\n') {
+                       refnames.push_back("");
+               } else {
+                       if(refnames.size() == 0) {
+                               refnames.push_back("");
+                       }
+                       refnames.back().push_back(c);
+               }
+       }
+       if(refnames.back().empty()) {
+               refnames.pop_back();
+       }
+
+       // Be kind
+       in.clear(); in.seekg(0, ios::beg);
+       assert(in.good());
+}
+
+/**
+ * Read reference names from the index with basename 'in' and store
+ * them in 'refnames'.
+ */
+static inline void
+readEbwtRefnames(const string& instr, vector<string>& refnames) {
+       ifstream in;
+       // Initialize our primary and secondary input-stream fields
+       in.open((instr + ".1.ebwt").c_str(), ios_base::in | ios::binary);
+       if(!in.is_open()) {
+               throw EbwtFileOpenException("Cannot open file " + instr);
+       }
+       assert(in.is_open());
+       assert(in.good());
+       assert_eq((streamoff)in.tellg(), ios::beg);
+       readEbwtRefnames(in, refnames);
+}
+
+/**
+ * Read just enough of the Ebwt's header to get its flags
+ */
+static inline int32_t readFlags(const string& instr) {
+       ifstream in;
+       // Initialize our primary and secondary input-stream fields
+       in.open((instr + ".1.ebwt").c_str(), ios_base::in | ios::binary);
+       if(!in.is_open()) {
+               throw EbwtFileOpenException("Cannot open file " + instr);
+       }
+       assert(in.is_open());
+       assert(in.good());
+       bool switchEndian = false;
+       uint32_t one = readU32(in, switchEndian); // 1st word of primary stream
+       if(one != 1) {
+               assert_eq((1u<<24), one);
+               assert_eq(1, endianSwapU32(one));
+               switchEndian = true;
+       }
+       readU32(in, switchEndian);
+       readI32(in, switchEndian);
+       readI32(in, switchEndian);
+       readI32(in, switchEndian);
+       readI32(in, switchEndian);
+       int32_t flags = readI32(in, switchEndian);
+       return flags;
+}
+
+/**
+ * Read just enough of the Ebwt's header to determine whether it's
+ * colorspace.
+ */
+static inline bool
+readEbwtColor(const string& instr) {
+       int32_t flags = readFlags(instr);
+       if(flags < 0 && (((-flags) & EBWT_COLOR) != 0)) {
+               return true;
+       } else {
+               return false;
+       }
+}
+
+/**
+ * Read just enough of the Ebwt's header to determine whether it's
+ * entirely reversed.
+ */
+static inline bool
+readEntireReverse(const string& instr) {
+       int32_t flags = readFlags(instr);
+       if(flags < 0 && (((-flags) & EBWT_ENTIRE_REV) != 0)) {
+               return true;
+       } else {
+               return false;
+       }
+}
+
+/**
+ * Write an extended Burrows-Wheeler transform to a pair of output
+ * streams.
+ *
+ * @param out1 output stream to primary file
+ * @param out2 output stream to secondary file
+ * @param be   write in big endian?
+ */
+template<typename TStr>
+void Ebwt<TStr>::writeFromMemory(bool justHeader,
+                                 ostream& out1,
+                                 ostream& out2) const
+{
+       const EbwtParams& eh = this->_eh;
+       assert(eh.repOk());
+       uint32_t be = this->toBe();
+       assert(out1.good());
+       assert(out2.good());
+
+       // When building an Ebwt, these header parameters are known
+       // "up-front", i.e., they can be written to disk immediately,
+       // before we join() or buildToDisk()
+       writeI32(out1, 1, be); // endian hint for priamry stream
+       writeI32(out2, 1, be); // endian hint for secondary stream
+       writeU32(out1, eh._len,          be); // length of string (and bwt and suffix array)
+       writeI32(out1, eh._lineRate,     be); // 2^lineRate = size in bytes of 1 line
+       writeI32(out1, eh._linesPerSide, be); // not used
+       writeI32(out1, eh._offRate,      be); // every 2^offRate chars is "marked"
+       writeI32(out1, eh._ftabChars,    be); // number of 2-bit chars used to address ftab
+       int32_t flags = 1;
+       if(eh._color) flags |= EBWT_COLOR;
+       if(eh._entireReverse) flags |= EBWT_ENTIRE_REV;
+       writeI32(out1, -flags, be); // BTL: chunkRate is now deprecated
+
+       if(!justHeader) {
+               assert(isInMemory());
+               // These Ebwt parameters are known after the inputs strings have
+               // been joined() but before they have been built().  These can
+               // written to the disk next and then discarded from memory.
+               writeU32(out1, this->_nPat,      be);
+               for(uint32_t i = 0; i < this->_nPat; i++)
+               writeU32(out1, this->_plen[i], be);
+               assert_geq(this->_nFrag, this->_nPat);
+               writeU32(out1, this->_nFrag, be);
+               for(uint32_t i = 0; i < this->_nFrag*3; i++)
+                       writeU32(out1, this->_rstarts[i], be);
+
+               // These Ebwt parameters are discovered only as the Ebwt is being
+               // built (in buildToDisk()).  Of these, only 'offs' and 'ebwt' are
+               // terribly large.  'ebwt' is written to the primary file and then
+               // discarded from memory as it is built; 'offs' is similarly
+               // written to the secondary file and discarded.
+               out1.write((const char *)this->ebwt(), eh._ebwtTotLen);
+               writeU32(out1, this->zOff(), be);
+               uint32_t offsLen = eh._offsLen;
+               for(uint32_t i = 0; i < offsLen; i++)
+                       writeU32(out2, this->_offs[i], be);
+               uint32_t isaLen = eh._isaLen;
+               for(uint32_t i = 0; i < isaLen; i++)
+                       writeU32(out2, this->_isa[i], be);
+
+               // 'fchr', 'ftab' and 'eftab' are not fully determined until the
+               // loop is finished, so they are written to the primary file after
+               // all of 'ebwt' has already been written and only then discarded
+               // from memory.
+               for(int i = 0; i < 5; i++)
+                       writeU32(out1, this->_fchr[i], be);
+               for(uint32_t i = 0; i < eh._ftabLen; i++)
+                       writeU32(out1, this->ftab()[i], be);
+               for(uint32_t i = 0; i < eh._eftabLen; i++)
+                       writeU32(out1, this->eftab()[i], be);
+       }
+}
+
+/**
+ * Given a pair of strings representing output filenames, and assuming
+ * this Ebwt object is currently in memory, write out this Ebwt to the
+ * specified files.
+ *
+ * If sanity-checking is enabled, then once the streams have been
+ * fully written and closed, we reopen them and read them into a
+ * (hopefully) exact copy of this Ebwt.  We then assert that the
+ * current Ebwt and the copy match in all of their fields.
+ */
+template<typename TStr>
+void Ebwt<TStr>::writeFromMemory(bool justHeader,
+                                 const string& out1,
+                                 const string& out2) const
+{
+       const EbwtParams& eh = this->_eh;
+       assert(isInMemory());
+       assert(eh.repOk());
+
+       ofstream fout1(out1.c_str(), ios::binary);
+       ofstream fout2(out2.c_str(), ios::binary);
+       writeFromMemory(justHeader, fout1, fout2);
+       fout1.close();
+       fout2.close();
+
+       // Read the file back in and assert that all components match
+       if(_sanity) {
+               if(_verbose)
+                       cout << "Re-reading \"" << out1 << "\"/\"" << out2 << "\" for sanity check" << endl;
+               Ebwt copy(out1, out2, _verbose, _sanity);
+               assert(!isInMemory());
+               copy.loadIntoMemory(eh._color ? 1 : 0, false, false);
+               assert(isInMemory());
+           assert_eq(eh._lineRate,     copy.eh()._lineRate);
+           assert_eq(eh._linesPerSide, copy.eh()._linesPerSide);
+           assert_eq(eh._offRate,      copy.eh()._offRate);
+           assert_eq(eh._isaRate,      copy.eh()._isaRate);
+           assert_eq(eh._ftabChars,    copy.eh()._ftabChars);
+           assert_eq(eh._len,          copy.eh()._len);
+           assert_eq(_zOff,             copy.zOff());
+           assert_eq(_zEbwtBpOff,       copy.zEbwtBpOff());
+           assert_eq(_zEbwtByteOff,     copy.zEbwtByteOff());
+               assert_eq(_nPat,             copy.nPat());
+               for(uint32_t i = 0; i < _nPat; i++)
+                       assert_eq(this->_plen[i], copy.plen()[i]);
+               assert_eq(this->_nFrag, copy.nFrag());
+               for(uint32_t i = 0; i < this->nFrag*3; i++) {
+                       assert_eq(this->_rstarts[i], copy.rstarts()[i]);
+               }
+               for(uint32_t i = 0; i < 5; i++)
+                       assert_eq(this->_fchr[i], copy.fchr()[i]);
+               for(uint32_t i = 0; i < eh._ftabLen; i++)
+                       assert_eq(this->ftab()[i], copy.ftab()[i]);
+               for(uint32_t i = 0; i < eh._eftabLen; i++)
+                       assert_eq(this->eftab()[i], copy.eftab()[i]);
+               for(uint32_t i = 0; i < eh._offsLen; i++)
+                       assert_eq(this->_offs[i], copy.offs()[i]);
+               for(uint32_t i = 0; i < eh._isaLen; i++)
+                       assert_eq(this->_isa[i], copy.isa()[i]);
+               for(uint32_t i = 0; i < eh._ebwtTotLen; i++)
+                       assert_eq(this->ebwt()[i], copy.ebwt()[i]);
+               copy.sanityCheckAll();
+               if(_verbose)
+                       cout << "Read-in check passed for \"" << out1 << "\"/\"" << out2 << "\"" << endl;
+       }
+}
+
+///////////////////////////////////////////////////////////////////////
+//
+// Functions for building Ebwts
+//
+///////////////////////////////////////////////////////////////////////
+
+/**
+ * Join several text strings together in a way that's compatible with
+ * the text-chunking scheme dictated by chunkRate parameter.
+ *
+ * The non-static member Ebwt::join additionally builds auxilliary
+ * arrays that maintain a mapping between chunks in the joined string
+ * and the original text strings.
+ */
+template<typename TStr>
+TStr Ebwt<TStr>::join(vector<TStr>& l, uint32_t seed) {
+       RandomSource rand; // reproducible given same seed
+       rand.init(seed);
+       TStr ret;
+       size_t guessLen = 0;
+       for(size_t i = 0; i < l.size(); i++) {
+               guessLen += length(l[i]);
+       }
+       reserve(ret, guessLen, Exact());
+       for(size_t i = 0; i < l.size(); i++) {
+               TStr& s = l[i];
+               assert_gt(length(s), 0);
+               append(ret, s);
+       }
+       return ret;
+}
+
+/**
+ * Join several text strings together in a way that's compatible with
+ * the text-chunking scheme dictated by chunkRate parameter.
+ *
+ * The non-static member Ebwt::join additionally builds auxilliary
+ * arrays that maintain a mapping between chunks in the joined string
+ * and the original text strings.
+ */
+template<typename TStr>
+TStr Ebwt<TStr>::join(vector<FileBuf*>& l,
+                      vector<RefRecord>& szs,
+                      uint32_t sztot,
+                      const RefReadInParams& refparams,
+                      uint32_t seed)
+{
+       RandomSource rand; // reproducible given same seed
+       rand.init(seed);
+       RefReadInParams rpcp = refparams;
+       TStr ret;
+       size_t guessLen = sztot;
+       reserve(ret, guessLen, Exact());
+       ASSERT_ONLY(size_t szsi = 0);
+       for(size_t i = 0; i < l.size(); i++) {
+               // For each sequence we can pull out of istream l[i]...
+               assert(!l[i]->eof());
+               bool first = true;
+               while(!l[i]->eof()) {
+                       RefRecord rec = fastaRefReadAppend(*l[i], first, ret, rpcp);
+#ifndef ACCOUNT_FOR_ALL_GAP_REFS
+                       if(rec.first && rec.len == 0) rec.first = false;
+#endif
+                       first = false;
+                       size_t bases = rec.len;
+                       assert_eq(rec.off, szs[szsi].off);
+                       assert_eq(rec.len, szs[szsi].len);
+                       assert_eq(rec.first, szs[szsi].first);
+                       ASSERT_ONLY(szsi++);
+                       if(bases == 0) continue;
+               }
+       }
+       return ret;
+}
+
+/**
+ * Join several text strings together according to the text-chunking
+ * scheme specified in the EbwtParams.  Ebwt fields calculated in this
+ * function are written directly to disk.
+ *
+ * It is assumed, but not required, that the header values have already
+ * been written to 'out1' before this function is called.
+ *
+ * The static member Ebwt::join just returns a joined version of a
+ * list of strings without building any of the auxiliary arrays.
+ * Because the pseudo-random number generator is the same, we expect
+ * this function and the static function to give the same result given
+ * the same seed.
+ */
+template<typename TStr>
+void Ebwt<TStr>::joinToDisk(
+       vector<FileBuf*>& l,
+       vector<RefRecord>& szs,
+       vector<uint32_t>& plens,
+       uint32_t sztot,
+       const RefReadInParams& refparams,
+       TStr& ret,
+       ostream& out1,
+       ostream& out2,
+       uint32_t seed = 0)
+{
+       RandomSource rand; // reproducible given same seed
+       rand.init(seed);
+       RefReadInParams rpcp = refparams;
+       assert_gt(szs.size(), 0);
+       assert_gt(l.size(), 0);
+       assert_gt(sztot, 0);
+       // Not every fragment represents a distinct sequence - many
+       // fragments may correspond to a single sequence.  Count the
+       // number of sequences here by counting the number of "first"
+       // fragments.
+       this->_nPat = 0;
+       this->_nFrag = 0;
+#ifdef ACCOUNT_FOR_ALL_GAP_REFS
+       int nGapFrag = 0;
+#endif
+       for(size_t i = 0; i < szs.size(); i++) {
+               if(szs[i].len > 0) this->_nFrag++;
+#ifdef ACCOUNT_FOR_ALL_GAP_REFS
+               if(szs[i].len == 0 && szs[i].off > 0) nGapFrag++;
+               if(szs[i].first && szs[i].len > 0) this->_nPat++;
+#else
+               // For all records where len=0 and first=1, set first=0
+               assert(szs[i].len > 0 || !szs[i].first);
+               if(szs[i].first) this->_nPat++;
+#endif
+       }
+       assert_gt(this->_nPat, 0);
+       assert_geq(this->_nFrag, this->_nPat);
+       this->_rstarts = NULL;
+       writeU32(out1, this->_nPat, this->toBe());
+       assert_eq(plens.size(), this->_nPat);
+       // Allocate plen[]
+       try {
+               this->_plen = new uint32_t[this->_nPat];
+       } catch(bad_alloc& e) {
+               cerr << "Out of memory allocating plen[] in Ebwt::join()"
+                    << " at " << __FILE__ << ":" << __LINE__ << endl;
+               throw e;
+       }
+       // For each pattern, set plen
+       for(size_t i = 0; i < plens.size(); i++) {
+               this->_plen[i] = plens[i];
+               writeU32(out1, this->_plen[i], this->toBe());
+       }
+       // Write the number of fragments
+       writeU32(out1, this->_nFrag, this->toBe());
+       size_t seqsRead = 0;
+       ASSERT_ONLY(uint32_t szsi = 0);
+       ASSERT_ONLY(uint32_t entsWritten = 0);
+       // For each filebuf
+       for(unsigned int i = 0; i < l.size(); i++) {
+               assert(!l[i]->eof());
+               bool first = true;
+               uint32_t patoff = 0;
+               // For each *fragment* (not necessary an entire sequence) we
+               // can pull out of istream l[i]...
+               while(!l[i]->eof()) {
+                       string name;
+                       // Push a new name onto our vector
+                       _refnames.push_back("");
+                       //uint32_t oldRetLen = length(ret);
+                       RefRecord rec = fastaRefReadAppend(*l[i], first, ret, rpcp, &_refnames.back());
+#ifndef ACCOUNT_FOR_ALL_GAP_REFS
+                       if(rec.first && rec.len == 0) rec.first = false;
+#endif
+                       first = false;
+                       if(rec.first) {
+                               if(_refnames.back().length() == 0) {
+                                       // If name was empty, replace with an index
+                                       ostringstream stm;
+                                       stm << (_refnames.size()-1);
+                                       _refnames.back() = stm.str();
+                               }
+                       } else {
+                               // This record didn't actually start a new sequence so
+                               // no need to add a name
+                               //assert_eq(0, _refnames.back().length());
+                               _refnames.pop_back();
+                       }
+                       assert_lt(szsi, szs.size());
+                       assert(szs[szsi].first == 0 || szs[szsi].first == 1);
+                       assert_eq(rec.off, szs[szsi].off);
+                       assert_eq(rec.len, szs[szsi].len);
+                       // szs[szsi].first == 2 sometimes?!?!  g++ is unable to do
+                       // the following correctly, regardless of how I write it
+                       //assert((rec.first == 0) == (szs[szsi].first == 0));
+                       assert(rec.first || rec.off > 0);
+                       ASSERT_ONLY(szsi++);
+#ifdef ACCOUNT_FOR_ALL_GAP_REFS
+                       if(rec.len == 0) continue;
+                       if(rec.first && rec.len > 0) seqsRead++;
+                       assert_leq(rec.len, this->_plen[seqsRead-1]);
+#else
+                       if(rec.first) seqsRead++;
+                       if(rec.len == 0) continue;
+                       assert_leq(rec.len, this->_plen[seqsRead-1]);
+#endif
+                       // Reset the patoff if this is the first fragment
+                       if(rec.first) patoff = 0;
+                       patoff += rec.off; // add fragment's offset from end of last frag.
+                       // Adjust rpcps
+                       //uint32_t seq = seqsRead-1;
+                       ASSERT_ONLY(entsWritten++);
+                       // This is where rstarts elements are written to the output stream
+                       //writeU32(out1, oldRetLen, this->toBe()); // offset from beginning of joined string
+                       //writeU32(out1, seq,       this->toBe()); // sequence id
+                       //writeU32(out1, patoff,    this->toBe()); // offset into sequence
+                       patoff += rec.len;
+               }
+               assert_gt(szsi, 0);
+               l[i]->reset();
+               assert(!l[i]->eof());
+               #ifndef NDEBUG
+               int c = l[i]->get();
+               assert_eq('>', c);
+               assert(!l[i]->eof());
+               l[i]->reset();
+               assert(!l[i]->eof());
+               #endif
+       }
+       assert_eq(entsWritten, this->_nFrag);
+}
+
+
+/**
+ * Build an Ebwt from a string 's' and its suffix array 'sa' (which
+ * might actually be a suffix array *builder* that builds blocks of the
+ * array on demand).  The bulk of the Ebwt, i.e. the ebwt and offs
+ * arrays, is written directly to disk.  This is by design: keeping
+ * those arrays in memory needlessly increases the footprint of the
+ * building process.  Instead, we prefer to build the Ebwt directly
+ * "to disk" and then read it back into memory later as necessary.
+ *
+ * It is assumed that the header values and join-related values (nPat,
+ * plen) have already been written to 'out1' before this function
+ * is called.  When this function is finished, it will have
+ * additionally written ebwt, zOff, fchr, ftab and eftab to the primary
+ * file and offs to the secondary file.
+ *
+ * Assume DNA/RNA/any alphabet with 4 or fewer elements.
+ * Assume occ array entries are 32 bits each.
+ *
+ * @param sa            the suffix array to convert to a Ebwt
+ * @param buildISA      whether to output an ISA sample into out2 after
+ *                      the SA sample
+ * @param s             the original string
+ * @param out
+ */
+template<typename TStr>
+void Ebwt<TStr>::buildToDisk(InorderBlockwiseSA<TStr>& sa,
+                             const TStr& s,
+                             ostream& out1,
+                             ostream& out2)
+{
+       const EbwtParams& eh = this->_eh;
+
+       assert(eh.repOk());
+       assert_eq(length(s)+1, sa.size());
+       assert_eq(length(s), eh._len);
+       assert_gt(eh._lineRate, 3);
+       assert(sa.suffixItrIsReset());
+       assert_leq((int)ValueSize<Dna>::VALUE, 4);
+
+       uint32_t  len = eh._len;
+       uint32_t  ftabLen = eh._ftabLen;
+       uint32_t  sideSz = eh._sideSz;
+       uint32_t  ebwtTotSz = eh._ebwtTotSz;
+       uint32_t  fchr[] = {0, 0, 0, 0, 0};
+       uint32_t* ftab = NULL;
+       uint32_t  zOff = 0xffffffff;
+
+       // Save # of occurrences of each character as we walk along the bwt
+       uint32_t occ[4] = {0, 0, 0, 0};
+       // Save 'G' and 'T' occurrences between backward and forward buckets
+       uint32_t occSave[2] = {0, 0};
+
+       // Record rows that should "absorb" adjacent rows in the ftab.
+       // The absorbed rows represent suffixes shorter than the ftabChars
+       // cutoff.
+       uint8_t absorbCnt = 0;
+       uint8_t *absorbFtab;
+       try {
+               VMSG_NL("Allocating ftab, absorbFtab");
+               ftab = new uint32_t[ftabLen];
+               memset(ftab, 0, 4 * ftabLen);
+               absorbFtab = new uint8_t[ftabLen];
+               memset(absorbFtab, 0, ftabLen);
+       } catch(bad_alloc &e) {
+               cerr << "Out of memory allocating ftab[] or absorbFtab[] "
+                    << "in Ebwt::buildToDisk() at " << __FILE__ << ":"
+                    << __LINE__ << endl;
+               throw e;
+       }
+       assert(ftab != NULL);
+       assert(absorbFtab != NULL);
+
+       // Allocate the side buffer; holds a single side as its being
+       // constructed and then written to disk.  Reused across all sides.
+#ifdef SIXTY4_FORMAT
+       uint64_t *ebwtSide = NULL;
+#else
+       uint8_t *ebwtSide = NULL;
+#endif
+       try {
+#ifdef SIXTY4_FORMAT
+               ebwtSide = new uint64_t[sideSz >> 3];
+#else
+               ebwtSide = new uint8_t[sideSz];
+#endif
+       } catch(bad_alloc &e) {
+               cerr << "Out of memory allocating ebwtSide[] in "
+                    << "Ebwt::buildToDisk() at " << __FILE__ << ":"
+                    << __LINE__ << endl;
+               throw e;
+       }
+       assert(ebwtSide != NULL);
+
+       // Allocate a buffer to hold the ISA sample, which we accumulate in
+       // the loop and then output at the end.  We can't write output the
+       // ISA right away because the order in which we calculate its
+       // elements is based on the suffix array, which we only see bit by
+       // bit
+       uint32_t *isaSample = NULL;
+       if(eh._isaRate >= 0) {
+               try {
+                       isaSample = new uint32_t[eh._isaLen];
+               } catch(bad_alloc &e) {
+                       cerr << "Out of memory allocating isaSample[] in "
+                            << "Ebwt::buildToDisk() at " << __FILE__ << ":"
+                            << __LINE__ << endl;
+                       throw e;
+               }
+               assert(isaSample != NULL);
+       }
+
+       // Points to the base offset within ebwt for the side currently
+       // being written
+       uint32_t side = 0;
+       // Points to a byte offset from 'side' within ebwt[] where next
+       // char should be written
+#ifdef SIXTY4_FORMAT
+       int sideCur = (eh._sideBwtSz >> 3) - 1;
+#else
+       int sideCur = eh._sideBwtSz - 1;
+#endif
+
+       // Whether we're assembling a forward or a reverse bucket
+       bool fw = false;
+
+       // Did we just finish writing a forward bucket?  (Must be true when
+       // we exit the loop.)
+       bool wroteFwBucket = false;
+
+       // Have we skipped the '$' in the last column yet?
+       ASSERT_ONLY(bool dollarSkipped = false);
+
+       uint32_t si = 0;   // string offset (chars)
+       ASSERT_ONLY(uint32_t lastSufInt = 0);
+       ASSERT_ONLY(bool inSA = true); // true iff saI still points inside suffix
+                                      // array (as opposed to the padding at the
+                                      // end)
+       // Iterate over packed bwt bytes
+       VMSG_NL("Entering Ebwt loop");
+       ASSERT_ONLY(uint32_t beforeEbwtOff = (uint32_t)out1.tellp());
+       while(side < ebwtTotSz) {
+               wroteFwBucket = false;
+               // Sanity-check our cursor into the side buffer
+               assert_geq(sideCur, 0);
+               assert_lt(sideCur, (int)eh._sideBwtSz);
+               assert_eq(0, side % sideSz); // 'side' must be on side boundary
+               ebwtSide[sideCur] = 0; // clear
+               assert_lt(side + sideCur, ebwtTotSz);
+               // Iterate over bit-pairs in the si'th character of the BWT
+#ifdef SIXTY4_FORMAT
+               for(int bpi = 0; bpi < 32; bpi++, si++)
+#else
+               for(int bpi = 0; bpi < 4; bpi++, si++)
+#endif
+               {
+                       int bwtChar;
+                       bool count = true;
+                       if(si <= len) {
+                               // Still in the SA; extract the bwtChar
+                               uint32_t saElt = sa.nextSuffix();
+                               // (that might have triggered sa to calc next suf block)
+                               if(isaSample != NULL && (saElt & eh._isaMask) == saElt) {
+                                       // This element belongs in the ISA sample.  Add
+                                       // an entry mapping the text offset to the offset
+                                       // into the suffix array that holds the suffix
+                                       // beginning with the character at that text offset
+                                       assert_lt((saElt >> eh._isaRate), eh._isaLen);
+                                       isaSample[saElt >> eh._isaRate] = si;
+                               }
+                               if(saElt == 0) {
+                                       // Don't add the '$' in the last column to the BWT
+                                       // transform; we can't encode a $ (only A C T or G)
+                                       // and counting it as, say, an A, will mess up the
+                                       // LR mapping
+                                       bwtChar = 0; count = false;
+                                       ASSERT_ONLY(dollarSkipped = true);
+                                       zOff = si; // remember the SA row that
+                                                  // corresponds to the 0th suffix
+                               } else {
+                                       bwtChar = (int)(Dna)(s[saElt-1]);
+                                       assert_lt(bwtChar, 4);
+                                       // Update the fchr
+                                       fchr[bwtChar]++;
+                               }
+                               // Update ftab
+                               if((len-saElt) >= (uint32_t)eh._ftabChars) {
+                                       // Turn the first ftabChars characters of the
+                                       // suffix into an integer index into ftab
+                                       uint32_t sufInt = 0;
+                                       for(int i = 0; i < eh._ftabChars; i++) {
+                                               sufInt <<= 2;
+                                               assert_lt(i, (int)(len-saElt));
+                                               sufInt |= (unsigned char)(Dna)(s[saElt+i]);
+                                       }
+                                       // Assert that this prefix-of-suffix is greater
+                                       // than or equal to the last one (true b/c the
+                                       // suffix array is sorted)
+                                       #ifndef NDEBUG
+                                       if(lastSufInt > 0) assert_geq(sufInt, lastSufInt);
+                                       lastSufInt = sufInt;
+                                       #endif
+                                       // Update ftab
+                                       assert_lt(sufInt+1, ftabLen);
+                                       ftab[sufInt+1]++;
+                                       if(absorbCnt > 0) {
+                                               // Absorb all short suffixes since the last
+                                               // transition into this transition
+                                               absorbFtab[sufInt] = absorbCnt;
+                                               absorbCnt = 0;
+                                       }
+                               } else {
+                                       // Otherwise if suffix is fewer than ftabChars
+                                       // characters long, then add it to the 'absorbCnt';
+                                       // it will be absorbed into the next transition
+                                       assert_lt(absorbCnt, 255);
+                                       absorbCnt++;
+                               }
+                               // Suffix array offset boundary? - update offset array
+                               if((si & eh._offMask) == si) {
+                                       assert_lt((si >> eh._offRate), eh._offsLen);
+                                       // Write offsets directly to the secondary output
+                                       // stream, thereby avoiding keeping them in memory
+                                       writeU32(out2, saElt, this->toBe());
+                               }
+                       } else {
+                               // Strayed off the end of the SA, now we're just
+                               // padding out a bucket
+                               #ifndef NDEBUG
+                               if(inSA) {
+                                       // Assert that we wrote all the characters in the
+                                       // string before now
+                                       assert_eq(si, len+1);
+                                       inSA = false;
+                               }
+                               #endif
+                               // 'A' used for padding; important that padding be
+                               // counted in the occ[] array
+                               bwtChar = 0;
+                       }
+                       if(count) occ[bwtChar]++;
+                       // Append BWT char to bwt section of current side
+                       if(fw) {
+                               // Forward bucket: fill from least to most
+#ifdef SIXTY4_FORMAT
+                               ebwtSide[sideCur] |= ((uint64_t)bwtChar << (bpi << 1));
+                               if(bwtChar > 0) assert_gt(ebwtSide[sideCur], 0);
+#else
+                               pack_2b_in_8b(bwtChar, ebwtSide[sideCur], bpi);
+                               assert_eq((ebwtSide[sideCur] >> (bpi*2)) & 3, bwtChar);
+#endif
+                       } else {
+                               // Backward bucket: fill from most to least
+#ifdef SIXTY4_FORMAT
+                               ebwtSide[sideCur] |= ((uint64_t)bwtChar << ((31 - bpi) << 1));
+                               if(bwtChar > 0) assert_gt(ebwtSide[sideCur], 0);
+#else
+                               pack_2b_in_8b(bwtChar, ebwtSide[sideCur], 3-bpi);
+                               assert_eq((ebwtSide[sideCur] >> ((3-bpi)*2)) & 3, bwtChar);
+#endif
+                       }
+               } // end loop over bit-pairs
+               assert_eq(dollarSkipped ? 3 : 0, (occ[0] + occ[1] + occ[2] + occ[3]) & 3);
+#ifdef SIXTY4_FORMAT
+               assert_eq(0, si & 31);
+#else
+               assert_eq(0, si & 3);
+#endif
+               if(fw) sideCur++;
+               else   sideCur--;
+#ifdef SIXTY4_FORMAT
+               if(sideCur == (int)eh._sideBwtSz >> 3)
+#else
+               if(sideCur == (int)eh._sideBwtSz)
+#endif
+               {
+                       // Forward side boundary
+                       assert_eq(0, si % eh._sideBwtLen);
+#ifdef SIXTY4_FORMAT
+                       sideCur = (eh._sideBwtSz >> 3) - 1;
+#else
+                       sideCur = eh._sideBwtSz - 1;
+#endif
+                       assert(fw); fw = false; wroteFwBucket = true;
+                       // Write 'G' and 'T'
+                       assert_leq(occSave[0], occ[2]);
+                       assert_leq(occSave[1], occ[3]);
+                       uint32_t *u32side = reinterpret_cast<uint32_t*>(ebwtSide);
+                       side += sideSz;
+                       assert_leq(side, eh._ebwtTotSz);
+                       u32side[(sideSz >> 2)-2] = endianizeU32(occSave[0], this->toBe());
+                       u32side[(sideSz >> 2)-1] = endianizeU32(occSave[1], this->toBe());
+                       // Write forward side to primary file
+                       out1.write((const char *)ebwtSide, sideSz);
+               } else if (sideCur == -1) {
+                       // Backward side boundary
+                       assert_eq(0, si % eh._sideBwtLen);
+                       sideCur = 0;
+                       assert(!fw); fw = true;
+                       // Write 'A' and 'C'
+                       uint32_t *u32side = reinterpret_cast<uint32_t*>(ebwtSide);
+                       side += sideSz;
+                       assert_leq(side, eh._ebwtTotSz);
+                       u32side[(sideSz >> 2)-2] = endianizeU32(occ[0], this->toBe());
+                       u32side[(sideSz >> 2)-1] = endianizeU32(occ[1], this->toBe());
+                       occSave[0] = occ[2]; // save 'G' count
+                       occSave[1] = occ[3]; // save 'T' count
+                       // Write backward side to primary file
+                       out1.write((const char *)ebwtSide, sideSz);
+               }
+       }
+       VMSG_NL("Exited Ebwt loop");
+       assert(ftab != NULL);
+       assert_neq(zOff, 0xffffffff);
+       if(absorbCnt > 0) {
+               // Absorb any trailing, as-yet-unabsorbed short suffixes into
+               // the last element of ftab
+               absorbFtab[ftabLen-1] = absorbCnt;
+       }
+       // Assert that our loop counter got incremented right to the end
+       assert_eq(side, eh._ebwtTotSz);
+       // Assert that we wrote the expected amount to out1
+       assert_eq(((uint32_t)out1.tellp() - beforeEbwtOff), eh._ebwtTotSz);
+       // assert that the last thing we did was write a forward bucket
+       assert(wroteFwBucket);
+
+       //
+       // Write zOff to primary stream
+       //
+       writeU32(out1, zOff, this->toBe());
+
+       //
+       // Finish building fchr
+       //
+       // Exclusive prefix sum on fchr
+       for(int i = 1; i < 4; i++) {
+               fchr[i] += fchr[i-1];
+       }
+       assert_eq(fchr[3], len);
+       // Shift everybody up by one
+       for(int i = 4; i >= 1; i--) {
+               fchr[i] = fchr[i-1];
+       }
+       fchr[0] = 0;
+       if(_verbose) {
+               for(int i = 0; i < 5; i++)
+                       cout << "fchr[" << "ACGT$"[i] << "]: " << fchr[i] << endl;
+       }
+       // Write fchr to primary file
+       for(int i = 0; i < 5; i++) {
+               writeU32(out1, fchr[i], this->toBe());
+       }
+
+       //
+       // Finish building ftab and build eftab
+       //
+       // Prefix sum on ftable
+       uint32_t eftabLen = 0;
+       assert_eq(0, absorbFtab[0]);
+       for(uint32_t i = 1; i < ftabLen; i++) {
+               if(absorbFtab[i] > 0) eftabLen += 2;
+       }
+       assert_leq(eftabLen, (uint32_t)eh._ftabChars*2);
+       eftabLen = eh._ftabChars*2;
+       uint32_t *eftab = NULL;
+       try {
+               eftab = new uint32_t[eftabLen];
+               memset(eftab, 0, 4 * eftabLen);
+       } catch(bad_alloc &e) {
+               cerr << "Out of memory allocating eftab[] "
+                    << "in Ebwt::buildToDisk() at " << __FILE__ << ":"
+                    << __LINE__ << endl;
+               throw e;
+       }
+       assert(eftab != NULL);
+       uint32_t eftabCur = 0;
+       for(uint32_t i = 1; i < ftabLen; i++) {
+               uint32_t lo = ftab[i] + Ebwt::ftabHi(ftab, eftab, len, ftabLen, eftabLen, i-1);
+               if(absorbFtab[i] > 0) {
+                       // Skip a number of short pattern indicated by absorbFtab[i]
+                       uint32_t hi = lo + absorbFtab[i];
+                       assert_lt(eftabCur*2+1, eftabLen);
+                       eftab[eftabCur*2] = lo;
+                       eftab[eftabCur*2+1] = hi;
+                       ftab[i] = (eftabCur++) ^ 0xffffffff; // insert pointer into eftab
+                       assert_eq(lo, Ebwt::ftabLo(ftab, eftab, len, ftabLen, eftabLen, i));
+                       assert_eq(hi, Ebwt::ftabHi(ftab, eftab, len, ftabLen, eftabLen, i));
+               } else {
+                       ftab[i] = lo;
+               }
+       }
+       assert_eq(Ebwt::ftabHi(ftab, eftab, len, ftabLen, eftabLen, ftabLen-1), len+1);
+       // Write ftab to primary file
+       for(uint32_t i = 0; i < ftabLen; i++) {
+               writeU32(out1, ftab[i], this->toBe());
+       }
+       // Write eftab to primary file
+       for(uint32_t i = 0; i < eftabLen; i++) {
+               writeU32(out1, eftab[i], this->toBe());
+       }
+       // Write isa to primary file
+       if(isaSample != NULL) {
+               ASSERT_ONLY(Bitset sawISA(eh._len+1));
+               for(uint32_t i = 0; i < eh._isaLen; i++) {
+                       uint32_t s = isaSample[i];
+                       assert_leq(s, eh._len);
+                       assert(!sawISA.test(s));
+                       ASSERT_ONLY(sawISA.set(s));
+                       writeU32(out2, s, this->toBe());
+               }
+               delete[] isaSample;
+       }
+       delete[] ftab;
+       delete[] eftab;
+       delete[] absorbFtab;
+
+       // Note: if you'd like to sanity-check the Ebwt, you'll have to
+       // read it back into memory first!
+       assert(!isInMemory());
+       VMSG_NL("Exiting Ebwt::buildToDisk()");
+}
+
+/**
+ * Try to find the Bowtie index specified by the user.  First try the
+ * exact path given by the user.  Then try the user-provided string
+ * appended onto the path of the "indexes" subdirectory below this
+ * executable, then try the provided string appended onto
+ * "$BOWTIE_INDEXES/".
+ */
+string adjustEbwtBase(const string& cmdline,
+                                         const string& ebwtFileBase,
+                                         bool verbose = false);
+
+#endif /*EBWT_H_*/
diff --git a/ebwt_build.cpp b/ebwt_build.cpp
new file mode 100644 (file)
index 0000000..04f7a75
--- /dev/null
@@ -0,0 +1,637 @@
+#include <iostream>
+#include <fstream>
+#include <string>
+#include <cassert>
+#include <seqan/index.h>
+#include <seqan/sequence.h>
+#include <seqan/file.h>
+#include <getopt.h>
+#include "assert_helpers.h"
+#include "endian_swap.h"
+#include "ebwt.h"
+#include "formats.h"
+#include "sequence_io.h"
+#include "tokenize.h"
+#include "timer.h"
+#include "ref_read.h"
+#include "filebuf.h"
+#include "reference.h"
+
+/**
+ * \file Driver for the bowtie-build indexing tool.
+ */
+
+// Build parameters
+static bool verbose;
+static int sanityCheck;
+static int format;
+static uint32_t bmax;
+static uint32_t bmaxMultSqrt;
+static uint32_t bmaxDivN;
+static int dcv;
+static int noDc;
+static int entireSA;
+static int seed;
+static int showVersion;
+static bool doubleEbwt;
+//   Ebwt parameters
+static int32_t lineRate;
+static int32_t linesPerSide;
+static int32_t offRate;
+static int32_t ftabChars;
+static int  bigEndian;
+static bool nsToAs;
+static bool autoMem;
+static bool packed;
+static bool writeRef;
+static bool justRef;
+static int reverseType;
+bool color;
+
+static void resetOptions() {
+       verbose      = true;  // be talkative (default)
+       sanityCheck  = 0;     // do slow sanity checks
+       format       = FASTA; // input sequence format
+       bmax         = 0xffffffff; // max blockwise SA bucket size
+       bmaxMultSqrt = 0xffffffff; // same, as multplier of sqrt(n)
+       bmaxDivN     = 4;          // same, as divisor of n
+       dcv          = 1024;  // bwise SA difference-cover sample sz
+       noDc         = 0;     // disable difference-cover sample
+       entireSA     = 0;     // 1 = disable blockwise SA
+       seed         = 0;     // srandom seed
+       showVersion  = 0;     // just print version and quit?
+       doubleEbwt   = true;  // build forward and reverse Ebwts
+       //   Ebwt parameters
+       lineRate     = 6;  // a "line" is 64 bytes
+       linesPerSide = 1;  // 1 64-byte line on a side
+       offRate      = 5;  // sample 1 out of 32 SA elts
+       ftabChars    = 10; // 10 chars in initial lookup table
+       bigEndian    = 0;  // little endian
+       nsToAs       = false; // convert reference Ns to As prior to indexing
+       autoMem      = true;  // automatically adjust memory usage parameters
+       packed       = false; //
+       writeRef     = true;  // write compact reference to .3.ebwt/.4.ebwt
+       justRef      = false; // *just* write compact reference, don't index
+       reverseType  = REF_READ_REVERSE_EACH;
+       color        = false;
+}
+
+// Argument constants for getopts
+enum {
+       ARG_BMAX = 256,
+       ARG_BMAX_MULT,
+       ARG_BMAX_DIV,
+       ARG_DCV,
+       ARG_SEED,
+       ARG_CUTOFF,
+       ARG_PMAP,
+       ARG_NTOA,
+       ARG_USAGE,
+       ARG_NEW_REVERSE
+};
+
+/**
+ * Print a detailed usage message to the provided output stream.
+ */
+static void printUsage(ostream& out) {
+       out << "Usage: bowtie-build [options]* <reference_in> <ebwt_outfile_base>" << endl
+           << "    reference_in            comma-separated list of files with ref sequences" << endl
+           << "    ebwt_outfile_base       write Ebwt data to files with this dir/basename" << endl
+           << "Options:" << endl
+           << "    -f                      reference files are Fasta (default)" << endl
+           << "    -c                      reference sequences given on cmd line (as <seq_in>)" << endl
+           << "    -C/--color              build a colorspace index" << endl
+           << "    -a/--noauto             disable automatic -p/--bmax/--dcv memory-fitting" << endl
+           << "    -p/--packed             use packed strings internally; slower, uses less mem" << endl
+           << "    -B                      build both letter- and colorspace indexes" << endl
+           << "    --bmax <int>            max bucket sz for blockwise suffix-array builder" << endl
+           //<< "    --bmaxmultsqrt <int>    max bucket sz as multiple of sqrt(ref len)" << endl
+           << "    --bmaxdivn <int>        max bucket sz as divisor of ref len (default: 4)" << endl
+           << "    --dcv <int>             diff-cover period for blockwise (default: 1024)" << endl
+           << "    --nodc                  disable diff-cover (algorithm becomes quadratic)" << endl
+           << "    -r/--noref              don't build .3/.4.ebwt (packed reference) portion" << endl
+           << "    -3/--justref            just build .3/.4.ebwt (packed reference) portion" << endl
+           << "    -o/--offrate <int>      SA is sampled every 2^offRate BWT chars (default: 5)" << endl
+           << "    -t/--ftabchars <int>    # of chars consumed in initial lookup (default: 10)" << endl
+           << "    --ntoa                  convert Ns in reference to As" << endl
+           //<< "    --big --little          endianness (default: little, this host: "
+           //<< (currentlyBigEndian()? "big":"little") << ")" << endl
+           << "    --seed <int>            seed for random number generator" << endl
+           //<< "    --new-reverse           concatenate then reverse stretches, not vice versa" << endl
+           << "    -q/--quiet              verbose output (for debugging)" << endl
+           << "    -h/--help               print detailed description of tool and its options" << endl
+           << "    --usage                 print this usage message" << endl
+           << "    --version               print version information and quit" << endl
+           ;
+}
+
+static const char *short_options = "qraph?nscfl:i:o:t:h:3C";
+
+static struct option long_options[] = {
+       {(char*)"quiet",        no_argument,       0,            'q'},
+       {(char*)"sanity",       no_argument,       0,            's'},
+       {(char*)"packed",       no_argument,       0,            'p'},
+       {(char*)"little",       no_argument,       &bigEndian,   0},
+       {(char*)"big",          no_argument,       &bigEndian,   1},
+       {(char*)"bmax",         required_argument, 0,            ARG_BMAX},
+       {(char*)"bmaxmultsqrt", required_argument, 0,            ARG_BMAX_MULT},
+       {(char*)"bmaxdivn",     required_argument, 0,            ARG_BMAX_DIV},
+       {(char*)"dcv",          required_argument, 0,            ARG_DCV},
+       {(char*)"nodc",         no_argument,       &noDc,        1},
+       {(char*)"seed",         required_argument, 0,            ARG_SEED},
+       {(char*)"entiresa",     no_argument,       &entireSA,    1},
+       {(char*)"version",      no_argument,       &showVersion, 1},
+       {(char*)"noauto",       no_argument,       0,            'a'},
+       {(char*)"noblocks",     required_argument, 0,            'n'},
+       {(char*)"linerate",     required_argument, 0,            'l'},
+       {(char*)"linesperside", required_argument, 0,            'i'},
+       {(char*)"offrate",      required_argument, 0,            'o'},
+       {(char*)"ftabchars",    required_argument, 0,            't'},
+       {(char*)"help",         no_argument,       0,            'h'},
+       {(char*)"ntoa",         no_argument,       0,            ARG_NTOA},
+       {(char*)"justref",      no_argument,       0,            '3'},
+       {(char*)"noref",        no_argument,       0,            'r'},
+       {(char*)"color",        no_argument,       0,            'C'},
+       {(char*)"usage",        no_argument,       0,            ARG_USAGE},
+       {(char*)"new-reverse",  no_argument,       0,            ARG_NEW_REVERSE},
+       {(char*)0, 0, 0, 0} // terminator
+};
+
+/**
+ * Parse an int out of optarg and enforce that it be at least 'lower';
+ * if it is less than 'lower', then output the given error message and
+ * exit with an error and a usage message.
+ */
+template<typename T>
+static int parseNumber(T lower, const char *errmsg) {
+       char *endPtr= NULL;
+       T t = (T)strtoll(optarg, &endPtr, 10);
+       if (endPtr != NULL) {
+               if (t < lower) {
+                       cerr << errmsg << endl;
+                       printUsage(cerr);
+                       throw 1;
+               }
+               return t;
+       }
+       cerr << errmsg << endl;
+       printUsage(cerr);
+       throw 1;
+       return -1;
+}
+
+/**
+ * Read command-line arguments
+ */
+static void parseOptions(int argc, const char **argv) {
+       int option_index = 0;
+       int next_option;
+       do {
+               next_option = getopt_long(
+                       argc, const_cast<char**>(argv),
+                       short_options, long_options, &option_index);
+               switch (next_option) {
+                       case 'f': format = FASTA; break;
+                       case 'c': format = CMDLINE; break;
+                       case 'p': packed = true; break;
+                       case 'C': color = true; break;
+                       case 'l':
+                               lineRate = parseNumber<int>(3, "-l/--lineRate arg must be at least 3");
+                               break;
+                       case 'i':
+                               linesPerSide = parseNumber<int>(1, "-i/--linesPerSide arg must be at least 1");
+                               break;
+                       case 'o':
+                               offRate = parseNumber<int>(0, "-o/--offRate arg must be at least 0");
+                               break;
+                       case '3':
+                               justRef = true;
+                               break;
+                       case 't':
+                               ftabChars = parseNumber<int>(1, "-t/--ftabChars arg must be at least 1");
+                               break;
+                       case 'n':
+                               // all f-s is used to mean "not set", so put 'e' on end
+                               bmax = 0xfffffffe;
+                               break;
+                       case 'h':
+                       case ARG_USAGE:
+                               printUsage(cout);
+                               throw 0;
+                               break;
+                       case ARG_BMAX:
+                               bmax = parseNumber<uint32_t>(1, "--bmax arg must be at least 1");
+                               bmaxMultSqrt = 0xffffffff; // don't use multSqrt
+                               bmaxDivN = 0xffffffff;     // don't use multSqrt
+                               break;
+                       case ARG_BMAX_MULT:
+                               bmaxMultSqrt = parseNumber<uint32_t>(1, "--bmaxmultsqrt arg must be at least 1");
+                               bmax = 0xffffffff;     // don't use bmax
+                               bmaxDivN = 0xffffffff; // don't use multSqrt
+                               break;
+                       case ARG_BMAX_DIV:
+                               bmaxDivN = parseNumber<uint32_t>(1, "--bmaxdivn arg must be at least 1");
+                               bmax = 0xffffffff;         // don't use bmax
+                               bmaxMultSqrt = 0xffffffff; // don't use multSqrt
+                               break;
+                       case ARG_DCV:
+                               dcv = parseNumber<int>(3, "--dcv arg must be at least 3");
+                               break;
+                       case ARG_SEED:
+                               seed = parseNumber<int>(0, "--seed arg must be at least 0");
+                               break;
+                       case ARG_NTOA: nsToAs = true; break;
+                       case ARG_NEW_REVERSE: reverseType = REF_READ_REVERSE; break;
+                       case 'a': autoMem = false; break;
+                       case 'q': verbose = false; break;
+                       case 's': sanityCheck = true; break;
+                       case 'r': writeRef = false; break;
+
+                       case -1: /* Done with options. */
+                               break;
+                       case 0:
+                               if (long_options[option_index].flag != 0)
+                                       break;
+                       default:
+                               printUsage(cerr);
+                               throw 1;
+               }
+       } while(next_option != -1);
+       if(bmax < 40) {
+               cerr << "Warning: specified bmax is very small (" << bmax << ").  This can lead to" << endl
+                    << "extremely slow performance and memory exhaustion.  Perhaps you meant to specify" << endl
+                    << "a small --bmaxdivn?" << endl;
+       }
+}
+
+/**
+ * Drive the Ebwt construction process and optionally sanity-check the
+ * result.
+ */
+template<typename TStr>
+static void driver(const string& infile,
+                   vector<string>& infiles,
+                   const string& outfile,
+                   bool reverse = false)
+{
+       vector<FileBuf*> is;
+       bool bisulfite = false;
+       RefReadInParams refparams(color, reverse ? reverseType : REF_READ_FORWARD, nsToAs, bisulfite);
+       assert_gt(infiles.size(), 0);
+       if(format == CMDLINE) {
+               // Adapt sequence strings to stringstreams open for input
+               stringstream *ss = new stringstream();
+               for(size_t i = 0; i < infiles.size(); i++) {
+                       (*ss) << ">" << i << endl << infiles[i] << endl;
+               }
+               FileBuf *fb = new FileBuf(ss);
+               assert(fb != NULL);
+               assert(!fb->eof());
+               assert(fb->get() == '>');
+               ASSERT_ONLY(fb->reset());
+               assert(!fb->eof());
+               is.push_back(fb);
+       } else {
+               // Adapt sequence files to ifstreams
+               for(size_t i = 0; i < infiles.size(); i++) {
+                       FILE *f = fopen(infiles[i].c_str(), "r");
+                       if (f == NULL) {
+                               cerr << "Error: could not open "<< infiles[i] << endl;
+                               throw 1;
+                       }
+                       FileBuf *fb = new FileBuf(f);
+                       assert(fb != NULL);
+                       assert(!fb->eof());
+                       assert(fb->get() == '>');
+                       ASSERT_ONLY(fb->reset());
+                       assert(!fb->eof());
+                       is.push_back(fb);
+               }
+       }
+       // Vector for the ordered list of "records" comprising the input
+       // sequences.  A record represents a stretch of unambiguous
+       // characters in one of the input sequences.
+       vector<RefRecord> szs;
+       vector<uint32_t> plens;
+       std::pair<size_t, size_t> sztot;
+       {
+               if(verbose) cout << "Reading reference sizes" << endl;
+               Timer _t(cout, "  Time reading reference sizes: ", verbose);
+               if(!reverse && (writeRef || justRef)) {
+                       // For forward reference, dump it to .3.ebwt and .4.ebwt
+                       // files
+                       string file3 = outfile + ".3.ebwt";
+                       string file4 = outfile + ".4.ebwt";
+                       // Open output stream for the '.3.ebwt' file which will
+                       // hold the size records.
+                       ofstream fout3(file3.c_str(), ios::binary);
+                       if(!fout3.good()) {
+                               cerr << "Could not open index file for writing: \"" << file3 << "\"" << endl
+                                        << "Please make sure the directory exists and that permissions allow writing by" << endl
+                                        << "Bowtie." << endl;
+                               throw 1;
+                       }
+                       BitpairOutFileBuf bpout(file4.c_str());
+                       // Read in the sizes of all the unambiguous stretches of
+                       // the genome into a vector of RefRecords.  The input
+                       // streams are reset once it's done.
+                       writeU32(fout3, 1, bigEndian); // endianness sentinel
+                       if(color) {
+                               refparams.color = false;
+                               // Make sure the .3.ebwt and .4.ebwt files contain
+                               // nucleotides; not colors
+                               int numSeqs = 0;
+                               std::pair<size_t, size_t> sztot2 =
+                                       fastaRefReadSizes(is, szs, plens, refparams, &bpout, numSeqs);
+                               refparams.color = true;
+                               writeU32(fout3, szs.size(), bigEndian); // write # records
+                               for(size_t i = 0; i < szs.size(); i++) {
+                                       szs[i].write(fout3, bigEndian);
+                               }
+                               szs.clear();
+                               plens.clear();
+                               // Now read in the colorspace size records; these are
+                               // the ones that were indexed
+                               int numSeqs2 = 0;
+                               sztot = fastaRefReadSizes(is, szs, plens, refparams, NULL, numSeqs2);
+                               assert_geq(numSeqs, numSeqs2);
+                               //assert_eq(sztot2.second, sztot.second + numSeqs);
+                       } else {
+                               int numSeqs = 0;
+                               sztot = fastaRefReadSizes(is, szs, plens, refparams, &bpout, numSeqs);
+                               writeU32(fout3, szs.size(), bigEndian); // write # records
+                               for(size_t i = 0; i < szs.size(); i++) szs[i].write(fout3, bigEndian);
+                       }
+                       if(sztot.first == 0) {
+                               cerr << "Error: No unambiguous stretches of characters in the input.  Aborting..." << endl;
+                               throw 1;
+                       }
+                       assert_gt(sztot.first, 0);
+                       assert_gt(sztot.second, 0);
+                       bpout.close();
+                       fout3.close();
+#ifndef NDEBUG
+                       if(sanityCheck) {
+                               BitPairReference bpr(
+                                       outfile, // ebwt basename
+                                       color,   // expect color?
+                                       true,    // sanity check?
+                                       &infiles,// files to check against
+                                       NULL,    // sequences to check against
+                                       format == CMDLINE, // whether infiles contains strings
+                                       true,    // load sequence?
+                                       false,   // use memory-mapped files
+                                       false,   // use shared memory
+                                       false,   // sweep through memory-mapped memory
+                                       false,   // be talkative
+                                       false);  // be talkative
+                       }
+#endif
+               } else {
+                       // Read in the sizes of all the unambiguous stretches of the
+                       // genome into a vector of RefRecords
+                       int numSeqs = 0;
+                       sztot = fastaRefReadSizes(is, szs, plens, refparams, NULL, numSeqs);
+#ifndef NDEBUG
+                       if(refparams.color) {
+                               refparams.color = false;
+                               vector<RefRecord> szs2;
+                               vector<uint32_t> plens2;
+                               int numSeqs2 = 0;
+                               std::pair<size_t, size_t> sztot2 =
+                                       fastaRefReadSizes(is, szs2, plens2, refparams, NULL, numSeqs2);
+                               assert_leq(numSeqs, numSeqs2);
+                               // One less color than base
+                               //assert_geq(sztot2.second, sztot.second + numSeqs);
+                               refparams.color = true;
+                       }
+#endif
+               }
+       }
+       if(justRef) return;
+       assert_gt(sztot.first, 0);
+       assert_gt(sztot.second, 0);
+       assert_gt(szs.size(), 0);
+       // Construct Ebwt from input strings and parameters
+       Ebwt<TStr> ebwt(refparams.color ? 1 : 0,
+                       lineRate,
+                       linesPerSide,
+                       offRate,      // suffix-array sampling rate
+                       -1,           // ISA sampling rate
+                       ftabChars,    // number of chars in initial arrow-pair calc
+                       outfile,      // basename for .?.ebwt files
+                       !reverse,     // fw
+                       !entireSA,    // useBlockwise
+                       bmax,         // block size for blockwise SA builder
+                       bmaxMultSqrt, // block size as multiplier of sqrt(len)
+                       bmaxDivN,     // block size as divisor of len
+                       noDc? 0 : dcv,// difference-cover period
+                       is,           // list of input streams
+                       szs,          // list of reference sizes
+                       plens,        // list of not-all-gap reference sequence lengths
+                       sztot.first,  // total size of all unambiguous ref chars
+                       refparams,    // reference read-in parameters
+                       seed,         // pseudo-random number generator seed
+                       -1,           // override offRate
+                       -1,           // override isaRate
+                       verbose,      // be talkative
+                       autoMem,      // pass exceptions up to the toplevel so that we can adjust memory settings automatically
+                       sanityCheck); // verify results and internal consistency
+       // Note that the Ebwt is *not* resident in memory at this time.  To
+       // load it into memory, call ebwt.loadIntoMemory()
+       if(verbose) {
+               // Print Ebwt's vital stats
+               ebwt.eh().print(cout);
+       }
+       if(sanityCheck) {
+               // Try restoring the original string (if there were
+               // multiple texts, what we'll get back is the joined,
+               // padded string, not a list)
+               ebwt.loadIntoMemory(
+                       refparams.color ? 1 : 0,
+                       -1,
+                       false,
+                       false);
+               TStr s2; ebwt.restore(s2);
+               ebwt.evictFromMemory();
+               {
+                       TStr joinedss = Ebwt<TStr>::join(
+                               is,          // list of input streams
+                               szs,         // list of reference sizes
+                               sztot.first, // total size of all unambiguous ref chars
+                               refparams,   // reference read-in parameters
+                               seed);       // pseudo-random number generator seed
+                       if(refparams.reverse == REF_READ_REVERSE) {
+                               reverseInPlace(joinedss);
+                       }
+                       assert_eq(length(joinedss), length(s2));
+                       assert_eq(joinedss, s2);
+               }
+               if(verbose) {
+                       if(length(s2) < 1000) {
+                               cout << "Passed restore check: " << s2 << endl;
+                       } else {
+                               cout << "Passed restore check: (" << length(s2) << " chars)" << endl;
+                       }
+               }
+       }
+}
+
+static const char *argv0 = NULL;
+
+extern "C" {
+/**
+ * main function.  Parses command-line arguments.
+ */
+int bowtie_build(int argc, const char **argv) {
+       try {
+               // Reset all global state, including getopt state
+               opterr = optind = 1;
+               resetOptions();
+
+               string infile;
+               vector<string> infiles;
+               string outfile;
+
+               parseOptions(argc, argv);
+               argv0 = argv[0];
+               if(showVersion) {
+                       cout << argv0 << " version " << BOWTIE_VERSION << endl;
+                       if(sizeof(void*) == 4) {
+                               cout << "32-bit" << endl;
+                       } else if(sizeof(void*) == 8) {
+                               cout << "64-bit" << endl;
+                       } else {
+                               cout << "Neither 32- nor 64-bit: sizeof(void*) = " << sizeof(void*) << endl;
+                       }
+                       cout << "Built on " << BUILD_HOST << endl;
+                       cout << BUILD_TIME << endl;
+                       cout << "Compiler: " << COMPILER_VERSION << endl;
+                       cout << "Options: " << COMPILER_OPTIONS << endl;
+                       cout << "Sizeof {int, long, long long, void*, size_t, off_t}: {"
+                                << sizeof(int)
+                                << ", " << sizeof(long) << ", " << sizeof(long long)
+                                << ", " << sizeof(void *) << ", " << sizeof(size_t)
+                                << ", " << sizeof(off_t) << "}" << endl;
+                       return 0;
+               }
+
+               // Get input filename
+               if(optind >= argc) {
+                       cerr << "No input sequence or sequence file specified!" << endl;
+                       printUsage(cerr);
+                       return 1;
+               }
+               infile = argv[optind++];
+
+               // Get output filename
+               if(optind >= argc) {
+                       cerr << "No output file specified!" << endl;
+                       printUsage(cerr);
+                       return 1;
+               }
+               outfile = argv[optind++];
+
+               tokenize(infile, ",", infiles);
+               if(infiles.size() < 1) {
+                       cerr << "Tokenized input file list was empty!" << endl;
+                       printUsage(cerr);
+                       return 1;
+               }
+
+               // Optionally summarize
+               if(verbose) {
+                       cout << "Settings:" << endl
+                                << "  Output files: \"" << outfile << ".*.ebwt\"" << endl
+                                << "  Line rate: " << lineRate << " (line is " << (1<<lineRate) << " bytes)" << endl
+                                << "  Lines per side: " << linesPerSide << " (side is " << ((1<<lineRate)*linesPerSide) << " bytes)" << endl
+                                << "  Offset rate: " << offRate << " (one in " << (1<<offRate) << ")" << endl
+                                << "  FTable chars: " << ftabChars << endl
+                                << "  Strings: " << (packed? "packed" : "unpacked") << endl
+                                ;
+                       if(bmax == 0xffffffff) {
+                               cout << "  Max bucket size: default" << endl;
+                       } else {
+                               cout << "  Max bucket size: " << bmax << endl;
+                       }
+                       if(bmaxMultSqrt == 0xffffffff) {
+                               cout << "  Max bucket size, sqrt multiplier: default" << endl;
+                       } else {
+                               cout << "  Max bucket size, sqrt multiplier: " << bmaxMultSqrt << endl;
+                       }
+                       if(bmaxDivN == 0xffffffff) {
+                               cout << "  Max bucket size, len divisor: default" << endl;
+                       } else {
+                               cout << "  Max bucket size, len divisor: " << bmaxDivN << endl;
+                       }
+                       cout << "  Difference-cover sample period: " << dcv << endl;
+                       cout << "  Endianness: " << (bigEndian? "big":"little") << endl
+                                << "  Actual local endianness: " << (currentlyBigEndian()? "big":"little") << endl
+                                << "  Sanity checking: " << (sanityCheck? "enabled":"disabled") << endl;
+       #ifdef NDEBUG
+                       cout << "  Assertions: disabled" << endl;
+       #else
+                       cout << "  Assertions: enabled" << endl;
+       #endif
+                       cout << "  Random seed: " << seed << endl;
+                       cout << "  Sizeofs: void*:" << sizeof(void*) << ", int:" << sizeof(int) << ", long:" << sizeof(long) << ", size_t:" << sizeof(size_t) << endl;
+                       cout << "Input files DNA, " << file_format_names[format] << ":" << endl;
+                       for(size_t i = 0; i < infiles.size(); i++) {
+                               cout << "  " << infiles[i] << endl;
+                       }
+               }
+               // Seed random number generator
+               srand(seed);
+               {
+                       Timer timer(cout, "Total time for call to driver() for forward index: ", verbose);
+                       if(!packed) {
+                               try {
+                                       driver<String<Dna, Alloc<> > >(infile, infiles, outfile);
+                               } catch(bad_alloc& e) {
+                                       if(autoMem) {
+                                               cerr << "Switching to a packed string representation." << endl;
+                                               packed = true;
+                                       } else {
+                                               throw e;
+                                       }
+                               }
+                       }
+                       if(packed) {
+                               driver<String<Dna, Packed<Alloc<> > > >(infile, infiles, outfile);
+                       }
+               }
+               if(doubleEbwt) {
+                       srand(seed);
+                       Timer timer(cout, "Total time for backward call to driver() for mirror index: ", verbose);
+                       if(!packed) {
+                               try {
+                                       driver<String<Dna, Alloc<> > >(infile, infiles, outfile + ".rev", true);
+                               } catch(bad_alloc& e) {
+                                       if(autoMem) {
+                                               cerr << "Switching to a packed string representation." << endl;
+                                               packed = true;
+                                       } else {
+                                               throw e;
+                                       }
+                               }
+                       }
+                       if(packed) {
+                               driver<String<Dna, Packed<Alloc<> > > >(infile, infiles, outfile + ".rev", true);
+                       }
+               }
+               return 0;
+       } catch(std::exception& e) {
+               cerr << "Command: ";
+               for(int i = 0; i < argc; i++) cerr << argv[i] << " ";
+               cerr << endl;
+               return 1;
+       } catch(int e) {
+               if(e != 0) {
+                       cerr << "Command: ";
+                       for(int i = 0; i < argc; i++) cerr << argv[i] << " ";
+                       cerr << endl;
+               }
+               return e;
+       }
+}
+}
diff --git a/ebwt_search.cpp b/ebwt_search.cpp
new file mode 100644 (file)
index 0000000..eb1ab99
--- /dev/null
@@ -0,0 +1,3002 @@
+#include <stdlib.h>
+#include <iostream>
+#include <fstream>
+#include <string>
+#include <algorithm>
+#include <cassert>
+#include <stdexcept>
+#include <seqan/find.h>
+#include <getopt.h>
+#include <vector>
+#include <pthread.h>
+#include "alphabet.h"
+#include "assert_helpers.h"
+#include "endian_swap.h"
+#include "ebwt.h"
+#include "formats.h"
+#include "sequence_io.h"
+#include "tokenize.h"
+#include "hit.h"
+#include "pat.h"
+#include "bitset.h"
+#include "threading.h"
+#include "range_cache.h"
+#include "refmap.h"
+#include "annot.h"
+#include "aligner.h"
+#include "aligner_0mm.h"
+#include "aligner_1mm.h"
+#include "aligner_23mm.h"
+#include "aligner_seed_mm.h"
+#include "aligner_metrics.h"
+#include "sam.h"
+#ifdef CHUD_PROFILING
+#include <CHUD/CHUD.h>
+#endif
+
+using namespace std;
+using namespace seqan;
+
+static vector<string> mates1;  // mated reads (first mate)
+static vector<string> mates2;  // mated reads (second mate)
+static vector<string> mates12; // mated reads (1st/2nd interleaved in 1 file)
+static string adjustedEbwtFileBase;
+static bool verbose;      // be talkative
+static bool startVerbose; // be talkative at startup
+bool quiet;        // print nothing but the alignments
+static int sanityCheck;   // enable expensive sanity checks
+static int format;        // default read format is FASTQ
+static string origString; // reference text, or filename(s)
+static int seed;          // srandom() seed
+static int timing;        // whether to report basic timing data
+static bool allHits;      // for multihits, report just one
+static bool rangeMode;    // report BWT ranges instead of ref locs
+static int showVersion;   // just print version and quit?
+static int ipause;        // pause before maching?
+static uint32_t qUpto;    // max # of queries to read
+static int trim5;         // amount to trim from 5' end
+static int trim3;         // amount to trim from 3' end
+static int reportOpps;    // whether to report # of other mappings
+static int offRate;       // keep default offRate
+static int isaRate;       // keep default isaRate
+static int mismatches;    // allow 0 mismatches by default
+static char *patDumpfile; // filename to dump patterns to
+static bool solexaQuals;  // quality strings are solexa quals, not phred, and subtract 64 (not 33)
+static bool phred64Quals; // quality chars are phred, but must subtract 64 (not 33)
+static bool integerQuals; // quality strings are space-separated strings of integers, not ASCII
+static int maqLike;       // do maq-like searching
+static int seedLen;       // seed length (changed in Maq 0.6.4 from 24)
+static int seedMms;       // # mismatches allowed in seed (maq's -n)
+static int qualThresh;    // max qual-weighted hamming dist (maq's -e)
+static int maxBtsBetter;  // max # backtracks allowed in half-and-half mode
+static int maxBts;        // max # backtracks allowed in half-and-half mode
+static int nthreads;      // number of pthreads operating concurrently
+static output_types outType;  // style of output
+static bool randReadsNoSync;  // true -> generate reads from per-thread random source
+static int numRandomReads;    // # random reads (see Random*PatternSource in pat.h)
+static int lenRandomReads;    // len of random reads (see Random*PatternSource in pat.h)
+static bool noRefNames;       // true -> print reference indexes; not names
+static string dumpAlBase;     // basename of same-format files to dump aligned reads to
+static string dumpUnalBase;   // basename of same-format files to dump unaligned reads to
+static string dumpMaxBase;    // basename of same-format files to dump reads with more than -m valid alignments to
+static uint32_t khits;  // number of hits per read; >1 is much slower
+static uint32_t mhits;  // don't report any hits if there are > mhits
+static bool better;     // true -> guarantee alignments from best possible stratum
+static bool strata;     // true -> don't stop at stratum boundaries
+static bool refOut;     // if true, alignments go to per-ref files
+static int partitionSz; // output a partitioning key in first field
+static bool noMaqRound; // true -> don't round quals to nearest 10 like maq
+static bool useSpinlock;  // false -> don't use of spinlocks even if they're #defines
+static bool fileParallel; // separate threads read separate input files in parallel
+static bool useShmem;     // use shared memory to hold the index
+static bool useMm;        // use memory-mapped files to hold the index
+static bool mmSweep;      // sweep through memory-mapped files immediately after mapping
+static bool stateful;     // use stateful aligners
+static uint32_t prefetchWidth; // number of reads to process in parallel w/ --stateful
+static uint32_t minInsert;     // minimum insert size (Maq = 0, SOAP = 400)
+static uint32_t maxInsert;     // maximum insert size (Maq = 250, SOAP = 600)
+static bool mate1fw;           // -1 mate aligns in fw orientation on fw strand
+static bool mate2fw;           // -2 mate aligns in rc orientation on fw strand
+static bool mateFwSet;         // true -> user set --ff/--fr/--rf
+static uint32_t mixedThresh;   // threshold for when to switch to paired-end mixed mode (see aligner.h)
+static uint32_t mixedAttemptLim; // number of attempts to make in "mixed mode" before giving up on orientation
+static bool dontReconcileMates;  // suppress pairwise all-versus-all way of resolving mates
+static uint32_t cacheLimit;      // ranges w/ size > limit will be cached
+static uint32_t cacheSize;       // # words per range cache
+static int offBase;              // offsets are 0-based by default, but configurable
+static bool tryHard;             // set very high maxBts, mixedAttemptLim
+static uint32_t skipReads;       // # reads/read pairs to skip
+static bool nofw; // don't align fw orientation of read
+static bool norc; // don't align rc orientation of read
+static bool strandFix;  // attempt to fix strand bias
+static bool randomizeQuals; // randomize quality values
+static bool stats; // print performance stats
+static int chunkPoolMegabytes;    // max MB to dedicate to best-first search frames per thread
+static int chunkSz;    // size of single chunk disbursed by ChunkPool
+static bool chunkVerbose; // have chunk allocator output status messages?
+static bool recal;
+static int recalMaxCycle;
+static int recalMaxQual;
+static int recalQualShift;
+static bool useV1;
+static bool reportSe;
+static const char * refMapFile;  // file containing a map from index coordinates to another coordinate system
+static const char * annotMapFile;  // file containing a map from reference coordinates to annotations
+static size_t fastaContLen;
+static size_t fastaContFreq;
+static bool hadoopOut; // print Hadoop status and summary messages
+static bool fuzzy;
+static bool fullRef;
+static bool samNoHead; // don't print any header lines in SAM output
+static bool samNoSQ;   // don't print @SQ header lines
+bool color;     // true -> inputs are colorspace
+bool colorExEnds; // true -> nucleotides on either end of decoded cspace alignment should be excluded
+static string rgs; // SAM outputs for @RG header line
+int snpPhred; // probability of SNP, for scoring colorspace alignments
+static Bitset suppressOuts(64); // output fields to suppress
+static bool sampleMax; // whether to report a random alignment when maxed-out via -m/-M
+static int defaultMapq; // default mapping quality to print in SAM mode
+bool colorSeq; // true -> show colorspace alignments as colors, not decoded bases
+bool colorQual; // true -> show colorspace qualities as original quals, not decoded quals
+static bool printCost; // true -> print stratum and cost
+bool showSeed;
+static vector<string> qualities;
+static vector<string> qualities1;
+static vector<string> qualities2;
+MUTEX_T gLock;
+
+static void resetOptions() {
+       mates1.clear();
+       mates2.clear();
+       mates12.clear();
+       adjustedEbwtFileBase    = "";
+       verbose                                 = 0;
+       startVerbose                    = 0;
+       quiet                                   = false;
+       sanityCheck                             = 0;  // enable expensive sanity checks
+       format                                  = FASTQ; // default read format is FASTQ
+       origString                              = ""; // reference text, or filename(s)
+       seed                                    = 0; // srandom() seed
+       timing                                  = 0; // whether to report basic timing data
+       allHits                                 = false; // for multihits, report just one
+       rangeMode                               = false; // report BWT ranges instead of ref locs
+       showVersion                             = 0; // just print version and quit?
+       ipause                                  = 0; // pause before maching?
+       qUpto                                   = 0xffffffff; // max # of queries to read
+       trim5                                   = 0; // amount to trim from 5' end
+       trim3                                   = 0; // amount to trim from 3' end
+       reportOpps                              = 0; // whether to report # of other mappings
+       offRate                                 = -1; // keep default offRate
+       isaRate                                 = -1; // keep default isaRate
+       mismatches                              = 0; // allow 0 mismatches by default
+       patDumpfile                             = NULL; // filename to dump patterns to
+       solexaQuals                             = false; // quality strings are solexa quals, not phred, and subtract 64 (not 33)
+       phred64Quals                    = false; // quality chars are phred, but must subtract 64 (not 33)
+       integerQuals                    = false; // quality strings are space-separated strings of integers, not ASCII
+       maqLike                                 = 1;   // do maq-like searching
+       seedLen                                 = 28;  // seed length (changed in Maq 0.6.4 from 24)
+       seedMms                                 = 2;   // # mismatches allowed in seed (maq's -n)
+       qualThresh                              = 70;  // max qual-weighted hamming dist (maq's -e)
+       maxBtsBetter                    = 125; // max # backtracks allowed in half-and-half mode
+       maxBts                                  = 800; // max # backtracks allowed in half-and-half mode
+       nthreads                                = 1;     // number of pthreads operating concurrently
+       outType                                 = OUTPUT_FULL;  // style of output
+       randReadsNoSync                 = false; // true -> generate reads from per-thread random source
+       numRandomReads                  = 50000000; // # random reads (see Random*PatternSource in pat.h)
+       lenRandomReads                  = 35;    // len of random reads (see Random*PatternSource in pat.h)
+       noRefNames                              = false; // true -> print reference indexes; not names
+       dumpAlBase                              = "";    // basename of same-format files to dump aligned reads to
+       dumpUnalBase                    = "";    // basename of same-format files to dump unaligned reads to
+       dumpMaxBase                             = "";    // basename of same-format files to dump reads with more than -m valid alignments to
+       khits                                   = 1;     // number of hits per read; >1 is much slower
+       mhits                                   = 0xffffffff; // don't report any hits if there are > mhits
+       better                                  = false; // true -> guarantee alignments from best possible stratum
+       strata                                  = false; // true -> don't stop at stratum boundaries
+       refOut                                  = false; // if true, alignments go to per-ref files
+       partitionSz                             = 0;     // output a partitioning key in first field
+       noMaqRound                              = false; // true -> don't round quals to nearest 10 like maq
+       useSpinlock                             = true;  // false -> don't use of spinlocks even if they're #defines
+       fileParallel                    = false; // separate threads read separate input files in parallel
+       useShmem                                = false; // use shared memory to hold the index
+       useMm                                   = false; // use memory-mapped files to hold the index
+       mmSweep                                 = false; // sweep through memory-mapped files immediately after mapping
+       stateful                                = false; // use stateful aligners
+       prefetchWidth                   = 1;     // number of reads to process in parallel w/ --stateful
+       minInsert                               = 0;     // minimum insert size (Maq = 0, SOAP = 400)
+       maxInsert                               = 250;   // maximum insert size (Maq = 250, SOAP = 600)
+       mate1fw                                 = true;  // -1 mate aligns in fw orientation on fw strand
+       mate2fw                                 = false; // -2 mate aligns in rc orientation on fw strand
+       mateFwSet                               = false; // true -> user set mate1fw/mate2fw with --ff/--fr/--rf
+       mixedThresh                             = 4;     // threshold for when to switch to paired-end mixed mode (see aligner.h)
+       mixedAttemptLim                 = 100;   // number of attempts to make in "mixed mode" before giving up on orientation
+       dontReconcileMates              = true;  // suppress pairwise all-versus-all way of resolving mates
+       cacheLimit                              = 5;     // ranges w/ size > limit will be cached
+       cacheSize                               = 0;     // # words per range cache
+       offBase                                 = 0;     // offsets are 0-based by default, but configurable
+       tryHard                                 = false; // set very high maxBts, mixedAttemptLim
+       skipReads                               = 0;     // # reads/read pairs to skip
+       nofw                                    = false; // don't align fw orientation of read
+       norc                                    = false; // don't align rc orientation of read
+       strandFix                               = true;  // attempt to fix strand bias
+       randomizeQuals                  = false; // randomize quality values
+       stats                                   = false; // print performance stats
+       chunkPoolMegabytes              = 64;    // max MB to dedicate to best-first search frames per thread
+       chunkSz                                 = 256;   // size of single chunk disbursed by ChunkPool (in KB)
+       chunkVerbose                    = false; // have chunk allocator output status messages?
+       recal                                   = false;
+       recalMaxCycle                   = 64;
+       recalMaxQual                    = 40;
+       recalQualShift                  = 2;
+       useV1                                   = true;
+       reportSe                                = false;
+       refMapFile                              = NULL;  // file containing a map from index coordinates to another coordinate system
+       annotMapFile                    = NULL;  // file containing a map from reference coordinates to annotations
+       fastaContLen                    = 0;
+       fastaContFreq                   = 0;
+       hadoopOut                               = false; // print Hadoop status and summary messages
+       fuzzy                                   = false; // reads will have alternate basecalls w/ qualities
+       fullRef                                 = false; // print entire reference name instead of just up to 1st space
+       samNoHead                               = false; // don't print any header lines in SAM output
+       samNoSQ                                 = false; // don't print @SQ header lines
+       color                                   = false; // don't align in colorspace by default
+       colorExEnds                             = true;  // true -> nucleotides on either end of decoded cspace alignment should be excluded
+       rgs                                             = "";    // SAM outputs for @RG header line
+       snpPhred                                = 30;    // probability of SNP, for scoring colorspace alignments
+       suppressOuts.clear();            // output fields to suppress
+       sampleMax                               = false;
+       defaultMapq                             = 255;
+       colorSeq                                = false; // true -> show colorspace alignments as colors, not decoded bases
+       colorQual                               = false; // true -> show colorspace qualities as original quals, not decoded quals
+       printCost                               = false; // true -> print cost and stratum
+       showSeed                                = false; // true -> print per-read pseudo-random seed
+       qualities.clear();
+       qualities1.clear();
+       qualities2.clear();
+       MUTEX_INIT(gLock);
+}
+
+// mating constraints
+
+static const char *short_options = "fF:qbzhcu:rv:s:at3:5:o:e:n:l:w:p:k:m:M:1:2:I:X:x:B:ySCQ:";
+
+enum {
+       ARG_ORIG = 256,
+       ARG_SEED,
+       ARG_DUMP_PATS,
+       ARG_RANGE,
+       ARG_CONCISE,
+       ARG_SOLEXA_QUALS,
+       ARG_MAXBTS,
+       ARG_VERBOSE,
+       ARG_STARTVERBOSE,
+       ARG_QUIET,
+       ARG_RANDOM_READS,
+       ARG_RANDOM_READS_NOSYNC,
+       ARG_NOOUT,
+       ARG_FAST,
+       ARG_AL,
+       ARG_UN,
+       ARG_MAXDUMP,
+       ARG_REFIDX,
+       ARG_SANITY,
+       ARG_OLDBEST,
+       ARG_BETTER,
+       ARG_BEST,
+       ARG_REFOUT,
+       ARG_ISARATE,
+       ARG_PARTITION,
+       ARG_integerQuals,
+       ARG_NOMAQROUND,
+       ARG_USE_SPINLOCK,
+       ARG_FILEPAR,
+       ARG_SHMEM,
+       ARG_MM,
+       ARG_MMSWEEP,
+       ARG_STATEFUL,
+       ARG_PREFETCH_WIDTH,
+       ARG_FF,
+       ARG_FR,
+       ARG_RF,
+       ARG_MIXED_ATTEMPTS,
+       ARG_NO_RECONCILE,
+       ARG_CACHE_LIM,
+       ARG_CACHE_SZ,
+       ARG_NO_FW,
+       ARG_NO_RC,
+       ARG_SKIP,
+       ARG_STRAND_FIX,
+       ARG_RANDOMIZE_QUALS,
+       ARG_STATS,
+       ARG_ONETWO,
+       ARG_PHRED64,
+       ARG_PHRED33,
+       ARG_CHUNKMBS,
+       ARG_CHUNKSZ,
+       ARG_CHUNKVERBOSE,
+       ARG_RECAL,
+       ARG_STRATA,
+       ARG_PEV2,
+       ARG_CHAINOUT,
+       ARG_CHAININ,
+       ARG_REFMAP,
+       ARG_ANNOTMAP,
+       ARG_REPORTSE,
+       ARG_HADOOPOUT,
+       ARG_FUZZY,
+       ARG_FULLREF,
+       ARG_USAGE,
+       ARG_SNPPHRED,
+       ARG_SNPFRAC,
+       ARG_SAM_NOHEAD,
+       ARG_SAM_NOSQ,
+       ARG_SAM_RG,
+       ARG_SUPPRESS_FIELDS,
+       ARG_DEFAULT_MAPQ,
+       ARG_COLOR_SEQ,
+       ARG_COLOR_QUAL,
+       ARG_COST,
+       ARG_COLOR_KEEP_ENDS,
+       ARG_SHOWSEED,
+       ARG_QUALS1,
+       ARG_QUALS2
+};
+
+static struct option long_options[] = {
+       {(char*)"verbose",      no_argument,       0,            ARG_VERBOSE},
+       {(char*)"startverbose", no_argument,       0,            ARG_STARTVERBOSE},
+       {(char*)"quiet",        no_argument,       0,            ARG_QUIET},
+       {(char*)"sanity",       no_argument,       0,            ARG_SANITY},
+       {(char*)"pause",        no_argument,       &ipause,      1},
+       {(char*)"orig",         required_argument, 0,            ARG_ORIG},
+       {(char*)"all",          no_argument,       0,            'a'},
+       {(char*)"concise",      no_argument,       0,            ARG_CONCISE},
+       {(char*)"noout",        no_argument,       0,            ARG_NOOUT},
+       {(char*)"solexa-quals", no_argument,       0,            ARG_SOLEXA_QUALS},
+       {(char*)"integer-quals",no_argument,       0,            ARG_integerQuals},
+       {(char*)"time",         no_argument,       0,            't'},
+       {(char*)"trim3",        required_argument, 0,            '3'},
+       {(char*)"trim5",        required_argument, 0,            '5'},
+       {(char*)"seed",         required_argument, 0,            ARG_SEED},
+       {(char*)"qupto",        required_argument, 0,            'u'},
+       {(char*)"al",           required_argument, 0,            ARG_AL},
+       {(char*)"un",           required_argument, 0,            ARG_UN},
+       {(char*)"max",          required_argument, 0,            ARG_MAXDUMP},
+       {(char*)"offrate",      required_argument, 0,            'o'},
+       {(char*)"isarate",      required_argument, 0,            ARG_ISARATE},
+       {(char*)"reportopps",   no_argument,       &reportOpps,  1},
+       {(char*)"version",      no_argument,       &showVersion, 1},
+       {(char*)"dumppats",     required_argument, 0,            ARG_DUMP_PATS},
+       {(char*)"maqerr",       required_argument, 0,            'e'},
+       {(char*)"seedlen",      required_argument, 0,            'l'},
+       {(char*)"seedmms",      required_argument, 0,            'n'},
+       {(char*)"filepar",      no_argument,       0,            ARG_FILEPAR},
+       {(char*)"help",         no_argument,       0,            'h'},
+       {(char*)"threads",      required_argument, 0,            'p'},
+       {(char*)"khits",        required_argument, 0,            'k'},
+       {(char*)"mhits",        required_argument, 0,            'm'},
+       {(char*)"minins",       required_argument, 0,            'I'},
+       {(char*)"maxins",       required_argument, 0,            'X'},
+       {(char*)"quals",        required_argument, 0,            'Q'},
+       {(char*)"Q1",           required_argument, 0,            ARG_QUALS1},
+       {(char*)"Q2",           required_argument, 0,            ARG_QUALS2},
+       {(char*)"best",         no_argument,       0,            ARG_BEST},
+       {(char*)"better",       no_argument,       0,            ARG_BETTER},
+       {(char*)"oldbest",      no_argument,       0,            ARG_OLDBEST},
+       {(char*)"strata",       no_argument,       0,            ARG_STRATA},
+       {(char*)"nomaqround",   no_argument,       0,            ARG_NOMAQROUND},
+       {(char*)"refidx",       no_argument,       0,            ARG_REFIDX},
+       {(char*)"range",        no_argument,       0,            ARG_RANGE},
+       {(char*)"maxbts",       required_argument, 0,            ARG_MAXBTS},
+       {(char*)"randread",     no_argument,       0,            ARG_RANDOM_READS},
+       {(char*)"randreadnosync", no_argument,     0,            ARG_RANDOM_READS_NOSYNC},
+       {(char*)"phased",       no_argument,       0,            'z'},
+       {(char*)"refout",       no_argument,       0,            ARG_REFOUT},
+       {(char*)"partition",    required_argument, 0,            ARG_PARTITION},
+       {(char*)"nospin",       no_argument,       0,            ARG_USE_SPINLOCK},
+       {(char*)"stateful",     no_argument,       0,            ARG_STATEFUL},
+       {(char*)"prewidth",     required_argument, 0,            ARG_PREFETCH_WIDTH},
+       {(char*)"ff",           no_argument,       0,            ARG_FF},
+       {(char*)"fr",           no_argument,       0,            ARG_FR},
+       {(char*)"rf",           no_argument,       0,            ARG_RF},
+       {(char*)"mixthresh",    required_argument, 0,            'x'},
+       {(char*)"pairtries",    required_argument, 0,            ARG_MIXED_ATTEMPTS},
+       {(char*)"noreconcile",  no_argument,       0,            ARG_NO_RECONCILE},
+       {(char*)"cachelim",     required_argument, 0,            ARG_CACHE_LIM},
+       {(char*)"cachesz",      required_argument, 0,            ARG_CACHE_SZ},
+       {(char*)"nofw",         no_argument,       0,            ARG_NO_FW},
+       {(char*)"norc",         no_argument,       0,            ARG_NO_RC},
+       {(char*)"offbase",      required_argument, 0,            'B'},
+       {(char*)"tryhard",      no_argument,       0,            'y'},
+       {(char*)"skip",         required_argument, 0,            's'},
+       {(char*)"strandfix",    no_argument,       0,            ARG_STRAND_FIX},
+       {(char*)"randquals",    no_argument,       0,            ARG_RANDOMIZE_QUALS},
+       {(char*)"stats",        no_argument,       0,            ARG_STATS},
+       {(char*)"12",           required_argument, 0,            ARG_ONETWO},
+       {(char*)"phred33-quals", no_argument,      0,            ARG_PHRED33},
+       {(char*)"phred64-quals", no_argument,      0,            ARG_PHRED64},
+       {(char*)"solexa1.3-quals", no_argument,    0,            ARG_PHRED64},
+       {(char*)"chunkmbs",     required_argument, 0,            ARG_CHUNKMBS},
+       {(char*)"chunksz",      required_argument, 0,            ARG_CHUNKSZ},
+       {(char*)"chunkverbose", no_argument,       0,            ARG_CHUNKVERBOSE},
+       {(char*)"mm",           no_argument,       0,            ARG_MM},
+       {(char*)"shmem",        no_argument,       0,            ARG_SHMEM},
+       {(char*)"mmsweep",      no_argument,       0,            ARG_MMSWEEP},
+       {(char*)"recal",        no_argument,       0,            ARG_RECAL},
+       {(char*)"pev2",         no_argument,       0,            ARG_PEV2},
+       {(char*)"chainout",     no_argument,       0,            ARG_CHAINOUT},
+       {(char*)"chainin",      no_argument,       0,            ARG_CHAININ},
+       {(char*)"refmap",       required_argument, 0,            ARG_REFMAP},
+       {(char*)"annotmap",     required_argument, 0,            ARG_ANNOTMAP},
+       {(char*)"reportse",     no_argument,       0,            ARG_REPORTSE},
+       {(char*)"hadoopout",    no_argument,       0,            ARG_HADOOPOUT},
+       {(char*)"fuzzy",        no_argument,       0,            ARG_FUZZY},
+       {(char*)"fullref",      no_argument,       0,            ARG_FULLREF},
+       {(char*)"usage",        no_argument,       0,            ARG_USAGE},
+       {(char*)"sam",          no_argument,       0,            'S'},
+       {(char*)"sam-nohead",   no_argument,       0,            ARG_SAM_NOHEAD},
+       {(char*)"sam-nosq",     no_argument,       0,            ARG_SAM_NOSQ},
+       {(char*)"sam-noSQ",     no_argument,       0,            ARG_SAM_NOSQ},
+       {(char*)"color",        no_argument,       0,            'C'},
+       {(char*)"sam-RG",       required_argument, 0,            ARG_SAM_RG},
+       {(char*)"snpphred",     required_argument, 0,            ARG_SNPPHRED},
+       {(char*)"snpfrac",      required_argument, 0,            ARG_SNPFRAC},
+       {(char*)"suppress",     required_argument, 0,            ARG_SUPPRESS_FIELDS},
+       {(char*)"mapq",         required_argument, 0,            ARG_DEFAULT_MAPQ},
+       {(char*)"col-cseq",     no_argument,       0,            ARG_COLOR_SEQ},
+       {(char*)"col-cqual",    no_argument,       0,            ARG_COLOR_QUAL},
+       {(char*)"col-keepends", no_argument,       0,            ARG_COLOR_KEEP_ENDS},
+       {(char*)"cost",         no_argument,       0,            ARG_COST},
+       {(char*)"showseed",     no_argument,       0,            ARG_SHOWSEED},
+       {(char*)0, 0, 0, 0} // terminator
+};
+
+/**
+ * Print a summary usage message to the provided output stream.
+ */
+static void printUsage(ostream& out) {
+       out << "Usage: " << endl
+        << "  bowtie [options]* <ebwt> {-1 <m1> -2 <m2> | --12 <r> | <s>} [<hit>]" << endl
+        << endl
+           << "  <m1>    Comma-separated list of files containing upstream mates (or the" << endl
+           << "          sequences themselves, if -c is set) paired with mates in <m2>" << endl
+           << "  <m2>    Comma-separated list of files containing downstream mates (or the" << endl
+           << "          sequences themselves if -c is set) paired with mates in <m1>" << endl
+           << "  <r>     Comma-separated list of files containing Crossbow-style reads.  Can be" << endl
+           << "          a mixture of paired and unpaired.  Specify \"-\" for stdin." << endl
+           << "  <s>     Comma-separated list of files containing unpaired reads, or the" << endl
+           << "          sequences themselves, if -c is set.  Specify \"-\" for stdin." << endl
+           << "  <hit>   File to write hits to (default: stdout)" << endl
+           << "Input:" << endl
+           << "  -q                 query input files are FASTQ .fq/.fastq (default)" << endl
+           << "  -f                 query input files are (multi-)FASTA .fa/.mfa" << endl
+           << "  -r                 query input files are raw one-sequence-per-line" << endl
+           << "  -c                 query sequences given on cmd line (as <mates>, <singles>)" << endl
+           << "  -C                 reads and index are in colorspace" << endl
+           << "  -Q/--quals <file>  QV file(s) corresponding to CSFASTA inputs; use with -f -C" << endl
+           << "  --Q1/--Q2 <file>   same as -Q, but for mate files 1 and 2 respectively" << endl
+           << "  -s/--skip <int>    skip the first <int> reads/pairs in the input" << endl
+           << "  -u/--qupto <int>   stop after first <int> reads/pairs (excl. skipped reads)" << endl
+           << "  -5/--trim5 <int>   trim <int> bases from 5' (left) end of reads" << endl
+           << "  -3/--trim3 <int>   trim <int> bases from 3' (right) end of reads" << endl
+               << "  --phred33-quals    input quals are Phred+33 (default)" << endl
+               << "  --phred64-quals    input quals are Phred+64 (same as --solexa1.3-quals)" << endl
+               << "  --solexa-quals     input quals are from GA Pipeline ver. < 1.3" << endl
+               << "  --solexa1.3-quals  input quals are from GA Pipeline ver. >= 1.3" << endl
+               << "  --integer-quals    qualities are given as space-separated integers (not ASCII)" << endl
+           << "Alignment:" << endl
+           << "  -v <int>           report end-to-end hits w/ <=v mismatches; ignore qualities" << endl
+           << "    or" << endl
+           << "  -n/--seedmms <int> max mismatches in seed (can be 0-3, default: -n 2)" << endl
+           << "  -e/--maqerr <int>  max sum of mismatch quals across alignment for -n (def: 70)" << endl
+           << "  -l/--seedlen <int> seed length for -n (default: 28)" << endl
+               << "  --nomaqround       disable Maq-like quality rounding for -n (nearest 10 <= 30)" << endl
+           << "  -I/--minins <int>  minimum insert size for paired-end alignment (default: 0)" << endl
+           << "  -X/--maxins <int>  maximum insert size for paired-end alignment (default: 250)" << endl
+           << "  --fr/--rf/--ff     -1, -2 mates align fw/rev, rev/fw, fw/fw (default: --fr)" << endl
+           << "  --nofw/--norc      do not align to forward/reverse-complement reference strand" << endl
+           << "  --maxbts <int>     max # backtracks for -n 2/3 (default: 125, 800 for --best)" << endl
+           << "  --pairtries <int>  max # attempts to find mate for anchor hit (default: 100)" << endl
+           << "  -y/--tryhard       try hard to find valid alignments, at the expense of speed" << endl
+           << "  --chunkmbs <int>   max megabytes of RAM for best-first search frames (def: 64)" << endl
+           << "Reporting:" << endl
+           << "  -k <int>           report up to <int> good alignments per read (default: 1)" << endl
+           << "  -a/--all           report all alignments per read (much slower than low -k)" << endl
+           << "  -m <int>           suppress all alignments if > <int> exist (def: no limit)" << endl
+           << "  -M <int>           like -m, but reports 1 random hit (MAPQ=0); requires --best" << endl
+           << "  --best             hits guaranteed best stratum; ties broken by quality" << endl
+           << "  --strata           hits in sub-optimal strata aren't reported (requires --best)" << endl
+           << "Output:" << endl
+           << "  -t/--time          print wall-clock time taken by search phases" << endl
+           << "  -B/--offbase <int> leftmost ref offset = <int> in bowtie output (default: 0)" << endl
+           << "  --quiet            print nothing but the alignments" << endl
+           << "  --refout           write alignments to files refXXXXX.map, 1 map per reference" << endl
+           << "  --refidx           refer to ref. seqs by 0-based index rather than name" << endl
+           << "  --al <fname>       write aligned reads/pairs to file(s) <fname>" << endl
+           << "  --un <fname>       write unaligned reads/pairs to file(s) <fname>" << endl
+           << "  --max <fname>      write reads/pairs over -m limit to file(s) <fname>" << endl
+           << "  --suppress <cols>  suppresses given columns (comma-delim'ed) in default output" << endl
+           << "  --fullref          write entire ref name (default: only up to 1st space)" << endl
+           << "Colorspace:" << endl
+           << "  --snpphred <int>   Phred penalty for SNP when decoding colorspace (def: 30)" << endl
+           << "     or" << endl
+           << "  --snpfrac <dec>    approx. fraction of SNP bases (e.g. 0.001); sets --snpphred" << endl
+           << "  --col-cseq         print aligned colorspace seqs as colors, not decoded bases" << endl
+           << "  --col-cqual        print original colorspace quals, not decoded quals" << endl
+           << "  --col-keepends     keep nucleotides at extreme ends of decoded alignment" << endl
+           << "SAM:" << endl
+           << "  -S/--sam           write hits in SAM format" << endl
+           << "  --mapq <int>       default mapping quality (MAPQ) to print for SAM alignments" << endl
+           << "  --sam-nohead       supppress header lines (starting with @) for SAM output" << endl
+           << "  --sam-nosq         supppress @SQ header lines for SAM output" << endl
+           << "  --sam-RG <text>    add <text> (usually \"lab=value\") to @RG line of SAM header" << endl
+           << "Performance:" << endl
+           << "  -o/--offrate <int> override offrate of index; must be >= index's offrate" << endl
+#ifdef BOWTIE_PTHREADS
+           << "  -p/--threads <int> number of alignment threads to launch (default: 1)" << endl
+#endif
+#ifdef BOWTIE_MM
+           << "  --mm               use memory-mapped I/O for index; many 'bowtie's can share" << endl
+#endif
+#ifdef BOWTIE_SHARED_MEM
+           << "  --shmem            use shared mem for index; many 'bowtie's can share" << endl
+#endif
+           << "Other:" << endl
+           << "  --seed <int>       seed for random number generator" << endl
+           << "  --verbose          verbose output (for debugging)" << endl
+           << "  --version          print version information and quit" << endl
+           << "  -h/--help          print this usage message" << endl
+           ;
+}
+
+/**
+ * Parse an int out of optarg and enforce that it be at least 'lower';
+ * if it is less than 'lower', than output the given error message and
+ * exit with an error and a usage message.
+ */
+static int parseInt(int lower, int upper, const char *errmsg, const char *arg) {
+       long l;
+       char *endPtr= NULL;
+       l = strtol(arg, &endPtr, 10);
+       if (endPtr != NULL) {
+               if (l < lower || l > upper) {
+                       cerr << errmsg << endl;
+                       printUsage(cerr);
+                       throw 1;
+               }
+               return (int32_t)l;
+       }
+       cerr << errmsg << endl;
+       printUsage(cerr);
+       throw 1;
+       return -1;
+}
+
+/**
+ * Parse from optarg by default.
+ */
+static int parseInt(int lower, const char *errmsg) {
+       return parseInt(lower, INT_MAX, errmsg, optarg);
+}
+
+/**
+ * Upper is INT_MAX by default.
+ */
+static int parseInt(int lower, const char *errmsg, const char *arg) {
+       return parseInt(lower, INT_MAX, errmsg, arg);
+}
+
+/**
+ * Upper is INT_MAX, parse from optarg by default.
+ */
+static int parseInt(int lower, int upper, const char *errmsg) {
+       return parseInt(lower, upper, errmsg, optarg);
+}
+
+/**
+ * Parse a T string 'str'.
+ */
+template<typename T>
+T parse(const char *s) {
+       T tmp;
+       stringstream ss(s);
+       ss >> tmp;
+       return tmp;
+}
+
+/**
+ * Parse a pair of Ts from a string, 'str', delimited with 'delim'.
+ */
+template<typename T>
+pair<T, T> parsePair(const char *str, char delim) {
+       string s(str);
+       vector<string> ss;
+       tokenize(s, delim, ss);
+       pair<T, T> ret;
+       ret.first = parse<T>(ss[0].c_str());
+       ret.second = parse<T>(ss[1].c_str());
+       return ret;
+}
+
+/**
+ * Read command-line arguments
+ */
+static void parseOptions(int argc, const char **argv) {
+       int option_index = 0;
+       int next_option;
+       if(startVerbose) { cerr << "Parsing options: "; logTime(cerr, true); }
+       do {
+               next_option = getopt_long(
+                       argc, const_cast<char**>(argv),
+                       short_options, long_options, &option_index);
+               switch (next_option) {
+                       case '1': tokenize(optarg, ",", mates1); break;
+                       case '2': tokenize(optarg, ",", mates2); break;
+                       case ARG_ONETWO: tokenize(optarg, ",", mates12); format = TAB_MATE; break;
+                       case 'f': format = FASTA; break;
+                       case 'F': {
+                               format = FASTA_CONT;
+                               pair<size_t, size_t> p = parsePair<size_t>(optarg, ',');
+                               fastaContLen = p.first;
+                               fastaContFreq = p.second;
+                               break;
+                       }
+                       case 'q': format = FASTQ; break;
+                       case 'r': format = RAW; break;
+                       case 'c': format = CMDLINE; break;
+                       case 'C': color = true; break;
+                       case ARG_CHAININ: format = INPUT_CHAIN; break;
+                       case 'I':
+                               minInsert = (uint32_t)parseInt(0, "-I arg must be positive");
+                               break;
+                       case 'X':
+                               maxInsert = (uint32_t)parseInt(1, "-X arg must be at least 1");
+                               break;
+                       case 's':
+                               skipReads = (uint32_t)parseInt(0, "-s arg must be positive");
+                               break;
+                       case ARG_FF: mate1fw = true;  mate2fw = true;  mateFwSet = true; break;
+                       case ARG_RF: mate1fw = false; mate2fw = true;  mateFwSet = true; break;
+                       case ARG_FR: mate1fw = true;  mate2fw = false; mateFwSet = true; break;
+                       case ARG_RANDOM_READS: format = RANDOM; break;
+                       case ARG_RANDOM_READS_NOSYNC:
+                               format = RANDOM;
+                               randReadsNoSync = true;
+                               break;
+                       case ARG_RANGE: rangeMode = true; break;
+                       case ARG_CONCISE: outType = OUTPUT_CONCISE; break;
+                       case ARG_CHAINOUT: outType = OUTPUT_CHAIN; break;
+                       case 'S': outType = OUTPUT_SAM; break;
+                       case ARG_REFOUT: refOut = true; break;
+                       case ARG_NOOUT: outType = OUTPUT_NONE; break;
+                       case ARG_REFMAP: refMapFile = optarg; break;
+                       case ARG_ANNOTMAP: annotMapFile = optarg; break;
+                       case ARG_USE_SPINLOCK: useSpinlock = false; break;
+                       case ARG_SHMEM: useShmem = true; break;
+                       case ARG_COLOR_SEQ: colorSeq = true; break;
+                       case ARG_COLOR_QUAL: colorQual = true; break;
+                       case ARG_SHOWSEED: showSeed = true; break;
+                       case ARG_SUPPRESS_FIELDS: {
+                               vector<string> supp;
+                               tokenize(optarg, ",", supp);
+                               for(size_t i = 0; i < supp.size(); i++) {
+                                       int ii = parseInt(1, "--suppress arg must be at least 1", supp[i].c_str());
+                                       suppressOuts.set(ii-1);
+                               }
+                               break;
+                       }
+                       case ARG_MM: {
+#ifdef BOWTIE_MM
+                               useMm = true;
+                               break;
+#else
+                               cerr << "Memory-mapped I/O mode is disabled because bowtie was not compiled with" << endl
+                                    << "BOWTIE_MM defined.  Memory-mapped I/O is not supported under Windows.  If you" << endl
+                                    << "would like to use memory-mapped I/O on a platform that supports it, please" << endl
+                                    << "refrain from specifying BOWTIE_MM=0 when compiling Bowtie." << endl;
+                               throw 1;
+#endif
+                       }
+                       case ARG_MMSWEEP: mmSweep = true; break;
+                       case ARG_HADOOPOUT: hadoopOut = true; break;
+                       case ARG_AL: dumpAlBase = optarg; break;
+                       case ARG_UN: dumpUnalBase = optarg; break;
+                       case ARG_MAXDUMP: dumpMaxBase = optarg; break;
+                       case ARG_SOLEXA_QUALS: solexaQuals = true; break;
+                       case ARG_integerQuals: integerQuals = true; break;
+                       case ARG_PHRED64: phred64Quals = true; break;
+                       case ARG_PHRED33: solexaQuals = false; phred64Quals = false; break;
+                       case ARG_NOMAQROUND: noMaqRound = true; break;
+                       case ARG_COLOR_KEEP_ENDS: colorExEnds = false; break;
+                       case ARG_SNPPHRED: snpPhred = parseInt(0, "--snpphred must be at least 0"); break;
+                       case ARG_SNPFRAC: {
+                               double p = parse<double>(optarg);
+                               if(p <= 0.0) {
+                                       cerr << "Error: --snpfrac parameter must be > 0.0" << endl;
+                                       throw 1;
+                               }
+                               p = (log10(p) * -10);
+                               snpPhred = (int)(p + 0.5);
+                               if(snpPhred < 10)
+                               cout << "snpPhred: " << snpPhred << endl;
+                               break;
+                       }
+                       case 'z': {
+                               cerr << "Error: -z/--phased mode is no longer supported" << endl;
+                               throw 1;
+                       }
+                       case ARG_REFIDX: noRefNames = true; break;
+                       case ARG_STATEFUL: stateful = true; break;
+                       case ARG_FUZZY: fuzzy = true; break;
+                       case ARG_REPORTSE: reportSe = true; break;
+                       case ARG_FULLREF: fullRef = true; break;
+                       case ARG_PREFETCH_WIDTH:
+                               prefetchWidth = parseInt(1, "--prewidth must be at least 1");
+                               break;
+                       case 'B':
+                               offBase = parseInt(-999999, "-B/--offbase cannot be a large negative number");
+                               break;
+                       case ARG_SEED:
+                               seed = parseInt(0, "--seed arg must be at least 0");
+                               break;
+                       case 'u':
+                               qUpto = (uint32_t)parseInt(1, "-u/--qupto arg must be at least 1");
+                               break;
+                       case 'k':
+                               khits = (uint32_t)parseInt(1, "-k arg must be at least 1");
+                               break;
+                       case 'Q':
+                               tokenize(optarg, ",", qualities);
+                               integerQuals = true;
+                               break;
+                       case ARG_QUALS1:
+                               tokenize(optarg, ",", qualities1);
+                               integerQuals = true;
+                               break;
+                       case ARG_QUALS2:
+                               tokenize(optarg, ",", qualities2);
+                               integerQuals = true;
+                               break;
+                       case 'M':
+                               sampleMax = true;
+                       case 'm':
+                               mhits = (uint32_t)parseInt(1, "-m arg must be at least 1");
+                               break;
+                       case 'x':
+                               mixedThresh = (uint32_t)parseInt(0, "-x arg must be at least 0");
+                               break;
+                       case ARG_MIXED_ATTEMPTS:
+                               mixedAttemptLim = (uint32_t)parseInt(1, "--mixatt arg must be at least 1");
+                               break;
+                       case ARG_CACHE_LIM:
+                               cacheLimit = (uint32_t)parseInt(1, "--cachelim arg must be at least 1");
+                               break;
+                       case ARG_CACHE_SZ:
+                               cacheSize = (uint32_t)parseInt(1, "--cachesz arg must be at least 1");
+                               cacheSize *= (1024 * 1024); // convert from MB to B
+                               break;
+                       case ARG_NO_RECONCILE:
+                               dontReconcileMates = true;
+                               break;
+                       case 'p':
+#ifndef BOWTIE_PTHREADS
+                               cerr << "-p/--threads is disabled because bowtie was not compiled with pthreads support" << endl;
+                               throw 1;
+#endif
+                               nthreads = parseInt(1, "-p/--threads arg must be at least 1");
+                               break;
+                       case ARG_FILEPAR:
+#ifndef BOWTIE_PTHREADS
+                               cerr << "--filepar is disabled because bowtie was not compiled with pthreads support" << endl;
+                               throw 1;
+#endif
+                               fileParallel = true;
+                               break;
+                       case 'v':
+                               maqLike = 0;
+                               mismatches = parseInt(0, 3, "-v arg must be at least 0 and at most 3");
+                               break;
+                       case '3': trim3 = parseInt(0, "-3/--trim3 arg must be at least 0"); break;
+                       case '5': trim5 = parseInt(0, "-5/--trim5 arg must be at least 0"); break;
+                       case 'o': offRate = parseInt(1, "-o/--offrate arg must be at least 1"); break;
+                       case ARG_ISARATE: isaRate = parseInt(0, "--isarate arg must be at least 0"); break;
+                       case 'e': qualThresh = parseInt(1, "-e/--err arg must be at least 1"); break;
+                       case 'n': seedMms = parseInt(0, 3, "-n/--seedmms arg must be at least 0 and at most 3"); maqLike = 1; break;
+                       case 'l': seedLen = parseInt(5, "-l/--seedlen arg must be at least 5"); break;
+                       case 'h': printUsage(cout); throw 0; break;
+                       case ARG_USAGE: printUsage(cout); throw 0; break;
+                       case 'a': allHits = true; break;
+                       case 'y': tryHard = true; break;
+                       case ARG_RECAL: recal = true; break;
+                       case ARG_CHUNKMBS: chunkPoolMegabytes = parseInt(1, "--chunkmbs arg must be at least 1"); break;
+                       case ARG_CHUNKSZ: chunkSz = parseInt(1, "--chunksz arg must be at least 1"); break;
+                       case ARG_CHUNKVERBOSE: chunkVerbose = true; break;
+                       case ARG_BETTER: stateful = true; better = true; break;
+                       case ARG_BEST: stateful = true; useV1 = false; break;
+                       case ARG_STRATA: strata = true; break;
+                       case ARG_VERBOSE: verbose = true; break;
+                       case ARG_STARTVERBOSE: startVerbose = true; break;
+                       case ARG_QUIET: quiet = true; break;
+                       case ARG_SANITY: sanityCheck = true; break;
+                       case 't': timing = true; break;
+                       case ARG_NO_FW: nofw = true; break;
+                       case ARG_NO_RC: norc = true; break;
+                       case ARG_STATS: stats = true; break;
+                       case ARG_PEV2: useV1 = false; break;
+                       case ARG_SAM_NOHEAD: samNoHead = true; break;
+                       case ARG_SAM_NOSQ: samNoSQ = true; break;
+                       case ARG_SAM_RG: {
+                               if(!rgs.empty()) rgs += '\t';
+                               rgs += optarg;
+                               break;
+                       }
+                       case ARG_COST: printCost = true; break;
+                       case ARG_DEFAULT_MAPQ:
+                               defaultMapq = parseInt(0, "--mapq must be positive");
+                               break;
+                       case ARG_MAXBTS: {
+                               maxBts  = parseInt(0, "--maxbts must be positive");
+                               maxBtsBetter = maxBts;
+                               break;
+                       }
+                       case ARG_DUMP_PATS: patDumpfile = optarg; break;
+                       case ARG_STRAND_FIX: strandFix = true; break;
+                       case ARG_RANDOMIZE_QUALS: randomizeQuals = true; break;
+                       case ARG_PARTITION: partitionSz = parse<int>(optarg); break;
+                       case ARG_ORIG:
+                               if(optarg == NULL || strlen(optarg) == 0) {
+                                       cerr << "--orig arg must be followed by a string" << endl;
+                                       printUsage(cerr);
+                                       throw 1;
+                               }
+                               origString = optarg;
+                               break;
+                       case -1: break; /* Done with options. */
+                       case 0:
+                               if (long_options[option_index].flag != 0)
+                                       break;
+                       default:
+                               printUsage(cerr);
+                               throw 1;
+               }
+       } while(next_option != -1);
+       bool paired = mates1.size() > 0 || mates2.size() > 0 || mates12.size() > 0;
+       if(rangeMode) {
+               // Tell the Ebwt loader to ignore the suffix-array portion of
+               // the index.  We don't need it because the user isn't asking
+               // for bowtie to report reference positions (just matrix
+               // ranges).
+               offRate = 32;
+       }
+       if(!maqLike && mismatches == 3) {
+               // Much faster than normal 3-mismatch mode
+               stateful = true;
+       }
+       if(mates1.size() != mates2.size()) {
+               cerr << "Error: " << mates1.size() << " mate files/sequences were specified with -1, but " << mates2.size() << endl
+                    << "mate files/sequences were specified with -2.  The same number of mate files/" << endl
+                    << "sequences must be specified with -1 and -2." << endl;
+               throw 1;
+       }
+       if(qualities.size() && format != FASTA) {
+               cerr << "Error: one or more quality files were specified with -Q but -f was not" << endl
+                    << "enabled.  -Q works only in combination with -f and -C." << endl;
+               throw 1;
+       }
+       if(qualities.size() && !color) {
+               cerr << "Error: one or more quality files were specified with -Q but -C was not" << endl
+                    << "enabled.  -Q works only in combination with -f and -C." << endl;
+               throw 1;
+       }
+       if(qualities1.size() && format != FASTA) {
+               cerr << "Error: one or more quality files were specified with --Q1 but -f was not" << endl
+                    << "enabled.  --Q1 works only in combination with -f and -C." << endl;
+               throw 1;
+       }
+       if(qualities1.size() && !color) {
+               cerr << "Error: one or more quality files were specified with --Q1 but -C was not" << endl
+                    << "enabled.  --Q1 works only in combination with -f and -C." << endl;
+               throw 1;
+       }
+       if(qualities2.size() && format != FASTA) {
+               cerr << "Error: one or more quality files were specified with --Q2 but -f was not" << endl
+                    << "enabled.  --Q2 works only in combination with -f and -C." << endl;
+               throw 1;
+       }
+       if(qualities2.size() && !color) {
+               cerr << "Error: one or more quality files were specified with --Q2 but -C was not" << endl
+                    << "enabled.  --Q2 works only in combination with -f and -C." << endl;
+               throw 1;
+       }
+       if(qualities1.size() > 0 && mates1.size() != qualities1.size()) {
+               cerr << "Error: " << mates1.size() << " mate files/sequences were specified with -1, but " << qualities1.size() << endl
+                    << "quality files were specified with --Q1.  The same number of mate and quality" << endl
+                    << "files must sequences must be specified with -1 and --Q1." << endl;
+               throw 1;
+       }
+       if(qualities2.size() > 0 && mates2.size() != qualities2.size()) {
+               cerr << "Error: " << mates2.size() << " mate files/sequences were specified with -2, but " << qualities2.size() << endl
+                    << "quality files were specified with --Q2.  The same number of mate and quality" << endl
+                    << "files must sequences must be specified with -2 and --Q2." << endl;
+               throw 1;
+       }
+       // Check for duplicate mate input files
+       if(format != CMDLINE) {
+               for(size_t i = 0; i < mates1.size(); i++) {
+                       for(size_t j = 0; j < mates2.size(); j++) {
+                               if(mates1[i] == mates2[j] && !quiet) {
+                                       cerr << "Warning: Same mate file \"" << mates1[i] << "\" appears as argument to both -1 and -2" << endl;
+                               }
+                       }
+               }
+       }
+       if(tryHard) {
+               // Increase backtracking limit to huge number
+               maxBts = maxBtsBetter = INT_MAX;
+               // Increase number of paired-end scan attempts to huge number
+               mixedAttemptLim = UINT_MAX;
+       }
+       if(!stateful && sampleMax) {
+               if(!quiet) {
+                       cerr << "Warning: -M was specified w/o --best; automatically enabling --best" << endl;
+               }
+               stateful = true;
+       }
+       if(strata && !stateful) {
+               cerr << "--strata must be combined with --best" << endl;
+               throw 1;
+       }
+       if(strata && !allHits && khits == 1 && mhits == 0xffffffff) {
+               cerr << "--strata has no effect unless combined with -k, -m or -a" << endl;
+               throw 1;
+       }
+       if(fuzzy && (!stateful && !paired)) {
+               cerr << "--fuzzy must be combined with --best or paired-end alignment" << endl;
+               throw 1;
+       }
+       // If both -s and -u are used, we need to adjust qUpto accordingly
+       // since it uses patid to know if we've reached the -u limit (and
+       // patids are all shifted up by skipReads characters)
+       if(qUpto + skipReads > qUpto) {
+               qUpto += skipReads;
+       }
+       if(useShmem && useMm && !quiet) {
+               cerr << "Warning: --shmem overrides --mm..." << endl;
+               useMm = false;
+       }
+       if(snpPhred <= 10 && color && !quiet) {
+               cerr << "Warning: the colorspace SNP penalty (--snpphred) is very low: " << snpPhred << endl;
+       }
+       if(format == INPUT_CHAIN) {
+               bool error = false;
+               if(!stateful) {
+                       cerr << "Error: --chainin must be combined with --best; aborting..." << endl;
+                       error = true;
+               }
+               if(paired) {
+                       cerr << "Error: --chainin cannot be combined with paired-end alignment; aborting..." << endl;
+                       error = true;
+               }
+               if(error) throw 1;
+       }
+
+       if(outType == OUTPUT_CHAIN) {
+               bool error = false;
+               if(refOut) {
+                       cerr << "Error: --chainout is not compatible with --refout; aborting..." << endl;
+                       error = true;
+               }
+               if(!stateful) {
+                       cerr << "Error: --chainout must be combined with --best; aborting..." << endl;
+                       error = true;
+               }
+               if(paired) {
+                       cerr << "Error: --chainout cannot be combined with paired-end alignment; aborting..." << endl;
+                       error = true;
+               }
+               if(error) throw 1;
+       }
+       if(outType == OUTPUT_SAM && refOut) {
+               cerr << "Error: --refout cannot be combined with -S/--sam" << endl;
+               throw 1;
+       }
+       if(!mateFwSet) {
+               if(color) {
+                       // Set colorspace default (--ff)
+                       mate1fw = true;
+                       mate2fw = true;
+               } else {
+                       // Set nucleotide space default (--fr)
+                       mate1fw = true;
+                       mate2fw = false;
+               }
+       }
+       if(outType != OUTPUT_FULL && suppressOuts.count() > 0 && !quiet) {
+               cerr << "Warning: Ignoring --suppress because output type is not default." << endl;
+               cerr << "         --suppress is only available for the default output type." << endl;
+               suppressOuts.clear();
+       }
+}
+
+static const char *argv0 = NULL;
+
+#define FINISH_READ(p) \
+       /* Don't do finishRead if the read isn't legit or if the read was skipped by the doneMask */ \
+       if(!p->empty()) { \
+               sink->finishRead(*p, true, !skipped); \
+       } \
+       skipped = false;
+
+static inline void finishReadWithHitmask(PatternSourcePerThread* p,
+                                         HitSinkPerThread* sink,
+                                         SyncBitset& hitMask,
+                                         bool r,
+                                         bool& skipped)
+{
+       /* Don't do finishRead if the read isn't legit */
+       if(!p->empty()) {
+               /* r = whether to consider reporting the read as unaligned */
+               bool reportUnAl = r;
+               if(reportUnAl) {
+                       /* If the done-mask already shows the read as done, */
+                       /* then we already reported the unaligned read and */
+                       /* should refrain from re-reporting*/
+                       reportUnAl = !skipped;
+                       if(reportUnAl) {
+                               /* If there hasn't been a hit reported, then report */
+                               /* read as unaligned */
+                               reportUnAl = !hitMask.test(p->patid());
+                       }
+               }
+               if(sink->finishRead(*p, true, reportUnAl) > 0) {
+                       /* We reported a hit for the read, so we set the */
+                       /* appropriate bit in the hitMask to prevent it from */
+                       /* being reported as unaligned. */
+                       if(!reportUnAl && sink->dumpsReads()) {
+                               hitMask.setOver(p->patid());
+                       }
+               }
+       }
+       skipped = false;
+}
+
+/// Macro for getting the next read, possibly aborting depending on
+/// whether the result is empty or the patid exceeds the limit, and
+/// marshaling the read into convenient variables.
+#define GET_READ(p) \
+       p->nextReadPair(); \
+       if(p->empty() || p->patid() >= qUpto) { \
+               p->bufa().clearAll(); \
+               break; \
+       } \
+       assert(!empty(p->bufa().patFw)); \
+       String<Dna5>& patFw  = p->bufa().patFw;  \
+       patFw.data_begin += 0; /* suppress "unused" compiler warning */ \
+       String<Dna5>& patRc  = p->bufa().patRc;  \
+       patRc.data_begin += 0; /* suppress "unused" compiler warning */ \
+       String<char>& qual = p->bufa().qual; \
+       qual.data_begin += 0; /* suppress "unused" compiler warning */ \
+       String<char>& qualRev = p->bufa().qualRev; \
+       qualRev.data_begin += 0; /* suppress "unused" compiler warning */ \
+       String<Dna5>& patFwRev  = p->bufa().patFwRev;  \
+       patFwRev.data_begin += 0; /* suppress "unused" compiler warning */ \
+       String<Dna5>& patRcRev  = p->bufa().patRcRev;  \
+       patRcRev.data_begin += 0; /* suppress "unused" compiler warning */ \
+       String<char>& name   = p->bufa().name;   \
+       name.data_begin += 0; /* suppress "unused" compiler warning */ \
+       uint32_t      patid  = p->patid();       \
+       params.setPatId(patid);
+
+/// Macro for getting the forward oriented version of next read,
+/// possibly aborting depending on whether the result is empty or the
+/// patid exceeds the limit, and marshaling the read into convenient
+/// variables.
+#define GET_READ_FW(p) \
+       p->nextReadPair(); \
+       if(p->empty() || p->patid() >= qUpto) { \
+               p->bufa().clearAll(); \
+               break; \
+       } \
+       params.setPatId(p->patid()); \
+       assert(!empty(p->bufa().patFw)); \
+       String<Dna5>& patFw  = p->bufa().patFw;  \
+       patFw.data_begin += 0; /* suppress "unused" compiler warning */ \
+       String<char>& qual = p->bufa().qual; \
+       qual.data_begin += 0; /* suppress "unused" compiler warning */ \
+       String<Dna5>& patFwRev  = p->bufa().patFwRev;  \
+       patFwRev.data_begin += 0; /* suppress "unused" compiler warning */ \
+       String<char>& qualRev = p->bufa().qualRev; \
+       qualRev.data_begin += 0; /* suppress "unused" compiler warning */ \
+       String<char>& name   = p->bufa().name;   \
+       name.data_begin += 0; /* suppress "unused" compiler warning */ \
+       uint32_t      patid  = p->patid();
+
+#ifdef BOWTIE_PTHREADS
+#define WORKER_EXIT() \
+       patsrcFact->destroy(patsrc); \
+       delete patsrcFact; \
+       sinkFact->destroy(sink); \
+       delete sinkFact; \
+       if(tid > 0) { \
+               pthread_exit(NULL); \
+       } \
+       return NULL;
+#else
+#define WORKER_EXIT() \
+       patsrcFact->destroy(patsrc); \
+       delete patsrcFact; \
+       sinkFact->destroy(sink); \
+       delete sinkFact; \
+       return NULL;
+#endif
+
+#ifdef CHUD_PROFILING
+#define CHUD_START() chudStartRemotePerfMonitor("Bowtie");
+#define CHUD_STOP()  chudStopRemotePerfMonitor();
+#else
+#define CHUD_START()
+#define CHUD_STOP()
+#endif
+
+/// Create a PatternSourcePerThread for the current thread according
+/// to the global params and return a pointer to it
+static PatternSourcePerThreadFactory*
+createPatsrcFactory(PairedPatternSource& _patsrc, int tid) {
+       PatternSourcePerThreadFactory *patsrcFact;
+       if(randReadsNoSync) {
+               patsrcFact = new RandomPatternSourcePerThreadFactory(numRandomReads, lenRandomReads, nthreads, tid);
+       } else {
+               patsrcFact = new WrappedPatternSourcePerThreadFactory(_patsrc);
+       }
+       assert(patsrcFact != NULL);
+       return patsrcFact;
+}
+
+/**
+ * Allocate a HitSinkPerThreadFactory on the heap according to the
+ * global params and return a pointer to it.
+ */
+static HitSinkPerThreadFactory*
+createSinkFactory(HitSink& _sink) {
+       HitSinkPerThreadFactory *sink = NULL;
+       if(format == INPUT_CHAIN) {
+               assert(stateful);
+               sink = new ChainingHitSinkPerThreadFactory(_sink, allHits ? 0xffffffff : khits, mhits, strata);
+       } else if(!strata) {
+               // Unstratified
+               if(!allHits) {
+                       // First N good; "good" inherently ignores strata
+                       sink = new NGoodHitSinkPerThreadFactory(_sink, khits, mhits);
+               } else {
+                       // All hits, spanning strata
+                       sink = new AllHitSinkPerThreadFactory(_sink, mhits);
+               }
+       } else {
+               // Stratified
+               assert(stateful);
+               if(!allHits) {
+                       assert(stateful);
+                       // Buffer best hits, assuming they're arriving in best-
+                       // to-worst order
+                       sink = new NBestFirstStratHitSinkPerThreadFactory(_sink, khits, mhits);
+               } else {
+                       assert(stateful);
+                       // Buffer best hits, assuming they're arriving in best-
+                       // to-worst order
+                       sink = new NBestFirstStratHitSinkPerThreadFactory(_sink, 0xffffffff/2, mhits);
+               }
+       }
+       assert(sink != NULL);
+       return sink;
+}
+
+/**
+ * Search through a single (forward) Ebwt index for exact end-to-end
+ * hits.  Assumes that index is already loaded into memory.
+ */
+static PairedPatternSource*   exactSearch_patsrc;
+static HitSink*               exactSearch_sink;
+static Ebwt<String<Dna> >*    exactSearch_ebwt;
+static vector<String<Dna5> >* exactSearch_os;
+static BitPairReference*      exactSearch_refs;
+static void *exactSearchWorker(void *vp) {
+       int tid = *((int*)vp);
+       PairedPatternSource& _patsrc = *exactSearch_patsrc;
+       HitSink& _sink               = *exactSearch_sink;
+       Ebwt<String<Dna> >& ebwt     = *exactSearch_ebwt;
+       vector<String<Dna5> >& os    = *exactSearch_os;
+       const BitPairReference* refs =  exactSearch_refs;
+
+       // Per-thread initialization
+       PatternSourcePerThreadFactory *patsrcFact = createPatsrcFactory(_patsrc, tid);
+       PatternSourcePerThread *patsrc = patsrcFact->create();
+       HitSinkPerThreadFactory* sinkFact = createSinkFactory(_sink);
+       HitSinkPerThread* sink = sinkFact->create();
+       EbwtSearchParams<String<Dna> > params(
+               *sink,      // HitSink
+               os,         // reference sequences
+               true,       // read is forward
+               true);       // index is forward
+       GreedyDFSRangeSource bt(
+               &ebwt, params,
+               refs,           // reference sequence (for colorspace)
+               0xffffffff,     // qualThresh
+               0xffffffff,     // max backtracks (no max)
+               0,              // reportPartials (don't)
+               true,           // reportExacts
+               rangeMode,      // reportRanges
+               NULL,           // seedlings
+               NULL,           // mutations
+               verbose,        // verbose
+               &os,
+               false);         // considerQuals
+       bool skipped = false;
+       while(true) {
+               FINISH_READ(patsrc);
+               GET_READ(patsrc);
+               #include "search_exact.c"
+       }
+       FINISH_READ(patsrc);
+       WORKER_EXIT();
+}
+
+/**
+ * A statefulness-aware worker driver.  Uses UnpairedExactAlignerV1.
+ */
+static void *exactSearchWorkerStateful(void *vp) {
+       int tid = *((int*)vp);
+       PairedPatternSource& _patsrc = *exactSearch_patsrc;
+       HitSink& _sink               = *exactSearch_sink;
+       Ebwt<String<Dna> >& ebwt     = *exactSearch_ebwt;
+       vector<String<Dna5> >& os    = *exactSearch_os;
+       BitPairReference* refs       =  exactSearch_refs;
+
+       // Global initialization
+       PatternSourcePerThreadFactory* patsrcFact = createPatsrcFactory(_patsrc, tid);
+       HitSinkPerThreadFactory* sinkFact = createSinkFactory(_sink);
+
+       ChunkPool *pool = new ChunkPool(chunkSz * 1024, chunkPoolMegabytes * 1024 * 1024, chunkVerbose);
+       UnpairedExactAlignerV1Factory alSEfact(
+                       ebwt,
+                       NULL,
+                       !nofw,
+                       !norc,
+                       _sink,
+                       *sinkFact,
+                       NULL, //&cacheFw,
+                       NULL, //&cacheBw,
+                       cacheLimit,
+                       pool,
+                       refs,
+                       os,
+                       !noMaqRound,
+                       !better,
+                       strandFix,
+                       rangeMode,
+                       verbose,
+                       quiet,
+                       seed);
+       PairedExactAlignerV1Factory alPEfact(
+                       ebwt,
+                       NULL,
+                       color,
+                       !nofw,
+                       !norc,
+                       useV1,
+                       _sink,
+                       *sinkFact,
+                       mate1fw,
+                       mate2fw,
+                       minInsert,
+                       maxInsert,
+                       dontReconcileMates,
+                       mhits,       // for symCeiling
+                       mixedThresh,
+                       mixedAttemptLim,
+                       NULL, //&cacheFw,
+                       NULL, //&cacheBw,
+                       cacheLimit,
+                       pool,
+                       refs, os,
+                       reportSe,
+                       !noMaqRound,
+                       strandFix,
+                       !better,
+                       rangeMode,
+                       verbose,
+                       quiet,
+                       seed);
+       {
+               MixedMultiAligner multi(
+                               prefetchWidth,
+                               qUpto,
+                               alSEfact,
+                               alPEfact,
+                               *patsrcFact);
+               // Run that mother
+               multi.run();
+               // MultiAligner must be destroyed before patsrcFact
+       }
+
+       delete patsrcFact;
+       delete sinkFact;
+       delete pool;
+#ifdef BOWTIE_PTHREADS
+       if(tid > 0) pthread_exit(NULL);
+#endif
+       return NULL;
+}
+
+#define SET_A_FW(bt, p, params) \
+       bt.setQuery(&p->bufa().patFw, &p->bufa().qual, &p->bufa().name); \
+       params.setFw(true);
+#define SET_A_RC(bt, p, params) \
+       bt.setQuery(&p->bufa().patRc, &p->bufa().qualRev, &p->bufa().name); \
+       params.setFw(false);
+#define SET_B_FW(bt, p, params) \
+       bt.setQuery(&p->bufb().patFw, &p->bufb().qual, &p->bufb().name); \
+       params.setFw(true);
+#define SET_B_RC(bt, p, params) \
+       bt.setQuery(&p->bufb().patRc, &p->bufb().qualRev, &p->bufb().name); \
+       params.setFw(false);
+
+#ifdef BOWTIE_PTHREADS
+#define PTHREAD_ATTRS (PTHREAD_CREATE_JOINABLE | PTHREAD_CREATE_DETACHED)
+#endif
+
+/**
+ * Search through a single (forward) Ebwt index for exact end-to-end
+ * hits.  Assumes that index is already loaded into memory.
+ */
+static void exactSearch(PairedPatternSource& _patsrc,
+                        HitSink& _sink,
+                        Ebwt<String<Dna> >& ebwt,
+                        vector<String<Dna5> >& os)
+{
+       exactSearch_patsrc = &_patsrc;
+       exactSearch_sink   = &_sink;
+       exactSearch_ebwt   = &ebwt;
+       exactSearch_os     = &os;
+
+       assert(!ebwt.isInMemory());
+       {
+               // Load the rest of (vast majority of) the backward Ebwt into
+               // memory
+               Timer _t(cerr, "Time loading forward index: ", timing);
+               ebwt.loadIntoMemory(color ? 1 : 0, -1, !noRefNames, startVerbose);
+       }
+
+       BitPairReference *refs = NULL;
+       bool pair = mates1.size() > 0 || mates12.size() > 0;
+       if(color || (pair && mixedThresh < 0xffffffff)) {
+               Timer _t(cerr, "Time loading reference: ", timing);
+               refs = new BitPairReference(adjustedEbwtFileBase, color, sanityCheck, NULL, &os, false, true, useMm, useShmem, mmSweep, verbose, startVerbose);
+               if(!refs->loaded()) throw 1;
+       }
+       exactSearch_refs   = refs;
+
+#ifdef BOWTIE_PTHREADS
+       AutoArray<pthread_t> threads(nthreads-1);
+       AutoArray<int> tids(nthreads-1);
+#endif
+       CHUD_START();
+       {
+               Timer _t(cerr, "Time for 0-mismatch search: ", timing);
+#ifdef BOWTIE_PTHREADS
+               for(int i = 0; i < nthreads-1; i++) {
+                       tids[i] = i+1;
+                       if(stateful) {
+                               createThread(&threads[i],
+                                            exactSearchWorkerStateful,
+                                            (void *)&tids[i]);
+                       } else {
+                               createThread(&threads[i],
+                                            exactSearchWorker,
+                                            (void *)&tids[i]);
+                       }
+               }
+#endif
+               int tmp = 0;
+               if(stateful) exactSearchWorkerStateful((void*)&tmp);
+               else         exactSearchWorker((void*)&tmp);
+#ifdef BOWTIE_PTHREADS
+               for(int i = 0; i < nthreads-1; i++) joinThread(threads[i]);
+#endif
+       }
+       if(refs != NULL) delete refs;
+}
+
+/**
+ * Search through a pair of Ebwt indexes, one for the forward direction
+ * and one for the backward direction, for exact end-to-end hits and 1-
+ * mismatch end-to-end hits.  In my experience, this is slightly faster
+ * than Maq (default) mode with the -n 1 option.
+ *
+ * Forward Ebwt (ebwtFw) is already loaded into memory and backward
+ * Ebwt (ebwtBw) is not loaded into memory.
+ */
+static PairedPatternSource*           mismatchSearch_patsrc;
+static HitSink*                       mismatchSearch_sink;
+static Ebwt<String<Dna> >*            mismatchSearch_ebwtFw;
+static Ebwt<String<Dna> >*            mismatchSearch_ebwtBw;
+static vector<String<Dna5> >*         mismatchSearch_os;
+static SyncBitset*                    mismatchSearch_doneMask;
+static SyncBitset*                    mismatchSearch_hitMask;
+static BitPairReference*              mismatchSearch_refs;
+
+/**
+ * A statefulness-aware worker driver.  Uses Unpaired/Paired1mmAlignerV1.
+ */
+static void *mismatchSearchWorkerFullStateful(void *vp) {
+       int tid = *((int*)vp);
+       PairedPatternSource&   _patsrc = *mismatchSearch_patsrc;
+       HitSink&               _sink   = *mismatchSearch_sink;
+       Ebwt<String<Dna> >&    ebwtFw  = *mismatchSearch_ebwtFw;
+       Ebwt<String<Dna> >&    ebwtBw  = *mismatchSearch_ebwtBw;
+       vector<String<Dna5> >& os      = *mismatchSearch_os;
+       BitPairReference*      refs    =  mismatchSearch_refs;
+
+       // Global initialization
+       PatternSourcePerThreadFactory* patsrcFact = createPatsrcFactory(_patsrc, tid);
+       HitSinkPerThreadFactory* sinkFact = createSinkFactory(_sink);
+       ChunkPool *pool = new ChunkPool(chunkSz * 1024, chunkPoolMegabytes * 1024 * 1024, chunkVerbose);
+
+       Unpaired1mmAlignerV1Factory alSEfact(
+                       ebwtFw,
+                       &ebwtBw,
+                       !nofw,
+                       !norc,
+                       _sink,
+                       *sinkFact,
+                       NULL, //&cacheFw,
+                       NULL, //&cacheBw,
+                       cacheLimit,
+                       pool,
+                       refs,
+                       os,
+                       !noMaqRound,
+                       !better,
+                       strandFix,
+                       rangeMode,
+                       verbose,
+                       quiet,
+                       seed);
+       Paired1mmAlignerV1Factory alPEfact(
+                       ebwtFw,
+                       &ebwtBw,
+                       color,
+                       !nofw,
+                       !norc,
+                       useV1,
+                       _sink,
+                       *sinkFact,
+                       mate1fw,
+                       mate2fw,
+                       minInsert,
+                       maxInsert,
+                       dontReconcileMates,
+                       mhits,     // for symCeiling
+                       mixedThresh,
+                       mixedAttemptLim,
+                       NULL, //&cacheFw,
+                       NULL, //&cacheBw,
+                       cacheLimit,
+                       pool,
+                       refs, os,
+                       reportSe,
+                       !noMaqRound,
+                       !better,
+                       strandFix,
+                       rangeMode,
+                       verbose,
+                       quiet,
+                       seed);
+       {
+               MixedMultiAligner multi(
+                               prefetchWidth,
+                               qUpto,
+                               alSEfact,
+                               alPEfact,
+                               *patsrcFact);
+               // Run that mother
+               multi.run();
+               // MultiAligner must be destroyed before patsrcFact
+       }
+
+       delete patsrcFact;
+       delete sinkFact;
+       delete pool;
+#ifdef BOWTIE_PTHREADS
+       if(tid > 0) pthread_exit(NULL);
+#endif
+       return NULL;
+}
+
+static void* mismatchSearchWorkerFull(void *vp){
+       int tid = *((int*)vp);
+       PairedPatternSource&   _patsrc   = *mismatchSearch_patsrc;
+       HitSink&               _sink     = *mismatchSearch_sink;
+       Ebwt<String<Dna> >&    ebwtFw    = *mismatchSearch_ebwtFw;
+       Ebwt<String<Dna> >&    ebwtBw    = *mismatchSearch_ebwtBw;
+       vector<String<Dna5> >& os        = *mismatchSearch_os;
+       const BitPairReference* refs     =  mismatchSearch_refs;
+
+       // Per-thread initialization
+       PatternSourcePerThreadFactory* patsrcFact = createPatsrcFactory(_patsrc, tid);
+       PatternSourcePerThread* patsrc = patsrcFact->create();
+       HitSinkPerThreadFactory* sinkFact = createSinkFactory(_sink);
+       HitSinkPerThread* sink = sinkFact->create();
+       EbwtSearchParams<String<Dna> > params(
+               *sink,      // HitSinkPerThread
+               os,         // reference sequences
+               true,       // read is forward
+               false);     // index is mirror index
+       GreedyDFSRangeSource bt(
+               &ebwtFw, params,
+               refs,           // reference sequence (for colorspace)
+               0xffffffff,     // qualThresh
+               0xffffffff,     // max backtracks (no max)
+               0,              // reportPartials (don't)
+               true,           // reportExacts
+               rangeMode,      // reportRanges
+               NULL,           // seedlings
+               NULL,           // mutations
+               verbose,        // verbose
+               &os,
+               false);         // considerQuals
+       bool skipped = false;
+       while(true) {
+               FINISH_READ(patsrc);
+               GET_READ(patsrc);
+               uint32_t plen = length(patFw);
+               uint32_t s = plen;
+               uint32_t s3 = s >> 1; // length of 3' half of seed
+               uint32_t s5 = (s >> 1) + (s & 1); // length of 5' half of seed
+               #define DONEMASK_SET(p)
+               #include "search_1mm_phase1.c"
+               #include "search_1mm_phase2.c"
+               #undef DONEMASK_SET
+       } // End read loop
+       FINISH_READ(patsrc);
+    WORKER_EXIT();
+}
+
+/**
+ * Search through a single (forward) Ebwt index for exact end-to-end
+ * hits.  Assumes that index is already loaded into memory.
+ */
+static void mismatchSearchFull(PairedPatternSource& _patsrc,
+                               HitSink& _sink,
+                               Ebwt<String<Dna> >& ebwtFw,
+                               Ebwt<String<Dna> >& ebwtBw,
+                               vector<String<Dna5> >& os)
+{
+       mismatchSearch_patsrc       = &_patsrc;
+       mismatchSearch_sink         = &_sink;
+       mismatchSearch_ebwtFw       = &ebwtFw;
+       mismatchSearch_ebwtBw       = &ebwtBw;
+       mismatchSearch_doneMask     = NULL;
+       mismatchSearch_hitMask      = NULL;
+       mismatchSearch_os           = &os;
+
+       assert(!ebwtFw.isInMemory());
+       assert(!ebwtBw.isInMemory());
+       {
+               // Load the other half of the index into memory
+               Timer _t(cerr, "Time loading forward index: ", timing);
+               ebwtFw.loadIntoMemory(color ? 1 : 0, -1, !noRefNames, startVerbose);
+       }
+       {
+               // Load the other half of the index into memory
+               Timer _t(cerr, "Time loading mirror index: ", timing);
+               ebwtBw.loadIntoMemory(color ? 1 : 0, -1, !noRefNames, startVerbose);
+       }
+       // Create range caches, which are shared among all aligners
+       BitPairReference *refs = NULL;
+       bool pair = mates1.size() > 0 || mates12.size() > 0;
+       if(color || (pair && mixedThresh < 0xffffffff)) {
+               Timer _t(cerr, "Time loading reference: ", timing);
+               refs = new BitPairReference(adjustedEbwtFileBase, color, sanityCheck, NULL, &os, false, true, useMm, useShmem, mmSweep, verbose, startVerbose);
+               if(!refs->loaded()) throw 1;
+       }
+       mismatchSearch_refs = refs;
+
+#ifdef BOWTIE_PTHREADS
+       // Allocate structures for threads
+       AutoArray<pthread_t> threads(nthreads-1);
+       AutoArray<int> tids(nthreads-1);
+#endif
+    CHUD_START();
+    {
+               Timer _t(cerr, "Time for 1-mismatch full-index search: ", timing);
+#ifdef BOWTIE_PTHREADS
+               for(int i = 0; i < nthreads-1; i++) {
+                       tids[i] = i+1;
+                       if(stateful)
+                               createThread(&threads[i], mismatchSearchWorkerFullStateful, (void *)&tids[i]);
+                       else
+                               createThread(&threads[i], mismatchSearchWorkerFull, (void *)&tids[i]);
+               }
+#endif
+               // Go to town
+               int tmp = 0;
+               if(stateful) mismatchSearchWorkerFullStateful((void*)&tmp);
+               else         mismatchSearchWorkerFull((void*)&tmp);
+#ifdef BOWTIE_PTHREADS
+               for(int i = 0; i < nthreads-1; i++) joinThread(threads[i]);
+#endif
+       }
+       if(refs != NULL) delete refs;
+}
+
+#define SWITCH_TO_FW_INDEX() { \
+       /* Evict the mirror index from memory if necessary */ \
+       if(ebwtBw.isInMemory()) ebwtBw.evictFromMemory(); \
+       assert(!ebwtBw.isInMemory()); \
+       /* Load the forward index into memory if necessary */ \
+       if(!ebwtFw.isInMemory()) { \
+               Timer _t(cerr, "Time loading forward index: ", timing); \
+               ebwtFw.loadIntoMemory(color ? 1 : 0, -1, !noRefNames, startVerbose); \
+       } \
+       assert(ebwtFw.isInMemory()); \
+       _patsrc.reset(); /* rewind pattern source to first pattern */ \
+}
+
+#define SWITCH_TO_BW_INDEX() { \
+       /* Evict the forward index from memory if necessary */ \
+       if(ebwtFw.isInMemory()) ebwtFw.evictFromMemory(); \
+       assert(!ebwtFw.isInMemory()); \
+       /* Load the forward index into memory if necessary */ \
+       if(!ebwtBw.isInMemory()) { \
+               Timer _t(cerr, "Time loading mirror index: ", timing); \
+               ebwtBw.loadIntoMemory(color ? 1 : 0, !noRefNames, startVerbose); \
+       } \
+       assert(ebwtBw.isInMemory()); \
+       _patsrc.reset(); /* rewind pattern source to first pattern */ \
+}
+
+#define ASSERT_NO_HITS_FW(ebwtfw) \
+       if(sanityCheck && os.size() > 0) { \
+               vector<Hit> hits; \
+               uint32_t threeRevOff = (seedMms <= 3) ? s : 0; \
+               uint32_t twoRevOff   = (seedMms <= 2) ? s : 0; \
+               uint32_t oneRevOff   = (seedMms <= 1) ? s : 0; \
+               uint32_t unrevOff    = (seedMms == 0) ? s : 0; \
+               if(hits.size() > 0) { \
+                       /* Print offending hit obtained by oracle */ \
+                       ::printHit( \
+                               os, \
+                               hits[0], \
+                               patFw, \
+                               plen, \
+                               unrevOff, \
+                               oneRevOff, \
+                               twoRevOff, \
+                               threeRevOff, \
+                               ebwtfw);  /* ebwtFw */ \
+               } \
+               assert_eq(0, hits.size()); \
+       }
+
+#define ASSERT_NO_HITS_RC(ebwtfw) \
+       if(sanityCheck && os.size() > 0) { \
+               vector<Hit> hits; \
+               uint32_t threeRevOff = (seedMms <= 3) ? s : 0; \
+               uint32_t twoRevOff   = (seedMms <= 2) ? s : 0; \
+               uint32_t oneRevOff   = (seedMms <= 1) ? s : 0; \
+               uint32_t unrevOff    = (seedMms == 0) ? s : 0; \
+               if(hits.size() > 0) { \
+                       /* Print offending hit obtained by oracle */ \
+                       ::printHit( \
+                               os, \
+                               hits[0], \
+                               patRc, \
+                               plen, \
+                               unrevOff, \
+                               oneRevOff, \
+                               twoRevOff, \
+                               threeRevOff, \
+                               ebwtfw);  /* ebwtFw */ \
+               } \
+               assert_eq(0, hits.size()); \
+       }
+
+static PairedPatternSource*           twoOrThreeMismatchSearch_patsrc;
+static HitSink*                       twoOrThreeMismatchSearch_sink;
+static Ebwt<String<Dna> >*            twoOrThreeMismatchSearch_ebwtFw;
+static Ebwt<String<Dna> >*            twoOrThreeMismatchSearch_ebwtBw;
+static vector<String<Dna5> >*         twoOrThreeMismatchSearch_os;
+static SyncBitset*                    twoOrThreeMismatchSearch_doneMask;
+static SyncBitset*                    twoOrThreeMismatchSearch_hitMask;
+static bool                           twoOrThreeMismatchSearch_two;
+static BitPairReference*              twoOrThreeMismatchSearch_refs;
+
+#define TWOTHREE_WORKER_SETUP() \
+       int tid = *((int*)vp); \
+       PairedPatternSource&           _patsrc  = *twoOrThreeMismatchSearch_patsrc;   \
+       HitSink&                       _sink    = *twoOrThreeMismatchSearch_sink;     \
+       vector<String<Dna5> >&         os       = *twoOrThreeMismatchSearch_os;       \
+       bool                           two      = twoOrThreeMismatchSearch_two; \
+    PatternSourcePerThreadFactory* patsrcFact = createPatsrcFactory(_patsrc, tid); \
+       PatternSourcePerThread* patsrc = patsrcFact->create(); \
+       HitSinkPerThreadFactory* sinkFact = createSinkFactory(_sink); \
+       HitSinkPerThread* sink = sinkFact->create(); \
+       /* Per-thread initialization */ \
+       EbwtSearchParams<String<Dna> > params( \
+                       *sink,       /* HitSink */ \
+               os,          /* reference sequences */ \
+               true,        /* read is forward */ \
+               true);       /* index is forward */
+
+/**
+ * A statefulness-aware worker driver.  Uses UnpairedExactAlignerV1.
+ */
+static void *twoOrThreeMismatchSearchWorkerStateful(void *vp) {
+       int tid = *((int*)vp);
+       PairedPatternSource&   _patsrc = *twoOrThreeMismatchSearch_patsrc;
+       HitSink&               _sink   = *twoOrThreeMismatchSearch_sink;
+       Ebwt<String<Dna> >&    ebwtFw  = *twoOrThreeMismatchSearch_ebwtFw;
+       Ebwt<String<Dna> >&    ebwtBw  = *twoOrThreeMismatchSearch_ebwtBw;
+       vector<String<Dna5> >& os      = *twoOrThreeMismatchSearch_os;
+       BitPairReference*      refs    =  twoOrThreeMismatchSearch_refs;
+       static bool            two     =  twoOrThreeMismatchSearch_two;
+
+       // Global initialization
+       PatternSourcePerThreadFactory* patsrcFact = createPatsrcFactory(_patsrc, tid);
+       HitSinkPerThreadFactory* sinkFact = createSinkFactory(_sink);
+
+       ChunkPool *pool = new ChunkPool(chunkSz * 1024, chunkPoolMegabytes * 1024 * 1024, chunkVerbose);
+       Unpaired23mmAlignerV1Factory alSEfact(
+                       ebwtFw,
+                       &ebwtBw,
+                       two,
+                       !nofw,
+                       !norc,
+                       _sink,
+                       *sinkFact,
+                       NULL, //&cacheFw,
+                       NULL, //&cacheBw,
+                       cacheLimit,
+                       pool,
+                       refs,
+                       os,
+                       !noMaqRound,
+                       !better,
+                       strandFix,
+                       rangeMode,
+                       verbose,
+                       quiet,
+                       seed);
+       Paired23mmAlignerV1Factory alPEfact(
+                       ebwtFw,
+                       &ebwtBw,
+                       color,
+                       !nofw,
+                       !norc,
+                       useV1,
+                       two,
+                       _sink,
+                       *sinkFact,
+                       mate1fw,
+                       mate2fw,
+                       minInsert,
+                       maxInsert,
+                       dontReconcileMates,
+                       mhits,       // for symCeiling
+                       mixedThresh,
+                       mixedAttemptLim,
+                       NULL, //&cacheFw,
+                       NULL, //&cacheBw,
+                       cacheLimit,
+                       pool,
+                       refs, os,
+                       reportSe,
+                       !noMaqRound,
+                       !better,
+                       strandFix,
+                       rangeMode,
+                       verbose,
+                       quiet,
+                       seed);
+       {
+               MixedMultiAligner multi(
+                               prefetchWidth,
+                               qUpto,
+                               alSEfact,
+                               alPEfact,
+                               *patsrcFact);
+               // Run that mother
+               multi.run();
+               // MultiAligner must be destroyed before patsrcFact
+       }
+
+       delete patsrcFact;
+       delete sinkFact;
+       delete pool;
+#ifdef BOWTIE_PTHREADS
+       if(tid > 0) pthread_exit(NULL);
+#endif
+       return NULL;
+}
+
+static void* twoOrThreeMismatchSearchWorkerFull(void *vp) {
+       TWOTHREE_WORKER_SETUP();
+       Ebwt<String<Dna> >& ebwtFw = *twoOrThreeMismatchSearch_ebwtFw;
+       Ebwt<String<Dna> >& ebwtBw = *twoOrThreeMismatchSearch_ebwtBw;
+       const BitPairReference* refs = twoOrThreeMismatchSearch_refs;
+       GreedyDFSRangeSource btr1(
+               &ebwtFw, params,
+               refs,           // reference sequence (for colorspace)
+               0xffffffff,     // qualThresh
+               // Do not impose maximums in 2/3-mismatch mode
+               0xffffffff,     // max backtracks (no limit)
+               0,              // reportPartials (don't)
+               true,           // reportExacts
+               rangeMode,      // reportRanges
+               NULL,           // seedlings
+               NULL,           // mutations
+               verbose,        // verbose
+               &os,
+               false);         // considerQuals
+       GreedyDFSRangeSource bt2(
+               &ebwtBw, params,
+               refs,           // reference sequence (for colorspace)
+               0xffffffff,     // qualThresh
+               // Do not impose maximums in 2/3-mismatch mode
+               0xffffffff,     // max backtracks (no limit)
+               0,              // reportPartials (no)
+               true,           // reportExacts
+               rangeMode,      // reportRanges
+               NULL,           // seedlings
+               NULL,           // mutations
+               verbose,        // verbose
+               &os,
+               false);         // considerQuals
+       GreedyDFSRangeSource bt3(
+               &ebwtFw, params,
+               refs,           // reference sequence (for colorspace)
+               0xffffffff,     // qualThresh (none)
+               // Do not impose maximums in 2/3-mismatch mode
+               0xffffffff,     // max backtracks (no limit)
+               0,              // reportPartials (don't)
+               true,           // reportExacts
+               rangeMode,      // reportRanges
+               NULL,           // seedlings
+               NULL,           // mutations
+               verbose,        // verbose
+               &os,
+               false);         // considerQuals
+       GreedyDFSRangeSource bthh3(
+               &ebwtFw, params,
+               refs,           // reference sequence (for colorspace)
+               0xffffffff,     // qualThresh
+               // Do not impose maximums in 2/3-mismatch mode
+               0xffffffff,     // max backtracks (no limit)
+               0,              // reportPartials (don't)
+               true,           // reportExacts
+               rangeMode,      // reportRanges
+               NULL,           // seedlings
+               NULL,           // mutations
+               verbose,        // verbose
+               &os,
+               false,          // considerQuals
+               true);          // halfAndHalf
+       bool skipped = false;
+       while(true) { // Read read-in loop
+               FINISH_READ(patsrc);
+               GET_READ(patsrc);
+               patid += 0; // kill unused variable warning
+               uint32_t plen = length(patFw);
+               uint32_t s = plen;
+               uint32_t s3 = s >> 1; // length of 3' half of seed
+               uint32_t s5 = (s >> 1) + (s & 1); // length of 5' half of seed
+               #define DONEMASK_SET(p)
+               #include "search_23mm_phase1.c"
+               #include "search_23mm_phase2.c"
+               #include "search_23mm_phase3.c"
+               #undef DONEMASK_SET
+       }
+       FINISH_READ(patsrc);
+       // Threads join at end of Phase 1
+       WORKER_EXIT();
+}
+
+template<typename TStr>
+static void twoOrThreeMismatchSearchFull(
+               PairedPatternSource& _patsrc,   /// pattern source
+               HitSink& _sink,                 /// hit sink
+               Ebwt<TStr>& ebwtFw,             /// index of original text
+               Ebwt<TStr>& ebwtBw,             /// index of mirror text
+               vector<String<Dna5> >& os,      /// text strings, if available (empty otherwise)
+               bool two = true)                /// true -> 2, false -> 3
+{
+       // Global initialization
+       assert(!ebwtFw.isInMemory());
+       assert(!ebwtBw.isInMemory());
+       {
+               // Load the other half of the index into memory
+               Timer _t(cerr, "Time loading forward index: ", timing);
+               ebwtFw.loadIntoMemory(color ? 1 : 0, -1, !noRefNames, startVerbose);
+       }
+       {
+               // Load the other half of the index into memory
+               Timer _t(cerr, "Time loading mirror index: ", timing);
+               ebwtBw.loadIntoMemory(color ? 1 : 0, -1, !noRefNames, startVerbose);
+       }
+       // Create range caches, which are shared among all aligners
+       BitPairReference *refs = NULL;
+       bool pair = mates1.size() > 0 || mates12.size() > 0;
+       if(color || (pair && mixedThresh < 0xffffffff)) {
+               Timer _t(cerr, "Time loading reference: ", timing);
+               refs = new BitPairReference(adjustedEbwtFileBase, color, sanityCheck, NULL, &os, false, true, useMm, useShmem, mmSweep, verbose, startVerbose);
+               if(!refs->loaded()) throw 1;
+       }
+       twoOrThreeMismatchSearch_refs     = refs;
+       twoOrThreeMismatchSearch_patsrc   = &_patsrc;
+       twoOrThreeMismatchSearch_sink     = &_sink;
+       twoOrThreeMismatchSearch_ebwtFw   = &ebwtFw;
+       twoOrThreeMismatchSearch_ebwtBw   = &ebwtBw;
+       twoOrThreeMismatchSearch_os       = &os;
+       twoOrThreeMismatchSearch_doneMask = NULL;
+       twoOrThreeMismatchSearch_hitMask  = NULL;
+       twoOrThreeMismatchSearch_two      = two;
+
+#ifdef BOWTIE_PTHREADS
+       AutoArray<pthread_t> threads(nthreads-1);
+       AutoArray<int> tids(nthreads-1);
+#endif
+    CHUD_START();
+    {
+               Timer _t(cerr, "End-to-end 2/3-mismatch full-index search: ", timing);
+#ifdef BOWTIE_PTHREADS
+               for(int i = 0; i < nthreads-1; i++) {
+                       tids[i] = i+1;
+                       if(stateful)
+                               createThread(&threads[i], twoOrThreeMismatchSearchWorkerStateful, (void *)&tids[i]);
+                       else
+                               createThread(&threads[i], twoOrThreeMismatchSearchWorkerFull, (void *)&tids[i]);
+               }
+#endif
+               int tmp = 0;
+               if(stateful) twoOrThreeMismatchSearchWorkerStateful((void*)&tmp);
+               else         twoOrThreeMismatchSearchWorkerFull((void*)&tmp);
+#ifdef BOWTIE_PTHREADS
+               for(int i = 0; i < nthreads-1; i++) joinThread(threads[i]);
+#endif
+    }
+       if(refs != NULL) delete refs;
+       return;
+}
+
+static PairedPatternSource*     seededQualSearch_patsrc;
+static HitSink*                 seededQualSearch_sink;
+static Ebwt<String<Dna> >*      seededQualSearch_ebwtFw;
+static Ebwt<String<Dna> >*      seededQualSearch_ebwtBw;
+static vector<String<Dna5> >*   seededQualSearch_os;
+static SyncBitset*              seededQualSearch_doneMask;
+static SyncBitset*              seededQualSearch_hitMask;
+static PartialAlignmentManager* seededQualSearch_pamFw;
+static PartialAlignmentManager* seededQualSearch_pamRc;
+static int                      seededQualSearch_qualCutoff;
+static BitPairReference*        seededQualSearch_refs;
+
+#define SEEDEDQUAL_WORKER_SETUP() \
+       int tid = *((int*)vp); \
+       PairedPatternSource&     _patsrc    = *seededQualSearch_patsrc;    \
+       HitSink&                 _sink      = *seededQualSearch_sink;      \
+       vector<String<Dna5> >&   os         = *seededQualSearch_os;        \
+       int                      qualCutoff = seededQualSearch_qualCutoff; \
+       PatternSourcePerThreadFactory* patsrcFact = createPatsrcFactory(_patsrc, tid); \
+       PatternSourcePerThread* patsrc = patsrcFact->create(); \
+       HitSinkPerThreadFactory* sinkFact = createSinkFactory(_sink); \
+       HitSinkPerThread* sink = sinkFact->create(); \
+       /* Per-thread initialization */ \
+       EbwtSearchParams<String<Dna> > params( \
+               *sink,       /* HitSink */ \
+               os,          /* reference sequences */ \
+               true,        /* read is forward */ \
+               true);       /* index is forward */
+
+static void* seededQualSearchWorkerFull(void *vp) {
+       SEEDEDQUAL_WORKER_SETUP();
+       Ebwt<String<Dna> >& ebwtFw = *seededQualSearch_ebwtFw;
+       Ebwt<String<Dna> >& ebwtBw = *seededQualSearch_ebwtBw;
+       PartialAlignmentManager * pamRc = NULL;
+       PartialAlignmentManager * pamFw = NULL;
+       if(seedMms > 0) {
+               pamRc = new PartialAlignmentManager(64);
+               pamFw = new PartialAlignmentManager(64);
+       }
+       vector<PartialAlignment> pals;
+       const BitPairReference* refs = seededQualSearch_refs;
+       // GreedyDFSRangeSource for finding exact hits for the forward-
+       // oriented read
+       GreedyDFSRangeSource btf1(
+               &ebwtFw, params,
+               refs,           // reference sequence (for colorspace)
+               qualCutoff,            // qualThresh
+               maxBtsBetter,          // max backtracks
+               0,                     // reportPartials (don't)
+               true,                  // reportExacts
+               rangeMode,             // reportRanges
+               NULL,                  // seedlings
+               NULL,                  // mutations
+               verbose,               // verbose
+               &os,
+               false);                // considerQuals
+       GreedyDFSRangeSource bt1(
+               &ebwtFw, params,
+               refs,           // reference sequence (for colorspace)
+               qualCutoff,            // qualThresh
+               maxBtsBetter,          // max backtracks
+               0,                     // reportPartials (don't)
+               true,                  // reportExacts
+               rangeMode,             // reportRanges
+               NULL,                  // seedlings
+               NULL,                  // mutations
+               verbose,               // verbose
+               &os,                   // reference sequences
+               true,                  // considerQuals
+               false, !noMaqRound);
+       // GreedyDFSRangeSource to search for hits for cases 1F, 2F, 3F
+       GreedyDFSRangeSource btf2(
+               &ebwtBw, params,
+               refs,           // reference sequence (for colorspace)
+               qualCutoff,            // qualThresh
+               maxBtsBetter,          // max backtracks
+               0,                     // reportPartials (no)
+               true,                  // reportExacts
+               rangeMode,             // reportRanges
+               NULL,                  // partial alignment manager
+               NULL,                  // mutations
+               verbose,               // verbose
+               &os,                   // reference sequences
+               true,                  // considerQuals
+               false, !noMaqRound);
+       // GreedyDFSRangeSource to search for partial alignments for case 4R
+       GreedyDFSRangeSource btr2(
+               &ebwtBw, params,
+               refs,           // reference sequence (for colorspace)
+               qualCutoff,            // qualThresh (none)
+               maxBtsBetter,          // max backtracks
+               seedMms,               // report partials (up to seedMms mms)
+               true,                  // reportExacts
+               rangeMode,             // reportRanges
+               pamRc,                 // partial alignment manager
+               NULL,                  // mutations
+               verbose,               // verbose
+               &os,                   // reference sequences
+               true,                  // considerQuals
+               false, !noMaqRound);
+       // GreedyDFSRangeSource to search for seedlings for case 4F
+       GreedyDFSRangeSource btf3(
+               &ebwtFw, params,
+               refs,           // reference sequence (for colorspace)
+               qualCutoff,            // qualThresh (none)
+               maxBtsBetter,          // max backtracks
+               seedMms,               // reportPartials (do)
+               true,                  // reportExacts
+               rangeMode,             // reportRanges
+               pamFw,                 // seedlings
+               NULL,                  // mutations
+               verbose,               // verbose
+               &os,                   // reference sequences
+               true,                  // considerQuals
+               false, !noMaqRound);
+       // GreedyDFSRangeSource to search for hits for case 4R by extending
+       // the partial alignments found in Phase 2
+       GreedyDFSRangeSource btr3(
+               &ebwtFw, params,
+               refs,           // reference sequence (for colorspace)
+               qualCutoff, // qualThresh
+               maxBtsBetter,          // max backtracks
+               0,       // reportPartials (don't)
+               true,    // reportExacts
+               rangeMode,// reportRanges
+               NULL,    // seedlings
+               NULL,    // mutations
+               verbose, // verbose
+               &os,     // reference sequences
+               true,    // considerQuals
+               false, !noMaqRound);
+       // The half-and-half GreedyDFSRangeSource
+       GreedyDFSRangeSource btr23(
+               &ebwtFw, params,
+               refs,           // reference sequence (for colorspace)
+               qualCutoff, // qualThresh
+               maxBtsBetter,          // max backtracks
+               0,       // reportPartials (don't)
+               true,    // reportExacts
+               rangeMode,// reportRanges
+               NULL,    // seedlings
+               NULL,    // mutations
+               verbose, // verbose
+               &os,
+               true,    // considerQuals
+               true,    // halfAndHalf
+               !noMaqRound);
+       // GreedyDFSRangeSource to search for hits for case 4F by extending
+       // the partial alignments found in Phase 3
+       GreedyDFSRangeSource btf4(
+               &ebwtBw, params,
+               refs,           // reference sequence (for colorspace)
+               qualCutoff, // qualThresh
+               maxBtsBetter,          // max backtracks
+               0,       // reportPartials (don't)
+               true,    // reportExacts
+               rangeMode,// reportRanges
+               NULL,    // seedlings
+               NULL,    // mutations
+               verbose, // verbose
+               &os,     // reference sequences
+               true,    // considerQuals
+               false, !noMaqRound);
+       // Half-and-half GreedyDFSRangeSource for forward read
+       GreedyDFSRangeSource btf24(
+               &ebwtBw, params,
+               refs,           // reference sequence (for colorspace)
+               qualCutoff, // qualThresh
+               maxBtsBetter,          // max backtracks
+               0,       // reportPartials (don't)
+               true,    // reportExacts
+               rangeMode,// reportRanges
+               NULL,    // seedlings
+               NULL,    // mutations
+               verbose, // verbose
+               &os,
+               true,    // considerQuals
+               true,    // halfAndHalf
+               !noMaqRound);
+       String<QueryMutation> muts;
+       bool skipped = false;
+       while(true) {
+               FINISH_READ(patsrc);
+               GET_READ(patsrc);
+               size_t plen = length(patFw);
+               uint32_t s = seedLen;
+               uint32_t s3 = (s >> 1); /* length of 3' half of seed */
+               uint32_t s5 = (s >> 1) + (s & 1); /* length of 5' half of seed */
+               uint32_t qs = min<uint32_t>(plen, s);
+               uint32_t qs3 = qs >> 1;
+               uint32_t qs5 = (qs >> 1) + (qs & 1);
+               #define DONEMASK_SET(p)
+               #include "search_seeded_phase1.c"
+               #include "search_seeded_phase2.c"
+               #include "search_seeded_phase3.c"
+               #include "search_seeded_phase4.c"
+               #undef DONEMASK_SET
+       }
+       FINISH_READ(patsrc);
+       if(seedMms > 0) {
+               delete pamRc;
+               delete pamFw;
+       }
+       WORKER_EXIT();
+}
+
+static void* seededQualSearchWorkerFullStateful(void *vp) {
+       int tid = *((int*)vp);
+       PairedPatternSource&     _patsrc    = *seededQualSearch_patsrc;
+       HitSink&                 _sink      = *seededQualSearch_sink;
+       Ebwt<String<Dna> >&      ebwtFw     = *seededQualSearch_ebwtFw;
+       Ebwt<String<Dna> >&      ebwtBw     = *seededQualSearch_ebwtBw;
+       vector<String<Dna5> >&   os         = *seededQualSearch_os;
+       int                      qualCutoff = seededQualSearch_qualCutoff;
+       BitPairReference*        refs       = seededQualSearch_refs;
+
+       // Global initialization
+       PatternSourcePerThreadFactory* patsrcFact = createPatsrcFactory(_patsrc, tid);
+       HitSinkPerThreadFactory* sinkFact = createSinkFactory(_sink);
+       ChunkPool *pool = new ChunkPool(chunkSz * 1024, chunkPoolMegabytes * 1024 * 1024, chunkVerbose);
+
+       AlignerMetrics *metrics = NULL;
+       if(stats) {
+               metrics = new AlignerMetrics();
+       }
+       UnpairedSeedAlignerFactory alSEfact(
+                       ebwtFw,
+                       &ebwtBw,
+                       !nofw,
+                       !norc,
+                       seedMms,
+                       seedLen,
+                       qualCutoff,
+                       maxBts,
+                       _sink,
+                       *sinkFact,
+                       NULL, //&cacheFw,
+                       NULL, //&cacheBw,
+                       cacheLimit,
+                       pool,
+                       refs,
+                       os,
+                       !noMaqRound,
+                       !better,
+                       strandFix,
+                       rangeMode,
+                       verbose,
+                       quiet,
+                       seed,
+                       metrics);
+       PairedSeedAlignerFactory alPEfact(
+                       ebwtFw,
+                       &ebwtBw,
+                       color,
+                       useV1,
+                       !nofw,
+                       !norc,
+                       seedMms,
+                       seedLen,
+                       qualCutoff,
+                       maxBts,
+                       _sink,
+                       *sinkFact,
+                       mate1fw,
+                       mate2fw,
+                       minInsert,
+                       maxInsert,
+                       dontReconcileMates,
+                       mhits,       // for symCeiling
+                       mixedThresh,
+                       mixedAttemptLim,
+                       NULL, //&cacheFw,
+                       NULL, //&cacheBw,
+                       cacheLimit,
+                       pool,
+                       refs,
+                       os,
+                       reportSe,
+                       !noMaqRound,
+                       !better,
+                       strandFix,
+                       rangeMode,
+                       verbose,
+                       quiet,
+                       seed);
+       {
+               MixedMultiAligner multi(
+                               prefetchWidth,
+                               qUpto,
+                               alSEfact,
+                               alPEfact,
+                               *patsrcFact);
+               // Run that mother
+               multi.run();
+               // MultiAligner must be destroyed before patsrcFact
+       }
+       if(metrics != NULL) {
+               metrics->printSummary();
+               delete metrics;
+       }
+
+       delete patsrcFact;
+       delete sinkFact;
+       delete pool;
+#ifdef BOWTIE_PTHREADS
+       if(tid > 0) {
+               pthread_exit(NULL);
+       }
+#endif
+       return NULL;
+}
+
+/**
+ * Search for a good alignments for each read using criteria that
+ * correspond somewhat faithfully to Maq's.  Search is aided by a pair
+ * of Ebwt indexes, one for the original references, and one for the
+ * transpose of the references.  Neither index should be loaded upon
+ * entry to this function.
+ *
+ * Like Maq, we treat the first 24 base pairs of the read (those
+ * closest to the 5' end) differently from the remainder of the read.
+ * We call the first 24 base pairs the "seed."
+ */
+template<typename TStr>
+static void seededQualCutoffSearchFull(
+        int seedLen,                    /// length of seed (not a maq option)
+        int qualCutoff,                 /// maximum sum of mismatch qualities
+                                        /// like maq map's -e option
+                                        /// default: 70
+        int seedMms,                    /// max # mismatches allowed in seed
+                                        /// (like maq map's -n option)
+                                        /// Can only be 1 or 2, default: 1
+        PairedPatternSource& _patsrc,   /// pattern source
+        HitSink& _sink,                 /// hit sink
+        Ebwt<TStr>& ebwtFw,             /// index of original text
+        Ebwt<TStr>& ebwtBw,             /// index of mirror text
+        vector<String<Dna5> >& os)      /// text strings, if available (empty otherwise)
+{
+       // Global intialization
+       assert_leq(seedMms, 3);
+
+       seededQualSearch_patsrc   = &_patsrc;
+       seededQualSearch_sink     = &_sink;
+       seededQualSearch_ebwtFw   = &ebwtFw;
+       seededQualSearch_ebwtBw   = &ebwtBw;
+       seededQualSearch_os       = &os;
+       seededQualSearch_doneMask = NULL;
+       seededQualSearch_hitMask  = NULL;
+       seededQualSearch_pamFw    = NULL;
+       seededQualSearch_pamRc    = NULL;
+       seededQualSearch_qualCutoff = qualCutoff;
+
+       // Create range caches, which are shared among all aligners
+       BitPairReference *refs = NULL;
+       bool pair = mates1.size() > 0 || mates12.size() > 0;
+       if(color || (pair && mixedThresh < 0xffffffff)) {
+               Timer _t(cerr, "Time loading reference: ", timing);
+               refs = new BitPairReference(adjustedEbwtFileBase, color, sanityCheck, NULL, &os, false, true, useMm, useShmem, mmSweep, verbose, startVerbose);
+               if(!refs->loaded()) throw 1;
+       }
+       seededQualSearch_refs = refs;
+
+#ifdef BOWTIE_PTHREADS
+       AutoArray<pthread_t> threads(nthreads-1);
+       AutoArray<int> tids(nthreads-1);
+#endif
+
+       SWITCH_TO_FW_INDEX();
+       assert(!ebwtBw.isInMemory());
+       {
+               // Load the other half of the index into memory
+               Timer _t(cerr, "Time loading mirror index: ", timing);
+               ebwtBw.loadIntoMemory(color ? 1 : 0, -1, !noRefNames, startVerbose);
+       }
+       CHUD_START();
+       {
+               // Phase 1: Consider cases 1R and 2R
+               Timer _t(cerr, "Seeded quality full-index search: ", timing);
+#ifdef BOWTIE_PTHREADS
+               for(int i = 0; i < nthreads-1; i++) {
+                       tids[i] = i+1;
+                       if(stateful) createThread(&threads[i],
+                                                 seededQualSearchWorkerFullStateful,
+                                                 (void*)&tids[i]);
+                       else         createThread(&threads[i],
+                                                 seededQualSearchWorkerFull,
+                                                 (void*)&tids[i]);
+               }
+#endif
+               int tmp = 0;
+               if(stateful) seededQualSearchWorkerFullStateful((void*)&tmp);
+               else         seededQualSearchWorkerFull((void*)&tmp);
+#ifdef BOWTIE_PTHREADS
+               for(int i = 0; i < nthreads-1; i++) joinThread(threads[i]);
+#endif
+       }
+       if(refs != NULL) {
+               delete refs;
+       }
+       ebwtBw.evictFromMemory();
+}
+
+/**
+ * Return a new dynamically allocated PatternSource for the given
+ * format, using the given list of strings as the filenames to read
+ * from or as the sequences themselves (i.e. if -c was used).
+ */
+static PatternSource*
+patsrcFromStrings(int format,
+                  const vector<string>& reads,
+                  const vector<string>* quals)
+{
+       switch(format) {
+               case FASTA:
+                       return new FastaPatternSource (seed, reads, quals, color,
+                                                      randomizeQuals,
+                                                      useSpinlock,
+                                                      patDumpfile, verbose,
+                                                      trim3, trim5,
+                                                      solexaQuals, phred64Quals,
+                                                      integerQuals,
+                                                      skipReads);
+               case FASTA_CONT:
+                       return new FastaContinuousPatternSource (
+                                                      seed, reads, fastaContLen,
+                                                      fastaContFreq,
+                                                      useSpinlock,
+                                                      patDumpfile, verbose,
+                                                      skipReads);
+               case RAW:
+                       return new RawPatternSource   (seed, reads, color,
+                                                      randomizeQuals,
+                                                      useSpinlock,
+                                                      patDumpfile, verbose,
+                                                      trim3, trim5,
+                                                      skipReads);
+               case FASTQ:
+                       return new FastqPatternSource (seed, reads, color,
+                                                      randomizeQuals,
+                                                      useSpinlock,
+                                                      patDumpfile, verbose,
+                                                      trim3, trim5,
+                                                      solexaQuals, phred64Quals,
+                                                      integerQuals, fuzzy,
+                                                      skipReads);
+               case TAB_MATE:
+                       return new TabbedPatternSource(seed, reads, color,
+                                                      randomizeQuals,
+                                                      useSpinlock,
+                                                      patDumpfile, verbose,
+                                                      trim3, trim5,
+                                                      skipReads);
+               case CMDLINE:
+                       return new VectorPatternSource(seed, reads, color,
+                                                      randomizeQuals,
+                                                      useSpinlock,
+                                                      patDumpfile, verbose,
+                                                      trim3, trim5,
+                                                      skipReads);
+               case INPUT_CHAIN:
+                       return new ChainPatternSource (seed, reads, useSpinlock, patDumpfile,
+                                                      verbose, skipReads);
+               case RANDOM:
+                       return new RandomPatternSource(seed, 2000000, lenRandomReads,
+                                                      useSpinlock, patDumpfile,
+                                                      verbose);
+               default: {
+                       cerr << "Internal error; bad patsrc format: " << format << endl;
+                       throw 1;
+               }
+       }
+}
+
+#define PASS_DUMP_FILES dumpAlBase, dumpUnalBase, dumpMaxBase
+
+static string argstr;
+
+template<typename TStr>
+static void driver(const char * type,
+                   const string& ebwtFileBase,
+                   const string& query,
+                   const vector<string>& queries,
+                   const vector<string>& qualities,
+                   const string& outfile)
+{
+       if(verbose || startVerbose)  {
+               cerr << "Entered driver(): "; logTime(cerr, true);
+       }
+       // Vector of the reference sequences; used for sanity-checking
+       vector<String<Dna5> > os;
+       // Read reference sequences from the command-line or from a FASTA file
+       if(!origString.empty()) {
+               // Determine if it's a file by looking at whether it has a FASTA-like
+               // extension
+               size_t len = origString.length();
+               if((len >= 6 && origString.substr(len-6) == ".fasta") ||
+                  (len >= 4 && origString.substr(len-4) == ".mfa")   ||
+                  (len >= 4 && origString.substr(len-4) == ".fas")   ||
+                  (len >= 4 && origString.substr(len-4) == ".fna")   ||
+                  (len >= 3 && origString.substr(len-3) == ".fa"))
+               {
+                       // Read fasta file
+                       vector<string> origFiles;
+                       tokenize(origString, ",", origFiles);
+                       readSequenceFiles<String<Dna5>, Fasta>(origFiles, os);
+               } else {
+                       // Read sequence
+                       readSequenceString(origString, os);
+               }
+       }
+       // Adjust
+       adjustedEbwtFileBase = adjustEbwtBase(argv0, ebwtFileBase, verbose);
+
+       vector<PatternSource*> patsrcs_a;
+       vector<PatternSource*> patsrcs_b;
+       vector<PatternSource*> patsrcs_ab;
+
+       // If there were any first-mates specified, we will operate in
+       // stateful mode
+       bool paired = mates1.size() > 0 || mates12.size() > 0;
+       if(paired) stateful = true;
+
+       // Create list of pattern sources for paired reads appearing
+       // interleaved in a single file
+       if(verbose || startVerbose) {
+               cerr << "Creating paired-end patsrcs: "; logTime(cerr, true);
+       }
+       for(size_t i = 0; i < mates12.size(); i++) {
+               const vector<string>* qs = &mates12;
+               vector<string> tmp;
+               if(fileParallel) {
+                       // Feed query files one to each PatternSource
+                       qs = &tmp;
+                       tmp.push_back(mates12[i]);
+                       assert_eq(1, tmp.size());
+               }
+               patsrcs_ab.push_back(patsrcFromStrings(format, *qs, NULL));
+               if(!fileParallel) {
+                       break;
+               }
+       }
+
+       // Create list of pattern sources for paired reads
+       for(size_t i = 0; i < mates1.size(); i++) {
+               const vector<string>* qs = &mates1;
+               const vector<string>* quals = &qualities1;
+               vector<string> tmpSeq;
+               vector<string> tmpQual;
+               if(fileParallel) {
+                       // Feed query files one to each PatternSource
+                       qs = &tmpSeq;
+                       tmpSeq.push_back(mates1[i]);
+                       quals = &tmpSeq;
+                       tmpQual.push_back(qualities1[i]);
+                       assert_eq(1, tmpSeq.size());
+               }
+               if(quals->empty()) quals = NULL;
+               patsrcs_a.push_back(patsrcFromStrings(format, *qs, quals));
+               if(!fileParallel) {
+                       break;
+               }
+       }
+
+       // Create list of pattern sources for paired reads
+       for(size_t i = 0; i < mates2.size(); i++) {
+               const vector<string>* qs = &mates2;
+               const vector<string>* quals = &qualities2;
+               vector<string> tmpSeq;
+               vector<string> tmpQual;
+               if(fileParallel) {
+                       // Feed query files one to each PatternSource
+                       qs = &tmpSeq;
+                       tmpSeq.push_back(mates2[i]);
+                       quals = &tmpQual;
+                       tmpQual.push_back(qualities2[i]);
+                       assert_eq(1, tmpSeq.size());
+               }
+               if(quals->empty()) quals = NULL;
+               patsrcs_b.push_back(patsrcFromStrings(format, *qs, quals));
+               if(!fileParallel) {
+                       break;
+               }
+       }
+       // All mates/mate files must be paired
+       assert_eq(patsrcs_a.size(), patsrcs_b.size());
+
+       // Create list of pattern sources for the unpaired reads
+       if(verbose || startVerbose) {
+               cerr << "Creating single-end patsrcs: "; logTime(cerr, true);
+       }
+       for(size_t i = 0; i < queries.size(); i++) {
+               const vector<string>* qs = &queries;
+               const vector<string>* quals = &qualities;
+               PatternSource* patsrc = NULL;
+               vector<string> tmpSeq;
+               vector<string> tmpQual;
+               if(fileParallel) {
+                       // Feed query files one to each PatternSource
+                       qs = &tmpSeq;
+                       tmpSeq.push_back(queries[i]);
+                       quals = &tmpQual;
+                       tmpQual.push_back(qualities[i]);
+                       assert_eq(1, tmpSeq.size());
+               }
+               if(quals->empty()) quals = NULL;
+               patsrc = patsrcFromStrings(format, *qs, quals);
+               assert(patsrc != NULL);
+               patsrcs_a.push_back(patsrc);
+               patsrcs_b.push_back(NULL);
+               if(!fileParallel) {
+                       break;
+               }
+       }
+
+       if(verbose || startVerbose) {
+               cerr << "Creating PatternSource: "; logTime(cerr, true);
+       }
+       PairedPatternSource *patsrc = NULL;
+       if(mates12.size() > 0) {
+               patsrc = new PairedSoloPatternSource(patsrcs_ab, seed);
+       } else {
+               patsrc = new PairedDualPatternSource(patsrcs_a, patsrcs_b, seed);
+       }
+
+       // Open hit output file
+       if(verbose || startVerbose) {
+               cerr << "Opening hit output file: "; logTime(cerr, true);
+       }
+       OutFileBuf *fout;
+       if(!outfile.empty()) {
+               if(refOut) {
+                       fout = NULL;
+                       if(!quiet) {
+                               cerr << "Warning: ignoring alignment output file " << outfile << " because --refout was specified" << endl;
+                       }
+               } else {
+                       fout = new OutFileBuf(outfile.c_str(), false);
+               }
+       } else {
+               if(outType == OUTPUT_CHAIN && !refOut) {
+                       cerr << "Error: Must specify an output file when output mode is --chain" << endl;
+                       throw 1;
+               }
+               fout = new OutFileBuf();
+       }
+       ReferenceMap* rmap = NULL;
+       if(refMapFile != NULL) {
+               if(verbose || startVerbose) {
+                       cerr << "About to load in a reference map file with name "
+                            << refMapFile << ": "; logTime(cerr, true);
+               }
+               rmap = new ReferenceMap(refMapFile, !noRefNames);
+       }
+       AnnotationMap* amap = NULL;
+       if(annotMapFile != NULL) {
+               if(verbose || startVerbose) {
+                       cerr << "About to load in an annotation map file with name "
+                            << annotMapFile << ": "; logTime(cerr, true);
+               }
+               amap = new AnnotationMap(annotMapFile);
+       }
+       // Initialize Ebwt object and read in header
+       if(verbose || startVerbose) {
+               cerr << "About to initialize fw Ebwt: "; logTime(cerr, true);
+       }
+       Ebwt<TStr> ebwt(adjustedEbwtFileBase,
+                       color,  // index is colorspace
+                       -1,     // don't care about entireReverse
+                       true,     // index is for the forward direction
+                       /* overriding: */ offRate,
+                       /* overriding: */ isaRate,
+                       useMm,    // whether to use memory-mapped files
+                       useShmem, // whether to use shared memory
+                       mmSweep,  // sweep memory-mapped files
+                       !noRefNames, // load names?
+                       rmap,     // reference map, or NULL if none is needed
+                       verbose, // whether to be talkative
+                       startVerbose, // talkative during initialization
+                       false /*passMemExc*/,
+                       sanityCheck);
+       Ebwt<TStr>* ebwtBw = NULL;
+       // We need the mirror index if mismatches are allowed
+       if(mismatches > 0 || maqLike) {
+               if(verbose || startVerbose) {
+                       cerr << "About to initialize rev Ebwt: "; logTime(cerr, true);
+               }
+               ebwtBw = new Ebwt<TStr>(
+                       adjustedEbwtFileBase + ".rev",
+                       color,  // index is colorspace
+                       -1,     // don't care about entireReverse
+                       false, // index is for the reverse direction
+                       /* overriding: */ offRate,
+                       /* overriding: */ isaRate,
+                       useMm,    // whether to use memory-mapped files
+                       useShmem, // whether to use shared memory
+                       mmSweep,  // sweep memory-mapped files
+                       !noRefNames, // load names?
+                       rmap,     // reference map, or NULL if none is needed
+                       verbose,  // whether to be talkative
+                       startVerbose, // talkative during initialization
+                       false /*passMemExc*/,
+                       sanityCheck);
+       }
+       if(!os.empty()) {
+               for(size_t i = 0; i < os.size(); i++) {
+                       size_t olen = seqan::length(os[i]);
+                       int longestStretch = 0;
+                       int curStretch = 0;
+                       for(size_t j = 0; j < olen; j++) {
+                               if((int)os[i][j] < 4) {
+                                       curStretch++;
+                                       if(curStretch > longestStretch) longestStretch = curStretch;
+                               } else {
+                                       curStretch = 0;
+                               }
+                       }
+                       if(longestStretch < (color ? 2 : 1)) {
+                               os.erase(os.begin() + i);
+                               i--;
+                       }
+               }
+       }
+       if(sanityCheck && !os.empty()) {
+               // Sanity check number of patterns and pattern lengths in Ebwt
+               // against original strings
+               assert_eq(os.size(), ebwt.nPat());
+               for(size_t i = 0; i < os.size(); i++) {
+                       assert_eq(length(os[i]), ebwt.plen()[i] + (color ? 1 : 0));
+               }
+               ebwt.loadIntoMemory(color ? 1 : 0, -1, !noRefNames, startVerbose);
+               ebwt.checkOrigs(os, color, false);
+               ebwt.evictFromMemory();
+       }
+       {
+               Timer _t(cerr, "Time searching: ", timing);
+               if(verbose || startVerbose) {
+                       cerr << "Creating HitSink: "; logTime(cerr, true);
+               }
+               // Set up hit sink; if sanityCheck && !os.empty() is true,
+               // then instruct the sink to "retain" hits in a vector in
+               // memory so that we can easily sanity check them later on
+               HitSink *sink;
+               RecalTable *table = NULL;
+               if(recal) {
+                       table = new RecalTable(recalMaxCycle, recalMaxQual, recalQualShift);
+               }
+               vector<string>* refnames = &ebwt.refnames();
+               if(noRefNames) refnames = NULL;
+               switch(outType) {
+                       case OUTPUT_FULL:
+                               if(refOut) {
+                                       sink = new VerboseHitSink(
+                                                       ebwt.nPat(), offBase,
+                                                       colorSeq, colorQual, printCost,
+                                                       suppressOuts, rmap, amap,
+                                                       fullRef, PASS_DUMP_FILES,
+                                                       format == TAB_MATE, sampleMax,
+                                                       table, refnames, partitionSz);
+                               } else {
+                                       sink = new VerboseHitSink(
+                                                       fout, offBase,
+                                                       colorSeq, colorQual, printCost,
+                                                       suppressOuts, rmap, amap,
+                                                       fullRef, PASS_DUMP_FILES,
+                                                       format == TAB_MATE, sampleMax,
+                                                       table, refnames, partitionSz);
+                               }
+                               break;
+                       case OUTPUT_SAM:
+                               if(refOut) {
+                                       throw 1;
+                               } else {
+                                       SAMHitSink *sam = new SAMHitSink(
+                                                       fout, 1, rmap, amap,
+                                                       fullRef, defaultMapq,
+                                                       PASS_DUMP_FILES,
+                                                       format == TAB_MATE, sampleMax,
+                                                       table, refnames);
+                                       if(!samNoHead) {
+                                               vector<string> refnames;
+                                               if(!samNoSQ) {
+                                                       readEbwtRefnames(adjustedEbwtFileBase, refnames);
+                                               }
+                                               sam->appendHeaders(
+                                                               sam->out(0), ebwt.nPat(),
+                                                               refnames, color, samNoSQ, rmap,
+                                                               ebwt.plen(), fullRef,
+                                                               argstr.c_str(),
+                                                               rgs.empty() ? NULL : rgs.c_str());
+                                       }
+                                       sink = sam;
+                               }
+                               break;
+                       case OUTPUT_CONCISE:
+                               if(refOut) {
+                                       sink = new ConciseHitSink(
+                                                       ebwt.nPat(), offBase,
+                                                       PASS_DUMP_FILES,
+                                                       format == TAB_MATE,  sampleMax,
+                                                       table, refnames, reportOpps);
+                               } else {
+                                       sink = new ConciseHitSink(
+                                                       fout, offBase,
+                                                       PASS_DUMP_FILES,
+                                                       format == TAB_MATE,  sampleMax,
+                                                       table, refnames, reportOpps);
+                               }
+                               break;
+                       case OUTPUT_CHAIN:
+                               assert(stateful);
+                               sink = new ChainingHitSink(
+                                               fout, strata, amap,
+                                               PASS_DUMP_FILES,
+                                               true, sampleMax,
+                                               table, refnames);
+                               break;
+                       case OUTPUT_NONE:
+                               sink = new StubHitSink();
+                               break;
+                       default:
+                               cerr << "Invalid output type: " << outType << endl;
+                               throw 1;
+               }
+               if(verbose || startVerbose) {
+                       cerr << "Dispatching to search driver: "; logTime(cerr, true);
+               }
+               if(maqLike) {
+                       seededQualCutoffSearchFull(seedLen,
+                                                                          qualThresh,
+                                                                          seedMms,
+                                                                          *patsrc,
+                                                                          *sink,
+                                                                          ebwt,    // forward index
+                                                                          *ebwtBw, // mirror index (not optional)
+                                                                          os);     // references, if available
+               }
+               else if(mismatches > 0) {
+                       if(mismatches == 1) {
+                               assert(ebwtBw != NULL);
+                               mismatchSearchFull(*patsrc, *sink, ebwt, *ebwtBw, os);
+                       } else if(mismatches == 2 || mismatches == 3) {
+                               twoOrThreeMismatchSearchFull(*patsrc, *sink, ebwt, *ebwtBw, os, mismatches == 2);
+                       } else {
+                               cerr << "Error: " << mismatches << " is not a supported number of mismatches" << endl;
+                               throw 1;
+                       }
+               } else {
+                       // Search without mismatches
+                       // Note that --fast doesn't make a difference here because
+                       // we're only loading half of the index anyway
+                       exactSearch(*patsrc, *sink, ebwt, os);
+               }
+               // Evict any loaded indexes from memory
+               if(ebwt.isInMemory()) {
+                       ebwt.evictFromMemory();
+               }
+               if(ebwtBw != NULL) {
+                       delete ebwtBw;
+               }
+               if(!quiet) {
+                       sink->finish(hadoopOut); // end the hits section of the hit file
+               }
+               for(size_t i = 0; i < patsrcs_a.size(); i++) {
+                       assert(patsrcs_a[i] != NULL);
+                       delete patsrcs_a[i];
+               }
+               for(size_t i = 0; i < patsrcs_b.size(); i++) {
+                       if(patsrcs_b[i] != NULL) {
+                               delete patsrcs_b[i];
+                       }
+               }
+               for(size_t i = 0; i < patsrcs_ab.size(); i++) {
+                       if(patsrcs_ab[i] != NULL) {
+                               delete patsrcs_ab[i];
+                       }
+               }
+               delete patsrc;
+               delete sink;
+               delete amap;
+               delete rmap;
+               if(fout != NULL) delete fout;
+       }
+}
+
+// C++ name mangling is disabled for the bowtie() function to make it
+// easier to use Bowtie as a library.
+extern "C" {
+
+/**
+ * Main bowtie entry function.  Parses argc/argv style command-line
+ * options, sets global configuration variables, and calls the driver()
+ * function.
+ */
+int bowtie(int argc, const char **argv) {
+       try {
+               // Reset all global state, including getopt state
+               opterr = optind = 1;
+               resetOptions();
+               for(int i = 0; i < argc; i++) {
+                       argstr += argv[i];
+                       if(i < argc-1) argstr += " ";
+               }
+               string ebwtFile;  // read serialized Ebwt from this file
+               string query;   // read query string(s) from this file
+               vector<string> queries;
+               string outfile; // write query results to this file
+               if(startVerbose) { cerr << "Entered main(): "; logTime(cerr, true); }
+               parseOptions(argc, argv);
+               argv0 = argv[0];
+               if(showVersion) {
+                       cout << argv0 << " version " << BOWTIE_VERSION << endl;
+                       if(sizeof(void*) == 4) {
+                               cout << "32-bit" << endl;
+                       } else if(sizeof(void*) == 8) {
+                               cout << "64-bit" << endl;
+                       } else {
+                               cout << "Neither 32- nor 64-bit: sizeof(void*) = " << sizeof(void*) << endl;
+                       }
+                       cout << "Built on " << BUILD_HOST << endl;
+                       cout << BUILD_TIME << endl;
+                       cout << "Compiler: " << COMPILER_VERSION << endl;
+                       cout << "Options: " << COMPILER_OPTIONS << endl;
+                       cout << "Sizeof {int, long, long long, void*, size_t, off_t}: {"
+                                << sizeof(int)
+                                << ", " << sizeof(long) << ", " << sizeof(long long)
+                                << ", " << sizeof(void *) << ", " << sizeof(size_t)
+                                << ", " << sizeof(off_t) << "}" << endl;
+                       return 0;
+               }
+       #ifdef CHUD_PROFILING
+               chudInitialize();
+               chudAcquireRemoteAccess();
+       #endif
+               {
+                       Timer _t(cerr, "Overall time: ", timing);
+                       if(startVerbose) {
+                               cerr << "Parsing index and read arguments: "; logTime(cerr, true);
+                       }
+
+                       // Get index basename
+                       if(optind >= argc) {
+                               cerr << "No index, query, or output file specified!" << endl;
+                               printUsage(cerr);
+                               return 1;
+                       }
+                       ebwtFile = argv[optind++];
+
+                       // Get query filename
+                       if(optind >= argc) {
+                               if(mates1.size() > 0 || mates12.size() > 0) {
+                                       query = "";
+                               } else {
+                                       cerr << "No query or output file specified!" << endl;
+                                       printUsage(cerr);
+                                       return 1;
+                               }
+                       } else if (mates1.size() == 0 && mates12.size() == 0) {
+                               query = argv[optind++];
+                               // Tokenize the list of query files
+                               tokenize(query, ",", queries);
+                               if(queries.size() < 1) {
+                                       cerr << "Tokenized query file list was empty!" << endl;
+                                       printUsage(cerr);
+                                       return 1;
+                               }
+                       }
+
+                       // Get output filename
+                       if(optind < argc) {
+                               outfile = argv[optind++];
+                       }
+
+                       // Extra parametesr?
+                       if(optind < argc) {
+                               cerr << "Extra parameter(s) specified: ";
+                               for(int i = optind; i < argc; i++) {
+                                       cerr << "\"" << argv[i] << "\"";
+                                       if(i < argc-1) cerr << ", ";
+                               }
+                               cerr << endl;
+                               if(mates1.size() > 0) {
+                                       cerr << "Note that if <mates> files are specified using -1/-2, a <singles> file cannot" << endl
+                                                << "also be specified.  Please run bowtie separately for mates and singles." << endl;
+                               }
+                               throw 1;
+                       }
+
+                       // Optionally summarize
+                       if(verbose) {
+                               cout << "Input ebwt file: \"" << ebwtFile << "\"" << endl;
+                               cout << "Query inputs (DNA, " << file_format_names[format] << "):" << endl;
+                               for(size_t i = 0; i < queries.size(); i++) {
+                                       cout << "  " << queries[i] << endl;
+                               }
+                               cout << "Quality inputs:" << endl;
+                               for(size_t i = 0; i < qualities.size(); i++) {
+                                       cout << "  " << qualities[i] << endl;
+                               }
+                               cout << "Output file: \"" << outfile << "\"" << endl;
+                               cout << "Local endianness: " << (currentlyBigEndian()? "big":"little") << endl;
+                               cout << "Sanity checking: " << (sanityCheck? "enabled":"disabled") << endl;
+                       #ifdef NDEBUG
+                               cout << "Assertions: disabled" << endl;
+                       #else
+                               cout << "Assertions: enabled" << endl;
+                       #endif
+                       }
+                       if(ipause) {
+                               cout << "Press key to continue..." << endl;
+                               getchar();
+                       }
+                       driver<String<Dna, Alloc<> > >("DNA", ebwtFile, query, queries, qualities, outfile);
+                       CHUD_STOP();
+               }
+#ifdef CHUD_PROFILING
+               chudReleaseRemoteAccess();
+#endif
+               return 0;
+       } catch(exception& e) {
+               cerr << "Command: ";
+               for(int i = 0; i < argc; i++) cerr << argv[i] << " ";
+               cerr << endl;
+               return 1;
+       } catch(int e) {
+               if(e != 0) {
+                       cerr << "Command: ";
+                       for(int i = 0; i < argc; i++) cerr << argv[i] << " ";
+                       cerr << endl;
+               }
+               return e;
+       }
+} // bowtie()
+} // extern "C"
diff --git a/ebwt_search_backtrack.h b/ebwt_search_backtrack.h
new file mode 100644 (file)
index 0000000..52287e3
--- /dev/null
@@ -0,0 +1,3201 @@
+#ifndef EBWT_SEARCH_BACKTRACK_H_
+#define EBWT_SEARCH_BACKTRACK_H_
+
+#include <stdexcept>
+#include <seqan/sequence.h>
+#include "pat.h"
+#include "qual.h"
+#include "ebwt_search_util.h"
+#include "range.h"
+#include "range_source.h"
+#include "aligner_metrics.h"
+#include "search_globals.h"
+
+/**
+ * Class that coordinates quality- and quantity-aware backtracking over
+ * some range of a read sequence.
+ *
+ * The creator can configure the BacktrackManager to treat different
+ * stretches of the read differently.
+ */
+class GreedyDFSRangeSource {
+
+       typedef std::pair<int, int> TIntPair;
+       typedef seqan::String<seqan::Dna> DnaString;
+
+public:
+       GreedyDFSRangeSource(
+                       const Ebwt<DnaString>* ebwt,
+                       const EbwtSearchParams<DnaString>& params,
+                       const BitPairReference* refs,
+                       uint32_t qualThresh,  /// max acceptable q-distance
+                       const int maxBts, /// maximum # backtracks allowed
+                       uint32_t reportPartials = 0,
+                       bool reportExacts = true,
+                       bool reportRanges = false,
+                       PartialAlignmentManager* partials = NULL,
+                       String<QueryMutation>* muts = NULL,
+                       bool verbose = true,
+                       vector<String<Dna5> >* os = NULL,
+                       bool considerQuals = true,  // whether to consider quality values when making backtracking decisions
+                       bool halfAndHalf = false, // hacky way of supporting separate revisitable regions
+                       bool maqPenalty = true) :
+               _refs(refs),
+               _qry(NULL),
+               _qlen(0),
+               _qual(NULL),
+               _name(NULL),
+               _ebwt(ebwt),
+               _params(params),
+               _unrevOff(0),
+               _1revOff(0),
+               _2revOff(0),
+               _3revOff(0),
+               _maqPenalty(maqPenalty),
+               _qualThresh(qualThresh),
+               _pairs(NULL),
+               _elims(NULL),
+               _mms(),
+               _refcs(),
+               _chars(NULL),
+               _reportPartials(reportPartials),
+               _reportExacts(reportExacts),
+               _reportRanges(reportRanges),
+               _partials(partials),
+               _muts(muts),
+               _os(os),
+               _sanity(_os != NULL && _os->size() > 0),
+               _considerQuals(considerQuals),
+               _halfAndHalf(halfAndHalf),
+               _5depth(0),
+               _3depth(0),
+               _numBts(0),
+               _totNumBts(0),
+               _maxBts(maxBts),
+               _precalcedSideLocus(false),
+               _preLtop(),
+               _preLbot(),
+               _verbose(verbose),
+               _ihits(0llu)
+       { }
+
+       ~GreedyDFSRangeSource() {
+               if(_pairs != NULL) delete[] _pairs;
+               if(_elims != NULL) delete[] _elims;
+               if(_chars != NULL) delete[] _chars;
+       }
+
+       /**
+        * Set a new query read.
+        */
+       void setQuery(ReadBuf& r) {
+               const bool fw = _params.fw();
+               const bool ebwtFw = _ebwt->fw();
+               if(ebwtFw) {
+                       _qry  = fw ? &r.patFw : &r.patRc;
+                       _qual = fw ? &r.qual  : &r.qualRev;
+               } else {
+                       _qry  = fw ? &r.patFwRev : &r.patRcRev;
+                       _qual = fw ? &r.qualRev  : &r.qual;
+               }
+               _name = &r.name;
+               // Reset _qlen
+               if(length(*_qry) > _qlen) {
+                       try {
+                               _qlen = length(*_qry);
+                               // Resize _pairs
+                               if(_pairs != NULL) { delete[] _pairs; }
+                               _pairs = new uint32_t[_qlen*_qlen*8];
+                               // Resize _elims
+                               if(_elims != NULL) { delete[] _elims; }
+                               _elims = new uint8_t[_qlen*_qlen];
+                               memset(_elims, 0, _qlen*_qlen);
+                               // Resize _chars
+                               if(_chars != NULL) { delete[] _chars; }
+                               _chars = new char[_qlen];
+                               assert(_pairs != NULL && _elims != NULL && _chars != NULL);
+                       } catch(std::bad_alloc& e) {
+                               ThreadSafe _ts(&gLock);
+                               cerr << "Unable to allocate memory for depth-first "
+                                    << "backtracking search; new length = " << length(*_qry)
+                                    << endl;
+                               throw 1;
+                       }
+               } else {
+                       // New length is less than old length, so there's no need
+                       // to resize any data structures.
+                       assert(_pairs != NULL && _elims != NULL && _chars != NULL);
+                       _qlen = length(*_qry);
+               }
+               _mms.clear();
+               _refcs.clear();
+               assert_geq(length(*_qual), _qlen);
+               if(_verbose) {
+                       cout << "setQuery(_qry=" << (*_qry) << ", _qual=" << (*_qual) << ")" << endl;
+               }
+               // Initialize the random source using new read as part of the
+               // seed.
+               _color = r.color;
+               _seed = r.seed;
+               _patid = r.patid;
+               _rand.init(r.seed);
+       }
+
+       /**
+        * Apply a batch of mutations to this read, possibly displacing a
+        * previous batch of mutations.
+        */
+       void setMuts(String<QueryMutation>* muts) {
+               if(_muts != NULL) {
+                       // Undo previous mutations
+                       assert_gt(length(*_muts), 0);
+                       undoPartialMutations();
+               }
+               _muts = muts;
+               if(_muts != NULL) {
+                       assert_gt(length(*_muts), 0);
+                       applyPartialMutations();
+               }
+       }
+
+       /**
+        * Set backtracking constraints.
+        */
+       void setOffs(uint32_t depth5,   // depth of far edge of hi-half
+                    uint32_t depth3,   // depth of far edge of lo-half
+                    uint32_t unrevOff, // depth above which we cannot backtrack
+                    uint32_t revOff1,  // depth above which we may backtrack just once
+                    uint32_t revOff2,  // depth above which we may backtrack just twice
+                    uint32_t revOff3)  // depth above which we may backtrack just three times
+       {
+               _5depth   = depth5;
+               _3depth   = depth3;
+               assert_geq(depth3, depth5);
+               _unrevOff = unrevOff;
+               _1revOff  = revOff1;
+               _2revOff  = revOff2;
+               _3revOff  = revOff3;
+       }
+
+       /**
+        * Reset number of backtracks to 0.
+        */
+       void resetNumBacktracks() {
+               _totNumBts = 0;
+       }
+
+       /**
+        * Return number of backtracks since the last time the count was
+        * reset.
+        */
+       uint32_t numBacktracks() {
+               return _totNumBts;
+       }
+
+       /**
+        * Set whether to report exact hits.
+        */
+       void setReportExacts(int stratum) {
+               _reportExacts = stratum;
+       }
+
+       /**
+        * Set the Bowtie index to search against.
+        */
+       void setEbwt(const Ebwt<String<Dna> >* ebwt) {
+               _ebwt = ebwt;
+       }
+
+       /**
+        * Return the current range
+        */
+       Range& range() {
+               return _curRange;
+       }
+
+       /**
+        * Set _qlen.  Don't let it exceed length of query.
+        */
+       void setQlen(uint32_t qlen) {
+               assert(_qry != NULL);
+               _qlen = min<uint32_t>(length(*_qry), qlen);
+       }
+
+       /// Return the maximum number of allowed backtracks in a given call
+       /// to backtrack()
+       uint32_t maxBacktracks() {
+               return _maxBts;
+       }
+
+       /**
+        * Initiate the recursive backtracking routine starting at the
+        * extreme right-hand side of the pattern.  Use the ftab to match
+        * the first several characters in one chomp, as long as doing so
+        * does not "jump over" any legal backtracking targets.
+        *
+        * Return true iff the HitSink has indicated that we're done with
+        * this read.
+        */
+       bool backtrack(uint32_t ham = 0) {
+               assert_gt(length(*_qry), 0);
+               assert_leq(_qlen, length(*_qry));
+               assert_geq(length(*_qual), length(*_qry));
+               const Ebwt<String<Dna> >& ebwt = *_ebwt;
+               int ftabChars = ebwt._eh._ftabChars;
+               int nsInSeed = 0; int nsInFtab = 0;
+               if(!tallyNs(nsInSeed, nsInFtab)) {
+                       // No alignments are possible because of the distribution
+                       // of Ns in the read in combination with the backtracking
+                       // constraints.
+                       return false;
+               }
+               bool ret;
+               // m = depth beyond which ftab must not extend or else we might
+               // miss some legitimate paths
+               uint32_t m = min<uint32_t>(_unrevOff, _qlen);
+               if(nsInFtab == 0 && m >= (uint32_t)ftabChars) {
+                       uint32_t ftabOff = calcFtabOff();
+                       uint32_t top = ebwt.ftabHi(ftabOff);
+                       uint32_t bot = ebwt.ftabLo(ftabOff+1);
+                       if(_qlen == (uint32_t)ftabChars && bot > top) {
+                               // We have a match!
+                               if(_reportPartials > 0) {
+                                       // Oops - we're trying to find seedlings, so we've
+                                       // gone too far; start again
+                                       ret = backtrack(0,   // depth
+                                                       0,   // top
+                                                       0,   // bot
+                                                       ham,
+                                                       nsInFtab > 0);
+                               } else {
+                                       // We have a match!
+                                       ret = reportAlignment(0, top, bot, ham);
+                               }
+                       } else if (bot > top) {
+                               // We have an arrow pair from which we can backtrack
+                               ret = backtrack(ftabChars, // depth
+                                               top,       // top
+                                               bot,       // bot
+                                               ham,
+                                               nsInFtab > 0);
+                       } else {
+                               // The arrows are already closed; give up
+                               ret = false;
+                       }
+               } else {
+                       // The ftab *does* extend past the unrevisitable portion;
+                       // we can't use it in this case, because we might jump past
+                       // a legitimate mismatch
+                       ret = backtrack(0,   // depth
+                                       0,   // top
+                                       0,   // bot
+                                       ham,
+                                       // disable ftab jumping if there is more
+                                       // than 1 N in it
+                                       nsInFtab > 0);
+               }
+               if(finalize()) ret = true;
+               return ret;
+       }
+
+       /**
+        * If there are any buffered results that have yet to be committed,
+        * commit them.  This happens when looking for partial alignments.
+        */
+       bool finalize() {
+               bool ret = false;
+               if(_reportPartials > 0) {
+                       // We're in partial alignment mode; take elements of the
+                       // _partialBuf and install them in the _partials database
+                       assert(_partials != NULL);
+                       if(_partialsBuf.size() > 0) {
+#ifndef NDEBUG
+                               for(size_t i = 0; i < _partialsBuf.size(); i++) {
+                                       assert(_partialsBuf[i].repOk(_qualThresh, _qlen, (*_qual), _maqPenalty));
+                               }
+#endif
+                               _partials->addPartials(_params.patId(), _partialsBuf);
+                               _partialsBuf.clear();
+                               ret = true;
+                       } else {
+                               assert(!ret);
+                       }
+               }
+               assert_eq(0, _partialsBuf.size());
+               return ret;
+       }
+
+       /**
+        * Starting at the given "depth" relative to the 5' end, and the
+        * given top and bot indexes (where top=0 and bot=0 means it's up
+        * to us to calculate the initial range), and initial weighted
+        * hamming distance iham, find a hit using randomized, quality-
+        * aware backtracking.
+        */
+       bool backtrack(uint32_t depth,
+                      uint32_t top,
+                      uint32_t bot,
+                      uint32_t iham = 0,
+                      bool disableFtab = false)
+       {
+               HitSinkPerThread& sink = _params.sink();
+               _ihits = sink.retainedHits().size();
+
+               // Initiate the recursive, randomized quality-aware backtracker
+               // with a stack depth of 0 (no backtracks so far)
+               _bailedOnBacktracks = false;
+               bool done = backtrack(0, depth, _unrevOff, _1revOff, _2revOff, _3revOff,
+                                     top, bot, iham, iham, _pairs, _elims, disableFtab);
+
+               _totNumBts += _numBts;
+               _numBts = 0;
+               _precalcedSideLocus = false;
+               _bailedOnBacktracks = false;
+               return done;
+       }
+
+       /**
+        * Recursive routine for progressing to the next backtracking
+        * decision given some initial conditions.  If a hit is found, it
+        * is recorded and true is returned.  Otherwise, if there are more
+        * backtracking opportunities, the function will call itself
+        * recursively and return the result.  As soon as there is a
+        * mismatch and no backtracking opportunities, false is returned.
+        */
+       bool backtrack(uint32_t  stackDepth, // depth of the recursion stack; = # mismatches so far
+                      uint32_t  depth,    // next depth where a post-pair needs to be calculated
+                      uint32_t  unrevOff, // depths < unrevOff are unrevisitable
+                      uint32_t  oneRevOff,// depths < oneRevOff are 1-revisitable
+                      uint32_t  twoRevOff,// depths < twoRevOff are 2-revisitable
+                      uint32_t  threeRevOff,// depths < threeRevOff are 3-revisitable
+                      uint32_t  top,      // top arrow in pair prior to 'depth'
+                      uint32_t  bot,      // bottom arrow in pair prior to 'depth'
+                      uint32_t  ham,      // weighted hamming distance so far
+                      uint32_t  iham,     // initial weighted hamming distance
+                      uint32_t* pairs,    // portion of pairs array to be used for this backtrack frame
+                      uint8_t*  elims,    // portion of elims array to be used for this backtrack frame
+                      bool disableFtab = false)
+       {
+               // Can't have already exceeded weighted hamming distance threshold
+               assert_leq(stackDepth, depth);
+               assert_gt(length(*_qry), 0);
+               assert_leq(_qlen, length(*_qry));
+               assert_geq(length(*_qual), length(*_qry));
+               assert(_qry != NULL);
+               assert(_qual != NULL);
+               assert(_name != NULL);
+               assert(_qlen != 0);
+               assert_leq(ham, _qualThresh);
+               assert_lt(depth, _qlen); // can't have run off the end of qry
+               assert_geq(bot, top);    // could be that both are 0
+               assert(pairs != NULL);
+               assert(elims != NULL);
+               assert_leq(stackDepth, _qlen);
+               const Ebwt<String<Dna> >& ebwt = *_ebwt;
+               HitSinkPerThread& sink = _params.sink();
+               uint64_t prehits = sink.numValidHits();
+               if(_halfAndHalf) {
+                       assert_eq(0, _reportPartials);
+                       assert_gt(_3depth, _5depth);
+               }
+               if(_reportPartials) {
+                       assert(!_halfAndHalf);
+               }
+               if(_verbose) {
+                       cout << "  backtrack(stackDepth=" << stackDepth << ", "
+                            << "depth=" << depth << ", "
+                            << "top=" << top << ", "
+                            << "bot=" << bot << ", "
+                            << "ham=" << ham << ", "
+                            << "iham=" << iham << ", "
+                            << "pairs=" << pairs << ", "
+                            << "elims=" << (void*)elims << "): \"";
+                       for(int i = (int)depth - 1; i >= 0; i--) {
+                               cout << _chars[i];
+                       }
+                       cout << "\"" << endl;
+               }
+               // Do this early on so that we can clear _precalcedSideLocus
+               // before we have too many opportunities to bail and leave it
+               // 'true'
+               SideLocus ltop, lbot;
+               if(_precalcedSideLocus) {
+                       ltop = _preLtop;
+                       lbot = _preLbot;
+                       _precalcedSideLocus = false;
+               } else if(top != 0 || bot != 0) {
+                       SideLocus::initFromTopBot(top, bot, ebwt._eh, ebwt._ebwt, ltop, lbot);
+               }
+               // Check whether we've exceeded any backtracking limit
+               if(_halfAndHalf) {
+                       if(_maxBts > 0 && _numBts == _maxBts) {
+                               _bailedOnBacktracks = true;
+                               return false;
+                       }
+                       _numBts++;
+               }
+               // # positions with at least one legal outgoing path
+               uint32_t altNum = 0;
+               // # positions tied for "best" outgoing qual
+               uint32_t eligibleNum = 0;
+               // total range-size for all eligibles
+               uint32_t eligibleSz = 0;
+               // If there is just one eligible slot at the moment (a common
+               // case), these are its parameters
+               uint32_t eli = 0;
+               bool     elignore = true; // ignore the el values because they didn't come from a recent override
+               uint32_t eltop = 0;
+               uint32_t elbot = 0;
+               uint32_t elham = ham;
+               char     elchar = 0;
+               int      elcint = 0;
+               // The lowest quality value associated with any alternative
+               // ranges; all alternative ranges with this quality are
+               // eligible
+               uint8_t lowAltQual = 0xff;
+               uint32_t d = depth;
+               uint32_t cur = _qlen - d - 1; // current offset into _qry
+               while(cur < _qlen) {
+                       // Try to advance further given that
+                       if(_verbose) {
+                               cout << "    cur=" << cur << " \"";
+                               for(int i = (int)d - 1; i >= 0; i--) {
+                                       cout << _chars[i];
+                               }
+                               cout << "\"";
+                       }
+
+                       // If we're searching for a half-and-half solution, then
+                       // enforce the boundary-crossing constraints here.
+                       if(_halfAndHalf && !hhCheckTop(stackDepth, d, iham, _mms, prehits)) {
+                               return false;
+                       }
+
+                       bool curIsEligible = false;
+                       // Reset eligibleNum and eligibleSz if there are any
+                       // eligible pairs discovered at this spot
+                       bool curOverridesEligible = false;
+                       // Determine whether ranges at this location are
+                       // candidates for backtracking
+                       int c = (int)(*_qry)[cur];
+                       assert_leq(c, 4);
+                       uint8_t q = qualAt(cur);
+                       // The current query position is a legit alternative if it a) is
+                       // not in the unrevisitable region, and b) the quality ceiling (if
+                       // one exists) is not exceeded
+                       bool curIsAlternative =
+                               (d >= unrevOff) &&
+                           (!_considerQuals ||
+                            (ham + mmPenalty(_maqPenalty, q) <= _qualThresh));
+                       if(curIsAlternative) {
+                               if(_considerQuals) {
+                                       // Is it the best alternative?
+                                       if(q < lowAltQual) {
+                                               // Ranges at this depth in this backtracking frame are
+                                               // eligible, unless we learn otherwise.  Ranges previously
+                                               // thought to be eligible are not any longer.
+                                               curIsEligible = true;
+                                               curOverridesEligible = true;
+                                       } else if(q == lowAltQual) {
+                                               // Ranges at this depth in this backtracking frame
+                                               // are eligible, unless we learn otherwise
+                                               curIsEligible = true;
+                                       }
+                               } else {
+                                       // When quality values are not considered, all positions
+                                       // are eligible
+                                       curIsEligible = true;
+                               }
+                       }
+                       if(curIsEligible) assert(curIsAlternative);
+                       if(curOverridesEligible) assert(curIsEligible);
+                       if(curIsAlternative && !curIsEligible) {
+                               assert_gt(eligibleSz, 0);
+                               assert_gt(eligibleNum, 0);
+                       }
+                       if(_verbose) {
+                               cout << " alternative: " << curIsAlternative;
+                               cout << ", eligible: " << curIsEligible;
+                               if(curOverridesEligible) cout << "(overrides)";
+                               cout << endl;
+                       }
+
+                       // If c is 'N', then it's guaranteed to be a mismatch
+                       if(c == 4 && d > 0) {
+                               // Force the 'else if(curIsAlternative)' branch below
+                               top = bot = 1;
+                       } else if(c == 4) {
+                               // We'll take the 'if(top == 0 && bot == 0)' branch below
+                               assert_eq(0, top);
+                               assert_eq(0, bot);
+                       }
+                       // Calculate the ranges for this position
+                       if(top == 0 && bot == 0) {
+                               // Calculate first quartet of ranges using the _fchr[]
+                               // array
+                                              pairs[0 + 0] = ebwt._fchr[0];
+                               pairs[0 + 4] = pairs[1 + 0] = ebwt._fchr[1];
+                               pairs[1 + 4] = pairs[2 + 0] = ebwt._fchr[2];
+                               pairs[2 + 4] = pairs[3 + 0] = ebwt._fchr[3];
+                               pairs[3 + 4]                = ebwt._fchr[4];
+                               // Update top and bot
+                               if(c < 4) {
+                                       top = pairTop(pairs, d, c); bot = pairBot(pairs, d, c);
+                                       assert_geq(bot, top);
+                               }
+                       } else if(curIsAlternative) {
+                               // Clear pairs
+                               memset(&pairs[d*8], 0, 8 * 4);
+                               // Calculate next quartet of ranges
+                               ebwt.mapLFEx(ltop, lbot, &pairs[d*8], &pairs[(d*8)+4]);
+                               // Update top and bot
+                               if(c < 4) {
+                                       top = pairTop(pairs, d, c); bot = pairBot(pairs, d, c);
+                                       assert_geq(bot, top);
+                               }
+                       } else {
+                               // This query character is not even a legitimate
+                               // alternative (because backtracking here would blow
+                               // our mismatch quality budget), so no need to do the
+                               // bookkeeping for the entire quartet, just do c
+                               if(c < 4) {
+                                       if(top+1 == bot) {
+                                               bot = top = ebwt.mapLF1(top, ltop, c);
+                                               if(bot != 0xffffffff) bot++;
+                                       } else {
+                                               top = ebwt.mapLF(ltop, c); bot = ebwt.mapLF(lbot, c);
+                                               assert_geq(bot, top);
+                                       }
+                               }
+                       }
+                       if(top != bot) {
+                               // Calculate loci from row indices; do it now so that
+                               // those prefetches are fired off as soon as possible.
+                               // This eventually calls SideLocus.initfromRow().
+                               SideLocus::initFromTopBot(top, bot, ebwt._eh, ebwt._ebwt, ltop, lbot);
+                       }
+                       // Update the elim array
+                       eliminate(elims, d, c);
+
+                       if(curIsAlternative) {
+                               // Given the just-calculated range quartet, update
+                               // elims, altNum, eligibleNum, eligibleSz
+                               for(int i = 0; i < 4; i++) {
+                                       if(i == c) continue;
+                                       assert_leq(pairTop(pairs, d, i), pairBot(pairs, d, i));
+                                       uint32_t spread = pairSpread(pairs, d, i);
+                                       if(spread == 0) {
+                                               // Indicate this char at this position is
+                                               // eliminated as far as this backtracking frame is
+                                               // concerned, since its range is empty
+                                               elims[d] |= (1 << i);
+                                               assert_lt(elims[d], 16);
+                                       }
+                                       if(spread > 0 && ((elims[d] & (1 << i)) == 0)) {
+                                               // This char at this position is an alternative
+                                               if(curIsEligible) {
+                                                       if(curOverridesEligible) {
+                                                               // Only now that we know there is at least
+                                                               // one potential backtrack target at this
+                                                               // most-eligible position should we reset
+                                                               // these eligibility parameters
+                                                               lowAltQual = q;
+                                                               eligibleNum = 0;
+                                                               eligibleSz = 0;
+                                                               curOverridesEligible = false;
+                                                               // Remember these parameters in case
+                                                               // this turns out to be the only
+                                                               // eligible target
+                                                               eli = d;
+                                                               eltop = pairTop(pairs, d, i);
+                                                               elbot = pairBot(pairs, d, i);
+                                                               assert_eq(elbot-eltop, spread);
+                                                               elham = mmPenalty(_maqPenalty, q);
+                                                               elchar = "acgt"[i];
+                                                               elcint = i;
+                                                               elignore = false;
+                                                       }
+                                                       eligibleSz += spread;
+                                                       eligibleNum++;
+                                               }
+                                               assert_gt(eligibleSz, 0);
+                                               assert_gt(eligibleNum, 0);
+                                               altNum++;
+                                       }
+                               }
+                       }
+                       if(altNum > 0) {
+                               assert_gt(eligibleSz, 0);
+                               assert_gt(eligibleNum, 0);
+                       }
+                       assert_leq(eligibleNum, eligibleSz);
+                       assert_leq(eligibleNum, altNum);
+                       assert_lt(elims[d], 16);
+                       assert(sanityCheckEligibility(depth, d, unrevOff, lowAltQual, eligibleSz, eligibleNum, pairs, elims));
+
+                       // Achieved a match, but need to keep going
+                       bool backtrackDespiteMatch = false;
+                       bool reportedPartial = false;
+                       if(cur == 0 &&  // we've consumed the entire pattern
+                          top < bot && // there's a hit to report
+                          stackDepth < _reportPartials && // not yet used up our mismatches
+                          _reportPartials > 0)  // there are still legel backtracking targets
+                       {
+                               assert(!_halfAndHalf);
+                               if(altNum > 0) backtrackDespiteMatch = true;
+                               if(stackDepth > 0) {
+                                       // This is a legit seedling; report it
+                                       reportPartial(stackDepth);
+                                       reportedPartial = true;
+                               }
+                               // Now continue on to find legitimate seedlings with
+                               // more mismatches than this one
+                       }
+                       // Check whether we've obtained an exact alignment when
+                       // we've been instructed not to report exact alignments
+                       bool invalidExact = false;
+                       if(cur == 0 && stackDepth == 0 && bot > top && !_reportExacts) {
+                               invalidExact = true;
+                               backtrackDespiteMatch = true;
+                       }
+                       // Set this to true if the only way to make legal progress
+                       // is via one or more additional backtracks.  This is
+                       // helpful in half-and-half mode.
+                       bool mustBacktrack = false;
+                       bool invalidHalfAndHalf = false;
+                       if(_halfAndHalf) {
+                               ASSERT_ONLY(uint32_t lim = (_3revOff == _2revOff)? 2 : 3);
+                               if((d == (_5depth-1)) && top < bot) {
+                                       // We're crossing the boundary separating the hi-half
+                                       // from the non-seed portion of the read.
+                                       // We should induce a mismatch if we haven't mismatched
+                                       // yet, so that we don't waste time pursuing a match
+                                       // that was covered by a previous phase
+                                       assert_eq(0, _reportPartials);
+                                       assert_leq(stackDepth, lim-1);
+                                       invalidHalfAndHalf = (stackDepth == 0);
+                                       if(stackDepth == 0 && altNum > 0) {
+                                               backtrackDespiteMatch = true;
+                                               mustBacktrack = true;
+                                       } else if(stackDepth == 0) {
+                                               // We're returning from the bottommost frame
+                                               // without having found any hits; let's
+                                               // sanity-check that there really aren't any
+                                               return false;
+                                       }
+                               }
+                               else if((d == (_3depth-1)) && top < bot) {
+                                       // We're crossing the boundary separating the lo-half
+                                       // from the non-seed portion of the read
+                                       assert_eq(0, _reportPartials);
+                                       assert_leq(stackDepth, lim);
+                                       assert_gt(stackDepth, 0);
+                                       // Count the mismatches in the lo and hi halves
+                                       uint32_t loHalfMms = 0, hiHalfMms = 0;
+                                       assert_geq(_mms.size(), stackDepth);
+                                       for(size_t i = 0; i < stackDepth; i++) {
+                                               uint32_t d = _qlen - _mms[i] - 1;
+                                               if     (d < _5depth) hiHalfMms++;
+                                               else if(d < _3depth) loHalfMms++;
+                                               else assert(false);
+                                       }
+                                       assert_leq(loHalfMms + hiHalfMms, lim);
+                                       invalidHalfAndHalf = (loHalfMms == 0 || hiHalfMms == 0);
+                                       if((stackDepth < 2 || invalidHalfAndHalf) && altNum > 0) {
+                                               // We backtracked fewer times than necessary;
+                                               // force a backtrack
+                                               mustBacktrack = true;
+                                               backtrackDespiteMatch = true;
+                                       } else if(stackDepth < 2) {
+                                               return false;
+                                       }
+                               }
+                               if(d < _5depth-1) {
+                                       assert_leq(stackDepth, lim-1);
+                               }
+                               else if(d >= _5depth && d < _3depth-1) {
+                                       assert_gt(stackDepth, 0);
+                                       assert_leq(stackDepth, lim);
+                               }
+                       }
+                       // This is necessary for the rare case where we're about
+                       // to declare success because bot > top and we've consumed
+                       // the final character, but all hits between top and bot
+                       // are spurious.  This check ensures that we keep looking
+                       // for non-spurious hits in that case.
+                       if(cur == 0 &&            // we made it to the left-hand-side of the read
+                          bot > top &&           // there are alignments to report
+                          !invalidHalfAndHalf && // alignment isn't disqualified by half-and-half requirement
+                          !invalidExact &&       // alignment isn't disqualified by no-exact-hits setting
+                          !reportedPartial)      // for when it's a partial alignment we've already reported
+                       {
+                               bool ret = reportAlignment(stackDepth, top, bot, ham);
+                               if(!ret) {
+                                       // reportAlignment returned false, so enter the
+                                       // backtrack loop and keep going
+                                       top = bot;
+                               } else {
+                                       // reportAlignment returned true, so stop
+                                       return true;
+                               }
+                       }
+                       //
+                       // Mismatch with alternatives
+                       //
+                       while((top == bot || backtrackDespiteMatch) && altNum > 0) {
+                               if(_verbose) cout << "    top (" << top << "), bot ("
+                                                << bot << ") with " << altNum
+                                                << " alternatives, eligible: "
+                                                << eligibleNum << ", " << eligibleSz
+                                                << endl;
+                               assert_gt(eligibleSz, 0);
+                               assert_gt(eligibleNum, 0);
+                               // Mismatch!  Must now choose where we are going to
+                               // take our quality penalty.  We can only look as far
+                               // back as our last decision point.
+                               assert(sanityCheckEligibility(depth, d, unrevOff, lowAltQual, eligibleSz, eligibleNum, pairs, elims));
+                               // Pick out the arrow pair we selected and target it
+                               // for backtracking
+                               ASSERT_ONLY(uint32_t eligiblesVisited = 0);
+                               size_t i = d, j = 0;
+                               assert_geq(i, depth);
+                               uint32_t bttop = 0;
+                               uint32_t btbot = 0;
+                               uint32_t btham = ham;
+                               char     btchar = 0;
+                               int      btcint = 0;
+                               uint32_t icur = 0;
+                               // The common case is that eligibleSz == 1
+                               if(eligibleNum > 1 || elignore) {
+                                       bool foundTarget = false;
+                                       // Walk from left to right
+                                       for(; i >= depth; i--) {
+                                               assert_geq(i, unrevOff);
+                                               icur = _qlen - i - 1; // current offset into _qry
+                                               uint8_t qi = qualAt(icur);
+                                               assert_lt(elims[i], 16);
+                                               if((qi == lowAltQual || !_considerQuals) && elims[i] != 15) {
+                                                       // This is the leftmost eligible position with at
+                                                       // least one remaining backtrack target
+                                                       uint32_t posSz = 0;
+                                                       // Add up the spreads for A, C, G, T
+                                                       for(j = 0; j < 4; j++) {
+                                                               if((elims[i] & (1 << j)) == 0) {
+                                                                       assert_gt(pairSpread(pairs, i, j), 0);
+                                                                       posSz += pairSpread(pairs, i, j);
+                                                               }
+                                                       }
+                                                       // Generate a random number
+                                                       assert_gt(posSz, 0);
+                                                       uint32_t r = _rand.nextU32() % posSz;
+                                                       for(j = 0; j < 4; j++) {
+                                                               if((elims[i] & (1 << j)) == 0) {
+                                                                       // This range has not been eliminated
+                                                                       ASSERT_ONLY(eligiblesVisited++);
+                                                                       uint32_t spread = pairSpread(pairs, i, j);
+                                                                       if(r < spread) {
+                                                                               // This is our randomly-selected
+                                                                               // backtrack target
+                                                                               foundTarget = true;
+                                                                               bttop = pairTop(pairs, i, j);
+                                                                               btbot = pairBot(pairs, i, j);
+                                                                               btham += mmPenalty(_maqPenalty, qi);
+                                                                               btcint = j;
+                                                                               btchar = "acgt"[j];
+                                                                               assert_leq(btham, _qualThresh);
+                                                                               break; // found our target; we can stop
+                                                                       }
+                                                                       r -= spread;
+                                                               }
+                                                       }
+                                                       assert(foundTarget);
+                                                       break; // escape left-to-right walk
+                                               }
+                                       }
+                                       assert_leq(i, d);
+                                       assert_lt(j, 4);
+                                       assert_leq(eligiblesVisited, eligibleNum);
+                                       assert(foundTarget);
+                                       assert_neq(0, btchar);
+                                       assert_gt(btbot, bttop);
+                                       assert_leq(btbot-bttop, eligibleSz);
+                               } else {
+                                       // There was only one eligible target; we can just
+                                       // copy its parameters
+                                       assert_eq(1, eligibleNum);
+                                       assert(!elignore);
+                                       i = eli;
+                                       bttop = eltop;
+                                       btbot = elbot;
+                                       btham += elham;
+                                       j = btcint = elcint;
+                                       btchar = elchar;
+                                       assert_neq(0, btchar);
+                                       assert_gt(btbot, bttop);
+                                       assert_leq(btbot-bttop, eligibleSz);
+                               }
+                               // This is the earliest that we know what the next top/
+                               // bot combo is going to be
+                               SideLocus::initFromTopBot(bttop, btbot,
+                                                         ebwt._eh, ebwt._ebwt,
+                                                         _preLtop, _preLbot);
+                               icur = _qlen - i - 1; // current offset into _qry
+                               // Slide over to the next backtacking frame within
+                               // pairs and elims; won't interfere with our frame or
+                               // any of our parents' frames
+                               uint32_t *newPairs = pairs + (_qlen*8);
+                               uint8_t  *newElims = elims + (_qlen);
+                               // If we've selected a backtracking target that's in
+                               // the 1-revisitable region, then we ask the recursive
+                               // callee to consider the 1-revisitable region as also
+                               // being unrevisitable (since we just "used up" all of
+                               // our visits)
+                               uint32_t btUnrevOff  = unrevOff;
+                               uint32_t btOneRevOff = oneRevOff;
+                               uint32_t btTwoRevOff = twoRevOff;
+                               uint32_t btThreeRevOff = threeRevOff;
+                               assert_geq(i, unrevOff);
+                               assert_geq(oneRevOff, unrevOff);
+                               assert_geq(twoRevOff, oneRevOff);
+                               assert_geq(threeRevOff, twoRevOff);
+                               if(i < oneRevOff) {
+                                       // Extend unrevisitable region to include former 1-
+                                       // revisitable region
+                                       btUnrevOff = oneRevOff;
+                                       // Extend 1-revisitable region to include former 2-
+                                       // revisitable region
+                                       btOneRevOff = twoRevOff;
+                                       // Extend 2-revisitable region to include former 3-
+                                       // revisitable region
+                                       btTwoRevOff = threeRevOff;
+                               }
+                               else if(i < twoRevOff) {
+                                       // Extend 1-revisitable region to include former 2-
+                                       // revisitable region
+                                       btOneRevOff = twoRevOff;
+                                       // Extend 2-revisitable region to include former 3-
+                                       // revisitable region
+                                       btTwoRevOff = threeRevOff;
+                               }
+                               else if(i < threeRevOff) {
+                                       // Extend 2-revisitable region to include former 3-
+                                       // revisitable region
+                                       btTwoRevOff = threeRevOff;
+                               }
+                               // Note the character that we're backtracking on in the
+                               // mm array:
+                               if(_mms.size() <= stackDepth) {
+                                       assert_eq(_mms.size(), stackDepth);
+                                       _mms.push_back(icur);
+                               } else {
+                                       _mms[stackDepth] = icur;
+                               }
+                               assert_eq(1, dna4Cat[(int)btchar]);
+                               if(_refcs.size() <= stackDepth) {
+                                       assert_eq(_refcs.size(), stackDepth);
+                                       _refcs.push_back(btchar);
+                               } else {
+                                       _refcs[stackDepth] = btchar;
+                               }
+#ifndef NDEBUG
+                               for(uint32_t j = 0; j < stackDepth; j++) {
+                                       assert_neq(_mms[j], icur);
+                               }
+#endif
+                               _chars[i] = btchar;
+                               assert_leq(i+1, _qlen);
+                               bool ret;
+                               if(i+1 == _qlen) {
+                                       ret = reportAlignment(stackDepth+1, bttop, btbot, btham);
+                               } else if(_halfAndHalf &&
+                                         !disableFtab &&
+                                         _2revOff == _3revOff &&
+                                         i+1 < (uint32_t)ebwt._eh._ftabChars &&
+                                         (uint32_t)ebwt._eh._ftabChars <= _5depth)
+                               {
+                                       // The ftab doesn't extend past the unrevisitable portion,
+                                       // so we can go ahead and use it
+                                       // Rightmost char gets least significant bit-pairs
+                                       int ftabChars = ebwt._eh._ftabChars;
+                                       uint32_t ftabOff = (*_qry)[_qlen - ftabChars];
+                                       assert_lt(ftabOff, 4);
+                                       assert_lt(ftabOff, ebwt._eh._ftabLen-1);
+                                       for(int j = ftabChars - 1; j > 0; j--) {
+                                               ftabOff <<= 2;
+                                               if(_qlen-j == icur) {
+                                                       ftabOff |= btcint;
+                                               } else {
+                                                       assert_lt((uint32_t)(*_qry)[_qlen-j], 4);
+                                                       ftabOff |= (uint32_t)(*_qry)[_qlen-j];
+                                               }
+                                               assert_lt(ftabOff, ebwt._eh._ftabLen-1);
+                                       }
+                                       assert_lt(ftabOff, ebwt._eh._ftabLen-1);
+                                       uint32_t ftabTop = ebwt.ftabHi(ftabOff);
+                                       uint32_t ftabBot = ebwt.ftabLo(ftabOff+1);
+                                       assert_geq(ftabBot, ftabTop);
+                                       if(ftabTop == ftabBot) {
+                                               ret = false;
+                                       } else {
+                                               assert(!_precalcedSideLocus);
+                                               assert_leq(iham, _qualThresh);
+                                               ret = backtrack(stackDepth+1,
+                                                               ebwt._eh._ftabChars,
+                                                               btUnrevOff,  // new unrevisitable boundary
+                                                               btOneRevOff, // new 1-revisitable boundary
+                                                               btTwoRevOff, // new 2-revisitable boundary
+                                                               btThreeRevOff, // new 3-revisitable boundary
+                                                               ftabTop,  // top arrow in range prior to 'depth'
+                                                               ftabBot,  // bottom arrow in range prior to 'depth'
+                                                               btham,  // weighted hamming distance so far
+                                                               iham,   // initial weighted hamming distance
+                                                               newPairs,
+                                                               newElims);
+                                       }
+                               } else {
+                                       // We already called initFromTopBot for the range
+                                       // we're going to continue from
+                                       _precalcedSideLocus = true;
+                                       assert_leq(iham, _qualThresh);
+                                       // Continue from selected alternative range
+                                       ret = backtrack(stackDepth+1,// added 1 mismatch to alignment
+                                                       i+1,         // start from next position after
+                                                       btUnrevOff,  // new unrevisitable boundary
+                                                       btOneRevOff, // new 1-revisitable boundary
+                                                       btTwoRevOff, // new 2-revisitable boundary
+                                                       btThreeRevOff, // new 3-revisitable boundary
+                                                       bttop,  // top arrow in range prior to 'depth'
+                                                       btbot,  // bottom arrow in range prior to 'depth'
+                                                       btham,  // weighted hamming distance so far
+                                                       iham,   // initial weighted hamming distance
+                                                       newPairs,
+                                                       newElims);
+                               }
+                               if(ret) {
+                                       assert_gt(sink.numValidHits(), prehits);
+                                       return true; // return, signaling that we're done
+                               }
+                               if(_bailedOnBacktracks ||
+                                 (_halfAndHalf && (_maxBts > 0) && (_numBts >= _maxBts)))
+                               {
+                                       _bailedOnBacktracks = true;
+                                       return false;
+                               }
+                               // No hit was reported; update elims[], eligibleSz,
+                               // eligibleNum, altNum
+                               _chars[i] = (*_qry)[icur];
+                               assert_neq(15, elims[i]);
+                               ASSERT_ONLY(uint8_t oldElim = elims[i]);
+                               elims[i] |= (1 << j);
+                               assert_lt(elims[i], 16);
+                               assert_gt(elims[i], oldElim);
+                               eligibleSz -= (btbot-bttop);
+                               eligibleNum--;
+                               elignore = true;
+                               assert_geq(eligibleNum, 0);
+                               altNum--;
+                               assert_geq(altNum, 0);
+                               if(altNum == 0) {
+                                       // No alternative backtracking points; all legal
+                                       // backtracking targets have been exhausted
+                                       assert_eq(0, altNum);
+                                       assert_eq(0, eligibleSz);
+                                       assert_eq(0, eligibleNum);
+                                       return false;
+                               }
+                               else if(eligibleNum == 0 && _considerQuals) {
+                                       // Find the next set of eligible backtrack points
+                                       // by re-scanning this backtracking frame (from
+                                       // 'depth' up to 'd')
+                                       lowAltQual = 0xff;
+                                       for(size_t k = d; k >= depth && k <= _qlen; k--) {
+                                               uint32_t kcur = _qlen - k - 1; // current offset into _qry
+                                               uint8_t kq = qualAt(kcur);
+                                               if(k < unrevOff) break; // already visited all revisitable positions
+                                               bool kCurIsAlternative = (ham + mmPenalty(_maqPenalty, kq) <= _qualThresh);
+                                               bool kCurOverridesEligible = false;
+                                               if(kCurIsAlternative) {
+                                                       if(kq < lowAltQual) {
+                                                               // This target is more eligible than
+                                                               // any targets that came before, so we
+                                                               // set it to supplant/override them
+                                                               kCurOverridesEligible = true;
+                                                       }
+                                                       if(kq <= lowAltQual) {
+                                                               // Position is eligible
+                                                               for(int l = 0; l < 4; l++) {
+                                                                       if((elims[k] & (1 << l)) == 0) {
+                                                                               // Not yet eliminated
+                                                                               uint32_t spread = pairSpread(pairs, k, l);
+                                                                               if(kCurOverridesEligible) {
+                                                                                       // Clear previous eligible results;
+                                                                                       // this one's better
+                                                                                       lowAltQual = kq;
+                                                                                       kCurOverridesEligible = false;
+                                                                                       // Keep these parameters in
+                                                                                       // case this target turns
+                                                                                       // out to be the only
+                                                                                       // eligible target and we
+                                                                                       // can avoid having to
+                                                                                       // recalculate them
+                                                                                       eligibleNum = 0;
+                                                                                       eligibleSz = 0;
+                                                                                       eli = k;
+                                                                                       eltop = pairTop(pairs, k, l);
+                                                                                       elbot = pairBot(pairs, k, l);
+                                                                                       assert_eq(elbot-eltop, spread);
+                                                                                       elham = mmPenalty(_maqPenalty, kq);
+                                                                                       elchar = "acgt"[l];
+                                                                                       elcint = l;
+                                                                                       elignore = false;
+                                                                               }
+                                                                               eligibleNum++;
+                                                                               assert_gt(spread, 0);
+                                                                               eligibleSz += spread;
+                                                                       }
+                                                               }
+                                                       }
+                                               }
+                                       }
+                               }
+                               assert_gt(eligibleNum, 0);
+                               assert_leq(eligibleNum, altNum);
+                               assert_gt(eligibleSz, 0);
+                               assert_geq(eligibleSz, eligibleNum);
+                               assert(sanityCheckEligibility(depth, d, unrevOff, lowAltQual, eligibleSz, eligibleNum, pairs, elims));
+                               // Try again
+                       } // while(top == bot && altNum > 0)
+                       if(mustBacktrack || invalidHalfAndHalf || invalidExact) {
+                               return false;
+                       }
+                       // Mismatch with no alternatives
+                       if(top == bot && altNum == 0) {
+                               assert_eq(0, altNum);
+                               assert_eq(0, eligibleSz);
+                               assert_eq(0, eligibleNum);
+                               return false;
+                       }
+                       // Match!
+                       _chars[d] = (*_qry)[cur];
+                       d++; cur--;
+               } // while(cur < _qlen)
+               assert_eq(0xffffffff, cur);
+               assert_gt(bot, top);
+               if(_reportPartials > 0) {
+                       // Stack depth should not exceed given hamming distance
+                       assert_leq(stackDepth, _reportPartials);
+               }
+               bool ret = false;
+               if(stackDepth >= _reportPartials) {
+                       ret = reportAlignment(stackDepth, top, bot, ham);
+               }
+               return ret;
+       }
+
+       /**
+        * Pretty print a hit along with the backtracking constraints.
+        */
+       void printHit(const Hit& h) {
+               ::printHit(*_os, h, *_qry, _qlen, _unrevOff, _1revOff, _2revOff, _3revOff, _ebwt->fw());
+       }
+
+       /**
+        * Return true iff we're enforcing a half-and-half constraint
+        * (forced edits in both seed halves).
+        */
+       bool halfAndHalf() const {
+               return _halfAndHalf;
+       }
+
+protected:
+
+       /**
+        * Return true iff we're OK to continue after considering which
+        * half-seed boundary we're passing through, together with the
+        * number of mismatches accumulated so far.  Return false if we
+        * should stop because a half-and-half constraint is violated.  If
+        * we're not currently passing a half-seed boundary, just return
+        * true.
+        */
+       bool hhCheck(uint32_t stackDepth, uint32_t depth,
+                    const std::vector<uint32_t>& mms, bool empty)
+       {
+               ASSERT_ONLY(uint32_t lim = (_3revOff == _2revOff)? 2 : 3);
+               if((depth == (_5depth-1)) && !empty) {
+                       // We're crossing the boundary separating the hi-half
+                       // from the non-seed portion of the read.
+                       // We should induce a mismatch if we haven't mismatched
+                       // yet, so that we don't waste time pursuing a match
+                       // that was covered by a previous phase
+                       assert_eq(0, _reportPartials);
+                       assert_leq(stackDepth, lim-1);
+                       return stackDepth > 0;
+               } else if((depth == (_3depth-1)) && !empty) {
+                       // We're crossing the boundary separating the lo-half
+                       // from the non-seed portion of the read
+                       assert_eq(0, _reportPartials);
+                       assert_leq(stackDepth, lim);
+                       assert_gt(stackDepth, 0);
+                       // Count the mismatches in the lo and hi halves
+                       uint32_t loHalfMms = 0, hiHalfMms = 0;
+                       for(size_t i = 0; i < stackDepth; i++) {
+                               uint32_t depth = _qlen - mms[i] - 1;
+                               if     (depth < _5depth) hiHalfMms++;
+                               else if(depth < _3depth) loHalfMms++;
+                               else assert(false);
+                       }
+                       assert_leq(loHalfMms + hiHalfMms, lim);
+                       bool invalidHalfAndHalf = (loHalfMms == 0 || hiHalfMms == 0);
+                       return (stackDepth >= 2 && !invalidHalfAndHalf);
+               }
+               if(depth < _5depth-1) {
+                       assert_leq(stackDepth, lim-1);
+               }
+               else if(depth >= _5depth && depth < _3depth-1) {
+                       assert_gt(stackDepth, 0);
+                       assert_leq(stackDepth, lim);
+               }
+               return true;
+       }
+
+       /**
+        * Calculate the stratum of the partial (or full) alignment
+        * currently under consideration.  Stratum is equal to the number
+        * of mismatches in the seed portion of the alignment.
+        */
+       int calcStratum(const std::vector<uint32_t>& mms, uint32_t stackDepth) {
+               int stratum = 0;
+               for(size_t i = 0; i < stackDepth; i++) {
+                       if(mms[i] >= (_qlen - _3revOff)) {
+                               // This mismatch falls within the seed; count it
+                               // toward the stratum to report
+                               stratum++;
+                               // Don't currently support more than 3
+                               // mismatches in the seed
+                               assert_leq(stratum, 3);
+                       }
+               }
+               return stratum;
+       }
+
+       /**
+        * Mark character c at depth d as being eliminated with respect to
+        * future backtracks.
+        */
+       void eliminate(uint8_t *elims, uint32_t d, int c) {
+               if(c < 4) {
+                       elims[d] = (1 << c);
+                       assert_gt(elims[d], 0);
+                       assert_lt(elims[d], 16);
+               } else {
+                       elims[d] = 0;
+               }
+               assert_lt(elims[d], 16);
+       }
+
+       /**
+        * Return true iff the state of the backtracker as encoded by
+        * stackDepth, d and iham is compatible with the current half-and-
+        * half alignment mode.  prehits is for sanity checking when
+        * bailing.
+        */
+       bool hhCheckTop(uint32_t stackDepth,
+                       uint32_t d,
+                       uint32_t iham,
+                       const std::vector<uint32_t>& mms,
+                       uint64_t prehits = 0xffffffffffffffffllu)
+       {
+               assert_eq(0, _reportPartials);
+               // Crossing from the hi-half into the lo-half
+               if(d == _5depth) {
+                       if(_3revOff == _2revOff) {
+                               // Total of 2 mismatches allowed: 1 hi, 1 lo
+                               // The backtracking logic should have prevented us from
+                               // backtracking more than once into this region
+                               assert_leq(stackDepth, 1);
+                               // Reject if we haven't encountered mismatch by this point
+                               if(stackDepth == 0) {
+                                       return false;
+                               }
+                       } else { // if(_3revOff != _2revOff)
+                               // Total of 3 mismatches allowed: 1 hi, 1 or 2 lo
+                               // The backtracking logic should have prevented us from
+                               // backtracking more than twice into this region
+                               assert_leq(stackDepth, 2);
+                               // Reject if we haven't encountered mismatch by this point
+                               if(stackDepth < 1) {
+                                       return false;
+                               }
+                       }
+               } else if(d == _3depth) {
+                       // Crossing from lo-half to outside of the seed
+                       if(_3revOff == _2revOff) {
+                               // Total of 2 mismatches allowed: 1 hi, 1 lo
+                               // The backtracking logic should have prevented us from
+                               // backtracking more than twice within this region
+                               assert_leq(stackDepth, 2);
+                               // Must have encountered two mismatches by this point
+                               if(stackDepth < 2) {
+                                       // We're returning from the bottommost frame
+                                       // without having found any hits; let's
+                                       // sanity-check that there really aren't any
+                                       return false;
+                               }
+                       } else { // if(_3revOff != _2revOff)
+                               // Total of 3 mismatches allowed: 1 hi, 1 or 2 lo
+                               // Count the mismatches in the lo and hi halves
+                               int loHalfMms = 0, hiHalfMms = 0;
+                               assert_geq(mms.size(), stackDepth);
+                               for(size_t i = 0; i < stackDepth; i++) {
+                                       uint32_t d = _qlen - mms[i] - 1;
+                                       if     (d < _5depth) hiHalfMms++;
+                                       else if(d < _3depth) loHalfMms++;
+                                       else assert(false);
+                               }
+                               assert_leq(loHalfMms + hiHalfMms, 3);
+                               assert_gt(hiHalfMms, 0);
+                               if(loHalfMms == 0) {
+                                       // We're returning from the bottommost frame
+                                       // without having found any hits; let's
+                                       // sanity-check that there really aren't any
+                                       return false;
+                               }
+                               assert_geq(stackDepth, 2);
+                               // The backtracking logic should have prevented us from
+                               // backtracking more than twice within this region
+                               assert_leq(stackDepth, 3);
+                       }
+               } else {
+                       // We didn't just cross a boundary, so do an in-between check
+                       if(d >= _5depth) {
+                               assert_geq(stackDepth, 1);
+                       } else if(d >= _3depth) {
+                               assert_geq(stackDepth, 2);
+                       }
+               }
+               return true;
+       }
+
+       /**
+        * Return the Phred quality value for the most likely base at
+        * offset 'off' in the read.
+        */
+       inline uint8_t qualAt(size_t off) {
+               return phredCharToPhredQual((*_qual)[off]);
+       }
+
+       /// Get the top offset for character c at depth d
+       inline uint32_t pairTop(uint32_t* pairs, size_t d, size_t c) {
+               return pairs[d*8 + c + 0];
+       }
+
+       /// Get the bot offset for character c at depth d
+       inline uint32_t pairBot(uint32_t* pairs, size_t d, size_t c) {
+               return pairs[d*8 + c + 4];
+       }
+
+       /// Get the spread between the bot and top offsets for character c
+       /// at depth d
+       inline uint32_t pairSpread(uint32_t* pairs, size_t d, size_t c) {
+               assert_geq(pairBot(pairs, d, c), pairTop(pairs, d, c));
+               return pairBot(pairs, d, c) - pairTop(pairs, d, c);
+       }
+
+       /**
+        * Tally how many Ns occur in the seed region and in the ftab-
+        * jumpable region of the read.  Check whether the mismatches
+        * induced by the Ns already violates the current policy.  Return
+        * false if the policy is already violated, true otherwise.
+        */
+       bool tallyNs(int& nsInSeed, int& nsInFtab) {
+               const Ebwt<String<Dna> >& ebwt = *_ebwt;
+               int ftabChars = ebwt._eh._ftabChars;
+               // Count Ns in the seed region of the read and short-circuit if
+               // the configuration of Ns guarantees that there will be no
+               // valid alignments given the backtracking constraints.
+               for(size_t i = 0; i < _3revOff; i++) {
+                       if((int)(*_qry)[_qlen-i-1] == 4) {
+                               nsInSeed++;
+                               if(nsInSeed == 1) {
+                                       if(i < _unrevOff) {
+                                               return false; // Exceeded mm budget on Ns alone
+                                       }
+                               } else if(nsInSeed == 2) {
+                                       if(i < _1revOff) {
+                                               return false; // Exceeded mm budget on Ns alone
+                                       }
+                               } else if(nsInSeed == 3) {
+                                       if(i < _2revOff) {
+                                               return false; // Exceeded mm budget on Ns alone
+                                       }
+                               } else {
+                                       assert_gt(nsInSeed, 3);
+                                       return false;     // Exceeded mm budget on Ns alone
+                               }
+                       }
+               }
+               // Calculate the number of Ns there are in the region that
+               // would get jumped over if the ftab were used.
+               for(size_t i = 0; i < (size_t)ftabChars && i < _qlen; i++) {
+                       if((int)(*_qry)[_qlen-i-1] == 4) nsInFtab++;
+               }
+               return true;
+       }
+
+       /**
+        * Calculate the offset into the ftab for the rightmost 'ftabChars'
+        * characters of the current query. Rightmost char gets least
+        * significant bit-pair.
+        */
+       uint32_t calcFtabOff() {
+               const Ebwt<String<Dna> >& ebwt = *_ebwt;
+               int ftabChars = ebwt._eh._ftabChars;
+               uint32_t ftabOff = (*_qry)[_qlen - ftabChars];
+               assert_lt(ftabOff, 4);
+               assert_lt(ftabOff, ebwt._eh._ftabLen-1);
+               for(int i = ftabChars - 1; i > 0; i--) {
+                       ftabOff <<= 2;
+                       assert_lt((uint32_t)(*_qry)[_qlen-i], 4);
+                       ftabOff |= (uint32_t)(*_qry)[_qlen-i];
+                       assert_lt(ftabOff, ebwt._eh._ftabLen-1);
+               }
+               assert_lt(ftabOff, ebwt._eh._ftabLen-1);
+               return ftabOff;
+       }
+
+       /**
+        * Mutate the _qry string according to the contents of the _muts
+        * array, which represents a partial alignment.
+        */
+       void applyPartialMutations() {
+               if(_muts == NULL) {
+                       // No mutations to apply
+                       return;
+               }
+               for(size_t i = 0; i < length(*_muts); i++) {
+                       const QueryMutation& m = (*_muts)[i];
+                       assert_lt(m.pos, _qlen);
+                       assert_leq(m.oldBase, 4);
+                       assert_lt(m.newBase, 4);
+                       assert_neq(m.oldBase, m.newBase);
+                       assert_eq((uint32_t)((*_qry)[m.pos]), (uint32_t)m.oldBase);
+                       (*_qry)[m.pos] = (Dna5)(int)m.newBase; // apply it
+               }
+       }
+
+       /**
+        * Take partial-alignment mutations present in the _muts list and
+        * place them on the _mm list so that they become part of the
+        * reported alignment.
+        */
+       void promotePartialMutations(int stackDepth) {
+               if(_muts == NULL) {
+                       // No mutations to undo
+                       return;
+               }
+               size_t numMuts = length(*_muts);
+               assert_leq(numMuts, _qlen);
+               for(size_t i = 0; i < numMuts; i++) {
+                       // Entries in _mms[] are in terms of offset into
+                       // _qry - not in terms of offset from 3' or 5' end
+                       assert_lt(stackDepth + i, _qlen);
+                       // All partial-alignment mutations should fall
+                       // within bounds
+                       assert_lt((*_muts)[i].pos, _qlen);
+                       // All partial-alignment mutations should fall
+                       // within unrevisitable region
+                       assert_lt(_qlen - (*_muts)[i].pos - 1, _unrevOff);
+#ifndef NDEBUG
+                       // Shouldn't be any overlap between mismatched positions
+                       // and positions that mismatched in the partial alignment.
+                       for(size_t j = 0; j < stackDepth + i; j++) {
+                               assert_neq(_mms[j], (uint32_t)(*_muts)[i].pos);
+                       }
+#endif
+                       if(_mms.size() <= stackDepth + i) {
+                               assert_eq(_mms.size(), stackDepth + i);
+                               _mms.push_back((*_muts)[i].pos);
+                       } else {
+                               _mms[stackDepth + i] = (*_muts)[i].pos;
+                       }
+                       if(_refcs.size() <= stackDepth + i) {
+                               assert_eq(_refcs.size(), stackDepth + i);
+                               _refcs.push_back("ACGT"[(*_muts)[i].newBase]);
+                       } else {
+                               _refcs[stackDepth + i] = "ACGT"[(*_muts)[i].newBase];
+                       }
+               }
+       }
+
+       /**
+        * Undo mutations to the _qry string, returning it to the original
+        * read.
+        */
+       void undoPartialMutations() {
+               if(_muts == NULL) {
+                       // No mutations to undo
+                       return;
+               }
+               for(size_t i = 0; i < length(*_muts); i++) {
+                       const QueryMutation& m = (*_muts)[i];
+                       assert_lt(m.pos, _qlen);
+                       assert_leq(m.oldBase, 4);
+                       assert_lt(m.newBase, 4);
+                       assert_neq(m.oldBase, m.newBase);
+                       assert_eq((uint32_t)((*_qry)[m.pos]), (uint32_t)m.newBase);
+                       (*_qry)[m.pos] = (Dna5)(int)m.oldBase; // undo it
+               }
+       }
+
+       /**
+        * Report a range of alignments with # mismatches = stackDepth and
+        * with the mutations (also mismatches) contained in _muts.  The
+        * range is delimited by top and bot.  Returns true iff one or more
+        * full alignments were successfully reported and the caller can
+        * stop searching.
+        */
+       bool reportAlignment(uint32_t stackDepth, uint32_t top,
+                            uint32_t bot, uint16_t cost)
+       {
+#ifndef NDEBUG
+               // No two elements of _mms[] should be the same
+               assert_geq(_mms.size(), stackDepth);
+               for(size_t i = 0; i < stackDepth; i++) {
+                       for(size_t j = i+1; j < stackDepth; j++) {
+                               assert_neq(_mms[j], _mms[i]);
+                       }
+                       // All elements of _mms[] should fall within bounds
+                       assert_lt(_mms[i], _qlen);
+               }
+#endif
+               if(_reportPartials) {
+                       assert_leq(stackDepth, _reportPartials);
+                       if(stackDepth > 0) {
+                               // Report this partial alignment.  A partial alignment
+                               // is defined purely by its mismatches; top and bot are
+                               // ignored.
+                               reportPartial(stackDepth);
+                       }
+                       return false; // keep going - we want to find all partial alignments
+               }
+               int stratum = 0;
+               if(stackDepth > 0) {
+                       stratum = calcStratum(_mms, stackDepth);
+               }
+               assert_lt(stratum, 4);
+               assert_geq(stratum, 0);
+               bool hit;
+               // If _muts != NULL then this alignment extends a partial
+               // alignment, so we have to account for the differences present
+               // in the partial.
+               if(_muts != NULL) {
+                       // Undo partial-alignment mutations to get original _qry
+                       ASSERT_ONLY(String<Dna5> tmp = (*_qry));
+                       undoPartialMutations();
+                       assert_neq(tmp, (*_qry));
+                       // Add the partial-alignment mutations to the _mms[] array
+                       promotePartialMutations(stackDepth);
+                       // All muts are in the seed, so they count toward the stratum
+                       size_t numMuts = length(*_muts);
+                       stratum += numMuts;
+                       cost |= (stratum << 14);
+                       assert_geq(cost, (uint32_t)(stratum << 14));
+                       // Report the range of full alignments
+                       hit = reportFullAlignment(stackDepth + numMuts, top, bot, stratum, cost);
+                       // Re-apply partial-alignment mutations
+                       applyPartialMutations();
+                       assert_eq(tmp, (*_qry));
+               } else {
+                       // Report the range of full alignments
+                       cost |= (stratum << 14);
+                       assert_geq(cost, (uint32_t)(stratum << 14));
+                       hit = reportFullAlignment(stackDepth, top, bot, stratum, cost);
+               }
+               return hit;
+       }
+
+       /**
+        * Report a range of full alignments with # mismatches = stackDepth.
+        * The range is delimited by top and bot.  Returns true if one or
+        * more alignments were successfully reported.  Returns true iff
+        * one or more full alignments were successfully reported and the
+        * caller can stop searching.
+        */
+       bool reportFullAlignment(uint32_t stackDepth,
+                                uint32_t top,
+                                uint32_t bot,
+                                int stratum,
+                                uint16_t cost)
+       {
+               assert_gt(bot, top);
+               if(stackDepth == 0 && !_reportExacts) {
+                       // We are not reporting exact hits (usually because we've
+                       // already reported them as part of a previous invocation
+                       // of the backtracker)
+                       return false;
+               }
+               assert(!_reportRanges);
+               uint32_t spread = bot - top;
+               // Pick a random spot in the range to begin report
+               uint32_t r = top + (_rand.nextU32() % spread);
+               for(uint32_t i = 0; i < spread; i++) {
+                       uint32_t ri = r + i;
+                       if(ri >= bot) ri -= spread;
+                       // reportChaseOne takes the _mms[] list in terms of
+                       // their indices into the query string; not in terms
+                       // of their offset from the 3' or 5' end.
+                       assert_geq(cost, (uint32_t)(stratum << 14));
+                       if(_ebwt->reportChaseOne((*_qry), _qual, _name,
+                                                _color, colorExEnds, snpPhred, _refs, _mms,
+                                                _refcs, stackDepth, ri, top, bot,
+                                                _qlen, stratum, cost, _patid, _seed,
+                                                _params))
+                       {
+                               // Return value of true means that we can stop
+                               return true;
+                       }
+                       // Return value of false means that we should continue
+                       // searching.  This could happen if we the call to
+                       // reportChaseOne() reported a hit, but the user asked for
+                       // multiple hits and we haven't reached the ceiling yet.
+                       // This might also happen if the call to reportChaseOne()
+                       // didn't report a hit because the alignment was spurious
+                       // (i.e. overlapped some padding).
+               }
+               // All range elements were examined and we should keep going
+               return false;
+       }
+
+       /**
+        * Report the partial alignment represented by the current stack
+        * state (_mms[] and stackDepth).
+        */
+       bool reportPartial(uint32_t stackDepth) {
+               // Sanity-check stack depth
+               if(_3revOff != _2revOff) {
+                       assert_leq(stackDepth, 3);
+               } else if(_2revOff != _1revOff) {
+                       assert_leq(stackDepth, 2);
+               } else {
+                       assert_leq(stackDepth, 1);
+               }
+
+               // Possibly report
+               assert_gt(_reportPartials, 0);
+               assert(_partials != NULL);
+               ASSERT_ONLY(uint32_t qualTot = 0);
+               PartialAlignment al;
+               al.u64.u64 = 0xffffffffffffffffllu;
+               assert_leq(stackDepth, 3);
+               assert_gt(stackDepth, 0);
+
+               // First mismatch
+               assert_gt(_mms.size(), 0);
+               assert_lt(_mms[0], _qlen);
+               // First, append the mismatch position in the read
+               al.entry.pos0 = (uint16_t)_mms[0]; // pos
+               ASSERT_ONLY(uint8_t qual0 = mmPenalty(_maqPenalty, phredCharToPhredQual((*_qual)[_mms[0]])));
+               ASSERT_ONLY(qualTot += qual0);
+               uint32_t ci = _qlen - _mms[0] - 1;
+               // _chars[] is index in terms of RHS-relative depth
+               int c = (int)(Dna5)_chars[ci];
+               assert_lt(c, 4);
+               assert_neq(c, (int)(*_qry)[_mms[0]]);
+               // Second, append the substituted character for the position
+               al.entry.char0 = c;
+
+               if(stackDepth > 1) {
+                       assert_gt(_mms.size(), 1);
+                       // Second mismatch
+                       assert_lt(_mms[1], _qlen);
+                       // First, append the mismatch position in the read
+                       al.entry.pos1 = (uint16_t)_mms[1]; // pos
+                       ASSERT_ONLY(uint8_t qual1 = mmPenalty(_maqPenalty, phredCharToPhredQual((*_qual)[_mms[1]])));
+                       ASSERT_ONLY(qualTot += qual1);
+                       ci = _qlen - _mms[1] - 1;
+                       // _chars[] is index in terms of RHS-relative depth
+                       c = (int)(Dna5)_chars[ci];
+                       assert_lt(c, 4);
+                       assert_neq(c, (int)(*_qry)[_mms[1]]);
+                       // Second, append the substituted character for the position
+                       al.entry.char1 = c;
+                       if(stackDepth > 2) {
+                               assert_gt(_mms.size(), 2);
+                               // Second mismatch
+                               assert_lt(_mms[2], _qlen);
+                               // First, append the mismatch position in the read
+                               al.entry.pos2 = (uint16_t)_mms[2]; // pos
+                               ASSERT_ONLY(uint8_t qual2 = mmPenalty(_maqPenalty, phredCharToPhredQual((*_qual)[_mms[2]])));
+                               ASSERT_ONLY(qualTot += qual2);
+                               ci = _qlen - _mms[2] - 1;
+                               // _chars[] is index in terms of RHS-relative depth
+                               c = (int)(Dna5)_chars[ci];
+                               assert_lt(c, 4);
+                               assert_neq(c, (int)(*_qry)[_mms[2]]);
+                               // Second, append the substituted character for the position
+                               al.entry.char2 = c;
+                       } else {
+                               // Signal that the '2' slot is empty
+                               al.entry.pos2 = 0xffff;
+                       }
+               } else {
+                       // Signal that the '1' slot is empty
+                       al.entry.pos1 = 0xffff;
+               }
+
+               assert_leq(qualTot, _qualThresh);
+               assert(validPartialAlignment(al));
+#ifndef NDEBUG
+               assert(al.repOk(_qualThresh, _qlen, (*_qual), _maqPenalty));
+               for(size_t i = 0; i < _partialsBuf.size(); i++) {
+                       assert(validPartialAlignment(_partialsBuf[i]));
+                       assert(!samePartialAlignment(_partialsBuf[i], al));
+               }
+#endif
+               _partialsBuf.push_back(al);
+               return true;
+       }
+
+       /**
+        * Check that the given eligibility parameters (lowAltQual,
+        * eligibleSz, eligibleNum) are correct, given the appropriate
+        * inputs (pairs, elims, depth, d, unrevOff)
+        */
+       bool sanityCheckEligibility(uint32_t  depth,
+                                   uint32_t  d,
+                                   uint32_t  unrevOff,
+                                   uint32_t  lowAltQual,
+                                   uint32_t  eligibleSz,
+                                   uint32_t  eligibleNum,
+                                   uint32_t* pairs,
+                                   uint8_t*  elims)
+       {
+               // Sanity check that the lay of the land is as we
+               // expect given eligibleNum and eligibleSz
+               size_t i = max(depth, unrevOff), j = 0;
+               uint32_t cumSz = 0;
+               uint32_t eligiblesVisited = 0;
+               for(; i <= d; i++) {
+                       uint32_t icur = _qlen - i - 1; // current offset into _qry
+                       uint8_t qi = qualAt(icur);
+                       assert_lt(elims[i], 16);
+                       if((qi == lowAltQual || !_considerQuals) && elims[i] != 15) {
+                               // This is an eligible position with at least
+                               // one remaining backtrack target
+                               for(j = 0; j < 4; j++) {
+                                       if((elims[i] & (1 << j)) == 0) {
+                                               // This pair has not been eliminated
+                                               assert_gt(pairBot(pairs, i, j), pairTop(pairs, i, j));
+                                               cumSz += pairSpread(pairs, i, j);
+                                               eligiblesVisited++;
+                                       }
+                               }
+                       }
+               }
+               assert_eq(cumSz, eligibleSz);
+               assert_eq(eligiblesVisited, eligibleNum);
+               return true;
+       }
+
+       const BitPairReference* _refs; // reference sequences (or NULL if not colorspace)
+       String<Dna5>*       _qry;    // query (read) sequence
+       size_t              _qlen;   // length of _qry
+       String<char>*       _qual;   // quality values for _qry
+       String<char>*       _name;   // name of _qry
+       bool                _color;  // whether read is colorspace
+       const Ebwt<String<Dna> >* _ebwt;   // Ebwt to search in
+       const EbwtSearchParams<String<Dna> >& _params;   // Ebwt to search in
+       uint32_t            _unrevOff; // unrevisitable chunk
+       uint32_t            _1revOff;  // 1-revisitable chunk
+       uint32_t            _2revOff;  // 2-revisitable chunk
+       uint32_t            _3revOff;  // 3-revisitable chunk
+       /// Whether to round qualities off Maq-style when calculating penalties
+       bool                _maqPenalty;
+       uint32_t            _qualThresh; // only accept hits with weighted
+                                    // hamming distance <= _qualThresh
+       uint32_t           *_pairs;  // ranges, leveled in parallel
+                                    // with decision stack
+       uint8_t            *_elims;  // which ranges have been
+                                    // eliminated, leveled in parallel
+                                    // with decision stack
+       std::vector<uint32_t> _mms;  // array for holding mismatches
+       std::vector<uint8_t> _refcs;  // array for holding mismatches
+       // Entries in _mms[] are in terms of offset into
+       // _qry - not in terms of offset from 3' or 5' end
+       char               *_chars;  // characters selected so far
+       // If > 0, report partial alignments up to this many mismatches
+       uint32_t            _reportPartials;
+       /// Do not report alignments with stratum < this limit
+       bool                _reportExacts;
+       /// When reporting a full alignment, report top/bot; don't chase
+       /// any of the results
+       bool                _reportRanges;
+       /// Append partial alignments here
+       PartialAlignmentManager *_partials;
+       /// Set of mutations that apply for a partial alignment
+       String<QueryMutation> *_muts;
+       /// Reference texts (NULL if they are unavailable
+       vector<String<Dna5> >* _os;
+       /// Whether to use the _os array together with a naive matching
+       /// algorithm to double-check reported alignments (or the lack
+       /// thereof)
+       bool                _sanity;
+       /// Whether to consider quality values when deciding where to
+       /// backtrack
+       bool                _considerQuals;
+       bool                _halfAndHalf;
+       /// Depth of 5'-seed-half border
+       uint32_t            _5depth;
+       /// Depth of 3'-seed-half border
+       uint32_t            _3depth;
+       /// Default quals
+       String<char>        _qualDefault;
+       /// Number of backtracks in last call to backtrack()
+       uint32_t            _numBts;
+       /// Number of backtracks since last reset
+       uint32_t            _totNumBts;
+       /// Max # of backtracks to allow before giving up
+       uint32_t            _maxBts;
+       /// Whether we precalcualted the Ebwt locus information for the
+       /// next top/bot pair
+       bool    _precalcedSideLocus;
+       /// Precalculated top locus
+       SideLocus           _preLtop;
+       /// Precalculated bot locus
+       SideLocus           _preLbot;
+       /// Flag to record whether a 'false' return from backtracker is due
+       /// to having exceeded one or more backrtacking limits
+       bool                _bailedOnBacktracks;
+       /// Source of pseudo-random numbers
+       RandomSource        _rand;
+       /// Be talkative
+       bool                _verbose;
+       uint64_t            _ihits;
+       // Holding area for partial alignments
+       vector<PartialAlignment> _partialsBuf;
+       // Current range to expose to consumers
+       Range               _curRange;
+       uint32_t            _patid;
+       uint32_t            _seed;
+#ifndef NDEBUG
+       std::set<int64_t>   allTops_;
+#endif
+};
+
+/**
+ * Class that coordinates quality- and quantity-aware backtracking over
+ * some range of a read sequence.
+ *
+ * The creator can configure the BacktrackManager to treat different
+ * stretches of the read differently.
+ */
+class EbwtRangeSource : public RangeSource {
+       typedef Ebwt<String<Dna> > TEbwt;
+       typedef std::pair<int, int> TIntPair;
+public:
+       EbwtRangeSource(
+                       const TEbwt* ebwt,
+                       bool         fw,
+                       uint32_t     qualLim,
+                       bool         reportExacts,
+                       bool         verbose,
+                       bool         quiet,
+                       int          halfAndHalf,
+                       bool         partial,
+                       bool         maqPenalty,
+                       bool         qualOrder,
+                       AlignerMetrics *metrics = NULL) :
+               RangeSource(),
+               qry_(NULL),
+               qlen_(0),
+               qual_(NULL),
+               name_(NULL),
+               altQry_(NULL),
+               altQual_(NULL),
+               alts_(0),
+               fuzzy_(false),
+               ebwt_(ebwt),
+               fw_(fw),
+               offRev0_(0),
+               offRev1_(0),
+               offRev2_(0),
+               offRev3_(0),
+               maqPenalty_(maqPenalty),
+               qualOrder_(qualOrder),
+               qualLim_(qualLim),
+               reportExacts_(reportExacts),
+               halfAndHalf_(halfAndHalf),
+               partial_(partial),
+               depth5_(0),
+               depth3_(0),
+               verbose_(verbose),
+               quiet_(quiet),
+               skippingThisRead_(false),
+               metrics_(metrics)
+       { curEbwt_ = ebwt_; }
+
+       /**
+        * Set a new query read.
+        */
+       virtual void setQuery(ReadBuf& r, Range *seedRange) {
+               const bool ebwtFw = ebwt_->fw();
+               if(ebwtFw) {
+                       qry_  = fw_ ? &r.patFw : &r.patRc;
+                       qual_ = fw_ ? &r.qual  : &r.qualRev;
+                       altQry_  = (String<Dna5>*)(fw_ ? r.altPatFw : r.altPatRc);
+                       altQual_ = (String<char>*)(fw_ ? r.altQual  : r.altQualRev);
+               } else {
+                       qry_  = fw_ ? &r.patFwRev : &r.patRcRev;
+                       qual_ = fw_ ? &r.qualRev  : &r.qual;
+                       altQry_  = (String<Dna5>*)(fw_ ? r.altPatFwRev : r.altPatRcRev);
+                       altQual_ = (String<char>*)(fw_ ? r.altQualRev  : r.altQual);
+               }
+               alts_ = r.alts;
+               name_ = &r.name;
+               fuzzy_ = r.fuzzy;
+               if(seedRange != NULL) seedRange_ = *seedRange;
+               else                  seedRange_.invalidate();
+               qlen_ = length(*qry_);
+               skippingThisRead_ = false;
+               // Apply edits from the partial alignment to the query pattern
+               if(seedRange_.valid()) {
+                       qryBuf_ = *qry_;
+                       const size_t srSz = seedRange_.mms.size();
+                       assert_gt(srSz, 0);
+                       assert_eq(srSz, seedRange_.refcs.size());
+                       for(size_t i = 0; i < srSz; i++) {
+                               assert_lt(seedRange_.mms[i], qlen_);
+                               char rc = (char)seedRange_.refcs[i];
+                               assert(rc == 'A' || rc == 'C' || rc == 'G' || rc == 'T');
+                               ASSERT_ONLY(char oc = (char)qryBuf_[qlen_ - seedRange_.mms[i] - 1]);
+                               assert_neq(rc, oc);
+                               qryBuf_[qlen_ - seedRange_.mms[i] - 1] = (Dna5)rc;
+                               assert_neq((Dna5)rc, (*qry_)[qlen_ - seedRange_.mms[i] - 1]);
+                       }
+                       qry_ = &qryBuf_;
+               }
+               // Make sure every qual is a valid qual ASCII character (>= 33)
+               for(size_t i = 0; i < length(*qual_); i++) {
+                       assert_geq((*qual_)[i], 33);
+                       for(int j = 0; j < alts_; j++) {
+                               assert_geq(altQual_[j][i], 33);
+                       }
+               }
+               assert_geq(length(*qual_), qlen_);
+               this->done = false;
+               this->foundRange = false;
+               color_ = r.color;
+               rand_.init(r.seed);
+       }
+
+       /**
+        * Set backtracking constraints.
+        */
+       void setOffs(uint32_t depth5,   // depth of far edge of hi-half
+                    uint32_t depth3,   // depth of far edge of lo-half
+                    uint32_t unrevOff, // depth above which we cannot backtrack
+                    uint32_t revOff1,  // depth above which we may backtrack just once
+                    uint32_t revOff2,  // depth above which we may backtrack just twice
+                    uint32_t revOff3)  // depth above which we may backtrack just three times
+       {
+               depth5_   = depth5;
+               depth3_   = depth3;
+               assert_geq(depth3_, depth5_);
+               offRev0_ = unrevOff;
+               offRev1_  = revOff1;
+               offRev2_  = revOff2;
+               offRev3_  = revOff3;
+       }
+
+       /**
+        * Return true iff this RangeSource is allowed to report exact
+        * alignments (exact = no edits).
+        */
+       bool reportExacts() const {
+               return reportExacts_;
+       }
+
+       /// Return the current range
+       virtual Range& range() {
+               return curRange_;
+       }
+
+       /**
+        * Set qlen_ according to parameter, except don't let it fall below
+        * the length of the query.
+        */
+       void setQlen(uint32_t qlen) {
+               assert(qry_ != NULL);
+               qlen_ = min<uint32_t>(length(*qry_), qlen);
+       }
+
+       /**
+        * Initiate continuations so that the next call to advance() begins
+        * a new search.  Note that contMan is empty upon return if there
+        * are no valid continuations to begin with.  Also note that
+        * calling initConts() may result in finding a range (i.e., if we
+        * immediately jump to a valid range using the ftab).
+        */
+       virtual void
+       initBranch(PathManager& pm) {
+               assert(curEbwt_ != NULL);
+               assert_gt(length(*qry_), 0);
+               assert_leq(qlen_, length(*qry_));
+               assert_geq(length(*qual_), length(*qry_));
+               const Ebwt<String<Dna> >& ebwt = *ebwt_;
+               int ftabChars = ebwt._eh._ftabChars;
+               this->foundRange = false;
+               int nsInSeed = 0; int nsInFtab = 0;
+               ASSERT_ONLY(allTops_.clear());
+               if(skippingThisRead_) {
+                       this->done = true;
+                       return;
+               }
+               if(qlen_ < 4) {
+                       uint32_t maxmms = 0;
+                       if(offRev0_ != offRev1_) maxmms = 1;
+                       if(offRev1_ != offRev2_) maxmms = 2;
+                       if(offRev2_ != offRev3_) maxmms = 3;
+                       if(qlen_ <= maxmms) {
+                               if(!quiet_) {
+                                       ThreadSafe _ts(&gLock);
+                                       cerr << "Warning: Read (" << (*name_) << ") is less than " << (maxmms+1) << " characters long; skipping..." << endl;
+                               }
+                               this->done = true;
+                               skippingThisRead_ = true;
+                               return;
+                       }
+               }
+               if(!tallyNs(nsInSeed, nsInFtab)) {
+                       // No alignments are possible because of the distribution
+                       // of Ns in the read in combination with the backtracking
+                       // constraints.
+                       return;
+               }
+               // icost = total cost penalty (major bits = stratum, minor bits =
+               // quality penalty) incurred so far by partial alignment
+               uint16_t icost = (seedRange_.valid()) ? seedRange_.cost : 0;
+               // iham = total quality penalty incurred so far by partial alignment
+               uint16_t iham = (seedRange_.valid() && qualOrder_) ? (seedRange_.cost & ~0xc000): 0;
+               assert_leq(iham, qualLim_);
+               // m = depth beyond which ftab must not extend or else we might
+               // miss some legitimate paths
+               uint32_t m = min<uint32_t>(offRev0_, qlen_);
+               // Let skipInvalidExact = true if using the ftab would be a
+               // waste because it would jump directly to an alignment we
+               // couldn't use.
+               bool ftabSkipsToEnd = (qlen_ == (uint32_t)ftabChars);
+               bool skipInvalidExact = (!reportExacts_ && ftabSkipsToEnd);
+
+               // If it's OK to use the ftab...
+               if(nsInFtab == 0 && m >= (uint32_t)ftabChars && !skipInvalidExact) {
+                       // Use the ftab to jump 'ftabChars' chars into the read
+                       // from the right
+                       uint32_t ftabOff = calcFtabOff();
+                       uint32_t top = ebwt.ftabHi(ftabOff);
+                       uint32_t bot = ebwt.ftabLo(ftabOff+1);
+                       if(qlen_ == (uint32_t)ftabChars && bot > top) {
+                               // We found a range with 0 mismatches immediately.  Set
+                               // fields to indicate we found a range.
+                               assert(reportExacts_);
+                               curRange_.top     = top;
+                               curRange_.bot     = bot;
+                               curRange_.stratum = (icost >> 14);
+                               curRange_.cost    = icost;
+                               curRange_.numMms  = 0;
+                               curRange_.ebwt    = ebwt_;
+                               curRange_.fw      = fw_;
+                               curRange_.mms.clear(); // no mismatches
+                               curRange_.refcs.clear(); // no mismatches
+                               // Lump in the edits from the partial alignment
+                               addPartialEdits();
+                               assert(curRange_.repOk());
+                               // no need to do anything with curRange_.refcs
+                               this->foundRange  = true;
+                               //this->done = true;
+                               return;
+                       } else if (bot > top) {
+                               // We have a range to extend
+                               assert_leq(top, ebwt._eh._len);
+                               assert_leq(bot, ebwt._eh._len);
+                               Branch *b = pm.bpool.alloc();
+                               if(b == NULL) {
+                                       assert(pm.empty());
+                                       return;
+                               }
+                               if(!b->init(
+                                       pm.rpool, pm.epool, pm.bpool.lastId(), qlen_,
+                                       offRev0_, offRev1_, offRev2_, offRev3_,
+                                       0, ftabChars, icost, iham, top, bot,
+                                       ebwt._eh, ebwt._ebwt))
+                               {
+                                       // Negative result from b->init() indicates we ran
+                                       // out of best-first chunk memory
+                                       assert(pm.empty());
+                                       return;
+                               }
+                               assert(!b->curtailed_);
+                               assert(!b->exhausted_);
+                               assert_gt(b->depth3_, 0);
+                               pm.push(b); // insert into priority queue
+                               assert(!pm.empty());
+                       } else {
+                               // The arrows are already closed within the
+                               // unrevisitable region; give up
+                       }
+               } else {
+                       // We can't use the ftab, so we start from the rightmost
+                       // position and use _fchr
+                       Branch *b = pm.bpool.alloc();
+                       if(b == NULL) {
+                               assert(pm.empty());
+                               return;
+                       }
+                       if(!b->init(pm.rpool, pm.epool, pm.bpool.lastId(), qlen_,
+                               offRev0_, offRev1_, offRev2_, offRev3_,
+                               0, 0, icost, iham, 0, 0, ebwt._eh, ebwt._ebwt))
+                       {
+                               // Negative result from b->init() indicates we ran
+                               // out of best-first chunk memory
+                               assert(pm.empty());
+                               return;
+                       }
+                       assert(!b->curtailed_);
+                       assert(!b->exhausted_);
+                       assert_gt(b->depth3_, 0);
+                       pm.push(b); // insert into priority queue
+                       assert(!pm.empty());
+               }
+               return;
+       }
+
+       /**
+        * Advance along the lowest-cost branch managed by the given
+        * PathManager.  Keep advancing until condition 'until' is
+        * satisfied.  Typically, the stopping condition 'until' is
+        * set to stop whenever pm's minCost changes.
+        */
+       virtual void
+       advanceBranch(int until, uint16_t minCost, PathManager& pm) {
+               assert(curEbwt_ != NULL);
+
+               // Let this->foundRange = false; we'll set it to true iff this call
+               // to advance yielded a new valid-alignment range.
+               this->foundRange = false;
+
+               // Can't have already exceeded weighted hamming distance threshold
+               assert_gt(length(*qry_), 0);
+               assert_leq(qlen_, length(*qry_));
+               assert_geq(length(*qual_), length(*qry_));
+               assert(!pm.empty());
+
+               do {
+                       assert(pm.repOk());
+                       // Get the highest-priority branch according to the priority
+                       // queue in 'pm'
+                       Branch* br = pm.front();
+                       // Shouldn't be curtailed or exhausted
+                       assert(!br->exhausted_);
+                       assert(!br->curtailed_);
+                       assert_gt(br->depth3_, 0);
+                       assert_leq(br->ham_, qualLim_);
+                       if(verbose_) {
+                               br->print((*qry_), (*qual_), minCost, cout, (halfAndHalf_>0), partial_, fw_, ebwt_->fw());
+                               if(!br->edits_.empty()) {
+                                       cout << "Edit: ";
+                                       for(size_t i = 0; i < br->edits_.size(); i++) {
+                                               Edit e = br->edits_.get(i);
+                                               cout << (curEbwt_->fw() ? (qlen_ - e.pos - 1) : e.pos)
+                                                        << (char)e.chr;
+                                               if(i < br->edits_.size()-1) cout << " ";
+                                       }
+                                       cout << endl;
+                               }
+
+                       }
+                       assert(br->repOk(qlen_));
+
+                       ASSERT_ONLY(int stratum = br->cost_ >> 14); // shift the stratum over
+                       assert_lt(stratum, 4);
+                       // Not necessarily true with rounding
+                       uint32_t depth = br->tipDepth();
+
+                       const Ebwt<String<Dna> >& ebwt = *ebwt_;
+
+                       if(halfAndHalf_ > 0) assert_gt(depth3_, depth5_);
+
+                       bool reportedPartial = false;
+                       bool invalidExact = false;
+                       bool empty = false;
+                       bool hit = false;
+                       uint16_t cost = br->cost_;
+                       uint32_t cur = 0;
+                       uint32_t nedits = 0;
+
+                       if(halfAndHalf_ && !hhCheckTop(br, depth, 0)) {
+                               // Stop extending this branch because it violates a half-
+                               // and-half constraint
+                               if(metrics_ != NULL) metrics_->curBacktracks_++;
+                               pm.curtail(br, qlen_, depth3_, qualOrder_);
+                               goto bail;
+                       }
+
+                       cur = qlen_ - depth - 1; // current offset into qry_
+                       if(depth < qlen_) {
+                               // Determine whether ranges at this location are candidates
+                               // for backtracking
+                               int c = (int)(*qry_)[cur]; // get char at this position
+                               int nextc = -1;
+                               if(cur < qlen_-1) nextc = (int)(*qry_)[cur+1];
+                               assert_leq(c, 4);
+                               // If any uncalled base's penalty is still under
+                               // the ceiling, then this position is an alternative
+                               uint8_t q[4] = {'!', '!', '!', '!'};
+                               uint8_t bestq;
+                               // get unrounded penalties at this position
+                               if(fuzzy_) {
+                                       bestq = penaltiesAt(cur, q, alts_, *qual_, altQry_, altQual_);
+                               } else {
+                                       bestq = q[0] = q[1] = q[2] = q[3] =
+                                               mmPenalty(maqPenalty_, qualAt(cur));
+                               }
+
+                               // The current query position is a legit alternative if it a) is
+                               // not in the unrevisitable region, and b) its selection would
+                               // not necessarily cause the quality ceiling (if one exists) to
+                               // be exceeded
+                               bool curIsAlternative = (depth >= br->depth0_) &&
+                                                       (br->ham_ + bestq <= qualLim_);
+                               ASSERT_ONLY(uint32_t obot = br->bot_);
+                               uint32_t otop = br->top_;
+
+                               // If c is 'N', then it's a mismatch
+                               if(c == 4 && depth > 0) {
+                                       // Force the 'else if(curIsAlternative)' or 'else'
+                                       // branches below
+                                       br->top_ = br->bot_ = 1;
+                               } else if(c == 4) {
+                                       // We'll take the 'if(br->top == 0 && br->bot == 0)'
+                                       // branch below
+                                       assert_eq(0, br->top_);
+                                       assert_eq(0, br->bot_);
+                               }
+
+                               // Get the range state for the current position
+                               RangeState *rs = br->rangeState();
+                               assert(rs != NULL);
+                               // Calculate the ranges for this position
+                               if(br->top_ == 0 && br->bot_ == 0) {
+                                       // Calculate first quartet of ranges using the _fchr[]
+                                       // array
+                                                                 rs->tops[0] = ebwt._fchr[0];
+                                       rs->bots[0] = rs->tops[1] = ebwt._fchr[1];
+                                       rs->bots[1] = rs->tops[2] = ebwt._fchr[2];
+                                       rs->bots[2] = rs->tops[3] = ebwt._fchr[3];
+                                       rs->bots[3]               = ebwt._fchr[4];
+                                       ASSERT_ONLY(int r =)
+                                       br->installRanges(c, nextc, fuzzy_, qualLim_ - br->ham_, q);
+                                       assert(r < 4 || c == 4);
+                                       // Update top and bot
+                                       if(c < 4) {
+                                               br->top_ = rs->tops[c];
+                                               br->bot_ = rs->bots[c];
+                                       }
+                               } else if(curIsAlternative && (br->bot_ > br->top_ || c == 4)) {
+                                       // Calculate next quartet of ranges.  We hope that the
+                                       // appropriate cache lines are prefetched.
+                                       assert(br->ltop_.valid());
+                                                                 rs->tops[0] =
+                                       rs->bots[0] = rs->tops[1] =
+                                       rs->bots[1] = rs->tops[2] =
+                                       rs->bots[2] = rs->tops[3] =
+                                       rs->bots[3]               = 0;
+                                       if(br->lbot_.valid()) {
+                                               if(metrics_ != NULL) metrics_->curBwtOps_++;
+                                               ebwt.mapLFEx(br->ltop_, br->lbot_, rs->tops, rs->bots);
+                                       } else {
+#ifndef NDEBUG
+                                               uint32_t tmptops[] = {0, 0, 0, 0};
+                                               uint32_t tmpbots[] = {0, 0, 0, 0};
+                                               SideLocus ltop, lbot;
+                                               ltop.initFromRow(otop, ebwt_->_eh, ebwt_->_ebwt);
+                                               lbot.initFromRow(obot, ebwt_->_eh, ebwt_->_ebwt);
+                                               ebwt.mapLFEx(ltop, lbot, tmptops, tmpbots);
+#endif
+                                               if(metrics_ != NULL) metrics_->curBwtOps_++;
+                                               int cc = ebwt.mapLF1(otop, br->ltop_);
+                                               br->top_ = otop;
+                                               assert(cc == -1 || (cc >= 0 && cc < 4));
+                                               if(cc >= 0) {
+                                                       assert_lt(cc, 4);
+                                                       rs->tops[cc] = br->top_;
+                                                       rs->bots[cc] = (br->top_ + 1);
+                                               }
+#ifndef NDEBUG
+                                               for(int i = 0; i < 4; i++) {
+                                                       assert_eq(tmpbots[i] - tmptops[i],
+                                                                 rs->bots[i] - rs->tops[i]);
+                                               }
+#endif
+                                       }
+                                       ASSERT_ONLY(int r =)
+                                       br->installRanges(c, nextc, fuzzy_, qualLim_ - br->ham_, q);
+                                       assert(r < 4 || c == 4);
+                                       // Update top and bot
+                                       if(c < 4) {
+                                               br->top_ = rs->tops[c];
+                                               br->bot_ = rs->bots[c];
+                                       } else {
+                                               br->top_ = br->bot_ = 1;
+                                       }
+                               } else if(br->bot_ > br->top_) {
+                                       // This read position is not a legitimate backtracking
+                                       // alternative.  No need to do the bookkeeping for the
+                                       // entire quartet, just do c.  We hope that the
+                                       // appropriate cache lines are prefetched before now;
+                                       // otherwise, we're about to take an expensive cache
+                                       // miss.
+                                       assert(br->ltop_.valid());
+                                       rs->eliminated_ = true; // eliminate all alternatives leaving this node
+                                       assert(br->eliminated(br->len_));
+                                       if(c < 4) {
+                                               if(br->top_ + 1 == br->bot_) {
+                                                       if(metrics_ != NULL) metrics_->curBwtOps_++;
+                                                       br->bot_ = br->top_ = ebwt.mapLF1(br->top_, br->ltop_, c);
+                                                       if(br->bot_ != 0xffffffff) br->bot_++;
+                                               } else {
+                                                       if(metrics_ != NULL) metrics_->curBwtOps_++;
+                                                       br->top_ = ebwt.mapLF(br->ltop_, c);
+                                                       assert(br->lbot_.valid());
+                                                       if(metrics_ != NULL) metrics_->curBwtOps_++;
+                                                       br->bot_ = ebwt.mapLF(br->lbot_, c);
+                                               }
+                                       }
+                               } else {
+                                       rs->eliminated_ = true;
+                               }
+                               assert(rs->repOk());
+                               // br->top_ and br->bot_ now contain the next top and bot
+                       } else {
+                               // The continuation had already processed the whole read
+                               assert_eq(qlen_, depth);
+                               cur = 0;
+                       }
+                       empty = (br->top_ == br->bot_);
+                       hit = (cur == 0 && !empty);
+
+                       // Check whether we've obtained an exact alignment when
+                       // we've been instructed not to report exact alignments
+                       nedits = br->edits_.size();
+                       invalidExact = (hit && nedits == 0 && !reportExacts_);
+                       assert_leq(br->ham_, qualLim_);
+
+                       // Set this to true if the only way to make legal progress
+                       // is via one or more additional backtracks.
+                       if(halfAndHalf_ && !hhCheck(br, depth, empty)) {
+                               // This alignment doesn't satisfy the half-and-half
+                               // requirements; reject it
+                               if(metrics_ != NULL) metrics_->curBacktracks_++;
+                               pm.curtail(br, qlen_, depth3_, qualOrder_);
+                               goto bail;
+                       }
+
+                       if(hit &&            // there is a range to report
+                          !invalidExact &&  // not disqualified by no-exact-hits setting
+                          !reportedPartial) // not an already-reported partial alignment
+                       {
+                               if(verbose_) {
+                                       if(partial_) {
+                                               cout << " Partial alignment:" << endl;
+                                       } else {
+                                               cout << " Final alignment:" << endl;
+                                       }
+                                       br->len_++;
+                                       br->print((*qry_), (*qual_), minCost, cout, halfAndHalf_ > 0, partial_, fw_, ebwt_->fw());
+                                       br->len_--;
+                                       cout << endl;
+                               }
+                               assert_gt(br->bot_, br->top_);
+                               assert_leq(br->ham_, qualLim_);
+                               assert_leq((uint32_t)(br->cost_ & ~0xc000), qualLim_);
+                               if(metrics_ != NULL) metrics_->setReadHasRange();
+                               curRange_.top     = br->top_;
+                               curRange_.bot     = br->bot_;
+                               curRange_.cost    = br->cost_;
+                               curRange_.stratum = (br->cost_ >> 14);
+                               curRange_.numMms  = nedits;
+                               curRange_.fw      = fw_;
+                               curRange_.mms.clear();
+                               curRange_.refcs.clear();
+                               for(size_t i = 0; i < nedits; i++) {
+                                       curRange_.mms.push_back(qlen_ - br->edits_.get(i).pos - 1);
+                                       curRange_.refcs.push_back((char)br->edits_.get(i).chr);
+                               }
+                               addPartialEdits();
+                               curRange_.ebwt    = ebwt_;
+                               this->foundRange  = true;
+       #ifndef NDEBUG
+                               int64_t top2 = (int64_t)br->top_;
+                               top2++; // ensure it's not 0
+                               if(ebwt_->fw()) top2 = -top2;
+                               assert(allTops_.find(top2) == allTops_.end());
+                               allTops_.insert(top2);
+       #endif
+                               assert(curRange_.repOk());
+                               // Must curtail because we've consumed the whole pattern
+                               if(metrics_ != NULL) metrics_->curBacktracks_++;
+                               pm.curtail(br, qlen_, depth3_, qualOrder_);
+                       } else if(empty || cur == 0) {
+                               // The branch couldn't be extended further
+                               if(metrics_ != NULL) metrics_->curBacktracks_++;
+                               pm.curtail(br, qlen_, depth3_, qualOrder_);
+                       } else {
+                               // Extend the branch by one position; no change to its cost
+                               // so there's no need to reconsider where it lies in the
+                               // priority queue
+                               assert_neq(0, cur);
+                               br->extend();
+                       }
+               bail:
+                       // Make sure the front element of the priority queue is
+                       // extendable (i.e. not curtailed) and then prep it.
+                       if(!pm.splitAndPrep(rand_, qlen_, qualLim_, depth3_,
+                                           qualOrder_, fuzzy_,
+                                           ebwt_->_eh, ebwt_->_ebwt, ebwt_->_fw))
+                       {
+                               pm.reset(0);
+                               assert(pm.empty());
+                       }
+                       if(pm.empty()) {
+                               // No more branches
+                               break;
+                       }
+                       assert(!pm.front()->curtailed_);
+                       assert(!pm.front()->exhausted_);
+
+                       if(until == ADV_COST_CHANGES && pm.front()->cost_ != cost) break;
+                       else if(until == ADV_STEP) break;
+
+               } while(!this->foundRange);
+               if(!pm.empty()) {
+                       assert(!pm.front()->curtailed_);
+                       assert(!pm.front()->exhausted_);
+               }
+       }
+
+       /**
+        * Return true iff we're enforcing a half-and-half constraint
+        * (forced edits in both seed halves).
+        */
+       int halfAndHalf() const {
+               return halfAndHalf_;
+       }
+
+protected:
+
+       /**
+        * Lump all the seed-alignment edits from the seedRange_ range
+        * found previously to the curRange_ range just found.
+        */
+       void addPartialEdits() {
+               // Lump in the edits from the partial alignment
+               if(seedRange_.valid()) {
+                       const size_t srSz = seedRange_.mms.size();
+                       for(size_t i = 0; i < srSz; i++) {
+                               curRange_.mms.push_back(qlen_ - seedRange_.mms[i] - 1);
+                               curRange_.refcs.push_back(seedRange_.refcs[i]);
+                       }
+                       curRange_.numMms += srSz;
+               }
+       }
+
+       /**
+        * Return true iff we're OK to continue after considering which
+        * half-seed boundary we're passing through, together with the
+        * number of mismatches accumulated so far.  Return false if we
+        * should stop because a half-and-half constraint is violated.  If
+        * we're not currently passing a half-seed boundary, just return
+        * true.
+        */
+       bool hhCheck(Branch *b, uint32_t depth, bool empty) {
+               const uint32_t nedits = b->edits_.size();
+               ASSERT_ONLY(uint32_t lim3 = (offRev3_ == offRev2_)? 2 : 3);
+               ASSERT_ONLY(uint32_t lim5 = (offRev1_ == offRev0_)? 2 : 1);
+               if((depth == (depth5_-1)) && !empty) {
+                       // We're crossing the boundary separating the hi-half
+                       // from the non-seed portion of the read.
+                       // We should induce a mismatch if we haven't mismatched
+                       // yet, so that we don't waste time pursuing a match
+                       // that was covered by a previous phase
+                       assert_leq(nedits, lim5);
+                       return nedits > 0;
+               } else if((depth == (depth3_-1)) && !empty) {
+                       // We're crossing the boundary separating the lo-half
+                       // from the non-seed portion of the read
+                       assert_leq(nedits, lim3);
+                       assert_gt(nedits, 0);
+                       // Count the mismatches in the lo and hi halves
+                       uint32_t loHalfMms = 0, hiHalfMms = 0;
+                       for(size_t i = 0; i < nedits; i++) {
+                               uint32_t depth = b->edits_.get(i).pos;
+                               if     (depth < depth5_) hiHalfMms++;
+                               else if(depth < depth3_) loHalfMms++;
+                               else assert(false);
+                       }
+                       assert_leq(loHalfMms + hiHalfMms, lim3);
+                       bool invalidHalfAndHalf = (loHalfMms == 0 || hiHalfMms == 0);
+                       return (nedits >= (uint32_t)halfAndHalf_ && !invalidHalfAndHalf);
+               }
+#ifndef NDEBUG
+               if(depth < depth5_-1) {
+                       assert_leq(nedits, lim5);
+               }
+               else if(depth >= depth5_ && depth < depth3_-1) {
+                       assert_gt(nedits, 0);
+                       assert_leq(nedits, lim3);
+               }
+#endif
+               return true;
+       }
+
+       /**
+        * Return true iff the state of the backtracker as encoded by
+        * stackDepth, d and iham is compatible with the current half-and-
+        * half alignment mode.  prehits is for sanity checking when
+        * bailing.
+        */
+       bool hhCheckTop(Branch* b,
+                       uint32_t d,
+                       uint32_t iham,
+                       uint64_t prehits = 0xffffffffffffffffllu)
+       {
+               // Crossing from the hi-half into the lo-half
+               ASSERT_ONLY(uint32_t lim3 = (offRev3_ == offRev2_)? 2 : 3);
+               ASSERT_ONLY(uint32_t lim5 = (offRev1_ == offRev0_)? 2 : 1);
+               const uint32_t nedits = b->edits_.size();
+               if(d == depth5_) {
+                       assert_leq(nedits, lim5);
+                       if(nedits == 0) {
+                               return false;
+                       }
+               } else if(d == depth3_) {
+                       assert_leq(nedits, lim3);
+                       if(nedits < (uint32_t)halfAndHalf_) {
+                               return false;
+                       }
+               }
+#ifndef NDEBUG
+               else {
+                       // We didn't just cross a boundary, so do an in-between check
+                       if(d >= depth5_) {
+                               assert_geq(nedits, 1);
+                       } else if(d >= depth3_) {
+                               assert_geq(nedits, lim3);
+                       }
+               }
+#endif
+               return true;
+       }
+
+       /**
+        * Return the Phred-scale quality value at position 'off'
+        */
+       inline uint8_t qualAt(size_t off) {
+               return phredCharToPhredQual((*qual_)[off]);
+       }
+
+       /**
+        * Tally how many Ns occur in the seed region and in the ftab-
+        * jumpable region of the read.  Check whether the mismatches
+        * induced by the Ns already violates the current policy.  Return
+        * false if the policy is already violated, true otherwise.
+        */
+       bool tallyNs(int& nsInSeed, int& nsInFtab) {
+               const Ebwt<String<Dna> >& ebwt = *ebwt_;
+               int ftabChars = ebwt._eh._ftabChars;
+               // Count Ns in the seed region of the read and short-circuit if
+               // the configuration of Ns guarantees that there will be no
+               // valid alignments given the backtracking constraints.
+               for(size_t i = 0; i < offRev3_; i++) {
+                       if((int)(*qry_)[qlen_-i-1] == 4) {
+                               nsInSeed++;
+                               if(nsInSeed == 1) {
+                                       if(i < offRev0_) {
+                                               return false; // Exceeded mm budget on Ns alone
+                                       }
+                               } else if(nsInSeed == 2) {
+                                       if(i < offRev1_) {
+                                               return false; // Exceeded mm budget on Ns alone
+                                       }
+                               } else if(nsInSeed == 3) {
+                                       if(i < offRev2_) {
+                                               return false; // Exceeded mm budget on Ns alone
+                                       }
+                               } else {
+                                       assert_gt(nsInSeed, 3);
+                                       return false;     // Exceeded mm budget on Ns alone
+                               }
+                       }
+               }
+               // Calculate the number of Ns there are in the region that
+               // would get jumped over if the ftab were used.
+               for(size_t i = 0; i < (size_t)ftabChars && i < qlen_; i++) {
+                       if((int)(*qry_)[qlen_-i-1] == 4) nsInFtab++;
+               }
+               return true;
+       }
+
+       /**
+        * Calculate the offset into the ftab for the rightmost 'ftabChars'
+        * characters of the current query. Rightmost char gets least
+        * significant bit-pair.
+        */
+       uint32_t calcFtabOff() {
+               const Ebwt<String<Dna> >& ebwt = *ebwt_;
+               int ftabChars = ebwt._eh._ftabChars;
+               uint32_t ftabOff = (*qry_)[qlen_ - ftabChars];
+               assert_lt(ftabOff, 4);
+               assert_lt(ftabOff, ebwt._eh._ftabLen-1);
+               for(int i = ftabChars - 1; i > 0; i--) {
+                       ftabOff <<= 2;
+                       assert_lt((uint32_t)(*qry_)[qlen_-i], 4);
+                       ftabOff |= (uint32_t)(*qry_)[qlen_-i];
+                       assert_lt(ftabOff, ebwt._eh._ftabLen-1);
+               }
+               assert_lt(ftabOff, ebwt._eh._ftabLen-1);
+               return ftabOff;
+       }
+
+       String<Dna5>*       qry_;    // query (read) sequence
+       String<Dna5>        qryBuf_; // for composing modified qry_ strings
+       size_t              qlen_;   // length of _qry
+       String<char>*       qual_;   // quality values for _qry
+       String<char>*       name_;   // name of _qry
+       bool                color_;  // true -> read is colorspace
+       String<Dna5>*       altQry_; // alternate basecalls
+       String<char>*       altQual_; // quality values for alternate basecalls
+       int                 alts_;   // max # alternatives
+       bool                fuzzy_;  // alternate scoring scheme?
+       const Ebwt<String<Dna> >*   ebwt_;   // Ebwt to search in
+       bool                fw_;
+       uint32_t            offRev0_; // unrevisitable chunk
+       uint32_t            offRev1_;  // 1-revisitable chunk
+       uint32_t            offRev2_;  // 2-revisitable chunk
+       uint32_t            offRev3_;  // 3-revisitable chunk
+       /// Whether to round qualities off Maq-style when calculating penalties
+       bool                maqPenalty_;
+       /// Whether to order paths on our search in a way that takes
+       /// qualities into account.  If this is false, the effect is that
+       /// the first path reported is guaranteed to be in the best
+       /// stratum, but it's not guaranteed to have the best quals.
+       bool                qualOrder_;
+       /// Reject alignments where sum of qualities at mismatched
+       /// positions is greater than qualLim_
+       uint32_t            qualLim_;
+       /// Report exact alignments iff this is true
+       bool                reportExacts_;
+       /// Whether to use the _os array together with a naive matching
+       /// algorithm to double-check reported alignments (or the lack
+       /// thereof)
+       int                 halfAndHalf_;
+       /// Whether we're generating partial alignments for a longer
+       /// alignment in the opposite index.
+       bool                partial_;
+       /// Depth of 5'-seed-half border
+       uint32_t            depth5_;
+       /// Depth of 3'-seed-half border
+       uint32_t            depth3_;
+       /// Source of pseudo-random numbers
+       RandomSource        rand_;
+       /// Be talkative
+       bool                verbose_;
+       /// Suppress unnecessary output
+       bool                quiet_;
+       // Current range to expose to consumers
+       Range               curRange_;
+       // Range for the partial alignment we're extending (NULL if we
+       // aren't extending a partial)
+       Range               seedRange_;
+       // Starts as false; set to true as soon as we know we want to skip
+       // all further processing of this read
+       bool                skippingThisRead_;
+       // Object encapsulating metrics
+       AlignerMetrics*     metrics_;
+#ifndef NDEBUG
+       std::set<int64_t>   allTops_;
+#endif
+};
+
+/**
+ * Concrete factory for EbwtRangeSource objects.
+ */
+class EbwtRangeSourceFactory {
+       typedef Ebwt<String<Dna> > TEbwt;
+public:
+       EbwtRangeSourceFactory(
+                       const TEbwt* ebwt,
+                       bool         fw,
+                       uint32_t     qualThresh,
+                       bool         reportExacts,
+                       bool         verbose,
+                       bool         quiet,
+                       bool         halfAndHalf,
+                       bool         seeded,
+                       bool         maqPenalty,
+                       bool         qualOrder,
+                       AlignerMetrics *metrics = NULL) :
+                       ebwt_(ebwt),
+                       fw_(fw),
+                       qualThresh_(qualThresh),
+                       reportExacts_(reportExacts),
+                       verbose_(verbose),
+                       quiet_(quiet),
+                       halfAndHalf_(halfAndHalf),
+                       seeded_(seeded),
+                       maqPenalty_(maqPenalty),
+                       qualOrder_(qualOrder),
+                       metrics_(metrics) { }
+
+       /**
+        * Return new EbwtRangeSource with predefined params.s
+        */
+       EbwtRangeSource *create() {
+               return new EbwtRangeSource(ebwt_, fw_, qualThresh_,
+                                          reportExacts_, verbose_, quiet_,
+                                          halfAndHalf_, seeded_, maqPenalty_,
+                                          qualOrder_, metrics_);
+       }
+
+protected:
+       const TEbwt* ebwt_;
+       bool         fw_;
+       uint32_t     qualThresh_;
+       bool         reportExacts_;
+       bool         verbose_;
+       bool         quiet_;
+       bool         halfAndHalf_;
+       bool         seeded_;
+       bool         maqPenalty_;
+       bool         qualOrder_;
+       AlignerMetrics *metrics_;
+};
+
+/**
+ * What boundary within the alignment to "pin" a particular
+ * backtracking constraint to.
+ */
+enum SearchConstraintExtent {
+       PIN_TO_BEGINNING = 1, // depth 0; i.e., constraint is inactive
+       PIN_TO_LEN,           // constraint applies to while alignment
+       PIN_TO_HI_HALF_EDGE,  // constraint applies to hi-half of seed region
+       PIN_TO_SEED_EDGE      // constraint applies to entire seed region
+};
+
+/**
+ * Concrete RangeSourceDriver that deals properly with
+ * GreedyDFSRangeSource by calling setOffs() with the appropriate
+ * parameters when initializing it;
+ */
+class EbwtRangeSourceDriver :
+       public SingleRangeSourceDriver<EbwtRangeSource>
+{
+public:
+       EbwtRangeSourceDriver(
+                       EbwtSearchParams<String<Dna> >& params,
+                       EbwtRangeSource* rs,
+                       bool fw,
+                       bool seed,
+                       bool maqPenalty,
+                       bool qualOrder,
+                       HitSink& sink,
+                       HitSinkPerThread* sinkPt,
+                       uint32_t seedLen,
+                       bool nudgeLeft,
+                       SearchConstraintExtent rev0Off,
+                       SearchConstraintExtent rev1Off,
+                       SearchConstraintExtent rev2Off,
+                       SearchConstraintExtent rev3Off,
+                       vector<String<Dna5> >& os,
+                       bool verbose,
+                       bool quiet,
+                       bool mate1,
+                       ChunkPool* pool,
+                       int *btCnt) :
+                       SingleRangeSourceDriver<EbwtRangeSource>(
+                                       params, rs, fw, sink, sinkPt, os, verbose,
+                                       quiet, mate1, 0, pool, btCnt),
+                       seed_(seed),
+                       maqPenalty_(maqPenalty),
+                       qualOrder_(qualOrder),
+                       rs_(rs), seedLen_(seedLen),
+                       nudgeLeft_(nudgeLeft),
+                       rev0Off_(rev0Off), rev1Off_(rev1Off),
+                       rev2Off_(rev2Off), rev3Off_(rev3Off),
+                       verbose_(verbose), quiet_(quiet)
+       {
+               if(seed_) assert_gt(seedLen, 0);
+       }
+
+       virtual ~EbwtRangeSourceDriver() { }
+
+       bool seed() const { return seed_; }
+
+       bool ebwtFw() const { return rs_->curEbwt()->fw(); }
+
+       /**
+        * Called every time setQuery() is called in the parent class,
+        * after setQuery() has been called on the RangeSource but before
+        * initConts() has been called.
+        */
+       virtual void initRangeSource(const String<char>& qual, bool fuzzy,
+                                    int alts, const String<char>* altQuals)
+       {
+               // If seedLen_ is huge, then it will always cover the whole
+               // alignment
+               assert_eq(len_, seqan::length(qual));
+               uint32_t s = (seedLen_ > 0 ? min(seedLen_, len_) : len_);
+               uint32_t sLeft  = s >> 1;
+               uint32_t sRight = s >> 1;
+               // If seed has odd length, then nudge appropriate half up by 1
+               if((s & 1) != 0) { if(nudgeLeft_) sLeft++; else sRight++; }
+               uint32_t rev0Off = cextToDepth(rev0Off_, sRight, s, len_);
+               uint32_t rev1Off = cextToDepth(rev1Off_, sRight, s, len_);
+               uint32_t rev2Off = cextToDepth(rev2Off_, sRight, s, len_);
+               uint32_t rev3Off = cextToDepth(rev3Off_, sRight, s, len_);
+               // Truncate the pattern if necessary
+               uint32_t qlen = seqan::length(qual);
+               if(seed_) {
+                       if(len_ > s) {
+                               rs_->setQlen(s);
+                               qlen = s;
+                       }
+                       assert(!rs_->reportExacts());
+               }
+               // If there are any Ns in the unrevisitable region, then this
+               // driver is guaranteed to yield no fruit.
+               uint16_t minCost = 0;
+               if(rs_->reportExacts()) {
+                       // Keep minCost at 0
+               } else if (!rs_->halfAndHalf() && rev0Off < s) {
+                       // Exacts not allowed, so there must be at least 1 mismatch
+                       // outside of the unrevisitable area
+                       minCost = 1 << 14;
+                       if(qualOrder_) {
+                               uint8_t lowQual = 0xff;
+                               for(uint32_t d = rev0Off; d < s; d++) {
+                                       uint8_t lowAtPos;
+                                       if(fuzzy) {
+                                               lowAtPos = loPenaltyAt(qlen-d-1, alts, qual, altQuals);
+                                       } else {
+                                               lowAtPos = qual[qlen - d - 1];
+                                       }
+                                       if(lowAtPos < lowQual) lowQual = lowAtPos;
+                               }
+                               assert_lt(lowQual, 0xff);
+                               if(fuzzy) {
+                                       minCost += lowQual;
+                               } else {
+                                       minCost += mmPenalty(maqPenalty_, phredCharToPhredQual(lowQual));
+                               }
+                       }
+               } else if(rs_->halfAndHalf() && sRight > 0 && sRight < (s-1)) {
+                       // Half-and-half constraints are active, so there must be
+                       // at least 1 mismatch in both halves of the seed
+                       assert(rs_->halfAndHalf());
+                       minCost = (seed_ ? 3 : 2) << 14;
+                       if(qualOrder_) {
+                               assert(rs_->halfAndHalf() == 2 || rs_->halfAndHalf() == 3);
+                               uint8_t lowQual1 = 0xff;
+                               for(uint32_t d = 0; d < sRight; d++) {
+                                       uint8_t lowAtPos;
+                                       if(fuzzy) {
+                                               lowAtPos = loPenaltyAt(qlen-d-1, alts, qual, altQuals);
+                                       } else {
+                                               lowAtPos = qual[qlen - d - 1];
+                                       }
+                                       if(lowAtPos < lowQual1) lowQual1 = lowAtPos;
+                               }
+                               assert_lt(lowQual1, 0xff);
+                               if(fuzzy) {
+                                       minCost += lowQual1;
+                               } else {
+                                       minCost += mmPenalty(maqPenalty_, phredCharToPhredQual(lowQual1));
+                               }
+                               uint8_t lowQual2_1 = 0xff;
+                               uint8_t lowQual2_2 = 0xff;
+                               for(uint32_t d = sRight; d < s; d++) {
+                                       uint8_t lowAtPos;
+                                       if(fuzzy) {
+                                               lowAtPos = loPenaltyAt(qlen-d-1, alts, qual, altQuals);
+                                       } else {
+                                               lowAtPos = qual[qlen - d - 1];
+                                       }
+                                       if(lowAtPos < lowQual2_1) {
+                                               if(lowQual2_1 != 0xff) {
+                                                       lowQual2_2 = lowQual2_1;
+                                               }
+                                               lowQual2_1 = lowAtPos;
+                                       } else if(lowAtPos < lowQual2_2) {
+                                               lowQual2_2 = lowAtPos;
+                                       }
+                               }
+                               assert_lt(lowQual2_1, 0xff);
+                               if(fuzzy) {
+                                       minCost += lowQual2_1;
+                                       if(rs_->halfAndHalf() > 2 && lowQual2_2 != 0xff) {
+                                               minCost += lowQual2_2;
+                                       }
+                               } else {
+                                       minCost += mmPenalty(maqPenalty_, phredCharToPhredQual(lowQual2_1));
+                                       if(rs_->halfAndHalf() > 2 && lowQual2_2 != 0xff) {
+                                               minCost += mmPenalty(maqPenalty_, phredCharToPhredQual(lowQual2_2));
+                                       }
+                               }
+                       }
+               }
+               if(verbose_) cout << "initRangeSource minCost: " << minCost << endl;
+               this->minCostAdjustment_ = minCost;
+               rs_->setOffs(sRight,   // depth of far edge of hi-half (only matters where half-and-half is possible)
+                            s,        // depth of far edge of lo-half (only matters where half-and-half is possible)
+                            rev0Off,  // depth above which we cannot backtrack
+                            rev1Off,  // depth above which we may backtrack just once
+                            rev2Off,  // depth above which we may backtrack just twice
+                            rev3Off); // depth above which we may backtrack just three times
+       }
+
+protected:
+
+       /**
+        * Convert a search constraint extent to an actual depth into the
+        * read.
+        */
+       inline uint32_t cextToDepth(SearchConstraintExtent cext,
+                                   uint32_t sRight,
+                                   uint32_t s,
+                                   uint32_t len)
+       {
+               if(cext == PIN_TO_SEED_EDGE)    return s;
+               if(cext == PIN_TO_HI_HALF_EDGE) return sRight;
+               if(cext == PIN_TO_BEGINNING)    return 0;
+               if(cext == PIN_TO_LEN)          return len;
+               cerr << "Bad SearchConstraintExtent: " << cext;
+               throw 1;
+       }
+
+       bool seed_;
+       bool maqPenalty_;
+       bool qualOrder_;
+       EbwtRangeSource* rs_;
+       uint32_t seedLen_;
+       bool nudgeLeft_;
+       SearchConstraintExtent rev0Off_;
+       SearchConstraintExtent rev1Off_;
+       SearchConstraintExtent rev2Off_;
+       SearchConstraintExtent rev3Off_;
+       bool verbose_;
+       bool quiet_;
+};
+
+/**
+ * Concrete RangeSourceDriver that deals properly with
+ * GreedyDFSRangeSource by calling setOffs() with the appropriate
+ * parameters when initializing it;
+ */
+class EbwtRangeSourceDriverFactory {
+public:
+       EbwtRangeSourceDriverFactory(
+                       EbwtSearchParams<String<Dna> >& params,
+                       EbwtRangeSourceFactory* rs,
+                       bool fw,
+                       bool seed,
+                       bool maqPenalty,
+                       bool qualOrder,
+                       HitSink& sink,
+                       HitSinkPerThread* sinkPt,
+                       uint32_t seedLen,
+                       bool nudgeLeft,
+                       SearchConstraintExtent rev0Off,
+                       SearchConstraintExtent rev1Off,
+                       SearchConstraintExtent rev2Off,
+                       SearchConstraintExtent rev3Off,
+                       vector<String<Dna5> >& os,
+                       bool verbose,
+                       bool quiet,
+                       bool mate1,
+                       ChunkPool* pool,
+                       int *btCnt = NULL) :
+                       params_(params),
+                       rs_(rs),
+                       fw_(fw),
+                       seed_(seed),
+                       maqPenalty_(maqPenalty),
+                       qualOrder_(qualOrder),
+                       sink_(sink),
+                       sinkPt_(sinkPt),
+                       seedLen_(seedLen),
+                       nudgeLeft_(nudgeLeft),
+                       rev0Off_(rev0Off),
+                       rev1Off_(rev1Off),
+                       rev2Off_(rev2Off),
+                       rev3Off_(rev3Off),
+                       os_(os),
+                       verbose_(verbose),
+                       quiet_(quiet),
+                       mate1_(mate1),
+                       pool_(pool),
+                       btCnt_(btCnt)
+       { }
+
+       ~EbwtRangeSourceDriverFactory() {
+               delete rs_; rs_ = NULL;
+       }
+
+       /**
+        * Return a newly-allocated EbwtRangeSourceDriver with the given
+        * parameters.
+        */
+       EbwtRangeSourceDriver *create() const {
+               return new EbwtRangeSourceDriver(
+                               params_, rs_->create(), fw_, seed_, maqPenalty_,
+                               qualOrder_, sink_, sinkPt_, seedLen_, nudgeLeft_,
+                               rev0Off_, rev1Off_, rev2Off_, rev3Off_, os_, verbose_,
+                               quiet_, mate1_, pool_, btCnt_);
+       }
+
+protected:
+       EbwtSearchParams<String<Dna> >& params_;
+       EbwtRangeSourceFactory* rs_;
+       bool fw_;
+       bool seed_;
+       bool maqPenalty_;
+       bool qualOrder_;
+       HitSink& sink_;
+       HitSinkPerThread* sinkPt_;
+       uint32_t seedLen_;
+       bool nudgeLeft_;
+       SearchConstraintExtent rev0Off_;
+       SearchConstraintExtent rev1Off_;
+       SearchConstraintExtent rev2Off_;
+       SearchConstraintExtent rev3Off_;
+       vector<String<Dna5> >& os_;
+       bool verbose_;
+       bool quiet_;
+       bool mate1_;
+       ChunkPool* pool_;
+       int *btCnt_;
+};
+
+/**
+ * A RangeSourceDriver that manages two child EbwtRangeSourceDrivers,
+ * one for searching for seed strings with mismatches in the hi-half,
+ * and one for extending those seed strings toward the 3' end.
+ */
+class EbwtSeededRangeSourceDriver : public RangeSourceDriver<EbwtRangeSource> {
+       typedef RangeSourceDriver<EbwtRangeSourceDriver>* TRangeSrcDrPtr;
+       typedef CostAwareRangeSourceDriver<EbwtRangeSource> TCostAwareRangeSrcDr;
+public:
+       EbwtSeededRangeSourceDriver(
+                       EbwtRangeSourceDriverFactory* rsFact,
+                       EbwtRangeSourceDriver* rsSeed,
+                       bool fw,
+                       uint32_t seedLen,
+                       bool verbose,
+                       bool quiet,
+                       bool mate1) :
+                       RangeSourceDriver<EbwtRangeSource>(true, 0),
+                       rsFact_(rsFact), rsFull_(false, NULL, verbose, quiet, true),
+                       rsSeed_(rsSeed), patsrc_(NULL), seedLen_(seedLen), fw_(fw),
+                       mate1_(mate1), seedRange_(0)
+       {
+               assert(rsSeed_->seed());
+       }
+
+       virtual ~EbwtSeededRangeSourceDriver() {
+               delete rsFact_; rsFact_ = NULL;
+               delete rsSeed_; rsSeed_ = NULL;
+       }
+
+       /**
+        * Prepare this aligner for the next read.
+        */
+       virtual void setQueryImpl(PatternSourcePerThread* patsrc, Range *partial) {
+               this->done = false;
+               rsSeed_->setQuery(patsrc, partial);
+               this->minCostAdjustment_ = max(rsSeed_->minCostAdjustment_, rsSeed_->minCost);
+               this->minCost = this->minCostAdjustment_;
+               rsFull_.clearSources();
+               rsFull_.setQuery(patsrc, partial);
+               rsFull_.minCost = this->minCost;
+               assert_gt(rsFull_.minCost, 0);
+               patsrc_ = patsrc;
+               // The minCostAdjustment comes from the seed range source
+               // driver, based on Ns and quals in the hi-half
+               this->foundRange = false;
+               ASSERT_ONLY(allTops_.clear());
+               assert_eq(this->minCost, min<uint16_t>(rsSeed_->minCost, rsFull_.minCost));
+       }
+
+       /**
+        * Advance the aligner by one memory op.  Return true iff we're
+        * done with this read.
+        */
+       virtual void advance(int until) {
+               assert(!this->foundRange);
+               until = max<int>(until, ADV_COST_CHANGES);
+               ASSERT_ONLY(uint16_t preCost = this->minCost);
+               advanceImpl(until);
+               if(this->foundRange) {
+                       assert_eq(range().cost, preCost);
+               }
+#ifndef NDEBUG
+               if(this->foundRange) {
+                       // Assert that we have not yet dished out a range with this
+                       // top offset
+                       assert_gt(range().bot, range().top);
+                       assert(range().ebwt != NULL);
+                       int64_t top = (int64_t)range().top;
+                       top++; // ensure it's not 0
+                       if(!range().ebwt->fw()) top = -top;
+                       assert(allTops_.find(top) == allTops_.end());
+                       allTops_.insert(top);
+               }
+#endif
+       }
+
+       /**
+        * Advance the aligner by one memory op.  Return true iff we're
+        * done with this read.
+        */
+       virtual void advanceImpl(int until) {
+               assert(!this->done);
+               assert(!this->foundRange);
+               assert_gt(rsFull_.minCost, 0);
+               // Advance the seed range source
+               if(rsSeed_->done && rsFull_.done &&
+                  !rsSeed_->foundRange && !rsFull_.foundRange)
+               {
+                       this->done = true;
+                       return;
+               }
+               if(rsSeed_->done && !rsSeed_->foundRange) {
+                       rsSeed_->minCost = 0xffff;
+                       if(rsFull_.minCost > this->minCost) {
+                               this->minCost = rsFull_.minCost;
+                               // Cost changed, so return
+                               return;
+                       }
+               }
+               if(rsFull_.done && !rsFull_.foundRange) {
+                       rsFull_.minCost = 0xffff;
+                       if(rsSeed_->minCost > this->minCost) {
+                               this->minCost = rsSeed_->minCost;
+                               // Cost changed, so return
+                               return;
+                       }
+               }
+               assert(rsSeed_->minCost != 0xffff || rsFull_.minCost != 0xffff);
+               // Extend a partial alignment
+               ASSERT_ONLY(uint16_t oldMinCost = this->minCost);
+               assert_eq(this->minCost, min<uint16_t>(rsSeed_->minCost, rsFull_.minCost));
+               bool doFull = rsFull_.minCost <= rsSeed_->minCost;
+               if(!doFull) {
+                       // Advance the partial-alignment generator
+                       assert_eq(rsSeed_->minCost, this->minCost);
+                       if(!rsSeed_->foundRange) {
+                               rsSeed_->advance(until);
+                       }
+                       if(rsSeed_->foundRange) {
+                               assert_eq(this->minCost, rsSeed_->range().cost);
+                               assert_eq(oldMinCost, rsSeed_->range().cost);
+                               seedRange_ = &rsSeed_->range();
+                               rsSeed_->foundRange = false;
+                               assert_geq(seedRange_->cost, this->minCostAdjustment_);
+                               this->minCostAdjustment_ = seedRange_->cost;
+                               assert_gt(seedRange_->numMms, 0);
+                               // Keep the range for the hi-half partial alignment so
+                               // that the driver can (a) modify the pattern string
+                               // and (b) modify results from the RangeSource to
+                               // include these edits.
+                               EbwtRangeSourceDriver *partial = rsFact_->create();
+                               partial->minCost = seedRange_->cost;
+                               rsFull_.minCost = seedRange_->cost;
+                               rsFull_.addSource(partial, seedRange_);
+                               if(rsFull_.foundRange) {
+                                       this->foundRange = true;
+                                       rsFull_.foundRange = false;
+                                       assert(rsFull_.range().repOk());
+                                       assert_eq(range().cost, oldMinCost);
+                               }
+                       }
+                       if(rsSeed_->minCost > this->minCost) {
+                               this->minCost = rsSeed_->minCost;
+                               if(!rsFull_.done) {
+                                       this->minCost = min(this->minCost, rsFull_.minCost);
+                                       assert_eq(this->minCost, min<uint16_t>(rsSeed_->minCost, rsFull_.minCost));
+                               }
+                       }
+               } else {
+                       // Extend a full alignment
+                       assert(!rsFull_.done);
+                       assert(!rsFull_.foundRange);
+                       uint16_t oldFullCost = rsFull_.minCost;
+                       if(!rsFull_.foundRange) {
+                               rsFull_.advance(until);
+                       }
+                       // Found a minimum-cost range
+                       if(rsFull_.foundRange) {
+                               this->foundRange = true;
+                               rsFull_.foundRange = false;
+                               assert(rsFull_.range().repOk());
+                               assert_eq(range().cost, oldMinCost);
+                       }
+                       assert_geq(rsFull_.minCost, oldFullCost);
+                       // Did the min cost change?
+                       if(rsFull_.minCost > oldFullCost) {
+                               // If a range was found, hold on to it and save it for
+                               // later.  Update the minCost.
+                               assert(!rsSeed_->done || rsSeed_->minCost == 0xffff);
+                               this->minCost = min(rsFull_.minCost, rsSeed_->minCost);
+                       }
+               }
+       }
+
+       /**
+        * Return the range found.
+        */
+       virtual Range& range() {
+               Range& r = rsFull_.range();
+               r.fw = fw_;
+               r.mate1 = mate1_;
+               return r;
+       }
+
+       /**
+        * Return whether we're generating ranges for the first or the
+        * second mate.
+        */
+       virtual bool mate1() const {
+               return mate1_;
+       }
+
+       /**
+        * Return true iff current pattern is forward-oriented.
+        */
+       virtual bool fw() const {
+               return fw_;
+       }
+
+protected:
+
+       EbwtRangeSourceDriverFactory* rsFact_;
+       TCostAwareRangeSrcDr rsFull_;
+       EbwtRangeSourceDriver* rsSeed_;
+       PatternSourcePerThread* patsrc_;
+       uint32_t seedLen_;
+       bool fw_;
+       bool mate1_;
+       bool generating_;
+       Range *seedRange_;
+};
+
+#endif /*EBWT_SEARCH_BACKTRACK_H_*/
diff --git a/ebwt_search_util.cpp b/ebwt_search_util.cpp
new file mode 100644 (file)
index 0000000..30fe5b9
--- /dev/null
@@ -0,0 +1,44 @@
+#include "ebwt_search_util.h"
+#include "seqan/file.h"
+
+using namespace std;
+using namespace seqan;
+
+/**
+ * Print a hit along with information about the backtracking
+ * regions constraining the hit.
+ */
+void printHit(const vector<String<Dna5> >& os,
+              const Hit& h,
+              const String<Dna5>& qry,
+              size_t qlen,
+              uint32_t unrevOff,
+              uint32_t oneRevOff,
+              uint32_t twoRevOff,
+              uint32_t threeRevOff,
+              bool ebwtFw)
+{
+       // Print pattern sequence
+       cout << "  Pat:  " << qry << endl;
+       // Print text sequence
+       cout << "  Tseg: ";
+       if(ebwtFw) {
+               for(size_t i = 0; i < qlen; i++) {
+                       cout << os[h.h.first][h.h.second + i];
+               }
+       } else {
+               for(int i = (int)qlen-1; i >= 0; i--) {
+                       cout << os[h.h.first][h.h.second + i];
+               }
+       }
+       cout << endl;
+       cout << "  Bt:   ";
+       for(int i = (int)qlen-1; i >= 0; i--) {
+               if     (i < (int)unrevOff)    cout << "0";
+               else if(i < (int)oneRevOff)   cout << "1";
+               else if(i < (int)twoRevOff)   cout << "2";
+               else if(i < (int)threeRevOff) cout << "3";
+               else cout << "X";
+       }
+       cout << endl;
+}
diff --git a/ebwt_search_util.h b/ebwt_search_util.h
new file mode 100644 (file)
index 0000000..e54efd5
--- /dev/null
@@ -0,0 +1,375 @@
+#ifndef EBWT_SEARCH_UTIL_H_
+#define EBWT_SEARCH_UTIL_H_
+
+#include <iostream>
+#include <vector>
+#include <map>
+#include <stdint.h>
+#include <seqan/sequence.h>
+#include "hit.h"
+#include "qual.h"
+
+/// Encapsulates a change made to a query base, i.e. "the 3rd base from
+/// the 5' end was changed from an A to a T".  Useful when using
+/// for matching seeded by "seedlings".
+struct QueryMutation {
+       QueryMutation() : pos(0), oldBase(0), newBase(0) { }
+       QueryMutation(uint16_t _pos, uint8_t _oldBase, uint8_t _newBase) :
+               pos(_pos), oldBase(_oldBase), newBase(_newBase)
+       {
+               assert_neq(oldBase, newBase);
+               assert_leq(oldBase, 4);
+               assert_lt(newBase, 4);
+       }
+       uint16_t pos;
+       uint8_t oldBase; // original base from the read
+       uint8_t newBase; // mutated to fit the reference in at least one place
+};
+
+/**
+ * Encapsulates a partial alignment.  Supports up to 256 positions and
+ * up to 3 substitutions.  The 'type' field of all the alternative
+ * structs tells us whether this entry is a singleton entry, an offset
+ * into the spillover list, a non-tail entry in the spillover list, or
+ * a tail entry in the spillover list.
+ */
+typedef union {
+       struct {
+               uint64_t pos0  : 16;   // mismatched pos 1
+               uint64_t pos1  : 16;   // mismatched pos 2
+               uint64_t pos2  : 16;   // mismatched pos 3
+               uint64_t char0 : 2;    // substituted char for pos 1
+               uint64_t char1 : 2;    // substituted char for pos 2
+               uint64_t char2 : 2;    // substituted char for pos 3
+               uint64_t reserved : 8;
+               uint64_t type  : 2;    // type of entry; 0=singleton_entry,
+                                      // 1=list_offset, 2=list_entry,
+                                      // 3=list_tail
+       } entry;
+       struct {
+               uint64_t off   : 62;// offset into list
+               uint64_t type  : 2; // type of entry; 0=singleton,
+                            // 1=list_offset, 2=list_entry,
+                            // 3=list_tail
+       } off; // offset into list
+       struct {
+               uint64_t unk   : 62;// padding
+               uint64_t type  : 2; // type of entry; 0=singleton,
+                            // 1=list_offset, 2=list_entry,
+                            // 3=list_tail
+       } unk;   // unknown
+       struct {
+               uint64_t u64   : 64;
+       } u64;
+
+       /**
+        *
+        */
+       bool repOk(uint32_t qualMax, uint32_t slen, const String<char>& quals, bool maqPenalty) {
+               uint32_t qual = 0;
+               assert_leq(slen, seqan::length(quals));
+               if(entry.pos0 != 0xffff) {
+                       assert_lt(entry.pos0, slen);
+                       qual += mmPenalty(maqPenalty, phredCharToPhredQual(quals[entry.pos0]));
+               }
+               if(entry.pos1 != 0xffff) {
+                       assert_lt(entry.pos1, slen);
+                       qual += mmPenalty(maqPenalty, phredCharToPhredQual(quals[entry.pos1]));
+               }
+               if(entry.pos2 != 0xffff) {
+                       assert_lt(entry.pos2, slen);
+                       qual += mmPenalty(maqPenalty, phredCharToPhredQual(quals[entry.pos2]));
+               }
+               assert_leq(qual, qualMax);
+               return true;
+       }
+
+} PartialAlignment;
+
+#ifndef NDEBUG
+static bool sameHalfPartialAlignment(PartialAlignment pa1, PartialAlignment pa2) {
+       if(pa1.unk.type == 1 || pa2.unk.type == 1) return false;
+       assert_neq(0xffff, pa1.entry.pos0);
+       assert_neq(0xffff, pa2.entry.pos0);
+
+       // Make sure pa1's pos0 is represented in pa1
+       if(pa1.entry.pos0 == pa2.entry.pos0) {
+               if(pa1.entry.char0 != pa2.entry.char0) return false;
+       } else if(pa1.entry.pos0 == pa2.entry.pos1) {
+               if(pa1.entry.char0 != pa2.entry.char1) return false;
+       } else if(pa1.entry.pos0 == pa2.entry.pos2) {
+               if(pa1.entry.char0 != pa2.entry.char2) return false;
+       } else {
+               return false;
+       }
+       if(pa1.entry.pos1 != 0xffff) {
+               if       (pa1.entry.pos1 == pa2.entry.pos0) {
+                       if(pa1.entry.char1 != pa2.entry.char0) return false;
+               } else if(pa1.entry.pos1 == pa2.entry.pos1) {
+                       if(pa1.entry.char1 != pa2.entry.char1) return false;
+               } else if(pa1.entry.pos1 == pa2.entry.pos2) {
+                       if(pa1.entry.char1 != pa2.entry.char2) return false;
+               } else {
+                       return false;
+               }
+       }
+       if(pa1.entry.pos2 != 0xffff) {
+               if       (pa1.entry.pos2 == pa2.entry.pos0) {
+                       if(pa1.entry.char2 != pa2.entry.char0) return false;
+               } else if(pa1.entry.pos2 == pa2.entry.pos1) {
+                       if(pa1.entry.char2 != pa2.entry.char1) return false;
+               } else if(pa1.entry.pos2 == pa2.entry.pos2) {
+                       if(pa1.entry.char2 != pa2.entry.char2) return false;
+               } else {
+                       return false;
+               }
+       }
+       return true;
+}
+
+static bool samePartialAlignment(PartialAlignment pa1, PartialAlignment pa2) {
+       return sameHalfPartialAlignment(pa1, pa2) && sameHalfPartialAlignment(pa2, pa1);
+}
+
+static bool validPartialAlignment(PartialAlignment pa) {
+       if(pa.entry.pos0 != 0xffff) {
+               if(pa.entry.pos0 == pa.entry.pos1) return false;
+               if(pa.entry.pos0 == pa.entry.pos2) return false;
+       } else {
+               if(pa.entry.pos1 != 0xffff) return false;
+               if(pa.entry.pos2 != 0xffff) return false;
+       }
+
+       if(pa.entry.pos1 != 0xffff) {
+               if(pa.entry.pos1 == pa.entry.pos2) return false;
+       } else {
+               if(pa.entry.pos2 != 0xffff) return false;
+       }
+       return true;
+}
+#endif
+
+extern
+void printHit(const vector<String<Dna5> >& os,
+                         const Hit& h,
+                         const String<Dna5>& qry,
+                         size_t qlen,
+                         uint32_t unrevOff,
+                         uint32_t oneRevOff,
+                         uint32_t twoRevOff,
+                         uint32_t threeRevOff,
+                         bool ebwtFw);
+
+/**
+ * A synchronized data structure for storing partial alignments
+ * associated with patids, with particular attention to compactness.
+ */
+class PartialAlignmentManager {
+public:
+       PartialAlignmentManager(size_t listSz = 10 * 1024 * 1024) {
+               MUTEX_INIT(_partialLock);
+               // Reserve space for 10M partialsList entries = 40 MB
+               _partialsList.reserve(listSz);
+       }
+
+       ~PartialAlignmentManager() { }
+
+       /**
+        * Add a set of partial alignments for a particular patid into the
+        * partial-alignment database.  This version locks the database,
+        * and so is safe to call if there are potential readers or
+        * writers currently running.
+        */
+       void addPartials(uint32_t patid, const vector<PartialAlignment>& ps) {
+               if(ps.size() == 0) return;
+               MUTEX_LOCK(_partialLock);
+               size_t origPlSz = _partialsList.size();
+               // Assert that the entry doesn't exist yet
+               assert(_partialsMap.find(patid) == _partialsMap.end());
+               if(ps.size() == 1) {
+                       _partialsMap[patid] = ps[0];
+                       _partialsMap[patid].entry.type = 0; // singleton
+               } else {
+#ifndef NDEBUG
+                       // Make sure there are not duplicate entries
+                       for(size_t i = 0; i < ps.size()-1; i++)
+                               for(size_t j = i+1; j < ps.size(); j++)
+                                       assert(!samePartialAlignment(ps[i], ps[j]));
+#endif
+                       // Insert a "pointer" record into the map that refers to
+                       // the stretch of the _partialsList vector that contains
+                       // the partial alignments.
+                       PartialAlignment al;
+                       al.u64.u64 = 0xffffffffffffffffllu;
+                       al.off.off = origPlSz;
+                       al.off.type = 1; // list offset
+                       _partialsMap[patid] = al; // install pointer
+                       assert_gt(ps.size(), 1);
+                       // Now add all the non-tail partial alignments (all but the
+                       // last) to the _partialsList
+                       for(size_t i = 0; i < ps.size()-1; i++) {
+                               assert(validPartialAlignment(ps[i]));
+                               _partialsList.push_back(ps[i]);
+                               // list entry (non-tail)
+                               _partialsList.back().entry.type = 2;
+                       }
+                       // Now add the tail (last) partial alignment and mark it as
+                       // such
+                       assert(validPartialAlignment(ps.back()));
+                       _partialsList.push_back(ps.back());
+                       // list tail
+                       _partialsList.back().entry.type = 3;
+#ifndef NDEBUG
+                       // Make sure there are not duplicate entries
+                       assert_eq(_partialsList.size(), origPlSz + ps.size());
+                       for(size_t i = origPlSz; i < _partialsList.size()-1; i++) {
+                               for(size_t j = i+1; j < _partialsList.size(); j++) {
+                                       assert(!samePartialAlignment(_partialsList[i], _partialsList[j]));
+                               }
+                       }
+#endif
+               }
+               // Assert that we added an entry
+               assert(_partialsMap.find(patid) != _partialsMap.end());
+               MUTEX_UNLOCK(_partialLock);
+       }
+
+       /**
+        * Get a set of partial alignments for a particular patid out of
+        * the partial-alignment database.
+        */
+       void getPartials(uint32_t patid, vector<PartialAlignment>& ps) {
+               assert_eq(0, ps.size());
+               MUTEX_LOCK(_partialLock);
+               getPartialsUnsync(patid, ps);
+               MUTEX_UNLOCK(_partialLock);
+       }
+
+       /**
+        * Get a set of partial alignments for a particular patid out of
+        * the partial-alignment database.  This version does not attempt to
+        * lock the database.  This is more efficient than the synchronized
+        * version, but is unsafe if there are other threads that may be
+        * writing to the database.
+        */
+       void getPartialsUnsync(uint32_t patid, vector<PartialAlignment>& ps) {
+               assert_eq(0, ps.size());
+               if(_partialsMap.find(patid) == _partialsMap.end()) {
+                       return;
+               }
+               PartialAlignment al;
+               al.u64.u64 = _partialsMap[patid].u64.u64;
+               uint32_t type = al.unk.type;
+               if(type == 0) {
+                       // singleton
+                       ps.push_back(al);
+               } else {
+                       // list
+                       assert_eq(1, type);
+                       uint32_t off = al.off.off;
+                       do {
+                               assert_lt(off, _partialsList.size());
+                               ASSERT_ONLY(type = _partialsList[off].entry.type);
+                               assert(type == 2 || type == 3);
+#ifndef NDEBUG
+                               // Make sure this entry isn't equal to any other entry
+                               for(size_t i = 0; i < ps.size(); i++) {
+                                       assert(validPartialAlignment(ps[i]));
+                                       assert(!samePartialAlignment(ps[i], _partialsList[off]));
+                               }
+#endif
+                               assert(validPartialAlignment(_partialsList[off]));
+                               ps.push_back(_partialsList[off]);
+                               ASSERT_ONLY(uint32_t pos0 = ps.back().entry.pos0);
+                               ASSERT_ONLY(uint32_t pos1 = ps.back().entry.pos1);
+                               ASSERT_ONLY(uint32_t pos2 = ps.back().entry.pos2);
+                               assert(pos1 == 0xffff || pos0 != pos1);
+                               assert(pos2 == 0xffff || pos0 != pos2);
+                               assert(pos2 == 0xffff || pos1 != pos2);
+                       } while(_partialsList[off++].entry.type == 2);
+                       assert_eq(3, _partialsList[off-1].entry.type);
+               }
+               assert_gt(ps.size(), 0);
+       }
+
+       /// Call to clear the database when there is only one element in it
+       void clear(uint32_t patid) {
+               assert_eq(1, _partialsMap.count(patid));
+               assert_eq(1, _partialsMap.size());
+               _partialsMap.erase(patid);
+               assert_eq(0, _partialsMap.size());
+               _partialsList.clear();
+               assert_eq(0, _partialsList.size());
+       }
+
+       size_t size() {
+               return _partialsMap.size();
+       }
+
+       /**
+        * Convert a partial alignment into a QueryMutation string.
+        */
+       static uint8_t toMutsString(const PartialAlignment& pal,
+                                   const String<Dna5>& seq,
+                                   const String<char>& quals,
+                                   String<QueryMutation>& muts,
+                                   bool maqPenalty = true)
+       {
+               reserve(muts, 4);
+               assert_eq(0, length(muts));
+               uint32_t plen = length(seq);
+               assert_gt(plen, 0);
+               assert_neq(1, pal.unk.type);
+               // Do first mutation
+               uint8_t oldQuals = 0;
+               uint32_t pos0 = pal.entry.pos0;
+               assert_lt(pos0, plen);
+               uint16_t tpos0 = plen-1-pos0;
+               uint32_t chr0 = pal.entry.char0;
+               uint8_t oldChar = (uint8_t)seq[tpos0];
+               uint8_t oldQual0 = mmPenalty(maqPenalty, phredCharToPhredQual(quals[tpos0]));
+               assert_leq(oldQual0, 99);
+               oldQuals += oldQual0; // take quality hit
+               appendValue(muts, QueryMutation(tpos0, oldChar, chr0)); // apply mutation
+               if(pal.entry.pos1 != 0xffff) {
+                       // Do second mutation
+                       uint32_t pos1 = pal.entry.pos1;
+                       assert_lt(pos1, plen);
+                       uint16_t tpos1 = plen-1-pos1;
+                       uint32_t chr1 = pal.entry.char1;
+                       oldChar = (uint8_t)seq[tpos1];
+                       uint8_t oldQual1 = mmPenalty(maqPenalty, phredCharToPhredQual(quals[tpos1]));
+                       assert_leq(oldQual1, 99);
+                       oldQuals += oldQual1; // take quality hit
+                       assert_neq(tpos1, tpos0);
+                       appendValue(muts, QueryMutation(tpos1, oldChar, chr1)); // apply mutation
+                       if(pal.entry.pos2 != 0xffff) {
+                               // Do second mutation
+                               uint32_t pos2 = pal.entry.pos2;
+                               assert_lt(pos2, plen);
+                               uint16_t tpos2 = plen-1-pos2;
+                               uint32_t chr2 = pal.entry.char2;
+                               oldChar = (uint8_t)seq[tpos2];
+                               uint8_t oldQual2 = mmPenalty(maqPenalty, phredCharToPhredQual(quals[tpos2]));
+                               assert_leq(oldQual2, 99);
+                               oldQuals += oldQual2; // take quality hit
+                               assert_neq(tpos2, tpos0);
+                               assert_neq(tpos2, tpos1);
+                               append(muts, QueryMutation(tpos2, oldChar, chr2)); // apply mutation
+                       }
+               }
+               assert_gt(length(muts), 0);
+               assert_leq(length(muts), 3);
+               return oldQuals;
+       }
+private:
+       /// Maps patids to partial alignments for that patid
+       map<uint32_t, PartialAlignment> _partialsMap;
+       /// Overflow for when a patid has more than 1 partial alignment
+       vector<PartialAlignment> _partialsList;
+       /// Lock for 'partialsMap' and 'partialsList'; necessary because
+       /// search threads will be reading and writing them
+       MUTEX_T _partialLock;
+};
+
+#endif /* EBWT_SEARCH_UTIL_H_ */
diff --git a/edit.cpp b/edit.cpp
new file mode 100644 (file)
index 0000000..6bb4b17
--- /dev/null
+++ b/edit.cpp
@@ -0,0 +1,16 @@
+/*
+ * edit.cpp
+ *
+ *  Created on: Jul 14, 2009
+ *      Author: Ben Langmead
+ */
+
+#include <iostream>
+#include "edit.h"
+
+using namespace std;
+
+ostream& operator<< (ostream& os, const Edit& e) {
+       os << e.pos << (char)e.chr;
+       return os;
+}
diff --git a/edit.h b/edit.h
new file mode 100644 (file)
index 0000000..ea7c269
--- /dev/null
+++ b/edit.h
@@ -0,0 +1,90 @@
+/*
+ * edit.h
+ *
+ *  Created on: Jul 31, 2009
+ *      Author: Ben Langmead
+ */
+
+#ifndef EDIT_H_
+#define EDIT_H_
+
+#include <iostream>
+#include <stdint.h>
+#include "assert_helpers.h"
+#include "filebuf.h"
+
+/**
+ * 3 types of edits; mismatch (substitution), insertion in the
+ * reference, deletion in the reference.
+ */
+enum {
+       EDIT_TYPE_MM = 1,
+       EDIT_TYPE_SNP,
+       EDIT_TYPE_INS,
+       EDIT_TYPE_DEL
+};
+
+/**
+ * Encapsulates an edit between the read sequence and the reference
+ * sequence.
+ */
+struct Edit {
+
+       Edit() : pos(1023) { }
+
+       Edit(int po, int ch, int ty = EDIT_TYPE_MM) :
+               chr(ch), qchr(0), type(ty), pos(po) { }
+
+       /**
+        * Write Edit to an OutFileBuf.
+        */
+       void serialize(OutFileBuf& fb) const {
+               assert_eq(4, sizeof(Edit));
+               fb.writeChars((const char*)this, 4);
+       }
+
+       /**
+        * Read Edit from a FileBuf.
+        */
+       void deserialize(FileBuf& fb) {
+               fb.get((char*)this, 4);
+       }
+
+       /**
+        * Edit less-than overload.
+        */
+       int operator< (const Edit &rhs) const {
+               if(pos < rhs.pos) return 1;
+               if(pos > rhs.pos) return 0;
+               if(chr < rhs.chr) return 1;
+               if(chr > rhs.chr) return 0;
+               return (qchr < rhs.qchr)? 1 : 0;
+       }
+
+       /**
+        * Edit equals overload.
+        */
+       int operator== (const Edit &rhs) const {
+               return(pos  == rhs.pos &&
+                          chr  == rhs.chr &&
+                          qchr == rhs.qchr &&
+                          type == rhs.type);
+       }
+
+       /**
+        * Return true iff this Edit is initialized.
+        */
+       bool initialized() const {
+               return pos != 1023;
+       }
+
+       uint32_t chr       :  8; // reference character involved (for subst and ins)
+       uint32_t qchr      :  8; // read character involved (for subst and del
+       uint32_t type      :  4; // 1 -> mm, 2 -> SNP, 3 -> ins, 4 -> del
+       uint32_t pos       : 10; // position w/r/t search root
+       uint32_t reserved  :  2; // padding
+
+       friend std::ostream& operator<< (std::ostream& os, const Edit& e);
+};
+
+#endif /* EDIT_H_ */
diff --git a/endian_swap.h b/endian_swap.h
new file mode 100644 (file)
index 0000000..a462f9a
--- /dev/null
@@ -0,0 +1,78 @@
+#ifndef ENDIAN_SWAP_H
+#define ENDIAN_SWAP_H
+
+#include <stdint.h>
+#include <inttypes.h>
+
+/**
+ * Return true iff the machine running this program is big-endian.
+ */
+static inline bool currentlyBigEndian() {
+       static uint8_t endianCheck[] = {1, 0, 0, 0};
+       return *((uint32_t*)endianCheck) != 1;
+}
+
+/**
+ * Return copy of uint32_t argument with byte order reversed.
+ */
+static inline uint32_t endianSwapU32(uint32_t u) {
+       uint32_t tmp = 0;
+       tmp |= ((u >> 24) & (0xff <<  0));
+       tmp |= ((u >>  8) & (0xff <<  8));
+       tmp |= ((u <<  8) & (0xff << 16));
+       tmp |= ((u << 24) & (0xff << 24));
+       return tmp;
+}
+
+/**
+ * Return copy of uint64_t argument with byte order reversed.
+ */
+static inline uint64_t endianSwapU64(uint64_t u) {
+       uint64_t tmp = 0;
+       tmp |= ((u >> 56) & (0xffull <<  0));
+       tmp |= ((u >> 40) & (0xffull <<  8));
+       tmp |= ((u >> 24) & (0xffull << 16));
+       tmp |= ((u >>  8) & (0xffull << 24));
+       tmp |= ((u <<  8) & (0xffull << 32));
+       tmp |= ((u << 24) & (0xffull << 40));
+       tmp |= ((u << 40) & (0xffull << 48));
+       tmp |= ((u << 56) & (0xffull << 56));
+       return tmp;
+}
+
+
+/**
+ * Return copy of int32_t argument with byte order reversed.
+ */
+static inline int32_t endianSwapI32(int32_t i) {
+       int32_t tmp = 0;
+       tmp |= ((i >> 24) & (0xff <<  0));
+       tmp |= ((i >>  8) & (0xff <<  8));
+       tmp |= ((i <<  8) & (0xff << 16));
+       tmp |= ((i << 24) & (0xff << 24));
+       return tmp;
+}
+
+/**
+ * Convert uint32_t argument to the specified endianness.  It's assumed
+ * that u currently has the endianness of the current machine.
+ */
+static inline uint32_t endianizeU32(uint32_t u, bool toBig) {
+       if(toBig == currentlyBigEndian()) {
+               return u;
+       }
+       return endianSwapU32(u);
+}
+
+/**
+ * Convert int32_t argument to the specified endianness.  It's assumed
+ * that u currently has the endianness of the current machine.
+ */
+static inline int32_t endianizeI32(int32_t i, bool toBig) {
+       if(toBig == currentlyBigEndian()) {
+               return i;
+       }
+       return endianSwapI32(i);
+}
+
+#endif
diff --git a/filebuf.h b/filebuf.h
new file mode 100644 (file)
index 0000000..62a52b8
--- /dev/null
+++ b/filebuf.h
@@ -0,0 +1,567 @@
+/*
+ * filebuf.h
+ *
+ *      Author: Ben Langmead
+ */
+#ifndef FILEBUF_H_
+#define FILEBUF_H_
+
+#include <iostream>
+#include <fstream>
+#include <string>
+#include <stdio.h>
+#include <string.h>
+#include <stdint.h>
+#include <stdexcept>
+#include "assert_helpers.h"
+
+/**
+ * Simple wrapper for a FILE*, istream or ifstream that reads it in
+ * chunks (with fread) and keeps those chunks in a buffer.  It also
+ * services calls to get(), peek() and gets() from the buffer, reading
+ * in additional chunks when necessary.
+ */
+class FileBuf {
+public:
+       FileBuf() {
+               init();
+       }
+
+       FileBuf(FILE *in) {
+               init();
+               _in = in;
+               assert(_in != NULL);
+       }
+
+       FileBuf(std::ifstream *inf) {
+               init();
+               _inf = inf;
+               assert(_inf != NULL);
+       }
+
+       FileBuf(std::istream *ins) {
+               init();
+               _ins = ins;
+               assert(_ins != NULL);
+       }
+
+       bool isOpen() {
+               return _in != NULL || _inf != NULL || _ins != NULL;
+       }
+
+       /**
+        * Close the input stream (if that's possible)
+        */
+       void close() {
+               if(_in != NULL && _in != stdin) {
+                       fclose(_in);
+               } else if(_inf != NULL) {
+                       _inf->close();
+               } else {
+                       // can't close _ins
+               }
+       }
+
+       /**
+        * Get the next character of input and advance.
+        */
+       int get() {
+               assert(_in != NULL || _inf != NULL || _ins != NULL);
+               int c = peek();
+               if(c != -1) {
+                       _cur++;
+                       if(_lastn_cur < LASTN_BUF_SZ) _lastn_buf[_lastn_cur++] = c;
+               }
+               return c;
+       }
+
+       /**
+        * Return true iff all input is exhausted.
+        */
+       bool eof() {
+               return (_cur == _buf_sz) && _done;
+       }
+
+       /**
+        * Initialize the buffer with a new C-style file.
+        */
+       void newFile(FILE *in) {
+               _in = in;
+               _inf = NULL;
+               _ins = NULL;
+               _cur = BUF_SZ;
+               _buf_sz = BUF_SZ;
+               _done = false;
+       }
+
+       /**
+        * Initialize the buffer with a new ifstream.
+        */
+       void newFile(std::ifstream *__inf) {
+               _in = NULL;
+               _inf = __inf;
+               _ins = NULL;
+               _cur = BUF_SZ;
+               _buf_sz = BUF_SZ;
+               _done = false;
+       }
+
+       /**
+        * Initialize the buffer with a new istream.
+        */
+       void newFile(std::istream *__ins) {
+               _in = NULL;
+               _inf = NULL;
+               _ins = __ins;
+               _cur = BUF_SZ;
+               _buf_sz = BUF_SZ;
+               _done = false;
+       }
+
+       /**
+        * Restore state as though we just started reading the input
+        * stream.
+        */
+       void reset() {
+               if(_inf != NULL) {
+                       _inf->clear();
+                       _inf->seekg(0, std::ios::beg);
+               } else if(_ins != NULL) {
+                       _ins->clear();
+                       _ins->seekg(0, std::ios::beg);
+               } else {
+                       rewind(_in);
+               }
+               _cur = BUF_SZ;
+               _buf_sz = BUF_SZ;
+               _done = false;
+       }
+
+       /**
+        * Peek at the next character of the input stream without
+        * advancing.  Typically we can simple read it from the buffer.
+        * Occasionally we'll need to read in a new buffer's worth of data.
+        */
+       int peek() {
+               assert(_in != NULL || _inf != NULL || _ins != NULL);
+               assert_leq(_cur, _buf_sz);
+               if(_cur == _buf_sz) {
+                       if(_done) {
+                               // We already exhausted the input stream
+                               return -1;
+                       }
+                       // Read a new buffer's worth of data
+                       else {
+                               // Get the next chunk
+                               if(_inf != NULL) {
+                                       _inf->read((char*)_buf, BUF_SZ);
+                                       _buf_sz = _inf->gcount();
+                               } else if(_ins != NULL) {
+                                       _ins->read((char*)_buf, BUF_SZ);
+                                       _buf_sz = _ins->gcount();
+                               } else {
+                                       assert(_in != NULL);
+                                       _buf_sz = fread(_buf, 1, BUF_SZ, _in);
+                               }
+                               _cur = 0;
+                               if(_buf_sz == 0) {
+                                       // Exhausted, and we have nothing to return to the
+                                       // caller
+                                       _done = true;
+                                       return -1;
+                               } else if(_buf_sz < BUF_SZ) {
+                                       // Exhausted
+                                       _done = true;
+                               }
+                       }
+               }
+               return (int)_buf[_cur];
+       }
+
+       /**
+        * Store a string of characters from the input file into 'buf',
+        * until we see a newline, EOF, or until 'len' characters have been
+        * read.
+        */
+       size_t gets(char *buf, size_t len) {
+               size_t stored = 0;
+               while(true) {
+                       int c = get();
+                       if(c == -1) {
+                               // End-of-file
+                               buf[stored] = '\0';
+                               return stored;
+                       }
+                       if(stored == len-1 || c == '\n' || c == '\r') {
+                               // End of string
+                               buf[stored] = '\0';
+                               // Skip over all end-of-line characters
+                               int pc = peek();
+                               while(pc == '\n' || pc == '\r') {
+                                       get(); // discard
+                                       pc = peek();
+                               }
+                               // Next get() will be after all newline characters
+                               return stored;
+                       }
+                       buf[stored++] = (char)c;
+               }
+       }
+
+       /**
+        * Store a string of characters from the input file into 'buf',
+        * until we see a newline, EOF, or until 'len' characters have been
+        * read.
+        */
+       size_t get(char *buf, size_t len) {
+               size_t stored = 0;
+               for(size_t i = 0; i < len; i++) {
+                       int c = get();
+                       if(c == -1) return i;
+                       buf[stored++] = (char)c;
+               }
+               return len;
+       }
+
+       static const size_t LASTN_BUF_SZ = 8 * 1024;
+
+       /**
+        * Keep get()ing characters until a non-whitespace character (or
+        * -1) is reached, and return it.
+        */
+       int getPastWhitespace() {
+               int c;
+               while(isspace(c = get()) && c != -1);
+               return c;
+       }
+
+       /**
+        * Keep get()ing characters until a we've passed over the next
+        * string of newline characters (\r's and \n's) or -1 is reached,
+        * and return it.
+        */
+       int getPastNewline() {
+               int c = get();
+               while(c != '\r' && c != '\n' && c != -1) c = get();
+               while(c == '\r' || c == '\n') c = get();
+               assert_neq(c, '\r');
+               assert_neq(c, '\n');
+               return c;
+       }
+
+       /**
+        * Keep get()ing characters until a we've passed over the next
+        * string of newline characters (\r's and \n's) or -1 is reached,
+        * and return it.
+        */
+       int peekPastNewline() {
+               int c = peek();
+               while(c != '\r' && c != '\n' && c != -1) c = get();
+               while(c == '\r' || c == '\n') c = get();
+               assert_neq(c, '\r');
+               assert_neq(c, '\n');
+               return c;
+       }
+
+       /**
+        * Keep peek()ing then get()ing characters until the next return
+        * from peek() is just after the last newline of the line.
+        */
+       int peekUptoNewline() {
+               int c = peek();
+               while(c != '\r' && c != '\n' && c != -1) {
+                       get(); c = peek();
+               }
+               while(c == '\r' || c == '\n') {
+                       get();
+                       c = peek();
+               }
+               assert_neq(c, '\r');
+               assert_neq(c, '\n');
+               return c;
+       }
+
+       size_t lastNCur() const { return _lastn_cur; }
+
+       /**
+        * Reset to the beginning of the last-N-chars buffer.
+        */
+       void resetLastN() {
+               _lastn_cur = 0;
+       }
+
+       /**
+        * Copy the last several characters in the last-N-chars buffer
+        * (since the last reset) into the provided buffer.
+        */
+       size_t copyLastN(char *buf) {
+               memcpy(buf, _lastn_buf, _lastn_cur);
+               return _lastn_cur;
+       }
+
+       /**
+        * Get const pointer to the last-N-chars buffer.
+        */
+       const char *lastN() const {
+               return _lastn_buf;
+       }
+
+       /**
+        * Get current size of the last-N-chars buffer.
+        */
+       const size_t lastNLen() const {
+               return _lastn_cur;
+       }
+
+private:
+
+       void init() {
+               _in = NULL;
+               _inf = NULL;
+               _ins = NULL;
+               _cur = _buf_sz = BUF_SZ;
+               _done = false;
+               _lastn_cur = 0;
+               // no need to clear _buf[]
+       }
+
+       static const size_t BUF_SZ = 256 * 1024;
+       FILE     *_in;
+       std::ifstream *_inf;
+       std::istream  *_ins;
+       size_t    _cur;
+       size_t    _buf_sz;
+       bool      _done;
+       uint8_t   _buf[BUF_SZ]; // (large) input buffer
+       size_t    _lastn_cur;
+       char      _lastn_buf[LASTN_BUF_SZ]; // buffer of the last N chars dispensed
+};
+
+/**
+ * Wrapper for a buffered output stream that writes bitpairs.
+ */
+class BitpairOutFileBuf {
+public:
+       /**
+        * Open a new output stream to a file with given name.
+        */
+       BitpairOutFileBuf(const char *in) : bpPtr_(0), cur_(0) {
+               assert(in != NULL);
+               out_ = fopen(in, "wb");
+               if(out_ == NULL) {
+                       std::cerr << "Error: Could not open bitpair-output file " << in << std::endl;
+                       throw 1;
+               }
+               memset(buf_, 0, BUF_SZ);
+       }
+
+       /**
+        * Write a single bitpair into the buf.  Flush the buffer if it's
+        * full.
+        */
+       void write(int bp) {
+               assert_lt(bp, 4);
+               assert_geq(bp, 0);
+               buf_[cur_] |= (bp << bpPtr_);
+               if(bpPtr_ == 6) {
+                       bpPtr_ = 0;
+                       cur_++;
+                       if(cur_ == BUF_SZ) {
+                               // Flush the buffer
+                               if(!fwrite((const void *)buf_, BUF_SZ, 1, out_)) {
+                                       std::cerr << "Error writing to the reference index file (.4.ebwt)" << std::endl;
+                                       throw 1;
+                               }
+                               // Reset to beginning of the buffer
+                               cur_ = 0;
+                       }
+                       // Initialize next octet to 0
+                       buf_[cur_] = 0;
+               } else {
+                       bpPtr_ += 2;
+               }
+       }
+
+       /**
+        * Write any remaining bitpairs and then close the input
+        */
+       void close() {
+               if(cur_ > 0 || bpPtr_ > 0) {
+                       if(bpPtr_ == 0) cur_--;
+                       if(!fwrite((const void *)buf_, cur_ + 1, 1, out_)) {
+                               std::cerr << "Error writing to the reference index file (.4.ebwt)" << std::endl;
+                               throw 1;
+                       }
+               }
+               fclose(out_);
+       }
+private:
+       static const size_t BUF_SZ = 128 * 1024;
+       FILE    *out_;
+       int      bpPtr_;
+       uint32_t cur_;
+       char     buf_[BUF_SZ]; // (large) input buffer
+};
+
+/**
+ * Wrapper for a buffered output stream that writes characters and
+ * other data types.  This class is *not* synchronized; the caller is
+ * responsible for synchronization.
+ */
+class OutFileBuf {
+
+public:
+
+       /**
+        * Open a new output stream to a file with given name.
+        */
+       OutFileBuf(const char *out, bool binary = false) :
+               name_(out), cur_(0), closed_(false)
+       {
+               assert(out != NULL);
+               out_ = fopen(out, binary ? "wb" : "w");
+               if(out_ == NULL) {
+                       std::cerr << "Error: Could not open alignment output file " << out << std::endl;
+                       throw 1;
+               }
+       }
+
+       /**
+        * Open a new output stream to standard out.
+        */
+       OutFileBuf() : name_("cout"), cur_(0), closed_(false) {
+               out_ = stdout;
+       }
+
+       /**
+        * Open a new output stream to a file with given name.
+        */
+       void setFile(const char *out, bool binary = false) {
+               assert(out != NULL);
+               out_ = fopen(out, binary ? "wb" : "w");
+               if(out_ == NULL) {
+                       std::cerr << "Error: Could not open alignment output file " << out << std::endl;
+                       throw 1;
+               }
+               reset();
+       }
+
+       /**
+        * Write a single character into the write buffer and, if
+        * necessary, flush.
+        */
+       void write(char c) {
+               assert(!closed_);
+               if(cur_ == BUF_SZ) flush();
+               buf_[cur_++] = c;
+       }
+
+       /**
+        * Write a c++ string to the write buffer and, if necessary, flush.
+        */
+       void writeString(const std::string& s) {
+               assert(!closed_);
+               size_t slen = s.length();
+               if(cur_ + slen > BUF_SZ) {
+                       if(cur_ > 0) flush();
+                       if(slen >= BUF_SZ) {
+                               size_t wlen = fwrite(s.c_str(), 1, slen, out_);
+                               if(wlen != slen) {
+                                       std::cerr << "Error while writing string output; " << slen
+                                                         << " characters in string, " << wlen
+                                                         << " written" << std::endl;
+                                       throw 1;
+                               }
+                       } else {
+                               memcpy(&buf_[cur_], s.data(), slen);
+                               assert_eq(0, cur_);
+                               cur_ = slen;
+                       }
+               } else {
+                       memcpy(&buf_[cur_], s.data(), slen);
+                       cur_ += slen;
+               }
+               assert_leq(cur_, BUF_SZ);
+       }
+
+       /**
+        * Write a c++ string to the write buffer and, if necessary, flush.
+        */
+       void writeChars(const char * s, size_t len) {
+               assert(!closed_);
+               if(cur_ + len > BUF_SZ) {
+                       if(cur_ > 0) flush();
+                       if(len >= BUF_SZ) {
+                               size_t wlen = fwrite(s, 1, len, out_);
+                               if(wlen != len) {
+                                       std::cerr << "Error while writing string output; " << len
+                                                         << " characters in string, " << wlen
+                                                         << " written" << std::endl;
+                                       throw 1;
+                               }
+                       } else {
+                               memcpy(&buf_[cur_], s, len);
+                               assert_eq(0, cur_);
+                               cur_ = len;
+                       }
+               } else {
+                       memcpy(&buf_[cur_], s, len);
+                       cur_ += len;
+               }
+               assert_leq(cur_, BUF_SZ);
+       }
+
+       /**
+        * Write any remaining bitpairs and then close the input
+        */
+       void close() {
+               if(closed_) return;
+               if(cur_ > 0) flush();
+               closed_ = true;
+               if(out_ != stdout) {
+                       fclose(out_);
+               }
+       }
+
+       /**
+        * Reset so that the next write is as though it's the first.
+        */
+       void reset() {
+               cur_ = 0;
+               closed_ = false;
+       }
+
+       void flush() {
+               if(!fwrite((const void *)buf_, cur_, 1, out_)) {
+                       std::cerr << "Error while flushing and closing output" << std::endl;
+                       throw 1;
+               }
+               cur_ = 0;
+       }
+
+       /**
+        * Return true iff this stream is closed.
+        */
+       bool closed() const {
+               return closed_;
+       }
+
+       /**
+        * Return the filename.
+        */
+       const char *name() {
+               return name_;
+       }
+
+private:
+
+       static const size_t BUF_SZ = 16 * 1024;
+
+       const char *name_;
+       FILE       *out_;
+       uint32_t    cur_;
+       char        buf_[BUF_SZ]; // (large) input buffer
+       bool        closed_;
+};
+
+#endif /*ndef FILEBUF_H_*/
diff --git a/formats.h b/formats.h
new file mode 100644 (file)
index 0000000..3bff890
--- /dev/null
+++ b/formats.h
@@ -0,0 +1,57 @@
+#ifndef FORMATS_H_
+#define FORMATS_H_
+
+#include <iostream>
+#include <seqan/sequence.h>
+
+/**
+ * File-format constants and names
+ */
+
+enum file_format {
+       FASTA = 1,
+       FASTA_CONT,
+       FASTQ,
+       TAB_MATE,
+       RAW,
+       CMDLINE,
+       INPUT_CHAIN,
+       RANDOM
+};
+
+static const std::string file_format_names[] = {
+       "Invalid!",
+       "FASTA",
+       "FASTA sampling",
+       "FASTQ",
+       "Tabbed mated",
+       "Raw",
+       "Command line",
+       "Chained",
+       "Random"
+};
+
+/**
+ * Print the given read information as a FASTA record.
+ */
+static inline void printFastaRecord(
+               std::ostream& o,
+               const seqan::String<char>& name,
+               const seqan::String<seqan::Dna5>& seq)
+{
+       o << ">" << name << endl << seq << endl;
+}
+
+/**
+ * Print the given read information as a FASTQ record.
+ */
+static inline void printFastqRecord(
+               std::ostream& o,
+               const seqan::String<char>& name,
+               const seqan::String<seqan::Dna5>& seq,
+               const seqan::String<char>& qual)
+{
+       o << "@" << name << endl << seq << endl << "+" << endl << qual << endl;
+}
+
+#endif /*FORMATS_H_*/
diff --git a/genomes/NC_008253.fna b/genomes/NC_008253.fna
new file mode 100644 (file)
index 0000000..0b76d3e
--- /dev/null
@@ -0,0 +1,70557 @@
+>gi|110640213|ref|NC_008253.1| Escherichia coli 536, complete genome
+AGCTTTTCATTCTGACTGCAACGGGCAATATGTCTCTGTGTGGATTAAAAAAAGAGTGTCTGATAGCAGC
+TTCTGAACTGGTTACCTGCCGTGAGTAAATTAAAATTTTATTGACTTAGGTCACTAAATACTTTAACCAA
+TATAGGCATAGCGCACAGACAGATAAAAATTACAGAGTACACAACATCCATGAAACGCATTAGCACCACC
+ATTACCACCACCATCACCATTACCACAGGTAACGGTGCGGGCTGACGCGTACAGGAAACACAGAAAAAAG
+CCCGCACCTGACAGTGCGGGCTTTTTTTTCGACCAAAGGTAACGAGGTAACAACCATGCGAGTGTTGAAG
+TTCGGCGGTACATCAGTGGCAAATGCAGAACGTTTTCTGCGGGTTGCCGATATTCTGGAAAGCAATGCCA
+GGCAGGGGCAGGTGGCCACCGTCCTCTCTGCCCCCGCCAAAATCACCAACCATCTGGTAGCGATGATTGA
+AAAAACCATTAGCGGTCAGGATGCTTTACCCAATATCAGCGATGCCGAACGTATTTTTGCCGAACTTCTG
+ACGGGACTCGCCGCCGCCCAGCCGGGATTTCCGCTGGCACAATTGAAAACTTTCGTCGACCAGGAATTTG
+CCCAAATAAAACATGTCCTGCATGGCATCAGTTTGTTGGGGCAGTGCCCGGATAGCATCAACGCTGCGCT
+GATTTGCCGTGGCGAGAAAATGTCGATCGCCATTATGGCCGGCGTGTTAGAAGCGCGTGGTCACAACGTT
+ACCGTTATCGATCCGGTCGAAAAACTGCTGGCAGTGGGTCATTACCTCGAATCTACCGTTGATATTGCTG
+AATCCACCCGCCGTATTGCGGCAAGCCGCATTCCGGCTGACCACATGGTGCTGATGGCTGGTTTCACTGC
+CGGTAATGAAAAAGGCGAGCTGGTGGTTCTGGGACGCAACGGTTCCGACTACTCCGCTGCGGTGCTGGCG
+GCCTGTTTACGCGCCGATTGTTGCGAGATCTGGACGGATGTTGACGGTGTTTATACCTGCGATCCGCGTC
+AGGTGCCCGATGCGAGGTTGTTGAAGTCGATGTCCTATCAGGAAGCGATGGAGCTTTCTTACTTCGGCGC
+TAAAGTTCTTCACCCCCGCACCATTACCCCCATCGCCCAGTTCCAGATCCCTTGCCTGATTAAAAATACC
+GGAAATCCCCAAGCACCAGGTACGCTCATTGGTGCCAGCCGTGATGAAGACGAATTACCGGTCAAGGGCA
+TTTCCAATCTGAATAACATGGCAATGTTCAGCGTTTCCGGCCCGGGGATGAAAGGGATGGTTGGCATGGC
+GGCGCGCGTCTTTGCAGCGATGTCACGCGCCCGTATTTCCGTGGTGCTGATTACGCAATCATCTTCCGAA
+TACAGTATCAGTTTCTGCGTTCCGCAAAGCGACTGTGTGCGAGCTGAACGGGCAATGCAGGAAGAGTTCT
+ACCTGGAACTGAAAGAAGGCTTACTGGAGCCGTTGGCGGTGACGGAACGGCTGGCCATTATCTCGGTGGT
+AGGTGATGGTATGCGCACCTTACGTGGGATCTCGGCGAAATTCTTTGCCGCGCTGGCCCGCGCCAATATC
+AACATTGTCGCCATTGCTCAGGGATCTTCTGAACGCTCAATCTCTGTCGTGGTCAATAACGATGATGCGA
+CCACTGGCGTGCGCGTTACTCATCAGATGCTGTTCAATACCGATCAGGTTATCGAAGTGTTTGTGATTGG
+CGTCGGTGGCGTTGGCGGTGCGCTGCTGGAGCAACTGAAGCGTCAGCAAAGCTGGTTGAAGAATAAACAT
+ATCGACTTACGTGTCTGCGGTGTTGCTAACTCGAAGGCACTGCTCACCAATGTACATGGCCTTAATCTGG
+AAAACTGGCAGGAAGAACTGGCGCAAGCCAAAGAGCCGTTTAATCTCGGGCGCTTAATTCGCCTCGTGAA
+AGAATATCATCTGCTGAACCCGGTCATTGTTGACTGTACTTCCAGCCAGGCTGTGGCAGATCAATATGCC
+GACTTCCTGCGCGAAGGTTTCCACGTTGTTACGCCGAACAAAAAGGCCAACACCTCGTCGATGGATTACT
+ACCATCAGTTGCGTTATGCGGCGGAAAAATCGCGGCGTAAATTCCTCTATGACACCAACGTTGGGGCTGG
+ATTACCGGTTATTGAGAACCTGCAAAATCTGCTCAATGCTGGTGATGAATTGATGAAGTTCTCCGGCATT
+CTTTCAGGTTCGCTTTCTTATATCTTCGGCAAGTTAGACGAAGGCATGAGTTTCTCCGAGGCGACCACAC
+TGGCGCGGGAAATGGGTTATACCGAACCGGACCCGCGAGATGATCTTTCTGGTATGGATGTGGCGCGTAA
+GCTATTGATTCTCGCTCGTGAAACGGGACGTGAACTGGAGCTGGCGGATATTGAAATTGAACCTGTGCTG
+CCCGCAGAGTTTAACGCCGAGGGTGATGTCGCCGCTTTTATGGCGAATCTGTCACAGCTCGACGATCTCT
+TTGCCGCGCGTGTGGCGAAGGCCCGTGATGAAGGAAAAGTTTTGCGCTATGTTGGCAATATTGATGAAGA
+TGGCGTCTGCCGCGTGAAGATTGCCGAAGTGGATGGTAATGATCCGCTGTTCAAAGTGAAAAATGGCGAA
+AACGCCCTGGCCTTCTATAGCCACTATTATCAGCCGCTGCCGTTGGTACTGCGCGGATATGGTGCGGGCA
+ATGACGTTACAGCTGCCGGTGTCTTTGCTGATCTGCTACGTACCCTCTCATGGAAGTTAGGAGTCTGACA
+TGGTTAAAGTTTATGCCCCGGCTTCCAGTGCCAATATGAGCGTCGGGTTTGATGTGCTCGGGGCGGCGGT
+GACACCTGTTGATGGTGCATTGCTCGGAGATGTAGTCACGGTTGAGGCGGCAGAGACATTCAGTCTCAAC
+AACCTCGGACGCTTTGCCGATAAGCTGCCGTCAGAGCCACGGGAAAATATCGTTTATCAGTGCTGGGAGC
+GTTTTTGCCAGGAGCTTGGCAAGCAAATTCCAGTGGCGATGACTCTGGAAAAGAATATGCCGATCGGTTC
+GGGCTTAGGCTCCAGCGCCTGTTCAGTGGTCGCGGCGCTGATGGCGATGAATGAACACTGCGGCAAGCCG
+CTTAATGACACTCGTTTGCTGGCTTTGATGGGCGAGTTGGAAGGGCGTATCTCCGGCAGCATTCATTACG
+ACAACGTGGCACCGTGTTTTCTTGGTGGTATGCAGTTGATGATCGAAGAAAACGACATCATCAGCCAGCA
+AGTGCCAGGGTTTGATGAGTGGCTGTGGGTGCTGGCGTATCCGGGGATTAAAGTCTCGACGGCAGAAGCC
+AGGGCTATTTTACCGGCGCAGTATCGCCGCCAGGATTGCATTGCGCACGGGCGACATCTGGCAGGCTTCA
+TTCACGCCTGCTATTCCCGTCAGCTTGAGCTTGCCGCGAAGCTGATGAAAGATGTTATCGCTGAACCCTA
+CCGTGAACGGTTACTGCCAGGCTTCCGGCAGGCGCGGCAGGCGGTTGCGGAAATCGGCGCGGTAGCGAGC
+GGTATCTCCGGCTCCGGCCCGACTTTGTTCGCTCTGTGTGACAAGCCGGATACCGCCCAGCGCGTTGCCG
+ACTGGTTGGGTAAGAACTACCTGCAAAATCAGGAAGGTTTTGTTCATATTTGCCGGCTGGATACGGCGGG
+CGCACGAGTACTGGAAAACTAAATGAAACTCTACAATCTGAAAGATCACAATGAGCAGGTCAGCTTTGCG
+CAAGCCGTAACCCAGGGGTTAGGCAAAAATCAGGGGCTGTTTTTTCCGCACGACCTGCCGGAATTCAGCC
+TGACTGAAATTGATGAGATGCTGAAGCTGGATTTTGTCACCCGCAGTGCGAAGATCCTCTCGGCGTTTAT
+TGGTGATGAAATCCCGCAGGAAATCCTGGAAGAGCGCGTACGTGCGGCGTTTGCCTTCCCGGCTCCGGTC
+GCCAATGTTGAAAGCGATGTCGGTTGTCTGGAATTGTTCCACGGGCCAACGCTGGCATTTAAAGATTTCG
+GCGGTCGCTTTATGGCACAAATGCTGACCCATATTGCGGGCGATAAGCCAGTGACCATTCTGACCGCGAC
+ATCCGGTGATACTGGAGCGGCAGTGGCTCATGCTTTCTACGGTTTACCGAATGTGAAAGTGGTTATCCTC
+TATCCACGAGGCAAAATCAGTCCACTGCAAGAAAAACTGTTCTGTACATTGGGCGGCAATATCGAAACTG
+TTGCCATCGACGGCGATTTCGATGCCTGTCAGGCGCTGGTGAAGCAGGCGTTTGATGATGAAGAACTGAA
+AGTGGCGCTGGGGCTGAATTCTGCTAACTCCATCAACATCAGTCGCTTGCTGGCGCAGATTTGTTATTAC
+TTTGAGGCTGTCGCACAGTTGCCGCAAGAAGCACGTAACCAGTTGGTTGTCTCGGTACCGAGTGGAAACT
+TCGGCGATTTGACGGCGGGTCTGCTGGCGAAGTCACTCGGTCTGCCGGTAAAACGTTTTATTGCTGCGAC
+CAACGTGAACGATACCGTACCACGTTTCCTGCACGACGGTCAGTGGTCACCCAAAGCGACTCAGGCGACG
+TTATCCAATGCGATGGATGTTAGCCAGCCAAACAACTGGCCGCGTGTGGAAGAGTTGTTCCGCCGCAAAA
+TCTGGCAACTGAAAGAGCTGGGTTATGCAGCCGTGGATGATGAAACCACGCAACAGACAATGCGTGAGTT
+AAAAGAACTGGGCTATACCTCGGAGCCGCACGCTGCCGTAGCTTATCGTGCGCTGCGTGACCAGTTGAAT
+CCAGGCGAATATGGCTTGTTCCTCGGCACCGCGCATCCGGCGAAATTTAAAGAGAGCGTGGAAGCGATTC
+TCGGTGAAACGTTGGATCTGCCAAAAGAGCTGGCAGAACGTGCTGATTTACCCTTGCTTTCGCATAACCT
+GCCCGCCGATTTTGCTGCGTTGCGTAAATTGATGATGAATCATCAGTAACATCTATTCATTATCTCAATC
+AGGCCGGGTTTGCTTTTATGCAGCCCGGCTTTTTTTATGAAGAAAATATGGAGAAAAACGACAGGGAAAA
+AGGAGAAATTCTCAATAAATGCGGTAACTTAGAGATTAGGATTGCGGAGAATAACAACTGCCGTTCTCAT
+CGCGTAATCTCCGGATATCGACCCATAACGGGCAATGATAAAAGGAGTAACCTGTGAAAAAGATGCAATC
+TATCGTACTCGCACTTTCCCTGGTTCTGGTCGCTCCCATGGCAGCGCAGGCTGCGGAAATTACGCTAGTC
+CCGTCAGTAAAATTACAGATAGGCGATCGTGATAATCGTGGCTATTACTGGGATGGCGGTCATTGGCGCG
+ACCACGGCTGGTGGAAACAACATTATGAATGGCGAGGCAATCGCTGGCACCCACATGGACCGCCGTCATC
+GCCGCGCCATAACAAGCACAATGATCATCGTGGCGATCATCGTCCGGGGCCTGACAAACATCATCGCTAA
+ATATCAATGCCGGATTGCCATCCGGCATTATCCGGCATTGACTACAAACTTAACGTTGTTCGTAGCGTTT
+AAACACCAGTTCGCCATTGCTGGAGGAAGCTTCATCAAAGAAGTAACCTTCGCTATTAAAACCAGTCAGT
+TGCTCTGGTTTGGTCAGCCGATTTTCAATAATGAAACGACTCATCAGACCGCGTGCTTTCTTAGCGTAGA
+AGCTGATGATCTTAAATTTGCCGTTCTTCTCATCGAGGAACACTGGCTTGATAATCTCGGCATTCAATTT
+CTTCGGCTTCACCGATTTAAAATACTCATCTGACGCCAGATTTATCACCACATTATCGCCTTGTGCTGCG
+AGCGCCTCGTTCAGCTTGTTGGTGATGATATCTCCCCAGAATTGATACAGATCTTTCCCTCGGGCATTCT
+CAAGACGTATCCCCATTTCCAGACGATAAGGCTGCATTAAATCGAGCGGGCGCAGTACGCCATACAAGCC
+GGAAAGCATTCGCAAATGCTGTTGGGCAAAATCGAAATCGTCTTCGCTGAAGGTTTCGGCCTGCAAGCCA
+GTGTAGACATCACCTTTAAACGCCAGAATTGCCTGGCGGGCATTCTCCGGTGTGAAATTTGGCTGCCAGT
+CATGAAAGCGAGCGGCGTTGATACCCGCCAGTTTGTCGCTGATGCGCATCAGGGAGCTAATCTGCGGGGG
+CGTCAGTTTCCGCGCTTCATGGATCAGCTGCTGGGCGTTGTCTAACAGCTCCGGCAGCGTATAGCGCGTG
+GTGGTCAACGGGCTTTGGTAATCAAGCGTTTTCGCAGGTGAAATAAGAATCAGCATATCCAGTCCTTGCA
+GGAAATTTATGCCGACTTTAGCAAAAAAAGAGAATGAGTTGATCGATAGTTGTGATTACTCCTGCGAAAC
+ATCATCCCACGCGTCTGGAGAAAGCTGGCGACCGATCTCCGGATAACGCAACGGATCAAACACCGGGCGC
+ACGCCGAGTTTACGCTGGCGTAGATAATCACTGGCAATGGTATGAACCACAGGCGAGAGCAGTAATATGG
+CGGTCAAATTGGTAATAGCCATGCAGGCCATAATGATATCTGCCAGTTGCCACATCAGCGGAAAACTTAG
+CAAGGTGCCGCCGATGACCGTTGCGAAGGTGCAGATCCGCAGACACCAGATCGCTTTAGGGTTGTTCAGG
+CGTAAAAAGAAGAGATTGTTTTCGGCATAAATGTAGTTGGCAACGATGGAGCTGAAGGCAAACAGAATAA
+CCACGAGGGTAACAAACTCCGCACCCCAGGAACCCATTAGCACCCGCATCGCCTTCTGGATAAGCTGAAT
+ACCTTCCAGCGGCATGTAGGTTGTGCCGTTACCCGCCAGTAATATCAGCATGGCGCTTGCCGTGCAGATG
+ACCAGGGTGTCGATAAAAATGCCAATCATCTGGACAATTCCTTGCGCTGCCGGATGCGGAGGCCAGGACG
+CAGCTGCCGCTGCCGCGTTTGGCGTCGACCCCATTCCCGCCTCATTGGAAAACATACTGCGCTGAAAACC
+GTTAGTAATCGCCTGGCTTAAGGTATATCCCGCCGCGCCGCCTGCAGCTTCCTGCCAGCCAAAAGCACTC
+TCAAAAATAGACCAAATGACGTGGGGAAGTTGCCCGATATTCATTACGCAAATCACCAGGCTGGTCAGTA
+CCCAGATTATCGCCATCAACGGGACAAACCCCTGCATGAGCCGGGCGACGCCATGAAGACCGCGAGTGAT
+CGCCAGCAGAGCAAAGACAGCGAGAATAATACCTGTTACCAGCGGGGGAAAATCAAAAGAAAAACTCAGG
+GCTCGCGCAACGGCGTTCGCCTGAACTCCGCTGAAAATTATGCCGTAGGCGATGAGCAAAAAGACGGCGA
+ACAGAACGCCCATCCAGCGCATCCCCAGCCCGCGCGCCATATACCATGCCGGTCCGCCACGAAACTGCCC
+ATTGGCATCACGTTCTTTATAAAGCTGTGCGAGGGAACATTCGGCAAACGAGGTCGCCATGCCGATAAAT
+GCGGCAACCCACATCCAGAAGACGGCTCCAGGTCCACCGGCGGTAATTGCCAGCGCAACGCCGGCCAGGT
+TGCCGCTACCCACGCGCGCTGCAAGACTGGTACACAATGACTGAAATGAGGTTAAACCGCCTGGCTGTGG
+ATGAATGCTATTTTTAAGACTTTTGCCAAACTGGCGGATGTAGCGAAACTGCACAAATCCGGTGCGAAAA
+GTGAACCAACAACCTGCGCCGAAGAGCAGGTAAATCATTACCGATCCCCAAAGGACGCTGTTAATAAAGG
+AGAAAAAATCTGGCATGCATATCCCTCTTATTGCCGGTCGCGATGACTTTCCTGTGTAAACGTTACCAAT
+TGTTTACGAAGTATATAACGCTACGAGGTACTTGGATAACTTCTGCGTAGCATACATGAGGTTTCGTATA
+AAAATGGCGGGCGATATCAACGCAGCGAATTGGGCCTCTAGATGCATGCTCGAGCGGCCGCCAGTGTGAT
+GGATATCTGCAGAATTCGCCCTTGTGATATCATCAGGGCAGACCGGTTACATCCCCCTAACAAGCTGTTT
+AAAGAGAAATACTATCATGACGGACAAATTGACCTCCCTTCGTCAGTACACCACCGTAGTGGCCGACACT
+GGGGACATCGCGGCAATGAAGCTGTATCAACCGCAGGATGCCACAACCAACCCTTCTCTCATTCTTAACG
+CAGCGCAGATTCCGGAATACCGTAAGTTGATTGATGATGCTGTCGCCTGGGCGAAACAGCAGAGCAACGA
+TCGCGCGCAGCAGATCGTGGACGCGACCGACAAACTGGCAGTAAATATTGGTCTGGAAATCCTGAAACTG
+GTTCCGGGCCGTATCTCAACTGAAGTTGATGCGCGTCTTTCCTATGACACCGAAGCGTCAATTGCGAAAG
+CAAAACGCCTGATCAAACTCTACAACGATGCAGGTATTAGCAACGATCGTATTCTGATCAAACTGGCTTC
+TACCTGGCAGGGTATCCGTGCTGCAGAACAGCTGGAAAAAGAAGGTATTAACTGTAACCTGACCCTGCTG
+TTCTCCTTCGCTCAGGCTCGTGCTTGTGCGGAAGCGGGCGTGTTCCTGATCTCGCCGTTTGTTGGCCGTA
+TTCTTGACTGGTACAAAGCGAATACCGATAAGAAAGAGTACGCTCCGGCAGAAGATCCGGGCGTGGTTTC
+TGTATCTGAAATCTACCAGTACTACAAAGAGCATGGTTATGAAACCGTGGTTATGGGCGCAAGCTTCCGT
+AACATCGGCGAAATTCTGGAACTGGCAGGCTGCGACCGTCTGACCATCGCACCGGCACTGCTGAAAGAGC
+TGGCGGAGAGCGAAGGGGCTATCGAACGTAAACTGTCTTACACTGGTGAAGTGAAAGCGCGTCCGGCGCG
+TATCACTGAGTCCGAGTTCCTGTGGCAGCACAACCAGGATCCAATGGCAGTAGATAAACTGGCGGAAGGT
+ATCCGTAAGTTTGCTGTTGACCAGGAAAAACTGGAAAAAATGATCGGCGATCTGCTGTAATCATACTTAG
+CGTGACCGGGAAGTCGGTCACGCTACCTCTTCTGAAACCTGTCTGTCACTCCCTTCGCAGTGTATCATTC
+TGTTTAACGAGACTGTTTAAACGGAAAAATCTTGATGAATACTTTACGTATTGGCTTAGTTTCCATCTCT
+GATCGCGCATCCAGCGGCGTTTATCAGGATAAAGGCATCCCTGCGCTGGAAGAATGGCTGACATCGGCGC
+TAACCACGCCGTTTGAACTGGAAACCCGCTTAATCCCCGATGAGCAGGCGATCATCGAGCAAACGTTGTG
+TGAGCTGGTGGATGAAATGAGTTGCCATCTGGTGCTCACCACGGGCGGAACTGGCCCTGCGCGTCGTGAC
+GTAACGCCCGATGCGACGCTGGCAGTAGCGGACCGCGAGATGCCAGGCTTTGGTGAACAGATGCGCCAGA
+TCAGCCTGCATTTTGTACCAACTGCGATCCTTTCGCGTCAGGTGGGGGTGATTCGCAAACAGGCGCTGAT
+CCTTAACTTACCCGGTCAACCGAAGTCTATTAAAGAGACGCTGGAAGGTGTGAAGGACGCTGAGGGTAAC
+GTTGTGGTGCACGGTATTTTTGCCAGCGTACCGTACTGCATTCAGTTGCTGGAAGGGCCATACGTTGAAA
+CGGCACCGGAAGTGGTTGCAGCATTCAGACCGAAGAGTGCAAGACGCGAAGTTAGCGAATAAAAAAATCC
+CCCCAGGCGGGGGGATCAGACTGATGACAAACGCAAAACTGCCTGATGCGCTACGCTTATCAGGCCTACG
+ATCTTCTTGCAATATATTGAATTTGCACGATTTTGTAGGCCGGATAAGGCGTTCACGCCGCATCCGGCAT
+AAACAAAGCGCACGTTGTTAACAATCTTATCCCTTCGAGCGGGGGGAGCTTAACAATTAGTGAGACTCAC
+CAATCGGCAGAACGGTGCGACCAAACTGCTCGTTCAGCACTTCACCCATCGCCAGATAGATTGCGCTGGC
+ACCGCAGATAAGACCAATCCAGCCGGCAAAGTGGATGATCGCGGCGTTACCGGCAATGTTACCGATCGCC
+AGCAGGGCAAACAGCACGGTCAGGCTAAAGAAAACGAATTGCAGAACGCGTGCGCCTTTCAGCGTGCCGA
+AGAACATAAACAGCGTAAATATGCCCCACAGACCCAGGTAGACACCAAGGAACTGGGCATTTGGCGCATC
+GGTCAGCCCCAGTTTCGGCATCAGCAGAATTGCAACCAGCGTCAGCCAGAAAGAACCGTAAGAGGTGAAT
+GCGGTTAAACCGAAAGTGTTGCCTTTTTTGTACTCCAGCAGACCGGCAAAAATTTGCGCGATGCCGCCGT
+AGAAAATGCCCATGGCAAGAATAATACCGTCCAGAGCAAAATAACCCACGTTGTGCAGGTTAAGCAGAAT
+GGTGGTCATGCCGAAGCCCATCAGGCCCAGCGGTGCCGGATTAGCCAACTTAGTGTTGCCCATAATTCCT
+CAAAAATCATCATCGAATGAATGGTGAAATAATTTCCCTGAATAACTGTAGTGTTTTCAGGGCGCGGCAT
+AATAATCAGCCAGTGGGGCAGTGTCTACGATCTTTTGAGGGGAAAATGAAAATTTTCCCCGGTTTCCGGT
+ATCAGACCTGAGTGGCGCTAACCATCCGGCGCAGGCAGGCGATTTGCAGTACGGCTGGAATTGTCACGCG
+ATAGGCACTGCCGCTGACCGCTTTAACCCCATTTAATGCTGCGCCCACAGGGCCTCCCAGACCCGCGCCG
+CGCAGCAAACCATGCCCAAGCACGCTCATTGCTGCGTGGGTGCGTAAAATGCGGGTCAATTGGCTGGAAA
+GCAAATGCGACACACCTTTTGCCAATAATTTGTCTTTCATCAGCAGCGGCAGCAGCTCTTCCAGCTCATT
+CACCCTGGCATCGACCGCGTGCAGAAACTCCTGCTTATGTTCCTCGTCCATTTTCTTCCAGGTATTACGC
+AGAAATTGTTCCAGTAACTGTTGCTCAATTTCAAACGTAGACATCTCTTTGTCGGCTTTCAGCTTCAATC
+GCTTTGAAACATCGAGCAAAATGGCGCGATACAATTTACCGTGTCCGCGCAGTTTGTTGGCGATACTATC
+GCCACCAAAATGCTGTAATTCTCCGGCAATCAGCTGCCAGTTGCGGCGGTGTCGCTCGGGATGTCCTTCC
+ATCGATTTAAACAGTTCGTTGCGCATCAGTACGCTGGAGAGGCGAGTTTTGCCTTTTTCATTATGGGTGA
+GCAGCCGGGCGAAATTTGCCAACTGTTCCTCACTACAATGCTGGAGAAAATCCAGATCTGAATCATTCAG
+GTAATTAACATTCATTTTTTGTGGTTTCTATATTCTGGCGTTAGTCGTCGCCGATAATTTTCAGCGTGGC
+CATATCCGATGAGTTCACTGTATGACCGGAAAAGGTGATTTTTGAGACGCAGCGTTTGTTGTCGTTATCG
+CTGTTAATGTTGATCCAGTCAGTGGTTTGCCCTTCTTTTATTTCTGAAGGAATATTCAGGGTCTGACTGG
+CGCTTCGGGTGGCTTTGAAATAAATCGATGCACCGCTTAACTGCAAATCGCCATGGTCGGCTGAGAGCTG
+TATGCGTTTAACAATGCGACAAACAGGAAGTTTCAGCGCCAGATCGTTGGTTTCGTTTCGCGGCATTGCA
+ATGACGCCGAGGATTTTATGGTCGTTTGCCTGCGCCGTGCAGCACAGCATCAGGCTAATCGCCAGGCTGG
+CGGAAATCGTAATAACGGATTTCATAAGGATTCTCTTGGTGGGGAGGGGTAGGGGGATGAAACTAGTTTA
+CTGCTGATAAAGAGAAGTTTCAGGCACGTAATATTTTCTTTTTATTACAATTTTTTGATGAATGCCTTGA
+CTGCGATTCATTCTTTATATGAATAAAATTGCTGTCAGTTTCACGTCTTGTCCTGCCATATCGCGAAATT
+TCTGCGCAAAAGCACAAAAAATTTTTGCATCTCCCCCTTGATGACGTGGGTTACGACCCCATTTAGTAGT
+CAACCGCAGTGAGTGAGTCTGCAAAAAAATGAAATTGGGCAGTTGAAACCAGACGTTTCGCCCCTATTAC
+AGACTCACAACCACATGATGACCGAATATATAGTGGAGACGTTTAGATGGGTAAAATAATTGGTATCGAC
+CTGGGTACTACCAACTCTTGTGTAGCGATTATGGATGGCACCACTCCTCGTGTACTGGAGAACGCCGAAG
+GCGATCGCACCACGCCTTCTATCATTGCCTATACCCAGGATGGTGAAACTCTGGTTGGTCAGCCGGCTAA
+ACGTCAGGCAGTGACGAACCCGCAAAACACCCTGTTTGCGATTAAACGCCTGATTGGCCGCCGCTTCCAG
+GACGAAGAAGTACAGCGTGATGTTTCCATCATGCCGTTCAAAATTATTGCTGCTGATAACGGCGACGCAT
+GGGTCGAAGTTAAAGGCCAGAAAATGGCACCGCCGCAGATCTCTGCTGAAGTGCTGAAAAAAATGAAGAA
+AACCGCTGAAGATTACCTGGGTGAACCGGTAACTGAAGCTGTTATTACCGTACCGGCATACTTTAACGAT
+GCTCAGCGTCAGGCAACCAAAGACGCAGGCCGTATCGCTGGTCTGGAAGTAAAACGTATCATCAACGAAC
+CGACCGCAGCTGCGCTGGCTTACGGTCTGGACAAAGGTACTGGCAACCGTACTATCGCGGTTTATGACCT
+GGGTGGTGGTACTTTCGATATTTCCATTATCGAAATCGACGAAGTTGACGGCGAAAAAACCTTCGAAGTT
+CTGGCAACCAACGGTGATACCCACCTGGGTGGTGAAGACTTCGACAGTCGTCTGATCAACTATCTGGTTG
+AAGAATTCAAGAAAGATCAGGGCATTGACCTGCGCAACGATCCGCTGGCAATGCAGCGCCTGAAAGAAGC
+GGCAGAAAAAGCGAAAATCGAACTGTCTTCCGCTCAGCAGACCGACGTTAACCTGCCGTACATCACTGCA
+GACGCGACCGGTCCGAAACACATGAACATCAAAGTGACTCGTGCGAAACTGGAAAGCCTGGTTGAAGATC
+TGGTAAACCGTTCCATTGAGCCGCTGAAAGTTGCACTGCAGGACGCTGGCCTGTCCGTATCTGATATCGA
+CGACGTTATTCTCGTTGGTGGTCAGACTCGTATGCCAATGGTTCAGAAGAAAGTTGCTGAATTCTTTGGT
+AAAGAGCCGCGTAAAGATGTTAACCCGGACGAAGCTGTAGCCATCGGTGCTGCTGTTCAGGGTGGTGTTC
+TGACTGGTGACGTAAAAGACGTACTGCTGCTGGACGTTACCCCGCTGTCTCTGGGTATCGAAACCATGGG
+CGGTGTGATGACCACGCTGATCGCGAAAAACACCACTATCCCGACCAAGCACAGCCAGGTGTTCTCTACC
+GCTGAAGACAACCAGTCTGCGGTAACCATCCATGTGCTGCAGGGTGAACGTAAACGTGCGGCTGATAACA
+AATCTCTGGGTCAGTTCAACCTGGATGGTATCAACCCGGCACCGCGCGGCATGCCGCAGATCGAAGTTAC
+CTTCGATATCGATGCTGACGGTATCCTGCACGTTTCCGCGAAAGACAAAAACAGCGGTAAAGAGCAGAAG
+ATCACTATCAAGGCTTCTTCTGGTCTGAACGAAGATGAAATCCAGAAAATGGTACGCGACGCAGAAGCTA
+ACGCCGAAGCTGACCGTAAGTTTGAAGAGCTGGTACAGACTCGCAACCAGGGCGACCATCTGCTGCACAG
+CACCCGTAAGCAGGTTGAAGAAGCAGGCGACAAACTGCCGGCTGACGACAAAACTGCTATCGAGTCTGCG
+CTGACTGCACTGGAAACTGCTCTGAAAGGTGAAGACAAAGCCGCTATCGAAGCGAAAATGCAGGAACTGG
+CACAGGTTTCCCAGAAACTGATGGAAATCGCCCAGCAGCAACATGCCCAGCAGCAGACTGCCGGTGCTGA
+TGCTTCTGCAAACAACGCGAAAGATGACGATGTTGTCGACGCTGAATTTGAAGAAGTCAAAGACAAAAAA
+TAATCGCCCTATAAACGGGTAATTATACTGACACGGGCGAAGGGGGATTTCCTCTCCGCCCGTGCATTCA
+TCTAGGGGCAATTTAAAAAAGATGGCTAAGCAAGATTATTACGAGATTTTAGGCGTTTCCAAAACAGCGG
+AAGAGCGTGAAATCAAAAAGGCCTACAAACGCCTGGCCATGAAATACCACCCGGACCGTAACCAGGGTGA
+CAAAGAGGCCGAGGCGAAATTTAAAGAGATCAAGGAAGCTTATGAAGTTCTGACCGACTCGCAAAAACGT
+GCGGCATACGATCAGTATGGTCATGCTGCGTTTGAGCAAGGTGGCATGGGCGGCGGCGGTTTTGGCGGCG
+GCGCAGACTTCAGCGATATTTTTGGTGACGTTTTCGGCGATATTTTTGGCGGCGGACGTGGTCGTCAACG
+TGCGGCGCGCGGTGCTGATTTACGCTATAACATGGAGCTCACCCTCGAAGAAGCTGTACGTGGCGTGACC
+AAAGAGATCCGCATTCCGACTCTGGAAGAGTGTGACGTTTGCCACGGTAGCGGTGCAAAACCAGGTACAC
+AGCCGCAGACCTGTCCGACCTGTCATGGTTCTGGCCAGGTGCAGATGCGCCAGGGTTTCTTTGCCGTGCA
+GCAGACCTGTCCACACTGTCAGGGCCGCGGTACGCTGATCAAAGATCCGTGCAACAAATGTCATGGTCAT
+GGTCGTGTTGAGCGCAGCAAAACGCTGTCCGTTAAAATCCCGGCAGGGGTGGACACTGGAGACCGCATCC
+GTCTTGCGGGCGAAGGTGAAGCGGGTGAACACGGCGCACCGGCAGGCGATCTGTACGTTCAGGTTCAGGT
+TAAACAGCACCCGATTTTCGAGCGTGAAGGCAACAACCTGTATTGCGAAGTCCCGATCAACTTCGCTATG
+GCGGCGCTGGGTGGTGAAATCGAAGTACCGACCCTTGATGGTCGCGTCAAACTGAAAGTGCCTGGCGAAA
+CCCAGACCGGTAAGCTGTTCCGTATGCGCGGTAAAGGCGTCAAGTCTGTCCGCGGTGGCGCACAGGGTGA
+TTTGCTATGCCGCGTTGTTGTCGAAACACCGGTAGGTTTGAACGAGAAGCAGAAACAGCTGCTGCAAGAG
+CTGCAAGAAAGCTTTGGTGGCCCAACCGGCGAGCACAACAGCCCGCGTTCAAAGAGCTTCTTTGATGGCG
+TGAAGAAGTTTTTTGACGACCTGACTCGCTAACCTCCCCAAAAGCCTGCCCGTGGGCAGGCCAGGGTAAA
+AACCAGGGTGCGTTGAAGATATGCGAGTACCTGTAAAGTGGCGGGGATCACTCCCCGCCGTTGCTCTTAC
+TCGGATTCGTAAGCCGTGAAAACAGCAACCTCCGTCTGGCCAGTTCGGATGTGAACCTCACAGAGGTCTT
+TTCTCGTTACCAGCGCCGCCACTACGGCGGTGATACAGATGACGATCAGGGCGACAATCATCGCCTTATG
+CTGCTTCATTGCTCTCTTCTCCTTGACCTTTCGGTCAGTAAGAGGCACTCTACATGTGTTCTGCATATAG
+GGGGCCTCGGGTTGATGGTAAAATATCACTCGGGGCTTTTCTCTATCTGCCGTTCAGCTAATGCCTGAGA
+CAGACAGCCTCAAGCACCCGCCGCTATTATACTGCGCTTTTAATTCACTTCTGTTTTATCAATTCTTTTT
+CTGAAGACGCCTCGCATTTTTGCGGAATAATATTTCAATACATCAATTTATTTAACTTAAATATATCCAG
+GAATTCACAAAAAAAGGTGTTTTCCTCTATCAAAAGTGAATGGCTAAAGGAAATTAATTATTAAAGGTTA
+CTGTAATACTATAGAGAGACAAAGAAATACGTTCAGCAGCCAATGCTAAGTTCATCATGAAAAATGCCTA
+TAAATCAAAGGGTGATGTTTAAAACAGACACATTTTCTGAAACACGATATCCCTCCGCCCGTTCGCAAAA
+GTAATCTGCGATCTTCATCACGCTTCGATAGTCATCTTTAAATATACTGGCCTGGTCATTCTTAATAAAA
+ATGAATTGTCTGGTGTATTAATTCCTATGGAATCATAAAAACAATGAATGGAGAACATATTATATGTCTG
+CCAAAAGACGACTTCTTATTGCGTGTACCTTGATAACAGCTATCTATCATTTTCCTGCATATTCTTCATT
+AGAATATAAAGGATCCTTTGGTTCAATAAATGCGGGTTATGCAGACTGGAATAGTGGATTTGTAAACACT
+CACCGTGGTGAAGTATGGAAAGTGACTGCGGATTTTGGGGTAAATTTTAAAGAAGCAGAATTTTACTCAT
+TTTATGAAAGTAATGTACTCAATCATGCTGTAGCAGGGAGAAATCATACGGTTTCAGCAATGACGCATGT
+CAGACTCTTTGACTCTGATATGACATTCTTTGGCAAAATTTATGGCCAATGGGATAACTCATGGGGTGAC
+GATCTGGACATGTTTTATGGATTCGGTTACCTCGGCTGGAACGGCGAGTGGGGCTTTTTTAAACCGTATA
+TTGGATTGCATAATCAATCTGGTGACTACGTATCAGCTAAATATGGTCAAACGAATGGTTGGAATGGTTA
+TGTTGTTGGCTGGACAGCAGTATTACCATTTACGTTATTTGACGAAAAATTTGTTTTATCTAACTGGAAT
+GAAATAGAACTGGACAGGAACGATGCTTACACGGAGCAGCAATTTGGCCGGAACGGGTTAAATGGCGGTT
+TAACTATTGCCTGGAAGTTCTATCCTCGCTGGAAAGCCAGTGTGACGTGGCGTTATTTCGATAATAAGCT
+GGGCTACGATGGCTTTGGCGATCAAATGATTTATATGCTTGGTTATGATTTCTAATTTTTATCAGGGAAT
+AATTATGCAGAAAACGTTAATGGCCAGTTTGATCGGCCTTGCAGTTTGCACAGGGAATGCTTTTAGTCCT
+GCCTTAGCCGCAGAGGCTAAACAACCTAATTTAGTCATTATTATGGCGGATGATTTAGGTTATGGCGATT
+TAGCAACATATGGTCATCAGATCGTTAAAACACCTAATATCGACAGGCTTGCCCAGGAAGGGGTCAAATT
+TACTGACTACTATGCCCCCGCTCCTTTAAGTTCACCTTCACGCGCAGGGCTATTAACCGGCCGGATGCCA
+TTTCGTACTGGAATTCGCTCATGGATTCCTTCAGGCAAAGATGTTGCCTTAGGGCGTAACGAACTCACGA
+TTGCTAATCTACTCAAAGCGCAAGGGTACGACACGGCAATGATGGGTAAGCTGCATCTGAATGCAGGCGG
+CGATCGCACCGATCAGCCACAAGCACAAGATATGGGCTTTGATTACTCACTGGTTAATACGGCGGGCTTT
+GTTACCGACGCCACGCTGGATAACGCTAAAGAACGCCCGCGTTATGGCATGGTTTACCCGACAGGCTGGC
+TACGTAACGGGCAACCCACTCCACGAGCTGATAAAATGAGCGGTGAGTATGTCAGTTCGGAAGTCGTCAA
+CTGGCTGGATAACAAAAAGGACAGCAAGCCTTTCTTCCTCTATGTTGCTTTTACCGAAGTGCATAGCCCC
+CTGGCTTCGCCCAAAAAATACCTCGATATGTACTCACAATATATGAGCGCGTATCAGAAGCAGCATCCTG
+ATTTATTTTATGGCGACTGGGCAGACAAACCCTGGCGTGGTGTGGGGGAATATTATGCCAATATCAGCTA
+TCTGGATGCACAGGTTGGAAAAGTGCTGGATAAAATCAAAGCTGTGGGTGAAGAAGATAACACAATCGTT
+ATTTTTACCAGTGATAACGGTCCGGTAACGCGTGAAGCGCGCAAAGTGTATGAGCTGAATTTGGCAGGGG
+AAACGGATGGATTACGCGGTCGCAAGGATAACCTTTGGGAAGGCGGAATTCGTGTTCCAGCCATTATTAA
+ATATGGTAAACATCTACCACAGGGAATGGTTTCAGATACACCCGTTTATGGTCTGGACTGGATGCCTACT
+TTAGCGAAAATGATGAACTTCAAATTACCTACAGACCGTACTTTCGATGGTGAATCGCTGGTTCCTGTTC
+TTGAGCAAAAAGCATTGAAACGCGAAAAGCCATTAATTTTCGGGATTGATATGCCATTCCAGGATGATCC
+AACCGATGAATGGGCGATCCGTGATGGTGACTGGAAGATGATTATCGATCGCAATAATAAACCGAAATAT
+CTCTACAATCTGAAATCTGATCGTTATGAAACACTTAATCTGATCGGTAAAAAAACAGATATTGAAAAAC
+AGATGTATGGTAAGTTTTTAAAATATAAAACTGATATTGATAATGATTCTCTAATGAAAGCCAGAGGTGA
+TAAACCAGAAGCGGTGACCTGGGGCTAACCTGATAATCATAATAAATGTAATGTATGCCATTTAGGGCTA
+TGCCCGCCTGATTCAGTGCTACGCATTGAATCAGGTTCTTTTCGCGTTGAACAATATCAAGATACGGCTA
+TTCGCAGGGAGTGGATATGTTTACCAACGTAAATGTTGATTGTTGCAAAACACCAGGATGTAAAAACCTG
+GGGTTGCTGAATAGCCAGGATTATGTCGCACAGGGTAAAAATATTTTATGCCGTGAATGTGGTTACTTGT
+TTCCAGTGATATCTGAACAGTCGCTTAATATTTATCGTAATATTGTGAATCACTCCTGGAGAGGTTTGAT
+TTGCCAATGTTCAACTTGCGGAGGCACGTCCCTCAAAAAATATGGATATTCTGCACAAGGCCAGAGAAGA
+ATGTATTGCCATCATTGTGAGAAAACATTTATCACTCTGGAACATGTAATTACCACACCACGAGGAGCCC
+TGTTAGCATTGATGATTGAGCAAGGGGAGGCACTTGCGGATATCAGAAAGTCATTACGTCTTAACAGCAC
+TGGACTTAGCCGTGAACTGTTAAAATTAGCGCGTGAAGCAAACTATAAAGAAAGTCGACAGTGTTTCCCT
+GCTTCTGATATTACCCTGAGTACCCGCGCTTTTCGCGTCAAGTATAATGGTAGCAATAACTCTCTTTATG
+CTCTTGTTACCGCAGAAGAACAAAGCGGCAGGGTGGTTGCCATCTCAACCAATTACTCCCCATCTGCCGT
+AGAGCAACATTATCAATACACATCGAACTATGAAGAGCGTATGTCTCCAGGGACGCTGGCACATCATGTC
+CAGCGCAAAGAGTTACTTACTATGCGGCGGGATACCTTGTTTGATATTGATTACGGCCCGGCAGTTTTAC
+ATCAAAACGATCCGGGAATGTTGGTAAAACCGGTTCTTCCGGCATATCGTCATTTTGAACTGGTCAGAAT
+ACTGACCGATGAGCATTCCAACAACGTTCAGCATTACCTTGATCACGAATGCTTTATATTGGGCGGCTGC
+CTGATGGCTAATTTGCAGCATATTCATCAAGGTCGCTGCCATATTTCCTTTGTCAAAGAGCGCGGTGTGG
+CACCCGCCACCATTGATTTTCCACCGCGATTATTCCTTAGTGGTGGGGTACGAAATAATGTCTGGCGTGC
+ATTTTCTAACCGCAATTATTCAATGGCTGTATGCAATCTCACTGGCAGTAAGAAAGTCCGCGAGATGCGG
+CATGCAACATTGAACAGTGCGACGCGTTTTATCCACTTTGTGGAGAACCATCCTTTCCTTATATCATTGA
+ACCGAATGTCTCCTGCGAATGTCGTTTCTACATTAGATATCCTCAAACATCTGTGGAATAAAAAACTAGA
+GCATGGAACAATTTAATTATTACTTTTCCGAATAATTTCTTCAGAAATCTTGACATTAGACTATGATTAA
+TGGGGTTTAAGGTCATCAGCCGCCGCTTTCGGGCATCAAAAACTCATCTCTCGCTGATGGCGCAATTCTT
+TTAATAGATCGTAAAAAGCGAGCTATTCCTACACTATAATCTGATTTTAACGATGATTCGTGCGGGGTAA
+AATCGTGAAAACGATCTATTCACCTGAAGAGAAATAAAAAGTGAAACATCTGCATCGATTCTTTAGCAGT
+GATGCCTCGGGAGGCATTATTCTCATTATTGCCGCTGTATTAGCGATGATTATGGCCAACAGCGGTGCAA
+CCAGTGGATGGTATCACGACTTTCTTGAGACGCCGGTTCAGCTCCGGGTTGGGACACTTGAGATCAACAA
+GAACATGCTGCTATGGATCAATGACGCTCTGATGGCGGTATTTTTCCTGTTGGTTGGTCTGGAAGTTAAA
+CGCGAGCTGATGCAAGGTTCGCTGGCCAGTCTGCGCCAGGCGGCATTTCCTGTTATTGCCGCAATCGGCG
+GGATGATTGTCCCGGCATTGCTCTATCTGGCTTTTAACTATGCCGATCCGATTACCCGCGAAGGCTGGGC
+AATCCCGGCGGCGACTGACATTGCCTTTGCACTTGGTGTGTTGGCGCTGTTGGGAAGTCGTGTTCCGTTA
+GCGCTGAAGATCTTTTTGATGGCTCTGGCTATTATCGACGATCTTGGGGCCATCATTATCATCGCATTGT
+TCTACACTAATGACTTATCGATGGCCTCTCTTGGCGTCGCGGCTGTAGCAATTGCGGTACTCGCGGTATT
+GAATCTGTGTGGTGTACGCCGCACGGGCGTTTATATTCTGGTTGGCGTGGTGCTGTGGACAGCGGTGTTG
+AAATCGGGGGTTCACGCAACCCTGGCTGGCGTCATTGTCGGCTTCTTTATTCCTTTGAAAGAGAAGCATG
+GGCGCTCTCCGGCTAAACGTCTGGAGCATGTTTTGCATCCATGGGTGGCGTATCTGATTTTGCCGCTGTT
+TGCATTTGCTAATGCTGGCGTTTCACTGCAAGGTGTCACGCTGGAAGGTTTGACCTCCATTCTGCCATTA
+GGGATCATCGCTGGTTTGCTGATTGGCAAGCCACTGGGTATTAGTCTGTTCTGCTGGTTGGCGCTGCGTT
+TGAAATTGGCACATCTGCCAGAGGGAACGACTTACCAGCAAATTATGGCGGTTGGTATCCTGTGCGGTAT
+CGGTTTTACTATGTCTATCTTTATTGCCAGCCTGGCATTTGGTAGCGTAGATCCAGAACTGATTAACTGG
+GCAAAATTAGGTATCCTTGTCGGTTCAATTTCTTCGGCGGTAATTGGATATAGCTGGTTACGCGTTCGTT
+TACGTCCATCAGTTTGACAGGACGATGTACTGGGGAGCCATAAACGGCTCCCTTTTCATTGTTATCAGGG
+AGAGAAATGAGCATGTCTCATATCAATTACAACCACTTGTATTACTTCTGGCATGTCTACAAAGAAGGTT
+CTGTGGTTGGCGCAGCGGAGGCGCTTTATTTAACACCACAAACCATTACCGGGCAGATCCGGGCGCTGGA
+AGAGCGCCTGCAAGGGAAACTATTTAAGCGTAAAGGACGTGGTCTGGAACCCAGCGAACTGGGGGAACTG
+GTCTATCGCTATGCCGATAAAATGTTCACCTTAAGCCAGGAAATGCTGGATATCGTCAACTATCGCAAAG
+AGTCCAACTTATTGTTTGATGTTGGTGTGGCAGATGCACTTTCCAAACGTCTGGTCAGCAGTGTTCTGGA
+TGCCGCAGTTGTGGAAGACGAGCAGATCCATCTACGCTGTTTCGAATCGACGCACGAGATGCTTTTAGAG
+CAGTTGAGTCAGCATAAACTGGATATGATCATCTCTGACTGTCCGATCGATTCCACTCAGCAGGAAGGGC
+TGTTTTCCATGAAAATTGGCGAATGTGGTGTCAGTTTCTGGTGCACTAACCCACTACCAGAAAAGCCGTT
+TCCTGCCTGTCTTGAAGAGCGTCGTTTACTTATTCCGGGGCGTCGCTCAATGTTGGGGCGTAAACTATTA
+AACTGGTTTAACTCCCAGGGCTTGAACGTCGAAATTTTGGGTGAGTTTGATGATGCTGCGTTGATGAAAG
+CCTTTGGGGCGACGCATAACGCTATTTTCGTTGCACCTTCGCTTTACGCTAATGATTTCTATAACGATGA
+CTCGGTTGTGGAGATAGGCCGTGTTGAGAACGTGATGGAAGAGTACCACGCGATTTTTGCCGAAAGGATG
+ATTCAGCACCCTGCAGTACAGCGTATCTGCAATACAGACTATTCTGCGCTGTTTACTCCAGCTTCAAAAT
+AAACATTTGTACTTTGCAGGCCGAATTTTGGCCTGCAGATGGATATAAAAAAACCCGCCAGAGCGGGTTT
+TTTTACAAAGCTGACAACAACAGGCAATTAAGCCAGTTTGTTGATCTGTGCAGTCAGGTTAGCCTTATGA
+CGTGCAGCTTTGTTTTTGTGGATCAGACCTTTAGCAGCCTGACGGTCCACGATTGGTTGCATTTCGTTAA
+ATGCTTTCTGTGCAGCAGCTTTGTCGCCAGCTTCGATAGCTGCGTATACTTTCTTGATGAAAGTACGCAT
+CATAGAGCGACGGCTTGCGTTGTGCTTACGAGCCTTTTCAGACTGAATGGCGCGCTTCTTAGCTGATTTG
+ATATTAGCCAAGGTCCAACTCCCAAATGTGTTCTATATGGACAATTCAAAGGCCGAGGAATATGCCCTTT
+TAGCCTTCTTTTGTCAATGGATTTGTGCAAATAAGCGCCGTTAATGTGCCGGCACTCGTTACGTAGTGAT
+GGCGCAGGATTCTACCAGCTTGCGGGGTGTGAATACAGCTTTTCCGCGAGAAAAATTGCAGCAGGCGGTC
+AGTTTCTTCCCATGATTTGCGCCATAGCAATGAAAAGCCACTTCTTTCTGATTTCGGTACTCAATCGCCG
+GTTAACCTTGACCGCTGTACAAGGTATACTCGGACGATTTTCACTGTTTTGAGCCAGACATGAAGCTGAT
+ACGCGGCATACATAATCTCAGCCAGGCCCCGCAAGAAGGGTGTGTGCTGACTATTGGTAATTTCGACGGC
+GTGCATCGCGGTCATCGCGCGCTGTTACAGGGCTTGCAGGAAGAAGGGCGCAAGCGCAACTTACCGGTGA
+TGGTGATGCTTTTTGAACCTCAACCACTGGAACTGTTTGCTACTGATAAAGCCCCGGCACGGCTCACCCG
+GCTGCGGGAAAAACTGCGTTATCTTGCAGAGTGTGGCGTTGATTACGTGCTGTGCGTGCGTTTTGACAGG
+CGTTTTGCGGCGTTAACCGCGCAAAACTTCATCAGTGATCTTCTGGTGAAGCACTTGCGGGTAAAATTTC
+TTGCCGTAGGTGACGATTTCCGCTTTGGCGCTGGTCGTGAAGGCGATTTCTTGTTATTACAGAAAGCGGG
+CATGGAATACGGCTTCGATATCACCAGCACGCAAACTTTTTGCGAAGGTGGTGTGCGTATCAGCAGCACC
+GCCGTGCGTCAGGCGCTTGCGGATGACAATCTGGCTCTGGCAGAAAGTTTACTGGGGCACCCGTTTGCTA
+TCTCCGGGCGTGTAGTCCACGGTGATGAATTAGGGCGCACTATAGGTTTCCCGACGGCGAATGTACCGCT
+ACGCCGTCAGGTTTCCCCGGTGAAAGGGGTTTATGCGGTAGAAGTGTTGGGCCTTGGCGAAAAGCCGTTA
+CCCGGCGTTGCAAACATCGGAACACGCCCAACGGTTGCCGGTATTCGCCAGCAACTGGAAGTGCATTTGT
+TAGATGTTGCAATGGACCTTTATGGTCGCCATATACAAGTAGTGCTGCGTAAAAAAATACGCAATGAGCA
+GCGATTTGCATCGCTGGACGAACTGAAAGCGCAGATTGCGCGTGATGAATTAACCGCCCGCGAATTTTTT
+GGGCTAACAAAACCGGCTTAAGCCTGTTATGTAATCAAACCGAAATACGGAACCGAGAATCTGATGAGTG
+ACTATAAATCAACCCTGAATTTGCCGGAAACAGGGTTCCCGATGCGTGGCGATCTCGCCAAGCGCGAACC
+GGGAATGCTGGCGCGTTGGACTGATGATGATCTGTACGGCATCATCCGTGCGGCTAAAAAAGGCAAAAAA
+ACCTTCATTCTGCATGATGGCCCTCCTTATGCGAATGGCAGCATTCATATTGGTCACTCGGTTAACAAGA
+TTCTGAAAGACATTATCATTAAGTCCAAAGGGCTTTCTGGATATGACTCGCCGTATGTGCCTGGCTGGGA
+CTGTCATGGTCTGCCAATCGAACTGAAAGTAGAGCAAGAATACGGTAAGCCGGGGGAGAAATTCACCGCC
+GCTGAGTTCCGCGCCAAGTGCCGCGAATACGCTGCGACCCAGGTTGACGGTCAGCGCAAAGACTTTATCC
+GTCTGGGCGTGCTGGGCGACTGGTCGCACCCGTACCTGACCATGGACTTCAAAACTGAAGCCAACATCAT
+CCGCGCGCTGGGCAAAATCATCGGCAACGGTCACCTGCACAAAGGCGCGAAGCCGGTGCACTGGTGCGTT
+GACTGCCGTTCTGCACTGGCAGAAGCGGAAGTTGAGTATTACGACAAAACTTCTCCGTCCATCGACGTCG
+CTTTCCAGGCGGTCGATCAGGATGCGCTGAAAACGAAATTTGGCGTAAGCAATGTTAACGGCCCAATTTC
+GCTGGTTATCTGGACCACCACGCCGTGGACGCTGCCTGCTAACCGCGCAATCTCCATTGCACCTGATTTT
+GATTATGCGCTGGTGCAAATCGACGGTCAGGCCGTGATCCTCGCGAAAGATCTGGTTGAAAGCGTAATGC
+AGCGTATCGGCGTTAGCGATTACACCATTCTTGGCACGGTGAAAGGTGCCGAGCTGGAACTGTTGCGCTT
+TACCCATCCGTTTATGGACTTCGATGTTCCGGCAATTCTCGGCGACCACGTTACGCTGGATGCCGGTACC
+GGTGCCGTTCATACCGCGCCAGGCCACGGTCCGGACGACTATGTGATCGGTCAAAAATATGGTCTGGAAA
+CCGCTAACCCGGTTGGCCCGGACGGCACTTATCTGCCGGGTACTTACCCGACTCTGGATGGCGTTAACGT
+CTTCAAAGCGAACGATATTGTCATTGCGTTGTTGCAGGAAAAAGGCGCACTGTTGCACGTTGAGAAAATG
+CAACACAGCTATCCGTGCTGCTGGCGTCATAAAACGCCGATCATCTTCCGCGCGACGCCGCAGTGGTTCG
+TCAGCATGGATCAGAAAGGTCTGCGTGCGCAGTCACTGAAAGAGATCAAAGGCGTGCAGTGGATCCCTGA
+CTGGGGCCAGGCGCGTATCGAGTCGATGGTTGCTAACCGTCCTGACTGGTGTATCTCTCGTCAGCGTACC
+TGGGGCGTGCCGATGTCACTGTTCGTGCACAAAGACACAGAAGAACTGCATCCGCGTACTCTCGAACTGA
+TGGAAGAAGTGGCAAAACGCGTTGAAGTTGACGGCATTCAGGCGTGGTGGGATCTCGATGCGAAAGAGAT
+CCTCGGCGACGAAGCTGACCAGTATGTGAAAGTACCGGATACGCTGGATGTATGGTTTGACTCCGGATCT
+ACCCACTCTTCCGTTGTTGATGTGCGTCCGGAATTTGCCGGTCACGCAGCGGACATGTATCTGGAAGGTT
+CTGACCAACACCGTGGCTGGTTCATGTCTTCCCTGATGATCTCTACCGCGATGAAGGGCAAAGCGCCATA
+TCGTCAGGTACTGACTCACGGCTTTACCGTGGATGGTCAGGGTCGCAAGATGTCTAAATCCATCGGTAAC
+ACCGTTTCGCCGCAGGATGTGATGAATAAACTGGGTGCGGATATTCTGCGTCTGTGGGTGGCATCAACCG
+ACTACACTGGCGAAATGGCCGTTTCTGACGAGATCCTGAAACGTGCTGCCGACAGCTATCGTCGTATCCG
+TAACACCGCGCGCTTCCTGCTGGCAAACCTGAACGGTTTTGATCCGGCAAAAGATATGGTGAAACCGGAA
+GAGATGGTGGTACTGGATCGCTGGGCCGTAGGTTGTGCGAAAGCGGCACAGGAAGACATCCTCAAGGCGT
+ACGAAGCATACGATTTCCACGAAGTGGTACAGCGTCTGATGCGCTTCTGCTCCGTTGAGATGGGTTCCTT
+CTACCTCGACATCATCAAAGACCGTCAGTATACCGCCAAAGCGGACAGCGTGGCGCGTCGTAGCTGCCAG
+ACTGCGCTGTATCACATCGCAGAAGCGCTGGTTCGCTGGATGGCACCAATCCTCTCCTTCACCGCTGATG
+AAGTGTGGGGTTACCTGCCGGGCGAACGTGAAAAATACGTCTTCACCGGCGAGTGGTACGAAGGCCTGTT
+TGGTCTGGCAGACAGTGAAGCAATGAACGATGCGTTCTGGGACGAGCTGTTGAAAGTGCGTGGCGAAGTG
+AACAAAGTCATTGAGCAAGCGCGTGCCGATAAGAACGTGGGCGGCTCGCTGGAAGCGGCAGTAACCTTGT
+ATGCAGAACCGGAACTGGCGGCGAAACTGACCGCGCTGGGCGATGAATTACGATTTGTCCTGTTGACCTC
+CGGCGCTACCGTTGCAGACTATAACGACGCACCTGCTGATGCCCAGCAGAGCGAAGTCCTCAAAGGGCTG
+AAAGTCGCGTTGAGTAAAGCCGAAGGTGAGAAGTGTCCTCGCTGCTGGCACTACACCCAGGATGTCGGCA
+AGGTGGCGGAACACGCAGAAATCTGCGGCCGCTGTGTCAGCAACGTCGCCGGTGACGGTGAAAAACGTAA
+GTTTGCCTGATGAGTCAATCGATCTGTTCAACAGGGCTACGCTGGCTGTGGCTGGTGGTAGTCGTGCTGA
+TTATCGATCTGGGCAGCAAATACCTGATCCTCCAGAACTTTGCTCTGGGGGATACGGTCCCGCTGTTCCC
+GTCGCTTAATCTGCATTATGCGCGTAACTATGGCGCGGCGTTTAGTTTCCTTGCCGATAGCGGCGGCTGG
+CAGCGTTGGTTCTTTGCCGGTATTGCGATTGGTATTAGCGTGATCCTGGTAGTGATGATGTATCGCTCGA
+AGGCCACGCAGAAGCTAAACAATATCGCTTACGCGCTGATTATTGGCGGCGCACTGGGCAACCTGTTCGA
+CCGCCTGTGGCACGGCTTCGTTGTCGATATGATCGACTTCTATGTCGGCGACTGGCACTTCGCCACCTTC
+AACCTTGCCGATACTGCCATTTGTGTCGGTGCGGCACTGATTGTGCTGGAAGGTTTTTTACCTTCTAAAG
+CGAAAAAACAATAATAAACCCTGCCGGATGCGATGCTGACGCATCTTATCCGGCCTACAGATTGCTGCGA
+AATCGTAGGTCGCATCCGGCAAAAATCCTCAAAATATAAGAGCAAACCTGCATGTCTGAATCTGTACAGA
+GCAATAGCGCCGTCCTGGTGCACTTCACGCTAAAACTCGACGATGGCACCACCGCTGAGTCTACCCGCAA
+CAACGGTAAACCGGCGCTGTTCCGCCTGGGTGATGCTTCTCTTTCTGAAGGGCTGGAGCAACACCTGCTG
+GGGCTGAAAGTGGGCGATAAAACCACCTTCTCGCTGGAGCCAGATGCGGCGTTTGGCGTGCCGTCACCGG
+ACCTGATTCAGTACTTCTCCCGCCGTGAATTTATGGATGCAGGCGAGCCAGAAATTGGCGCAATCATGCT
+TTTTACCGCAATGGATGGCAGTGAGATGCCTGGCGTGATCCGCGAAATTAACGGCGACTCCATTACCGTT
+GATTTCAACCATCCGCTGGCCGGGCAGACCGTTCATTTTGATATTGAAGTGCTGGAAATCGATCCGGCAC
+TGGAGGCGTAACATGCAGATCCTGTTGGCCAACCCGCGTGGTTTTTGTGCCGGGGTAGACCGCGCTATCA
+GCATTGTTGAAAACGCGCTGGCCATTTACGGCGCACCGATATATGTCCGTCACGAAGTGGTGCATAACCG
+CTACGTGGTCGATAGCCTGCGCGAGCGTGGGGCTATCTTTATTGAGCAGATTAGCGAAGTACCGGACGGC
+GCGATCCTGATTTTCTCCGCACACGGTGTTTCTCAGGCGGTACGTAATGAAGCGAAAAGCCGTGATTTGA
+CGGTATTTGACGCCACCTGTCCGCTGGTGACCAAAGTGCATATGGAAGTCGCCCGCGCCAGCCGTCGTGG
+TGAAGAATCTATTCTCATCGGTCACGCCGGGCACCCGGAAGTGGAAGGGACGATGGGCCAGTACAGCAAC
+CCGGAAGGGGGAATGTATCTGGTCGAATCGCCAGACGATGTGTGGAAACTGACGGTCAAAAACGAAGAGA
+AGCTCTCCTTTATGACCCAAACCACGCTGTCGGTGGATGACACGTCTGATGTGATCGACGCGCTGCGTAA
+ACGCTTCCCGAAAATTGTCGGTCCGCGCAAAGATGACATCTGCTACGCCACGACTAACCGTCAGGAAGCG
+GTACGCGCCCTGGCAGAGCAGGCGGAAGTAGTACTGGTGGTTGGTTCGAAAAACTCTTCCAACTCCAACC
+GTCTGGCGGAACTGGCCCAGCGTATGGGCAAACGCGCGTTTTTGATTGACGATGCGACAGATATCCAGGA
+AGAGTGGGTGAAAGAGGCGAAATGCGTCGGCGTGACTGCTGGCGCATCAGCTCCGGATATTCTGGTACAG
+AACGTAGTCGCACGTTTACGCAGCTTGGCGGTGGCGAAGCCATTCCGCTGGAAGGCCGCGAAGAAAATAT
+CGTTTTCGAAGTGCCGAAAGAGCTGCGAGTCGATATTCGTGAAGTCGATTAAGTCATTAGCAGCCTAAGT
+TATGCGAAAATGCCGGTCTTGTTACCGGCATTTTTTATGGAGAAAACATGCGTTTACCTATCTTCCTCGA
+TACAGACCCCGGCATTGACGATGCCGTTGCCATTGCCGCCGCGATTTTTACCCCCGAACTCGATCTGCAA
+CTGATGACCACTGTCGCGGGTAATGTTTCGGTAGAGAAAACGACCCGCAACGCCCTGCAACTGCTGCATT
+TCTGGAATGTGGATATTCCGCTTGCCCAGGGCGCTGCCGTACCACTGGTTCGTGCGCCGCGCGATGCGGC
+ATCTGTACACGGTGAATCGGGAATGGCTGGCTATGACTTTGTTGAACACAACCGTCAGCCACTGGGTATA
+CCGGCGTTTCTGGCAATTCGTGATGCCCTGATGCGTGCGCCAGAGCCCGTTACCCTGGTGGCCATCGGCC
+CGTTAACCAATATTGCGCTGTTACTTTCACAATGCCCGGAATGTAAGCCGTATATTCGCCGTCTGGTGAT
+CATGGGCGGTTCTGCTGGTCGCGGCAACTGCACACCAAACGCCGAGTTTAATATCGCTGCCGATCCAGAA
+GCGGCAGCCTGTGTCTTCCGTAGCGGCATCGAAATCGTCATGTGTGGTCTGGATGTCACCAATCAGGCAA
+TATTAACCCCTGACTATCTCGCTACTTTGCCGGAGTTGAATCGCACCGGAAAAATGCTACACGCCCTGTT
+TAGCCACTACCGTAGCGGCAGTATGCAAAGTGGACTACGTATGCACGATCTTTGCGCTATCGCCTGGCTG
+GTGCGCCCGGAATTGTTCACTCTCAAACCGTGTTTTGTCGCGGTAGAAACTCAAGGCGAATTTACCTCAG
+GCACGACGGTAGTTGATATCGACGGTTGCCTGGGCAAACCAGCCAATGTACAGGTGGCATTGGATCTGAA
+TGTAAAAGGCTTCCAGCAGTGGGTAGCTGAGGTGCTGGCTCTGGTGCCGTAACCTGTCACATGTTATCGG
+CATGCAGTCATTCATCGACTCATGCCTTTCACTGATATCCCTCCCTGTTTATCATTAATTTCTAATTATC
+AGCGTTTTTGGCTGGCGGCGTAGCGATGCGCTGGTTACTCTGAAAACGGTCTATGCAAATTAACAAAAGA
+GAATAGCTATGCATGATGCAAACATCCGCGTTGCCATCGCGGGAGCCGGGGGGCGTATGGGCCGCCAGTT
+GATTCAGGCGGCGCTGGCATTAGAAGGCGTGCAGCTGGGCGCGGCGCTGGAGCGCGAAGGATCTTCTTTA
+CTGGGCAGCGACGCCGGTGAGCTGGCGGGTGCAGGAAAAACAGGCGTTACTGTGCAAAGCAGCCTTGATG
+CGATAAAAGATGATTTTGATGTGTTTATCGATTTTACCCGTCCGGAAGGTACGCTGAACCATCTCGCTTT
+TTGTCGCCAGCATGGCAAAGGGATGGTGATCGGCACTACGGGGTTTGACGAAGCCGGTAAACAGGCGATT
+CGTGACGCCGCCGCCGATATTGCGATTGTCTTTGCCGCCAATTTTAGCGTTGGCGTTAACGTCATGCTTA
+AACTGCTGGAGAAAGCAGCCAAAGTGATGGGGGACTACACCGATATCGAAATTATTGAAGCACATCATAG
+ACATAAAGTTGATGCGCCGTCAGGCACCGCACTGGCAATGGGAGAGGCGATCGCCCACGCTCTGGATAAA
+GATCTGAAAGATTGCGCGGTCTACAGTCGTGAAGGCCATACCGGTGAACGTGTGCCTGGCACCATTGGTT
+TTGCCACCGTGCGTGCAGGTGACATCGTTGGCGAACATACCGCGATGTTTGCCGATATTGGCGAGCGTCT
+GGAGATCACCCATAAGGCATCCAGCCGCATGACATTTGCTAACGGTGCGGTAAGATCGGCTTTGTGGTTG
+AGTGGTAAGGAAAGTGGTCTTTTTGATATGCGAGATGTGCTTGATCTCAATAATCTGTAACCACAAGATA
+TTTATGGTGATGCAAAAATAACACATTTAATTCATTGAATATAAAGGGCTTTGATTTTTGGCCCTTTTAT
+TTTTAGTGTTATGATTTTAAATCTAATGCAAATGCTGAAAATTACATGTTTTGTATTCTGTTTTTGTTGT
+TTTAATGTAAATTTTGACCATTTGGTCCACTTTTTTCTGCTCATTTTGATTTCATGCAATCTTCTTGCTG
+CGCAAGCGTTTTCCAGAACATGTTATATGATCTTTTTGTCGCTTAATGCCTGTAAAACATGCATGAGCCA
+CAAAATAATATAAAAAATCCCGCCATTAAGTTGACTTTTAGCTCCCATATCTCCAGAATGCCGCCGTTTG
+CCAGAAATTCGTCGGTAAGCAGATTTGCATTGATTTACGTCATCATTGTGAATTAATATGCAAATAAAGT
+GAGTGAATATTCTCTGGAGGGTGTTTTGATTAAGTCAGCGCTATTGGTTCTGGAAGACGGAACCCAGTTT
+CACGGTCGGGCCATAGGGGCAACAGGTTCGGCGGTTGGGGAAGTCGTTTTCAATACTTCAATGACCGGTT
+ATCAAGAAATCCTCACTGATCCTTCCTATTCTCGTCAAATCGTTACTCTTACTTATCCCCATATTGGCAA
+TGTCGGCACTAATGACGCCGATGAAGAATCTTCTCAGGTTCATGCCCAAGGTCTGGTGATTCGCGACCTG
+CCGCTGATTGCCAGCAACTTCCGTAATACCGAAGACCTCTCTTCTTACCTGAAGCGCCATAACATCGTGG
+CGATTGCCGATATCGATACCCGTAAGCTGACGCGTTTACTGCGTGAGAAAGGTGCTCAGAATGGCTGCAT
+TATTGCGGGTGACAACCCGGATGCGGCGCTGGCGTTAGAAAAAGCCCGCGCGTTCCCAGGTCTGAACGGC
+ATGGATCTGGCAAAAGAAGTAACCACCGCAGAACCCTATAGCTGGACACAAGGGAGCTGGACACTGACCG
+GCGGCCTGCCAGAAGCGAAAAAAGAAGACGAGCTGCCGTACCACGTCGTGGCCTACGATTTCGGTGCCAA
+GCGCAACATCCTGCGTATGCTGGTGGATAGAGGCTGTCGCCTGACCATCGTTCCGGCGCAAACTTCTGCG
+GAAGATGTGCTGAAAATGAATCCAGACGGCATCTTCCTCTCCAACGGTCCTGGCGACCCGGCCCCGTGCG
+ATTACGCCATTACCGCTATCCAGAAATTCCTCGAAACTGATATTCCGGTATTCGGCATCTGCCTCGGTCA
+TCAGCTGCTGGCGCTGGCGAGCGGTGCGAAGACCATCAAAATGAAATTTGGTCACCACGGCGGCAACCAT
+CCGGTTAAAGATGTTGAGAAAAATGTGGTGATGATCACCGCCCAGAACCACGGTTTTGCGGTGGATGAAG
+CAACATTACCTGCAAACCTGCGTGTCACACATAAATCCCTGTTCGACGGTACGTTACAGGGCATTCATCG
+TACCGATAAACCGGCGTTCAGCTTCCAGGGACACCCGGAAGCCAGCCCTGGTCCACACGACGCCGCGCCG
+TTGTTTGACCACTTTATCGCGTTAATTGAGCAGTACCGTAAAACCGCTAAGTAATCAGGAGTAAAAGAGC
+CATGCCAAAACGTACAGATATAAAAAGTATCCTGATTCTGGGTGCGGGCCCGATTGTTATCGGTCAGGCG
+TGTGAGTTTGACTACTCTGGCGCGCAAGCGTGTAAAGCCCTGCGTGAAGAGGGTTACCGCGTCATTCTCG
+TGAACTCCAACCCAGCGACTATCATGACCGACCCGGAAATGGCTGATGCAACCTACATCGAGCCGATTCA
+CTGGGAAGTGGTACGCAAGATTATTGAAAAAGAGCGCCCGGACGCGGTGCTGCCAACCATGGGGGGGCAG
+ACGGCGCTGAACTGTGCGCTGGAGCTTGAGCGTCAGGGCGTGCTGGAAGAGTTCGGCGTCACCATGATTG
+GTGCCACTGCCGATGCGATTGATAAAGCCGAAGACCGCCGCCGTTTCGACGTAGCGATGAAGAAAATCGG
+TCTGGAAACTGCGCGTTCCGGTATCGCTCATTCAATGGAAGAAGCGCTGGCGGTTGCCGCTGAAGTTGGC
+TTCCCGTGCATTATTCGCCCATCCTTTACCATGGGCGGTAGCGGTGGCGGTATCGCTTATAACCGTGAAG
+AATTTGAAGAAATTTGCGCCCGCGGTCTGGATCTTTCTCCGACTAAAGAGCTGCTGATTGATGAGTCGCT
+GATCGGCTGGAAAGAGTACGAGATGGAAGTGGTGCGTGATAAAAACGACAACTGCATCATCGTCTGCTCT
+ATCGAAAACTTTGATGCGATGGGCATCCACACCGGTGACTCCATCACTGTCGCGCCAGCCCAAACGCTGA
+CCGACAAAGAATATCAAATCATGCGTAACGCCTCGATGGCGGTACTGCGTGAAATCGGCGTTGAAACCGG
+TGGTTCCAACGTCCAGTTTGCGGTGAACCCGAAAAACGGTCGCCTGATTGTTATCGAAATGAACCCACGC
+GTGTCTCGCTCCTCTGCGCTGGCGTCGAAAGCCACTGGTTTCCCGATTGCCAAAGTGGCGGCGAAACTGG
+CGGTGGGTTACACCCTCGACGAGCTGATGAACGACATCACCGGTGGGCGTACTCCGGCCTCCTTCGAGCC
+GTCCATCGACTATGTGGTTACTAAAATTCCTCGCTTCAACTTCGAGAAATTCGCCGGTGCTAACGACCGT
+CTGACCACTCAGATGAAATCGGTTGGCGAAGTGATGGCGATTGGTCGCACGCAGCAGGAATCCCTACAAA
+AAGCGCTGCGCGGCCTGGAAGTGGGCGCAACTGGCTTCGATCCGAAAGTGAGTCTCGACGACCCGGAAGC
+GCTGACTAAAATCCGCCGCGAACTGAAAGATGCTGGCGCAGAGCGTATCTGGTATATCGCTGATGCCTTC
+CGCGCGGGCCTGTCTGTAGACGGTGTATTTAATTTGACCAACATTGACCGCTGGTTCCTGGTACAGATTG
+AAGAGCTGGTGCGTCTGGAAGAGAAAGTCGCAGAAGTGGGCATCACTGGCCTGCACGCTGAATTCCTGCG
+CCAGTTGAAACGCAAAGGCTTTGCCGATGCGCGTCTGGCTAAACTGGCGGGCGTGCGCGAAGCGGAAATC
+CGCAAGTTGCGCGACCAGTATGATCTGCACCCGGTTTACAAGCGCGTGGATACTTGTGCGGCAGAGTTCG
+CCACCGACACCGCTTACATGTACTCCACTTATGAAGAAGAGTGCGAATCCAACCCATCTGACCGTGACAA
+AATCATGGTCCTCGGCGGCGGCCCGAACCGTATCGGTCAGGGTATCGAATTCGACTACTGCTGTGTACAC
+GCCTCGCTGGCGCTGCGTGAAGACGGTTACGAAACCATTATGGTTAACTGTAACCCGGAAACCGTCTCCA
+CTGATTACGACACTTCCGACCGCCTCTACTTCGAGCCGGTAACTCTGGAAGACGTGCTGGAAATTGTGCG
+TATTGAGAAGCCGAAAGGCGTTATCGTCCAGTACGGCGGTCAGACCCCGCTGAAACTGGCGCGCGCGCTG
+GAAGCTGCTGGCGTACCGGTTATCGGTACCAGCCCGGATGCCATCGACCGTGCGGAAGACCGTGAACGCT
+TCCAGCATGCGGTTGAGCGTCTGAAACTGAAACAACCGGCGAACGCCACCGTTACCACCATCGAAATGGC
+GGTTGAGAAAGCGAAAGAGATTGGCTACCCGCTGGTGGTGCGTCCGTCTTACGTTCTCGGCGGTCGGGCG
+ATGGAAATCGTCTATGACGAAGCTGACCTGCGTCGCTACTTCCAGACAGCGGTCAGCGTATCTAACGATG
+CGCCAGTGTTGCTGGACCACTTCCTTGATGACGCAGTAGAAGTTGACGTGGATGCCATCTGCGACGGCGA
+AATGGTGCTGATTGGCGGCATCATGGAGCACATCGAGCAGGCGGGCGTGCACTCCGGTGACTCCGCATGT
+TCGCTGCCAGCCTACACCTTAAGTCAGGAAATTCAGGATGTGATGCGCCAGCAGGTGCAGAAACTGGCCT
+TCGAATTGCAGGTGCGCGGCCTGATGAACGTGCAGTTTGCGGTGAAAAACAACGAAGTCTACCTGATTGA
+AGTTAACCCGCGTGCGGCGCGTACCGTTCCGTTTGTCTCCAAAGCCACCGGCGTACCGCTGGCAAAAGTG
+GCGGCGCGTGTGATGGCTGGCAAATCGCTGGCTGAGCAGGGCGTAACCAAAGAAGTTATCCCGCCGTACT
+ACTCGGTGAAAGAAGTGGTGCTGCCGTTCAATAAATTCCCGGGCGTTGACCCGCTGTTAGGGCCAGAAAT
+GCGCTCTACCGGGGAAGTCATGGGCGTGGGCCGCACCTTCGCTGAAGCGTTTGCCAAAGCGCAGCTGGGC
+AGCAACTCCACCATGAAGAAACACGGTCGTGCGCTGCTTTCCGTGCGCGAAGGCGATAAAGAACGCGTGG
+TGGACCTGGCGGCAAAACTGCTGAAACAGGGCTTCGAGCTGGATGCGACTCACGGCACGGCGATTGTGCT
+GGGCGAAGCGGGTATCAATCCGCGTCTGGTGAACAAGGTGCATGAAGGCCGTCCGCACATTCAGGACCGT
+ATTAAGAATGGCGAATATACCTACATCATCAACACCACCTCAGGTCGTCGTGCGATTGAAGACTCCCGCG
+TGATCCGTCGCAGTGCGCTGCAATATAAAGTGCATTACGACACCACCCTGAACGGCGGCTTTGCCACCGC
+GATGGCGCTGAATGCCGATGCGACCGAAAAAGTAATTTCGGTGCAGGAAATGCACGCGCAGATCAAATAA
+TAGCGTGTCATGGCGGATATTTTTCATCCGCTAATTTGATCGAATAACTAATACGGTTCTCTGATGAGGA
+CCGTTTTTTTTGCCCATTAAGTAAATCTTTTGGGGAATCGATATTTTTGATGACATAAGCAGGATTTAGC
+TCACACTTATCGACGGTGAAGTTGCATACTATCGATATATCCACAATTTTAATATGGCCTTGTTTAATTG
+CTGCAAAACGAGTCATAGCCAGTCTTTTAATTTGTGAAACTGGAGTTCGTATGTGTGAAGGATGTGTTGA
+AAAACCACTCTATTTGTTAATCGCCGAATGGATGATGGCTGAAAACCGGTGGGTGATAGCAAGAGAGATC
+TCTATTCATTTCGATATTGAACACAGCAAGGCGGTTAATACCCTGACTTATATTCTGTCGGAAGTCACAG
+AAATAAGCTGCGAAGTTAAGATGATCCCTAATAAGCTGGAAGGGCGGGGATGCCAGTGCCAGCGACTGGT
+AAAAGTGGTTGATATCGATGAGCAAATTTACGCGCGCCTGCGCAATAACAGCCGGGATAAATTAGTCGGC
+GTAAGAAAGACGCCGCGTATTCCTGCCGTTCCGCTCACGGAACTTAACCGCGAGCAGAAGTGGCAGATGA
+TGTTGTCAAAGAGTATGCGTCGTTAATGTCATTTCGTTGATACCGTGCGACCTGGTCGCTGGATGCGATG
+CTGGCGCATCTTATCCGGCCTACGGTTGCTTTACAGCCAGGTCGGATAAGGCGTTTATGCCGCATCCGAC
+GATGTTACCGTTTCGGCGTCACATCCGTCGTCCCCTGCAAACGGGGGCGATTTTCCTCCATTTGCCTCAG
+TGGCTGCGTTTCATGTAACGCTGCATGACAGCGCCCGACAAGATCCTGATACTCTTTGGTATTCAACCGT
+TTCCAGTGTAACTCGTCGTCACTCACGCTGCGTACAGCGCGGGCTGGCGTACCCATCAACAACTGGCGTT
+TCTCGCCGCGAAAGCCCGCTTTGACAAAGCTCATAGCGGCAACAATGCTCTCTTCGCCAATGACCGCGCC
+ATCCATAATCACGCTGTTCATCCCGACCAGTGCATCGCGACCAATCACACAACCATGCAGGATCGCTCCG
+TGCCCGATATGACCGTTTTCCCCAACGATGGTGTCAGTGTCGCAGTAGCCATGCATAATGCAGCCATCCT
+GAATATTGGCTCCCGCTTGCACGATCAACCGCCCGTAGTCACCACGCAGTGAGGCGAGTGGGCCGATGTA
+GACACCGGCTCCCACAATCACATCGCCAATCAATACTGCACTGGGATGGACAAACGCCGTCGGGTGAACA
+ACCGGAATTAACCCCTCAAAGGCGTAATAGCTCACGGTTGTTAACGTCCTTTCCACACTGGATCGCGCTT
+CTCGGCAAACGCCAGCGGCCCTTCAATGGCATCCTCCGAATGCAGAACCGACGGATAGTGTTTCAACACG
+CCGCTGCGAATATAGCGATACGCTTCTTCTACCGGCATTTCACTGGTGGTGCGGTAGATCTCTTTCAGCG
+CCGCAATCGCCAGCGGAGCGCTGTTAACCAGCTGCTGCGCCAGTTCGCGGGCGTTATCCATCAGTTCCGC
+CTGGCTAACCACGCGGTTGACTACCCCCCAACGCAGCGCCTCTTCTGCGCCCATTCGTCTGCCGGTCATC
+ACCATTTCATTGACGATGGCAGGCGGCAGGATCTTCGGCAGACGCAGCACGCCGCCGCTGTCAGGAACGA
+TGCCCAGTTTGGCTTCCGGTAGGGCGAAGCTGGCGTTATCGGCACAAACAATAAAATCTGCCGCCAGCGC
+CAGTTCAAAGCCGCCGCCAAAGGCATAGCCGTTCACAGCGGCGATGACCGGTTTGTCGAGATTGAAAATT
+TCGGTTAATCCCGCAAAACCTCCCGGGCCAAAGTCAGCATCCGGTGCTTCGCCTTCTGCTGCCGCTTTTA
+AATCCCAGCCCGCGGAAAAGAATTTCTCTCCGGCACCGGTAATAATGGCGACACGTAATTGCGGATCGTC
+ACGGAAATTTAGAAATACTTCGCCCATTTCAAAGCTGGTTTTTGCATCAATAGCATTCGCTTTTGGACGA
+TCAAGGGTAATTTCCAGAATTGATCCATTGCGGGTCAGATGTAATGATTCACTCATTCCTTTTCTCCATT
+TTTGCTTTTTCAGGGACGACAACATCCCTGCAAAAAATGCATATTGTTTTAGAGCGTGATTATTAGCTGA
+CAGGGTAGTTCCCTGCCGTTTCATTTATTTCAGATTCTTTCTAATTATTTTCCCCGAGCAATTACGTGGC
+AGATCTTTTCTGATCTCCAGATAAGAGGGCACTTTAAATTTCGCCATATTCTGTTCACAGAAGCAGAAGA
+ATTCCTCTTCGCTCAATGTTTCACCTTCATTCAGCACCACAAATGCTTTGATGGCTTCATCGCGAATCGA
+ATCTTTAATACCCACAACCACGATATCCTGAATTTTTGGATGGGTGGCGATGATATTTTCGAGCTCCACG
+CAGGAGACATTCTCGCCACCGCGTTTGATCATATTGCAGCGGCGATCGACGAAATAAAAAAAGCCCTCTT
+CGTCGCGGTATCCGGTATCGCCGGTATGTAGCCAGCCATCGGCTTCCAGCACTTTCGCAGTGGCTTTCGG
+GTTGAGAAAATACTCTTTGAAGATGGTTTTCCCTGGTACGCCTTTAATACAGATTTCACCGAGCTCACCA
+GCCGGGAGGGGACGATTGTGATCGTCGCGGATCTCCGCTTCGTAGCAAAAGCCCGCCCGACCAATCGACG
+GCCAGCGCCGTTTATCGCCAGGGCGATCGCCGATAATGCCCACAATGGTTTCCGTCATCCCATAAGACGT
+CAGCAAGCGAACGCTGAAGCGTTCACAAAACGCGTCTTTTTCCTGCTCCGACAGGTTGAGATAAAACATC
+ACTTCCCGCAGGCGGTGTTGCTGATCGTTCGCTGAAAGCGGCTGCACCATCAACGTACGAATCATCATCG
+GAATACATTCGGTAATGGTGGCGCGGTACTTCTGCACCTGTCCCCAGAAGGCGCGGGCGCTGTATTTCTC
+GACCAGCACAAAGGTGGCCCCGGCAGAAAACGCCGCCATCGCCGCAGTACACTGGCAATCGATATGAAAC
+GCAGGCATTACCGTCAGGTAGACGTCATCGTCACGCAGTGCACACTGCCAGGCGGAGTAATATCCAGCGA
+AGCGCAGGTTGTAATGAGTTATCACCACCCCTTTCGGTCGGGAGGTGGTGCCGGAGGTGAAGAGAATTTC
+CGCCGTATCGTCAGTCGATAGCGGCGGTGCATAGCACAAGGTGGCAGGTTGTTGATTTTTCAGTTGAGTA
+AACGAACTCACGCCATCATCAGCGGGAAGTACCATATCTGTCAGGCAAATGTGCCGCAACTGAGAGGCAT
+CTTCCTGCTGAATCTGTTGATACATAGGATAAAATTGCGCACTGGTCACCAGCAGGCACGCCTGGCTATT
+TTGCAGGATCCACGTGCTTTCTTCGCGCAACAGGCGGGCGTTAATCGGCACCATAATCGCGCCAATTTTT
+GCCAACCCGAACCAGCAAAAGATAAATTCCGGGCAGTTGTCGAGATGTAGAGCAACCTTGTCGCCTTTGC
+GAATCCCCAGCGTATAAAACAGGTTTGCCGTGCGGTTAATCTCCTGATTTAACTCAAGATAACTATACCG
+GTTAACGACTCCGCTGCTGGATTCACAAATCAGCGCCGTTTTATGACCGTAAACGTCCGCCAGATCGTCC
+CACATTTGACGTAGATGTTGTCCGCCAATGATATCCATTGCACCTCTATCCATTTTGTTCGTTTGTTATT
+GGGCGGGCGCTAGTCAGGCAAGTTGACTGACGCCACGCGTTTAGTCCTCAACTTTGGCCAGACCTTTGCT
+GACCAACTCCTGAATGTCGTTTTCGCTGTAGCCGATATTTTTCAAAATGGCAGCCGTGTCCATGCCATGT
+GAGGGCATTCCGCGCCAGATTTGTCCGGGGTTATTTTTGAATTTCGGCATGATATTCGGCCCTTTGCAGG
+TGCGACCATCCATCGTTTGCCACTGAGTGATTGATTCGCGAGCCACATACTGTGGATTGCTTTCCAGTTC
+CGGCACGGTCAGTACTTTGGCACAGGCGATATTCAGTTCGGCAAAGCGTTCTTTAACTTCTGCGATGGTA
+TGTGCCGCCAGCCAGGCATCGAGTTTCTCTTCTACCAGTGGGCCGTAAGGGCATTCGATACGGTGGATAA
+GCTGAGTGCCTTCCGGGATTTCCGGCGTACCGAGCAGGTGTGCGAGGCCAATATCTTTAAAGCACTCTGT
+AATTTGAGTAATGCCCACCAGTTCCATCACGATGTAGCCGTCGGCGCATTTATACAGACCGCAACCGGCG
+TAGTAGGGATCTTTACCTTTGGTCATGCGCGGGCACATTTCGCCGCCGTTGAAGTAATCCATCATGAAGT
+ACTGGCCCATACGCAGCATCACTTCATACATGGCGATGTCGATGCTTTCGCCTTTGCCGGTTTCACGCAC
+TTTATGCAGTGCTGCCAGCGCCGCCGTGGTGGCAGTCAGGCCAGAAAAGTAATCGGCGGTATACGGGAAG
+GCAGGCATTGGCTGGTCAACATCACCGTTCTGAATCAGGTAACCACTGAAGGCCTGGGCGATAGTGTTAT
+AGGCCGGAAGATTGGTGTACTCCTCGGTGCCGTACTGACCAAAACCGGACAGATGAGCGATAACCAGTTT
+TGGGTTGTGCTGCCACAGGACTTCATCGGTAATGCCACGACGGGCAAAGGCCGGACCTTTACTGGCTTCG
+ATGAAGATATCGGTGGTTTCCATTAATTTCAGAAACGCTTCGCGCCCTTCATCTTTGAAAATATTTAACG
+ACAGCGCGTGCAAATTGCGGCGGGAGAGCTGCGGGTAGTTCGGTTGAACGCGAATGGTGTCGGCCCAGGC
+GACGTTCTCGATCCAGATAACTTCCGCGCCCCATTCTGCGAACATTTGTCCGGCAAACGGTCCGGCGATT
+TCGATACCGGAGAAGACAACGCGCAATCCGGCCAGCGGTCCGAATTTCGGCATGGGTAGATGATCCATTA
+TTAGCTCCTGAAAAATTTATGTAGCGCATGACTGCCGGATGCGGCGTAAACGCCTTATCCGGCCTACCGT
+CGGCCTGATAAGACGCGTCAGCGTCGCATCAGGCAGCGCACGGACTTAGCGGTATTGCTTCAGCACCGCG
+CGACCCAGCGTCAGGATCTGCATTTCGTCAGATCCCCCGGAGACGCGGTCTACACGCAGGTCACGCCAGA
+AGCGGCTGATGCGGTGGTTGCCCGCAATCCCGACACCGCCCAGCACCTGCATTGCGCTATCCACAACTTC
+AAATGCCGCATTGGCGCAGAAGTATTTGCACATCGCTGCATCGCCAGAGGTGATGGTGCCGTTGTCTGCT
+TTCCACGCTGCTTCATACAGCATGTTTTTCATGGAGTTTAATTTGATCGCCATGTGGGCGAATTTTTCCT
+GAATCAACTGGAAACGACCAATAGCCTCGCCAAACTGCACGCGCTGGTTGGCGTAGCGCGCCGCATCTTC
+AAAGGCGCACATCGCCGTACCGTAGTTGGTCAGGGCTACCAGGAAACGTTCATGGTCGAACTCTTCTTTG
+ACGCGGTTAAAGCCGTTACCTTCCCGACCGAACATGTCTTTCTCGTCCAGTTCCACGTCGTCAAAAGTGA
+TTTCACAGCAGCTATCCATACGCAGACCGAGCTTTTCAAGTTTGGTCACTTTGATGCCCGGTTTGCTCAT
+ATCAACAAACCATTCGGTGTAGACAGGTTTGTCCGGAGAAGCCCCGTCGCGCGCCATCACCACGATGTAC
+GGGGTGTAGGCGCTACTGGTAATAAAACACTTACTACCATTAAGATAAATCTTACCATTTCTACGGGTAT
+AAGTCGTTTTCAGGCTACCCACGTCGGAGCCTGCGCCCGGTTCGGTAATCGCTGAGTTCCACATCTGCTT
+ACCGGTGCCGCGGAAAGCCATGATCTTGTCGATCTGCTCTTGCGTACCTTCACGCAGGAAGGTGTTAAAC
+CCGCCCGGTAACTGATACAGCACGTAAGTTGGCGCTCCCAGACGACCCAGTTCCATCCACACGGCGGCGA
+GAGTAACAAACCCCGCGTCCAGACCACCGTGTTCTTCCGGGATCAGCAGACAGTCGATACCCATATCCGC
+CAGGGCTTTGACAAAACGTTCCGGGTAGACGCTGTCACGGTCGCACTCGGCAAAATAGGCCTCCCAGTTT
+TCGCTGGCCATCAGTTCGCGGATACCGGCGACAAACAGTTCCTGCTCATCATTTAAATTAAAATCCATCT
+TTCAACCTCTTGATATTTGGGTGGTTAATTAATCTTTCCAGTTCTGTTTCGCGTCTTTAATAAAGGAGAG
+CGTCACCATGATGTTGACGAAGAACAGCGGGCATCCTCCGGCGATAATGGCGGTTTGAATCGGTTTCAGG
+CCGCCGAGCGCCAGCAGAACAATGCCGATAATGCCAACCAGAACTGACCAACCAATGCGCACTAGCAGCG
+GGGGTTCTTCGCCGTCACGCACTTCGCGGCAAGTGGACATCGCCAGGGTATAAGAGCAGGCGTTAACCAG
+CGTAACGGTGGCAATAAAGCAGAGGATGAAGAAGCCCCACATGGTGGCGGTGCTGAGTGGCAGAGCGGCC
+CAGGTTTCGATGATGGCGCGCGCCACACCGTACTGTTCGATCAGATTTGGAATGTTGATGATGTTTTTAT
+CTATCAACAGCAGAGTGTTACTACCGAGTACAGTCCACAGGATCCAGGTTGACGCTGTCAGCCCCAGCAC
+CATGCCGAAGCACAGTTCACGCACGGTACGACCACGGGAGATGCGGGCGAGGAAGATGCTCATCTGGATA
+GCGTAAATCACCCACCATGCCCAGTAGAACACGGTCCAGCCCTGCGGAAAGCCGCCTTTAGCGATGGGAT
+CGGTATAGAACAACATGCGCGGCAGATACATCAGTAACATCCCCACCGAATCGGTGAAGTAGTTCATGAT
+GAAGCTGGCACCGCTGACGATGAACACCCAACCCAGCATCAGGAAGCTCAGGTAACTACGCACGTCACTG
+GCGATACGTACCCCTTTTTGCAGACCGCAAGCGACGCAAATGGCGTTGAGGATAATCCAGCAGGTAATGA
+TGATAGCGTCCAGTTGCAGGGTATGCGGAATGCCAAACAACCATTGCATACACTCGGTCACCAGCGGCGT
+GGCAAGGCCCAGACTGGTACCCATCGCGAAGATCAAGGCGACGAGATAGAAGTTGTCGACGATAGTGCCG
+AACAACCCTTTGGCGTGTTTTTCACCTACCAGCGGCACCAGGGTGGAGCTGGGGCGAATCACTTCCATTT
+TGCGGACAAAGAAGAAGTAAGCGAAGGCGACTGAAAGGAAGCTGTAAGTGGCCCACGGCAGAGGTCCCCA
+GTGGAACAAGCTGTAAGCCAGCCCCAACTCTTTCGCGCCTGTTGAGTTCGGTTCTAAGCCAAACGGCGGG
+GTGGAGATGTAGTAGTAGATCTCAATCGATCCCCAGAACAGTACGGCAGCAGACGTACAGGAGGCGAACA
+TCATAAAGATCCAACTGGCGGTACTAAATTCTGGTGGTTCGTTACCTAAACGCTTTTTGGCATACGGGCC
+AAACACCAGCCAGAACCAGCCGAAAAGCATCACCACCATATACCATTCAAATGCCCATCCCCATACATTG
+GTGACGTAACTGAATACAGCATTAATAACGACATTCGCCGCATCCAGATCTCTGACTGTAAGCCAACAAA
+GTATGCCGACGATTATTAACGGCGGAAAGAAAACCTTCGGTTCTATTCCCGTTTTTCTCTTTTCATTCTT
+CATGAGTTAATTCCACTGTGAAAACGAATATTTATTTTGCGTTCCCGTTTGTTTTATTTTTGTTAACATT
+TAATATAATTATTATTAACCTCGTGGATGCGTTAATGGCTAACTCATAATGGGTATTCAATAAGCTGCAT
+TCTGTGATTGTTATCACATTTTTGTTTCGGGTGAATAGAGGGCATTTTTTCGTTAATTTTGATTATTAAT
+CAGTTTGTTATGTTCTGTTGTGAGTAAAAAAATAGCATCTGACTTTCAATATTGGTGATCCATAAAACAA
+TATTGAAAATTTCTTTTTTCTACGCCATGTTTTCAATATTGGTGAGGAGCTTAACAATATTGAAAGTTGG
+ATTTATCTGCGTGTGACATTTTCAATATTGGTGATTAAAGTTTTATTTCCAAATTAAAGGGCGTGATATC
+TGTAATTAACACCACCGATATGAACGACGTTTCCTTCATGATTTCTGGAGATGCAATGAAGATTATTACT
+TGCTATAAGTGCGTGCCTGATGAACAGGATATTGCGGTCAATAATGCTGATGGTTCGTTAGACTTCAGCA
+AAGCCGATGCCAAAATAAGCCAATACGATCTCAACGCTATTGAAGCGGCTTGCCAGCTAAAGCAACAGGC
+AGTAGAGGCGCAGGTGACGGCCTTAAGTGTGGGCGGTAAAGCCCTGACCAACGCCAAAGGGCGTAAAGAT
+GTGCTATCGCGCGGTCCGGATGAACTGATTGTGGTGATTGATGACCAGTTCGAGCAGGCACTGCCGCAAC
+AAACGGCGAGCGTACTGGCTGCTGCCGCTCAGAAAGCAGGCTTTGATTTGATCCTCTGTGGCGATGGTTC
+TTCCGACCTTTATGCCCAGCAGGTTGGTTTGCTGGTAGGCGAAATCCTTAATATTCCGGCAGTTAACGGC
+GTCAGCAAAATTATCTCCCTGACGGCAGATACCCTCACCGTTGAGCGCGAACTGGAAGATGAAACCGAAA
+CCTTAAGCATTCCGCTGCCTGCGGTTGTTGCTGTTTCCACTGATATCAACTCCCCACAAATTCCTTCGAT
+GAAAGCCATTCTCGGCGCGGCGAAAAAGCCAGTCCAGGTATGGTCGGCGGCGGATATCGGTTTTAACGCA
+GAGGCAGCCTGGTCAGAACAACAGGTTGCCGCGCCGAAACAGCGCGAGCGTCAGCGCATCGTGATTGAAG
+GCGACGGCGAAGAACAGATCGCCGCATTTGCTGAAAATCTTCGCAAAGTCATTTAATTACAGGGGATGCT
+ATGAACACGTTTTCTCAAGTCTGGGTATTCAGCGATACCCCTTCTCGTCTGCCGGAACTGATGAACGGTG
+CGCAGGCTTTAGCTAATCAAATCAACACGTTCGTCCTCAATGATGCCGACGGCGCACAGGCAATCCAGCT
+CGGCGCTAATCATGTCTGGAAATTAAATGGCAAACCGAACGATCGGATGATCGAAGATTACGCCGGTGTC
+ATAGCTGACACTATTCGCCAGCACGGCGCAGACGGTCTGGTGCTGTTGCCAAACACCCGTCGCGGCAAAT
+TACTGGCGGCAAAACTGGGTTATCGCCTTAACGCGGCGGTGTCTAACGATGCCAGCACCGTCAGCGTACA
+GGACGGTAAAGCGACAGTGAAACACATGGTTTACGGCGGTCTGGCGATTGGCGAAGAACGCATTGCCACG
+CCGTATGCGGTTCTGACCATCAGCAGCGGCACGTTCGATGTGGCTCAGCCAGACGCGTCACGCACTGGCG
+AAACGCACACCGTGGAGTGGCAGGCTCCGGCTGTGGCGATTACCCGCACGGCAACCCAGGCGCGTCAGAG
+CAACAGCGTCGATCTCGACAAAGCCCGCCTGGTGGTCAGCGTTGGTCGCGGTATTGGCAGCAAAGAGAAC
+ATTGCGCTGGCAGAACAGCTTTGCAAGGCGATAGGTGCGGAGTTGGCCTGTTCTCGTCCGGTGGCGGAAA
+ACGAAAAATGGATGGAGCACGAACGCTATGTCGGTATCTCCAACCTGATGCTGAAACCTGAACTGTACCT
+GGCGGTGGGGATCTCCGGGCAGATCCAGCACATGGTTGGCGCTAATGCGTCGCAAACCATTTTCGCCATC
+AACAAAGATAAAAATGCGCCGATCTTCCAGTACGCGGATTACGGCATTGTTGGCGACGCCGTGAAGATCC
+TTCCGGCACTGACCGCAGCTTTAGCGCGTTGATCCACTCTGGCAGGGCTGCATTTTGGCCCTGCCGCTGA
+CAGGGAGCTCTTATGTCCGAAGATATCTTTGACGCCATCATCGTCGGTGCAGGGCTTGCCGGTTCGGTTG
+CCGCACTGGTGCTCGCCCGCGAAGGTGCGCAAGTGTTAGTTATCGAGCGAGGCAATTCCGCTGGTGCCAA
+GAACGTCACCGGCGGGCGTCTCTATGCCCACAGTCTGGAACACATTATTCCTGGTTTCGCTGACTCCGCC
+CCCGTAGAACGCCTGATCACCCATGAAAAACTTGCGTTTATGACGGAGAAGTCAGCGATGACTATGGACT
+ACTGCAATGGCGACGAAACCTCGCCATCCCAGCGTTCTTACTCCGTTTTGCGCAGTAAATTTGATGCCTG
+GCTGATGGAGCAGGCCGAAGAAGCGGGCGCGCAGTTAATTACCGGGATCCGCGTCGATAACCTCGTACAG
+CGCGATGGCAAAGTCGTCGGTGTAGAAGCCGATGGCGATGTGATTGAAGCGAAAACGGTGATCCTTGCTG
+ATGGGGTGAATTCCATCCTTGCCGAAAAGCTGGGGATGGCAAAACGCGTTAAACCGACGGATGTGGCGGT
+TGGCGTAAAGGAACTGATCGAGTTACCGAAGTCGGTTATCGAAGACCGTTTTCAGTTGCAGGGTAATCAG
+GGCGCGGCTTGCCTGTTTGCGGGATCACCCACCGATGGCCTGATGGGCGGTGGCTTCCTTTATACCAATG
+AAAATACCCTGTCGCTGGGGCTGGTTTGTGGTTTGCATCATCTGCATGACGCAAAAAAATCGGTGCCGCA
+AATGCTGGAAGATTTCAAACAACATCCGGCCGTTGCACCGCTGATCGCGGGCGGCAAGCTGGTGGAATAT
+TCCGCTCATGTAGTGCCGGAAGCAGGTATCAACATGCTGCCGGAGCTGGTTGGTGACGGCGTATTGATTG
+CCGGTGATGCTGCCGGAATGTGTATGAACCTCGGTTTTACCATTCGCGGTATGGATCTGGCGATTGCCGC
+CGGGGAAGCAGCAGCAAAAACTGTGCTTTCAGCGATGAAAAGCGACGATTTCAGTAAGCAAAAACTCGCG
+GAATATCGTCAACATCTTGAGAGTGGCCCGCTGCGCGATATGCGCATGTACCAGAAACTACCGGCGTTCC
+TTGATAACCCACGCATGTTTAGCGGCTACCCGGAACTGGCGGTGGGCGTGGCGCGTGACCTGTTCACCAT
+TGACGGCAGTGCGCCGGAACTGATGCGCAAGAAAATCCTCCGCCACGGCAAGAAAGTGGGCTTCATCAAT
+CTGATCAAGGATGGCATGAAAGGAGTGACCGTTTTATGACTTCTCCCGTCAATGTGGACGTCAAACTGGG
+CGTCAATAAATTCAATGTCGATGAAGAGCATCCGCACATTGTTGTGAAGGCCGATGCAGATAAACAGGCC
+CTGGAGCTGCTGGTGAAAGCGTGCCCCGCAGGTCTGTACAAGAAGCAGGATGACGGCAGCGTGCGTTTCG
+ATTACGCCGGATGTCTGGAGTGTGGCACCTGCCGCATTCTGGGGCTAGGGTCGGCGCTGGAACAATGGGA
+ATACCCGCGCGGCACCTTTGGTGTGGAGTTCCGTTACGGCTGATGTTGGTTTGATACGTAATGCCGTACT
+GACTCTCATTGCAAAAAAACAGGAATAACCCATGCAACCGTCCAGAAACTTTGATGATCTTAAATTCTCC
+TCTATTCACCGCCGCATTTTGCTGTGGGGAAGCGGTGGTCCGTTTCTGGATGGTTATGTACTGGTAATGA
+TTGGCGTGGCGCTGGAGCAACTGACTCCGGCGCTGAAACTGGACGCTGACTGGATTGGCTTGCTGGGCGC
+GGGAACGCTCGCCGGGCTGTTCGTTGGCACATCGCTGTTTGGCTATATCTCCGATAAAGTCGGACGGCGC
+AAAATGTTCCTCATCGATATCATCGCCATCGGCGTGATATCGGTGGCGACGATGTTTGTCTCATCCCCCG
+TCGAACTGTTAGTGATGCGGGTACTCATCGGCATTGTCATCGGTGCAGATTATCCCATCGCCACTTCGAT
+GATCACTGAGTTCTCCAGTACCCGTCAGCGGGCGTTTTCCATCAGCTTTATTGCCGCGATGTGGTATGTC
+GGCGCGACCTGCGCCGATCTGGTCGGTTACTGGCTTTATGATGTGGAAGGTGGTTGGCGCTGGATGCTGG
+GTAGCGCAGCGATCCCCTGTTTGTTGATTTTGATTGGTCGATTCGAACTGCCTGAATCTCCCCGCTGGTT
+GTTACGCAAAGGGCGAGTAAAAGAGTGCGAAGAGATGATGATCAAACTGTTTGGCGAACCGGTGGCTTTC
+GATGAAGAGCAGCCGCAGCAAACCCGTTTTCGCGATCTGTTTAATCGCCGCCATTTTCCTTTTGTTCTGT
+TTGTTGCCGCCATCTGGACCTGCCAGGTGATCCCAATGTTCGCCATTTACACCTTTGGCCCGCAAATCGT
+TGGTTTGTTGGGATTGGGGGTTGGCAAAAACGCGGCGCTGGGGAACGTGGTGATTAGCCTGTTCTTTATG
+CTCGGCTGTATTCCGCCGATGCTGTGGCTAAACACTGCCGGACGGCGTCCATTGTTGATTGGCAGCTTTG
+CCATGATGACGCTGGCGCTGGCGGTTTTGGGGCTGATCCCGGATATGGGGATCTGGCTGGTGGTAATGGC
+GTTTGCGGTGTATGCCTTTTTCTCCGGTGGGCCGGGTAATTTGCAGTGGCTTTATCCTAATGAACTCTTC
+CCGACGGATATCCGCGCCTCTGCCGTGGGCGTGATTATGTCCTTAAGCCGTATTGGCACTATTGTATCGA
+CCTGGGCACTGCCGATCTTTATCAATAATTACGGTATCAGTAACACGATGCTAATGGGGGCGGGTATCTC
+GCTATTTGGCTTGTTGATTTCCGTAGCGTTTGCCCCGGAGACTCGAGGGATGTCACTGGCGCAGACCAGC
+AATATGACGATCCGCGGGCAGAGAATGGGGTAATTTGTTCAGATTTCTCTCTTTTCTGAATCAATATTAT
+TGACTATAAGCTGCGTGAATATATGACTACACTTTGTGGGAAAACAAAGGCGTAATCACGCGGGCTACCT
+ATGATTCTTATAATTTATGCGCATCCATATCCGCATCATTCCCATGCGAATAAACGGATGCTTGAACAGG
+CAAGGACGCTGGAAGGCGTCGAAATTCGCTCTCTTTATCAACTCTATCCTGACTTCAATATCGACATTGC
+CGCCGAACAGGAGGCGCTGTCTCGTGCCGATCTGATCGTCTGGCAGCACCCGATGCAGTGGTACAGCATT
+CCTCCGCTCCTCAAACTTTGGATCGATAAAGTCTTCTCGCACGGCTGGGCTTACGGTCACGGCGGCACGG
+CGCTGCATGGCAAACATTTACTGTGGGCGGTGACGACCGGCGGTGGGGAAAGCCATTTTGAGATTGGCAC
+GCATCCGGGGTTTGATGTGCTGTCGCAGCCGCTACAGGCGACGGCAATCTACTGCGGGCTGAACTGGCTG
+CCACCGTTTGCCATGCACTGCACCTTTATTTGTGACGACGAAACCCTCGAAGGGCAGGCGCGTCACTATA
+AGCAACGTCTGCTGGAATGGCAGGAGGCACATCATGGATAGTCATACCTTGATTCAGGCGCTGATTTATC
+TCGGTTCGGCGGCGCTGATTGTACCCATTGCAGTACGCCTCGGTCTGGGATCGGTACTTGGCTACCTGAT
+AGCAGGCTGCATTATTGGCCCGTGGGGGCTGCGACTGGTGACCGATGCCGAATCTATTCTGCACTTTGCC
+GAGATTGGCGTGGTGCTGATGCTGTTTATTATCGGCCTCGAACTCGATCCACAAAGGCTGTGGAAGCTGC
+GTGCGGCAGTGTTCGGCGGTGGCGCATTGCAGATGGTGATTTGCGGCGGCCTGCTGGGGCTGTTCTGCAT
+GTTACTTGGGCTGCGCTGGCAGGTAGCGGAATTGATCGGCATGACGCTGGCGCTCTCCTCTACGGCAATT
+GCCATGCAGGCGATGAATGAACGCAATCTGATGGTGACGCAAATGGGCCGCAGTGCCTTTGCGGTGCTGC
+TGTTCCAGGATATCGCGGCGATCCCGCTGGTGGCGATGATCCCGCTACTGGCGGCGAGCAATGCCTCGAC
+GACGATGGGCGCATTTGCTCTCTCGGCGTTAAAAGTGGCGGGTGCGCTGGTGCTGGTGGTATTGCTGGGG
+CGCTATGTCACGCGTCCGGCGCTGCGTTTTGTAGCCCGCTCTGGCTTGCGGGAAGTGTTTAGTGCCGTGG
+CGTTATTCCTCGTGTTTGGCTTTGGTTTGCTGCTGGAAGAGGTCGGCTTGTCGATGGCGATGGGCGCGTT
+TCTGGCGGGCGTACTGCTGGCAAGCTCGGAATACCGTCATGCGCTGGAAAGCGATATCGAACCATTTAAA
+GGTTTGCTGCTGGGGCTGTTTTTCATCGGCGTTGGCATGTCGATAGACTTTGGCACGCTGCTTGAAAATC
+CGTTGCGCATTGTTATTTTGCTGCTCGGCTTCCTCATCATCAAAATCGCCATGCTGTGGCTGATTGCCCG
+ACCGTTGCAGGTGCCAAATAAACAGCGTCGCTGGTTTGCGGTGCTGTTAGGACAGGGCAGTGAGTTTGCC
+TTTGTAGTATTTGGTGCGGCGCAGATGGCGAATGTGCTGGAGCCAGAGTGGGCGAAATCGCTGACCCTGG
+CGGTGGCACTGTCGATGGCGGCAACGCCGATTCTGCTGGTGATCCTCAATCGCCTTGAGCAATCTTCTAC
+TGAAGAGGCGCGTGAAGCCGATGAGATCGACGAAGAACAGCCGCGGGTAATCATTGCCGGATTCGGGCGT
+TTTGGGCAGATAACCGGACGTTTACTGCTCTCCAGCGGGGTGAAAATGGTGGTGCTCGATCACGACCCGG
+ACCATATCGAAACGCTGCGTAAATTCGGTATGAAAGTGTTTTATGGCGATGCCACGCGGATGGATTTACT
+GGAATCTGCCGGAGCGGCGAAAGCGGAAGTGCTGATTAACGCCATCGACGATCCGCAAACCAACCTGCAA
+CTGACGGAGATGGTGAAAGAACATTTCCCACATTTGCAGATTATTGCCCGCGCCCGCGATGTCGACCACT
+ACATTCGTTTGCGTCAGGCAGGCGTTGAAAAGCCGGAGCGTGAAACCTTCGAAGGTGCGCTGAAAACCGG
+GCGTCTGGCACTGGAAAGTTTAGGTCTGGGGCCGTATGAAGCGCGAGAACGCGCCGATGTGTTCCGCCGC
+TTTAATATTCAGATGGTGGAAGAGATGGCAATGGTTGAGAACGACACCAAAGCCCGTGCGGCGGTCTATA
+AACGCACCAGCGCGATGTTAAGTGAGATCATTACCGAAGACCGTGAACATCTGTCATTAATTCAACGACA
+TGGCTGGCAGGGAACCGAAGAAGGGAAACATACTGGCAATATGGCGGATGAACCGGAAACGAAGCCCTCA
+TCCTAATAAAGAGTGACGTAAATCACGCTTTACAGCTAACTGTTTGTTTTTGTTTCATTGTAATGCGGCG
+AGTCCAGGGAGAGAGCGTGGACTCGCCAGCAGAATATAAAATTTTCCTCAACATCATCCTCGCACCAGTC
+GACGACGGTTTACGCTTTACGTATAGTGGCGACAATTTTTTTTATCGGGAAATCTCAATGATCAGTCTGA
+TTGCGGCGTTAGCGGTAGATCGCGTTATCGGCATGGAAAACGCCATGCCGTGGAACCTGCCTGCCGATCT
+CGCCTGGTTTAAACGCAACACTTTAAATAAACCCGTGATTATGGGCCGCCATACCTGGGAATCCATCGGT
+CGTCCGTTGCCAGGACGCAAAAATATTATTCTCAGCAGTCAACCGGGTACGGACGATCGCGTAACGTGGG
+TGAAGTCGGTGGATGAAGCCATTGCGGCGTGTGGTGACGTACCAGAAATCATGGTGATTGGCGGCGGTCG
+CGTTTATGAGCAGTTCCTGCCGAAAGCGCAAAAACTGTATCTGACGCATATCGACGCGGAAGTGGAAGGC
+GACACCCATTTCCCGGATTACGAGCCGGATGACTGGGAATCGGTATTCAGCGAATTCCACGACGCTGATG
+CGCAGAACTCTCATAGCTATTGCTTTGAGATTCTGGAGCGGCGGTAATTTCGTATATTAGAATTCCGGCA
+TCACTGATACGTGCAGATATCCGTGTATACTAGACGTATAAATTGTACAGGAGCACGAGATCATGACTGC
+AAAACGTACCACACAAAGTGTGACCGTCACCGTCGACCGTGAGTTAGTCAATCGCGCTCGTGATGCAGGC
+TTAAATATGAGCGCCACCCTTACGGTTGCGCTCAATGCTGAACTTAAAAAACATGCAGCAACACGTTGGC
+GTGAAGAGAACACAGAAGCTATCGCTGCGTTAAATCAATTGGCTGATGAAACCGGATGTTTCTCTGATGA
+GTACCGGAGCTTCTAGCGATGCAATTTACGGTATACCGCAGTCGCGGCAGGAACGCCGCGTTTCCCTTTG
+TTATTGATGTTACCAGCGACATTATTGGTGAGATTAATCGCCGTATCGTTATTCCATTAACACCTATTGA
+ACGATTTAGCCGTATTCGCCCACCAGAACGGCTTAACCCAATCCTTTTACTGGTAGACGGCAAAGAATAT
+GTGCTCATGACGCATGAGACTGCAACTGTTCCAGTTAACGCGCTGGGAACGAAATTTTGCGATGCCAGCG
+CGCACCGAACGTTGATTAAAGGAGCATTAGATTTTATGCTCGACGGGATTTAAGACGCTACCGCCTCTCC
+CTCACTCAAATCCTTATGCCGGTTCGACGGCTGGACAAAATACTGTTTATCTTCCCAGCGCAGGCAGGTT
+AATGTACCACCCCAGCAGCAGCCGGTATCCAGCGCGTAAATACCTTCCGGCGTACCTTTGCCTTCCAGCG
+ATGCCCAGTGACCAAAGGCGATGTTGTACTCTTCAGCGACGGGGCCAGGAATCGCAAACCACGGTTTCAG
+TGGGGCAGGGGCCTCTTCCGGCGATTCTTTGCTGTACATATCCAGTTGACCGTTCGGGAAGCAAAAACGC
+ATACGGGTAAAGGCGTTGGTGATAAAACGCAGTCTTCCCAGCCCCCGCAATTCCGGTGACCAGTTATTTG
+GCATATCGCCGTACATGGCATCAAGAAAGAAGGGATAGGAGTCACTCGACAGCACCGCTTCTACATCGCG
+CGCGCACTCTTTGGCGGTCTGCAGATCCCACTGCGGCGTGATCCCGGCGTGGGCCATCACCAACTTTTTC
+TCTTCGTCGATTTGCAGCAAAGGCTGGCGACGCAGCCAGTTAAGCAGCTCGTCGGCATCCGGCGCTTCCA
+GCAGCGGTGTCAGGCGATCTTTCGGTTTATTGCGGCTGATCCCGGCAAATACCGCCAGCAGATGCAGATC
+GTGATTACCCAGCACCAGACGTACGCTGTCGCCTAAGGATTTCACATAGCGCAGAACATCCAGCGAACCC
+GGGCCGCGCGCGACCAGATCGCCCGTCAGCCAGAGGGTATCTTTCCCAGGGGTAAATTCTACTTTATGCA
+GCAATGCGATCAGTTCATCGTAACAACCATGAACGTCGCCAATAAGGTATGTCGCCATATTCTTTTAATG
+AATGAGTGTGGGAACGGCGAGTCGGAATACGGGAATGTCGATGCTGAAAGGGACGCCATTTTCATCGATC
+ATTTCGTAGTGACCCTGCATGGTGCCCAGCGGGGTTTCAATGATTGCACCGCTGGTGTACTGGTACTCTT
+CGCCAGGCGCGATAAGTGGCTGGACGCCAACCACTCCTTCGCCCTGGACTTCGGTTTCACGGCCATTGCC
+ATTGGTGATCAGCCAGTAACGCCCCAACAACTGCACTGGCGCTCGCCCCAGATTGCGTATGGTTACGGTA
+TAAGCAAAAACGTAACGTTCATTATCAGGTGAAGATTGTGCCTCAATGTAGACGCTTTGAACCTGAATAC
+ACACTCGGGGCGAATTGATCATCGTTAACTCTCCTGCAAAGGCGCGTTCTCCGCCAGATAGTTCGCCATC
+TGGCAATATTGCGCGACAGAGATATTTTCCGCTCGCATCGCCGGGTCGATCCCCATTCCCGTTAACACCT
+CGACGCTAAACAGGTTGCCGAGGCTGTTACGAATGGTTTTACGACGCTGGTTAAAGGCTTCGGTGGTGAT
+GCGGCTCAACACGCGAACATCTTTAACCGGGTGAGGCATCGTTGCATGAGGAACCAGGCGCACGACGGCG
+GAATCCACTTTGGGTGGTGGTGTAAAGGCTGACGGCGGTACTTCCAGCACCGGGATCACGTTGCAATAGT
+ATTGCGCCATGACGCTTAATCGACCATACGCCTTGCTGTTCGGTCCTGCAACCAGACGATTCACCACTTC
+TTTTTGCAACATAAAGTGCATGTCGGCAATGGCATCAGTATAGCTAAACAGATGGAACATCAACGGCGTG
+GAGATGTTATAAGGCAGGTTGCCGAAAACACGCAGCGGCTGGCCCATTTTCGCGGCCAGTTCGCCAAAGT
+TAAAGGTCATCGCATCCTGCTGATAAATCGTCAGTTTCGGGCCTAAGAATGGATGCGTTTGCAGACGTGC
+CGCCAGATCGCGGTCAAGTTCGATGACCGTCAGCTGGTCCAGACGTTCGCCGACCGGTTCGGTCAATGCC
+GCCAGACCGGGACCGATTTCGACCATCGCCTGGCCCTTCTGCGGGTTAATGGCAGAAACAATGCTGTCGA
+TCACGAACTGATCGTTGAGAAAGTTTTGCCCGAAGCGTTTACGGGCTAAGTGGCCCTGGTGGACTCGATT
+ATTCATTGGGTGTTAACAATCATTTTGATGGCGAGATTAAGCGCCGTAATAAAACTGCCGACATCGGCTT
+TACCACGTCCCGCCAGTTCAAGCGCGGTACCGTGGTCCACTGATGTGCGAATAAAGGGCAGGCCCAGCGT
+AATGTTCACACCGCGCCCGAAGCCCTGGTATTTTAGCACGGGAAGACCCTGATCGTGGTACATCGCCAGC
+ACCGCGTCGGCGTTATCAAGATATTTCGGCTGAAACAGGGTATCGGCAGGCAGCGGCCCGTTGAGTTTCA
+TCCCCTGCGCCCGCAGCTTGTCGAGCACCGGAATAATGGTGTCTATCTCTTCCGTACCCATATGACCGCC
+TTCGCCCGCGTGTGGATTCAGCCCGCAGACCAGAATGCGCGGTTCGGCAATACCAAATTTGGTGCGCAAA
+TCGTGATGCAAAATAGCAATCACTTCGTGCAAAAGCGCAGGGGTGATAGCATCTGCGATATCGCGCAGCG
+GTAAATGCGTCGTTGCCAGCGCCACGCGAAGTTCTTCGGTTGCCAGCATCATCACCACTTTTTTCGCCTG
+CGAACGCTCTTCGAAAAACTCGGTATGACCGGTAAACGGAATGCCTGCGTCGTTAATGACGCCTTTATGC
+ACGGGGCCTGTGATCAGCGCAGCAAATTCACCGTTCAGACAGCCATCACACGCTCGCGCCAGCGTTTCCA
+CCACATAATGCCCATTTTCAACCGCTAACTGCCCCGCAGTGACAGATTCACGTAGCGCGACAGGAAGTAG
+CGTTAATGTGCCCGCAGTTTGCGGTTGTGCAGGGGAGTTGGGGGAATAAGGACGGAGGGTGAGCGGCAAA
+CCGAGCATCGCTGCCCGGTCGGTAAGGAGAGTGGCATCGGCACAAACAACCAGTTCGACTGGCCACTCAC
+GCTGTGCAAGCTGGACAATTAAGTCCGGGCCAATCCCGGCGGGCTCGCCGGGAGTGATCACAACACGTTG
+GGTTTTAACCATTAGTTGCTCAGGATTTTAACGTAGGCGCTGGCACGTTGTTCCTGCATCCAGCTTGCTG
+CTTCTTCCGAGAACTTACGGTTCATCAGCATGCGGTATGCACGATCTTTCTGTGCCGCGTCGGTTTTATC
+GACATTACGGGTATCCAGCAGTTCGATTAAATGCCAGCCGAATGAAGAGTGAACCGGTGCACTCATTTGA
+CCTTTGTTCAGGCGGGTCAGGGCGTCACGGAAGGCCGGATCGAAAATATCTGGTGTAGCCCAGCCGAGAT
+CACCGCCCTGGTTAGCAGAGCCTGGATCCTGAGAGAACTCTTTCGCTGCGGCAGCAAAAGTCGTTTTACC
+ACTCTTGATATCGGCAGCAATCTGTTCCAGTTTCACGCGGGCCTGTTCGTCAGTCATGATCGGCGACGGT
+TTCAGCAGAATATGGCGAGCATGAACTTCGGTCACCGAGATATTTTTGCTTTCGCCGCGCAGGTCGTTAA
+CTTTCAGAATATGGAAGCCAACGCCGGAACGAATCGGGCCAACAATGTCGCCTTTCTTCGCGGTGCTTAA
+TGCCTGGGCGAAGATCCCCGGCAACTCCTGAATACGGCCCCAGCCCATCTGTCCGCCGTTCAGCGCCTGC
+TGGTCGGCAGAATGAGCAATCGCCAGCTTACCGAAATCAGCGCCGTTACGCGCCTGATCGACAATCGCGC
+GCGCCTGGCTTTCCGCTTCGTTCACCTGATCAGAGTCGGTTTTTCCGCCAGTGGATTCAGGATGTGGCTC
+AGGTTCAGCTCAGTGCTGGCGTCGTTTTGGTTACCCACTTGCTGCGCCAGGATTTCGACTTCCTGCGGCA
+GGATGGTGATGCGACGACGCACCTCGTTGTTACGCACTTCAGAGATAATCATCTCTTTGCGGATCTGGTT
+ACGATAGGTGTTGTAGTTCAGACCATCGTAAGCCAGACGGCTGCGCATCTGATCCAGCGTCATGTTGTTC
+TGTTTCGCGATGTTAGCAATCGCCTGATCCAGCTGCTCATCGGAGATTTTCACTCCCATTTTCTGCCCCA
+TCTGCAGGATGATTTGATCCATGATCAAACGTTCCATGATTTGGTGGCGCAGCGTCGCGTCATCAGGAAG
+TTGCTGCCTTGCCTGAGCAGCGTTCAGTTTTACCGACTGCATTAATCCATCAACGTCGCTTTCCAGCACG
+ACGCCGTTATTGACGACGGCTGCGACTTTATCGACTACCTGGGGGGCAGCGAAACTGGTATTCGCGATCA
+TGGCGATACCGAGAAGCAGCGTTTTCCAGTTCTTCATACTTTTTCCATTTCAATTAACCGCACTGCGGAT
+TACGTGGTAAATCAACAAATCACAAAGTGTTTTGATACGGCAGAATGTTCGAACGCAGCATCTCTTGCGT
+ACCCAGACCGTAGTTGGAGCTCAGGCCGCGAAGTTCGATGTTAAAGCCGATTGCGTTGTCATATACCGCA
+TGTTGTTTATCGTTATCCCAACCGTTCAGCTTCCGCTCGTAACCGACGCGAATCGCATAGCAGCAGGAGC
+TGTATTGCACACCTAACATAGAGTCGGCTTGCTTGTTCGCATTGGTGTCGTAGTAGTAGGCCCCAACAAT
+GGACCAACGATCGGCAATTGGCCAGCTGGCGACGGCACCTACCTGCGAAATACCATTCTTATATTGCTCA
+GCAGTGGAATAGTACTTAGGCAGCGTTGCCTGAATATATTCCGGGCTGGCGTAACGGTAATTCAGCTGTA
+CCAGACGGTCTTCATCCCGACGGTATTCAATGCTGGAGTTACTGGTCGCTACGTTATCCAGACGTGTATC
+GTACTGAATCCCGCCACGCAATCCCCAACGATCAGAGATGCGCCAGTAAGTATCGCCTGCCCATACCAGT
+GAGCCCGTTTTGTCGTCATTCTCCCATGTTATGTTGTCATCGCCAGTGCGAGACTCCGTGAAATAGTAGA
+TTTGACCAACGGAAATATTAAAACGTTCAACGGCAGCATCATCATATATGCGAGATGTGACACCGGTCGT
+CACCTGGTTAGCGGAGGCAATACGGTCAAGACCGCCGTAAGTCCGGTCCCGGAACAGGCCGGAGTAGTCA
+GATTGCAGCAGCGACGAGTCGTAGTTATAGATTTTGCTCTGATCGCGATATGGCACATACAGATACTGCG
+CGCGTGGTTCCAGTGTCTGGGTATAGCCCGGCGCCAGCATTTCCATATCACGCTCGAAGACCATTCTACC
+GTCTACCTTGAACTGCGGCATTACACGGTTAGCGGACTCTGCCAGCCTGGTCGTGTTTCTGGAGTTATAC
+CAGTCAAGATTGGTTTGCTGATAATGGGTTGCCAGCAACTTCGCTTCAGTATTGATGCTGCCCCAGTTAT
+TAGAGAGCGGCAGATTGATGGTCGGTTCCAGGTGAACACGAGTCGCCTCTGGCATGTCATCTCTGGTGTT
+AACAAAGTGCACCGCCTGGCCGTAAATTCGCGTATCGAAAGGACCGACATCGTTTTGATAGTAGTTAACG
+TCTAACTGCGGTTCTGCCGAGTAGCTACTGGTGTTCTGCTCGCTGAAGACCTGGAACTGCTTGGTTGAAA
+CGGTGGCATTGAAGTTTTGCACCGCATAGCCAACGCTGAATTTTTGCGTTGCGTAGCCGTCGGTACTGGA
+ACCGTACTTGTTATCGAAATCATTGAAGTAGCTAGGATCGCTGACCTTGGTGTAGTCGACGTTGAAACGC
+CACACCTGATCCATGACCCCGGAGTGGTTCCAGTAGAATAACCAACGACGTGAACTGTCATCGTTCGGGT
+GTTCATCTTTATAGACTTTATCTGAAGGCAGATAGTCCAGTTCCATCAAGCCAGCGCCCGCCTGGGAGAG
+GTAGCGGAATTCGTTCTCCCACATGATATTGCCACGACGATGCATATAATGCGGCGTGATGGTGGCATCC
+ATATTTGGCGCGATGTTCCAGTAATATGGCAGGTAGAACTCAAAGTAGTTGGTGGTGGTGTACTTGGCGT
+TCGGGATCAAGAAACCAGAGCGACGTTTGTCACCCACCGGCAACTGCAAATAGGGGCTATAAAAGATCGG
+TACCGGACCCACCTTAAAGCGGGCGTTCCAGATCTCCGCAACTTGTTCTTCGCGGTCATGAATAATTTCG
+CTACCTACCACGCTCCAGGTGTCAGAACCCGGCAGACAGGAGGTAAAGCTACCGTTATCCAGAATGGTAT
+AGCGGTTTTCGCCACGTTGTTTCATCAGGTCCGCTTTACCGCGGCCCTGGCGACCCACCATCTGGTAATC
+ACCCTCCCAGACGTTGGTATCTTTGGTGTTCAGATTCGCCCAGCCTTTCGGCCCTTTGAGGATCACCTGG
+TTATCGTCGTAATGGACATTACCGAGCGCATCAACGGTACGTACCGGCTCCGGTTGTCCTGGTGCCTCTT
+TTTGATGGAGCTGCACTTCGTCGGCCTGCAGACGGCTGTTACCCTGCATGATATCCACGCTGCCAGTAAA
+CACGGCGTCATCCGGGTAGTCCCCTTTCGCGTGGTCAGCATTGATAGTCACGGGTAAGTCATTGGTATCG
+CCCTGTACCAGAGGACGGTCATAGCTTGGCACGCCCAACATGCACTGTGAGGCGAGGTCGGCTGCCAGTC
+CCTGTTGACTATAAAGGGCGGTGGCAATCATGGTGGCCAGGAGAGTGGGGATACGTTTTTTCATACGTTG
+ATTTTATTGTTCCATCATCGGTAACGTTGCGCGTGACAAACGGTCAGAGACTAACGTACTCGTCATCTCT
+ACGCTAGTGTTAATCCTGTCCGAATAGCGTCTGTGGTGTTAGGCACGGCATTGAATGACAGGTATGATAA
+TGCAAATTATAGGCGATGTCTCACAATAGACCGCAGCCAGAAATGGGTAAAAGCGCCTTTATATTGTGGG
+AGATAGCCCTGATATCCGTGTGTCGATTTGGGGAATATATGCAGTATTGGGGAAAAATCATTGGCGTGAC
+CGTGGCCTTAATAATGGGCGGCGGCTTTTGGGGCGTAGTATTGGGCCTGTTAATTGGCCATATGTTTGAT
+AAAGCCCGTAGCCGTAAAATGGCGTGGTTCGCCAACCAGCGTGAGCGTCAGGCGCTGTTTTTTGCCACCA
+CTTTTGAAGTGATGGGGCATTTAACCAAATCCAAAGGTCGCGTCACGGAAGCTGATATTCATATCGCCAG
+CCAGTTGATGGACCGAATGAACCTTCATGGCGCTTCCCGTACTGCGGCGCAAAATGCGTTCCGGGTGGGA
+AAATCAGACAATTACCCGCTGCGCGAAAAGATGCGCCAGTTTCGCAGTGTCTGCTTTGGTCGTTTTGACT
+TAATTCGTATGTTTGTGGAGATCCAGATTCAGGCGGCGTTTGCTGATGGTTCACTGCACCCGAATGAACG
+GGCGGTGCTGTATGTCATTGCTGAAGAATTAGGGATCTCCCGCGCTCAGTTTGACCAGTTTTTGCGCATG
+ATGCAGGGCGGTGCACAGTTTGGCGGCGGTTATCAGCAGCAATCTGGCGGTGGTAACTGGCAGCAAGCGC
+AGCGTGGCCCGACGCTGGAAGATGCCTGTAATGTGCTGGGCGTGAAGCCGACGGATGATGCGACCACCAT
+CAAACGTGCCTACCGTAAGCTGATGAGTGAACACCATCCCGATAAGTTGGTGGCGAAAGGTTTGCCGCCA
+GAGATGATGGAGATGGCGAAGCAGAAAGCGCAGGAAATTCAGCAGGCCTATGAGCTGATAAAGCAGCAGA
+AAGGGTTTAAATAAGTTTCAACGTGTAGGCCTGATAAGACGCGGCCCGCGTCGCATCAGGCAATCGGCGC
+AAAATTGCCGGATGCGGCGTGAACGCCTTCTCCGGCCTACCGAACTTCGCCAGCGTGACTATTAAAAATC
+CGCTGGTGCTTTAAATGTCATACTATTGCCATACGCCGGATGGGTAATCGTCAGCATCTCTGCATGTAGC
+AACAAACGCGGTGCCATTGCTCTCGCTTCTGGTGATGCATAAAAACGATCGCCGAGAATCGGATGACCCA
+GCGCCAGCATATGCACACGCAGCTGATGCGAACGCCCGGTAATCGGTTTTAACACCACTCTTGCCGTGTT
+ATCCGCCGCATATTCCACCACTTCATACTCCGTCTGCGCAGGTTTACCTGTTTCGTAACAGACTTTCTGT
+TTCGGGCGGTTTGGCCAGTCGCAAATCAGCGGCAGATCCACCAGACCTTCCGCAGGGGATGGATGCCCCC
+AGACGCGGGCCACATACTGTTTTTTCGGCTCGCGCTCGCGGAACTGGCGTTTTAACTCCCGCTCCGCGGC
+TTTGGTCAGCGCCACTACAATCACGCCGCTGGTAGCCATATCCAGACGATGCACCGATTCTGCCTGCGGA
+TAATCACGCTGAATGCGCGTCATCACGCTGTCTTTGTGCTCTTCCAGACGACCCGGCACAGACAACAAAC
+CGCTCGGCTTGTTGACCACCATAATATGGTCATCCTGATACAGGATAACCAACCAGGGTTCCTGCGGTGG
+ATTGTAGTTTTCCATCCCCATCTTCGGCTCCGTTACTGATGCGTTACAACGATCAAACGCAGGGCATCCA
+GACGCCAGCCTGCCTGATCCAGGCTTTCCATTACCTGCTGACGGTTGCTCTCAATGGCGGTCAGTTCGTC
+GTCACGAATGTTCGGGTTCACTGCACGCAGAGCTTCCAGACGAGACAGCTCGGCAGACAGTTTTTCGTCG
+GCTTCGTTACGCGCTGCATCAATCAATGCACGGGCAGATTTCTCGATCTGCGCTTCCCCCAGCTGAAGGA
+TAGCGTGAACATCCTGCTGCACCGCGTTAACCAGCTTGCTGCCGGTGTGACGGTTAACCGCGTTAAGCTG
+ACGGTTAAAGGTTTCAAACTCTACCTGCGCCGCCAGGTTGTTGCCGTTTTTATCCAGCAGCATACGTACC
+GGCGTCGGTGGCAGGAAGCGGTTGAGCTGCAACTGCTTCGGAGCCTGGGCTTCAACCACATAAATCAGTT
+CCACCAACAGCGTACCTACCGGCAACGCTTTGTTTTTCAACAGTGAAATCGTGCTGCTACCGGTATCGCC
+AGAAAGGATCAGATCCAGACCGTTGCGGATCAGCGGATGCTCCCAGGTAATAAACTGTGCATCTTCACGC
+GCCAGCGCCACTTCACGGTCGAAGGTGATGGTGATGCCATCTTCCGACAGGCCAGGGAAGTCCGGCACCA
+GCATATGATCGGACGGCGTCAGCACGATCATGTTGTCGCCGCGATCGTCCTGATTGATACCGATAATATC
+GAACAGGTTCATGGCGAAGGCGATCAGGTTGGTATCGTCATCCTGCTCTTCAATGCTTTCTGCCAGTGCC
+TGGGCTTTTTCGCCACCGTTGGAATGGATTTCCAGCAGGCGGTCACGGCCCTGTTCCAGTTGTGCTTTCA
+GCGCTTCATGCTGCTCGCGGCAGTTTTTGATCAGATCGTCAAAGCCTTCGGTCTCATCCGGCGAGGCCAG
+ATAGTTAATCAAATCGTTGTACACGCTATCGTAGATAGTGCGTCCGGTCGGGCAGGTGTGCTCGAATGCA
+TCCAGACCTTCGTGATACCAGCGCACCAGCACCGACTGAGCCGTTTTTTCCAGATAAGGCACATGGATCT
+GAATATCGTGCGCCTGACCGATACGATCCAGACGACCAATACGCTGCTCCAGCAGATCCGGGTTGAATGG
+CAGGTCAAACATCACCATGTGGCTGGCGAACTGGAAGTTACGTCCTTCAGAACCGATTTCCGAGCACAGC
+AGTACCTGTGCGCCGGTGTCTTCTTCGGCAAACCAGGCGGCAGCGCGGTCACGTTCGATAATCGACATGC
+CTTCGTGGAACACCGCGGCGCGAATACCTTCACGTTCGCGCAGTACCTGCTCCAGTTGCAGCGCAGTGGC
+CGCTTTGGCGCAGATCACCAGCACTTTCTGAGAGCGATGGCTGGTCAGGTAGCCCATCAGCCATTCAACG
+CGCGGATCGAAGTTCCACCAGGTGGCGTTATCGCCTTCAAATTCCTGATAAATACGCTCCGGATAGAGCA
+TATCGCGAGCGCGATCTTCCGCACTTTTACGTGCGCCCATAATGCCGGAGACTTTAATAGCGGTCTGATA
+CTGCGTCGGCAGTGGCAGCTTAATAGTGTGCAGCTCGCGTTTCGGGAAGCCTTTCACACCGTTACGGGTG
+TTACGGAACAGCACGCGGCTGGTACCGTGGCGATCCATCAGCATCGAAACCAGTTCCTGACGGGCGCTCT
+GGGCATCTTCGCTGTCGCTGTTTGCTGCTTGCAACAGCGGCTCGATATCCTGCTCGCCGATCATCTCACC
+GAGCATGTTCAGTTCGTCATTGCTGAGTTTGTTACCAGCCAGCAGCATGGCAACGGCGTCCGCAACCGGA
+CGATAATTTTTCTGCTCTTCAACGAATTGCGCAAAATCGTGGAAACGGTTCGGGTCCAGCAGACGCAGAC
+GGGCGAAGTGGCTTTCCATCCCCAGTTGTTCCGGGGTTGCGGTCAGCAGCAGAACGCCGGGCACGTGCTC
+TGCCAGTTGTTCAATGGCCTGATATTCACGGCTCGGCGCATCTTCGCTCCACACCAGGTGATGCGCTTCA
+TCGACCACCAGCAGGTCCCACTCGGCTTCACAGAGATGTTCCAGACGCTGTTTGCTACGACGGGCAAAAT
+CCAGCGAGCAAATCACCAGCTGTTCGGTGTCGAACGGGTTGTAAGCATCGTGCTGAGCTTCGGCATAACG
+CTCATCATCAAACAGAGCAAAGCGCAGGTTGAAACGGCGCAGCATTTCTACCAGCCACTGATGCTGTAAG
+GTTTCCGGGACGATAATCAGCACACGTTCAGCAGCGCCAGAGAGCAGTTGCTGATGCAGGATCATCCCGG
+CTTCAATGGTTTTCCCTAAACCCACTTCGTCAGCCAGCAGGACGCGCGGCGCGTGGCGGCGACCAACATC
+ATGAGCGATGTTGAGCTGGTGCGGGATCAGGCTGGTACGCTGACCGCGCAGGCCGCTGTACGGCATACGG
+AACTGTTCGCTGGAATACTTACGCGCGCGATAACGCAGCGCAAAGCGGTCCATACGGTCAATCTGCCCGG
+CAAACAGACGGTCCTGCGGTTTGCTGAACACCAGTTTGCTATCAAGGAAAACTTCACGCAGGGCTACGCC
+GGACTCTTCAGTATCAAGGCGAGTACCGATATAGGTCAGCAAGCCATTTTCTTCTTTTACTTCTTCGACT
+TGCATCTGCCAGCCGTCATGGCTGGTAATGGTATCACCAGGGTTGAACATCACGCGGGTCACGGGGGAAT
+CACTGCGTGCGTACAGACGGTTTTCACCAGTAGATGGGAAAAGTAAAGTGACAGTTCGCGCATCCACCGC
+GACAACGGTTCCAAGTCCCAATTCGCTTTCTGTATCGCTGATCCAGCGTTGACCAAGTGTAAAAGGCATA
+TGTGTTCGGCTCTATATCTTTAATTGCAGGCAATAACCACCCGCTACCGTGCTTATGAGGTAGTGGTGTT
+ATTCAGGTCCAGGAATGGAAAGGGCGCTATGGTACTGGATGGCAAAGCATTCGTCACGCATCAAAATGGT
+ATCTGGCGAACTCTTTTTTTTGCTCAAAATAGCCCAAGTTGCCCGGTCATAAGTGTAGCAAAATTATCCT
+CAATAAAAGGGAGTATTCCCTCCGCCACGGGTTGTAGCTGGCGGGTCAGATAGTGTTCGTAATCCAGTGG
+TGAACGTTGGTAGTCCAGCGGCTCCGGGCCGTTGGTGGTCCATACGTACTTAATGGTGCCGCGGTTCTGA
+TATTGCAAGGGGCGACCGCGCTTATGGTTTTCTTCATCGGCAAGGCGAGCGGCGCGTACATGAGGCGGAA
+CATTACGCTGATATTCGCTCAGCGGACGGCGAAGGCGTTTACGGTAAACCAGCTGCGTGTCCAGTTCGCC
+CGCCATCAGCTTGTCGATGGTTTCGCGCACGTATTCCTGATATGGCTCGTTGCGGAAGATACGCAGGTAC
+AGCTCCTGCTGAAACTGCTGGGCCAGCGGCGTCCAGTCGGTGCGCACGGTTTCCAGCCCTTTAAATACCA
+TCCGCTGTTTGTCGCCCTCCTGAATCAGTCCGGCGTAGCGCTTTTTGCTGCCGGTATCGGCCCCGCGAAT
+GGTTGGCATCAGAAAACGGCAGAAATGGGTTTCATACTCCAGTTCCAGTGCGCTGGTCAGCCGTTGTTTT
+TGCAGCGTTTCCGCCCACCAGACGTTAACGTGCTGCACCAGTGCACGACCGATTTTCGCTGCTTCTTCTT
+CCGAATGTGCGCCTTTCAGCCAGACAAACGTTGAGTCGGTATCGCCGTAGATAACATCATAGCCCTGCGC
+TTCAATCAACGTTTTGGTTTGCCGCATGATCTGATGACCACGCATGGTGATCGACGATGCCAGGCGTGGA
+TCGAAGAAACGGCAGGCGGTGGTGCCGAGCACACCATAAAAGGCATTCATAATGATCTTCAGCGCCTGCG
+AAAGCGGCTTATTACCCTGACGTTTGGCTTCATCGCGTCCGTGCCAGATGTTAGTCACAATCTCCGGCAG
+GCAATGTTTCTCCCGTGAGAACCAGGCATCGAGAAAACCTTCGGTACTGTGCTCTGGATCAGGCTGCGCC
+ATGCCTTCCACCAGCCCGACGGGATCAATCAGAAAGGTGCGGATGATCGACGGGTACAGGCTTTTGTAGT
+CCAGCACCAGCACCGAATCATAAAGCCCAGGTCGCGAATCCATCACGTAGCCGCCAGGGCTGGCGTGCGG
+CGGCACTTCGCCGAGATTAGGCGCGACATAACCAGCGCGATGCATACGGGGAAAATAGAGATGACCAAAC
+GCTGCCACCGAACCGCCGTGTCGATCTACCGGCAGGCCGTTCACCGTCGCCCGTTCGAGCAAAAACGGCA
+TGATTTCAGTTTTGTGGAAGATCTGCGTCACCAGCTCGCAATCTTTCAGGTTATAAGTTGCCAGCGCAGG
+CTTATCTTCGGCGAAACGGCGGTCAATTTCGTCCATTCGATCCCACGGGTTATCGATAGATTTTCCTTCG
+CCTAATAACTCCTGAGCGACGGTTTCCAGCGAGAATGAAGAGAAATTCCAGAACGCGGATTTCAGCGCCT
+CGATACCGTCGATAATCAGTCGCCCTTTGGCCTGAGCAAAAAAGACGTCGTTTTTAAAGCCGTGCTCGCG
+CCACTCCAGCTCGCTGTTATCACGCCCCAGACGCAGCGGAATACGGTAACGCTCGGCATGTTTTTGCAGC
+ATTCGCAGATCGAACTGCACCACGTTCCAACCGATGATCACATCAGGATCATGAGTCGCAAACCAGGCGT
+TAAGTTTTTCCAGTAGCAGCGGGCGGCTGGCGACGTATTCCAGTTCAAAATCGAGCGCGGAGGCGTCGCC
+ATTCTCTGGCCCCAGCATATAAACGATACGCTGCCCGCAACCTTCCAGGCCGATGCAGTACAGCTCACCG
+TGGCGGGTGGTTTCAATATCAATAGAAACCCACTTGAGCGGCGGACGATAGTCGGGATGCGGTTTCAGAC
+GGGCATTAACGATAGCGCCGTTGCGCATATCACCCTCGACCCACACTGGCGAGGTGATAAACCGCTCCAT
+CAGATAGCGTTCTGGCGGGCGCACATCGGCCTCGTAGACGGTAACGCCACCTTCACGCAGGCGCTTTTCG
+TAATTCATCAACTGGCGATGGGCGCGACAGTAAAGGCCATACACCGGCTGGCGATGAAAATCCTTTAACG
+CCAGCGGCGTCAGGCGAAAGCCTTGCTCACCCTGCAAAATATGCTGGGCGCGGGGAACCTGATCGGCGGG
+AATAAACGCCACGGACTCTTGCGGCGCAAGCGTAACCTGCAACGGCCCGTTGTCCGTCGCTAACCAAAAG
+GAAACTTCGGTTCCTTGCGGGGTGTCCCGCCAGTGTCGGGTTAAGATAAAACCTGCCTGCGCCACGCTGA
+AAATCCAATAAAAAACCAGGCTTGAGTATAGCCTGGTTTTGGTTGACTGGCTGTGGTTTTATACAGTCAT
+TACTGGCCGTAATAGGCTTTTGCGCCATGCTTACGCAGATAGTGCTTATCCAGCAACGTTTGCTGCATAT
+CCGGTAACTGCGGAGCAAGCTGGCGGCAGAAAATCCCCATATAAGCGACTTCTTCCAGCACGATGGCGTT
+GTGCACCGCATCTTCGGCATTTTTGCCCCATGCAAACGGGCCGTGAGAATGGACCAGCACGCCGGGCATT
+TGCGCTGCATCGATACCCTGTTTTTCGAAGGTTTCTACGATGACGTTACCGGTTTCCCACTCATATTCAC
+CGTTGATTTCTGCGTCGGTCATTTTGCGGGTGCAGGGAATGGTGCCGTAGAAATAGTCGGCGTGGGTGGT
+ACCGGTTGCTGGAATCGACTGACCCGCCTGCGCCCAGATGGTGGCGTGGCGCGAGTGTGTGTGCACAATG
+CCGCCAATAGACGGGAATGCCTGATAGAGCAGCCGGTGAGTTGGCGTGTCGGAGGAGGGCTTTTTCGTAC
+CTTCAACCACTTCACCGGTTTCGATGCTGACCACGACCATATCGTCAGCGGTCATGATGCTGTAGTCGAC
+GCCGGAAGGTTTGATCACCAGGACGCCGCGCCCGCGATCAACGGCGCTGACATTGCCCCAGGTGAGCGTG
+ACCAGGTTGTGTTTTGGCAGCGCCAGGTTGGCTTCTAATACCTGGCGTTTGAGATCTTCTAACATGTTGA
+CTCCTTCGTGCCGGATGCGTTTTGCTTATCCGGCCTACAAAATCGCAGCGTGTAGGCCTGATAAGACGCG
+TCGGCGTCGCATCAGGCGGTGAATGCCGGATGCGCTTTGCTTATCCGGCCTACAAATCCGGAACGCGTAG
+GCCTGATAAGACGCGCCAGCGCCGCATCAGGCGGTGAATGCCGGATGCGCTTTGCTTATCCGGCCTACAA
+ATCCGGAACGCGTAGGCCTGATAAGACGCGTCAGCGTCGCATCAGGCGTTACATACCTGATGCGGCTACT
+TAGCGACGAAATCCGTAATACACTTCGTTCCAGCGCAGCGCGTCTTTAAACGCTGGAAGGCGGGTATCGT
+TATCAATCACTGTGATTTCAATGTCGTGCATCTCGGCAAACTGGCGCATATCGTTGAGGTTCAGCGCATG
+GCTGAAGACGGTATGGTGCGCGCCACCAGCAAGGATCCACGCTTCGGAAGCGGTTGGTAGATCCGGTTGC
+GCTTTCCACAGCGCATTCGCCACCGGCAGTTTCGGCAGGGAGTGCGGTGTTTTCACCGTGTCGATGCAGT
+TAACCAGCAGACGGTAACGATCGCCGAGATCAATCAGGCTGGCGACAATGGCTGGACCGGTTTGAGTGTT
+GAAGATCAGGCGGGCAGGATCGTCTTTACCGCCAATACCGAGATGCTGAACGTCGAGGATCGGTTTCTCT
+TCCACAGCGATCGACGGACAGACTTCCAGCATATGGGAGCCGAGTACCAGGTCATTACCTTTCTCGAAGT
+GATAGGTGTAGTCCTCCATAAAGGAGGTGCCGCCCTGCAGACCGGTTGACATCACCTTCATGATGCGAAG
+CAGGGCGGCAGTTTTCCAGTCGCCTTCGCCCGCAAAGCCGTAGCCCTGCTGCATCAGACGCTGTACGGCC
+AGACCCGGAAGCTGTTTCAGGCCGTGCAAATCTTCAAAGGTAGTAGTGAAAGCGTGGAAGCCACCTTGTT
+CCAGGAAACGCTTCATCCCCAGCTCAATACGCGCCGCTTCCAGCACGTTCTGTCGTTTTTCGCCGTGGAT
+TTGTGTGGCAGGTGTCATGGTGTAGCAGCTTTCGTACTCATCGACCAGCGCGTTAACATCGCCGTCGCTT
+ATGGAGTTCACCACCTGCACCAGATCGCCAACCGCCCAGGTATTGACGGAGAAACCGAACTTGATCTGTG
+CGGCAACTTTATCGCCATCGGTGACCGCTACTTCACGCATGTTATCGCCAAAACGGCAGACTTTCAGATG
+ACGGGTATCCTGTTTAGAGACCGCCTGACGCATCCAGGAGCCGATACGCTCATGTGCTTGTTTATCCTGC
+CAGTGACCGGTAACGACGGCATGTTGTTGACGCATACGCGCGCCGATGAAGCCGAACTCGCGACCGCCAT
+GCGCGGTCTGGTTCAGGTTCATAAAGTCCATGTCGATGCTGTCCCACGGCAGCGCCGCGTTGAACTGGGT
+GTGGAATTGCAGCAACGGTTTGTTGAGCATGGTCAGGCCGTTGATCCACATTTTGGCCGGGGAGAAAGTG
+TGCAGCCACACTACCAGGCCAGCGCAACGATCGTCGTAATTCGCGTCACGGCAAATAGCGGTGATTTCAT
+CCGGCGTGGTGCCCAGCGGTTTCAGCACCAGTTTGCAGGGCAGTTTCGCTTCCGTATTCAGCGCATTAAC
+GACGTGCTCGGCATGTTGGGTGACCTGACGCAGGGTTTCCGGGCCATACAGATGTTGGCTGCCAATTACA
+AACCACACTTCATAATTATCAAAAATCGTCATTGTCGTGTCCTTATAGAGTCGGAACGGCCTGGGCAGCC
+TGTGCCGGGGCGGAAGTTGGAAGATAGTGTTTTTCGGCGCTCATCGCCCATTGCTGATAGCGGCGATAAA
+GCTGTTCAAAGCGTTGTGCCTGTTCGCTGCACGGTTGCAGGGTTTTCTCTACCGCACTGGCCATTTTTTG
+CTGGGCTGATGGGATGTCTGCGTGCGCTTTCGCGGCGACGGCAGCGAAAATCGCCGCACCGAGCGCACAG
+CACTGGTCAGAGGCAACAATTTGCAGCGGGCGATTCAGCACGTCGCAGCAGGCCTGCATAATGACCTGGT
+TTTTCCGCGCGATGCCGCCCAGTGCCATCACGTTATTGACGGCGATCCCCTGATCGGTGAAGCACTCCAT
+AATTGCGCGTGCGCCAAAGGCGGTGGCGGCAATTAAACCGCCGAACAGTAGCGGAGCGTCGGTAGCGAGG
+TTCAGATCGGTAATCACCCCTTTCAGGCGTTGGTTAGCGTTTGGCGTGCGACGACCGTTAAACCAGTCGA
+GTACTACCGGCAGGTGATCCAGAGACGGGTTTTTAGCCCATGCTTCGGTCAGCGCCGGAAGCAGTTGTTT
+CTGGCTGGCGTTGATTTGATCTTTCAGTTCCGGATGCTGGGCGGCAAGCTGTTCCAGCGGCCAGCCGAGT
+ACGCGACCGAACCAGGCGTAGATATCGCCAAACGCCGATTGGCCTGCTTCCAGACCGATAAATCCAGGCA
+CCACGCTGCCATCAACCTGACCGCAAATACCTTTCACTGCCCGCTCGCCAACGCTCTGTTTGTCGGCAAT
+CAGAATGTCGCAGGTCGAAGTACCGATAACTTTTACCAGTGCGTTAGGCTGTGCGCCTGCACCAACTGCG
+CCCATATGGCAGTCAAACGCGCCGCCGGAAATCACCACGCTTTCAGGCAGGCCGAGACGCTGCGCCCATT
+CCGGACATAACGTGCCCACCGGAATATCGGCAGTCCAGGTATCAGTGAACAGCGGGGAAGGCAAATGGCG
+ATTGAGGATCGGGTCCAGTTCGTCAAAGAAACTGGCTGGCGGCAGGCCGCCCCAGCTTTCATGCCATAGC
+GACTTATGTCCGGCGCTGCAACGTCCGCGACGAATATCCTGCGGGCGGGTGGTACCGGAAAGCAGAGCTG
+GTACCCAGTCGCACAGCTCAATCCACGATGCGGCAGATTGCGCCACGGCGCTGTCCTGGCGAGTCACATG
+CAGGATTTTTGCCCAGAACCATTCGCTGGAATAAATACCGCCAATATAGCGGGAGTAGTCAACGTTGCCC
+GGCGTGTGACATAAGCGGGTTATCTCTTCCGCTTCTTCAACCGCGGTGTGGTCTTTCCACAATACGAACA
+TCGCGTTCGGGTTTTCGGCAAACTCCGGGCGCAGCGCCAGCACGTTACCGTCGGCGTCAATCGGTGCGGG
+CGTCGAGCCGGTTGTGTCAACGCCAATCCCGACCACAGCTGCGTGCTGTTCGACGCTAAGCTCTGCAAGC
+ACAGTTTTCAGCGCCGCTTCCATTGACTCAATGTAGTCACGCGGATGATGACGGAACTGGTTATTCGGGG
+CATCACAAAATTGCCCGTTCTGCCAACGGGGATACCACTCTACGCTGGTGGCGATCTCTTCACCGGTGGC
+GCAGTCCACCGCCAAAGCTCGCACAGAATCACTGCCAAAATCGAGGCCAATTGCAATCGCCATCGTTTCA
+CTCCATCCAAAAAAACGGGTATGGAGAAACAGTAGAGAGTTGCGAAAAAAAGCGTCAGGCTGGATCCGCT
+AATCTTATGGATAAAAATGCTATGGCATAGCAAAGTGTGACGCCGTGCAAATAATCAATGTGGACTTTTC
+TGCCGTGATTATAGACACTTTTGTTACGCGTTTTTGTCATGGCTTTGGTCCCGCTTTGTTACAGAATGCT
+TTTAATAAGCGGGGTTACCGGTTGGGTTAGCGAGAAGAGCCAGTAAAAGACGCAGTGACGGCAATGTCTG
+ATGCAATATGGACAATTGGTTTCTTCTCTGAATGGCGGGAGTATGAAAAGTATGGCTGAAGCGCAAAATG
+ATCCCCTGCTGCCGGGATACTCGTTTAACGCCCATCTGGTGGCGGGTTTAACGCCGATTGAGGCCAACGG
+TTATCTCGATTTTTTTATCGACCGACCGCTGGGAATGAAAGGTTATATTCTCAATCTCACCATTCGCGGT
+CAGGGGGTGGTGAAAAATCAGGGACGAGAATTTGTCTGCCGACCGGGTGATATTTTGCTGTTCCCGCCTG
+GAGAGATTCATCACTACGGTCGTCATTCGGAGGCTCACGAATGGTATCACCAGTGGGTTTACTTTCGTCC
+GCGCGCCTACTGGCATGAATGGCTTAACTGGCCGTCGATATTTGCCAATACCGGTTTCTTTCGCCCGGAT
+GAAGCGCACCAGCCGCATTTCAGCGACCTGTTTGGGCAAATCATTAATGCCGGACAAGGGGAAGGGCGCT
+ATTCGGAATTGCTGGCGATAAATCTGCTTGAGCAATTGTTACTGCGGCGCATGGAAGCGATTAACGAGTC
+GCTTCATCCGCCGATGGATAATCGGGTACGCGAGGCTTGTCAGTACATCAGCGATCACCTGGCAGACAGT
+AATTTTGATATCGCCAGCGTCGCACAGCATGTCTGCCTGTCGCCGTCGCGTCTGTCGCATTTGTTCCGCC
+AGCAGTTAGGGATTAGCGTATTAAGCTGGCGCGAGGACCAGCGCATCAGTCAGGCGAAGCTGCTTTTGAG
+CACCACCCGGATGCCTATCGCCACCGTCGGTCGCAATGTCGGTTTTGATGATCAACTCTATTTCTCGCGA
+GTATTTAAAAAATGCACCGGGGCGAGTCCGAGCGAGTTTAGGGCAGGTTGTGAATAATAAGAAAGAAGGG
+GGGGAACCCCCTTGCTTTCTTCATCTGACGTTATTTATATATTTCACGGGGGATTAATTTTAGTTATTTT
+TAGTTGAATCGTTTTACCTGAATTATTTTTTTCTTGATAAAATATCGACAACGATTTCTTTTTGTAAAAA
+TAAAACGAAGGCTTATGTATCGGGATACCCATCATGAACATATTGTCCGGTTGCATCAGGAGAATATATC
+AAGCGGTTTGTTCATCGTAGGAACACCACATTGAGCGGTTATGGCAGGCACTTCACGCCACCATAAATGC
+CGTTCGATGTGGCAGTTGTTGAAAAAAGTACGGCATTCTATGAAAAACGCCAGTTACTCCCTCAGAGGAG
+AACATGGTCTGGCAAAAGTGTAGCGGCATCAGGCGCAGCTATCTTTGTAAATTCATTCATAAAATGAATT
+GTATACAAAAAAATATTGAAAAATAATATTTTTCCTTATTGATATTATTTGCTATACGTTTTTTTTGAGG
+GGAGATTGTGATGAGCAAACGTAACGATATTACTGATGGAATATTTGCAACAACGAAAAAGTATGGATTA
+GTTTATACCGAAGAGTTAGGTTGGATCGATTTGGGGCATGCTCAGGGACAAGATGCCAGAATATTAAAAA
+GAAAATTGGAGCAAGAACATTTTTCAACATATTACGATGAATTTCATGATTGGTATTTTCCTGTTGATTA
+TCATCAGGAAATGGGAATTCGGAAAAAAATATTAGGAGTAGATCTTACATTTCATACCGGTGTTTATACG
+AAGGTTATGGTTCGTTCATGTCTTTCACCCACTCTTAAAGCAAGAGTTGCCTTAACGTTAATGTATGGAA
+CTGCGAAGAGGTTTGAAGCATGGCAAAACTCATTTATTTTTAACTGGTATACTGATAGCGGATTTAGTGC
+AGAAGATTTAGTCTCAGACTTGATTGGTTTTTATCGTGTATTTGGAACAGGCCCCGATCCACTTTTATTG
+GCAAAACCTTTATCTTACACAAAAGCCTTACAAATATGGGATACATATGGAGCGCCAGGGAATTTTAAAA
+ATACTGAGTTTACGCCATTCTTATTTACAACCCATCCTCCTTTTAAAAAAAATCAACTAATAAAAAAGAA
+GCTTCCAGAATGGTTAAATTATATAAAGCCATTAGATGAGTCTTTTTCAACATTGTTATATAATCAATAT
+AATAATAGACCTGTTACTAATTATTATAAAGATAAAAACAGAATAAATCATGAGTTGTATAGTTCATTAT
+CAAGTTCGGGAGCTATAAAGTTTTCAGAATCTCCCTTTGAAAGACCGCTTTTTCTTTTCTTAAACCCTCA
+TTATCCGCACAGGTCGTGAGTAGAGATGTCAAAATATATTTATATTTTATTATCATTTTTAGTTTTATTC
+TTTATATTTTTCTATGCTTATATCTCATTGATGTCAAAGGAACATCACTATACACAGCATGAACTTTCCC
+CATTTTTCCTTTATACGCCAGAGAGTTTGCGAAATTTGCCAAACATATCAAACGTAGCCGAGTATAGCTA
+TTACTATAATGTTGATGATATGCAAACAAGAGTGATTGTTACATGGCGAAATATAGATAACATTTTTCTT
+CAGAAAGCAAAGCTAATAGATTTTTTGAAAAGAATGGGACCGAGTCTACAAAACGATTGTATATGGTTTT
+TTCATGATAAAAGTGATTATGCAAATAATTTCCAGCGTTATTGCATCATTGAGCACCGTGATTCTCTGCA
+GGTGGAATATTTTGAGACTATCGAATGATAGGCAGAGGGTGTCTTTTGTGCCGGTTGTGAAGAAAAAGTG
+AATGATGTAGCCGTCAAGTTGTCATAATTGGTAACGAATCAGATAATTGACGGCTTGACGGAGTAGCATA
+GGGTTTGCAGAATCCCTGCTTCGTCCATTTGACAGGCACATTATGCAAGCATTGCTGGAACACTTTATTA
+CCCAATCCACCGTGTATTCATTGATGGCGGTGTTATTGGTGGCCTTTCTGGAGTCGCTGGCGCTGGTCGG
+TTTGATTCTACCCGGTACGGTGCTGATGGCGGGGCTGGGAGCACTGATTGGCAGCGGTGAGTTAAGTTTC
+TGGTACGCCTGGCTGGCGGGGATTATTGGCTGCCTGCTGGGCGACTGGATCTCCTTCTGGCTGGGCTGGC
+GTTTTAAAAAGCCGTTGCATCGCTGGTCATTTCTGAAGAAGAACAAAGCATTACTCGATAAAACCGAACA
+TGCGCTGCATCAGCACAGCATGTTCACCATTCTGGTCGGTCGTTTTGTCGGCCCGACGCGTCCGCTGGTG
+CCAATGGTGGCGGGAATGCTGGATCTCCCGGTGGCAAAATTTATTACGCCGAATATTATCGGCTGCTTGC
+TGTGGCCACCGTTTTACTTCCTGCCGGGGATTCTGGCGGGTGCGGCGATCGATATTCCTGCCGGGATGCA
+GAGCGGTGAGTTTAAATGGTTGCTGCTGGCAACAGCGGTGTTTTTGTGGGTTGGAGGCTGGCTGTGCTGG
+CGGTTATGGCGCAGCGGTAAAGCGACTGACCGTTTGAGTCATTATTTGTCCCGCGGTCGTTTGTTGTGGC
+TGACGCCGTTGATTTCTGCCATCGGCGTGGTGGCGCTGGTGGTGTTAATTCGCCACCCGTTGATGCCGGT
+GTATATCGATATTTTGCGTAAAGTGGTTGGGGTTTAGAGGATAGCCTTGTGCGGGTTGCCTGATGCGACG
+CTTGCCGCGTCTTATCAGGCCTACAAAACGCACTACCTGTAGGTCGGATAAGGCGTTCACGCCGCATCCG
+ACAGTGCATATTAACCTTTAATTCCCAACAGCGCCGAAGCACTCGCCTTACCGCTCAACAACTCATCGGT
+CTTACCCTGCCAGGCGATACGCCCGTCGGCGACCACCACCGAGCGCGTGGCGATCCGCGCCGCATCTTCC
+ACACTGTGCGACACCATCAATAGCGTCATTTTTTGCTGTTGGCAGCTCGTGCTCACCAGCGTCAGCATCT
+CCTGACGTAGCGCCGGATCGAGCGCGGAAAACGGTTCATCGAGCAATAAAATGGGCTGTTCGCGTACCAG
+ACAACGCGCTAACGCCACGCGCTGTCGTTGACCGCCGGAAAGCTCGCCAGGTAACCGCGCCATTAAATTA
+TCAATCCCCATCTGGTGGGCAATCGCGTGCATTTTCTTCTGCTGCGCCGCATTTAGTTTCAACCCCGGAT
+TTAGCCCCAGCCCGATGTTCTGCGCGACCGTCAGGTGGCTGAACAGGTTGTTCTCCTGAAACAGCATCGA
+CACCGGACGGCGTGACGGCGGCGTCGTGGTGTGATCTACGTCGTCGATAGTCAGCAAACCGCTGGCTGGC
+GTCAGAAAACCGGCGATCAAATTAAGCAGGGTACTTTTACCCGCGCCGCTTGGCCCGAGGATCGCCACCT
+GCTCGCCGCGTTCCACCGTTAAGCTAAAACGCATCGGCAAATGGTGGTAAAGCCAGGTGATATCAGTCAG
+TTTTAACATTTCGCCCCGGTATTTTTTCAATCACGGTAAACAGCAGAAAACAGAGCAGCAGCAGAATTAA
+CGCGGTGACCGCGCCGTCCTGGCTGCGATAGGAGCCAATTTGCTGGTAGAGATAAAACGGCAGGGTACGG
+AAATCATCGTTACCGAACAATGCCACCACGCCAAAATCACCAATCGACAGCACACAAGCAAAGGCCAGCG
+CCTGCGCCAGTGGACGTTTCAGGGCGCGCAGCTCCACCACTTTTAAGCGTGACCAGCCTTCAATGCCCAG
+CGACTGACACAACATGCTGTAGCGGGCGGTGATATCGCGCATCGGGTTTTCCAGTACTTTCAGCGCATAA
+GGGATTGCCATTAACGCATTGGTGAAAATCACAATGCCGTCAGCAGATTGCGGCAGGCCGATAGTGTTGT
+TGAGCAGTAAAAAGAAGCCCGTAGCCAGCACAATCCCCGGCATGGCGAGGATCAACATGCCGCTCATCTC
+CAGCGCCTGACCCGCCAGCATTTTCTGCCGCGCCCGAAGTTCGCGACTGCTCCATAGCAGCATCATGGTC
+AGCACTACGCACAATACGCCTGCCGCCAGCGCAATACGCAACGAGGTCCACAGCGCCTGCCACAGCACCG
+GTTGTGCCAGCACTTCCGGCAACTGGCGATTTACCCCATCGACGATCACCGCCAGTAACGGTGGCAGCAA
+CAGCAGCAGCGCCAGCACAATTAACGCCGTGTCGCAAATGCGACTATGCAGACGATCGTCCGGGTCGCGC
+CAGCCTTGCAGCAGTGTGGTACCAGGCGCAATGGCCTTACTCAATCGCTGACTCAACAGCACCAGCCCGA
+GGCAGCACACCATCTGGATCAGCGCCAGCATTGCCGCGCGGGCAGGATCGTAGTCGTAACTCAGTGCCTG
+ATAGATTGCCAGCTCGATAGTGGTCGCCTGCGGACCGCCGCCCAGCGATAGCACGGTGGCGAAGCTGGCG
+AAACAGAGCATAAAGATTAGTGCGGCAACCGGCGGGATTTGTCGCCGTAACCACGGCCATTCGACGAAAC
+GGAAAAAATGCCAGCCGCGCATCCCAAGTTGGGCGGCAAGCTGACGTTGTTCGCCGGGAATGTTTTCCAG
+TGCCTGGAGTAATAAACGGCTAGCCATCGGCAGATTAAAAAACACATGGGCCAGCAAAATGCCTTGCAGG
+CCGTAGGGCGAAAAGGTCCACTCCAGACCAAGTGATTGCCAGAGCGAGGCCAGCCAGCCCTGGCGACCAT
+AGACGCTAAGAATGCCGAAAACAGCAACCAGCACCGGGAGGATCAAGGTCATTGCGCACAGACGCAACAG
+CATCTGTCGCCCAGGAAAGTGCCTGCGATAGAGGGCGCGGGCGAGGAATATTGCGGGTACGACAGAGAGC
+TGCGCCGAGAGAAACGCCTGCCAGAAGGAGAAGCGCACCACATGCCACAGGTAGCTGTCCTGCCAGACTG
+CCACCCAGTCACCCTGCGGCGCGTTCCACCACAGGGCGAGAAACGCCGCCAGTGCAACCGCTACCACCAG
+CGTGGCGGCGCTTACGCCTGGAATTAACCAGCCGGGAATTAACGGCTGACGGCGCGTTGCCATTCGCTAA
+TCCATGCCTGACGTTGTGCCGCCACTTCGGCGGGTGTGAACTCTAGCGTGGTGGCTGGTTTGGTCAATTG
+TTCAAATCCTGCAGGCAGAGTGACGTTTGCTACCGGATACATCCAGTTGCCGGTTGGGATCGCATTCTGA
+AAAGCCGGAGAAACCATAAACTGGAGGAATTTTTGCGCCAGCTCTGGCTGCTTGCTGGCAGCGGTGCGGG
+CGGCAACTTCCACCTGCAGATAGTGACCTTCGCTAAAGTTTGTGGCGGCGTAGTTATCTTTCTTCTCTTC
+GAGAATGTGATAAGCCGGAGAGGTGGTGTAACTCAGTACCAGATCGCTTTCGCCTTTTAAAAACAGGCCG
+TAGGCTTCGCTCCAGCCTTTGGTGACCGTGACAGTTTTCTTCGCCAGTTTCTGCCAGGCTTGCGGGGCGT
+TATCGCCATAGACTTTTTGCATCCATAGCAACAGACCCAGCCCCGGCGTACTGGTACGTGGATCTTCATA
+AATCACCCGCCAGTTCTGATCGCTCTCAACCAGTTCTTTCAGGCTTTGCGGCGGATTTTTCAGTTTGTTC
+TTGTCATAGACGAAGGCGAAATAGCCGTAATCAAACGGTACGAAAGTGTCATTATTCCAGCCGCCAGGAA
+CGTTAACGGCTTCCGCTGCCACACCGCTTTTAGCAAACAGCCCTGTTTTGCTGGCGGCGTCTAACAGATT
+GTTATCCAGCCCCAGCACCACATCGGCTTTGCTGTTTTTGCCTTCCATCCGTAGACGGTTGAGCAGCGAA
+ACGCCATCTTCCAGCGCCACCAGTTTCAGTTCGCAATTACAGTCTGCTTCAAAGGCTTTTTTGACTACCG
+GACCAGGTCCCCAGTCAGCGGCAAAGGAATCGTAGGTATAAACAGTCAGAACAGGTTTAGCGAAAACAGG
+CGCTGTGCACAGCAACAGCAGGGGAAGACATTTTTTTAACACTTTGCACCTCACAAAAGAGTGGCAAAGG
+ACTTGAGAAGGAGCCTCAAATCCCTTCGCCGGCGTTATCCGGATCAGGTTCGACGGGTATTTTCTCAGCG
+CACGCGGCTGCGTGGCACCCCGTTGAGAACGGCGTTAGTGTAGTGATTTTGTTATCAACCAGCAATCATG
+GATCCGGTGGTGCAAACCACGCTGATTTAAAATCGAACCAGCCGAGGGTGTTCATGCGCAGGCCGCGCAT
+ACTACGTTGCCCCTGAATGATCAGCCAGTGGTGGATAAGTGGCACCATTGCTTTGCTGGCGACCAGTTGT
+TGGCACCAGTTCGCCAGGTTCATTTCGCCATTGCGCCAGCGGGCGGCGTCGGCTTGCCAGTCGATCGGAA
+TACAGTGTTGGAGCAGCGGCACCTCGCACAAGTGCGCGAACAGCGAAAAATCCAGCGGCAGCGTAAAGTT
+GGCGCTGTTAAGCCAGATATCGCTCTCGATCTCTCCTTCATGCCACTGATCGTAGCTGATCTCTTTGATT
+TCCAGCGTGACCTGGTGACTTGCCAGAATCTGCTGCATGATCCCGGCAATCACCCGATGCTCGCTGTGAT
+CCTGATAAAAGGTCAGGGTGAGGCTTTCCAGACCAGCCGGTTTTTCGCTCTTTATGATGCGGGCATGGTG
+CCAACGGGGGAGCAGTCCATAAGCCGGGAACCACAGTTGCTGGTACTGTTCCTCAGCGAAATAGACCAGA
+TTCGTCGGAGAAAGCACATAGCTTACCCAGTCTCTGACTTGCTGATTCGCCCCTCGATGGGTGCGGCTGT
+CGAACAGTAAATAGTAGCAACCTTCCTCCAGGCGGCTTTCAATCTCTTTTTCCTCGCCCTGTGGACCTTT
+TAGCATCAGCCCTCCGGCTGGCTCGTCGGCAATTTCCGGCAGAACCCAGACGTTAACTTCGTCGATTAAT
+GCCCGGTAACCGAAGAAGTCATCGAATGCCTGAATTTTCAGTTGATTGGTGCTGTTGCGGATCACCGCAT
+ACGGACCGGTGCCGATGGGATGGCTGGCAAAGTTACTGAGGGTTTCCCATTCGCGCGGCAGGATCATTGC
+CGGAACTTGCCCCAGCAGTAACGGCAACCAGCGGTCCGGTTGCGTGAGATGGATATCCAGCGTCCAGGGC
+GTCGGCGACACAATGTCAGCAATATGCGAATAGAGCGGAAGCGTATTGATTCGTTTTAAAGAGAAGATCA
+CATCGTCCATTTCCAGTTCACGACCATGGTGAAAATGGACACCTGGACGCAAAAAGAAACGCCAGTGAAG
+CGGTGATATTTGCTGCCAGTGGTGGGCGATGTCTGCTTCCAGTTCCCCATTTTCCTCATTTATGCGCGTT
+AGCGAACTGAAGATTTGCCGGGCGATATGGGTTTCAGAACGGCGCAATGCGCTGCCAGGTAGCAGATTAC
+GCAACGGACGATAGTAGAGCACGCGCAGGATGTGCCGTCCCTGGCGGAAGCTGCGGCCCAAATGAGAAAC
+CAGCATTTGCCGCACAGTCGCTTTGTCGCCAACCAACTGCACTAGTTGGTCGATACGATCCTGCTCCAGC
+AGGTCTTCCGCCCGCTGTTGCTGAAGCGCCAGCCCGGTATAGAGGAATGTCAGGCGTGAACGTTTACCGC
+GCCCGACTTCCGCTTCCCACGTCAGCCAGCCGCGATCCTGCATGGTGTTGAGCAGGGTGCGCATATGACG
+ACGCGAGCAACTCAGTAACGCTGCCAGTTCGTTGAGAGTGGTCTCCTGAGATTTACCCTCGCAGCATTGC
+CACAGGCGGATGAACTGTTGTTGCAGACGAGCAGATGGCATAAAAGGGGAACTCCTGCGCAAAAGACAGC
+AATTTTATTTTCCCTATATTAAGTCAATAATTCCTAACGATGAAGCAAGGAGGTGCCCCATGCGTCAGTT
+TTATCAGCACTATTTTACCGCGACAGCGAAGTTGTGCTGGTTGCGTTGGTTAAGCGTCCCACAACGATTA
+ACCATGCTTGAAGAACTGATGCAGTGGGAGGGGAGTCATTCTGACTACTGATTTGCGGACATCATGTGTG
+ACTGAGTATTGGTGTTAATCGCCACGCCAGCAGTGATTATCTGCTGGCTTTTTTCTTTTTGGCGATTGAG
+TGCCGGACGGTGTACAAACTAACGCATAAACGCCGGTTGCTTCTCTTCATAAGACGCAATTGCGTCGTCG
+TGCTGCAGAGTCAGGCCGATGCTGTCCAGACCGTTCATCATGCAGTGGCGGCGGAAGGCATCGATGGTAA
+AGCGATAAGTTTTCTCTCCCGCTTTCACCTCTTGCGCTTCCAGGTCTACATCAAAATGAATCCCCGGATT
+GGCTTTCACCAGCGCAAACAGCTCATCCACTTTTGCATCGCTTAATTTCACCGGCAGCAGCTGGTTGTTA
+AAGCTATTGCCGTAGAAGATGTCAGCAAAACTCGGCGCAATCACCACCTTAAAACCGTAATCGGTCAATG
+CCCACGGCGCGTGCTCACGCGAGGAACCGCAGCCGAAGTTTTCTCGTGCCAGCAAAATGGAAGCGCCCTG
+ATACTGCGGGAAGTTCAGCACGAAGTCCGGGTTTGGCTGTTGGCCTTTTTCATCCAGAAAACGCCAGTCG
+TTAAACAGATGCGCGCCAAAACCCGTACGGGTCACTTTCTGCAAAAACTGTTTCGGGATGATTGCATCGG
+TATCGACATTGGCGGCATCCAACGGAACCACCAGGCCTGTGTGTTTGATAAATTTCTCTGCCATGGTGTG
+CTCCTTATTTAATGTTGCGAATGTCGGCGAAATGTCCGGTCACAGCCGCGGCGGCAGCCATTGCCGGACT
+GACCAGATGCGTGCGCCCGCCGCGCCCCTGGCGGCCTTCAAAGTTACGGTTGCTGGTGGAGGCGCAACGT
+TCGCCCGGATTCAGGCGGTCGTTGTTCATCGCCAGGCACATTGAACAACCTGGCAAGCGCCATTCAAAAC
+CAGCTTCGATAAAAATTTTGTCCAGACCTTCCGCTTCCGCCTGGGCTTTAACCGGACCGGAGCCGGGAAC
+CACCAGCGCTTGTACGCCTGGCGCGACTTTCCGGCCTTTGGCGATTTCCGCTGCCGCGCGTAAATCTTCA
+ATACGCGAGTTAGTACAGGAACCAATAAACACTTTGTCGATAGCCACTTCTGTCAGCGGAATACCCGGTT
+TCAGCCCCATATAGGCCAGCGCTTTTTCTGCCGACGCGCGTTCAACCGGATCGGCAAACGAAGCCGGATC
+GGGAATATTGTCGTTCACAGAAATCACCTGGCCTGGATTGGTGCCCCAGGTGACCTGCGGCGAAATCTCT
+TCTGCTTGCAGAGTGACAACGGTATCGAAAGTTGCTCCTTCGTCGGTTTGCAGGGTTTTCCAGTAGGCAA
+CGGCGTCGTCGAAATCTTTGCCTTTCGGCGCATGCAGACGGCCTTTAACATAGTTAAAGGTGGTTTCGTC
+CGGTGCAACCAGACCGGCTTTTGCGCCCATTTCGATTGCCATATTGCACAGGGTCATACGACCTTCCATG
+CTTAAATCACGGATTGCTTCGCCGCAAAATTCCACCACATGCCCGGTACCGCCTGCGCTGCCGGTTTTAC
+CAATAATTGCCAGCACGATATCTTTTGCGGTAATGCCCGGCGCGGCTTTGCCCTGGACTTCAATTTTCAT
+GGTCTTCGCCCGGCCCTGTTTCAGGGTTTGCGTTGCCAGTACGTGTTCAACTTCGGAAGTGCCGATACCA
+AAGGCCAGTGCGCCAAACGCGCCGTGGGTGGCGGTATGTGAGTCGCCGCAGACAATGGTCATCCCCGGCA
+AGGTCACGCCCTGTTCCGGCCCCATTACGTGGACGATCCCCTGATACGGGTGATTCAGGTCATACAGCTC
+GACGCCAAATTCTTTGCAGTTTTTGATCAGCTCCTGCATCTGGATGCGCGCCATTTCACCGCAGGCATTA
+ATGTCTTTCGTCTGGGTAGAGACGTTGTGATCCATGGTGGCGAAGGTTTTGCCCGGCTGACGTACCGGGC
+GACCGTGGGCGCGCAGACCATCGAACGCCTGCGGTGAGGTCACTTCATGCACCAGGTGGCGGTCGATATA
+TAACAGCGGGGTTTCGTTTTCGGCTTCGTACACTACGTGAGCGTCGAATAATTTTTCGTATAACGTCTTA
+GCCATGATTACACCCCTTCTGCCACATAGCGGGCAATGATATCGCCCATTTCATCGGTACTAACGGCGGC
+AGCGCCACGGGCTAAATCCCCAGTGCGAATGCCTTCTTCTAATGCGCGGTTAATGGCGCGTTCAATGGCG
+GAAGCCGCATCATCGGCATCCAGGCTGTAACGCAGCAGCAGCGCCAGCGACAGAATTTGTGCAATCGGGT
+TGGCGATATTTTTACCTGCGATATCGGGTGCCGAGCCGCCCGCCGGTTCATACAGACCAAAACCTTGCTC
+GTTCAGGCTGGCGGAAGGCAACATCCCCATTGAGCCAGTGATCATTGCGCACTCATCAGACAGAATGTCG
+CCAAACAGGTTGGAGCACAGCAAGACGTCAAACTGTGATGGATCTTTAATCAGCTGCATGGTGGCGTTGT
+CGATGTACATATGCGTCAGTTCGACGTCCGGGTATTCCGTGGCGATCTCGTTAACGATCTCCCGCCATAA
+AATAGAGGATTGCAGCACGTTGGCTTTGTCGATTGAGGTGACTTTGTGGCGACGCTTGCGGGCAGATTCA
+AATGCGATGCGGGCAATACGCTCGATCTCAAAACGGTGGTACACCTCGGTATCAAACGCTTTTTCATATT
+GTCCGCTACCTTCGCGGCCTTTTGGCTGACCGAAATAGATGCCGCCGGTCAGTTCGCGCACACACAGGAT
+GTCAAAGCCGTTTGCGGCAATGTCAGCACGCAGTGGGCAGAACGCTTCCAGCCCCTGATACAGTTTTGCC
+GGACGCAGATTGCTGAATAATTTGAAGTGTTTACGCAAAGGCAGCAGTGCGCCGCGTTCTGGTTGCTGGT
+CTGGCGGCAAATGTTCCCACTTCGGACCACCTACCGAGCCAAACAGCACGGCATCGGCTTGCTCACAACC
+TTCAACCGTCGCAGTCGGCAGCGGCTGTCCGTGGTTATCAATGGCTGCGCCGCCTACATCGTAATGGCTG
+GTGGTGATACGCATCGCAAATCGGTTGCGCACGGCATCCAGCACTTTCAGCGCCTGGGTCATCACTTCCG
+GACCAATACCGTCCCCCGGCAATACGGCAATATGGTAATTCTTCGACATCACACGGTTTCCTTGTTGTTT
+TCGTTGTGTTGAGCTTTGCGTTGCAACTCTTTTTCGACTTCTGCGGCACGCCAGATATTGTTCAGTACGT
+GCACCATGGCTTTGGCGGAGGACTCGACAATATCGGTGGCCAGGCCGACGCCGTGGAAGCGGCGACCGTT
+GTAGTTGGCGACAATATCCACCTGACCCAGCGCATCTTTACCGTGGCCTTTGGCGGTCAGGCTGTATTTC
+ACCAGTTCGACGTTATAGTCAGTGATGCGGTTTATCGCCTGGTAGACGGCATCGACCGGACCGTTACCGT
+TGGCGGCTTCTGCTTTGACTTCTTCGCCACAGGCCAGTTTGACGGCGGCAGTGGCAATATCGTTAGAACC
+TGACTGCACGCTGAAGTAATCCAGACGGAAATGCTCCGGCTCTTCTTGCTGCTTACCGATGAAGGCCAGC
+GCCTCCAGATCGTAATCAAACACCTGGCCTTTTTTGTCCGCCAGCTTCAGGAAAGCGTCGTACAGGTTGT
+CTAAATTATATTCACTTTCTTTATATCCCATCTCATCCATGCGATGTTTCACCGCCGCACGCCCCGAACG
+AGAGGTCAGATTCAGCTGGATTTGGTTCAGACCAATAGATTCTGGTGTCATGATTTCGTAGTTTTCGCGG
+TTTTTCAGTACACCATCCTGGTGGATACCGGAGGAGTGTGCGAATGCGCCGCTGCCAACAATGGCTTTGT
+TTGCCGGGATCGGCATATTACAAATCTGGCTAACTAACTGGCTGGTGCGCCATATCTCCTGGTGATTGAT
+GGCGGTGTGGACGTTGAGAATATCCTTACGAACTTTGATCGCCATGATGACTTCTTCAAGGGAACAGTTA
+CCGGCACGCTCGCCGATCCCGTTCATTGCGCCTTCTACCTGCCGTGCTCCGGCATGTACCGCCGCCAGTG
+AGTTGCCGACCGCCAGGCCCAAATCGTCGTGGGTATGTACGGAAATAATGGCTTTGTCGATGTTGGGTAC
+GCGTTCATACAGGCCGCTGATGATTCCGGCGAACTCAAATGGCATGGTGTAGCCCACGGTGTCCGGAATG
+TTGATGGTGGTGGCACCGGCATTAATCGCCGCTTCGACCACTCGCGCCAGATCGGCAATTGGGGTGCGTC
+CGGCATCTTCGCAAGAAAATTCAACATCATCGGTGTAATTACGGGCGCGTTTCACCATATAGATAGCGCG
+TTCGATCACTTCGTCCAGCGTGCTGCGCAGCTTGGTGGCGATGTGCATTGGCGAAGTGGCAATAAAGGTA
+TGAATACGGAAGGCTTCGGCGACTTTCAGGGATTCGGCTGCCACGTCGATATCTTTTTCCACGCAGCGAG
+CTAACGCGCATACACGGCTGTTTTTAACCTGGCGAGCGATGGTCTGCACTGATTCAAAATCACCCGGCGA
+AGAGACGGGGAAACCGACTTCCATCACGTCAACACCCATACGCTCAAGGGCCAGCGCAATTTGCAGTTTT
+TCTTTCACACTCAAGCTTGCCTGTAACGCCTGTTCACCGTCGCGCAATGTGGTATCGAAAATAATGACTT
+GCTGGCTCATGGTTTGGGTCCTTGTCTCTTTTTGAGCGCCTCGCTTCGGGCATAAAAAAACCCGCGCAAT
+GGCGCGGGTTTTTGTTTGACTGCGTGCTGGCTTAATGCTGGATGCCGCTCACTCGTCTACCGCGCAAAGA
+AGATGCGTTTAGTAGTAGTAGACCGATAAAGCGAACGATGTGAGTCATTAAATCAGCTCCAGATGAATGC
+GATATGCTTTTAGAGTTACTGGATACAAAAACGGATGTCAACCCTGAAGCAATAAAAACGTCACGCCATT
+GTGAGTTCGGCATCCGTAAAATTAGCTAATTGTGCTGCGGTGGTTAAAACAAGCGATATTAATTTCTGCT
+TAACCGCCGATGCTTTTCATCGGTTGACATATTTCAGAATAATTTTTTGCATCTAATCAACGAGGGAAAG
+GGGGATAAAATGCACGCGTTACAAAACCTATCCTGATGATTTGTATTGAATTATATGTTTTGCGAATTTT
+TTGATATTCATTTGCTGAATATTATTGATCAATTAATGTTAAGAATTAATGCATTAAACATATAAATTAA
+TTATTAAAAAGCACATTTAATCCATTTTGTGGATGATTGAGTATTCGTGGTAGTTATGATTAGATTGTTT
+TCGCAACAAAAACATTATGGATTATTATGCTGTAGTTAATGACTCTTTGCTCGGCAGTGGATTCTGTTTT
+TATCAGAACCTGTATCTTTATGTTTTCCTAATTTTACTCATTTTGCTTTTTCTTATTTTATATGCATGAT
+AAATCATATTCTCGAGGATTATTTCTCTGCATTCCAATAAGGGAAAGGGAGTTAAGTGTGACAGTGGAGT
+TAAGTATGCCAGAGGTACAAACAGATCATCCAGAGACGGCGGAGTTAAGCAAGCCACAGCTACGCATGGT
+CGATCTCAACTTATTAACCGTTTTCGATGCCGTGATGCAGGAGCAAAACATCACCCGTGCCGCTCATGCT
+CTGGGAATGTCGCAACCTGCGGTCAGTAACGCTGTTGCACGCCTGAAGGTGATGTTTAATGACGAGCTTT
+TTGTTCGTTATGGCCGTGGTATTCAACCGACTGCTCGCGCATTTCAACTTTTTGGCTCAGTTCGTCAGGC
+ATTGCAACTAGTACAAAATGAATTGCCTGGTTCAGGTTTTGAACCCGCGAGCAGTGAACGTGTATTTCAT
+CTTTGTGTTTGCAGCCCGTTAGACAGCATTCTGACCTCGCAGATTTATAATCACATTGAGCAGATTGCGC
+CAAATATACATGTTATGTTCAAGTCTTCATTAAATCAGAACACTGAACATCAGCTGCGTTATCAGGAAAC
+GGAGTTTGTGATTAGTTATGAAGACTTCCATCGCCCTGAATTTACCAGTGTGCCATTATTTAAAGATGAA
+ATGGTGTTGGTAGCCAGCAAAAATCATCCAACAATTAAAGGCCCGTTACTGAAGCATGATGTTTATAACG
+AACAACACGCTGCGGTTTCGCTCGATCGTTTCGCATCATTTAGTCAAACCTGGTATGACACGGTAGATAA
+GCAAGCCAGTATCGCGTATCAGGGCATGGCAATGATGAGCGTACTTAGCGTGGTGTCGCAAACGCATCTG
+GTCGCTATTGCGCCGCGTTGGTTGGCTGAAGAGTTCGCTGAATCCTTAGAGTTACAGGTATTACCGCTGC
+CGTTAAAACAAAACAGCAGAACCTGTTATCTCTCCTGGCATGAAGCTGCCGGGCGCGATAAAGGCCATCA
+GTGGATGGAAGAGCAATTAGTCTCAATTTGCAAGCGCTAACTGAATGCAGAATAGGTCGGACATCAATGT
+CTGGTTTATTCTGCATTTTTTATTGAATGTAGAATTTTATTCTGAATGTTTGTGCTCTCTATTTTAGGAT
+TAATTAAAAAAATAGAGAAATTGCTGTAAGTTGTAGGATTCAGCCGATTTATTATCAATTTCATCCTCTG
+TAATGGAGGATTTTATCGTTTCTTTTCACCTTTCCTCCTGTTTATTCTTATTACCCCGTGTTTATGTCTC
+TGTCTGCCAATTGCTTAAGCAAGATCGGACGGTTAATGTGTTTTACACATTTTTTCCGTCAAACAGTGAG
+GCTGGCCATGGAGATGTTGTCTGGAGCCGAGATGGTCGTCCGATCGCTTATCGATCAGGGCGTTAAACAA
+GTATTCGGTTATCCTGGAGGCGCGGTCCTTGATATTTACGATGCATTGCATACCGTGGGTGGTATCGATC
+ATGTTTTAGTTCGCCATGAGCAGGCGGCGGTGCATATGGCCGATGGTCTGGCGCGCGCGACCGGGGAAGT
+CGGCGTCGTGCTGGTAACGTCGGGTCCAGGGGCGACCAATGCGATTACTGGCATTGCCACCGCTTATATG
+GATTCCATTCCATTAGTTGTCCTTTCCGGGCAGGTAGCGACTTCGTTGATAGGTTATGATGCCTTTCAGG
+AGTGCGACATGGTGGGGATTTCTCGCCCGGTGGTTAAACACAGTTTTCTGGTTAAGCAAACGGAAGACAT
+TCCGCAGGTGCTGAAAAAGGCTTTCTGGCTAGCGGCAAGTGGTCGTCCTGGACCCGTGGTCGTTGATTTA
+CCGAAAGATATTCTAAATCCGGCGAACAAATTACCCTATGTCTGGCCGGAGTCGGTCAGTATGCGTTCTT
+ACAATCCCACGACCTCCGGGCATAAAGGGCAAATTAAGCGCGCTCTGCAAACGCTGGTGGCGGCAAAAAA
+ACCGGTTGTCTACGTAGGCGGTGGGGCAATCACGGCGGGCTGCCATCTGCAGTTGAAAGAAGCGGTGGAG
+GCGTTGAATCTGCCCGTTGTTTCCTCTTTGATGGGGCTGGGGGCGTTTCCGGCAACGCATCGCCAGGCAC
+TGGGCATGTTGGGAATGCACGGTACCTACGAAGCCAATATGACGATGCATAACGCGGATGTGATTTTCGC
+CGTCGGGGTACGTTTTGATGACCGAACGACGAACAATCTGGCAAAGTACTGCCCAAATGCCACTGTTCTG
+CATATCGATATTGATCCAACCTCAATTTCTAAAACCGTGACTGCTGATATCCCGATTGTGGGGGATGCTC
+GCCAGGTCCTCGAACAAATGCTTGAACTCCTGTCGCAAGAATCCGCCCATCAACCGCTGGATGAGATCCG
+CGACTGGTGGCAGCAGATTGAACAGTGGCGCGCTCGTCAGTGCCTGAAATATGACACTCACAGTGAAAAG
+ATTAAACCGCAGGCGGTGATCGAGACTCTTTGGCGGTTGACTAATGGGGACGCTTACGTGACGTCCGATG
+TCGGGCAGCACCAGATGTTTGCTGCGCTTTATTATCCATTCGACAAACCGCGTCGCTGGATCAACTCTGG
+CGGCCTCGGCACGATGGGTTTTGGTTTACCTGCGGCACTGGGCGTCAAAATGGCGTTGCCAGAAGAAACC
+GTGGTTTGCGTCACTGGTGACGGCAGTATTCAGATGAACATCCAGGAACTGTCTACCGCGTTGCAATATG
+AGTTGCCCGTACTGGTGGTGAATCTCAATAACCGCTATCTGGGGATGGTGAAGCAGTGGCAGGACATGAT
+CTATTCCGGCCGTCATTCACAATCTTATATGCAGTCCTTACCAGACTTCGTCCGTCTGGCGGAAGCCTAT
+GGTCACGTCGGGATCCAGATCTCTCATCCGCAAGAACTGGAAAGCAAACTTAGCGAGGCGCTGGAACAGG
+TGCGCAATAATCGCTTGGTGTTTGTTGATGTTACCGTCGATGGCAGTGAGCACGTCTACCCGATGCAGAT
+TCGCGGGGGCGGAATGGATGAAATGTGGTTAAGCAAAACGGAGAGAACCTGATTATGCGCCGGATATTAT
+CAGTCTTACTCGAAAATGAATCAGGCGCGTTATCCCGCGTGATTGGCCTTTTTTCCCAGCGTGGCTACAA
+CATTGAAAGCCTGACCGTTGCGCCAACCGACGATCCGACATTATCGCGTATGACCATTCAGACCGTGGGC
+GATGAAAAAGTGCTTGAGCAAATCGAAAAGCAATTACACAAGCTGGTCGATGTCTTGCGCGTGAGCGAGT
+TGGGGCAGGGCGCGCACGTTGAGCGGGAAATCATGCTGGTGAAAATTCAGGCCAGCGGTTACGGGCGTGA
+CGAAGTGAAACGTAATACGGAAATATTCCGTGGGCAAATTATCGATGTCACACCCTCGCTTTATACCGTT
+CAATTAGCAGGCACCAGCGATAAGCTTGATGCATTTTTAGCATCGATTCGCGATGTGGCGAAAATTGTGG
+AAGTTGCTCGCTCTGGTGTGGTCGGACTTTCACGCGGCGATAAAATAATGCGTTGAGAATGATCTCAATG
+CGCAATTTGCAGCCCAACATGTCACGTTGGGCTTTTTTTGCGAAATCAGTGGGAACCTGGAATAAAAGCA
+GTTGCCGCAGTTAATTTTCTGCGCTTAGATGTTAATGAATTTAACCCATACCAGTACAATGGCTATGGTT
+TTTACATTTTACGCAAGGGGCAATTGTGAAACTGGATGAAATCGCTCGGCTGGCGGGAGTGTCGCGGACC
+ACTGCAAGCTATGTTATTAACGGCAAAGCGAAGCAATACCGTGTGAGCGACAAAACCGTTGAAAAAGTCA
+TGGCAGTAGTGCGTGAGCACAATTATCACCCGAACGCCGTGGCAGCTGGGCTTCGTGCTGGACGCACACG
+TTCTATTGGTCTTGTGATCCCCGATCTGGAGAACACCAGCTATACCCGCATCGCTAACTATCTTGAACGC
+CAGGCGCGGCAACGGGGTTATCAACTGCTGATTGCCTGCTCGGAAGATCAGCCCGACAACGAAATGCGCT
+GCATTGAGCACCTTTTACAGCGTCAGGTTGATGCCATTATTGTTTCGACGTCGTTGCCACCTGAGCATCC
+TTTTTATCAACGCTGGGCTAACGACCCGTTCCCGATTGTCGCGCTGGACCGCGCCCTCGATCGTGAACAC
+TTCACCAGCGTGGTTGGTGCCGATCAGGATGATGCCGAAATGCTGGCGGAAGAGTTACGTAAGTTTCCCG
+CCGAGACGGTGCTTTATCTTGGCGCGCTGCCGGAGCTTTCTGTCAGCTTCCTGCGTGAACAAGGCTTCCG
+TACTGCCTGGAAAGATGATCCGCGCGAAGTGCATTTCCTTTATGCCAACAGCTATGAGCGGGAGGCAGCT
+GCCCAGTTATTCGAAAAATGGCTGGAAACGCATCCGATGCCGCAGGCGCTGTTCACAACGTCGTTTGCGT
+TGTTGCAAGGGGTGATGGATGTCACGCTACGTCGCGACGGCAAACTGCCTTCTGACCTGGCAATTGCCAC
+CTTTGGCGATAACGAACTGCTCGACTTCTTACAGTGCCCGGTGCTGGCAGTGGCTCAACGTCACCGCGAT
+GTCGCAGAACGTGTGCTGGAGATTGTCCTGGCGAGCCTGGACGAACCGCGTAAGCCAAAACCTGGTTTAA
+CGCGCATTAAACGTAATCTCTATCGCCGCGGCGTGCTCAGCCGTAGCTAAGCCGCGAACAAAAGTACGCG
+CCAGGTGAATTTCTCTCTGGCGCGTTGAGTACGGGAATGGACATCAATATCCTTAAAGTAAATAAGACTA
+TTCCTGGCTATTATTGATAAATGCTTTTAAACCCGCCCGTTAATTAACTCACCTGCTGAAATTCACAATA
+ATTAAATGATATTGACAGCGCGTTTTTGCATTATTTTGTTACATGCAGAGATGAATTGCCGATTTAACAA
+ACACTTTTCTTTGTTTTTGCGCAAACCTGCTGGCATCAAGCGCCACACAGACGCAACAGGGACTGTTAAC
+CAGAGAAGATATGTCCTAAAATGCCGCTCGCGTCGCAAACTGACACTTTATATTTGCTGTGGAAAATAGT
+GAGTCATTTTAAAACGGTGATGACGATGAGGGATTTTTTCTTACAGCTATTCATAACGTTAATTTGCTTC
+GCACGTTGGACGTAAAATAAACAACGCTGATATTAGCCGTAAACATCGGGTTTTTTACCTCGGTATGCCT
+TGTGACTGGCTTGACAAGCTTTTCCTCCGCTCCGTAAACTCCTTTCAGTGGGAAATTGTGGGGCAAAGTG
+GGAATAAGGGGTGAGGCTGGCATGTTCCGGGGAGCAACGTTAGTCAATCTCGACAGCAAAGGGCGCTTAT
+CAGTGCCTACCCGTTATCGGGAACAGCTGCTTGAGAACGCTGCCGGTCAAATGGTTTGCACCATTGACAT
+TCATCACCCGTGCCTGCTGCTTTACCCCCTGCCTGAATGGGAAATTATCGAGCAAAAATTATCGCGTCTG
+TCGAGCATGAACCCGGTTGAGCGCCGTGTGCAGCGCCTACTGTTAGGTCATGCCAGCGAATGTCAGATGG
+ATGGCGCAGGTCGATTGTTAATCGCGCCAGTACTGCGGCAACATGCCGGGCTGACAAAAGAAGTGATGCT
+GGTTGGACAGTTCAACAAGTTTGAGCTGTGGGATGAAACAACCTGGCATCAACAGGTCAAGGAAGATATC
+GACGCAGAGCAGTTGGCTACCGGAGACTTATCGGAGCGACTGCAGGACTTGTCTCTATAAAATGATGGAA
+AACTATAAACATACTACGGTGCTGCTGGATGAAGCCGTTAATGGCCTCAATATCCGTCCTGATGGCATCT
+ACATTGATGGGACTTTTGGTCGCGGTGGTCACTCACGTCTGATCCTCTCGCAGCTTGGCGAAGAGGGGCG
+TTTGCTGGCGATCGATCGCGACCCGCAGGCTATCGCCGTTGCGAAGACTATTGATGATCCGCGCTTCTCC
+ATCATCCACGGACCTTTCTCCGCGCTGGGCGAATATGTTGCCGAGCGCGATCTTATCGGCAAGATCGACG
+GCATTCTCCTCGATCTTGGCGTCTCTTCACCGCAACTTGATGATGCTGAGCGCGGCTTTTCCTTTATGCG
+CGATGGTCCGCTGGACATGCGTATGGACCCAACCCGTGGGCAGTCAGCCGCTGAATGGCTACAAACCGCA
+GAAGAAGCCGATATCGCCTGGGTATTGAAAACCTATGGTGAAGAGCGTTTTGCCAAACGCATTGCCCGCG
+CCATTGTCGAGCGTAACCGCGAACAGCCGATGACCCGCACCAAAGAACTGGCGGAAGTCGTGGCTGCCGC
+AACGCCGGTGAAAGATAAGTTTAAACATCCCGCGACCCGTACCTTCCAGGCGGTGCGCATTTGGGTAAAC
+AGTGAACTGGAGGAGATAGAGCAGGCGCTAAAAAGCTCGCTCAACGTGCTGGCCCCGGGGGGGCGGCTTT
+CGATCATCAGCTTCCACTCGCTGGAAGACCGTATTGTGAAACGTTTTATGCGTGAAAACAGCCGCGGTCC
+GCAAGTTCCGGCAGGGTTACCGATGACTGAAGAGCAGCTCAAAAAACTGGGTGGCCGTCAGCTGCGAGCA
+CTAGGCAAGTTAATGCCGGGCGAAGAAGAGGTGGCTGAGAACCCTCGTGCCCGTAGTTCAGTTCTGCGTA
+TTGCAGAGAGGACGAACGCATGATCAGCAGAGTGACAGAAGCTCTAAGCAAAGTTAAAGGATCGATGGGA
+AGCCACGAGCGCCATGCATTGCCTGGTGTTATCGGTGACGATCTTTTGCGATTTGGGAAGCTGCCACTCT
+GCCTGTTCATTTGCATTATTTTGACGGCGGTGACCGTGGTAACCACGGCGCACCATACCCGTTTACTGAC
+CGCTCAGCGCGAACAACTGGTGCTGGAGCGAGATGCTTTAGACATTGAATGGCGCAACCTGATCCTTGAA
+GAGAATGCGCTCGGCGACCATAGCCGGGTGGAAAGGATCGCCACGGAAAAGCTGCAAATGCAGCATGTTG
+ATCCGTCACAAGAAAATATCGTAGTGCAAAAATAAGGATAAACGCGACGCATGAAAGCAGCGGCGAAAAC
+GCAGAAACCAAAACGTCAGGAAGAACATGCCAACTTTATCAGTTGGCGTTTTGCGTTGTTATGCGGCTGT
+ATTCTCCTGGCGCTGGCTTTTCTGCTCGGACGCGTAGCGTGGTTACAAGTTATCTCCCCGGATATGCTGG
+TGAAAGAGGGCGACATGCGTTCTCTTCGCGTTCAGCAAGTTTCCACCTCCCGCGGCATGATTACTGACCG
+TTCTGGTCGCCCGTTAGCGGTGAGTGTGCCAGTAAAAGCGATTTGGGCTGACCCGAAAGAAGTGCATGAC
+GCTGGCGGTATCAGCGTCGGTGACCGCTGGAAGGCGCTGGCTAACGCGCTCAATATTCCGCTGGATCAGC
+TCTCAGCCCGCATTAACGCCAACCCGAAAGGGCGCTTTATTTATCTGGCGCGTCAGGTAAACCCTGACAT
+GGCGGACTACATCAAAAAACTGAAACTGCCGGGGATTCATCTGCGTGAAGAATCTCGCCGTTATTATCCA
+TCCGGCGAAGTGACTGCTCACCTCATCGGCTTTACTAACGTCGATAGCCAAGGGATTGAGGGCGTCGAGA
+AGAGTTTCGATAAATGGCTTACCGGGCAGCCGGGTGAGCGCATTGTGCGTAAAGACCGCTATGGTCGCGT
+AATTGAAGATATTTCTTCTACTGACAGCCAGGCAGCGCACAACCTGACGCTGAGTATTGATGAACGCCTG
+CAGGCGCTGGTTTATCGCGAACTGAACAACGCGGTGGCCTTTAACAAGGCTGAATCTGGTAGCGCCGTGC
+TGGTGGATGTCAACACCGGTGAAGTGCTGGCGATGGCTAACAGCCCGTCATACAACCCAAATAATCTGAG
+CGGCACGCCGAAGGAAGCGATGCGTAACCGTACCATCACCGACGTGTTTGAACCGGGCTCAACGGTTAAA
+CCGATGGTGGTGATGACCGCGTTGCAACGTGGCGTGGTGCGGGAAAACTCGGTACTCAATACCGTTCCTT
+ATCGAATTAACGGCCACGAAATCAAAGACGTGGCACGCTACAGCGAATTAACCCTGACCGGGGTATTACA
+GAAGTCGAGTAACGTCGGTGTTTCCAAACTGGCGTTAGCGATGCCGTCCTCAGCGTTAGTAGATACTTAC
+TCACGTTTTGGGCTGGGAAAAGCGACCAATTTGGGGTTGGTCGGAGAACGCAGTGGCTTATATCCTCAAA
+AACAACGGTGGTCTGACATAGAGAGGGCCACCTTCTCTTTCGGCTACGGGCTAATGGTAACACCGTTACA
+GTTAGCGCGAGTCTACGCAACTATCGGCAGCTACGGCATTTATCGCCCACTGTCGATTACCAAAGTTGAC
+CCCCCGGTTCCCGGTGAACGTGTCTTCCCGGAATCCATTGTTCGCACCGTGGTGCATATGATGGAAAGCG
+TGGCGCTACCGGGCGGCGGCGGCGTGAAGGCGGCGATTAAAGGCTATCGTATCGCCATTAAAACCGGTAC
+CGCGAAAAAGGTCGGGCCGGACGGTCGCTACATCAATAAATATATTGCTTATACCGCAGGCGTTGCGCCT
+GCGAGTCAGCCGCGCTTCGCGCTGGTTGTTGTTATCAACGATCCGCAGGCGGGTAAATACTACGGCGGCG
+CCGTTTCCGCGCCGGTCTTTGGTGCCATCATGGGCGGCGTATTGCGTACCATGAACATCGAGCCGGATGC
+GCTGACAACGGGCGATAAAAATGAATTTGTGATTAATCAAGGCGAGGGTACAGGTGGCAGATCGTAATTT
+GCGCGACCTTCTTGCTCCGTGGGTGCCAGACGCACCTTCGCGAGCACTGCGAGAGATGACACTCGACAGC
+CGTGTGGCTGCGGCGGGCGATCTCTTTGTAGCTGTAGTAGGTCATCAGGCGGACGGGCGTCGATATATCC
+CGCAGGCGATAGCGCAAGGTGTGGCTGCCATTATTGCAGAGGCGAAAGATGAGGCGACCGACGGTGAAAT
+CCGTGAAATGCACGGCGTACCGGTCATCTATCTCAGCCAGCTCAACGAGCGTTTATCTGCACTGGCGGGC
+CGCTTTTACCATGAACCCTCTGACAATTTACGTCTCGTGGGCGTAACGGGCACCAACGGCAAAACCACGA
+CTACCCAGCTGTTGGCGCAGTGGAGCCAACTGCTTGGCGAAACCAGCGCGGTAATGGGCACCGTTGGTAA
+CGGCCTGCTGGGGAAAGTGATCCCGACAGAAAATACAACCGGTTCGGCAGTCGATGTTCAGCATGAGCTG
+GCGGGGCTGGTGGATCAGGGCGCGACTTTTTGCGCAATGGAAGTTTCATCCCACGGGCTGGTACAACACC
+GTGTGGCGGCATTGAAATTTGCGGCGTCGGTCTTTACCAACTTAAGCCGCGATCACCTTGATTATCATGG
+TGATATGGAACACTACGAAGCCGCGAAATGGCTGCTTTATTCTGCACATCATTGCGGTCAGGCGATTATT
+AACGCCGACGATGAAGTGGGCCGCCGCTGGCTGGCAAAACTGCCGGACGCGGTTGCGGTATCAATGGAAG
+ATCATATCAATCCGAACTGTCACGGACGCTGGTTGAAAGCGACCGACGTGAACTATCACGACAGCGGTGC
+GACCATTCGCTTTAGCTCGAGTTGGGGCGATGGGGAAATTGAAAGTCGCCTGATGGGCGCATTCAACGTC
+AGCAACCTGCTGCTGGCGCTGGCGACACTGCTGGCACTCGGCTATCCGCTGGCTGATTTGCTGAAAACCG
+CCGCGCGTCTGCAACCGGTTTGCGGACGTATGGAAGTGTTCACTGCACCAGGCAAACCGACGGTGGTGGT
+GGATTACGCGCATACGCCGGATGCACTGGAAAAAGCCTTACAGGCGGCGCGCCTGCACTGTGCAGGCAAG
+CTGTGGTGCGTCTTTGGCTGCGGTGGCGATCGTGATAAAGGCAAACGTCCACTGATGGGCGCAATTGCTG
+AAGAGTTTGCTGACGTGGCGGTGGTGACGGACGATAACCCGCGTACCGAAGAGCCTCGTGCCATCATCAA
+CGATATTCTGGCGGGAATGTTAGATGCCGGATATGCCAAAGTGATGGAAGGCCGTGCTGAAGCGGTGACT
+TGCGCCGTTATGCAGGCTAAAGAGAATGATGTGGTACTGGTCGCGGGCAAAGGCCATGAGGATTACCAGA
+TTGTTGGCAATCAGCGTCTGGACTACTCCGATCGCGTCACGGTGGCGCGTCTGCTGGGGGTGATTGCATG
+ATTAGCGTAACCCTTAGCCAACTTACCGATATTCTCAACGGTGAACTGCAAGGTGCAGATATTACCCTTG
+ATGCTGTAACCACTGACACGCGAAAACTGACGCCGGGCTGCCTGTTTGTTGCCCTGAAAGGCGAACGTTT
+CGATGCTCATGATTTTGCCGACCAGGCGAAAGCTGGCGGCGCAGGCGCACTACTGGTTAGCCGTCCGCTG
+GATATTGATCTGCCGCAGTTAATCGTCAAGGATACGCGTCTGGCGTTTGGTGAACTGGCTGCATGGGTTC
+GCCAGCAAGTTCCGGCGCGCGTGGTTGCTCTGACAGGTTCCTCCGGCAAAACCTCCGTTAAAGAGATGAC
+GGCGGCGATTTTAAGCCAGTGCGGCAACACACTTTATACGGCAGGCAATCTCAACAACGACATCGGTGTA
+CCGATGACGCTGTTGCGCTTAACGCCGGAATACGATTACGCAGTTATTGAACTTGGCGCGAACCATCAGG
+GCGAAATTGCCTGGACTGTGAGTCTGACTCGCCCGGAAGCGGCGCTGGTCAACAACCTGGCAGCGGCGCA
+TCTGGAAGGTTTTGGCTCGCTTGCGGGTGTCGCGAAAGCGAAAGGTGAAATCTTTAGCGGCCTGCCGGAA
+AACGGTATCGCCATTATGAACGCCGACAACAACGACTGGTTGAACTGGCAGAGCGTAATTGGCTCACGCA
+AAGTGTGGCGTTTCTCACCTAATGCCGCCAACAGCGATTTCACCGCCACCAATATCCATGTAACCTCGCA
+CGGTACGGAATTTACCCTGCAAACCCCTACAGGTAGCGTCGATGTTCTGCTGCCGTTGCCGGGGCGTCAC
+AATATTGCGAATGCGCTGGCAGCCGCTGCGCTCTCCATGTCCGTGGGCGCAACGCTTGATGCTATCAAAG
+CGGGGCTGGCAAATCTGAAAGCTGTTCCAGGCCGTCTGTTCCCCATAAAACTGGCAGAAAACCAGTTGCT
+GCTCGACGACTCCTACAACGCCAATGTCGGTTCAATGACCGCCGCTGTTCAGGTTCTGGCTGAAATGCCG
+GGCTACCGCGTGCTGGTGGTGGGCGATATGGCGGAACTGGGCGCTGAAAGCGAAGCCTGCCATGCACAGG
+TGGGCGAAGCGGCAAAAGCTGCTGGTATTGACTGCGTGTTAAGTGTGGGTAAACAAAGCCATGCTATCAG
+CACTGCCAGCGGCGTTGGCGAACATTTTTCCGATAAAACTGCGCTTATCGCGCGTCTTAAATCACTGATT
+GCTGAGCAACAGGTAATTACGATTTTAGTTAAGGGTTCACGTAGTGCTGCCATGGAAGAGGTAGTACGCG
+CTTTACAGGAGAATGGGACATGTTAGTTTGGCTGGCCGAACATTTGGTCAAATATTATTCCGGCTTTAAC
+GTCTTTTCCTATCTGACGTTTCGCGCCATCGTCAGCCTGCTGACCGCGCTGTTCATCTCATTGTGGATGG
+GCCCGCGTATGATTGCTCATTTGCAAAAACTTTCCTTTGGTCAGGTGGTGCGTAACGACGGTCCTGAATC
+ACACTTCAGCAAGCGCGGTACACCGACCATGGGCGGGATTATGATCCTGACGGCGATTGTGATCTCCGTA
+CTGCTGTGGGCTTACCCCTCCAATCCGTACGTCTGGTGCGTACTGGTGGTGCTGGTAGGTTACGGTGTTA
+TTGGCTTTGTTGATGATTATCGCAAAGTGGTGCGTAAAGACACCAAGGGCCTGATTGCCCGTTGGAAGTA
+TTTCTGGATGTCGGTCATTGCACTGGGTGTTGCCTTCGCGCTGTACCTTGCCGGCAAAGACACGCCCGCA
+ACGCAGCTGGTGGTTCCGTTCTTTAAAGATGTGATGCCGCAACTGGGGCTGTTCTACATTCTGCTGGCTT
+ACTTTGTCATTGTGGGTACTGGCAACGCGGTAAACCTGACCGATGGTCTCGACGGTCTGGCAATTATGCC
+GACCGTATTTGTCGCCGGTGGTTTTGCGCTGGTGGCGTGGGCGACCGGCAACATGAACTTTGCCAGCTAT
+TTACACATACCGTATCTACGACACGCCGGGGAACTGGTCATTGTCTGTACCGCGATAGTCGGGGCAGGGC
+TGGGCTTCCTGTGGTTTAACACCTATCCGGCGCAGGTCTTTATGGGCGATGTAGGTTCGCTGGCGTTAGG
+TGGTGCGTTAGGTATTATCGCCGTACTGCTGCGTCAGGAATTCCTGCTGGTGATTATGGGGGGCGTGTTC
+GTGGTAGAAACGCTTTCCGTCATCCTGCAGGTCGGCTCCTTTAAACTGCGCGGACAACGTATTTTCCGCA
+TGGCACCGATTCATCACCACTATGAACTGAAAGGCTGGCCGGAACCGCGCGTCATTGTGCGTTTCTGGAT
+TATTTCGCTGATGCTGGTCCTGATTGGTCTGGCAACGCTGAAGGTACGTTAATCATGGCTGATTACCAGG
+GTAAAAATGTCGTCATTATCGGCCTGGGCCTCACCGGGCTTTCTTGCGTGGACTTTTTCCTCGCTCGCGG
+TGTGACGCCGCGCGTTATGGATACGCGTATGACACCGCCTGGCCTGGATAAATTACCCGAAGCCGTAGAA
+CGCCACACGGGCGGTCTGAATGATGAATGGCTGATGGCGGCAGATCTGATTGTCGCCAGTCCCGGTATTG
+CACTGGCGCATCCATCCTTAAGCGCTGCCGCTGATGCCGGAATCGAAATCGTTGGCGATATCGAGCTGTT
+CTGTCGTGAAGCACAAGCACCGATTGTGGCGATTACCGGTTCTAACGGCAAAAGCACGGTCACCACGCTA
+GTGGGTGAAATGGCGAAAGCGGCGGGGGTTAACGTTGGTGTGGGTGGCAATATTGGCCTGCCTGCGTTGA
+TGCTGTTGGATGATGAGTGCGAACTGTACGTGCTGGAACTGTCGAGCTTCCAGCTGGAAACCACCTCCAG
+CTTACAGGCGGTAGCAGCGACCATTCTGAACGTGACTGAAGATCATATGGATCGCTATCCGTTTGGTTTA
+CAACAGTATCGTGCAGCAAAACTGCGCATTTACGAAAACGCAAAAGTTTGCGTGGTTAATGCTGATGATG
+CCTTAACAATGCCGATTCGCGGTGCGGATGAACGCTGCGTCAGCTTTGGCGTCAACATGGGCGACTATCA
+CCTGAATCATCAGCAGGGCGAAACCTGGCTGCGGGTGAAAGGCGAGAAAGTGCTGAACGTGAAAGAAATG
+AAACTTTCCGGGCAGCATAACTACACCAATGCGCTGGCGGCGCTGGCGCTGGCAGATGCCGCAGGGTTAC
+CGCGTGCCAGCAGCCTGAAAGCGTTAACCACATTCACTGGTCTGCCGCATCGCTTTGAAGTTGTGCTGGA
+GCATAACGGTGTGCGCTGGGTTAACGATTCAAAAGCGACCAACGTCGGCAGTACGGAAGCGGCGCTGAAT
+GGCCTGCACGTAGACGGCACGCTGCATTTGTTGCTGGGGGGCGATGGTAAATCGGCGGACTTTAGCCCAC
+TGGCGCGTTACCTGAATGGCGATAATGTACGTCTGTATTGTTTCGGTCGGGACGGCGCGCAGCTGGCGGC
+GCTACGCCCGGAAGTGGCAGAACAAACCGAAACCATGGAACAGGCGATGCGCTTGCTGGCTCCGCGTGTT
+CAGCCGGGCGATATGGTTCTGCTCTCCCCGGCCTGTGCCAGCCTTGATCAATTCAAGAACTTTGAACAAC
+GAGGCAATGAGTTTGCCCGTCTGGCGAAGGAGTTAGGTTGATGCGTTTATCTCTCCCTCGCCTGAAAATG
+CCGCGCCTGCCAGGATTCAGTATTCTGGTCTGGATCTCCACGGCGCTAAAGGGCTGGGTGATGGGCTCGC
+GGGAAAAAGATACCGACAGCCTGATCATGTACGATCGCACCTTACTGTGGCTGACCTTCGGCCTCGCGGC
+GATTGGCTTTATCATGGTGACCTCGGCGTCAATGCCCATAGGGCAACGCTTAACCAACGATCCGTTCTTC
+TTCGCGAAGCGTGATGGCGTCTATCTGATCCTGGCATTCATTCTGGCGATCATTACGCTGCGTCTGCCGA
+TGGAGTTCTGGCAACGCTACAGTGCCACGATGCTGCTCGGATCTATCATCCTGCTGATGATCGTTCTGGT
+AGTGGGTAGCTCGGTTAAAGGGGCATCGCGTTGGATCGATCTCGGTTTGCTGCGTATTCAGCCTGCGGAG
+CTGACAAAACTGTCGCTGTTTTGCTATATCGCCAACTATCTGGTGCGTAAAGGCGACGAAGTACGTAATA
+ACCTGCGCGGCTTCCTGAAACCGATGGGCGTAATTCTGGTGTTGGCAGTGTTACTGCTGGCACAGCCAGA
+CCTTGGTACGGTGGTGGTGTTGTTTGTGACTACGCTGGCGATGTTGTTCCTGGCGGGAGCGAAATTGTGG
+CAGTTCATTGCCATTATCGGTATGGGCATTTCAGCGGTTGTGTTGCTGATCCTCGCCGAACCGTACCGTA
+TCCGCCGTGTTACCGCATTCTGGAATCCGTGGGAAGATCCCTTTGGCAGCGGCTATCAGTTAACGCAATC
+GTTGATGGCGTTTGGTCGCGGTGAACTGTGGGGACAAGGTTTAGGTAACTCGGTACAAAAACTGGAGTAT
+CTGCCGGAAGCGCATACTGACTTTATTTTCGCCATTATCGGCGAAGAACTGGGGTATGTCGGTGTGGTGC
+TGGCACTTTTAATGGTATTCTTCGTCGCTTTTCGCGCGATGTCGATTGGCCGCAAAGCATTAGAAATTGA
+CCACCGTTTTTCCGGTTTTCTCGCCTGTTCTATTGGTATCTGGTTTAGTTTCCAGGCGCTGGTTAACGTA
+GGCGCGGCGGCGGGGATGTTACCGACCAAAGGTCTGACATTGCCGCTGATCAGTTACGGTGGTTCGAGCT
+TACTGATTATGTCGACAGCCATCATGATGCTGTTGCGTATTGATTATGAAACGCGTCTGGAGAAAGCGCA
+GGCGTTTGTACGAGGTTCACGATGAGTGGTCAAGGGAAGCGATTAATGGTGATGGCAGGCGGAACCGGTG
+GACATGTATTCCCGGGGCTGGCGGTTGCGCACCATCTAATGGCTCAGGGTTGGCAAGTTCGCTGGCTGGG
+GACTGCCGACCGTATGGAAGCGGACTTAGTGCCAAAACATGGCATCGAAATTGATTTCATTCGTATCTCT
+GGTCTGCGTGGAAAAGGTATAAAAGCACTGATAGCTGCGCCGCTGCGTATCTTCAACGCCTGGCGTCAGG
+CGCGGGCGATTATGAAAGCGTACAAACCTGACGTGGTGCTCGGTATGGGCGGCTATGTATCAGGTCCAGG
+TGGTCTGGCCGCGTGGTCGTTAGGCATTCCGGTTGTACTTCATGAACAAAACGGTATTGCGGGCTTAACC
+AATAAATGGCTGGCGAAGATTGCTACCAAAGTGATGCAGGCGTTTCCAGGTGCTTTTCCTAATGCGGAAG
+TGGTGGGTAACCCGGTGCGTACCGATGTGCTGGCGCTGCCGTTGCCGCAGCAACGTTTGGCTGGACGTGA
+AGGTCCGGTTCGTGTGTTGGTAGTGGGTGGTTCCCAGGGCGCACGCATTCTTAACCAGACAATGCCGCAG
+GTTGCTGCGAAACTGGGTGATTCAGTCACTATCTGGCATCAGAGCGGCAAAGGTTCGCAACAATCCGTTG
+AACAGGCGTATGCCGAAGCGGGGCAACCGCAGCATAAAGTGACGGAATTTATTGATGATATGGCGGCGGC
+GTATGCGTGGGCGGATGTCGTCGTTTGCCGCTCCGGTGCGTTAACGGTGAGTGAAATCGCCGCGGCAGGA
+CTACCGGCGTTGTTTGTGCCGTTTCAACATAAAGACCGTCAGCAATACTGGAATGCGCTACCGCTGGAAA
+AAGCGGGCGCAGCCAAAATTATCGAGCAGTCACAGCTTAGCGTGGATGCTGTCGCCAACACCCTGGCCGG
+GTGGTCGCGAGAAACCTTATTAACCATGGCAGAACGCGCCCGCGCTGCATCCATTCCGGATGCCACCGAG
+CGAGTGGCAAATGAAGTGAGCCGGGCTGCCCGGGCGTAATTGTAGCGATGCCTTTTGCATCGTATGAATT
+TAAGAAGTTAATGGCGTAAAGAATGAATACACAACAATTGGCAAAACTGCGTTCCATCGTGCCCGAAATG
+CGTCGCGTTCGGCACATACATTTTGTCGGCATCGGTGGTGCCGGTATGGGCGGTATTGCCGAAGTTCTGG
+CCAATGAAGGTTATCAGATCAGTGGTTCCGATTTAGCGCCAAATCCGGTCACGCAGCAGTTAATGAATCT
+GGGAGCGACGATTTATTTCAACCATCGCCCGGAAAACGTACGTGATGCCAGCGTGGTCGTTGTTTCCAGC
+GCGATTTCTGCCGATAACCCGGAAATTGTTGCAGCTCATGAAGCGCGTATTCCGGTGATCCGTCGTGCTG
+AAATGCTGGCTGAGTTAATGCGTTTTCGTCATGGCATCGCCATTGCCGGAACACACGGCAAAACGACAAC
+CACCGCGATGGTTTCCAGCATCTACGCAGAAGCGGGGCTCGACCCAACCTTCGTTAACGGCGGGCTGGTA
+AAAGCGGCGGGGGTTCATGCGCGTTTGGGGCATGGTCGGTACCTGATTGCCGAAGCAGATGAGAGTGATG
+CATCGTTCCTGCATCTGCAACCGATGGTGGCGATTGTCACCAATATCGAAGCCGACCACATGGATACCTA
+CCAGGGCGACTTTGAGAATTTAAAACAGACTTTTATTAATTTTCTGCACAACCTGCCGTTTTACGGTCGT
+GCGGTGATGTGTGTTGATGATCCGGTGATCCGCGAATTGTTACCGCGTGTGGGACGTCAGACCACGACTT
+ACGGCTTCAGCGAAGATGCCGACGTGCGTGTAGAAGATTATCAGCAGATTGGCCCGCAGGGGCACTTTAC
+GCTGCTGCGCCAGGACAAAGAGCCGATGCACGTCACCCTGAATGCGCCAGGTCGTCATAACGCGCTGAAC
+GCCGCAGCTGCGGTTGCGGTTGCTACGGAAGAGGGAATTGACGACGAGGCTATTTTGCGTGCGCTGGAAA
+GCTTCCAGGGGACGGGGCGCCGTTTCGATTTCCTCGGTGAATTCCCGCTAGAGCCAGTGAATGGAAAAAG
+CGGTACGGCAATGCTGGTCGATGACTACGGCCACCACCCGACGGAAGTGGACGCCACTATTAAAGCGGCG
+CGCGCAGGCTGGCCGGATAAAAACCTGGTAATGCTGTTTCAGCCGCACCGTTTTACCCGTACGCGCGACC
+TGTATGATGATTTCGCCAATGTGCTGACGCAGGTTGATACCCTGTTGATGCTGGAAGTGTATCCGGCTGG
+TGAAGCGCCAATTCCGGGAGCGGACAGCCGTTCGCTGTGTCGCACAATTCGTGGACGTGGGAAAATTGAT
+CCCATTCTGGTGCCGGACCCGGCGCAGGTAGCCGAGATGCTGGCACCGGTATTAACCGGTAACGACCTGA
+TTCTCGTTCAGGGGGCTGGTAATATCGGAAAAATTGCTCGTTCTTTAGCTGAAATCAAACTGAAGCCGCA
+AACTCCGGAGGAAGAACAACATGACTGATAAAATCGCGGTCCTGTTGGGCGGGACCTCCGCTGAGCGGGA
+AGTTTCTCTGAATTCTGGCGCAGCGGTGTTAGCCGGGCTGCGTGAAGGCGGTATTGACGCGTATCCTGTC
+GACCCGAAAGAAGTCGACGTGACGCAACTGAAGTCGATGGGTTTTCAGAAAGTGTTTATCGCGCTACACG
+GTCGCGGCGGTGAAGATGGTACGCTGCAGGGCATGCTCGAGCTGATGGGCTTGCCTTATACCGGCAGCGG
+AGTGATGGCATCTGCGCTTTCAATGGATAAACTACGCAGCAAATTGCTTTGGCAGGGCGCTGGTTTACCG
+GTAGCGCCGTGGGTAGCATTAACCCGCGCAGAGTTTGAAAAAGGCCTGAGCGATAAGCAGTTAGCAGAAA
+TTTCTGCCTTAGGTTTGCCGGTTATCGTTAAGCCGAGCCGCGAAGGTTCCAGTGTGGGAATGTCAAAAGT
+AGTAGCAGAAAATGCTCTACAAGATGCATTAAGATTGGCATTTCAGCACGATGAAGAAGTATTGATTGAA
+AAATGGCTAAGTGGGCCGGAGTTCACGGTTGCGATACTCGGTGAAGAAATTTTACCGTCAATACGTATTC
+AACCGGCCGGAACCTTCTATGATTATGAGGCGAAGTATCTCTCTGATGAGACACAGTATTTCTGCCCCGC
+AGGTCTGGAAGCGTTACAAGAGGCCAATTTGCAGGCATTAGTGCTAAAAGCATGGACGACGTTAGGTTGC
+AAAGGATGGGGACGTATTGACGTTATGCTGGACAGCGATGGACAGTTTTATCTGCTGGAAGCCAATACCT
+CACCGGGTATGACCAGCCACAGTCTGGTACCGATGGCGGCACGTCAGGCAGGTATGAGCTTCTCGCAGTT
+GGTAGTACGAATTCTGGAACTGGCGGACTAATATGTCGCAGGCTGCTCTGAACACGCGAAACAGCGAAGA
+AGAGGTTTCTTCTCGCCGCAATAATGGAACGCGTCTGGCGGGGATCCTTTTCCTGCTGACCGTTTTAACG
+ACAGTGTTGGTGAGCGGCTGGGTCGTGTTGGGCTGGATGGAAGATGCGCAACGCCTGCCGCTCTCAAAGC
+TGGTGTTGACCGGTGAACGCCATTACACGCGTAATGACGATATCCGGCAGTCGATCCTGGCATTGGGTGA
+GCCAGGTACCTTTATGACCCAGGATGTCAACATCATCCAGACGCAAATAGAACAACGCCTGCCGTGGATT
+AAGCAGGTGAGCGTCAGAAAGCAGTGGCCTGATGAATTGAAGATTCATCTGGTTGAATATGTGCCGATTG
+CGCGGTGGAATGATCAACATATGGTAGACGCGGAAGGAAACACTTTCAGCGTGCCGCCAGATCGCACCAG
+CAAGCAGGTGCTTCCAATGCTGTATGGCCCGGAAGGCAGCGCCAATGAAGTGTTGCAGGGCTATCGCGAA
+ATGGGGCAGATGCTGGCAAAGGACAGATTTACTCTGAAGGAAGCGGCGATGACCGCGCGGCGTTCCTGGC
+AGTTGACGCTGAATAACGATATTAAGCTCAATCTTGGCCGGGGCGATACGATGAAACGTTTGGCTCGCTT
+TGTAGAACTTTATCCGGTTTTACAGCAGCAGGCGCAAACCGATGGCAAACGGATTAGCTACGTTGATTTG
+CGTTATGACTCTGGAGCGGCAGTAGGCTGGGCGCCCTTGCCGCCAGAGGAATCTACTCAGCAACAAAATC
+AGGCACAGGCAGAACAACAATGATCAAGGCGACGGACAGAAAACTGGTAGTAGGACTGGAGATTGGTACC
+GCGAAGGTTGCCGCTTTAGTAGGGGAAGTTCTGCCCGACGGTATGGTCAATATCATTGGCGTGGGCAGCT
+GCCCGTCGCGTGGTATGGATAAAGGCGGGGTGAACGACCTCGAATCCGTGGTCAAGTGCGTACAACGCGC
+CATTGACCAGGCAGAATTGATGGCAGATTGTCAGATCTCTTCGGTATATCTGGCGCTTTCTGGTAAGCAC
+ATCAGCTGCCAGAATGAAATTGGTATGGTGCCTATTTCTGAAGAAGAAGTGACGCAAGAAGATGTGGAAA
+ACGTCGTCCATACCGCGAAATCGGTGCGTGTGCGCGATGAGCATCGTGTGCTGCATGTGATCCCGCAAGA
+GTATGCGATTGACTATCAGGAAGGGATCAAGAATCCGGTAGGACTTTCGGGCGTGCGGATGCAGGCAAAA
+GTGCACCTGATCACATGTCACAACGATATGGCGAAAAACATCGTCAAAGCGGTTGAACGTTGTGGGCTGA
+AAGTTGACCAACTGATATTTGCCGGACTGGCATCAAGTTATTCGGTATTGACGGAAGATGAACGTGAACT
+GGGTGTCTGCGTTGTCGATATCGGTGGTGGTACAATGGATATCGCCGTTTATACCGGTGGGGCATTGCGC
+CACACGAAGGTAATTCCTTATGCTGGCAATGTCGTGACCAGTGATATCGCTTACGCCTTTGGCACACCGC
+CAAGTGACGCCGAAGCGATTAAAGTTCGCCACGGTTGTGCGCTGGGCTCCATCGTTGGAAAAGATGAGAG
+CGTGGAAGTGCCGAGCGTAGGCGGTCGTCCACCGCGGAGTCTGCAACGTCAGACCCTGGCAGAGGTGATC
+GAGCCGCGCTATACCGAGCTGCTCAATCTGGTCAACGAAGAGATATTGCAGTTGCAGGAAAAGCTTCGCC
+AACAAGGGGTTAAACATCACCTGGCGGCAGGCATTGTTTTAACTGGTGGCGCAGCGCAGATCGAAGGTCT
+TGCAGCCTGTGCTCAGCGCGTGTTTCATACGCAAGTGCGTATCGGCGCGCCGCTGAACATTACCGGTTTA
+ACGGATTATGCTCAGGAGCCGTATTATTCGACGGCGGTGGGATTGCTTCACTATGGGAAAGAGTCACATC
+TTAACGGTGAAGCTGAAGTAGAAAAACGTGTTACAGCATCAGTTGGCTCGTGGATCAAGCGACTCAATAG
+TTGGCTGCGAAAAGAGTTTTAATTTTTATGAGGCCGACGATGATTACGGCCTCAGGCGACAGGCACAAAT
+CGGAGAGAAACTATGTTTGAACCAATGGAACTTACCAATGACGCGGTGATTAAAGTCATCGGCGTCGGCG
+GCGGCGGCGGTAATGCTGTTGAACACATGGTGCGCGAGCGCATTGAAGGTGTTGAATTCTTCGCGGTAAA
+TACCGATGCACAAGCGCTGCGTAAAACAGCGGTTGGACAGACGATTCAAATCGGTAGCGGTATCACCAAA
+GGACTGGGAGCTGGCGCTAATCCAGAAGTTGGCCGCAATGCGGCTGATGAGGATCGCGATGCACTGCGTG
+CGGCGCTGGAAGGTGCAGACATGGTCTTTATTGCTGCGGGTATGGGTGGTGGTACCGGTACAGGTGCAGC
+ACCAGTCGTCGCTGAAGTGGCAAAAGATTTGGGTATCCTGACCGTTGCTGTCGTCACTAAGCCCTTCAAC
+TTTGAAGGCAAGAAGCGTATGGCATTCGCGGAGCAGGGGATCACTGAACTGTCCAAGCATGTGGACTCTT
+TGATCACTATCCCGAACGACAAACTGCTGAAAGTTCTGGGCCGCGGTATCTCCCTGCTGGATGCGTTTGG
+CGCAGCGAACGATGTACTGAAAGGTGCTGTACAAGGTATCGCCGAACTGATTACTCGTCCGGGTTTGATG
+AACGTGGACTTTGCAGACGTTCGCACCGTAATGTCTGAAATGGGCTACGCAATGATGGGTTCTGGCGTGG
+CGAGCGGTGAAGACCGTGCGGAAGAAGCTGCTGAAATGGCTATCTCTTCTCCGCTGCTGGAAGATATCGA
+CCTGTCTGGCGCGCGCGGCGTGCTGGTTAACATCACAGCGGGCTTCGACCTGCGTCTGGATGAGTTCGAA
+ACGGTAGGTAACACCATCCGTGCATTTGCTTCCGACAACGCGACTGTGGTTATCGGTACTTCTCTTGACC
+CGGATATGAATGACGAGCTGCGCGTAACTGTTGTTGCGACAGGTATCGGCATGGACAAACGTCCTGAAAT
+CACTCTGGTGACCAATAAGCAGGTTCAGCAGCCAGTGATGGATCGCTACCAGCAGCACGGGATGGCTCCG
+CTGACCCAGGAGCAGAAGCCGGTTGCTAAAGTCGTGAATGACAATGCGCCGCAAACTGCGAAAGAGCCAG
+ATTATCTGGATATCCCAGCATTCCTGCGTAAGCAAGCTGATTAAGAATTGACTGGAATTTGGGTTTCGAG
+GCTCTTTGTGCTAAACTGGCCCGCCGAATGTATAGTACACTTCGGTTGGATAGGTAATTTGGCGAGATAA
+TACGATGATCAAACAAAGGACACTTAAACGTATCGTTCAGGCGACGGGTGTCGGTTTACATACCGGCAAG
+AAAGTCACCCTGACGTTACGCCCTGCGCCGGCCAACACCGGGGTCATCTATCGTCGCACCGACTTGAATC
+CACCGGTAGATTTCCCGGCCGATGCCAAATCTGTGCGTGATACCATGCTCTGTACGTGTCTGGTCAACGA
+GCATGATGTACGGATTTCAACCGTAGAGCACCTCAATGCTGCTCTCGCGGGCTTGGGCATCGATAACATT
+GTTATCGAAGTTAACGCGCCGGAAATCCCGATCATGGACGGCAGCGCCGCTCCGTTTGTATACCTGCTGC
+TTGACGCCGGTATCGACGAGCTGAACTGCGCCAAGAAATTTGTTCGCATCAAAGAGACTGTTCGTGTCGA
+AGATGGCGATAAGTGGGCTGAATTTAAGCCGTACAATGGTTTTTCTCTGGATTTCACCATCGATTTTAAC
+CATCCGGCTATTGATTCCAGCAACCAGCGCTATGCGATGAACTTCTCCGCTGATGCGTTTATGCGCCAGA
+TCAGCCGTGCGCGTACGTTCGGTTTCATGCGTGATATCGAATATCTGCAGTCCCGTGGTTTGTGCCTGGG
+CGGCAGCTTCGATTGTGCCATCGTTGTTGACGATTATCGCGTACTGAACGAAGACGGCCTGCGTTTTGAA
+GACGAATTTGTGCGTCACAAAATGCTTGATGCGATCGGTGACTTGTTCATGTGTGGTCACAATATTATTG
+GTGCATTTACCGCTTATAAATCCGGTCATGCACTGAATAACAAACTGCTGCAGGCTGTCCTGGCGAAACA
+GGAAGCCTGGGAATATGTGACCTTCCAGGACGACGCAGAACTGCCGTTGGCCTTCAAAGCGCCTTCAGCC
+GTACTGGCATAACGACATTTATACTGTCGTATAAAATTCGACTGGCAAATCTGGCACTCTCTCCGGCCAG
+GTGAACCAGTCGTTTTTTTTTGAATTTTATAAGAGCTATAAAAAACGGTGCGAACGCTGTTTTCTTAAGC
+ACTTTTACGCACAACTTATCTTCATTCGTGCTGTGGACTTCAGGCTTTAATGATAAGATTTGTGCGCTAA
+ATACGTTTGAATACGATCGGGATGGCAATAACGTGAGTGGAATACTGACGCGCTGGCGACAGTTTGGTAA
+ACGCTACTTCTGGCCGCATCTCTTATTAGGGATGGTCGCGGCGAGTTTAGGTTTGCCTGCACTCAGCAAT
+GCCGCCGAACCAAACGCGCCCGCAAAAGCGACAACCCGCAACCACGAGCCTTCAGCCAAAGTTAACTTTG
+GTCAATTGGCCTTGCTGGAAGCGAACACGCGCCGCCCGAATTCGAACTATTCCGTTGATTACTGGCATCA
+ACATGCCATTCGCACGGTAATCCGCCATCTTTCCTTCGCGATGGCACCGCAAACGCTGCCCGTTGCTGAA
+GAATCTTTGCCTCTTCAGGCGCAACATCTTGCATTACTGGATACGCTTAGCGCGCTTCTGACCCAGGAAG
+GCACGCCGTCTGAAAAGGGTTATCGCATTGATTATGCGCATTTTACCCCACAAGCAAAATTCAGCACGCC
+CGTCTGGATAAGCCAGGCGCAAGGCATCCGTGCTGGCCCTCAACGCCTCAGCTAACAACAATAAACCTTT
+ACCTCATTTTATTAACTCCGCAACGCGGGGCGTTTGAGATTTTATTATGCTAATCAAATTATTAACTAAA
+GTTTTCGGTAGTCGTAACGATCGCACCCTGCGCCGGATGCGCAAAGTGGTCAACATCATCAATGCCATGG
+AACCGGAGATGGAAAAACTCTCCGACGAAGAACTGAAAGGGAAAACCGCAGAGTTTCGTGTGCGTCTGGA
+AAAAGGCGAAGTGCTGGAAAATCTGATCCCGGAAGCTTTCGCCGTGGTGCGTGAGGCAAGTAAGCGCGTC
+TTTGGCATGCGTCACTTCGACGTTCAGTTACTCGGCGGTATGGTTCTTAACGAACGCTGCATCGCCGAAA
+TGCGTACCGGTGAAGGTAAAACCCTGACCGCAACGCTGCCTGCTTACCTGAACGCACTAACCGGTAAAGG
+CGTACACGTAGTTACCGTCAACGACTACCTGGCGCAACGTGACGCCGAAAACAACCGTCCGCTGTTTGAA
+TTCCTTGGCCTGACTGTCGGTATCAACCTACCGGGCATGCCAGCACCGGCAAAGCGTGAAGCCTACGCTG
+CTGACATCACTTACGGTACGAACAACGAATACGGCTTTGACTACCTGCGCGACAACATGGCATTCAGCCC
+TGAAGAACGTGTACAACGTAAACTGCACTATGCGCTGGTGGACGAAGTGGACTCCATCCTCATCGATGAA
+GCGCGTACACCGCTGATCATTTCCGGCCCAGCAGAAGACAGCTCGGAAATGTATAAACGCGTGAATAAAA
+TTATTCCGCACCTGATCCGTCAGGAAAAAGAAGACTCCGAAACCTTCCAGGGCGAAGGCCACTTCTCGGT
+GGATGAAAAATCTCGCCAGGTGAACCTGACCGAACGTGGTCTGGTCCTGATTGAAGAACTGCTGGTTAAA
+GAAGGCATCATGGATGAAGGAGAGTCTCTGTACTCTCCGGCCAACATCATGCTGATGCACCACGTAACGG
+CGGCGCTGCGCGCTCATGCGCTGTTTACCCGTGACGTCGACTACATCGTTAAAGATGGTGAAGTTATCAT
+CGTTGACGAACACACCGGTCGTACCATGCAGGGCCGTCGCTGGTCCGATGGTCTGCACCAGGCTGTGGAA
+GCGAAAGAAGGTGTGCAGATCCAGAACGAAAACCAAACGCTGGCTTCGATCACCTTCCAGAACTACTTCC
+GTCTGTATGAAAAACTGGCGGGGATGACTGGTACTGCTGATACCGAAGCTTTCGAATTCAGCTCCATCTA
+TAAGCTGGATACTGTCGTTGTTCCGACCAACCGTCCAATGATTCGTAAAGATCTGCCGGACCTGGTCTAC
+ATGACTGAAGCGGAAAAAATTCAGGCGATCATTGAAGATATCAAAGAACGTACTGCGAAAGGCCAGCCGG
+TGCTGGTGGGTACAATCTCCATCGAAAAATCGGAGCTGGTGTCAAATGAACTGACCAAAGCCGGTATTAA
+GCACAACGTCCTGAACGCCAAATTCCATGCCAACGAAGCGGCGATTGTTGCTCAGGCAGGTTATCCGGCT
+GCGGTGACTATCGCGACCAACATGGCGGGTCGTGGTACCGATATTGTGCTCGGTGGTAGCTGGCAGGCAG
+AAGTTGCCGCGCTGGAAAATCCGACTGCAGAGCAAATTGAAAAAATTAAAGCCGACTGGCAGGTACGTCA
+CGATGCGGTACTGGCAGCAGGTGGCCTGCATATCATCGGTACCGAGCGTCACGAATCCCGTCGTATCGAT
+AACCAGTTGCGCGGTCGTTCTGGTCGTCAGGGGGATGCTGGTTCTTCCCGTTTCTACCTGTCGATGGAAG
+ATGCGTTGATGCGTATTTTTGCTTCCGACCGAGTATCCGGCATGATGCGTAAACTGGGTATGAAGCCAGG
+CGAAGCCATTGAACACCCGTGGGTGACTAAAGCGATTGCCAACGCCCAGCGTAAAGTTGAAAGCCGTAAC
+TTCGACATTCGTAAACAACTGCTGGAATATGATGACGTGGCTAACGATCAGCGTCGCGCCATTTACTCCC
+AGCGTAACGAACTGCTGGATGTCAGCGATGTGAGCGAAACCATCAACAGCATTCGTGAAGATGTGTTCAA
+AGCGACCATTGATGCCTACATTCCGCCACAGTCGCTGGAAGAAATGTGGGATATTCCGGGGCTGCAGGAA
+CGTCTGAAGAACGATTTCGACCTCGATTTACCAATTGCCGAGTGGCTGGATAAAGAACCAGAACTGCATG
+AAGAGACGCTGCGTGAGCGCATTCTGGCGCAGTCCATCGAAGTGTATCAGCGTAAAGAAGAAGTGGTTGG
+TGCTGAGATGATGCGTCACTTCGAGAAAGGCGTCATGCTGCAAACGCTTGACTCCCTGTGGAAAGAGCAC
+CTGGCAGCGATGGACTATCTGCGTCAGGGTATCCACCTGCGTGGCTATGCACAGAAAGATCCGAAGCAGG
+AATACAAACGTGAATCGTTCTCCATGTTTGCAGCGATGCTGGAGTCGTTAAAATATGAAGTTATCAGCAC
+GCTGAGCAAAGTTCAGGTACGTATGCCTGAAGAGGTTGAGGAGCTGGAACAACAGCGTCGTATGGAAGCC
+GAGCGTTTAGCGCAAATGCAGCAGCTTAGCCATCAGGATGACGACTCTGCAGCCGCAGCTGCACTGGCGG
+CGCAAACCGGTGAACGAAAAGTAGGACGTAACGATCCTTGCCCGTGTGGTTCTGGTAAAAAATACAAGCA
+GTGCCATGGCCGCCTGCAATAAAAGCTAACTGTTGAAGTAAAAGGCGCAGGATTCTGCGCCTTTTTTATA
+GGTTTAAGACAATGAAAAAGCTGCAAATTGCGGTAGGTATTATTCGCAACGAGAACAATGAAATCTTTAT
+AACGCGTCGCGCAGCAGATGCGCACATGGCGAATAAACTGGAGTTTCCCGGCGGTAAAGTTGAAATGGGC
+GAAACGCCGGAACAGGCGGTGGTGCGTGAACTTCAGGAAGAAGTCGGGATTACCCCACAACATTTTTCGC
+TATTTGAAAAACTGGAATATGAATTCCCGGACAGGCATATAACTCTGTGGTTCTGGCTGGTCGAAAGCTG
+GGAAGGGGAGCCGTGGGGTAAAGAAGGGCAACCCGGTGAGTGGATGTCGCTGGTCGGTCTTAATGCCGAT
+GATTTTCCGCCAGCCAATGAACCGGTAATTGCGAAACTTAAGCGTGTGTATGCCGGATAAGGCGTCACGC
+TGCATCCGACATTTGCATATGATGCCTGATGCGACGCTGGCGCGTTTTATCAGGCCAGCATCGCATCAGA
+TAGAATGTCACTGCTTTGGCTCTTCGCTCCAGTCATCGCTTTCGGAAAGATCGCCACTGCTGGGGATTCG
+TTTTTCTTCAGCAGCCCATTCTCCGAGGTCAATCAGCTGACAACGTTTGGAGCAAAATGGCCGAAACGGG
+CTGATTTCACCCCACACCACCGTTTTCCCGCAGGTTGGGCAATTCACCGTAATAGTTTCTGACATTTTTA
+CTCCTTAGCAACAGGCCAGTTCGAAATCCAGACGTTCTGGTACCTGTCCGTTTTCACTGTCCAGCGGCAT
+AAAACGAATGGCAAAACGGCTCTTATGACCGGAAATTTGCGGATAAAGCTGTGAATCGAGCGACAGATTC
+AGGCGCAGCAAGTCGGCATCGCCACCGTTATCCTGATAAAAACCATTCAGGCTGGTTTGTTTACGGAAGG
+GGGCCGACTGGCGAATTAAATCCAGCACCATGGTAAGTGCCTGGGTAAGTGGGTTCAGGCTGGCAATCCA
+GGTTTCTACCTGGCTGTCGCGCTGCGCCTGAGGTAGATGCAGCCAAATGTGCAATGTAGGTAAATCAAAG
+CTGCAACAGCCGCCCGGGATGCTCAGTCGCTGACGCACCAGAGCAATCAAACGATCTTCACGTAGAAATT
+GCCCGATACGCGGCGCGGAGATTAATACGCTCCCCGCCGCTTTTAACTGCTGAATTAATGCTTCAATACG
+GCTCTGGTCCACGCCGGGCACGCCAATCCAGGTCTGGAGTTTACGTTGCTGCCGGTCAAGTTCTTTCAAC
+AGCTCAGTGCGGACTTCGCCGCGCTCGAAAACATCCAGTAATTCACTGACATTACGGAAGAAATGCAGCG
+CGCCAGCGTGGTCAACGATGGGTAGATTAACGGTGAGTTGCTGAATCAAAAACTCAATGCGCAGCCATGT
+ACGCATTTTTTCATTTAGTGGATGTTCAAAAAGGACCTGGGTCTGCATTACGGTTTTTCCTGTGAGACAA
+ACTGCGACGCAAGCTGCAAATAGTATGCGTGCAGGCGGGCAACATCCGATGCGATAGCATCCGGTGCGCC
+GTTATTATCAATGACGTCATCTGCCACGGCAAGGCGAGCTTCGCGCGTTGCCTGAGCAGCAAGGATTTGT
+TCGACATGCTCGCGAGTTACATCGTCGCGCTGCATGGTGCGCTTAAGTTGCGTTTCTGGGCTGACATCCA
+CCACCAGCACTCGATTCGCTTTTTTATACAGTGAGTTTTCTACCAGCAATGGCACAACCCATAGTACATA
+GGGGGAAGTAGCTTGCTGGATCTGGTGTTGCGTCTCTTGCTGAATCAGCGGATGCAGCAGGGCGTTAAGC
+CAGTTTTTCTCTTCCGGGTTGGCGAAGATCCGCTCGCGCAAGGCCCGGCGCTGCAATGTTCCATCAGCAG
+CAATCATGTTAGCGCCAAAGTGATCAGCAATGGCATGTAGCGCAGGTGCACCTGGTTCAACCACCTGACG
+CGCAATAATATCGGCATCAATGACGTTAATTCCGAGATCAGCAAACGCATTGGCAACGGTACTCTTGCCA
+CTGCCAATGCCTCCCGTTAAGGCAACTATATACCTCATAATTTATATTCCCGGGAATTCATCATGATTAT
+CAAAACGTTAAAAATGAGCGCACGAAAGCGAAATTGATGAAACGTTCGCTCACTATTTACCAGGTAAATT
+TATGGGATTGTAGCGTAAAAAAAGACAATTTCGCAGTCTTGCGCCGCATTGATTAGTGCGTATGATAACG
+TCACTGGAGTTGCGCTCTTACCCTTATAGCCATTAACCCCAGGAATCCGCACATGCGTATTGAAGAAGAT
+CTGAAGTTAGGTTTTAAAGACGTTCTCATCCGCCCTAAACGCTCCACTCTTAAAAGCCGTTCCGATGTTG
+AACTGGAACGTCAATTCACCTTCAAACATTCAGGTCAGAGCTGGTCCGGCGTGCCGATTATCGCCGCCAA
+TATGGACACCGTAGGCACATTTTCTATGGCCTCTGCGCTGGCTTCTTTTGATATTCTGACTGCTGTGCAT
+AAACACTATTCTGTCGAAGAGTGGCAAGCGTTTATCAACAATTCTTCCGCTGATGTGCTGAAACATGTGA
+TGGTTTCTACCGGCACGTCTGATGCGGATTTCGAAAAAACTAAACAGATTCTCGACCTGAACCCGGCATT
+AAATTTCGTTTGTATTGACGTGGCGAATGGTTATTCCGAACACTTCGTGCAGTTCGTTGCGAAAGCGCGT
+GAAGCGTGGCCGACCAAAACCATTTGTGCAGGCAACGTAGTGACTGGTGAAATGTGTGAGGAGCTTATCC
+TCTCCGGTGCCGATATCGTTAAAGTTGGCATTGGCCCAGGTTCTGTTTGTACAACTCGCGTCAAAACAGG
+CGTCGGTTATCCGCAACTTTCTGCGGTGATCGAATGCGCCGATGCTGCGCACGGTCTGGGCGGAATGATC
+GTCAGCGATGGCGGCTGCACCACGCCGGGCGATGTCGCGAAAGCCTTTGGCGGCGGTGCCGATTTCGTAA
+TGCTTGGCGGCATGCTGGCGGGCCACGAAGAGAGCGGCGGTCGCATCGTTGAGGAGAACGGCGAGAAATT
+TATGCTGTTCTACGGCATGAGCTCAGAGTCTGCGATGAAACGTCACGTTGGCGGCGTTGCGGAATATCGC
+GCAGCAGAAGGTAAAACCGTTAAGCTGCCGCTGCGAGGCCCGGTTGAAAATACCGCGCGTGATATTTTGG
+GCGGCCTGCGTTCAGCTTGTACATACGTTGGGGCTTCACGCCTGAAAGAACTGACCAAGCGCACCACGTT
+TATCCGTGTGCAGGAACAAGAAAACCGCATCTTCAACAACCTGTAATATACCAACGCTGGCGTGGAGCAA
+CACGCCAGCGTTATCCCATTCCACTCATCGCATCGCCTAAATGGAAAATTGGCAGATACATTGCCACCAC
+CAGCGTACCGATAATTCCTCCCGTTATGATCAGCAACGCCGGTTCCAGTAAGGCTGCGAGGTTATCCGCC
+AGCGCCATTGTGTTATCCCGATGATGATGGGCGAGGTTGTCTAACATGAGATCCAGCGAGCCGGATGCCT
+CTCCTGTTCTCACTAATTGCAAACAGAGCGGGCTAAACTCACCGGCATTTTTTAGCGCCAGCCAGATGGG
+GTGACCGTTACTGATATCGTGCTGGATTTGTGTCAGAAGTTGCACCCAGTACGGGCAGCGCATTGTTTCT
+CTGACGCTCTCAACGCCCTGTAAAAAAGAAATGCCTGCACTTTGTGTCAGCGTCAGAATCGTAAAGATCT
+GCGTGAGTTTTTGTCCCCGCATCAGTGAACCCATAATCGGGATGCGTAACAGCAATTTCTGCCGTGCGAT
+AAGCCTGGTTGGGTGGCGCATCAGCAGCTTATTGGCTATCGCCAGCAGAAAGCCGAATAGCACCAGCAAC
+CAACCCCATTCGCCACTAAAACTTGCCAGCGTCATGATCCCCTGCGTTAGCGCCGGTAGCGGAGTGTTAA
+AGGTCTTATAGATAGCGGCAAACTCCGGCAGTACAAAATGCAGCATTGCCACAACCACCATGATTGCCAT
+CGCTAAAATGATAATGGGATAACGTAACGCTGATTTCACTTTGTCGGTCAACTGACGCTGGGCTTTTTGC
+TGACGCGCCAGTTCAAAGCAGCATTCATCCAGCTTACCGGTCAGTTCACCCGTGCGGATCATCGCCTGAT
+AGAGCGGCGGAAATACCTCTGACCAGGGTAATAAGGCATTGGAAAAGGCAACGCCCTGTTCAAGATCGTG
+CGCCAGTGATTGCAGCAACGCTTGCCACTGCTTACTGGGATGCTGTTCCGCCAGCAGAGCCAGCCCTTCA
+GAAAGCGTTAACCCGGCTTTGAGTAGCGTCGCCAGTTGATGAATGACTTCCGCGCTTTTATCTCCTCGCC
+ACTGCGCAGAATTGATGGCGATTCGCTTCAGGCTTAGTGGGGTAACCATCTGTTGCTGTAGTGCCATGAG
+CAGCAAAGCACGGCTCTCTGCCCATAGCATCCCATCTTGCGCATTGCCGTCGCCGGTTATGCCACGCCAG
+CGCCAGAGTTGCTTACTCGCCATGCGGCATCCCCAATACGCGGATTAACTCTTCAAAGGTGGTTAAGCCT
+TGCTCCACGGCCAGGCAGCCGTTTTCAAAAAGCGTTCGCATACCCGCCTGTCGGGCGTGCGTTTCCAGCG
+ATTCAACGTCGGTATTAGCGGAAATAAGCTGACGTATGACCGGTGTTATGGGCAGAACTTCAAATAAGGC
+CGTGCGACCATAAAAACCGTGGTAGCAATGTACACAACCGGGTGCCTGCCAGTGGGGCAGCGGCGATGGC
+CATACATTGTCTGGAATATGGATGGGCTCCCCTTGCTGCCGGCGACAATGCGGGCAAAGTTTGCGTACCA
+GACGCTGGGCTATTACCAGCGTAAGCGCCGATGATAGCATCCAGCGGGCGACTCCCATTTGCTGTAAACG
+TACCAGCGTTTCGCAGGTGGAGTTAGTGTGTAGGGTAGACAACACCAGGTGACCGGTTTGCGCGGCTTTA
+ATGGCAATTTCTGCCGTTTCGCCATCGCGGATCTCTCCGATCATGATGACGTCAGGATCCTGGCGCAATA
+ACGCACGCAAAACGCCCTGAAAGGTGAGTCCGGCACGCGAATGGATTTGCGTCTGGTTTAATCCGGCTAT
+GGGGATCTCAACCGGATCTTCGACGCTACAAATATTAATGTCAGCGGTATTCAGCGTTTGCAGGGCACTA
+TAAAGCGTGACCGTTTTGCCGCTGCCTGTAGGGCCAGTTACCAGCACCAGTCCCTGTGGTTGTTGCAAGG
+CATGAGCAAAGTCCACCAGTTGTGACGGCTGCATTCCAAGCGTGTTAACATCCAGTGCCTGGTTCACCTG
+CTGTAACAACCTTAATACCACCTTTTCACCACCCCGACATGCTAAGGTCGCAATACGAAATGAGACGGCG
+TTTCCTGCCAGTTCGACAGTGAATTGCCCGTCCTGCGGCAGGCGATGTTCCGCAATATCCAGGTTTCCCA
+GCACTTTTAATCTGGCGGTTAATGCGACTCCGGCATCCGGTGAAACGTCCGGTAAAGGATGCAATACGCC
+GTCGATACGCAAGCGGATGCGGTAGGCATTGTCCGCTGGTTCGATATGAATATCAGACGCGCGTTGTTCT
+AGCGCAGATTGTAACGTTCGAGTCAGCAACTCTGCTTTGGGCTGATGCTTCTCCTGAACAGCTACGGGCA
+ATGTCTGTTGTGTGCGACTGGCGTGACCTTCCATTTGTTGGCGTGTCCAGCAGGTGATCTCAATACGTTT
+GGTGGTAGCGAAATGCAATGCGTCCAGTAGCTCATGCGAAGGTGCATCGACTACCGCAACATGAACCACC
+TCTTCGCTGGCATCCAGCAAGACTCCCTGATAACGCAGACACAGGGCAGTGAGCTGTGGAATATTCATTG
+CCGCTCCTTAGTTGGCGTCATCAAAGCGGAAGACATCTTCGCAGGCTTGCTGCAATGCGCTGTCACTTTG
+AATATTGCAGTTACGCGTCCAGCCGGTGACGCCGTTTGCGTTATCCCAACCCGGCGTCATGACGACGCTT
+AGTCCATTGAGACTTTCTTGCCCGGTCAGCGACACCACGCCCTTTGCCACACTCATGGCTGAAACATAGC
+GGGTGGTGGTAGGCGAGGGAATGCCATTGCTGCCACCGTCGCAGGTATTTAATCCACCATGTTCCAGCGC
+GCACAACTCTACGGCGGTACGGTAAGGCACAAAGGTTTGTAGCATGTCGGTGAGTGCGGCTTTGCGCAGG
+TAGTTTTGATAAGCGGGAATACCAATGGCGCTTAAAATGGCAATGATGCCAATAACCACCATCAGTTCGA
+TAAGTGTAAAACCGCGTTGCTTGTCCATCTGTTTCGCTCCTTGATTTGGTTGGCGCTACTTTGGCAAACG
+CCATCAGCACAAGCGAGGGGCAAAAAACGAAACGGGAAAGCAGCTTCCGAGGTTTTTTATTTCGTTGCAG
+CGAAAGACAAGAAATTTGCGAGGCGTTACGAAGAAAGTTGGGGAAGGGGAGATTTATCCGCCCGCGATGG
+AGCGGATAAATCTGTTAGCAATTAGCGAAAACGCATTGAAAGGTCGAGTGCCTGTACGTGTTTAGTTAGC
+GCACCAACGGAGATAAAGTCCACGCCCGTTTCGGCAAATTCGCGCAGTGTTTTGTCAGTGACGTTGCCAG
+ACACTTCCAGTAGCGCCTTGCCGTTGGTGCGTTTGACGGCTTCGCGCATCTGTTCTGTTTCGAAGTTATC
+CAGCATGATGATATCGGCACCTGCTTTCAGGGCTTCATCAAGTTCTTCCAGATTCTCTACTTCGACTTCT
+ACTGGCGCATCCGGGTGCAACCAGGACGCTTTTTCGACCGCCTGGCGCACAGAGCCGGAGGCAATAATAT
+GGTTTTCTTTGATCAGGAAGGCATCAGAAAGCCCCAGACGGTGATTCGCTCCGCCGCCGCAAAGTACCGC
+GTATTTCAGAGCTGAACGCTGGCCGGGTAAGGTTTTGCGCGTATCCAGCAACTGAGTGTCGGTGCCTTCC
+AGCAATTCAACATAGTGGCGTACCTTACTGGCAACTCCTGAAAGGGTTTGCACAAAATTAAGCGCAGTGC
+GTTCGCCGGTTAACAGCACGCGGGATGGGCCTTCGAGTTCGAACAAGGGTTGATTGGCGTTGATGACATC
+GCCGTCATCCACATGCCAGATTATGGTGACATCGTCGCCTGCCAGTTGAATAAACACCTCTTCAACCCAG
+CGTTTGCCGCAAAATACGCCATTCTCGCGGGTGATCACTGTGGCATGAGAGCGAGAGTTTTCCGGTAAAA
+GTTTTGCCGTAATGTCATTGTTGGCATCGACTGTTCCGCCTAAATCTTCCCGCAGCGCCTGGGCCACCGC
+GCCGGGGATATCGAGATTAATGCGTTCCAGCAGCTCGTCACGTCGGGTGTCAGGGTTATAGCGGCGAGGC
+GGCATGTTAAAACTCCAGATAGCTAACGAATCATAAGGTAGAAACATGCTACTCTGAACCGGGTATTAGC
+ACCACATATAAGGAGATCCTGCATGTTGTTAGAACAGGGGTGGCTGGCTGGCGCGCGCCGCGTTCCCTCA
+CCACATTACGATTGCCGCCCGGATGACGAAACACCCACTCTGCTGGTGGTGCACAATATTAGCCTGCCGC
+CAGGCGAGTTTGGCGGTCCGTGGATCGACGCATTATTCACTGGAACTATTGATCCGCAGGCGCATCCTTT
+CTTTGCTGAGATCGCCCATTTGCGCGTCTCCGCTCACTGTTTGATTCGCCGCGATGGTGAAATAGTCCAG
+TATGTTCCTTTCGATAAACGTGCCTGGCATGCGGGAGTCTCTCAGTATCAGGGGCGTGAACGCTGCAATG
+ATTTTTCTATTGGGATTGAGCTGGAAGGCACCGATACGCTGGCGTATACCGATGCGCAGTATCAACAGCT
+TGCGGCGGTTACGCGGGCACTGATTGATCGCTATCCGGATATCGCTAATAACATGACGGGCCATTGTGAT
+ATTGCGCCGGATCGGAAAACCGATCCCGGCCCTGCATTTGATTGGGCACGGTTTCGTGCGCTGGTCAGCA
+AGGAGACAACATGACGCTATTTACAACCTTACTGGTGTTAATTTTCGAGCGCCTGTTTAAGTTGGGCGAG
+CACTGGCAGCTTGATCATCGTCTTGAAGCGTTCTTTCGGCGGGTGAAACATTTTTCTCTCGGGCGCACGT
+TATGCATGACCATTATTGCGATGGGCGTGACTTTTTTACTGTTACGCGCATTGCAGGGAGTATTGTTCAA
+CGTTCCCACGCTGCTGGTGTGGCTGCTGATTGGTTTGCTGTGTATTGGCGCAGGTAAAGTTCGTCTTCAT
+TATCATGCTTATCTGACAGCTGCTTCACGTAATGATAGCCATGCCCGTGCCACGATGGCTGGCGAACTCA
+CCATGATTCACGGCGTCCCGGCAGGCTGCGATGAACGTGAGTATTTGCGTGAGCTGCAAAATGCATTGCT
+GTGGATTAACTTTCGTTTTTATCTTGCTCCGCTGTTCTGGCTGATTGTGGGGGGAACCTGGGGACCCGTT
+ACGCTGATGGGGTATGCGTTTTTGCGTGCATGGCAATACTGGCTGGCGCGATACCAGACGCCGCATCATC
+GTTTACAGTCCGGCATTGATGGCGTGCTTCATGTACTGGATTGGGTGCCGGTTCGTCTTGCGGGTGTGGT
+ATATGCCTTGATCGGTCATGGTGAGAAAGCGTTACCGGCCTGGTTTGCTTCGCTGGGTGATTTCCATACT
+TCGCAATATCAGGTATTAACGCGTCTGGCACAGTTCTCTCTGGCGCGTGAACCGCATGTCGATAAGGTGG
+AGACGCCAAAGGCAGCGGTTTCAATGGCGAAGAAAACCTCGTTCGTGGTCGTGGTGGTAATTGCGCTACT
+GACGATTTACGGGGCGTTGGTGTAAAGATTATTGCCCTCACCCTGCACGGGTGAGGGCGTAGAGAGATTA
+ATGCGCTTTTACGGCTTTGGCGGTTTTCTCTTTAAACAGATAGCCGATACCTAACACGATCAGCCATACC
+GGGATCAGGTATACCGAAATCGCCATTCCTGGGGTCATCAGCATAATCACCAGTACCGCCGCCATAAACA
+GCAGGCAGACCCAGTTACCCAGCGGATAAAGCAGGGCAGGGAAGCGAGTTACCACGCCTTGTTCTTGTTT
+GGCTCGACGGAATTTCATATGCGCCAGACTGATCATCGCCCAGTTGATGACCAGTGCAGATACCACCAGC
+GCCATTAACAGTCCGAAAGCGGACTCTGGGGCAAGGTAGTTAATCAGTACGCACAATGCCGTAACCAGCG
+CAGACACCAGAATAGTGTTAACCGGTACGCCGCGTTTATCGACAGACGCCAGCGCTTTTGGCGCGTTCCC
+TTGTTGTGCCAGACCGAACAGCATACGGCTGTTGCAATATACGCAGCTGTTGTACACGGAGAGCGCAGCA
+GTCAGTACCACGATATTCAGCGCATTCGCTACAAAGGTATCGCCTAACTCGTGGAAGATCAGCACAAACG
+GACTGGTATCGGCGGTAACGCGGGTCCACGGCATTAGTGAGAGCAGAACGGCTAACGAGCCAATATAGAA
+AATCAGGATGCGGTAGATAACCTGGTTAGTTGCTTTCGGGATACTTTGCTCCGGGTTATCAGCTTCTGCT
+GCGGTGATCCCCACCAGTTCCAGACCACCGAAAGAGAACATGATAATCGCCATCATCATCACCAGACCGG
+TGAAGCCGTGTGGCAGGAAACCACCCTGATCCCACAGGTTGCTAACGCTCGCCTGCGGGCCGCCGTTGCC
+GCTGAATAGCAGCCAGGCGCCGAAGATGATCATCGCTACCACCGCGATAACTTTGATAATGGCAAACCAG
+AACTCCATCTCGCCAAACACTTTTACGTTTGTCAGGTTGATGGCGTTGATCACCACAAAGAACACGGCGG
+CAGAAACCCAGGTTGGGATTTCCGGATACCAGAACTGAATGTATTTACCCACGGCAGTCAGCTCTGCCAT
+GGCAACTAAAACGTACAGTACCCAGTAGTTCCAGCCAGAGGCGAAACCGGCAAAACTGCCCCAGTATTTA
+TAAGCAAAGTGGCTAAAGGAGCCTGCGACAGGTTCTTCGACCACCATTTCACCTAGCTGACGCATGATCA
+GAAAGGCGATAAAACCAGCAATGGCGTAACCCAGGATAATCCCTGGCCCTGCGGACTGTATTACGGAGGC
+GCTACCCAGGAATAGCCCTGTCCCTATCGCGCCACCCAGCGCGATAAGCTGAATATGGCGGTTTTTAAGG
+CCGCGCTTTAGCTGCTCGCCGTGCTGTTGACCTTCCATTATGAAACCTCGTGTTGTGTTGTTTTTTTGAA
+CTACGCAGCAATGCGTGTGTAATTTTGTAATTCCGTTTGTTGTATTGGTTTCTTTACATTTTATGTAACT
+GAATTATGATGATAGTACTTTCAACTATCACAAGATAATGGTATATGCGCGAGAATGCACCTGCTTTATG
+TAGATGTGTTGATTTTCTGGATAAAAAAAAAGCAATTGTAAGTTTTTCATCACATTTAATAGATACTTTA
+AGTCTGATAACATACTGTTTTAACTAGCTATATGTCGGATTTGTCTGCCTGCTGAACACCATGCCTTAGC
+CACCAGCACAATAATCTTACAAAAGGTCATATAAGAATAAATAGATGTTAATAATACAATGGGGTTGTAA
+CGCGAGTATTTAAATATAATATTGCGAGCTAAGTGAAAACGTTAAGTAATTGAAATAATTTTTCATTAAA
+AGAGTTTCTTATTGATCGAGAAATAAGTTTTCTATTTAATGCAAAAAAGTTAAGGATAAACGGGAATGAA
+ATAAAGTGGGCGATATTGTTTACCTGAGAATAATCGGTGAGAAGCAGGGCGATATTTCTTCAGGCTGTGG
+GACGTATGCGTCGGTTGGTAATCGCTGGCAGGTTGGCCATGAAGATGAAATTTTTGCCTTTGCACTCACC
+AACGCCATTACCAGTACTGGTAAAGGCGTTAATCTACAGGGGCTACAATTTTGCAAACTCATTGATAAAA
+GCTCACCGCTACTGTCTAATGCCATCAATCAGAATGAGCGGTTATTTATTGAAATCGATTTGTATCGTAT
+AAATAAAAGCGGGCGCTGGGAACGGTATTATTATATTCAGCTAAGAAATGCTTCATTAACTGCTATTCAT
+GTAAACATTTCTGACAATAATCTTCCTACCGAATGTGTAAATGTTAATTATGACTACATATTATGCAAAC
+ATCTAATAGCCAATACGGAATTTGACTGGTTGGCCTTTTCTGCTGGCTATAATAGCTTATTTATTCCACC
+TAAAAACCCACCTGCCAGTAATCTTAACCCTGAGCCGCTACCAGTTGTTAACCTTCCACTCTCTCCACCA
+GCGGTTAAACCGGTCTATGCCAAATCCTGTCTGAAGGAGAAGGGATGTACAGATGCCGGAACGGCAGAAG
+AACCCGCTGAAAACTTCGGTCAAGTAGCGATTTTCGCTCAGCCAGTGGTTGATGACTGCTGTGGATACCA
+CCATCCCGAGGCTAACGTTATCGGGGAACCCGCAGAAGCTCAAACCATGCTACTGTTTCCGGGTAGTGTG
+TTGGCGACTCAAATATGGGGAAAATGGTCGCTCAGTGGCGTACTCAGTGCAACCCGCGGCTCTTACATCG
+GTGCGTTGGCATCTGCTCTGTATATTCCCTCTGCGGGTGAGGGCAGTGCTCGTGTGCCTGGACGTGATGA
+GTTCTGGTATGAGGAAGAACTGCGCCAGAAAGCGCTTGCAGGCAGTACCGCCACTACCCGGGTGCGTTTT
+TTCTGGGGAACTGACATTCACAGCAAGCCCCAGGTATATGGTGTTCATACGGGTGAAGGTACGCCGTATG
+AAAACGTCCGCGTGGCGAACATGCAGTGGAACGAGCAGACGCAGCGTTATGAATTTACCCCCGCTCACGA
+TGTCGATGGCCCCCTGATTACCTGGACGCCGGAAAATCCGGAACATGGGAATGTTCCGGGCCATACCGGT
+AACGACAGGCCGCCGCTGGATCAGCCCACCATTCTGGTGACGCCGATTCCGGACGGTACAGATACCTATA
+CCACGCCGCCATTCCCGGTTCCTGATCCGAAAGAATTCAACGATTATATTCTGGTTTTTCCGGCGGGATC
+CGGTATTAAGCCTATCTATGTTTACCTGAAGGAGGATCCGCGAAAGCTGCCTGGTGTTGTAACAGGGCAC
+GGCGTCCCGCTTTCACCAGGAACTCGCTGGCTGGATATGTCGGTATCCAATAACGGCAACGGCGCACCAA
+TCCCGGCGCATATTGCTGATAAATTGCGCGGACGGGAGTTTAAAACCTTTGATGAGTTTCGCGAGGCGCT
+GTGGCTGGAGGTGAGTCAGGATCCGGAGTTGATAGCGCAGTTTTCAAGTGGTAACCAAACACGTATAAAA
+CAAGGATTGACCGCAAAAGCACCTATTGACGGTTGGCATTATGGCCCTAAAGATATAGTTAAAAAATTCC
+AGATACATCATCGTGTTGCAATTGAATATGGCGGCAGCGTATACGATATTGATAACTTACGAATTGTTAC
+CCCCAGACTACACGATGAGATTCACTACAGGAGATAAATATGTTTAAAGAAAAGCTCGAAGATTATACCG
+AGGAGGAATTTCTTAATTTTTTAGGCGGATTGAGATCAACTATGAAAGATGGAAAGCCCTTAAAAGGTAA
+GGAGCTAGAAATGTACTGGGATTCATTAGTAGATCATTTTATTGAAATTACACAGCATCCGTCAGGGAGC
+GATCTCATTTTCTACCCTAAAAGTCAAGGAGATGATAAGCCTGAAAACATCCTGAAAATTGTCAAAGAAT
+GGCGGCGTTCACAGGGGTTACCCTTGTTTAAAGACTCTAAATAAAGTAGATAATAAAACTATATATGGAA
+CATCATCGCATCTGGCTAATGCGATGATATAAATGACATAAAATAATAATGTGATTGCTCTTAAAAAACA
+GGTAAAAATACTGAAGCCTCATTGGGTTATTTTATCATTTTCCCGCTTTTACCGATACCCTTTGGCTGGA
+GGTGAGTCAGTATCCGGAGTTGATAGCGCAGTTTTCAAGCGGTAATCAAACACGTATAAAACAAGGATTA
+ATCGCAAAAGCACCACTTGAAGGTTGGCATTATGGCACTAAAGAAATCGTTAAAAAATTCCACATGTATC
+ATCGTGTTGCGATTGAATATAGTGGCGGAATTTACGATATTGATAATTTAAGGAGGGCACACCTCATTTG
+CATGATGAAATTTATTACAGGAGATAGTTAAATGTATAATTTTAAAGATAAAATAGAAGATTACACAGAG
+CGGGAATTCATTGAGTTGCTTGGCGAGTTTACAAATCCAACCGGGGATAACGCTCAATTAAAAGGGGAAG
+AGCTTGACAAATATTGGGATGATCTAGAAGAACATCTTACCAGAATTACACAACATCCGTTGATGAGCGA
+TCTTATCTACTATCCTGCAAAGAAGGGAGATGATGAACCTGAAAACATCCTGAAAATTGTCAAAGAATGG
+CGGCGTTCACAGGGGCTACCCTTGTTTAAAGACTCTAAATAAAGTAGATAATAAAACTATATATGGAACA
+TCATCGCGTCTGGCTAATGCGATGATGTTAATAACATAAAATAATAATGTGGGTGCTCTTAAAAAACAGG
+TAAAATACTGAAATTTCATTAGGTTATTTTATCAATTTCCCGCTTTCACCGATACCCTTTGGCTGGAGGT
+GAGTCAGTATCCGGAGTTGATAGCGCAGTTTTCAACTGGTAACCAAACACGTATAAAACAAGGATTAATC
+GCAAAAGCGCCTCTTGAAGGTTGGCATTATGGCTCTAAGGAAATTGTTAAAGAATTCCATATATATCATA
+GTGTTGCGATTGAATGTGGTGGCGAAATTTATGATATTGATAATTAAAGGATTGTTACGCCTCGACTACA
+TGATGAAATTCACTACAGGAGATAATGTATATGCATGATTTAAAATATAAAATATATTTTTACACAGAAG
+GTGAATTTCTTGAAATGCTTGAGGAGATAGTAAATGCAACTAGCAAAGATAAATCCCTAAAAGGGAAAAA
+ATTAGAAAAATATCTCGATACCTTAGTGGATCATTTCATTAAAATTACTGAACATCCTAAAAAGGGAGAT
+CTCATTTTCTATCCTAATTCCCCAGAAGATGGTAAACCTGAAAACATCCTGAAAATCGTCAAAGAATGGC
+GGCGTTCGCAAGGATTGCCTTTGTTCAAAGATTCAGAATGAACTCTAAACAGAATCTGTCACCTGAAAAT
+CATCACGTTCTGGTTAAGTGATGATTTTCGCTACGAGAAGGTTACGGTGGCGATTGCAGTGATAATAAGC
+AATGTAAAAAGAAAACATAGGTAAATACTACCTTTCTCTCCTTCCCTGAACATTCATTTTACATATTAAT
+TCACATAATTGAATTGTTATGCGTTTTGTTGCTTGGTGAATCGGTTCAGAGGAAATATTTTTTCGTTTCA
+ATTCTGTTAAGGTCACCCCTTGGTGGGTAAATTTAACATTTGTGCATAGTTACAACTTTGAAACGTTATA
+TATGTCAAGTTGTTAAAATGTGCACAGTTTCATGATTTCAATCAAAACCTGTATGGACATAAGGTGAATA
+CTTTGTTACTTTAGCGTCACAGACATGAAATTGGTAAGACCAATTGACTTCGGCAAGTGGCTTAAGACAG
+GAACTCATGGCCTACAGCAAAATCCGCCAACCAAAACTCTCCGATGTGATTGAGCAGCAACTGGAGTTTT
+TGATCCTCGAAGGCACTCTCCGCCCGGGCGAAAAACTCCCACCGGAACGTGAACTGGCAAAACAGTTCGA
+CGTCTCCCGTCCCTCCTTGCGTGAGGCGATTCAACGTCTCGAAGCGAAGGGCTTGTTGCTTCGTCGCCAG
+GGTGGCGGCACTTTTGTCCAGAGCAGCCTATGGCAAAGCTTCAGCGATCCGCTGGTGGAGCTGCTCTCCG
+ACCATCCTGAATCACAGTATGACTTGCTCGAAACACGACACGCCCTGGAAGGTATCGCCGCTTATTACGC
+CGCGCTGCGTAGTACCGATGAAGACAAGGAACGCATCCGTGAACTCCACCATGCCATAGAGCTGGCGCAG
+CAGTCTGGCGATCTGGACGCGGAATCAAACGCCGTACTCCAGTATCAGATTGCCGTCACCGAAGCGGCCC
+ACAATGTGGTTCTGCTTCATCTGCTAAGGTGTATGGAGCCGATGTTGGCCCAGAATGTCCGCCAGAACTT
+CGAATTGCTCTATTCGCGTCGCGAGATGCTGCCGCTGGTGAGTAGTCACCGCACCCGCATATTTGAAGCG
+ATTATGGCCGGTAAGCCGGAAGAAGCGCGCGAAGCATCGCATCGCCATCTGGCCTTTATCGAAGAAATTT
+TGCTCGACAGAAGCCGTGAAGAGAGCCGCCGTGAGCGTTCTCTGCGTCGTCTGGAGCAACGAAAGAATTA
+GTGATTTTTCTGGTAAAAATTATCCAGAAGATGTTGTAAATCAAGCGCATATAAAAGCGCGGCAACTAAA
+CGTAGAACCTGTCTTATTGAGCTTTCCGGCGAGAGTTCAATGGGACAGGTTCCAGAAAACTCAACGTTAT
+TAGATAGATAAGGAATAACCCATGTCAGAACGTTTCCCAAATGACGTGGATCCGATCGAAACTCGCGACT
+GGCTCCAGGCGATCGAATCGGTCATCCGTGAAGAAGGTGTTGAGCGTGCTCAGTATCTGATCGACCAACT
+GCTTGCTGAAGCCCGCAAAGGCGGTGTCAACGTAGCCGCAGGCACCGGTATCAGCAACTACATCAACACC
+ATCCCCGTTGAAGAACAACCGGAGTATCCGGGTAATCTGGAACTGGAACGCCGTATTCGTTCAGCTATCC
+GCTGGAACGCCATCATGACGGTTCTGCGTGCGTCGAAAAAAGACCTCGAACTGGGCGGCCACATGGCGTC
+CTTCCAGTCTTCCGCAACCATTTATGATGTGTGCTTTAACCACTTCTTCCGTGCACGCAACGAGCAGGAT
+GGCGGCGACCTGGTTTACTTCCAGGGCCACATCTCCCCGGGCGTGTACGCTCGTGCTTTCCTGGAAGGTC
+GTCTGACTCAGGAGCAGCTGGATAACTTCCGTCAGGAAGTTCACGGCAATGGCCTCTCTTCCTATCCGCA
+CCCGAAACTGATGCCGGAATTCTGGCAGTTCCCGACCGTATCTATGGGGCTGGGTCCGATTGGTGCTATT
+TACCAGGCTAAATTCCTGAAATATCTGGAACACCGTGGCCTGAAAGATACCTCTAAACAAACCGTTTACG
+CGTTCCTCGGCGACGGTGAAATGGACGAACCGGAATCCAAAGGTGCGATCACCATCGCTACCCGTGAAAA
+ACTGGATAATCTGGTCTTCGTTATCAACTGTAACCTGCAGCGTCTTGACGGCCCGGTCACCGGTAACGGC
+AAGATCATCAACGAACTGGAAGGCATCTTCGAAGGTGCTGGCTGGAACGTGATTAAAGTGATGTGGGGTA
+GCCGTTGGGATGAACTGCTGCGTAAAGATACCAGCGGTAAACTGATCCAGCTGATGAACGAAACCGTTGA
+CGGCGACTACCAGACCTTCAAATCGAAAGATGGTGCGTACGTTCGTGAACACTTCTTCGGTAAATATCCT
+GAAACCGCAGCTCTGGTTGCAGACTGGACTGACGAGCAGATCTGGGCGCTGAACCGTGGCGGTCACGATC
+CGAAGAAAATCTACGCTGCATTCAAGAAAGCGCAGGAAACCAAAGGCAAAGCGACGGTAATCCTTGCTCA
+TACCATTAAAGGTTACGGCATGGGCGACGCGGCTGAAGGTAAAAACATCGCGCACCAGGTTAAGAAAATG
+AACATGGACGGCGTGCGTCACATCCGCGACCGTTTCAATGTGCCGGTGTCTGATGCAGATATCGAAAAAC
+TGCCGTACATCACCTTCCCGGAAGGTTCTGAAGAGCATACCTATCTGCACGCTCAACGTCAGAAACTGCA
+CGGTTATCTGCCAAGCCGCCAGCCGAACTTCACCGAGAAGCTGGAGCTGCCGAGCCTGCAAGATTTCGGC
+GCGCTGCTGGAAGAGCAGAGCAAAGAGATCTCTACCACTATCGCTTTCGTTCGTGCTCTGAACGTGATGC
+TGAAGAACAAGTCGATCAAAGATCGTCTGGTACCGATCATCGCCGACGAAGCGCGTACTTTCGGTATGGA
+AGGTCTGTTCCGTCAGATTGGTATTTACAGCCCGAACGGTCAGCAGTACACCCCGCAGGACCGCGAGCAG
+GTTGCTTACTATAAAGAAGACGAGAAAGGTCAGATTCTGCAGGAAGGGATCAACGAGCTGGGCGCAGGTT
+GTTCCTGGCTGGCAGCGGCGACCTCTTACAGCACCAACAATCTGCCGATGATCCCGTTCTACATCTATTA
+CTCGATGTTCGGTTTCCAGCGTATCGGCGATCTGTGCTGGGCGGCTGGCGACCAGCAAGCGCGTGGCTTC
+CTGATCGGCGGTACTTCCGGTCGTACCACCCTGAACGGCGAAGGTCTGCAGCACGAAGATGGTCACAGCC
+ACATTCAGTCGCTGACTATCCCGAACTGTATCTCTTACGATCCGGCTTACGCTTACGAAGTTGCTGTCAT
+CATGCATGACGGTCTGGAGCGTATGTACGGTGAAAAACAAGAGAACGTTTACTACTACATCACTACGCTG
+AACGAAAACTACCATATGCCGGCAATGCCGGAAGGTGCTGAGGAAGGTATCCGTAAAGGTATCTACAAAC
+TCGAAACCCTTGAAGGTAGCAAAGGTAAAGTTCAGCTGCTGGGCTCCGGTTCTATCCTGCGTCACGTCCG
+TGAAGCGGCAGAGATCCTGGCGAAAGATTACGGCGTAGGTTCTGACGTTTATAGCGTGACTTCCTTCACC
+GAACTGGCGCGTGATGGTCAGGATTGTGAACGCTGGAACATGCTGCACCCGCTGGAAACTCCGCGCGTTC
+CGTATATCGCTCAGGTGATGAACGACGCTCCGGCAGTGGCATCTACCGACTATATGAAACTGTTCGCTGA
+GCAGGTCCGTACTTACGTACCGGCTGACGACTACCGCGTACTGGGTACTGATGGCTTCGGTCGTTCCGAC
+AGCCGTGAGAACCTGCGTCACCACTTTGAAGTTGATGCTTCTTATGTCGTGGTTGCGGCGCTGGGCGAAC
+TGGCTAAACGTGGCGAAATCGATAAGAAAGTGGTTGCTGACGCAATCGCCAAATTCAACATCGATGCAGA
+TAAAGTTAACCCGCGTCTGGCGTAAGAGGTAAAAGAATAATGGCTATCGAAATCAAAGTACCGGACATCG
+GGGCTGATGAAGTTGAAATCACCGAGATCCTGGTCAAAGTGGGCGACAAAGTTGAAGCCGAACAGTCGCT
+GATCACCGTAGAAGGCGACAAAGCCTCTATGGAAGTACCATCTCCGCAGGCGGGTATCGTTAAAGAGATC
+AAAGTCTCTGTTGGCGATAAAACCCAGACCGGCGCACTGATTATGATTTTCGATTCCGCCGACGGTGCAG
+CAGACGCTGCACCTGCTCAGGCAGAAGAGAAGAAAGAAGCAGCTCCGGCAGCAGCACCAGCGGCTGCGGC
+AGCAAAAGACGTTAACGTTCCGGATATCGGCAGCGACGAAGTTGAAGTGACCGAAATCCTGGTGAAAGTT
+GGCGATAAAGTTGAAGCTGAACAGTCGCTGATCACCGTAGAAGGCGACAAGGCTTCTATGGAAGTTCCTG
+CTCCGTTTGCAGGCACCGTGAAAGAGATCAAAGTGAACGTGGGTGACAAAGTGTCTACCGGCTCGCTGAT
+TATGATCTTCGAAGTCGCGGGTGAAGCAGGCGCGGCAGCTCCGGCGGCTAAACAGGAGGCGGCTCCGGCA
+GCGGCCCCTGCACCAGCAGCTGGCGTGAAAGAAGTTAACGTTCCGGATATCGGCGGTGACGAAGTTGAAG
+TGACCGAAGTGATGGTGAAAGTGGGCGACAAAGTTGCCGCTGAACAGTCACTGATCACCGTAGAAGGCGA
+TAAAGCTTCTATGGAAGTTCCGGCTCCGTTTGCAGGCGTCGTGAAGGAACTGAAAGTCAACGTTGGCGAT
+AAAGTGAAAACTGGTTCGCTGATTATGATCTTCGAAGTTGAAGGCGCAGCGCCTGCGGCAGCTCCTGCGA
+AACAGGAAGCGGCAGCGCCGGCTCCGGCAGCAAAAGCTGAAGCCCCGGCAGCAGCTCCGGCTGCAAAAGC
+CGAAGGCAAATCTGAATTTGCTGAAAACGACGCTTACGTTCACGCGACTCCGCTGATCCGCCGTCTGGCA
+CGCGAATTTGGCGTTAACCTGGCGAAAGTGAAGGGCACTGGCCGTAAAGGTCGTATCCTGCGCGAAGACG
+TTCAGGCTTACGTGAAAGAAGCTATCAAACGTGCAGAAGCAGCTCCGGCGGCGACTGGCGGCGGTATCCC
+AGGCATGCTGCCGTGGCCGAAAGTGGACTTCAGCAAGTTTGGTGAAATCGAAGAAGTGGAACTGGGCCGT
+ATCCAGAAAATCTCTGGTGCGAACCTGAGCCGTAACTGGGTGATGATCCCGCATGTTACCCACTTCGACA
+AAACCGATATCACCGAGCTGGAAGCGTTCCGTAAACAGCAGAACGAAGAAGCGGCGAAACGTAAGCTGGA
+TGTGAAGATAACCCCAGTTGTCTTCATCATGAAAGCCGTTGCTGCAGCTCTTGAGCAGATGCCTCGCTTC
+AACAGTTCGTTGTCGGAAGACGGTCAGCGTCTGACCCTGAAGAAATACATCAACATCGGTGTGGCGGTGG
+ATACCCCGAACGGTCTGGTTGTTCCGGTATTCAAAGACGTCAACAAGAAAGGCATCATCGAGCTGTCTCG
+CGAGCTGATGACTATTTCTAAGAAAGCGCGTGACGGTAAGCTGACTGCGGGCGAAATGCAGGGCGGTTGC
+TTCACCATCTCCAGCATCGGCGGCCTGGGGACTACCCACTTCGCGCCGATTGTGAACGCGCCGGAAGTGG
+CTATCCTCGGCGTTTCCAAGTCCGCGATGGAGCCGGTGTGGAATGGTAAAGAGTTCGTGCCGCGTCTGAT
+GCTGCCGATTTCTCTCTCCTTCGACCACCGCGTGATCGACGGTGCTGATGGTGCCCGTTTCATTACCATC
+ATTAACAACACGCTGTCTGACATTCGCCGTCTGGTGATGTAAGTAAAAGAGCCGGCCCAACGGCCGGCTT
+TTTTCTGGTAATCTCATGAATGTATTGAGATTATTAGCGAATAGACAAATCGGTTGCCGTTTGTTGTTTA
+AAAATTGTTAACAATTTTGTAAAATACCGACGGATAGAACGACCCGGTGGATAATGGGCGTCATAAAAAA
+AACGTCAGACCCGCCGGAGATAAATATATAGAGGTCATGATGAGTACTGAAATCAAAACTCAGGTCGTGG
+TACTTGGGGCAGGCCCCGCAGGTTACTCCGCTGCCTTCCGTTGCGCTGATTTAGGTCTGGAAACCGTAAT
+CGTAGAACGTTACAACACTCTTGGCGGTGTTTGCCTGAACGTCGGCTGTATCCCTTCTAAAGCACTGCTG
+CACGTAGCAAAAGTTATCGAAGAAGCCAAAGCGCTGGCTGAACACGGTATCGTCTTCGGCGAACCGAAAA
+CCGATATCGACAAGATTCGTACCTGGAAAGAGAAAGTAATCAATCAGCTGACCGGTGGTCTGGCTGGTAT
+GGCGAAAGGCCGCAAAGTCAAAGTGGTCAACGGTCTGGGTAAATTTACCGGGGCTAACACCCTGGAAGTT
+GAAGGTGAGAACGGTAAAACCGTGATCAACTTCGACAACGCGATCATTGCAGCGGGTTCTCGCCCGATTC
+AACTGCCGTTTATTCCGCATGAAGATCCGCGTATCTGGGACTCCACTGACGCGCTGGAACTGAAAGAAGT
+TCCAGAACGCCTGCTGGTAATGGGTGGCGGTATCATCGGTCTGGAAATGGGCACCGTATACCACGCGCTG
+GGTTCACAGATTGACGTGGTTGAAATGTTCGACCAGGTCATCCCGGCAGCTGATAAAGACATCGTTAAAG
+TCTTTACCAAGCGTATCAGCAAGAAATTCAACCTGATGCTGGAAACCAAAGTTACCGCCGTTGAAGCGAA
+AGAAGACGGCATTTATGTGACGATGGAAGGCAAAAAAGCACCCGCTGAACCGCAGCGTTACGACGCCGTG
+CTGGTAGCGATTGGTCGTGTGCCGAACGGTAAAAACCTCGACGCAGGCAAAGCTGGCGTGGAAGTTGACG
+ACCGTGGTTTCATCCGCGTTGACAAACAGCTGCGTACCAACGTACCGCACATCTTTGCTATCGGTGATAT
+CGTCGGTCAGCCAATGCTGGCACACAAAGGTGTTCACGAAGGTCACGTTGCCGCTGAAGTTATCGCCGGT
+AAGAAGCACTACTTCGATCCGAAAGTTATCCCGTCCATCGCCTATACCGAACCAGAAGTTGCATGGGTAG
+GTCTGACTGAGAAAGAAGCGAAAGAGAAAGGCATCAGCTATGAAACCGCCACCTTCCCGTGGGCTGCTTC
+TGGTCGTGCTATCGCTTCCGACTGCGCAGACGGTATGACCAAGCTGATTTTCGACAAAGAATCTCACCGT
+GTGATCGGTGGTGCAATTGTCGGTACTAACGGCGGTGAGCTGCTGGGTGAAATCGGCCTGGCAATCGAAA
+TGGGTTGTGACGCTGAAGACATCGCACTGACCATCCATGCGCACCCGACTCTGCACGAGTCTGTGGGCCT
+GGCGGCAGAAGTGTTCGAAGGTAGCATTACCGACCTGCCGAACCCGAAAGCGAAGAAGAAGTAATTTTTC
+GTTTGCCGGAACATCCGGCAAATTAAGAAGCGGCTATTCTGGCCGCTTCAGATTGTTGATAAAGTGCTCG
+TGGTTGATGCCGGATGCGGCGTAAACGCCTTATCCGACCTACAAAATCATGCAAATTCAATATATTGCAT
+GGCTTGTGTAGGCCCGATAAGCTTGCGCATCGGGCGATTCGATGTTTGTCATCAGTCTTAAGCGGCTAAC
+AACGCCGCTTTTTTACGCCTGCAATTTACCTTTCCAGTCTCCTTGCTCCACGCTCAGACAACCGTTCGCG
+TACCGCTGACCGTTGCTCATTATTCAATCGGGCAGTATGGTTACTGTCGTTTAGACGCTGCGGGCGGCTC
+TCCTGAACTTTCTCTCGAAAAACCTGACGCTGCTCAGGCGAGGCAGACTGGATACGCTGACGTGCTGCAT
+CTCTTTGCTGTTGATTCTGCGGGTTAGTCTGCATTTTCTCGCGAACCGCCTGGCGCTGCTCAGGCGACGC
+GGACTGAATACGCTGACGTGCCGCCTCTCTTCGCTGCTGGTTCTGTGGGTTAGTCTGCATTTTCTCGCGA
+GCCGCCTGGCGCTGCTCAGGAGAAGCCGACTGATAACGCTGACGAGCGGCGTCCTTTTGTTGCTGGGTCA
+GTGGCTGGCGACGGCTGAAGTCGCGGAAGTCGTCATAGCTCCCATTGTGTTCAGCTTCATTAAACCGCTG
+TGCCGCTGCCTGACGTTGGGTATCTCGCGTAATGACGGGGGCGGTGTGTGTTCGTTGCTGAAACTGACTT
+GCTGCCGCCTGACGCTGGCTGTCGCGTGTTGGAGCAGGTAACTGCGTGGCGCTCATTCCGCCGTTGACAT
+CGGTTTGATGAAACCGCTTTGCCATATCCTGATCATGATAGGTCACACCATTACGGTAGTTTGGATTGTG
+CCGCCATGCCATATTCTTATCAGTAAGATGCTCACCGGTGATACGGTTGAAATTGTTGACGTCGATATTG
+ATGTTGTCGCCGTTGTGTTGCCAGTCATTACCGTCACGATGACCGCCATCGTGGTGATGATAATCATCAT
+CGTCATGATGATGATGGTCATGATCGTCGTCGTCCCAGTCGATGCTGCTGAATAGTGCGTATGTGGTAGC
+AACGCCCATGCTATAGCCGAATCCGCGCACAAAGCTGTCAACAAACGGTTCTCCGGCTGGCGGCGGCAGA
+TAAACTGGCGGATAAGCGGTATTGGCCCAACTGCCGTAAACCACGTTTGGGTTGTAGTTCGGAATATAAA
+CCACATCCGGATTGGCTGGCTCAATGGTTATTACGGTCGGTGCAGGTTCTGCGACGACGGGGCTGGACGT
+AGAAACGGTATTTGATTGTGTGGCAGGGGCGTTGGCGGGCTGATTTACCGGTACGACTTTTTTCGTTGTC
+GTGATGATCTTTTGTTCAGTTGATGACTTCAGCGAGCCGGTTTGTTGCGCCAGTTGCCGCAATCGCTGTA
+CCGAGTCCATCACGTCCTGCGGCTGCGCCAGAAAAGCATCGCCCAGGTTTTGCACCCATTGCGGGTTTTC
+GCCCATCAACGCCATCAACTGTGGAAAGGCCACCAGTGATTTGACGCTGGCGTCCCAGGACTGGCCAGAT
+ACCGCCTGAATAGCAGCATCGCCTTGTTTAAGTGGATTATCGTGTGACCATTGCACTGCTTGAGCAACGT
+TTGCCGGATAGGTTGATGCCATTAACACTTGTGAAAGCAGAGAGTCGGGGTACAGCGCGACGGGCGCGAC
+CCATTGATCGATTTGTGCAGTGCTGAATGTAGATTTGACGACGGCAGGTGTTACAGGAGGCACGGAAACC
+GTTGCAGGAAGCGTAACTGCGGAGATGTCAGGCGCAGTCTGTTGTGTCGATTGCGCTTCCACAGGCGCTT
+CCACTGTGCGGCTTTTTATATATAGCCCGGCAGAGGCGGCACAAAGCCCGGCACTGCAAATTAGCGCCAG
+CACATGGGGTTTAAACGGCAAAGTCATTTTCATAATTCGGATCTCAAGGAAATCGCAATGGTCGGCGAAC
+TGCCACCCGCAGGTGCTGTGAATCCGAGTATAAAGAGGCCGTAGTTTAAATTTTGACTAATCTTGGGATT
+CGTTGAGAAAGGTGATTATCACCATGCGAATTAACGAAGTTTTTACGGAGGGAAACATTCTCTAGACTAT
+CCTTAACGATTCAGCCACTTTTTTATGTTGTTTTTTTGTAAACAGATTAACACATCGTCAAAATCCTGCT
+ATTCTGCCCGTTGCGGTACTGGGCATTTACCCTACAAACTGCTGTCTCACAGGAGCGTGAAGAGAATCGC
+CTGCCGCACTATGACAATGAGAGCGAGGAGAACCGTCGTGCTAGAAGAATACCGTAAGCACGTAGCTGAG
+CGTGCCGCTGAGGGGATTGCGCCCAAACCCCTGGATGCAAACCAAATGGCCGCACTTGTAGAGCTGCTGA
+AAAACCCGCCCGCGGGCGAAGAAGAATTCCTGTTAGATCTGTTAACCAACCGTGTTCCCCCTGGCGTCGA
+TGAAGCCGCCTATGTCAAAGCAGGCTTCCTGGCTGCTGTCGCCAAAGGCGAAGCTAAATCCCCGCTGCTG
+ACTCCGGAAAAAGCCATTGAACTGCTGGGCACTATGCAGGGTGGTTACAACATTCATCCGCTGATCGACG
+CGCTGGATGATGCCAAACTGGCACCGATCGCTGCCAAAGCACTTTCTCACACGCTGCTGATGTTCGATAA
+CTTCTATGACGTAGAAGAGAAAGCCAAAGCAGGCAACGAATATGCGAAGCAGGTAATGCAGTCCTGGGCG
+GATGCCGAATGGTTCCTGAATCGCCCGGCGCTGGCTGAAAAACTGACCGTTACCGTCTTCAAAGTCACTG
+GCGAAACCAACACCGATGACCTCTCTCCGGCACCAGATGCGTGGTCACGCCCGGATATCCCACTGCACGC
+GCTGGCGATGCTGAAAAACGCCCGTGAAGGTATTGAGCCAGATCAGCCTGGTGTTGTTGGCCCGATCAAA
+CAGATTGAAGCTCTGCAACAGAAAGGTTTCCCGCTGGCGTACGTCGGTGACGTTGTGGGTACGGGTTCAT
+CGCGTAAATCCGCCACGAACTCCGTTCTGTGGTTTATGGGCGATGATATTCCACATGTGCCGAACAAACG
+CGGCGGTGGTTTGTGCCTCGGCGGTAAAATTGCACCAATCTTTTTTAACACGATGGAAGACGCGGGTGCA
+CTGCCAATCGAAGTCGACGTCTCTAACCTGAACATGGGCGACGTAATTGACGTTTACCCGTACAAAGGTG
+AAGTGCGTAACCACGAAACCGGCGAACTGCTGGCAACCTTCGAACTGAAAACCGATGTGCTGATTGATGA
+AGTGCGTGCTGGCGGCCGTATTCCGCTGATTATCGGGCGTGGCCTGACCACCAAAGCGCGTGAAGCACTT
+GGCCTGCCGCACAGCGATGTGTTCCGTCAGGCGAAAGATGTCGCTGAGAGCGATCGCGGCTTCTCGCTGG
+CGCAGAAAATGGTAGGCCGTGCCTGTGGCGTGAAAGGCATTCGTCCGGGCGCGTACTGTGAACCGAAAAT
+GACTTCTGTTGGTTCTCAGGATACCACCGGCCCGATGACCCGTGATGAACTGAAAGACCTGGCGTGCCTG
+GGTTTCTCGGCTGACCTGGTGATGCAGTCTTTCTGCCACACCGCGGCGTATCCGAAGCCAGTTGACGTGA
+ACACGCACCACACGCTGCCGGACTTCATTATGAACCGTGGCGGTGTGTCGCTGCGTCCGGGTGACGGCGT
+AATCCACTCCTGGCTGAACCGTATGCTGCTGCCGGATACCGTCGGTACCGGTGGTGACTCCCATACCCGT
+TTCCCGATCGGTATCTCTTTCCCGGCGGGTTCTGGTCTGGTGGCATTTGCAGCCGCAACAGGCGTAATGC
+CGCTGGATATGCCGGAATCCGTTCTGGTACGCTTCAAAGGCAAAATGCAGCCGGGTATCACCCTGCGCGA
+TCTGGTACATGCCATTCCGCTGTATGCAATCAAACAAGGTCTGCTGACCGTTGAGAAGAAAGGTAAGAAA
+AACATCTTCTCTGGCCGCATTCTGGAAATTGAAGGTCTGCCGGATCTGAAAGTTGAGCAGGCATTTGAGC
+TGACCGATGCGTCTGCCGAGCGTTCTGCTGCCGGTTGTACCATCAAGCTGAACAAAGAACCGATCATTGA
+ATACCTGAACTCTAACATCGTCCTGCTGAAGTGGATGATCGCGGAAGGTTACGGCGATCGTCGTACCCTG
+GAGCGTCGTATTCAGGGCATGGAAAAATGGCTGGCGAATCCTGAGCTGCTGGAAGCCGATGCAGATGCGG
+AATACGCGGCAGTGATCGACATCGATCTGGCGGATATCAAAGAGCCAATCCTCTGTGCTCCGAACGACCC
+GGATGACGCACGTCCGCTGTCTGCGGTACAGGGCGAGAAGATCGACGAAGTATTTATCGGTTCTTGCATG
+ACTAACATCGGTCACTTCCGTGCTGCTGGTAAACTGCTGGATGCGCACAAAGGTCAGTTGCCGACCCGCC
+TGTGGGTGGCACCGCCAACGCGTATGGACGCTGCGCAGCTGACCGAAGAAGGCTACTACAGCGTCTTCGG
+TAAGAGTGGTGCTCGTATCGAGATCCCTGGCTGTTCCCTGTGTATGGGTAACCAGGCGCGTGTAGCAGAC
+GGTGCGACGGTGGTTTCCACCTCTACCCGTAACTTCCCGAACCGTTTGGGTACTGGCGCGAATGTCTTCC
+TGGCTTCTGCGGAACTGGCTGCTGTTGCGGCGCTGATTGGCAAACTGCCGACGCCGGAAGAGTACCAGAC
+CTACGTGGCGCAGGTAGATAAAACAGCCGTTGATACTTACCGTTATCTGAACTTCGACCAGCTTTCTCAG
+TACACCGAAAAAGCGGACGGGGTGATTTTCCAGACTGCGGTTTAATAAGTAAGCGCACGCGCTGCGCATA
+AACGACACAATGCCCGGTGAATGAGATTCCCGGGCATTTTTTATTTCTAAACCATCGCCGTTCCGCTGTT
+TTTCTCCGGTAAGGCTGCGATAATTACATCAATGGCGCAATGCGATTTCGGCGCATTGCCGGGAGCAGAG
+GAACACACTATGGATTACGAATTTCTGCGCGATATTACCGGAGTGGTAAAGGTGCGCATGTCCATGGGGC
+ATGAAGTCATCGGGCACTGGTTTAATGAAGAGGTGAAAGAAAACCTGGCCTTGCTTGATGAAGTGGAAGA
+CGCAGCGCGCACGCTCAAAGGCAGCGAACGATCCTGGCAGCGGGCAGGGCATGAATACACGCTATGGATG
+GACGGTGAAGAGGTGATGGTTCGCGCCAATCAACTGGAATTCGCTGGCGATGAAATGGAAGAGGGGATGA
+ACTACTACGATGAAGAGAGCTTGTCGCTGTGCGGCGTTGAGGATTTTCTTCAGGTGGTGGCGGCTTACCG
+TAATTTCGTGCAGCAGAAGTAAGTAAATCAGGCGGAGCCTCCGTGCTCCGCCTGAGACGTTAAACAGCGG
+GCATATTGCGCCCGTAATAAATCTCGCGCATTTCTTTCCACAGCGCAGCGGTAATTTCCTGGCGCTCGCT
+GTCGGTTAAATCTTCCGGTTTGGTGTGGAACATGTAGTGCTTAAGGTCGAACTCTTTAAGCAACATCTTG
+GTATGGAAGATATTCTCCTGATAGACGTTTACATCCACCATGTCATACAGCGCCTTCATATCTTCGGACA
+TAAAGTTCTGAATCGAATTAATCTCATGGTCGATAAAGTGCTTCATACCGTTAATGTCGCGGGTAAAACC
+GCGCACGCGATAATCAATAGTCACAATATCGGACTCAAGCTGGTGGATCAGGTAATTCAGCGCCTTCAGC
+GGAGAAATCACGCCGCAGGTAGAGACTTCAATATCGGCGCGGAAGGTACATAAACCGCCTTCAGGATGAC
+TTTCCGGGTAGGTATGTACGCAAATATGACTTTTATCGAGATGGGCAACGACCGTTTCTGGCAGTGGGCC
+GGGGTGTTCTGTTTTGTCGATAAGTTTCGGGTCGACCGGTTCTTCGCTCACCAGAATAGTGACGCTGGCA
+CCCTGTGGCTCGTAATCCTGGCGGGCGATGTTAAGAATATTGGCCCCGATAATGGAACAGGTTTCTGACA
+GGATTTCGGTCAGACGGTTGGCATTATAGAGTTCATCGATATAAGCAATATAACCGTCGCGCTCTTCGGT
+AGTTTTGGCGTAGCAGATATCGTAAATACAAAAACTCAGACTTTTGGTCAGATTATTAAAGCCATGCAGT
+TTCAGTTTTTTCAATTTCTTATCTTCTCCTTAGGACGGCTGTGAAGCCAGTGCATCTTGCAGATACTGGG
+GTAAGGCAAAAGCTGCCGTATGGACTGCCGGATTGTAATAACGGCATTTCAGGCCAGAAGCGAGAAAACG
+CGCCTGAATAATTTCGGTTGAGAGATGGCGTAAGGCGTCGTTATCTGTCGCCCATGCAAAGGTCATGATG
+CCGCCGTAATAGGTCGGGATCGCCGCCTGATAAAAGCCAACATCGCTGAAGTAATGGCTGAGTTTGCGAT
+GGCTGTCGATGGCCTCTTCCTGCTGTAAAAAGCAGACGCCGTTTTGTGCGACGAAGATACCGCCAGGATT
+CAGGCAACGTTTGCAGCCTTCATAAAATGCAGAAGTAAACAGACTTTCGCCGGGACCGATAGGATCGGTG
+CAGTCGGAGATAATGACATCAAAGGTCTGGCTGGTTTGATTAACGAAATTGACACCATCGTCGATCACCA
+GTTTAAAGCGCGGATCGTCGTAACTACCGGCGTTATGGTTGGGAAGATACTGACGGCAGAACGACACGAC
+ACCCGCATCGATTTCCACCATCGTGATTGACTCAACGTTTTTATGTCGGGTTACTTCACGCAGCATGGCA
+CCGTCGCCGCCGCCGATAATCAGCACATGTTTCGCGTGACCGTGGGCCAGTAGCGGAACATGGGTCATCA
+TCTCATGATAGATAAACTCGTCGCGCTCGGTGGTTTGTACTACGCCATCCAGCGCCATTACGCGACCAAA
+TGCGGCGTTCTCAAAAATGATCAGATCCTGGTGATCGGTCTTTTCATGATACAGAACGTTATCTACCGCA
+AAGTACTGCCCAAACTGGTCGTGTAGCGTTTCATGCCACTGTTTTTTTTCGGCCATGGGTTGATACCTCC
+TTTGTTAACACCCGTAAAAAAATGGCGCAACATAATAGCTAACATTGACCGCGGATGCACGGTCAATATT
+TCTACAAAAAGGTATCAGGGATTATTTGACGTAGGCAAGCAGGCTTAAGGAATCGCGAGCCAGGGCTTTG
+CACTTTTTAGCGACGGGAATGCCAATGCCGCTGAGATCGCGGTAGCTGTCTTCACCGAGGGCTTTCATGT
+CGAAGGTGTCGTAATTACTGAGATCCCACTGGTTTTGCTGGGCGAAAAAGACCAGCGCGCGACGAATTTG
+CCCGTTAGGTAAGTTCTGGTAACCACAATCGTTCTTCAGAAAAACAAAAACTGCCGTTAAATCGGCCATA
+TCTTCGGCTTCAGACTCGCTGAGCGCGTAACTGTTTGCGCAAACGGCCATCAGGCTGCCGAATAACACTG
+TTCTGAAAAACGTCTTCATTGCTTCTACCAGGGGCTTAAAGAAGATAAACGTTAGCACACTGCGAGCGAG
+GCGACGACCATTATTGTCGATTAAATTGTGTCTGCGGCTTGACCTTCCCGTAAGGGGAAGGACTATGCTC
+AACGTTTGATTCTGTTTCGCCTGCTTAAGAATAAGGAAATAACTATGCAACGTCGTGATTTCTTGAAATA
+TTCCGTCGCGCTGGGTGTGGCTTCAGCCTTGCCGCTGTGGAGCCGCGCAGTATTTGCGGCGGAACGCCCA
+ACGTTACCGATCCCTGATTTGCTCACGACCGATGCCCGTAATCGCATTCAGTTAACTATTGGCGCAGGTC
+AGTCCACCTTTGGCGGGAAAACCGCAACTACCTGGGGCTATAACGGCAATCTGCTGGGGCCGGCGGTGAA
+ATTACAGCGCGGCAAAGCGGTAACGGTTGATATCTACAACCAACTGACGGAAGAGACGACGTTGCACTGG
+CACGGGCTGGAAGTACCGGGTGAAGTGGACGGCGGCCCGCAGGGAATTATTCCGCCAGGTGGCAAGCGCT
+CGGTGACGTTGAACGTTGATCAACCTGCCGCTACCTGTTGGTTCCATCCACATCAACATGGCAAGACCGG
+GCGACAGGTGGCGATGGGGCTGGCTGGTTTGGTGGTGATTGAAGATGACGAGATCCTGAAATTAATGCTG
+CCAAAACAGTGGGGTATTGATGATGTCCCGGTGATTGTTCAGGATAAAAAATTTAACGCAGACGGGCAGA
+TTGATTATCAACTGGATGTGATGACCGCCGCTGTGGGTTGGTTTGGCGATACGTTGCTGACCAACGGTGT
+AATCTACCCGCAACACGCTGCCCCGCGTGGCTGGCTGCGCCTGCGTTTGCTCAATGGCTGTAATGCCCGC
+TTGCTCAATTTCGCCACCAGCGACAATCGCCCGCTTTATGTGATTGCCAGCGACGGCGGTCTGCTACCTG
+AACCGGTGAAGGTGAACGAGCTGCCAGTGCTGATGGGCGAGCGTTTTGAAGTGCTGGTGGAGGTTAACGA
+CAACAAACCCTTTGACCTGGTGACGCTGCCGGTCAGCCAGATGGGGATGGCGATTACGCCGTTTGACAAG
+CCGCATCCGGTAATGCGGATTCAGCCGATTGCCATTAGTGCCTCTGGTGCTTTGCCAGACACATTAAGTA
+GCCTGCCTGCGTTACCTTCGCTGGAGGGGCTGACGGTACGCAAGCTGCAACTTTCTATGGACCCAATGCT
+CGATATGATGGGGATGCAGATGCTGATGGAGAAATATGGCGATCAGGCGATGGCCGGGATGGATCACAGC
+CAGATGATGGGCCATATGGGGCACGGCAATATGAATCATATGAACCACAGCGGGAAGTTCGATTTCCACC
+ATGCCAACAAAATCAACGGTCAGGCGTTTGATATGAATAAGCCGATGTTTGCGGCGGCGAAAGGGCAGTA
+CGAACGTTGGGTTATCTCTGGCGTGGGCGACATGATGCTGCATCCGTTCCATATCCACGGTACGCAGTTC
+CGTATCTTGTCAGAAAATGGCAAACCGCCAGCGACGCATCGCGCAGGCTGGAAAGATACCGTTAAGGTAG
+AAGGTAATGTCAGCGAAGTGCTGGTGAAGTTTAATCACGATGCACCGAAAGAACATGCTTATATGGCGCA
+CTGCCATCTGCTGGAGCATGAAGATACGGGGATGATGTTAGGGTTTACGGTATAAAAAGACCGTATTCGG
+AAATATGCCCGGATCTCTCCGGGCATGAAACTGATGACAAACGCAAAACTGCCTGATGCGCTACGCTTAT
+CAGGCCTACGCGCAATGTATTGAATTTGCAAATGTTTTGTAGGCCGGATAAGGCGTTCACGCCGCATCCG
+GCACGAACAAAGCGCACGTTGTCAGTTTTGTAGGCCGGATAAGGCGTTCACGCCGCATCCGGCATGAACA
+AATCGCACGTTGTCAGCAATCTGAGCAAGCCTTACTTCACATCATCCGGCAGCGCATAAGCCACAATATA
+GTCGCCCATCTTCGTACCAAATGAACCGTGACCGCCTGCGGAGATCACCACATACTGCTTGCCATTCACT
+TCATAGGTCATTGGTGTAGCCTGACCACCCGCTGGTAAACGACCCTGCCACAGTTTTTCACCGTTGCTCA
+TGTTGTAAGCGCGCAGGTAGTTATCTGCCGTAGCGGCGATAAACAGCACGTTACCCGCCGTGGAGATTGG
+CCCGCCAAGCATCGGCATACCCATATTGAACGGCACCGGTACAGGCATCGGGAATGGCATACTGTCCTGC
+GGCGTACCAATACGTTTCTTCCACACCACTTCATTGGTTTTCAGATCCAATGCCGAGATATAGCCCCATG
+CTGGCTGTTTACATGGCAGACCAAACGGTGAGAGGAACGGGTTGAGCGTGACGCCATACGGTACACCGTA
+CTGCGGCTGGATGCCGGATTCCGTACCCGTGCCTTTGGCATCTTTCGGCTGTTCCATCGGGTTACCAGGA
+CCGCGTGGGATCAGTTTCGAAACAAACGGCAGTGCCATTGGGTTGGCAATCGCCACTTCACGATTCGGAT
+CAACGGAAATCCCGCCCCATTCGAACATCCCCAGGTTACCCGGGAAGACCAGCGTACCCTGTTCAGATGG
+CGGCGTGAAAATGCCTTCATAGCGCATCTGGTGGAACATCACGCGGCACACCAACTGGTCAAACATGGTG
+GCACCCCACATATCCGCACCGCTCAAATCTTTCGTCGGACGGAAGCTCAGTTCCGAGAAGGGTTGAGTAG
+GGGTCACGTAATCGCCTTTGGCAGCACCTTGGGGAACCGGTTTTTCCGGGGCCGGAACCACCAGTTCACC
+ATTACGACGATCGAGCACAAAAATGTTGCCGGTTTTCGCCGGAGCGTAAATAACCGGCACTTTCTGACCA
+TTAACGGTGATGTCCGCCAGCGTCGGCTGTGCCGGAAGATCCATATCCCACAGGTCGTGGTGAACGGTCT
+GATAGCTCCACGCCAGTTTCCCGGTAGTGGCATTCAGCGCCAGAATCGAGCTGGCATAACGTTCCTGTTC
+CGGTGTGCGGTTACCACCCCAGATATCTGGCGTGGTGACGCCCATCGGCAGATAGACCAGATCCAGCTTC
+GCGTCATAGGCCGCTGGTGCCCACGAGTTTGGTGAGTTAAAGGTAAAGGTATGTTCGTCAGACGGGATCG
+CATTCGGATCTTTCGCGCCCGGATCAAAAGCCCACAGCAGCTCCCCGGTGTTGACATCAAAACCACGGAT
+CACGCCAGACGTTTCGCGGGTTGAGAAGTTGTCGGTGACTGAACCGGCCATCACGATGGTTTTATCGGTG
+ATAATCGGCGGCGAAGTCGGCTCATACAGACCCGGTTTGGTGTCCGGCATATTGCTTTGCAGATTGAGCA
+CGCCTTTATTGGCGAAGGTTTCGCACAGCTTGCCGTTTTCAGCGTTAATTGCAATCAGACGACCATCATT
+GACCGGAAGAATGATACGACGCGGGCAATCCGCCATCACTTCCGGCGAAGCAGTTTCTGCTTTGGCTTCA
+TGATAAGAGACGCCACGGCAGGTTACATGCTGGAAGGACTCGTTGGTTTTCAGCTCAGGATCGTAATGCC
+ATTTCTCTTTACCGCTGGCGGCATCCAGCGCAAACAGACGTTGATGCGCGGTACACAGGTAAAGGGTGTC
+GCCCACTTTAATTGGCGTCACTTCATTGGTGATTTCGCCCGGATCGTTCGGCTGCTTCACATCGCCAGTA
+CGGAACACCCAGGCTTCTTTCAGCTTGTGGACGTTATCAGCGTTAATTTGCTTCAGTGGTGAAAAGCGTT
+GACCTTCCTGATTGCGACCATAGGCAGGCCAGTCCTGATCGGCAACGGGGGAGATGGCTTCTGCTGGCGT
+GGTATCGGCGCTTAAGGTGCCGCTGATTTCCTGCGGATCGTTAAATCCGGCCCAGGTCAGGATACCACCG
+CTAATCAGCAGTGCGACCACCAGTGCGGCAACTGCGCCGCTGGCAGGAATGACCAGGCGACGCCAGACAA
+ACGGCAGGATCAGCCAGATGCCGAAGAAGACCAGAATGTCGCTGCGCGGAGTCAGCGCCCAGAAGTCGAA
+ACCAACTTCCCAGACGCCCCAAATCATAGTGCCGAGCAGCAGGGCTGCGTACAGCCAAAGCGCGGCGCGT
+TTACTGCGCCACAGCATCCAGGCGACGCCGAGCATCACAAGGCCAGCGATAGGGTAGTACCAGGAGCCGC
+CAATCGCGACCAGCCAGCCTCCGCCAATGAGTAGATACAGCCCGCAAAGCGCTGCAAAAAGGGCTGTTAG
+CGTGACGAGTAATCGCCGCGAGCCGGTATTGTTAATTGCCATAAAGAGACACCATTTCAATTCATTAATA
+TTTTAGTAGCAATTAATTATAGGTTTTAACATGTGTGATCGTCATCACAATTCGAGCTTTATTAACAGAT
+TCCGCGAATGAATAGTTTTACTGGTATACTGCGTGTCTTGCGCTTTGTTGCGGTGCCAAAACCTGCCCGT
+GCGAAGTGATTTGTTTTTAAATCATATGGTTATAGATATGAAACATACTGTAGAAGTAATGATCCCCGAA
+GCGGAGATTAAGCGCGTATCGCCGAACTGGGTCGTCAGATTACTGAGCGTTACAAAGACAGCGGCAGCGA
+TATGGTGCTGGTGGGTCTGCTGCGTGGCTCATTTATGTTTATGGCGGACCTGTGCCGTGAAGTTCAGGTA
+TCTCATGAAGTCGACTTTATGACCGCCTCCAGCTACGGTAGCGGCATGTCCACCACCCGTGATGTGAAAA
+TCCTCAAAGACCTGGATGAAGATATCCGTGGCAAGGACGTGCTGATTGTTGAAGATATCATCGACTCGGG
+GAATACACTGTCGAAAGTGCGTGAGATCTTAAGCCTGCGCGAACCGAAGTCGTTGGCGATTTGTACGCTG
+CTGGATAAACCGTCCCGTCGTGAAGTGAACGTCCCGGTAGAATTTATCGGTTTCTCGATCCCGGATGAGT
+TTGTGGTGGGTTACGGCATTGATTACGCACAGCGTTACCGTCATCTGCCGTATATCGGCAAAGTGATTCT
+GCTGGACGAGTAAGTGTGAAGTTGCCGGATGTGTTGCATCCGGCATGGCGAATTTATTTGTGATTGATGT
+GCTTCAGCTTGAGGTTGGAGATCCCGTGACGGTAACGTTGCTCAAGGGTTTCGCGGTTAGTCGCTGTGAC
+ATCCAGATCACGCAGCAAGCCGTCGTGAATGCCGTAGGCCCAGCCGTGAATGGTAACTTTCTGCCCGCGT
+TTCCACGCTGATTGCATAATGGTGGAGTGGCCCAGGTTATACACCTGTTCCATGACGTTCAGTTCACACA
+AGGTATCCAGACGGCGCTCTTGCGGCATTTCGCCGAGCAATGAGCTATGTTTGAACCAGATATCGCGGAT
+ATGCAGCAGCCAGTTGTTGATAAGCCCCAGTTCTGGGTTTTCAACTGCGGCTTGTACGCCGCCGCAACCG
+TAGTGGCCACAGATAATAATGTGTTCAACTTCGAGTACATCCACTGCATACTGAACCACGGAAAGGCAGT
+TCAGGTCGGTGTGAATGACCAGGTTAGCAACATTACGGTGAACAAAGAGTTCGCCCGGCTCAAGACCGGT
+TAAACGTTCTGCAGGAACGCGACTGTCGGAACATCCAATCCATAGAAAGCGCGGTTTTTGCGCTTGTGCC
+AGTTTCTCAAAAAACCCGGGATCCTCTTCCACCAGCATTTTTGACCATAGTGCATTGTTGCTGATGAGTG
+TATCTATGTCTTTCATGGAGGTTAACGACCTGTAACCAAATAATTACGTTTGGCTAATATAGGGCAACTC
+CGGGACGATTTAAACCACAGATAAAGTGTAAGAACGTAAGGTAAGTAAAAATTTATGACCATTGCACTGG
+AACTTCAACAGCTTAAAAAAACCTATCCAGGCGGCGTTCAGGCGCTTCGTGGAATCGATTTGCAGGTCGA
+AGCGGGTGATTTTTATGCGCTTCTCGGGCCGAACGGGGCCGGAAAATCGACCACTATCGGTATTATCAGC
+TCTCTGGTAAATAAAACCTCCGGGCGGGTCAGCGTATTTGGTTACGATCTCGAGAAAGATGTCGTAAACG
+CTAAACGTCAGTTGGGTCTGGTGCCACAGGAATTTAACTTCAACCCGTTTGAAACCGTGCAGCAAATTGT
+GGTGAATCAGGCAGGGTACTACGGTGTGGAGCGCAAAGAAGCGTACATTCGCAGCGAAAAGTATCTTAAA
+CAACTCGATCTATGGGGAAAACGCAACGAACGTGCGCGTATGTTATCTGGCGGGATGAAGCGCCGTTTAA
+TGATTGCCCGTGCGTTAATGCATGAACCTAAACTACTGATTCTCGACGAACCGACCGCAGGCGTGGATAT
+TGAACTTCGCCGCTCAATGTGGGGCTTTTTGAAGGATTTAAACGACAAAGGCACCACCATCATTCTCACC
+ACACACTACCTGGAAGAAGCAGAAATGCTGTGCCGCAATATCGGCATTATTCAACACGGTGAGTTGGTGG
+AAAATACTTCGATGAAGGCGCTGCTGGCGAAGCTGAAATCAGAAACCTTTATTCTCGATCTCGCACCGAA
+AAGTCCGTTACCGAAGCTCGATGGCTATCAGTATCGACTGGTAGATACCGCCACGCTGGAAGTTGAAGTG
+CTGCGTGAGCAGGGGATCAACAGCGTATTTACGCAGTTAAGTGAGCAGGGCATTCAGGTATTAAGTATGC
+GTAACAAAGCTAACCGTCTGGAAGAGCTGTTTGTTTCACTGGTTAATGAAAAACAAGGAGATCGCACATG
+ATGCATCTTTACTGGGTGGCGCTAAAAAGCATCTGGGCGAAAGAGATCCATCGCTTTATGCGTATCTGGG
+TGCAGACGCTGGTGCCGCCAGTCATCACCATGACCCTTTACTTTATTATCTTCGGTAACCTGATTGGTTC
+GCGTATTGGCGATATGCATGGCTTCAGCTACATGCAGTTCATCGTACCGGGGCTGATCATGATGTCGGTG
+ATCACCAACGCCTACGCTAACGTCGCGTCATCATTTTTTGGTGCCAAGTTCCAGCGTAATATTGAAGAGC
+TGCTGGTAGCGCCGGTTCCGACTCATGTCATTATTGCCGGATATGTCGGTGGTGGCGTGGCGCGTGGTCT
+GTTTGTTGGTATTTTGGTGACGGCAATTTCACTGTTTTTTGTGCCGTTTCAGGTGCATTCGTGGGTATTC
+GTTGCCTTAACCCTGGTGCTCACTGCGGTGCTATTCTCCCTTGCGGGTTTGCTGAACGGCGTGTTTGCCA
+AAACGTTCGATGACATCAGCCTGGTGCCAACCTTTGTGTTAACGCCACTCACGTATTTGGGCGGGGTGTT
+TTACTCCCTGACTTTGTTGCCGCCGTTCTGGCAAGGGCTGTCGCACCTGAACCCAATCGTTTATATGATC
+AGTGGTTTCCGCTACGGCTTCCTCGGTATCAATGATGTTCCGCTGGTCACTACCTTTGGCGTACTGGTGG
+TCTTTATTGTGGCGTTTTATTTGATCTGTTGGTCGCTGATCCAACGTGGACGTGGTTTGCGTAGCTAAGG
+CTATTTCCTCTCCTCTGGATTTGGGGGAGAGGAGTTTTGACGGCTATCACCCTTTATCAACAATGGTCAG
+GGTAGACTGATTTTCGGCTAAGGAGGAAGGCGATGTTAGGTTGGGTAATTACCTGTCACGATGACCGGGC
+GCAAGAGATACTGGATGCGCTGGAGAAAAAACATGGGGCACTTCTTCAGTGCCGGGCCGTGAATTTCTGG
+CGCGGATTAAGCTCTAATATGCTCAGCCGCATGATGTGCGATGCCTTGCATGAAACGGACTCTGGTGAGG
+GCGTTATCTTTTTAACCGATATAGCCGGAGCGCCACCGTACCGCGTGGCTTCATTATTAAGCCACAAACA
+CTCCCGTTGCGAAGTGATTTCTGGTGTCACGTTACCGTTAATTGAACAGATGATGGCTTGCCGTGAAACC
+ATGACCAGTTCAGCGTTTCGCGAGCGTATTGTCGAACTGGGTGCGCCGGAGGTGAGTAGTCTTTGGCACC
+AGCAACAAAAAAATCCGCCTTTCGTCCTCAAACATAATTTGTATGAGTATTAACCCGCGATTCTGATGAC
+GCTTTTGCTACAATAAAAGCGTTGTTTCACCCTCGGTTATTTTTTCATGTACAAACAAGCTGTTATTCTC
+CTACTGATGCTGTTTACCGCAAGCGTCAGTGCCGCATTACCTGCTCATTATATGCAAACCATCGAAAATG
+CTGCGGTCTGGGCGCAAATTGGCGACAAAATGGTGACGGTAGGGAATATTCGGGCCGGGCAAATCATTGC
+CGTGGAGCCCACTGCCGCAAGTTATTACGTATTTAATTTTGGCTTTGGTAAAGGGTTTATCGATAAAGGC
+CATCTCGAGCCGGTTCAGGGGCGACAAAAAGTTGAAGATGGTTTGGGTGACCTCAACAAGCCGCTGAGTA
+ATCAGAACTTAATAACCTGGAAAGATACGCCGGTTTATAACGCGCCGAGTGTGGGCAGTGCGCCATTTGG
+AGTACTGGCGGACAATTTGCGCTACCCGATTTTGCATAAACTGAAAGACAGGTTAAATCAAACCTGGTAT
+CAGATCCGCATTGGCGATCGACTGGCCTATATCAGCGCGCTGGATGCCCAACCCGATAATGGCTTGCCGG
+TGCTAACCTATCACCATATTTTGCGCGACGAAGAAAACACCCGTTTTCGCCATACTTCGACGACCACCTC
+GGTACGCGCTTTCAATAACCAGATGGCCTGGCTGCGCGACAGGGGATACGCGACACTGAGCATGGCGCAG
+CTGGAAGGTTACGTGAAGAATAAGATCAATCTCCCTGCGCGAGCGGTGGTAATTACCTTTGATGATGGCC
+TCAAGTCGGTGAGCCGCTATGCGTATCCTGTGTTGAAACAATATGGTATGAAGGCGACGGCGTTTATTGT
+TACCTCGCGCATCAAACGTCACCCGCAGAAATGGAACCCAAAATCGCTGCAATTTATGAGCGTTTCTGAA
+CTTAACGAAATTCGCGATGTATTTGATTTCCAGTCACATACTCATTTTTTGCATCGGATAGATGGTTATC
+GGCGGCCTATATTGCTGAGCCGTAGTGAGCACAATATTCTGTTTGATTTTGCACGTTCACGCCGCGCTCT
+GGCGCAATTTAATCCACATGTTTTGTATCTTTCTTATCCATTTGGCGGATTTAATGACAAAGCCGTGAAG
+GCAGCAAAAGAAGCCGGATTTCACCTGGCGGTGACGACCATGAAAGGCAAAGTAAAACCGGGGGATAATC
+CGTTGTTACTAAAACGACTTTATATCTTAAGAACGGATTCGCTGGAGACGATGTCGCGGCTGGTGAGTAA
+CCAGCCGCAGGGATAACAATCAGGCAACCTGTACCGGAATCGCTTTCGCGGTACGTTTCATTTCGTTGTC
+GCCTTCAAAATAGGCGACGTTGGGTCGCCAGGTGCGAGCTTCTTCATCTGGCATGTTAACGAAGCTGGCG
+ATGATGACAATATCGCCGACGCTGGCGCAGTGGGCCGCCGCACCGTTAACAGAAATAATTCTCGAACCGC
+GTTCTGCCGCGATGGCATAGGTGGAGAAACGCTTGCCGTTGGTGACATTCCAGATATCAATGGCTTCGTT
+TTCGAGAATACCGGCTGCGTCAAGAAAATCCTGATCAATGGCGCAAGAACCTTCATAGTGCAGGTCCGCA
+TGAGTCACTTTCACGCGGTGGAGTTTGCCCTGCAGCATCGTGCGAATCATAACTTCTACCTTTCTACCCT
+GTCGTTAACGAAGCAGGCGATGCCTGCTTTGAGGAAATTCTCACGCAGTATTGCCCGATTTTTGTTTAGT
+GTCTACTCATCTGACGGCATTTGCAGCAGCAGTTTGCGTACCGTGCCGAAGCGTGCCATGTAACGCCTGT
+AACCAATTGAAATTTATCTGAACACTGCTCGGTAAACACTAAAGAGGCGGCTGACGACGGCACACCTTGA
+CTGGATACTGCCTTCACGCAAGACCACACGGAAGGCAGGGAAGATGGATGCACCGAGTACCACACCGCAT
+GATGCGGTGTTTAAACAATTTTTAATGCATGCGGAAACGGCTCGCGACTTTCTGGATATCCATTTGCCAG
+CGGAGCTACGCGAACTGTGTGACCTCGACACGCTGCATCTTGAGTCGGGGAGTTTTATTGAAGAAAGCCT
+GAAAGGGCACAGCACTGACGTGCTTTATTCCGTGCAAATGCAGGGCAACCCCGGTTATTTGCATGTTGTG
+ATTGAACATCAAAGCAAGCCGGATAAGAAAATGGCCTTTCGCATGATGCGTTATTCTATTGCTGCCATGC
+ACCGGCATCTGGAGGCTGACCACGATAAGCTGCCGCTGGTGGTGCCAATTCTGTTTTATCAGGGCGAGGC
+CACACCTTATCCGCTATCAATGTGCTGGTTTGATATGTTTTACTCACCGGAACTGGCGCGACGCGTCTAT
+AACAATCCTTTCCCGCTGGTGGATATCACTATCACACCGGATGACGAAATCATGCAACATCGGCGGATTG
+CGATTCTCGAACTGCTGCAAAAACATATTCGCCAGCGCGACTTAATGTTATTGCTGGAGCAACTGGTCAC
+GCTGATTGACGAAGGGTACACTAGCGGAAGTCAGTTAGTTGCCATGCAAAACTATATGCTGCAACGCGGT
+CATACTGAACAAGCGGATTTGTTTTATGGTGTGGTGAGAGACAGGGAAACGGGAGGGGAGTCTATGATGA
+CGCTGGCGCAGTGGTTTGAAGAGAAGGGAAGACAGGAGGAAAGGCAGGAGGTAAGACAGGAGGTAAGACA
+GGAGGTAATACAAGAGGTTAGACAGGAAGTAAGACAGGAATACGCCCTGCGTTTTCTGAGTAAAGGGATG
+TCTCGGGAAGACGTTGCAGAGATGGCAAATTTACCTCTTGCTGAGGTTGATAAGCTGATTAGCTAAGTTA
+TCTGCATTATCAGTTATAGCCAGATAATTGTTATTGTTAACTGACCAGATAATTAAGGGAACATATGGAA
+ATAAAGACACGGAGAGAAACCAGGCAGACGTTGGCGCAGTGGTTTGAAGAGAAGGGATTTCAGAAGGGAT
+ATAAAGAGGGACTCCAGAAGGTAAGACTGGCCCAGCGTCTTCTGAGTAAAGGAATGTCTCGGGAAGACGT
+TGCAGAGGTGACAGCTTTATCTCTTGCAGAGATTGATAAGCTAATTAACTCTAACTAAGTTGTCTACGAT
+ATGAATAATTGCCTACAGATAACGTGGCAATGAATAACTGGCGCCATCAGCCGTAGCGCCAGTTAAGCAT
+TACGCCAGTTCGACTAGTTTGTTGTCGATCAGGCGAGCATCGCCAAGCCAGGCGGCTACCAGAATCACCG
+CTCGTTTGCTGTTTTCAGAGATTTCCAGCAAGGTGTCGGCATCGCGAATCTGAATATCATCGGAACGGAA
+ACCTTTTTCATTCAGTTCTTGCCCGGCAATAGCAATAATTTCATCGAGATCCCGTTCGCCAGCCTGCAAT
+TTGTCGGCAATTGAACTTAAGACTTTGTAGAGACCCGGCGCAATTTTACGTTGTTCCGCCGTCAGATAGC
+CGTTACGGGAACTGAGCGCCAGACCGTCTTTCGCGCGCATAATCGGCACTCCGACAATCTCAATATCGAA
+GCCCATATCGGCAACCATTTTGCGGATCAGTGCCAGTTGCTGAAAATCCTTTTCACCGAAGCAGGCGATA
+TCTGGCTGGACCAGGTTGAACAGCTTGCTGACAATAGTCGAAACGCCGCGAAAATGTCCCGGACGGCTGG
+CACCTTCCAGCATGGTGGAAAGACCGGGAACATCAACATAGGTGTGGGTTTCAGTACCGTTCGGGTAGAT
+CTCTTTTACCGAAGGCGCGAAAACTAAATCCACTTTACGTTTGTTCAGCTTTTCGCAGTCCTCTTGCAAG
+GTCCGTGGATAACGTGCCAGATCTTCCGGGCGGTCAAACTGCATTGGGTTAACGAAAATACTGACGACGA
+CCACATCGGCGCGGGCTTTGGCTTCGTCGACCAGCTTCATATGGCCATCGTGCAGGTTACCCATGGTGGG
+CACCAGCGCCACGCGCTTACCTTCCATACGCAGGCGGCGAATTTGCTGACGCAGCAGCGGCAGGGTTTCG
+ATAATTAACACAACGTCACTCCTTAATGGAAACTGTGTTCTTCGCCCGGGTAAACGCCGGACTCCACTTC
+AGCCATATACTGCCGCACAGCCGCGCGGATGTCGCCCGTTTCGGCGAGGAAATTTTTGGCGAATTTAGGA
+ATATGACCGCCGGTAATGCCGAACGCGTCGTGCATCACGAGAATTTGCCCGTCAGTGACGTTGCCTGCGC
+CAATACCGATAACCGGGATTGCCAGTGCTTCGGTAATGCGTTTTGCCAGCTCAACCGGCACGCACTCCAG
+TACCAGCAGTTGTGCCCCAGCAGCTTCTAAGGCTAATGCATCGCTGAGCAGTCGATCGCCCGCTTCATCG
+CCGCGCCCCTGGACTTTGTAGCCACCGAAAATATTCACTGACTGTGGGGTTAGGCCTAAATGACCACAAA
+CTGGAACGGCACGTTCGGTCAGCATTTGTACGGTTTCCACCAGCCACTCACCGCCTTCAATTTTGACCAT
+GTTGGCTCCGGCACGCATTACCGTTGCGGCGTTTTCAAAGGCTTGTTCCGGCGTGGCATACGCCATAAAT
+GGCAGGTCAGCCAGCAGAAGGCAGTTTGGCGCGCCGCGACGCACAGCGGCGGTGTGATAGGCGATATCGG
+CAACGGTAACCGGTAGCGTGGAGTCATGCCCCTGGACCGTCATGCCCAGTGAATCGCCTACCAGCATGAC
+GTTAATCCCTTCATCGGCAAACAGTTTTGCGAAGCTATAGTCGTAAGCGGTGATGGTTGCGAAACGTTTT
+TTGTCCTGCTTGCATTTCTGCAATGAAGCAATCGTGGTTGGTTTCATAGCGTATCCTGATAAATGATGTT
+GTGCTGTCTCGCATTTTATCAGTCACATTGGTGGGGGCAATGATTTATCCGTATCGCACCGCCGTTGTCT
+GGCGGTGCGATAGTGTTATCAGGGGTAGGTAACCTGAAAAGTGCTGGTGGCTTTAAAATCCCCCGGTTCT
+ATAGCAATATTACCGTCTTGTTTTAATGTAGCCTGGAAATGAAGAGGTTGAGAGGTCCCACCGTTGCCAT
+TATCCGGGAAAATCCCCCCAGTAGTGTCATTTTCTGTTTCATAATCTTTATAAATAGACGTTGCATCATT
+TGGTTTCAGTACCATTTGTGCACTTTTAGTGTTTTTTAAACCTTCAATCAGTACACCAACGCCTTTTGCT
+GCGTCATTTCCTGTGAGTGTGTTAGCCAAAAGTTCTTTGCTTACACTACCCACCTTGTTTGACTTGAGTT
+TTGTTTCTATATTGCGAACACGAATACAGTTCTGTAGCGTGATATCAAAAGGAACCGCTGTTGCGCCATT
+TTTTATTTGTGCAGGGCTATAAATCACCCATTTTAACCGTTGAACCACTTACCGATGGGCCACTAAGCGC
+AGCAGTAAAACAGGTAGGGTTTGTTAATACGATATCTGTCAAGTCAAAGTCGATTTTAAGAAAATAACTC
+TTGATACTACCGCCAGCATTATATGCTTTGAATGAGTAGAGATAACTATCTGTTCTGGATAATGTTACCC
+GTTGATTCGTTGTCGGGTTAAAGTCGGTATCGGTATAAAATTCAATCGTGAGCGTTTGCATAACGCCACC
+AACGGCCCAGTATTTTTTGCTGCTATTCGCGTTGTTGCAAGACCAATATAGGGTTTGCTCGCTTTCGCCA
+CGCCAGTTAAAAGATTGGCTCGTAGAATCGCCAATATACATGCCTGATGGGTTGATATCAGTAGATGTAA
+GTGTTGACCAAATGTTTGATATTGCTAACGTGTAATACAGGCCTGGAACAGATGTCTTAAAGAGTTTATG
+TCCGCCATAACTTTTTCCGGAATCAACCATTTTATGTTCAATAGACATTGGTGCGCCGCTTGAGTTACTA
+CTCCTGTTACAGTAAAGGAAACCTCCACCCGAAGCGGAATCTAACTGCGCCCATTTTAATGACACCCCGG
+TTGGGCCAAGTTGGGTTGGTTTATAAAAAACTAAATTATTGGTGCCTGAACCATACCGGAATTTGACGGT
+AACATCTCCATTGGGACCTGTCTCTCGCCATTTTTGGTCTGATGGACCAACACCGTAATTATTCCCAACA
+ATATAGCCGACGTCATCATCGGTGCCGGCGCTTGCTGTATAACAACAAGAGCATAGTGCTAAAAAAAGAA
+AGTATCTGAAGAATGTCTTCATTTTTACTCCATTGTCATGCTGCAAGATAATACTTGTAGCACTTTGTCT
+GTTATTCGTAGTAGATATCCACTAACACATGGCTTATCAGTGGGCCAGAGGTGACATTCAGTGCTGGATC
+GATTTTTTGCATTCGGGTACTAAATTTCCAGGATGAATTATTTAGTGCTGATGACATGACCGGATAAACG
+GAACGTGAGCTACCAGTGGCACTAAGAACGTTGAAGGTATTTGCCGGGTCCTGAATAGAAAATATAACTA
+CCCCAACATTTTTAGCCCCGGCGTTGTCTTCATTAGCGAATATTTGACTGGAACCTGTCGCCATTACGCC
+ACTAAGTGCGCGAAAATTAATATGTAACTGATTTAACACATTCCCTGTGCCCTGAAGTGTGCAGTCCTGT
+ACTGTAATAGTGAACTCTTTTCCACCGGGGTGATAATTTTCGGCTGAAATGTTTCCGGTAAAATCGCCCA
+CGCCAACGACACCTAAATCAATATTTCCGTTGTTGCTGATTCCACTTTGGCAGGTGTTATTTTTTATATT
+TGCAACAATGTCAACATCCTGTCCTGCAACCACAGGGGAAGTGGCGCTGAATAGCAACGACAGAATCAGA
+ATTGATTTTTTCATCAGATTACGTTGAGTGGGACGCATATTTAGTTCCTGAATCAGTCTGCCTGTTAGTT
+ATAAGTCACGGTGAATGTTGCCGGGGCAGTGAAATCACCCGCAGTGACATTTGTGACAGTTTTATCTTTT
+GCGACCACCAACACCGCACTCATTGGGTAATCGACAACATTGCTGCCCGTCGCATTAGCAATACTGACTT
+CTTCTGTTGCGGGGGTGACACAACTGAATTGTTTAGCGCCGTTCTTACCTGGTGTGGATGTGCTCCAGAC
+CTCAACGGCGACCGCCGCTGCTTTTGCTGTTGCCGTTGATGCGTTAGCAAATCCAGGACCATTATTAGAA
+TTACCTTCACATAATGCTCGTGTAGTCAATTTTATTTTGGCCTTTTTCCCGGGAATCCCCGCACAGTCTT
+TGAACTGTAATTTGAAGGTTTTAATTTTAGTTTCGGCATTAATTTCAGAAATATATACATCACCGAAATT
+GATGGTGGAAATTTTAGTTGTACCGTCATCAGTCAACGTTGATGTACAGGTACCCATTTCTACGTCAGTA
+GTAACAGTCAGGCCAATACTGTCAGTGGCCGCATGTGAGGAAATGGTTAACAGTGATGAAGCCAGAAATA
+GACTACCCGATAATCCATAACATAATTTTTTTAATATCATCATTGTCATCCTTGTTATTGATAGCTGAAG
+TTAAAAGTTGCCAGTGCGCGAAACTTGCCTGGAACACCTTTCCCTACACTTGTTTCACGCAGTGCGACAG
+TCATCTCAAGTCCATCGGTGCTAATTTCTGATGCACTCCAACGTATATATTCTGCGCTATTAGGTTTCAG
+AAATGTATCGCCTGAAGTCGCCTTCCTTTTAAATCCCATTCCGATATAGCTTGTGGTGGAGGTTGTATCA
+CTGGCCAGGGGGATAATTAGCGCGGGTGAACTTCCTGATTGATTTCCTGTCAGGGTTGTATCAATCCAGC
+TAATTCCACTGCTGCATCCATTGGCTACCAATTTAAAGTTGGCTTCAGATTGTGCTGTTTTATTGGCTAT
+TTTATCCATTCCCATCGAGGGAATAACTAAGGTGTACTTATCATTTCCATTATCAGTGACATTAGTTCCG
+GTAAGTGTAATATTACAGGTTGTTGCTTTCACGGTAGCGGTAAAATCGACATTAACATCCGTTGCAAATA
+CCGAAGGCGATAACAATAGTCCCATGAGTATTGTTATTTTATGTGGTGTGATTTTTATCATTGGAAGTCC
+CTTGTGGTTACTGTATCTGACAACGAAGTCCGTTCAGAATAATAGATTGTGCTATTTTTTCTGATGTCGT
+GTTTTGTTGATAATGAGCAAAACAACTGACCGGTTTGCCCTCTTCAATCCAGGTAATTCGTATATTTCCT
+TCCTGCCCGATACCGCGAACAAAGGCCTGACCACCCTGACCTACGTTGCCGATGATATTGTTTTGTTCAT
+CATAAATATCCGCTGCAAATGGAATATTTTTACCATCGCTTCGCACGATGTTCATAATTGCCGATTGTCC
+CTGAACTGTTTCAAAATCAGCAAAGACGACGGCTCCCTGGCGCGGGACGGCGACAGTACTGGTGCTTTTC
+AATTCAACATCGTTTTCCAGATCGTTAATGTCCAGTGCGATACGATTTTCATGGTATGGCGAAAGGGCGC
+TGGTCACACCATAACCCCAGCGGTCTACGGTGCTGTTTCCGTAGTTAATACGAGCGCCTTTTGCTCCTGG
+CGCCTGAATGACAGCCAGAGTGTCGGAATCACTAAAACTGTCATTACTGAACGTCAGCCCGCCGCTATGT
+AACACAAATCCACCATCAGTATTGAGTGAGAATTGGCGACTATTATCACTGCTTGCTGAGGCTGAACCTG
+ACAGCGTTCCCCACGGCGATTCATAACTGGCATAACCGCCGATATAACTCAAATCATCACTGGATTTATT
+CATCATATAACCCGTGTTTACGCTGTAGCTGATGCGATTGGTATCGCTGTAACCACTACTGCTGATATTG
+AGTTGGTTATTACCCTTAAAGTCGCTGTTTAATTGTGTATCAATACTCTGGAAGCCGGAGCTGCGGTGTT
+CCGTACCCAGTAAATTTTCTATTGGAATCGTGAAGCTGAGATAAATGCTATCGTCGGTTTGACCATCTTC
+ATTCAACGAACGTTGAGCACTGATACTGTAACTGCCCCAGGACGCACTATTGCTATAACCAATAGAGTAA
+TTAGTACTGTTTTGCCCGGAGGCCCAGTAATCTGACCAGCTTCCCGAGAGATAAAATGAACCGTAATCCT
+TTTTCTCAAATTTCAGCGGTTGGTTGATACTGACCGTGACCTGATTTTTCATGCGCGAGTAATTGCGCAT
+GGATTTAGGTTCAAGCTCTTGCTCAGGATGTTCTACTTCATCAATCAGCGTCAGCGCATCATTGAGGCCC
+AGATAGTGCTGGGTGGAGTAGCGATAGGCCGCGATATTTAATGATGTACTGGTATTTTCAAATAACTTGT
+TCCAGGAAATACGGTAGCTTTGTCCTTGATAGGTTTTATCGTCCGGAATGCTGACATTTGAGTGAGTAAC
+ATCGACAGAAAAAGCCCCCACGGGGGTATTCATACCAAGCCCCAGCAATCCGGCGGTGTAGTTATTATCA
+GTTAGCTGAATACCGGTATATCCTGTCAGGTAGTTATTCAAACCATAGTAGTAGCTGGCTTGAAATAAAT
+TAGGCTCATCCTGGATACTGTCTTTTAAAACCTGACCGGCGCTAATATCCCAGCGACCAACGCCAGGGCG
+CAGCATTTGCACAACAGATGAAAATGGCTGAGAGAACGTCCGTTTTGTGCCATCAGCTTCTTCGATAGTC
+ACAATGAGATCGCTGCCATAACCTGACGGGCTAAGATCGTCAATGGCAAAGGCCCCTGGCGGCACCGTCG
+TTTCATAGATTTTATAACCATTTTGCATAACGGTTACTTTGGCATTGGTATTCGCTACGCCATGAATGAT
+TGGCGCAAAACTGGCTAATACCGGAGGCAGCATTCGACTGTCACTGTATAAGCGAATACCGCGAATGCTG
+ACTGAATCGAAGGTCTCGCCGGTCGTGTAAGATTCACCAATAACCAGTTGTGAACGTAGTGACGCAAGAT
+CGCGTTGTAAATAGCGATTCTGAAAATCGTAATCGCTATGGACATTGGTCATCCAGTTGTAGTTACCTGA
+GGCACGTAACCGCCACGCGCCTAAGTTTATCCCACCGTTGAATGCCGCATAGATACTGTCATTTGTTCTG
+CCTGGACTTTCACTGTGATATCCATTGAGGTTGTAGGAAAGCATGGCTGCATTAATGCCATTTTCCCACA
+AAGAGGGATCAACATAGTTTTGATAATTCTTCATAATCCATGCCTGGGGGACATCGATATCCAGGCGTTG
+ATCGTTAACATCGTAACGAATGGATGATTGAGGGATCATTTCAGCCAGATTGAGGCAATCACCAAGATCT
+TCGTCTCGCTTAAGCAAAATGGCTTTTTCGCTATTCTTGTCTGGTGAACTGATATGGAATTGCAATAAAT
+TTTTCTGCGTAATGCAGGCCTGAGCGTTCTTTTTACCTTCAATAACAGCAAAAGCAATGCTTTGGCTCAT
+GATGGGTTGATCGTTAACATACACACTGACATCGTAAATGCCAGGTAGTGTGGGATTGCCTTCTGTATAC
+CGACTAAGGTCGATATTTGAAGCATCCTTTCCCATCAGAAATGTATGGTCATATTCGACGAGTTCAGCGC
+ATAAAGCACTATTGCTATACAGCAGAGCGCAAAACGTGGCGATGTGGGTAAGGTGATTAGTAGATTTAAT
+AGTCACGTTCTGCTTCCTGCTGTGTTATATCCTTGCCAGATTAAAGGTTGGCGTTGCCTTCAATAGATCC
+ACCAAAATCATTAATGGCGAAAAAATGCACTTTTGCAGAGCTTGTTCTGCCACTCATCCCATTTACCTTG
+ATGACGTCGTTACTGAACGGCGCAATCATTGTCATATCCAGGGGGTAGCGTTTGCCGTTGGCTTCTAAAT
+CACCACTGCTAAAAGAGACATAGTAGGGCGTAGGGTTATCAACGCGTAATGCTGCTTTGCCTTCAGATGT
+TGCCCAGGACCACTTCAGAGCCAATGGTGCATCAGATGAAATTCCACTCAATCCTTCCGGGCGATAGAAC
+AGTTTTATACGTGTGCGAAATGCCAGTTGTAGCAGGCTTTGGTTTGCTGCTTTTGCTGCATCTGGTTTTG
+GAGGTACTTCCAGTACGTTAAACCAGAACACACTTTCTCTGTCTTTTGGCAGAGCACTGCTGGCGGTGTA
+CATCAGTTTGATTGTTTGGCCACGTTTAGCATCAATACGTGATACTGGCGGCGTAGCGGTAAAGGGGACA
+GTAATACTGCCTGGTTCAGCGTTGTCATCGCCAGTATCTAACCAACTCTGAACCAGCAATGGGTTATTGC
+CTTTATTTTCCAGACGTACATTGACGTTTTTTTGTTCGCTTTTATAAACTACGCGTGTACCTGAAATTAC
+GATGTCTGCAATAGCTGATGAGCTAAAAGCCATACAGCTCGCTAAGCACAATGCTGCGGTATGTTTAGTA
+TTAAAAAACATAAACCATTCCTTACAGAATTAATTAAAACAGGGAATAATTATCAAAAGTAAAAATATTT
+GATGTTATTCCCTGTATATATTCATCCGATCAATTTAAGCGGTTGATATTTACTGGTAAGTAATGGTATA
+TGCTGAGTTGGTTTTTACATAACCGGCAGTAGCTGCTTTGCTTGCATCCGCACGAACATAGGATGCTTTA
+AAATCGTAGGTTGCAGATTTAGACGTTGAATCCAGAGTTTTGCTGTAAACATCACCCGGATTATTGACCT
+GAACCTGTTTAATAATAGAACCTTCAATATTGTGCAGAGCGATATTTACGCCGTCAGACGGGGTGTTAAT
+AGACATGTCGTTGTTCAGTGTTCCTTTGCTGTTACCAAAGAAAACAGAACCGAAGGTCATTTTTGCAGTA
+GTACCCGGAGCCGGGTTAGCTTTGCTACAGTCAATAGTAATGCTGAATGGTTTAGCTTTAGCACCTACGG
+TGGTATCCAGTACACCATCGGTGATTTCAGCAACGGTAGCAGTTTGCAGCAGGATCAGACCGTCTTTGTT
+ACCGCCATCAACACGAGCTTCACAGGTGTTATCAACGACCAGGCCGCTAATATTTAACTGACCACCGTCC
+ATATCGTTAGCAGCAAATGCAGTACCAGCAGCCATTGCCAACATAATACCGGACAGCACAAAACCTAATT
+TTTTAGACATAAAAATCCTTTATCAATATTCCATAAAGCAGATAACAGCATTGCATGATGATGAGATTTT
+GATGCAATGCCATGTAACTGAACGTTACTTTGTTAATGATGTCTGTTTGTTTTTTACCAAGTATAACATT
+CATTCATCATTGGACAGACATTCTGCATAATATCATGACATATGGAAGTTAATTTTACTAAACATAAAAA
+TTAGTAAAATTAACTTTAAAAATTAAGGGGGGTGGTGTATGGAATTAGAAGTTCAGGAAATTATATTATA
+TTTTCTGTGTTTTTATTTATCTTAAATATATTATTATTTGCAATATCTTGAGGCTATTTTCAGAATATAT
+TTATATTCACACGAAAAATAATTACCACTTATCTAATTCATTAAAGCCTTTTGCCTGTAGAGCTTCAACT
+AATGATAAGCCATCAGGAAATACCAATTCCGGCGCAATTTCAAACAGTGGCCACAGCATAAAGCCACGAT
+TTTTCATATCGTAGTGCGGTACGGTCAGACGTTCGGTATTTATTACTTCATTACCAAACAGCATGATGTC
+GAGATCCAGCGTGCGCGGTCCCCAGCGTTCAGCTTTACGGACGCGACCTTGCTGCAATTCGATACGTTGT
+GTGTGATTGAGTAGCTCTTCAGGGGCAAGAGTGGTTTCCAGCGCGACGGCGGCATTTAAGTAATCGGGTT
+GATCTTGCGGCCCCAGCGGTGGGGTGCGGTAAAACGAAGAAACAGCAAGAATGCGGCTTTCTGGAATATC
+GCCTAATGCTTTCAGGGCAGCATTGACCTGCTCCAGCGGAGAGGCCAGATTGCTGCCTATGGCAATATAC
+GCCACTGTCATGCGGTACCCTCACGACGCGGTGCGCGTTTGCGTGGACGACGAGTACGACGACGCGGTGA
+CGGTTCTTCATCCAGTTCGTTAAGCATCCCTTTTTGGTCTGGTGGCGCGGAAACCTGGAACTCACCCCAC
+CATTTCACCAGACGTTGCAGTTCAGCGTTACGCTCAACTTCGGCTCGTAAGGCCAACAGGTCGTATGCCG
+CACGGAACTTAGGATGCTCCAGCAGTTTCCATGCGCGTTTTCCCTGACGACGGGACATACGCAACTGCAA
+CTGCCAGATATCGCGGGTTAGCGTGGTCAGCCGTTTCGGGATCGCCAGTGAACGGCAGGCTTCGTCCAGC
+ACGTCGTTCATCGCCAGTGCGAAAGCGTCGTGATAGGTCAGGCCGCTTTCCTGGGCGATCTTCTGTGCCG
+TCTCCAGCAATGGGTACCAGAACATGGCGGCAAACAGGAACGCCGGGTTCACGCGCATATCGTTATGGAT
+ACGCGTATCGGTATTCTTCAGTACCTGCTCAATAATGCGTTCCATCGGGCTGTCGCCATTTTCCGTGAAG
+TAGCGGGTAATGGTCGGGAACAGCGGCTGGAACAGATGATATTCACACAGCAGCTTATAGGTTTCGTAAC
+CGTAGCCCGCTTGCAACAGTTTCAGCGATTCTTCAAACAGACGTGCCGGTGGGATATCGTTCAGTAAGGT
+TGCCAGGCGTGGGATCGGCTCGGCGGTTTCCGGGCTGATGCGCATGCCCAATTTGGCGGCAAAACGAACC
+GCGCGAAGCATCCGTACCGGATCTTCACGGTAGCGCGTTTCCGGGTTACCAATCAGACGGATAACGCCGT
+CTTTCAGATCCTTCATGCCGCCAACGTAATCACGGACGGTAAAATCTGCCACGCTGTAATACAGGCTGTT
+GATAGTGAAATCGCGGCGCTGGGCGTCTTCTTCGATGGAGCCGAAAATGTTGTCGCGCAGCAACATACCG
+TTTTGCCCGCGTTGGGAGGTCGTGCGGTCGCTGACGTTACCTTCGTGATGTCCACGGAAGGTCGCAACTT
+CGATAATCTCCGGGCCAAACATCACATGAGCCAGACGGAAACGGCGACCCACCAGGCGGCAGTTACGGAA
+CAGTTTGCGCACCTGCTCTGGCGTGGCGTTGGTGGTCACGTCAAAATCTTTCGGCTTTTTGCCAAGTAAC
+AGGTCGCGCACGCCGCCGCCAACCAACCAGGCTTCGTATCCCGCTTTATTGAGCCTGTACATTACCTTCA
+GGGCATTTTCACTGATATCTTTGCGGGAAATAGCATGCTGCTCACGCGGGATCACCGTCACCTGTGGACG
+GGCGACTGCCTGTTCAGCCTCGCTTTCCTCGCGGCTTAGCACCTTGCGGCAAAAATTAGCGACTCGGGTA
+AAAATAGTACACCTCGGTAGTGTCAAACATCATTCAGGACAAAAAAATAGCGGCTAATCATAGCTCAGCA
+TGACGCATTTGAGAATGTTGAATTTACAATTGCCGACTCAGGCACGGCGGTCAGCGTCCAGTTTTTGACG
+GCTGACTGAAGGATTTGCTCGACGCTGAAATCCTGCCAGTGTGTTTCTACCTGCTGACCCAGAAAATGAA
+GTGCCGCGATTAACACCGGGCGCGGATCGCCTTTCGGCAACGTAGGCGCATGATTCTGCTTGGAAAGTTT
+AGCGCCTTGTGGATTAAGCGCCAGCGGTAAATGGATGTAATCTGGCACTTTCCAGCCAAAAAGCTGGTAC
+AGCGAGATTTGCCGCACCGTCGGTTCGATCAAATCTGCCCCGCGGACAATTTCGCTTACGCCCTGGAAGT
+GATCATCCACCACCACCGCCAGGTTATAGGCAAACAAACCATCACGGCGATGAATAATAAAATCTTCCCG
+TGCCAGTTTTTCGTCGGCGTGAATAATGCCTCGCAGCAGGTCAGTAAACTGGGTGACCGGATGCTGCTGG
+CGGATACGTACTGCGGCGTTGTCTGGTCCATGATGCAAATCCCGGCAATGACCGTCGTAAATACCGCCAA
+TGCTTTGAATACGCGCACGCGTGCAGGTGCAGTAATAACTTAGTCCTTGCTCATGTAACCAGGCGAGTGC
+TTCGCGATAGGCGTGGTGACGTTGCGATTGCCAGAGAACGTCGCCGTCCCAGTACAGGCCGTAATGTTCC
+AGCTGGCGCAGGATAGTTTCTGCGGCACCGGGAACTTCACGAGGCGGGTCGATATCTTCAATGCGTACCA
+GCCAGCGACCTTGCCGGGCGCGAGCCTGCAAATAGCTGCCAAGCGCAGCAATCAGAGAACCAAAATGAAG
+CTCGCCGGAAGGAGAGGGGGCGAAGCGGCCAATATAGTGTGTGTCTGTCATCTCTTTGAACAAAAAATAA
+GGCGGGAGCATTTCCCGCCTGTGGTAAACGTGATGGAACGGCTGTAATTAGCCAGCCATCTGTTTTTCGC
+GAATTTCAGCCAGCGTTTTGCAGTCGATGCACAGATCGGCTGTCGGGCGCGCTTCCAGACGGCGAATACC
+GATTTCAACACCGCAGGATTCGCAGTAGCCGAAATCTTCGTCTTCCACTTTTTTCAGCGTCTTCTCGATC
+TTTTTGATCAGCTTACGCTCGCGATCGCGGTTACGCAGTTCGAGGCTGAACTCTTCTTCCTGGGCTGCAC
+GGTCTACCGGGTCCGGGAAGTTGGCTGCTTCATCCTGCATATGTGTAACGGTGCGATCGACTTCATCCCT
+GAGTTGATTACGCCATGCTTCCAGAATACGACGGAAGTGCGCCAGCTGGGCTTCATTCATATACTCTTCG
+CCCGGCTTCTCCTGATATGGTTCCACCCCAGCGATGGCGAGAATACTCAGGGACGATGTTTTACGGTTTT
+GCCCTTCTTGCATGTTGCTTCTCCTTAACACGCACTATCGATCCCCATGTTCGGGGGAAAAATGAGGCCG
+CTATAAATAGCAGATGCTTTTCCGGATAGCAATTATCTAAACGTAACACTTGACAACTGTGTGAGGAAAA
+GCGTATTTGCGCACGCGACCAGAATGTAAATTAACCAGTTACTTACTCTACTACAATGTAACCGGTAGTG
+ATTTTTTAAGAGCCATGCCTTCGGCAGAAAGTTCCGCTTTGTAAGCCAGAATTTCTACCCCCCTCTGTTG
+AGCTTCTGACAATAGTTGCGCGTATTTCTCATCGATGTGGCGCGCGGGTGAAAACCGTGTAATGGCTGAA
+TGCAGCACGGCGAAAAAGATAACCGCACGCTGGCCTTCAGCCGCTACGCTCATCAACTCCCGAAGGTGTT
+TCTGACCTCGTTCAGTGACCGCATCGGGAAAATATCCCTGTTCGTTCTCCGCTAACGTAACCGATTTCAC
+TTCAATATAGCAGTCTGGACGCGAATCCGCCTGCAACATAAAGTCAATACGGCTGCGTTCGGCGCCGTAT
+TTTACTTCGCTTTTCAGCGAGCTATAGCCTGCCAGCTCTGAAATTGATTCATTAAGGATAGCCTCTTTCG
+TCAACCTGTTAGCCCAAAGCGTATTGACGCAAATAATTGCGCCGCTCTGGCTTTGAGTTAATTCCCAGGT
+GTGTGGGTATTTCCGTTTGGTGTTGTCTGAAGTCGAATACCAGACGGTATCGCCAGGCGTTGCACAACCG
+GTCATCGCACCCGTATTCGGGCAGTGTAGCGTTAATTCGCGACCATCGGGTGTGATCACATCGGCTAAAA
+AACGTTTGTAACGCTGAATTAGCGTCGCGCGCTGTAGAGGGGGAGAAAATTCCATTGCGACAATCCTTGT
+TATTGCGTTAGCGCCCAGCGTTTTAGCGGCGTGTAGCGTGTGCGTCCACGGGCAAACGAGGAGGCGTAAA
+GGGTGAACTCCGTCACCGTATACGACCAGTTAAAACCTGGCGGCGGGATTGTCACCGCCTCGCTGGCGTC
+GCGCAATAAGGTAATATGTGGATGAAACGGACGATTGCTTTGAAAACAACCGCTGCGGGCAGCCTGTGAG
+CGGAGCATATTCGCCAGCTGGATTAAGCCGCGAGGCGGCTGTCGCATCCCTAACCACACCATACGCGAAC
+GCAGCCATTGACCGGCGTCATCAAGCGTGAGTGTGAAACCAGGTTGACGAATCCGTCCGGCTAAAAGAGA
+AAGCGCCTTCTCTTTCTCTGCGCTCACTTCGCCTAAAAATGCCAGAGTCAGATGCAAATTATCGGCGGCG
+ACCGGACGTCCCGCCTCAGGTGGGAAGTGTGTGGCGCGCCAGCGGATAATCTGTTCGCGGATTTCTGCAG
+GTAAGTCGATAGCAAAGAACAGCCGTTGCGGTTCAGACATGTGAGGCACTCGGTTATGAATTACCGCGAT
+GCTACAATGTGGCGCGAAGAATGTTAACCCTCTGGAGCGTTTTGTGTCGTCGTTGCCCGTTGCTGCCGTC
+TTACCTGAGTTACTTGCTGCCCTCGATGGTGCATCGCAGGTGTTATTAAGTGCGCCGACCGGGGCCGGGA
+AATCAACCTGGCTGCCGCTGCAACTGCTGGCGCATCCCGGCATTAACGGGAAAATTATCCTGCTGGAGCC
+GCGTCGTCTGGCGGCGCGTAACGTTGCGCAACGACTGGCGGAGCTGCTTAACGAAAAGCCAGGCGATACC
+GTTGGCTACCGGATGCGTGCGCAAAACTGCGTCGGGCCGAATACCCGCCTGGAAGTGGTTACCGAAGGCG
+TGCTGACGCGGATGATCCAGCGTGACCCGGAACTGAGTGGTGTTGGATTGGTGATCCTTGATGAATTTCA
+TGAGCGCAGCTTGCAGGCGGATTTGGCATTGGCGTTGTTACTCGATGTGCAACAAGGTCTGCGTGATGAC
+CTTAAACTGCTGATTATGTCGGCTACGCTGGACAACGACCGCTTGCAGCAAATGCTGCCAGAAGCGCCCG
+TCGTCATCTCAGAAGGGCGCTCGTTTCCGGTTGAACGCCGTTATTTGCCGCTGCCCGCTCATCAGCGTTT
+TGACGAAGCCGTCGCGGTTGCTACCGCCGAAATGCTGCGTCAGGAAAGTGGATCATTACTGTTATTTTTA
+CCTGGCGTCGGAGAAATTCAGCGTGTGCAGGAACAACTGACTTCACGCATCGGCAGTGATGTGTTGCTCT
+GCCCGCTGTATGGCGCGTTGTCGCTGAACGATCAGCGAAAAGCGATCCTCCCGGCACCGCAAGGGATGCG
+CAAAGTGGTGCTGGCGACCAATATTGCTGAAACAAGTTTAACCATCGAAGGTATTCGTCTGGTGGTGGAT
+TGTGCCCAGGAAAGGGTGGCGCGTTTTGATCCGCGTACAGGGCTTACGCGGTTGATTACTCAACGCGTTA
+GTCAGGCGTCGATGACGCAACGTGCCGGGCGTGCCGGGCGTCTGGAGCCGGGTATCTGCCTGCATTTAAT
+CGCCAAAGAACAAGCAGAACGCGCTGCCGCGCAAAGTGAACCGGAGATCTTACAAAGCGATCTTTCCGGT
+TTGCTGATGGAATTACTGCAATGGGGATGCGGCGATCCGGCGCAGATGAGCTGGCTGGATCAACCGCCAA
+CGGTGAATCTACTGGCCGCGAAACGCCTGTTACAGATGCTGGGGGCGCTGGATGGCGAACGCCTAAGCGC
+GCAAGGGCAAAAAATGGCAGCGCTGGGTAACGATCCGCGTTTAGCGGCAATGCTGGTTAGCGCGAAGAAC
+GACGACGAAGCTGCTACCGCGGCAAAAATTGCCGCCATTCTCGAAGAGCCGCCACGGATGGGCAATAGTG
+ACCTGGGCGTGGCGTTTTCGCGCAATCAACCCGCCTGGCAGCAACGTAGTCAGCAACTGTTAAAACGCTT
+AAACGTACGCGGCGGTGAGGCAGACAGTTCGCTTATCGCGCCGCTACTTGCCAGAGCGTATGCCGATCGC
+ATTGCTCGTCGCCGTGGGCAAGATGAACGCTATCAACTGGCGAACGGCATGGGGGCGATGCTCGATGCCG
+ACGATGCGCTAAGCCGCCACGAATGGTTGATCGCACCGTTATTATTGCAGGGCAGCGCCTCACCGGATGC
+ACGGATTTTACTGGCGCTGCCGGTCGATATTGATGAGTTAGTACAACGCTGCCCGCAGCTGGTACAGCAG
+TCTGACACTGTGGAGTGGGATGACGCGCAAGGTACGCTGAAAGCCTGGCGTCGGCTGCAAATTGGTCAGT
+TGATGGTTAAAGTGCAACCGCTGGCGAAACCCTCGGAAGACGAGTTGTATCAGGCGATGCTTAACGGCAT
+TCGTGATAAAGGTTTAAGCGTGCTCAACTGGACGGCGGAAGCGGAACAGCTACGCTTGCGTTTGTTATGC
+GCCGCAAAGTGGTTGCCGGAATATGACTGGCCAGCGGTTGATGATGAAAGTTTGTTGGCGACGCTGGAAA
+CGTGGCTACTGCCGCATATGACAGGCGTACATTCGCTACGCGGCCTGAAATCACTCGATATTTATCAGGC
+ACTGCGTGGATTACTTGATTGGGTAATGCAGCAACGTCTGGATAGTGAATTGCCTGCGCATTACACTGTG
+CCGACGGGAAGCCGGATCGCCATTCGTTACCATGAAGATAACCCGCCCGCGCTGGCGGTGAGAATGCAGG
+AGATGTTTGGTGAGGCCACTAATCCGACTATCGCCCAGGGGCGCGTACCGTTGGTGCTGGAGTTGCTTTC
+CCCTGCCCAAAGGCCGCTGCAAATCACGCGTGATTTGAGCGCCTTCTGGAAAGGAGCGTACCGTGAGGTG
+CAAAAAGAGATGAAAGGGCGTTATCCCAAACATGTCTGGCCGGACGACCCGGCAAACACCGCACCGACGC
+GACGAACGAAAAAGTATTCGTGAAGACCAAAGCAAATTTGAGAGATATCTTCTTCTGTCTTGCAACAGAA
+GAACAGAAAATCGGGCTTTTGCGCCTGAATATTGCGGAGAAAAAGCATGGCCGGGAATGACCGCGAGCCA
+ATTGGACGCAAAGGGAAACCGACGCGTCCGGTCAAACAAAAGGTAAGCCGTCGTCGTTACGAAGATGACG
+ATGATTACGACGATTATGATGACTATGAGGATGAAGAACCGATGCCGCGCAAAGGTAAGGGCAAAGGCAA
+AGGGCGTAAGCCTCGTGGCAAACGCGGCTGGCTATGGCTGCTGCTAAAACTGGCTATCGTTTTTGCCGTG
+CTGATCGCCATTTACGGCGTTTATCTCGATCAAAAAATTCGTAGCCGTATTGATGGCAAGGTCTGGCAAT
+TGCCCGCGGCAGTTTATGGTCGAATGGTCAACCTTGAGCCAGACATGACCATCAGCAAGAACGAGATGGT
+GAAGCTGCTGGAGGCGACCCAGTATCGCCAGGTGTCGAAAATGACCCGTCCTGGCGAGTTTACCGTACAG
+GCCAACAGCATTGAGATGATCCGCCGTCCGTTTGATTTCCCGGACAGCAAAGAAGGGCAGGTGCGCGCGC
+GTCTGACCTTTGATGGCGATCATCTGGCGACGATCGTCAATATGGAGAACAACCGTCAGTTCGGTTTCTT
+CCGTCTTGATCCGCGCCTGATCACCATGATTTCTTCGCCAAACGGTGAGCAGCGTCTGTTTGTGCCGCGC
+AGTGGTTTCCCGGATTTGCTGGTGGATACTTTGCTGGCGACAGAAGACCGTCATTTCTACGAGCATGATG
+GGATCAGTCTCTACTCAATCGGACGTGCGGTGCTGGCAAACCTGACTGCCGGACGCACGGTGCAGGGGGC
+GAGTACGCTGACGCAACAGTTGGTTAAAAACCTGTTCCTCTCCAGCGAGCGTTCTTACTGGCGTAAAGCG
+AACGAAGCCTACATGGCGCTGATCATGGACGCGCGTTACAGCAAAGACCGTATTCTTGAGCTGTATATGA
+ACGAGGTGTATCTCGGTCAGAGCGGCGACAACGAAATCCGCGGCTTCCCGCTGGCGAGCTTGTATTACTT
+TGGTCGCCCGGTAGAAGAATTGAGCCTCGATCAGCAGGCGCTGTTGGTGGGTATGGTGAAAGGGGCGTCC
+ATCTACAACCCGTGGCGTAACCCGAAACTGGCGCTGGAGCGACGTAACCTGGTACTACGTTTGCTGCAAC
+AGCAACAAATTATTGATCAAGAACTCTACGACATGCTGAGTGCGCGTCCGCTGGGTGTTCAGCCGCGCGG
+TGGGGTGATCTCTCCTCAGCCAGCCTTTATGCAGCTGGTGCGTCAGGAGCTGCAGGCGAAATTAGGCGAT
+AAGGTAAAAGATCTCTCCGGCGTGAAGATCTTCACTACCTTTGACTCGGTGGCCCAGGACGCGGCAGAAA
+AAGCCGCCGTGGAAGGCATTCCGGCACTGAAGAAACAGCGTAAGTTGAGCGATCTTGAAACCGCGATTGT
+GGTTGTTGACCGCTTTAGCGGTGAAGTTCGTGCGATGGTCGGTGGTTCTGAGCCGCAGTTTGCGGGCTAC
+AACCGTGCGATGCAGGCGCGTCGTTCGATTGGTTCCCTTGCAAAACCAGCGACTTATCTAACGGCCTTAA
+GCCAGCCGAAAATCTATCGTTTGAATACGTGGATTGCCGATGCGCCAATCGCGCTGCGTCAGCCGAATGG
+CCAGGTCTGGTCACCGCAGAACGATGATCGTCGTTATAGCGAAAGTGGCAGGGTGATGCTGGTAGATGCG
+TTGACCCGTTCGATGAACGTGCCGACGGTGAATCTGGGCATGGCGTTGGGGCTACCTGCGGTTACGGAGA
+CCTGGATTAAACTGGGTGTGCCGAAAGATCAACTGAATCCAGTTCCAGCAATGTTGTTGGGGGCGTTGAA
+CTTAACGCCAATCGAAGTGGCGCAGGCCTTCCAGACTATCGCCAGCGGTGGTAATCGTGCTCCGCTTTCC
+GCGCTACGTTCAGTCATCGCAGAAGACGGCAAGGTGTTGTATCAGAGCTTCCCGCAGGCGGAACGCGCTG
+TTCCGGCGCAGGCGGCGTATCTGACACTATGGACCATGCAGCAGGTTGTACAACGCGGTACGGGTCGTCA
+GCTTGGGGCGAAATACCCGAACCTGCATCTGGCAGGGAAAACAGGGACTACCAACAATAACGTAGATACC
+TGGTTTGCGGGCATTGATGGGAGCACGGTGACCATCACCTGGGTCGGCCGTGATAACAACCAGCCGACCA
+AACTGTATGGTGCCAGCGGGGCAATGTCGATTTATCAGCGTTATCTGGCTAACCAGACGCCAACACCGCT
+GAATCTTGTTCCGCCGGAAGATATTGCAGATATGGGCGTGGACTACGACGGCAACTTTGTTTGCAGCGGT
+GGTATGCGTGTCTTGCCGGTCTGGACCAGCGATCCGCAATCGCTGTGCCAGCAGAGTGAGATGCAGCAGC
+AACCGTCAGGCAATCCGTTTGATCAGTCTTCTCAGCCGCAGCAACAGCCGCAACAGCAACCTGCTCAGCA
+AGAGCAGAAAGACAGCGACGGTGTAGCCGGTTGGATTAAAGATATGTTTGGGAGTAATTAACGTCTAAGC
+GTGATATACCGGATGGCGAGCTGCCATCCGGTAAAATAACATCCCCTCCAAAGTATTAACCCTTTCTTTT
+CATCTGATTGTTTATTGACCCTTCAGGAATGCGCAGATTGCGTACCGCTTGCGAACCCGCCAGCGTTTCG
+AATATTATCTCATCTTTATAATAATCATTCTCGTTTACGTTATCATTCACTTTACACCAGAGAAATACCA
+ATGGCACCTTCCAAAACTGCTCAGCCAAAACACTCACTGCGTAAAATCGCAGTTGTAGTAGCCACAGCGG
+TTAGCGGCATGTCTGTTTATGCACAGGCAGCGGTTGAACCGAAAGAAGACACTATCACCGTTACCGCTGC
+ACCTGCGCCGCAAGAAAGCGCATGGGGGCCGGCTGCAACTATTGCGGCGCGACAGTCAGCTACCGGCACT
+AAAACCGATACGCCGATTCAAAAAGTACCTCAATCTATTTCTGTCGTCACCGCTGAAGAGATGGCGCTGC
+ATCAGCCTAAGTCGGTGAAAGAAGCGCTTAGCTATACGCCGGGTGTCTCTGTTGGTACGCGTGGCGCATC
+CAACACCTATGACCACCTGATCATTCGCGGTTTTGCGGCAGAAGGCCAAAGCCAGAATAACTATCTGAAT
+GGCCTGAAGTTGCAGGGCAACTTCTATAACGATGCGGTCATCGACCCGTATATGCTGGAACGTGCTGAAA
+TTATGCGTGGCCCGGTTTCCGTGCTTTACGGTAAAAGCAGTCCTGGCGGTCTGTTGAATATGGTCAGCAA
+GCGTCCGACCACCGAACCGCTGAAAGAAGTTCAGTTTAAAGCCGGTACTGACAGCCTGTTCCAGACCGGT
+TTTGACTTCAGCGATGCGCTGGATGATGACGGCGTTTATTCTTATCGCCTGACCGGTCTTGCGCGTTCTG
+CCAATGCCCAGCAGAAAGGGTCAGAAGAGCAGCGTTATGCTATTGCACCGGCGTTCACCTGGCGTCCGGA
+TGATAAAACCAATTTCACCTTCCTTTCTTACTTCCAGAACGAGCCGGAAACTGGTTATTACGGCTGGTTG
+CCGAAAGAGGGAACCGTTGAGCCGCTGCCGAACGGTAAGCGTCTGCCGACAGACTTTAACGAAGGGGCGA
+AGAACAACACCTATTCTCGTAACGAGAAGATGGTCGGCTACAGCTTCGATCACGAATTTAACGATACCTT
+TACTGTGCGTCAGAACCTGCGCTTTGCTGAAAACAAAACCTCGCAAAACAGCGTTTATGGTTACGGCGTC
+TGCTCCGATCCGGCGAATGCTTACAGCAAACAGTGTGCGGCATTAGCGCCAGCGGATAAAGGCCATTATC
+TGGCACGTAAATACGTCGTTGATGATGAGAAGCTGCAAAACTTCTCCGTTGATACCCAGTTGCAGAGCAA
+GTTTGCCACTGGCGATATCGACCACACTCTGCTGACCGGTGTCGACTTTATGCGTATGCGTAATGACATC
+AACGCCTGGTTTGGTTACGACGACTCTGTGCCACTGCTCGATCTGTACAATCCGGTGAATACCGATTTTG
+ACTTCAATGCGAAAGACCCGGATAACTCCGGGCCGTACCGCATTCTGAATAAGCAGAAGCAAACGGGCGT
+TTATGTTCAGGATCAGGCGCAGTGGGATAAAGTGCTGGTCACCCTGGGCGGTCGTTACGACTGGGCAGAT
+CAAGAATCTCTTAACCGCGTAGCGGGAACGACCGATAAACGTGATGACAAACAGTTTACCTGGCGTGGTG
+GTGTTAACTACCTGTTTGATAATGGTGTAACACCATACTTCAGCTATAGCGAATCGTTTGAACCTTCTTC
+GCAAGTTGGGAAGGATGGTAATATTTTCGCACCGTCTAAAGGTAAGCAGTATGAAGTCGGCGTGAAATAT
+GTACCGGAAGATCGTCCGATTGTAGTTACTGGTGCCGTGTATAATCTTACTAAAACCAACAACCTGATGG
+CGGACCCTGAGGGTTCCTTCTTCTCGGTTGAAGGTGGCGAGATCCGCGCTCGTGGCGTAGAAATCGAAGC
+GAAAGCGGCGCTGTCGGCGAGTGTTAACGTAGTCGGTTCTTATACTTACACCGATGCGGAATACACTACC
+GATACTACCTACAAAGGCAATACGCCTGCACAGGTGCCAAAACACATGGCTTCGCTGTGGGCTGACTATA
+CCTTCTTTGACGGTCCGCTTTCAGGTCTGACGCTGGGCACCGGTGGTCGTTATACTGGCTCCAGCTATGG
+TGATCCGGCTAACTCCTTTAAAGTGGGAAGTTATACGGTCGTGGATGCGTTAGTGCGTTATGATCTGGCG
+CGAGTCGGCATGGCGGGCTCCAACGTGGCGCTGCATGTCAACAACCTGTTTGATCGTGAATACGTCGCCA
+GCTGCTTTAACACTTATGGTTGCTTCTGGGGCGCAGAACGTCAGGTCGTTGCAACCGCAACCTTCCGTTT
+CTAATTTCTCTTTTGGGGCACGGATTTCCGTGCCCGTTTCACAAGTTGGCTGTTATGCAGGAATACACGA
+ATCATTCCGATACCACTTTTGCACTGCGTAATATCTCCTTTCGTGTGCCCGGGCGCACGCTTTTGCATCC
+GTTGTCGTTAACCTTTCCTGCCGGGAAAGTGACTGGTCTGATTGGTCACAACGGTTCTGGTAAATCCACT
+CTGCTCAAAATGCTTGGTCGTCACCAGCCACCGTCGGAAGGGGAGATTCTTCTTGATGCCCAACCGCTGG
+AAAGCTGGAGCAGCAAAGCGTTTGCCCGCAAAGTGGCTTATTTACCGCAGCAGCTTCCTCCGGCAGAAGG
+GATGACCGTGCGTGAACTGGTGGCGATTGGTCGTTACCCGTGGCATGGCGCACTAGGGCGCTTTGGTGCG
+GCAGATCGCGAAAAGGTCGAGGAAGCTATCTCGCTGGTTGGCTTAAAACCGCTGGCGCATCGGCTGGTCG
+ATAGCCTTTCTGGCGGCGAACGTCAGCGGGCGTGGATCGCCATGCTGGTGGCGCAGGATAGCCGCTGTCT
+GTTGCTCGACGAACCGACTTCGGCGCTGGATATCGCCCACCAGGTTGATGTACTGGCGCTGGTGCATCGT
+TTAAGTCAGGAGCGTGGCCTGACGGTCATTGCCGTGCTGCACGATATCAATATGGCGGCGCGCTACTGTG
+ATTATCTGGTCGCCCTGCGCGGCGGTGAAATGATTGCTCAGGGAACGCCTGCGGAAATTATGCGCGGCGA
+AACCCTCGAAATGATTTATGGCATCCCGATGGGTATTCTGCCGCATCCGGCGGGTGCTGCACCTGTGAGT
+TTTGTTTATTGATGAGCGGCTTACCTCTTATTTCGCGCCGCCGACTGTTAACGGCGATGGCGCTTTCTCC
+GTTCTTATGGCAGATGAATACCGCCCACGCGGCAGTTATTGATCCCAATCGTATTGTGGCACTGGAGTGG
+TTGCCGGTGGAGTTACTGCTGGCGCTCGGCATCGTGCCTTACGGCGTGGCGGACACCATCAACTATCGCC
+TGTGGGTCAGCGAACCGCCATTGCCGGACTCAGTGATTGACGTTGGTTTGCGTACAGAACCCAACCTTGA
+ACTGCTGACCGAAATGAAACCGTCGTTTATGGTCTGGTCTGCAGGATATGGCCCTTCACCAGAAATGCTG
+GCACGTATTGCGCCGGGGCGCGGATTTAACTTCAGCGACGGCAAACAGCCACTGGCGATGGCGCGTAAAT
+CACTGACGGAAATGGCAGATTTACTTAACCTGCAAAGCGCAGCGGAAACGCATTTAACGCACTATGAAGA
+CTTTATCCGCAGCATGAAACCCCGCTTTGTGAAGCGTGGTGCACGCCCGTTATTGCTGACGACGCTTATC
+GATCCGCGCCATATGTTGGTCTTCGGTCCAAACAGCTTGTTCCAGGAAATTCTCGATGAGTACGGCATCC
+CAAATGCCTGGCAAGGGGAAACCAACTTCTGGGGCAGTACCGCCGTCAGTATCGATCGTCTGGCGGCGTA
+TAAAGACGTTGATGTGCTCTGTTTTGATCACGACAACAGCAAAGACATGAATGCGCTAATGGCAACCCCG
+CTGTGGCAGGCCATGCCGTTTGTCCGCGCCGGACGCTTTCAGCGCGTTCCGGCGGTCTGGTTCTATGGCG
+CGACGCTTTCGGCAATGCACTTTGTGCGTATTCTGGATAACGCCATCGGAGGTAAAGCGTGAGTAAACGA
+ATTGCGCTTTTCCCGGCGTTATTGCTGGCGCTGCTGGTGGTTGCCGCATCGGCGCTCACCTGGATGAACT
+CCTCGCAGGCGCTGCCGCGCAGCCAGTGGGCGCAGGCCGCCTGGTCGCCGGATATTGACGTCATCGAGCA
+GATGATTTTTCACTACAGCTTGCTGCCGCGTCTGGCGATTTCGCTGCTGGTGGGCGCGGGCCTGGGGCTG
+GTGGGCGTGCTGTTTCAGCAAGTGCTGCGTAACCCGCTGGCGGAACCGACGACGTTGGGCGTTGCTACAG
+GCGCGCAACTGGGGATTACCGTCACGACGCTCTGGGCGATCCCCGGCGCGATGGCGAGCCAGTTTGCTGC
+GCTGGCGGGCGCTTGCGTTGTTGGCTTAATCGTCTTTGGCGTCGCGTGGGGGAAACGGCTTTCGCCGGTA
+ACGCTGATCCTCGCGGGGCTGGTGGTGAGCCTTTATTGTGGGGCAATCAATCAGTTACTGGTTATCTTCC
+ATCATGACCAACTGCAAAGCATGTTCCTGTGGAGCACCGGAACACTGACGCAAACCGACTGGGGCGGCGT
+TGAGCGTTTATGGCCGCAGCTGCTGGGCGGCGTGATGCTGACGTTATTGCTACTTCGCCCGTTAACTCTG
+ATGGGGCTTGATGATGGCGTGGCGCGCAATCTCGGGCTGGCCTTGTCGCTCGCTCGTCTGGCGGCGTTGT
+CGCTGGCGATTGTCATCAGTGCGCTGCTGGTGAACGCGGTGGGGATTATCGGCTTTATCGGGTTGTTCGC
+GCCACTGCTGGCGAAAATGCTGGGGGCGCGGCGTTTGTTGCCACGGTTGATGCTGGCATCGCTGATTGGT
+GCGTTAATTCTGTGGCTTTCTGATCAAATCATCCTCTGGCTGACTCGCGTGTGGATGGAAGTGTCCACCG
+GTTCGGTCACTGCGTTGATCGGTGCGCCGCTGCTACTGTGGTTGCTGCCGCGTTTACGCAGCATTAGCGC
+GCCGGATATGAAGGTGAACGATCGTGTCGCGACTGAACGCCAACACGTGCTGGCGTTTGCCCTCGCGGGC
+GGCGTGCTGCTGTTGATGGCTGTGGTGGTGGCGCTGTCGTTGGGTCGTGATGCGCACGGCTGGACGTGGG
+CGAGCGGGGCGTTGCTCGAGGATTTGATGCCCTGGCGCTGGCCGCGAATTATGGCTGCGCTGTTTGCGGG
+CGTCATGCTGGCGGTGGCGGGCTGTATTATTCAGCGGCTGACCGGAAACCCGATGGCAAGCCCGGAAGTG
+CTGGGGATTAGCTCCGGCGCGGCGTTTGGCGTGGTGTTAATGCTGTTTCTGGTGCCGGGTAATGCCTTTG
+GCTGGCTGTTACCCGCAGGCAGTCTCGGGGCGGCGGTGACGCTGTTGATCATTATGATCGCCGCCGGACG
+TGGTGGATTTTCCCCACACCGCATGTTACTGGCGGGAATGGCGTTAAGTACCGCGTTCACCATGCTTTTG
+ATGATGTTGCAGGCAAGTGGTGACCCGCGAATGGCGCAAGTTCTGACCTGGATTTCCGGTTCGACCTACA
+ACGCGACCGATGCGCAGGTCTGGCGTACCGGAATTGTGATGGTGATTTTGCTGGCGATTACCCCGCTGTG
+CCGCCGCTGGCTGACCATTTTACCGCTGGGTGGTGATACCGCACGAGCCGTGGGGATGGCGCTGACGCCG
+ACGCGAATTGCGCTGCTGCTGTTAGCGGCTTGCCTGACGGCGACCGCGACAATGACCATTGGACCGTTGA
+GTTTTGTTGGTTTAATGGCACCGCATATTGCGCGGATGATGGGCTTTCGACGGACGATGCCACACATCGT
+AATTTCGGCGCTGGTGGGTGGTTTACTGCTGGTGTTCGCTGACTGGTGTGGGCGGATGGTATTGTTTCCA
+TTCCAGATCCCGGCGGGGCTGCTGTCGACCTTTATCGGCGCGCCATATTTTATCTATTTGTTGAGAAAGC
+AGAGCCGTTAATAGAATGCCTCGCCCGGTGGGCGAGGCAAAATCATTACAACTTCGCAAACACCCGACGT
+GCAGCATCGATGGTGTTATTGATATCTTCCATGCTATGCGCCACGGACATAAAGCCCGCTTCAAACGCTG
+ACGGTGCCAGGTAAACACCTTCGTCCAGCATCATATGGAAGAAACGCTTAAAGCGTTCCACGTCACAGGC
+CATCACATCCTGATAGCACGTCACGGACTCGGCGTCGGTAAAGAAAATACCGAACATGCCGCCAACGTGG
+TTTACCACCAGCGGAATTCCGGCTTCTTCTGCCGCTTCCCGCAGACCTTCTGCCAGACGTGTTGTCAGCT
+CATCCAGCGTCTCGTGAACGCCCGGCTGCGCGACTTCATTCAGACAGGCGAAACCGGCTGCCATCGCAAT
+CGGGTTACCGGAAAGCGTACCCGCCTGATAGACCGGACCGGTCGGGGCCAGCGCATCCATTACATCACGA
+CGACCACCGAATGCGCCTACCGGCATTCCACCGCCGATGATTTTGCCGAGGCAGGTGAGATCCGGTTCCA
+CACCGTAATAATCCTGTGCGCCAGCTAGCGCTACGCGGAAACCGGTCATCACTTCATCGATGATCAGCAA
+CGCGCCAAATTCGTCACACAGCGCACGCAGACCTGGCAGGAACTCTGGCAGCGGTGGAACGCAGTTCATA
+TTGCCTGCCACCGGCTCGACGATAATACAGGCAATCTCTTGCGGGTATTGCTCAAACGCGGCGCGTACAG
+AGGCCAGATCGTTATAAGTACAGGTTAAGGTATGTTTGGCGAAATCTGCCGGAACGCCCGGCGAATTTGG
+CTGGCCTAACGTGAGTGCGCCAGAACCGGCTTTCACCAGCAGGCAGTCAGCGTGACCGTGGTAACAACCT
+TCAAATTTAATAATTTTGTCGCGACCGGTAAAACCACGGGCCAGGCGGATGGCGCTCATCGTCGCTTCAG
+TGCCGGAGTTCACCATGCGCACCATATCCATGGTCGGGACCAGTTCGGTCACCAGTTGCGCCATTTTCAC
+TTCCATTTCGGTTGGTGCACCAAAGCTTAAACCACGCTCGGCGGCTTCAATCACGGCATTGCGGATCGCC
+GGATGGTTATGGCCCAGCACCATCGGCCCCCAGGAACCGACATAATCGATATAGGCTTTGCCATCAACAT
+CGTACAGATAAGCGCCGTCCGCTTTTTCGATAAACAGTGGAGTGCCGCCCACGCCAGTAAAGGCGCGAAC
+AGGGGAGTTCACACCGCCAGGGATCAGCTCGCGCGCTGCGCTGTAAAGATTTTCAGACTTACTCATGGAG
+GGTTCCTGATTCGTAGAAAAAGTGAATGGCTGCTATTCTATGTTATTCATAACAAGTTAAATACTCGTCA
+AACATCAGGCTGCTTGTACTGGTGCAATCCTGATTTCTTAGAGTATAAAAGTTTTGTGCATTTGAAACAT
+TACGCTTTGCAAAGGATTTTCATGGAACGTGCGAGTAAAATGCCGTCATCTTATTTGTATGACCAATAAG
+TGATCATTGGATGAAAACTGATACTCCCTCTTTAGAAACACCGCAGGCCGCGCGCCTGCGACGCAGACAA
+CTGATTCGCCAACTTCTTGAGCGCGATAAAACCCCGTTAGCCATTTTGTTTATGGCGGCAGTCGTCGGCA
+CGCTTGTCGGGCTGGCTGCGGTTGCTTTTGACAAAGGTGTCGCCTGGTTGCAGAACCAACGTATGGGGGC
+ACTGGTACATACTGCTGATAATTATCCGCTTCTGTTAACCGTCGCTTTTCTCTGTTCGGCGGTGCTGGCG
+ATGTTCGGCTACTTTTTGGTGCGCAAATACGCGCCGGAAGCAGGTGGTTCGGGGATCCCGGAAATTGAAG
+GGGCGCTGGAAGATCAACGTCCCGTTCGCTGGTGGCGTGTGTTGCCGGTGAAATTCTTTGGCGGGCTGGG
+AACACTCGGCGGAGGCATGGTGTTGGGGCGCGAAGGGCCAACCGTGCAGATAGGCGGCAATATCGGGCGG
+ATGGTACTCGATGTTTTCCGCCTGAAAGGTGACGAAGCTCGTCATACGCTGTTGGCAACCGGTGCTGCTG
+CGGGGCTGGCTGCGGCCTTTAACGCGCCGCTGGCGGGTATTTTGTTTATTATCGAAGAGATGCGTCCGCA
+GTTTCGCTATACGTTAATTTCGATTAAAGCGGTATTTATTGGCGTCATTATGTCGACCATTATGTACCGG
+ATTTTTAATCATGAAGTTGCGTTGATTGACGTCGGTAAACTTTCTGATGCGCCGCTTAATACGCTGTGGC
+TTTATCTGATCCTCGGTATTATTTTTGGCATTTTCGGCCCTATTTTTAATAAATGGGTGCTGGGGATGCA
+GGATTTGCTGCACCGTGTGCACGGTGGCAATATTACCAAATGGGTACTGATGGGTGGTGCGATTGGCGGT
+CTGTGTGGATTGCTGGGGTTTGTGGCACCAGCAACTTCGGGCGGCGGTTTTAACCTGATTCCTATCGCTA
+CCGCGGGGAATTTCAGCATGGGAATGCTGGTGTTTATCTTCGTCGCGCGGGTCATTACCACCTTACTCTG
+CTTCTCTTCCGGCGCGCCGGGCGGTATTTTTGCCCCGATGCTGGCGCTGGGTACTGTGCTGGGAACCGCT
+TTCGGAATGGTTGCCGTTGAGTTGTTTCCGCAATATCACCTTGAGGCGGGGACGTTTGCTATTGCCGGAA
+TGGGGGCGTTACTGGCGGCATCTATTCGCGCGCCGTTAACGGGGATCATTCTGGTTCTGGAAATGACCGA
+TAACTACCAGCTCATTTTGCCAATGATTATTACCGGTCTTGGCGCAACACTATTAGCACAATTTACCGGT
+GGGAAACCGCTATACTCGGCGATTCTTGCGCGCACGCTGGCAAAACAGGAAGCTGAGCAACTGGCGCGAA
+GCAAGGCCGCATCAGCCAGCGAGAATACTTGAACGAAATACCAGGGTATTAGATAATGGCGATTATTATT
+GGGTTAGAATTTGCCCAATTGCCGATGTCGTTTGGAGCAAAATATGAGTGATGACGTAGCACTGCCGCTG
+GAGTTTACCGACGCAGCAGCCAACAAAGTTAAAAGCCTGATCGCTGACGAAGATAACCCGAATCTGAAAT
+TACGCGTGTATATCACCGGTGGCGGTTGCAGCGGCTTCCAGTATGGTTTCACCTTTGATGATCAGGTGAA
+TGAAGGCGATATGACCATCGAAAAACAGGGCGTTGGCCTGGTGGTTGATCCGATGAGCCTGCAATATCTG
+GTCGGCGGTTCCGTTGACTATACCGAAGGTCTGGAAGGTTCTCGTTTCATCGTGACCAACCCGAACGCGA
+AAAGTACCTGCGGTTGCGGTTCTTCCTTTAGTATCTAATCTGCTGTTCATGTGCCGGATAAACTATCCGG
+CACATCTCCTCTCTTCAACGACCATTCTCATCCAGCGCAAACGTCGGTAGCTTAAGATGCCAACGAATAG
+CCGCCAGCCGAATCAATAGCGTCACGACCATGCCCATCATACTGGCTGTTTCCAGTGGTACGGAAAATGT
+GTAATAAGCCGTAGCGTGGACAATACCGCCGATAATACAGGCAGTGGCGTAGATTTCTGTACGTAAAATC
+ATGGGGATTTCGCGGGCCAGTACATCACGAATGATCCCGCCGCCAACGCCAGTAATGACGCCCATACAAA
+CCGCGATTAACGGACCGGCTTCCGCATTAAAGGCTTTATTCACGCCAATGCCGACAAACACCGCCAGACC
+AACGGCGTCCAGCACCGGCAACATCCATTTTGGTAAGCGTCTTGGCTGGCGCACCAGCACGATGGTCAGC
+ATGCTGGTGACCATTGCAACGACCAGATCGGTGGGATCTTTCACCCAAAATACCGGGCCGTGATCCAGCG
+CCATGTCGCGAATTGTTCCGCCGCCTACTGCGGTAACCACGCCCAATACCAGAACGCCAAAAGGGTCCAT
+ACGCAATTTTCCGGCTAACAAAACGCCAGAGATAGCAAATACCGCTGTGCCGACTATATCCAGCCAATAG
+ACGAGCATTGTTCAATCCCCACTGAGCACCTGAAAAGGTCAGGCACTAATCTACCTGTGAAAGCGCATTA
+CAGAGCTGTTGTGCAGCGAGGATAATACGTGGGCTTGCACGTTCAAACCAGTCACTCGTGAGAGGAATAA
+CGGGAATTTTGAGCTGTTCACCCCAGTATTGTTTGATTTTAGGAATTTGGTCCGGTCCGCCTGTAATGAC
+AATCGCCTGTGGCGAGCGTGCTAACACCTGTTCGCGGCTAACTTGCGGCCAGGGAACCCGGCTGTCTTTA
+AAGATGTTTTCTCCGCCACAAAACTTCGAGTACCTGGTTCTGAATCGACTCTTTTCCACTGGGTAAATGG
+CGGATTAATGCCGAATTGCAGAAAAACACGTTTTTTAGGTTTATCAGCATATTGCGCTTTCAATTGCGCG
+TACTGATCCAGCAGGGATTGCGCGGCTTGTTCGGCCTTATCCGGTTGCGGACTCCAGGGGGCCAGTTGAC
+GTAACGCATTGGCAATTTGTTCAATGCTTGTCGCATCGACCCACATCACTTTTATTCCCAGCGAAGCCAG
+CTGGTCAACCTGCCGCTCGGCATTACCTCCACGCCAGGCAATCACCAGATCGGGTTTCAGCGCGACAATG
+CGTTCCAGATTCATCCCCTGCCAGGTGGAAACCTGCCCAATCTTTTGCGCTTGTGGAGGATAGTCGGAAT
+AGCTGCTGACCCCAACCGGCGTGATCCCGGCGGCAAAGGCAAGTTCAGTGTTGGCGGGAGAAAGCGTGAT
+GACGCGCGGCGCGGCATTGAGCCACAGCGGCGCGAGAAAAGACAGGGCGACCAGCGCCCTGAACAGTGAC
+TTAGCCATGTGCCAGTTTCTGCACCAGTGACTCAACCATCAGGCTGGACTGTTTAGCGGCAACAGCCAGG
+AACTCATCGAAGCTAAGATGAGACTGTTGATCGGCCACGTCGGAGATGGCGCGTACTACGACAAACGGGA
+CGTTGAAATTGTGGCAGACATGGGCGATTGCCGTCGCTTCCATCTCTACAGCAATGGCCTGTGGGAAGTT
+GTGGCGGATTTTCGCCAGACCAACAGAACCGTTGATGAAAGCGTCGCCGCTAACAATCAGGCCACGTACA
+GCGTTAAGATTCAGTTCGGCAATGCAGGCCTCAGCGGCAGCGATCAGTTTATCGTCAGCTTTGAAGCCTG
+CCGGGCAGCCTGGTAACTGACCGTATTCATAACCAAATGCCGTGACATCCGCGTCGTGATAACGCGCTTC
+GTCCGAGACAACGATATCGCCCACTTTCAGCGTTGGTGCCAGGCCACCGGCAGAACCGGTGTTAATAATC
+ACATCTGGCTTGCAGTGTTCCAACAGCAAAGTGGCACCCAGCGCCGCAGCGACTTTACCGATGCCCGATT
+TCAGAAGCGCAACCTCGGTTCCATTCAGTTGGCCGGTATAGATTTCGCAACCGCCCAGACTGATAGTTTG
+ACGGTTTTCGATTTTGTCACGCAGCAGCGTAACTTCTTCTTCCATTGCACCAATGATGCCGATTTTCATA
+GATTTACTCGCGATAAGCCCGATTTGAAGGCATAGTTTACCATGCGCTTACGGGGAAGCGTATTTCTCAC
+GCGGGAGAGGACATGGCACAGATTGATTTCCGAAAAAAAATAAACTGGCATCGTCGTTACCGTTCACCGC
+AGGGCGTTAAAACCGAACATGAGATTCTGCGGATCTTCGAGAGCGATCGCGGGCGTATCATCAACTCTCC
+GGCAATTCGTCGTCTGCAACAAAAGACCCAGGTTTTTCCACTGGAGCGCAATGCCGCCGTGCGCACGCGT
+CTTACCCACTCGATGGAAGTCCAGCAGGTGGGGCGCTACATCGCTAAAGAAATTTTAAGCCGTTTGAAAG
+AGCTTAAATTACTGGAGGCGTATGGTCTCGATGAACTGACCGGGCCCTTTGAAAGCATTGTTGAGATGTC
+ATGCCTGATGCACGATATCGGCAATCCGCCGTTTGGTCATTTTGGCGAAGCGGCGATAAATGACTGGTTT
+CGCCAGCGTTTGTACCCGGAAGATGCCGAAAGCCAGCCTCTGACTGACGATCGCTGCAGCGTGGCGGCAC
+TACGTTTACGGGACGGGGAAGAACCGCTTAACGCGCTGCGGCGCAAGATTCGTCAGGACTTATGTCATTT
+TGAAGGTAACGCACAGGGTATTCGTTTGGTGCATACATTGATGCGGATGAATCTCACCTGGGCACAGGTT
+GGCGGTATTTTAAAATATACCCGTCCGGCGTGGTGGCGTGGCGAAACGCCTGAGACACATCACTATTTAA
+TGAAAAAGCCGGGCTATTATCTTTCCGAAGAAGCCTATATTGCCCGGTTGCGTAAAGAACTTAATTTGGC
+GCTTTACAGTCGTTTTCCGTTAACGTGGATTATGGAAGCTGCCGACGACATCTCCTATTGTGTGGCAGAC
+CTTGAAGATGCGGTAGAGAAAAGGATATTTACCGTTGAGCAGCTTTATCATCATTTGCACGAGGCGTGGG
+GCCAGCATGAGAAAGGTTCGCTCTTTTCGCTGGTGGTTGAAAATGCCTGGGAAAAATCACGCTCAAATAG
+TTTAAGCCGCAGTACGGAAGATCAGTTTTTTATGTATTTACGGGTAAACACCCTAAATAAACTGGTACCC
+TATGCGGCACAACGATTTATTGATAATCTGCCTGCGATTTTCGCCGGAACGTTTAATCATGCATTATTGG
+AAGATGCCAGCGAATGCAGCGATCTTCTTAAGCTATATAAAAATGTCGCTGTAAAACATGTGTTTAGCCA
+TCCAGATGTCGAGCAGCTTGAATTGCAGGGCTATCGGGTCATTAGCGGATTATTAGAGATTTATCGTCCT
+TTATTAAACCTGCCGTTATCAGACTTTACTGAACTGGTAGAAAAAGAACGGGTGAAACGTTTCCCTATTG
+AAACGCGCTTATTCCACAAACTCTCGACGCGCCATCGGCTGGCCTATGTCGAGGCTGTCAGTAAATTACC
+GTCAGATTCTCCTGAGTTTCCGCTATGGGAATATTATTACCGTTGCCGCCTGCTGCAGGATTATATCAGC
+GGTATGACCGACCTCTATGCGTGGGATGAATACCGACGTCTGATGGCCGTAGAACAATAACCAGGCTTTT
+GTAAAGACGAACAATAAATTTTTACCTTTTGCAGAAACTTTAGTTCGGAACTTCGCGCTATAAAACGAAT
+CTGAAGAACACAGCAATTTTGCGTTATCTGTTAATCGAGACTGAAATACATGAAAAAAACCACATTAGCA
+CTGAGTGCACTGGCTCTGAGTTTAGGTTTGGCGTTATCTCCGCTCTCTGCAACGGCGGCTGAGACTTCTT
+CAGCAACGACAGCCCAGCAGATGCCAAGCCTTGCACCGATGCTCGAAAAGGTGATGCCTTCAGTGGTCAG
+CATTAACGTAGAAGGTAGCACAACCGTTAATACGCCGCGTATGCCGCGTAATTTCCAGCAGTTCTTCGGT
+GATGATTCTCCGTTCTGCCAGGAGGGTTCTCCGTTCCAGAGCTCTCCGTTCTGCCAGGGGGGCCAGGGCG
+GTAATGGCGGCGGCCAGCAACAGAAATTCATGGCGCTGGGTTCCGGCGTTATCATTGATGCCGATAAAGG
+CTATGTCGTCACCAACAACCACGTTGTTGATAACGCGACGGTGATTAAAGTCCAACTGAGCGATGGTCGT
+AAGTTCGACGCGAAGATGGTTGGCAAAGATCCGCGCTCTGATATCGCGCTGATCCAGATCCAGAACCCGA
+AAAACCTGACCGCAATTAAGATGGCGGATTCTGATGCGCTGCGCGTGGGTGATTACACCGTAGCAATTGG
+TAACCCGTTCGGCCTGGGCGAGACAGTAACTTCCGGGATTGTCTCTGCGCTGGGACGTAGCGGCCTGAAC
+GCTGAAAACTACGAAAACTTCATCCAGACTGATGCAGCGATCAACCGGGGTAACTCAGGTGGTGCGTTGG
+TTAACCTGAACGGCGAACTGATTGGTATCAACACCGCGATTCTCGCACCGGACGGCGGAAACATCGGTAT
+CGGTTTTGCTATCCCGAGCAACATGGTGAAAAACCTGACCTCGCAGATGGTGGAATACGGCCAGGTGAAA
+CGTGGTGAGTTGGGTATTATGGGCACTGAGCTGAACTCCGATCTGGCGAAAGCGATGAAAGTTGACGCCC
+AGCGCGGTGCTTTCGTAAGCCAGGTTCTGCCGAATTCTTCCGCCGCGAAAGCGGGCATTAAAGCGGGGGA
+TGTGATCACCTCACTGAACGGTAAGCCAATCAGCAGCTTTGCCGCACTGCGTGCTCAGGTGGGCACTATG
+CCGGTAGGTAGCAAACTGACCCTGGGCTTACTGCGCGATGGGAAGCAGGTTAACGTGAACCTGGAACTTC
+AGCAGAGCAGCCAGAATCAGGTTGATTCCAGCACCATCTTCAACGGCATTGAAGGCGCTGAGATGAGCAA
+CAAAGGCAAAGATCAGGGCGTGGTGGTGAACAACGTGAAAACGGGCACTCCGGCTGCGCAGATCGGCCTG
+AAGAAAGGTGATGTGATTATTGGCGCGAACCAGCAGGCAGTGAAAAACATCGCTGAACTGCGTAAAGTTC
+TCGACAGCAAACCGTCTGTGCTGGCACTGAACATTCAGCGCGGCGACAGCACCATCTACCTGTTAATGCA
+GTAATCTCCCTCAACCCCTTCCTGAAAACGGGAAGGGGTTCTCCTTACAATCTGTGAACTTCACCACAAC
+TCCATACATCTTCATCATCCTTTGGGCATTTGCACAATGCCGTACGTTACGTACTTCCTTATGCTAAGCC
+GTGCATAATGGAGGACTTATGGCTGGCTGGCATCTTGATACCAAAATGGCGCAGGATATTGTGGCACGTA
+CCATGCGCATCATCGATACCAATATCAACGTAATGGATGCCCGCGGGCGAATTATCGGCAGCGGCGATCG
+TGAGCGTATTGGTGAATTGCACGAAGGAGCATTGCTGGTACTTTCACAAGGACGAGTCGTCGATATCGAT
+GACGCGGTGGCACGTCATCTGCACGGTGTGCGGCAGGGGATTAATCTACCGTTACGGCTGGAAGGTGAAA
+TTGTCGGCGTAATTGGCCTGACAGGTGAACCAGAGAATCTGCGTAAATATGGCGAACTGGTCTGCATGAC
+GGCTGAAATGATGCTGGAACAGTCGCGGTTGATGCACCTGTTGGCGCAGGATAGCCGTTTGCGGGAAGAA
+CTGGTGATGAACCTCATTCAGGCTGAGGAGAATACTCCCGCACTTACTGAATGGGCGCAACGGCTGGGGA
+TCGATCTCAATCAACCGCGAGTGGTGGCTATTGTTGAGGTCGACAGCGGTCAGCTTGGCGTGGACAGCGC
+AATGGCGGAGTTACAGCAACTGCAAAATGCGCTGACTACGCCCGAGCGTAATAATCTGGTGGCGATTGTC
+TCGCTAACCGAAATGGTGGTGTTGAAACCGGCGTTGAACTCTTTTGGGCGCTGGGACGCAGAAGATCATC
+GTAAGCGAGTTGAACAACTGATTACCCGCATGAAAGAGTATGGCCAGTTGCGTTTTCGCGTTTCGCTGGG
+CAACTATTTTACCGGTCCTGGCAGTATTGCCCGATCCTATCGTACGGCGAAAACGACGATGGTAGTGGGG
+AAACAGCGGATGCCAGAAAGTCGCTGCTATTTTTATCAGGATCTGATGTTACCTGTGTTACTCGACAGTT
+TGCGTGGCGACTGGCAGGCCAACGAACTGGCGCGACCGCTGGCGCGGCTGAAAGCGATGGACAATAACGG
+CTTGCTGCGGCGAACGCTGGCGGCGTGGTTTCGCCACAATGTGCAACCGCTGGCAACGTCAAAGGCGTTG
+TTTATTCATCGTAATACTCTGGAATATCGGCTTAATCGTATATCGGAACTGACCGGGCTTGATTTGGGCA
+ATTTTGATGACAGGTTGCTGCTGTATGTGGCGTTACAACTGGATGAAGAGCGGTAGGTCGATTACAAAAT
+TACAGCCGGGTGAGACTTTACCCGGCCCACAGAATGGCATTATTTACGCGTCAGTTTTTCCAGATCGGCT
+TCAATCTCGCTGATCTTATTGGTTACTACTGACTCCAGGTGACGTAAGTCGTCGAGGATCTTACGCTTAA
+GATCAACTTCGCTGCGGTCACGCTGGCAGATTTGATCAAGCTCATCAATGATATACCGTAGATTCGGGCT
+AATTTCCTGGACTTCTTTATAACCCTGACCCACACCATCAGCGACGACCGTTTTACGCTGACGCGGGTAT
+TTAAACTTCACGCTCTTGGCGAAAAACTCGCCTTTGTCTTTCTGGAAATAGATTTTCAGAATATCGTTGT
+TGGCTTCCTGCCGGAGGCTGTAACGATCAATTTCTTCAGGATTGGTAATACCCAGACTTTTCAGATTGTC
+GTACATAGCGTTACCTCAAAATGAGTCAGTAAATTGTGCTTATTTTAGCATTTGGCCTGGCCCGCCCGGC
+TCGACTGTGATCGCAGAAAGCCTTTTTCTTCCAGACTTCTATCATGGCGTAAAAATCAAAAAATTACCTG
+CTTTATTGTGGTGATATTCCATGGGATGGATTAGCACATTTATCTTCATTTTGCGAATTACATGACAGTC
+CGAAACAAGATGAAAAAGTATTTAAAAAAGGGGGAAAATGAGTAGGACGAATTATTCTGAGCCAGAAAGC
+AATCGGGCAGCGTCGTGCTGCCCGTGTACATACTTTTAGTCGATGGTACGCAGCAGTTCGTTAATACCAA
+CTTTGCCGCGAGTTTTCGCGTCAACTTTCTTAACGATAACCGCACAGTAAAGACTGTATTTGCCATCTTT
+CGACGGCAGATTGCCTGAAACAACCACAGATCCCGCCGGAACGCGACCGTAGTGGATTTCGCCGGTTTCA
+CGGTCGTAAATACGGGTGCTCTGACCAATGTATACGCCCATAGAGATGACGGAACCTTCTTCGACAATCA
+CCCCTTCAACCACTTCAGAGCGTGCGCCGATGAAGCAGTTATCTTCAATAATGGTCGGGTTAGCCTGCAG
+CGGCTCCAGCACGCCGCCGATACCCACGCCACCGGAAAGGTGGACGTTTTTACCAATCTGCGCACAGGAA
+CCGACGGTCGCCCAGGTATCAACCATGGTGCCTTCATCAACATATGCGCCGATGTTGACGTAAGACGGCA
+TCAGCACTGTGTTACGGGCAATGAACGCGCCCTGACGCACTGCCGCTGGTGGCACGACGCGGAAGCCTTC
+TTTCTGGAAACGTGCTTCATCGTAGTTAGCGAATTTCATCGGCACTTTGTCGAAGTAGCGGCTTTCTGCC
+CCTTCGATCACCTGATTATCATTAATACGGAAAGAGAGCAGCACCGCTTTTTTCAACCACTGATGCGTCA
+CCCACTGACCGTCAATTTTTTCCGCTACACGCAGTGCGCCGGAATCCAGCAGGGCGATCACCTGATTTAC
+CGCTTCGCGGGTAACGGTGTCTGCATTGGCTGGCGTGATCTCGGCACGGCGTTCAAAAGCGGTTTCAATA
+ATGTTCTGTAACTGCTGCATTGTTAAACTCTTTTCATATCAGTAAACACATCACCCTTTATCGTTTGGAT
+TGAGGGCCTCTGTCAACCGCTGATGCACTTCCTGCTGCAACTCGTTATTAAGCGCACGCCGGTCAGCGGT
+GGCAATTATGAATAAATCTTCTACTCGCTCGCCAATGGTTGTAATTCGGGCGCCATGAAGCGAAATTCCC
+AGATCGGCAAAAATTTTCCCGACTCGCGCCAGCAGTCCAGGTTGGTCGAGGGCGATCAGTTCGAGGAACG
+ATTTGCGGTCGGTATGGGTCGGCAAAAACGTCACTTCGGTTTCAACAGTAAAATGGCGCAATTTGGCGGG
+TTGGCGACGGGGCTGCGGTGGCTGCCAGCTACTTTGTGTCAGTACTTGCTCCAGACCAAACCGAATAACC
+TCATGACGATCTGCGGATAGCGGGCTACCATCGGGTTCCAGCACTATAAAGGTATCCATCGCCATACCGT
+CGCGAGTGGTGAAAATTTGTGCGTCGTGAACACTTAAATTGCGGCGGTCTAATTCGGCACAGACGGCGGC
+AAACAGATAGGGGCGGTCCGGGCTCCAGATAAAAATCTCGGTGCCTCCACGCGTAGCCTGCGGGCTAAGC
+AGTACCAGCGGTTTGCTTAAATCATGCTGTAATAAATGGCGTGCGTGCCAGGCCAGTTGATTTGGGCTAT
+GGCGGACAAAATAGTTAGCGCGACAGCGTGACCAAATTTGGTGCAGCGCCTCTTCGTCGATGTTATCCAT
+GCGCAGTAGTGCCAGCGCCTGGAGTTGGTGATGGCGAACCCGTTCGCGCATATCCGGCGTGTTTTGCATT
+CCGCGTCGTAGCTGCTTTTCGGTGGCAAAATAGAGTTCGCGCAACAGACTTTGCTTCCAGCTATTCCACA
+GTGTTTCGTTGGTGGCGCAAATGTCAGCCACTGTCAGGCATACCAGATAGCGCAGACGATTTTCCGTTTG
+AACTTCTTCGGCAAACTGCTTGATGACTTCCGGGTCCTGAATATCGCGGCGCTGAGCGGTCACCGACATC
+AGCAAGTGCTGGCGAACCAGCCATGCGACCAGCTGTGTTTCGCGTGAGTTCAGCCCGTGGAGTTCGGCAA
+AATGCACTACATCCTGAGCACCGAGAATGGAGTGGTCGCCGCCGCGTCCTTTGGCGATATCGTGAAACAG
+CGCGGCGATGAAAATCAGCTCAGTTGACGGCAGGCGCGGCCAGACGTCCACACACAACGGATGGCGCTGG
+CGCGTTTCTTCACTGGCAAAACTCTCCAGTTTCAGCATCACGCGGATAGTATGTTCATCCACCGTGTAGG
+CATGGAACAGGTCAAACTGCATCTGCCCGACGATATGCGACCATTGCGGCATATACGCGCCGAGCACGCT
+ATGGCGATGCATTGGCAATAGCCCGCGCCGCACCGCTCCGGGGTGACGCAGAATGCTCAAAAACAGTTTT
+CGCGCTTCCGGAATATTACACAGAGGTTGTTGCAGATGGCGACGGGCGTGGCGTAACTGGCGTAGCGTGG
+TGGAGTAAATGCCGGTGATCGCACTGTTGCGCACCATGGTGTAGAACATACGCAAGATGGCTTCCGGCTG
+GCGCATAAATAGTGTTTCATCACGCAGGTCGATCAGCGTTCCGCGTAGCTGAAACTCATCGTCGATTGGA
+CGTGGTTTTTCGTCGGCGGGAAGGGCGAGGATGGCTTCATCGAACAGTTGCAGCAGCATCTGGTTGAGTT
+CACTGACGCGGCGTGTAACGCGGAAGTAATCCTTCATCATCCGCTCGACCGGTTCGTTACCTTCACCACT
+GTAATTCAAACGCTGGGCGACGCTAAGCTGGCGATCGAATAACAGGCGATTATCGTAACGACTGACGACC
+AGATGCAGGGCAAAGCGAATGCGCCACAATATATGCAGGCATTCGTTTAATTCCGCTCTCTCCGCAGAGG
+TTAAGAAGCCAAACCCTACCATTTCATCCAGCGATGTTGCTCCAAAATGACGGCGGGCCACCCATTGCAG
+AGTGTGGATATCGCGCAAGCCGCCGGGGCTACTTTTGATGTCTGGTTCAAGGTTGTAGCTGGTGCCGTGG
+TAACGCTGATGGCGCTGGTTCTGTTCTTCAACTTTCGCCGCGTAGAACTTGTCGGAAGGCCAGAATCCTT
+CGCTAAAAATATGTTTTTGCAGTTCGAGGAACAGCGCAACATCGCCAATTAATAAGCGGGATTCGATTAA
+ATTGGTGGCGACGGTTAAATCCGATAACCCTTCCAGCATGCACTCTTCAAGCGTGCGCACGCTATGACCT
+ACTTCCAGCTTTACATCCCAGAGCAGCGTTAACAGCTCGCCCACTTTTTGCGCCTGATCGTCCGGGAGCT
+TTTTACGGCTTAAAATCAGTAAATCGATGTCAGAAAGTGGATGCAGCTCGCCACGACCGTAGCCACCGAC
+GGCGACCAATGCCAGGTCGGCAATCTGGCTGAATCCCGCTTCAATCCATAATCGTTGAAGAAGCTGGTCG
+ATAAACTCGGTACGCGCCTCAATCAACTGTTCTGCGGAGATACCATTGTCAAAGGCATCACCCAGCCAAC
+GCTGGAAAGTATCGATATGGGCTTTTATCCCACCGACGGTTAATTCATCACGGGGCCAGGCGCATGGATT
+TTGCGGTTGACCGTGCAGGGTGGGGAGAGCGGTGTTTGCGTACTGTTCTGGAAGGGTATTCATTGTGCGC
+CACCCATAAGATTAAATTATTGCATTAAAAAAGCCGGCATTCGCCGGCTTCATTTTATTCGTCGTGCGAG
+ATTATCGCCGGGATGGTGTCATCCTTGCGTAGCGTCAGAATTTCGCAGCCGTTATCAGTCACCACAATAG
+TATGCTCATATTGTGCAGACAAGCTGCGATCTTTGGTTTTTACCGTCCAGCCATCTTTCATGGTGCGGAT
+CTCTTTTTTACCCGCGTTGACCATTGGCTCGATGGTGAACGTCATCCCCGGTTTCAGCACGACGTTGGTT
+TCACGGGAGTCATAGTGCAGCACCTGCGGTTCTTCGTGGAAGCCGCGACCAATACCGTGTCCACAATATT
+CACGAACGACGGAGAAGCCTTCTGCTTCGACAAATTTCTGAATTGCCGCACCGATTTCGCGCAGATTAAT
+GCCAGGTTTTACCATGCGTAGCGCCAGGTACAGGCTTTCTTGCGTGATGCGGCACAGACGTTCGCCCATG
+ATGGTCGGCTTACCGACGATAAACATTTTCGAGGTATCGCCGTGGAAACCATCTTTGATTACGGTGACAT
+CAATGTTAACGATATCGCCATCTTTCAGCAGCTTGGCGTCGTCCGGGATACCGTGGCACACCACTTCATT
+AATAGAGATGCAAACGGATTTCGGATAGCCGTGATAGCCGAGGCAGGCAGAAACCGCGTGTTGTTCATTA
+ACAATGTAATCATTACAGATGCGATCCAGCTCGCCGGTGCTGACGCCCGGTTTAACATACGGTTCGATCA
+TCTCCAGCACTTCGGCAGCCAGTCGGCCAGCGACGCGCATTTTTTCGATATCTTCTGGGGTCTTGATTGA
+GATAGCCATTAATTCTGTCCATCAGCGTCGGTGATACCGACAATATATATGTAAGTGCCGTCAATGGTAT
+CACACCCGGGCAAATTGAGAATCATTCTGAATTTCGCCAAACGTGCCACTGAAGGTTTTCTATAATAGAA
+AATTCAACGTCTGATGCTGTACACAGCGCCAACAATTATTGGTGTCCACGACGTATTTGTGGTATAAAGC
+GCGCCGGACTTCCGATCCATTTCGTATACACAGACTGGACGGAAGCGACAATCTCACTTTGTGTAACAAC
+ACACACGTATCGGCACATATTCCGGGGTGCCCTTTGGGGTCGGTAATATGGGATACGTGGAGGCATAACC
+CCAACTTTTATATAGAGGTTTTAATCATGGCAACTGTTTCCATGCGCGACATGCTCAAGGCTGGTGTTCA
+CTTCGGTCACCAGACCCGTTACTGGAACCCGAAAATGAAGCCGTTCATCTTCGGTGCGCGTAACAAAGTT
+CACATCATCAACCTTGAGAAAACTGTACCGATGTTCAACGAAGCTCTGGCTGAACTGAACAAGATTGCTT
+CTCGCAAAGGTAAAATCCTTTTCGTTGGTACTAAACGTGCTGCAAGCGAAGCGGTGAAAGACGCTGCTCT
+GAGCTGCGACCAGTTCTTCGTGAACCATCGCTGGCTGGGCGGTATGCTGACTAACTGGAAAACCGTTCGT
+CAGTCCATCAAACGTCTGAAAGACCTGGAAACTCAGTCTCAGGACGGTACTTTCGACAAGCTGACCAAGA
+AAGAAGCGCTGATGCGCACTCGTGAGCTGGAGAAACTGGAAAACAGCCTGGGCGGTATCAAAGACATGGG
+CGGTCTGCCGGACGCTCTGTTTGTAATCGATGCTGACCACGAACACATTGCTATCAAAGAGGCAAACAAC
+CTGGGTATTCCGGTATTTGCTATCGTTGATACCAACTCTGATCCGGACGGTGTTGACTTCGTTATCCCGG
+GTAACGACGACGCAATCCGTGCTGTGACCCTGTACCTGGGCGCTGTTGCTGCAACCGTACGTGAAGGCCG
+TTCTCAGGATCTGGCTTCCCAGGCGGAAGAAAGCTTCGTAGAAGCTGAGTAATAAGGCACGCTCGTACGA
+GCCCTTATAGACCAGGTAGTACACGTTTGGTTAGGGGGCCTGCATATGGCCCCCTTTTTCACTTTTATAT
+CTGTGCGGTTTAATGCCGGGCAGATCACATCTCCGAGGATTTTAGAATGGCTGAAATTACCGCATCCCTG
+GTAAAAGAGCTGCGTGAGCGTACTGGCGCAGGCATGATGGATTGCAAAAAAGCACTGACTGAAGCTAACG
+GCGACATCGAGCTGGCAATCGAAAACATGCGTAAGTCCGGTGCTATTAAAGCAGCGAAAAAAGCAGGCAA
+CGTTGCTGCTGACGGCGTGATCAAAACCAAAATCGACGGCAACTACGGCATCATTCTGGAAGTTAACTGC
+CAGACTGACTTCGTTGCAAAAGACGCTGGTTTCCAGGCGTTCGCAGACAAAGTTCTGGACGCAGCTGTTG
+CTGGCAAAATCACTGACGTTGAAGTACTGAAAGCACAGTTCGAAGAAGAACGTGTTGCGCTGGTAGCGAA
+AATTGGTGAAAACATCAACATTCGCCGCGTTGCTGCGCTGGAAGGCGACGTTCTGGGTTCTTATCAGCAC
+GGTGCGCGTATCGGTGTTCTGGTTGCTGCTAAAGGCGCTGACGAAGAGCTGGTTAAACACATCGCTATGC
+ACGTTGCTGCAAGCAAGCCAGAATTCATCAAACCAGAAGACGTATCCGCTGAAGTGGTAGAAAAAGAATA
+CCAGGTACAGCTGGATATCGCGATGCAGTCTGGTAAGCCGAAAGAAATCGCAGAGAAAATGGTTGAAGGC
+CGCATGAAGAAATTCACCGGCGAAGTTTCTCTGACCGGTCAGCCGTTCGTTATGGAACCAAGCAAAACTG
+TTGGTCAGCTGCTGAAAGAGCATAACGCTGAAGTGACTGGCTTCATCCGCTTCGAAGTGGGTGAAGGCAT
+CGAGAAAGTTGAGACTGACTTTGCAGCAGAAGTTGCTGCGATGTCCAAGCAGTCTTAATTATCGAAAAGG
+AGCCGCCTGAGGGCGGCTTCTTTTTGTGCCCATCTTGTAAATTCAGCTAACCCTTGTAGGGCTGCGCTGA
+AAAGCGACGTACAATGTCGCTAGTATTAATTCATTTCAATCGTTGACAGTCTCAGGAAAGAAACATGGCT
+ACCAATGCAAAACCCGTCTATAAACGCATTCTGCTTAAGTTGAGTGGCGAAGCTCTGCAGGGCACTGAAG
+GCTTCGGTATTGATGCAAGCATACTGGATCGCATGGCTCAGGAAATCAAAGAACTGGTTGAACTGGGTAT
+TCAGGTTGGTGTGGTGATTGGTGGGGGTAACCTGTTCCGTGGCGCTGGTCTGGCGAAAGCGGGTATGAAC
+CGCGTTGTGGGCGACCACATGGGGATGCTGGCGACCGTAATGAACGGCCTGGCAATGCGTGATGCACTGC
+ACCGCGCCTATGTGAACGCTCGTCTGATGTCCGCTATTCCATTGAATGGCGTGTGCGACAGCTACAGCTG
+GGCAGAAGCTATCAGCCTGTTGCGCAACAACCGTGTGGTGATCCTCTCCGCCGGTACAGGTAACCCGTTC
+TTTACCACCGACTCAGCAGCTTGCCTGCGTGGTATCGAAATTGAAGCCGATGTGGTGCTGAAAGCAACCA
+AAGTTGACGGCGTGTTTACTGCTGATCCGGCGAAAGATCCAACCGCAACCATGTACGAGCAACTGACTTA
+CAGCGAAGTGCTGGAAAAAGAGCTGAAAGTCATGGACCTGGCGGCCTTCACGCTTGCTCGTGACCATAAA
+TTACCGATTCGTGTTTTCAACATGAACAAACCGGGTGCGCTGCGCCGTGTGGTAATGGGTGAAAAAGAAG
+GGACTTTAATCACGGAATAATTCCCGTGATGGATAAATAAGGGTAAGATTCCGCGTAAGTATCGCGGGGG
+ATCTTACCCGTAATATGTTTAATCAGGGCTATACTTAGCACACTTCCACTGTGTGTGACTGTCTGGTCTG
+ACTGAGACAAGTTTTCAAGGATTCGTAACGTGATTAGCGATATCAGAAAAGATGCTGAAGTACGCATGGA
+TAAATGCGTAGAAGCGTTCAAAACCCAAATCAGCAAAATACGCACGGGTCGTGCTTCTCCCAGCCTGCTG
+GATGGCATTGTCGTGGAATATTACGGCACGCCGACGCCGCTGCGTCAGCTGGCAAGCGTAACGGTAGAAG
+ATTCCCGTACTCTGAAAATCAACGTGTTTGATCGTTCAATGTCTCCGGCCGTTGAAAAAGCGATTATGGC
+GTCCGATCTTGGCCTGAACCCGAACTCTGCGGGTAGCGACATCCGTGTTCCGCTGCCGCCGCTGACGGAA
+GAACGTCGTAAAGATCTGACCAAAATCGTTCGTGGTGAAGCAGAACAAGCGCGTGTTGCAGTACGTAATG
+TGCGTCGTGACGCGAACGACAAAGTGAAAGCACTGTTGAAAGATAAAGAGATCAGCGAAGACGATGATCG
+CCGTTCTCAGGACGATGTACAGAAACTGACTGATGCTGCAATCAAGAAAATTGAAGCGGCGCTGGCAGAC
+AAAGAAGCAGAACTGATGCAGTTCTGATTTCTTGAACGACAAAAACGCCGCTCAGTAGATCCTTGCGGAT
+CGGCTGGCGGCGTTTTGCTTTTTATTCTGTCTCAACTCTGGATGTTTCATGAAGCAACTCACCATTCTGG
+GCTCGACCGGCTCGATTGGTTGCAGCACGCTGGACGTGGTGCGCCATAATCCCGAACACTTCCGCGTAGT
+TGCGCTGGTGGCAGGCAAAAATGTCGCTCGCATGGTAGAACAGTGCCTGGAATTCTCTCCCCGCTATGCT
+GTAATGGACGATGAAGCGAGTGCGAAACTTCTTAAAACGATGCTACAGCAACAGGGTAGCCGCACCGAAG
+TCTTAAGTGGGCAACAAGCCGCTTGCGATATGGCAGCGCTTGAGGATGTTGATCAGGTGATGGCAGCCAT
+TGTTGGCGCTGCTGGGCTGTTACCTACGCTTGCTGCGATCCGCGCGGGTAAAACCATTTTGCTGGCCAAT
+AAAGAATCACTGGTTACCTGCGGACGTCTGTTTATGGACGCCGTAAAGCAGAGCAAAGCGCAATTGTTAC
+CGGTCGATAGCGAACATAACGCCATTTTTCAGAGTTTACCGCAACCTATCCAGCATAATCTGGGATACGC
+TGACCTTGAGCAAAATGGCGTGGTGTCCATTTTACTTACCGGGTCTGGTGGCCCTTTCCGTGAGACGCCA
+TTGCGCGATTTGGCAACAATGACGCCCGATCAAGCCTGCCGTCATCCGAACTGGTCGATGGGACGTAAAA
+TTTCTGTCGATTCGGCTACCATGATGAACAAAGGTCTGGAATACATTGAAGCGCGTTGGCTGTTTAACGC
+CAGCGCCAGCCAGATGGAAGTGCTGATTCACCCGCAGTCAGTGATTCACTCAATGGTGCGCTATCAGGAC
+GGCAGTGTTCTGGCGCAGCTGGGGGAACCGGATATGCGTACGCCAATTGCCCACACCATGGCATGGCCGA
+ATCGCGTGAACTCTGGCGTGAAGCCGCTCGATTTTTGCAAACTAAGTGCGTTGACATTTGCCGCACCGGA
+TTATGATCGTTATCCATGCCTGAAACTGGCGATGGAGGCGTTCGAACAAGGCCAGGCAGCGACGACAGCA
+TTGAATGCCGCAAACGAAATCACCGTGGCTGCTTTTCTTGCGCAACAAATCCGCTTTACGGATATCGCCG
+CGTTGAATTTATCCGTACTGGAAAAAATGGATATGCGCGAACCACAATGTGTGGATGATGTGTTATCTGT
+TGATGCGAACGCGCGTGAAGTCGTCAGAAAAGAGGTGATGCGTCTCGCAAGCTGAGGATAATCCGGCTAC
+AGAGAGTCGCGCTATTTGTTAGCGTAGGGCTTCAGTGATATAGTCTGCGCCATCTGATCGTAAGTAGTTG
+GCTTTATAAGGTCAGGTATGCCGTGGTTTTACACGGCTTTTTTTTGTATAGGCTTCAGTATTCCTGAGTA
+CCGTAAACCCTGTCAGGGAATAAGAAACGCGTGATGTTGTCTGCTACTCAACCACTTAGCGAAAAATTGC
+CAGCGCATGGCTGTCGTCATGTTGCGATCATTATGGACGGCAATGGTCGCTGGGCAAAAAAGCAAGGGAA
+GATTCGTGCCTTTGGGCATAAAGCCGGGGCAAAATCCGTCCGCCGGGCTGTCTCTTTTGCGGCCAACAAC
+GGTATTGAGGCGTTAACGCTGTATGCCTTTAGTAGTGAAAACTGGAACCGACCAGCGCAGGAAGTCAGTG
+CGTTAATGGAACTGTTTGTGTGGGCGCTAGATAGCGAAGTAAAAAGTCTGCACCGACATAACGTGCGTCT
+GCGTATTATTGGCGATACCAGTCGCTTTAACTCGCGTTTGCAAGAACGTATTCGTAAATCTGAAGCGCTA
+ACAGCCGGGAATACCGGTCTGACGCTGAATATTGCGGCGAACTACGGTGGACGTTGGGATATAGTCCAGG
+GAGTCAGGCAACTGGCTGAAAAGGTGCAGCAAGGAAACCTGCAACCAGATCAGATAGATGAAGAGATGCT
+AAACCAGCATGTCTGTATGCATGAACTGGCCCCTGTAGATTTAGTAATTAGGACTGGGGGGGAGCATCGC
+ATTAGTAACTTTTTGCTTTGGCAAATTGCCTATGCCGAACTTTACTTTACAGATGTTCTCTGGCCCGATT
+TCGATGAACAAGACTTTGAAGGGGCGTTAAATGCCTTTGCTAATCGAGAGCGTCGTTTCGGCGGCACCGA
+GCCCGGTGATGAAACAGCCTGATGGGGGTCGCTTTTGCTGAAGTATCGCCTGATATCTGCTTTTGTGTTA
+ATACCCGTCGTCATCGCGGCGTTGTTTCTGTTGCCGCCGGTGGGGTTCGCCATTGTAACGCTGGTGGTCT
+GTATGCTGGCAGCGTGGGAATGGGGACAGCTTAGCGGTTTTACCACTCGTTCGCAGCGAGTATGGTTGGC
+GGTGTTATGTGGGTTATTGTTGGCGCTGATGCTTTTTCTGTTGCCGGAATATCACCGAAATATTCATCAA
+CCGCTGGTTGAAATCTCACTTTGGGCTTCGCTGGGTTGGTGGATTGTCGCGCTATTGCTGGTGCTGTTTT
+ACCCAGGTTCCGCAGCAATCTGGCGTAACTCTAAAACATTGCGCATTATTTTTGGCGTGCTAACCATTGT
+TCCCTTCTTCTGGGGCATGCTGGCGTTACGGGCCTGGCACTACGACGAGAATCATTACAGTGGCGCAATA
+TGGCTGCTCTATGTCATGATCCTGGTATGGGGCGCTGACTCTGGCGCATATATGTTTGGCAAATTGTTTG
+GTAAACATAAACTGGCACCGAAGGTTTCTCCGGGTAAAACCTGGCAAGGCTTTATCGGTGGACTAGTGAC
+CGCAGCGGTAATCTCATGGGGTTATGGCATGTGGGTGAATCTCGACGTCGCTCCCGTCACCTTACTCATT
+TGCTCTATTGTCGCAGCGTTAGCCTCAGTGCTCGGCGATCTGACCGAAAGTATGTTTAAGCGTGAAGCAG
+GAATTAAGGACAGCGGTCATTTAATTCCAGGACACGGTGGTATTTTAGATCGTATTGATAGCCTGACGGC
+TGCGGTACCGGTCTTTGCTTGCTTGTTGTTACTGGTATTCAGGACGCTTTAACGGAAGGTAATATGCTGA
+GTTTTCTCTGGGATTTGGCTTCGTTCATCGTTGCACTGGGTGTACTTATCACCGTGCATGAATTTGGTCA
+TTTCTGGGTTGCCCGGCGTTGTGGTGTTCGCGTTGAGCGTTTCTCAATAGGGTTTGGTAAGGCGCTCTGG
+CGGCGAACTGATAAGCTCGGCACCGAATATGTTATCGCCCTGATCCCGTTGGGCGGTTATGTCAAAATGC
+TGGATGAGCGCGCAGAACCGGTCGTTCCGGAACTCCGCCACCATGCCTTCAATAATAAATCTGTCGGCCA
+ACGAGCGGCGATTATTGCCGCAGGTCCGGTTGCAAACTTCATTTTTGCTATCTTTGCCTACTGGCTGGTT
+TTTATTATTGGTGTGCCTGGCGTACGTCCGGTGGTTGGTGAAATAGCAGCCAATTCGATAGCTGCGGAAG
+CACAAATTGCACCAGGTACGGAACTAAAAGCCGTAGATGGTATCGAAACGCCTGATTGGGATGCCGTGCG
+TTTGCAGTTGGTCGATAAAATTGGCGATGAAAGCACCACCATTACGGTAGCGCCATTTGGCAGCGACCAA
+CGGCGGGATGTAAAGCTCGATTTACGTCACTGGGCGTTTGAGCCTGATAAAGAAGATCCGGTATCTTCGT
+TGGGGATTCGTCCTCGTGGGCCGCAAATTGAACCTGTACTGGAAAATGTGCAGCCAAACTCGGCGGCAAG
+CAAGGCAGGTTTGCAAGCAGGCGACAGGATCGTTAAAGTCGATGGTCAGCCCTTAACGCAGTGGGTGACC
+TTTGTGATGCTTGTCCGGGATAACCCGGGTAAATCCTTAGCGTTAGAAATCGAAAGGCAGGGGAGTCCCT
+TGTCTTTGACATTAATCCCGGAGAGTAAACCGGGTAAGGGTAAAGCGATTGGTTTTGTCGGTATTGAGCC
+GAAAGTCATTCCTTTGCCAGATGAGTATAAAGTTGTACGCCAGTATGGGCCGTTCAACGCTATCGTCGAA
+GCCACGGACAAAACGTGGCAGTTGATGAAGCTGACGGTCAGTATGCTGGGAAAATTGATCACCGGTGATG
+TGAAACTGAACAACCTCAGTGGGCCGATCTCTATCGCCAAGGGGGCTGGGATGACAGCGGAACTCGGGGT
+AGTTTATTACCTGCCGTTTCTTGCGCTTATTAGCGTGAACTTAGGGATAATTAACCTGTTTCCGTTGCCC
+GTACTTGACGGGGGGCATCTGCTGTTCCTTGCGATCGAAAAGATCAAGGGCGGACCGGTATCCGAGCGGG
+TTCAAGACTTTTGTTATCGCATTGGCTCGATTCTGCTGGTGCTGTTAATGGGGCTTGCACTTTTCAATGA
+TTTCTCTCGGTTATGAGAGTTAGTTAGGAAGAACGCATAATAACGATGGCGATGAAAAAGTTGCTCATAG
+CGTCGCTGCTGTTTAGCAGCGCCACCGTATACGGTGCTGAAGGGTTCGTAGTGAAAGATATTCATTTCGA
+AGGCCTTCAGCGTGTCGCCGTTGGTGCGGCCCTCCTCAGTATGCCGGTGCGCACAGGCGACACGGTTAAT
+GATGAAGATATCAGTAATACCATTCGCGCTCTGTTTGCTACCGGCAACTTTGAGGATGTTCGCGTCCTTC
+GTGATGGTGATACCCTTCTGGTTCAGGTAAAAGAACGTCCGACCATTGCCAGCATTACTTTCTCCGGTAA
+CAAATCGGTGAAAGATGACATGCTGAAGCAAAACCTCGAGGCTTCTGGCGTGCGTGTGGGCGAATCCCTC
+GATCGCACCACCATTGCCGATATCGAGAAAGGTCTGGAAGACTTCTACTACAGCGTCGGTAAATATAGCG
+CCAGCGTTAAAGCTGTCGTGACCCCGCTGCCGCGCAACCGTGTTGACCTAAAACTGGTGTTCCAGGAAGG
+TGTGTCAGCTGAAATCCAGCAAATTAACATTGTTGGTAACCATGCTTTCACCACCGATGAACTGATCTCT
+CATTTCCAACTGCGTGACGAAGTGCCGTGGTGGAACGTGGTAGGCGATCGTAAATACCAGAAACAGAAAC
+TTGCGGGCGACCTTGAAACCCTGCGCAGTTACTATCTGGATCGCGGTTATGCCCGTTTCAACATCGATTC
+TACCCAGGTCAGTCTGACGCCAGATAAAAAAGGTATTTACGTCACGGTGAACATCACCGAAGGCGATCAG
+TACAAGCTTTCTGGCGTTGAAGTTAGCGGCAATCTTGCCGGGCACTCCGCTGAAATTGAGCAACTGACTA
+AGATCGAGCCGGGCGAGCTGTATAACGGCACCAAAGTGACCAAAATGGAAGATGACATTAAAAAGCTTCT
+TGGTCGCTATGGTTATGCCTATCCGCGCGTACAGTCGATGCCTGAAATTAACGATGCCGACAAAACCGTT
+AAATTACGCGTGAACGTTGATGCGGGTAACCGTTTCTATGTGCGTAAGATCCGTTTTGAAGGTAACGATA
+CCTCGAAAGATGCCGTCCTGCGTCGCGAAATGCGTCAGATGGAAGGTGCATGGCTGGGGAGCGATCTGGT
+CGATCAGGGTAAGGAGCGTCTGAACCGTCTGGGCTTCTTTGAAACTGTCGATACCGATACCCAACGTGTT
+CCGGGGAGCCCGGATCAGGTTGATGTAGTTTACAAGGTGAAAGAACGTAACACCGGTAGCTTCAACTTCG
+GGATTGGTTACGGTACTGAAAGTGGCGTGAGCTTCCAGGCTGGTGTGCAACAGGATAACTGGTTAGGTAC
+GGGTTATGCTGTTGGTATCAACGGGACCAAAAACGATTACCAGACCTATGCTGAACTGTCGGTAACCAAC
+CCGTACTTCACCGTAGATGGCGTAAGCCTCGGTGGTCGTCTCTTCTATAATGACTTCCAGGCAGATGACG
+CCGACCTGTCCGACTATACCAACAAGAGTTATGGTACAGACGTGACGTTGGGCTTCCCGATCAACGAATA
+TAACTCGCTGCGTGCAGGTCTGGGTTATGTACATAACTCCCTGTCCAACATGCAGCCTCAGGTTGCGATG
+TGGCGTTATCTGTACTCTATGGGTGAACATCCGAGCACCTCTGATCAGGATAACAGCTTCAAAACGGACG
+ACTTCACGTTCAACTATGGTTGGACCTATAACAAGCTTGACCGTGGTTACTTCCCGACAGATGGTTCACG
+TGTCAACCTGACCGGTAAAGTGACCATTCCGGGATCGGATAACGAATACTACAAAGTGACGTTAGACACG
+GCGACTTATGTGCCGATTGATGACGATCACAAATGGGTTGTTCTGGGTCGTACCCGCTGGGGTTATGGTG
+ATGGTTTAGGCGGCAAAGAGATGCCGTTCTATGAGAACTTCTATGCCGGTGGTTCCAGCACCGTGCGTGG
+CTTCCAGTCCAATACCATTGGTCCGAAAGCAGTTTACTTCCCGCATCAGGCCAGTAATTATGATCCAGAC
+TATGATTACGAATGTGCGACTCAGGACGGCGCGAAAGATCTGTGTAAATCGGATGATGCTGTAGGCGGTA
+ACGCCATGGCGGTTGCCAGCCTCGAGTTCATCACCCCGACGCCGTTTATTAGCGATAAGTATGCTAACTC
+GGTTCGTACTTCCTTCTTCTGGGATATGGGTACCGTTTGGGATACAAACTGGGATTCCAGCCAATATTCT
+GGATATCCGGACTATAGTGATCCAAGCAATATCCGTATGTCTGCGGGTATCGCATTACAATGGATGTCCC
+CATTGGGGCCGTTGGTGTTCTCCTACGCCCAGCCGTTCAAAAAGTACGATGGAGACAAGGCAGAACAGTT
+CCAGTTTAACATCGGTAAAACCTGGTAAGTGTTCTCCACAAAGGAATGTAGTGGTAGTGTAGCGATGACT
+TTAGGCGATCAATATAAGATCGCCGGGCCACGCAAAGAACTGCACCCTCCGGTGCAAATGGGATGGTAAG
+GAGTTTATTGTGAAAAAGTGGTTATTAGCTGCAGGTCTCGGTTTAGCACTGGCAACTTCTGCTCAGGCGG
+CTGACAAAATTGCAATCGTCAATATGGGCAGCCTGTTCCAGCAGGTAGCGCAGAAAACCGGTGTTTCTAA
+CACGCTGGAAAACGAGTTCAAAGGCCGTGCCAGCGAACTGCAGCGTATGGAAACCGATCTGCAGGCTAAA
+ATGAAAAAGCTGCAGTCCATGAAAGCGGGCAGCGATCGCACTAAGCTGGAAAAAGACGTGATGGCTCAGC
+GCCAGACTTTTGCTCAGAAAGCGCAGGCTTTTGAGCAGGATCGCGCACGTCGTTCCAACGAAGAACGCGG
+CAAACTGGTTACTCGTATCCAGACTGCTGTGAAATCCGTTGCCAACAGCCAGGATATCGATCTGGTTGTT
+GATGCAAACGCCGTTGCTTACAACAGCAGCGATGTAAAAGACATCACTGCCGACGTACTGAAACAGGTTA
+AATAAGTAATGCCTTCAATTCGACTGGCTGATTTAGCGCAGCAGTTGGATGCAGAACTACACGGTGATGG
+CGATATCGTCATCACCGGCGTTGCGTCCATGCAATCTGCACAAACAGGTCACATTACGTTCATGGTTAAT
+CCAAAATACCGTGAGCATTTAGGCTTGTGCCAGGCGTCCGCGGTTGTCATGACCCAGGACGATCTTCCTT
+TCGCGAAAAGTGCCGCGCTGGTAGTGAAGAATCCCTACCTGACTTACGCGCGCATGGCGCAAATTTTAGA
+TACCACGCCGCAGCCCGCGCAGAACATTGCACCCAGTGCGGTGATTGACGCGACGGCGAAGCTGGGTAAC
+AACGTATCGATTGGCGCTAACGCGGTGATTGAGTCCGGCGTTGAACTGGGCGATAACGTGATTATCGGTG
+CCGGTTGCTTCGTAGGTAAAAACAGCAAAATCGGTGCAGGTTCGCGTCTCTGGGCGAACGTAACCATTTA
+CCATGAGATCCAGATCGGTCAGAATTGCCTGATCCAGTCCGGAACAGTGGTAGGCGCAGACGGCTTTGGT
+TATGCCAACGATCGTGGTAACTGGGTGAAGATCCCACAGATTGGTCGGGTAATTATTGGCGATCGCGTGG
+AGATCGGTGCCTGCACTACTATTGATCGTGGCGCGCTGGATGACACTGTTATTGGCAATGGTGTGATCAT
+TGATAACCAGTGCCAGATTGCACATAACGTCGTGATTGGCGACAATACGGCAGTTGCCGGTGGCGTCATT
+ATGGCGGGCAGCCTGAAAATTGGTCGTTACTGCATGATCGGCGGAGCCAGCGTAATCAACGGGCATATGG
+AAATATGCGACAAAGTGACGGTTACGGGCATGGGTATGGTGATGCGTCCCATCACTGAACCAGGCGTCTA
+TTCCTCAGGCATTCCGCTGCAACCCAACAAAGTCTGGCGCAAAACCGCTGCACTGGTGATGAACATTGAT
+GACATGAGCAAGCGTCTGAAATCGCTTGAGCGCAAGGTTAATCAACAAGACTAACGTTCCATCTTTTGTT
+CGCCAAACTTTACGGCCTGTCTCATTCTTACGATTGCGGCAGGCCGTGTTATTATTGTCGTTTCTTATAT
+TTTGACAGGAAGAGTATCTTGACTACTAACACTCATACTCTGCAGATTGAAGAGATTTTAGAACTTCTGC
+CGCACCGTTTCCCGTTCTTACTGGTGGATCGCGTGCTGGATTTTGAAGAAGGTCGTTTTCTGCGCGCAGT
+AAAAAATGTCTCTGTCAATGAGCCATTCTTCCAGGGCCATTTCCCTGGAAAACCGATTTTCCCGGGTGTG
+CTGATTCTGGAAGCAATGGCACAGGCAACAGGTATTCTGGCGTTTAAAAGCGTAGGAAAACTGGAACCGG
+GTGAGCTGTACTACTTCGCCGGTATTGACGAAGCGCGCTTTAAGCGCCCGGTCGTGCCTGGCGATCAAAT
+GATCATGGAAGTCACTTTCGAAAAAACGCGCCGCGGCCTGACCCGTTTTAAAGGGGTTGCTCTGGTCGAC
+GGTAAAGTAGTTTGCGAAGCAACGATGATGTGTGCTCGTAGCCGGGAGGCCTGATACGTGATTGATAAAT
+CCGCCTTTGTGCATCCAACCGCCATTGTGGAAGAGGGCGCGTCGATTGGCGCGAACGCTCACATTGGTCC
+TTTTTGTATCGTTGGACCCCATGTCGAAATTGGTGAGGGTACCGTACTGAAATCTCACGTTGTCGTGAAT
+GGTCATACTAAAATTGGCCGCGATAATGAGATTTATCAGTTCGCCTCCATCGGCGAAGTTAACCAGGATC
+TGAAATATGCTGGCGAACCGACCCGCGTGGAAATCGGCGATCGTAACCGCATTCGCGAAAGCGTCACCAT
+TCATCGTGGCACAGTCCAGGGCGGTGGATTGACGAAGGTGGGCAGCGACAACTTACTGATGATCAATGCG
+CACATTGCGCACGATTGTACGGTAGGTAACCGCTGCATCCTCGCCAACAACGCAACGCTGGCGGGTCACG
+TATCGGTTGACGACTTCGCGATCATCGGCGGCATGACCGCAGTCCATCAGTTCTGCATCATTGGTGCGCA
+TGTGATGGTTGGCGGCTGCTCCGGTGTGGCGCAGGACGTCCCTCCTTATGTCATTGCGCAGGGTAACCAC
+GCAACGCCGTTCGGTGTCAATATCGAAGGGCTGAAGCGCCGCGGATTCAGCCGTGAGGCGATTACCGCTA
+TCCGCAATGCGTATAAGCTGATTTATCGTAGCGGTAAAACGCTCGATGAAGTGAAACCGGAAATTGCTGA
+ACTGGCGGAAACATATCCGGAAGTGAAAGCCTTTACCGATTTCTTTGCACGCTCAACGCGCGGTCTGATT
+CGTTAATGACTGAACAGCGTCCATTAACGATTGCCCTGGTCGCCGGAGAAACCTCCGGCGATATCCTGGG
+GGCCGGTTTAATCCGCGCTCTGAAAGAACGTGTGCCCAACGCCCGCTTTGTTGGTGTTGCCGGGCCACGA
+ATGCAGGCTGAAGGCTGCGAAGCCTGGTACGAAATGGAAGAACTGGCAGTGATGGGCATTGTTGAAGTGC
+TCGGTCGTCTGCGTCGCTTACTACATATTCGTGCCGATCTGACAAAGCGTTTTGGCGAACTGAAGCCAGA
+TGTTTTTGTTGGTATTGATGCGCCTGACTTCAATATTACTCTTGAAGGTAACCTCAAAAAGCAGGGTATC
+AAAACCATTCATTACGTCAGCCCGTCCGTCTGGGCGTGGCGACAGAAACGCGTTTTCAAAATAGGCAGAG
+CCACCGATCTGGTGCTCGCATTTCTGCCTTTCGAAAAAGCGTTTTATGACAAATACAACGTACCGTGCCG
+CTTTATCGGTCATACCATGGCTGATGCCATGCCATTAGATCCAGATAAAAATGGTGCCCGTGATGTGCTG
+GGGATCCCTTACGATGCCCACTGTCTGGCATTGTTGCCGGGCAGCCGTGGTGCAGAAGTCGAAATGCTTA
+GTGCCGATTTCCTGAAAACGGCCCAGCTTTTGCGCCAGACATATCCGGATCTCGAAATCGTGGTGCCGCT
+GGTGAATGCCAAACGCCGCGAGCAGTTTGAACGCATCAAAGCTGCAGTCGCGCCAGACCTGTCGGTTCAT
+TTGCTGGATGGAATGGGCCGTGAGGCGATGGTCGCCAGTGATGCGGCGCTACTGGCGTCGGGTACGGCAG
+CACTGGAGTGTATGCTGGCTAAATGCCCGATGGTAGTGGGATATCGCATGAAGCCTTTCACCTTCTGGCT
+GGCGAAGCGACTGGTGAAAACTGATTATGTCTCGCTGCCAAATCTGCTGGCGGGCAGAGAGTTAGTCAAA
+GAGCTATTGCAGGAAGAGTGTGAGCCGCAAAAATTGGCTGCGGCGCTGTTACCGCTGTTGGCGAACGGGA
+AAACCAGCCATGCGATGCACGACACCTTCCGCGAGCTGCATCAGCAGATCCGCTGCAATGCCGATGAGCA
+GGCGGCACAAGCCGTTCTGGAGTTAGCACAATGATCGAATTTGTCTATCCGCACACGCAGCTGGTTGCGG
+GGGTGGATGAAGTCGGACGCGGGCCGTTAGTTGGCGCGGTCGTCACCGCTGCGGTGATCCTTGACCCGGC
+GCGCCCAATTGCCGGGCTGAATGATTCCAAAAAGCTGAGCGAAAAACGCCGTCTGGCGCTCTGTGAAGAG
+ATCAAAGAGAAAGCGTTGAGCTGGAGTCTGGGCCGCGCGGAACCTCACGAAATCGACGAACTGAATATTT
+TACATGCGACCATGCTGGCGATGCAGCGTGCCGTCGCTGGACTGCATATTGCGCCGGAATATGTGTTGAT
+TGATGGTAACCGCTGCCCGAAATTACCGATGCCTTCGATGGCTGTGGTGAAAGGCGATAGCCGCGTACCG
+GAAATCAGTGCCGCGTCTATCCTGGCGAAAGTGACGCGTGACGCCGAAATGGCAGCGCTGGATATTGTTT
+TCCCGCAATATGGTTTTGCCCAACACAAAGGGTATCCAACCGCTTTTCATCTGGAAAAACTGGCTGAACA
+CGGCGCGACCGAACACCATCGGCGCAGCTTTGGGCCTGTCAAACGCGCACTGGGACTTGCGTCCTGATTC
+TTGTGTCGAGATTAAGTAAACCGGAATCTGAAGATGTCTGAACCACGTTTCGTACACCTGCGGGTGCACA
+GCGACTACTCGATGATCGATGGCCTGGCCAAAACCGCACCGCTGGTAAAAAAGGCGGCAGCGTTGGGTAT
+GCCAGCACTGGCGATCACCGATTTCACCAACCTTTGCGGTCTGGTGAAGTTCTACGGAGCGGGACATGGC
+GCAGGGATTAAGCCCATCGTCGGGGCGGATTTTAACGTCCAGTGCGACCTGCTGGGTGATGAGTTAACTC
+ACCTGACGGTGCTGGCGGCGAACAATACCGGCTATCAGAATCTGACGTTGCTGATCTCAAAAGCGTATCA
+GCGCGGGTACGGTACCGCCGGGCCGATCATCGATCGCGACTGGCTTATCGAATTAAATGAAGGGTTGATC
+CTTCTTTCCGGCGGGCGCATGGGCGACGTTGGACGCAGTCTTTTGCGTGGTAACAGCGCGCTGGTAGATG
+AGTGTGTCGCGTTTTATGAAGAACACTTCCCGGATCGCTATTTTCTCGAGCTGATCCGCACCGGCAGGCC
+GGATGAAGAAAGCTATCTGCACGCGGCGGTGGAACTGGCGGAAGCGCGCGGTTTGCCCGTCGTGGCGACT
+AACGATGTGCGCTTTATCGACAGCAGCGACTTTGACGCACACGAAATCCGCGTCGCGATCCACGACGGCT
+TTACCCTCGACGATCCTAAACGCCCTCGTAACTATTCGCCGCAGCAATATATGCGTAGCGAAGAGGAGAT
+GTGTGAGCTGTTTGCCGACATCCCCGAAGCCCTTGCCAACACCGTTGAGATCGCCAAACGCTGTAACGTG
+ACCGTGCGCCTTGGTGAATACTTCCTGCCGCAGTTCCCGACCGGGGACATGAGCACCGAAGATTATCTGG
+TCAAGCGTGCAAAAGAGGGCCTGGAAGAGCGTCTGGCCTTTTTATTCCCTGACGAGGAAGAACGTCTTAA
+GCGCCGCCCGGAATATGACGAACGTCTGGATACTGAACTTCAGGTTATCAACCAGATGGGCTTCCCGGGT
+TACTTCCTCATCGTTATGGAATTTATCCAGTGGTCGAAAGATAACGGTGTACCGGTAGGGCCAGGCCGTG
+GTTCTGGTGCAGGGTCACTGGTGGCCTACGCGTTAAAAATCACCGATCTCGATCCGCTGGAATTTGACCT
+GCTGTTCGAACGTTTCCTTAACCCGGAACGTGTCTCCATGCCTGACTTCGACGTTGACTTCTGTATGGAG
+AAACGCGAACAGGTTATCGAGCACGTAGCGGACATGTACGGTCGTGATGCGGTATCGCAGATTATCACCT
+TCGGTACGATGGCGGCGAAAGCGGTGATCCGCGACGTAGGCCGCGTGCTGGGGCATCCGTACGGCTTTGT
+CGACCGTATCTCGAAACTGATCCCGCCCGATCCGGGGATGACGCTGGCGAAAGCGTTTGAAGCCGAGCCG
+CAGCTGCCGGAAATCTACGAAGCGGATGAAGAAGTTAAGGCGCTGATCGACATGGCGCGCAAACTGGAAG
+GGGTCACCCGTAACGCCGGTAAGCACGCCGGTGGGGTGGTTATCGCACCGACCAAAATTACCGATTTTGC
+GCCGCTTTACTGCGATGAAGAGGGCAAACATCCGGTCACCCAGTTTGATAAAAGCGACGTTGAATACGCC
+GGACTGGTGAAGTTCGACTTCCTTGGTTTGCGTACGCTCACCATCATCAACTGGGCGCTGGAGATGATCA
+ACAAGCGGCGGGCGAAGAACGGCGAGCCGCCTCTGGATATCGCCGCGATCCCGCTGGATGACAAGAAAAG
+CTTCGACATGCTGCAACGCTCGGAAACCACGGCGGTATTCCAGCTTGAATCGCGCGGCATGAAAGACCTG
+ATCAAGCGTCTGCAACCTGACTGCTTCGAAGATATGATCGCACTGGTGGCACTTTTCCGCCCCGGTCCGT
+TGCAATCAGGGATGGTGGATAACTTTATCGACCGTAAACATGGTCGCGAAGAGATCTCCTATCCGGACGT
+GCAGTGGCAGCATGAAAGCCTGAAACCGGTACTGGAGCCAACCTACGGCATCATCCTGTATCAGGAACAG
+GTCATGCAGATTGCCCAGGTGCTTTCTGGTTATACCCTCGGTGGCGCGGATATGCTGCGTCGTGCGATGG
+GTAAGAAAAAGCCGGAAGAGATGGCTAAGCAGCGTTCTGTATTTGCTGAAGGTGCAGAAAAGAACGGAAT
+CAACGCCGAACTGGCGATGAAAATCTTCGACCTGGTGGAGAAATTCGCGGGTTACGGATTTAACAAATCG
+CACTCTGCGGCCTATGCTTTGGTGTCATATCAAACGTTATGGCTGAAAGCGCACTATCCGGCGGAGTTTA
+TGGCGGCGGTAATGACCGCCGATATGGACAATACCGAGAAGGTGGTGGGCCTGGTGGATGAGTGCTGGCG
+GATGGGGCTGAAAATCCTGCCACCAGATATAAACTCCGGTCTTTACCATTTCCACGTCAACGACGACGGC
+GAAATCGTGTATGGTATTGGCGCGATCAAAGGGGTAGGTGAAGGCCCGATTGAGGCCATCATCGAAGCCC
+GCAATAAAGGTGGCTACTTCCGCGAACTGTTTGATCTCTGCGCCCGTACCGACACCAAAAAGTTAAACCG
+GCGAGTGCTGGAAAAACTGATCATGTCCGGGGCGTTTGACCGTCTTGGGCCACACCGCGCGGCGCTGATG
+AACTCGCTGGGCGATGCGTTAAAAGCGGCAGATCAACACGCGAAAGCGGAAGCTATCGGTCAGGCCGATA
+TGTTCGGCGTGCTGGCCGAAGAGCCGGAACAAATTGAACAATCCTACGCCAGCTGCCAACCGTGGCCGGA
+GCAGGTGGTGTTAGATGGGGAACGTGAAACGTTAGGTCTGTACCTCACGGGACACCCTATCAACCAGTAT
+TTAAAAGAGATTGAGCGTTATGTCGGAGGCGTAAGGCTGAAAGACATGCACCCGACAGAACGTGGTAAAG
+TCATCACGGCTGCGGGGCTCGTTGTTGCCGCGCGGGTTATGGTCACCAAGCGCGGCAATCGTATCGGTAT
+CTGCACGCTGGATGACCGTTCCGGGCGGCTGGAAGTGATGTTGTTTACTGACGCCCTGGATAAATACCAG
+CAATTGCTGGAAAAAGACCGCATACTTATCGTCAGCGGACAGGTCAGCTTTGATGACTTCAGCGGTGGGC
+TTAAAATGACCGCTCGCGAAGTGATGGATATTGACGAAGCCCGGGAAAAATATGCTCGCGGGCTTGCTAT
+CTCGCTGACGGACAGGCAAATTGATGACCAGCTTTTAAACCGACTCCGTCAGTCTCTGGAACCCCACCGC
+TCTGGGACAATTCCAGTACATCTCTACTATCAGAGGGCGGATGCACGCGCGCGATTGCGTTTTGGCGCGA
+CGTGGCGTGTCTCTCCGAGCGATCGTTTATTAAACGATCTCCGTGGCCTCATTGGTTCGGAGCAGGTGGA
+ACTGGAGTTTGACTAATACAGGAATACTATGAGTCTGAATTTCCTTGATTTTGAACAGCCGATTGCAGAG
+CTGGAAGCGAAAATCGATTCTCTGACCGCGGTTAGCCGTCAGGATGAGAAACTGGATATTAACATCGATG
+AAGAAGTGCATCGTCTGCGTGAAAAAAGCGTAGAACTGACGCGTAAAATCTTCGCCGATCTCGGTGCATG
+GCAGATTGCGCAACTGGCACGCCATCCACAGCGTCCTTATACCCTGGATTACGTTCGCCTGGCATTTGAT
+GAATTTGACGAACTGGCTGGCGACCGCGCGTATGCAGACGATAAAGCTATCGTCGGTGGTATCGCCCGTC
+TCGATGGTCGTCCGGTGATGATCATTGGTCATCAAAAAGGTCGTGAAACCAAAGAAAAAATTCGCCGTAA
+CTTTGGTATGCCAGCGCCAGAAGGTTACCGCAAAGCACTGCGTCTGATGCAAATGGCTGAACGTTTTAAG
+ATGCCTATCATCACCTTTATCGACACCCCGGGGGCTTATCCGGGCGTGGGCGCAGAAGAACGTGGTCAGT
+CTGAAGCCATTGCACGCAACCTGCGTGAAATGTCTCGCCTCGGCGTACCGGTAGTTTGTACGGTTATCGG
+TGAAGGTGGTTCTGGTGGTGCGCTGGCGATTGGCGTGGGCGATAAAGTGAATATGCTGCAATACAGCACC
+TATTCCGTTATCTCGCCGGAAGGTTGTGCATCCATTCTGTGGAAGAGCGCTGACAAAGCGCCGCTGGCGG
+CTGAAGCGATGGGTATCATCGCTCCGCGTCTGAAAGAGCTGAAACTGATCGACTCCATCATCCCGGAACC
+GCTGGGCGGTGCTCACCGTAACCCGGAAGCGATGGCGGCGTCTCTGAAAGCGCAGCTGCTGGCGGATCTG
+GCCGATCTCGACGTGTTAAGCACTGAAGATTTAAAAAATCGTCGTTATCAGCGCCTGATGAGCTACGGCT
+ACGCGTAATCGGCAAATGTTCTGAAAAGGGTCACTTCGGTGGCCCTTTTTTATCGCCACGGTTTGAGCAG
+GCTATGATTAAGGAAGGATTTTCCAGGAGGAACACATGAACATCATTGCCATTATGGGACCGCATGGCGT
+CTTTTATAAAGATGAGCCCATCAAAGAACTGGAGTCGGCGCTGGTGGCGCAAGGCTTTCAGATTATCTGG
+CCACAAAACAGCGTTGATTTGCTGAAGTTTATCGAACATAACCCACGAATTTGCGGCGTGATTTTTGACT
+GGGATGAGTACAGTCTCGATTTATGTAGCGATATCAATCAACTTAATGAATATCTCCCGCTTTATGCCTT
+CATCAACACCCACTCGACGATGGATGTCAGCGTGCAGGATATGCGGATGGCGCTCTGGTTTTTTGAATAT
+GCGCTGGGGCAGGCGGAAGATATCGCCATTCGTATGCGTCAGTACACCAACGAATATCTTGATAACATTA
+CGCCGCCGTTCACGAAAGCCTTGTTTACCTACGTCAAAGAGCGGAAGTACACCTTTTGTACGCCGGGGCA
+TATGGGCGGCACCGCATATCAAAAAAGCCCGGTTGGCTGTCTGTTTTATGATTTTTTCGGCGGGAATACC
+CTCAAGGCGGACGTCTCTATTTCGGTCACCGAGCTTGGTTCGTTGCTCGACCACACCGGGCCACACCTGG
+AAGCGGAAGAGTACATCGCGCGGACGTTTGGCGCGGAACAGAGTTATATCGTTACCAACGGAACATCGAC
+GTCGAACAAAATTGTGGGTATGTACGCCGCGCCATTCGGCAGTACGCTGTTGATCGACCGCAATTGTCAT
+AAATCGCTGGCGCATCTGTTGATGATGAACGATGTAGTGCCAGTCTGGCTGAAACCGACGCGTAATGCGT
+TGGGGATTCTGGGTGGGATCCCGCGCCGTGAATTTACTCGCGACAGCATCGAAGAGAAAGTCGCTGCCAC
+CACGCAGGCACAATGGCCGGTTCATGCGGTGATCACCAACTCCACCTATGATGGCTTGCTCTACAACACC
+GACTGGATCAAACAGACGCTGGATGTCCCGTCGATTCACTTCGATTCTGCCTGGGTGCCGTACACCCATT
+TTCATCCAATCTACCAGGGTAAAAGTGGTATGAGCGGCGAGCGTGTTGCAGGAAAAGTGATCTTCGAAAC
+GCAGTCGACCCACAAAATGCTGGCGGCGTTATCGCAGGCGTCGCTGATCCACATTAAAGGTGAGTATGAC
+GAAGAGGCGTTTAACGAAGCCTTTATGATGCATACCACCACCTCGCCCAGTTATCCCATTGTTGCTTCTG
+TTGAGACGGCGGCGGCGATGTTGCGTGGTAATCCGGGCAAACGGCTGATTAACCGTTCAGTAGAACGAGC
+TCTGCATTTTCGCAAAGAGGTCCAGCGGCTGCGGGAAGAGTCTGACGGCTGGTTTTTCGATATCTGGCAA
+CCGCCGCAGGTGGATGAAGCCGAATGCTGGCCCGTTGCGCCTGGCGAACAGTGGCACGGCTTTAGCGATG
+CGGATGCCAATCACATGTTTCTCGATCCGGTTAAAGTCACTATTTTGACACCGGGGATGGACGAGCAGGG
+CAATATGAGCGAGGAGGGGATCCCGGCGGCGCTGGTGGCAAAATTCCTCGACGAACGTGGGATCGTAGTA
+GAGAAAACCGGCCCTTATAACCTGCTGTTTCTCTTTAGTATTGGCATCGATAAAACCAAAGCAATGGGAT
+TATTGCGTGGGTTGACGGAATTTAAGCGCTCTTACGATCTCAACCTGCGGATCAAAAATATGCTGCCCGA
+TCTCTATGCAGAAGATCCCGATTTCTACCGCAATATGCGTATTCAGGATCTGGCGCAAGGGATCCATAAG
+CTGATTCGTAAACACGATCTTCCCGGTTTGATGTTGCGGGCATTTGATACCTTGCCGGAGATGATCATGA
+CGCCACATCAGGCATGGCAGAGACAGATTAAAGGCGAAGTAGAAACCATTGCGCTGGAACAACTGGTCGG
+TAGAGTATCGGCAAATATGATCCTGCCTTATCCACCCGGCGTACCGCTGCTGATGCCGGGAGAAATGCTT
+ACCGAAGAGAGCCGCACGGTACTCGATTTTCTACTGATGCTTTGTTCCGTAGGGCAACATTACCCCGGTT
+TTGAAACGGATATTCACGGCGCGAAACAGGACGAAGACGGTGTTTACCGCGTACGAGTCCTAAAAATGGC
+AGGATAACTTGCCAGAGCGGCTTCCGGGCGAGTAACGTGCTGTTAACAAATAAAGGAGACGTTATGCTGG
+GTTTAAAACAGGTTCACCATATTGCGATTATTGCGACGGATTATGCGATGAGCAAAGCTTTCTACTGCGA
+TATTCTTGGTTTCACGCTGCAAAGCGAAGTCTATCGCGAAGCGCGCGACTCGTGGAAAGGGGATTTGGCG
+CTTAATGGACAATATGTGATTGAGCTTTTCTCATTTCCGTTCCCGCCGGAGCGCCCCAGCCGACCGGAAG
+CTTGCGGCCTGCGTCATCTGGCTTTTAGCGTTGATGATATCGATGCGGCAGTGGCGCACCTTGAAAGCCA
+TAACGTGAAGTGTGAAGCCATCCGTGTCGATCCCTACACGCAAAAACGCTTCACGTTCTTTAACGATCCG
+GACGGGCTGCCGTTGGAACTGTATGAGCAGTAAGGCTTGTCATCGCCGCATTTGCCCGGTAACGTGCCCG
+GCATTGCTACTGTAAAATCGCACCATCATGACACTCACGCTCAATAGACAACTTCTCTCCTCACGCCAGA
+TTCTGGTGGCCTTTAGCGGCGGCCTTGATTCTACTGTCTTACTGCATCAACTGGTGCAGTGGCGGACGGA
+AAATCCGGGCGTCACTCTGCGCGCTATCCATGTGCATCACGGTTTAAGCGCCAATGCTGATGCATGGGTG
+AAACATTGTGAAAACATCTGCCAACAGTGGCAGGTGCCGCTGGTGGTCGAACGTGTGCAGCTTGCGCAAG
+AGGGGCTAGGTATTGAGGCCCAGGCGCGGCAGGCACGTTATCAGGCATTTGCCCGCACCTTGTTGCCCGG
+TGAAGTGCTGGTTACAGCGCAACATCTCGACGATCAATGTGAAACCTTTCTGCTGGCGCTAAAACGCGGT
+AGCGGCCCTGCCGGGCTTTCGGCTATGGCGGAAGTTTCGGAGTTTGCCGGAACACAGCTTATCCGCCCGT
+TGCTTGCCCGCACGCGGGGAGAACTGGTGCAGTGGGCGTTGGCGCATGGTTTACGCTGGATTGAAGACGA
+AAGTAATCAGGATGATAGCTACGATCGTAACTTTCTGCGCCTGCGCGTAGTGCCGTTATTGCAGCAGCGT
+TGGCCGCATTTTGCCGAAGCAACAGCCCGCAGCGCCGCACTTTGTGCTGAACAAGAGAGCCTGTTAGATG
+AACTGCTGGCGGATGATTTAGCGCACTGTCAAACTCCGCAGGGGACGCTGCAGATTGCGCCAATGCTGGC
+GATGAGTGATGCCCGTCGCGCGGCGATTATCCGCCGCTGGCTAGCAGGGCAGAATGCACCGATGCCTTCC
+CGCGACGCGTTGGTGAGGATCTGGCAGGAAGTGGCGCTGGCGCGGGAAGATGCCTCCCCCTGTTTACGTT
+TGGGCGCGTTTGAAATCCGCCGCTATCAGTCGCAACTATGGTGGATTAAATCCGTTGCCGGGCAAAGCGA
+AACCATTGTGCCGTGGCAGACGTGGCTACAACCGCTGGAATTACCGGCGGGGCTGGGAAGTGTACAGCTT
+ACTGCGGGAGGCGATATTCGCCCTCCGCGTGCAGATGAAGCGGTCAGCGTGCGTTTCAAAGCGCCAGGAC
+TGCTGCATATTGTCGGGCGCAACGGCGGACGTAAGCTGAAGAAAATCTGGCAAGAGTTAGGCGTTCCGCC
+GTGGCTACGTGATACCACGCCACTGCTGTTTTATGGCGAAACGCTGATTGCGGCGGCAGGGGTATTTGTG
+ACGCAAGAAGGTGTGGCTGTAGGTGAGAATGGCGTCAGTTTTGTCTGGCAGAAAACGCTTAGTCAAGTGA
+AAGCCGGATAAGACGCATCAAACGTCGCATCCGGCGAAAGTCAATCAGGACTCGCTCACCACCACCGTAC
+CGATTTCCGGGTGGCTAAAGCTGGTAATTTTATCCAGACGCAGCTCGCGGGTTGCACCAGCGGCCTCGAC
+GACCAGATACTCCACATTTTTGCGGGAGACTAAATCGCTGGCCTTCGCCTGCAATTTTTCGCCATCTTTC
+AGCTCAAGTGTCAGCATTAAATGATGCTGGCAGGCGAGCTCAAGATTATCGTAATCATCACAATTGATTG
+GTTGATACGTATCATTCATTGACATAATCGCTCACCAGTAAGTTTGCCGCAGCGTATGCTGCTTTTTCCC
+TGACAGCCTCAGAAAGGGCGTCGTCGGCAGCCATTTCATTCAGCACTTTCAAAACGCAGCCCAGCGCGTC
+CGGAACGTATCCTAAGTCTCCGCTGGCGATTTCCGCGTACCGCTTGCGTATTAACTCACAATATTTTTCC
+ACATGCCCTCCTGTCAGCACTCTGACTTAACCGTGGATGCAAGTCTAAGCCTACGAAGATAAACTCTGTT
+TCGCAAGGTGACTATACCACACTCATTTCTGCAATATCAGCGCCGCAACTGCACGTATTCCGTTACAATG
+GCCTCCTGATTCGAAAGGAGTTTTCTTATGGCGCTTAAAGCGACAATTTATAAAGCGACGGTTAATGTGG
+CCGATCTCGACCGCAACCAGTTTCTCGATGCCTCTCTGACGCTGGCGCGCCATCCTTCAGAAACCCAGGA
+GCGCATGATGCTGCGCCTGCTGGCGTGGCTAAAATATGCCGATGAACGTCTGCAATTTACCCGTGGTTTG
+TGTGCCGATGATGAGCCGGAAGCGTGGCTGCGTAACGATCACCTGGGCATTGATTTGTGGATTGAGCTGG
+GGCTGCCGGATGAGCGACGGATTAAGAAAGCCTGCACCCAGGCCGCAGAAGTGGCGCTGTTTGCCTATAA
+TAGTCGGGCGGCGCAAATCTGGTGGCAGCAAAATCAGAGCAAATGTGCGCAGTTTGCCAATCTTTCCGTC
+TGGTATCTGGACGACGAGCAGCTGGCGAAAGTGAGCGCCTTTGCCGATCGTACTATGACGCTGCAGGCAA
+CGATTCAGGATGGTGTTATCTGGTTATCGGATGATAAGAATAATCTGGAAGTGAACTTAACCGTCTGGCA
+ACAACCTTCATGATTGTGATTTCCCGACATGTTGCTATCCCTGATGGCGAGTTTGAGATCACCGCCATTC
+GTGCGCAGGGCGCGGGCGGGCAGCATGTTAATAAGACCTCAACGGCTATTCATCTGCGTTTTGACATTCG
+GGCGTCCAGCCTGCCAGAGTATTACAAAGAGCGTCTGCTCGCCGCCAGCCATCATTTGATCAGCAGTGAC
+GGAGTGATTGTCATTAAGGCACAGGAATACCGCAGTCAGGAACTGAACCGCGAAGCGGCGCTGGCCCGGC
+TGGTGGCAGTGATTAAAGATTTAACAACAGAACAAAAAGCCCGACGACCTACGCGGCCCACCCGTGCATC
+AAAAGAGCGCAGGCTGGCATCGAAAGCACAAAAATCAAGCGTGAAGGCGATGCGCGGCAAAGTGCGCAGC
+GGTCTGGAATAAAAAGAAGGAATGGATGGTGAAAAAAGCGATAGTGACAGCGATGGCTGTAATCAGCCTC
+TTTACTCTGATGGGATGTAATAATCGGGCCGAAGTCGATACGCTTTCTCCGGCGCAGGCTGCCGAACTGA
+AACCGATGCCGCAAAGTTGGCGTGGCGTGCTGCCGTGTGCTGATTGCGAAGGAATCGAAACCTCTCTGTT
+CCTCGAAAAAGACGGAACCTGGGTGATGAATGAGCGTTATCTGGGGGCTCGTGAAGAACCTTCCTCCTTC
+GCTTCCTACGGTACATGGGCGCGAACCGCTGACAAGCTGGTATTAACCGATAGCAAAGGTGAAAAGTCAT
+ATTATCGCGCGAAAGGAGATGCGCTGGAGATGCTCGATCGTGAAGGTAATCCGATTGAATCGCAGTTCAA
+CTACACGCTGGAACCGGCACAATCCAGCTTACCCATGACGCCGATGACCCTGCGGGGCATGTATTTTTAT
+ATGGCTGATGCGGCGACCTTCACTGATTGCGCGACCGGAAAACGTTTCATGGTGGCGAATAACGCAGAGC
+TGGAGCGTGGCTACCTGGCTGCGCGCGGTAACAGTGAAAAACCGGTGTTACTGTCAGTAGAAGGTCACTT
+TACGCTTGAGGCTAATCCGGATACCGGTGCGCCGACCAAAGTATTAGCGCCCGATACGGCAGGTAAATTT
+TACCCAAACCAGGATTGCAGTAGTTTGGGGCTGTAACCCGTCTTGAGACAGAAACAAATGAAATATTGCC
+TCATGCGCTGCGCTTATCAGGCCTAAAGCATACAATGCAATATTTTGAATTAGCACAATTTTGTAGGCCG
+GATAAGGCGTTCACGCCGCATCCGGCATTTTGCGCACGAGGCTGGCTTTTATCACTGAGTCAGCCCAACA
+AAGCGGCCTGCCTTGATATAAATCCCAGGCTTCATGTGCCCAACATACTGTAACTGCGTTTCTGGCTTAA
+ACGCAGAGATATCGCCAGTACGCATATGCATCAGATCGGCAGGGCTAATCCAGCCTGATTGCGCCAGCGT
+AAGCGGATGCCCGGCTTTGGCAAATGCATCAGTGACAAATTCCGAACAAAACCACGACTTTTTGTCTCCT
+TCGCCCACACTGCTTAACTGCGCTTTCGCCAGGCCGCTGACGCACTGTTGACGAAAATCCTCGGAGAACG
+GATTTAGTGAGCACATCTGGCGAGTCACCATAAATGGAATAAATTCGACAATGCCGCGATAGTTGTAACC
+GCTATCTTTAATTTTGTTGGCGAACGCGGTGATTTCTGTGGCTTGTTGCGGGGTAAGATCCGGGACTCGT
+AAGACGAAAAGCTTATCACTATGCTTTATGGCTTTTTTAAGGGAAACAATCTGGACGCCAGCGCCTGTCG
+CTTCGGCAACGTTGTTATCTCCCAAATAGATTGCAACGTGACTCACAGGGAAGTGCTGAATACGCGGATA
+CCAAATGAGGTTACCCCAAGGCTTGAGGAGAAAAGCAAATCGCCGGGTTTGAGATCTGGTTCCGTTATTT
+CTTTTATTGATTGTTCGGTGAAAGAGCTTTGATGCTGGAATTTAACAGCCCATGTTTTCGCCTCGGCATT
+TACCACTGTGGCTGATGAGTCTGGCTGGCTGATATCAACGGTACAGGCCGAAAGTAAAAGAAAGCAGGGG
+AGAAGCAGGCGGCAGTACGCCTTTGGTTTATCCATTTTATACAATCCATGTAAAAAAGGGCCCCGAAATT
+CAGGACCCTTTCTGGCATCAGCCTTTAATCTGTTTCACCAGATAATCGACGATGTCACCAGTCTTAATTA
+ACTGTTTCTCGCCGTTACGACGATATTTATATTCGATATCATCGTTGTCGAGGTTACGGTCGCCCAGCAC
+AATAGTGTGCGGAATACCGATCAGTTCCATATCAGCAAACATCACGCCCGGACGCTCTTTGCGGTCATCC
+AGCAGCACTTCGATACCTTGTGCGCGCAGTTCGCTGTACAGTTTCTCAGCAAGTTCCTGTACGCGGAAGG
+ATTTGTGCATGTTCATTGGCAGAATCGCCACCTGGAACGGCGCGATAGCGTCAGGCCATACGATGCCGCG
+TTCGTCGTAGTTCTGCTCAATCGCCGCTGCTACCACACGCGTTACGCCGATACCGTAGCAACCCATCGTC
+AGGATTTGGTTACGGCCATCTTCACCCTGTACGGAGGCTTTCAGTGCTTCGGAGTACTTGGTACCCAGCT
+GGAAGATGTGACCGACTTCGATACCACGTTTGATCAGCAGCGTACCCTGACCATCCGGGCTTGGATCGCC
+AGCCACCACGTTGCGGATATCAGCAATTTCCGGGGTAGCGACATCGCGATCCCAGTTGATACCGAAGTAG
+TGTTTACCATCGATGTTAGCACCAGCAGCGAAATCACTCATCGCCGCAACGGTACGGTCAATCACCACCG
+GAATCGGCATGTTTACTGGACCCAGTGAACCCGGACCGGCTTTAACCACGGCACGAATTTCTTCTTCGGT
+CGCAAAAGTCAGCGGGCTGGCAACCTGCGGCAGTTTTTCTGCTTTAACTTCGTTCAGCTCGTGGTCACCG
+CGCACCAGCAGCGCAACCAGCGGGAAGCTACTGCCTTCAACGGCTTTAACCAGCAGAGTCTTAACCGTTT
+TCTCAATCGGCAGATTGAACTGTTCAACCAGTTCCGCGATGGTTTTCGCGTTCGGCGTATCAACCAGCGT
+CATTTCCTGGGTAGCAGCAGCGCGCGGTTCTTTCGGCGCGATAGCTTCTGCCAGTTCAATGTTCGCTGCA
+TAGTCAGAAGTATCGGAGAAGACCACATCGTCTTCACCGCTCTGCGCCAGCACCTGAAATTCGTGAGAGG
+CGCTACCGCCGATAGAACCGGTATCGGCCTGTACGGCGCGGAAATCCAGCCCCATGCGGCTGAAGATTTT
+GCTGTAGGCCGCATACATTGCATCGTAGGTTTCCTGCAGGGATTCCTGAGAAGTATGGAAAGAGTAAGCA
+TCTTTCATCAGGAATTCGCGGGAACGCATGACGCCAAAACGCGGACGCACTTCGTCGCGGAACTTGGTCT
+GGATCTGATAGAAGTTCAGCGGCAGCTGTTTGTAAGAGCTCAGCTCGTTACGAATCAGGTCTGTAATCAC
+TTCTTCATGAGTTGGGCCGAGTACGAACGGACGGTCACCACGGTCAGCAATACGCAGCAATTCCGGGCCA
+TACTGTTCCCAACGACCACTCTCTTGCCACAGTTCAGATGGCTGAACCACCGGCATTAACACCTCGATCG
+CACCGGCGTTGTTCATCTCTTCACGCACGATGTTTTCGACTTTTTTCAGAACGCGCACGCCGGTCGGCAG
+CCAGGTATATAACCCGGAGGCCAGCTTGCGGATCATCCCGGCGCGCAGCATCAGCTGATGGCTGATCACC
+TCGGCGTCGGCAGGTGTCTCCTTGAGAGTGGAGAGCAGGTATTGGCTAGTACGCATGTTGTTACGGTTCC
+AGTTGGAAGGTAGAACAGGCTCAAGGCGAGCCTGGGACAAAAAAAGTGATTTAGTTTACCAGTGCAAAAG
+AAATGTCAAAAGAGAAGGGCGTGAATTTAACGCGGTTCCAGCGCAAAGACTTCAAAACCTGCGTCGGTGA
+CGCGCCAGCGAACGTTAAAATCATGCAGCCAGACGGCATAGGTTTTGCCCGTTTCCTCACCTTTACGATA
+GGCCGGGCGCGGGTCCTGCGCCAGTACTTCGCGGATAAACAGCGTTAACTGCGGATAACGCTTCTTCAGC
+GTCAAAAGCTGCTTTTCGACCTCTGCGGTAAAACACACCGCCATTTCTGCCGCTGGCGCACTTTGCGCAT
+AGCTGGCACTGGCATCGGGAAGCGATTCAGCAAAGGGGAGATACGGTTTGATATCCACTACCGGCGTACC
+ATCGACCAGATCCAGACTGCCGAGCTTCAGAATCACGCTATCTTTATGGCAAACAACCTCTTTCAGCTCT
+ACCAGCGACATACCAATCGGGTTAGGGCGAAAAGTGGAGCGCGTAGCGAAAACACCCATTCTGGCATTAC
+CGCCGAGACGAGGCGGACGCACAGTCGGACGCCAGCCGCCTTCCATCGTTTGATGAAAGACGAAAAGGAT
+CCATAAATGGCTGAATGCTTCCAGGCCGCGAACGGCGTCGGCCTGGTTGTAGGGAGCAATGAGATGTAGT
+TCGCCGTTGGCGCTTTTTACCAGACCTGGCTGGCGCGGAACGGCGAATTTTTCTTTATAGGGCGAGCGAA
+TAACGCCTATTTGCTCGAACTGGAAACTGCTCATTTCGCCGTGATGTTAAGCGCAGAACCGATACATACA
+GCCTGACGATAGCAACCTGGCGTACCGCTGGTGACTTCGCAGCTATGCAGTAATACCGCATTGGCTTTCA
+TTTTCGAGGCGTTGATTTGCATCCGCTTACGTGCGGTTGGAATGCTCGGCGGAGAGTCCTGATTAGAGGC
+CTGGCAAGAGTCGCCACTGACTTCACCGAGATCGCGGAACGGTTTGCCGACTAATTCTTCTGCATTGGTA
+TAAATTCGGACCGACGTGGCGCGCGGCGCTTTCGGTTTTGCAGGCTCCGCTTTCGGCTGGGGTGCAGTGC
+TTTGAACGGGTTCGACAGGGGATCTGCTTAACATGGAACAGCCGCTTAGCATGAGTGCTACTAAACAGAT
+CGGTAAAGCACGCATAGTATTTCCTCAATGTATGATCAACACGTCAATATTGAATCAGGCGCTTGTAAAA
+ATGACAAGACGGGCAAGCGCCCGTCCTGAATGATATTACAAATTGTGGAAACAGCCTAAATATTACCAGC
+CTTTAACAGCGCCGCCGTTAAACACTTTGTTTGCTGCTTCGTAAACTTCGTCAGACTGATAAGCCTGAAC
+GAATTTCTTCACGTTTTCGGCGTCTTTGTTGTCTTCACGCGTTACGATCAGGTTTACGTACGGGGACTCT
+TTATCTTCGACAAAGATACCGTCTTTCGCTGGAGTCAGGCCAATCTGGCTGGCATAGGTGGTATTGATAA
+CTGCCAGAGCGATTTGCGCGTCGTCCAGAGAGCGCGGCAGCTGCGGTGCTTCCAGTTCAACAATTTTCAG
+ATTTTTTGGGTTCTCAACAACATCAAGAACGGTCGGCAGCAGGCCAACGCCATCTTTCAGTTTGATCAAG
+CCCACTTTTTGCAGCAGCAGCAGTGAACGACCAAGGTTAGTTGGGTCGTTTGGCACGGCAACCTGCGAAC
+CATCCTGCAGTTCATCCAGTGATTTGATTTTCTTGGAGTAACCAGCAATCGGATAAACAAAAGTGTTGCC
+TACTGCGACCAGTTTGTAGCCACGATCTTTCAGTTGCTGATCAAGGTACGGTTTATGCTGGAAGGCGTTG
+GCGTCGATATCGCCTTTGCTCAATGCTTCGTTTGGCAGAACATAGTCGTTGAAGGTGACCAGCTCAACGT
+CCAGGCCATATTTGTCTTTCGCGACTTTCTGCGCGACTTCTGCAACCTGCTGTTCGGCACCAACAATCAC
+GCCGACTTTAATGTGGTTTGGATCTTTTTCATCCTGACCGCAGCCTACCAGTGCCAGTGATCCAATCAGG
+GCTCCCACTGCCGCAAAGGTTTTGAATTTGAACGCCATACCTTATTCCTTCTTCAATTATTTATGTTGTG
+TTGAACGTTACTTGCGAGTGACAGCCCGGACGATGCGGTCGCCTGCGAACTGAATTAAATAAACCAGAAT
+GACCAGCAATACCAGTACCGTATTCATCACCGTCGCGTTGTAGCCGATGTAGCCATACTGATAGCCAATC
+TGACCTAAACCACCGGCACCGACTGCACCACCCATCGCGGAATAACCAACCAGGGTAATCAGGGTAATAG
+TTGCCGCATTCACCAGACCCGGCAACGCTTCCGGTAACAGCACTTTACGGACGATCTGCATTGGCGTGGC
+ACCCATTGCGCGGGAAGCTTCAATTAACCCGGTTGGGATCTCCAGAAGAGCGTTCTCGACCATACGGGCA
+ATAAACGGTGCTGCACCAACGGTTAACGGAACAATCGCTGCCTGCAATCCAATCGATGTACCGACAATAA
+CGCGGGTAAACGGAATCATCCATACCAGCAAGATAATGAACGGGATGGAACGGAAAATGTTCACAATCGC
+AGAAATGGTACGATACAACTTCGCGTTAGCAATAATTTGCCCCGGACGCGTGACATAAAGCAGAACGCCA
+ACCGGCAGACCAATCACAAAGCCAAAAAAACCGGATACGAAGGTCATTGCCAGCGTTTCCCATACGCCAC
+GAACCAGCAGCCACATCATCGGCTCAGACATAACCCAGTACCTCTACTTTTACATGGTGTTCCTGCAGCC
+AGGCAATGGCGGCTTGCGTATCTTGTTGTGTGCCGTGCATTTCAGTCAGCATAATGCCGAACTTAACGCC
+ACCGGCGTAATCCATCTGCGCGCTAATAATGTTGTTGTTGACGTTGAAACGACGCGCGGTTTCAGAAAGC
+AGTGGGGCATCGACCGATTGACCGGTAAACTCCAGACGCAGCATCGGCACGCAGTCAGCGAATGGCTCCG
+CTTGCAGACGTTCCTGGTAATCTTCCGGGATATCCAGATGCAGGGTCGACTGAATAAACTTCTGCGCCAG
+CGGCGTTTTCGGATGCGAGAACACTTCACTTACCGTGTCCTGCTCGATCAGTTCGCCATTGCTGATGACC
+GCCACGCAATCACAAATGCGCTTCACAACGTCCATTTCGTGAGTGATCAACAGAATCGTCAAACCCAGAC
+GGCGGTTGATGTCTTTCAGCAGTTCGAGAATAGAACGTGTCGTTGCCGGGTCCAGCGCGCTGGTGGCTTC
+ATCACACAGCAATACTTTGGGATTGCTGGCTAATGCACGGGCAATCGCCACACGTTGTTTCTGCCCACCG
+GAAAGATTCGACGGGTAGCTATCATGCTTATCGCCAAGACCAACCAATGACAGCAATTCCGTCACGCGAC
+GTTTGATCTCGTCTTTCGGTGTGTTGTCCAGCTCCAGCGGCAGAGCCACGTTGCCAAAAACAGTACGCGA
+AGAGAGCAGGTTAAAATGCTGGAAAATCATACCAATCTGGCGACGAGCTTTGGTCAACTCGGATTCTGAC
+AGCGTGGTCAGTTCCTGGCCATCGACCAGCACGCTACCCTCGGTTGGGCGCTCCAGCAGGTTTACACAAC
+GTATAAGCGTACTCTTACCCGCGCCTGAGGCACCGATAACGCCATAAATTTGTCCAGCTGGCACATGCAG
+GCTGACGTTGTTCAACGCCTGGATGGTGCGGGTGCCCTGGTGGAACACTTTGGTGATATTCGAAAGTTTT
+ATCATTGATTATTTATTATCGTCATTAAGTTAGTCGTGGCATTTCGAATGCCTGGAACGGGCAACGCCGT
+CAATGAAATGGATGTTAAGGCATCCAGACGTCTAAATCAATCAGGTTTATGCGAAGAGCACTTTCTTGCA
+GGTCGAAACATGCGATACTAGCGTCACATGCCTTATTAAGGAGCTATAAAAGGTGGCGAAGAGCGTACCC
+GCAATTTTTCTTGACCGTGATGGCACCATTAATGTCGATCACGGCTATGTCCATGAGATCGACAACTTTG
+AATTTATCGACGGTGTTATTGACGCCATGCGCGAGCTAAAAAAAATGGGCTTTGCGCTGGTGGTAGTAAC
+CAACCAGTCTGGCATTGCTCGCGGTAAATTTACTGAAGCACAGTTTGAAACGCTGACCGAGTGGATGGAC
+TGGTCGCTGGCGGACCGCGATGTCGATCTGGATGGTATCTATTATTGCCCGCATCATCCGCAGGGTAGTG
+TTGAAGAGTTTCGCCAGGTCTGCGACTGCCGCAAACCACATCCGGGGATGTTTTTGTCAGCACGCGATTA
+TTTGCATATTGATATGGCCGCTTCTTATATGGTGGGCGATAAATTAGAAGATATGCAGGCAGCGGCTGCG
+GCGAGCGTGGGAACAAAAGTGCTGGTGCGTACGGGTAAACCTATTACGCCTGAAGCAGAAAACGCGGCGG
+ATTGGGTGTTAAATAGCCTGGCAGACCTGCCGCAAGCGATAAAAAAGCAGCAAAAACCGGCGTAATGATT
+AAAAGATGAGCTGTTGAAATAAAAATGCATTTTTCCGCTTGTCTTCCTGAGACGACTCCCTATAATGCGC
+CTCCATCGACACGGCGGATGTGAATCACTTCACACAAACAGCCGGTTCGGTTGAAGAGAAAAATCCTGAA
+ATTCAGGGTTGACTCTGAAAGAGGAAAGCGTAATATACGCCACCTCGCGACAGTGAGCTGAAAGCCGCGT
+CGCAACTGCTCTTTAACAATTTATCAGACAATCTGTGTGGGCACTCGAAGATACGGGTTCTTAACGTCGC
+AAGACGAAAAATGAATACCAAGTCTCAAGAGTGAACACGTAATTCATTACGAAGTTTAATTCTTTGAGCA
+TCAAACTTTTAAATTGAAGAGTTTGATCATGGCTCAGATTGAACGCTGGCGGCAGGCCTAACACATGCAA
+GTCGAACGGTAACAGGAATCAGCTTGCTGATTCGCTGACGAGTGGCGGACGGGTGAGTAATGTCTGGGAA
+ACTGCCTGATGGAGGGGGATAACTACTGGAAACGGTAGCTAATACCGCATAACGTCGCAAGACCAAAGAG
+GGGGACCTTCGGGCCTCTTGCCATCGGATGTGCCCAGATGGGATTAGCTAGTAGGTGGGGTAAAGGCTCA
+CCTAGGCGACGATCCCTAGCTGGTCTGAGAGGATGACCAGCCACACTGGAACTGAGACACGGTCCAGACT
+CCTACGGGAGGCAGCAGTGGGGAATATTGCACAATGGGCGCAAGCCTGATGCAGCCATGCCGCGTGTATG
+AAGAAGGCCTTCGGGTTGTAAAGTACTTTCAGCGGGGAGGAAGGGAGTAAAGTTAATACCTTTGCTCATT
+GACGTTACCCGCAGAAGAAGCACCGGCTAACTCCGTGCCAGCAGCCGCGGTAATACGGAGGGTGCAAGCG
+TTAATCGGAATTACTGGGCGTAAAGCGCACGCAGGCGGTTTGTTAAGTCAGATGTGAAATCCCCGGGCTC
+AACCTGGGAACTGCATCTGATACTGGCAAGCTTGAGTCTCGTAGAGGGGGGTAGAATTCCAGGTGTAGCG
+GTGAAATGCGTAGAGATCTGGAGGAATACCGGTGGCGAAGGCGGCCCCCTGGACGAAGACTGACGCTCAG
+GTGCGAAAGCGTGGGGAGCAAACAGGATTAGATACCCTGGTAGTCCACGCCGTAAACGATGTCGACTTGG
+AGGTTGTGCCCTTGAGGCGTGGCTTCCGGAGCTAACGCGTTAAGTCGACCGCCTGGGGAGTACGGCCGCA
+AGGTTAAAACTCAAATGAATTGACGGGGGCCCGCACAAGCGGTGGAGCATGTGGTTTAATTCGATGCAAC
+GCGAAGAACCTTACCTGGTCTTGACATCCACGGAAGTTTTCAGAGATGAGAATGTGCCTTCGGGAACCGT
+GAGACAGGTGCTGCATGGCTGTCGTCAGCTCGTGTTGTGAAATGTTGGGTTAAGTCCCGCAACGAGCGCA
+ACCCTTATCCTTTGTTGCCAGCGGTCCGGCCGGGAACTCAAAGGAGACTGCCAGTGATAAACTGGAGGAA
+GGTGGGGATGACGTCAAGTCATCATGGCCCTTACGACCAGGGCTACACACGTGCTACAATGGCGCATACA
+AAGAGAAGCGACCTCGCGAGAGCAAGCGGACCTCATAAAGTGCGTCGTAGTCCGGATTGGAGTCTGCAAC
+TCGACTCCATGAAGTCGGAATCGCTAGTAATCGTGGATCAGAATGCCACGGTGAATACGTTCCCGGGCCT
+TGTACACACCGCCCGTCACACCATGGGAGTGGGTTGCAAAAGAAGTAGGTAGCTTAACCTTCGGGAGGGC
+GCTTACCACTTTGTGATTCATGACTGGGGTGAAGTCGTAACAAGGTAACCGTAGGGGAACCTGCGGTTGG
+ATCACCTCCTTACCTTAAAGAAGCGTACTTTGCAGTGCTCACACAGATTGTCTGATAGAAAGTGAAAAGC
+AAGGCGTCTTGCGAAGCAGACTGATACGTCCCCTTCGTCTAGAGGCCCAGGACACCGCCCTTTCACGGCG
+GTAACAGGGGTTCGAATCCCCTAGGGGACGCCACTTGCTGGTTTGTGAGTGAAAGTCACCTGCCTTAATA
+TCTCAAAACTCATCTTCGGGTGATGTTTGAGATATTTGCTCTTTAAAAATCTGGATCAAGCTGAAAATTG
+AAACACTGAACAACGAAAGTTGTTCGTGAGTCTCTCAAATTTTCGCAACACGATGATGAATCGAAAGAAA
+CATCTTCGGGTTGTGAGGTTAAGCGACTAAGCGTACACGGTGGATGCCCTGGCAGTCAGAGGCGATGAAG
+GACGTGCTAATCTGCGATAAGCGTCGGTAAGGTGATATGAACCGTTATAACCGGCGATTTCCGAATGGGG
+AAACCCAGTGTGATTCGTCACACTATCATTAACTGAATCCATAGGTTAATGAGGCGAACCGGGGGAACTG
+AAACATCTAAGTACCCCGAGGAAAAGAAATCAACCGAGATTCCCCCAGTAGCGGCGAGCGAACGGGGAGG
+AGCCCAGAGCCTGAATCAGTGTGTGTGTTAGTGGAAGCGTCTGGAAAGGCGCGCGATACAGGGTGACAGC
+CCCGTACACAAAAATGCACATGCTGTGAGCTCGATGAGTAGGGCGGGACACGTGGTATCCTGTCTGAATA
+TGGGGGGACCATCCTCCAAGGCTAAATACTCCTGACTGACCGATAGTGAACCAGTACCGTGAGGGAAAGG
+CGAAAAGAACCCCGGCGAGGGGAGTGAAAAAGAACCTGAAACCGTGTACGTACAAGCAGTGGGAGCCTCT
+TAATGGGGTGACTGCGTACCTTTTGTATAATGGGTCAGCGACTTATATTCTGTAGCAAGGTTAACCGAAT
+AGGGGAGCCGAAGGGAAACCGAGTCTTAACTGGGCGTTAAGTTGCAGGGTATAGACCCGAAACCCGGTGA
+TCTAGCCATGGGCAGGTTGAAGGTTGGGTAACACTAACTGGAGGACCGAACCGACTAATGTTGAAAAATT
+AGCGGATGACTTGTGGCTGGGGGTGAAAGGCCAATCAAACCGGGAGATAGCTGGTTCTCCCCGAAAGCTA
+TTTAGGTAGCGCCTCGTGAATTCATCTCCGGGGGTAGAGCACTGTTTCGGCAAGGGGGTCATCCCGACTT
+ACCAACCCGATGCAAACTGCGAATACCGGAGAATGTTATCACGGGAGACACACGGCGGGTGCTAACGTCC
+GTCGTGAAGAGGGAAACAACCCAGACCGCCAGCTAAGGTCCCAAAGTCATGGTTAAGTGGGAAACGATGT
+GGGAAGGCCCAGACAGCCAGGATGTTGGCTTAGAAGCAGCCATCATTTAAAGAAAGCGTAATAGCTCACT
+GGTCGAGTCGGCCTGCGCGGAAGATGTAACGGGGCTAAACCATGCACCGAAGCTGCGGCAGCGACACTAT
+GTGTTGTTGGGTAGGGGAGCGTTCTGTAAGCCTGTGAAGGTGGCCTGTGAGGGTTGCTGGAGGTATCAGA
+AGTGCGAATGCTGACATAAGTAACGATAAAGCGGGTGAAAAGCCCGCTCGCCGGAAGACCAAGGGTTCCT
+GTCCAACGTTAATCGGGGCAGGGTGAGTCGACCCCTAAGGCGAGGCCGAAAGGCGTAGTCGATGGGAAAC
+AGGTTAATATTCCTGTACTTGGTGTTACTGCGAAGGGGGGACGGAGAAGGCTATGTTGGCCGGGCGACGG
+TTGTCCCGGTTTAAGCGTGTAGGCTGGTTTTCCAGGCAAATCCGGAAAACCAAGGCTGAGGCGTGATGAC
+GAGGCACTACGGTGCTGAAGTGACAAATGCCCTGCTTCCAGGAAAAGCCTCTAAGCATCAGGTAACATCA
+AATCGTACCCCAAACCGACACAGGTGGTCAGGTAGAGAATACCAAGGCGCTTGAGAGAACTCGGGTGAAG
+GAACTAGGCAAAATGGTGCCGTAACTTCGGGAGAAGGCACGCTGATATGTAGGTGAAGCGACTTGCTCGT
+GGAGCTGAAATCAGTCGAAGATACCAGCTGGCTGCAACTGTTTATTAAAAACACAGCACTGTGCAAACAC
+GAAAGTGGACGTATACGGTGTGACGCCTGCCCGGTGCCGGAAGGTTAATTGATGGGGTTAGCGGTAACGC
+GAAGCTCTTGATCGAAGCCCCGGTAAACGGCGGCCGTAACTATAACGGTCCTAAGGTAGCGAAATTCCTT
+GTCGGGTAAGTTCCGACCTGCACGAATGGCGTAATGATGGCCAGGCTGTCTCCACCCGAGACTCAGTGAA
+ATTGAACTCGCTGTGAAGATGCAGTGTACCCGCGGCAAGACGGAAAGACCCCGTGAACCTTTACTATAGC
+TTGACACTGAACATTGAGCCTTGATGTGTAGGATAGGTGGGAGGCTTTGAAGTGTGGACGCTAGTCTGCA
+TGGAGCCGACCTTGAAATACCACCCTTTAATGTTTGATGTTCTAACGTTGGCCCCTAATCGGGGTTGCGG
+ACAGTGTCTGGTGGGTAGTTTGACTGGGGCGGTCTCCTCCTAAAGAGTAACGGAGGAGCACGAAGGTTGG
+CTAATCCTGGTCGGACATCAGGAGGTTAGTGCAATGGCATAAGCCAGCTTGACTGCGAGCGTGACGGCGC
+GAGCAGGTGCGAAAGCAGGTCATAGTGATCCGGTGGTTCTGAATGGAAGGGCCATCGCTCAACGGATAAA
+AGGTACTCCGGGGATAACAGGCTGATACCGCCCAAGAGTTCATATCGACGGCGGTGTTTGGCACCTCGAT
+GTCGGCTCATCACATCCTGGGGCTGAAGTAGGTCCCAAGGGTATGGCTGTTCGCCATTTAAAGTGGTACG
+CGAGCTGGGTTTAGAACGTCGTGAGACAGTTCGGTCCCTATCTGCCGTGGGCGCTGGAGAACTGAGGGGG
+GCTGCTCCTAGTACGAGAGGACCGGAGTGGACGCATCACTGGTGTTCGGGTTGTCATGCCAATGGCACTG
+CCCGGTAGCTAAATGCGGAAGAGATAAGTGCTGAAAGCATCTAAGCACGAAACTTGCCCCGAGATGAGTT
+CTCCCTGAGACTTAGAGTCTCCTGAAGGAACGTTGAAGACGACGACGTTGATAGGCCGGGTGTGTAAGCG
+CAGCGATGCGTTGAGCTAACCGGTACTAATGAACCGTGAGGCTTAACCTTACAACGCCGAAGATGTTTTG
+GCGGATGAGAGAAGATTTTCAGCCTGATACAGATTAGATTAACCGGCGACAAGCGGGTTAATGAAACAGA
+ATTTGCCTGGCGGCCTTAGCGCGGTGGTCCCACCTGACCCCATGCCGAACTCAGAAGTGAAACGCCGTAG
+CGCCGATGGTAGTGTGGGGTCTCCCCATGCGAGAGTAGGGAACTGCCAGGCATCAAATTTAGCAGTAAGC
+CGGTCATAAAACTGGTGGTTGTAAAAGAATTCGGTGGAGCGGTAGTTCAGTCGGTTAGAATACCTGCCTG
+TCACGCAGGGGGTCGCGGGTTCGAGTCCCGTCCGTTCCGCCACTTATTAAGAAGCCTCGAGTTAACGCTC
+GAGGTTTTTTTTCGTTTGTATTTCTATTATTGCCAAAATCGCAAAAATCCTCTGCGTTTTACGCCATTTT
+TCCACAACAGTCTGAAGCCCATAATCACCTCAGTTAACGAAAATAGCATTAAAAGAGGCATATTATGGCT
+ATCCCTGCATTTGGTTTAGGCACTTTCCGTCTGAAAGACGACGTTGTTATTTCATCTGTGAAAACGGCGC
+TTGAACTTGATTATCGCGCAATTGATACCGCACAAATCTATGATAACGAAGCCGCAGTAGGTCAGGCGAT
+TGCAGAAAGTGGCGTGCCACGTCATGAACTCTACATCACCACTAAAATCTGGATTGAAAATCTCAGCAAA
+GACAAATTGATCCCGAGTCTGAAAGAGAGCCTGCAAAAATTGCGTACCGATTATGTTGATCTGACGCTAA
+TCCACTGGCCGTCACCAAGCGATGAAGTCTCTGCTGAAGAGTTTATGCAGGCGCTGCTGGAAGCCAAAAA
+ACAAGGGCTGACGCGTGAGATCGGTATTTCCAACTTCACGATCCCATTGATGGAAAAAGCGATTGCTGCT
+GTTGGCGCTGAAAACATCGCTACTAACCAGATTGAACTCTCTCCTTATCTGCAAAACCGTAAAGTGGTCG
+CTTGGGCTAAACAGCACGGTATCCATATTACTTCCTATATGACTCTGGCGTATGGCAATGCACTGAAAGA
+TAAGGTTATTGCTCGTATTGCAGCTAAACACAATGCGACTCCGGCTCAAGTGATTCTGGCGTGGGCTATG
+GGGGAAGGTTACTCAGTAATTCCTTCTTCTACTAAACGTGAAAACCTGGAGAGTAATCTTAAGGCACAAA
+ATTTACAGCTTGATGCCGAAGATAAAAAAGCGATCGCCGCACTGGATTGCAACGACCGCCTGGTTAGCCC
+GGAAGGTCTGGCTCCTGAATGGGATTAAGCCTCTCTGACAGCTCCTCCGGGAGCTGTTTTTACATGCTCG
+CTAAGGAAATCGATAAAAGCCCGGATGCGCGTACTTACCGCACGGTCGCTGTAATAGACTGCACTGAATG
+GCATTTCCACTGGCAACACTTTATCTGCCATTAACTCCACCAATTCTCCGCGAGCGATTTCTTTGTCGAT
+CATGTAGTCGGACAAACACGCAATCCCGTTGCCACTCAGGCAAAGCTGTTTCAGTGTTTCCCCACTATTG
+GATGACAAACCGTACTTCACCTCATGTAATTGTCCATCGCTACAGGCTATCGGCCAGGTATTGAGGGAAG
+CGGGTTCAGTGAATCTCAGGCAAATATGTTGCTTTAAATCGTCGATCGTTTCTGGCTTCCCGTAGCAGGA
+AATATAATCGGGGGAGGCGATAATTTTTCGATAACTGTTAAATAACGGCCTGGCACGTAAGCTGGAATCC
+GTTAACGTACCGGCGCGTATCGCGACATCCACTTTTCTTTCGATCAAATTAATAATCGTTTCGGAGGAGA
+CTAGCGATAAAGTGACTTCCGGATAGCGTTCACGAAAAGGCTTAATCAACGGCATCAGAAAGTGCAGTAC
+CACTGGAGTTGCGGCATCGATCCGTAACAGTCCACGCGGTGTATTACGCGTCTCCATAATTTCTGATTCT
+GCCGCTGCCATCTCCTGCAAAATTGACTGTACGCGACGAAAATAACGCTCGCCTTCTTCCGTCAGGCTAA
+GTTGCCGCGTGGTCCGATTAAGCAGGCTAACGCCAAGTTTCATCTCCAGCTTTTTCACCGCCCGGCTTAC
+CGCTGAGTTTGCTTGCCCTAATTGTTCCGCTGCCCGGCTAAAGCTGCCGCTTTCGACGACTGAAACAAAA
+ATGGCGAGTTCTTCCGACGTGGCTTTCATTTTTGCTCCTGTTGCAAAATAGAAGAGATATTTTGAATTTA
+TTTGTCATTAAACCATCAGGATGCGAGATATGCCATCCGATTTAATGTTCTCAATAATGAGCAAAATCCT
+GACCGGTGTAAGCACTTGCTTACATAACAATATACAATTGCTCGTTGAAAGAGTGAGCTAAAATCCCTAT
+AACAGTAGAACCCTCCCGAGTGCGGAAGGGTTGACGTGATAGAGGTTTCAAAGTCAAAAGTGCGAAAAAA
+CACCTATGCCATGCGCTATGTTGCCGGACAACCAGCGGAAAGGATCTTACCGCCGGGGTCTTTTGCGAGC
+ATCGGCCAGGCATTACCACCTGGAGAACCGTTAAGTACCGAAGAGCGTATTCGGATCCTGGTGTGGAACA
+TATACAAACAGCAACGCGCTGAATGGTTGTCGGTATTAAAGAACTACGGCAAAGATGCACATCTGGTGTT
+ATTGCAGGAAGCGCAGACAACGCCAGAGTTAGTACAGTTTGCGACTGCTAACTATCTTGCCGCCGATCAG
+GTACCCGCTTTCGTGCTGCCACAACATCCTTCTGGCGTAATGACCCTTTCGGCGGCACATCCAGTGTATT
+GCTGCCCGTTACGTGAACGAGAACCCATTTTGCGTCTGGCGAAATCGGCACTGGTGACGGTCTATCCCTT
+ACCTGACACCCGCCTGTTGATGGTGGTTAATATACACGCCGTCAACTTCAGTCTGGGCGTGGATGTCTAT
+AGTAAGCAGTTACTTCCTATTGGCGATCAGATAGCTCACCACAGTGGCCCGGTCATTATGGCGGGAGATT
+TCAATGCCTGGAGCCGTAGAAGGATGAACGCGTTATATCGCTTTGCGCGGGAAATGTCGCTACGCCAGGT
+GCGTTTTACCGATGATCAGCGCCGTCGGGCGTTTGGTCGCCCGCTCGATTTTGTTTTCTACCGTGGTCTG
+AACGTCAGCGAAGCTTCTGTACTGGTTACGCGCGCGTCCGATCACAATCCGCTACTCGTTGAATTCAGTC
+CCGGCAAGCCTGATAAATAAGGTATGTCAGGTCTGCCACAGGGCAGGCCAACGTTTGGCGCTGCCCTTTT
+ATACTCAAACAACAAAAGGACAGCGCAATGACAACACAATCCCACCATGACCACGTAGAAAAGCAGTTTA
+GCTCTCAAGCCAGCGAATATCTGACCAGTACCGTACATGCATCCGGACGAGATTTACAGCGCCTGGCGGT
+GCGTCTGGCTGATTATCCTGATGCAAGTGTACTTGATATGGGCTGCGGAGCAGGGCATGCCAGCTTTGTC
+GCTGCGCAAAACGTGAGCACGGTGGTGGCGTATGACTTATCTGCCCATATGCTGGATGTCGTGGCACAAG
+CTGCCGAAGCCCGGCAACTGAAAAATATCACCACCCGCCAGGGTTATGTCGAAAGCCTGCCATTTGCCGA
+TAACGCATTTGATATTGTTATCAGCCGTTATTCTGCCCATCACTGGCATGATGTTGGTGCAGCACTGCGT
+GAAGTGAACCGGATATTGAAACCTAGCGGTAAGCTGATTGTGATGGACGTAATGTCTCCGGGCCACCCAG
+TGCGCGACATCTGGTTACAGACGGTAGAAGCATTACGCGATACATCTCACACACGGAACTACGCCAGCGG
+TGAGTGGTTGACGTTAATCAGTGAAGCCAATCTGATAGTTGATAATTTAATTACAGATAAGTTACCGCTG
+GAATTTTCTTCATGGGTAGCGAGAATGCGTACGCCAGAAGCGTTAGTAGACGCTATTCGCATTTACCAAC
+AGAGCGCATCGACAGAGGTGAAAACGTATTTTGCCTTGCAGAATGATGGCTCTTTCACCAGTGATATCAT
+CATGCTAGAAGCACATAAAGCGGCATAAATAAAAAAGGCACCGGGGGAATCGGTGCCTTTTTTATTATCT
+GGTTTGTCAGGAATCTGGCATGTTGTTGTTTTTCACAAACAACGTCAGCTTATCGCCTGGTTGCAGATTC
+GCAGTGTCGCTGTTCCAGCGCATTACATCTTTGATGTTCACGCCGTGGCGTTTAGCAATGCTTGAAAGCG
+AATCGCCTTTGCGCACACGATACGTAATGCTATCGCTGTTGTTTGCCAGTCGCTGTGCGCTACTGCCTGC
+ACCAATCGTCAAACTTTGGCCTGGCTTCAGCTTAGATCCGCGCAGTTTGTTCCATTGCTGCAAATCTTTG
+GTGCTTACGCCGAGACGTGAAGCGATACTTGAAAGCGTGTCGCCAGAGCGTACGGTGTAAACACGGCTGT
+TAAGCGGCGTATTGTCGGCAACCAGCGTCGACTGTACAGCAACAATTTCGCCTGAAGCCAGAGATTCACG
+CAGTTGATCTGCATGCTTCTTTGGCACCATCACGTACTGCGGACCACTTGCGCCCAGCGTGGAGCCTTTC
+ACGCCTGCGTTGAATGTCTTCAGCTTGCTGACGGAAATCCCCGCCATATCTGCAACCTTCGCCATTTCAA
+CCGGGCTGCTCAGGTGCACACGTGCCAGAGCACGGCTTTCATCGGTCGTTGGCAGACGTACGCCATAACG
+CTTGCTGTTTTTGAGAATATCACTCAATGCCAGCATTTTAGGCACGTACTGCTTCGTTTCCTGCGGCAAC
+GGTAACGACCAGAAGTCCGTGGATTTCCCACGCGCTTTGTTCGTTTTAATTGCCTTCATGACCCGACCTT
+CGCCGCTGTTATAAGCCGCTACGGTCAGAAGCCAGTCGCCGTCAAACATCTTGTTCAGACGCTGCATCAT
+GTTCAGCGCGGCAGTTGTTGAAGCAACAACATCGCGACGCGCGTCATAATTGCGGGTCTGTTTCAAACCA
+TAATTGCGCCCCGTGCTCGGAATGATCTGCCAGATGCCCGCGGCATTGGCGCCAGACGTTGCGTGAGGAT
+CAAAAGCGCTCTCCACTATGGGTAGTAGTACCAGTTCCATAGGCATGTTACGTTTTTTAACTTGCCCGGC
+TATCCAGTACATATACGGCTCTGCCCGTAAAGTTACATCGTGGAGATAGCTCTTATTGCGTAAATATTTC
+TGTTTCTGTTCGCGAATCCGGTCGTTTTCCGGAATTCCCATCTTTAGCTCGTCGCCAATGAAAGCCCACA
+AGTCACCATCTGGCGCGATAGACGTCCCATCGTCCATCCATCGTGCCTGACTTGTAAACTTTGCTGCTTC
+CCCTTGACCAGCTGCAGAAAGGCTCTGTGCGTGCTGTTGAACGTTGGCGGTGCTCTGGCAACCCACGAGC
+AGGACAGAGGCGAGTAATATCGCTTTTGCCTTCATGTGTGTGTCAATAGTTGCTTAAAAGACGACCGATC
+ATAACGGCGAACGGAGCCGATGACAAGAAAGTTTTATCAGAACCTATCTTTCTTTGACCTTAACCATGCA
+AAACGTTCTTCAGGTTGTTGCAATAATGTTTCTTCATTAATTACATTAATTAAATCAATATCTTCCGTTC
+TTAAAAAAACATTAATTTGCCGCTCATTTTTCAGAATTACGGGTAGTGTTATTTGATTTTTTGCCCGTAA
+CTCCTTAACTTTACGATAATAATCATTTATGGACAAATCGTGCGGAAGAATACTCAAAGCAAACTTCATA
+TTTGATAAGGTATATTCATGAGCACAACATACCAATGTATCGTCAGGTAACGCACTTAACTTTTTAAGTG
+ATTGATACATTTGTGATGGTGTCCCTTCAAACAACCGACCACACCCACCAGAAAACAGCGTGTCGCCGCA
+AAATAGATAAGGTTTACTGAAGTAACAGATATGTCCTAAAGTGTGACCCGGTGTGGCAATTACACTAAAT
+TCATGCCCCAAAACGAAGGCAGTTTCGCCATCTTTGACTACCTGTGTTGTTCCCTTATCTTGTGTCTCTT
+GTGGTCCATACACCACAATTTGCGGAAACTTTTCCACCAGTTCTTTTACGCCGCCAACGTGATCGTGGTG
+ATGGTGGGTGAGAAATATGGCCTCCGGTTGCCAGTTATTGGCGGAAATGGCGTTTAATACTGGCTCTGCG
+TCCCCGGGATCGACAATCAGACAGCGACCTGCTTCATCATTCAAAACCCAGATGTAATTGTCATCAAAGG
+CGGGAATACTGTTAAGATTCATAGATTACCTCTCAGTGTGAAACGGAAGGTTGTGATGAAACCGGCAAGA
+GTCCCTCAAACTGTCGTGGCTCCTGATTGCTGGGGCGATTTGCCCTGGGGAGAGCTTTATCGCAAGGCGC
+TGGAGCGTCAGCTCAACCCGTGGTTCACTAAAATGTATGGTTTTCATCTGCTTAAGATTGGCAATTTAAG
+CGCAGAAATCAATTGCGAAGCGTGCGCGGTTTCTCATCAAGTGAATGTTTCTGCGCAAGGAATGCCCGTC
+CAGGTGCAGGCGGACCCACTTCATCTTCCTTTTGCCGATAAATCCGTTGATGTTTGTCTACTGGCACATA
+CATTGCCGTGGTGCACTGATCCGCATCGTTTATTGCGTGAAGCCGATCGGGTACTGATTGATGATGGTTG
+GCTGGTGATTAGTGGCTTCAATCCCATCAGTTTAATGGGATTACGCAAACTTGTGCCGGTATTGCGCAAA
+ACATCGCCCTATAACAGCCGGATGTTTACTCTGATGCGGCAGCTGGACTGGCTCTCTTTGTTGAATTTTG
+AAGTGCTACACGCCAGCCGTTTCCACGTTCTCCCGTGGAACAAACACGGAGGAAAACTATTGAATGCGCA
+TATTCCTGCGCTTGGTTGCTTACAACTTATTGTTGCCCGGAAACGGACTATTCCTTTAACGCTAAATCCG
+ATGAAACAGAGCAAGAATAAACCGCGAATTCGCCAGGCGGTTGGTGCCACCCGGCAATGTCGTAAACCAC
+AGGCTTAAACTTCGACTTGATAGCCTGTATCTTCCAGTGTGGGATTCATTGCCGCAGCACGAGCCAGTTC
+ATCACAGCGTTCGTTTTCCGGGTGTCCGGCATGGCCTTTAACCCATTCCCATTTGATTTGATGCTGCCCC
+AGAGCAGCATCAAGACGTTGCCAGAGATCGACATTTTTTACTGGTTTTTTGTCTGCTGTTTTCCAGCCAC
+GTTTTTTCCAGTTATGGATCCACTGGGTGATACCCTGGCGGACATACTGGCTGTCGGTACTCAAAATGAC
+TTCGCAATGTTCTTTTAACGCCTCCAGCGCGACAATAGCGGCCATCAACTCCATACGGTTGTTGGTGGTG
+CGGGTGTAGCCAGCGCTAAAGGTTTTCTCGTGTCCGCGATAGCGTAAAATAGCGCCGTAACCCCCAGGTC
+CAGGATTACCCAGACACGAACCATCGGTGAAAATTTCTACCTGTTTAAGCATCTCTGGTAGACTTCCTGT
+AATTGAATCGAACTGTAAAACGACAAGTCTGACATAAATGACCGCTATGAGCACTGCAATTACACGCCAG
+ATCGTTCTCGATACCGAAACCACCGGTATGAACCAGATTGGTGCGCACTATGAAGGCCACAAGATCATTG
+AGATTGGTGCCGTTGAAGTGGTGAACCGTCGCCTGACGGGCAATAACTTCCATGTTTATCTCAAACCCGA
+TCGGCTGGTGGATCCGGAAGCCTTTGGCGTACATGGTATTGCCGATGAATTTTTGCTCGATAAGCCCACG
+TTTGCCGAGGTAGCCGATGAGTTCATGGACTATATCCGCGGAGCGGAGCTGGTGATCCATAACGCAACGT
+TCGATATCGGCTTTATGGACTACGAGTTTTCGTTGCTTAAGCGCGATATTCCGAAGACCAATACCTTCTG
+TAAGGTCACCGATAGCCTTGCGGTGGCGAGGAAAATGTTTCCCGGTAAACGCAACAGCCTCGATGCGTTA
+TGTGCCCGCTACGAAATAGATAACAGTAAACGAACGCTGCATGGGGCATTACTCGATGCCCAGATCCTTG
+CGGAAGTTTATCTGGCGATGACAGGTGGTCAAACGTCGATGGCTTTTGCGATGGAAGGAGAGACACAACA
+GCAACAAGGTGAAACAACAATTCAGCGCATTGTGCGTCAGGCAAGTAAGTTACGCGTTGTTTTTGCGACA
+GATGAAGAGCTTGCAGCACATGAAGCCCGTCTCGATCTGGTGCAGAAGAAGGGCGGAAGCTGCCTCTGGC
+GGGCATAAATACCTGTAAAAGGCGCTAAAAATAGCGACTTGGGCGATTTTTGCAGCAAACGATTCAAAAG
+ATGAGAAAAACCGTTGACGAAGGGTGAGGCAATCCGTAATATTCGCCTCGTTCCCAACGGAACACAACGC
+GGAGCGGTAGTTCAGTCGGTTAGAATACCTGCCTGTCACGCAGGGGGTCGCGGGTTCGAGTCCCGTCCGT
+TCCGCCAAATTCACTCATGAAAATGAGTTCAGAGAACCGCAAGATTTTTAATTTTGCGGTTTTTTCATCT
+AAATCCCGCTATTTCTTTGGTCTATGATTTTGTTATGCTGTAAATGTGTTAATCACATATGATAGACCAT
+ATCAGTAATATTTAATCATGCTATCGAATCATTCAATTTAAATATATTTGCACGTTATGATTTTCATTTT
+TCTATTGATTTAATGAATTTATATTTGCTGTTATTTTTTGTTTGTTCTGATTCAAGTGGAGTATATAATT
+AAAAATCGTTAGCTAAACATTACCATGATTATGACAGGCGAGGGAGTGTCCGATTATGAATTTAAAAAAG
+GTTTGTTGTATATGTGTATTATTCTCGCTGCTTGCAGGATGTGCCTCTGAATCTCCTATTGATGAAAAAA
+AGAAAAAAACTCAAACCACACAAATTTCTATTAATAAAAACGTTCCCCAGCAACTAACAGACAAAGATTT
+ATATGGTAATGAAACCACACTGGCTGTATCCGAGGAGGATATTCAAGCTGCGCTTGAAGGAGATGAGTTT
+CGTGTGCCCCTCAATTCTCCTGTAATACTTGTTCAGTCTGGCAGTCGCGCACCGGAAACCATTATGCAGG
+AGGAGATGAGAAAATATTATACAGTTGCCACATTTTCTGGCATTCCTGACAGGAAAAAAACTGTAACCTG
+TAATAAAGACAAAAACAAAGATGAAAGCCTGGATATTGTAGATGCCGAAAATATGAACTGGATGCAGGCA
+TTGCGTTTTGTTGCAGCAAAAGGCCATCAGAAAGCGATTATTGTTTTCCAGGATACGTTGCAGACAGGAA
+AATATGACTCTGGATTGAAATCAATAGTTTGGACAGATTATAAAAATCAAAAATTGACTGACACGATGTC
+ACTGCGTTATTTGGTTCGATTCACGTTGGTGGATGTGGCTACAGGTGAGTGGGCTACCTGGTCGCCTGTG
+AATTATGAATCGAAAGTGATTTTTCCGCAGATAGGGAATAAAAATTCTGACAGCCTTGATGTGGCAGAAC
+AGCAGATTTCACAACTTAAGCAGAAAACGTATGCAGCAGTGGTTAAAGACCTGGTGAATCGATATCAGTA
+GTGAGGTTTTATACCAGACGTTTTAGTGGTACTTAGCAAGAAAGAGCATTTCTCTTTTCTATTTTACACT
+ATGGAACAAGTCTGCTAATTAATTTTACATATATCTTTTAGGAGTGGTAAAAACTTTCCTAAAGTTATTT
+ATTGTCCTCTCAATATATAAGCTGTAATTCGAGTTTTCGGTTGAACTGTCAAAAATACATCATATACATC
+TATAAAACAGCAGGTACGGTTAATTAAGAATTTTTATTCGTGATTAACCGTACTTTGTCATTTTATCCTA
+TAATGTTAAATTGCCTTTTTAAAATATAACAATAATGCAGATGAAAGACTCCCTGGTAACTTAGAAAATC
+CGTTCACTCCAAAGGCTGTATGCACTGGTTCCGGCGACGCTGTGCTCCCAATTGATGCTCTCATAGGTAA
+ATGACACAGACTCTTCCGCCTGCCCAGGACTGTCGTTAATGGTATGGGGAATGGTAAGGCCGATGTTTGA
+GAGCCGGGCGTTAGCCAGTTTCAGCTTGTAGTACGGTTCATTAATTCCAAAGCGGTTGGTGCGGTAGAAT
+ACAAAATCACAGGTCAGACATTCATTCTCTGAAATGGCCTTGCCCAGCAGAGGGGAGGATTTGTCCACCG
+GTTTCGTGATGGTCAACTCCTGATGGTTGACATTCTGCGCACGGCTCAGACCATGGGACAGTGACGTCAC
+CATGATCTGATCCTGATGTGCAATCTGGGCTTTGTTACCGATGGACGGCATTGACGAGCATCCGGATGAA
+ATCAGCCCCTGAAGTTCTCCGTTCAGTGTCAGATAGACGGGATTTGCCATTGTTATTCTCCTTAATCTCA
+ATGAGTTGGATGGACAGGTTCGGTTCTGTTATCCGTTGCCATATCCTGTCCGGTATTTTTCAGCAGCAGC
+CAGCGGCTTAACAGCCCGTCCAGCCGTTCGTTGATCTCTTTTTCCAACGCCTGTGTGTCCTGCTTCTGTG
+TACGGGTCTCCTGGTACTGCGTCAGCAGGTACTCCAGTGGTGTTTCTTGATTCAGTAACCGTTCGGCCTG
+CCAGGTCACCGTTTTGATATACGATAGGGTGAAACCTTGTTTCTCCGTCTCCTTCTTCATCATCAAATCT
+GCAAAATCCCGCAAATTCTGCCGCGCTTGTTGCCAGCCCTTCATCTGCGGACTGGCTTGCGCCCGGTTTC
+TCAGCGTGTTGCTCCACATCCTGCTGGCTTCCTGCTGTTGCAGGCTTTCCGGCCAGAGGGTGTCTGCGGT
+GCGCATCATCTGCATTCCGGTTTCCAGCGGCTGTAGTGGCGGGGCATTCAGAAGCTGTTGCAGGTACTGT
+TCATATTCTTTCAGTACCGGGGAGGCCAACCAGACGGTGGCGGCTCCCTGTGTGGTATCCCTGACCTGTG
+TAAGCTGCTGCTGCATCGGATACGCCTGCCACCACCAGAGTGCAGATGCGATAACGGCAGTACAGGCGGC
+ACCGGCAACAAAACCTTTTACCGTGTCGCCCTGTTTTGCTTTGTCGGCGTTATCTGCCACACCGCGCACC
+CCCACCCGCATTTCCGGCAGGTCGGGTAGGGGGGGCATGGTTTCCGCTGTGGCGGAAGCCGTGCCTTCAG
+GCGCATAGACCAGCGTTCTGACCATGGTCTGTGCCGCCGTATCAGTACGGTTTCTGGGCTGCGGCTCAAA
+CCGCTTGCGTGTGTTCTGCACAAAATAAAGCAGATTTTCCACGCGCGGCTGGCGCTTCAGTTCCACTTGC
+TGGAGTTTGTCGCAGATAAGCTGCAAAGCCCGTTCCGTGCGGTAGAGCAACGAAAGATCATTTTCGGAAA
+AGGAAACCTGCTGGCGCAGGATATTCCCGGTGCGGGTGTTGAACCAGTCCAGCATCTCAGTCCGCGCCGG
+GCCACTCTGCGGCCAGAATTTATCCCATTCGTGGATGATCATCGCAGCCAGCAGTTCCGCGCCTTCACAG
+AACCCTGCCAGTCCCTGATTACGTGTACGTGCCAGCGTATAGTAGGTGGCGGTATGCAAATCCACCCCGT
+TGGCCTTAAAAATCGACAGCGCCAGCGATTCCACCAGTTTCCAGTTCAGCTCCGGCTGTGACGGGTGGTT
+AGCTTTGTTAATTTCTTCGCGGATGGCGCTGAACTCCGGCAGGGCGCGCGGATCGCTGCCGGTAACGATA
+GTTTGTGTCAGTGCGTTATTGCTCATCACTATCCCCTTAATACAACGTATCCGGTAAACGGAACTGGCTG
+AACAGACCGCCGGTGAACGGGTTATCTTCGGTATCCACATGCACCCGGTAAACCATCGCGCCGCCGTCCA
+CGTTAAAGCGCACGTTAAAGGTGTCACTGGTCACATTGGTCAACTGGCCCGCGCCGAACAGGCGGAACTG
+CGCCCACGGTCCGCTGAACGCGATACTGCGCGGTGCTCTGCCGCTGGTGCCAATCAGCGTCAGCTGGCTT
+TCATTGCCTTCACGCATGTTGTTCGGCCAGACCAGATGGGCGGTGTAGTTGCGTCCCTGGCTGTAGTCCA
+CTAACTGGCCGTCCAGGTTAAGTACGCTGCGCCGCTTATTGCCGGAAAGCGATACGGTTTCCACGGCAAA
+CTGTGCGCCCAGCCCGTTCTGCTGGCTGAAGAAGATGTTGCGGATTTTCTGCGCAGTATCCAGTTGCTGC
+CGGATATCTTCACGGATTAACATTCTGCCGTCGTCGCCAAAGGTCAGATCGTTTTCAAGGAACAGGCGCA
+GGTTGTTCTTGTAGAAATTGTCCAGAATGCCATCCGGTTTAAAGAAACGTTCAAACGAATCCAGTGAGGC
+ATCCTGTGTGGCGTGCGGATTAAACGGATAGTTATCGGCAAGCTGCTCGTTGAAGGGTTTCACTACATTG
+TCGCGCCAGTCCACTTCCATGTAACGAACGGCTTCCACCATCACTACATGCCAGGCCTGATCCGCCAGCT
+TACCTACCCAGCGGTTAAGAGGCGCAGGCAGGGTTTTTGCCATCTGACGGGTGGCGAAGATTGGATCGCT
+GCTGTTTTGATCCAGCCGTAGCTGTACTGCTTTCAGCGCCGATTTCCCAGACACTGGCGAGTTCTGGATC
+GCCAGCAGGTAACGGTGCAGCTCGGTCAGTTGCTGATACACGGCCTGTAGAGTACTCGCCTTGTCCTTTT
+GCTCCTCCAGTGCGCTATTTTCCGGCGCGAACTCATGCCCCAGCCGGGATAACAGGCGGTAATCCATCTC
+ATTTATCGCCGCTTCCTTCGCCTTATCGTCCAGTTTGCCGGAGAGCGTCAGCGCGTGTGTATTATCGCGC
+AGCGCCGTCAGAGCACGCAGGAATGGCTGATCACCGCTGATAATCTGCTCCAGCGCGTCGGTCAGCGCCG
+GCATGGTCTCATAGTCACGGACGTTGAGATTATCCATTCCGGCACGCCATGTAGCGGTATAGTCACTGAG
+GTACTGTTCAGTGATATGGCGCTGGATCTCTTCACGGTCGGCCTCGCTGTAGGCGACGCTTTGCGTCAGG
+TTCAGCACCCACGAATCCAGCGCGGTCAACTCAACGAGACCGTCGTGTTGTTTGATAAAATAGCTTTGCA
+GGCCATAGCGGGTGAGAAACTGCGGGATCACCAGTTTTTCATCATTACCGGCGACGAACACGTTGTCGAA
+GGTGGGACCAACCTGGTCGCGCAAATTCAAATCGGCGGGTAACACGCTTAATGCTTTGGTGCGAAGGGTC
+TGGTAGACACGCTGGTATATGGGTAGCTTGCTCAGTTCATGTTGCGCATTAATGACCGGTTTATTATAGG
+GGGTCCAGCGGCTTACAGCATCGCTGTCGCTGCTTTGGCGCTGCGCGTGCCAGTCGGTGTGCTCCAGCGC
+ATAGTCCAGATGCACCATCAGTTGCGCCTGAATATCGCGCTGGCCGTGAAATTCATTGCTCCAGCGCCGC
+GCCATGTACTGTTTTACCGCCTCGTTGTTGCGCCCACTTTTGTCTTCCATCATGCGCACTACGCGCAGCA
+CAGCGAGCTTTTCTTCGCTCTCTGGCGGGGCAATGTTTAGATCCCGGATCAGGCCGTTCATTAACGAGGG
+GAGATAACGCTGCTCAAGAAGCTGAATGTAGGTTTGCTCCACATACGGCCCTACGCGGGCGCCCTGGTAC
+AATCCCATATCCGCCAGAAAACCGTGATCGCGATAATCACCATAGGCCAGGGTGGCATCGCGTACCGGGT
+TAAGCAATGGCAATTGCAGATTGCCGAATTCATCCGTTCCCTGCGGTAGTGGTACGTCCATAAAGGCTTT
+AGCTTGTGCCAGTACGTTAACGCCAGACTGCCAGTTCTGATTGTAATAATGGTGCCAGCTTCCGACCATC
+AATGCCGCCAGTGCCGCGCCACAGGTGGAAAAGGCGGTCAGCCTGCGCCGGGAGCTGTTCAGCCAGACGC
+TGTTTTCACCCGCCAGGTTCGGCTCAGCCAGCAGGACTTCCGGGAAGAGGCGGCGAGTAAAATACGGCGT
+CGTCTCCACCAGAGGCCAGGTTGCCAGCGAGCTGTTACCCAGTCCGTACTGGCGGGCGGCGGACTGCGTG
+AAAATATCATCCACCTGGCCACGCTGTAGCGAGGATGTGAGCCAGACGCCACGCAGCATTACATCCATGT
+TCTCACCGTCCAGCAATGCGGCGAGCAGTGCGGTGACGATTTCTCCTGTTCCCTGCATCTGACGGGAGAA
+GCTGAACACAGCGCTGCGGGGAGCAGCACCGGTTTGTGCGAGCACCAGATCCGACAGCGCCAGGTTCACC
+TGTTGTACCCACGTCTGCCAGAAAGCCCCCAGTTCGCTGCGCCAGCCGTCACTTTCATGGGCGCGGCGGG
+TAAATGTGACGCCGAGGATCGCATCGCGGTCTTTTTTATCCAGTGAATGGAACAGCGCGGCAAAGCCGTT
+CAGCAGATCCAGCCGTGTCAGCACCACGTAAACGGGCAGACGGCAGTGCAGGCTCTGACGGATCTCCTGA
+AGTTGCTGGCGCAAATTTTGTACCAGTGTCTCACGGCGGGATTTATCCGCCGTCAGCAGATCGGGAAGAT
+CGAGCGTCAGGATAAGACCGTTGAGCGGCTGGCGAGCGCGCGTTTGCATCAGCCAGCCCAGCCAGTGTTC
+GCGCAGGCGGCGGCGGAGCAGATCATCCCCGCCGGGAGTGGTCAGTACGCCGTCAACATCGAAAATTACC
+GCCTGGTTGCCCACTCGCGGTGTGATCAGCGGGTGGTATTCCACACCCCGGATGCTTTCCGGCGTGTAAA
+CAATGTCAGACGGAAAGCCCTCGCGCAGCAGCGTGCTTTTGCCGCTACCCGCAGGACCAATGACCATATA
+CCACGGCAACTGCCACAGATAACGGCGGTTATCCAGATGGCGGCGCAGGCGCAGCAGCCAGTGATCCAGA
+TATTGCTGCTGGCGGTGGAGTTCCACGGTCAACGGATCTTTTTCTTCCTCCCGCTGCTGTTTCTGCTGTT
+TTTCCAGCTTTTGCAGACGCTTCATCACCCGCCAGGTGAGCCAGACCAGAGCGATAAGTCCCCAGACGGC
+GGTCGCCAGCCAGCGGTTTGCCAGCGGAGCCAACCAGTGCTGCTCATAGAGCGTCCATTTTGGACCCTGC
+CACCAGATCCACACCAGCAGAAAAATCCATGCCAGCGTCAGTAGCCAGGTGGCAGAAACTTTAAACCGCG
+GCATCGCTGGCCTGAGCGCAGATTTCAACGTGCTGAACAGTCGGGATGTGGGAAATTTGAACACAGTAAC
+TCCTTGTTATCTTTTACTGTTCTGCCGTGAGTTTTTGTTCCAGTGCTTTCAGCAGGGAAGGCTCCCATTC
+GGATAGCATCATGTGTAATCCTGTTCTGAAGAGCATCCGGTACTGCTGTTGTGCAAGCTGAACCATACCG
+GCCTCTTCCAGTAACTGCGCGCCGAAAAACTGGCGGTGAAACTGGTGGCGGGGATCACCTTCGGGCAGGT
+TTTCCAGGTACCGCAGCGCGGCTTCCAGCCCGTATTCATCGAAGCACGCCTTGGCCGCCTGTAATTCTTC
+ATCGGTCTGTACAACCGGGACGGTCTGGTTGACTGAGCCGGATGATGCCAGCCACTGTTTCGTCTGTTCG
+GACACAAACGGAGTGCGGTCGTTAAACAACAGGTTGATCAGTGCGGGCAGGCGGGCCAGAAAATCGGTAA
+CTTCATCACGGATAGCATCCGCCACCTGTTTATAACCGAGGCGCAGCGCGGTCTGTGCTGAGAGGTAATG
+ACCGTCCAGCCAGTACGGGGCCAGCAGCAGGCTTTTTTCCACCTGCTGCCACAGCGCCATGTCGGCATTG
+TTCAGCCGCGCCAGGTAATCATCCATCATATCGACAGGGAAGGCTGCCAGTGGGGTCCGGCCATCGCTTT
+CTGCCTGCGGGGTACTGGTGATGGTTTGCCACAGCGCATGGCGGCGCAGTCGGTAACCCTGCGGTGACTC
+CGGCTGGCGCTCACAGAGAATGGCGGCCACCTTTAGCAGGGTGTCGCGCCATGCTTTATCGTCGTGGCTT
+TCAACGGTGACCTGCGGGATTGGAGTGGCTGCAACAGGAGGCTGAGCGGCAACCGTGTGCGGTGACATAT
+CCGGTACATATCCGGTCGTGGCCTGCGGCGCAATGGCGGCGCTTCGTGCAGATGATGTCATTTCAGGCGC
+TACATCACGAAACGCGCGCTGAAACAGGGAAAATAAATCGTCTGTCGCCTTTGCCAGCTCAGACGCGTTG
+TGCGCCTGCCAGCACTGTGCCAGTTTTGCCAGCTCTCCCAGCAAAGCATCGCGCTGTATTGTCGCAGCAT
+TCCCGGCAAAGTCCTGAACGGCAGACTCAAAGCGTTTTATCACCTGGGCGGCAAAGCGTTTTTTGTGGGC
+CATGTTCTGCGGTGCGGCGCATGTCCAGTAGTGCTCTGTATATTGTGCCAGCATCCTGGAGGCCAGCAGA
+ATATCACCGGCATGTTGCAGGGTACGCAGCAAGTGGGCCAGCAGGCGAAAATCTTTGGTTTCTGAGGCCA
+GAAGCATCAGGCCCCGGCGCTGAAGTTCCGGGATATCAAGCTGGCTGTGCGCCAGTGAACCGAGCTTGAC
+GATTTCGCTGTCGACAAACTCCCAGTCTGCATTGCCATCATCAAGCGCGGCGGACAGCTTATCTTCTGGC
+AGGTTTTCCAGCAGGTGTGCAAGCCATACATCGGGATTACGTAAGTCCATTGCCATATTCTTATTCTCCC
+GCCCAGTGGCAGGCGTCGCGTAGCGGCGCAATAACCCGTGCCAGCCCGTCAATGTTAAAGGTCAGCTTTC
+CGGCGGCGTTGTCTGTGCCGGTATCCACCGTCAGCGTTTTTGCGCCGAACAGTTGCTTAATTTCATCGAT
+ACCGGATAACCCCCGGCTGGACTCCAGCAGGGTGCCGTTCTCGCGCACAAACCAGTGGCTGCGCAATGCC
+CGGCTGTCGGCATTCAGGGTGACGGCGATATCATGGACATCCAGAGGGTGCATCAGCGCCACCTGCATCC
+GGGTGATATTGTCCACGCAACTGAACATCAGCACCGGGCGTGGCGGAACATGGCCGATAGCCGGGGTGGT
+TATCACCACCGTCGGGCGTTCACCCGGTACTTGCGTTACCAGCAGCTCCGTGGTGTTGCCCTGGCGGCGT
+TTTTCCTGTTCTGTCGCGCGGGCCCAGGTTTCACCCTGGTAACGAGCTTTCACCAGTGCGGCACCACCAA
+AGCCAGCCTGTTCCGGCGCAAGAATGCGGTCATAACAGTCAAGCCGCTCCAGCGCCGCCGTCTCCTGGCG
+GCAGGACTGCATGGCCTGTAACGTGGCTGTCGCATCCGGCGGTGTCGCTGTGGCGACAGCTACCGCCACA
+CCGGCCACTGACGATGTTTCTGCGGGCGCGGCACTGGCGGGTAAGCCCGCCATCAGGCCCGCGATAAACC
+ATCCTGTCTGCCGGAAAACGCACAACCTGCTCATAAAACCGTTTCATCCTCTGTTTGCGGTGTCACGGCA
+TCATCAGGCAGCGCATCTTCCACATCTGCCGTGAACGCACCGTCTGCCGCCGACAGGCGAATCCGGGCAA
+TCGCCGTGTTGGCCGCCATTTTCTGCAACAGCAGCAGCGAGAGCGGCGGCTGCATGTCGCCGTCGATAAC
+CGATTCCAGCATCCTCGCGCCGTTTTCCGCGCGGGTGACGCGGCTCATGATTTCGTCCGTCACTTCCGGC
+CCAATAATCACGTCCGCGCCAAAGCGGCTGCGCAGCACGTTATCCAGGCGGGCCAGTTTCCCGGCAATAA
+TGGTAGCGAGCGTCTCTTTCGACAGCGGTAGGTAAGGCACCACTTCCATGCGCGCCAGCAGAGCAGGTTT
+AAAGAAGTCCGCCAGCACCGGATAGAGGGCTTCCTGCATGGTTTCCGGGTCATCGGCGTGTTCGACAATC
+ACCTGGTAGCCAAGGTTGGAGGTCAGGAAGAAAACGATATTTTTACAGTCAATCAGGCGGCCTTCACCGT
+CTGCCATCTCGCCCTTGTCAAACGCCTGGTAGAACAGGTTGAGTACATCCGGGTGCGCTTTTTCTACTTC
+ATCGAGCAGCACCACCGAGTACGGTTTCTGGCGAATCGCTTCGGTCAGTACGCCGCCTTCACCGTAGCCG
+ACATAACCCGGAGGAGAGCCAATCAGCCGCGAAACGGTGTGTTTCTCCTGGAACTCAGACATATTGATGG
+TGGTCAGGTATTGACGTCCGCCATAGAGCAGTTCCGCCAGTTGCAGGACGGTTTCGGTTTTACCCACGCC
+GCTGGGGCCAGCCAGCAGGAACGCACCAAGCGGGCGTCCCGGACGGCGCAGGTCGGCGCGTGCGGTCAGC
+AGGTGTTTATGCAGGCTGGCAATCGCCAGGTCCTGGCCTTTGATGGTGCCGCCGAGCCATACCGGCAGGT
+CGGTGATGACCGACATCTCATTCTGTGACAGGCGGTTAAGCGGCACGCCGGTCCATTCAGCAATCACCGC
+TGCAATCTGTTTTTTATCGACATGCGGGGAAACCAGCAACTGGTCGTTATGCAGGGCGTCCAGTTCGGCA
+GTGAGTTGTGCCAGCCGTTGTACCGGGGAAACTGTTTCAGCGGTCTCTTCCGGCTGTACGCTGCCTGCAT
+CATCAGCCGATTCGGCATCGGTACTATCCTGTTCTGCCTCTGGCGGCGTATCCTCCACGGCATCTGCGTC
+CGGCAACGACGCAACGTCGTCTTCTGCCACGCCCAGTAACTGCTGGCGCAGCGCGATAATTTCCTGTACC
+AGCGTCTGCTGCTGCTGCCAGGCGACTTCCAGTTCGTCCAGCGCCGACAGCGTTTCATCATACTGCTCCA
+ACACCTCAGTCATTCGTGAGGTGTCGGTACGCAGCCCGATGCGAAGCTCGCGCTCAAGCTGGCGAATTTC
+TGCCTCCTGCTGGTGGCTCAGGGTGGTCAGTGCCGAGATTTGTTTTGGCGGCGATGACAGGTTGATGGCC
+ACACGGGCGCAGGCGGTGTCCAGCACATCAATGGCTTTGTCCGGCAACTGACGCCCGGAGAGATAACGCT
+CGCTCAGTGTCGCAGCGGCCTGCAAGGCGTCATCATCAATCAGCACGCCGTGAGATTGTTCATAGACCGC
+CGACAAACTGCGCAGAATAATGGTGGCTTCGGCAGCGTTGGGTTCGCTGACCTTCACTAACTGGAAGCGG
+CGCGACAAAGCTGCATCTTTCTCGAAATATTTTTTGTACTCGCTCCAGGTGGTGGCGGCGATGGTTTTCA
+GCTCGCCGCGCGCCAGCGCTGGTTTGAGCAGGTTGGATATATCCAGCCCGCCCTGCTGGTTGCCCGCGCC
+AATCAGGGTATGTGCTTCGTCGATAAACAGAATGACCGGCACCGGGGAGAAAATGACCTCCGCCATCAGC
+CCCTTGAAGCGTTTTTCAAACTCACCTTTCACCGACGCACCGGCCTGCAATGCGCCCAGGTCAAGGGTCA
+TGATATCGGTGTTTTTCAGCTTGTCCGGCACCTGGCCTGCCATGATGCGCAGCGCCAGCCCTTCAATCAG
+CGCGCTTTTACCCACGCCTGCTTCGCCCACTACCACCGGATTGTTTTTACGGCGGCGGCAGAGAATGTCG
+ATCATCAGGTCGATTTCATAGTCGCGGCACAGTACCGGGTCAAGCCTGCCGTTACGGGCGTCTGCGGTCA
+TGTTTTTGGCGTAGCGGGCAAGCAGGGTGTCGCCGGTTTCCGTTGCGCGGGGCGTTTGCCCGCCAGCCAG
+ATCCACGGATTCGGCGGATTCTTTTGTCCATGCTGCGAAATCCTGCTGTAACTGGTCGCGGTTTATGGCC
+GTCAGCAGACGGGCAGCAGCGGGTGGAATATAGCGCAGCGGTGAATGCAGCAGAGTAAGCAGCAGGACGC
+CGCTGCGCAGTTCGCTGTGCTGCATCTGGGCTGAGGCCAGCAGCCATGACTCCTTGAGCCATTCGATCAG
+CATCGGGGAGAAGCTGGGATAGCCTTCGGCGGAACGTCCACCGGGATAACTCTCCACGGTCAGCGCCTGG
+CGTAAATCCTCCGCACTGATGCCTGTGCGTTCGGCAATCACCCTTACGTCGTTGCGCGGGATTGCCAGCA
+TCTGTAACAGCACATGGGCAACGGTGATCTCACTGGCCTGCTGGCTCATACACTCCGAGGCAGCCATTTC
+CAGCGCCTGTTTTGCAAAGGGGTTAAGCCGCTTTACGAGCGTGGCTAAATCAATCTGGATCATAAGATGT
+CCTTATCGGAGTAATTTATTGAGCTGATGCAGAATATCCTGTGTCTGGCTGTCCAGACGCAGCAGATAAA
+ACAGATAAAATACGGTCAGCACAACAAGACCGCCGCACAGTACATGCTTGATGGTCAGTCGTCGGATTAA
+CTGATAACGCCCACCCTGTATGTTGTTCTTCTGATGAAGTAGCGGAAATGGCGCGTCACCGCGCAGTTTG
+TGCAGGGCATGGTGCAGGCGCTGGTAGATCCGCTCAAATTCATCCTGTTGCTGAATGGCAACCTTGTAGC
+GCCCGCGAAAGCCGAGCGAAAAACAGAGGTATAAAAATTCCAGCAGATCCTGGTAACGTACCGGCTCCCG
+GATCAGGCGTTCGAGCAGGATAAACACTTTCTCGCCGCCCCAGGCTTCGTTATGAAAATGAACCAGCAGC
+GACTGTTTGATCCATTCGTTTTTGTTGGACCAGCCGTTGCCCAGCGCCGCTTCATCAATAAACGTGCAGA
+GAATGTAACGGAACGAAACAATGACGCCCGGTTCGTATCCCTGTTCCTGGAGTAGTTGCTCTACGGCCTG
+GACATCGGTTACTACCTGGGCAAACAGATGTTCCGGCATGGCCTGACTGTTCATAGTGGACAGACGCATC
+ACCATGCCGAGCAACGGCGTGGCGGCGTCAATCATTGGATTCAGGCTGTTGCCGCGAAGGGCGAGACGGT
+ACTGGCGTCCTGGTGTTCCGCTCTCCGGCTCCACGGGAAAAACCGACGCTTCACTCATATCGCTCATTCA
+CTTATCCCCTTATAGCCCAGAGCTGGAGGTTCAGATCGGGGAAGCTGCCGGAGATATGCAGCGCCAGTGC
+GCCCGCTTTTATCACGTCCTGCCAGGCCGGGGTGCCTTTTTCCAGTTCGAAGTAAACATAACCTTCGTGG
+TATGGCAACTGACGTGGCGCAGCGGTAAGCGTGTGCAGCGGAATACCCGGCACCTGCACGCTGACCACGC
+TGCGGATTTTGTCGGTAGCGGCCACTTTCGACTGCTGGATGAACTGGCGTTGTACCTGGTCGTAGGGCAT
+CCTGGCGCGCACTGCCAGTACCAGCTTGCAGGACTGCAACAATGTGGGATCGTTGATGGTGGCGATCCAG
+GTCCCCTCTGAAAAGAACAACGGCAGATTCTGCGCACGCGGCACCAGTACGGTATTGAGCGCGCGCCGCA
+GTTCCGGGATCACGGTTCTGGTGAAGGTCGCGGTAAGATCCCGGTGATTATACGGCTCCACGGTGCAGGG
+CAGGCGATTACCTTCGATAAAGGTCATCAGTTCTCCCAGCAGCCCCACCAGATCCCGGTAGAAGGCTTCC
+GGATGCAGCGTGTGCAGTTGGGAACGATGCGTGAACTGCATTTGATAGCGGTTAAGCATCTGCAACATCA
+TAAATTCGGCCACATCGGCGATCCCGCTCTGTTCAGGCGAACCAATGCGCCCGGCCAGGTCAGCGGCGCG
+GGTGGCAAGCAGTCCCTGCACCTCGCCGGAGAATGCCCCGAGCAACCCGCTGACACGGACGGCCTGAATG
+GTGGGAATAAAGGTGTTGTCCAGCACCAGTGCGCCGGTAGCATTTTTATTGAGGATACGGCACAGGGGGA
+GGGTCACCATCGCGCTGAGATCATCTGCGCCGCTGACTATCCTGGGGATCAACTGCCCCAGACCGACCGG
+CTGTTCGTCGCCTTCGTCAGTGTGAAAATCACGGACGCGGGTATGGGTGAGGCGGTAACGCTCCGTACCC
+TGACCGGCGCTGTGCAACCCCTGGATTTCATTGATCACGTCGCTGATTACAGGCAGCGCCAGATAAATAT
+TGTGGCTCTCTTTCGATGAAAGGGTTCCCGGCTGGAAAGGTTCCGGCAGCAGATCCTGGTCGGGAATGCT
+GAATACGGTGCCGTCAGGCATACAGCCCGCCGCACGGTCAATCATGATTTTGCCCTGGGCAAGCAGTTCG
+GTATTGATGGAGAGTTCCGTAAAGCCCCAGAAAAAATCACCCTGAGCATCCAGACGACGGGTCAGCAGGT
+ACTCGCAGTGACGCTGCTGTTGCTGAAAATGCTGCGGCAGGGCAAACAGCCCTTCCTGCCAGATCACCTT
+GTTTTTCATTGTTGCCATCGTCAGTTTTCCTCTTTTTTCATCTCAATCGCACTGGCGCGGATATGCACCA
+GCAGGCGATAGTGGTGGCCGATACTTTCTACCGGCTCAATTTGTTTCCATTCTGTGGCCTGGTCGTCTGA
+AAAATAGGCAATGACACCGATATAACCGGTTTTCTCATCCAGCTTGATCGGCGGCAGTGTTTTTACGGTG
+TCCGGCAACAGGTTGAAGTCCTGGTGATCGATATAGTTCTTCCCCAGCACGTCGGGCAGCGCGGTGGTGG
+CAATCTGATCGTAATCGGCGGCCTGGAATTTGGAGTCGTCGCTCAGATACACCAACTGGACATCCACCGG
+CGCGGCTTCGCCGTCCGCCGTCAGGTTGCTGTCCGGCTCGGTCAGCAGCGTGACGGTCAGTTCGGTTGAC
+TGCTCCATCAGCTTTCCGACCTGAATATCCGGATTGCGGATCACCTGGCTGATTTTTTTCGCTGTTTCAC
+AGCCAGTTAACACAACGCTCATCAGAACGCAGGCCAGAAACGCTTTGCCGTTCATGCTTCCGGCTCCCGC
+TGTTTTTCGCGCAGCACCCGGTCATAGACCTGGGCATAAACTTCATTGAACAGCATTTCAAATCCCTGCT
+GTCGGCTGGAGGCCAGTTCATCGTAATAGTTGCTGTACATCTGCCATGCCCAGGCGTTGTCCATTTTCTG
+GCGCAGCTCATGGCTGCGGCGGTATTGCGCAAAGCGGCGCATCAGGTTGCCCGGCGAGAAGGCGTCCAGC
+ATGACACGCAACGCTTCCACAATCGCCGCCCGGTTGGCCTCTTCATGATGCCGGATGTTGCGCAGGCTTT
+CGGCGATGGCCGCAGGTGCTGCGAGATGTACCGGGCTTTTACCCTCGGCGAACATGACGTTCAGCGCGGT
+GGCATAGTCCATATCAAGGCGCAACGGGTTGTCTTCCAGTGGACGCAGGTGTTTATCCGACAGGCTATTC
+TGTTGTTGTTGCAGACTCAGCAATCCCTTAATGGCGGCCTGCAACGCCCGTCCGGCCTCTTCGAGAAACT
+CATCCGCATCCTGAGAATTGTGCAGCGTCAGCGGACACTCCATACCGCGCAGCAGCGGGGTTACGGCCAG
+GTGGTACTGCGCCATGGCAGAAAATTCATCGCCGTCCTCATGACGGGCATTGCCGGGCGGTAGATCCATA
+AACGGCGTGTTGATCCCGTTTGCACCTGTCAGATCGGATGCGGGGGCTACGGGCCGGGAAACGCGTGGGG
+CGATCGGATCATCTGCCACCATCAGGCTTTCCGTCTGGAGTGCCTGGAGCGGATCGCTGGAAAAACCGTG
+CGCCACCGTGGGGGCAAGCTGATGCTGGAACGGCATTCCCGGATACGCCGGTTGTCCCTCGGTGGTCAGC
+AGGGTGTCCGCCAGACTGTCGCGGTTCATTACAATCGTTTCCGGGGTCGCCATCCGCTCGTCATAGGTAA
+CAGCTGCACCGTCATGCAGAAACACTTTCAGCGCCAGTGCGCCGAGCTGGATCTCATCCCCCTGGCGCAG
+GCGGATGAGCGCATCGGAAGAGGCCGGGGCCAGATTAATCATCAGTCCCGGCGTCAGGCACCGCAGGCAA
+TAGGCTCCGTCGTGCCGGATAACGGTACAGGCACGCGCAGCAATGCTTCCCGCCCGGTCCTGTACCTGCC
+AGTGACATTCCGGCGTATGGCCAATATCACCGCCGTTTTCGCTGAACAGGCATTTTGCGGCGCGTCCGCT
+TTCCAGTTCGTTGCCATTCATCACCTGTAAAGTCAGTGAGGCCTGGCGGGATTGCTGTTTTTCCTCAGCC
+ATAAGTGGTTCCATAGAATTATTCCCTGATTCGGATTGTGATGGCGGGCGGTACTTTCGGCTGACCAATA
+AAGCTGGTTCTGCCGAGGCGGGAGCTGGCCGGATCGCCAAGGCGCATCCCTTTAGCCTGCTGTGGTGCCA
+GGCACAGCCGTAAATCCCAGGCAAACTGGTCGCGCAGAATAAAGGAAAGGAACATGGTCAGCGGCAGGTG
+ATTTTCGCCATCGGGTAAAAATGAGAGATAACGCTCCCGCGACAGGCCGCCAATCTGCAACAGGAATTTT
+CCGCTGCGATCCGGCACCCGTGCGCCGAGGGTAAAATTAACGCCGAGTATGGAGCGTCCCGGAATATGTC
+CAGCCGTTTTTCCTTTCGGATTACGTACACCCAGCCGGTTCTGGTGTGCCGGATCAATGGCGACTTTACG
+CAGTTGCCAGCGTTCAATGGTGACATCCGGCAAATCAAAACAGTGCGACACAAGATTACAGATAACCTCC
+GGCGCGCGGCCTGGTGTTGCCAGAATTCCGGCGTAGGCCAGCATTTTGCTGTGGTTAATGGCAAGCCTGT
+CACGCACGCTCTGATTACCCAGCCCGACCAGTGCGTACATGCGCTGTGAAAAGGTGTCAGTACCGCCGTT
+ACGAAAGCAGATGTAGTAGCGGTATTTGCGCCAGGCATGATAGGCAAACTGTGTCCAGCGGTGGCTGAAT
+AGATCGAGAAATTCTTTCAGGCCGTCTTCGTTCTGTGCAGACTCCTGCGCCATCTGATCCAGATAATAGC
+CCGGTAGCGGCGACTGGCTGCCGGAAAAACCCAGGAACCGGGTTTGCAGTACATACTGTCCGTTCTGGCT
+ACGGGAAAGCGCACTCAGGTCCGTACCCGGAAAACCGATACTGGCGTCAGAGCTGAAACGCACGATCTCC
+CGGGCAGGCTCGGTACGCAGGGAAATGTCCTGGCCCGGCGTGCCATACCGACGGTACAGCGCCTCCATCA
+GCACATAGAAATTGCAGTTGCGCACATCCGCCGGTAACGGCGGTTTTGTCGCTATATCAGGGCGTGCTGG
+CCCATTTTCTCCTGCCATTCCCAAGCCTCCTGACTTTCCGTGTTAATGATTTTCAGACAGTGGTACGAAT
+TGATGCTGGCGTAGAGGGCAAAGAAGTGCGAGAGCACGGTACCCAGAAGATAAATTTCACCTTCGCAGAT
+AAACGGATCGGGACGTATCCACAGCGTGGTCGCCAGCCCGCGAACCGGTACGCCTTTAAACAACCTGTCA
+ACAGGTTTGGTTTCGAGTTTTTCTATGGCATCCAGTTTCTGGCGTGACAGTCTGGCCCGCTGCGGATGGT
+GAGCGCCTGGCAGGTCGAAGGTCCGCAGGATCTGGATCAGTGTCTCCCTGTCCAGCAGGGAGAGGTAGTT
+CAGGTTCATCGCGGAAATCAGCGACCAGTGCATGTCGCCGTCCGTGACTGGCCAGAGCGGCTGTGTCGGG
+CGCGTGACATTACGAAATGAGGCCACTGCCGGATTTTTGTTGACGGCCACGCAGATATCACCGGTATGCA
+GCCGGGCAGGGATCATACGGTTGGTACAGATTAATGACGTGGTGATCACGTCATCGTTAAACCGTGAGCT
+GCCCGGAATGCTACCGTCTGCATGGACAAAGGCGATACTATGTTCAAGCCCGTAGTGAAACAGGGACGTT
+TTAGTCCGGTGATGCCAGTAGACGACTTCCCGCTGGCGGCTGTACTCCATCTGGTGCTGGAAACTTTCAA
+ATTCGGGCCAGACACGCACCTGGCTGCCGGGGCTGGAATCAGTCCCTGACACTTTGATTTTACTGGTGAC
+TGTACTGACCTGAAAAATGTCATAGGCGTCCGGATGCTTATGGCTGGCGCGCAGCGGGTATTCCGCCATC
+CGCCCATCCGGCCTGACGGGTTCCGCATAATGCGTAAACAGGTTAATGGCTGGCGTACAGTGCAGACGCA
+GCGAATCCTGGCGCAGCTTGATGTCGGCAGGTAACGGGCGGTTAAAGTGCAGGCGCAGCGTAAACGCACT
+CACCGGGAAATCGTCTGGTAGCGGCGCAACATCGCGCAGATGGAAAAAGAAGAAGGCTTCGGGATAGCAG
+AAATACTCCTGAAGCACGCGGTAGCCGCTGTGGACATTTTTCGGCCACGGCAGCAGGGCATCCTGGTTGT
+CAAAACCCGCAGCATCCAGCCACAGATCCGGCAGCGGCAGGCTGTGCTCTCCGGCAATCAGTTCCGCATC
+CATCAGGCATTCGCAAAACCACAGATAAAGCTGGTGTCGGGTATAATCGTCTTCATTACCCAGCCAGAAC
+GTGATTTTGTTCAGGTCAAGCATGGCGGGGGAGACATTGTTATCTGCGGTAAAACTGATATCTATGATGC
+CTTCTTTCAGACTGCTGGCGTTGCGGGTATCGAGAATGCGCAGTGGTTGCAGCCAGATATCGCGCGCCAG
+CGTGAAATGGCAGGCTACGGAAGAAACGATTTTATCATGATTGTCAGGCAGCACCTTCTGAGCAGTCAGG
+GAGGACTTTTCTGAGCGGCTTCTGATCAGTTCATTACGACAGACCTGAACAGGGACTTTTAACTGATCGG
+TTTTGGGTTCATAGGCAATAACCGTCATGGCCGGAACCGGGCGTAAATAGTTTGCCCACAGCATACGGAT
+TAGCCCATGGGTGAATTCGGGGAATTCGTCCTCAAGTTTCTGGCGCAGGCTACCGGACATAAAGGCAAAG
+GCTTCCATCAGACGCTCCACGTCCGGATCACCCTCTTTCTCGGCCAGAAAATGGGCCAGATGCGGTTTTT
+CCTGCGCCAACAGTTTGCCAAGCTGGCGCAGATAATCCAGTTCTTCGCGGTAGTAACGTTCTTCAAAAGC
+CACAGAGATCACTCCACACAATAGCGTTGATGGTTGTCCAGCAAAATGTCAAATTCAAACACTCCCTTGG
+TCTTGCTGACATCGATCGTAGCCACAATATGAAAACGCAGTTCCACAGGGGCGTATTCATCCGGTGCCGC
+AGCCGTAACAACAACATCGGTAATACGAGGTTCGTAATGTAAAATGCACTGGCTAATGGACTTACGGATT
+TCTCGTCTGAAATCGCTGGAGGCCAGCGATTCATCATTTAAATCAGTAATCCCCAGCTCCGGTGAGCCAT
+AACAACTGCCGGAGCGGGTATTCAGGACCTGTCGCAGGTTACGTCTGATGGAACGTATCAGTGCTTCTTT
+TGGATTCTGATATGAAGGCGGATTTGCCGCCTCACGGATACGTTCAAAAAGACTGCCGGTTGGTCCTGAA
+TCCCGTCTTTGCATCGGATTATTCCTTATCCAGTCGTCCGACCAGGCTCAGGTCGAAACTGGCACCCATG
+TATTTAAAATGCGGTCTGACAGAAATCGCGACCTGGTACCAGCCCGGCTCACCATCCACATCCAGTACCT
+CGATCTTAGCCTGACGCAAAGGCCGGTGGCTGCGGACTTCGGCAGGCGGATTTTCCTGGTCAGCAACATA
+CTGGCGAATCCAGGTGTTCAGCTCACGCTCCAGGTCACTACGTTCTTTCCATGAGCCAAGCTGTTCGCGC
+TGAATTACCTTGATGTAATGCGCTAACCTGCTGATAACAAACAAGTATGGCAGCTGGGTGCCGAGTTTAT
+AGTTGGTCTCCGCAGCCTTGCCTTCGGGGGTTTTGGGGAATGTTTTGGGTTTCTGCACCGAGTTGGCCGA
+GAAAAAGCACGCATTATCAGACCCTTTACGCATGGTCAGTGTGATAAAGCCCTCTTCCGCCAGCTCATAC
+TCTCTCCGGTCAGTGATCAACACTTCAGTCGGAATTTTTGCCTGCATTTGCCCCATGGATTCATACAGAT
+GCACCGGGAGGTCTTTGACTGCGCCGCCGCTGGAAGGGCCAATAATATTTGGGCACCAGCGATACTTAGC
+AAAACTTTCCGCCAGGTTGGCGGCCAGTAAAAACGAGGTATTCCCCCACAGATAAGACTCATGACTCTGG
+CTGACATCTTCATGGTAACGGAAGGTTTTGACAGGGTTTTCATCCGGTGAGTAAGGGTGGCGCAGCAGGA
+ACCGGGGGGCGGTCAGGCCCAGGTAACGGGAATCTTCCGATTCACGCAGGGCGCGCCAGCGGGAGTAGGC
+CGGGCCTTCAAAGATGGCACCCGGTTCTTTGATCCCCGGTAACTCTGTCCATGAATCCAGACCGAAAAAT
+TCGGATGATACTGACGACAGGAACGGGCTGTGCGCCATCGCGCTGACCTGGCTGATATATTTCAGCAGCT
+TCATATCCGGCGTGGTGTTCTTAAAGGCAAAGTTGCCGATTACCGCCGCCACTGGCTCACCGCCAAATTG
+TCCGTAACCGCTTGAATATACATGCTTGTAATACGCAGACTGCGTGATTTCAGGTGCAAATTCGAAATCA
+TCCAGCAGTTCTTCCTGAGTGACATTCAGGAAATGGACTTTGATGTTTTCCCGTGTATCCGCGCGTTCAA
+CCAGCAGCTTCAGCGAGCGCAGCAGGGATTCCAGTTCCTGAAACTCCGGGGCATGAATAATGGCATCCAT
+CTGCCTGCTGGTTCGGGCATCAATATCAGCAATCATGGCGTCAACGGCCAGGATATTGATAGGTTCAGCG
+CTACTGTCGCCCTGTAACATGGCGGCAATAAAGGCGCTCACGCCCTGGCGGGTGATATCGTAGCTTTCTG
+ATTTAGGCTGGACGCGGGTTTGCGCCATGATTTCATCAAGCAGAGATGGGGGCGCGGCGGTTTGAGACGC
+GCTGACGGGAGCAATTTCTTCCTTTACTGACATACTGAATATCCTTCTGTGAAAATTATTTCTGAACGGC
+GATACCCAGTTCCTGGATCAGCTGCTCGCGGGTGTCTTCGTTTTCCAGTAGCGCCTGAAGTTGTGCGCGG
+AAGGCCGGAATATTGCCTAGTGGAGACTTAAGTGCGACCAGGGCTTCACGCAATTCGAGCAGACGTTTTA
+TTTCTGGTACCTGGCTGGCAATATGGTCAGGAGAAAGGTCATCCATAGATTTGACTTTCAGGTTGACGTA
+CATTTGCTCATTGGGAGCGTCACTGAGTTCAGCCGGAACAACAAACTCCCGTTCAATGTCAGCTTCTGAA
+ATGACTGCGTTGAGGTTATAGCGGTTGATAGCAATGGCAGTTCGCTCATCCAACGGCGTGTTATCTGGTT
+TCCCTTTCAGATTGCCGGTGATCAATAAATTCAGCGGCAATTCGATATCAGCAGCCACCCCATCAACTTT
+TGGTGTATACCGAACGCTGATTCTTTCTTTCGGCGCGACACTGCCGCCATTGTTGTTCATTTTGCTCATA
+AAAATGTTCCCGTTCAGGCCATGAGCACAGCATTTTCGTACTGCATACAAATACCGACAATACCGTTTCA
+GTGGCAGTTAGATAATGTAACCTTCCTTCTGTTGTGATCGGTATTCTACTCATGAAATAAAACATTAAAA
+GAACTATTTATATTTTTGAAAGAGATGTATCCTTCATTATTAATACATGAGAGTTAAATCAATTTGGTAT
+TTATAGACTTAGTGAATATGATTTTACGGCTAATAAAGTTACATAATGCATTGATTTATATGTGTTTATT
+AAATTGATTAATAAGTTTTATGTATGGTTTTGTAAATAAATTAATTAATTGCTAGAAATACATCATAAGA
+AATTCCTTTAAGGAATATCTTAATTGCGTGCCGGAACGATTGTGAAGTAAGTGTTGTAATGATTGATTTT
+TGAAGAAATTGTAGGTTTTTATGGGGGTAAGGATACGTTATGGATAATTCTACTGTTGATGTTGATATAT
+TTTTAGCTTATGTGATCGTGTTCTGAAATTGACTAAAAATATATTTAAACACCATAAAAGAGTTTTTCGG
+TAGGTGCTAATTACGTGTGCCTGTAACTCGAATAAAGAAAAGGGTGTGGTTCCTGATGTGAGCCGCATCA
+CACTCTAACCTGTCGGGGATTAACGACGGGTTGTTCGTAAAACAGCAGTTGATAATTTCACAAGGAGTTC
+ATAAATGCCAACCCCATGTTACATTTCAATTACAGGTCAGACCCAGGGGAACATCACTGCCGGTGCTTTC
+ACCGCAGATTCTGTCGGCAATATCTACGTGCAGGGACACGAAGATGAAATGCTGGTGCAGGAGTTTCTGC
+ATAACGTTACTGTTCCAACCGATCCGCAGTCTGGTCAGCCTTCCGGGCAGCGTGCTCACAAACCGTTCAT
+TTTCACCGTGGCGCTGAACAAAGCCGTTCCGCTGCTGTACAACGCGCTGGCCTCCGGTGAAATGCTGCCG
+AAAGTGGAGCTGCACTGGTGGCGTACCTCTGTTGAAGGCAAGCAGGAGCACTACTTCACCACACGTCTTA
+CTGACGCGACGATTGTGGACATGAACCTGCATATGCCGCACTGCCAGGACCCTGCACAGCGTGAGTTTAC
+GCAATTGCTCGCAGTATCACTGGCCTACCGTAAGGTTGAGTGGGAGCACATCAAATCCGGTACTTCTGGT
+GCCGATGACTGGCGTGCACCGCTGGAAGCATAAATCTGAGTCAACAACATCCTGCCTCCGTGCAGGATGT
+TGTTTTTGTACGTGTAAAAAATGAGTGTCAGTAAGGAGTTACGCTTTCATGAGGGAGATGGTGGATGCCG
+GAAACCCGGGCGGTAGCGTACCTGAAAATGTAAAGATGAGTGTAACGCTGCACTGGCACCCTTTGCTGCA
+TGGTGGGAATCATTTGGTCCGTGAATGAATCAGGGAGGTCATTATGTCCTTAAAAGGTCTTCGCTTTACG
+CTGGAGGTTGACGGCCAGGAGCCGGACACCTTTGCAGTGGTGAATTTCAGGTTAATCCAGAACCAGTCTT
+ATCCGTTTGTGATGAGTGTGGATGTCGCCAGCGATTCTTTTATGCAGACGGCGGAGATGCTGCTGGAGAA
+GAAGGCAACGCTGACCATCTGGCAGGGCGTCATCCCGCAGCGTTATGTCACAGGCGTGGTAGCAGGGTTT
+GGTATGCAGGAGAATAACGGCTGGCAGATGCGTTATCACCTGCGTATTGAGCCGCCGTTATGGCGGTGCG
+GGCTGCGGCAGAACTTCCGCATCTTCCAGCAGCAGGATATCCGGACGATATCGGCCACGTTACTGAACGA
+GAACGGCGTCACGGAGTGGACGCCGCTGTTTTATGAGGACCATCCGGCGCGGGAGTTCTGTGTCCAGTAC
+GGGGAAAGCGACCTGGCGTTTCTGGCGCGGCTGTGGGCGGAGGAGGGTATTTTCTTCTTTGAGCGGTTTG
+CGGCGGACAGTCCGGAGCAGAAGCTGACGCTGTGCGACGATGTGGCGGGGCTGTCACAGGCGGGAGAGTT
+TCCGTTTAACCCGGACGCATCGACAGGAGCGGAGACGGAGTGTGTCAGTATGTTCCGTTATGAGGCGCAT
+GTCCGCCCGTCGTCGGTGCAGAGCCAGGATTACACGTTTAAGGTGCCGGACTGGCCGGGGATGTATGAGC
+AGCAGGGTGAGAGCCTGAACGGACAGCTTGAACAGTATGAAATATTTGATTATCCGGGAAGGTTCAAGGA
+TGAGCAGCACGGCAAGGATTTCACGCTGTACCAGATGGAGAGCCTGCGCAGTGATGCGGAAAAGGCCACA
+GGGCAGAGTAATTCGCCGAAGCTGTGGCCGGGAACGCGGTTTACGCTGACGGGGCATCCGCAGAAGATGC
+TGAACCGTGAATGGCAGGTGGTACAGAGCATTCTGTCAGGAGACCAGCCGCAGGCGCTTCACGGCAGCCA
+GGGGAGAGGAACCACGCTGGGCAATCAGTTAGAGGTGATACCGGCAGACCGGACGTGGCGTCCACGGCTG
+CAAAGCAAACCGAAGGTGGACGGGCCACAGAGCGCCATTGTCACCGGTCCTGCGGGAGAGGAAATCTTCT
+GCGACGAACATGGCCGGGTACGGGTGAAGTTTCACTGGGACAGGTATAACCCGGCAACGGAGGCGAGTTC
+GTGCTGGGTTAGGGTATCGCAGGCGTGGGCGGGGCCGGGGTTTGGTAACCTGGCGATACCGCGCGTGGGC
+CAGGAGGTGATTGTTGACTTCCTGAACGGGGACCCGGACCAGCCGATAATCATGGGGCGGACGTACCATG
+AGGACAACCGTTCGCCGGGGAGCCTGCCGGGGACGAAGACGCAGATGACGATACGGTCGAAGACCTATAA
+AGGAAGCGGGTTTAACGAGCTGCGGTTTGAAGACGCCACGGGCGGTGAACAGGTCTATATCCACGCGCAG
+AAGAACATGGATACGGAGGTGCTGAATAATCGGACGACGGATGTGAAGGCTGACCACACGGAGACCATTG
+GTAACGACCAGAAGATAACGGTGGGGTTGGGCCAGACGGTGAATGTGGGGAGCAAAAAGGAAGGTGGTCA
+TGACCAGAAAGTGACGGTAGCGAACGATCAGCATCTCACGATAAAAAATGACCGGCACAAGGTTGTAAAT
+AACAACCAGACAAGCAAGGTGACGGGAACTGATACCGAAGAAGTCGTCAAAAAACAGAGTATTAAAATAG
+GTGATAATTACGAACTGAAAGTTGAGCATGGTACAAATATCATATCTGGGGACAGTATTGAGCTAATTTG
+TGGGCAGGGAGAGAGCGGGACTTGTTCCATAAAACTGGAGAAAACAGGAAAGATAATAATACGGGGGACG
+GAGTTTCTATTTGAGGCTACCGGTCCTGTAGATATTAAAGGAAAAGATATTCATCTGAACGGATAGTGCA
+GGATATAAAACATGGTGATTGTATTTGCTTTATACGCCTGTGAATCACCATTTGTGATTGTTTAAATTAA
+TCATAGCATGACTTATTCAGGAATCAATAAGCATGATAGAAATGAAAAATAACACGCCATTTCCTTTGTT
+GTCATTTGAAAAATATGGTCGTTATGGTCTTTTGTTTGATGTTATTGCTATTAAAATGTCATTGCGAATT
+AAAAATGGATTTTATGCTGATCTTGCTGAGTTTCAAAAAGAATTGTCCATGTCTGATGAATACTATGGGG
+AGTCTGAAACAAGTAGTCTAAAATCTGAAACAGACTTAGTTCTTTGTAAAAGAAATACAGATATTCACGT
+GACAGGTAGTGCTCATGCCCCTTCAGGGGATAAGTCTCAGTGGAAGGCTTGTGTGAGGGTTAATAGTTTT
+TCTAAAGAACTGAGTTTATCTGGTGTCCGCTACTTACAATATGAGCGAAATCGTTGGCAGATGAGCTTAC
+CAGATAAAATTATTAATGTTCCTCTACGCTATGAGCTTGCTTACGGTGGTATTTGGCAACCAGATGGTAT
+GGAGAAATTGGTTTTTTCAGCAAACCCTGTAGGTTGTGGATATTATCCTGATATTTCTCAACTTAATACA
+AGTTGTCAATATAAACTCCCACAAATAACCAGCTCTGCTTTGTCAGAAAACGCTACCATTTTTAATGGGG
+AATCTGACTTTTTTCAAGGTGTTGGCCCTGTATCTCGATGGTGGAAAAGTCGCCTCCAGTATGCAGGAAC
+CTACAATGAAGTATGGCGTGAAAAGCGCTATCCCTATTTGCCGGATGATTTTGATGAGCGGTTCTACAAT
+AGTGCTCATCCGGATATGATATACACGGGGTTTCTCTCTGGCGATGAAAACATCTCTCTTGAAGGTTTTT
+TTAAATTTGAACAGGTTGTTAAGACAAAATTGCCAGGTATACGACCTGTACTTATATTAAAAACCAAGCA
+TAATACATCACATATGTTCTTACCTGTTGCGGATACAATGGTTATCGATTTAAGTCGACAGGAAATATAC
+CTTACCTGGAGATTAACAATACCTGATTTTTTTGGAATGAAAGAAGGAGTGCTGAGTTGTATTATTCCTG
+AATGTATAGGGAAAAAATATTATGGGTAACTATCATATCGGGGATGGTGAATGTAGATTTAGAGTCGTGT
+GTTCTTCACCAGATGTATGTGAAGTAGGAGGTTACAAGGTTCCTTTTGACAGTTACCAGACTTTAGATAG
+TGAAAGACAGTACAGTTCAACGGTATGGGCGCGTGGATGCAGAGCTTTAAATGTTGGTTCAGTGATTGCT
+GGAACTCAAAGTAATGCCGGTAAAGGTGTCATATCCGGTACATCTCAAGGAACGGGTGACTGTGTTATTT
+TAACGGGAAGTCCGACTGTAACAATAGAAGGGAAACCTGTTGCTTATCATGGTTCAGTTGTTGGGATTAA
+TAACCACAACTGCCTTGGTAAATTGTATACCAAAATAAAATCACCAATGATTTCTGTCATTGATAGAACT
+TTTAATTATGAAAGGACTGCTGAAGTAATACACGATTTACTGCTTCTGAAGGATCTCCTCTCTGTTGGTA
+ATATTTTTGACGGAGATATTTCACCTGAGGTTAAAAATGATTTATTTCAAATAAAAGATCCTGACCAATC
+ATGGGGGGAGTTTTTTTCAATAAAGAATATCAGAGAATCTCTCAGGAATGGTATTGAAGGAGATAAATCT
+CAGATCAGAGAATGGTTTGGAGAGAACACACTTACTCAAATGGGGAATGGAGCAATCACCACTTTACATG
+GTGTGGCGGATTTAGCCTTAGTTACATTCGATGCTCTGTTAGATACGGCAACGGCAACGGTTGCTTGCCC
+GATAGGCGAAGATGGGTTATGTGAACAGGCAAATATAAATTTAAATGAAAAAGAACAGGCTTTATTTAAT
+ATTAGTAATTCATTGATAAATGGGCAAGCATGGGATGCACTTAAAAAAATGATAATGGATACAAATAATG
+GTGATCAGATTGCTCTGGAGCATTTTGCCAGCTTTTTATGGGGCTTTATGATACCCGCAAAAATACCAGA
+AGAAAATATCTCTGGGAAAGTATTTGTAGAGCCAGTAGTTTTAGAAGGTGGTGCTGGTGGCAATTGGACA
+GTATTTGATGAGGTTTTAGATTCAAATGTAATAAAGCAATTGACTTTAACAGGCTGTGGAGCGGCCTGTG
+GGGAAATGTTGCTTAGGGATAGGTATATTTTTGTCACGCAAAATGTAATTGGAACAGAATTAACATCTAT
+GACGTCGCTGGCAAACAAGCTTAATAAATTTGATGTCGGCTGGGAAGGGAATGCAGTGAACGAATCTAGT
+TTATATGCCCTCAGTAATACTGGTTCATGGGGAGCAATGATGTGGGATTCTGGAAGTAAAGTAGGGCATT
+GGGTACTTGTTAAGGGTGTTGATGATGCTGGGAATGTGATAATATATGATCCATATCAAGGGAGTCGATA
+TCTGATGACTGAACAGGAATTTAAGGAGGTATGGAATGGGCATAGTGTTTACAAACCATAATATTGATTT
+GTTATCGGTTGAATTTGATGAGATTACAAAAAATTGTAATTACACTTTTAGTGTAGATGGAGAGACGGCT
+ATCTTTACTGCTAGAATATCAATAATAAGAAATATAAAGGGAATTAAATATAGCGAAGAACTTGATAAAT
+TTATAATGTCAATAATGCCATTGCAGCCTAAAGTATCAAAAATTTTGGGAGGTGTTACTTGGGATTGTAT
+TTGTGGTAAGGAAGTTGGATTTCCTGTGAGATTAATTGGTAAGTGAAGGGTGGTGAGGTATTTCTATATT
+TTTTTCGTGAAAGTCTTTAAAACTGAAATTATCTTGTTGGGAGCCCAAGGTGAGATCATAAAACGTATTA
+TTTTATAAATATTGTTATGCAGGGAAAGGTCAAGTAATGCTGCTTTTTTGTACTAAATAATTCGCATTTT
+ATGTTCAATAATTGAGGTGTTCCTTATTACCTAAAGCTGTTTTTCATTGCTTATACATGATCAAATACTC
+ATTGCCTAATTAAGGGGGACAAAATGGAACTTAAAAAATTGATGGAACATATTTCTATTATTCCCGATTA
+CAGGCAAGCCTGGAAAGTGGAACATAAATTGCCAGATATTCTATCTGTTAACTATTTGCGCCGTTATTTC
+TGGTGCATAATGCTGGGAAGATATAGAGGATTTGGGGAAACACATCTCGATTTTTTGAAGTGATATGGTG
+ATTTTGAAAATGGTATTCCTGTTCACGATATCATTGCCAGAGTTGTATCCTGTATCAGTCCTGCAAAATT
+TCATGAGTGCTTTATTAACTGGATGCGTGACTGCCATTCCTCAGATGATAAAGATGTCATTGCAATTGAT
+GGAAAAACGCTTCGGCACTCTTATGACAAGAGTCGCCGCAAGGGAGCGATTTATGTCATTAAAATCCGTC
+TTCATATTATTTGAGATGTCCCTGATGAACTTATTGATTTCACGTTTGAATGGAAAGAGTTGAAGAAATT
+ATGCATGGCAGTCTCCTTTCGTTCAATAATAACAGAACAAAAGAAAGAGCCAGAAATGACGGACAGATAT
+TATAGCATTTCTGCTGATTTAACCGCAGAGAAGTTCGCCACAGCGAACCGAAATCACTGGTACGTGGAGA
+ATAAGCTGCACTGGCATCTGGACGTGGTAATGAATAAAGACGACTGCAAAATAAGAAGAGGAAATGCAGC
+AGAATTATTTTCAGGGATACGGAAGATCGCTATTAATATTTTAACGAAAGATAAGATACTCAAGGCAGGG
+GCAAGATGTAAGATGTGAAAAGCAGCTGCGGACAGAGACTACCTCGCGTCAGTCCTTGCGGGGGCGGGCT
+TTCGTATTCTTGCTCTGCAAGGGATGATAAAAAGTGCAACTTTATTCCACGCAGCTATTTAGACAGCGTA
+CAGTAAACAAACGAAAGTTGTTATTTCAATGGTCAGGGCAAGAGCATGAAGTGTTTACTACACACTATGC
+TCTTGTCCTGGAGTCAGGTCTTGTTTGGAGGGATAAATGGTAGATATTGTCGAGGCCGATAAAACGGATA
+TTTATTTCATTCAGGAGAGTGTTTATGGCAAAATCGGGTTGCCAGCTTTTGGTAATACAATAGGACCATC
+CGCACAGCAAGTTGTTAAAAAGGTATTCGCTGTCGTTAAAGAACGAGATAAGACACATGCAAAACAGAGA
+TTATTGTTGGAATATAATGGTAACAAACTCTGGATGAATGCTATTGATGGCAGTGAAGCTATCCTACCAA
+CAGAATTTTCTAAGCGATACGAACTTTCATTATTCAATACTACTAATTTTGGAGAAGATCCTTTTCCTGA
+TGTTAATTTATATAATAATATGAAATCAAGTTTTTTTGTAAGGTTTGGTGGAACATCCCATCCCGAGGCT
+TGGGCTATTTATAATGCAAGTACGAAAGAGGTTAAATATATAGAAACTGCAAGAGAAATTGATAAAATAT
+TCAGTGATTTTAACTTGAGTGGTACATTGCCAATTCACATTGGTCAATGATTTTTTAAATTGTGTGATTA
+AATAATTGAACATTAATGATGATTTATAGCATCATTATTATTCTATAACATGAATAAACGGATTGAATGT
+GTTATGTTAAAAATGAGTTTATACGTAATAATATTGTTATTTTCCCTTCAGTTTAGTGCAGCCATTACTG
+GCAAGGAAAGTGAGGTTGTTTCACCATTATTAATGGATGTTAATCCTTCACTAACAATGGAAAATATTTC
+TGAATTATCCACATCATCGGAACCATCGCAACAGGGGGTATTTCCTGTAATATGTACTCGACTTCATCCT
+GGCTCCGTAATGAAACGTCAGTTATTAACCGGCTGGGGGCCTGTTTTTATAATTGGTGATGATCCTTTTT
+CTCTGCGCTGGATGAGTGAACATCTGGAGATCCTTAAATCGCTAAATGCCCTTGGTTTGGTTGTTAATGT
+TGAATCAGTAGAACGAATGGAGGTATTACAGCAGCGGGCTGATGGGTTATTGTTATTGCCAGTTATCTGC
+GATAATTTTGTGCAAGCTCTGCAATTAAATGCTTATCCGGTATTAATCACAGAGATGGAAATATCACAAT
+GATTAATAACATAATTACTGCTAATAATATGGTGATTTTGAAAATGGTAATCCTGTTCACGACACCATAA
+TCAGAGTTATGTCCTGTATCCGTTCAGTAAAATTTCACGAATGCTTTATTAACCGGATGCGTGAATGTCA
+TTCTTCAGACGACATAGACGTCATTGCGATTGATGGAAAAGCACTTCCACACTCCTGTGATAAAAGTCGT
+CGCAGGAGAGCGGGCTTTCGTAGTCTTCCCCGACTCTCCCCGGCCCTAAACACAACCCCCACTCACCACA
+ACCTAAACTCATCCGCATCCCGCCATGCCGGAAACTTTTCTCTATATTCCCGCAATGCCATCATCGACAG
+CTCCGCATCAATGCGCGTTGCCTGATGCGCGTCGGCAGTAGCGATAATCTCGCCTTGCGGATTAATCACC
+CGGCTGTCACCGCGATAATGGCAGCCGTTGCCATCGCTGCCGACGCGATTGCATCCCGCCACATACGCTT
+GATTCTCAATCGCGCGGGCTGTCAGCAATGCCTGCCAGTGCAGAGAGCGCGGAGCAGGCCAGTTGGCGAC
+GTACAGGGCGAGGTCATAATCGTTGAGATTGCGCGACCACACCGGAAAACGTAAGTCGTAGCACACCAGC
+GGCAAAATACGCCAGCCGCGCCATTCCACAATCACTCGCGCATTGCCCGCTTTATAATGTAGATGCTCAT
+CTGCCATGCGGAACAGATGACGCTTATCATAAAAATGTACCGTGCCGCCCGGCTCAACCAGCAAAAAGCG
+GTTAACCGAACCAGACTCCGTTTGTAATGCAACACTGCCTGCAATCAGCGCATTGCACTGCTGCGCTTTA
+GCGGTCATCCAGTTCACTACGTCATCTTGTGCTAGCGACGAAGCTGCCGCTTCCATGGCAAAGCCGCTGG
+TAAACATCTCCGGTAGAACGATCACATCGCGCCCGGTAATACCTTCCAGTTGACGATCAAAATGGCGCAG
+GTTGGCAGGACCATCCATCCACACCAGTGGTTGCTGCAAAAGCGTAATCTTCAAACCAGGCACGGTGTAC
+AACTCCTTTATGCGAAGGGTTTTATAACTCTAACACCTTATCAGGCAGTTGCCTTAGCGCAGAATAAATT
+GATAACAAATGCTGATATTGGAAATATCTGATTTGCAAATTATCGTGTTATCGCCAGGCTTTAGGGAGTT
+AATCACATGGGCAGGATAAGCCCGGGAGGAATGATGTTTAAGGCAATAACGACAGTCGCCGCTCTGGTCA
+TCGCCACCAGTGCAATGGCGCAGGATGATTTAACCATTAGCAGTCTTGCAAAGGGCGAAACCACCAAAGC
+GGCGTTTAATCAGATGGTGCAAGGGCATAAGCTGCCTGCCTGGGTGATGAAAGGCGGTACTTATACTCCC
+GCACAAACCGTGACATTGGGAGATGAGACGTATCAGGTGATGAGCGCGTGCAAACCGCATGACTGTGGCT
+CGCAACGTATCGCTGTGATGTGGTCCGAGAAATCTAATCAGATGACGGGGCTGTTCTCGACCATTGATGA
+GAAAACGTCGCAAGAGAAACTCACCTGGTTGAATGTGAACGATGCGCTTTCTATTGATGGTAAAACGGTG
+CTGTTCGCGGCGTTGACCGGCAGCCTGGAAAACCATCCGGATGGCTTTAATTTTAAATAATTAGCCGATA
+AAAAAACGGAGCCGAAAGGCTCCGTTATTCAATTACGCGGCTTCAACTTTCCGCACTTTCTCCGGCAACT
+TTACCGGCTTCGTCGCCAGCTCTTCCGGATCAAAGTCATCAACGTTAATACTGCGCAGACGGCTTTCTTC
+AGCTTTCACCAGAATAGCGGCTTCATCTTTATCAATCAGCACCTTCGCCAGCGCGTTGTGCGCCAGTTCA
+TCCAGACGGGTAAACGGCAGGTTTTTACCCAGCTCTTTACAGATCCGCTGATGAATCGGGTCGGCGGCAA
+TCACATCCACTAGCGCCTCTTCCAGTAAACCAACCGGGTTATGCTCGCTCGGCGTCAGGTACTGACCGCG
+ACCAATGCGGGAACGGGTGGCGTTCGGCACTTGTAAAATCTTCGCCACCTTATGATCCAGCTTGTCAGAA
+GGTGCCAGATAATGACGTCCGGTCGGGAAGATCACCACATTCAGCAGCCCGGCAACCACGCGGTTCGGGA
+AGTTTTGCAGTAAATCGTCCATCGCCTGTTCTGCCTGATACAGCGCATCCTGTACGCCCCAGTGCACCAG
+CGGCAGATCGGCTTCATTACGGCCTTCGTCGTCATAACGCTTCAGAACGGCAGAGGCGAGGTAAAGCTGG
+CTTAAAATATCCCCCAGACGTGCCGAGATACGCTCGCGACGTTTCAGGCTGCCGCCCAGCACAGCCATCG
+AGACATCAGAAAGCAGGGCGAGGTTGGCGCTCAGGCGGTTCAGGTGCTGATAGTAGCGTTTAGTGGCATC
+GCCGGTTGGCGTGCTGCTGGTTAAACCGCGCGTCAGGCCCAGCCAGAAGCTGCGAACTTTGTTGCTACCG
+ACGTGACCGATATGTTTAAACAGGAGTTTATCGAACGCGTTGACGTCATTGTTCTTCGCCGCTTCCATCT
+CTTCCAGCACGTACGGATGGCAACGAATCGCCCCCTGACCGAAAATCATCATGCTACGGGTCAGAATATT
+TGCCCCTTCAACGGTGATGGCAATCGGTGCCCCCTGGTAAGCACGGGCCAGGAAGTTGCTTTGCCCGAGC
+ATAATGCCTTTGCCACCAGTGATATCCATCGCATCAATAATCGACTGCTGCCCGCGGTGGGTACAGTGAT
+ACTTAACGATAGCCGACAGCACGGCGGGTTTTTCACCGAGCATAATGCCGTAGGTAATCAGCGATGCCGC
+AGCATCCATTACATAGGCATTACCGGCAATACGCGCCAGCGGCTCTTCAATCCCTTCCATCTTACCAATA
+GAAATTTTGAACTGACGGCGAATGTGCGCATACGCACCCGTTGCCAGTGCTACCGATTTCACGCCGCCGG
+TTGAGTTGGAAGGCAGGGTGATGCCGCGGCCTACCGAGAGGCACTCCACCAGCATCCGCCAGCCTTGCCC
+GGCCATTTTCGGCCCGCCGATGATGTAATCGATCGGCACGAACACATCTTTACCGCGCGTCGGTCCGTTC
+TGGAACGGTACGTTCAGCGGGAAGTGGCGACGACCAATTTCCACGCCCGGCGTGGTGGTCGGGATCAGCG
+CACAGGTAATACCTAAATCTTCTGCACCGCCGAGTAATTTCTCCGGGTCGGAGAGTTTAAACGCCAGACC
+AAGCACGGTCGCAATCGGTGCCAGCGTAATGTAGCGTTTGTTCCAGGTCAGACGCATCCCCAGCACCTGC
+TGGCCCTGCCATTCGCCCATGCAGACAATCCCGGTATCCGGAATCGCGCCCGCATCGGAACCCGCTTCCG
+GGCTGGTCAGTGCAAAGCAAGGGATCTCCTGACCACGCGCCAGACGCGGCAGATAGTGATTTTTCTGCTC
+GTCAGTGCCGTAATGTTGCAGCAGCTCGCCCGGGCCTAATGAGTTCGGCACGCCGACGGTAATCGCCAGG
+ATCCCGCTCACGCCGGAGAGTTTTTGCAGCACGCGAGACTGGGCATAAGCCGAGAACTCCAGCCCGCCGT
+ACTCTTTTTTGATGATCATCGCGAAGAAACGATGCTCTTTAAGGTACGCCCATAACTCCGGCGGCAGGTC
+CGCCAGCTCATGAGTAATCTGGAAATCATTCGCCATCCGGCAGGCTTCTTCTACCGGACCGTCGAGAAAC
+GCTTGCTCTTCAGCGGTCAGGCGCGGCTGCGGATAGTTATGCAGCTTTTTCCAGTCCGGCTTGCCCTGGA
+ACAAGTCGCCCTCCCACCAGGTGGTGCCCGCATCAATCGCTTCTTTCTCAGTGCGCGACATCGGCGGCAT
+CACCTTACGGAAACCGCGAAATACCGGTGCGGAAATCATCGACTTACGCATAGGCGCAAAGTTAAATGGC
+ACGAGGATAATGGCCAGAGGCACTAGTACCCACGCCGACCACAGACCAGCAACGCCGAGGACGGCTGTCC
+AGGCGAGCAAAATCAGACTGCTGATAAATAAGCTCACGCGGTGATAGAACAATGCGCCGAGCAGGACAAC
+CGTAGCGAGAATACTCAAAATCATCATAACGAAAAGCCCCTTACTTGTAGGAGGTCTGACCACTTGTGAT
+GATATGGTTGTAGTGGATGTAAAAACATTTAGCAATGTGTTTACAATATAATTACAACAAAGCTCACATT
+GTTGCTGTTTTTATCCGCACTTCAGGTCAAAAAGTCCTGGTCATAGCACCTGCCCGTACTTCTCGCTTTT
+GGTGGTATCCGGTACACTGCATTTTGTCTATTACTTTTATGCTGAAGGATATCCTCATGTACCAGGATCT
+TATTCGTAATGAACTGAACGAAGCGGCGGAAACGCTGGCTAACTTTTTAAAAGATGACGCCAATATTCAC
+GCCATTCAGCGCGCGGCGGTCCTGTTAGCAGACAGCTTTAAAGCCGGTGGCAAAGTGCTTTCCTGTGGCA
+ACGGCGGCTCCCATTGCGACGCCATGCACTTTGCCGAAGAGTTGACCGGTCGCTACCGTGAAAACCGTCC
+GGGCTACCCGGCGATTGCCATTTCTGACGTTAGTCATATTTCCTGCGTCGGTAACGATTTTGGTTTCAAT
+GATATTTTCTCCCGTTACGTTGAAGCGGTAGGTCGCGAAGGCGATGTACTGCTGGGGATCTCCACCTCCG
+GTAACTCTGCAAACGTGATCAAAGCGATCGCAGCGGCGCGCGAGAAGGGGATGAAAGTGATCACCCTGAC
+CGGTAAAGACGGCGGCAAAATGGCTGGCACGGCGGATATCGAAATTCGCGTACCGCACTTTGGTTATGCC
+GACCGCATTCAGGAGATCCACATTAAAGTGATCCATATCCTGATCCAGTTAATTGAAAAAGAGATGGTTA
+AGTAAGTCTGGCGTAGGCCGGATAAGGCGTTTACGCCGCATCCGGCATTTGTGCTCTGATGCCTGATGCG
+ACGCTGACGCGTCTTATCATGCCTACAATCTGCACCCGAACCGTAGGCCGAATAATGCGTTCACGCCACA
+TCCGACCTGAAAATTCTTAAATCAATCTTCGCCGGGGGCCATGCGCTCCCGCTGTTGTGGAGGTTACCCA
+TGTGCGAATTGCTCGGGATGAGCGCCAACGTCCCTACCGATATCTGCTTTAGTTTCACCGGACTTGTACA
+GCGTGGTGGTGGAACCGGGCCACATAAAGATGGCTGGGGCATTACCTTTTACGAAGGTAAAGGCTGTCGC
+ACATTTAAAGATCCGCAACCCAGCTTTAATTCCCCCATCGCCAAACTTGTCCAGGACTACCCGATAAAAT
+CCTGTTCGGTGGTGGCTCATATTCGCCAGGCTAATCGGGGCGAGGTGGCGCTGGAAAATACTCACCCGTT
+TACCCGCGAGTTATGGGGGCGTAACTGGACTTATGCCCATAATGGACAACTGACGGGCTACAAATCACTG
+GAAACCGGCAACTTCCGCCCGGTCGGTGAAACCGATAGCGAAAAAGCCTTTTGCTGGCTCCTGCATAAAT
+TAACGCAGCGTTACCCGCGCACACCGGGCAACATGGCGGCAGTGTTTAAATATATCGCCTCACTGGTGGA
+TGAACTGCGGCAGAAGGGCGTTTTCAACATGCTACTTTCGGATGGGCGCTATGTAATGGCGTATTGCTCG
+ACTAATTTACACTGGATCACCCGCCGCGCGCCGTTTGGCGTGGCAACGTTGCTGGATCAGGATGTGGAAA
+TCGACTTCAGCTCGCAGACCACACCGAATGATGTGGTCACGGTGATTGCGACACAGCCGTTGACGGGCAA
+TGAAACCTGGCAAAAGATTATGCCAGGTGAATGGCGCTTATTTTGCCTCGGGGAGTGTGTAGTTTGATGC
+CAGTTGTGGCTGCACAACTTCGTGGCTTAACGGCTTGCTGACCACGTAACGGCCATTGACCACAGAAACG
+GTCGGTGGCTTACGGGTTTGCTCAAAGTAGTCGTAGCCCGGCTTCAGTTGCTCCCAGAAGTCCTTAAAGT
+TGGAATATTTATGGCGCTTCATATTGGCGTCGGTCATGCGGAACGGATAAATACTCACTTGCACGCTCGG
+CTGACCAAACACCAGCGCACCAGTAACGAACTGGAAGATCTCATCAATACCCTGATTGGTCATCGCGTAG
+CAGCCGATGGAAACACAATCGCCGTGAATCATCAGGTATTTCCCTTCATAACCATGCGCACGGTCATAGG
+CGTTTGGGAATCCAATATTAATCGCTTTGTAGTAACGGCTGTCTGGTTTTAACTGATTACGCTGGACGCT
+ATAAAACCCTTCCGGGCTTTTGAAATCGCCCTGACGCTGTTTTGGCCCTAAGCCGCCGGAATATTTACAG
+ATTTTATAGCTGTCGAGCAGTTGATATTGCTCGCCCATTTTGACGTAGAGATCGAGCGTACGTTCTTCCT
+TGAAGATCTGGATGTAGACAGGGGATCCCATCAACTGCTGCTTATACTCTTTGCTCACTGGCGTGGTCGA
+GCTACTGCTGCCCAGCAAACCGGCAAACGAAACGCACGGGATCAACAACATCGCAAGAATTAATGCGATT
+TTACGCATACTGCTTATTCCTTGATAAAACGGTTACACACGCCAGGACGGCAAAATGAATCCCAAATCGG
+AATAGTCTGGATTTGGAAGGCTCACATTATCACCAAAAGAGTTTTACGCAAGCCTGTCGGCGCAGGGTTT
+ACAAATTTAGCACAGGGGCAGTTTTCAAGAGTCCGAAAAGCGCATGGATTGTAGATTTATTTCTTATTTC
+CTAAGATTATGAAACCGCAATAGTAATATGCAAATAAGCAATTAATAATCCCGTTTACTCCTCCGGTCTT
+TTAAAATTCTCACCTTCATTCAGCTGGTTTATGTCCTTCATGTCTTCGTTCTTGCACGGCAGATTTCTGC
+ATCCAGGCGTGTTTTCGTTATGCGTTTTGCTCCCTTTACTCGCCAGCGCCACCACATCACATATCTCTTT
+TAGCTACGCCGCCCGCCAGCGGATGCAAAACCGTGCGCGTTTATTAAAACAGTACCAAACCCATCTGAAA
+AAGCAGGCCAGCTATATTGTGGAAGGCAATGCCAAAAGCAGAAGGGCGCTGCGCCAGCATAATCGGGAGC
+AGATAAAACAGCATCCAGAATGGTTTCCTGCGCCGCTCAAGGCGAGTGACAGACGCTGGCAGGCGTTGGT
+GGAGAATAATCATTTCTTAAGCAGCGACCATCTACATAACATCACCGAAGTGGCGATTCACCGCCTGGAG
+CAGCAGCTAGGTAAGCCTTATATCTGGGGGGGCACGTGGCCTGATAAAGGCTTCGACTGTAGCGGGTTGG
+TTTTTTATGCCTACAACAAGATCCTTGAGGCTAAGCTCCCGCGCACGGCCAATGAGATGTACCACTACCG
+TCGGGCAACGATTGTGGCGAATAACGACCTGCGCCGGGGAGATTTGCTGTTTTTCCATATCCACAGTCGT
+GAGATAGCCGACCATATGGGCGTATATCTTGGAGACGGTCAGTTTATCGAGTCACCGCGCACCGGGGAAA
+CCATTCGGGTAAGTCGGTTAGCCGAACCTTTCTGGCAGGACCATTTTTTAGGCGCGCGACGGATTTTGAC
+GGAAGAGACGATTTTGTAGGCCGGATAAGGCGTTCACGCCGCATCCGGCGGTTGTGCGCCGGTGTCTGAT
+GCGACGCTACGCGTCTTATCATGCCTACAAATCTGTGCATTTTTTGCGAGCCGCTTTCCCGATTTAACAC
+AACATCATTGCCGACTTTTCCTTTTCTTCTTACCGTTGAGAAAAAGGAGTCGTTATGTCTGAATATCGTC
+GTTATTACATCAAGGGGGGAACCTGGTTTTTCACGGTAAATTTACAGAATCGTCGAAACCAACTTTTGAC
+CACCCAGTTTCAGACGCTCCGTAACGTTATTATTAAAGTTAAGCGAGACAGACCTTTTGAAATTAACGCT
+TGGGTAGTTTTGCCGGAGCATATGCATTGCATATGGACATTACCTGAAGGCGATGATGATTTTTCCTCGC
+GCTGGCGGGAAATTAAAAAGCAATTTACCCATGCTTGTGGATTGAAAAATATCTGGCAACCACGTTTTTG
+GGAACATGCTATCCGCAATACCAAAGACTATCGCCATCATGTTGATTATATTTATATAAATCCAGTAAAA
+CATGGTTGGGTAAAACAAGTGAGTGATTGGCCATTCTCAACGTTTCACCGCGATGTTGCGAAAGGGTTAT
+ATCCCATCGATTGGGCGGGAGACGTAACGGATTTTAGTGCTGGGGAGCGTATCATTTTATAGCTGTGCGC
+CGATGCCTGATGCGACGCAGACGCGTCTTATCATGCCTACAAAACCGCGCTCACCCGTAGGCCGGATAAG
+GCGTTCACGCCGCATCCGGCGGTTGTGCGCCGATGCCTGATGCGACGCAGACGCGTCTTATCATGCCTAC
+AAAACCGCGCTCACCCGTAGGCCGGATAAGGCGTTCACGCCGCATCCGGCAGTTGTGCACCGGTGCCAGA
+TGCGCCGCCACGCGTCTTATCATGCCGACAAAACCGTGCTCACCCGCAGGCCGGATAAGGCGTTCACGCC
+GCATCCGGCAATATGCACCGATGCCGGATGCCTACATCAACGCCCCCATAATCTTCAACTCCAGCTCATC
+CGGCACTTCGTTATACGACAGCACATGCAGCCCCGGTGCAAACAACCTTGCGTAGCGCGCCAGCAAAGGG
+CGCAGCTGCGGCGGCACCAGCAGCACCGGATCTTTCCCCGCCGCTTTCATCTGTTCCTTCACCTGCGGCA
+TCGTGATCTGAAACTGGTTGAGCATATTCGGGTCTACCGGCACGCTATCGAGCATCACTTTCCCGCCCTG
+CTGCGCCTGATTCACCACGTTGGTCAGCAGATTTTCCAGCTCATTATTCAGCGTATACACCGTCAGCTCC
+TGCTTGCGAACGAACGGATGGGTTATGCTGCGCCGCAGCGCCAGGCGCACATCGGCCGCCAGCAGAATAT
+GATCTTTAGTCACCGCACTACTGGCGACCAACACGGTGGCGATGGTGACGATATCGCGCAGGGAAACGCC
+TTCAGTCAGTAGCGCCCGGTACACTTTCAGCAACTGGCTGTAATTGAGCGCTGCGCTCAAATCTTCCGCC
+AGTCGCGGTGCCATCGACGACAAACGGTTATGCAGCTGAGTAATATCGTCATAGTTAAACAAATCAGGAA
+TATAGCTGCGCACAATCTTATTCACATGGGTGGCAATTACGCTGGCGCTGTCGATCACCTGATACCCCAT
+ATTCAGCGCCTTCGCTTTCTGCGCGGGCTGAATCCAGGTGACCGGCATCCCGTACGCCGGGTCGTTCCCC
+AGCACGCCGTCTATCTCGCCGTAGGTTTCGCTGGAGGGCAGGGCCATCAGTTTATCTGCCGGAATATCCG
+CTTCATCAGCCTTAATGCCGTTGATGAAAATGGCGTACTGGCTGGGCTTGAGGCGGAAATTTTCCCGAAT
+GCGGATCTCCGGCAGCAGCACGCCGTTGCCGTCGGAAATCACCTGCCGTACGCCGCGAATACGCTGGGTG
+AGCGGGTTGCCCTGCGCTTTATCCACCAGCGCCACCAGTTTGTAGCCGAGGCTTAAACTGATAGGTTCGA
+TCAGCGGAATAGTTTCCCAACTGACCTGTTGCTCGCTGGTTTCTGTCATCGTACGGGTTAGCGTTTCGAG
+GCTTTTCTCTTCCGCCTCCGCTGCCTGTGGGCGCTTGCTCATCCGCCAGCCGGTAAAACCAAGCAGGGCG
+GTGAACAGCAAAAACGGCAGGTGCGGCATCCCCGGCACCACCGCCAGCACAAACATGATCCCGGTGGCGG
+TGTAGAGAACCGACGGGCTTGCCAGCAACTGATTACGCACGTCATGGGCGATATCACCGTTATCGCTGAC
+GCGGGTGACGATAATCGCCGCCGCGGTGGAGAGCAGCAGGGAAGGGATTTGCGCCACCAGCCCATCGCCG
+ATAGTCATCAGCACATATTGCTGGAAGGCGGCGTCGGCGCTCAGGTTGTATTTGAAGATGCCGATACAGA
+CGCCGCCGATCAGGTTGATCGCCAGAATCATCATCCCGGCGATGGCGTCCCCGCGCACAAACTTCGATGC
+CCCGTCCATCGCGCCGTAGAAATCGGCCTCGCTGGCGACATCTTTACGCCGGGTTTGCGCCTGCGTCTGG
+TTGATCAACCCGGCGTTAAGATCGGCGTCAATCGCCATCTGTTTGCCGGGCATCGCGTCCAGGGTAAAGC
+GGGCAGAAACCTCGGAAATACGCTCGGCCCCCTTGGTGACGACGATAAAGTTGATTGTCAACAGCGTCAG
+TAAATCCGAGCGTGAAAGCATTATCGCCGCGCTGCACGGGCAGTCGATTTTCAATGGTGGCGGGCTGTCG
+CCGTTAAATAAAATCAGCCCGTCTCATCCGTCAAAACCTGCCACCGTGGCGGTGCCGGAAGAGACGGAGA
+AAAAAGCGCGCGACGTCAACGAGAAAACGGCGCTGTTGAAGAAGAAATCCGCCACCGAGCTTGGCGAGCT
+GGCAACCAGTATCAATACCATCGCCCGTGATGCGCATATGGAAGCGAATCTGGAGATGGAGATTGTTCCC
+CAGGGATTACGCGTGCTGATTAAAGACGACCAGAACCGCAATATGTTTGAACGCGGCAGCGCGAAGATTA
+TGCCGTTCTTTAAAACTTTGCTGGTGGAGCTTGCGCCAGTGTTCGACTCGCTCGATAACAAAATTATTAT
+TACCGGGCATACCGATGCGATGGCCTACAAAAACAATATCTACAACAACTGGAACCTTTCGGGCGATCGC
+GCGCTTTCGGCTCGTCGGGTGCTGGAAGAGGCCGGAATGCCGGAAAATAAAGTGATGCAGGTAAGCGCAA
+TGGCGGACCAGATGCTGCTGGATGCCAAAAATCCGCAAAGCGCGGGCAACCGGCGCATTGAGATTATGGT
+GCTGACCAAAAGTGCGTCCGATACGCTGTATCAATACTTTGGTCAGCATGGGGATAAAGTGGTGCAGCCG
+CTGGTGCAAAAGCTGGATAAGCAGCAGGTGCTTTCGCAGCGAGCGCGTTAAATGCTGAATCTTTACGCAT
+TTCTCAAACCCTGAAATCACTGTATACTTTACCAGTGTTGAGAGGTGAGCAATGCGTAAAATCATTCATG
+TGGATATGGACTGCTTTTTCGCAGCGGTGGAGATGCGCGACAATCCCGCCCTGCGCGATATCCCTATTGC
+TATTGGCGGCAGCCGCGAACGACGGGGGGTAATCAGCACCGCCAATTATCCCGCGCGTAAATTTGGCGTA
+CGTAGCGCTATGCCGACAGGGATGGCGCTCAAATTATGCCCGCATCTCACCTTGCTTCCAGGGCGCTTTG
+ACGCCTACAAAGAAGCCTCAAATCATATCCGCGAAATTTTCTCGCGCTATACCTCGCGCATTGAACCGTT
+ATCACTGGATGAAGCCTATCTCGATGTCACCGATAGCGTCCATTGCCACGGTTCTGCGACCCTCATCGCC
+CAGGAAATCCGCCAGACGATCTTCAACGAGCTGCAACTGACGGCGTCTGCGGGCGTTGCGCCGGTCAAGT
+TTCTCGCCAAAATCGCCTCCGACATGAATAAACCCAACGGTCAGTTTGTGATTACTCCGGCTGAGGTTCC
+GGCATTTCTGCAAACCTTACCGCTGGCAAAAATTCCCGGCGTCGGCAAAGTCTCAGCGGCTAAACTGGAA
+GCGATGGGGCTACGAACCTGCGGTGATGTGCAAAAGTGTGATCTGGTGACTCTGCTCAAACGTTTTGGCA
+AATTTGGCCGCATTTTGTGGGAGCGTAGTCAGGGCATTGACGAGCGCGACGTTAACAGCGAAAGGTTGCG
+AAAATCCGTCGGTGTAGAACGTACGATGGCGGAAGATATTCATCACTGGTCTGAATGTGAAGCGATCATC
+GAGCGGCTTTACCCTGAACTGGAGCGTCGTTTGGCAAAGGTAAAACCTGATTTGCTGATTGCCCGCCAGG
+GGGTGAAATTAAAGTTCGACGATTTTCAGCAAACCACCCAGGAACACGTCTGGCCGCGGCTGAATAAATC
+TGATCTAATCGCCACCGCGCGTAAAACCTGGGATGAACGCCGCGGCGGGCGCGGTGTGCGACTGGTGGGG
+CTGCATGTGACGTTGCTTGACCCGCAAATGGAAAGACAACTGGTGCTGGGATTATGATGTATACTATTTT
+GTATATTCTGGTGTGCATTATTATGAGGAGATCACTGTATGCATCGAATTCTCGCTGAAAAATCGGTCAA
+TATCACTGAGTTACGTAAAAACCCAGCTAAATACTTTATTGATCAACCTGTTGCGGTTCTTTCTAATAAT
+CGCCCCGCAGGATATCTCTTAAGTGCCAGCGCATTTGAAGCATTAATGGACATGCTTGCAGAACAAGAGG
+AGAAAAAGCCCATAAAGGCGCGCTTCCGTCCGAGTGCTGCAAGATTAGAGGAAATTACACGCCGCGCTGA
+ACAATATCTTAATGATATGACGGATGATGATTTCAATGACTTTAAGGAATAAGGATGCGGGTATTCAAAA
+CAAAACTTATTCGCCTGCAACTTACAGCAGAGGAACTTGAAGCGTTAACGGCGGATTTTATTTCCTATAA
+GCGTGACGGTGTTTTGCCAGATATATTTGGTCGTGATGCACTCTACGACGACTCGTTTACCTGGCCATTA
+ATCAAATTTGAGCGAGTTGCTCATATTCATCTGGCAAATGTGAATAATCCATTTCCGCCACAGTTGCGCC
+AATTCAGCAGAACGAATGACGCAGCGCATTTGGTATATTGTCAGGGCGCGTTTGATGAGCAAGCATGGTT
+GCTCATTGCCATTCTGAAACCTGAACCTCATAAACTGGCTCGAGATAACAACCAAATGCATAAAATTGGG
+AAAATGGCAGAAGCGTTTCGCATGCGTTTTTGAATTTATATTATGAATAACATACAAATAAGAAACTATC
+AGCCTGGTGATTTTCAGCAACTATGCGCTATTTTCCTTCGAGCTGTTACGATGACGGCGAGTCAGCACTA
+TTCTCCACAGCAAATTGCCGCCTGGGCGCAGATTGACGAATCTCGCTGGAAGGAGAAACTCGCGAAATCA
+CAAGTGCGGGTTGCAGTTATTAATGCACAACCGGTTGGTTTTATTACCTGCATTGGACATTATATCGATA
+TGTTATTTGTTGAACCGGAATACACCCGACGCGGGGTTGCCAGCGCTTTGTTAAAACCATTGATTAAGTC
+TGAATCCGAACTTACGGTGGACGCCAGCATAACCGCAAAACCCTTTTTTGAACGTTATGGTTTTCAGACA
+GTTAAGCAGCAGCGCGTTGAATGCCGGGGAACGTGGTTTACTAATTTTTATATGCGATATAAACCGCAAC
+ATTAAATCCAGCTTGCAATGAAAATAACGCCCGTCTAGTATGTGCGCGTTTTCTTATTCCACAAACTGCA
+AGGAGGTAAATCATGACAAATCCTTTATCAATGACTCTTTGCAGACCTTTCCAGGATTAATTCTTTTTTC
+TTGCCCTGGATTCGTCTGCCATTTCCTGATTTTTATTCATAAATGGAATGGTACATGGGCAAATATATTC
+GTCCCTTATCCGATGCGGTATTTACCATCGCATCTGATGACCTGTGGATCGAGAGTTTAGCGATCCAACA
+ATTACACACCACGGCAAATTTACCCAACATGCAGCGCGTTGTGGGGATGCCAGATTTACATCCCGGACGC
+GGCTACCCGATTGGCGCAGCGTTCTTCTCTGTTGGTCGTTTTTACCCGGCACTGGTCGGCAATGATATCG
+GCTGCGGCATGGCGCTATGGCAAACAGATATTCTCGCTCGCAAATACAACGCCGATAAGTTTGAAAAGCG
+ATTATCAGATCTGGATGACGTTGCTGAAGAAAGCTGGCTGGAGGAAAACCTGCCGTCAGCATTTGCACAG
+CATCCGTGGCGCAACTCGCTTGGCTCCATCGGTGGCGGTAACCACTTCGCAGAACTGCAACAGATTGATC
+AAATTATCGACGCGGAACTGTTTGCACTGGCTGGTCTGGATGCGCAGCATCTGCAACTGCTGGTTCATAG
+CGGCTCGAGGGGATTGGGGCAGTCTATTTTACAGCGGCATATTGCCTCGTTTTCGCATCATGGTTTGCCT
+GAAGGCAGTGACGACGCGCTACGGTATATTGCGGAACATGACGATGCGCTGGCGTTTGCGCGTATTAATC
+GCCAGCTGATCGCTTTGCGCATAATGCAACAAGTTAAGGCCACCGGAAGTCCGGTTCTGGATGTGGCGCA
+TAACTTTGTTAGCGCGTGCCAAATCGGCGATCAACAGGGCTGGTTGCATCGTAAAGGCGCCACGCCGGAT
+GACAACGGTCTGGTGATTATTCCCGGTTCACGCGGCGATTACTCCTGGCTGGTTAAACCTGTTGCGAACG
+AAAAAACGCTCCACTCGCTGGCGCATGGGGCGGGGCGTAAATGGGGGCGCACCGAGTGTAAAGGGCGTCT
+GGCAGCGAAATACACGGCGACGCAACTCTCGCGGACTGAACTTGGCAGTCGGGTAATTTGTCGCGATAAA
+CAACTCATCTTTGAAGAAGCGCCACAAGCCTATAAATCGGCTGAAAGCGTGGTGCAATGTCTGGTGCTGG
+CTGGGTTAATTATTCCTGTCGCGCGACTGCGCCCGGTGCTGACGCTCAAAAACAGTGGAGGGAAAAAAGG
+ATGATCTTGCTACAACTCTCCTCTGCTCAGGGGCCGGAAGAATGTTGTCTCGCAGTGAAAAAAGCACTGG
+ACAGGCTGATTAAAGAAGCTACCCGACAGGACGTCGCGGTAACGGTGCTGGAAACAGAAACGGGTCGCTA
+CTCTGACACACTGCGTTCGGCGCTGATTTCTCTGGATGGCGATAACGCATGGGCTTTAAGCGAAAGCTGG
+TGCGGCACTATTCAGTGGATTTGTCCGAGTCCGTATCGGCCTCATCATGGGCGCAAAAACTGGTTTCTGG
+GCATTGGGCGTTTTACCGCTGATGAGCAGGAACAATCGGATGCAATCCGTTATGAGACGCTGCGTTCGTC
+AGGGCCGGGCGGTCAACATGTCAATAAAACCGACTCGGCGGTACGCGCCACGCATCTGTCATCCGGTATT
+AGCGTGAAGGTTCAGTCAGAGCGCAGTCAGCATGCTAACAAACGGCTGGCGCGATTACTGATTGCCTGGA
+AGCTGGAACAACAGCAACAGGAAAATAGCGCGGCGCTGAAATCGCAGCGGCGAATGTTCCATCACCAGAT
+TGAACGTGGCAACCCGCGACGAACGTTCACAGGGATGGCTTTTATCGAAGGATAATGAAGGATGAAACTG
+CCGGAAGGCGATTAAACGCCATCCGGCAGCAAATCAAATAATTACTTCGCCGGAATTTCTTTCAGCAGTT
+CAGTCAGCAGTGTCCAGTAATGGCCAACGCTTTCGATATGAACTTGCTCATCCGGAGAGTGTGGACCGGT
+GATGGTTGGCCCGATAGACACCATGTCCATTTCCGGATACGGTTTTTTGAACAGACCACATTCCAGGCCC
+GCGTGGATAATCTGGATGTTCGGCGTTTTGTTGAACAGACGCTGATAGGTTTCACGTACCAGATGCATTA
+CCGGAGAGTTAGCGTCCGGCTGCCAGCCAGGATATGCGCCTTTTGCTTCTGTTTTCGCACCTGCCAGTTT
+ACCCAGTGAATCCAGCATGCTCACTACGTAGTCTTTACCGCTGTCGATCAGAGAACGGATCAGGCAGTGA
+ATTTCTACGTTATTGTCGGTCATGGTCACCACACCGACGTTCAGGGAGGTTTCGACCACACCTTTTGCCA
+CGTCGGAGTTGCGGATCACACCGTTCGGGGTGGCGTTCAGCAGACGAATAAAGGTATCGCGAGATTTCGC
+AATCAGGGCAGCTTTATCGTTCGCAACAGAGTCCAGCAGCAATGCCAGATTTTTCTCTTTCTCTGCCAGT
+TCGTTTTTCAGGATCTCCTGATAGGTATCCACCAGAGATTTCAGGGCGTCGACTTTATCAGCTGCGACAG
+CAATGGTCGCAAAGGCTTCACGCGGGATGGCGTTACGCAGTGTGCCGCCGTTGAAATCAATAAGACGCAG
+GTCCAGTTCTTCTGCATGACCCGCCAGGAAGCGCACCAACAGTTTGTTGGCATTACCCAGGCCAACGTGG
+ATTTCACCGCCGGAGTGACCGCCTTTCAGACCTTTTAAGGTTAACTTGAAGGTTTCAAAACCAGCTGGAA
+CCGCTTCACGATCTAAATGCAGGTTGGAGGTGAAGTCGATACCTCCCGCACAACCCATGTAGATTTCACC
+TTCTTCTTCGGAGTCGGTGTTAATCAGAATATCAGCCTGCAACCAGTTGCTCTGTAAGCCAAAAGCACCG
+TCCATACCGGCTTCTTCGGTCATGGTCAGCAGCACTTCCAGCGGGCCGTGAACCACGTTTTCGTCAGCCA
+GAACCGCCAGTGCAGAGGCCATACCAATGCCGTTATCCGCACCCAGCGTGGTGCCGCGTGCTTTAACCCA
+TTCGCCATCAATATAAGGCTGGATAGGATCTTTAGTGAAGTCATGCACGGTGTCGTTGTTTTTTTGCGGC
+ACCATATCGAGGTGGGCCTGCAAGACGACCGGTTTACGATTTTCCATACCTGCGGTAGCAGGTTTACGAA
+TCAGGATATTACCTACCTGATCGCGTTCGACATGGAAACCTTTCTCTTTTGCCCAACCAACAATGTATTC
+AGCGAGTTGCTCTTCATGATAGGACGGGTGAGGAATAGAACAGATTTTGGCAAAAATATCCCACAGCGGC
+TGTGGAGATAATTGAGACAGTTCAGACACGTTAAGTCTCCTTGTCGATCACCCGCAAAACAGTATTGCAG
+GTCACAGGGTTAGCAGAAAATGTTGTCAACACAAGACAGGCTTGCGAGATATGTTTGAGAATACCACTTT
+ATCCCGCGTCAGGGAGAGGCAGTGCGTAAAAAGACGCGGACTCATGTGAAATACTGGTTTTTAGTGCGCC
+AGATCTCTATAATCTCGCGCAACCTATTTTCCCCTCGAACACTTTTTAAGCCGTAGATAAACAGGCTGGG
+ACACTTCACATGAGCGAAAAATACATCGTCACCTGGGACATGTTGCAGATCCATGCACGTAAACTCGCAA
+GCCGACTGATGCCTTCTGAACAATGGAAAGGCATTATTGCCGTAAGCCGTGGCGGTCTGGTACCGGGTGC
+GTTACTGGCGCGTGAACTGGGTATTCGTCATGTCGATACCGTTTGTATTTCCAGCTACGATCACGACAAC
+CAGCGCGAGCTTAAAGTGCTGAAACGCGCAGAAGGCGATGGCGAAGGCTTCATCGTTATTGATGACCTGG
+TAGATACCGGTGGTACTGCGGTTGCGATTCGTGAAATGTATCCAAAAGCGCACTTTGTCACCATCTTCGC
+AAAACCGGCCGGTCGTCCGCTGGTTGATGATTATGTTGTTGATATCCCGCAAAATACCTGGATCGAACAG
+CCGTGGGATATGGGCGTCGTATTCGTCCCGCCAATCTCCGGTCGCTAATCTTTTCAACGCCTGGCACTGC
+CGGGCGTTGTTCTTTTTAACTTCAGGCGGGTTACAATAGTTTCCAGTAAGTATTCTGGAGGCTGCATCCA
+TGACACAGGCAAACCTGAGCGAAACCCTGTTCAAACCCCGCTTTAAACATCCTGAAACCTCGACGCTAGT
+CCGCCGCTTTAGTCACGGCGCACAACCGCCTGTGCAGTCGGCCCTTGATGGTAAAACCATCCCTCACTGG
+TATCGCATGATTAACCGTCTGATGTGGATCTGGCGCGGCATTGACCCCCGTGAAATCCTCGATGTCCAGG
+CGCGTATTGTGATGAGCGATGCCGAACGTACCGACGATGATTTATACGATACGGTGATTGGCTACCGCGG
+CGGCAACTGGATTTATGAGTGGGCTACCCAGGCGATGGTGTGGCAACAAAAAGCCTGTGCGGAAGAAGAT
+CCGCAACTCAGCGGTCGACACTGGCTGCATGCGGCTACGTTGTACAACATTGCTGCCTATCCTCATCTGA
+AAGGAGATGACCTGGCCGAGCAAGCGCAGGCTTTGTCAAACCGCGCCTATGAAGAGGCCGCTCAGCGTCT
+GCCGGGCACGATGCGACAGATGGAGTTTACCGTACCCGGCGGTGCGCCCATCACCGGCTTTTTGCATATG
+CCGAAAGGCGATGGCCCGTTCCCGACAGTATTAATGTGTGGTGGTCTGGATGCGATGCAGACGGACTATT
+ACAGCCTGTATGAACGTTATTTTGCGCCGCGCGGCATTGCTATGCTGACTATTGATATGCCGTCGGTGGG
+CTTTTCTTCAAAATGGAAGCTCACCCAGGACTCCAGCCTGTTGCATCAGCACGTTTTAAAGGCGCTGCCT
+AACGTACCGTGGGTGGATCACACTCGCGTCGCGGCCTTTGGTTTCCGTTTCGGCGCTAACGTTGCCGTGC
+GTCTGGCATACCTTGAATCGCCGCGTCTGAAAGTGGTTGCCTGTCTTGGTCCGGTAGTTCATACCCTGTT
+GAGTGATTTTAAGTGCCAGCAACAGGTGCCGGAAATGTATCTTGACGTTCTGGCCAGTCGTTTAGGGATG
+CATGATGCTTCCGATGAAGCGTTGCGAGTGGAGTTGAATCGCTATTCATTAAAAGTGCAAGGATTGCTGG
+GACGTCGCTGCCCAACGCCAATGTTATCAGGCTACTGGAAGAACGATCCGTTCAGCCCGGAAGAGGACTC
+ACGCTTAATCACGTCGTCATCTGCTGACGGTAAATTATTAGAGATCCCATTTAACCCGGTGTATCGGAAT
+TTTGACAAAGGCCTTCAGGAAATCACAGACTGGATCGAAAAACGTTTGTGTTAAAAATTTGCTAAATTTT
+ACCAATTTGGTAAAACAGTTGCATCACAACAGGAGATTGCAATGACGTTACCGAGTGGACACCCGAAGAG
+CAGATTAGTCAAAAAATTTACCGCACTAGGCCCGTATATTCGTGAAGGTAAGTGCGAAGATAATCGATTC
+TTTTTCGATTGTCTGGCTGTATGCGTCAACGTGAAACCGGCACCGGAAGTGCGTGAGTTCTGGGGCTGGT
+GGATGGAACTGGAAGCGCAGGAATCCCGTTTTACCTACAGTTACCAGTTTGGTCTGTTCGATAAAGCAGG
+CGACTGGACGAGTGTTCAGATAAAAGATGCCGAAGTGGTTGAACGACTGGAGCACACCCTGCGTGAATTT
+CACGAGAAGCTGCGTGAGCTGCTGGCGACGCTGAATCTGAAGCTGGAACCGGCAGATGATTTTCGTGATG
+AACCGGTGAAGTTAACGGCGTGAATGAAATGTGCCGGATGCATCACATCCGGCAATATTCATTAAAACTG
+ATACGTCATCCCAACCGCGACAATATCATCATTATTAATATTTAATTTGTTATCGCTTTCCAGTTGGTTG
+ATTTTATAATCAACAAACGCTGACATATTTTTGTTGAAATAATACGTAGCACCAACATCGACATAATTGA
+CCAGATCTTCATCACCGATGCCCTCAATATCTTTCCCTTTCGATAAGACATAACCCAGCGATGGACGCAG
+ACCAAAGTCAAACTGGTATTGAGCGACCGCTTCAAAGTTCTGCGTCTTATTGGCAAAGCCGCCAGAGATT
+GGCGTCATTTTACGTGTTTCAGAATAGAAAGTTGCCAGATAAATATTATTGGCATCGTATTTCAGACCTG
+TTGCCCATGCTTCTGCACGCTTGCCTGTGCCACGGCTTTGCAGGTTCTGCTCGTTGGTACGATCAGAGTT
+GGTATAGGCTCCACTGATGGCAAAATCGCTGCCACCAAAGTCATATGTCAATGACGTGCCGAAGCCATCG
+CCGTTTTGCTTTTTAACGTCGCGGTTTTCGTTTTTCCCTTGATATTGCAGGTTTAAGTTCAGGCCATCGA
+TAACGCCGAAGAAGTCGGTGTTCCGATACGTCGCCAGACCGCTGGCGCGTTTGGTCATAAAGTTGTCGGT
+CTGCGCCGAGGAGTCGCCACCAAATTCCGGGAACATATCGGTCCAGGCTTCCACGTCATACAACGCGCCC
+AGGTTACGACCATAATCGAAAGAACCCAAATCTTTATATTTCAACCCGGCAAAAGCGAGACGCGTTTTTT
+GCTGTGCAGTATCACTCTCCGCTTTATTACCGGCAAACTCAGCTTCCCAACGACCATAACCAGTCAGTTG
+ATCGTTAATTTGTGTTTCGCCTTTAAAACCAAAACGGATATAACTCTGGTCGCCATCTTTACTGTCATTA
+TCACTCATATAATGCATGGCTTTAACTTTGCCATAGACATCCAGTTTATTACCGTCTTTGTTATATATTT
+CTGCGGCCTGTACGGATACAGATGCCACAATGCCCATCACCACTAATGCCAGAGTGCTCTTTTTCATTTT
+CATTCCTGATTTTAATTAACGCGCGAATATTCAGCGGGAGAGTCCCGTTGAAAACAGGAAAGTTTTTAAC
+CTGAGATTGTTAAAGATATATTACAGATTAATAATATTCTTAAAATGTGGTAATTTATTAAATCTGTAAT
+AAAAGCGTAAACAACTGCCGCTACACTTGCTGATCCCGCGCAACAAAACGCCATGCTTTGCTCGCAGATG
+GTTGGCAACCGACGACAGTCCTGCTAAAACGTTCGTTTGATATCATTTTTTCCTAAAATTGAATGGCAGA
+GAATCATGAGTGACAGCCAGACGCTGGTGGTAAAACTCGGCACCAGTGTGCTAACAGGCGGATCGCGCCG
+CCTGAACCGTGCCCATATCGTTGAACTTGTTCGCCAGTGCGCGCAGTTACATGCCGCCGGGCATCGGATT
+GTTATTGTGACGTCGGGTGCGATTGCCGCCGGACGTGAGCACCTGGGGTACCCGGAATTGCCAGCGACTA
+TCGCTTCAAAACAGCTGCTGGCGGCGGTAGGGCAGAGTCGACTGATTCAACTGTGGGAACAGCTGTTTTC
+AATTTACGGCATTCATGTCGGGCAGATGTTGCTGACCCGTGCTGATATGGAAGATCGTGAACGCTTCCTG
+AACGCCCGTGATACCCTGCGTGCGTTGCTCGATAACAATATCGTTCCGGTAATTAATGAGAACGATGCTG
+TCGCTACTGCAGAGATTAAGGTCGGTGATAACGATAACCTTTCTGCGCTGGCGGCGATTCTGGCGGGTGC
+CGATAAACTGTTGCTGCTGACCGATCAAAAAGGTTTGTATACCGCTGACCCGCGCAGCAATCCGCAGGCA
+GAACTGATTAAAGATGTGTACGGCATTGATGACGCACTGCGCGCGATTGCCGGTGATAGCGTTTCAGGCC
+TTGGAACTGGCGGCATGAGTACCAAATTGCAGGCCGCTGACGTGGCTTGCCGTGCGGGTATCGACACCAT
+TATTGCCGCGGGCAGCAAGCCGGGCGTTATTGGTGATGTGATGGAAGGCATTTCCGTCGGTACGCTGTTC
+CATGCCCAGGCGACTCCGCTTGAAAACCGTAAACGCTGGATTTTCGGTGCGCCGCCTGCGGGTGAAATCA
+CGGTAGATGAAGGGGCAACTGCCGCCATTCTGGAACGCGGCAGCTCCCTGTTGCCGAAAGGCATTAAAAG
+CGTGACTGGCAATTTCTCGCGTGGTGAAGTCATCCGTATTTGCAACCTCGAAGGTCGCGATATCGCCCAC
+GGCGTCAGTCGTTACAACAGCGATGCATTACGCCGTATTGCCGGACACCACTCGCAAGAAATTGATGCAA
+TACTGGGATATGAATACGGCCCGGTTGCCGTTCACCGTGATGACATGATTACCCGTTAAGGAGCTGGCCG
+ATGCTGGAACAAATGGGCATTGCCGCGAAGCAAGCCTCGTATAAATTAGCGCAACTCTCCAGCCGCGAAA
+AAAATCGTGTGCTGGAAAAAATCGCCGATGAACTGGAAGCACAAAGCGAAAGTATCCTCAACGCTAACGC
+GCAGGATGTTGCAGACGCGTGTGCCAATGGCCTTAGCGAAGCGATGCTTGACCGTCTGGCACTGACGCCC
+GCACGGCTGAAAGGCATTGCCGACGATGTGCGCCAGGTGTGCAATCTCGCCGATCCGGTGGGGCAGGTAA
+TCGATGGCGGCGTACTGGACAGCGGCCTGCGTCTTGAGCGTCGTCGCGTACCGCTGGGGGTGATTGGCGT
+GATTTATGAAGCGCGCCCGAACGTGACGGTTGATGTTGCTTCCCTGTGCCTGAAAACCGGTAACGCGGTG
+ATCCTGCGCGGCGGCAAAGAAACCTGTCGCACTAACGCTGCAACGGTAGCGGTGATTCAGGACGCCCTGA
+AATCCTGCGGCTTACCGGCGGGTGCCGTGCAGGCAATTGATAATCCTGACCGTGCGCTGGTCAGTGAAAT
+GCTGCGTATGGATAAATACATCGACATGCTGATCCCGCGCGGTGGGGCTGGTTTGCATAAACTGTGCCGC
+GAGCAGTCGACAATCCCGGTGATCACAGGCGGTATAGGCGTATGCCATATTTACGTTGATGAAAGTGCAG
+AGATCGCTGAAGCCCTGAAAGTAATTGTCAACGCGAAAACTCAGCGTCCGAGCACATGTAATACGGTAGA
+AACGTTGCTGGTGAATAAAAACATCGCTGATAGCTTCCTGCCCGCATTAAGCAAACAAATGGCGGAAAGC
+GGCGTGACGTTACACGCTGATGCAGCCGCGCTGGCGCAGTTGCAGGCAGGCCCCGCGAAGGTGGTGGCTG
+TTAAAGCCGAAGAGTATGACGATGAGTTTCTGTCATTAGATTTGAACGTCAAAATCGTTAGCGATCTGGA
+TGACGCCATTGCCCATATTCGTGAACACGGCACGCAACACTCCGATGCGATCCTGACCCGCGATATGCGC
+AACGCCCAGCGTTTTGTTAACGAAGTGGATTCCTCCGCTGTTTACGTTAACGCCTCTACGCGTTTTACCG
+ACGGCGGCCAGTTTGGACTGGGGGCGGAAGTGGCGGTAAGCACACAAAAACTCCACGCGCGCGGCCCAAT
+GGGGCTGGAAGCACTGACCACTTACAAGTGGATCGGCATTGGTGATTACACCATTCGTGCGTAAATAAAA
+CCGGGTGATGCAAAAGTAGCCATTTGATTCACAAGGCCATTGACGCATCGCCCGGTTAGTTTTAACCTTG
+TCCACCGTGATTCACGTTCGTGAACATGTCCTTTCAGGGCCGATATAGCTCAGTTGGTAGAGCAGCGCAT
+TCGTAATGCGAAGGTCGTAGGTTCGACTCCTATTATCGGCACCATTTAAATCAATAAGTTACCTCACATT
+TAAGTAAACTACGTTCTCCTCTTGTGCCGTATTTGTGCCATTGCGACTTATAATCGCATCGATTTTGCTC
+GCGTGCTCGGTGAGATGCCCGGCTGAAAGGTGGGCGTATCTTTGAACCATTTCGAGAGTTTCCCATCCTC
+CCATCTCTTTAAGTGCAAGAAGAGAGACACCGGACTGAACCAGCCAGCTTGCCCATGTATGCCTCAGGTC
+ATGGAAGCGGAAGTTGCTAATGCCTGCCCGCTTTAACGCTCCCTTCCATGCCTTGTTGCTGTCGGTTCTC
+ATCTTCCTTACCGCTGCTGTTTTTGTTCCGTCGCTTCGGTAGGCAGGTTTGGTGTGGACAAACACCCATC
+TCTTATGGAGACCCTGCTGTTTTCTTAATATCTGGCATGCGGTTTCGTTAAGAGGAACTCCGATCGCATT
+GCCAGCTTTTGTTTCATCAGGGTGCATCCATGCCATTTTCTTATCCAGATCGACCTGTGACCACTCAAGG
+TCTGTAACGTTGGAACGGCGAAGGCCTGTCGTGATTGCAAACATGACCACAGGGAAGAAATGAGGAGCAA
+TTTCTGCAAACAGGCGCTTCGATTCCTCCTCTGTAAGCCATCTGATTCGTCCATTCTTAACGCGTGGTGT
+TGATATTTTGGGCGTCCTGTCAAGCCATCCCCATTCAACAGCCATATTGAGAATAGCGCGAAGTATTGCC
+AGATGCCGCGTCTTCGTTCCTTTGCTTGCCAGCTTTGGTTTATACTCCGGCACTGGCTTGCCAAGCCGCA
+AACACCTGTCCCGGCTCATCTCCCAGTTCAGGCGATGGCGGCGGTTTTCCATCCCGTCTACCGCCTCCAT
+TATTTTTTCTGTTGTTATGTCAGAGAGAATGGTTTCTCTGAAGTGCAACATCCAGAACGATATAATGCTC
+TTGTCATCATCAATGGACTTCTTATCCGATTTCTCACGCAGCCACCGTATGCAGGCTTCCTTGAATAGCT
+TTTTCGGTGATTCCCCGAGATTTTTTACTCTCCACGCTTCTGCTTTCAGACGATCGTGAAGTTCTTGCGC
+TTGCCTTTTGTCCGATGTTTCAAGAGAGCGTCTAACTCTTGATCCATCTGGCGCGACGAAATCACAGTGC
+CACGTGCCACCGCGTAGTTTGATTGACATGCTTTAACCTCCTGCACATCAACCGCATTCACCGCGCTATT
+GTGTCTTACAGACTTAAGCGCCGCAATGCAGTCTGACTTGCAAATGCGATATGGGCTTTTAGGTTTATCT
+GGATTTATCTTTGCGGCCTGAAGTCGTCCACTTCGTATCCACTGCGTGATAGTGCCTTTGTCTACCTTAA
+GATACGACGCTGCCTCTTCACGAGTGAAGATTTCTTCTTCCACTTGGAATCTCCATTTATTGAGTTGGTA
+TTATTGCGGTAGGTCTGGATATCTTGAGAAATGAACAGGCCTCATCGAGTGTGAGGCTGTGGTTAGTCCT
+TGCGTAACTCGCTAATTCTTCTGTAAGTCTCTGGCGCTTTGTTTCCGTGTATCTTCATTTCAGACTTCAA
+CAGAGCAACGAGAGAATCCCATTCGTTGAGGATGCCTTTGAATGCCGGAACGCGCTTTGCAACCTTGTCG
+AATGAATCTCTGATTTCTGGAATCTGCTCAACAAGTGCAACGCATCGTCGGAAATCGGCTGCGTCATGGG
+GAGCGCCGAAGCTATGACCATAGATATTCTTTTTCAGTCCACATGCGATTGAGGCAAGAGTTGCGCTACT
+GATGCCGACATCGCCAGTCGATTGCCATTTCAAAACCTTCATAGCCAAATCTGACATTTCTTGTCTCCAT
+AAAACAAAACTCGCCGTAGCGAGTTCAGATAAAAGACATCCCCGCGAGTTCGAGGATTGTTATTCATTGC
+CGATATTCACCTTTATCGCGAACACCTTTACCGGTTTATCGCCGAAGTGCGGATGTGTGATTGTCTTGAT
+TTCATATCCGTCATACGGAACATCAATTCTACGGCTGGAATCGTCGCGCTTCGGATATTGTCACGAACGG
+TGCAATAGTGATCCACACCCAACGCCTGAAATCAGATCCAGGGGGTAATCTGCTCTCCTGATTCAGGAGA
+GTTTATGGTCACTTTTGAGACAGTTATGGAAATTAAAATCCTGCACAAGCAGGGAATGAGTAGCCGGGCG
+ATTGCCAGAGAACTGGGGATCTCCCGCAATACGGTTAAACGTTATTTGCAGGCAAAATCTGAGCCGCCAA
+AATATACGCCGCGACCTGCTGTTGCTTCACTCCTGGATGAATACCGGGATTATATTCGTCAACGCATCGC
+CGATGCTCATCCTTACAAAATCCCGGCAACGGTAATCGCTCGCGAGATCAGAGACCAGGGATATCGTGGC
+GGAATGACCATTCTCAGGGCATTCATTCGTTCTCTCTCGGTTCCTCAGGAGCAGGAGCCTGCCGTTCGGT
+TCGAAACTGAACCCGGACGACAGATGCAGGTTGACTGGGGCACTATGCGTAATGGTCGCTCACCGCTTCA
+CGTGTTCGTTGCTGTTCTCGGATACAGCCGAATGCTGTACATCGAATTCACTGACAATATGCGTTATGAC
+ACGCTGGAGACCTGCCATCGTAATGCGTTCCGCTTCTTTGGTGGTGTGCCGCGCGAAGTGTTGTATGACA
+ATATGAAAACTGTGGTTCTGCAACGTGACGCATATCAGACCGGTCAGCACCGGTTCCATCCTTCGCTGTG
+GCAGTTCGGCAAGGAGATGGGCTTCTCTCCCCGACTGTGTCGCCCCTTCAGGGCACAGACTAAAGGTAAG
+GTGGAACGGATGGTGCAGTACACCCGTAACAGTTTTTACATCCCACTAATGACTCGCCTGCGCCCGATGG
+GGATCACTGTCGATGTTGAAACAGCCAACCGCCACGGTCTGCGCTGGCTGCACGATGTCGCTAACCAACG
+AAAGCATGAAACAATCCAGGCCCGTCCCTGCGATCGCTGGCTCGAAGAGCAGCAGTCCATGCTGGCACTG
+CCTCCGGAGAAAAAAGAGTATGACGTGCATCCTAGTGAAAATCTGGTGAACTTCGACAAACACCCCCTGC
+ATCATCCACTCTCCATCTACGACTCATTCTGCAGAGGAGTGGCGTGATGATGGAACTGCAACATCAACGA
+CTGATGGCGCTCGCCGGGCAGTTGCAACTGGAAAGCCTTATAAGCGCAGCGCCTGCGCTGTCACAACAGG
+CAGTAGACCAGGAATGGAGTTATATGGACTTCCTGGAGCATCTGCTTCATGAAGAAAAACTGGCACGTCA
+TCAACGTAAACAGGCGATGTATACCCGAATGGCAGCCTTCCCGGCGGTGAAAACGTTCGAAGAGTATGAC
+TTCACATTCGCCACCGGAGCACCGCAGAAGCAACTCCAGTCGTTACGCTCACTCAGCTTCATAGAACGTA
+ATGAAAATATCGTATTACTGGGGCCATCAGGTGTGGGGAAAACCCATCTGGCAATAGCGATGGGCTATGA
+AGCAGTCCGTGCAGGTATCAAAGTTCGCTTCACAACAGCAGCAGATCTGTTACTTCAGTTATCTACGGCA
+CAACGTCAGGGCCGTTATAAAACGACGCTTCAGCGTGGAGTAATGGCCCCCCGCCTGCTCATCATTGATG
+AAATAGGCTATCTGCCGTTCAGTCAGGAAGAAGCAAAGCTGTTCTTCCAGGTCATCGCTAAACGTTACGA
+AAAGAGCGCAATGATCCTGACATCCAATCTGCCGTTCGGGCAGTGGGATCAAACGTTCGCCGGTGATGCA
+GCACTGACCTCAGCGATGCTGGACCGTATCTTACACCACTCACATGTCGTTCAAATCAAAGGAGAAAGCT
+ATCGACTCAGACAGAAACGAAAGGCCGGGGTTATAGCAGAAGCTAATCCTGAGTAAAACGGTGGATCAAT
+ATTGGGCCGTTGGTGGAGATATAAGTGGATCACTTTTCATCCGTCGTTGACAGTTGCAATCTGTTGTGTG
+GTGAGCTGGGTCAGAATGTGTTCAAACCAGGTTCGGGAGGACAACCCCTTACTCTGGATATACCCGAGTA
+GACGTTCTGCAAGCCTATGTTGTTGTTCAGGATATCCGGCGATGTCGAATATCTCATTGAGCATTTCAGG
+TGAAAGTACATTCTGTGGGGCGGAAAAAGCGAAATAATAGAGCCAGTATGCTTGGCTGCCCAGACGTTTG
+CCAGCAGTCAGCAGGGCACTATCCTGTTCGGGAGTCGGTACAAAGAGTTTGATGGGCGAGTCAGTTTTCC
+AGCCGGTGATACCCGGGACCCAGCGAGCAAGGGCATGCACCGCATGGGCTTCGGCAGGGAAATAACGGGC
+AAGGTGCGACTTTAGGCTCTCCGCCATCTCTGCCTGCTCTAACTCACTTACATGCCCGTCACCGGCGGCT
+ACGACCGCTCGTTCTGACAGATATTCTTCTACCCAGTCATAAAGACCCGCATTTGTTGTGCGCAGCAGTT
+GAAGGAAGCACAGATCCGGGAAATACACGTAATCCCGCATGCCCGGGTATAGGAAGGTCAGGGCATTCAG
+TACCATCTGAACCTCCCTGGGGGTTTTTAATGCTGCCCCGTAGACGTCAGCCACTTGTGTCAATTGCTCT
+AGTACAATACGGTCTGGAGCATGCCCGTTTACTTTTCTGTATAACGCGGCAGCGGCATCCCTAAATTTTC
+TGCGCAAGACAAAGGTTTCTGGGCGCGGTAAACAGAATGATATCTGAACAATTTTCTGCAGGTATAGGTT
+GCCGTCGGGTACCCCCAGCCCTAGGCTGATGGCCTGGGATAGGATGGCTTTGTCATAACAGAGAAGGTAG
+CGAAAGCGAGGAAAGTCACCTACAGATTTAACTAGCCTTATCACCTCAACTGCCTGTGCTGGCTCGAGAC
+GATCCAGATCATCAAGCAGTACAATAAAGCTAAGATCCAGTTCATCTATTTTCTTCGCAATTTCGGTCCG
+CATCTCTGCTGTGGTTTTCTCCTTTTCCTTCAGCCAACGAGTTTCTGACAGGGCTTTCAACGCGCCACTG
+GCATCAGGTACGCCGGGAATAACGGCGGCGGCTGAGGCGACGGTTGCGAGATTGCGGGCAGTTGCCCGGG
+TGTAGTCTATCATCGTCTTGGCCGTCCGTGTCAGGGATTTTCGTCGTCTGAGAGCTGCCCTTTCCTCAGG
+CGCTAGTCGCTGTTCCTCTTCAGCAGCAATGATGTTGGCGACAGGAAGCAGTAACGATGCCACCAGACTT
+GTGTTGCTCCCGTCGAGCCAGGGGGATATTGTCAATACAAAAGTACATTCTTCTATTTGTTCGACGAGAG
+CATTGCGCAGCAGGTTAAGGAGACTCGTTTTCCCTGATCCCCATGGGCCTTCGATACCGATCACTGCGCT
+ACCCTCGCGGCCAATACCCTTAACGGCAACAGCTAACTGGGTAGCTATGTGGATGAAACCATACTGGTCT
+TCATCGGCGGAACAGATTGCGCGATCTGGATGTTGGCCCTGAAGGTTGTCTGCGTGTGGTTGATTCATAT
+TCACAAATCTCCGTAAATGCAGCCGATGCTGCGCAGTGTCTGTGACGTGGTACTGTTTCCACGCAAGGCC
+AGCAAAAGACTGACCTGCGGTTAGTTTTCGTTTAGGTAAGTGCTTTTGCGGATGGCTCAGTAACGTATCA
+CAATAAATAATGCCATAGTGTATGAGGGGAAAGTACATACATCTTGTTCCCTCTTCGAAAGTGACAGCCC
+GGGATAAAGAGGTTACAACGATAAGGGTCTCCCGCCGAAATGATGAATGCTTATGGCTGGGGAAAGCTAA
+GAGTATGCTGGACGCTTAGAAAACTGCTAAAACTGTGAACCTTGATAAGTTTGTCCCCGCGCCAGATTAC
+TTCCTTTCGAGGTTGCAGTATTATCGGTGAAATTGTGGTACCCGAGAGTAGCTCATTCGTTCAAGCGCAT
+CGCCAATATTTTTTAGCAGGTGCCATCGATCGATCACCTGTCTGGCCTGAGGTGCACCTTCACGTGCTGC
+TGTCGCATAGACTCCACTGCGATCACGCGAGACAACCTGTATTTCCGGATATTTTCTGAACCAGGTCGCC
+AGCGTACGCTGATCACGGCCGGGAAGCAGGACGAGGGGACGGTGAGTATCAAGATTGACGATTAACGTAC
+TGTAATGGTGGCCCCGATGCCACGCCCACTCATCAATACCGACATGAGGCGCGCCTGACTGTTTCGTCTC
+CGGGGTATTGATAACCCTGCGAAGAAGAGTATCAGCACTGCAACGGAGACCCACTGCCGTTGCAGCCCGT
+TTCCCGGCCTCACCTCCGGCTATTAATCCCAGTTGACGTTGTAAATTTTGTAACGCCTGTGAAGACTGCT
+GGTGTGAACCGGCGAAGGGAGCAAGCGACTCGGCAAAAAATTTACGTGAACAAGCCGGGTTACGGCAGTA
+CCAGTGGCGGACGGAAAATACAAGCCATAGCGTATGCCCTTAGCAGGGTAGATGCTGTATCCGGCGCCGA
+CGACAACTATGAACAGAGTCGCTACGCTTAAAGCATTCAGGACATTGTGCAGTTTTTCGTTTTCCGTGGA
+GATGGAGGGTTATACCGTCAGAGCTAATAATTTGTCGACTGCATCGCCATCCGCAAGGTAACTGTAGAAG
+TGTCTTAAGAGAGTGCATTGAGTTGCCCAAAACTTAAAACAGCTTAGATCTTTGTTCACCAGAAAGTTTC
+ATCCATTTTCTTCCAGTCAGGTTGCGGAAGAACCACTTTTGCACCGTTCGTGATATTAAGCTTTAAAACG
+GCAAGGTCAATACCCAGTTGTTCCGCCACTATTGTGATAACAGCCTTCGGGGGGAGCTTTTCTGTACGCA
+GTGTGCGACCGAGAGCACGGACAAGTGCAAGCTGAATGGCAAAACCAAGACGGTTATGAGACCGCCGCTG
+AGCTCTGGCAAATGCAATATTTTCGCAGGAGAGTGCTCATCGGGGAATTAAAGTTCAGGTAATCCAAAAA
+GCGTATCGTGCGAGTTTGTCACGCAAGAAATCACAGATTTATAGATTCAATTTTCTTCAACTGTAGGACC
+TTACGGAAAACAAGTGATTTCAAGGTGAAAAGGCTTAACGTGAGTTATCGCAGAAATGGTTACGGAACAT
+CCTGTATTGTCAAACATGCATTAAATGATTATCATTATCAATTAGTGTGTGCAACAGATGGTTAAGAATA
+GAACTTTCAGGAGATACAATGCAGTCAGTCAGTAAATCAATCTACCGAGGGAAGTTGCTTGGCAGTTTAC
+CTGCTGTGGGCGAGATTCATAAAGAAATCGCAGTATCAGAAGAAACCGTAACATGGATCTCTCTGCAACG
+AGAGATTATAGCGAATATTTTGCTGGGAAAAGATCCTCGCTTGCTTGTGATTGTTGGTCCATGCTCAATC
+CATGACGTTCAGGCTGCCGTTGAATATGCGAAACGATTGTCCGTATTACAGAATAAGTACTTATCGCAAA
+TGTACATTGTAATGCGCACTTATTTTGAGAAACCTCGAACTCGTAAAGGCTGGAAAGGAATAATGCACGA
+GCCTGATCTAAATGGAAGCTATAATGTTGAGAAAGGGATACGATATGCTCGCCAGTGTTTGTCCTCAATC
+ACAACAATGCGTGTCGCAACCGCTACAGAATTCCTCGATCCTTTCCTTACTCCCTATATTGCTGATTTAA
+TATGTTGGGGGGCTGTTGGTGCCAGAACTACTGAATCACAAACGCATCGTCAACTTGCATCTGGTTTACA
+TTGTCCTGTTGGATTTAAAAACAGCACTGATGGAAATATTAACTTAGCTATTGATGCTATTCTTGCAGCC
+CGTGAACAACATGTTGTATATATGACATCTTTAACAAAATGTATATCTACCCTATTAACCGATGGCAATC
+CACATGGACATCTCATATTACGTGGTGGTAGAGAGCCGAACTATGGTTTGTCGGATATAACGAAGGCAGT
+GAAATTAATGCATGATGAAGGTATCAATCATCGTCTGATAATTGACTGTAGCCATGGTAATAGTGGTAAA
+GTGGCTGAACGGCAAATCTCTGTTGCTCGTGAAGTCATTGATAATCGGAAAAAGATGCCGGGATATGTAG
+CTGGAATTATGCTGGAAAGCTTTTTACAAGGTGGAAAACAATCAGACAGCCTTCCGCGAGAGTATGGTCA
+GTCTGTTACTGATGAGTGTCTTTCATGGCAACAGACAGAACAATTATTATCAACTCTGGCAGCACAACTT
+TAATTTCAACTATTCAGTATCATTTTTTAAGGGAAAAATGAAATTATTTATCTTAATACACCCAATCTGG
+GCATCAAAGAAACAGATGTTTTATCTGTACAGTTCATTGTTGGAAGGGAAATAAAATATGACATGAATGG
+CAGAAGTGTTATCACTCTGACATTAATATTTTTATTAGGAGTTGCAGTATTTCTAATATACCATCTCCAA
+TGGATGTATCTTCCAGGGTATTATCTGTGGGGCCTATGTGTATGTATATTGTCAAACCAGTTAGCTCTTA
+TGCTTCATTCCCTAGCCCTTCTTGGCAAATGATACTGTACTTGCGTAGGTGTCATCTGTGACATGGTTGC
+GGTGCTATTTTGTCTCTGTTGGCTTAAAAAGAGTAATTAAGACTATGATAAAAAGTTAATTTCCAAAGAA
+CACGGTAGGGCGCTAATCAATAATCGGATGCATGCTAAATCATATTTTATAATATGTCTGTGGAGATGAT
+GCTAAAGTCATCAATAGTTCTTGAGGAATTCATTATGACTATCATTGGTATCGTTCTTGCCAGAAACGTC
+TTCGCTGTTCACAATGTTGCGTTAAATGAGAAAATGTTCTGGTAAACCCCCGGAGAGCACATGCAGTGCT
+GCCAGCCCTGATTGTACTTTTACCTCCCTGAGTTATGGGTACCTTGCTAAGGGAGTATTCACCAGTGAAC
+AACATAATACAAAGTAGCGTAAACCTTTTGTTCAAGGTCAGTCAGGGTATCTCATCGGAATGGTGTGCAA
+TTTAACATCGCTGCCCAGCATGAGTTGATAGGCGTGACCGTGATCCGTACCGTGGGATGTGAGTTTCATA
+CAGGTAATATGATCCTACCCACGTAATGTGGACACGGCCCTAAGCGAGATTATGGTTTTCAAATTGTTCC
+GGGCTGAGACCGCCACAGGCACTGTGACGACGCCAGCGATTGTAATCACACTCGATATAATTAAACACCG
+TTGCCCGCATTATTTCCCGGCTGCTAAAGCGTTCCCCGTGGATACATTCCACCTTCAGCGAATGAAAGAA
+GCTTTCCACACAGGCATTGTCATAACAGTAACCTTTCGCACTCATACTGCCACGCAGGTTGTGTCGCTTC
+AGCAGCGCCTGATAATCCCCTGAACAGTATTGACCACCACGGTCCGTATGAACAATGACGCTTTCCGGGC
+GTCTTCTCCGCCACAACGCCATTTGCAGTGCATCACAGGCCAGTTGTGCTGTCATTCGCGGTGACATCGA
+CCAGCCAATGACGGCGCGTGACCACAGGTCGATGACTACTGCGAGATACAACCAGCCCTCATCGGTACGC
+AAGTACGTGATGTCACCCGCCCACTTCTGGTTCGGGCCGCTGGCGCTGAAGTCCTGCTCCAGCAGATTCT
+CCAATACGGGCAGGCCATGTGCACGGTAGCTGACCGGGCTGAACTTCCGGCTGGCTTTCGCCCGCAGCCC
+CTGACGACGCAGGCTGGCAGCAATGGTTTTAATATTGAACTCCGGCATTTCGTCAGCAAGGCGGGGAGCA
+CCGTATCGCTGCTTTGCCTCAAAGAATGCCTTATGGACAGCGGCATCGCAGGTGAGCCGAAACTGTTGGC
+GCAGGCTCATCTGGTGACGACGCCTGAGCCAGACATACCAGCCGCTGCGGGCAACCCGAAGTACACGACA
+CATCGCTTTGATGCTGAACTCTGCCCGATGATTTTCGATGAAGACATACTTCATTTCAGGCGCTTCGCGA
+AGTATGTCGCGGCCTTTTGGAGGATGGCCAGTTCCTCAGCCTGCTCCGCCAGTTGTCGTTTAAGGCGGAC
+ATTTTCAGCGGCCAGTTCGCTTTCGCGCTCTGACGAACTCATTTGTTGCTGCTGTTTACTGCACCAGGCA
+TAAAGCTGAGATTCATACAGGCTGAGTTCACGGGCTGCGGCGGCCACACCGATGCGTTCAGCGAGTTTCA
+GGGCTTCGTTACGAAATTCAGGCGTATGTTGTTTACGGGGCTTCTTGCTGATTGATACTGGTTTTGTCAT
+GAGTCACCTCTGGTTGAGAGTTTACTCACTTAGTCCTGTGTCCACTATTGGTGGGTAAGATCAGATATCT
+TACCTGGATAGTTCTCGGTTTTACCATGGTTTACGTTCTTATTCGTCTGGTGACATACGGCTATTACCGG
+CAAATATCGGAAGAAACTCTTGTCAGGGGGGCCCGGGCCAGCTCCTATTTTATGGAAAGCCTGTATGGTA
+TTGCCACGGTAAAAATCCAGGGTATGGTCGGGATCCGGGGAACACACTGGCTTAACCTGAAAATAGATGC
+GATCAATTCAGGTATTAAGTTAACCAGGATGGATTTGCTCTTCGGGGGAATAAATACTTTTGTTGCCGCC
+TGTGATCAGATGGCGATTTTATGGCTGGGTGCAAGCCTTGTGATCGATAATCAGATGACAATAGGGATGT
+TTGTGGCATTTGGTTCTTTTCGTGGGCAGTTTTCGGATCGGGTTGCTTCGCTGACCAGTTTTCTTCTTCA
+ACTGAGAATAATGAGTCTGCATAATGAGCGCATTGCAGATATTGCACTACATGAAAAGGAAGAAAAGAAA
+CCGGAAATTGAAATCGTTGCTGACATGAGCCCGGTTTCACTGGAAACCACTGATTTAAGCTACCGGTATG
+ACAGCCAGTCAGCACAGGTATTCAGTGGTCTGAATTTGTCTGTGGCTCCGGGAGAAAGTGTGGCTATAAC
+TGGTGCCTCCGGTGCCGGAAAAACCACATTAATGAAAGTATTATGTGGACTGTTTGAACCAGATAGTGGA
+AAAGTACTGGTTAATGGCACGGATATACGTCAACTTGGAATAAATAATTATCACCGTATGATAGCCTGTG
+TTATGCAGGACGACCGGCTATTTTCAGGATCAATTCGTGAAAATATCTGTGGGTTTGCAGAAGAAACAGA
+CGACGAATGGATGACAGAATGTGCCAGAGCAAGTCATATTCATGATGTGATAATGAAAATGCCAATGGGG
+TATGAAACGTTAATAGGTGAACTGGGGGAAGGTCTTTCCGGCGGTCAAAAACAGCGTATATTCATTGCCC
+GAGCTTTATACCGGAAACCTGGAATATTATTTATGGATGAGGCTACAAGTTCTCTTGATACAGAAAGTGA
+ACGTTTCGTGAATGCTGCCATAAAAAAATGAATATCACCCGGGTGATTATTGCACACAGAGAAACTACGT
+TGAGAACTGTTGACAGGATTATTTCTATTTAAAATCCACTGGTGTAACTTTGTAAGGAGTTTTGTCTATG
+GGGGAGGTTAAGAAGGATATAAAAATAACAGTGATTGCTTTTGTTATCAATTATCTGTTCTTTTATATTC
+CGGTGTCATTATATCTTATTTATTACTATGGATATAATTTTTTTAATCTATATATGTTTTTTTTATCACT
+TGTAGTTACATTTTTATCGTTGTGGTTAAACGTGAATTTTTACTTCTTCACAAATCTTATAGCGAAGGTG
+TTGAAATGAGAAAACTATCTGAAAATGAAATAAAACAAATATCTGGAGGTGACGGGAATGACGGGCAGGC
+AGAATTAATTGCTATTGGTTCACTTGCTGGTACGTTTATTAGTCCGGGATTTGGTTCTATTGTAGGGGCT
+TATATAGGTGATAAAGTCCATTCATGGGCAACGACTGCAACGGTAAGTCCCTCCATGTCTCCCTCAGGTA
+TAGGATTATCATCCCAGTTTGGATCTGGCAGAGGTACATCAAGTGCCTCTTCGTCTGCGGGGAGTGGAAG
+TTAAACCTTATATTGTTAATGAAGCACCTGTAACAGGTGCTTCATTATATGATAATGGTGCCTATGTAAC
+GCGGTTTAAGTTAGGCTCTTCCGAACGTTTATCATTTTATGCATACCGCATAGTAACAATGCCAGTCCGT
+TTAATTTTTATCATATGAGATTGTAACAGAAAATGCTCTGTTAATGAGTATAACTGATATAAGCCAGATA
+TTGTATTCCTGCTATGACTGCATTCATCGACATGTGAAGTAATATGGGCATTAACAGGCCATTCGACTTT
+ATTTTTGCACTAATAAGAACTAACGATACCAGAAAGAGCATCAAAAATGTACGAAAGTCAGTATATTGTA
+GATGTAATGCAGAAAATATGACTGATGTTACAATAGCAGAGATGCAAATATTGTCATTAAACCAGGATTT
+AAAAGAGTTAAAAAGACACCCTCGAAATACAATCTCTTCATATACAGGAACAAGAAGTACAGAAGAAAAT
+ATATTAATCCATAAAATGGCCCCGGAAAAAGACATTTGCGAGATCATCCATTCTTCCGTTTTCCTCACTG
+CCAGCAGATAAGGGACAAATAACTGAATAATCATTATTAAAGAGAAAAGAGTAAAAAAAACATCCAGTCG
+AAAAGAACCTCTTCCTAATCCTTCTCTTTTTCGGAAGAAAATAAAATACAGTGGAACAAGAATTAGAAAT
+TCAGCAAGAAATAATGCTGGAACAAGAAGCCCCCTAGATATAAGTTCCTGCCTGTTTGTAAGGAATGCAG
+GAATAAAGGTAATAGAAAATGATAAAGTAAACATTGAAAAGCAGCCGGGTGATGACTGTTTTTTTATAGT
+TGCATTTTTATTTTTTGTTATTTCCATTTATATTTCCTTACTTGTAAAATTCTTCTATTTAACAGGAAGA
+GGTAACCATAGAATGAATGTTTATTTTCCTGTATCAGAACAGCCATGACTTTTATTTTATAGTTGTTATC
+AGTGAATGAATGCAAACTAATAGAACAATGAGAAAAATAATGGAGAAAAAGCGACGGACCGGACGCCATA
+GTTCATATTCTCGTGTATCAGCCTCACGTATCAACCTTTCTGAAATGGTTTCGGTTTCCTTACCTCGTTC
+CAGAATATGTCTGTAATATTTCCTCATGACATATACCGAAAACTGAAACCAGATTAATATGGATGGACAC
+ACAACACATAAACTTCTGATGATATCACCAGGGAAAGTATCTTGGGCGGGTAAAAGAAAGTCATATACTC
+TGAATAAAATCATCATCGAGATAAATGAGACGCCAGCACCTATCCAGTATTCGATATGGGAAGATGCAGC
+ATTATATGCGTCAGTAAAATTTTTCTTTCTTAATGAAGGTGGAAGTGCTGAAAGTTCAGGAATGCTTTTT
+CTTGTCCAGTATATTTTCATATAGCAACTCATATAAAAAGTGTTCTACTTTACTATGATGATGACGATTT
+ATAAAAGGCTTATAATGACTACTTCTCCTTTCATTCTCGAATTTCACGATAATGATAGAGATAATCATTA
+TCAATTGGCTGTGTCAGTAATTTTGACTTACATCACACTTTCATGGTTTAATCAGGTGATTTATTTAATG
+AAAAGAGTGTGTTTGTGGATGTATTGTGTATATGTCTTACTGGGCATCTGTTCTTACATTAATTAATATA
+TTGCTATATAAGTATTGGTGGTATTGTCAGTAATATTCTTTTGGTTAATTTAGTTATTATTCCTCACTGA
+TTAATTGTCCTTCCGTTCTTATTGTTTGTAACTTGTGTTTGTATCGTACCTTTCAGGTGTTGATGCGCGC
+TTTACTGTGTCTGCACCGGCTTGACAAAATTCAACAGGGTTTGAAAAGGAACATTTCGTGCAAATAACCT
+AAGCCTTAATTTCAGAGCCGGGAGACATCCGGCGTTTTGTTCAGCAGGCGGTGGACCACTGGCCAAATCT
+GTTGGCATTTCACTTCACGCTCTATTCGGCAGAAGGAAACATCAACGGGCAACAGATTCATGCATTCTGT
+ACTGCCTTTTACCGACAGGTGCAAGAACATATTACTGAGCGTAATCACACTGCCAGTCCAGCACCGCCGG
+TGGTATTACGCTGGTTGCGGGAACAACATGGAGGAGCAACAATACGATGCCTGTTGCTGCTCAGCCAGGC
+GAGCATTTGCCATCTGCGGGTCAGTGCCACAGTTGATGAAGAATGTTCGCAAGTGGTGGATTTACTGCAG
+CAGGCCTGGCGGGGGATAAACGCTGGCGGACAATGTCGGGTGGAAAGGTGTTTTCGGGTTACCTGGCCTG
+ATACATCAGAGCAATACGTTGCGTTAAAAACAGCTGTTCAGTCTCTGATACCACTGGTTATTGCAACAAT
+TATCCGGTGATGATCGGGAGAAATATCAACTCTTCCGTTAATTTTTACAGACTGATAAAGTTTTGTCTGC
+TGAATCTTTATACGGAATTCTTTTCAGTATGTGTACACGAATTGACTCTATGGCGGATAAATACTGTTTT
+ACCTTGGCGGAATTAATCCTCACGTCTTCGCCAGCAGTGGCAGGATGTCCTGGAGGAGTGTCGGCAGACT
+GAGGCGGGGCAGAAGAACGGCTGCATATTGCACTGCTGAATGTGGATTACGTCACCAGTTTTGAACTGCC
+TTTTCGTCTGCTTTTAACCCGGACGCCACAGCTGATTGTTACACTTCGGGAAGCATGGGATATCAGCCAG
+AAAAATGTGGTGTTCAACGATAAACGGTTTGGCTGCGTGTACAGCCTGAAAGCCAGTCTTTCTGGTGTGC
+CGGATATATTCCGGTATCATCTGTCTCATCGTATTCGCCGGATGGTTGGGAGTGAAAATACATCATCGCC
+ATGGCAGCAAATTGCCCGGGAAGTGAAAGCGCCCCGTGAACGACTGAAGTATGCGCTGGAAACGGGATTG
+CAGGTGATCGCACTGAACGGCCTGTTTTGGTCAGACAGTCAGCGTCTGGTGGTGGATATTCTGAGGCTAA
+GCGCCAACAGACGTGATACAGGAAATCGTCCGCATCCCCATTTACCGTCTTATATCACTGGCGCTGACAC
+TGAAAGCATGGTCGTCAGAGACTCTGTCTGGCAACCAAGGGAGCAGAGGCCGGAGGTAATTGACAGGAGC
+CTTGCGCCGGGTTACGTATGTTCTCCCCGGACAGACAGGCTCAGTTTGTAGAATCTACAAATTACTACTA
+CTGATGCTGCCGGGGAAAGGCGTAACGAAAAAACAGCCTCCGTTACCGGATAGCAAGGAGGCTGAATGGA
+GTTTATAGGATTTGCGTTTTTATAATGTCTGGCCATGCGGTAAAACCGGACAGGTTTTATTATCATGTGA
+GGTATTCTGACATAAAATGCTGGATTTTTATTTTGTGACGAATGCTGCAAAATTGAATCTGCACTCTGAT
+GTAACTTTTATCTGTTTCAGTGAAGTATGCCCACAGATTGAGTTATTAAGTTGTGGAAGAACAGCTCTGT
+CCCGCCTGCATCTCTCCTTTCAGAAACCAGTATGTTGCCATGCCTCGCCTTAATGGAGAGCGCTGAACCA
+TACCTTCTTTTTCCAGTAATAACAGGTAATAGCGTGCCTGATAATCCGTTACCGCCAGCGCCTCCGCAAT
+TTCTGCGGTTTTCCCTACATTATGTCTGCTCAGAAAACCCATTATTTCATTCTGCATATCATCATCCTCT
+CTATATAAGCAAAAGGATAATAAGTGGCTGACTTGTTTTTGACAATTCAAATGTGATTATCATGTTTTTA
+TATTGTATTTGGTGTATTTACTTAATATGCTAAACATATTCGCGATTGGATTTCTATCACATTATTTTTA
+TAGTTTTTTCAATGGTAAGGAACGTTGCAAAAAACGATTTTAACGATCTTTTATACTGAATATTCATGCT
+TATACAGTATTAATAACTAAAACGCCAATCCACTGCGAGATATAACCCTAAAAATAAACAGCTTTACAGA
+TCAAAAGATCGTCAAAATACATATTTACAACATAAAAAACTAAATATATCTTAAGGAGCCAGGCCCTCCT
+GTATGGGGGATGAATATTAAGGCAGCCCTGTAGGTGGCGGGGTGGGGAGTATCGAATGGCACAGCATGAA
+GTTATTACCCGGGGAGGGGATGCTTTTTTACTAAAATTACGTGAGAGCGCGCTGTCATCCGGCTCCATGT
+CTGAAGAACAATTTTTTTTACTGATAGGTATTTCTTCTATTCACAGTGACAGAGTTATTCTCGCTATGAA
+GGATTATCTGGTCAGTGGTCATTCCCGTAAAGATGTCTGCGAGAAATACCAGATGAATAATGGATATTTC
+AGTACAACGCTTGGGCGCCTTACCAGGTTGAATGTCCTCGTTGCCAGACTTGCTCCTTATTATACTGATA
+GTGTATCAGCTATAGCTGAAGCTGCTTCCCTGTAAAATACGGACAATAAAAAACGCCGGGGCAATACATA
+ATACGCGAGAAATATAAGCCTGTAGTCAAATGAGAGTACGGGTGTTATCAACGAGGTATGCTTTCAGCTT
+CTCTGCTTTTGCTAAAGCATTCGGTGTGGAGACAGGAACACTAACCCATAGCTTATCATCCAGGGAATCT
+TATCTATAGAGAAGATTCCTGTCGGTTATCCGGAAAATATTATCGGGAGATAATGTCATAAATGCTGCCT
+GAGTGTATTTCTCACATTGCATTTATGAAGTTCTCCTGAAAAAAGATTCCCGTCGTTCGGGATATTGATT
+GTGTCTGTTGTGATGACAGATACGGTGTGCGTAGTTCAATTAAAAACAGGAATTAAATATGAAGTTAAAA
+TTCATCTCCATGGCTGTATTTTCAGCCCTGACCTTGGGTGTTGCGACAAATGCGTCTGCTGTCACCACGG
+TTAATGGTGGTACAGTTCATTTTAAGGGGGAAGTTGTTGATGCTGCATGTGCTGTAAACACTAATTCAGC
+AAATCAAACGGTTTTGCTGGGGCAAGTTCGTTCAGCTAAGTTGGCGAATGATGGAGAGAAGAGTTCCCCT
+GTTGGATTTAGTATTGAACTTAATGACTGTAGTTCTGCAACTGCCGGGCATGCATCAATTATCTTTGCAG
+GAAATGTTATTGCTACACACAATGATGTGCTGTCTCTACAGAATAGTGCTGCAGGTAGTGCAACAAATGT
+AGGTATTCAGATATTGGATCATACAGGTACTGCAGTTCAATTTGACGGAGTGACTGCATCTACACAATTT
+ACATTAACAGATGGCACCAATAAAATTCCTTTCCAGGCAGTTTATTATGCAACAGGTAAGTCAACGCCTG
+GTATTGCCAACGCCGACGCCACCTTTAAAGTTCAGTACCAGTAATATCAGAACAGTGTAACGGATATATA
+CCCGGCCAGGGAGGGCTGTTTTTATCCATGCGGGTGTGAGATTAATGAAAATATCGAAAATGGCAGTAAT
+GTTATTTTTGCTGCCTCCCGCTGCACTGGCCGGAAACCACTGGCATGTCATGCTTCCGGGAGGAAACATG
+CGCTTCCAGGGAAAAATAATTGCTGAAGCATGCAGTCTTGCCCTGTCAGACAGGCAGATGACTGTGGATA
+TGGGGCAACTCAGCAGCAATCGATTTCACGCCGCCGGTGAGTATGGGGACCCTGTGGGCTTTGATATTCA
+CCTTCAGGACTGCAGCACTGTCGTCAGTCAGCGGGTGGGGATTTCCTTTTATGGCGTATCAGATATTCAC
+GAACCGGAGTTGCTGTCGGTGGAAGAGGAGAATGATGCCTCAGACGGAATCGCTATCGCTTTATTTAATG
+AAAGCGGAGAGCTGGTAAAACTTAATCAGCCTCCGGAGAACTGGGTGCATCTTACCCGCGGAGATATGAA
+ACTGCATATGCAGGCGAGGTATAAGGCCACACATTATCCCGTCGCCGGGGGAAAGGCAAATGGACAGGTA
+TGGTTTTCTCTGACCTATCTGTAACTGGCAGATATAATGCCATTTAATTAAGGCTGTTAATAACATGATG
+AAGCACATGCGTATATGGGCCGTTCTGGCATCATTTTTAGTCTTTTTTTATATTCCGCAGAGCTATGCCG
+GGGTTGCTCTGGGTGCCACCCGTGTGATTTACCCTGAAGGGCAAAAACAGGTACAACTGGCGGTAACAAA
+TAATGATGATAAAAGTAGTTACCTTATTCAGTCATGGATTGAAAATGCTGAAGGAAAAAAGGATGCCAGG
+TTTGTAATTACTCCTCCGTTATTTTCCATGCAGGGAAAGAAAGAGAATACCCTGAGAATTATTGATGCCA
+CAAACGGACAGATGCCGGAAGACAGGGAAAGTTTGTTCTGGGTGAATGTCAAGGCCATCCCGGCCATGGA
+TAAGGCGAAAACCGGCGAGAATTATCTGCAGTTTGCAATTGTCAGCAGAATTAAACTGCTCTACCGTCCA
+CAGGGACTGGTTATTCCGCCAGAACAGGCACCAGGTAAATTAGAGTTCACCCGTGAAAACGGAGGGCTGA
+CTCTGTTTAATCCGACGCCGTATTATCTGACAGTGACTGACTTAAAGGCCGGAAATAAAAGTCTTGAAAA
+CACCATGGTACCCCCACAGGGAAAGGTCACTGTGAATATTCCTGGAGGATACACCGGAGGAGATATTACT
+TATAAAACAATTAACGATTATGGTGCTCTGACTGAACAGGTGAGGGGGGTGGTGAAGTAACTCAGTTATT
+TCTGGTACTGGTTGTGTTTGGCTGCTGATTTTATTTTTTCGCTCAGTGTGGGGGGCTGACATGTTTTCCG
+GAGATGGCGGACAACTCCTGTCTGATAAATCACTGACCGGCTCTGCTGGCGGGGGTAATAACAGAATGAG
+ATTTAATATACTGCCGCTGGCATTTTTTATCGGGATAATTGTTTCTCCGGCCCGGGCTGAGCTCTATTTT
+AATCCGCGTTTTCTGTCTGATGACCCGGATGCGGTTGCGGACCTGTCTGCATTTACACAGGGGCAGGAGC
+TTCCGCCCGGCGTGTACCGGGTGGATATTTATCTGAATGATACGTATATCTCAACCCGTGACGTGCAGTT
+TCAGATGAGTCAGGACGGGAAGCAACTTGCCCCCTGCCTGAGTCCGGAGCATATGAGTGCGATGGGGGTA
+AACCGTTATGCCGTGCCGGGTATGGAGAGACTGCCGGCTGACACCTGCACATCACTGAATTCCATGATTC
+AGGGTGCCACATTCCGGTTTGATGTCGGGCAGCAGCGATTGTACCTGACCGTTCCTCAGATATATATGAG
+TAATCAGGCCCGTGGTTATATTGCGCCGGAATACTGGGATAACGGAATTACAGCGGCATTGCTGAATTAT
+GACTTCAGTGGTAATCGGGTGCGCGACAGCTATGGTGGCACCAGCGATTATGCCTATCTGAATCTGAAAA
+CAGGACTGAATATCGGGAGCTGGCGTCTTCGGGACAACACCAGCTGGAGTTACAGTGCCGGAAAGGGGTA
+CAGCCAGAATAACTGGCAGCACATTAACACCTGGCTGGAGCGGGATATAGTTCCCCTGCGCTCCCGTCTG
+ACGATGGGGGACAGTTATACCCGGGGGGATATTTTTGACGGTGTAAATTTCAGGGGTATTCAACTGGCCT
+CTGATGACAATATGGTTCCGGACAGCCAGAGAGGGTATGCACCGACAATTCACGGTATTTCCCGGGGAAC
+ATCCCGGATTAGTATCCGCCAGAACGGGTATGAAATTTACCAGAGTACGCTACCTCCAGGCCCGTTCGAG
+ATAAACGATATTTATCCGGCCGGGAGTGGAGGTGACTTACAGGTAACCCTGCAGGAAGCTGATGGCAGTG
+TACAGCGATTTAATGTGCCATGGTCTTCGGTGCCTGTACTGCAACGTGAAGGGCATCTGAAATATGCTCT
+CAGTGCCGGAGAGTTTCGCAGTGGCGGACATCAGCAGGATAATCCCCGTTTTGCTGAAGGAACGCTGAAG
+TATGGTCTGCCTGCAGGCTGGACGGTGTATGGAGGAGCCTGGATAGCTGAACGCTACCGTGCCTTCAATC
+TGGGGGTGGGTAAAAACATGGGCTGGCTGGGTGCTGTTTCACTGGATGCCACCCGTGCGAATGCCCGGTT
+ACCGGATGAAAGCCGGTATGACGGTCAGTCATATCGTTTTCTGTATAACAAGTCACTGACGGAAACAGGG
+ACAAATATCCAGTTAATCGGATACCGCTACTCCACACGGGGCTATTTCAGCTTTGCTGATACCGCCTGGA
+AGAAAATGAGTGGTTACAGTGTTCTTACCCAGGACGGAGTGATACAGATACAGCCGAAGTATACGGATTA
+CTACAATCTGGCTTACAACAAGCGGGGAAGGGTGCAGGTGAGTATCAGCCAGCAGACGGGGGAATCGTCA
+ACGTTGTATCTGAGTGGCAGCCACCAGAGTTACTGGGGAACGGACAGGACGGACCGTCAGCTTAATGCTG
+GCTTTAACTCATCTGTGAATGACATCAGCTGGTCCCTGAACTACAGCCTGTCCCGGAATGCATGGCAACA
+TGAAACTGACCGGATACTGTCATTTGATGTCAGCATTCCGTTCAGCCACTGGATGCGTTCGGACAGCACA
+TCTGCATGGAGAAACGCCAGTGCCCGTTACAGTCAGACCCTGGAAGCTCACGGGCAGGCTGCCAGTACAG
+CAGGGCTGTATGGCACACTGCTGGAGGACAATAATCTGGGATACAGCATCCAGAGTGGTTATACCCGGGG
+AGGGTATGAGGGGAGCAGTAAAACAGGATATGCCTCTCTGAATTACAGAGGGGGATACGGTAATGCCAGT
+GCAGGATACAGTCACAGTGGGGGTTACCGGCAACTGTATTATGGGCTGAGTGGCGGTATTCTGGCACATG
+CCAATGGTCTGACACTGAGCCAGCCTCTGGGAGATACGCTGATTCTTGTCCGTGCACCAGGTGCATCTGA
+TACGCGCATTGAAAACCAGACGGGGGTGTCTACAGACTGGAGGGGGTATGCTGTACTGCCTTATGCAACA
+GACTATCGTGAAAACCGGGTGGCACTGGATACCAACACCCTTGCAGATAATGTTGATATAGAGAATACCG
+TGGTCAGCGTCGTGCCCACGCATGGTGCCGTTGTGCGGGCTGACTATAAAACCCGTGTGGGTGTGAAAGT
+GCTGATGACGCTGATGAGAAACGGGAAAGCAGTTCCTTTTGGCTCTGTCGTTACGGCCAGAAACGGGGGG
+AGCAGTATCGCCGGAGAGAATGGTCAGGTTTATCTGAGCGGAATGCCTCTGTCAGGACAGGTTAGTGTGA
+AATGGGGGAGTCAGACCACGGACCAGTGTACTGCAGATTATAAATTACCGAAGGAAAGCGCCGGACAGAT
+ATTAAGTCATGTCACGGTTAGTTGCAGGTAAAGAGGCAGGGAAATGGTGAAGGATATTATTAAAACAGTG
+ACATTCTCCTGCATGCTGGCCGGCAGTATGTTCGTTACCTGTCATGTCTGTGCAGCGGGTTCTGTGGTGA
+ATATTACAGGCAATGTTCAGGATAACACCTGCGATGTTGACATTAACTCCCGAAACTTTGATGTCAGTCT
+GGGAAGTTATGACAGCCGACAGTTTACCGCAGCTGGTGATACCACACCTGCGTCGGTATTTCATGTCGGG
+TTAACCTCCTGCGGCAGTGCTGTCCGTGCAGTGAAGCTGACATTTACGGGCACACCAGATAATCAGGAGG
+CGGGGCTTATTCAGATTAACAGCATAAATGGAGCACGGGGTGTGGGGATTCAGCTTCTTGATAAGGATAA
+ACATGAGCTGAAAATTAATGTGCCGACAACAATTGCGTTAATGCCGGGAACACAGACCATAGCGTTTTAT
+GCCCGTCTGAAAGCCACTTATCTTCCGGTAAAGGCCGGTAATGTTGATGCGGTGGTTAATTTTGTACTTG
+ACTATCAGTAAATATAACACAGAGGAAAACAGATGAAACTGAAAGCTATTATATTGGCCACCGGTCTTAT
+TAACTGTATTGCATTTTCAGCACAGGCAGTGGATACGACGATTACTGTGACGGGTAATGTTTTGCAAAGA
+ACATGTAATGTACCAGGGAATGTGGATGTTTCTTTGGGTAATCTGTATGTATCAGACTTTCCCAATGCAG
+GAAGTGGATCTCCATGGGTTAATTTTGATCTGTCTCTCACCGGATGCCAGAATATGAATACTGTTCGGGC
+AACATTTAGTGGTACTGCGGATGGGCAGACATACTATGCGAATACAGGGAATGCTGGCGGTATCAAGATT
+GAAATTCAGGACAGGGATGGAAGTAATGCATCATATCACAATGGTATGTTCAAGACGCTTAATGTACAAA
+ATAATAATGCAACCTTTAATCTTAAAGCCCGTGCAGTGAGTAAAGGCCAGGTTACTCCTGGAAATATCAG
+TTCTGTTATAACCGTCACCTATACCTATGCGTAAATATTATCCCCTCTTTAAGAAAAGCACTGTCCTCAA
+GGGCTGTGTTTTATTCACATTTATAATGGCATATTCCCAGCCATCGTTTGCATTGTTGTGCAGAAATAAC
+CAGACCGGGCAAGAATTTAACTCCGGGGATACATCCTTTCGGGTTAATGTCAGTCCTGTTGTGCAATATG
+ATAAATCCATATCTGTATTGGACCTTTCCCAACTGGTATCATGTCAGAATGAGGACTCGACAGGCCAAAA
+CTATGATTATCTGAAAATATTGAAAGGCAGTGGTTTTTCTCCTGCTCTGGATACCAAAACATACGGACGA
+CTCGATTTTACAAGTCGTCCAACGGGGTATGCCAGGCAATTACCACTTCAGTTTGATTTGCAGGTGACAG
+AGGCGTTTTATCAATATGGTGTCTGGAAACCATTCCCTGCTAAATTATATCTGTACCCTGAACCGGGTGT
+ATTTGGGAAGGTAATTAACAACGGAGATTTACTGGCAACGTTATATGTGAATAAGTTTTCCACAAAGGGG
+CAGGAGGCAGGGGAGAGAAATTTTACCTGGCGTTTCTATGCAACGAATGATGTCCATATCCAGACAGGTA
+CATGCAGGGTCTCATCGAACAATGTCAAAGTTGACCTTCCGTCCTATCCCGGAGGGCCGGTAACAGTCCC
+TCTTACTGTACGTTGCGACCAGACACAGTCGGTCAGCTATACCCTGTCAGGTCCTGTAACAGGAAGTGGT
+AATACTGTATTCGCAAATACGGCAGCATCAGGGGCCGGCGGTGTGGGTGTACAGTTGTCGGACAAAGCGG
+GGCCGGTTCCGGCCGGACAACCGAGGTCTCTGGGACAGGTAGGCAGCTCTCCTGTGAGTCTGGGGCTGAA
+GGCCTCTTATGCTCTGACCGGTCAGGCAAGTCTGACGCCCGGTGCTGTCCAGTCAGTGATAAATGTGACT
+TTTAGCTACAACTAGAATGCAGTTGTGGCGGTAATGATATTACTGCTCTTTATATCCAGTTTTTCATTTA
+ATGTATCACTGTTTGTGGAGAAAAATAGCTAATAATAGTATTGTTTCCGGTGTTGTGACGGAACGAGTTT
+GTCATATGGTCTTTGTTAAAGATAAACAGAACCAGTATGAGCCGTATATCTGGTTCTGAGCGTTGTCAGT
+AATCATAAAGATAATGGTAAATCTGAGGGTTTAAAAATCAAATCAGAAGAACTGCGCTTATCCAGCCAGA
+CCTTCTGGTCGGGAGGGGCTCATATTTCCGGAGGAGTAATGTCAGGGGCAGTTAACAGTATACTGGAGGT
+GAAATCAGGCAGAACAGAATATATCCTCTCACCGGTTTTTGAGCCTGTATGGAATCAGACCGGGAAAATA
+TTTGCTTTTGAAATGCTCTCGGATATCCGTTCAGCAAAAGACGGGAGGAAAATCTGCGCATCTGTTTTTT
+TCAGAAGTGTACCTCCGGATATTCAGTACAAAATACTCATCAGTCAGTTGAAGACTGCGGAAACGCTTCA
+TAAATGGTGTCTGCAGAAGAAAATAATGCTGAGTGTCAATATTTCCCGGGTGGTAGCCCTGTATCTGAGA
+AAACATGGCATCCCGGGGCGGCCGGGAACACATATCAGGCTTGAGGTCAGTGAGGACTTTCCGGCAGTGG
+CGTTAAAACCCGGTGATGACCCCCTGTTACGTTTTTTGTCAGAACGTTTCACCCTCTGGCTGGATGATTT
+CGGCTCAGGAAATGCAGGCTTAATGTGGGGACTGTCCGGGATGTTTGAACGGGTAAAAATAAGTCATGAG
+TTTTTTCATTATGCCCTGAAAAACAGGAGTGCAATGCCGCTTCTCCATGCTGTGGCAGACACTGTTGCCT
+GTCATAACCGGGGCGTGATACTTGAAGGTGTTGAAAATGAAGCGTTGTTCCGTATTGCCAGAGACATGAA
+TGTCCAGGGCTGTCAGGGATGGCTCTACAGGCGTGTGGGAGCTGATGAATTATCCGCGATTACTGAGCTG
+CATGGATAATCCTTTTTCACAGACTTGTCAGCAGCCAGCATTTATGTTCTTTTATCTGAGGAAATTTATC
+TGTCCGCTGTGCCGGGATATCTCAGTTATACAGAAATCAGGCAGGAATAAATTGTAGTGGAAAGTCGAAG
+TTTACCGGATGACTGATGCGCACTTGTACACAGGCAGTGTGTTTCAGTAATATGGAGAATAATGAAATGA
+ATAACACAGACACATTAGAAAAAATAATCAGACACCAAAAAAACAAAGACCCCGCATATCCCTTTCGGGA
+ACATTTGTTGATGCAACTCTGTATTCGCGCAAATAAAAGGATGCAGGATAATATATCTGAATTTCTGGGG
+GCGTATGGAATAAATCACTCAGTGTACATGGTTCTCACCACATTATTCACAGCGGAGAGTCATTGTCTGT
+CACCTTCAGAGATAAGCCAGAAACTGCAGTTTACCAGAACTAATATTACCCGCATTACAGATTTTTTAGA
+AAAAACCGGATATGTAAAAAGGACGGATAGCAGGGAGGATCGCCGTGCTAAAAAAATTAGTCTGACATCT
+GAAGGTATGTTTTTTATTCAGAGGCTCACTCTTGCACAAAGCATGTATCTGAAAGAAATCTGGGGTTATC
+TGACCCATGATGAACAGGAACTGTTTGAAGTCATTAATAAAAAATTACTGGAGCATCTTGATGATGTCAG
+CTCATAAAGTGTGAAATGCCTGACTTGTTGAAAGCAGTAGTGTTGCAGAAAGACCTAGTGATGCTGATCT
+TATATACATAAGCAGCGCCCGTGTCTGAAATGCAGGTCAGAAACAATGTGAACACTATCCGTTAGAAATT
+GTGACAAAATTCCCGATGATCGACAAGCGCACCGATTTTCCAGTGGCAACATCAGTACAAAAGATGAACG
+GTACTGACTTTGCCGGAATGAGTCAAAAAGAAAGCTGAACTGGCACTACTAGCAGTGCTTCAGAAATTTA
+TTTGACTGAAGTACAATGAAATAAAAAACATATGTTATATATCAATTTGATATTTATGAAAAATCAATAA
+ATTTATCTTGTGAGGGATTGCTTTTTCTTTTGCTAAATGATATTAATTATCATTCTTATATAAAAACAAT
+AATGGCAGTAAGAAATATCTGGCAAGGATGTGAGCTTAACGATCAAACATTTTAAGTTAGGCATTTATTA
+GGGAATAGGAATGAGAATTAACAAAATCCTCTGGTCGCTAACTGTGCTCCTGGTTGGGTTGAATAGCCAG
+GTATCAGTAGCCAAATACTCCGACGATGATAATGACGAGACTCTGGTGGTGGAAGCCACCGCTGAGCAGG
+TATTAAAACAGCAGCCGGGCGTGTCGGTTATTACCAGCGAGGATATTAAAAAGACCCCTCCGGTAAACGA
+CCTTTCAGATATTATTCGTAAAATGCCTGGTGTCAATCTTACCGGCAATAGCGCCTCGGGCACACGCGGT
+AATAACCGCCAGATCGATATTCGTGGTATGGGGCCGGAAAACACCTTAATTTTAATTGATGGTGTACCGG
+TGACGTCACGTAACTCCGTGCGTTATAGCTGGCGTGGGGAGCGTGATACCCGCGGTGACACCAACTGGGT
+GCCACCGGAACAGGTTGAGCGTATTGAAGTGATCCGCGGCCCTGCGGCGGCGCGCTACGGTTCGGGGGCC
+GCCGGGGGGGTGGTGAACATCATTACCAAACGTCCCACCAACGACTGGCACGGTTCGCTGTCGTTATACA
+CCAACCAGCCGGAAAGTAGCGAAGAGGGCGCTACGCGTCGCGCCAATTTCAGCCTTAGTGGGCCTCTGGC
+TGGTGATGCTCTTACCACGCGTTTGTATGGTAACCTGAATAAAACGGATGCTGACAGTTGGGATATTAAT
+TCTCCGGTCGGTACGAAAAACGCAGCCGGGCATGAAGGGGTACGTAACAAAGATATTAACGGCGTTATCT
+CGTGGAAATTAAATCCGCAGCAGATTCTCGATTTCGAAGCCGGATATAGCCGCCAGGGGAATATCTATGC
+GGGCGATACGCAGAACAGTTCTTCCAGTGCAGTTACCGAAAGCCTGGCAAAATCCGGCAAAGAGACGAAC
+CGCCTGTACCGACAGAATTATGGCATTACGCATAATGGTATCTGGGACTGGGGACAAAGTCGCTTTGGTA
+TTTATTACGAGAAAACCAATAATACCCGCATGAATGAAGGATTATCCGGCGGTGGTGAAGGACGTATTTT
+AGCGGGTGAAAAGTTTACGACCAATCGCCTGAGTTCCTGGCGAACCAGCGGTGAGCTTAATATTCCTTTG
+AATGTGATGGTTGATCAAACGCTGACCGTTGGTGCAGAGTGGAACCGCGATAAGCTCGATGATCCTTCCT
+CTACCAGCCTGACGGTGAATGACAGAGATATCAGCGGTATTTCTGGCTCTGCTGCGGATCGCAGCAGTAA
+AAATCATTCTCAAATCAGTGCGCTGTATATTGAAGATAACATTGAGCCGGTTCCTGGCACGAATATCATT
+CCCGGCCTGCGCTTTGATTATCTCAGCGACTCCGGCGGGAACTTCAGCCCCAGTCTGAATCTTTCGCAGG
+AATTGGGCGATTATTTCAAAGTCAAAGCAGGGGTTGCCCGAACCTTTAAAGCCCCAAACCTGTATCAATC
+CAGTGAAGGCTATCTGCTCTACTCGAAAGGCAATGGCTGTCCAAAAGATATTACCTCAGGCGGGTGCTAC
+CTGATCGGTAATAAAGATCTCGATCCGGAAATCAGCGTCAATAAAGAAATTGGACTGGAGTTCACCTGGG
+AAGATTACCACGCAAGTGTGACCTACTTCCGCAATGATTACCAGAATAAGATCGTGGCCGGGGATAACGT
+TATCGGGCAAACCGCTTCAGGCGCATATATCCTCAAGTGGCAGAATGGCGGGAAAGCTCTGGTGGACGGT
+ATCGAAGCCAGTATGTCTTTCCCACTGGTGAAAGATCGTCTGAACTGGAATACCAATGCCACATGGATGA
+TCACTTCGGAGCAAAAAGACACCGGTAATCCTCTGTCGGTCATCCCGAAATATACTATCAATAACTCGCT
+TAACTGGACCATCACCCAGGCGTTTTCTGCCAACGTCAACTGGACGTTATATGGCAGACAAAAACCGCGT
+ACTCATGCGGAAACCCGCAGTGAAGATACTGGCGGTCTGTCAGGTAAAGAGCTGGGCGCTTATTCACTGG
+TGGGGACGAACTTCAATTACGATATTAATAAAAATCTGCGTCTTAATGTCGGCGTCAGTAATATCCTCAA
+TAAACAGATCTTCCGATCTTCTGAAGGGGCGAATACCTATAACGAGCCAGGCCGGGCTTATTATGCCGGA
+GTTACCGCATCATTCTGATCGTAGTGTTTCAGGCGCACTGCCCGCGTAAAAGCGGGCAGTGTTTAGTGGC
+TTAACTCATGACAACCTGCTGTGTAATTTGCGTTTTCACCACTGATATCTAACAGTGCCTGGCGAAAGGA
+GGCATTGAACATCGGCCCGTGTCCCAGGTTGGGGAAATCCCAAAATACGGCATTGACGCCTTTATCTTTC
+AGTATAGTGAGGGTGGTATGAATTTTCGACAGCACCCCGACAGCATGCGTTTCCCGGTTATCACCCTGTG
+TCGCCGAGCCTTCCATTATCGCCAGGTGTTTGGCGCAGAATTGCAGAGGCTCAACCGCCGTAACGCGGCT
+TAGCAAAGCATCATAACCTCTGCCCAACGACGGGCTGGCGCTGTAGTACGACCGGAAGTAAGAGGAGGAC
+AGCCAGGAATCCAGCACGAAGAGGCCGCCGTAGGAGTGCCCCCATAAGCTGCGGCGTTGCCGATCGATAT
+TCAGTCCCTGTTCCACTTTTGGGGCAATACGCGTTTCCAGTAACTGGCGGAAGTTGTTGCTGCCACCACT
+CTTACGGCTAAAACGCCCTGAGTGGAGATCTGTTTTTCTGCTTTCTGCTGCTGGCGTATAGTCGTAAGCC
+CTGCTGTTGAGATCGAAAGGGAGGTTGGTCTGATACCCGACAGCCACGATCACTGGCGGTGTTTTTTCTG
+ACAATTGTTTGAGCAGTTCGTCATCCAGGCGGTCCATAACTGCGTTACCGTCAAGCATATATAAAATCGG
+GTAACCCGATGCCGGTGCGGTTGTATTCGGCACGGCCGTCCATACCCGATAATGGCGTGTGCCATCGACA
+GAGTCGAAAGAGGTGGCGCTGAAATGGTAAAACACGGAGCCTTTATCGGCTATATTCGGCCCCAGTGGCC
+GCATATCCGGCTTCGCATAAACTTGCGCACTACAGATAAGGGTGAGGCAAGAAAGATGAAAGAAAATCGC
+TTTATGCGGGCGTGTTGAGCGATACTCGCGGGCATACATCTGATGATTATTCCTTTTCCGCAGGTGACAA
+TTTGATTTATTCAGGAAGTCTGTACCGTTTCCTGAAAGTGTTTGTGGGTCAACTCAACCCTGTAGTAAAC
+CAATCCCGTCAATCAGTGCACCGCGCCACCATGCGTAATCGTGACCACCGGTGTAGATTGCGCAATGGCT
+TTCGACGCCAGCGGTAATCAGCCGCTGGTGAAGTTGCTGAACGTGAGGCACTGTCGAACCTTCCAGCGAT
+CCCACGCACAGGCTGATACGCACGCCCTGCGGTGGGGCAGAAAGCAGATGCTCACTCACCCATGAGGTAT
+CGGTTTCGCTGAACAAGCCTGGTCGACTGGTTCTTTCTGGCGTCCACCACATTGAAGGAGAGTGGCTGAG
+CACCAGACCGAACGTTTCCGGTGCGTAACGAGCCCCCATTAGCGCACTGATCCCGCCGAGGCTCTGCCCG
+GCCAGCACTGTGCGCGAACGGTCTGCCCACTGACGCTGCGGTTGTTCAGCGCGGATCATCGGCAGCAGAT
+GTCCTGCGATATCCTTTATCAGCTTGCTGCGCCCGCCGAGTATCTCAGTGCGTTCATGTTCATTAATGTT
+GTCAATGCCCAGTACAGCCACGGGCACGATGCGCCTGTTATTTATGGCGGCGTCAATTGCCGCGCATACG
+CCAAGGTGATCAAACCAGGTTTCACCATCGGGCAGCACGACCAGCCCGAGGGGCTGAGAAATATCAATGT
+CCGGAATATAGAGCCGAACTTGGCGAGATTTCCCGGCGATAATGCGCATGGAGGTAAGCAGTTGTCCGGT
+GTGGACGCCGCCGTTCCATTCCGACAGGGCGGGAGCTTTATCAAGTGTCAGCACTGATTCCTTTGCGTTT
+CCCCGAACGTTGATCTCCGGCATTTTGTTTAGCGGATCGGCCTTTCCGGCGAGGGTGGCAAAACGGCCTC
+CGGACAGTGCAATCGTCTCAGCCGTAGTGCCGGGGGGGATTTCCAGCAGCGAATAGGAGCCGCAGTAACT
+TGCGGGTAAACGCAGTGTCAGTGTCCAGATATCCGTTTCGGGAAGGGCGCTCATCATTCCTTTTTCTACG
+TGCTCTTTATCCGTCACCCGGTTCAGACGCAGATAAACGCCCTGCAGAGGATGTCGGGCGCGCCACAGAA
+AGGTCACTTCTCGCTCATCTTCCGCTCCTTCGACTGGCGTCACAAGAGGAACATTCAGCGACTCAGCTTC
+GCGCCAGAAGTCAGTAAGGTTAGCAATGTGGCCCGCTGCCAGTTGGTTGCGCAGGCTGGCGATAGCAGAG
+GGATGTTGTTGCATGTTCAGCATTCATACTCTTTAAAAATTAAGGATGTCAGTATAAATAATTAAAGCGG
+CTATTCACGGTACCGCCGCTTCTGACTGTGTTTTTAATACATTACGTGTCCAGTAACTATCCCGGGGTTT
+CCTCCTTCATGTTGTGCTGGCGATGGAGCGCAGTACTGCTGACGCTGTCATGCCATAAGCGGGTATAGAG
+GCCGCCTGCAGATAACAGCTGTTCGTGGGTTCCGTATTCCGCAAGTAACCCCTTATCAATAACGGCAATC
+AGATCGCAGCGTTGCGCGGTGGTCAGACGATGTGCAACAATCAGCGCCGAGTGCTTCCCGGCATGCACGA
+CATCTGTTAACGATGACATCAGTCGTTCTTCGGATGTGCGATCCAGACATGACGTGGCTTCGTCGAGCAG
+CAGGATGTGAGCATTCGCCAGTTGCGCGCGGGCCAGCGCAATCAACTGGCGCTGACCTGCGGACAGATCG
+GCTCCGCCGTTATTCACCGGTGTCCGGAATCCCTGCGGCAGATTGCACACCATCTCATACAGCCCTGCCC
+GCTGTGAGGCAATTTCAACGTCTTCATTGGTGGCGGATGGCCGTGAATAACGAATGTTTTCTGCAATATC
+ACTACTAAACAGTGCTACATCCTGATCGACAAGCCCAATCTGGCGACGATACTCAGTGAGCGAGGCATCA
+TCGAGCATTTGCACACCGATTCTGATGTTGCCGTGCGTGGGGAAATACAACCCGGCAATCAGCTTAATCA
+GCGTCGACTTACCCGCACCGCTGCGACCGACGACCGCGACAACCATTCCCTCAGGGATCGTCAGGGTAAG
+TTTGTTCAGAGCTGGCTCGTGACTGTCGGGATAACTGAACGTGACCTCATCAAGATGCAGTGCACCGGTG
+ACAGGGAGGACCGAAGAGGACCCGAGGTTCTCAGTGCCTTCTGTCGCCAGTAGTTCATCAATATGTTTGC
+CGCTGGCTGTCGCCTGCTGCCAGGCGTCGACAATCCCTGATAACTGCTGCACTGGCCCATAGAATTGCCC
+CAGCAACAGGAAGAAAGCCGCCAGTACCCCGGCAGTCATTTCTCCAGCGGCGACCTGCGAAGCTCCCACT
+AACAGAACGGCGGCATAGGAGGCCTCGGTGCAGAATGTCAGAAACGGAAAATAGACTGCAAGGTATTTTT
+GTGCTCGCACACGGGTTGCGCGGAAACGCTCCGATAACGCGCGCAGCCGGGCGCCCTCCAGTTCCTGCTG
+ACCATGCGATTGCACGACACGCAGGCCGGAGACTTTTTCCTGCAGGGTGCTGTTGACTTTGCCTATTTCC
+AGCCGTGCCTGTGCATAAGCAGGGGTACTGAGGCGGCGATAAATCATGGTTGCCAGTGCGGCCACTGGCA
+CTGCGCTTAATGCCGTCAGCGCCAGGATCGGGTCGAGCCAGAACATGGTGGCGGCGATTGCGAACATCGT
+CACCAGACTGGTGGCCGCACCGGCAAGGCCGTTTTGCAGAAAGCGGGCGAGAGAGTCCACATCAACGGTC
+ATGCGGGTCAGACGCGAATCGGCATGCTTTTCATGCCAGGGGAGTCCAAGACGCAGCATATGGCCGAAGC
+TGCGCAAGCGCACCGAATGCTGAACTGATTCCGCCGCTCTGGCGGCGAAGACCGTCTGCAGAGAATAACT
+GCACCAGCCCACAATGACCAGGCACAGGGCGAGCAGGGCACAGAGGCCGATGGTCGACATATCGCCTGCG
+GCGACACCGGAGTCAATGCCGTGCTGCAACAGTATCAGCACCCCTACGCCTGCCGCAGAATCGAGTGCGA
+TCAGCAGAGCGGCGATGACGAACATCCATGCCACAGGCTTCAGTAGTGACGTGACTTTGCGACCTTTACC
+GGCCAGCGCCTGCTGTACTGCATTTTCCGGTACGCGGGTCATACGGGCGACAAAACCTTTATCCCCCGTA
+TCCGTTACATCGTCTTGTGTCGCTGGTTCAGCCGGCCACAATTCGTTGTGGCTATTGTGGGACGTGGCCA
+GAAAATCGCTGTCGCCGGTCATCAGTGCGCGGAACGCCGGACAGCGCGCTTCAAGTTCTGCCGGGGTTCC
+GGTATCCACCATACGGCCCTTATCCAGCACCACAACCCGGCTGGCTAGCTGAAGCGTTGAACGCCGTCGG
+GCAATCACCAGCAGCATATGCCCTTCGTCAGCATAGCGACCCAGCGCGGTATTAATCTCCGCTTCCGTAA
+CAGCATCAACCGCTGAGGTGGTATCATCCAGGATTAACACGTCCGGTGCAGTAATGAGCGCCCGCGCCAG
+CGCTATTCGCTGCCTCTGCCCGCCGGAAAGATTCGTACCCCGTTCGGTTAACAGGCTATCGAAGCCTTTC
+GGCAGGGCGTTGATAAAATCGCTGGCTCCTGCAGCAGCTGCCGCACGGCGAATGTCGTCCGCCGTTGCCT
+GAGGGTGGCCATAGGCGATATTTTCCGCCACCGTACCGGCAAACAGAAAAGCATCTTCAAATACGATGCC
+TACCCGGCGACGAAGCGCCTCCAGTCTGATATCGCGAAGATTTTGTCGGCCTTCGCTGGTGTTGAGCCAT
+ATCTTTCCGGAGCAGGGATCATAAAAACGCGCCAGCAGCATCAACAGGGTCGATTTTCCTGAACCCGATG
+CGCCCACCACCGCCACGGTTTCCCCGGCGCGCAGGGAAAAGGAGATATCGCTGAGGATATGTCTGTCGCC
+ATGGTGGTAGTCAAAGCTCATATTCTCCAGTTCCAGTCCGACAACCTGACTGTTAATCGACTCCGTCCCG
+TCCTCCATCTGTGAACGGGTGTCGATCAGTGCAAACACCCGCTCCGCGGACGCCTGAGTGCGCTGTGCGA
+TAACCAGAAACGATGCCAGTACGCGGGTTGGCCCGGTCAGCATCGCGAGGAAGCTGGCGAATGCAACGAA
+GGTACCGAGATCGATCCGCCCGTGCATGACCGACCACCCGCCGTAGCACAGCAGGACGATTTGCCCGAGC
+ACCGGTAGCGCCAGCATGGTGGCCCCAGGCATCGCCTGCGAGATAACCGCACCGATGCGTACACGCACAA
+TCTGCCGCGACTGCCTATCGAGCCAGTGCGTTTCACGCATCTCTGCCACACAGGATTTTACCACTGAGAT
+CTGTGCCAGCACCTCGCGTATATGTTCGGTGAGATTCGCCAGTTGGTCCGAGGCCATTCCGGTTTGCGCG
+AAGACCCTACGACGCGCACGAAGCGCGGTGATCGCCAGGCATACCAGTACGCACACGACGATAAGCGTCA
+TGGCAGGGGACATCCACAGCATCACGGCAATGCCGGCAATGTAATAAGTGAACACTGCCAGCGGCACCGG
+GCACATCTGCAGCAGGGTATGCACCTGCTGCAGATCGCTGTTGGTCCGTGAAATCACCTGCCCGGTGCGC
+AGCGCATCCTGGCCTGCGCCGTCAAGTTTTTGAATACTGTCGAATACCCGTCCTCTGAGGGTATGCTGCA
+CCCAGAGTGAGAGCATCCCGGCATAACCACGGCGCACATAGTTACCGATGAAATCAAAAAAAGCGATCAA
+CAGTAACCCGCAGGCCAGCCACGGCAGGCGGGCCGGATTGCCCGCCAGTGCGTCATTCACAGCCTGTCTT
+GTCAGCAGTGGCGTCAGCGCAGCCAGCAAAATAGTCGATACTGACGCTACCACCACGATGACACTAAGTT
+TCTTACGTTCCCAGCACACGCGCGCCAGGCAAACTATCCATGACTGAGCCGGTGTGGGAGTGTGATTCGC
+AGGCATTAAGCCTCCTCCGTCTGTAAAATACGATCCACTGGCCGGATCGTTCCGCAAAAAAGCCAGCACA
+CTCCGGTCCCGCATTGTTATGGATGCATGACTTCTGGATGGGGGCTGGCATATGATTATCATGAAGGTGT
+AGTGGCTACCCTTTCTGTACCATTGTGATCAGGCTTTTCGCCACTTCACCTGGGCAGGGTTGCGCCGCCA
+TTTCCGCTGCTACCTCTTCAGAGGCTTTGCGAAGTGAGCGATTGTTGAGGAAAGCATTGATCATGTTACT
+CGACAGGCCGACGTCGCCTGGGATAATCCCGCAGCCGCGTTCGGCAACAACGCGGGCATTTACCGGGCGA
+TCGGCTCCCTGGCCGAAGACGATTTGTGGAATACCAGCGTGTAGCGCTGTCAGGGTATTGCCTGCTCCGC
+CATGATGAATGAAACCATCTGCGCCGTTGAGGAAGACACCCATGGGTATCCAGTCAACCAGGCGAACATT
+TGATGGCAGCGAGCGCAAATCGGACCGCGCATTGGCTGAAATATGCAGAATGATCTCGGCATCGACCTCA
+CTGGCAGAATCCATAACCCAGGCGATTAGATCAAGGCCGTCAACCATCGGTTTGACAGTGCCGAGACTCA
+CCAGAAGACGTTTACGTTCGGGCCTTCTCTCCCACCATGGTTCCCACACCGCACCACCGTTATACGGGAC
+GTACTGCATCGGAATAATGGGTTCACCGTCGTTTTCCAGAATGCTCATACTCGGCGGTGTTACGTCGATC
+CAGGCCATATCGCGTGGTGTGGCCCCGACATTGTGGCGACGATAGGCGTCCGTGAGCGAACGCGTTACAC
+CCCTGATATGCCAGGGGGTATGGCCGAAGCCTACGGTTTGCATCACGACCGGTATATCATATTTGGCGGC
+AATCAGCGGCCCGATGACTCCGAGTGGAGGGTAGATGATGAGGTCAGGCCGCCAGTGTCCGGCAAACTCC
+ACCAGATGGTCTGCCATTTCTTCGCTGAAGAATGAGAAGTTGCCCATTTGGGTTCCGATGTTACTTTTTT
+TCCGCTGTGCCTCATGGTGGCGGTAACCAGCTTCGGAATCCAGACCGGGGGCAGCGTCAAACACCACCAA
+CCCGGCCTCTGCCGCTTTTTGTGCGAATTGTCCTCCGCTGGCGATCAGTACTTCATGACCGTTAACGCGA
+AATGCCTGCGCCAGGGACAGCACAGGATACAACAGCCCATAGAGAGGCGGGCCTACAAACAAAATGCGCA
+TGAGAAAATCCCTCTCCGCTTGACGATCTAAATCAGGCAATCGACGCACTCATATGCCAGCAGCAGGACA
+CGACTTTTCGTTAAACCTGCTTTACCAGATGCTGCGCCATTTGTGCTTCACCAGCGTTATGGACAGATCA
+GTCAGAGACTTTTCCGTGACATACACAGGTGAACAGGGAACTCCGTATCCCCACTTCCATTAACGCTTAC
+GCGCCATTGTCCTGTTGAACATCCCGGCGTCGGACAGCTACGCCGGGATGTTCTGACGCATTTGTGCAGT
+GTTAGACCGACAATGAATCTGGAAAGATCCGTGACTTTTTAGACACACGGCTTGCATCATCCTGATAGTC
+TCGCCTTCGCTGGCCTGTAAGTAAAATGACCTTGTACTGGCGATGCGTGTTCCCTTTCAGCCTTACCAGA
+GACAACGTTAGCGCAAATGCTAATGATAATAATTACCAATATCATTAATGTATTGCAACGATAATTAAAA
+ACTTAATGAAAAGGGAAGCACTCAGAGGACTATCCGGGGGTATTTAAATTGAAACCTACGCTGCTCCAGA
+CCGTGGAGAATATTTGCCTGCAAATTCTGTTCGTGCTGTTCCAGTTCACCGGAACGCTGATAGACGTTGA
+GGCATTGGTGAGCTGTTCTTCCGTTGCCAAAAATGTACAGAGAACTCCGGCCAGCAGCGTTTCATCCTCT
+GTCTATAGCGCAAGCGTGTCGAGAACTGCTGCTGATATTATGCTGTTGTCGAATAATCCGCTTTTTGCTC
+CGGGTCAGGTGAGTTTTTTCGGCTGTTCGTTGGCAGCGTCAGGTATTCACGTCACCATTCTGGAGTAATG
+CCAGTCAATTAAGCAACTGACTGGCTCTTTTTCGGGGCTGTGGGGTATTTCCAGGGCCTCTCCTTTACCA
+CTCTCGGGAAGGCCCTTTCCCTTCTTGTCGGTAATTTCACAAGTTGTCCCATACTTGCAAGATCGCGCAT
+CAGCTCCGGTATACGTCCCGGTGAAGCGCCCTGCAATGTCATCAGCATTCTCATCACCATTCCGCATGAT
+TCTGAGAAACTCAGTTGATTCGGCCAGTAACCTTTCAGATGTTCCGCCATTTTAATCATCTGATATCTCA
+CCAGATTATAAGCCAGTAAGACACCCCACAGCTCTTGCTCCACAAGCTCCGGCTTTTTACTTCTCAGCGT
+CAGCCTGCTCAGTTGCATCGTCTGTTTTATCTCTCTGTATCCCTGGTCAGGTTGACGGGGCACTAGTGGT
+TTCAGCGGTTAATCGTCGAACAGGCGCGAGACAATATTCGCATTCAACAAAATAATAAACGCAACACTGA
+TCGTTTTGTTGAGAGGATAACTCTTTTTCAGGGTTATGGGTGAAAGGCCTGAAAATTTGCGATTATCTTT
+AAGAGAGTCACAAATATACTCCAAAACCCGCTCTCTCATTCTTTAGACTGAACTTAGCGTAGCTCACCAT
+GTCAAAATGTTTGAAACTGCTCTGGTGTGGGAAGTGTTCGAAAACTCGTAGATTGTTATTTCAATCAGTG
+CGCAAAAGAGTGTCTTACTGAAAAATGAATATAGATATTCATCTGGCGATTCGAGACGAAAAGATTTCTT
+TCATCCGCAGTTATGCGCATGGTTAAGAGGTGACGATTGAAGAAGTCCTGATCTTACTGAAGTTACGCGG
+ATAGTGGGTAATGCCGCGAGATTGATGGAACTTTAAAAATTATCTCTTAACGTTTTACGGATATAAAAAG
+TTTATTTTTTGTTAAGAGAGATTACTTCACCAGACAACTTGAACTCGCTGCAGGGCGTTTTTTTATGCCC
+GAAAAGCTGCACAGTACGTTAAATATGCTGGTGATTGTGCAGTGAGTTTCTCCAAGCCTGATGCGACTTG
+ACTGCATGATATCACATTTGTAATGTAAAATAAATCAATGTTTTTAAGTTGCTAGGTGCTTGTTTCTATA
+GCTGGGGTACTTCCTTTTACTATGGCTTTCCATGGTGGGGGGCGGAGCTGGTGTTGATGATGTGGCCAGA
+AGCCTGTTTTATGCTGTTACAGTCATCGTTATATTCCTTATTGGATGGGGAGCAGGTATTGTTTTCTTTC
+TGGGAATTAAACAAAAAACAATATGAATGATTTGAGTTTTATCAGATTTTTTCTGGCAATATTGTTGCTT
+CTTGTTCCTCCTGCTCTGGAGTTTTCAGTAATTCATCGGCACATTACGCCAGGTGCACTGACTTTATGCG
+TCATTACAGCCTTAATAATTACGCTGCTTGCCAGCTTGGGCGGCAGGCTTGTCTCAGTTAAATGTATTTC
+GGAGATTTCGTTTATTCGTCGTCACCGGATTGAGTGCATGATGGCGGGATTTATGATTTATTTCTGGACA
+TTCTCTCTTATTGCTGGTTGATACAAGCCCCAGTTTAAGAAGGAATATCAGACACTCCACTATGAGAATG
+CTAGGTATTACGTTCTTGCACGCTATGACGGTCGTTTGGTTTTATCACAATCGTACAGGAACGGGAGTAG
+GAAGTTTGTTATAATCAATGGCGGACATAGACTTTGAGATTAATGTAGTCAGAGTGCGTTAAAATTCCCT
+TAGAAATCGGGAATAGGTAGTACTAGATACGCAGGATTTAATCAGTCGTATTGAGATGGAATTGCAGAGT
+TAAACTGGCATGGATATTATTTTGTACCCAGCCCTTAAGAACAATGGTGAGAGATAGTAACTCATAATCG
+CCAATTCACTGTTTTAAATTTAGTAAGGGCCGCTATCCGCCACTGGCTCATCGGGAAAGAGCATCAGCCT
+TCTAAGTTGACTGTGCGAGGTTCGAGTCCTCGGTGGCGGTCCAGTACTGATTTAGCTCAGTAGGTAGGGA
+ATTGCCTTGTAATCAGTAGGTCACCAGTTCGACTCTTGCTGTCTCGCCCCATATTCCAATAGGCTCGCTT
+TGACGGGGCTTTTGTATGTCGCTTGCGATATGTTACAGTACCGTTATCAGTCTGTAGAAAATACACACAG
+GAGTGAAATGTTAAATTACCCACAACTCAGAGAGCGGAGTGTTGTCCTGTTAGTGGGGAATTTGTTAAAA
+GAATCCAGCATGGTGAATCTCCCTGTGCGGCTGTCTCTTGATCAGATCTCCTGATCAAGAGACTTCATCA
+CCGGATAACCCTCAACCATATCCTGAAGTCTGAACCAGCCATCCCACATAACTACCCAACCAGGGCGGCC
+TGTGCGTTTGCTGTCATGCCATCGCCCCAGTTTCAGACAGGCCCATTTCAGTGTCGGCGTCTGTGACGGA
+AGCTGTTTTCCTTCCAGCTTAACCCACAGCAGTTTCCACTCTGTCGGCGTCAGTATTTTCTTACAGCTGT
+CATTTTGTGTTTCTTCACTGATACCTTCCTGCCGCAGGCCCAGCACCCGTACCGCGATAAACGCCTTGAT
+AACCACCATGCGCTCAAGGTTATCCCGGGTCTGCATTCGCAGTGATTCCACACATGTACCACCACTTTTC
+CACGCCTTGTGGTATTCCTCTATCAGCCAGCGTCGCTCGTAATGGCTGACGATACGTCGCGCATCGGCGG
+CACTCGCCACTTTTTCTGATGTCAGCAGATGCCAGCAGGCACCGTCCTCTGACTGCTCCCGGCAACAGAC
+ATACGTGAGCGGGAGCGCCTGGCCGCTGTTGTCGCGATTTTTATGCTGACTTCGCTGTACCTGATGAACA
+TCCGGGCCTGGCGGGCTGCCCGCCCTCCTTTTTGCATCACATTCAGCGTGTGGCTTCCCGCGGTTGCCAG
+GACTTCCGGCAGTTCGAAGAGCTTGCCGGGTGCTTCTTCCAGCCGGCTATTCTGTGCAGCACGCACCACG
+AAGCGCTGTCCGTGGCTGACTTTATAATGCAGGTAATGCCAGATATCCGCTTCCCGGTCACAGACAGTAA
+TTACCCGTTTCTGTATCTCCCCCAGCCGTTCGGCCATACGCTCCGAAGCCTGCTGCCAGCGGTAACTTTC
+TTTTTCTTCACAGGGACGTTCTTTTCGCTGGTGCTTAACACCGTAGGTGTCCGTGACCCGACTCCAGCGC
+TGCTGTTCGATAAAACCGACTGGCAGGGCGCTGTCAGGGGCGTACATCAGGACAGAGTGAGCCAGCAGCC
+CGTGCGTCTTCGGGTTAGTGGTGGTATTCCCCTGGTCATCAGATGCCGTACTGTGGCTGAAGTTAATGGT
+GGTGGTGTCTTCCAGTGCGAGGAGCAGCGGATGAGCCTCACATGCCCTTACAGTGGCGGTAAATCCGGCT
+TCGGCAATGGCTTGCGGGGACACAGACGGGTTACGTATCAGGCGGTACGCACCTTCAACCTGAGCAGTGG
+ACTGGGATGATTTCACAATAGAAAGACCTGCATGCTGAGCGGGAGAAGAGGTCAGTGACACAAGGCGTCG
+TGTACGACGCGGATCACCGAGACGGGCATGTCCAGACTGCTCGTTATCCCATGAATAACAATCAGAAAGT
+ACCATAACAGACCCGAAGAAAATGAAATATAAGAAAAGATCAACGAGTGAAGAAAAAGTTCAAAAAATGG
+CTGCCGGGGAGGAAGGAAAGTACCGGATGGAAAGAGTCCCCCCTAAAGCAGACTGACAGACATAACAAAT
+CCCCGGGGGGATTTGTGTATAAGAGACAGTACTTATCTGGAGGTAATTGCAATATCTCTGTGAACTTACA
+CAGGGTGGGCTTACCGCATACACTGACACTTAGCGGATCGACAGAACATTATTAACAGAGCATCACTGAA
+CGCTACATAATCAGAGTTGCATAAATAAAATGTTATGATATAATATCACAATCACAACATTTGTTTTCGA
+ATGTATATGAATGTAATCAGAACTGTCATTTGTACATTAATTATACTTCCGGTGGGACTACAGGCAGCGA
+CCAGTCATTCTTCTATGGTTAAAGATACAATCACCATTGTCGCGACAGGAAATCAGAACACGGTATTTGA
+AACGCCGTCGATGGTCAGTGTCGTCACGAATGACACACCGTGGAGTCAGAATGCGGTTACATCGGCCGGC
+ATGCTGAAAGGTGTTGCCGGTCTCAGCCAGACTGGTGCAGGACGGACCAATGGGCAGACCTTTAATTTAC
+GCGGCTATGACAAAAGCGGGGTACTTGTTCTTGTTGACGGCGTTCGCCAACTCAGTGACATGGCAAAAAG
+CAGTGGCACTTATCTGGATCCGGCACTCGTCAAACGTATCGAAGTTGTCCGCGGGCCAAACTCCAGTCTG
+TACGGCAGTGGCGGGCTGGGAGGTGTAGTGGACTTCAGAACTGCCGATGCAGCAGATTTTCTTCCCCCCG
+GAGAGACAAACGGTTTAAGTCTGTGGGGAAATATTGCCAGTGGTGACCACAGCACAGGCTCGGGGCTCAC
+CTGGTTTGGTAAAACTGGAAAAACAGATGCGCTCCTTTCTGTCATTATGCGTAAAAGAGGTAATATCTAT
+CAAAGTGATGGTGAGCACGCACCTAACAAGGAAAAACCTGCAGCCCTGTTTGCGAAAGGCTCTGTCGGTA
+TAACAGACAGTAACAAAGCAGGTGCCAGCTTGCGTCTCTACCGGAATAACACCACTGAACCGGGCAATTC
+CACTCAGACACATGGTGACAGCGGTCTGCGTGACAGAAAAACAGTACAAAATGACGTACAGTTCTGGTAC
+CAGTACGCTCCTGTGGATAACAGCCTCATCAATGTAAAGTCAACGTTATATCTCAGTGATATCACTATCA
+AGACAAACGGTCACAACAAAACGGCAGAATGGAGAAACAACAGAACCTCCGGTGTTAATGTTGTCAACAG
+GAGTCATACTCTGATTTTTCCGGGAGCCCATCAGTTAAGTTATGGCGCTGAATATTACCGTCAGCAGCAG
+AAGCCAGAAGGCTCTGCCACACTATATCCGGAAGGAAACATTGACTTTACATCGTTGTATTTCCAGGATG
+AAATGACAATGAAAAGCTACCCGGTTAACATTATCGTCGGTTCCCGCTATGACCGGTACAAGAGCTTCAA
+TCCCCGTGCCGGAGAACTGAAAGCCGAACGCCTGTCCCCAAGGGCGGCGATTTCAGTCTCACCGACAGAC
+TGGCTGATGATGTACGGCTCCATATCCTCTGCATTCCGAGCGCCCACAATGGCAGAAATGTACAGGGATG
+ATGTACATTTTTACCGCAAGGGTAAACCCAATTACTGGGTTCCTAACCTTAATCTGAAACCAGAAAATAA
+CATCACCCGTGAGATTGGCGCAGGTATTCAACTGGATGGCCTGCTTACAGACAATGACCGGCTGCAGTTA
+AAAGGCGGATATTTCGGAACGGATGCCAGAAACTATATTGCCACACGCGTGGATATGAAACGGATGCGTT
+CTTATTCTTATAATGTATCCCGGGCCCGTATCTGGGGATGGGATATGCAGGGTAATTACCAGTCTGATTA
+TGTTGACTGGATGCTTTCTTATAACCGGACGGAAAGTATGGATGCCAGCAGCAGGGAATGGCTGGGCTCC
+GGCAATCCTGACACACTTATCAGTGACATCAGCATACCTGTTGGTCATAGAGGCGTTTATGCCGGATGGC
+GTGCTGAACTTTCAGCATCAGCCACGCATGTGAAAAAAGGCGATCCCCATCAGGCTGGTTATACCATACA
+TTCCTTTTCACTGTCTTATAAGCCTGTAAGTGTTAAAGGCTTTGAGGCGTCAGTAACTCTGGATAATGCC
+TTCAACAAGCTTGCCATGAATGGCAAAGGTGTGCCGCTTTCAGGCAGAACTGTCAGTCTTTATACCCGTT
+ATCAGTGGTAACCTCGCAGGAAATAAATCATGATGAAAAATACAGGCTATATCTTAGCTCTTTGTCTGAC
+AGCATCGGGGCATGTCCTGGCCCATGATGTCTGGATTACAGGTAAACAGGCAGAGAACAACGTTACCGCA
+GAGATTGGTTATGGTCATAATTTCCCCTCAAAGGGGACAATTCCTGACAGAAGGGATTTCTTTGAAAATC
+CCCGGCTTTATAACGGGAAAGAGACAATAACACTGAAGCCAGCGTCCACGGATTATGTCTATAAAACTGA
+GTCTGCAAGCAAAGATAATGGTTACGTTCTGTCAACGTATATGAAACCGGGATACTGGTCGAGAACCTCG
+TCAGGATGGAAACCGGTCAGCCGGGAGGGCAGAAATGATGTGGCTTACTGTGAATTTGTCACTAAATATG
+CAAAATCTTTTATTCCTGGTGAACAGCAGATGCCAGCACAACTCTATCAGTCTCCAACAGGGCATGAGCT
+TGAAATCATTCCGTTATCCGATATAAGTCGTTTCAGTGAAAATGTGAAGCTGAAAGTTCTGTATAAAACG
+TCCCCGCTCGCCGGAGCTATCATGGAGCTTGACTCGGTCAGTTATCTGACATCATCCCGTCATACTCATG
+CAGTTGAGCACAAACATCCTGTTCATAAAGCAGAACTCACCTTTGTAACTAATGAGGATGGTATCGTCAC
+AGTACCTTCTCTTCATATCGGACAGTGGCTGGCGAAAGTCCAAAATAAGAAAAGTTTTCAGGACAAAAGC
+CTGTGTGATGAAACTGTCGATGTGGCAACCTTAAGCTTCTCCCGAAATTAATGATACTATTCCTGCCCTG
+TATTTTACGGGCAGGGTATATCAACCGGAAATAGCCTACTGACATCCATGTAAAAAAACTCATAATTATT
+TTGTTGATGTATCTTACCTAATACATTGATAGCTCCAGTTTTTATACCAGAGCATTCTCGTTGTCCCTAT
+GTACTTGTCTGCAATATCACTGATATGCAGGAATAATATTCTTGGCATGGAGTCAGTTCCCCGTCATCTT
+AGGTATCACTTTAACTCACAGGTGTCCAGTAAATATGAACAGGATCCCAGTAATCATTATCAATGGTTTC
+CTTGGCGCAGGAAAAACCACTCTTATGAAAAACCTGCTCACACAGGCAAACAGGAATCACTTAGCTGTAT
+CTGTCATTGTCAATGATATGAGCGATCTGGATGTTGATGGTGTACTTATTGCAAATACAGAAATCGTTAA
+TATTGCGAACAATAATTTCGTGAGTATCACATCTGATAGTATCAGCAGCCAGAGTGGGATTAAGACGGTC
+GACAAGGCAATTAAAAATATGCTCAGGCATTATTTGCCTGACGTTATATTTGTCGAAACATCCGGAGGTA
+GCCACCCACTGCCATTAATTAAGTATCTGCAGACTCATGAGCGATTACAGCTAAAATCACTTTTATCACT
+TGTCGATATCGTTATGCTCAATGATGACTATAACGGAGGGAAAGCACTGATACCTGCATTTCAGGAGAAT
+CTTTTCTATGGCAAGCGCAGAATAGAGAATTTACTGGCTGAGCAAATCATGTTTTGTAGCACTTTGCTGT
+TAACCAAAAAGGATCGACTGTCATTCGACATTGTCACCGATGTGGCGAAAGCAATCCATCCTCTGAATCC
+TTACGTAAATGTGATAGCTGTGTCATGGGGGAACCTTAAACTAGCAGAGTTACTAACCCTTCCGGATTAC
+GATTTTAACCGGGTCGGATTACTTATCAGAGAACTGGAAGACACAATCACAGTAGAAGAAGCAAAAATTT
+CAGCCCAAAATGGCGAAATAATTTCGCGAGTGATTAAAGATGACAGGCCATTCCACCCACAAAGATTATG
+GGAAACCTATCATTATTTTATGGGAATGGGTATTTATCGTAGTAAAGGCTTTTTCTGGCTACCAGGAAGA
+CCTGACATGGCTCTGCTCTGGAACCAGGCCGCAGGAAGTATCAATCTGGAGTTTATCAGCTACTGGAATT
+CCGGTGTATTGGCAGACCCTGATAATCACCTGACCCACGAAGAGCGCTCTGTTTTGCAGAAAAAAGTCAA
+TAAAACTATGGGGCGGTTTGGAGACAGGAGATGCCATTTAACGATTATAGGGCGTTCTGATGAAGTCCAT
+GATTTTACCTCCGCCTTAATTAACTGTTTTCTTTCTGAAGAAGAAATTGTCTGGTGGCAATCAGGTGGCG
+TTTTCGCGGATCCCTGGCCCGTTAATATATCCCGGCTGAACTGATGATTAACGCGATATTGCAAATATGG
+CATATGAATCGATCGTAGTTTGGCATTCGAATCGATCATGATTTGGGTAAACGTTCACGGAGCGCCGTAT
+TGACGTTTATTTATTGGGTGAGTACGACGTTCCATGGCAGGAGTTCATCAACACGGTTAGAAGGCCATTC
+CGGCAGGACGTTGAGGATATGGCGCAGATACGCTTCCGGATCGATACCGTTCAGTCGGCAGGCGCCGATC
+AGCCCGTACAGCAGCGCACTACGCTCTCCACCGTGATCGTTGCCGAAGAACATGTAGATGATATGACCTT
+TATATACTCACTATAGCATTGGTGGGATATTCCAGAGGAGGTCATCATGTATTCGGAAAATATTGCGGCT
+TACGTCGGGCTGGATGTGCATAAAGCCCCCTAGCAGTTGCTATTGTTGCATCTGAACGACTTGGCAAGGT
+TCGTTATTATGGTACGATTAACAACGAAGCCCAAACTGTACATCGAATTCACTGACAATATGCGTTATGA
+CACGCTGGAGACCTGCCATCGTAATGCGTTCCGCTTCTTTGGTGGTGTGCCGCGCGAAGTGTTGTATGAC
+AATATGAAAACTGTGGTTCTGCAACGTGACGCATATCAGACCGGTCAGCACCGGTTCCATCCTTCGCTGT
+GGCAGTTCGGCAAGGAGATGGGCTTCTCTCCCCGACTGTGTCGCCCCTTCAGGGCACAGACTAAAGGTAA
+GGTGGAACGGATGGTGCAGTACACCCGTAACAGTTTTTACATCCCACTAATGACTCGCCTGCGCCCGATG
+GGGATCACTGTCGATGTTGAAACAGCCAACCGCCACGGTCTGCGCTGGCTGCACGATGTCGCTAACCAAC
+GAAAGCATGAAACAATCCAGGCCCGTCCCTGCGATCGCTGGCTCGAAGAGCAGCAGTCCATGCTGGCACT
+GCCTCCGGAGAAAAAAGAGTATGACGTGCATCTTGATGAAAATCTGGTGAACTTCGACAAACACCCCCTG
+CATCATCCACTCTCCATCTACGACTCATTCTGCAGAGGAGTGGCGTGATGATGGAACTGCAACATCAACG
+ACTGATGGCGCTCGCCGGGCAGTTGCAACTGGAAAGCCTTATCAGCGCAGCGCCTGCGCTGTCACAACAG
+GCAGTAGACCAGGAATGGAGTTATATGGACTTCCTGGAGCATTTGCTTCATGAAGAAAAACTGGCACGTC
+ATCAACGTAAACAGGCGATGTATACCCGAATGGCAGCCTTCCCGGCGGTGAAAACGTTCGAAGAGTATGA
+CTTCACATTCGCCACCGGAGCACCGCAGAAGCAACTCCAGTCGTTACGCTCACTCAGCTTCATAGAACGT
+AATGAAAATATCGTATTACTGGGGCCATCAGGTGTGGGGAAAACCCATCTGGCAACAGCGATGGGCTATG
+AAGCCGCCCGTGCAGGTATCAAAGTTCGCTTCACAACAGCAGCAGATCTGTTACTTCAGTTATCTACGGC
+ACAACGTCAGGGCCGTTATAAAACGACGCTTCAGCGTGGAGTAATGGCCCCCCGCCTGCTCATCATTGAT
+GAAATAGGCTATCTGCCGTTCAGTCAGGAAGAAGCAAAGCTGTTCTTCCAGGTCATCGCTAAACGTTACG
+AAAAGAGCGCAATGATCCTGACATCCAATCTGCCGTTCGGGCAGTGGGATCAAACGTTCGCCGGTGATGC
+AGCACTGACCTCAGCGATGCTGGACCGTATCTTACACCACTCACATGTCGTTCAAATCAAAGGAGAAAGC
+TATCGACTCAGACAGAAACGAAAGGCCGGGGTTATAGCAGAAGCTAATCCTGAGTAAAACGGTGGATCAA
+TATTGGGCCGTTGGTGGAGATATAAGTGGATCACTTTTCATCCGTCGTTGACATTCCCGGTGACAACATG
+GGCCAGAAGCCCCTCTCCGGCATAACTGCGTGCAATGGGTTTTGAAGGCACCGGTGCCTGCACGATATGG
+TCGCACCGGCAACAGGCCAGTTTCGGACGTTGTGTTTCGATAACCTTAAAGGCGCTGCTGATAAGCTCCA
+GTTGCTCTGACACATCACACCCCAGAGGACTGAGGTCACCACCACAGGCCGGGCAGCATTCCTCTTCCGG
+TCGGATGACCCGGGTTTCATGGGGAAGTAAGGCTGGTAACGGTTTACGGGCTGAAGACTGGCGCAGGGAA
+GATGGCAGTACCGGGTCATATTGCTCACCCAGTGTTTCCGCCATTTCTTCCTGAAGTGCACTGATTCGCT
+CCTGTGCTTCCTGTATCTGCCGTTCGGTTTTTGCACGAAGTTTTTCTGAGCTTTTACCGAACTGCATACG
+CTGTAGTTTCGCAACCAGCGCCTTCAGCCGGTTGATTTCGGAAGCATAAGTCGCCACCCGCTGTGAGAGC
+AGGCGGTTGTATTCTGCCATCTGACGGATGGTGTCCTGTTGCGTCTGCAACAGTGCCCGCAGGCGGGCAT
+TCTCATGAGCAAGTGAGGTGTCCATATCCTCACTTTACAACGGGTTATATACGGATTCCAGCGCGTTCCG
+TTCGTTTCGGGTGCTTCCAGTTGATGCCCTCAAGAAGCATGGACAACTGAGCCGGAGTAAGGTGAACCTT
+TCCATCGCGGGTGACCGGCCAGACGAAGCGGCCCCGCTCCAGGCGTTTGGTGAAGAGGCACAGTCCGTCA
+CTGTCAGCCCACAGCACTTTTATCTGGTCACCCCGGCGTCCGCGGAAGATAAACAGGTGTCCGGAGAACG
+GGTCATCCTTCAGGACGTTCTGAACTTTTGATGCCAGGTCGTTAAAGCCATTTCGCATATCGGTGATACC
+GGCAACCAGCCAGATACGCGAACCTGCAGGGAGAGATATCATCGTCCCCTCCCGCTCAGTTCACGGATCA
+ACACCGTGAGCAGCTCTGGTGAAGGATTTTCCAGCGTCATTTTACCGTGACGGAACTCCACTTTACAGGA
+ACTGGCACTGGCTGTGCTCTGTGAAGGAGTGGATAAAAGCGGGGGAAGAGTCGCCATCGGTTCTTTCGGC
+TCATCAGGCGTTATCTCTACAGGTAATAATTCAACGCCAGCGCCAGAAGAGGTTGTTACCGGAAGACGCT
+GCGATATACGCCCTTCGTTCTGCCAGAGTCTGAGCCATTTGAACAGGAGGTTATCATTGATATCGTGTCC
+CCGGGCAATACGGGCAACAGAGGCTACTGGTTGCAAATCCAGTTTAACCATTTGAAGTTTAAACTCATTT
+GAAAATGATCTGCGGGGTTCTGCGGATAATGTTTTTGTTCCATAACAGGTGCCCACTAGTTTGAAAAGGT
+GGGCACCTAGGTTACCAATACTGGCTTAATGGCTACATACGGCGGTCAGTTTACGCTTACCCATTCATAA
+ATACGCGGTAATGTTAATACTACACTCTCCTCCGAGTAAACAGTTGCGAACTTCTGCTGTGCGCTCATAG
+CAGACCTTGCAGGTCTTCCGACGGTCCGCTTCGTGCCAGGGGCAGACATAGATAAAGCATGCTCTGCATG
+AATCATTGAGGAGATAGTCACTCTTGAAATGTAAATCCCCTGGAATTCTCACCATTCCATAACTGGTATT
+TGTAAGCTTTAGTATGATATAAATATTATTTTATGGATTTTAAGAAAAACCAATAAAAGTTCTATTTTTT
+TTATAAATGGAGAACAAAGATGAATAATGGCGAAGATAAAAAAACAGCTTTCTTGATAAAGGATTAGAAA
+TATCCAAACCTATCGCAGGATTATTTTCTTCTGCAATCGGTGGCGGTATAGCGGGGTCTTCAGGAGGTAT
+GCCTGGAGTCGTTATAGGGGCGGTTGCATATTACCTTGCAGATGTTAGTAATCGAGGGTTATCTCGGATT
+CAAGAAAATAGAGCATTAACTGCGCTAAATATCGCATCTCGAGAAATCGAAAAAAATTAACTTACAGCAG
+AACAGTAGAGATATGGCTAGTGACCTCTGCGTATAGACATTTTTTTTAACATAACCACACACATATATTA
+TATCAATATATTATTGTTAATCAAAGCACTGCTGAGTGCTTGCATTGTAATACTTTCAGGTGAATATCTG
+TGCCAGTAAAGCTTCACCTTTTGCTCAAACTCTGGACTCAGATTTATAATTTTACCGGAAGCAAGTTCAA
+AGCTTATTTGTTGTTTAGGTATCATACAACATGCCAGGTGTTGTAATAACATTGTGACATATGCTTCTGA
+GGAAGATACAATATGACTTTGTAGCGTTCCTGGCACCAACCCAAAATATTGCTGCAAAAATTTATGATGC
+ATATCTGTATCATGATTAAAGGATACAATCGGGGCCTTTAATAAATTTTCCTTTGATACGCCCTGGCTGA
+AATATCTGGAATAAAACTCTGGTGTTGCACAAAAAATATAATCGAGAGACCCAACATAATCACATAGCCC
+GCCAATGATTGCCTGCGGCTGAGAACTGATACAACCTACAACCTCTCCTTTTAACAGACGCTTAAGGTTT
+TTATTTTCATCATCCACTTTTATATCCAGTCTTATAGATGGATTTTTTAAAAAAACACACAAGGCAGGAA
+TTAGCCATGTTGCCAGCGTGTCAGAATTCACTGCGATCGGAATGGTCACAATGCTTTTATTTGCATCAAG
+GTTCAATACATCATGCTCGAATATATTAACATGATATAGCAGTCCTGCTAATTTCTGACCATAATCAGTT
+AAATGTGGAGGTGAAGTACGAGTAATTAACTGAACACCGCACTGATTTTCAAGTTTTTTTATTTTCTGAG
+ATATTGCCGATTGTGAAATACCAAGAATTCGGGCCGCTCTGTAAAACCCTTTTTGCTTGATAACGAGATC
+AAGATTTTTTAACAATGAATAATCAATAAAGTTTCTCATTTGCATAGATATTTGACCCCGGACTGATGAT
+CACCATCAGTCCGGGTTAATATTACTTTGATGTTCTCATGGCAGGAAACATAATAACATCGCGAATGGTA
+TGACAGTTTGTAAATAACATTATCATACGATCAATACCAATTCCCAGACCTGCAGTCGGAGGCATGCCAT
+ATTCAAGTGCAGTAACGTAGTCCTCGTCATAATACATCGCCTCCTCGTCTCCTGCTTCTTTGGCTTTTAC
+CTGCTCTTTGAATCGTTCCGCCTGATCTTCCGCATCATTTAACTCTGAAAAACCGTTCCCAATTTCACGT
+TTACCAATAAAAAATTCAAATCGATCTGTATATAATGGATTTTTATCATTACGACGAGCTAATGGTGATA
+TTTCTGCCGGGTATTCAGTGATAAATGTTGGCTGAATAAGATGCTGTTCAACAACTTCTTCAAATATTTC
+TGACTGCAGACGGCCCACCCCCCATGATGGTTCCACAGTAATTCCCAATTTTCTTGCTGTCAGAGAAGCA
+CTCTGAATATCATCAATGTCAGTCAGTGTAATTCCGTTTCCATATTTAATGATTGATTCACGCATGGTGA
+GTTTGTTAAATGGCTTACCAAAATCAAACAATTCATCGCCATATTCTATAAGCGTGGTACCAAGAACATT
+TTGAGCTACTGTTCTGAATAAGTCTTCAGTAAAATTAATCAGGTCATGGAAATCTGCATAAGCTATATAG
+AGTTCCATCATTGTAAATTCAGGATTATGACGCGGAGATATTCCTTCGTTTCTGAAGTTACGGTTAATCT
+CGAAAACACGTTCAAATCCTCCAACAACCAGTCTTTTCAAATACAGTTCCGGAGATATTCTTAAAAACAT
+GTCCTGATCAAGTGCATTATGATGAGTAATAAAAGGCCGTGCGGATGCACCACCGGGAATAGACTGCATC
+ATAGGCGTTTCAACTTCCATAAAATCATGTTCCGCCATGTAACGACGAATTTCAGTCAATATCCGTGACC
+GAGTTTCAAATGTACGATATGTATCATGATTGACAATCAGATCTACATATCTTTGGCGGTATCTGAGTTC
+TTGGTCAAGCAAACCATGGAACTTGTCTGGTAATGGTCTTAATGATTTTGTTAAGAGAGAAATTTCATAA
+CAATTAACAGACAATTCATTTGTTTTTGTTTTAAACAGTTTACCTTTAATACCAATTATATCTCCTGTAT
+CAAGTTTTTTGATATCAGAAAACGTTGATTCGGGGAGTATATCACTGGAACAATAAAGTTGTATACGGCC
+TTTATTATCCTGTATATGCATAAATATGGATTTACCCATTATCCGTCTGGACATTATACGTCCAGCCATA
+ATGACATTAATGTCTTTTTTAGTTAAATCTTCATGAGTCAATAATCCATACTGTTCAGATAATTCAACAG
+AATTATGCTGCCGTCTAAAGTCATTGGGAAATACAACAGGCGTTCGGGCGCGAAGTTGTCTTAACTTTTG
+TTTTCTGACATATAACTCATTTGTTGAATCATTGGTATCTGTTGACATATTTCTTCCCCTCCGGTTATTT
+TGTTTTCATACTGATTATTACCACACATCTGTTACAAAGCAAGGGGGACATTATAAGCATGATCTTATAA
+TCAGATTATTATTATTAATTTTTAATTATAACATATGTATTCTGTGAACTAGTTGTTTCAATCAATTCAT
+CTGAAATCGATAAAGAACTGCATGGAAAGTTGAATCAACCAAGAAAGATATCACACGAAATCACCTCGTT
+CAGGGAGGTGACATTTGCTATAAAAATGAACAGGAAATGCTGTGAGGAGGGAACATAAATACTATTCATG
+TACCGCCATACAGGAGATTTTATTGTGTAGATATTCTTTGATATAATCTCTGGGGCCAATACTAAACTCT
+TTCTTAAAAGAATAATTAAAAGAGGATGATGAACTGTAGCCTAACTCTATTGCAATTTTTTTTATCTTAT
+CATTATTTTGTATTTTGCTTATAGCTTTCAATAATTTTATCCAGTTATAAAATTGATATAATCCTGTCCC
+GGTGTACCTCCTGAAAATCCGCTTAAGATAGTCCTCCTGTAAATAAACACTTGCGGCCAGTTCACGAATC
+GTTGTAGTATTATTATTCAGCATATTAAGAACAGTCAGTCTGACTCTGACATCAGTATTATCATCTGCGA
+TAAAATCAATCAACTTCATCTCCAGTAGTGATAATATAAGTGTAACCGATACTTTCCCATTAATAGATGG
+AGTAATATTTCCAATTGTTATTTTTTCTCCTGTTATTTTAAATATTCTGTCTATTGTTTTTTTTATTGTT
+TTTGAATATGCAAAATAGTGCGTATTTTCAGAAGTATTCTGAAAAGATGTAATTTCTTTTCTTGTCAGTG
+TAACACTATAATAAATGTTATTGTCATAGCCAAAGTGGTTTAAAACTATTAAACCCGCATCATTAAATCC
+CAGTTCTTGTGGAGAATACAATAACCGAATATGAGGGGAAAGGACTTCTTTTATAAAAGAAAATACTGTC
+ATATACAACCTCAATATATCTTATACTAACTGTATTTGCTATGTAACTTTAACATGCATTCAGTTATCAG
+AGATATTCTATCAAAATGGTATTATTTTACACACGCAGATATGCCTGTTAACAATTATTTATGTTTTACA
+CATTAAGCTCGACAAGCTTATTGCGAGAATAACTTCCTCACAACAAACTTGTCGAATATTACAGATTATT
+TTTTAATGACTTTTGCAGTATACCTGTTATCCGCCTTTCGATACAGACCATGAATATCGGTTTCAAAACC
+AGGATAGTGGTTACCAATTTCACAAAGCATTAACAAAAACTCCAGAACCGGACGATTGCTCTCTGTAATC
+ATTTCTCCGGGAAGAACTAAAGGTACTCCTGGTGGATACGGAAGAATCATATTAGCATTAATTTTCCCTA
+CCAAGTCTTCAATGAAACATTCCTCCGTTTCACCACGAAGTTCTGCCTGGAAAGCCTGCTGAGGTTTCAT
+TACCATTTCTGGCAGGACATCGAAAGCCCGGAACATTAACTCCGGCAGATTATGCTTGCGAATCAGATTA
+TGAATTCCCTGTGCCAGCTCCTGAATTCTCATATTGTTGTAAAAAGCTGGCGATTCGGCCCAGATCCCTG
+GCAGAATATCTTTGACCAGCTCATTACGATCGTACCGCTCCTTAAATTCATACAAACCATGCAGAAGACT
+AAGAGCCTTAGTATCATCAATCCCAATGCTGAACAGGAACAAAATGTTATATGGACCTGTTTTTTCGACA
+ATAATACCACGATCATCTAGGAATTTTGAAACTAATGCTGCGGGTATACCTTGTTCTTCAATTTTCCCGT
+ATTTATCAAGACCCGGCGTCAATAAAGTTACTTTAATGGGGTCAAGATACATATGTTCTTGATCAATATC
+TTTGAATCCATGCCATTGATCGTTTTTATCCAATGGCCAGCAATCTACCTCATTAATGTTCTCAGGTTGC
+CATACTTTAAAAAACCAAGTGTCACTGTTTTCAAAGCGGGCCTGGATTTCCTTACGAAAAGCCAGAGCAC
+GTTCCATGGATTCCTGAATAAGACGTTTGCCAGGATTGCCTTTCATCATAGCCGCAGCCATTTCAGTGGA
+GGCGACAATACCGTAATGAGGAGAGGTGGAGGTTTGCATCATATAGGCTTCATTAAAGGTTTCTTCATTA
+ATATCACCTTTAACATGAATCATGGATGCCTGTGAAAAAGCGGCTAACAGCTTATGCGTTGACTGCGTTT
+CATATATTACTTTTCCTTCAATACGCTTGCCACCCATACCCGTTTTGCCAGAATAAATCGGACTGAAATT
+GGTATATGGCACCCATGCGGAATCAAAATGAATAGATTTTACATCCAGATGTTCTTTGATCCAGTCGGTA
+TTATAAAACAGACCATCATAAGTAGAGTTAGTGATAACGGCATGAACTGGCCATGTTGCACCTGGCGTAA
+CAGCCATTTTCTGCTTAATCGAATCAGAAGAGAATTCCGTTCTGGGGATCCCCCCCAGAATGCCATATGC
+ATTTCGTGTAGGTTTCAGATATATCGGGATGATGTCACTCATCATCAACATATGTGTGAGAGATTTGTGG
+CAATTCCTGTCAATCAGTGCAGTACATCCTGCAGGTACGGAGAATTGCCCAACAATTTTATTAGCTGTCG
+ACGTTCCGTTCGTAACAATATAGCTTCTGTCAGCATTAAAAGTTTCAGCAATATACTTTTCGGCTTCTGA
+ATGAGGTCCTGAGTGATCAAGCAGCGACCCCAGTTCTCCGACAGACACTGAAATATCTGATTTCATGGTA
+TTTTCACCAAAAAAATCATAGAACAAACTACCTGCAGGCGATTTCTGGTAAGCTGTTCCTCCCATGTGTC
+CTGGCGTACAGAAAGTATATTTACCTTCCTTCACATAGTTAAATAATGCTTTTGTTAAAGGTGGTAATAT
+TGCATCAATATAGTCATTAATTATTTTCTGGATTTTATTAACAATTTCGTCAACAGAATAAAGGCAACAA
+TCAATAAGATGTACATTTCCGTCGAATGAATCAAAACAAAATTTTTTAATGGCAACATCATCGGTCTTAA
+GTAAGAAGACTGGCAGATGTTCATTCAGCATGCGAATTTTGTCAAGAATATCATTCGAATCATCCAAATC
+CAGTAATACTGCAGCGATTCTTGCGTTGTTTCTTATAATGGTTTCAATTTTCTCACTACAACCAGCCAGT
+TCAGTGCCAAAATTTTTTGTATGTAAATGAGAAATGATTTCTGCCACATATTTATTGTCAAAAGACTTAC
+TACCAATCAATATGGTATTCATACTTTAATTCCTCTTTTTGGTCTTGTTGATTTAAATATTTTTGTGCTG
+AATGCCACCCAGCTTTCTTGCGTAGAAAGCGAATATTAATAATGAAATAATAATTGTTGCAGTTATTTCA
+TAATGCTCTGCACCAGCCAGCGCAGCAAAACAGAACAACATAGCAAACGCTGAAGCGATCAGACTCAAAA
+TACTTTTTGAAGTTGCACTTTCAAAACGAATAAGGTCAATAGCCGAGTAAAAATATGGGAACATAGTTAA
+CAAAACAGCAATGCTTGTTAATTGAGTAAATAAATCCGCAGCGTTAGAACCACTGGCACTGAGAATAGTC
+AGTAATACCATCAAAATGCTCATCATCGTTGATGCAATGAGCAACCCTTTCTTGGGTACACCATTATTGT
+CTGTTTCTCCAAATACAGCCGGGAAGTTACCATCCATTGCTGCACGACGTCCTGCCTGTCCAACCAGCAT
+CATCCAGGAGCCCAGAGATGTCAGACATGCAATAGCCGTAAATGCCGATACAAATGGAGCCGCCCAGTCC
+CCGACAATTCTGGATGCACTTAAAGCAAAAGGTGCTCCTGAATTTGCCACGACTTCGTTCGGAAACATGC
+CTGCAATAACTTGGGAGGCCGCAATATAAACTATTCCTGCAAGTGCAGTTCCCCCCAGCGTTGCCAATGG
+AACTGTTCGGGAAGGATTATGGACAAGATCTGAACTAACTGCCGCAGATTCGACACCAACAAATGCCCAC
+AAGCAAAGAAGAACAGAATTAATAACAGCCTGGTGGACATTTCCATCTGGCTGAGCCATCCAGTTCTGGC
+GATAAACTTCAATATCGAATGATCCCCAACCGAATAATGCCGTTCCAACTACAGGTATAAGAACAAGCAC
+AAGTCCAATTGATGTCAACCGACTGACCCATGCCCCGCCCAGCAAGTTCACAAACGTAAATAACCATACC
+ATGGCAATACTGGTAATCGCTGCCGGAACAGGATTATTCAGAACAGGGAAAAATACTGATAAATATGCCA
+CTGCAGTAATAGCTATTGCTAAATTACCAATCCAGTTTGCATGATAATAAAGAATGGATGTCTGATGCCC
+GAATATTGGAGCAACTTCTCCAGCATACGCAATAGGCCCACCTGTTTGTGGGTTATTAGTTGCCAGACGA
+GCAAAAACATATGCCAGAGATAATGCACCAATTGCCGCAATAATCCATCCCCATATAGCGACAGAACCTA
+TTTTCGCCAGACTTGCAGGAAGAAGCGCAATACCACTTCCCATCATATTTCCAGCGACAACTGCAATACA
+TGTTATTAATCCTATTTTTTTAGGACCACTCATAATTTTATCCTCTTTAGCCAAAGATTTATTAATAATT
+AACTTCCTCAATGACATATTTAGTATTTACTTATAGTAATTCGATGATGTGATATTGATCATGAAAATTT
+TATTAAGCACGAACCTTTAGTTTTGCATTTTAGATATAGTTATATATTCTGGATAAAGTTCAGTTTTTTG
+TTTTGTGATGTATTTACTCAAGAATTTCCTTATGCATAATTTCTTCGCTATGAAGCATGGAGCGAAGAAT
+ACTTATTCTGTAATCTCTTGTTTTATTCCGAAGATATGTAAGTGTGAAACCTGCCAGCACTGCTTGTTAT
+ACCAATTTCTTGCAAGACAACTGAGAACCTTTCAAAATCAGATGGAGTTCTAATGAATTCAAACTTCGTA
+TGGTTGAACTGGCATCACAACCCGGTGCTTGTGTGGCCCAGATTGCACGAGAAAATGGTCTCAATGATAA
+TGTTATTTTCAAATGGCTCAGACTATGGCGGAGCGAAGGGCGTGTTTCGCGGCGTCTTCTGGTAACGACT
+TCTTCTGACTCTGGCGTTGAATTATTACCTGTGGAGATAACTCCGGATGAGCAGAAAGTGCCAATGACGG
+CCATTGCTCCGTCTTTATCCACTTCCACTCAGACTACAGTCTGTGCCAGCTCCTGCAAGGTGGAGTTCCG
+TCACGGTAAAATGACGCTGGAAAATCCTTCGCCAGAGCTGCTCACGGTGTTGCTCCGTGAACTGACCGGG
+AGGGGAGGATGATTTCACTCCCATCGGGTACCCGCATCTGGCTGGTTGCCGGCGTTACCGATATACGTAA
+ATCCTTCAACGGATAGGACATATGCTGAAGGAGGAGCAGTAATGGATTAAGTGATCACAGATGCCCGGAA
+ATATAGATTCAAATCCAGCTTAGTTAATACATAAATACTATTTTGATGAAAATTATTATATGTTACCTCG
+GATTTTAATCAGGCCCTCAGATTAAATTAAATATTGAGCGCCTGATTATATTTATTCATTAATATCTGTC
+ATTGATTGTCTTACTATCAATTACCCTCCGTATTAATCAGAGTTTTCATTTATTTTTAGTGCATAATCAG
+ATGCCGCTTCATCATTATCCTCACTGTTATCATAGCCGAAAACTTCCCCCGGACACGGGCGTTCACGATA
+ATAGTCATCGTCATAGTTTTCATCGTCAGATAATGATATGTCGTATTCTGAATATGATTCACCACAATTA
+TACATAAAATCATCTCCTTTGGGATGGTTACAATAATTAGTGAGTTTATTCGAAAAAATAATGAGCGCCA
+GACCAATCCACCCGACTTTTGATTATAATCATGAAGATACCTGTCTCAGTACAAATAGAATCAAACTCAG
+TGCAGCATGATTCACCTTTATATTCTCTCAGGGAAACCAAATACCACTACTCAACTATTAAGAACAAAAT
+TCTGGAGGTATGATTATCTGAAGATACCTGCATCCTAAATAATTTCAGACAGATATTATCTCCGTGAATC
+CCCCGCCACCTTTCCGGTGCGCGGGGTTTTGTCTTTTTTCACCGGGAATATATGTATGAATCCGTCTGAT
+GCCATTGAGGCAATTGAAAAACCGCTCTCCTCCCTGCCTTACTCACTTTCCCGTCACATCCTGGAACATC
+TGCGCAAACTCACCAGCCACGAACCCGTGATTGGCATTATGGGTAAAAGCGGGGCCGGTAAATCCTCACT
+CTGTAATGCACTGTTTCAGGGGGAGGTCACCCCGGTCAGTGATGTTCACGCCGGCACCCGGGAAGTGCAG
+CGCTTCCGTCTGAGTGGCCATGGTCACAGCATGGTTATCACTGACCTGCCCGGGGTGGGAGAGAGCCGGG
+ACAGGGATGCAGAGTATGAAGCCCTGTACCGTGACATTCTGCCTGAGCTGGACCTGGTACTGTGGCTGAT
+TAAAGCCGATGACCGTGCCCTGTCTGTGGATGAGTATTTCTGGCGACACATACTGCAACGCGGACATCAG
+CAGGTGCTGTTTGTGGTGACGCAGGCCGATAAAACGGAGCCCTGCCATGAATGGGATGTGGCCGGCATTC
+AGCCTTCTCCCGCACAGGCACAGAACATTCGGGAGAAAACGGAGGCGGTATTCCGTCTGTTCCGGCCCGT
+ACATCCGGTTGTTGCCGTATCGGCCCGCACCGGCTGGGAACTGGATACGCTGGTCAGTGCGCTCATGACA
+GCGCTTCCCGACCATGCCGCCAGTCCCCTGATGACCCGCCTGCAGGACGAGCTGCGCACGGAATCTGTCC
+GCGCTCAGGCCCGTGAGCAGTTTACCGGTGCGGTGGACAGGATATTTGACACAGCGGAGAGCGTCTGTGT
+TGCCTCTGTTGCACGCACGGTTCTGCGTGCCGTCCGTGACACAGTGGGCTCTGTTGCCCGCGCGGTATGG
+AACTGGATCTTCTTCTGAACCTGTTGTGGATGATGTCCTTCCTGCCTCTGAGTCTGCTCACAAAAGCGCT
+GTTTTCGTTACTGTCTCTCTTGTCCGTGCAATAGCTTGATAATAGAATAAAACGATCGATACCTATTTCA
+CCGATCGTTAATATCGATCGTTATGCTAATAATAACTCATGTTAGCAACGTGCGCAGATACACACAGTCA
+TGAGATTCAGGGAACAACAGAGCCACACGTCAGAAACTTCCGTCAGCCGGACCTCCGGCACTGTAACCCT
+TTACCTGCCGGTATCCACATCTGTGGATACCGGCTTTTTTATTCACCCTCACTCTGATTAAGGAAATGCT
+GATGAAACGACATCTGAATACCTGCTACAGGCTGGTATGGAATCACATTACGGGCGCTTTCGTGGTTGCC
+TCCGAACTGGCCCGCGCACGGGGTAAACGTGGCGGTGTGGCGGTTGCACTGTCTCTTGCCGCGGTCACGT
+CACTCCCGGTGCTGGCTGCTGACATCGTTGTGCACCCGGGTGAAACAGTGAATGGCGGAACACTGGTAAA
+CCATGACAACCAGTTTGTATCCGGAACAGCTGATGGCGTGACTGTCAGTACCGGGCTTGAGCTGGGGCCG
+GACAGTGACGAAAACACCGGCGGGCAATGGATAAAAGCGGGTGGCACAGGCAGAAACACCACTGTCACCG
+CAAATGGTCGTCAGATTGTGCAGGCAGGAGGAACTGCCAGTGATACGGTTATTCGTGATGGCGGAGGGCA
+GAGCCTTAACGGACTGGCGGTGAACACCACGCTGGATAACAGAGGTGAGCAGTGGGTACACGGGGGAGGG
+AAAGCTGCCGGTACAATTATTAACCAGGATGGTTACCAGACCATAAAACATGGCGGACTGGCAACCGGAA
+CCATCGTCAACACCGGTGCAGAAGGTGGTCCGGAGTCTGAAAATGTGTCCACTGGTCAGATGGTCGGGGG
+GACTGCTGAATCCACCACCATCAACAACAATGGCCGACAGGTTATCTGGTCTTCGGGGGTATCCCGGGAC
+ACTCTCATTTACACAGGCGGTGACCAGACGGTACACGGAGAGGCACATAACACCCGGCTGGAGGGAGGAA
+ACCAGTATGTGCACAAATACGGACTTGCGCTGAACACGGTAATTAACGAGGGGGGCTGGCAGGTTGTTAA
+GGCAGGTGGTACTGCCGGCAACACCACCATAAATCAGAACGGCGAGCTGAAGGTTCATGCCGGCGGAGAA
+GCGTCTGATGTCACCCAGAACACGGGAGGTGCACTGGTTACCAGCACAGCAGCAACCGTCACCGGTACAA
+ACCGCCTGGGAGCATTCTCCGTTGTGGAGGGTAAGGCTGATAATGTCGTACTGGAAAATGGTGGACGTCT
+GGATGTGCTGAGCGGACACACAGCCACTAATACCCGCGTGGATGATGGCGGAACGCTGGATGTCCGCAAT
+GGTGGTACCGCCACCACCGTATCCATGGGGAATGGCGGGGTACTGCTGGCCGATTCCGGGGCCGCTGTCA
+GTGGTACCCGGAGCGACGGAACGGCATTCCGTATCGGGGGCGGTCAGGCGGATGCCCTGATGCTGGAAAA
+AGGCAGTTCATTCACGCTGAACGCCGGTGATACGGCCACGGATACCACGGTAAATGGCGGACTGTTCACT
+GCCAGAGGGGGCTCGCTGGCGGGCACCACCACGCTGAATAACGGCGCCATACTTACCCTTTCCGGGAAGA
+CGGTGAACAACGATACCCTGACCATCCGTGAAGGCGATGCACTCCTGCAGGGAGGCTCTCTCACCGGTAA
+CGGCAGCGTGGAAAAATCAGGAAGTGGCACACTCACTGTCAGCAACACCACACTCACCCAGAAAGCCGTC
+AACCTGAATGAAGGCACGCTGACGCTGAACGACAGTACCGTCACCACGGATGTCATTGCTCAGCGCGGTA
+CAGCCCTGAAGCTGACCGGCAGCACTGTGCTGAACGGTGCCATTGACCCCACGAATGTCACTCTCGCCTC
+CGGTGCCACCTGGAATATCCCCGATAACGCCACGGTGCAGTCGGTGGTGGATGACCTCAGCCATGCCGGA
+CAGATTCATTTCACCTCCACCCGCACAGGGAAGTTCGTACCGGCAACCCTGAAAGTGAAAAACCTGAACG
+GACAGAATGGCACCATCAGCCTGCGTGTACGCCCGGATATGGCACAGAACAATGCTGACAGACTGGTCAT
+TGACGGCGGCAGGGCAACCGGAAAAACCATCCTGAACCTGGTGAACGCCGGCAACAGTGCGTCGGGGCTG
+GCGACCAGCGGTAAGGGTATTCAGGTGGTTGAAGCCATTAACGGTGCCACCACGGAGGAAGGGGCCTTTG
+TCCAGGGGAACAGGCTGCAGGCCGGTGCCTTTAACTACTCCCTCAACCGGGACAGTGATGAGAGCTGGTA
+TCTGCGCAGTGAAAATGCTTATCGTGCAGAAGTCCCCCTGTATGCCTCCATGCTGACACAGGCAATGGAC
+TATGACCGGATTCTGGCAGGCTCCCGCAGCCATCAGACCGGTGTAAACGTTAAAAATAACAGCGTCCGTC
+TCAGCATTCAGGGCGGTCATCTCGGTCACGATAACAACGGCGGTATTGCCCGTGGGGCCACGCCGGAAAG
+CAGCGGCAGCTATGGCTTCGTCCGTCTGGAGGGGGACCTGCTGAGAACAGAGGTTGCCGGTATGTCTGTG
+ACCGCGGGGGTATATGGCGCTGCAGGCCATTCTTCCGTTGATGTTAAGGATGATGACGGCTCCCGTGCCG
+GCACGGTCCGGGATGATGCCGGCAGCCTGGGCGGATACCTGAATCTGACACACACGTCCTCCGGCCTGTG
+GGCTGACATTGTGGCCCAGGGAACCCGCCACAGCATGAAAGCGTCATCGGACAATAACGACTTCCGCGCC
+CGGGGCTGGGGCTGGCTGGGCTCACTGGAAACCGGTCTGCCCTTCAGTATCACTGACAATCTGATGCTGG
+AGCCACAACTGCAGTACACCTGGCAGGGACTCTCCCTGGATGACGGCCAGGATAACGCCGGTTATGTGAA
+GTTCGGGCATGGCAGTGCACAACATGTGCGTGCCGGTTTCCGTCTGGGCAGTCACAGCGATATGACCTTT
+GGTGAAGGCACCTCATCCCGTGACACCCTGCGTGACAGTGCAAAACACAGTGTGCGTGAACTGCCGGTGA
+ACTGGTGGGTACAGCCTTCCGTTATCCGCACCTTCAGCTCCCGGGGTGACATGAGCATGGGGACAGCCGC
+AGCCGGCAGTAACATGACGTTCTCACCGTCACAGAATGGCACGTCACTGGACCTGCAGGCCGGACTGGAA
+GCCCGTGTCCGGGAAAATATCACCCTGGGCGTTCAGGCCGGTTATGCCCACAGCGTCAGCGGCAGCAGCG
+CTGAAGGCTATAACGGTCAGGCCACGCTGAATGTGACTTTCTGATAATCAGGTCACTCCCCTTCAGGCCC
+CGGTCATCATGACCGGGGCTTTTTACTTTCAGGGAGCAACAGATATGCCGGGTTGTACAGCACGTTTATT
+GCCGAAGGCTCTTTTGCTGCCAAATGGCATCTGAATAGATCACAGTCTGGCCGGTTATTACCCGATCCCG
+ATGGGGTTATTGGGTGATCTCCTTCCATAAAAATACGCAGCTCGCCAGTGAAGGGCTTCTCAGACAATAA
+ACGTCATTCATTTCCCCCATCAGGCCGCGTCTTCTCCGGGAGACGCGGCTTTTTCATTTATACCGCTAAC
+TCATTCATAAGGAATAAATCATGCGATTAGCCAGTCGTTTTGGTTATGCGAACCAGGTACGTCGTGATCG
+TCCGCTGACACACGAAGAACTGATGCGCCATGTACCGAGTATTTTTGGGGAAGACCGACATACCTCCCGC
+AGTGAACACTATGCGTACATTCCCACTATCACCGTCCTGGAAAATCTGCAGCAGGAAGGCTTTCAGCCAT
+TCTTCGCCTGCCAGACCCGCGTACGTGACCCGGGCCGCCGGGGATACACAAAACACATGCTGCGCCTGCG
+CCGTAACGGGGAGATAAACGGACAACATGTCCCTGAAATTATTCTGCTCAACTCCCATGACGGTACCTCC
+AGCTACCAGATGCTGCCGGGTTACTTCAGATTCGTCTGCCAGAACGGCTGCGTCTGCGGTCAGTCTCTGG
+GGGAAGTCCATGTGCCCCACCGGGGAAATGTGGTGGACAGAGTCATTGAAGGGGCTCACGAGGTAGTGGG
+CGTTTTTGACCGGATTGAGGAAAAGCGTGATGCCATGCAGTCTCTGGTTCTGCCGCCACCGGCACGTCAG
+GCACTGGCACAGGCGGCGCTGACTTACCGTTATGGTGATGAACATCAACCCGTCACCACTGCCGACATTC
+TGACACCACGACGCCGGGAGGATTACGGTAAGGACCTGTGGAGCGCATATCAGACCATCCAGGAGAATAT
+GCTGAAAGGCGGGATTTCCGGCCGTAGTGCAAAAGGAAAACGTATCCATACCCGCGCCATTCACAGTATC
+GACACCGACATCAAGCTCAATCGCGCATTGTGGGTGATGGCGGAAACGCTGCTGGAGAGCATGCGCTGAT
+GTTGTTTCCCTGAAAGTGCAACCCTGACTCACGTCTGTATCAGTCCCCAGGCATTCTTCCATTCATTTGC
+TTTTTATAAGGAATAGTCTCATGACAACCTCTTCGCATAATTCCACCACACCTTCTGTTTCCGTAACAAC
+TGCATCAGGGAATAACCAGTCTCAACTGGTTGCCACTCCTGTCCCTGATGAACAGCGCATCAGTTTCTGG
+CCGCAGCATTTTGGCCTCATTCCACAGTGGGTGACCCTGGAGCCCCGTGTCTTCGGCTGGATGGACCGTC
+TGTGCGAAGACTACTGCGGTGGTATCTGGAATCTGTACACCCTGAACAACGGCGGGGCATTTATGGCCCC
+TGAACCGGATGGCGATGATGACGAAACATGGGTACTGTTCAATGCCATGAACGGTAACCGCGCTGAAATG
+AGCCCGGAAGCCGCCGGCATTGCCGCCTGTCTGATGACGTACAGCCATCACGCCTGCCGTACGGAGTGTT
+ATGTCATGACGGTTCATTATTACCGTCTGCGGGATTACGCCCTGCAGCATCCGGAATGCAGCGCCATTAT
+GCGCATCATTGACTGAAAGGGGGCCGGAACAATGCAACAGATTTCCTTTCTGCCCGGAGAAATGACAACC
+AGAGAGCGCAGCCTCATTCAGCGGGCCCTGAAAGCCCTGGACCGCCATCTTCATGAACCCGGCGTGGCCT
+TCACCTCCACCCGTGCGGCACGGGAATGGCTGATTCTGAACATGGCGGGACTGGAGCGTGAAGAATTCCG
+GGTGCTGTATCTGAATAACCAGAATCAGCTGATTGCCGGTGAAACCCTCTTCACCGGCACCATCAACCGC
+ACGGAAGTCCATCCCCGGGAGGTGATTAAACGCGCCCTGTACCACAATGCCGCTGCCGTGGTGCTGGCAC
+ACAATCACCCGTCCGGTGAAGTCACACCCAGCAAGGCAGACCGCCTTATCACGGAACGTCTGGTACAGGC
+ACTGGGCCTGGTGGATATCCGGGTACCGGACCATCTGATAGTCGGTGGCAGCCAGGTTTTCTCCTTTGCG
+GAACACGGCCTGCTTTAACCCGTCACCGTCACAACCACATCACACCTGTTTTCACTTTTATCTTCTGTCT
+TCAGAGGTATCCCATCATGAAAATCATCACCCGTGGTGAAGCCATGCGTATTCACCGTCAGCATCCGGCA
+TCCCGTCTTTTCCCGTTCTGTACCGGCAAATACCGCTGGCACGGCAGCACTGAAGCGTATACCGGTCGTG
+AAGTGCAGGATATTCCCGGTGTGCTGGCCGTGTTTGCTGAACGTCGTAAGGACAGTTTTGGCCCGTATGT
+CCGGCTGATGAGCGTCACCCTGAACTGATGTTCCGTCACCCGGAAAACGAGTACGACTGGCTGAGCTCAG
+ACGCCGCTGTGGATGAGGCCCTGCTCATAAACGAATACACCTTTACCGAAGGCGGTCTGCGCGCCGGCTG
+ACCTGTCATCGTTAAACCATTCTTAACCGATTTTCTGTGAGGATTTTATCGTGTCAGACGCACTCTCCGG
+GACAATGCTTCCCGACGACAATCACGACCGCCCCTGGTGGGGGCTGCCCTGCACCGTGACGCCCTGTTTC
+GGGGCACGTCTGGTGCAGGAGGGTAACCGCCTGCATTACCTTGCCGACCGCGCCGGTATCAGAGGCCTGT
+TCAGCGATGCAGATGCGTACCACCTGGACCAGGCCTTTCCGCTGCTGATGAAACAACTGGAACTCATGCT
+CACCAGCGGTGAACTGAATCCCCGCCATCAGCATACCGTCACGCTGTATGCAAAAGGTCTGACCTGCAAA
+GCTGACACTCTCGGTAGCGGTGGTTACGTTTATCTGGCTGTTTATCCGACGCCCGAAACGAAAAAGTAAA
+CCACCGGAATAATCGTCTGTTCCGGCCCGGTGCATTACAGCACCACTCTTCCCACAATTTACTCTCTCAT
+ATCAGGAATATCTTCAGTATGAAAACATTACCCGACACACACGTACGGGAGGCATCGCGCTGCCTGTCTC
+CGGTTGAAATCTGGCAGACACTGCTCACCCGGTTACTGGACCAGCACTACGGCCTCACACTGAATGACAC
+ACCGTTCGCTGATGAACGTGTGATTGAGCAGCATATTGAAGCAGGGATTTCACTGTGTGACGCGGTGAAC
+TTTCTCGTTGAAAAATACGCCCTGGTGCGTACCGACCAGCCGGGATTCAGCCCCTGTACCCGCTCTCAGT
+TAATCAACAGTATCGATATCCTCCGGGCACGCCGGGCAACCGGCCTGATGACCCGCGATAACTACAGAAC
+GGTAAATAACATTACCCGGGGTAAGCATCCGGAGGCGAAACAATGAAACTGGCCCTGACGCCGGAAGCCG
+ATAGCATTAACGTGCAGGCACTGAACATGGGGCGCATTGTCGTTGACGTCGATGGTGTTACTCTCGCTGA
+ACTGATTAACGTGGTCTGTGATAATGGCCACTCCCTTCGTATTGTTGATGAATCTGACCGGGCCTCAACA
+GACTGCATGCCACCATTTGCTGCCCTTACCGGTATACGCTGCAGTACCGCACATATCACGGAAACGGACA
+ACGCCTGGCTGTACTCGCTGTCACACCAGACTAATGACGACGGCGAATCAGAATGGATTCATTTTACCGG
+CAGCGGCTATCTGTTACGTACTGATACGTGGCCGTATCCGGTTCTGCGGCTTAAACGACTGGGCCTGTCC
+AGAACGTTCCGCCGTCTGGTTGTCACTCTCATCCGCCGTTATGGCGTCAGTCTCATTCATCTGGATGCCA
+GTGCCAGATGCCTGCCGGGTTTACCCACTTTCAACTGGTAACCAGGAACAACATGAAATCATTAACCACG
+GAAACCGCACTGGATATTCTGATTGCGTGGCTGCAGGACAATATCGACTGCGAATCGGGGATTATCTTCG
+ACAACGATGAGGATAAAACGGATTCGGCAGCACTGCTGCCCTGTATTGAACAGGCCAGGGAAGATATCCG
+TACCCTGCACCAGTTGCAGTTTCTGCAACAGAACTGGTGAGTCTTACTCACCAGACTTCATTCCACTGAC
+GCCAGCCTGAACAGGGCTGGCGTTTTCATTTATCTGCAAAAAGGAATATCGATTATATCTGAACTCACAG
+CCTCCCGTCCGGAAGTGGTCAACGGACATACGGACGTTATCGGCTCAACCAGTATCCGCCACATTCTGGC
+TGTACGACAGAGTACATTGCTGCAAATCGACACACTTATCCGGCAACTGGCTGAAATCTCAGCAATGACA
+GTAAGTATTGGCGGTAAAACTGCACTGGACTGGGCCATGAAACAGGATTTTCGCTGCGGTTTCTGGCTGA
+TGGAGAAACCTGAAATCGCAATGAAAGCCATCACCCGGAATCTCGATCGCGAACTCTGGCGTGACCTGAT
+GCAACGTTCCGGGATGCTTTCCTTAATGGATGCACAGGCCCGTGAGACATGGTACCGGTCACTGGAGTAC
+GATAATGTCCCGGAAATCAGTGAAGCAAACATTCTGAACACATTTAAACAACTGCACCAGAATAAGGATG
+AGGTGTTTGAGCGAGGGGTGATCAACGTCTTCAGGGGACTGAACTGGAATTACAAAACCAATTTACCCTG
+CAAATTTGGCAGTAAAATTATCGTCAACAATCTGGTGAGATGGGACCGGTGGGGATTTCATATTGTCACC
+GGACAGCAGGCTGACCGGGTTGCTGACCTGGAAAGGATGCTGCACCTGTTCAGCGGCTGGCCCATCCCCG
+ACAACCGGGAAAATATCATCATCCGTCTGGATGACCACATTCAGTCCGCTCAGGGTCAGGAGTGCTATGA
+ATATGAAGATGAGATGTTCAGCATCAGATACTTTAAGAAGGGCTCCGCGCACATCACGTTCAGAAAACCG
+GAACTGATTGATCGGCTAAATGACATCATTGCGAAGTATTATCCAGAAATAATCCCATACAATATCTAAT
+AAAACTAATCATTTCTTGTTGTGACTGATTTAGTTGAACCATACTGCATGGTCGAGTAGACAGGGTATCT
+CAGACCATGCATGTATTTTTATCATCTGTTCCCAAATTTTATATGAATAACATTATCCGGAGCATTCTGC
+TGCACAGTAATGACGTTATTCATAATAAAATTCCCCCATTCTATAAATAAATTTTTTAATTTTTCAGCTT
+GTTGTCCGACTTGATATGTTCGTATTAAACGGTCTTTGGGTACATGATTTAACAGTAACTCTATTAGGCG
+CTCTGGAGCATCAAGGTATTCAGCGCATCCAGTCGCAACACTTCTACGCAGATCATGAGGAGAAAATGGA
+GTAAGTTCGGCTAGATACTTAGAGCGAACCCTTTCTAACGCGCGAGTCAGAGCGTCATTTGTGATGGGAA
+AGTCAGGTTTGCTAGTAGAACCAAAAACATATGCACCTTCAGTGAATTCACGTTGTGTTTTTATTAAAGA
+AAGCATATACGGATGTAAAGTAACAATATGGCTTTTCCCATTTTTAGTGGCTGGTATGGTCCAACGCTCT
+CCATTAATTTGATCCCAGCGCATTTGTGCCGCTTCAGAGCGGCGCACTCCTGTGAAAATAATCAAACGGA
+GTGCATTTGCGACAGAATGAGATAATACCACACTAGAGGAAATTCCATAGCCACCAGATGCAATGGAGCC
+TCCTCCAACAGTAGCATCATCCAAAGCCTTCCATAGCATCCGGAGTTCATTCTCAGGAAGCCATCGCTCG
+CGAGGTTTATTCATCGATGCACCAAACATTGCTGGTTTGAGCAGTCGTGCTGGGTTATGCTCAAGCATAC
+CCTGTAAGTTGGCATGATCAAGAGTCATATTTAGAATAATTAATCCTTTACGAACTGCTTCAGAACTGGT
+TTTTCTTACATTACTGAGATGTTCAAAAATAACGCTTTTGGTAAGTTCGTCAATGCGAAGGTTTCCTAAT
+GCTTTTTCAAGGTGGCGGTGATAAGTCCCTTCATAATCTGCAAGGGTTCTGGTGCTAATTGGTTTGCTTG
+TCTTTCTGAATTCTATCCAATCTTTCCATAATTCAGAGTAAATAATCATTTGTTCATTTTTTTGTTTTTC
+ATTTTTTCTAATATGACGAGGATCTATACCTTTTCTTACTAATTCAATTGCATCCGCATGAGCTTTACGA
+GCTTGAGCTAATCCCATGGCAGGGTAACTACCTAGTGTTAATTTAGCTGGCTTTTGAGCTATTCGATAAC
+GATAAATCCAGCTTTTATTGTCGCTACCATAACGAACGCGTATAAAGAGTCCTCCCCCAGCTTTAGATTT
+TACAGCAAATAAGATTTCTTTTTCTTCTTTAGTAACGGTCAATGAAGCCAATTGTCTGTCTTGTGTAATA
+GTAAAAGTCATATCTTCAGCCTTTTGGGTACACAGCGGGGTACACATTTAACATGATATCATCAGAAACA
+AGGCGAAACATCTTGATACTGCATTTGTGTGTATTTTATTGATTTTTATATATTTTTTATTGTATGTTGA
+AACGGCTGTGAACATCTTGAATCACTGGTCTCGCTAATTCGTAATGCGAAGGTCGTAGGTTCGACTCCTA
+TTATCGGCACCATTCTAACGTCTCCCCAAGTCTACTCAAGTATTTAAAAACCTCTTATAATCAGTATATT
+AATGCCCCTTTTAGTCTTTTGACGTCTATTTAAGTACCCCAAACTCTACAAGCAATTGAGGGGATTTGCT
+GTTCAGTTTAGTGGAGATACCCCCAAGTGAAACTCAATGCCCGTCAAATAGACACTGCCAAGCCAAAAGA
+GAAGGCTTACAAGTTGGCTGATGGTGGTGGTCTGTACCTCCTGGTAAAACCTGGTGGAGGAGAATATTGG
+CGTCTCAAGTATCGTGTAGCTGGTAAAGAGAAGCTGTTAGCACTAGGTGTGTATCCTGAGGTCACCTTAG
+CTGATGCTCCTGCAAAACTTGAAGAAGCTAAAAGAGGTATCTCTGGGGGAATCGATCTGATGGAAGTGAA
+GCGAGAGGAAAAGATTGCCCGGGAAACGCAGTTAAACAACACCTTCAAAGATATTGCCCTTGAGTGGCAC
+AGTAACAAATTATAATCACAATAATAGTGTATATAATTATACATTGTATGCTTGGTAATCATATAATGAT
+AAAAGCTTCCGATAATCAGTATGAGATTTGTCCTTAAACTCCTGGACATGCTTTTCTAAATCTTCCAATG
+GTATATGTCCATTTATACAAATAAAATTCTAGTGATAAATACCTTCAGGTATGATTAGACAACATCTTTA
+TTCGATGGGGGTTAATCTATATTTGATATCTTTCTTTTAAATAACAACGCCATTAAAAACGCTTTGTTTA
+ATGACGTTTTTTTATTGTTTCCTGTATAAAGCCTAACCAGCATAAACATTGGTGGCTCTTATGCTCATTG
+TAATTAAATGAGAGTGTGATTAATGTCTTTATATATTCAGGTAGTTATTCTCTCCAGAAGAATACATTGT
+AAGAAGATGACTGTTAGTATGTTTTAACATCAATTAACATTAAGGTTTGATAATAATTTTTTGTTGGCGA
+GTTCAAATGTTTTCATTTCATCATCTGATAGCCCGCTCCAGATTTTCTTTAGCATTACATTTTGAGTGTT
+TATTAGTTTTTGAGCAAGTGTAACTCCGTCAGGGGTTAAGCAAATACTTTTGCTTCGACGATCGTTTTTA
+TTATTAATTCTTTTGGCAATATTCTTTTTTTCTAATTTGTCTATGATGTGTGTGATGTTTGTTTTGGAGA
+ATTGTAACTCCTTGTAAATATCAGAAGGGGACTGACAATAATCATCAGACATATATAATGAAACTAACAC
+CATAAATGTTGAAGTGTTTATTCTATACTCGCTCAATTCATTTTCTATAATACTCTGGATTTTGTCATTT
+ACTCTAATATATAAGTGTATTAACAGACTCTCCTGAGCCGGGTATGCCGGATTTTTGATTTTTTTGTAGT
+TTGTTATAGTTTTTAATAAATCTATATTATTCATAATTCCACCACACGGCAAAAGAAAACTCATGAAGAT
+TACTCAACCTGAGTGTTACATGAAGTATCGTGAACGCCGGAAAATCTAAGTTCCAGCCTGTACCGTAATC
+AGATAATCGCAGCAAAGGGACAAAGCAATAGTCCCTTTGCTGCACAGCATCAGAATGAATAACGAATGTT
+AGCGTTTATCGCATCATCTGTGTTGTATTTACCGAATGCAGAGCGTTCAACTTCCAGCCCCAGACGCGTA
+TTGTCGCCAAACCGGGCATTTAACCCCACACCGTAAAGCATACGACCGTCTTTTCTCCCATTAATCTGAT
+GTTCTCCCGCTGCATCCTTCAGGTGAACGTCAGCACTGTCCGTCAGATCGAACTCATAATGTAGGCCGGC
+ACGGGCTGTCAGACTCCAGTCCTTACCACTGAAGGTTTTACCGGAAACAACGCCGGTTCTGCCTACCAGA
+GGATTAACGCTGTTACGACGCATTGAGACATCCATTCCACTGTCGTTCCAGTTAAATGTTTGGCCCTGCA
+GTCTTCCCCAGACCAGTTCCGCCTGAGGTTCAACAAACGTCGTATCTGTCAGATGATAACGGTATCCGAC
+TTCTGCACCTGCATACAGTGAATGGCTGCGGAAGTTCTGTTTACCAGCTCCGGCAAAGTTCAGGTCATAT
+TTGTTTTCATTGTGAATATATTTGGCAATCAAATCAAAGTAAGCGCCGGACCGGAACAGACCACTGGCAT
+AGAAACCACCACCCCATGATTTTGTTTTACCGCTGTACAGGCCTGCTGACGCATCTGTGTCAGTGTAGGT
+GGCCATCACGCCGGTAAACAGGTCCATACTTCCCAGTTCGTGCTTACGGTCAGCCCCCATCTGCAGCAGG
+GTATAGTGGTCAGTGAAACCGCCATCAGCAGAGCCGGAACCGTTCAGCAGACGCACCCACGTACCGGCTT
+CGCCGTTAATATCCCTCAAATCGCCCATGCGTTTGTTCAGGTTGTTAACTTCAGTGATGAAGTTGTTATA
+GCTGATGTGCATGAATGTGGCGGCAGCCTTACCCTGGCCGTCGTTACGTGCAACCTGGTAACCATCGAGG
+ACCCACTCTTTTTTCCCGTCCTCTTTTCTGACACTAAGGGTGGGGGTGACATCACTGAATCCCACAACCC
+GTGTTGATGCCCTGAACAGATTATCAGCTGTCGCTTCAGGTGCGCTGACCAGTGGAATATCAAGCGTGTC
+CTTGTCAGAGGGTTTTTTCAGGAAGTTAACCCAGATGCTGTTGTCATGACCTGTTGCCGACTTGTTTATC
+ACCAGTTTGTCTGCCTTGTTAAGGTCTGTACGCATGACAAATGCTGACTGAACCGCGTCCAGATTATCTG
+TTGTCAGTGTCGTGAACGATGATGTTCCCCCGTTAAAACCGACTATTGTCCGGTTAAGTTTCATATTTCC
+TGCCGTGGAGTTTCCGTTCATCGACCACTGGGTGTCTGTCATGCTGACGGTGGCATCCGGTGCATTCAGG
+CTCCCGCTCCAGGTATTGCGGTACCCGTTAAACAGGCTGTACAACATCTGATTCTGAAGAGTCAGGTCAG
+GACTCAGTTCCCCTTCCCCTCCGAGGGTGACAGTCCCTTTATCCTGAACATTGATATTACCTGACAACAT
+ACTGTACGGCCCCACGTTCAGGCGGGCATCGTCTCCCTTCAGGTTCCATGAACCGGCATAATCGTATACA
+GGTAAAAGTGTGTGAGATACCTCATCAGGACGGCTGTTCAGACTCAGGGTGGCATCAGAAATATTCACTG
+GACCGTCAGAAACAAAACTCTGACTGGCCAGAGCATTTGCTCCCTTGTTCAGATTCAGGGCGGTACTGGT
+CAGCGTTGAGTTCCCCAGAATGGCACTGTCTGAGGAGATATTCACGGTACTGTTGTTCGCCTGTATTCCG
+CCATTGAATATATCATTGATATTCAGCACTGACTGATTATCCAGGTTGACGGTGCCGTTGAAGACACTTT
+TATCTGCATCTTTAGTTGCAACAGATGTGCCTTCTTCAAGGGTAAAGGCTGTTCCCTGGCCATCTTTTTT
+GTCGATAAATACCCGACTGTCGCCCAGCGTGACGCTGGAGTTATCTGCCTGGATGGTTGTGTTCAGTGTG
+GCATTGCGGCCCAGACCAAAGTCTGTATCTTTTAACACGAGCGAACCAAAGCTGAACGTCCTGTTCTCCC
+AGTCATCCTGTGTAAATGAGGTGGGCTGTGTCAGAACGGAATTGTCGCCCAGAGACGAGACTGTATTTGC
+AATACTCTGAGACGTTGAAGCATGGATAACCGGGTGGCCCTGAATGGTCAGACGACCGTTTTCCTGAGTA
+AATGTACCGGACATATTCGCTGAGCCGTCCATAACCAATGCGCCGGTTGTACCCGGGGTTGCTTTATTTG
+AGAAATTAATATTTCCCAGCAACTTGCCATGATACAGATACCCTTTATTATTAATTCTGTTTGCAAGCAG
+CGCCTGTGCACTGTTCTGGTCATGTCCGACATATTCCCAGTGCTCGTTACTGACCTGACCGGTAGGGAAC
+CAGCCATAACTACTTGTTTTCAGGATAAAATAATCGACGGTATGAGTATAGGGATTATTATAAATATATA
+ATGAACCTACTGTTCCCCTGTTTGATGATGACCATTCATTAACTTTTACGTCTGCCGGATGCGTCTGATA
+ATCCAGAGTGATATTAGCCGTTTTATCACTGCTGTTACCGAGAGTTGCGCCATAATCGGCGGCATTCAGC
+TTATGAAATGTCAGGTCATTCCCGTTAACATCCAGAACACCCCCCCGGTAGCCCCAGGATATATTGTCCG
+GATTAACCTGCTGGTTGTCTGCCAGCACGACTGTCGGGCGGCCGCTGGCAATATTCACGCTACTGAATGC
+CTGAACGTGTCCTGAACTGTCAGCCTGCTGATTGAGGACAACGGTCCCATCCCCGACTTTCAGGCCGCCC
+TCATTAACACCGGTTCCCTGTACAACCAGGGTTCCTTCGCCGATTTTATGCAGGTTGTCACCTTTCACAC
+CATTAACCTGCCAGTTTACGGAGGCATCCTTGTCCACAATAATACCGGCCCCGGTCCAGGTACTTCCGTT
+TGAAGTGGTGACAGTGTAGTCATCAGTAAATGTCAGTGAACCGGCACCCTGCGTGACAGAGTTTTCCAGG
+TCAATCTGACCATTATGTCCCAGGAATGTCAGATTTTTACCTGCGTTCAGGTCAGAACCTTTTTGCCCGT
+GCATGGCATATTCATCGGAACCCTGTTTCAGAGAGCCAGTGCCGGTGCTGCTGTCAAATTTCCATTGCAG
+GGGGGCGCCGGATGAGGCATTAAAAAAGACGGGAGCGTCATTATCCTCTGAATAGATCTGTGAGAGAAAA
+CTCTGAGGAATAAGAGAATATATCAAATTGGTCCCCCCTCCTACTCCCGAGTAAACACCGACCAGTTCCC
+ACTGCCCTTTGGCCGTATTCCAGCCAAATAATGGAGAACCACTGTCGCCGGCCTCTCCAAAAGAGGGCAG
+GATGCTATGATCATGTATGTTGCCCCCCATATACAGCTGAATGCCGTCTGAGCCGTGATAAAAGAATGAT
+GTCGGGAGTATTCCTCCTGTCAGATAACCATACCCACCTGTTACCCAATGTCGCTTACCCTGACTATCCT
+GAATATACTGACTTCCCGAACCAGCCCTGTAGAATGCCGAGTATTTTGAAGGGGTCAATATATCAGCTGT
+TGATGAGCTGGTTACGGTAGCCGGAGCAACCTCAGTTACGAGCTTATCAAGTCTTGGTGTGTGGAGATCA
+GATGAACTGTGTTCATTACGATCCACAATATGGTAACTGTTCTGACCATCACCGAAGCTGACGCTCTGAT
+ATCCTTTATTATGTTTTACACTGGCTATATATTGCGGGTTAATTAATGTTGCAACGCCGGGATTTGAGCT
+TACATTCACACTGCTAAAATCAACCATGGGCGCTTTATCAAGATGTCCTACTAATTCCCCTTTATTATTA
+AAAATAGGAATGTTTGTTGCGCCAGCCTGAAACTGCCCTTTGTTTTCTGCAAAGTCGCGGTATGTCTGGT
+AAGGATTGTTGCCACCAACCGTTGATGCACCAGCAACGGTTGGGAGTAATGCAGATAGTGCCAGAGAGGT
+AAGTACTGAAAGTCTTTTTCCTCTGCGGGTACTCCCTTTACATACCCTTCGGGCTAGTTCAGAGACAACC
+TTTACTGTGTTAGTAATATAACAATATTTTAGAGCGTATATTTTATTCATAGTAAATGATTCCGGAACGT
+ATATTCCAAAGTTACATTAATAACCATAGACAATTTCAAACGAAAGCATTGTTGAATTGCGCGCTAATTA
+TTAATTAGCTATATAATTATAAATGTGACATATGTCACATTTATTTTTGCTTAAAACTACAATATTTTGT
+AGTTGCACGCATTCTTTGTCTGTGGTTTTCATTGGTGGTAATGAAAATGTTGTTTGCTTTTTCTCAGGTG
+TTTTGACTTATGACTTAAAGTCATAAAATATGCGACGCTAATACAACTACAGAAAAATGGTATATATGGA
+TATCGACGATATTTGTTGATTTTTATTTTAAATTGCGTGGCGGTTCAGAGCGGATATATATATCACCATA
+CCATCATCTGTTTTTCTGAAGTTCAGATTAGTTTTAACACACTGTTTTCCATCTTCGTTGATTACAACAG
+TCTTTTTAATGTATTTACGAATGGCATCATTCGACGTTCTAACGGATTTAGTCGATGGTGGGGTAATTAA
+TAAAACATTTGCTGTAATCAAAAACGGTAATGTCTTCAATTGATAGAAGTTTCTGGTAATCTACTGGTAT
+TTAAGGTTTTCCATGGCTACCGTTACTGTTCATCGTCCGCGCTGTAATTCCGATAAAGTTTATCGACATG
+GTCGTAGTTGTTCCCAGCATGAGCGTTTCCGTTGTCGTTCATGTAAACGTGTTTTCCAGCTCACTTACTC
+TTATGAAGCCAGAAAACCCGGCTTTAAGGAGCTGATCGTTGAAATGGCGCATAATGGCACAGGGGCCGTG
+ATATCGCCAGAACACTGAAAATCAGCATCAATACCGTCATACGGACATTAAAAAGCTCTCGCCCCAGCGG
+ATAACATCTGCGTCAGTCAGCTCACGCTGATGTTGCCCTTATCTGTGAACTTGATGAGCTGTGGAGCTTC
+GTTGGCAACAAGGCGCAACAACACTGGCTCTGGTATGCGTAGAACACTAAAACTGGCGGTGTGTTGGCTT
+ACACTTTCGGGCCACGGAATGATGAGGCCTGTCGGGAATTGTTAGCCCTGTTGACTCCGTTCTGTATCGG
+CATGGTGGCCGCGATGACTGGGGCAGCTACGCCAGAGAAGTGCCGAAGGAGAAATACCTGACCGGCAAAA
+TCTTCACGCAACGTATTGAACGTAACAACCTGACCCTCCGCACCCGCATCAAGCGGCTGGTAAGTAAAAC
+AATCTGCTTCTCGCGTTCCGTTGAAATCCACGAAAAAGTCATCGGTTCCTTCATTGAAAAGCACATGTTC
+TACTGATTGGAAGCACTACCCAACGTTCAACTTATCATCATAAGTATAAAAATCACAAAATGGGAGGTAA
+GAGTCTTTACCTGGATTGTCTCGAAATGCAAAGTGTGCTTGCTTTACAACTAAATCTGGGGGTATCTAAT
+GATTGCGTAATAGTTTTTTTATATACATATCAATGTCTTGCTTTTTACAATCTGTTTATATTATCCATTT
+TAAATCAATAGGTTACACATCGTTAATACCTTCCTTATTTTTTGATTGGGACAGATTTGGGACCGATGGG
+TTCAGGATCGAATCTATTTACCGTGCGTGTTCGGTAAGGTGATTAGGTGCGAGATGAGCATATCGACGAA
+CCATTTCGAGAGTTTCCTATCCGCTCATTTTTAAGTGCAAGCAGGGAAACACCGGACCAAACCAATCAGC
+TGTTCGAAAATGGCAAGCGGATTAATATGCCATGGCGGCTTTAAGCCGCACGCATGGGGTGTGGCAAGCC
+TGATGGATGTTACTGTGCTTGTGGTGGCGTCTTTGCTGGTCTGGTTGTTGGTTAATCGCGAAAATCATTA
+TGCCAGAGGAATACCACAGGACGTTCAGGTTTTGCATAAAAAAGCCCACCATTAAGGTGGGCAAAAGGAA
+TGATTTATATTCTCTGAGAGAAACATTACATTTCTCCTTGTCACTTCTAACATGAAAATATGGAGAAATA
+ATGGAGCTTATATTAATTGGCGATTAGGTAACCATGTGGTTATACAAAACAATACAGTTCTTTACATTTG
+CCTTGTTTTATGAATACTCCTAAAGAGGTGTATAACATAATGGTACAAGCAGGGTAGATATGAATATATT
+TGAACAAACTCCACCAAACCGCAGACGTTATGGTCTTGCTGCATTCATTGGGCTGATTGCTGGCGTTGTT
+TCCGCATTTGTTAAGTGGGGGGCAGAAGTTCCATTGCCACCACGTAGTCCGGTTGATATGTTTAATGCAG
+CGTGTGGTCCGGAATCATTAATCAGGGCTGCAGGCCAAATTGATTGCTCCCGTAACTTTCTCAATCCTCC
+GTACATTTTTCTTCGGGATTGGTTGGGACTGACAGATCCAAATTCGGCTGTTTATACCTTCGCCGGGCAT
+GTCTTTAACTGGGTTGGTGTAACGCACATAATCTTTTCGATAGTTTTTGCCGTTGGTTACTGTGTGGTCG
+CCGAAGTATTTCCGAAAATTAAACTTTGGCAGGGCTTACTGGCAGGTGCTTTAGCGCAACTTTTTGTTCA
+TATGATTTCATTCCCTCTCATGGGACTTACACCACCTCTCTTTGATCTTCCGTGGTATGAGAATGTCTCT
+GAAATTTTTGGACATTTAGTCTGGTTCTGGTCTATTGAAATTATTCGCAGAGATTTACGAAACAGAATTA
+CCCATGAGCCAGATCCTGAGATCCCTTTAGGCTCAAATAGATAATGCTTTGAATGATAAAAATGGCGCAA
+ATATAGCGCCATTTTTATAGGTTAAAAACGTTGCTTTTCATATTCTGATGCGGACAGTCAGTGATCATAT
+CGCGCTACTTCAGGATGATGTAGATCCGGAGAACGCTACAGAAGAAGAGGCATTGTTGCTGGAAAATGGA
+AGAAGTTTCAGGTTTTGTTGTCCCTGAAAAACGAAGCCCCGCTATTACAGCTGGCGGGGCAATGCAATTA
+ATTATTGTATATTTATAACGGTGTTAGCCCGTATTTAGCTCTTGCACGATTGCAAGCCTCATTGACTTCT
+CCGTTCTCACCAGACATGGCGAATTCTCTGCATGTGGACGATCGATTTTCATATATCGTGCAGCAGGCAT
+TTTGGCCCGGTGTTCCTGCAAGGGCAATACATCGGGGATTTTTCTGATTAGTACCGCTCATGCATCGGTG
+AAAAGGGGATATTTGTTCAGTGAGCCTGGCGGGAATGGTACCGCCAGCATCGTCGGCTTCGGCCCAGTAA
+AAAGAGACGCGGAAAAATGCACAACAGGCACCACACGTCATGCATGGATTCAGATTGCTCATAATTCACC
+AGTACAGCTATAAATCGTAAAGAGAACTGCGGTACGTCGTATGCAGGGACGTATCGCGGTTGGCTGGTGT
+ACTTTCGATAGTGTGAGTATTGAATGATTTCCAGCCGTTACCGATTTTACGTCCTAATTAGTGAAGAAAC
+CACTCGTTAGCAGGCCGCCTGGTACCTTTCCGTGTCTCCTGAACACTGTGGTGTGCATATGAGAAAGCTC
+ATCGGTGACATTGACGATCGCTTCCACATCATTTAAACGATTTTTGAGTCTCTGAGGTGGAATTCTTCCC
+TCGTCCGATGGATAAGTCTTAGTCCGCCGAAGGGGGCTTAGCCGGACAGGAATCGCTAATCTTAATGAAT
+TTGTCGTTATAGACCAGATAGTGATTCCCCGGCTGACGTAACTCAGGCTGATGAACCACGTCTCCCGGAC
+GTAGATACCAGGCATCGCCTTCCTCTTCGGTCGAATCACATCCTGGTTTAATCAGTAGCTTAAACCACGT
+GTTGCCGGTGTTACTTACCGTTCCGGTCACCTGATCGAAGGACCATTTAAACTGAACCTGACGTGGTCGT
+ACTACCAGAATGGTATCCATCACCACCACCGGCTCCGTGCTGACCTCACCGCCGCTTGGGCTGCGTTTTG
+TCAGGTTACGAGTGGGGACCTCGCGAAATGAGACCCGGTAGTAGCGCTCGCGGTTATCCCGTGGACCATG
+ATAGTAAAATTTAAAATACTCGCTCTCACCAGCCTGCAACGCCAGCTGGCGGGGGGCGAAAAGTAGTTCA
+CCATCCACCGGTCGGGTGCGCAATTCACTGCTGCCCGGGCTATCAATAGCACTGATGGCAATACGGTATA
+TCCGTGCGCTTTTGTTGTTATTCACGACACGTTTGCTGACAAAGTCAGTCTCGGACGGCAGTGAAAAAGT
+CAGATTGCCGACCGAAATCGCCTGTGTCAAAGGTGCCGCCAGCATACAGACCACTGTCAGCAGGGCCTTA
+GTTAATGTTACGCCACGTCGCCTGAACATGAATCTCTCCTGAAGCGCTGACTTCGCCAAACCAGCCGTTA
+TCATCTACCGTACGCAGAGAAATGGCGTTATCCATTGGAATCGAAAATTTGACTGTGGTCTTATCCATCT
+GCCCCACTTCGCCAGAGATATCAGTCCACGGTGTGGTCAACCACAGCGCATCGGTCATATCCCGCCAGCT
+ATCATCGCACCCGGCATCGTAGGTTTTTGTAGCTCCGTTGCGGGTAATAAAGGAAAGTGTCGCCGGGAAC
+GGTACTTTCGCCTTACCGTCATCGGAGCTGAAGACACAATAGGAGCGCCCGCCAATCACCTGCGCGGGTC
+CGGTCACCTTGATCAGCACTTCGTCGGCAGCTGTTTTACCGCTGGTGGTTACGATATAGCCGAAATCGAG
+TGCCGACTCGCCGCTGCCAACATATCCCTCCCGCGACGGTGTCTGAGTATATTCATCGGAGATAATACTG
+ATGCTGAAATCACGGGGTTTGATAATCAGCGTGTTGGAGGTAGAAAATTCATACCAGCCAGACTCCGGTG
+ATGTGGTGTTCTGAAAGCGAAAGTTGAATAGATCTTTGGTGTTGATATCGCTGATCCCGAGGTTCACCAT
+CTGCTTAAAGAAGTTGCTCGAGAAGAACACATAGATCGAGTCTGCGCTCTTCATCTCGTTGAAGGTGTAG
+TAATAGGCAGTATTGCTCACCGGTTTCCATGAACTGCCATTCAGACTGAACTGCATATCGTACGCCCCGA
+CGGCCGAGGCTAACGACGAGTTGGCGATCGCCGGGAATATATGGATTGAGGTGTTGCTGAGTCCGTTCGT
+TTGCAGGGTATAGTTAACCATCTTACAACTTAATCCTGAACGGCTGCCGATGGTTTGCGTCCGGCAGTCG
+GCATTCCCTTCGCCCAGAGTCGGTACTCCGTCGCTGTTGATAAATACTTCCGCCAGCGAGTGGGTATTTA
+TCAACCGCAGATTTGCTGCTTTCGTATGGGTGACGTTGCGAACATACCAGTTGCCGGAGGCCTGATCCTT
+ACAGCGTGCGCCGCTGCTGGCGTCATAGTTCACAGAGGTCTGGCAGGCATTGATGGTCATTGTAAAGCTG
+CTGCCGACGGGCATTTGTTGCAGATACTGGTAAAACGCGTCTGACAACATGCCGTGCATCCATTTCGCGC
+CGCCGCTGGTCACCGTCGCGCCATAAAATCCACTGGCGTCGGTGGTTTGCGGCAGGATAAGACTGGTGGT
+CATATTACACCCTGCGTACCAGTTGATGCAGCGCAAGCCAGTTAAAGGAGATGAAACTGGTGAATTTTCC
+AGCCACATATCAAACTTCCAGTTGGTATAAAGGCCGGTGTTGTAACCGTTATCAATGTAGCCGAGGCTTT
+GCTGATAGATGGTTCCTGAACCATTGTATTTTAAACCGGTCCAGCGGTTGGCACCGGTCAGGCGCGGATC
+CAGCGCCCCGCCAGGAGTGACGAAAAAGTTGTCGTCTGAGTTGTTTTCGACAAACACAAACTCGCGTGCC
+GGAGCATCCGCCCAGGTTGTTTTGCTCACTGCCGCTCTGAGCGCGGTTGCAGGCCAGATTAGCGCAAAGA
+TTATCATCGCTATCAGTAGGTTAACTCTCATTCTCTTCTCCTGTCTGCGTCACCGCCGCCCACGATGAGA
+GGCCGCTGCAGACCACATCACCGACCCAGACGGCACCGCGCGCCTGGTTGAGTTCCAGTGCCACTTCGCA
+GGTTTTATTGCCACTGTAGCGAAAATCGATAGTGGGGTATTTCTTATCCACGTCCATGACAAACTCGCCG
+TTTTCATCGGTTCGGGTTCGGCCGATATGGTTGTTAATCCGTGCGTTAGCCAGTAGTGTGCCGTCTTCCG
+CACGGATACGACCGGAGACGGTAACCATCTGCTTCACCTCTGGCTCAATGACAGCGACATTGCCTGGATA
+GAGAGTCAGATGACTTTTGCGACCGCTGACGATATCGTAACTGTCGAGTGAGTTTTTGCTGTTCTGCAAC
+TCCACCTCATATCTTCCATAGGGAGAGAGCGGGAGATAGTTACGCTTGCCGTTAAGCGGGAAAATCCGCC
+CGTTGATTTTGGCGCTGATCTGACCATCGTTCTCCAGGCCAGTGTCGAATATCACCCCAGCGTTGCCATC
+GGTCCGCCCGCTGGCAGCGATGTTTTTACCCTGCCAGCCGACGCTGCCGTTGGCGGTCAAATTGGTATTG
+ATGTAGCCGTCCGCCGCGCTATTGACGTTCAGCGTTCCGCTGGCGTAACGAGCGTCGAACTGTGCATACG
+CCCCACCGCTGAGGGTTTTGTCATCACCGGTATCGCCGGAGATGGCTCGTGACAGATTGGCACCAACAGT
+GCGAATGGTTCCTTCATCAAACTGTTTGCGTGCTGACAGGTTTGCCATGGTGTAGCCGTTTTGATGGGTC
+ATCCCTGCGCTAAACCAGTTGCCCAGTGGTAGCGAGAGATCGAGAGCGATATATTTCCCTGTATTGGCGC
+TGCTGTCGCCGTTGTTATAGCGCTGAATACCGGCCCGCAGGCCAAGCGAACCAAAGGTACCGCTGTAGAC
+ACTTTGATAGTAATCTGCCGTGTAATAATGGCTGTTGTAGCGGCGGTCATCATTGTAGCTGATGCTGAAC
+GTACCCAGCTTCGACCACAGTGAGTTCAGGTTGAGTGTGCCGCCGATTGCACGGTTGTCGGCATCGCTAC
+GTCGCAATTGATTGCCAATGCGGGTTTTTTCCTGGTTAACCCACAGCGAACTGAAGCCTCCAGGTAGAGT
+GGCGCTGATGCTGGCGATGTTGCTCCATGAGCTGTCACTGGCCAGCATGTTTTGCAGGTTAACGTTGATC
+GCCCCCCCAAGCGGCAGCGTCAGACGGGTTTCACCCACCGCCTGATTATCGTATCCATATCCCGTTGCCG
+CCCAGCTAAACGTACTCAGTGAGCCGGAGGTCGAGGCACCTGCCAGCCAACTCTCTTTGGCTGGTCGCGT
+CTTTTTCCCGTTTTCCGACCAGCGATCCATATGAAAGCTACCGCCCCATATCTGCCACGCCAGCGGTGCA
+CCGACGCCACGTCCCCGGCTAAACAGCTTATTGACCCGCTGGGTGCGTTTGCTGATCACGCGACCGTTAA
+CGATTACCTCAACTTCCACATCGTAAATACCGTACGGTAGACCCCGGGTATCCACTTCATGATTGCCCAT
+GGTGAAGTTCTGAACGCTTAGTAGTCGCCCATCACGGGTGAGATGTACTTCGCCCGCCGCCGGTAAAAAG
+GCGATCACTGGCGTGGCCGATTGGCTGCTGTCGAAGATGGTGGAGCTGGCCTGGTTTCCCCAGGAAAGGC
+CGTAAATCTTCCCTGCTGAAATGGCGGTCATCGGCCCTAAGGACTGCAAGTTCCAGGTGTCGAGCATTCC
+ACCGGCAAATCGGTGACCGGCAAAATCGCGTTCATACATCGCTTTATATAATTCACTGTCCTGTTGACCG
+CTACCGATCCCGTACAGCGAGCCGTCGAGCACCACATGATGTTCGCGCAGTGCAGTAACGTTATTCAGCG
+ACAGATAGCTGGATGTGTTGCTCCCGCCGTTACGCAACTGGTTGTTATAGATGCCGAAGTTATAGCTCAG
+ATTACTGCTAAGGGTATTAACACTGGACTGCCCGATGTCTTCGCTACGTGAGCGTAGTACAGTGCCCAGC
+GCTTCGCGCTTGACCACCAGCTGCAGCAGCAGTTGGCGCAAGCTGAGATCCAACTGCGCGTTGTCAGTCA
+GGGGGATGGTAAGGGCCTCATTGAACGGGGCGTTGGCCAGAGTCGTCAGCTGCTGTCGAGTTTGTTCGCT
+GACACTGGCGTTATCTTCACTCTCTTCCAGCTGTATTTTTCGGATGCGTAACTGTCCATCATCCAACCAG
+ATAAAAGCGCTGCCGATTCGCTGATCGTCCTGGCGACCCTGGCTACCGGCGAGATGAATATAGAGCGGGA
+CGCTCATGCCGTCCTGAAGCGCCTGACTGAAGGCCTGCGGAATAATCACCCCACCTATTTGCTGCGCACT
+TATGTCAGCAGCGCTGGCATCGGGCTGAACGAACAAAAAGACCATGCCGAAGGCAAACTGGGCTTTCAGT
+CCTGGGGAGAACCGTCGTAAAGGCATTGTCGTTATCCATCTGCACAGCTATCTATTTCACGGGAATGAAC
+TTATCACCCTGCCAAAGTGCAACCCGTCCTTTGTTATCCGCCGTGTCCACGCGGGTAAAACGACGCGACT
+TGCCCGGCATCAGGTAGTAATTCTCTTTACACTCCTTACCATTGGCGGCTTTCAGGCAGGGGCCGTAGGC
+GAGGATCCGCAGCGTCGCATTTCCTGTATTTGTCAGGGAGCCGTTGGCGTACTGAAAGTGGTAGTTTGCC
+TGGCGGGGTGCGACGACCAGAATGGTGCCGATGCGGGCGGAAGCAGTGGCCACAGCGCTACGGTTGGCAT
+TATCGCGCTGCGCATCACTGAGGGCCTGATCAAACCAGACAATGCGGTAGTAGCGCTCTTTTTCATCTGC
+TGGTCCCTTATAGAAGAAGCGGATCACTTCGCTGGCTTGGGCGGGTAGCAGCAAGCTGGCGGGAGTGAGT
+AGCAACTCATCCGGCTTGTCCATTGCGATAACCTGCCCGTCGTCAAGCGGTGAAGAGAGCCGTTCGAGAC
+GGATATTGATGAGGCGGCCACTGTCGGTACTGTTTTGGATCGTTTTGCTCAGCGTGCTGCTGTCACTGTT
+CATAAACGATGATATATCGCCGACATCCAGCGCCTGGGCCGGTGATATTCCGGAAAACAGCAGAGCGAGA
+GGCAGAAGGTGCTTTTTCATAACAATTCCGTCCAGGAATAAAGCAGGGGGGGACCCCTGCTGGTACATCA
+GAGAGATTAACTGGTCCAGGTAGCGTCGAACTGTACGCTAACGTCGCCGCTCCAGATGCCTTCCGGTAGA
+GTGCTGTAATCGGTTACTGCGGTGGTACCATTGGTGGTGCCGCTGATGATGGAGAAAGTGAAACCATCCT
+GTGCGGTGGTACGATTGCTGGCATTGTAACCGTTAGCCAGTGGGCTAAGGTTGCCGCCCAGTACGCCGTT
+GGCGGTATCGATCATCACGGTATCGCCAGTTTTTTCGACTGCCGCGCCGTTATAATCCACGCCCACATTC
+AGTGTGGAACCTGAGGTATCCAACTGGGTTAAGGTGTTGGTGATAAGACGTGAGGTCAGTTTAAAGGCGG
+TAGCCGTTGAGTCACCCTCGATAGCCACGTCAAATAGACCTTTTTGTGAGTTAAAACCTTTAATGCCTTC
+GGCATACTGGAACGCCAGGCTACCGAGTGGCGTCACAACCAGCTTACTGGTGGTGTCTTTTTTGGCTGTT
+GCTGACCAGGTCGCTACAGCCTGAGCTGTTACGTCAGCAGCCTGCGCTACACCTGTACCGGTAAACACCG
+TTACCAGAGCTATTGCCAGAACCTTTTTTTTCATTGCTTTTCTTCCCGAGTTGAATTGAGGACATGAAGT
+CCCGGTGAGTCATTTTTTAAAACTAACTTGCCTGGAGTTTACTGAACCAACTTATATAATTTTGAGTACA
+GCTTGGCCTCTGCATTCCGCCGATGGGTATACACTGTCTTCACACTACAATTTTCAATTCTGGCAATCGA
+TTTAGGCAGCATTCCCTGAGCCGTCATGCGGATAATTTCCATTTCCCGGTCAGTGATTTTATCTTTCTTA
+ATATCTTTTCTCAGGAACCTGCCATTAATCACATAGGCCAGTTCTTTTCTAATATCACGACTCAGTCCAG
+CGTATACCACGCCCCTAATATTGCTGTTGTAATACCAATAATTTGCTAAGGCTTCTGACTTTCTGGCCGC
+AATCAATACGACCTGTTTCCCCTTTACCGCGGATAACCACTCATTATCACGGTTTATAAACTCAGTTAAA
+GAATCCGTATTGAGATTGATAAACACGAAATCTTTTCTGATTTTCTCCAGCGATAGATAAATTAATCTGT
+CGATATCCACAATCAGTTCAGATAGTCCTTTATAGAAGTAGGCGTCATGGGGAGACCAGATGTATTTATC
+AGAACGGTTTTGACATTCCATATGGTTTTTAACCTCATAGTCCCTGCTGTAATCATTTTGCCATGTCACT
+ACTTTCCAAACCTGTAATTTTTACAGGTACATTCAGTTTCTTTAGTAAATCGGAAGTAAATAAGATACGT
+AGCACATATCAATATAGGTTAAACGAGATTAAGTTTTAATTATTTCGATTAGGTTTAAATTTATGTTTTT
+TTCCTGATGAGTGTCAATATGTGAACAGAAAATGAATTCCATGGTTAAGTCAATATTTACAAAAAATGAA
+AATATTGCTTTTTTGATAAGAAGAAAAAGACATTCAGTTTCATAAGGTTATTGGCAATATAACGTTCAAT
+TCTTACTTGCATTTTATATTAGCCAGGAACTTTGCCCTGAGGTGTTAGGAATAGTCTTAATGTGTTGTGT
+AATGGACTGGTAAAAAAACAAGTTTAAATGATAAGAAATAGAATATAAAACTATCATAAGTCATAATTAA
+AGATGATTTGCCAATCAGTAAGGTGTTTTAATGGATTAACATGCCGCACAAAATGGTTATGGGTGTTCAT
+CCCAATAAGTGATGAAAAATTAAACAGGTGTAAGTACGTCATCTGTCCGGTAAGCCCCCCAAGAGCCAAA
+TTAAGTGAAGTTAAACGAAGACTGCCAGTTGTCACAGGAACGATGGCCTCTTTGCCAGGGCACTGCATTC
+AGTCATCTGTACGCGTTACTCTAACTGGCACTCGAACGTCGGCGATGGGGTTACCGATGGATCTGGCCGT
+TCCTGTGGCGTAAACGTTTTTATGTCAGTACCAACAGATTTACCACATTTATCATCTTAACAGTTTGAGT
+GTAAATGCAGGCTGCGTCGCAAAGGGAGGAAACTGAGTGGCGTGTTCAGTCTAAAATAGAGTTGATGCCA
+GCATACAGGGCGCAGCTGGTCAACAAGTCAACATTAATATAATGGAATATTCGGAGAGAAACGTCAGGCA
+GTTGACCTTAAATGAACAGGAAGATACATCCCCAGGAAAATTAATGCTGGTGTAATAAATACACCAACAT
+TAATCCGGTCTGATTATTAATCAGACAAATATCGTTAATTCGTCGAATTTTAAATCAACGTTTTTTCTTA
+CGACCCTGAACGGCCTTAAAACGTGGATTAGATTTACAAATCACATACAGCCGTCCTTTTCGCTTCACAA
+TCTGACAGTCTGGATGGCGTTCTTTTGCGGTACGCAGAGAGTTAAGGACTTTCATCATGCCCCCTTTTTC
+GTGCTAACAAAACGACCAAAACGTTGGGTGAACCGTGCAACATTTCCTTCTGATGCCACTGTTCTCAGCT
+TCCCTGTATAGAACGGGTGCGATTTCGAAGAGACATCAATTGTTACGTACGGATACGTTACGCCATCCAG
+CTCAATCTCACGGTCTGTTTTGATAGTCGAGCCGATTTTAAAGTACTCATCAACGCTGGTGTCGTGGAAC
+ACCACAGTACGATACTCAGGATGGATATTGGGTTTCATCATTTTTACCTGTTATGTTATAATATAACCGT
+AAAGATACATGCTCATCCGGATCATTTCAACACCCAATCACTGTGACTATTTGTGGGATGTGGAATTTCC
+GCAACGGGGAAGTCTGGCATTGTTAGCAGCCATTGGCGACGCTCCCATAAACGCCTGGATGAGTGATTGA
+TGATGGTTTCGCTGAGAGTATGGATTTTTCGAGAATGGAGGCTACCTCCACTTTACTGGCCGATGATTTA
+TTGCAGCATGATTGATTACCTGACAATGTGTATTCCTCTCCCACGGATATAATAATTACTTACAAAAAAG
+GGAGAGGATGCATATTTTAAATATCACTGAAGTGAACAGTTTATTGCCGTTATTAATAGAAATGGAGAAA
+TAAATAGGCGTATTCTACAATTGCGACAAAAACAACGATATTAATCAGTTTATGACTGATTTGCTGTACT
+TTATTCTCTTTCATTGGTACTTCCTCGCTTTAAAAAAGAGTGCACTTCGTAAGTGCCCTTATATAAATAA
+CGAGTTTGGTCAACCAATTTTTTGACATGTATCACAAATTTGAATAGATGTATTACATCGGCTATCTTTT
+ATTGCCCCAATGTCATTGATATATGTCGCCTGAAATCAGTTACGGGAATGAGTCTGATCTCAAGACTGGC
+CCAGTCCTGGCGTTGATTGGCGCTGAGGAGCATATCGCATCTCATCGTAACGTCGTATCTCCTGGGGTGT
+TATACAAGATATCGTTGTAGGTAACCAGGGAGAGGAATTGAGTCTATTAAACCGTCAACTATGCCGGATA
+CATACTGGATTACACTGCAGGCACGCCTTACGAGAGAACGTGCCGCAGTGACGGGTTAATTATCTGAAAG
+AATTTGCGAGGCTGTATCGGTTACTCATTGATTTGATAGTTTTACTCTCGGGAGAGTAATCGATATTTAA
+TCCATTAACGGAAACCAACCAGTTCCTTTCGATGCCTGAATTTGATCCCATAGTTTATCCGGAATGGTTA
+ATTCAGGAACGCGTTGTGGATTAAGGGCTGTTTGAATTTCATGACTTCTACCTGATTCAGCTAAAGTCAC
+CCATTCTGGATTTATCACCAGCCCTTTACCGATCGCAACAAGTGGCAGGCCAGCGGAAATTGCTTCTTGA
+GCCTGAGACGGTGTGCGTATTTTACCTGCGGCGATTACCGGCACTCTGCCTGCAATATGATTTAAAATCA
+ATTCAATAGTTCGGGGGCCATTTGGCGACTCAACAGGGTAGCTATCGTTAATACTGACCAGCGAGGTATG
+TATATACGAAATACCGGATGAAATGAGCCGATCAAGGAGTTTATAAGTATCCTCTATCCGCAGCCCCCCT
+GTTACAGATTCTTCAGGAGATATTCTGTAACCGATAGCAAAGGGCTTTGTCGCATATTCATAGACTACAT
+TTTTTACTTCCTGTAATACGGCCAGCGGGAAGCGCATACGTCCTTCAAGATCTCCTCCCCATCGGTCATT
+ACGCTGGTTAAATAGAGGGGAGAAGAAATTCTGCAGAAGGAATCCGTGCGCACCATGAAGTTCAACGCCA
+TCAAAACCTGCTTTAATCGCCCTTTTTGTGACATCTCCGAATGCTCTAATGGTTTCCTGAATTTCGTTTT
+CAGTCATTTCCCTGCTTTGTACCACTCTCTTCATAAAGTCACCAGATTTTACGCTTGATGCGCTGGCACT
+AATAACATCGTTATTTGGCACAAGCTCCGGGATGGCTTTATTACCGGCGTGGAAAATCTGCAAAATAGCC
+GGAGCACCGCCACTTTTGGCTGCAGCTGCTAACTTTTCAAGGCTGTTAATGAAACGGTCGTCATACGCGG
+CAAATTCATGAGTAAACCCAATGCCGCTTGGCGTGACATAGGTACATCCTGTTATTACTAAACCAACATT
+TTGTGAGCGACGTTTATAAAATTCGAGTTCTTGCTCAGAGATGGTTCCATCAGGATTAGCTGACCAGGTT
+GTCATAGGAGCCATAACGATACGATTACGTAGCTTTATTTTTTCTGTCAGCATAAAAGGAGAAAACAATG
+ATGGGTGTTTATTTGTCATAACAATACCTCAAATGTTTATCTGATTTTAATGCGTATAATCTTAATAAGT
+TGAGTTGCTACTTTTTGATGCTTTTTTCTTTAATAGAATTCTTTTTGAGTAATTTCATTATTGTCGTGTA
+GTCAATAAAGGATAAATGTCAGGGAGATAATGAATCTCCCTGCAAGGTTATTACAAATGTGTTTTGTAAA
+AAGGAATTAATTTATCGAGCGCCTGTTTCACAGGTTCTGGCTTATCATACAGGTCGTAATGTGAATAACC
+TTCAACCACGACCAGTTCTTTATGTTTTGAGGCTGCACGACCAATAATTTCGCAGCCGTCACGATAGGCA
+CCAAAAGCGCCCACTCTATCGCCCACTACAACCATTAGTGGTTGAGTTAACAGGACTTCTGCAAGATGAA
+AAGCATCCCAGCCCACGGCAACAGTCTGATGTGAAAATAGCGAACGATTTACCCCATTAGGCGCACAGCC
+TCGTGGCGAACGATAATATTCTGTTGCTTCAAAAAGGTCTATTTCTGTTAATCCCGCTTCAAGAGCTGCT
+TCCGGAGAAGAAGGGAGCAAATCATCTACGCGAAGTTTTGCGCCGTTAGCTTCGTCTGTTCTTTGTTGCG
+CCATTGCTTCGAGTGCTCCGATAGGATTAAACGCTGTAAATCCCTCACGCATAAGACGCCCGTAGTTTGC
+ACCCGTGACAGTACCAATGGCTTTAATCCGACGTTCTGTCATTGCGGCATTAATGGCATATCCACCTCCA
+CCACAAATACCCAGTACACCAATACGCCCGGCATCAACGTAAGGTAAGGTGGTAAGGTAATCAACGACAA
+TGCTGAAGTCTTTTACTCGCATTGTTGGATCTTCCAGATAACGCGGTTCTCCACCGCTGCTTCCCTGAAA
+ACTGGCATCAAAAGCAATGACGATAAAGCCAGCTTTTGCCAGGGCGGCACCATACACACTACCCGATGTC
+TGTTCTTTGCAGCTTCCAATTGGATGGGCACTGATAATGGCAGGATACTTTTTTTCACTATTAAAATCGT
+CAGGGAAATAGATATCAGCAGCTATATCCCAGTAAGTGTGTTTTATCGAAACAGTTTTCATTTCAAGCTC
+CAGGGATTTGCCTAAACAGATTTAAATATCATTTCTATTATCCGCAACTGGCATTCGTGTTCATATCGCG
+AACGGCGTAATAGTATGACTTGTATTGGTTATCATCAATGGTCTAATATCTATCACAGTGTTAAGTTAAG
+GTTTACAATGATGAAAATAGAGCCTTCAATTTTGCCTTCTCTTGCCTGGTTTGCGCTGATTGTTCGTGCC
+GGCAGTTTTTCCAGAGCAGCCTCTGAAATGGGTATTACGCGGGCCGCATTGTCCCAGAATTTAAAATCTC
+TTGAGGAACGTCTTAACACCAAGCTGATATACCGTACGACCCGCAATATGTCGCTTACTGAGGAAGGACA
+GCATCTGTATGAAGTGCTGGTGTCGGCTTTGGGGCAAATTGATGATGCGTTGAAAGATGTCGGTGATACC
+CAACTTGAACCTACAGGACTGTTGAGAATAAATTCCTCCCGTGTTGCAGCAAGGATGCTTGTTGAGCCTC
+ATATTGGCGAGTTTCTTACTCGTTACCCTAAAACAAAGATAGAACTCATTATGGATGACGGTTTATCTAA
+CATTATTGCGGACGGCTGTGATGTGGGCATACGTCTTGAGCAAGGACTGGATGAGCATATGACTGCCGTT
+CCTGTTTCTCCGCTTATTAAACTGGTTACTGTGGCATCGCCAGATTATTTAAAAGAACACGGTATTCCTG
+AAACTCCTCAGGAATTGAGTAACCATAATTGTCTTCGGTTGCGGCATAAAAGTAGCGGTGCACTCTCAGC
+ATGGGAGTTTTCGAATGTTGTGGGGGGTAATGAAGAGTTCGAAATAGAGGTGTCAGGTAAGTATATTTCT
+AATGATGACGAAAGCATGATACGAATGGCGCTGAATGGAACGGGTATCATTCAACATCTGGATTTTGCAA
+TCGCTGAACATATCAATGCGGGCAAGTTACAGCCGATTCTTGAGGATTGGGCCGTTTCATTTCCTGGATT
+TTATATATATGTTTCATCACGGGTGAGAATGCCCTCTAAAGTTCGTGCTTTTATTGATTTTATGGTGGAG
+AAAAGAGTAAAAATAGAAAGTTAATGATGTGTGTCAGAATATCGGTAAGAAGAATGGCGCAATCGTGAGG
+ATACGTTTATTCATAATAAATCTCCTGAAAGTTTAGAATTATTTTCGATACAGCCAGATTATCATTGTTA
+CTAATAATGTGGTTAAAATAATAGCATCTATGCCCCCCTTCATGAGTGTGTGTGAAGAGGATGCTTCTAC
+AAGGAAATCGCCAATGCTCAAAGAAAACTTCAACGAACTGCAAATCTTTCTTGTGGTGGCAAGAGAGCGA
+AGTTTTACCAAAGCAGCGGGCAAACTCGGCGTCTCTCAGTCTGCACTTAGCCATGCAATGAAGGCTCTGG
+AGGAAAGGCTCAATATCCGCCTCCTGACACGGACTACCCGCAGTGTGGCTCCCACAGAAGCGGGGGAGAG
+AATCATTGCCTGCCTTGAACCGCGTATTGACGAGCTTGAACAGGAACTGGAATCACTTATTCAATTGAAC
+GGCACGCCCTCCGGGAATATTCGGTTATCTGCCGGGGAACATGCCGCGCGAAGTCTGGTCTGGCCGAAGC
+TAAAACCTTTTCTCAGAGAGTATCCCGAAATCAATGTCGAACTGGTGGTGGATAACGGTTTTGTCGATAT
+TGTTGAAGGCCGTTTTGATGCCGGGATACGACTGGGTGAAAATGTTGATAAAGATATGGTTGCAGTCAGG
+ATTGGACCAGATATGCGGATGGCTGTGGTGGGAGCTCCGGCGTATTTTGCTGCAAACCCTGCGCCTGAAA
+CGCCTCACGAGCTACAAAATCATCGCTGCATCAACATGCGTTTGCCAACTGCCGGTGGGCTTTACCACTG
+GGAGTTCGAGCGAGAAGGGAAACCGCTTCGCGTTAAGGTTGATGGGCAACTGACGTGTAGTCCATTGCCA
+GAAAGAATTGATGCCGCGTTATCAGGGTTTGGGATCGCTTGTGTCCCTGAAGACATGGTTCAGGAGTATA
+TAGAGTCAGGCAAGCTTATTCAGGTGTTACAGGAGTGGTGTCCAACTTTTCCTGGGTATTATCTTTACTA
+CCCCAGCCGCAAGCAGCATCCGCCAGCTTTTGCGTTGTTGATCGATGCGCTTCGCTACACCGAATAACGG
+GTCCTTTATCCTGGACCCGTTTGGGTATTAGCGGCCTACGCGTGCCTGATGTTCAGGCGAGTAACGTTCA
+CCGACGATTTTAATTGTTTCCAGCGCCTCGCTTATCTGCTGCGTATCTTTCTGCGAAAGAACAATGTCAG
+CAGCGGCCAGGTTTTCTTCCAGCCGGTGCAGTTTAGTGGTGCCAGGGATGGGAACAATCCACGGCTTTTG
+TGCTAATAGCCATGCCAGTGCAATTTGTGCAGACGTTACCCCTTTCTCCGCAGCCAGTTCACCTAACAAG
+GTGACCAGTTTTTCATTGGCTTCAATGGCTTGTGCTGCGAAACGCGGTACGGTGCTGCGGTAATCATCTT
+TGCCGAAAGTGGTTCCCGGCTTAATCGCCCCTGTCAGGAAACCTTTACCTAGTGGGCTGAAGGGGACAAA
+ACCAATTCCCAGTTCTTCAAGCAACGGCAGAATTTCCTGTTCAGGCTCACGCCACCACATGGAATATTCG
+CTTTGCAGGGCGGTGACAGGTTGTACCGCATGTGCACGACGAATGGTTTGTGCTCCTGCTTCAGACAGGC
+CGAAATGTTTGACCTTACCTTCTGCGATGAGGTCTTTCACCGTTCCTGCAACATCTTCAATAGGAACATC
+TGGATCAACACGGTGTTGATACAGCAGGTCAATAACATCTGTTTTCAGACGACGTAATGATCCTTCAACG
+GCTTCACGGATATGTTCCGGACGGCTGTTTAAAATCTGCTGCTTATTATCATTGCCGAAGGTAAAACCGA
+ATTTAGTGGCAATTACCACGCGGTCACGAAACGGTTTTAAGGCTTCGCCGACCACTTCTTCATTCAGATA
+CGGACCATACACTTCGGCGGTATCGAAGAAGGTGACGCCACGTTCAACCGCAGCACGAATAAGTTCGATA
+GCCTGACGGGTATCGGTCGCCGGGCCGTAGCCGTGGCTTAAGCCCATGCAACCGAGCCCAAGGGCGGAGA
+CTTCGAGTCCGGATTTACCTAGATAACGTTTTTGCATTGAATGAATACCTCTTTTATCGCGGCTTAAACA
+TCAAGTTTACGGCCAGTCAGCCATTCCACCATTGCGGGATCGCGGTGAGAGAAGAACGCGCTGGTTGCGG
+TATCCAGGGCGGTAATTTGCAGCATATCTTCAGGGCTGAGTTCAAAATCGAGAATGTTGATGTTCTCTTC
+CATGCGTTCTTTTCGCACTGATTTTGCCAGTGAAACAATGCCTCGTTGGTAGATCCAGCGCAGAACTACC
+TGGCCCACGCTTTTGCCATACTTCTCGCCAATTGCCGTGAGAACAGGATGCTGGAACAGACCATTTTTCC
+CTTCCGCAAACGGTGCCCAGGCTTCTGGCTGAATGCCACGACTTTGCATCCAGGGAACGGCCTGTAGCTG
+CTGATTGAAAGGGTTAACTTCAACCTGGTTTACCGCCGGAACGACGTTATTAAAAGCGATAAGGTCTGCC
+AGTCGGTCAGGATGGAAGTTACTGACGCCAATAGCGCGAATTTTACCGGCCTGTTGCAGCTCTTCCATGG
+CACGCCAGGCTCCGTGGACATCGCCATATGGCTGGTGAATCAAGTACAGGTCAACGTAATCAAGTTGCAG
+TCGATTCAGAGAGCGTTCGAACTGGGCTTTGGCCCCTTCGTAACTGGTATCCTGCAACCAGAGTTTCGTG
+GTGACAAAGAGTTCGTTACGGGCGATACCGCTTTGTTTCAGTGCGTTCCCGACCTGGATTTCATTTTGAT
+AAGAGGCGGCGGTGTCAATCAGTCGATAACCGCTGTTAATAGCGTCAATGACCGCTCTTTCGCATTCGGC
+GGCATCGGTCATCTGAAATACACCAAAGCCCAACAGGGGCATTTCAATACCGTTGTTCAGTTTTACTTTT
+TGCATGGTGTTATCCTTCCGTTATCGTTCATGAGAAGCATAACGTAAAGGGAAGAGCTCGATTAGACGGC
+AGGATTTGTCAGGGGTTATGAACAAAATTCATAAATCTGTTTGAGGGTTGAGATTAGTCGTGCAAGTTCG
+ATATCCCCGGAATTTACAGTCCGATGAATAAAAATGAATGTCCATAAAAAATATATTGGTTTATCCCGGC
+GTATATACTTACTTCGACGTACTCCCAATAGCAGTTAATTAAAGACGGGTCATTATTATTCACTCTGAAT
+AATGAATTATTCACTGCCCGCAGAGTAAGAAATATAACTTAAGTATCTATTTAATGACTTGCACAAAAAG
+CTAAATTTTTACCCATGAATAAAAATATAATCCCGCGCCCAACCACCTGATGAGTGGCTACAGACACTGG
+ATATATTAGGTGGCGGTGTACTTTCTTACATAAAGGTATTTCCTTTTCTGTGGAAAAGGAAACCGGGAAA
+TCCCCGGTTTTTCTGACAAGCAGACGCCATTATTTGTGTCTGCCTATGTTCGTTAATTCGTTCATCAGGA
+AATTATCTCAATGTCACGTTATAAAACAGACAATAAACAGCCACGATTTCGTTATTCAGTTCTGGCCCGC
+TGCGTGGCGTGGGCAAATATCTCTGTTCAGGTTCTTTTTCCACTCGCAGTCACCTTTACGCCAGTAATGG
+CAGCACGTGCGCAGCATGCGGTTCAGCCACGGTTGAGCATGGAAAATACTACGGTAACTGCTGATAATAA
+CGTGGAGAAAAATGTCGCGTCGCTTGCCGCTAATGCCGGGACATTTTTAAGCAGTCAGCCAGATAGCGAT
+GCGACACGTAACTTTATTACCGGAATGGCCACCGCTAAAGCTAACCAGGAAATTCAGGAGTGGCTCGGGA
+AATACGGTACTGCGCGCGTCAAACTGAATGTCGATAAAAATTTCTCGCTGAAGGACTCTTCGCTGGAAAT
+GCTTTATCCGATTTATGATACACCGACAAATATGTTGTTCACTCAGGGGGCAATACATCGTACCGACGAT
+CGTACTCAGTCAAATATTGGTTTTGGCTGGCGTCATTTTTCAGAAAATGACTGGATGGCGGGGGTGAATA
+CTTTTATCGATCATGATTTATCCCGTAGTCATACCCGCATTGGTGTTGGTGCGGAATACTGGCGTGATTA
+TTTGAAACTGAGCGCCAATGGTTATATCCGGGCTTCTGGCTGGAAAACATCGCCGGATGTTGAGGATTAT
+CAGGAACGCCCGGCGAATGGCTGGGATATTCGTGCTGAGGGCTATTTACCTGCCTGGCCGCAGCTTGGCG
+CAAGCCTGATGTATGAACAGTATTATGGCGATGAAGTCGGGCTGTTTGGTAAAGATAAACGCCAGAAAGA
+TCCACATGCGATTACCGCTGAAGTGAATTACACGCCAGTGCCTCTTCTGACCCTGAGTGCCGGGCATAAG
+CAGGGCAAGAGTGGTGAGAATGACACTCGCTTTGGCCTGGAAGTTAATTATCGGATTGGCGAACCTCTGG
+AAAAACAACTCGATACAGACAGCATTCGCGAGCGTCGAATGCTGGCAGGCAGCCGCTATGACCTGGTTGA
+GCGTAATAACAATATCGTTCTTGAGTATCGCAAATCTGAAGTGATCCGTATTGCTCTGCCTGAGCGTATT
+GAAGGCAAGGGCGGCCAGACGGTTTCCCTGGGGCTTGTGGTCAGCAAAGCAACTCACGGTCTGAAAAATG
+TGCAATGGGAAGCGCCGTCTTTGCTGGCCGCAGGCGGAAAAATTACGGGGCAGGGCAATCAGTGGCAAGT
+GACGCTCCCGGCTTATCAGGCAGGCAAAGACAATTATTATGCGATTTCAGCGATTGCCTACGATAACAAA
+GGCAATGCCTCGAAACGTGTGCAGACAGAAGTGGTTATTAGCGGAGCTGGTATGAGCGCCGATCGTACGG
+CGTTAACGCTTGACGGTCAGAGCCGTATTCAAATGCTTGCTAACGGTAATGAGCAAAAGCCGTTGGTGCT
+GTCTCTGCGCGACGCCGAGGGGCAGCCAGTCACGGGCATGAAAGATCAGATCAAGACTGAACTAACCTTC
+AAACCGGCTGGAAATATTGTGACTCGTTCCCTGAAGGTCACTAAATCACAGGCAAAGCCAACACTGGGTG
+AGTTCACCGAAACTGAAGCAGGGGTGTATCAGTCTGTCTTTACTACCGGAACGCAGTCAGGTGAGGCAAC
+GATTACTGTTAGCGTTGATGGCATGAGCAAAACCGTCACTGCAGAACTGCGGGCCACGATGATGGATGTG
+GCAAACTCCACCCTGAGCGCTAACGAGCCGTCAGGTGACGTGGTTGCTGATGGTCAGCAAGCCTACACGC
+TGACGCTGACTGCGGTGGACTCCGAGGGTAATCCGGTGACGGGAGAAGCCAGCCGCCTGCGACTTGTTCC
+GCAAGACACTAATGGTGTTACCGTTGGTGCCATTTCGGAAATAAAACCTGGGGTTTACAGCGCCACGGTT
+TCTTCGACCCGTGCCGGAAACGTTGTTGTGCGTGCCTTCAGCGAGCAGTATCAGCTGGGCACATTACAAC
+AAACGCTGAAGTTTGTTGCCGGGCCGCTTGATGCAGCACATTCGTCCATCACCCTGAATCCTGATAAACC
+GGTGGTTGGCGGTACAGTTACGGCAATCTGGACGGCAAAAGATGCTAATGACAACCCTGTAACTGGCCTC
+AATCCGGATGCACCGTCATTATCGGGCGCAGCTGCTGCTGGTTCTACGGCATCAGGCTGGACGGATAATG
+GCGACGGGACCTGGACTGCGCAGATTTCTCTCGGCACTACGGCGGGTGAATTAGACGTTATGCCGAAGCT
+CAATGGGCAGGACGCGGCAGCAAATGCGGCAAAAGTAACCGTGGTGGCTGATGCATTATCTTCAAACCAG
+TCGAAAGTCTCTGTCGCAGAAGATCACGTAAAAGCCGGTGAAAGCACAACCGTAACGCTGGTGGCGAAAG
+ATGCGCATGGCAACGCTATCAGTGGTCTTTCGTTGTCGGCAAGTTTGACGGGGACCGCCTCTGAAGGGGC
+GACCGTTTCCAGTTGGACCGAAAAAGGTGACGGTTCCTATGTTGCTACGTTAACTACAGGCGGAAAGACG
+GGCGAGCTTCGTGTCATGCCGCTCTTCAACGGCCAGCCTGCAGCCACCGAAGCCGCGCAGCTGACTGTTA
+TTGCCGGAGAGATGTCATCAGCGAACTCTACGCTTGTTGCGGACAATAAAACTCCAACGGTTAAAACGAC
+GACGGAACTCACCTTCACCGTGAAGGATGCGTACGGGAATCCGGTCACCGGGCTGAAGCCAGATGCACCA
+GTGTTTAGTGGTGCCGCCAGCACGGGGAGTGAGCGTCCTTCAGCAGGAAACTGGACAGAGAAAGGTAATG
+GGGTCTACGTGTCGACCTTAACGCTGGGATCTGCCGCGGGTCAGTTGTCTGTGATGCCGCGAGTGAACGG
+CCAAAATGCCGTTGCTCAGCCACTGGTGCTGAATGTTGCAGGTGACGCATCTAAGGCTGAGATTCGTGAT
+ATGACAGTGAAGGTTAATAACCAACTGGCTAATGGACAGTCTGCTAACCAGATAACCCTGACCGTCGTGG
+ACAGCTATGGTAACCCGTTGCAGGGGCAAGAAGTTACGCTGACTTTACCGCAGGGTGTGACCAGCAAGAC
+GGGGAATACAGTAACAACCAATGCGGCAGGGAAAGTGGACATTGAGCTTATGTCAACGGTTGCGGGAGAA
+CACAATATTTCCGCTTCGGTGAATGGTGCTCAGAAGACGGTCACGGTGAAATTCAACGCGGATGCCAGCA
+CCGGTCAGGCAAACCTGCAGGTAGACACCGCCGTTCAAAAAGTGGCAAACGGCAAAGATGCCTTTACGCT
+GACGGCAACGGTTAAGGATCAATACGGCAACCTTCTTCCTGGCGCTGTGGTCGTCTTTAATCTGCCTCGG
+GGCGTCAAACCGCTTGCAGACGGTAATATCATGGTGAACGCCGACAAGGAGGGTAAAGCGGAACTGAAAG
+TGGTTTCCGTGACTGCCGGAACCTATGAGATCACGGCGTCAGCAGGAAATGACCAGCCTTCGAATGCGCA
+GTCTGTAACGTTTGTGGCCGATAAGACTACGGCGACCATCTCCAGTATTGAGGTGATTGGCAACCGTGCA
+GTGGCGGACGGCAAAACCAAACAGACGTATAAAGTTACGGTGACTGATGCCAATAACAACCTGCTGAAAG
+ATAGCGAAGTGACGCTGACTGCCAGCCCGGAAAATTTAGTTCTGACTCCCAATGGGACGGCGACAACGAA
+TGAGCAAGGGCAGGCTATTTTCACCGCCACGACCACTGTCGCAGCGACATATACACTCACGGCGAAAGTG
+GAACAGGCCGACGGTCAGGAATCGACGAAAACTGCCGAATCTAAATTCGTCGCGGATGATAAAAACGCGG
+AGCTCGCCGCAACATCTGATGTGCATTCTCTGGTGGCGGATGGGGTAACGACAGCAACACTGACGGTAAC
+CCTGTTCTCGGCAAACAACCCGGTAGGAGGAACCATGTGGGTCGACATTGAGGCTCCGGAAGGGGTGACA
+GAGGCGGATTATCAGTTCCTGCCGTCGAAAAATGACCATTTCGCGAGCGGGAAAATCACGCGTACATTTA
+GTACCAACAAGCCAGGTACATACACATTCACATTCAACTCTTTGACATATGGAGGGTATGAAATGAAACC
+AGTGACTGTGACAATTAACGCCGTTCCTGCAGATACTGAAGGCGCTGAGGAGAAATAAAAACGACGATGT
+AATAAATAATAATGGCGTTGACATGCGCAGCGCCATTATTTACTGAATACCTACCCTGGTACCGATTAGA
+CGGTGGCAGGGTAGGGTAAATCTTATGTGATGGATTTACAGGCTAAACCGGGCGAACGGGGATAAAAATT
+TCGCAAACAATGTTATTGCTATCAATTTCGACGAAGTTTTCATTGTAATAAAATCGCTCAATATCACTGC
+CGTTCACTCTGGCTAACCCCCTGGCAGGTAATTCCATCAGATAGAGGTTTCGCGCCCATTCAGGGTAGTG
+CTCCCACTCACCTTCATAGCGGAAAGAGGCATACAGTCCTCGGTTAATTGTCCACTCTTTCGACATCTCT
+GAATCGGTTTGTTTGCATACCGTACCGGCAAAAGTTTCAACTGTGAGCAAATCGACCGATTTTGTTGACG
+GTTCGAACGTGGAGACGAAATAGATATCCGTCTTAAAATTCTTCATACATCTGACTAAATGATGACGTCG
+CAGTTTGACTTCTTCATCCGGTAATTTATTCGACACTTCAATATCATATTTAAATGAATTGCCAAAAATA
+GGTGTCTCAGGAAAGTTGACTAATCTACACTCCGTCTTTTGCTGTTGACGTATTAAAAAAGAAGGGAAGA
+TATTTGCGAGATCCCAATAATCACGGTGGCGGTATTCACGGGGAGAGCAGCCGAATAACTTTTTAAATTC
+GCGGCTGAATGACTGCTGTGAATCAAAATGCAAAGAGAGTGCAATATCAAGCATAGATTTCGCGGAGAGC
+CGGACAAGAATGGCGGCACGACAAAGCCTTCGTTTGCGAATGTATTCTCCCAAAGGCACATGCATGAAAT
+TTCGGAACAGAAGCTGGATGTTGCGTCTGCTGTAGCCAGATTTCTGTGCGATATCTTCGATTGAAATAGG
+GTGCTCAAGATTGCACTCAATCCACTCCAGGAGCTGCTGTAGAATCTTCTGCCTGATCATCACATTCTCC
+GTTAATTCTTTGTCATATCGCACATTTTCGTTATGTCCTGGGCCCTAAGTGTATCAAAAACAGCAAGGCG
+CAAGGAAAAAGCACTGATAGCGTCTGCTTCATTGCCCCAAAAATAGAGAGATTTCTGCCCTCCATTATTA
+ATGAATTTTTTGCATAAGTGATATCAAAATCCACATACTAATTTGAGGTTACGTTTTAACGTAGACTCAT
+TGCTCATACCTAATGGAGGGACTGACAGTGGAATTTTCCGTATTAAGTAACAATCTGAAAATGCCGATGA
+TGGGATTTGGTGTTTTTCAGGTTACCGATAAAGACGTGTGCAAACAGTCAGTGTTGAATGCTATCCGCAC
+GGGTTATCGACTCATCGACACAGCAGCGGTATACGGTAATGAAGATGCCGTCGGTGAAGCCGTTCGTGAG
+GCCATATCTGAAGGTTTATGTACCCGAGAAGAGTTATTTATAACGTCTAAATTGTGGGTGCAGGATATGT
+TGAATCAGGATATTGCAGCAGCAGGTATTGAAGCATCATTAAAAAAATCGGGGCTAGAATACTTCGATCT
+CTATTTATTGCACCAGGCCATGCGCGATTATTTCAGTGCGTGGCGTGCACTCGAAGATGCCTATGAAGAG
+GGCAAATTAAAAGCGATTGGGGTTTCCAATTTCTACCCTCATGTTCTGGCGAACTTTTGTGAAACGGTAA
+GAGTTAAACCGATGGTCAACCAGGTCGAGTTGCATCCCTATTTTGCCCAACCAGAGGCGCTGGCAACCAT
+GAAGTATTATAACGTGCAGCCTGAAGCATGGGCTCCGTTAGGTGGTGGACGACATAAACCCTTTGAAAAT
+AATCTGCTTCAGAGTATTGCAGATGCCCATCAAAAATCAATTTCTCAGGTCATTCTGCGTTGGAATATTC
+AACGGGGAGTGGTCGTTATTCCGAAATCAACACATCAACAGCGTATCGAAGAAAATTTTGCTATCTGGGA
+TTTCTCACTGACAGAGAAAGAAATGGCGCAAATTAGTTCGCTTGATTTGGGTTATGTTGGGGAATCGGTA
+AAACATTTTAATCCTGAGTTTGTTCGTGGTTGTCTTGCTGTAAAAATACATGATTGATATTAATCAATTA
+TTTTACCTGAGACGACAAGAATCTTTTAATAGGGGAGTGATATTGACCTTCACTCTGTCATATCTCCGGT
+AATATGGCGTCAGGCTTCATCATCAGAAAGGGAGCCTGACGCCTGAAAAAGTGAACAACAGACAGTGTTC
+GGATTATCAATATTCAGTTTTTAACGTTGAACTGGATTCATTACTGCGTTGTTTAAGAATATGCCGCGCC
+GAATCTGCCATTATCATGACAGCACCTGCCAGCATCAGAGTATCTTTCAATACCAGACGACCAGCACCGG
+ATAAATAAGGGAAACCATGATGAGCGTCACCCAATGCGGGTACCCATGCCTCCGGGGTGGTGATTAAAAA
+TGAGAGTGTTACCAGCGGCGTGGTAAATGCCATCAGCCCACCCAATAAACCTAACCAGCGATTGACAGGA
+TTAGCCAAAACCAGCAGAGCAATAATCACCTCCACGACGCCAAGACCGTTGGAAAAACCATAGGTATTAT
+TAGCCGTTTGCCATGCTCTTGCTTCTGGTTTGTATTCGCCTTCGTGAGTCAGATGCTGTTTATAGTCTTC
+CGGGTGTTCATAAAAGAACGACATTAGTGGACTGTTTGCGACGAATGGTGTAATGCTGTCTGCCTCGTAA
+GGGACAAACTTTAATAACCCAATCCACATAAAAACAATCGCAATACTCAGACGAATCAATGTCAGGCCAA
+TTTTATCTCCCCGACTTAACAGGTGCAGGTATCTTTCCATTGTAAACATCCTTATTTATACAATACTGCT
+GTTGCGGTTGAATTATTATCAATTCGCATCGATGTAACTTTCCAGGATGAAGCATTATATTTTCTGGCCA
+TATCAGCAATGGCATTCTCAAGAACTGTCGGTGATGCTGATACTGATGAGACGCTGATATGTTTCAGAAT
+TATTTTATCATCTGCATTGGTGGAAAATGCCATAACGCCAGATAATAGTGTTGCAAATAAAACAGATTTT
+TTAAACATATAAAATACCATCAATGAAGTGATTAAGAAGTTATAAAGTAACAGGGAATTAATAAGATTCT
+TTTCTCTGAGACGCCAGAATATTTGTTCTGGCGTCTGATTTTGAGTTTATTTGACTAATGAAAATAGATC
+ATTGAGTGATTCGCTCATCGACGGATGAGTAAATATCTGATCGCGTAATATGCTATAAGGCAGCCCGGCA
+TCCATCACCATTTTCACTATATTGATCATCTCGTGGGAGTCAACACACAGCAGTGATGCCCCTAATATAC
+GTTGGGTTTTATTATCAACAATCGCTTTTAATACCCCACGAGTATCATTCATCACTCTGGCACGCGGAAT
+TGCAGCTACAGGCAATGTCACCACCTGAATATCAGCACCACTCTCTCTGGCCTGTTCTTCTGTCATACCA
+ACCCTGGACAGTGGCGGTGTCATGAATACGGAATAAGGCACATTTTTCCGATCATCAGTACTACGTCTGC
+CTTCTCCCAGCAACTCATCACGCACAATGCGGTAATCATCCAGTGAAATGTAAGTAAATTGCAGCCCGCC
+GGTAACATCTCCCATCGCCCAAATATTGTTTGCGGTGGTATTTAATTGCTTGTCAACGACAATTGCCCCA
+CGTTCGTTTACTGCGATACCTGCATTTTCTGGATGTAACGAAGCGGTAGCCGGTTGACGACCGGAAGCTA
+TTAACAGTGCATCCACCGCCAGTTGGGCGTGCTCGCTATGCACTTGCACTTGATTTTCATGGTGACTGAT
+TCGCTCCACATGGGCATTGAGGATTATATCGACACCCTGATCGCGTAAAATCGTCGCGATATTATCAGCA
+ATATCCCGATCTTCCCGAGGCAAAAACAGCGAAGCTGCCTCTAAAATGGTTACTTTGCTGCCAAAATTAG
+CGAACATAGAGGCGAACTCAACGCCAATATATCCGCCGCCCAAAATACCTAAATGCCCAGGCAATTCTTT
+TAGATTAAGTAATCCGGTGCTGTCATATACACCAGGCGTGGTGGTAATTCCAGGAATTGGCGGAACCACG
+GCTTGTGCACCGGTATTAATAAAAATTTTCTCGCCATGAATCTCCAGATTTCTCCCAGTCCGATGAACAC
+GCAGGCTATGATTATTGATAAACTCCGCCTGGCCGTCGATCACGTCGATATTGGGCATATCCGCAAGATT
+ATGAAAATTCTTATTACGTAAAAAATTAACCACTTCATTTTTACGCTGTATGGCACGGACAAAATCTGTG
+TGCTGCTGTGCGTCATGAACCAATGTTTTGGTTGGGATACAGCCGATATTAATACAGGTCCCGCCATACA
+TTGCATTTGATTGTTCGATGAGAGCCACACGCCAACCTGCTTTTGCCAGCGTGACGGCTAATGTTTTTCC
+AGCCTTGCCAAAACCAATAATAACTGCCTGATATTTATTCATGATGATTTCCTGTCGAAACGCGTTCATT
+TGACATCATGACTATAGACGCAAAAGAGCAAATAACATTTCTTCACAACGCTTGATATTTTGTCTTATCG
+TCTGGTATTTTCTTTTTCTTAATCAGAATCACAAAACAAAAATCATGATTAACTATTTGATGGTATTAGA
+TTAATTATTGACTAAGATTGTTGGTGTTTGTAATCAAAAAACCACTCAGGAGTCTGATATGGATGCTCTT
+AGCCGTTTGTTGATGCTTAACGCTCCACAAGGAACGATCGATAAGAATTGCGTGTTAGGAAGTGACTGGC
+AACTTCCACATGGTGCCGGGGAATTGTCGGTTATTCGTTGGCATGCGTTAACGCAAGGAGCGGCGAAGCT
+GGAAATGCCGACGGGAGAGATTTTTACATTACGCCCGGGAAATGTGGTCCTGCTACCACAAAATTCAGCC
+CATCGCCTGAGTCATGTCGATAATGAATCGACCTGTATTGTCTGTGGCACTCTTCGGTTGCAACATTCGG
+CGCGTTATTTTTTAACGTCTTTGCCGGAAACGCTGTTTGTAGCACCGGTTAACCACAGCGTGGAATATAA
+CTGGCTGAGGGAGGCGATCCCGTTTTTACAACAGGAATCCAGATCGGCAATGCCGGGAGTGGATGCTCTG
+TGTAGCCAGATCTGCGCTACATTCTTTACCCTCGCGGTGCGTGAGTGGATTGCACAGGTTAATACAGAGA
+AAAACATTCTCAGTTTGCTTCTGCATCCACGTCTTGGTGCGGTAATACAGCAAATGCTGGAAATGCCAGG
+ACACGCCTGGACCGTCGAATCGCTGGCCAGCATCGCCCACATGTCCCGGGCAAGTTTTGCCCAGCTTTTC
+CGTGATGTTTCCGGAACCACGCCGCTGGCTGTATTAACAAAGTTGCGTCTACAAATAGCGGCCCAGATGT
+TTTCCCGGGAAATGCTCCCTGTTGTGGTGATCGCTGAGTCAGTAGGCTATGCCAGTGAATCATCTTTTCA
+CAAGGCGTTTGTCCGCGAGTTTGGTTGTACTCCGGGAGAATATCGGGAAAGGGTCAGACAGCTTGCACCC
+TGAATAAAACCGCCAGAAATCAGGGCAAAGATAATCCGCATTCCGGGAGTTGTGAGCCTTTCAACTATTT
+CTATTTCCAACGGTGGTTTTGGGTTTTATATATTTTTTTGATGGACTCTAGCTCAGTTTTTAAATAAAAA
+TGCAAACTAAATTTCTTCAATTAAATAAAATCCCGACTATTACTTGATACGTGATTATTGTCGGTGATTT
+TTTTTGTACACCATCAGTGTATATCTCAATAACCCCTGAATAAGTAGCTCTGAATAGGTATAAGGGATGT
+AGCCTTTTTAAATGGATTTCTTATGCCAAAAATGATCGTCGATTTCCCTATAAAATGTGAGCGATGCCGA
+AAGAAATAAAATTAGTTATTGCATTTGAAGTTTAGATGAAAGATTATCATTTGTCATACAAATGAGGGGT
+GGTATGTTGCTAGCCAATTAAAAAAGAACGCCATATTTATTGATGATTGATCCCCTGGAAGGGGGGAACC
+ATCGGGCATAAATGGGCATGAAGTAATGGAGTATTAGTTGTGAATGTCAATTTCTTTGTCACCTGTATTG
+GTGACGCCCTGAAATCAAGAATGGCACGAGACTCCGTGCTGCTACTGGAAAAACTCGGCTGTCGCGTAAA
+TTTCCCGGAGAAACAGGGATGCTGCGGTCAGCCTGCGATCAATAGTGGTTATATCAAAGAAGCGATTCCA
+GGGATGAAAAATCTGATCGCCGCACTGGAGGATAACGACGATCCCATTATTTCACCGGCTGGCTCTTGCA
+CCTATGCCGTAAAAAGTTACCCGACGTATCTGGCGGATGAACCTGAATGGGCATCACGTGCCGAAAAGGT
+TGCCGCGCGTATGCAGGATCTCACCTCTTTTATTGTTAATACATTAGGGGTAGTCGATGTAGGTGCCAGT
+TTGCAAGGGAGAGCGGTGTATCACCCATCTTGTAGCCTGGCCCGTAAGCTGGGGGTGAAGGACGAACCAC
+TTACGCTGCTGAAAAATGTGCGTGGACTGGAGCTGTTGACCTTTGCTGAACAGGATACCTGCTGCGGATT
+TGGCGGCACGTTCTCGGTCAAAATGGCCGAAATATCCGGCGAGATGGTGAAAGAAAAGGTTGCGCACCTG
+ATGGAAGTCCGCCCTGAGTATTTAATTGGTGCTGACGTGAGTTGCCTGCTGAACATCAGTGGACGATTAC
+AACGGGAAGGGCAGAAAGTCAAAGTGATGCATATTGCTGAAGTGCTGATGAGCCGCTGAGGATATAAAGA
+TGTCGATCAAAACCAGTAATACAGATTTTAAGACACGCATCCGTCAGCAAATTGAAGATCCGATCATGCG
+TAAAGCGGTGGCAAACGCGCAGCAGCGTATTGGGGCAAATCGGCAAAAAATGGTCGATGAATTGGGGCAC
+TGGGAGGAGTGGCGCGATCGGGCCGCCCAGATACGTGATCATGTTCTGAGTAATCTCGACGCTTATCTGT
+ACCAGCTCTCAGAAAAAGTGACACAAAACGGCGGTCACGTCTATTTTGCAAAAACCAAAGAAGACGCCAC
+CCGCTACATTTTACAGGTTGCCCAACGCAAAAATGCCCGGAAGGTAGTGAAATCTAAATCGATGGTGACC
+GAAGAGATTGGTGTCAATCATGTGTTGCAGGATGCCGGGATTCAGGTGATTGAAACCGATCTGGGTGAAT
+ACATTCTCCAGCTGGATCAAGATCCGCCCTCTCATGTTGTGGTCCCGGCAATTCATAAAGATCGCCATCA
+GATCCGTCGAGTGCTACACGAACGTCTGGGCTATGAGGGGCCGGAAACGCCTGAAGCGATGACCTTATTC
+ATTCGGCAAAAAATCCGCGAAGATTTCCTCAGTGCTGAAATAAGTATTACCGGCTGTAATTTCGCGGTGG
+CAGAGACCGGTTCGGTATGCCTGGTGACCAATGAAGGTAATGCGCGAATGTGTACCACGCTGCCTAAAAC
+GCATATTGCAGTGATGGGAATGGAGCGTATTGCTCCCACGTTTGCAGAGGTAGATGTATTGATCACCATG
+CTGGCGCGCAGTGCCGTTGGTGCACGTTTGACGGGATACAACACCTGGCTGACAGGACCGCGCGAAGCGG
+GGCACGTTGATGGTCCTGAAGAGTTTCATCTGGTTATTGTCGATAACGGGCGTTCTGAGGTGCTGGCCTC
+TGAATTTCGGGATGTGCTGCGCTGTATTCGTTGCGGGGCTTGTATGAATACTTGTCCGGCATATCGCCAT
+ATTGGCGGTCATGGATACGGCTCTATTTATCCAGGGCCAATTGGTGCGGTGATTTCCCCGTTACTTGGCG
+GCTATAAAGATTTTAAAGATTTACCCTACGCCTGCTCTTTATGCACCGCTTGTGACAGCGTGTGTCCGGT
+GCGTATTCCGCTGTCAAAACTGATTTTGCGTCATCGTCGGGTGATGGCTGAAAAAGGGATCACCGCAAAA
+GCAGAGCAACGGGCGATAAAAATGTTCGCTTATGCCAATAGTCATCCAGGATTGTGGAAAGTTGGGATGA
+TGGCTGGTGCTCATGCGGCAAGCTGGTTTATCAATGGCGGCAAAACACCACTCAAATTTGGCGCGATTAG
+CGACTGGATGGAAGCACGCGATCTTCCTGAAGCTGACGGAGAGAGTTTCCGTAGTTGGTTTAAGAAACAT
+CAGGCGCAGGAGAAAAAGAATGGATAATCGGAGCAAATTTTTGAATAACGTTGCTCAGGCACTGGGGCGC
+CCGCTGCGACTTGAACCGCAAGCAGAAGATGCGCCGCTTAACAACTATGCTAACGAGCGGCTTACCCAAC
+TTACCCAACAGCAGCGCTGTGACGCGTTTATCCAGTTTGCCAGCGATGTTATGTTGACGCGCTGTGAACT
+GACCAGCGAGGCGAAGGCGGCAGAAGCTGCAATACGTCTGTGTAAAGAGCTGGGAGATCAGTCGGTCGTG
+ATTAGTGGTGACACGAGGCTGGAGGAATTGGGGATTAGCGAACGTTTGCAGCAGGAATGCAATGCCGTTG
+TTTGGGATCCGGCGAAAGGTATTGAGAACATATCACAAGCAGAGCAGGCTAAAGTGGGCGTCGTATATGC
+TGAATATGGTTTAACCGAATCGGGAGGCGTGGTTCTTTTTTCCGCCGCCGGGCGCGGGCGTTCATTGAGC
+CTGCTCCCGGAATCTTCTCTTTTTATCCTGCGTAAAAGCACAATCCTGCCGCGTGTAGCGCAACTTGCAG
+AAAAATTGCATCAGAAAGCGCAGGCCGGCGAACGAATGCCGTCATGTATTAACATCATCAGTGGTCCCAG
+TTCAACGGCGGACATTGAGCTTATCAAAGTCGTCGGGGTTCATGGTCCGGTGAAAGCGGTGTATCTGATT
+ATTGAGGATTGCTGAGAGAGATATGTAGTCTGGACATAAACCTGAAGGCGGTATACGAGGTTGTGAATAA
+CGTTAAGGACAACCTGACTTAACCCCGTTCCGTCATGGTTATGCTGCTTTTCTGTAAATATCCTGACATT
+AATAATGCCAGGATATTTACAGTTAAAAAGACAGGAATCCATTCCTGAAGACGGGCTCCCTTCCCGGTCA
+CTGTCACTATAGTTTTATACAGGCACTCTCTGTCAGAATGCTGTTTATTACTGCCCAGAGTTTTGTTGGT
+ATTCATCTACCATTTTTTTGACAAGGCAAAACATTACAGAAATCACAATACTTAGAAAAAATCCCAGAGC
+CAGGCAAATGGCAGCAGGGTATTTATTTTTTATTTCTGGTGAGCTTATAGTGACACAGCCATCACCGTTC
+GGATACAGTGACCAGTTCCTGGTCAGGTATATCATTTTTGTATAAAGCTCACTGTTAATTGCTGAAGGCG
+TTTGTATCTCATCGAGAACTTGCCTGCCATTATGGTATTCTGACGTATACCATTTAATGATAGACGCCTG
+CACGCGAGATATTTCCGCTTCAGCAGTTGGTAAATCTCTCTTATCTCCTGACCATTCCAGCTTTATTTCT
+CTGTTCTTGACATCTGGGCTGGTCTGAAAAAATGTAGTAATTCGCTGAATAACGTCTTCAGTCATTGTGG
+TCTGACAGGCAAAGTTATTATTGCTATCACAGCTAACAAGTATGCCTGGTGTTGTCTGATTTATTTTTAG
+GCTGTAACTCACTTTTATATTATCTTTATTGATATACAGAAACAACAGCACCATTGCCATACAGATAGCT
+ATAATAAAAAGGATAACACGAATCTTTTTCTTCAGATAAAATAAAATCTCAATCAGATCGATATCCTGTT
+TGATTTGTTCATTCATAATATATCCAGAAAATGAAATCTGTCGCAGATAAGATTGTATTAATAGTCTGTA
+TCAGGAATGTTCAGGGTAAATATCAGCAAAAAGCCAGCATCATGAGTACTGGATATTTATAGCCTGCAGG
+CAGCATACTGCTGCCTGCAGGGGGTATAACAGTCGACAGGGGAACCGACTGCTTTATTCTTACCAGGTCA
+CATTGATACCAACTACACCCTGTAGCGGGTTCTCAATGTCGTCACCTTTGGTGTAGTCAAGGCTTGCATA
+TGCTCCCATGTTTTTGGTGATATCAGCCTGTACACCTGCACCCACGCGGAATGCTGCACCGTCAATGCTG
+GCATTGACAGACTCATCACCCAGACGGACTTTGTTGCCATCAGAGAATTCGTTCAGTGCGGCCAGATTCA
+GATAAGGTTTAACGGTCGCGTTGCCCACAGCGAAGTCATAACCCACGCGCGTACCGGCCTCACCCAGCAC
+AGAGTTATAGCTGTCAGAATGAACGTCCACGCCGTTGAGTTGATAATCCACACCTTCCAGAGTCAGAGCA
+GACAGTTTGGCATATGGCTGAATAAACAGGCCATTACCGTCTTTCCATGTGTAACCGCCTTTAACCATCG
+CACCAAAACCATTGGTGTTAAAGTCAGCTTTGATGGTACCGCCACCATTCATCAGGCGAACATCTGCCGT
+GTTGCTGTAGTGACCAAACTGTGCAGCAGTATCAATGAAGATACCGTTGTTATACTGGCGGCTCAGGTAA
+GCGTGGAAGCTGTAACCTTCAGTGTCACCTTTGCTCTGCATGGTAGTCATGTCACCTTTCGCAGAAGACA
+TCGCCACACCGGCCAGCCAGCTACCATCTTCAGTCATGAAGCGGGTATCACCACCCAGCATTACACCATT
+TACATCCAGGTCATAGGATGCATTTCCCGCGGTGGTATGTTTCTGTTTACCGCCAAAGTACTGAATCCAT
+ACGCCACCCTTGTCATTTTCGCTCAGACGGACAGCATCCTGACGGGCGGAGAGCGTGTCAGCCTGCAGAT
+TAGCGACGTTAGCCGGAGCAGCTGCCATTGCCTGAATCACGGAGCTGGCGTTGGATGCTTTATGCGTGTT
+TTTTACGAAATAAAAGTTACCATCAGCTCCCTGTGTCAGGTCATATTGATACAGACCACCTTCCGTTGTG
+CCTGTGGCTTTTAGAGTGCTGTCTTTGCCGGTAGAAATAAATGCCGTTTGTTCATTGATAAGATCCAATG
+AACCCGCACTGTAAACACGCAAGTCACCGCTCGCTTTACCGCTGATATCCAGAGTGTTTTCAGAAGAGGC
+ATCAACAATCAGAGTGCCGTTTTGAGAAGCAAACGTGCCAGTATTGACTGTAGCCTTCGTGATATTAACC
+GTACTGTCTTTTACTGCCAGAGCATCAACAGTTGAGGAACCCGTAACATTCCAGACAGACCCGTTTTGCA
+GAGATACACTGGCATCTCCTGCCCCTGAAACTTTGCCTTTCCAGACTGAACTATCGGAAAGATTTATATC
+CAGATCACTACCCGCTTTATCGCCGCTATTGAAGGTATAAGCATTACCTTCCCAGTAAGAGCGGGCAACG
+TTCATGTTTACATTTGTTGTGGTACCGACTGAACTATTGCTTGAAGAAAGGGCCAGGACATCAGAGTAGA
+TGGTTGAATCAGCAACAGACAAATTTAAATTTTGCGTTGCTGAACCTGCGCCTTGCGCCGAAGCAGAGGC
+ATAAATTGTTTGTTTATTATTAGCCGCCCCAATTACTGAGCCATCCTTAATATTCAGGTTGACTGTATGA
+GTTCCCGTATTATTCCCGGCAATAACTATTGCTTCAATCCGACCATTAATAATATTTGAGCCAGCAAGGG
+TAATGTTGTCGGTTGCATCACCGTCAAAACCCTGCAATAAACTACCCTTTTGAGCAAAAATTGCCGTGGA
+GGCGTTGCTGGAACTCTTATTACCTTGAGCATTTATGGTTGTGCCATTAAGCGTGACATTATTTCCCCGG
+GCCCCTTCCAGAGATATCCCTGTCGCACTACCTTTTTCATTTTTTGTAACGAAATTACCGCCATTAACAA
+CAACATCGCCAGTTGAATCAATGACCATTGCAGTCCGGACATAGGTGCCTTCACCTTGAGCTGTGATGGT
+GGAGCCTGTAGCATTAATCACAACATTTTTGTCACCGCTAACTTTTACACCTTCAGCGAATTTGTTGTCT
+GCCGTTGATTCAGCAGTAATATCATGACCAGCAAAATCAACATTAAGGTCTTCATCTGCCGCATTAATTG
+TTACGGCTGTAATCTGTTTGTCTGCTGTATTGTTAATAACAACATCTTGATCCAGAGTCGTCTTATCTTT
+ATCCAATGTAACCGGTGTAGTTGATACCGCGTTATCAGCAGCGAATGCTGGTGCAGAAAGAGCCATAACA
+ATAGCTGTCGCTAATGCGCTGCGGTAAAATGCCTTACTGTTTTTCATGAAGAAATTCTCCATTCTGGTAA
+CTAATTTCAATTTCCCACTTATTTATATTTATGCAGAGATAAAGCCTGCGTCCCTGCATTTACCACCACG
+GAATACCTGTTGGTATTTCCGTTTTCACGCAATGTCATGGCATTCGTTGTTTCCAATGCATTTCCATCAC
+CGTGAAAATTATTGCTGCTCAGCAGCAGGGCTTCCCGCAATGACATGCTGTCCGGTATTCCCCAACGCTT
+TTTTAGCGACTGCTCGGCAAGCCATATCTGTCTTATCCCCGTTTTGAGAAACTGCGCACTGTATTCCCAG
+CTGTGTCCGGCAAGAAGCAACGACAACACCTTCTTTTGCTTTTCCGGGAAGCGTTCTGACATGACGATTG
+TCTTTGTGCGGTTATTCACCTCTTTCATAAAGACAGAGTAACTGTCCATAACTGGCAAAATTTCTGCATG
+TTTCAGCCCTGAAAACCCACCAGAGGTATTTGCAATACTGATAACTCGCTCTACTGACATTCCTGGTTTC
+AGTAACCTCAGGTTTTTGAGAACGCCAGAAATACTCACATCCGGTGGCAGAAAAAAGGGCGCGACGCACA
+ACACCACCACGAATGAGTGATCCCGATAAAATCGGAACCACATTTCAGCGCATTCGGCAGGTCGCCCTGC
+CGATATCACGACACTCTGTGGCCAGTGCCGCAATTTATTGCGTAACTCCTCTTCTGTTCCGATGCAGGTA
+ACATTGCCGACAGAACCGGTTGATAGAGCTGCGAACTGCGCTGGTACAATTCCTGAGGGACAGAAAAGAA
+CGAAACGCATCCTTCCCTCACAGATGTCAGTACGCCAGCACGCTGTACAGGCTGTACAGCGTGCCTCCCA
+ATCCTGCAGCCCAGAGCAGTAGAAATATTTTGGCTCCTACACTGTAGCGAGTCCGTATGCGCCGCAGTGG
+GGGGTAGTAACAACGCTGCTGTGTCATAACAATCCTGGTCTTTTTTTAGACATATTTTTTCTTTGTCCGG
+AAAGTACTTTTCCGGAAATGGCGTCAGAATTTATTGATTCACCAACGGCAACTTTCTCTGGATAAAGGAT
+TCCGGATACCATGTTCTGCACATACTGAGTGAGTCGATGAGCGGAATGTTGTCCGATATATTTTGCATGT
+AGCCGTATATTCCGTTTCACTCTGCTGTCACCGCATCCCGTATAGAGCAGCCTGAAATCGCTCAGTGTTC
+CCAGTCCAAGTTTCATTAAAGCCCGTGTGGCAATCGCATGCAGGGTCTTTGAACTGCGTTGTTCATAACG
+GGCAATCTCACTGAAACTCATGCCCTGCATCAGAATCTTAAGCACGCTCAACTCCCGTGCAGTCAGGAGC
+CAGAAATCGCTCATATCGCCGGGCAAAGGACGTAGTAACCAGCGGATAATTTGATTCTGATAACGACTCG
+CTGTCAGCATGGTGCCGATGCGTGGGAAGCCGTTATACAGACTTGCAGCAGGAGCATTATCGAACCAGTC
+GGAGTCACCGGTCAGGCAGACCTGCCATTGCCCGGCATCACTCCGCAAACGGGCGAGACAAGCCAGAAGA
+ACCAACTCCCCTGAAGGAAGCGAAGGGATATCAGCTAACAGGTAGCCACAGGAGGTCTTTAAAACGAATT
+CAACCTCTGTAGTGACGTTGCTGTACACCCGCACGATATACCTGTCCGTTGGGATGAGAGACTCCAGTGC
+CAACCTGGTGAACTGACAGGCACTGATAATAACCAGAGGCTTCTTCATTCAGACTCGTCCACGCCATTGC
+TACAAAACCTGACATTTTGATTCAAAATGTCAGGTTTGGTTTAATAGCCTGAATATTTAATTTTCTTGGA
+ATATAAATCTAATTTATTTGATTTTTATTGTTTTTAATTTTGTATTATTTAACAATATGGGCGAAAGTTA
+ATCACTGGTATGACCTTTGTGATTAATCATTTCAAATCATGGGGTTATTTTACTTTAGCTAGAAATATCA
+ACATGTTATGTGTTTTATTTAATTGAATGGGCTGTTTTTTTATGGAAGAATTGAGGAAAACGTAGGAATC
+TGACATTTTGAATCAGAAGGTACTGTTTTAACGAGGCTTTTTTTTCCACACCCCTTTAAAACGAGCAGCA
+TTACTGGCTGTGTATCTGACAGTATGCTGAATATTTCGATGACCCAGATAATCCTGAAGTAGTCGGGTAT
+CGACACCATTGTCAGCCAGAGCAAAACCACAGGCATGACGTAACATATGAGGATGTGCTTTTACAGCTAA
+TCCTGCACGTTTTCCAGCCTCACGAATGATAGAAAAAAAATGTTGTCTGCTGATAGGGCGGCGTTTCCGG
+GAGAGAAAAAGCCAGTCTCCTTCAACTCCGTTTTCAATTAACTTCCTCTGCTTAAGCCACAACTTGATCA
+AATTATATTCATCAGGAAGAAGAGGATGTGTTGTCGAGAAACCATTTTTAATACGCCGAATATTAAGTTG
+TTTTCCAGATGCATCAATATCGGATAAACGTAAATCAAGAAGTTCACTGGCCCTAAAACCGTGAATGAAA
+GCCATCATAATCAGACAGCGATTTCTTTCAGGAAAGGATATGCTCTGGGCTGCATCCATCAGCCTGTAGA
+CTTCATCCTGTGTGAGATATTTTCTCGTCATACGCCACCGTGTACAGTTGTAAAAAAAAGAGAGGCACAC
+CCAGATAAGTATGCCTGCAATCAGAACGTTATCGATGTAATCTCATTATCTCATTAATAAGATTTTTTGA
+ATAGTAGTTCTACGCAACAGATTAAATATGAACTATTTATTGTGCAGCTTTTCTACAAGTCATTTTTAAT
+GCGTATTTTTATCTACTATGATGTGAAAAAAATAAATATTAAAACTATGAGTGACAGGTCGTGTGGGATG
+TGTGTTACGTCTAATGTTTTAGTAATTTTTATTAGTTTTGAGATATTTAACATCATTTCCTGTGAGATTG
+TCTTGTTGTGTATCCAATTGATTTTACTTTTGTTTTTTTGATGCATAAATTTGGAGGATAGAAAGTAAGA
+TTAGCTTAATATCAATGATATGAATTTATAAATACATATTGTTGCAAGGTGTTCTTTACTTTTTTGGTCG
+TGAGTAAATCATTGTTAATGGGTTCTACTCATAAATTAAAAATATTCATTTAAATGATTTTTACTTTTTG
+TATATCTCAATTTGTTTATTTTGCATTCATTTGATGGAGAGTATTCCAACACTTTTTATTTTTCGCAAAA
+AACTTATTAACAACTTTTTATTATCAATTGAAAATTAATGTAAACTAAAATGTTAGCGAAGCGATAATCT
+TGTGCTAAAAAATATTTAAGCATGATGATTAATTAAAGAAGAGTAAAAATAAATCACTGCTAATAAATTA
+TACGAATCGTGTTTAAAGCTCCATGTGGTTTTGGTCTGACTTATTTTTGTACTCGTTACAAGAACCCTTT
+TCGTATATGCTAACCGTGAGCGGGAATGAACAGGTAACCATAGCCAGGAACATTAGCGGCGTAATTCTTA
+AGCTGAGTGGTATTTCATCTGTAGTTTATCTGTGTATGCATAGCACCTTCATCAGCCAGATTGAGCAAGT
+CAGCTTAGAATTTGCTGGCGAGATTGTCACGATGAAGCATGAGAGTTACCTCAGTGTTTTATATAAGGAT
+TCGGTCCTCATAGTAGAACGGTAACTCTCAATCTGATCGGTTCCTGAGTCAGTTCACATCACGACTCATT
+TTTTCGCTCTCACCGTCATCCCATTTGCCACAAAATATCCCGCCGTGCTCCTCGGCAACGCTTCCTTCCC
+ACGAATCATATCCGCTATTTTCTCGCCAATCATAATCGTCGTGGCGTTCAAATTGCCGGTGATAATTTGC
+GGCATAATTGACGCATCCACCACGCGCAGGCCTTCCAGCCCGTGTACGCGGCCTTCGCCGTCAACCACAG
+CCATCTCGTCATAACCCATTTTGCAGGTACCGCACGGATGAAACGCGGTTTCGGCGTGGTTACGCACGAA
+CTCATCGAGCTGCTCATCCGTCTGGCATTCGACACCAGGGCTGATTTCGCGGCCACGGTATTGATCCAGC
+GCGGGTTGATGCATGATCTCGCGGGTGATGCGAATTGCGTCGCGGAACTCCTGCCAGTCCTGCTCGTGCG
+ACATGTAGTTAAACAGAATTCCCGGATGCTGGTGCGGGTCGCGGGATTTAATCCGCACATGCCCACGGCT
+TGGCGAGCGCATCGATCCGACATGGCATTGGAAGCCGTGCTCTTTCACTGCGTTCGAGCCGTTATAGTTA
+ATCGCCACTGGCAGGAAATGGTACTGAATATTCGGCCACGCAAATTCCTCACGGCTGCGAATAAATCCGC
+CTGCTTCAAAGTGGTTGCTGGCACCAACGCCGGTGCCGCCAAACAGCCACTCCGCACCGATTCTCGGCTG
+ATTCCACCACTGCAGAGCAGGGTAGAGGGAAACCGGTTCTTTGCACTCGTATTGCAGATACATCTCCAGG
+TGATCCTGAAGATTTTCGCCGACGCCGGGTAATTCATGCACCAGCGGAATATCAAACTCCGCCAGCAGTT
+CAGCGTTGCCGACGCCGGAGCGTTGCAGGATCTGCGGTGAAGCAATCGCGCCTGCACATAACAGCACTTC
+TTTATTCGCCGCCGCGCGGGTCGGAATGGTGCTGTCGCCTTCCAGCCACTCGACGCCCACCGCGCGTTTG
+CCGTCAAAAATGATGTGATCGGTCATGGCGTGAGTACGAATGGTCAGGTTAGGGCGCGATTTGGCCTGAT
+CGAGATAGCCACGCGAGGTGCTGGCGCGACGGCCATGCGGCGTGACGGTGCGATCCATCGGGCCAAAACC
+TTCCTGCTGATAGCCGTTGAGATCGTCCGTGCGCGGGTAGCCTGCCTGCATGCCCGCTTCAATCATCGCT
+TCAAACAGCGGATTGACGCCGGGTTTGGAGGTGATGACGCTCACCGGGCCATCGCCACCGTGGTAATCGT
+TCTCGCCCACATCGCGAGTCTCGGCCTTGCGGTAGTAGGGCAGGCAGTCGAGATAACTCCAGTTCTCCAG
+ACCAGGTTCTTGTGCCCAGTTATCGAGATCCAGCGCATTGCCACGGATGTAGCACATACCGTTGATCAGC
+GATGAACCGCCCAGACCTTTGCCGCGTCCGCACTCCATGCGGCGGTTGTTCATAAACGGTTCGGGTTCCG
+TCTCATAGGCCCAGTTGTAGCGTTTGCCCTGTAGCGGGAACGCCAACGCGGCGGGCATCTGGGTGCGGAA
+GTCAAAGCGATAGTCCGGGCCGCCTGCTTCAAGCAGCAGCACGGTTGTGTTCGGATCTTCAGTCAGACGG
+GTAGCGAGAACGTTGCCGGCTGAGCCGGCACCAATAATGATGTAGTCAAATTGCAAATAAACCTCCTGGT
+TAGAATATGGACTGGAATTTAGCCATCTCAACCTGGATGGACTTCACCTGGGTGTAACTCTGGAGCGTCA
+TCACGCCGTTCTCGCGACCAATGCCGGAGTGTTTGTAGCCGCCAACGGGCATCTCTGCCGGGGATTCGCC
+CCAGGTGTTGATCCAGCAAATACCCGCTTCCAGCTGATGAATGACGCGATGCGCACGGTTCAGGTCCGCC
+GTCACGATACCCGCCGCCAGACCGTAGTCGGTATCGTTAGCGCGGCGAATGACTTCGTCTTCCGACTCGT
+AGATCAGAATGGACATCACCGGCCCGAAAATCTCTTCTCGCACAATGGTCATATCGTCGCTGCAATCGGT
+GAACACGGTCGGTGCAACCCATGCGCCGTTATCGAAGCCATCACCTTTCAGTACATCGCCGCCGCACAGT
+ACGCGCGCGCCTTCCTCTTTGCCTTTGGCGATGTAACGCAGCACGTTATCGCGATGCGGGAAGCTGACCA
+GCGGGCCGAAGTTAGTTTGCGGATCGAAAACGTCGTCCGCGCGAATGCGCTCAACGCGAGCCAGAATCTT
+TTGTTCAAATGCGGCTTTGCATTTCGCCGGAACGAAGACGCGGGTGCCGTTGGTACACACCTGACCGGAG
+CTGAAGAAGTTCGCCATCATGGCGATATCAGCGGCGAGCTCGAGATCTGCATCGTCGAAAACGATCAGCG
+GTGATTTACCGCCCAGCTCCATGGTCACTTCTTTCAGGGAGGAAGCCGCCGAGTTAGCCATCACTTTTTT
+GCCGCTGGCGACACCGCCGGTAAATGACACTTTGGCAATGCCCGGATGCTCGGTCAGATACTGCCCGGTT
+TCCGCACCTACGCCCGGCAGCACGTTAAATACGCCGTCCGGCAGGCCCGCTTCGCTGTAAATTTCGGCCA
+GCTTTAACGCGGTAAGCGGGGTGACTTCGCTCGGTTTGAAAATCATCGCGTTGCCTGCCGCCAGCGCGGG
+GGCGGATTTCCACAAGGCAATCTGGATCGGGTAGTTCCATGCGCCAATCCCTGCCACTACGCCCAGCGGT
+TCGCGGCGGGTATAAACAAATGACGTCTCACGCAATGGGATCTGGCTGCCTTCCAGCGACGGGATCAGCC
+CGGCGTAGTACTCCAGCACGTCCGCACCGGTAACGATATCGACGGTTGAGGTTTCCGAATATGCTTTTCC
+GGTGTCGAGGGTTTCCAGTTTTGCGAGTTCGTCATTGCGTTCACGCAGAATATCAACGGCCCGACGCAGA
+ATACGCGAGCGCTCCATAGCGGTCATCGCCGCCCAGATTTTTTGCCCCTGTTGGGCACTCTTCACGGCGC
+GATCGACATCCTCACGCCCGGCGGCCTGCACGGTCGCCAGCACGTTACCGTTGGCCGGGTTAATGGTCTC
+GAAGGTGTGACCGCTGGTGGCGGAGGTATAACCACCATGTATATAAAGCTGCTGTTCTGCCATTCGGGAC
+ATCACGTCTCCTCGGTTAATCGGTGGATAAATGCTGAGTAATAAAGTGACGGGTCAGCGAGTGTGCGAGA
+GGTTTATCCAGCGGTTTGCCGCTCAGTGCCGCGCGCAGCCATAATCCGTCAATTAGCGCGGCAAGGCCGT
+AGCCCGCTTCCTGTGCCTGTTGGCGCGGTAACTCGCGGCGAAATTCGCTCACCAGATTCGACAATAAGCG
+GCGGCTACTGACCTGCTGCAAGCGATAGAGCATCGGCTGATGCATACTGCTGGCCCAGAAGGCCAGCCAG
+GCTTTCATCGCCGCACTGCTCACCTGGGTTTCATCGAAGTTTCCGCCAACAATCGCCTGTAATCGCAGCT
+CTGCACTGCCCTGCGGAAGTGCATGTAATCGATTCAAAACCGCGTCACGCAGCTGACTGGTGATATCGCG
+CATGGTTGCTTCCAGCAGACCATTTTTGTCCCTGAAATAGTGGCTGATGATCCCCGTAGAAACGCCTGCA
+CGGCGGGCGATCTGCGCGATCGTTGCATCGTGCATGCCCACTTCATTTATTGCTTCCAGCGTGGCGTCGA
+TCAGTTGTCTGCGCCGGATCGACTGCATCCCCAATTTGGGCATTTTCGCCACTCCATTCATCAGCGTTGT
+TTATCTATTAAAGCGGTTATTGATTGGACGTTCAATATAAAATGTGTCTTAATTGTTACTAATTTGATTT
+TAAATGGTAACAATAACAGTGGGGATACTGGATGACAGACCTTTCACACAGCAGGGAAAAGGACAAAATC
+AATCCGGTGGTGTTTTACACTTCCGCCGGACTGATTTTGTTGTTTTCCCTGACAACGATTCTGTTTCGCG
+ACTTCTCGGCCCTGTGGATTGGCCGCACGCTGGACTGGGTCTCTAAAACCTTCGGTTGGTACTATCTGCT
+GGCGGCAACGCTCTATATTGTCTTTGTGGTCTGTATCGCTTGTTCGCGTTTTGGTTCGGTGAAGCTCGGG
+CCAGAACAATCAAAACCGGAATTCAGTCTGCTGAGTTGGGCGGCGATGCTGTTTGCTGCCGGGATCGGTA
+TCGACCTGATGTTCTTCTCCGTAGCCGAACCGATAACGCAGTATATGCAGCCGCCGGAAGGCGCGGGACA
+GACGATTGAGGCCGCGCGTCAGGCGATGGTCTGGACGCTGTTTCACTACGGCTTAACCGGCTGGTCGATG
+TATGCGCTGATGGGCATGGCGCTCGGATACTTTAGCTATCGTTATAATTTGCCGCTCACTATCCGCTCGG
+CGCTGTACCCGATCTTCGGTAAACGGATTAACGGGCCGATAGGTCACTCAGTGGATATTGCTGCGGTGAT
+CGGCACCATCTTCGGTATTGCCACTACGCTCGGTATCGGTGTGGTACAGCTTAACTATGGCTTGAGCGTG
+CTGTTTGATATTCCCGATTCGATGGCGGCGAAAGCGGCACTGATCGCCTTGTCGGTGATCATCGCCACTA
+TCTCGGTGACATCCGGTGTTGATAAGGGCATTCGCGTGTTATCGGAACTCAACGTTGCGCTGGCGCTGGG
+ATTGATCCTGTTCGTGTTGTTTATGGGCGACACCTCGTTCCTGCTTAATGCACTGGTGCTGAATGTTGGC
+GACTATGTGAATCGCTTTATGGGCATGACACTCAACAGTTTTGCCTTCGACCGTCCGGTTGAGTGGATGA
+ATAACTGGACGCTCTTCTTCTGGGCATGGTGGGTGGCATGGTCGCCGTTTGTCGGCTTGTTCCTGGCGCG
+TATCTCGCGTGGGCGTACCATTCGCCAGTTCGTGCTGGGCACGTTGATTATTCCGTTTACCTTCACGCTG
+TTATGGCTCTCGGTATTCGGCAATAGCGCGCTGTATGAAATCATCCACGGCGGCGCGGCATTTGCCGAGG
+AAGCGATGGTCCATCCGGAGCGCGGCTTCTACAGCCTGCTGGCGCAGTATCCGGCGTTTACCTTTAGCGC
+CTCCGTCGCCACCATTACTGGCCTGCTATTTTATGTGACCTCGGCGGACTCCGGTGCGCTGGTGCTGGGG
+AATTTCACCTCGCAGCTTAAAGATATCAACAGCGACGCCCCCGGCTGGCTGCGTGTCTTCTGGTCGGTGG
+CGATTGGCCTGCTGACGCTAGGCATGCTGATGACCAACGGGATATCCGCGCTGCAAAACACCACGGTGAT
+TATGGGCCTGCCGTTCAGCTTTGTGATCTTCTTCGTGATGGCGGGGTTGTATAAATCTCTGAAGGTAGAA
+GATTACCGCCGTGAAAGTGCCAACCGCGATACCGCACCGCGACCGCTGGGGCTTCAGGATCGCCTGAGCT
+GGAAAAAACGTCTCTCGCGCCTGATGAATTATCCGGGCACGCGTTACACTAAACAGATGATGGAGACGGT
+CTGTTATCCGGCAATGGAAGAAGTGGCGCAGGAACTGCGGTTGCGCGGCGCGTACGTGGAGCTAAAAAAC
+CTGCCGCCGGAAGAGGGACAACAGTTGGGGCATCTGGATTTGTTGGTGCATATGGGCGAAGAGCAGAACT
+TTGTCTATCAGATTTGGCCGCAGCAATATTCAGTGCCGGGCTTTACCTACCGCGCACGTAGCGGGAAATC
+GACCTACTACCGACTGGAAACCTTCCTGTTAGAAGGCAGCCAGGGCAACGACCTGATGGACTACAGCAAA
+GAGCAGGTGATCACCGATATTCTCGACCAGTACGAGCGGCACCTTAACTTTATCCATCTCCATCGTGAAG
+CGCCGGGCCATAGCGTGATGTTCCCGGACGCGTGATTGTTATTGCATAAAACCGCGCCATGTCTGCATAT
+GGCGCGGTTTCTCTTACCTCTTGATACGTTATATCTGTACAGTTAAGCCCTTAGTATCGATTGATGATTG
+CCAGGCAACAGATAATAAAAAAGAAAAGAACTATTGAAGCCCAAAAACTACGTTTGGACTGTTGTGAATG
+TTCAATAAGCTTAGTCTTATTTAATGTAAATATTGGTGCTAATTTGAAATGACGCTTTATTCATGGGGAA
+CGCGTAGCGCAAATCAACTAAAATCAATGTAACCGTTTGTTGTTTAAGGTTTAATTGTCTGTGTCTGATA
+TTTTATTGATTGTTTTAAATATTGTTTTTATTGTCATTGTTATAATGTTGGCTATCTATTGCTGAATGGA
+TTCAGTCTTAAGAAGCAGGTTGTTAAGGGATAGGCATAGAGTAATGACGTGTATGCATAACCAACATCTT
+TACTCATTATGTCATTGAATGTTGACGCTATGTGTTTATGAGGTTGAGGTATTTTCAGTTGATCTGGATT
+GTTAAATTCATATAATGCGCCTTTACTCATGAATGGGCGTCAATACGTAGTGGGAAATTATAAATATCGA
+AATAGTCCAACTACTTCTTTATTACCAAAAATGAGTATCTGAATTTTAATATTGCATTCTTGCGTGATTA
+TCTCCTGAGTTTGACTTGTGATTACCTTTTTAAGGTATTTAGCGTAACTGTTTTTGAGCGAGCATCAGAG
+GTAAAGATAATCTTCTTGATAGTGATGTGGGATGTTATACGTATGGCATCGCTAATGTTTATGGTTACCC
+CTTATGTGTGCTCAGGAATCCACAGGTAATCACTCATACTGAACAGCGATAAAAGATAAAAGGTGTGTTC
+ATGAATTCATGTGATTTTCGTGTTTTTCTGCAAGAGTTCGGTACAACGGTTCATTTGTCATTGCCTGGTA
+GCGTATCCGAGAAAGAACGACTGCTACTCAAGCTGCTGATGCAGGGAATGTCTGTAACAGAAATATCACA
+GTACAGAAATCGCAGTGCAAAGACCATTTCACATCAAAAGAAACAGCTCTTTGAGAAACTGGGGATTCAG
+AGCGATATTACTTTCTGGCGGGATATTTTCTTTCAGTACAATCCGGAGATCATATCCGCCACGGGTAATA
+ATAGTCACAAATATATTAATGATAATCACTATCACCATATCGTCACGCCTGAAGCCATCAGTCTGGCGTT
+GGAAAACCACGAGTTTAAACCGTGGATCCAACCGGTTTTCTGCGCGCAGACTGGGGTACTGACAGGCTGT
+GAAGTGCTTGTCCGCTGGGAACATCCACAAACGGGAATGATCCCACCGGATCAGTTTATTCCTCTGGCGG
+AGTCATCCGGTCTTATTGTCATAATGACTCGCCAGCTGATGAAACAGACTGCGGATATTCTGATGCCGGT
+AAAACATTTGCTGCCGGACAATTTCCATATTGGTATCAACGTCTCGGCGGGCTGTTTTTTGGCTGCGGGA
+TTTGAAAAAGAGTGTCTGAACCTGGTTAAGAAATTAGGTAACGATAAAATCAAGCTGGTTCTTGAGCTGA
+CGGAACGTAATCCTATTCCGGTAACGCCAGAAGCCAGAGCGATATTTGACAGCCTTCATCAGCACAATAT
+TACTTTTGCGCTGGATGACTTTGGTACGGGTTATGCGACCTATCGTTACTTGCAGGCGTTCCCGGTCGAT
+TTTATTAAAATTGACAAGTCGTTTGTGCAAATGGCGAGTGTCGACGAAATCTCCGGTCATATTGTGGACA
+ATATTGTCGAACTGGCGCGTAAGCCTGGTCTGAGTATCGTGGCGGAAGGGGTAGAAACCCAGGAGCAGGC
+GGATTTAATGATCGGTAAAGGCGTTCACTTTTTACAGGGCTATTTGTACTCTCCGCCAGTACCGGGTAAT
+AAATTTATCTCTGAATGGGTAATGAAAGCAGGTGGTTGATGTAAACCGCTATTCACAGCGCATCGGGAGG
+TTGGCAGCGATTAATTCTCCCGATGCAGTAAATCCTGATAGATCCCCGTTAATATGCCATTTGGCGCAAA
+TTGTTTTTTAATCCACTGCGTCACCTGACCGGTGGCAGAGTGCTGGGTTGCGAGTAACATGCGTGAATCC
+TGGCGCGGGTTATGGATTTGTCGGGTAACCAGCAAGGATTGCGCCATCGCCTCACGGACCATGTAATCCG
+GCAAAAAACCAATTCCTTCACCTAAAATCTGGCACTGACATTTGGTGTTGAAATCTGGCACCAGAATTGA
+CTCCTGCCCATGCAGCAACCAGCCCACTTTTTTATTAATCGTATGCGCGGTGTCCTCCACCATGATATTA
+GGGTAGAGACGCAGCTGGCTTTCGGCGATCGGCTCCGGCACAAAGGCTAATGGGTGATCCGGGGCGATGG
+CAAAAGCCCAGCGAATCGCGCCAATCTCCGTGTAATCAATGCCGCCGCCGTCCAGCAGCGTGTCGGGCGC
+GCCGATGGCGATATTTGCCTGATTATTAATAATCGCATCCCAGACGCCGTTATACACTTCGGTGGTGACG
+GTAATCTGGCAGGTAGGAAACTGCTTTTTCAGCACCTGTAATAAGCGTGCGGTGTGTTTGGGCGTATAAA
+GCAGCTGATTAATACAAATGCGCACACGCGCTTCTATGCCCTGCGAAATAGTATCGATACTGCGTTTAAT
+GGCATGAAAATCATTCAGCAGGTCGGTAGCTTTGCGGAAAAAATAACGCCCGGACTCCGTTAACTCAATG
+CTGCGGGTACTGCGAGTGAACAGCACCACATCCAGCCCCGTCTCCATACGTTTAATGGTGTAGCTAATGG
+CGGAAGTGGTTAAACCCAACTCTTCTGCGGCTTTACTGAAGCTGCCAAAACGCGCAGCGGTAGTAAATGC
+CAACAGATTCTCTTCGGTAAAAATTGAGTTCATTGACCCGCTCCCGCCATTTTCGATTCTGAATTTCTCC
+AGCCATGACTGTAGAGGTATCCATTAAAGATGGATAATCATTTTTGAATAACTTTTAATACCCGTCGCTT
+TTGGTCGTCGCTTCGCTTAATTTTTGTCCGCCGTATTCTGAAATTATCCCCACGCAGTTACCCGCCAGAA
+AACCCAGTAATGTCACCGTCCAGTTCATCCCGCTGGCAAAAAATAGCGTCATGCCGAGAAAGCCTCCGGG
+AATAAAAGACAGTAACCAGAAACGCCCTTGCCAGACCACCACCGCCGAGAAGGGTACAGTCGTAATCACG
+CTCGCCCAGAACGCGGACAGTCCACTCACCGGGGCCAGCCAACCGGCAGCCAGCGCGGCGAAAAACGCCC
+ACACCATCCCGGAATAATTAACCGCCAGGCTTTTGATAAACCCCGATTTACCGCCGCCTGCGGCATAAAA
+ACTGCAAAAGGCGACGAAGCCAATGGTTCCTAATAATTCCCATCCCTGAGAGAGCCCGACATGTGAAGAC
+ACTAACTGCCAAAGCCCTGCACAAATACCGACGGTGACACCCGTTGCCGTGAGTCCGTTCATCTTGTTCC
+CCTCTGGTTAGACATGGACGAAAGCTACTCTTACATGTGCAGACTATAGAGAAATAAAACCTGATTGAGT
+GAAAGGGTATCGGGTCAAAGAAACAAATATTGCACTACCGCACACGGCGAAAAGATTGTTGAACATCATT
+CAACAAAAAGGCGAAATACGGCGAATTAAATTTAAGCGGGTTCTTTTATCAGATTATCGTTGCTATTCTC
+AATTCATCGAAAACAGCCACAAAAACCAGGGGAATGTGAATGACTATAAAAAATCTACCTGCCGACTATT
+TATTGGCTGCACAACAGGGCGATATCGATAAAGTAAAAAACTGCCTTGCGCTGGGTGTCGATATTAATAC
+CTGCGATCGCCACGGGAAAACGGCAATTACGCTGGCAAGTTTATATCAGCAATATGCTTGCGTTCAGGCA
+TTAATTGACGCCGGAGCGGATATTAATAAACAAGATCATACCTGTTTAAATCCTTTTTTAATTAGCTGTC
+TGAACGATGATTTAACGCTACTACGAATTATTTTACCGGCTAAACCCGATCTTAATTGCGTAACCCGTTT
+TGGCGGTGTCGGCCTGACGCCTGCCTGTGAAAAAGGCCATTTAAGTATTGTAAAAGAGCTTTTGGCAAAT
+ACGGAGATTAACGTTAACCAGACTAACCATGTTGGCTGGACACCGTTGCTGGAAGCGATTGTGCTTAACG
+ATGGCGGGATTAAACAGCAGGCGATTGTCCAGTTATTGCTGGAACACGGTGCCAGCCCGCATCTGACCGA
+TAAATATGGCAAAACGCCGCTGGAACTGGCGCGGGAACGGGGCTTTGAAGAGATTGCGCAGTTGCTGATC
+GCCGCAGGTGCATAAACCGGGAGGCTTGTTATCAACACACCAGAAAAACGGTGTGTGTGGGCGCTAACTG
+CGGATGCTGATTTTCTGGCGCAGCGGGGGCAAGGACAGGTTGAACAGGTCTTTGCCAGAGCGGTAAATAT
+CGCACTCCCGGCTCGCCAGCAGTTGCTGACGCTGCTTTGTGAAGAGTACGACAATGCGCCAAACAGTTGT
+CGGTTGGCACTCACTCACTTTAATGGTCTGTTCCGGCATGGTGATAAGGTTCAGTTTGACGATCAAGGCA
+TTACGGTTGGTCAACATCTTCATATAGAGATGAGTCATTGCCAGCGTTGGCTGTCCCCAACCTTGCAAAT
+GACCGCTCTGAATTTTCACCTTATCGCCTGGCAACAGTGGCACGACATTATTCATCAGCACCTGGGGGAA
+AATGAAACCCTGTTTAATTATCGCGGCGATAATCCGTTTTATCAGGCGTTAAATAAAGAACTACATATTA
+AACGACGGGCAGTTATTCAGGCCGTAAACGATAAACAAAATATCGCCTCAGCAGTCGCCAGTATGATGGG
+CTTAGGGATTGGCCTTACGCCATCAGCCGATGATTATCTGACCGGACTGGTACTTATTTTATTTATTTCC
+GGGCATCCGGCAGAAAAATACAAAGAGGAATTTTATCGCGGTCTGCAACGCGGCAGAAATAATACCACGT
+TATTAAGTGCCATCACGCTGGAAGCCGCATTACAACAACGCTGCCGGGAAAATATTCATCGTTTTATTCA
+CAACATTATTTATGACATCCCTGGGAACGCAACTCAGGCAATAGAAAAAATTAAACATATTGGCTCCAGT
+TCCGGCTGCGACATGCTGTATGGCATGGCCGATGGTTGTGCGCTGAGCCAAACTTACGGAGGGAATTATG
+TCAGTTAAAATAGTCATTAAACCGAATACCTATTTTGATTCTGTCTCGCTGATGTCTATCTCCACGCGTG
+CAAATAAACTCGACGGCGTCGAGCAGGCATTTGTGGCGATGGCGACCGAAATGAACAAAGGCGTGTTGAA
+GAATTTAGGACTGCTGACGCCGGAGCTGGAGCAGGCGAAAAACGGCGACCTGATGATTGTCATCAATGGT
+AAATCGGGTGTGGACAACGAGCAGTTGCTGGCGGAGATTGAAGAACTGTTCAACACCAAAGCGCAAAGCG
+GCTCGCACGAGGCGCGTTACGCCACTATTGCCAGCGCCAAAAAGTATATCCCGGAAAGTAACCTGGCAGT
+GATTTCGGTCAACGGTCTGTTTGCCGCTCGCGAAGCGCGTCAGGCGCTGCAAAATGACCTCAACGTGATG
+CTGTTTTCCGATAATGTCTCAGTTGAAGATGAACTGGCGCTCAAACAGTTGGCCCATGAAAAAGGGCTGC
+TGATGATGGGGCCAGACTGCGGCACGGCGATTATCAACGGCGCGGCGCTCTGCTTTGGTAACGCCGTGCG
+TCGCGGCAACATCGGTATTGTTGGCGCATCTGGCACCGGCAGCCAGGAATTGAGCGTCCGTATCCATGAA
+TTTGGTGGCGGCGTTTCACAACTGATCGGCACCGGCGGGCGCGACCTGAGCGAGAAAATCGGTGGCCTGA
+TGATGCTCGATGCCATCGGGATGCTGGAAAACGATCCGCAAACTGAAATCATTGTGCTTATCTCCAAACC
+GCCTGCGCCTGCGGTGGCTCGCAAAGTGCTGGAACGCGCACGCGCCTGCCGCAAGCCAGTGGTGGCCTGC
+TTCCTCGGTCGTGGCGAAACGTCAGTGGATGAGCAGGGGCTACAGTTTGCTCGCGGCAGCAAAGAGGCGG
+CATTGAAAGCGGTGATGCTCTCCGGCGTGAAACAAGAACATCTCGACCTGCATACGCTTAACCAGCCGTT
+GATTGCGGATGTGCGGGCGCGTCTGCAACCGCAGCAGAAATACATTCGTGGTCTGTTCTGCGGCGGTACG
+CTGTGTGACGAAACCCTGTTCGCGGTGATGGAAAAACATGGCGATGTCTACAGCAATATCCAGCCCGATC
+CTGAATTCCGCCTGCAAGATATCAACCGCAGCATCAAACACACCTTCCTCGATTTTGGCGATGATGACTT
+CACCAACGGCAAGCCGCATCCAATGATTGACCCGACCAACCGTATCAGCCGCTTGATCGAAGAAGCGCGC
+GATCCAGAAGTGGCGGTGATCGTGATGGATTTTGTGCTCGGATTTGGATCGCATGAAGATCCGGTCGGTT
+CCACCATCGAGGCGATCAAAGAAGCGAAAGCGATCGCCGCTGCCGAAGGACGCGAGTTGATCATTCTCGC
+CTATGTGCTGGGCACCGATCTCGATACGCCATCATTAGAACAACAAAGCCAGATGCTGCTTGATGCCGGA
+GTGATTCTGGCGAGCAGCAGCACCAATACCGGATTGCTGGCGCGTGAATTTATCTGCAAAGGGGAGGAAG
+CCTGATGAGCCAGTCACTGTTTAGCCAACCGTTGAACGTTATTAACGTCGGTATCGCCATGTTTAGCGAT
+GATCTGAAAAAGCAGCATGTAGAAGTGACCCAACTCGACTGGACGCCGCCGGGGCAGGGCAATATGCAGG
+TGGTGCAGGCACTGGACAACATTGCCGATTCGCCGCTGGCGGACAAAATCACCGCCGCTAACCAGCAGGC
+GCTGGAGCGCATTATCCAGTCGCATCCGGTGCTGATTGGTTTTGATCAGGCGATTAACGTGGTGCCGGGC
+ATGACGCCGAAAACCATTCTTCACGCCGGGCCGCCGGTCACCTGGGAAAAAATGTGCGGCGCGATGAAAG
+GCGCGGTCACCGGAGCGCTGGTGTTTGAAGGACTGGCGAAAGATCTCGACGAGGCGGCTGAGCTGGCGGC
+TTCCGGGGAGATCACCTTCTCGCCGTGCCACGAGCACGACTGTGTGGGATCGATGGCGGGCGTCACCTCG
+GCCTCGATGTTTATGCACATCGTGAAAAACAAAACCTATGGCAACGTCGCTTATACCAACATGAGCGAGC
+AGATGGCGAAGATTTTGCGTATGGGCGCTAACGACCAGAGCGTGATCGACCGCCTCAACTGGATGCGCGA
+TGTGCAGGGACCCATGCTGCGCGACGCGATGAAAATTATCGGCGAAATCGATCTGCGCTTAATGCTGGCG
+CAGGCGCTGCATATGGGCGATGAATGCCATAACCGCAATAACGCCGGGACGACGCTGCTGATTCAGGCGC
+TGACGCCGGGGATTATTCAGGCAGGTTATTCCGTCGAGCAACAGCGCGAAGTGTTTGAGTTTGTCGCCAG
+CAGCGACTACTTCTCCGGCCCGACGTGGATGGCGATGTGTAAAGCGGCGATGGATGCGGCGCACGGCATC
+GAATACAGCACCGTGGTGACCACCATGGCGCGTAACGGCGTCGAGTTCGGCCTGCGGGTCAGCGGCCTGC
+CGGGGCAGTGGTTTACCGGCCCGGCGCAGCAGGTCATCGGCCCGATGTTTGCCGGTTATAAGCCGGAAGA
+TTCAGGGCTGGATATTGGCGACAGCGCCATCACCGAAACCTACGGTATCGGCGGATTTGCGATGGCGACC
+GCGCCCGCGATCGTCGCGCTGGTGGGTGGCACGGTGGAAGAGGCTATCGATTTCTCCCGTCAGATGCGTG
+AAATCACCCTTGGCGAAAACCCCAACGTCACCATTCCGCTGCTCGGTTTTATGGGCGTTCCGTCGGCAAT
+CGACATCACCCGCGTGGGTAGCAGCGGCATTCTGCCAGTGATCAACACCGCCATCGCCCATAAAGATGCG
+GGCGTCGGCATGATTGGCGCGGGCATTGTGCATCCACCCTTCGCCTGCTTCGAGAAAGCCATTTTTGGCT
+GGTGCGAACGTTACGGCGTCTGATCTGTAAAGTGCGCGTTGTTTCTGCCGGATGCGGCGTGAACGCCTTA
+TCCGGCCTACGAATGGCGCGGAAATCTGTAGGCCTGATAAGCGTGGCGCTTCAGGCATTGGCCACCACAG
+CCGGATGCGGCGTGAACGCCTTATCCGGCCTACGAGTGGCGCAAGAATCTGTAGGCCTGATAAGCGTAGC
+GCATCAGGCAGTCTGGCGTTGGTCATAACCCCATCACCCTCTGTCGCGGACATAACAACATGAAAGAACT
+TGTGGTCGTTGCCATTGGTGGCAACAGCATTATCAAAGATAACGCCAGCCAGTCGATTGAGCATCAGGCG
+GAGGCGGTGAAAGCCGTGGCCGATACGGTGCTGGAAATGCTGGCTTCCGATTACGACATTGTGCTGACCC
+ACGGCAACGGGCCGCAGGTCGGGCTGGATTTACGCCGCGCGGAGATTGCCCACGAGCGCGAAGGGCTGCC
+CTTAACGCCGCTGGCGAACTGTGTGGCGGATACGCAAGGTGGCATTGGCTATCTGATCCAGCAGGCGCTG
+AACAACCGACTGGCGCGTCACGGCGAGAAAAAAGCCGTCACCGTGGTGACTCAGGTGGAAGTGGATAAAA
+ACGATCCGGGGTTTGCCCATCCCACCAAGCCCATCGGCGAATTCTTTAGTGAAAGCCAGCGTGACGAACT
+ACAAAAGGCAAACCCTGACTGGCGTTTTGTTGAAGATGCCGGACGGGGCTATCGCCGCGTGGTCGCCTCG
+CCGGAACCGAAACGTATTGTCGAAGCACCTGCCATTAAGGCGCTGATCCAACAAGGTTTTGTGGTGATTG
+GCGCGGGCGGCGGTGGAATTCCTGTGGTACGCACCGAAGCGGGGGATTACCAAAGCGTGGACGCGGTTAT
+CGACAAAGATCTCTCTACCGCTCTACTGGCTCGCGAAATTCACGCCGACATTCTGGTGATCACCACTGGC
+GTTGAAAAAGTGTGTATTCACTTTGGCAAACCGCAGCAGCAGGCGCTCGATCGCGTAGATATTGCCACCA
+TGACCCGCTATATGCAGGAAGGGCATTTCCCACCTGGCAGCATGTTGCCAAAAATCATCGCCAGCCTGAC
+GTTCCTGGAACAGGGCGGCAAAGAAGTGATTATCACCACGCCGGAATGCTTGCCTGCGGCGCTACGCGGC
+GAAACGGGCACCCATATTATTAAAACCTAAGGACGTAAGATGAAAGAAAACAATAGCCGCCGTGAATTTC
+TGAGCCAGAGCGGTAAGATGGTCACCGCCGCCGCGCTGTTTGGTCCCTCAGTGCCGCTCGCCCATGCGGG
+GGTAGCTGGCACCCTAAACTGCGAAGCGAACAACACCATGAAAATCACTGACCCGCATTACTATCTCGAT
+AACGTGCTGCTGGAAACCGGTTTTGACTACGAAAATGGCGTGGCGGTACAGACCCGCACGGCGCGCCAGA
+CCGTGGAGATTCAGGACGGTAAAATTGTTGCCCTGCGCGAGAACAAGCAGCATCCGGACGCCACGCTGCC
+GCACTATGACGCTGGCGGTAAGCTGATGCTGCCCACCACCCGCGACATGCATATTCATCTCGACAAAACC
+TTCTACGGCGGGCCGTGGCGCTCGCTCAATCGTCCGGCAGGCACCACTATCCAGGACATGATCAAACTCG
+AGCAGAAAATGCTGCCGGAACTGCAACCGTACACGCAGGAACGGGCGGAAAAACTGATCGATTTATTGCA
+GTCGAAAGGCACCACCATTGCCCGCAGCCACTGCAATATCGAACCGGTTTCCGGCCTGAAAAATCTGCAA
+AATTTGCAGGCGGTGCTGGCGCGACGTCAGGCGGGCTTCAAGTGTGAAATCGTCGCCTTCCCGCAGCACG
+GTTTGCTGCTGTCGAAATCGGAATCCTTAATGCGCGAAGCGATGCAGGCGGGGGCGCATTACGTCGGCGG
+GCTGGACCCGACCAGTGTTGATGGCGCGATGGAAAAATCCCTCGACACCATGTTCCAGATTGCGCTGGAC
+TATGACAAAGGCGTCGATATTCACCTGCACGAAACCACGCCGGCAGGCGTGGCAGCCATCAATTATATGG
+TTGAAACGGTGGAGAAAACGCCGCAACTGAAGGGCAAGCTGACCATCAGCCACGCCTTTGCGCTGGCAAC
+GCTCAACGAACAACAGGTAGATAAACTGGCGCACCGGATGGTGGCGCAGCAAATTTCTATCGCCTCGACG
+GTGCCGATTGGCACGCTGCATATGCCGCTCAAACAGTTGCACGACAAAGGCGTAAAAGTCATGACCGGCA
+CCGACAGCGTTATCGACCACTGGTCACCCTACGGCCTGGGCGACATGCTGGAAAAAGCCAATCTGTACGC
+GCAGCTCTATATTCGTCCTAACGAACAGAACCTCTCCCGCTCGCTGTTTTTAGCCACTGGCGATGTATTG
+CCGCTCAACGAAAAAGGCGAGCGCGTGTGGCCCAAAGCGCAGGATGATGCCAGCTTTGTGCTGGTGGACG
+CCTCCTGTTCCGCCGAGGCGGTGGCGCGTATCTCGCCGAGAACGGCGACGTTCCATAAAGGGCAACTGGT
+GTGGGGGAGTGTGGCAGGTTGATACGAACTTGATATGTCTGCAACGGTGAACAGTAAGAGATTTAAGCCC
+CAGGGAGTGGGGCGGCCTGAGTATGAGTGTGTTGGCAGAAATGGACATTATCTTTGAAGAATATGCCCTT
+ATTGACGTTGTGTAGATAACTATTTGTCTACGTGAAAATATCATCAGTTTTGCCGATTTTTGTCTTTTAC
+GGATAGCAAATATCACACTTATAGGCGCTCGCCTTATGGGGAACGTTGCTGCTCTGTTTCATTCAGGCTC
+GCGGCATGTTAGGGCTGGATCGGGTGGTTTAAATATTGGCTATATTCAATGGACGCGTTTTGCCGCGATG
+ACATATCAGGCATCGCCAAATACACATAGCTAATCAGGAGTAAACACAATGAAGATCAAAGCTGTTGGTG
+CATATTCCGCTAAACAACCGCTTGAACCGATGGATATCACCCGGCGTGAACCGGGACCGCATGATGTCAA
+AATCGAAATCGCTTACTGTGGCGTCTGCCATTCCGATCTCCACCAGGTCCGTTCGGAGTGGGCGGGGACG
+GTTTACCCCTGCGTGCCGGGTCATGAAATTGTGGGGCGCGTGGTAGCCGTTGGTGATCAGGTAGAAAAAC
+ATGCGCCGGGCGATCTGGTCGGTGTCGGCTGCATTGTCGACAGTTGTAAACATTGCGAAGAGTGTGAAGA
+CGGGCTGGAAAACTACTGTGATTACATGACCGGCACCTATAACTCGCCGACACCGGATGAACCGGGCCAT
+ACTCTGGGCGGCTACTCACAACAGATCGTCGTTCATGAGCGATATGTTCTGCGTATTCGTCACCCGCAAG
+AGCAGCTGGCGGCGGTGGCTCCTTTATTGTGTGCAGGAATCACCACGTACTCGCCGCTACGCCACTGGCA
+GGCCGGGCCGGGTAAAAAAGTGGGCGTGGTCGGCATCGGCGGTCTGGGACATATGGGGATTAAACTGGCC
+CACGCGATGGGGGCGCATGTGGTGGCATTTACCACTTCTGAGTCAAAACGCGAAGCGGCAAAAGCCCTGG
+GGGCCGATGAAGTTGTTAACTCACGCAATGCCGATGAGATGGTGGCTCATGTGAAGAGTTTCGATTTCAT
+TTTGAATACAGTAGCTGCGCCACATAATCTCGACGATTTTACCACCTTGCTGAAGCGCGATGGCACCATA
+ACGCTGGTTGGTGCGCCTGCGACACCGCATAAATCGCCGGAAGTTTTCAACCTGATCATGAAACGCCGCG
+CGATAGCTGGTTCTATGATTGGCGGCATTCCAGAAACTCAGGAGATGCTCGATTTTTGCGCCGAACATGG
+CATCGTGGCTGATATAGAGATGATTCGGGCCGATCAAATTAATGAAGCCTATGAGCGAATGCTGCGTGGT
+GATGTGAAATATCGTTTTGTTATCGATAATCGCACACTAACAGACTGAAAAAATTAATAAACATCCTGTG
+GTTTAACATATTAACTTCGCTCCACTTAACTTTTTAGTTAAGGAGAGCGAAATAATATCAAAGTAGTGGT
+AAACCTATAGCGTAAATTCAGATTGTTAAATTAACTCCACTACTTTACACGTTAGTTATGAGCGATTTCT
+GATAGTGTCTGGTTTAATCAGAGCTTTATTATCTGCGACGTTTATTTTTATTTAAGAGAGCCACCTGCAA
+GTTGTTATTCCACCAGAGAGTGAATCGCAAAGCAGGTCATCATTTCATCTGTATATCTGTATGCCAAATG
+GCATTCCCCCTCCTTTTTCGCCGATATTTTGTTGTGAACGGCGGAGTTTCACTTAAAAAAGCACCAGTAG
+TGGTTTCGCAGCTATATGGTGTATAAAAAATGTTCTCATACAGATGTTTTGTGAATGTGTGGGTTGACAT
+TCATATGAAAAAAATCATAATTCCATCATGTTTGTGTGGGGTCTTTTCTGTATCTTACGCATCGCACTCA
+AGCCTGACAGAAAATATGCTGTAAGGCTCATATCAAAAACCGCCATTAGCTCATCAGGAAGAGCAGACGA
+CAACCAGGATTGTTGTATGGTACGGGGTTCGAGGCCTCGATGGCGGTCCAACTTTTCAAAACTTTTCTGA
+ATCAGATCCTCTTATTATCATCCCTGCAAAGTGGAACATTGCCATTGTTTGGCTATTCAAGACGGGTCAG
+ACCAATGAAAAAGCCCACACAGGGGAGAGTGGCTGAAATGGGAAGCTAAAGACTCAAGTAAACTTATCGG
+AAATAAAGACCACGCATTACGGGGGCTATCATCGTCGATGGTTGGGATTCGGCAAATCAGGTTGATGACG
+TAGAGAGTAAATTATCTGCTCACCGCTGCGTCACCCCTTCGTAAATCAGGCGTAGCGCGAATACACCAAT
+AATTGCACCAATAACCCGACTGGCAACGCGTTGCATACGCCCATAAGCACGACGCACAGCGGGCAAAGAA
+AACGCCTGGCTTAGAAAGACTCGCCAGATAATTGATGCGAGCACAATCCCCGCCCAGGCCATTAATCGTG
+CCCATGTTGGTGTTTCGGCATGTAATGTTACTGAGAAAATACTGATAAAAAATAAAACGGTTTGCGGGTT
+AGAGAGATCGGTAATTAATCCACGGCGGAAAAAGACATACCAGGGGGCGCTAATCGGTTGTTGTAGTGTG
+CTCATTTGCGGTGTTGAGTGGCGGCGCATGCTACTACACCACGCAAACCATAAGAGATAAGCGCCGCCGA
+CGATTCTGATAAGCGAAAAAATCTCCTCACACTGCGTAATTAGCGTTGCAAGACCAAACAAACCCAACCC
+GGAATAAAATGCATCGCCCAGCGCCACGCCCAGCCCGGTCAACACCCCTGCGCGTCGACCGGAAGCCAGG
+CTGGTTTGTACTACCACAAAGAGATTGGCTCCCGGATTAAAAAAAGTAATCACGAACAATCCTACGGTCA
+GGTAAACGGCGTGCAAAGGATCCATAGTGATTTCATCCATAAATAAGTGAAGTAACTTCATCATATTTCT
+ACCAAAAATAATCGGGTGCGAGAGAGATCACAAAGTGTCTTATTTCCGGTTACTGGCGTTTATGCCCTGA
+CTGAACTAATTATTAATCAACCCAATAATGTGGGTGGGTGATAGTGTGATAACAACTCTGGAGCCGTAAT
+ATGAAAATAATCTCTAAAATGTTAGTCGGTGCGTTAGCGTTTGCCGTTACCAATGTCTATGCCGCAGAAT
+TAATGACCAAAGCGGAATTTGAAAAGGTTGCATCGCAATATGAAAAAATAGGTGATATTTCAACCAGTAA
+TGAAATGTCGACCGCAGATGCGAAAGAAGATTTGATCAAAAAAGCCGATGAAAAAGGGGCTGATGTGTTG
+GTACTGACCTCTGGTCAAACTGACAATAAGATCCACGGCACGGCAAATATTTATAAGAAGAAGTAATTCT
+GAATCCTATGTAAACATCCCCGATGCGTAAGTTTATCGGTGATCATCATCTATTGAAATTTATGCCGGAT
+AAAGCGTTCGCGCTGCATTCGGCAGTTCAGCTTTTCAGCCGCCGCCAGAACGTCGTCCGGCTGATACCTA
+AATAATTCGCCGCTGCTGTTTTATCGCCATTAAATTTCTCCAGTGCCTGTTGTGCTGTCAGCAAGCCTGG
+AATGGGAGTCTTCGCCGACTCGCGTGCCAGTTCCGGCAGTAGCAGCTGCAAAAATTGCGGCGTTAAATCC
+GGCGTCGATTCCACACTTAAAAACAGCGCCAGTCGTTCCATCATATTGCGCAGTTCACGAATATTGCCCG
+GCCAGTCGTAGTGCACCAGCATGGTTTCGCTTGCCTGTAACCCCTGGCGTAATGCGGCAGCAAACGGGGC
+GGAGAGCGCCGCCAGAGACACTTTCAAAAAGCTTTCCGCCAGCGGCAGAATATCCGCCACCCGCTCGCGT
+AGCGGCGGCAGTTGCAGGCGTAAAATACTCAGCCGATAAAACAGGTCACGGCGAAACTGCCCTTGCTGCA
+TATCTTCTTCCAGATTGCAGTGAGTGGCGCTAATGACCCGCACATCCACCGGAACAGGCTGATGCCCGCC
+GACGCGGGTGACCTCTTTTTCTTCCAGCACCCGCAGCAGCCGAGTCTGCAACGGCAGCGGCATTTCGCCT
+ATCTCGTCAAGAAACAGCGTGCCACCGTGGGCGATTTCAAACAGCCCGGCGCGTCCTCCGCGTCGCGAGC
+CGGTAAACGCCCCTTCCTCATAGCCAAACAGCTCCGCTTCCAGCAGCGATTCGGCAATCGCCCCGCAGTT
+AACGGCAACAAACGGATGTGACTTTTTGCCCTGTCGCGCATCGTGGCGGGCAAAATATTCCCGATGAATC
+GCCTGGGCCGCCAGCTCTTTGCCCGTCCCCGTTTCCCCTTCAATCAACACCGCCGCACTGGAGCGGGCAT
+ACAGCAAAATAGTCTGCCGCACCTGTTCCATCTGTGGTGATTGACCGAGCATATCGCCCAGCACGTAACG
+AGTACGCAGGGCGTTGCGGGTGGCATCGTGAGTGTTATGGCGTAACGACATGCGCGTCATATCCAGCGCA
+TCGCTGAACGCCTGGCGTACGGTGGCGGCGGAATAAATAAAAATTCCGGTCATTCCGGCTTCTTCTGCCA
+GATCGGTAATCAGCCCCGCGCCGACCACCGCTTCGGTGCCGTTAGCTTTCAGCTCGTTAATCTGCCCGCG
+CGCGTCTTCTTCGGTAATGTAGCTACGTTGGTCGAGGCGCAAATTAAAGGTTTTTTGAAACGCCACCAGC
+GCCGGAATAGTTTCCTGATAAGTGACAACGCCGATAGAAGAGGTGAGTTTTCCGGCTTTTGCCAGTGCCT
+GTAACAGATCGTAGCCGCTCGGTTTAATCAAAATAACTGGCACTGACAGGCGGCTTTTAAGATATGCGCC
+GTTAGAGCCAGCAGCGATGATGGCGTCACAGCGTTCGCTGGCCAGTTTCTTGCGGATGTAGGTCACCGCT
+TTTTCAAAGCCAAGCTGGATAGGGGGAATGTTCGCCAGATGATCAAACTCGAGGCTGATATCGCGAAACA
+GCTCGAACAGCCGCGTTACAGATACCGTCCAGATAACCGGTTTGTCGTCATTCAGCCGTGGTGGATGTGC
+CATAGCGCACCGCAAAGTTAAGAAACCGAATATTGGGTTTAGTCTTGTTTCATAATTGTTGCAATGAAAC
+GCGGTGAAACATTGCCTGAAACGTTAACTGAAACGCATATTTGCGGATTACTTCATGACTTTATTTATAA
+CAAATTGAAATTAAATGTTTAATTTTATTAAGGCAATTGTGGCACACCCATTGCTTTGTCTTTATCAACG
+CAAATAACAAGTTGATAACAAAGGATGGGCTATGTCTCTACACTCTCCAGGTAAAGCGTTTCGCGCTGCG
+CTGACTAAAGAAAATCCATTGCAGATTGTTGGCACCATTAACGCCAACCATGCGCTGTTGGCGCAGCGTG
+CCGGATATCAGGCAATTTATCTCTCCGGCGGTGGCGTGGCGGCAGGGTCGCTGGGGCTGCCCGATCTCGG
+TATTTCTACTCTTGATGACGTGCTGACAGATATTCGCCGTATCACCGACGTTTGTTCGCTGCCGCTGCTG
+GTGGATGCGGATATCGGTTTTGGTTCTTCAGCCTTTAACGTGGCGCGTACGGTGAAATCAATGATTAAAG
+CCGGTGCGGCAGGATTGCATATTGAAGATCAGGTTGGTGCGAAACGCTGCGGTCATCGTCCGAATAAAGC
+GATCGTCTCGAAAGAAGAGATGGTGGATCGGATCCGCGCGGCGGTGGATGCGAAAACCGATCCTGATTTT
+GTGATCATGGCGCGCACCGATGCGCTGGCGGTAGAGGGGCTGGATGCGGCGATCGAGCGTGCGCAGGCCT
+ATGTTGAAGCGGGTGCCGAAATGCTGTTCCCGGAGGCGATTACCGAACTCGCCATGTATCGCCAGTTTGC
+CGATGCGGTGCAGGTGCCGATCCTCGCCAACATTACCGAATTTGGCGCAACACCGCTGTTTACCACCGAC
+GAATTACGCAGCGCCCATGTCGCAATGGCGCTCTACCCGCTTTCAGCGTTTCGCGCCATGAACCGCGCCG
+CTGAACATGTCTACAACATCCTGCGTCAGGAAGGCACACAGAAAAGCGTCATCGACACCATGCAGACCCG
+CAACGAGCTGTACGAAAGCATCAACTACTACCAGTACGAAGAGAAGCTCGACGACCTGTTTGCCCGTGGT
+CAGGTGAAATAAAAACGCCCGTTGGTTGTATTCGACAACCGATGCCTGATGCGCCGCTGACGCGACTTAT
+CAGGCCTACGAGGTGAACTGAACTGTAGGTCGGATAAGACGCATAGCGTCGCATCCGACAACAATCTCGA
+CCCTACAAATGATAACAATGACGAGGACAATATGAGCGACACAACGATCCTGCAAAACAGTACCCATGTC
+ATTAAACCGAAAAAATCGGTGGCACTTTCCGGCGTTCCGGCGGGCAATACGGCGCTCTGCACCGTGGGTA
+AAAGCGGCAACGACCTGCATTACCGTGGCTACGATATTCTTGATCTGGCGGAACATTGTGAATTTGAAGA
+AGTGGCGCATCTGCTGATCCACGGCAAACTGCCAACCCGTGACGAACTCGCCGCCTACAAAACGAAACTG
+AAAGCCCTGCGTGGTTTACCGGCTAACGTGCGTACCGTGCTGGAAGCCTTACCGGCGGCGTCACACCCGA
+TGGATGTTATGCGCACCGGCGTTTCCGCGCTCGGCTGCACGCTGCCAGAAAAAGAGGGGCACACCGTTTC
+TGGTGCGCGGGATATTGCCGACAAACTGCTGGCGTCACTTAGTTCGATTCTTCTCTACTGGTATCACTAC
+AGCCACAACGGCGAACGCATCCAGCCGGAAACTGATGACGACTCTATCGGCGGTCACTTCCTGCATCTGC
+TGCACGGCGAAAAGCCGTCGCAAAGCTGGGAAAAGGCGATGCATATCTCGCTGGTGCTGTACGCCGAACA
+CGAGTTTAACGCTTCCACCTTTACCAGCCGGGTGATTGCGGGCACTGGCTCTGATATGTATTCCGCCATT
+ATTGGCGCGATTGGCGCACTGCGCGGGCCGAAACACGGCGGGGCGAATGAAGTGTCGCTGGAGATCCAGC
+AACGCTACGAAACGCCGGACGAAGCCGAAGCTGATATCCGTAAGCGGGTGGAAAACAAAGAAGTGGTCAT
+TGGTTTTGGGCATCCGGTTTATACCATCGCCGACCCGCGCCACCAGGTGATCAAACGCGTGGCAAAGCAG
+CTCTCGCAGGAAGGCGGCTCGCTGAAGATGTACAACATCGCCGATCGCCTGGAAACAGTGATGTGGGAGA
+GCAAAAAGATGTTCCCCAATCTCGACTGGTTCTCCGCTGTTTCCTACAACATGATGGGTGTTCCCACCGA
+GATGTTCACACCACTGTTTGTTATCGCCCGCGTCACTGGCTGGGCGGCGCACATTATCGAACAACGTCAG
+GACAACAAAATTATCCGTCCTTCCGCCAATTACGTTGGACCGGAAGACCGCCAGTTTGTCGCGCTGGATA
+AGCGCCAGTAAACCTCTACGAATAACAATAAGGAAACGTACCCAATGTCAGTTCAAATCAACAATATTCG
+CCCGGAATTTGATCGTGAAATCGTTGATATCGTCGATTACGTGATGAACTACGAAATCAGCTCCAGAGTA
+GCCTACGACACCGCACATTACTGCCTGCTCGACACGCTCGGCTGCGGTCTGGAAGCTCTCGAATATCCGG
+CCTGTAAAAAACTGCTGGGGCCAATTGTCCCCGGCACCGTCGTACCCAACGGCGTGCGCGTTCCCGGAAC
+TCAGTTTCAGCTCGACCCCGTCCAGGCGGCATTTAACATTGGCGCGATGATCCGTTGGCTCGATTTCAAC
+GATACCTGGCTGGCAGCGGAGTGGGGGCATCCTTCCGACAACCTCGGCGGCATTCTGGCAACGGCGGACT
+GGCTTTCGCGCAACGCGGTCGCCAGCGGCAAAGCGCCGTTGACCATGAAACAGGTGCTGACCGGAATGAT
+CAAAGCCCATGAAATTCAGGGCTGCATCGCGCTGGAAAACTCCTTTAACCGCGTTGGTCTCGACCACGTC
+CTGTTAGTGAAAGTGGCTTCCACCGCCGTGGTCGCCGAAATGCTCGGCCTGACCCGCGAGGAAATTCTCA
+ACGCCGTTTCGCTGGCGTGGGTGGACGGTCAGTCGCTGCGCACCTATCGCCATGCGCCGAACACCGGCAC
+GCGTAAATCCTGGGCGGCGGGCGATGCTACTTCCCGCGCGGTACGTCTGGCACTGATGGCGAAAACCGGC
+GAAATGGGTTATCCGTCAGCCCTGACTGCGCCTGTGTGGGGCTTCTACGACGTCTCCTTTAAAGGCGAAT
+CGTTCCGCTTCCAGCGCCCGTATGGTTCTTACGTGATGGAAAATGTGCTGTTCAAAATCTCCTTCCCGGC
+GGAGTTCCACTCCCAGACGGCAGTTGAAGCAGCGATGACGCTCTATGAACAGATGCAGGCAGCAGGCAAA
+ACGGCGGCGGATATCGAAAAAGTGACCATTCGCACCCACGAAGCCTGTATTCGCATCATCGACAAAAAAG
+GGCCGCTCAATAACCCGGCTGACCGCGACCACTGCATTCAGTACATGGTGGCGATCCCGCTGCTGTTCGG
+GCGCTTAACGGCGGCAGATTACGAGGACAACGTTGCGCAAGATAAACGCATCGACGCCCTGCGCGAGAAG
+ATCAATTGCTTTGAAGATCCGGCGTTTACCGCTGACTACCACGACCCGGAAAAACGCGCCATCGCCAATG
+CCATAACCCTTGAGTTCACCGACGGCACGCGCTTTGAAGAAGTGGTGGTGGAGTACCCCATTGGTCATAC
+TCGCCGCCGTCAGGATGGCATTCCGAAACTGGTCGAGAAATTCAAAATCAATCTCGCGCGCCAGTTCCCG
+ACTCGCCAGCAGCAGCGCATTCTGGAGGTTTCTCTCGACAGAACTCGCCTGGAACAGATGCCGGTCAATG
+AATATCTCGACCTGTACGTCATTTAAGTAAACGGCGGTAAGGCGTAAGTTCAACAGGAGAGCATTATGTC
+TTTTAGCGAATTTTATCAGCGTTCGATTAACGAACCGGAGCAGTTCTGGGCCGAGCAGGCCCGGCGTATT
+GACTGGCAGACGCCCTTTACGCAAACGCTAGACCACAGCAACCCGCCGTTTGCCCGTTGGTTTTGTGAAG
+GCCGAACCAACTTGTGTCACAACGCTATCGATCGCTGGCTGGAGAAACAGCCAGAGGCGCTGGCATTGAT
+TGCCGTCTCTTCGGAAACAGAGGAAGAGCGTACCTTTACCTTCCGCCAGTTACATGACGAAGTGAATGCG
+GTGGCGTCAATGCTGCGCTCACTGGGCGTGCAGCGTGGCGATCGGGTGCTGGTGTATATGCCGATGATTG
+CCGAAGCGCATATTACCCTGCTGGCCTGCGCGCGCATTGGCGCTATTCATTCGGTGGTGTTTGGGGGATT
+TGCTTCGCACAGCGTGGCGGCGCGAATTGATGACGCTAAACCGGTGCTGATTGTCTCGGCTGATGCCGGG
+GCGCGCGGCGGTAAAATCATTCCGTATAAAAAATTGCTCGACGATGCGATAAGTCAGGCACAGCATCAGC
+CGCGTCACGTTTTACTGGTGGATCGCGGGCTGGCGAAAATGGCGCGCGTTAGCGGGCGGGATGTCGATTT
+CGCGTCGTTGCGCCATCAGCACATCGGCGCGCGGGTGCCGATGGCATGGCTGGAATCCAACGAAACCTCC
+TGCATTCTCTACACCTCCGGCACGACCGGCAAACCTAAAGGTGTGCAGCGTGATGTCGGCGGATATGCGG
+TGGCGCTGGCGACCTCGATGGACACCATTTTTGGCGGCAAAGCGGGCGGCGTGTTCTTTTGTGCTTCGGA
+TATCGGCTGGGTGGTAGGGCATTCGTATATCGTTTACGCGCCGCTGCTGGCGGGGATGGCGACTATCGTT
+TACGAAGGATTGCCGACCTGGCCGGACTGCGGCGTGTGGTGGAAAATTGTCGAGAAATATCAGGTTAGCC
+GCATGTTCTCAGCGCCGACCGCCATTCGCGTGCTGAAAAAATTCCCTACCGCTGAAATTCGCAAACACGA
+TCTTTCGTCGCTGGAAGTGCTCTATCTGGCTGGAGAACCGCTGGACGAGCCGACCGCCAGTTGGGTGAGC
+AATACGCTGGATGTGCCGGTCATCGACAACTACTGGCAGACCGAATCCGGCTGGCCGATTATGGCGATTG
+CTCGCGGTCTGGATGACAGGCCGACGCGTCTGGGAAGCCCCGGCGTGCCGATGTATGGCTATAACGTGCA
+GTTGCTCAATGAAGTCACCGGCGAACCGTGTGGCGTCAATGAGAAAGGGATGCTGGTAGTGGAGGGGCCA
+TTGCCGCCAGGCTGTATTCAGACCATCTGGGGCGACGACGACCGCTTTGTGAAGACGTACTGGTCGCTGT
+TTTCCCGTCCGGTGTACGCCACTTTTGACTGGGGCATCCGCGATGCTGACGGTTATCACTTTATTCTCGG
+GCGCACTGACGATGTGATTAACGTTGCCGGACATCGGCTGGGTACGCGTGAGATTGAAGAGAGTATCTCC
+AGTCATCCGGGCGTTGCCGAAGTGGCGGTGGTTGGGGTGAAAGATGCGCTGAAAGGGCAGGTGGCGGTGG
+CGTTTGTCATTCCGAAAGAGAGCGACAGTCTGGAAGACCGTGAGGTGGCGCACTTGCAAGAGAAGGCAAT
+TATGGCGCTGGTAGACAGCCAGATTGGCAACTTTGGCCGCCCGGCGCACGTCTGGTTTGTCTCGCAATTG
+CCAAAAACGCGATCCGGAAAAATGCTGCGCCGCACGATCCAGGCGATTTGCGAAGGACGCGATCCTGGGG
+ATCTGACGACCATTGATGATCCGGCGTCGTTGGATCAGATCCGCCAGGCGATGGAAGAGTAGGTCGGATA
+AGGCGCTCGCGCCGCATCCGACACCGTGCGCAGATGCCTGATGCGACGCTGACGCGTCTTATCATGCCTA
+CAGGCCTGAACCGTAGGTCGGATAAGGCGCTCGCGCCGCATCCGACACCATGCGCAGATGCCTGATGCGA
+CGCTGACGCGTCTTATCATGCCTACCCACTGTTTTTACACAGATAAGTTTCCCCCGCCTTTTTGCACTCA
+TTCATATAAAAAATATATCCCCCTACGAAAACGATTGCTTTTTATCTTCAGATGAATAGAATGCGGCGGA
+TTTTTTGGGTTTCAAACAGCAAAAAGGGGGAATTTCGTGTCGCAAGATAACAACTTTAGCCAAGGGCCAG
+TCCCGCAGTCGGCGCGGAAAGGGGTATTGGCATTGACGTTCGTCATGCTGGGATTAACCTTCTTTTCCGC
+CAGTATGTGGACCGGCGGCACTCTCGGAACCGGTCTTAGCTATCATGATTTCTTCCTCGCAGTTCTCATC
+GGTAATCTTCTCCTCGGTATTTACACTTCATTTCTTGGTTACATTGGCGCAAAAACCGGCCTGACCACCC
+ATCTTCTTGCTCGCTTCTCGTTTGGTGTTAAAGGCTCATGGTTGCCTTCACTGCTGCTGGGCGGCACCCA
+GGTTGGCTGGTTTGGCGTTGGCGTGGCGATGTTTGCTATTCCGGTGGGCAAGGCAACCGGGCTGGATATT
+AATTTGCTGATTGCCGTCTCCGGTTTACTGATGACCGTCACCGTCTTCTTTGGCATTTCGGCGCTGACAG
+TTCTTTCGGTGATTGCGGTTCCGGCTATCGCCTGTCTTGGCGGTTATTCCGTGTGGTTGGCCGTTAACGG
+CATGGGCGGCCTGGACGCATTAAAAGCGGTCGTTCCCGCACAACCGTTAGATTTCAATGTCGCGCTGGCG
+CTGGTTGTGGGGTCATTTATCAGTGCGGGCACGCTCACCGCTGACTTTGTCCGGTTTGGTCGTAATGCCA
+AACTGGCGGTGCTGGTGGCGATGGTGGCCTTTTTCCTCGGCAACTCGTTGATGTTTATTTTCGGTGCAGC
+GGGCGCGGCGGCACTGGGGATGGCGGATATCTCTGATGTGATGATTGCTCAGGGCCTTCTGCTGCCTGCG
+ATTGTGGTGCTGGGGCTGAATATCTGGACCACCAACGATAACGCGCTCTATGCGTCGGGTTTAGGTTTCG
+CCAACATTACCGGTATGTCGAGCAAAACCCTTTCGGTGATTAACGGTATTATCGGTACGGTCTGCGCATT
+ATGGCTGTATAACAATTTTGTCGGCTGGTTGACCTTCCTTTCGGCAGCTATTCCTCCGGTGGGCGGCGTG
+ATCATCGCTGATTATCTGATGAACCGTCGCCGCTATGAGCACTTTGCGACCACGCGTATGATGAGTGTCA
+ATTGGGTGGCGATTCTGGCGGTCGCGCTGGGGATTGCCGCAGGCCACTGGTTACCGGGAATTGTTCCGGT
+CAACGCGGTATTAGGTGGCGCGCTGAGCTATCTGATCCTTAACCCGATTTTGAATCGTAAAACGACAGCA
+GCAATGACGCATGTGGAGGCTAACAGTGTCGAATAACGCTTTACAAACAATTATTAACGCCCGGTTACCC
+GGCAAAGAGGGGCTGTGGCAGATTCATCTTCACGACGGAAAAATCAGCGCCATTGATACGCAATCTGGTG
+TGATGCCCGTAACTGAAAACAGCCTGGATGCCGAACAAGGTTTAGTTTTACCGCCGTTTGTGGAGCCGCA
+TATTCACCTGGACACCACGCAAACCGCCGGACAACCGAACTGGAATCAGTCCGGCACGCTGTTTGAAGGC
+ATTGAACGCTGGGCCGAGCGCAAAGCGTTATTAACCCATGACGATGTGAAACAACGCGCCTGGCAAACGC
+TGAAATGGCAGATTGCCAACGGCATTCAGCATGTGCGTACCCATGTCGATGTCTCCGACGCAACGCTGAC
+TGCGTTGAAAGCGATGCTGGAAGTGAAACAGGAAGTTGCGCCGTGGATTGATCTGCAAATCGTCGCCTTC
+CCGCAGGAAGGGATTTTGTCGTATCCCAACGGTGAAGCGTTGCTGGAAGAGGCGTTACGCTTAGGGGCAG
+ACGTTGTTGGGGCGATTCCGCATTTTGAATTTACCCGTGAATATGGCGTGGAGTCGCTGCATAAAACCTT
+CGCCCTGGCGCAAAAATACGACCGTCTCATCGATGTTCACTGTGACGAGATTGATGATGAGCAATCACGC
+TTTGTCGAAACCGTTGCTGCCCTGGCGCACCGTGAAGGCATGGGCGCGCGAGTCACCGCCAGCCATACTA
+CGGCAATGCACTCCTATAACGGGGCGTATACTTCGCGCCTGTTTCGTTTGCTGAAAATGTCCGGTATTAA
+CTTTGTCGCCAACCCGTTGGTCAATATTCATCTGCAAGGACGTTTCGATACGTATCCAAAACGTCGCGGC
+ATCACGCGCGTTAAAGAGATGCTGGAGTCCGGCATTAACGTCTGCTTTGGTCACGATGATGTCTTCGATC
+CGTGGTATCCGCTGGGAACGGCGAATATGCTGCAAGTGCTGCATATGGGGCTGCATGTTTGCCAGCTGAT
+GGGCTACGGGCAGATTAACGACGGCCTGAATTTAATCACCCACCACAGCGCCAGGACGTTGAATTTGCAG
+GATTACGGCATTGCCGCCGGAAACAGCGCCAACCTGATTATCCTGCCGGCTGAAAATGGGTTTGATGCGC
+TGCGCCGTCAGGTTCCGGTACGTTATTCGGTACGTGGCGGCAAGGTGATTGCCAGCACACAACCGGCACA
+AACCACCGTATATCTGGAGCAGCCAGAAGCCATCGATTACAAACGGTAATCGGCTGGGTTACCGCGAGCG
+TAGTTTATGCCGGATGCGGCGTGAACTGAACTGAACCCCAAAACCTGGACAGTTTCAGTTAACCGGCTTT
+TTGATACTCAGTCCGGTATTCTACCGGGCTGAGTCCCCCAAGACTGAGTTTTATTCTTTTTTGATTCCAG
+TAAGTTATGTATTCGTTAACGGCATTTTCCAGCTCTTCTACATTTCTGTAGTCCCGGCGATAGTACATTT
+CTTCTTTCAGGTGACCAAAGAAGTTCTCCATTACCGCATTATCAAGGCAGTTGCCCTTGCGCGACATGCT
+CTGCACTAACCCTCTGTCCGCCAGGGCGGACTGATAACTTTTTATCCGGTAATGCCATCCTTGATCACTG
+TGGAGCAGCGGTTTCTCCCCTTCAGCAAGGCTTTCCAGACCCTTATTTAACATCCGCTTCACCAGCTCCT
+CTGTAGGCCTGCAGGCCGTTTCCCACGCCACGATTTCCCCGTTAAACAAATCAAGTATCGGGGACAGGTA
+CAGTTTTTGTCCGCCAGCCCTGAATTCGGTGATATCTGTCACCCATTTCTCACAGGGAGCTTCCGCTTTG
+AACTGTCGCTGAAGGATATTTTCTGCAGCGAGTCCCATATTTCCCCGGTAAGACCGGTATTTCTTCAGGC
+GCACAGGAGACTTCAGGCCGAGCTGTTGCATCAGTTTTCTCACCGTTTTGCCACTGAACTTAAGACCTCT
+TTTCTGAAGCTCACAATGGATCCGCCGGTACCCATAACATCCCCGGTGTTCATGGAAGATGGAGGCTATG
+AGCTGTTTCACATCAGCATACTTGTCCTTAGCCTTCTGCAGTGACAGCTGGTAGTACAGCGTGCTTCTGG
+CCAGCCCTGCGGCCTTTAACAGGTCAGACTGGCAGTGTCCGTACCTCAGGCTCTGGATGACTTTCGTTTT
+TTCTCCAGCTCCTGGCGCTTTTTTTCCAGAAGATGCTCCTGCATGGCTTTCAGATATGCATTTTCTGCGC
+GAAGATAACGCAGCTCATTCTTCATCTCTTCCGGCGTCATGTTTGCCTCGTTTTCATGGGTATCATCAGA
+ACGGGTCATGCTTTTCTCCTTCCTGCGCCTGATAAAGGCCTCATTACCAGATTTGCGGTAGCCTTTTATC
+CAGTTTTTAACCGTGTTGTGGCTGGGAATGTTAAACCGGGCAGCTACCCGGGGTAGAGACTCAGAATGCC
+CGAGAGCATAAAGAACCACGCAAAGTTTATCTTCAGGAGAATAGCTACGCTTGTGTCTGCAATCCAGTGC
+CCGAGGACCGTGAAGAAGAAAAAGATTAATCCAGTGTGAGAGGCTGGTGTGAGAAAGTTGAAAGAGTTTT
+GCCGTAGAAATGATGCCTGCATGACCAGCCAGGTAATGATTTACAGCGGCAAGTTTTATTTCAAATGAAT
+GTTTCATAAACTGCACCTTCAGATGTCAGATTATGTCCAACATTTGGGGTGCAGTTCAGAACACCTTATC
+CGGCCTACGTAGATCTCTGAAATTGTAGGCCTGATAAGCGGAGCGCATCAGGCAATTTTGCTTATTTAAA
+CTGAAGACTCAACTTTAAAATCTTTGAAATAATATTGCTTATCCCGGTCGTTTATTTCGCGAATAACCCG
+ACAAGGAACGCCAGCAGCCACGACGTTTGGTGGAATGTCTTTTGTGACGACACTACCCGCGCCAATAACA
+GAATTATCCCCGATGGTGACGCCTGGATTAATAACCACATGACTTCCGATCCAGACGTTATTGCCAATCG
+TTATCGGAAAAGAGTACATTTCTCCGTTTTTTCTCAATTCATGGTGTACCGGGTGTCCCGTAACGGAAAG
+AGTAACGTTGGGTGCAATCAGTACGTTATCACCGATCGTTACCGTGTAGTCGTCGACAATGGTTAAATTG
+AAATTTGCATAAAAATTGCGGCCTATATGGATGTTGGAACCGTAAGAGAAATAGACGGGGGGTTCTACCC
+AGGCGTTTTCCCCTACCGTGGCAAACATTTCTTTAATCAGACTTTCCCTTTTTTCAAATTCTGATGGATG
+CGAGTGATTAAACTCATACATTAACGTTTTTCCACGAAGTCTTTTTTCAGGTAAGCCTTCGCACATATCG
+GTAAATAGCTTGCCTGCTTTTATTCTTTCTGTCATCGACATGTTCATTGCGATCATTCCGCCCTGATATG
+TTGGTCGGATAAGGCGCTCGCGCCGCATCCGACATTGATTGCTTAAGCGACTTCATTCACCTGACGACGC
+AGTAGAGAAAGCGGGCCGGGGCCGCTAAGCGTGAACACGGAAATTAAGGTGAAGCCCAGCGCCACCAGAC
+CCAGCACCAGATAAGCGCCCTGGAAACCGATGCTTTCATACATATTGCCCGCCAGTACAGACATAAAAAT
+CATCGCCAGTTGCTTAAAGAAGCAGAAACAGACCAGATAAATCGTCGCTGAAAAACGCACTTCAAACTGG
+CTGGTAATATATTTAAAGCAGCCCACCAGCAGGAACGGTACTTCAAACATATGCAGCGTTTTCAGAATAA
+CCACTTCCAGCGCTGAGGTGGCGAACGATGAGCCAATAATACGTACAGACATAATAGTGCCAGCCAGCAG
+CAGGGCATTTTTCCCACCGATGCGATTAATGATCAGTGGCGCAAAGAACATAATCGAGGCATTAAGTAAT
+TCGCCCATTGTCGTTACGTAGCCAAATACCCGCGTACCCTGTTCACCGGTAGCAAAAAACGAAGTAAAGA
+AATTAGCAAACTGTTGGTCAAAAACATCGTAGGTGCAGGAAACGCCAATAACATACAGTGACAAAAACCA
+CAGTTTTGGCTGTCTGAACAGTTCCAGCGCCAGCTTAAGGCTAAATGCCGAATGGTTGGCACCTACCGCA
+TTGGCAACCGTGGCTGAAGAGGGCGCATCCGTTTTGGCGAAAAAGAGTAAAACGGCGAGGATGAGTGCAC
+AGCCAGAACCCAGCCAGAAAACAAACTGATTATTGATGGTGAACATGATGCCGACAATCGAGGCACACAG
+CGCCCAGCCAACACAGCCAAACATCCGCGCGCGACCAAATTCGAAATTACTGCGACGGCTGACTTTCTCG
+ATAAATGCCTCTACTGCTGGCGCACCGGCGTTAAAACAAAAGCCAAGATAAATACCACCAACAATCGATC
+CTACTAAAATGTTGTATTGTAACAGTGGTCCGAAGATAAAAATAAAGAACGGCGCAAACATCACTAACAT
+GCCGGTAATAATCCACAGCAGGTATTTGCGCAGCCCGAGTTTGTCAGAAAGCAGACCAAACAGCGGTTGG
+AATAATAGCGAGAACAGAGAAATAGCGGCAAAAATAATACCCGTATCACTTTTGCTGATATGGTTGATGT
+CATGTAGCCAAATCGGGAAAAACGGGAAGTAGGCCCCCATGATAAAAAAGTAAAAGAAAAAGAATAAACC
+GAACATCCAAAAGTTTGTGTTTTTTAAATAGTACATAATGGATTTCCTTACGCGAAATACGGGCAGACAT
+AGCCTGCCCGGTTATTATTATTTTTGACACCAGACCAACTGGTAATGGTAGTGACCGGCGCTCAGCTGGA
+ATTCCGCCGATACTGACGGGCTCCAGGAGTCGTCGCCACCAATCCCCATATGGAAACCGTCGATATTCAG
+CCATGTGCCTTCTTCCGCGTGCAGCAGATGGCGATGGCTGGTTTCCATCAGTTGTTGTTGGCTGTAGCGG
+CTGATGTTGAACTGGAAGTCGCCGCGCCACTGGTGTGGGCCATAATTCAATTCGCGCGTCCCGCAGCGCA
+GACCGTTTTCGCTCGGGAAGACGTACGGGGTATACATGTCTGACAATGGCAGATCCCAGCGGTCAAAACA
+GGCTGCAGTAAGGCGGTCGGGATAGTTTTCTTGCGGCCCCAGGCCGAGCCAGTTTACCCGCTCTGCGACC
+TGCGCCAGCTGGCAGGTCAGGCCAACCCGCGCCGGATGCGGTGTATCGCTTGCCACCGCAACATCCACAT
+TGATGACCATCTCACCGTGCCCATCAATCCGGTAGGTTTTCCGGCTGATAAATAAGGTTTTCCCCTGATG
+CTGCCACGCGTGGGCGGTTGTAATCAGCACCGCGTCGGCAAGTGTATCTGCCGTGCACTGCAACAACGCC
+GCTTCGGCCTGGTAATGGCCCGCCGCCTTCCAGCGTTCGACCCAGGCGTTAGGGTCAATGCGGGTCGCTT
+CACTTACGCCAATGTCGTTATCCAGCGGCGCACGGGTGAACTGATCGCGCAGCGGGGTCAGCAGTTGTTT
+TTCATCGCCAATCCACATCTGTGAAAGAAAGCCTGACTGGCGGTTAAATTGCCAACGCTTATTACCCAGC
+TCGATGCAAAAATCCGTTCCGCTGGTGGTCAGTTGAGGGATGGCGTGGGACGCGGAGGGGAGTGTCACGC
+TGAGGTTTTCCGCCAGACGCCATTGCTGCCAGGCGCTGATGTGTCCGGCTTCTGACCATGCGGTCGCGTT
+TGGTTGCACTACGCGTACCGTTAGCCAGAGTTGTCCGGCGCTCTCCGGCTGCGGCAGTTCTGGCAGTTCA
+ATCAACTGCTTACCTTGCGGGCCAACATCCAGAGGCACTTCACCGCTTGCCAGCGGCTTGCCATCCAGCG
+CCACCATCCAGTGCAGGAACTCGTTATCGCTATGACGGAACAGGTATTCGCTGGTCACTTCGATGGTTCG
+CCCGGATAAACGGAACTGGAAAAACTGCTGCTGGTGTTTTGCTTCCGTCAGCGCCGGATGCGGCGTGCGG
+TCGGCAAAGACCAGACCGTTCATGCAGAACTGGCGATCGTTCGGCGTATCGCCAAAATCACCGCCGTAAG
+CCGACCACGGGTTGCCGTTTTCATCATATTTAATCAGCGACTGATCCACCCAGTCCCAGACGAAGCCGCC
+CTGTAAACGGGGGTACTGACGAAACGCCTGCCAGTATTTAGCGAAGCCGCCAAGACTGTTACCCATCGCG
+TGGGCATATTCGCAAAGGATCAGCGGGCGCATTTCTCCAGGCAGCGAAAGCCATTTTTTGATGGACCATT
+TCGGCACCGCCGGGAAGGGCTGGTCTTCATCCACGCGCGCGTACATCGGGCAAATAATATCGGTGGCCGT
+GGTGTCGGCTCCGCCGCCTTCATACTGTACCGGGCGGGAAGGATCGACAGATTTGATCCAGCGATACAGC
+GCGTCGTGATTAGCGCCGTGGCCTGATTCATTCCCCAGCGACCAGATGATCACACTCGGGTGATTACGAT
+CGCGCTGCACCATCCGCGTTACGCGTTCGCTCATCGCGGGTAGCCAGCGCGGATCATCGGTCAGACGATT
+CATTGGCACCATGCCGTGGGTTTCAATATTGGCTTCATCCACCACATACAGGCCGTAGCGGTCGCACAGC
+GTGTACCACAGCGGATGGTTCGGATAATGCGAACAGCGCACGGCGTTAAAGTTGTTCTGCTTCATCAGCA
+GGATATCCTGCACCATCGTCTGCTCATCCATGACCTGACCATGCAGAGGATGATGCTCGTGACGGTTAAC
+GCCGCGAATCAGCAACGGCTTGCCGTTCAGCAGCAGCAGACCATTTTCAATCCGCACCTCGCGGAAACCG
+ACATCGCAGGCTTCTGCTTCAATCAGCGTGCCGTCGGCGGTGTGCAGTTCAACCACCGCACGATAGAGAT
+TCGGGATTTCGGCGCTCCACAGTTCCGGATTTTCAACGTTCAGGCGTAGCGTGACGCGATCGGCATAACC
+GCCACGCTCATCGATAATTTCACCGCCGAAAGGCGCGGTGCCGCTGGCGACCTGCGTTTCACCCTGCCAC
+AAAGAAACCGTCACCCGCAGTTCATCGCGCAGCTCGCCGTACATCTGAACTTCTGCCTCCAGTACCGCGC
+GGCTGAAATCATCATTAAAGCGAGTGGTAACTTGGAAATCGCTGATTTGCGTGGTCGGTTTATGCAGCAA
+CGAGACGTCACGGAAAATGCCGCTCATCCGCCACATATCCTGATCTTCCAGATAACTGCCGTCACTCCAG
+CGCAGCACCATCACCGCGAGGCGGTTTTCTCCGGCGCGTAAAAATGCGCTCAGGTCAAATTCAGACGGCA
+AACGGCTGTCCTGGCCGTAACCGACCCAGCGCCCGTTGCACCACAGATGAAACGCCGAGTTAACGCCATC
+AAAAATAATTCGCGTCTGGCCTTCCTGTAGCCAGCTTTCATCAATATTAAATGTGAGCGAGTAACAACCT
+GTCGGATTCTCCGCGGGAACAAACGGCGGATTGACCGTAATGGGATAGGTCACGTTGGTGTAGATGGGCG
+CGTCGTAACCGTGCATCTGCCAGTTTGAGGGGACGACGACAGTATCGGCGTCAGGAAGATCGCACTCCAG
+CCAGCTTTCCGGCACCGCTTCTGGTGCCGGAAACCAGGCAAAGCGCCATTCGCCATTCAGGCTGCGCAAC
+TGTTGGGAAGGGCGATCGGTGCGGGCCTCTTCGCTATTACGCCAGCTGGCGAAAGGGGGATGTGCCGCAA
+GGCGATTAAGTTGGGTAACGCCAGGGTTTTCCCAGTCACGACGTTGTAATACGACGGCCAGAGAATCCGT
+AATCATAGTCATAGCTGTATCCTGTGTGAAATTGTTATCCGCTCACAATTTCACACAACATACGAGCCGG
+ACACATAGAGTGTAAAGACTGGGGTGCCTAATGAGTGAGCTGACTCACATTAATTGTGTTGCGCTCACTG
+CCCGCTTTCCAGTCGGGAAACTTGTCGTGCCAGCTGCATTAATGAATCGGCCAACGCGCGGGGAGAGGCG
+GTTTGCGTATTGGGCGGAAGGGTGGTTTTTCTTTTCACCAGTGAGACGGGCAACAGCTGATTGCCCTTCA
+CCGCCTGGCCCTGAGAGAGTTGCAGCAAGCGGTCCACGCTGGTTTGCCCCAGCAGGCGAAAATCCTGTTT
+GATGGTGGTTAACGGCGGGATATAACACGAGCTGTCTTCGGTATCGTCGTATCCCACTACCGAGATATCC
+GCACCAACGCGCAGCCCGGACTCGGTAATGGCGCGCATTGCGCCCAGCGCCATCTGATCGTTGGCAACCA
+GCATCGCAGTGGGAACGATGCCCTCATTTAGCATTTGCATGGTTTGTTGAAAACCGGACATGGCACTCCA
+GTCGCCTTCCCGTTCCGCTATCGGCTGAATTTGATTGCGTGTGAGATATTTATGCCAGCCTGCCAGACGC
+AGACGCGCCGAGACAGAACTTAATGGGCCTGCTAACAGCGCGATTTGCTGATGACCCAATGCGACCAGGT
+GCTCCACGCCCAGTCGCGTACCGTCTTCATGGGAGAAAATAATACTGTTGATGGGAGTCTGGTCAGAGAC
+ATCAAGAAATAACGCCGGAACATTAGCGCAGGCAGCTTCCACAGCAATGGCATCCTGGTCATCCAGCGGA
+TAGTTAATGATCAGCCCACTGACGCGTTGCGCGAGAAGATTGTGCACCGCCGCTTTACAGGCTTCGACGC
+CGCTTCGTTCTACCATCGACACCACCACGCTGGCACCCAGTTGATCGGCGCGAGATTTTATCGCCGCAAC
+AATTTGCGACGGCGCGTGCAGGGCCAGACTGGAGGTGGCAACGCCAATCAGCAACGACTGTTTGCCCGCC
+AGTTGTTGTGCCACGCGGTTGGGAATGTAATTCAGCTCCGCCATCGCCGCTTCCACTTTTTCCCGCGTTT
+TCGCAGAAACGTGGCAGGCCTGGTTCACCACGCGGGAAACGGTCTGATAAGAGACACCGGCATACTCTGC
+GACATCGTATAGCGTTACTGGTTTCACATTCACCACCCTGAATTGACTCTCTTCCGGGCGCTATCATGCC
+ATACCGCGAAAGGTTTTGCGCCATTCGGCGAGGCTGACGCCGAAGTGAGATTTAAAATGCTGACGCCAGG
+TCACAGGTGAGAGAAAACCCACGCCAATACACCTACGGCGTTTACAGGTATACTCGCTAAAAATTATTCA
+GCGGGTTTGGAAACAAAGATGGCAAAACTTACCTTACAAGAGCAGTTGCTCAAAGCGGGACTAGTCACCA
+GCAAAAAAGCGGCGAAGGTCGAGAGAACGGCAAAAAAATCGCGTGTTCAGGCGCGTGAAGCTCGGGCGGC
+GGTAGAAGAAAATAAAAAGGCACAGCTTGAGCGTGATAAACAGCTTAGCGAGCAACAAAAACAAGCGGCG
+TTGGCGAAAGAATATAAAGCCCAGGTGAAGCAGCTCATTGAAATGAACCGAATTACCATTGCCAATGGCG
+ATATTGGTTTTAACTTCACTGACGGCAATCTGATTAAGAAGATTTTTGTTGATAAGCTCACGCAAACGCA
+GTTGATTAATGGTCGTCTGGCGATTGCCCGCTTGTTGGTTGATAACAATAGCGAAGGTGAATACGCCATT
+ATTCCCGCCAGCGTTGCCGATAAAATTGCTCAGCGTGATGCCAGCAGTATTGTGTTGCACAGCGCGCTCA
+GCGCCGAAGAGCAGGATGAAGACGATCCGTATGCCGACTTCAAAGTGCCTGATGATTTGATGTGGTAAAC
+ATAGATAAATCGTGTGCAGATGCCTGATGCGACGCTTTGCGAGTCTTATCAGGCCTACGGTTTATGGGCG
+AAGTGTAGGCCGGATAAGGCGTTCACGCCGCATCCGGCAGCCGTGCGCAGATGCCTGATGCGACGCTTTT
+CGCGTCTTATCAGGCCTACGGTTTACGAGCGAAATGTGGGCCGGATAAGGCGTTTACGCCGCATCCGGCA
+GTCGTGCACTATTATCAACGCATATTCAGTTTATTGGCGTGGTACGCAATATGCTCGCCAATAAAACTGG
+AGACAAAATAATAGCTGTGATCATAACCCTCGTGATAACGGATTAACGTCTTGATATTCATCTCCTGGCA
+GATCTTTTCAAGATTTGGAGTCCGCAGCTGTTCTGCGTAAAAATCATCACTCAATCCCTGATCAACCATG
+ATTTCCGCAACGCGTTGACCTTGTGAAATAAGACTCACCGGGTCGTAATCCAACCAGGCATCTTTATTTT
+CACCAAGATATGCGGCAAAGGCTTGCTGTCCCCACGGTACTTGCGATGGGGAGACAATGGGCGAAAACGC
+CGAGACGCTGGCATATTCATCTGGGTTACGTAACGCCAGCACCAGCGCGCCCAGCCCGCCCATAGAATGA
+CCTGAGATAGACTTTCTGGCCGTTGCTGGAAAATGATGCATCACTAAATTCGGCAGCTCGTTGCGGATAT
+AGTCATACATTTTGTAATGTTCATTCCACGGCGCTTGCGTCGCGTTCAGGTAAAACCCGGCACCTTGCCC
+GAGATCGTAACGGTCAGCATCTGCGACATGACTGCCTCGCGGACTGGTGTCCGGCGCAACAACAATAATG
+TTGTGCTCAGCCGCGTAACGCTGCATCCCCGATTTAGTAATGAAATTCTGCTCGTTGCAGGTCAGGCCTG
+AAAGCCAGTACAACACCGGCAATTTTTCATTCTCGGCTTTTGGTGGGAGATAGACGCCGACATTCATTTC
+ACATTTCAGTGATTGGGAATAATGCCGATACACATTTTGCCAGCCGCCAAAGCTGGCATGTTTTTCAATG
+AGTTCCATCAGTCATTATCTCACGGTTAATCCCCCGGACGGCTGCCCGGGGAGAGTATTAAGAACCCCAT
+CTGAACTGGACGGGGTAAACCAGCGGGAAATCAGTAACGAATTACGGTTCGAATGGATTTACCTTCATGC
+ATCAGGTCGAAGGCGTCATTAATTTCATCCAGGCTCATGGTATGCGTGACAAACGGTTCCAGATCGATAT
+CACCTTTCATCGCATCTTCAACCATACCCGGTAACTGGGAACGACCTTTCACGCCGCCAAACGCGGAACC
+TTTCCATACGCGACCGGTGACCAACTGGAATGGACGGGTGGAGATTTCCTGACCAGATCCTGCGACACCG
+ATGATCACCGATTGACCCCAGCCGCGGTGCGCACTTTCCAGCGCCGCACGCATCACGTTGACGTTACCGA
+TGCATTCAAAGGTATGGTCGATACCCCATTTGTTGATATCCAGCAGGACATCTTTAATCGGTTTGTCGTA
+GTCATTCGGGTTAATGCAGTCGGTGGCACCGAAGCGACGCGCCAGTTCGAATTTCTTCGGGTTGGTATCG
+ATAGCGATAATCCGTCCCGCTTTCGCCTGACGCGCGCCCTGAACCACTGCCAGACCAATCGCGCCAAGAC
+CAAACACGGCAACAGAATCACCTGGCTGGACTTTAGCTGTGTTGTGTACCGCGCCAATACCGGTGGTCAC
+GCCACAGCCCAGCAGGCAGACGTGTTCATGGTTCGCTTCTGGATTAATTTTGGCCAGAGACACTTCCGCT
+ACCACGGTGTATTCACTGAATGTTGAGCATCCCATGTAGTGATAAAGCGGCTGCCCGTTGTAAGAAAAAC
+GGGTGGTGCCGTCTGGCATCAAGCCTTTGCCCTGCGTTTCGCGAACCGCGACACACAGGTTAGTTTTGCC
+AGAACGACAGAACTCACACTCGCCGCACTCTGCGGTGTAAAGCGGGATCACATGGTCGCCAGGTTTGACG
+CTGGTTACCCCTTCACCGACTTCAACTACAACCCCGGCCCCTTCGTGACCGAGAACCACCGGGAAGACAC
+CTTCCGGGTCATCGCCGGAGAGGGTAAATGCGTCGGTATGGCAAACACCGGTATGGGTGACTTTAATCAG
+CACTTCACCTTTTTTCGGTGGTGCAACGTCAATTTCAACGATTTCCAGCGGTTTACCGGGAGCAAATGCA
+ACGGCAGCACGTGATTTCATCTCTCGCTCTTCCTCAATATGGTAATAGATTCAGCTATTTAAGATAGGCA
+CGAACCAGTTCAATAGTGTCGTCAACGGATTGGCTGACTTCGCGGCTGTAGCAGTCATTTCGGTCAAACG
+TTTCCCGGATATGGCTTTCAAGCACTTCTGCCATCAGTCCGTTAGCCGCACCCCGAACGGCAGCGATCTG
+TTGGAGTATGGCACGGCATTCGGCATCACCCTCCAGCGACCGTTCCAGAGCATCAATCTGCCCCCGAATA
+CGACGAACTCGAGTAAGGACCTTTTTCTTCTCTTCCGGAGTACTGGGCATTTCGCACCTCATCATCTGCA
+CGCAATATACTATAGGGGGGTATGCTATATGTCAATGCATACCCCCCCTATAGTATATAACACTGGAGAA
+TAAAATTTATCCGGTGAATGTAGTCGGAAAACAAAGAGGAAAGGGGATAGGGGCTAATCGGCAGGGAAGG
+CCGCCCCGGATAGCGGGCGGCAGAAGGAATCAGAATTTCCAGGTCAGATGGGCTGCAAGTTGCAGACCGT
+TATAATCATCGGTTGGGGTGTCGTACCACACTTTACCTGCCGTCAGCCCGAGATTAAGTTGCTCAGTCAG
+CGGTTGAATACGTTGCAAACTGACGCTCTTCATGCTGCCGTAGCGTGTTTCTGGCGTCCAGTCATAGGTG
+TAAGCGCCTGTTCCGCGGCTTAGCCATAGTTGCGTATAACCAGTGCCGCGCGGGTCATTCAGACGCACGG
+AAATCATATTGCTGTAACTACCACCTGCATCGCTGGAGTCATAATGGGTATAGCGGTAGCTGGAGATCAC
+CGGGCCAGTATAGAGTGATACGCCGCCTTGCCAGGCATCGACTTCGACATCATCGTAATATTTAGTGTAG
+CGATAACCGGTCGTGAAAAGCGTTTTTGGCAACAGTGCCAGGTTAATATCCTGACGAAAATCCTGGCGGG
+CAAAGACCGGCGTATTATCCGCAAAGGCAATACCCGTTCGGGTTGTCAGCCAGTTATTCCATTTATACCA
+GACCGCACCCTGACCGCGAGTGGCATTGAAATGTTCAGTTCCATAATCACGACGCCCCTGGGAAAGATTA
+AAAAGCAGCGTTGCGTTTTCAACTTTCGCCACCAGTTCTGCATACGCTAAATTACGGTTGCCATGATCGC
+CAGAATAATCGGTAAAATCGTAGCCCGCGGTAATGGAAGTTAACCCGGCATAAGCGGGCAATGTGCTAAA
+AATTGCTGCCGCTAATAACGTCCGTTTTATCATTTTAATCTCCTGTACGGATAAGTTCTTGTCGGAGTGA
+ATAAGTTCCGGTAGGTAAATTACGTTCTACAATCACGCGCGGGCCAAGTTGCGTGTTCGGGGAAATAATT
+CGCCCAGGCAAAATAATAACTTGTACGCCAAGGCGTGAACGCTGCCCGATATAACAACCTAATTTATCGC
+ATCCGGTAGCGATAATTCCCTCTGGAGTTCGAACAGACACTGGCTGTTCATCCAGACGATGATTACTGGT
+ACGTACTTGTGCGCCCAAATATGCCTGGTTTGCAACTACCGAGTCGGCGATAAAGCATTGCGGACCAATC
+GTTGCTTCCGCTTCAATAACCGCATTTTTAATTTCGGTGGCAAAACCAATTTTTACGCCATTGCTGATTA
+TTGTGCCAGGACGAATAAACGCATAATTACCTATCAGGCAGTTTGCGCCAATCACTACCGGACCCTGAAT
+AACGGCACCGTGACAAATACGGGTATTCGCGCCGATAACAACTTCACCGGCACTTTCATCAATAATTACC
+TGGTCTGCAATCTGAATATTTTTCTCTTTAACATTAAGCTTCAGAAAGTTTTTCAGTTCCTGTGACAGAA
+GGTTGGGAATAAGCGGTTGACGCTTCCACCAGTGCGGAATAGCGGGTGGGTTTGTCGCGCTGAGGTTCGC
+GTCCAGTAAAAAAGGCAATAAGTCCATAAATAATCCAGATGGCATAAGCTAATAATACATACACAACGGA
+AAGCGGTGCTAAAGGCACCAACAACCAGCAACGATGAAACCAGGCGCTAAATGCACCAATAACACAAACT
+ACGCCGACCCAGATAAGCGGGAACATTGCCAACACCACACCATGTGGCCCGGTGGTGATGAATTCATTAA
+ACCAGGTAGTGAGATAAATCCCAACGCCATAAAGCACAACCAGCAGCATAGGAAATATACTGAAGATACC
+GAAGCGGCTAAATAAAAGTCTTTTATGCAGGCGCATACAGACCGCGTAGCCCACAATCCAACGCCGCCAG
+CGGCGCCACTCCTCACGCGGACTGTTACATTCCTGTGGGTATACGATGCAGCGATTCGCCTGCCGAATAC
+GGTAGCCGTTTGCCACCAACGTCCAGGTGAGATCAAGGTCTTCGACTTTAGTACGATCAGAGAAACCGAA
+CTTACGCAATACATCAGTACGGAACATCCCGCAGGCACCGCTGATGATAAACGGTGCGCCGCCCAGGAGC
+TGCTGTAGCGTGCGCTTCATAACAATCATCGGCAACTTTACGGTCGCGCGGATGTGCGGTAACAGCCCCG
+CGCCTTTCAACGCAGTAGAGGGAATGCCGCCTACGGCATCAGCACCGCGCTCTATTTCTGCCAGCATATA
+GCCCATTCCGTCTTGATCGGGCGGAACATAGGTGTCGGCATCACTTAAAAAAACCTGATCGCAGGTGGCG
+TAATTGAGGCCATTCATCAGCGCACCACCTTTACCGGTATTTTTTTGCGTGACGGCAACAAAGCGGTCGC
+CCCATTTGCGTTTGACTTCCGCCATGACCGCTTCGGTATTGTCCGTGGAGCCGTCGTTAACGCAAATTAC
+CCGGCAAAAATAAGGGTTACGCAGCAGATTATCCAGTGACTGCGCCAGACACGGGCCTTCGTTATAAGCA
+GGTATAATGGCGTCAATACAGCCTTTCTTTTGGCTGGGCTTACGCCTTAACGTACTCAGAAACCATAGCA
+ATATTGCTACGGCCATACATATAAAGATCCAGGTTTTCATGCAATTTGCTCAAAGAATCATTTTATGAAT
+AACAAAACCTTCACCCAGATCGCTATTGACCTGTTGCCCGCGAAATTGAGCAACTGCACGCAGACGCTCC
+GGGCGCATATAATCTCGCTGGCTCTGACTTTTATGTTTTTTTAACGCAGTCAGTTTAAGAGAAAAATATT
+CTTCTTTCACGGATTCAAAAACCTGAGGCATAAATGAAAGCCAGGTACTTGGCGTTTCATAGCCGAGAAT
+TTGCGGAATAGCGCGACAGGCAACCATTGAGGCTTGATAGACTGCAAGATGATCCTGATGGCGGTCAGCA
+TCATGCATGGTATATACACGTATAATTTCAACATCAGAGGGAATTTGATTTTTTATGATGTTTTCCAGGG
+CAGAAATCATATCATTGAGCTGTAAATGAGCGCGGGTGTCAGCAAAATTAAGATGAATAGTTTGGTGGCA
+TCCTAATATCTTTAGAGCGTTGCGTGATTCTTCGTGGCGATCGATTATTCCATCTACGCCAGAATTACCG
+GTAGTCATCACCACGGTAGCAATATAAATTCCTTTTTGCGCAAGGCGAGCTAGCGATGCGCCACAGCCTA
+ATTCTATATCGTCAGGATGCGCGCCAATGGCAAGGATACCCTTTCTTTTATTTGCCGAAGAAAGGATCGC
+TGAATCTAAAACCTTATCCACTTTATGACACTCCATTTTATTTATTATACTACAAGCACAACGACGCCCG
+CAGAGACGTAACCTCTGACGCAGACAGATGCTAATTTTTAAGTGTTAAAAATAGCTGGTAGCTGAAAAAC
+AAGGGGCTGTCAGGTACGGGGATAAGACTGTGTAATCTTTTATGTAGTTCATATGTTAAGTGTTTGTGTG
+TTTGGTTTGTATGGTTATTTTGTTTTATATATTGTATTTAAATGTGATTTAGTTTGTCAATTAATTGCAT
+ATTAAAAATATGTTCTATGCACAAATATTGATTATATACATTATGTGAATACATTATGTGGTTGATTGAG
+AATAATACATTTATATATGCAATGTGAATATAATGGTTTCATTATATGTGTTGCTGTTAATAAAATAACA
+GACATTAGAACCTGCTTGTTTATGCATTAATAAAATGAAGTGCAGTAATTTACTGAGTTATCAGAGTGGG
+CGTAATTGCATATTTAATCTTTCCTTTGCCGCTTTTTTGCTAAGAATAAAATCATCTGTACGATAACGAC
+TAATTCTTTTAATGAATGTTTTTATTCCTGAATACTGCTCCCATAACAAGACGGGGGAGCAGACAATCAT
+GGCAATTTCATCGCGTAACACACTTCTTGCCGCACTGGCATTCATCGCTTTTCAGGCGCAAGCGGTGAAC
+GTCACCGTGGCGTATCAAACCTCCGCCGAACCGGCGAAAGTGGCTCAGGCCGACAACACCTTTGCTAAAG
+AAAGCGGAGCAACCGTGGATTGGCGTAAGTTTGACAGTGGAGCCAGCATCGTGCGGGCGCTGGCTTCGGG
+CGACGTGCAAATCGGCAACCTCGGTTCCAGCCCGTTAGCCGGTTGCAACCAGCCAACAGGTGCCGATTGA
+AGTCTTCTTGCTGGCGTCAAAACTGGGTAACTCCGAAGCGCTGGTGGTAAAGAAAACTATCAGTAAACCG
+GAAGACTTGATTGGTAAACGCATCGCCGTACCGTTTATCTCCACCACCCACTACAGCCTGCTGGCGGCGC
+TGAAACACTGGGGTATTAAACCTGGGCAAGTTGAGATTGTGAACCTGCAGCCGCCCGCGATTATCGCCGC
+ATGGCAGCGGGGAGATATTGATGGTGCTTATGTCTGGGCACCGGCGGTTAACGCCCTGGAAAAAGATGGC
+AAGGTGCTGACCGATTCTGAACAGGTCGGGCAGTGGGGCGCGCCGACACTGGACGTCTGGGTCGTGCGGA
+AAGATTTTGCCGAGAAACATCCTGAGGTCGTGAAAGCGTTCGCTAAAAGCGCCATCGATGCTCAGCAACC
+GTACATTGCTAACCCAGACGCGTGGCTGAAACAGCCGGAAAACATCAGCAAACTGGCGCGGTTAAGCGGC
+GTGCCGGAAGGTGACGTTCCGGGGCTGGTGAAGGGAAATACCTATCTGACGCCGCAGCAACAAACGGCAG
+AACTGACCGGACCGGTGAACAAAGCGATCATCGACACCGCGCAGTTTTTGAAAGAGCAGGGCAAAGTCCC
+GGCTGTAGCGAATGATTACAGCCAGTACGTTACCTCGCGCTTCGTGCAATAAAAGGAGGCGCAGATGCTG
+CAAATTTCTCATCTTTACGCCGATTATGGCGGCAAACCGGCACTGGAAGATATCAACCTGACGCTGGAAA
+GCGGCGAGCTTCTGGTAGTTCTGGGCCCGTCTGGCTGCGGCAAAACTACGTTGCTGAATTTGATTGCTGG
+TTTTGTGCCTTATCAGCATGGCAGCATTCAACTGGCGGGTAAGGGTATTCAGGGACCGGGAGCAGAGCGT
+GGCGTAGTTTTTCAGAATGAAGGGCTGTTACCGTGGCGCAATGTACAGGACAACGTGGCGTTCGGCCTGC
+AACTGGCAGGTGTAGAGAAAATGCAGCGACTGGAAATCGCACACCAGATGGTGAAAAAAGTCGGGCTGGA
+AGGCGCAGAAAAACGCTACATCTGGCAGCTTTCCGGTGGTCAACGTCAGCGGGTGGGGATTGCCCGCGCG
+TTGGCGGCAAATCCCCAGCTGTTATTACTCGACGAACCGTTTGGTGCGCTGGACGCCTTCACCCGCGACC
+AGATGCAAACCCTGCTGCTGAAACTCTGGCAGGAGACGGGAAAGCAGGTGCTGTTGATTACCCACGATAT
+AGAAGAAGCGGTGTTTATGGCGACTGAACTGGTTCTGCTTTCACCCGGCCCAGGCCGTGTGCTGGAGCGG
+CTGCCGCTCAACTTTGCTCGCCGCTTTGTTGCGGGAGAGTCGAGCCGCAGCATCAAGTCCGATCCACAAT
+TCATCGCCATGCGCGAATATGTTTTAAGCCGCGTATTTGAGCAACGGGAGGCGTTCTCATGAGTGTGCTC
+ATTAATGAAAAACTGCATTCGCATCGGCTGAAATGGCGCTGGCCGCTCTCGCGTCAGGTGACCTTAAGCA
+TTGGTACGTTAGCGGTTTTGCTCACTGTATGGTGGGCAGTCGCGGCGCTGCAACTGATTAGCCCGCTGTT
+TTTGCCGCCACCGCAACAGGTACTGGCAAAACTGCTCACCATTGCCGGGCCGCAGGGATTTATGGACGCC
+ACGCTGTGGCAGCATCTGGCAGCCAGCCTGACGCGCATTTTGCTGGCGCTACTCGCGGCGGTGTTGATCG
+GTATTCCGGTCGGGATCGCCATGGGGCTAAGCCCGACGGTGCGCGGCATTCTGGATCCGATAATCGAGCT
+TTATCGTCCGGTGCCGCCGCTGGCTTATTTGCCGCTGATGGTGATCTGGTTTGGTATTGGCGAAACCTCG
+AAGATCTTACTGATCTATCTAGCGATTTTTGCGCCGGTGGCGATGTCGGCGCTGGCGGGGGTGAAAAGCG
+CGCAGCAGGTTCGCATTCGTGCCGCCCAGTCGCTGGGTGCCAGCCGTGCGCAGGTGCTGTGGTTTGTCAT
+TTTGCCCGGCGCGCTGCCGGAAATCCTCACCGGATTACGCATTGGTCTGGGTGTGGGCTGGTCTACGCTG
+GTGGCGGCGGAGCTGATTGCCGCAACGCGCGGTTTAGGATTTATGGTTCAGTCAGCGGGTGAATTTCTCG
+CGACTGACGTGGTGCTGGCGGGGATCGCGGTGATTGCGATTATCGCCTTTCTTTTAGAACTGGGTCTGCG
+CGCGTTACAGCGCCGCCTGACGCCCTGGCATGGAGAAGTACAATGAGTGAACGTCTGAGTATTACCCCGC
+TGGGGCCGTATATTGGCGCACAAATTACGGGGGCCGACTTAACACGCCCGTTAAGCGATAATCAGTTTGA
+ACAGCTTTACCATGCGGTGCTGCGCCATCAGGTGGTGTTTCTGCGCGATCAAGCTATTACGCCGCAGCAG
+CAACGCGCGCTGGCCCAGCGTTTTGGCGAGCTGCATATTCACCCTGTTTACCCTCATGCTGAAGGGGTTG
+ACGAGATCATCGTCCTGGATACCCATAACGATAATCCGCCGGATAACGACAACTGGCACACCGATGTGAC
+ATTTATTCAAACGCCACCCGCAGGGGCGATTCTGGCGGCGAAAGAGTTACCCTCGACCGGCGGCGATACG
+CTCTGGGCCAGTGGTATTGCCGCATATGAGGCGCTCTCTGTTCCCTTCCGCCAGCTGTTGAGCGGGTTGC
+GTGCGGAGCATGATTTCCGTAAATCGTTCCCGGAATACAAGTACCGCAAAACCGAGGCTGAGCATCAACG
+CTGGCGTGAGGCGGTCGCGAAAAATCCACCGTTGCTACATCCGGTGGTGCGAACGCATCCGGTGACCGGT
+AAACAGGCGCTGTTTGTGAACGAAGGTTTTACCACACGAATTGTTGATGTCAGCGAGAAAGAGAGCGAAG
+CCTTGTTAGGTTTTTTGTTTGCCCATATCACTAAACCGGAGTTTCAGGTGCGCTGGCGCTGGCAACCGAA
+TGATATTGCGATTTGGGATAACCGCGTGACTCAGCACTATGCCAATGCGGATTACCTGCCACAGCGGCGG
+ATTATGCATCGGGCGACGATTCTTGGGGATATTCCGTTTTATCAGGCGGGGTAAGGGGGAAATGCCGGGT
+TGGATAACCCGGCATAATGATCATTAACGCAGAATCTTCTTCTCAGCCAAATCCAGCGCAAAGTAGCTGA
+AAATCAGATCCGCACCCGCACGCTTAATCGAACCTAAGCTTTCGAGCACGACTTTCTCTTCATCTATAGC
+ACCCGCCAGCGCGGCGAACTTAATCATCGCGTACTCACCGCTCACCTGATACGCGCCAATCGGCAATTCA
+GTACGTTCACGCAGCTCACGCACGATGTCGAGGTATGCTCCGGCAGGTTTAACCATCAGGCAGTCTGCGC
+CCTGGGCTTCATCCAGCAGTGACTCACGAATCGCCTCACGACGGTTCATTGGGTTCATCTGATAGCTTTT
+GCGGTCGCCTTTTAATGCGCTTCCGGCAGCTTCACGGAACGGGCCATAAAAGGAGGAGGCGAACTTGGTC
+GAATACGACATAATCGCTGTATCTTTAAAGCCCGCAGCGTCCAGCGCCTGGCGAATCGCCTGTACCTGAC
+CATCCATCGCGGCAGAAGGGGCGATGAAGTCTGCGCCTGCAGCAGCTGCAACCACAGCTTGCTTGCCTAA
+ATTTTCCAGAGTCGCGTCGTTGTCGACGCCATGCTCGCACAGAACACCGCAGTGACCGTGAGATGTGTAT
+TCACAGAAGCAGGTGTCTGACATAACGATCATTTCTGGCACGGTCTGCTTGCAGATGCGCGACATACGCG
+CCACCAGTCCATCTTCCCGCCAGGCATCGCTGCCAGTTTCATCGGTATGGTGAGAGATGCCGAAAGTCAT
+CACGGAACGAATACCGGCGTTGGCGATGCGTTCAATTTCACGTGCCAGATGTTTTTCTGGAATGCGCATC
+ACGCCTGGCATGGCTTCAACGGCTTTGTAGTCGTCAATTTCTTCTTCAACAAAGATCGGCAACACCAGGT
+CGTTAAGGCTAAGTGTTGTCTCTTCAAACATAGCGCGCAGCGCAGGAGATTTGCGCAGGCGACGAGGGCG
+TTGGATTAAATCTGTCATGGTCTGCCTGATGTTTGTGGAATCGAGGAGCATAGTATACCTGAAGCAGGCT
+GGGTGTGTTTTACGAAAGTTGTCGCGATGTTGACAAAAAGAGAATGAAAAAGAGGTCAGGACATCTTTGT
+AATAGAAATAGCAATAATTTCATATTCACTGAAAATATTTTTAATTTTTATTTATAGCCATAGATTATTG
+TTTTTGGGGATTTGGTGACGTTTCCAAAAAGTGAATAGCTTAAAGTTCATTGCTTATTGATACATTATTT
+GTCTGTTTTTGTTGTTTTATATTTTCATGGCCTATGTTTTAAAATTAACGCTTTCATTAACGTATTGAAA
+TATTGTGTTTTTGTTATTTCTTTCTTTGTGTGTGTTCACGTGCTTTATATATGTCCGCAATCGGACTTAG
+GGGAAAGAATAATTGAACCATTCCTCTATAACGCCGCATAATCGTAAGCGCGAAACATAATATGTTTTCT
+ATGCATTGATAATTGATGGATCAACTTATTACGTCCCTGAGGAGGGATGACAAATGCACTCCTGGAAAAA
+GAAACTTGTAGTATCACAATTAGCATTGGCTTGCACTCTGGCTATCACCTCTCAGGCTAATGCAGCAAAC
+TATGATACCTGGGGGTATCATGACAACACCACGACCGATTTAGTTTGGCCGTATGACACTGACAATGATG
+GAATTGCCGATGCTGGCGGCATGGACCCGATGGGTTCAGACGGTAACTACGTAACTTACAATGGTTTTGT
+TTACTATAACAATGCCAATGGCGATTTCGATACTGTCTTTAAAGGCGATACCGTTAACGGTACCATTTCT
+ACTTATTACTTGAATCATGATTACGCTAGCGGTTCTGTTAACCAGGTAGATATCAGCAATTCAGTAATTC
+ATGGGGCAATCACCTCTGAACTGCCATTTGGTTATTACAGCATTACTCCTGCAGAAGTTAATGCTAAAGG
+TGAAGTTGTAACTCCACAGACCTATAATGGCTATAATTTCTATAACGGAATCACTACTGACCTTGACTAC
+AATTGGTACGATGGTGACGTATTCACTCTGAACGTATCCAATTCCACCATTGATGATGACTATGAAGCTC
+TTTACTTCACTGACACATATCTTGATGGTGATAAATCTAAGTCAACCAATGAAACGTTCTATACCGCTCT
+GGGTGTTGCAGTAAATCTTGATGTTGAAAGCAATATCAATATTACTAACAACTCCCGTGTAGCTGGTATT
+GCGCTGTCTGAAGGCAATACAAGCAACACGACTTATACTAGCGAATATCATCAGTGGGACAACAACATTA
+ATGTGTCTAACTCCACTGTAACTTCAGGGTCACAGACTCCGCTGGAAGAAAGCAATGGCTTCTTCGGTAA
+ATCTGCTGAACCAAGTGATTACGCTGGTAATGGTGGCGAAAATGACGTAGCTCTGTCATTCTCTGACAAT
+GCTGGCTCAAATTATTCCATGAAAAACAATGTAAACTTTGACCATTCAACCCTGTTGGGTGATGTCGAGT
+TCACAAGCCACTGGAATAACGATGGCGTATTCTTCTATTCAACCGGCCATGACAGCAATGGTGACGGTGT
+CCTTGATACCAACGGTGGTTGGGTAGATGATGCTCAGAACGTTGATGAACTGAACATTACTCTGAACAAC
+GGTAGTAAGTGGGTTGGCTCAGCAAACATGAGTGCTGAAGTAATTGCTCCGGCAGATATGTATGATGTTG
+CGCCGAACAGCTTGACCCCTGGTGCCACTATCGAAGCTAACGATTGGGGTCGTATTATTGACAACAAGGT
+ATTCCAGAGCGGCGTATTTAACGTAGCACTGAACAATGGTTCAGAATGGAATACCGTTAATAGTTCAGTA
+ATTGATACATTAGCTGTAAATAATGGCTCTCAGGTAAATGTTACTGATTCCTCTCTGGTCTCAGATACCA
+TTGGTTTAACCAACGGCTCCTCACTGAATATTGGTGAAGATGTTTTGGTTGCTACAGACCACCTGACTGT
+TGATAGCTACAGTACCGTTAATTTAACCGAATCTACTGGCTGGAATAACTATTCTAACCTGTATGCCAAT
+ACCATCACCGTAACTAACGGTGGTGTACTGGATGTGAACGTTGATCAGTTTGATACTGAAGCTTTCCGTA
+CTGACAAACTGGAACTGACTAGCGGCAACATCGCTGACCACAACGGCAATGTAGTTTCTGGTGTGTTCGA
+TATCAACAGCAGCGATTATGTTCTGAACGCTGACCTGGTGAACGACCGTACTTGGGATACCGCTCAGGCT
+AACTACGGCTACGGTGTTGTTGCTATGAACTCTGATGGTCATCTGACTATCAACGGTAACGGCGACGTAG
+ACAACGGTACTGAACTGGATAACAGTTCTGTAGACAACGTTGTTGCGGCAACCGGTAACTACAAAGTTCG
+TATCGACAACGCAACTGGCGCTGGCGCAATCGCTGATTACAAAGATAAAGAAATTATCTATGTAAACGAC
+GTCAACAGCAACGCGACCTTCTCTGCTGCTAACAAAGCTGACCTGGGTGCATACACCTATCAGGCTGAGC
+AGCGTGGTAACACCGTTGTTCTGCAACAGATGGAGCTGACCGACTACGCTAACATGGCGCTGAGCATCCC
+GTCTGCGAACACCAATATCTGGAACCTGGAACAAGACACCGTTGGTACTCGTCTGACCAACTCTCGTCAT
+GGTCTGGCTGATAACGGCGGCGCATGGGTAAGCTACTTCGGTGGTAACTTCAACGGCGACAACGGCACCA
+TCAACTATGATCAGGATGTTAACGGCATCATGGTCGGTGTTGATACCAAAATTGACGGTAACAACGCTAA
+GTGGATCGTCGGTGCGGCTGCAGGCTTCGCTAAAGGTGATATGAATGACCGTTCTGGTCAGGTGGATCAA
+GACAGCCAGACTGCCTACATCTACTCTTCTGCTCACTTCGCGAACAACGTCTTTGTTGACGGTAGCTTGA
+GCTACTCTCACTTCAACAACGACCTGTCTGCAACCATGAGCAACGGTACTTACGTTGACGGCAGCACCAA
+CTCCGACGCTTGGGGCTTTGGTTTGAAAGCCGGTTACGACTTCAAACTGGGTGATGCAGGTTACGTGACT
+CCTTACGGCAGCGTTTCTGGTCTGTTCCAGTCTGGTGATGATTACCAGCTGAGCAACGACATGAAAGTTG
+ATGGTCAGTCTTACGACAGCATGCGTTATGAACTGGGTGTAGATGCAGGTTATACCTTCACCTACAGCGA
+AGACCAGGCTCTGACTCCGTACTTCAAACTGGCTTACGTCTACGACGACTCTAACAACGATAACGATGTG
+AACGGTGATTCCATCGATAACGGTACTGAAGGGTCTGCGGTACGTGTTGGTCTGGGTACTCAGTTCAGCT
+TCACCAAGAACTTCAGCGCCTATACCGATGCTAACTACCTCGGTGGTGGTGACGTAGATCAAGACTGGTC
+CGCGAATGTGGGTGTTAAATATACCTGGTAATATTCTTCACTCCGAAGAAATAGGTAATTTAATCTAAAT
+AATGCCCGTCAAGGATTTGACGGGCATTACTGCAAAGGACGCGCAAATGTTATCTGTAGTTAAACCTCTT
+CAGGAATTTGGTAAGCTCGATAAATGTTTGTCCAGAAACGGTACGCGCTTCGAGTTTAATAATGAAAAGC
+AAGTTATATTTTCCAGTGATGTCAATAGCGAAGATACTTTCGTTATTTTAGAGGGCGTTATCTCTTTGCG
+TAGAGAAGAAAACGTACTTATCGGTATTACACAGGCTCCTTATATTATGGGGCTGGCTGATGGTTTAATG
+AAAAACGATATACCATACAAATTAATATCAGAAGGAAACTGTACGGGATATCATTTGCCAGCCAAACAAA
+CCATTACTCTTATTGAACAAAATCAACTCTGGCGAGACGCTTTTTACTGGTTAGCCTGGCAAAATAGAAT
+TCTGGAATTACGCGACGTTCAGCTCATTGGGCATAATTCCTACGAACAAATCCGCGCGACGTTATTATCA
+ATGATTGACTGGAATGAAGAATTGCGATCACGTATTGGCGTGATGAATTATATCCATCAACGTACACGTA
+TATCGCGTTCTGTCGTTGCGGAAGTTCTCGCTGCTTTGCGTAAAGGCGGCTATATCGAAATGAATAAAGG
+CAAACTGGTCGCTATCAACCGTTTGCCTTCAGAGTATTAATCAGGATGCGGGGATAACCAACGGTTTATT
+CCCGCTTAGCTCGGTCACCAGGTCATTGATGCCATCGCTCATATTTTTAAAGCGCGTCAACGGCGAACGA
+GTGACCACCACAAACGCGCCAATATTCTTCTGCGGGATCATCGCCATATAGGTAATGAAACCGCCACCAC
+CACCTGTCTTCTGAATAATCCCCGGACGACCCTCTTTCGGGGCCATATATACCCAGCCTAAACCAAGCGC
+ATCCGCTTTGCCGGGGACATCCATGCCAATCACTTTTGTAAACTGCGCGCGCTGATAAATCAACGTCTGC
+ATGCGATCAGCCTGGTTACTGCGCTGATAAAAATCAGATGACAAATACTGCTGCATCCAGCGCATCATAT
+CGCCTGGCGTGGAATAGACGCCGCCGCTGCCAATTGCCGCCAGCGTGTTATTGCACGGACTGGCACCGCG
+CTCAGCAACCATTAAACGGCGGCACTGATCCGGTGAGGGGGTGTAGGTGGTGTCTTTCATCCCCAACGGA
+CGGGTAATCTGCTCTTCAAACAACTGGGTATAAGGCTTGCCGGACGCATTCGCCAGTGCATCTGCCAGCA
+GATCGAATGCGAGGTTGGAGTACGCGGCCTGGCTGCCCGGCGCGGCTTTTAGTTTGGCAGTGGAAAGGTA
+TTTCCAGCGTTGCTCGCGCGTTGGCCAGACAAATACCGGACGATGTGCCGCGCCACCGGGCTGTTCACGG
+GGCAGGGCGCTGGTATGGGTTGCCAGATTCACCAGCGTAATGGGCGTCCCATTGTAGGTCGGTACGCGTG
+CGCCTGGCGGAGCATATTTACTTAGCGGATCGTTTAACTTCACGGTCCCCTGGTCGAGCAATTTCACCAG
+CATCTCACTGGTCATTAACTTGGTGAGGGAAGCAATACGTATGACGGAATCCAGCTGCGGGCGAACGTTA
+TTACCAGGTCGCGTTTCGCCATAACTGCGAAAGACGCGCTGGTTACCGTCGATAACAACCAGCGCCATCC
+CCGTGGCACCGCTGCCGTAAAAAATATGATCGGCATAACGATCGACAATATCAGAGGCAAACTCCGGTTC
+AGTGATCGGCTGAGCCGCATGGACGGAGGTCAATGACGCCGCATACAGCACGGCAGAAAAAAGCAGACTA
+CGTTTCAACGGTGGTGTCCATAGATTGAATGAAGGTAACTGAGCGTATTTATACTACTCATTGATGGATT
+GCAAAGGGCGAATTAGTGCAATAATAGTGTTAAAAACGTAACGGCGCGTAAACACGATCTTTTTCCTGCT
+CACCAATGCCTGCATTTGTGATCCTGCGCGTGTTAATCCGCTTATGTAAACAATCTTTGGTTTGTGAAAC
+CCGTCGAAACAATTCTTATGGTCAGGCTGGCGAACTAAGCGCCTTGCTATGGGTCACAATGGGCAGTTTC
+ATTTGGCTGACGCTTTGTAGCGGTCATGCGGTTAATACACAGCAGTTGTTAAAACGATAAGAAGTTAGCA
+GGAGTGCATATGTTTAAGTCTTTTTTCCCAAAGCCGGGAACGTTTTTTCTCTCGGCCTTTGTTTGGGCAT
+TGATTGCCGTTATCTTCTGGCAAGCCGGTGGGGGTGATTGGGTGGCGCGTATCACCGGCGCTTCCGGGCA
+GATCCCGATTAGCGCCGCGCGTTTCTGGTCGTTGGATTTCCTGATTTTTTACGCTTACTACATTGTTTGC
+GTAGGACTTTTTGCATTTTTCTGGTTTATCTATAGCCCGCACCGTTGGCAATACTGGTCAATACTCGGTA
+CTGCGCTGATTATCTTCGTCACCTGGTTTTTGGTGGAAGTCGGGGTTGCCGTCAACGCCTGGTATGCGCC
+GTTCTATGATCTGATTCAAACGGCGCTAAGTTCGCCGCATAAAGTCACCATCGAACAATTTTACCGCGAA
+GTGGGCGTCTTTCTGGGGATTGCGCTGATCGCGGTGGTGATCAGTGTGCTGAACAACTTCTTTGTCAGTC
+ACTACGTGTTCCGCTGGCGTACGGCGATGAACGAATATTACATGGCGAACTGGCAACAACTGCGTCATAT
+CGAAGGGGCCGCGCAGCGTGTGCAGGAAGACACCATGCGTTTTGCTTCAACGCTGGAGAATATGGGCGTC
+AGCTTTATCAACGCTATCATGACGTTGATCGCCTTCCTGCCGGTGCTGGTAACGCTCTCCGCACATGTGC
+CGGAGCTGCCGATTGTCGGGCACATTCCGTATGGTCTGGTGATTGCCGCTATCGTCTGGTCGCTGATGGG
+GACCGGATTACTGGCAGTGGTAGGGATCAAACTGCCGGGGCTGGAGTTTAAAAACCAGCGTGTAGAGGCT
+GCCTACCGTAAAGAGCTGGTTTATGGTGAAGACGATGCCACGCGCGCGACGCCGCCTACGGTACGCGAGC
+TTTTTAGCGCCGTACGGAAAAACTATTTCCGCCTCTATTTTCACTATATGTATTTCAATATCGCCCGCAT
+TCTCTATTTGCAGGTCGATAACGTTTTCGGTTTGTTCTTGCTGTTTCCGTCAATTGTTGCCGGTACGATT
+ACACTCGGCCTGATGACGCAGATTACTAACGTTTTTGGTCAGGTTCGCGGTGCTTTCCAGTACCTGATTA
+ACTCATGGACCACACTGGTTGAGTTGATGTCTATCTACAAACGTCTGCGCAGCTTTGAACATGAGCTGGA
+TGGTGACAAAATTCAGGAAGTAACCCATACCTTGAGCTAAAAAGGAGAAGTAATGTCGCGCGTCAATCCT
+CTATCTTCGCTGTCATTGTTGGCGGTTCTGGTTTTAGCGGGGTGTAGTAGTCAGGCTCCGCAACCGTTGA
+AAAAGGGCGAAAAAGCGATAGATGTGGCGAGCGTCGTGCGGCAGAAGATGCCTGCGAGCGTGAAAGACCG
+CGATGCCTGGGCGAAAGATCTCGCCACCACCTTTGAAAGTCAGGGGCTGGCACCGACGCTGGAAAACGTC
+TGCTCGGTGCTGGCGGTGGCGCAGCAGGAGTCAAATTATCAGGCAGATCCGGCCGTTCCGGGCTTAAGCA
+AGATCGCATGGCAAGAGATTGACCGTCGTGCTGAACGGATGCACATTCCTGCTTTTCTGGTGCATACCGC
+GCTAAAAATCAAATCGCCAAACGGCAAAAGCTATAGCGAACGGTTAGATTCGGTGCGTACAGAAAAGCAA
+TTGAGCGCGATTTTTGACGATCTGATCAGCATGGTGCCAATGGGGCAGACGCTGTTTGGTTCGCTCAATC
+CGGTGCGCACCGGTGGGCCGATGCAGGTCAGTATTGCTTTTGCCGAACAGCATACCAAAGGGTATCCGTG
+GAAAATGGACGGTACAGTCCGTCAGGAAGTCTTCAGTCGCCGCGGCGGGTTGTGGTTTGGTACTTACCAT
+TTACTGAATTATCCCGCCAGCTATAGCGCGCCGATATACCGTTTTGCTGATTTTAACGCTGGCTGGTACG
+CCAGCCGTAATGCCGCGTTTCAGAACGCGGTCAGTAAGGCCAGCGGCGTGAAGCTGGCACTGGACGGTGA
+TTTAATTCGTTACGACAGTAAAGAGCCCGGGAAAACCGAACTGGCAACGCGCAAACTGGCGGGAAAACTG
+GGGATGAGCGACAGCGAAATTCGCCGTCAGTTAGAGAAAGGGGACAGCTTCTCTTTTGAGGAGACGGCGC
+TGTACAAGAAAGTTTATCAACTTGCCGAAGCGAAAACGGGTAAATCACTACCCCGCGAAATGTTGCCTGG
+CATTCAACTGGAAAGCCCGAAAATCACCCGCAACCTGACTACGGCCTGGTTTGCGAAGCGCGTAGACGAA
+CGGCGGGCGCGTTGTATGAAACAGTGATCAAACAGGAATGTCACGCCAGATAAGGCGTTTTAGGCCGCAT
+CTGGCAACGTAAATCTTACTGGCGGCGATGTCGCCAGTGCAGCCATAGCGCCACTACTGCAAAAATGAGG
+CAGCCTACTAAAAACGGGATCAGCCCAAAAATGGTGCCGACACCTAAACCAATTTCCACCCGTGGGCGAC
+CTGTTTCCTGGACCTGCATTAAATGCTCATAGACGCCGGGCGCATGCACTAGCAGGTTCAGCAATTGCGC
+CCCAGCCCAAAAGCAAAACAGCACAAACAACGCATAGGCAATATTGCCAGGCGTTGAAGAGGCATTGCGA
+TATTTTCCGCTAAACAGCGATTTTGACAGGGTGAAATCAGCCATAAAAACCTCCGGAAGTCATCTGCTTC
+TCTTCTGGTGTGATACCAGCGGCTTATGGCAAGTCTGACAGGTCATTTAGATTGTCAATATCAGAATCAT
+GGTAAATTGATGTTGGGAATATTCCCGAAGCGTGAATCTTCGTTGTGAGTCACAAAATAGCAACCTTAAG
+TTAAATTTATTAACAATTGCGAAAGTGTTGTCTACACCACAGACAGTTGTTACAGAATATGCAAGGATGT
+TGTTTTGCGTTAACGGAGCTGCCATGAATCTGCCTGTAAAAATCCGCCGTGACTGGCACTACTATGCGTT
+CGCCATTGGCCTTATATTCATTCTTAATGGCGTGGTGGGGTTACTGGGATTTGAAGCAAAAGGTTGGCAG
+ACCTATGCCGTCGGTCTGGTGACGTGGGTGATTAGTTTCTGGCTGGCGGGATTGATTATTCGTCGTCGCG
+ATGAAGAAACTGAAAACGCCCAATAAGAATATTACCGGGCGTTTGAATATTACATTGTGGTTTTCAGTGC
+GTTATCCGCAGCGTGACGCTCCAGCGCCAGCTCAATCAAACGCGTGATCAGGTCGGTGTAACCCAGACCG
+CTGGCTTGCCACAGCTTCGGATACATACTGATGTTGGTGAAGCCAGGCAGGGTGTTGATCTCGTTGATCA
+CCACTTCGTTCTCTGGGGTTAAAAACACGTCTACACGCGCCATGCCTGCGCATCCCAACGTCTGATAAGC
+CTGAACGGCAATCGCCCGGATCTTATCGTTGATTTCTGGCGCAATGGCTGCCGGAACTACCACTTTCGCG
+CCATCTTCGTCAATGTACTTGGTGTCGTAGGCATAGAAATCGCTGGTGAGTACGATCTCGCCACAGGTGC
+TTGCTTGCGGGTTATCGTTGCCAAGAACTGCGCATTCGATTTCACGACCTTTGATCCCTTGCTCAACGAT
+CACTTTATGATCGAACTCGAACGCCAGATCGACGGCAATTGTGTACTGTTCTTCACTGGTTACTTTGCTG
+ACACCAACAGAAGAGCCCTGATTAGCCGGTTTTACAAACAGCGGTAACCCCAGTTTAGACTCCACTTCGG
+CAAAACTGATGTTGTGACGATTAGCGCGCGTCAGGGTAATAAATGGCGCAATGTTCAGCCCGGCATCGCG
+CAGCAGACGTTTGGTGACATCTTTATCCATACAGGCCGCTGAAGCCAGAACATCAGAACCTACAAACGGT
+AAATTGGCGACCCGCAGCATTCCCTGCAAGGAACCATCTTCGCCCAGCGTACCGTGGACAATCGGGAAAA
+TGACATCCACCGTCGGCAACGGCTGACCGTTTTGTGCGTCGATAAGCTGATGCTCATGTTTACCTGGCAC
+CTGCGCAAGGCTGGTCGCCGAAGGGCGCAACGCAATATGGGCAGGATCGTCTGCATTTAGCAGATAATTG
+CTGGCATCGCTGACGTGCCATTGCCCTTGTTTATCAATGCCCAGCAGCACAACATCGAAGCGACTTTTAT
+CAATGGCATCGACAATGTTTTTTGCCGATTGCAGAGACACTTCATGTTCCGCTGATTTACCACCAAAAAC
+GATTCCTACCCGCAGTTTTTCCATCTTAAAAACCTATCCCGTCTAACACAAAGTGCATACATTACCACGA
+CAAAACGGGGGATTCGCGGCCTTCTGACAGAATGTTGCAATCTTCTGCTGACAAAGCGAGCAACGTACTG
+GTGAAGAAAGTGCGTTATCTCAAAGATGTGTGCAAGATCACAAAAATGATGAACGGGAAGCTAATTTATT
+CCTGGCTTAAATGACCATGTGGTGAGTTTTTTTCTCTTAATTATAAGATAACGAAGAGAATATATTTCAT
+AACTTTTATTTATAATAAAGGTTGATAATTAAAGACCTATATTTTATGTGGGTAATTATTTAAATAAGAG
+AAACGTTTCGCTGGTAATCAAACAAAAAATATTTGCGCAAAGTATTTCCTTTGTCATAAAAATAATACTT
+CCAGACACTATGAAGTTGTGAAACATAATGTTAACTTCTCCATACTTTGGATAAGGAAATACAGACATGA
+AAAATCTCATTGCTGAGTTGTTATTTAAGCTTGCCCAAAAAGAAGAAGAGTCGAAAGAACTGTGTGCGCA
+GGTAGAAGCTTTGGAGATTATCGTCACGGCAATGCTTCGCAATATGGCGCAAAATGATCAACAGCGGTTG
+ATTGATCAGGTAGAGGGGGCGCTGTACGAGGTAAAGCCCGATGCCAGCATTCCTGACGACGATACGGAGC
+TGCTGCGCGATTACGTAAAGAAGTTATTGAGGCATCCTCGTCAGTAAAAAGTTAATCTTTTCAACAGCTG
+TCATAAAGTTGTCACGGCCGAGACTTATAGTCGCTTTGTTTTTATTTTTTAATGTATTTGTACATGGAGA
+AAATAAAGTGAAACAAAGCACTATTGCACTGGCACTCTTACCGTTACTGTTTACCCCCGTGACAAAAGCC
+CGGACACCAGAAATGCCTGTTCTGGAAAACCGGGCTGCTCAGGGCGATATTACTGCACCCGGTGGTGCTC
+GCCGCTTAACGGGTGATCAGACCGCCGCTCTGCGTGATTCTCTTAGCGATAAACCTGCAAAAAATATTAT
+TTTGCTGATTGGCGATGGGATGGGGGACTCGGAAATTACTGCCGCACGCAATTATGCCGAAGGTGCGGGC
+GGTTTTTTTAAAGGTATTGATGCCTTACCGCTTACCGGGCAATACACTCACTATGCGCTGAATAAAAAAA
+CCGGCAAACCGGACTACGTCACCGACTCGGCTGCATCAGCAACCGCCTGGTCAACAGGTGTCAAAACCTA
+TAATGGCGCGCTGGGCGTCGATATTCACAAAAAAGATCACCCAACGATTCTGGAAATGGCAAAAGCCGCA
+GGTCTGGCGACCGGTAACGTTTCTACCGCAGAGTTGCAGGATGCCACGCCCGCTGCGCTGGTGGCGCATG
+TGACCTCGCGCAAATGCTACGGTCCGAGTGCGACCAGTGAAAAATGTCCGGGTAACGCTCTGGAAAAAGG
+CGGAAAAGGATCGATTACCGAACAGCTGCTTAACGCCCGTGCCGATGTTACGCTTGGCGGCGGCGCAAAA
+ACCTTTGCTGAAACGGCAACCGCCGGTGAATGGCAGGGAAAAACGCTGCGTGAACAGGCACAGGCGCGTG
+GTTATCAGTTGGTGAGCGATGCTGCCTCACTGAATTCGGTGACGGAAGCGAATCAGCAAAAACCCCTATT
+AGGACTGTTTGCTGACGGCAATATGCCAGTGCGCTGGCAAGGACCGAAAGCAGCATACCACGGTAATATA
+GATAAGCCCGCAGTCACCTGTACGCCTAATCCGCAACGTAATGACAGTGTACCGACCCTGGCGCAGATGA
+CCGACAAAGCCATTGAATTGTTGAGTAAAAATGAGAAAGGCTTTTTCCTGCAAGTTGAAGGTGCGTCAAT
+CGATAAACAGGATCACGCTGCGAATCCTTGTGGGCAAATTGGCGAGACGGTCGATCTCGATGAAGCCGTA
+CAACGGGCGCTGGAATTCGCTAAAAAGGATGGTAACACGTTGGTCATAGTCACCGCTGATCACGCCCATG
+CCAGCCAGATAGTTGCGCCAGATACCAAAGCTCCGGGCCTCACCCAGGCGCTAAATACCAAAGATGGCGC
+AGTGATGGTGATGAGTTACGGGAACTCCGAAGAGGATTCACAAGAACATACCGGCAGTCAGTTGCGTATT
+GCGGCGTATGGCCCGCATGCCGCCAATGTTGTTGGACTGACCGACCAGACCGATCTCTTCTACACCATGA
+AAGCCGCCCTGGGGCTGAAATAAAACCGCGCCCGGCAGTGAATTTTCGCTGCCGGGTGGTTTTTTTGCTG
+TTAGCAACCAGACTTAATGACAGATCACGGGCGCATACGCTCATGGTTAAAACATGAAGAGGGATGGTGC
+GATGAAAATTACATTACTGGTTACCTTGCTTTTCGGTCTGGTTTTTTTAACCACCGTCGGCGCTGCCGAG
+AGAACCTTAACCCCACAACAACAGCGTATGACCTCTTGTAATCAGCAGGCGACGGCGCAGGCGTTGAAAG
+GGGATGCTCGTAAGACCTACATGAGTGATTGCCTGAAGAATAGCAAGTCTGCGCCTGGTGAAAAAAGTTT
+GACGCCACAGCAGCAAAAGATGCGCGAATGTAATAATCAAGCAACACAACAATCTCTGAAAGGGGATGAT
+CGTAATAAGTTTATGAGTGCCTGCCTCAAGAAAGCCGCCTGATACCTGATAGTGCTAACGGGTGAGCTAC
+GAAAATGGCTCACCCGAAATTTCATACTTCTGCCTTTAGCCCCGTCTCTATAATTTGGGAAAATTGTTTC
+TGAATGTTCCCAAAAATAATGAATGATGAAAACTTTTTCAAAAAAGCGGCGGCGCATGGGGAGGAACCTC
+CTTTAACTCCTCAAAACGAACATCAGCGGTCCGGGCTGCGCTTTGCCCGTCGCGTCAGACTACCCCGCGC
+GGTTGGCCTGGCTGGCATGTTCTTACCGATTGCTTCAACGCTGGTTTCGCATCCGTCGCCGGGCTGGTGG
+TGGCTGTTGTTGGTCGGCTGGGCGTTCGTCTGGCCGCATTTAGCCTGGCAAATAGCGAGCAGGGCCGTCG
+ATCCGCTTAGCCGGGAAATTTACAACTTAAAAACCGATGCAGTATTAGCGGGAATGTGGGTAGGCGTAAT
+GGGCGTAAACGCACTGCCTTCCACCGCGATGTTGATGATTATGTGTCTGAATTTGATGGGGGCAGGCGGC
+CCCCGTCTGTTTGTCGCGGGTCTGGTGTTGATGGTGGTCTCCTGCCTTGTCACCCTCGAACTGACGGGCA
+TCACCGTGTCGTTCAATAGTGCGCCGCTGGAATGGTGGCTCTCCCTTCCCATTATCGTCATTTATCCTCT
+GCTGTTTGGCTGGGTCAGCTACCAGACGGCGACTAAACTGGCGGAACATAAACGCAGGTTGCAGGTCATG
+AGTACCCGCGACGGTATGACGGGCGTGTATAACCGACGTCATTGGGAAACTATGTTACGCAATGAATTTG
+ATAACTGTCGGCGGCATAACCGCGATGCGACATTACTGATTATCGATATCGACCATTTCAAGAGCATCAA
+CGATACCTGGGGCCATGATGTGGGTGATGAAGCGATTGTGGCGCTTACCCGACAGTTACAAATTACCCTA
+CGCGGTAGCGATGTGATTGGTCGGTTTGGCGGCGATGAGTTTGCAGTAATCATGTCCGGTACGCCAGCTG
+AGAGCGCCATCACCGCCATGTTACGGGTGCATGAAGGGCTAAACACGTTACGCTTGCCGAATACGCCACA
+GGTAACTTTACGGATTAGTGTGGGGGTTGCGCCGCTGAATCCACAAATGAGTCACTATCGCGAGTGGTTG
+AAATCGGCAGATTTGGCGCTCTACAAAGCAAAGAAAGCCGGACGTAACCGCACCGAAGTGGCGGCCTGAC
+GTCCGGCAAAAGCCATCAGGATTTGCTGAGTTTTTCTGATTTTTCCATACACTTCGTCATCGCTTCGATC
+ACTGCGGCACGGAAGCCTTTCTCTTCCAGTACGCGTACCGCCTCAATGGTGGTGCCTCCCGGTGAGCAGA
+CCATATCTTTCAGTGTCCCCGGATGTTCTCCCGTTTCCAGCACCATTTTTGCGGAGCCCATTACCGCCTG
+AGCGGCAAATTTATACGCCTGGGCGCGTGGCATCCCGCCCAGCACGGCGGCGTCGGCCATCGCTTCGATA
+AACATAAAGACGTAGGCTGGCGAAGAACCGCTCACACCGACCACCGGGTGGATCATCGGCTCAGCAATCA
+CTTCCGCTTCGCCAAAGCAGCGGAAAATATTCAGCACATCAGCGGTATCTTCTGGGGTTACCAGCGCGTT
+TGGCGTTACGGAGGTCATCCCGGCATTAACCAGCGCGGGAGTGTTCGGCATGGCGCGGATAATTTTCCGG
+TCATGGCCCAGCGCGCGGGCAAGCTGGTCGAGCGTGATACCCGCAGCAATAGAAACGACCAGAGAGTCTT
+TATTCAGGCTGGAGGTGATTTCGCTAAGCACTTTAATCATGATGCCTGGTTTAACGGCGGCAAAAATGAT
+GTCGGCGATTTGCGCTACTTCTTGCGCCGATTCTGCGGCGTTGATGCCGAACTGGTCATGCAGGGCGGTG
+ACTTTATCCGGGGAGGGGGTATATACCCAGATTTGCCCTGGAAGCACCTGACCGCTGGCAATCAGACCGC
+CGAGAATGGCTTTTCCCATATTGCCGCAGCCAATAAAACCGATTTTCTTTTCCATTGCCTCACTCCTGCC
+GTGAAATTCATTGTTTTGATAATCGCTGGCAGAAGCATAAACAGAACTATGCCGGAAGGCAAAAGCGCGA
+CACAATAGAGGATTACCCAACAAAGGATGACTTTATGACAATTTGGGTGGATGCCGACGCGTGTCCCAAT
+GTAATTAAAGAGATTTTGTATCGCGCGGCGGAACGTATGCAGATGCCGCTGGTACTGGTAGCAAACCAGA
+GTTTACGCGTGCCACCATCACGATTTATTCGTACGCTGCGCGTCGCGGCAGGTTTCGACGTTGCCGATAA
+CGAAATTGTTCGGCAGTGTGAAGCGGGCGATTTGGTGATCACCGCAGATATACCTTTGGCTGCTGAAGCC
+ATCGAGAAAGGCGCGGCGGCGCTTAATCCTCGCGGCGAACGTTACACGCCAGCGACCATTCGTGAGCGCC
+TGACGATGCGCGATTTTATGGATACCTTACGTGCCAGTGGGATCCAGACCGGAGGACCAGATAGTCTTTC
+ACAACGTGACCGCCAGGCCTTTGCTGCGGAGCTGGAGAAGTGGTGGCTGGAAGTGCAACGTAGTCGTGGC
+TAAATGTAATTTATTATTTACACTTCATTCTTGAATATTTATTGGTATAGTAAGGGATGTATTGAGATTT
+CCACCTTAAGTGGAATTTTTTCTTTACAATCGAAATTGTACTAGTTTGATGGTATGATCGCTATTCTCAT
+GACACCGGCTTTCGCCGCATTGCGACCTATTGGGGAAAACCCACGATGACACAACCTCTTTTTCTGATCG
+GGCCTCGGGGCTGTGGTAAAACAACGGTCGGAATGGCCCTTGCCGATTCGCTTAACCGTCGGTTTGTCGA
+TACCGACCAGTGGTTGCAATCACAGCTCAATATGACGGTCGCGGAGATCGTCGAAAGGGAAGAGTGGGCG
+GGATTCCGCGCCAGAGAAACGGCGGCGCTGGAAGCGGTAACTGCGCCATCCACCGTTATCGCTACAGGCG
+GCGGCATTATTCTGACGGAATTTAATCGTCACTTCATGCAAAATAACGGGATCGTGGTTTATTTGTGTGC
+GCCAGTATCAGTCCTGGTTAACCGACTGCAAGCTGCACCGGAAGAAGATTTACGGCCAACCTTAACGGGA
+AAACCACTGAGCGAAGAAGTTCAGGAAGTGCTGGAAGAACGCGATGCGCTATATCGCGAAGTTGCGCATA
+TTATCATCGACGCAACAAACGAACCCAGCCAGGTGATTTCTGAAATTCGCAGCGCTCTGGCACAGACGAT
+CAATTGTTGATTTTCGAGCGCCTATACTTAACGTTCATCCCGTGAAATAAGGAAGAACGATGCCAACGAA
+ACCGCCTTATCCTCGTGAAGCATATATAGTGACGATTGATAAAGGAAAGCCAGGACAGACGGTAACCTGG
+TACCAACTCAGAGCCGATCATCCTAAACCAGACTCGTTGATCAGTGAACATCCGACCGCTCAGGAAGCGA
+TGGATGCGAAAAAACGCTATGAGGACCCTGACAAAGAGTGACCGCATCAGACTGCTCGGAAGGGATTCTG
+AGTGCCGCCACAAGGGATCTGCGTCACATTTTTCACAATTCATGTTTTTCAAATAATTAGAATATTAAAC
+AATAACAATCCATTACTGGAATCATTTGGAATCTTTACATTATGCAGTGCAGGTCTGCTGCTACGCTTTT
+TGTCATTTGTAGCACAAGTAAGTGTCAGCAGTGGTGCTTAACACTTGCCCGGTAATTAACGACGAAATAA
+AAGTAAGGTGGAAGAACAATGAGTGCGTCGTTGGCGATCCTGACTATCGGCATTGTACCTATGCAGGAAG
+TTTTGCCGCTCCTGACAGAATACATTGACGAAGATAATATTTCCCATCATAGCCTGCTGGGGAAGTTAAG
+CCGCGAAGAAGTGATGGCGGAGTACGCGCCAGAAGCAGGCGAAGACACAATTCTCACATTATTAAATGAC
+AACCATCTGGCCCATGTTTCGCGTCGCAAAGTGGAGCGAGACCTGCAAGGTGTGGTTGAAGTGCTCGATA
+ATCAGGGTTACGACGTCATTATATTAATGAGTACAGCAAACATTAGTAGTATGACCGCGCGTAATACGAT
+CTTTCTTGAGCCGTCGCGGATATTGCCACCGCTGGTTTCCTCTATTGTTGAAGATCATCAGGTGGGGGTT
+ATCGTACCGGTTGAGGAGTTGCTGACCGTTCAGGCGCAAAAATGGCAAATTTTGCAGAAACCGCCAGTAT
+TTTCATTGGGTAACCCCATTCATGATTCGGAACAAAAAATCATTGATGCCGGGAAAGAATTACTGGCAAA
+AGGTGCAGATGTCATCATGCTGGATTGTTTGGGATTTAACCAGCGTCATCGCGATTTACTGCAAAAACAG
+CTCGATGTTCCTGTCTTGCTCTCTAACGTATTGATTGCACGGCTGGCTGCGGAATTACTGATGTAATTTT
+GCGTGACAGCCAGCGCCTCTGGCCCCTATAGTGAAGTAGATGTTCAACTACCAGACAGGGCCAGTTTATG
+CTTCAAAGTAATGAGTACTTTTCCGGCAAAGTGAAATCGATCGGCTTTTCCAGCAGCAGCACTGGTCGCG
+CCAGCGTGGGTGTTATGGTTGAAGGTGAATACACCTTCAGCACCGCTGAGCCTGAAGAGATGACGGTAAT
+CAGTGGCGCGCTGAATGTGTTACTGCCTGACGCGACCGACTGGCAAGTGTATGAAGCCGGTTCGGTGTTT
+AATGTTCCCGGTCACAGCGAGTTTCATCTGCAAGTTGCCGAACCCACCTCTTATCTGTGCCGCTATCTGT
+AATTCCTCGCCTTCCCCTTGAACGGGAGGGCATTTTTCTGAAATGTCCTCTCTTTAACCCATAATAATAT
+TTCCTTTGCTGGGATTTTTTCGATTTCCGATATATTCATAATTCATCAAGGTTGATATAAATATCAGCGA
+AGATCTCCAGATATTGTTGCGGAACTGGCGACGATAAAAGATAAATCAGATGATGAATGGTGGCGTGCAT
+TGCTGCAAAGTCGCAATGATCATTTGCGCCAAACGGCATTGCACAACGCACATACCCCGGTGTTGTTGTT
+AACGACATTGACTGAGCCTCAGGAGCGGTCGCTGGCTATTAATAATTCACAGCTGGCTGCCGATGTGAAA
+ACGGCGTGGTTAAAAGAGGAGCCATCATTACTCTTATTTGTCGAACAACCCGATCTTTCGCTGTTACGTG
+ATTTAGTGAAAACCGGGGCAACGCGAAAAATTCGCAGTGAAGCGCGTCACCGGCTTGAGGAAAAACAATG
+ACACAACGCCCCTGGAGCAAGTTACAGCATAAAACGCATAATATTGCTGCGCTAAGAATTATTGCCCGCT
+GTAGCTAACGATTATATTCCTGGTGTGGCTTTGTACGCCGGATAAGACGCGGCAGGCGTCGCATCCGGCA
+TTAAAGGTAAATCAGCAATTAACGTTGTGCTTCGCCACCTAATCCTTCAATCAGGTTTTGAATTAACGCT
+GCCAGTTCACCAGTCATCAGGATGAAATCGGCATCAAAGCGCTGGGCGAAATCTTCACGGTCGATATCTT
+CGTTTTGATCGCGCAGCTCGTCGCAGAACTTCAGACGCTTGAGCGAACCATCGTCGCACATCACAAACTG
+AATGCGCTGCTGCCAGTCAAGCGCCAGTTTAGTCACCACTTTTCCGGCTTCAATGTGGTTGGTGATCTCT
+TCGCTGGTCAGATCTTGTTTCTTCGCGCGGATCACGCCGCCATCTTCCAGCAACGATTTCAGCTCGGCTT
+CATCAAGCAGCTGGAAGCCCTGTGCCGCGCTGCCGGAACGTACCCATTCGGTCAGCGTCAGTTCAATCGG
+GTTTTCCATGCTCAATGGTACAACCGGTAACGACCCCAGGCTTTTACGCAGCAGTGCCAGCGTATCTTCC
+GCTTTTTTGGCGCTGGCGCAGTCCACCATAATCAAACCGTTAACCGTATCGATCCACATCATTGTCTGGC
+TAAAACGGCTGAAAGCACGCGGCAGCAGAGAGTGCAGCACTTCGTCTTTCAGCGAATCTTTTTCGGTTTT
+CTTCAGCTTACGCGCCTGTTCTGCTTCCAGTTTGGCGATTTTCGCTTCCAGCGCCTGTTTAATCACCGGG
+GACGGGAGGATTTTTTCTTCTTTGCGCGCACAGATAACAATTTGACCATTGGCAACGTGCGTTAACGCAT
+CGCTGTGCGATCCCATCGGAGGTACCCAGCCCATCTTCGCCATGTCCTGGCTGCCGCATGGGGTAAATGC
+CATCGAGGCTAGCTGTTTTTCCATCTCTTCTGCACGCAGCGAAATCTCGCGGCTAAGACGGTAAACCATT
+AAATTTTTGAACCACAGCATGATAATTTCCACGGCCTTGTCGTTAAATTTAGCGGGCATGATAACGAATT
+GTCGGCGGCCTTGCATTGCCAATCCGGTTGTCCGTCTCTACGCTATTGATATTGAAAAAAATAAGGAGAG
+TACCGTGCGTATAGGTATCGATTTAGGCGGCACCAAAACTGAAGTGATTGCATTGGGCGATGCAGGGGAG
+CAGTTGTACCGCCATCGTCTGCCCACGCCGCGTGATGATTACCGGCAGACTATTGAAACGATCGCCACGT
+TGGTTGATATGGCGGAGCAGGCAACAGGGCAGCGCGGAACGGTAGGTATGGGCATTCCTGGTTCGATTTC
+GCCCTACACCGGCGTGGTGAAGAATGCCAATTCAACCTGGCTCAACGGTCAGCCATTCGATAAAGACTTA
+AGCGCGCGGTTGCAGCGGGAAGTGCGGCTGGCAAATGACGCCAACTGTCTGGCGGTTTCAGAAGCGGTAG
+ATGGCGCGGCAGCGGGAGCGCAGACGGTATTTGCCGTGATTATCGGCACGGGATGCGGCGCGGGCGTGGC
+ATTCAATGGGCGGGCGCATATCGGCGGCAATGGCACGGCAGGCGAGTGGGGACACAATCCGCTACCGTGG
+ATGGACGAAGACGAACTGCGTTATCGCGAGGAAGTCCCTTGTTATTGCGGTAAACAAGGTTGTATTGAAA
+CCTTTATTTCAGGCACGGGATTCGCGACGGATTATCGTCGTTTGAGCGGACATGCGCTGAAAGGCAGTGA
+AATTATCCGCCTGGTTGAAGAAAGCGATCCGGTAGCGGAACTGGCATTGCGTCGCTACGAGCTGCGGCTG
+GCAAAATCGCTGGCACATGTCGTGAATATTCTCGATCCGGATGTGATTGTCCTGGGCGGCGGAATGAGCA
+ATGTAGACCGTTTATATCAAACGGTTCCACAGTTGATTAAACAATTTGTCTTCGGCGGAGAATGTGAAAC
+GCCGGTACGCAAGGCGAAACATGGTGATTCGAGCGGCGTACGCGGCGCTGCATGGTTATGGCCACAAGAG
+TAAAAAAACCAGGCAATTGGCGTATCATGCCTGATGCGACGCTTGCCGCGTCTTATCAGGCCTACAAAGT
+GAGCCGTCCGGTAGGCCGGATAAGGCGCTCGCGCCGCATCCGACAACAAATAACGCGCACAGTGGCGGCA
+ACCCCCCAGTGCTCCGATGCCTGATGCGACACTGGCGTGTCTTATCAGGCCTACAAAATGAACAGTCCCG
+TAGGCCGGATAAGGCGTTCACGCCGCATCCGGCAACAAGCGATGCGCACTGCGACTGCTATCTACCCCAG
+TGGTTTCGCCAGCACCGAACTATCCGCCGCTTGCTGGCGCTTATAGCGACCATACAGCAGCAACGACGAC
+ATCGCAGCAAACGAAAGCAGGGCAGCGGGCAGCGCCACGTAATTATATGCCAGCCCCAGCGTCAGCATCA
+TACCACCGCAATATGCGCCGACGGCGCTACCGAGGTTAAACGCTATTTGCCCACCTGCGGCACCTAATAA
+CTCTCCGCCTTTGGCATTTTGCAGTAATAATATTTGTAGAGGTGCTGATAGGGCAAATAATCCCGCGCAA
+CAAATAAAAGCAAAAATAAGCGACGTTGTTTTCATACCGCCGAAGAAAAAGAGCATCAGCAGTGCCAGTA
+CAATGATAAAGTCAGTCACTGCTGCAATGCGCAGTGGTGAATAACGTCCTGAAATCCTGCCACTTAGCAT
+ATTCCCCAGCACCATCCCTAGCCCAACTAACATCATAATAAAGGTCATCGCCGTTTCCGAAAAACCGGAA
+ATAAACATCATGTATGGCTTTACGTAGCTGAACCAGGCAAACACACCTGCGTTGCCAAACATCGTAGCGG
+CGAAAATTAACCACGGGGCAGGGCTGCGTAAAAAATGAAATTGTTCGCGTAGTTTTCCTTTCGCCTCGTC
+GCGAATATCCGGCACCCAAAAATAGACCGATGCCATCACCGCAATATTAAAAACAGCGATCAACAAAAAG
+GTGTAACGCCAACTAAATTCCTGACTTAAATACGTTCCCAGTGGAATGCCCAGCAAATTGGCGACTGTCA
+TCCCGGAAACCATCCCTGCCACGGCGGCGGTGACTTTGCCGGGTTTGATAATTTTTGATAACACGATCGC
+GCCGACGCCAAAAAATGCACCATGCGGAAAGCCGGAAACCAGCCGACCAATGGCGAGCATCAGGTAAGAC
+GAAGAGAGCGTGAACATGGCGTTGCCAATGACGCACAACGCCACCAGAAACAACAAGATATGTTTGAGTG
+AGTAGCGGCTGGAAAAAAGCGCGATTATAGGCGCACCGACCACCACCCCCAGCGCATAATACGAGATCAT
+ATGCCCGGCGGCAGGAATCGAAATTCCTACGTTATGCGCTAGCTCCGTGAGCACGCCCATAATGCCAAAT
+TCGGCCATCCCCAAACCAAACGTGCCCAGAGCCAAAGATAAAATAACTTTTTTCATACCACCATCACAAC
+CACCAGAACGGCTACCAATCACCGTAGCCAATAAAGTGATAGATTGCAGGATAACGACCAGCGAGGCCAA
+GAGATAATTCGCCCCTCTGTATTCATTATCCTGCTGAATAGTTATTTCATTGCAAACGCACTTTCCAGTT
+TGCTGTAGCCCAGTCCATTGATCTTCTTCACTTTGATCTGCACCGGAATACGCTCTTTCATCGCCTCAAC
+GTGGCTAATCACCCCGATGGTTTTGCCACTGGCATTCAGGGCATCCAGCGCATCAAGGGCGGTATCCAGC
+GTTTCGCTATCCAGTGTGCCAAAACCTTCATCAAGGAACAGCGAGTCAATACGCGTTTTATGGCTGACCA
+GATCTGAAAGCGCCAGTGCCAGCGCCAGACTGACGAGGAAACTTTCGCCGCCGGAAAGGGTACGGGTATC
+GCGTACCGCATCAGCCTGCCAGGTATCAACAACCTCAACTTCCAGCGCTTCGCTGGCTTTGCGCTGTAAC
+AGATAGCGCCCGTGTAGCCGGGTGAGTTGCTGATTAGCGAGATGGACTAAATTATCCAGCGTCAGCCCTT
+GGGCAAACTTGCGGAATTTATCGCCCTCTTTGGAACCTATTAGCGAATTCAGATATCCCCAGTCCTCAAC
+CTGCTGCGTCATTTGAGCAATTTGCTGCATTAAGGTTTGTTGTTGCTGACGGTTATCTGCATCCTGCTTC
+AGCTGCTGGCGAATCTCGCCTTGACTCGTGGTGTTTTCACGCAACTTTTGGTGAGTTTGCGCTAACTCTT
+GCTGAATCTGCTCCACCGTCACAGTGAGAGACAACCCGCCAGGTCGGTGTTGCTGATGCTGTGTCAGCGT
+TTCTGCTGTCTGAGTGACCAGCGTTTGCGCCTGACGGCGCTGGTTTTCCAGATTCTGCTTGAGCTGTTCC
+AGCTGCGTTAGTGTTTGTTCATCCATTAGCGCCGCAAGGAACGCCTGCTGATCGTCAAAGACGCTCGCCT
+GTAGCGCGGTGTCAAACTGCGCCTGGGCTTTTTGCAGACTTTGCGCCGCCAGAACATCCTGTTGCTGTAA
+CGTCTGCTGCTGGCTGTGTAATGCGAGACATTGTTCATGAACCTGCCGCCAGTTTTCCAGCGCCACAGTT
+TCTTCGCTGTGCGGGAGTTCATCACTTTGCGGCAACGTTTCCAGAATCGGCGTCAGTTGCTGAATACGGT
+TTTGCAGCGCGGTTAATTCGTTCTGGCGATGCTGCCAGCTCTGCGCTTCTTGCTGACGCGTCGCCAACCA
+GCTCTCTTCTTCATCTTCCTGTGGCAATGTCAGTGCATAACCCGCCAATGCCGTTAAGAGCTGCTGCTGG
+CGTTGTTCAATTTGCTGTTGATACTGGATAATTTGCTGATTATGCGCGGCAATCTGCCCTTGTAATTCAT
+GCCGTTGGCTGAGTAACCGCAGCTGGCGTTCGTGCTCATCTTGTGCATCTAGCCACGGTTGAATATCGTC
+CTGTGGCTGCAAGGTGATATTGAGGCTGGCCGTGACGGCTTGCCATTGTTGAGTAAGTGCTTGCTCATCT
+TGCCGGAGGCTTTGCGCTTCGTTTTCATCGCGCTGAAGCTGCTTCGTTAATGCATCCAGTTGCCCACGTA
+GCGCCGCACCTTCTTCGCCGAGCTTTTTCACTTCTTTTTCCAGCGTTAATAGCCGGGCCTGATTAACGCC
+CGGTTCCAGCGCCTGATACGCCTCGACCGCCGGGTGGCTGCTGGAACCACAAAGTGGACAAGGCTGACCC
+GCCTGTAACTGTGCGCGCTGGGCTTCCAGCGTTTTAATGCGCGCTTCCTGCTCGCAAATGGTTTTCACAT
+CGGCAAGTTGTTGCGTTTTTTCTTTATAACGATGGCGCATTTCGTTAAGTGCGGCATTACGTTGCGTCTG
+TTCCAGAGTGACATTCTGGATAGCGACCTGTAACTGCGCCAGACGTTTTTGTTGGGGAACAATCTGCCCA
+TGCAGTGCGACCAGGCGCTGACGCAGTGGGCGTTGCTCAGCATGTTGTGCCAGGGCGGTAGCAACTTCAT
+CGGCGGTTAACGTCAACGTGATCGCCGCAAGCGCATTAAGTTTTTGCTCAGCATGAGTTAACTGTTGCTG
+CCATTGCCGCAGATGCTCGCGATCGCTGGTTTGTTGGGAGAACTGTGCACGCCAACCCGCCAGTTCGTTG
+TTCCACTGACGGAAGCGGTCGTGTTCCTGTAACCAGGCATTCAGGCTTTGTTGCTGCTGCTGTAATTCTG
+CTGACTGCTTCGCCGCGTGGTGGCGAATGCTCGCACGAAGCGCCATTGTGCTCTGTAAGCGAGTATTTAC
+TTCTTCAATCTGCTGGCGAGTATGCGCCAGCGCCGTGCTGTGTTCTGCGATGCGTTCCCAGTGCGGACGA
+AGATTTCGTGCCGGTTGTGCCAGACTGAGCGCCGCCAGTTGAGGTTGCGCTTTTTCTTCTTCGGCTAATG
+CCTGTTGCAAGGCCTGTTGACGGCGGCTGGCTTCTTGCTGCAATTCGTCCAGACGCGTTAACCAGTTTAG
+CGATTGTTGTTCTTGCTGCTGCGCGGTAATTAACTGTTTTTCTTCGTCAGTAAGTACCTGCAAACTCGCT
+GTCAGCGATTGCACTTGTTCCGGCGTGAGCAACGCGACGCCGCTGGCCTGCGCTTGCAGCTTCTCCAGCT
+CTGTGCGGGCCGATTTGTGCTGCTCAAAAACCATCGCCGAGATTTGCCCGTAGATTTCAGTGCCGGTTAA
+CTCCTCGAGCAATTCTGCGCGTTCTTTGGGTTTGGCATTCAGGAAGGCAGCAAATTGCCCCTGCGAAAGC
+AGCATCGAACGGGTGAAGCGCCCGTAATCCAGTCCGGTTAACGTCGCCGTCAGTTCCAGCTTATCTTTCA
+CTTTGTCGGCGAGAATTTTGCCGTCTGCACAGCGCGCCAGCTCTACGCGTGGCACCTGCAAATTACCGTC
+CGGCTGGTTACGCGCCCGATTCTGGCTCCAGAACGCGCGATACGCTTCACCTTTGACTTCAAACTCCACT
+TCCGCCAGACATTCGGCGGTATCGCGGGTCATGAGATCATTTTGCGATTGTGAAACGTTAGAGAGGCGCG
+GGGTTTCGTGATACAGCGCCAGACAAATGGCGTCCAGCAGGGTGGTTTTCCCCGCACCGGTTGGGCCGGT
+AATAGCAAACAGCCCGTTGCTGGCGAACGGCTCGCGGGTGAAATCAATCTTCCATTCGCCTTTTAATGAG
+TTCAGGTTTTTCAGGCGCAGGCTGAGAATTTTCATGCTTCGTGTTCTCCGGCGAGGCTATGCAACGTCGT
+GGCGAAAAGATGCTGCAGACGTTGCTGCTGTGATTCATCCAGTTCTTCCAGTGCCAGACGGCGATTGAAC
+ACCTCTTCGACGCTGAGTTCGCTGAGGGTTTCACGCTGTTGGCTGGCTAACACACGCTCGCGCTGTTCAC
+GACTCCGGCGTACCAGCAATACTTCGACAGGCAATGATTCGGTTAATGCCTGGATTTTGCGCTGAATATC
+ATGCAGATACTCATCAGTAGTGATTTCGATATCCAGCCAGACAGGCGGCTCCTGTGATATATCGCGCCAC
+TGTTCCAGCTGTGCGGTAATCGACGCCAGATCGCCTTTCAGCACCGCCATGGGTTGCGTTACCGGTACGT
+TCAGGTTTTCCACGCTCTCTAATTTGCCGTTTGAAAATGTCACCAGATGGACATATTTACTCTTACCGCA
+TTCATCAAAACTCAGTGGTATGGGGGAACCGCAATAGCGAACATGTTCCATGCCGCCAATAATCTGCGCG
+CGGTGAATATGCCCGAGCGCGATGTAGTCAGCTGGTGGAAAGTTTTGTGCCGGAAACGCGTCCAGCGTGC
+CAATATAAATGTCACGCACGGCGTCACTTTTACTGGCACCCACGGTCGTTAAATGTCCAGTGGCGATGAT
+GGGCAGAGGCTGATCGCCGCGCAGTTTGCAGGCATCGGCATAATGTTGTTGATAATAATCAGTAATAGCC
+GCCAGCAAATGCTGCTGTTTTTCAATACCGTTAAGCCCCGCCTGGCTGGTAATAATGTCACGCGGGCGTA
+AAAAAGGAATGGGACACAGCACTGCGCCTGGCGTCCCGTCGCGACGGGGCAATATTTGCGGCGCATGTCC
+GGCGCTGGCGACCACGGTAGTATTGAGGAACGCCATGATATCGCGCGATTCATTCAGCGTGGCGACCGAG
+TCATGGTTTCCTGCCAGTACCACCAGATGACAGCCCGTTTGCTGTAAATTGACAACAAAACGGTTGTATA
+ACGTGCGGGCGTAACTGGGCGGCGAGCCGGTATCGAAAACATCACCGGCAACAATAATCGCATCCACCTG
+ATGGGCTTGTGCTGTCTCCAGCAGCCAGTCAAGAAAAGCCTGATGTTCGGCTTCGCGGCTTTTACTGTAG
+AAGTTCTGGCCGAGATGCCAGTCTGAGGTGTGAAGGATGCGCATAACGGTTCCCTGGCGAAAAAGCATGG
+GCGCGATTATACCCAAACAGATGTGCCATTTGCTTTTTTCTGCGCCACGGAAATCAATAACCTGAAGATA
+TGTGCGACGAGCTTTTCATAAATCTGTCATAAATCTGACGCATAATGACGTCGCATTAATGATCGCAACC
+TATTTATTACAACAGGGCAAATCATGGCGAGACGTATTCTGGTCGTAGAAGATGAAGCTCCAATTCGCGA
+AATGGTCTGCTTCGTGCTCGAACAAAATGGCTTTCAGCCGGTCGAAGCGGAAGATTATGACAGTGCTGTG
+AATCAACTGAATGAACCCTGGCCGGATTTAATTCTCCTTGACTGGATGTTACCTGGCGGCTCCGGTATCC
+AGTTCATCAAACACCTCAAGCGCGAGTCGATGACCCGGGATATTCCAGTGGTGATGTTGACCGCCAGAGG
+GGAAGAAGAAGATCGCGTGCGCGGCCTTGAAACCGGTGCGGATGACTATATCACCAAGCCGTTTTCTCCG
+AAGGAGCTGGTGGCGCGAATCAAAGCGGTAATGCGCCGTATTTCGCCAATGGCGGTGGAGGAGGTGATCG
+AGATGCAGGGGCTAAGTCTGGACCCGACATCTCACCGGGTGATGGCGGGCGAAGAACCGCTGGAGATGGG
+GCCGACAGAATTTAAACTGCTGCACTTTTTTATGACGCATCCTGAGCGCGTGTACAGCCGCGAGCAGCTG
+TTAAACCACGTCTGGGGAACCAACGTGTATGTGGAAGATCGTACGGTCGATGTCACATTCGTCGCCTGCG
+TAAAGCACTGGAGCCCGGCGGGCATGACCGCATGGTGCAGACCGTGCGCGGTACAGGGTATCGTTTTTCA
+ACCCGCTTTTAAGGCCTTGCTCATCGGACGTAGAGCAGGGCTTATGATTTCTTAACTGGAGTATCTTACG
+TGCTGGAACGGCTGTCGTGGAAAAGGCTGGTGCTGGAGCTGCTACTTTGCTGCCTCCCGGCTTTCATCCT
+GGGTGCATTTTTTGGTTACCTGCCCTGGTTTTTGCTGGCATCGGTAACAGGACTGCTTATCTGGCATTTC
+TGGAATTTATTGCGCCTTTCATGGTGGCTGTGGGTGGATCGTAGTATGACCCCGCCACCGGGGCGTGGTA
+GCTGGGAACCGCTACTATACGGCTTACACCAGATGCAGCTGCGAAATAAAAAACGCCGCCGTGAACTGGG
+CAATCTGATTAAACGCTTTCGTAGCGGCGCGGAGTCGCTGCCCGACGCGGTGGTGCTGACCACGGAAGAG
+GGCGGTATTTTCTGGTGCAACGGTCTGGCGCAACAGATTCTTGGCTTGCGCTGGCCGGAAGATAACGGGC
+AGAACATCCTTAACTTGCTGCGTTACCCGGAGTTTACGCAATATCTGAAAACGCGTGATTTCTCTCGCCC
+GCTCAATCTGGTGCTCAACACCGGGCGGCATCTGGAGATTCGCGTCATGCCTTATACCCACAAACAGTTG
+CTGATGGTGGCGCGAGATGTCACGCAAATGCATCAACTGGAAGGGGCGCGGCGTAACTTTTTTGCCAATG
+TGAGCCATGAGTTACGTACGCCATTGACCGTGTTACAGGGTTACCTGGAGATGATGGATGAGCAACCGCT
+GGAAGGCGCGGTACGTGAAAAAGCGTTGCACACCATGCGCGAGCAGACCCAGCGGATGGAAGGGTTGGTG
+AAGCAATTGCTGACGCTGTCGAAAATAGAAGCCGCACCGACGCATTTGCTCAATGAAAAGGTTGATGTGC
+CGATGATGCTGCGCGTCGTTGAGCGCGAGGCTCAGACTCTGAGTCAGAAAAAACAGACATTTACCTTTGA
+GATAGATAACGGCCTTAAGGTGTCAGGCAACGAAGATCAGCTACGCAGTGCGATTTCGAACCTGGTCTAT
+AACGCCGTGAATCATACGCCGGAAGGCACGCATATCACCGTACGCTGGCAGCGAGTGCCGCACGGTGCCG
+AATTTAGTGTTGAAGATAACGGACCGGGCATTGCACCGGAGCATATTCCGCACCTGACCGAGCGTTTTTA
+TCGCGTTGATAAAGCGCGTTCCCGGCAAACCGGTGGTAGCGGATTAGGGTTAGCGATCGTGAAACATGCG
+GTGAATCATCACGAAAGTCGCCTGAATATTGAGAGTACAGTAGGAAAAGGTACACGTTTCAGTTTTGTTA
+TCCCGGAACGTTTAATTGCCAAAAACAGCGATTAATTCGCCTTTGTCATCTTTTATTGCCATAAGCCAGC
+CGATGCTGGCTTATTTTCTTTGCAGTCGAAATACGGGCGTTAGATTTTACAATGGTTGGTGATTTTTTGT
+TCGCATGATTAGCCATGTCTTTTTCATTGAAATAGTGTTTTATACTGGTTGGTGATTTCTTATCGCTATA
+TACCTCTGGTTTTTAGATCCCTTCTTGCTTTAAAACGTTATAAGCGTTTAAATTGCGCTTCAGGTGCTGT
+CATACTGACTGCATTTACGCGGTAAATCGAAAAACTATTCTTCGCCGCGCTTGGTTGGGAGTATTTCCCG
+CTAAAATTGTTTAAATATACCGCTGTATCATCCCCAGGGATTGGCACAAAAATTTAACGTTACAACACCA
+CATCCACAGGCAGTATGATTTATGACCCATCAATTAAGATCGCGCGATATCATCGCTCTGGGCTTTATGA
+CATTTGCGTTGTTCGTCGGCGCAGGTAACATTATTTTCCCTCCAATGGTCGGCTTGCAGGCAGGCGAACA
+CGTCTGGACTGCGGCATTCGGCTTCCTCATTACTGCCGTTGGCCTACCGGTATTAACGGTAGTGGCACTG
+GCAAAAGTTGGCGGCGGTGTTGACAGTCTCAGCACGCCAATTGGTAAAGTCGCTGGCGTACTGCTGGCAA
+CAGTTTGTTACCTGGCGGTGGGGCCGCTTTTCGCTACGCCGCGTACAGCTACCGTTTCTTTTGAAGTGGG
+CATTGCGCCGCTGACGGGTGATTCCGCGCTGCCGCTGTTTATCTACAGCCTGGTCTATTTCGCTATCGTT
+ATTCTGGTTTCGCTCTATCCGGGCAAGCTGCTGGATACCGTGGGCAACTTCCTTGCGCCGCTGAAAATTA
+TCGCGCTGGTCATCCTGTCTGTTGCCGCAATTATCTGGCCGGCGGGTTCTATCAGCACGGCGACTGAGGC
+TTATCAAAACGCTGCGTTTTCTAACGGCTTCGTCAACGGCTATCTGACCATGGATACGCTGGGCGCAATG
+GTGTTTGGTATCGTTATTGTTAACGCGGCGCGTTCTCGTGGCGTTACCGAAGCGCGTCTGCTGACCCGTT
+ATACCGTCTGGGCTGGCCTGATGGCGGGTGTTGGTCTGACTCTGCTGTACCTGGCGCTGTTCCGTCTGGG
+TTCAGACAGCGCGTCGCTGGTCGATCAGTCTGCAAACGGTGCGGCGATCCTGCATGCTTACGTTCAGCAT
+ACCTTTGGCGGCGGCGGTAGCTTCCTGCTGGCGGCGTTAATCTTCATCGCCTGCCTGGTCACGGCGGTTG
+GCCTGACCTGTGCTTGTGCAGAATTCTTCGCCCAGTACGTACCGCTCTCTTATCGTACGCTGGTGTTTAT
+CCTCGGCGGCTTCTCGATGGTGGTGTCTAACCTCGGCTTGAGCCAGCTGATTCAGATCTCTGTACCGGTG
+CTGACCGCCATTTATCCGCCGTGTATCGCACTGGTTGTATTAAGTTTTACACGCTCATGGTGGCATAATT
+CGTCCCGCGTGATTGCTCCGCCGATGTTTATCAGCCTGCTTTTTGGTATTCTCGACGGGATCAAGGCATC
+TGCATTCAGCGATATCTTACCGTCCTGGGCGCAGCGTTTACCGCTGGCCGAACAAGGTCTGGCGTGGTTA
+ATGCCAACAGTGGTGATGGTGGTTCTGGCCATTATCTGGGATCGTGCGGCAGGTCGTCAGGTGACCTCCA
+GCGCTCACTAAATCACTGAACATTTGTTTTAACCACGGGGCTGCGATGCCCCGTGGTTTTTTATTGTGTT
+GATGGGTTAGGAATTGATGGAAAGTAAGAACAAGCTAAAGCGTGGGCTAAGTACCCGACACATACGCTTT
+ATGGCACTGGGTTCAGCAATTGGCACCGGGCTGTTTTACGGTTCGGCAGATGCCATCAAAATGGCCGGTC
+CAAGCGTGTTGTTGGCCTATATTATCGGTGGTATCGCGGCGTATATCATTATGCGTGCGCTGGGGGAAAT
+GTCGGTACATAACCCGGCAGCCAGCTCTTTCTCGCGTTATGCGCAGGAAAACCTCGGCCCGCTGGCAGGT
+TACATTACCGGCTGGACCTACTGCTTTGAAATCCTTATTGTCGCCATCGCCGATGTGACCGCTTTTGGTA
+TCTATATGGGTGTCTGGTTCCCGACGGTGCCGCACTGGATTTGGGTACTGAGTGTGGTGCTGATCATTTG
+CGCCGTAAACCTGATGAGCGTGAAGGTATTCGGTGAGCTGGAGTTCTGGTTCTCGTTCTTTAAAGTCGCC
+ACTATCATCATCATGATTGTCGCCGGTTTCGGCATCATCATCTGGGGGATTGGCAACGGCGGGCAACCGA
+CCGGTATTCATAACCTGTGGAGCAACGGCGGCTTCTTCAGTAACGGCTGGCTTGGTATGGTGATGTCGTT
+GCAAATGGTGATGTTTGCTTACGGTGGGATCGAAATTATCGGGATTACCGCCGGTGAAGCGAAAGATCCT
+GAGAAATCGATTCCGCGTGCGATTAACTCCGTGCCGATGCGTATTCTGGTGTTCTACGTCGGTACGCTGT
+TCGTCATTATGTCTATCTACCCGTGGAATCAGGTTGGCACTGCCGGTAGCCCGTTTGTGCTGACGTTCCA
+GCATATGGGCATTACCTTTGCCGCCAGCATTCTTAACTTTGTTGTGCTGACCGCTTCGCTGTCGGCAATT
+AACAGTGACGTATTTGGTGTAGGCCGTATGCTCCACGGTATGGCAGAGCAGGGCAGCGCGCCAAAAATTT
+TCAGCAAAACCTCGCGTCGCGGTATTCCGTGGGTTACGGTGCTGGTGATGACTACCGCGCTGCTGTTTGC
+GGTGTATCTGAACTACATCATGCCGGAAAACGTCTTCCTGGTGATCGCTTCGCTGGCAACCTTCGCCACG
+GTGTGGGTGTGGATTATGATCCTGCTGTCGCAAATCGCCTTCCGTCGCCGTTTGCCGCCAGAAGAAGTTA
+AGGCGCTGAAATTTAAAGTGCCGGGTGGGGTCGCAACCACCATCGGCGGTTTGATTTTCCTGCTCTTTAT
+TATCGGGTTGATTGGTTATCACCCTGATACGCGTATCTCGCTGTATGTTGGTTTCGCGTGGATTGTTGTG
+CTGTTGATTGGCTGGATGTTTAAGCGCCGCCACGATCGTCAGCTGGCTGAAAACCAGTAATCCTTGCGTT
+CTGTAAGCCGGTTCAGGAGGAAATCCTGATCCGGCTATTCCGAAAGTTATCCGCCCCCGTCCTCCTCCCC
+CAAATATCCTTCAGATGATGAGTGATCCTGCATTAGGCTATGGCAAGGTGATCAGATTTTCATCACAGGG
+GAATTATGATGTTAAATGCATGGCATCTGCCGGTGCCCCCATTTGTTAAACAAAGCAAAGATCAACTGCT
+CATTACACTGTGGCTGACGAGCGAAGACCCACCGCAGCGCATTATGCTGCGTACAGAACACGATAACGAA
+GAAATGTCAGTACCGATGCATAAGCAGCGCAGTCAGCCGCAGCCTGGCGTCACCGCATGGCGGGCGGCGA
+TCGATCTCTCCAGCGGACAACCTCGGCGGCGTTATAGTTTCAAATTGCTGTGGCACGATCGCCAGCGTTG
+GTTTACACCGCAAGGCTTCAGCCGAATGCCGCCAGCACGACTGGAGCAGTTTGCCATTGATGTACCGGAT
+ATCGGCCCACAATGGGCTGCGGATCAGATTTTTTATCAGATCTTCCCTGATCGTTTCGCCCGTAATCTTC
+CTCGTGAAGCTGAACAGGATCATGTCTATTACCATCACGCAGCCGGACAAGAGATCATATTGCGTGACTG
+GGATGAACCGGTCACGGCGCAGGCTGGCGGATCAACGTTCTATGGCGGCGATCTGGACGGGATAAGTGAA
+AAACTGCCGTATCTGAAAAAACTTGGCGTGACGGCGCTGTATCTCAATCCGGTGTTTAAAGCTCCCAGCG
+TGCATAAATACGATACCGAGGATTATCGCCATGTCGATCCGCAGTTTGGCGGTGATGGGGCGTTGCTGCG
+TTTGCGACACAATACGCAGCAGCTGGGAATACGACTGGTGCTGGACGGCGTGTTTAACCACAGTGGCGAT
+TCCCATGCCTGGTTTGACAGGCACAATCGTGGCACGGGGGGAGCTTGTCACAACCCCGAATCACCCTGGC
+GTGACTGGTACTCGTTTAGTGATGATGGCACGGCGCTCGACTGGCTGGGCTATGCCAGCTTGCCGAAGCT
+GGATTATCAGTCGGAAAGTCTGGTGAATGAAATTTATCGCGGGGAAGACAGTATTGTCCGCCACTGGCTG
+AAAGCGCCGTGGAATATGGATGGCTGGCGGCTGGATGTGGTGCATATGCTGGGGGAAGCGGGTGGGGCGC
+GCAATAATTTGCAGCACGTTGCCGGGATCACCGAAGCGGCGAAAGAAACCCAGCCGGATGCGTATATTGT
+CGGCGAACATTTTGGCGATGCACGGCAATGGTTACAGGCCGATGTGGAAGATGCCGCCATGAACTATCGC
+GGCTTCACATTCCCGTTGTGGGGATTTCTTGCCAACACCGATATCTCTTACGATCCGCAGCAAATTGACG
+CCCAAACCTGTATGGCCTGGATGGATAATTACCGCGCAGGGCTTTCTCATCAACAACAATTACGTATGTT
+TAATCAGCTCGACAGCCACGATACTGCGCGATTTAAAACGCTGCTCGGTCGGGATGTTGCGCGCCTGCCC
+CTGGCGGTGGTCTGGCTGTTCACCTGGCCTGGTGTACCGTGCATTTATTACGGTGATGAAGTGGGACTGG
+ATGGCAAAAACGATCCGTTTTGCCGTAAGCCGTTCCCCTGGCAGGTGGAAAAGCAGGATTCGGCGTTATT
+CGCGCTGTACCAGCGAATGATTGCGCTGCGTAAGAAAAGTCAGGCGTTGCGTCGTGGCGGCTGTCAGGTG
+CTGTATGCGGAAGATAACGTGGTGGTATTTGTCCGCGTGCTGAATCAGCAGCGTGTACTGGTGGCAATCA
+ACCGTGGCGAAGCCTGTGAAGTGGTGCTACCCGCGTCGCCGTTGCTTAATGTCGCGCAATGGCAACGCAA
+AGAAGGTCACGGGCAACTGACGGACGGGATTCTGGCTTTGCCTGCCATTTCGGCTACGGTGTGGATGAAT
+TAACGTCTTATAACGCCTTGCGTGACGCCTGCTCCATCATCCGCGGATAAAACTGCCAGAAGCGGGTTTC
+GAGAGCATCGTAATGGGCGTCTAAATCGTACCAGGAGTCACGCAGGGCATCCAGACGTGGGCGACGGCTT
+GCCATGCCGTTTAACACGCTCTGGATGAAATCCATATCGCGATAGCGCACCAACCACCGCTCTGACCATA
+AGTAGTTGTTCAGATTGATAAAGCGTGGCGGTGAGTCTGGAAGAATAGTCATCACTTGCTCCCGGGCATA
+ACAGGTAAATTCCTGTAGCGGAAAATCGGGCGACAGCTGCGACCAGTGGCGGGACAGAAAGTGATCCCAC
+ATCACATCCAGCGTAATAGGCGCGACACGGCGCGTTTCATTACGAAACCACTCCCGCGCTTCGCGGACTT
+CTGGCAGATTGTCGGTTAATACGTCGATTCGCCGATGCATATGAATGCCAGCCACGACGTCGGGCGGAAA
+ACTTTCTTCAGGATTTCCGCGTACGAAATCAGCCAGTAAATTGCCGGAAAGCGAGCTTTCCGCGAGATGG
+GCTAAATGCAGGTGAGCTAAAAAATTCATCGATTATATTCTATCCAAAGGGGGGTAAAGGTTGCAGGGAG
+AGCGCCCCGGCACTAGACTACCCGCCTCTTATTTTAGTCTGAGTCAGTGTCATGCGCGTTACCGATTTCT
+CTTTTGAATTGCCCGAATCCCTGATTGCCCACTATCCCATGCCTGAACGCAGTAGCTGTCGTTTACTGTC
+GCTGGACGGGCCGACGGGCGCGCTGACGCACGGTACTTTCACCGATTTACTCGATAAGCTCAACCCCGGC
+GATCTTCTGGTTTTTAATAATACCCGCGTGATCCCGGCGCGTCTGTTTGGGCGTAAAGCCAGCGGCGGCA
+AGATTGAAGTGCTGGTTGAGCGGATGCTCGACGACAAACGCATTCTTGCGCATATTCGCGCCTCGAAAGC
+GCCAAAACCTGGCGCAGAACTGCTGCTGGGCGATGACGAAAGTATTAACGCAACAATGACCGCGCGCCAC
+GGCGCACTGTTTGAAGTCGAATTTAATGATCAACGTTCGGTGCTGGATATTCTCAACAGCATCGGCCATA
+TGCCGCTGCCGCCGTACATCGACCGTCCGGACGAAGATGCAGACCGCGAACTTTATCAAACGGTTTATAG
+CGAAAAACCCGGCGCGGTAGCAGCACCGACCGCCGGACTGCACTTTGACGAACCTTTGCTGGAAAAATTA
+CGCGCCAAAGGCGTGGAGATGGCGTTTGTGACGTTGCACGTTGGTGCGGGCACCTTCCAGCCGGTGCGCG
+TCGACACCATTGAAGATCACATCATGCACTCGGAATACGCTGAAGTGCCGCAGGATGTGGTAGACGCGGT
+ACTGGCGGCGAAAGCGCGCGGTAACCGGGTGATTGCGGTTGGTACCACCTCAGTACGTTCGCTGGAAAGT
+GCGGCTCAGGCAGCGAAAAACGATCTCATTGAACCGTTCTTTGACGATACCCAAATCTTTATCTATCCGG
+GCTTCCAGTACAAAGTGGTCGATGCGCTGGTGACGAACTTCCACCTTCCGGAATCGACGCTGATTATGCT
+GGTTTCGGCATTTGCTGGTTATCAACACACCATGAATGCCTATAAAGCGGCGGTAGAAGAGAAATATCGC
+TTTTTTAGTTACGGTGATGCGATGTTTATCACGTACAATCCGCAGGCAATTAATGAGCGCGTTGGGGAGT
+AATTCCGCGGCGCTGGTTTAAACGTTGGACTGTTTTTCTGACGTAGTGGAGAAAAAATGAAATTTGAACT
+GGACACCACCGACGGTCGCGCACGCCGTGGCCGCCTGGTCTTTGATCGTGGCGTAGTGGAAACGCCTTGT
+TTTATGCCTGTTGGCACTTACGGCACCGTAAAAGGGATGACGCCGGAAGAAGTTGAAGCCACTGGCGCGC
+AAATTATCCTCGGCAACACCTTCCACCTGTGGCTGCGCCCGGGCCAGGAAATCATGAAACTGCACGGCGA
+TCTGCACGATTTTATGCAGTGGAAAGGACCAATCCTTACCGACTCCGGCGGCTTCCAGGTCTTCAGCCTT
+GGTGATATTCGTAAAATCACCGAACAGGGCGTTCACTTCCGTAACCCGATCAACGGCGACCCGATTTTCC
+TCGACCCGGAAAAGTCGATGGAGATTCAGTACGATCTTGGTTCGGATATCGTCATGATCTTTGATGAGTG
+TACGCCGTATCCTGCTGACTGGGATTACGCAAAACGCTCCATGGAGATGTCTCTGCGTTGGGCGAAGCGT
+AGCCGTGAGCGTTTTGACAGTCTCGGAAACAAAAATGCGCTGTTTGGTATCATTCAGGGCAGTGTTTACG
+AAGATTTACGTGATATTTCTGTTAAAGGTCTGGTAGATATCGGTTTTGATGGCTACGCTGTCGGCGGTCT
+GGCTGTGGGTGAGCCGAAAGCAGATATGCACCGCATTCTGGAGCATGTATGCCCGCAAATTCCGGCAGAC
+AAACCGCGTTACCTGATGGGCGTTGGTAAACCAGAAGACCTGGTTGAGGGCGTACGTCGCGGTATCGATA
+TGTTTGACTGCGTAATGCCAACCCGCAACGCCCGAAATGGTCATTTGTTCGTGACCGATGGCGTGGTGAA
+AATCCGCAATGCGAAGTATAAGAGCGATACTGGCCCACTCGATCCTGAGTGTGATTGCTACACCTGTCGC
+AATTATTCACGCGCTTACTTGCATCATCTCGACCGTTGCAACGAAATATTAGGCGCGCGACTCAACACCA
+TTCATAACCTTCGTTACTACCAGCGTTTGATGGCGGGTTTACGCAAGGCTATTGAAGAGGGTAAATTAGA
+GAGCTTCGTAACTGATTTTTACCAGCGTCAGGGGCGAGAAGTACCACCTTTGAACGTTGATTAATATTAA
+TAATGAGGGAAATTTAATGAGCTTTTTTATTTCTGATGCGGTAGCGGCAACGGGTGCACCGGCGCAAGGT
+AGCCCGATGTCTTTGATTTTGATGCTGGTGGTATTCGGTCTGATTTTCTATTTCATGATCCTGCGTCCAC
+AGCAGAAGCGCACCAAAGAACACAAAAAGCTGATGGACTCCATCGCTAAAGGTGATGAAGTGCTGACGAA
+CGGTGGCCTGGTCGGTCGCGTAACCAAAGTAGCGGAAAACGGCTACATTGCTATCGCACTGAATGACACC
+ACTGAAGTAGTTATTAAACGTGACTTCGTAGCTGCCGTTCTGCCGAAAGGCACCATGAAGGCGCTGTAAT
+TAAAATTTTTCCCTAAGGGAATTGCCGTGTTAAACCGTTATCCTTTGTGGAAGTACGTCATGCTGATCGT
+GGTGATTGTCATCGGTCTGCTGTATGCGCTTCCCAACCTGTTTGGTGAGGATCCGGCTGTTCAGATCACT
+GGTGCGCGCGGAGTCGCCGCCAGTGAGCAAACGCTGATCCAGGTCCAGAAAACGTTACAAGAAGAAAAAA
+TAACTGCTAAGTCTGTGGCACTGGAAGAGGGCGCTATTCTTGCGCGCTTCGACTCCACTGACACCCAGCT
+GCGCGCTCGTGAAGCATTAATGGGCGTTATGGGTGACAAATACGTCGTGGCGCTTAATCTTGCCCCGGCA
+ACGCCGCGCTGGCTGGCAGCCATTCATGCTGAGCCGATGAAGCTCGGCCTTGACCTGCGTGGCGGCGTTC
+ACTTCCTGATGGAAGTGGATATGGACACCGCGCTTGGCAAACTCCAGGAACAAAATATCGATAGCCTGCG
+CAGCGACCTGCGTGAAAAGGGCATCCCGTATACCACCGTTCGTAAAGAAAACAACTACGGCCTGAGCATC
+ACTTTCCGCGATGCTAAAGCTCGTGATGAAGCCATTGCGTATCTGAGCAAGCGCCATCCGGACCTGGTGA
+TTAGCAGCCAGGGCAGCAACCAGCTGCGTGCGGTAATGAGCGATGCTCGTCTGAGTGAAGCGCGTGAATA
+TGCGGTGCAGCAGAACATCAATATCCTGCGTAACCGTGTAAACCAACTTGGCGTGGCGGAGCCGGTGGTT
+CAGCGTCAGGGTGCTGACCGTATCGTTGTTGAACTGCCAGGTATTCAGGACACTGCGCGTGCGAAAGAGA
+TTCTGGGTGCGACGGCAACGCTGGAATTCCGTCTGGTAAACACCAACGTTGATCAGGCCGCTGCGGCATC
+CGGTCGCGTACCGGGCGACTCTGAAGTGAAACAGACCCGCGAAGGTCAGCCGGTTGTGCTGTACAAACGC
+GTAATTCTGACCGGTGACCATATCACCGACTCCACTTCCAGCCAGGACGAATACAACCAGCCGCAGGTTA
+ACATCTCGCTCGATAGCGCGGGTGGTAACATCATGTCTAACTTCACCAAGGACAACATCGGCAAACCGAT
+GGCAACTCTGTTTGTGGAGTACAAAGACAGCGGTAAGAAAGATGCAAACGGTCGTGCGGTTCTGGTGAAA
+CAGGAAGAGGTGATTAACATCGCCAACATCCAGTCTCGTCTGGGTAACAGCTTCCGTATTACTGGCATCA
+ATAACCCAAGCGAAGCGCGTCAGCTTTCACTGCTGCTGCGTGCCGGTGCGTTGATCGCGCCGATTCAGAT
+TGTTGAAGAACGTACCATTGGCCCAACCCTGGGTATGCAGAACATTGAGCAGGGGCTGGAGGCTTGCCTT
+GCCGGTCTGCTGGTTTCTATTCTGTTCATGATCATCTTCTATAAGAAGTTTGGTCTGATTGCGACCAGTG
+CTCTGATTGCCAACTTGATCTTGATTGTCGGTATTATGTCGCTGTTGCCAGGCGCAACGCTGAGTATGCC
+AGGTATCGCGGGTATCGTCTTAACCCTTGCGGTAGCGGTCGATGCGAACGTACTGATCAACGAACGTATT
+AAAGAAGAGTTGAGCAACGGACGTACTGTTCAACAGGCAATTGATGAAGGTTATCGTGGCGCATTCAGTT
+CCATCTTCGATGCGAACATCACCACGCTGATTAAAGTCATCATCCTGTATGCAGTGGGTACCGGGGCAAT
+TAAAGGGTTCGCGATTACTACCGGTATCGGTGTGGCGACGTCGATGTTTACCGCGATTGTCGGTACGCGT
+GCCATCGTAAACCTGCTATATGGCGGCAAGCGCGTCAAGAAGCTGTCAATCTGAGGAGTGCGATGTGGCA
+CAGGAATATACTGTTGAACAACTAAACCACGGCCGTAAAGTCTATGACTTTATGCGCTGGGACTACTGGG
+CTTTCGGCATCTCTGGTCTGCTGTTAATCGCCGCTATCGTTATTATGGGCGTGCGCGGCTTTAACTGGGG
+GCTGGATTTTACCGGTGGTACGGTTATTGAAATTACGCTCGAAAAACCGGCTGAAATTGACGTAATGCGT
+GATGCATTGCAAAAAGCCGGTTTTGAAGAGCCGATGCTGCAAAACTTTGGTAGCAGCCACGACATCATGG
+TCCGTATGCCGCCTGCTGAAGGCGAAACAGGCGGTCAGGTGCTGGGCAGCCAGGTTCTGAAGGTGATTAA
+CGAATCCACCAATCAGAATGCGGCAGTGAAGCGTATTGAGTTCGTCGGTCCGAGCGTGGGGGCAGACCTT
+GCGCAAACCGGTGCGATGGCGTTGATGGCGGCGCTGCTGTCTATCCTCGTGTACGTAGGTTTCCGCTTTG
+AGTGGCGACTGGCGGCAGGGGTTGTTATTGCGCTGGCGCACGACGTTATCATTACGCTGGGTATTTTGTC
+GTTATTCCATATCGAGATTGACCTGACCATTGTGGCATCGTTGATGTCGGTTATCGGTTACTCGCTTAAC
+GACAGTATCGTGGTATCGGACCGTATTCGTGAAAACTTCCGCAAGATCCGTCGCGGTACGCCTTACGAAA
+TCTTTAACGTGTCCTTGACCCAGACGCTGCACCGTACCTTGATCACATCCGGTACTACCTTGATGGTTAT
+CCTGATGCTGTACCTCTTCGGTGGTCCGGTACTGGAAGGCTTCTCGCTGACCATGCTTATCGGTGTTTCC
+ATCGGTACTGCATCTTCCATCTATGTGGCATCTGCGCTGGCTCTGAAACTGGGTATGAAGCGCGAACACA
+TGTTGCAGCAGAAAGTGGAAAAAGAAGGGGCGGATCAGCCGTCAATTCTGCCTTAATCAAGTTTCAGCTG
+ATGTTGAAAATCCCGGTCAGAAGATCGGGATTTTTTTTGATGTAAGGTGATTGCGAAAATCCCCGCATCT
+TGGGAAACTGCGCGTAACCCTACATTTCATCCAGGTAACTTTTTCATGGCTATCATCCCAAAAAACTATG
+CGCGGTTAGAAAGCGGCTATCGCGAAAAAGCATTAAAAATCTATCCGTGGGTCTGCGGTCGCTGTTCCCG
+CGAGTTTGTTTATTCCAACCTGCGTGAACTTACCGTTCACCACATTGATCACGACCATACTAATAACCCG
+GAAGATGGCAGTAACTGGGAATTACTTTGTCTCTATTGCCACGATCATGAGCATTCGAAATACACCGAAG
+CGGATCAGTATGGTACGACCGTTATCGCAGGGGAAGATGCGCAGAAAGATGTCGGTGAAGCGAAGTACAA
+CCCATTCGCTGATTTGAAAGCGATGATGAACAAGAAGAAGTGATAAAAAATGCCGGATATGAAATCCGGC
+ATTCTCACAATTAGAAGTTGTAACCTACTACCAGATAACCACCCCAGCCGGTAGAGCGAACGTTGAAGTT
+GCCGTTGCCGAAGTTCAGTTCTGCATCGTCATTCCACTGACCACCGTTATGCCAGTAACGGGCAACGACA
+GAGTAGTGCCAGTGATCGTAATTCAGCGCCAGAATATGGCTGGACGCAATAGAGTTATTGGTACGTGTTT
+TAATACCGTTGTTCGCATAACCGCTGTCATCGCCCAGGTCGGAACCCCAGTCGAAGTTGGTGAAGCCGAT
+GTAGCTCAGCTGGCCGCCCCACAGATCGGTAATCGGCACAAAGTACTTCACTTTGAAACGGTAACCGTCC
+CACTCGTTTTCGTTCGCTGCGCCGTAGTTCTGCCACTGGTATTTCGCATAGACGTTCATGGACAGGCTCA
+TCGGCAGACCAGTATCGATGTCGGTACCCAGACCCATGTACCAGGTGCTCTGGCGGCCATCTTTATTACG
+ACCCATGTCGTAAATGTAGTTGTTCGCGAAGTACCACTCTTTGAACGGACCAAAGCTAAGGTCAGTATTG
+GTCAGCTTGTCGATGGAGAAACGCGGTTCGATTTCCATAAACAGCGGAGAACCGTGGTTCCAGATACCTT
+TTGCATCGGAGTTACCGCCGAAGAATACCGGCGCATCCGCATAACCATAGAAGTCGAACCAGTCTTTTTT
+AGCGAATGCTTCGTACTCAAGGTAGGTATCGTTGCGGAGCTGCGGTCCGAAACGGGTGTGATAGCTTCCG
+ACAACGTTAACGCTCTGGTGCCACCAGTCGGAAAGATACTGCGGTTTGTCGTTTTCAGCTGCGTTGACAG
+TAAAAGACGAAGAGAGCGCCAGTACCGCACCGGCTGCCAGTAATGTTTTTTTCATATGTATGCCACTGTT
+TGAAAATCCCTTGCGGGAGTGAAAAAGGCGCAAATTGCGTTTCTAAATATTTCGTATACAGAGGAGCCTA
+TTATAAAAATCATTGCTCACAAAAATATGTTTCGTTTCACAGTTCTATCATTTACGTAATCGATTGCGTT
+CACGTTTACACACATTCGGGCGGGGATTGTACTGACTTTCACCCTTGTTGCAAACTTTTACTATCAATCC
+AGGTGATGTAAGCGGAGTAACAAAATGACGGAGAAAGATGTTGCGGGACGCACAATATCGCCCCGCAATA
+CGTTTACTGCATAACAGGTTGAATGTCGTGGATACGTACAAAGCCTAACTGATCCACAGACATACCCTTT
+AACTGTAACGGAATATCAACATCGCTGGGGGCGAGGACGCTGGCAGGTGCGTTAATCAATTGATTCTGCA
+CATTGATTTCCTGAAAGTTGTCTATTGTTCCCTGAATTTGCCCATATTCAACGGTTCCGCTGAATGCGGG
+TAAAGGGTCATTGGATTCGCCCTGAATACGTAGCGTCAGGGTGGTGCCATCTGTATCAGGCGTAATATTC
+ACCAGCGACATACGTAAAGTACCGATCTGGCTTTCCAGTCTTGCTGGTGTTTTTGCTCCAGGCAGAAGGT
+AAACCCCACTGCTGGATTTTGCATTCAGCCTGTTTTGCTGAGTGATTTTGACCGTTTCTTTATTGAGCTG
+CGTCATCTCCTGGTTCAGCGTGCTGACGCTGTGTTTCATCTGTCGCACTTCACTTTGCTGCACACAGGCG
+CTAAGGCTGAACAGGCTTCCCAGCAGGAGCAGTCGAAAAACGTTAGTATTCATAGGTCGTCCCTTTCTCG
+TCGCAATTAGCCTAATGGTAGAGGGTAAAAGCAGTGAAAGCATCGATCCTTTATCTCAAAAGCGTTGCGC
+CTTTGTTGTATCGTCAGTTCAGGTTAAAATAGATTTCTGTTAACCACCTGGTCAGGACGCCGTATGCATT
+GCCCATTCTGTTTCGCCGTGGACACTAAGGTAATTGACTCTCGTCTCGTGGGCGAGGGTTCATCCGTACG
+CCGCCGTCGGCAGTGTCTGGTGTGTAATGAACGTTTCACCACCTTTGAAGTGGCGGAGCTGGTTATGCCG
+CGTGTTGTAAAAAGCAACGACGTGCGTGAACCGTTTAATGAAGAGAAATTACGTAGCGGAATGCTGCGGG
+CGCTGGAAAAACGTCCGGTGAGTTCCGATGACGTCGAAATGGCAATCAATCATATAAAATCGCAGCTGCG
+CGCCACCGGTGAGCGCGAAGTGCCGAGCAAGATGATTGGCAATCTGGTGATGGAGCAATTGAAAAAGCTC
+GATAAAGTCGCCTATATCCGTTTTGCCTCTGTCTACCGCAGTTTCGAAGATATCAAAGAATTTGGCGAAG
+AGATCGCGCGCCTGGAGGACTAAGCCGTGCAGGACGAGTATTACATGGCGCGGGCGCTAAAGCTGGCGCA
+ACGAGGACGTTTTACCACGCATCCCAACCCGAATGTCGGGTGCGTCATTGTCAAAGATGGCGAAATTGTC
+GGTGAAGGTTACCATCAACGAGCGGGTGAGCCGCATGCCGAGGTACACGCGTTGCGCATGGCCGGCGAAA
+AAGCCAAAGGCGCAACGGCGTATGTCACACTCGAACCCTGTAGCCATCATGGTCGTACGCCACCGTGTTG
+TGATGCATTAATTGCTGCGGGCGTGGCGCGCGTGGTTGCTGCAATGCAAGACCCCAATCCGCAGGTCGCT
+GGACGTGGACTTTACCGTCTGCAACAGGCTGGCATTGACGTCAGCCACGGGCTGATGATGAGTGAAGCTG
+AGCAATTGAATAAAGGCTTTCTCAAACGGATGCGCACCGGCTTTCCTTATATTCAGTTAAAACTTGGCGC
+ATCGCTTGATGGTCGCACGGCGATGGCGAGTGGCGAAAGCCAGTGGATCACTTCACCTCAGGCGAGGCGC
+GACGTACAACGACTGCGCGCGCAAAGTCATGCCATTTTAACCAGCAGCGCCACGGTGCTGGCGGATGATC
+CAGCCTTAACAGTGCGTTGGTCTGAACTGGATGAACAAACTCAGGGGCTCTACCCGCAACAAAATCTCCG
+CCAGCCGGTACGTATTGTGATTGATAGCCAAAATCGCGTGACGCCGGAACATCGCATTGTGCAGCAGCCC
+GGCGAAACCTGGTTCGCGCGTACGCAGGAAGATTCTCGTGAGTGGCCGGAAACGGTGCGTACCTTGCTGA
+TTCCAGAGCATAAAGGTCACCTGGATCTGGTTGTACTAATGATGCAACTGGGTAAACAGCAGATTAACAG
+CATCTGGGTGGAAGCGGGGCCAACGCTCGCTGGCGCATTGCTACAGGCGGGTTTAGTCGATGAGCTGATT
+GTCTATATCGCACCTAAACTATTAGGCAACGACGCCCGTGGATTATGCACGCTGCCAGGGCTTGAGAAAT
+TAGCCGACGCTCCCCAATTTAAATTCAAAGAGATACGTCATGTAGGCCCGGATGTTTGCCTGCATTTAGT
+GGGTGCATGATCTCCCGGCTCGAAAGGGAAGCAGCGCACGAAATATTATGCTAAAATCCGCCCCCCTGCG
+GGGCCATACTCGAACCCGAAGGAAGAAAATGAACATTATTGAAGCTAACGTTGCTACCCCGGACGCTCGC
+GTCGCCATCACCATCGCGCGTTTCAACAACTTTATCAATGACAGCCTGCTGGAAGGTGCAATTGACGCAC
+TGAAACGTATCGGTCAGGTAAAAGATGAAAACATTACCGTTGTTTGGGTGCCAGGTGCCTATGAGCTGCC
+GCTGGCGGCGGGTGCACTGGCTAAAACCGGTAAATACGACGCGGTGATTGCGCTGGGTACGGTTATTCGT
+GGTGGCACTGCCCACTTTGAATATGTCGCTGGTGGTGCAAGCAACGGCCTGGCGCATGTTGCCCAGGACA
+GCGAAATTCCGGTTGCTTTTGGTGTTCTGACCACTGAAAGCATTGAACAAGCGATCGAACGTGCTGGCAC
+CAAAGCTGGCAACAAAGGTGCAGAAGCTGCACTGACCGCGCTTGAAATGATTAATGTATTGAAAGCCATC
+AAGGCCTGAAATTAGTAAGGGGAAATCCGTGAAACCTGCTGCTCGTCGCCGCGCTCGTGAGTGTGCCGTC
+CAGGCGCTCTACTCCTGGCAGTTGTCCCAGAACGACATCGCTGATGTTGAATACCAGTTCCTGGCTGAAC
+AGGATGTAAAAGACGTTGACGTCCTGTACTTCCGTGAGCTGCTGGCCGGGGTGGCGACTAACACCGCATA
+CCTCGACGGACTGATGAAGCCGTACCTGTCCCGTCTGCTGGAAGAACTGGGCCAGGTAGAAAAAGCAGTA
+CTGCGCATTGCGCTGTACGAGCTGTCTAAACGTAGCGATGTGCCATACAAAGTGGCCATTAACGAAGCGA
+TCGAACTGGCGAAATCGTTCGGCGCAGAAGACAGCCATAAGTTCGTCAACGGCGTACTCGATAAAGCAGC
+ACCTGTGATTCGCCCTAACAAAAAGTAATATCCAGGCCGGTAGATTCACGGAAGACCGTTCCATGATCGC
+CGGCCTTTTCTTTTTTACCTGCTGAGGCATAACGTATGGCATGTGGCGAGTTCTCCCTGATTGCCCGTTA
+TTTTGACCGTGTAAGAAGTTCTCGTCTTGATGTCGAACTGGGCATCGGCGACGATTGCGCTCTTCTCAAT
+ATCCCTGAGAAACAGACCCTGGCGATCAGCACTGATACGCTGGTGGCGGGCAACCACTTCCTCCCTGATA
+TCGATCCTGCTGATCTGGCTTATAAAGCACTGGCGGTGAACCTAAGCGATCTGGCAGCGATGGGGGCCGA
+TCCGGCCTGGCTGACGCTGGCATTAACCTTACCGGACGTAGACGAAGCGTGGCTTGAGTCCTTCAGCGAC
+AGCTTGTTTGATCTTCTCAATTATTACGATATGCAACTCATTGGCGGCGATACCACGCGTGGGCCATTAT
+CAATGACGTTGGGTATCCACGGCTTTGTTCCGATGGGACGAGCCTTAACGCGCTCTGGGGCGAAACCGGG
+TGACTGGATCTATGTGACCGGTACACCGGGCGATAGCGCTGCCGGGCTGGCGATTTTGCAAAACCGTTTG
+CAGGTTGCCGATGCTAAAGATGCGGACTACTTGATCAAACGTCATCTCCGTCCGTCGCCGCGTATTTTAC
+AGGGGCAGGCACTGCGCGATCTGGCAAATTCAGCTATCGATCTCTCTGACGGTCTGATTTCCGATCTCGG
+GCATATCGTGAAAGCCAGCGACTGCGGCGCACGTATTGACCTGGCATTGCTGCCGTTTTCTGATGCGCTT
+TCTCGCCATGTTGAACCGGAACAGGCGCTGCGCTGGGCGCTCTCTGGCGGTGAAGATTACGAGTTGTGTT
+TCACGGTGCCGGAACTGAACCGTGGCGCGCTGGATGTGGCTCTCGGACACCTGGGCGTACCGTTTACCTG
+TATCGGGCAAATGACCGCCGATATCGAAGGGCTTTGTTTTATTCGTGACGGCGAACCTGTCACGTTAGAC
+TGGAAAGGATATGACCATTTTGCCACGCCATAAAGATGTCGCGAAAAGTCGCCTGAAAATGAGTAATCCG
+TGGCATCTGCTTGCTGTCGGATTCGGAAGTGGATTAAGCCCGATCGTTCCTGGCACGATGGGGTCGCTGG
+CGGCGATTCCCTTCTGGTATCTGATGACTTTTTTGCCCTGGCAGCTCTATTCGCTGGTGGTAATGCTGGG
+GATCTGTATCGGCGTCTATCTTTGTCATCAAACGGCGAAAGACATGGGCGTGCACGATCACGGCAGTATT
+GTCTGGGACGAATTTATTGGTATGTGGATTACGCTCATGGCGCTGCCGACCAATGACTGGCAGTGGGTTA
+CCGCCGGATTTGTGATTTTCCGTATTCTGGATATGTGGAAGCCGTGGCCGATCCGCTGGTTTGATCGCAA
+TGTACATGGCGGCATGGGGATCATGATTGACGATATTGTCGCCGGGGTGATCTCCGCTGGCATCCTGTAT
+TTTATCGGTCATCACTGGCCGCTGGGTATTCTGTCGTAGTTGTGCACCGATGCCTGATGTGACGCTTGTC
+ACGTCTCATCAGGCCTGCATACCTATTTAAATCCTGTGACCGGATGCGGTTTATACGGCGTTTCCAGCTC
+GGCGATCTGTTCCGGCTTCAAGGTGATATCCACCGCGTTTAGCAGTTCATCAAGCTGTTCCTCCCGAGAA
+GTTCCGATAATCGGTGCGGCAATGCCCGGTTTACTCAACAACCAGGCCAGCGCAACTTGTGCTCGCGTTG
+CACCAAGTTCTTCACTGACGCCCGTTAAGCGTTCTGCAATTTGTGCGTCATTTTCATTGCTTTCTTGGTA
+GAGATTTTTCCCCACTTCATCCGACACCAGCCGTGCGGTGGTTTCTCCCCAAGGACGCGTCAGACGGCCC
+CGCGCCAGCGGGCTCCATGGAATCACCGCCACGCCTTCCTGATAACACAGCGGCAGCATCTCGCGCTCTT
+CTTCACGATAAATCAGATTGTAGTGATCCTGCATACTGACAAACTGCGCCCAGCCGTGCTGTTTTTGTAG
+TTCCAGTGCCTGAGCAAACTGCGAAGCGTGCATGGATGACGCGCCGATATAACGCGCTTTCCCGGCTTTT
+ACCACGTCGTTGAGGGCTTCCAGCGTCTCTTCGATCGGCGTGTTGTAATCCCAGCGATGAATTTGCAGGA
+TATCGACATAATCCATGCCGAGACGGCGCAGGCTGTCGTCGATAGAGCGCAAAATTTGTGCACGGGATAA
+TCCTTCCGGTAAATCACCAACGCGATGGAACACTTTGGTCGCAACGACCACGTCTTCACGACGGGCGAAA
+TCCCGCAGTGCGCGACCGACGATCTCTTCGCTGCTGCCATCGGAATAGCTATTGGCGGTATCAAAGAAAT
+TTATGCCGCCTTCCAGCGCACGTTTAATGATGGGACGGCTGCTCTCTTCCGGCAGTGTCCATGCGTGATT
+ACCGCGATCTGGCTCGCCAAAGGTCATACAGCCGAGGCAAAGTCGGGAAACACGAAGGTCGGTTTTTCCT
+AAGGGGTTGTATTGCATGCTGCCACTCCTGCCATGAATAATTTCTTAAGCATAGCAGGAGTAGAGTAGGG
+ATTATGCCAGCCAGGCTTTGATTTTGGCTTCCATACCGGTGGCATCGAGGCCGAGTTCGGCGCGCATTTC
+TTCCTGAGTTCCTTGTGGAATAAAGAAGTCCGGCAGACCAATGTTCAGCACGGATACTGGTTTACGATGG
+GCCATCAGCACTTCGTTCACGCCGCTGCCTGCACCACCCATAATGGCGTTTTCTTCTACGGTAACCAGCG
+CTTCATGGCTGGCGGCCATTTCCAGAATTAACGCTTCATCAAGCGGTTTCACGAAACGCATATCGACCAG
+CGTAGCGTTCAGCGATTCAGCGACTTTCGCCGCTTCTGGCATCAGCGTACCAAAGTTAAGGATCGCCAGT
+TTCTCACCACGACACTTCACAATGCCTTTGCCAATTGGCAGTTTTTCCAGTGGCGTCAGTTCCACGCCAA
+CTGCGTTGCCGCGCGGGTAGCGCACCGCGGATGGGCCATCGTTATAGTGATAGCCGGTATAGAGCATCTG
+GCGACATTCGTTTTCATCGCTCGGGGTCATAATGACCATTTCCGGTATGCAGCGCAGGTAAGAGAGATCA
+AAAGCGCCCTGGTGGGTTTGACCGTCAGCACCAACAATGCCCGCACGGTCGATGGCGAACAGGACCGGAA
+GCTTTTGAATCGCCACGTCATGCAGCACCTGATCATAGGCGCGTTGCAGGAAGGTGGAGTAGATCGCAAC
+AATGGGTTTGTAGCCTCCAATCGCCAGACCCGCAGCAAAGGTCACTGCGTGTTGCTCGGCAATTGCCACG
+TCGAAGTAGCGATCCGGGAATTTACGTGAAAACTCGACCATGCCGGAACCTTCACGCATCGCCGGAGTAA
+TCGCCATCAGCTTGTTATCTTTCGCTGCGGTTTCGCACAACCAGTCGCCAAAGATTTTTGAATAGCTTGG
+CAAACCGCCGCTACTTTTCGGCAGACAACCGCTGGAGGGATCAAATTTAGGCACGGCGTGGAAGGTGATT
+GGGTCTTTTTCTGCCGGTTCATAACCACGACCTTTTTTGGTCATGATATGCAGGAACTGCGGGCCTTTCA
+GGTCGCGCATGTTCTTAAGCGTGGTGATAAGCCCCAGCACATCGTGACCGTCCACCGGGCCGATGTAGTT
+AAAGCCCAGCTCTTCAAACAACGTGCCAGGCACTACCATGCCTTTAATATGTTCTTCGGTACGTTTGAGC
+AGCTCTTTAATGGGTGGCACGCCAGAGAAAACTTTTTTTCCGCCTTCGCGCAGTGAAGAGTAAAGCTTAC
+CGGAAAGCAGCTGCGCCAGATGGTTGTTGAGCGCGCCAACATTTTCGGAAATCGACATTTCATTGTCGTT
+GAGAACCACCAGCATATCAGGACGGATATCGCCCGCGTGATTCATCGCTTCAAACGCCATGCCAGCAGTA
+ATCGCGCCATCGCCAATGACACAGACGGTGCGGCGATTTTTGCCTTCTTTCTCGGCAGCAACTGCGATCC
+CAATTCCGGCACTGATGGAGGTTGATGAATGCCCGACGCTTAATACGTCATATTCGCTTTCGCCGCGCCA
+CGGGAACGGGTGCAGGCCACCTTTCTGACGGATGGTGCCGATTTTGTCGCGGCGCCCGGTCAAAATTTTA
+TGCGGATAAGCCTGATGCCCCACATCCCAGATTAACTGGTCAAACGGGGTATTGTAGACATAGTGCAGCG
+CCACGGTCAGTTCGACCGTGCCCAGCCCGGAGGCGAAGTGCCCGCTGGAACGGCTCACGCTGTCGAGTAA
+ATAGCGGCGCAGTTCGTCGCAGAGTTTCGGTAAACTCTCTTTCGGCAACAGTCGTAACTCCTGGGTGGAG
+TCGACCAGTGCCAGGGTCGGGTATTTGGCAATATCAAAACTCATCAGGGGCCTATTAATACTTATTGTTT
+ATTTATTACGCTGGATGATGTAGTCCGCTAGCGCTTCCAGTGCCGAGGTATCGAGTGACTGTTCAGTCAG
+TTGTTTCAGCGACTGACGGGCATCGTCGATCAGATCCCGGGCTTTCTTCCGGGCTTGCTCAAGACCCAGA
+AGTGCAGGGTAGGTACTTTTACCAAGTTGCTGGTCGGCACCCTGGCGTTTTCCCAACGTTGCAGTATCTC
+CCACCACATCCAGGATGTCATCCTGAACCTGGAAGGCAAGGCCGATGCTCTCTGCGTACTTGTCGAGTAC
+TGGCAGAGCACGACGCCCTTTATCTCCGGCGCTTAATGCACCAAGGCGAACGGCGGCGCGAATCAATGCG
+CCAGTTTTATGACGATGTATACGCTCAAGCGCGTCCAGAGGTACGCGTTTGCCTTCCGCGTCTAAATCTA
+ATGCCTGACCACCGCACATTCCGGCAATACCGCTGGCGCTCGCCAGTTCAGAAATCATCGAAATTCTGTC
+GCGATCCGACACTTCCGGCATATCTGCATCGCTTAAAATCGAGAACGCCAGCGTTTGTAAAGCATCGCCA
+GCGAGAATCGCGTTTGCTTCGCCAAACTTCACATGGCAGGTCGGCAAACCGCGACGCAGATCGTCATCAT
+CCATCGCCGGTAAATCATCATGAATTAATGAGTAAGCGTGGATACACTCTACGGCGGCAGCGGGTGCGTC
+CAGTGTGTTTGTGCTAACGCCGAACATATGACCAGTGGCATAAACCAGGAAAGGTCGCAGGCGCTTACCA
+CCTAATAATGCGCCATACTGCATGGTTTCGACCACGGGAGTGTTCTGAAAGGGCAGTGGGGCGATAAAAC
+GGCTCAGCGCCTGGTTGGCCTGCTTAACGCAGGCTTCGAGTTGCTGCGGAAAGTCCATTACTCATTGTCC
+GGTGTAAAAGGGGTTAGAGAGGCGTCTTCATTGTCAGACAGCAGAATTTGTACGCGCTGTTCGGCTTGTT
+GTAATTTGGCCTGCCCCTGACGTGCCAGCTGCACGCCGCGTTCGAACTCGTTCAGCGCCTCTTCCAGCGG
+TAGGTCGCCACTTTCCAGATGGGTTACAATCTGTTCCAGCTCGCTCAGCGCCTTTTCAAAGCTGGCGGGA
+GCCTCATTTTTCTTCGGCATAATGAATGTCTGACTCTCAATATTTTTCGCCCCGTCATGGTAACGGACTC
+AGGGCAAATAGCAAATAACGCGCAATGGTAAGGTGATGTGCGCAGCAAAGCGATGTTAGTGGTATACTTC
+CGCGCCTGGATGCAGCCGCAGGTGTGGGCTGCTGTATTTTTCCCTATACAAGTCGCTTAAGGCTTGCCAA
+CGAACCATTGCCGCCATGAAGTTTATCATTAAATTGTTCCCGGAAATCACCATCAAAAGCCAATCTGTGC
+GCTTGCGCTTTATAAAAATCCTTACCGGGAACATTCGTAACGTTTTAAAGCACTATGATGAGACGCTCGC
+TGTCGTCCGCCACTGGGATAACATCGAAGTTCGCGCAAAAGATGAAAACCAGCGTCTGGCTATTCGCGAC
+GCCCTGACCCGTATTCCGGGTATCCACCATATTCTCGAAGTCGAAGACGTGCCGTTTACCGACATGCACG
+ATATTTTCGAGAAAGCGTTGGTTCAATATCGCGATCAGCTGGAAGGCAAAACCTTTTGCGTACGCGTGAA
+GCGCCGCGGCAAACATGATTTTAGCTCGATTGATGTGGAACGTTACGTCGGCGGCGGTTTAAATCAGCAT
+ATTGAATCTGCGCGCGTGAAGCTGACCAATCCGGAAGTGACTGTCCATCTGGAAGTGGAAGACGATCGTC
+TGCTGCTGATTAAAGGCCGCTACGAAGGTATTGGCGGTTTCCCGATCGGCACCCAGGAAGATGTGTTGTC
+GCTCATTTCCGGTGGTTTCGACTCCGGTGTTTCCAGTTATATGTTGATGCGTCGCGGCTGCCGCGTGCAT
+TACTGCTTCTTTAACCTCGGCGGCGCGGCGCATGAAATTGGCGTACGTCAGGTGGCGCATTATCTGTGGA
+ACCGCTTTGGCAGCTCCCACCGCGTGCGTTTTGTCGCTATTAATTTCGAACCGGTCGTCGGGGAAATTCT
+CGAGAAAATCGACGACGGTCAGATGGGCGTTATCCTCAAACGTATGATGGTGCGTGCCGCGTCCAAAGTG
+GCAGAACGTTACGGCGTACAGGCGCTGGTTACCGGTGAAGCGCTCGGCCAGGTGTCCAAGCCAGACGCTG
+ACCAACCTACGCCTGATTGATAACGTCTCCGATACGCTGATCCTGCGTCCGCTGATCTCTTACGACAAAG
+AGCACATCATCAACCTGGCTCGCCAGATTGGCACCGAAGACTTTGCCCGCACGATGCCGGAATATTGCGG
+CGTGATTTCCAAAAGCCCGACGGTGAAAGCGGTTAAATCGAAGATTGAAGCGGAAGAAGAGAAGTTCGAC
+TTCAGCATTCTCGATAAAGTGGTTGAGGAAGCGAATAACGTTGATATCCGCGAAATCGCCCAGCAGACCG
+AGCAGGAAGTGGTGGAAGTGGAAACCGTCAATGGCTTCGGCCCGAACGACGTGATCCTCGATATCCGTTC
+TATCGATGATCAGGAAGATAAGCCACTGAAAGTCGAAGGGATTGATGTGGTTTCTCTGCCGTTCTATAAA
+CTGAGCACCAAATTTGGCGATCTCGACCAGAGCAAAACCTGGCTGTTGTGGTGTGAGCGCGGGGTGATGA
+GCCGCCTGCAGGCGCTCTATCTGCGCGAGCAGGGCTTTAACAATGTGAAGGTGTATCGCCCGTAATATGT
+GGTTGTAACGTCGCATCTGGTCAGATGCGACGTTTACCGCATCCGACACTACTCGTAATAATTATAAATC
+CCTGCCGCCATCACCAGTTGTGATGCCACTTCATGGGCTTTCTCGCGCCCAACCAGCAGGTCGATAATTT
+TCAGACCAAAGTCGATAGCTGTACCTGGCCCCTGGCTGGTCAGCAATTTTACCCGTGCATCCCAGACGAC
+GCGCTTGTCCTGCCATTGTTCGGCGGGTATTTTGTCTTTCAGCGTCGGGAAGCCGGTCATATTGCCAATC
+GGGAAGATATCGTGCGGGACCAGCACGGTGGCTGGCGCGGCGCAAATAGCCGCGACGATACGCCCGGAAC
+GGTGGAACTGTTTAACGGTTTCAACCAGCAGGGTGCTATCGCGAAAACACTCTGCGCCTTTGATGCCACC
+AGGCAGCACAATCACGTCATATTCGCCATCAGCCACTTCAACCAGCGGCGCATCCGCCAGCAGCTTCACG
+CCGCGCGAGCAGGTAATCGCCAGGTTACCATCGCTGGCGACGCTGGCAGTGGTGACTTTGATACCGCCGC
+GAACCAGCAGATCGATAGTGGTGACGGCTTCAGTCTCTTCACTACCAGGGGCGAGGCAAACCAGTGCCGA
+TGCGCTCATATTCACTCTCCTTTCTTTTTACCATTTCAAACAGGCGGGTGTTTTCCGGTACGGCAATCCC
+ATGCGCGCGGGCGCGGCGTAAGAGAAAACCATTGATATAGTCGATTTCGGTGTGGCGCAGCGCGCGGATA
+TCCTGCAACATCGACGAGATATTTTCCGCTGTTGCATCAATCACCTGCATCACGTAATCACGCAAATCTT
+CTGCTGAAGTATGATGCCCTTCGCGTTCGACCACTGCCGCGACTTCTTCGCATATCTGCATAATTTCTTG
+CGGATGATGACGTAATTCACCATTCGGGCAATTCCAGATGGCGGTCAGTGGATTAATCACACAGTTGACT
+GCCAGCTTGCGCCACAACTCAGCGCGAATATTGTTATGCCACGCGACGTCAGGCAATACGGTTTGCAAAA
+TATCCGCCAGATAACTGTAATCGCCGTCCTGTTGCCGTGCCGGACCAATATGCGTGATACCGTTTGCCAC
+ATGAATAATGACATTGCCGTCGCGGCGGGCGGCATGGGTGGTGGTGCCCATCAGTAATGGCTGCTGAATG
+TTTTGCAACTCTTCGATGGTGCCCATGCCGTTGTGAATTAACAGTATTGGCGTGGTTACAGGCAGTGTGG
+ACGCGAGGCTTTTGACGGCATCGGAAACCTGCCATGCTTTCAGCGTCACCAGGAGCAGATCGCTGGTGGC
+GAGAAAATCGGGATCGTTGGCGGTCAGCGATTCGTTAAATATCGAACCATCTGTCTCAACCAGATTCACA
+CTACAATAAGGTTGCGGTACGCGCAGCCAGCCCTGAACGTCGTGACCCTGTTTACAAAGTGCTGTAAGCC
+ATAATTGCCCTAAGGCACCGCATCCCAATACGGTAATTTTCATTGTTCCTCCTCACCCGCAACCACTCCG
+GGTGTTCAATAAGGCTATCCCTTAATTGTGCATGCTGTTGCGACTATGCACAATTAAGGGATACGTCCTG
+GTGCAGGACTGTTGGTTATTTAACTTTGCAGGTATTATGCTTCGCATCAAAAATGAAGGGAGAGGAAAAG
+ATGCCATCTTTCGATATTGTCTCTGAAGTTGATCTTCAGGAAGCACGTAACGCGGTCGATAACGCGAGCC
+GCGAAGTGGAGTCCCGTTTTGACTTCCGTAACGTTGAAGCCTCATTTGAGCTGAATGACGCCAGCAAAAC
+CATCAAAGTGTTGAGCGAGTCCGACTTCCAGGTCAATCAGTTGCTGGATATTCTGCGTGCCAAGTTGCTG
+AAGCGCGGCATTGAAGGCAGTTCACTGGATGTACCGGAAAATATCGTTCATAGCGGTAAAACCTGGTTTG
+TGGAAGCGAAACTGAAACAGGGCATTGAGAGCGCGACTCAGAAGAAAATCGTCAAAATGATCAAAGACAG
+CAAACTGAAAGTGCAGGCGCAAATTCAGGGCGATGAGATCCGCGTAACGGGTAAATCTCGTGATGATTTA
+CAGGCTGTCATGGCGATGGTACGTGGTGGCGATCTCGGCCAGCCGTTCCAGTTCAAAAACTTCCGCGATT
+AATCGCGACAACCTGCGCTTTGTTCATGTCAGATGCGGCATGAACGCCTGATTCGGCCTACAAAGGTTTG
+TAACTCAGGAACTTAGTAGGCCTGATAAGCGTAGCGCAGCAGGCAATTTCGCCTCGCTTTTATGCCTGGC
+GAATTGCCTGTTCAACCTCAAAGCGATTCGTCACTTTGCTGTCGATTTTCACATAAGCTGAATGTTCTTC
+TTCTGCAATCAACACTTCTTTGATGCCTTCAGTTTCCAGCAAACGCACTTTTAACGCCTCGTTTGCGGCA
+ATGTTCGCCGGGATTTCAATGCGCAAGCTGCTGACATACGGCGGTTCTTTCATGGTACTGGCGACTGCCA
+GCCACACTGCGGCCAGCATTGCGCCAGCGAGAAATACGCCCTGACCGTCAAACATGCCGTCAATCCAGCC
+GCCCAGTGAACCGCCAATCGCCACGCCAAGAAACTGGCTGGTGGAGTAAACACCCATCGCCGTACCTTTG
+TAACCTGCTGGCGATTCTTTACTGATAAGTGAAGGCAGAAGGGCTTCCATCAAATTAAACGCCACAAAGA
+AAAGCTGCACGCCGACCACCAGTTGCCAGAACTGCGTTTGTGCGTTCCACAACACAATTTCCGCGACCAC
+GATCAACCCGACGCAGAAGACAAAGACTTGCTTCATTTTGCGCTTAACTTCAGCGTAGATAATGAAAGGC
+ACGACCGAGCCAAAGGCGATTAACATCGTTGCCAGGTAGACCTTCCAGTGTTCAGCCGCCGGTAACCCCG
+CATCAGCCATCTGTCCGGGCAGGGCAACAAAGGTCGACATCAGCAAAATATGCAGACACATAATGCCAAA
+GTTGAGTTTCAGCAGCCGCGGTTCCGCCAGCACTTTACTGAAACTGCCTTTCACCATTCCGGACTCACGA
+TTAAGTACGTGAGTGCTACTGTTGGGCACAACCCAAATGGTCAACGCAATGCCGGTTGTTGCCAGAATAG
+CGATCATCCAGAACAGCGCGTGCAGCCCAAGTTTGTGAGTGATGATCGGGCCAAGCACCATCGCAATGGC
+AAAGGTAATGCCAAAGCTCACGCCGATAAACGCCATCGCTTTGGTGCGGTTTTGTTCGCGCGTGAGATCG
+GAAAGCAGCGCCATAACGGCAGCGGCAATCGCACCGGAGCCTTGTAGCGCCCGGCCCAGAATAATTCCCC
+AGATGGAGTCAGAGAGCGCAGCGATAACGCTACCGGCGGCAAACACCGCCAGCCCACCGACAATTAATGG
+TTTGCGACCAATGCGGTCTGAAAGCAGGCCAAACGGAATCTGAAAAACGGCCTGAGTCAGACCATAAATA
+CCAATGGCAATACCGATTAATGCTTCGCTGGCACCTTGCAGAGCCATGCCGTACGTGGTCAGAACCGGCA
+GAACCATGAACATGCCCAGCATGCGTAATGAAAATACGGTCCCTAAACCCCAGGTCGCGCGCCGCTCACC
+TGGCGTCATTTTATAATCGTTCATTACCACCTCTGTTTTAAATTCGCGACTAGTGTAAAGCGGCAAACGA
+ATGGGGTAAACATGCGGATTTTTTAGTAAATATTTCGAGAGGGATATGATTCTAATGCTAAGAAAAAAGG
+TGCCGTAGCACCTTTTTAACTGAGAGGTTGTGTTACCACACAGCAGCCAGCAGCGTATGCGAGTCCGGCA
+CCATAAAATCAACGGACATCATCACCGAGAGGGCAGTGATGGCGATGATAGAGAAACCGAACAGCTTGCG
+CGCCCAGATTCTGTCATCAGCAACTTTATAGCCGCGCAGAGCCATGCCTAACCACCAGACGCTCACCGCA
+GCGGCGACCACCAGATATTTATACCCAGCGTAGCCGCCAAGAGAGAGCATCAGCGTGGCAACGGCAAAGG
+CGATGATATACAGCGTGATGTGATTCTTCGCCACCGAAATGCCTTTCACCACCGGCAGTACCGGAATGTT
+TGCCGCCTGATAATCCTTAAAGCGGAAAATGGCTATGGCATAAGAGTGAGGCATCTGCCACAGGCTGAAG
+ATAGCCAGCAGGATCGCTGCGCCGCTATCGAACTCGCCGGTTACCGCACAGTAACCGATCACCGGAGGCG
+CAGCGCCGGAGAGCGAACCAATCAATGTGCCGTAGACAGAATGACGTTTCATGTACAGGCTATAAACGCC
+GACATAAACCACAAAGCCCATCACCCCCAGCCAGCAGGCCAGCGGATTCGCGCCAAACCACAGCAGCATA
+AAGCCAGCAATACCCAGCAAGGTGGCGTACACCAGCGAGACAGCAGGAGAGATCAGGCCTTTCACCAGCA
+CCCGATTCTTCGTCCTTTCCATCTTTCGGTCGATATCCCTGTCGATGTAGTTGTTAAACACACAACCCGA
+CGCCACAACCAGTGACACCCCAACCAGCGTGTAGATAAACAGGGGATAATCAATGCTGCCCTTTGAGGCC
+AGCAAGAATCCCCCAATCACCGAGATCAGGTTGCCAAAGATGATGCCTGGTTTCGTTACTTGCAGGTATT
+GCTTAAATATCATAACCGCCGCTCTTAGTGCATCATCATGTTGTAGTTGAGGTTCCACATAATCCAAATG
+GAGCCCACAACCAGGATGGCGATGATTAGCACGGTGAAGACAAATGCCGTCATATTCCAGCCTTCATCTG
+ATTTGGTATTCATGTGCAGGAAGCACACCAGATGCACCAGAATCTGTACCACTGCCATTGCCAGGATTGT
+TCCCAGAATTACGGCCGGAGAGGCAGCCCCTGTCATCACCATCCAGAACGGAATTACCGTCAGGATTATC
+GACAGGATAAAGCCTGTCATGTAGGTCTTTACGCTGCCATGGGATGCGCCGCTGCTTGCGTTAGAATGAC
+TCATTACATCGCCCCCATCAGATAAACAACAGTGAACACACAGATCCAAACCACATCCAGGAAGTGCCAG
+AACAGGCTCAGGCACATGATGCGGGTACGGTTAGTGCTGGTCAGGCCGCGACGGGCGATTTGCACCATCA
+GCACCGCCATCCAGATAAGACCGGAAGTGACGTGCAGACCGTGCGTGCCGACCAGCGCAAAGAATGCTGA
+CAGGAAGCCGCTGCGATCCGGACCCATGCCGTTAACAATCAGGTGATGGAATTCATAGATTTCCATCCCG
+ATAAATCCGGCACCAAACAACCATGTCAACGCCAGCCAGGAGATCACCTGGCTTTTGTTGTTTTTGTACA
+TGGCGATAGCCGCCATGCCGTAGGTGATGGAGCTGAACAACAGGAAGAAAGTTTCAACCAGAACGAACGG
+CAGTTCGAAAATGTCCTTACCTGTCGGCCCACCTGCGGTGCCGTTCACCAGAACGGCATAGGTAGCAAAC
+AAGATAGAGAACAGAATGCAGTCGCTCATCAGGTAGATCCAAAATCCGAAGATTTTGGTTCCGCCTGCAT
+CGTGGTGCCCGTGTTCGTGCGCGTGGGCAGTCGCGTGCGTCAAAGTATCAGTTGCCATTTTTCAGCCCTG
+CCTTAGTAATCTCATCGAAATGCTGGTTTTCCAGTTTTTCGATTTCTGCCACCGGCACGTAGTAATCCAC
+GTCCTCGTCGAAGCTTTTCACGATCCAGGTGATGATCATGCCTGCGAAGCCAACAATCGCCAGCCACCAG
+ATATGCCAGATCATGGCGAAACCGAAGATGGTGGAGAAAGCCGCAATGACGATACCGGCACCGCTGTTTT
+TCGGCATATGAATTTCTTCATAGTGGTCAGGCTTTTTGTACGCTTCGCCTTTCTCTTTCATTTCCCAGAA
+TGCATCACGTTCGTGAACGTGCGGCACAACGGCAAAGTTATAGAACGGAGGCGGGGAAGAGGTTGCCCAC
+TCCAGCGTACGGCCACCCCACGGGTCGCCAGTCAGGTCACGGTTCTGGTCGCGGTCACGAATAGAAACGT
+ACATCTGAATAACGAGGCAGAGAATACCCAGCGCAATCAGTACCGCACCGCTGGCTGCAATCATCAGCAT
+GGTGTGGAACTGCGGGTCAATCTGCTGGCTCAAACGACGGGTCATGCCCATGAAGCCCAGCGCATACAGT
+GGCATAAAGGCAACGAAGAAGCCGATGATCCAGAACCAGAACGCGCGTTTACCCCAGGTTTCGTTCAGTT
+TGAAACCGAACGCTTTAGGCCACCAGTAGGTCATCCCTGCGAAGCAGCCGAAGACCACGCCGCCGATGAT
+CACGTTATGGAAGTGCGCAATCAGGAACAGGCTGTTATGCAGAACGAAGTCCGCGCCCGGTACTGCCAGC
+AGCACGCCAGTCATCCCGCCCACCGAGAAGGTGACGATAAAACCGATGGTCCACAGCATCGCAGAATGGA
+ACACGATGCGGCCCTGATACATGGTGAACAGCCAGTTGAAGATCTTCACCCCGGTCGGGATGGCGATAAT
+CATCGTGGTGATACCAAAGAAGGCGTTTACGTTCGCGCCCGCACCCATCGTAAAGAAGTGGTGCAGCCAG
+ACGATGAACGACAGCACGGTGATACAGACGGTTGCCCATACCAGCGAGGTATAACCAAACAGACGTTTAC
+GCGAGAAGGTTGCCGCAATTTCGGAGAACACACCGAATACAGGCAGGATCAAGATGTAAACTTCCGGGTG
+GCCCCAGGCCCAAATCAGGTTGATATACATCATCATGTTGCCACCCATATCGTTGGTAAAGAAATGGGTG
+CCCAGATAGCGATCCAGGGTCAACAACGCGACGGTAACCGTCAGAATTGGGAAGGAAGCAATAATCAGTA
+CGTTCGCGCACAGTGATGCCCAGGTAAATACTGGCATCTTGAACATGGTCATGCCCGGTGCGCGCATCTT
+CAGAATGGTAACGAAGAAGTTGATACCGGTAAGCGTCGTACCTATACCGGATAGCTGGAGACTCCATATC
+CAGTAATCGACACCGACTCCCGGACTGTACTCTATTCCCGATAGCGGTGGATAGGCCAGCCAGCCGGTCT
+GCGCAAATTCGCCCACGCCGAGAGAAACGTTAACCAGAATCACACCAACAACGGTAAACCAGAAGCTTAA
+GTTGTTGAGGAACGGGAACGCAACGTCACGCGCGCCGATCTGCAGCGGAACCACCAGGTTCATCAGACCG
+ATAACGAAAGGCATCGCCACGAAGAAGATCATGATCACGCCGTGTGCAGTGAAGATCTGATCGTAGTGGT
+GAGGTGGCAGGAAGCCCGCTTCGCCCGCAGAGGCAAGGGCCTGCTGACTACGCATCATAATGGCGTCAGC
+AAAACCACGCAGCAACATCACAATCGCCACGATGATATACATGATACCGAGACGTTTATGGTCAACGGAG
+GTCAGCCACTCTTCCCACAGGTAGGTCCACTTACCGAAGTAAGTGATCAGGCCAACGAGCGCCAGACCTC
+CCAAAATAATGCCAGCGATCGTAACCATGACGATAGGTTCATGGAACGGGACTGCATCAAGTGATAATTT
+TCCGAACATCTTTATTCTTCCTCAACCCCTTTAATGGGCGGATTCCGCGTGGCTCATGTCCATGCCTTCC
+ATACCTTCATGTGCGCTGTGCTCACCTTCTGGCTGGGTCATGTCCATGCTCTTACCGTGAGCCATAAACT
+TGTTAATCACATCGGCAAACAAGTCTGGTTTCACGTTGGAGAAATATTCCACCTGGTTGTATTCGCTAGG
+CGCGGCCAGTTTTTCGAACGCTGCCATGTCAGACATGCTGTTCGGCGACTGTTTCGCTTTTGCGACCCAT
+TGGTCGAATGCGGCGCGATCCGGTGTTGCAATAGCTTTGAACTTCATGCCTGAGAAGCCCGGGCCGCTGT
+AGCTGGCGGAGATACCGTCATAAGTACCGGGTTCGTTGGCGATCAGATGCAGGCGAGTCTGCATACCGGC
+CATGGCATAAATCTGGCTACCCAGACGCGGAATGAAGAAGGAGTTCATCACGGAGTTGGAGGTCACTTTG
+AAGTACACCGGAGTGTTCGCCGGGAAAGCGATTTCATTCACGGTTGCAATGCCCTGTTCCGGGTAGATGA
+AGAACCATTTCCAGTCCATGGAAACCACTTCGATGGTAATGGGCTTCTCGTCGTGTGCCAGCGGCTTGCT
+AGGCTCAAGAGCGTGAGTGGTTTTCCAGGTCAGTACCGCAAGGAAGATGATGATTAAGATAGGTACCGTC
+CAGACCACAGCTTCCACTTTATTGGAGTGTGACCAGTTCGGGCTGTACTTAGCATCTTTATTGCTCGCAC
+GGTACTTCCAGGCGAAACCAACAGCCATCAAGATTGCGGGAATAACGACAATCAACATCAGGCCAAATGC
+CGTCAGTATCAGTGAACGTTGCTCCAGACCAATCTGTCCTTTGGGATCTAACAGCGCAGAATTACAGCCA
+CTGAGCAATACAGTGCCTGCAAATAATGACAACCATCCCAAACTTTTATTGTATTTCCTGAGTCTCATTT
+AACGACCTCAATTCCACGGGATCTGGTGGCGTTTAAAGTGTGTGGGCATTTTACGGGAAGGTTACATTAC
+TGTAAACATGATTAAATTCCTGTTACTTGGATTTGGCTGTCAGGTCACATATGTTGCAAAACATATCAAG
+TTGATTTTAAGAAGCTGTTGCAAAAGGGCGTTATAACGAAAGGGGAGTGCAGAAGGAGTTTGGGTGGGCA
+ATTGGTATAATCAATATAAAATAAAACAATTATTTAACAAATAATTATCATTGAGGTGACAACTGGGTGG
+TGAGAAAATAAGGACTCATTAGCTGAATCGTGTAAGAAAAATAGAATTCATAAATTGCGTCAATAATTTC
+CAAACGCTAAGCCGCACAAAAGAACAAATATTAATAAGCGATGCTGATGTTTATTTAGCCGTAATAATTA
+CGGCGAGTGATTACTACAGCTAAATAATATTTACAGATTACGTCAGATGTGTTTTTCGTAGCGCCAGATA
+ATCCAGCAAACCACCAAGCACAACGCCAGAAAGGGCGACTAAAACCCCGACTTCCAGCAGCGCAGGCAGG
+AAAGAGAAGTGCGTCAAATCCAGCGCGTCCATTGTCAACAGCAGTAACCACACGGCCAACAGGCTGATAC
+CCGCCGCCAGTGTCCACATGGCAAAGGCATAACCTGCAGGATATTCGGTACGGGAGATAAAGTTGCCATT
+TACTCGTGTATATTCAAGCGTCTGGCGGCAAACCAGCAGCAAAATAAGCCCTGGTACGGCAGCGGCGACG
+GAGAATAGATAGAATGTCGACCAGCCATGTGCTTCAACAAACCAACCCGCCACGGGGCCGACATAAACTC
+GCCCTACAGCAGAAAGCGCTGAGAGCAGGGCAAATTGAGTAGCGGAAAATGACTTATTACACAGCGTCAT
+TAACAGCGCGACAAAGGCTGATGTACCCATCCCGCCACAGAGGTTTTCGAAAAAGACGGCTGCACCCATG
+CTGTAGAGATGCTTATCAGTAATCGACAGCAGCCAGTAACCGGCGTTAGATGCACCTTGTAAAATGCCGA
+AAATCAGCAGTGCACGGAACAGCGACAGGCGCTGCATCAAAATCCCACCGTACAATGCGCCAACAATGGT
+CGCCAGTAAGCCAAGCGTTTTGTTAACCACGCCTACTTCACCCGCATCAAACCCGACGCCGCGAATCAAA
+AACGTGGTTGTCAGGCTCATAGCGAATGCGTCGCCCAGCTTATACAGCACGATAAGAAGCAAAATAAGCC
+AGGCATTATTGCGACCAAAGAAATCTCGCAGAGGTGCAACAACCGCTTGTTCCAGCGTTTTGGGCACAGG
+AATGGTGTCGGTGGGTTCTGGTGCAAGCAACGTCGCGATAATACAGGGGATCAACAGCACCGCCATCAAC
+CAGTACATGCCCTGCCAGCCCAGCCATTTATCTGCCAGCCACAGGGCTAAGCCGCCGGAAACCAGCATCC
+CTAAACGGTAACCCAGCACGCTGATTGCCGCGCCCGCACCACGTTCTTCTGCCGGGAGCACATCGGTTTT
+CCACGCATCGAAGACAATATCCTGGGAGGCAGAGCAAAAAGCGATCACCACCGCCAGTGCCGCCATCCAG
+CGGAGCTGGGTGCCTGGTTCGAGAAAACCCATCGCCGCAATGGCGACTAATAACAGAATTTGCGTGGCGA
+GCAGCCAACCGCGCCGCCGCCCGAAAAATGGGGGCGTGTAGCGGTCCATCAGTGGTGACCAGAGGAATTT
+AAAAACGTAAGCCTGGCCTACCAGAGAGAAGAAACCAATGGTTTTGAGATCGATATTCTCGACCGTCATC
+CAGGCCTGTAAGGTGCCGGACGTCAGGGCGAGCGGTAGCCCGGAAGCAAAACCCAGGATCAGCAATATGG
+CTGAACGCGGCTGTTGAAAAATACGTAAATATTGACTGGACATGGGTGTCTACAGGCCCGGCTTGCACCG
+GGCCAGAGGGCAGAAATTAACGCGCGTTCTGCTTGATGAATTCGTGGATGCTGGTGTCCTGAGACATATC
+AGCGATGGTATCGGTCAGCACACTGTTAACCGCATCGGCGATATTTTTGTTGGAGGCCTGGAACGCACCT
+TCAACGTTGTAGCTGGCACGATAGTTTTTGGTCATTTTGTTGCCATTCTGCGCGGTAGCGATGATGGCGA
+TATCCGCTTTGGTCGCGATGTTGTAGCGCACGTTGCCCTGGGACACGTCAGCATACAGTTGGCTAACGAT
+GATTTGCAGATTAACCGGGCCATTCGGACCAACCATGTATCCACGGGCGGTCATCTGTTTTTCCAGCACT
+TCTTGCAGCAGGAAACGCAGATCGCGGGAGGCGGTCAGGGTAACGATTTGATTATCGCGGGTGACTTTTG
+CCAGCGCCTGATCGGTACGCTGATCGGCACCATTAATGCTTACGGTGACGCCCATCAGGCTTGGATCCTG
+CTGTGGCAGTGTAATCGTCGGGGAAACTTCGATAGTTGTTGGCGGTTTTGCGCATCCTGCAAGCATAAAC
+AGAGCAACTAACGGGAAGAGGATTTTTTTGAACATGTTCGGGCTCTCAGAGACTCTTAAGCGTGTTTGGT
+AAAAATTCCCGCCATCATAACATTGCCAACGGCGAGGGGAAGTGGGTAAGGCATGTAAATTCATCATGTT
+GACGAAATAATCGCCCCTGGTAAAAGAAACGCTGATGCGAGGCCTGTGTTTCAATCTTTAAATCAGTAAA
+CTTCATACGCTTGACGGAAAAACCAGGACGAAACCTAAATATTTGTTGTTAAGCTGCAATGGAAACGGTA
+AAAGCGGCTAGTATTTAAAGGGATGGATGACATCTCAGCGTTGTCGGAGGAGATATTTCATGATGATACG
+TGAGCGGATAGAAGAAAAATTAAGGGCGGCGTTCCAACCCGTATTCCTCGAAGTAGTGGATGAAAGCTAT
+CGTCACAATGTCCCAGCCGGCTCTGAAAGCCATTTTAAAGTTGTGCTGGTCAGCGATCGTTTTACGGGTG
+AACGTTTTCTGAATCGTCATCGAATGATTTACAGTACTTTAGCGGAGGAACTCTCTACTACCGTTCATGC
+GCTGGCTCTGCATACTTACACTATTAAGGAGTGGGAAGGGTTGCAGGACACCGTCTTTGCCTCTCCTCCC
+TGTCGTGGAGCAGGAAGCATCGCGTAAAAACGCATTTGCAACTGTCGGCGCTTTTCCAGTATGTTGCTAA
+AGATTTTATGAAAAACGGCCTGCGGGCCGTTTTGTTTTGTCTGGATTTTGCGCTTTTTGCCCAGCATTCA
+GACGAAAATCGCCCGGGAATTGTGAAAAAATACGCGACAGCGCGCAATAACCGTTCTCGACTCATAAAAG
+TGATGCCGCTATAATGCCGCGTCCTATTTGAATGCTTTCGGGATGATTCTGGTAACAGGGAATGTGATTG
+ATTATAAGAACATCCCGGTTCCGCGAAGCCAACAACCTGTGCTTGCGGGGTAAGAGTTGACCGAGCACTG
+TGATTTTTTGAGGTAACAAGATGCAAGTTTCAGTTGAAACCACTCAAGGCCTTGGCCGCCGTGTAACGAT
+TACTATCGCTGCTGACAGCATCGAGACCGCTGTTAAAAGCGAGCTGGTCAACGTTGCGAAAAAAGTACGT
+ATTGACGGCTTCCGTAAAGGCAAAGTGCCAATGAATATCGTTGCTCAGCGTTATGGCGCGTCTGTACGCC
+AGGACGTCCTGGGCGACCTGATGAGCCGTAACTTCATTGACGCCATCATTAAAGAAAAAATCAATCCGGC
+TGGCGCACCGACCTATGTTCCGGGCGAATACAAGCTGGGTGAAGACTTCACCTACTCTGTAGAGTTTGAA
+GTTTATCCGGAAGTTGAACTGCAGGGTCTGGAAGCGATCGAAGTTGAAAAACCGATCGTTGAAGTGACCG
+ACGCTGACGTTGACGGCATGCTGGATACTCTGCGTAAACAGCAGGCAACCTGGAAAGAAAAAGACGGCGC
+TGTTGAAGCAGAAGACCGTGTGACCATCGACTTCACCGGTTCTGTAGACGGCGAAGAGTTTGAAGGCGGT
+AAAGCGTCTGATTTCGTACTGGCGATGGGTCAGGGTCGTATGATCCCGGGCTTTGAAGACGGTATCAAAG
+GCCACAAAGCTGGCGAAGAGTTCACCATCGACGTGACCTTCCCGGAAGAGTACCACGCAGAAAACCTGAA
+AGGTAAAGCAGCGAAATTCGCTATCAACCTGAAGAAAGTTGAAGAGCGTGAACTGCCGGAACTGACTGAA
+GAATTCATCAAACGTTTCGGCGTTGAAGATGGTTCCGTAGAAGGTCTGCGCGCTGAAGTGCGTAAAAACA
+TGGAGCGCGAGCTGAAGAGCGCCATCCGTAACCGCGTTAAGTCTCAGGCGATCGAAGGTTTGGTAAAAGC
+TAACGACATCGACGTACCGGCTGCGCTGATCGACAGCGAAATCGACGTTCTGCGTCGCCAGGCTGCACAG
+CGTTTCGGTGGCAACGAAAAACAAGCTCTGGAACTGCCGCGCGAACTGTTCGAAGAACAGGCTAAACGCC
+GCGTAGTTGTTGGCCTGCTGCTGGGCGAAGTTATCCGCACCAACGAGCTGAAAGCTGACGAAGAGCGTGT
+GAAAGGCCTGATCGAAGAGATGGCTTCTGCGTACGAAGATCCGAAAGAAGTTATCGAGTTCTACAGCAAA
+AACAAAGAACTGATGGACAACATGCGCAATGTTGCTCTGGAAGAACAGGCTGTTGAAGCTGTACTGGCGA
+AAGCGAAAGTGACTGAAAAAGAAACCACTTTCAACGAGCTGATGAACCAGCAGGCGTAATTTACGTAGCA
+TAACGCGCTAAATTCGCACAAAGGCCCGTCACCGCCAGGTGGTGGGCTTTTTTTTGTCATGAATTTTGCA
+TGGAACCGTGCGAAAAGCCTCTTTCGGTGTTAGCGTAACAACAAAAGATTGTTATGCTTGAAATATGGTG
+ATGCCGTACCCATAACACAGGGACTAGCTGATAATCCGTCCATAAGGTTACAATCGGTACAGCAGGTTTT
+TTCAATTTTATCCAGGAGACGGAAATGTCATACAGCGGCGAACGAGATAACTTTGCACCCCATATGGCGC
+TGGTGCCGATGGTCATTGAACAGACCTCACGAGGTGAGCGCTCTTTTGATATCTATTCTCGTCTACTTAA
+GGAACGCGTCATTTTTCTGACTGGCCAGGTTGAAGATCACATGGCTAACCTGATTGTGGCGCAGATGCTG
+TTCCTGGAAGCAGAAAACCCAGAAAAAGATATCTATCTGTACATTAACTCTCCAGGCGGGGTGATTACTG
+CCGGGATGTCTATCTATGACACCATGCAGTTTATCAAGCCTGATGTCAGCACCATCTGTATGGGCCAGGC
+GGCCTCGATGGGTGCTTTCTTGCTGACTGCAGGGGCAAAAGGTAAACGTTTCTGCCTGCCGAATTCGCGC
+GTGATGATTCACCAGCCGTTGGGCGGCTACCAGGGCCAGGCGACCGATATCGAAATTCATGCCCGTGAAA
+TTCTGAAAGTTAAAGGGCGCATGAATGAACTTATGGCGCTTCATACGGGTCAATCATTAGAACAGATTGA
+ACGTGATACCGAGCGCGATCGCTTCCTTTCAGCCCCTGAAGCGGTGGAATACGGTCTGGTCGATTCGATT
+CTGACCCATCGTAATTGATGCCAGAGGCGCAACTGTGCCGCTATACTTATCCAGGGCGGCACAACGCTGT
+AAGCGGCTTGCGCCTGAGAATGGCATTTGCGTCGTCGTGTGCGGCACAAAGAACAAAGAAGAGGTTTTGA
+CCCATGACAGATAAACGCAAAGATGGCTCAGGCAAATTGCTGTATTGCTCTTTTTGCGGCAAAAGCCAGC
+ATGAAGTGCGCAAGCTGATTGCCGGTCCATCCGTGTATATCTGCGACGAATGTGTTGATTTATGTAACGA
+CATCATTCGCGAAGAGATTAAAGAAGTTGCACCGCATCGTGAACGCAGTGCGCTACCGACGCCGCATGAA
+ATTCGCAACCACCTGGACGATTACGTTATCGGTCAGGAACAGGCGAAAAAAGTGCTGGCGGTCGCGGTAT
+ACAACCACTACAAACGTCTGCGCAACGGAGATACCAGCAATGGCGTCGAGTTGGGCAAAAGTAACATTCT
+GCTGATCGGTCCGACCGGTTCCGGTAAAACGCTGCTGGCCGAAACGCTGGCGCGCCTGCTGGACGTTCCG
+TTCACCATGGCTGACGCAACCACGCTGACCGAAGCCGGTTATGTGGGCGAAGACGTTGAAAACATCATTC
+AGAAGCTGTTGCAGAAGTGCGATTACGACGTACAGAAAGCGCAGCGCGGGATTGTCTACATCGATGAAAT
+CGACAAGATTTCTCGTAAGTCAGACAACCCGTCCATTACCCGAGACGTTTCCGGTGAAGGCGTACAGCAG
+GCACTGTTGAAACTGATCGAAGGTACGGTAGCTGCTGTTCCGCCGCAAGGTGGGCGTAAACATCCGCAAC
+AGGAATTCTTGCAGGTTGATACCTCTAAGATCCTGTTTATCTGTGGCGGTGCGTTTGCCGGTCTGGATAA
+AGTGATTTCCCATCGTGTAGAAACCGGTTCCGGCATTGGTTTTGGCGCGACGGTAAAAGCGAAGTCCGAC
+AAAGCAAGCGAAGGCGAGCTGCTGGCGCAGGTTGAACCGGAAGATCTGATCAAGTTTGGTCTGATCCCTG
+AGTTCATTGGTCGTCTGCCGGTTGTCGCAACGTTGAATGAACTGAGCGAAGAAGCTCTGATTCAGATCCT
+CAAAGAGCCGAAAAACGCCCTGACCAAGCAGTATCAGGCGCTGTTTAATCTGGAAGGCGTGGATCTGGAA
+TTCCGTGACGAGGCGCTGGATGCTATCGCTAAGAAAGCGATGGCGCGTAAAACCGGTGCCCGTGGCCTGC
+GTTCTATCGTAGAAGCCGCACTGCTCGATACCATGTACGATCTGCCGTCCATGGAAGATGTCGAAAAAGT
+GGTTATCGACGAGTCGGTAATTGATGGTCAAAGCAAACCGTTGCTGATTTATGGTAAGCCGGAAGCGCAA
+CAGGCATCTGGTGAATAATTAACCATTCCCATACAATTAGTTAACCAAAAAGGGGGGATTTTATCTCCCC
+TTTAATTTTTCCTCTATTCTCGGCGTTGAATGTGGGGGAAACATCCCCATATACTGACGTACATGTTAAT
+AGATGGCGTGAAGCACAGTCGTGTCATCTGATTACCTGGCGGAAATTAAACTAAGAGAGAGCTCTATGAA
+TCCTGAGCGTTCTGAACGCATTGAAATCCCCGTATTGCCGCTGCGCGATGTGGTGGTTTATCCGCACATG
+GTCATCCCCTTATTTGTCGGGCGGGAAAAATCCATCCGTTGTCTGGAAGCGGCGATGGACCATGATAAAA
+AAATTATGCTGGTCGCGCAGAAAGAAGCTTCAACGGATGAGCCGGGTGTAAACGATCTTTTCACTGTCGG
+GACCGTGGCCTCTATATTGCAGATGCTGAAACTGCCTGACGGCACCGTCAAAGTGCTGGTCGAGGGGTTA
+CAGCGCGCGCGTATTTCTGCGCTCTCTGACAATGGCGAACACTTTTCTGCGAAGGCGGAGTATCTGGAGT
+CGCCGACCATTGATGAGCGGGAACAGGAAGTGCTGGTGCGTACTGCAATCAGCCAGTTCGAAGGCTACAT
+CAAGCTAAACAAAAAAATCCCACCAGAAGTGCTGACGTCGCTGAATAGCATCGACGATCCGGCGCGTCTG
+GCGGATACCATTGCTGCACATATGCCGCTGAAACTGGCTGACAAACAGTCCGTTCTGGAGATGTCCGACG
+TTAACGAACGTCTGGAATATCTGATGGCAATGATGGAATCGGAAATCGATCTGCTGCAGGTTGAGAAACG
+CATTCGCAACCGCGTTAAAAAGCAGATGGAGAAATCCCAGCGTGAGTACTATCTGAACGAGCAAATGAAA
+GCTATTCAGAAAGAACTCGGTGAAATGGACGACGCGCCGGACGAAAACGAAGCCCTGAAGCGCAAAATCG
+ACGCGGCGAAGATGCCGAAAGAGGCAAAAGAGAAAGCGGAAGCAGAGCTGCAGAAGCTGAAAATGATGTC
+TCCGATGTCGGCAGAAGCGACCGTAGTGCGTGGATATATCGACTGGATGGTACAGGTGCCGTGGAATGCG
+CGTAGCAAGGTCAAAAAAGACCTGCGTCAGGCGCAGGAAATCCTTGATACCGACCATTATGGTCTGGAGC
+GCGTGAAAGATCGTATCCTTGAGTATCTTGCGGTTCAAAGCCGTGTCAACAAAATCAAGGGACCGATCCT
+CTGCCTGGTAGGGCCGCCGGGGGTAGGTAAAACCTCCCTGGGTCAGTCCATCGCCAAAGCCACCGGGCGT
+AAATATGTCCGTATGGCGCTGGGCGGCGTGCGTGATGAAGCGGAAATCCGTGGTCACCGCCGTACTTACA
+TCGGTTCTATGCCGGGTAAACTGATCCAGAAAATGGCGAAAGTGGGCGTGAAAAACCCGCTGTTCCTGCT
+CGATGAGATCGACAAAATGTCTTCTGACATGCGTGGCGATCCGGCCTCCGCACTGCTTGAAGTGCTGGAT
+CCAGAGCAGAACGTAGCGTTCAGCGACCACTACCTGGAAGTGGATTACGATCTCAGCGACGTAATGTTTG
+TCGCTACGTCGAACTCCATGAACATTCCGGCACCGCTGCTGGATCGTATGGAAGTGATTCGCCTCTCCGG
+TTATACCGAAGATGAAAAACTGAACATCGCCAAACGTCACCTGCTGCCGAAGCAGATTGAACGTAATGCA
+CTGAAAAAAGGTGAGCTGACCGTCGACGATAGCGCCATTATCGGCATTATTCGTTACTACACCCGTGAGG
+CGGGCGTGCGTGGTCTGGAGCGTGAAATCTCCAAACTGTGTCGCAAAGCGGTTAAGCAGTTACTGCTCGA
+TAAGTCATTAAAACATATCGAAATTAACGGCGATAACCTGCATGACTACCTCGGTGTTCAGCGTTTCGAC
+TATGGGCGCGCGGATAACGAAAACCGTGTCGGCCAGGTAACCGGTCTGGCGTGGACGGAAGTGGGCGGTG
+ACTTGCTGACCATTGAAACCGCGTGCGTTCCGGGGAAAGGTAAACTGACCTATACCGGTTCGCTCGGCGA
+AGTGATGCAGGAGTCTATTCAGGCGGCGTTAACGGTGGTTCGTGCGCGTGCGGAAAAACTGGGGATCAAC
+CCTGATTTTTACGAAAAACGTGACATCCACGTCCACGTACCGGAAGGTGCGACGCCGAAAGATGGTCCGA
+GTGCCGGTATTGCCATGTGCACCGCGCTGGTTTCTTGCCTGACCGGTAACCCGGTTCGTGCCGATGTGGC
+AATGACCGGTGAGATCACTCTGCGTGGTCAGGTACTGCCGATCGGTGGTTTGAAAGAAAAACTACTGGCA
+GCGCATCGCGGCGGGATTAAAACAGTGTTAATTCCGTTCGAAAATAAACGCGATCTGGAAGAGATTCCTG
+ACAACGTAATTGCCGATCTGGACATTCATCCTGTGAAGCGCATTGAGGAAGTTCTGACTCTGGCGCTACA
+AAATGAACCGTCTGGCATGCAGGTTGTGACTGCAAAATAGTGACCTCGCGCAAAATGCACTAATAAAAAC
+AGGGCTGGCAGGCTAATTCGGGCTTGCCAGCCTTTTTTTGTCTCGCTAAGTTAGATGGCGGATCGGGCTT
+GCCCTTATTAAGGGGTGTTGTAAGGGGATGGCTGGCCTGATATAACTGCTGCGCGTTCGTACCTTGAAGG
+ATTCAAGTGCGATATAAATTATAAAGAGGAAGAGAAGAGTGAATAAATCTCAATTGATCGACAAGATTGC
+TGCAGGGGCTGATATCTCTAAAGCTGCGGCTGGCCGTGCGTTAGATGCTATTATTGCTTCCGTAACTGAA
+TCTCTGAAAGAAGGGGATGATGTAGCACTGGTAGGTTTTGGTACTTTTGCCGTCAAAGAGCGTGCTGCCC
+GTACTGGCCGCAACCCGCAGACCGGTAAAGAGATCACCATCGCTGCTGCTAAAGTACCGAGCTTCCGTGC
+AGGTAAAGCACTGAAAGACGCGGTAAACTAAGCGTTGTCCCCAGTGGGGATGTGACGAAGTTCAAGGGCG
+CATCTACTGATGTGCCTTTTTTATTTGTATTCGGTGACTTTCTGCGTCTTGTGGGCTGACAATTGCCCCC
+GTTTCTTGTCACAATAGGCCTTTGCGCGCATCGATACGTTGCGTGAGGTACACAGTCATCTACAGCGGAG
+TGTTGTTACACCATGATGGACAGCTTACGCACGGCTGCAAACAGTCTCGTGCTCAAGATTATTTTCGGTA
+TCATTATCGTGTCGTTCATATTGACCGGCGTGAGTGGTTACCTGATTGGCGGAGGCAATAACTACGCCGC
+AAAAGTGAATGACCAGGAAATCAGCCGTGGGCAATTCGAGAACGCCTTCAACAGCGAGCGTAATCGCATG
+CAGCAACAGCTGGGCGATCAATACTCCGAGCTGGCAGCGAACGAAGGCTATATGAAAACCCTGCGTCAAC
+AGGTGCTGAATCGTCTGATCGACGAGGCGCTTCTGGATCAGTACGCTCGTGAGCTGAAACTGGGTATCAG
+CGATGAGCAGGTTAAACAGGCGATTTTCGCGACCCCAGCCTTCCAGGTTGACGGCAAATTTGATAACAGC
+CGCTATAACGGTATCCTCAACCAGATGGGGATGACCGCCGATCAGTACGCCCAGGCGCTGCGTAACCAGC
+TCACTACTCAACAGCTGATTAACGGCGTTGCCGGTACCGATTTTATGCTGAAAGGTGAAACCGACGAGCT
+GGCGGCACTGGTAGCTCAACAACGCGTGGTGCGTGAAGCGACTATCGATGTTAACGCGCTGGCGGCGAAG
+CAGCCTGTGACCGAACAGGAAATTGCCAGCTACTACGAACAAAACAAAAACAATTTCATGACGCCGGAAC
+AATTCCGCGTGAGTTACATCAAGCTGGATGCCGCGACGATGCAGCAACCGGTTAGCGATGCGGATATCCA
+GAGCTACTACGATCAGCATCAGGATCAATTCACCCAGCCGCAGCGTACCCGTTACAGCATCATCCAGACC
+AAAACTGAAGATGAAGCGAAAGCGGTACTTGATGAGCTGAATAAGGGCGGTGATTTTGCTGCATTAGCCA
+AAGAAAAATCTGCCGATATTATCTCTGCCCGCAACGGCGGTGATATGGGTTGGTTAGAAGATGCCACTAT
+CCCGGACGAACTGAAAAATGCTGGTCTGAAAGAAAAAGGCCAACTGTCTGGTGTTATCAAATCTTCGGTC
+GGTTTCCTGATTGTGCGTCTGGACGACATTCAGCCAGCGAAAGTGAAATCGTTAGACGAAGTACGTGACG
+ACATTGCGGCGAAAGTGAAACACGAAAAAGCCCTCGATGCGTACTACGCGCTGCAGCAGAAAGTGAGCGA
+TGCGGCAAGCAACGACACCGAGTCTCTGGCCGGTGCAGAGCAAGCTGCCGGCGTTAAAGCCACTCAGACG
+GGTTGGTTCAGCAAAGATAACCTGCCGGAAGAGTTGAACTTCAAGCCAGTTGCCGACGCTATCTTCAACG
+GCGGTCTGGTAGGTGAAAACGGCGCGCCGGGCATCAACTCTGACATCATCACCGTAGACGGCGACCGCGC
+ATTCGTGCTGCGCATCAGCGAGCACAAACCGGAAGCGGTGAAACCGTTGGCAGATGTTCAGGAACAAGTT
+AAGGCACTGGTTCAGCACAACAAAGCTGAACAACAGGCGAAAGTGGATGCTGAGAAACTGCTGGTTGATT
+TGAAAGCCGGCAAAGGTGCGGAAGCTATGCAGGCTGCCGGTCTGAAATTTGGCGAGCCGAAAACCTTAAG
+CCGTTCCGGTCGTGACCCGATTAGCCAGGCTGCGTTTGCACTGCCACTGCCAGCGAAAGACAAACCGAGC
+TACGGTATGGCGACCGATATGCAAGGTAATGTGGTTCTGCTGGCGCTGGATGAAGTGAAACAAGGTTCAA
+TGCCGGAAGATCAGAAAAAAGCGATGGTGCAGGGTATCACCCAGAACAACGCACAAATCGTCTTTGAAGC
+TCTGATGAGTAACCTGCGTAAAGAGGCGAAAATCAAAATTGGCGATGCGCTGGAACAGCAATAATCCTGA
+AGCCGCCTCGCAAAAAAATGCTTTGCAGCTGTAACAAGAAAAGGTCGCTTTCGCGGCCTTTTCCATTTCT
+GAACATTGCCATTTGTTTACTGTTTTCACTGCCGTTAAGGTGATTCCACTGTTAACAAACAAGGAGAAAA
+CAGTATGAAACACGGAATTAAAGCACTGCTCATTACCCTGTCCCTGGCCTGTGCCGGAATGTCTCATAGC
+GCGCTGGCGGCAGCTTCTGTGGCGAAACCGACAACAGTAGAAACCAAAGCGGAAGCTCCTGCAGCACAAA
+GTAAAGCAGCAGTACCGGCGAAAGCCAGTGACGAAGAAGGCACCCGGGTCAGCATTAATAATGCCAGCGC
+GGAAGAGTTAGCCCGCGCGATGAATGGCGTTGGCCTGAAGAAAGCGCAGGCGATTGTCAGTTATCGCGAA
+GAGTACGGTCCGTTTAAAACGGTGGAGGATCTAAAGCAGGTGCCGGGGATGGGCAATTCGCTGGTGGAAC
+GTAATCTGGCGGTATTAACCCTGTAATTAATTTGCATAGTGGCAATTTTTTGCCAGACTGAAGAGGTCAT
+ACCAGTTATGACCTCTGTACTTATAACAGTTCTTATAACAACAACGTAAGGTTATTGCGCTATGCAAACA
+CAAATCAAAGTTCGTGGATATCATCTCGACGTTTACCAGCACGTAAACAACGCCCGCTACCTTGAATTTC
+TCGAAGAAGCCCGCTGGCATGGGTTGGAAAATAGCGACAGTTTTCACTGGATGACGGCCCATAACATCGC
+CTTCGTCGTGGTCAATATCAATATTAACTATCGCCGCCCGGCGGTATTAAGCGACCTGTTAACCATTACC
+AGTCAGTTGCAGCAATTAAACGGTAAAAGTGGCATCTTAAGCCAGGTCATTACACTGGAGCCGGAAGGAC
+AGGTGGTAGCGGATGCGCTTATTACGTTTGTTTGTATTGATCTTAAAACGCAGAAAGCATTAGCTCTGGA
+AGGGGAATTGCGCGAAAAGCTGGAGCAGATGGTTAAGTAAACGTTTTGTGGTGCCGGATGCTCAAGCCGC
+ATCCGGCGACACCCGGAATAATTACTTCAACCCGGTTTTCTGCTTCATCGCTGCCATCACCGTCGGTTTA
+TCGGCCAGATAATGATTCAAACCGTTGGCACGTAAATTACACGCCGCACAATGACCGCAACCGTCGCCTT
+TAATGCCGTTATAACAGGTCAGCGTTTCGTTACGGACTAAATCCAGCTTGCCGTAATAATCTGCCAGCGC
+CCAGGTTTCCGCTTTATCAATCCACATCAGCGGCGTTTCAAAACGAATATCTTTCGCCATGCCCAAACTG
+ACGGCATGGTTTAGTGCTTTCACAAACTCATCGCGGCAATCCGGGTAGCCGGAGAAATCCGTTTCGCAGA
+CGCCGGTAATTACGGCTTCTGCTTTTACCTGATACGCATATATTGCCGCCAGTGTCAGGAACAAAATATT
+ACGCCCTGGGACAAACGTATTCGGGATACCATCGGCTTCAGGTTCATAATCAGGCACCGGAATGCTGTCA
+CGCGTCAGGCTGCTGACCGCCAGCTCGTTGAGCAGCGTTACATCAAGCACCTTATGCGCGCGTGCCCCCA
+GTTTCAGCGCCAGTTCGCGTGCCACGTCGATTTCTGCGCGATGGCGTTGACCGTAATCGAACGTCACGCA
+ATGGACTTCATCATATTGTTGTAATGCCTGCACCAGACAGGTGGTGGAATCCTGGCCTCCACTGAACACA
+ACGACAGCACGTTTCATAGATAATCCTGCTTGAACAATAAAAACGTTATGGTAACGCCTGCGATTAACCC
+GGACCAGCTATTCATTGCGACGGCGCGGGAAGCCAGGCTTCGGTAAATTCAAACCAGCCGCGCGGTGTCA
+GTCGCACACCGTTCACGCCGGGAGGGGCGCTAATGCGATAGTGATAGTTGAACAGCGGCGTCAGCGTCGC
+ATCTGCCATTAACTGGCTAAAAACCGCTTTCAGGGCATTAAATCGGTTTTCCTCATCAGGCATTACTTGC
+ACCGCGTCCAGTGTCGATTGCAAATGTGCATATGCTGGAGCGTCGAAAACATGTGGCCACAGTGGATCGC
+AACGCAGCCATTGCTCCAGGGTATATTCCGGTGCTTCGCCAATTAATCTGTCGCCCATCATGAGGTCTGC
+GTGTGCCAGTAGGGTCGTGTCGTCCCAGTTTTTTGCGTTATGAAAAATAATTGTGAGTTCACAGCCTTCC
+GCTGCCAGTGTCGCCTGTAGGCGTTCTGCCATGGTATGAAGTTCTATCGGTAGGTGATAAACCAGCGTCA
+AGGTTTTCGGTAGTTTGACTTCATCCGGTACTTGCCATTGTGGAATAGTCCAGTCTGGCAGTAATGCATG
+ACTGGCGGTGATCAGGTTTTCTCCGACTTCTAACGTTTGTAATAAACCGGATTGATGAATAATGGAGATC
+ACTTTTCGCGCCTGCCAGAGGGACAGTCGGGGACTTTTGCGCAACGTTAAATAGCAAAAACCTAAACTGA
+TGCCACTACTGACCTGGCTGACCCGTTGCAGCTCCTCAGGTTTGCCGATAGTGATTTGCACGGGATGCCG
+ACAACTGGTTCCCAAATCTTTTTCGAAAAGCGGAGGAGTTATCCAGTACTCAACCGCTTTAAGCAGCGGA
+TGACGTAAATGGTAATAATCATGGCTTTCCAGGCGCACCAGTTCCGCTGTGAATTGTGTTAAGCGAAAAG
+GACCAGTGCCGATCAGGGGGAATTGCGGATGCGCCAGATGGCTGCAATAGCTCGCCAGCCGGTGCGCAAG
+CCAGTAATCGGGGCGATGTAAAAAGAAGGTCAGACACTGCGGATGGGTGACTTCAATACGCTTCACGCTA
+ATAAATAATTGATCCAGTGCTGGCAGTTGTAACAGCATCAATAACCGCTGGTGTAAGTGGGAGGCTTTTA
+CTGCATCGCCGTTATGCCAGTGTAAGGTTGAGCGAAGATAAAAATCCCAGCGTAACCCGTCAGTAGAGGT
+TTCCCAGTGATGCGCTAAATCGCCAATCGGGCGCTGGGTATTATTATCGAAGCGGGTCAGGCCGGAAAAT
+ATCTGCCCGGCCAGATGCTGCTCGGCACGGCCGGGCAAAAAGCCCGGTTGTAGCGGTTCGAGCGGGCGAT
+AGTAGGGAATACGCAACGTGGGCGTATCGTTTTGCCATTGTCCGCCCATAAACGGCTGTAACAGAGTGCG
+CAACTCACCTGGGGCCAGTTGCGCCAGCTCCAGCACATCTTGCTGCTTTCCGGTTTCCAGCGCCTGTTCC
+ATCATCGCATTGCGTAGCGATTCTGGCGTGACCAGAAAGCGTAGTTGACCGCGCTTTCCGCGTCCTGACT
+GCGCCTGCCACTCCAGCCATCCCGCCTCCTGTGCCTGACGCAACACCGTACGAACATGGCGTTCGCTGCA
+AAAACAGCGTTCGGCCAGTTCGCTGACGGTGACGGTTTGCGGCTTTCCGGCGGAAGGTTGCCACAGACGT
+TGATACTGGTTAAGACGGTTGAGCAGTCGCATATAAACCCGGAACAATATTATTTAACTATTCACTATTA
+CTTCCGTATATATCAGGTGATACTCAATCACCATTAACCGTGTCACAGAGTGGAGAAAGAAATGGCTCGT
+CTGGCAGCATTTGATATGGATGGCACTTTATTGATGCCTGACCATCATTTAGGTGAGAAAACCCTCTCTA
+CTTTGGCGCGACTGCGTGAACGCGACATTACCCTCACTTTTGCCACGGGGCGTCATGCGCTGGAGATGCA
+GCATATTCTCGGGGCGCTATCGCTGGATGCATATTTGATTACTGGCAACGGAACGCGCGTGCATTCTCTG
+GAAGGTGAACTTTTACATCGTGATGATTTACCTGCGGATGTCGCGGAGCTGGTGCTGTATCAGCAATGGG
+ATACCCGAGCAAGCATGCATATCTTCAATGACGATGGTTGGTTTACCGGGAAAGAGATCCCTGCGTTGTT
+GCAGGCATTTGTCTATAGCGGTTTTCGTTATCAGATAATCGATGTCAAAAAAATGCCACTCGGCAGCGTC
+ACCAAGATCTGCTTCTGTGGCGATCACGACGATCTTACACGCTTGCAGATCCAGCTATACGAAGCATTAG
+GCGAGCGTGCACATTTATGTTTTTCCGCCACGGATTGCCTCGAAGTGCTGCCGGTGGGCTGCAATAAAGG
+CGCTGCATTGACGGTGCTGACCCAACATTTAGGTTTATCGTTACGCGATTGCATGGCCTTTGGTGATGCG
+ATGAACGATCGCGAAATGTTAGGCAGTGTCGGTAGCGGATTTATTATGGGCAATGCGATGCCGCAACTGC
+GCGCGGAGCTCCCGCATTTACCGGTGATTGGACATTGCCGAAATCAGGCTGTCTCTCACTATTTGACGCA
+CTGGCTGGACTATCCACATCTACCTTATTCCCCCGAATAACGAGATCCCTTCCAGCACCGGGCAATTGCC
+CGGTTTTTTTTGCGTTGAATTTGTCATTTTGTGCCGTGATGCTTAAACCGCACAGAATAAATTGTCGCGA
+TTTCACCTTTAAAATAGAATTAAAAGAGAAAAAAATTCTCTGTGGAAGGGCTATGTTAGATAAAATTGAC
+CGTAAGCTGCTGGCCTTGCTACAGCAGGATTGCACCCTCTCTTTGCAGGCACTGGCTGAAGCCGTTAATC
+TGACAACCACCCCCTGCTGGAAGCGTCTGAAACGGCTGGAGGACGACGGTATCCTTATCGGCAAAGTCGC
+CCTGCTGGATCCGGAAAAAATAGGCCTCGGCCTGACCGCCTTTGTGCTGATAAAAACGCAACATCACAGC
+AGCGAATGGTATTGCCGCTTTGTCACGGTGGTTACCGAAATGCCAGAAGTGCTGGGGTTCTGGCGCATGG
+CTGGTGAATACGATTATCTGATGCGCGTCCAGGTTGCCGACATGAAACGCTACGACGAGTTTTATAAGCG
+TCTGGTAAACAGTGTACCGGGGCTGTCGGACGTCACTTCCAGCTTCGCGATGGAACAGATTAAATACACC
+ACTTCTTTACCCATCGAATAAATATCCAGAATCAAGTCAGGACACAACGCGTGCGATTATTTGCTCAATT
+AAGCTGGTATTTCCGTCGGGAATGGCGTCGCTATCTCGGGGCTGTCGCCTTGCTTGTCATTATCGCGATG
+CTGCAACTGGTTCCGCCAAAAGTGGTTGGTATTGTTGTTGATGGCGTGACAGAACAACACTTTACTACCG
+GGCAGATCCTGATGTGGATCGCCACCATGGTGCTGATTGCCGTTGTGGTTTATCTCCTGCGTTACGTCTG
+GCGCGTATTGCTGTTTGGTGCGTCTTATCAACTGGCTGTTGAACTGCGTGAAGATTATTACCGCCAGCTA
+AGCCGGCAGCATCCTGAGTTTTACCTGCGTCATCGCACGGGTGACCTCATGGCTCGTGCGACCAATGACG
+TCGATCGCGTCGTGTTTGCCGCCGGAGAAGGGGTGCTGACGCTGGTGGATTCACTGGTAATGGGCTGCGC
+TGTGTTGATTATGATGTCTACGCAAATTAGCTGGCAGTTGACCTTATTTGCCCTGTTGCCGATGCCAGTG
+ATGGCGATCATGATCAAGCGCAACGGCGATGCCTTGCATGAACGCTTTAAGCTGGCACAGGCGGCGTTTT
+CCAGTCTTAATGACCGCACCCAGGAAAGCCTCACCAGTATCCGCATGATCAAAGCCTTTGGTCTGGAAGA
+TCGTCAGTCGGCGTTATTTGCCGCGGATGCCGAAGATACCGGCAAAAAAAACATGCGGGTGGCGCGTATT
+GATGCTCGTTTCGACCCGACCATCTATATCGCGATTGGTATGGCGAACTTGCTGGCGATTGGCGGCGGTA
+GTTGGATGGTGGTACAGGGCAGTTTAACGCTGGGCCAGCTCACCAGTTTTATGATGTATTTAGGTCTGAT
+GATTTGGCCAATGCTGGCGCTGGCATGGATGTTTAACATTGTGGAACGTGGCAGCGCGGCGTATAGCCGA
+ATTCGTACCATGCTGGCCGAAGCGCCAGTCGTTATTGATGGTAGTGATAAGGTGCCAGAAGGTCGTGGTG
+AACTGGATGTGAATATTCGCCAGTTTACGTATCCGCAGACTGACCATCCTGCGCTGGAAAACGTCAATTT
+CGCCCTGAAACCCGGTCAGATGGTAGGTATTTGCGGGCCGACTGGTTCCGGCAAAAGTACCCTGTTGTCG
+CTCATTCAGCGTCATTTCGACGTCAGCGAGGGGGATATCCGCTTTCATGATATTCCTCTGACGAAGTTAC
+AACTCGATAGCTGGCGTAGCCGCCTGGCGGTGGTCAGCCAGACACCGTTCCTTTTTTCCGACACCGTAGC
+GAACAACATCGCGTTGGGTTGCCCGAATGCCACCCAGCAAGAGATTGAGCATGTCGCGCGGTTAGCCAGC
+GTGCATGACGATATTTTGCGTTTACCGCAAGGTTACGATACAGAAGTGGGCGAGCGCGGCGTGATGCTTT
+CCGGTGGGCAAAAACAGCGTATCTCCATTGCTCGTGCGTTATTAGTCAACGCGGAAATCCTCATCCTTGA
+TGATGCGCTTTCAGCGGTGGACGGACGCACAGAGCACCAGATCCTGCATAACCTGCGTCAGTGGGGGCAG
+GGAAGAACGGTAATCATCAGTGCCCATCGCCTTTCTGCACTGACGGAAGCCAGTGAAATTATTGTGATGC
+AGCACGGACATATCGCCCAGCGTGGCAATCATGATGAGCTGGCGCAACAAAGTGGCTGGTATCGCGATAT
+GTATCGCTATCAACAACTGGAGGCGGCGCTCGACGACGCTCCGGAAATTCGCGAGGAGGCCATCGATGCG
+TAGTTTTAGCCAACTGTGGCCGACTCTCAAGCGCCTGTTAGCGTACGGTTCGCCGTGGCGTAAACCGTTG
+GGGATTGCGGTCCTGATGATGTGGGTTGCGGCGGCGGCAGAAGTCAGTGGGCCGCTGCTTATCAGCTATT
+TTATCGACAATATGGTAGCGAAAAATAACCTGCCGTTGAAAGTGGTTGCAGGGCTGGCTGCGGCGTATGT
+TGGGCTGCAACTGTTTGCCGCCGGGCTACATTACGCGCAGTCGCTGCTGTTTAATCGGGCGGCAGTAGGC
+GTAGTGCAACAGTTGCGTACCGACGTGATGGATGCTGCGTTACGCCAGCCATTAAGCGAGTTTGATACCC
+AACCCGTCGGGCAGGTGATTTCCCGCGTCACTAATGACACTGAAGTGATCCGCGATCTCTACGTTACCGT
+AGTGGCAACTGTCCTGCGTAGCGCCGCACTGGTGGGCGCGATGCTGGTGGCGATGTTCAGCCTCGACTGG
+CGAATGGCGCTGGTGGCGATAATGATTTTCCCGGTGGTGCTGGTGGTAATGGTGATATATCAGCGTTACA
+GCACGCCGATTGTCCGTCGTGTGCGCGCTTATCTGGCGGATATCAACGACGGCTTTAACGAAATCATCAA
+TGGCATGAGCGTTATCCAGCAGTTCCGTCAGCAGGCGCGATTTGGCGAACGTATGGGTGAGGCCAGTCGT
+TCACACTATATGGCGAGGATGCAAACCCTGCGCCTCGACGGTTTTCTGCTGCGTCCGCTGCTGAGTCTGT
+TTTCATCGCTCATTCTTTGTGGCTTGTTGATGCTGTTTGGCTTCTCCGCCAGCGGCACCATTGAAGTGGG
+CGTGTTGTATGCGTTCATCAGTTATTTGGGGCGACTTAACGAACCCTTAATCGAACTGACCACGCAGCAG
+GCGATGCTGCAACAGGCTGTTGTTGCTGGTGAGCGCGTTTTTGAGCTGATGGACGGACCGCGCCAGCAAT
+ATGGCAATGATGATCGCCCGTTGCAGAGCGGCACCATCGAAGTCGATAACGTGTCATTTGCTTATCGCGA
+TGACAATCTGGTGCTAAAGAACATTAATCTCTCTGTGCCTTCGCGCAACTTTGTGGCGCTGGTCGGGCAT
+ACCGGCAGTGGCAAAAGCACCCTCGCCAGTTTATTGATGGGCTATTACCCGCTAACGGAAGGTGAGATTC
+GCCTTGATGGTCGTCCATTAAGTACGCTAAGTCACAGCGCGCTGCGCCAGGGCGTGGCAATGGTGCAGCA
+AGATCCGGTGGTGCTGGCGGATACCTTCCTCGCCAACGTGACGCTGGGACGTGATATCTCTGAAGAACGC
+GTCTGGCAGGCGCTGGAAATCGTGCAGCTGGCGGAGCTGGCGCGTAGCATGAGTGATGGTATTTACACGC
+CGCTTGGCGAGCAGGGGAAAAATCTCTCAGTCGGGCAAAAGCAACTGCTGGCACTGGCGCGCGTGCTGGT
+GGAGACGCCGCAAATCCTGATCCTTGATGAGGCAACCGCCAGCATTGACTCCGGGACTGAACAGGCGATT
+CAACATGCTCTGGCGGCGGTGCGTGAACATACTACGCTTGTGGTGATTGCTCACCGCTTATCAACTATTG
+TTGATGCCGACACCATTCTGGTGCTTCATCGTGGGCAAGCTGTGGAGCAGGGCACTCACCAGCAACTGCT
+GGCGGCCCAGGGACGCTACTGGCAGATGTATCAACTGCAACTTGCGGGCGAAGAGCTGGCAGCCAGCGTG
+CGTGAAGAGGAATCATTGAGCGCCTGAATAGCGCAATATTTCATCGTTGGTGCAAAAATGTAACGCACTG
+TGCACTGTCATAGTGCGTTTTCATTTTCAATCTTCTTAACTTCCTGCTCTCTTTCTCGTTTTTCATTTCT
+GGCACACCGCTTGCAATACCTTCTTCGTGTAGCAGAACCATTACCGAATTCTGACCGGAGGGGATCTATG
+AAGCTGGTGACCGTGATTATCAAACCATTCAAACTTGAAGACGTTCGTGAAGCGTTATCTTCCATTGGTA
+TTCAGGGCCTGACCGTCACCGAAGTGAAAGGTTTCGGGCGTCAGAAAGGGCATGCCGAGCTGTACCGGGG
+GGCGGAATACAGCGTCAACTTCCTGCCAAAAGTAAAAATTGATGTGGCGATTGCTGATGACCAACTCGAT
+GAAGTGATCGATATCGTCAGCAAAGCGGCTTACACCGGAAAAATTGGCGACGGCAAAATCTTCGTCGCTG
+AATTGCAACGCGTCATTCGTATTCGTACCGGCGAAGCCGACGAAGCGGCGCTGTAATCTCTGGCACACAG
+CAACAGGAACGAAAAATGAAGATAGCAACGATAAAAACTGGGCTTACTTCACTGGCGATGCTGCCGGGAC
+TGGTAATGGCTGCACCTGCGGTGGCCGATAAAGCCGACAATGCGTTTATGATGATTTGTACTGCGCTGGT
+GCTGTTTATGACCGTTCCGGGGATTGCCCTGTTTTATGGAGGGCTGATTCGTGGCAAAAACGTGCTGTCG
+ATGCTGACGCAGGTGACCGTGACGTTTGCACTGGTCTGTATTCTCTGGGTGGTTTACGGCTACTCGCTGG
+CGTTTGGCGAAGGCAACAACTTCTTCGGCAACATTAACGGGTTGATGCTGAAAAACATTGAACTGACGGC
+GGTGATGGGCAGCATTTATCAGTATATCCACGTGGCGTTTCAGGGATCGTTTGCCTGCATTACCGTAGGC
+TTGATAGTTGGGGCGCTGGCGGAACGAATCCGCTTCTCAGCTGTGTTGATTTTTGTGGTGGTATGGCTGA
+CGCTCTCCTACATTCCGATTGCGCATATGGTCTGGGGCGGCGGTTTGCTGGCTTCTCACGGTGCACTGGA
+TTTCGCGGGTGGCACGGTGGTGCACATTAACGCCGCAATCGCCGGTCTGGTGGGCGCGTATCTGATAGGC
+AAACGCGTGGGCTTCGGCAAAGAGGCGTTTAAACCGCACAACCTGCCGATGGTCTTCACCGGGACTGCCA
+TTCTCTATATCGGTTGGTTTGGCTTTAACGCCGGGTCAGCGGGCACGGCGAATGAAATCGCGGCACTGGC
+ATTTGTGAATACTGTGGTCGCAACGGCGGCGGCAATTCTTGGCTGGATCTTCAGTGAATGGGCGCTGCGT
+GGTAAGCCTTCACTGCTGGGAGCGTGTTCAGGCGCGATTGCCGGTCTGGTCGGCGTGACGCCAGCGTGTG
+GCTATATTGGTGTTGGCGGCGCGTTGATTATCGGCGTGGTAGCTGGTCTGGCGGGCTTGTGGGGCGTTAC
+CATGCTCAAACGCTTGTTGCGGGTGGATGATCCCTGCGATGTCTTCGGTGTGCACGGCGTTTGTGGCATT
+GTCGGCTGTATCATGACCGGGATTTTTGCTGCCAGCTCGCTGGGCGGCGTGGGCTTCGCTGAAGGTGTGA
+CGATGGGCCATCAGTTGCTGGTACAGCTGGAAAGCATCGCCATTACGATTGTCTGGTCTGGTGTGGTGGC
+ATTTATCGGCTACAAACTGGCGGATCTGACGGTTGGTCTGCGTGTACCGGAAGAGCAGGAGCGAGAAGGG
+CTGGACGTCAACAGCCACGGCGAGAATGCCTATAACGCGTAACAAGCACTGCAAAAAACAGCCGGACGGT
+TTTCACCTCCGGCTATTTTTTTAATTGTGATTACGCATCACCCCTTCCTGAACGGTCGAGGCAACCAGCA
+CGCCGTCCTGGGTATAAAACTCACCGCGCACAAAGCCGCGTGCGCTGGACGCCGAGGTGCTTTCCACGCT
+ATACAGCAGCCATTCATTCAAATTAAACGGGCGATGGAACCACATGGAATGGTCAATGGTGGCAATCTGA
+ATCCCCGGTTCGAGAAAACCGATGCCGTGCGGCTGTAGAGCTACCGGCAGGAAATTAAGATCAGAAGCAT
+AACCGAGCAGATACTGATGAACGCGCAGATCATCCGGCACGCTACCATTTGCGCGGATCCACACCTGACG
+ATGTGGTTCTGCGACGTGACCTTTCAGTGGGTTATGAAACTCCACCGGACGGACTTCCAGCGGACGATCG
+CAGATGAATTTATCTTTCAGCACTGGCGGCAGCAGGTGCGCCAGCGATTGGGCGATTTGCGTTTCTGAAG
+GTAGGCCATCAGGCGCTGGTGCGGACGGCATTGTTTTTTGATGCTCGAAACCCGCTTCTGGTGCCTGGAA
+AGAGGCAGTCATATAAAAAATCGGTTTGCCGTTTTGAATAGCAGCAACCCGGCGGGCGCTGAAGCTGTTA
+CCGTCACGCAGCGTTTCGACATCATAAATAATCGGCTTCTTACTATCGCCAGGGCGAAGAAAGTAGCTGT
+GAAAAGAATGTACCAGCCGCTCGTCAGGGACGGTCTCTTTTGCAGCATACAAGGCCTGACCCACGACCTG
+GCCGCCAAATACCTGGCGTAAACCTAAATCTTCACTCTGGCCGCGAAAGAGTCCTTCCTCAATTTTTTCC
+AGATTTAACAATGTCAGTAAATTTTTTAGCGCCTGACTCATATAACTCTCCAGTAACAAAGCTGCCGCAG
+CAAGCCAAAGTGAGTTGAGTATAACGCAAATTTGCCACTGGTCCGATGGGTGCAATGGTCTGAATTACGG
+GCTAATTACAGGCAGAAATGCGTGATGTGTGCCACACTTGTTGACGTTACTATTTTGTTAACCACTCTTC
+CGGCGAGGAAAGTTAGCCCGCTGGTGCATTGATAATAAGGAGAAGTGAATGAAACTCGTGCACATGGCCA
+GTGGTTTAGCGGTTGCGATTGCGTTGGCGGCTTGCGCAGATCAAAGCGCGGATATTCAGACGCCAGCACC
+GGCTGCAAATACGTCTATTTCAGCAACACAACAACCTGCTATCCAGCAACCGAATGTCTCCGGTACCGTT
+TGGATCCGTCAGAAAGTCGCACTGCCGCCTGATGCCGTGCTGACCGTGACACTTTCTGACGCGTCGTTAG
+CCGATGCGCCGTCGAAAGTGCTGGCGCAGAAAGCGGTGCGTACCGAAGGTAAACAGTCACCATTCAGCTT
+TGTTCTGCCATTTAACCCGGCAGATGTTCAGCCGAACGCGCGTATTCTGTTGAGTGCGGCGATTACCGTG
+AATGACAAACTGGTATTTATTACCGATACCGTTCAGCCGGTGATCAACCAGTGGCGGAACTAAAGCCGAC
+CTGACATTGGTGCCGGTGCAGCAAACCGCCGTGCCGGTTCAGGCTAGCGGTGGCGCAACGACTACCGTAC
+CTTCAACTTCAGCAACCCAGGTGAATCCGTCTTCGGCAGTTCCAGCTCCAACGCAATATTAAGCGAAGTT
+AACCCTCTCCGCCCGGAGAGGGTTAGTAGTTCCAGCGATAAAGCTGCAAGTCGATTTGCCCGCTTCCCGA
+CACCATCACACCTTCTGCCAGTAATGCCTGTCGCTGACGCTGTAAATCCGGTCCGGTCAGTGAAATGGTG
+CCGTGGCGATTAACCACCCGGTGCCAGGGCAAGGTGCTGCCTTCGGGGAGACGCTTTAACACACCGCCTA
+CCTGGCGCGCGGCGCGCGGCGATCCCGCCAGTTTCGCCACATCACCGTAAGTGGTGACATAGCCTTCGGG
+AATAGCGGCTACGATTTGCCAGACGCGTTGGGGAAATGAATCTTCTTTTTCCATCTTTTCTTCCTGAGGT
+AATTTTTCAGCATAATCTGGAAAAACGCCCGAGTGAAGCCGCATTGCGCAAGAAACCAGCATCTGGCACG
+CAATGGGTTGCAATTAGCCGGGGCAGCAGTGATAATGCGTCTGCGCGTTGGTTCTCAACGCTCTCAATGG
+GGGCTCTGTTGGTTCTCCCGCAACGCTACTCTGTTTACCAGGTCAGGTCCGGAAGGAAGCAGCCAAGGCA
+GATGACGCGTGTGCCGGGATGTAGCTGGCAGGGCCCCCACCCATTTCTGCCGCCCACCGTTTCGTCAAAA
+AATCCCAACATGGCTAAACTTTAACCACAACTGACGTCGCAAGAATTGTCTGGCTGCGCAGTACGCTTCG
+GAGGTCTGTCTGATGAAGTATGTTGATGGTTTTGTTGTTGCCGTTCCTGCCGATAAAAAGGATGCCTATC
+GGGAAATGGCCGCTAAGGCCGCGCCATTATTTAAAGAGTTCGGTGCGCTTCGTATTGTCGAATGCTGGGC
+CAGCGATGTACCGGATGGTAAAGTGACCGATTTTCGTATGGCGGTGAAAGCGGAAGAGAATGAAGAGGTT
+GTCTTTAGCTGGATTGAATACCCTTCAAAAGAGGTCCGCGACGCTGCTAATCAAAAGATGATATCGGACC
+CACGGATGAAAGAGTTCGGCGAGTCCATGCCGTTTGACGGCAAGCGAATGATCTATGGTGGATTCGAGTC
+AATCATCGACGAGTAGGTAGCGTGACGGGCTGTGCGGCGTGCCGTCAGCCCTAAAATTCACAAATGTTGC
+TCGGCCCAGCGTAAGAAATCCTCTTTCGGTAATGCCTTGCTGTAGAGCCAGCCCTGACCGTAGTGCACGC
+CATGCTGGCGTAGCCACTCTTCTTGTTTACTGGTTTCGATTCCCTCCGCAACCATTTTCAGTTTCAGTGT
+TTTTGCCATTTCGATGATATGCGGCGTGACATTTTTATATTCCAGCGCATCAACGAAAGATTTATCGATC
+TTCAGAATGTCGACATCCAGATCCTGTAAATAGCTTAAACTTGAATACCCTGTGCCAAAATCATCGAGAT
+AAATTTCATGGCCCGCCTCCCGGTAGCGAGAAATTATCGGGGCGCTGGTTTTCGGATCGGCAAACTCGCG
+TTCAGTGAGTTCAAGCGCGATCTGTCTGGGATTAACCTGATAGTGATTGATCATTTCACGCAGCAATTGC
+GGGATTTTTTCCGAGGTGAGCACGGTGGATTCAAGATTGATCGAAATATGCTGCTGAGAATGCTGACGCA
+GCCAGTCGCCCATATCTTCAAAGACGCTTCTTATAATCAGTAGCGTCAATGGCTCAGAAAGGCCCGTTTG
+CTGTGCCAGCGGAATAAAACTATCTGGTGACAACCAACTACCGTCTGTCTGCGGCCAGCGCGCCAGTGCC
+TCAGCACCGACAATTTTGCCATTGGCTAAGGAGACAATCGGCTGATAGTGCACGCAAATATCACGATTTT
+CGATAGCATCCTGCAGCCGATGATGCGGTGACTGGATACGGCGCAAAATACGCAGCACAAACATCGCTGC
+CAGCAGGCCAATCACCAACCCGAGCGGTAACCAAATAAAGACTTGCCGATGCCAGCCTTTCTGCAACATT
+TTCGTTGAAGCCCAGGTGATGATCGAAATATTCATCTCCGGTAAGGGCAGGATATCGTAAATGATTCCAT
+TATTTTCGATATGCTCACCGGGTGTTTTTTGTAGCCTGGTAATAATTCCCTGAGCAATTTTATCGCTGCT
+GGTTATGACAACGTTATGGGCATTGCCAATAATGGCGGCATCAATTTGCCATGAGCTATAGGGAATGACA
+TCAATAAAGGAAGCGGGGTCGATCATGACGACATAATGTGCCGTTCCCATGGCGACCATGTAACGAATAA
+TGCCTAAATCGTTATGCGATGTTAACCAGACACGATAACCATCTTTCGAAATTTTACCTGGCTCGGGGAA
+GGTATCGGGCGGGCTTTCATGCTCCAGAGACGAACACTGGGGAACGTTGTTATCGATATAAACCACTTCC
+TGAATATAGCGATAACTGTAAGATACCCGACGCATTTCCATGAGATGGGCTTCGCTACAGGCAGCGCCTT
+GCCATCTTTCCAGCTCTTGCAGCGCATCTTTCCCTTGTGTCGCCACCTTATTGGCCCGAACAGCGACGCG
+GGAGGAATACGTATTCAGCTCTTCAATAAATGATGTTTCTACCTGCTGATGGGCCAGCCAGATGCTTAAG
+CCGACAGGCAGCAATACTGAAAGAATCAGTACTCCCGAAATAAGGCCGACCAGATGTCGTGTTCTCACCA
+GCATATCCTTATTAACACAGTGTAGGGAAAGTATATCTGATTGTGGAAAAAGGCTGGCAGGAGATAAGGA
+GGTAGAGCTGGTATTTCATGAAGTGATGGGTGGAAGCGATCGTTGTCATTTGACCAGGCGTAGAGCTTTA
+CGCCTGGTATGTACCCCTAACTTAAGATGTTGATTCGGCGCGAGCGAGGGTAAAAATATCGTAAAAAGAT
+AGTTCACCTTTACGGACGATCATTTTTTGCAGTTGTTCTTTATGAACATCCGCGACACGCGGAGAGTTCA
+GGATGGCTTCAACTAGCGCGGCAGGTACAAAGCGCGTGTTGTACCATTCGCCGTTATAGCAAACGCGGAA
+ATCCAGCACGTCGATATCTTCATAGCGGTAGCGTGGGTAGACATCGAAAAAGAAGAAACCATTAAGCAGG
+ATAAATAATACAACCAGTAGCCAGACAGAGCCTGAAAGCGTTTCGGACTGCAACATCACCGCCAGGGTGG
+CAAAAAAAGCAACGTACATACCGATAAACAGCCCCGGATGTTTACGGATAAAACTGATACTAAAGCGGGG
+TTTGTTGTCGCGTTTTTCGCGGGTATTCAGAGACTCAATCGTTTCGGTCAGCAGGCGTTGTATTTCGGTC
+ATCGTTTGCCTTCGTGATATCTGCAACTTTCCAGGGAACACCCTATTTTAACGTGGGAATAGTAGAGGGG
+AAGTAACAGATTTGCCACGATTTTGCATAACAGTTGAGAAAAGCTGGTTACAATTTGTTAATGATTCTGG
+CTGGATTACCGCCCACGACAACGTTGTCCGGGACATCTTTTGTGACAACTGCACCTGAGGCTACCACGAC
+GTTATCACCAATGGTCACACCAGGGTTAATGACTGCACGTCCGCCAATCCAGACGTTATTACCGATGGTG
+ACGGGTTTCCCCAGTTCAGCACCGCTATTACGTGCTACAGGGTCGATGGGATGTGTTGTCGTGTAGATAT
+GAACGCCTGGTGCCAACATACAGTTATCACCAATGCGAATAGGGCAGACATCAAGCATCACGCAATCGAA
+GTTGGCGAAAAAATTATTGCCGAGAAAAATGTTATAACCATAGTCACAGCGAAACGTTGGCTCAATATAA
+GCCTCTGTCACCTGACCGAATAAATCAGCAAGAATTTGCTGGCGTAATGTGTGCTCTTCCGCCAGGGAAT
+GATTGTATCGGTGAATAAGCCGACGAGCTCGCAGGCGATCGCGAGATAACGCCTCATCTGCCGAGTGATA
+CAACTCACCAGCAATCATCTTTTCTTTTTCTGTGCTCATTACTGACTTCCGGTTGCTGAAAATGCGGCAA
+CACAGTAAGACGAAAAGTCAGTGAAGAGAACGTTCCCATTACATCTGTGTGATGAAGATCACATAGGGTA
+TGTCTTCATGGCGAAAAAAAGTATAAAATTCTTAATAAACAGCCGGTTATAGCTCCGAAAGCGAGTTATT
+TATTAGCGAATAAATTTCCATACTGAGGAAGGGATCTTGTCGTACAGTTTATTCATGGTCAATTCGGCGA
+GGCGGTGATCTGCAGCTGAGTAAAATACCGCCAGTTCATTATCTGATAATTCGTATTTATTTTTCTCGAT
+AACACGCTCCAGCGTGTCAATTGTCTGACAACGACGTAAACGCATTAAATAATCGGTTTTCGTTAAAGGT
+TTTTCGGACATACTTCTACCCATGGTTGTAATAATTCTAACAAGATAAACTCGCAGGATTCTCTTTCGTC
+GCATTGACAAAACAACGGAATAGTCGATTACCTGACTTCCGCCATTTCTGAAGATCCTGCATATTAATAC
+CATAACTACTGAACAACATAAAGGTGTCATCCAGATATTCGTCGATCTGCTCAATGAGCTTATTGTCTTC
+ATTATACTTAATTTTGTAATTAAGTGCGAAGGTCGCAATATGCTCAATCAGTTCATTCAACTGGAGGTTG
+ATCGCCGAGGTTGGGTCGTTAACCCAGCCATGATTGCTTTCTTCAAGGTTTGCAAGGCAGTCATGATACA
+GGGTTTCACAGAGAAACTTAAGCTGTGCGATATCATGTCTTTTGGGTGAGTATTCATCCATAACGCGTCC
+CCTTCTTAGCGGTTGAACTAACGGACACCTTTCGGGATGAAAAAAACTTACTGACCTGGACTTGCCCTCT
+CGTTTGTTAGCTTAACTATAAGCCACTCTTTGTAGGTTTTCATCGCATTATTACGAAAAATTACAATTAG
+GAAGGAAGCGGGACAGGACTCACTTTTTCATACTAGCACCAACCCGCAGCAGGTAAAAGCAGTTTGCTCG
+AACTGTTCATAACATTTCAGAATTATCGCCAGAAGAAATTGGTGACACTAATACCAGGATTGCTCTGAAT
+ATGACGTAATAACCGAGGAATGAATAAAGAATTACCGCAAATAATTAAGAATAGCCTCTAAATGGTTATG
+GATTATTAAATCTATTAGCGCTACTTAATATAAATTAACTAACAATCAGTATTTTTTATGAATTTTATAC
+GTGGTTAATACTGGTTTTCGTATGAGATCCTGAGTTGGTGGTTCAATACTCCTTAATGTTCGTAGGTTAT
+GCATAAAAAAGGCCGCTTGCGCGGCCTTAGTGATTACACGTTGTATCAATGATGATCGACAGTATGGCTG
+TGCTCGATATCTTCATTCTTGCGGCTAAAGCGGCGGCGAACCACCACAAAGAATACCGGAACGAAGAAGA
+TTGCCAGTACCGTTGCGGTCACCATCCCGCCCATTACACCGGTACCTACTGCGTTCTGCGCGCCGGAACC
+AGCACCAGTACTGATAACCAGCGGCATAACGCCGAGGATAAACGCCAACGAGGTCATCAGGATTGGGCGT
+AAACGCATCCGCACCGCATCAAGCGTCGCTTCAATCAGACCTTTACCTTCTTTATCCATCAAGTCTTTGG
+CGAATTCGACGATAAGTATCGCGTTCTTCGCCGACAAACCAATGGTTGTGAGCAGGCCTACCTGGAAGTA
+AACGTCATTGGTCAGGCCACGGAAGGTGGCAGCCAGCAACGCACCGATAACCCCCAGCGGAACGACTAGC
+ATAACGGAGAACGGAATCGACCAGCTCTCGTACAGCGCAGCCAGACACAGGAACACGACAATCAACGAAA
+TCGCGTACAGTGAAGGTGCCTGGTTGCCGGAGAGACGTTCCTGATAGGACATTCCCGTCCAGTCATAGCC
+AACACCGGTAGGCAGTTTGCTCGCCAGTTGTTCCATCAGCTCCATTGCTTCACCGGTACTTTTACCCGGT
+GCCGCCTGGCCTAAGATTTCCATAGATGGCAGGCCGTTGTAACGTTCCAGACGCGGCGAACCGTACTCCC
+AACGAGAAGAGGAGAACGCCGAGAACGGCACCATCTGACCATCAGCAGCACGAACATACCAGTCGCCGAT
+ATCATCCGGCAGCATACGGTATTTCGCCTCTGACATGACGTAAACTTTCTTCACACGACCGCGGTCGATA
+AAGTCGTTCACATAGCTACCGCCCCATGCAGCGCCCAGAGTGGTGTTAATGTCGTTGATAGAAACACCCA
+GCGCCTGCGCTTTTTCCTGGTCGATATCAATCTTAAACTGCGGGGTATCTTCCAGACCGTTTGGACGTAC
+GCTGGTCAACATATCAGGGTGCTTCGCTGCTTCTGCAAGCAACTGGTTACGCGCCTGAGTCAGTTTTTCG
+TGACCAAGGCCAGCCTGGTCAATCAGCTCAAAGTCAAAGCCGGTTGCGGTACCCAGTTCCACGATTGCGG
+GCAGGTTAAAGGCGAAAACCATCGCATCTTTGATTTGCGAGAAAGCACGTGTTGCACGCATGGTAATCGC
+TTCAACTTTGTTTTCTTCGCCCGGACGATCGGCCCAGTTCTTCAAGGAAACGAACGCAATACCGGTATTC
+TGACCACGTCCCGCAAAGCCGAAGCCGTTAACGGCGAACACCGACTCAACGTTGTTCTTTTCTTTGGTCA
+GATAGTAATTCGTTACCTCATTGAGCACTTTCTGCGTACGTTCCTGCGTTGCACCTGCTGGCAGCTGAAC
+CATGGTCATAAATACGCCCTGGTCCTCATCTGGCAAGAAGGAGCTTGGCAGACGCACGAACAGATAGGCC
+ATGCCGACCACGATGATCAGATACAGCACCAGGTAACGCCCCGTACTGCGCAGAATACCGCCTACGCTGT
+CGGTGTAGTGGTGCGTGCTCTTCTCGAACATGCGGTTAAACCAGCCGAAGAAGCCTTTTTTACCTTCCCC
+GTGATCGCCTTTGGCAATCGGTTTCAGCATGGTGGCACAAAGAGCCGGAGTCAGGATCAACGCCACCAGT
+ACCGACAGCGCCATTGCTGAAACAATGGTAATAGAGAACTGACGATAGATAGCACCAGTAGAACCGCCAA
+AGAAGGCCATCGGTACGAATACCGCCGACAGTACCATCGCGATACCGACCAGAGCGCCCTGAATCTGCCC
+CATCGACTTACGGGTGGCTTCTTTTGGCGGCAAACCTTCTTCCGCCATCACACGCTCAACGTTTTCTACC
+ACAACGATAGCGTCATCCACCAACAGGCCGATGGCGAGCACCATCCCGAACATTGTTAGCGTGTTTATCG
+AGAAGCCAAAGGCGGCAAGGACGGCAAAGGTCCCGAGCAATACCACCGGTACGGCAATGGTCGGAATCAA
+CGTCGCGCGGAAGTTCTGCAAGAACAGATACATTACCAGGAACACGAGGATGATCGCTTCGACCAGTGTT
+TTAACCACTTCGTGAATAGAGATTTTCACGAACGGTGTGGTGTCATACGGGTAAACAATTTTCAGACCTG
+ACGGGAAGAACGGTTCCATCTTCGCCAGTTCAGCACGGATTGCCGCAGCGGTATCCAGCGCGTTCGCACC
+GGTCGCCAGCTTGATCCCCAGACCGGAAGCCGGTTGGCCGTTAAACTCTGCGATGATGTCGTAGTTCTCA
+CCACCCAGCTCAATTTTCGCCACATCACGCAGCAGCACGCGGGAACCATCCTGATTCACTTTCAGCAGGA
+TTTTGCCGAACTCTTCAGTAGAGGTCAGACGCGTCTGAGCAATAATAGAGGCGTTAAGCTGTTGGCCTTT
+CACCGGCGGCGTACCACCGAGCTGACCAGCTGCAACCTGGGCGTTCTGTGCTTTGATGGCGGTAATGACA
+TCAACCGGCGTTAGCTGGAATTTGTTCAGTTCATTCGGGTTCATCCAGATACGCATCGCGTACTGTGAAC
+CGAACAACTGAACGTCACCCACGCCCGACGTACGGCTGATGGCATCTTTCATATTCGCCGCCACGTAGTC
+GGAGATATCCTCCTGCGTCATGGTGCCATCGGTGTTGATAACGCCGACAACCATCAGGAAGCTGCTGGAT
+GATTTCTCAACGCTCACCCCTTGCTGCTGTACTTCTTGTGGCAGCAACGGCATCGCCAACTGCAGTTTGT
+TCTGTACCTGAACCTGCGCGATATCCGCATCAGTACCAGACTCAAAGGTCAGGGTGATCTGCACGGTACC
+CGTGGAGTCACTGTTAGAGGACATGTACATCAGGTTATCGATACCGTTCATATTCTGTTCGATAACCTGT
+GTCACCGTGTCCTGCACTGTTTTCGCATCAGCGCCAGGGTAGGAGGCGGAGATCGTTACTGCCGGCGGTG
+CAATCGTAGGATATTGCGCCACCGGCAGTTTGAGGATCGCCAGCCCCCCTGCCAACATGATGATAATGGC
+GATCACCCACGCAAAAATCGGGCGATCGATAAAGAAATTAGGCATGTCTTAACGGCTCCTGTTTAAGTTA
+AGACTTGGACTGTTCAGGCTGAGCACCGCTTGCGGCTTGCTGGTTATTATCAGCGGTAACTTCTTGTGCT
+TTTACCTGGACACCAGGACGCACTTTCTGCAGCCCACTTATTACTACGCGATCGCCTGCTTTCAGACCTT
+CTGTCACCAGCCACTTATCGCCAATAGCCTGGCTTGCAACGATCGGACGGGTTTCCACTTTGTCATCCGC
+GCCAACCACCAGTACGGTGGCATCGCCACGCGGCGTACGGGTTACGCCCTGTTGCGGGACTAAAATAGCG
+TTTGGATTAAGCCCTTCTTCCAGACGTGCGCGCACGAACATACCCGGCAGCAGAGTGTGATCCGGGTTCG
+GGAAGATAGCGCGTAGGGTGATAGACCCAGTGGTCTGATCAACGGTAACGTCAGAGAATTCCAGCGTACC
+GTCCTGCGGGAACTTAATGCCGTCACTGGTGATCAGCGACACTTTGGCTTTGCCGTTCTCTTGTTTCAGC
+GTGCCATTCGCCAGTTCCTGTTTCAGGCGCAGGAAGTCGTTGCTGGACTGGGTCACATCAACGTAGATCG
+GATCAAGTTGCTGCACGGTTGCCAGCGCAGTCGCCTGACCGTTCTGTACCAATGCGCCTTCCGTCACGTT
+TGACTTACCAATGCGACCACTAATCGGAGAGGTGACTTTGGTGTAAGCCAGATTGATTCGCGCAGTTTCA
+ACGGCAGCTTTCGCCGCAGTTACCGCAGCATTCGCCTGTTGCGCATCAGCCAGAGCCTGATCGTACTCTT
+GCTTACTGATGTACTGAGTACCGAGCAATTTCTGATAACGATTCACCGTCAATTGCGCGATATTGGCTGC
+AGCCTGGGCTTTCGCCAGATCACCTTTCGCACTGTCGTATGCCGCCTGATAGGTCGCAGGATCAATCTGA
+TAGAGAGAGACACCTGCTTCGATGTCGCTACCTTCTTTGAAATTACGCTTCAGGATAATCCCGCTAACTT
+GAGGACGAACTTCTGCGATCCGGTAGGCACTGGTGCGACCCGGAAGCTCGGTTGGATCTGCAGAGGTTCA
+GTTTTGACTGTTACTACGCCAACGGCGGGCATCTGCTGGCCACCTTGTTGGGCCTGTTTGTCGTCACATC
+CTGTTAGGGCTAAGCTGCCTGAGAGCATCAGAACGACCGCCAGAGGCGTAAACCCTCTGTTTTTGTTCAT
+ATGTAAACCTCGAGTGTCCGATTTCAAATTGGTCAATGGTCAAAAGTTAATAAACTCATTGCTGCGTTTA
+TATTATCGTCGTGCTATGGTACATACATTCACAAATGTATGTAAATCTAACGCCTGTAAATTCACGAACA
+TATGGCACGAAAAACCAAACAAGAAGCGCAAGAAACGCGCCAACACATCCTCGATGTGGCTCTACGTCTT
+TTCTCACAGCAGGGGGTATCATCCACCTCGCTGGGTGAGATTGCAAAAGCAGCTGGCGTTACGCGCGGTG
+CAATCTACTGGCATTTTAAAGACAAGTCGGATTTGTTCAGTGAGATCTGGGAACTGTCAGAATCCAATAT
+TGGTGAACTAGAGCTTGAGTATCAGGCAAAATTCCCTGGCGATCCACTCTCAGTATTAAGAGAGATATTA
+ATTCATGTTCTTGAGTCCACGGTGACAGAAGAACGGCGTCGATTATTGATGGAGATTATATTCCACAAAT
+GCGAATTTGTCGGAGAAATGGCTGTTGTGCAACAGGCACAACGTAATCTCTGTCTGGAAAGTTATGACCG
+TATAGAACAAACGTTAAAACATTGTATTGAAGCGAAAATGTTGCCTGCGGATTTAATGACGCGTCGCGCA
+GCAATTATTATGCGCGGCTATATTTCCGGCCTGATGGAAAACTGGCTCTTTGCCCCGCAATCTTTTGATC
+TTAAAAAAGAAGCCCGCGATTACGTCGCCATCTTACTGGAGATGTATCTCCTGTGCCCCACGCTTCGTAA
+CCCTGCCACTAACGAATAACCCTGAATCTGACTCCAGGAATTTTCCTGGACATTTTCGTCGTTGCTATTC
+TGGTTCACTGCGTCGTGATATTCTTGCGGTTTGACTTTTTCAGGTCGTTCTTCAGGTTCAGAAACCTTCA
+TTCATCATGACTATGTTCCAGTATTACAAACGATCACGGCATTTTGTTTTTTCAGCATTTATTGCTTTTG
+TTTTTGTCTTGTTATGCCAGAACACGGCGTTTGCGCGGGCGTCATCGAATGGTGATCTGCCGACAAAAGC
+GGACCTGCAGGCACAACTTGACTCACTGAATAAACAAAAAGATCTTTCTGCTCAGGACAAACTGGTGCAG
+CAGGATCTGACAGATACATTAGCCACCCTCGATAAAATCGATCGCGTAAAAGAAGAGACAGTTCAGCTAC
+GGCAAAAAGTCGCTGAAGCGCCGGAAAAAATGCGCCAGGCGACCGCGGCGTTAACAGCACTTAGTGATGT
+CGATAACGACGAAGAAACGCGCAAAATTCTGAGCACGCTTTCGTTGCGCCAGCTGGAAACTCGCGTTGCC
+CAGGCGCTGGACGATTTGCAAAACGCACAAAATGATCTGGCGTCTTATAACAGCCAGCTGGTTTCGTTAC
+AGACGCAGCCCGAACGCGTACAAAATGCGATGTATAACGCTTCGCAGCAGCTGCAACAAATTCGCAGTCG
+TCTGGATGGGACTGATGTCGGCGAGACAGCCTTACGTCCCAGCCAGAAAGTGTTAATGCAGGCTCAGCAG
+GCTTTGCTGAATGCCGAGATTGACCAGCAGCGTAAAAGCCTGGAAGGGAACACAGTCTTACAGGATACCT
+TGCAAAAGCAACGGGATTACGTGACGGCGAACAGCGCCCGTCTGGAGCACCAGTTGCAGCTGTTGCAAGA
+AGCGGTAAACAGCAAGCGCCTGACTTTAACCGAAAAAACGGCGCAGGAAGCCGTCTCCCCGGATGAAGCC
+GCGCGTATTCAGGCTAATCCGCTGGTGAAGCAGGAACTGGAAATTAACCAGCAGTTAAGTCAGCGTCTGA
+TTACCGCGACTGAAAACGGTAATCAGTTGATGCAGCAAAACATTAAAGTCAAAAACTGGCTGGAGCGGGC
+GCTGCAATCGGAACGCAATATTAAAGAGCAGATTGCCGTCCTGAAGGGCAGTCTGCTGTTGTCACGTATC
+CTGTACCAGCAACAACAAACACTCCCCTCGGCAGATGAACTGGAAAACATGACCAACCGCATCGCGGATT
+TGCGTCTCGAACAGTTTGAAGTCAACCAGCAGCGTGACGCGCTGTTCCAGAGCGATGCGTTCGTCAGCAA
+ACTGGAAGAAGGTCACACCAACGAAGTCAACAGCGAAGTTCACGATGCATTATTGCAAGTAGTTGATATG
+CGTCGCGAATTGCTGGATCAGCTTAACAAACAGTTGGGTAACCAGCTGATGATGGCCATTAACCTGCAAA
+TCAACCAGCAGCAGTTAATGAGTGTGTCGAAAAACCTGAAATCCATCCTGACGCAGCAAATTTTTTGGGT
+GAACAGTAACCGCCCGATGGACTGGGACTGGATTAAAGCGTTCCCGCAAACGCTGAAAGATGAATTTAAG
+TCGATGAAAATCACGGTGAACTGGGAAAAAGCCTGGCCCGCCGTATTCATCGCCTTCCTCGCTGGTTTGC
+CGCTGCTGTTGATTGCCGGGCTGATTCACTGGCGTTTAGGCTGGCTGAAAGCATATCAACAAAAACTGGC
+TTCGGCGGTAGGTTCCCTGCGTAACGATAGCCAGCTCAATACGCCAAAAGCGATTCTTATTGACCTAATC
+CGCGCACTGCCGGTGTGCCTGATTATTCTCGCTGTCGGCCTGATTCTGCTGACTATGCAGCTCAATATCA
+GCGAGTTATTGTGGTCGTTCAGCAAAAAACTGGCGATTTTCTGGCTGGTGTTTGGCCTGTGCTGGAAAGT
+GCTGGAGAAAAACGGTGTTGCCGTGCGTCACTTTGGTATGCCGGAACAGCAGACCAGCCACTGGCGTCGG
+CAAATTGTCCGCATCAGCCTCGCGTTGCTGCCGATCCATTTCTGGTCTGTGGTGGCAGAACTCTCCCCGC
+TGCATCTGATGGATGATGTGCTGGGGCAGGCGATGATTTTCTTCAACCTGCTGCTGATTGCCTTCCTGGT
+GTGGCCGATGTGCCGCGAAAGCTGGCGTGATAAAGAGTCGCACACCATGCGACTGGTCACCATTACCGTG
+CTGTCGATTATCCCGATTGCGTTGATGGTGCTGACCGCCACGGGTTACTTCTACACCACGCTGCGCCTCT
+CCGGGCGTTGGATTGAAACCGTTTATTTGGTGATCATCTGGAACCTGCTGTACCAGACGGTATTGCGCGG
+CTTAAGCGTAGCGGCGCGGCGTATCGCCTGGCGTCGTGCACTGGCGCGTCGGCAGAATCTGGTGAAAGAG
+GGCGCAGAAGGTGCCGAACCGCCGGAAGAACCCACCATTGCGCTGGAGCAGGTTAACCAGCAGACGCTGC
+GTATTACCATGTTGCTGATGTTTGCGCTGTTCGGTGTCATGTTCTGGGCAATTTGGTCTGATTTGATCAC
+CGTGTTCAGCTATCTCGACAGCATTACGCTCTGGCATTACAACGCTACTGAAGCTGGTGCTGCGGTGGTG
+AAAAACGTCACCATGGGCAGTCTGTTGTTTGCGATTATCGCCTCAATGGTGGCCTGGGCGTTGATTCGCA
+ACCTGCCTGGTTTGCTGGAAGTGCTGGTGCTCTCGCGACTGAATATGCGCCAGGGCGCGTCGTATGCCAT
+TACTACCATCCTTAACTACATCATTATTGCCGTTGGTGCGATGACGGTGTTCGGATCGCTGGGCGTCTCG
+TGGGATAAACTCCAGTGGCTGGCGGCAGCATTATCCGTAGGTCTTGGTTTTGGTTTACAAGAGATCTTCG
+GTAACTTCGTTTCCGGTTTGATCATTCTGTTCGAACGTCCGGTGCGCATAGGCGACACGGTAACCATTGG
+TAGCTTCTCGGGTACGGTCAGCAAGATCCGTATTCGTGCGACAACGATTACCGATTTCGATCGCAAAGAA
+GTGATTATCCCGAACAAAGCGTTTGTTACCGAGCGTCTGATCAACTGGTCGTTAACTGACACGACTACGC
+GTCTGGTGATCCGTCTCGGCGTAGCCTATGGCTCCGATCTGGAAAAAGTGCGTAAAGTGTTGCTGAAGGC
+GGCGACTGAGCACCCAAGGGTGATGCACGAACCAATGCCGGAAGTCTTCTTTACGGCATTTGGTGCCAGC
+ACGTTGGATCATGAGCTGCGTCTGTATGTGCGTGAACTGCGTGACCGTAGCCGTACTGTCGATGAGCTGA
+ACCGTACTATCGATCAGTTGTGCCGTGAAAACGACATCAACATTGCCTTTAACCAACTTGAAGTGCATCT
+GCACAACGAGAAGGGCGATGAAGTGACGGAAGTGAAACGCGACTACAAAGGCGACGATCCGACGCCAGCG
+GTAGGGTAATAACCAAAGGGGGCGACATTTAGTTGCCCCGAGATTACTAACAAAGTGCGCGTTGTTCATG
+CCGGATGCGGCGTGACCGCCTTATCCGGCCTACGAAACCGCAAGAATTCAATATATTGCAGGAGCGGTGT
+AGGCCTGATAAGCGTAGCGCATCAGGCAGTTTTGCGTTTGCCCACAATCTTAGGGGACATTTAGCGGCCC
+CATTTATTTCTCACTTTTCCGCCTCATCATCGCGCGTTAATTTCTTTTCATAATCGCGTTTTACAATATC
+CAGCGCGCGCAGCACGGTGCGGGCTGGGATCTGATTTTCTTCCAGTAGCACAATCAAATCGACGGCCAGT
+TTGACATCGTCAGGGGCATTTTCCAGTGACATACTCTCTCCATTGCTAGCGGGTTAAACGCGCTAACCTG
+TTTTCGATTTTTTCCAGCGCATGGCGGCAGCGTGCCAGGCGCGCTTCATAGGCTTCCACTTCACGATGCA
+GCGTCTGCTGTTCCACGAGATCGGTCGCTCGTGCCAGACGGGCTCTACGTTCGGCAACCATCTCACGTAG
+CCGCCGCTCAAAATCCTGATGCTGAATACGTTTACGCTGCCAGCGGGCAATTTTCGGTGGTGCGCTATCC
+CACTCGCGTAGCGACCAGGCTGTGGCTTCACGCGCTATAGCCTCCAGTTGCGCCGCCAGATGTTCTGCCA
+GCCAGGCGACTTGCGGCAGCTGTTGCTGCTCAACCGCATGACGAAGCGCAGCCAGGTTATCGCCCGCCTC
+ATCGAGACAAGCCTGTAGTGTTGTCGCACGGGTCTGAAAAAGGTGCCTGTCAAAACGGGCACTTAGCGTG
+GCAAATTGCGCTACCGGGGCACAACGCTGACGCAGCGTGGCGAGCTGTCCTTCCAGTTTTTCCAGCAGCA
+GGGCGGTTTTCACGATAAGACCTCAATGAAAATGATAATTGTTATGCTAAAGTAGCCACTCTGTAAGCTG
+ACAACACTCAATATGCAACGAATCATTTTAATCATCATTGGCTGGCTGGCGGTAGTGCTGGGTACGCTGG
+GCGTGGTATTACCGGTATTACCGACGACGCCGTTTATCCTGCTGGCGGCCTGGTGCTTTGCCCGTTCTTC
+CCCGCGCTTTCACGCCTGGTTGCTGTACCGCTCATGGTTTGGCAGCTATCTACGTTTCTGGCAGAAACAT
+CATGCGATGCCGCGCGGCGCAAAACCACGGGCGATTTTGCTTATTTTGATTACGTTTACGATTTCGCTGT
+GGTTCGTCCAGATGCCGTGGGTGCGCATCATGTTGCTGGTAATTCTCGCCTGTTTGCTTTTTTATATGTG
+GCGAATTCCGGTGATTGATGAAAAGCAAGAAAAGCACTGAAGCACAACAATCGCAGTTGCAATTATTGCG
+TACAGCCAGTACATTCTGGCGTTTTCGAGCACAGGCGCAGGCGGTCAAAGGTTAAACAACTGTTACTTTT
+GATACGTTTAAAACGCGCCGTGAGTACCACCGTAACAAGCAGGCATACACTTATGACCGCGACTGCACAG
+CAGCTTGAGTATCTCAAAAATAGCATCAAAAGCATTCAGGACTACCCAAAACCCGGCATTCTTTTCCGCG
+ATGTCACCAGCTTACTGGAAGACCCGAAAGCTTACGCTCTCAGCATCGACTTGCTGGTTGAGCGTTACAA
+AAATGCGGGCATTACCAAAGTGGTCGGCACCGAAGCGCGTGGCTTCTTGTTTGGCGCTCCGGTAGCTCTG
+GGTCTGGGCGTTGGCTTTGTACCGGTCCGTAAACCGGGCAAACTGCCGCGTGAAACCATCAGTGAAACTT
+ACGACCTGGAATACGGCACCGATCAGCTGGAAATCCACGTTGATGCCATCAAACCGGGCGATAAAGTTCT
+GGTGGTGGACGATCTGCTGGCAACCGGCGGCACTATCGAAGCGACCGTTAAACTGATCCGTCGTCTGGGT
+GGTGAAGTAGCTGACGCTGCGTTCATTATCAACCTGTTCGATCTCGGCGGCGAACAGCGTCTCGAAAAAC
+AGGGCATTACCAGCTACAGCCTTGTCCCGTTCCCGGGCCATTAATTATCGTCAGTCTTGCGCTGCTCACG
+CTACGGGCAGCACAAGATGTGCATTCAGCCTCGCCGTTCTGACGGGGCTGTGTTAGCATTACCCCTTCGT
+GAATCCACCTTCCAGCGTTTCAGAGCCTGCCAATGAGTTATCAGGTCTTAGCCCGAAAATGGCGCCCACA
+AACCTTTGCTGACGTCGTCGGCCAGGAACATGTGCTGACCGCACTGGCGAACGGCTTGTCGTTAGGGCGT
+ATTCATCATGCTTATCTTTTTTCCGGCACCCGTGGCGTCGGAAAAACCTCTATCGCCCGACTGTTGGCGA
+AGGGGCTAAACTGCGAAACCGGCATTACCGCGACGCCGTGCGGCGTGTGCGATAACTGTCGTGAAATCGA
+GCAGGGGCGCTTTGTCGATCTGATTGAAATCGACGCCGCCTCGCGCACTAAAGTCGAAGATACCCGCGAC
+CTGCTGGATAACGTTCAGTACGCTCCGGCGCGTGGTCGTTTCAAAGTTTATCTCATCGACGAAGTGCATA
+TGCTGTCGCGTCACAGCTTTAACGCACTGTTAAAAACCCTTGAAGAGCCGCCAGAGCACGTTAAGTTTTT
+GCTGGCGACGACCGATCCGCAGAAATTGCCGGTGACGATTTTGTCACGCTGTCTGCAATTTCATCTCAAG
+GCGCTGGATGTCGAGCAAATCCGCCATCAACTTGAGCACATCCTCAATGAAGAACATATCGCTCACGAGC
+CGCGGGCGCTGCAATTGCTGGCACGCGCCGCTGAAGGCAGCCTGCGAGATGCCTTAAGTCTGACCGACCA
+GGCGATTGCCAGCGGTGACGGCCAGGTTTCAACCCAGGCCGTCAGTGCGATGCTGGGTACGCTTGACGAC
+GATCAGGCGCTGTCGCTGGTTGAAGCGATGGTCGAGGCCAACGGCGAGCGCGTAATGGCGCTAATTAATG
+AAGCTGCTGCCCGTGGTATCGAGTGGGAAGCGTTGCTGGTGGAAATGCTCGGTTTGTTGCATCGTATTGC
+GATGGTACAACTTTCGCCTGCTGCACTTGGCAACGACATGGCCGCCATCGAGCTGCGGATGCGTGAACTG
+GCGCGCACCATACCGCCGACGGATATTCAGCTTTACTATCAGACGCTGTTGATTGGTCGCAAAGAATTAC
+CGTATGCGCCAGACCGCCGTATGGGCGTTGAGATGACGCTGCTGCGCGCGCTGGCGTTCCATCCGCGTAT
+GCCTCTGCCTGAGCCAGAAGTGCCACGCCAGTCCTTTGCGCCCGTTGCGCAAACGGCAGTAATGACGCCA
+ACACAGGTGCCGCCGCAACCGCAATCAGCGCCGCAGCAGGCACCGACTGTACCGCTCCCGGAAACCACCA
+GCCAGGTGCTGGCGGCGCGCCAGCAGTTGCTGCGCGTGCAGGGAGCAACCAAAGCAAAAAAGAGTGAACC
+GGCAGCCGCTACCCGCGCGCGGCCGGTGAATAACGCTGCGCTGGAAAGACTGGCTTCGGTCACCGATCGC
+GTTCAGGCGCGCCCGGTGCCATCGGCGCTGGAAAAAGCGCCAGCCAAAAAAGAAGCGTATCGCTGGAAGG
+CGACCACTCCAGTGATGCAGCAAAAAGAAGTGGTCGCCACGCCGAAGGCGCTGAAAAAAGCGCTGGAACA
+TGAAAAAACGCCGGAACTGGCGGCGAAGCTGGCGGCAGAAGCCATTGAGCGCGACCCGTGGGCGGCTCAG
+GTGAGTCAACTTTCGCTACCAAAACTGGTCGAACAGGTGGCGTTAAATGCCTGGAAAGAGGAGAGCGACA
+ACGCAGTATGTCTGCATTTGCGCTCCTCTCAGCGGCATTTGAACAACCGCGGCGCACAGCAAAAACTGGC
+TGAAGCGTTGAGCACGTTAAAAGGTTCAACGGTTGAACTGACTATCGTTGAAGATGATAATCCCGCGGTG
+CGTACGCCGCTGGAATGGCGTCAGGCGATATACGAAGAAAAACTTGCGCAGGCGCGCGAGTCCATTATTG
+CGGATAATAATATTCAGACCCTGCGTCGATTCTTCGATGCGGAGCTGGATGAAGAAAGTATCCGCCCCAT
+TTGATCGTAAGCACAGCTTACGTTCGTCATCCTTAACGTGATTGAGAGAGAAACCTATGTTTGGTAAAGG
+CGGTCTGGGTAACCTGATGAAGCAAGCCCAGCAGATGCAAGAAAAAATGCAGAAAATGCAGGAAGAGATC
+GCGCAGCTGGAAGTCACCGGCGAATCTGGCGCAGGTCTGGTAAAAGTGACCATCAACGGTGCACACAACT
+GCCGTCGCGTAGAGATCGACCCGAGCCTGCTGGAAGACGACAAAGAGATGCTGGAAGACCTGGTGGCTGC
+AGCATTCAACGACGCAGCACGTCGTATTGAAGAAACGCAGAAAGAAAAAATGGCCTCTGTATCCTCCGGA
+ATGCAGCTGCCGCCTGGCTTTAAGATGCCGTTCTGATGCAAACCAGCCCGCTGTTAACACAGCTTATGGA
+AGCACTGCGCTGCCTGCCGGGCGTTGGCCCGAAGTCGGCGCAGCGTATGGCGTTCACGCTGCTTCAGCGC
+GATCGTAGCGGCGGGATGCGTCTGGCGCAGACGCTCACCCGGGCGATGTCGGAAATCGGCCACTGCGCCG
+ATTGCCGCACCTTCACCGAACAGGAAGTCTGTAACATCTGTTCGAATCCGCGTCGTAAGGAAAACGGTCA
+AATCTGCGTGGTGGAGAGTCCGGCGGACATCTACGCCATTGAGCAGACGGGGCAGTTTTCAGGCCGTTAT
+TTTGTGTTGATGGGGCACCTGTCACCGCTGGACGGCATCGGTCCGGATGATATCGGGCTTGATCGTCTGG
+AACAGCGTCTGGCAGAGGAAAAAATCACTGAAGTGATCCTCGCCACCAACCCCACGGTTGAAGGTGAAGC
+TACCGCTAACTACATTGCCGAGCTTTGTGCGCAATATGACGTGGAAGCCAGCCGAATCGCTCATGGCGTA
+CCGGTTGGCGGCGAACTGGAAATGGTCGATGGCACCACGCTGTCACACTCCCTTGCCGGGCGTCATAAGA
+TTCGTTTTTAAGCAAACGAGAGCAGGATCACCTGCTCTCGCTTGAAATTACTCTCCCTTGTCCCCATCTC
+TCCCTCATCCTGTTTTTAACCTTAAAATGGCATTATTGAGGTAGACCTACATGAAAGGACAAGAAACTCG
+TGGTTTTCAGTCAGAAGTGAAACAGCTTCTGCACCTGATGATCCATTCTCTCTATTCCAATAAAGAAATC
+TTCCTGCGTGAGCTTATCTCTAACGCCTCCGATGCGGCGGACAAGCTGCGTTTCCGCGCGCTTTCTAACC
+CGGACCTGTACGAAGGTGATGGTGAACTACGCGTTCGTGTCTCTTTCGATAAAGACAAGCGCACGCTGAC
+CATCTCCGATAACGGCGTGGGGATGACCCGCGACGAAGTGATTGACCATCTGGGGACTATCGCTAAATCC
+GGCACCAAATCATTCCTCGAATCCCTGGGTTCTGACCAGGCGAAAGACAGCCAGCTGATCGGTCAGTTTG
+GTGTTGGTTTCTACTCTGCGTTTATCGTGGCTGACAAAGTGACCGTGCGTACTCGCGCGGCAGGCGAAAA
+ACCAGAAAACGGCGTCTTCTGGGAATCGGCTGGCGAAGGTGAATACACCGTTGCCGACATCACTAAAGAA
+GATCGTGGTACTGAAATCACCCTGCATCTGCGTGAAGGCGAAGACGAGTTCCTCGATGACTGGCGTGTGC
+GTTCCATCATCAGCAAATATTCCGACCATATCGCGCTGCCGGTAGAGATCGAAAAACGCGAAGAGAAAGA
+CGGCGAAACCGTTATCTCCTGGGAGAAAATCAACAAAGCGCAGGCGCTGTGGACTCGTAACAAGTCGGAA
+ATCACCGATGAAGAGTACAAAGAGTTCTACAAACACATCGCCCACGACTTTAACGATCCGCTGACCTGGA
+GCCACAACCGCGTTGAAGGTAAGCAGGAGTACACCAGCCTGCTGTACATTCCGTCTCAGGCACCGTGGGA
+TATGTGGAACCGCGATCATAAACACGGTCTGAAACTGTATGTTCAGCGTGTGTTCATCATGGACGACGCA
+GAACAGTTCATGCCGAACTATCTGCGCTTCGTGCGTGGTCTGATTGACTCCAGCGATCTGCCGCTGAACG
+TTTCCCGTGAAATCCTCCAGGACAGCACGGTAACGCGTAACCTGCGCAATGCGCTGACCAAGCGTGTGCT
+GCAAATGCTGGAAAAACTGGCGAAAGACGACGCGGAAAAATACCAGACCTTCTGGCAACAGTTTGGCCTG
+GTACTGAAAGAAGGTCCGGCGGAAGATTTCGCTAACCAGGAAGCGATCGCCAAACTGCTGCGTTTTGCTT
+CTACCCATACCGATTCTTCTGCGCAGACCGTGTCTCTGGAAGACTACGTTTCCCGCATGAAAGAAGGGCA
+GGAGAAAATCTACTATATCACCGCAGACAGTTACGCGGCAGCGAAGAGCAGCCCGCACCTGGAACTGCTG
+CGTAAGAAAGGCATCGAAGTTCTGCTGCTTTCCGACCGCATCGATGAGTGGATGATGAACTATCTGACTG
+AGTTCGACGGTAAACCGTTCCAGTCTGTGTCTAAAGTTGACGAGTCGCTGGAAAAACTGGCTGACGAAGT
+TGATGAGAGCGCGAAAGAAGCGGAGAAAGCACTGACTCCGTTCATCGACCGTGTGAAAGCCCTGCTCGGC
+GAGCGCGTGAAAGATGTCCGTCTGACTCACCGTCTGACCGATACGCCAGCGATCGTTTCGACCGACGCGG
+ACGAAATGAGCACTCAGATGGCGAAACTGTTCGCTGCGGCGGGCCAGAAAGTGCCAGAAGTGAAATACAT
+CTTCGAACTGAACCCGGATCACGTACTGGTGAAACGTGCGGCGGATACTGAAGATGAAGCGAAGTTCAGC
+GAGTGGGTAGAACTGCTGCTGGATCAGGCGCTGCTGGCAGAACGCGGTACGCTGGAAGATCCGAACCTGT
+TTATTCGTCGTATGAACCAGCTGCTGGTTTCCTGATGTCATGCCGGATGACCTTCGTGTCATCCGGCATT
+TTTCTTTTCTTCATCTGCACTTTCCGCAAATTATCTTGCCATTAACCGTTTCAGCCTCAGGTGCCTTTCT
+TGAGGCAATCGCCTGTTGGTGGTATCGTTTATCGCTTTTTCAAAAAATTCGACACATTTTAAGGGGATTT
+TCGCAATGCGTATCATTCTGCTTGGCGCTCCGGGCGCGGGGAAAGGGACTCAGGCTCAGTTCATCATGGA
+GAAATATGGTATTCCGCAAATCTCCACTGGCGATATGCTGCGTGCTGCGGTCAAATCTGGCTCCGAGCTG
+GGTAAACAAGCAAAAGACATTATGGATGCTGGCAAACTGGTCACCGACGAACTGGTGATCGCGCTGGTTA
+AAGAGCGCATTGCTCAGGAAGACTGCCGCAACGGTTTCCTGTTGGACGGCTTCCCGCGTACCATTCCGCA
+GGCAGACGCGATGAAAGAAGCGGGCATCAATGTTGATTACGTTCTGGAATTCGACGTACCGGACGAACTG
+ATTGTTGACCGTATCGTAGGCCGCCGCGTTCACGCGCCGTCTGGTCGTGTTTATCACGTTAAATTCAATC
+CGCCGAAAGTAGAAGGCAAAGACGACGTTACCGGTGAAGAGCTGACTACCCGTAAAGACGATCAGGAAGA
+GACCGTACGTAAACGTCTGGTTGAATACCATCAGATGACTGCACCGCTGATCGGCTACTACTCCAAAGAA
+GCGGAAGCGGGTAACACCAAATACGCGAAAGTTGACGGCACCAAGCCGGTGGCTGAAGTTCGCGCAGCTC
+TGGAAAAAATTCTCGGCTAATCAAGCCGCCGCAGATCTGCTCTCGGGCAGGTCTGCTCATCCTCCTCAGG
+CAATACCTCTTACAGCAATTAGTTCTTCTTCTTCACTTTTCCGCTACAATTATCAACAAGTTGAATCGAT
+AAGAGGCGGTAATGCGTCAAACTAAAACCGGTATCCTGCTGGCAAACCTGGGTACGCCTGATGCCCCCAC
+ACCTGAAGCGGTAAAACGCTATCTGAAACAATTTTTAAGCGACAGACGCGTGGTTGATACCTCACGGTTG
+TTATGGTGGCCGTTGCTGCGCGGCGTGATTTTGCCGCTGCGTTCGCCGCGTGTGGCGAAGCTGTATGCCT
+CTGTCTGGATGGAAGGTGGCTCGCCGCTGATGGTTTACAGCCGCCAGCAACAGCAGGCGCTGGCGCAACG
+TTTACCGGAGACGCCCGTGGCGCTGGGAATGAGCTACGGCTCGCCATCACTGGAAAGCGCCGTAGATGAA
+CTTCTGGCAGAGCATGTAGATCATATTGTGGTGCTGCCGCTTTATCCGCAATACTCCTGTTCAACGGTCG
+GTGCGGTATGGGATGAACTGGCACGCATTCTGGCGCGCAAACGTAGCATTCCGGGGATATCGTTTATTCG
+TGATTACGCCGATAACCACGATTATATTAATGCACTGGCGAACAGCGTACGTGCTTCTTTTGCCAAACAT
+GGCGAACCGGATCTGCTGTTGCTCTCTTATCATGGCATTCCCCAGCGTTATGCAGATGAAGGCGATGATT
+ACCCGCAACGTTGCCGCACAACAACTCGCGAACTCGCTTCCGCACTGGAGATGGCACCGGAAAAAGTGAT
+GATGACCTTTCAGTCGCGCTTTGGTCGGGAACCCTGGCTGATGCCTTATACCGACGAAACGCTGAAAATG
+CTCGGAGAAAAAGGCGTGGGTCATATTCAGGTGATGTGCCCGGGCTTTGCTGCGGATTGTCTGGAGACGC
+TGGAAGAGATTGCCGAGCAAAACCGTGAAGTCTTCCTCGGCGCTGGCGGGAAAAAATACGAATATATTCC
+GGCGCTTAATGCTACACCGGAGCATATCGAAATGATGGCTAATCTTGTTGCAGCCTATCGCTAAAGAATC
+GAGCACCGTCGCGTAGAGCATCGTCGGCGGTTTTCATCATCCGTGAATAATGCAAAAAGGCGTGCAGCAT
+ACCGGAGTAGAGTTTGAACTCACAAGGTTGCTGGTGTGCCGCTAACGTCTGGTAAAGCAGACGGCTGTCA
+TCCAGCAGTGGATCGAACTCCGCCCCGGCAATAAAACAGGGCGGAACTTCGCGAGTGAGATCATTATTAA
+ACAGGCAGTAATATGGCGACTCGCGGTCCGCGTCGTTGCTTAAATACGCCTCTTCATACATCTGCAAATC
+CTGTTGCGTTAAGCCATCCCAGACACCACCCAACAGACGACGAGTCACGGAATCCCGTAATCCGTAAAGC
+CCATACCACAGCAAAACGCCCGCAACTTTACCGCAATCGATCTGTTTATCGCGCAACCACAACGCACTGG
+CGAGCGCCAGCATGGCACCTGCGGAATCACCAGCAAAACCAATGCGGGACATATTGATTTGATAATCCTC
+CGCCTGCTGGTGGAAATAACAACAGGCAGCCACAATTTCCTCTATCGCTTGCGGAAAACGCGCTTCAGGT
+GAAAGGGTGTAATCAATGCCAATCACCGTACATTGGCTGTAGCTTGCCAGCAGGCGCATGATGCGATCGT
+GGGTATCGAGATTGCCGAGAATAAAACCGCCTCCATGCAAATAAAATAGCGTCGCCGGCCTATCTGGCTG
+CGGATAAAAGATACGTGTTTTCACCTGCCCATATTTTGTTGGAACCCTGTAAGCTCTGGTTGCCATTTCT
+GGAGCGCCCACATTCCAGAATCGGCGCTCAAGCGTGTAATACTGTCGTTGCTCAGCAATCGTTCCCGTTG
+CAGGCCAGGGCGGTAAATCCGGCTGAAGAGTATTCACAACGGTCTTCATTTCAGCAGAGATAAGGTCCAG
+AACGGGTAATTTGTTTTCCGGCTTCATGCAAAAACTCCTTTCAAATTACGTCATTGTAAGGAACCACTGC
+CATGAAAATGCGATCCCGCCTGCTGATATTGAAACTGGCTGCGTCTCGCGCGCTCCCGTCAGATTGTGTT
+AACATTCGCCGCTCAGTTAACCACCCGTAAAAACAACCATGAAATTTCCCGGTAAACGTAAATCCAAACA
+TTACTTCCCCGTAAATGCACGCGATCCGCTGCTTCAGCAATTCCAGCCAGAAAACGAAACCAGCGCCGCC
+TGGGTAGTGGGTATCGATCAAACGCTGGTCGATATTGAAGCGAAAGTGGATGATGAATTCATTGAGCGTT
+ATGGATTAAGCGCCGGGCATTCATTGGTGATTGAGGATGACGTTGCCGAAGCGCTTTATCAGGAACTAAA
+ACAGAAAAACCTGATTACCCATCAGTTTGCGGGTGGCACCATTGGTAACACCATGCACAACTACTCGGTG
+CTCGCGGACGACCGTTCGGTGCTGCTGGGCGTCATGTGCAGCAATATTGAAATTGGCAGCTATGCCTATC
+GTTACCTGTGTAACACCTCCAGCCGTACCGATCTTAACTATCTACAAGGCGTGGATGGCCCAATTGGTCG
+TTGCTTTACGCTGATTGGCGAGTCCGGGGAACGTACCTTTGCTATCAGCCCCGGCCACATGAACCAGCTG
+CGGGCTGAAAGTATTCCGGAAGATGTGATTGCCGGAGCCTCGGCACTGGTTCTCACCTCTTATCTGGTGC
+GTTGCAAGCCGGGTGAACCCATGCCGGAAGCAACCATGAAAGCCATTGAGTACGCGAAGAAATATAACGT
+ACCGGTGGTGCTGACGCTGGGCACCAAGTTTGTCATTGCCGAGAATCCGCAGTGGTGGCAGCAATTCCTC
+AAAGACCACGTCTCTATCCTTGCGATGAACGAAGATGAAGCCGAAGCGTTGACCGGAGAAAGCGATCCGT
+TGTTGGCATCTGACAAGGCGCTGGACTGGGTAGATCTGGTGCTGTGCACCGCCGGGCCAATCGGCTTGTA
+TATGGCAGGCTTTACCGAAGACGAAGCGAAACGTAAAACCCAGCATCCGCTGCTGCCGGGTGCTATAGCG
+GAATTTAACCAGTATGAGTTTAGCCGCGCCATGCGCCACAAGGATTGCCAGAATCCGCTGCGTGTCTATT
+CGCACATTGCGCCGTACATGGGCGGGCCGGAAAAAATCATGAACACTAATGGAGCAGGGGATGGCGCACT
+GGCAGCGTTGCTGCATGACATTACCGCCAACAGCTACCACCGTAGCAACGTACCAAACTCCAGCAAACAT
+AAATTCACCTGGTTAACTTATTCATCGTTAGCGCAGGTGTGTAAATATGCTAACCGTGTGAGCTATCAGG
+TACTGAACCAGCATTCACCTCGTTTAACGCGCGGCTTGCCGGAGCGTGAAGACAGCCTGGAAGAGTCTTA
+CTGGGATCGTTAAGTTATCGTCGGTTCGTAGGCCAGATAAGGCGTTCACGCCGCATCTGGCATTTTGCTT
+TCAATGCCTGATGCGACGCTGGCGCGTCTTATCAGGCCTACATATCCGCGCCTATTATCCGGCAACCACC
+GTTTACCCCGTCACCACCTCACCCGCCGGTGGCGTTTCCAGCAGTTCCAGCATAGTACGGGCAATTTCAC
+GCTCACCCATCACTACCTGATTCGCACCACGTTCGGTGATATACGCCACTTCATCGTCATAATGGGCGCG
+GGCAATAATCTCAATATCCGGATTTTTCGCGCGGGCAGATGCCACAATCTCGCCCGCTTCATAGCCGTTG
+GGAATCGTCAGGATCAGCCATTTTGCACATTCCAGATGCGCCAGTTGCATAATTTCTTCGTTCGCCGCAT
+TGCCCAATACTGCGCGGACCCCGCGCTCGCGCAGCTCATCAACACGGGTTCGTGACGTCTCAATCACCAC
+CAGCGGAATATCAGAGGCGAGCAATTTCTCCCCCAGCAGGCTGCCTACACGACCGTAACCCACCAGTAGC
+GCATGGTTGCAAATATCCACTGGGATCTGCTTCTCTTCTTCGATTGCCTCTTCCAGCGTCTGCTCTTCCA
+GCGTTTCGGTCTTCGCCAGATATTTCTCCAGTAGTGCGAACAGTACCGGGTTGAGCATAATCGACAGGAT
+CGCCCCTGCCAGTACCAGGTTTTGTCCGGCCTGCGGCAGTAAATTCAATGCCATTCCTAGTCCCGCCAGG
+ATAAACGCGAACTCACCAATCTGCGCCAGGCTGGCGGCGATGGTTAACGCCGTGCGCTGGGAGTGACCAA
+ACAAACGCACAAGGAACAGGGCCGCGACCGATTTACCAAACAGAATAATTGCCAGCGTCGCCAGTACTGC
+CAGCGGTTGCTGAATCAGAATTAACGGATCAAACAACATCCCGACGGAGACAAAAAACAGCACCGCGAAC
+GCATCGCGCAATGGCAGTGTATCGTGGGCGGCACGGTGACTCAGTTCAGACTCGTTCAGTACCATCCCGG
+CAAAGAACGCACCGAGTGCAAAGGAGACATCAAACAGCTCTACCGCACCAAAGGCAATCCCTAACGCCAG
+CGCCAGCACCGACAGGGTAAACAGCTCGCGGGAACCGGTTGCTGCGCTGCGTGCCATAATCCACGGCACC
+AGACGGCGACCTACCAGCATCATAATGGCGATAAATGCGATCACCTTGCCGATGGTGATCCCCATATCGA
+CTGCAAGAGTGGCAAAGCCCACATCGCCCTGTTCCATCATTCCTGCTACCGCGGGTAGCAATACCAGTGT
+CAGGACCATCACCAGGTCTTCCACAATCAACCAACCGATGGCGATTTGCCCACGCTGACTGTCAATTAAT
+TGCCGTTCTTCAAGTGCGCGCAGTAACACCACGGTACTGGCGGTGGAAAGACATAAGCCGAACACGATAC
+CGGTCATTAACGACCAGCCCAGCACGGCGGAGAGCGCCATACCCAGCAGCGTCGCCACGGCTATCTGGGC
+GATCGCACCGGGAATGGCGATGGCCTTTACCGCCATCAAATCCTTCAGCGAAAAGTGCAGACCGACGCCA
+AACATCAACAGAATGACGCCCAGTTCAGCCAGTTCCGGCGCAAGCTTGGTATCGGCAACAAAGCCCGGAG
+TGAATGGTCCTGCCAGCACACCCGCTAACAGATATCCCACCAGAGGAGAAATACGTAGTTTATTGGCCAG
+CATGCCGAGGATAAAGGCGAGCACAAGGCCGCCAACAATGGTGGTGATAAGCGGGGTGGCGTGATGCATT
+CCGTCTCCTTTTCCTGGTGGTTATTGTCCATTTTTGGCCGGGAAAACCAAAATTACAGGTAATAGTTTAT
+GACAATTTCATTGATGATGTTTATGAATAATTGTTGAATTTTGCAGAAAAATGGAATTAGCTGCAAAAAA
+AGCACGGATCGGAAAACAGAAGGCGGTTTAACAGAGGAAAGGCTTATGGCGACTGTAAAACGATGCAGCC
+AAAGTTTGCCTTTGGCTGCAATGAAATCAGTCTTTATGCCGGTTATCAGGCAGGAATATGGTCAACATCC
+CCAATAGTGGCAGGAAAGCACAGATTTTATAGACTAACTCGATGCTGGTGTGATCGGCGATAAGCCCCAG
+AACTGCCGCCCCCAGACCTCCCATGCCGAAAGCAAAACCGAAAAATAGTCCAGAAACCATACCGATACGT
+CCCGGAAGCAGCTCCTGGGCATAGACCAGAATGGCAGAGAATGCCGAAGCGAGGATAAATCCAATAATCA
+CCGTTAAAACCCCCGTCCAGTGCAGGCTGGCGTAGGGTAAAATCAGCGTAAACGGCGCAACGCCGAGGAT
+AGAGCCCCAAATCACATATTTCCGTCCAATTTTATCCCCTACAGGCCCGCCAATCACCGTACCTGCCGCA
+ACGGCAAACAGGAAGGCAAACAAATGAAGCTGAGCATTCTGGATAGATAATCCGAATTTTTGCATCAGAT
+AAAAGGTATAATAGCTGCTGATGCTCGCCATATAGAAATATTTCGAGAAAATGAGGATTAACAGAATGCT
+GACCGCCAGAACAACTTTATTGCGCGGCAGTGGATTGATAATCGTCGCTTTGGGTTTTCCTTTATTCATT
+CGGTGCTGTGCCGAGTACCAACGGCTGATTTGCGCCAACACCACGATCGCCAGCAGTGCCGCAAGCACAA
+ACCAGGCAACGTTGCCTTTGCCATAAGGCGCGATAATCACCGCCGCCAGCAAGGGGCCCAGGGAACTGCC
+AAAGTTTCCGCCGACCTGAAATATAGATTGCGCCAGGCCATGACGCCCGCCGGAAGCCATACGGGCCACG
+CGAGAAGATTCCGGATGAAAGACCGATGAACCGGTACCGACCAGCGCCGCTGCCAGCAGAACTGCGCCGA
+AACTGCCCGCCAGCGCCAGCAGCACCAGACCACTTAAGGTAAAGCACATGCCAATCGGCAACGACCACGG
+CATCGGATATTTATCGGTCCAGTAGCCGACCACCGGTTGCAGTAGCGAAGAGGCGAGCTGGAAGGTGAGG
+GTTATCATGCCAATCTGCATAAATGTCAGAGAAAATTCTGACTGAAGCAGTGGATAAATCGCCAGAATCA
+GCGATTGGATCATGTCGTTCAGCAGATGTGAGAGGCTGATAGCACCTAAAATACCAAACGATGTTCGGGC
+CTTAGTCGTTGACGCAGCCGCGCCCGCCACAGGCTGGGTTTGTTCACTCATTGCCATAGGAAAGTCACTT
+TTTCAGGGTTGCGATGTAAAGAATGATCTTATTTGTGATTATTACCCGACTAACATACCTGTATGCGCCG
+CCTGAAGGAAGTCTCAACACGGAATACAGAATTTCTAATCTGGATGCAGATTTATCTTCACCGGACGCAG
+ACTTGTTTATGATGTCGCGTCATACTATTTTTCAACACGTTGAAATCAGGTCAGGGAGAGAAGTATGAAA
+TTATTGCAGCGGGGCGTGGCGTTAGCACTGTTAACCACATTTACACTGGCGAGTGAAACTGCTCTGGCGT
+ACGAGCAGGATAAAACCTACAAAATTACAGTTCTGCATACCAATGATCATCATGGGCATTTTTGGCGCAA
+TGAATATGGCGAATATGGTCTGGCGGCGCAAAAAACGCTGGTGGATGGTATCCGCAAAGAGGTTGCGGCT
+GAAGGCGGTAGCGTGCTGCTACTTTCCGGTGGCGACATTAACACTGGCGTGCCCGAGTCCGACTTACAGG
+ATGCCGAACCTGATTTTCGCGGTATGAATCTGGTGGGCTATGACGCGATGGCGATCGGTAATCATGAATT
+TGATAACCCGCTCACCGTATTACGCCAGCAGGAAAAGTGGGCTAAGTTCCCGTTGCTTTCCGCCAATATC
+TACCAGAAAAGTACCGGCGAGCGCCTGTTTAAACCATGGGCGCTGTTTAAGCGTCAGGATCTGAAAATTG
+CCGTTATTGGCCTGACGACGGATGACACAGCCAAAATTGGTAATCCGGAATATTTCACTGATATCGAATT
+TCGTAAGCCCGCTGATGAAGCGAAGCTGGTGATTCAGGAGCTGCAACAGACAGAAAAGCCAGACATTATT
+ATCGCGGCGACCCATATGGGGCATTACGACAATGGTGAGCACGGCTCTAACGCACCGGGCGATGTGGAGA
+TGGCACGCGCGCTGCCTGCCAGATCGCTGGCGATGATCGTCGGTGGTCACTCGCAAGATCCAGTCTGTAT
+GGCGGCAGAAAACAAAAAACAGGTCGATTACGTGCCGGGTACGCCATGCAAACCGGATCAACAAAACGGC
+ATCTGGATTGTGCAGGCGCATGAGTGGGGCAAATACGTGGGACGGGCTGATTTTGAGTTTCGTAATGGCG
+AAATGAAAATGGTTAACTACCAGCTGATTCCGGTGAACCTGAAGAAGAAAGTGACCTGGGAAGACGGGAA
+AAGCGAGCGCGTGCTGTACACCCCTGAAATCGCTGAAAACCAGCAAATGATCTCGCTGTTATCACCGTTC
+CAGAACAAAGGCAAAGCGCAGCTGGAAGTGAAAATAGGCGAAACCAATGGTCGTCTGGAAGGCGATCGTG
+ACAAAGTACGTTTTGTACAGACCAATATGGGGCGGTTGATTCTGGCAGCACAAATGGATCGCACTGGTGC
+CGACTTTGCGGTGATGAGCGGAGGAGGAATTCGTGATTCTATCGAAGCTGGCGATATCAGCTATAAAAAC
+GTGCTGAAAGTGCAGCCATTCGGCAATGTGGTGGTGTATGCCGACATGACCGGTAAAGAGGTGATTGATT
+ACCTGACAGCCGTCGCACAAATGAAGCCAGATTCAGGTGCCTACCCGCAATTTGCCAACGTTAGCTTTGT
+GGCGAAAGACGGCAAACTGAACGACCTGAAAATCAAAGGCGAACCGGTCGATCCGGCGAAAACTTACCGT
+ATGGCGACATTAAACTTCAATGCCACCGGCGGTGATGGCTATCCGCGCCTTGATAACAAACCGGGCTATG
+TGAATACCGGCTTTATTGATGCCGAAGTGCTGAAAGCGTATATACAGAAAAGCTCGCCGCTGGATGTGAG
+TGTTTATGAACCGAAAGGTGAGGTGAGCTGGCAGTAATGAACCCCGTCGCGGCGTCATGATATGACGCCG
+CCATTTATGAATATTGAAATCTTGCATCGTAATCGCGATGTGTCAAACCAAATGCCATCAGCATATAATT
+CTGCGGATCACCAGGCTGTTCTTCATCTGCTTCAAACCAAAGTGTCACGCCTGAGCGATTGACGTGGATT
+AAGAGTGTATGGGGCGATTGACGGCGGATTTGCAGATCAGCGCCTTCGTTAACAAGCATGTTAAATACAC
+GCGTAACGTTCAACTCAGCGACGTTATTCAATATTCCTTTATCAAATCGGATCGCTTTGCCCAAATGGAT
+TTGGCTCAGATAATCGCACCAAATCATATATAGCTTGTTGTTTTCGAAATGAAACTCAACATTACCAAAT
+AGCCAGATATAAAAACCATTTCCCATATCATTTTTAGAGTCCGGCTCAACAAAGTTTTGTTCCAACCATG
+CCATTGTTTGCCCCAGTTCGACAAAATCGAATTTTCCGTTAAAGACAAAATTGTGGAAGCTAACATCAAC
+AAGATGGTCAAATTTCATCTTTCGCTCCTTTGTGAATTTTTTACATGCTTCAAAAGCCAGCGTAATTTAC
+ATCGGTGCAGGCGACTCTCCAGTGTTGAGCGAAAATTTGCGATGTCGACATTGGACCGATCTACCGCAGC
+AACCCCCGTGTATTGTGGGATCGGTGAAGGGATTTTTTGTAACTTTCCCAGCGCCAGCAGTTGTTGAATG
+ATCCTGCTACCGTCGTGGTAATCATCGTAAATAGCCACTGGCAGAGGCTGCCAGGCGGGGGTCGATTTGA
+TAAATCCGGAAAAAAAATACGGGTCCAGATCGCCGAAATCAAAGCCGTAGGCGAGGGGAACTTCAATATT
+TTGCTCTGTTTTTTTATTCTCAAATGTACAATGAAAACCGTGAAAACAATACTGCCACTTTCCCATTTTG
+CCTTTTCGCTTACGGTTGCATTTGAAGGGGGCAAAGGTAACTAGCGGGTTATTTTCCGCCATCTCAACGT
+TCAGTTGTTCAGCCAATGCAAATATAAGCTCTGTCGCCAGCTTACGATATTCTTTCGCGCAGTGTTCGAA
+AAAATCCTGATGGCGGTTAATCTCTTCAAGCGATATTAATCTGGCGATCCTGATAACCGGGTCGGCAGAA
+TGCATGCCAACAACAAATTCATCGAGCTGTGCTTTCAGCACCAGCCCGAATTCCTCACGATACCTCTCTG
+CTTCGCTGGCAAAATGCAGATGTAATACCTTCTCTCTCGATGTTTGCCGAAGTAAGGCGATATCCGGTAT
+CTCATCTGCACAAGCGATACTTAATGTCTCTGTAATCCTTTCCACATCTCATCTTCCGTGTGCATCACTT
+AATCGCGACGGGCGATATCAGCAAATTTGGCATCGAGTATCTTTGCCAGGTCGCTTGCCGCCAGTTCGAT
+ATCCAGTCCGCGCTTGCCGCCGGAAACATAAATAGTGGCAAATTCTTGTGCGGGGGCGTCGATAATCGTT
+GGCAGACGTTTTTTCTGCCCCAGTGGGCTAATCCCCCCTACCAGATACCCCGTCGAACGCTGCGCGACCA
+TCGGATCGGCCATCTCAACTTTCTTGGCACCCAGCGCTTTTGCTACTTTTTTAAGATCCAGTTGACCTGC
+GACCGGCGTAACAGCCACGGCAAGGTGTTTCATATCACCGTTCACTGCGACCAGCAGCGTTTTGTAGACC
+TGATCCGGATTCAAACCTAATTTTTTGACGACTTCATCGCCAAAATTGGTTTCAGCAGGATCGTGCTCGT
+AGGTGTGGATTTGAAACGAAATCTTGTTTTTTTCGAGTAATTTAACTGCGGGTGTCATGGTAATTTTCCT
+GCCTTAAACAAAAAAACGAAGCAAGCATACGCCTGATGGCGGTCCAAAAAAAAGAGTCATCTTGCCTAAG
+AGTATTGGCAGGATGGTGAGATTGAGCGACAATCGAGTTACACCGTCGCTTAAAGTGACGGCATAATAAT
+AAAAAAATGAAATTCCTCTTTGACGGGCCAATAGCGATATTGGCCATTTTTTTAGCGCAACATCTGCGGC
+AAATTCCCTTCTCCATACAGGTGTAGTGCACCAACCGCGACCACATATCGCCCCGGCGGCATGGCGCGTA
+ATTTATCCCGCCAGGCGAGATTTCGCTGATGCATCAGCACATCGTACAGCGACTGACTGAACGTATTGGG
+CAACGTTATTTCATTATTTTGCGGCGGTGCATTCAGCCACCAGCTCATCATTTGTTGCAGCAACCGTGCG
+TTGGTGTGCCAGTGGGTCAGCGTATCGTCCAGCAGCGCCAGTCCTTTGTCAGGGAGCTGGAGCAACATGG
+CAATCTGGTTTTCAGCCCCTTCCAGTTCAATCACGGGTTTATGTTGTTGCTTAGCCGCCTGCAATAGCTG
+GTAATCGATACCGTATTCTGCCCGCAGCCCCAGTTTTTGCGCCTGCGTCGCCTGAAGAACCATCGCGATT
+TGCCACAGCGGTTGGGTAGAAAAGAGCGACGGAGAAATGCCCATCTCCTGGCTAATGTGCTGCAGGTTTT
+GGAGTTGGTCCTCGCTAATGCGCTCTTCCAGGGCCTCGCAGGCAGGCAAATTGGCAAAAGGCGTATCGCT
+GGTGGAAACATCCGCCTCGACGATCAGCGCATCGGCGTTTTTGAGCTTTTTGAGCAAACGGGTGGGCAGG
+GGAGCCATATCGTGGCTACCCATATGAATACTGCCGATCAGATGAAAATGGCGATTGCCGGGAAGAGAGA
+TATCGATAGCAGGCCAGGTGTAATGATTACCGCGCAGCGCGGCCCAAAGCGTTTTTACCCGGTACAACAG
+ATCCATACGACCTCCCTTTGTGAAATATCATGCTAGCGCGCGGGGAGGGATGGCGCAAATGGAGTTGATT
+GTTGCACTTGCGCACAGTGCTTGTGTGCATTACAATGATTAAATAATGGACAAGGAGATGAGAGAGGAAT
+GGCTCAAAAGAAAAATATAAGGAGTTTTCGTGATGCCTGGTTGGCTGATTTTTTTGTCCATTCAACGCCA
+CATCGAAAGATCCCTGCTGAAATCCATACCACGTTATCACGAAAGTTGGACATCATTAATGCTGCCACTT
+CTCATCGGGATTTACGCTCCCCTCCGGGGAACCGATACGAAGAGTTATCCGGGAAATTACAGGAATACTC
+CTCCATTAGAGTGAATAAACAGTACCGACTGATTTTTAAATGGGTTAATGGCAAGGCCGAAGAATTGTTT
+TTAGACCCACACAACTACTAAAACATAGCTGTCGTATTGACGAGAAAGGTAAAACTATGAAACAGGCAAC
+AAGAAAACCGACGACACCCGGAGATATTCTTCTCTATGAATATCTGGAACCGCTCGATTTGAAAATCAAT
+GAGTTAGCAGAGTTGCTGCATGTTCATCGTAATAGCGTCAGTGCACTGATCAATAACAATCGTAAACTCA
+CCACTGAGATGGCATTCCGTCTGGCGAAAGTTTTTGATACCACAGTCGATTTTTGGCTAAACCTCCAGGC
+GGCAGTTGATCTTTGGGAAGTTGAAAACAACATGCGTACCCAGGAAGAATTGGGACGGATTGAAACAGTG
+GCTGAATATTTGGCACGTCGTGAAGAGCGTGCAAAAAAGGTCGCGTAGAATAATTTCCCTATAACGGATG
+CGCCACCCTAAAGCAGCGCATCCGCAATGATGTACTTATTCCTTCGGTTTAAACCGCAGCAAGCGGTTGG
+CGTTACTCACTACGGTGATCGACGAGAGCGCCATTGCCGCTCCGGCAACCACCGGGTTAAGCAGTGTTCC
+AGTGAACGGCCACAAAATACCGGCGGCGACCGGAATACCAATGCTGTTGTAGATAAACGCACCGAGCAGG
+TTCTGCTTCATGTTGCGCAGCGTTGCGCGGGAAATTGCGAGCGCATCCGCAACACCCATCAGGCTATGGC
+GCATCAGGGTAATCGCCGCGGTTTCAATGGCAACATCACTGCCGCCACCCATCGCAATACCGACATCCGC
+CTGAGCCAGCGCTGGCGCATCGTTAATGCCGTCGCCCACCATTGCTACCTGACGTCCTTCACTTTGCAGA
+CGTTTGATCGCTTCGGCTTTACCGTCCGGCAGCACCCCGGCTATCACCTCATCAATCCCGGCTTCTTTGG
+CGATCGCATTGGCGGTGGTTGGGTTATCCCCGGTCAACATCACCAGACGATATCCCGCTTTATGCAGGCG
+TTGCAGCGCCGCCACGCTATCACTACGCAATGGATCGCGTAACAGCCAGCAGGGCTACCGCTTTCCCGTC
+AACCGCCAGCAGCACAGGCGTTGCCCCTTGCGATGCCTGAGCTGAAATATCTGCTTCAATCGCTTTAGTA
+TCAACTTGCTGGTCATTTAACAGCGCCTGATTGCCCAGCAATAACGCATGACCTTCAGCTTCACCGCTCA
+CGCCCAGCCCGCGCAATGTGCGGAAACCGTTGACCTGCGGCAGCTGCATATCGCCTGCTTTATCGAGGAT
+CGCTCGTGCCAGCGGATGGCTGGAACCTTGCTCCAGTGCCGCCGCCAGACGCAATGCCTGCGCTTCATCA
+ACATCAGCAAACGTTTTCACTGCGACAACCTGCGGTTTACCTTCGGTCAGCGTCCCGGTTTTATCGAACA
+CGACGGTATCGAGCGTACTGGCGCGTTGCAGCGCGTCGGCGTCCCGTACCAGCACGCCAAACTCAGCCGC
+CCGCCCGACGCCCGAAATAATCGACATCGGCGTCGCCAGCCCCAGCGCACACGGACAGGCAATAATCAGC
+ACCGTGGTGGCAATCACCAGGGTATAGACAATCTGCGGTGCCGGACCAAAGAAATACCAGATTGCCGCAC
+TGATCAGCGCAATCACCACCACTACCGGCACAAATACGGCTGAGATTTTATCCGCCAGTTGGCCGATTTC
+AGGCTTGCTGCTCTGGGCCTGGCGCACCATGCGAATGATCCGTGACAGCGTAGTATGGCTGCCGACCGCA
+CTAGCACGAAACAGCACGCTACCGTCCTGCACCACTGTCCCGGCATGGACGCTATCGCCTTCGCCTTTTT
+GCTGCGGGATAGGTTCGCCCGTCAGCATCGCTTCATCCAGCCACGCTTCGCCTTGAGTAATCTCACCATC
+TACCGGCACACGGTCGCCGGTCGTCAGGCGCAGTAACATACCTGGCTGAACATCTGCCAGCGGCACGTTT
+TTTTCACCTTCGTCGGTGACCAGGCGCGCCGTCGGTGGGGTTAAATCGAGTAATTTCTCCAGCGCCTTAG
+AAGAACGCTGACGCGCGCGCGCTTCCAGCATATGGCCGAGATTGATCAGACCGATAATCATCGCGCTGGC
+TTCGTAATAAAGATGTCGCGCTTCCATCGGGAACCACTGCGGCCACAGGTTGACGCTCATCGAATAGAGC
+CACGCCACGCCAGTACCCAGCGCCACCAGCGTATCCATCGTCGCCGCACCGTTCAGCAGGCTTTTCCATG
+CGCTGCGGTAAAAATGCCCGCCGGCGAAAACCATTACCGCCAGGGTTATCAGGCCGATAACTAACCACAG
+GCTGCGGTTGTCAGCGGTGACCATCATGTTATCGCCGATCATCCCCCAGACCATCACTGGGATACCCACC
+GCCAGCGCGACAATTGCCTGCCAGCGGAAGCGCTTCATCGTAGCGACGGCGGTTTCTTGCTGGCGCTCGC
+GGCGTTTAGCGTCATCTTCAATCGCTTCCGCGCCGTAGCCCGCTTTTTCCACCGCCTGCACTAAATCTTG
+TGGGGAGGCACTGCCCATCACCAGCGCAGTACGCTCCGCCAGGTTTACCCGTGCCTGAGTGACGCCCGGT
+ACGCTTTGCAACGCATTTTGTACGCGGGTGACACAGCTGGCGCAGCTCATGCCGCTCAGCAGCAACTGCT
+GGCTGTCATCGTCATCGGCGGTCGCTGCCGGAAGCGCCTCAGAAACCGCTGTCAGTGCTTCCGACGGGAT
+TGATGACTCCGCCAGCGGTTTAGCCTTTGGGTGGCTTACAGATGCGTCATAACCCGCTTGTTTGATGGTT
+TCGATCAGCTGTTCTGCACTGGCAGTCCCGGTAACGTGCGCTTCAGTGATAGACACATCCGCCTGTTCAA
+CATCCGGGCGCTGTTCGAGACTTTCTTTCACGCGTTTAACGCAGTGACCGCAGGACAGGCCGTCCAGGGT
+CAGGTCGATAGTTTGTGACATAAAACACTCCTTTAAGACAGTTTTGACTGGCTGTGACAAAGGTTAAACC
+TTCCAGCAAGGGGAAGGTCAAGAAATTAATAAACCAGGCGGGTAAAAGTCCGTAAAGATTAAAAAATCGG
+CTCGATTTGCATCAGGATTAGACATTTATCTCTTTGTTTTCCTGTAGTTAAGTTGCGGGTGCTAAGTTAA
+ATCAGGATGCCTGAAAATCGGCACCGGGGTGAGGAATTACCTCCCGCATCTATAAAAAGGAGTTAACAAA
+AGATGTTAGATGCAAACAAATTACAGCAGGCAGTGGATCAGGCTTACACCCAATTTCACTCACTTAACGG
+CGGACAAAATGCCGACTACATTCCCTTTCTGGCGAATGTCCCTGGTCAACTGGCGGCAGTGGCTATTGTG
+ACCTGCGATGGCAACATCTATCGCGCGGGTGATAGTGATTACCGCTTTGCGCTGGAATCCATCTCGAAAG
+TCTGTACGTTAGCCCTTGCGTTAGAAGATGTCGGCCCGCAGGCGGTACAGGACAAAGTTGGCGCTGACCC
+GACCGGATTGCCCTTTAACTCAGTTATCGCCTTAGAGTTGCATGGCGGCAAACCGCTTTCGCCACTGGTA
+AATGCTGGGGCTATTGCCACCACCAGCCTGATTAACGCTGAAAATACTGAACAACGCTGGCAGCGAATTT
+TACATATCCAACAACAACTGGCTGGTGAGCAGGTAGCGCTCTCTGATGAAGTCAACCAGTCGGAACAAAC
+AACCAACTTCCATAACCGGGCCATTGCCTGGCTGCTGTACTCCGCCGGATATCTCTATTGTGATGCAATG
+GAAGCCTGTGACGTGTATACCCGTCAGTGCTCCACGCTCATCAATACTATTGAACTGGCAACGCTTGGCG
+CGACGCTGGCAGCGGGGGGTGTGAATCCGCTGACGCATAAACGCGTTCTTCAGGCCGACAATGTGCCGTA
+CATTCTGGCCGAAATGATGATGGAAGGACTGTATGGTCGCTCCGGTGACTGGGCGTATCGCGTTGGTTTA
+CCGGGCAAAAGCGGTGTAGGTGGCGGTATTCTGGCGGTCGTTCCTGGCGTGATGGGAATTGCCGCGTTTT
+CACCACCGCTGGACGAAGAAGGCAACAGTGTTCGCGGTCAAAAAATGGTGGCATCGGTCGCTAAGCAACT
+CGGCTATAACGTGTTTAAGGGCTGATCATGATGAACACGGAAGGTAATAACGGTAACAAACCTCTCGGTC
+TATGGAACGTCGTTTCCATCGGCATTGGGGCAATGGTGGGGGCGGGGATCTTCGCGCTGCTGGGGCAGGC
+TGCGTTGCTAATGGAAGCCTCGACCTGGGTCGCCTTTGCTTTTGGCGGTATTGTGGCGATGTTTTCCGGT
+TATGCCTATGCGCGTCTGGGGGCGAGCTATCCCAGCAATGGCGGTATTATCGACTTCTTTCGTCGCGGAT
+TAGGCAACGGCGTTTTTTCGCTGGCGCTCTCGTTATTGTACCTGTTGACGCTGGCGGTGAGTATCGCCAT
+GGTCGCTCGTGCTTTTGGCGCTTATGCCGTGCAGTTTTTGCATGAAGGCAGCCAGGAGGAGCACCTTATT
+TTGCTCTACGCGTTGGGGATCATTGCGGTGATGACGCTTTTCAACTCCTTAAGCAACCATGCGGTAGGGC
+GGCTGGAAGTGATCCTCGTCGGCATTAAAATGATGATCCTGTTATTGCTGATCATTGCCGGTGTCTGGTC
+GCTGCAACCGGCGCATATTTCCGTCTCTGCGCCCCCCAGCTCCGGTGCGTTCTTCTCCTGTATCGGGATA
+ACCTTCCTTGCCTATGCGGGCTTTGGCATGATGGCGAACGCGGCGGATAAAGTGAAAGATCCGGAGGTCA
+TAATGCCACGGGCGTTTCTGGTGGCGATTGGCGTTACCACGTTGCTTTATATCTCGCTGGCACTGGTTTT
+GCTTAGCGATGTATCGGCATTAGAGTTAGAAAAATATGCCGATACCGCCGTAGCGCAGGCTGCTTCTCCG
+CTCCTCGGGCATGTGGGGTATGTGATCGTCGTCATCGGCGCTTTACTGGCGACGGCTTCAGCCATCAACG
+CAAACCTGTTCGCCGTGTTTAACATTATGGACAACATGGGCAGCGAACGCGAACTGCCGAAGCTAATGAA
+TAAACCTCTGTGGCGGCAGAGTACCTGGGGCAACATCATCGTCGTGGTGTTGATTATGCTGATGACGGCG
+GCGCTGAATTTAGGCTCACTCGCCAGCGTTGCCAGCGCCACCTTTTTGATCTGCTATCTGGCGGTGTTTG
+TGGTGGCGATCCGCCTGCGTCATGATATTCACGCCTCGTTGCCGATTCTTATCGTTGGTACGTTGGTTAT
+GTTGTTGGTGATCGTTGGCTTTATCTACAGTCTCTGGTCCCAGGGCAGCCGTGCGCTGATATGGATTATT
+GGCGCACTCTTACTCAGCCTTATTGTGGCAATGGTCATGAAGCGCAATAAAACCGTATAACATCTCTCTG
+TGCGCAGTACTTCCTGTATTATTGTGGTGGCGGTCGATATTCGCACTGGCAAAAAAACGTGCTTGAATAT
+TTGTTGAAACCCTTTAACAAAGCACAGGAGGCGTTGCGCGAACGATGAACATTAGCGATGTAGCAAAAAT
+TACCGGCCTGACCAGCAAAGCCATTCGCTTCTATGAAGAGAAGGGGCTGGTGACGCCGCCGATGCGCAGC
+GAAAACGGTTATCGCACCTACACGCAGCAGCATCTCAACGAACTGACCTTACTGCGCCAGGCACGCCAGG
+TGGGCTTTAACCTGGAGGAGAGCGGCGAACTGGTGAATCTGTTTAACGATCCGCAGCGTCACAGCGCCGA
+CGTCAAACGTCGTACGCTGGAGAAAGTAGCGGAGATCGAACAGCATATCGAAGAACTGCAATCCATGCGT
+AACCAGCTGCTGGCGCTAGCGAATGCCTGCCCCGGTGATGACAGCGCCGACTGCCCGATTATCGAAAATC
+TTTCCGGCTGCTGTCATCATCGGGCGGGGTGATTAAGGCTTGCGAAAATAGTCGTCCATTATTTTCGTCA
+ACTCCGGACGTTCCCCGTCATCATTGATGGCAAAATCCAGAAAAAAAGCATCTGCTTGCGGCGTTCGGTT
+TTGCGCCATCAACCGGAAGGTGAGGGGGCGATAAATGGCGTATGCCGGATGGCTGATAACGAATCGGGCA
+AAGTCAATAAAAAGCGGCGAGTGTGTGGAAAACAGCGCCTGCAAAATAATATCAGCCTTTTCATCCTCCC
+CCAAACCTTGTTGGATCATGCTCTTAATACGAGTTTCGCTCAAATTCCCGGCCTCAACAATTTGCCAGGC
+TTGATCCAGCGAGGGGTACCGACTGACGCTCTGCTTTAACTCTTCTGACCAGGTTTCGGATGGGCTGATG
+TGCTTATCAGGGCCGAAACTCTCCCATGCGCTGGGCGGTAATGTTTTGCACGCGGTGAGTTTTGGTATGT
+GGTATTGCAGCTCTGTTTTGTGCAGACATTCCCCGCCAGGAAATACCAGGGTTTGTTGCTCATCATTAAA
+ATGGGTTGCCGTGCTGAGCACCAGTGTTTTGAGCGGTCGCCCTTCCAGCGCGGCGGCAGTAGCCTTATGG
+TGTCCGTCGAGCAGAACGCAGAGATAGGAATCAGGGAGATACCAGGCCAGAGCGCGGGCGTCCGGTTTAT
+CGCGATAAAACGTCGCACGCTCAGGATTAAAATGTGATGGCGGCTGGCCGGGTAGAAGAAAGCAGGGCGC
+GGTGTCACTGAAAGAGCAATATTCAGGATCCCAGACGGCAACGGTTGCCGGATTACTGGAACTATGGTCC
+GTTGCCGCCCAAAAGAAATGCCCGTTGCCATCCGTCGGGTAAAGTTCACGATCTTCCAGCAAATAATAAC
+CATCAGCCATGCATGTGAACAGCGGTGTCAGCGCGGCAAAAGCGTCCGTTATGCCAGACCACGGGCGATT
+CCAGTTTTCGAGAGCAGACAAAAACCGGGCGGCTCCCTGTTCATCCTCCGTAAAACCGCTGTAGACAAAT
+TTCGCACATGTAGGGCATCCAGCCTCGGACCAGAAACGTATTAACGGGACATCCTGCCAGCAGAGCGAAT
+GGATAAGACCGTGCGAGTGCGGATCGTAAATCACACATTGACGCAGAAATCCTTTCCCGGACTTCACCGA
+AAAAATGACGCCCGCAGCGGTATTTTTCAGCAGACGTACTTCAGGTTTTCGAAAGGGGGAAAACATGGCT
+ACTCCTTAGCCGAACATTCAATTAACACTATGTAGGGGGCTATATGCCGGATGCGGCGTAAACGCCTTAT
+CCGGCATGGGGTTTGGTACAGATTTCCAGGTGTGATAAGACGCGTCAGGCGATGACCGCACGGATAATCA
+GCGTTATCCCTTCTATCGCAATCACCTCAACATGCGTACCTGCACTGAGATCCTCGCTGGCGCTGACAGG
+CCATGAACTGTCACCGACGCGCATATGACCGCGCCCGTTGACCAGCGGAGATTCCAGCACAAAACGTCGG
+CCAATAAGCTGCTGCCCGCGCTGGTTTAAATGACTGTCGCTGTGCTTTTGTTCGCGCACCCGCCGCGACA
+GCCATTTCCACCACAACCAGGCGGCGAGCAGTGTCAGAATGGCAAACATCACCCCTTGCCACTCCCAACC
+CAGCGGCACCAGCCAGACCACCAGGCCGGTAATCACCGCTGCCACGCCGCTCCACAACAGATAACCATTT
+CCGCCCAACATCTCGGCTGCCAGCAGCAACCCGCCGAGACTGAGCCAGAAAATATGTGGATGAACGACCA
+TTAACTCCATCATGGCTGAGTCCGTTTGTTGGCGCTGTCTTTCACCAGCTCGGCAATCCCGGCAATCGAC
+CCCATCAGGCTGCTGGCCTCTAATGGCATCATCACCACTTTGCTGTTACTGGACGAACCGATCTGCTGTA
+ACGCTTCGGTGTATTTCTGTGCGACGAAGTAGTTCACCGCCTGAATATCACCGGAGGCGATGGCTTCAGA
+CACCATTTTGGTGGCGCGGGCTTCTGCTTCAGCGGAACGTTCACGCGCTTCAGCCTGTAAAAACGCCGAC
+TGACGTTCGCCTTCCGCTTTCAGGATTTGCGACTGTTTTTCACCTTCGGCTTTGAGGATTTCCGCCTGAC
+GGATCCCTTCCGCTTCAAGGATGTAAGCGCGTTTGGTACGTTCCGCTTTCATCTGCGCGTTCATTGAAGA
+GATAAGCTCTGCGGGCGGGCGCACATCACGAATTTCGATACGGGTGACTTTAATCCCCCACGGGTTGGTG
+GCCTCATCGACAATACGTAGCAGGCGTGAGTTGATGCTGTCGCGCTGAGAGAGCATTTCATCAAGTTCCA
+TTGAACCCAACACGGTACGGATGTTAGTCATGGTCAGGTTGATGATCGCCAGCTCCAGATTGCTGACTTC
+ATAAGCGGCGCGCGGGGCATCAATCACCTGAATAAAGCACACGGCGTCGATGGTAACGTTGGCGTTATCT
+TTCGAGATAACTTCCTGGGAAGGGATGTCGAGCACTTGCTCCATCATATTGATCTTGCGACCAATGCGAT
+CCATAAACGGCACCACCAGACTGAGCCCCGGCTGTAACGTTTTGGTATAGCGACCAAAACGTTCTACCGT
+CCATTGATAGCCCTGCGGCACGATTTTGACGCCCGCGCCGACAATGACCAGCGCGACAAAAATAAGAATA
+GGGATAAAGATAAGCATCGGAAAAACCTCCTGTTGTACCGTCCATAATCAGCAAAATTGCTGCTTGATTA
+AACAAATTATACCTGATTACTGAAAGAGAGTTCCCCCTTATTCCTGCGAAGGATAAACTGTTTTTAGTAA
+AAATCAGAAAAAGGGAACAGTGATGCAGGAAAATAGTCCTTTGCTTCAGCTACAAAACGTAGGATATCTG
+GCGGGTGATGCGAAGATTCTTAATAACATCAATTTTTCGCTGCGTGCTGGCGAATTTAAGTTAATTACCG
+GTCCTTCTGGTTGTGGCAAAAGTACGCTGCTAAAAATAGTTGCTTCATTGATCAGCCCAACCAGCGGAAC
+GTTACTGTTTGAAGGTGAGGATGTCAGCACACTAAAGCCAGAAATCTACCGCCAGCAAGTGTCTTACTGC
+GCCCAGACGCCGACGCTGTTTGGCGATACGGTATACGATAACCTGATTTTTCCCTGGCAGATCCGTAATC
+AGCAGCCTGACCCGGCCATTTTTCTCGATTTTCTCGAACGCTTCGCTTTGCCGGACACCATTTTGACGAA
+AAATATCGCCGAGCTATCTGGGGGTGAAAAACAACGCATCTCATTGATTCGTAACCTGCAATTTATGCCG
+AAGGTTTTATTGCTGGATGAAATCACCAGTGCGCTGGATGAAAGTAATAAACATAACGTTAATGAGATGA
+TCCATCGTTATGTGCACGAGCAAAATATTGCCGTGCTGTGGGTGACACACGATAAAGACGAAATTAATCA
+TGCGGATAAAGTGATTACACTGCAACCGCATGCCGGAGAAATGCAGGAAGCACGCTATGAACTCGCATAA
+TATTACTAACGAATCATTGGCACTGGCATTAATGCTGGTGGTGGTGGCAATCTTAATTAGCCATAAAGAA
+AAACTGGCGCTGGAGAAAGATATTCTCTGGAGCGTCGGGCGCGCGATAATTCAGCTGATTATTGTCGGCT
+ATGTGCTGAAGTATATTTTCAGCGTGGATGATGCCAGCCTGACATTATTGATGGTGTTATTTATCTGCTT
+TAATGCGGCGTGGAACGCGCAAAAACGCAGTAAATATATTGCTAAAGCTTTTATCTCATCGTTTATTGCC
+ATTACGGTCGGGGCGGGAATTACTCTGGCGGTGCTGATTTTATCGGGATCGATTGAGTTTATCCCGATGC
+AGGTGATCCCTATCGCCGGGATGATAGCCGGTAACGCCATGGTAGCGGTGGGGTTGTGTTACAACAATTT
+AGGGCAACGGGTTATTAGCGAACAGCAACAGATTCAGGAGAAACTGAGTCTTGGCGCGACGCCGAAACAG
+GCTTCAGCGATATTGATTCGCGACAGTATTCGCGCGGCTTTAATTCCGACGGTCGATTCAGCAAAAACGG
+TTGGCTTAGTGAGTTTACCAGGAATGATGTCCGGGCTGATATTTGCCGGGATTGATCCGGTGAAGGCGAT
+TAAATATCAGATTATGGTGACCTTTATGCTGCTCTCAACTGCCAGCCTGTCGACCATTATTGCCTGCTAT
+TTAACCTATCGTAAATTTTATAATTCGCGCCACCAATTGGTGGTGACGCAATTGAAGAAGAAATGATGCG
+ATGCCGGACGCGCAGCATCGCATCCGGCGTTGTGGTTCATGTGCCGATCAACGGAAACTCAATACAACAA
+CGCGTACAGCTGGCGGCGATACTTCGACGCCAGTGCATCACCCGTACCCAGCGCAGCGAGGATCTCCTGG
+AATGTTTTACGTGTCTGACCATCTGCGGCGGTGAGATCTTTACGCAGATGCCCAAACAGTAACTCCAGCG
+CCTCTTCATTGCGCCCAACCTGGTGCAGTTGCAGTGCCAGTTGCGTCGCCAGTGCGGCATCTTCTGGATT
+CTCCGCCACCTGCTGTTGCAACTGTTGAATTTCCGGCGTATCTGCCGCCTGCTTCAGCAGTTCGATTTGC
+GCCACCAGCCCCTGGTAGCGGGTGTCCTGATCCTGCAATGGAATGGTTTTAAGCACCGCTTCTGCATCTT
+CAGAACGGTTCAGCGCAATCAGCGTTTCTGCCAACAGCAGGCCGATTTCCCCGTTCTGATTCGACAACTG
+CCAGGCGTCTTTCAGCAATGGCAGGGCGTCGGTGTAATTGCCTTCCTGCATCAGTTGCATCGCCTGCTGC
+GCTTTCAGCTCTTCTTCACGCGGCAGCACTTTATCCAGCAGGGCGCGGATCGCCTCTTCCGGTTGCGGCC
+CCTGGAAGCCGTCTACTGGTTGCCCGTTCTGGAACAGATATACGGTCGGAATCGCGCGCAGACCAAACTG
+GGCGGCAATCATCTGCTCCGCGTCGCAGTCCAGCTTCGCCAGAATAAATTGCCCGTTGTACTGCGCCGCG
+AGGCTTTCCAGAATTGGGGTTAACTGCAAACAGTGCTGGCTACGTTCAGACCAAAAATAGAACAGCACCG
+GAGTGGTCATCGACTGTTCAAGAACCTGTTGCAGGTTAGATTCGTTAATGTTGACAATATTTTCTACGGA
+CATGGAGTCGCTCTCTGTTGTCGATATTTTCTTTGACATGGGGGCTTAAGCGCGCGCTTCAACTCACCCC
+TGCAATATTTTGTCCATCACGCGCCCCGGCAGCAGGCGCTTAAGCACCATTACTGCCCAGGTCACCAGCG
+TTACCGGATAGCGCATCTTCGGCTTCTCGCTAATAAAAGCATGGCGCACTTTGTCGACCACCGCTTCCGG
+TCCCAACGTAAAGCGGGCGGCGATGCCAGGATTTTCGACTGGTTTATCACTTTGCGTCTGATTGACGTTG
+TCGGTGAAGCGAGTACGAATGGGACCAGGTTCGATCAGGCTGACTTTAATTCCGCTGTGGCGCAGCTCCA
+TGCGCAGTGCGTCTGACCACGCCTCCAGCGCATATTTACTGGCCGCGTAAGCGCCACGACCCGGTGTGGA
+GATTAATCCCATCACCGATGAGGTCATCACAATACGCCCTTCACCGTGCGGCAACATCGCGGGTAACAGG
+CGCATGGTGAGCTGGTGTGCGCCGAAAAAGTTGGCGGAAAACTGCTGTTCCATCTGCGCACGGCTGATGG
+TGGAAAGGGGGCCATACATGCCGAATCCGGCATTGTTAAAGATCCCATACAGACAATTATCGGTCAGGGC
+GATCACTTCGTCGGCTGCGCGATCAACACTTTCTGGCGAATCCAGATCGATCAACACGCCGGTAAATCCC
+ATGCTGTTCATGCGCTCAACATCATCCGGTTTCCGGCAACCTGCCAGCACATGAAAACCCTGGCGTTTTA
+ATTCGAGCGCGCTTTCCAGGCCAATACCACTGGAACATCCGGTAATTAAGACCGATTTTTGCATAACTTT
+ACCTGTCAGGATCTCCGTTGCTTTATGAGTCATGATTTACTAAAGGCTGCAACTGCTTCGCCATCCAGTC
+GGCAATAAACGGCTGGGCGTCGCGGTTGGGATGAATACCGTCATCCTGCATCCATTGTGGCTTGAGGTAG
+ACCTCTTCCATAAAAAAGGGCAGCAGCGGAACATCAAACTCTTTGGCGAGTTTGGGGTAAATGGCGCTAA
+AGGCTTCATTATAACGGCGACCATAGTTTGCAGGCAGACGTATTTGCATTAACAATGGTTCAGCGTTGGC
+GGCTTTGACATCCTGCAAAATCTGGCGCAGCGTTTGCTCGGTTTGCTGTGGTTGAAAACCACGCAAACCG
+TCATTGCCGCCCAGTTCAACCAGCACCCAGCGCGGCTGATGCTGTTTCAGCAGAGCCGGAAGGCGCGCCA
+GCCCTTGTTGCGAGGTGTCGCCGCTGATGCTGGCATTGACTACCGACGTTTTACTCTGCCACTTATCATT
+CAACAAGGCAGGCCAGGCCGCGCTGGCAGACATTCGATACCCGGCGCTCAGGCTATCACCCAGAATCAAT
+AACGTGTCCGCTGCGGCGGCACGGAAGGTTAACAGGACCAGGAACAGGAAGGGCAAATGCCAGCGGAAAA
+CATTGTTGAAGTTCATCATCTTAAGAAGTCCGTCGGTCACGGGGAGCATGAACTCTCCATCCTCACCGGA
+GTTGAGCTGGTTGTCAAACGTGGCGAGACCATCGCACTGGTGGGCGAGTCGGGATCGGGTAAGTCAACCT
+TGCTGGCGATCCTCGCCGGGCTGGATGACGGCAGCAGTGGCGAAGTGAGACTTGGTGGGACAACCGCTAC
+ATAATATGGACGAAGAAGCGCGGGCAAAGTTGCGCGCGAAGCACGTAGGCTTTGTTTTTCAGTCATTTAT
+GTTAATTCCTACCCTTAACGCGCTGGAAAACGTCGAGCTTCCGGCGCTGCTGCGCGGTGAGAGTAGCGCA
+GAAAGTCGTAACGGGGCGAAAGCGTTGCTCGAACAGTTAGGACTGGGTAAACGTCTGGATCATCTTCCGG
+CACAGCTTTCCGGCGGCGAACAGCAACGAGTGGCGCTGGCGCGAGCTTTTAATGGTCGGCCTGATGTGCT
+GTTTGCCGACGAACCCACCGGCAATCTTGACCGCCAGACGGGCGATAAAATTGCCGACCTGCTGTTTTCC
+CTCAACCGTGAGCATGGCACCACGTTGATTATGGTGACCCATGACCTGCAACTGGCGGCACGCTGTGACC
+GCTGCTTACGGCTGGTGAACGGGCAGTTGCAGGAGGAAACATGATTGCACGTTGGTTCTGGCGCGAATGG
+CGCTCGCCGTCGCTATTAATTGTCTGGCTGGCGTTAAGCCTGGCGGTGGCCTGCGTGCTGGCGCTGGGCA
+ATATCAGCGATCGCATGGAGAAAGGTTTAAGCCAGCAAAGCCGTGAGTTTATGGCGGGCGATAGGGCGTT
+GCGCAGTTCGCGCGAAGTGCCGCAAGCGTGGCTGGAGGAAGCGCAAAAGCGCGGCCTGAAAGTCGGCAAG
+CAGCTGACTTTCGCCACCATGACCTTTGCAGGCGACACACCGCAGCTGGCGAACGTCAAAGCGGTGGATG
+ATATCTACCCGATGTATGGCGAGCTACAAACCAATCCCCCTGGCCTGAAACCGCAGGCGGGCAGCGTATT
+GCTGGCCCCACGCCTGATGGCGCTCCTTAACCTGAAAACGGGCGACACCATCGACGTGGGCGATGCTACC
+TTGCGGATTGCCGGAGAAGTGATTCAGGAACCGGATTCCGGTTTTAATCCTTTCCAGATAGCCCCACGCC
+TGATGATGAATCTGGCGGATGTTGATAAAACCGGAGCCGTGCAGCCGGGGAGTCGGGTCACCTGGCGTTA
+TAAATTCGGCGGCAGCGAGAACCAGCTCGACGGCTATGAGAAATGGTTGTTACCCCAGCTTAAACCTGAA
+CAACGCTGGTACGGTCTGGAACAGGACGAAGGCGCGCTGGGGCGATCGATAGAACGTTCGCAACAGTTCC
+TGCTGCTTTCGGCGCTTCTGACCTTGCTGCTGGCGGTGGCGGCGGTTGCGGTGGCGATGAATCATTACTG
+TCGCAGTCGCTACGACTTGGTGGCGATCCTCAAGACGCTGGGGGCAGGGCGAGCGCAACTGCGTAAGTTA
+ATCGTCGGTCAGTGGTTGATGGTGCTGGCGCTTTCAGCCGTTACCGGTGGGGCGATAGGCCTGTTGTTCG
+AAAACGTGTTGATGGTGCTGCTCAAGCCCGTTCTGCCTGCTGCACTACCGCCAGCCAGCCTCTGGCCGTG
+GCTGTGGGCGCTCGGCACCATGACGGTTATTTCGCTGCTGGTGGGGCTACGACCGTACCGACTGTTACTG
+GCCACGCAGCCTTTACGCGTATTACGTAATGATGTGGTAGCGAACGTCTGGCCGCTGAAGTTTTATCTGC
+CGATTGTCACCGTGGTGGTTGTGCTGCTGCTCGCCGGACTGATGGGTGGCAGTATGCTGCTCTGGGCGGT
+GCTGGCGGGCGCGGTAGTACTGGCTTTGCTGTGCGGTGTGCTGGGCTGGATGCTGCTGAATGTACTTCGC
+CGCATGACGCTGAAATCGCTACCTCTGCGCCTGGCGGTTAGCCGCCTGTTACGTCAGCCGTGGTCAACGT
+TAAGCCAGCTTTCGGCATTTTCGCTCTCCTTTATGCTGCTGGCACTGTTGCTGGTGTTGCGTGGCGATCT
+GCTCGACCGTTGGCAACAACAACTGCCGCCAGAAAGCCCGAACTACTTTTTAATCAACATCGCTACGGAA
+CAGGTTACGCCGCTGAAAGCGTTTCTCGCGGAACATCAGATAGTCCCGGAATCGTTTTATCCGGTGGTGC
+GGGCGCGGTTGACGGCGATTAACGATAAGCCGACAGAAGGCAATGAAGATGAGGCGCTCAACCGCGAGCT
+GAATCTCACCTGGCAAAATACGCGGCCCGATCATAATCCGATTGTCGCCGGTAACTGGCCGCCAAAAGCC
+GATGAAGTGTCGATGGAAGAGGGGCTGGCGAAACGCTTAAACGTTGCCCTCGGCGATACCGTGACTTTTA
+TGGGCGATACCCAGGAGTTCCGCGCTAAAGTGACCAGCCTGCGCAAAGTGGACTGGGAAAGTCTGCGGCC
+TAATTTCTATTTTATTTTCCCGGAAGGGGCATTAGACGGGCAACCGCAGAGCTGGCTTACCAGTTTCCGC
+TGGGAGAATGGCAACGGCATGTTGACGCAACTCAACCGCCAGTTCCCGACCATTAGCCTGTTAGACATTG
+GCGCGATTTTAAAACAGGTCGGTCAGGTGCTGGAGCAGGTAAGTCGGGCGCTGGAAGTGATGGTGGTGCT
+GGTCACCGCCTGCGGCATGTTGCTGTTGCTGGCGCAGGTGCAGGTGGGAATGCGTCAGCGTCATCAGGAG
+CTGGTGGTGTGGCGCACACTTGGTGCGGGGAAAAAACTGCTGCGCACGACATTGTGGTGTGAGTTCGCCA
+TGCTCGGGTTTGTATCCGGCCTGGTGGCCGCAATCGGTGCGGAAACGGCACTGGCGGTACTGCAATCGAA
+AGTGTTTGATTTCCCGTGGGAGCCAGACTGGCGATTGTGGATTGTGCTGCCGTGCAGCGGTGCGCTACTG
+CTGTCGCTTTGCGGCGGCTGGCTGGGTGCGCGACTGCTTAAGGGTAAGGCGCTGTTCAGGCAGTTTGCGG
+GGTGATGACAGGTGTTAGATTGCCTGATGCGCTACGCTTATCAGGCCTACGAAGATCGTGCAATATATTG
+AGTTTTCGAAATTTTGTAGGCTGGATAAGGCGTTCACGCCGCATCCGGCATGAACAGCGTGCACAGAATC
+CCCCATCACTGCGCCTTAACCCATTCCGCCACTTCCGCCCACTCACCGCGAAAGACAACTTTTTCCGCTT
+TTTTCTCAAGCTGATAGCGATACATCGGGTCGTAATATTCTTCAAGTAACGGCACCAGCCAGGCCAGATG
+ACCGTCGGTGCTGCCGGTGGTGAGTTGCGTTGTCAGCGCCGCATCCAGCCTTGCAGCCAGTTCGTTATAG
+CGTTGTAGTCCCAGCCGACGTTTAATCGCCGAAAGCCCGTGATGCAGGTATTCGCAATACTCCTGCCAGC
+CCTGTTCGTCGCCATAAGCGTGGGTAAAATCATGATGCATACGCAAGAAATATTCTTCGTTCAGGCGTTC
+AAGACGGATCTCAAACGGATCTTCTACCACCGCAATCGTCGCCTGAGTCATTCGTTCGCGCAGACATTCC
+GGCAGGTGATTCGAACCGATCATCCGGCTTTCATCTTCCAGCACCCACAGGCGCAAATCCTGATGGGCGT
+CGGTTTTTAGCATTTCGGCAGCCAGCAGGTTTTCAAAACTCGCCTGGCTAAGTTGTGGTTGTAACGTGCG
+ACCAAAAGCAGAACCGCGATGGCGCGCCAGCCCTTCCAGATCAACACCGTTCGGTTGTTGTTGCACTAAC
+AGCGTTTTGCCGCAGCCGGTACAACCGCCAATCAGCACTATCGGTTTTTGTGACAGTTCAATGGTCGCCT
+GAATCGCGGTCTGGCGCAGTGCCTTATAACCGCCTTCCACCAGCGGATAATCAATCCCCGCGTCATGCAG
+CCAGCGTTGCACAATATGCGAGCGCTGACCGCCACGGGCGCAGCAGAGAATACCGTGCGGATTTTGCAGG
+CACGCTGCCCGCCAGGCGTCTATACGCTGCTGACGAATTTCACCCGCCACCAGCTTATGCCCCAGTGCCA
+GCGCCGCGTCTGACCCTTGCTGTTTATAGCAGATGCCAACGGCGGCGCGTTCATCGTTATTCATTAACGG
+TAGGTTGATAGCGGCGGGCATTGCGCCTTGCTCAAACTCGATGGGGGCGCGAACATCAATAATGGGCGTA
+TCAGCAATCAGCAGGGCACGATAGTCCTGTTCCGTGTGTCTCTCTTGCATAGTAAAAAGTGAACCTCAAA
+TCAGCTTGCGCGCTATTTTACGCGCCAACGTGCAAGGAAACTTGATTTTTAACTGCGTGGGTTGCCGAAA
+ATTTCTAAAAATCCGCTGATTTCCGGCCTGCGCTGGGTAAACAAGGTCACAATATCTTCTACCGCTTTGC
+CGCTGCCAAATTTGCGCCATGCCAGACTCAATGGCGAAGGAGGGCGCATCGTTGGGATTACCCGGCTGAC
+CAGTTGTTGATTATCGAGCATTGACTGGCAAAGTGATTTTGGCAAAAAACCAATGCCCACGCCCGCCAGA
+TGGGCGGCGATTTTCGTTTCCATATCGGGAACAATAATCTCTTTTTGCCCCGGCAATCGCCAGGCGACGC
+GTTTGGTTAATGTACGGGCGCTGTCTTCAATATTGACCGCCGGAAAGCGCCGCAACTGTGCTTCTGTTAG
+CGGCTCTTCAACGTTCGCCAGCGGATGATCCGCCGCCATGACAAAGCGCCATTGCACCGATCCTAAGGGA
+TCAAGACTAAAGGTATTTGCCAGCGCCTCGGTTCCCGTGACGCCGATAGCCAGTGAAAAACCTTCGTACA
+ATAGCGAGTCCCAGACGCCCATATAGATTTGTCGGGAGATGTGAAATTGGGTAAACGGGTAACGTTCATT
+TAGCCACGCCAGCAGCCTGGCAACGGCCTGGGGGTTATAGAGCAGGTTGTTGATGACGATATTCACCTGG
+CGTTCCACGCCATCATTCACCTGTTGTAACTCGCTGGGCATACTTTCCAGCCAGCTCAGCCAGTCTCTGG
+CCTGACAAAGTAGATGCTCGCCAGCCGCCGTCAACGTCACGCTGCGAGTCGTGCGGAAAAACAGCGCCAC
+TCCGGTATTCTCTTCCAGAAGTTTAATGCGATAACTGATCGTCGCCGTGGTTTTACATAATCGTTCTGCC
+GCTTTTGAAAAACTTCCTGTTTCAGCAACCGCAATGAAAGTCCGCAAGGTTTCTGGATCGAACATCTTCA
+GGTATCCCCTTTTAAATCCGCAAGTTGCGTGATTTTCTTATCCTCTGATTTATCAGTATTTTTACATGAT
+AACCCTGTTCAATTTGTGGACTAAATCTAGTTTTGGAAAAATATTCCAACTTTTGTGTTGATGTTGTTCT
+CTTAAGGTTTTAGATTGCCTGTTATTGAAACCAAGCTGACCGGTCGGCGGTGGTTGAACGGAATTATGTT
+ACAAGGACAAAAAGATGAAACTTCAGGTATTACCGTTAAGTCAGGAAGCCTTTAGTGCTTATGGCGACGT
+AATCGAAACGCAGAAACGGGATTTTTTCCATATTAACAATGGACTGGTGGAGCGTTACCACGATTTGGCG
+CTGGTTGAGATTCTTGAGCAAGACCGTACGCTTATCAGCATTAACCGCGCGCAACCGGCGAATCTGCCGC
+TGACTATTCACGAACTCGAACGTCATCCGCTGGGTACACAGGCGTTTATCCCGATGAAAGGTGAAGTGTT
+TGTGGTGGTGGTGGCGTTAGGTGACGACAAACCAGACCTGTCAACCCTGCGGGCGTTTATTACCAATGGC
+GAACAGGGAGTGAATTACCATCGTAACGTCTGGCATCACCCACTTTTCGCCTGGCAGCGCGTCACCGATT
+TTCTGACCATCGATCGCGGCGGCAGTGACAACTGTGATGTTGAAAGTATTCCTGAACAGGAACTCTGTTT
+TGCGTGACGCCTGCAACCGACTTGCATAAGATAAACGAATTGTTCATTGTTTATGCTCATTTGTAGGTCG
+GAGTTAACGTAGGTATGACGGAAGTTAGACGGCGCGGCAGGCCAGGACAGGCGGAGCCTGTGGCACAGAA
+GGGTGCACAGGCGTTAGAGCGGGGAATTGCGATTCTGCAATATCTGGAAAAAAGTGGGGGAAGTTCGTCG
+GTTAGCGATATCTCTCTCAATCTGGATTTGCCGCTCTCCACGACCTTTCGCTTGCTGAAGGTTTTACAGG
+CAGCGGATTTTGTCTATCAGGACAGTCAGTTAGGCTGGTGGCATATAGGATTAGGTGTCTTTAACGTCGG
+TGCAGCGTACATCCATAACCGCGATGTACTCTCCGTCGCCGGGCCGTTTATGCGCCGCCTGATGTTACTT
+TCCGGCGAAACGGTCAATGTCGCGATCCGTAACGGCAATGAAGCGGTATTAATTGGTCAGTTAGAGTGTA
+AATCGATGGTCAGGATGTGTGCGCCGCTGGGCAGTCGTCTGCCGCTGCATGCTTCCGGAGCGGGCAAGGC
+GCTGCTTTATCCGCTGGCGGAAGAAGAGTTGATGAGCATCATTCTGCAAACCGGTTTGCAGCAGTTTACG
+CCAACGACGCTTGTGGATATGCCCACCTTGCTGAAGGACCTGGAACAAGCGCGTGAACTGGGCTATACCG
+TAGATAAAGAAGAGCATGTTGTCGGCCTGAATTGCATAGCTTCAGCAATTTACGATGATGTAGGTAGTGT
+TGTTGCCGCTATCTCCATCTCCGGGCCTTCATCAAGACTGACAGAAGATCGTTTTGTCAGTCAGGGTGAG
+CTGGTCAGAGACACTGCCCGCGATATAAGCACGGCGTTGGGACTGAAAGCACATCCATAGTGTCTGTCGT
+ATCCCGCTCTGCGGAGCGGGTTTTTTTGACAAAATTTGAGAGTTGGAAAATTTTTCCAATTAATAGAGGT
+AGGAATAAAATGGCAAAAATGAGAGCCGTTGACGCGGCAATGTATGTGCTGGAGAAAGAAGGTATCACCA
+CCGCCTTCGGTGTTCCGGGAGCTGCAATCAATCCGTTCTACTCAGCGATGCGTAAGCACGGCGGTATTCG
+TCACATTCTGGCGCGTCATGTGGAAGGTGCTTCGCACATGGCGGAAGGTTATACCCGCGCAACGGCAGGG
+AATATCGGCGTATGTCTGGGGACTTCCGGTCCTGCGGGCACGGACATGATCACCGCGCTCTATTCCGCTT
+CTGCTGATTCCATTCCTATTCTGTGTATTACCGGCCAGGCTCCGCGCGCCCGTCTGCATAAAGAAGATTT
+CCAGGCCGTTGATATTGAAGCAATTGCTAAACCGGTCAGCAAAATGGCGGTTACAGTTCGTGAAGCGGCG
+CTGGTGCCTCGTGTGCTGCAACAGGCGTTTCACCTGATGCGTTCTGGTCGACCGGGTCCGGTACTGGTGG
+ATTTACCGTTCGACGTACAGGTTGCGGAAATCGAGTTTGATCCTGATATGTACGAACCGCTGCCGGTCTA
+CAAACCTGCTGCCAGCCGTATGCAGATCGAAAAAGCTGTAGAAATGTTAATCCAGGCCGAACGTCCGGTG
+ATTGTTGCCGGAGGCGGGGTAATTAATGCTGACGCAGCTGTACTGTTACAACAGTTTGCTGAACTGACCA
+GCATTCCGGTGATCCCAACGCTGATGGGCTGGGGCTGTATCCCGGACGATCATGAACTGATGGCCGGGAT
+GGTGGGCCTGCAAACCGCGCATCGTTACGGTAATGCAACGTTGCTGGCGTCCGACATGGTGTTTGGTATC
+GGTAACCGTTTTGCTAATCGTCATACCGGTTCGGTAGAGAAATACACCGAAGGGCGCAAAATCGTTCATA
+TCGATATTGAGCCGACGCAAATTGGCCGCGTACTGTGTCCGGATCTTGGCATTGTCTCTGATGCTAAAGC
+GGCGCTGACGCTGCTGGTTGAAGTGGCGCAGGAGATGCAAAAAGCCGGTCGTCTGCCGTGTCGTAAAGAA
+TGGGTCACCGACTGCCAGCAGCGCAAACGCACTTTGCTGCGCAAAACCCACTTCGACAACGTGCCGGTGA
+AACCGCAGCGCGTGTATGAAGAGATGAACAAAGCCTTTGGCCGCGATGTTTGTTATGTCACCACCATTGG
+CCTGTCACAAATCGCTGCGGCACAAATGCTGCATGTCTTTAAAGACCGCCACTGGATCAACTGTGGGCAG
+GCAGGCCCGCTGGGCTGGACGATTCCGGCGGCGCTGGGGGTTTGTGCCGCTGATCCAGAGCGCAATGTGG
+TGGCGATTTCCGGTGACTTCGACTTCCAGTTCCTGATTGAAGAATTAGCCGTTGGCGCACAGTTCAACAT
+TCCGTACATCCATGTACTGGTCAATAACGCCTATCTGGGTCTGATTCGCCAGTCGCAACGTGCCTTTGAT
+ATGGATTACTGCGTACAGCTCGCGTTCGAAAATATTAACTCCAGCGAAGTGAACGGTTATGGCGTCGACC
+ACGTAAAAGTAGCGGAAGGTTTAGGTTGTAAAGCAATTCGCGTTTTCAAACCGGAAGATATTGCACCAGC
+CTTTGAACAGGCGAAAATCTTAATGGCGCAATATCGGGTACCGGTAGTCGTGGAAGTTATTCTCGAGCGT
+GTGACCAATATTTCGATGGGCAGTGAACTGGATAACGTCATGGAATTTGAAGATATCGCCGATAACGCCG
+CGGACGCACCGACTGAAACCTGTTTCATGCACTATGAATAAGGGAGATAAATAATGTTACGTTTCTCTGC
+TAATTTATCGATGTTATTTGGTGAATATGATTTTCTCGCCCGTTTTGAGAAAGCTGCGCAGTGTGGTTTT
+CGCGGCGTTGAATTTATGTTCCCTTATGACTACGACATTGAAGAATTAAAACAGGTGCTGGCGAGTAATA
+AACTCGAACATACGCTGCACAATTTACCGGCAGGTGACTGGGCGGCGGGCGAGCGGGGTATTGCCTGTAT
+TCCTGGCCGTGAAGAAGAGTTTCGGGATGGCGTAGCAGCAGCGATTCGTTATGCTCGTGCTCTGGGTAAT
+AAAAAAATTAACTGTCTGGTCGGTAAAACGCCGACTGGTTTCAGCAGTGAACAGATTCACACAACGCTTG
+TAGAAAACCTGCGTTATGCTGCGAATATGCTGATGAAAGAAGATATTTTATTACTGATTGAACCTATTAA
+CCATTTTGATATTCCTGGTTTCCATCTCACCGGAACCCGGCAGGCACTGAAACTGATTGACGATGTTGGT
+TGCTGCAATTTGAAAATTCAGTATGACATTTATCACATGCAGCGGATGGAAGGTGAATTAACTAATACCA
+TGACTCAGTGGGCCGATAAAATTGGTCACCTGCAAATTGCTGATAATCCGCATCGCGGCGAACCGGGAAC
+CGGAGAAATTAATTACGAATATCTCTTTACGGTAATTGAAAATTCTGACTACAACGGTTGGGTTGGCTGT
+GAATATAAACCCCAAACCACCACGGAAGCCGGTTTACGCTGGATGGATCCGTACCGTTAAAACGTAACGC
+TATTCAGACAATGCTTTTTTAGGCCGCTAAGTTGGCAGGGGATCGTGTTGTCTGAATTCAGGAAAAGCGA
+AATTTAAAAGAGGTTAATTATGAAACTGGGATTTATTGGCTTAGGCATTATGGGTACACCGATGGCCATT
+AATCTGGCGCGTGCCGGTCATCAACTGCATGTCACAACCATTGGTCCGGTTGCTGATGAATTACTGTCAC
+TGGGCGCCGTTAGTGTTGAAACTGCGCGCCAGGTAACAGATGCATCGGACATCATTTTTATTATGGTGCC
+GGATACGCCACAGGTTGAAGACGTTCTGTTTGGTGAAAATGGTTGTACCAAAGCCTCGCTGAAGGGCAAA
+ACCATTGTTGATATGAGCTCCATTTCCCCGATTGAAACTAAACGTTTCGCTCGTCAGGTGAATGAACTGG
+GCGGCGATTATCTCGATGCGCCAGTCTCCGGCGGTGAAATCGGCGCGCGTGAAGGGACGTTATCGATTAT
+GGTTGGCGGTGATGAAGCAGTATTTGAACGTGTAAAACCGCTGTTTGAACTGCTCGGTAAAAATATCACC
+CTCGTGGGCGGTAACGGCGACGGTCAAACCTGCAAAGTGGCAAATCAGATTATCGTGGCGCTCAATATTG
+AAGCGGTTTCTGAAGCCTTGTTGTTTGCTTCAAAAGCCGGTGCGGACCCGGTACGTGTGCGCCAGGCGCT
+GATGGGCGGCTTTGCTTCCTCACGGATTCTGGAAGTTCACGGTGAGCGCATGATTAAACGCACCTTTAAT
+CCAGGTTTCAAAATTGCGCTGCACCAGAAAGATCTCAACCTGGCACTGCAAAGTGCGAAAGCACTGGCGC
+TGAACCTGCCAAACACCGCGACCTGCCAGGAATTGTTTAATACATGTGCGGCAAACGGTGGCAGCCAGTT
+GGATCACTCTGCGTTAGTGCAGGCGCTGGAATTAATGGGTAACCATAAACTGGCCTGATACCCGCAATAA
+AAATGGCCGATATCAGAAAATGAATCGGCCAGCAATATTAAAAAAAGAAAGCAGCCAAAGATGTTGCTTC
+AGTATTAAAAATAATATTTTTATTTTATTTGTTCCTCATAGCTAGATTAAAACAACGTTATTCGATACGT
+GAAATTAAGAGGGATTTATGGAACATCAGAGAAAATTATTCCAGCAACGCGGCTATAGCGAAGATCTACT
+GCCGAAAACGCAAAGTCAGCGGACCTGGAAAACATTTAACTATTTTACCTTATGGATGGGTTCGGTTCAT
+AACGTTCCCAATTATGTGATGGTTGGCGGCTTTTTTATTCTCGGCTTGTCTACCTTTAGTATTATGCTGG
+CAATTATCCTCAGCGCCTTTTTCATTGCCGCGGTAATGGTATTAAACGGTGCTGCGGGCAGTAAATACGG
+CGTACCGTTTGCCATGATCCTGCGTGCTTCTTACGGCGTACGTGGTGCACTGTTTCCCGGATTATTAAGA
+GGCGGTATTGCTGCCATTATGTGGTTTGGCCTGCAATGTTACGCGGGGTCACTGGCCTGCTTGATTCTGA
+TTGGCAAAATCTGGCCGGGATTTTTGACTCTCGGTGGCGATTTCACGCTGTTAGGCCTTTCTCTACCGGG
+ATTAATTACTTTTTTACTCTTCTGGCTGGTTAACGTTGGTATTGGTTTTGGCGGCGGAAAAGTTTTAAAT
+AAATTCACTGCCATTCTTAACCCGTGCATCTATATCGTTTTCGGCGGTATGGCGATTTGGGCGATTTCGC
+TGGTCGGGATCGGTCCAATCTTTGACTACATTCCGGGCGGTATTCAGAAAGCAGAAAACAGTGGCTTCCT
+GTTTCTGGTGGTGATAAACGCGGTGGTTGCGGTCTGGGCGGCACCGGCGGTGAGCGCATCCGACTTTACG
+CAAAACGCCCACTCGTTTCGTGAGCAGGCGCTGGGGCAAACGCTGGGTTTAGTTGTGGCCTATATTCTGT
+TTGCGGTCGCCGGGGTATGTATTATTGCCGGAGCCAGTATTCATTACGGCGCTGACACCTGGAACGTGCT
+GGATATTGTTCAGCGTTGGGACAGCCTGTTCGCCTCGTTCTTTGCGGTACTGGTTATTCTGATGACGACT
+ATCTCTACTAACGCCACCGGTAATATTATTCCGGCTGGTTATCAGATTGCCGCCATTGCACCGACGAAAC
+TGACCTATAAAAACGGCGTACTGATTGCCAGTATTATCAGCCTGCTGATCTGCCCGTGGAAATTAATGGA
+AAATCAGGACAGTATTTATCTGTTCCTCGATATTATCGGCGGAATGCTTGGTCCGGTAATTGGTGTGATG
+ATGGCGCATTATTTTGTGGTGATGCGTGGGCAAATTAATCTTGATGAACTGTACACCGCACCTGGCGATT
+ATAAATATTACGATAACGGTTTTAACCTCACCGCGTTTTCAGTAACTCTGGTGGCCGTTATTTTATCTCT
+TGGCGGTAAGTTTATTCCCTTTATGGAACCGTTATCACGTGTTTCATGGTTTGTCGGCGTCATCGTCGCC
+TTTGCGGCCTACGCCTTATTAAAGAAACGTACAACAGCAGAAAAAACAGGAGAACAAAAAACCATAGGTT
+AATTAATCACGATATTGAACATTGAGTTAAAAACCAATCTGTATTTTACAAGGAGTTTGTTATGTCTTTT
+GATTTAATCATTAAAAACGGCACCGTTATTTTAGAAAACGAAGCTCGCGTTGTAGATATCGCCGTTAAAG
+ACGGAAAAATTGCTGCTATCGGCCAGGATCTGGGCGATGCAAAAGACGTTATGGATGCGTCTGGTCTGGT
+GGTTTCGCCGGGCATGGTTGATGCGCACACCCATATTTCTGAACCGGGTCGCAGCCACTGGGAAGGTTAT
+GAAACCGGTACTCGCGCAGCAGCAAAAGGTGGTATCACCACCATGATCGAAATGCCGCTCAACCAGCTGC
+CTGCAACGGTTGACCGCGCCTCAATTGAACTGAAGTTCGATGCCGCTAAAGGAAAGCTGACTATCGATGC
+GGCACAACTCGGTGGCCTGGTGTCTTACAACATTGACCGTCTGCATGAGTTGGATGAAGTGGGTGTTGTC
+GGTTTCAAATGCTTCGTTGCGACCTGTGGCGATCGCGGTATCGACAACGACTTCCGTGACGTCAATGACT
+GGCAATTCTTCAAAGGCGCGCAGAAGCTGGGTGAACTAGGCCAGCCGGTGCTGGTGCACTGCGAAAACGC
+GCTGATCTGTGACGCACTGGGCGAAGAAGCGAAGCGTGAAGGTCGCGTAACTGCCCATGACTATGTGGCT
+TCGCGTCCGGTATTTACCGAAGTGGAAGCGATTCGCCGCGTACTGTACCTGGCGAAAGTCGCTGGTTGCC
+GTCTGCACGTTTGCCACGTCAGCAGCCCGGAAGGTGTTGAGGAAGTGACTCGTGCACGTCAGGAAGGTCA
+GGATGTTACTTGTGAATCCTGCCCGCATTACTTTGTGTTGGATACCGATCAGTTCGAAGAAATCGGTACT
+CTGGCGAAGTGTTCACCGCCGATCCGCGATCTGGAAAACCAGAAAGGCATGTGGGAAAAACTGTTTAACG
+GTGAAATAGACTGCCTGGTTTCCGACCACTCTCCATGCCCGCCGGAAATGAAAGCCGGTAACATCATGAA
+AGCGTGGGGCGGTATCGCTGGTCTGCAAAGCTGCATGGACGTGATGTTCGATGAAGCGGTACAGAAACGC
+GGAATGTCTCTGCCAATGTTCGGCAAATTAATGGCGACTAACGCAGCAGATATTTTCGGTCTGCAGCAAA
+AAGGCCGTATCGCCCCAGGAAAAGATGCCGACTTCGTCTTCATTCAGCCGAATAGCAGCTATGTTCTTAC
+CAATGACGATCTGGAATATCGCCACAAAGTCAGCCCGTATGTTGGCCGTACTATTGGCGCGCGTATCACG
+AAAACCATCTTACGTGGTGATGTGATTTACGATATCGAACAGGGCTTCCCTGTTGCGCCGAAAGGTCAAT
+TTATCCTTAAACATCAGCAGTAATCTGGCCCTGCAATGCCCGTCCTTGTGGCGGGCATTCTCCGGTTAAG
+GTGTGTTTATGTTCAATTTTGCAGTGGGCCGCGAAAGCCTGTTATCAGGATTTCAGTGGTTTTTCTTTAT
+TTTTTGCAACACGGTTGTGGTTCCTCCTACGCTACTTTCTGCTTTTCAGTTGCCGCAAAGTAGCCTGCTT
+ACGCTCACGCAATATGCTTTTCTTGCTACCGCACTGGCCTGCTTCGCTCAGGCGTTCTGCGGTCATCGTC
+GCGCTATTATGGAGGGGCCGGGCGGCCTGTGGTGGGGAACCATCCTGACTATCACCCTTGGCGAAGCATC
+GCGCGGGACACCGATCAACGATATCGCTACCAGTCTGGCGGTGGGGATTGCGCTCTCCGGCGTGCTGACG
+ATGTTGATTGGTTTTAGCGGATTAGGCCATCGCCTGGCACGGTTATTTACGCCGTCGGTGATGGTCTTGT
+TTATGTTGATGCTGGGTGCGCAACTGACCACTATCTTTTTCAAAGGTATGCTCGGGCTGCCGTTTGGCAT
+AGCCGACCCGAATTTTAAAATTCAATTACCGCCGTTCGCGCTCTCGGTGGCGGTGATGTGCCTGGTACTG
+GCGATGATTATTTTCCTGCCACAACGTTTTGCCCGTTACGGCCTGCTGGTCGGTACGATAACCGGCTGGT
+TGTTGTGGTACTTTTGCTTTCCTTCTTCGCATTCGCTCTCCGGTGAGTTGCACTGGCAGTGGTTCCCGCT
+CGGCAGTGGCGGTGCTTTGTCGCCGGGGATTATTCTGACGGCGGTGATTACAGGTCTGGTAAATATCAGC
+AATACCTACGGTGCGATTCGGGGCACGGATGTTTTTTATCCGCAGCAGGGCGCGGGGAATACGCGTTATC
+GTCGCAGCTTTGTGGCGACCGGATTTATGACACTGATAACCGTGCCGCTGGCAGTAATTCCATTTTCACC
+GTTTGTTTCATCCATTGGTTTATTAACCCAGACAGGCGATTACACGCGGCGTTCGTTTATTTATGGCAGC
+GTTATTTGCCTGCTGGTGGCACTGGTTCCGGCACTCACGCGACTGTTTTGCAGTATCCCTTTACCCGTGA
+GTAGTGCAGTCATGCTGGTTTCTTATCTGCCTTTACTCTTTTCCGCGCTGGTGTTTAGCCAGCAAATAAC
+CTTTACCGCTCGCAATATTTATCGACTCGCATTGCCGTTATTTGTCGGCATATTTTTAATGGCATTACCG
+CCTGTGTATCTGCAAGACCTTCCATTAACGCTGCGTCCTCTGCTCAGTAACGGCTTACTGGTCGGGATTT
+TACTGGCTGTTCTTATGGATAATCTTATTCCGTGGGAACGCATCGAATAATTTGTTGAAAAAGGATTGAT
+AATGAAAATTGTCATTGCGCCAGACTCGTTTAAAGAGAGTTTAAGTGCAGAAAAATGTTGTCAGGCAATT
+AAAGCCGGGTTTTCGACCATATTTCCCGATGCGCACTATATCTGTTTGCCGATAGCGGATGGCGGCGAAG
+GGACGGTGGATGCGATGGTCGCCGCGACGGGCGGCAACATCGTGACGCTTGAAGTCTGCGGGCCGATGGG
+CGAAACAGTGAATGCTTTTTATGGCCTTACCGGCGACGGGAAAACGGCGGTGATTGAGATGGCGGCGGCA
+AGCGGCCTGATGCTGGTCGCGCCTGAAAAGCGTAATCCGTTGCTGGCGTCAAGTTTTGGCACCGGAGAGC
+TGATTCGTCATGCGCTGGATAACGGCATTCGCCATATTATTCTCGGCATTGGCGGCAGTGCGACGGTCGA
+CGGCGGTATGGGCATGGCGCAGGCGCTCGGTGTGCGTTTCCTTGATGCTGACGGTCAGGTGCTGGCGGCT
+AACGGCGGCAATTTAGCGCGCGTGGCAAGCATTGAGATGGATGAATGCGATCCGCGTCTGGCGAACTGCC
+ATATTGAAGTAGCATGTGATGTTGATAACCCGCTGGTAGGGGCACGCGGCGCGGCGGCGGTGTTTGGTCC
+GCAAAAAGGGGCAACGCCGGAAATGGTCGAAGAACTGGAACAGGGGCTGCAAAATTACGCCCGTGTTTTA
+CAACAGCTAACTGAAATCAACGTCTGCCAGATGGCGGGTGGTGGCGCGGCGGGCGGTATGGGCATTGCGG
+CGGCGGTATTCCTCAATGCGGATATTAAACCGGGTATTGAGATTGTGTTGAATGCGGTCAATCTTGCGCA
+GGCAGTGCAGGGTGCAGCACTGGTGATCACCGGGGAAGGGCGCATCGACTCGCAAACGGCAGGCGGTAAA
+GCGCCGCTGGGTGTGGCATCGGTGGCGAAGCAGTTTAATGTCCCGGTGATTGGGATTGCTGGCGTATTGG
+GTGATGGCGTGGAAGTGGTGCACCAGTACGGCATTGATGCGGTATTCAGCATTTTGCCACGTCTGGCTCC
+TTTAGCCGAAGTGCTCGCCAGCGGTGAAACCAATCTCTTCAACAGTGCGCGAAATATTGCCTGCGCCATT
+AAAATAGGTCAGGGAATTAAAAACTGACTATTACCTTTAAAGCGGATGCGATTTATATCGCATCTTTTTT
+TACCTGAATTGACTACAAAAAAAGCCACGGAATAAACCGTGGCAAAATCCAACATAGCTAAAAATAATCA
+GGCGAGTGGTATGACTTAAATCTCTACGTCGCGGTTGCAATCTTTCGAGTAAATATAGCTGAACGCTTCA
+CCACGCCCTACGCCATAACCAGCCTGTAAAGAATAAGCGCCCATAAAGATGTAATCGCCTTTTTTCACCG
+GGATCCAGTTATTGTCGAGGTTATAAACCCCCTGACCGGAAAGAATATAGGCACCGTGTTCCTGAACGTG
+GGTTTCGATATAACCGTGGCTGGCACCTGGTGCAAAAGAGAGGATATGCATGTTCATATCAAAACCTAAC
+TCTTTGGGCAGAAAATCCAGCAGAATAACATCGTCCATGCCTTCATAATGAATGCGTTCCAGTTCGCTGG
+CATTGCCAGAAACCAGCCACGGCGCATGACCTTCTACCGGAATATAGCGACGCTTATATAAAAAGATTTG
+GCTGTCTTCGGCCTGGGCGTTAACAAACGTCATTAAGGAGCCTGGCGGGCAATAAAGATAGCCACCTTCA
+CTTAAGGTAAATGTTTTCCCTTCGGCTTTGGCAGTGATATTTCCAGAGATCACATACAGGAACGTTTCAA
+TGCCTTCGCCACCGAAGCCCTGTTGGTTGCCGCTGTTTTGATGCAGTGTGACCAGATAATCAACAAAAGA
+GGCACCCAGCTTTGGCGTGGAGAGGATTGTCGCGTCACAATTTTCAAAGCCCGGAATAATATTTTTTACC
+AGACCGTCTGGTGTTAACAGTGCGAAATTACCGTGTTTAACAATCGCACGGTTAGCCAGTAAATCTTCGC
+GGTAACCGGTGACGTTATTTAAATATCCCATTTATAACTCCTTATTTCTGCCAGGCAAGTTGATAAAGCA
+TGAGTGCCAACGTTTTGACCCCTTCGGCAAGGTCGGTAATATTGGTGCGTTCCGCCGGGTTATGGCTGAT
+CCCGTTGATGCTGGGAATGAAAATCATGCAGGTCGGCACGCGAGGCGCGAAAATTTGCGCGTCGTGCCCG
+GCACCACTGTGCATCACCCGGTAATTCAGTTTTTCGCTTTCACACAATTCTGTCAGGGTGGCGACCAGCT
+CCTTATTCATCGGCACGGGTTCTTCGTCCATCCATAAATCGATATCAATACCAATATCCATTTCATCGCA
+AATCGCCCGCATGTCGTTTTCTAACTGTTGGGTGAAATCGCGCAGCACGGTAGCATCGGTATGACGACAA
+TCAATGGTGAACGTGGTTTTACCCGGCACTACATTCACCGTATTCGGGCGCGGCTCTACTTTGCCAAAGG
+TCAGAACCAGCGGGTCGCCCAACTTTTTCGCTTTTTCGACAGACTGATGGCAAATGCGACTGAAAGCGTA
+AACCGTATCACGACGATAACCCATCGGCGTGGTGCCTGCATGGTTTGATTCACCGTTCAGCGTCACCGTA
+TAGCGACGTTGCCCGACAATTGCATTCACCACGCCAATTGACTGCCCATTACTTTCCAGCACACAGCCCT
+GTTCGATATGCAGTTCGACAAAGGCTTTAATATCCTGACGCGGAGTTAGTGGGGCGTTCGGCAGAGTAAA
+TCCGCAAGCCTTCATCGCATCGACAAAACTATTTCCTTTGGCATCACAGATATTCCGCACGTCGTCAGGA
+TTCGCCAGCCCAAAAATATTTTTACTGCCCCAGAAAACATACGGGAAGCGGCTGCCTTCTTCTTCTGCCA
+TCGCCACCACTTCGACCGTACGTAACGGCGCGCCGTATTGCGTTTTCAGCCAGTCAATAGCCAGCCACGC
+CGCCAGCGCACCGAATTGCCCGTCGAGGTTACCGCCGTTAACCACGGTATCGATATGCGAACCGCTCAGA
+ACCACTTCCTGTGGATATTCGGTGCCACTCAGGCGACCGTATAAATTCCCCACTTCATCGAAACGTGTTT
+CCAGCCCGCTTGCTACCATTCTTTTTTTAAACTGCTGCTGGGTTTCCAGCCACTCCGGCGAATAAAGTAA
+ACGGGTCATCCCACCCGCTGGGTCAGCGCCAAAAGAGGAAAGCCAGGGCAGCGTTTCTTCTATAGCTTGA
+CGGAAATGTGTAATCATAAGAAAGTCCTGTCTCAATAATTATTGCGCAAAGGGATTTTTCGTTTCGTATG
+ACGTGTTATAAAGCGCGTCGGAAATTAAATACTGGTAAATATCATCAACAATTTCGATGCCTTCGACGGC
+GGCTTTGCGTTGTTTAATATCCTGATCCTGTCCGGGATAATAAACCTGATTAAAACCGGGCGCGGGGGTA
+ATGGTATTTAATTCGCGCATGGTCTGGCTAAGATGTTGACGGAATAATTCGCTGGAGGAGAAAAAGTTCG
+GGTTAATAACTATATGTAATTGCCCCAAATTACGCCCGGCGTGTAAATCGTCATACATCGAACTAACCTG
+TCGCCCGAACGGTAAGCCGAGTAAGACGCCTGAGAGGACGTCAATCATCATCATCAGGCCATACCCTTTC
+GGCCCAGCGGCGGGGAGCAGAGCATGTACCGCGAACGGATCGGTTGTTGGTGCACCGTTTTTATCGACTG
+CCCAGGTATCCGGGATAGACATATTGCGCGAGCGGGCGTCGAGCACTTTTCCCCATGCCTGTACGGTAGT
+CGCCATATCAAAGGTAAGGATCTCGTCGCCTTCTCCCGGCGCGGCAAAGGCCAGTGGGTTAGTGCCGTAG
+TAAATTTCCGCGCCGCCAAACGGCACCACCATTGGATCGGACTGGCACAGCGAAATGCCAATTAATCCGG
+CGCGGGCTGCCTGCTGCACAAAATAAGAGATTGCGCCGCTGTGACCCATCCGGCTGATACCGACCACCGC
+AACGCCTTTTTGCTGGGCGGTTTTGATGGCATGTTCCATACCCATTTTCGCTGCGACCTGTCCGGCGGCA
+TTGTCGGCATGTAAAATTGCCGAGCACGGTCCGGTTTCCTCAAGACGAAACTCCGGTTCGCGGTTGGTGC
+CGCCTTTTGAAATGCGTTCGGCGTAGTATTCAACGCGCACCGCGCCATGAGAGTGGATCCCTCTGGCATC
+GGCGTAAACCAATACTTCAGCCACGGTTGCAGCGTGCTCACGTTTTAACCCAGCCTGGCAGAGTTTATTC
+TCGATTAGCTGGTGGAGTGTTTCCCGACTGATTTTCATCTGTCTTCCTTTTTAACGACGGTGTGAAGCAT
+GACTGCAATTAACATACAGGGAAAATATCTGGATTATGTGATCCAGACAGGCAAAAAAATATAGTTAGAA
+TTTATTTGATAATCTTCGTGCTTTTAACCTGGTTTTTAAAACAACCATGCTTATTAAAAAATAACGCGTA
+ATAGTCTGGCGGTTATTTGAATTCTTTTGTTAATAATTCCCGTGTGATATTCATCACCTTATTTACTCGT
+TGTCATCGATACCGTAATCGCCACATTAACACTGCTCGTGCAATTGCCATGGGTGCAATTTTTAAGGAGT
+TGTTATGATCCACGCCTTTATTAAAAAAGGGTGTTTTCAGGATTCGGTCAGTTTAATGATTATTTCACGA
+AAACTCAGCGAATCAGAAAATGTTGATGATGTTTCCGTAATGATGGGTACGCCCGCCAATAAAGCGTTAT
+TAGATACTACAGGTTTCTGGCATGACGATTTTAATAACGCCACGCCGAACGATATTTGCGTGGCAATTCG
+TAGCGAAGCGGCGGATGCGGGGATCGCGCAGGCGGTTATGCAGCAGCTTGAAGAGGCGCTAAAACAACTG
+GCGCAGGGTTCAGGCAGCAGCCAGGCGTTGACGCAGGTGCGTCGCTGGGACAGTGCCTGTCAGAAATTAC
+CCGATGCCAATCTGGCGCTGATTTCAGTGGCTGGTGAGTATGCGGCGGAGCTGGCGAACCAGGCGCTGGA
+TCGCAACCTCAACGTGATGATGTTTTCCGATAACGTCACGCTGGAAGATGAAATCCAACTTAAAACCCGC
+GCGCGGGAAAAAGGCTTGCTGGTGATGGGGCCAGACTGCGGTACGTCGATGATTGCCGCCACGCCGCTGG
+CTTTTGCTAACGTGATGCCGGAAGGCAACATTGGCGTCATAGGCGCTTCCGGTACCGGGATTCAGGAGCT
+GTGCTCACAGATTGCGCTGGCAGGGGAGGGAATTACTCACGCGATTGGTCTTGGCGGGCGCGATCTCAGC
+CGTGAAGTGGGCGGCATCAGTGCGCTAACGGCGCTGGAAATGCTCAGTGCAGACGAGAAAAGCGAAGTGC
+TGGCATTTGTTTCAAAACCACCTGCCGAAACTGTGCGTCTGAAAATTGTTAATGCCATGAAAGCAACTGG
+CAAACCGACGGTGGCGCTGTTTTTAGGTTATACCCCGGCGGTGGCCCGCGACGAGAATGTCTGGTTTGCC
+TCCTCGCTGGATGAGGCCGCTCGTCTGGCTTGTCTGCTTTCACGCGTCACTGCGCGACGTAACGCGATAG
+CGCCTGTCAGCAGCGGATTTATTTGCGGTTTGTATACCGGCGGTACGCTGGCTGCTGAAGCGGCGGGATT
+ACTTGCCGGACACCTTGGCGTGGAAGCCGACGATACCCATCAACATGGCATGATGCTGGACGCCGACGGA
+CATCAGATCCTCGACCTGGGCGATGATTTTTACACCGTCGGGCGTCCCCATCCGATGATCGACCCGACCT
+TACGCAACCTGTTAATTGCCGATCTCGGCGCTAAACCGCAAGTGCGCGTGTTGCTGCTTGATGTCGTGAT
+TGGCTTCGGTGCGACCGCCGATCCTGCCGCCTCGCTGGTGAGCGCCTGGCAAAAAGCCTGTGCCGCGCGT
+TCAGACAATCAACCACTGTATGCCATTGCCACGGTGACAGGCACTGAACGTGACCCGCAATGCCGCTCGC
+AGCAAATCGCCACGCTGGAAGATGCGGGGATCGCGGTAGTGAGTTCGCTGCCGGAAGCCACCTTGCTGGC
+GGCGGCGTTAATTCATCCGCTCTCGCCTGCCACACAGCAACACACACCGTCATTACTGGAAAACGTCGCC
+GTGATTAACATCGGATTACGCAGCTTTGCGCTGGAGCTACAAAGCGCCAGCAAACCGGTTGTGCATTACC
+AATGGTCGCCAATCGCCGGCGGCAATAAAAAACTGGCTCGTTTATTAGAACGTTTGCAATAAGGGGTTCC
+CATGTTTACATCAGTGGCGCAAGCCAATGCTGCGGTTATCGAACAAATTCGTCGCGCTCGTCCACACTGG
+CTGGATGTGCAACCGGCTTCTTCACTTATCAGCGAACTAAACAAGGGCAAAACACTGCTTCACGCCGGGC
+CGCCAATGCGCTGGCAGGAGATGACCGGACCCATGAAAGGGGCGTGCGTGGGCGCATGTCTGTTCGAAGG
+CTGGGCGAAAGATGAAGCGCAGGCGCTGGCAATACTGGAGCAGGGGGAAGTGAACTTCATTCCTTGTCAC
+CATGTGAATGCCGTCGGGCCAATGGGTGGCATTACTTCTGCCAGTATGCCGATGCTGGTGGTCGAGAACG
+TGACCGACGGCAACCGGGCGTACTGCAACCTCAACGAAGGTATCGGCAAAGTGATGCGTTTTGGCGCTTA
+CGGCGAAGATGTCCTGACTCGCCATCGCTGGATGCGCGATGTGTTAATGCCAGTATTAAGCGCGGCGCTG
+GGGCGCATGGAGCGCGGTATCGATCTCACGGCAATGATGGCGCAGGGCATTACCATGGGCGATGAGTTCC
+ATCAACGCAATATTGCTTCCTCTGCACTGTTAATGCGTGCGCTGGCCCCACAAATTGCTCGCCTCGATCA
+TGATAAACAGCACATCGCCGAAGTGATGGATTTCCTCAGCGTGACCGATCAGTTCTTCCTCAATCTCGCG
+ATGGCCTACTGCAAGGCGGCGATGGATGCAGGCGCGATGATCCGCGCAGGCAGCATCGTTACGGCTATGA
+CCCGCAACGGCAATATGTTCGGGATTCGGGTAAGCGGGCTGGGTGAACGCTGGTTTACTGCGCCTGTAAA
+CACTCCCCAAGGTCTGTTTTTCACCGGCTTCTCGCAGGATCAGGCGAACCCGGATATGGGCGACAGCGCG
+ATTACCGAAACCTTTGGTATTGGCGGAGCGGCAATGATCGCAGCGCCTGGCGTAACGCGCTTTGTCGGTG
+CGGGTGGCATGGAAGCGGCCAGAGCGGTATCTGAAGAGATGGCGGAAATTTACCTTGAACGCAATATGCA
+ATTGCAGATCCCCGGCTGGGATTTCCAGGGGGCGTGCCTGGGGCTGGACATTCGTCGCGTGGTAGAAACC
+GGCATTACGCCACTCATCAATACCGGTATCGCCCATAAAGAGGCGGGGATCGGGCAGATTGGCGCAGGCA
+CCGTGCGGGCACCGCTGGCGTGCTTTGAACAGGCGCTGGAAGCACTGGCTGAAAGCATGGGGATTGGTTG
+AGGAACGCACAATGACGATCATCCATCCTCTACTTGCCAGCCGTAGCGCACCGAATTATCGCCAGTCCTG
+GCGGTTAGCGGGAGTGTGGCGGCGGGCGATTAACCTGATGACGGAAAGCGGCGAACTGTTAACGCTGCAT
+CGTCAGGGGAGTGGTTTCGGCCCCGGCGGATGGGTGCTTCGCCGCGCGCAATTCGATGCGTTATGCGGTG
+GATTATGCGGCAATGAACGACCACAGGTTGTGGCACAAGGGATTCGCCTCGGGCGTTTCACGGTTAAACA
+GCCACAGCGTTATTGTTTGCTACGTATTACGCCGCCTGCGCATCCTCAAGCGCTTGCCGTTGCATGGATG
+CAACGCGCGGAGGAAACCGGGCTTTTCGGGCCACTGGCATTGGCGGCAAGCGATCAGCTGCCTGCTGAAT
+TACGCCAGTTTCGTCACTGTTTTCAGGCCGCGCTCAATGGCGTTAAGACCGACTGGCGGCACTGGCTGGG
+TAAAGGCCCCGGATTAACGCCAAGTCATGATGACACGCTGAGCGGAATGCTGCTGGCGGCCTGGTATTAT
+GGGGCTTTAGATGCGCGCTCCGGTCGCCCGTTTTTTGCCTGTTCCGACAATCTTCAACTCGTTACCACTG
+CGGTGAGCGTCAGTTATTTACGTTATGCCGCGCAAGGATATTTCGCCTCGCCACTCCTGCACTTTGTTCA
+TGCTCTGAGTTGCCCGAAACGTACCGCAGCGGCGATCGATTCGCTGCTGGCGCTGGGGCATACGTCAGGG
+GTCGATACGCTGCTGGGGTTCTGGCTTGGCCAACAATTATTACAAGGAAAACCATGAAAACACTGGTTGT
+GGCTCTTGGGGGCAACGCCTTACTCCAGCGCGGTGAGGCGCTGACGGCAAAAAATCAATATCGCAATATT
+GCCAGTGCTGTACCCGCGCTGGCGCGCCTGGCCCGTTCTTATCGGCTGGCGATTGTTCACGGCAACGGAC
+CGCAGGTGGGGCTGCTGGCGTTACAGAATCTGGCGTGGAAAGAGGTAGAACCGTATCCGCTGGATATACT
+GGTGGCGGAAAGCCAGGGGATGATTGGCTATATGCTGGCGCAGAGCTTGAGCGCACAGCCGCAGATGCCG
+CCTGTCACGACGGTGCTGACGCGCATTGAGGTTTCGCCTGATGATCCGGCGTTTTTGCAGCCAGAGAAGT
+TTATTGGTCCGGTTTATCAGCCAGAAGAACAAGAGGCACTGGAAGCGGCTTACGGCTGGCAGATGAAACG
+TGATGGTAAATATTTACGCCGGGTGGTGGCGTCTCCGCAACCGCGTAAAATTCTCGACAGCGAAGCCATC
+GAGTTGTTGCTCAAAGAGGGGCATGTGGTGATTTGCAGTGGCGGCGGCGGTGTGCCTGTGGCGGAAGACG
+GGGCTGGGAGTGAAGCGGTGATTGATAAAGATCTCGCCGCTGCGTTGCTCGCCGAGCAGATTAATGCCGA
+TGGACTGGTGATCCTCACCGATGCTGATGCGGTATATGAAAACTGGGGAACGCCGCAGCAACGTGCCATT
+CGCCATGCCACACCGGATGAGTTAGCGCCATTTGCCAAAGCCGATGGTTCGATGGGGCCGAAGGTAACGG
+CGGTGAGTGGCTATGTCAGAAGCCGTGGTAAACCCGCGTGGATTGGGGCGTTATCGCGGATTGAAGAGAC
+GCTGGCGGGCGAAGCGGGGACTTGTATTTCGCTGTAGTGATGGGCACCAGGCAATTGGCACATCCAGCCT
+GATGCGATGCTGGCGCGTCTTATCAGGCCTACAGTCGGTGTTGGAGCGGTGGGCCTGATAAGGCGTTCAC
+GCCGCATCCGGCAAGAAAATGAGCATCAATTAACTGAACTTGCTCTGCGCCCACATCACGCCGCTGGCAT
+ACTCCGGCGGCAGCAGTGGGATTAAGGCTTCCAGCGTCGCGGTCAGACGCGATGTGTCGCTGTCGGTCAA
+ATTCAAATGCCCCACTTTACGGCCCGGACGGACTTCTTTGTCGTACCAGTGCAGATGCACAAGCGGCAGT
+TTCAGCCAGTCATAATTCAGATCGCTACCAATCAGATTGATCATCACCGACGGATTATTCACTACTGGTT
+GCGGTAACGGCAGATCGGTAATCGCCCGCAGATGTAGCTCAAACTGGCTGATGCTGGCACCGTTTTGCGT
+CCAGTGACCGCTGTTATGCACACGCGGAGCCAGTTCGTTGATCAGCAGACCTTGTGGGGTGACAAAACAC
+TCCATTGCCATCACGCCTACATAGCTCAGCTCCTGCATAATCGCCGACAACATCTCTTCAGCTTGCGCCT
+GCAGCTGTGCGTTGGCCTGCGGGAAAGCGACGCTGGTGCGCAAAATGCCGTCCTGATGCAGGTTATGCGT
+CAGCGGATAAAACACGGTGCTGCCATCAAAACCGCGCGCGCCAACCAGCGACACTTCACCAGAGAAGTTT
+ATGCCCTGCTCGACAATACATTCGCCGTAGCATTCAGCAGGTAACTGTTCGGTTTCATCGGCGCGTAAAC
+GCCATTGACCGCGTCCGTCATAGCCACCAGTGCGGCGCTTAACAATCGCCAGCTCACCTAAACGATCAAA
+CACCGCAGGCCACTCGCTGCGTTCGGAAAGTAACTGCCACGGTGCGGTCGGCAGGTGGAGCTTATCGAAA
+AGCTGCTTCTGAGTCAGACGGTCGGCAATAATCGGGAACACATCGCGGTTCACAAAGGCCGGATGGCGCG
+CCAGCTCGCGGGTTAATGCAGTTTCCGGCCAGCGTTCGATCTCAGCGGTAATCACGCTTTGTTGAAAAGG
+CACCGCCGCCGGTTCAGCGTCCAGCCCGACCGGCCAGACAGCAATGCCTAACGGTTCGCCTGCCTGACGC
+AGCATACGGCCTAACTGCCCGTTACCGAGGACGCAAACCTGTTTCATGCCGCACCTCGCGGGTCCGGGTT
+TTCCAGCACTTCATCAGTTTGTGCTTTGCGCCATTCATTCAGACGCTGGTGCAGTTCTTTATCATGAGTC
+GCAAGAATTTGTGCTGCCAGTAACGCCGCGTTTGCCGCGCCAGCTTTACCAATCGCCAGCGTACCCACCG
+GAATGCCGCGCGGCATTTGTACGATGGAGTAGAGGCTATCGACACCGCTCAGTGCGGCGCTCTGTACTGG
+CACGCCCAGCACCGGCACCAGCGTTTTGGCGGCAATCATGCCAGGCAGGTGCGCTGCGCCGCCTGCGCCC
+GCAATAATCACCTGATAACCGTTCTCTTCGGCGCTTTCGGCGAAGCTGAACAGTTTATCGGGGGTGCGGT
+GAGCAGAAACCACTTCAACGTGGTGCGGGACATTCAGGATTTCGAAGATTTCGGCGGCGAACTGCATGGT
+AGCCCAGTCGCTTTTGGACCCCATCACGATGGCGACACGCGCCGGATTATTGCGGGAAGACATGCGTCTT
+AAAACTCCTGTGGTGCACAACTCTCGGCTTTAGAGGGCACAGAGAATAGCACGGAAAGAGTGCAAGGAAA
+ACGGTTGCGTAGGCGGAATTAACCGTCAGTTGTTGAGTTTTTAATTTGTTCTGCGTGTTGATTATGCGCT
+CTGGCTGAACTGGCAAAGAATGCCCATATCAACACAATGCTCCATGGAAAAAAGCAAATACCGACAATCA
+ATATAAATCTTTCTACAAAACGTTGGTTATGGGGGCGGGTGAGTACTAAATAAATGAGCCAGAAATAGAC
+TATCCAGGAAATGACCGCCGCAGCTACCAGTGACAATGCGCCAAAATAGAAGCCGACAAGACCGAACCAG
+CTAATACACAGTGGCGCTCCTGCCGTAAGGGCGATGCCAGAAATCAAAAATCCGTTGCAGCGTTGCATAA
+TAATATTCCCTGTTGTTATTTCACTCAGAGATTATTACCTTGCTGATTTTAAAAAAGATATACAGGTTGC
+GGTAGTTCGGTGCTTTTTTCAGAATCTGTCCATTCGTGGTCAGAAAGGAAAATGGATTAGCTCAACGTCA
+TCCGCCGTGACTTTCACCATCGAACCTTCTGTATGCCAGGCACCCAGTACCACGCGAAAAGCCGTTTGCT
+GATTGGCGATAAGTTCATGCACCGCCGGGCGATGGGTATGCCCGTGGATCAGCCATTGCACTTGATGTTT
+TTCCATCGCACTGACCACCGCGTTTTGGTTAACGTCCATGATCGCCAGCGATTTACTGCTGTTGGCTTCT
+TTGCTGTTCGCGCGCATTCGCGCGGCAATGCGTTTGCGCACAAACAACGGCAGGGCGAGGAATAGCGTTT
+GCAGCCAGGGTTTGTGGACTTTGGCGCGAAAAGCCTGATAACCCGCGTCATCGGTGCACAGCGTGTCGCC
+ATGCATAATCAACACCCGACGACCATAAAGTTCGAGCACCTTTTCTTCCGGCAATAACGTCATGCCGCTT
+TCACGGGCAAAGCGTTTGCCGAGCAGAAAATCACGGTTGCCATGAATGAAATAACAGGGAACGCCGGAAT
+CGGATACCGCTTTGATCGCTGCGGCCATCTGGTGATGAAGTGGATTGGGATCGTCGTCGCCGATCCAGGC
+TTCAAACAGATCGCCAAGAATATACAGCGCATCGGCCTTGCGGGCCTCCCCCGCTAAAAAACGCAGAAAA
+CCGGCGGTGATCGCCGGTTCTTCCACGCAGAGATGAAGATCTGCAATAAAGAGTGTCGCCACGATTACTC
+GCTAACGGTCACGCTTTCAATGATAACGTCTTCTTTTGGCACGTCCTGGTGCATACCGCTACGACCGGTT
+GCAACACCTTTGATTTTGTCTACCACGTCCATGCCTTCAACCACTTCAGCAAATACGCAGTAGCCCCAAC
+CTTGCAGGCTTTCGCCAGAGAAGTTCAGGAAGTCGTTATCAACCACGTTGATGAAGAACTGGGCAGTTGC
+AGAGTGCGGTGCCTGAGTACGGGCCATTGCCAGCGTACCACGGGTATTTTTCAGACCGTTGTTGGCTTCG
+TTTTTGATCGGTTCTTTGGTGGCTTTTTGTTTCATGCCCGGTTCAAAACCGCCGCCCTGAATCATAAAGC
+CGTTGATAACACGGTGGAAAATGGTGTTGTTGTAAAAACCTTCGCGGCAGTAGTCCAGGAAGTTTTTAAC
+TGTTTCAGGTGCTTTATCGTCAAAAGTTTTGATGACAATATCGCCGTGATTGGTGTGGAAAGTAACCATT
+TTTGCATCCTGTTCCGTTTGATTGGTGCTTCAACCCGGTTCGGGTCATATATAGGGTGGTGTTATAGCAT
+AACCGCACGATCGGATCATCTCGCAATGTATGCTGATTCGCGCGGGAAATATGGGTATTATACGCAACTC
+AATTACCCACACATGTCTAAACGGAATCTTCGATGCTAAAAATCTTCAATACTCTGACACGCCAAAAAGA
+GGAATTTAAGCCTATTCACGCCGGGGAAGTCGGCATGTACGTGTGTGGAATCACCGTTTACGATCTCTGT
+CATATCGGTCACGGGCGTACTTTTGTTGCTTTTGACGTGGTTGCGCGCTATCTGCGTTTCCTCGGCTATA
+AGCTGAAGTATGTGCGCAACATTACCGATATCGACGACAAAATCATCAAACGCGCCAATGAAAATGGCGA
+AAGCTTTGTGGCGCTGGTGGATCGCATGATCGCCGAAATGCACAAAGATTTTGATGCTTTGAACATTTTG
+CGCCCGGATATGGAGCCGCGCGCGACGCACCATATCGCCGAAATTATTGAACTCACTGAACAACTGATCG
+CCAAAGGTCACGCTTATGTGGCGGACAACGGCGACGTGATGTTCGACGTCCCGACCGATCCGACATATGG
+CGTGCTGTCGCGTCAGGATCTCGATCAGCTGCAGGCAGGCGCGCGCGTTGACGTGGTCGACGACAAACGC
+AACCCGATGGACTTCGTTCTGTGGAAGATGTCGAAAGAGGGCGAACCGAGCTGGCCGTCTCCGTGGGGCG
+CGGGCCGTCCTGGCTGGCACATTGAGTGTTCGGCAATGAACTGCAAACAGTTGGGTAACCACTTTGATAT
+CCACGGCGGCGGTTCTGACCTGATGTTCCCGCACCACGAGAACGAAATTGCCCAGTCCACCTGTGCGCAC
+GATGGCCTGTATGTGAATTACTGGATGCACTCCGGTATGGTGATGGTTGACCGCGAGAAGATGTCTAAAT
+CGCTGGGTAACTTCTTCACCGTGCGTGACGTGCTGAAATACTACGATGCGGAAACTGTGCGTTACTTCCT
+GATGTCGGGTCACTATCGCAGCCAGCTGAACTACAGCGAAGAGAACCTGAAACAGGCGCGTGCGGCGCTG
+GAACGTCTCTATACTGCCTTGCGCGGCACAGACAAAACCGTTGCGCCTGCCGGTGGCGAAGCGTTTGAAG
+CGCGCTTTATTGAAGCAATGGACGACGATTTCAACACCCCGGAAGCCTATTCCGTGCTGTTTGATATGGC
+GCGTGAAGTGAACCGTCTGAAAGCAGAAGATATGGCAGCGGCGAATGCAATGGCGTCTCACCTGCGTAAA
+CTTTCTGCCGTATTGGGCCTGCTGGAGCAAGAACCGGAAGCGTTCCTGCAAAGCGGTGCGCAGGCAGACG
+ACAGCGAAGTGGCTGAGATTGAAGCGTTAATTCAACAGCGTCTGGATGCCCGTAAAGCGAAAGACTGGGC
+GGCGGCAGATGCGGCGCGTGACCGCCTTAACGAGATGGGGATCGTGCTGGAAGATGGCCCGCAAGGGACC
+ACCTGGCGTCGTAAGTAATTGCGCTATTGCCGGATGCGAGTTTTCGCATCCGGTTATCGTCTGCGCCACC
+ACAACATTCCCATCAGTAGCATCCCCGGCAACCACACCCACATCAATTCAGAAATAATCACCTGATGCCC
+GTACGGCGTGGTGTAACGAGACAATGCAAACGGCGCGACTTTAATCACCTGCCAGGGAGCGAAAAAGCGT
+TCATCTGACCACGGCCACAGCCAGCCAACCCCTTTACCGCCAGTGGTTACCGAATCCAGCAAGCTGTGCG
+ATAGCAACGAGACGGTTAAAAACAGCCAGCAGCGAATCAGCCCAGCCCTGAACCATCGACGTCCAATCAG
+CACACATAACAGCGGGACAACAAACGCAAACACCAGCGAATGGGTAAATCCGCGATGACCAAAAACGTTG
+CCGTAAGCAACGCCAAATTTAAACGATAATACGTCGGCATCAGGCAACATCGCCAGGACGATTCCGGCAA
+ATAACAGACGCGGAGGGATGGCTTTCGAACCCAACCCTAAACCAATGCATAGGAGAACGGCGGCGTGCGT
+AATAACGGTTGGCATGATGGTCGCTTCGGCAAAATGCCGATGCTATCAGCATGGATGAACGGGGCGTAGA
+GGGCAAAAGTCTGAAAAGAGAACCGGCCTGTTGATACAGGCCGGGAAAGGGATCAGGCAACAACCTGTAC
+GCTGTGACCTGCAAAACTCACTGTCTGACCGGCGACAATTTTGCAGCGTTTGCGCGTTTCAACCGCACCG
+TCGACTTTCACCTGGCCTTCTGCTATCGCGATTTTCGCCTGCGCGCCGCTTTCGCTCCAGCCTTCCAGTT
+TCAGCAAGTCGCACAGCTCAACGTGCGGATGTTTACCTAAAGAAAATGTCGCCATGTTACTCACCCTGTG
+GATCATGATATTCAACGCACGCCTGTAGCGTGTTTTCAATCAGCGTGGCAACCGTCATCGGGCCAACGCC
+GCCCGGAACAGGCGTAATGTATGAGGCGCGTTTAGCCGCGTCTTCAAACACGACGTCGCCCACAACTTTG
+CCATTTTCCAGACGGTTGATGCCGACATCAATCACAATTGCGCCTTCTTTGATCCAGTCACCAGGAATAA
+AGCCCGGCTTGCCGACGGCAACGATCAGTAGATCGGCATTTTCTACGTGGTGACGCAGATTTTTAGTGAA
+ACGGTGAGTCACGGTGGTGGTGCAACCTGCCAGCAGCAGTTCCATGCTCATTGGGCGACCGACGATATTC
+GATGCGCCAATCACCACGGCGTTAAGGCCGAAGGTATCAATGTTGTAACGCTCAAGCAGCGTGACGATAC
+CACGCGGGGTGCAGGGACGCAGACGCGGCGCGCGCTGGCACAGGCGACCGACGTTATAAGGATGGAAGCC
+GTCTACGTCTTTGTCCGGGTGAATACGTTCCAGTACTTTGACGTTATCAATACCCGCCGGTAACGGCAGT
+TGAACCAGAATGCCATCAATGGTGTTGTCGGCATTCAGCGCATCGATAAGCTCCAGCAGCTCCGCTTCGC
+TGGTGGTTTCCGGGAGGTCATAAGAGCGGGAGACGAACCCGACTTCTTCACAAGCCTTGCGTTTGCTTGC
+GACATAAATTTGCGATGCAGGGTTACTGCCCACCAGCACAACGGCCAGTCCTGGTGCCCGCAGTCCGGCT
+GCAATACGCGCCTGAACTTTTTGAGCAACTTCAGAGCGCACCTGCTGCGCAATCGTTTTACCGTCAATAA
+TCTTTGCTGCCATCAGAGAGAGGATTCCATCTGTTACGTAGGTCGAAGGGGATGTGTCTATTTTGTCAGA
+AGCGTGGCGCGCTGTCAGTTTTCGTTTTCTGAAAAGTAAAACCTTCTGTACCTGGCTGATTCACACCTAT
+CATGATAACCGTCGTTGGTTTGCCGCCATAGTGAGCTACATCAGATGCGGTCGTACACTTGTTCAGCAAC
+TGGTTCAAAAGCCATTGACTCAGCAAGGGTTGACCGTATAATTCACGCGATTACAGCACACCGTGGTATC
+AATGCGCCCTTAGCTCAGTTGGATAGAGCAACGACCTTCTAAGTCGTGGGCCGCAGGTTCGAATCCTGCA
+GGGCGCGCCATTAAAATTCAATCAGTTACGCCTTCTTTATTTCTTCTATAATTCCAGAGTGGGACATTAT
+CACCAAAAATGTCGTCTATTTTCCTCGCGTGCTCAGTCAAATGATTAGGCGCAAGGTGAGCATATCTACG
+AACCATTTCTCTGGACTCCCATCCGCCCATTTCCTGAAGCACTGATAATGGGACGCCTGACGGAATCAAC
+CAGCTTGCCCAGGTATGTCTGAGGTCATGGAAACGGAAATTTTCAATTCCTGCACGACGACAAGCTGATA
+GCCATGCTGTCTTGCTGTCAATGCGCATCTTCCTGAGCGCAGGCATTGATGTTCCATCTGCTCGCTTAGC
+CGCCCTGGTATGTACACCCACATTTGTGATGCTTGCCTGTTTGATCATGCAGCACTTTAGAGGCTGTATC
+GTTCAGCGCCACACCAATGGCGCGGTTTGATTTGCTATCTTCTGGATTCACCCTGGCAACTTGTCGCTGC
+ATGTCAATCTGTTGCCACTCCAGATTTATGATGTTCGACTTTCTCAGAACAGTTACCAGTGCAAATTTGA
+CGACAGATTTCAGTGGTTCGGGGCTCTCATCAATCAGGCGTTTTGCCTGATTCTTTTGTAAGTCTCTTGT
+GCCATTACACCTCATACAGGTTTGCCTGCAAACAGTACTGATATTGCCCAGATATTCCGGCTGGCTTCGT
+GGTTGTTTTCAACAGTGATGAGGCATCGTGGCATCTCGTTGAAGACCATCGGGGGAAAACGGTTTATGAC
+GTGGCATCAGGGGACGCATTATTTATTTCTGAACTCGGTCCGTTACCGGAAAATGTCACCTGGTATCCCC
+GGCAGGGGAGTTTCAGAAGTGGAACGGCATATCATGGATAAAGGATACGGAGGAAGAAACCTCGTTGCTG
+GAAGCCTGGAAGATGTATCGGGTGTTGCTGAACCGAGTTGATACATCAACTGCCCCTGATATTGAGTGGC
+CTGTGAACCCTGTCTGAGAGTAATCATTGGGATTATGCCGCAGCACGTCGTGCGCAAGAACGTGCTGCGG
+CTGGATGCTATTTTTTCCCTGAAGCGGAAAACATTACTACAGTACCTTTAACCTTGGTTTTAACATTCTC
+GAAATGCTCTGAGAGTATATGTGTTAAGCCTTCTTCGGAATCTTTTGTGTTTGAAAAGATGCCTTTCTGA
+TTGTAAATGCGCATCAGTTTTTGACCGAAGCTATTGTGCACAACGCCGTCACCAAGAATTGTGGCTCCGT
+ATAGAGTTCCATCGTCAGTTAAGGCCTGCGCCGCATTGCGTATTACACAGCTTTTTGTAGATATATTTCC
+AGGCAGGCAGTGAAGAAGGTAAAACATGGAAATGGAATCAAATTGACCATGTAACGCCGCGGGATAAGGA
+TCAAAAACATCATGGCTAATTTTATGTTTAATTTTTGATTCCCCAGCCCTTGTCGATGCCGCGTTCAGGC
+TAGCTTCGTTCAAATCCATTAAAGATATCAGACTACTCTCAGGTACGTGAGTAAGGTAAAACCCAGTTCC
+AACGCCAATATCCAGATGGTTGTTACCTAAATGTTCCAGAAAGTGTGGAAGAAGGTGTTCCTTTGTAGGA
+CATCCCCATGCAAGCCGATTTGATACACCCAAAACCCACCAGTCATAAAGCTTTAGGGTAAGTGGTGTGT
+AAATTTTAGCCCCATCATCTGTGTTTTTTTTCATTAGTTTCACCATGTTATAGTTTTATTTGTGAATTAA
+ATCAATTATAGCGATGAATTACAAGGGGTTAAATGATGCCACGGCATAACGAATTTAAATATATTGAGTC
+TTGTGTTGCGGTAAGAGGTTACACGCCAGGACGCAGGTTAAATGCTTACAAGATTAGGGGATATTGTTTG
+CTTTTAACGGTAAACAAATTCCCCGGGGCTATACAATACCACCGGGGAGAAAATCTATTTAACGTTGTTA
+AAAGGTGTACTTAAGACCAGCAGTAGTGATGAAGTTATAGTTTTCTATGCCTGCACCATTTTTGCTGTAG
+TCTGAAGTGTTATCATTGTGATCATAAAGTGAAGTATTACCTTTTTTATTCGTAACCCGATTCCATGCGC
+CTTCAACATAAACTTTTGCGTTAGGTGTTACGTAATAACCTGCATTGACTGCAACAGAATAGTAATTTTG
+GTCTTTGACTTTACTGCGATAAGTGATTCTTTTTCCTGGGTCATAGTGCTCATCGTTATCAGATGCTTCC
+ACCCAGCCGCTGTATTTAAATGTGCCACCTAGCTCAAAATCTTCATAACGATAACTTCCAGTCAAGCCAA
+TGTAGGGCATTTTAAAACGTTGTTTGTAGCCGATTGCTCTTTCTCCATTCGGGAAGGAGCCGATATCATC
+TCTGAATCCCTCCTCAGAACTGTAGATATAGGAACCACCTCTGGCTGTAAAGCTATAACGGCTTTCCTGA
+TATCCGGCCATGAGTCCCAGGCGGTAATTGGGTTCGTTGAGGAGCCAGCCTTTGATATTCAGATCAAATT
+CGTTGGCATAATTGAGTTGTGTATCAGGGTGTCTACTTTCATCCGTCCAGGTTCCGGGGTTACTGGAATC
+CATCCAGTCCCGATCGACCATATTGCCACCTCGGCTACCGAGAGTTGTCCAGCCAGCAGCCCCGATAGAT
+ATCTGGGGCATCAAATCCCAATTAATTGCACCTTTAATAATTGCAGCGTTATTGAATTTCCAGTCAAGTT
+GACTGACTTTTCGGCCTCCTTCTTCGGCTAGATAAACACGCTCTTTTGTTTTTCCGCTCAGAGTTCCAAG
+ACTAATGTCCGCATTTATGTTGTCAGGAGTAAACGATAAAGTCTCGGTAGAAGCAAAAGAGCTGATCGCA
+ATAGGGGTTGTCAGGACTATTCCCAGAAGTTTCGCCCGCATAAAAGGTCTCCATTCAATCGTTTTAATGA
+TTGAGTATGTATTTTTTATATCTAACTTAATGAGTCAATTGTATATTGCCCCACTGTTTATATTTTGTTT
+AACATTGAATTTTTGTCACAATGCGCTGTCAGTTTTTTAGTTTAATTGTCTGTTTGTGTTTTGCATTGTG
+GTTTTATGGGCTAATTATTTTTTTCTTTGTGGAGTTTTTATCTATTCAAGTGCCATGCCTTTAGATGCAT
+ATTAGCGATAATAGCATGAGGTTTATCCTCAATTGCTGTGTTTTTTAGTATAAAAAAGAGGAACAAAACT
+GAGACACATAAGGCCTCGCAATGGCTTGCAAGGTTTTACATATTTTGAAGTGGTGGAACGTGTGAACGCA
+GAGATGGCGCGGTAATTTGTTGATTTAAAATGTCGTTCCTGGAGTTTCTAAGTCGTGGGCTACAGGTTCG
+AATCCTGCAGGGCGAGCCATTTCCTCGCCATTTATTTGTTCCCTTTTACAAATTACACCATCACTTTGTT
+GTCGCGGTTTTGCTAAATAATTGGAACACGTCAGACGAATAAAATGAAAACAGAAATTCTGCTAAACAAT
+TCATCTTGCCAGGATTTTGATTAGGAAAGTGAAAAGGAAAGGAGCAAGCTAAGTTGCTCCCTTTAATCAT
+TAATACTCAAGGATACTCTGCGCGACGGGCAAATAGCGCAGAGAGAAATAGAGCGTGTCTTTACCGCAAG
+AGGAACGTTTCGCTAACAGCGAGGCAATTTCTGCGTTCGGTTTCGGTTTCGCTGTAAACGTTTTACCTTT
+GCCGGCGACAAACAGTTCATAAACAATGCCGCCTGCTGGGGCGGAACTTTGGCAATCGGCGCTGGCCTGT
+AGATAACGTTCACGCTGTTCAGCGGTCAGTTTATCCACGCCGCTGCCATCCTGTACCCAGACATTAACAC
+CGGTTGCTTTAACTTGTTCCAGCAGTTGGCGATAGCCATCTGGCGACATGTTTCCGGCGAAAAAACTACT
+GATATAAACCGGTTTTGCTGAAACATCGCTAATCAACCGCTGCGCGTTGTTTAACCATGTTAGCAAAGGC
+TGACGGGCGGCTTCGCTGCGCCAGTTCAGGTCGTCAATTTCCGCGCTGATGTACCAGCCATCCGGCGTTA
+CGCCAGGCACGGCGCTCCATAATCTGGCTTGCTGGAGATCGGCAGCCAGCAGGCGATTAAGATAGCTTTC
+CAGCGCTGCGGACGACTGTTTCTGGTGCATAAAAAATTCCGGATCGGCGTTCAGCCCGACAATCAGCTTC
+AGGCCAGCCTGTTGCGCAACTGCGGCACGCTTAAACAATAACGCGCGCTGTTCTGGCTGGGTGAATGCAT
+CGCCGTAACGGGTCCATTGCAAAACCAGGGTATCGAAGCCTTGCAAACGTAACTGACTCATCAGCCCCTG
+CCACTGGGTATCGGTAACCTGACTATCACGGTTTTGTGGTTGCCAGATAATACCTTTCATCGCAAAGGAA
+AAAGGGCTGACCAAAAGCAGTGTCAGCAATACGAAAATGAACTTACGCATTTACCAGTGCACTCCAATGG
+TGAGAAACGCGTTGTTGCGCTCTCCGTTACGTTGATTAATCGCCTTAAAGGTATGTTGATACTCGACGCC
+GAGACTGACTTTGTGCGGCCAGGCGTCGTAGTGCGTCTCGCCGGTCCAGATATTCCAGCGGACCCCGACA
+CCGCCAAGCTGCGCGCCCTGAGTGCCTTTATCACGATAACCGTTGTCCTGAACGTGAGCGTAAGGCTCAA
+TAGTCTGTCCGTTCGCCACCTTCTGATGCCAGCTTACGCGATAATCTGCCGTCCACGCCTGAATATCCTG
+GCGGACATATTGCGCCGCATCGAGGTACAGGTTTTGGGCAAACCAGCCTGAACCGTTCGGGTGCCATTCG
+TCGCTGTATTTGCCGCCATTAAAGAATGAGGCGCTGGCGCGCAGCATGGTATCGGATGCGCCATTTTGCC
+CGTTCAGCGGCAACTGCTGTTCGACGGCGAGGAAAAAGATCTGATCGCGCAGCGGCTTCCAGCGCAGACC
+GGTGCCGGACATCGGATTTTTCACCGGCATCATCACCCCGTTTTCTCCGGTATCGGCAAAGACGCGGCTA
+TAAACTGAGAGCAGGTCGCCTTCCAGCAGCATATTGCGTCCGATGCGGTACTCGGCTTCCAGTTGCCCGT
+AGCTACGATAGCTTTTCCCTGGTGCTGCGCCGCCGACATTATTGTTAGCGGTACTCATTGCGCCGGAACG
+CAAGCCGATAGAAGAATCGAAACTGAACGTCCAGCGGCGACCGACCTCCTCATGCAGACGGCGGAAATTG
+AAGCGTTGCTGATTTTGCTCTGGGGTCAGTGGGGTTATCAGCGCCTGATTATCAATGTCATCAATCACCA
+GCCGGGCGTAGTGCTGCGTCGCAGGCATGTCATCCAGACGCTGGTTCACGTAGGCCAGTTGTCGGATAAG
+TGCCGGATCGTCCGGTAGCCCTTTATGCGCCTGTTCGAGCATTTCCCGCGACTGTGCGATATCACCGCTA
+TCCCACAAGGCGTAACCGAGCGCTGCCTGGGTGTTGCTATTATTCGGTTCCAGTTCCAGCGCGGCGCGCA
+AATCACTCACCGCCGCCGGGACATTATGACGTTGGCGATAAATTGTCGCCCGCGCAACGTAAGCGTTGGC
+AGAAGGCGCAATATTGATTGAGCGCGTGAGATCGTTCAGTGCGAGTTCCGGCTGACCAGGAATGTAACGT
+TGCGCATGCAGCCACCAGTAGAGGGCATTGTTTCCCAGCCCACGTTGTTCTGCCTGCTGAAGCCAGCGAT
+CGCGAGCCGCACCATTTCCTGCCGCCTGGGCGGTATTGGCAGCAGCAAGCAGATCCTCATTGCTCATGTC
+GTGAAGACTGATTTTCTGCCAGGCCGCCAGTGCGGTGGCGTAGTCCTCAACCTGATACGCCTGATAGGCT
+ACCGCACGATGTTGCCAGGCGTCCGGTTGTCGTTGTTCGGCCTGAAGCCATGCATACAACGCCACACCGG
+GTAGCGTGTCCCGATAACACTTTGCCAGACGGTTCCAGGCGGCGGCATCGTAGGAAGGCGACATATCGCC
+CAGCAAGCGAACTATTGCCGGGCAATTATCTGCAATACCCGGCAACTGACTTTGCCACTGACGTTGCTCC
+GCCAGCGGTAAGGGTTTCGATAAAATCGCCACCTTCGCCGGCGTTGCCAGGTAAGGATGACTTTCCAGCA
+GAGACGCCAGTCGCGCCATTAACGTCTGGCTGACACGCGCATCGCCCTGGAAAGGATAGCGTTGCAGCAA
+TAAATCGGCAGCTTCGCGTGACTGTTCGTTCTGCATCAGTTGCCAGGTCAGTTGATCCAGGCGGGTAAGA
+TTTGCCGGTTCTTGCTGATACAGCAATCGTGCCAGACGCAGAGCTTCAGCCTTGTTACGGGTCGCTACGC
+TAACGGCATAACGCTCCTCAAGCATTTCATTGGCGGGGAGGGTGGCGAGCAGTTTTTGCGCTGCGCCGTA
+CTGACCTTCTTTTAACAGCACCGGTAGCGTCGCGCCAACAACATACTGGCGGTTGTCGGCAAACTGTACC
+GTATAATTCGCCAACGCCTGAACGGGGTTGCCGCTGTATTTAGATAACAGATAGAGCCAACTTTTCTCTT
+GTGCGTCCGTGGTAAATAGCGGCGTATTTTCAATGAGATAATGCTGGAGGCGTGCTTTTTCGCCACGATA
+AGCCAGCGCGGTCGCGTAAGTAATATATGACTGAGGATCGGTGAAGATCCCCTGTGATTGCAGCGCCAGG
+ATCCGATCATCCAGCTGCGCGGCAAGAAGCACGTCAAACCACTGACGGCGTTCTGCCGCACTTAATGTGT
+TCTGCTGGCGTGCTTCATTATATAGCGTATCTGCCTGGGACCATTGTTTCAGGTAGATTGCGCGTTGCAG
+CAGATCGGTTCGCAGCGTTTTTCCTTCCGGCGATGCAGCAAACGTCGCATCGTTCAGTTGCGCTCTGGCG
+ACAGGTAATTGTGCCAGCCGCAGGGCATTCTGCCCGACTTCACTGCGACAACGCAGGGTCGGCGCAGCAT
+CGCACGCTTTTTGCTGGGCAAGCAGTTCTTCAACAGTCGTAACGCTTTTCACTTCAACAGGAATAGCCGC
+CAGACTGCGCTCAAGCCGATCATCTCCTGGGTGACGTTTCAGTTGATCCTCAAGCAACAGCCGCGCCCGG
+TCATCATGACCAAAATGGCGATAGGCTTCCGCAAGGTATAAAGTCAGCGGAATATTATCCGGCACCTGCT
+GGTGTATATATTCAAATTCGCGGATGGCGGTTGCTTCGTCGTTATTTTTCTGTGCCTTCAGCGCCTTATC
+GAGACGGGGATAAATAACAAAATGGCGATAATCGCTCAGCCCCAGCTCTTCTGCGCTGGTGCCGATATTG
+TCTGCGAGTGCGCTGGTACTCAATAAAGACGTCAGCAGTAAACCAGACCATCCGATGACGCGATTAAGGT
+TATTCTCCTTCATTTTCGGACTCCAGTTGTGCAACCTGTTCAGTGTTTAAACCTGCTTTGAGTAATAGTG
+ATTGCATCGAAACTTGTAATTCGCGTTGAATTGTCAGGACGCGATCCAACGTTTCCTGGCTGATAACGCC
+TTCGGTGACCAAAAACTTGCCGAGCGGCAGAGAACTGCGTTCATGGCGCAATAACAACACGTTAATTGCT
+GAACGATTAATATGACCGAGCGTGGTCAGTATTTCTGCGAACAGGAACTGATGCGGCACATATTGCCGCC
+AGATTTCACCGGCCTGCTGTTCCGTGAGCCACTGATGCTGAACAGCATTGTACAACATTGCCCGCGGATC
+GTGACCGCGTCGGCGTGCATACCAGTGGCGTAATCCGGTGACAATTTGTCCCCGCAGAACAATGACGTAA
+CGCACTTTGCGTCCGACTTTACGCGTCAGGGCCGCCAGCGAAACCGGGTCAATACCATCTTCACTGCCGA
+CAATTAACTCATCATTGTCCAGACGCAGCGGCAGTACCGCATAATGCAACGCCACGGAGGCCGGCATTTC
+GGCAATCAGCGAGGAAGGGATCTGCCAGGCATCGATGGATTCCCACGCCACGCCGTTTTGCTCTGCCAGC
+GCCTGTGCCAGTTGCTCGGCGCTAATCAGCCCCTGCATCAGCATTGAACCGCCCAGGCGTAGACCTTCGA
+CGCGATTACGCAGTGCTGTATCGAGTTGTTCTTCAGTGATGACCTGATTTTCCAGCAGGATTTGACCTAA
+CGGACGCAACGAGCGGGTATCGCCAGTCACGCTGGGGAAGTCATGCGTTGTTTTATCCCACGCGACACGA
+CGTGGATCGCCGTGTTGAAGTACCTGTTTTAACGCGCGCCAGTTGGCCATGAAGTTAATCAGGTTGCCCC
+AGAAAAGACGCAGGACAGATAGCAGCCCCTGCGTCAGGCCGTAGTAGCCAGTAACGAAAATCACCCGCTG
+CACGATGCGGTTAATCATCAAGCCAAAGTTTAGCCACAGCAGAGTCATTAACCATGCGCTGCCGCTGAAA
+ATAGAAAGGAAATGCCAGGCATCGGGCCACAAACTTTCATACGCCAGCAACAGCAAAAGCTGGATCATCA
+CCAGCATCGCGAGGAAGCTGACAAAGTTACTGATTGCCCCTTTGCGGTCGCGCCAGAGAAAGTAGTTCAG
+CGTCAGGCTGGAGGTCCATTTGTGGGTTTTAAAGCCCTGGAAAACAATGCCGATGATCCAGCGAGATTTT
+TGCCGAACCGCAGTCGAAAAGGTATCGGGGAAATATTCGCGCACGCAGATCATGTTTGACGTCCGCGCAT
+GCTGTAAAAATTTACGCTGCTCGCGTTCTTTGGCTTCGTCCACCACCGGAAAACGGACAAAAATTTCCGT
+CATACCTTTCTCTTTCAGGCGGAAGCCAATGTCGTAATCTTCAGTCAGACTCTGCACGTCGAAAGCAATA
+CCGTCACCGTCAGCTAACAGTGCGGTCACGGCGCGGCGGCTGAAACAGGTGCCGACGCCTGCGCTGGGCA
+CCTGTCCGGCGAGGGCTTCACGCACCGGAACATCTTTGCCATGCAGTTCTGAAAACTCATCAATGTAGGT
+CATGCTGGTGAAGTGCGTCCATTCGCGTTCGAACGGATACACTGGGATCTGAATCAGATCTTTACGCTCG
+ACCAGATAGTTGAACAGACGCAATTCCATCGGTGAAATCACATCTTCGGCGTCATGCAGAATAAAACCAG
+CAAAAGCGAAATTGGCGCTACGTTCAAATTGGGTGATGGCATCCAGCACGTTGTTCAGACAGTCGGCTTT
+GCTGGTGGGGCCAGGACGCGCGCAGACTACCTTATGCACGTTCGGGAAGCGAGCGCACACTTCGTCAACA
+TCACGCTGAGTATCGGGGTCGTTGGGGTAGGTGCCAACAAAGATATGATAGTTTTCGTAGTCGAGCGTGG
+TCGCCGCCAGCTCGGCCATATTGCCGATGACGCCCGTTTCATTCCACGCCGGAACCATAATCGCTAACGG
+TTTTTCATCTGGTTTATACAGTTCGCGGTAACTCATTCGCGGGTAGCGGCGATAAACACTCAACTTGCGT
+TTAATGCGGCGTACCCAGTAGACGACATCAATAAAAAAATCGTCCAGCCCGCTGATGAACATAATGACCG
+CTAACGTTATCGCGATTACTTTTAAGCCGTAGAGCCAGGTAGCAAAAACATCAAGAAGCCAGTCCACACA
+AAAACCTTACATTAACGCTGGTTATGTTTAGGGTGGCGTATATTAAGGTTTTTTATGAATTGTGACAGCT
+TTTTATCATTAATAGGTATTACTATTGCGGCATGTTATTTTTACACTGGTTATAAAAGTTGCCGTTTGCT
+GAAGGATTAAGCGGGTAATATGATAACAAACTTTGTCCCCCGCACATCTGACGTTACTGCAACTGTGCCT
+TTATGCGCGACAACAATCGATTTCACTATCGCCAGGCCAATGCCGCTACCTTCGCCTTTTCGCTGGCGGG
+AAGGATCAACGCGGTAGAAACGGTCAAACAATCGCGGTAAGTGCTCAGGCGCAATGGGCGTACCAGGGTT
+TTCGACGGTAACTTGCACCAGGTGATCGACCGTCTGACAGCGCACTACAATTGTCTCTCCGGTTGGCGTA
+TAACGCAGGGCATTAGAAAGCAGGTTGCTTAACGCCCGACGCAGCATCAGCGGATCGCCCGCAACCTGAC
+ACTCGTCGCCAACAAACCGCAGCTCCACGCCGCGATCTTCTGCTAACGCCTCGAAAAAATCGAACACTTT
+GCCGACTTCATCCGCCAGGTTGAGCATTTTCTTTTCGGGGATTAGCTGGTTGTTATCGGCCTGAGCGAGA
+AACAGCATATCGCTGACCATTTTCGCCATTCGCGTCAGCTCTTCGAGATTAGAGTAGAGCACATCTTCCA
+GCTCCTTCTGGCTGCGCGACTGGCTGAGGGCGATTTCCGTTTGCGTAATGAGATTAGTAATAGGTGTGCG
+AATTTCGTGGGCGATATCCGCTGAGAAATTGGACTGGCGGGTAAAGACATCCTCAATACGCTCGATCATA
+TGGTTGAACGACAGTACCAGCTGTTCCAGCTCAATGGGTACGGTCTGCGGGTCAAGGCGAACGTCGAGAT
+CTTTCGAGGTGATATTCTGGATTTGACGGCTGACGCTGCGGATCGGCGCGTGACCTTTATGTACCGCCAA
+CAGCACGATAAAGACGATCAGGATGCTGATTACCGATGCGGTCATAATAAGTTTATTCATCAAATCATTG
+ATGTAATGAAGATGAAAATCGATCGAAAGCGCGATGTAGAGCGTATAAATCGGTTTGCCGTCAACCAGCG
+GGCCAACCGGCAAGTTAATCATCCGCCAGTTGCTGTGTTCCATATGCCCGTGACCGTGCCCTGGCATCAT
+CATCGTCGGGCCGGAAAGGAGATACACCTCGCCAGCCTGCGCGTCTTTATCGGGTATGGCGTCACGCGTA
+AACTCGCGGATATCCGGCGCACCGGGGGAGTGATACACCGTTTTACCGTGGCTATCTGCCAGGGAGATCA
+ACACATTGGAATAACCACTGACGATATCTTCCAGCGTCATTAAGCGTCGGGTTTGCGTTTCGTCAGGGTG
+ATTAAGTACCCGTTCAAGGGTGGCGCTAATCTCCTTTAAATCATTAATATCCTGCTCGGCAAAATGCACT
+TTTACCGAGTGGATCATGATCCATGCAAAGGCGAAAAACGCCGCGATGGTGGCGAGGCTGATAAAAAAGG
+TCAGACGGGTTGCCAGCGAAAACGGGCGCTGAAATGGCTTACTGACCATCCGGCACCTCTAGCATGTAAC
+CCACGCCGCGCACGGTCTGAATCAACTTTGGCTCAAAGTCGTTGTCGATTTTGCCGCGCAGCCGCTTCAC
+CGCCACATCAATGGCGTTGGTATCGCTGTCAAAATTCATGTCCCATACCTGCGAGGCGATAAGCGAGCGG
+GGCAGCACTTCGCCCTGATGGCGGAGGAAAAACTCCAGCAGAGTAAATTCTTTACTGGTCAGAGTGATGC
+GCGTGCCGCTGCGGGTGACTTTGCGGCTGACGAGATCGACCATCAGATCGGCAACCTGAAACTGACTTTC
+GATAATTACCGCCGCTCCGCGCCGCAGTAGAGTGCGCACCCGCGCCAGCAGTTCAGCAAAAGCGAACGGC
+TTCACCAGATAGTCATCCGCCCCCAACTCCAGCCCCTTGACGCGATGTTCAATGGTGCCAAGCGCGGTAA
+GCAACAGAATCGGCATCCCCTTATTGGCGGAACGCAACATGCGCACGATATCCCAGCCGTTCACGTCCGG
+CAGCATAATATCGAGGATTATCAGATCATAATCACCGGTCATCGCCAGATGGTAGCCATTCAGCCCGTTG
+TCGGCCAAATCGACCACAAAACCGGCTTCGGTTAACCCTTTGGTCAAGTATTCTCCGGTTTTCTTTTCAT
+CTTCGACAATCAACAGTTTCATATTTCCTCCGCATGTTGCCCGGGCAATTCTAGAGTAGCGGGATCAGAT
+GGCAATCGCTTATTGGCAAAATGACAATTTTGTCATTTTCCTGTCACCGGAAAATCAGAGCCTGGCGAGT
+AAAGTTGGCAGCATAAAATCACCAGAAATTATGAGCCTATGTCTCCTTGTAAACTTCTGCCATTTTGTGT
+GGCCCTTGCGCTAACCGGTTGTTCACTGGCACCGGATTATCAGCGTCCGGCAATGCCCGTGCCGCAGCAG
+TTCTCACTCAGCCAGAACGGCCTGGTTAACGCAGCAGATAACTACCAGAACGCGGGCTGGCGCACCTTTT
+TTGTTGATAATCAGGTGAAGACGCTGATTAGCGAGGCGTTGGTGAATAACCGGGATTTGCGCATGGCGGC
+GCTGAAAGTGCAGGAAGCGCGGGCGCAATATCGTCTGACCGATGCCGACCGCTACCCACAGCTCAATGGC
+GAGGGCAGCGGCAGCTGGAGCGGCAATCTTAAAGGCGATTCAGCCACGACGCGGGAGTTATCGACTGGCC
+TTAACGCCAGCTTTGATCTCGATTTTTTCGGTCGCTTAAAGAACATGAGCGAAGCCGAGCGCCAAAATTA
+TTTAGCCACTGAGGAAGCTCAGCGCGCGGTGCATATTCTGTTGGTTTCTAATGTCGCGCAAAGCTATTTC
+AATCAGCAACTGGCGTATGCGCAATTGCAAATAGCCGAAGAAACGCTGCGTAATTATCAGCAGTCATATG
+CGTTTGTCGAAAAACAACTGTTGACCGGTAGCAGCAATGTTCTGGCGCTGGAACAGGCTCGCGGGGTGAT
+AGAAAGTACCCGCAGCGACATCGCTAAACGTCAGGGGGAACTGGCGCAGGCAAATAATGCATTGCAACTG
+TTATTGGGAAGCTACGGCAAGCTGCCGCAAGCGCAGACAGTAAACAGCGACAGCCTGCAAAGCGTTAAAT
+TACCGGCGGGCTTGCCGTCGCAAATCTTATTGCAGCGCCCTGATATTATGGAAGCTGAACACGCGTTAAT
+GGCGGCTAATGCCAATATTGGTGCTGCGCGTGCGGCATTTTTCCCGTCTATCAGCCTGACCAGCGGAATA
+TCAACCGCCAGCAGCGATCTGTCGTCATTATTTAACGCCAGCAGCGGGATGTGGAATTTTATTCCTAAAA
+TTGAGATCCCCATTTTTAATGCCGGACGCAACCAGGCCAATCTGGATATCGCCGAAATTCGCCAGCAGCA
+GTCGGTGGTGAATTATGAACAGAAAATCCAGAACGCCTTTAAAGAAGTGGCAGATGCGCTGGCATTACGT
+CAAAGCCTGAACGATCAAATCAGCGCCCAGCAGCGTTATCTTGCGTCGCTGCAAATTACTTTGCAACGGG
+CGCGGACATTATATCAGCACGGCGCAGTCAGTTATCTGGAAGTGCTGGATGCCGAGCGTTCTTTATTTGC
+AACCCGACAAACTTTACTTGACCTGAATTATGCCCGTCAGGTTAACGAAATTTCTTTATATACCGCCTTA
+GGGGGCGGTTGGCAGCAATAATTTTTAACTCCAGGAGAGAATAAATGAAAAAAGCACTGCAAGTCGCAAT
+GTTTAGTCTGTTTACCGTTATTGGCTTTAATGCCCAGGCTAACGAACATCATCATGAAACCATGAGCGAA
+GCACAACCACAGGTTATTAGCGCCACTGGCGTGGTAAAAGGTGTTGATCTGGAAAGCAAAAAAATCACCA
+TCCATCACGATCCGATTGCTGCCGTGAACTGGCCGGAGATGACTATGCGCTTTACCATCACCCCGCAGAC
+GAAAATGAGCGAAATTAAAACCGGCGATAAAGTAGCGTTTAATTTTGTCCAACAGGGCAACCTTTCTTTA
+TTACAGGATATTAAAGTCAGCCAGTAACCCAGGTTTAATGAGATGAAAAAAATCGCGCTTATTATCGGCA
+GCATGATCGCGGGCGGTATTATTTCTGCGGCAGGTTTTACCTGGTTTGCAAAGGAGGAACCGCCCGCAGA
+AAAAACGTCGACCGCAGAACGTAAAGTCTTATTCTGGTACGACCCGATGTATCCCAATACGCGGTTCGAT
+AAACCAGGGAAATCGCCGTTTATGGATATGGATCTGGTGCCGAAATATGCCGATGAAGAGAGTTCTGCGT
+CTGGTGTGCGCATTGACCCGACTCAGACGCAGAATCTGGGGGTGAAAACGGCGACCGTCACGCGCGGGCC
+GCTGACTTTTTCCCAGAGTTTCCCGGCGAATGTCAGTTACAACGAGTATCAGTATGCCATTGTGCAGGCC
+CGCGCCGCCGGGTTTATCGACAAGGTGTATCCGCTTACCGTGGGCGATAAAGTGCAAAAGGGCGCGCCGC
+TTCTCGACCTGACCATTCCCGACTGGGTGGAAGCGCAGAGTGAGTATTTACTGCTGCGCGAAACCGGCGG
+TACGGCGACCCAGACTGAAGGCATTCTTGAGCGACTGCGACTGGCGGGAATGCCGGAGGCTGATATTCGC
+AGCCTGATCGCCACGCAAAAAATCCAGACTCGCTTTACGCTCAAAGCGCCCATTGATGGCGTGATCACCG
+CGTTTGATCTGCGCGCGGGAATGAATATCGCCAAAGATAACGTGGTCGCGAAAATTCAGGGTATGGACCC
+GGTGTGGGTCACTGCTGCGATCCCGGAGTCCATCGCCTGGCTGGTGAAAGATGCCTCGCAGTTTACGCTC
+ACCGTTCCGGCGCGACCTGATAAAACACTCACCATCCGCAAATGGACGCTGCTACCTGGCGTGGATGCTG
+CGACCCGCACGCTGCAACTGCGTCTGGAAGTCGACAACGCCGACGAGGCGCTAAAACCGGGCATGAACGC
+CTGGTTGCAACTCAATACCGCCAGCGAACCGATGCTGCTCATTCCGTCACAGGCGCTGATTGATACCGGC
+AACGAACAGCGGGTGATTACCGTTGATGCTGACGGGCGCTTTGTACCGAAACGCGTTGCCGTTTTCCAGG
+CATCGCAAGGCGTCACCGCGTTACGCTCTGGTCTGGCGGAAGGTGAAAAGGTGGTTTCCAGCGGCCTGTT
+CCTGATTGATTCTGAAGCCAATATTTCTGGCGCACTGGAGCGGATGCGCTCTGAAAGTGCTACCCATGCG
+CATTGAGGGAATAGCCAATGATTGAATGGATTATTCGTCGCTCGGTGGCGAACCGTTTTCTGGTGCTGAT
+GGGCGCGTTGTTTCTGAGTATCTGGGGCACCTGGACTATCATTAACACGCCAGTGGATGCACTGCCGGAT
+CTTTCCGATGTGCAGGTGATTATTAAAACCAGCTATCCCGGTCAGGCACCGCAAATCGTTGAAAATCAGG
+TGACTTATCCGCTAACCACCACCATGTTGTCGGTGCCTGGCGCGAAGACTGTGCGCGGTTTCTCGCAGTT
+TGGCGACTCTTATGTGTATGTCATTTTCGAAGATGGCACCGATCCGTACTGGGCGCGCTCGCGGGTGCTG
+GAGTACCTCAACCAGGTACAGGGTAAGCTGCCTGCGGGAGTCAGCGCCGAGCTGGGGCCAGATGCCACGG
+GTGTTGGCTGGATCTATGAATATGCACTGGTGGATCGCAGCGGTAAGCACGATCTGGCCGATTTACGCTC
+ATTGCAGGACTGGTTTCTCAAATATGAGCTAAAAACCATCCCTGACGTTGCGGAAGTGGCGTCGGTGGGC
+GGTGTGGTGAAAGAGTATCAGGTGGTTATCGATCCTCAGCGCCTGGCGCAGTATGGCATCAGTCTCGCCG
+AAGTAAAAAGCGCGCTGGATGCTTCAAACCAGGAAGCGGGCGGTTCGTCGATCGAACTGGCGGAAGCGGA
+ATATATGGTGCGCGCCAGCGGCTATCTGCAAACGCTCGACGACTTTAATCACATCGTTTTAAAAGCCAGT
+GAAAATGGCGTGCCCGTTTATCTGCGTGATGTTGCGAAGGTCCAGGTTGGCCCGGAGATGCGCCGGGGCA
+TTGCCGAACTGAACGGCGAAGGCGAAGTGGCGGGCGGGGTGGTGATCCTGCGTTCCGGCAAAAACGCCCG
+TGAAGTGATCGCCGCCGTGAAGGACAAACTGGAAACGCTGAAAAGCAGTCTGCCGGAAGGCGTGGAGATA
+GTTACAACATACGATCGCAGTCAGCTCATTGACCGCGCCATTGACAACCTCAGCGGCAAGTTGCTGGAAG
+AGTTTATTGTGGTGGCGGTAGTCTGTGCGCTGTTTCTCTGGCATGTGCGCTCGGCGCTGGTGGCGATTAT
+TTCGTTGCCGCTGGGGTTGTGTATTGCTTTTATTGTCATGCACTTTCAGGGACTGAACGCCAATATTATG
+TCGTTGGGTGGCATTGCGATTGCCGTCGGGGCGATGGTCGATGCCGCTATCGTCATGATCGAGAATGCGC
+ATAAACGGCTGGAAGAGTGGCAGCACCAGCATCCTGACGCCACGCTGGATAATAAAACGCGCTGGCAGGT
+GATCACCGATGCATCTGTTGAAGTGGGGCCGGCGCTGTTTATCAGTCTGCTGATTATCACGCTGTCGTTT
+ATCCCGATTTTCACCCTGGAAGGGCAGGAGGGGCGTCTGTTTGGCCCGCTGGCGTTCACCAAAACCTATG
+CGATGGCGGGCGCGGCGCTGCTGGCGATCGTAGTGATCCCGATCCTGATGGGCTACTGGATCCGTGGCAA
+AATTCCGCCAGAAAGCAGTAACCCGCTCAATCGCTTTTTGATTCGTGTTTATCATCCGCTGTTGCTGAAA
+GTACTGCACTGGCCGAAAACCACGCTGTTGGTGGCAGCGCTTTCGGTGCTGACGGTTCTCTGGCCGCTCA
+ATAAAGTGGGCGGGGAATTTTTACCGCAGATCAATGAAGGCGACTTGTTGTATATGCCATCGACGCTGCC
+GGGGATTTCCGCAGCGGAGGCGGCGAGTATGCTGCAAAAAACCGACAAGCTGATTATGAGCGTACCTGAA
+GTGGCGCGGGTATTTGGCAAAACCGGGAAAGCGGAAACCGCCACCGATTCTGCTCCACTGGAGATGGTAG
+AAACGACTATCCAGCTTAAGCCGCAGGATCAGTGGCGGCCTGGCATGACGATGGACAAAATCATTGAGGA
+ACTGGATAACACCGTGCGTCTGCCGGGGCTGGCGAATCTGTGGGTGCCGCCAATTCGTAACCGTATCGAT
+ATGCTCTCGACTGGCATTAAAAGCCCTATCGGCATTAAAGTTTCCGGCACTGTGCTGGCGGATATCGACA
+CGATGGCGGAGCAAATTGAAGAAGTGGCGCGAACGGTGCCAGGCGTGGCTTCTGCGCTTGCTGAGCGTCT
+GGAAGGTGGGCGTTATATCAACGTTGAGATTAACCGTGAAAAAGCCGCGCGTTACGGTATGACGGTGGCG
+GATGTGCAGTTGTTTGTGACTTCTGCGGTGGGCGGGGCGATGGTTGGCGAAACGGTGGAAGGGATTGCTC
+GTTATCCAATTAATCTGCGTTATCCGCAAAGCTGGCGCGATAGCCCGCAGGCACTGCGCCAGTTGCCGAT
+CCTCACGCCGATGAAGCAGCAAATCACTCTGGCGGACGTGGCCGACGTTAAAGTCTCTACCGGACCGTCG
+ATGCTGAAAACCGAGAATGCGCGCCCGACGAGCTGGATTTATATCGATGCCCGCGATCGTGACATGGTGT
+CGGTGGTTCACGATCTGCAAAAAGCGATAGCTGAAAAAGTGCAGTTAAAACCGGGCACCAGCGTGGCATT
+CTCCGGGCAGTTCGAGCTACTGGAGCGCGCCAACCATAAGCTGAAACTGATGGTGCCGATGACGCTGATG
+ATCATCTTCGTGCTGTTGTATCTGGCGTTCCGTCGGGTGAGCGAAGCGTTGCTGATTATCAGCAGCGTAC
+CGTTTGCGCTGGTGGGCGGCATCTGGTTGCTGTGGTGGATGGGCTTTCATCTTTCCGTGGCGACGGGCAC
+CGGTTTTATTGCCCTTGCCGGGGTCGCCGCCGAATTTGGTGTGGTGATGCTGATGTATTTACGTCACGCC
+ATAGAGGCCGAGCCGTCGTTGAATAATCCGCAAACATTCAGCGAGCAGAAGCTGGATGAGGCGTTATATC
+ACGGCGCGGTACTGCGCGTGCGCCCAAAAGCGATGACGGTGGCGGTGATTATCGCTGGTCTGCTGCCGAT
+TCTGTGGGGAACAGGTGCAGGGTCAGAGGTGATGAGCCGGATTGCCGCGCCGATGATTGGCGGCATGATC
+ACCGCACCTTTGCTGTCGCTGTTTATTATCCCGGCGGCGTATAAGCTGATGTGGCTGCACCGACATCGGG
+TACGGAAATAAAAGCAGGATACCCCGTTTAACCGTGTGGATTGTGTCTTGCGACGATGGGCACTAAATGT
+TAAAAGGTGCCCCTCAACAAAAAAGACACACAGGGGAAAGGCGTGAAAAACGCGTCAACCGTATCGGAAG
+ATACTGCGTCGAATCAAGAGCCGACGCTTCATCGCGGATTACATAACCGTCATATTCAACTGATTGCGCT
+GGGTGGCGCAATTGGTACTGGTCTGTTTCTTGGCATTGGCCCGGCGATTCAGATGGCGGGTCCGGCTGTA
+TTGCTGGGCTACGGCGTCGCCGGGATCATCGCTTTCCTGATTATGCGCCAGCTCGGCGAGATGGTGGTCG
+AAGAGCCGGTATCCGGTTCATTTGCCCACTTTGCCTATAAATACTGGGGACCGTTTGCGGGCTTCCTCTC
+TGGCTGGAACTACTGGGTAATGTTCGTGCTGGTGGGAATGGCAGAGTTGACCGCTGCGGGCATCTATATG
+CAGTACTGGTTCCCGGATGTTCCAACGTGGATTTGGGCTGCCGCCTTCTTTATTATCATCAACGCCGTTA
+ACCTGGTGAACGTGCGCTTATATGGCGAAACCGAGTTCTGGTTTGCGCTGATTAAAGTGCTGGCAATCAT
+CGGTATGATAGGCTTTGGCCTGTGGCTGCTGTTTTCTGGTCACGGTGGCGAGAAAGCCAGTATCGACAAC
+CTCTGGCGCTACGGTGGTTTCTTCGCCACCGGCTGGAATGGGCTGATTTTGTCGCTGGCGGTAATTATGT
+TCTCCTTCGGCGGTCTGGAGCTGATTGGGATTACTGCGGCTGAAGCGCGCGATCCGGAAAAAAGCATCCC
+GAAAGCAGTGAATCAGGTGGTGTATCGCATCCTGCTGTTTTATATCGGTTCACTGGTGGTTTTACTGGCA
+CTCTATCCGTGGGTGGAAGTGAAATCCAACAGTAGCCCTTTTGTGATGATTTTCCATAATCTCGACAGCA
+ACGTGGTAGCTTCTGCGCTGAACTTCGTCATTCTGGTAGCATCATTATCGGTGTATAACAGCGGGGTTTA
+CTCTAACAGCCGCATGCTGTTTGGCCTTTCTGTGCAGGGTAATGCGCCAAAGTTTTTGACTCGCGTCAGC
+CGTCGCGGCGTGCCGATTAACTCGCTGATGCTTTCCGGAGCGATCACTTCGCTGGTGGTGTTAATCAACT
+ATCTGCTGCCGCAAAAAGCGTTTGGTCTGCTGATGGCGCTGGTGGTAGCAACGCTGCTGTTGAACTGGAT
+TATGATCTGCCTGGCGCATCTGCGTTTTCGCGCGGCGATGCGACGTCAGGGGCGTGAAACACAATTTAAG
+GCGCTGCTCTATCCGTTCGGCAACTATCTTTGCATCGCCTTCCTCGGCATGATTTTGCTGCTGATGTGCA
+CGATGGATGATATGCGCCTGTCAGCGATTCTGCTGCCGGTGTGGATTGTGTTCCTGTTTGTGGCGTTTAA
+AACATTGCGTAGGAAAGTGAATTAAGCTGATGTGAGGCTGATTTGCCCGATGCGCAAGCTTATCGGGCCT
+ACAATTTGTAACGATTCTGTAGGTCGGATAAGGCGTTCACGCCGCATCCGACAAAATGATGTCAACAATC
+TGAAAGCCGCTCTCATCTATTCGATGAGAGCGGTTTTTTTAATTACTGCTTAAATGCACCCGCCAGAGAG
+CGAATATCATTGCCGGTTGGCGACTGATGAAGTCGCAGACCAAACTCTTCGACAATCGCAAATATGTGAT
+CGAATATATCAGCCTGAATGCTTTCATATTCCAGCCACACCACGGTGTTGGTAAACGCATAGATCTCAAG
+CGGTAAACCGTTATCACCAGGAGCCAGTTGGCGTACCATTAAGGTCATATCTTTGCGAATCCGCGGATGA
+TTCCGCAGATATTCGTTCAGATAGGCACGAAAGGTTCCAATATTGGTCATTCGGCGCAGGTTTAATACCG
+ACTCCGTAGAACCTTGCTGGCGATTCCACTCATTAATTTCCTGATGGCGGCTGGTTAAATAAGGCTTTAA
+CAAGTGCGCTTTATTCAGCCGTTGCATTTCGTCTTCATCAAGAAAACGAATACTGGTGACATCAATGCTG
+ATACTGCGTTTAATACGTCGTCCGCCAGATGCTGACATCCCGCTCCAGTTTTTAAAGGAGTCAGAAACCA
+GAGACCAGGTGGGAATAGTGGTAATGGTATTGTCCCAGTTACGCACTTTGACGGTGGTTAACCCAATATC
+GATCACCGCGCCATCCGCGCCGTATTTCGGCATCTCCAGCCAGTCGCCCAGTTTCAGCATATCGTTCGCG
+GAAAGCTGAATACCTGCCACCAGACCAAGAATCGGATCTTTAAATACCAACATTAGCACGGCAGCCATTG
+CACCAAGACCGCTGATCAGAATCGCTGGCGACTGACCAATCAGCAGCGAGATCATCAAAATGCCGACCAG
+AATCGCGCCGATCAGTTTAATCCCCTGAAAAATCCCTTTCAGCGGTAACTGAGATGCCGCCGGGAATTTC
+TGCGCCAGATTCAAAATCACATCCAGCAACGAGAAGACTGAAAGCAGCGCATACATCATGATCCACAACT
+GCGCGCAGGTAGTCAGAATATCTGCCGCTTCGGTGCCTTTTTGTAGCCAGAATACCGCCTGAATATTGAC
+GATAATCCCCTGCAAGGTAAAAGCTAAACGGTGGAAGAGTTTATTCTGGGTAATGATTTGCAACCAAAGC
+CGTGAACTGGCGATGGCGCGTTTTTCGAAGGTCCGCAGTACCACCCAGTGCAAAAAAATATGCACCACGA
+CGGCGGTCAGAAAAATAATACCGAAAATCATCACCATCGAGGTGGTGTGATCGATCTCAATACCCGCTAA
+ATCTTCAACCTGGGATATTAAATCCTGCATAACGTCTCCTTTATACAACAGCAGCCTATGATGACGGCTG
+AAACAGGGTTATGCAAATCAGGAGAATCTGAGGGGAAATAGCCGGGCAGATGCCCGGCAAGGGAGAATTA
+CACTTCGGTTAAGGTAATGTTTTGCGGCAGACGAGATTTCGGCAGCGTAGCGTTAAAATCTTCAACGCTG
+TGATGACCCACCGGAACAACCACCAGACTGGTGTAGCCTTTCTCTTTCAGACCAAATTCTTCATCGAGGA
+TGGCGGCGTCAAAACCTTCGATGGGCACCGCGTCCAGACCCAGCGCCGCCACGCCCAGCAGGAAGTTACC
+GACGTTGAGATAAACCTGTTTTGCCATCCACTCTGCATCATCATGCAGATCTTTACGGTGCATATCGGCG
+AAGAACTTGCGACCTTTATCGTTCGCGGCTTTCGCTTCCGGCGTGGCAAAGCGGCCATCGGCATCTTCCT
+GGTCAACAACCAGCTTTAGCCAGGCATCGTCCATCGCGGTTTTTGCACAGAACACCACGACGTGCGAGGC
+ATCAAGCATTTTACGCTCGTTGAACACGTAATTATCGGCAGCGGATTTGGCAACACGCGCTTTACCTTCT
+TCCGTGCTGGCAACAATAAAATGCCACGGCTGGGAGTTGGTGCTGGATGGGCTGTATTGCAGTAGAGTTT
+TGATCTGCTCGGCCTGTTCCGGGGTAAGTTTTTTGCTGGCATCAAATGCCTTAGTGGAATGACGCTTTAA
+GGCGACAGAAATGATATCCATAAAGACTCCATGTGAAAGTAATTTTGCGTGCCAGCAGATTACAAGGATC
+GAGATGAAATGGTAAGCGAGAAAAATGCGCTATTGATTTACGGTTGAGTCAGGACGCAGTCGTTTTTGAT
+CGCGTTTAGCCAGACCATCAACCACCAGATTCCACGAATCGTTGATCAGATCGCGAAGTAACGCTTCGGA
+GATTTCCTCGCCGGGATACACCGAAATCCAGTGCTTTTTATTCATGTGATACCCTGGCTTGATGCTTGGG
+TATATTTGCTGATTTAGCAGGGATTTTTGTGGATCGGACTTCAGATTGATAAAGGGGACGCCGCGCAGCT
+CCGACGACAGCATAAAAATCTTGCCGCCAATTTTAAAAACATCGAACTCCGGGCCAAAAGGCCAGCAAAG
+CTCGACAAAGGGTAACTCAAGAGCCAGGCGTTTCGCCGTTTCGTGCAGTGATTGCTTATCCATAAATGTT
+CCTTTAGGCGAAGGAGAATAAGCAAAGTATGCCGCGAAGTTCGGCGATAATCGACGTTTAATCCGCCAGC
+GAGAACCAGCGTCGCCAGATAAAGCGTAGAACAAAATACTCAATAGCGCCCAGCACTAAAAACCACAGAC
+AAAACAATACAGTGTAAAGCTGGCTAAGATCCATCAGATGGAACGTGGTCACCAGTTTTTGTGCCAGCGT
+CAGCCCCAGTGCGGGGGCGGGCAGCAGCAGGCAAGAGAGGAAAGCCATCAGCAAAATGCCTGCTGCGGTG
+GTCAAGGTTTCTAAAGGGTGTTTCATAACATTGTTAAATGTAAGTTAAAACACCATTGTCAGGGATATTC
+TTCTGTAAGGCAATTCCCGACTTATTCTCCGGCCCAGATCTCACAATGCTTTTTCACCAGCCCAATTAGC
+GAGCCACCATCGGCGACGAAATCACGCATTAGCTGCGCTTCATTCAGACCACTGACGACCTGACGGTGCA
+GTGCTTCAATTGCGCTCGATGCGCCAATTTTATGTGCAGAAGGGGCGATTTTTTCCAGTAAACGCAAGGT
+GGCTTCCGTTAGTGACCGACGATCGCCAGTATGCGGATCGGTAATGACACCTTCCAGCCCATAGCGACAG
+GCCTGGAAACGGTTGAATTTATACATCAGGTAATCTTTCTCCTGATGTTTAAACGGGCGTTCCGTCAGTA
+ACCAGTGGGCGGTGGCCTGAATTAATCCCGCCATATTTACCGCGTGGCTAAGGGTTAACGGGGTATCCAT
+CACCCGAACTTCCACCGTACCAAAATGGGGGCTGGGGCGAATATCCCAGTGCAGATCTTTAATGCTGTCG
+ATCATCGTGGTGTAACTCAGGCAGCGAAACAGGGCTTCAAATTGTTGCCAGTTACTGACCCACGGCATTG
+GGCCATTATCGGGAAAGGCGGAAAAAATATTCGGTCGTGAGGAGGCAAAACGCGTATCCGTTCCCTGCAT
+ATATGGCGACGCGGCGGAAAGGGCGATAAAGTGCGGCACAAACCGTGACAAGCCGTGCAGCAAATAAATG
+GCGTCATCGCCACTGGCGCAGCCAACATGGACATGCTGACCAAAAACGGTCGCCTGCTGGATGAGATAGC
+CAAAGTTTTCCAGCGTTCGTTGATAGCGTTCGTTATCGCATACCTCCTGACGCTGCCATTTCTGAAACGG
+ATGCGTGCCACCGCCGCAAATTTCCAGATGATGGTCTGCCGCTGCCTGCAATACGACTTTCTGCATCGCT
+GAAAATTGCCCGGCAGCCTGGTTGATATCACGGCAAACATCCGTCGCCAGCTCCAGCATACTTTCGGTTA
+TATCGTGCTTTACCTCTCCGGCCGTGATCTGATTTTTAACCGTGTCAATCAGCATTGATGAGTCCTGGCT
+TAAGTCATAGCCCGGCGGATTAACCACCTGCATTTCCAGTTCAATACCGAGGGTAAAAGGTTCAGAAACA
+TGAAAATCGGGTAATGGCATAGGTTTCTCTTATATTGGCGTTTTCTATTCAGTATAGAAGTGGGAGCGGC
+TGGGTGAGATGCGGAAATTCTGGAATGTTTCTTTTTTTGGTGATGGAGAACTGATTGTGACTGAAGCAAT
+TTGGCTACTTTTGCAATGTGACAAGTTATGGCAGAGCTGGCTGGCGGCGAAGAATTTTGACGATTGAGGC
+ATGCAGAAAAAAACGGGTTCAGCTTCAGTTGATTAAATGAGAAGTCCGAAACAGGACTCACTGTATAAAT
+AAACAGCTATTTTGCTAAGGAAGGGTAAGATAACTGCGGGTGCCTGAAGCTTTCCGGTTTCAGGTTTACT
+CTGAGGTCTGGAAAGATGAAGCCCCAGGAGATATTTCTATTAACCCTGGGGCTACCTACCCAAACCTGAA
+CAATTTGGATGGTAGTCCCTTCTTCGCATGGAGGCAATATAAACATGCTGACGAAATATGCCCTTGTGGC
+AGTCATAGTGCTGTGTTTAACGGTGCTGGGATTTACGCTTCTGGTCGGAGACTCGCTGTGTGAGTTTACC
+GTAAAGGAACGTAATATTGAGTTTAAGGCTGTTCTCGCTTACGAACCGAAGAAGTAGCCGTTGTGCGGGG
+AGCAATCCCCGCATATCCGGTTGTCAGGTCAGGGTGGTAAGGCACCTGCTTTACACTTTCGCCCGCGGTC
+AGTGATGGCTGCGGGCGAATCGTACCAGATGTTGTCAATTAATCGTGTTGGCACAGCGTTATGACTATTT
+TTTCTTTTATCTGCCAGTGCACAGCAAACTGCTCATCCTCTAGTCGAATGATGATCTGCTGTTTATTCCA
+GCTAATTATCTGATAATCCAGAAAACCTTGAGCGGCCTGTATCTCACTTGCCTTAAATGCGCTCTCTTTG
+GCGGAAAATGCCAGTGTCAGCGCCAGAGGAAAGGCTAAACCGCAGTCTGCAAGTCGCTTGTGTTCCGCTG
+GTGTAATAATGTTGTCTGTCAATTCTCTTGCGGTTTGTGCAGAGAAAATCTCTTCAATATCAATGCCAAT
+TGGTTGACGGGAAACCACGGCTAATGCCGTAGTCCCACAGTGACTAATGCTGCCGTATACCCCCGCAGGC
+CACACAGGTTGGCGTAGCTCGCCGATTGCAGGCACACATTTATAGCCATATTCCCGCAGCGCATAAATTG
+CAGCGATCCGCCCGGCTAAATGCTCTGTTTTACGTTTACGTCCAGCGTGTTGAAGTTGTGCGTAGTGCGG
+CAGCCAGAGTAAATCCTGCTCGCGAAAACTCGCCGGATCAAACTCAACAAAATGCAGCGTATGTCCGGCA
+AAGGGGAGGGAGGTATGCGTAGTTTTCATGTCAACCATATTAGAGAATGATGACAAACGCAAAACTGCCT
+GATGCGCTACGCTTATCAGGCCTACGTGGTCCTGCAATATATTGAATTGGCAAGATTTTTGTAGGCCGGA
+TAAGGCGTTCACGCCGCATCCGGCATGAACTACGCGCACTTTGTCAACAATCTGACGTTAGCTTCAGAAG
+TGAGTATTAATGCTCATATACCACGTACGTCCCGGCTCGTTATAGGTATACGCCCCGGCACCTGCGATAT
+AGTTGGCTCCTGCCAGATCGCCCGTGGTCTGGGCATTACCCGCACGCCACAAACGTTTGTCGAACAGGTT
+GTCCACGCCGCCGGTCAGACTGACATTCTTGGTCACATCCCAGGTCGCGCTCAGGCCAACAATGCTGTAC
+GGACTGATTTCTTTGGTTTCCGGTCCAACCGCTGGCTGACCTTTGTAGTTGTACTTCTTCGGCTGCTGCT
+TGCCGTACCAGGTGAAGGTCGTTTGCATCGACAAATCTTCCCGTGCCTGCCAGCTCAGCGTTGAGTTCAA
+CGTATATTCCGGGATGATCGACAAACGGTCGCCCGTGGTTTTGTTTTCACTCTTCAGCATATAAGTGATG
+TTATTGGTCCACATCACCGTTTCGCTAACCGGTACGTTTAACGATCCTTCCAGACCTTCAACCACCGCTT
+TCGGTACGTTATCCCACTGATAGAGATCGGTGCCGACTGCGTTTTGCCCTACAGCCACATAGCCCGCTTC
+AATCTTATTGCGATAATCGTTACGGAACCAGGTCACGCCCGCCAGCCAGCCGTCGCGTTTGAACTCCAGA
+CCAATCTCCTTGTTGATGCTGGTTTCTGCTTTCAGGTCATCATTACCTTGCAGATAGCAGCCGCCCGCGC
+TGGCATAGCAGCCCTGACCTTTACTGTAGAGAATGTAGTTTGGGTTAGTCTGGTACAGACTCGGCGCTTT
+ATAGGCGCGGGCGATGCCCATTTTCAGCGTGAAGTCATCGCCTAAACTTTGCGATATGTTCAGCGCCGGG
+CTCCAGTTATTGCCGACAATACTGTGATGATCGAAACGCAGCCCCGGCGTTACGATGGTGCTGTCAGTCA
+GCTCCATATTGTTTTCGGCAAACAGCGAGAAAATTTCTGCTTTTGAATATGGGCTACGGTCGGTGGCACT
+CACACCATCAATAGCACCGCCGGTATTCGTTCCGGTCAGCGCCTGGGTGTTGGAACTTAAGTCCTTCATC
+CGTTGCTGATTCCACTCTGTACCCAGCGTCAGCGTTTGGTTTACGAGGAAATCAATCGGCAGGTTAACTT
+CGCTGTGCAGCATCACGTCATCAAGATCGATATCTACAAAATCCTGTGCCGCTTTTTCGTTAAATTTCCC
+TTCAGTACCGCCCGCCAGACCTTCCGGAATACGCGAGTTACGGGTGTGTTCGTACTGCACCCAGTTGCTG
+GTGGTCACGCCGTTATCCCAGCCACCGTTCCAGGTCAGCGAGTAGTTCTGGCGATACAGGCGGTTGGTTT
+CATCGCCATATTTCGAGCGAGTGTAAGCGTCAGAGTTGGTGTTCTGCGTATCACCCGCATACAGGTTACC
+CTGGCGGCTGTAGCCCGCTTCCAGTTCGAGTGACTGCAGAGGCGCGAAGTCCCAGCGCACCACGCCATTA
+ATATCTTTGTTGATCACCCCTTCGCGCCCGGCTGGTAACGTCGTGGCATACGTTCCGGCACGCGCGGACT
+GATGGCCCTGGTTGATATCCCACGCGTCAGCCTGGGTTTTGTCGAGGTTGCCATACAAGCGGAAGCTGAA
+TTCGTCGCCCAGCGGACCGGTCAGGCTGAAGTTGGTGCGTTTGGTGGCACCTTCCTCTTTATGTTCTGGC
+GCATTGAAATAAGCATCCCAGGAGCCGTGCCACTCACCACTGCCTTTTTTGGTAATGATGTTAACCACGC
+CGCCCGCCGCGCCGTTGCCATAACGCGCAGCTGCCGGACCACGTAGAACTTCAATACGTTCAATCATTTC
+AGGCGGCACCCAGGAGGTATCACCACGGGTATCGCGCTCGCCACGCCAGCCCTGACGCACAGAGTTACGG
+CTGCTTACCGGCTTGCCGTCAATCAAAATCAGCGTGTTTTCCGGACCCATGCCGCGAATATCAATCTGGC
+GGTTATTACCACGCTGACCACTGGTGGAGTTACCGGTCAGGTTAACGCCAGGCATGGTACGAATGATCTC
+CGATACATCGCGGGCAACCGGGTTTTTGCGGATTTCATCTGCGGTAATGGTCGAAACGCCGGGAGCCTGC
+AAGTTTTGCTCGGCAGCGGTGACCACGATGGTATCGTCATGTGAAACGGCATTATCGCTTGTTTCTTCTG
+CCAGTACTGGCAGAGCTACCCCATAAATCCCCAGATTGACCAGCAAGGCCAGGGAATGAATCTTCTTGTT
+CATTGTTTTTTCCTGCATTTTTGCCACGAATTGCAACTGTCGGGCATGGTCGCCATCAACACGACGCATC
+CCGCTACCGCGAAAACCTTTGATCCTGAAAGACACGCAGTGCAGCTGATTAATTAATGTCCGCGCTTCCC
+ACGGCGCGCCATTACGCTATTGCAAATGCAAATAGTTATCAATAATATTATCAATATATTTCTGCAATCA
+ATAAAAAATTGCACAGTAAACATGGGGTTATGGTGTGACGGCGTTAAAAGTAGGAAGTGAGAGCTGGTGG
+CAGTCGAAACATGGCCCGGAATGGCAACGTCTGAATGACGAAATGTTTGAGGTCACTTTCTGGTGGCGTG
+ATCCCCAGGGTTCTGAAGAATACTCGACGATAAAGCGCGTATGGGTCTATATCACTGGCGTGACCGATCA
+CCATCAGAACAGCCAGCCCCGGTCGATGCAGCGAATTGCAGGAACCGATGTTTGGCAGTGGACGACACAA
+CTCAATGCCAACTGGCGTGGCAGCTACTGCTTTATTCCTACTGAACGCGATGACATTTTTTCTGCACCAT
+CCCCCGATCGCCTCGAATTACGCGAAGGCTGGCGAAAACTATTACCCCAGGCGATAGCCGATCCGCTGAA
+TCCACAAAGCTGGAAAGGCGGGCGAGGGCACGCTGTTTCTGCACTCGAAATGCCGCAAGCGTCTCTGCAA
+CCGGGATGGGATTGTCCGCAAGCGCCAGAAACGCCTGCCAAAGAAATTATCTGGAAAAGTGAACGGTTGA
+AAAATTCACGCCGTGTATGGATTTTTACCACCGGCGATGCAACAGCAGAAGAACGCCCGCTGGCAGTTTT
+GCTTGATGGCGAATTTTGGGCGCAGAGTATGCCCGTCTGGCCTGCGCTGACTTCGCTGACCCATCGTCGG
+CAACTTCCGCCCGCCGTGTATGTGTTGATCGACGCTATCGACACCACGCACCGCGCCCACGAGCTGCCGT
+GTAATGCGGATTTCTGGCTGGCAGTACAGCAAGAGTTATTACCCCAGGTGAAAGCTATTGCCCCTTTTAG
+CGATCGCGCCGATCGCACCGTGGTCGCCGGACAGAGTTTTGGTGGGCTTTCCGCGCTGTATGCCGGACTG
+CACTGGCCTGAACGCTTTGGCTGTGTATTAAGCCAGTCAGGTTCGTACTGGTGGCCGCATCGGGGCGGGC
+ACCAAGAGGGCATGTTACTTGAACAGCTAAAAACTGGTGAAGTTAGCGCCGAAGGTCTGCGCATTGTGCT
+GGAAGCGGGTGTTCGCGAGCCGATGATCATGCAGGCCAATCAGGCGCTGTATGCGCAATTACACCCCCTA
+AAAGAATCCATTTTCTGGCGTCAGGTTGACGGCGGACATGATGCGCTTTGTTGGCGCGGTGGCTTGATGC
+AGGGGCTAATCGACCTCTGGCAACCACTTTTCCATGACAGGAGTTGAATATGGCATTCAGTAATCCCTTC
+GATGATCCACAGGGAGCGTTTTACATTTTGCGCAATGCGCAGGGGCAATTCAGTCTGTGGCCGCAACAAT
+GCGCCTTACCGGCAGGCTGGGACGTTGTGTGTCAGCCGCAGTCACAGGCGTCCTGCCAGCAGTGGCTGGA
+AGCCCACTGGCGTACTCTGACACCGGCGAATTTCACCCAGTTGCAGGAGGCACAATGAGCCAGCATTTAC
+CTTTGGTCGCCGCACAGCCCGGCATCTGGATGGCAGAAAAACTGTCGGATTTACCCTCCGCCTGGAGCGT
+GGCGCATTACGTTGAGTTAACCGGAGAGGTTGATGCGCCACTACTGGCCCGCGCGGTGGTTGCCGGACTA
+GCGCAAGCAGATACGTTGCGGATGCGTTTTACGGAAGATAACGGCGAAGTCTGGCAGTGGGTCGATGATG
+CGCAGACGTTCGAACTGCCAGAAATTATCGACCTGCGAACCAACATTGATCCGCACGGTACTGCGCGGGC
+ATTAATGCAGGCGGATTTGCAACAAGATCTGCGCGTCGATAGTGGTAAACCACTGGTCTTTCATCAACTG
+ATACAGGTGGCGGATAACCGCTGGTACTGGTATCAGCGTTATCACCATTTGCTGGTCGATGGCTTCAGTT
+TCCCGGCCATTACACGCCAGATCGCCAACATTTACTGCGCATTGCTGCGTGGCGAACCAACGCCTGCTTC
+GCCGTTTACGCCTTTCGCTGATGTAGTGGAAGAGTATCAGCAGTACCGCGAAAGTGAAGCCTGGCAGCGT
+GATGCGGCATTCTGGGCGGAACAGCGTCGTCAACTACCACCGCCCGCGTCACTTTCTCCGGCACCTTTAC
+CGGGGCGCAGCGCTTCGGCAGATATTTTGCGCCTGAAACTGGAATTTACCAACGGGGAATTCCGCCAGCT
+GGCTACGCAACTTTCAGGTGTGCAGCGTACCGATTTAGCCCTTGCGTTGGCAGCCTTGTGGCTGGGGCGA
+TTGTGCAACCGCATGGACTACGCTGCCGGATTTATCTTTATGCGTCGATTGGGCTCGGCGGCGCTGACGG
+CTACCGGACCCGTGCTCAACGTTTTGCCATTAGGTATTCACATTGCGGCGCAAGAAACGCTACCAGAACT
+GGCAACCCGACTGGCGGCTCAACTGAAAAAAATGCGTCGCCATCAACGTTACGATGCCGAACAAATTGTC
+CGTGACAGCGGGCGAGCGGCAGGAGAGGAACCGCTGTTCGGTCCGGTACTCAATATCAAGGTATTTGATT
+ACCAACTGGATATTCCTGGTGTTCAGGCGCAAACCCATACCCTGGCAACCGGTCCGGTTAATGACCTTGA
+ACTGGCCCTGTTCCCGGATGAACACGGTGATTTGAGTATTGAGATCCTCGCCAATAAACAGCGTTACGAT
+GAGCCAACGTTAATTCAACACGCTGAACGCCTGAAAATGCTGATTGCGCAGTTCGCTGCGGCTCCGTCGC
+TGTTGTGCGGCGATGTCGATATTATGCTGCCAGGTGAGTATGCGCAGCTGGCGCAGATCAACGCCACTCA
+GGTTGAGATTCCAGAAACCACGCTGAGCGCGCTGGTGGCAGAACAAGCGGCAAAAACACCGGATGCTCCG
+GCGCTGGCAGATGCGCGTTACCAGTTCAGCTATCGGGAAATGCGCGAGCAGGTGGTGGCGCTGGCGAATC
+TGCTGCGTGAGCGCGGCGTTAAACCGGGCGACAGCGTGGCGGTGGCTCTACCGCGCTCGGTCTTTTTGAC
+CCTGGCGCTACATGCGATAGTTGAAGCTGGTGCGGCCTGGCTACCGTTGGATACCGGCTATCCGGACGAT
+CGCCTGAAAATGATGCTGGAAGATGCGCGTCCGTCGCTGTTAATCACCACTGACGATCAACTGCCGCGCT
+TTAGCGATATCCCTAATTTAACCAGCCTTTGCTATAACGCCCCGCTTACCCCACAGGGCAGTGCGCCGCT
+GCAGCTTTCACAACCGCACCACACGGCTTATATCATCTTCACCTCCGGTTCCACCGGCAGACCAAAAGGG
+GTAATGGTCGGGCAGACGGCTATCGTTAATCGCCTGCTTTGGATGCAAAACCACTACCCGCTTACAGGCG
+AAGATGTTGTTGCCCAAAAAACGCCGTGCAGTTTTGATGTCTCGGTGTGGGAGTTTTTCTGGCCGTTTAT
+TGCCGGGGCGAAACTGGTGATGGCTGAACCGGAAGCGCACCGCGACCCGCTCGCTATGCAGCATTTTTTT
+GCTGATTATGGCGTAACGACCACGCACTTTGTGCCGTCGATGCTGGCGGCATTTGTTGCATCGCTGACGC
+CGCAAACCGCTCGCCAGAGTTGCGCGACGTTGAAACAGGTTTTCTGTAGTGGTGAAGCCTTACCGGCTGA
+TTTATGCCGCGAATGGCAACAGTTAACCGGCGCGCCGTTGCATAATCTATATGGCCCGACGGAAGCGGCG
+GTAGATGTCAGTTGGTATCCGGCTTTTGGCGAGGAACTGGCAGAGGTGCGCGGCAGCAGTGTGCCGATTG
+GTTATCCGGTGTGGAATACGGGCCTGCGCATTCTCGATGCGATGATGCATCCGGTGCCGCCGGGTGTGGC
+GGGAGATCTCTATCTCACCGGTATTCAACTGGCGCAGGGGTATCTTGGACGACCCGATCTGACCGCCAGC
+CGCTTTATTGCCGATCCTTTTGCCCCAGGTGAACGGATGTACCGTACCGGCGATGTGGCTCGCTGGCTGG
+ATAACGGCGCAGTGGAGTACCTCGGGCGCAGTGACGATCAGCTAAAAATTCGCGGGCAGCGTATCGAACT
+GGGCGAAATTGATCGCGTGATGCAGGCGCTGCCGGATGTCGAACAAGCCGTTACCCACGCCTGTGTGATT
+AACCAGGCGGCAGCCACTGGTGGTGATGCGCGTCAGTTGGTGGGCTATCTGGTGTCGCAATCAGGTCTGC
+CGTTGGATACCAGCGCATTACAGGCGCAGCTTCGTGAAACATTGCCACCACATATGGTACCGGTGGTTCT
+GCTGCAACTTCCACAGTTACCACTTAGCGCCAACGGCAAGCTGGATCGCAAAGCCTTACCGTTGCCTGAA
+CTGAAGGCACAAGCGCCTGGGCGTGCGCCGAAAGCGGGCAGTGAAACGATTATCGCCGCGGCATTCTCGT
+CGTTGCTGGGTTGTGACGTGCAGGATGCCGATGCTGATTTCTTTGCGCTTGGCGGTCATTCGCTACTGGC
+AATGAAACTGGCAGCGCAGTTAAGTCGACAGTTTGCTCGTCAGGTGACGCCGGGGCAGGTGATGGTCGCG
+TCAACTGTCGCCAAACTGGCAACGATTATTGATGGTGAAGAAGACAGCACCCAGCGCATGGGATTCGAAA
+CCATTCTGCCGTTGCGTGAAGGTAATGGTCCGACGCTGTTTTGTTTCCATCCGGCATCCGGTTTTGCCTG
+GCAGTTCAGCGTGCTCTCGCGTTATCTCGATCCACAATGGTCGATTATCGGCATTCAGTCGCCGCGCCCT
+CATGGCCCCATGCAGACGTCAGCAAATCTGGATGAAGTCTGCGAAGCGCATCTGGCAACGTTACTTGAAC
+AACAACCGCACGGCCCATATTACCTGCTGGGTTATTCGCTGGGCGGTACGCTGGCGCAGGGCATTGCGGC
+GCGACTGCGTGCCCGTGGCGAACAGGTGGCATTTCTTGGCTTGCTGGATACCTGGCCGCCAGAAACGCAA
+AACTGGCAGGAAAAAGAAGCCAATGGTCTGGACCCGGAAGTGCTGGCGGAGATTAACCGCGAGCGCGAAG
+CCTTCCTGGCGGCACAGCAGGGAAGTACTTCAACGGAGTTGTTTACCACCATTGAAGGCAACTACGCTGA
+TGCTGTGCGCCTGCTGACGACAGCTCATAGCGTACCGTTTGATGGTAAAGCGACGCTATTTGTTGCCGAA
+CGCACGCTTCAGGAAGGTATGACTCCTGAACAGGCCTGGGCACCGTGGATTGCTGGGCTGGATATCTATC
+GTCAGGATTGTGCGCATGTGGATATTATCTCTCCGGTGGCGTTTGAAAAAATTGGGCCGATTATTCGTGC
+GACGCTAAATAAGTAAATTTATATTATCTATAAACCCATAATTACAGAAAATAATTATGGGTTTATCATT
+TGTTTAATTTATAAGTTTGGTGGGTATTTCTCTGAAATAGAGTGAATGTTGCATTCAGTGGGAGTAATTT
+ACAAACTTCAGCTTCGGATAAATCTCACCAACTGGTAGAGTGGGGGCCGTGGAGATTTACTCTTATTGGA
+CTCATTTTCAGGTTATACCCCATGTCATCACTGAATATTAAACAGGGAAGTGAAGCTCATTTTCCCGAGT
+ATCCTCTGGCGTCGCCCAGTAATAATGAAATTGATTTACTTAGTCTAATTGAAGTTTTATGGCGGGCCAA
+AAAAACGGTCATGGCGGTCGTTTTTGCGTTTGCCTGCGCAGGGTTACTGATCTCTTTCATCCTGCCGCAA
+AAATGGACCAGCTCAGCCGTCATTACTCCCGCCGAAGCCATTCAGTGGCAGGACCTGGAGAAAACCTTTA
+CCAAACTCCGCGTTCTTGATCTCGATATTAATATCGACCGTGGCGGTGCATTTAACCTGTTTATCAAGAA
+GTTTCAGTCTGTTAGCTTACTAGAAGAGTACCTGCGCTCATCACCTTATGTGATGGACCAATTAAAAGAG
+GCGAAAATCGACGAACTGGATTTGCATCGAGCTATCGTCGCATTGAGCGAAAAAATGAAAGCGGTTGATG
+ACAATGCCAGTAAGAAAAAAGATGAACCGTCACTGTATACCTCCTGGACGCTAAGTTTTACCGCGCCCAC
+CAGTGAAGAGGCACAGAAAGTGTTGGCCGGGTATATCGATTATATCTCTGCGTTGGTGGTGAAAGAGTCG
+ATAGAAAACGTCCGTAATAAACTGGAGATCAAAACCCAGTTTGAAAAAGCAAAACTGGCTCAGGATCGCA
+TTAAAACGAAAAATCAACTTGATGCAAACATTCAGCGCCTCAATTATTCACTCGACATTGCCAACGCGGC
+AGGAATTAAAAAGCCCGTATACAGTAATGGTCAGGCCGTTAAAGATGACCCCGATTTCTCTATTTCTCTC
+GGTGCTGACGGTATTGAACGCAAACTGGAAATTGAAAAAGCGGTTACTGACGTTGCGGAACTGAACGGCG
+AATTACGTAATCGCCAGTATCTTGTTGAGCAGTTAACAAAAGCAAATATCAACGATGTGAATTTTACGCC
+GTTTAAATATCAGTTAAGACCGTCATTGCCAGTAAAAAAAGACGGTCCGGGTAAGTCGATTATTGTGATC
+CTTTCCGCGTTGATCGGCGGGATGGTGGCTTGTGGTGGTGTGCTGTTGCGCCATGCGATGGCATCCAGAA
+AACAGGATGCCATGATGGCAGACCACTTAGTTTAAATCTTTGCGGTTGAAGGTGCCGTTCGTCCGAGCGG
+CACCACGAGCGGCGTTCCGGCAACCGGATCGTCAATAATCATGCAGCGCAGACCATAAATGCGCTCGATC
+AGTTCAGCAGTGACAATCTCCTTCGGTGCTCCCTGAGCAACAATTTTCCCTTCCCGCAATGCAATCAAAT
+GGCTGGCGTAACGACAGGCCTGATTAAGATCGTGCAGCACCGCCGCCAGGGTATAGCCTTTCTCGCGGTT
+CAGTTCGCTTAACAGTTCCAGCAAATCAATCTGATGACTGATATCCAGCCAGGTCGTGGGTTCATCGAGC
+AGCATAATTGCCGTTTCCTGGGCCAGCACCATCGCGATCCACGCTCGCTGGCGTTGTCCGCCAGAAAGGG
+TGTCCACGCTTTGATCCGCCAGATGAGTTATTCCCGTGGCCTGCATCGCTTTTGTTACCGCGTCTTCATC
+TTCTTTGCGCCAGCGGGTAAACAGCGGTTGATGCGGGTAACGCCCACGCGCCACCAGCTCCTGCACGGTG
+ATATCGCCCGGTGTGGTAGCATTTTGCGCCAACAGACCAATCCGGCGTGCAACCTCTTTACTGGCGTAAT
+GTTGAATGTGCTCGCCATCCAGCCAGACATGCCCGTGAGCAGGCGTCATCAGGCGGCTTAAGGTACGCAG
+TAACGTGGATTTACCGCAGCCATTTGGCCCGATAATTGCCGTGAAGTGACCATCAGGTATTTCTACAGTC
+AGATTTTCCGCAACGGTATATTTGCCATATCCGAGGGTTAACTGTTCGCCGCGCAAACGGGCTACTGATT
+CGGTCATTTTTTGCGAGACTCCTGAATTAACAAGACGATAAGGTAAATACCGCCGAGGCTGACGGTAACG
+ACGCCAACCGGAAGTTGATACGGCATAAACAGTTGTTGGGCGCAGAGATCGGCCACCAGCAGTAACAGCG
+CCCCGCACAGCGCCGCCTGGGTTAGCCCCCAGCGAGCGGTGCCACTGATGCGGCGGGCAATGTGCGGCGC
+GACTAAAGCAATAAAGGAAATTGGCCCCGCCAGGGCAGTGGCAGCTGCGGTAAGCACTACGGCGACCAGC
+ATCATTAACAGCCGCGAACGTTCGACGCTGACGCCCAGCGCACATGCGGTATCATCGCCCATTTCCAGCA
+AGCGCATTCGCCGCACCAGCAAGGCGGCGGCAATTAACATTAATATAATGATGGGTGCGGAAGGCGAGGT
+TTTTGCCCACGTCAGGCCATTGAGCGATCCGGCATTCCACAAACCCGCTGTTAGCGCCGTTTCTAAAGAC
+GCTTTCAGCAACAGCCAGGTATTAAAGGCCACCAGCATGGCGCGAACACCAATACCGATAATAATCAACC
+GAAAGGTGTCGATACCGTTACGCCAGGCGAGCAGCCAGACCAGCAGCGAAGTGACAATGCCGCCCACCAT
+TGCTGCCAGCGCGATAGCCGTCAGGTCCTGACCAAACAGCACCATCGCCACCAGCACGCCGCTCCACGCC
+CCGGTGTTAAAGCCCATTACGTCAGGGCTGCCAAGCGGGTTACGCATCAGCGACTGAAAAATCGCGCCGC
+TGACGCCCAGCGCCGCGCCAATCAACAGCGCCATCAGCACGCGTGGTAAACGCCATTCGGTGACCACCAT
+CGTCATACTGCGCGGCGTGTCGCCCATCAACGCGGCGAATACCTGCGAAGTTTCCAGCGTGACGGCACCG
+CTACGTAATCCCCACACGCCTGCCATCACACAAGCTATTAGCAGCAGCAGACAGGTGATAATTAATCGGC
+GAGAGACGTAAATCATGCGCCACCTCGCGTTTTACGTCGTACGAGGAAGATCAGCACTGGTGCACCAATA
+AAGGCACTGACTACAGAAACGCGCAGTTCGCCGGGAACAATCACCCGCCCAATGATATCGGCAAACAGCA
+GCAGGGCAGGGGTAGTGAGTAGCGTGACGGGCAGCGACCAGCGATGATCGGCACCTACCAGCCAGCGCGC
+CATGTGCGGCATCATCAGGCCAATAAAGGCAATCGGGCCAACTACCGCCGTCGCACTACCACAAAGCACG
+GTAATTGCCAGCAGACCAATCAACTGTGTGCGCGCTACGCGACTGCCCAGCGCCGTCGCGGTGTCACTGC
+CAAGGCTTAAACTGTTCAGCGCGCGGCTCAGTAATAGCGCAGTTGCTCCAGCGGTAAGCACCGGGATCAG
+CACCACTTTTAAGGTATGTAGATTGCGAATATCCAGCGAACCGGCTTGCCAGAAACGCAGTTGATCGTAG
+ACGTCGGGATTAAGCAGGGCGATGCCGCTGGTCAGCCCTTCCAGCACCGCCGCCAGCGCCACGCCCGCCA
+GGGTTAAACGCACCGGACTTAACTGCCCGCCGCCCTGGCTGCCGGTAAAGGCAACAATCAACGAGGCCAC
+CAGCGCCCCGGCGAAGGCCATCGCCAGTTGCTCCTGCGCGGAAGAGTAACCAAACAGCGCCGCGCCCAGC
+ACAATGGCAAAACTGGCACCGGCGTTCACGCCAAGCAAACCAGGATCGGCAAGTGGGTTTCGGGTGAGGG
+TTTGCATTAACGCCCCGGCAAGGCCAAGCGCACCGCCTGCCAGTAAACCGGCAAGGGTGCGCGGCAGACG
+GGCGTCGAGCACAATGGTGCAGTCGGCGCTCTGGCAGGTGCCGGAGAGCGCCTCCAGCACTACGGAAGCG
+GGGAGTGATTTTGCTCCAATGAGCAGGCTTAATGCCGTCGCGATAATCAGTAATAACAGCAATCCGGGCA
+CGGCAATGGCGCGTGTCACGGCAACAGAACCAGACATACGAACTTCCATGATAATGAAATTAATTATCGT
+TATCGATCTTATTTGGATATGTTAGCATGTGCAGCCTAAGAATAGGTATTTAAAATATTTGATGGCAAGG
+CATTGTAATGAATAAACAATCCTGGCTGCTTAACCTCAGCCTGTTGAAAACGCACCCGGCGTTTCGCGCA
+GTATTCCTCGCTCGTTTTATCTCAATTGTTTCTCTGGGTTTGCTCGGCGTCGCGGTGCCGGTGCAGATCC
+AGATGATGACGCATTCCACCTGGCAGGTGGGGCTTTCGGTGACGCTGACCGGCGGCGCGATGTTTGTTGG
+CCTGATGGTCGGCGGTGTGCTGGCGGATCGCTATGAGCGTAAAAAAGTGATTTTGCTGGCGCGCGGCACC
+TGTGGCATTGGCTTCATTGGACTGTGCCTGAATGCGCTGCTGCCGGAGCCGTCTTTGCTGGCAATCTATT
+TACTTGGTTTATGGGATGGTTTTTTCGCATCACTTGGCGTTACGGCGCTACTGGCGGCGACACCTGCACT
+GGTAGGGCGTGAAAACCTAATGCAGGCCGGGGCGATCACCATGTTGACCGTGCGTCTGGGGTCGGTGATT
+TCGCCCATGATTGGTGGTTTATTGCTGGCGACCGGAGGCGTAGCCTGGAACTACGGGCTGGCGGCGGCGG
+GCACGTTTATTACCTTGCTACCGTTGTTAAGCCTTCCGGCGTTGCCACCACCGCCGCAGCCGCGTGAGCA
+TCCGTTGAAATCATTACTGGCAGGATTTCGTTTTCTACTCGCCAGCCCGCTGGTGGGAGGGATTGCGTTG
+CTGGGGGGTTTATTGACGATGGCGAGCGCGGTGCGGGTACTGTATCCGGCGCTGGCTGACAACTGGCAGA
+TGTCGGCGGCGCAAATTGGCTTTCTCTATGCGGCAATCCCGCTCGGTGCGGCTATTGGCGCGTTAACCAG
+TGGAAAACTGGCGCATAGCGTACGGCCAGGTCTGTTGATGTTGCTCTCCACATTGGGGGCGTTCCTCGCC
+ATTGGTCTGTTTGGCCTGATGCCGATGTGGATTTTAGGCGTGGTTTGTCTGGCGCTGTTCGGCTGGCTGA
+GCGCGGTTAGTTCGTTGCTGCAATATACAATGCTGCAAACGCAAACCCCGGAAGCGATGTTAGGGCGGAT
+TAACGGTTTGTGGACGGCGCAAAACGTGACGGGCGATGCCATAGGCGCGGCGCTGCTGGGCGGTTTGGGA
+GCGATGATGACACCGGTTGCTTCCGCAAGCGCGAGCGGTTTTGGTTTGTTGATTATCGGCGTGTTGTTGC
+TGCTGGTACTAGTGGAGTTGCGACGTTTTCGCCAGACGCCGCCGCAGGTGACAGCGTCCGGCAGTTAATG
+CTTAAAACAGCGCCTTAAGTCTATCCAGCACTTGCATGGCGCTGTAGTAATCCAGGCGGAACGTCTCGGT
+TCCCAGCGCATAAACCTGCTTGTTTTGTACTGCAGGCAGGTGCGCGAGCAGCGGATTAGCATAAATAGCA
+TCGGCGTCTTTCTGATCACCGGCGAACAGGAATAGTGACTCGCCATTTAACCCTGCAGCCAGATTCTCTC
+CACCAAGCTGAATGATGTCATGGCGTTTGCCCTGGCTTTGGCTGGCGTTTAAGCCTGCGGGCAACTTCGC
+CAGCGTAAAGCCGAGTTGTTCCAGCATCTGCCCTTGTGCTGATTCCGGCGTCCAGAGATTGGCACTGTGT
+GCAGCGGCGGTATAGACGATGGCAGTGACCGGCTGCGGCGGTAATTTGATTTGCTCTTTCGCCGCCGCCA
+GTTGCTTATCAAACTGTGCAATCCGCTCTGCCGCTTGTTTCTCATGCCCGGTAATTTCGCCAAGCTGCGT
+TAACAGCGACTGCCAGCTTTTGTCGTCGTAATTGATGATTAATGTTGGGGCGATGGTAGAAAGCTGATCG
+TACAGCGCCAGCGCCGAATCGCCGCCGGTTGCGCTAATTAAAATCAGATCCGGCATTTGCGTGGCAACGG
+CTTCTGCACTCGGTTCGCCGATATAGAGCCGTTGCAGTTTGCGTTCTTTCGCCACCTTGCTCCACTGGCG
+TAAAAAGCCCTGGTCATCCGCTACGCGGTTATTTGGCGTGGTCGCGCCGCTGGCGATCACCGGAGCATCA
+ATCGCCAGCAGTGAGCCGGTCAGGGTGACGCTGGTGGAAACAATACGCTGCGGCTGGCTTTCCAGGGTAT
+GAGTGCCACGGCTGTCAGTAATCTGACGCGGCCAGTCGGCGGCCTGAACTGCTGCTATTCCTGAAAGCAA
+AAGTCCTGTTAATAGAAGGGCGTTGCGGTAGAGCGGGGCGAGTCTCACAAGTCAGCTTCCTGTTATTAAT
+GAAGTTAATGCTTCTCATTTTCATTGTAACCACAACCAGATGCAACCCCGAGTTGCAGATTGCGTTACCT
+CAAGAGTTGACATAGTGCGCGTTTGCTTTTAGGTTAGCGACCGAAAATATAAATGATAATCATTATTAAA
+GCCTTTATCATTTTGTGGAGGATGATATGGATACGTCACTGGCTGAGGAAGTACAGCAGACCATGGCAAC
+ACTTGCGCCCAATCGCTTTTTCTTTATGTCGCCGTACCGCAGTTTTACGACGTCAGGATGTTTCGCCCGC
+TTCGATGAACCGGCTGTGAACGGGGATTCGCCCGACAGTCCCTTCCAGCAAAAACTCGCCGCGTTGTTTG
+CCGATGCCAAAGCGCAGGGCATCAAAAATCCGGTGATGGTCGGGGCGATTCCCTTCGATCCACGTCAGCC
+TTCGTCGCTGTATATACCTGAATCCTGGCAGTCGTTCTCCCGTCAGGAAAAACAAGCTTCCGCACGCCGT
+TTCACTCGCAGTCAGTCGCTGAACGTGGTGGAACGTCAGGCAATTCCGGAACAAACCACGTTTGAACAGA
+TGGTTGCCCGTGCTGCCGCACTTACCGCCACGCCGCAGGTCGACAAAGTGGTGTTGTCACGGTTGATTGA
+TATCACTACTGACGCCGCCATTGATAGTGGCGTATTGCTGGAACGGTTGATTGCGCAAAACCCGGTTAGT
+TACAACTTCCATGTTCCGTTGGCTGATGGTGGCGTTCTGCTGGGGGCCAGCCCGGAACTGCTGCTACGTA
+AAGACGGCGAGCGTTTTAGCTCCATTCCGTTAGCCGGTTCCGCGCGTCGTCAGCCGGATGAAGTGCTCGA
+TCGCGAAGCGGGTAATCGTCTGCTGGCGTCAGAAAAAGATCGCCATGAACATGAACTGGTGACTCAGGCG
+ATGAAAGAGGTACTGCGCAAACGCAGTAGTGAGTTACACGTTCCCTCCTCTCCACAATTGATTACCACGC
+CGACGCTGTGGCATCTCGCAACTCCCTTTGAAGGTAAAGCGAATTCGCAAGAAAACGCACTGACTTTGGC
+TTGTCTGCTGCATCCGACCCCCGCGCTGAGCGGTTTCCCGCATCAGGCCGCGACTCAGGTTATTGCTGAA
+CTGGAGCCGTTCGACCGCGAACTGTTTGGCGGCATTGTGGGTTGGTGTGACAGCGAAGGTAACGGTGAAT
+GGGTGGTGACCATCCGCTGCGCGAAGCTGCGGGAAAATCAGGTGCGTCTGTTTGCCGGAGCGGGGATTGT
+GCCTGCGTCCTCACCGTTGGGTGAGTGGCGCGAAACAGGCGTCAAACTTTCTACCATGTTGAACGTTTTT
+GGATTGCATTAAGGAGCGAGGATGAGCATTCCATTCACCCGCTGGCCGGAAGAGTTTGCCCGTCGCTATC
+GGGAAAAAGGCTACTGGCAGGATTTGCCACTGACCGACATTCTGACTCGCCACGCTACGAGTGACAGCAT
+CGCGGTTATCGACGGCGAGCGGCAGTTGAGTTACCGGGAGCTGAATCAGGCGGCGGATAACCTCGCCTGT
+AGTTTGCGCCGTCAGGGCATTAAACCTGGTGAAACCGCGCTGGTACAACTGGGTAACGTCGCTGAACTTT
+ACATTACCTTTTTCGCGCTGCTGAAACTGGGCGTTGCGCCGGTGCTGGCGCTGTTCAGCCATCAGCGTAG
+TGAACTGAACGCCTATGCCAGCCAGATTGAACCGGCGTTACTGATTGCCGATCGCCAACATGCGCTATTT
+AGCGGGGATGATTTCCTCAACACATTTGTTGCAGAGCATTCTTCCATTCGCGTGGTGCAGCTGCTCAACG
+ACAGCGGCGAGCATAACTTGCAGGATGCGATTAACCATCCGGCTGAGGATTTTACTGCCACGCCGTCACC
+TGCCGATGAAGTGGCCTATTTTCAGCTTTCCGGCGGCACCACCGGCACACCGAAACTCATCCCACGCACT
+CACAATGACTATTACTACAGCGTGCGTCGTAGCGTCGAGATTTGTCAGTTCACACAACAGACGCGCTACC
+TGTGCGCGATCCCGGCGGCTCATAACTACGCCATGAGTTCACCGGGATCGTTGGGGGTATTTCTCGCTGG
+CGGCACTGTCGTTCTGGCTGCCGACCCCAGCGCCACGCTTTGCTTCCCATTGATTGAAAAACATCAGGTG
+AACGCCACCGCGCTGGTGCCGCCAGCAGTCAGCCTGTGGTTGCAGACACTGGCTGAAGGCGAAAGCCGGG
+CGCAGCTTGCCTCGCTGAAACTGTTGCAGGTCGGCGGCGCACGTCTTTCTGCCACGCTTGCGGCGCGTAT
+TCCCGCTGAGATTGGCTGCCAGTTGCAGCAGGTGTTTGGCATGGCGGAAGGGCTGGTGAACTACACCCGA
+CTTGATGATAGCGCGGAGAAAATTATCCATACCCAGGGTTACCCAATGTGCCCGGACGATGAAGTATGGG
+TTGCCGATGCCGAAGGAAATCCACTGCCGCAACGGGAAGTTGGACGCCTGATGACGCGCGGGCCGTACAC
+CTTCCGTGGCTATTACAAAAGCCCGCAGCACAATGCCAGCGCCTTTGATGCCAACGGTTTTTACTGTTCC
+GGCGATCTGATCTCTATTGATCCAGAGGGTTACATCACTGTGCAGGGGCGCGAGAAAGATCAGATCAACC
+GTGGCGGCGAGAAGATCGCTGCCGAAGAGATCGAAAACCTGCTGCTGCGCCATCCGGCGGTGATCTACGC
+CGCACTGGTGAGCATGGAAGATGAGCTGATGGGCGAAAAAAGCTGTGCTTATCTGGTGGTAAAAGAGCCG
+CTGCGCGCGGTGCAGGTGCGTCGTTTCCTGCGTGAACAGGGGATTGCCGAATTTAAATTACCGGATCGCG
+TGGAGTGTGTAGATTCACTTCCGCTGACGGCGGTCGGGAAAGTCGATAAAAAACAATTACGTCAGTGGCT
+GGCGTCACGCACATCAGCCTGAAGGAGAGAACACGATGGCTATTCCAAGATTACAGGCTTACGCACTGCC
+GGAGTCCCACGATATTCCGCACAATAAAGTCGACTGGGCCTTTGAACCGCAACGTGCCGCGTTGTTAATC
+CATGATATGCAGGACTATTTTGTCAGCTTCTGGGGTGAGAACTGCCCGATGATGGAGCAGGTGATCGCGA
+ATATTGCGGCACTACGCGACTACTGCAAACAGCACAATATCCCGGTTTATTACACCGCCCAGCCGAAAGA
+GCAGAGCGATGAAGATCGGGCGCTGTTGAATGATATGTGGGGGCCTGGCCTGACCCGTTCGCCGGAACAG
+CAAAAGGTGGTGGATCGCCTGACGCCAGATGCCGACGACACGGTGCTGGTGAAGTGGCGCTACAGCGCGT
+TTCATCGTTCCCCGCTGGAGCAAATGCTCAAAGAGAGTGGACGTAACCAGCTGATTATTACCGGGGTATA
+TGCCCACATTGGCTGTATGACCACCGCAACGGACGCATTTATGCGCGATATTAAACCGTTTATGGTGGCG
+GATGCGCTGGCCGATTTCAGCCGTGACGAGCATTTGATGTCGCTGAAATATGTGGCCGGACGTTCTGGTC
+GGGTGGTGATGACCGAAGAATTGCTGCCAGCACCTATCCCCGCCAGCAAAGCGGCGCTGCGTGAGGTGAT
+CCTGCCGTTGCTGGACGAGTCCGATGAACCCTTCGATGACGACAACCTGATCGACTACGGTCTGGATTCG
+GTGCGCATGATGGCGCTGGCGGCGCGCTGGCGCAAAGTGTATGGCGATATCGACTTTGTCATGCTGGCGA
+AAAACCCGACCATCGACGCCTGGTGGAAGCTACTCTCCCGCGAGGTGAAATAATGGATTTCAGCGGTAAA
+AATGTCTGGGTAACTGGCGCGGGGAAAGGTATCGGCTATGCCACGGCGCTGGCATTTGTTGAGGCGGGGG
+CGAAAGTTACAGGTTTTGATCAAGCGTTTACTCAGGAGCAATATCCTTTTGCGACCGAAGTAATGGATGT
+TGCCGATGCTGCGCAGGTGGCGCAGGTATGTCAGCGACTGTTAGCTGAAACGGAGCGACTGGACGTGCTG
+GTCAATGCGGCGGGAATTTTGCGCATGGGCGCGACCGATCAGCTCAGTAAAGAGGACTGGCAGCAGACTT
+TTGCGGTCAACGTCGGCGGTGCATTTAACCTGTTTCAGCAGACCATGAACCAGTTTCGCCGTCAGCGGGG
+CGGGGCGATTGTTACTGTTGCGTCCGACGCCGCACACACGCCGCGCATTGGTATGAGTGCTTATGGCGCG
+TCGAAAGCGGCGCTGAAAAGCCTGGCGTTGAGCGTCGGGCTGGAACTGGCGGGTAGCGGCGTGCGCTGTA
+ATGTGGTTTCGCCGGGCTCCACCGACACCGATATGCAACGCACGCTGTGGGTGAGCGATGACGCCGAAGA
+GCAGCGTATTCGCGGCTTTGGCGAGCAGTTTAAACTCGGCATTCCGCTGGGGAAAATCGCCCGTCCGCAG
+GAGATTGCCAATACGATTTTGTTCCTCGCCTCTGATCTCGCCAGCCATATCACCCTACAGGATATTGTGG
+TCGATGGCGGCTCAACGCTGGGGGCATAAGCATGATCTGGAAACGCCATTTAACGCTCGACGAGCTGAAC
+GCCACCAGCGATAACACAATGGTGGCGCATCTGGGAATTGTGTATACCCGTCTGGGCGATGATGTGCTGG
+AAGCCGAAATGCCGGTTGATACCCGTACTCATCAGCCGTTTGGCCTGCTGCATGGCGGCGCGTCGGCGGC
+GCTGGCGGAAACGCTGGGATCGATGGCCGGATTTATGATGACCCGCGACGGACAGTGTGTGGTGGGCACG
+GAACTTAACGCCACACATCATCGCCCGGTGTCTGAGGGAAAGGTGCGCGGTGTCTGCCAACCGCTGCATC
+TTGGACGACAAAATCAGAGCTGGGAAATCGTCGTTTTCGATGAACAGGGGCGGCGTTGCTGCACCTGTCG
+GCTGGGCACAGCGGTTTTGGGATGAACCCGACAGAATAAAATGAGATTGCAGGAAAACTCGGTTAACGGA
+GTGATCGAGTTAACATTGTTAAGTTAAATATTGGTTTCAACTCCGATTTGCATGGTTGCTGTGTTGTTAA
+ATTGTACAAAGATGTTATAGAAACAAAATGTAACATCTCTATGGACACGCACACGGATAACAACTATGAA
+CAAATCAGGGAAATACCTCGTCTGGACAGTGCTCTCTGTAATGGGAGCATTTGCTCTGGGATACATTGCT
+TTAAATCGTGGGGAACAGATCAACGCGCTGTGGATTGTGGTGGCGTCGGTCTGTATCTATCTGATCGCTT
+ACCGTTTTTATGGGCTGTATATCGCCAAAAATGTGCTGGCGGTTGACCCGACGCGTATGACGCCAGCGGT
+GCGCCATAACGACGGGCTGGACTATGTGCCGACGGACAAAAAAGTGCTGTTCGGTCACCATTTTGCGGCC
+ATTGCCGGAGCAGGTCCGTTGGTTGGGCCGGTACTGGCGGCGCAAATGGGTTACCTGCCAGGGATGATCT
+GGCTGCTCGCCGGGGTGGTTCTCGCCGGTGCGGTGCAGGATTTCATGGTGCTGTTTGTTTCCACGCGCCG
+TGACGGTCGCTCGCTGGGTGAGCTGGTCAAAGAAGAGATGGGGCCAACCGCCGGGGTGATTGCGCTGGTG
+GCCTGCTTTATGATCATGGTCATTATCCTTGCCGTGCTGGCGATGATCGTGGTTAAAGCCCTGACTCATA
+GCCCGTGGGGAACGTATACCGTTGCGTTCACCATTCCGCTGGCGCTGTTTATGGGGATCTACTTGCGTTA
+TCTGCGTCCGGGGCGTATTGGCGAAGTGTCGGTGATTGGTCTGGTGTTCCTGATTTTCGCCATTATCTCT
+GGCGGCTGGGTGGCAGAAAGTCCGACGTGGGCACCGTACTTTGACTTTACCGGCGTGCAGCTGACCTGGA
+TGCTGGTGGGTTACGGTTTTGTGGCGGCGGTGCTGCCGGTGTGGTTGCTGCTGGCTCCGCGTGACTACCT
+CTCAACCTTCCTGAAAATCGGGACTATCGTCGGTCTGGCGGTGGGCATTTTGATTATGCGCCCGACGCTG
+ACCATGCCTGCGCTAACTAAATTTGTCGATGGCACTGGCCCGGTATGGACCGGTAACCTGTTCCCGTTCC
+TGTTTATCACCATCGCCTGTGGCGCGGTGTCTGGCTTCCATGCACTGATCTCTTCCGGCACCACGCCGAA
+GATGCTGGCGAACGAAGGGCAGGCGTGTTTTATCGGCTACGGTGGAATGTTAATGGAATCCTTCGTGGCG
+ATTATGGCGCTGGTTTCCGCCTGTATCATCGATCCGGGTGTGTACTTCGCCATGAACAGCCCGATGGCGG
+TGCTGGCTCCGGCAGGGACGGCGGATGTGGTTGCTTCTGCCGCGCAGGTGGTGAGTAGCTGGGGCTTTGC
+GATTACCCCGGATACGCTAAACCAGATTGCCAGCGAAGTGGGTGAACAGTCGATCATTTCCCGTGCGGGC
+GGAGCGCCGACCCTGGCGGTGGGGATGGCCTACATTCTGCACGGTGCGCTGGGCGGCATGATGGATGTGG
+CGTTCTGGTATCACTTCGCCATTCTGTTTGAAGCACTGTTTATTCTGACGGCGGTGGATGCGGGTACGCG
+TGCTGCGCGCTTTATGTTGCAGGATCTGCTGGGCGTGGTGTCTCCGGGCCTGAAACGGACCGATTCACTG
+CCTGCTAACCTGCTGGCAACGGCGCTGTGCGTGCTGGCGTGGGGCTACTTCCTGCATCAGGGCGTGGTCG
+ATCCGCTGGGCGGTATTAACACCTTGTGGCCGCTGTTTGGTATTGCCAACCAGATGCTGGCAGGGATGGC
+GCTGATGCTTTGTGCTGTGGTGCTGTTCAAAATGAAACGTCAACGTTACGCCTGGGTGGCGCTGGTACCA
+ACGGCCTGGCTGCTGATTTGTACCCTGACCGCAGGCTGGCAGAAAGCGTTTAGCCCGGATGCGAAAGTCG
+GCTTCCTGGCGATTGCTAACAAGTTCCAGGCAATGATCGACAGCGGCAATATTCCGTCGCAGTATACTGA
+GTCACAACTGGCGCAACTGGTGTTCAACAACCGTCTTGATGCCGGGTTAACCATCTTCTTTATGGTGGTC
+GTGGTGGTTCTGGCGCTGTTCTCGATTAAGACGGCACTGGCGGCATTGAAAGAGCCGAAGCCAACGGCGA
+AAGAAACGCCATATGAGCCGATGCCGGAAAATGTCGAGGAGATCGTGGCGCAGGCGAAAGGCGCGCACTA
+AAGTCAGAGTGAGGGGGAATGTGCTGAGCGCTCCCCTTACTCTCATCCCGAGCGTGTTGATAGCAATTAA
+GCCCTCTTAATTCAGGAGGGCATTTGTATACCGGAGGTTTAGATGTTTGATTCACTGGCAAAAGCCGGAA
+AATATTTAGGTCAGGCGGCGAAACTGATGATTGGTATGCCTGATTACGACAACTATGTCGAACATATGCG
+GGTTAACCATCCCGATCAAACACCGATGACCTACGAGGAGTTTTTCCGTGAGCGGCAGGACGCGCGCTAC
+GGTGGAAAAGGCGGTGCGCGCTGCTGCTAAATTTGTACGTCAGGCTTTAAACGATTCCACTTTTTCGAAC
+GCTGCACGCAAGGTATCTGGTGTCAGCGTGACTGGCAGGTAATGAATGGATTCCACCGGACGTAGGGTGT
+GGGCAATCATTTTGTCGATCTCCACCTGATTATTGATATCCACTTCCAGCTCCGCCAGCGTAGTCGGCAG
+ATGAAAACGCTGATACGCCCCGGTTAATTGCGCCAGCACATCATCCTGACCCAGCAAGGCGCTTTGCACC
+AGAATTCCGTAGGCGACTTTGGTGCCGTGGAGAAACTTCTCGGTTTGTGGCAAAACGGTCAGACCGTTAT
+GCACAGCATGGGCCGCCGCCACACGCGTAAAACGATCGCCCAGACCACCGACCATCCCACCACCAGCAAT
+AATGGCATCCACCACATCGCAAAATGATTGCGTTAATTGCTGATTTTGCTGATCGGCAAGCGCCTGTTCG
+CTACTGTTTAACAAGACGTCGCGAATGGCCTGCGCATTATTGATTCCCAGCCGCACGGTTAGCGGCAACG
+TTTCTGGTTGCGGGGCCAGCACCACCGCTTCATACCATTTCGCCAGCGTGTCACCGATCCCCGCCAGCAG
+ATATTGTTGCGGCGCGTTGAGGATAATCTCCGGTTCCACCAGCACCATAAAATTGGCGTCGTCGAAAATC
+TCATAATGCAGCGCCTGTCCGGCATCGTTATACCAGACAGAGAGCGGTGTCCAGGCGGCGCAGGTAGCGG
+CGATCGTCGGAACGGCAACAAATGGCAGACCGAGACGGCGGGCGAGGGCTTTCGCGGTGTCGAGTAGTGC
+GCCGCCGCCGACGCCAATCACCACGCTGCGATCGTCACCGGACTCCGCCGCCAGTTGTTGCACATCGCTT
+TCGCTGCAATGACCACGAAACAAAATATGCTTTACCCCTGGCAGTTCAAACGCAGGCGGCAGTTTGGTTT
+GTGCCGCAGCAATGGCGCGTTCGCCGTAGATCCACACTGCGCGAGAAAGTTGTTCATCAGTGAAAAAATC
+GTGCAGGTGATTGAAACTTCCGGGATGTGAAAAGTAGTTAGCCGGGCCGACGACCACGCGGATAGGATTG
+TGAGGCATGTTGTGTTGTCCTTATTGTTTTATTTAGACATCTAAACGTCTTGATTGCCAAATACTAGCAT
+CGTGTTATAGTGCCTTCAACACGCAACTTCGTCAGGTACAATAAAAATGACAAATAACCCTCTGATTCCA
+CAAAGCAAACTTCCACAACTTGGCACCACTATTTTCACCCGGATGAGCGCGCTGGCGCAGCAACACCAGG
+CGATTAACCTTTCGCAAGGCTTTCCTGATTTTGATGGTCCGCGCTATTTACAGGAGCGGCTGGCGTACCA
+CGTTGCCCAGGGGGCAAACCAATACGCACCCATGACCGGCGTGCAGGCCTTGCGTGAGGCGATTGCTCAG
+AAAACGGAACGTCTGTATGGCTATCAACCGGATGTCGACAGCAATATCACCGTGACGGCAGGGGCGACGG
+AGGCGTTATACGCGGCGATAACCGCATTGGTGCGCAATGGCGACGAAGTGATTTGTTTTGATCCCAGCTA
+TGACAGTTACGCCCCCGCCATCGCACTTTCGGGGGGAATAGTGAAACGTATTGCACTGCAACCGCCGCAT
+TTTCGCGTTGACTGGCAGGAATTTGCCGCATTGTTAAGCGAGCGCACCCGACTGGTGATCCTCAACACCC
+CGCATAACCCCAGTGCAACTGTCTGGCAGCAGACTGATTTCGCCGCTCTGTGGCAGGCGATCGCCGGGCA
+CGAGATTTTTGTCATTAGCGATGAAGTCTACGAGCACATCAATTTTTCACAACAGGGCCATGCCAGCGTG
+CTGGCGCATCCGCAATTGTGTGAGCGAGCGGTGGCGGTGTCATCGTTTGGCAAGACCTATCATATGACCG
+GCTGGAAAGTGGGTTATTGCGTTGCGCCTGCGCCCATCAGCGCCGAGATCCGCAGAGTGCATCAGTATCT
+GACCTTTTCGGTGAATACCCCGGCACAACTGGCGCTTGCCGATATGCTACGTGCAGAACCTGAGCATTAT
+CTTGCGTTACCGGACTTTTATCGCCAGAAGCGCGATATTCTGGTGAATGCCTTAAATGAAAGTCGGCTGG
+AGATTTTACCGTGCGAAGGTACATACTTTTTGCTGGTGGATTACAGCGCCGTATCTACGATGGATGATGT
+TGAGTTTTGCCAGTGGCTGACGCGGGAGCACGGTGTAGCGGCGATTCCGCTGTCGGTGTTTTGCGCCGAT
+CCCTTCCCACATAAACTGATTCGTCTCTGTTTTGCCAAGAAGGAATCGACGTTGCTGGCAGCAGCAGAAC
+GCCTGCGCCAGCTGTAGTTATTTAACCGTCCAGGCGCGGGAAAATTGACGGTCGGCAAACAACTCTTGCA
+GGCCGTTAATTTGCTTCAGGCGTAACACTTCGTCGCTGTCCATTCCCAGCTCTTTGCCTATTTTATTATC
+GTCCCATCCCAACTGGCTGAGTTCTCGGACGATTTCTGACATGGCAGTGATTTGGTGACGTCCACGAGCG
+CGATTATGACGAATAGTCGCGGCGATGCGTTGATTACGCGTACCTTCCAGACAGGTCACCGGCAAATAAC
+CTTTTAAGCGTAATTTTAACGATGATGAGCCTTTACCAATTTCATGGCGGTGAAAACCATCCACGATTTC
+CAGAGCATTTTTATCCGTATGCGTGACCACAATGGGTTGGGTAAAACCATCTATTTCAATGGATTTTTTC
+AGCAGTTTTTTTTCGGGTGGTGCCACGTTGTTTGGGTTGTAATCATTAGGCATAAGTTGGCTGTTTTTAA
+CCCACAGAACGCAATCCACTGGCTCTTCACGAAAGGGGCTAACCTGATGGATCGCCATGCGGATTTCATT
+AATCGCTTTGATGCGATCATCTTCCGGCAAGCTGGCGAGAAATTGGGTTAAATCCTGCGTTAATCGTTGT
+TGCATAGTATCCCCCATTCCTGACGTTTTCCTTTTATCCGTTCGTTATAACGCTGATAGTTCTTCGCTTT
+CGTAGGACTAAATGATAATGCCCGGCACCAGTAATCGTTATTGAGTAAAACTTTGCATATTCGCCGCCAG
+GAGGGGATATCTTTCGCGCCAATGTCCCCTTGCTGGGTTTGTGGAACTTCGATGCCTTTTTTCTGATACC
+AGTGCAAATAAATGGCGATTTTATTGCGGTAATGCTCAGCCGTTTTTTCCGGCATGCTATTGAGCAGCAA
+TAATGCATATTCTTGCCAGTCTAAATGTTCTGGCTTGAGGATTTTCCGATGACCATAAAAATGATTATCA
+TGTCCGGCGTAAATGCCGCCACTTTTTACCCCGCTGACTCGTGCGCACATAGCAGCCCAGCGATCCGGTT
+CGATAACGTGATAGAGCCATAATCCTTGCCGTTGCTCCGGGCCAAAAGGTTCGCAAATTCGCATATGACG
+CAGAGGAACGCCTGCCTGATACATTATATTATACAGTGGGTTACAGAGCTGTTGATGGTTAGCATACCAG
+GTCCAGATATCAGCCACTTTCCAGTCGTAGATGGGGTAAATGTACCAGCTATGACCGCCTGGTGCGGCGG
+TGGTCCAGGGCTTATCATCGGCAAAACGTTGTTTATTTAAACTGGCGATGGCGACAAAACGGTTGTAGGA
+CTCATCTGCACGGATGCCGATCATCATCGCCGCCGGACGTTTTTGTGAAAACCATTCAGCAAACTCACGC
+ACAAATTGTTCGAAGGTCATGCCAGGCTGGTAAAAGGAGAAAAAGTCAGGATCGGTTATCGCATCTTGCG
+GGGGCTGACGCACCCATTCGACATCAGGTTCCCAGCACTGCCATTCGGGTTGGTATTGAGAAAGGGAATT
+TTGCGTCGTAAGCGGGAGCGCAACCCAGTAAAACTCTTCGATGACATCGGCGTAAAACTCACGTAATGAC
+TGAACATAGTTAATAGTGCATGAGAACTGCGCTTCCCAGTCGATAAACAAAACGCAGATTTTTTTGCCCA
+TTTGTCGGGCAATTTCAGCTGTCAGATGCAGCATTAATCCGGAATCTTTACCACCCGAAAAAGAAACACA
+GATACGGGGTAGGGTATTAAGTGTCCAGGTAATACGTTCTTTTGCAGCTTCCAGAATATTCAGTGGAAGC
+GGGATTTTATAAATAGACATCTAAAAACGCTCTCTGAACGTTACGGGGTGACTCGTGAGATGAATCCGCT
+AATTATAGGATAAACGAAGCAAGATAGAGCACATTATTTTATATTCACACAATGAATTAATTGATGCGTA
+ATATATTATTTGTCAGTGGTAATGAATCAGAAGCTATCATTTAAACGATCTATGAATCGGGAGAAGACAA
+GGTTGTTCAACGAAGCCTTGTTATAGGAAATATAAAGTTTAACCGCAGGAAGAGGTTGTTCCAGTTTTAT
+TTCTTTTAACTTCAAAAAGTCACGATGTAAATCGTACAGTTCGGTGGGCACAATGCCTAATAAGTCAGTA
+ACAGAAATACTATTAATTATAGTCATCAAAGAAGAACTGCGAAATGAAACTTTACGGTTCATAAAACGTT
+CATCTATGTCCATTTGAATTTCGTCAATCCCTGCTGATTTAGATATCAATAGGGTGAATTCTTCGGCGAT
+AATTTGTTCATAGTTACTGGTATCAGTAATACGAGGATGTTTGTTGCTACATATAAGGGAATTGCGAATA
+GTGTGTAACGGCATGCAGATGACAGAGCGACTAATTACTGGTTGCAGCGTAATTGCCAGGTCAGTTTTGC
+GTTGAACCAACAGTTCTTCGGCATTTTCAGCTGAAAGCAGTATGTCATGGCATTCTATATCGATTGAAGT
+ATCTTGTCTAAGACAGCGGATTAGCATGTTGTTATTAGTACAAGAAATAAGCTGAGGACCGTAGATAATA
+AAATTTTTCTTTAGTTCAGACTTATTAACGATATTGATCGTTTGTTCAAGGCCTCTGAGATTTTTCTCAA
+GATGGTGATGCAGGTTTAACCCTGTTGTAGTCGGCGCGATACCTTTCCCTGAGCGAATGAATAACGGGTC
+ATTAAATTGCGCACGTAAACGTTGTAACGACTGACTAACAGCAGAGGGCGTTATATATAATGATTCTGCC
+GCTTTACTAATGCTGAGATGTTGATAAATACATTCAAATATGACCAGTAAATTGAGGTCAAATTTTTTTA
+GATCATAAAGATTAGCCATAACATACTCCGTTGTATTGTCTCTTCCATAAATCATTCACTTGATCAATAA
+TGTTGTTGTATTTATATGTGTTATGTTTTTCTGCTTAACTTTGGATTAAGATTTTCTAAAATAGCATAGC
+TGTCAGGTGGGTTACGAGCAATTCATGCGTTTTTAGGATGGTTGAAAAGCAAGGATGCATTTCAACCATC
+TATGAATTATCCTTTATTTATTCCTCATAATGATATTAAGCGTTTTCTGATCGGGTAATCCGACGGCTTG
+TTGCAGGGTATTTTCCTTACTCATGTAATAGATAGCTGGTGTGACATTTGCCCCCAGATCGTCCATGAGT
+TTCTCGTTGTCGCTTAACACTTTCATTTGCTCTGTGCTTACGTTTGCAGGCACGTTTAGCTTAAGCTTGC
+CACCAGAGGCTTCATATTCTTGCCAGGTTTTTGCGGGATCTTTGGAGGCAAGAATTGCCGCTGCTGTCGC
+CGGGCTTTCTGGCTTGATAACCCCAACCAAGAATGTTCTTAATTGCACTTTGCCAGAATCTACCCACGGG
+CGAGCCTGCTGCCAGAACTGTTTACAATATGGGCAGAACGGATCGGCGAAGACGTAGACAATGACCGGCG
+CGTCTTTTTTACCGTCGAGGAGCCAGTGGGATTGTTCCATCCGTTGCCACATTTCACGTCCGGCGGGTGC
+GTAAATTTCTTTTTCGATAAGCGTGTTACTCAGGTTTTCACCTTTTTCGTTGTACATGTAACCAGAGATA
+GCGTGCTTACCATCTGGAGTCAGGTAGATGGTGACGCCCATATCCTGATACTTACCGAGATAACCTTTCA
+TTCCTCCAGGGGCATCGAACGTTTTGATGATTGTAATACCCTGTTTTTCAATCGCTTTTACTGGGGCAGG
+AAGTTCCTCTGCGAAGGCGATTGCAGGAAGTAGAGCCAGTAAAAGTATCTTTTTTAACATTAATTTGTCC
+TTTTCAGTCAGTGCAAAAGTCGAGTAAAAGGCATAACCTATCACTGTCATAGGTAAGAGCTTAGATCAGG
+TGATTGCCCTTTGTTTATGAGGGTGTTGTAATCCATGTCGTTGTTGCATTTGTAAGGGCAACACCTCAGC
+CTGCAGGCAGGCGCTGAAGATACCAAAGGGTAGTTCAGATTACACGGTCACCTGGAAAGGGGGCCATTTT
+ACTTTTTATCGCCGCTGGCGGTGCAAAGTTCACAAAGTTGTCTTACGAAGGTTGTAAGGTAAAACTTATC
+GATTTGATAATGGAAACGCATTAGCCGAATCGGCAAAAATTGGTTACCTTACATCTCATCGAAAACACGG
+AGGAAGTATAGATGTCCTTGATTAACACCAAAATTAAACCTTTTAAAAACCAGGCATTCAAAAACGGCGA
+ATTCATCGAAATCACCGAAAAAGATACCGAAGGCCGCTGGAGCGTCTTCTTCTTCTACCCGGCTGACTTT
+ACTTTCGTATGCCCGACCGAACTGGGTGACGTTGCTGACCATTACGAAGAATTGCAGAAACTGGGCGTAG
+ACGTATACGCAGTATCTACCGATACTCACTTCACCCACAAAGCATGGCACAGCAGCTCTGAAACCATCGC
+TAAAATCAAATATGCGATGATCGGCGACCCGACTGGCGCCCTGACCCGTAACTTCGACAACATGCGTGAA
+GATGAAGGTCTGGCTGACCGTGCGACCTTCGTTGTTGACCCGCAGGGTATCATCCAGGCAATCGAAGTTA
+CCGCTGAAGGCATTGGCCGTGACGCGTCTGACCTGCTGCGTAAAATCAAAGCAGCACAGTACGTAGCTTC
+TCACCCAGGTGAAGTTTGCCCGGCTAAATGGAAAGAAGGTGAAGCAACTCTGGCTCCGTCTCTGGACCTG
+GTTGGTAAAATCTAAATTTCCTTTGTCTTTCGCGCTACTAACTCCGGCGCGAGATACTTCGGAAATTCAC
+CTAATTCTTCGGGTGCTGCGGCACCCGATTTTCTTCCCCGCACCATGATGCAAGCTGCATCCAGCTAGCC
+GCAGAGGCCGCTTGCATGATGATGTTTAAAGCCCAGGAGATAAACATGCTCGACACAAATATGAAAACTC
+AACTCAAGGCTTACCTTGAGAAATTGACCAAGCCTGTTGAGTTAATTGCCACGCTGGATGACAGCGCTAA
+ATCGGCAGAAATCAAGGAACTGTTGGCTGAAATCGCAGAACTGTCAGACAAAGTCACCTTTAAAGAAGAT
+AACAGCTTGCCGGTGCGTAAGCCGTCTTTCCTGATCACCAACCCAGGTTCCAACCAGGGACCACGTTTTG
+CAGGCTCCCCGCTGGGCCACGAGTTCACCTCGCTGGTACTGGCGTTGCTGTGGACCGGTGGTCATCCGTC
+GAAAGAAGCGCAGTCTCTGCTGGAGCAGATTCGCCATATTGACGGTGATTTTGAATTCGAAACCTATTAC
+TCGCTCTCTTGCCACAACTGCCCTGACGTGGTGCAGGCGCTGAACCTGATGAGCGTACTGAACCCGCGCA
+TCAAGCACACTGCAATTGACGGCGGCACCTTCCAGAACGAAATCACCGATCGCAACGTGATGGGCGTTCC
+GGCAGTGTTCGTAAACGGGAAAGAGTTTGGTCAGGGCCGCATGACGTTGACTGAAATCGTTGCCAAAATT
+GATACTGGTGCGGAAAAACGTGCGGCAGAAGAGCTGAACAAGCGTGATGCTTATGACGTATTAATCGTTG
+GTTCCGGCCCGGCGGGTGCAGCGGCAGCAATTTACTCCGCACGTAAAGGCATCCGTACCGGTCTGATGGG
+CGAACGTTTTGGTGGTCAGATCCTCGATACCGTTGATATCGAAAACTACATTTCTGTACCGAAGACCGAA
+GGCCAGAAACTGGCAGGTGCGCTGAAAGTTCATGTTGATGAATACGACGTTGATGTGATCGACAGCCAGA
+GCGCGAGCAAACTGATCCCGGCAGCGGTTGAAGGCGGCCTGCATCAGATTGAAACAGCTTCTGGCGCGGT
+ACTGAAAGCACGCAGCATTATCGTGGCGACTGGTGCAAAATGGCGCAACATGAACGTTCCTGGCGAAGAT
+CAGTATCGCACCAAAGGCGTGACCTATTGCCCGCACTGCGACGGCCCGCTGTTTAAAGGCAAACGCGTAG
+CGGTTATCGGCGGCGGTAACTCCGGCGTGGAAGCGGCAATTGACCTGGCGGGTATCGTTGAGCACGTAAC
+GCTGCTGGAATTTGCGCCAGAAATGAAAGCCGACCAGGTTCTGCAGGACAAACTACGCAGCCTGAAAAAC
+GTCGACATTATTCTGAATGCGCAAACCACGGAAGTGAAAGGCGACGGTAGCAAAGTCGTAGGTCTGGAAT
+ATCGCGATCGTGTCAGCGGCAATATTCACAACATCGAACTGGCCGGTATTTTCGTCCAGATTGGTCTGCT
+GCCGAACACCAACTGGCTGGAAGGCGCAGTCGAACGTAATCGCATGGGCGAGATTATCATTGATGCGAAA
+TGCGAAACCAACGTCAAAGGCGTGTTCGCAGCGGGTGACTGTACGACGGTTCCGTACAAGCAGATCATCA
+TCGCCACTGGCGAAGGTGCCAAAGCCTCTCTGAGTGCTTTTGACTACCTGATTCGCACCAAAACTGCATA
+AGAAGAAGTAAGATTCACCTGTAATTGCTTAGCCGCCGGGGTCAAACCTGGCGGCTTTTTTATTGCATTA
+AAAAGCCCTGCAGGGATGGCTCCGGGCAGGGCGGGAGACTTATTCTGGCAATTAACGCACAACCAGCACC
+GGCAAATTGGCGTGCCGGATCACGCTCGAGGCGTTAGAACCCAACAGATGAGTTGAAATTGATGGGTTAC
+GCGAACCAATCACTACTACATCTGCATCAAGTTCTTTCGCTAACTCGTTAACTTCATCCCGCACACTACC
+AAAACGGACATGTTGCTTAATGCGGGAAGGATCGATGGTGAAGTGGCTGACCATCGTTTGTAAACGTTCT
+TCTGCTTCATGTTGCAGATGCTCTTCAAAACGACGTACATCAGCGGCAAAACGGTGCAGGCTCAGGCTGG
+CTGACCCCGGTAGTACGTGAAGTAGATGAATAACTCCGTCATCCTGGGCGAGGAATTCAGCGTGGCGAAT
+CGCTTTGTCGCTCAATTCCATTTCGAAAACATCCACTGGCATGATGATTGTTTTGTACATAAGCATTCTC
+TCCTTGTTTTTGCATGTATACATAACAGCACATTATTGGTTATGAATCTATAATTTGCGAGGCTGATTTG
+ATCTGAATTTGCTATTGAGCTGGAAAATAAATAAAACCAGGCGTTACCAGCGTTGTTCAAGGTATAGCAC
+TGCAGCAACAATAATTGCTGCTATGAATATATAAAATGCAGTGATACCGAGAGCTTCGCTCATATGAGGT
+TCCGCAGATGAATAACCAGTTCAGATTAGAATGCTGCGCTTAAGAGCAAAATGATAAATCTGGTTGATAT
+TTGAGCGGAAAGAGGATGCGAGTGCATCCTCTGGGCAAAGCGAGTTGTCGCTTGTGCAGATGGGATTAAA
+GCAGGTAGTCGCCAGCAGCTTCTGGCTGGTATTCGAGTTCCAGCACTTCAAGGTGGGTTGCAACGCCGCC
+CGGAAGTTCCCAGTGAATGGAATCGCCAACGCGCAGCCCCAGCAGTGCGGCACCTACCGGAGCCATAACG
+GAAAGCTGAGTATTGCTGTCGGTCATTTTTGCCGGATACACCAGCGTGCGCACACGCACTTCGCCATCGC
+TAAGATTGCGGAATTTAACCCGGCTGTTCATTGTCACCACGTCGTGTGGCATCTCTTCTGGCGAACACAT
+TTGGGCGCGATCCAACTCTGCGTTTAACGCGTCGGCGATTGGCAAACCAGCATAGGCGGGTTGCTCCAGC
+AGAATATCGATGCGTTCGGCATCCAGGTCGTTAATGATGATAGTTGGTCTGGACATTTTTACTCCATGTC
+GTCGGTACTGCGAGTGTCGCAGATAAACATACCCAAAAGAAAACCCTCACCGTCAGGCGGCGAGGGTTTA
+ACTCACATGATGATACTGACTGTTGCTCACTCTTTGAAGTGATTTGCGTCACATTCAGGGAATTCCTCAA
+TGTAGCGCATTATGTATAAATCTTAATCGTCATGGTTTATGGAAGACGAATTAGCGTGTTTTGTAAATCA
+GAGGATTAATAACCTGCTTTATCAATCACAAAGGTTTTGCCACAGTTGCCTGGGTGTGGTTGTGGCAAGA
+ATGAGTTGGCAGAAAGCGGAGCGTTGATGGCGTCAGCTTTGATCGAGATCTGAATTTCAGTTAAATACGC
+AGGGTTACCCTGGCACGTTAGCTTAACTGCTTTCACGTTCTCTTTTCCCCAGCTTTTGGCAAAGGCGGCA
+TCAAAGTCACGGCGGCTCACTGTGTTACCGTAGTTATCCGCAAGGAATTTTCCGGCTTCGCTCTCTTTAA
+TTTCTTGATTCAGGCGTACCATCGTGCCGAAGTATGCGTCTGGATCAAAACCAAAGCAGGCACCGTGTTT
+GGCATATTCGTAGCGTTCCAGGCAGGAACGTCCGCCAGCTCCTGGCATGACTTCACTTAGTTTAGCTGCC
+GTTTCCAGTGATAACCCAGTTTCCGGCGATGAACACATCCGGCTGGCGCGTGCTTCTGGCAGATTCGGGA
+TTGGGCGAGTAGCGCAACCGAAGCGCATCCAGCGGCGTTCATCAACACCACGGGCAGCAACCGATTTAGG
+CAATCCTGGCCACAGACCATGTACGGTCAAAAAATCAGCTTTGTTGGTCGTTTCGGTTTGCAGGCGACAT
+TCATCTCGTTCGTTACGATTTCGATCATGTTGACTCTGGCAAAATCCGGTTTGCCAGGAGAGGGCCAGGA
+CATAGCGATCAAAATCGCCATACTGTTTTGCCTGCAACGCCACGGCGTTGGCAGAAGAGAAGGGAAGCAG
+AGAAACCGCGAGCAACGCGGCGTTACGCCAGAATGCTTTCATAATGGGTGTGGAACTCATACATACACTG
+AATATTATCTATTAAATCATAAAAAAGCCCGCCAGGTGGGCTTACCTGGCGGGCGTGATGATTTATTCAG
+CGTTTGGCGAACGTATTAGTTCCACATGGCGAGAATCGGCCAGCCAACCAACAGCAGCATAGAGATGTAA
+ATCACCCCGAAGATTGCGCCAAGACGCCAGTAATCTTTTGATTTCACATAGCCACAGCCGTAAATAATCA
+CCCCAGGACCGGTTGCATACGGCGTCAGACAGCCCATGATACCGATAGACAGTACCAGCAGGATACACAG
+TTGTTCCATTGGTACGCCCGGAATCCCTTTACCGACGGCCAGAATAACCGGCAGCATGGTTGCGGTGTGC
+GCAGACAGGCTGGCAAACAGGTAGTGTGCAAAGTAGAACACCAGAACCAGTACAATCACCGTTGCGTTTG
+GTGAGAAGCCTTCCAGGTGTGTACTCATCGTGTTGGCGAACCAGTCGATAAAGCCAGAACGGGTCAGGCC
+ATTCGCCATAACAACCAGCGTTGCCAGGTTGACCAGCGTGTTCCATGCGCTGTTATAGCGAGTAATGTCT
+TTCCACGGCACAACGTGCAGCGCCAGCATCAGCGAAACTGCCAGCAGACCTACCGCAGTAGCATTAATGA
+CTTCACTGCCAAATACCCACAAACCTAAGCTGAGCAATACAAGGCCAATCAGCGTCCACTCTCTGCGCGT
+CAGCGCACCCATGGTTTTTAGTTCATCACCCGCCCAGGTTGCCACTTCTTCACTGTGTGTGATTTCCGGT
+TTGTACAGCACGTAGGAAAGCCACGGCGCAATGATAAGCAAGATAACCCCAACCGGCAGGAAGCAGAGGA
+ACCACTGCAACCAGCTAATCTGGATACCGGCAATTTTGCTGACGAACTCCAGACCCAGCACGTTTGGTGC
+CGCACCGGTGACAAACATGGACGAACTCAGACTGGTACTAATGACCATCATCCACATCAAATAGCCGCCA
+ATACGACGCGCGGACGGATCGTTCGGGAATGATTTAAACAGCGGCGGCAGGTTTTTAATGACCGGAAAAA
+CCGTACCCCCGGTACGCGCGGTGTTGGACGGTGTAAACGGTGCCAGCAGAATGTCGATAATGACAATCGC
+ATAACCCAACGTCAGCGTGCGTTTGCCCATGAATTTCACCAGGAAAAGGGCAATACGACGGCCTAACCCG
+GAAACTTCATACCCTAATGCAAAAATAAATGCGCCAAATACCAGCCATACCGTGGTGCTGGAAAAACCAG
+CCAGACCCCATTTCAGCGCCTGTTTTTGCGCATTAAACGCTGGGTCAGCTAATTCTTTGGCATCAAAGAG
+CAGGTAATTACTGCCAATAACGCAAATAGTAACCGCAATAAAACTGATCGCCGTTGCCGGAATTGGCTCG
+AGGATCATGCCGACAATCATTGCCACAAACACTGCAAAGTAATGCCACGCCTGCGGCGGCATACCGTCAG
+GTACAGGGATAAGAAACATGACACCCATCACCACCAGGGGCGCCAATAATTTCCATATATTATCTTTTGC
+TAAAGACATACGGGTTCTCCGAAAATTAATATTTCCAAATTTATCAAGTGCTTAAATAATTAAATCTGTG
+CTAAAAACCAGGTAAGGATCAGCAGGTCGGCACTGCCGCCTGGACTGAGATTTCGTTCGATACACTCCCT
+GTCGAACTGCCGGAGATAATCGAGATCGGCGGGGGTTCGAATGCCCCCTTTTTGCAATAATGTTTGCGCC
+TCGCGCTGTAGCCAGCGCAGGCCCCCCTCGCCACCGCGCGATGCAACGTTGGTATCGCCGTTGGTAGCCA
+TCAGTAGGAGCAAGGTATCGAGCAATGCCAGCTCAGGATCTAACCCCTGATCCAGCAGAGTGAGGTAATG
+CGGCAAGGCGTGGTTGATCACCAGTGGATAACCCGCTTCGGCTTCACCGCGTGCGCCGGTAAGGCCAAGC
+TGCTGGTACAACCGTTGACCTGCCGTCAGTCGTGCATTATTGGTACGCAGTTCGCGATCGGTCAGGCCAC
+GGCAGAAACTTGCCGCCGTAGAACAAACGGTTGTTGGCGTTACCGGCTGGTTGAGCTGAAGCAAACGGCC
+AATTGCCGCACACAGTAGCCCTAAAGAAAAAATGCTTCCTTTATGCGTGTTTACGCCCGCAGTGGCGCGG
+AACATATCACCTTCGCAAGCCATACCAATTGGGCGTAATCCGTTGAGTACCGCTTCCGGTGCCATTTCTG
+CACTACAGGCACCAAATTCAATGAAACGGGGTAACCAGCCCTGAATCGCCAGCGCGCTGCGGTGGAAATC
+TTCCAGCGCCATATCTTTGTGCGCACCGCAGTTAATGCGATCCACGAGGCCTGGTTTCGGTGACAGGTTG
+ACTTCAGTCAGCATGGCGCGCCAGCCCAGCAGGGCGTACTCATCGATTAATGACGTCGCAAGCTTTGTGG
+TTTTAGTTGACGTTGCAGGCATCGACATCGTTTAGCAGCGCCTCCATGCGGTTGAGTAAATCGGTCAGTT
+GATGGGTTTTTCCACGCGCGCAAACAGCTGCGCTTTGCTCGCACAACAGGCAGCGGCGAGGCGGCAGTGA
+ATAATCGCGGCGGGAGAGAATGTCGCCTTCGGGCGTCAGGACATCGATATCCCATAACCGCCCGAGAGGA
+TGACTATGTTCAAGCTCAATGGTGGCGAGCTTGAGGTCGCGAGCCGGGGCGGCAATGCTCAACATGCCCT
+CCGGCCCGCTGGCGGAAACCAGTGCAGCCTGCTCCTGAATTTGCCAGCCCTGTTTTGCGGCTAAGGCACG
+CAAGGCTGTCACGCCATGATTAAAAATTCGGCGTGTGACCTCGCTGTCTTTAATCGGCCCAGGCGCAACC
+ACGGTAAAGGAGACCAGTGGAACAGGATGGCGCTTGAGCCAGGCGTGTTGCCGTGCTTGCCTTTCATCCC
+GGCTGACGAGCAGCTCGGGAATTGACACCGCATGGTGGCTGGCGAGTTCAGGAAGCAGGTGCATGGCTTA
+TTCCTTCACCTGATGCACAACATCGATCACCGAGCCATCGCGGTAACGCACAACGGCAACGACGCGGTCG
+GTGAATTCAATCGGCTGTGGTTCACCGGTCAGCAGACGCGCACGTTCACGCAGCCACTCAATAGAAACCA
+CTTTGATCCCCGCTTCCTGCAGACGTTCTGCCAGCTCCGGACGTGCCGGGTTAACAGCGATGCCGTGGTC
+TGTGACCAGAATATCGACACTGGAGCCCGGGGTGATGCAGGTCAGCACGTTATCCACCAGCGTCGGAATA
+CGACCGCGTACCAGCGGCGCGACGATGATGGAAAGCGCAGAAGCAATCGCGGTATCGCAGTGACCACCGG
+AAGCACCACGCAGTACGCCGTCAGAGCCGGTCAGCACGTTAACGTTGAACTGGGTGTCAATTTCCAGCGC
+GCTCAGTACCACCACGTCGAGACGATCAACCGCTGCGCCTTTCGACCCCCAGTTAGCGTACTGGTTGGCG
+CTGATTTCGATGTGATTGGGGTTACGGGCCAGCGATTGCGCAGCATGGCTGTCAAAGCTCTGCACATCCA
+GCAGTTTGCGGATCAAACCTTTTTCGTGCAGATCAACCATCGTTGCGGTAATACCGCCGAGGGCGAAGTC
+GGCGCGAATATCGCGGCTACGCATTTTGTCTTCCAGGAAACGGGTTACCGCCAGCGAAGCGCCGCCGGTG
+CCGGTCTGCATGGAGAAACCTTCTTTGAAGTAGCCAGAGTTAACAATCACATCCGCAGCGCTACGGGCAA
+TAAGCAGTTCGCGCGGGTTAGTGGTCATACGGGTAGCACCAGCGCCGATTTTTGCAGCATCGCCAACGCG
+ATCAACTTTGACGATCAGATCAACCTGATCTTGCTCAATGCTTGCCGGATTATGCGGATAAGGCAGCAGT
+TCTTCGGTAAGCATCACGACCTGTTTTGCGTTGTCGGCATCAACCATTGCATAGCCGAGGGAGCCGCAGC
+AGGCTTTACCGGAGTAGCCGTTGGCATTACCGAATTCATCACAGGACGGGACGCCGAGGAAAGCCACATC
+GATATTCAGTTCGCCGCTCTGTACCAGATGCACACGTCCGCCGTGAGAGTGGATTTGCACCGGTTCCGCC
+AGCAGACCACGGGAGATTTCTTCCGCCAGTGGACCGCGCAGGCCAGAGGTATAAATGCGGGTAACCACGC
+CCTGGCGAATGTGTTCTACCAGCGGCGCATGGCAATCACTCAGGGAGCTGGAGGCCAGAGTCAGGTTTTT
+AAAGCCCATCTTCGCGATGACGTCCATCACCATATTGACGGTCAGGTCACCGCCACGGAAAGCGTGATGG
+AAGGAAACCGTCATGCCGTCCTGTAAACCAGAGCGACGAATCGCTTCTTCCAGGTTGGCGCACAGTTTGC
+GATCGCGCGCTTTTTCAGCCTGGTAGGTTTGCTTTGGCGAGTTCTGGAAAGCGGCAAGATCGCATTCAGC
+GCGACGATTCCAGGCCGCTACCCGTTCTTGTCGTTGAGATTGTTCAATTTTCTGCGTCATTTTGATTGCC
+TTATTCTTCGCGGATGCCGGAAAGTTCTGCACGGGAGAGCACCAGACGGGCGCGATCGATAACCGGACCG
+TCCACCATCTTGCCGTTCAGGGAAACCACGCCGAGGCCTTCGCGAGCGGCGGCTTCAGCGGCTTCTACGA
+CGCGGCGGGCGTGATCCACTTCTTTCTGGGTCGGTGCGTAGAGGTTGTGCAGCAGATCAATCTGACGCGG
+GTTGATCAGCGATTTGCCGTCAAAGCCCAGCTGTTTGATGTGGGCGGCTTCTTGCAGGAATCCGGCTTCG
+TTGTTAGCGTCGGAATAGACGGTATCGAACGCCTGAATACCCGCAGAACGCGCGGCCTGCAAAATGGAGC
+AGCGAGCGAACAGCAGTTCAGTTCCTTCCGGGGAGCGTTCTGTACGCAGGTTGCGCACATAGTCTTCTGC
+ACCGAGGGCGATACCGATCAAACGCTCGGAAGCGTGAGCGATTTCTACCGCGCGGGTAATGCCCAGCGGA
+GATTCAATCGCCGCCAGCAGGCCGGTACTGCCGGGTTCACGACCACAGGCTTTTTCGATACGCAGGATCT
+CTTTTTCGATATCCAGAACATCCTGAGCGGTATCGGTTTTCGGCAGACGCACAACGTCCGCACCACCGCG
+AACGACGGCTTCCAGGTCGTTAACACCCCATTCGGAATCCAGAGCGTTTACACGCACAATGGTTTCAATA
+TCGCGATAAAGCGGATGTTGCAGCGCGTGGTAAACCATGCGGCGGGCGGTGTCTTTTTCACGCAATGCAA
+CGGAGTCTTCGAGGTCAAACATCAGGGCATCAGCCGGGTAGATGAAGGAGTTGCTGACCATCGCGGCATT
+AGCACCAGGCACAAACAACATACTGCGGCGGGTGCGAGTTTTACGTTGTTGCAGCGAAGCGGAAATCATT
+GGCAATCCTCCCATGGCAGAGCCGGGATACCGCTGGCGCGTGCCAGCAGGGCTTCCAGTCGTGCACGTAA
+AATGCAGTCCAGTGCGCCTTTGTCATCGACATTCAGCTGTACGCCGCGCACGTTGTAGCGGGCGAGAACG
+TCCAGAATGGTGGTGCGAATTGCATCGCCAAACTGTTTCTCAACGCTGCTGTTGATTTGCAGGTCGATAT
+CCTGCGTATCGAGTGGGGCGATGCGTATCATCACATCCCCAGACTCAAGGGTGCCTGCAACGGCGGGCTG
+GTTTATTTTCATTTTTCACCTGTTTCTCATGCGGGGGTCTTTTGACGAGCTGCCGCGTCCTGGCGGGAGT
+GCTCAAGCAGGTTCTGCAAATAATGCAGCGTGACTGCAGGGACCAGCGGCGCGATAGCCGTGAGATCGTT
+TTTCGCCAGCAGTTGACGTACCCGGGAAGCGGATATCGGCATCTCCTGGTAACGCAGCCGCTCAATTTCA
+ACCAGTTCGATGGGCGGTGCGGAGATAGTCGGCGTTTCCAGCCAGTAGCGCATATCCTGGTTGTACTGGG
+CGGTAACGCGACAAAAGGGTTCAGTACCGACAAAGCGGTGAGTTACACCCAGCGCGGGAGCGAGGTACTG
+ACGGAAAATCTTCAGATCAATTTCGGTGTAACAATGGTTAATGACGCTCTGTTCTTTAATGAAGTAGCAA
+GGGAACGTAGCGCGGGAGATGATGTATTCGGAGCCGCGATGCACAGTCAGGCGTGGAATATCGGCGGTGC
+CTTTTAACACCAGATCCAGCCGGTCTTCATAGGGGAAGCGTGAAGAATCTTCTTTGACTAAAAACAGATG
+CAACCAGTCGCACTGTGCCGCAGCCTGTTGAATCAGATAACGGTGACCATTCGTAAAGGGATTGGCGTTC
+ATCACAATGCAGCCAATCTTGTTCCCTGGATGACGAAATTTTTTCAGCGATTCGGCATAGCGTTTCAGTC
+GCGTGGCGCTGTTTTCCATCAGCACCATCACGCCGGGTACGCTGGTCAGCGTGGAAAAACCGCACTGGCG
+GAACAGCGCCTCGTATTCGGTTTTGGTATAAATAAACAGATGCGTGCTATGCCGCTCATAGGCGAGGTTT
+ATCAGTTCAGTGGCTAATGTCAGCGCCAGTCCTTCACCGCGAACGGATTCACTGATAGCAACGCATTTAA
+TAATATTTCCGGCAATTCCACCGCACGCGATAAGCTTTTCATCGCGGGTTACGGTAATAAATACTTCGAC
+TGTGGTGTCAACGCTCAAATCATTTTCATGCAGGAATTGGGCGATTTCCGCCATTTTTTTATTTTCTGAA
+CGTTTTACGCGGGTGAAAATATCATTGCCGAACATAATAAATAGTATCCTGAAGGTGCATGTTGTTATCG
+ATTTGCAACGAATGTTGTTCAATGTTGCAAATTGATAACCTTTTATTTTCACTTGGGAGAAAGGGGGGCG
+ATCGAGGTATATCTTTTTCTCCTTTCGCTATACATCCTAAGGAGTATTTCGGCGTGAAATTTTGATTTAT
+TTCACATAGAGTTAGTGGTTTTTTATTTATTTAATGGTTTTAAGTTTTTTAACTAATGTAATTACGAAAT
+AACCCGCAGGTTTAAGTGATTTAATTGATTTAATGAATAAAATTTGCCACGATCATATTTAATATCTATG
+TATTTTGATTCAACATTTTAATTACATCCGTCAAAGAGGCTCGGGACAACCCGCAAGGAAAACAATGTTG
+CAGCTTAAAGAGAATAAACAGTTTGCATTTTTCCAAAGACTGGCATTTCCGCTGCGTATCTTTTTGCTGA
+TTCTGGTGTTCTCAATATTTGTCATTGCAGCCCTGGCGCAATATTTTACAGCCAGTTTTGAGGACTATTT
+AACGCTTCATGTGCGCGACATGGCAATGAATCAGGCAAAAATTATTGCTTCTAATGACAGTATCATCAGT
+GCAGTGAAAACGCGTGACTACAAGAGGCTGGCGACCATCGCTGACAAATTACAAAGAGATACTGATTTCG
+ATTATGTGGTGATTGGCGATCGGCACTCGATTCGTCTTTACCATCCTAATCCGGAGAAAATTGGTTATCC
+TATGCAGTTCACCAAACCGGGCGCGCTGGAGAAAGGGGAGAGCTACTTCATCACCGGGAAAGGGTCAATT
+GGCATGGCGATGCGTGCCAAAACGCCAATCTTTGATGACGATGGAAAAGTCATCGGCGTGGTGTCGATTG
+GCTATCTGGTGAGTAAAATCGATAGCTGGCGGGCTGAGTTTTTATTACCGATGGCAGGCGTGTTTGTCGT
+GCTGTTAGGGATTTTGATGTTGCTGTCGTGGTTCCTGGCCGCGCATATCCGTCGGCAGATGATGGGCATG
+GAGCCAAAGCAAATCGCTCGCGTGGTCCGTCAGCAAGAGGCGCTGTTTAGTTCGGTTTATGAAGGGCTGA
+TTGCGGTGGATCCGCACGGGTACATTACCGCCATCAATCGTAACGCAAGAAAGATGCTGGGGCTGAGCTC
+CCCCGGGCGGCAATGGTTGGGTAAACCCATTGCTGAAGTGGTCAGGCCCGCCGATTTCTTTACCGAACAG
+ATTGATGAAAAACGTCAGGATGTGGTGGCGAACTTTAACGGTCTGAGTGTTATTGCCAACCGGGAAGCTA
+TTCGTTCTGGCGATGATTTACTGGGGGCCATTATTAGCTTTCGTAGTAAAGACGAAATTTCCACCCTCAA
+TGCGCAACTGACGCAAATTAAACAATACGTCGAGAGCCTTCGTACATTGCGACACGAGCATCTCAATTGG
+ATGTCGACGCTCAATGGTCTGTTGCAGATGAAAGAGTATGATCGCGTGCTGGCGATGGTGCAGGGGGAGT
+CTCAGGCCCAGCAACAGCTTATTGACAGCCTGCGTGAGGCGTTTGCCGATCGCCAGGTGGCGGGGCTGCT
+TTTTGGTAAAGTGCAGCGCGCCCGCGAACTGGGGCTAAAAATGGTCATCGTCCCCGGTAGCCAGCTTTCG
+CAACTGCCGCCAGGACTGGACAGCACCGAGTTTGCAGCCATTGTTGGCAATTTACTTGATAACGCCTTCG
+AAGCAAGCCTGCGTAGCGATGAAGGAAACAAGATCGTTGAATTATTCCTCAGCGATGAAGGCGATGATGT
+GGTGATTGAAGTCGCCGATCAGGGCTGCGGCGTTCCAGAGTCTCTACGAGACAAAATATTTGAGCAGGGT
+GTCAGTACGCGTGCTGACGAGCCCGGTGAACATGGCATTGGGTTGTACTTGATTGCCAGCTACGTAACGC
+GCTGCGGTGGTGTTATCACTCTCGAAGATAATGATCCCTGCGGTACCTTATTTTCAATCTATATTCCGAA
+AGTGAAACCTAATGACAGCTCCATTAACCCTATTGATCGTTGAGGACGAAACGCCGCTGGCAGAGATGCA
+TGCGGAATATATTCGTCACATTCCCGGATTCAGTCAGATATTACTGGCGGGAAACCTGGCGCAGGCCCGA
+ATGATGATCGAGCGTTTTAAGCCGGGGCTAATCTTGCTCGATAACTATCTTCCTGACGGTAGAGGGATTA
+ATTTACTGCATGAACTGGTGCAGGCGCATTATCCCGGCGACGTGGTGTTTACCACTGCAGCCAGCGATAT
+GGAAACGGTGTCTGAAGCCGTACGTTGTGGTGTATTTGATTATCTCATTAAGCCCATTGCCTATGAACGG
+TTGGGGCAAACGCTAACCCGTTTCCGCCAGCGTAAACATATGCTGGAAAGTATTGATAGCGCCAGCCAGA
+AGCAAATTGATGAGATGTTTAATGCCTATGCTCGCGGTGAACCCAAAGACGAACTGCCGACCGGCATTGA
+CCCCTTGACGCTAAACGCGGTGCGAAAACTGTTCAAAGAGCCTGGTGTGCAACATACGGCAGAAACGGTG
+GCGCAGGCACTGACCATCAGCCGCACCACTGCCAGGCGTTATCTTGAATATTGCGCCAGCCGCCATCTGA
+TTATTGCTGAAATTGTTCACGGCAAAGTTGGCAGACCGCAACGCATATACCACAGTGGGTGACATGATAA
+AGCCGGAGGAAACTTGCCTCCGGCATTACTATTTACTTGCCTGTGACCGCTGCTGCCGTTCCTGGCACCA
+TCAGCTCTGTAGCAACGATAACAATCACCAAACCAACAAGCACCGGCACCGAGGTGCGTTTTACGACTTC
+AAACGGCGAGATCTTCGCCATCCCGGCAACCGCAACGACTACGCCAGAAACGGGTGATAGGGTACGACCC
+AGGTTTGACGCCTGCAGCATCGGGATAGTCAAATACGCCGGGTTAATGCCGGAGGAGTGCGCCAGTTTCG
+GGATCATCTCAACAAACGCATAAAACGGCGCATTGCCTGAACCGGTCGTGACTGCCGCCAGCATTGTCAG
+GATCACCAATACCAGCATCAGGATGATACTCGCCGAACCAAACGAGGTAGCGATAGAAATCAGACTTTGA
+ATAAAGCCGATGGTGCTAAGCCCCTGAGCGAATACCCCAGCGGCAACCAGCAGCATCACCACGTTAGCAA
+ATGCATCTGCCATACCGCGATAAGCCACTTCCAGACCAGAGAAAACTTTCTGGGTATTAAAGCTGCGGAT
+GAACTCCAGAATGGAGGCAATTAGCATACAAATCACCAGAATAGTGATGATGTGTAATTGCGGACCCCAT
+TTGCCGTCAAAAATCAGCACTCCGATGATCGGCGTGAACGGCAAAATGGCATAAAACGCAGGGGCAGTGG
+TGGTGATTTCACTGACATCTAACATTTCATGAGAGATGTGCTCTTTTTTATCCAGATAACGTTGCCAGAA
+GAAGTGGGCGATTGCCATGCCGATAATTGCAGCAATTGAGATAGGCAGCGTTGTTTTGAAGGCGAAGTCA
+ATCAGCGACATTTCGGAAGCCTGCGCCGCCAGCACCACATCCCCTGAAGTCGGTGCGAGAATAATCGCCG
+CCGGGGAGGCACAAATGGCAGCAGCTGCGCCACGACTGATACCAACGTTTACCATCACCGGAAACAGGGT
+TGCCATCAGCAAAACACCCAGACCGGTTGCGGAAGAGACAGCCAGTGACATCAGACAGGCAACAAAATAG
+GCGGCAATCATCAGAAGGTAAGGGGAGTTAATATACTGCAATGGTTTTGACGCCAGCTTGACCACCATAT
+CATTCGCGCCGATATGGGTCATGTAAGCGGCAAAGCCACACAGCATCATAATCATCATGCCGAGGTCGCC
+GCCGCGGCTCATTAGCAATATTTTAACGTATTCAACGATATCCGTGGCGCTGTAGCCTGTTGAAGCCTGG
+CTGGACGGTAACACTTTGTGCCCCATAATGGCACTGATAATCAGCAATAACAGGCCACCGACAAATAACA
+CGCCAGTGGCAGAATACCCTTTAATGATGTAGCGAGCTACACCCACAATAACCACAACCCCAATAAGGAG
+TTCAATGAATGTCAGCATAATTTTTCCTGTCTCCAGGCCCCAAAGTAAATAATGAAAAATTCCTAAAAGT
+TAAGGAAAAAATATGCCCAATAAATTGGCGGTGAATGCTGATTAAAATCAAGAAAAACTGCCATTAAGAC
+ATTGAAGTTGCTGTTTTTATACGTAGATAACAAAACGCATATTTAGCGGTTGGCAAATATCACATAATAA
+TGTGTGTAAATTGATGGTGGATTGATGCAAATTTGTTAATTGTAAGGTGTTAGCTGCGGTTGTGTGCTCA
+AAAAATAATCTTCCATGAGCATGGGTTGACGATACATAATATATTTTTCGTTAAGATATTTTTTATATCT
+TATTAAAAAATAAAGTAATTTTTATCGGTTGTACTTTGTTATCAGAAACGACTTGGTTTTTCTTTTATGA
+CTATTCCCATCGCAGAAAACGATGCATCGTCTTTAATCGATGCGCGGAAATATTTATCTTGAACTAGCGG
+AAATAAATAGAGCAGCTATTCATATTATTCTTCATGTTGGGGCTATTGAGGTTATGTTAATTGTAGCTTT
+GCTATGTTAGTAGTAGATTTTTGATAAATGTTTAATGGTCACAGATGAAAGTGAGTAAATATGTCGCTAT
+ATTTTTCTTTGTTTTTATTCAGTTAATCAGTGTTGGTAAAGTTTTTGCTAACGCTGATGAGTGGATGACA
+ACGTTTAGAGAAAATATTGCACAAACCTGGCAACAGCCAGAACATTATGATTTATATATTCCTGCCATCA
+CCTGGCATGCACGTTTTGCTTACGACAAAGAAAAAACCGATCGCTATAACGAGCGACCGTGGGGTGGCGG
+TTTTGGTCAGTCGCGTTGGGATGAAAAAGGAAACTGGCATGGCCTGTATGCAATGGCATTTAAGGACTCG
+TGGAACAAATGGGAACCGATTGCCGGATACGGATGGGAAAGTACCTGGCGACCGCTGGCGGATGAAAATT
+TTCATTTAGGCCTGGGATTTACCGCTGGCGTAACGGCGCGCGATAACTGGAATTACATCCCTCTTCCGGT
+TCTACTGCCATTGGCCTCTGTGGGGTATGGCCCCGCGACTTTTCAGATGACCTACATTCCGGGTACCTAC
+AACAATGGCAATGTGTACTTTGCCTGGATGCGCTTTCAGTTTTGAGACAAATGAAGTTTTAGTAAATCCT
+TTAAAATCAACCACTAAAATAATTAACATCAAAAATAACGCGACTTTTATCACTTTTTAGTAAAGTTGCA
+CTGGACAAAGCGTACCACAATTGGTGTACTGGTAACCGACACAGCATTTGTGTCTATTTTTCATGTAAAG
+GTAATTTTGATGTCTAAGATTAAAGGTAACGTTAAGTGGTTTAATGAGTCCAAAGGATTCGGTTTCATTA
+CTCCGGAAGACGGCAGCAAAGACGTGTTCGTACACTTCTCTGCAATCCAGACTAATGGTTTTAAAACTCT
+TGCTGAAGGTCAGCGCGTAGAGTTCGAAATCACTAACGGTGCCAAAGGCCCTTCTGCTGCAAACGTAATC
+GCTCTGTAAGATACGTCAGCAAGAATTCAAAACCCGCTTAATCAGCGGGTTTTTTTTGGTCTTTAGTGTG
+CGGTTGAGGCCGAAAACAGCCAGAAAGCCAGTGCGGTCATAGCAAAAGACCCCAAAAGATTGACGAAAAC
+GTTCAGTAACGCCCAGCCAAAGCGGCCCTCTTGTAACAAAAACACCACTTCTGCCGAAAATGTTGAGAAG
+GTTGTTAGACCGCCACAAAATCCGGTGGTGATTAATACTTTCCACACTGGATCAATGTTCGTCATCCTGC
+TGAACCAGGCGAATCCCATTCCTATGATGAATGCCCCAATCAGGTTTGCTGCCAGCGTCCCCAACGGAAT
+CGCCTGATGCAGCGGGTTAAATCGCATACTTAACAGCCATCTCGCCACGCTTCCCGTACCACCGCCAATA
+AAAACTGCTAAAAGAAGTTGTAACACTGCAAAATCCTGCTATTTGATTTGTATGAATGATAAGTGTAACG
+CCGAATAATCGCCGTTGGCGAATTTTACGACTCTGACAGGAGGAGGTGGCAATGCTGGTTGCCGCAGGAC
+AGTTTGCTGTTACATCTGTGTGGGAAAAGAACGCTGAGATTTGTGGCTCGTTGATGGCGCAGGCGGCGGA
+AAACGACGTTTCGCTGTTTGTCCTGCCGGAAGCATTGTTGGCGCGTGATGATCATGATGCAGATCTATCG
+GTTAAATCAGCACAGCTGCTGGAAGGCGAATTCCTCGGACGTTTACGGCGAGAAAGTAAACGTAACATGA
+TGACGACAATTCTGACGATTCATGTTCCTTCAACGCCGGGGCGCGCATGGAATATGCTGGTGGCGCTACA
+GGCAGGAAACATCGTCGCCCGTTATGCCAAACTGCATCTCTATGATGCATTTGCCATTCAGGAATCACGC
+CATGTTGATGCTGGTAATGAAATAGCTCCGTTACTGGAGGTGGAAGGGATGAAGGTCGGTCTGATGACCT
+GTTATGACTTACGCTTTCCAGAGCTGGCGCTGGCACAGGCATTACAGGGAGCTGAAATCCTGGTACTTCC
+TGCCGCCTGGGTTCGTGGGCCGCTCAAAGAGCATCACTGGTCAACGTTGCTTGCCGCTCGTGCGCTGGAT
+ACCACCTGTTATATGGTGGCGGCGGGGGAGTGCGGGAATAAAAATATCGGGCAAAGCCGGATTATAGATC
+CCTTTGGCGTCACCATTGCGGCAGCGTCAGAAATGCCTGCACTCATTATGGCGGAAGTGACGCCCGAACG
+TGTGCGTCAGGTACGCGCGCAACTGCCCGTCTTAAACAACCGTCGCTTTGCGCCGCCGCAATTATTATGA
+TGTTTTTTTACTCGGCGCTTGATTCACCTTGTTACAGATTGCTATTGTGTGCGCGCGTCGAATGACCGTT
+AATATTCTCTGGTTTTTAAGGCGCGTTCTGTTGCCGGTTATATGTCAAGAAGGTATCTATGGGTGAGATT
+AGTATTACCAAACTGCTGGTAGTTGCGGCGCTGGTCGTTCTGCTGTTTGGGACTAAGAAGTTACGTACGC
+TGGGCGGAGACCTTGGAGCGGCCATTAAAGGGTTCAAGAAGGCGATGAATGATGACGATGCTGCGGCGAA
+AAAAGGCGCAGACGTTGATCTTCAGGCTGAAAAGCTCTCTCATAAAGAGTGACGTGGCGAGCAGGACGCT
+CCCTCAATATCTTGTTCGATACAAAAACCCGCTTCAAAAAGCGGGTTTTTTATCAGACAGATGTAAGTAA
+TTATTACAGGATTACTTAACTTCCATCCCTTTCGCCTGCAAATCGGCGTGGTAAGAAGAGCGGACAAACG
+GACCGCATGCAGCATGGGTAAAGCCCATCGCCAGCGCTTCGGCTTTCATTTCGTCGAACTCATCCGGGCT
+AACGTAACGTTGAACCGGCAGGTGATGGCGGCTTGGCTGCAAATATTGCCCCAGCGTTAGCATCGTCACA
+CCATGACGGCGCAGGTCGCGCATTACCTCAATAATTTCTTCATTGGTTTCACCCAGTCCCACCATCAGAC
+CAGACTTGGTCGGGATTTCCGGATGCGCTTCTTTAAAGCGTTCCAGCAGCTTAAGCGACCAGTTGTAATC
+TGCGCCAGGCCGTACCTGACGGTAAATACGCGGTACGTTTTCCAGGTTATGGTTGAACACATCTGGTGGC
+GTTGCAGTCAGAATATCCAGAGCACGATCCATACGACCGCGGAAATCCGGCACCAGAGTTTCAATTTTGA
+TTTGCGGGCTTTTTTCCCGAATGGCAGTAATGCAATCCGCAAAGTGCTGGGCACCGCCATCGCGCAGATC
+ATCACGGTCAACGGAGGTGATAACCACATAACGCAGCGCCATATCGGCAATTGTCTGCGCCAGTTTCACT
+GGTTCATTGGCATCAGGAGCTACCGGGCGACCGTGGGCAACGTCACAGAACGGGCAACGGCGGGTACAAA
+TAGCGCCGAGGATCATAAACGTTGCTGTGCCGTGGTTAAAGCATTCCGCCAGGTTAGGGCAGGAGGCTTC
+CTCGCAGACAGAATGCAGGCCATTTTTGCGCATTGCGGCTTTGATGCCCTGGATACGTGTAGAGTCCGCT
+GGAAGCTTGATTTTCATCCATTCCGGCTTGCGCAGCAGGGCTTCGCGCTCTGTTGCCACGTTTTTAACCG
+GGATAAGGGCCATCTTATCGGCATCGCGGTATTTAACACCGCGTTCCATCACAATGGGTTTACTCATAGC
+GTGCGTGTTCCAGTTGCGAATTACGAAGGAAAGCGTTTCAATTCAATAGATTGTTGTAATTATCAACTAT
+TTTTGAATTAACGACTGGCAGTATATCATTGAAACGGACCTGAAAGCAGCCAAAGCGGTCGCGAAAATGT
+AAAATTGTTGTTGGATTGTGCCATTTTATCGTTCTGCGCTGTGATCTGGCTGTAACAATACTTTTTCAAA
+ATGCATTACGGATAACATCTATGGTCCTGTGCAAAACATGTTATCGGTGATGAGATCGGTTTGAAACTGA
+CTGAGTTGGTTTTCCGCGCCGCCGATGGGCAGGTTGCGCAGTAAAAGCTGTGGATAGTGAGTTTTAATCG
+CCCGATAGATGACAGGAAGGACCAGGGCTCCGACCGAGGGGGGGCAGATTAAGCACTTTCGCTGCATTAA
+CGATTCCTTTATGGACATATGCAACTTCAAAATAGTCAGAAGAGTAAGATCAATATTTCGTAAGGTTGTA
+AATATTTGTGGTTTACCTTCTGACGATTTTCTACTTAAACAGGGTTCAATTTGATTATTACTATCCACGC
+ACTTACTCAAATTTTATTCATGGAAAAATAATATTTATAAAAATTACAATAATCTTATGTCTAATTGGGA
+CGGAACGCTTTTGCTCACCATGGTAATTATTTCAATGAGTTAACCAATTGGGTGAGCTACGGAGCAAGGC
+GTAGCATCGCATTTCTGCAAGTGATAAAGAAAATATACAAACGCGAAGGAGATGTAAAGCATTAGCAGGT
+ATTATGAGTAATGACCCAGTGTAAATTGGGCCATTGATGTATGGAATTAAGCGGTAATATATTCGAAGTC
+AGGATTGTTTAGTAGCGCTAAAATATTTTCCAGTAAACGTGGTGCAATATTATTAGTTGTCGCTTCGGGT
+TTCCATTGTGATATTTTAGCCATTTCCATTCCTGCATACCCACAAGGATTAATACGTAAAAATGGTGAAA
+GATCCATATTGACGTTTAATGCCAGACCGTGGAATGAACAACCGCGTCGAATACGTAAACCCAGTGAGCA
+AATTTTCTTTTCCCCGACATAGACACCAGGCGCGTCAGCCCGAGGATGCGCTTCTATACCCAGTTCAGCC
+AGGGTATTCACCACTGTTTGCTCAAGCAAGGTCACCAGTTCACGCACACCGAGTTTACGGCGTTTCAGGT
+TAAGCAACACATACATCACCTGTTGCCCCGGCCCGTGATAAGTCACCTGCCCACCGCGATCGCTCTGGAT
+CACCGGAATATCACCCGGCATTAAAATGTGCTCCGCCTTTCCTGCCTGCCCTTGGGTGAATACCGGATAG
+TGCTCGACCAGCCAGATTTCATCAAGGGTACTATCATCGCGGGTATCGGTGAATTCATGCATAGCCTGGG
+AGATTGGCTCGTAAGGCTGAAGACCGAGCTGGCGGACAAGAATTTTATCCTGATACAAAACGGCGTCTCC
+GTGGAGAATGAGTAAAAGTGGGGGAAAAGTATATCACAGCGAGGAGAGGGGAGTTACCCGACCAGGAGCC
+GGGTAACGGAGAAGCGAGTTACAGAACCATGCGGACAATATCGATTTTGCCCAGTTCTTCATACAGTGTT
+TCAACCTGCTCGATATGAGTGGCGTTGATAGTGATAGATACCGAGTGGTAGTTGCCTTTGCTGCTTGGTT
+TTACCGTTGGGGTGTAGTCACCTGGCGCATGGCGCTGTACCACTTCAACCACCTGATCAACCAGCTCAGG
+TAACGCCTGCCCCATAACTTTGTAAGTAAAAGGAGTAGGGAATTCAAGCAGTTCGTTAAGTTTGGTTTTC
+ATGTCAGCTCCGGCGTAACGTAATTAAATAGCAACTCCCGCCAGAAGGCGGGAGTTTTTTACTGATGCTT
+AGTATATGGGGACGGAAATTACACTTTCAAGTGTTCAATTTTCAACCAAACCAGTGATGGAACATTAATT
+TAATGTAATCAATGATTTTGCCGAAGAAGTTACCTTCCGGGATTTCTTGCAGCACAACCAGCGGGCGTTG
+TTCGATCGTTTTGCCATCAAGCTGGAAGTTGATAGTTCCGACGACCTGATTCTTTTGCAGCGGCGCATGC
+AATTCACTGCTGTTCAGCACATAGCTGGCTTTCAGATCTTTCATGCGACCACGCGGAATGGTCAGGTACA
+CGTCTTTATCAACCCCTAACGAAGCGCGATCAGAATCACCAAACCAAACCGGTTCAGAGGCGAACTCTTT
+ACCTACTTTCAGTGGGTTAACGGTTTCGAAGAAACGGAAGCCCCAGGTTAGCAATTTTTTACTTTCGGCT
+TCACGGCCTTTAAAAGTACGTCCGCCCATCACCGCAGAGATCAAGCGCATCTGGCCTTCAGTCGCAGAAG
+CAACAAGGTTGTAACCTGCTTTGTCAGTGTGTCCGGTTTTGATGCCGTCGACATTCAGGCTGTTATCCCA
+TAACAGGCCGTTACGGTTCAGCTGGCGAATACCGTTAAACGTAAATTCTTTTTCTTTATAGATCGAGTAT
+TCATTCGGTACGTCACGGATCAACGCCTGGCCGATCAGCGCCATATCTCGCGCGGAGCTGTACTGACCAT
+CAGCATCCAGACCGTGTACCGTCTGGAAGTGGGTATTTTTCAGGCCCAGGGCGTTAACGTAGCTGTTCAT
+CAAGCCAACAAAAGCGTCCTGGCTACCAGCGGCAAAATCGGCCATGGCGACACAAGCATCGTTACCCGAT
+TGCAGGTTAATACCGCGGATCAGCTGAGAAACCGGAACCTGCATGCCCGGTTTGAGGAACATCAGCGAAG
+AACCTTTAAACACCGGGTTACCGGTGGCCCATGCGTCGTTGCCGATAGTGACTAAATCAGTTTCTTTAAA
+TTTACCGGCTTTCATTGCCTGGCCGATAACGTAACTGGTCATCATTTTGGTCAGGCTGGCAGGATCGCGG
+CGGACATCAGCGTTCTGTTCGGCGAGTACTTTGCCGGAGTTGTAGTCAATCAGGATGTAGGACTCCGCGT
+CGATCTGCGGTACACCCGGGATCATGGTTTTGATATTCAGGTCATCGGCATGTGCAGCAGAGATAAAGGC
+TGTGCAAAGAGCCGTGGTGAGCGCCAGGCGCTTCATGATACGAGCGGAAAAAATGGTATTCATGGTCTGA
+ACTACGACATCCGTGATGGAATTAAAAAAAGTGCCCTACTATAGCAAATGCACTACCGGCAGGCATCTGA
+CTTTCCGCGTGACTTTGTTAACGTCATTTACAGAAATTGACACATCAGATGCCTGCTTTACGCTACTGCG
+CGGTGGTAATAAATGACTGTAATTGGGCTTCGGTTTGCAAACGTTGCTGCAAGGTACTGGCTTCGGCTTT
+GCTGGCGAATGGGCCAAGCTGGATCCGCCAGACCGCGCCATTTTGAGTTACGCGACCGGGGACGCCGAAC
+TTCTGTCCCAGTTGCTGTTGGTACTGTTGCGCACGAGCCTGATCGCTAACGGCCCCGACTTGCACCATAA
+AGTTGCCGCTGGCGCTTTGCGAGGCGGCTTGCGGTGTCACCATTGCAGGTGAGGTTGCAGGCGTTGTCGA
+CGGAGCTGTAACAACGGGCTGTGGCGCAGGCGTCGGTTCGCTGCCTTCCAGTACACCAGGCGCTAAGGTC
+GTTGGTGCGCCGAGGAAACCGCTGCTGGTTACCGGCGCGCCGGTCGGATCTTCGCTTTTTAGCGTCGAAT
+TACTGACCGGAAGAATGTCACCCTGCGGGACAGGCACTGAACTTGTTCCCGCGCCACCGCTTAAATCGGG
+AGGTGCTGGCAGGGCGTAAGTCTGTTTGGCGACTGTGGTACAAGCCATACCAGGACCAGAAAGCGAACCA
+TCCTGGGCGACAATAATCGGATCGATACGAACTTTGGTGTTGTTTGACGTGTTAAGACGGTCAGCTGCCG
+CGCGAGAAAGCGAAATCACGCGGTCGTTGCCATAAGGGCCGCGATCATTAATGCGCACCACGATCATTCG
+CCCGTTAGCCAGGTTAGTGATTCTGGCGTAGCTGGGGATTGGAAGCGTTGGATGGGCCGCCGTCAACTGT
+GTCGGATCGAAAGCTTCGCCAGAGGCCGTCAGGTTACTGCCGGGTTCGGCATCATAGATTGCCGCCAGTC
+CCGCCTGGCTAAATCGAGACGGATCCTGCACGATTTTGTAGCTTTTACCGTCGCGCTGGTAATCCTGATT
+TGCCGTCGCGTTCAGTGGTTCGAAACGCGGGTCTGCCCCGCTAATTTCAACTATGGGGCCGTTACATACC
+GCAGGCTGCGGTACACTTACCGTCTGTTGCTGACCATCATCGCTTGTACATGCCGCGAGCATTCCTGCCG
+CGATGCAGATCCCGAGCCACTGCTTACGCATTGCGCACCTCTTACACGCTTTTCGACAACATTTTCCTGT
+GGGTGTGGATTGACATTACAATCCCGAACCCAGCCATCAGCACAATTAGCGCCGATCCTCCATAACTGAC
+CAGTGGGAGCGGAACCCCTACAACCGGCAGAATACCGCTTACCATACCAATATTTACGAAGACATAAACG
+AATAATATCAGCATTAAGCCGCCAGCCATGACGCGACCAAAGGTGGTTTGCGCTCTGGCGGCTATCCACA
+GCCCGCGCATGATCAGCAGAATGTAAAGAGCGAGCAGAATCAAAATGCCCACTAATCCCAGCTCTTCCGC
+CAGTACCGCGAAGATAAAGTCGGTATGGCGTTCGGGGAGAAATTCAAGCTGTGACTGAGTGCCGTGCAGC
+CAGCCTTTGCCGCGTAATCCGCCGGAGCCAATAGCAATTTTAGACTGAATAATGTGATAGCCTGCGCCGA
+GTGGGTCTGATTCCGGGTCCAGGAGCATCATTACGCGCTGGCGCTGGTAATCATGCATCAGGAAGAACCA
+CAGAATCGGAATGAACGCCGCTACCAGCACTACTGCGACGCCAATCAGACGCCAGCTAAGGCCAGAGAGG
+AACAGTACAAACAGGCCGGAAAGCGCAACGAGGATTGATGTTCCCAGGTCAGGCTGTGCAGCCACCAGCA
+GCGTGGGCATAAATATCAGCACCAGCGCGATAGCTGTATTCTTCAATGAAGGTGGGCAAACGTCGCGGTT
+GATAAAGCGTGCAACCATCAACGGTACGGCTATCTTGGCAATTTCCGACGGTTGAAAACGAACAATACCG
+AGGTCCAGCCAGCGTTGAGCGCCTTTAGAGATGGCACCGAAAGCATCTACCGCCACCAGCAAAATAATAC
+AGATGATATAGAGATAGGGGGCCCAGCCTTCATAAACGCGTGGAGGAATTTGCGCCATCACCACCATGAT
+GACCAGACCCATCGCAATCTGGCCGATTTTACGCTCCATCATGCCAATATCCTGACCGCTGGCGCTCCAG
+ATAACCAGGGCGCTGTAAACCAGCAATGCCAGTAAGATCAGCAGCATTGTGGGATCGAGATGGACTTTAT
+CCCAGAATGTTTTTTTATTCGGATTATCCGTCATGATTAATGGTCCTCCGCTGCGGCAACCGCTGGATTT
+TCCGCAGGCAGATCGGTGTTGTTATCACCCAGCATAATGTGGTCGAGGATCTGGCGCATCAGCGTACCAA
+CCGCCGGACCCGCGCCGCCGTTCTCCAGAATCATGGCGACAGCCACTTGCGGATTGTTGTATGGCGCAAA
+GGCGGTCATCAGTTTGTGGTCACGTAAACGCTCGGCAATTTTGTGCGCATTATAGGTTTCGTTCGCTTTC
+AGACCGAAGACCTGAGCGGTACCGGATTTCGCCGCAATTTTGTACGGTGCGCTGGCAAAATATTTATGCG
+CCGTACCGTTAGGGCGGTTAGCAACACCGTACATACCGTCTTTCGCCAGCTCCCAGTAACCGGAATGAAT
+ATCGCCGACGGGCGGTTCATGCGGTTGTACCCATGGCACCTGTTTGCCGTCTTCGGCGGTGCTCATCAGC
+AAATGCGGAACCTTCACGATACCGTCATTAATCAGGATCATCAGTGCCTTACTCATCTGGATTGGGGTCG
+CTGTCCAGTAACCCTGACCGATACCAACCGGAATGGTGTCACCCTGATACCACGGTTTTTTAAAGCGTTT
+TTGTTTCCATTCGCGGGTTGGCATGTTACCGGAACGTTCTTCCGCCAGGTCGATACCGGTGTAATGACCA
+TAACCGAATTTCCCCATCCATTCGGAGAGGCGATCGATCCCCATATCGTAGGCCACCTGATAGAAGAAGG
+TATCCGCAGATTCTTCCAGCGATCTTGTGACATTCAGACGCCCGTGGCCCCATTTTTTCCAGTCACGATA
+ACGTTTTTCCGAACCTGGAAGTTGCCACCAGCCGGGGTCAAACAGCGTCGTATTGCGCGTGATCACCCCG
+GCACTCAATGCCGAAACCGCAACATAGGGTTTAACTGTAGACGCGGGAGGATAAACCCCCTGTGTGGCGC
+GGTTCACCAACGGTGTATTCGGGTCGTTCAGCAAGGCGGAATAATCTTTGCTGGAGATACCGTCAACAAA
+CAGGTTTGGGTCATAACTAGGCGTGGAAACCAGCGCCAACACCCCACCTGTACGCGGATCGGTGACTACC
+ACAGCTGCGCGGCTACCCGCCAGCAGCGTTTCAATATATTGCTGGAGTTTGAGATCCAGCGTCAGGTAAA
+TATCGTGTCCGGCTTGCGGTGGTACTTCTTTTAACTGGCGGATAACACGCCCACGGTTGTTAACTTCAAC
+CTCTTCATAACCGGTCTGACCGTGCAGCACGTCTTCATAGTAGCGCTCAATGCCCAGCTTACCGATATCA
+TGCGTCGCCGCATAGTTGGCCAGTTTGCCGTCATTATTCAGGCGTTCGACGTCTTTATCGTTGATTTTCG
+ACACATAGCCGATGACGTGGGTCAACGCTGAACCGTAAGGATAGTAACGACGTTTATAGCCTTTAACTTC
+GACGCCAGGAAAACGGTACTGGTTGACGGCAAAGCGAGCTACTTGTACTTCGGTCAGGTTAGTTTTCACC
+GGAATAGAGGTGAAACGGTGTGAACGTGCGCGCTCTTTTCGGAATGCAGCAATATCATCATCGGTCAGAT
+CAACCACGCTGCGCAAAGCGTCCAGCGTTTGCTGCACGTTATCGACTTTCTCCGGCATCATTTCTATCTG
+GTAGATAGTGCGGTTGAGAGCCAGAGGGATACCGTTACGGTCGTAGATAATGCCGCGGCTGGGTGCGATA
+GGCACCAGCTTAATGCGGTTTTCATTAGAGCGGGTCTGGTAGTCGGTAAAGCGAACAATTTGCAGATTAT
+ACAGGTTGGCGATAAGCACGCCGGTCAGCAGCAAAATCCCCAAAAAGGCGACCAGCGCCCGGCGCACAAA
+CAGCGCGGACTCTGCCGTATAGTCGCGAAAAGAGTTCTGTAGTTTCATCCGCTGCGTTTTCTACTCAAAG
+CTCACTTATCACTCACGGTGATAAGGATGGTTGGTGGTGATGCTCCACGCCCGGTACAGACTCTCTGCGA
+CCAGCACGCGAACCAGCGGATGGGGAAGGGTAAGTGCCGACAGCGACCAGCTCTGCTCCGCCGCCGCTTT
+ACAGGCAGGCGACAACCCTTCAGGCCCGCCAATCAGTAGACTGACGTCGCGACCATCCAGCTTCCAGCGT
+TCCAGCTCAGCGGCTAACTGCGGCGTATCCCAGGGCTTGCCTGGAATATCGAGGGTGACAATGCGGTTTT
+TGCCTGCGGCCGCCAACATCTGCTCACCCTCTTTGTCGAGTATGCGCTTGATGTCCGCATTCTTGCCGCG
+TTTTCCGGCCGGAATTTCAATCAGCTCGAAGGGCATATCTTTCGGAAAACGACGCAGGTACTCGGTAAAA
+CCGGTTTGTACCCAGTCCGGCATTTTCGTTCCCACGGCGACAAGTTGCAGCTTCACGCATTAACTCCAGA
+GTTTTTCCAGTTCATACAGGCGACGGCTCTCTTCCTGCATGACATGGACAATCACATCGCCCAAATCCAC
+GACAATCCAGTCGGCGCTGTTTTCACCTTCTACGCCGAGCGGTAACAGGCCCGCTGCGCGAGACTCCTGC
+ACAACGTGATCAGCAATGGACATAACATGGCGGCTGGACGTACCCGTACAGATGATCATGCAGTCGGTGA
+TGCTGGATTTGCCCTGAACGTCTAAGGCGATGATGTCCTGACCTTTGAGGTCATCAATTTTGTCGATAAC
+AAAATCCTGGAGTGCTTTACCCTGCAAGTTTTCCCCCTGGGTGAATCAAATAGATAAAAATGGTCTGTCA
+GTATACCTGAACCAGAGGCGATTTCGGGACAATTGTCGCCGAATCGGCTTTCGAAAGTGGGCTATCATCC
+CACCCCGCGCCGCAGATTGCATCGCCATTTTTGTAAAACAATTTCTACAAAGTCGTGTCTGGCGGAAAAA
+GTCTGGCTGCGGAGAATATCAGCCTGCCCGGGGCTGTCAATGGTCGTTGCGGCTTACCCGTAAAAAAACA
+GAAAAGTCATGCATTCTCGACCCCGATGGCACGGCTATTGAGGACGCGTAGCGTCGCGAATTTTTGGTTG
+ATATCAATGGCGCTCCAACACCCCTGGTCAACGCGGAAATGCCACATAGACTCGGCAGGCATACCAATTA
+AACGAGTAATTAACAGACTCAGTACGCCCTGATGGCTGACGACTAAAATATTCTGATAGTGCTGATATTC
+ACTAAGCCTTGCGATAAATCGTTCCACACGTTGCGAAAATGCCTGAAATCCTTCACCGTTCGTGGGGATA
+GCATGCTGCCAGTCATTGCACCACGCGCTATAGTTTTCGGCATCTTCTTGCATGAGGTCACGATGATGTC
+GCATCTCCCAGTCGCCAAAAAACATTTCATTGAGTTCAGGGATGATATGAACGGGGTGCTGGCGGTCACT
+AAGAACCAGTCGCGCGGTATGCTGTGCCCGTTCCAGTTCACTGCATAAAACCAGGTCAAAGGAAACATCA
+TGTAGCAGCGTATGCAGATTTTGCGCTTGCTCAATACCGCGCGCGGTCAGGGGTGTGGGCGCATGACCGC
+TGTACAGACCATCGACATTCGCTTGCGTTTCACCATGACGAATTAACCACAGTCGCATCATGCCCTCCGT
+AACGACAGGTATCAGCGATACAAGCCTTGTTGGTTAATGTAAGTCAGTACCGGTTCCGGTAATAAATCCT
+CACACGATTCACCATTTTGCAAACGTTCGCGGATGATGGTCGCCGAGATGTTAAACCACGGCGTTTCAGC
+CAGATAAATTTTACCGGCAGGCTGAAGGTGAAGATCTTCCGGGTTATGTGTCAAATGATCCTCCAGCCAT
+TGCTGATATTGTGGTTGTGCCATTTCAAGTGGGTAACCTGGACGCCGACAGACGATCAAATGTGCATTGT
+CGAGTATCGTTTCGTATTCGTACCAGGTCGGAAAGGTCAGCAATGAATCCTGACCAATAATAAACGCCAG
+CGGCACGTCCGGTCCTTGCTCCTGCCGCCACTCTTTCAGTGTTTGCGCAGTGTAAGAGGGGGCATTGCGC
+TTTAGCTCGCGTTCATCAAGAGTAAATAATGGCTTGTCGGCAATCGCCAGTTCAAGCATGTGTTTACGCT
+GCATGCTGTTTGCTTCCGGCTGGGGACGATGCGGAGGAACATTATTAGGGATGATTGTGACCCGCGTCAG
+ACCAATCAAATTCGCCAGCGTTTCCACGGGTTTAAGATGACCATAGTGCACCGGATCAAAGGTGCCGCCA
+AACAGAGCCTGTAAAGATTTCATATCAACCGTCGATAAATACGTCCGCCAGGGGTTTATGGCACAACAGA
+AGAGATAACCCTTCAAGCTCTGCCCACACTGACTGACCGTAATCTTGTTTGAGGGTGAGTTCCGTTCGTG
+TCAGGAGTTGCACGGCCTGACGTAACTGCGACTGGCTTAAGCGATTTAACGCCTCGCTCATCATGCCCCG
+GCGGTTCTGCCATACCCGATGCTTATCAAACAACGCACGCAGTGGCGTATGGGCAGACTGGCGTTTCAGG
+TTAACCAGTAACAACAGTTCACGTTGTAATGTGCGCAACAAAATAACCGGTTCGCTGCCTTCCAGACGCA
+GTTGCTGAAGAATATGCAACGCGCGCTTACTTTTTCCCATCAACAAAGCATCAACCCAATGAAAAGGGGT
+GAAATGCGCGGCATCATTCACCGCCTGTTCAACGCGCGGTAATGTCAGTTTGCCGTCCGGCCAGAGTAGC
+GATAAACGCTCCAGTGCCTGGGCCAGCGCCAGCAGGTTACCTTCATAACAGTAGCAGAGCACCTGATTTG
+CAGCGTCATCCAGTTCTAAGTTGAGCTGTTTTGCGCGCGCAGCAACCCAGCGGGGCAGCTGAGCCTGCTC
+CGGTGTCTGACAGGTCACCTGCACGCTGCGATTCGCAAGAGCAGTAAACCAGGCGGCATTTTCTTGCGCT
+TTGCTTAATTTATTACCGCGGACGATCAACAGTAGATCGTCATGCAGAAGTCCGGTGAGTGTGAGAAGTT
+GTTCATTGATCGCCGCATTCGGTCCGTTTTCGGGTAACAACAGCAATAGCGTTTGTCGACTGGCAAACAG
+GCTCATGGCCTGGCATAACGAAAAAATCGCATTCCAGTCGGTGTTGGGATCAATGGAAAAAGTGTGGTGT
+TCTTCGAACCCTTGCGCCGCAGCGACCTGACGAACAGCGTCCTGGCTTTCCTGCAATAACAGAGGATCGT
+TACCAAGTAAAAGATACGCCGCGCGCAGCCCTTCATTGAGCTGCGCGCGGAGTTGTTCCGGGTACAACCG
+AATCATCAGTTACCCAGCGTGGTGGAGACGCGTGCAGGCGTTGCCGGAGTATCCGTTGTGGTCGACGTCT
+GTTCTTCGTCGGAACGAATATCCGCAGCACGGATGCTTGGCAGCTTACGAATCAGCTGTTCGGCAGCACG
+GTCGTACATCTCTTTTACGATCATGTCTTGTTCGTTATCTTTCGCTAACGCCATTTGCGGGTTATCGAAG
+AACGAACGGAAGACTTTGGCGCTAATCGGGTAGATGTCACGGCCGGGGATCAACACGGTCGCATTCACCG
+TCATGATCATCTGATACTCTGCTGTTTGACCGTTACGGAATACCGATGCGGTATCTTTCGCGATGCTCAC
+TTTACCCAAACGCAGGGATGGAACGTCCTTACGCGTGGTTTCTTTATCAAGCAACTCGACACCATTCAGA
+CGTAACTGGTTACGCACCGCACGGCTTAATGGCCCGTTCGGATCGCCTGAGTCCAGGATCATGACTTTCA
+TAGTGGAAGGAACCTGCGTGGTGTCACGCAGATGCCAGCCACACCCGGCGGTGATTAACACCGCCAGAGA
+TAACAACAATGTTGCCAGATATCGCACGCTTCCTCCCGCGCTTAGCCAACGACCAGATTGAGGAGTTTAC
+CTGGTACGTAAATCACTTTACGTACAGTAACGCCATCAAGATATTTTGCTACCAGATGTTTCTGGCCAGC
+ACGTTCGCGAACCTGTTCTTCCGTTGCGTCCACCGGAACGGTGATTTTTGCACGGACTTTACCGTTAACC
+TGCACCACGACCAGCGTGGAGTCTTCCACCATCGCTTTTTCGTCAGCAACCGGCCACGGCGCGTTGTCGA
+TATCGCCTTCGCCTTTCAGTTCCTGCCACAGCGTGAAGCAGATGTGCGGGGTGAACGGGTTAAGCATACG
+GACTACCGCCAGCAGCGCTTCCTGCATCAGGGCGCGATCCTGCTCGCCATCGGTCGGTGCTTTCGCCAGT
+TTGTTCATCAGCTCCATAATCGCCGCAATTGCGGTGTTGAAGGTCTGACGACGGCCGATATCATCGGTTA
+CTTTAGCGATAGTTTTATGCACATCGCGACGCAGCGCTTTCTGATCTTCAGTCAGCGCATCGACGTTCAG
+TGCCGCAACATCACCTTTTGCTGTGTGCTCGTACACCAGTTTCCAGACACGTTTCAGGAAGCGGTTAGCC
+CCTTCCACGCCGGACTCCTGCCATTCGAGAGTCATATCAGCCGGAGAAGCAAACATCATAAACAGACGAA
+CGGTGTCCGCGCCGTAACGTTCAACCATCACCTGCGGGTCGATACCGTTGTTCTTCGACTTGGACATTTT
+GCTCATGCCGGTATAAACCAGTTCATGGCCTGCCGCATCTTTCGCTTTCACGATACGGCCTTTCTCGTCA
+CGTTCAACGATAGCATCAACCGGGGAAACCCAGTTACGTTCGCCGTTTTCACCAACATAGTAGAAGGCAT
+CTGCCAGCACCATACCCTGACACAGCAACTGTTTCGCTGGTTCGTCAGAGTTCACCATGCCTGCATCACG
+CATCAGTTTGTGGAAGAAGCGGAAGTAGAGCAGGTGCATAATGGCGTGTTCGATACCACCAATGTAAATA
+TCCACCGGCAGCCAGTAGTTAGCCGCTTTGGAATCCAGCATACCTTCTTTGTACTCCGGGCAAGTGTAGC
+GCGCATAGTACCAGGAGGACTCCATAAAGGTGTCGAAAGTGTCGGTTTCACGCAGTGCTGGCATACCGTT
+AACGGTAGTTTTTGCCCATTCCGGATCTGCTTTAATCGGGCTGGTAATGCCGTCCATCACCACATCTTCC
+GGCAGGATCACCGGCAGCTGGTCGTCCGGGGTCGGCATTACGGTACCGTCTTCCAGCGTCACCATCGGAA
+TCGGCGCGCCCCAGTAACGCTGACGAGAAACACCCCAGTCGCGCAGGCGGTAGTTCACTTTACGCTCGCC
+AACGCCCATCGCAGTCAGTTTATCGGCGATGGCGTTGAAGGCCGCTTCATGGTCAAGACCATTAAACTCG
+CCAGAGTTGAACAGCACGCCTTTTTCAGTCAGGGCTTGCTGAGAAAGATCTGGCTCAGAGCCGTCAGCTG
+CCAGGATAACCGGTTTGATGTTCAGGCCGTATTTAGAGGCAAACTCGTAGTCGCGCTGGTCGTGACCCGG
+AACCGCCATAACTGCGCCCGTGCCGTATTCCATCAATACGAAGTTTGCTGCCCAAACGGGAATTTCTTCG
+CCCGTTAATGGGTGAACCGCTTTAAAGCCAGTATCGACGCCTTTTTTCTCCATCGTCGCCATTTCAGCTT
+CGGCAACTTTGGTGTTACGGCATTCGTCAATAAAGGCGGCCAGTTCAGGATTATTTTCCGCCGCTTTCTG
+TGCCAACGGATGACCCGCAGCCACCGCCAGGTAGGTACAACCCATAAAGGTGTCCGGGCGGGTAGTGTAA
+ACGGTCAGCGTGTTGTCATAGTCGTTAACGTTGAAGGTGATTTCCACGCCTTCGGAACGACCGATCCAGT
+TACGCTGCATTGTTTTAACGGTGTCTGGCCAGTGATCCAGTTTATCCAGATCGTTGAGCAGCTCGTCAGC
+GTAAGCAGTGATTTTGATAAACCACTGCGGGATCTCTTTACGCTCAACTTTGGTATCGCAGCGCCAGCAG
+CAGCCGTCGATAACTTGTTCGTTCGCCAGTACGGTCTGGTCGTTCGGGCACCAGTTGACCGCAGAAGTCT
+TCTTATATACCAGGCCTTTTTTATACAGTTCGGTGAAGAATTTCTGTTCCCAACGGTAGTATTCCGGCGT
+ACAGGTCGCCAGCTCGCGGCTCCAGTCATAACCAAAGCCCAGCATTTTGAGCTGGTTTTTCATATACGCG
+ATGTTGTCGTACGTCCACGGTGCTGGCGCGGTGTTGTTTTTCACCGCCGCGCCTTCCGCAGGCAGACCAA
+ATGCGTCCCAGCCGATTGGCTGAAGAACGTTTTTGCCCAGCATGCGCTGGTAGCGGGCGATCACGTCACC
+GATGGTGTAGTTGCGAACGTGGCCCATGTGTAGTCGACCAGAAGGATAGGGAAGCATAGACAGGCAGTAA
+TACTTCTCTTTGCTCTCGTCTTCGGTTACTTCAAATGTGCGCTTCTCATCCCAGTGAAGCTGTACTTTGG
+ATTCTATCTCTTCCGGGCGGTATTGCTCTTGCATGGCAGCCAGTGGTCCTGTTTTCAATACGGCTACAAA
+TGTAGCGTTGATGTGGTTTTTCAGATCCGCATAGCATAGCCCAAACGCCCGCGTCAAAACAGCCTTTCGC
+GCACTCGACGTTGAAATGATGCCCGGATTATTCATACATTAATTTACAGAGTTTGTGGGCGTATTAGCAA
+AGCAAGGAACAAAGAACGTCTATTATTATAGTCAGTTAACGACCCGGGAGATGAAACGATGAACAAGGTT
+GCTCAATATTACCGTGAACTGGTCGCGTCACTGAGCGAACGCCTGCGCAATGGCGAACGTGATATCGACG
+CACTGGTGGAACAGGCGCGCGAGCGCGTAATAAAAACAGGGGAGTTAACGCGAACCGAGGTCGATGAGCT
+GACGCGAGCTGTCAGACGTGACCTGGAAGAGTTCGCCATGAGCTATGAAGAGAGCCTGAAAGAAGAGTCT
+GACAGCGTCTTTATGCGGGTGATTAAAGAAAGCTTGTGGCAGGAGCTGGCAGACATCACCGATAAAACGC
+AGCTTGAATGGCGCGAAGTTTTCCAGGACCTCAATCATCACGGGGTTTATCACAGCGGAGAAGTGGTAGG
+GCTGGGAAATCTGGTCTGCGAGAAATGTCACTTCCATCTCCCGATCTATACACCGGAAGTGCTGACGCTA
+TGCCCGAAATGTGGTCATGATCAGTTCCAGAGACGCCCGTTCGAGCCGTAATGAAATGAGTGGCGCCGGA
+TGGCGTGATGTCATCCGGCGAGTGATTAAGCGTAAAATTTCAGACGATCAGCCAGTAAATCAACAAAGCC
+CTGACGATCAACATCGACCATTACAGTGGCATTCGGTTTATTGCCAGTCAGATAATAATAATCAACAACC
+GTCATACCTTGGGTATATTTCCCTTGTGTTTCCACGCCAACCCAGCGCTCAACAGTGGTAAACAACTCCG
+GTTTTAACAGCCAGGCGATGGTGCATGGGTCATGCAGCGGTGCGCCGACAAAGCCCCATTTTTCGTCTTT
+ATGATATTCGAGGAAGAAATCCAGCAGTTCGGCAACAATGGTTGAAACAGGGTTGCCAATCGCGCGGAAA
+CGCTCAGTGTCTTCAACGTGGATTTGTGCTTTGTGAGTAACATCCAGACCGGCCATCACCACCGGAATTC
+CTGACTGGAAGACAATTTCTGCCGCTTCCGGGTCAACGTAAATATTAAATTCAGCCGCAGGCGTCCAGTT
+ACCAAGCCCCATTGCGCCGCCCATAATCACGATACGGGCAATTTTGCTATGCAGTTCCGGGTGGCTATTG
+AGCAGCAAGGCAACGTTAGTTTGCGGTCCGGTAGAAACAATGGTGACAGGTTCCTCACTTTCACACAGCG
+TTTTCGCCATCAGCTCCACCGCCGTACAGTTTTGCGGTGCGAACGTCGGTTCCGGTAATGCCGGGCCGTC
+GAGACCGCTTTCGCCGTGCACGTTGTCCGCAATAATCAAATTACGCATTAACGGTTTTACCGCACCGCTT
+GCTACCGGAATATCGGTGCGATTAAGCAAGGTCAGCATACGCAGAACATTGCGTAAGGTTTTTTCTGGTG
+TCTGGTTTCCGGCGGAGGACGTAATTGCTTTGACATCAAGCTCTGGTGAGGCGAGGGCGAGAACGATTGC
+GATAGCGTCGTCATGACCTGGGTCGCAATCTAACAGAATTGGCAGTGCCATTGTTGCTCCTTGTTGTGTG
+TTTCTTTGCGACAAGGGTAACGCCGGGATGTAACAGATACGAGGGACGAAACGAGAAAGCGTGAGATGGC
+GCGCAATTGAGTATGCGCGCCAGAGTGATTAATGCAGGATTTTTGCGAGGAAGTCTTTTGCGCGGTCCGA
+TTTCGGATCATCGAAGAAAGCGTCTTTCGGCGAGTCTTCGACAATTTTACCCTCGTCCATAAAGATCACC
+CGATTCGCCACTTTACGGGCAAAGCCCATTTCGTGGGTCACCACCATCATCGTCATTCCTTCGTTCGCCA
+GTTCGACCATCACGTCCAGCACTTCGTTGATCATCTCCGGATCCAGCGCCGACGTTGGTTCGTCGAACAG
+CATGGCAATAGGATCCATGCACAATGCGCGAGCGATCGCCACACGCTGCTGCTGGCCGCCGGAAAGCTGC
+GCCGGAAACTTATTGGCATGTGCGGAAAGCCCGACGCGCTCCAGCAATTTCAATGCTTTTTCACGAGCCG
+GCGCTTTATTGCGTTTAAGCACTTTCACCTGCGCCAGGGTCAGGTTTTCGATAATCGACAGATGGGGGAA
+CAGCTCGAAATGCTGAAACACCATCCCGACGCGGGAACGCAGTTTCGCCAGATCGGTTTTCTTGTCGTTA
+ACCACGATGCCATCGACGGTGATTTCACCTTGCTGCACCGGTTCGAGGCCGTTGACGGTTTTAATCAGCG
+TTGATTTGCCGGAACCAGACGGGCCGCAAACCACCACAACTTCGCCTTTTTTCACTTCGGTTGAGCAGTC
+GGTCAGCACCTGAAAGTGACCATACCATTTTGAAACATTTTTCAGGGTAATCATTATGCTGTCCTTCTTT
+TCAAGTAGCTGACCAACAACGATGCGCTAAGGCTAATAACGAAATAAACAAATCCGGCAAACAGGATCAT
+CTCAACCTGCGTACCATCGCGCTCACCAATGGTTGAGGCGGTACGGAAGAAATCGGCCAGAGATAACACA
+TACACCAGTGAGGTATCCTGAAACAGTACGATGCCCTGAGTGAGCAACAGCGGCACCATCGCGCGGAACG
+CCTGCGGCAGAATAATCAGTTTCATCGACTGCCAGTGAGTCATTCCCAACGCCAGCGCGGCGCTCGACTG
+ACCACGAGAAATACTTTGAATACCAGCACGGATAATCTCTGAATAGTAGGCCGCTTCAAACATCGAAAAC
+GCCACCATCGCCGAAATTAAACGGATATCATTTTTGGGTGATAATCCCAGCACGTTTTGCAGAAAACCCG
+GTACGATCAGGTAAAACCACAGCAAAACCATAACTAAAGGAATCGAGCGGAATACGTTAACGTAGGCTTT
+GGCAAACCACGCTACGGGCGCAAAGCTGGACAAGCGCATCACCGCCAGCATGGTGCCCCACAAAATACCA
+ATCACCACTGCCGTGACGGTGATTTTCAGCGTGATCACCAGCCCGTCGAGCAGATATGGCAGGGAAGGAA
+CAATGGAACTCCAGTCAAACTCGTACATTATTTGCCCCCCATGTTGCCGGGCAGGCGAACTTTACGTTCA
+ACCAGCGTCATCACCAGCATGATAAAAGCGTTAATCAATACATACGCCAGCGTAATGGCGGTAAACGACT
+CCCAGGCGTGGGCCGAGTAATCGAGCAATTTACCCGCCTGCGCCGCCATATCCACCAGACCGATAGTCGA
+GGCGATGGCGGAGTTTTTCACCAGGTTCATCATCTCTGAGGTCATCGGCGGGACGATAACGCGATAAGCA
+TTAGGCAGCAGTACGTAGCGGTAGGCCTGCGGTAGCGTCAGACCCATCGCCAGCGCGGCATTTTTTTGCC
+CACGCGGCAGCGACTGAATAGCTGCGCGTACCTGTTCGCAAACACGGGCGGCGGTAAACAGCCCCAGGCA
+GAGCATGGATGAAAGGAAAAACTGAATATTGGGATCCAGCTCTGCCTTAAACCACATGCCGATTTTCTCT
+GGCAGCAGCTCCGGGATCACCAGGTACCAGGTAAAGAATTGCACAATCAACGGCACGTTGCGGAACAGTT
+CGACATACAACGTACCCAGACCGGAGAGAAAACGGTTTGGAACGGTACGTAAAATGCCGAAAAATGAACC
+GACGAGGAAGGCGATAATCCAGGCGCAGATCGACAAAGCGATCGTCACCTGAAAACCACTCCAGATCCAA
+CCAAGATAGGTGGTGTTGCCGAACGGGGCTTGTTGTAAAAAAATACCCCAGTTCCAGTCTATAGACATAA
+ATCTACTCCAGAAAAAAGAGGGTAGCAGCGTTAACTGCTACCCTCGAAGATTGTTACCCAGCGTATTGCG
+GTTTTCAGGCCCGATGGGGAACGACCACCAGGCGTATAGTCTGTCCGTGCTACGTAACAATCGAGAGGGC
+TGGAATTTCCGCCCCTGGTTCTTGTAATTAGTTCAGTGCCTTGTCATTCGGTTCTTTGAACAGTGCTTTC
+ATTTCGTCTGACAGTTCGAAATTCATGTTCAGGTTTTTCGGCGGAATTGGGTTTTTGAACCATTTATCAA
+ACCATTTTTCCGCTTCACCGGAGGTCTGCACCTGAGCGATAGTGTCATCCATCAGCTTTTTGAACTGCGG
+ATCGTCTTTACGCAACATGCAACCGTAGGCTTCCTGAGACTGCGGCTTGCCGACGATTTCCCAGTTGTCT
+GGTTTCTTCGCTTTCGCACGTTCACCGGCCAGCAGGGCATCATCCATCATAAAGGCAACGGCACGACCGC
+TTTCCAGGGTGCGGAAAGAGTCACCGTGATCTTTGGCGCTGATGATGCGCATATTCATTTTTTGCTCTTC
+ATTCAGTTTGTTGAGCAAAACTTCAGAGGTAGTGCCGGAAGTGACGACTACGGCTTTGCCTTTCAGGTCG
+GCAAAATCTTTGATATCGCCGCCCTTTTTGGTCAGCAGGCGCGTACCGACCACGAAAATAGTGTCAGAGA
+AAGCCGCCTGTTTTTGGCGTTCGGCATTGTTGGTGGTAGAACCGCATTCAAAATCGAAAGTGCCGTTTTG
+CAGCAGTGGAATACGGTTTTGTGAGGTGATCGGAATCAATTTCACCTGTAAGTCTGGTTTGTTGAGTTTC
+TTTTTCACTGCTTCAACAATGGCGTTGGAGTAATCCTGCGAGTAGCCCACCACTTTTTGCTGATTGTCGT
+AATAAGAGAAAGGTACTGAAGATTCACGGTGACCGACGACAATCACGCCGTTTTTGGCGATTTTGTCCAG
+CGTGCTGCCTGCTGCCGGGGCGGCGTCATCTGCCTGTGCCAGTCCTGCGGAAAGCGCCAGGGCCAGGATT
+GCTGTGGCAGGTTTACGTAATTGCATATCCAACTCCTTTATCTTCTGCGTTAAAAACGCATGGATACCCG
+TTGTGAGTGTTTGTGTTGTTATCATCTGCGACTTTATTGTGCAGTGTTGTGTTTGTTAGGTAACATTTAG
+TTTGGATAAATGTAAAGATATTGCTGTTTTATTGTTTATTTTTGCGAGGTGCGCCGCACCATTCCGAAGC
+AAAATTCTTAAACCGCACCTTTTTGGTGCTACCGCTGATTTGTGGTGGTGCAACCCGGTTGCGTTGCGGC
+TGATTTCATTGGTTACACAGTAAATAAAGCAACTTACATGCCAAAAAATACTTAGGGGTGAATTAATTAC
+GATTGTAATTTCAGTTTGAAAAAGTCATATTTCGGACAGTGTTAACTTTTCGGTGTGGGACGTTTGCCGG
+GATGATAACTACACACGGGAAAATGCTTTTTACTAGTCTTTTCAAGGAAGAATCACCTTATGTCTGCATC
+TTCGGTTAAGCCGTTAAATGTTCAATTACCCGCAATAACCCTGATCCTTTTTGCGCTCTGTGTTGGGATA
+TTTTGTTACCTCGCACAATGGATGAGTTACGAAGAAGTCGATCAATCCGCACTCATCCATCTCGGCGCTA
+ACGTTGCTTCTCTCACGTTGTCGGATGAATCCTGGCGCTTATTGAGCAGTATTTTTCTGCACAGTAGTTT
+TTCCCATTTGCTGATGAATATGTTTGCACTCCTGGCGGTGGGGACAGTAGCGGAACGGATACTGGGGAAA
+TGGCGACTCCTGATTATCTGGTTATTCTCCGGCATCTTTGGTGGGCTGATCAGCGCCTGTTATGCGCTAC
+GCGAAAGTGAGCAGATAGTCATCAGCGTTGGGGCATCCGGGGCAATTATGGGAATAGCGGGCGCTGCGAT
+AGCAACACAGCTTGCTTCAGGTGCGGGCATACACCATAAAAACCAGCGGCGAGTATTTCCTCTGTTGGGT
+ATGGTGGCGCTGACACTGTTGTATGGTACCCGGCAAGCAGGAATAGATAACGCTTGCCACATTGGCGGCC
+TGATTGCGGGGGGCGCGTTGGGTTGGCTGAGCGCGCGTTTAGTTGGGCAAAACCGATTCGTTACGGAAGG
+CGGGATTATTGTTGCGGTCACTCTTCTTCTGACCGGGGCTATCTGGCTTGTGCAGCAGCAGATTGATGAA
+TCAGTTTTACAGGTCAGGCAAAGCCTGCGTGAAGCGTTTTATCCGCAGGAGATTGAACAAGAGCGACGAC
+AAAAAAAGCAGCAGTTAGTGGAGGAGCGCAACGCCCTCAGGGAAACATTATCCGCTCCGGTAAGTCGTGA
+GCAGGCCAGTGGTGATTTACTCGCTGAGATTGCCGATATCCATGATATGGCGATCAGTCGGGATGGTAAT
+ACGTTGTATGCCGCAATTGAAAACACGAACAGCATTGTTGTTTTCGACCTCGGACAAAAGAAAATCCTGC
+ATACCTTTACAGCGCCCATAGCGAAAGAAAAGTCAGTCAAACATTGTGGTGGCTGTAAAGATCAGGGCGT
+CAGATCGCTGGCATTAAGCCTGGATGAAAAGTTGATTTATGCGACTTCATTTGAAGCGAATGCGTTATCG
+GTCATTAACGTGGCGACGGGGGAGATTATTCAGTCGATTACCACCGGCGCCCATCCTGACAGCCTTATCC
+TCTCGCGTGATGGCACAAAAGCCTGGGTGATGAATCGCACCAGCAATAGTGTGTCAGCGATTGATCTGGT
+GGCTTATCAGCATGTGGCGGATATCCCGCTGGAGAAATACGACGGGACGGGGATGAGCGGTAAACCAGGC
+GCCTGGGTTATGGCACTTTCCCCGGATGAAAAAACATTACTGGTTCCGGGAGCAGGCAGGGGTAACATCG
+TGCGGATCAATACCATCACGCATCAGAAAGAAGACTTTCCCGCAGGTGATGCGCGTGGTGTCGTTTCTGC
+GATGGGATTCCGACCAAAAAATGGTGAGATTATTTTTGCCGATAGCCAGGGGATTTCACGTATAAGAGCT
+GAGGATCAACAAGCCAGCATTATGACGCAATGGTGTAGCAGGAGCGTTTATTCCGTTGAGGGTATTAGCC
+CGGACGGTCAGTATTTAGCGTTGGTGTCATATGGCCTGCAAGGTTATGTCATCCTGCTCAATATTAATGC
+CGGGCAGATTATTGGCGTTTATCCCGCCAGCTACGTTAATAATCTTCGTTTTTCAGCGGATGGTAGAAAG
+ATATTTGTTATGGCGAAGAACAGGTTAATCCAAATGGACAGGACGCGCTCGCTTGATCCGCAGGCAATTA
+TTCGGCATCCCCAATATGGCGATGTGGCTTGTATCCCTGAACCGTAAGAAAAAAGGGCATGATAATCATG
+CCCCAGAGCGTGTTGAAAAAGTACGCTTTATCCTACAAAATCGCGAAAATTCAACATATTGTAAAAATCG
+CGTAGGCCTGATAAGCGTCGCGCATCAGGCACATTAACGTTTGCGAGCACGCAGACTCATCAGTACAGCG
+GCAAAACCAAACAGCGCCGTCAGCACCCACAGCGGCCAGTTGCCGGTTCGTGCGTACGGTGTGAGTCCGG
+TGGTTGGTGTCACGTTAGTGGTCAACACCTCGCGGGTGAACTGCGGGATCATCGCCTGAATCTCACCCTG
+CGGGCCAATCACCGCCGTAATGCCGTTGTTGGTGCTGCGCAACAGTGGGCGCGCCAGCTCCAGCGCACGC
+ATTCGCGCCATCTGGAAGTGCTGCCATGGACCAATAGACTTACCAAACCACGCATCGTTGGAGATAGTCA
+GCAGATAGTCGGTATCCGGGCGGAAGTTATCGCGCACTTGCTCGCCGAGAATGATTTCGTAGCAAATGGC
+CGCAGTAAGTTGAATGCCATTCAACGACAGCGGTGGCTGAATATATGGTCCGCGGCTGAATGACGACATC
+GGCAAATCAAAGAACGGTGCTAACGGACGCAGTATCGACTCCAGTGGGACAAACTCGCCAAACGGCACCA
+GATGGTTTTTGTTATAGCGATCGGCTGATTCATAGCTGTACGGTGCGCCTTTACCCAGTGTGATGATGGT
+GTTGTAGGTATCGTAGCGGTTCTGTTTATTGAGACGCGCGTCGACAATCCCGGTGACCAGCGAGCTACCT
+TTATCGCGCAACTCACCGTCCAGAGCTTTAAGGAACGGTTGCTGATTAATTTCCAGATCGGTTATCGCCG
+ACTCCGGCCAGATAATCAGCGATGATTTGCCCATCAGCGGTGCCGTTGCGTTGTAGTAAATCTTCAGCGT
+ATTAAGAAGCTGGCCTTCGTCCCATTTCAGCGATTGCGGAATATCGCCCTGAACCATCGAAACCTGAATG
+GTTTTCTCCGGTTGCGGGGTAAACCACTGGATGTAACGCAGCGGGAAGGGAAGGGCAAACAGCACGACGG
+CCACCACCAGCGGACGCCAGTTGCGTTTGACCAACGCCAGTGCCAGCAAGCCACTAACCATCATCAGCAG
+GAAGTTAATGGCTTCCACGCCCATTATCGGTGCCAGCCCTTTTAACGGGCCATCAATCTGGCTATAGCCG
+AACTGTAACCACGGGAAGCCAGTCAGCACCCAACCGCGCAGAAACTCGGTCACTTGCCAGAGAGCAGGGG
+CGGCAATCGCCACGCGCAGCCAGGTGGTTTTCGGCCACAGACGCGACAGCACGCCAGCAAACAGTCCGGT
+ATACAGCGACAAATACGCCGCCAGCAGTACCACCAGGAAGATGTTAACCGGGCCAGGCATTCCGCCAAAG
+GTCGCGATGCTGACATAGACCCAGTTAATACCGCTGCCAAAGAGGCCAAATCCCCAGCAAAAGCCAATAG
+CGGCAGACTGGAGTGGACGGCGGTTAAAGGTCAACGCCTGAAGCCCCATCAGCGAAATAATCGCCGCAGG
+CCAGACGTCGTAAGGAGAGAAGGCCAGCGTTCCGCAGGCACCGAATAATAACGCCAGCAGCAGGCGAATG
+CGCTGGCGTTCAATTAATGAGGCAAAAGCCATGTAGTTATCTATCCAGTTTCGGTTTTATTCATCCAGCT
+TCGGCTGGGGTGAGTCATCCGGGATTTTGACATGAACCTGAATAATACGCCGACTGTCGGCCATCGCCAC
+TTTGAACTGGTAACCGTCGATGTCGATGGTTTCGCCACGCGCCGGAAGATGCCCAAATGCCTGCATCACC
+AGACCACCGATAGTGTCAACCTCTTCATCGCTAAAGTGGGTGCCGAACGCTTCGTTGAAGTCTTCAATAG
+AAGCCAGTGCGCGCACGGTCCAGGTATGGCGACTCAGCTGACGGAAGTCGATATCATCTTCTTCGTCATA
+CTCGTCTTCAATCTCACCAACAATCAGTTCCAGGATGTCTTCAATGGTCACCAGACCGGAAACCCCACCG
+AATTCGTCAATGACGATCGCCATGTGGTAACGCTGAGAGCGAAACTCTTTCAGCATCCGGTCTACGCGCT
+TACTTTCAGGAACGACAACCGCCTGACGTAACACTTTGTCCATGCTGAAGGCTTCGGCATCGCTGCGCAT
+AAACGGCAGCAAGTCTTTCGCCATCAGAATCCCTTCAATGTGATCTTTGTCTTCGCTAATCACCGGGAAA
+CGTGAGTGGGCGGACTCAATGATGACATCAAGGCATTCGTCCAGCGTCTGGTTGCGTTTCAGGGTAATCA
+TCTGGGAGCGGGGGATCATGATGTCGCGAACGCGTTGGTCTGCGATGTCCATCACCCCTTCGAGCATATC
+GCGCGTATCTTCGTCGATAAGGTCGTTCTGCCCGGAATCACGGATCAGCGCCAGCAGTTCGTCACGGTTT
+TTCGGTTCACCGTGGAAAAGTTGGCTGAGTAACAGGGAGAAAAATCCCTTCTTGTTGCTTATCGTGTCAC
+TACTGTGTGAATTGTCGTCGCTCATGGCGTCGTATGGGTTCTCATGTTAGTTAATCAAAACGCCGTCGTT
+AATCACCAACGGCGGGGACGTCTGCCAGTCAAATGCCTGGCAAATTATTCTTTCTCGGCAATGTACGGAT
+CCTCATAGCCCAGAGCAAGCATAATCTCTGTTTCGATGGCTTCCATTTCTTCTGCTTCGTCATCTTCGAT
+GTGATCGTAACCTAACAAATGCAGACTGCCGTGCACCACCATATGCGCCCAGTGCGCCTCCAGTGGTTTG
+CCTTGCTCCTGAGCTTCCTTCTCAACCACCTGACGGCAGATAACCAGATCGCCCAGTAGCGACATTTCCA
+TGCCAGGCGGTACTTCAAACGGGAAGGAGAGCACGTTGGTCGGCTTATCCTTACCGCGATAGGTCAGATT
+CAGACTGTGGCTTTCGGCGGTATCGACCACGCGAATAGTCACTTCCGATTCTTCCTGAAACTGCGGGATC
+ACCGCATTCAGCCATGTCTGAAACTGGCTCTCTTCCGGTAACCCGGAATTATCTTCACATGCCAGTTGTA
+AATCGAGGATCACCTGACTCATTTTTGTTCCTGTTCTTCGCGCTTGCGTTCTGCTGCCAGCGCCGCTTTA
+CGTTTTTGTTCGGCTTCTTCCCAGGCTTCATAGGCGTTAACGATACGCGCCACCACCGGGTGACGAACCA
+CGTCTTCGCTGTGGAAGAAGTTAAAGCTGATCTCTTCGACATCAGCCAGTACTTCGATGGCATGACGCAA
+ACCAGACTTGGTATTACGCGGCAGGTCGATCTGTGTGACGTCGCCGGTGATAACCGCTTTTGAGTTAAAA
+CCGATACGGGTCAGGAACATCTTCATCTGTTCGATGGTGGTGTTCTGGCTCTCATCAAGAATGATAAACG
+CGTCGTTCAGCGTACGACCACGCATATAGGCCAGCGGTGCGACTTCAATAACGTTGCGCTCAATCAGTTT
+CTCGACTTTCTCAAAGCCCAGCATTTCAAACAGCGCGTCGTACAGCGGGCGCAGATACGGGTCTACTTTC
+TGGCTTAAATCGCCAGGCAGGAAGCCCAGTTTCTCACCGGCTTCTACTGCCGGACGAGTCAGCAGAATAC
+GGCGAATTTCCTGACGCTCCAGGGCATCAACTGCCGCAGCCACTGCCAGGTAGGTTTTACCCGTACCCGC
+CGGGCCAACGCCGAAGGTAATGTCATGGTCGAGAATATTGGCGATGTACTGCGCCTGGTTTGGCGTGCGC
+GGCTTAATTACGCCGCGTTTGGTTTTGATATTGACCGCTTTGCCGTACTCCGGCACGCTCTCCGCGCTTT
+GCTCCAGTACCCGCGCTTCTTTAATCGCAAGGTGGATCTGTTCCGGTTCGATATCCTGAATCTGACCGCG
+CATCGGGGCAGTATCGACATACAGGCTACGCAGAATGTCTGCCGCAGCGGTGACGCAAATCGGACGGCCG
+GTCAGTTTAAAGTGGTTATCGCGGCGATTGATTTCGATGCCGAGACGGCGTTCGAGTTGTTTGATGTTGT
+CATCAAACGGGCCGCACAGGCTCAACAGACGCGCATTGTCTGCTGGCTCCAGGGTGATTTCGCGAGTGTC
+TATGTTCAAACCGTTCCTCTTATCTGTATGCCGCCGGAAGCTGAACATTCACCGGCCTATAAGGAAATTA
+TTCACGCCACAGGAAAAAGGCGCAAGCATTGCGATAAAGATGGGGATAAAGAGAGAAAAAACAAGGCCCA
+CCGGAACGGCGGGCCTGAGAATTACGGCTGATAATAACCCACGCCAAGGTCGTTTTCTTTGCGGGTACGG
+GCAATCACCGATTCCGGTGTTTCTGCCACGCGCAGACCCATTTCATCTTCAGTTCGCACCACTTTACCGC
+GCAGAGAGTTCGGGTAGACGTCGGTAATTTCTACATCGACGAATTTACCGATCATATCCGGCGTGCCCTC
+GAAGTTAACCACGCGGTTATTTTCAGTGCGACCGGAAAGCTCCATGATGCTCTTACGTGAAGTCCCTTCT
+ACCAGAATGCGCTGGGTGGTGCCGAGCATCCGGCGGCTCCATGCCATCGCTTGCTGATTAATGCGCTCTT
+GCAGAATATACAGACGCTGCTTCTTCTCTTCTTCCGGAACATCATCAACCATATCGGCGGCTGGTGTACC
+CGGACGTGCAGAGAAGATAAAGCTGTAGCTCATGTCGAAATTGACGTCGGCAATCAGCTTCATCGTTTTC
+TCGAAGTCTTCGGTGGTTTCGCCAGGGAAGCCGACGATGAAGTCAGAGCTGATCTGAATATCCGGGCGCG
+CCGCACGCAGTTTACGGATGATCGCTTTGTACTCCAGCGCCGTATGGGTACGTCCCATCAGGTTCAGAAT
+GCGATCGGAACCGCTCTGTACCGGCAGATGCAGGAAGCTCACCAGCTCCGGCGTGTCGCGGTACACTTCG
+ATGATATCGTCGGTGAATTCGATCGGATGGCTGGTGGTAAAGCGAATACGATCGATCCCGTCGATCGCCG
+CAACCAGACGCAGCAGATCGGCAAACGATCCGGTGGTGCCGTCGTAGTTCTCACCGCGCCAGGCGTTCAC
+GTTCTGGCCGAGCAGGTTAACTTCACGCACGCCCTGAGCAGCAAGCTGGGCAATCTCAAACAGAATATCG
+TCGGACGGACGGCTTACCTCTTCACCACGGGTGTAAGGCACTACGCAGTAGGTGCAATATTTATTGCAGC
+CTTCCATGATGGAGACAAACGCGGTCGGCCCTTCGGCGCGCGGTTCCGGCAGACGGTCAAACTTCTCGAT
+TTCCGGGAAGCTGATATCTACAACCGGGCTGCGGTCGCCGCGCACGGAGTTGATCATCTCCGGCAGACGG
+TGCAGCGTTTGCGGCCCAAAAATAATATCGACATAGTGGGCGCGCTGGCGAATGTGCTCGCCTTCTTGCG
+ATGCCACGCAGCCGCCGACGCCGATAATCAGGTCTGGATTCTTCTCTTTTAACAGTTTCCAGCGACCCAA
+CTGATGGAAGACTTTTTCCTGAGCCTTCTCGCGGATTGAGCAGGTGTTCAGCAGCAGCACATCCGCTTCT
+TCCGCCACGTCGGTCAGTTGATAGCCGTGGGTGGCATCCAGCAGATCGGCCATCTTCGATGAATCGTACT
+CGTTCATCTGACAGCCCCAGGTTTTAATATGGAGTTTTTTGGTCATCGACTTGCTCTTGCGAAATAGTAG
+CCAGGAATGCAGGGCGCATAGTGTAATGCTTTGCTGCCGTTGTGACCAGTATGAGCGTTATCAGCCCTTG
+GGGGTAAAAATCCTGTAAACTTAAAGCATATTGCTAACAGGATGATTGACCATGACAAATCAACCAACGG
+AAATTGCCATTGTCGGCGGAGGAATGGTCGGCGGCGCACTGGCGCTGGGACTGGCTCAGCACGGATTTTC
+GGTAATGGTTATCGAACATGCCCAACCTGCACCGTTTGTCGCTGACAGCCAGCCGGACGTGCGGATCTCG
+GCGATTAGTGCGGCTTCGGTATCATTGCTTAAAGGGTTAGGGGTCTGGGATGCAGTACAGGCTATGCGTT
+GCCATCCTTACCGCAGACTGGAAACGTGGGAGTGGGAAACGGCGCATGTGGTGTTTGACGCCGCTGAACT
+TAAGCTACCGTTGCTTGGCTACATGGTGGAAAACACTGTCCTGCAACAGGCGTTGTGGCAGGCGCTGGAA
+GCGCATCCGAAAGTAACGTTACGTGTGCCAACCTCGCTGATTGCACTGCATCGCCATAATGATCTTCAGG
+AGCTGGAACTGAAGGGCGGTGAAACGATCCTCGCGAAGCTGGTGATTGGTGCCGACGGCGCAAATTCGCA
+GGTGCGACAGATGGCGGGAATTGGCGTTCATGCCTGGCAGTATGCGCAGTCGTGTATGTTGATTAGCGTA
+CAGTGTGAGAACGATCCCGGCGACAGCACCTGGCAGCAATTTACCCCGGACGGACCGCGTGCGTTTCTGC
+CGTTGTTTGATAACTGGGCATCGCTGGTGTGGTATGACTCTCCGGCGCGCATTCGCCAGTTGCAGAATAT
+GAATATGGCGCAGCTACAGGCGGAAATCGCGAAGCATTTCCCGTCGCGTCTGGGTTACGTGACACCGCTT
+GCCGCTGGTGCGTTTCCGCTGATACGTCGCCATGCGTTGCAGTATGTGCAACCAGGGCTTGCTCTGGTGG
+GCGATGCCGCGCATACCATCCATCCGCTGGCGGGGCAGGGGGTGAATCTTGGTTATCGTGATGTCGATGC
+CCTGATTGACGTTCTGGTGAACGCCCGCAGCTACGGCGAAGCGTGGGCCAGTTATCCTGTGCTCAAGCGT
+TACCAGATGCGGCGTATGGCGGATAACTTTATGATGCAAAGTGGTATGGATCTGTTTTATGCCGGATTCA
+GCAATAATCTGCCACCGCTGCGTTTTGTGCGTAATCTTGGTTTGATGGCGGCGGAGCGTGCTGGCGTGTT
+GAAACGTAAGGCGCTGAAATATGCGTTAGGGTTGTAGCCTCACAACATTGCTGGATGCATGCCAACCGTA
+GGTCGGATAAGACGCGGCAGCGTCGCATCCGACTTTGAAGGATAAGACGAGTCAACATCGCATTCGGCAT
+TGAATATACGCAGAAAAGCAAAAAGCTCGCCGAGGCGAGCTTTTTTAATGTGGCTGGGGTACGAGGATTC
+GAACCTCGGAATGCCGGAATCAGAATCCGGTGCCTTACCGCTTGGCGATACCCCAACTGGGTGCACTTAC
+AAGGTAAGCGTCTTGAATAAATTGGCTGGGGTACGAGGATTCGAACCTCGGAATGCCGGAATCAGAATCC
+GGTGCCTTACCGCTTGGCGATACCCCAACAAATTGGTTTTTGAATTTGCCGAACATATTCGACACATTCA
+GAATTTGGTGGCTACGACGGGATTCGAACCTGTGACCCCATCATTATGAGTGATGTGCTCTAACCAACTG
+AGCTACGTAGCCATCTTTTTTTTTCGCGATACCTTATCGGCGTTGCGGGGCGCATTATGCGTATAGAGCC
+TTGCAGCGTCAACCTCTTTTTCAAGGAAAATTGCTCGAAAGTGACTGTTTGGTTAGGTTGCGAACAGCAT
+GGCGCTATATTCGTCAATTATTGTTTACTTTGTGTTTTTTCCCCACCCTACAGCCATTCTTTTGTCATAC
+AGGATGAAATTCGGAATTCAACAATAGTGGTGGGAAATTAATCTATGAAATACTGGCCTACAGTAATGAG
+TTGTCAAACAGCGATGTGGCAAACCCGGAACATTTCCTTACTGCATATCAGAATCAACAAGCGCCCCAGT
+AACTGAAATTGCCCCGGATTTCTCCGGGGCAATATTACACGTCTTATTTATATGCCGACTGGTGAACGCC
+AACCGCGCGACCAGACGGATCGTCCATTTTCTTGAACGCTTCATCCCACTCAATCGCTTTAGCGGAAGAA
+CAAGCGACGGAAGGACCGCCCGGCACGCACTCAGCGGCGCTCGGAAGCGGGAACAATTCTTCAAAGATCT
+CCCGGTACAGATACGCTTCTTTTGAGGTCGGCGTGTTGTACGGGAAGCGGAAGCGGGCAGTTTCCAGCTG
+TTGATCAGAAACCTGCTGCGCTGCCACTTCTTTCAGGGTGTCGATCCAACTGTAACCGACGCCATCGGAG
+AACTGCTCTTTTTGCCGCCAGGCCACGCTTGCAGGCAGATACGCTTCAAAACATTCACGCAGGATGTGTT
+TTTCCATTTTGCCGTTACCGCACATTTTATCCTGTGGGTTAATGCGCATCGCCACATCAAGGAATTTTTT
+GTCGAGGAACGGAACGCGTGCTTCCACGCCCCAGGCTGACATCGCTTTGTTGGCACGCGCGCAGTCATAC
+ATATGCAGGGCCAGCAGTTTACGCACCGTCTCTTCATGCAACTCTTTAGCGTTCGGCGCTTTGTGGAAGT
+ATAGATAACCGCCAAACACTTCGTCAGAACCTTCACCGGACAGCACCATTTTAATGCCCATCGCCTTGAT
+CTTACGCGACATTAAATACATCGGTGTTGAAGCGCGAATAGTGGTCACATCATAAGTTTCGATGTGGTAA
+ATCACGTCGCGGATGGCATCCAGACCTTCCTGTACAGTGAAGTGAATTTCGTGATGCACCGTGCCCAGAT
+GGTTTGCCACTTCCTGGGCTGCTTTCAGATCCGGTGAGCCCGGCAGACCTACAGCAAAGGAGTGCAACTG
+CGGCCACCAGGCTTCAGAGCGTTCCTGATCTTCCACGCGGCGGGCGGCGTATTTCTTGGTGATAGCGGAA
+ATAATTGAGGAATCCAGACCACCAGAAAGCAGCACACCGTAAGGCACATCAGACATCAGATGGCTTTTAA
+CGGAATCTTCCAGTGCCTGACGCAGCTCGTTTTTGTCGGTCACGTTATCTTTCACCGCATCGTAGTCGAA
+CCAGTCGCGATGATAATAAGAACGGATTTCGCCGTCCTGACTCCACAAATAGCTCCCCGCCGGAAACTCT
+TTAATCGTGCGGCAAACTGGCACGAGGGCTTTCATTTCTGAGGCCACATACAGCTGACCGTGTTCGTCAT
+AGCCCATATACAGTGGGATGATCCCCAGATGGTCGCGACCAATCAGATATGCATCTTTTTCGCTGTCGTA
+CAGGGCAAAGGCAAACATGCCCTGCAAGTCGTCGAGAAATTCCGGCCCTTTTTCCTGATACAGCGCGAGG
+ATCACTTCACAGTCAGACCCGGTCTGGAACTGGTAACGATCGCCATATTCAGCGCGCAATGCCTGGTGGT
+TGTAGATTTCACCGTTTACTGCCAGCACATGAGTTTTTTGTTGGTTGTAGAGAGGTTGCGCCCCCGCGTT
+AACGTCAACAATTGACAGACGTTCGTGGGCGAGAATGGCGTTATCGCTGGCATAAATGCCGGACCAGTCC
+GGGCCACGATGACGCATCAGGCGTGACAGCTCGAGTGCTTTCTTACGCAGCTCAACTGCGTCTGTTTTGA
+TATCGAATATGCCAAAAATTGAACACATAACCTTCTCCGTTAACCTGGTATTTGTTGCTTGTTGTGTTTG
+CTTGTTTAAAAAAATGCCGCAAAGCAGCACGGTGCGCAAGCGATTTGGCGGTGGAAAAATAAAAAACGTA
+ATGGCGATTGCTGATTTGTGAAAAAGGATAGGGTGTGATGGCGTATTTATTGATGGATCGATAATTTTTG
+ACGGGTTTTATTGAATAGGGTGATTTTAATGATGGGTAAAAATAAGAAACCACGCCCTGAGGCGTGGTTG
+CTATTCAGATAACGTCGATTTCAGCGACCGATGGGTAAATCCAACTTGGGCGGAACGGCATACTGTCGAT
+ATCGTCGAGCGACGAAACACCAGAAAGCACCAGAATCGTCTCCAGACCGGCCTGGAAGCCCGCCAGAATA
+TCGGTACGCAAGTTATCGCCGACAATCACCGTTTCTTCCGAATGCGCCTGCATTTTGTTTAATGCTGCGC
+GGATGATCCACGGACTCGGCTTACCAACATAGAACGGTTTACGTCCGGAGATTTTTTCGATCCCCGCGCA
+TAGCGCGCCACAGGCCGGATAAAAACCGCGCCCGTGGGTGTCCGGGTTGGTGGCGATAAAGCGTGCACCG
+TTAGCGACGAAATAGGCTGCTTTATGCATCATGTCCCAGTTGTAGGAACGCGTTTCGCCAACAATCACAA
+AATCAGGGTTCACATCGGTAATAGTGAAACCGGCTTTGTACAGTTCATGAATCAGTGCGCCTTCGCCCAC
+CACATATGCTTTCTTGCCTTCCTGGCGACGCAGGAAATCGGCGGTTGCCATCGCGGAGGTATAAAACACG
+CTGTCCGGCACATCGACACCCGCAGTGGCAAAGCGGTTCGCCAGATCTTGCCCGGTCTGCGAAGGATAGT
+TGGTCAGCAACACCAGCGGCAGGCCTTTATCCATAATCCCGTGCAAAAATTCCGCTGCACCCGGTACGGC
+GACGTTATCGTGCATCAGCACGCCGTCGATATCGCAAATTACATTTTTAATGGTCATGGACTACCCAGAA
+TATTGACAACAATAAGCGCCACTATAAAAGCACATTAATTTTCCAGCAAATGCTGGAGCAAAATACCGTT
+GAGCATGGCGCGTTTTACCAGCGCAAAAGCGCCGATTGCCGAGCGGTGATCCAGCTCAGAACGTACCACC
+GGCAGATTAGTGCGAAACGCCTTCAGCGCCTGGGTATTAATGCAGCTTTCAATAGCAGGGAGCAGCACTT
+TATCGGCTTCGGTGATTTCTCCGGCAATAACAATTTTTTGCGGGTTAAACAGGTTGATGGCAATGGCGAT
+GGTTTTGCCCAGATGACGACCGACATACTCAATCACTTCCGACGCCAGGCTATCGCCTTTGTTCGCAGCT
+TTGCAGATAGTTTTTATGGTGCAGTCGTCCAGCGGCACGCGGCTCTGGTAGCCCTGCTTTAACAGATTCA
+ACACCCGTTGTTCAATGGCAGCGTTGGCAGCGATAGTTTCCAGGCAGCCAAAGTTGCCGCAGTGGCAGCG
+TTCACCCAGCGGTTCGACCTGAATATGGCCAATTTCACCGACGTTACCGTTGCGGCCAATAAAAATGCGC
+CCGTTAGAGATAATCCCGGCCCCGGTTCCGCGATGTACACGCACCAGAATGGAGTCTTCGCAATCCTGAC
+TTGCACCGAAGTAGTGCTCCGCCAGCGCCAGACTACGGATATCGTGACCGACGAAACAGGTCACTTTAAA
+ACGTTCTTCCAGTGCTTCTACCAGCCCCCAGTTTTCTACCTGAATATGCGGCATGTAATGAATTTTGCCG
+CTGTCCGGGTCAACAAGCCCTGGCAGGATCACGGAAATGGCGATCAGCTCGCGCAGCTTGCGCTGGTAGC
+TATCAATAAACTGAGCAATGGCATTCAGCAGGGCATGTTCCAGCGTCTGCTGGGTACGTTCCGGCAGCGG
+GTAATGTTCTTCTGCCAGCACTTTGCTACTGAGATCAAACAGAGTGATGGTGGCGTCGTGACGACCAAGC
+CGTACGCCGATTGCGTGGAAATTGCGGGTTTCGGTGACGATGGAGATAGCGCGGCGGCCCCCGGTGGAGG
+CCTGCTGATCAACTTCTTTAATCAGCCCGCGTTCGATAAGCTGACGCGTAATTTTGGTTACGCTGGCGGG
+GGCAAGCTGGCTTTGCTCGGCAATCTGAATCCGCGAGATTGGCCCATACTGGTCAATCAGGCGATAAACC
+GCCGCGCTGTTAAGCTGTTTTACGAGATCAACATTACCTATCTGAGCTTGTCCGCCTGGTGTCATACTTT
+CTCTTATTGAGTTACGACCTCGTTACCGTTAACGATGGTCCTGGTGATTTTAAAATCAGGTGTGAATGCA
+GTCAGGTTGGCTACTTTACCTGCGGCGAGTGTACCGAGACGTTTCTCAACGCCAATCGCACGCGCCGGAT
+AGAGCGTCGCCATACGCAGCACTTCATCCAGTGCGATACCGCAATGTTCGACCAGATTACGCACGCCTTC
+AATCATGGTTAAGGATGAACCGCTTAACGTACCGTTCTCATCCACACAAAGTCCATTACGGTAGTATATT
+GTTTTACCCGCAAAAATGAACTGTTCAATGTTGGCACCTGCTGGCGCGGTGGCGTCAGTAACCAGACACA
+GTTTGTCGCCTTTCAGACGTTTAGCGTTGCGAATGTTGGCGTAATCAACATGCAGGCCATCAGCGATAAT
+ACCGCAATAAATGTCAGCTTCGTCGAGGATAGCGCCCGCCAGGCCCGGTTCACGACCGGTAATATACGGC
+ATCGCGTTGTACAGATGAGTGGCAAAGGTAATCCCCGCGCGGAAACCGGCTTTTGCTTGTTTCAACGTCG
+CGTTGGAGTGACCGGCAGAAACCACAATCCCGGCATTTGCCAGTTTGCTGATGACTTCTGCAGGAACCAT
+TTCCGGTGCCAGGGTCACTTTCGTAATCACGTCGGCGTTCTCACACAGGAAATCGACCAGCGCGGCATCA
+GGCTTACGCACAAAATTCGGATTATGGGTACCTTTTTTTACCAGATTCAGCCACGGACCTTCCAGATGCA
+GACCTAACGCCTGATTCGGATGTTTTGCCAGGTACTCGCGCATAACGCGCACGCCCTGTTTCATCAGCTC
+GTCGCTGGTGGTGATAAGCGTCGGCAAATAGTTAGTACAGCCTGATTTCTCATTGGCTTTCTGCATGATT
+TCCAGCGTTTCTACGCTGACTGCTTCAGCAGTATCGTTAAACTGCACGCCGCCGCAGCCGTTTAACTGCA
+CATCGATAAAACCGGGGGAGAGAATGGCCCCGTTCAGTGAACGTTGTTCGATCTCTGGCGGCAGTTCCGC
+TACCGGACAGACGCTTTTAATCAGGCCATCAGCGATAACAACCGCGTGGTCATCAAGAAATTCGTGGCCG
+GTAAAGATCCGGCCCTGGGTTAATGCATACATTCTGACCCCCGATTTTAAAAAATATTGCCCTGAGCAAG
+GAGCCAGGGCAGGGATAATAATTACAGACCTTTGATATTTTCTGCTTCTAATTCATTGAAATATCTTAAA
+GTCTTAACTTTCAGCTCCATGGTGGAAGGTTCATCGCACACCATGATCGCTTTTGGATGCAGTTGCAGAC
+AGCTGATGGTCCACATGTGGTTCACGCAACCTTCAACGGCGGCCTGCAGTGCCAGTGCTTTCTGGCTACC
+CAGCACCAGAATCATCACTTCTTCGGCATCCAGCAATGTACCAACACCGACAGTCAGGGCATATTTTGGC
+ACCTGATTAACATCGTTATCAAAGAAACGAGAGTTCGCGACGCGAGTGTCATGAGTCAGGGTTTTGATAC
+GAGTACGAGAAGCCAGAGAAGACGCCGGTTCGTTAAATGCAATATGACCGTCGTTACCTACACCGCCCAT
+AAACAGATGAATTTTTCCGTAAGAACGGATTTTTTCTTCATACTGGCGGCATTCGGCGTCGATATCCGGG
+GCGTTGCCGTTGAGAAGGTTGATATTTTCTGCTGGAATATCAACGTGATCGAAGAAATTACGGTGCATAA
+AGCTGTAGTAGCTTTCCGGATGCTCTTTCGGCAGACCGACATATTCGTCCATGTTGAAGGTGACAACGTG
+CTTAAAGCTGACCTGGCCTGCTTTATGCATTTCGACTAACGCTTTATAGGTGGTCATCGGCGTGCCGCCA
+GTCGGCAGGCCCAGTACAAACGGACGATCGGCAGTCGGTTTGAACGCATTGATACGATTGACGATATGGC
+GAGCAGCCCATTTGCCGACCTGTTCAGCGGTAGTCAGGGGGATCAGTCTCATTATTCACCTCAATAAGTA
+AAATGTAAGCCGTTGGCGGATTAGGCATCTTTAAGCGTAACCTGGATTTGCGCAGACAGGCGTCAATCCG
+ACCTGATTTTTTGAATGATAAAATAAGTTTTCTGGTTTAGCCAGTAAAAGGGAGTGATGATAACGATATT
+TGGTGACAAAACTCACAAAAGACACGCGTTTAATTTGCGATACGAATTAAATTTTCACACACTCTGTAGC
+AGATGATCTAACAATCTGATTACAGAACATCGGCAGTACAATTTGCAGCAAAATAAAAATACGGCTTTAA
+ACGAGCCAAATAGGGTTCTCGTAGGGGGAATAAGATGAATATTTTAGGTTTTTTCCAGCGACTAGGTAGG
+GCGTTACAGCTCCCTATCGCGGTGCTGCCGGTGGCGGCGCTGTTGCTGCGATTCGGTCAGCCAGATTTAC
+TTAACGTTGCGTTTATTGCCCAGGCGGGCGGTGCGATTTTTGATAACCTCGCATTAATCTTCGCCATCGG
+CGTGGCATCCAGCTGGTCGAAAGACAGCGCAGGTGCGGCGGCACTGGCGGGTGCGGTAGGTTACTTTGTG
+TTAACCAAAGCGATGGTGACCATCAACCCAGAAATTAACATGGGTGTACTGGCGGGTATCATTACCGGTC
+TGGTCGGTGGTGCAGCCTATAACCGTTGGTCCGATATTAAACTGCCGGACTTCCTGAGCTTCTTCGGCGG
+CAAACGCTTTGTGCCGATTGCCACCGGCTTCTTCTGCCTGGTGCTGGCGGCCATTTTTGGTTACGTCTGG
+CCGCCGGTACAGCACGCTATCCATGCAGGCGGCGAGTGGATCGTTTCTGCGGGCGCGCTGGGTTCCGGTA
+TCTTTGGTTTCATCAACCGTCTGCTGATCCCAACCGGTCTGCATCAGGTACTGAACACCATCGCCTGGTT
+CCAGATTGGTGAATTCACCAACGCGGCGGGTACGGTTTTCCACGGCGACATTAACCGCTTCTATGCCGGT
+GACGGCACCGCGGGGATGTTCATGTCCGGCTTCTTCCCGATCATGATGTTCGGTCTGCCGGGTGCGGCGC
+TGGCGATGTACTTTGCAGCACCGAAAGAGCGTCGTCCGATGGTTGGCGGTATGCTGCTTTCTGTTGCTGT
+TACTGCGTTCCTGACCGGTGTGACTGAGCCGCTGGAATTCCTGTTCATGTTCCTTGCGCCGCTGCTGTAC
+CTCCTGCACGCACTGCTGACCGGTATCAGCCTGTTTGTGGCAACGCTGCTGGGTATCCATGCCGGCTTCT
+CTTTCTCTGCGGGGGCTATCGACTACGCGTTGATGTATAACCTGCCGGCCGCCAGCCAGAACGTCTGGAT
+GCTGCTGGTGATGGGGGTTGTCTTCTTCGCTATCTACTTCGTGGTGTTCAGTTTGGTTATCCGCATGTTC
+AACCTGAAAACGCCGGGTCGTGAAGATAAAGAAGACGAGATCGTTACTGAAGAAGCGAACAGCAATACCG
+AAGAAGGCTTAACTCAACTGGCAACCAACTACATTGCGGCAGTTGGTGGTAGTGACAATCTAAAAGCGAT
+TGACGCCTGTATTACTCGTCTGCGTTTGACTGTGGCTGACTCAGCACGTGTCAACGATGCAATGTGTAAA
+CGTCTGGGTGCATCTGGTGTGGTGAAACTGAACAAACAGACTATTCAGGTGATTGTTGGCGCGAAAGCAG
+AATCCATCGGCGATGCGATGAAGAAAGTCGTTGCCCGTGGTCCGGTAGCCGCTGCGTCAGCTGAAGCAAC
+TCCGGCAACTGCCGCTCCTGTAGCAAAACCGCAGGCTGTACCAAACGCGGTATCTATCGCGGAGCTGGTA
+TCGCCGATTACCGGGGATGTTGTGGCACTGGATCAGGTTCCTGACGAAGCATTCGCCAGCAAAGCGGTGG
+GTGACGGTGTGGCGGTGAAACCGACAGATAAAATCGTCGTATCACCAGCCGCAGGAACAATCGTGAAAAT
+CTTCAACACCAACCACGCATTCTGTCTGGAAACCGAAAAAGGCGCGGAGATCGTCGTCCATATGGGTATC
+GACACCGTAGCGCTGGAAGGTAAAGGCTTTAAACGTCTGGTGGAAGAGGGCGCGCAGGTAAGCGCAGGGC
+AACCGATTCTGGAAATGGATCTGGATTACCTGAACGCTAACGCCCGTTCGATGATTAGCCCGGTGGTTTG
+CAGCAATATCGATGATTTCAGCGGCCTTATCATTAAAGCTCAGGGCCATGTTGTGGCGGGTCAAACACCG
+CTGTATGAAATCAAAAAGTAATCTGCTTTATACCTGATGCGACACGGCAGCGTCGCATCCAACAATAAAA
+AGCGGCAGGGATCTTCTCTGCCGCTTTTTTTGTCTGAGATTACATTGGGAAGATAAAAACAGCGCCTGCA
+CAAAGCGCCAGAATGCGGATGAGATACATTGGTACAGAGAACACCCAGAATTCGGGAAGTTTGTATTTCC
+CCATTCCGAGGATCATGGCTGGCATTCCGTCAATAGGCATATAGCCGCCATTCCAGCCAGAAATCACCAC
+CGCAATCGCGGCAGCGGTCGGGTTAAGCCCAAGGCTAGTACAGGCGGCAATGGCGATGGGGGCAAAAATA
+TATACTGACCCCATATTCGAACCCGTGAAGGTGGCGCAGGTACTGGTAAGCAAAGCAAAGGCGACAATAA
+ATACAAACGGTGAGACGCCAGAACCGAGCACACCTGCAACGGCATCGCCAACCATCGCCGTAAAGCCGGT
+GCCCGCCAGTGCATCAGCTACACCGATCACCCCCGCCATCATTAAAATGACCGGAGCCCCCATATGATCG
+CGAACTTCTTTGAAGTCCAGTACATCGATCATCAGAACAAACGCACCCGCAAGACCCGGAATAACGAAGG
+CGATATTTCCCAGAATGTTCATTAGCATCATGCCGATAACGCTGACAGCGAATGCGGCAATAGTGCAATA
+TTCTTTCCAGGCAGGAAGGGCGTTAAACGTTTCCTCGCGTGCCGCCAGCGCATCCTCGGAAGCATCCGCA
+ATGGGATGATCCGGAAGAAAACGGTAGGCAATAAGACTCCATGCGAGGAAAGCCGCTGACATGATGAGAT
+TCACCAGCGCAAAGCGCCCCATCGAAATCTCCTGATGAAACCCCGCGGTTTCGAGTACGGTCGCCGTAAC
+GCCAAAGAGAAGCGCGAGATTGATAGGAAGAAGCGGGTGGTTGGTGGCAAATCCCAGGGGCATCATTAAT
+TTCGATGTTGGTAGCTTTTTACTGTACGGAATGGTGGATACCAGCGACAGAATTAGCACGTAATAACCGG
+TCGCTCCGGTGCCGGCAAGACTGGCACCCAGCATAACAATGACTAACAACAGCCCATAGCTGCGGTAACT
+GCCTTTATTGACCAGGCTTATCATCGCAGATTTAACGTTGCTGATAAGCCGGGTTTTTTGTAGCGCCGCC
+ATGACCACCATAAACCCTGCAATCATCACCACGCTTGGATTGACGAATCCGGCAAAAGCCTGTTGAACGG
+TCGAAAGTCCCGATACAACCAGCAATAAACACGCAAGCAGTGGCGGTGCGCCAAAAGGCATTTTGTCCGA
+CATGATCAGCACGATCATCAGGACCAGTATTCCTAATGCCAGGATCATTTCCATTGTCATTTTTTCTCTC
+CTTTTAGGCTTCCAGCATGTCGCGCGGTACTTTAAAGACCGCTTTGCGTATTGAAGTAGCCGTGCCAATT
+GCGCACAGCGTCTGGTGAGGTTCCTCAGGCATAAAGACGGCGAAATCACCGGCGTGTAGGGTGATGGCGA
+CACTGTTTTCAGGGGATGGGGCGATAAACAGATCGGGCTTACGTTCTTCATCGTTTTCGCGAGCGATGGG
+CCGCGTTCCCGCATTAATGCCCTCACAACCAGTAATCACCACCTGTATATCGGCCCATAGATGGTGATAC
+TCCGTATGGCGGAGTTCGGCGGGTTGCGTGTCTGAAGTTCCCAGCGTGCAGAACCACCGACATCCTTCAG
+GTTGCCAGCGACCGTCCTCTCTGGTGGATAACGCCGATAACGAACACTCCGGGCGCAGCAGAATATTTCT
+CACCCAGGCAGGAAGCCCCGCCAGCGACAAATGGTTGAGATTACCGATAATCATGATGCCTGCCCCTTAA
+CCCACTCGGGGGAGATGCGTACGTACTTGATGGCCTGACGCCACCAGGTGTAAGCGATATGTAGCGTACC
+GTCCGGGCTTTGTTTGATGCTGGGGTAGGAGAACTCACGATTTAGCTTTTCCAGGGAATTGTTGGTCATG
+CAGTAGCCGTCGCCTTCATCGAGATTGCGCCGCCACGGCCAGCTTTTCCCACCATCGGCAGAAATCGCTA
+CCGTCATCGGCGCGCGTGGGGCACCCCAGAAAGCGGAGCGTCCGACGGCTGTCGGTTCTTTGCGGCTGTC
+GTCGCCATCGTCGATTTCGTCATAAAGCGACGCGCGATGTTCTACTGCGCCTGCCGCACTCATCGCGTTG
+TACACCAGCGCCAGTTCGCCGCTGGCAAGCGTCGTTACCTGAATAGACGAATTGTTGTTGGGCAATTCGG
+TTGCTTGCGGCACCGACCAACTCTCGCCGTTGTCCGCGGAATGGCTGATATAGATGTTGTCTGCCCAACG
+GCTGCGAAAGAGAGCAACCAACGTACCGTTGTGCAGCATTGTGATATTCATATGAACACAGCCAAGACTT
+TGCGGCACCTCGACATCGCGCCAGGAGTGACCACCGTCAGCGGAAATTTTCACTGCGCTGATATCATCAT
+TGCCGACCCATTTTTCGCCGGGTTGGGTACGGCAATAAAAGACGGGAAGCAGCCAGTTACCGTTATCAAG
+CACCGTGATCGGCTGGCGAATGAACGTGCCGGGTTTATCGAGCAGGGTGGCAATCTCGCCCCAGGTTTGC
+CCAAGGTCGTCAGACTTACGGTAGCGGACGATGGCGGTGTCCTGATTACCGGATATTTGTGCGGTCCATA
+GCAGCCACAGCACGTTATCCGGCGCGAGAAACAGCACTGGGTTTTGCTCTGAACGCGTGTCATCGTGGGA
+AAGTTTGACCGCATCGCTCCACTGCATCCCGCCAGCGGGCAATCGCGATCCCCAGACAGAAATATCGGCA
+ATACCTTCCAGCGTTCCCGCAAACCAGACGCACATTAACGCGCCATCCGGCAAAGGCAGAATATTCGCCG
+CGTGGTTTTGTGGGCAGGACGAGGGCAGCATGGCGGTAAGCACATGCGAATCGTTTTCGGATGGACGGAT
+GACGCCGTCACGAATAAGGGCTACAGACATAGTTAGACTCCATCTTAAAGTTGGTAATAGATTTATTAAT
+GCGAGTGCGATTCATGCGTTTCGATCAATGTCGAAACTTTTTTATTTCTTCTTTCACGGATAATATTGAG
+TGTCTCAACACTTAATGAGAAAAATATCGCGAAGTAGAGATACTCTTTGGCAATATGAATGTTGAGACTA
+TCGGCAACCAGCAATACACCGACAAATAATAAAAAGGTTAACGCCAGTATTTTTATTGACGGCGTGGCGT
+TAACGAAATCACCAATTGTTTTCGCCGCAAACATCATGACGCCGACGGCAATCATTACGGCGGCAATCAT
+GATAAATATATGCTGAGAAAGGCCGACGGCGGTGATCACCGAATCCAGGCTAAACACGATATCGAGCAGC
+ATTATCTGTACGATGGCACCGCACAGCGACAGTTGCCGCGATCCGCTGCCATGTTCGTCTTCCTGCGCGG
+GCGACAGCTCTTCGCGTATCTCCAGTATCGCTTTATAAATCAGGAACAGCCCGCCCCCGAGCAGAATCAA
+CGTGCGGAACGAAATCTCCAGCGTCAGCACGGTAAAAAGCGGCTGGGTAATATGTGAAAGCCACGCAATG
+GATATCAGCAATAATATCCGCATAATCATCGCGCAGCTTAAACCCAGTTTACGCGCCATATTTTGTTGTG
+ATAACGGAAGTTTTGCCACCACCAGTGAAAGAAAAATAATATTATCCACCCCGAGAATAATTTCCAGAAA
+GGTGAGGGTAATTAAAGTGAGCCAGATATCTGGCTGCATAAACCACAAAAACATGGGGTAATCCTTTATT
+CTCTTTATCTAAACTTTATAGCGGGCTGGATAATAGAGTTAATTTAATTAATGTTATAATGACGAATAAT
+TTGTTGAATCTCGCTGATCTGTTCAGGCGTGAAATTAACCGCGTAGCGGCTATCACCAACATCATGCCCC
+ATAAGCTGCAACGCTTTCTTCACCGCAGCCGGGGAGAATGCTACTTTATAAAGGTCGGTACGCAGGCCCG
+TTACACTCTCCTGTGCTTCATAAGACCCTTCAATATCACCGGCATGGAAGCGAGACCAGATAGCATTGAT
+TTCCCGCGGTGCGACGTTGGCGAGCCCAGAGATACAGGCTGAACACCCCTCGACAAACCCTTTATGGATC
+AGCGAATCCGGGCCGTTGAGCACATTAAAGCCGTCAATGTCGCGCACCGCATCGAGAAAACCCTTCAGGC
+TTTCGTCGCTTCCGGCGCTGTCTTTAATCCCAATGATATTGGGATGCGACGCCAGAGCACGCGCGGTTTC
+TGGCTGGATCGTATTGCCAGTGCGAGCCGGGATGTTATAGAGAAACATCGGAATGCTCAGTGCGTCGGCA
+ATTGCGCTGTAATGCGCAATCAACTCTTCCTGTTTCAGCGGTACGAAGTAAGGGGCAATGACCGACACGG
+CATCTACGCCAAGTTTTTCAATCTGCTGACCCAGACGAATCGTTTCGCGCGTAGAGATCTCGCCAATGTG
+TGCCACGACCGGTGCACGACCAGCCACTTCATCCACGCAGGTTTGCGTAACGCTGAGCTTCTCCTGTTCA
+TTCAACACAAAAAACTCGCCGTTGGTGCCGCCGCAAAAAATCGCGTTACCCGCTTCCAGTTGACGATTCA
+CCTGCACTTTTAACGCCGGGATATTCAGACTGCCGGTCGCGGTAAACGGGGTGACGATAGCGGTTAATAC
+ACCTTCAATGGTTTTCGGCATGATTTATTCCTTAAATTGATGTTGCGGAAACAGTGTTTGGTAAATGGCC
+TGTACGTCCTGTAGATCAAGCTGGCACGGCACATTGTTCATAAGGCGCTTCACGTTCAGTGCCGCCTCGC
+TAAGAGAGGCAATATCCTCTGGCGGTACGCCGAGATCCGCGAGATTGTTGGGTAGCTTGAGTTGATGGAC
+TAATGCCTGTAACCAGGTCACCAGGGCATGAGATTTTTCTTCCGTGCTCAGGGCGGTTTCCGCATCGGGA
+ATGCAATCCCAGACCCGGGCAAATTTCTCGACCGCCCAGGGGCGAACAAACGCCATGCACGGCGCCAGCA
+AGATGGCATTCGCGACGCCATGCGGCAGATGATATTTGCCACCTAACGGGTAGGAGAGCGCATGAACGAG
+ATGCGTGCCCGCATGGGTTATCGCTACGCCGCCATAGTAAGACGCCCACAGCATTTCCAGTTTTGCGCGC
+AGATCCTGAGGATCGTTCACGGCGGGTTGAATGTGCCGGAAAAGTTTACTTAAACCAGTCAGCGCCACGT
+TATCGCTGACCGGATTTGCCACGGTCGCGGTAAAACACTCCAGTAAGTGGCAAAGAGCATCAATGCCCGT
+GGACGCCGCAATATGCGCGGGCATGCTGGTGGTCAGTTCCGGGAAAAGCGCCACATAGTCTGGTAACAGC
+ACCTGGGAAATAATACCCACCTTCGTGCTTTGCTCAGGGATTGCCAGAATCGCATTCGGCGTGGCTTCTG
+AGCCGGTTCCGGCGGTTGTAGGAATCAACCATGATTGCACCCGCTGAGTCGGTTTTTCACCCGCAAGCAG
+CGCATCCAGCCCCGGTGATTGTGGATGGCAAAGCACCGATAGCAGCTTCGCCACATCCAACACGCTGCCA
+CCGCCGATCCCGACCACCACATCAAAAGAGGCATCGCCAAGGGCATCCATTAGCTGGCGCACATCATGAT
+GCGTGGGCTCTGCGGGCACATTATCGATAACGTTAACCTGCGGGCAGTGCTTTTCCAGTAAGGCGCGAAT
+CTGCTGCACACCGTCGAGCTGCGCAATATTACGGTCAGTGACCAGCAGCATTTTTCTGATGTCGGGTAAG
+AGCGACGTCAGGGAAGGGATAGCGCCTGCGCCGCTCAGTATCGTGCTATTGATAATTACCACAAATAACC
+TCTCTTCTGGTGATTGAATTCAATCATTCAAAATGCCGTAGCCTACGTAACATGGTCTAATTTTATAATT
+TATTCGAGTGATTAATAACTTGAGCTTGCTCACATTTAATCAATTGTGATTGAATATAATCATTGTTATC
+ATAAAACAACCTGGAGTGATGATGGAAAAGGGAATCACTAAGCCGAGCATTCTCGTCGTTGCCGATGATT
+TCACGGGAGCCAACGACGCGGGGGTAAGCCTGGCGCAGGTGGGGCATACAGTTGATGTGGCCTTTGAAAT
+GCATTATCGCGGTGATGCCAGCGTATGGGTGATTAACAGCGACAGCCGGGCGATGGATCCTAAGCTGGCG
+GCGATGAAAATAACCTCGCTGATGAGTCATCTCCCTCTGGCGAATAATCCGCCGCTCGTGATTAAAAAGA
+TAGATTCCACGCTGCGAGGCAATATCGGCGCAGAAATTGAAGCCCTGATGAAGGCATGCGGTATAACGGG
+CGCAGTGGTTGCCCCCGCATTTCCTCAGGCGGGAAGGATCACAGTGGCCGGTGAGTGTTGGGTAAACGGT
+GTGCGGATAACGGAAACCGAGTTTGCCAGCGATCCGAAAACCCCGGTATTGAGCGCCCGAATTGCGGACA
+TCATCCGGTTGCAGACGGCCATTCCATGCCAGCCCGTTACGGTTTCTCAGCTCAGCCATTTGTCTTATGA
+GCAACCGTGGATTAGCGTGATAGATGCGCAGACGGACAGCGACCTGGATCGCATCGCTGCCGCTGTGATG
+CAGGCTAAACAACCGCTGCTGCTGGTCGGCTCCGCTGGTATTTGTGATGCCGTTGCCCGGCGCTCCGCGA
+TTATGCCGCCACCCACCGTGCTGGCCATTATTGGTTCAATGAGCGAAATCGCTCAACGGCAGATCGCCAC
+ACTTCATTCACACCCACGTATCACACAGATATACGTCGATGTTGAACACATTCTGGCAGGCAATGCCAGT
+GACTATGACGCGCGTATTGTGCAGGCCTTGCAGAAAGGCGACCACTGCATTGTCCACACCTGTAACGATT
+CTGTAGCAAGGCATCAGATCGACATCCTTTGCCAGCGTTGGCAGATGAGTCGCGCTGCACTTGGGGAAAA
+AATTTGCCGGTTTCTTGGCGAACTTACCCGGCAAGTTCTGCTTCGCACAATGCCCGATGCGCTTTATCTC
+TCTGGTGGTGATGTCGCAATGGCAACAGCCAGTGCGTTAGGCGCGACCGGATTTCGTATTACGGGGAAGG
+TGGCGCAATGCGTTCCATACGGTCACTTTCTGGGCGGTGTCTGGTCCCGTTCGGTGATGACGAAAGCCGG
+TGGGTTTGGCGATGAGACCACGTTGCATCAGGTTCTGAATTTTATCGAGGAGAAGTGTAGTGAATAATAT
+TATTGCGGTAACGATGGGTGACCCGGCGGGTATTGGCCCGGAGATCATTATTAAATCCCTGAGCGAAGCC
+GGGCTTGCTGGTGCCCCGGTGGTGGTGGTGGGCTGTGTGCGCACGCTGCGACGTATTATGGCGATGAATA
+TCACGCCGCAGGCAGAGTTACGCGTCATTCAAAAGGTGTGCGACGCCCATTTTGCTCCCGGCGTGATTAA
+CGTGATGGATGAGCCGCTGGCTAACCCCGATGCGCTGACACCCGGAGTGGTACAGGCTGCGGCAGGCGAT
+TTAGCATATCGCTGTATCAAACGTGTAACGGCTCTGGCCTTATCAGGCGAGGTTAAAGCCATAGCCACTG
+CGCCGCTGAATAAAGAAGCGCTGCATCTTGGCGGGCATAACTATCCGGGGCATACGGAATTGCTGGCCCA
+TCTTACCGGCAGCAAAGAGTACGCGATGGTGCTCTATACCGATAAGCTCAAGGTTATCCATATTTCGACT
+CACATCTCACTGCGTAAATTCCTGGATACTTTGAATGGTGAAAGGGTCAAAACGGTTATTCGAGTTGCGA
+ACCACTTCCTGAAACGTGTTGGTATTGAGCGTCCGCGTATTGCCGTGGCGGGTGTAAATCCACATGCAGG
+GGAACATGGTTTATTCGGCACTGAGGAAATCGAGATTATCGCGCCTGCGATTGAAGCAATGCAGGCCGAA
+GATATTGATGTTACTGGCCCGTGCCCGCCAGATACCGTGTTTATGCAATGCCATGAAGGGCTATTCGATA
+TGGTAGTGGCTATGTACCACGATCAGGGGCATATCCCTTTAAAACTGCTTGGATTTTATGATGGGGTGAA
+TATCACCGCCGGGTTGCCATTTATTCGCACTTCTGCCGACCACGGCACCGCGTTTGATATTGCCTGGACA
+GGAAAAGCCAAGTCTGAGAGCATGGCAGTTTCCATCCAGTTAGCAATGCAGATTTCGCGAGAATAAAATG
+AAGGGATATAACCGGTTAGAGCAGATCATGGATTACCTGAAAAGCCATAATCTGGTCACCGTTGATGAGC
+TGGTGGCGGTAACCAATGCGTCGCCGGCTACGATTCGTCGAGACCTGATAAAACTCGATGAGCAGGGTGT
+TATCAGCCGTACACATGGCGGTGTGACCCTCAACCGGTTTATTCCTACCCAACCGACTACCCATGAGAAA
+ATGCAGCGCAGCCTGGCGGAAAAACATGCCATCGCCAGCGCAGCGGCGTCAATGGTCAAAGCGGGGGATT
+CCGTCGTCCTTGATGCCGGTACGACAATGATTGAACTTGCGCGGCAGATTACACATTTACCGCTTCGCGT
+GATCACAAGCGACCTGCATATCGCGCTTTTTTTGGCTGAATTCAAGCAAATTGAAGTGACGATTATCGGC
+GGACGTATCGACGACTCCAGCCAGTCCTGCATTGGCGAACATGGTCGTAAATTGCTGCAAAATACCTGGC
+CGGACGTGGCATTTTTAAGCTGTAACAGCTGGGATCTTGAAAAGGGTATTACAGCACCCACGGAAGAGAA
+AGCCGCACTAAAACGCGATCTTATCGCGCATGCTTCGCGCAAAATTCTCCTGGCTGACAGCTCAAAATAC
+GGTTCATGGTCGCTGTTTAATATCGCGCATCTTAATGAACTGACAGAGATTATTACGGATAGTCAGCTTG
+ATGGGCAGACGCGTAGAACGCTTGCGTCCTTGTCGACGCGTTTAATCATAGCCGACTAATCTATGACTCT
+GCGGCCAGCTCATCCGGCAATTTAATAAATGCGTCAGGCTGGCGACGTTTGGCCTTACGTTTCCAGCGCG
+AGGATCTGCTGGCAGTAGCGCAGAAAACGCCCCAATATCTTACGCAAAACCATTTTTTCGCTAACTAACA
+GTTGTCAGCCTGTCCCGCTTATAAGATCATACGCCGTTATACGTTGTTTACGCTTTGAGGAATCCACGAT
+GAGTGAGGCAGAAGCCCGCCCGACTAACTTTATTCGTCAGATCATCGATGAAGATCTGGCCAGTGGTAAG
+CACACCACAGTACACACCCGTTTCCCGCCGGAGCCGAATGGCTATCTGCATATTGGCCATGCGAAATCTA
+TCTGCCTGAACTTCGGGATCGCCCAGGACTATAAAGGCCAGTGCAACCTGCGTTTCGACGACACTAACCC
+GGTAAAAGAAGATATCGAGTATGTCGATTCGATCAAAAACGACGTAGAGTGGTTAGGTTTCCACTGGTCT
+GGTAACGTCCGTTACTCCTCCGATTATTTTGATCAGCTCCACGCCTATGCGATCGAACTGATCAATAAAG
+GCCTGGCGTACGTTGATGAACTGACGCCGGAACAGATCCGCGAATACCGCGGCACCTTGACGCAGCCGGG
+TAAAAACAGCCCGTACCGCGATCGCAGCGTTGAAGAGAACCTGGCGCTGTTCGAGAAAATGCGTACCGGC
+GGTTTTGAAGAAGGTAAAGCCTGCCTGCGTGCGAAGATCGACATGGCTTCGCCGTTTATCGTGATGCGCG
+ATCCGGTGCTGTACCGCATTAAGTTTGCTGAACACCACCAGACTGGCAACAAGTGGTGCATCTACCCGAT
+GTACGATTTCACCCACTGCATCAGCGATGCGCTGGAAGGTATTACGCACTCTCTGTGTACGCTTGAGTTC
+CAGGACAACCGCCGTCTGTACGACTGGGTACTGGACAACATCACCATTCCTGTTCACCCGCGCCAGTACG
+AATTCTCGCGCCTGAATCTGGAATACACTGTGATGTCCAAGCGTAAGCTGAACCTGCTGGTGACCGACAA
+GCACGTTGAAGGCTGGGATGACCCGCGTATGCCGACCATTTCTGGTCTGCGTCGTCGTGGTTACACTGCG
+GCTTCTATTCGTGAGTTCTGCAAACGCATTGGTGTGACCAAGCAGGACAACACCATTGAGATGGCGTCAC
+TGGAATCCTGCATCCGTGAAGATCTCAACGAAAATGCGCCGCGCGCAATGGCGGTTATCGATCCGGTGAA
+ACTGGTTATCGAAAACTACCAGGGCGAAGGCGAAATGGTTACCATGCCGAACCATCCGAATAAACCGGAA
+ATGGGCAGCCGTCAGGTGCCATTTAGCGGTGAGATTTGGATCGATCGCGCCGATTTCCGCGAAGAAGCTA
+ACAAGCAGTACAAACGTCTGGTGCTGGGTAAAGAAGTGCGTCTGCGTAATGCTTACGTCATTAAGGCAGA
+ACGCGTGGAGAAAGATGCCGAAGGCAATATCACCACCATCTTCTGTACTTATGACGCCGACACCTTAAGC
+AAAGATCCGGCAGATGGTCGTAAAGTCAAAGGTGTTATTCACTGGGTGAGCGCGGCACATGCGCTGCCGG
+TTGAAATCCGCCTGTACGATCGTCTGTTCAGCGTGCCGAACCCTGGTGCTGCGGATGATTTCCTGTCGGT
+GATTAACCCGGAGTCGCTGGTGATCAAACAGGGCTTTGCTGAACCGTCGCTGAAAGATGCGGTTGCGGGT
+AAAGCATTCCAGTTTGAGCGTGAAGGTTACTTCTGCCTCGACAGCCGCCATTCTACGGCGGAAAAACCGG
+TATTTAACCGCACCGTTGGGCTGCGTGATACCTGGGCGAAAGTAGGCGAGTAAGTTTACGTTGTCGGATA
+GAGCGTTTACGCCGCATCCGGCAAGAAATATGCAAATTATCCCAAACGCCGCGCTCTGCGGCGTTTTTTC
+TGCTTTTCTTCGCGAATTAATTCCGCTTCGCAATTTATCCATAAAATAAATTTAAAACCACAAAACATAA
+TTAAATAAAATGTAACCGCTTTCATCTTGCTGGAATTTCACGTTTTTATTCTTCTGCAAGCCTTTCAACT
+GCAAACTTAAGCCTTGTAACAAAAATCATCAAAATATGTGCGGTTGCTCATGTTCTTACATTCTGGTTAC
+AGAAAGAGATTGATAATTCGCGTCGCGAAAAATAGTCTGTTCCTGTAGTCAGCGAGACTTTTCTCAACGC
+TATTTTTTTAATTTTTATTTTTTTCGCTGTTCACCTTTGGTGCAGCAATTTATACGTCAAAGAGGATTAA
+CCCATGCGTACGTTTAGTGGCAAACGTAGTATGCTGGCGCTGGCTATCGCCGGTGTTACAGCTATGTCGG
+GCTTTATGGCAATTCCGGAGGCTCGCGCCGAAGGATTCATCGACGATTCAACCTTAACCGGCGGTATCTA
+TTACTGGCAGCGTGAACGCGACCGTAAAGATGTTACCGACGGCGATAAATACAAAACCAACCTTTCTCAC
+TCCACCTGGAACGCCAACCTCGATTTTCAGTCTGGTTATGCTGCTGATATGTTCGGCCTTGATATTGCCG
+CGTTTACGGCGATTGAAATGGCGGAAAACGGCGACAGCTCTCACCCGAACGAAATCGCGTTTTCAAAAAG
+TAATAAAGCCTATGACGAAGACTGGTCCGGCGATAAAAGCGGTATAAGCCTGTATAAAGCAGCAGCCAAA
+TTTAAATACGGTCCGGTTTGGGCGAGGGCAGGTTATATTCAGCCAACCGGTCAGACGCTGTTAGCGCCAC
+ACTGGAGCTTTATGCCGGGTACTTATCAGGGGGCGGAGGCCGGGGCGAATTTTGATTACGGCGATGCTGG
+TGCGTTGAGTTTCTCCTACATGTGGACCAACGAATACAAAGCGCCGTGGCATCTGGAAATGGATGAGTTT
+TATCAGAACGATAAAACCACCAAAGTTGATTATCTACACTCCCTTGGGGCGAAGTACGACTTCAAAAATA
+ACTTCGTACTGGAAGCGGCGTTTGGTCAGGCCGAAGGGTATATCGATCAATATTTTGCCAAAGCCAGCTA
+CAAATTTGATATCGCCGGTAGCCCGTTAACCACCAGCTACCAGTTCTATGGTACGCGCGATAAAGTTGAC
+GATCGCAGCGTCAACGATCTTTATGACGGCACCGCCTGGCTGCAGGCGTTGACCTTTGGTTACCGGGCGG
+CTGACGTAGTGGATTTGCGCCTCGAAGGTACCTGGGTTAAGGCTGACGGTCAGCAGGGATACTTCCTGCA
+ACGTATGACTCCAACCTACGCTTCCTCGAACGGTCGCCTGGATATCTGGTGGGATAACCGTTCCGACTTC
+AACGCCAACGGCGAAAAAGCGGTCTTCTTCGGTGCGATGTATGACCTGAAAAACTGGAATCTTCCAGGCT
+TCGCCATCGGCGCTTCCTACGTTTACGCATGGGATGCTAAACCTGCGACCTGGCAGAGCAATCCGGATGC
+GTACTACGACAAGAACCGGACTATTGAAGAGTCTGCCTACAGCCTGGATGCGGTTTACACCATTCAGGAC
+GGTCACGCCAAAGGCACGATGTTCAAACTGCACTTCACCGAATACGACAATCACTCCGACATCCCAAGCT
+GGGGCGGTGGTTACGGCAACATCTTCCAGGATGAGCGTGACGTGAAATTTATGATAATCGCACCATTCAC
+CATCTTCTGATGCCCGACGCGGCAGGTTTTGTGCCTGCCGCACATTTGAGGAATTTGCTATGAAAAAACT
+GATTCTCATTGCCATGATGGCATCGGGGCTGGTAGCTTGTGCGCAATCAACCGCACCGCAGGAAGACAGT
+CGTCTGAAAGAGGCTTACAGCGCCTGTATCAACACCGCGCAAGGTTCGCCGGAAAAAATTGAAGCCTGCC
+AGAGCGTGTTAAACGTGCTGAAGAAAGAGAAACAACATCAGCAGTTTGCCGAGCAGGAAAGTGTACGCGT
+ACTGGATTATCAGCAGTGTCTGCACGCAACGCAAACCGGTAATGACCAGGCGGTGAAAGCCGATTGTGAT
+AAGGTCTGGCAGGAAATTCGCAGTAATAACAAATAAGTGAGAGCTGTAACTCTCGCTTTTCTTATTTCCC
+TTGTATAAAAAAGCCAACCTGCAGGTTGGCTTTTCTCGTTCAGGCTGGCTTATTTGCCTTCGTGTGCGTG
+CTCATCTTCGCGGCAATCGCCTTCGGCACAGTGACCGTAAAGATAGAGACTGTGGTTAGTCAGGCGAATG
+CCATGTTTTGCGGCGATTTCACGCTGACGCGCTTCGATGGAATCATCACTAAATTCGATAACCTTACCGC
+AGTCGAGGCAGATCAGATGATCGTGGTGATGTTGCTGTGTCAGTTCAAATACGGATTTACCGCCTTCAAA
+ATTGTGGCGGGTGACGATACCAGCGTCGTCAAACTGGTTCAGTACGCGATATACCGTAGCCAGACCAATT
+TCTTCACCCATATCGATCAGACGTTTGTATAAATCTTCCGCACTGACGTGATGGTTGTCCGGCTCCTGAA
+GAACTTCCAGGATTTTCAAGCGAGGAAGCGTTACTTTCAGGCCAGCTTTCTTTAGGGCGGTATTGTTATC
+AGTCATGCGGAATCTGTCCTGTTACTAAGCGGTTCACTTCATTAGAAGAAGTGACAGAATTTGCTCTTGA
+GATAATGCGTATCATTATAGAATTGCCACGCCTAAATGAAAACCACAAGTCCCTGGCAAATATTGTTAAT
+AAAAACGTGGCACAGCTTACATTTACAACGGCAAGGCCACTTGAACACCGGGACATTGTACAGGTACAAC
+AGCAAAAGTTACAAATTTGTAGCAATTATTTTGATTGGCATTATCTATTAATACGGCGTAGACATGAGTC
+TACGCCGCATCACATCAGGCATTGAGAATTTCGTCGAGATGCAGCTCTTCAGAAATTTGTTTAACCCATT
+TTTCTACACGTTCAGCAGTCAGTTCCGGCTGACGATCTTCGTCGATAGCCAGACCGACAAAGTGGTCATC
+ATCAGCCAGACCTTTTGACGCTTCGAAGTGGTAGCCCGCGGTTGGCCAGTGACCAACGATAGTTGCGCCG
+CGCGGTTCAATGATGTCGCGGATGGTGCCCAATGCATCGCAGAAGTATTCTGCGTAATCCTCCTGGTCGC
+CACAACCAAACAGCGCAACCAGTTTACCATTAAAATCAATCTCTTCGAGAGTCGGGAAGAAGTCATCCCA
+GTCACACTGCGCTTCGCCGTAATACCAGGTTGGGATGCCCAGCAGCAGAATGTCATATGCTTCCAGATCT
+TCTTTGCTGCTTTTTGCAATGTCATGGACATCGGCAACGTCTTTACCAAGCTGTTTTTGAATCATTTTTG
+CGATATTTTCGGTATTACCGGTGTCGCTGCCGAAAAAGATGCCAGTGATAGCCATGAGTGAAATAACCTC
+TTGAAACTTATTGAAATGGGGGTGGAAAATTGCCCACGGATAAAGGCAATCATAGCAGAACAGGCAGTCT
+TGCGGAATCAGCAAACGAGCAGGACTGCACACTGTGCTACATGAAAGTGGAAATTTAAACGATGCCCTGA
+CTACGCAGCGCCGCCAGTTGCTGCATTAACATCTCTTCGATCAGCTCGCTACGGCTCATATTGCGCGACT
+CCGCCAGCTCGTTCAGTGCCTCGACAGCTTCCGCGTTCAGCTTCAGTTCGACACGCTTAAGGCCACGTAC
+TTTGTCGCGTTTTAGTTGGTTGCGTTTATTAATACGCAGCTGTTCATCGCGCGAAAGCGGATTAGTTTTC
+GGTCGTCCCGGTCGACGCTCGTGCGCGAACAGATCTAATGTCGTACGGTCCGTTTGTTCTTTGGCCATGA
+TCTTGGTGACTTCGGGGGAAACAATCAGCCAGGCGCCTGCCCGGATGGATAGCGCGCCATAATACATCAG
+CGCGATGAGTCACGCCAACGTCCACGCGCGGAAAGCGACGCGGGCGCTGGGTTTTTAATCAGTTGCGTTA
+ATCATTGAGATAGCGACGGATAGCGCGTAATACCGCATCCGGTTTTTCAGCATGGACCCAGTGACCCGCG
+CCTGCAATCACATGCGCCCGAGCCTGTGGAAATTGTGCCAGTAAATCATCACGGTACTGCTCGCTAACAT
+ACGGAGAATTGCCGCCAGGGATAAACAGGGTAGGATGATCCCATGCCGGGATTTTCTCCCAACCCACAAT
+ATGCGGATACTGATCCCACAATACTGGCACGTTAAAGCGCCACTCCCCGTCAACAAAAGATTTCAACAGA
+AACTGAATCACCCCTTCTTCATTAAGATGCTGGCGCATTATTGCCGCTGCTTGCTGGCGTGTTTGTGCGT
+CTGATTCACTGACTGCGTTGATGGCCGCGAAAATCTCATCATGACGGCGAACGTGATAATCGACCGGCGC
+AATATCAATCGCCACCAGCTTGTCAATGCGATCGGGGGCTAGTGCAGTAAGAGCCATTACCGCTTTACCA
+CCCATGGAGTGACCGATAAATGTTGCTTTGTCGATCTGCTGTGCATCCAGGGTATCAACAAGATCCTGCG
+CCATCGCCGGGTAATTCATTACCGGATCTCTCGGTGAAAGACCGTGGTTACGCATATCAACCTGGATGAT
+ATTGTGATCGTTTACCAGATCGCGAGCCAGTACGCCAAGGTTGTCGAGGCTGCCAAACAGACCATGGACA
+AGAACGATGGGAGAATTATTGTGCTGGTTTTGTGCAGTTTGCGCGCGGATATTCAATTTCATGGCAAAGT
+TCTTTTTTTCGCGTTGTCGGGTTAGGGTATTATGTTGACCATTGTGCCACAGGGCTGCAACAAATAAGGT
+TTATTCCGAGTTTTTCTGCAAGCCAGGCTTGACGCTATCCGCTGCCGGGATTTATTCATATACTCCTGGC
+GACTTGTATTCAGCTAAGACACTGCACTGGATTAAGATGAAAACGATTGAAGTTGATGATGAACTCTACA
+GCTATATTGCCAGCCACACTAAGCATATCGGCGAGAGCGCATCCGACATTTTACGGCGTATGTTGAAATT
+TTCCGCCGCATCACAGCCTGCTGCTCCGGTGACGAAAGAGGTTCGCGTTGCGTCACCTGCTATCGTCGAA
+GCGAAGCCGGTCAAAACGATTAAAGACAAGGTTCGCGCAATGCGTGAACTTCTGCTTTCGGACGAATACG
+CAGAGCAAAAGCGAGCGGTCAATCGCTTTATGCTGCTGTTGTCTACACTATATTCTCTTGACGCCCAGGC
+GTTTGCCGAAGCAACGGAATCGTTGCACGGTCGTACACGCGTTTACTTTGCGGCAGATGAACAAACGCTG
+CTGAAAAATGGTAATCAGACCAAGCCGAAACATGTGCCTGGTACGCCGTATTGGGTGATCACCAACACCA
+ACACCGGCCGTAAATGCAGCATGATCGAACACATCATGCAGTCGATGCAATTCCCGGCGGAATTGATTGA
+GAAGGTTTGCGGAACTATCTAAAACGTTGCAGACAAAGGACAAAGCAATGGCAATCCACAATCGTGCAGG
+CCAACCTGCACAACAGAGTGATTTGATTAACGTCGCCCAACTGACGGCGCAATATTATGTACTGAAACCA
+GAAGCAGGGAATGCGGAGCACGCGGTGAAATTCGGTACTTCCGGTCACCGTGGCAGTGCAGCGCGCCACA
+GCTTTAACGAGCCGCACATTCTGGCGATCGCTCAGGCAATTGCTGAAGAACGTGCGAAAAACGGCATCAC
+TGGCCCTTGCTATGTGGGTAAAGATACTCACGCCCTGTCCGAGCCTGCGTTCATTTCCGTACTGGAAGTG
+CTGGCAGCGAACGGCGTTGATGTCATTGTGCAGGAAAACAATGGCTTCACTCCGACACCTGCCATTTCCA
+ATGCCATTCTGGTTCACAATAAAAAAGGTGGCCCGCTGGCAGACGGTATCGTGATTACACCGTCCCATAA
+CCCGCCGGAAGATGGTGGTATCAAGTACAATCCGCCAAATGGTGGCCCGGCTGATACCAACGTCACTAAA
+GTGGTGGAAGACAGAGCAAACGCACTGCTGGCTGATGGCCTGAAAGGCGTGAAGCGTATCTCCCTCGACG
+AAGCGATGGCATCCGGTCATGTGAAAGAGCAGGATCTGGTGCAGCCGTTTGTGGAAGGGCTGGCCGATAT
+CGTTGATATGGCGGCGATTCAGAAAGCGGGCCTGACGCTGGGCGTTGATCCGCTGGGTGGTTCCGGTATC
+GAATACTGGAAGCGCATTGGCGAGTATTACAACCTCAACCTGACCATCGTTAACGATCAGGTCGATCAAA
+CCTTCCGCTTTATGCACCTCGATAAAGACGGTGCGATCCGTATGGACTGCTCCTCCGAGTGTGCGATGGC
+GGGCCTGCTGGCACTGCGTGATAAGTTCGATCTGGCGTTTGCTAACGACCCGGATTATGACCGTCACGGT
+ATCGTCACTCCGGCAGGTTTGATGAATCCGAACCACTACCTGGCGGTGGCGATCAACTACCTGTTCCAGC
+ATCGTCCGCAGTGGGGCAAAGATGTTGCTGTCGGTAAAACGCTGGTTTCATCTGCGATGATCGACCGTGT
+GGTCAATGATTTGGGCCGTAAGCTGGTAGAAGTACCGGTAGGTTTCAAATGGTTTGTTGATGGTTTGTTC
+GATGGCAGCTTCGGCTTTGGCGGCGAAGAGAGTGCAGGCGCTTCCTTCCTGCGTTTCGACGGCACGCCGT
+GGTCCACCGATAAAGACGGCATCATTATGTGTCTGCTGGCGGCGGAAATCACCGCTGTCACCGGTAAGAA
+CCCGCAGGAACACTATAACGAACTGGCAAAACGCTTTGGTGCGCCGAGCTATAACCGTTTGCAGGCAGCA
+GCGACTTCCGCACAAAAAGCGGCGTTGTCTAAGCTGTCTCCGGAAATGGTGAGCGCCAGCACCCTGGCAG
+GTGACCCGATCACCGCGCGTCTGACGGCGGCACCGGGTAATGGCGCTTCTATCGGCGGTCTGAAAGTGAT
+GACTGACAACGGCTGGTTCGCCGCGCGTCCGTCAGGCACGGAAGACGCATATAAGATCTACTGCGAAAGC
+TTCCTTGGTGAAGAACATCGCAAGCAGATTGAGAAAGAAGCGGTTGAGATTGTTAGCGAAGTTCTGAAAA
+ACGCGTAAACATATCAAATAAGAAAAAGGGCGGTCGGAAGATCGCCCTTTTTTGCTTTGCTTAATTAACC
+GTGTTTATTTTTCAGTTCAAAGCGTGGTGAGACCAGACCATACAGTGTCCAACCGAGGAAGGTCACGATG
+GAACCGTATAGCATGGCTTCTTCCCCGGATGAGTACAGCGCATAAAAGCTGTACATCGCGCCAACAAAAG
+CAACAAAGTTTGCAACTTTCGCTTTTGAGGGGGGCACATTAGCGACCTTCTGAATAATGACTAATGCCGC
+CATTGACAGAATATACGGAATGATATTGGTCACCACGGCCAGGTTAACCAGCACGTTGAACTGACTGTTT
+AGCGACGGGCTAATCGTCATCAGCGCCAACCCGCTCTGGATAATCACAATGGTCAACATTCCCTGCACCG
+GTGCATCCACTTTGGTTACACGGGAGAAAATTTTAGGGAAGTAGCCTTCATCAGATGAAGATTTAAACAC
+CTGGGCAATGGTGAACTGCCAGCCAAGCAGCGAACCGCAGCAGGACATCACCATCAGCGCCATAATGACT
+TTACCCACTTCCGGCGTGAACATCTGCGCGAAGGCCAGACCAAATGGTGCCGTTGAATTTGCCAGCTCCA
+TATTTGGCACAATCCCGGCAATCACGTTGGTGGAGACGATATAAATCACCGCCGCACCTAACGTACCGCC
+GAGTACCGCGATTGGCACATTACGTTCTGGGTTTTCCACTACATCAGTATTTGCACACGCAGACTCCAGA
+CCAAGAAAAGCCCACAGCGTCATAGCGATGGAAGAACCTACCGCACTGAAGAACGGTGCATGATGCGGAT
+TCCAGGAATCAACGTAAAGCGTCGGGCTAAACCAGAACCAGCCGATAATGCACAGGCCTACCACCGGAAT
+AATGACCCCCCACACGGTAATGCTACTGATTTGCCCGGTAATGCGCGCACCACCAAAGTTAGCCACGGTA
+CAAATCCACAGCACCCCGATGGTCGCAAGACCAATCTGCACTGGCGACAAACTCGCGCCGAGCAGTTCGG
+TGCCGTAACCAACCGCCGAAATAGCAATCGCGACGTTAGCAATCAGCAGCGAGACGCCGTAGGTATAGTT
+CGCCATAAAGTTACCGGATTTACCGAAAGCATACTCCGCATAACCGCCCATACCGCCTGATTTACGGCTG
+AACATACCGCATTTTGCGAATGCCCATGCCAGTGCCATTGAGCCTACGGCTGTCACCAGCCAGGAGATAA
+TTGAGATTGTCCCGACTTCGGCAAGCTTTGTCGGCAGCATGATGATACCGGAGCCCATCATGTTGACCAT
+CGTCAGTATGGTTAACTGAACGACACCCATTTTGTTCGATTTAGCCTGACTCATAATTTTTCCCCTTTCA
+ACAGGGCGCTTTGCGCATCACGAGGCTTGATGACATAGCACCAAACTTGCTTACGACCATCATGTTCTTC
+GATATAGACACCCTGCAGCTCCGGTGCAAAACCTGGCAGCAGGTTGATGCCTTCTTCCAGAGCGCTGAAG
+TAACGCAGAACAGCACCACCCCAGATTTCACCAGGAACAACACACAGCACACCCGGAGGATAAGGAAGCG
+CACCTTCGGCAGCGATACGGCCTTCTGCATCCGGCAGACGAACCAGCTCCACTTCACCGCGTAAGTAGGC
+GTAGTTGGCTTCTTGCGGATTCATGCTGACGCGAGGGAAGTGTTCCTTACGGAACATCTCTTTTTGCAGT
+TGTTTCACGTTGTGACGGGCATACAAATCATGCATTTCCTGGCACAACTGACGCAGGGTATAACCGGCGT
+AGCGCTCTTCATGCTGTTTGTAGATGGAAGGCAGTACTTCCGCCAGAGGCGCATCAGCTTCCAGTAGTTT
+TTCGAAGCGTACCAGCAGGGCAACAAGTTGCTGCAGTTTGGCCATATCTTCTGCCGGAGTCAGCAGGAAG
+AGGATGGAGTTAAGATCGCATTTTTCCGGCACTACGCCATTTTCGCGCAGGAAGTTAGCAAGAATCGTTG
+CAGGTACACCGAACGCTTCATATTCGCCGTTACGTGCATCAATACCTGGAGTTGTCAGCAACAGTTTGCA
+CGGATCGACAAAGTATTGGTTCTCTGCGTAGCCTTCAAAAGAATGCCAGTGCTCACCGGGTACAAATTTA
+AAGAAGCGCAGATCAACCGCAATTTGCGCTGTTTCATACGACTGCCAGGGTTTACCATCCACCAGTTCAG
+GAACGAACGGGCGAATGTGCTGGCAGTTATCGAGGATCAATTTGCGGGCATTAATACCGTTAACCACACA
+ATCCATCCACATATTACGACCGCTGACACCTTCATGCATTTTGGCGTTGATATCCAGTGCGGCAAACAGC
+GGATAGAACGGGCTGGTGGAGGCGTGCATCATAAAGGCGTTGTTCATGCGTTTGTGCGGTACATAACGCT
+GTTGCCCTTTGATATGGCTGTCTTTTTTATGAATTTGTGAAGTCTGAGAAAAACCAGCCTGTTGTTTATG
+CACAGATTGCGTAACCAGAATACCCGGATCGTTCTCATTAAGCTCCAGCAGCAGCGGCGAACAGTCCGCC
+ATCATCGGAATAAACTGTTCATAGCCGACCCATGCTGAGTCAAACAGGATGTAGTCACACAGATGACCGA
+TTTTATCCACCACCTGGCGGGCGTTATAAATAGTACCGTCGTAGGTGCCTAACTGAATCACAGCGAGGCG
+GAACGGACGCGCCTCTTTTGCCCGTTGCGGTGCAACTTCTGTAATCAGTTCACGCAGATAACTTTCTTCG
+AAGCAGTGCGCATCAATGCCACCGATAAAACCATACGGGTTACGTGCTGTTTCCAGATAAACCGGTGTTG
+CACCAGCCTGTAGCAAGGCCCCGTGATGGTTAGACTTATGGTTATTGCGGTCAAACAGCACCAGATCACC
+CGGTGTCAGCAGGGCGTTTAAAACCACTTTGTTGGAGGAGGAGGTGCCGTTTAAAACAAAGTACGTTTTA
+TCGGCATTAAACACTTTAGCCGCATGTTGCTGTGCAATGCATGGCGCACCTTCATGAATCAGTAGATCGC
+CCATTGCAACGTCGGCATTACACAAGTCGGAGCGGAAGAGCATTTCGCCAAAATATTCCACGAACTGATT
+GCCTGCCGGATGGCGACGGAAAAACTCACCTCCCTGATGACCCGGGCAGTCAAAAGCGCTATTGCCCTGA
+TTGACATAATCGACCAGTGCGCGGAAGAAGGGCGGGCGCAGTTGCGTTTCATAATGGCTGGCAGCGGTTT
+CTAACTGACGTCCATAAAACTCTTTCCGTGATTCGCAATGCTCGAAGACACCAGAAATACGTGGCAGATA
+TTCTGCTGGTACACGTTCTTCATTTTCCGTTGCAATAAAAACAGGAATGCCATAGCCAGTAGCGTCTATT
+TCATCGAGTTTTCCACGTTCAACATCATTGACTGATAAAATAATGGCGGCAACGTCAATATAATTACTTT
+TGTCAATATTCACGCATTCACGATGAGTGGAAAAACAATCCGGGCAAGAACGGCTAACGGCAATTTTTAA
+TTCTGACATTTTGTTCATCTCTTTATTTCAGGTAATAGCAGGTCCTCAATTTCTCAAAGGAGAAATTGAT
+CACGCCGGAAAAAAGCAAAACCCCACCGCTGATAAATAAATCAGTAGTTTGCTTTTTGCAGATGCAATAA
+CCCAGACCAGCCCGGTAACTGGCTATACTCGTCATACTTCAAGTTGCCTATGCTGCGACTCGAATTATTA
+AGAGGTTAAAAGGGTTAGCAGTATATGAGCACCGAGGGATACAGGTATTAACCTGTAATGCTTAAAGCCA
+GGGAGACCTGTACGCTGGGGTGCCCTTTAGTCAGAAGACTAGCGGGCATTAAAGAAATGAAAGTCAAAAC
+TATTACGATGGGCAAACTTCATGATATGGGTTGTCCGCCTTATATGAGGCATTAAGCGGTTATTATTTTC
+CATTTACCTTTACCTTTTTCTGTGTCAGTTGAAGGTAGGGTTATTCTATCCATGAAATAGCTATAATCTG
+TGAAGAAGATCAACAAAAAACGATCATATCCCAAATAATAAATCATTAATGATGAATAGCGCCATATTAG
+ATGCTGTTTTGTTGTTTAAATGTTGCAATTTTGTGGGTTGTATTTTCATTAAGAAATTAAACCTGCCAAA
+TAATAATTTTCGGGGCAGGTTTAATAATAAATTAATAATTATTTAAGCGTATTTATTGAATAATAATTCA
+TGGCATAAACCGATACCCAATACCGGTTTCAGTAATAAAATGGCGGGGGCGGGCGGGATCTTGCTCCAGT
+TTTTGTCGCAGATGCCCCATATAAATACGCAAATAGTGGCTGTGTTCGACCGCGTTTGGTCCCCACACCT
+GATTGAGTAACTGGCGCTGGGTGAGCACTTTTCCGGCGTTGTTGAGCAGCACGGCCAGCAGGCGGAACTC
+AATCGGTGTGAGATGCACCTCTTCCTCGCCGCGGTGGATAACGCGGGCGGCTAAATCGACGGTAACATCA
+GAAAATTTCACCAGCGGATCGGGCGTGGTGGTGGCGGAGTGGCGGCGTAATGCGACGCGCAGACGGGCCT
+GCAATTCGCCAATGCCAAACGGCTTACTCAGATAATCATCCGCTCCGGCATCCAGCGCGGCGATTTTATC
+GCTCTCTTCGCTGCGTGCGGAAAGCACAATCACCGGCACCGCGCTCCACTGGCGCAGGTCGCGGATAAAC
+TCAATCCCATCACCGTCGGGCAGGCCGAGATCGAGAATAATCAAATCTGGCTTACGGGTTGCCGCTTCCA
+GCAAGCCGCGTTGCAGTGTTTCGGCCTCAAAGACGCGCATACCGTCGCCCTCCAGCGCCGTGCGCAGAAA
+GCGACGAATAGCCTGTTCATCTTCAACAATCAGAACGTTTGTCACATATCCTCATGAAATTCTTCAAGTT
+CAGGGGCTGTTTGCTGGGGAAGTGTAACACGAAAACAGGCACCACCTTCCGGTCGGTTGAATGCGGTAAT
+GGTGCCGCCGTGTACATCCACTATCGCCCGACAAATTGCCAGCCCAAGCCCTACACCCGGTACCGCCGAC
+TCTTTATTCCCGCGAGCAAACTTATCAAATATCGTCTGCTCCTGGCCTGGTGGAAGACCGGGGCCGTTAT
+CCCAGACATCCAGTTGTAGATTTTCGCCCTCAACGTGGGCATTGATACCAATTTCGGCCTGCGCCCCCGC
+ATATTTCACCGCGTTCTCCAGCAGGTTAATCAGCACCCGTTCAAAGAGTGGCCCGTCAACGTGGATTAAG
+GTCAGCGGCTCTGGCAGAGAAAGATTGATGGGCGACGATAAACCCGGTTCCAGCATTTGCAGCGCGCTGC
+CGACCACTTCTTCCAGCGTTAACCACTCTTTCTTCAAATTAAAGCCGCCGGACTGAATTCGCGCCATATC
+CAGTAGATTATTCACCAGTCGGGTGGTGTTCAGCACATGCTGACGAATCTCGCTGGCCTGGCGGGCGTGG
+GGCGATCCTTCGCTTGCCAGATCGAGCGTTAAGATTTCTGCCTGACCGAACAGCACCGTAAGCGGCGTGC
+GTAAATCATGCGAAAGTGCCGCCAGCAGGGCGTTGCGGATCTGTTCACGTTCGCTTGCCATCCGCGCCTG
+TTCTTCGCTGGCGGTCAGTGTCAGCCGCTCAAGGGCATTGGCGACTAACAGCGTAAACGTCTCCAGCAGG
+CGCTGCTGTTCCGGGATCATCAACTGGCGCAGATTCCCCGGTTCCACCACCACCAGTCCGTAGGTTTTCT
+CGCCGCTTTTTAGCGGCAAAATCTGGTACGGTACACCGGGTAACGTGTCGGTGCCCGCGCCCGCAGGCAG
+GCCTTTATCAAAACTCCACTGCGCGATGGCATCGTCCCACGGCGTCATTCCTTGCGGATGTGTTAAAGGC
+TGCAATTTACCGTTGTCATCAGGCAGCAACACCTGGCTACGGGCATGAAACGTGGAGGCAATAAACTGTT
+CGCTGGTGGCGGCGATATCCTGCGAACTACGGCCCACAGCCAGAGCTTTGGACATTTCATATAAGTGCCG
+TGTGCGTTGTTCGCGGTAACGGGCTACCCGCGCCTGATAACGCACGCCAGCAGTAAGGTTCCCGATCACC
+AGCCCGACGGTTAACATCACCGCGAAGGTCAGCAGATATTGCACATCAGAGACGGCGAGCGTGCCGCGTG
+GGGCGATAAAAAAGAGATCGAAACTCACCACATTAATGACGGTGGCAACCACCGAAGGCCAGCGTCCGTA
+AAATAGTGCCACCACCACGACGCCAAGCAGATACAGCATCACCAGGTTGGCGGCATCAAACGCCATCAGC
+CACTGCATGGCAATTAAGGTGATAACGGCGCATAACGCGGCGGCAACCACGCATCCCTGAATCTGTACCC
+GCCACTTGTCTTTAAAAGAGCGGCTATCCGGCGCGTTGTTAATCGTGCGGGCGGGTGGTTCATCAAGCGC
+AACCAGCACCTGATCGAGATCGGGGGCGATGCGTGCCAGCCGGTCAGCAAATGTTTCCCGACGCCACCAG
+CGGCGCGAAGCCGGGCGACCGAGAATAATCTTGTCGAGATTATGTTCACGGGCATAACGCACTACCGCTT
+TTTCTTCCGCTGGATCAGAAAGTGTTGCCGTCTCCGCGCCCAGCTCCTGCGCCAGACGTAAGGCGCTGAG
+AATTGCCCGACGTTTTTTCTCCGGTAAGCGATGCAGGGCAGGGGTTTCAACATACACCGCGTGCCAGACA
+CTGCCCAGGCGCGAGGCCAACCGCGCCGCCGCGCGGACCAGTTTCTCACTGCCGGTGTTATGCCCGATGC
+ATAATAGGATCGCGTCGCGTGTGTGCCAGACTTTCTCTTCGCCAGGATGCCCCCGCCAGGCGCGCATTTG
+CTCATCTACGCGATCGGCAGTACGGCGCAGTGCCAGTTCGCGCAGGGCGATCAGATTACCTTTGCGGAAA
+AAATGTTCAATGGCGCGCTCCGCCTGCCCGGCAATATAGACTTTGCCTTCTTTCAGTCGCTGGCGCAGAT
+CGTCCGGGGGCAAGTCCACCAGCACCACGTCGTCGGCGGCATCAAAAAAAGGATCGGGCACGGTCTCCCG
+TACCTGAATTCCGGTGACGCCGCTGACCACATCATTCAGACTTTCCAGATGCTGAACGTTGACGGTAGTG
+AAAACATCAATGCCAGCTTCCAGCAGCTCCTCAATGTCCTGCCAGCGTTTAGGATGACGTGAACCTGGCG
+CATTACTGTGCGCCAAGTTCGTCCATTAAGATCAGTGCCGGACGGCGGGCGAGGGCGGCATCGAGATCAA
+ACTCGCTGATGTGCCGCCCACGGTACGCCTGGCGTTTTAACGGCAGAACAGCCAGACCTTTCAGCATTGC
+GGCGGTATCTTTCCGACCGTGGGTTTCTACCACGCCAACCACAATATCCAGCCCTTGCGCCCGCAGTCGC
+TGGGCTTCCGCCAGCATCGCCCAGGTCTTCCCGACGCCTGCGCAGGCACCGAAGAAAACTTTCAGCTTCC
+CCCGATGCGGCGCGGCAGCTTGTTCCAGCAGACGATCGGGGTCGGGACGTAAGGGTTCGTTATTCATCAA
+GCTTATCCAGTGCCAGATTGAGTTCGACAATGTTGACGACCGGCTGGCCGATATATTTCACCAGCGGTTG
+TTGGCTGTATTTTGCGATCAGTTGCGTGAGCTGTTCAACGCTGAGATTACGCGCTTTCGCCACGCGTGGG
+ATCTGCCAGGCCGCCGCTTGCGGGGTGATGTTATTGTCCAGCCCGCTTGCTGACGCCGTCACCAGTTCAA
+CCGGAACGTTCGTGCTGGCATCCGGGTTAGCAGCCCGTAATGCAGCAACGCGTGCGGCTATCTGTTTATC
+CAGCTCCGGGTTACTGACCGCCAGGTTGCTCCCGCCAGAAGCCTGTGGATTATAGGGCATTTCTGCTGTT
+GCCGACGGGCGACCATGAAAATAGCCGTTGCCGGTAAAATTTTGCCCGATTAATGCCGAACCGCGCACCG
+TATCACCTTCACGAATCAATGAACCGTTGGCCTGCCAGGGAAACCACCATTGCCCCAGTGCGGTGGTCAG
+CAGCGGGTAAACGCCGCCAGTAATCAATAACAGAAAGAGAAATGTCGATAATGCCGGACGTAATCCACGC
+ATGGTAAACCTCACACCAGACCGCAAACGGTTAGCAGTAAATCAATGACTTTGATACCAATAAACGGCAC
+CAGCAGCCCACCCAGACCGTAAATCCATAAGTTACGGCGCAACATGGCAGAAGCGGTAAGCGGTTTATAA
+CTCACGCCTTTTAACGCCAGGGGAATCAAAAAGACGATAATCAAGGCGTTGAAAATGACCGCACTGAGAA
+TGGCGGAGTCGGGCGAATGCAGGCGCATGATGTTCAGCGCATTTAACTGCGGATACGTTGCCGCGAACGC
+CGCTGGAATAATGGCGAAGTATTTCGCCACATCGTTGGCAATGCTGAAGGTGGTCAACGAGCCACGGGTC
+ATCAGCATCTGTTTGCCAATGTGCACTACCTCGATCAACTTGGTCGGGTTGGAGTCGAGATCCACCATAT
+TGCCCGCTTCTTTCGCCGCCTGGGTGCCGGAGTTCATCGCCACCGCAACATCGGCCTGTGCCAGCGCCGG
+AGCATCGTTGGTGCCATCGCCGGTCATCGCCACTAAACGGCCTTCCGCCTGATACTGACGAATCAGTGCC
+AGCTTGGCCTCCGGTGTTGCTTCGGCGAGAAAATCATCGACACCCGCTTCCGCAGCTATCGCGGCGGCAG
+TCAGGCGGTTATCGCCGGTAATCATCACCGTTTTAATGCCCATTTTACGCAGCTGGGCGAAGCGCTCTTT
+AATACCGCCTTTGACGATATCTTTCAGCGCAATAACGCCCAGCACACGAGAACCTTCCACCACCACCAGC
+GGCGTGGCTCCCTGACGCGCAACCTGATCGACTTTTTGATCAACATCGGCAGGGAAGTGACCGCCGTTAG
+CCTCAACATGGCGGCGAATGGCATCGACAGAACCTTTACGGATCATGCGGTTGTCGATGTTGATCCCGCT
+CATCCGGCTTTGTGCAGTAAACGGTACAAAGGTGGCATGGAGCGACTGCACATCGCGCTCGCGCAGGTTA
+AAACGCTGCTTGGCGAGGATCACAATACTGCGGCCTTCCGGCGTTTCATCAGCCAGCGAAGCCAGTTGTG
+CGGCGTCGGCCAGCGCTTTTTCCTCCACGCCTTGTGCGGGGATAAACTCTGACGCCTGACGGTTACCGAG
+GGTGATGGTGCCGGTTTTATCCAGCAGCAGAACGTCAACATCACCCGCTGCTTCAACTGCTCGCCCGCTG
+GTGGCAATAACATTCGCGCCCAGCATCCGACTCATCCCGGCGACGCCAATCGCTGACAACAGGCCGCCAA
+TAGTGGTTGGGATCAGACAGACCAGCAGTGCCACCAGTACCGTTACGCTGACTGCATTACCGCCCCACGC
+GGAAAACGGCCACAGCGTGGCGGTTGCCAGTAAAAAGACGATAGTCAGGGCAATCAGGAGAATGGTCAGG
+GCAATCTCGTTCGGCGTTTTACGTCGCTGCGCACCTTCCACCATCGCGATCATCCGATCCAGAAATGTCT
+CGCCGGGGTTAACGCTGCACTCAATCACCAGCCAGTCAGAAAGAATACGCGTGCCGCCAGTGACGGAGGC
+AAAATCACCGCCGGATTCACGGATCACCGGAGCCGATTCCCCGGTGATGGCGCTTTCATCGACCGATGCG
+CCGCCTTCAATGACTTCACCATCGCAGGGGATAATATCGCCAGCTTCTACCAGCACGATGTCACCTTTAC
+GCAGTTGATCAGCAGGAACTTTGTCCGCCGCAGCGCCATATTTCGGTTCGCGCAGTTTGCGAGCAAAAGC
+GGTTTTTTTCACCCCTTTCAGACTGTTGGCCTGCGCTTTACTGCGGCCTTCTGCCAACGCCTCGGCGAAA
+TTAGCGAACAGTACGGTGACCCACAGCCAGCCGCTAATTGCCGCGCTAAACAGCGCATTGCCAGGCATCA
+CACCGCTTGCCATCGCGATGCTAATACAGGTGGTCAGCAGACTGCCGATCCAGACGATAAACATCACCGG
+ATTGCGCCATTGCGCCTGCGGGTTTAATTTTTTCACCGCTTCTTTCAGCGCCTGAACGACAAGTGTTGGT
+TCGAATAGCGCCAGTTGTTTACGACTCATATTCAGTGCTCACTCAATATCATCAGGAGAGATATTCCGCC
+ACCGGACCAAGCGCCAGGGCAGGGATAAAGGTCAGTGCGCCAACCAGCAACACGGTGCCGATTAACAGGC
+CAACAAACAGCGGGCCGTGCGTTGGCAATGTGCCGGAGCTGGCGGGTTGGCTCTTTTTACTCACCAGCGA
+ACCGGCAATTGCCATCACCGGGATAATCACCCCGAAGCGCCCGACAAACATGCACAACGCCAGTAAACAG
+TTCCAGAATGGAGAGTTGGCGCTTAATCCGGCAAAGGCGCTGCCGTTGTTGTTAGCGGCGGATGACACGG
+CGTACAGCACTTCGCTAAAACCATGCGGGCCAGGGTTGAGCATGGCGCTACGTCCGGCGTCGGTCATCAT
+TGCCAGCGCCGCGCCCATCAGCACCAGCGTCGGGGTGACCAGAATCGCCAGTGCAGTCAGTTTCATCTCG
+CGTACGTCGATTTTTTTACCCAGATATTCCGGTGTACGACCAATCATCAGCCCGGCAATAAACACCGCCA
+GCAGGACAAACAGCATCATGCCGTAAAGGCCTGAACCGACGCCGCCGAATACCACTTCACCAATTTGCAT
+CAACCACATCGGCACCATGCCACCAAGAGCGGTAAACGAATCATGCATCGCAATCACCGCGCCGCAGGAA
+GCCGCCGTAGTCACGACCGCAAACAGGCTACTGACCAGCACGCCGAAACGGCTCTCTTTACCTTCCATAT
+TGATGCTGCTGTCCGCGCCGAGCGCCAGCAGATGCGGATTACCCTGAACTTCTGCCCACATCACTACGCC
+TACGCAGATGACAAAAATCACCGACATCGCCCACAGCAACATGCGCCCCTGGCGACGATCGCCCGCCACT
+TCACCAAAGGCAAAGCACAGCGCTGTTGGGATCAAGAAAATCGCCAGCATTTGCACGAAGTTGGTCAGTA
+CGGTTGGGTTTTCAAACGGATGCGACGAGTTGGCATTAAAAAAGCCACCGCCGTTAGTTCCGAGCATTTT
+GATCGCTTCCTGAGAAGCTACTGGCCCCATTGGTAACAGCTGTTGCGCTCCTTCAATGGTCGTCACAGCC
+TGATAAGGCAAAAAGTTTTGCAGCGCACCTTGTTGAATAAAAAACAGTGCGATCAGCAATGCTACGGGGG
+TTAACACCCATAACGTAATCCGCAACAGGTCTACCCACGCATTACCCAGCGTGTTCATGCTCTGGCGGGT
+AAACGCGCGAATAAGCGCAAAAATCACCGCAATCCCGCTGGCGGCAGAAAGAAAGTTTTGCACCGTTAAG
+CCCGCCATCTGGCTGAAATAGCTCAACGTGGTTTCACCGCTATAAGATTGCCAGTTGGTGTTAGTGACAA
+AGCTGACGGCGGTATTGAGCGCCAGATCCCACGACAGCCCCGGCAACTGCTGTGGATTAAGCGGCAGATA
+GTGCTGGCCGAGCAACATAAAAAACAGCACCGCCAGCCCCAGTATATTCAGGCCAAGAATGGCTGAGAGA
+TACTGCTTCCAGTTCATCTCGCGGTCAGAGACGCCAAGCGCGCTAAAGAGTACGCGTTCAACGCCCGTCG
+TACCAGGAAGAGGTATATCATTAATCAGCCGCGCCAGCCCGCTACCTAAGGGACGCGCCAGCACCATTAA
+TACCAGTAAAAACGTGGCAATCAGTAAGAACCCTTGCGCAGCCATCAGAACGCCTCCGCATTGATCAGGG
+CATAAACCAGATAACCCAGTAATAAAAACACCAGCAACACGCCGGCTATCACGCCTGCACTCACAGTGCA
+CCTCCAGTGGCCTAAAAGTGATACCGGAAGGGTAGAGTTCTGGCTGCAAAGATTTCGCAAAAATCTGCGG
+GCGGGGTGTAAAAAAAGTATAAAAATGGCAAAAGCCATGGTTTAACTAATGTTTAGTATTAATTTAACTT
+TTATGTAACTTAATTACACGGTGAATGTAAATAAACCATCAATAAGCAAAAATAAGTGGTCGGATGAGTA
+GTAAAATTACACAAACAGCGGTACTATTTTCATCAGATAAACGAATTCATTTTTCCGGTGCTATTCACCG
+GGTAGATACAAAAGGGGGAGAAAAGTATGGAACTCTACAAAGAATATCCTGCATGGCTTATCTTTTTACG
+CCGTACTTGTGCGGTTGCAGCGGGCGTTCTGGCGCTGCCTTTCATGCTTTTCTGGAAAGACCGCGCCCGC
+TTTTATAGCTACCTGCACCGCGTCTGGTCGAAAACCAGCGATAAACCGGTGTGGATGGATCAGGCCGAAA
+AGGCAACCAGTGATTTTTACTGATTGCCAAACATGACGTTTAAAGAAAACCGCCGGTGGAAACGCTGGCG
+GTTTTCTTTTTTCGGCGTCTACACTTACTCCTGTAAACCGTTCAGGAGCAGTAATGAATCAACAACTTTT
+TGATGACAGCACCCTTATCCGCATTTTTGCTTTGCATGAGTTACACAATCTCAAAGATCGAGGACTAACG
+CGCGGGGCGCTTCTCGATTATCACAGCCGCTATAAACTCGTCTTTCTGGCGCATTCTCAGCCGGAGTACC
+GCAAACTTGGCCCGTTTGTGGCTGATATTCACCGGTGGCAAAGTCTGGATGACTATTACAACCAGTACCG
+CCAACGCGTGATTGTTTTGCTTTCTCACCCTGCCAACCGGCGTGATCATACTAACGTTTTGATGCACGTT
+CAGGGATATTTTCGCCCACATATTGATTCCACAGAACGCCAGCAGCTGGCGGCGCTTATCGACAGTTATC
+GCCGTGGCGAGCAACCGCTTCTTGCGCCGCTGATGCGTATCAAACACTATATGGCGCTTTATCCTGACGC
+CTGGCTTTCAGGGCAGCGTTATTTCGAACTTTGGCCGCGTGTGATTAACTTGCGCCATGCAGGAGTTTTA
+TGACTACCCATCTGGTCTGGTTTCGCCAGGATTTACGTCTGCACGATAATCTCGCGCTGGCTGCCGCCTG
+CCGCAATTCGTCTGCGCGCGTGCTGGCGTTGTATATCGCTACACCACGCCAGTGGGCGGCGCATAATGTG
+TCGCCGCGTCAGGCTGAACTTATCAATACACAACTTAATGCGCTACAAATCGCGCTGGCGGAAAAAGGCA
+TTCCTTTATTGTTCCGTGAAGTGGATGACTTTGCCGCCAGCGTCGAAATAGTTAAACAGGTGTGCGCGGA
+ATACCGCGTTACTCATCTTTTTTATAACTATCAGTATGAGGTGAATGAGCGGGCGCGGGATGTGCAGGCT
+GAGAGGACGCTGCGTAACGTGGTGTGTGAAGGATTTGATGACAGCGTGATCCTGCCGCCGGGGGCGGTGA
+TGACTGGCAATCATGAGATGTACAAAGTCTTTACGCCTTTTAAAAACGCATGGTTGAAACGGCTGCGGGA
+AGGGATGCCGGAGTGCGTCGCTGCACCAAAAGTTCGTAGTAGCGGATCGATAGAGCCCGCGCCATCCATT
+ACGCTGAATTATCCTCGTCAGTCTTTCGATACTGCGCATTTCCCGGTGGAAGAAAAAGCGGCGATTGCGC
+AATTACGCCAGTTTTGCCTGAACGGTGCCGGAGAGTATGAGCAACAACGAGATTTTCCGGCAGTGGAAGG
+CACCAGTCGTTTGTCCGCCAGCCTGGCAACGGGCGGGTTATCGCCTCGCCAGTGTTTACATCGCCTGTTG
+GCGGAACAACCGCAGGTGCTGGAAGGCGGACCGGGGAGCGTCTGGCTTAATGAGCTGATATGGCGCGAGT
+TCTACCGCCATTTGATGACGTATTATCCTTCGCTGTGTAAACATCGTCCGTTTATTGCCTGGACGGATCG
+TGTACAGTGGCAAAGTAATCCCGCCCATTTAAAGGCCTGGCAGGAAGGCAAAACGGGATACCCGATTGTC
+GATGCTGCCATGCGTCAGCTTAACAGCACTGGCTGGATGCATAACCGGCTACGGATGATTACAGCCAGTT
+TTCTGGTGAAAGATTTGTTGATCGACTGGCGCGAAGGCGAGCGATATTTCATGTCGCAGCTGATTGATGG
+TGATTTGGCAGCTAATAACGGTGGCTGGCAGTGGGCCGCTTCTACGGGTACTGATGCAGCGCCGTATTTT
+CGTATTTTCAACCCGACAACTCAGGGCGAGAAATTTGACCGCGAAGGCGAATTTATCCGCCAGTGGCTAC
+CGGAGCTGCGCGATGTACCGGGGAAAGCGGTGCATGAGCCGTGGAAGTGGGCAGAGAAAACAGGTGTGAC
+GTTGGATTATCCGCAACCGATAGTCGATCACAAAGAGGCAAGGCTGCGAACGCTGGCAGCGTACGAAGAA
+GCGAGGAAAGGAGCCTGATAAAACGCAGCGAGCGTTTTATCAGGCATGGTGCTGGCTTATTAAGACTCCA
+GCGCCAGCGCGCGGTTTCTGAACTTAAGCGCCTGATACAGCCAAATCATCAGTACCAGTCCTACACACGC
+CAGTGCGCCCCAGGTAATTTGATCAAATACTTCAATATATGCATTGATGGAGTAGTTGATCGCCCCGGAA
+GCATCAAACGAAGCCTGCGATGTCTGATCGGCAATCACGCCCGCCAGATAGTTCGCAATCGCGCCGGAAA
+GCAGCATATAAATGCCGGTTAATACGCCGGTCACGCCGGGGATTTCAATGCGCGTAATCTGCGACATAGC
+AACCGGATCGATAAACAGTTCCGCAAAGCCCATCACCGCCAGGCCTAACACCATCAGTGGCAGAGAAGAG
+TGACCATACATTGCGGACCAGCGGGCGCTTAAGGTCAGAATGCAGAATCCGGCGCTCATCAGGCCAAGGC
+CAAGAGCAAATTTTCCCCAGATGCGCACGGTACGATTACCTGCGACGCTTTCTTTAACCACCCACGCCAG
+GAACACACCGCACAGCATAACTGCGAAGGCATTAATCGACTGGAACATAGCAGTCGGAACGGTATAACCA
+AACATATCGCGGTTAACGAAGCGGTCGATATAAAGGCTAATCGAGCTACCCCCCTGTTGTGCGAATGCCC
+AGAACAACATGCTGAAGAAGGTGAGGGTAACAATCAGCCCCAGCTCCTTACGCTGTTTTTGGTTTTCTGC
+TTTGCGATAAATTTTTGCCAGAACCCCAAGGCCAATGATCGTCGCGACAATCAAGGCGTATACCGACCAC
+TCTTTCCAGAACAACACGGTAATCAGCGCAGGCGTTGCCACCAGCAGAACCAGTAGCCATCCCCAGTTGG
+GCAGGAGAAAGTTTGTCGCACGCAGTACCTTTTTGTTAACGCCGCGGGTATGTGTGAAATGACGATTGCC
+ACATAAGAAAATGACCAGACCCGCGATCATACCCACCGCCGCCAGGCCAAAGCCCATCGCCCAACTGTAC
+TCTTCCTGGGCGAAACCACAGGCGATAGGTGCGATAATAGACCCCACGTTACCCGCCGCATACATCAGCG
+AGAAACCGCCATCACGACGTGGATCGGTTGGCTCATACAGCTCACCGAGCAGGCAACTGACGTTGGATTT
+AAACAGACCATAGCCGCAGACGATAATCGCCAGTGACAGATAGAGGAATGACGGATGGATCTCACTGGCA
+CCCAGCACCACATGACCGATCGCCATCAACAACGCCCCCAGCATCACCGCCATGCGATTGCCGAGAACTT
+TATCCGCCAAAAAGCCACCGAGGATTGGCGTGACATATACCAGCGAACAGTAGGCGCTAAATAACTCGTA
+GGCGTGATTATCGCTATATTTTAGTTGATTGGTGAGATAGAGGATCAGCAGGGCACGCATGCCGTAAAAG
+CTAAAATATTCCCAGATTTGCAGCGCAACGACATAGTAAATAGCGAGCGGTTGTGATGCGTGTTTATTCA
+TAATAATTCCACAATTGACTGCAACGTCACGTAATAGTTGCGCGGCGTGCTTGTGTTTCCTTAAAGTTAA
+AACTTTGATACAGATCTGATTATTTATGCAATATGCTGTCTGATTGCATAAATATACATTAGCTGAAGCG
+TGATGATATAAACAATTTGCGTCTTTTGGCGTCGGGTTTGTTTCTTAATATGTCAAAAGATTGGCTATCG
+ACGAACAGGCGAGGTAACGCTATGTTAACGGTGTAGCTATCAGAATACGGAAGGCGCGAAGATGAAAAAC
+ACCGAACTGGAACAACTGATTAACGAAAAACTGAACAGCGCGGCGATTAGTGATTACGCGCCGAATGGTT
+TGCAGGTGGAAGGCAAAGAGACGGTGCAAAAAATTGTTACCGGTGTCACTGCCAGCCAGGCTTTGCTCGA
+TGAGGCAGTGCGTCTGGGCGCGGATGCGGTCATTGTGCATCATGGCTACTTCTGGAAAGGCGAATCTCCG
+GTCATTCGCGGAATGAAGCGTAACCGTTTAAAAACGTTGCTGGCGAATGATATCAACCTGTATGGCTGGC
+ATCTGCCCCTGGACGCGCATCCGGAGCTGGGTAATAACGCACAACTGGCGGCGTTACTGGGGATCACGGT
+CATGGGCGAAATTGAGCCGTTGGTGCCGTGGGGCGAACTGACCATGCCTGTGCCGGGACTAGAACTGGCC
+TCCTGGATTGAAGCGCGTCTGGGACGTAAGCCGTTATGGTGTGGCGATACCGGGCCTGAGGTGGTTCAGC
+GCGTCGCCTGGTGCACGGGCGGCGGGCAAAGTTTTATCGATAGCGCCGCGCGTTTTGGCGTGGATGCTTT
+TATTACTGGCGAAGTTTCTGAACAGACCATTCATTCAGCCCGCGAGCAGGGATTGCATTTTTATGCTGCG
+GGTCACCATGCCACTGAACGCGGTGGTATTCGCGCATTGAGCGAGTGGCTGAATGAAAATACCAATCTTG
+ATGTGACCTTTATTGATATTCCTAATCCTGCATAACGAATAATCAGAGGGATCGAAAGTGCAACGAGCGC
+GTTGTTATCTGATAGGTGAAACGGCGGTAGTGCTGGAACTGGAACCGCCGGTGACGCTGGCTAGCCAGAA
+ACGGATCTGGCGACTGGCACAGCGTCTGGTGAATATGCCGAATGTGGTTGAAGCCATTCCTGGCATGAAC
+AATATCACAGTGATTTTGCGTAATCCTGAGTCGCTGGCGCTGGATGCCATAGAGCGTTTGCAACGCTGGT
+GGGAGGAGAGTGAGGCGCTGGAGCCGGAGTCTCGCTTTATTGAAATTCCGGTGGTTTACGGTGGCGCAGC
+CGGACCGGATTTGGCGGTGGTCGCGGCGCATTGTGGATTGAGCGAAAAACAGGTTGTTGAATTGCACTCC
+TCCGTGGAATACGTGGTCTGGTTTTTAGGTTTTCAACCGGGCTTCCCGTACCGGGCTTCCCGTATCTCGG
+GAGTTTGCCGGAACAACTACACACGCCACGGCGCGCTGAACCGCGCTTGCACGTTCCAGCAGGTTCTGTC
+GGGATCGGCGGGCCGCAGACCGGTGTTTATCCGCTGGCAACGCCGGGTGGCTGGCAGTTGGTTGGTCATA
+CCTCACTCAGCCTGTTTGATCCGGAGCGTGACGAACCCATCTTATTACGTCCGGGAGACAGCGTGCGCTT
+TGTACCCCAGAAGGAGGGAGTATGCTGAAGATTATTCGTGCGGGCATGTACACCACCGTGCAGGATGGCG
+GCCGTCACGGCTTTCGTCAGTCTGGTATCAGCCACTGTGGCGCACTGGATATGCCTGCGCTGCGCATTGC
+TAACCTGCTGGTGGGTAATGACGCCAACGCCCCCGCGCTGGAGATCACGCTCGGTCAGTTAACGGTTGAG
+TTCGAAACTGATGGGTGGTTTGCCCTGACGGGTGCCGGTTGCGAAGCGCGGCTGGATGATAACGCCGTCT
+GGACCGGCTGGCGATTGCCAATGAGAGCAGGCCAGCGTTTAACGCTTAAACGCCCGCAGCACGGGATGCG
+CAGTTATCTGGCGGTCGCGGGTGGTATTGATGTTCCGCCGGTAATGGGATCATGCAACACCGATCTCAAA
+GTGGGGATTGGCGGGTTGGAAGGCCGTTTACTGAGGGATGGTGACCGACTCCCGATTGGCAAAGCGAAGC
+GTGATTTTATGGAAGCGCAGGGCGTTAAACAGCTGCTGTGGGGCAACCGCATTCGCGCCTTGCCGGGGCC
+GGAATATCATGAGTTCGATCGCGCCTCGCAGGATGCATTCTGGCGTTCGCCCTGGCAGCTTAGCTCGCAA
+AGTAACCGCATGGGCTATCGCTTACAGGGGCAAATTTTAAAACGCACCACCGATCGCGAACTGTTATCTC
+ACGGTTTGTTACCAGGTGTGGTGCAGGTGCCGCATAACGGGCAGCCCATTGTGTTGATGAACGATGCGCA
+AACCACCGGTGGTTACCCGCGTATTGCCTGTATCATTGAGGCTGATATGTACCATCTGGCGCAAATTCCG
+CTCGGTCAGCCGATTCATTTTGTCCAGTGTTCACTGGAAGAGGCACTGAAAGCACGGCAAGATCAACAAC
+GTTATTTCGAACAATTAGCGTGGCGGCTGCACAATGAAAATTGACCTGAACGCCGATCTGGGCGAAGGCT
+GCGCCAGCGACGCAGAACTATTAACGCTGGTTTCCTCTGCCAATATTGCCTGTGGATTTCATGCAGGCGA
+TGCGCAAACCATGCAGGCTTGCGTGCGTGAAGCAATAAAAAATGGTGTCGCGATTGGCGCTCACCCGAGT
+TTTCCCGACAGGGAAAATTTTGGTCGCAGCGCCATGCAGCTGCCGCCAGAAACCGTTTTCGCCCAGACGC
+TGTATCAAATTGGCGCGCTGGCAGCGATTACCCGTGCGCAAGGCGGCGTAATGTGTCATGTCAAACCGCA
+CGGCATGTTATACAACCAGGCGGCGAAAGAGGCACAACTGGCAGACGCCATCGCCAGAGCGGTATACGCT
+TGCGATCCGGCATTGATTCTCGTCGGGCTGGCAGGAAGCGAGCTGATTCGTGCAGGCGAACGATATGGCC
+TGGTAACGCGCGAGGAAGTGTTTGCCGATCGCGGTTATCAGGCAGACGGTTCGCTGGTGCCGCGAAGCCA
+GCCAGGCGCGTTGATTGAAAACGAAGAACAGGCGCTGGCGCAAACGTTGGAGATGGTGCAATACGGCAGA
+GTCAAAAGTATCACCGGCGAATGGGCAATGGTCACGGCGCAAACGGTCTGCCTACATGGCGATGGCGAGC
+ACGCACTGGCGTTCGCCCGCCGATTACGAGCTACATTTGCTGAAAAGGGGATTGTTGTCGCAGCATAACC
+CCGCTTAATAAAGAATGAAAAAAGGATATCACCATGCCTGAAGGCCCGGAGATCCGCCGTGCAGCGGATA
+ACCTGGAGGCGGCGATCAAAGGCAAACCACTAACTGATGTCTGGTTTGCCTTCCCGCAGTTAAAATCTTA
+TCAATCACGACTTATCGGTCAACACGTTACCCATGTGGAAACGCGTGGTAAGGCGTTGTTAACTCATTTT
+TCCAACGACTTAACGCTCTACAGCCATAATCAGCTTTACGGCGTCTGGCGCGTGGTTGATACCGGCGAAG
+AGCCGCAGACCACGCGAGTATTGCGGGTAAAACTGCAAACGGCTGACAAAACCATTCTGCTTTATAGCGC
+CTCGGATATTGAGATGTTGACTCCGGAACAACTGACCACGCATCCGTTTTTACAACGCGTTGGTCCCGAT
+GTGCTGGATCCGAATCTGACGCCGGAGGTGGTAAAGGAACGATTATTGTCGCCGCGCTTTCGTAACCGCC
+AGTTTGCTGGATTACTGCTCGATCAGGCGTTTCTGGCAGGACTTGGCAATTATTTGCGGGTGGAGATCCT
+CTGGCAGGTTGGGTTGACCGGAAATCATAAAGCGAAAGATCTCAATGCGGCGCAACTGGATGCACTCGCA
+CACGCGTTACTGGATATTCCGCGACTTTCTTACGCTACGCGGGGGCAGGTGGATGAAAACAAATATCATG
+GGGCGCTGTTTCGCTTTAAGGTTTTTCATCGTGATGGCGAACCGTGCGAACGCTGTGGCGGCATCATTGA
+GAAAACCACGCTGTCATCGCGCCCGTTTTACTGGTGCCCTGGCTGCCAGCACTAGGCCGAACGCTTCGGC
+GCATAGGTTGAAATAAACCGTGCGATGGCAGGCCCCGTCAGCAAAATACTGAACAGGCGCAGGGTTTGCA
+TCGCCATGATGAGCGCCATATCGGCATTGCTCCCTGCGGCGATGACCGCCACGGTATCAAGCCCGCCGGG
+GCTGGTGGCGAGGTAGGCGGTCATAAAATCAATATGCATAAACCGGGTCAGCCCCCACGCCATACCCGCA
+CAAATAGCCAGCAGAGCAAAAATCGACAGCAGGATTTGCGGTAGCGGGCGCAATGCCCGCAGTAATATTT
+GTTTATCGAAACCAAGACCAATCCGCCAGCCAATTGCCATATATGCCATCGCCAGCAGCCATTCCGGGAG
+TTCAATCGTGATGAGCTGACCTGACTGGAGCACTGCGCCCGCCAGCATCGGGATGAGCATCGTGCCGGAA
+GGAAGACGTAGCAAGCATCCCGCCGTACCGGCAACGACCGCGAGCAAAATCGTAAGCAGGAGATTAATGC
+TCACTGGCGGGAACCAGACGATCTGCTGGTTAACCGCTTCAGCGTTATCGCCCAGCATCATGCGGGTGAC
+CAGAACAGCGGCCCCCGCGACGAACAGCACTCGCAGATATTGCATAAACGCCACCAGGCGAATATCTGCG
+CCGTAATCTTGCGCCATAGCGACCATTGCCGCCGCGCCGCCAGGAGAAGAACCCCAGGCACCGGTATTTC
+CAGGCAGTGAGCTATAGCGCACCAATAACCAACCCACGATGGCGCTGGAAAGCAGCGTCACCAGTAAAAT
+CGCAAGCACGATCGGCCAGTTGACGGCCAGCGTGGTGAGAATCGAACCAGTGAGGTTTTGTGCAATCATG
+CAGCCAAGAATGGCTTGGGCAGCGAGAAAAGCGGAGCGGGGAAGTTGCAGAGTGACTCCGCGCATACTGA
+AGATGATCCCCGCGATCATCGGGCCAAGCAGGAGTGCCGCCGGGAGATGTAAAGCGAGGAAGCCAATAGA
+AAGGAGAAGTGACAGAACACATAACATTCCCCACTGCAATACAGGCATTCTTCGCTTCCTCATTATTTTA
+TCTTTGGTGTATCGATACAGCATAAAGAAAGCTGGGTCTGGAAAAAATAACGGTAATCAAGGAAAAGGGG
+AAAATCAGCAATAATCTGAATACGTTGCCCTTTCCGGCTGAAAAGGGCGTCGTGTTAAATCAGTTATAGT
+TAATCTTAAAAAGTACCACTGTATCGAAGGGACCCGCCGCGATGGGAGTGCCAGGTGTGGACGATAATTC
+AGCCGTATAGGTTTTTTCGTAGATCAGCATATCACTGGTGAAATCGGCGTATTAAGCATATTTATTGAAT
+GTATAAGGCGAGGCGTTTTCATCCAGTATACGTAGCTTCAGACCATTACCAATCAACAATGCTTTATCTT
+CTTCAACCAACGTTTTTTCGGTATAAAACGAGGAGCTGACCTTAAATCCGTCGGTACACTGGTCATTTTG
+CGATTTTGTTGTCTTGATACTGAATGTTTTCGACATTGTGTGGCGGCGAATATCCAGTAAGTTAAATTTA
+CCCAAATCAATCACCAGTGTTTCCGGTGAAATATTTTTTCACCATTATTAATGGGTATTTGCATCTGGTT
+TAATTTTTACAATTTTTTATGTTCAGCCATATAAAAAGAACCCGCTCTATTAAAGGCGGGTCCGGAAAGT
+GAACGGCTTAGCAATCAACCATTAACGCTTGATATCGCTTTTAAAGTCGCGTTTTTCATATCCTGTATAC
+AGCTGACGCGGACGGGCAATCTTCATACCGTCACTGTGCATTTCGCTCCAGTGGGCGATCCAGCCAACCG
+TACGTGCCATAGCGAAGATCACGGTGAACATAGAAGACGGAATACCCATCGCTTTCAGGATGATACCAGA
+GTAGAAATCGACGTTCGGGTACAGTTTTTTCTCGATAAAGTACGGGTCGTTCAGCGCGATGTTTTCCAGC
+TCCATAGCCACTTCCAGCAGGTCATCTTTGGTACCCAGCTCTTTCAGAACTTCATGGCAGGTTTCACGCA
+TTACGGTGGCGCGCGGGTCGTAATTTTTGTACACGCGGTGACCGAAGCCCATCAGGCGGAAAGAATCATT
+TTTGTCTTTCGCACGACGAACAAATTCCGGAATGTGTTTAACGGAGCTGATTTCTTCCAGCATTTTCAGC
+GCCGCTTCGTTAGCACCACCGTGCGCAGGTCCCCACAGTGAAGCAATACCTGCAGCGATACAGGCAAACG
+GGTTCGCACCCGAAGAGCCAGCGGTACGCACGGTGGAGGTGGAGGCGTTCTGTTCATGGTCAGCGTGCAG
+GATCAGAATACGGTCCATAGCACGTTCCAGAATCGGATTAACTTCATACGGTTCGCACGGCGTGGAGAAC
+ATCATATTCAGGAAGTTACCGGCGTAGGAGAGATCGTTGCGCGGGTAAACAAATGGCTGACCAATGGAAT
+ACTTGTAACACATCGCGGCCATGGTCGGCATTTTTGACAGCAGGCGGAACGCGGCAATTTCACGATGACG
+AGGATTGTTAACATCCAGCGAGTCGTGATAGAACGCTGCCAGCGCGCCGGTAATACCACACATGACTGCC
+ATTGGATGCGAGTCGCGACGGAAAGCATGGAACAGACGGGTAATCTGCTCGTGGATCATGGTATGACGGG
+TCACCGTAGTTTTAAATTCGTCATACTGTTCCTGAGTCGGTTTTTCACCATTCAGCAGGATGTAACAAAC
+TTCCAGGTAGTTAGAATCGGTCGCCAGCTGATCGATCGGGAAACCGCGGTGCAGCAAAATACCTTCATCA
+CCATCAATAAAAGTAATTTTAGATTCGCAGGATGCGGTTGAAGTGAAGCCTGGGTCAAAGGTGAACACAC
+CTTTTGAACCGAGAGTACGGATATCAATAACATCTTGACCCAGCGTGCCTTTCAGCACATCCAGTTCAAC
+AGCTGTGTCCCCGTTGAGGGTGAGTTTTGCTTTTGTATCAGCCATTTAAGGTCTCCTTAGCGCCTTATTG
+CGTAAGACTGCCGGAACTTAAATTTGCCTTCGCACATCAACCTGGCTTTACCCGTTTGTTATTTGGCTCG
+CCGCTCTGTGAAAGAGGGGAAAACCTGGGTACAGAGCTCTGGGCGCTTGCAGGTAAAGGATCTATTGATG
+ACGAATAAATGGCGAATCAAGTACTTAGCAATCCGAATTATTAAACTTGTCTACCACTAATAACTGTCCC
+GAATGAATTGGTCAATACTTCCACACTGTTACATAAGTTAATCTTAGGTGAAATACCGACTTCATAACTT
+TTACGCATTATATGCTTTTCCTGGTAATGTTTGTAACAACTTTGTTGAATGATTGTCAAATTAGATGATT
+AAAAATTAAATAAATGTTGTTATCGTGACGCAGATCACTGTTCGGGATAAAACCCGACAAACTATATGTA
+GGTTAATTGTAATGATTTTGTGAACAGCCTATACTGCCGCCAGGTCTCCGGAACACCCTGCAATCCCGAG
+CCACCCAGCGTTGTAACGTGTCGTTTTCGCATCTGGAAGCAGTGTTTTGCATGACGCGCAGTTATAGAAA
+GGACGCTGTCTGACCCGCAAGCAGACCGGAGGAAGGAAATCCCGACGTCTCCTGGTAACAGAAAGTTAAC
+CTCTGTGCCCGTAGTCCCCAGGGAATAATAAGAACAGCATGTGGGCGTTATTCATGATAAGAAATGTGAA
+AAAACAAAGACCTGTTAATCTGGACCTACAGACCATCCGGTTCCCCGTCACGGCGATAGCGTCCATTCTC
+CATCGCGTTTCCGGTGTGATCACCTTTGTTGCAGTGGGCATCCTGCTGTGGCTTCTGGGTACCAGCCTCT
+CTTCCCCTGAAGGTTTCGAGCAAGCTTCCGCGATTATGGGCAGCTTCTTCGTCAAATTTATCATGTGGGG
+CATCCTTACCGCTCTGGCATATCACGTCGTCGTAGGTATTCGCCACATGATGATGGATTTTGGCTATCTG
+GAAGAAACATTCGAAGCGGGTAAACGCTCCGCCAAAATCTCCTTTGTTATTACTGTCGTGCTTTCACTTC
+TCGCAGGAGTCCTCGTATGGTAAGCAACGCCTCCGCATTAGGACGCAATGGCGTACATGATTTCATCCTC
+GTTCGTGCTACCGCTATCGTCCTGACGCTCTACATCATTTATATGGTCGGTTTTTTCGCTACCAGTGGCG
+AGCTGACATATGAAGTCTGGATTGGTTTCTTCGCCTCTGCGTTCACCAAAGTGTTCACCCTGCTGGCGCT
+GTTTTCTATCTTGATCCATGCCTGGATCGGCATGTGGCAGGTGTTGACCGACTACGTTAAACCGCTGGCC
+TTGCGCCTGATGCTGCAACTGGTGATTGTCGTTGCACTGGTGGTTTACGTGATTTATGGATTCGTTGTGG
+TGTGGGGTGTGTGATGAAATTGCCAGTCAGAGAATTTGATGCAGTTGTGATTGGTGCTGGCGGCGCAGGT
+ATGCGCGCGGCGCTGCAAATTTCCCAGAGTGGCCAGACCTGTGCGCTGCTCTCTAAAGTCTTCCCGACCC
+GTTCCCATACCGTTTCTGCGCAAGGTGGTATTACCGTTGCGCTGGGTAATACCCATGAAGATAACTGGGA
+ATGGCATATGTACGACACCGTAAAAGGGTCGGACTATATCGGTGACCAGGACGCGATTGAATATATGTGT
+AAAACCGGGCCGGAAGCGATTCTGGAACTGGAACATATGGGCCTGCCGTTCTCGCGTCTTGATGATGGTC
+GTATCTATCAACGTCCGTTTGGCGGTCAGTCGAAAAACTTCGGCGGCGAGCAGGCGGCACGTACTGCGGC
+GGCTGCCGACCGTACCGGTCACGCACTGTTGCACACCCTTTATCAGCAGAACCTGAAAAACCACACCACC
+ATTTTCTCCGAGTGGTATGCGTTGGATCTGGTGAAAAACCAGGATGGCGCAGTGGTCGGTTGTACCGCAC
+TGTGCATCGAAACTGGTGAAGTGGTTTACTTTAAAGCTCGCGCGACAGTGCTGGCGACTGGCGGGGCAGG
+GCGTATTTATCAGTCCACCACCAACGCCCACATTAACACTGGCGACGGTGTCGGCATGGCTATCCGTGCA
+GGCGTACCGGTACAGGATATGGAAATGTGGCAGTTCCACCCGACCGGTATTGCCGGTGCGGGCGTACTGG
+TCACCGAAGGTTGCCGTGGTGAAGGCGGTTATCTGCTGAACAAACATGGCGAACGCTTTATGGAGCGTTA
+TGCGCCGAACGCCAAAGACCTGGCGGGCCGTGACGTGGTGGCGCGTTCCATCATGATCGAAATCCGTGAA
+GGCCGCGGCTGTGATGGTCCGTGGGGGCCACACGCAAAACTGAAACTTGACCATCTGGGGAAAGAAGTTC
+TCGAATCCCGTCTGCCGGGTATTCTGGAACTCTCCCGCACCTTCGCTCACGTTGATCCGGTGAAAGAGCC
+GATTCCGGTAATTCCAACCTGTCACTACATGATGGGCGGTATTCCGACCAAAGTGACCGGTCAGGCGCTG
+ACTGTGAATGAGAAAGGCGAAGATGTGGTTGTTCCGGGGCTATTTGCCGTTGGTGAAATCGCTTGTGTAT
+CGGTACATGGCGCTAACCGTCTGGGCGGCAACTCGCTGCTGGACCTGGTCGTATTTGGTCGTGCGGCAGG
+TCTGCATCTGCAAGAGTCTATCGCCGAGCAGGGCGCACTGCGCGATGCCAGCGAGTCTGATGTAGAAGCG
+TCTCTGGATCGCCTGAACCGCTGGAACAATAACCGTAACGGTGAAGATCCGGTGGCGATCCGTAAAGCAC
+TGCAAGAATGTATGCAGCATAACTTCTCGGTCTTCCGTGAAGGTGATGCGATGGCGAAAGGGCTTGAGCA
+GTTGAAAGTTATCCGCGAGCGTCTGAAAAATGCCCGTCTGGATGACACTTCAAGTGAGTTCAATACCCAG
+CGCGTTGAGTGCCTGGAACTGGATAACCTGATGGAAACGGCGTATGCAACGGCTGTTTCTGCCAACTTCC
+GTACCGAAAGCCGTGGCGCGCATAGCCGCTTCGACTTCCCGGATCGTGATGATGAAAACTGGCTGTGCCA
+CTCCCTGTATCTGCCAGAGTCGGAATCCATGACGCGCCGAAGCGTCAACATGGAACCGAAACTGCGCCCG
+GCATTCCCGCCGAAGATTCGTACTTACTAATGCGGAGACAGGAAAATGAGACTCGAGTTTTCAATTTATC
+GCTATAACCCGGATGTTGATGATGCTCCGCGTATGCAGGATTACACCCTGGAAGCGGAAGAAGGTCGCGA
+CATGATGCTGCTGGATGCGCTTATTCAGCTGAAAGAGAAAGATCCCAGCCTGTCGTTCCGCCGCTCCTGC
+CGTGAAGGTGTGTGCGGTTCCGACGGTCTGAACATGAACGGTAAGAATGGTCTGGCCTGTATTACTCCGA
+TTTCGGCACTCAACCAGCCGGGCAAGAAGATTGTGATTCGCCCGCTGCCAGGTTTACCGGTGATCCGCGA
+TTTGGTGGTAGACATGGGACAATTCTATGCGCAATATGAGAAAATTAAGCCTTACCTGTTGAATAATGGA
+CAAAATCCGCCAGCTCGCGAGCATTTACAGATGCCAGAGCAGCGCGAAAAACTCGACGGGTTGTATGAAT
+GTATTCTCTGCGCATGTTGTTCAACCTCTTGTCCGTCTTTCTGGTGGAATCCCGATAAGTTTATCGGCCC
+GGCAGGCTTGTTAGCGGCATATCGTTTCCTGATCGATAGCCGTGATACCGAGACTGACAGCCGCCTCGAC
+GGTTTGAGCGATGCATTCAGTGTATTCCGCTGTCACAGCATCATGAACTGCGTCAGTGTATGTCCGAAGG
+GGCTGAACCCGACGCGCGCCATCGGCCATATCAAGTCGATGTTGTTGCAACGTAATGCGTAAACCGTAGG
+CCTGATAAGACGCACAAGCGTCGCATCAGGCAACCAGTGCCGGATGCGGCGTGAACGCCTTATCCGGCCT
+ACAAAAGAAATGCAGAAACCGTAGGCCTGATAAGACGCGCAAGCGTCGCATCAGGTAAACAGCGCCGGAT
+GCGGCGTGAATGCCTTATCCGGCCTACAAAAGAAATGCAGGAAATCTTTAAAAACTGCCCCTGACACTAA
+GACAGTTTTTAAAGGTTCCTTAGCGGACGCAGAAAACACGACAAGTCCGCAACAAGTGAACCCCGGCACG
+CACATCAGATATGAAATGTGCGTGGTAGTATCCACGGCGAAGTAAGCATAAAAAAGATGCTTAAGGGATC
+ACGATGCAGAACAGCGCTTTGAAAGCCTGGTTGGACTCTTCTTACCTCTCTGGCGCAAACCAGAGCTGGA
+TAGAACAGCTCTATGAAGACTTCTTAACCGATCCTGACTCGGTTGACGCTAACTGGCGTTCGACGTTCCA
+GCAGTTACCTGGTACGGGAGTCAAACCGGATCAATTCCACTCTCAAACGCGTGAATATTTCCGCCGCCTG
+GCGAAAGACGCTTCACGTTACTCTTCAACGATCTCCGACCCTGACACCAATGTGAAGCAGGTTAAAGTCC
+TGCAGCTCATTAACGCATACCGCTTCCGTGGTCACCAGCATGCGAATCTCGATCCGCTGGGACTGTGGCA
+GCAAGATAAAGTGGCCGATCTGGATCCGTCTTTCCACGATCTGACCGAAGCAGACTTCCAGGAGACCTTC
+AACGTCGGTTCATTTGCCAGCGGCAAAGAAACCATGAAACTCGGCGAGCTGCTGGAAGCCCTCAAGCAAA
+CCTACTGCGGCCCGATTGGTGCCGAGTATATGCACATCACCAGCACCGAAGAAAAACGCTGGATCCAACA
+GCGTATCGAGTCTGGTCGCGCGACTTTCAATAGCGAAGAGAAAAAACGCTTCTTAAGCGAACTGACCGCC
+GCTGAAGGCCTTGAACGTTACCTCGGCGCAAAATTCCCTGGCGCAAAACGCTTCTCGCTGGAAGGCGGTG
+ACGCGTTAATCCCGATGCTTAAAGAGATGATCCGCCACGCTGGCAACAGCGGCACCCGCGAAGTGGTTCT
+CGGGATGGCGCACCGTGGTCGTCTGAACGTGCTGGTGAACGTGCTGGGTAAAAAACCGCAAGACTTGTTC
+GACGAGTTTGCCGGTAAACATAAAGAACACCTCGGCACGGGCGACGTGAAATACCACATGGGCTTCTCGT
+CTGACTTCCAGACCGATGGCGGCCTGGTGCACCTGGCGCTGGCGTTTAACCCGTCTCACCTTGAGATTGT
+CAGCCCGGTAGTTATCGGTTCTGTTCGTGCCCGTCTGGACAGACTCGATGAGCCGAGCAGCAACAAAGTG
+CTGCCAATCACCATCCACGGTGACGCCGCAGTGACCGGGCAGGGCGTGGTTCAGGAAACCCTGAACATGT
+CGAAAGCGCGTGGTTATGAAGTTGGCGGTACGGTACGTATCGTTATCAACAACCAGGTTGGCTTCACCAC
+CTCTAATCCGCTGGATGCTCGTTCTACACCGTACTGTACTGATATCGGTAAGATGGTTCAGGCACCGATT
+TTCCACGTAAACGCGGATGATCCGGAAGCCGTTGCCTTTGTGACCCGTCTGGCGCTCGATTTCCGTAACA
+CCTTTAAACGTGATGTCTTCATCGACCTGGTGTGCTACCGCCGTCACGGCCACAACGAAGCCGACGAGCC
+GAGCGCAACCCAGCCGCTGATGTATCAGAAAATCAAAAAACATCCGACGCCGCGCAAAATCTATGCTGAC
+AAGCTGGAGCAGGAAAAAGTCGCGACGCTGGAAGATGCCACCGAGATGGTTAACCTGTACCGCGATGCGC
+TGGATGCTGGCGATTGCGTTGTAGCAGAGTGGCGTCCGATGAACATGCACTCTTTCACCTGGTCGCCGTA
+CCTCAACCACGAATGGGACGAAGAGTACCCGAACAAAGTTGAGATGAAGCGCCTGCAGGAACTGGCTAAA
+CGCATCAGCACGGTGCCGGAAGCAGTTGAAATGCAGTCTCGCGTTGCCAAGATTTATGGCGATCGCCAGG
+CGATGGCTGCTGGTGAGAAACTGTTCGACTGGGGCGGCGCGGAAAACCTCGCTTACGCCACGCTGGTTGA
+TGAAGGCATTCCGGTTCGCCTGTCGGGTGAAGACTCCGGTCGCGGTACCTTCTTCCACCGCCACGCGGTA
+ATCCACAACCAGTCTAACGGTTCCACTTACACGCCGCTGCAACATATCCATAACGGCCAGGGCGCGTTCC
+GCGTCTGGGACTCTGTACTGTCTGAAGAAGCCGTACTGGCGTTTGAATACGGTTATGCCACCGCAGAACC
+ACGCACCCTGACCATCTGGGAAGCACAGTTCGGTGACTTCGCCAACGGTGCACAGGTGGTTATCGACCAG
+TTCATCTCCTCTGGCGAACAGAAATGGGGCCGGATGTGTGGCCTGGTGATGTTGCTGCCGCACGGTTACG
+AAGGGCAGGGGCCGGAGCACTCCTCCGCGCGTCTGGAACGTTATCTGCAACTTTGCGCTGAGCAAAACAT
+GCAGGTTTGCGTACCTTCTACCCCGGCACAGGTTTACCACATGCTGCGTCGTCAGGCGTTGCGCGGGATG
+CGTCGTCCACTGGTCGTGATGTCGCCGAAATCCCTGCTGCGTCATCCGCTGGCGGTATCCAGCCTCGAAG
+AACTGGCGAACGGCACCTTCCTGCCAGCCATCGGTGAAATCGACGAGCTTGATCCGAAGGGCGTGAAGCG
+CGTAGTGATGTGTTCTGGTAAGGTTTATTACGACCTGCTGGAACAACGTCGTAAGAACAATCAACACGAT
+GTCGCCATTGTGCGTATCGAGCAACTCTACCCGTTCCCGCATAAAGCGATGCAGGAAGTGTTGCAGCAGT
+TTGCTCACGTCAAGGATTTTGTCTGGTGCCAGGAAGAGCCGCTCAACCAGGGCGCATGGTACTGCAGCCA
+GCATCATTTCCGTGAAGTGATTCCGTTTGGGGCTTCTCTGCGTTATGCAGGCCGCCCAGCCTCCGCCTCT
+CCGGCGGTAGGGTATATGTCCGTTCACCAGAAACAGCAACAAGATCTGGTTAATGACGCGCTGAACGTCG
+AATAAATAAAGGATACACAATGAGTAGCGTAGATATTCTGGTCCCTGACCTGCCTGAATCCGTAGCCGAT
+GCCACCGTCGCAACCTGGCATAAAAAACCCGGCGACGCAGTCGTACGTGATGAAGTGCTGGTAGAAATCG
+AAACTGACAAAGTGGTACTGGAAGTACCGGCATCAGCAGACGGCATTCTGGATGCGGTTCTGGAAGATGA
+AGGTACAACGGTAACGTCTCGTCAGATCCTTGGTCGCCTGCGTGAAGGCAACAGCGCGGGTAAAGAAACC
+AGCGCGAAATCTGAAGAGAAAGCGTCCACTCCGGCGCAACGCCAGCAGGCGTCTCTGGAAGAGCAAAACA
+ACGATGCGTTAAGCCCGGCGATCCGTCGCCTGCTGGCTGAACATAACCTCGACGCCAGCGCCATTAAAGG
+CACCGGTGTGGGTGGTCGTCTGACCCGTGAAGATGTGGAAAAACATCTAGCGAAAGCCCCGGCGAAAGAG
+TCTGCTCCGGCAGCGGCTGCTCCGGCGGCGCAACCGACCCTGGCTGCACGTAGCGAAAAACGTGTGCCGA
+TGACTCGCCTGCGTAAGCGTGTGGCAGAGCGTCTGCTGGAAGCGAAAAACTCCACCGCCATGCTGACCAC
+GTTCAACGAAGTCAACATGAAGCCGATTATGGATCTGCGTAAGCAGTACGGTGAAGCGTTTGAAAAACGC
+CACGGCATTCGTCTGGGCTTTATGTCCTTCTACGTGAAAGCGGTGGTTGAAGCCCTGAAACGTTACCCGG
+AAGTGAATGCGTCTATCGACGGCGATGATGTGGTCTACCACAACTATTTCGACGTCAGTATGGCGGTTTC
+TACGCCGCGCGGCCTGGTGACGCCGGTTCTGCGTGATGTCGATACCCTCGGCATGGCAGACATCGAGAAG
+AAAATCAAAGAGCTGGCTGTTAAAGGCCGTGACGGCAAGCTGACGGTTGAAGATCTGACCGGTGGTAACT
+TCACCATCACCAACGGTGGTGTGTTCGGTTCCCTGATGTCAACGCCTATCATCAACCCACCGCAGAGCGC
+AATTCTGGGTATGCACGCTATCAAAGATCGTCCGATGGCAGTGAATGGCCAGGTTGAGATCCTGCCGATG
+ATGTACCTGGCGCTGTCCTACGATCACCGTTTGATCGATGGTCGCGAATCCGTGGGCTTCCTGGTAACGA
+TCAAAGAGTTGCTGGAAGATCCGACGCGTCTGCTGCTGGACGTTTAGTAGTTTAAGCTTCACCTGCACTG
+TAGACCGACGTGGATAGGGTGTCGGTCTACGGTTTAAAAGATAACGATTACTGAAGGATGGACAGAACAC
+ATGAACTTACATGAATATCAGGCAAAACAACTTTTTGCCCGCTATGGCTTACCAGCACCGGTGGGTTATG
+CCTGTACTACTCCGCGCGAAGCAGAAGAAGCCGCTTCAAAAATCGGTGCCGGTCCGTGGGTAGTGAAATG
+TCAGGTTCACGCTGGTGGCCGCGGTAAAGCGGGCGGTGTGAAAGTTGTAAACAGCAAAGAAGATATCCGT
+GCTTTTGCAGAAAACTGGCTGGGCAAGCGTCTGGTAACGTATCAAACAGATGCCAATGGCCAACCGGTTA
+ACCAGATTCTGGTTGAAGCGGCGACCGATATCGCTAAAGAGCTGTATCTCGGTGCCGTTGTTGACCGTAG
+TTCCCGTCGCGTGGTCTTTATGGCCTCCACCGAAGGCGGCGTGGAAATTGAAAAAGTGGCGGAAGAAACT
+CCGCACCTGATCCACAAAGTTGCGCTTGATCCGCTGACTGGCCCGATGCCGTATCAGGGACGCGAACTGG
+CGTTTAAACTGGGTCTGGAAGGTAAACTGGTTCAGCAGTTCACCAAAATCTTCATGGGCCTGGCGACCAT
+TTTCCTGGAGCGCGACCTTGCGCTTATCGAAATCAACCCGCTGGTTATTACCAAACAGGGCGATCTGATT
+TGCCTCGACGGCAAACTGGGCGCTGATGGCAACGCACTGTTCCGCCAGCCTGATCTGCGTGAAATGCGTG
+ACCAGTCGCAGGAAGATCCGCGTGAAGCACAGGCTGCACAGTGGGAACTGAACTACGTTGCGCTGGACGG
+TAACATCGGTTGTATGGTTAACGGCGCAGGTCTGGCGATGGGTACGATGGACATCGTTAAACTGCACGGC
+GGCGAACCGGCTAACTTCCTGGACGTTGGCGGCGGCGCAACCAAAGAACGTGTAACCGAAGCGTTCAAAA
+TCATCCTCTCTGACGACAAAGTGAAAGCCGTTCTGGTTAACATCTTCGGCGGTATCGTTCGTTGCGACCT
+GATCGCTGACGGTATCATCGGCGCGGTAGCAGAAGTGGGTGTTAACGTACCGGTCGTGGTACGTCTGGAA
+GGTAACAACGCCGAACTCGGCGCGAAGAAACTGGCTGACAGCGGCCTGAATATTATTGCAGCAAAAGGTC
+TGACGGATGCAGCTCAGCAGGTTGTTGCCGCAGTGGAGGGGAAATAATGTCCATTTTAATTGATAAAAAC
+ACCAAGGTTATCTGCCAGGGCTTTACCGGTAGCCAGGGGACTTTCCACTCAGAACAGGCCATTGCATACG
+GCACTAAAATGGTTGGCGGCGTAACCCCAGGTAAAGGCGGTACTACCCACCTCGGCCTGCCAGTGTTCAA
+CACCGTGCGTGAAGCTGTTGCTGCTACTGGCGCTACCGCCTCTGTTATCTACGTACCAGCACCGTTCTGC
+AAAGACTCCATTCTGGAAGCTATCGATGCAGGCATCAAACTGATTATCACCATCACTGAAGGCATCCCGA
+CGCTGGATATGCTGACGGTGAAAGTGAAACTGGATGAAGCAGGCGTTCGTATGATCGGCCCGAACTGCCC
+AGGCGTTATCACCCCGGGGGAATGCAAAATCGGTATCCAGCCGGGTCACATTCACAAACCGGGTAAAGTG
+GGTATCGTTTCCCGTTCCGGTACGCTGACCTATGAAGCGGTTAAACAGACCACGGATTACGGTTTCGGTC
+AGTCGACCTGCGTTGGTATCGGCGGCGACCCGATCCCTGGTTCTAACTTTATCGACATCCTCGAAATGTT
+CGAAAAAGATCCGCAGACCGAAGCGATCGTGATGATCGGTGAGATCGGCGGTAGCGCTGAAGAAGAAGCA
+GCGGCGTACATCAAGGAGCACGTTACCAAGCCAGTTGTGGGTTACATCGCTGGTGTGACTGCGCCGAAAG
+GCAAACGTATGGGTCACGCAGGTGCGATCATTGCCGGTGGTAAAGGGACTGCGGATGAGAAATTCGCTGC
+TCTGGAAGCCGCAGGCGTGAAAACCGTTCGCAGCCTGGCGGATATCGGTGAAGCACTGAAAACTGTTCTG
+AAATAAATATCTGTAATAAGAAATAGCCCTCGCCGCTTCCCTCTACAGGAGGGGCGAAGGGCTGTCGGTT
+TCGACATGGTTGGCCATCTTATGATGGCCTTTTTTATTCGGGCACTAATCTGAAAAGTTTGCCCACTGCT
+TTTCTCCCATCTTCTGCGCAATAATGCCCGGCAAAATATCCCCTCTCCGTTCTGTAAAAGCATTTATACA
+AGAAGAAAATTGTTCTGCCGGTTGCTCTGGCTCTGATGGGTGTAAATTCGGACGTTTATGCGGCCGATGT
+AAATATCGATATTTTAAGTGCGACAGTGAAAGATAAACGCATTGAGGGAGTATCGGTGACGCTGCAACGC
+AATGGCGCACAATCTGTTTCTGGAACCACAAATGCATCGGGCAGCGTTAATCTGGGTTCTACATTTGCTG
+ATGATCAAGATGCTTTATTGATCGTCAAAAAAGAGGGCTATTCTAATCTGGTGGTCAAATGTTCGTGTGC
+TGGCATGACTTATGCGATTAGTCCGGCAATGACTAGTCTGGATGGCATGCGTGTAGTTTTGAGCTGGGGC
+GAAAAGCCTTTTGATCTTGATTCACATTTGATCTTCCCTGGCGGACATATCTATTTTGATAGTAAAGAGG
+GGACTGATGCTAATCTGGATGTTGATGATACGGATAGCTATGGATCAAAAACTGTCACTATCAGCAAAAA
+GCATTTTGGCGAAAGTTACATCTATGCCGTGCAGGACTATAGCAATAAAGGGCTGCCCAACAGTAATTAT
+CTCTCTGCCAGTAAGGCAAAAGTGTTTGTTTATGTAGGGAGCTCCCTGGTACGTAGTTATAGTGTCCCTG
+CTGGAAAACGAGGGAACATCTGGACCGTGTTTAAACTCAATCCAAACGGCGAGTTTGAAGATATCAACTC
+TGTTACCAGCGCCAATTTTAACGACACCACATTAGACGTCAGGGATTTAGCCACTGTGATAATGCCTGCG
+ACGGACTCTTCAGCTCCGGCTTCGCCTGCGATGCAAAACAGTGGAGATACTCAACTGGCAAGAAAATATA
+ATCGCGAAGGTGAAGCTGTTTATAAAACCGGTCAACTTGAGCAAGCCATTCAACTCTTCCAACAGGCAAC
+AGAATTAGACGGCAATTACGGACAGGCATTTAGTAACCTGGGGCTGGCGTATCAGAAAAATGGCAACATC
+GCGGAAGCAATTTGGGCAAATCGTAAAGCGATCTCGTTAGCCAGTGGAGCAAATGCGGCGACAACGCGCG
+CTAACTCCTATTATAACATTGCCAAAATTTATGAAACTGCTGGACAGGACGCTGATGCATTGCAGCATTA
+TCAACTCGCTCTTCACGATGCCATTTTATAAAAATGAAAGTGGAATCATATTTTTTAATTTTATATGCTT
+GCTTGTTTTTCTGGTCAAGTTATCCATCATTCACTGTTTTATTATCTTAAGGATGATGGAAATAGAAGGT
+TTTTTAATGATAATAAAACATATTCTTATGTTATTTAATCACGAATTTTTTAATATGATTATGTATCAAT
+ACGTTATATTACCCGATGTGCTACTGAATTATCGACTATTACTTTAATATTTAGTGATCGTAAACATGGT
+TCTCCAGATTACTAAATTTCTGGCATCTTACAATATCATCATCTTCAAATAGTTAAATTAAGATTATGGC
+ACTGCCAAAACAGATAAATTGAAGCAGTCTGGTAGATATTGCAGAACAACCTTGATTCCAACGGCGAAAT
+CATGTTTATCCTCCAGGTTGCCGCCCATATGGAGCTGAATATCATTCAGTCCACGCTTGATGAGTTGATA
+TCGCTATATCCATAGATAGGGTAGCTTTTTACACGAGAGTGTCCGGTGTTTTCTAACGGCTGGCAATCAT
+TCCGTTTTGTTGTTTCGTATCACTGCTATAACAATTTCTCTTGAATTTCAATCTTTGAGCGAATCATTGA
+ATACAGATCGGGAAATATTAATACCATATATATTTTATTTTGAAAATCCTTGTTCCATCTGACTATACCT
+AAGGTATCTATTTCTTCTTGTGATTATTACCAATGAAACAATAAGTGACGGATTTACAGTACGTTGCTCA
+TAAAGACAACAATCAATTAACGGTGATAAAAATATGTTATGTAAAATGGCAATAAAGTAGCTACTCTAAC
+TAATTAGTATTATAAAAAGTCGATAAAGCGGCTCTGTTAAATAAAATACTGGTTTTTTATCTATATATTT
+CCATGTGGGTAATTTTACTGTGCTATTTTGTTACAATAAATTAACAATAAAGTTACCAGTGGTTCATGAT
+TCACACATAATTAACATATGCGGTTGATTTTGATATAAATCAATTTTTAATTCTTGAAAAAAATCTGCAA
+AACACGATAAATTGTTGTAGATCAAATTGGTGAGATCGTGACAATTTCGCTATAAATTGATCACTGTCGA
+AAAATGCAAATTTGCTCAATAAAAACCTGTTTATTGTAAGGATTTTGCGGCGTAATATAATTACGGGATC
+AATTTGGTTTATTCATTAACACATTTGTAACTTTTTTATCATTGTCTTTTCCTCTTTTGATGAAATGGCA
+ACGATAGAGGCGAGCAAATAATTTTGTATTGGGGCATGCGTGTGACCCTTTCTAACGGGGTTCACTCTCG
+GAGTCTTCATGCGATGAGCAAGGAGTCATGATGTTAGATATAGTCGAACTGTCGCGCTTACAGTTTGCCT
+TGACCGCGATGTACCACTTCCTTTTTGTGCCACTGACGCTCGGTATGGCGTTCCTGCTGGCCATTATGGA
+AACGGTCTACGTCCTTTCCGGCAAACAGATTTATAAAGATATGACCAAGTTCTGGGGCAAGTTGTTTGGT
+ATCAACTTTGCTCTGGGTGTGGCTACCGGTCTGACCATGGAGTTCCAGTTCGGGACTAACTGGTCTTACT
+ATTCCCACTATGTAGGGGATATCTTCGGTGCGCCGCTGGCAATCGAAGGTCTGATGGCCTTCTTCCTCGA
+ATCCACCTTTGTAGGTCTGTTCTTCTTCGGTTGGGATCGTCTGGGTAAAGTTCAGCATATGTGTGTCACC
+TGGCTGGTGGCGCTCGGTTCAAACCTGTCCGCACTGTGGATTCTGGTTGCAAACGGCTGGATGCAAAACC
+CAATCGCGTCCGATTTCAACTTTGAAACTATGCGTATGGAGATGGTGAGCTTCTCCGAGCTGGTGCTTAA
+CCCGGTTGCTCAGGTGAAATTCGTTCACACCGTAGCTTCTGGTTATGTGACTGGCGCAATGTTCATCCTC
+GGTATCAGCGCATGGTATATGCTGAAAGGTCGTGACTTCGCCTTCGCTAAACGCTCCTTTGCTATCGCTG
+CCAGCTTCGGTATGGCTGCCGTTCTGTCTGTTATTGTTCTGGGTGATGAATCCGGCTACGAAATGGGCGA
+CGTGCAGAAAACCAAACTGGCTGCTATCGAAGCCGAGTGGGAAACGCAACCTGCACCTGCTGCCTTTACT
+CTGTTCGGCATTCCTGATCAGGAAGAGGAAACGAACAAATTTGCGATCCAGATCCCTTACGCGCTGGGCA
+TCATTGCAACGCGTTCCGTGGATACTCCAGTTATCGGTCTGAAAGAACTGATGGTGCAGCATGAAGAACG
+CATTCGTAACGGGATGAAGGCGTACTCTCTGCTCGAACAACTGCGTTCTGGTTCTACTGACCAGGCCGTT
+CGTGACCAGTTCAATAGCATGAAGAAAGATCTCGGTTACGGTCTGCTGCTGAAACGCTATACGCCAAACG
+TGGCTGATGCGACTGAAGCTCAGATTCAACAGGCAACCAAAGACTCCATTCCGCGTGTAGCGCCGCTGTA
+CTTTGCGTTCCGTATCATGGTGGCGTGTGGCTTCCTGCTGCTGGCAATCATCGCGCTCTCTTTCTGGAGT
+GTCATCCGCAACCGCATTGGCGAGAAAAAATGGCTGCTGCGCGCCGCGCTGTACGGTATTCCGCTGCCGT
+GGATTGCTGTAGAAGCGGGCTGGTTCGTGGCTGAATATGGCCGCCAACCGTGGGCTATCGGTGAAGTGCT
+GCCGACAGCTGTGGCGAACTCGTCACTGACCGCAGGCGATCTCATCTTCTCGATGGTGCTGATTTGCGGC
+CTGTATACCCTGTTCCTGGTGGCAGAATTGTTCTTAATGTTCAAGTTTGCACGCCTCGGCCCAAGCAGCC
+TGAAAACCGGTCGCTATCACTTTGAGCAGTCTTCCACGACTACTCAGCCGGCACGCTAAGACAGGAGTCG
+TCAAATGATCGATTATGAAGTATTGCGTTTTATCTGGTGGCTGCTGGTTGGCGTTCTGCTGATTGGTTTT
+GCAGTCACTGACGGTTTCGACATGGGGGTGGGCATGCTCACCCGTTTCCTCGGTCGTAACGACACCGAGC
+GTCGAATTATGATTAACTCCATCGCACCACACTGGGACGGTAACCAGGTTTGGCTGATCACCGCAGGCGG
+CGCACTGTTTGCTGCCTGGCCGATGGTCTATGCCGCTGCGTTCTCCGGCTTCTATGTGGCGATGATCCTC
+GTGCTGGCGTCTTTGTTCTTCCGTCCGGTCGGTTTTGACTACCGCTCCAAGATTGAAGAAACCCGCTGGC
+GTAACATGTGGGACTGGGGCATCTTCATTGGTAGCTTCGTTCCGCCGCTGGTGATTGGTGTAGCGTTCGG
+CAACCTGTTGCAGGGCGTACCATTCAACGTTGATGAATATCTGCGTCTGTACTACACCGGTAACTTCTTC
+CAGCTGCTTAACCCGTTCGGCCTGCTGGCAGGTGTGGTGAGCGTAGGGATGATCATTACTCAGGGCGCAA
+CCTATCTGCAAATGCGTACCGTGGGCGAACTGCACCTGCGTACCCGTGCAACGGCTCAGGTGGCGGCACT
+GGTGACGCTGGTCTGCTTCGCACTGGCTGGCGTATGGGTGATGTACGGTATCGATGGTTATGTCGTGAAA
+TCGACAATGGACCATTACGCAGCCTCTAACCCGCTGAATAAAGAAGTGGTTCGTGAAGCTGGCGCATGGC
+TGGTTAACTTCAACAACACGCCAATTCTGTGGGCTATTCCGGCACTGGGTGTGGTTCTGCCGCTGCTGAC
+CATCCTGACTGCACGTATGGATAAAGCCGCGTGGGCGTTTGTATTCTCCTCCCTGACGCTGGCCTGCATC
+ATCCTGACTGCCGGTATCGCAATGTTCCCGTTTGTGATGCCGTCCAGCACCATGATGAACGCAAGTCTGA
+CAATGTGGGATGCAACTTCCAGCCAGCTGACGCTTAACGTCATGACCTGGGTTGCGGTGGTTCTGGTACC
+GATCATTCTGCTCTACACCGCCTGGTGTTACTGGAAAATGTTCGGTCGTATCACCAAAGAAGATATTGAA
+CGTAACACCCACTCTCTGTACTAAGTAAGGAGCTAAAAATGTGGTATTTCGCATGGATTCTGGGAACGCT
+TCTTGCCTGTTCGTTTGGGGTAATCACCGCGCTGGCGCTTGAGCACGTCGAATCAGGCAAAGCCGGTCAA
+GAAGACATCTGATGAGTAAGATTATCGCAACCTTGTATGCGGTAATGGACAAGCGCCCCCTGCGGGCGCT
+TTCCTTCGTGATGGCACTTCTGTTAGCAGGATGTATGTTTTGGGACCCATCACGTTTCGCCGCGAAGACC
+AGTGAACTGGAAATCTGGCATGGTTTACTGCTGATGTGGGCCGTCTGTGCTGGTGTGATTCACGGCGTGG
+GCTTTCGTCCGCAGAAGGTTCTCTGGCAAGGGATTTTTTGCCCATTGCTTGCCGATATTGTTCTCATTGT
+CGGGCTGATTTTCTTCTTCTTTTAAATCAGAATTCTCTTTAAAAATTTATGGGCCGAGTCAGGCCCATAA
+ATTTTTACGCTCCCTTAACTTGCCCTCATTCCCAAACCTCAATCGCGCGCGTATAGTAGCAGCGTTTAAA
+AGCTCTAACTTTTGTTGCATTACCGGGATGTAAAGTGAATACAACGCTGTTTCGATGGCCGGTTCGCGTC
+TACTATGAAGATACCGATGCCGGTGGTGTGGTGTACCACGCCAGTTACGTCGCTTTTTATGAAAGAGCAC
+GCACAGAGATGCTGCGTCATCATCATTTCAGTCAACAGGCGCTGATGGCTGAACGCATTGCCTTTGTGGT
+ACGTAAAATGACGGTGGAATATTACGCACCTGCGCGGCTCGACGATATGCTCGAAATACAGACTGAAATA
+ACATCAATGCGTGGCACCTCTTTGGTTTTCACGCAACGTATTGTCAACGCCGAGAATACTTTGTTGAATG
+AAGCAGAGGTTCTGGTTGTTTGCGTTGACCCACTCAAAATGAAGCCTCGTGCGCTTCCCAAGTCTATTGT
+CGCGGAGTTTAAGCAGTGACTGACATGAATATCCTTGATTTGTTCCTGAAGGCTAGCCTTCTGGTTAAAC
+TTATCATGTTGATTTTGATTGGTTTTTCAATCGCATCCTGGGCCATTATTATCCAGCGGACCCGTATTCT
+TAACGCAGCAGCGCGCGAAGCCGAAGCGTTTGAAGATAAATTCTGGTCTGGAATCGAACTCTCTCGCCTC
+TATCAAGAGAGCCAGGGGAAACGGGATAATCTGAGCGGTTCGGAACAAATCTTTTACAGCGGCTTCAAAG
+AGTTTGTGCGCCTGCATCGTGCCAATAGCCATGCGCCGGAAGCCGTAGTGGAAGGGGCGTCGCGTGCGAT
+GCGTATTTCCATGAATCGTGAACTTGAAAATCTGGAAACGCACATTCCGTTCCTCGGTACGGTTGGCTCC
+ATCAGCCCGTATATTGGTCTGTTTGGTACGGTCTGGGGGATCATGCACGCCTTTATCGCCCTCGGGGCGG
+TAAAACAAGCAACACTGCAAATGGTTGCGCCCGGTATCGCAGAAGCGTTGATTGCGACGGCAATTGGTTT
+GTTCGCCGCAATTCCGGCGGTAATGGCTTATAACCGCCTAAACCAGCGCGTAAACAAACTGGAACTGAAT
+TACGACAACTTTATGGAAGAGTTTACCGCGATTCTGCACCGCCAGGCGTTTACCGTTAGCGAGAGCAACA
+AGGGGTAAGCCATGGCCAGAGCGCGTGGACGAGGTCGTCGCGATCTCAAGTCCGAAATCAACATTGTACC
+GTTGCTGGACGTACTGCTGGTGCTGTTGCTGATCTTTATGGCGACAGCGCCCATCATCACCCAGAGCGTG
+GAGGTCGATCTGCCAGACGCTACTGAATCACAGGCGGTGAGCAGTAACGATAATCCGCCAGTGATTGTTG
+AAGTGTCTGGTATTGGTCAGTACACCGTGGTGGTTGAGAAAGATCGTCTGGAGCGTTTACCACCAGAGCA
+GGTGGTGGCGGAAGTGTCCAGCCGTTTCAAGGCCAACCCGAAAACGGTCTTTCTGATCGGTGGCGCAAAA
+GATGTGCCTTACGATGAAATAATTAAAGCACTGAACTTGTTACATAGTGCGGGTGTGAAATCGGTTGGTT
+TAATGACGCAGCCTATCTAAACATCTGCGTTTCCCTTGCTTGAAAGAGAGCGGGTAACAGGCGAACAGTT
+TTTGGAAACCGAGAGTGTCAAAGGCAACCGAACAAAACGACAAGCTCAAGCGGGCGATAATTATTTCAGC
+AGTGCTGCATGTCATCTTATTTGCGGCGCTGATCTGGAGTTCGTTCGATGAGAATATAGAAGCTTCAGCC
+GGAGGCGGCGGTGGTTCGTCCATCGACGCTGTCATGGTTGATTCAGGTGCGGTAGTTGAGCAGTACAAAC
+GTATGCAAAGCCAGGAATCAAGCGCGAAGCGTTCTGATGAGCAGCGCAAGATGAAGGAGCAGCAGGCTGC
+TGAAGAACTGCGTGAGAAACAAGCGGCTGAACAGGAACGCCTGAAGCAACTTGAGAAAGAGCGGTTAGCG
+GCTCAGGAGCAGAAAAATCAGGCTGAAGAAGCCGCAAAACAGGCCGAGTTAAAGCAGAAGCAAGCGGAAG
+AGGCGGCAGCGAAAGCGGCGGCAGATGCTAAAGCGAAGGCCGAAGCGGATGCTAAAGCTGCGGAAGAAGC
+AGCGAAGAAAGCGGCGGCAGACGCGAAGAAAAAAGCAGAAGCAGAAGCCGCCAAAGCCGCAGTCGAAGCG
+CAGAAAAAAGCCGAGGCTGCTGCTGCGGCGCTGAAGAAGAAAGCTGAAGCGGCAGAAGCAGCTGCAGCTG
+AAGCAAGAAAGAAAGCGGCAACCGAAGCTGCTGAAAAAGCCAAGGCAGAAGCTGAGAAGAAAGCGGCTGC
+TGAAAAGGCTGCAGCTGATAAGAAAGCGGCAGCAGAGAAAGCGGCAGCCGACAAAAAAGCAGCAGAAAAA
+GCGGCTGCTGAAAAGGCAGCAGCTGATAAGAAAGCAGCGGCAGAAAAAGCCGCCGCAGACAAAAAAGCGG
+CAGCGGCAAAAGCAGCAGCTGAAAAAGCCGCTGCAGCAAAAGCTGCCGCAGAGGCAGATGATATTTTCGG
+TGAGCTAAGCTCTGGTAAGAATGCACCGAAAACGGGGGGAGGGGCGAAAGGGAACAATGCTTCGCCTGCC
+GGGAGTGGTAATACTAAAAACAATGGCGCATCAGGGGCCGATATCAATAACTATGCCGGGCAGATTAAAT
+CTGCTATCGAAAGTAAGTTCTATGACGCATCGTCCTATGCAGGCAAAACCTGTACGCTGCGCATAAAACT
+GGCACCCGATGGTATGTTACTGGATATCAAACCTGAAGGTGGCGATCCCGCACTTTGTCAAGCTGCGTTG
+GCAGCAGCTAAACTTGCGAAGATCCCGAAACCACCAAGCCAGGCAGTATATGAAGTGTTCAAAAACGCGC
+CATTGGACTTCAAACCGTAATCGCGATGTTGACTGTTCCGACGGTCAACATCAGGCACCGGTTGCCACGG
+GGTTCTGGTAGTTTTGTGTATTTTAGTTTGTTAACATTCTGCTAAATTATCGTGGGCCATCGGTCCAGAT
+AAGGGAGATATGATGAAGCAGGCATTACGAGTAGCATTTGGTTTTCTCATACTGTGGGCATCAGTTCTGC
+ATGCTGAAGTCCGCATTGTGATCGACAGCGGTGTAGATTCCGGTCGTCCTATTGGTGTTGTTCCTTTCCA
+GTGGGCGGGGCCTGGTGCGGCACCTGAAGATATTGGCGGCATCGTTGCTGCTGACTTGCGTAACAGCGGT
+AAATTTAATCCGTTAGATCGTGCTCGTCTGCCACAGCAGCCGGGTAGTGCGCAGGAAGTACAACCAGCTG
+CATGGTCCGCGCTGGGCATTGACGCTGTGGTTGTCGGTCAGGTCACTCCGAATCCGGATGGTTCTTACAA
+TGTCGCTTATCAACTTGTTGACACTGGCGGCGCACCGGGTACTGTACTTGCTCAGAACTCGTACAAAGTG
+AACAAGCAGTGGCTGCGTTATGCTGGTCATACCGCCAGTGACGAAGTATTTGAAAAACTGACCGGTATTA
+AAGGTGCGTTCCGTACCCGTATTGCCTACGTTGTTCAGACTAACGGCGGTCAGTTCCCGTATGAACTGCG
+CGTATCTGACTATGACGGTTACAACCAGTTTGTCGTTCACCGTTCACCGCAACCGCTGATGTCTCCGGCG
+TGGTCACCAGACGGTTCTAAACTGGCTTATGTGACCTTCGAAAGCGGTCGTTCCGCGTTGGTTATTCAGA
+CGCTGGCAAATGGCGCTGTACGTCAGGTGGCTTCATTCCCGCGTCACAACGGTGCACCTGCATTCTCGCC
+AGACGGCAGCAAACTGGCATTCGCCTTGTCGAAAACCGGTAGCCTGAACCTGTACGTAATGGATTTGGCT
+TCTGGTCAGATCCGCCAGGTAACTGATGGTCGCAGTAACAATACCGAACCGACCTGGTTCCCGGACAGCC
+AGAACCTGGCATTTACTTCTGACCAGGCCGGTCGTCCGCAGGTTTATAAAGTGAATATCAACGGCGGTGC
+GCCACAACGTATTACCTGGGAAGGTTCGCAGAACCAGGATGCGGATGTCAGCAGCGACGGTAAATTTATG
+GTAATGGTCAGCTCCAACGGTGGGCAGCAGCACATTGCCAAACAAGATCTGGCAACGGGAGGCGTACAAG
+TTCTGTCGTCCACGTTCCTGGATGAAACGCCAAGTCTGGCACCTAACGGCACTATGGTAATCTACAGCTC
+TTCTCAGGGGATGGGATCCGTGCTGAATTTGGTTTCTACAGATGGGCGTTTCAAAGCGCGTCTTCCGGCA
+ACTGATGGACAGGTCAAATTCCCTGCCTGGTCGCCGTATCTGTGATAATAATTAATTGAATAGTAAAGGA
+ATCATTGAAATGCAACTGAACAAAGTGCTGAAAGGGCTGATGATTGCTCTGCCTGTTATGGCAATTGCGG
+CATGTTCTTCCAACAAGAACGCCAGCAATGACGGCAGCGAAGGCATGCTGGGTGCCGGCACTGGTATGGA
+TGCGAACGGCGGCAACGGCAACATGTCTTCCGAAGAGCAGGCTCGTCTGCAAATGCAACAGCTGCAGCAG
+AACAACATCGTTTACTTCGATCTGGACAAGTACGATATCCGTTCTGACTTCGCTCAAATGCTGGATGCAC
+ACGCAAACTTCCTGCGTAGCAACCCGTCTTACAAAGTCACCGTAGAAGGTCACGCGGACGAACGTGGTAC
+TCCGGAATACAACATCTCCCTGGGTGAACGTCGTGCGAACGCTGTTAAGATGTATCTGCAGGGTAAAGGC
+GTTTCTGCTGACCAGATCTCCATCGTTTCTTACGGTAAAGAAAAACCTGCAGTACTGGGTCATGACGAAG
+CGGCGTATGCCAAAAACCGTCGTGCGGTACTGGTTTACTAAGAGAATTGCATGAGCAGTAACTTCAGACA
+TCAACTATTGAGTCTGTCGTTACTGGTTGGTATAGCGGCCCCTTGGGCCGCTTTTGCTCAGGCACCAATC
+AGTAGTGTCGGCTCAGGCTCGGTCGAAGACCGCGTCACTCAACTTGAGCGTATTTCTAATGCTCACAGCC
+AGCTTTTAACCCAACTCCAGCAACAACTCTCTGATAATCAATCCGATATTGATTCCCTGCGTGGTCAGAT
+TCAGGAAAATCAGTATCAACTGAATCAGGTCGTGGAGCGGCAAAAGCAGATCCTGTTGCAGATCGACAGC
+CTCAGCAGCGGTGGTGCAGCGGCGCAATCAACCAGCGGCGATCAAAGCGGTGTGGCGGCATCAACGACGC
+CGACAGCTGATGCTGGTACTGCGAATGCTGGCGCGCCGGTGAAAAGCGGTGATGCAAACACGGATTACAA
+TGCAGCTATTGCGCTGGTGCAGGATAAATCCCGCCAGGATGACGCAATGGTGGCATTTCAGAATTTCATC
+AAAAATTACCCTGATTCAACTTACCTGCCAAACGCCAATTATTGGCTGGGTCAGTTAAACTACAACAAGG
+GTAAAAAAGATGATGCGGCGTATTATTTTGCTTCGGTAGTGAAAAACTATCCGAAGTCACCGAAGGCTGC
+AGATGCGATGTTTAAAGTCGGCGTCATCATGCAGGACAAAGGTGACACCGCAAAAGCGAAAGCCGTATAC
+CAGCAGGTTATCAGTAAATACCCTGGTACTGATGGCGCTAAACAGGCGCAAAAACGTCTGAACGCGATGT
+AATGCATAACACACGACCAGAAGTCGCATTATTTCTGGTCGTGTCGTGCGAATCATAAGCAGTTGAGTGA
+TCTACATCGAAATTTTTGTTGCGCTCAAGTCTGAAATCAGTAATATATGCCGCCGTTGCCACGGGATATC
+AAACAAACCAAAAGCAACGAAAAAGTGGGTCGTTAGCTCAGTTGGTAGAGCAGTTGACTTTTAATCAATT
+GGTCGCAGGTTCGAATCCTGCACGACCCACCACTAACATAGTTAGTTGTAGTATCCAGCGTAGTATCGGG
+TGATTAGCTCAGCTGGGAGAGCACCTCCCTTACAAGGAGGGGGTCGGCGGTTCGATCCCGTCATCACCCA
+CCACCGGGTCGTTAGCTCAGTTGGTAGAGCAGTTGACTTTTAATCAATTGGTCGCAGGTTCGAATCCTGC
+ACGACCCACCACTGATTACGGTGGGTTCGGTGGAAGTAGTTTGTAGTATCCAGCGCAGTATCGGGTGATT
+AGCTCAGCTGGGAGAGCACCTCCCTTACAAGGAGGGGGTCGGCGGTTCGATCCCGTCATCACCCACCACT
+CGGGTCGTTAGCTCAGTTGGTAGAGCAGTTGACTTTTAATCAATTGGTCGCAGGTTCGAATCCTGCACGA
+CCCACCAATTTTAAACATTGGTTCCGAGTAGAAATCTTTCAGGTAACACCCGTATGGGTCGTTAGCTCAG
+TTGGTAGAGCAGTTGACTTTTAATCAATTGGTCGCAGGTTCGAATCCTGCACGACCCACCATCCTGAATG
+ATTAAAGCAGCATAATCCCGCAAGGGGTCGTTAGCTCAGTTGGTAGAGCAGTTGACTTTTAATCAATTGG
+TCGCAGGTTCGAATCCTGCACGACCCACCAATGCAAAAAAGCGCCCTAAAGGCGCTTTTTTGCTATTCAG
+GCATCTCTCAATTTCAATTCTTGACCCTGATGACATACTCCGCATTTGCTGCGTAAACAACTCTACGTCG
+GAGGAATAAGACGCAAAGTGTGGCATTCGGCATCTCATACGTAATTCGAGTGACTTTTCCCCACCATTCG
+ACTATCTTGTTTAGCATATAAAACAAATTACGCCGATAATAGCGAATATCACGCTTAAGTCGGTTTTAAC
+GTTAAGCCTGTAAAACGAGATGGTAAGATGAGCGTGATGTTTGATCCAGACACGGCGATTTATCCTTTCC
+CCCCGAAGCCGACGCCGTTAAGCATTGATGAAAAAGCGTATTACCGCGAGAAGATAAAACGTCTACTAAA
+AGAACGTAATGCGGTGATGGTTGCCCACTACTATACCGATCCCGAAATTCAACAACTGGCAGAAGAAACC
+GGTGGCTGTATTTCTGATTCTCTGGAAATGGCGCGCTTCGGTGCAAAGCATCCCGCTTCTACGTTGTTAG
+TTGCTGGGGTGAGATTTATGGGAGAAACCGCCAAAATTCTCAGTCCGGAAAAAACAATTCTGATGCCGAC
+ACTTCAGGCTGAATGTTCACTGGATCTCGGCTGCCCTGTTGAAGAATTTAACGCATTTTGCGATGCCCAT
+CCCGATCGTACTGTCGTCGTCTACGCCAACACTTCTGCTGCGGTAAAAGCGCGCGCAGATTGGGTGGTAA
+CTTCAAGCATTGCCGTCGAACTTATTGATCATCTGGATAGTTTGGGTGAAAAAATCATCTGGGCACCTGA
+CAAACATCTGGGGTGTTACGTGCAAAAACAGACGGGCGCAGACATTTTATGCTGGCAGGGTGCCTGCATT
+GTGCATGATGAGTTTAAGACTCAGGCGTTAACCCGCTTGCAAGAAGAATACCCGGATGCTGCCATACTGG
+TGCATCCAGAATCACCGCAAGCTATTGTAGAGATGGCGGATGCGGTCGGTTCCACCAGTCAACTGATCGC
+TGCTGCGAAAACATTGCCACATCAGCGGCTTATCGTGGCAACCGATCGGGGCATTTTCTACAAAATGCAG
+CAGGCGGTGCCAGATAAAGAGTTACTGGAAGCACCAACCGCGGGTGAGGGCGCAACCTGTCGCAGCTGCG
+CGCATTGCCCGTGGATGGCCATGAATGGCCTTCAGGCCATCGCAGAGGCATTAGAACTGGAAGGAAGCAA
+TCACGAGGTTTATGTTGATGAAAGGCTGCTAGAGAGGGCGCTGGTGCCGCTCAATCGTATGCTGGATTTT
+GCGGCTACACTACGTGGATAATTGATAATAAGGCGTCACATTACGCTTTGGGGGAACGATGGATTTTTTT
+AGTGTGCAGAATATCCTGGTACATATACCAATAGGGGCAGGCGGTTATGATCTCTCATGGATCGAAGCGG
+TAGGCACGATCGCCGGGTTGCTGTGTATTGGCCTTGCCAGTCTGGAGAAGATCAGTAACTACTTCTTTGG
+CCTGATCAACGTCACCTTGTTTGGCATTATTTTCTTTCAGATTCAGCTGTATGCCAGCCTGCTATTACAG
+GTGTTTTTCTTTGCCGCGAATATTTACGGCTGGTATGCGTGGTCGCGACAAACCAGTCAGAACGAGGCGG
+AGTTGAAAATTCGCTGGTTGCCATTGCCGAAGGCGCTAAGCTGGTTGGCGGTTTGCGTTGTTTCGATTGG
+TCTGATGACGGTATTTATCAATCCGGTGTTTGCATTTTTGACCCGCGTGGCAGTCATGATCATGCAAGCA
+TTAGGATTACAGGTTGCGATGCCTGAACTACAGCCGGACGCTTTCCCGTTCTGGGATTCATGCATGATGG
+TGTTATCTATCGTGGCAATGATTCTGATGACGCGTAAGTATGTGGAAAACTGGCTGTTGTGGGTGATTAT
+TAATGTGATTAGCGTCGTTATTTTTGCACTTCAGGACGTTTACGCCATGTCTCTGGAGTACATCATCCTG
+ACCTTTATTGCCCTCAACGGCAGCCGGATGTGGATCAACAGCGCACGCGAAAGAGGTTCACGCGCGCTGT
+CCCATTAATGGTGATGATGTGAATGGCCAGACACCCCTTCATTCAGGTGGCAGTCTGGCCCATGACAAGG
+TTGATATTCCATCTGAATAGTGGCGTGCTCAATCTGATAGTGATCCATCAGGTAGTGTTGGATCTGATCT
+AACAAGGCATCGTGATCGTGTGGCGGGATCACCTGCACATGCAGCGTCATCACCGGCTTCTCGCCTACCA
+TCCATACATGTACATGGTGCACATTGCGGACTTCCGGGATTTCCCGGCACATACGACGCTTCAGTTCGGC
+GATATCCAGCGATACCGGTGCACCTTCAAGTAATTCATTCACGCTATCTTTCAACAGTCGCCACGCGCTA
+CGCAGAACCAGAAGCGACACCAGTATTGAGAGAATGGGGTCAGCAGGTGTCCAGCCGGTCCAGATAATAA
+TCAACGCGGCAATAATAGCCCCAACCGAACCCAGCAGGTCCCCGAGCACATGCAGTGCCGCTGCTCGCAC
+GTTGAGGTTTTTCTCTTCGCTGCCGTGATGAAGTAACCAGAAAGAAAGTATATTTGCCAGCAGCCCAGCC
+ACGGCAATTGCCATCATCATGCCGCCCTCGACCGGACGCGGAGTGCGGAAGCGTTCTATCGCCTCCCAGA
+CAATCAAAATAGTAATCACCACCAGGGCGATGGCATTCACAAACGCCGCGAGCGTGGTCAATCTTAGCCA
+ACCGAAAGTGTGGCGAATGGTGGGAGGACGACGGGAAAATTGCACTGCGAGTAGGGCGAAAAGCAGGGCG
+GCAGTATCGGTCAACATATGACCCGCATCGGCCAGCAATGCCAGAGAACCGGAAAGAAAACCACCAATGA
+CTTCTACGAGCATAAACCCGGCAGTCACGCCGAAAGCATACAACAAGCGACGAGCATTATTATCTTCTGG
+CAGGTGTGAGGAAGTGTGTGAGTGTGAGTGCGCCATGACGAGTCATCCCTTAATTATTCTCACTTAACTT
+TATGACATCATACTGCTTTTAGAAGGGAAAAATTACAAGGGAGAGACTCCGCTCTCCCATTATTGGCTAT
+TTCGCAAGGGTTACTGCGTGGTACCGTCGGTTTTGGTATCGACATCATTGTTGATGCCATCACCAGTTTG
+TACCTTTTTATTGATATCCGGACAGCGACCATCTTTACACATGGTGTTCTTGTGCTCTTCATCTTTGGTC
+ATGCCGTCATTGTTCATTGAAGAACCATCCGGATGCAGCATTGTGCCGTCGGAACCGGTATTTACCCCGT
+TATTATCGACGTTATTTGGCGCGACATTTTCACGGGCGTCAGGGGCTACCTGGCCCGCATCAGCTGCGGC
+GTTTGCCTGGCCGTTATTGCTTTGCGCTCCGCTATCGGCAGCCAGTGCGGCACCGCTGGCAAGGCTTAGA
+GTGGCAGTCAAAAATAGTGTGGCCAGTTTTGTCATTTTCATAGGATGCTCCTGTTATGGTCGTTATGTCG
+GATAACCTCTTCCAACAGTGCATTTGCAGGTGAATATAAGGCAATGGTTTAAGATTTCAGCCAGGCAAAG
+ATACCCAGCAGAGAATCTTGAAATAATTAACAAACAAAGGAGTTACAGTTAGAAATTGTAGGAGAGATCT
+CGTTTTTCGCGACAATCTGGCGTTTTTCTTGCTAATTCCAGGATTAATCCGTTCATAGTGTAAAACCCCG
+TTTACACATTCTGACGGAAGATATAGATTGGAAGTATTGCATTCACTAAGATAAGTATGGCAACACTGGA
+ACAGACATGAATTATCAGAACGACGATTTACGCATCAAAGAAATCAAAGAGTTACTTCCTCCTGTCGCAT
+TGCTGGAAAAATTCCCCGCTACTGAAAATGCCGCGAATACGGTCGCCCATGCCCGAAAAGCGATCCATAA
+AATCCTGAAAGGTAATGATGATCGCCTGTTGGTGGTGATTGGCCCATGCTCAATTCATGATCCTGTCGCG
+GCTAAAGAGTATGCCGCTCGCTTGCTGACGCTGCGTGAAGAGCTGCAAGATGAGCTGGAAATCGTGATGC
+GCGTCTATTTTGAAAAGCCGCGTACTACGGTGGGCTGGAAAGGGCTGATTAACGATCCGCATATGGATAA
+CAGCTTCCAGATCAACGACGGTCTGCGTATTGCCCGCAAATTGCTGCTCGATATTAACGACAGCGGTCTG
+CCAGCGGCGGGTGAATTCCTGGATATGATCACCCCACAATATCTCGCTGACCTGATGAGCTGGGGCGCAA
+TTGGCGCACGTACTACGGAATCGCAGGTGCACCGCGAACTGGCATCAGGGCTTTCTTGCCCGGTAGGCTT
+CAAAAATGGCACTGATGGTACGATTAAAGTGGCTATCGATGCCATTAATGCCGCCGGTGCGCCGCACTGC
+TTCCTGTCCGTAACGAAATGGGGGCATTCGGCGATTGTGAATACCAGCGGTAACGGCGATTGCCATATCA
+TTCTGCGCGGCGGTAAAGAGCCTAACTACAGCGCGAAGCACGTTGCTGAAGTGAAAGAAGGGCTGAACAA
+AGCAGGCCTGCCAGCGCAGGTGATGATCGATTTCAGCCATGCTAACTCGTCAAAACAATTCAAAAAGCAG
+ATGGATGTTTGTGCTGACGTTTGCCAGCAGATTGCCGGTGGCGAAAAGGCCATTATTGGCGTGATGGTGG
+AAAGCCATCTGGTGGAAGGCAATCAGAGCCTCGAGAGCGGGGAACCGCTGGCCTACGGTAAGAGCATCAC
+CGATGCCTGCATTGGCTGGGATGATACCGAAGCTCTGTTACGCCAACTGGCTAACGCAGTAAAAGCGCGT
+CGCGGGTAAAGTTTAATTGTCGGATGTGCTGTCAGAGTGGCGTATCCGATTAATCACCGTAGGCCTGATA
+AAACGCGCAGCGTCGCATCAGGCAATGCGCTCCATTGGTAGCAACGAAAAATAAAAAAGCCGACTCATTT
+TGCAGTCGGCTTTCTCATTTTTAAGCGAATGACGTTTACTTCGCTTTACCCTGGTTAGCAACCGCCGCTG
+CTTTCGCCGCGATCTCGTCAGCATTACCCAGATAATAGCGTTTCAGCGGTTTGAAGTTCTCGTCAAACTC
+ATAAACCAGCGGCACGCCGGTCGGGATATTCAGCTCAAGAATCTCTTCTTCGCTCATGTTATCGAGATAT
+TTCACCAGCGCACGTAACGAGTTACCGTGTGCGGCGATGATTACGCGCTCACCGCTCTTCATACGCGGCA
+GAATGGTTTCATTCCAGTAAGGGATCACGCGGTCAATGGTCAGCGCCAGGCTTTCCGTCAGTGGCAGCTC
+TTTCTCGCTCAGTTTCGCGTAACGCGGATCGTGACCCGGATAACGCTCATCATCTTTAGTCAGTTCCGGC
+GGAGTCACCGCAAAACCACGACGCCACTGTTTCACCTGCTCGTCGCCATACTTTTCAGCGGTTTCCGCTT
+TGTTCAGACCCTGCAATGCACCGTAGTGACGTTCGTTCAGTTTCCAGGATTTCTCAACGGGCAGCCATGC
+CTGATCCAGTTCGTCCAGCACATTCCACAGGGTATGAATAGCGCGTTTCAGCACAGAGGTGTAAGCAAAG
+TCAAAGCTGTAACCTTCCTCTTTCAGCAGCTTACCTGCTGCTTTTGCTTCGCTTACGCCTTTCTCAGACA
+GATCCACGTCGTACCAACCGGTGAAACGGTTTTCTTTGTTCCACTGACTTTCGCCATGACGAACCAGAAC
+CAGCTTAGTTACAGCCATATACTTACTCCTCAAATCATCTTTTAATGATAATAATTCTCATTATATTGCC
+GTGACGAAGCAACAGCAATGCTTACGCATAACCATAGCGAAAATAGTGTCGCAGTGTAAGGTTGTTGTGA
+ATATTGAGTTGCAAATATGTCGGTGTTTGCTGGTGATTTGAACAATATGAGGATAAAGCCCTCATGACGA
+GGGCTTAACATTACTGAGCAATAAACTGATATTCCGTCAGGCTGGAATACTCTTCGCCAGGACGCAGGAA
+GCAGTCCGGTTGCGGCCATTCAGGGTGGTTCGGGCTGTCCGGCAGAAATTCGCTTTCCAGAGCCAGCCCT
+TGCCAGTCGGCGTAAGGTTCGGTTCCCCGCGACGGTGTGCCGCCGAGGAAGTTGCCGGAGTAGAATTGCA
+GAGCCGGGGCGGTGGTGTAGACCTTCAGCTGCAATTTTTCATCTGCTGACCAGACATGCGCCGCCACTTT
+CTTGCCATCGCCTTTGGCCTGTAACAAGAACGCGTGATCGTAACCTTTCACTTTGCGCTGATCGTCGTCG
+GCAAGAAACTCACTGGCGATGATTTTGGCGTTGCGGAAATCAAAAGAGGTTCCGGCGACAGATTTCAGGC
+CGTCGTGCGGAATGCCGCCTTCATCAACCGGCAGATATTCTTCCGCCAGAATCTGCAACTTGTGATTGCG
+CACGTCAGACTGCTCGCCGTCAAGATTGAAATAGACGTGATTAGTCATATTCACCGGGCAAGGTTTATCA
+ACTGTGGCGCGATAAGTAATGGAGATACGGTTATCGTCGGTCAGACGATATTGCACCGTCGCGCCGAGAT
+TACCCGGGAAACCCTGATCGCCATCATCTGAACTCAGGGCAAACAGCACCTGACGATCGTTCTGGTTCAC
+AATCTGCCAGCGACGTTTGTCGAACCCTTCCGGGCCGCCATGCAATTGGTTGACGCCCTGACTTGGTGAA
+AGCGTCACGGTTTCACCGTCAAAGGTATAACGGCTATTGGCGATGCGGTTGGCATAACGACCAATAGAGG
+CCCCCAGAAATGCGGCCTGATCCTGATAGCATTCCGGGCTGGCGCAGCCAAGCAGCGCCTCGCGGACGCT
+GCCATCGGAAAGCGGAATACGGGCGGAAAGTAAAGTCGCACCCCAGTCCATCAGCGTGACTACCATCCCT
+GCGTTGTTACGCAAAGTTAACAGTCGGTACGGCTGACCATCGGGTGCCAGTGCGGGAGTTTCGTTCAGCA
+CTGTCCTGCTCCTTGTGATGGTTTACAAACGTAAAAAGTCTCTTTAATACCTGTTTTTGCTTCATATTGT
+TCAGCGACAGCTTGCTGTACGGCAGGCACCAGCTCTTCCGGGAACAACGCGACGATACAGCCACCAAATC
+CGCCGCCGGTCATGCGTACGCCACCTTTGTCGCCAATCACAGCTTTGACGATTTCTACCAGAGTGTCAAT
+TTGCGGTACGGTGATTTCGAAATCATCGCGCATAGAGGCATGAGACTCCGCCATCAACTCGCCCATACGT
+TTCAGGTCGCCTTGCTCCAGTGCGCTGGCAGCTTCAACGGTGCGGGCGTTTTCAGTCAGGATATGACGCA
+CGCGTTTCGCCACGATTGGGTCCAGTTCATGCGCAACAGCGTTGAACTCTTCAATGGTGACATCGCGCAG
+GGCTGGCTGCTGGAAGAAACGCGCACCGGTTTCGCACTGTTCACGACGGGTGTTGTATTCGCTGCCAACC
+AGGGTACGTTTGAAGTTACTGTTGATGATGACGACAGCCACACCTTTGGGCATGGAAACTGCTTTGGTCC
+CCAGTGAGCGGCAGTCAATCAGCAAGGCATGATCTTTCTTGCCGAGTGCGGAAATTAGCTGATCCATGAT
+CCCGCAGTTACAGCCAACAAACTGGTTTTCTGCTTCCTGACCGTTAAGCGCGATTTGTGCGCCGTCCAGC
+GGCAGATGATAAAGCTGCTGCAATACGGTTCCGACCGCGACTTCCAGTGAAGCGGAAGAACTTAACCCTG
+CACCCTGCGGCACATTGCCGCTGATCACCATGTCCACACCGCCGAAGCTGTTGTTACGCAGTTGCAGATG
+TTTCACCACGCCACGAACGTAGTTCGCCCATTGATAGTTTTCATGCGCGACAATGGGCGCATCGAGGGAA
+AACTCGTCGAGCTGATTTTCATAATCGGCTGCCATTACGCGAACTTTACGGTCATCGCGTGGCGCACAGC
+TGATCACGGTTTGATAATCAATCGCGCAGGGCAGAACGAAACCGTCGTTGTAGTCGGTGTGTTCACCAAT
+CAAATTCACGCGGCCAGGCGCCTGAATGGTGTGAGTGGCAGGGTAGCCAAATGCGTTGGCAAACAGAGAT
+TGTGTTTTTTCTTTCAGACTCATTTCTTACACTCCGGATTCGCGAAAATGGATATCGCTGACTGCGCGCA
+AACGCTCTGCTGCCTGTTCTGCGGTCAGGTCTCGCTGGGTTTCTGCCAGCATTTCATAACCAACCATAAA
+TTTACGTACGGTGGTGGAGCGCAACAGAGGCGGATAAAAGTGCGCGTGCAGCTGCCAGTGTTGATTCTCT
+TCGCCATTAAATGGCGCGCCGTGCCAGCCCATAGAGTAGGGGAAGGAGCACTGGAAGAGGTTGTCATAAC
+GACTGGTCAGCTTTTTCAACGCCAGTGCCAAATCGCTGCGCTGGGCGTCGGTCAAATCGGTGATCCGCAA
+AACGTGGGCTTTGGGCAGCAGTAGCGTTTCGAACGGCCAGGCAGCCCAGTAAGGTACAACGGCTAACCAG
+TGTTCGGTTTCGACAACGGTACGGCTACCGTCTGCCAGCTCGCGCTGAACATAATCCACCAGCATTGGCG
+ATTTCTGTTCGGCGAAATATTCTTTTTGCAGACGGTCTTCGCGCTCAGCTTCGTTAGGCAGGAAGCTATT
+TGCCCAAATCTGTCCGTGCGGATGCGGGTTAGAGCAGCCCATCGCCGCGCCTTTGTTTTCAAAGACCTGC
+ACCCATGGGTACGTTTCCCCCAGCTCTGCGGTTTGCTCCTGCCAGGTTTTGACGATTTCCGTCAATGCCG
+CAACGCTCAGTTCTGGCAACGTTTTACTGTGATCCGGTGAAAAGCAGATCACCCGGCTGGTACCGCGCGC
+GCTCTGGCAACGCATTAGCGGATCGTTGCTTTCTGGCGCATCTGGCGTGTCAGACATCAAGGCCGCAAAG
+TCATTAGTGAAAACGTAAGTCCCGGTGTAATCGGGGTTTTTATCGCCTGTCACCCGCACATTACCTGCGC
+AGAGGAAGCAATCTGGATCGTGCGCAGGTAACACCTGTTTGGCTGGCGTTTCCTGCGCCCCCTGCCAGGG
+GCGCTTAGCGCGGTGCGGTGAAACCAGAATCCATTGCCCGGTGAGCGGGTTGTAGCGGCGATGTGGATGA
+TCAACGGGATTAAATTGCGTCATGGTCGTTCCTTAATCGGGATATCCCTGTGGATGGCGTGACTGCCAGT
+GCCAGGTGTCCTGCGCCATTTCATCGAGTGTGCGCGTTACGCGCCAGTTCAGTTCACGGTCGGCTTTGCT
+GGCGTCCGCCCAGTAGGCCGGAAGGTCGCCCTCGCGACGCGGTGCAAAATGATAATTAACCGGTTTGCCG
+CAGGCTTTGCTGAAGGCATTAACCACGTCCAGCACGCTGCTGCCCACGCCAGCGCCGAGGTTGTAGATGT
+GTACGCCTGGCTTGTTCGCCAGTTTTTCCATCGCCACGACGTGACCGTCCGCCAGATCCATTACGTGGAT
+GTAATCGCGCACGCCAGTACCGTCTTCGGTCGGATAATCGTTACCAAAAATCGCCAGCGAGTCGCGACGG
+CCTACAGCAACCTGGGCGATGTATGGCATCAGGTTATTCGGAATGCCTTGCGGATCTTCGCCCATATCGC
+CCGACGGATGCGCGCCAACTGGGTTGAAGTAGCGCAGCAGGGCAATGCTCCAGTCCGGCTGGGCTTTTTG
+CAGATCGGTGAGGATCTGTTCCACCATCAGCTTGCTTTTGCCGTAAGGGCTTTGCGGTGTGCCGGTCGGG
+AAGCTTTCAACATATGGAATTTTGGGCTGATCGCCATAAACGGTGGCGGAGGAGCTAAAGATAAAGTTTT
+TGACGTTAGCGGCGCGCATGGCGCTAATCAGGCGCAGAGTACCGTTGACATTGTTGTCGTAATATTCAAG
+CGGTTTTTGTACCGATTCGCCAACGGCTTTCAGCCCGGCGAAGTGGATCACGGTGTCGATAGCGTGATCG
+TGCAGGATCTCGGTCATCAACGCTTCGTTACGGATATCGCCTTCAACAAACGTTGGATGTTTGCCGCCTA
+AACGCTCGATAACAGGCAGTACGCTGCGCTTACTGTTACAGAGGTTATCAAGAATGATGACATCATGACC
+GTTTTGCAGTAATTGCACACAGGTATGACTTCCAATGTAACCGCTACCACCGGTAACCAGAACTCTCATA
+ATTCGCTCCATTAGGCTTATGGTATGAAATAACCATAGCATAACAAAGATGCGAAAAGTGTGACATGGAA
+TAAATTAGTGGAATCGTTTACACAGGAATTTAGCCGTTTTTTATGCGCGATTAAGTGATTATAAAACAGC
+GGCTTTATGAATGATTGCACTTTTTATCTGAAAAAAAGACGCGGTTTCATGCCTGCATGCGTCAAACCGT
+TGGCCGGATAACACGTTTACGCCGCCTCCGGCACGGTCAGCACTACCGACTCAGTTTATTTTTGTCAGCG
+CATAGCGATAAAAGTCACCGTCCGGCACGAACTCCAGACGATGGGTAATACAGGCAGGCGCATCTTCAGC
+GTGGTGCGAAACAAACAACAATTGCGTTTCACCTTCGCTAATCAGCACATCAATAAAACGGCGGATAAGC
+TGGCGATTGAGCGGATCAAGCCCCTGTAGTGGTTCATCGAGAATAAGCAACGTCGGATGTTTCACTAGCG
+CACGGACGATCAGCGCCAGACGCTGCTGTCCCCAGGAAAGACTATGGAAAGGAGCGTCAGCCGTGCGTTT
+ATCAATGCCGAGAATATCCAGCCACTGCTGCACCAGTTTTTGCTGGCGATCCGAAACGGCCTGATAAATG
+CCAATCGAATCAAAATAGCCAGAAAGAATCACATTACGCACAGTAGTGCTGACCCGGTAATCCAGATGCA
+AACTACTGCTGACGTAGCCGATATGCTTTTTGATATCCCAGATGGTTTCGCCGCTGCCGCGACGTCGTCC
+GAAAAGCGTCAAATCGTTGCTGTAACCTTGCGGATGATCGCCAGTAATCAGGCTTAATAACGTCGATTTT
+CCCGCGCCATTTGGCCCGACAATTTGCCAGTGTTCGCCTGGATTCACCTGCCAGCTAAGGTTATTAAGAA
+TGGGGCGATCGTTATAAGAAACCACGCTATTGTTCAGCACAATGCGCGGTTCGTTGGCGGGTAAGGCGTG
+ACGTACTGAAGGTTCATCCGGCTCCGGCATTTGCACACCTTCAAGCAGTTCGCTATGCGCCAGTTGCGCA
+ACGAGTGCTTGTTGGAGCAGTTCTTCTTTAGCGCCAGTTTCCGCTAAGGTGCAATCCGCCAGCACGCCAG
+CAAACTGGACAAATTCCGGGATCTCATCGAAGCGATTGAGCACCAGTACCAGAGTAATACCGGACTGATG
+TAACGAGGCGAGTAGCTCAGCCAGCTGCTGACGTGAGGCAACATCCAGGCCATCGAACGGTTCATCAAGG
+ATCAACAAGTCAGGCTCCGACATCAGCGCCTGACACAGCAGGGTTTTTCGCGTCTCGCCAGTGGAAAGGT
+ATTTAAAGCGTCGGTTGAGGAGGGCGGTAATACCGAATTGCTGCGCCAGTTGCATGCAACGCGGAGTATC
+CTTTACTTCATCCTGAATGATCTCAGCCGTGGTACGCCCGGTGTCATCTTCGCCAGGGCCGAGCATATCG
+GTGTTATTCCGCTGCCATTCGTCGCTGACGAGCTTTTGCAATTGCTCGAAGGAGAGACGAGTGATGTGGG
+AAAACTGGCTTTGCCGTTCACCTTTCAAAAGCGGAAGTTCCTCCGACAGCGCGCGGGCCAGCGCCGATTT
+CCCGCTTCCATTCGAACCGACAAACGCCCAACTATCACCCGCGTTTAACGTTAGCCGAGGCAATTGCAGC
+GTTTTTGTGTCGCCAAGACGAAACGTGCCTTGCAAAATTTGCAACGATGACATTTTATATCCCATTTTGT
+GCAGCGATTACTGACAGGGATACGTGTTTCATAACAAATTGTCAACACGCTTAGCACAGCGTGGCGATAA
+TCACGCTGTCGGCATTAAAGTAGGCCGTGACATTCTGTCCTTGCTGAAGAGAAGTTGCTTCATTTACCGG
+CACTGTGGCGCACAGTGTTTGCCCGTCGGGTAGCGCCATTAATACTTCGCACTGCTCTGCGCCGCGCTCA
+ATATGACTAATAATACCTGGTAATTGGTTGTCAGCGTTTTGCGCGACCGCATCGTCCTGAGTAATACCTA
+CCCACGGCGCTTTTAGCAATATCAACACTTCTTTGCCTTCATCCAGCCCCAGACGCGCGCCGCTTTGTGC
+GGTAACTGCGACTTTCAGGCGTGTTTTTCCATCAGCCAGTAAGACATCAACATGCTGTTGAACGTCATCA
+TGATCGCGGGCGGTGATGGTACCGAACCACTGGTTACGGGCGCTGGTTTGCAGTGAAAAACGTGAGATCG
+CGGCCAGCAGGCTGTTCAGCGGCAGGGCGTCATCGTCACTTAACACATCAAAGGCTTTTTGCTGGATTTG
+CGCCAGTAAGTCATAGAGCTGAATCAGTCGCTGACCATAGCGGGTCAGTACTGCGCCGCCTCCACCTTTA
+CCGCCTGTTGCGCGCTCAACCAGAATATGCTCACTTAACTGATTCATCTCGTTAATGGCATCCCAGGCGC
+TTTTATAGCTGATACCGGCATCTTTCGCTCCCTGGCTAATGGAACCGGAAAGCGCAATGTGTTTTAGTAG
+CGAAATGCGGCGCGGGTCGGCGAATAATTTTTGTTGGAGCTTAAGGGTGAGAAGGATTTCGGCCTGCATA
+ACAATGTCCTGGCAAAAGTCTTATTGTGACGGAAAACGAACGCCACGCAAAGCTGACCGCACAAAAGGGG
+AGTGCTTTTCTGTGCTTAGCGGTTAGAATAGTCTCATGACTATATCTGGAGTTGACCATGTTAGAGTTAT
+TAAAAAGTCTGGTATTCGCCGTAATCATGGTACCTGTCGTGATGGCCATCATCCTGGGTCTGATTTACGG
+TCTTGGTGAAGTATTCAACATCTTTTCTGGTGTTGGTAAAAAAGACCAGCCCGGACAAAATCATTGATTC
+CCTGAATGCCCGCTTAGTCGGGCATTTTCTTTTTCTCAACTTCCTGCTTTTTCTGCCGATATTTTTTCTC
+ATCTACCTCACAAAGGTTAGCAATAACTGCTGGGAAAATTCCGAACTTGCCGTTATATTGACGCCTACAT
+AACGTTACATTAAGGGGTTACCAATGGCTCGTAAATGGTTGAACTTGTTTACCGGGGCGGCACTCTCTTT
+CGCTGTTGCTGGCAATGCACTGGCAGATGAAGGGAAAATCACGGTGTTCGCCGCCGCATCACTGACTAAC
+GCAATGCAGGACATTGCTACGCAGTATAAAAAAGAGAAAGGCGTGGATGTGGTTTCTTCTTTCGCTTCGT
+CATCTACTTTGGCCCGTCAGATTGAAGCGGGTGCGCCTGCGGATCTGTTTATTTCTGCCGATCAGAAATG
+GATGGATTATGCGGTTGATAAAAAAGCGATCGATACGGCTTCGCGCCAGACACTGCTCGGCAATAGCCTG
+GTCGTTGTAGCACCGAAAGCCAGCGAGCAGAAAGATTTCACCATCGACAGCAAAACCAACTGGACTTCGC
+TGCTGAATGGCGGTCGCCTCGCGGTTGGTGATCCGGAACATGTCCCTGCTGGCATTTATGCGAAAGAAGC
+ACTGCAAAAACTGGGCGCATGGGATACGCTCTCCCCGAAACTGGCTCCGGCGGAAGATGTTCGTGGCGCG
+CTGGCGTTGGTCGAACGCAATGAAGCGCCGCTGGGTATTGTTTACGGTTCTGACGCAGTTGCCAGCAAAG
+GGGTAAAAGTGGTTGCCACCTTCCCGGAAGATTCACATAAAAAAGTGGAATATCCGGTTGCTGTTGTGGA
+AGGGCATAACAATGCGACAGTGAAAGCATTTTATGATTATCTGAAGGGGCCGCAGGCTGCGGAAATCTTT
+AAACGTTACGGATTTACAACCAAGTAATGATACTGACCGATCCAGAATGGCAGGCAGTTTTATTAAGCCT
+GAAAGTTTCTTCCCTGGCTGTGCTGTTTAGCCTGCCGTTTGGGATCTTTTTTGCCTGGTTACTGGTACGT
+TGCACGTTTCCGGGCAAAGCTCTGCTCGACAGCGTACTGCATCTACCGCTGGTGTTACCGCCCGTGGTCG
+TCGGTTACCTATTATTAGTTTCGATGGGACGGCGCGGATTTATCGGTGAACGTCTGTATGACTGGTTTGG
+TCTTTCTTTCGCGTTTAGCTGGCGTGGTGCGGTTCTCGCTGCCGCTGTCATGTCTTTTCCGCTGATGGTG
+CGGGCGATTCGTCTGGCGCTGGAAGGTGTTGATATCAAACTGGAGCAGGCCGCAAGAACACTGGGGGCCG
+GGCGCTGGCGCGTTTTCTTTACTATCACGTTACCGCTGACCTTACCGGGAATTATTGTTGGTACGGTGCT
+GGCATTCGCTCGTTCGCTCGGTGAATTTGGCGCAACCATCACCTTTGTTTCTAACATTCCTGGTGAAACG
+CGAACCATTCCTTCTGCCATGTATACCCTGATCCAGACCCCTGGCGGGGAAAGTGGCGCGGCGAGACTGT
+GTATTATTTCTATTGCGCTGGCGATGATCTCCCTGTTGATTTCAGAATGGCTGGCCAGAATCAGCCGTGA
+ACGGGCGGGGCGCTAATCATGCTGGAACTGAATTTTTCCCAGACGTTGGGCAACCATTGCCTGACGATTA
+ATGAAACGCTGCCCGCCAATGGCATCACCGCTATTTTTGGTGTCTCTGGTGCCGGAAAAACCTCGCTGAT
+TAACGCCATCAGTGGGCTGACACGTCCGCAAAAAGGGCGGATTGTCCTCAATGGTCGGGTACTAAATGAT
+GCCGAAAAAGGTATCTGCCTGTCGCCGGAAAAGCGTCGCGTTGGCTATGTTTTTCAGGATGCGCGGCTGT
+TCCCGCATTACAAAGTGCGTGGCAATCTGCGCTACGGCATGGCGAAAAGCATGGTCAATCAGTTCGATAA
+GCTGGTGGCGCTTTTAGGCATTGAACCGTTGCTTGATCGTTTACCAGGCAGCCTGTCCGGAGGCGAAAAA
+CAGCGCGTGGCGATTGGTCGGGCTTTGCTGACAGCACCGGAATTGCTGTTGCTGGATGAACCGCTGGCGT
+CACTGGATATTCCGCGTAAACGCGAACTGTTGCCTTATCTGCAACGTCTGACGCGGGAAATCAACATTCC
+GATGTTGTATGTCAGCCATTCGCTGGATGAGATCCTCCATCTGGCAGACAGAGTGATGGTACTGGAAAAC
+GGTCAGGTGAAAGCCTTTGGCGCGCTGGAAGAAGTCTGGGGTAGTAGCGTGATGAATCCGTGGCTACCGA
+AAGAGCAACAAAGTAGCATTCTGAAAGTGACAGTACTTGAGCATCATCCGCATTACGCGATGACCGCGCT
+GGCGCTGGGCGATCAGCATTTGTGGGTCAATAAGCTGGACGAACCGCTGCAAGCTGCGCTACGCATCCGC
+ATTCAGGCTTCCGATGTCTCGCTGGTTTTACAACCGCCACAGCAAACCAGCATTCGTAACGTATTGCGGG
+CAAAAGTTGTTAATAGTTATGACGACAACGGCCAGGTGGAAGTGGAGCTGGAAGTCGGCGGTAAAACGCT
+GTGGGCGCGTATCAGCCCGTGGGCCAGGGATGAACTGGCGATCAAACCTGGCCTGTGGCTGTATGCGCAA
+ATTAAAAGTGTGTCGATAACCGCCTGATTAAATCAGGTGGCTATAAATGAACTGGGCAATGCTGTCGGTG
+GTGTTATCACCAATCACAATGTTGGCGCGCGCTTTTACTGCGTCATCGGCGTTGCCCATCGCCACGCCTG
+TACCAGCGGCTTCCAGCATACTAATATCATTGAAGTTATCGCCGAAGGCCACGACGTTTTCCATCGACCA
+GCCTTGCGCCTCAACCCATTTCGTCAAACGTTTACCTTTGCTGTTGCCGCCGCGTGCAATATCAACCTGA
+TCGTGCCAGGACCATTCACACTCCAGTCCCAGTTCATGTTCGACATGCTTACCAAAATGCTGCAATTGCG
+GCAGGTCATCGTGCGTCAGGGCGAACTTCCATACGGCGTTAACTTGTTGCGCCGTTTCAGCCAGAGAAGC
+GACTTGTGTGAAAGTCGGACGCTGTTCCGGCGGCAGGGTTTGCGCCCAGTTAGACGTGCGAATGACATGT
+CCGGTCGGGTGCTCATAAACCATCGCATCATCCACATACATCAGACCGTGAATGTGGTGTTCATTCAGCA
+TCTCAATGAGTTGCAGGGCTTTGTTAACAGGCATTGGGTCCGCTTCTAGTACGGTTTTTGCATGATAATC
+ATACAAATAGGTGCCGTTACAGCAAATAGCAGGTGTATCCAGCGCCAGCGCCTGATAAAAAGGATGAATA
+GCGACGTGATGGCGACCTGTGACGATGATTAATCGGTAGCCTGCTTCGCGAGCACGGGCCAGGGCTTCTA
+TCGATGAAGGAAGCAGGGTCTTTTTCGGGGTCAATAAGGTGCCGTCTAAGTCGAGAGCAATCACGCGTGT
+GGTCATGGCGTATTCCAGATTAAGGTTAAGAATTTTCGTCTGCGCGAATGGTACACCGATACCACTATCG
+GACAAAATTCTGCGTTTTAATTCAGCATTCACCGCCAAAAGCGACTAATTTTAGCTGTTACAGTCAGTTG
+CTAAATGCAAAGGAGCATTCATGAAGCAAACAGTTTATATCGCCAGCCCTGAGAGCCAGCAAATTCACGT
+CTGGAACCTGAATCATGAAGGCGCACTGACGCTGACACAGGTAGTCGATGTGCCAGGGCAGGTGCAGCCG
+ATGGTGGTCAGCCCGGACAAACGTTACCTCTACGTTGGTGTCCGTCCGGAGTTTCGTGTTCTGGCGTATC
+GTATTGCACCGGATGATGGCGCGCTGACCTTTGCTGCAGAGTCTGCGCTGCCGGGTAGCCCGACGCATAT
+TTCCACCGATCACCAGGGGCAGTTTGTCTTTGTCGGTTCTTACAATGCGGGTAACGTGAGCGTAACGCGT
+CTGGAAGATGGCCTGCCAGTGGGCGTCGTCGATGTGGTCGAGGGGCTGGACGGTTGCCATTCCGCCAATA
+TCTCACCGGACAACCGTACGTTGTGGGTTCCGGCATTAAAGCAGGATCGCATTTGCCTGTTTACGGTCAG
+CGATGATGGTCATCTGGTAGCGCAGGACCCTGCGGAAGTGACTACCGTTGAAGGGGCCGGCCCACGCCAT
+ATGGTATTCCATCCAAACGAACAATATGCGTATTGCGTCAATGAGTTAAACAGCTCAGTGGATGTCTGGG
+AACTGAAAGATCCGCACGGCAATATCGAATGTGTCCAGACGCTGGATATGATGCCGGAAAACTTCTCCGA
+CACCCGTTGGGCGGCTGATATTCATATCACCCCGGATGGTCGTCATTTATACGCTTGCGACCGTACCGCC
+AGTCTGATTACCGTTTTCAGCGTTTCGGAAGATGGCAGCGTGTTGAGTAAAGAAGGCTTCCAGCCAACGG
+AAACCCAGCCGCGCGGCTTCAATGTTGATCACAGCGGCAAGTATCTGATTGCCGCCGGGCAAAAATCTCA
+CCACATCTCGGTATACGAAATTGTTGGCGAGGAGGGGCTACTGCATGAAAAAGGCCGCTATGCGGTTGGG
+CAGGGGCCAATGTGGGTAGTGGTCAACGCGCACTAACCGCTGATTTAACCGGCGCAGTCTCTCCTGCGCC
+GGTGTATTAACCTATCTCCTGTAACGCATGTCTCTGGCGTTCGACGATATTGGTCCACAAATTGTCTTTA
+TCGTCAGTCCACAAATTAATCAGCAAGGCAAAAAAGCGTTCAGCTGCCGGAGAAAGCACGGCATCTTTGC
+GGCGAATAATCCCCAATGTCCGACGTATAACGGGTTCCACCAGTGGGATACCAATAATCGAAGAATAGGG
+CGCATGGGGCATTGCCAGACCAGGAAGCGCCGAAATCCCCAGTCCCGCCTCCACCAGCCCTAATGACGTC
+GAAAGATGACGCACTTCGTAAAACCAGTCCAGCTTCCAGGGCTTGTCGGCTAGCTGTTGTTCTATCAATA
+GTCGGTTGCCGCTGGAGGAGCGTACGCCAATCATTTTGTAACCCACTAACTCCTGCCATTCTACAAGCTG
+CTTTTTGGCCAATGGATGGTCACGCCGACAGGCCAGCACGAACGGCTCGTTGACCAGTGGGGTAAAATCA
+ATGGATGAATTTGTGACGTTGTTCATGTTTATGCCAAAGTCTGATTCGTTACACAGCACCGATTCCATGC
+AATTATTCGTGCCTTGTTCCAGAATCCGCACTTTAATATTGGGATACAGCTCATTAAATTTACCGATTGC
+CAGCGGTAAAAAATAAAATACTGCGGTCGGAATACACGCTAACGTCACCATACCACGATGATAAGCATTC
+ATATCACGAATATTAAAAAGCGTTTCATCGAATTTTTTTATTAATTCCCGCGCCTCCGGGAGCAACCTTT
+TTCCTGCTTTTGTTAACGTAACCTTGCGAGTTGTACGCTCAAATAGTTGAATGTGTAAATCTTCCTCCAT
+TTTTTTATTCTTCGCGTTAATGCAGGTTGCGTAATATTGAGTAATTTAGCAGCATTGTTAAATGAACTGG
+ACTCTGCCAGTATGACAAATGCCTTCATACTTGATAATTCATGCTTCATTATTACTCCGGAAAATGGAAG
+CGACGATTTTGGGTGACTGGCAGTTAAAAATTTTAACTGCATTTAGCCAACTTAAATTAATGAAAAAATG
+TTATTAATCGTTGAGCTAAAGTCATTAGAGATGCTTTGCCCTTAATGTAACCATATCGCAATAAGTTATG
+TTTTTAAATTGAGGGCATTATTATGAAAAAAATACCCTGCGTGATGATGCGAGGTGGAACCTCGAGGGGC
+GCGTTCCTGTTAGCGGAACATCTACCCGAAGATCAAACGCAGCGCGATAAAATATTGATGGCAATTATGG
+GTTCCGGTAACGATCTGGAAATTGACGGTATTGGCGGCGGTAATCCGCTGACCAGTAAAGTCGCCATTAT
+TAGCCGCTCCAGCGATCCGCGTGCAGATGTCGATTATCTGTTTGCTCAAGTTATCGTCCATGAGCAACGT
+GTCGATACCACGCCTAACTGCGGCAATATGCTGTCTGGCGTTGGGGCATTCGCCATTGAAAATGGTTTGA
+TTGCAGCGACTTCGCCAGTTACCCGCGTACGTATCCGCAACGTCAATACGGGTACGTTTATCGAAGCTGA
+TGTGCAAACGCCAAATGGTGTTGTCGAGTACGAGGGTAGCGCCAGAATTGACGGCGTACCGGGTACTGCC
+GCACCGGTTGCGCTCACTTTCCTGAATGCCGCCGGAACGAAAACCGGAAAAGTCTTCCCGACTGATAATC
+AGATTGATTATTTTGACGATGTCCCGGTGACCTGTATCGATATGGCGATGCCAGTTGTCATTATTCCTGC
+TGAATATCTGGGAAAAACAGGCTATGAATTACCGGCAGAGCTGGATGCCGACAAAGCATTATTAGCCCGC
+ATTGAATCTATCCGTCTACAAGCGGGTAAAGCAATGGGCTTAGGCGATGTCAGTAATATGGTTATCCCTA
+AACCTGTACTTATTTCTCCAGCGCAGAAAGGCGGGGCAATTAATGTGCGTTATTTTATGCCGCATTCTTG
+CCATCGCGCTTTGGCGATAACCGGTGCTATTGCTATTTCCAGTAGTTGTGCATTGGAAGGTACCGTCACC
+CGACAAATCGTCCCTTCTGTAGGATACGGCAATATCAATATTGAACACCCCAGTGGTGCGCTCGACGTTC
+ATTTAAGTAATGAAGGTCAGGATGCCACGACGTTACGCGCATCTGTTATTCGGACGACCAGAAAAATATT
+TTCCGGTGAAGTTTATCTTCCCTGAAAAATTTTGTTGTCGTGATAATGATACTCAATAAAGGAATTCTGT
+ATGAGTCATACAGAAAGAACAGGATATTAAATGAATAAAAAATCGTTATGGAAGCTAATTCTGATATTAG
+CGATCCCATGTATTATTGGCTTTATGCCAGCTCCGGCAGGATTAAGCGAACTGGCGTGGGTGCTTTTTGG
+TATTTACCTGGCGGCCATTGTGGGGCTGGTTATCAAGCCTTTCCCGGAACCTGTCGTACTGTTAATTGCC
+GTCGCCGCATCGATGGTAGTGGTGGGTAACTTATCAGGTGGGGAATTTAAAACCACCGCCGTATTAAGCG
+GTTACTCTTCCGGTACCACCTGGCTGGTGTTTTCTGCGTTTACTTTAAGCGCCGCGTTTGTAACCACAGG
+CTTAGGTAAACGTATTGCCTATCTGCTGATTGGTAAAATTGGTAGCACTACCCTGGGTCTGGGTTACGTT
+ACGGTATTTCTCGATCTGGTACTGGCTCCGGCAACACCGTCTAACACCGCGCGTGCGGGCGGCATCGTGT
+TACCGATCATCAACAGCGTGGCAGTGGCTTTGGGATCAGAACCGGAAAAAAGTCCGCGTCGTGTTGGACA
+TTACCTGATGATGTCCATTTACATGGTCACTAAAACCACCAGCTATATGTTCTTTACCGCAATGGCGGGG
+AACATTCTGGCGCTGAAAATGATCAACGACATTCTGCACCTGCAAATTAGCTGGGGTGGATGGGCGCTAG
+CCGCCGGATTGCCGGGCATCATTATGCTGCTGGTCACCCCGCTGGTGATTTACACCATGTATCCACCAGA
+AATTAAGAAGGTGGATAACAAAACCATCGCTAAAGCGGGCCTTGCCGAACTGGGACCGATGAAAATCCGC
+GAAAAAATGCTGCTCGGTGTCTTTGTGCTGGCGCTGCTGGGCTGGATTTTCAGTAAGTCTCTGGGGGTTG
+ATGAATCCACCGTGGCAATCGTTGTTATGGCAACTATGCTGCTGCTGGGTATCGTTACCTGGGAAGACGT
+GGTTAAAAATAAAGGCGGCTGGAATACCTTAATCTGGTACGGCGGTATTATCGGCTTAAGCTCCTTATTA
+TCGAAAGTTAAATTCTTCGAATGGTTAGCTGAAGTCTTTAAAAATAACCTGGCATTTGATGGTCACGGTA
+ACGTTGCTTTCTTCGTTATTATTTTCCTCAGCATCATCGTGCGTTATTTCTTCGCTTCTGGTAGTGCCTA
+TATCGTTGCCATGTTACCGGTATTTGCCATGCTGGCGAATGTCTCCGGCGCACCGTTAATGTTAACCGCG
+CTGGCACTGTTGTTCTCTAACTCCTATGGCGGCATGGTTACTCACTATGGCGGCGCGGCAGGTCCGGTCA
+TCTTTGGCGTGGGTTACAACGATATTAAATCCTGGTGGTTGGTCGGTGCGGTACTGACGATATTAACCTT
+CCTGGTGCATATCACCCTCGGCGTGTGGTGGTGGAATATGCTGATCGGCTGGAACATGCTGTAAATATAC
+TCGTCATACTTCAAGTTGCATGTGCTGCGTCTGCGTTCGCTCACCCCAGTCACTTACTTATGTAAGCTCC
+TGGGGATTCACTCGCTTGTCGCCTTCCTGCAACTCGAATTATTTAGAGTATATCCATTTATTATCTTTCT
+GCGCACTTCACGGTGCGCAGATATCTGGAGCATTTGATGATCAAGTTATCTGAAAAAGGCGTGTTTCTCG
+CCAGCAATAACGAAATAATTGCCGAAGAACATTTCACCGGCGAAATAAAAAAAGAAGAAGCAAAAAAAGG
+CACTATTGCCTGGTCTATTCTCTCTTCTCATAATACGTCCGGAAATATGGATAAACTTAAAATTAAGTTT
+GATTCATTAGCCTCTCACGATATTACCTTTGTTGGTATTGTACAGACCGCTAAAGCGTCCGGTATGGAAC
+GTTTCCCGCTGCCGTATGTGCTGACCAACTGCCATAACTCACTCTGTGCTGTGGGCGGCACCATTAACGG
+TGATGACCATGTTTTTGGTTTATCGGCGGCCCAGCGTTATGGCGGTATTTTTGTGCCACCGCATATTGCG
+GTCATCCATCAATATATGCGTGAAATGATGGCGGGCGGCGGCAAAATGATCCTCGGGTCAGACAGCCATA
+CCCGTTACGGTGCGTTAGGGACAATGGCGGTTGGCGAGGGCGGCGGCGAGTTGGTAAAACAGCTGCTTAA
+TGACACCTGGGATATCGACTATCCGGGCGTGGTTGCGGTGCATCTGACCGGAAAACCTGCGCCGTATGTG
+GGGCCGCAGGATGTGGCGCTGGCTATCATCGGTGCCGTGTTCAAAAACGGTTACGTCAAAAACAAAGTGA
+TGGAGTTCGTAGGTCCCGGTGTTGCAGCGCTCTCTACCGATTTCCGTAACAGCGTTGACGTGATGACCAC
+TGAAACGACCTGTTTAAGTTCTGTCTGGCAAACCGATGAAGAAGTCCATAACTGGCTGGCGCTGCACGGT
+CGCGGCCAGGATTACTGCCAACTTAACCCTCAACCAATGGCGTACTACGATGGCTGCATCAGCGTTGATT
+TAAGCGCCATCAAACCAATGATTGCGCTGCCATTCCACCCGAGCAACGTGTATGAAATCGACACGCTGAA
+CCAGAACCTGACCGACATTCTGCGTGAGATTGAAATTGAGTCCGAACGCGTGGCGCACGGTAAAGCCAAA
+CTCTCGCTGCTGGATAAAGTGGAAAATGGTCGCCTGAAAGTGCAGCAGGGGATTATCGCGGGCTGTTCTG
+GCGGTAACTACGAAAACGTCATCGCGGCGGCGAATGCGCTGCGCGGTCAATCCTGCGGCAACGATACCTT
+CTCGTTGGCGGTTTACCCGTCATCACAGCCGGTGTTTATGGATCTCGCCAAAAAAGGTGTGGTCGCAGAT
+TTGATTGGCGCAGGCGCAATCATCAGAACCGCGTTCTGCGGCCCATGCTTTGGTGCGGGCGATACGCCAA
+TCAACAACGGTTTGAGTATTCGCCACACCACGCGTAACTTCCCGAACCGCGAAGGCTCTAAGCCAGCTAA
+TGGGCAGATGTCAGCGGTGGCGTTGATGGACGCTCGTTCTATCGCTGCGACTGCGGCAAACGGTGGCTAT
+TTAACCTCTGCCAGCGAACTCGATTGCTGGGACAACGTGCCGGAGTACGCCTTCGATGTAACGCCGTATA
+AAAACCGTGTTTATCAGGGCTTTGTGAAAGGGGCGACCCAGCAACCGCTGATTTACGGACCGAACATTAA
+AGACTGGCCAGAATTGGGTGCGCTGACTGACAATATCGTCCTCAAAGTGTGCTCGAAGATCCTCGACGAA
+GTGACTACCACCGACGAACTGATTCCTTCCGGTGAAACCTCTTCATATCGTTCAAATCCGATTGGTCTGG
+CGGAGTTTACTCTGTCACGCCGCGATCCAGGTTATGTTGGCAGAAGTAAAGCGACTGCCGAGCTGGAAAA
+TCAGCGTCTGGCGGGAAATGTCAGCGAGCTGACAGAGGTGTTTGCGCGCATTAAGCAGATTGCTGGTCAG
+GAACATGTTGATCCGCTGCAAACTGAAATTGGCAGTATGGTCTATGCGGTGAAACCAGGCGATGGTTCTG
+CGCGTGAACAGGCGGCGAGTTGTCAGCGTGTGATTGGCGGTCTGGCGAATATTGCCGAGGAGTACGCGAC
+TATACGCTATCGTTCGAACGTCATCAACTGGGGGATGTTACCGCTGCAGATGGCGGAAGCGCCAACCTTT
+GAAGTGGGGGATTACATTTACATCCCTGGCATTAAAGCGGCGCTGGATAATCCTGGAACGACGTTTAAAG
+GTTATGTGATCCATGAAGATGCACCGGTAACGGAGATTACGCTCTATATGGAAAGTCTGACTGCTGAAGA
+GCGCGAGATTATCAAGGCGGGTAGTTTGATTAACTTCAATAAAAACCGTCAGATGTAAAAAGCGCCATGT
+GAATGTAGGTCGCATCCGGCACTTATTGTCGGATGCGATGCTGGCGCATCTTATCCGACCGACAAATCGT
+ATCGAACTGTAGGCCGGATAAGGCGTTTACACCGCATCCGGCACATAGTTAACAGCTCCTACTTCTTCGC
+CTCTGCAACCACTTTGCTACCCACGCCGCGGTTATTGTATTCCCACATGCGGTTGTAGTTAGTGTCATTC
+AGATTGCGCTGTACTTCGTCGTTATCATCAACGCTGCCGGTGTTACCCGCAAACGGACGATTAGAGATCA
+CCGCATCAGCCCACGGTTTGGCTGTGTTAAAACCTTCGTTGATGGCGCTATCACGGATCACTACCTGACC
+GTTGGTATTGGCATCAACATCCAGCGAGCGGCCCAGTTGCGCCACGCCATCACCGGAAGCATTGAAACGG
+CTGTTTACGGCGAGGAAACCGTAGTAAATGTTGGACAGCGTAGCCGGTGCAAACACATACGCTTCTTGCT
+GGGTACGGGAGTTCACCACGCGGAATTCGGTGTTATCGAACACCACTGCGCCGCGACCAGAAACGATATC
+CACATCCCCTTCAATATAGCTGTTGGTCACCAGCGTACGCGGCTGACGATTCGTTTCCAGACGGTTCTGC
+ACACCGCTGTTGGTGACAAAGAAGGTGTTCTGACGACCGAGAATGTTAACGTTGTTAATCTGTACCTGGT
+CACCATCAGTACGCAGTGCCACCGCCGGATGGTTACCCGCATCTACGCTATCGCCCAGCGTGTTTTCGAT
+GGTCAGGTTTTGCAGTTGCAGTCCATTGTTTTGTGACCAGAAGACCGCAGAGCAGAGAACGCCGATACTG
+TCGCTGCGTTTACTCTGGCAGCTATCGTACATATACCACGCCGGTTTACCTGGCATATATTTGCCGCGCG
+GGTTGACGTCGTGACGCCAGTCGGCAGGGCTCATGCCACCATCAAGGGAAAGCCCAATCTTCACATCAAT
+CGGTTTTTCACCTGTACCGTATAGAGTAATTCCACCCGGAGCGGCAGGGACATACACCGTTCCCTGATAC
+TCACCAGGCATCACGGCAATATACTGGCGCTTGTTGGTACGCTTGATAATTGCCGCATCTACCGCCGCCT
+GAATCGTGGTATGCGTTACACCTTGAGTACCCGCCGGGCCGACAACAAAGTCAGGTTGCGCAGGCAGGGT
+AATCGGGGAAGGATTCCACGCTGCCGCACCTGGTGTCAGGGATGCAAAATAGTGTTGAGCATCGAAATTC
+TGCGCTTCTTTTGCCGACAGAATCGGGCGAGAAGAGGTACCAGGCGCGGTTTGATCAGAAGGACGTTGAT
+CGGGCGGTGTTGAGCTACAGGCGGTCAGCGTCACGCCAAAAGCCAATGTCAGCGCCAGACGGGAAACTGA
+AAATGTGTTCACAGGTTGCTCCGGGCTATGAAATAGAAAAATGAATCCGTTGAAGCCTGCTTTTTTATAC
+TAACTTGAGCGAAACGGGAAGGTAAAAAGACAAAAAGTTGTTTTTAATACCTTTAAGTGATACCAGATGG
+CATTGCGCCATCTGGCAGAGTGATTAACTAAACATCGCAGTAATCGAGGCACTCGCCAGAGAGTGAAAAT
+GAACGTTAAACCCGACCATCGTGCCGCTGGCACCTTCATCGACATCAATACGTTCTACATCCAGCGCGTG
+AACGGTAAAAATGTAGCGATGGGTTTCGCCTTTCGGCGGCGCTGCGCCATCGTATCCGGTTTTACCAAAG
+TCGGTACGCGTCTGCAAAACGCCGTCTGGCATTGCTACCAGACCAGAGCCAAACCCTTGCGGTAATACGC
+GGGTATCAGCGGGTAAATTAACAACTACCCAGTGCCACCAGCCGGAGCCGGTTGGCGCATCCGGGTCGTA
+GCAGGTGACAACAAAACTTTTCGTTCCCACAGGAACATCATCCCACGCCAGATGCGGTGAAATATTATCG
+CCATCGTAACCCATGCCGTTAAAGACATGACGATGCGGCAGCTTATCGCCATCGCGCAGATCGTTACTGA
+TGAGTTTCATTAGAATGCCTCCGGGAAACCTCGGCCTTCAGACCGGGGAGGAAAGGAGGCGGTTTTCCGA
+CTAACTGTACTTTGCATAATCACATTTTCCTCTTTAGTATGTGAACACATGAAACGCGCATATAAATACC
+GGTTTTACCCGACAACTGAGCAGGCTGAGCTTTTAGCTCAGACGTTTGGCTGTGTGCGCTTCGTCTACAA
+TTCCATCCTTCGTTGGCGTACCGATGCGTACTACGAGCGAAAAGAAAAGATCGGTTATCTACAGGCCAAC
+GCTCGCCTTACGGCGCTCAAAAAAGAGCCTGAATACATATGGCTGAATGATGTTTCCTGCGTTCCCCTCC
+AGCAGTCGTTGCGCCACCAACAAGCCGCCTTTGCTAACTTCTTTGCTGGACGAGTTGCATATCCGGCTTT
+CAAAAGCAAACGGCACAAACAGGTGGCTGAGTTCACTGCCAGCGCGTTTAAACACCGTGACGGCGAGTTG
+TATATAGCAAAGAGCAAGTCGCCGCTGGATGTTCGCTGGAGTCGAGAATTACCATCTGCGCCGTCAACCG
+TTACCATTTCCAGAGATAGCGCTGGCAGGTACTTTGTTTCCTGCCTGTGTGAGTTTGAACCTGTATCAAT
+GCCTGTTACCGCTAAAACGGTCGGCATTGATGTGGGCTTAAAAGATTTATTCGTCACCGATACCGGATTC
+AAAACCGACAATCCCCGCCACACCGCTAAATATGCGAAGCGATTAACGCTGCTACAGCGACGTTTAAGCA
+GGAAGCAAAAAGGCTCAAGAAACCGTATTAAAGCCCGCTTAAAGGTCGCCCGACTCCACGCGAAAATCGC
+CGATTGCCGGATGGACAATCTGCACAAGTTGTCCCGCAAACTGATTAACGAAAACCAAGTTGTTTGCGTC
+GAATCCCTCAAGGTGAAAAACATGATCCGCAACCCGAAGCTGTCTAAAGCAATAGCTGACGCAGGCTGGA
+GCGAACTTGTTCGCCAGCTCCAGTACAAAGGCAAATGGGCCGGGCGGTCAGTGGTCGCCATTGACCAGTA
+TTTACCGTCCTCAAAATGCTGTAGTTGCTGCGGTTTCACCATGCAAAAAATGCCTCTTAATGTTCGTAAA
+TGGCACTGCCCTGAATGCGGCGCAGACCATGATCGCGACATTAACGCGGCACGTAATATTAAAGCTGCCG
+GGCTGGCAGTGTTAGCCCACGGAGAGCCTGTAAACCCTGAATCGCAGCACGCGGCTTAGGTTCGGCTCGT
+TGAAGTGGGAATCCCCGTCATTCAGGGCGGGGAGCCGTCAAGAGCCCTCCTTTCTTGTTTGCAGAAAGTG
+TAGCCAGAAACCCTCACGCTGACTTCCCGTTATTGGCAAAAAAATGTTTCATCCTGCACCGCACGGTTAA
+CCGCTGCGGTCAGACGCTGCAACTGTTGCGGGAGAATAATATAGGGCGGCATCAGGTAAATCAGTTTGCC
+AAAAGGCCGGATCCAGATACCCTGTTCGACAAAGAATTTTTGCAGCGCTGCCATATTCACCGGACGAGTG
+GTTTCGACCACGCCGATTGCCCCCAGTACGCGCACATCGGCAACCATTTCGGCGTCACAGGTGGGGGCAA
+GTTGCTCGCGTAGCTGCCCTTCAATAGCCGCCACCTGATGCTGCCAGTCGCCAGATTCGAGAATCGCCAG
+GCTGGCGTTTGCTGCTGCGCAGGCCAGCGGATTGCCCATAAAAGTTGGCCCATGCATAAAGCAGCCGGCT
+TCGCCGTTACTGATGGTTTCCGCAACCTCGCGCGTGGTGAGCGTGGCGGAAAGGGTCATTGTGCCGCCGG
+TTAAGGCTTTACCGAGACACAAAATATCCGGCGCGATTTCTGCATGTTCACAGGCAAACAGTTTGCCGGT
+ACGACCAAATCCGGTGGCGATCTCGTCGGCAATCAGCAAGATACCTTCGCGATCGCACATTTTGCGGATT
+CGTTTTAACCATTCCGGATGGTACATGCGCATCCCGCCTGCGCCCTGGACAATCGGTTCAATGATCACCG
+CCGCGATTTCATGACGATGCGCTGCCATCAGGCGGGCAAAGCCCACCATATCGCGCTCATCCCATTCGCC
+ATCCATGCGGCTTTGCGGGGCGGGAGCAAACAGGTTTTCTGGCAGATAGCCTTTCCACAGGCTGTGCATT
+GAGTTGTCCGGATCGCACACCGACATCGCGCCAAAGGTATCGCCATGATAACCATTGCGGAAGGTTAGAA
+AACGCTGGCGCGCTTCGCCTTTGGCCTGCCAGTACTGCAACGCCATTTTCATCGCCACTTCTACCGCTAC
+GGAGCCGGAGTCCGCGAGAAAAACGCACTCCAGCGGTTGCGGCGTCATTGCCACCAATTTGCGGCACAGC
+TCAATGGCGGGCGCATGGGTGATACCGCCAAACATCACATGCGACATAGCATCAATTTGCGACTTCATCG
+CCGCATTAAGCTGCGGGTGATTGTAACCGTGGATCGCCGCCCACCAGGACGACATACCGTCAACCAGGCG
+CCTGCCGTCAGACAAAATTAGCTCGCAACCTTCGGCGCTTGCCACCGGATAAACCGGCAGCGGGGAGGTC
+ATGGATGTGTATGGGTGCCAGATATGGCGTTGGTCAAAGGCAAGATCGTCCGTTGTCATAATCGACTTGT
+AAACCAAATTGAAAAGATTTAGGTTTACGAGTCTACACCGAATTAACAACAAAAAACACGTTTTGGAGAA
+GCCCCATGGCTCACCGCCCACGCTGGACATTGTCGCAAGTCACAGAATTATTTGAAAAACCGTTGCTGGA
+TCTGCTGTTTGAAGCGCAGCAGGTGCATCGTCAGCATTTCGATCCTCGCCAGGTGCAGGTCAGCACTTTG
+CTGTCGATTAAGACCGGAGCTTGTCCGGAAGATTGCAAATATTGCCCGCAAAGCTCGCGCTACAAAACCG
+GGCTGGAAGCCGAGCGGTTGATGGAAGTTGAACAGGTGCTGGAGTCGGCGCGCAAAGCGAAAGCGGCGGG
+ATCGACGCGTTTCTGTATGGGCGCGGCGTGGAAGAATCCCCGCGAACGCGATATGCCGTACCTGGAACAA
+ATGGTGCAGGGGGTAAAAGCGATGGGGCTGGAGGCGTGTATGACGCTGGGCACGTTGAGTGAATCTCAGG
+CGCAGCGCCTGGCGAATGCCGGGCTGGATTACTATAACCACAACCTCGACACCTCGCCGGAGTTTTACGG
+CAATATCATCACCACCCGCACCTATCAGGAACGTCTCGATACGCTGGAAAAAGTGCGAGAAGCTGGGATT
+AAAGTCTGTTCAGGTGGCATTGTGGGCTTAGGCGAAACGGTGAAAGATCGCGCCGGATTATTGCTGCAAC
+TGGCAAACTTGCCGACGCCGCCGGAAAGCGTGCCAATCAACATGCTGGTGAAGGTGAAAGGCACGCCGCT
+GGCGGATAACGACGATGTCGATGCCTTTGATTTTATCCGTACCATTGCCGTAGCGCGGATCATGATGCCG
+ACCTCTTACGTACGCCTTTCTGCCGGACGCGAGCAGATGAACGAACAGACTCAGGCGATGTGCTTTATGG
+CTGGCGCAAACTCGATTTTCTACGGTTGCAAACTGCTGACCACGCCGAATCCGGAAGAAGATAAAGACCT
+GCAACTGTTCCGCAAACTGGGGCTAAATCCGCAGCAAACTGCCGTGCTGGCGGGCGATAACGAACAACAG
+CAGCGTCTGGAGCAGGCGCTGATGACCCCGGACACTGACGAATATTACAACGCGGCAGCACTATGATCTG
+GCAGGAGAAAATCGACGCGGCGCTTGATGCGCGGCGTGTTGCTGATGCCTTGCGTCGCCGTTATCCGGTG
+GCACAAGGAGCCGGACGCTGGCTGGTGGCAGATGATTGCCAGTATCTGAACTTTTCCAGTAACGATTATT
+TAGGTTTAAGCCATCATCCGCAAATTATCCGCGCCTGGCAGCAGGGGGCGGAACAATTTGGTGTCGGTAG
+CGGCGGTTCCGGTCACGTCAGCGGTTATAGCGTGGCGCACCAGGTGCTGGAAGAAGAACTGGCCGAGTGG
+CTGGGCTATTCGCGGGCACTGCTGTTTATCTCTGGTTTTGCTGCTAATCAGGCAGTCATTGCCGCGATGA
+TGGCGAAAGAGGACCGTATTGTTGCTGACCGGCTTAGCCATGCCTCATTGCTGGAGGCTGCAAGTTTAAG
+CCCGTCGCCGCTTCGCCGTTTTGCTCATAACGATGTCACTCATCTGGCGCGACTGCTTGCTTCCCCCTGT
+CCGGGGCAGCAACTGGTAGTGACAGAAGGTGTGTTCAGCATGGACGGCGATAGTGCGCCACTGGAGGAAA
+TCCAGCAGGTAACGCAACAGCACGATGGCTGGTTGATGGTCGATGACGCCCACGGCACGGGCGTTATCGG
+GGAACAGGGGCGTGGCAGCTGCTGGCTGCAAAAGGTAAAACCAGAATTGCTGGTGGTGACGTTTGGCAAA
+GGATTTGGCGTCAGCGGGGCAGCGGTGCTTTGCTCCAATACGGTGGCGGATTATCTGCTGCAATTCGCTC
+GCCATCTTATCTACAGCACCAGTATGCCGCCCGCTCAGGCGCAGGCATTACGTGCGTCGCTGGCGGTCAT
+TCGCAGTGATGAGGGGGATGCACGGCGCGAAAAACTGGCGGCACTCATTACTCGTTTTCGTGCCGGAGTG
+CAGGATTTGCCGTTTACGCTTGCTGATTCATGGAGCGCCATCCAGCCATTGATCGTCGGTGATAACAGCC
+GTGCGTTACAACTGGCAGAAAAACTGCGCCAGCAAGGCTGCTGGGTCACGGCGATTCGCCCGCCAACCGT
+ACCCGCTGGTACTGCGCGACTGCGCTTAACGCTAACCGCAGCGCATGAAATGCAGGATATCGACCGTCTG
+CTGGAGGTGCTGCATGGCAACGGTTAATAAACAAGCCATTGCTGCGGCATTTGGACGGGCAGCCGCACAC
+TATGAGCAACATGCCGATCTACAGCGCCAGAGTGCTGACGCCTTACTGGCAATGCTCCCACAGCGTAAAT
+ACACCCACGTACTGGATGCGGGTTGTGGACCAGGCTGGATGAGCCGCCGCTGGCGAGAGCGTCACGCGCA
+GGTGACTGCGTTAGATCTCTCGCCGCCAATGCTTGTTCAGGCACGCCAGAAGGATGCCGCAGACCATTAT
+CTGGCGGGAGATATCGAATCCCTGCCGTTAGCGACTGCGACGTTCGATCTTGCATGGAGCAATCTCGCGG
+TGCAGTGGTGCGGTAATTTATCCATGGCACTCCGCGAGCTGTATCGGGTGGTGCGCCCCGGAGGCGTGGT
+CGCGTTTACCACGCTGGTGCAGGGATCGTTACCCGAACTGCATCAGGCGTGGCAGGCGGTGGACGAGCGT
+CCGCATGCTAATCGCTTTTTACCGCCAGATGAAATCGAACAGTCGCTGAACGGCCTGCATTATCAACATC
+ATATTCAGCCCATCACGCTGTGGTTTGATGATGCGCTCAGTGCCATGCGTTCGCTGAAAGGCATCGGTGC
+CACGCATCTTCATGAAGGGCGCGACCCGCGAATATTAACGCGTTCGCAGTTGCAGCGATTGCAACTGGCC
+TGGCCGCAACAACAGGGGCGATATCCTCTGACGTATCATCTTTTTTTGGGAGTGATTGCTCGTGAGTAAA
+TGTTATTTTGTCACCGGAACGGATACCGAAGTGGGGAAAACTGTCGCCAGCTGTGCGCTTTTACAAGCCG
+CAAAGGCAGCAGGCTACCGGACGGCAGGTTATAAACCGGTGGCCTCTGGCAGCGAAAAGACCCCGAAAGG
+CTTACGTAATAGTGACGCGCTGGCGTTACAGCGCAACAGTAGCCTGCAGCTGGATTACGCAACGGTAAAT
+CCTTACACCTTCGCAGAACCCACCTCGCCGCACATCGTCAGCGCGCAAGAGGGCAGGCCGATAGAATCAT
+TGGTAATGAGCGCCGGATTACGCGCGCTTGAACAACAGGCTGACTGGGTGTTAGTGGAAGGCGCTGGCGG
+CTGGTTTACGCCGCTTTCTGACACTTTCACTTTTGCGGATTGGGTAACACAGGAACAACTGCCGGTGATA
+CTGGTAGTTGGTGTGAAACTCGGCTGTATTAATCACGCGATGTTGACGGCACAGGCAATACAATACGCCG
+GACTGACTCTGGCGGGTTGGGTGGCGAATGATGTCACGCCTCCTGGAAAACGTCACGCTGAATATATGAC
+CACGCTCACCCGAATGATTCCCGCGCCGCTGGTGGGCGAAATTCCCTGGCTTGCAGAAAATCCAGAAAAT
+GCGGCAACCGGAAAGTACATAAACCTTGCCTTGTTGTAGCCATCCTGTATTTGGTTAAATTGCGAGCGAG
+ATCGCGTCTTCGATTGACTGCAATTTAACCAATTAAATTCTAAAATAATCACGAAAAAAATTTTACTTCC
+GCATCATGCGATGAATGTGGGAATTGCCCAGGCGGCGGGGGATAGGGGCTGCAGACAGTTATCCACTATT
+CCTGTGGATAACCATGTGTATTAGAGTTAGAAAACACGAGGCAAGCGAGAGAATACGCGGCTTGCACGCG
+AATTGGCGTTAAAGACGGCTCAAAGAAATATCTTTTATTTTTTAACTGGTTAGATAATTGCAATGGCAGT
+CACTGAAGAGGCATCTCTTGCCATAAAACTGTCATCACTCATCTTGACAAATGTTAAAAAAGCCGTTGCT
+TTGGGGATAACCCGGCAAGGCCGGAGTTTTATCTCGCCACAGAGTAAATTTTGCTCATGATTGACAGCGG
+AGTTTACGCTGTAACAGAAATATTATGGCGATGAACTGTTTTTTTATCCAGTATAATTTGTTGGCATAAT
+TAAGTACGACGAGTAAAATTACATACCTGCCCGCCCAACTCCTTCAGGTAGCGACTCATGAGTAAACCGT
+TCAAACTGAATTCCGCTTTTAAACCTTCTGGCGATCAGCCGGAGGCGATTCGACGTCTCGAAGAGGGGCT
+GGAAGATGGCCTGGCGCACCAGACGTTACTTGGCGTGACTGGCTCCGGGAAAACCTTCACCATTGCCAAT
+GTCATTGCTGACCTTCAGCGCCCAACCATGGTACTTGCGCCCAACAAAACGCTGGCGGCCCAGCTGTATG
+GCGAAATGAAAGAATTCTTTCCGGAAAACGCGGTGGAATATTTCGTCTCCTACTACGACTACTATCAGCC
+GGAGGCCTATGTACCGAGTTCCGACACCTTCATTGAGAAAGATGCCTCGGTAAACGAACATATCGAACAG
+ATGCGTTTGTCCGCCACCAAAGCGATGCTGGAGCGGCGTGATGTGGTTGTGGTGGCGTCTGTTTCCGCGA
+TTTATGGTCTGGGCGATCCTGATTTATATCTCAAGATGATGCTCCATCTCACGGTCGGTATGATTATCGA
+TCAGCGCGCGATCCTGCGCCGACTGGCGGAGCTGCAATATGCTCGTAATGATCAAGCATTCCAGCGTGGT
+ACTTTCCGTGTTCGTGGCGAGGTGATTGATATCTTCCCGGCAGAATCGGATGACATTGCACTTCGCGTGG
+AGCTGTTTGACGAGGAGGTGGAACGATTGTCGTTATTTGACCCGCTGACCGGGCAGATTGTTTCCACTAT
+TCCACGTTTTACCATCTACCCGAAAACGCACTACGTCACGCCACGCGAGCGCATCGTCCAGGCGATGGAG
+GAGATCAAAGAAGAGCTGGCCGCCAGACGTAAAGTGCTATTGGAAAACAACAAACTGCTGGAAGAGCAGC
+GGCTGACCCAGCGTACCCAGTTTGATCTGGAGATGATGAACGAGCTAGGCTACTGTTCGGGGATTGAGAA
+CTACTCGCGCTTCCTCTCCGGTCGTGGACCGGGTGAGCCACCGCCGACGCTGTTTGATTACCTGCCTGCT
+GATGGGCTGCTGGTGGTCGATGAATCTCACGTCACCATTCCACAAATTGGCGGCATGTATCGCGGTGACC
+GGGCGCGTAAAGAGACACTGGTGGAGTACGGCTTCCGCCTGCCATCAGCGCTGGATAACCGTCCGCTGAA
+ATTTGAAGAGTTCGAAGCATTAGCGCCGCAAACCATCTATGTTTCGGCGACGCCGGGTAATTACGAGCTG
+GAAAAATCCGGTGGCGATGTGGTGGATCAGGTGGTGCGTCCAACAGGCTTACTCGACCCGATTATCGAAG
+TGCGGCCAGTGGCAACACAGGTGGATGATCTTCTTTCGGAGATTCGTCAGCGAGCGGCAATTAACGAACG
+CGTACTGGTTACAACTCTGACCAAGCGGATGGCGGAAGATCTTACTGAATATCTCGAAGAACACGGTGAG
+CGCGTGCGTTATCTTCACTCAGATATCGACACCGTCGAACGTATGGAGATTATCCGCGACTTGCGTCTGG
+GTGAGTTCGACGTATTGGTAGGGATCAACTTACTGCGCGAAGGTCTGGATATGCCGGAAGTTTCGCTGGT
+GGCGATCCTCGACGCTGACAAAGAAGGCTTCCTGCGTTCCGAACGTTCGTTGATCCAGACCATTGGTCGT
+GCGGCACGTAACGTTAACGGTAAAGCGATTCTCTACGGCGATAAGATCACCCCATCAATGGCGAAAGCGA
+TTGGCGAAACCGAACGTCGCCGCGAGAAACAGCAGAAGTACAACGAGGAACACGGCATTACGCCGCAAGG
+CTTGAACAAGAAAGTGGTCGATATCCTGGCGCTGGGGCAGAACATTGCCAAAACCAAAGCGAAGGGCAGA
+GGAAAATCGCGCCCGATTGTTGAGCCGGATAATGTGCCGATGGATATGTCGCCTAAAGCGTTACAGCAGA
+AGATCCATGAACTGGAAGGGTTGATGATGCAACACGCGCAGAATCTGGAGTTCGAAGAAGCGGCGCAAAT
+TCGTGACCAGTTGCATCTGTTGCGTGAGCTGTTTATTGCCGCGTCGTGACAAGATGACGAAGCCGGAATA
+TTCTTCCGGCTTCGTGTTAACCTAAAGCCTGTAATGCCTTTTCCAGCGCGCTATGCAACAACTGGCGGTC
+ATGACGATACGGAATATCGCTGGCCTCCAGCACTTCCTGAATCACAATCCGCTCTTTCACCGCCGAGACA
+TCCACTTTTGGCCCGACGATGACCGCATCAATTACCTTTTTACCGACATACTGCTCCATAATTGCCAGCT
+TGCTTTCCAGCTTCAGATTAGCCGCAGGTAAACTCAACTCACGCCCCAGATTGCCGATATAGACCATCGG
+CGCTGGCGTGCGGCGTAATGCCTGTGCGATTTCCTTCAGCAGCAGAATTGGCATCAGGCTGGTGTAAAAA
+CTGCCAGGCCCAATAATGATGAGATCCGCTTCACTGATAGCGTGAACCGCCTCACGCGTTGCGGGTACAT
+TCGGCGTTAACAATAACTCTTGAATCGGCACAGTTAACTGGTCGATATTGACCTCGCCGTAAACTTCATG
+CCCCTGATCGTCAATCGCCATCAGATCAACAGGATGCTCCGACATCGGAATCAAATGTGCGTCCACTTTC
+AGCAGATTTCGAATCAGATTGATCGCTTCAAGAGGTCGTACGCTAAGGTGATCCAGTGCCTTTAACATCA
+GGTTTCCAAGGTTGTGCCCGGAAAGTTCGCCATTACCGCCGAAACGATATTCAAACATTGCGGAAGCGAC
+GCTGGGTTCAGTTATCAGCTGATTGAGGCAGTTGCGCATATCGCCCCAGGCAATGCCGCCTTCTGAGCGG
+CGAATACGCCCCGTCGAGCCACCGTTATCGGTGGTGGTGACGATACCCGTTAAACGAGAACCCAAAGACG
+AAAGTGATGAGAGAACGCGTCCCAGTCCATGCCCTCCGCCGAGAGCAACGACACGATCAAGGTCAGCCAG
+CGTACGATTGCGCATATAGTTTCCTGGAGTCAGATTATCCGCGCTACAGTAGCGCAAATTGCGAGGAAAC
+AGCAATTAACCTGCCAATATTGAGGATACAAACTATTTTCTTCTACCTCTAAAGGACGATGCATGCTATG
+CCTCCCTGATGATGTATATCAAAGTAAAACCGCCATTTTCCCTTATTCTGTAGCGAAATAGCACGATCAT
+GACGCTATATACATGATTACATAGCGAAAGTGTGGATGGTAAAAATCTCATTTACACGCTAGTATCGGCT
+TAACCACTAAACACTCTAGCCTCTGCACCTGGGTCAACTGATACGGTGCTTTGGCCGTGACAATGCTCGT
+AAAGATTGCCACCAGGGCGAAGGAAGAAATGACTTCGCCTCCCGTATCTGGAAAGGTGTACATGGCTTCA
+CAACTGACTGATGCATTTGCGCGTAAGTTTTACTACTTGCGCCTGTCGATTACTGATGTGTGTAACTTTC
+GTTGCACCTACTGCCTGCCGGATGGTTACAAGCCGAGCGGCGTCACCAATAAAGGCTTTCTGACCGTCGA
+TGAAATTCGCCGGGTTACGCGCGCCTTCGCCAGTCTGGGCACCGAAAAAGTCCGTCTGACAGGTGGTGAG
+CCATCTTTACGCCGCGACTTTACCGATATCATCGCCGCTGTGCGAGAAAACGACGCTATTCGCCAGATAG
+CGGTCACCACCAATGGTTACCGTCTGGAGCGCGATGTGGCGAACTGGCGCGATGCTGGACTTACTGGCAT
+CAACGTCAGCGTTGATAGCCTTGACGCTCGCCAGTTTCATGCCATTACCGGGCAGGATAAATTCAACCAG
+GTCATGGCAGGGATCGATGCTGCATTTGAGGCCGGTTTTGAGAAGGTCAAAGTCAATACCGTGCTGATGC
+GTGATGTTAATCATCACCAGCTCGACACCTTTCTGAACTGGATCCAGCATCGTCCTATCCAGCTGCGTTT
+CATCGAACTGATGGAAACGGGCGAGGGCATCGAGCTCTTCCGTAAGCATCACATCTCTGGTCAGGTTCTG
+CGTGACGAGCTACTGCGTCGCGGCTGGATCCACCAATTACGTCAACGCAGCGACGGTCCCGCGCAAGTCT
+TTTGTCATCCGGATTACGCCGGAGAGATTGGCCTTATCATGCCGTATGAAAAAGACTTCTGCGCCACTTG
+CAACCGCCTGCGCGTTTCCTCCATTGGTAAACTCCATCTCTGCCTGTTTGGTGAAGGCGGCGTTAACCTG
+CGCGATCTGCTGGAAGACGATACCCAGCAACAGGCGCTGGAAGCGCGTATTTCAGCGGCGCTGCGGGAGA
+AAAAACAGACCCATTTCCTGCATCAAAATAACACCGGTATTACGCAAAACTTATCGTACATTGGTGGCTA
+AAACGTCAAAAGGAGAGATCAGATGAGTCAGGTAAGCACTGAATTTATCCCGACCCGTATTGCTATTCTT
+ACGGTTTCTAATCGTCGCGGTGAAGAAGACGATACCTCCGGTCACTATCTGCGCGACTCGGCGCAAGAAG
+CGGGCCATCACGTTGTCGATAAAGCCATTGTGAAAGAAAACCGCTACGCTATTCGCGCTCAGGTATCTGC
+GTGGATCGCCAGCGACGATGTACAAGTGGTGTTGATTACGGGTGGTACTGGCCTGACGGAAGGCGATCAG
+GCTCCCGAAGCGCTGCTGCCGTTGTTCGACCGTGAAGTTGAAGGTTTTGGTGAAGTGTTCCGGATGTTGT
+CGTTCGAAGAGATTGGCACTTCCACGTTGCAATCTCGTGCGGTAGCGGGCGTCGCTAACAAAACGCTGAT
+TTTCGCCATGCCGGGTTCGACCAAAGCGTGCCGTACCGCATGGGAAAATATCATTGCGCCACAGCTGGAT
+GCCCGTACGCGTCCGTGTAATTTCCATCCACATTTGAAGAAATAAGTATGTCGCAACTGACCCATATCAA
+CGCCGCTGGCGAAGCGCACATGGTGGATGTCTCCGCCAAAGCGGAAACCGTGCGTGAAGCGCGCGCCGAA
+GCCTTTGTCACCATGCGCAGCGAGACGCTGGCGATGATTATTGATGGTCGCCACCACAAAGGCGACGTAT
+TTGCCACTGCGCGTATCGCCGGTATTCAGGCGGCAAAACGCACCTGGGATCTGATCCCGCTGTGTCACCC
+GCTGATGCTCAGCAAAGTTGAAGTCAATTTACAGGCCGAGCCGGAGCACAATCGGGTACGTATAGAAACC
+TTATGCCGCCTGACCGGGAAAACCGGTGTCGAAATGGAAGCGTTAACCGCGGCCTCCGTGGCGGCGCTGA
+CCATTTATGACATGTGCAAAGCGGTGCAAAAAGATATGGTGATTGGTCCGGTACGTTTGCTGGCAAAGAG
+CGGCGGCAAGTCGGGTGACTTTAAGGTGGAAGCGGATGATTAACGTTCTTTTTTTCGCCCAGGTGCGCGA
+GTTGGTGGGAACAGATGCAACCGAAGTGGCTGCGGATTTCCCAACCGTTGAAGCGTTACGCCAACATCTG
+GCTGCGCAGAGCGATCGCTGGGCGCTGGCGCTGGAAGATGGCAAATTGCTGGCTGCTGTCAACCAGACGC
+TGGTGAGTTTTGACCATTCGCTGACTGACGGCGACGAAGTGGCTTTCTTCCCGCCGGTAACCGGAGGTTA
+AGATGGCAGAAACCAAAATTGTTGTCGGCCCGCAGCCGTTCAGCGTAGGAGAAGAGTACCCGTGGCTGGC
+TGAGCGTGACGAAGACGGTGCGGTAGTCACCTTTACCGGTAAGGTGCGCAACCATAACTTGGGCGACAGC
+GTCAAAGCATTAACCCTCGAACACTATCCGGGAATGACAGAAAAAGCACTGGCAGAAATCGTTGATGAAG
+CGCGTAACCGCTGGCCGCTGGGGCGCGTCACGGTAATTCACCGCATTGGTGAATTATGGCCGGGCGATGA
+AATTGTTTTTGTCGGTGTTACCAGTGCGCATCGCAGCAGTGCGTTTGAAGCCGGGCAGTTTATTATGGAT
+TATCTCAAAACCCGCGCACCGTTCTGGAAGCGCGAAGCCACGCCGGAAGGCGACCGCTGGGTCGAAGCTC
+GGGAGAGCGATCAGCAGGCGGCAAAACGCTGGTAGTTTATTGTTAGCCGGATAAGGCACCGCTGCGTCCG
+GCAATTTCACCGCTCAGTACATGCGTTTACGCTGCGTCGATGCACAGCCTCATCATTTTGCAGTATCCTT
+AAGATATTCCTTATATCTTCAGGAGAAAGTCATGGACAGATTCCCACGTTCTGATTCAATTGTACAACCC
+CGGGCTGGCTTGCAAACTTATATGGCGCAAGTCTATGGCTGGATGACCGTTGGCTTGTTGCTGACCGCAT
+TTGTTGCCTGGTATGCGGCTAACTCCGCGGCCGTGATGGAGCTGTTGTTCACTAACCGTGTCTTTTTAAT
+CGGTCTGATCATCGCGCAATTAGCATTGGTTATTGTGTTATCAGCGATGATTCAAAAGCTGAGCGCAGGT
+GTGACGACGATGCTCTTTATGCTTTATTCGGCGCTGACGGGTCTTACGCTTTCCAGTATTTTCATTGTCT
+ATACCGCTGCTTCTATCGCCAGTACTTTCGTCGTTACTGCCGGGATGTTTGGCGCAATGAGCCTGTACGG
+TTACACCACGAAGCGCGATCTAAGCGGCTTTGGCAATATGCTGTTTATGGCGTTAATCGGCATTGTGTTG
+GCATCGCTGGTCAACTTCTGGCTGAAAAGCGAAGCATTGATGTGGGCAGTTACCTACATCGGCGTGATTG
+TCTTTGTCGGATTGACGGCGTATGACACTCAGAAATTGAAAAATATGGGTGAGCAGATTGATACCCGCGA
+CACGTCGAACCTGCGCAAATATTCCATTCTTGGCGCGTTAACCTTGTATCTGGACTTCATCAACCTGTTC
+CTGATGTTGCTGCGGATCTTCGGCAACCGCCGTTAATTCTTTTTCACCATCAATATCCCGGCCATGTGTC
+GGGATTTTTTTTCTTACTAAAAACGACACTTAACAAGTACCAGGTATAAAATATGCCTTATGGACGAGCG
+GAAGCGTTTTCTGTATCCATAAATGCAAAAGTATTTTGTATGCGTGGTTTTAAATTTATTGATGGTGAAT
+ATTAATGTTTTTTCGAAGGACAACTAAAAGAATGGAATCATACTCGCAAAATAGCAATAAATTAGATTTT
+CAGCACGAAGCCAGGATATTAAACAGCATATGGCTCATTACCGCTTTGGGTTTGGTGGCAACCGCAGGGC
+TGGCCTGGGGCGCTAAGTATCTCGAAATTACGGCAACAAAATATGATTCACCGCAAATGTATGTTGCTAT
+AGGATTATTATTACTTTCTATGTATGGCTTGAGTAAAGATATCAACAAGATAAATACCGCCATCGCGGGC
+GTAATATATTTGTTTTTAATCTCTTTGGTGGCGATTGTCGTTGCGAGTTTAGCGCCTGTATCTGCCATTA
+TCGTCGTGTTCAGCACTGCGGGATCGATGTTTTTAATCAGTATGCTGGCAGGTCTATTGTTTAAATTTGA
+TCCTGGTTCTCACCGTTTTATCATTATGATGACGTTGACAGGGTTGGCCCTGGTAATCATCGTGAATGCC
+ACATTAATGAGTGAACGACCCATTTGGGTAATAAGTTGCTTAATGATTGTCTTATGGTCAGGCATTATCT
+CGCATGGACGAAATAAGCTCCTTGAACTGACAGGAAAAAGCCATAGTGAAGAATTATGGAGTTCAGTTCG
+TTGTGCTTTTATAGGTGCATTAACACTCTATTACTATTTTATCGGCTTCTTTGGGATTCTTGCCGCTATA
+GCTATAACGCTTGTCTGGCAAAGGCATACGCGGTTTTTTCATTAGCCGTAAATGCACATACTAAAGAACT
+TAACTATACTTCACATCGCCGCTTCATTTTTCGCCCGTAGCTTCTTCGCCTGGCTTTCCAGCAACAGGTA
+ACAGATCAGCGCCAGCAGCAGTGGGATAAAGTAATACAGCACACGGTAAGCGAGCAGGGCGGCGATAATT
+GTGCCTTTGGAGGTATGCTCCCCAGCCAGTAGCGCGATAAACACCGCTTCCAGCACACCAATTCCCGCCG
+GAATATGCACGATGACGCCAGCAATACTACTAACCAGCAACACGCCCAGTACAAAGAAATAGTTCACGCT
+TTGACCAAGTAACAGCCAGATAATCGCTCCCATTACCATCCAGTTAACGCTGGAAATCAGCATCTGGGTG
+AGGGCGAATTTCCACGAAGGCAGCACCAGCTTTTGCCCTTTGATGGTCATATGGCGGTGCTTCGCGAAAG
+CGCAAAACCACAAATAAACCGCGATAATCATCAGTAAGCCAATACCGAGAATACGCAGCGTAGTTTGATC
+GACATACCAGTGATCCGGCAACTCCACCACGCCTGCGGTAAAGATAACCCCCGCTAGCAAAATATAGCCT
+AGCCAGTTGGTGGTAATACTGAGCGAAAAAATCCGCGTAATAGTGCTGCCCGGTAACCCCAGTCGGGAGT
+ACAAACGATAGCGCATACCAATGCCGCCGACCCAGGTACTGAGTGTCAGGTTGAAGGCGTAGCAGATAAA
+CGACACCAGCATCACCTGGCGCTTCGCCAGTTTGTGACCGCAGTAGAAACGGGCGAGCAGGTCGTAGCAA
+CCGTAAATCAGATAACTGACGACCACCAGCCCGACCGCACTAAGCAGCGCAACGCGATTGTAGTCGCGGA
+TGACCTTCCAGACCTCTTCCCAGTCCACTTTTTTGGCGTAGACCACCAGCAACACAATCACCGCGATAAA
+AAACAGCCAGGTGAGGAGTTTCTTTGCTAAGCGCCAGCGCGGGTGTGATTTACTCATCAGGGTTTTACCC
+CCGTGTTTTCAGTTTCTACCCGATCCTGCGTTTCCATTGTCGGTTGTGCGGGGGGACCAACCTGCGCCAG
+ACGTGGCGTGTGCGCCGGAAGCCAGCCCACCAGCGCCGGGAAGTGGCGTAAAAAGTGGAACGCCAGCACG
+CTTTTGGTCAGGTTCCACCAGGTGCGTTTCGGCAGCATGGTCTCATCGACCTGCTGACAATCTGCGGCGA
+TAATGCCGTTCAGATTATCGCGCAGCGTCTGGTTAAAATTACGATCGTGGATGATGACATTTGCTTCGAG
+ATTCAGTGACAAACTGAGCGGATCGAGATTACTGGACCCTACTGTCGCCCAGTGATCGTCCATCAATGCC
+ACTTTGCCGTGGAGCGGGCGGCGGCGGTACTCAAACACCTGAACGCCGCCTTTAACCAGATAGTTATACA
+GCAAACGTGCGCCGACTCTGACAATCGGCATATCCGGTTCGCCCTGAATGATCAGTTTGATCCGCACCCC
+GCGCCGTGCCGCTTTACGCAAGGCGTGTAAAAAACGATAGCCGGGGAAGAAGTAGGCGTTGGCGATAATC
+ACTTCCCGCCGCGCCTGAGTGAGCATTTTCAGATAGTGACGTTCGATATCATCGCGATGTTCTTCGTTAT
+CGCGCCAGACCAGCAATACCTGCGCTTCTCCCGGCTGGCGGTTCTCTTCCGCTTTATGATGACGTCGCCA
+CCAGCGTCGCGCCGCGCTCTGTCCTGGCAGGTTTTCCAGCTCAAACTGGAGAATATCTTCGACAATCGGC
+CCTTCGAGGCGAACCGCGTAATCCTGTTTGGCCTCCGGGCCGTAGCTGGACATATGCTCGGCGGAGTAAT
+TCAGCCCGCCAATAAAGGCGATACGCGCGTCGATCACCACAATTTTGCGATGCATCCGGCGAAACACATT
+GGTGCGCATACCAAAAAGGCGAGGGCGGGGATCGTAGTAGCGGAACACCACGCCAGCTGCCGTCAGTTCA
+TTGACAAACTCATCGCTGAGATCCGGCGAACCGTAGCCATCCAGCAAGACTTCCGCTTTTACCCCGCGTT
+GCGCTGCTGCCAATAGCGCCGCATGCAGCTGTTTGCCGACGTCATCCTCAAACCAGATAAACGTTTCAAG
+AATGATGCGTTCTTGCGCCTCGCCAATCGCCTTAAACACCGCGGGATAATATTGCTCGCCGTTTTCCAGC
+AACTGGATCTTATTGCCTTCGCGCCAGCTACATTTCATAAATGAATCTCCGCACTTAAAGGGGCATGATC
+AGAAAGGTGTCGCCATGTCCGCAGCGGCAACGCGGTTGGCGCGCTGGCGCTGGCATTTTTGACGTAGATC
+CTGTCCAGTCGTAGTAGAGGAAATTGCACCGGAAACGTGCGCGCCGGGCGTCCGTGGGCGCGGGTAAAAA
+TCTCATCCAGCCCGGCCTGCACTTTTAACGGATGATTAGCTTTTTGCCGCCAGTCGTTGAAATCACCCGC
+TACCAATACCGGTTCGCCGTCCGGTAGCTCATTCACCCATTCGGCGAGCATCGCAAGCTGCGCCTGACGG
+TGCGCCTCACGCAGGCCCAGATGTACGCACATCACATGAATCGCTTTCCCGGTCATCGGCGGCACAATGC
+GGCAGTAGAGCACGCCGCGCTTTTCCGCACCATCGACCGAAACATCACGATTCTCATAATGTTCAATGGG
+ATAACGTGAAAGAACGGCGTTACCGTGATGTCCTTCCAGGTATACGGCATTGCGACCGTAGGCGAAATCG
+CTCCACATGGTGTCGGCGAGAAACTCGTAGTGCGAGGTATCGGGCCAGTTTTCCACATGCAGCGGATGAA
+CTTCGTGCGCGCCCATCACTTCCTGCAGGCAAACAATATCGGCGCTGACGGTACGCACGGCGTCGCGAAG
+TTCCGGCAAAATGAAGCGTCGGTTAAACGCGGTAAAGCCTTTGTGAATATTGATGGTGAGCACCTTGAAC
+GAAAATTGTTGTGTTTGATCGGGCATAATTTTCCTGTCTTTGCCTCTTATCTCATTGAAATAGTGTAGTC
+GGCGTCACAAAAAGGTGCGGTCTTACGGAATTTTCCGTAAAGTTCGGTACTCTGAATAAGTAGAGATAAA
+TTCTTCAGGAGAGAAGCCATGAAGTGGCAACAACGTGTTCGTGTCGCAACTGGCCTAAGTTGCTGGCAGA
+TTATGTTGCATTTACTGGTAGTGGCGCTGCTGGTGGTGGGCTGGATGAGTAAAACTCTGGTTCACGTCGG
+CGTAGGATTATGCGCACTGTATTGTGTCACGGTAGTGATGATGCTGGTGTTTCAGCGCCACCCCGAGCAA
+CGCTGGCGTGAGGTGGCAGACGTGCTGGAAGAGCTGACCACGACCTGGTATTTTGGTGCAGCGCTGATTG
+TGCTGTGGCTGTTGTCCCGCGTACTGGAAAACAACTTTTTGCTGGCGATTGCAGGGCTGGCAATCCTTGC
+CGGCCCGGCGGTAGTGTCTTTGCTGGCGAAAGATAAGAAGTTACATCACCTTACGTCTAAACATCGCGTA
+CGCCGCTGACCCTGTCGTGGCCGTTATCACCAGTAGCGGCCACAAACTATTCCACACAATATCCAGACTC
+GCATCCTTCAAATAAATCTGCTTGGTAATGTCCGTAAAGTGGCGAATAGGGTTAATCCACGTCAGATTTT
+GCAGCCACACTGGCATGTTTTCCACCGGCGAAACGTAACCGGAAAGGAGAATGGCGGGCATCATAAAGAC
+AAACACGCCGATAAACGCCTGCTGTTGTGTTGAACAGAGTGATGAAATCAACAGACCGAATCCCACCAGC
+GATAAACCGTAAATCACCATCGTGAAGTAGAACAGCGCCAGCGATCCGGCGAAGGGGATTTGATACGCCC
+AGATACCAATCGCCAGCACAATGGTGGCCTGGAAGGTGGCGACAATTAATGCCGGTACGGCTTTGCCGAT
+GAATATCTGCCAGGTGGTGAGGGGCGAAACCAGCAACTGATCGAGCGTACCTTGTTCACGTTCGCGGGCG
+ACGGAAAGTGAAGTGACGATCATTACGCCGATAGTGGTGATCATGGCGATCAGCGACGGCACCACAAACC
+ATTTGTAGTCGAGATTCGGGTTATACCAGTTGCGTACCACCAGCTCGCTGTTGTTGGGTTTCGGTTTTCC
+TTCCAGCAGCTCCTGCTGATAATTTTTGACGATCTGTTGCAGGTAGTTGGCGGCAATTTGCGCACTGTTG
+GAGTTACGCCCGTCGAGGATCAACTGCAACGGCGCGGTCTGGAAGGTATCCAGTTTGCGCGAGAAGTCAG
+CCGGGAAACGCACCAGTAGTAACGCCTTTTGTGTGTCGATGGTCGGGCGGATCTCCTGCGGGCTTTTCAG
+CAGCAGCACATGGGTAAAGGCGCTGGCGCGGGCAAAACGTTGAGTAAGTTCTACCGAGTGCTCGCCGTTA
+TCTTCATCGTAGATGGCGATGGTGGCGTTGGTCACTTCCAGCGTGGCGGCGAACGGGAACAGGATCACCT
+GAATCAGCACGGGTAAAATCAGAATTGCGCGGGTTTGCGGTTCGCGCAGCAGCGACTGCAACTCTTTGCG
+GATTAACGTCCATAAGCGATGAAACATGCTCTTCTCCCTAATCCAGCCGACGTTTGGTTTTCAGCCACGT
+CAGGCCGATAAACATCACCGCTGAAGCGATCAAAAACAGCACGTTCACTATCAGCACCACTGGAATATTC
+CCGGCGAGGAACAGGCTTTGCAGGGTGCTGACGAAATAACGTGCGGGAATAATGTACGTCACCGCGCGGA
+TCACCGCGGGCATACTGTCTATCTGAAATATAAAGCCGGAAAGCATAATCGACGGCAGAAAAGCCGCGTT
+CAGGGCCACCTGAGCGGCGTTGAACTGGTTGCGGGTAATCGTGGAAATCAGCAGCCCCATCCCCAGGGTA
+CTGAGTAAAAACAGGCTGGAGATAAAAAACAGAATCAGCAGCGACCCGCGATACGGCACGCCGAGAATAA
+ACACCGACACCAGCATACATAGCAACATCGCCAGCATCCCGAGAAAGTAATAAGGGATCAGCTTACACAG
+CAGCAGCTCCGTGCGGGTAATCTCCGTAGAGAGCAGAGCCTCCATGGTGCCGCGTTCCCATTCTCGCGCC
+ACCACCAGCGAGGTGAGAATCGCGCCGATGACCGTCATGATAATGGTCACCGCACCGGGGATAATAAAGT
+GCTGGCTAATCGCCGCCGGGTTAAACCAGTAGCGGGTTTGTACATCAATAAGCGGTTCAAAAGTCTGCCC
+GTTATCCTCCGCTCGCTGCATTTGCCAGATCTGCCAGATCCCTTCGACATACCCCTGCACAAAGTTAGCG
+GTATTCGGCTCACTGCCGTCGGTGATCACCTGAATCGGTGCGGTGGCGTTGGCGCGCTCCATCTGTTCGG
+CGAAATCCACGGGAATAACCACCAGACCGCGAATTTTCCCCGCCTGCATTTTGGCGATCAATTCCTGACG
+GTTATCGCTGATGGTGGCGTCGATGTAGGGCGAACCGGTCATGGTGTGGGTGAAATCCAGCGCCGCTTCG
+CTACGCTGTTCCAGTAAAATCCCGACCCGCAGCTTGCTGGAGTCGAGGTTAATGCCGTAACCAAAAATAA
+ACAGCAGTAGCAGCGGGATCACCACCGCAATCAGCCAGCTACTCGGATCGCGAACGATCTGCCGCGTCTC
+TTTGACGCACAGCGCCCGCACGCGACGCCAGGACAGGATCGGATTACTCATTGCCATGCTCCTTATCCCA
+GTCGTGGATCAACTGAATAAAGGCCTGCTCCATTGTGGGATCGGGTTGCTCGTCGTTGGCCGACTGCGCT
+TTCAAATCATCCGGCGTGCCGCTGGCGATTAATTTCCCGCGGTACACCAGGCCGATGCGGTCGCAATATT
+CCGCTTCATCCATAAAGTGGGTGGTGACCATCACCGTGACGCCTTTCTCTACCATACTGTTGATATGTAG
+CCAAAATTCACGGCGGGTGAGGGGATCAACGCCGGACGTCGGTTCGTCGAGAAACAGAATGTCCGGTTCA
+TGCATCAGCGAACAGGCCAGCGCCAGCCGCTGTTTAAAACCTAATGGCAGTTCATCGGTCGCGTGGGAGG
+CGATACTTTTCAGGCAGAACGCCTCGCTCATACGGGAGATTTTTTCGTTCTGCGCCCGACCGCGTAAGCC
+ATACACACCAGAGAAAAAGCGTAAATTCTGTTCGACCGTCAGGTTGCCGTAGAGCGAAAATTTTTGCGCC
+ATATAGCCGAGATGCTGGCGCGCTTTACCAGAACTCTCTTTCAGATCCATGCCCAGCACCAGCGCCTGAC
+CAGAGGTCGGTACCAGCAAACCGCACATCATCTTAAAGGTGGTCGATTTACCCGCGCCGTTTGGTCCGAG
+CAAACCAAAAATCTCCCCGCGTTTAACGGCAAAGTTGACGTGATCGGTGGCGGCAAAATCACCAAATTTC
+TTGGTTAGTTCCTTCGCTTCGATCACCGTCTCGCCGGGTGTGCCTTCTACCGTATGTAATATTGCGCCCA
+GCGGCGATTCCGAGGTTCCGGCACCGCCCAGCAAATCAATAAACGCATCTTCAAAACGCGGCGTAGTTTC
+GTTGATGTCGATTTCCGGCATCCCGTCGGCATGGCGAATATCGTCTGGCGTGGTCTCTTTTTTGAGGATC
+AGACGTACCGATTTCCCCTGAATCATGCCGTCGCTGACCTGCGGCAGTTTCAATGCCCGTTGCAACAGTT
+TGCGGTTGCCCTCGTGCGGGCTGGTCATCAGAAAGCTGCGTCCGGCCATAGTTTGAGTCAGGGCCGTCGG
+TTCTCCCTGATACAGCAGCTCGCCTTCGTTCATCAGTAACACGTCACGGCACTGCTCGGCTTCGTCGAGA
+TACGAGGTACTCCAGAGGATTAACATCCCTTCGCCCGCCAGCTCATGCACCATCTGCCACAGTTCGCGCC
+GTGAGATAGGGTCAACGCCGACGCCGGGTTCATCGAGCAGCAACACTTTCGGTTCGCCCACCAGGGTACA
+GGCCAGGCCAAGTTTTTGTTTCATCCCACCGGAGAGCTTGCCCGCCAGGCGTCCGGTAAACGGGCCAAGA
+GACGTAAACTCCAGCAGGCGAGCAAAAGTTTGCTTCCGTGCCTCGCCGGTGACGCTGCGCAAATCCGCGT
+ACAGATTGAGGTTCTCCATCACCGTCAGATCTTCATACAGACCAAATTTCTGCGGCATATAGCCGAGCAC
+AGCGTGCAGCGCAGCGTCATTTTTGATCGGATCAAAGCCAATCACCGTGGCACTGCCGCTGTCGGGTTTC
+AGTAATCCCGCCAGCATCCGCATCAGCGTGGTTTTGCCCGCACCGTCCGGCCCAACCAGCCCCGTCACAT
+AACCGGCGTGAATGGTGCAGTCGAGCGGTGCGACGGCGGGCTTGTCCATGCCCGGAAAGCGTTTTTCCAG
+GCCGTTCAGCGTGATAACGGCATCATTCATGTCCTGCCTCGTCACCGAATTGCACCGTTACCGGCATTCC
+CTGGCGTAACGCATCATCGGCGTCGGTCACCACAATACGCAGGCGATAGACGAGGTCGGTACGCAGATCC
+GGTGTTTCGACGGTTTTCGGGGTAAATTCAGCAGTCGGCGAAACGAAACCAATCTGCCCGTGATACGGTT
+TGTTCGGACGACCATCGGTATAAAGCAGCACTTTGCGCCCCGGCTGGGCCTGGTCAAGATTACGTTCATC
+AACATAGGCGCGTACCCACACCGGACGCGTCAGCGAGACGGTAAATACCGTGCCACCTTCATTAAGCACC
+GTGCCTGGCTCTACCGCGCGCGTTAACAGCGTGCCATCAGACGGAGCGACCAGCGTCGAATCCTGCAAAT
+TCAGCTCCGCCTGCGCCAGTTGCGCCTGCGCTTGTTCGAGGCTGGCTTTCGCCTGGGCGATGTCCTGTTC
+GCGGTTACCGGAACGGTACTGACGCAATTTATCCTGCGCTGATTTCAGCGTGGCCTGCGCCTGGTCGCGC
+GAGGAGCGGGCATTTTCCAGGTCATTTGCCGAAATGGTGCGGCTTTTCCACAGTCCTTGCTGGCGGTTAT
+AGAAGTTCTGCGCATAGTCATAGGCAGCTTGCGCCTGTTTCACCGCTGCGGCGGCCTGAGCGATTTCTTC
+GTCGCGATACCCGGCAAGCATCAGGTCATACTGCGCCTGAGCCACCGAAACGCCCGCTTTCGCCTGCATC
+AGGGCAATCTCATACGGCTTGTGATCCAGTTCGCCCAGCACCTGGCCCGCTTTGATCGCATCACCTTCGT
+CCACCGCCAGCGACTCAACGCGCCCCCCAACACGGAAACTAAGATTCACCGTACGAATATCCACGTTGCC
+ATACAGCGTCAGGCCGTTATCCTGGCGGCTTTGATACCACCAGTAGCCTCCGGCAACCACGGCGGCAAGT
+ACTACTACCGCCAGTCCGATCACGACAGGTTTTTTCATCACTACAAACTCCTTTGCGATAATCCTTGCAA
+AATCAGGTCAATATGACAGGTCACCGTCTGGTTGATCAGTTCGGTCTTTTCTTCATCGAACGCGGTCCAG
+CCGGTACGTAACAGAATAGTTTCTTTGCCAAGACGAAACGCCAGAATCTCACCAATCAACGCATGGGTAT
+GAAGGATCATGCGGGTATCGCTAGCGTCGCAGCCGGTCCAGGCGGCAATCAGGCGTGTAAGGTGACTGTG
+TAGCGGACTAATCACCTGTTCGTGCACCAGGTGGTAGGCTGCCGTGGGAGAGAGCTGCTCACGGGAGATA
+AATTTGCTGAGGTTGACGGTGTCATCCTGGGTGAGCAGCTTAATCATGTTTCTGCAGGCGCGAAGGATCA
+GTTCACGGATGGCTGCCCGATCCGGCTGTGGTTGTGCGAACAAACGTTCGGCTTCTTCGGCGTGTGGACG
+GAACTGCTCGCCAATAAAATCAGCAATCCACTGGGCGCAGGCGAGGTACAAATCCTCTTTCGAACCGAAG
+TAGTAGGTGATGGCTGCGATATTCTGCCCGGCCTGGGCGGCTATCTCGCGGGTGGTGGCGTTCATTCCAT
+ATTCACCAAACTGTGCCAGTGCCGCAGCAATCAGCTGTTTTTTCGCCTGTTCACCCTTGATTGTCATGGC
+AGGATTATTCATCGCACAGTCCATTCTTAATCAAATGATTGATTAAGATTATGACTCCATAGGGGAGTTG
+TCCAGTATGGCTAAGAATTTTAGCTACGCCAGTCACAGGGATAATTTATGCGCTGCGTCACAAAAACTGC
+TACACTCCGCTCCCTCATGACATTGTGGTTTTTGTCATTTTCCTTTTCAGTATCTCCCTGAAAACTACAC
+CGGTAACGGTCGGGGCGGTTCGGAGTAGTTATGTCTTTCGATTCTTTGGGTTTAAGCCCTGATATCCTGC
+GCGCCGTTGCCGAGCAGGGTTACCGTGAACCCACCCCTATTCAGCAGCAGGCGATCCCTGCGGTGCTGGA
+AGGCCGCGACCTGATGGCCAGCGCCCAGACCGGTACCGGCAAAACAGCGGGCTTTACGCTGCCGCTGTTG
+CAACACCTGATCACTCGCCAGCCGCACGCCAAAGGGCGTCGTCCGGTACGCGCGCTCATTCTTACCCCGA
+CCCGTGAACTGGCGGCGCAGATTGGCGAAAACGTCCGTGATTACAGCAAATATCTGAACATTCGTTCGCT
+GGTGGTGTTTGGCGGTGTCAGCATTAACCCACAAATGATGAAGTTGCGCGGCGGCGTTGATGTGCTGGTG
+GCAACGCCGGGACGTCTGCTGGACCTGGAACATCAAAATGCAGTGAAGCTGGATCAGGTTGAAATCCTCG
+TCCTTGATGAAGCTGACCGCATGCTCGACATGGGCTTTATCCACGATATCCGTCGCGTGTTAACAAAACT
+GCCAGCGAAGCGCCAGAACCTGTTGTTCTCCGCGACCTTCTCTGACGATATTAAAGCCCTGGCGGAAAAA
+CTGTTGCACAACCCGCTGGAAATCGAAGTGGCACGCCGCAATACTGCGTCTGATCAGGTGACCCAGCACG
+TTCACTTTGTCGATAAGAAACGCAAACGCGAATTGCTGTCGCATATGATTGGGAAAGGGAACTGGCAGCA
+GGTGCTGGTGTTTACCCGTACCAAACATGGCGCTAACCATCTGGCTGAACAGCTTAATAAAGATGGCATC
+CGTAGTGCGGCGATCCACGGTAATAAATCGCAAGGTGCGCGTACTCGTGCGCTGGCCGATTTTAAATCGG
+GCGATATTCGTGTACTGGTGGCAACTGACATCGCTGCGCGCGGTCTGGATATCGAAGAGTTGCCGCACGT
+CGTCAACTATGAGTTACCAAACGTACCGGAAGATTATGTTCACCGTATCGGGCGTACTGGCCGTGCGGCG
+GCAACTGGCGAAGCATTGTCGCTGGTGTGTGTTGATGAACACAAACTGCTGCGTGATATCGAAAAACTGC
+TGAAAAAAGAGATCCCGCGCATTGCGATTCCGGGATATGAGCCGGACCCGTCAATCAAAGCTGAACCGAT
+CCAGAACGGTCGCCAGCAACGTGGCGGCGGTCGTGGACAGGGCGGTGGTCGCGGTCAACAGCAACCACGC
+CGTGCGGAAAGTGGTGCGAAGTCTGGTAACGCGAAGCCCGCAGAAAAACCGTCTCGTCGTCTCGGCGATG
+CCAAACCGGCAGGCGAACAACAACGTCGCCGCCGTCCGCGTAAACCTGCCGCTGCGCAGTAATCTTTTAT
+GCCGGGCTATGCCCGGCATGAGACTGATGACAAACACAAAACTGCCTGATGCGCTACGCTTATCAGGCCT
+ACGTGAACTCTGCAATATATTGAATGTGCATGTTTTTGTAGGCCGGATAAGGCGCTCGCGCCGCATCCGG
+CATTTCACAACAAGCACTTGTCAGCCATTTGCGAGCGCGGCAAAAAGATTTCTCTGTTTTAACGCCCACA
+AGCCACCCGATGCGTTACTTCTCCGCAGCCAATTGTCCGCGCAACGCCATTAAAAGGTACCCTGGGCGAT
+TCTTGCCCTGACCATTACCGCCATCTCCCCAGTAAGCATCATTTTGCGTATGCTCAACCAGTTTTGCGGA
+CGCGGTTGCCAGCAAGAGTGTACGCAGTTCTGCATGTTGTTCGAATTTAGCGCGAAGCGCTTTACGCATC
+ATCCTGCTGGTTATTGCGAGCCGCTTTCCAGAAACAGAAAAACCATTACCCCTGAAAACCGAAAAATGCC
+ACAATATTGGCTGTTTATACAGTATTTCAGGTTTTCTCATGGCATTAACCGCCGCGCTTAAAGCGCAAAT
+TGCCGCCTGGTATAAGGCGCTTCAGGAACAGATCCCCGACTTTATTCCCCGCGCGCCGCAGCGGCAGATG
+ATTGCGGACGTCGCCAAAACGCTGGCCGGAGAAGAAGGGCGGCATCTGGCGATTGAAGCCCCTACCGGCG
+TTGGGAAAACGCTCTCCTATTTGATCCCCGGCATCGCCATTGCCCGCGAAGAGCAAAAAACGCTGGTGGT
+AAGTACCGCCAACGTGGCATTGCAGGATCAGATCTACAGCAAAGATTTACCGCTGCTGAAAAAGATCATT
+CCCGATCTTAAATTCACTGCCGCTTTTGGGCGTGGGCGCTACGTTTGCCCGCGTAATCTGACAGCGCTCG
+CCAGCACTGAGCCCACGCAACAGGATCTGCTGGCGTTTCTTGACGACGAACTGACGCCGAACAATCAGGA
+AGAGCAAAAACGTTGTGCGAAGCTGAAGGGCGATCTCGACACTTATAAATGGGATGGCCTGCGCGATCAT
+ACTGATATCGCTATAGATGATGATCTCTGGCGTCGTTTGAGTACCGACAAAGCCAGCTGCCTCAACCGCA
+ACTGTTACTACTATCGCGAATGCCCGTTTTTTGTCGCTCGTCGGGAAATTCAGGAAGCGGAAGTGGTGGT
+GGCAAACCATGCGCTGGTGATGGCGGCGATGGAAAGCGAAGCGGTATTGCCTGACCCGAAAAATTTACTG
+CTGGTGCTGGACGAAGGTCATCACCTGCCGGATGTGGCGCGGGATGCGCTGGAGATGAGCGCCGAAATCA
+CTGCGCCCTGGTACCGGCTCCAACTGGACCTGTTCACCAAACTGGTCGCCACCTGCATGGAGCAGTTTCG
+CCCGAAGACCATCCCACCGCTGGCGATCCCTGAACGTTTGAATGCGCATTGTGAAGAGCTGTATGAGCTT
+ATCGCCTCGTTAAACAACATTCTCAATCTCTACATGCCTGCCGGGCAGGAGGCAGAGCACCGTTTTGCGA
+TGGGCGAACTGCCTGATGAAGTGCTGGAGATCTGCCAGCGGCTGGCAAAACTCACCGAGATGCTGCGTGG
+TCTGGCGGAGTTATTTCTTAACGATTTAAGTGAGAAAACCGGCAGCCATGACATTGTACGCCTGCATCGG
+TTGATTTTGCAGATGAACCGCGCGTTGGGGATGTTCGAGGCGCAAAGCAAACTCTGGCGGCTGGCGTCTC
+TGGCGCAATCTTCCGGTGCGCCGGTGACCAAATGGGCGACGCGGGAAGAGCGCGAAGGGCAGCTACACCT
+TTGGTTTCACTGCGTGGGAATACGTGTCAGCGATCAGCTGGAAAGGCTGCTGTGGCGCAGTATTCCGCAC
+ATTATTGTTACCTCCGCAACCTTGCGTTCGCTGAACAGTTTTTCGCGTTTGCAGGAGATGAGTGGGCTGA
+AAGAGAAAGCGGGCGACCGCTTTGTGGCACTGGATTCCCCCTTTAACCACTGTGAACAGGGCAAAATTGT
+TATTCCCCGGATGCGCGTTGAGCCTTCCATCGACAACGAAGAGCAGCACATTGCTGAAATGGCGGCCTTT
+TTCCGTGAGCAGGTGGAGAGCAAAAAACATCTCGGTATGTTGGTGCTGTTTGCCAGCGGGCGTGCGATGC
+AGCGCTTTCTCGACTATGTGACGGATTTACGCCTGATGTTGCTGGTGCAGGGCGATCAGCCACGTTATCG
+CTTAGTTGAACTGCACCGCAAACGCGTTGCCAACGGTGAGCGTAGCGTGCTGGTGGGTTTACAGTCCTTT
+GCCGAAGGTCTTGATCTGAAAGGCGATCTGCTCAGCCAGGTGCATATCCACAAGATCGCTTTTCCGCCCA
+TCGACAGTCCGGTGGTGATCACCGAAGGTGAATGGCTGAAAAGCCTCAACCGCTATCCGTTTGAGGTGCA
+AAGCCTGCCGAGCGCTTCGTTTAACCTGATTCAGCAGGTTGGGCGACTGATTCGAAGTCACGGTTGCTGG
+GGGGAAGTGGTTATCTACGACAAACGCTTGCTGACAAAAAATTATGGCAAGCGACTACTGGATGCATTAC
+CGGTATTTCCGATAGAGCAACCGGAAGTCCCTGAAGGTATAGTTAAAAAGAAAGAAAAAACGAAATCCCC
+ACGCCGTCGGCGGCGTTAATGATGTGAGTCAGGTAAGGAGTCGTAAATGGACTATCGCAAAATCATTAAA
+GAGATCGGGCGCGGGAAAAACCACGCGCGCGATTTAGACCGGGATACTGCGCGCGGTCTGTATGCCCATA
+TGCTCAATGGTGAAGTCCCTGACCTTGAGTTGGGCGGCGTATTGATTGCGCTACGTATCAAAGGGGAGGG
+GGAAGCAGAGATGCTCGGCTTTTACGAAGCCATGCAAAATCACACCATCAAGCTGACGCCGCCTGCAGGC
+AAGCCGATGCCGATTGTCATCCCCAGTTACAACGGCGCGCGTAAACAGGCCAACCTGACGCCGTTGCTGG
+CGATTCTGCTGCACAAACTCGGTTTTCCTGTGGTGGTTCACGGGGTTAGCGAAGATCCAACCCGCGTGCT
+GACCGAAACCATTTTCGAACTGATGGGTATTACGCCAACGTTGCACGGCGGGCAGGCGCAGGCGAAGCTC
+GACGAACATCAACCTGTCTTTATGCCTGTCGGCGCGTTTTGCCCGCCGCTGGAAAAACAACTGGCGATGC
+GCTGGCGGATGGGCGTGCGTAACAGTGCACATACCCTGGCGAAACTGGCGACGCCATTTGCCGAAGGTGA
+GGCACTGCGTCTTTCCAGCGTTTCGCATCCGGAATACATTGGACGCGTCGCGAAGTTCTTTAGTGATATC
+GGCGGGCGGGCGCTACTAATGCATGGTACTGAAGGTGAAGTGTATGCTAATCCGCAGCGCTGCCCGCAGA
+TCAATCTCATTGACCGTGAAGGGATGCGGGTACTGTATGAAAAACAGGACACTGCTGGTAGCGAGTTACT
+GCCACAAGCAAAAGATCCGGAAACCACGGCGCAGTGGATTGAGCGTTGCCTTGCTGGCAGCGAACCGATT
+CCCGAATCACTGAAAATCCAGATGGCTTGCTGCCTGATGGCTACGGGTGAAGCGGCAACTATCAGCGACG
+GCCTGGCGCGCGTTAATCAGGCATTTTAATTTTTATCTCAGCCGGATGAGCCATGTCATCCGGCTTTTAC
+CCCACCGCAATATGAAATTCCTGCATCTTTATTGACCTTCCCGCGCCCGGCGTGCAGCATAAAAAAACAA
+CAAACACATAACATAAACAGGAGTTAACCATGGTAAGTGGTCATCGCTTTGATGCTCAGACGCTGCACAG
+TTTTATTCAGGCTGTATTTCGTCAGATGGGTAGTGAGGAACAAGAAGCGAAATTAGTCGCCGATCATTTA
+ATCGCGGCAAACCTGGCAGGGCATGATTCACATGGTATTGGCATGATCCCAAGCTATGTGCGCTCCTGGA
+GTCAGGGGCATCTGCAAATTAACCATCATGCCAAAGTCGTTAAAGAGGCGGGGGCGGCGGTCACGCTCGA
+TGGCGATCGCGCATTTGGTCAGGTCGCGGCACACGAAGCGATGGCGCTGGGGATTGAGAAAGCGCATCAG
+CACGGCATTGCCGCCGTGGCGCTCCATAACTCGCATCATATCGGCCGTATCGGTTACTGGGCGGAGCAGT
+GTGCAGCGGCGGGGTTTGTCTCTATCCACTTTGTTAGCGTGGTCGGTATTCCAATGGTCGCGCCGTTCCA
+CGGTCGCGACAGCCGCTTTGGCACCAATCCGTTCTGTGTGGTTTTCCCTCGTAAAGATAATTTCCCGCTG
+TTGCTCGATTACGCCACCAGCGCCATTGCATTTGGCAAAACCCGCGTCGCCTGGCATAAAGGCGTCCCCG
+TGCCGCCAGGTTGCCTGATTGACGTTAACGGCGTGCCGACGACCAATCCGGCGGTAATGCAGGAGTCGCC
+GTTGGGTTCGCTGTTGACCTTTGCCGAACATAAAGGCTACGCCCTTGCAGCGATGTGTGAAATTCTTGGC
+GGGGCGCTTTCTGGCGGTAAAACGACGCATCAGGAAACGTTACAAACCAGTCCCGATGCCATTCTCAACT
+GCATGACCACTATCATTATCAACCCGGAACTGTTCGGCGCGCCGGATTGTAGTGCACAGACCGAAGCCTT
+TGCCGAGTGGGTGAAAGCCTCGCCGCATGATGACGATAAGCCGATTTTGCTACCGGGCGAGTGGGAAGTG
+AACACGCGTCGCGAACGGCAGGAGCAGGGGATTCCACTGGATGCGGGAAGCTGGCAGGCCATTTGTGATG
+CAGCGCGGCAGATTGGTATGCCGGAAGAGACGTTGCAGGCTTTCTGTCAGCAGTTAGCCAGCTAAAAAAA
+GCCCGTCCAGTGGCGGACGGGCAAACAAGGGTAACATAGGATCAATGAGGGTTAGAGCATATGCGTCTGT
+CGGCAAACAGACAGGGAAATACTTGTGCTGAACGTAGCGTAAACGCCTGATCCAGCCAACGGTTCGGATT
+TTGTAGGTCTGATAAGACGCGGTAGCGTCGCATCAGGCATCTGTGCCGGAATCCGGCGTAAACGCCTTAT
+CCGTCCTACGAATTACTTATAAATTACCGCAGTACCGCTTAATTTATTGTTGTTGGTGGCGGAAGTAATG
+CTGTATCCACTGGCACCGGCCGCCGCGGCTTTCTCAGCCAGTTTCGCTTCCAGGGCATCGAGGGTGGATG
+CGCCATCGGCAGAAACCACGCCGATTTTATTCATGTTCTGTGCCTGGGATGCCGTTACCGGTTCCGCCGC
+GAACACGCCAAATGACAGAGTTGAAAGAGCCATAGCAGCAACAACAGTATTGATAGTTTTCATAATTAAT
+CTCTCGCAGGTGATTTTTGTATAAGTGACGTTGTTTCGTCGATGTGATGAGTATCACGTTTTTTTACGAG
+AGATAAAATCGAAGAGAATTGACCACCTTGTTCAAATAAATTGATTGATATCTAACATAATGATAATTCA
+TTTATTTGTTGAACTTATGGACTTGTTTTATGCAGCGTGGCAGTCACGACAGCGTTAAAGGCACGGAATG
+CCACGCAAAATACAAATTATACTCGCTATACATCCCGCCAGTTGTAGTTAACGTAACTGGCTGTCTTTCG
+AGCCTCTGCGATTATATCCTGTATAAGCTGGTTTTTGTAAATCTTTCTCCTGCTGACAATGAATGCATAA
+GCGCACGCCAGGAATGGCTTCCCGACGGGCTTGCGGGATGAGGGCTCCGCACTCTTCACATTCATCCAGG
+CTTTCGCCACGCGGAATTTCACCCCGAGCGCGGGCAATCGCATCTTCAATTGTACTGTTGATCTGTTCGT
+TGACGGCGTCATCATTAGCCCAACCGGATGCCATATCGTCCTCCCCATATCAATACTTGTACAGTTAAGT
+GTAGCTAATATAGGGACGAACTCGGGCAGTTCAAGCGTCAGATCTCCGACCATTCCCGCAGCAGATTATG
+ATAAAGATTGAGCAGCGACAGGATCTCTTCACTTTCGCCGTAGTGGCTTTTCAGCGACTGAATATTGTTG
+TCCAGTTCAAACAGCATGGCGCGCTTTTTATCATCACGGATCATCGACTGGATCCACATAAATGATGCCA
+CTCGTACGCCGCGGGTTACGGGTGTCACGCAATGCAGGCTGCTGGAGGGATACAACACCAGATCGCCTGC
+CGGGAGTTTTACCCGATGTTGCCCGAAGGTGTCATTAACGACCAGTTCGCCGCCGTCGTAGCTTTCTGGA
+TCGCTTAAAAACAGCGTGGCAGAAAGGTCAGTGCGCATACAGCCGTTTTGTGGATGGCTGCGTACTGCGC
+CATCCACATGAAAACCATAGGTTTCATTGTTCTGATAGCGATTAAACAGCGGCGTGGAAAGGGTACGCGG
+CAAGGCCGCGGCAAAGAACAAAGCATGTTGGTTAACCGCGTTCAGCACCTCATTTTGTAGGGCGGCGTAC
+AGGGCGCTGCGGGTGTCTACTTGTTGATTGTTCTTAACTTGCGCACCTTGTGCGCCGGTGGTGACGCGTC
+CATCCACCCATTCGGCTTGTTCCAGGTGTTCGCGAAAACGGGCGACGTCCTGTGGCGATAACACGCCGGG
+AATGTGGTACATCATACAAGTTCTCCAAAAAGTGGGGCCTGCGCCCCACACCGATTTTTAACAGCAGGCA
+ATGGTGCTCAGGTGCCGGATGCGGCGTGAACGCCTTATCCGGCCTACCAAATGATGTGAATTCAGTGTAT
+TGCACAACCTTGTAGGCCTGATAAGCGCAGCGCATCAGGCAGTCCTGCTCTCGCCATCAACATTAGTGAG
+CCTTGCGCCCCACATCTGAATCAGAAATGCATATTGGCTGTGAGCAAGAAGGTTCTTGGCTCGCCCGGGT
+GATAACGGTAGCCGCTCTTATTGATTGAGGCGACGTAATCGGTATCAAACAGGTTGTAGACGTTTAGCTG
+GAAGTCGAGATTGCGATTAACCCGATACCCCAGTTTGGCGTCGGCGACCCAATAATCTTCGGTAAATGCT
+GGCGTCCCCACCGCGCCGTCTGAACCTTTATGCATACTGCCGATATACCGTGCGCCCGCACCAACAGAAA
+TATCATCGGTTGCCTGATACTGGCTCCATAAGGTGAAGGCGTGTTCCGGGGTATACGGCAGCGATGAGGA
+ACCATCCTGGGCAACATCTTTGCCGTTTTTGATGGTTGCTTTTTGCTGGGTATAGCCGCCAATCATCTGC
+CATGCGGGGGTGATATTCCCGGCCACGGATATCTCGTAGCCTTCGACACGTTTCTTACCATATTGCGAAT
+AAGTCCCGTCATCATTTTGCTCAACTTCATTTTCAATATCAGTACGGAACAGCGCGGCGGTAAGTAGCAG
+GCGTTTATCCAGAACCTGCCATTTGGTGCCAATCTCGCTGGTGTTGGCTTTTTGTGGTTTAAAATCGGTG
+CGGTTGGCACTGTTACCGCTGCCAGACTGCGCAAGGGCGAAGTTGTTGCCGCCCGGCGGCTGCTGGGAAA
+CGGCATAGTTAATATAGACATTGCCGTTTTCCGTCAGGTGATACAGCGCCCCGGCTTTCCAGTTCACCAG
+ATTGCCCGACTTGGCGGTGTCGACGGTGGTGACCGGAGAACCTTTTGCCACGCCAGCAGGGCAGGTGATG
+GCACCGCGCCCGCTGCCGCCGTAGGCGGTAGCACTGTCATATTCAGTATGATAATTATCCAGACGGATCC
+CGCCGTTCAGCTCAAAATCACGGGTGATTTGCAGCGTATCGAAGGCATAAATTGCGAAGGTATCCGTCTG
+ACCATTGGCGTTTGCGCCGTTGCGCGTCAGGCCGCCGGGATGAATGCTGCTGTCAGGATGATAAATATTT
+ACCGCCGGTAACGTCACCGGATTAACGCCATAGTTAGTTTGTGTTTCGCGGGTAAATTCCACGCCGGTAC
+TGACATCATGACCGATAGCGCCGGTATAGAACGTCGAGGTCAGGTTGGTCTGGTTGGTGAGAATTTTGTT
+ACTCACATCTTTGGTATTCGCCGTGCGTGACCACGTCCAGCTATTCACATCGCTGGTGGGCTGGGTAATA
+TTCGACGCTCCACCCATAATCGCCGTCATCAGGTAATCCTGCTTTACGCGCGACCAACGCGTAGTGTTGC
+GAATGGTGGTGTTATCGTTGATGTCGTGCTCAAAACGCATGGTAGCGGTGTCGGTGGTCGAATCGTCGTA
+ATCGGAATCTGTGCCGTAAAAGTTATGAGTATCAACTTTTCCGGAATGATTCAGGGCTGCTGTTCCCGCA
+GATGGGGCAGAATAACCCGGTAAACCGATAGTCGGAATGCCGCCGTCTGGCGTGTTGTGCTGGGTGACAT
+GCAGATAATTAAGATACAAACGATTCGCTGTACCAAGGCCAAAAGCGACAGAAGGGGCGACGCCGTAACG
+CTCATTTTTGACTTTGTCGCGTCCGGCATCGTGCGTTTTTTCGCCCATTACATTCAGGCGCACCGCAGTG
+GTATCACCAATGACCTGATTGACGTCCAGCGTGCCGCGGCGGAACCAGGCGCTGCCAATACTGGCGGAGG
+CGTCAATGCCGGAATCATTGCGCGGCTGTTTGCTGATCATATTGATCGAGCCTGTCGGTGCGCTGCGCCC
+GTAGTCGGTGCCGGACGGCCCTTTAATTACTTCGACCTGCTCGGTATTGAAGGTGTCGCGCGAGACGCTG
+CCGATATCGCGAATGCCATCGATATAAATACTGTTAGAGGTATCGGCACCGCGCATATAAATGGCGTCGC
+CAGTGGTGGAGTTACCGTTCTCACCCGCAAAAAACGCACCCACGCCGGGGACGTTTTTGAGCGCGTCGGT
+AAGGTTGGTTGCACCCTGATCTTTAATCACTTGTTCAGAAATCACTGTCATCGTGCGGGTAGTATCCGCT
+ACCGGACGCGAGAATTTCGGATCGGCAGATTGTTGTGGCGCATAAAGCGAAGGCGTTGATGCTTCGACAA
+CCAGCGTGTCATCCGCGTTAGCTTGCCCTTCGGCAGCGAGTGCCTGCGCCACAGGCGTAATACCAATACA
+AAGACCGGCAAAGAACGTGAGCGAATGAAATTGTCTGGCAGGGAAATTGCGATTGTTTTCCATTTTGCAG
+GTGACTTTTTCTTATATGGTGAAATTTTCACTGTCACGAGAAAGCATCTCTGCGGATGCGATGCCACTGT
+TAATCCCGTGATAGCGTCCGTGCAAGTGATAATAATTTTGATAAGCATTATCACTTGGCGCGATTTTCTA
+TCACCCATTGCGCGAAAAAGAAATACATTTATTTACATTACGTTCATATTTGATGTTTTTTGCTTACAAA
+TTGGACGAAAACTGCATCCAGAGGCGAATGCAGTTACGTTTGTGGGGTTATTTGTAGATGATTGCAGTAC
+CGAACATCTGGTCATTTCCGCCTGCGGAATTAATGACATAACCTTTCGCGCCTTGTTCGCGCGCTTTTTC
+TGCCAGTTTATCCTCCAGATCGCTTAGGTTTGATGCGCCAGTTGCCGAAACGGTACCGGCGGGCCGTAGT
+TGACCACTGTCCAGGTTACTCATCGGTTGCGCGGCATAAGCCGTGAGAGAGATTCCGCTCAGGACGGTGG
+CAATCAGTAGTGTGAGGCACTTTTTCATAATGACATCCTCATAAATACAACGGGTAGTGCCAGATAAGTG
+TAGGTCGCCTGCGCGATGAAAATGACGCAAAAAATTGACAGAGATGCGCTTATTTTTTGAACGATATGTT
+TTTACAAAATAAGACAAATCAATGACATGCATGATGATGATTTTTATGGTGAATTGCCATAAACCATAGC
+CATGTGAAGGTTTTTAGAAATGATAAACGCAGCCAGATATTTACCCTGTCGCGTTATGCGGGTATCTTAC
+GCCGCTGCTTAAAGGAGAATGCTATGTCCGCCCAGAAACCGGGGTTGCATCCGCGCAACCGTCATCACAG
+CCGCTACGATCTCGCCACGCTTTGTCAGGTCAATCCTGAACTCAGGCAATTCCTCACGCTTACACCCGCC
+GGGGAGCAAAGCGTAGACTTTGCCAATCCGCTGGCGGTGAAGGCGCTTAATAAGGCGTTGCTGGCCCATT
+TTTACGCCGTAGCGAACTGGGATATCCCGGACGGTTTTCTCTGCCCGCCAGTACCGGGCCGGGCGGATTA
+TATTCATCACCTTGCCGATTTACTGGCTGAAGCAAGCGGAACAATTCCAGCTAATGCCAGCATTCTGGAT
+ATCGGCGTTGGTGCGAACTGTATTTATCCGCTGATTGGCGTACATGAATATGGCTGGCGTTTTACCGGTA
+GTGAAACCAGCAGCCAGGCGTTAAGCAGTGCGCAGGCGATCATCAGTGCTAATCCGGGGCTTAACCGCGC
+TATTCGTCTGCGTCGGCAAAAAGAGAGTGGGGCGATTTTTAACGGCATCATCCATAAAAACGAGCAATAC
+GATGCGACCTTGTGTAACCCGCCATTCCACGATTCCGCCGCTGCGGCACGGGCAGGTAGTGAACGTAAAC
+GCCGTAACCTGGGGCTGAACAAAGACGATGCACTGAACTTTGGTGGTCAGCAACAGGAGTTGTGGTGTGA
+AGGCGGTGAGGTCGCTTTTATCAAAAAGATGATTGAAGAGAGCAAAGGCTTCGCGAAGCAGGTGATGTGG
+TTTACCTCGCTGGTATCTCGTGGTGAAAACTTACCGCCGTTGTATCGTGCTCTGACGGACGTAGGTGCGG
+TGAAGGTGGTAAAAAAAGAGATGGCCCAGGGGCAAAAGCAGAGCCGCTTTATAGCCTGGACCTTTATGAA
+CGACGAGCAGCGCCGCCGTTTTGTCAATCGCCAGCGTTAAAGCGTTGGCTCCCCCGGCGGCAACGGTTCA
+GCCGGGGCCGCGCCCGGAGCTGGCAGCACCTGATAAGTCTGCACCGGCGCGCGAACACCCGCCAGGTCGA
+AATGTTTTTTCACCTGGCTGTCGAGGGCAAAGCGGACCGTCCACTGTTTGAGTGGCAGCGTGGTGAACGA
+AACACGCAGTGTAAACGCGGTATTGCTTAAGCCGACAATCCCGGCAAAGTTCGGTTCACCAATAACCAGC
+CCGCGAATTTCTTCGTTTTCCATCAATTCTGCTACCGCATCTTTCAGTGCCTGATTGGCTTTATCAGCAT
+CTTCATGGCGATCAACATCGTAGTTTGCCACTACCGAACCAATACCGCGGACGAAGTTAGCAAAGGTGGT
+TATCGAAGACCACGGAATGATGTGATACGCCCCGGTATCCTGGCGCACGCCCACGGAGCGAATCGACATC
+CGTTCCACAGTGCCGGTCAACGGCCCGATAGTCACCAAATCTCCAGTGTTCATGCCGTTTTCAAACTGAA
+TAAATACTCCGGTAATAATATCTTTCACCAGCGTTTGCGAACCAAACGAGATAGCCAGACCTAATGCCCC
+GGCACCTGCCAGCAATGGCGCGATATTGACGCCGATTTCCGACAACACAATCATGATGGTGATGGTACTG
+ATAATCACCGCCAGCGCGTTACGGAACAGCGTCAGCAGGGTTCGCGTACGGGCGCTGGGTAGCGGGCGGC
+CATGAATATCCGAAGCCAGCCGGTTTTCTATCAAACTGGCGAGCACCGTCCAGCCAACCGCCGAGAAGAA
+AAGAATGAGTGCGATACGGATCAGGATATCTAAGGTTTTCTGCCCCGCGCCGTTTTGCAGCCAGTTCCAG
+AAATCGAACAATCCCCATGCGCTCAACAGCAGCATTACCGCCACGCAGACTGTCAGAATACGCGCTGTTT
+TCAGTGCCGCCGAAAGCCAGCCATTCAGCCGTTTTTGCAGCTCCGGATAATTTCGCTGAGTATGTGGCGA
+GAGGGTGATGGTTTTCGCCAGCCAGCGGGAAAACATACCGGAAACAAATGCTGCGATACCAATAATCGCC
+AGGCTGCGCACCGTTGCACCCATCATAAATTTCAGGCTGTTGCCCGGATCGAACAACGAAAAGAAAAACA
+GCACGATAAAATAGGCGCTTGCCAGCCAGTGCCACACCAGCGCAAAGGCGCGGATAAACAGGCTGAAAAA
+GGCCAGCGAATGCTCCGCAAAGTTGAGCAAATGCTGGGTGATCTCTTTTTTATTACGAAAAATCAGGTAC
+AACGCCCAGACGGTCATGCACAGCATAATGATGACGTTCGCCAGCGCACCTATCTGTACATTCACCTGAT
+TAGAGATAATCGGCACAGCCACAATCAGACCATAGCCAATCAGGCTGCTTAACCAGCTCAGGCGACGACT
+CCAGTAACGGGCGGTCTCGTCATGAATCGTGAACGGGCGCAGTTCAGCTACGTTTGGGCAAAAAATCAGG
+CGTAGTACGGCTTTGAAAAATTCAATCAGGGCAAAGGCGTTGAGAAACAAACTTTGTTGGAAAGCGATAG
+TGCGACTGCCCGCATTCAGGTTGTCGCTTAATACCTGGCCGACAAATAATGTCAGTGCCAGTAACAGCAG
+GTCGATAATAAACGCCCCGATGATCATCGCCGGAAGCTGCAACCAGTTACTGCGCTCACGATTTTTTTGC
+CGCGCCCACTGGCCCATTTTGCGATACAGCGGCAGTGCGCACAGACGAATCAGCCAGTAAAAACCAAACA
+CTAATACCGCTAACATTGAAAAGTGGGTCAGCGCATTGCTGAAGGTTTGTGGATTAAACGGCTTATGCGG
+GGAGCCGGTGATATTGCGATAAAGTTGCCCGAAGCGGGCGGAAAGGGCTTCACCATAATGGCGGCTGACT
+TCGGTGACTTTTTGCAGCACGGTTTGCTCTTCAACCAGCGTCGGCGGCACGATCTTCGGTACGGGTTCCG
+CAGGAGGCGTAGCGGCGACGGTGCGCAACTGGTCGATCAACTCTTTACGCGAGGTGTCATTATCCAGCAC
+ATCCGCCAGTGCGCCATAGGCCGCTTTTTTTTGTTCGATATCCGGTTCCGGGGCCGGTTCAGTCGTTGAG
+TCCGTTGTCGTTGTGGTTGTAACGCCGGGTATGGATACCGCGTGGGCAGGTGCGCCCAACAGGCAGAAGA
+GGATGAACAGGATCCACCGCATGACTCCTCCAGTGAGAAAACAGAGCAAAAAGATAAGTATAGATGCTGG
+GGGAGAGGCGATTTTAAATGAGAGGAATCTGGTGTGCCTCCCTTTCGGGGGAAAGGGAGGCAGAGAAGTT
+AAGAGACGTGCTGCAAAAATTCCTGCAAGCGCTGGCTCGGCGGGTTCTTGATCAACACCTGCGGATCGCC
+ATCTTCTGCAATCCGGCCTTTGTCGATAAAGATCAGGCGCGAAGCTACTTTCTCGGCAAAACCGATTTCG
+TGGGTCACGATCACCATCGTCATCCCTTCTTCAGCCAGATCCTGCATAACCTTCAGCACTTCATGGCGCA
+GTTCCGGGTCAAGAGCGGAAGTCGGTTCATCAAACAGCATCATTTTCGGCTTCACCGCCAGCGCGCGGGC
+AATCGCCACACGCTGCTGTTGACCACCAGAAAGTTCGGAAGGGTAGTGATGTGCACGCTCTGCCAGACCG
+ACTTTCGCCAGCAGCTCACGCGCCAGTTTTTCCGCCTCTTCTTTATTCGCGCCACGCACGCGTAGCGGGC
+CAAACATGACGTTTTCCAGCGCCGTCAGATGCGGGAAGAGGTAAAACTGCTGGAACACCATACCCGCTTC
+CTGGCGAATCAGGCGCTCATCAACTTTCGGATCGTTAACCTTCAGGCCATCGACAATCAGATCGCCGGAG
+GTGATTTCTTCCAGTTTGTTGATGCAGCGCAGCAGGGTCGATTTACCGGAACCGGACGGCCCGATAATCA
+CCACGACTTCGCCCTGAGCAATGTTCAAATCGATATTGTGCAGCACCTGGGTTGGACCAAAATGCTTGGA
+GACGTTTTTAAATTCAATCACAGGATTTTCATCCTTCTTTCCAGACGACGCAGAATAAAGCTCAGCACCA
+GGGTAATAATCAGATAGAACACCGCCACGGCGCTCCAGATCTCAAGGGCGCGGAAGTTACCGGCAATAAT
+TTCTTGCCCCTGACGGGTCAGTTCCGCCACGCCGATAACAATAAACAGCGAAGTGTCTTTAATGCTGATG
+ATCCACTGGTTACCCAGCGGCGGCAGCATACGACGCAGTGCCAGCGGTAAAATGACGTAGCGAATGGTTT
+CCCAACGTGAAAGACCGAGCGCCAGTCCTGCTTCACGAAAACCTTTGTGAATAGATAGCACCGCACCACG
+CGTGATTTCCGCAATGTACGCGCCGGAGTTGATCATGATGGTGACCACCGCCGCAGTAAACGGGTCGATG
+CGTAAATCGTTAAACGCCATCGGCAGGGCGAAATAGATAAACATCACCTGGACGACGATAGGTGTGCCGC
+GGATCACTTCAATAAAGACCAGCGCGACGTGGTTGGCTATCCAACCACCGAAGGTGCGTGCAAAACCTGC
+CAACAATCCGATCACCAGACCGCCAGCCAGACCGAGGACCGAAATCCACAGGGTCATTTTGGCACCTTCA
+ATCAGAAGCGGAATGGCAGGCCAGATGGCACTCCAGTCAAACTGCATATGTTGTTCCTGTTACCGTGGTG
+TAAATAATCAAATTCAGGGTAATTAATGGCCCCGGAGCGGGTTTGCGCCCTTCACCCTAATCCTCTCCCC
+GGCGGGGAGAGGGAACTGCCAGTGCGCTTTACAGGCGCCGCGTTATTATTTCGGTTCAGTACCGAACCAT
+TTTTTGTAGATTTCGTTGTAAGTTCCGTTCTCGCGCAGGGTTTTCAACGCGCCGTTGACTTTGTCACGCA
+GCTCGTCGCTACCTTTCGGGAACGCAATACCGTATTGCTGTGCTTCCAGAGAGTCACCTACCGCTTTGAA
+CTGACCGTTACCGGCGGTTTTGATGAAGTACAGAATGTTTGGCGTATCGTGCAGAACGGCGTCTGCGCGG
+TTGGTGCCCAGTTCCATATAGGCGTTATCGATATTCGGGAACTGACGCAGATCTTTAGTTTTGATGTTTG
+CTTTCGCGTAATCAACGGAGCCAGTGCCGCTCTTCACAGCAACCACTTTCCCGTCGAGATCTTTCACGCT
+TTTCACATCGTTATTGTTAGCTTTCACCATCACTAACAGGCCGCTTTTGTAGTAGCCGTCAGAGAAATCG
+ATCGCTTTTTTACGCTCGTCGGTGATGGTAATGCCCGCCAGCGCCAGATCGACGTTTTTGGTTTGCAGTG
+CTGGAATGATCCCACTGAAATCCATCGGCTTCAGTTCATAATCCAGCTTCAGTTCTTTAGCGATGGCAGC
+CCACAGATCAACGTCAAAGCCCACGTATTTATCGCCCTGTTTAAATTCAAACGGAACGAAGGCAGTATCC
+GTCGCGACAACTAATTTTTTATCCGCGGCATGAGAAGAAACCGCAAAAGCCAGGGTCAGTGCAGCCAGTG
+AAACTTTTAATACAGACTTCATAGCATTTCCTTTTTTCTATCCACGGGACGATCCCCTGCGTGACATTCA
+CATATATGAAAAAATCGTGCCAGTTTTGCAACTCATTGATTTTTCGAGATGCGGCAAAAACGTGATGCAC
+GATTTATAGGGCAATACCCTGAAGATGCACCATTCTGGGGCACCAAACTGGTGCGCTAAAATTGTGCACT
+CAACACAGTGATTATTTAGCGTAAAACCTGATGAAAAAACAATCTTTATGTAACGATTGCGTGATGATGT
+GGATACAAAAAATTTACTTAACCAGCTGGTGATAGCAGATGGATGCACTAAATAAGTGCGTTGAGGCGGG
+CTACAAAACAAAACGGCCTCCTGTCAGGAAGCCGCTTTTATCGTGTACTAAAGTTCTGCACCATCAGCGA
+TGGATTTATTCGATGTTAGACTCGATAAACCACAGGAATTTATCCAGGTCGCGAGACGCGGCGGTCAGGA
+TATCTGCGGTGTCGTCATCTTTCGCTTCGCCAATCGCTTTGCGTACGTCATTAGCGACGATTGCGTAACG
+GTCAGCCAGCTCTTTCAGGTGATCCTGAACGTTGTGGATGTCCAGCGGGTAACTTTTCAGCGGAGTTTTG
+CTGTTGATAACTTGAGTGGTCCCCAGAGCTACACCGCCCAGCTGCACTGCACGTTCTGCCATGGTATCCA
+GATGATCGATCAGTGCAGTGCGGAAGCCATCCAGCATTTCATGTACGGCAATGAAGTTAGCGCCGCGCAT
+GTTCCAGTGCGCTTGTTTGGTAATCAAAGAAAGATCAATAAACTGGATAACCTGGCGATTCAGCAACTCT
+ACTGTTGCTTTTTTCTCGCTGTCAGAGACATCGTTGCGGGTATAAAGCAGATTGGTCGCTTTTGATTTAA
+CTAATTTAGCGGTACTCATAATTTCATATCCTCTTGATGTTATGTCCCAGTAATTAACGAGACTAAGTAT
+AGCACCAGCTATGTGTTCCGCTATTCTGGCTGTTCCTATCACACTAATAGTGGTAACAAGCGTGAAAAAA
+CAAAACCAATAAAAACTCAATGAGTTAGATATATTAATAAGAACAATTCTTATTTATTTGCTCGCCAGGA
+ATTTTCGGAATAAATATGCTTTTGCATAATTCGATATATAAAGACGGTATAGAGGAAAAGTAGCGAGAAA
+ATCTGCATGGTTATGCATAACCATGCAGAAATGTAAATTTAATTTATGTCTAATTCTTTTATTTTGCTCT
+CTTTGCGTACTGTCAGCGTAGAACCCATTGAAGCGGCGATGATAGCGCCGAGCGCCAGCAGCTGTATGGG
+TGTCAGTGTTTCTCCGAGGAAAATCATCCCGGAAACGGCAGCCAGCGCAGGTTCCATGCTCATTAGCGTA
+CCAAATGTGCGTGTTGGCAAACGGGTGAGGGCAATCATTTCCAGCGAATAAGGCAGAGCGGTCGAGAGAA
+TAGCGACAGCCAGACCCAATGGAATAACCGACCAGTGCCAGAGTGCTTCACCAGCCTGAAGCGCTCCAAT
+TGGCACGAAAATTAACGCTGCAATCAACGAACCAATTGCCACCGTCGCAGGGCCATGTTCCGCTCCTGCG
+CGTTGCCCACTTAAAATGTAAATAGCCCAACAAGCCCCGGCCCCCAGTGCCAGCGCACAGCCGGTTAAAT
+CGACATGGGAAACGTCTTGCCCCAGCGGTAGCAGGAACCACAGACCAAGAACCGCCAGCACAACCCAGAC
+GAAATCTACCGGGCGACGAGAAGAGAACAGTGCCACCGCCAGTGGTCCGGTGAACTCCAGCGCCACCGCA
+ATACCCAGCGGTACCGTCTGAATAGAAAGATAAAAAAGATAATTCATTCCACCCAGCGAAACGCCGTAAA
+ACAACAGCGGTAATCGTTGCTCTTTGGCAAAGCGCAGTCGCCATGGCTTAAAGAACGCGATGAGGATCAG
+CGTGCCTAATGCCAGACGCAGCGCAGTGACCCCCGGTGCGCCCACCAGAGGAAAAAGTGACTTAGCTAAC
+GAGGCTCCACCCTGAATAGACGCCATGGCAACGAGCAATATGACTATTGGTAACCAGACCGGCATTTTAC
+GTAATGAACCAGGCATCCTTTCTCCCACAAATATCTAAACCTAAGTAAAGCGTGGAGTGTACTGGATATA
+CCCAATGCTGGTTGAGCATTTGTTGAAAAAATTTTCCCCCGTTTTGACTAAAATGCGCCAGGATTGATGG
+AATCATTAGTCTGGTGATTAGGAATAATCTGGATGAATGACAGGGAAAACATGCGTAATACTTACGCAGT
+TCTCTGAAAAAGTGATTTAAATTTAGATGGATAGCGGTGTATGGAAACGTTCTGTTACATGAAATGGCCC
+GTTAGACATCATAAATCGCGAAGAGTTTCCCATTAATTTTTGATATATTTAAAACTTAGGACTTATTTGA
+ATCACATTTGAGGTGGTTATGAAAAAAATTGCATGTCTTTCAGCACTGGCCGCAGTTCTGGCTTTCACCG
+CAGGTACTTCCGTAGCTGCGACTTCTACTGTAACTGGCGGTTACGCACAGAGCGACGCTCAGGGCCAAAT
+GAACAAAATGGGCGGTTTCAACCTGAAATACCGCTATGAAGAAGACAACAGCCCGCTGGGTGTGATCGGT
+TCTTTCACTTACACCGAGAAAAGCCGTACTGCAAGCTCTGGTGACTACAACAAAAACCAGTACTACGGCA
+TCACTGCTGGTCCGGCTTACCGCATTAACGACTGGGCAAGCATCTACGGTGTAGTGGGTGTGGGTTATGG
+TAAATTCCAGACCACTGAATACCCGACCTACAAACACGACACCAGCGACTACGGTTTCTCCTACGGTGCT
+GGTCTGCAGTTCAACCCGATGGAAAACGTTGCTCTGGACTTCTCTTACGAGCAGAGCCGTATTCGTAGCG
+TTGACGTAGGCACCTGGATTGCCGGTGTTGGTTACCGCTTCTAATCACTTCGGTGATATAAAAAATCCGC
+CTCTCGGGGCGGATTTTTTTGTTTTAAGGTTTCGGGTCGAAAATATCGGTTCCGAGATGGTTGTAATCCA
+CCTTCTGTAACTGGAAGTTGGTGATGTATATCGGCCCGGCTTTCTTTTCAGATATAAACGGGTATTTGAT
+ATTTATTTCCTTCGCTTTAATTCCCGTCCACTGCGAGAAAAAGCCTAAGAAGTCATTGGCCGAGCGGCGG
+GCTTTAATCACCCGATGCGCTTTATCGTCGCTGGAAATGACCATAAAAGGCACCTGGAAATTTTGCTGAT
+ACTTATCATCATGAGCAAGGTATTGCACGTCTTTGCCGCGCTCTTTAAAGGCCAGACCGTGGTCAGAAAA
+GTAAACCAGCGAGAAGCTGCTGCCGCTGTTGCGTAACTGATCGTACAGCTTGCGCAGTAAATCGTCTGTT
+TGCGTCATGGTATAGAGATAGCACGACGTTTCTTTCGATTGCACAAAGGTTTCGTATTTTCCTTGTGTCC
+GGTCGCAGGCCTGCGGATGCGAGCCCATCAGATGTAGAACAATCAGCTGCGGTTGCGAGTGCTCTTGCGC
+CAGCACTTGAGCGGTCATATCCAGTAACGCTTCGTCTTTCGTGTTTTTATCTGCTTCAAAATTACCTTCT
+TTCAGGAAGTACACTTCATCTGCTCGTTTGGCGATGCTGGCGATGGCGGTATCGTATTCGCCGATTTGGC
+CCTGGTTGGAAAACCACCAGGTCTGGAAGCCCGCGCGATTTGCCAGGGTGACAAAGTTATCCTGAAACTG
+TGGTTTGCCATCGACAACGCGATTGAGCGTTAAGCCAAGCGATTTCTGCGTGGAGCCACTGGCGGCAATG
+TAGTCAGCAAATATCAAACCGTTAACGCTGCTGGCAAACGGGGTATTGTCCCAGTGACCGCCAAAGGCAC
+CGAGGGCATCGCGACGCGCGCTTTCTCCGATCACCACCACATAGGTCTGATACTTCGGCTTAACGGCAGT
+GACCGTCCAGGTATCTTTCATTCCGGAAAGTTTTGCCATCCGTTCTTGCTCTTCAATCACCTCGTTATTA
+TTGACGATGACATCCTTAGCAAAACGAAATACCGGATAGCCAGTATCTTTCAGTTTAAATACGCCGCCCC
+AGGCCAGGTTTTGCACGGGAGCAACAAAAAATGTCGCTACACTGAATACCAGGCACAGGCTGTCGAAGGT
+ATTCCAGCGCGCTTTTTCACTCTCTTTTTTTCGCCTGATCGCTATTACGCCGAGCGCAAAAATAAATATG
+CCGACCAGGTAGCTGTACCATGGAAAAATCGTCAGGATTTCGGTCGACTCTTCCATATTGGTGGAGTGCA
+ATGCCAGCAATGTATTGAAGTTAGGCGCGCCGTAGGCCTGAGCAAAAGGGAAATAACAAGCCGCCACCAG
+CGAGCTGATACCGACCAGAACTTTTTGTACGCGAGGCAATGTTCGCCATAGCAAAAGCAAAATAGCCGTA
+AACGCAGCGGTGTAGAGCAAACTGAAGGGGTAACCTAAGCCGAGGTTAATTAATAGCGACTGTAAAAAGT
+AGAACGCAGTCCACGGGCTAAATACCCGGCTACGGGTAACAAGCGATTCTTTGAGGGTTAAATTCATATG
+CCACTATCGTAACAAACGCCATGTGCTTACCCTGGCGTCAAGGGTCAATACCTGCAAGAGTGCGTGAAGA
+GGGGAAAGGGGTCCGCATCCGCGAGCCGCAATATACGCAGGGCTGCAAGAAGATAGAGCGAGCTGCTGTT
+CAGGTCAACTACCGACGAACAAATCTTTTGCGAAGGGGATTGCAAATCCGACAAAAAGTGGGGTTTTTCA
+GACCAAAACGCGTTGTGCCTGCATAAAAGCAGGAGTGAAGCGGCGTACCGCGACGCCGCTATTTATCGGA
+AGGTTTATCCTGCTGCGGTTTGTTGTTGACCATATCGCACAACATAGAGAGCAGCATTAACCGTACTTTA
+AAGGGAGAATGACTAAACACGCGCATACACCTCTTGAACTCATTCATAAGACCTCCTTACTTGCTAATCC
+CATCGATCCTTGAGGGATGATTGCATTACATACAGATATAGCACAGGCTATATTATATAGCTATTGCTAA
+AACGTTAATTTTTTGTACCCTCGCAACTCTGGTTTACAATGTGCGCACGAAATGAGAACGCTATGTATGC
+GTCACCATAATGAGGAAGCACAATGAGTCGTCGCGCAGGTACGCCAACAGCAAAAAAAGTGACGCAGTTA
+GTGAACGTGGAAGAGCACGTTGAAGGGTTCCGCCAGGTCAGAGAGGCGCATCGGCGCGAGCTGATTGATG
+ATTACGTTGAGCTGATTTCTGACTTGATCAGGGAAGTGGGGGAAGCTCGTCAGGTGGACATGGCTGCTCG
+TCTGGGGGTTTCGCAACCGACGGTGGCTAAAATGCTTAAGCGACTGGCAACCATGGGGCTGATTGAAATG
+ATCCCCTGGCGTGGCGTGTTTTTAACGGCAGAAGGAGAGAAGCTGGCGCAGGAAAGCCGCGAGCGACATC
+AGATAGTCGAAAATTTCTTGTTGGTGTTGGGCGTCAGTCCGGAAATCGCCCGTCGCGACGCGGAAGGTAT
+GGAGCACCATGTTAGTGAAGAGACGCTGGATGCCTTTCGTTTGTTTACCCAGAAACACGGTGCCAAATGA
+GCCTGCCTTTTTTACGCACGCTGCAAGGCGATCGTTTTTTTCAGTTATTAATTCTTGTTGGCATCGGATT
+AAGTTTTTTCGTTCCCTTTGCACCGAAATCCTGGCCTGCTGCTATCGACTGGCACACCATCATCACCTTA
+AGCGGCCTGATGCTGCTGACCAAAGGTGTCGAGTTAAGCGGTTATTTTGATGTGCTGGGGCGCAAAATGG
+TGCGCCGTTTTGCTACGGAGCGTCGGCTGGCGATGTTTATGGTACTGGCGGCAGCGCTGCTTTCTACCTT
+TCTGACCAACGATGTCGCACTGTTTATAGTTGTTCCGCTGACTATCACGCTAAAAAGACTGTGTGAGATT
+CCGGTTAATCGGCTGATTATTTTTGAGGCGCTGGCAGTCAACGCTGGTTCGCTACTGACGCCAATTGGCA
+ACCCGCAAAATATTCTTATCTGGGGACGTTCTGGTCTTTCGTTTGCCGGATTTATTGCCCAAATGGCACC
+GCTGGCTGGCGCAATGATGCTGACACTCCTGCTGTTGTGCTGGTGTTGTTTCCCTGGAAAGGCGCTGCAA
+TACCATACGGGGGTGCAAACGCCGGAGTGGAAACCGCGGCTGGTGTGGAGTTGTCTGGGGCTGTATATCG
+TCTTTCTGACGGCGCTGGAGTTAAAACAAGAGCTGTGGGGACTGGTGATTGTGGCGGCGGGCTTTGCGCT
+GCTGGCGCGTCGTGTGGTGCTCAGTGTGGACTGGACGCTGCTGCTGGTGTTTATGGCGATGTTTATCGAC
+GTCCATTTACTAACCCAACTGCCAGTTTTGCAGGGGGTGTTAAGTAACGTGAGTCATTTATCCGAACCCG
+GATTATGGTTAACGGCGATCGGTTTATCGCAGGTGATCAGTAACGTGCCGAGTACCATTTTGCTGCTCAA
+TTATGTGTCACCGTCTTTATTACTGGCATGGGCGGTAAACGTGGGGGGCTTTGGTTTATTACCCGGATCG
+CTGGCAAATTTGATTGCGTTACGGATGGCGAACGATCGCCGTATCTGGTGGCGTTTTCATCTTTATTCGA
+TACCGATGCTGTTGTGGGCGGCGCTGGTGGGATATGTTTTGTTGGTTATGATCCCGGCGGGATAAGGTCT
+GTCAAATTAAAAAGGCGGATTATGAGTCCGCCTTTGCTTTACGTTTTGAAGATTAATTCAGACGAACCGG
+CATCCCGGAACGATTTTTGATCGCTTCATCCAGAACAACCTGGTCAACATCTGGCTGACCGGTCACTGTC
+TGCACGCTCTTCGTCAGGGTAATTGGCACAATTTCCTGACCTTCAAACTGGGCTTCGGTTGTAGACAGCG
+GGTTATGGACTTCAATATAACGGCTGCCGTCTGGCTCGGTGGTCGCTTTTACCGGCTCATCAATAAACTG
+TACGCGGGTACCGACCGGTACTTTCTCGAACAGGAATTTGATGTCTTCGTTACGCAGACGCACACAACCA
+TGACTTACACGCAGGCCGATACCGAAGTTGGCGTTGGTGCCATGGATAGCGTACAGGCGACCGATGTAGA
+GTGCATACAGCCCCATCGGGTTATCCGGACCAGCCGGAACGACCGCCGGAAGCGGTTCGCCCGCAGCGCG
+GTACTCTGCGTGCATTTTAGCGGTCGGCGTCCAGGTCGGGCCTGCTTTTTTACGCTCAACTTTGGTGGTC
+CAGTTGATAGGCGTGTCTTTGCCTAACTGACCAATGCCGATCGGCAGCACGATAACGGTGTTGGTCCCTT
+TCGGATAGTAATACAGACGCATCTCTGCACTGTTAATGACGATGCCTTCATGAACGGTATCCGGCAGGAT
+CAGCTGCTGCGGAATGTTCAGTACAGTACCGCCTTTCGGCAGGAAGGTATCCACACCCGGGTTCGCTTCC
+ATCATATTGGAAAGTCCCATCTGGTACTCGGCGGCAAAATACTCCAGCGGCTGAGTGTTACCTTCAGGAA
+TGGTGATCACCTGATTCTGACCAACCAGGCGACTCCCGTCGGTTGGCAGAGGATAAGTTACCGCAGAGGC
+GGTACTGCAAAAGCCGACAACAGCGAAGGCCGCTGCGAATAATGTTTTCAATTTCATATTCATGTTAAGC
+GAGATTTTGTGCCTGGCAGGCCATTGGGTTGAGAATATTAGAGTATTGGAAGCGCATTATAAGTTCATTC
+CAGCTCACAGTGAAATCAGATGTGTACGAAATCACATTTTTTGCCTTTGGCTTGAGTGTAGACCTTAAGC
+GAGGAGCAGGATCTTCTTTCAGACTTATGGCATAATGCGCGGTTTGTCATATCTCTTTTCAGGATACGCC
+TGTGTTAGTTTCCAGTAACGTCACCATGCAGTTCGGCAGTAAGCCGTTGTTTGAAAACATTTCCGTCAAA
+TTCGGCGGCGGCAACCGTTACGGCCTGATTGGCGCGAACGGTAGTGGTAAATCCACCTTTATGAAGATCC
+TCGGCGGCGACTTAGAGCCGACGTTGGGTAACGTTTCCCTCGATCCCAATGAGCGCATTGGTAAGCTGCG
+TCAGGATCAGTTTGCCTTTGAAGAGTTCACTGTGCTGGATACGGTGATCATGGGGCATAAAGAGTTGTGG
+GAAGTGAAGCAGGAACGTGACCGCATCTATGCTTTGCCGGAAATGAGTGAAGAAGACGGCTATAAAGTGG
+CCGATCTGGAAGTGAAATACGGCGAAATGGACGGTTACTCTGCGGAAGCTCGCGCTGGTGAACTGTTGCT
+TGGCGTGGGAATTCCAGTGGAACAGCACTACGGCCCGATGAGTGAAGTTGCTCCTGGCTGGAAGCTGCGT
+GTGCTGCTGGCGCAGGCGCTGTTTGCTGATCCGGACATTCTCCTGCTCGACGAACCGACCAACAACCTCG
+ACATCGACACCATTCGCTGGCTGGAACAGGTGCTGAACGAGCGTGACAGCACCATGATCATCATCTCGCA
+CGACCGTCACTTCCTTAACATGGTTTGTACCCACATGGCGGATCTGGATTACGGCGAGCTGCGCGTTTAT
+CCGGGCAACTACGATGAGTACATGACGGCGGCGACTCAGGCGCGTGAACGTCTGCTGGCTGATAACGCCA
+AGAAGAAAGCGCAGATTGCTGAGTTGCAATCTTTCGTTAGCCGCTTTAGCGCCAACGCCTCGAAATCTCG
+CCAGGCAACTTCGCGCGCGCGCCAGATTGATAAAATCAAACTGGAAGAGGTGAAAGCCTCCAGCCGTCAG
+AACCCGTTCATCCGTTTTGAACAGGATAAGAAACTGTTCCGTAACGCGCTGGAAGTGGAAGGTCTGACTA
+AAGGGTTTGATAACGGTCCACTGTTTAAAAATCTCAACCTGCTGCTGGAAGTGGGTGAAAAACTGGCTGT
+ACTGGGTACCAACGGCGTCGGTAAATCAACGCTGCTGAAAACGCTGGTGGGCGATCTGCAACCGGACAGC
+GGCACCGTAAAATGGTCTGAGAACGCGCGCATTGGTTACTACGCCCAGGACCATGAATATGAGTTCGAAA
+ATGATCTGACCGTGTTCGAATGGATGAGCCAGTGGAAGCAGGAAGGCGATGACGAGCAGGCGGTACGCAG
+CATTCTCGGTCGTTTACTGTTCAGCCAGGACGACATCAAAAAGCCAGCGAAAGTGCTTTCCGGTGGGGAG
+AAAGGGCGGATGCTGTTTGGTAAGTTAATGATGCAGAAGCCGAACATTCTGATCATGGACGAACCGACCA
+ACCACCTGGATATGGAATCCATCGAGTCGCTGAACATGGCGCTGGAACTGTATCAGGGCACGCTGATCTT
+TGTTTCTCACGACCGTGAGTTTGTAAGCTCCCTGGCGACCCGTATTCTGGAAATCACCCCGGAACGCGTG
+ATCGACTTTAGCGGTAATTACGAAGATTACCTGCGTAGTAAAGGGATCGAGTAAGTTATTATCAGTAGCC
+CTGATATGGTCAGGGCTACTGAAACTGATGACAAACGCAAGATTGCCTGGTGCGCTACGCTTATCAGGCC
+TGGTAGTGTATCGCAATATATTGAATTTTCATGATTTTGTATGCCAAATAAGGCGGTTACGCCGTATCCG
+GCATAATGACATGCACTTTCTCAATAAACTGAATTGGCGATAATCAAAGATTAAACGGCGGTTTATTTTC
+CAGCACCGCCTGAATCACATTCAGCGCGCCTTCATGATTATTATCATCGGTAGCGTAACGGGCGATTTGT
+TTAATGTTTTCCGCAGCATTGCTCATCGCAAAGGAATAACGCGCCATTTTCAGCATCTCCGCATCGTTAC
+CGCTGTCGCCAATCGCTACCACATTTTGCGGTGACAGATCCCAGCGTTTCAGTAACCGCGAAATACCGTT
+TGCTTTATGTAGACCGGGAATAATCAAGTCGATAAAGCCAAAACCACTGGTGACGGGTTTCATAATGCCA
+TCCAGCGCTATGTGCAGTTTGTCGATCACTAACGGGATTTGTTCATCCGGCAGGTTGAGCGAAAACTTGA
+ACAGTACGTCGTCAATCTCCTGATAATCTTTTACAGGTTTCAGGCGATGGTAGTGTTTTGCCATCAGTGC
+GACGAATGCTTCGGGGGCATTTTCGCTGACATATGCACTTTGCAGACCGCAGGCGACAAAATTGAGTTGC
+TTATCTTTTAGCAACTCGCCAATAACAATCCGCGATTCATGTCGGGTCAGTTCGCCGTGGAACAACTGCT
+TGCCATGTTCGTAAACCAGTGCGCCGTTTTCCGCGACAAAAGAGATCTCATCCTTTAGCTCAGGAAAGAA
+CGAAATAAGCTGGTAATACTGATTACCGCTGGCGACAACGAACTCAATGCCGCGCTTTTTAAGTTCCTGA
+TACTGCGCCATAAAACGTGGTTGGTTGTACGTTTTGGCGTCGTTAAGAAAAGTACCGTCCATGTCTGTGA
+CGATAACTTTTACGCTCATAGGTGTGCTCCTGGCTCGAAAATGAAACCGTAACAGTGTAATAACAATGTG
+ACGCAGAGCACAAATTATATTTCGAATGAAAGTGAGAGCGGAATTGATGATGTGAATGATTTGACCCGGC
+GACGACGCCGCCGGGCTGAGGAGATTACAGCATATGTTCAGTACGGGCGATGATATCGTCCTGAGCGTCT
+GGAGAGAGCGCGGTGAAGAAGGCGGAATAGCCCGCGACACGCACTACCAGATCGCGGTACTGATCCGGAT
+GTTTTTTCGCTTCCAGCAGCGTTTCGCGGGAAACGATGTTGTACTGAATATGCCAGCCTTTATGCACCTC
+GAAGAAGGTGCGCAGCAGGATCATCAGTTTCTGCTTGTCAGATTCGTTCTCCAGCGTTGCTGGATTCAGT
+TTCTGGTTGAGCAGCACGCCGCCGAGAATCGCGGCCGTAGGCAGTTTACCCACCGAGCCAATGACCGCAG
+TAGGGCCGAGATGGTCAGTACCGGAGGCCGGACTAGCGCCTTCTGCCAGCGGGGTATGTGCTTTACGTCC
+GTCCGGCGTTGCCATCGTCTGCGCGCCAAACGGTACGTTAGCGGAGATAGACGATGTGCCCGCATAATAG
+TTGCCGCCAATCGGACCACGACCGTAGCGCGGGTTATGGTACTGCTTCAGTTCGTCGATATAGGTCTGAT
+AAGCGCGAGCCAGCAGCGTATCGACAGTATCATCGTCGTTGCCGTACTTCGGCGCACCGTTAATCAGCCG
+CTGACGCAGCTGCTCGTGAGTCAGACCGTCGAAGTCATCCGCCAGTGCGGCAGCCAGCTGTTGCTGACCA
+ATCGCGCCCTGTTCAAATACCAGTTTCTTCACTGCCGCCAGGCTGTTGCCGAGGTTAGCAATGCCGACCT
+GCAGGCCAGAAACCCAGTCATATTTCGCGCCGCCTTGCTTGATACTTTTCGCTCGCTCAATACAGTCATC
+GACCAGCGCCGAGCAGAGAATATCGTGTACGTTCTCTTCCAGCATGGTATCGACGACATATTCGATTTCG
+ATTGATTTACGCGTGTAGTAACGGATTTGCGTATCCCATGCGTCCATTACTTCATCGAAGTTGTTGAAGT
+TACCCGCTGACAACGCTTTTGCTTGTGGCAGGAACACTTTGCCGCTGGTGGCATCACGACCACCTTCCAG
+CGCCGCCAGCATCACGCGGGCGAAGTTGATAAAGCTCATGCCGGTACAGCGATAGCCCCATTTGCCACCG
+ACGGCGGTTTCGATACAACCAATTGCTGCGTAGTCGTAAGCGTCCTGCGGTTCAATACCGAGTTTAATAA
+ATTCCGGGATCACGATTTCGTCGTTGTTGAACGCCGGCATCCCGAAGCCGCAGCGGATCACCTGAACACA
+GGCGTCGAGGAAATCGTTACTCATACCCGCATGGTAACGCACGCTGAGGTTAGGCTGAGTCGAACGCAGG
+CGACCGCAAGATTCGAGGATCGCATAAGAGAGTGGATTTACCGCGTCCATCGGTTGACCATCAACCAGAT
+TTTGCCCGCCAATGGTGACGTTCTGATACAGCGGACTTCCCGCAGAGGCTTTTGAGTGTGAGCCGGAGCG
+GATTTTGTTCACTTCCAGCAGTTTCAGCCAGCAGCTATGCAGCATCTCGATGGCGTGTTCGCGATCCAGT
+GTCTGGTTCAGTTCAACGTCACGGCGATAGTATGGGTAGAGATACTGGTCCATACGACCAAACGATACCG
+AGTGACCGTTAGATTCGATCTGCAAAATCAACTGGATGAAGTAGCACAGTTGCAGCGCCTGCCAGAAAGT
+CTGCGGCGGCTGGTGGGCGATAAGATCGCAGTTTTCTGCTATCGTCAGCAGTTCATCGCGACGACTTTCG
+CGGGTTTCGGTCGCGGCCATTTCACGCGCCAGGGCAGCGAAACGTTCAATGTGTTCACTGACTGCCACCA
+GCACGATATCAATCGCTTTCAGGAATTGCTCGCCGTGCAGATCTTCCAGAACCGTCAGATTGATGTGCGA
+GCGACGTTCCGCCACTTTCTCACGCAGACCATCAAGACCTTTTTCCAGCAGTAGCGGGAAATTGACCGCC
+AGGTGCGCATCGCCGGAGGTCATATTGCCCTCCGCTTTAATGATTCCGGTCGCCAGCAGACCTTTTTGCT
+CATCGGTAAACATGCCGTAGCAGCGATCCTGTACGGTCTGACCGCGCCACCACGGGCACACTTCATGCAG
+AACGCGTTTGTTCTCTTCGCTCACCGCAAAACCAGCACCGGGACGATCTGCCAGATCATCAATCTCTTTT
+TCGATCCACGAGACGGTATATTCCGGGAAGATCGGCGCGGCGCGAACTTCGCTTGCCTGGTTGCCAATGA
+TCAACTCATCGTGCTTGATCCAGATGGTGCGATTCGCCAGGTGATGCGCCAGTGCCAGCGCGCGACGTAC
+CGGGATTGGCTTATCGAGATGTTGTTGATACATCTCGGTATAGTGTTGTGCTCGTTCGGTACAGACCGGC
+GGTTTCACAATATGCACCAGCGCATTTTTGTGCGCTTTAATGCGGTCGCTGAGCGTATCCAGTTTTAGTG
+TTGTCATGATTGTTATCCTCGTAAGGTCGCGGTTAACCCTTTCTGGCAGGCATACTGCTGGGCAAAGTCG
+AGCAGTTCTGGCGCATCAAGCGGTTTTTCCGGGGCGTCATAGGGCAGATTAAGTAAGTGATATTTGTTGA
+TGCCCAGTGTGTGGTAGGGCAGAAAATGAATTTCGCTAACGTGCAGCTCGTCGGCGGCAAAATCGGTAAT
+GGCTTTCACAGAAGTTTCGTCGGCATTAAAGCCCTGAATCAGTGGCACGCGGATAATGATTTTTTTGCCG
+GCTGCGGCGAGTTTTTTCAGGTTATCCAGCACCCTGGCGGCGTTACCGTCGGTCCACTGTTTAAACGGCG
+CGTCGGCAACGTGTTTTAAATCGGCAAGAAACAGATCGATATAGGGCAGAGAAGGGGCGATATATTTCCA
+CGGCACATGCAGACAGGTTTCTACCGCAGTATGAATGCCGGCCTCGTGGCTGGCTTGCAGCAGCGCCGTC
+GCCATTTCCGGCTGCATAAACGGTTCACCGCCAGAAAGCGTTAAGCCGCCGCCGCTGCGATCGTAAAACG
+GTTTATCGCGCAAAACGGTTGCCATGATCTCCTCAACGCTTTTCACTTCACCACACACGGTTAACGCCTG
+TGTCGGGCAGCAGTCGGTTAGCGCCGTAAAATGCTCCGGGGTTAACTTTTCCCGATGAATAAGCAAACCA
+TTCAACGCGCGCTCAATCACTTCCGGTGCGGTCTTAGCGCACAGCTTACAGCCTTCCAGACAGAGTCGTG
+GGTCATACAGCAGATCCTGCGTGCGGGCGCGGCTTTCCGGGTTCTGACACCAGCGGCAGCCCAGCGAACA
+GCCTTTAAGAAATACGACCGTGCGGATACCGGGGCCATCATGGGTCGAGTAGCGTTGAATATTGAAAATC
+ATAGTTGCCTCTCTGTTTCGTTCAAACATTAAAATACTTTCGAATGAAAGTTAGATTGATGTGCGTCAAC
+TGTTCAGAGAGTTTTCCCGTGATAGTCTACATTCAGACAAAAAGTACATTTTGAGGATGGTTATGGAACT
+GTATCTGGATACTTCAGACGTTGTTGCGGTGACGGCGCTGTCACGTATTTTTCCGCTGGCGGGTGTGACC
+ACTAACCCAAGCATTATCGCAGCGGGTAAAAAACCGCTGGAGGTTGTGCTTCCGCAACTTCACGAGGCGA
+TGGGCGGTCAGGGGCGTCTGTTTGCCCAGGTAATGGCTACCACTGCTGAAGGGATGGTTAATGACGCACG
+TAAATTGCGTTCTATTATTGCGGATATCGTGGTGAAAGTTCCGGTGACCGCTGAGGGGCTGGCAGCTATT
+AAGATGTTAAAAGCGGAAGGGATTCCGACGCTGGGAACCGCGGTATATGGCGCAGCACAAGGGCTACTGT
+CGGCGCTGGCAGGTGCGGAATATGTTGCGCCTTACGTTAATCGTATTGATGCTCAGGGCGGTAGCGGTAT
+TCAGACTGTGACCGACTTACACCAGTTATTGAAAATGCATGCGCCGCAGGCGAAAGTGTTAGCCGCGAGT
+TTCAAAACCCCGCGTCAGGCGCTGGACTGCTTACTGGCAGGATGTGAATCAATTACTCTGCCGCTGGATG
+TGGCACAACAGATGATTAGCTATCCGGCGGTTGATGCCGCTGTGGCGAAGTTTGAACAGGACTGGCTGGG
+AGCGTTTGGCAGAACGTCGATTTAACCGGACGTTCTGCATCCTCATAAATTGCTGATGACGTGGCGGAGT
+GCCGCGTCTTATCTGGCCTGGAGGTGGCAGTTACTGCCCGCACACCTCACACCCCGGATTACGCATCAGT
+TTCATTTCGCGAAACTGACAGGTCATCGCATCGTACATCACGATTTTCCCGCAGGCTGGTTTGCCATAAC
+CTGCCAGCAGTTTGATTGCTTCCATTGCCTGCAACGAACCAATTACGCCGATTAACGGTGCCATCACGCC
+TGCTTCTACGCAGGTTAACGCGTTCTCGCCAAACAAACGGCTAAGGCAGCGATAGCACGGTTCGCCGTCC
+TGATAAGTGAAGACCGTGATTTGCCCTTCCATACGAATTGCCGCGCCGGAAACCAGCGGCACCTTCGCGG
+CAAAACAGCCTGCGTTCAGTTGATTACGTACTGCAACGTTATCCGTACAGTCGAGCACCAGATCGTGTTT
+TGCAATCATCGCAGCAAGTTCAGCGTCATCAAGCAGCGCATTGACTGGCGTAATCGCGATATGTGGGTTG
+ATCCGCGTCAGGGCGTCACGGGCGGATTCCACCTTTGGTTGCCCGACCGTGGCATCACTGTGCAGCGTCT
+GGCGTTGCAGATTGGAGAGCGAAACCGTGTCGAAGTCGAGCAGCGTCAGGTTGCCGACACCGGCGCTTGC
+CAGATACTGCGAAGCTGCGCAGCCGAGTCCACCAAGGCCGACGACCAGCACACGAGAATCTTTTAGCGCC
+TCCTGACCGTCAAAATCAAAACCGCGCAGAATGATTTGCCGGTTGTAGCGCAGCATCTCCTGATCGCTGA
+GTTCTGCCATTACAGGCCTCCGAACAACGCGTTAAACGGTTCGACTTCCACCCATTCGCCCACGTCAACA
+TTGCCGCGCTCGCGTTCCAGCACGATAAAGCAGTTGCCGAGGCTAAAGGAGCTAAATATATGTGAACCCT
+GATGTCCGGTGGTCGTCACTTCCAGTTCGCCATCGGCGTTGCGTTGCAGCACGCCGCGCTGGAAATCAAG
+GCGTCCTGGCGTTTTTTTCAGGCGGGACGCTGTGCGTACACGCTGGCGCGCGGGCAGGCCACTGGCGGTA
+TTGCCGCTTAGTTTTGCCAGCAAAGGCTGTACCAGTTGATAGAAGGTCAGCGTCGCTGAAACCGGGTTGC
+CCGGCAGGCCGCAGAACCAACTATTAGAAAGTTTACCGAATGCGAACGGTTTACCCGGTTTAATCGCCAG
+TTTCCAGAAGGCGATCTCCCCCAGCTCTTCAAGAATCGTTTTGGTGTAATCCGCTTCACCCACTGAAACA
+CCGCCGGAACTGATCACCACATCCGCCTGGCTGTCGGCTTCAATAAATGCGGCGTGCAGGGCATGGGGAT
+CGTCGCGGATAATCCCTAAGTTGATTACCTCGCATCCCAACTGTTCTAACATCAGGTGTACGGCGAGACG
+GTTGGTATCGTAGATTTGGCCGTCGCCCAGCGGCTGACCGGGCAACTGGAGTTCATCACCGGTAGAAAAA
+AGCGCTACACGCACTTTACGAATCACCGGAACTTCGGCAATCCCTAGCGAAGCAATCACTGGCAGTTCAG
+CGGTAGTCAGGCGAGTCCCCGCCGGGAAAACAACCGCACCTGCAGAGATATCTTCACCGCGACGGCGAAT
+ATTTTGCCCGCTACGCGCTTCAGCAGTAAAACGCACGCCATTGTCCGTTTGTTCAGTCTGCTCCTGCATC
+ACCACCGCTTCGCAGCCTTCCGGCACCGGCGCACCGGTCATAATACGAATGCAGGTACCCGCAGGCCATT
+CACCATGGTACGGCTGACCGGCAAAGGATTTACCGGCAACGGGCAGCGGTTGCCCGGAGGCAATATCGGC
+TAAACGCACCGCGTAGCCGTCCATAGCGGAGTTATCAAACCCCGGGACATCCAGTGGCGAAACGACATCG
+CTCGCCAGAATACGGCCAAAACACTGAACCAGTGGCAGCGTTTCCTGGGCGGTCAGTGGGGTAACGCGAG
+AAAGCATCTCATTAAGCGCGGTGTCGAGCGACATCAATCCGGTGGTAAATTCCATGAAAACACTCCTGCG
+GAGGCAAAATCGAATTTGCCTATTATGTCAGAAAAACGCCACAGACTGTATGCCACCTCGGGCGTAGCGC
+TGGCTCCTGCCTTTACATGCCATATCCATCTTTCTATATTCAAAAATTGAATGAGTCATTCATAAAAATT
+CTGATATTTATAGCAAAAGTGGCGAGCCACCCTTAATGGACGAATACTATGGGCAAAGCAGTCATTGCAA
+TTCATGGTGGCGCAGGTGCAATTAGCCGCGCGCAGATGAGTCTGCAACAGGAATTACGCTACATCGAGGC
+GTTGTCTGCCATTGTTGAAACCGGGCAGAAAATGCTGGTAGCGGGCGAAAGTGCGCTGGATGTGGTGACG
+GAAGCGGTGCGTCTGCTGGAAGAGTGTCCACTGTTTAACGCCGGAATTGGCGCTGTCTTTACGCGTGATG
+AAACCCATGAACTGGACGCCTGTGTGATGGATGGTAACACCCTGAAAGCCGGTGCGGTGGCGGGCGTTAG
+CCATCTGCGTAATCCGGTTCTTGCCGCCCGACTGGTGATGGAGCAAAGCCCGCATGTGATGATGATTGGC
+GAAGGGGCAGAAAATTTTGCGTTTGCTCATGGCATGGAGCGCGTCTCGCCGGAGATTTTCTCCACACCTT
+TGCGTTATGAACAACTAATGGCAGCGCGCGAGGAAGGGGCAACCGTCCTCGACCATAGCGGTGCGCCACT
+GGATGAAAAACAAAAAATGGGCACCGTAGGGGCCGTGGCGTTAGATTTAGACGGCAATCTGGCGGCAGCC
+ACGTCCACGGGCGGAATGACCAATAAATTACCCGGACGAGTTGGCGATAGTCCCTTAGTGGGGGCCGGAT
+GCTATGCCAATAACGCCAGTGTGGCGGTTTCCTGTACCGGCACGGGCGAAGTCTTCATCCGCGCGCTGGC
+GGCATATGATATCGCCGCGTTAATGGATTACGGCGGATTAAGTCTCGCGGAAGCCTGCGAGCGGGTAGTA
+ATGGAAAAACTCCCTGCGCTTGGCGGTAGCGGTGGCTTAATCGCTATCGACCATGAAGGGAATGTCGCGC
+TACCGTTTAACACCGAAGGAATGTATCGCGCCTGGGGCTACGCAGGCGATACGCCAACCACCGGTATCTA
+CCGTGAAAGAGGGGACACCGTTGCCACACAGTGATGAACTTGATGCCGGTGATGTGCTGGCGGTTGAAAA
+TCTGAATATTGCCTTTATGCAGGAGCAGCAGAAAATAGCTGCGGTCCGCAATCTCTCTTTTAGCCTGCAA
+CGTGGTGAGACGCTGGCAATTGTTGGCGAATCCGGCTCCGGTAAGTCAGTGACTGCGCTGGCATTGATGC
+GCCTGTTGGAACAGGCGGGCGGTTTAGTGCAGTGCGATAAAATGCTGTTGCAGCGGCGCAGTCGCGAAGT
+AATTGAACTTAGCGAGCAGAGCGCTGCACAAATGCGCCATGTGCGCGGTGCGGATATGGCGATGATATTT
+CAGGAGCCGATGACATCGCTGAACCCGGTATTTACTGTGGGTGAACAGATTGCTGAATCTATTCGTCTGC
+ATCAGAACGCCAGTCGTGAAGAAGCGATGGTCGAGGCGAAGCGGATGCTGGATCAGGTACGCATTCCGGA
+GGCACAAACCATTCTTTCACGTTATCCGCATCAACTCTCTGGCGGGATGCGCCAGCGAGTGATGATTGCG
+ATGGCGCTGTCATGCCGCCCGGCGGTGCTGATTGCCGATGAGCCAACCACCGCGCTGGATGTCACTATTC
+AGGCGCAGATCCTGCAATTAATCAAAGTATTGCAAAAAGAGATGTCGATGGGCGTTATCTTTATCACTCA
+CGATATGGGCGTGGTGGCAGAGATTGCCGATCGGGTACTGGTGATGTATCAGGGCGAGGCGGTGGAAACG
+GGTAGCGTCGAACAGATTTTTCATGCACCGCAACATCCTTATACCCGTGCGCTGTTAGCTGCTGTTCCGC
+AACTTGGTGCGATGAAAGGGTTAGATTATCCCCGACGTTTCCCATTGATATCGCTTGAACATCCAGCGAA
+ACAGGAGCCACCCATCGAGCAGAAAACGGTGGTGGATGGCGAACCTGTTTTACGGGTGCGTAATCTGGTC
+ACCCGTTTCCCTTTGCGCAGCGGTTTGTTGAATCGCGTAACGCGGGAAGTGCATGCCGTTGAGAAAGTCA
+GTTTTGATCTCTGGCCTGGTGAAACGCTATCGCTGGTGGGAGAGTCTGGCAGCGGTAAATCCACCACCGG
+GCGGGCGTTGCTGCGCCTGGTCGAATCGCAAGGCGGCGAAATTATCTTTAACGGTCAGCGAATCGATACC
+TTGTCACCCGGCAAACTTCAGGCATTGCGCCGCGATATTCAGTTTATTTTTCAGGACCCTTACGCTTCGC
+TGGACCCGCGTCAGACCATCGGTGATTCGATTCTCGAACCGCTGCGCGTACACGGTTTATTGCCAGGTAA
+AGAAGCGGCTGCACGCGTTGCGTGGTTGCTGGAGCGCGTGGGCCTGTTACCGGAACATGCCTGGCGTTAC
+CCTCATGAGTTTTCCGGCGGTCAGCGCCAGCGCATCTGCATTGCTCGCGCGTTGGCATTGAATCCAAAAG
+TGATCATTGCCGACGAAGCCGTCTCGGCGCTGGATGTTTCTATTCGCGGGCAGATTATCAACTTGTTGCT
+CGATCTCCAGCGTGATTTCGGCATTGCGTATCTGTTTATCTCCCACGATATGGCCGTGGTTGAGCGGATT
+AGTCATCGTGTGGCGGTGATGTATCTCGGGCAAATTGTTGAAATTGGTCCACGGCGCGCGGTCTTTGAAA
+ATCCGCAGCATCCTTATACGCGTAAATTACTGGCGGCAGTTCCGGTCGCTGAACCGTCCCGACAACGACC
+GCAGCGTGTACTGCTGTCGGACGATCTTCCCAGCAATATTCATCTGCGTGGCGAAGAAGTTGCAGCCGTC
+TCGTTGCAATGCGTCGGGCCGGGGCATTACGTCGCACAACCACAATCAGAATACGCATTCATGCGTAGAT
+AACATTCAGGCGGAGAATAAAATGGCAAGAGCTGTACACCGTAGTGGGTTAGTGGCGCTGGGCATTGCGA
+CAGCGTTGATGGCATCTTGTGCATTCGCTGCCAAAAATGTGGTGGTGGCAGTAGGATCGAACTTCACCAC
+GCTCGATCCGTATGACGCAAATGACACGTTATCTCAGGCCGTAGCGAAATCGTTTTACCAGGGGCTGTTC
+GGTCTGGATAAAGAGATGAAACTGAAAAACGTGCTGGCGGAGAGTTATACCGTTTCCGATGACGGCCTTA
+CTTACACCGTGAAATTGCGGGAAGGCCATTAAATTCCAGGATGGCACCGATTTCAACGCAGCGGCGGTGA
+AAGCGAATCTGGACCGGGCCAGCGATCCGGCGAATCATCTTAAACGCTATAACCTGTATAAGAATATTGC
+CAAAACGGAAGCGATCGATCCGACAACGGTAAAGATTACTCTCAAACAGCCATTCTCAGCGTTTATTAAT
+ATTCTTGCCCATCCGGCGACCGCGATGATTTCACCGGCAGCGCTGGAAAAATATGGCAAGGAGATTGGTT
+TTCATCCGGTGGGAACCGGACCGTATGAACTGGATACCTGGAATCAGACCGATTTTGTGAAGGTGAAAAA
+ATTCGTGGGTTACTGGCAGCCAGGATTGCCCAAACTGGACAGCATAACCTGGCGTCCGGTGGCGGATAAC
+AACACCCGCGCGGCAATGCTGCAAACCGGTGAAGCGCAGTTTGCTTTCCCCATTCCCTACGAGCAGGCCG
+CACTGCTGGAGAAAAACAAAAATATCGAGTTGATGGCCAGTCCGTCAATTATGCAGCGTTATATCAGTAT
+GAACGTGACGCAAAAGCCGTTCGATAACCCGAAGGTCCGTGAGGCGCTGAATTACGCCATTAACCGCCCG
+GCGCTGGTGAAAGTGGCCTTCGCGGGCTATGCAACGCCAGCTACTGGTGTGGTACCGCCGAGTATCGCCT
+ACGCGCAAAGTTATAAACCGTGGCCTTACGATCCAGTGAAAGCGCGCGAATTACTGAAAAAGGCGGGATA
+TCCCAACGGTTTCAGTACCACGCTGTGGTCGTCACATAACCACAGCACCGCGCAGAAAGTGCTGCAATTT
+ACCCAGCAGCAGTTAGCGCAGGTCGGGATTAAAGCCCAGGTGACTGCGATGGATGCCGGACAGCGGGCGG
+CAGAAGTTGAAGGTAAAGGGCAAAAAGAGAGCGGCGTGCGGATGTTCTACACTGGCTGGTCGGCTTCAAC
+CGGCGAAGCAGACTGGGCTCTATCGCCGCTGTTTGCCTCGCAGAACTGGCCACCGACGCTGTTTAATACC
+GCGTTTTACAGCAATAAACAGGTGGATGACTTCCTGGCTCAGGCACTGAAAACTAATGATCCGGCGGAAA
+AGACCCGCTTGTATAAGGCGGCGCAGGATATCATCTGGCAAGAGTCGCCGTGGATCCCGCTGGTGGTAGA
+AAAACTGGTGTCGGCACACAGTAAAAACCTGACCGGTTTTTGGATCATGCCAGACACCGGCTTCAGCTTT
+GAAGATGCGGATTTGCAATAAGCAACGCAGGGAGTGGAATGCTTAATTACGTTATCAAACGCTTACTGGG
+GTTGATTCCGACGCTGTTTATCGTCTCGGTGCTGGTGTTTTTATTTGTCCACATGCTGCCCGGCGATCCG
+GCGCGATTAATTGCCGGGCCCGAAGCTGATGCGCAGGTTATAGAACTGGTGCGTCAGCAGCTGGGGTTGG
+ATCAGCCGCTATATCACCAGTTCTGGCACTATATCAGCAATGCTGTGCAGGGGGATTTTGGCCTGTCGAT
+GGTGTCGCGTCGTCCGGTTGCCGATGAGATTGCCAGCCGCTTTATGCCAACGCTGTGGCTGACCATAACC
+AGTATGGTCTGGGCGGTGATATTTGGTATGGCGGCGGGAATTATCGCCGCCGTCTGGCGTAACCGTTGGC
+CGGATCGATTGAGTATGACTATTGCGGTGTCGGGGATTTCGTTTCCGGCATTTGCTCTGGGGATGCTTTT
+AATTCAGGTATTCTCCGTTGAACTGGGCTGGCTGCCTACCGTGGGAGCAGACAGTTGGCAGCACTACATT
+TTACCCTCCCTGACGCTCGGCGCGGCAGTGGCCGCCGTGATGGCGCGCTTTACCCGCGCGTCGTTTGTCG
+ACGTTTTAAGCGAAGATTATATGCGTACCGCGAGGGCGAAAGGGGTGAGCGAAACCTGGGTTGTCCTCAA
+ACACGGGCTACGCAACGCGATGATCCCGGTAGTGACCATGATGGGCTTACAGTTTGGATTTTTACTCGGT
+GGTTCCATCGTGGTGGAGAAAGTTTTCAACTGGCCCGGACTTGGACGCTTACTCGTTGACTCCGTTGAAA
+TGCGCGATTACCCGGTGATTCAGGCGGAAATTCTGCTTTTCTCGCTGGAATTTATTCTTATCAACTTAGT
+GGTGGATGTGCTTTACGCCGCCATTAACCCGGCTATCAGGTACAAGTAAGGATGCGACTATTTAACTGGC
+GACGTCAGGCGGCGTTAAACGCCATGCCACTGGTCAAACCTGACCAGGTACGTACACCGTGGCATGAATT
+CTGGCGACGATTTCGCCGTCAGCATATGGCGATGACCGCCGCATTGTTCGTTATTTTATTGATTGTGGTG
+GCCATTTTTGCACGCTGGATCGCTCCCTATGACGCCGAAAATTATTTTGATTATGACAATCTGAATAACG
+GACCTTCTTTGCAGCACTGGTTTGGTGTCGATTCACTGGGGCGCGACATTTTCAGCCGTGTCCTGGTTGG
+TGCGCAAATCTCGCTGGCGGCGGGAGTGTTTGCCGTGTTTATCGGTGCGGCGATCGGGACGTTGCTGGGC
+TTGCTGGCTGGATATTATGAAGGCTGGTGGGATCGGCTGATCATGCGCATTTGCGATGTGTTGTTTGCCT
+TCCCGGGTATTTTACTGGCGATCGCTGTTGTTGCGGTGTTGGGAAGCGGCATTGCTAACGTGATTATCGC
+AGTCGCCATTTTTTCCATCCCCGCGTTTGCCCGGCTGGTGCGCGGCAACACGCTGGTGTTGAAACAGCAA
+ACCTTTATCGAGTCAGCACGCAGTATTGGTGCCAGCGATATGACCATTTTGTTGCGTCATATCTTGCCTG
+GGACCGTCTCTTCTATCGTGGTGTTTTTCACCATGCGCATTGGCACCTCGATTATCTCTGCCGCCAGCCT
+GTCATTTCTCGGCCTCGGTGCGCAGCCGCCGACACCAGAGTGGGGAGCAATGCTCAATGAGGCACGAGCG
+GATATGGTTATCGCGCCGCATGTCGCTGTTTTTCCGGCCCTGGCTATTTTTCTGACCGTACTGGCGTTCA
+ATTTGTTGGGCGATGGTTTACGCGATGCGCTGGATCCGAAAATTAAAGGATAGTTACGTTTGAATATTGC
+TTGAAAGGGTAATCACCTCACAGGAAATTATTGCCCTAAGCAAGTGTTGTAACTTTCTGCTGATTTTGTA
+GAATCGGGTAATTTGGTTAAAAAGCCGCAGCAAGGGACTATTTTGCAGCGGCACAGCGTTCAGATAGTTA
+TTTTGTTAAATGTATTAACATGCTGAGTTTATACGAAAAGATAAAGATAAGGCTGATAATTTTATTTTTA
+TTGGCAGCACTGTCATTTATTGGTCTTTTTTTCATCATTAACTATCAACTGGTATCGGAACGCGCGGTAA
+AACGTGCCGATAGCCGCTTTGAACTTATTCAGAAAAACGTTGGCTATTTCTTTAAAGATATTGAACGTTC
+GGCCCTGACATTAAAGGACTCACTGTATTTATTAAAAAATACAGAGGAGATTCAACGTGCCGTGATTCTG
+AAAATGGAAATGATGCCATTTTTAGACTCGGTGGGACTGGTACTTGATGATAATAAATATTATCTCTTTT
+CGCGGAGGGCGAATGATAAAATCGTTGTTTATCATCAGGAACAAGTAAATGGACCGCTTGTCGACGAGTC
+AGGGCGGGTTATTTTTGCCGATTTTAACCCATCGAAACGACCGTGGTCGATGGCTTCAGATGACTCTAAC
+AACAGCTGGAATCCGGCATACAATTGCTTTGATCGTCCGGGTAAAAAATGTATCTCTTTTACGCTACACA
+TCAACGGCAAAGATCATGATTTGTTAGCGGTAGATAAAATTCATGTCGATTTAAACTGGCGATATCTGAA
+CGAGTATCTTGATCACATCAGCGCTAATGATGAAGTTCTATTTTTAAAGCAAGGTCATGAGATCATTGCT
+AAGAATCAACTCGCTCGTGAAAAATTGATTATTTATAATAGCGAAGGTAATTATAATATTATTGATTCTG
+TCGATACGGAATATATTGAAAAAACATCAGCGGTGCCAAACAACGCATTATTCGAAATCTATTTTTATTA
+TCCTGGTGGTAATTTATTGAACGCATCAGATAAACTTTTTTATCTGCCGTTTGCTTTCATTATTATCGTA
+TTGCTGGTGGTTTATTTAATGACCACTCGAGTGTTCCGTCGGCAATTTTCTGAAATGACAGATTTGGTCA
+ATACGCTGGCGTTTTTGCCCGACTCTACGGATCAAATCGAGGCTCTGAAGATTCGTGAAGGCGATGCGAA
+AGAGATTATCAGCATCAAAAATTCGATCGCGGAAATGAAAGATGCTGAAATTGAACGGGCAAATAAATTG
+CTCTCGCTGATCTCTTACGATCAGGAAAGCGGTTTTATTAAAAATATGGCGATTATTGAGTCCAACAATA
+ATCAGTATCTGGCTGTGGGGATCATCAAACTGTGTGGTCTGGAAGCTGTGGAAGCGGTGTTTGGTGTTGA
+TGAACGCAATAAAATCGTCAGGAAATTGTGTCAGCGAATTGCCGAGAAATATGTGCAATGCTGCGATATC
+GTGACATTTAATGCCGATCTCTATTTACTCCTGTGCCGGGAAAATGTACAGACGTTTACCCGTAAGATAG
+CGACGGTAAACGATTTTGACAGCAGTTTTGGCTACCGCAATCTGCGCATCCATAAGTCTGCTATTTGTGA
+ACCTTTGCAGGGGGAAAACGCCTGGAGTTACGCAGAAAAGCTGAAACTGGCGATTTCCAGTATCCGCAAC
+CATATGTTCTCAGAGTTTATTTTCTGTGATGATGCGAAACTCAACGAAATAGAAGAGAATATCTGGATTG
+CGCGTAATATTCGCCATGCAATGGAAATTGGCGAACTATTCCTGGTCTATCAACCGATTGTTGATATTAA
+CACCCGCACCATTTTGGGCGCGGAGGCGTTGTGCCGTTGGGTGTCTGCGGAGCGGGGGATTATTTCACCG
+CTGAAGTTCATTACCATTGCTGAAGATATCGGGTTTATCAATGAGCTGGGCTATCAAATTATTAAAACCG
+CGATGGGTGAATTCAGACATTTTAGCGAGCGTGCGGTCCTGAAGGACGGTTTCTTACTGCATATTAATGT
+TTCGCCCTGGCAGTTAAACGAACCACACTTTCATGAGCGTTTTACTACCATCATGAAAGAAAATGGCCTG
+AAGGCGAACAGCCTTTGTGTTGAGATCACTGAAACCGTGATCGAGCGAATTAATGAACATTTCTATCTCA
+ATATTGAACAACTGCGTAAACAAGGGGTACGGGTATCGATTGATGACTTTGGCACCGGTTTGTCAAACCT
+GAAACGTTTTTATGAAATGAATCCAGACAGTATAAAGGTGGATTCGCAATTTACCGGCGATATTTTCGGT
+ACTGCAGGAAAAATTGTGCGCATTATTTTCGATCTGGCACGCTATAACCGGATCCCGGTGATTGCGGAAG
+GCGTAGAGAGCGAAGACGTTGCGCGTGAATTAATCAAATTAGGATGTGTTCAGGCTCAGGGGTATCTGTA
+CCAGAAACCCATGCCATTCTCCGCCTGGGATAAAAGTGGAAAATTAGTAAAAGAGTAGTTTACGTATGTC
+CAGAATCAATAAATTCGTACTTACAGTCAGTCTGCTGATTTTTATCATGATTTCAGCAGTTGCCTGCGGG
+ATCTACACTCAAATGGTAAAGGAACGGGTGTATGGCCTGAAACAGTCCGTTATTGATACTGCTTTTGCGG
+TGGCAAATATTGCTGAATATCGGCGTAGTGTGGCAATTGATCTGATCAACACGCTAAACCCTACGGAGGA
+ACAGCTGTTGGTTGGCTTACGCACAGCTTACGCCGACTCGGTTTCACCCTCTTATTTGTACGATGTCGGT
+CCTTATCTGATTTCCAGTGACGAATGTATTCAGGTAAAGGAGTTCGAGAAAAATTATTGTGCAGATATTA
+TGCAGGTTGTTAAGTATCGACATGTCAAAAATACAGGGTTTATCTCTTTTGATGGTAAAACCTTCGTCTA
+TTACCTCTATCCGGTAACTCACAATCGTAGTCTGATATTTTTGCTTGGTCTGGAACGTTTTTCTTTACTG
+TCAAAATCGCTGGCGATGGATAGCGAGAACCTGATGTTCTCCCTGTTCAAGAACGGTAAATCGGTGACCG
+GTGATGAATATAACGCTAAAAACGCCATCTTCACCGTTTCGGAAGCAATGGAGCACTTCTCCTATTTGCC
+GACCGGGTTGTACGTATTTGCTTATAAAAAAGACGTTTATTTTCAGGTATGTACATTGATTATTTTCTTT
+GCCGCATTGGTGGCAGTGATATCGGGTGCCAGTTGCCTCTATCTGGTACGCAGAGTGATTAATCGTGGTA
+TTGTGGAGAAAGAAGCCATTATTAATAACCATTTTGAACGCGTACTGGATGGCGGGCTTTTCTTTTCGGC
+TGCCGATGTCAAAAAACTCTACAGTATGTATAACTCGGCATTCCTGGACGATCTGACCAAAGCGATGGGC
+AGAAAATCTTTTGACGAAGATTTAAAAGCGCTGCCGGAAAAAGGCGGTTATTTGTGCCTGTTTGACGTCG
+ATAAATTCAAAAACATTAACGACACCTTCGGTCATTTGCTGGGCGATGAAGTGTTGATGAAAGTGGTGAA
+AATCCTTAAATCACAGATCCCGGTAGATAAAGGTAAAGTTTACCGCTTCGGAGGTGACGAATTTGCGGTG
+ATTTATACTGGCGGCACGCTGGAAGAGTTGCTATCGATTCTAAAAGAAATCGTTCATTTCCAGGTGGGAA
+GCATTAATTTAAGCACCAGTATCGGTGTAGCGCATTCAAATGAATGTACTACCGTTGAACGTTTGAAAAT
+GCTGGCGGATGAGCGGCTGTATAAGAGTAAGAAAAACGGCAGGGCGCAGATTAGCTGGCAGTAATCATTA
+TTCGCAGGCCGGACAAATGATTTTGCCCGGCCTGAATTAATTAAACCCGGCTACCCCACAAATCGTACTC
+ATCGGCGTGCTCGACTTTCACTCGCAGGATATCACCCGGCTTAACGTTGGTTTCACCATTGAGATAAACC
+GCGCCGTCGATTTCCGGTGCATCTGCCATGCTGCGACCAATCGCGCCTTCTTCGTCCACTTCGTCGATAA
+TCACCAGAATTTCACGGCCCACTTTCTCTTGCAGGCGCTCGGCGGAAATTTGCTGCTGCAACTGCATGAA
+ACGGTTCCAGCGTTCTTCTTTCACTTCTTCCGGAACCTGGTCAGGCAGGGCATTGGCGTCTGCACCTTCA
+ACCGGGCTGTATTTAAAGCAGCCAACGCGATCCAGACGTGCTTCTTTCAGGAAGTCGAGTAGCATCTGGA
+AATCTTCTTCCGTCTCGCCAGGGAAGCCAACAATAAAGGTTGAGCGTAGGGTCAGTTCCGGGCAGATTTT
+GCGCCACTGTTTGATGCGCGCCAGTTGGCGATCTACAGAACCCGGACGTTTCATCAGTTTGAGAATGCGC
+GGGCTGGCGTGCTGCAACGGAATGTCCAGATACGGCAGGATTTTGCCCTCTGCCATCAGTGGGATGACGT
+CGTCCACATGCGGATAAGGGTAAACGTAGTGCAGACGTGTCCAGATCCCCAGTTTCGATAACTGTTCGCA
+CAGGCTGACCATGCTGGTTTTTACCGGCTCGCCGTTGTGGAAGCCAGTACGATGTTTAACATCGACGCCA
+TACGCGGAAGTATCCTGCGAGATCACCAGAATTTCTTTAACGCCCGCATCAACCAGACGTTTCGCTTCAC
+TTAACACTTCGCCAATCGGACGGCTCACCAGATCGCCGCGCATAGACGGAATAATGCAGAAGGTGCAGCG
+GTGATTACAGCCTTCAGAAATTTTCAGATAGGCATAATGACGCGGCGTCAGTTTCACACCTTGTTCTGGC
+ACCAGGCTCAGGAATGGGTTGTGTTTCGGTTTTGGCACGTAGTGATGAACGTGCTCCAGAACCTGCTCAT
+AGCTATGAGGCCCGGTGATTTCCAGCACTTTCGGGTGGACTTCGCGGATCTGATCTTCTTTTGCCCCCAG
+ACAACCGGTCACAATTACCTTGCCGTTTTCATTCAACGCTTCACCAATGGCTTCCAGTGATTCTTGTACC
+GCGCTGTCAATAAAGCCGCAGGTGTTGACGATCACCATGTCCGCATCATCATAGCTCGGTACCACGTCAT
+AACCTTCAGTGCGTAGTTCGGTGAGAATACGCTCTGAATCGACAAGGTTTTTCGGACAGCCAAGGGAAAC
+AAAGCCGATTTTCGGCTGGGGAGTTACTTTGCTCATAGCTTAAAAAATATTCAGTTACAGGAAAGGTCAG
+GGCAGGGATTCTACAGAGTTCTGGATAAAATTTGTATCGCAATCTCATTCGCTGGCGGAGTTGAAGGAAA
+TGTAAATTTTGTTAATTCGGCGTGAAGAATTGATCCTGGACAGCATTTTGCTCAAAAAACAGCCATACTA
+TTTAATTGCAACAAGGCTGGAAAGAGGAGGATCGAAGTATGTTCGTTGACAGACAGCGAATCGATCTGCT
+GAACCGGTTGATCGACGCACGCGTTGACCTCGCCGCATACGTGCAACTGAGGAAGGCAAAAGGATACATG
+TCCGTCAGCGAAAGCAATCATCTACGAGATAACTTTTTTAAACTGAATCGCGAACTGCACGATAAATCGC
+TGCGGTTGAATCTTCATCTGGATCAGGAAGAGTGGAGTGCTCTTCATCATGCTGAAGAAGCATTAGCGAC
+AGCCGCAGTATGTTTGATGAGTGGGCACCATGATTGCCCGACTGTTATTACCGTCAACGCCGATAAGCTT
+GAAAATTGTCTGATGAGCTTAACGCTGAGTATCCAGAGCCTGCAGAAGCACGCCATGCTTGAGAAGGCCT
+GAAAACTAAGGGGGAGAAAGCGTCTCCCCCTTCATGTTTAAGTTTTTGTAAAAATGAATTTGTTATCTCC
+TCCACTGACTACGCTTTAAGCCAGAGTCAATCCGGAGGCGTTATGCATCGACAATCCTTTTTCCTTGTGC
+CCCTTATTTGTCTTTCTTCCGCTCTCTGGGCAGCTCCTGCAACGGTAAATGTCGAAGTACTGCAAGACAA
+ACTCGACCATCCCTGGGCGCTGGCCTTTTTACCCGATAATCACGGTATGTTAATCACTCTGCGCGGCGGC
+GAGTTGCGTCACTGGCAAGCAGGAAAAGGATTATCTGCGCCGCTTTCCGGAGTGCCGGACGTTTGGGCGC
+ACGGGCAGGGCGGTCTGCTGGACGTGGTTTTAGCGCCCGATTTTGCTCAGTCGCGCCGCATCTGGTTAAG
+TTATTCCGAAGTTGGCGATGATGGCAAAGCCGGAACTGCTGTGGGTTATGGCCGCTTAAGTGATGATCTC
+TCAAAAGTGACCGACTTCCGCACCGTCTTTCGTCAGATGCCAAAACTGTCTACCGGCAACCATTTTGGCG
+GGCGGATGGTATTCGACGGTAAAGGTTATCTTTTTATTGCTCTGGGCGAAAACAATCAGCGCCCGACGGC
+GCAGGATCTGGATAAATTACAGGGCAAACTGGTGCGTCTGACCGACCTGGGAGAAATCCCGGATGATAAT
+CCTTTTATAAAGGAATCCGGTGTGCGCGCCGAGATCTGGTCTTATGGCATTCGTAATCCGCAAGGAATGG
+CGATGAATCCGTGGAGTAATGCACTATGGCTGAATGAACATGGCCCGCGCGGTGGTGATGAAATTAATAT
+TCCGCAAAAAGGCAAAAACTACGGCTGGCCGCTGGCAACCTGGGGAATCAACTATTCGGGCTTTAAGATA
+CCGGAAGCGAAAGGGGAGATCGTCGCCGGGACCGAGCAACCTGTTTTTTACTGGAAAGATTCGCCCGCCG
+TGAGCGGCATGGCCTTCTATAACAGCGACAAATTCCCCCAGTGGCAGCAAAAATTATTTATTGGCGCGCT
+GAAAGATAAAGATGTCATTGTGATGAGCGTCAACGGCGACAAAGTGACAGAAGATGGCCGTATTTTAACG
+GACAGAGGGCAGCGAATTCGTGATGTTCGCACTGGACCCGACGGTTATTTATACGTTCTCACCGACGAGT
+CCAGTGGGGAATTACTTAAAGTTAGCCCACGCAATTAGCTAACGGGAATCATCACCACTTTGCGCACTGC
+GGGGCGTTCAGTGAGTTGCTGATACCAGCGTTGCAGATTTGGACGCGGTGTCCAGGTCAGGCCAACGTTA
+AACAAATTGTAGATGAACGGTGCGATAGCGATATCGCCCACACCAAACTCGTCGCCTGAGAACCATTTTA
+CTTTTGCCAGTTCCGCATCGAGCAGGGCAAACAGGGCGTCGCACTCTTTGCAACTGGCATCAATGGCGGC
+CTGATCGCGCTCTTCCGGTGGTGTTCTGACTAATCCCATCAGGATCCCGCGATGAGCATTACTGAGCGTC
+TGGTTTGCCCAGTCCATCCATTTTTCTGCTTCCGCACGACGTGCCGGTGAGTCGATCCACAGGCGTTTTT
+GCCCGTACTGTGCCGCCAGATAGCGGACAATGGCGTTTGATTCCCAAAGAATGAGATCACTTTCGTCGTC
+ACGCAACAACGGCACCAGCCCGTTAGGGTTCATCGCCAGAAAATCAGCATCGTGATTTATCCCAAACTCA
+CGGCCCGCGAGAATTTGCTCATAAGGTAGTTCCAGTTCTTCGAGCGTCAGCAATACTTTTTTTACGTTGG
+TTGAATTATTCCGACCCCACAGCGTAATCATACTCACCCCTTTTCCGACAGGCAGCCACAGGCTGAACAG
+GACTCCGATGGTGAAGTAAAGTTAACTTTTAAGCAACAGCTGGCAAAAAAATGACACCAGAAGCAGCGAA
+GCGGCAGGATATTGCATAAACTTTAAAAACTTTACCAACTTACGGTTTCTTTAAGTTTGTGTGTGCGTTA
+TTAATCACCGAACTTATCATACGGCGATATAACGTATTTTTTTGAATGGATACTCGGGTGGCATTTATGA
+CGCAATACTCCTCTCTCCTTCGTGGTCTTGCAGCGGGTTCTGCATTTTTATTCCTTTTTGCCCCAACGGC
+ATTCGCGGCGGAACAAACCGTTGAAGCGCCGAGCGTGGATGCGCGTGCATGGATTTTAATGGATTACGCC
+AGCGGTAAAGTGCTGGCAGAAGGCAATGCGGATGAGAAACTGGATCCCGCGAGCCTGACTAAAATTATGA
+CCAGCTATGTGGTTGGGCAGGCGCTTAAGGCCGATAAGATTAAACTCACCGATATGGTGACGGTCGGTAA
+AGATGCCTGGGCGACGGGAAATCCGGCACTGCGTGGTTCATCGGTAATGTTCCTCAAACCGGGCGATCAG
+GTTTCGGTGGCAGACTTGAACAAAGGTGTGATTATCCAGTCCGGTAATGACGCCTGTATTGCGCTGGCTG
+ATTACGTTGCCGGGAGCCAGGAGTCATTTATTGGTTTGATGAATGGTTATGCCAAAAAACTGGGTCTGAC
+CAACACTACCTTCCAGACGGTGCACGGCCTGGATGCGCCGGGGCAGTTCAGTACCGCGCGCGATATGGCA
+TTGCTGGGTAAAGCATTGATCCACGATGTGCCGGAAGAGTACGCCATTCATAAAGAGAAAGAGTTCACCT
+TCAACAAAATTCGTCAGCCTAACCGTAATCGTCTGCTGTGGAGCAGCAATCTGAATGTTGATGGCATGAA
+GACAGGAACCACGGCAGGCGCGGGATATAATCTGGTTGCTTCGGCTACCCAGGGCGATATGCGTTTAATC
+TCCGTAGTGCTGGGGGCGAAAACTGACCGTATCCGTTTTAATGAGTCTGAGAAATTATTGACCTGGGGCT
+TCCGTTTCTTTGAAACCGTGACGCCAATTAAACCTGATGCCACATTTGTGACTCAGCGCGTCTGGTTTGG
+TGATAAGAGCGAAGTGAATCTCGGGGCAGGCGAAGCGGGCTCAGTGACCATACCGCGTGGGCAGCTGAAA
+AACCTGAAGGCGAGTTATACGTTAACGGAACCGCAGCTTACCGCACCGCTGAAAAAAGGTCAGGTTGTCG
+GCACCATTGATTTCCAGCTTAACGGTAAATCCATTGAGCAGCGTCCGCTGATCGTGATGGAAAATGTGGA
+AGAGGGCGGATTCTTTGGTCGGATGTGGGATTTCGTGATGATGAAATTCCATCAGTGGTTCGGCAGCTGG
+TTCTCTTAATCTTCTGATAACCGGATGGCGCGAAACGTCATCCGGTTATACGTCATTAATACATCAACTT
+AATACGCTGCGTCTGCGCGTACTTCACATACTCATCTTCCGGGCAACAATCGCTCACAACAATATCAAAG
+CGTTTCAGGTCACCCATGCGCGCCGGACGCACCTTGCCAAATTTACTGTGGTCGACAACCAGCACATGCT
+TTTGCGCCATCGACATGGCCCAGTGTTTTACCGGCAACTCTTCAAGATTAAAGCAGGTAGCGCCTTTACT
+GACATGCACGCCCGCAGCGGAATAAAAAGCGATATCCGGGCAAAAATTATTCAGCGTTTGCTGAAAATCG
+ATGGGTTTGAAAATGGCGTTGCTGGCGTGAAATTCACCACCGCAAAGAAACGCGCGGCAATGGGGTTTCT
+CTTTCAGCGCCAGAAAAGTATTTAGCGAATAACAAACGGCGGTAAAAGGGATTTCATTATCAATTGCTTC
+AATAATCCACGGCGTGGTGGTGCCACAGTCAAAAAAGAGGGTCTGATCGGGTTCTATCAGCGTCGCAGCC
+AGTTTTGCCGCCCGGCGTTTTTCTTCCACCAGGCGAGATTTTTGATCGCTTAACAGGTAATGGCTGGCGC
+TGCGTGGTTCCAGAACAATATAGCCGCCGAGCAAAACGACGGGCGCACTGTGGTTGTTCAGATCGCGACG
+AATCGTCATCTCCGAAACCCCAAGCAGGGCGGCGGCGTCTTTAAGATGTAACTTATCACTGCGTTTTAAT
+TCTTGCAGCAGCTGCCCGATACGCTCTTCGCGACGTGTTTCCATAATCCCTCTGAATAGTTATTGAAGCG
+AGCCGCTCAATACTACACTTTTTAGCAGAGATCAGTCACGCACCCAGCCTTTGCGGATCGGTAATGCAAA
+ACAGAAGCGATACCACGATTGCAGACGTTGATAGAGTTTATGCCCCATCGCTTGCCAGATAATCTGGGCG
+CTAAGGCAGCCAATCATACCTGCCAGCAATCCACCGAGCATATCCAGCGGCCAGTGGACGCCAAGATAAA
+CGCGCGACCAGGCAATGACGACGGCCAGCACCATTAAAAGTGAGCCGGACCACAGGCGATGCCAGCATAA
+AAATGCCAGTGCAAAGGTGAAAATCACCGTACCGTGATCGCTCGGGAATGAGTCATCCGCCGCATGATGC
+AGGAAGTTATAGCCGATATTTTCGACAAAGGGTCGGTCGTGCGGAAAAAGATGTCCCATCGTCCAGGACA
+CAAACAGGCTGACCGCCAGCGCGATAGCGATTTTTATCACCAGTTGCCGTTGTGCTGTAAGCCCCCACAA
+CCAAAGTACTGCGGCCAGCAACGGCACCACGGTAATCAAATCTTTAGCAATAAAAATCGCCAACGAGATC
+ATCCACGGCGCAGAGTCTGGCGTTGCGTTAATAAGAGAGAATAGAGAGAGATTCAAATTTTCCAGCATAA
+CTTCCCGACGCAAAGTGATTAAAAGGGAGCCAATACAGGCAAGTCGTTGAGAATAAAGTGCAGGTTAAAC
+TGGGTAAAGCGGCATCGTCTTATTTCCCTCAAGCGGCCTGTTTACGGTAGGTGATTGTAACGGGCAAAGG
+TTAAATAAAACTTAAAGAAAGCGTAGCTATACTCGCAATAATGTAAGAATGTGCTTAACCGTGGTTTCAG
+CTACAAAATTCGCTTTCTCGTTAGCTGCGCTTTTATTAAACTTTGCGCGATTATTATTGGCGGAAGAAAT
+TGCATGCAAAATAAATTAGCTTCCGGTGTCAGGCTTGGACGTCAGGCGTTACTTTTCCCTCTCTGTCTGG
+TGCTTTACGAATTTTCAACCTATATCGGCAACGATATGATTCAACCCGGTATGTTGGCCGTGGTGGAACA
+ATATCAGGCGGGCATTGATTGGGTTCCTACTTCGATGACTGCGTATCTGGCGGGCGGGATGTTTTTACAA
+TGGCTCCTGGGGCCGTTGTCGGATCGTATTGGCCGCCGTCCGGTGATGTTGGCGGGAGTGGTGTGGTTTA
+TCGTCACCTGTCTGGCAATATTACTGGCGCAAAACATTGAACAATTCACCCTGTTGCGCTTCTTGCAGGG
+CATAAGCCTCTGTTTCATTGGCGCTGTGGGATACGCCGCAATTCAGGAATCCTTCGAAGAGGCCGTTTGT
+ATCAAGATCACCGCGCTAATGGCGAACGTGGCGCTGATTGCTCCACTACTTGGTCCGCTGGTGGGCGCGG
+CGTGGATCCATGTGCTGCCCTGGGAAGGGATGTTTGTCTTGTTTGCCGCATTGGCAGCGATCTCCTTTTT
+CGGTCTGCAACGAGCTATGCCTGAAACCGCCACGCGTATAGGCGAGAAACTGTCGCTGAAAGAACTCGGT
+CGTGACTATAAGCTGGTGCTGAAGAACGGCCGCTTTGTGGCGGGGGCGCTGGCGCTGGGATTCGTTAGCC
+TGCCGTTGTTGGCGTGGATCGCCCAGTCGCCGATTATCATTATTACCGGTGAGCAGTTGAGCAGCTATGA
+ATATGGCTTGCTGCAAGTGCCTATTTTCGGGGCGTTAATTGCGGGTAACTTGCTGTTAGCGCGTCTGACC
+TCGCGCCGCACCGTACGTTCGCTGATTATTATGGGTGGCTGGCCGATTATGATTGGTCTGTTGGTCGCTG
+CTGCGGCAACGGTTATCTCATCGCACGCGTATTTATGGATGACCGCCGGGTTAAGTATTTATGCTTTCGG
+TATTGGTCTGGCGAATGCGGGACTGGTGCGATTAACCCTGTTTGCCAGCGATATGAGTAAAGGTACGGTT
+TCTGCGGCGATGGGGATGCTGCAAATGCTGATCTTTACCGTCGGTATTGAAATCAGCAAACATGCCTGGC
+TGAACGGGGGCAACGGACTGTTTAATCTCTTCAACCTTGTCAACGGCATTTTGTGGCTGTCGCTGATGGT
+TATCTTTTTAAAAGATAAACAGATGGGAAATTCTCACGAAGGGTAAAAAAATGCCTGATTGCTTTGTGCG
+ATCAGGCATTCTCGAATTAATGGTGATGGTCGTCAATCTGGTGTTCGATAACCATCCCTTCACCTACGCT
+GGCAAGATGGCGAACATAAGGATGCGGGCGGTAAGCCGGAGCTGGCGCAGGAGCCACATAGACGGTTTGC
+GGCACAGTCGCGACGCTGACCGCTTGTGGAACGCTGACTGAATCAGGAACCACAACCACTTTGTATCCAC
+TCGGCACATCGACGGTGACACTTTGCGCCATCGCCACACCAGTAAAGCCCATTAAAAGCGCGCCCAACAG
+TAGACAATTTTTCATAATCATTTCGCCTGAAATAATGCAGCGGGTTAATTTCCGCGAATTATGCAGCCTT
+CATTCAGGCATTGTGTTGCCGGGCGTGCTGCCTTTTTTATTGCTTAAATGGCGCTTCGTGTTTAAGCACT
+TTATCGATCACATCCAGTACGCCTTCACGGTTATTGGAGCCTGCCCGGTATTTTGCCGCTGCGACGACCG
+CGCTGCCGGCATTTTCCATTGCAAAACTAAAGCCTGCCTGACGCAGCATCTCAATATCGTTACCGCCATC
+GCCAAAGACCACCACTTCGCTGTCGTCTATTCCCCATAATTTCTGCAGTTGGCGAAGGCCATTGGCTTTA
+TGTACGCCGGGGATAATCAGATCGATGCTGCCGTTGCCGGTGTGGACCGGCACCATAATATCGCCGATGG
+CCTCATGTAATGCTTTTTGTACTTGTGGAATCAGTTCATCGGAAAGATTCAGACCAAACTTAAAGAAGAT
+ATCTTCTAAGTTGTCAAAGTTATCGACGTATTCCAGACGGTGATAATACATTTCCGCCACCGTTTTCATG
+GCATCGTCATATTTTTTGAGGGTATAGGCGCTATTTTTTCCGCAGGCAATAATTTCCACTTCCGGGCGCG
+TCAGCAAATGTTCCACGACAGTAGCAAACGCATCCTTCGACAGCTCGCCATTAAAAACATCTTTGCCTTC
+GCTCACTACCCAGCCGCCGTTTTCAGCCACAAAGGCTATTTCATTAGCAATTTCAGGGAAGAAAGAGATC
+AACTGATAATATTGATTACCGCTGGCGACCACAAAGCGAATGCCTTGTGCTTTCATTTGCTGATACTGAG
+CCATAAACCGCTCACGGTTATAGGTTTTTTGATCGCTTAAGAAAGTACCATCCATGTCTACCGCAATTAA
+TTTAATGCTCATCAACTATTCTCCATCGCCGTCTGCGTTTTGGTATCGGGTTTGGCGACGGCTTTCGCGA
+CAATAGCCGCGAGAATAACCAGCGCCAGTACAACCAGCATTGCACTACGTAATCCATAATGTTCGCCGAG
+ATAGCCCAGCAGCGGCGGCCCGACGAGGAAAGCCAGATAACCGGTCGTAGCTACCACGCTGACGCGGGTT
+GGTGCATCGGGGCCGGTATCGCTGGCGGCAGAAATAGTCAGCGGGAAGCCCAACGAGGCACCCAGTCCCC
+AAAGTACAACAGACACCCCAGCGACCCAGGCGCTATCGACAAAAATAATCAGCCCAATACCCAACGCCCC
+CATTAGTGCACTGGCCCGAACCACGGCAACGCGACTGTAACGGTCAATGAACCAACCGCCGGTAAAGCGT
+CCAACGGTCATCCCCAGGGTAAACCCGGCATAAATCAGCGAGCCGGAAGTAGGGCTAAAACCGTGACCAT
+CAACCATTAATAAGGGTAACCAGTCGTTGGCAGAACCTTCGGCAAAGGCCATCGCCAGCACCACAACACC
+AATCAGCAGCAACTGGATATCGCGATAAAAAGGTACGCCTTTTTCACCATGCTGGGTGCCATCGGCAGCA
+TTTTTGCCCGTACCGTCAGGGATTGCCTGAATGGCGATATAAATAGGCGCGATGCCTACCAGCGCCGCCA
+ATAAAATGTGCACCGTTGCCGGAACGCCAAAGGCCGTCAGTGCCATCCCGACACCTGCGCCTGCCAGCGT
+GCCCAGGCTATAAAAACCGTGCATCATCGGTAAAACCGTCTTATTCATTTCTCTCTCAACGGCGGCACCT
+TCAACGTTTATCGCCACTTCCGCAGAACCAAAACTAGCCCCAAAGACGCCGAGACCAACGGCAAAGAGCA
+AGGGCGATGTCAGCCAGAGTGCCAGACTTAGTATCATCATCCCAATCAATGCGCAGGACATCGTGACAAG
+GATGACATTACGCGTCCCAAAGCGTTTCACTAACCACGCTGAGCAGAGAATACCGCTCATCGAACCGATC
+GACAGACCAAAGAGAACACCGCCCATTTCAGCGATCGAGACAGAGAGAATATCGCGGATAGCAGGCGTAC
+GGGTTGCCCAGGACGCCATTAACAGGCCTGGCAAAAAGAAGAACATAAACAGCGCCCAGGTTCGGCGTTT
+CAATGCATTACGTGAAGAATTTACGGTCATAGACCACGTCAAAATAAGAAGAGGGAAGACAACATTAGCA
+AGACTGTGTACATTTGTACACAATTGCAGAGAGAGGAAATGACATGCGTCGCGCTAACGATCCGCAACGG
+CGAGAAAAAATTATCCAGGCCACGCTGGAGGCGGTGAAACTTTACGGAATACATGCTGTTACACACCGCA
+AAATTGCTGCCCTTGCCGGGGTGCCGTTGGGATCGATGACCTACTATTTTTCAGGAATTGATGAGTTGTT
+GCTGGAGGCGTTCAGCCGTTTTACTGAGATCATGTCCCGGCAATATCAGGCATTTTTTAGCGATGTTAGT
+GATGCTCCAGGCGCACGCCAGGCTATCACCGATATGATCTACAGCTCACAGGTCGCAACGCCGGATAATA
+TGGAGCTGATGTACCAGCTCTACGCGCTGGCTAGCCGAAAACCGCTCTTAAAAACGGTAATGCAAAACTG
+GATGCAGCGCAGTCAACAAACGCTCGAACAATGGTTTGAACCCGGAACCGCCCGCGCGCTTGATGCGTTT
+ATTGAGGGGATGACGCTGCATTTTGTCACCGACCGTAAGCCGCTATCACGCGAGGAGATTTTGAGGATGG
+TTGAGAGGATTGCTGGGTAGTAGATAAATTTCAGGCAACAAAAAACCCATCAACCTTGAACCGAAATGGC
+GGGGTTGATGGGCTCCACAAAATGGGGACATCAAAGAAAAGCAGTGGCACTAATTAAGACTGATGCCCTG
+CGGAAAAGTTCTGCGGTTGTGCAAAAAAATTTCATTTTCAGGGCAACTTCAGTTTTATCCTAATCCTGGC
+CATACCATGACGATGATTGTCCCTGCCAGCGTCAGCAGGACGTTGGCGATTGCATAGGTGCCCGCATAGC
+CCAGCGCCGGGATGTTACTGCGAGCTGTATCACTGATGATCTCCATTGCCGGCGCGCAGGTGCGTGCGCC
+CATCATTGCGCCGAATAACAGTGCGCGGTTCATTCGCAATACATAAGCACCGAACAAGAAACAGATAACC
+ACTGGCACAAGACTGACAATCAATCCGGCAATCAACATCTGACCGCCAATCGCGCCCAGGCCGTTATTAA
+TACCGCTACCGGCGCTCAGACCAACGCCTGCCATAAACACCATTAAGCCGAACTCTTTCACCATGCTTAA
+TGCACCCTGCGGAATGTAACCGAAGGTCGGGTGGTTAGCGCGCATAAAGCCCAGCATAATTCCGGCGAAT
+AACAACCCGGCAGCGTTCCCCATGCCGAAACTGAATGTGCTGAACTGGAAGGTGATCATCCCGATCATCA
+GCCCAATAACAAAGAAGGCGCAGAATGCCAGCAAGTCAGTGACCTGGCTGTGAATCGAGATAAAGCCGAT
+GCGATCGGCGATGGTTTTTACGCGACGGGCATCGCCGCTGACTTGTAAAACGTCACCTTTGTTAAGCACG
+ACGTTGTCATCTATCGGCATCTCAATCTGGCTACGAATGACGCGGTTAAGGAAGCAACCGTGATCGGTCA
+ACTTCAGTTGTGCGAGACGTTTGCCAACGGCGTTATGGTTTTTAACGACCACTTCTTCAGTGACGATACG
+CATGTCGAGAAGGTCACGATCGAAAACTTCTTTGCCGTTACGGAAGCTGGGATCGAGTCGTGCGTGGGCG
+TCGGGATAGCCTACCAACGCTATTTCATCGCCCATTTGTAGCACAGCATCACCGTCTGGATTTGCCAGAA
+TCCCGTTACGTCGAATACGTTCAATGTAGCAGCCAGTTTGTCGATAAATACCCAGTTCACGCAGATTTTT
+GCCGTCGGTCCAGGCCACCAGCTCCGGGCCGACGCGGTAGGCGCGGATCACCGGTAAATAAACCTTACGG
+TTGGCATCAGTGTCCAGGCCACGTTCGCGGGCGATTTGCTGGGCGCTGGTCTGTAAGTCCTGATGCTGCA
+ATTTCGGCAAGTAACGCGCACCAACAATCAAACTCACCAGACCGATTAAATAGGTTAAGGCATACCCGAG
+GCTCAGATTATCCAGTGCCAGTGAGAGCTGCCTGCTTTCCATGCCGGAATGACGCAGTGTATCGCCAGCA
+CCGACCAGAACCGGTGTCGACGTCATAGAGCCAGCTAACATACCGGCCGTCAGGCCAATATCCCAGCCAA
+ACAGCTTACCTAACCCTAAGGCGATCACCAGCGCACTGCCAACCATCACCAGTGCTAACATTAGGTAATT
+TTTACCATCGCGAAAAAAAATGGAAAAAAAGTTCGGTCCGGCTTCGACCCCGACGCAGAAAATAAACAGC
+ATAAAGCCAAGATTAAGCGCGTCGGTGTTAATGCTGAAATGTTGTTGGCCTAATAACAGCGATACGACTA
+AAACGCCAATGGAATTACCCAGTTGGATCGAACCAAGTCGTAATTTCCCGAGACATAGCCCAAGCGCGAG
+GACCACAAATAATAACAGAATGTAATTCCCATTTAACAATTCGGCGACGTTTATATTCACGGAGGCTAAC
+TTCTTGTTTACTAGTAAGCTGTTGAAAGAAATGGTAATTTACGATAATGTTTTTTACCAGAATTCAGGGC
+GCAGATTCATTCAGCGCACCTAAACGATAGTAAAGTAACAATATATTTTACTAGTGTAATCACATTAGGT
+ATCAACGGCTATATGAATTGCGTTGGCCTATATTAGCATGGAATGCGAAGCGGCTTTATCTTACTGAACG
+CCACACTGGCGAAAAATGTGTTCGATAGACGCAGTGTCAGGAGGAACGAGTGAAACATAAACAACGTTGG
+GCGGGGGCAATCTGCTGTTTTGTCCTCTTCATTGTGGTGTGTCTTTTTCTGGCGACGCACATGAAAGGCG
+CTTTTCGGGCTGCCGGGCATCCTGAAATCGGTTTGCTATTTTTCATTCTTCCTGGTGCAGTTGCCAGCTT
+CTTTTCACATCGTAGAGAAGTCCTGAAACCTCTGTTTGGCGCAATGCTGGCGGCACCCTGTTCGATGCTC
+ATTATGCGGCTGTTTTTTTCACCGACGCGCTCATTCTGGCAAGAGCTGGCATGGTTATTAAGTGCGGTGT
+TCTGGTGTGCGCTGGGGGCATTGTGTTTCTTATTTATCAGTAGTTTGTTTAAACCACAGCACAGAAAAAA
+TCAATAAAGCCCTCAACGCGAGGGCTTGTCAGACGATCAGGCGTCCAGATTCTCTTTCACCCATGCAGCA
+AAATCGGTATAGCCGCCGATATGTTGCTGATCGACAAAAATCTGCGGCACGGTTTCTACGGGTTTACCTG
+CCTTTTGTTGTAGATCTTCTTTAGTGATCCCTTCCGCACGAATATCTACATACTGATACTGGAAATCATC
+GCGTTCATTGCTCAATTTCTCAGCCAGATCTTTTGCACGCACACAGTAAGGGCAACCCGGACGACCAAAA
+ATAACGGTTTGCATTATTTCTCTCCTCATAGATTTATGCCTGTAATGATCACGCTAAAATGTATTCGCTG
+AAAGTAGGTTTAACCTGTTGCATTAATTGATAAAAGCTATAACTGTTAAACACAATACAGTGAAAAGTTT
+TAGACTGAAGGCTCACTTTGCAGAGGGAAGCGTATGCGCGCGATCGGTAAATTGCCTAAAAGCGTGTTGA
+TACTGGAATTTATCGGAATGATGTTGCTGGCGGTGGCGCTGCTGTCGGTAAGCGACTCCCTGTCGCTACC
+TGAGCCATTTTCTCGGCCAGAAGTGCAGATTCTGATGATTTTTCTCGGTGTTTTGCTCATGCTTCCCGCT
+GCGGTGGTGGTTATTCTTCAGGTGGCAAAACGTCTTGCCCCACAGCTGATGAACCATCCACCGCAATATT
+CACGTTCAGAAAGAGAAAAAGATAATGACGCCAACCATTGAACTTATTTGTGGCCATCGCTCCATTCGCC
+ATTTCACTGATGAACCCATTTCCGAAGCGCAGCGTGAGGCGATTATTAACAGCGCCCGTGCGACGTCCAG
+TTCCAGTTTTTTGCAGTGCAGTAGCATTATTCGCATTACCGACAAAGCGTTACGTGAAGAACTGGTGACG
+CTGACCGGCGGGCAAAAACACGTAGCACAAGCGGCGGAGTTTTGGGTGTTCTGTGCCGACTTTAACCGCC
+ATTTACAGATCTGTCCGGATGCTCAGCTCGGCCTGGCGGAACAACTGTTGCTCGGTGTCGTTGATACGGC
+AATGATGGCGCAGAATGCATTAACCGCAGCGGAATCGCTGGGATTGGGCGGGGTATATATCGGCGGCCTG
+CGCAATAATATTGAAGCGGTGACGGAACTGCTGAAATTACCGCAGCATGTTCTGCCGCTGTTTGGGCTGT
+GCCTTGGCTGGCCTGCGGATAATCCGGATCTTAAGCCGCGTTTACCGGCCTCCATTTTGGTGCATGAAAA
+CAGCTATCAACCGCTGGATAAAGACGCACTGGCGCAGTATGACGAGCAACTGGCGGAATATTACCTCACC
+CGTGGCAGCAATAATCGCCGGGATACCTGGAGCGATCATATCCGCCGAACAATCATTAAAGAAAGCCGCC
+CATTTATTCTGGATTATTTGCACAAACAGGGTTGGGCGACGCGCTAAAACTGCCACGTCGATGTATGATA
+CGCGGGCTTTTGACCAGGTCTGACAGAGAGGTGCAGAGTGAAAATTGCCATATTGTCCCGGGATGGAACG
+CTCTATTCGTGTAAGCGGCTGCGTGAAGCCGCTATACAGCGCGGTCACCTGGTTGAAATTCTTGATCCGC
+TTTCTTGCTACATGAACATAAATCCTGCGGCGTCTTCTATTCACTACAAAGGCCGCAAGTTACCCCATTT
+TGACGCAGTGATCCCGCGTATTGGCACCGCCATTACCTTTTATGGGACGGCGGCACTGCGCCAGTTCGAG
+ATGCTGGGGAGCTATCCGCTCAATGAGTCGGTCGCCATTGCCCGGGCGCGTGACAAATTGCGTTCCATGC
+AACTGCTGGCGCGTCAGGGCATCGACCTGCCTGTCACGGGCATTGCGCATTCGCCGGATGATACCAGCGA
+TTTAATCGACATGGTCGGTGGTGCGCCGCTGGTGGTCAAGCTGGTTGAAGGCACGCAGGGAATTGGCGTC
+GTGCTGGCGGAGACGCGTCAGGCGGCGGAAAGCGTGATTGACGCTTTCCGCGGTCTGAACGCGCATATTC
+TGGTGCAGGAATATATCAAAGAGGCGCAAGGGTGCGATATCCGCTGTCTGGTTGTTGGCGATGAAGTAGT
+CGCTGCGATTGAACGGCGGGCGAAAGAGGGCGATTTTCGTTCCAATTTGCATCGTGGCGGCGCGGCAAGC
+GTCGCCAGTATCACACCACAGGAGCGTGAAATCGCGATAAAAGCCGCGCGAACGATGGCGCTGGACGTTG
+CTGGTGTGGATATTCTGCGTGCTAATCGCGGGCCGTTGGTGATGGAAGTGAATGCGTCGCCAGGGCTGGA
+AGGAATAGAAAAAACCACCGGTATCGACATCGCGGGTAAAATGATCCGCTGGATCGAACGCCACGCTACG
+ACAGAATATTGCCTGAAAACGGGTGGTTAGTCGCAATCACATTACTGATCATGGTTTTGCCTGCGCTTTT
+TGCGTAAGCTGTGCCGGTCTTTTTATCGGAAGAGGTTGTACAAAATTATGACATCGCTGGTCGTTCCTGG
+TCTGGATACGTTGCGTCAATGGCTCGATGACCTGGGGATGAGTTTTTTTGAATGTGATAACTGTCAGGCT
+CTGCATCTGCCCCATATGCAGAATTTCGACGGTGTCTTTGATGCTAAAATCGATCTGATCGATAACACGA
+TCCTGTTTTCTGCCATGGCGGAAGTCCGACCTTCAGCCGTATTGCCGCTGGCGGCGGATTTATCAGCCAT
+CAATGCCAGTTCGCTGACCGTGAAAGCATTTCTTGATATGCAGGATGATAATCTGCCAAAGCTGGTGGTT
+TGCCAGTCTTTATCCGTTATGCAGGGCGTAACCTATGAGCAGTTTGCATGGTTCGTGCGTCAGAGCGAAG
+AGCAGATTTCGATGGTCATTCTTGAAGCTAATGCCCATCAACTGCTGTTACCGACTGACGATGAAGGGCA
+AAATAACGTTACCGAAAACTATTTCCTCCACTGATAACTCCTTTCGAGCACGCAGTCGCTGCCGCAGTGA
+CTGCGTGCCGCAAAATTATCCGCTGTTTTTAACCTTTTATTAAAGATTAATTCACTTCTCTTGTGCCGAT
+TTGGCTTTATCACATAGAGCAAATACGCATAAAAATTTGTTAAATACCGTTTTTTAATCCGAGCTATAGT
+CTCAAACCCTGGCTAAAGTTATTCTTGCGATGCTTTTATATAGTGAGCAGTGCAGGCCGGGAGAGAGTTC
+TCTTTTCTTACACCGCGCCGATAAAAATATGCACGTTTATTGCATATCTTTCAGTGTGACAACTTTTGTT
+CGTTTGTTAACGAATTTTCAGAAGGAAAGAGATATGACCGCCTTAAATAAAAAATGGCTATCGGGTCTGG
+TTGCGGGGGCTCTGATGGCCGTCTCTGTCAGCACGCTCGCGGCTGAACAAAAAACACTCCACATTTATAA
+CTGGTCTGATTATATCGCCCCGGACACGGTGGCCAACTTTGAAAAAGAAACCGGTATTAAAGTCGTCTAC
+GATGTTTTCGATTCTAACGAAGTACTGGAAGGCAAATTAATGGCGGGGAGCACCGGCTTTGATCTGGTGG
+TGCCGTCAGCAAGCTTTCTTGAGCGCCAGCTGACAGCGGGAGTTTTCCAGCCGCTGGATAAAAGCAAATT
+GCCGGAGTGGAAGAATCTCGATCCGGAGCTGCTGAAGTTGGTCGCCAAACACGATCCCGACAATAAATTT
+GCTATGCCCTATATGTGGGCGACGACCGGGATTGGCTATAACGTCGATAAAGTTAAAGCGGTGCTGGGCG
+AAAACGCGCCCGTCGATAGCTGGGACTTGATCCTCAAACCTGAAAATCTGGAAAAACTGAAAAGCTGCGG
+TGTCTCTTTCCTCGATGCGCCAGAAGAAGTGTTTGCTACCGTGCTGAATTATCTCGGCAAAGATCCTAAC
+AGCACTAAAGCGGATGATTACACCGGACCGGCTACCGATCTGCTGTTAAAGCTGCGCCCGAACATTCGTT
+ATTTCCATTCATCCCAATACATCAATGATCTGGCGAATGGTGACATCTGTGTCGCTATTGGCTGGGCGGG
+CGATGTCTGGCAGGCGTCAAACCGCGCGAAGGAAGCGAAGAATGGCGTGAATGTCTCGTTCTCGATTCCA
+AAAGAAGGGGCGATGGCGTTCTTTGATGTATTCGCCATGCCTGCGGATGCCAAAAACAAAGACGAAGCCT
+ATCAGTTCCTGAATTACCTGCTGCGTCCTGATGTGGTGGCACATATCTCTGACCATGTGTTCTATGCTAA
+CGCCAATAAAGCAGCCACGCCGCTGGTGAGTGCGGAAGTCCGTGATAACCCGGGTATTTATCCGCCTGCG
+GATGTTCGTGCGAAGCTGTTCACTCTGAAAGTGCAGGACCCGAAAATCGACCGTGTGCGCACCCGCGCGT
+GGACCAAAGTGAAGAGCGGAAAATAATCCGCAGCCGTAGATGCCGGACGGGCGCACCACACCCGCCGGCA
+ATTCGCACCATCATGGTGCGCTTGCACACATTCAATGCCGGAGAGCAGCCGTGAATGACGCTATCCCTCG
+CCCGCAGGCGAAAACCCGTAAGGCGCTGACGCCGCTATTAGAAATCCGTAACCTGACCAAATCCTACGAT
+GGTCAACATGCGGTGGATGATGTCAGCCTGACCATCTACAACGGTGAAATCTTCGCGCTGCTGGGCGCAT
+CCGGCTGTGGCAAGTCCACGCTGCTGCGTATGCTGGCAGGTTTTGAACAACCTTCTGCCGGGCAGATTAT
+GCTCGATGGCGTCGATTTGTCACAGGTGCCGCCTTACCTGCGCCCCATCAATATGATGTTTCAGTCTTAC
+GCGTTGTTTCCGCATATGACCGTGGAACAGAACATCGCTTTTGGCCTGAAGCAGGACAAACTACCGAAAG
+CGGAAATTGCCAGCCGGGTCAATGAGATGCTTGGGCTGGTGCATATGCAGGAGTTCGCCAAACGCAAACC
+GCATCAGCTTTCCGGTGGTCAGCGTCAGCGTGTGGCCCTGGCCAGAAGCCTTGCCAAGCGCCCGAAACTA
+TTACTGCTCGATGAGCCGATGGGCGCACTGGATAAAAAGCTGCGTGACCGGATGCAGCTTGAAGTGGTGG
+ATATTCTGGAGCGCGTCGGTGTGACCTGCGTAATGGTTACTCACGATCAGGAAGAGGCGATGACTATGGC
+GGGGCGCATCGCCATTATGAATCGTGGGAAATTTGTCCAGATTGGCGAGCCGGAAGAGATCTACGAGCAT
+CCGACCACTCGCTACAGCGCTGAATTTATCGGTTCGGTTAATGTCTTTGAAGGTGTACTCAAAGAGCGTC
+AGGAAGATGGTCTGGTGCTTTATTCGCCGGGGCTGGTGCATCCACTGAAAGTCGATGTGGATGCTTCGGT
+TGTCGATAACGTGCCGGTGCATGTGGCGCTTCGCCCGGAAAAAATCATGCTTTGCGAGGAACCGCCCGCC
+AATGGTTGTAACTTCGCGGTGGGGGAGGTGATACACATTGCCTATCTCGGCGATCTTTCGGTGTATCACG
+TTCGCCTGAAAAGTGGGCAGATGATTAGCGCCCAGCTACAAAACGCCCATCGCCATCGTAAAGGGTTACC
+GACCTGGGGCGACGAAGTGCGTTTGTGCTGGGAAGTGGACAGCTGTGTGGTGCTGACGGTTTAAGGAGCA
+AAGATGAGTACACTTGAACCTGCTGCCCAGCCAAAACCCTTTAAGCTGTGGTTGTCGCAGCTGCAAATGA
+AGCATGGGCGCAAACTGGTCATTGCGTTGCCATATATCTGGTTGATCTTGCTGTTTCTGCTGCCATTTCT
+GATCGTCTTTAAAATAAGCCTTGCGGAGATGGCGCGCGCTATTCCACCTTATACCGAATTGATGGAGTGG
+GCTGACGGGCAACTTTCTATCACTCTTAATCTCGGTAATTTTCTGCAACTGACCGACGATCCGCTCTATT
+TTGATGCTTATCTCCAGTCGTTACAGGTGGCGGCGATTTCGACTATTTGCTGTTTACTGATCGGCTATCC
+GCTGGCGTGGGCGGTGGCGCACAGTAAGCCTTCGACCCGTAATATCTTATTACTACTGGTGATCCTGCCG
+TCGTGGACCTCGTTTCTGATTCGTGTCTACGCCTGGATGGGAATATTAAAAAACAACGGTGTGCTGAATA
+ATTTTCTGCTGTGGCTGGGGATTATCGATCAACCGCTGACCATTCTGCATACCAACTTTGCTGTTTATAT
+TGGCATTGTTTACGCCTACGTGCCGTTTATGGTGCTGCCGATTTACACCGCGTTGATTCGTATTGATTAT
+TCGCTGGTAGAAGCGGCACTGGATCTCGGTGCACGACCGCTGAAAACGTTCTTTACTGTGATCGTGCCGC
+AGACTAAAGGTGGGATTATTGCCGGATCGATGCTGGTGTTTATCCCGGCTGTGGGCGAGTTTGTGATCCC
+GGAACTGCTCGGTGGCCCGGACAGCATCATGATCGGGCGCGTGCTGTGGCAGGAGTTCTTTAACAACCGC
+GACTGGCCGGTGGCCTCAGCGGTAGCGATCATCATGTTGCTGCTGCTAATTATGCCGATAATGTGGTTCC
+ACAAACATCAGCAAAAAAGCGTGGGAGAACACGGATGAATAATTTACCGGTGGTTCGTTCGCCCTGGCGG
+ATTGTGATTTTGCTGTTGGGCTTCACCTTTCTCTACGCGCCAATGCTGATGCTTGTTATCTATTCGTTTA
+ACAGCTCGAAGTTAGTGACGGTGTGGGCCGGCTGGTCAACGCGCTGGTATGGCGAATTATTGCGCGATGA
+CGCAATGATGAGTGCGGTTGGTTTAAGTCTGACAATTGCGGCCTGTGCGGCGACGGCGGCGGCGATCCTC
+GGGACTATTGCGGCGGTCGTGCTGGTGCGCTTTGGCAGGTTTCGCGGATCAAATGGTTTTGCCTTCATGA
+TCACCGCACCGCTGGTAATGCCAGATGTCATCACGGGTTTGTCGCTGTTGTTGTTATTCGTCGCGCTTGC
+TCATGCTATTGGCTGGCCTGCGGACCGCGGTATGCTCACCATCTGGCTGGCGCATGTCACTTTCTGTACG
+GCTTATGTGGCAGTCGTTATTTCGTCGCGTCTGCGGGAACTGGATCGCTCGATAGAAGAAGCCGCGATGG
+ATCTCGGTGCGACGCCGCTGAAAGTGTTTTTTGTCATTACGCTACCGATGATCATGCCCGCGATCATTTC
+TGGCTGGTTACTGGCTTTTACTTTGTCGCTTGATGATCTGGTGATCGCCAGCTTTGTTTCCGGGCCAGGA
+GCCACCACTTTACCGATGCTGGTCTTTTCCAGCGTGCGGATGGGGGTGAATCCGGAAATCAACGCCCTGG
+CAACATTGATCCTCGGCGCGGTCGGAATTGTCGGATTTATCGCCTGGTATCTGATGGCGCGCGCAGAAAA
+ACAGCGGATACGCGACATCCAGCGTGCAAGACGTGGCTGAAGACACTAAAATTTGCCAACCTGGCTACAT
+AATGCCGCGCATGTCGCGGCATTGTTTTCATGGAAGACGAAACGTTGGGATTTTTTAAGAAAACATCTTC
+ATCTCATGCTCGCCTGAATGTGCCTGCGCTGGTGCAGGTGGCGGCGCTCGCCATTATTATGATCCGTGGC
+CTCGACGTGCTGATGATTTTCAATACGCTGGGCGTGCGCGGTATTGGCGAGTTCATTCATCGCAGCGTAC
+AAACCTGGAGTTTAACGCTGGTCTTTTTGAGCAGTCTGGTGCTGGTTTTCATTGAGATCTGGTGTGCGTT
+TTCACTGGTGAAAGGGCGTCGCTGGGCGCGCTGGCTGTATCTGTTGACACAAATCACAGCCGCAAGTTAC
+TTGTGGGCGGCCTCGCTGGGGTATGGTTATCCGGAGCTGTTCAGCATTCCCGGTGAATCAAAACGTGAAA
+TCTTCCATAGCCTGATGCTGCAGAAGCTGCCGGATATGCTCATCCTGATGCTGCTGTTCGTTCCCTCGAC
+CAGTCGGCGGTTCTTCCAGTTGCAATAATGTGTATAATCGTCGCCCCTGATGATGTGAAGGTCAATGTAT
+GCAGTGCGCACTTTACGACGCGGGTCGCTGTCGTTCCTGTCAGTGGATAACGCAGCCGATTCCAGAGCAA
+CTCTCCGCTAAAACCGTCGATCTTAAAAATCTGCTCGCCGATTTTCCGGTTGAGGAATGGTGTGCGCCGG
+TGTCAGGCCCGGAACAAGGGTTTCGTAATAAAGCCAAAATGGTGGTGAGTGGTAGCGTTGAAAAACCACT
+GCTCGGTATGCTACATCGGGATGGTACACCGGAAGACCTTTGTGACTGCCCGCTTTATCCAGCCTCATTT
+GCGCCCGTTTTTGCGGCGCTAAAACCGTTTATCGCCCGTGCGGGTTTAACGCCTTACAACGTGGCGCGTA
+AACGTGGTGAACTGAAATACATTCTGCTGACTGAAAGCCAGAGCGATGGCGGCATGATGCTGCGTTTTGT
+ACTGCGTTCTGATACCAAACTGGCGCAACTGCGTAAGGCGCTGCCGTGGTTACAGGAACAATTACCGCAG
+CTGAAAGTTATTACCGTCAATATTCAGCCGGTACATATGGCGATTATGGAAGGGGAGACGGAGATCTACC
+TGACCGAACAACAGGCACTGGCAGAGCGTTTTAATGACGTACCGCTGTGGATCCGTCCGCAAAGTTTCTT
+CCAGACTAATCCGGCGGTCGCCAGCCAGCTGTACGCCACCGCGCGCGACTGGGTACGACAGCTGCCGGTT
+AAACATATGTGGGATCTGTTCTGCGGTGTGGGTGGCTTTGGTTTACACTGCGCGACGCCTGACATGCAGT
+TAACCGGGATCGAAATTGCACCAGAGGCCATTGCCTGTGCGAAGCAGTCAGCCGCTGAACTGGGCTTAAC
+GCGTTTGCAATTTCAGGCGCTGGACTCTACGCAGTTTGCCACCGCTCAGGGGGAAGTGCCGGAGCTGGTG
+CTGGTTAACCCGCCGCGCCGCGGCATCGGTAAACCGCTGTGTGATTATCTCTCAACGATGGCACCGCGTT
+TTATTATCTACTCCAGCTGTAACGCCCAAACTATGGCGAAAGATATCCGCGAACTGCCTGGTTATCGCAT
+CGAACGGGTACAGCTTTTTGATATGTTCCCGCACACCGCGCACTATGAAGTGCTGACGCTGCTGGTGAAG
+CAATAAAAAAGCCGCAGGTGCGGCTTTCTGAATCTTACTGTGGGAACCACTGGTCATTGATTTTCTGATA
+TGTACCGTCAGCTTTAATTGCTGCCAGCGCGTTATTCAGTTTTTCCAGCAGAGCTTTGTTATCCGGACGT
+ACAGCGATACCCAGGCCGGTGCCGAAGTATTGCGGATCGGTCACTTTTTCAGTAGCAACGCCCAGTTGCG
+GATTGGTTTTCAGCCATTCGTTTACCACTGCGGTGTCACCAAATACGCCATCAATACGGCCATTTTTCAG
+ATCGATAAAGGCATTCTGATAACTGTCATAGGAGACAGTTTTTACTTCCGGGTGCTGATCCTGAATATAT
+TTCTCGGTGCGTGGTGCCGTTTTCCATCCCAATACGTTTGCCTTTCAGATCGGCAAACGTTTTGTAGGTA
+TCTTTTTTGGCAATCACGACGGCTGAGTTTTCGTAGTAGGGCGTGGTAAACGATACCTGTTTGCTACGCT
+CCGGCGTGATATCCATTCCGGAGATTACGGCGTCATATTTTCTGAATTTCAGTGACGGGATCAGGCTGTC
+GAACGCGTGATTAGTAAAAGTACATTCTGCCTGCATTTGTTTGCACAAGGCTTTTGCCAGGTCGATATCA
+AAGCCGACAATCTCATTATTAGCACCTATAGATTCAAAGGGTGGATAGGTGGCTGAAACGCCAAAATTGA
+TTTTCTCTGCGGCAGAAGCACCGAAAGTAAAAGAAGCAAGTAAAGCGGCAAGAACTAACTTTTTCATGAT
+GGAACTCCCGTCTGTCAATCTTATGATTTTTGGCCGTGTCTGCGGCATGGGATAACAATGCCATCAAGTG
+AATTTATATGCAATAAATATGAGTAAATAATTTATATGAAATAAAAAAAGACGGACAGCTTAGTGGGTTG
+TCCGTCTTCATAATAAGAATTTATGCACTATGTAGGCCGGATAAGGCGTCCACGCCGCATCCGGCATCAG
+CATGCAGCTACATTAATTCCGCCGTTCGAATGCCAGTGCTTTACGCTCGATCAGACGCATCATCAGCGTC
+AGCAGGCCGTTGACGACCAGGTAAATAATCCCCGCCGCGCCAAATACCATTACATCGTAGGTGCGTCCGT
+ACAACAACTGGCTGTATCCCATCACTTCCATCAGCGTAATGGTGTAAGCCAGAGAGGTACTTTTGAACAC
+CAGCACCACTTCGTTGGAATAAGAAGAGAGCGAGCGTTTAAACGCGTACGGCAGCAGGATCGCCAGCGTA
+TCTTTTTTGCTCATTCCCAGGGCGCTACAGGACTGCCATTGACCTTCCGGGATCGCGCGAATCGCACCGT
+AAAACAGCTGCGTGGTGTACGCCGCACTGTTCAGCGACAACGCAATCAGCGCACATAACCACGGTTCTGA
+CAACAAATGCCACAGTGCCGGATACTCCTGCAACGTTGGGAACTGGCCCGGTCCGTAATAAATCAGGAAG
+ATCTGCACCAGCAGCGGCGTACCGGTAAACAGCGTGATATAGCCCCGCACCAGCCACACCAGCACCGGCG
+TTTTCAGCGTCAGGATGATGGTAAAAATCAATGCCAGAATCAGTGCCACAATCAGCGAGGCAACGGTTAG
+CGTCAGGCTGGTGTGCAGCCCTTTCATCAGTTCGGGTAAATACTCAAACATTAGCTGGGCCTCCGCTCAA
+AACGTGTCGCGCGCAGGTCAATGCGTTTGAGAATGTACTGACTGAGCAGGGTGATCACCAGGTAAATCAC
+CGCCGCCACAATGTACCAGGTAAACGGTTCCTGTGTACGGGTAGCGATGCTTTTGGTTTGTAGCATTAAA
+TCATTCACACTAATCAAACTGACCAGCGCGGTATCTTTCAGCAGCACCAGCCACTGGTTACCGAGACCCG
+GCAGCGCATGACGCCACATCTGCGGCATCACCAGACGGAAAAATATAGCCGATTTCGACAGCCCCAGCGC
+CTGACCGGATTCCCACTGACCCACCGGCACCGCTTTTAATGCACCACGCAGCGTTTGCGAGGCATAGGCG
+GCATACAGCAGTGACAGTGCGATGACACCACAAAGGAACGGGCTAACGTCGAAGTTCTCAATGTCCATCT
+GCACCGGGATCTGCACGAACCCAAGATTGATAGTGAAGCCATCCGAAAGCGTCAGCAGCAGCTGCGAGGA
+GCCAAAATAGATAAACAGCACCACCAGAATTTCTGGCAGGCCACGCAGAATGGTTACCAGCGCTGAACCT
+GCCCACGCGACAGGACGCCATTTCGCAGACTCCCATACCGCAAAGAACATCGCCAGCGCCAGCCCGACAA
+TCAATGCACAAACGGCAAGGCCGACGGTCATCCCGGCGGCGCTTGCTAAAGGAAAAAATTCATTCATCAG
+GAATTACTTCTGGAACCATTTGTTGTAGATGGTTTCGTAAGTGCCATCTTTCTTCACTTTTTCCAGCGCA
+GTGTTGAGTTTCTGCTGCAGTTCAGTGTTGCCCTGGCGTACTGCGATGCCGAGGCCAGTACCGAAGTAAT
+CTTTATCGGTCACTTTATCGCCCACTGCCGCCAGTTTCGGGTTATCTTTCAGCCATTCGGTTACCACTGC
+GGTGTCACCAAATACGCTGTCGATACGACCGTTTTGCAGATCCAGTTTTGCGTTCTGGTAACTGTCATAT
+GGCACGGTAGTGATTTCCGGATGCTTATCCATAATGAACTTCTGGTGTGTCGTCCCGTTCTGAACGCCGA
+CTTTTTTGCCTTTCAGCTGATCAACACTGGTGTATTTGCCTTGCTGACCCACAAACAGGGCAGAGTTGTC
+ATAGTACGGGGTGGTAAACAGCACCTGCTTTTCACGCTCCGGAGTGATATCCATGCCCGCCATCACTGCT
+TCTACGCGACGGAATTTCAGGCTTGGGATCAGGCTGTCAAACGCCTGGTTAGAGAAAGTGCAGGTTGCAT
+CAATCTCTTTACACAATGCCTGCGCCAGGTCGACATCAAAACCAACGATCTGGTTGTTTGCATCAATCGA
+TTCAAACGGAGGATAGGAGGCTTCGGTGGCAAAACGAATGGTTTCGGCTGCTGTGGCGGAAAGACTAAAA
+CCTGCAATTAACGCGGCAATCAGAACTTTTTTCATTGTTGTTATCCCGAATCTTAGTGAGAGAGATAGTT
+TTTAAATGCTTCGGTTTGCGGCTCGGTAAAGCAGCTCGCGTCGCCTTGTTCTACGATATGACCGTTTTCC
+ATATACACCACTCGGCTGGCGGTTTTACGCGCCACTTCAACTTCGTGGGTGACGATCACCTGGGTAATAT
+TCGTTTCTGCCAGCTCACGAATGATGCTGACGATTTGTGCCGTAATTTCGGGGTCCAGTGCGGCGGTCGG
+TTCATCGAACAGCAGTACCTGCGGTTCCATCATCAACGCACGGGCAATAGCAACACGCTGCTGCTGACCT
+CCAGAAAGATGCAGCGGGTAACGATCGCTATAAGGTTTGAGACGCAGACGTTCCAGCAGTTTTTCTGCAC
+GGGCCAGCGCCTGATCTTTACTCAACCCCAGTACACGACAGGGCGCTTCAATCAGGTTTTGCTGCACGGT
+CAGATGCGGCCACAGGTTGTATTGCTGAAACACCATGCCAACGTTACGACGCAAATCGCGAATCGCTTTG
+TCAGAGGGGGTTTTGGTGAAATCGAAATGGTTGCCTGCAATGTTGAGCGTACCGGAGCGCGGCATCTCAA
+GCAGATTGAGTACACGCAGCAGCGAGCTTTTACCCGCGCCGCTGGGGCCAAGTAACACCAGCGTTTCGCC
+CTGTGGGCAATCCAGCGTGATATCGAACAGCGCCTGATGCGCGCCGTAGAAGCAATTAATGCCGTTTAAT
+TGAATACTCATTGACACTCGTATACTGGCAGTCTGATAGCTATTGAGGTCGAAGATAGTACCTTTGACAG
+AATAATTATGCAATATTTCTGCTTTAAAAGTTAAAAGCAAAGCGCATTATTCAATAAACATAGCACAAAA
+TAACGGGGGCGGTGGTCGGCGAGCATAAATGTCGGCATTCCTCACGAAATGCCGGACAATTTACGGGGTT
+TATTGGTTGATCAAGACGTTAGCGATTCTCGATGGACTGACGGAGCGTACCCGCTGTGGCATGAACGCTA
+CCGCCTAAGTAGCGCACATCGTCGATGACCCAACACTGGCCTTCCTGAATCATTAACACTTCATCCTGCC
+AGCCCTGGTCACCCTGCTTGAGATCCACGCGCAATGGAATGTTACGGGCATCACGATTAGGGATAGTAGA
+TGCACTGGCAACGTGGGCGCTGTCTGGCAAGGTGGTTCGACTGGAGAACGGATCGCTGCTTAACAATTCA
+CGATGACTATTATCGCGGCTGGCATCGCTAAGTAGGGTTGCCAGTTTGTCACTCAAATAGGGGCGCAGAG
+CGGTAATGTCATTGCCGCGATGTTGAATGCGGTAGTCATAGAACTGTTGAGCCACGCTATCAGGCCCCCC
+CTGGACACAGGAACCGGTGCGGGGGCCGTTATCTTTATAAGCTGGCGTGACGGTGGTACAGGCACTGAGT
+AGCAGTGCGCAAGGGATAAGCATGGTCAATTTGCTATAGCGCATGATGATTTCCTTATAAGCGAACACCT
+TGAAAGCGTTCTACGATAATAATGATATCCTTTCAATAATAGCGTATCAGTCCGATAATGCTTTGAAGAT
+CGAAGGCTTAGCAAACAAGGAGATCGATCATGCAATTTTCTACAACCCCAACTCTGGAAGGCCAGACCAT
+CGTTGAATATTGCGGTGTGGTGACTGGCGAAGCGATTTTAGGCGCGAATATTTTCCGTGATTTCTTTGCC
+GGTATCCGCGATATCGTTGGCGGACGCTCCGGTGCCTACGAAAAAGAACTGCGTAAAGCGCGGGAGATTG
+CCTTTGAGGAGCTCGGCTCCCAGGCGCGAGCGCTGGGGGCTGATGCCGTCGTCGGTATTGATATCGACTA
+CGAAACGGTCGGGCAAAACGGCAGTATGCTGATGGTTAGCGTCAGCGGTACGGCGGTGAAAACGCGTCGA
+TGAGAAGAGTCTTCTGGCTGGTCGCTGCCGCTCTGTTACTGGCAGGGTGCACAGGCGAAAAAGGCATTGT
+CGAGAAAGAGGGATATCAGCTTGATACCCGACGCCAGGCGCAGGCGGCGTATCCGCGCATTAAAGTGCTG
+GTGATCCACTACACCGCAGATGATTTTGATAGCTCGCTGGCGACACTGACCGATAAGCAGGTCAGCTCGC
+ATTATCTGGTCCCTGCGGTGCCACCGCGATACAACGGTAAACCGCGCATCTGGCAACTGGTGCCGGAACA
+GGAACTGGCCTGGCATGCGGGGATTAGCGCCTGGCGCGGGGCAACGCGCCTTAACGACACCTCTATTGGC
+ATTGAGCTGGAAAACCGTGGCTGGCAGAAATCAGCCGGAGTGAAATATTTTGCCTCGTTTGAACCGGCAC
+AGATTCAGGCGCTTATTCCACTGGCGAAAGATATTATTGCCCGTTATCACATCAAGCCGGAAAACGTAGT
+GGCACATGCGGATATCGCGCCGCAGCGCAAAGACGATCCGGGGCCATTATTCCCCTGGCAGCAACTGGCA
+CAGCAGGGGATTGGTGCATGGCCGGATGCGCAGCGGGTGAACTTTTACCTTGCCGGGCGCGCGCCACACA
+CACCGGTAGAGACCGCGTCATTGCTGGAGCTTTTGGCGCGTTATGGTTATGACGTAAAGCCTGATATGAC
+TCCGCGCGAGCAGCGTCGCGTGATTATGGCGTTCCAGATGCATTTCCGCCCGACGTTATATAACGGCGAA
+GCGGATGCAGAAACTCAGGCGATTGCCGAAGCGTTGCTGGAGAAATACGGTCAGGATTAGCGCGGCAGTT
+TTCCGTGGTCGCGCAGCCAGGCGGCAGTTTTCTCGATACCTTCATCCAGGGTAAGGACTGGCTGATAACC
+TAGCTCTTCCTGCGCGCGCGTAATATCCAGCGTAAAGTCAAAATTCAACTTGGAGACGCCGTAGTGGGTT
+AGCGGCGGCTCTTTAGCTGACTTGCGACCTAAACGCTCCATGCTGCGGGCGATCATATCCAGCATTGGGT
+AGGGGACGGAACGAATACGACAGTCAATATTCAACTCGTCGATCAGCTTCTGCACGATGCTGCGCAGTGT
+GCGATGTTCGCCGTTGGTGATGTTGTACACACGCCCGGAAGGTAGCTTATCGCACGCTTCCTGGCTTGCC
+AGCCACATGGCGTGCACGGCATTTTCATAGTAGGTCATATCGACCAGCGCACTGCCGCCATGCGGTAACA
+GAATACTGCCGTAGTGATGCATCATATGCGCCAGACGGGGGATAAAGACTTTATCGTGCGGTCCGAACAG
+ACTTTGTGGGCGCAGAATAGTAAAGCGCGTTTGTGGATTCGCCTGCGAAAGCATATTGATCACTTCTTCA
+CTGGCTGCTTTGCTGCGGGCAAACTCGTTGGCGAAGCGGTGAGGGCGAAAATCTTCTTTAATATCGCGAT
+GGTGGTGATAATCGAAGTACAGGGAGGGAGAAGAGATATGAATAAAGTTACGCACACCCCAGGCAACAGC
+CCATTCACCCAGGCGGCGAGTGGCACGAACGTTAGCCAGATCGAAAGCCTGTTGTGTCCCCCAGGGCGAG
+GTAAAGCTGGAGCAGTGCCACAGCGTATCAATGCCTGCGAGCATCACTTTAGCTTGTGATGAGACCAGCT
+CGGTCAGATCCGCCGGAACAAACTCTGCGCCCATTTTTTCCAGCAATTTACCCATTGCCTCGTTGCGACC
+GGTCGCTCGCACGCTGATGCCTTTCTGGCATAAAAACTCTACCGCGTTTCGACCTAAGCCGCTGGTGGCG
+CCGGTAACCAGTACCTTCATATCAATCCACTGTTGTTGAGAAAATAACGTGCGCATTCTTCCGTGATTTC
+CTCCATGATGCAATGGGAAACATGAAAGAATAACGCAGGTTTTGTCGATTAATCTGTGCTTTGTTCTGCC
+AGTCTGGCGATTCGTTTTGCCATTCCGCGAAAAATAAACAGATGCGCGGGGATCATCAATAACCAGTAAA
+ACAACCCTGGCATACCGTGCGGATGCCAGAATGCGCGAACATCGATAGTACGATAGTCACCTTTATCTTC
+CAGGGTAAAACACAGTCGTCCCAGCCCCGGCGCTTTCATGCCAAATAACAGCGTAAGTTGTTTTTGCGGT
+TCAACGACAATCACTTTCCAGCTATCCACCGCATCTCCGGTCTGCAAATATTCACGCTCCGGGCGGCCTT
+TCGCCAGCTTATGACCGATCGCGCGGTCCATCAACGCCCGGGTTTGCCACAAAATATTGCCAAAGAAATA
+ACGCTCTTTACCGCCGATTTGATTCACCACCTGCCATAAAGCCGCAAGGCTGGCGGACGTTTTAACGGTA
+AACCCCGCCTGTTTGGCGAAATAACCGTACTCCGGTCGCCAGCGGGCAAAGGCCTGAGCGTCGTAGCCCC
+AGTCGCTGGAGTTGACCAGCTTTTCTTCCTCTTTCAACGTGCTACGTACCGCGTCATCGAAAGCGATCAG
+CCGTTGTGGGATGAGCGCACGTAGCGCGGTGTCATCCGCCAGCAGATCGTGTTTCAGCCCCTGAATCAAC
+GCCCTGGCGGTGGTGGGCGGTACGGAAGTAATCACATTAAGAAACCACACCGAAATCCAGCGGGTGGGGA
+GGGGGATGGGGAGCAACCAGCGGCGCTTACCGCTCACCGCCATAAAATGTTCAAACTGTTGCTGATAACT
+GAGCACTTCTGGTCCGGCGGCTTCGAAGATGCGGTGTTCGCAGGCCGGATGATCTAACAGCGCCACCAGA
+TAGTGCAGCAAGTTTTCCAGCGCGATGGGCGTTGTGCGTGAACGGACCCAGCGTGGCGGCGTTAACATTG
+GCAGGTTGTAAACCATATCGCGCATGACTTCGAATGCCGCTGAACCCGCGCCAACGATAATTCCGGCACG
+TAGTTCGGTCACCGGGACACCCGCTTCACGTAAAATATCCGCCGTGGCCTGACGAGCACGCAGATGATCA
+GATTGTTCATGAGGCGGCGCCTGCAATGAACTGAGAAAGATTAATTGCTTTACCGGTACTTCGCGTAGCG
+CATCGCGGACGTTGAGAGCCACCTGGCGCTCCTGAGCGATAAAATCACCGCCTTCGCCCATGCTGTGCAC
+CAGAAAATAGACAGTATCAATATTCTGCAACAGGGCCGGAAGGTTATCCGGCCAGTTGAGATCGACTTTA
+TGGCAACTGACATTAGCCAGTTGCAGTTTTGCAAGTCTGTCGACGTGACGTGCCGCCGCCAGGATCTGAT
+GCCCTTGCTGGCTGAGCGTGCGCACCAGATGCTGACCAATGTAGCCACTGGCACCGAGAACCAAAATGCG
+TTGCGGCACGTCTCTCTCCTTAACGCGCCAGAAACGCACGCCAGTGGGCGGCAACTTCCGCCAGTTGTTC
+ACGCGAGACGTCAAGATGGGTCACCAGGCGGACAATCGGCGAGGCGTTAATCAGCACGTTTCTCGCTTTC
+ATGTATTCGCCTAACGCGGCAGCATTTTCTTCCCCGACGCGAACAAACAGCATATTGGTGTCCTGACGCA
+TCACATCCGCGCCTGCTTCACGCAACTGCTCCGCCATCCAGGCGGCGTTATCGTGGTCTTCCTGCAAACG
+TGCGACGTTATTTTTCAGGGCATACATCCCGGCGGCAGCCAGAATGCCGGACTGACGCATCCCGCCACCT
+GTCATTTTCCGCCAGCGAATGGCACGTTTAATGTAATCACGATTACCGACGAGTAATGAACCGACTGGCG
+TCCCAAGACCTTTCGACAGGCAAATGGTGAACGAGTCACAATATTGCGTGATCTCTTTCAGTTCGCAGCC
+GTAAGCCACCACGGCATTAAAGATGCGCGCACCGTCAACATGCAGCGCCAGATTGCGCTTGCGGGTAAAT
+TCCCATACCTCTTTTAAGTATTCACGCGGCAGCACTTTGCCGTTGTGGGTGTTTTCCAGACTGAGTAATT
+TGGTGCGGGCGAAATGGATATCGTCGGGTTTGATTTTCATCGCCACTTTATCCAGCGGTAGCGTACCGTC
+GGCAGCTGCGTCGATGGGTTGCGGCTGAATACTGCCCAGCACTGCTGCGCCACCGGCTTCAAACAGATAG
+TTATGCGCGGCCTGACCGACGATATACTCTTCGCCGCGTTCGCAGTGACTGAGCAGAGCGACCAGGTTGG
+CCTGAGTGCCGGTAGGCAGAAAAATGGCGGCTTCTTTACCAGAAAGCTCTGCTGCATAGTCCTGCAGAGC
+ATTAACGGTAGGGTCGTCTCCGTAAACGTCGTCCCCAACCGGGGCGGCCATCATCGCTTCGAGCATGGCG
+CGGCTCGGTCGGGTAACGGTATCACTGCGTAAATCAATCATGGCATGTCCTTATTATGACGGGAAATGCC
+ACCCTTTTTACCTTAGCCAGTTCGTTTTCGCCAGTTCGAGCACTTCATCACCGCGCCCGCTGATGATTGC
+GCGCAGCATATACAGGCTGAAACCTTTGGCCTGTTCGAGTTTGATCTGCGGTGGAATGGCTAATTCTTCT
+TTGGCGACCACCACATCCACCAACACCGGACCATCGATGGAGAAGGCGCGTTGCAGAGCTTCATCAATTT
+CAGACGCTTTTTCCACGCGGATACCCGTAATGCCGCAGGCTTCGGCAATTCGGGCAAAGTTGGTGTCGTG
+TAGTTCGGTGCCATCAGTCAAATAGCCACCAGCTTTCATCTCCATCGCCACAAAGCCCAGCACGCTGTTA
+TTAAAGACGATAATTTTCACTGGCAGCTTCATCTGCACTACCGAGAGGAAATCGCCCATCAACATGCTAA
+AACCGCCATCGCCGCACATGGCGACCACCTGGCGTTCTGGCTCGGTTGCCTGCGCGCCCAGCGCCTGCGG
+CATGGCGTTAGCCATCGAACCGTGGTTAAACGAACCTAACAGGCGACGCTTGCCGTTCATTTTTAGATAA
+CGTGCCGCCCACACCGTTGGCGTACCAACGTCACAGGTGAAAATAGCGTCATCGGCGGCAAAATGACTAA
+TTTGCTGCGCCAGATATTGCGGGTGAATGGCTTTCTCGCTCGGTTTAGCTAAATCGTCCAACCCTTTGCG
+GGCGTCGCGGTAATCTTCCAGCGCCTTATCCAGAAACTTGCGTTCGGTTTTTTCTTCCACCAGTGGCAGC
+AATGCGCGCAGGGTTGATTTGATATCGCCGACCAGCGCCATATCTACCTTGCTATGCGCGCCGATGCTGG
+CTGGGTTGATATCAATCTGAATAATTTTGGCATCGGTCGGGTAGAACGCACGGTAGGGAAACTGAGTACC
+GAGCAGCACTAACGTATCGGCGTTCATCATGGTATGGAAACCTGACGAAAAGCCGATTAATCCCGTCATT
+CCAACATCATATGGATTATCGTATTCGACATGTTCTTTACCGCGCAGGGCATGGACTATAGGCGCTTTAA
+TTTTCCCGGCAAACTCAACTAACTCTTTATGCGCCCCCGCACAGCCGCTGCCACACATCAGGGCGATATT
+GCTGGAATAACGCAGCAGTTGCGCCAGTTTGCGTAACTCTTCTTCTTCCGGTGTTACTACCGGCTGTGGC
+GCATGATACCAGTGGGTTGTTGCCCCTTCTGGCGCAGGTTTTAACGCCACGTCGCCCGGTAACACAACAA
+CGGAAACGCCACGGTTAAGCACCGCTTTGCGCATAGCAATTGCCAGCACTTGTGGGATCTGCTCTGGGCT
+GGAAACAAGCTCGCAATAGTGACTACATTCGCGGAATAGCTCTTGTGGGTGGGTTTCCTGGAAATAGCCG
+CTGCCAATTTCGCTGGAGGGAATATGAGCGGCAATCGCCAGTACCGGAACGTGATTGCGGTGGCAATCGA
+ACAGGCCGTTGATTAAGTGCAGGTTGCCGGGACCGCACGATCCGGCACAGACCGCCAGTTCTCCGCTAAG
+TTGTGCTTCAGCGCCAGCGGCAAACGCCGCCACTTCTTCATGCCGGGTGGACATCCACTCGATGGTGCCC
+ATGCGATTAAGACTGTCACTAAGACCGTTCAGAGAGTCGCCCGTGACTCCCCAGATGCGTTTCACGCCTG
+CCGATTCGAGTGTTTTGGCGATATAAGCTGCAACCGTTTGTTTCATGGTTCTCCATCTCCTGAATGTGAT
+AACGGTAACAAGTTTAGTTCATCTGACGGAGGGGGAAGGGATGGGAGAAAAAGGAGGCACTAACGGTTAA
+ATAGCCCGATGAAAGGAATATCATCGGGCATCAGGCGATTATGCGAGAACCAAATCCCCCTGCGGATGGC
+AGGAGCAGGCCAGTACGTAACCTTCAGCGATTTCGGCGTCGGTCAGCGTCATTGTGCTGCTCACCGTATA
+TTCACCGGAAATCACTTTCGTCTTACAGCAGCCGCAAACACCCGCACGGCAGGCGGCGACAACCGGAACG
+TTATTGCTTTCCAGCGCCTCCAGTAGCGTGGTGCCAACCGGAGCGTAAAATTCTCGTGCCGGTTGCAGTT
+TGGTGAATTTCAGACCACTGGTCGCCGCTTCCGCTACTGGGGTGAAGAATTTCTCTTTAAAGAAACGCGT
+CACGCCGAGCGCTTTCACTTCCTGCTCTACCCAATCCATATATGGAGCAGGGCCACAGGTCATCACGGTA
+CGTGAGGCTAAATCAGGAACGCGAGTCAGCAGTTCGCGAGTGAGACGACCAGCGATAAAGCCTTCGGTAA
+CGTTATTTTCCGCCACCAGCGTTACCGGATAGTTACGCCACTCATCGGCGAAAATAACATCCTGCGGCGT
+ACGCACGTTGTAGATCACCTGCACATCGGCCTGTGGACGGTTCTTCGCCAGCCAGCGACGCATCGACATA
+ATCGGCGTAACGCCGCAGCCTGCCGCCAGCAACAGGAATTTATCTTCTGCTTTATCGTCGCAGGTAAATT
+CCCCCATCGCGTCCGAAAGCCAGAGATAATCACCGCGTTTTACATCGCGCGTCAGCCACCGGGAGCCGAC
+ACCGTCATCAATCCGCCGCACGGTCAGGGTGATGTATTCACTCACGCCTGGCGTGGAGGAAATGGTGTAA
+GCACGCAGCGTTTCCGCTGAGTTACGCACGCTGACCAGCGCATATTGCCCGGCGCGATACGGGTAGTAAT
+CGTGGCAAATCAGGGAAATCGTCCACACATCCGGCGTTTCTTGCGTAATGTGATGAACCTGCATCCGCCA
+CGGGCATTGATTCGTTGGCATCGTCATCGACAAACTCCTTACGCGCTCAACAGTTGCTTCATGTCTTCTT
+CAACAGTGGTGATAGAACGCAGGCCGAATTTCTCGTTCAGCACCGCCAGCAGGTCTGGTGTCAGGAAACC
+AGGTGCAGTCGGGCCGGTGACGATATTTTTCACACCCAGAGAAAGCAGCGTCAGCAGAATGACAATCGCT
+TTCTGTTCAAACCAGGAGAGCACCAGCGACAGCGGCAGATCGTTCACCCCACAGCCCAGTTTCTCTGCCA
+GCGTTACCGCCAGAATAATTGCTGAGTAAGCATCGTTACACTGACCAGCATCTACCAGACGCGGCAGACC
+TTCGATATCGCCAAACTCAAGTTTATTAAAGCGATATTTACCGCAAGCGAGGGTCAGGATCAGGCAGTCA
+TCCGGCACGCTGGTGGCGAAATCGGTGAAGTAGTGACGCTCGCCGCGTGCGCCGTCACAGCCGCCAAGCA
+GGAAGATATGACGCAGTTTTTCACGGCTCACCAGATCAATCAGCGTATCGGCTGCGCCAAGCAGTGTCTG
+GCGACCAAAGCCCACGGTGATCAGGTGCGGAATTTCGCTGTACGGGAAGCCCGCCATCTGTTGCGCTTGG
+GCAATGACTGCAGAGAAATCTTCGCCATCCAGATGACGCACACCCGGCCAGCCAACGATGCTGCGGGTCC
+AGATACGATCGTCATAAGCGCCTACGGTTGGGTCGATGATGCAGTTCGAGGTCATCACGATGGGGCCTGG
+GAAACGAGCGAACTCCACTTGCTGATTCTGCCAGCCGCTGCCGTAGTTACCGACCAGATGCTTGAATTTA
+CGCAGCTCCGGGTAACCATGCGCAGGCAGCATTTCGCCGTGGGTGTAGACATTAACGCCCGTGCCTTCGG
+TCTGTTCCAGCAGGTTGTAGAGATCTTTGAGATCGTGACCGGAAATCAGAATGCATTTACCCGCCGTCGC
+TTTGACGTTGACCTGAGTTGGCGTCGGGTGACCGTATTTACCGGTTTCGCCTGCGTCCAGAATGCTCATC
+ACTTTGAAGTTCATCTGGCCGATTTCCATTGAACACTCAAGAAGCGCGTTCATATCGGCAGGCCAGGTCC
+CCAGCCACGCCATGATTTTATGGTACTGGGCATAAATATCGTTGTCGTATTGACCGAGAACATGCGCGTG
+TTCCATATAGGCCGCCGCACCTTTCAGGCCATACAGGCACAGCAGACGCAGGCCGAGAATGTTTTCGCCA
+ATCGCCGCTTTATCTTTGTTAGGGGTAAATTCTGCTGCCTGACGTTGCAGCTCGCCGAGATCGTCGCTCA
+TCAGTTGCAGGTCAGCCATCGGGTTATCGACGCGGGCGTTGGCATCTACAGCCAGGCATTGTGCTTTCAG
+CGCCTCGCGCAGGGCAATCGCTTCACGAGCGTAGCCGACAATACGCGGAGAATCGAAGTTAACGTTGGTC
+AGGGTTGAGAAAAAGGCACGTGGCGCAAAGCTGTCTACATCGTGGTTGATGATGCCGTATTCACGTGCTT
+TCACTGCCCAGGCCGAAAGCCCTTGCAGCGTCGCGATGAGTAAATCCTGAAGGTCAGAGGTTTCCGCCGT
+TTTACCACACATCCCCTGCGCGTATGAGCAGCCGTTTCCTGCCGGAGTACGGATAGTTTGTTCACATTGC
+ACACAAAACATGATCACACCTTTTAAAGTTATATTTAATATACATGTTTAAGGTTAAGACGCTTAACGCG
+GGGATAAAAGAGATTTTTAATGCAACTTTAAGGGAGATTGATTTAGCGCAATTTTGGCGGCAGAGATCTA
+CCGCCAGAGAGGTATTATGCAGAGAAAAAGGCGATGAGAATCGGCACTAACAGACTAAGAATAAAACCGT
+GAACAATCGCCGCCGGGACCATATCCAGCCCGCCTGTACGTTGAAGAACGGGCAGGGTGAAATCCATCGA
+CGTCGCACCGCATAAGCCCAGTGCAGTAGAGCGGCTACGGCGAATCAGCCCAGGGATTAACATAATAGCA
+ATCAGCTCACGGGCCAGATCATTAAAAAACGCCGCGCTCCCGATTACCGGACCAAAAGATTCGGTCAATA
+AAATACCGGAAAGAGAATACCAGCCGAAACCGGAGGCCATTGCCAGCGCGGTATTGATGGGAAGATCAAG
+AATAAAGGCGTTAATTAAACCACCAATTAATGAACTGGCAACCACCACCACGGCGACAATCATTCCCCGG
+CGATTAAGGACAATCTGCTTTAAGGTCATGCCATTATTGCGCAACTGAATACCGACGAGGAAAAGTAGCA
+GAATTAAGGTGTATTCACTGGCTTCGGTCGCGTGTTGTAAGAAAGCCAGTCCACTCAGACCAATGGCAAA
+ACCAATCACTACTACGCCGCACAGTTTTAGCGACTCCAGCGCCATCGCAATACGCGACGGGAGTTTTTCT
+TGATGATGGTGGTTGCGCCATGGCAGGCCGCGCTCCAGCCACATCAGGGCGGCAATATTACACAGTAAAA
+TAACGGTAATACTGACGGCAGAATAATGCAGAATTGCCAACAAGTTACTGGCGAGGTTATCGAGAAACGC
+CAGACTGATACCCATAAAAAAGAGAATAAGGTAAACCATCCAACTTAATAGCTGATTAATAACTCTTAAT
+GCAGCTTTTTGGCGAAGCGGAATGAGGTAACCCACAATCAGGGGAACCAGAATGATTAACAGCCCAGAAA
+ACATGAAAAACCAGTCCTTGCAAAGAAGATTCGAAATGCGCGATGACACACTACTGAAAGCGGAAGGACG
+AGTAAAGTTGCAATTAAAAGGAAATGTTATGCATCAGAGGGGGATTTTTAATTCTATATGAGTGTTTAGC
+GTTGTTGCGCTCCTTTCATGTGCAATGCCATATAAAGCCACTGGCGCAGGGAGCGGCCAGTCGCCGCCGC
+TCCCTGCCCCCCCGGCCTTCGGGGAACGCCTCGGCGATTTTAACGCCACCAACACCCGTGCGGTTTGTAA
+CGTCGAAGATAAAACCACCAGGGCAGACAACATGCCAATGCTAATTAATCGCGTTTTTCCAGCAGGGTCC
+GGTAAATCAGACCACCGATAATACCGCCGACAATTGGCACCACCCAGAAGAACCACAGTTGCTCTAATGC
+CCAGCCGCCCTGGAATATAGCAACCGCAGTACTGCGCGCCGGGTTAACGGAAGTGTTAGTCACCGGAATA
+CTGATTAAGTGAATGAGGGTTAAGGCCAGACCAATGGCAATTGGCGCAAAACCAGCAGGAGCGAATTTGT
+CAGTTGCGCCGTGGATCACCAGCAGGAAACCTGCACTCAATACCAGTTCAACTACCAGCGCGGAAAGCAT
+GGAATAACCGCCTGGTGAATGCTCGCCATAACCGTTAGAAGCAAAACCGCTGGCTGCCGCGTCAAAACCC
+GTTTTACCACTGGCAATTAAATACAGCAGCGCCGCCGCAACAATACCGCCGACAACCTGGGCAATTACGT
+AGCCAACGACTTCTTTTGCCGGGAAACGTCCGCCAGCCCATAAACCAATAGTGACCGCCGGGTTAAAATG
+ACCACCAGAAATATGACCAACAGCAAAGGCCATTGTCAGAACGGTCAGACCGAACGCCAACGCCACGCCG
+GCAAAACCAATGCCTAATTCCGGGAAGCCTGCGGCCAGTACGGCACTACCACAGCCGCCAAAAACAAGCC
+AGAAAGTACCAAAACATTCAGCTGCTAATTTTCTGAACATATCCACCTCAATTAAAAATTGACCCTGTGA
+AAAATATGGTCGTTTTATAGGGTCGTCGTAAAAAAGTGACGACGGAAATAATGCGCGGCTATTTTAAAAA
+CGAAGGCAAGTCATTCACCAGATAAATAAATCCAGTAAATTTGATTTAGGGCAACAGCGGGTTGCCCCAT
+ATAGTCATTTGTCTGATTGACAGTGTAGTGCAAGCGAAAGATTTAATCCTTTAGGCGTAATAAAAAATAA
+TTTATCATGCTAATTATTTGATTTTGTTGTTTTTGCAGACTTGTCAGCAAGAGGGAGTATAACGCGATTA
+TTCGCTCATTTTTCAGACATTTGCCATGCTTAAATGTGATGTCATCACGTATTAGCATGGCCTTTCCCGT
+TATACTGCCAGCGTAAAGGATAAGTCACATATTTCTGGAGGGGATATGATTCTTGAGCGCGTTGAAATTG
+TGGGTTTTCGCGGTATCAACCGTTTGTCGTTGATGCTGGAACAAAACAACGTCCTGATTGGGGAGAACGC
+GTGGGGTAAATCCAGCTTGCTGGACGCCTTAACCCTGCTGCTATCGCCAGAATCAGATCTCTACCATTTT
+GAGCGCGACGATTTCTGGTTCCCGCCGGGAGATATCAACGGGCGAGAACATCATCTGCATATTATTTTGA
+CCTTCCGCGAATCGCTGCCAGGCCGACATCGGGTTCGCCGCTATCGGCCGCTGGAAGCGTGCTGGACGCC
+ATGCACCGATGGTTATCACCGTATTTTTTATCGTCTGGAAGGGGAGAGTGCGGAAGACGGCAGCGTGATG
+ACACTCCGCAGTTTTCTCGATAAAGACGGACATCCGATTGATGTTGAGGATATTAACGATCAGGCTCGTC
+ATCTGGTGCGTTTAATGCCGGTGCTGCGCTTGCGTGATGCCCGTTTTATGCGCCGTATTCGTAACGGCAC
+GGTGCCAAATGTCCCCAATGTGGAAGTCACCGCGCGCCAGCTCGATTTCCTCGCCCGTGAATTATCCTCA
+CATCCGCAAAATCTCTCTGATGGGCAGATTCGTCAGGGACTTTCCGCAATGGTACAGCTGCTTGAGCATT
+ATTTCTCTGAGCAGGGGGCCGGACAGGCGCGATATCGTTTAATGCGGCGGCGAGCCAGCAATGAGCAACG
+AAGCTGGCGCTATCTGGATATCATCAACCGGATGATTGACCGACCTGGAGGGCGCTCGTATCGGGTTATT
+TTGCTCGGCCTGTTTGCTACTTTGTTGCAGGCAAAAGGCACATTGCGACTGGATAAAGACGCCCGTCCAT
+TGTTGCTGATCGAAGATCCAGAAACCCGTTTACACCCCATTATGCTTTCAGTTGCCTGGCATCTGTTGAA
+TCTTCTGCCATTGCAGCGCATTGCCACCACCAACTCTGGCGAGCTGCTTTCGTTAACGCCGGTAGAGCAT
+GTTTGCCGACTGGTACGTGAGTCCTCGCGCGTTGCCGCCTGGCGTCTGGGGCCGAGTGGTTTGAGTACCG
+AAGATAGCCGACGCATCTCTTTTCACATTCGTTTTAATCGTCCGTCATCGCTGTTTGCTCGCTGCTGGCT
+GTTGGTGGAAGGGGAAACAGAAACCTGGGTTATCAATGAACTGGCGCGTCAGTGCGGACATCATTTTGAT
+GCCGAAGGGATCAAGGTCATTGAGTTTGCCCAGTCCGGGCTAAAGCCACTGGTTAAATTTGCCCGGCGAA
+TGGGGATTGAATGGCATGTACTGGTCGATGGCGATGAAGCAGGGAAGAAATATGCCGCTACGGTACGCAG
+CCTGTTGAATAACGATCGGGAAGCCGAACGAGAACATTTAACGGCGTTACCGGCGCTGGATATGGAACAT
+TTTATGTATCGCCAGGGATTTTCCGATGTGTTCCACCGCGTGGCGCAAATCCCGGAAAATGTACCGATGA
+ATCTGCGCAAAGTTATCTCGAAAGCGATCCATCGCTCTTCCAAACCCGATCTTGCCATTGAAGTGGCAAT
+GGAGGCCGGACGTCGTGGTGTGGACTCCGTACCGACGCTGCTGAAAAAAATGTTCTCACGCGTGCTGTGG
+CTGGCGCGCGGTCGGGCCGACTAACTACAAAACATCGTGGCCATTTGTGGCTGAATAGCGTCGAGCATCT
+CATAGCGCCGACGGTATTCAGCCCGTTTTTTACTGGCGATTTCGGCAATCTCTTTTCGTGCTATCTGTGC
+TGGAAGGCGGTAATGGCGTTCAGCATCACATACGCCGCCAACCGACTCCCAGAACGCGTTGTAATCGGCA
+TGGATCTTGCCCTCTTTATCGCGATAACGCAGGCTGCGGTAAATATGCGTTTCATTGCTGACGGCAATAA
+TCTGCTCTACCTGCAAACGTTGGGCAAACAGACAGGCCGCTTCCATCACGAGGCGTTTGGGAAATAGCCC
+GTGGCAGGCTTTCGTCGCATTCTGGATTTCCTGGTGTGGAATTTCCCATTTTGCGCCTTGCAGTCCGCCA
+ATAAACATCGTCCTTTTCCCCTGATATTCACACAGGGTAAAAGTGAGCTCTGCCAGAGGAATACCTTCGC
+TGTTGCGGAACAGGATGGTGCTGTCACCTTCTTTATCCATTGAGATCATCATGGTCAGCTCAAGCGTGAA
+CTGCTCGCCGTTTTTGCCTTCCAGCTTCGCCAGTTGCAGCCCGGGGGTATTCAAATATAAGCTGAATTCT
+TCCGCCGACATACACCCGCGGAGTAACGCATAATGGTAACGTAACGCCTCCAGCAATTGCTTACGGCTAA
+GATTCGCCGCAAGGTAAGGGCGATGTAGACGTACAGGCAGTCGCGGCTGGCGCGTTAACAACACATTGAG
+ATTAGGCCAGTGGGAAAGTTCGTTCATCCACTCAACGCTTAAACGCGGCATAATCAACGAGCGCAGCAAA
+AATTTCTGGCGAAAACTACGGCGATGCCAGAATTTACCCGGCCGACACTGTCCTCGTGCCAGACTAAGAA
+AAAGTGACAGGCTGCTGAGAGATTCAGATGGCGTAAAGGTCCGTTCAGTTAGCTGCGACATATTCATGAA
+ATCAATGGTTATACATGACGTCGATTTAACCATTGCGTATCTTAACCAAACATCAATAGTGTGATTATTA
+ACGTAAATTTTAGTGTTTTGTTGATATTTCGTTGAAGTTAATGACCCGGATTGGCATATGGAGTATTCAG
+AATATTTATGAAAAAGCGGAAAACCGTGAAGAAGCGTTACGTTATTGCGATGGTGATAGTCATCGCCGGG
+TTGATTACGTTATGGAGAATTCTTAACGCACCCGTGCCGACTTATCAGACGCTGATTGTGCGCCCCGGTG
+ATTTACAGCAAAGCGTGCTGGCGACCGGAAAGCTGGACGCGCTGCGTAAGGTTGACGTGGGCGCGCAGGT
+CAGCGGTCAGTTGAAAACGCTGTCGGTGGCGATTGGCGATAAAGTAAAAAAAGACCAGCTTTTAGGGGTT
+ATTGATCCTGAACAGGCTGAAAACCAGATCAAGGAGGTGGAAGCAACGCTGATGGAGCTACGCGCGCAGC
+GGCAGCAGGCGGAAGCGGAGCTGAAACTGGCGCGGGTGACGTATTCCCGTCAGCAACGTCTTGCACAAAC
+GCAAGCGGTTTCACAGCAGGATCTCGATAACGCCGCGACGGAGATGGCTGTGAAACAGGCGCAAATTGGC
+ACCATTGACGCGCAAATCAAGCGCAATCAGGCCTCTCTCGATACGGCTAAAACCAATCTCGATTACACCC
+GCATCGTTGCCCCGATGGCCGGGGAAGTCACGCAAATCACCACTCTGCAAGGCCAGACGGTGATTGCCGC
+ACAACAAGCACCGAACATTCTGACGCTGGCAGATATGAGCACCATGCTGGTAAAAGCGCAGGTTTCTGAA
+GCGGATGTAATCCACCTGAAGCCGGGGCAAAAAGCCTGGTTTACGGTGCTTGGCGATCCACTGACGCGCT
+ACGAGGGGCAAATCAAGGATGTGCTACCGACGCCGGAAAAGATTAACGACGCTATTTTCTATTACGCCCG
+TTTTGAAGTACCCAACCCCAATGGTTTACTGCGGCTGGATATGACCGCGCAAGTGCATATTCAGCTCACC
+GATGTGAAAAATGTGCTGACGATCCCTCTGTCGGCGTTAGGCGATCCGGTTGGCGATAATCGTTATAAAG
+TCAAATTGTTGCGTAATGGTGAAACACGCGAGCGTGAAGTGACGATTGGCGCACGTAACGATACCGATGT
+TGAGATTGTCAAAGGGCTGGAAGCGGGCGATGAAGTGGTGATTGGTGAGGCCAAACCAGGAGCTGCGCAA
+TGACGCCCTTGCTCGAATTAAAGGATATTCGTCGCAGCTATCCTGCCGGTGATGAGCAGGTTGAGGTGCT
+GAAGGGCATCAGCCTCGATATTTATGCCGGTGAGATGGTAGCGATTGTCGGCGCTTCGGGTTCTGGTAAA
+TCGACCCTGATGAATATTCTCGGCTGCCTGGATAAGGCCACCAGCGGCACCTATCGCGTCGCCGGTCAGG
+ATGTTGCCACGCTGGACGCCGATGCGCTGGCGCAACTGCGCCGCGAGCATTTCGGCTTTATTTTCCAGCG
+TTACCATTTGCTTTCGCATTTAACCGCCGAGCAGAACGTTGAAGTACCCGCCGTCTATGCCGGTCTTGAG
+CGGAAACAGCGGCTGCTTCGCGCCCAGGAGTTACTGCAACGACTGGGGCTGGAAGACCGTACAGAGTATT
+ACCCGGCACAGCTTTCGGGTGGCCAGCAACAGCGCGTCAGTATCGCGCGGGCATTGATGAACGGCGGTCA
+GGTAATTCTTGCCGATGAACCGACCGGCGCACTGGACAGCCATTCTGGCGAAGAGGTGATGGCGATCCTG
+CATCAGCTGCGCGATCGCGGGCATACGGTGATTATCGTCACCCACGATCCGCAGGTTGCTGCTCAGGCCG
+AGCGGGTGATCGAAATTCGCGACGGCGAAATTGTGCGCAATCCTCCCGCCGTTGAAAAAGTGAATGCTAC
+TGGCGGAACGGAACCTGTTGTCAACACGGCGTCTGGCTGGCGGCAGTTTGTCAGCGGTTTTAACGAGGCG
+CTGACGATGGCATGGCGGGCGCTGGCAGCGAATAAAATGCGTACTTTACTGACCATGCTGGGGATTATTA
+TCGGTATTGCGTCGGTGGTTTCCATTGTCGTGGTGGGCGACGCCGCCAAACAAATGGTGCTGGCGGATAT
+TCGTTCTATTGGTACGAATACTATTGATGTCTATCCCGGGAATGATTTTGGCGATGACGATCCGCAATAT
+CAGCAGGCGCTGAAGTACGACGACTTAATCGCCATCCAAAAACAACCGTGGGTTGCCTCTGCCACGCCCG
+CCGTCTCGCAAAACCTGCGCCTGCGTTATAACAATGTTGATGTGGCTGCCAGTGCCAATGGTGTGAGCGG
+CGATTATTTTAATGTCTATGGCATGACCTTCAGTGAAGGGAACACCTTTAATCAGGAGCAGCTGAACGGT
+CGTGCGCAGGTCGTGGTTCTCGACAGTAATACTCGCCGCCAGCTTTTCCCCCATAAAGCAGATGTGGTTG
+GCGAGGTGATTCTGGTCGGCAATATGCCCGCCAGAGTCATTGGTGTGGCGGAAGAAAAACAGTCGATGTT
+TGGTAGCAGTAAAGTGCTGCGTGTCTGGCTGCCATACAGCACGATGTCCGGGCGAGTTATGGGGCAGTCG
+TGGCTGAACTCCATTACTGTCAGGGTGAAAGAAGGCTTTGACAGCGCTGAGGCGGAACAGCAACTCACGC
+GTTTACTTTCACTGCGCCACGGTAAGAAGGATTTCTTTACCTGGAACATGGATGGCGTCTTGAAAACCGT
+TGAAAAGACCACACGTACTTTACAACTGTTTCTGACGCTGGTTGCGGTGATTTCGCTGGTGGTGGGCGGT
+ATTGGTGTAATGAATATTATGCTGGTGTCAGTGACCGAGCGGACGCGGGAAATTGGCATTCGCATGGCTG
+TAGGTGCGCGAGCAAGCGATGTTTTGCAACAGTTTTTGATCGAAGCCGTACTGGTTTGCCTGGTTGGTGG
+CGCGTTGGGAATAACACTGTCACTGTTAATTGCTTTCACCTTGCAGCTTTTCTTACCCGGCTGGGAGATT
+GGCTTTTCACCGTTGGCACTGCTGCTGGCGTTTCTCTGCTCGACGGTCACCGGGATTTTATTTGGCTGGT
+TACCCGCACGAAATGCGGCACGACTGGATCCAGTAGATGCTCTGGCACGAGAGTAATTTTTGAGATAAAA
+ATGCCAGCCGATCGGGCTGGCATTTTGCCTTTAGGATGTACACAATGAGACAGAAGAGCTATGCGACTGC
+CGCTTCTACTTCGACGGGCACAATAACACTGGCGTGATTGCCTTTTGGCCCCTGGTGGACATCAAACTGA
+ACGGATTGTCCAGCTTTTAGCGTTCTGTAACCATCCATCTGAATGGTGGAATAATGAGCGAAAATATCTT
+CGCCGCCGCCTTCAGGGCAGATGAAACCAAACCCTTTGGCATTGTTGAACCACTTGACAGTACCCTTTTC
+CATGCTTCGACATCCTTCGCAAATCTTATACAAGTAAGATGGAATAAACCGGGGTCAGAGAGGGGGCTGT
+TCAAAACCTCGCCAACTCTAGAAATACAATTTAGAGAATTAGGGCGAGCCGTCAAGCATTTGACAGGGGC
+CAGGGGGCAGGTATGAATCAAAAATTTGAAGCAGTTAACGCTATTGACAGGAATGTGACAGATGTCGCTG
+ATGCCAACGATAGATGATAGTTATCTATCATGTGGAGTAGATTGGTCAGGCAAATAAGCTCTTGTCAGCG
+GCAGGGCGTTCTGCCGATAACCGTAACCGAAGATGATAACTGACAATGGGTAAAACGAACGACTGGCTGG
+ACTTTGATCAACTGGCGGAAGAAAAAGTTCGCGACGCGCTAAAACCGCCATCTATGTATAAAGTGATATT
+AGTCAATGATGATTATACTCCGATGGAGTTTGTTATTGACGTGTTACAAAAATTCTTTTCTTATGATGTA
+GAACGTGCAACGCAATTGATGCTCGCTGTTCACTACCAGGGGAAGGCCATTTGCGGAGTCTTTACCGCTG
+AGGTTGCAGAAACCAAAGTGGCGATGGTGAACAAGTACGCGAGGGAGAATGAGCATCCATTGCTGTGTAC
+GCTAGAAAAAGCCTGAATGCAGGCATAAAAATTGGGGGAGGTGCCTATGCTCAATCAAGAACTGGAACTC
+AGTTTAAATATGGCTTTCGCCAGAGCGCGCGAGCACCGTCATGAGTTTATGACCGTCGAGCACTTGTTAC
+TGGCGCTGCTCAGTAACCCATCTGCCCGGGAGGCGCTGGAAGCGTGTTCTGTGGATTTGGTTGCGCTCCG
+TCAGGAACTGGAAGCCTTTATTGAACAAACCACACCCGTTCTGCCTGCCAGTGAAGAGGAGCGCGACACA
+CAACCGACGCTGAGTTTTCAGCGTGTACTGCAACGTGCGGTCTTCCATGTCCAGTCCTCCGGTCGCAATG
+AGGTTACCGGTGCAAACGTTCTGGTCGCTATCTTTAGCGAACAGGAGTCGCAGGCGGCATATCTGTTGCG
+CAAACATGAAGTCAGCCGTCTCGATGTGGTGAACTTTATCTCTCATGGCTCGCGTAAAGACGAGCCGACA
+CAGTCTTCTGATCCTGGCAGCCAGCCAAACAGCGAAGAACAAGCTGGTGGGGAGGAACGTATGGAGAATT
+TCACGACGAACCTGAATCAGCTTGCGCGAGTGGGCGGAATCGACCCACTGATTGGTCGTGAGAAGGAGCT
+GGAGCGTGCTATTCAGGTTCTCTGCCGTCGCCGTAAAAACAACCCGCTGCTGGTGGGGGAGTCTGGTGTC
+GGTAAAACCGCGATTGCGGAGGGGCTTGCATGGCGAATTGTTCAGGGCGATGTGCCGGAAGTGATGGCTG
+ACTGTACGATTTACTCTCTCGATATCGGTTCCCTGTTAGCGGGCACAAAATATCGCGGCGACTTTGAAAA
+ACGTTTTAAAGCGTTGCTCAAGCAGCTGGAGCAGGACACTAACAGCATCCTGTTTATTGATGAGATCCAC
+ACCATTATCGGTGCGGGTGCAGCGTCTGGTGGCCAGGTCGATGCGGCTAACCTGATTAAACCGTTGCTCT
+CCAGCGGTAAAATCCGCGTAATTGGTTCGACAACCTATCAGGAGTTCAGCAACATTTTTGAGAAAGACCG
+TGCTCTGGCGCGTCGCTTCCAGAAAATTGATATTACTGAACCGTCAATCGAAGAAACTGTTCAAATCATC
+AATGGCCTGAAACCGAAGTATGAAGCGCACCACGACGTGCGTTATACCGCAAAAGCGGTGCGTGCGGCGG
+TAGAGCTGGCGGTGAAATACATTAACGATCGTCATCTGCCGGATAAAGCGATTGATGTTATCGACGAAGC
+GGGCGCTCGCGCACGTCTGATGCCGGTAAGCAAACGCAAGAAAACCGTTAATGTGGCGGATATTGAATCC
+GTGGTGGCCCGTATTGCACGCATTCCAGAGAAGAGTGTTTCTCAGAGTGACCGCGATACCCTGAAAAACC
+TCGGCGATCGCCTGAAAATGCTGGTCTTCGGTCAGGATAAAGCCATTGAGGCGCTGACTGAAGCCATTAA
+GATGGCGCGTGCAGGTTTAGGTCACGAACATAAACCGGTCGGTTCGTTCCTGTTTGCCGGCCCTACTGGG
+GTCGGGAAAACAGAGGTGACGGTACAGCTTTCGAAAGCGTTGGGCATTGAGCTTCTGCGCTTTGATATGT
+CCGAGTATATGGAACGCCATACCGTCAGCCGTCTGATTGGTGCGCCTCCGGGATACGTTGGTTTTGATCA
+GGGCGGTTTGCTGACTGATGCGGTCATCAAGCATCCACATGCGGTGCTGCTGCTGGACGAAATCGAGAAA
+GCGCACCCGGACGTGTTCAACATCCTCTTGCAGGTGATGGACAACGGTACACTGACCGATAACAACGGAC
+GCAAAGCGGACTTCCGTAACGTGGTGCTGGTGATGACCACTAACGCGGGGGTACGTGAAACCGAGCGCAA
+ATCCATTGGTCTTATCCACCAGGATAACAGCACCGATGCGATGGAAGAGATCAAGAAGATCTTTACACCG
+GAATTCCGTAACCGTCTCGACAACATTATCTGGTTCGATCATCTGTCAACCGACGTGATCCATCAGGTGG
+TGGATAAATTCATCGTCGAGTTGCAGGTTCAGTTGGATCAGAAAGGTGTTTCTCTGGAAGTGAGCCAGGA
+AGCGCGTAACTGGCTGGCCGAGAAAGGTTACGACCGGGCAATGGGCGCACGTCCGATGGCGCGTGTCATC
+CAGGACAACCTGAAAAAACCGCTCGCCAACGAACTGCTGTTTGGTTCGCTGGTGGACGGCGGTCAGGTCA
+CCGTCGCGCTGGATAAAGAGAAAAATGAGCTGACTTACGGATTCCAGAGTGCACAAAAGCACAAGGCGGA
+AGCAGCGCATTAATCTGATTGTCTGGTAGGTTGGTGAAGTCCGTAATCTCGTCAGGGGTTACGGACTTTT
+TATTTATGGGGGGAGGAGGTTCAGACCCTTTTTTTAATGATGATGCTAAGTTATTGATAATTAGTGCTGC
+GGGTAGGTAAGGATAAAAAAGGGTGGCAGCAGGAGATTGAGATGGTTTTGCTTTATTAACAACGGGCTAA
+ACGTGTAGTATTTGAGTTCACTGCCGTACAGGCAGCTTAGAAAGCACACGTCGAGCTGGTGGGGATTAAT
+GCTGGGTTCACTGCCGTACAGGCAGCTTAGAAATTGCCGCGGATCCTGTCTGCCAATAATGACAAGTTCA
+CTGCCGTACAGGCAGATAAAATGCGAAAAAAAACCCGTACTTTCGTACGAGCTCTTCTTTAAATATGGCG
+GTGAGGGGGGGATTCGAACCCCCGATACGTTGCCGTATACACACTTTCCAGGCGTGCTCCTTCAGCCACT
+CGGACACCTCACCAAATTGTTTTGTTGCCTGACCTCATGGGGGGCAACGGGGCGCTACTATAGGGAGTTG
+GAATAAAACGGTCAAGAAGAATTTTAATGATAATTATTGTTTGCTCATACTGTAAACAAGTTGTGCAGTA
+TATCTACATCGAGACAAGTTACGGACTTATACTTCTAAAGTACTCCATACATATCACAAAATAAAAAGGC
+CGGCTAAACCGACCTTTTACTCATTCTTTCTCTTCGCCCATCAGGCGGTAAAACAATCAGCGACTACGGA
+AGACAATGCGGCCTTTGCTCAGGTCGTACGGGGTCAGTTCAACAGTCACTTTGTCGCCCGTCAGGATGCG
+GATGTAGTTTTTGCGCATTTTACCGGAGATGTGTGCAGTAACCACGTGACCGTTTTCTAACTCTACGCGG
+AACATGGTATTAGGCAACGTTTCAAGAACGGTACCTTGCATTTCAATATTGTCTTCTTTGGCCATCTAAT
+CCTCTGGGGTATCACTACCGTAATTTGAACCGGCAAGATAATGCCGAAGTTCTGTAAATAAGTAAAGATT
+TGCGCGCTAAATCGCAACAAACAGGTTCGGCACATTACTCCGAAAACACACGGCTAAGCCGCACCAAAAG
+CGCAACGTATAAGGGAGCGGTGAGATAAACGATGGGCGTTACCTGACGCGAAAAATTCCTTATCGGCAGC
+GGGGTAATGAGCGTAACCAACTCTGCGACCGCAATTATAACACTCTGGGGAGAAATGTGCCGAAAACATT
+CATTCTTGTGGTGAAAACAAGCATCGAGGTACCCAGAAATTATTCGGCAATCGTCCGAGGCGCATTTGAT
+TGAGATAATTAAGGTAATCCCGGCGGGGAATTTCGCAGGCACCAAGCGATGCTGTGTGATCGTTAAGGAC
+CTGGCAGTCGATAAGTTTACCGCCATGACGGATAAATTCATCACAGAAGACCAGAAGCGCCGTTTTGGAC
+GCATTTTCCATCCGGCTGAACATGGACTCGCCACAAAATAGTGTTCCCTGGGCCACGCCGTACATACCGC
+CGACAAGCTCATCTTCACGCCAGACTTCAATGGAGTGGGCATGACCGAGTTCGTGAAGGCGATGGTAGGC
+TTCGACCACGCCACGCGTGATCCAGGTTCCTTCTTCGCGATCGCTGGCACAGCCTTCGATGACCTGACCA
+AAAGCGTAATTCATCGTGACACGATAGGGTGAGCGTTTATGAAATCGCTTCATACTACGGCTGATATGCA
+GTGATTCTGGCCATAACACCGCGCGGGGATCGGGCGACCACCAGAGGATGGGGTCGCCAGGAGAAAACCA
+CGGGAAAATACCACGCTGATAAGCCATTAACAGGCGCGCAGGGCTAAGATCGCCCCCCAGTGCCAGCAGG
+CCGTTAGGCTCACGTAATGCGCCTTCCGGGGAAGGGAAGGCTATTGAATGGCGAGAAAGCTGAACCAGGC
+GCATGACCGCAAAACTCCACGCAAGTCGGATCGTTCAATAATAGCTTACAAACCCTGCTTAAACTGGTAA
+TAACGCCCCTGTCTGGTAAGCAGTTCTGCGTGAGTACCTTGCTCAATAATTTGCCCGTTGTCCATCACTA
+TTATTTGTTGGAAACGAGAGAGTCCGCGAAGTCGATGGGTGACCATTAACACCGTTTTCTCGCACATCAT
+TTCTGCAAGCAATTCAAGGATCTGACTTTCGGTTGTGGCATCTAAGCCTTCTGTAGGTTCATCCAGCAAT
+ACCAGCGGCGCATCATGTAACAGCGCACGGGCGATAGCCAGACGGCGCAGTTCACCACCGGAGAGCTGGC
+GTCCGCCTTCACCTAACCAACTGTTGAGACCTGCATCCTCGAGCAGCTTCTCCAGACCAACGCGACGCAA
+GATCTCCGCCAGAGCCTCATCACTACTACCAGGCGAGGCGAGTAACAGATTATCACGCAGCGTGGCGCTA
+AACAGATGCACTCGCTGGGGAACAACGCTAATGGTCTGTCGTAGAGCCGCTTCATTCAGGCTGGCTATGG
+GACTATCGTTAAGCAAAATCTCGCCCTGTTGCGGGTCCCATGCGCGGGTCAGCAGTTGTAACAGTGTTGA
+TTTGCCGCATCCGGTTCGCCCGAGAATCGCAATATGTTCCCCGGCGTTTACCTGAAGATAAATCCCTTTA
+AGTGCCTGTTGGGATTGCTCCGGATAAGTGAACTGAACATCCCGTAATGTCAGCGAAACGCGATCGGCAA
+CACGAGTTTGGGTATCAGGGAAGGTGACTTCCGGTTTTTGATCCGTTAAATCAGTGATCCGTACGGCAGA
+GGCAATGACTTGCCCCAGATGCTGAAATGCACCCGTTACTGGTGCCAGCGCTTCAAACGCGGCTAACGCG
+CAGAAGACAAACAGGGCAATTAACGCGCCGGGTTGAGCATTGCCGCCAACGCCGCCGGACGCCATCCACA
+GCATCAGGATCACCGCTAACGCGCCAATGAGCAGCATTATCGCTTGCGACAATGCGGTGAGTTCAGATTG
+ACGGCGTTGCGCTTCCAGCCACTGAATTTCTGTATTCTCTAATTGCGTGCGATAACGATCGCTGGCACCA
+AAAATGGTCAGCTCAGCTTGCCCTTGCAGCCAGGCCGTCAGTTGTTGGCGATACTGCCCGCGAAGATGAG
+TCAGATTTTGCCCGGTGCTTTTTCCCGCACGATAAAACAGTGGTGGCATCAGGAAAAGCGTCAGTAACAT
+AATGCCGCCCAGCGTAAAGGCGAGGGTGAAATCAAGGAAACTTAACCCGATTGTCACCACCATAATCACC
+ACAAAAGCACCTACCAGCGGCGAGATAACGCGCAGGTAAAGATGATCGAGCGTATCAACATCCGCCACCA
+CGCGGTTGAGTAATTCGCCCTGACGATAGCGCGCCAGTCCGGCAGGGGAGAGGGGCAGCAATTTGCTGAA
+GGTGTATATGCGCAGATGCTGCAACACGCGGAAAGTCGCGTCGTGACTTACCAGACGTTCAAAATAACGC
+CCGGCAGTACGGGTGATTGCTGCGCCACGCACGCCCGCAGCGGGTAGCATATAGTTGAAGCTGTACAGTC
+CGGCAACCCCCGCTACCGCTGAGGCGGAGAGGAACCAGCCGGAAAGGGTCAACAGACCGATACTGGCGAG
+CAGCGTGACAATTGCCAGCACGATACCAAGACTTAACATCCATTTATGACGTTTATACAGTGCCAGATAG
+GGTAGCAAAGCGCGCATTTAAATCTCCTCCTGACGATGGGCCAGTAATGTGGCGAATGGGCCGCCAGCCA
+CACTTAATTCCGCGTAACGTCCTTGCTCAATAATCTGACCATCCTGCATTACCCAAATGACATCCCAGTC
+AGCAAGATCTTCTAACTGGTGGGTGACCATTAACGTTGTCTGGCGCAGAGAGGCGGCATTCAGCGCCTCC
+ATTACGCGCTGTTCACTGTGAGCATCAAGGCTGGCAGCGGGTTCATCCAACAGTAATAGCGAACAGGGAT
+TTAGTAACGCACGGGCCACCGCCACGCGCTGCGCCTGCCCCACGGAAAGGCGGGCAGCCTGGTCACCAAC
+AGGCGTATCAATGCCTTGCGGCAGGAGCGGTAGAAACTCACTGACCCAGGCGTTATCCAGCGCTGTTTGT
+AACTCTTGTTCGCTGGCATCAGGTCGCGCCAGTAGTACGTTATCCCGTAATGTTGCTGCCGGTAATTGTG
+GGTTTTGCCCAACCCAGGAGAGATGTTTACGCCATGATTCCGGTGATAAATCGCGTAATTCTATCCCGTT
+GATTCGTAGCGATCCCTGATATGAGAGAAAACCAGAAAGCGCGTTCAACAGTGAACTTTTACCTGAACCG
+CTGCGACCAACCAACACTGCTCGTTGGCCTGCTGGCAAAGTAAAATTCAGCGGTCCGGCCAGCGTTTTAC
+CTTCCGGCGACGTGATAAACAGATCCTCGGCTTCAATGGTCACCGGATCGGTCGATGCTAATTCCGCCTC
+ACCGCGCTGCGGATGGGCGAGCGGGGTTTCCATAAACGTTTTCAAACTGTCAGCTGCACCAACAGCCTGG
+GCTTTAGCATGATAAAACGTACCGAGATCGCGTAATGGCTGGAAAAACTCTGGCGCAAGGATCAGGGCTA
+GAAAACCCGCAGCCAGCGTCACACCAGTATCGTAGTGACCAAAATCCAGCTCGCCGAGGTAGGAAAAACC
+AAAGTAGATCGCCACCAGAGCAATCGACAGCGAGGTAAAAAATTCGAGAATGCCGGAGGATAAAAACGCC
+AGCCGTAGCACTTCCATTGTCCGTTGGCGGAAATCTTCCGAAGCAGAACGAATACTTTCAATTTCAGCTT
+CACCACGACCAAAAATACGCAATGTTTCCATGCCGCGCAGGCGATCGAGGAAATGCCCACTTAAGCGAGC
+AAGAGCGAGAAAGTTACGTCGGTTAGCATCGGCAGCCCCCATTCCAACCAGCGCCATAAATAACGGAATT
+AGCGGTGCAGTGCCCAGCAGAATGAGCGCCGCAGCCCAGTTAGAGGGGAAGATAGCCACCACAATCAGCA
+GCGGCACCGACACTGCCAGCGCCATTTGCGGCAGGTAGCGTGCATAGTAATCATGCATATCGTCAATTTG
+CTCGAGCACCAGCGTCGCCCAGCTCCCCGCAGGTTTACCCTGAATCCACGCTGGCCCTGCTTGTTGCAGA
+CGGTCGAGAACCTGACGGCGGATGGCAAAGCGGATATGCTGCCCGGCGTGATAACCCACCCGTTCGCGTA
+ACCAGACCACCCATGCGCGCAGTACAAAGGTCAGAAACAGTAACGTAAAGGGAAGCAGCAGGGCTTCACG
+GGGAATATTCTCCATAATCATATGTTGCAGAATTCGCGCCATGAACCAGGCCTGGGCAATGATCAATATG
+CCGCTCACAAAGCCCAGCAGACGAGAAATATTCAGCCAACGTTGGGAGATGACGCTTTGCTGTTTTAACC
+AGCGGGTTAATTCTTTTTGACGGGATTTATTCATTGCACGCTTAGCAGGTGAGTTATCAGAATTATTTGC
+AGAGCAATGTTACAACGGGGAAAAAATAAAGGCGACCCATAGTCGCATGGTGTCGCCTTCTTTACTTTTG
+TTACTGACTTGTAAAATTATTTTGCGTCAGCTAAACCGTCGAGGTAGCGTTCCGCATCAAGAGCTGCCAT
+GCAGCCTGTACCAGCAGATGTAATGGCCTGGCGATAAATGTGATCCATCACGTCGCCTGCGGCAAAGACG
+CCAGGGATGCTGGTCTGGGTGGCATTACCATGAATACCCGACTGTACTTTGATGTAGCCGTTTTCCAGTT
+CCAGCTGCCCTTCGAAAATGGCAGTATTCGGGCTGTGACCGATAGCAACAAACAGACCGGCAACGTCGAG
+TGACTCGATGTTATCGCTGTTTTGCGTATCGCGCAGACGAACGCCAGTGACACCCATCTGATCGCCGGTC
+ACTTCTTCCAGCGTACGGTTGGTGTGCAGAATAATGTTGCCGTTCTCCACTTTATCCATCAGACGCTTAA
+TGAGGATTTTTTCCGCACGGAAACCATCACGGCGGTGAATCAGATGAACTTCCGAAGCGATGTTAGACAG
+ATACAGCGCCTCTTCAACCGCGGTATTGCCGCCGCCGATGACCGCAACTTTCTGGTTGCGATAGAAGAAA
+CCGTCGCAGGTTGCACAAGCAGAAACTCCACGGCCTTTAAAGGCTTCTTCAGAGGGCAGGCCGAGATAGC
+GTGCAGAAGCTCCGGTGGCAATAATCAGCGCGTCGCAAGTGTATTCGCCGCTATCGCCAGTCAGACGGAA
+CGGACGATTCTGCAAATCAACTTTGTTGATGTGATCAAAGATGATTTCAGTTTCAAATTTGGTGGCATGT
+TCGTGCATGCGCTCCATTAATAACGGACCGGTCAGATCGTTTGGATCGCCAGGCCAGTTTTCCACTTCCG
+TGGTGGTGGTCAGTTGGCCGCCTTTTTCCATGCCGGTAATCAGCACAGGTTGCAGGTTGGCGCGCGCCGC
+GTAGACAGCAGCGGTGTATCCCGCCGGGCCTGAACCCAGGATAAGCAGTTTACTGTGTTTGGTCGTGCCC
+ATGAGATCCCCATAGTTGTTGGCAGACAATGGCAGGATTGTAGGGAATTTACAGACGTAAAAAAAGAGTA
+TGACGATTTTGTTAACAATTTGTGCAATCGGCAGCATCGATAAGCAGGTCAAATTCTCCCGTCATTATCA
+CCTCTGCTACTTAAATTTCCCGCTTTATAAGCCGATTAAATGATGAATAAACGCCCCTGTTAATGAATAT
+CTGGCATGTTGTACTAAAAATCGATGTTTTGCTTTGACAATCCCCTGGTGTTTTGCGAAAACATTCGAGG
+AAGAAAAAAAACAGTATTCTTATATGCGCATAACCATGCATGTAAATACCATGTTTACCGTGCTAGTGAA
+ATCTACGTATGGCGTGGACAGACGCCATTCGTGATGTCGATAGCTGCCACAAGGCAACGGTCTTCTCACC
+GTAGACCCAGGCATTGCGCGCCGTGAATCTTCATGATTTCGGTCTATCGTGACGGGTAGCGACTCTGAAC
+AGTGATGTTTCAGGGTCAGACAGGAGTAGGGAAGGAATACAGAGAGACAATAATAATGGTAGATAGCAAG
+AAGCGCCCTGGCAAAGATCTCGACCGTATCGATCGTAACATTCTTAATGAGTTGCAAAAGGATGGGCGTA
+TTTCTAACGTCGAGCTTTCTAAACGTGTGGGACTTTCCCCAACGCCGTGCCTTGAGCGTGTGCGTCGGCT
+GGAAAGACAAGGGTTTATTCAGGGCTATACGGCGCTGCTGAACCCCCATTATCTGGATGCATCACTTCTG
+GTATTCGTTGAGATTACTCTGAATCGTGGCGCACCGGATGTGTTTGAACAATTCAATACCGCTGTACAAA
+AACTTGAAGAAATTCAGGAGTGTCATTTAGTATCCGGTGATTTCGACTACCTGTTGAAAACACGCGTGCC
+GGATATGTCTGCTTACCGTAAGTTACTGGGGGAAACCCTGCTGCGTCTGCCTGGCGTCAATGACACACGG
+ACATACGTTGTTATGGAAGAAGTCAAGCAGAGTAATCGTCTGGTTATTAAGACGCGCTAACACGGAACAG
+GTGCAAAATCGGCGTATTTTGATTACACTCCTGTTAATCCATACAGCAACAGTACTGGGGTAACCTGGTA
+CTGTTGTCCGTTTTAGCATCGGGCAGGAAAAGCCTGTAACCTGGAGAGCCTTTCTTGAGCCAGGAATACA
+CTGAAGACAAAGAAGTCACATTGACAAAGTTAAGTAGCGGCCGCCGTCTTCTGGAGGCGTTGCTGATCCT
+TATTGTCCTGTTTGCCGTCTGGTTGATGGCTGCCTTACTAAGCTTTAACCCTTCGGACCCCAGCTGGTCG
+CAAACGGCCTGGCATGAACCTATCCATAATTTAGGTGGGATGCCCGGTGCGTGGTTGGCAGATACGCTGT
+TCTTTATTTTTGGCGTGATGGCTTACACCATTCCCGTCATTATTGTCGGCGGTTGTTGGTTTGCCTGGCG
+TCATCAGTCCAGCGACGAATACATTGATTATTTTGCCGTTTCGCTACGCATCATTGGCGTTTTGGCGCTC
+ATCCTTACCTCCTGTGGTCTGGCGGCAATCAACGCTGACGATATCTGGTATTTTGCCTCCGGTGGCGTCA
+TTGGCAGCTTACTAAGCACTACGCTACAACCACTGCTACACAGTAGCGGGGGAACTATTGCGCTGCTCTG
+CGTTTGGGCAGCGGGCCTGACGCTGTTCACCGGTTGGTCATGGGTGACCATTGCTGAAAAACTCGGCGGC
+TGGATTTTAAATATTCTTACCTTCGCCAGTAATCGTACCCGTCGCGATGATACCTGGGTCGATGAAGATG
+AGTATGAAGACGACGAAGAGTATGAAGATGAAAATCACGGCAAACAGCATGAATCACGCCGTGCCCGTAT
+TCTTCGCGGCGCGCTAGCGCGTCGTAAACGGTTGGCGGAAAAATTCATTAATCCGATGGGGCGGCAAACA
+GATGCTGCGCTGTTCTCCGGTAAGCGGATGGATGATGAAGAAGAGATTACCTACACTGCACGCGGTGTGG
+CTGCTGACCCTGACGACGTCCTGTTTTCGGGCAATCGTGCAACGCAGCCAGAATATGACGAATACGATCC
+ATTATTAAACGGTGCGCCAATTACCGAACCTGTTGCTGTAGCAGCTGCTGCTACCACGGCGACACAAAGC
+TGGGCTGCACCGGTTGAACCTGTGACTCAGACGCCGCCAGTTGCCTCTGTTGATGTTCCACCTACGCAAC
+CTACAGTAGCCTGGCAGCCTGTACCGGGGCCGCAAACGGGAGAACCGGTTATTGCACCTGCACCGGAAGG
+TTACCCACACCAGTCACAATATGCGCAGCCTGCAGTGCAATATAATGAGCCGCTGCAACAACCTGTACAG
+CCACAGCAGCCGTATTATGCGCCTGCGGCTGAACAACCTGTGCAACAACCTTACTACGCTCCTGCGGCGG
+AACAACCTGTTCAGCAACCGTATTACGCCCCTGCGCCAGAACAACCGGTGGCAGGTAACGCCTGGCAAGC
+CGAAGAGCAGCAATCCACTTTTGCTCCACAGTCTACATACCAGACGGAGCAAACTTATCAGCAGCCAGCT
+GCTCAGGAGCCGTTGTACCAACAGCCGCAACCCGTTGAACAGCAGCCTGTTGTGGAGCCTGAACCCGTTG
+TAGAAGAGACAAAACCCACGCGTCCGCCGCTTTACTATTTTGAAGAAGTGGAAGAGAAGCGAGCCCGTGA
+ACGTGAACAACTTGCGGCCTGGTATCAACCGATTCCAGAACCGGTTAAAGAACCGGAACCGATCAAATCT
+TCGCTGAAAGCACCTTCTGTTGCAGCAGTACCTCCAGTAGAAGCCGCTGCCGCTGTTTCTCCGCTGGCAT
+CTGGTGTGAAAAAAGCGACACTGGCGACGGGGGCTGCCGCAACCGTTGCCGCGCCAGTCTTCAGTCTGGC
+AAATAGCGGTGGACCGCGTCCGCAGGTCAAAGAGGGGATTGGCCCGCAGTTGCCACGACCGAAACGCATC
+CGCGTGCCAACTCGTCGTGAACTGGCGTCTTACGGTATTAAGCTGCCCTCACAGCGTGCGGCAGAAGAAA
+AAGCCCGCGAAGCCCAGCGTAATCAGTACGATTCTGGCGATCAGTACAACGATGATGAAATCGATGCGAT
+GCAGCAGGATGAACTGGCACGTCAGTTCGCCCAGACGCAGCAGCAACGCTATGGCGAACAGTATCAACAT
+GATGTGCCCGTGAACACAGAAGATGCAGATGCTGCGGCAGAGGCAGAACTGGCTCGTCAGTTTGCTCAAA
+CTCAACAACAACGTTATTCCGGCGAACAACCGGCTGGGGCGAATCCGTTCTCGCTGGATGATTTTGAATT
+TTCGCCAATGAAAGCGTTGCTGGATGATGGTCCACACGAACCGCTGTTTACGCCAATTGTTGAACCTGTA
+CAGCAGCCGCAACAACCGGTAGCACCGCAGCAGCAATATCAGCAGCCGCAGTATCAGCAGCCGCAATATC
+AGCAGCCACAACAGCCGGTTGCACAGCAGCCGCAATATCAGCAGCCGCAACAACCGGTTGCACCGCAGCA
+GCAATATCAGCAGCCGCAACAGCCAGTTGCGCCGCAGCCGCATGATACCCTGCTTCATCCGCTGTTGATG
+CGCAATGGTGACAGCCGTCCGTTGCATAAACCGACGACGCCGCTGCCTTCTCTGGATTTGCTGACACCTC
+CGCCGAGCGAAGTGGAGCCGGTAGATACCTTTGCGCTTGAACAAATGGCGCGCCTGGTAGAAGCGCGTCT
+GGCTGATTTCCGTATTAAAGCCGATGTTGTCAATTACTCTCCGGGGCCAGTTATCACTCGCTTTGAATTG
+AACCTGGCACCGGGCGTAAAAGCAGCGCGCATTTCTAACTTGTCACGTGACCTTGCCCGTTCACTTTCGA
+CGGTGGCGGTGCGTGTCGTTGAAGTTATTCCTGGCAAACCCTATGTAGGTCTGGAGTTACCGAATAAAAA
+ACGACAAACCGTTTATCTGCGCGAAGTTTTGGATAACGCCAAATTCCGCGATAATCCGTCGCCATTAACC
+GTGGTGCTGGGTAAAGATATCGCCGGTGAGCCGGTGGTTGCCGATCTGGCGAAAATGCCGCACTTGTTGG
+TTGCGGGGACTACCGGTTCCGGTAAGTCTGTCGGGGTGAACGCGATGATCCTGAGCATGCTTTATAAAGC
+ACAGCCAGAAGATGTGCGTTTCATCATGATCGACCCGAAAATGCTGGAGCTTTCGGTTTATGAAGGCATT
+CCGCATCTGTTAACGGAAGTCGTTACCGATATGAAAGATGCCGCCAACGCGCTGCGCTGGTGTGTTAACG
+AGATGGAGCGTCGTTATAAACTGATGTCTGCGCTGGGTGTGCGTAATCTGGCGGGTTATAACGAAAAAAT
+TGCTGAAGCCGATAGGATGATGCGTCCGATTCCAGACCCGTACTGGAAGCCGGGTGACAGTATGGATGCC
+CAGCATCCGGTGCTGAAAAAAGAACCGTACATTGTGGTGTTGGTGGACGAATTTGCCGACCTGATGATGA
+CGGTAGGTAAAAAAGTGGAAGAGCTGATAGCACGTCTGGCGCAAAAAGCCCGTGCCGCGGGTATCCACCT
+CGTACTGGCAACGCAGCGTCCATCGGTTGATGTTATTACTGGTCTGATTAAAGCGAATATTCCGACCCGT
+ATCGCCTTTACCGTATCCAGTAAGATTGACTCACGTACCATTCTTGATCAGGCTGGTGCGGAATCACTGC
+TGGGTATGGGGGATATGCTCTACTCTGGGCCGAACTCCACGTTGCCGGTACGTGTCCATGGTGCTTTTGT
+TCGCGATCAGGAAGTTCATGCCGTGGTGCAGGACTGGAAAGCGCGTGGTCGCCCACAGTATGTTGATGGC
+ATCACCTCCGACAGTGAAAGCGAAGGTGGCGTGGGCGGTTTCGATGGCGCTGAAGAACTGGATCCGTTGT
+TCGATCAGGCGGTGCAGTTTGTCACTGAAAAACGCAAAGCGTCAATTTCTGGCGTACAGCGTCAGTTCCG
+CATTGGTTATAACCGTGCAGCGCGTATTATCGAACAGATGGAAGCGCAGGGGATTGTCAGCGAACAGGGG
+CACAACGGTAATCGTGAAGTGCTGGCCCCACCGCCATTTGACTAATTAATGCAACGTAGACCGGATAAGA
+CGCGATAGCGTCGCATCCGGTATTCTATCAACTGAAAATTCAGTATTTTCTTCTTTCCTCAAGCTGATTA
+TTAGCCTGGAATAGAGAGTAGAGGGAACTCCCGATTGGGAGTGACGTAATTTGAGGAATAATGATGAAAA
+AAATTGCCATCACCTGTGCATTACTCTCAAGCTTAGTAGCAAGCAGCGTTTGGGCTGATGCCGCAAGCGA
+TCTTAAAAGCCGCCTGGATAAAGTCAGCAGCTTCCACGCCAGCTTCACACAGAAAGTGACTGACGGTAGC
+GGCGCGGCGGTGCAGGAAGGTCAGGGCGATCTGTGGGTGAAACGTCCAAACTTATTCAACTGGCATATGA
+CTCAACCTGATGAAAGCATTCTGGTTTCTGACGGTAAAACACTGTGGTTCTATAACCCGTTCGTTGAGCA
+AGCTACGGCAACCTGGCTGAAAGATGCCACCGGTAATACGCCGTTTATGCTGATTGCCCGCAACCAGTCC
+AGCGACTGGCAGCAGTACAATATCAAACAGAATGGCGATGACTTTGTTCTGACGCCGAAAGCCAGCAATG
+GCAATCTGAAGCAGTTCACCATTAACGTGGGACGTGATGGCACAATCCATCAGTTTAGCGCGGTGGAGCA
+GGACGATCAGCGCAGCAGTTATCAGCTGAAATCCCAGCAAAATGGGGCTGTGGATGCAGCGAAATTTACC
+TTCACCCCGGCGCAAGGCGTCACGGTAGATGATCAACGTAAGTAGAGGCACCTGAGTGAGCAATCTGTCG
+CTCGATTTTTCGGATAATACTTTTCAACCTCTGGCCGCGCGTATGCGGCCAGAAAATTTAGCACAGTATA
+TCGGCCAGCAACATTTGCTGGCTGCGGGGAAGCCGTTGCCGCGCGCTATCGAAGCCGGGCATCTGCATTC
+TATGATCCTCTGGGGGCCGCCGGGTACCGGCAAAACAACCCTCGCTGAAGTGATTGCCCGCTATGCGAAC
+GCTGATGTGGAACGTATTTCTGCCGTCACCTCTGGTGTGAAAGAGATTCGCGAGGCGATCGAGCGCGCTC
+GGCAAAACCGCAATGCAGGTCGCCGCACTATTCTTTTTGTTGACGAAGTTCACCGTTTCAACAAAAGCCA
+GCAGGATGCATTTCTGCCACATATTGAAGACGGCACCATCACTTTTATTGGCGCAACCACTGAAAACCCG
+TCGTTTGAGCTTAATTCGGCACTGCTTTCCCGTGCCCGTGTCTATCTGTTGAAATCCCTGAGTACAGAGG
+ATATTGAGCAAGTACTAACTCAGGCGATGGAAGACAAAACCCGTGGCTATGGTGGTCAGGATATTGTTCT
+GCCAGATGAAACACGACGCGCCATTGCTGAACTGGTGAATGGCGACGCGCGCCGGGCGTTAAATACGCTG
+GAAATGATGGCGGATATGGCCGAAGTCGATGATAGCGGTAAGCGGGTCCTGAAGCCTGAATTACTGACCG
+AAATCGCCGGTGAACGTAGCGCCCGCTTTGATAACAAAGGCGATCGCTTTTACGATCTGATTTCCGCACT
+GCATAAGTCGGTACGTGGTAGCGCACCCGATGCGGCGCTCTACTGGTATGCGCGAATTATTACCGCCGGT
+GGCGATCCGTTATATGTCGCGCGTCGTTGCCTGGCAATTGCTTCCGAAGATGTCGGCAATGCCGACCCAC
+GGGCGATGCAGGTGGCAATTGCGGCCTGGGATTGCTTTACTCGCGTTGGCCCGGCGGAAGGTGAACGCGC
+CATTGCTCAGGCGATTGTTTACCTGGCCTGCGCGCCAAAAAGCAACGCTGTCTACACTGCGTTTAAAGCC
+GCGCTGGCCGATGCTCGCGAACGTCCGGATTATGACGTGCCGGTTCATTTGCGTAATGCGCCGACGAAAT
+TAATGAAGGAAATGGGCTACGGGCAGGAATATCGTTACGCTCATGATGAAGCAAACGCTTATGCTGCCGG
+TGAGGTTTACTTCCCGCCGGAAATAGCACAAACACGCTATTATTTCCCGACAAACAGGGGCCTTGAAGGC
+AAGATTGGCGAAAAGCTCGCCTGGCTGGCTGAACAGGATCAAAATAGCCCCATAAAACGCTACCGTTAAT
+GTTATCGTTGCGGTAATGTTGTTAATGTATCCCTGTGGTCGCAGGCTGTGGCCACATCTCCCATTTAATT
+CGATAAGCACAGGATAAGCATGCTCGATCCCAATCTGCTGCGTAATGAGCCAGACGCAGTCGCTGAAAAA
+CTGGCACGCCGGGGCTTTAAGCTGGATGTAGATAAGCTGGGCGCTCTTGAGGAGCGTCGTAAAGTATTGC
+AGGTCAAAACGGAAAACCTGCAAGCGGAGCGTAACTCCCGATCGAAATCCATTGGCCAGGCGAAAGCGCG
+CGGGGAAGATATCGAGCCTTTACGTCTGGAAGTGAACAAACTGGGCGAAGAGCTGGATGCAGCAAAAGCC
+GAGCTGGATGCTTTACAGGCTGAAATTCGCGATATCGCGCTAACCATCCCTAACCTGCCTGCAGATGAAG
+TGCCGGTAGGTAAAGACGAAAATGACAACGTTGAAGTCAGTCGCTGGGGCACCCCGCGTGAGTTTGACTT
+TGAAGTTCGTGACCATGTGACGCTGGGTGAAATGCACTCTGGCCTCGACTTTGCAGCCGCAGTTAAGTTG
+ACTGGTTCCCGCTTTGTCGTCATGAAAGGGCAGATTGCTCGCATGCACCGCGCACTGTCGCAGTTTATGC
+TGGATCTGCATACCGAACAGCATGGCTACAGTGAGAACTATGTTCCGTACCTGGTTAACCAGGACACGCT
+GTACGGTACGGGTCAGCTGCCGAAATTTGCTGGCGATCTGTTCCATACTCGTCCGCTGGAAGAAGAAGCA
+GACACCAGTAACTATGCGCTGATCCCAACGGCAGAAGTTCCGCTGACCAACCTGGTACGCGGTGAAATCA
+TCGATGAAGATGATCTGCCAATTAAGATGACCGCCCACACCCCATGTTTCCGTTCTGAAGCTGGTTCATA
+TGGTCGTGACACTCGTGGTCTGATCCGTATGCACCAGTTCGACAAAGTTGAAATGGTGCAGATCGTGCGC
+CCGGAAGACTCAATGGCGGCACTGGAAGAGATGACCGGTCATGCGGAAAAAGTCCTGCAGCTGCTGGGTC
+TGCCGTACCGCAAAATCATCCTTTGTACCGGCGACATGGGCTTTGGTGCTTGCAAAACTTACGACCTGGA
+AGTATGGATCCCGGCACAGAACACCTACCGCGAGATCTCTTCCTGCTCCAACGTCTGGGATTTCCAGGCG
+CGTCGTATGCAGGCACGTTGCCGCAGCAAGTCGGACAAGAAAACCCGTCTGGTTCATACCCTGAACGGTT
+CTGGTCTTGCTGTTGGTCGTACGCTGGTTGCAGTAATGGAAAACTATCAGCAGGCTGATGGTCGTATTGA
+AGTACCAGAAGTTCTGCGTCCGTATATGAACGGACTGGAATATATTGGCTAATACCCAATTTTTCTGAAT
+CTAAAAAGCGCCTGCGGGCGCTTTTTTTGTCTCCCTTTGATACCGAACAATAATTACTCCTCACTTACAA
+GTAATACTACTTTCGAGTGAAAATCTACCTATCTCTTTGATTTTCAAATTATTCGATATATACAATCCTA
+TATAGCGATCTGCTATAGAAATAATTACACAATACGGTTTGTTACTGGAATCAATCGTGAGCAAGCTTGA
+GTGAGCCATTATGAAAACGAAAATCCCTGATGCGGTATTGGCTGCTGAGGTGAGTCGCCGTGGTTTGGTA
+AAAACGACAGCGATCGGCGGCCTGGCAATGGCCAGCAGCGCATTAACATTACCTTTTAGTCGGATTGCGC
+ACGCTGTCGATAGCGCTATTCCAACAAAATCAGACGAAAAGGTTATCTGGAGCGCCTGTACAGTTAACTG
+TGGTAGTCGCTGCCCGCTACGTATGCACGTAGTGGACGGTGAAATCAAATATGTCGAAACGGACAATACC
+GGCGATGACAATTACGACGGCCTGCACCAGGTTCGCGCCTGTCTGCGTGGGCGTTCCATGCGTCGCCGTG
+TCTACAATCCGGACCGCCTGAAATATCCGATGAAACGAGTCGGGGCGCGCGGTGAAGGCAAATTCGAGCG
+CATTAGCTGGGAAGAAGCCTACGACATCATCGCGACCAAAATGCAGCGCCTGATCAAAGAGTACGGCAAC
+GAGTCTATCTATCTGAACTATGGCACCGGTACGCTGGGCGGCACCATGACCCGCTCGTGGCCGCCGGGAA
+ATACCCTGGTCGCGCGGCTAATGAACTGCTGCGGCGGTTATCTGAACCATTATGGCGACTACTCCTCCGC
+GCAAATTGCGGAAGGTCTGAACTATACCTACGGCGGCTGGGCAGATGGTAACAGCCCGTCGGATATCGAA
+AACAGTAAACTGGTAGTGCTGTTTGGTAATAACCCTGGCGAAACGCGAATGAGTGGCGGTGGGGTGACTT
+ACTATCTTGAACAGGCGCGCCAGAAATCTAATGCTCGCATGATCATCATCGATCCGCGCTATACCGACAC
+CGGTGCCGGGCGTGAAGATGAGTGGATCCCTATTCGTCCGGGAACAGATGCCGCACTGGTTAACGGTCTG
+GCGTATGTGATGATCACCGAAAACCTGGTAGATCAGGAATTCCTCGATAAATATTGCGTTGGCTACGACG
+AGAAAACCCTGCCAGCCAGTGCGCCGAAAAATGGTCACTATAAAGCTTATATTCTGGGTGAAGGACCCGA
+TGGCGTGGCTAAAACACCGGAATGGGCCTCGCAAATCACCGGTGTTCCGGCAGACAAAATCATCAAACTG
+GCTCGTGAAATCGGCAGTACCAAACCGGCGTTTATCAGCCAGGGATGGGGCCCGCAGCGTCATGCTAACG
+GTGAAATCGCAACCCGTGCTATCTCGATGCTGGCGATTCTGACCGGTAACGTTGGTATTAACGGGGGGAA
+CAGCGGCGCGCGCGAAGGTTCATACAGCTTACCGTTTGTCCGTATGCCGACTCTCGAAAACCCGATCCAG
+ACCAGCATTTCTATGTTTATGTGGACCGATGCCATTGAACGTGGCCCGGAAATGACGGCGCTGCGTGATG
+GTGTGCGCGGGAAAGATAAGCTGGATGTGCCGATCAAAATGATCTGGAACTATGCCGGTAACTGCCTGAT
+TAATCAGCATTCTGAAATCAACCGTACCCATGAAATCCTTCAGGATGATAAGAAGTGCGAGCTGATTGTG
+GTTATCGACTGCCACATGACCTCATCGGCGAAATATGCTGACATCCTGCTGCCTGACTGCACCGCTTCCG
+AACAGATGGACTTTGCACTGGATGCATCCTGCGGGAATATGTCTTACGTTATTTTCAATGATCAGGTCAT
+TAAACCGCGCTTTGAATGTAAGACTATCTATGAGATGACCAGCGAACTGGCAAAACGTCTTGGCGTCGAA
+CAACAGTTTACTGAAGGTCGTACTCAGGAAGAGTGGATGCGGCATCTGTATGCCCAGTCGCGGGAAGCGA
+TTCCTGAACTGCCAACGTTTGAAGAGTTCCGTAAGCAGGGGATCTTTAAAAAGCGCGACCCACAAGGGCA
+TCACGTTGCTTATAAAGCTTTCCGTGAAGATCCGCAGGCAAATCCACTGACCACGCCATCGGGGAAAATT
+GAGATTTATTCGCAGGAGCTGGCTGACATTGCCGCTACCTGGGAATTGCCAGAAGGTGATGTGATCGATC
+CACTGCCGATCTATACGCCGGGCTTTGAAAGTTATCAGGATCCGCTGAACAAACAGTATCCGCTGCAGCT
+TACGGGTTTCCACTATAAATCTCGCGTTCACTCAACTTACGGCAACGTTGATGTGCTGAAAGCAGCTTGC
+CGTCAGGAAATGTGGATCAACCCGCTTGATGCGCAAAAACGCGGTATCAGCAACGGCGATAAAGTCAGGA
+TCTTTAATGATCGTGGTGAGGTTCATATTGAGGCGAAAGTGACGCCACGAATGATGCCGGGTGTGGTCGC
+ACTGGGTGAAGGTGCCTGGTATGACCCGGATACAAAACGTGTCGATAAGGGCGGTTGTATTAACGTACTG
+ACCACTCAACGTCCGTCTCCTCTCGCTAAGGGGAATCCGTCACATACAAACCTTGTTCAGGTTGAAAAGG
+TGTAAGGAGTAACCGATGACAACCCAGTATGGATTTTTTATTGATTCCAGCCGTTGCACCGGTTGCAAAA
+CCTGCGAGCTGGCTTGTAAAGACTACAAAGATTTGACGCCAGAAGTCAGCTTCCGCCGCATTTATGAATA
+TGCTGGTGGTGACTGGCAGGAAGATAACGGTGTCTGGCACCAGAACGTGTTTGCCTACTATCTGTCGATT
+TCATGTAACCACTGCGAAGATCCGGCTTGTACCAAAGTCTGCCCAAGCGGTGCGATGCATAAACGTGAAG
+ATGGTTTTGTCGTTGTCGATGAAGATGTGTGTATTGGCTGTCGTTACTGCCATATGGCCTGCCCGTATGG
+CGCACCGCAGTACAACGCAACCAAAGGTCATATGACCAAATGTGATGGTTGCTATGACCGCGTCGCAGAA
+GGTAAAAAACCGATCTGCGTAGAGTCCTGCCCGCTGCGGGCGCTGGATTTCGGACCTATCGACGAGCTGC
+GTAAAAAACACGGCGATCTGGCGGCTGTTGCGCCGTTGCCGCGAGCTCACTTTACCAAACCGAATATTGT
+GATCAAACCCAATGCCAACAGCCGCCCAACCGGGGATACCACTGGCTATCTGGCAAACCCGAAGGAGGTG
+TGAGATGGGAAGTGGATGGCATGAATGGCCGCTGATGATCTTCACGGTTTTCGGGCAATGTGTAGCGGGT
+GGTTTTATCGTTCTGGCTTTGGCGCTGCTCAAAGGCGACCTGCGAGCAGAATCCCAGCAGCGTGTTATCG
+CCTGCATGTTGGGTTTATGGGTGCTGATGGGTATTGGCTTTATCGCCTCTATGCTTCATCTTGGTTCACC
+GATGCGCGCTTTTAACTCGCTCAATCGGGTAGGGGCTTCAGCACTCAGTAACGAAATTGCCAGCGGTTCG
+ATCTTTTTTGCTGTAGGCGGCATCGGCTGGTTGCTGGCAATGCTGAAAAAGCTTTCACCGGCATTGCGTA
+CGCTTTGGCTGGTGGTGACGATGGTTCTTGGCGTAGTCTTTGTCTGGATGATGGTGCGTGTGTATAACAG
+CATCGATACAGTACCCACCTGGTACAGCATCTGGACACCGATGGGCTTCTTCCTGACGATGTTTATGGGC
+GGCCCGTTACTGGGTTACCTGTTGCTGAGTCTGGCTGGTGTCGATGGCTGGGCGATGCGTCTGCTGCCAG
+CCATTTCTGTTCTGGCACTGGTAGTGAGTGGCGTGATGTCAGTGATGCAGGGCGCAGAGCTGGCGAATAT
+TCATAGCTCTGTGCAGCAGGCCGCAGCGCTGGTGCCGGACTATGGTGCGCTGATGTCCTGGCGGATCGTG
+CTTTTGGCCGTTGCCCTGTGCTTGTGGATTGCACCACAGCTAAAAGGTTATCAGCCTGCGGTTCCGCTAC
+TTTCTGTATCATTCATTCTGCTTCTGGCAGGGGAATTAATCGGTCGTGGCGTATTCTATGGTTTGCATAT
+GACCGTGGGGATGGCTGTCGCAAGTTAATCAGTAACAACCGGGGTTTCGGCCCCGGTTCGCTTTTATTTC
+TGCTTCGTTAACGTGTCATAACTGGTCATCAAGTTACGATAATCAGGAATGTGGTTAGAGAACAACGTCG
+CCAGTCCTTCAATATCATTACGCCAGTCGCGATGCAGCTCGCACGCCACGCCGAACCATGTCATCAATTG
+CGCACCAGCTTGCGACATGCGATCCCATGCCGAATGCCGGGTAATTTCATTAAAGGTCCCTGACGCGTCA
+GTCACGACAAAGACGTCAAACCCTTCTTCAATGGCTGAAAGCGCCGGGAATGCCACGCAAACTTCGGTTA
+CCACACCGGCAATAATTAACTGTTTTTTACCTGTCGCTTTGACAGCTTTTACAAAATCTTCGTTATCCCA
+GGCGTTAATATTTCCCGGGCGAGCAATGTAAGGTGCATCGGGGAATTGTGCTTTCAGTTCTGGAACTAAT
+GGGCCGTTAGGACCGGTTTCAAAACTGGTGGTAAGAATAGTTGGTAAGTTGAAATACTTAGCCAGGTCAC
+CCAGCGCCAGCACGTTATTTTTAAACTTATCGGGTTCGATATCCCGTACAAGGGAAAGTAAACCAGCCTG
+GTGATCAACAAGCAAAACGGCAGCATCATTTTTATCAAGACGAACATACGGTTTGGTCATCCTCTTCTCC
+TTTCGAGAGTCAGTGGTACGTCTAAATCGGTCAGACGCGATGCATTGCTCTGAAAGCATAGACGGGAAAT
+ATGAGTTTGCTGTGACCATGAAATTTTTCGACTGAACGAAGCGTATGAAATTTGTGTTAGATCAATAAAA
+ACAATCAGATGAGATTAATCGTCTCTTCAGCATTGGCGTTATGAATGAGTAATATAAATCGATAATACCG
+CCGCTGCGATATGCGCGTATTTTCACCCATTGACAATGTTTTTGGCGGTGGCATGATGCGCATGAAATTT
+GAACTTCCTCACGGTTTTAATTCATGTCCACGTATACCCGGCCTGTCATGCTTTTGCTGTCTGGCCTGCT
+TTTGTTGACTCTGGCGATCGCGGTGTTAAATACACTCGTGCCGCTTTGGCTCGCCCAGGAACACATGTCT
+ACATGGCAGGTAGGCGTTGTCAGCTCATCCTATTTTACCGGCAACCTTGTCGGTACATTGCTGACAGGGT
+ATGTCATTAAACGCATTGGCTTTAACCGTAGCTATTATCTGGCCTCCTTCATTTTTGCCGCTGGCTGTGC
+CGGCCTTGGCCTGATGATTGGATTCTGGAGTTGGTTGGCGTGGCGTTTTGTCGCTGGCATCGGCTGTGCC
+ATGATTTGGGTGGTTGTTGAGAGTGCGCTGATGTGCAGTGGGACGTCGCGTAACCGCGGGCGGTTGCTTG
+CTGCGTATATGATGGTTTATTACGTCGGAACGTTTTTAGGCCAGTTACTGGTCAGCAAAGTCTCAACCGA
+GTTGATGAGTGTATTGCCGTGGGTTACAGGTTTGACGTTGGCAGGAATCTTACCGCTGTTGTTTACGCGT
+GTCCTGAATCAGCAGACTGAAAACCATGATTCGACGTCAATTACGTCAATGCTAAAACTCCGTCAGGCGC
+GGCTTGGCGTGAATGGCTGCATTATCTCAGGAATCGTGCTGGGATCTCTATATGGCCTGATGCCGCTGTA
+CCTCAATCACAAAGGGGTGAGCAATGCCAGCATTGGTTTCTGGATGGCGGTACTGGTCAGTGCGGGTATC
+CTCGGGCAATGGCCGATTGGACGTCTGGCGGATAAGTTTGGTCGACTGCTGGTGTTGCGTGTTCAGGTCT
+TTGTCGTCATTCTCGGCAGTATTGCGATGCTTAGCCAGGCGGCGATGGCCCCAGCGTTATTCATCCTCGG
+TGCCGCTGGCTTTACGCTATATCCGGTGGCGATGGCCTGGGCTTGTGAGAAAGTTGAACATCATCAACTG
+GTGGCGATGAACCAGGCCTTACTGTTGAGCTATACCGTGGGAAGCCTGCTTGGCCCGTCATTTACCGCTA
+TGCTAATGCAGAATTTCTCCGATAATTTATTATTTATCATGATCGCCAGCGTATCGTTTATCTATTTGCT
+GATGCTGCTTCGTAACGCCGGTCATACGCCGAAACCCGTGGCTCACGTGTAAATGAATTCAAGCAGAGTG
+TGAACTTACTGTTTCACACTCTGCTTTTCTGTGCACAAAAAAGCGGTAACTCAATAAAGTTGCTGCTTTA
+CGGGGAAATTAGAACATGACCTTATGACCGTACTGCTCAAGAATGCCTTTCACGCGTTCCATGGTCTCTT
+TCTTCGGTGGTTTAACACCATCGAGTTTGTATTCTTCACCCATCGCCACCCATTTGTGTTTGCCCAGTTC
+GTGGTAGGGGAGAAGTTCGATTTTCTCAACGTTGCCCATATCACGGGTAAATTCACCAAGGCGATGCGCT
+GAATCGTCATCGTCAGACCAGCCTGGGACAACAACATAGCGGATCCACACCTTCACATTTTTGTTCGCCA
+GATATTTAGCGAACTCCAGCGTGCGGTGGTTGGAAACTCCAACCAGATTTTGGTGGATCTCGTCGTTCAT
+CTGTTTGAGATCGAGCATTACCAGGTCGGTTACTTCCAGCAGTTCATCAATCACCGGATCGTAACGACGA
+ACAAAACCGTTGGTGTCCAGACAGGTATGAATGCCTTCTTTTTTGCAGGCGCGGAACCAGTCACGAACAA
+ACTCAGCTTGTAGGATTGCCTCACCGCCGGATGCGGTAACGCCGCCGCCGGAAGCGTTCATAAAGTGGCG
+ATAGGTCACCACTTCCTTCATCAAATCTTCAACGGTAACTTCTTTACCGCCATGCGTATCCCAGGTGTCG
+CGGTTATGACAATACAGGCAGCGCATCAGGCAGCCCTGGAAAAAGGTGATAAAGCGAATACCCGGGCCGT
+CTACGGTTCCACAGGATTCAAAGGAGTGAATGCGACCAATAACTGACATTGCGGTGTTTCTCCAGATGTG
+GCCCATCTGAGGCCGTGTTGGTGCGCAGCTCGAAGGCTACGTCGAGTCTGTTTTGGCAGTCACCTTAAAG
+TATAGATAGCTGACAAAAAAGGCTCTCGTGCTAAAAAAGGCCCCACTTTCGTGGAGCCTTTATTGTACGC
+TTTTTACTGTACGATTTCAGTCAAATCTAATTACATAGATTGAGTGAAGGTACGAGTAATAACGTCCTGC
+TGCTGTTCTTTAGTCAGCGAGTTGAAACGTACTGCGTAGCCAGATACACGGATGGTCAGCTGCGGATATT
+TTTCCGGGTTTTCCATCGCGTCGAGCAGCATTTCACGGTTCATCACGTTAACGTTCAGGTGCTGACCACC
+TTCGATGGATGCTTCGTGGTGGAAGTAACCATCCATCAGACCAGCCAGGTTGGTCTTACGAACTTCGTCG
+TCTTTACCCAGTGCGTTCGGAACGATAGAGAAGGTGTAGGAGATACCATCTTTAGCGTAAGCAAACGGCA
+GTTTAGCAACGGAAGTCAGAGACGCTACAGCACCTTTCTGGTCACGACCGTGCATCGGGTTAGCACCCGG
+TCCGAACGGCGCGCCAGCACGACGACCGTCTGGGGTGTTACCAGTTTTCTTACCATACACAACGTTAGAA
+GTGATGGTCAGAACAGACTGAGTCGGGATAGCGTCACGGTAGGTGTGCAGTTTCTGAATTTTCTTCATGA
+AACGTTCTACCAGGTCAACAGCCAGGTCATCTACACGCGGATCGTTGTTACCAAACTGCGGGTATTCGCC
+TTCGATTTCGAAGTCGATAGCCAGACCGTCTTCATCACGAATCGGTTTAACTTTCGCATATTTGATTGCA
+GACAGGGAGTCAGCAGCAACGGACAGACCAGCGATACCACACGCCATGGTGCGGATAACGTCACGGTCGT
+GCAGCGCCATCAGAGAGGCTTCGTAGCTGTACTTGTCGTGCATGTAGTGGATGATGTTCAGTGCAGTGAT
+GTACTGTTTAGCCAGCCAGTCCATGAAGTGATCCATGCGCTCCATCACTTCATCATAGTTCAGGACATCG
+CCTTTGATCGGTTCAGACTTCGGACCAACCTGCATTTTCAGTTTTTCGTCAACGCCGCCGTTGATTGCGT
+ACAGCATGGTTTTCGCCAGGTTTGCACGCGCACCGAAGAACTGCATTTGTTTACCAACGATCATCGGGCT
+TACGCAGCAAGCAATAGCGTAGTCATCGTTGTTGAAGTCCGGACGCATCAGGTCATCGTTCTCATACTGC
+AGAGAAGAGGTGTCGATGGACACTTTAGCGGCGAATTTCTTGAAGTTCAGCGGCAGTTTTTCAGACCACA
+GAATGGTCATGTTCGGTTCCGGAGACGGACCCATGGTGTACAGGGTGTTCAGGAAACGGAAGCTGTTTTT
+GGTAACCAGGGTACGACCGTCGAGGCCCATACCACCGATAGATTCGGTTGCCCAGATCGGGTCGCCAGAG
+AACAGTTCATCGTATTCCGGAGTACGCAGGAAGCGAACCATACGCAGTTTCATGACCAGGTGGTCAACCA
+TTTCCTGCGCTTCTTGTTCGGTGATCTTGCCAGCTTTCAGGTCACGTTCGATGTACACATCCAGGAAGGT
+GGAGGTACGACCGAAGGACATTGCAGCACCGTTCTGAGACTTAACAGCAGCCAGGTAGCCGAAGTAAGTC
+CACTGGATAGCTTCCTGAGCGTTGGTAGCCGGACCAGAGATGTCGTAGCCGTATTTCGCAGCCATTTCTT
+TCATCTGACCCAGAGCGCGGTGCTGTTCAGCGATTTCTTCGCGCAGACGGATAGTCTGTTCCAGGTTTAC
+GCCGTTTTCCAGATCAGCCTGCAGAGAGGTGAACTGTGCAAGTTTGTCTTTCATCAGGTAGTCGATACCG
+TACAGCGCAACGCGACGGTAGTCACCGATGATACGACCACGGCCATAAGCATCTGGCAGACCGGTCAGAA
+CACCGGATTTACGGCAACGCAGGATGTCCGGAGTGTAAACGTCGAACACGCCCTGGTTGTGAGTTTTACG
+GTATTCAGTGAAGATTTTTTTGATCATCGGGTCCAGTTCGCGGTTGTACGCTTTGCAGGAACCTTCGATC
+ATTTTGATACCACCGAACGGGATAAGAGCACGTTTCAGCGGAGCTTCAGTCTGCAGACCAACGATTTTCT
+CAAGCTGCTTGTTGATGTAACCAGCGTCGTGAGAGGTGATGGTGGAAGCAACAGCGGTGTCAAAGTCAAC
+TGGCGCGTGAGTGCGGTTTTCCAGTTTAACGCCTTCCATTACTTTGTCCCACAGGGTGGTGGTCGCTTCA
+GTAGCGCCAGCCAGGAAGGACTCGTCACCCTCGTACGGAGTGTAGTTTTTCTGAATGAAGTCACGGACGT
+TTACTTCATTCTGCCAGTCACCTTTGGTAAAACCTTCCCAGGCTGTGGCTAACTTTTCATTAAGCTCGGA
+CATGTAACACCTACCTTCTTAAGTGGATTTTTTATTTACTGCGTACTTCGACAACCATTAATGGTGATCG
+TTTTCACGCAGGTAAATGACCCAGTATGTCAACCCAACCAACAAACCACCGCCGATAATATTACCGATCG
+TAACCGGAATCAGGTTATCAGTGATGAAATTCATCACGGTCAGGTGAGAAAAATTTTCCGGTGCAGAACC
+GACAGCGGTCCAGAATTCCGGAGATGCGAAGTCGCGGATTACAATACCCATCGGGATCATAAACATGTTT
+GCGATACTGTGCTCAAAACCGCTGGCAACAAACATCGCGACCGGCAGCACCATAATGAACGCTTTGTCCA
+TCAGGCTGCGGCCAGAATAACTCATCCATACTGCCAGACATACCATCAGGTTTGCCAGGATACCAAGACA
+GACGGCCTCAATAAAAGTATGGTGCACTTTGTGGTCGGCGGTTTGTAGGACGTTTAGTCCCCATTGACCA
+TTTGCGGTCATATACTCGCCGGAAAGCCACATTAAAAGTACAAACAGCAGTGCGCCGACCAGGTTGCCAA
+AATAAACATTTAGCCAGTTTTTCGCCAACTGACCCCAGGTGATGCGCCCACTCGCCTTGGCAACAACAAT
+CAACACTGTGGAAGTAAAGAGATCGGCTCCGCAGACAACACAAAGAATCAACCCCAGAGAGAAGCAAATG
+CCGCCAACCAGTTTTGCCATGCCGAAGGGCATTGTACCTGTGCCAGTGGTTGCTGTGATATAGAAGACGA
+ATGCGATTGAGATGAAAACACCGGCGGTAATCGCCAGATAGAAAGTCTTAAGCGGATGTTTCGTTGCTTT
+ATAGACACCTGCCTCTTCGGCCACTTTGGCCATTGCAGCAGGAAGTAAAAGATCAAAAGGGTTGTCAGCT
+TTCACACTAACTCTCTCTTTATTAAGTCGGCGACGAGATACTAACAAAGCATTATAGATGAGAAATTGAT
+ATAGATCATATCTCGCCTGGCTTATAGGCCCGTAACTCGCATGGTTTTTATGCAAATACGGAGTAAATAT
+TTGATTATCCAAATAAAAATAAATTTTAAAAATTAACAAATGAGTTGAATTTTTTCCGCATCCTCCGCTA
+AAACAGTTAATTAAAAGGGAGCACCTGGCGAATAAAGTAACAATATCGATCGTATTTATTAAATACAAAT
+TACCGATATTTAACCTTATAATTACAATTATTTTATTAATGCAAATATATGTAAAGCGGGGCATTAAAAA
+AACGCCCCGTAATATAACTCAGACGAATCATTAAGCCTACATTGCGTAGGCTATTTGATTTTATTTTGCC
+CAGAATGCTGCTTTGGCGCGTTGCAGCTTTTCGTAGGCCTTCAACAACGACTGATGTGCAGCAAACGCGT
+GCAGATCGCTATCTACTGGTTGCAAGCCATAAAATGCCGCTTCGCCGCTCATTGCCGCACTGGCGGCTTC
+CACGGCATCTGCGCCGTACATGCGAACAAACGCATTCAGATATTGCAGCGGCTGGCGATCTTCTTCCTGC
+GCCAGTAATAACAACGTTTGCAGGCAGCGATAATAATTGGCGCGTTCCGGGCTGAATACTGATGAGTTAA
+ACTCCATCGTCCATTCGGTCCAGACCAGAGCCTGTTCCAGATCGCCACCAGCCAGCGCCAGCATGGCTTT
+TAATTCACCGATACGCAGAGTGTACCAGCCGTTATCCGACCCGGTCACCAGACCCAACAGTTCACGCACG
+CGGGTAAAGTCATCAAAACCTTCTTCATCCAGTTGCTCGATGAGGTTCAGGTAATCTTCCTTTTCCCACT
+CGCTACCTGGTAGCGAAAGAATCGTTTCACGTAAATGGCTGCCCATACTGTTATTCGCCAGCCACAGATC
+TTCAGCCGGATAAATATCGGACATGCCAGGCACGATAATACGGCAAGCGTAGACACCCAGATGCTCGTAA
+TCGGCAATATAAACTTCTTTATCTTCCTTTTTGAAGATAGCCATCAGCGTGGCGAACTCTTCTTCCGTGG
+TGCCGGAGAAGCTCCAGTCAACAAACGGATAATCGGCATCCTGCTTGAACAGGTCCCAGGAGATTAAACC
+GCTGGAATCGATAAAGTGCGTTTCGAGGTTGGTATGTTCAGCGACTTCTTCATCATCGAAGGTTGGTGGA
+GTAAACACATCCAGATCTTTCAGGCCACGACCTTGCAGCAACTCGGTCACGGTACGTTCCAGTGCAACGC
+CAAAATCAGGATGCGCACCGAATGAGGCAAAGCAGGTACCGTTAGCAGGATTGAACAGTACCACGCAAAT
+CACCGGATACTGGCCGCCAAGCGAACCGTCATAAGCGAAGATCGGGAAACCTTCCGCTTCCAGCGTTTCG
+ATCGCTTCAACTACTGCTGGATAACGTGCCAGCACGTCTGCCGGGATTTCCGGCAAGCTGATGCTTTCAG
+CAATAATGCGGTTTTTCACGTAACGTTCGAAAACTTCGGACAACCCCTGAACGCGTGCTTCGTTACGGGT
+ATTGCCAGCAGACATACCGTTAGAAACGTACAAGTTACCAATGATATTCATCGGAATATAAATGGTCTGA
+TTGTCGGACTGGCGCGTAAACGGTAGACCGCAAATACCACGATCTTCGTTACCGGATTGCAGGTCAATCA
+GCATACTACCGGTCAGTTCATTCTCCGGATCGTAAAATGCGCGCAGACGGTCATCGAGCAGCCCTTCTGG
+TACATCGTCATTTTCGGTCAGTGGGAACCATTTTTCGTTGGGATAATGCACGAATGGGCCGTTGGCGATG
+GTTTCGCCCAGCCAGAAGTCCGCAAAAAAGTAGTTGGTTGAGAGACGTTCGAAATATTCACCGAGGGCAG
+AAGCCAGCGCCGCTTTTTTGGTTGCGCCTTTACCGTTGGTAAAACACAGTGCGCACTCTTTGTCGCGAAT
+ATGTACAGACCAGACATTAGGCACGGGATTCAGCCAGGAGGCCTCTTCAATCTGAAAACCGAGGTCTGAA
+AGTTTTTGCTGGAAGCGTGCGATGGAATCTTCCAGAGCGGCATCTTTGCCGGGGATAAATGTTTGCGTCA
+TGAAAATCACTTTAGTCGTACGGAAAGCGCGCAATAATACGGGTTTTATCTCAAAGGTGCTATCACCGCC
+GCCACGCTGATGAACTGTTAGCTATGCTTTTAGCGGATTAACTACGATAAGAGCATAAAAATGAAGGCGT
+TTGATCTCCACCGTATGGCATTCGATAAAGTGCCTTTTGATTTCCTTGGCGAAGTTGCACTACGTAGTCT
+TTATACCTTTATACTGGTCTTTTTGTTCCTCAAAATGACCGGAAGACGCGGTGTGCGGCAGATGTCGCTG
+TTTGAAGTGTTAATCATTCTGACACTGGGTTCAGCGGCGGGAGATGTGGCGTTTTATGATGATGTGCCGA
+TGGTCCCGGTACTTATCGTCTTTATTACTCTGGCGTTGTTATACCGCCTGGTAATGTGGTTGATGGCGCA
+CAGTGAAAAACTGGAAGATCTTCTGGAAGGCAAGCCGGTTGTCATTATTGAAGATGGCGAGCTGGCCTGG
+TCGAAACTCAATAACTCCAACATGACGGAATTTGAGTTCTTTATGGAGCTACGATTGCGCGGTGTAGAGC
+AGTTGGGGCAGGTACGTCTGGCGATTCTCGAAACCAACGGGCAAATCAGTGTTTATTTCTTTGAAGATGA
+CAAGGTGAAACCGGGGTTACTTATTTTACCCAGTGACTGTACTCAGCGTTACAAAGTGGTGCCGGAGTCG
+GCGGACTATGCCTGCATCCGTTGCAGTGAAATCATTCATATGAACGCGGGGGAAAAACAATTATGTCCGC
+GCTGTGCAAATCCAGAATGGACGAAGGCAAGTCGGGCTAAACGGGTGACCTGACAGCCAAAACATCGGTT
+TTTTGAAAATAATCCGAGAGATTCTTTTGTGTGACGCGTGCCTCATTTTTGCCCTCAACGGTTTTACTCA
+TTGCGATGCGTGTCACTGAATGATAAAACCGATAGCCACAGGAATAATGTATTGCCTGTGGTCGCAATTG
+ATTGACCGCGGGTTAATGGCAACGCAACGTGGTGAGGGGAAATGGCTCAAATCTTCAATTTTAGTTCTGG
+TCCGGCAATGCTACCGGCAGAGGTGCTTAAACAGGCTCAACAGGAACTGCGCGACTGGAACGGTCTTGGT
+ACGTCGGTGATGGAAGTGAGTCACCGTGGCAAAGAGTTCATTCAGGTTGCAGAGGAAGCCGAGAAGGATT
+TTCGCGATCTTCTTAACGTCCCCTCCAACTACAAGGTATTGTTCTGCCATGGCGGTGGTCGCGGTCAATT
+TGCTGCTGTACCGCTGAATATTCTTGGTGATAAAACCACTGCAGATTATGTTGATGCGGGTTACTGGGCA
+GCAAGTGCTATCAAAGAAGCGAAAAAATACTGCACACCAAATGTGTTTGATGCGAAAGTGACCGTTGATG
+GTCTTCGCGCAGTTAAGCCAATGAGTGAATGGCAACTCTCTGATAATGCTGCTTATATGCATTACTGCCC
+GAACGAAACCATTGACGGTATCGCTATCGATGAAACACCAGACTTCGGTAAAGACGTGGTGGTCGCCGCT
+GACTTCTCTTCAACCATTCTTTCCCGTCCGATTGATGTCAGCCGTTATGGTGTAATTTACGCTGGCGCGC
+AGAAAAATATCGGCCCGGCTGGCCTGACAATCGTCATCGTTCGTGAAGATTTGCTGGGCAAAGCGAATAT
+CGCCTGCCCATCGATTCTGGATTACTCCATCCTCAACGATAACGATTCCATGTTCAACACGCCGCCGACA
+TTTGCCTGGTACTTATCTGGCCTGGTCTTCAAATGGCTGAAAGCGAACGGCGGTGTGGCTGCAATGGATA
+AGATCAATCAGCAAAAAGCAGAACTGCTGTATGGGGTGATTGATAACAGCGATTTCTACCGCAATGATGT
+GGCGAAAGCTAACCGTTCGCGGATGAACGTGCCGTTCCAGTTGGCGGATAGCGCGCTTGATAAATTGTTC
+CTCGAAGAGTCTTTCGCTGCGGGCTTACATGCGCTGAAAGGTCACCGAGTGGTCGGCGGAATGCGTGCGT
+CTATTTATAACGCCATGCCGCTGGAAGGTGTTAAAGCACTGACAGACTTCATGGTTGAGTTCGAACGTCG
+TCACGGCTAATGTCGAAATTTTGCATAATCCCCACAGCCAGCCTGTGGGGTTTTTATTTCTGTTGTAGAG
+AGTTGAGTTCATGGAATCCCTAACGTTACAACCCATCGCTCGTGTCGATGGCACTATTAATCTGCCCGGT
+TCCAAGAGCGTTTCTAACCGCGCTTTATTGCTGGCGGCATTAGCACACGGCAAAACAGTATTAACCAATC
+TGCTGGATAGCGATGACGTGCGCCATATGCTGAATGCATTAACAGCGTTAGGGGTAAGCTATACGCTTTC
+AGCCGATCGTACGCGTTGCGAAATTATCGGTAACGGTGGTCCATTACACGCAGAAAGTGCCCGTGAGTTG
+TTCCTCGGTAACGCCGGAACGGCAATGCGTCCGCTGGCGGCAGCACTTTGCCTGGGTAGCAATGATATTG
+TACTGACCGGTGAACCGCGAATGAAAGAACGCCCGATTGGTCATCTGGTGGATGCGCTGCGCCAGGGCGG
+GGCGAAGATCACTTACCTGGAACAAGAAAATTATCCGCCATTGCGTTTACAGGGCGGCTTTACTGGCGGC
+AACGTTGATGTTGATGGCTCCGTTTCCAGCCAGTTCCTCACCGCACTGTTAATGACTGCGCCTCTTGCGC
+CGGAAGATACGGTGATTCGTATTAAAGGCGATCTGGTTTCTAAACCTTATATCGATATCACCCTCAATCT
+GATGAAGACGTTTGGTGTTGAAATTGAAAATCAGCACTATCAACAATTTGTCGTAAAAGGGGGGCAGTCT
+TATCAGTCTCCGGGTACTTATTTGGTCGAAGGCGATGCATCCTCGGCTTCTTATTTCCTGGCAGCAGCAG
+CAATCAGAGGCGGCACTGTAAAAGTGACCGGCATTGGACGCAACAGTATGCAGGGTGATATTCGCTTTGC
+TGATGTGCTGGAAAAAATGGGTGCGACCATTTGCTGGGGCGATGATTATATTTCCTGCACGCGTGGTGAA
+CTGAACGCCATTGATATGGATATGAACCATATTCCCGATGCGGCGATGACCATTGCCACCGCGGCGTTAT
+TTGCAAAAGGCACCACCACGCTGCGCAATATCTATAACTGGCGTGTTAAAGAGACCGATCGCCTGTTTGC
+GATGGCAACAGAACTGCGTAAAGTCGGTGCGGAAGTCGAAGAGGGGCACGATTTTATTCGCATTACGCCA
+CCGGAAAAACTGAAATTTGCTGAGATCGCCACTTATAATGATCACCGGATGGCGATGTGTTTCTCGCTGG
+TCGCATTATCAGATACGCCTGTGACGATTCTTGATCCAAAATGTACCGCCAAAACTTTTCCAGACTATTT
+CGAGCAATTGGCGCGGATAAGTCAACCCGGCTGAATGAATAACGGGCGATAACATAGACAATCCTTTCTT
+TTCAAAGACGTCGGCACATTGCCGGCGTTTTTTTTCGGACCTTGTGGGGTATTTTTATTAATGGTAGCGT
+TAATTATCAATGTAACTTGTTGATACATAATGTTTATATATAATTAATCAACGGATGATTCACATGAAGA
+ATACTAAATTATTGCTGGCGATAGCGACCTCTGCAGCCTTACTGACAGGATGTCAGAATACGCACGGTAT
+TAATACCGATTTGGCTATCAGCTCAGGTCTGAATGCTTATAAAGCCGCAACATTAAGCGATGCTGATGCT
+AAAGCAATCGCCAATCAGGGCTGTGTCGAAATGGACAGCGACAATAAAGTGGCAAGCAAATCCAGCAAGT
+ACGGGAAACGTCTGGCAAAAATCGCCAAAGCATTGGGTAACAATATTAATGGCACGCCAGTCAACTATAA
+GGTTTATATGACCAGCGACGTCAACGCATGGGCGATGGCGAACGGTTGTGTTCGTGTCTACAGTGGCCTG
+ATGGACATGATGAACGACAACGAAATTGAAGGCGTTCTGGGCCATGAACTGGGCCACGTCGCGTTGGGTC
+ACTCGCTGGCTGAAATGAAAGCTTCTTATGCGATCGTGGCCGCACGCGATGCCATTTCAGCTACCAGCGG
+TGTGGCTTCCCAGCTTTCCCGTTCACAATTAGGTGATATCGCAGAAGGCGCTATCAATGCTAAATACTCC
+CGTGATAAAGAATCCGAAGCAGATGATTTCTCTTTTGATCTGTTGAAGAAACGTGGCATCAGTACCCAGG
+GGCTGGTTGGTAGCTTTGAAAAACTGGCCAGCCTGGATGGCGGTCGCACCCAGTCCATGTTTGATTCTCA
+CCCACCATCAACAGAGCGTGCGCAACACATCCGTGATCGTATCGCCTCTGGTAAGTAAATCATTGTCATC
+TTTCGGGCTGGTCTTCTGCCAGCCCGCTATAATTGCGCAATAAATCCCCATCTGAATACAGACAAAACTG
+GTTTTTGCACACAACGTTAACGATTTGTGGCGTCGGCGCGTATAATGCGCGCGGTTATGTTAACGGTACG
+CCTGTTTTAAGGAGATAAAGATGACGGCAATTGCCCCGGTTATTACCATTGATGGCCCAAGCGGTGCAGG
+GAAAGGCACCTTGTGTAAGGCTATGGCGGAAGCGTTGCAATGGCATCTGCTGGATTCGGGTGCAATTTAT
+CGCGTACTGGCACTAGCGGCATTACATCACCATGTTGATGTTGCATCGGAAGATGCGCTGGTGCCGCTGG
+CATCCCATCTGGATGTACGTTTTGTGTCAACCAACGGTAATCTGGAAGTGATCCTCGAAGGGGAAGATGT
+CAGCGGCGAAATTCGTACTCAGGAAGTGGCGAATGCTGCTTCACAAGTCGCGGCATTCCCACGCGTTCGT
+GAAGCATTATTGCGTCGCCAACGCGCGTTTCGCGAATTACCAGGCCTGATTGCCGATGGCCGCGACATGG
+GAACGGTGGTATTCCCTGATGCGCCAGTGAAAATTTTCCTTGACGCCTCCTCGGAAGAACGTGCGCATCG
+CCGCATGCTACAGTTGCAGGAGAAGGGCTTTAGTGTTAACTTTGAGCGCCTTTTGGCCGAGATCAAAGAA
+CGCGACGACCGCGATCGTAACCGAGCGGTAGCGCCACTGGTTCCGGCAGCCGATGCTTTAGTGTTGGATT
+CCACCACCTTAAGCATTGAGCAAGTGATTGAAAAAGCGCTACAATACGCGCGCCAGAAATTGGCTCTCGC
+ATAAGCGACCGAATTTGCAGTACCCCCGTTGCAATGGAATGACAGCGGGTATGTTAAACAACCCCATCCG
+GCATGGAGCCAGGTGGACGTTAAATATAAACCTGAAGATTAAACATGACTGAATCTTTTGCTCAACTCTT
+TGAAGAGTCCTTAAAAGAAATCGAAACCCGCCCGGGTTCTATCGTTCGTGGCGTTGTTGTTGCTATCGAC
+AAAGACGTAGTACTGGTTGACGCTGGTCTGAAATCTGAGTCCGCCATCCCGGCTGAGCAGTTCAAAAACG
+CCCAGGGCGAGCTGGAAATCCAGGTAGGTGACGAAGTTGACGTTGCTCTGGACGCAGTAGAAGACGGCTT
+CGGTGAAACTCTGCTGTCCCGTGAGAAAGCTAAACGTCACGAAGCCTGGATCACGCTGGAAAAAGCTTAC
+GAAGATGCTGAAACTGTTACCGGTGTTATCAACGGCAAAGTTAAGGGCGGCTTCACTGTTGAGCTGAACG
+GTATTCGTGCGTTCCTGCCAGGTTCTCTGGTAGACGTTCGTCCGGTGCGTGACACTCTGCACCTGGAAGG
+CAAAGAGCTTGAATTCAAAGTAATCAAGCTGGATCAGAAGCGCAACAACGTTGTTGTTTCTCGTCGTGCC
+GTTATCGAATCCGAAAACAGCGCAGAGCGCGATCAGCTGCTGGAAAACTTGCAGGAAGGCATGGAAGTTA
+AAGGTATCGTTAAGAACCTCACTGACTACGGTGCATTCGTTGATCTGGGCGGCGTTGACGGCCTGCTGCA
+CATCACTGACATGGCCTGGAAACGCGTTAAGCATCCGAGCGAAATCGTCAACGTGGGCGACGAAATCACT
+GTTAAAGTGCTGAAGTTCGACCGCGAACGTACCCGTGTATCCCTGGGCCTGAAACAGCTGGGCGAAGATC
+CGTGGGTAGCTATCGCTAAACGTTATCCGGAAGGTACCAAACTGACTGGTCGCGTGACCAACCTGACCGA
+CTACGGCTGCTTCGTTGAAATCGAAGAAGGCGTTGAAGGCCTGGTACACGTTTCCGAAATGGATTGGACC
+AACAAAAACATCCACCCGTCCAAAGTTGTTAACGTTGGCGATGTAGTGGAAGTTATGGTTCTGGATATCG
+ACGAAGAACGTCGTCGTATCTCCCTGGGTCTGAAACAGTGCAAAGCTAACCCGTGGCAGCAGTTCGCGGA
+AACCCACAACAAGGGCGACCGTGTTGAAGGTAAAATCAAGTCTATCACTGACTTCGGTATCTTCATCGGC
+CTGGACGGCGGCATCGACGGCCTGGTTCACCTGTCTGACATCTCCTGGAACGTTGCAGGCGAAGAAGCAG
+TTCGTGAATACAAAAAAGGCGACGAAATCGCTGCAGTTGTTCTGCAGGTTGACGCAGAACGTGAACGTAT
+CTCCCTGGGCGTTAAACAGCTCGCAGAAGATCCGTTCAACAACTGGGTTGCTCTGAACAAGAAAGGCGCT
+ATCGTAACCGGTAAAGTAACTGCAGTTGACGCTAAAGGCGCAACCGTAGAACTGGCTGACGGCGTTGAAG
+GTTACCTGCGTGCTTCTGAAGCATCCCGTGACCGCGTTGAAGACGCTACCCTGGTTCTGAGCGTTGGCGA
+CGAAGTTGAAGCTAAATTCACCGGCGTTGATCGTAAAAACCGCGCAATCAGCCTGTCTGTTCGTGCGAAA
+GACGAAGCTGACGAGAAAGATGCAATCGCAACTGTTAACAAACAGGAAGATGCAAACTTCTCCAACAACG
+CAATGGCTGAAGCTTTCAAAGCAGCTAAAGGCGAGTAATTCTCTGACTCTTCGGGATTTTTATTCCGAAG
+TTTGTTGAGTTTACTTGACAGATTGCAGGTTTCGTCCTGTAATCAAGCACTAAGGGCGGCTACGGCCGCC
+CTTAATCAATGCAGCAACAGCAGCCGCTTAATTTGCCTTTAAGGAACCGGAGGAATCATGACCAAGTCAG
+AATTGATAGAAAGACTTGCCACCCAGCAATCGCACATTCCCGCCAAGACGGTTGAAGATGCAGTAAAAGA
+GATGCTGGAGCATATGGCCTCGACTCTTGCGCAGGGCGAGCGTATTGAAATCCGCGGTTTCGGCAGTTTC
+TCTTTGCACTACCGCGCACCACGTACCGGACGTAATCCGAAGACTGGCGATAAAGTAGAACTGGAAGGAA
+AATACGTTCCTCACTTTAAACCAGGTAAAGAACTGCGCGATCGCGCCAATATTTACGGTTAAGTTTTTAC
+TCAAACTTGAACGCGAGAAAAGCACCTGTCGGGTGCTTTTTTCATTTCTCTAATCTGGAACTGGAAGCTG
+CCTCGCAGAGTTTTGAGCAGTTTTCACCCTATCGTTAAATTCTTCTGAACGTGCCTCGGGGAACGCAAAA
+CTCCCACCAGACAACCGTTCAACAAAGTTGCACACTTTCTATAAACAGGGAGGGTGCATGAAAATAACGA
+CAGTCGGCGTATGCATAATTTGCGGAATTTTTCCGTTGCTGATTTTGCCCCAATTGCCAGGGACAGTAAC
+CCTTGCGTTTCTGACTCTCTTCGCCTGTGTACTGGCATTTATCCCTGTTAAAACCGTCCGTTATATCGCG
+CTGACGTTGCTGTTTTTCGTTTGGGGCATATTAGCAGCAAAGCAAATTTTGTGGGCAGGAGAAACCTTAA
+CTGGCGCGACGCAGGATGCAATTGTTGAGATCATTGCTACTGACGGCATGACCACTCATTACGGTCAAAT
+TACTCATCTACAAGGTCGACGTATATTCCCTGCGCCAGGCCTCGTACTGTATGGCGAATATCTTCCGCAA
+GCGGTTTGTGCCGGACAAGTATGGTCAATGAAACTCAAAGTTCGTGCAGTTCATGGTCAACTTAATGATG
+GCGGCTTTGATAGCCAGCGTTATGCCATTGCCCAGCATCAACCGCTCACCGGCCGTTTTCTGCAGGCAAG
+TGTCATTGAACCGAATTGTAGCCTGCGTGCACAGTATCTGGCGTCACTACAAACAACGCTGCAACCCTAT
+ATGTGGAACGCGGTTATTCTTGGATTAGGTATGGGGGAACGGTTATCCGTCCCCAAAGAAATCAAAAATA
+TCATGCGTGATACTGGAACGGCGCATTTAATGGCGATATCAGGATTGCACATCGCTTTTGCGGCGTTGCT
+GGCTGCAGGACTCATTCGCGGTGGGCAAGTTTTTCTGCCTGGGTGCTGGATCCACTGGCAAATGCCATTA
+ATTGGTGGAATCTGCTGTGCTGCTTTTTATGCCTGGCTTACGGGAATGCAACCTCCTGCATTGCGTACCG
+TGGTGGCGCTTGCCATTTGGGGAATGCTTAAGTTAAGTGGACGACAATGGAGTGGCTGGGATGTATGGAT
+ATGTTGTCTGGCGGCAATTTTGCTGATGGATCCTGTTGCCATTCTCTCGCAAAGTTTATGGCTCTCTGCC
+GCTGCGGTCGCGGCACTGATTTTTTGGTATCAGTGGTTTCCCTGTCCGGAGTGGCAGCTGCCGCCGGTAT
+TGCGCGCGGTTGTTTCCCTCATCCATCTGCAACTGGGAATCACCCTCCTGCTTATGCCCGTGCAAATTGT
+CATATTTCATGGCATTAGTCTGACCTCGTTTATTGCAAATCTTTTTGCAATTCCCCTGGTGACATTTATC
+ACGGTTCCGTTGATTCTCGCCGCGATGGTTGTGCATTTAAGCGGGCCGTTTATTCTGGAACAAGGGTTAT
+GGTTTCTTGCCGACCGGTCTTTGGCTTTACTTTTCTGGGGGTTAAAGAGTTTGCCGGAAGGGTGGATCAA
+CATTGCTGAACGTTGGCAATGGCTAACATTTTCCCCATGGTTCTTACTGGTGGTATGGCGATTAAACGCC
+TGGCGAACGTTGCCAGCAATGTGTGTGGCTGTAGGCTTGCTGATGTGCTTGCCGCTGTGGCAAAAACCTC
+GACCTGACGAGTGGCAAGTGTACATGCTTGATGTCGGGCAAGGGCTGGCAATGGTCATTGCGCGAAACGG
+CAAAGCGATTCTCTATGACACGGGACTGGCCTGGCCCGAAGGGGATAGTGGGCAACAACTGATTATCCCC
+TGGCTCCACTGGCATAATCTTGAACCGGAAGGCGTTATTTTGAGTCATGAACATCTGGATCACCGGGGAG
+GGCTGGACTCAATATTGCACACATGGCCGATGTTATGGATCCGAAGTCCGTTAAACTGGGAACATCATCA
+GCCCTGTGTGCGTGGCGAAGCGTGGCAATGGCAAGGATTGCGTTTCAGCGCGCACTGGCCTTTACAAGGT
+AGCAATGATAAAGGAAATAACCATTCCTGTGTGGTTAAGATTGATGACGGGACGAATAGCATTCTTCTAA
+CCGGTGATATTGAAGCCCCCGCTGAACAAAAGATGCTAAGCCGTTACTGGCAGCAAATGCAGGCAACATT
+ACTTCAGGTACCTCACCATGGCAGTAATACCTCATCATCGTTGCCATTAATTCAGCGAGTGAATGGAAAA
+GTGGCACTCGCATCGGCATCGCGCTATAACGCATGGCGACTGCCCTCAAGCAAAGTTAAACATCGCTATC
+AACAACAGGGCTATAAGTGGCTTGATACTCCACATCAGGGTCAAATAACGGTCAATTTTTCAGCGCAAGG
+CTGGCGGATTAGCAGCCTCAGAGAGCAAATTTTACCTCGTTGGTATCATCAGTGGTTTGGCGTGCCAGTG
+GATAACGGGTAGAATATGCGGCTATTTCAACAAATGCTGGTTTTTTGAATGCATAACGACAAAGATCTCT
+CTACGTGGCAGACGTTCCGCCGACTGTGGCCAACCATTGCGCCTTTTAAAGCGGGTCTGATCGTGGCGGG
+CGTAGCGTTAATCCTCAACGCAGCCAGCGATACCTTCATGTTATCGCTCCTTAAGCCACTTCTTGATGAT
+GGCTTTGGTAAAACAGATCGCTCCGTGCTGATGTGGATGCCGCTGGTGGTGATCGGGCTGATGATTTTAC
+GTGGTATCACCAGCTATATCTCCAGCTACTGTATCTCCTGGGTATCAGGAAAGGTGGTAATGACTATGCG
+TCGCCGCCTGTTTGGTCACATGATGGGAATGCCGGTTTCATTCTTTGACAAACAGTCAACGGGTACGCTG
+TTGTCACGTATCACCTACGATTCCGAACAGGTCGCTTCTTCTTCTTCCGGCGCACTGATTACTGTTGTGC
+GTGAAGGTGCGTCGATCATCGGCCTGTTCATCATGATGTTCTATTACAGTTGGCAACTGTCGATCATTTT
+GATTGTGCTGGCACCGATTGTTTCGATTGCGATTCGCGTTGTATCGAAGCGTTTTCGCAACATCAGTAAA
+AACATGCAGAACACCATGGGGCAGGTGACCACCAGCGCCGAACAAATGCTGAAAGGCCATAAAGAAGTAT
+TGATTTTCGGTGGTCAGGAAGTGGAAACGAAACGCTTCGATAAAGTCAGCAACCGAATGCGTCTTCAGGG
+GATGAAAATGGTTTCAGCCTCTTCCATCTCTGATCCGATCATTCAGCTGATCGCCTCTTTGGCGCTGGCG
+TTTGTTCTGTATGCGGCAAGCTTCCCAAGTGTCATGGATAGCCTGACTGCCGGTACGATTACCGTTGTTT
+TCTCTTCAATGATTGCACTTATGCGTCCGCTGAAATCGCTGACCAACGTTAACGCCCAGTTCCAGCGCGG
+TATGGCGGCTTGTCAGACGCTGTTTACCATTCTGGACAGTGAGCAGGAGAAAGACGAAGGTAAGCGCGTG
+ATCGAGCGTGCGACTGGCGACGTGGAGTTTCGCAATGTCACCTTTACTTATCCGGGACGTGATGTGCCCG
+CATTGCGTAACATCAACCTGAAAATTCCGGCAGGGAAGACGGTTGCTCTGGTTGGACGATCTGGTTCAGG
+TAAATCAACCATCGCCAGCCTAATCACACGTTTTTACGATATTGATGAAGGCGAAATCCTGATGGATGGT
+CACGATCTGCGCGAGTATACCCTGGCGTCGTTACGTAACCAGGTTGCTCTGGTGTCGCAGAATGTCCATC
+TGTTTAACGATACGGTTGCCAACAACATTGCTTACGCGAGGACTGAACAGTACAGCCGTGAGCAAATTGA
+AGAAGCTGCGCGTATGGCCTACGCCATGGACTTCATCAATAAGATGGATAACGGTCTCGATACAGTCATT
+GGTGAAAACGGCGTGTTGCTCTCTGGCGGTCAGCGTCAGCGTATTGCTATCGCTCGAGCCTTGTTGCGTG
+ATAGCCCGATACTGATTCTGGACGAAGCTACCTCGGCGTTGGATACCGAATCCGAACGTGCGATTCAGGC
+GGCACTGGATGAGTTGCAGAAAAACCGTACCTCTCTGGTGATTGCCCACCGCTTGTCTACCATTGAAAAG
+GCAGACGAAATCGTGGTTGTCGAGGATGGTGTCATTGTGGAACGCGGTACGCATAACGATTTGCTTGAGC
+ACCGTGGCGTTTACGCGCAACTTCACAAAATGCAGTTTGGCCAATGATCGAAAAAATCTGGTCTGGTGAA
+TCCCCTTTATGGCGGCTATTGCTGCCACTCTCCTGGTTGTATGGCCTGGTGAGTGGCGCGATCCGTCTTT
+GCTATAAACTAAAACTGAAGCGCGCCTGGCGTGCCCCCATACCGGTTGTCGTGGTTGGTAATCTCACCGC
+AGGCGGCAACGGAAAAACCCCGGTCGTTGTCTGGCTGGTGGAACAGCTGCAACAGCGCGGTATTCGCGTG
+GGGGTTGTATCGCGGGGATATGGTGGTAAGGCTGAATCTTATCCGCTGTTATTGTCGGCAGATACCACCA
+CAGCACAGGCGGGTGATGAACCTGTGTTGATTTATCAACGCACTGGCGCACCTGTTGCGGTTTCTCCCGT
+GCGTTCTGACGCGGTAAAAGCCATTCTGGCGCAACACCCTGATGTGCAGATCATCGTAACCGACGATGGT
+TTACAGCATTATCGTCTGGCGCGTGATGTGGAAATTGTCGCTATTGATGGTGTGCGTCGCTTTGGCAATG
+GCTGGTGGTTGCCGGCGGGGCCAATGCGTGAGCGAGCGGGGCGCTTAAAGTCGGTTGATGCGGTAATCGT
+CAACGGCGGTGTCCCCCGCAGCGGTGAAATCCCCATGCATCTGCTGCCGGGTCAGGCGGTGAATTTACGT
+ACCGGTACGCGTTGTGACGTTGCTCAGCTTGAACATGTGGTGGCGATTGCGGGGATTGGGCATCCGCCGC
+GCTTTTTTGCCACGCTGAAGATGTGCGGCGTACAACCGGAAAAATGTGTACCGCTGGCCGATCATCAGTC
+TTTGAATCATGCGGATGTCAGCGCGTTGGTAAGCGCCGGACAAACGCTGGTAATGACTGAAAAAGATGCG
+GTGAAATGCCGGGCCTTTGCAGAAGAAAATTGGTGGTATTTGCCTGTAGACGCACAGCTTTCAGGTGATG
+AACCAGCGAAACTGCTTGCGCAACTAACCTCGCTGGCTTCTGGCCACTAGTTACGCCGCGGCAGCGTTCG
+ATTGATGGAGTCATGAATGTCGCTGCCGCACCTCTCCCTTGCTGATGCGCGTAATCTTCACCTTGCCGCG
+CAAGGCCTGTTAAACAAACCCCGCCGTCGAGCGTCGTTGGAGGATATTCCGGCAACGATCTCCCGCATGT
+CCTTGCTGCAAATCGATACCATCAATATTGTTGTCTGTAGCCCATATCTGGTGCTTTTCAGCCGTCTGGG
+AGATTATCCTGCGCAGTGGCTGGATGAGTCTCTGGCGCGTGGAGAATTAATGGAATACTGGGCGCATGAA
+GCCTGCTTTATGCCGCGTAGCGATTTTCGTCTTATTCGCCACCGCATGCTGGCACCTGAAAAAATGGGCT
+GGAAATATAAAGGCGCCTGGATGCAGGAACATGCGGCGGAAATTGCACTGTTAATTCAGCATATTCATGA
+TAAGGGGCCGGTACGTTCAGCCGATTTTGAGCATCCTCGTAAAGGGGCGAGCGGCTGGTGGGAGTGGAAG
+CCGCATAAACGACATCTGGAAGGTTTATTTACTGCCGGAAAGGTGATGGTGATTGAACGGCGCAACTTCC
+AGCGCGTTTATGATTTAACTCACCGTGTCATGCCTGACTGGGATGATGAGCGCGATCTCGTTTCGCAAGC
+AGAAGCAGAAATCATCATGCTGGATAACAGTGCGCGTAGCCTGGGAATATTTCGCGAACAGTGGCTGGCA
+GATTACTACCGGCTAAAACGTCCGGCACTGGCGGCGTGGCGTGAAGCGAGGGCTGAACAGCAGCAAATCA
+TTGCTGTGCATGTTGAAAAATTGGGTAATCTTTGGCTGCATGCTGATTTGCTGCCGCTACTCGAGCGTGC
+GCTCGCCGGAAAGCTCACTGCAACGTACAGCGCGGTACTTTCGCCTTTTGATCCTGTTGTCTGGGATCGC
+AAACGCGCGGAGCAGCTTTTTGATTTTAGCTACCGACTGGAGTGCTATATCCCAGCGCCGAAACGCCAGT
+ATGGCTATTTTGTTCTGCCGTTATTACATCGTGGGCAATTAGTTGGGCAAATGGATGCCAAAATGCATCG
+CCAGACAGGCATCCTTGAAGTTATCTCTCTGTGGTTACAGGAAGGCATTAAACCAACGACAACGCTGCAA
+AAAGGGTTACGTCAGGCGATTACTGATTTCGCTAACTGGCAGCAGGCAACGCGGGTGACATTAGGACGCT
+GCCCGCAAGGCCTCTTTACTGATTGCCGCGCCGGCTGGGAAATAGACCCCGTCGCATAAATGATTATGAT
+AAGATTTATGCATTCATAACCCGATCCATCTGGAGGAACTATGGATCATCGTCTGCTTGAAATCATTGCC
+TGCCCGGTTTGCAACGGAAAACTTTGGTATAACCAGGAAAAACAAGAGCTTATTTGCAAACTGGACAACC
+TGGCTTTCCCGCTGCGCGATGGCATTCCAGTGTTGCTGGAAACGGAAGCCCGCGTGCTGACTGCTGATGA
+GAGTAAATCATGAGTTTTGTGGTCATTATTCCCGCGCGTTACGCGTCCACGCGTCTGCCCGGTAAACCAT
+TGGTTGATATTAACGGCAAACCCATGATTGTTCATGTTCTTGAACGCGCGCGCGAATCAGGTGCCGAGCG
+CATCATCGTGGCAACCGATCATGAGGATGTTGCCCGCGCTGTTGAAGCCGCTGGCGGCGAAGTATGTATG
+ACGCGCGCCGATCATCAGTCAGGTACAGAACGATTGGCGGAAGTTGTCGAAAAATGCGCATTCAGCGACG
+ACACTGTGATCGTTAATGTGCAGGGTGATGAACCGATGATCCCTGCGACAATCATTCGTCAGGTTGCTGA
+TAACCTCGCTCAGCGTCAGGTGGGTATGGCGACTCTGGCGGTGCCAATCCACAATGCGGAAGAAGCGTTT
+AACCCGAATGCGGTGAAAGTGGTTCTCGACGCCGAAGGGTACGCACTGTACTTCTCTCGCGCCACCATTC
+CGTGGGATCGTGATCGTTTTGCAAAAGACCTTGAAACCGTAGGCGATAACTTCCTGCGTCATCTTGGTAT
+TTATGGCTACCGAGCAGGCTTTATCCGTCGTTATGTTACCTGGCAGCCAAGTCCGTTAGAACATATCGAA
+ATGTTAGAGCAGCTTCGTGTTCTGTGGTACGGCGAAAAAATCCACGTTGCTGTCGCCCAGGAAGTTCCTG
+GCACAGGTGTGGATACCCCTGAAGATCTCAAGCGCGTTCGCGCCGAAATGCGCTAATTTCACTTCACGAC
+ACTCCAGCCAATTTTGGGAGGAGTGTCGTACCGTTACGATTTTCCTCAATTTTTCTTTTCAACAATTGAT
+CTCATTCAGGTGACATCTTTTATATTGGCGCTCATTATGAAAGCAGTAGCTTTTATGAGGGTAATCTGAA
+TGGAACAGCTGCGTGCCGAATTAAGCCATTTACTGGGCGAAAAACTCAGTCGTATTGAGTGCGTCAATGA
+AAAAGCGGATACGGCGTTGTGGGCTTTGTATGACAGCCAGGGAAACCCAATGCCGTTAATGGCAAGAAGC
+TTTAGTGCGCCCGGAAAAGCCCGACAACTGGCATGGAAAACCACCATGCTGGCAAGAAGTGGGACTGTCC
+GTATGCCGACTATTTATGGTGTGATGACGCATGAAGAACACCCCGGCCCCGATGTCCTGCTACTGGAGCG
+AATGCGTGGTGTTTCGGTGGAGGCACCAGCCCGAACACCAGAACGCTGGGAACAACTCAAAGATCAAATC
+GTTGAAGCCTTACTGGCCTGGCACCGTCAGGACAGTCGTGGTTGCGTCGGCGCGGTCGACAATACTCAGG
+AAAATTTCTGGCCCTCATGGTACCGGCAACATGTTGAAGTGCTATGGACCACGCTCAATCAGTTCAATAA
+CACCGGTCTAACGATGCAGGATAAGCGGATCCTGTTTCGCACTCGCGAATGTCTCCCGGCATTATTTGAA
+GGCTTTAACGACAATTGTGTACTGATTCACGGTAACTTCTGTTTACGTAGCATGCTGAAAGATTCGCGCA
+GCGATCAGTTACTGGCGATGGTCGGACCGGGACTAATGCTTTGGGCACCGCGAGAATACGAACTGTTCCG
+ACTAATGGATAATTCTCTGGCGGAAGATTTGCTCTGGAGTTATCTGCAACGCGCGCCAGTGGCGGAGTCG
+TTCATCTGGCGGCGTTGGTTGTATGTGTTATGGGATGAAGTTGCGCAACTGGTCAACACCGGACGATTTA
+GTCGGCGTAACTTCGATCTGGCATCAAAATCACTCTTGCCGTGGCTCGCCTGACGAACCTTTCAGCCACT
+GCCAGATTCGGCCAAGCGTTTCATAGCCAACGCGGTCGCTATGCATCAACCAAACCGGAGAAGGGATTGC
+CCGTTCCCACGGATTAAGCGGCGAGTCGATGGCCAACTGATTCGCCGGGGCTGGTAGCGGATTTAACCCT
+TCCTGCTGAAAAAAGATCATCGCCCGCGGCAGATGTGATGCGGAGGTCACCAGCAGGAAAGGTGCGTCAC
+CAATCGCCTGTTTCACTGCTGCAGCTTCTTCTTCGGTATCTTTTGGCAAATCCAGGGTGATAATTTGCTC
+GCGCGGCACGCCCAGCGATTGCGCAACTCTGGCACCTACTTCGGCTGTGCTCACCGTATTGGTTTTAGCT
+ACGCCTCCCGTAAAGATCAGTTTTGATCCCGGATTTTCGCGCCATAAGCGAATACCTTCATTCAGGCGTG
+GCAGACTGTTATTGATTAAATTAGAGCTCGGCGCCCACTGCGGGTTCCAGGTATAACCACCTCCGAGCAC
+CACGATATAGTCCACTTTTTGCGAATTATTCCATGTCGGATAAGTGCTTTCGATGGGACGCAACAGGCGG
+TCGGCTATCGGTTGCAAACTCAATAACAAGAGCGCCAGCCACCCAATGCTAATAAAAATCTTCCCGGTTT
+TTTGAAAACGGCTAAACCACAGCAGCGCCAGGCCAGCGCCAATAATCAACAACATCAGCGGAAGTGGCAG
+CAACATATTGCCAATCACTTTTTTCAGTGTAAAAAGCATCCTTTCTGGTTCCTTTTTTGACCATATAGCA
+AGGGATCGCCAGCGATATTACACCAGACGGGTTCATTCTCGCCGTGGCTGTGACAAAATAGCGTCTTTAT
+CAGAAAACGTCTTAGCCAACCGGTGGAGAAAGCAATGCAGGATCGCAATTTTGATGATATTGCGGAAAAG
+TTTTCCCGTAACATTTACGGCACCACCAAAGGGCAGCTTCGACAGGCTATTCTGTGGCAGGATCTCGATC
+GCGTGCTGGCGGAAATGGGCCCGCAAAAACTGCGTGTGCTGGATGCTGGCGGCGGAGAAGGGCAGACCGC
+AATCAAAATGGCCGAGCGTGGGCATCAGGTCATTTTATGCGATCTTTCTGCGCAGATGATCGACCGCGCA
+AAACAGGCGGCAGAAGCAAAAGGTGTGAGCGACAACATGCAATTTATACATTGCGCCGCTCAGGATGTTG
+CTTCGCATTTGGAAACGCCCGTTGATCTGATATTGTTCCATGCGGTGCTCGAGTGGGTGGCCGATCCCCG
+CAGCGTATTACAGACCCTGTGGTCAGTGTTGCGTCCAGGCGGCGTATTGTCGTTAATGTTCTACAATGCG
+CATGGTTTGTTGATGCATAACATGGTCGCCGGGAATTTTGATTACGTGCAGGCGGGAATGCCGAAAAAGA
+AAAAACGGACGCTTTCGCCAGATTATCCACGCGACCCGGCGCAGGTTTATCTGTGGCTGGAAGAAGCTGG
+TTGGCAAATTATGGGTAAGACAGGCGTTCGCGTGTTTCATGATTATCTGCGCGAGAAGCACCAGCAGCGC
+GACTGCTATGAAGCATTACTTGAATTAGAAACGCGTTATTGCCGTCAGGAACCGTATATTACCCTGGGGC
+GTTATATTCATGTCACCGCGCGCAAACCGCAGAGCAAGGATAAAGTATGAGTGAATTTTCCCAGACAGTC
+CCCGAACTGGTTGCCTGGGCCAGAAAAAATGACTTCTCCATCTCGCTGCCGGTAGACCGACTCTCTTTTC
+TGCTGGCGGTTGCCACGCTGAACGGCGAGCGTCTGGATGGTGAGATGAGTGAAGGCGAGCTGGTGGATGC
+ATTCCGCCATGTGAGTGATGCGTTTGAGCAAACCAGCGAAACCATCGGCGTGCGCGCCAACAACGCGATC
+AACGACATGGTGCGTCAACGTCTGCTGAACCGCTTTACCAGCGAGCAGGCGGAAGGGAACGCGATTTACC
+GTCTGACGCCGCTCGGCATCGGCATCACTGACTATTACATTCGTCAGCGCGAGTTTTCTACGCTGCGCCT
+TTCTATGCAATTGTCGATTGTGGCGGGTGAGCTCAAGCGCGCAGCAGATGCTGCCGAAGAGGGCGGTGAT
+GAATTTCACTGGCACCGTAATGTTTATGCGCCACTGAAATATTCGGTAGCAGAAATTTTCGACAGTATCG
+ACCTGACGCAACGTCTGATGGATGAACAGCAGCAGCAGGTGAAGGATGATATCGCCCAGTTGTTGAACAA
+AGACTGGCGTGCGGCGATTTCCAGCTGTGAATTGTTGCTTTCAGAAACTTCCGGAACGCTGCGTGAATTG
+CAGGATACGCTGGAAGCGGCAGGCGATAAATTGCAGGCCAACCTGTTACGCATTCAGGATGCGACGATGA
+CCCATGACGACCTGCATTTTGTCGATCGTCTGGTGTTCGATCTTCAGAGCAAACTCGACCGTATTATCAG
+TTGGGGCCAGCAATCCATCGACTTGTGGATTGGCTACGACCGCCACGTACACAAATTTATTCGTACTGCG
+ATCGATATGGATAAAAACCGCGTCTTTGCTCAGCGGTTACGTCAGTCGGTACAAACCTATTTTGATGAGC
+CGTGGGCGCTAACTTATGCCAATGCCGATCGTCTGCTGGATATGCGTGACGAAGAGATGGTACTGCGCGA
+TGAAGAAGTGACTGGGGAACTTCCTGAGGATCTGGAGTACGAAGAGTTTAACGAGATCCGCGAACAGCTG
+GCGGCGATCATCGAAGAACAACTTGCCGTGTACAAAACCAGACAAGTGCCGTTGGATCTTGGTCTGGTGG
+TACGCGAATATCTGTCACAGTATCCGCGTGCACGTCACTTTGACGTTGCGCGCATTGTTATTGATCAGGC
+GGTACGTCTTGGCGTAGCGCAAGCAGATTTCACCGGACTGCCAGCGAAATGGCAGCCGATTAATGATTAC
+GGAGCCAAGGTACAGGCGCATGTCATCGACAAATATTGAACAAGTGATGCCGGTTAAGCTGGCGCAGGCG
+CTGGCGAATCCGTTATTTCCGGCGCTGGATAGCGCCTTACGTTCAGGCCGTCATATTGGCCTCGACGAAC
+TGGATAATCATGCATTCCTGATGGATTTTCAGGAATATCTGGAAGAGTTTTACGCGCGTTATAACGTTGA
+GCTTATTCGTGCACCGGAAGGGTTCTTCTATCTACGCCCACGTTCCACCACGCTGATCCCTCGTTCCGTC
+TTGTCGGAACTGGATATGATGGTCGGGAAAATCCTCTGTTATCTCTATCTCAGCCCGGAACGGCTGGCGA
+ATGAGGGGATTTTTACTCAACAGGAACTGTACGATGAACTGCTCACCCTGGCCGATGAAGCGAAACTGCT
+GAAACTGGTGAACAACCGTTCAACCGGTTCAGACGTTGACCGTCAGAAGTTGCAGGAAAAAGTACGTTCT
+TCGCTCAACCGTCTGCGTCGTTTAGGCATGGTGTGGTTTATGGGCCACGACAGCAGCAAGTTCCGCATTA
+CCGAATCGGTGTTCCGCTTCGGCGCCGATGTGCGTGCTGGCGACGATCCCCGTGAAGCACAGCGTCGCCT
+GATTCGTGATGGTGAAGCAATGCCGATTGAAAATCATCTGCAACTCAACGATGAAACCGAAGAGAGTCAG
+CCAGATAGCGGAGAGGAAGAATAATGATTGAACGCGGTAAATTTCGCTCACTGACGCTGATTAACTGGAA
+CGGCTTTTTTGCCCGAACTTTTGACCTTGACGAGCTGGTCACGACGCTTTCTGGCGGTAACGGGGCGGGT
+AAATCCACCACCATGGCGGCGTTCGTTACGGCGCTTATCCCCGATCTGACCCTGCTGCATTTCCGTAACA
+CTACGGAAGCCGGGGCCACCAGCGGTTCGCGCGATAAAGGTCTGCACGGTAAGCTGAAAGCGGGTGTCTG
+TTATTCGATGCTTGACACCATTAACTCGCGCCACCAGCGTGTAGTGGTCGGTGTGCGTCTGCAACAGGTT
+GCCGGACGCGATCGTAAAGTGGATATCAAACCATTTGCCATTCAGGGCCTGCCGATGTCGGTGCAGCCGA
+CACAACTGGTGACCGAAACTCTGAACGAACGCCAGGCGCGCGTGCTGCCGCTTAATGAGCTGAAAGACAA
+GCTCGAGGCGATGGAAGGCGTGCAGTTTAAGCAGTTCAACTCCATTACCGATTACCACTCGCTGATGTTC
+GATCTGGGCATCATCGCGCGTCGTCTGCGCTCAGCGTCTGACCGTAGTAAATTCTATCGTCTGATCGAAG
+CCTCGCTGTATGGCGGGATCTCCAGCGCCATTACTCGTTCTCTGCGCGACTACCTGTTGCCGGAAAACAG
+CGGGGTGCGGAAAGCGTTCCAGGACATGGAAGCGGCGCTGCGTGAAAACCGCATGACGCTGGAAGCGATT
+CGTGTCACCCAGTCGGACCGTGACCTGTTTAAGCATCTGATCAGCGAAGCCACCAACTACGTGGCGGCGG
+ACTACATGCGTCACGCCAACGAGCGCCGTGTTCATCTCGATAAGGCCCTGGAGTTTCGTCGCGAGCTACA
+TACTTCGCGTAAGCAACTGGCGGCTGAGCAGTACAAACACGTCGACATGGCGCGAGAGCTGGCTGAGCAC
+AACGGTGCCGAAGGCGATCTGGAAGCGGATTATCAGGCGGCCAGCGATCACCTGAACCTGGTGCAAACCG
+CACTGCGTCAGCAGGAGAAGATCGAACGCTACGAAGCGGATCTCGATGAGCTGCAGATCCGTCTGGAAGA
+GCAAAACGAAGTGGTGGCAGAAGCCATCGAACGCCAGGAAGAGAACGAGGCTCGTGCGGAAGCTGCCGAA
+CTGGAAGTGGACGAGCTGAAAAGCCAGCTTGCTGACTACCAGCAGGCGCTGGACGTCCAGCAAACGCGCG
+CGATCCAGTATAACCAGGCGATTGCTGCGCTTAATCGTGCCAAAGAACTGTGCCATCTGCCGGACTTAAC
+CGCCGACAGCGCTGCCGAATGGCTGGAAACCTTCCAGGCGAAAGAGCTGGAAGCGACCGAAAAAATGCTC
+TCTCTTGAGCAGAAAATGAGCATGGCGCAAACCGCGCACAGCCAGTTTGAGCAGGCTTATCAGCTGGTGG
+TGGCAATCAACGGCCCGCTGGCGCGTAACGAGGCGTGGGATGTCGCTCGCGAACTATTGCGCGAAGGGGT
+CGATCAGCGTCACCTGGCAGAGCAGGTTCAGCCGTTGCGGATGCGCTTAAGCGAACTGGAACAGCGTCTG
+CGTGAGCAGCAAGAAGCTGAGCGTCTGCTGGCAGATTTCTGCAAACGTCAGGGCAAGAATTTTGATATTG
+ATGAACTGGAAGCTCTGCATCAGGAGCTGGAAGCACGCATTGCCTCTCTTTCCGATAGCGTCTCTAACGC
+CCGAGAAGAGCGGATGGCACTGCGCCAGGAGCAGGAACAGCTGCAGTCTCGCATTCAGAGTTTGATGCAG
+CGTGCGCCGGTTTGGCTGGCAGCGCAAAACAGTCTCAACCAGTTGAGCGAACAGTGCGGCGAAGAGTTCA
+CCTCCAGCCAGGATGTCACCGAATTTCTGCAACAGTTGCTGGAGCGCGAGCGCGAGGCAATTGTTGAACG
+CGATGAAGTAGGCGCGCGCAAAAACGCCGTCGATGAAGAGATCGAACGTTTAAGCCAGCCAGGTGGTTCT
+GAAGATCAGCGTCTGAACGCGCTGGCGGAGCGTTTTGGTGGTGTGCTGCTGTCAGAAATTTATGACGACG
+TTAGCCTGGAAGATGCGCCGTACTTCTCAGCACTGTATGGCCCGTCACGCCACGCCATCGTGGTGCCAGA
+TCTGTCACAGGTAACCGAACACCTGGAAGGCTTGACCGATTGCCCGGAAGATCTCTATTTGATCGAAGGG
+GATCCGCAGTCATTCGATGACAGCGTGTTCAGCGTTGATGAGCTGGAAAAAGCGGTGGTGGTGAAAATCG
+CCGATCGTCAGTGGCGTTATTCACGTTTCCCGGAAGTGCCGCTGTTTGGTCGTGCTGCGCGTGAAAGCCG
+TATTGAAAGCCTCCATGCCGAGCGGGAAGTGCTTTCCGAACGCTTCGCCACGCTCTCCTTTGATGTACAG
+AAAACCCAGCGTCTGCATCAGGCGTTCAGCCGCTTTATCGGCAGTCATCTGGCGGTGGCGTTTGAGTCTG
+ACCCGGAAGCAGAAATCCGTCAACTGAACAGCCGTCGCGTCGAACTGGAACGGGCGTTGAGTAATCATGA
+AAATGATAACCAGCAGCAGCGTATTCAGTTTGAGCAGGCGAAAGAGGGCGTTACGGCGCTGAACCGCATT
+CTGCCGCGTCTCAACCTGTTGGCTGATGACAGCCTGGCGGATCGCGTCGATGAAATCCGCGAACGTCTGG
+ATGAAGCCCAGGAAGCCGCGCGTTTTGTTCAGCAGTTTGGCAATCAACTGGCGAAACTGGAACCGATCGT
+TTCGGTATTGCAGAGCGACCCGGAACAGTTCGAACAGTTAAAAGAAGATTACGCGTACTCTCAGCAGATG
+CAGCGCGATGCCCGTCAGCAGGCGTTTGCCCTGACGGAAGTGGTGCAGCGTCGTGCGCACTTTAGCTACT
+CTGACTCGGCAGAAATGCTTAGCGGTAACAGCGATCTCAACGAAAAACTGCGTGAACGTCTGGAACAGGC
+GGAAGCGGAGCGTACCCGCGCTCGTGAAGCGTTGCGCGGACACGCAGCGCAGTTGAATCAGTACAACCAG
+GTGCTGGCTTCGCTGAAAAGTTCGTATGACACCAAAAAAGAGCTACTTAACGATCTGCAACGTGAATTGC
+AGGATATCGGCGTGCGTGCTGATAGCGGGGCAGAAGAGCGGGCACGTATTCGCCGTGACGAGTTGCACGC
+GCAACTGAGCAATAACCGTTCACGACGCAATCAACTGGAAAAAGCGCTTACATTCTGCGAAGCGGAGATG
+GACAACCTGACCCGTAAACTGCGCAAGCTGGAGCGGGATTACTTTGAGATGCGCGAGCAGGTAGTGACCG
+CCAAAGCGGGCTGGTGTGCGGTGATGCGCATGGTGAAAGATAATGGCGTTGAGCGTCGCTTACACCGTCG
+TGAGCTGGCTTATCTCTCCGCTGATGATTTGCGTTCCATGTCGGATAAGGCGTTAGGTGCGCTGCGTCTG
+GCGGTGGCAGATAACGAACATCTGCGCGACGTGCTGCGGATGTCGGAAGATCCAAAACGTCCGGAACGTA
+AAATTCAGTTCTTCGTGGCGGTTTATCAGCATCTGCGTGAACGTATTCGTCAGGATATTATTCGTACCGA
+TGATCCGGTGGAAGCTATCGAACAGATGGAGATCGAGCTTAGCCGTCTGACCGAAGAATTAACCTCCCGT
+GAACAGAAACTGGCGATCAGTTCCCGCAGCGTGGCGAACATCATTCGCAAAACCATTCAGCGCGAGCAGA
+ACCGTATCCGTATGCTCAACCAGGGGTTGCAGAACGTATCGTTTGGCCAGGTGAACAGCGTACGTCTGAA
+CGTGAACGTACGTGAAACGCACGCCATGCTGCTGGATGTGCTCTCTGAACAGCACGAGCAGCATCAGGAT
+CTGTTTAACAGCAACCGCCTGACCTTCTCAGAAGCGCTGGCGAAACTGTATCAACGTCTTAACCCGCAGA
+TTGATATGGGGCAGCGCACGCCGCAGACCATCGGTGAAGAACTGCTGGATTACCGCAACTATCTGGAAAT
+GGAAGTTGAGGTTAACCGTGGTTCCGATGGCTGGTTGCGTGCAGAGTCTGGTGCATTGTCGACCGGTGAG
+GCGATTGGTACCGGTATGTCGATTCTGGTGATGGTGGTACAAAGCTGGGAAGATGAATCTCGCCGCCTGC
+GCGGTAAAGATATCTCTCCTTGCCGCCTGCTGTTCCTCGATGAAGCAGCGCGACTGGATGCTCGTTCTAT
+CGCCACGCTGTTTGAATTGTGTGAACGTTTGCAAATGCAGCTCATCATCGCAGCGCCGGAAAATATCAGT
+CCGGAAAAAGGCACCACCTATAAACTGGTGCGTAAAGTCTTCCAGAATACCGAACACGTTCACGTCGTCG
+GCCTGCGAGGATTTGCGCCGCAACTCCCTGAAACGCTTCCAGGAAGTGACGAAGCGCCTTCCCAGGCGAG
+TTAAAATGAAGGCGGCAGCAATGCCGCCTTTTCTTTTTCCGAAAACTCCGTTTCTGCACTAAAAAAGTGG
+CACATTACGGCGCGCTTTTCTTTAAACTTCTTTACATTAGGTTATGTAAAAACGTATCGGCGTTTATATA
+CTGAAGATAAGCCTGATGAGTAACAGGCTTGCTCGTCATACTTTCGTGAGTATTGGCGTTGTACAGGCAA
+GTCGTAAAATAACAGCCTGGCTATTCAGAGTATGATAAAAACAGGGGGCAAGGGATGTTGCTTAATATGA
+TGTGTGGTCGTCGGCTGTCGGCAATCAGTTTGTGCCTGGCCGTAACATTCGCTCCACTGTTCAATGCGCA
+GGCCGATGAGCCTGAAGTAATCCCTGGCGACAGCCCGGTGGCTGTCAGTGAACAGGGCGAGGCACTGCCG
+CAGGCGCAAGCCACGGCAATAATGGCGGGGATCCAGCCATTGCCTGAAGGTGCGGCAGAAAAAGCCCGCA
+CGCAAATCGAATCTCAATTACCCGCAGGTTACAAGCCGGTTTATCTTAACCAGCTTCAACTGTTGTATGC
+CGCACGCGATATGCAACCCATGTGGGAAAACCGTGATGCTGTTAAAGCCTTCCAGCAACAGCTGGCAGAG
+GTGGCGATTGCCGGTTTCCAGCCGCAGTTTAATAAATGGGTAGAGTTACTGACCGATCCTGGTGTTAACG
+GGATGACACGCGACGTGGTGCTCTCTGATGCGATGATGGGCTATCTCCATTTCATTGCAAATATTCCGGT
+CAAAGGCACTCGCTGGCTATATAGCAGTAAACCTTATGCGCTTTCAACGCCGCCGCTTTCGGTGATTAAC
+CAATGGCAGCTGGCGCTGGATAAAGGTCAATTGCCGACGTTTGTTGTAGGATTGGCACCGCAGCATCCGC
+AATATGCGGCGATGCATGAATCGTTACTGGCCTTACTCAGTGACACCAAACCGTGGCCCCAACTGACCGG
+CAAAGCAACGTTGCGCCCAGGACAGTGGAGTAACGACGTACCGGCGTTGCGCGAAATATTGCAACGTACA
+GGCATGTTGGACGGGGGACCGAAAATTACGCTACCTGGCGATGACACGCCAACTGACGCGGTAGTCAGCC
+CATCCGCTGTTACTATTGAAACAGCAGAAACTAAGCCGATGGACAAGCAAACTACGTCTCGTAGTAAACC
+TGTGCCTGTCGTTCGTGCCGCCTACGATAATGAACTGGTGGAAGCCGTTAAACGTTTTCAGACATGGCAA
+GGATTGGGAGCAGATGGTGCTATTGGCCCGGCAACGCGTGACTGGTTAAACGTAACGCCCGCCCAGCGTG
+CTGGCGTGTTGGCACTCAACATCCAGCGATTGCGCTTGCTGCCAACAGAGCTTTCTACCGGGATCATGGT
+TAACATTCCGGCCTATTCGCTGGTCTACTATCAGAACGGCAATCAGGTGCTGGATTCGCGAGTCATTGTC
+GGTCGCCCCGATCGCAAAACGCCGATGATGAGCAGTGCCCTTAACAACGTGGTGGTAAACCCGCCGTGGA
+ACGTACCACCAACTCTGGCACGCAAAGATATTCTGCCGAAAGTGCGCAATGATCCTGGGTATCTCGAAAG
+CCATGGCTATACGGTGATGCGCGGCTGGAACAGCAGAGAAGCGATTGACCCATGGCAGGTTGACTGGTCT
+ACAATCACGGCCTCGAATTTACCGTTCCGCTTCCAGCAGGCTCCAGGCCCACGGAACTCGCTGGGGCGCT
+ATAAATTCAATATGCCGAGTTCAGAGGCCATTTATTTGCATGACACGCCGAACCACAATCTGTTCAAGCG
+TGATACACGCGCATTGAGCTCAGGCTGTGTACGAGTGAATAAAGCTTCCGATCTGGCGAATATGCTGTTG
+CAGGATGCAGGCTGGAATGACAAACGTATTTCTGATGCGCTGAAGCAGGGCGATACGCGTTACGTCAATA
+TTCGGCAGTCGATTCCGGTGAATCTCTACTATCTGACGGCCTTTGTTGGTGCAGATGGTCGTACCCAGTA
+TCGTACAGATATTTACAATTATGATCTGCCTGCGCGATCCAGCTCGCAAATTGTATCGAAAGCGGAACAA
+TTAATCAGGTAAATGAAGTAGTTCGGGGAAATCAGTTGTCGTAATAATTAGCATGATCGGGGGGCGATTC
+TCTGTAGCCCCCGTCACTGCTGGGGTTGAGTCATCTTGACGTCTGCTTTACGGGCGGTTAAGGTGCCTCT
+TGTGCGCCAGAAGTGCATATAAACGATAACATTGACCTGTAGACTTGATTATCATGGACAAATTCGACGC
+TAATCGCCGCAAACTGCTGGCGCTTGGTGGCGTTGCACTCGGTGCCGCCATCCTGCCGACCCCGGCGTTT
+GCAACACTCTCTACCCCACGCCCGCGCATTTTGACACTCAATAATCTTCATACCGGAGAGTCAATCAAAG
+CGGAGTTTTTCGATGGCAGAGGCTATATTCAGGAAGAATTGGCAAAACTTAACCATTTTTTCCGCGATTA
+CCGCGCGAACAAAATAAAGTCCATCGACCCAGGATTATTCGACCAGTTGTATCGCCTGCAAGGGTTGTTA
+GGCACCCGCAAACCGGTGCAACTCATTTCCGGTTATCGTTCCATTGATACCAACAATGAACTACGCGCCC
+GCAGCCGTGGAGTAGCGAAGAAAAGCTATCACACTAAAGGCCAGGCGATGGATTTCCACATTGAAGGTAT
+CGCGTTAAGCAATATTCGCAAAGCCGCGTTATCTATGCGCGCAGGTGGTGTAGGATATTACCCACGTAGT
+AACTTTGTGCATATTGATACCGGGCCAGCACGGCACTGGTAGTAATCACTTAACGAAACAGGGGCAGTAT
+GAACTATCGTATTATTCCGGTCACCGCATTCTCCCAGAACTGTTCATTGATCTGGTGTGAACAAACCCGT
+CTGGCCGCACTGGTCGATCCTGGCGGCGATGCGGAAAAAATCAAACAGGAAGTTGATGCCAGCGGCCTGA
+CACTGATGCAGATCCTGCTGACTCATGGTCATCTGGACCACGTTGGCGCAGCGGCGGAACTGGCGCAACA
+TTACGGCGTGCCGGTTTTTGGCCCGGAAAAAGAAGATGAGTTCTGGCTGCAAGGCTTGCCTGCGCAAAGT
+CGTATGTTTGGTCTGGAAGAGTGCCAGCCGCTGACGCCAGATCGTTGGCTGAACGAAGGCGATACCATCA
+GCATAGGGAATGTGACTTTACAGGTGTTACATTGCCCTGGGCATACGCCGGGTCATGTCGTGTTTTTTGA
+TGATCGGGCAAAGCTGCTGATTTCTGGCGACGTTATTTTCAAAGGTGGAGTAGGGCGCAGTGACTTCCCG
+CGTGGCGATCATAATCAACTGATTTCTTCAATCAAAGATAAATTGCTGCCACTGGGGGATGACGTGACAT
+TTATTCCGGGTCACGGACCATTATCCACACTTGGTTATGAGCGCCTGCATAATCCCTTCCTGCAAGACGA
+AATGCCCGTCTGGTAAAGGTGCATAAAAAAGCCCGCTTTCAAGCGGGCTTCATCGGTTTTAACGCTTACA
+GCACTGCCACAATCGCTTCGCACAGCGGCGCCATGTTATCTGGTGTCATCCCAGCTACGTTTACGCGACC
+AGAAGCAACAGCATATACGCCAAACTCTTCGCGCAGACGCAGCACTTGTTCTTTTGTCAGGCCACTGAAG
+GAGAACATGCCGTTCTGTTTGATGATAAAGCTGAAGTCGCGATTTGCGCCTTTTTCCTGCAGCGTATTGA
+CGAACAACTGACGCATACGCTGAATACGCTGGCGCATATCAGTCAGTTCTTGTTCCCAAATCGCACGTAA
+CGCATCGTTGCTCAGGATGGTGGCAACAACAGAAGCGCCGTGTGCTGGTGGGTTAGAGTAGTTAGCACGA
+ATCGCCGCTTTCATTTGGCTGAATGCGCGTTCAACAGTTTCACTGTCAGCAGCAACCAGAGTACAAGCGC
+CAACACGCTCGTTGTACAGGCCAAAGTTTTTAGAGTAGGAACTGGCAACAATCAGCTCCTTATGCAGAGC
+CGCGAAAGCGCGCAGTCCTTCAGCATCTTCTTCCAGACCACGGGCAAAACCCTGGTAAGCGAAGTCAAAC
+AGCGGTAACCAGCCTTTCTCAACGGAGAGTTGTGCCAGTGTCTGCCATTGTTCCAGCGTAGGGTCGATGC
+CGGTTGGGTTATGGCAGCAGCCATGGAACAGCACTACGTCGCCAGCCTGGGCTTCGTTCAGGCTGTTAAT
+CAGTGCATCGAAGTCAAGAGTGTGATTTTCCGCATCATAATAAGCGTATTCACGAACTTCCAGACCTGCA
+GAGTTAAAGACGCTCTTATGGTTCGGCCAGCTTGGGTTGCTCACCCACACACGCTTAACGCTGGTATTTT
+TTGCCAGGAAATCGGCAGCCACGCGTAGTGCGCCAGTGCCACCCGGAGTCTGTGCCGTGCGAGCACGTTT
+GTCATTGATCAGGGCGCTACCTTTACCAAACAGCAGTTCCTGAGTGCAGCGACCAAATTCAGGGATGCCG
+TCAATGCCGAGGTAATTTTTGGTGGTTTCATTTTCGAGCAGATACTGTTCAGCCTTTTTCACGCTGGTCA
+GTACCGGGGTTTTACCCGTCTCATCTTTATAGACACCAATCCCGAGGTTAATTTTGCCGGGACGTTCATC
+GGCACGAAACAGATCGGCCAGGCCCAGAATCGGGTCGGCAGGAGCGGCGGTAATGTTCTCAAACATGACG
+AGGTTCCATTATGGTTACAGAAGGGAAGTCCGCTATCAGGGTAACGGGAGATTTACAAAATTCCAACTAT
+TACTGATGAAAACGCAGGCTGTTTTTGCAAGACGTGAGATTGCTCTGGAAGGCATAAAAAAAACAGGACC
+AAAGTCCTGTTTTTTCGGCATTTAACAAAGAGGTGTGCTATTAGAACTGGTAAACGATACCCACAGCAAC
+GGTGTCGTCAGAACCTACGCCCAGTTTGTTGTCAGAATCGATCTGGTTGATGATGTAGTCAACATAGGTG
+GACATGTTTTTGTTGAAATAGTAGGTTGCGCCCACTTCAAAGTAGTTCACCAGATCAACATCACCGATAC
+CTTCTACGTCTTTCGCTTTAGATTTGGTGTAAGCGATGGACGGACGCAGACCGAAATCAAACTGGTATTG
+CGCAACTAACAGAACGTCTTGCGTTTTGTTGGCGAAGCCGCTGGTGTTTGTAAATTTATTAGTGATCGGC
+GTAGCGTTACGGGTTTCACCGTAGTTCGCTGCCAGGTAGATGTTGTTCGCGTCATACTTCAGACCAGTAG
+CCCACTGTTCAGCTTTTTTGCCTTTGCCAAGGGAAGACTCTTCCTGCAGGTTGGTACGGTCAGCGGCACC
+ATAAGCACCAACGATACCAAAGCCTTCGTATTCGTAGCTGATAGAACCGCCAACACCGTCGCCGTTAGAG
+CGGCGTGCAGTGTCACGCTCGTTTTTCCCCAGGTACTGAACAGCAAAGTTCAGACCATCAACCAGACCAA
+AGAAGTTGGAGTTACGATAGGTAGCAACGCCGCCAACACGACCAACGAAGAAGTCATCGCTGTATGCAGT
+ATCACCACCAAATTCTGGCAGCATATCGGTGTAACCCAGTGCATCATAAACCACACCGTAGTTACGGCCG
+TAATCGAAAGAACCAACGTCAGCGTATTTAAGACCCGCGAATGCCAGACGCGTTTTGTTACCAGTTTGAG
+CGTCAGCGCCCTCAGAGTTGTTACCCTGGAAGTTATATTCCCACTGACCATAACCGGTCAGATCGGAATT
+GATTTGAGTTTCCCCTTTAAAACCAAGACGGGCATAGGTCATGTCGCCATTGCCACCGTAACTGTTTTCA
+CCGTTACCCTTGGAGAAATAATGCAGACCGACAGCTTTACCGTACAGATCTACTTTGTTGCCATCTTTGT
+TATAGATTTCTGCAGCGTTTGCAGTACCTGCTACTAACAGAGCAGGGACGATCACTGCCAGAATATTGCG
+CTTCATCATTATTTATTACCCTCATGGTTTTTTTTATGACACCTGCCACTGCCGTCAATAAGTTCTGTCA
+ATAAAAATTTACGGAACTATTGATGAGAGTTTGGTGTCTTTATGTGTCTGCAGGCATCTTTCCATTCAAA
+CTAACGTTTCGCTACCGTGAAAGTGCTACAAAGATAAAAATTTGGTTTCAAAAAGAAAAAATGTGTGACA
+AAAAGTAAAAATTAAGGAACTTTGTGAACACCGTCATATTTCCATAGAAGCGTGATGATATTTACAGCAA
+TTTTTATCTATTTATATGATTTTCTTATATTTAAATTAACTAAACGGAAATTTTGTTTCTGATGGAAACT
+TTATCGACCAGGCACAAAATCTTCTTTCAGACATCCAGAATGCCAAAAAAATTGTATGAAAATTGTGCTA
+TCAGCTAAGAAAAAACTAATCCGCAATAAGAATGCAGATTATTTTTTGTGCGTAAATGTTGCAGCGTAAT
+ATTCCGTAACAGGATGATCGTTATGGCGGGGTTGCAAATAGATTGCTTGACTTAACAAACAGATAACTTG
+ACAGAAAGGATAAAAAAAGAGCCAGCGGGCGCTGGCTCTTGAAGACGCTAAATTAGAAGCTGGCGTTACG
+CGGAGTACGTGGGAACGGAATAACATCACGTACGTTTTGCACGCCAGTTACGTAAGCAATCAGGCGTTCA
+AAACCAAGACCGAAACCTGAATGCGGAACAGTACCGTAGCGACGCAGATCGCGATACCACCAGTAATCTT
+CTTTGTTCAGGCCCATTTCAAGCATACGCTCGTCCAGCACGTCCAGACGTTCTTCACGCTGGGAGCCACC
+AATGATCTCACCGATGCCCGGAGCCAGAACGTCCATAGCCGCAACGGTTTTACCGTCTTCGTTAAGGCGC
+ATATAGAACGCTTTAATATCTTTCGGATAGTTTTTAACCACTACTGGTGCTTTAAAGTGTTCTTCCGCCA
+GATAACGCTCATGCTCAGAAGAGAGATCGACGCCCCAGTAAACCGGGTTTTCAAACTTCCTGCCGCAGTT
+TTCGAGAATGGTCACTGCGTCGGTGTAATCCACCTGCGCGAAATCGGCCTCAATGAAGCGTTCCAGACGT
+GAAACGGCATCTTTATCTACGCGTTCAGCGAAGAATTTCATGTCGTCAGCGCGTTCTTCGAGAACCGCTT
+TGAAGACATATTTCAGCATGGCTTCAGCCAGACCTGCGATATCGTTCAGGTTAGCAAACGCCACTTCCGG
+CTCCAGCATCCAGAATTCCGCCAGGTGACGGCTGGTGTTGGAGTTTTCAGCACGGAAAGTCGGGCCGAAG
+GTATAAATTTTGGACAATGCGCAAGCGTAGGTTTCGCCGTTCAACTGGCCAGATACGGTCAGGAAAGACT
+CTTTACCAAAGAAGTCTTTGTCGAAATCCACTTTGCCCTGATCGTTACGCGGCAGGTTTTCCAGATCCAG
+CGTTGAAACACGGAACATTTCGCCAGCACCTTCGGTATCAGATGCGGTAATCAGTGGCGTTGAAACCCAG
+AAGAATCCCTGCTCGTTAAAGAAGCGATGCAGCGCCTGCGCCAGCGTATGGCGAACGCGCGCGACGGCAC
+CAATCAGGTTTGTGCGCGGACGCAGGTGAGCGACTTCACGCAGATACTCAATGCTGTGGCGTTTTGCCGC
+CATCGGGTAAGTGTCTGGATCTTCAACCCAACCAGCAACTTCAACCTTGCTGGCCTGAATTTCAAATTGT
+TGCCCCTGGCCCGGCGACGCCACGACTTTACCCGTCACAATGACCGAGCAGCCGGTGGTCAGACGCAAGA
+CGTCTTCATTGTAATTGGGCAGAGAATTATTGATGACAGCCTGTACAGGATCAAAGCAGGAACCGTCATA
+AACGGCGAGGAAGGAGATGCCAGCTTTTGAATCTCGGCGGGTACGTACCCATCCGCGCACGGTGACTTCG
+CTGTCAACGGCTACGCGGCCCTGGAGTACGTCGGCTACAGGCACAACGCTCATAATATTCTCTCTGTTAA
+TAGTCGGAAAAAATAAACACTTGTCCACCCGTAAATGGGGGGATACCTATGTTACCTGGCATCTGCAATC
+AGACAAGCAGAATTCGCAAATGCAGCGAAAGATTTCGGAATTAAAGGTAAAAAAAGGGAGCCGATTAGCT
+CCCTGATGATATTAACTGGCTTTTTTAATATGCGGAAGGTCGAACGCTTTGCGCAGCGCCCGAACAAACG
+CTTTATCGTGGCAGATAGTTTTGCCAGGGCTGTCAGAAAGTTTCGCCACTGGTTTACCGTTACACTCTAC
+CAACTTAATGACAATATTCAGGGGTTTTACCTGGGGGATATCGCAGGTCAGGCGAGTCCCAATACCAAAA
+CTTAATTGCACGCGGGAAGAGAAGTGGCGGTATAGCTCAACCGCTTTGCGTAAATCCAGATTGTCAGAGA
+AAACCAGCGTTTTACTCTGTGGATCAATTCCCAGCTTTTCATAATGTGCAATGGCTTTTTCACCCCATTC
+AACCGGGTCGCCAGAGTCATGGCGCAGGCCCTGGTAACGACTGGCAAATTCCACACCGAAATCACGCAGG
+AAAGCATCCATAGTGATGCAGTCGGTTAATGCAATGCCAAGTTGGTCGGGATACTCTTCCAGCCAGGCAG
+CAAGTGCAGCTCGCTGGCTGTTGGCTAGATCCGGGCTGATTTGCTGATGCGCCTGGAACCATTCGTGTGC
+CTGTGTCCCATCGGCGTGAGGGAAAGCCGACGCGCCAGATCGTAGTTGCTGGTGCCCACGAACCAGGATT
+CCTGTTGCAGACGTTTCACGATGGTTTCTTGTACTTCGCGAGAAAAACGGCGGCGGGTGCCAAAATCCAT
+CAGATGGAAGCGCGACATATCAAGACCGGCGGTTAATGCCGAGAAGTCGACTAATTTGTTTTCCAGCGTG
+TCGAGGGCTTGCGCAACGTCGGCCTGCGGTGAGCGATAGCGATGTACCATTTCACTGATAACCGCCAGCA
+AAGGAACTTCCCAGAGGATGACTTCACGCCACGGGCCGCTTAAACGAATATCCAGCTTGCCATTATCGTT
+GGACACGGTGACTTGTTCCGGGTTAAAGCGGAACTCGCGTAGCCAGTTAAGATAGTCGGCCTTAAAGAAA
+GGCAGGGCAGAGAGCCACTGATATTCATCATCCTGCAGGCGCAGGTGCTGCATCGCCTGAACCTGTTCAC
+GAATAGCATCGGCATAAATACCCAGCAGATCGTCACCTCGGCAACGAAACTCCGCCGCGACATGCACATC
+GTAATAGTGATGAAACACGGCTTGCTGCATATGCAACTTATAAGCATCTGTATCCAGCAACGAGTGCAGA
+ACAGGAGAAGCGAATTGTGTCATAGGTGCGCAGTAGCGTCCTCGTACAGGAGCGTTTAGTACAATAAACA
+TCTTCAGGAACTGCTGGAGTATACCTTGTTTCGCAATTTATTGAACCCCGATCACACCATATGCCACCTT
+TCTGGTCGATGGCATAACGCGGTGTATGTTATAAAAATGTAGCAATAAAGGCGTTTGTACCTGAAAAGAT
+GAAGATTCTGCATAGCGCGATTTACGCAACAGGAATAGACTGAACACCAGACTCTATAAAAGATGCTAAA
+GGTTATTTATGACTCAACAGCCACAAGCCAAATACCGTCACGATTATCGTGCGCCGGATTACCAGATTAC
+TGATATTGACTTGACCTTTGACCTGGACGCGCAAAAGACGGTCGTTACCGCGGTCAGCCAGGCTGTCCGT
+CATGGTGCATCAGATGCTCCGCTTCGTCTTGATGGCGAAGATCTTAAACTGGTTTCTGTTCATATTAATG
+ATGAGCCGTGGACCGCCTGGAAAGAAGAAGAGGGCGCACTGGTCATCAGTAATTTGCCGGAGCGTTTTAC
+GCTTAAGATCGTTAATGAAATTAGCCCGGCGGCGAATACTGCGCTGGAAGGGCTTTATCAGTCAGGCGAT
+GCGCTTTGCACCCAGTGTGAAGCCGAAGGTTTCCGCCATATTACGTATTATCTCGACCGCCCGGATGTGC
+TGGCGCGTTTTACCACCAAAATTATTGCCGATAAAACCAAATATCCCTTCCTGCTTTCCAATGGTAACCG
+CGTTGCGCAAGGTGAACTGGAAAATGGACGTCATTGGGTACAGTGGCAGGACCCGTTCCCGAAACCGTGT
+TACCTGTTTGCGTTGGTGGCTGGTGATTTTGATGTACTGCGCGATACCTTCACTACCCGCTCTGGCCGTG
+AAGTGGCGCTGGAGTTGTATGTCGATCGTGGCAACCTTGATCGTGCGCCGTGGGCAATGACCTCGCTGAA
+AAACTCCATGAAATGGGATGAAGAACGCTTCGGCCTGGAGTATGACCTCGACATCTATATGATCGTCGCG
+GTGGATTTCTTCAATATGGGCGCAATGGAGAATAAGGGGCTGAATATCTTTAACTCCAAATATGTGCTGG
+CCCGCACCGACACCGCCACCGACAAAGATTACCTCGATATTGAACGCGTTATCGGCCATGAATATTTCCA
+TAACTGGACCGGCAACCGTGTCACCTGCCGCGACTGGTTCCAGCTCAGTCTGAAAGAAGGTTTAACCGTC
+TTCCGCGATCAGGAATTCAGCTCTGACCTTGGTTCCCGCGCGGTAAACCGTATCAATAATGTGCGCACCA
+TGCGCGGATTGCAGTTTGCAGAAGACGCCAGCCCGATGGCGCACCCAATTCGCCCGGATATGGTCATTGA
+AATGAACAACTTCTACACCCTGACCGTTTACGAGAAGGGCGCGGAAGTGATTCGTATGATCCACACTCTG
+CTTGGCGAAGAAAATTTCCAGAAAGGGATGCAGCTCTATTTCGAGCGTCATGATGGTAGCGCAGCGACCT
+GTGACGATTTTGTGCAGGCGATGGAAGATGCGTCGAATGTCGATCTCTCTCATTTCCGCCGTTGGTACAG
+CCAGTCCGGTACGCCGGTTGTAACCGTCAAAGACGACTATAATCCGGAAACCGAGCAGTACACCCTGACC
+ATCAGCCAGCGTACGCCTGCTACGCCGGATCAGGCAGAAAAACAGCCGCTGCATATTCCGTTTGCCATCG
+AACTGTATGACAACGAAGGCAAAGTGATCCCGTTGCAAAAAGGCGGTCATCCGGTGAATTCGGTGCTGAA
+CGTCACCCAGGCGGAACAGACCTTTGTTTTTGATAATGTCTACTTCCAGCCGGTGCCTGCGCTGCTGTGC
+GAATTCTCTGCGCCAGTGAAACTGGAATATAAGTGGAGCGATCAGCAACTGACCTTCCTGATGCGTCATG
+CGCGTAATGATTTCTCTCGCTGGGACGCGGCGCAAAGTTTGCTGGCAACCTACATCAAGCTGAACGTCGC
+CCGTCATCAGCAAGGGCAGCCGTTGTCTCTGCCGGTGCATGTGGCTGACGCTTTCCGCGCGGTGCTGCTC
+GATGAGAAGATTGATCCGGCGCTGGCGGCAGAAATCCTGACGCTGCCTTCCGTCAATGAAATGGCAGAAC
+TGTTCGATATCATCGACCCGATTGCTATTGCCGAAGTACGCGAAGCACTCACTCGTACTCTGGCGACTGA
+ACTGGCAGATGAGCTGCTGGCTATTTACAACGCGAATTACCAGAGCGAGTACCGTGTTGAGCATGAAGAT
+ATTGCAAAACGCACTCTGCGTAATGCCTGCCTGCGCTTCCTCGCTTTTGGTGAAACGCATCTGGCTGATG
+TGCTGGTGAGCAAACAGTTCCACGAAGCGAACAATATGACCGATGCGCTGGCGGCGCTTTCTGCGGCGGT
+TGCTGCACAACTGCCATGCCGTGACGCGCTGATGCAGGAGTACGACGACAAGTGGCATCAGGATGGTCTG
+GTGATGGATAAATGGTTTATCCTGCAAGCCACCAGCCCGGCGGCGAATGTGCTGGAGACGGTACGTGGTC
+TGTTGCAGCATCGCTCATTTACCATGAGCAACCCGAACCGCATTCGTTCATTGATTGGCGCATTTGCGGG
+CAGCAACCCGGCAGCGTTCCATGCCGAAGATGGCAGCGGTTATCAGTTCCTGGTGGAAATGCTTACCGAC
+CTCAACAGCCGTAACCCGCAGGTGGCTTCACGCCTGATTGAGCCGCTGATTCGCCTGAAACGTTACGATG
+CCAAACGTCAGGAGAAAATGCGCGCGGCGCTGGAACAGTTGAAAGGGCTGGAAAATCTCTCTGGCGATCT
+GTACGAGAAGATCACCAAAGCACTGGCTTGATACTTTTGAGCCAAAATGCTTGACGCGTCTTATCAGGCC
+TACAAGTCCGTTGAAATTGCTGGTTTTGTAGGCTGGATAAGGCGTTCACGCCGCATCAGGCAGTCGTGCC
+CAAATGCCTGATGCGACGCTTGACGCGTCTTATCAGGCCTACAATCCGTTGAAACTGCTGGTTTTGTGTG
+CCACATCCGGCATATTAACCATGACGCCGAATCGGTTGTTCAGAGTGCCCACGCTGCATCACCCGTTGCA
+AAACTTCCGCTTCCAGCTCCGCTAATCGCACCGACCCTAACCGGCGCGGACGGGGGATATCCACCGTCAA
+ATCCAGACCAATTTTTCCCTCTTCAATTAACAATACCCGGTCAGCCATTGCTACCGCTTCGCTCACATCA
+TGCGTCACCAACAGTACGGTAAAGCCGTGCTCCTGCCAAAGTGACACAATCAAATCCTGCATCTCGAGCC
+GAGTCAGGGCGTCCAGCGCACCGAGTGGTTCATCAAGCAACAATAAACCCGGTCGATGAATCAGCGCCCT
+TGCCAGCGCCACACGTTGTTTCTGCCCGCCAGAAAGTGCGGCAGGCCATTCCCCCGCGCGATTCACCAGT
+CCTACCGCAGCCAGAGCCTGACGCGCCGCATCGTGCCACTGGCCTTTAAGGCCTAACCCAACGTTATCAA
+TCACCGATTTCCACGGCAGCAGACGCGCGTCCTGAAACATCATTCGCGTATCATCCTGAATCTCAGCCAG
+TGGTGTGGTGCCCGCTAACACGTCGCCTGCGGTTGGCGTTTCCAGACCTGCCAGCAAGCGCAGCAGAGTA
+CTTTTGCCACCGCCGCTGCGGCCCACCACCGCCACAAACTGACCTGCCGGAATATGTAAATCCAGTTGGT
+TCAGGACGATATTTTCCGCGTAATGTTTGCTTACTGCATTGAGCAACAATGGTGTGCCCTGGTTCAGACG
+AGCAGTATTCATACCGTGGCCTCCTTCAAATGATAAGCCGGGTTCCAGCGCAACCAGAGACGCTCTAACA
+GCTGCGCGCTGACGTCAGCAAGTTTGCCGAGCAGGGCGTAAAGAATAATAGCGACTACCACCACGTCCGT
+TTGCAGAAACTCCCGCGCATTCATCGCCAGATAACCAATGCCGGAATTGGCAGAAATAGTTTCGGCAACG
+ATCAGCGTCAGCCACATCAGGCCCAAAGCAAAACGCACGCCGACCATAATTGAGGGCAGGGCGCCAGGCA
+GGATCACATGGATAAACAGCGGTATGCCGGATAATCCATAGCTACGCGCCATTTCCACCAGACCGCGATC
+GATATTACGGATGCCGTGCCAGGTGTTGATATAAATGGGGAATAGCGTGCCGAGCGCCACCAGAAAGATT
+TTTGCGGATTCATCAATGCCAAACCACAAAATCACCAGCGGGATCAGCGCCAGATGCGGCACGTTACGCA
+ACATCTGAATGGAGGTATCCAGCAGTCGTTCTCCCCAGCGAGATAGCCCGCTAATCAGTCCCAAAATCAA
+CCCCAGCGATCCGCCAATTGAAAAGCCAATGAGCGCCCGCCAGGAGCTGATCGCCAGATGCTGCCACAAT
+TCGCCGCTGGCGGAGAGCGTCCAGAACGCCATCACCACTCCTTCCGGTGAGGGCAAAATACGCGTTGACA
+GCCAGCCAACTGAGGAGGCCAGTTGCCACACCGCCACGATGCCCACCGGTAAAAACCAGGGGGCAACGCG
+CAATAACCACTTTTTCACTGGCGTTGCCATTATCGTATTCCTTAGCTTTGCGCGACGTTACGGGGGATAA
+AATCATTTGCCACCGCTTCGCCTTGCGGATTCAGCGGCTGCGGCTGGGGAATTTCCGGGATGGCGACATC
+CAGATGCGGGAACAGCAACTCGCCAACCCGATACGCTTCTTCCAGATGCGGGTAGCCCGAAAGCACAAAG
+CTGTCGATGCCAAGCGCGGCGTATTCGTTGATTCGCGCAGCGACCGTCGGACCATCGCCCACCAGTGCCG
+TCCCGGCACCGCCGCGCACTAAGCCAACGCCCGCCCATAAATTGGGGCTGATCTCCAGATTGTCGCGCTT
+GCCGTTATGTAGCGCCGCCATTCGCTGTTGTCCTACGGAATCCGTCCGGGCGAATGCGGCTTGTGCTTTG
+GCGATAGTCTCATCATCAAGATGCGAGATTAACCGCTCGGCGGCCTGCCACGCTTCGTCGTTGGTTTCAC
+GAACAATCACATGCAGACGAATACCGAAACGAATTTTGCGTCCATGCGCGGCAGCTTTCGCCCGCACTTG
+TTCGATTTTCTCTTTAACCAGTTCCGGCGGTTCGCCCCAGGTGAGGTAGAGATCAACTTGTTCTGCCGCC
+AGCTCCTGGGCGACATCTGACGATCCGCCAAAGTAAAGCGGAGGATACGGCTGTTGAATCGGCGGGAAGA
+GCAGTTTGGCTCCGCGCACATGAATATGTTTACCGTTGAAATTGACGGTTTCCCCCAGCAATAAGCGCCG
+CCAGACCTGGGTAAATTCCGCCGAGGCTTCGTAGCGCTCGCTATGATCAAGGAACACGCCGTCGCCTGCC
+AGCTCTTGTGGATCGCTGCCTGTGACCAGATTAAACAACGCACGACCATTCGAGAGACGGTCAAGCGTGG
+CGGCCTGGCGGGCGGCAACGGTAGGTGAGGTTACGCTGGGACGCAGGGCGACAAGAAACTTCAGCCGTTG
+CGTCACCGGGATCATCGACGCGGCAACCAGCCACGCATCTTCACACGATCGTCCTGTTGGGATCAGCACA
+CCGGTATAACCCAGACGATCCGCCGCTTGCGCAATTTGTTGCAGATAACCGTGATCAACCGGACGTGAAC
+CTTCTTCCGTTCCCAGATAGTGCCCGTCACCATGGGTCGGTAAAAACCAGAACATATTCAGACTCATAAT
+TGTTTTCCTTCCAGTTGAGTGGGCTGCCAGATGCGCTGGCGAATATCGACTTTTTTCGGCATCAGACGGT
+TTTCATAAAACAAATCTGCCGTTTGCTGCTGTAAGGCGGCAACCTCGGCGTTAACCGGTTTGATGGTGGT
+AGGAGGGCGATGATCTAAGTAAGAGGCAATCACCGGTGCCGGTAAGCCCATCGTTTTTGCCAGTAAAGCG
+ATGCTTTGCTCGCGCTGGCTGCGGGTTAACGCATCGGCCTCACTAAAGGTTGCCAGTACACCCTGAATAA
+AAGCGCCGTTTTTTTCTGCATAGGGGCGAGCTGCCAGATAAAACGATCCGGTTTGATTGAGATCGGTGCC
+GTCTTTCAACACCCGCACGCCGCCCTGTAATAATGCAGCGGAGTAGTAGGGATCCCAGATAGCCCAGGCG
+TCAACGTTACCTTGCTGGAACGCGGCGCGAGCATCAGCGGGTGTCAGGTAAGTGGGTTGTATATCGGTAA
+ACTTAAGCCCGGCCTGGCGTAGTGCGCGTAGTAAAAGATTGTGCGAACTGGAACCTTTCTGAAAGGCAAC
+TTTGTGACCTTTAAGATCGGCTACGGTTTTGATCGGGCTATTTTCTGCCACCAGAATCACTTCGGCTTTT
+GGCTTCGGTGGCTCGACACCCACATACAGCAAATCAGCCCCGGCGGCCTGAGCAAAGATTGGCGGAATAT
+CTCCCGTACTACCCAGATCGATACTACCGACGTTCAGTGCCTCCAGCATCTGCGGGCCAGCCGGGAACTC
+CACCCAGGAGATTTTTGTTTGCGGATAGTGTTTTTCCAGCATTTGGTAATTTTTCGCCAGCACCGAACTG
+ATGTTGCTTTTCTGATAGCCAATCCGTAACGCCTCTGGCGAAGACTCCGCGGCAACAGCAAGTGTAGAGA
+CGCTAAGTAAGCCCGCCAGCGCCAGTTTAATGATCTTACGCATGGGCATTACCTCGCAGAGACAGAAGGT
+CAGGAACCTGAACATCGCGGCGGTGCAATGCCTGCCAGAAAGTTTCTAGCGCGGTATCAAGACGGGTTTG
+TAAATTCGGCGTGAACTGCGGCTTGTGGTGGTAATCAATCACCTGTGAGTCATCGGCAAACACGCCGTGC
+AGGATCTCCTGGGCTTTCAGCGCACTTAAAACTGGCTTAAGGGCGTAATCGACCGCCAGCAGATGGGCCA
+CCGTACCGCCCGTCGCCAGCGGTAGCACCACTTTGCCTTGCAACGCACGTTCTGGCAGCAGGTCGAGCAG
+GGTTTTCAGCGCACCGGAATAGGCGGCTTTATACACAGGTGTAGCGACTATCAGTCCATCAGCCTGTTGC
+AGCTGTTCGGTGAAGGTTTTTAGTGCTGGACTATCGAAACGAGCATAAAGCAGATCTTCCGGGGCGAAGT
+TTTGCAGATTCCAGTGATAAACTTCTACATCCAGGCCATTTAGTTTTTCCCGCGCATATTCCAGCAAGGA
+GCTGGAGCGAGAAGGAAAGCGAGGACTACCCGCCAGGGTGATGACACGCATACTCTCTCCTTATAACCAA
+TTGTTCTTGTTTTGTTAACATTGATAACAATTCGGTCAGTCTGACAGAGGGCGTCCGCGAGTCGAAATGA
+TTTATCTGAGGAAGAAAAGCCAAAAAAAGCATAAAAAAAGCGCAATAAGAAAACGTTTGCTATTTATTGC
+CGCAGGTCAATTCCCTTTTGGTCCGAACTCGCACATAATACGCCCCCGGTTTGCACACCGGGAATCCAGG
+AGAGTTCATGTACTACCCCTTCGTTCGTAAAGCCCTTTTCCAGCTCGATCCAGAGCGCGCTCATGAGTTT
+ACTTTTCAGCAATTACGCCGTATTACCGGAACGCCGTTTGAAGCACTGGTGCGGCAGAAAGTGCCTGCGA
+AACCTGTTAACTGCATGGGCCTGACGTTTAAAAATCCGCTTGGTCTGGCAGCCGGTCTTGATAAAGACGG
+GGAGTGCATTGACGCGTTAGGCGCGATGGGATTTGGATCCATCGAGATCGGTACCGTCACGCCACGTCCC
+CAGCCAGGTAATGACAAGCCGCGTCTCTTTCGTCTGGTAGATGCCGAAGGTTTGATCAACCGTATGGGCT
+TTAATAATCTTGGCGTTGATAACCTCGTAGAGAACGTAAAAAAAGCCCATTATGACGGCGTTCTGGGTAT
+TAACATCGGCAAAAATAAAGATACGCCGGTGGAGCAGGGTAAAGATGACTATCTGATTTGTATGGAAAAA
+ATCTATGCCTATGCGGGATATATCGCCATCAATATTTCATCGCCAAATACCCCAGGATTACGCACACTGC
+AATATGGTGAAGCGCTGGATGATCTCTTAACTGCGATTAAAAATAAACAAAATGATTTGCAAGTGATGCA
+CCATAAATATGTGCCGATCGCAGTGAAGATCGCGCCGGATCTTTCTGAAGAAGAATTGATCCAGGTTGCC
+GATAGTTTAGTTCGCCATAATATTGATGGCGTTATTGCAACCAATACCACACTCGATCGTTCTCTGGTTC
+AGGGAATGAAAAATTGTGATCAAACCGGTGGCTTAAGTGGTCGTCCGCTTCAGTTAAAAAGCACCGAAAT
+TATTCGCCGCTTGTCACAGGAATTAAACGGACGCTTGCCGATTATTGGTGTTGGCGGCATTGACTCGGTT
+ATCGCTGCGCGTGAAAAGATTGCTGCGGGTGCCTCACTGGTGCAAATTTATTCTGGTTTTATTTTTAAAG
+GCCCGCCGCTGATTAAAGAAATCGTTACCCATATCTAATTATTTCTTCAAATTCCTCTTTATAAGATAAT
+CAGGGCTTTATTTTCAGCCCTGGTTGTTTTATATTCATCGCTGTTGCTTATTTAGACATTTTGTACTTTT
+ATTGTTGAGGTTATTAAGCGAAGCGACAATGGATTGTGTCGCTGCGGTTTTATAAGGTTGGGGAGTGGCA
+GATGCGAATTAAACCAGACGATAACTGGCGTTGGTATTACGATGAAGAGCACGATCGAATGATGCTCGAT
+TTAGCCAATGGTATGCTATTTCGCTCACGTTTTGCGCGCAAAATGTTGACTCCAGATGCCTTTTCTCCCG
+CAGGTTTTTGCGTTGATGACGCCGCGCTCTATTTCTCTTTTGAAGAAAAGTGCCGCGATTTTAATTTATC
+TAAAGAACAAAAAGCCGAACTGGTGCTGAATGCACTGGTAGCAATTCGTTATCTCAAACCGCAAATGCCG
+AAAAGCTGGCATTTTGTATCTCATGGTGAAATGTGGATGCCCATGCCGGGCGATGCGGCCTACGTTTTGT
+TGAGCGACACTCATGAGCAAGTGAATTTACTGGTCGTTGAATCTGGCGAGAATGCCGCGCTATGTCTACT
+GGCACAACCCTGCGTTGTTATTGCGGGTCGCGCGATGCAGTTGGGCGACGCCATTAAAATCATGAACGAC
+AGGCTGAAACCGCAGGTTAATGTTGACAGCTTCAGCCTCGAACAGGCAGTCTAACGCGCCAGCTTAAGCG
+CAGTCTTCGGTACACAACTACAGCAAAGAATAGTGCCATCATCGCCTATTGCTGATTTTTTTAGCGGCGT
+GACTTCGCCTTCTAAAAGCTGAACACGGCAACTTCCACAAATGCCCGCGCGGCAAGAATAAGGGATACGA
+ATTCCCTGATTTTCTAATTGCTCCAGCAGCACCTGTTGGTTATTTCCACGAAATGCCTGTCCCTGCCAGT
+CAATATCTACGTTTGCGTCCGGTTGTTGCGTGATGTTGGCAGTATCATCAGCGGCACCTGCGCCGTAAAT
+TTTAGCCGGAGCCGTTGCCAGAATTTCCACCTCGTCGCCAACGCGAATCACGCCGCTATTACGGGCAATT
+AAATTCTGACCAAAATCGACATCGCCGTTATCCTGGGCAGTACGGAAAGATTGCAGCGTTTTTAATGGTT
+CGCCTGCCGGATGTTTTTGCCCTTTTTCTGGGCTGACGGTGGTGAAAATACAGCGGCTACAAGGCTTAAC
+CACATCAAACACGACATCACCAATGCGAATCACTTTCCAGCTATCTTCTTCCCAGGCCGATGCACCGGAA
+ACCACCAGATTGGGGCGGAATTGCTCCATTTTTACACTGGCCGGACAACGTTGTTGGAGATCACGTAACG
+AGGCCTCGTTAGCAAGAAGGTAAGGATAGCCATCAGCAAATGACAGGGGTACAGTGTTGTGGCGTTTCAC
+GCGCCGGGTCATTTGTGGCCCCACCCAGCGTAATTGCACTTCGCGGGAGAAAAATCCACTTAGCCATTTG
+TTGATCGCGTCTGGCGCAATTCGCGCGGTAAAATGTGTGCCCCAAACTTCGGTTGGTGCGTCTTGTGTGG
+CGAAATCAGCAAAACGAACATATGCACTACTGCCATCTGGTGCGGTGAGATGCAAGCCATCATGCACGGG
+TGAAGGAGTAAACCGTACCATTAGCGGAAACTGGCGAGCGGTAATAAACGTACCGTCAGGTTCCGTGATC
+ATAAAGATGCGATCGAAGGCCAGACCACTGACATCTGCCAGGGTATGTGTAAGACCAATGCCGCGCATCG
+ATTTAACAGGATGAATAAAAAGCCGGGTTAATGTCGCCACGGTGCGGTCCTCAAATGAAAATAAGCCCTC
+AACTTTATGACATGACGCGCTTATTAGCTATAATGCGCAACAATTTTCTTAGAGTAAAAGTGACAATATG
+AATTCTCTGTTTGCCAGTACGGCCCGTGGGCTGGAAGAGCTGTTAAAAACTGAACTGGAAAACCTGGGGG
+CCGTTGAATGCCAGGTGGTTCAGGGTGGGGTCCATTTCAAGGGCGACACACGGCTTGTTTACCAGAGCCT
+GATGTGGAGCCGCCTGGCCTCGCGTATTATGTTGCCGCTGGGCGAGTGTAAGGTTTACAGCGATTTAGAC
+CTCTATCTCGGTGTTCAGGCGATCAACTGGACAGAGATGTTTAATCCTGGCGCGACCTTCGCTGTCCACT
+TCAGTGGTTTGAATGACACCATACGCAACAGTCAGTACGGTGCGATGAAAGTGAAAGACGCGATCGTCGA
+TGCTTTCACGCGGAAAAATCTGCCGCGTCCAAATGTTGATCGCGATGCGCCGGATATCCGCGTTAACGTC
+TGGCTGCATAAAGAAACCGCCAGTATCGCCCTTGATCTCAGTGGTGATGGTTTACATCTGCGTGGCTATC
+GCGATCGTGCTGGCATTGCGCCGATCAAAGAAACCCTGGCAGCCGCTATTGTGATGCGATCCGGCTGGCA
+GCCAGGAACACCGCTGCTCGATCCAATGTGTGGTTCAGGTACGTTGCTGATTGAAGCGGCTATGTTGGCG
+ACCGACCGCGCACCGGGCTTGCACCGTGGGCGTTGGGGCTTTAGCGGCTGGACGCAGCATGATGAAGCTA
+TCTGGCAGGAAGTGAAAGCGGAAGCGCAAACTCGTGCCCGTAAAGGCCTGGCGGAGTATAGCTCCCATTT
+CTACGGTTCGGACAGTGACGCACGGGTGATTCAACGTGCGCGCACTAACGCCCGTCTTGCGGGGATTGGT
+GAACTGATCACCTTTGAGGTGAAAGATGTCGCGCAACTGACCAATCCGCTGCCGAAAGGGCCGTACGGTA
+CAGTGTTGAGCAACCCGCCATACGGTGAACGTCTGGACAGCGAACCGGCGCTGATTGCGCTGCATAGTCT
+GCTGGGCCGAATCATGAAAAACCAGTTCGGTGGCTGGAATCTCTCTTTGTTTAGTGCCTCGCCGGATCTG
+CTAAGCTGCCTGCAGCTGCGTGCAGACAAACAGTACAAGGCGAAAAACGGCCCGCTGGACTGCGTACAGA
+AAAACTACCATGTTGCCGAAAGCACACCAGACAGCAAACCGGCAATGGCAGCGGAGGACTACGCCAACCG
+TCTGCGTAAGAACCTCAAAAAATTCGAGAAGTGGGCTCGCCAGGAAGGAATTGAATGTTACCGCCTGTAT
+GACGCCGATCTGCCGGAATATAACGTTGCCGTTGACCGTTATGCCGACTGGGTGGTGGTGCAGGAGTATG
+CGCCACCAAAAACTATTGATGCGCACAAAGCGCGTCAGCGTCTGTTCGATATTATCGCTGCAACTATTTC
+GGTACTGGGGATTGCGCCAAACAAACTGGTACTGAAAACCCGTGAACGCCAGAAGGGCAAAAATCAGTAC
+CAGAAACTGGGCGAGAAGGGCGAGTTTCTGGAAGTTACCGAATATAACGCTCACTTGTGGGTGAACCTGA
+CGGATTACCTCGATACCGGTCTGTTCCTCGATCACCGTATCGCCCGTCGTATGCTCGGTCAGATGAGCAA
+AGGCAAAGATTTCCTCAACCTGTTCTCCTATACCGGTAGCGCCACCGTGCATGCGGGATTAGGCGGCGCG
+CGCAGCACCACCACCGTGGATATGTCGCGTACTTATCTGGAGTGGGCAGAACGCAACCTGCGTCTGAATG
+GCTTAACTGGCCGTGCGCATCGCCTGATTCAGGCCGATTGCCTGGCGTGGCTGCGTGAGGCAAATGAACA
+GTTCGATCTGATCTTTATCGATCCGCCAACCTTTTCTAACTCAAAACGAATGGAAGATGCGTTTGATGTT
+CAGCGCGATCATCTGGTGCTGATGAAAGATTTGAAACGTCTGCTGCGTGCAGGTGGGACGATCATGTTCT
+CGAACAACAAACGCGGTTTCCGTATGGATCTCGACGGTCTGGCGAAACTGGGACTGAAAGCACAAGAAAT
+TACGCAAAAAACGCTCTCCCAGGATTTCGCCCGTAACCGCCAGATCCATAACTGCTGGCTGATTACCGCA
+GCCTGAAAGGAATAGTAATGTCATTAATCAGTATGCATGGCGCATGGCTGTCGTTCAGCGACGCGCCGCT
+TCTCGATAACGCAGAACTGCATATCGAAGATAACGAACGTGTTTGTCTGGTGGGGCGTAACGGCGCAGGC
+AAATCGACGTTAATGAAGATCCTCAACCGTGAACAGGGGCTGGATGACGGTCGCATTATTTATGAGCAAG
+ATTTGATTGTAGCTCGTCTGCAACAGGATCCGCCGCGTAACGTTGAGGGTAGCGTTTATGATTTCGTTGC
+CGAAGGCATTGAAGAACAAGCGGAATACCTGAAACGCTATCACGATATTTCGCGCCTGGTGATGAACGAC
+CCGAGCGAGAAAAATCTCAACGAACTGGCGAAGGTTCAGGAACAGCTGGATCACCACAACCTGTGGCAGC
+TGGAAAACCGCATCAACGAAGTGCTGGCGCAACTGGGATTAGATCCTAATGCTGCGCTGTCGTCGCTTTC
+CGGCGGCTGGTTGCGTAAAGCGGCATTAGGACGCGCGCTGGTGAGCAATCCGCGCGTATTGCTGCTCGAC
+GAACCGACTAACCACCTGGATATTGAAACCATCGACTGGCTGGAAGGGTTCCTCAAAACCTTCAATGGGA
+CAATTATTTTCATTTCCCACGACCGTTCGTTTATCCGCAATATGGCGACGCGCATTGTTGATCTCGATCG
+CGGCAAGCTGGTGACCTATCCAGGGAATTACGACCAGTACCTGCTGGAAAAAGAAGAAGCCCTGCGCGTG
+GAAGAATTACAAAATGCCGAGTTCGATCGCAAACTGGCGCAGGAAGAGGTGTGGATCCGCCAGGGGATCA
+AAGCACGTCGTACCCGTAATGAAGGCCGCGTACGCGCCCTGAAAGCAATGCGTCGCGAGCGTGGTGAACG
+TCGCGAAGTGATGGGTACCGCAAAGATGCAGGTGGAAGAAGCCAGCCGCTCCGGTAAGATCGTTTTCGAA
+ATGGAGGACGTTTGCTACCAGGTTGACGGTAAGCAACTGGTGAAAGATTTTTCTGCCCAGGTTCTACGCG
+GCGACAAAATTGCCCTGATTGGTCCGAATGGATGCGGCAAAACCACGCTGCTGAAACTGATGCTCGGTCA
+GCTTCAGGCGGACAGCGGGCGTATTCACGTTGGCACCAAACTGGAAGTGGCTTATTTCGATCAGCACCGT
+GCGGAACTGGATCCCGATAAAACGGTGATGGATAACCTTGCTGAAGGTAAGCAAGAGGTGATGGTTAACG
+GCAAGCCACGTCATGTTTTGGGCTATTTGCAGGACTTCCTGTTCCATCCGAAACGGGCGATGACGCCGGT
+ACGTGCGCTTTCTGGCGGTGAGCGTAACCGCTTGTTGTTGGCGCGTTTGTTCCTCAAACCAAGCAACTTA
+TTGATTCTTGACGAACCGACCAACGATCTTGATGTTGAAACGCTGGAACTGCTGGAAGAACTGATCGACA
+GCTACCAGGGCACGGTATTGCTGGTGAGCCACGATCGTCAGTTTGTCGATAACACCGTTACAGAATGCTG
+GATCTTCGAAGGCGGCGGTAAAATTGGTCGTTATGTCGGCGGTTATCATGATGCCCGTGGTCAGCAAGAA
+CAGTATGTGGCGCTCAAACAGCCTGCGGTGAAAAAAATCGAAGAAGCCGCCGCGCCAAAAGCAGAAACTG
+TAAAACGCAGCAGTAGCAAACTAAGCTATAAATTGCAGCGCGAACTGGAGCAGCTACCGCAATTGCTCGA
+AGATCTGGAGGCGAAGCTGGAAGCCCTACAGACGCAGGTGGCGGATGCTTCCTTCTTCAGTCAGCCGCAT
+GAGCAGACGCAAAAAGTGCTCGCCGATATGGCTGCTGCAGAGCAGGAGCTGGAGCAAGCCTTTGAACGCT
+GGGAGTATCTTGAAGCGTTAAAAAATGGTGGCTGATCGCAAAATAGTCGATTTAAACAGAGACAGCTGAC
+AACGGTAAAATTGCCTGATGAACTGGGTTTATCAGGCATGAAAACCAACACTTTGTTAGTCATCTGTAAA
+ATAGCGCATCATTAAGGAGTACCAATGTGCGAACATCATCATGCCGCGAAGCACATCCTGTGCTCGCAGT
+GTGACATGCTGGTGGCGTTACCGCGCCTTGAGCATGGTCAGAAAGCGGCATGTCCCCGGTGTGGCACAAC
+GTTAACCGTGGCGTGGGATGCCCCTCGGCAGCGTCCCACCGCCTATGCGTTGGCTGCACTGTTCATGCTG
+TTGCTGTCCAACTTGTTTCCTTTTGTGAATATGAACGTTGCAGGAGTCACCAGTGAAATTACATTACTGG
+AAATTCCCGGCGTGCTTTTTTCTGAGGACTACGCCAGCCTCGGCACCTTTTTCCTGTTGTTTGTGCAACT
+GGTTCCCGCGTTTTGTCTGATAACCATTCTGTTACTGGTGAATCGCGCAGAATTACCGGTCCGTTTAAAA
+GAGCAACTGGCACGGGTGCTTTTTCAACTCAAAACCTGGGGAATGGCGGAGATTTTCCTCGCGGGTGTGC
+TGGTCAGTTTCGTTAAACTGATGGCCTACGGCAGCATTGGGGTAGGCAGCAGCTTTCTCCCCTGGTGTTT
+ATTTTGTGTCCTGCAACTGCGCGCTTTTCAGTGCGTTGATCGTCGCTGGTTATGGGACGACATCGCCCCG
+ATGCCAGAACTGCGCCAGCCGCTAAAACCAGGCGTCACGGGGATACGTCAGGGGCTGCGTTCGTGCTCCT
+GTTGTACGGCAATCCTTCCTGCTGATGAACCCGTGTGCCCGCGTTGTAGTACCAAAGGGTACGTTCGGCG
+TAGAAACAGCCTGCAGTGGACACTCGCGCTGCTTGTAACGTCCATCATGCTGTATCTTCCGGCTAATATT
+TTGCCCATTATGGTGACGGATTTATTAGGCTCGAAGATGCCGTCGACGATTCTCGCTGGGGTCATTCTGT
+TATGGAGCGAAGGATCTTATCCCGTCGCTGCGGTTATCTTTCTGGCCAGTATTATGGTGCCAACGTTAAA
+GATGATCGCCATAGCGTGGTTGTGTTGGGATGCCAAAGGGCATGGCAAGCGCGACAGTGAAAGAATGCAT
+TTGATTTATGAAGTTGTTGAGTTTGTAGGCCGCTGGTCGATGATTGACGTTTTCGTTATCGCGGTGCTCT
+CGGCGCTGGTGCGTATGGGAGGTTTAATGAGTATTTATCCGGCAATGGGTGCATTAATGTTTGCTTTAGT
+CGTCATAATGACAATGTTTTCTGCTATGACGTTTGACCCGCGTTTGTCGTGGGATCGTCAACCTGAATCA
+GAGCATGAGGAGTCCTGACAGTATGGAATCTAATAATGGGGAAGCCAAAATCCAGAAAGTGAAGAACTGG
+TCTCCCGTGTGGATATTTCCTATCGTCACGGCGCTCATTGGGGCCTGGGTTCTTTTTTATCATTACAGCC
+ATCAGGGGCCGGAAGTGACCCTGATCACCGCGAATGCGGAAGGAATAGAAGGTGGTAAAACCACCATTAA
+AAGCCGTAGCGTTGACGTCGGCGTGGTTGAAAGCGCCACACTGGCTGATGATTTGACGCACGTTGAAATC
+AAAGCGCGGCTGAATTCCGGTATGGAAAAATTGCTGCATAAAGATACCGTCTTTTGGGTGGTGAAACCGC
+AGATTGGTCGAGAAGGGATTAGCGGCCTGGGAACGCTGCTGTCTGGGGTTTATATCGAACTGCAGCCAGG
+CGCGAAAGGCAGCAAAATGGATAAATACGATTTGCTGGACTCACCACCGTTGGCCCCGCCTGATGCGAAA
+GGTATCCGTGTGATTCTCGATAGCAAAAAAGCCGGGCAGCTCTCGCCAGGAGATCCGGTGCTGTTCCGTG
+GCTATCGGGTAGGTTCGGTTGAAACCAGCACCTTCGATACGCAAAAACGCAATATCAGTTATCAACTGTT
+CATCAATGCACCTTATGACCGACTGGTGACCAGCAATGTTCGCTTCTGGAAAGATAGTGGCATTGCGGTT
+GATTTGACGTCAGCGGGAATGCGTGTGGAGATGGGCTCATTGACAACGCTGCTTAGTGGCGGTGTCAGCT
+TTGATGTGCCGGAAGGTCTGGATTTAGGGCAGCCAGTGGCACCGAAAACAGCTTTCGTTTTGTATGATGA
+TCAGAAGAGCATTCAGGATTCGTTGTACACCGATCACATTGATTATCTGATGTTCTTTAAAGATTCGGTA
+CGCGGTCTGCAACCGGGAGCTCCGGTAGAATTCCGGGGTATTCGCCTGGGTACCGTAAGCAAAGTGCCAT
+TCTTTGCGCCGAATATGCGTCAGACATTTAACGATGATTACCGTATTCCGGTACTGATTCGTATCGAGCC
+AGAGCGGCTGAAAATGCAGCTTGGCGAAAATGCGGATGTTGTTGAGCACCTTGGCGAATTGTTGAAACGT
+GGTTTACGCGGATCGCTGAAAACCGGAAACCTGGTCACTGGCGCACTGTATGTTGATCTCGATTTCTATC
+CAAATACGCCTGCAATAACCGGTATTCGTGAATTTAATGGTTATCAGATTATCCCGACCGTTAGCGGCGG
+TCTGGCGCAAATCCAGCAACGACTGATGGAAGCGTTGGATAAGATCAACAAACTGCCATTGAATCCGATG
+ATTGAACAGGCAACCAGTACGCTTTCTGAAAGTCAGCGCACAATGAAAAACCTGCAAACGACGCTGGATA
+GCATGAACAAGATCCTCGCCAGCCAGTCGATGCAGCAGCTGCCGACGGATATGCAGTCAACGTTGCGTGA
+ATTGAATCGCAGCATGCAGGGCTTCCAGCCTGGCTCCGCAGCCTACAACAAGATGGTGGCGGATATGCAG
+CGCCTTGATCAGGTGTTGCGAGAACTGCAACCGGTGCTGAAAACGCTCAATGAGAAGAGTAACGCGCTGG
+TATTTGAAGCGAAGGACAAAAAAGATCCAGAGCCGAAGAGGGCGAAACAATGAAAAAGTGGCTAGTGACG
+ATTGCAGCACTGTGGCTGGCCGGATGCAGCTCCGGCGAAATTAATAAAAACTATTACCAGTTACCTGTGG
+TGCAGAGCGGTACACAAAGTACCGCCAGCCAGGGTAATCGCCTGTTATGGGTAGAGCAGGTCGCTGTTCC
+TGACTATCTGGCCGGAAATGGTGTGGTTTATCAAACCAGTGATGTGAAGTATGTGATTGCCAACAACAAC
+TTGTGGGCCAGCCCGTTGGATCAACAGTTGCGCAACACTCTGGTTGCCAACCTGAGCACGCAACTGCCCG
+GCTGGGTGGTTGCCTCCCAGCCTCTGGGAAGCGCCCAGGATACGCTCAATGTTACCGTAACGGAGTTTAA
+CGGGCGATATGATGGCAAGGTCATTGTCAGTGGTGAGTGGCTGTTGAACCACCAGGGACAACTGATCAAA
+CGTCCGTTCCGTCTGGAAGGGGTGCAAACTCAGGATGGTTACGATGAAATGGTTAAAGTGCTGGCCAGTG
+TCTGGAGTCAGGAAGCCGCTTCTATTGCGCAAGAGATAAAGCGTCTACCGTAATCATAAAGATTTGTAAA
+TATAACCGTCTCCGGTATGTTGCCTGAGGCGGTTTTTTTGTTTCTAAGGTGCGGAAAAAGTTGTTCCTCT
+TCACATTTTTTGTACAACTGACATGCCCGTGTAGCTCACAAATATGACAGTGGCGTGAATTTTGCGCATT
+GACGGCAGTTATGATTCGCGGTATTGCTTAACTGTGATTGCACATTTAGTAATCACTGTTTTCTTTTCCA
+CCAGAAACCAGTATGAGGGAAACGAGGCATGAAGAGACAAAAACGAGATCGCCTGGAACGGGCACATCAA
+CGTGGTTATCAGGCCGGCATCGCCGGACGCTCAAAAGAAATGTGTCCCTATCAGACGCTGAATCAAAGGT
+CACAATGGCTGGGAGGCTGGCGAGAAGCCATGGCGGACAGGGTAGTAATGGCCTGATTCTGTCTCTTTAA
+AAAGAAACCTCCGCATTGCGGAGGTTTCGCCTTTTGATACTCTGTCTGATTATAATCAGAAGGCAGACGT
+ATCCTGGAACAGACCGACTTTCAGGTCGCTGGCGGTATAGATCAGACGACCATCAACCAGCACTTCGCCA
+TCTGCCAGACCCATAATCAGACGTCGATTAACAATGCGTTTAAAGTGAATACGGTAGGTCACTTTTTTCG
+CTGTCGGCAGTACCTGACCGGTGAATTTCACTTCGCCAACGCCCAGCGCGCGGCCTTTACCTTCGCCGCC
+CAGCCAGCCGAGGTAGAACCCTACCAGCTGCCACATTGCGTCCAGGCCCAGGCATCCCGGCATAACCGGA
+TCGCCAATGAAGTGGCATCCGAAGAACCACAGATCCGGATTGATATCCAGTTCTGCTTCAACATACCCTT
+TGTCGAAGTTACCACCCGTTTCGGTCATTTTGACCACACGGTCCATCATCAGCATGTTCGGTGCTGGCAA
+TTGCGGACCTTTAGCGTCAAACAGTTCACCGCGACCAGAGGCAAGAAGGTCTTCTTTTGTATAGGATTCG
+CGTTTATCTACCATGTTCTCTGTAAGCCTTATTTTATTGAAGCACGCAGGATAGCTAACACGTGTACGCT
+GAACAAGTCCGATCAGTTCGGAATAAACCAGTTCAGCCAACGTAATGGCCATGGAAAACGGTGACGTCCT
+TCCTGTTGCGATGCTTGCGCGATACGTTCCTGGATGGTTTGCATCAGCGTCGTTTGGCCTTCGCCATCCC
+ACACCAGATTTAATAATAACGGCAGTGCGTCAGTCACATCGTCTACTGCCCAGATGGTGAATTTGCCTTC
+TTCTACCGCTTTCACCAGTTCACTGTGAAGACTTAAATGGCGAATGTTAGCAGTGGGGATAATGACACCT
+TGTTTCCCGGTTAACTCACGTTGCTGGCAAATAGCAAAGAAGCCTTCGATTTTCTCATTTAAACCACCGA
+CCGGCTGGGCGCGACCGAACTGATCGACTGAACCTGTGATAGCGATACTCTGATTCACCGGCACATCGGC
+GAGGGCGCTGATCAGGGCGCAGAGTTCAGCCATCGAGGCACTATCGCCATCCACTTCACTGTATGACTGC
+TCAAATGTCAGCGATGCTGAGAAGGGGATCTGTTGCTCAAGCTGTAGTTCCGACATCAGGAACGCTTGCA
+TGATCATCATCCCTTTCGCATGGATATTGCCGCCAAGCTCCGCTTTGCGTTCGATGTCGGTGAATTCACC
+ATCGCCAATATGCACAACGCAGCTAATGCGAGAAGGTTCGCCAAAAGCGCGTGGATGACCCGGAAATTCA
+ATGACCGAAAGGGCGTTAATTTGCCCGATGCGTTCGCCTTCGGTTTCAATCAGGATTTGCTCCTGAAGAA
+TCTCATCCTGCATGCGTTCAGCGAGGAAACCTTCGCGCCATTCACGCTGCTGTAGCATTAAGTTTAGCTG
+CTCGCCGGAGAAGGTGTCGCCATCACACAGGGAGGCGACCTCTTTACACTGGCGGAGGATCCACTGCGGG
+CTAAGCGGAAGTGTTTCTTGTTCACCGGTGTAGCGTGCTGCTTCGCGGATAAGCACCGGCCAGGCATCCG
+CTCCCGGTGCAGGTAAGTGATTATGTCTGGCGGTAAATGTCACCCAGCGACACCACTGGCTTACTGACTC
+CGCATCGACAATCTGCAGAGTATCTTCAAATTCGCTATAAATAGCCTGCTCTGAAAGCTCTGGTTCCATC
+TCCTGGAAATCAGCCAATGATTCACGTTCGCCTACCAGAATGACTTTCAGCTTCAATGGCATCGAAGGCA
+CAGAGACGGGGAGAGGGCGCGACTCATCAAACGCAACCCAGTCAAAACGCTCGCGGTTAACGATATTTTT
+CAGCCGCATCCACAGCAGAGGTTGCGCCAGCAGTGTACGCAAAGAGATGATGAGAATACCGCCATTTGCC
+TGATGCACCAGACCAGGCTGCAGGGTAATATCGCCATTAAACTGACGCAGGCAGCCAAAGAGTTGCTCTG
+CTTCTACCCAGTCGGCAGCGACAACTTGCGTTAAAGTCGCAAAATCATCATCTGCACTCACTGCGTGACG
+TAAGCGGATGGTGTGGCCGGAAACCTCATAGTGACCGCCCACCAGTTGGCCTGCATCGCTTTGTAGCGTA
+CGCGCGGCATCAGCAATAAGATTCAGATACTCAGACTCTTCCGGGGCCTTCGCCAGCATAAAAGAGGAGG
+ATGCTCGCGTATGCAGCAACTGCTCCAGCGCAAATTGCAGTCGCGGTTGAGTATCACTGAATAAAGGATC
+GTTTTCGTCAATCAAATGTGGCTGAGCAAATATTTCCTGATAGCTATCGGTATCAGGAACCAGGTCACGC
+CATGCAAGTTTCGTAATGGTCAAAGTTGATGTTTTTTAGTCTGTTGTCAAAGCCGCGATTATACCGTAAC
+CGGCACTGCAGCACACGTAGAAAGCAACGACAATACTCCTGGCATGGGCGTTAAAGCTCACAGGATGGAG
+ATTCTTTTCTTCACTGGCCTAAAAAGCTGATATTCTGTAAAGAGTTACACGGTAACATTGAGATCGCTAT
+GAAATATCAACAACTTGAAAATCTTGAAAGCGGTTGGAAATGGAAGTATCTGGTGAAGAAGCACCGCGAA
+GGGGAGTTAATCACCCGTTACATAGAAGCCAGTGCCGCCCAGGAAGCCGTCGATGAGTTGCTCTCGCTGG
+AAAATGAACCCGTGCTGGTAAATGGTTGGATTGACAAGCATATGAATCCGGAACTGGTCAATCGCATGAA
+GCAGACCATTCGGGCCAGACGGAAGCGCCATTTTAATGCAGAACACCAGCATACGCGCAAAAAATCGATC
+GATCTGGAATTTATCGTCTGGCACCGTCTGGCTGGCCTTGCGCAGCGTCGCGGTAAAACGCTTTCTGAAA
+CGATTGTTCAGCTGATTGAAGATGCGGAAAACAAAGAGAAATACGCGAATAAAATGTCTTCTTTGAAGCA
+GGATCTGCAGGCATTGCTGGGTAAGGAATAACTGTCAAAAGTCAGTTCAATTTACGCAAGGCGAAAAAAA
+ACCCCGCAGCAGCGGGGTTTTTTACCAGACGAGAACTTAAGCCTGCGGCTGAGTTACAACGTCTTTGATG
+CCTTTAACTTCGATCTCTACGCGACGATCCGGAGCCAGGCAATCGATCAGTGCAGCACGCTGTTTCACGT
+TGTCACAGGTGTTGCCAGTAACCGGGTTGGATTCGCCCATACCACGTGCGGAGATTTTGTCTGCCGGGAT
+ACCTTTAGAGATCAGGTAATCAACAACGGACTGAGCACGACGCTCGGACAGAGCCTGGTTATAAGCGTCA
+GAACCGATGCGGTCAGTGTAACCCAGAACAACTACGGAACCGTCTTTCGGATCCAGGTTGCTCAGCTGGC
+TGTACAGCTGATCCAGAGCAGCCTGACCTTCCGGTTTCAGGGTTGCTTTGTTGAAGGTGAACAGAACGTC
+AGACTTCAGAGTGAAGTGCTTGGTCTGTACTTCCGGTGCCGGAGCTGGAGCCGGAGCAACTACTGGAGCT
+GCTTCGCCCTGACCGAAACGGTAGGAAACACCCAGGCTCAGCATGCCGTTGTCCGGACGAGTACCGATGG
+TGTGTGCGTCACCGATGTTGTTGGTCCACTGGTATTCCAGACGGGTAGCGATTTCAGGAGTGATCGCATA
+CTCAACACCGCCAGCGAAGACCGGAGAAACGCCGGTATCGTGGTTTTTACCATCAAAGTTGGATTTAGTG
+TCTGCACGCCATACCATACCACCCAGACGAGTGTATACGTCCAGATCGTCAGTGATTGGGTAACCCAGTT
+TAGCGGTCAGCTGAACGCCCTGAGCTTTATATGCACCGTTTTCAACGCTGCCTTTGTATGGCATACGACC
+TAACCAGTCATAACCCATTTCAAAGCCAACATACGGGTTAACCTGGTAACCACCAAAAGCACCAGCGCCC
+AGTTGGTTTTCATGGGTCGGACCATTGTTGTTGATGAAACCAGTGTCATGGTACTGGGACCAGCCCAGTT
+TAGCACCAGTGTACCAGGTGTTATCTTTCGGAGCGGCCTGCGCTACGGTAGCGAAACCAGCCAGTGCCAC
+TGCAATCGCGATAGCTGTCTTTTTCATTTTTTGCGCCTCGTTATCATCCAAAATACGCCATGAATATCTC
+CAACGAGATAACACGGTTAAATCCTTCACCGGGGATCTGCTCAATATTAACTCTACCGATATCTTCGGCT
+TATGCCGAGCACCCCTGGCGATGTAAAGTCTACAACGTAGTTGAAAACTTACAAGTGTGAACTCCGTCAG
+GCATATGAAAAAAAAGTCTTGTATAAGGTACGTTTAATCTTTTTTGTCAGCGACAATTTACAGAAGAAAA
+TCGCGGAAACCGCTTCAGACAAGCCTCCGCAAGGAAAATTAGTCACGACTGAAAGCATTGGCTGGGCGAC
+AAAAAAAGTTCCAGGATTAATCCTAAATTTACTTAATGATACAAATTAGAGTGAATTTTTAGCCCGGAAA
+GTTGTCTCGTTGCGTGAGAGGATGCGCTTACCGGACGCATAATAAACCCCATAGCGTTACCTTCATTTGC
+CGCATCAACAAGTTCAGCATGCTCTTCTGCAGTCAAATCATCTGCCAACCAACCGATCACCACGCTGTAA
+TTGCCCGTGCGTAAAGCGCGAACCATTGACTCCACGGTGTGGCAAGGGGAGAGCTGGCTAATCTGCATTA
+CTTTCGTTAAGGGTAGCCCAGATGCCTGAACCCATTCGCGACTCAGTTTTTGTTGCGGTGTTAACCAGAG
+TTGCCAGCGCGATTGCTGACCGAGTTGCTGTAACAATGGCAACAGTAGAAGTTGCGTCATCATGGGCTGA
+TCTTCGCGATAGACAACTTCACTGATAAGCCCGGCTGTAGTGTTTTCCGTAGAGACACGCGCAATTTTAC
+TTGCTGCGGATGAGAACGACGAAGAACGATGTGCATAGCCTGAAGTGTACATAATCAATCCAGCCCCTGT
+GAGTTACTGTATGAATGTACAGTACATCCAGTGACGACAAAGATCAACTCTATTTTCGGAAAGAGCCTCG
+CAAATTTTGTCGTTGGTGACGGGAAAACATAAATTAATCTTGCCCCTTAAGAATAAGTTGCCTATTTTCG
+TAGTTAACGGATCCGTTAATGTGAATCATTCTTTTATGTTATGATTTTAAAAGGAATTTTATGAAAAGCC
+TCTCCTATAAGCGGATCTATAAATCACAAGAATACCTGGCAACGTTGGGCACAATTGAATACCGATCATT
+GTTTGGTAGTTACAGCCTGACCGTTGACGACACGGTGTTTGCGATGGTTTCTGATGGTGAGTTGTATCTT
+CGGGCTTGTGAGCAAAGTGCACAGTACTGTGTAAAACATCCGCCTGTCTGGCTGACATATAAAAAGTGTG
+GCCGATCCGTTACCCTCAATTACTATCGGGTTGATGAAAGTCTATGGCGAAATCAACTGAAGCTGGTGCG
+TCTGTCGAAATATTCTCTCGATGCAGCGCTGAAAGAGAAAAGCACGCGCAATACCCGGGAAAGACTGAAA
+GATTTGCCCAATATGTCTTTTCATCTGGAAGCGATTCTCGGGGAGGTGGGGATTAAGGATGTACGGGCGT
+TACGTATACTTGGGGCAAAAATGTGTTGGTTGCGACTGCGGCAGCAAAACAGTCTGGTGACAGAAAAGAT
+TCTGTTTATGCTTGAAGGGGCCATTATCGGTATTCATGAAGCTGCGCTCCCGGTGGCACGCCGCCAGGAG
+CTTGCAGAATGGGCTGACTCTCTTACGCCAAAACAGGAGTTTCCTGCGGAACTTGAGTAATCTGGCGTTG
+CAGACGACCAATCTCTGGCAGTAATGCAATCAATAACCCAACTTGTTGTACGACCAGAGGTTCTTTGCTG
+TCTGCCCGTGGTTCAAGTTGCTGCATCCGCTGTTTCAGGCCAGCTAATGCCTGATTGACGCGTTCTTCAT
+CAGCAGGTTGATGATGTAGCGCGTCATCAACATAGCAAACTGCGTCATCAAGAAACGCCAGAATTTCAGG
+ATTAGTTAACTGCTCCCGGTGAGCACCGAGGGCTGAGATATAGCTGGTAAACGTATGGTTAAGGCACAGC
+AACCGAAACGCGGCTTCGCGAATTTGCGGGGTAACGTTCGGTTCGCTGGACATATTTGATACCACCGACG
+CCAGTTCAGCATCACGGTTGTGTGCATCGCGGCGGGCAATACGATACGCCAGACGGTTATCACGCCCCTG
+ATGGTATTGTTCCAGTATGGCATCGAGATACCGGCAGTTGGCCTCTGTGGCGCGTTCGAGCATTCGCGGC
+AGATTGCGAAACTTCCAGTCAGGCCAGATGTAGCTCACTGCCGCCCACGCAATGGCACAACCAATCAGCG
+TATCGATTACGCGAGGTAACGCCACTTCAAAACCTTCACCCAGCAAGTTGAAACACAGTAGCACCAAAAG
+TGTGATGAACATCGTTGCATGGGCGTATTGCACGTTACGGAAGGCAAAAAAGAGCACGCCGGTAATAACC
+AGCAGCACCAACTGCCCTTCCAGTGATGGCACAAACCACAGCACAGGAATACCAATTGCGATACCTACCA
+GCGTACCAATAATCCTTAACTTCAGGCGGTGGCGCGTGGCGTTATAGTTTGGCTGGCAGACAAACAAACT
+TGTCAGCAAGATCCAATACCCGTGATGCATTCCGGTTATCTGAATGATGGCGTAGCCGAAGCACAACACC
+AGCGACATTCTTACCGCATGACGGAAGAGGGCGGATTCCGGCGTGAAGTGACGGCTAAGACGCAGCCAGA
+TATCACTCAATCCGTGCGGGCTGTCATCAGCGAGCTCATTTTCGTCATTATTATGGGGCAGTGCCTGGGC
+CTGTTCTGATTCAATTGTTGCCAGTTGGGCATCAATAGCGCGTAAATTGTTCAGCAAAAATCCCAGTGTT
+TTGAGTAAATCGGCAGGTGCGCCGTTATCGCGCATCCGCTCCAGCGCAGCATCAATATGCGTAAAAGCGC
+GCTCGAAATGCGGATCATGTTGATAAGGCTGACGCAACAAAATACAGCGTGACAGTTGCTGGCACGCCTG
+GCCCTGCATCGACATCAGCCGCTGAAAACGGAACAGCACGTCGCTGTGGCGAAAATGTTCACGCAATGTT
+TGATACTGAATATGAGAAGAGCTGGCACGCTCGTGAATATCCTGCGCGACAAAGTAATAATGCAGCGTGC
+GACGCGTTCCCCGTTGACCACGATCGCCACGTAAGCGGGTCAGCAGCGAGAGTTTCGTCTGATTCAATGT
+CGCCATCAGCTGACCGTTGGCGAGAGCCAAATCGTACAGCGGTGCCTGGCTTTCATCTTCAATATCAGGA
+TCAAACATGCGCGACTTGAGCTCAAGGTAACGCGCCAGTTGTTCATAGCAACGCGCCAGGTTGTCCTGCA
+GCGGGCGGACCGGGAACAGTAGATGACCAATAAGTGTCAGGACGTTGTACCAGACGGCACCGGCCAGCAG
+ATACATCGGCTGCTGATACCAGTGCTCATACAGTGACGTCCCCAACATAGTGTAAATGGCGATCAGTAAC
+GCACCGAAGGCAATTGTTGCATAGCGTTGACCCAGACCGCCGAGCAAAATGAAGCCGCTGGTTGAGAGCG
+TTAAGCCAATCGCAAATAGCCAGGGCCAGGGAAACAGCAGTTCTACTGAGGTCGAGGCGATAAAAAAGCA
+GAACAGCGTAATGATGAGGTTACGCAAACGTCCCGCCAGTCGGTCATCGAGATCGGTCAGCGCCGCTGCC
+ACCATCCCCAGCGTCAGCGGAATCGTCAGTTTTACATCACCCAGCCACCACGGAAACGCTGTGGTTCCAC
+AAAGCGCAATAAAAATACGCGCGTAATACAGCCAGGCGCTGTTCCAGGTATAGCGTTTGAGCAAAGGACT
+TAGCATAAAGGCCATATTAGTGGATTATTCAAAACGACGACGTGCATTGGCTTCACGCGCAGCTTGCGCT
+GTTTCTACCGATACCACGCGACGACCGACCGGCCATAGTGCAATAGCGGCAATTTTAAAGTTCGCAATGC
+CGACAGGAATGCCAATGATGGAAATACATTGTGCGATGCCCGTTGCAATGTGCATCAGGCATAACCACCA
+GCCAAAGAAAATCAGCCAGAAAATATTCAATACCGTACCGCCAGTATTCAGCAGCACATTTTTGCCCGCC
+GGGTTCAGTTCATCGACATGAATAGCTTCATTGCCATAAGGCACCAGAGACAGTTTAGTGATCTCCCAGC
+AGGATCGTGTCAGCGGTAAGGTAAAAATCAGCACAATACTGACCAGAGTCGCCAACAGCCAGCCCAGAGT
+GGTGGCAAATCCGCCAAGCACAAAGTTCAGAATGTTCAAAACGGTACGCATAAAACCTCGCTTTACTGTG
+GTTTTCAGTAATGGGCGGCAATTGTAACGTTTTTTTGGGCTGGAGCACGTTTTCTCTGACGGTTACACTG
+ATAAGAAATCATTTCGTGTGGATCTACAGAGTCATGGAACTGAAAGCGACAACGCTTGGAAAACGTCTGG
+CACAGCACCCTTACGATCGGGCGGTGATCCTCAATGCCGGGATTAAAGTCTCCGGCGATCGCCACGAATA
+CCTTATTCCTTTCAATCAATTACTGGCGATTCACTGTAAGCGCGGTCTGGTATGGGGCGAGCTGGAATTT
+GTACTGCCGGGCGAAAAAGTGGTGCGTCTGCACGGTACCGAATGGGGCGAGACGCAGCGTTTTTACCATC
+ATCTTGATGCTCACTGGCGGCGGTGGAGTAGCGAGATGAGCGAAATTGCATCTGGTGTTTTACAGCAGCA
+ACTGGATTTAATTGCCACGCGCACCGGAGAAAATAAATGGCTGACGCGTGAGCAAACCTCTGGCGTGCAG
+CAACAAATCCGCCAGGCTTTGTCGGCGTTGCCGTTGCCGGTTAACCGACTGGAAGAATTCGATAACTGCC
+GTGAGGCGTGGCGTAAATGTCAGGCCTGGTTGAAAGATATTGAAAGCGCTCGGTTGCAGCATAATCAGGC
+GTATACCGAAGCCATGCTTACCGAGTATGCGGATTTTTTCCGCCAGGTCGAGTCTTCACCGCTGAATCCG
+GCGCAGGCCCGGGCAGTCGTTAATGGCGAGCATTCTTTGTTAGTGCTGGCTGGTGCAGGAAGCGGAAAAA
+CGTCGGTGCTGGTGGCCCGTGCAGGCTGGTTGCTGGCGCGTGGTGAAGCGTCCCCTGAGCAAATTTTATT
+GCTGGCGTTTGGTCGCAAAGCCGCTGAAGAGATGGACGAGCGTATTCGAGAACGACTACATACCGAAGAC
+ATTACCGCACGCACATTTCATGCGCTGGCGCTGCATATTATTCAGCAGGGTAGCAAAAAAGTTCCGATAG
+TCAGCAAACTGGAAAATGATACCGCTGCCCGTCATGAACTTTTTATTGCTGAGTGGTGCAAGCAATGCAG
+CGAAAAGAAAGCGCAGGCGAAGGGCTGGCGGCAATGGCTGACGGAAGAAATGCAGTGGTCAGTGCCAGAA
+GGTAATTTCTGGGATGATGAAAAATTACAGCGTCGTCTTGCCTCTCGCCTCGATCGCTGGGTAAGTCTGA
+TGCGGATGCACGGTGGTGCACAGGCAGAAATGATTGCCAGTGCACCCGAAGTGATTCGCGATCTGTTCAG
+TAAACGTATCAAGTTGATGGCCCCGTTATTAAAAGCCTGGAAAGGTGCGCTGAAGGCAGAAAACGCTGTC
+GATTTTTCGGGCCTTATTCACCAGGCGATTGTGATTCTGGAGAAAGGTCGCTTTATCAGCCCGTGGAAGC
+ATATTCTGGTTGATGAATTTCAGGATATCTCGCCGCAGCGCGCAGCGTTGTTAGCGGCATTACGCAAGCA
+AAACAGTCAGACGACGTTGTTCGCCGTTGGTGATGACTGGCAGGCGATTTATCGCTTCAGCGGTGCGCAA
+ATGTCGCTCACCACCGCTTTCCATGAAAACTTTGGTGAAGGTGATCGCTGCGATTTAGACACGACTTACC
+GTTTTAACAGTCGTATCGGTGAGGTGGCAAACCGGTTTATTCAGCAGAACCCAGGCCAGCTGAAAAAGCC
+GCTAAACAGCTTAACCAATGGAGACAAAAAAGCCGTCACGTTATTGGATGAGAGCCATCTTGACGCTTTG
+CTGGATAAGCTCTCTGGTTATGCCAAACCGGAAGAGCGCATTCTGATCCTGGCGCGTTACCATCACATGA
+GGCCTGCCAGCCTGGAAAAAGCGGCAACACGCTGGCCGAAGTTGCAAATCGACTTTATGACCATTCATGC
+CAGCAAAGGGCAACAGGCGGATTACGTCATCATCGTTGGCTTGCAGGAGGGGAGTGATGGTTTTCCGGCT
+GCGGCGCGGGAGTCGATTATGGAAGAGGCGCTACTGCCACCGGTTGAGGATTTCCCGGACGCTGAAGAAC
+GGCGGTTAATGTACGTGGCGCTGACCCGGGCACGCCATCGGGTATGGGCACTGTTTAACAAAGAGAATCC
+CTCTCCATTTGTCGAAATACTGAAAAATCTGGATGTGCCGGTGGCGAGAAAACCGTAAGAAACAGGTGGC
+GTTTGCCACCTGTGCAATATTACTTCAGACGGTCTGCGAGATAACGCTGATAATCGGGGATCAGAATATC
+GACCGCGTCGTTAAAATGCGGTGACTGGATAATGAAGTCTGCCGTTGCCACGTTGGTGGCGACCGGAATG
+TTCCATACCGTTGCCAGACGCAGCAAGGCTTTCACGTCAGGATCGTGCGGCACGGCATTTAGTGGGTCCC
+AGAAGAAAATCAATACATCAATTTTCCCTTCTGAGATCAATGCGCCAACCTGCTGGTCACCCCCCATTGG
+GCCACTCAACATCGCGTTGACGTTCATGCCGGTCGCGCGGGAAATTAAGTTACCGGTAGTGCCTGTTGCA
+TACAGTACGTGTTGTTCCAGTAACGGTTGATGCCGTTCCACCCAGCTCATCAGCATTTGTTTGCAGTGAT
+CGTGTGCCACCAGCGCAATATGTTTCCGCGAAGGTAAAGTGCGAGTCGTCAGTTCCATAATGTACATCCG
+TAGTTAACTTTCCTACAGATTACTGTAAGTACTTATCGCTGCAAGATAAAGACTGAAAAAGCCTGCGCAC
+AGGCACAAAAATCTCAGGAGGATGGTTGTTTTTCCGCCCATTGCAGGAAAGTATTTCGCGTTTGTGGGTC
+AGCCAGTTTAAACCAATACTTCAGCCGTTGTTCTGTGAGCACCTGAGACTGCGGCGGAATAGCATCCAGC
+TCGGAAACACCCGAAAGCAGCGTACTGTCATCTGCCATCATCGTGGCAAATTGCGGTAGTGAAGCGCGTT
+TCGCGGATTTGTTATAGCGTTCAACCTCGACCTCATAATCAATCGTTTTTGCAGTTGAGGTAATGGCGAG
+AATATCCAGCTTTACCGGAATCGGCGTCGCATCGCCATCCAACAATTCAAGGCGCGGCGCGGCATCAAAA
+TGGTTAGCTTCCCGCTCATTCTCCAGGCGAGGCAGGCGAAAATTGACCTGGTTGATGAGCTGGGTATTAA
+AACTAACCACCAGTGGAGGGGAGATATAGAGCCGTTCTTCACTATTGGAAAGATGAATCGTCTTCTCAAC
+GCGAAACACTAACTGATGCGGTCCATTGTCCAGTTCAATGCTGTCCGCACCGCGCAGCAGAGAGCTGGAA
+ACCTTCTTACCGTCGAGTACCAGAAGATCGACATCAGTAGAAAGCCGCAGCGTGGTGGCAAAAACGGATA
+CCGGCAAACATAATGCAATCAAGGTGGTCACGATGCCGGTTTTCATAGATAGCTCCTGTTAAAAGACCGC
+CCGAATAATAATGTGTCAAAATTTTTCTTTAATCATACTTACTAACATATAGACATATTTCCCGCTTTTG
+CTCTCATTCATTCGTATTAGCTGCATGGTTGGCATGTCGGCTTTGTCGTACACTTTGTTAAACAGTCTGG
+AGGAAATAATGAAAGAAACCGATATTGCAGGCATTTTAACGTCCACTCACACCATTGCGCTGGTGGGGGC
+AAGCGACAAACCCGATCGTCCCAGCTATCGCGTGATGAAATATCTACTCGACCAGGGGTATCACGTCATT
+CCTGTTTCGCCAAAAGTTGCCGGCAAAACACTGCTGGGCCAGCAGGGGTATGGCACGCTGGCAGACGTTC
+CGGAAAAAGTCGATATGGTCGATGTTTTCCGTAATTCAGAAGCGGCGTGGGGCGTGGCGCAGGAAGCTAT
+CGCCATTGGCGCGAAAACCCTCTGGATGCAACTGGGGGTGATTAATGAGCAAGCGGCAGTGCTGGCGCGT
+GATGCAGGGCTAAACGTGGTGATGGATCGCTGCCCGGCGATTGAGATCCCTCGCCTGGGCCTGGCCAAAT
+AAAAAATCCCCGGAAGGCAAAAACCTTCCGGGGATTTGTTCAGGGATTAGTTACGCAGACGCGGGGCCTG
+GAGTTGTTTGCGGATGGTCTGCGCCAGCTCATCCATGGATGGCTGTTCAGGATGTTCATCCTGCAATTCG
+CTACTTAGCTGGGCTTCAGCCAGGTAGGTATGAACCGGTAGGCCGTTATCATCCTCCATCACCACGTGAT
+ACCACGGAGCGGCGCGAAGCTCGTCATTCACCGCCAGCTCATCAGGCGACGGTTCAGAGAGCGAATAAAC
+CGGGTCGATATCCACGACCACTCCGAGATAACCTAACAGGGAATGGCGGACCTGCTGGCCGATACCGAAT
+TTGCTGGCAATCATAGTCACCTCCCGGGAAATCTTTACCTTTGATATAAGGGTAAAATTCCACATTTCAA
+GTTACATGACGCGACAGGCAAACCCTTTCAGATATAGCCCTTCCGGGTAGGTAGCGATCACCGGATGATC
+GGCTGCCTGACGGAACTGCTCTATAAATTGTACATCACGACCGGCATCAATTGCGGCATCCGCGATGATT
+TTCTGAAATAAATCGCTGGTCATCAGACCGGAACAGGAGAAAGTCAGGAGAATACCGCCTTCATTCAGCA
+ACTGAATCGCCAGCATGTTGATGTCTTTATAACCACGACACGCGCCCATCAACTGGCTTTTATTCTCAAC
+AAACTTCGGCGGGTCCATCACGATAACATCAAATTTTTCACCGCGATCGCGATAAGTACGCAGCAATTTA
+AAGACATCATCACGGACAAACTCTGCCTTGCTCAGATCCAGTTTGTTCAGCTCAACGTTCTGCCGTGCAA
+TATCCAGCGCTTCGTGGGAGGTATCAACGCTGACAACCTGGCTGCAACCGCCCATCAATGCCGATACGGC
+GAAACCACCGGTATAGGAAAAACAGTTAAGTACGCGTTTATTTTCGACGTAGCGGCGGGTAGCCAGGCGG
+CTGTCACGCTGGTCCAGGTAGTAGCCCGTTTTGTGTCCGTGCTGAATATCCACCAGCAGTTTCATGCCGT
+GTTCTTCAATCGGCAGCAGGGCAGGCGGCAACTCGCCGGTGATGGGGCCCTGAGTCAGCTCCATCCCTTC
+TTTTTTACGTACCGCGACGTCGCTGCGATCGTAAATAGCACATTCCGGGTACAGCGTTTGCAGGGCACTA
+ATTAATGCCGCGCGCTGATACTCTGCGCCAGCACTCAGCAGTTGCAGCACCAGAAAATTACCGAAACGAT
+CGATAGTAATACCCGGCAGGCCATCAGATTCTCCGGCGATTAAACGATAGCTGTCGAGGCCATCTTTTTG
+CGCCAGCCAGTCACGCCATTTTTGTGCTTGCTGCAAACGGCGGGTAAAAAAAGCAATGTCGATAGACTCT
+GACGGGTCAAACGTCCAGACGCGCGCCCGGATTTGCGAAGCTGGCGAATAAGCGCCGCGTGCTAACCATT
+TTCCCTGATGATCAACAATATCGATGGTTTCACCGAGGCTGGCTTTACCTTCCATGCGGGCAACGGCCCC
+GGAAAAGACCCACGGATGGCGACGAAGTAATGATTTTTCGCGCCCTTTGGCTAACACTAAACGTACACTC
+ATAATTTACTTTTCTGTCGATGCAAAGAAATGGGCGTCATTGTCCGGAGTTTTCCATGGATTTGCAACGC
+GTCCATTAAGGATAAGGAGAGCAGCAATGTCGAAAGTCTGCATAATTGCCTGGGTTTACGGGCGAGTTCA
+GGGCGTAGGATTCCGCTACACCACGCAGTACGAAGCGAAAAAACTGGGACTAACCGGGTACGCCAAAAAT
+CTTGACGATGGCAGCGTGGAAGTGGTTGCCTGCGGTGACGAAGGGCAGGTGGAAAAATTAATGCAGTGGT
+TAAAAAGTGGCGGCCCGCGTTCAGCGCGTGTGGAACGGGTGCTTAGCGAGCCGCATCATCCCTCCGGGGA
+GTTAACGGATTTTCGTATCCGTTAAATGCATTTTACCGGTTTAGGCAGGCCAGCAATTTTGGTGGCTTGC
+TTTGCCGGACCTTTCGGGAACAGTCGGTACAGATAGCGGCTATTGCCTTTCTCTTCGCCAAATTTATTCG
+CCATCGCTTTTACCAGCATACGAATCGCCGGAGAAGTATTGAATTCCAGATAGAAATCACGCACAAAACG
+CACCACTTCCCAGTGTTCTGGCGACAGCGCAATCCCTTCGTTCTCTGCAATCACCACCGCCAGTGGCTCA
+CTCCACTGGCTGCTTTCTTTGAGATAGCCTTCGGTATCCGTTTCTATCTCTTTACCTTCGAAGATCAGCA
+TAATTCTTTACTACCTTAATCAGACTGGCGGCAGTGTAACAAAAAACAAAGCCCCGCATAAAGCGAGGCT
+ATGAAAGTGTTAGCGGGTGAGATTAATCGCGGCTGGCGAAGCCCAGAATGCTCAGCAGGCTGACGAAGAT
+GTTGTACAGCGAAACATACAGGCTAACCGTGGCACGAATATAGTTCGTTTCACCGCCATGAATGATGTTG
+CTGGTTTCAAACAAAATAGCGCCAGAGGAGATCAGAATGAAGACCGCGCTGATCGCCAGATGCAGGGCAG
+GCAGCTGCAGGAAGATATTAGCAACCATACCAATCAGCACCACCACAATACCCGCCATCAGCATACCGCC
+AAGGAACGACATATCTTTGCGGGTGGTCAGCACATACGCAGAGCAGCAGAAGAACACCAACGCCGTTCCG
+CCCAGTGCCATAGCGATTACGTCACCCATTCCAGCAGACAGGTAGGTGTTCAGAATTGGTCCGAGGATAT
+ATCCCAGAAAACCGGTAAAGGCGAATGCGGAGATAATCCCGGTCGGCTTATTCGCCGTTTTGTAGGTCAG
+GAACATCAAACCATACATACCCACCAGCGTCAGAATCAGACCCGGAGATGGCAGCATCAGCACCGTACTG
+GCAGTTGCGGTAATCGCCGAAAAGGCCAGCGTCAGGCTCAGCAGAAAATAGGTATTACGCAGCACCTTAT
+GGGTGCTAAGCAGCGATGTACGGTCATGTGAAGAACTAACTATACGATCCATTGAGTCACTCTCTATGAC
+AGATGTAATTAATTAAGCAGCATAATGATAATGTGGGAAGGTACACAGAAGTTTTACCCATCTTTACGCA
+TTTGATCTGGAACAGGTTTAACAGCGGATTATCAGGTCATTAAGCAAATATAACGCCCTGAGAATTTCGA
+CAGGCAAAAGAAAAAGGGGTTAGCATTTAGCTAACCCCTTATCTTATTTGGCGGAAGCGCAGAGATTCGA
+ACTCTGGAACCCTTTCGGGTCGCCGGTTTTCAAGACCGGTGCCTTCAACCGCTCGGCCACACTTCCGGAA
+TGACGCGCACTATAAACATCCCGATGCGGCGTGTAAACCCCTAATTTGTTTGTTTGCCTGAAAAACAGCC
+AAAAGTGCATTGTTAGCGTGAAATAACAGCAGACTGATCATTTCATCACCATGAATTCCTTCTCTTTTAC
+TCGTTTAGCAACCGGTTAAACATCCTCACCGCCCGGCAAAAAGAAAAATAGGTCCATTTTTATCGCTAAA
+AGATAAATCCACACAGTTTGTATTGTTTTGTGCAAAAGTTTCACTACGCTTTATTAACAATACTTTCTGG
+CGACGTGCGCCAGTGCAGAAGGATGAGCTTTCGTTTTCAGCATCTCACGTGAAGCGATGGTTTGCCTTGC
+TACAGGGACGTCGCTTGCCGACCATGTGCGCCCGGTGTCCTGCCGGTGTCGCAAGGAGAAGAGACGTGCG
+ATATGAATAACGAGGAAACATTTTACCAGGCCATGCGGCGTCAGGGCGTTACCCGGCGCAGCTTTCTCAA
+ATATTGTAGTCTGGCTGCCACGTCGCTGGGATTAGGCGCGGGAATGGCACCAAAGATTGCCTGGGCGCTG
+GAGAATAAACCGCGCATTCCGGTGGTATGGATCCACGGTCTGGAATGCACCTGCTGTACCGAATCTTTTA
+TCCGCTCCGCTCACCCACTGGCGAAGGACGTCATCCTTTCCCTGATTTCCCTCGATTACGACGATACTTT
+GATGGCTGCCGCCGGAACCCAGGCGGAAGAAGTCTTTGAAGACATCATCACGCAATACAATGGCAAATAT
+ATCCTCGCCGTTGAAGGTAATCCGCCGCTGGGCGAGCAGGGGATGTTCTGTATCAGCAGCGGTCGACCGT
+TTATTGAGAAACTCAAACGTGCCGCTGCCGGAGCCAGTGCGATTATCGCCTGGGGAACCTGCGCGTCCTG
+GGGCTGCGTGCAGGCCGCGCGACCCAATCCGACGCAGGCAACGCCTATCGACAAAGTCATCACCGACAAA
+CCCATTATCAAAGTACCTGGCTGCCCGCCGATCCCGGATGTGATGAGCGCCATCATTACTTACATGGTGA
+CGTTTGATCGTCTGCCGGATGTCGACAGAATGGGCCGTCCACTGATGTTTTATGGTCAGCGTATCCACGA
+TAAATGCTATCGCCGCGCTCACTTCGACGCCGGAGAGTTCGTCCAGAGTTGGGATGATGACGCTGCCCGC
+AAAGGTTATTGCCTGTACAAAATGGGCTGCAAAGGGCCTACCACCTATAACGCCTGTTCCTCCACACGCT
+GGAATGATGGCGTTTCTTTCCCAATCCAGTCTGGTCACGGCTGCCTGGGCTGTGCGGAAAATGGTTTCTG
+GGATCGCGGTTCGTTCTACAGTCGCGTGGTCGATATTCCACAAATGGGTACCCATTCCACCGCCGACACC
+GTCGGTTTAACCGCGCTTGGCGTGGTGGCAGCGGCTGTTGGTGTGCACGCAGTCGCCAGCGCCGTTGACC
+AGCGCAGACGTCATAACCAGCAACCTACAGAAACCGAACATCAGCCAGGCAATGAGGATAAACAGGCATG
+AGCACTCAGTACGAAACTCAGGGATACACCATCAACAATGCCGGACGCCGCCTGGTGGTCGACCCGATTA
+CGCGCATTGAAGGCCACATGCGCTGCGAAGTGAATATTAACGATCAGAATGTGATCACCAATGCCGTCTC
+CTGCGGCACCATGTTTCGCGGGCTGGAGATCATCCTGCAAGGGCGTGACCCGCGCGATGCGTGGGCGTTC
+GTTGAACGTATCTGCGGCGTCTGTACTGGCGTACACGCCCTGGCTTCGGTTTACGCCATCGAAGATGCCA
+TCGGTATTAAAGTGCCGGACAACGCCAATATCATCCGCAACATTATGCTGGCAACGCTCTGGTGCCACGA
+TCATCTGGTGCACTTCTATCAGCTTGCCGGGATGGACTGGATCGATGTGTTAGATGCGCTGAAAGCCGAC
+CCGCGGAAAACCTCCGAACTGGCGCAAAGCCTCTCCTCATGGCCGAAATCATCCCCTGGCTATTTCTTCG
+ACGTACAAAACCGCCTGAAGAAATTCGTTGAAGGCGGGCAGTTGGGGATCTTCCGCAATGGCTACTGGGG
+GCACCCGCAGTACAAACTGCCGCCAGAAGCCAACCTGATGGGCTTTGCCCACTATCTCGAAGCTCTCGAT
+TTCCAGCGTGAAATTGTCAAAATCCACGCGGTCTTTGGCGGTAAAAACCCGCATCCAAACTGGATTGTCG
+GCGGGATGCCTTGTGCCATTAACATTGACGAAAGCGGCGCGGTCGGGGCGGTCAATATGGAACGCCTGAA
+CCTGGTGCAGTCGATCATTACCCGTACGGCGGATTTCATTAACAACGTGATGATCCCCGACGCTTTAGCC
+ATCGGCCAGTTCAACAAACCGTGGAGCGAAATCGGCACGGGTCTTTCTGATAAATGTGTCCTCAGCTACG
+GCGCATTCCCGGATATTGCCAACGACTTTGGCGAGAAAAGTCTGCTGATGCCTGGCGGCGCGGTGATTAA
+CGGCGACTTCAACAATGTGCTGCCAGTGGATTTGGTTGATCCGCAGCAGGTGCAGGAGTTTGTCGACCAC
+GCCTGGTATCGTTATCCCAACGATCAGGTGGGGCGTCATCCGTTCGATGGCATTACCGACCCGTGGTACA
+ACCCCGGCGATGTCAAAGGCAGCGATACCAACATTCAGCAGCTGAATGAACAGGAACGCTACTCGTGGAT
+CAAAGCGCCACGCTGGCGCGGTAACGCGATGGAAGTGGGGCCGCTGGCACGCACGTTAATCGCTTATCAC
+AAAGGCGATGCTGCGACCGTTGAGTCGGTCGATCGTATGATGTCGGCGTTGAAACTGCCGCTTTCCGGCA
+TCCAGTCAACGTTGGGCCGCATTTTGTGTCGCGCGCACGAAGCGCAGTGGGCCGCAGGTAAGTTGCAGTA
+TTTCTTCGATAAACTGATGACCAACCTGAAAAACGGCAATCTTGCCACCGCTTCCACGGAAAAATGGGAA
+CCAGCAACCTGGCCGACAGAGTGCCGTGGTGTCGGTTTTACCGAAGCACCGCGCGGGGCGTTAGGCCACT
+GGGCTGCCATTCGCGATGGCAAGATTGATCTCTATCAGTGCGTGGTGCCGACCACCTGGAACGCCAGCCC
+GCGCGATCCCAAAGGGCAGATTGGCGCTTATGAAGCGGCGCTGATGAACACCAAAATGGCGATTCCCGAG
+CAACCGCTGGAGATCCTGCGTACTCTGCACAGCTTTGACCCGTGCCTCGCCTGTTCAACACACGTGCTGG
+GCGACGACGGTAGCGAGCTTATCTCCGTGCAGGTGCGTTAACAGCGAAGGAGAATCATCATGCAACAGAA
+AAGCGACAACGTTGTCAGTCACTATGTCTTTGAAGCACCCGTGCGGATATGGCACTGGCTGACAGTGTTA
+TGCATGGCGGTGTTGATGGTCACCGGTTACTTTATCGGCAAGCCGCTACCTTCCGTCAGCGGCGAGGCGA
+CGTATCTGTTCTATATGGGCTACATCAGGTTAATTCACTTCAGCGCCGGGATGATTTTTACCGTGGTCTT
+GCTGATGCGGATCTACTGGGCTTTTGTTGGCAATCGTTACTCCCGCGAGCTGTTTATCGTGCCGGTATGG
+CGTAAAAGCTGGTGGCAGGGCGTGTGGTATGAAATCCGCTGGTATCTGTTTCTGGCAAAACGTCCGAGTG
+CCGATATAGGCCATAACCCCATCGCCCAGGCGGCGATGTTCGGCTATTTCCTGATGTCAGTTTTTATGAT
+CATCACCGGCTTTGCGCTGTACAGCGAACACAGCCAGTACGCTATTTTTGCGCCGTTCCGTTATGTGGTG
+GAATTTTTCTACTGGACGGGTGGCAACTCAATGGACATTCACAGCTGGCATCGGCTGGGGATGTGGCTGA
+TTGGCGCGTTTGTGATCGGTCATGTCTACATGGCGCTGCGTGAAGACATCATGTCCGACGACACGGTGAT
+CTCCACTATGGTCAACGGCTACCGTAGCCACAAATTTGGCAAAATAAGTAACAAGGAGCGTTCATGAGCG
+AGCAACGCGTGGTGGTAATGGGGCTGGGCAACCTGCTGTGGGCCGATGAAGGCTTCGGCGTGCGGGTGGC
+GGAACGGCTGTATGCCCATTACCACTGGCCAGAGGATGTGGAGATTGTCGATGGCGGCACCCAAGGACTG
+AACTTGCTGGGGTATGTCGAAAGCGCCAGTCATCTGTTGATTCTCGATGCCATTGATTACGGGCTGGAAC
+CCGGAACGCTACGAACGTATGCCGGAGAACGCATTCCGGCTTATCTCAGCGCGAAGAAAATGAGCCTGCA
+CCAGAACAGTTTCTCCGAAGTGCTGGCGCTGGCAGATATCCGCGGACATCTGCCAGCACATATTGCCCTC
+GTCGGTTTGCAACCCGCGATGCTCGACGACTACGGCGGCAGCCTGAGCGAACTGGCGCGGGAGCAACTGC
+CCGCCGCGGAACAGGCGGCGCTGGTACAGCTGGCGGCCTGGGGAATTGTACCGCAACCGACTGAGGAGTT
+GCGCTGTCTCAATTATGACTGTCTGTCGATGGAAAATTACGAAGGCGTTCGCTTGCGTCAGTACAAGATT
+AGGCTGGAGGAACAGGGATGAGCAACGACACACCATTTGATGCGTTGTGGCAACGAATGCTGGCGCGCGG
+CTGGACGCCGGTCAGTGAATGCCGTCTTGACGACTGGCTTACGCAAGCGCCAGACGGCGTGGTGTTATTA
+AGTAGTGACCCGAAACGCACGCCAGAAGTCAGCGATAACCCGGTCATGATTGGCGAATTACTGCGCGAGT
+TTCCCGACTATACATGGCAGGTAGCGATTGCTGATCTTGAGCAGAGCGAAGCCATCGGCGATCGCTTTGG
+CGTCTTTCGCTTTCCCGCCACATTAGTGTTTACCGGCGGAAACTATCGCGGCGTGCTGAATGGTATTCAC
+CCGTGGGCGGAACTGATAAACCTGATGCGTGGGCTTGTCGAACCACAACAGGAGCGTGCCTCATGAGCGA
+AACTTTTTTCCATCTGCTGGGGCCAGGAACGCAACCGAACGATGACAGTTTCAGCATGAATCCACTGCCG
+ATCACCTGTCGGGTGAATGGTGAACCGAGTATGGCGGCCCTGGAGCAATGTGCTCACAGCCCGCAGGTGA
+TTGCGCTGTTAAACGAGTTACAACATCAACTAAGCGAACGCCAGCCGCCGCTGGGTGAGGTACTGGCAGT
+CGATCTGTTAAATCTCAACGCCGACGATCGTCACTTTATCAATACGCTTCTCGGGGAAGGGGAAGTGTCA
+GTGCGCATTCAGCAGGCTGACGACAGTGAAAGTGAAATTCAGGAGGCGATCTTCTGCGGATTATGGCGGG
+TACGCAGACGTCACGGCGAACAGTTGCTGGAAGACAAACTGGAGGCTGGCTGCGCACCGCTGGCGTTGTG
+GCAGGCGGCAACGCAAAACGTCTTGCCGACAGATTCGCTGTTACCGCCGCCCATTGATGGCCTGATGAAT
+GGCCTACCGTTGGCCCATGAATTACTGGCACATGTACGTAACCCCGACGCGCAGCCGCACAGCATTAATC
+TGACGCAATTACCCATCAGCGAAGCTGACCGGCTTTTTCTCTCACGTCTCTGTGGGCCGGGAAATATTCA
+GATTCGTACCATTGGCTATGGCGAGAGCTATATCAACGCCACGGGGTTACGCCATGTCTGGCATTTACGC
+TGTACGGACACCTTAAAAGGCCCGTTACTGGAAAGTTATGAAATCTGCCCAATACCGGAAGTGGTGCTGG
+CAGCGCCAGAAGATTTGGTCGACTCTGCGCAGCGGCTTAGCGAGGTATGCCAGTGGCTGGCGGAGGGGGC
+ACCGACGTAAAAAGACGGTAAGTATCGCTTTCAGGCTTATGAATATCGCAATCGGCGAATACCTCTGGTC
+GTAGAGTTTCAGGATAAAGAGGGAGATCTACCATTAACGGGTTATTTTTCTCTCTTCGCCTACAGGAGTG
+CGCATGTGGGATGTCATTGATTTATCGCGCTGGCAGTTTGCTCTGACCGCGCTGTATCACTTTTTATTTG
+TACCCCTTACCCTGGGGCTGATTTTTTTGCTGGCTATCATGGAAACCATTTACGTGGTCACCGGCAAAAC
+AATCTACCGCGATATGACGCGCTTCTGGGGTAAGCTCTTCGGTATCAACTTTGCTCTTGGCGTGGCTACC
+GGCCTGACGATGGAGTTTCAGTTTGGTACTAACTGGTCATTCTATTCCAACTATGTGGGCGATATTTTTG
+GCGCACCACTGGCGATGGAAGCATTAATGGCCTTCTTCCTCGAATCCACCTTTGTTGGGCTGTTCTTCTT
+CGGCTGGCAACGGCTGAATAAATACCAGCACCTGCTGGTGACGTGGCTGGTGGCGTTCGGTTCAAATCTC
+TCTGCGTTGTGGATATTGAATGCCAATGGTTGGATGCAATACCCGACTGGTGCGCATTTTGATATCGACA
+CCCTGCGTATGGAGATGACCAGTTTCAGCGAGCTGGTCTTTAACCCGGTCAGCCAGGTGAAATTTGTGCA
+CACCGTAATGGCGGGATACGTGACCGGGGCTATGTTTATTATGGCGATCAGCGCCTGGTATTTACTGCGC
+GGACGGGAGCGCGATGTCGCATTACGCTCGTTTGCCATCGGTTCCGTCTTCGGTACTCTGGCGATTATCG
+GTACGCTGCAACTCGGAGACAGTTCTGCGTATGAAGTCGCGCAAGTACAACCGGTAAAACTGGCGGCGAT
+GGAAGGTGAGTGGCAAACAGAACCTGCACCTGCACCGTTCCATGTGGTTGCCTGGCCGGAACAGGATCAA
+GAGCGTAACGCCTTTGCCATCAAAATTCCCGCGCTGCTAGGGATCCTCGCCACTCACTCATTAGATAAAC
+CCGTGCCGGGTCTGAAGAATTTGATGGCTGAAACCTACCCACGCTTGCAACGCGGACGTATGGCGTGGCT
+GTTAATGCAGGAAATATCGCAAGGCAATCGTGAGCCGCATGTGTTGCAGGCATTCCGGGAGCTGGAAGGC
+GACCTGGGTTACGGCATGTTGCTCTCCCGCTATGCACCGGATATGAATCATGTCACAGCCGCACAGTACC
+AGGCGGCGATGCGTGGCGCGATACCTCAGGTTGCGCCGGTATTCTGGAGTTTCCGCATCATGGTGGGCTG
+TGGTTCCCTGCTGCTACTGGTGATGCTGATTGCGCTTGTTCAGACGCTGCGTGGCAAAATCGACCAGCAT
+CGCTGGGTGCTGAAAATGGCGCTCTGGAGTTTGCCGCTGCCGTGGATTGCGATTGAAGCCGGATGGTTTA
+TGACCGAGTTTGGTCGTCAGCCGTGGGCGATACAGGACATCTTACCGACATACTCCGCGCACTCCGCCTT
+AACCACAGGACAACTGGCTTTCTCACTGATCATGATCGTAGGGCTTTACACCCTGTTCTTAATCGCCGAA
+GTCTACCTGATGCAGAAATATGCCCGTCTGGGGCCGAGCGCGATGCAGAGTGAACAACCGACGCAGCAAC
+AGGGGTAAAGGAGAAAATCATGTTTGATTATGAAACATTGCGCTTCATCTGGTGGCTGCTGATTGGCGTG
+ATCCTGGTGGTCTTTATGATCTCCGACGGATTTGACATGGGGATCGGCTGTCTGCTGCCGCTGGTGGCGC
+GTAATGATGATGAACGTCGGATAGTGATAAACAGCGTTGGCGCGCACTGGGAAGGCAATCAGGTCTGGTT
+GATCCTCGCAGGTGGGGCATTATTTGCCGCCTGGCCCAGAGTGTATGCAGCGGCGTTTTCCGGCTTTTAT
+GTGGCGATGATTCTGGTGCTGTGCTCGCTGTTCTTCCGCCCGCTGGCCTTTGATTATCGCGGAAAAATCG
+CCGATGCACGCTGGCGTAAAATGTGGGATGCCGGACTGGTCATCGGCAGTCTGGTGCCGCCGGTAGTCTT
+CGGTATTGCATTCGGCAATTTGCTGCTCGGCGTGCCGTTTGCTTTCACACCGCAATTACGCGTGGAATAT
+CTCGGCAGCTTCTGGCAACTGCTGACGCCATTCCCTTTATTGTGTGGATTGCTCAGTCTTGGGATGGTGA
+TTTTGCAAGGTGGCGTCTGGTTACAACTGAAAACTGTTGGTGTGATTCATCTGCGTTCACAGCTGGCGAC
+CAAACGCGCCGCACTACTGGTGATGCTGTGCTTTTTGCTGGCGGGTTACTGGCTGTGGGTTGGTATTGAT
+GGCTTTGTACTGCTCGCCCAGGATGCTAACGGTCCTTCCAATCCGTTAATGAAACTGGTGGCAGTGCTAC
+CTGGTGCCTGGATGAACAATTTCGTCGAATCGCCCGTTTTGTGGATCTTCCCGCTGCTGGGGTTCTTCTG
+CCCATTGCTGACGGTGATGGCGATTTATCGTGGTCGCCCGGGTTGGGGATTTTTGATGGCGTCATTGATG
+CAATTTGGCGTGATTTTCACGGCAGGCATCACGCTGTTCCCCTTTGTCATGCCGTCAAGCGTGAGTCCGA
+TCTCCAGCCTGACGTTGTGGGACAGCACTTCCAGTCAGCTGACGCTGAGCATTATGTTGGTAATCGTGCT
+GATATTTTTGCCCATTGTGTTGCTCTACACTCTCTGGAGCTACTACAAAATGTGGGGGCGCATGACGACA
+GAAACTCTCCGCCGTAACGAAAACGAGCTGTACTAAGGAGCAGGAACAATGTGGTATTTACTTTGGTTCG
+TCGGCATTTTGTTGATGTGTTCGCTCTCCACCCTTGTGTTGGTATGGCTGGACCCGCGATTGAAAAGTTA
+ACGAAGGTAAGCCTGATGAGGCGCATTAGCGTCGCATCAGGCAATCAATAATGTCGGATATGAAAAGCGG
+AAACATATCGATGAAAGCGATCTTGATCCCATTCTTATCTCTTCTGATTCCGTTAACACCGAAATCTGCA
+TTCGCTCAGAGTGAGCCGGAGCTGAAGCTGGAAAGTGTGGTGATTGTCAGTCGTCACGGTGTGCGTGCAC
+CAACCAAGGCCACGCAACTGATGCAGGATGTCACCCCTGACGCATGGCCAACCTGGCCGGTAAAACTGGG
+TTGGCTGACACCGCGCGGTGGTGAGTTAATCGCTTATCTCGGACATTACCAACGCCAGCGTCTGGTGGCC
+GACGGATTGCTGGCAAAAAAGGGCTGCCCGCAGCCAGGTCAGGTCGCGGTTATTGCTGATGTCGACGAAC
+GTACCCGTAAAACAGGCGAAGCCTTCGCCGCCGGGCTGGCACCTGACTGTGCAATAACCGTACATACCCA
+GGCAGATACGTCCAGTCCCGATCCGTTATTTAATCCTCTAAAAACTGGCGTTTGCCAACTGGATAACGCG
+AATGTGACTGACGCGATCCTCAGCAGGGCAGGAGGGTCAATTGCTGACTTTACCGGGCATCGGCAAACGG
+CGTTTCGCGAACTGGAACAGGTACTTAATTTCCCACAATCAAACTTGTGCCTTAACCGTGAGAAACAGGA
+CAAAAGTTGTTCATTAACGCAGGCATTACCATCGGAACTCAAGGTGAGCGCCGACAATGTCTCATTAACC
+GGTGCGGTAAGCCTCGCATCAATGCTGACGGAGATATTTCTCCTGCAACAAGCACAGGGAATGCCGGAGC
+CGGGGTGGGGAAGGATCACCGATTCACACCAGTGGAACACCTTGCTAAGCCTGCATAACGCGCAATTTTA
+TTTGCTACAACGCACGCCAGAGGTTGCCCGCAGCCGCGCCACCCCGTTGTTGGATTTGATCATGACAGCG
+TTGACGCCCCATCCACCGCAAAAACAGGCGTATGGTGTGACATTACCCACTTCAGTGCTGTTTATTGCCG
+GACACGATACTAATCTGGCAAATCTCGGCGGCGCACTGGAGCTCAACTGGACACTTCCAGGTCAGCCGGA
+TAACACGCCGCCAGGTGGTGAACTGGTGTTTGAACGCTGGCGTCGGCTCAGCGATAACAGCCAGTGGATT
+CAGGTTTCGCTGGTCTTCCAGACTTTACAGCAGATGCGTGATAAAACGCCGCTATCATTAAATACGCCGC
+CCGGAGAGGTGAAACTGACCCTGGCAGGATGTGAAGAGCGAAATGCGCAGGGCATGTGTTCGTTGGCCGG
+TTTTACGCAAATCGTGAATGAAGCACGCATACCAGCGTGCGCTCTCCATCAAGACAAATAAACATTTGCC
+GCTGTTGGTCCACGCAGGCCATTTACGCGGCAAAATTCCACGCGTAATCCTGGTATAAGCACTTCTGCGT
+CGCGGGGAGTGAATGCGGAAATATGGACCTGGACTTCTTTACGACCGTCGGAGGGGATAATGAATCCTTT
+GCCGCTTTTGCGATCAAAGGTTTTGACAATTCCTGTCATTTTACGGGACAAACAAATTCCTTACTGAAAA
+TACTGCGCTGCACTATACGGGGTTAATAAAATAAAGCCAGCGATATTTAAGACCGCCGGACGGCTAAAAT
+AAAATTTGCTTAATCTCAATTATCATGCGTTAATAGCTGCGTCGGTTTGAAAGACAGACAGCATACAAAG
+TAGTTTACTAAAGCAGTTCTCATTATCAGGCATTATCCCCTTCTTTTGAGTCTCTCTCCTGAACACTAAG
+TAGTTTCTGTATTAAAGCCCTGTTTGCCGAAAGGCCCAAAATGAAGGAAGTAAAATATGTCTAATAAAAT
+GACTGGTTTAGTAAAATGGTTTAACGCAGATAAAGGTTTTGGCTTTATCACTCCTGATGATGGCAGCAAA
+GACGTTTTCGTCCATTTCACTGCCATCCAGAGCAATGAATTCCGCACGCTGAACGAAAATCAGAAAGTTG
+AATTTTCTATTGAGCAGGGGCAACGTGGTCCCGCGGCAGCGAACGTTGTTACGCTCTAAGGTTGCCGTTA
+TTACTCAACATCTCCATTTCCGCTGTCCATGTTGCCATGGTTCACAGTACCGCACATCGGCATTCGATGT
+GACGGAGCGAAATCCTTTAGGAGCAAAGTGCATTTTTTGTAAATCGACGATGATCACCTTTGATAACGTC
+GCGCTGCAAATACGCACTGACCATGCGCCGCTGGATTTCACAAAATAATATCTGGCTCCCTCGTGGAGCC
+TTTTTTATATCTGCCTTATTTTTCTTCAATGCTGTATGTATAGTAAGCGATAACCTGTTGATTATTGAAT
+CTTTCGGGGAGATGGCTTATAACATTTCTTACCTGACCAGGGTACCGGGAACCAACACCTTACTGGCGTG
+TTGCTGTCTTTTAAGACCAGAAGAGGTTAACAGTGAATATTGAAGAGTTAAAAAAACAAGCCGAAACGGA
+AATCGCCGACTTTATCGCGCAAAAAATCGCCGAGCTGAACAAGAATACAGGGAAAGAAGTCTCTGAAATT
+CGCTTCACCGCACGAGAAAAAATGACCGGGCTTGAAAGTTATGATGTCAAAATCAAAATAATGTGATTTT
+GTGAACATCACCCCGTGCGAGGTGATGTTCCGCTTGTTGCTAATTTAGTGACCAATCATTGGCGATTGCG
+GAATTAAGCGTTGGTACAATTCCTCCGGCACCGGGCTTTGCCATACTCCCGCATACATTGCGTAACCAAT
+CGCCGCAAACATAATCCCCATAACCAGTAGCGTCATTAACCAGCCAGACAACGCAAAGGCTTTTTTATTT
+GCCGCAGGTTTTTGCAGTGAAAAGGTCAATGTTGAGGCTACCGGACATGGCTCTACGCAAGTCATACAGC
+CGGTACATTCCACTGTTCGTACCTGAATTAATTTATCGACCGGGATCCGTGATGGGCAACTTTTTGCGCA
+TTTGCCACAATCGATACAACTTTCGGCATTGCGACGAATCTTAAACGGCGATAATAGCGAAACCACGCCC
+ATCAGCGCGCCATATGGGCAAAGATAACGACACCAGACATGGCGAATAAACAGGCTGGCAATCAGCAAAA
+CGATCATGCTGATTAATGTCGCGGTCCCCATATGACGAAAGAAATCGAGCATTTTAACGTCCATCACCAC
+GCTGTAGGGCGACAACATAAAATAGTGAATCGCCTGAGCGGGCATCAATAACGCGATATAGAGAAAAAAA
+CTCAACAGCAAATACTTCACGCCGCGCAGAGGAATATCCAGCCAGCGGGGAAGGACAAATTGCCGACCAA
+ACAGTTTGTTACCGAGATCGCCGATTAATTCCGAAAGCGTACCAACCGGGCATAACCATGAACAAAAGGC
+CTTTTTGAGTAATAGACTGATGACGATAAAAGCGACCAATAACAGCATCGCGGCGGCGTGGACGGACGGT
+AACTGACCTGTTGCAAGGCTATATTTCAGATTCATCAGACCGGCAATCGGTAGCCAGCCTTCGATACCTC
+CCGGTCTGGTGATAAATGTCGTACTACCTGCCGTTTCGTAATAGCGCACCCAATACCAGAACGTGATGGC
+AATATAAATATTAATTGCCAACAGTAATAATTGCGTCGCTTTACGCCAGGTCGTGGCATTGCGCCAGTCA
+TTCCACGGTAATTTGCCGCCCGTCGTGCCTGGCCGCCGCTGCCAGCGGGTTCTTTTTTTCTCTGCCATGA
+TTTTGCCAGTCCGTTAAGTTGCATACCAAATGCCACTATTCTAGTTGTTCTTAACTGGCTGATATTGATT
+CAAATCGCGTTCAGGTTTTTCTTATTAACCATGCTTCCAGAGCGGCAACACTGCGTGTAATTTCTTCGTG
+TGGAAGGGGGGCAGATAATGGCTGCTGCTCCAGTTGTGCGCATTGCTGGCTGGCGCTACGCATTCCCAGA
+CTCGAGCAACTGCTTTTTAGCTGATGTGCGGCACGCTTTATTTTCTCGTTATCCTGACTGGCGCGGGCAA
+TGTCGATTTCATCGAGAAGCGGCAGGGCATGTTGTTTAAATAATATCAGCCATTCGTGGATCTTCTCCGC
+CCCCATTAAATGAGCATCTTCATTGAGTTGCGATACATCCAGCGGTTGATCATTTTTGACTTGCAGTTGG
+AGATAGTGCGCCAGTAATTGACCGAGCACTTCACGCGGCACCGGTTTAGGGATAATCCCGCGAAATAGCG
+AACTGGTACGCTGGCGCAGTGTTTCGTCGATGACATGAGCGCTAAAGCCAATCAAAACCAGCGACGGATA
+TTGCTGTGCCAGTTGCCGGGCAAGCGTAATGCCGTCGATATCCGGCAGATCAAAATCCACCAGTGCGACA
+GCAAATGGTTCACTATTTTGCAGTGTCTCTAAAGCCTGCGCGGCATTTCCTACGGCAACGACCTGCGCCC
+CACTGCTGTTCAACATCTCAACGGTAATCCGCTGGGTTAGCGGGTTATCTTCAATTAACAGCAAACGTAA
+ACCGTCCAGACGCACCGCCTGATTGACTGTTTTTGGCACGGGTGCAGTGGCAATACGTAACGGCAAGCGT
+AAACAAAAACAGCTTCCAACCTCCGGCGTGCTGGTGGCGCTCAGTTCGCCACCCATCGCCTGGGCCAGAC
+GGCTACTGATAGTCAGCCCCAGCCCGGTGCCGCCGCGTTTGCCGCTAACCTGAACAAATGGCTGGAAGAT
+TTCAGCCAGTTTCGCGGGATCAATACCGCAGCCGCTGTCTTCCACTTCGACCAGCCATTGTTCGCCATCA
+GTGCGACTACGCAGAATAATGTGCCCTTCGTCGGTGAAACGCAGGGCGTTGCTCAACAGGTTGGTAATGA
+CCTGACGAATACGCCGCGGATCGCCCATTAACGCAGTCGGTACATCGTCGGCAATTTCTGTTGCCAGGCG
+AATCGGGCGACCTTTCACCCTTCCGCTCATTAATTGCAGGGTACTTTCCAGCAGCGGGCGCGGTTCAAAG
+GGTTCATCGCTGACCGAAACATTCTTGCCGCCTGCTTCGATAGCCGAATAATCGAGAATATCGTTGAGGA
+TGGTCAGCAACGATTCACCAGAGTCGGTAATCGCCCGCAAATCATCGCGCTGGGCGTTAAGTGCGGGGTT
+ATCTGCCAGCAGTTGCGCGGTGCCGAGAATACCGTACAGCGGTGTGCGGATCTCATGGCTCATCGCCGCC
+AGAAACGCCGATTTTGCCTGGCTGGCTTTTTCTGCTTCCGCCCGTGCCTGTCGGTGTTCTATCACCAGTT
+CCTGCAATTCAGCTGTACGCGCTTTGACCTGCGCCGCCAGCTGTTCGCGGTGGCGATTCAGTGCATGAAC
+ACTGCTGCGAAACGCATCCATCAGCCGCCCGATGGTATCCAGTTCCCGTACGCCAGCGGTTTCCGGGAAA
+GGGGAGTCGATATCACCATCCAGCAAGCGTTGCAGCGCCTGCGTTTGTTCTGCAAGAGGGCGCGTGACTG
+AGCGATAAACCACGCGCCAGAGGATCAGAATCAGTGCGCAAAGAGAAACTAATCCCAGCAATAACAGGCT
+GTATTGCCCGCGTGCACTGGCTTTTTCCAGATGTGCCAGCCCGTGCTGATTACGCAGCTCAATGGTGTCG
+ACCAGCTGACTGACTTCGCTACTAAACTGCGCGAATTGGGCGATGTTATTTTGGGCGAGAGTTTGCAGGT
+GATTGCTGATTTCACTGTCCTGCTGATACAGCGCCAGCAAATCGCTATATTGGCTAACGGTAGTTAACGT
+TGTTGCTACCTGAGTACGAACACCCGGATCTTCAATGCGTATTTGCCGACGTTGCAGAATTTTCACCGCA
+TTATTGAGCTGCTTTTCCAGCGTTGGCGCATTTTTCTGGATCTGTTCCAGCCCCAGATTCATCACCATTT
+GCTGCACCCGCAGGGCGCTAAGGCGCAGTTCATTCATCTGGTTAACATACTCAAGATCGATATCAATCAG
+CCGATCGAGTGCACTTTCTGCGGCCTGACGCTGATGTTGTTCGATCAAATCGTAAATCCCGGCCTGGGTC
+GCTCCGGCGGAGGTTGCCGCATTATTCGCCTGACCTTGCGCCAGGCGTGCGATTTCATCGGCGGCGGCGA
+CTATCTGCTGACTGAGTTGCTGTTGTTGCTGGCGAAGTTGCAAACGCTGCCCCACCAGTTCCCCTTGCTG
+ACGTAACGAACGGGAGATCTCCTGCTCCTGTTGTTCAATAGCGGTGGTGTCAAAACCTTGTTCCCGTAAC
+GCTTGCAGCAACGCATTAATCTTCAGGCTTTGTGCGGTGAGCATTCGCCCCTGCGCCTGCCACATCTTTT
+CGTTATCGGCACTGGTCAGGTTCTGCGCGGCGAAAAGTTCCCAGGCGCTGGCTTCGCTCAACTGGCGCGC
+CATATTCATGGTAGGAATCAATGCCTGAGTGTTGTCTTTTTCCACCTGGCTGATAAAGCGCAGGTTGTAC
+CATCCCACCAGGGTACTGGTCAGGGTTAACAGCGCCATCAGGGCAAAGCCCATCCAGAGTCTTCGGGTCA
+GGGTTAAATTCACGGTCGGTGCACTTTAGGTGAAAAAGGTTGAGTCGCAAAGCAGAATGCATCTAGCATA
+AAGCCTTATTATTGATGAGGCTATCATGCGCGTACTGCTATTTTTACTTCTTTCCCTTTTCATGTTATCG
+GCATTTTCGGCTGATAACCTGTTGCGCTGGCATGATGCGCAGCATTACACGGTGCAAGCCTCTACGCCGC
+TAAAAGCCAAACGCGCATGGAAACTGTGCGCGCTTTATCCCAGTTTGAAAGATTCATACTGGTTATCGTT
+GAACTATGGTATGCAGGAGGCTGCTCGCCGCTACGGTGTGGATTTAAAAGTGCTGGAGGCAGGCGGCTAC
+AGCCAGTTGGCTACCCAGCAAGCACAAATCGACCAGTGTAAACAGTGGGGCGCAGAGGCCATTTTGCTCG
+GTAGTAGCACGACGTCATTTCCCGATCTGCAAAAGCAGGTAGCAAATCTGCCGGTGATCGAACTGGTGAA
+TGCTATTGATGCTCCCCAGGTGAAAAGCCGCGTTGGTGTGCCCTGGTTTCAGATGGGCTATCAACCAGGG
+CGATATCTGGTGCAATGGGCGCACGGTAAACCACTGAACGTGCTGTTGATGCCCGGCCCCGATAACGCCG
+GGGGCAGTAAGGAGATGGTAGAGGGTTTTCGCGCAGCCATTGCCGGAAGCCCGGTACGTATTGTTGATAT
+TGCGCTCGGTGATAACGATATTGAAATCCAGCGTAACCTGTTGCAGGAGATGCTGGAACGCCATCCAGAA
+ATCGACGTCGTTGCCGGAACGGCCATTGCGGCAGAGGCGGCAATGGGGGAAGGGCGCAACCTGAAAACGC
+CGCTTACCGTGGTGTCGTTTTATCTTTCACATCAGGTGTATCGCGGGTTGAAGCGGGGAAGAGTGATTAT
+GGCAGCCAGCGATCAAATGGTCTGGCAGGGGGAACTGGCGGTTGAGCAGGCTATCAGGCAATTACAGGGG
+CAATCGGTGTCTGATAATGTCAGCCCACCGATTTTAGTCATGACGCCGAAAAATGCCGACCGCGAACATA
+TCCGCCGCTCGCTGTCACCAGGGGGATTTCGTCCGGTTTATTTTTATCAGCACACATCAGCGGCTAAGAA
+ATAACCTTCGCCATGTTGTGTCACCAGTAAATCCGCACTGAGTTTATGGCGTAAACGACGAATTAACACA
+TCGACGGTGCGCAGGTCAGGGTTTTCCACCCGACGCGCAGAGAGCATACGCAGCAGACGTTCACGGCTGA
+GAATTTCGCCCGGATTAGTCACAAATGCCACCAGCATTTCATACTCTGCGCGGGTCAGTTTAATCGGCTC
+GCCATCCCGCTCCAGCGTATGGCGCGACACATTCAGGCAATAACCGGCAAAGCGATAGCAGTTGTCCTGA
+GTGTGCGGTTGCGCCTGTCGCGCGAGGTCGATTCGCCAGAGCAAATTTTTCACTCGTACCACCAGTTCGC
+GCAGCTCCAGCGGTTTGGTGACGTAATCGTCTGCGCCCATTTCCAGCCCAACAATACGGTCAATCCGATC
+GCTGCGTCCGGTAACCAGAATAATCCCCACCGTTGAGCGTTCTCGCAGGGCGCGGGTTAACATCAGGCCA
+TTTTCATCGGGCAAATTGATATCCAGCAGAATCAAATCCACCGGCTGATTCTGCATAATTTCCCGCAGCC
+CGGCACCGCTCGCCGTAACGGAAACGGTATACCCCTCCTGAGTGAAGTAAGATTGTAATCGCGCCTGGGT
+AACCGGCTCATCTTCAACAATAACAATGTGATGTGGCATCAGAGGGTTTTACTCATTCTGTTCATATCTG
+TTCATATTCTGCCGTAAGCCGTTCATCCTGACCAGTGCCGCTGTTCATATTTGCTCATTAAGATCGCTTC
+ACTAAACCATAATTTTACAGGGGCTATTATGCGGAAACTCTGGAACGCGCTACGCCGACCCAGTGCTCGT
+TGGTCGGTACTGGCGCTGGTCGCTACTGGGATTGTGATTGGCATTGCGCTGATTGTATTGCCACACGTTG
+GGATCAAAGTCACCAGCACAACCGAATTTTGTGTCAGTTGCCACAGTATGCAACCGGTGTATGAAGGATA
+TAAACAGTCGGTGCATTTCCAGAACGCCTCCGGCGTGCGAGCTGAATGCCATGACTGTCATATCCCGCCG
+GATATTCCAGGCATGGTGAAGCGCAAACTGGAAGCGAGCAACGACATTTACCAGACCTTTATTGCCCACT
+CCATTGATACACCTGAGAAATTTGAAGCCAAACGCGCGGAACTTGCCGAGCGTGAATGGGCGCGAATGAA
+AGAAAACAACTCGGCAACCTGCCGCTCCTGCCATAACTACGATGCGATGGATCATGCGAAGCAGCATCCT
+GAAGCGGCGCGTCAGATGAAGGTGGCAGCGAAAGATAATCAATCCTGTATCGACTGTCATAAAGGTATTG
+CCCACCAGTTACCGGATATGAGTAGTGGCTTCCGTAAGCAGTTCGATGAGCTGCGCGCCAGTGCTAATGA
+TAGTGGTGACACGCTGTACTCCATTGATATTAAGCCGATTTATGCGGCGAAAGGCGATAAAGAAGCGTCT
+GGTTCTCTGCTGCCTGCTTCGGCAGTGAAAGTCCTTAAACGTGACGGCGACTGGCTGCAAATTGAAATCA
+CTGGCTGGACGGAAAGTGCAGGACGTCAGCGTGTACTCACCCAATTCCCAGGTAAACGCATCTTTGTTGC
+CTCGATTCGTGGTGATGTGCAGCAGCAGGTGAAAACACTGGAGAAAACCACCGTTGCCGACACCAATACC
+GAGTGGAGCAAGTTGCAGGCCACTGCGTGGATGAAGAAAGGCGACATGGTGAACGATATCAAACCGATCT
+GGGCTTATGCGGATTCGCTGTACAACGGCACCTGTAACCAGTGCCACGGCGCACCGGAAATATCCCACTT
+TGACGCTAACGGTTGGATCGGCACGCTCAACGGCATGATTGGCTTTACCAGCCTCGATAAACGTGAAGAA
+CGCACCTTGTTGAAATATCTGCAAATGAATGCGTCTGACACCGCAGGTAAGGCTCACGGCGATAAGAAGG
+AAGAAAAATAATGAACAATAACGATCTCTTTCAGGCATCACGTCGGCGTTTTCTGGCACAACTCGGCGGC
+TTAACCGTCGCCGGGATGCTGGGGACGTCATTGTTAACGCCGCGCCGTGCGACTGCGGCGCAAGCGGCGA
+CTGAGGCTGTCATCTCGAAAGAGGGCATTCTTACCGGGTCGCACTGGGGGGCTATCCGCGCGACGGTGAA
+GGATGGTCGCTTTGTGGCAGCAAAACCGTTCGAACTGGATAAATATCCGTCGAAAATGATCGCCGGATTG
+CCGGATCATGTACACAACGCGGCGCGTATTCGTTACCCGATGGTACGCGTGGACTGGCTGCGTAAGCGCC
+ATCTGAGCGACACCTCCCAGCGCGGTGATAACCGTTTTGTGCGCGTGAGCTGGGATGAAGCCCTCGACAT
+GTTCTATGAAGAACTGGAACGCGTACAGAAAACTCACGGGCCGAGTGCCTTGCTGACCGCCAGTGGTTGG
+CAATCGACGGGGATGTTCCATAACGCTTCGGGGATGCTGGCGAAAGCTATTGCCTTGCATGGTAATAGCG
+TTGGTACGGGCGGAGATTACTCTACCGGTGCTGCGCAGGTGATCCTGCCGCGCGTGGTTGGCTCAATGGA
+AGTGTATGAACAGCAAACCTCCTGGCCGCTGGTATTGCAGAACAGCAAAACCATTGTGCTGTGGGGCTCC
+GATTTGCTGAAAAACCAGCAAGCGAACTGGTGGTGCCCGGATCACGATGTTTATGAATATTACGAGCAGT
+TGAAAGCGAAAGTCGCCGCCGGTGAAATTGAGGTCATCAGCATCGATCCGGTTGTTACATCCACCCATGA
+GTATCTGGGGCGCGAGCATGTGAAGCACATTGCGGTTAACCCGCAAACTGACGTGCCGCTGCAACTGGCG
+CTGGCGTATACGCTGTACAGTGAAAACCTGTACGACAAAAACTTCCTCGCTAACTACTGTGTAGGTTTTG
+AGCAGTTCCTGCCGTATCTGCTGGGTGAGAAAGACGGTCAGCCGAAAGATGCCGCATGGGCAGAAAAACT
+GACCGGCATTGATGCCGAAACCATTCGTGGGCTGGCACGGCAGATGGCGGCGAACAGAACGCAGATTATT
+GCTGGCTGGTGCGTACAGCGTATGCAGCACGGTGAACAGTGGGGGTGGATGATTGTCGTTCTGGCGGCGA
+TGCTGGGGCAAATTGGCCTGCCAGGTGGTGGTTTTGGTTTTGGCTGGCACTATAACGGCGCAGGCACGCC
+GGGGCGTAAAGGCGTTATTTTGAGTGGTTTCTCCGGCTCTACGTCGATTCCGCCTGTTCACGACAACAGT
+GACTACAAAGGCTACAGCAGCACCATTCCGATTGCCCGTTTTATCGATGCGATCCTCGAACCTGGGAAAG
+TGATCAACTGGAACGGTAAATCGGTAAAACTGCCGCCGCTGAAAATGTGTATTTTTGCCGGAACTAACCC
+GTTCCATCGCCATCAGCAGATCAACCGCATTATTGAAGGCTGGCGCAAGCTGGAAACGGTTATCGCCATA
+GATAACCAGTGGACCTCAACCTGCCGCTTTGCCGATATCGTGCTGCCTGCGACCACGCAGTTTGAGCGTA
+ACGATCTCGACCAGTACGGCAACCACTCCAATCGTGGCATCATCGCCATGAAACAGGTCGTGCCGCCGCA
+GTTCGAGGCGCGCAACGACTTCGATATTTTCCGCGAGCTGTGCCGTCGCTTTAATCGCGAAGAAGCCTTT
+ACCGAAGGGCTGGACGAAATGGGCTGGCTGAAACGCATCTGGCAGGAAGGTGTACAACAGGGCAAAGGAC
+GCGGCGTTCATCTGCCAGCGTTTGATGACTTCTGGAATAACAAAGAGTATGTCGAGTTTGACCATCCGCA
+GATGTTTGTTCGCCACCAGGCATTCCGCGAAGATCCGGATCTCGAACCGCTGGGCACGCCGAGTGGCCTG
+ATTGAGATCTACTCGAAAACCATCGCTGATATGAACTACGACGATTGTCAGGGGCATCCGATGTGGTTTG
+AGAAAATCGAACGCTCCCACGGTGGGCCTGGCTCGCAGAAGTATCCGTTGCATCTGCAATCTGTGCATCC
+GGATTTCCGACTTCACTCGCAGTTATGTGAGTCGGAAACTCTGCGTCAGCAATATACCGTAGCGGGTAAA
+GAGCCAGTATTTATTAGCCCGCAGGATGCCAGCGCGCGCGGTATTCGTCACGGTGATGTGGTACGCGTCT
+TTAACGTTCGTGGTCAGGTGTTGGCTGGAGCAGTGGTTTCTGACCGTTATGCACCCGGCGTGGCGCGAAT
+TCACGAAGGGGCATGGTACGATCCGGACAAAGGCGGCGAGCCAGGGGCGCTGTGCAAATACGGTAACCCC
+AACGTCTTGACCATCGACATCGGTACTTCGCAGCTGGCGCAGGCGACCAGTGCGCACACTACGCTGGTGG
+AAATTGAGAAGTACAACGGAACAGTGGAGCAGGTGACGGCGTTTAACGGCCCCGTGGAGATGGTGGCGCA
+GTGCGAATATATTCCCGCGTCGCAGGTGAAATCATGACCACGCTGACAGTACAACAGATTGCCTGTGTTT
+ACGCCTGGCTGGCGCAGTTGTTCTCCCGTGAACTGGACGATGAACAACTGACGCAAATCGCCAGTGCGCA
+GATGGCTGAATGGTTTTCGTTGCTGAAAAGCGAACCTCCGCTCACTGCGGCGGTGAATGGGCTGGAAAAC
+AGTATTGCCACTCTGACAGTACGTGACGATGCCCGTCTGGAACTGGCCGCTGACTTTTGCGGCCTGTTTC
+TGATGACCGACAAACAAGCGGCGCTGCCGTATGCATCGGCCTACAAACAGGACGAGCAAGAGATTAAACG
+CTTGTTAGTTGAGGCAGGGATGGAGACCAGCGGCAATTTCAACGAACCGGCAGATCATCTGGCGATCTAT
+CTCGAGTTGTTGAGTCATCTGCATTTTTCGCTGGGAGAGGGGACCGTTCCTGCGCGAAGAATCGACGGTT
+TGCGGCAAAAAACACTGACGGCGCTGCGGGAATGGTTACCAGAGTTTGCTGCGCGTTGTCGACAGTATGA
+CAGCTTTGGTTTTTACGCGGCACTAAGCCAGTTATTGCTGGTGTTAGTGGAGTGTGACTACCAAAAAAGA
+TAATGCCGTTTGTAGGCCTGATAAGACGCGGCAGTGAACTGCACCCCAAATGTTGGACATAATCTGACAT
+CTGAAGGTGCAGTTTATGAAACATTCATTTGAAGTAAAACTTGCCGCTGTAAATCATTACCTGGCTGGTC
+ATGCAGGCATCATTTCTACGGCAAAACTCTTTCAACTTTCTCACACCAGCCTCTCACACTGGATTAATCT
+TTTTCTTCTTCACGGTCCTCGGGCACTGGATTGCAGACACAAGCGTAGCTATTCTCCTGAAGATAAACTT
+TGCGTGGTTCTTTATGCTCTCGGGCATTCTGAGTCTCTACCCCGGGTAGCTGCCCGGTTTAACATTCCCA
+GCCACAACACGGTTAAAAACTGGATAAAAGGCTACCGCAAATCTGGTAATGAGGCCTTTATCAGGCGCAG
+GAAGGAGAAAAGCATGACCCGTTCTGATGATACCCATGAAAACGAGGCAAACATGACGCCGGAAGAGATG
+AAGAATGAGCTGCGTTATCTTCGCGCAGAAAATGCATATCTGAAAGCCATGCAGGAGCATCTTCTGGAAA
+AAAAGCGCCAGGAGCTGGAGAAAAAACGAAAGTCATCCAGAGCCTGAGGTACGGACACTGCCAGTCTGAC
+CTGTTAAAGGCCGCAGGGCTGGCCAGAAGCACGCTGTACTACCAGCTGTCACTGCAGAAGGCTAAGGACA
+AGTATGCTGATGTGAAACAGCTCATAGCCTCCATCTTCCATGAACACCGGGGATGTTATGGGTACCGGCG
+GATCCATTGTGAGCTTCAGAAAAGAGGTCTTAAGTTCAGTGGCAAAACGGTGAGAAAACTGATGCAACAG
+CTCGGCCTGAAGTCTCCTGTGCGCCTGAAGAAATACCGGTCTTACCGGGGAAATATGGGACTCGCTGCAG
+AAAATATCCTTCAGCGACAGTTCAAAGCGGAAGCTCCCTGTGAGAAATGGGTGACAGATATCACCGAATT
+CAGGGCTGGCGGACAAAAACTGTACCTGTCCCCGATACTTGATTTGTTTAACGGGGAAATCGTGGCGTGG
+GAAACGGCCTGCAGGCCTACAGAGGAGCTGGTGAAGCGGATGTTAAATAAGGGTCTGGAAAGCCTTGCTG
+AAGGGGAGAAACCGCTGCTCCACAGTGATCAAGGATGGCATTACCGGATAAAAAGTTATCAGTCCGCCCT
+GGCGGACAGAGGGTTAGTGCAGAGCATGTCGCGCAAGGGCAACTGCCTTGATAATGCGGTAATGGAGAAC
+TTCTTTGGTCACCTGAAAGAAGAAATGTACTATCGCCGGGACTACAGAAATGTAGAAGAGCTGGAAAATG
+CCGTTAACGAATACATAACTTACTGGAATCAAAAAAGAATAAAACTCAGTCTTGGGGGACTCAGCCCGGT
+AGAATACCGGACTGAGTATCAAAAAGCCGGTTAACTGAAACTGTCCAGGTTTTGGGGTTCAGTTCACAGG
+CGTCGCATCAGGCATTAGTGCGCAGTTGCCGGATGCGGCGAGAACGCCTTATCCGGCCTACGGGAACAGT
+GCTTTTTGTGGGCCTGATAAGATGCGTTAAGCGTCGCATCAGGCATTATGGCGCAGTTGCCGGATGCGGC
+GAGAACGCCTTATCCGGCCTACGGGAACAGCGCTTTTTGTGGGCCTGATAAGACGCGTTAAGCGTCGCAT
+CAGGCAACAAACTCACGGGTGAGCCACAAACCGGGAAAGCCGCTGGCGCAGCAGGCGGTTTTCCTGCTTC
+AGGTGCGCAATATCATCCATTAACGTCAGCGCCACCGCGATCCCCGGCCAGTCCAGAGCCAGTTCATGAC
+GCAGGCGTACCGCGCGTTGCACCACAATGGCGGCATGGTCGTCAAATACCCAGGTTGTCTCCTGGATCTC
+ACTCGGTTCAACCACCCCCAAACCGACAATTTCATTCAACTCCTCTTCAGAGATGCCGGTATGCAGGCAA
+AATTCGGTAATAGTAAAAGTCACCGTAACATTAGCCATTATGCTTTCCCCCAATCTTTACGTGGATCAAA
+AGACGACTGGGCGTCTGCCAGTTGCTGCCACAGCGCGGCAGTGTTTTCATCCGGTTTCGGCGGCATCACG
+ATTTTCAGTACCGCATACAGATCGCCGGTCTGTTTTTTGCTCACCAGACCTTTGCCTTTAACGCGCAATC
+GTTGCCCGGCCTGGCTGCCAGGCGGGATAGTCAGCAAAATGCTTTCTTTCAGTGTTGGAACGGTGACTTT
+AGTACCCAGCGCCGCTTCCCACGGGCTAACCGGCACCACTATTTCCAGATCCTGGCCGACAATATCAAAC
+AGCGGATGTGGCGCAATGTGAATCACCAGCCACAGGTCGCCATTTGGACCGCCGTTTTCGCCCGGCGTCC
+CCTGGCCTTTCAGGCGGATGCGTTGACCATTGCCGACGCCCGCCGGGATCTTCACATTCAGCGTTTTCGG
+GATTTCCTGTTCGATCATGCCAAAGGCGTTATAAACCGGCAGGTTATAGCTGATGGTACGCTTATGCTCA
+GTAAGCGTTTCTTCGAGGAATACCGCCACTTCGATTTCAATATCGTGGCCGCGTGTGGCGGGGCGTTGAC
+GGCTCTGGCGGGCATGCTGACCGAAAATTGACGAGAAGATATCGTCAAAATCTTCGGCGTTAAAACTCTG
+ACCGTCGCCATGATGGAACTGACGGTTAAATTGCGGATCGTTGCGATGTTGCCACATCTGATCATACTCA
+GCGCGACGTTGTTCATCACTTAACACTTCCCAGGCTTCAGCGACCTCTTTGAAGCGGGCTTCGGCATCCG
+GTTCTTTGCTGACATCAGGATGGTATTTGCGGGCCAGTCGACGATAGGCGGTCTTGATTGTCTTGAGATC
+GTCCGTCGGTTTCACGCCCATGATGGCGTAATAATCCTTTAATTCCATAGCGTTATCTCGCGTAAATCAA
+CACAAATTGAAGGAACCCCTGTAAGGTAACTCCTATAAGTGTAGGGTAATCCTCAAAATTTCATATGCCA
+ACACAGAATATGTTATTGAAATCATCGCGGAGGGGAGGTCGCCTCAAGGTGGGAGGAACATATTTTATTT
+ACCTCACTCCTGAACTTTTGGCTCATGCTTACAAGTTAAACAATAAGGAAAGGAATGCACAACTCGACTA
+TTTAAATCGTTATGCAATTTAATGATAAAGACATGTGCTAAAAACCATTTCTATTAGTCTCACATTCTTT
+TTTTATTGGTAATGGTAACGCCGCTGATTTTCTTTATAGCTACTGATGTAATCATTAGCGGCGTAAACGA
+GGCCGGGGCTAATCAGGCATAGTTTGCGTCAAAACTTGCCTGTTTTTAAAGGGGAATATAGAAAAACAGG
+CGTTCAACGAGCCATTTTGCGAACCTGTTCCCGGAAAAATGACATATTTCTGTCACACTCTTTAATTATT
+GATAACAAAAGAGGTGTGAGGAATGAACAAAACGCTAATCGCCGCAACTGTGGCAGGGATAGTTTTACTC
+GCTTCAAATGCTCAGGCACAAACCGTACCGGAAGGCTATCAGCTACAGCAAGTGCTCATGATGAGCCGCC
+ATAACTTACGTGCGCCGCTGGCGAACAATGGCAGTGTGCTGGAGCAGTCGACGCCGAATAAATGGCCTGA
+ATGGGACGTCCCCGGTGGGCAGCTCACCACTAAAGGGGGCGTGCTCGAAGTGTATATGGGCCATTATATG
+CGTGAATGGCTGGCAGAACAGGGGATGGTGAAATCAGGGGAATGCCCGCCACCGGACACCGTTTATGCCT
+ATGCCAATAGTCTGCAACGCACCGTCGCGACCGCGCAGTTCTTTATTACTGGCGCATTCCCTGGGTGTGA
+TATTCCTGTTCATCACCAGGAAAAAATGGGCACTATGGACCCCACCTTTAACCCAGTGATCACCGATGAT
+TCCGCCGCATTCAGTGAACAGGCGGTGGCGGCAATGGAGAAAGAGCTCAGCAAACTCCAGCTTACCGACA
+GCTACAAGCTACTGGAACAAATCGTTAACTATAAAGATTCTCCTGCGTGTAAAGAGAAGCAACAATGTTC
+GCTTGTAGATGGCAAAAATACCTTTAGCGCGAAGTATCAACAAGAACCGGGCGTTTCCGGGCCGCTGAAA
+GTCGGCAACTCGCTGGTAGATGCGTTTACTTTGCAATACTACGAAGGTTTTCCGATGGATCAGGTGGCCT
+GGGGAGAAATCAAATCTGACCAGCAGTGGAAGGTGTTGTCGAAGCTGAAAAACGGTTACCAGGACAGCCT
+GTTTACCTCACCGGAAGTGGCGCGCAATGTTGCGAAACCGCTGGTCAGTTATATCGACAAAGCCCTGGTC
+ACCGATCGCACCAGTGCACCGAAAATCACGGTATTAGTTGGGCACGACTCCAACATTGCCTCTCTGTTAA
+CGGCGCTGGATTTCAAACCGTATCAGTTGCATGACCAGAACGAACGCACGCCGATTGGCGGCAAAATCGT
+TTTCCAGCGTTGGCATGACAGCAAAGCCAATCGCGACCTGATGAAAATTGAATATGTGTACCAGAGTGCG
+GAACAGTTACGTAATGCCGATGCGTTAACCCTGCAGGCACCTGCGCAGCGCGTGACGCTGGAATTAAGCG
+GTTGCCCGATAGATGCCAACGGTTTTTGCCCAATGGATAAGTTTGATAGCGTATTGAATGAAGCGGTGAA
+ATAACAGAAAACTCCCCCGCGTGAAGCGGGGGAGTCGCTGGTTAAACGTTTTTACGTTCGATGGTCTGTT
+CGCCCCAAAAAAGCGAATCTTTATCGGTCTTAGCAAAGGCTTTGACTAACACTTCATCGCTACCTTCTTC
+CCAAATCTTTTCCGCCATTTTTTCGTCGTACCCGGCGACTTCGAAAATGGCCTCGGCTATTTCCGGCGAC
+GTATTGCGCAGAGATGCCCATTCACCGACGTGATGAGCTTTCGCTTCTTGAGTTGGCATGCGTATCCTCC
+TGTTGAAGATTAGCCGTTAAGTTTAACTGCCAGACCTGCGACATATTCCCCTTGATAACGAGCAATAGAC
+AGTTCTTCCTGGCTGGGCTGGCGTGAACCGTCACCGCCTGCGATGGTGGTTGCGCCGTACGGCGTACCGC
+CGCGAACCTGTGAAACGTCAAATAATTCCTGCGCTGCGTAGCCAATGGGGACAATCACCATGCCGTGATG
+CGCAAGGGTCGTCCAGGTGGATGTGATGGTTTGTTCCTGACCGCCGCCAGTACCGGTGGAACTAAAGACG
+CTCGCCAGTTTTCCGTATAGTGCGCCGGAAGCCCACAGGCCGCCCGTCTGGTCGAGGAAGGTACGCATTT
+GACCGGACATGTTACCAAAGCGGGTAGGTGTACCAAAAATAATGGCGTCGTAATCGGCCAGTTCTTGCGG
+GGTTGCAACCGGTGCAGTTTGCGTTTTACCGCCTGCTTTTTCAAATAATTGCGGCGGCATGGTTTCCGGT
+ACACGCTTAACGACAACTTCTGCGCCATCCACTTTGCTTGCACCCTCAGCAACTGCGCGTGCCATCGTTT
+CAATATGTCCGTACATGGAATAATAAAGCACCAGAACTTTAGCCATTTCTAACCACTCCTCGTGTTATCT
+CTATTCCGTAGCGATTCGCTACCACTTATTTAAAGATAAGACGTCCTTTTCAGAGTGCAAATTTCACAAC
+CACTTATTTGATTTATAACAACTTTCACAAGCACGTAATTTTGTCGCAAAATGACACATTTTTATCTCAT
+CGCGTTTTTTTAATCATAAGAGCGGCTTATGGATAATTATTGGAGATGATATCTATTCTCGCTAAGAAGC
+TGTTGCAGGATATTACCAAACGCGGGTCTGCCCGCGTCAGTTCACTAAGCTTAGTCCCACGTAGCGAAAA
+TATGGCAGCCGCCATACGCCGCGTTAATTCTATGCAATATGATGTCTATACCCAGACGGAGGTCAGTAAT
+GGCAAACCATCGAGGCGGTTCCGGCAATTTTGCAGAAGACCGCGAAAGAGCATCAGAAGCAGGTAAAAAA
+GGTGGACAGCACAGCGGGGGTAATTTCAAAAATGACCCGCAGCGCGCATCTGAAGCAGGTAAAAAAGGTG
+GCAAGAGCAGTCACGGTAAAAGCGACAACTAGCCGGGCTAATCAATGACGCATGCATTTTTGTCTGTAGC
+TCGTCAAAACGCCATCACCGCCGGTTACCCCGGCGGTTTTCTGTTTATGGCTCCTGATGAACAACTTCTG
+GCGGTGGAACGTCAACCAACCTTCTGCTTAACAACGCATTGAGTAAAATCGCGCCAAAGGTGGCTGTACC
+GATCCCTCCCAACGTAAAACCGCCCAGTGTGAGAGCAAAATCACCCGCACCCAGCACTAAGGTTACTGCG
+ACCATAATCAAATTACCGTTCTGGCTTAAATCCACACTGTTTTGTACCCAGATCCGTGCGCCTGCGACGG
+CAATCAGCCCGAACACAACAATTGATGCACCACCAATCACCGCAGCCGGAATAGTATGGATCAGCGCGCC
+AAATTTCGGCGAAAAGCCCAACAGCATGGCGATGACGGCAGCGGCAACAAACACCAGCGTCGAGTAGACT
+TTTGTCACGGCCATCACACCGATATTCTCGGCGTAGGTGGTTACGCCGCTACCGCCGACAGAGCCAGAAA
+GCATCGTCGCCAGCCCATCGCCTACGAATGCCCGTCCCATATACGGGTCCATATTGCGTCCGGTCATCCC
+GGCGACCGCCTTGAGATGACCTAAGTTTTCCGCCACCAGAATCACCGCCACGGGCGCAATCAGCATCATT
+GCCTGACCATTAAAAGCAGGAGTGGAAAAATGTGGCAGACCGAACCAGGCAGCATGGCTGACGAGAGTAA
+AATCGACGGCTTTTCCCAGCCCTAAAACGTTGGTCATCACGCCATACAGCAGACAGGCGACAATTAATCC
+TACGAGAATCAATAATCGCTGGATCATGCCACGGGTAAATACGGCCACCAGCCCAATACATAGCACCGTC
+ATTACCGCCATCCAGCTATCAAAGGCCGAAGCCGATACATTTTTCACTGCGATAGGCGCTAAGTTCAGGC
+CAATCGCCATCACTACCGCACCCGTCACAACCGGCGGCATTAGTCGTTCAATCCAGCGCGTACCGATTTT
+CATCACCACCAGGCCAATGACGGTATAAACCAGCCCACAGGCGATAATCCCGCCCAGCGCGATGCTGATA
+TTCGGATTAATTCCCTGACCATTAAAGCCCGTCGCGGCAATCACCACGCCGACAAAAGCCGCGCTGGAAC
+CGAGATAACTGGGCACGCGCCCGCCGGTAATAAAGAAAAACAGTAACGTGCCGATCCCCGACATTAAAAT
+GGAAAGATTGGGATCCAGCCCCATCAGAATCGGCATTAACACCGTCGCGCCAAACATCGCCACCGCGTGT
+TGAACGCCCATTACTGCCGTTTGAGCAAACGGCAATCGTTCATCCGGCGCGACCACGCCGCTCTCTGTAG
+AGGTCGATTTTAACTGCCAGTGAGGAAAACCGAACATTGCCATCAGCTGTCTCCTTAAGGAGGTTAACAA
+GCAGGGCGCATCAGCGCGTGATAACTGCGATCGAACCACACCAGCCCGTAGGGTGTGGCGTGACGATGAA
+TCGCTTCGATGGCGCAAAACAAAATGTCGTGGGTGCCGACGCTCACCACCTGGCTGATACGGCAGTCAAA
+CGAAACCAGTGCCTCTCCCAGTTGCGGGCATCCGGTCACACCAGTCTGCCAGCGGGCGGCGGCAAAGCGG
+TGTTCCATGGGCGTTTTGCCGCCAAAAAGGTTTGAAAGCGACTCCTGCCCGGCGCTAAGTGTATTTACAC
+ACAGCGTTCGATTTTCATTGAATACCGGCCAGACGGACGCCCCACGATTCAGGCACACCAGTAATGTGGG
+CGGCGTGTCGGTCACGCTGCAGACGGCGCTGGCGGTGAACCCGGCGCGCCCGGCTGGACCGTCCGTAGTG
+ATGATATTGACCGCCGCGCCCATACAGGACATCGCATCGCGAAAGGTTTGTTGATCGACAATGTTCATTG
+TTTGCTCCTTACAACAGCCCGCAGGCTTCTTCAAAGGACAGACGTGGCAGGCGCGCAAAAAGTTTGCTGG
+AATCGCCATAGCCGATATTAATCAGCAGATTGCTCTTCAGCGTGCTGCCCGCAAAAAAGGCGTCGTCAAC
+GTATTGACGGTCAAAGCCCGACATCGGGCCGGTATCCAGCCCCAGCGCACGGCAGGCGACGATCAGATAG
+GCCGCCTGCATGGAACTGTTGCGAAACGCTGTTTCTTCGGCAAGTTGTGGGCTGGAGGTAAACCAACTGC
+GGGCATCGCCGTGAGGAAACAGCTGTGGTAACCGTTCATAAAATTCACTGTCCCAGGCGACGATAGCGGT
+GACGGGCGCGGTCAGGGTTTTTTGCAGATTGCCGCTGGAAAGCGCCGGGCGCAGACGTTCTTTTCCTTCT
+GCAGTGCGGATAAACACGATCCGTGCCGGAGAACAGTTAGCTGATGTCGGCCCCCATTTCATCTGGGCAT
+AAATCTCCCGTAACGTCTCATCGCTGACGGGGGGCTCCCGCCAGCCGTTGTGAGTGCGGGCATCGGTGAA
+CAGGGTGCTAAGCGCACCTGGGCTAACGGCTTCGTTCATAGCAATTCCTTACAGAGCGGCTTCACGGTGA
+TGTAACAGGCTGGCAAGCCCGTTGAGTAACAGAGCATTAAACGTTTCGGGATCGGTCACGTTGCAGGCGT
+GTCCGCCATAGCGCATCACCATTTTCTGGCTATCGGGCAGAGCGGCATGAAGTTCACTGGAACATGCTGA
+TGGCACCAGCAGATCATCACTGGCGCAGATGATTTGCACCGGGCAGCGGATACGATCCGCATGGCGACTA
+AAGTCAGCGCGTTTGAGGGCGTTAAGTCGACGCAGTAAATTATTTTTGCCCTGAAAATGCGCCAGTGCCA
+GCGCGTCTTCTGCCTCAAGGCGAGGTGCGCGGGCCGCCATCCAGTCGGCGGGATAGAGGAACAACGGCTG
+CGCTTCCACCCATGCCTGCGCGCCGCCGCTATGTAGTAACTGTTCGCGAACCTGAAAACAGCGGCGCGTA
+TGGGCGTTTATTCGTAGCCAGCCGTTAACGCTGACCAGCACAGTTACCGACGCGGGATAATCCAGCGCCA
+GCTGCATTCCCACCAGCGCACCGAGCGCATGGCCGACCACCGCGTAACGCTCAATCCCTGCGGCTACCAG
+CGCCTGATGCAGTTCCGCTGCCATCTGGGCGATACTGTAATCTTCTGCCAGCGTGTCGGGATTATTGCCG
+GTGCCGCGCTGGTCGTAACAGACTACCTGATACTCCTGCTCCAGCACCGCCAGTTGCGGTAACCAGTAAC
+TGCCGCTACCGCCAAGACCCGAAATCAACACCACTACGGGCGCATCAGCATAAGGGGGAGGTGAGAGTGA
+AAGTTTCATCGCGGCCTCACTTGGCGATATGCGCAATTGTGGCGATTTCCACCAGCGCGTCAGGTTTTAC
+CAGTCCGCACTGAATGCAGAATCGCGCCGGTTTGTCACCCGGGAAAAACTCGGCGTAGATTTCGTTAATC
+GCGGCGTAATTTTTCCAGTCGGTAATAAAGATGCTGTTGAAGGTCACATCCGCCATCGTGCCACCCGCCG
+TCTCGATGACCTTGCGGATGGTTTCCAGAACGTGGCGGGTTTGCGCCTTTGGGTCATCGGCAAACAGCAC
+GTTGTTATGTTGATCAAAAGCCAGCGTACCGGAGACATACACCACGCCATCAGCCAGCGTGCCGGGAACG
+AAGGGGGCCAGCGGTGCGCTGCTGCCAGCAGGAATAATTACGGATTTTGGCATCGTTAAACTCCTTAAGC
+GATACGAGCAAAGGACGTGGAAGAAAGCGCGTCGCAGAACGTTTCGACGTCGCTGACCCAGCCAAAAAAG
+GTTTCGATATTGAACAACGCGGCTTTCTGTGCAAATTCCGGCCCCGCCTGGTGTGTTGCGTCTTCCAGCA
+CCACGCCGAAATACTCCAGAAAAAAGCCGTCGCGTAGCGTCGATTCGACGCAGACGTTGGTAGCGATACC
+GGTGAAAACCAGATGGCGTATTCCACGGCTGCGCAAAATGCTGTCCAGCGGCGTATTGAAGAAACCGCTG
+TAGCGCGGCTTCGGCAGCACAATATCGCCAGGCTGCGGCATCAGTTCATCCACCAGTTGATAATCCCAGG
+AGCCTTTCGCCAGCAATTTCCCCTGCAGCTGCGGCTGATTACGCATGGTTTTCAGGGCGTTCGATTTATG
+AAAATTTGGTGAGCCGGGGCCGCCAGCCTCGACATACTGTTCATCCCAGCCATTTTGAAACCAGATGATC
+AGCATCCCTGCCGCTCGCGCTGCGGTCACGGCGGTTTGAATGTTGGCAATGACCGGGCGAGTGGTTGAGA
+CATCAAACCCGGCGAGATCTAAGTAGCCGCCTGGCGTGGCATAAGCGTTTTGCATATCCACCACGATCAG
+CGCACTTTGCTGCGGATCGAAGGTAATGGCTTCCGGTCGAGCGGTTAAGGTCGTCATCATGCCACCTCCT
+GAGTCAGCGCAGGGAGATGGGCGCGGCACTGCATCAGTGGTTGAATGCGCTCGCCGAAGGTTTCGATTCC
+CGACAGAAAATCATCGAAGGTCAACAGCACGCCTTCGGCACCAGGCACGCTTGCGACTTCATCTAACATG
+CGCGCGACACTGGCGTAAGAACCGACTAACGTCCCCATATTGATGTTTACCGCCGAAGTGGGATCGGCCA
+TCTGACGGACGTTGGTGTCTGTACCGGAGCGGGTATCTTTCTGACTTTGTTCGGTTAGCCAGCTTAACGC
+CTCTTCATCCGCGCCCGCTTTGTAGTGTTCCCATTTGGCGCGAGCGGCATCGTCGGTTTCGTCGGCAATC
+ACCATAAACAACACATAAGAGCCAACGTCGCGTCCGGTTTGCTCTGCGGCCTGTTTCATCCGCGCAGCGG
+TCGGGGCGAAAGCCGTGGGTGTATTTACGCCTTTGCCGAAACAGAAGTTAAAATCGGCATACCGGGCGGA
+GAACGCCATGCCAGCGTCGCTTTGCCCGGCGCAGATCACTTTCATGGGGACACTCGGTTGCGGACTGACG
+CGACAATCATCCATAGTGAAAAAATCGCCTTTAAAATCGCTTTTCCCCGAGCCCCACAGGTCGCGCAGCA
+CCTGAACATATTCGGTGAGATAGTCGTAACGACGGGAGAAATAGTCATCGCCAGGCCAGATCCCCATCTG
+CTCATACTCGGGCTTCTGCCAGCCAGTCACGAGGTTGACGCCAAAACGCCCGCCAGAGATGGAGTCGATG
+GTTGCGGCCATACGGGCGACGATTGCCGGAGGTAACGTTAAGGTGGCAGCTGTCGCGTATATCTGAATGC
+GTGAGGTGACGGCTGCCAGCCCCGCCATCAAGGTGAACGACTCAAGGTTGTGATCCCAGAACTCAGTTTT
+GCCGCCAAAGCCACGCAGTTTGATCATCGACAGGGCGAAATCGAAATGGTAGTGCTCCGCTTTTTGCACA
+ATGGCTTTATTCAGTTCAAATGTCGGCATGTACTGCGGCGCGTGGGTCGAAATGAGCCAGCCGTTGTTGC
+CAATAGGTACGAATACGCCAATTTTCATCATCAACCTCTCTTCGTCTCGTAAAGTGAAAGTCAGACGGGG
+CGCTGCATCCTGCATATCCTTTTCAGCCGCGTAATGGCTTGTTTGCAAAGCGGATGCCAGTTTTTAAAAA
+GTGAATGTTATTAATGTGTTAATGTTAAGTTGTCTAAAATGCCTGAAAAAAGTGGACTAAACGGTCAAAA
+CAGTTGCACATAAAACATGCATTCGTGCGCGATGAGAGTGCATAAGGTCGAGGCCGGGCGGGGGTTTTGC
+TATTCTGTTGCCAATCAACAAGAGGGGAGAGCGCATGACGCAAGGCGCAGTGAAAACAACGGGTAAGCGT
+TCGCGCGCAGTAAGCGCGAAGAAAAAAGCGATTCTTAGCGCAGCACTGGACACTTTTTCACAATTCGGTT
+TTCACGGCACAAGGCTGGAGCAGATCGCGGAATTGGCGGGTGTTTCAAAAACCAATCTGCTGTATTACTT
+TCCGTCAAAAGAGGCGCTGTATATAGCCGTACTGCGGCAGATTCTCGATATCTGGCTGGCACCGTTAAAA
+GCGTTTCGAGAAGATTTCGCCCCGCTGGCGGCGATCAAAGAGTACATCCGTCTGAAGCTGGAAGTTTCCC
+GCGATTATCCGCAGGCTTCGCGCCTGTTCTGTATGGAGATGCTGGCAGGTGCACCGCTGTTAATGGATGA
+ACTGACGGGCGATTTGAAGGCATTAATTGATGAGAAATCGGCGCTGATTGCCGGTTGGGTTAAAAGCGGC
+AAACTCGCGCCGATTGACCCGCAGCATTTGATTTTTATGATTTGGGCTTCTACTCAACATTACGCCGATT
+TTGCCCCTCAGGTGGAGGCGGTGACAGGCGCGACGTTGCGCGATGAGGTGTTTTTCAATCAAACGGTTGA
+AAACGTGCAGCGGATTATTATTGAGGGGATTCGACCACGTTAAAGATGCCGGAGGAGGTTGTAACATCCT
+CCGGCTACCTGTTTAACCGATCGTCATTAAACTGGCGTTACCGCCAGCAGCAGCGGTATTCACACTCAGC
+GAACGCTCGATATACAGCCGTTCCAGAAGGATATTGCTTTCGCCACGGGCAAAACCCTGCACCGAAACAA
+TTGCACCATCCCGTGCGGCAACGGCTTCACACAATGCGCGAAGCTGATCCGAATCACCGTGGAAGATCAC
+CGCATCAAAGGGTTGAGCGGTTATATTTTCCGCTTTCGCCAGTTGAATACGTTCGCTGACTGCCGATGGC
+AATGCCTTCACTAACTGACGATGCAGCGCATCATCCGGCCACAGCACCTGGCTACCCACCGCCAGCACGG
+CGGCGAGCTGAGTCAGCGCATCCTGTTCATCATCCGCAATACACAACACGCGCTCACGCGGCAGCAGCGT
+CCAGGTGTTGCGTTCACCCGTCGGCCCTGGCAACAATCGTTGTGTTCCTGCCTGCGCCAACTCGCCATAT
+TGCGTACATAACGCCTGCAATTCTGGACGGTTTGCCGCCCATTCCCGCAGTGCATTTAGCGGCTGAGTCA
+ATGCGGCTTTCAACTGCGCATCGACCGGATACTCCGCATCCTGACGCGCGAGCGTCACCGCCAGCGCACT
+TTCCGGGCGATTCGCCAGCAGACGGTAGAGATAGAGCGGACCGCCTGCTTTCGGCCCGGTACCGGACAAC
+CCTTCGCCGCCGAACGGTTGCACCCCAACCACCGCGCCCACCATATTACGGTTAACGTACAGATTACCGA
+CCTGGGCCGAGCCAGTGACCTGGGCAATGGTTTCATCAATACGCGTATGAACGCCAAGCGTCAGACCATA
+GCCGGAAGCGTTAATCTGCTCGATCAGCTCTGGGAGCTGGTTACGGTTGTAACGCACCACATGCAGCACC
+GGACCAAAGACCTCTTTTTGTAATTCGGCAAAGTCATCCAGTTCGATCAGCGTCGGAGCGACAAAGGTGC
+CGCTTTGCCATTCACGGGCATCTTCGCTGTTTTCCCGCACCGCCTGGAACACCTGACGGCCTTTACTACG
+CATGGTCTGAATATGACGCTCGATATTGGCTTTCGCTTCGCTATCAATCACCGGACCGATATCGGTGGTC
+AGGCGACCCGGATTACCCATCCGGCATTCGGCCATTGCGCCGCGCAGCATTTTCAGCGTGTGGTCGGCAA
+TCTCATCTTGCAGGCACAGCACGCGCAGTGCCGAACAACGCTGACCTGCACTGTCGAACGCCGAGGCCAG
+CACATCTATTACGACTTGTTCGGTCAGTGCTGAAGAATCGACAATCATCGCGTTCATGCCGCCGGTTTCA
+GCGATGAGCGGAATAGGGCGACCCTGAGCGTCCAGGCGGCTGGCGATATTGCGCTGCAGTAACGTAGCGA
+CTTCGGTTGAACCGGTAAACATCACCCCGCGCACGCGATCATCACCCGTCAGTTGCGCGCCCACGGTTTC
+ACCCCGACCTGGCAGCAATTGCACCACGCCTGGCGGTACACCCGCTTCCAGCAAAATGGCGATCCCTTGC
+GCGGCAATCAGCGGCGTTTGTTCTGCCGGTTTTGCCAGCACGCTGTTACCTGCCGCCAGTGCGGCAGCGA
+TCTGCCCGGTGAAAATAGCCAGCGGGAAGTTCCACGGACTGATACATACCACAGGCCCTAATGGACGGTG
+GGTTTCGTTAGCGAAATCATCCCGCACCTGTCCGGCATAGTAGTGGAGAAAATCGACCGCTTCGCGCACT
+TCAGCAATGGCGTTACTGAAGGTTTTTCCGGCTTCACGCACCAGAATACCAATCAGTTGCTGCATCTGGC
+TTTCCATTAGCACGGCAGCGCGATGCAAAATCGCCGCGCGTTCAGCCGGAGGAGTGGCAAACCAGATTGG
+CGCGTTATTAACCGCACTTTCCAGCGCCTGTTCTACTTCACGCGGCGTGGCTTCACGCACATAGCCCACA
+ATATCTTTCGGTTCCGCAGGGTTAATAACGGGCGACATCTCACCAGCCGCGACCGATTGTTCCAGCATTG
+GCAAGGACTGCCATTTTTGCAGTGCACTATTGAGCAGGGCTGAAGAGAGCGAGGCCAGACGGTGTTCGTT
+AGCGAGATCCAGCCCTGCCGAGTTGTCGCGCCCGTGACCGTAAAGATCGCGCGGCAGGGGAATTTTCGGA
+TGCGGTAATCCAGTTTGCCCTTCCTGTTGCGCCAGTTTTTCTACAGCAGTGACTGGATCGGCGACCAGTT
+CATCCAGTGGCAAAGAGGTGTCGGCAATACGGTTAACAAACGAGGTGTTAGCACCGTTTTCCAGCAGGCG
+GCGCACCAGATATGCCAGCAGCGTTTCATGTGTACCGACCGGAGCATAAATACGACACGGACGGTTAAGT
+TTGCCGTCGGCAACTTTCCCGGTGACCTGCTCATACAGTGGCTCGCCCATACCATGCAGGCACTGGAACT
+CGTACTGACCCGGGTAGTAGTTTTGACCCGCCAGTTGATAAATTGCCGCCAGCGTATGGGCGTTGTGCGT
+CGCGAACTGCGGGTAGATTAGATTTGGCACCGCCAGCAGCTTTTTCGCACAGGCAAGATAAGAAACGTCG
+GTATACACCTTGCGGGTATAAACCGGATAACCTTCAAGGCCGTCCATCTGTGCACGCTTGATTTCACTAT
+CCCAGTACGCGCCTTTCACCAGGCGAATCATCAGACGGCGACGGCTGCGGGTGGCGAGATCAATCAGGTA
+ATCGATCACCAACGGGCAGCGTTTTTGATAAGCCTGAATAACAAAACCGATGCCGTTCCAGCCTGCCAGT
+TCAGGCTCGAAACAGAGTTTTTCCAGCAGATCGAGGGAGATCTCCAGACGATCGGCCTCTTCGGCATCGA
+TGTTAATACCAATATCGTACTGACGCGCCAGCAGGGTGAGTGATTTCAGACGCGGGTAAAGCTCTTCCAT
+TACCCGGTCATACTGGGCGCGGCTATAACGCGGATGTAGCGCCGACAGCTTGATTGAAATGCCCGGACCT
+TCATAGATGCCACGACCGTTAGACGCTTTACCAATGGCGTGAATCGCCTGCTGATAGGAAACCATATACG
+CTTGTGCATCTGCGGCAGTCAGTGCGGCTTCGCCCAGCATATCGTAAGAGTAACGGAAACCTTTCTCTTC
+CAGTTTGCGGGCATTGGCTAACGCTTCCGCGATGGTTTCGCCCGTGACGAACTGCTCGCCCATCAGGCGC
+ATCGCCATATCCACACCTTTGCGGATCAGCGGTTCACCGCTCTTACCGATAATGCGGTTCAGCGAGCGGG
+AGAGGCTGGCTTCGTTATGGGTGGAAACCAGTTTGCCGGTAAACAGCAGCCCCCAGGTAGCGGCATTAAC
+AAACAGGGACGGGCTACGACCAATGTGTGACTGCCAGTTACCGTTACTGATTTTGTCGCGAATTAACGCG
+TCACGGGTGGCTTTGTCGGGAATACGCAACAACGCTTCCGCCAGACACATCAGCGCCACGCCTTCCTGCG
+ATGACAACGAAAACTCCTGCAATAACCCCTGAACCATACCTGCGCGACCACTGGCGTTTTTTTGATTACG
+CAGTTTATCGGCCAGTTGATACGCCAGTTTGTGCGCCTGTTCAGCTACTGGCTGCGGCAGGCGAGCTTGT
+TCCAGCAGCATAGAAACCGCTTCGGTTTCCGGGCGGCGATAGGCGGCGGTGATGGCGGCGCGGGAAACCG
+ACTGGGGCAATATTTGCTCGGCAAAGTCGAGGAAAGGCTGGTGTGGTTCCTCTGCCGGAGTCGGTGCTTC
+ATCGCTCTCATTGGCCGCGCCAGAAAGCAGCGCAGGTAGCTCCGGGAGAGTATCGCTGTTTTCCAGTTGT
+TCAAGATAAGAAAAAATCGCCTGTTTAATTAACCAGTGTGGTGTGCGATCGATACGTGTCGCGGCAGACT
+TAATACGCTCACGCGTCGCGTCGTCCAGCTTAACCCCCATGGTGGTGGTTCCCATGCCATTACTCCTGTT
+GTTCTGAAAGGTGCAACTTAACGTTATCGTGAAATATCCATGATGTTGCAACTTTGTGCAACCGTGTTAA
+ATGTGACCTGCGTAGCAAGCTTAAAAATGAATGAAATGTTAATAAACGAAATCGATATGACAGGGATTAA
+AAAAATAACTCAGACTTTTTCTCTGCGGCAGTTAACATTTTTGAAAGGTGCAACCGCAAAAAATGTGAGA
+GAGTGCAACCTGATGAAAAATAGTGTCGCTGAGCACTAAAATTTAATGTAAATGGTGTGTTAAATCGATT
+GTGAATAACCAGCGCTTCCGGCAGGATACGGTCGCCCTGGTAAAACATAAACTCTGTTACCCCGTTCCGG
+TGGCAGATATAACGGCAAGTTTCGACATTGCCGATAATAATTTTTTGGAGACTTTAGATGGCTATTAGCA
+CACCGATGTTGGTGACATTTTGTGTCTATATCTTTGGCATGATATTGATTGGGTTTATCGCCTGGCGATC
+AACGAAAAACTTCGACGACTATATTCTGGGCGGTCGTAGTCTTGGGCCATTCGTGACGGCATTATCGGCG
+GGTGCGTCGGATATGAGCGGCTGGCTGTTAATGGGGTTGCCAGGCGCTGTTTTTCTTTCCGGGATTTCCG
+AAAGCTGGATCGCCATTGGTCTGACATTAGGCGCGTGGATCAACTGGAAACTGGTGGCCGGGCGGTTGCG
+TGTGCATACCGAATACAACAATAACGCCTTAACATTGCCGGATTATTTCACCGGGCGCTTTGAAGATAAA
+AGCCGCATTTTGCGCATTATCTCCGCGCTGGTTATTTTGCTGTTCTTCACCATTTATTGCGCTTCAGGCA
+TTGTGGCAGGCGCGCGTCTGTTTGAAAGTACCTTTGGCATGAGCTACGAAACGGCTCTGTGGGCGGGGGC
+TGCGGCGACGATCCTTTACACCTTTATTGGCGGTTTCCTCGCGGTGAGCTGGACTGACACTGTTCAGGCC
+AGTCTGATGATTTTTGCCCTGATCCTGACGCCAGTTATCGTCATTATCAGTGTCGGTGGCTTTGGTGACT
+CGCTGGAAGTAATCAAACAAAAGAGCATTGAAAACGTGGATATGCTCAAAGGGTTGAATTTTGTCGCCAT
+TATCTCGCTGATGGGCTGGGGACTGGGTTACTTCGGGCAGCCGCACATTCTGGCGCGTTTTATGGCGGCG
+GATTCTCATCACAGCATTGTCCATGCGCGTCGTATCAGTATGACCTGGATGATCCTCTGCCTGGCAGGGG
+CGGTGGCTGTCGGCTTCTTTGGTATCGCTTACTTTAACGAGCACCCGGCGGTAGCAGGTGCGGTAAACCA
+GAACGCTGAACGCGTGTTTATTGAACTGGCGCAAATTCTGTTTAACCCGTGGATTGCCGGGATTTTGCTG
+TCGGCGATTCTGGCGGCGGTAATGTCAACGTTAAGTTGCCAGCTGCTGGTATGTTCCAGTGCGATTACCG
+AAGATTTATACAAAGCGTTTCTGCGTAAACAGGCCAGCCAGAAAGAGCTGGTGTGGGTAGGGCGAGTGAT
+GGTGCTGGTGGTGGCGCTGGTGGCGATTGCGCTGGCGGCAAACCCGGAAAACCGCGTGCTGGGCTTAGTG
+AGCTACGCGTGGGCAGGCTTTGGCGCAGCGTTTGGTCCGGTGGTGCTGTTCTCGGTGATGTGGTCACGCA
+TGACGCGCAACGGTGCGCTGGCGGGGATGATCATCGGTGCGCTGACGGTTATCGTCTGGAAACAGTTCGG
+CTGGCTGGGTCTGTACGAAATTATTCCGGGCTTTATCTTCGGCAGTATCGGGATTGTAGTGTTTAGTTTG
+CTGGGTAAAGCGCCGTCAGCGGCGATGCAAAAACGCTTTGCCGAGGCCGATGCGCACTATCATTCGGCTC
+CGCCGTCACGGTTGCAGGAAGGGTAAGGGAAGGCGTTTTACCGGAAATTTCACGTCATAACAGGAAGCAG
+GCAGAGGGCAATCAGTGATTGCCCTCTGCGTTTTTTCTCAAAATATTTTTACATCTTCTCATCATTATCA
+CTACATTCCACTTGTATTTTTCTTCATCGTAATGATAATCGCTATCACTGCGATTTACTTTTCTTTGCAT
+AGATTGACTCAGAAAAACGTTTAAGGGTGGGTGGCATGTTTGTTCCGTTTCTCATTATGTTGCGCGAAGG
+ACTTGAAGCCGCGCTGATTGTCAGTTTGATTGCCAGCTATCTTAAGCGTACCCAGCGAGGCCGATGGATT
+GGTGTAATGTGGATTGGCGTGTTGCTTGCCGCTGCGTTGTGCCTGGGCTTGGGTATCTTCATTAACGAAA
+CCACCGGCGAATTTCCGCAAAAAGAACAGGAACTGTTTGAAGGCATTGTGGCGGTGATCGCCGTAGTGAT
+CCTTACCTGGATGGTTTTCTGGATGCGCAAAGTGTCGCGCAACGTCAAAGTACAACTGGAGCAGGCGGTC
+GATAGCGCATTGCAGCGTGGAAATCATCATGGCTGGGCGCTGGTGATGATGGTCTTTTTTGCCGTTGCAA
+GGGAAGGGCTGGAGTCGGTCTTTTTCCTGCTGGCGGCATTTCAACAAGATGTCGGGATCTGGCCGCCGCT
+GGGTGCAATGCTCGGTCTTGCTACAGCCGTGGTGCTTGGCTTCCTGCTCTACTGGGGCGGTATTCGCCTC
+AATCTTGGTGCATTTTTTAAATGGACCAGTCTGTTTATTCTCTTCGTCGCCGCAGGGCTGGCAGCTGGTG
+CCATTCGCGCATTTCATGAAGCCGGATTGTGGAACCACTTTCAGGAAATCGCCTTCGATATGAGCGCGGT
+GCTCTCAACTCACTCGCTGTTTGGCACACTGATGGAAGGGATTTTTGGCTATCAGGAAGCACCGAGCGTC
+AGCGAAGTCGCCGTCTGGTTTATTTATCTCATCCCGGCGCTGGTGGCATTTGTTCTGCCACCACGCGCAG
+GGGCGACTGCGTCCCGCTCCGTGTAGCAAATACGACGCAAACTCTTGCTTAGTTACAACATACTTTAAAG
+GGATAGTCTCGTCATGACCATTAACTTCCGCCGTAACGCATTGCAGGTGAGCGTGGCTGCGCTGTTCTCT
+TCTGCTTTTATGGCTAACGCCGCTGATATTCCGCAAGTCAAAGTGACCGTGACGGATAAGCAGTGCGAGC
+CGATGACCATTACGGTTAACGCCGGGAAAACACAGTTCATTATTCAGAACCACAGCCAGAAGGCGCTGGA
+GTGGGAGATCCTCAAAGGCGTGATGGTGGTGGAAGAGCGGGAAAATATCGCCCCTGGTTTTAGCCAGAAA
+ATGACGGCGAATTTACAGCCTGGCGAATACGATATGACCTGCGGTCTGCTGACTAACCCGAAAGGGAAGT
+TGATCGTCAAAGGTGAAGCAACGGCGGATGCGGCGCAAAGTGATGCGCTGTTAAGTCTTGGTGGTGCAAT
+TACTGCATATAAAGCGTATGTCATGGCGGAAACCACGCAATTGGTGACCGACACCAAAGCCTTTACCGAC
+GCTATTAAAGCAGGCGATATCGAAAAAGCGAAAGCACTGTATGCGCCGACGCGCCAGCACTATGAGCGCA
+TCGAACCGATTGCTGAACTGTTCTCCGATCTGGATGGCAGCATTGACGCCCGTGAAGATGATTACGAGCA
+AAAAGCCGCCGATCCAAAATTCACCGGTTTCCACCGTCTGGAAAAAGCATTGTTTGGCGATAACACCACC
+AAAGGAATGGATAAGTATGCTGACCAGCTTTATACCGATGTGGTCGATTTGCAAAAACGCATCAGTGAAC
+TGGCTTTCCCTCCTTCAAAAGTGGTCGGCGGTGCAGCCGGACTGATTGAGGAAGTGGCAGCCAGCAAAAT
+CAGCGGTGAAGAAGATCGCTACAGCCACACCGATCTGTGGGATTTCCAGGCTAACGTTGAAGGCTCGCAG
+AAAATTGTCGATCTGCTGCGTCCACAACTACAAAAAGCGAATCCGGAACTGTTGGCAAAAGTCGATGCCA
+ACTTCAAAAAGGTCGATACCATTCTGGCGAAATACCGTACTAAAGACGGTTTTGAAAATTACGACAAACT
+GACCGATGCTGACCGGAATGCACTGAAAGGACCGATTACTGCGCTGGCGGAAGATCTGGCGCAACTTCGC
+GGTGTGCTGGGGCTGGACTAAGCGTTATGCAGTATGAAGATGAAAACGGCGTGAATGAACCGTCACGCCG
+ACGTTTACTGAAAGGGATTGGTGCGCTGGCGCTGGCGGGAAGTTGTCCGGTCGCTCATGCACAAAAAACG
+CAAAGTGCGCCGGGTACGCTTTCACCGGATGCACGCAATGAGAAACAGCCGTTTTATGGTGAGCATCAGG
+CAGGGATCCTGACACCACAACAGGCTGCAATGATGCTGGTGGCGTTTGATGTGCTTGCCAGCGATAAAGC
+CGATCTTGAACGGTTGTTTCGCTTGTTGACTCAGCGTTTTGCTTTTCTGACTCAGGGCGGAGCGGCACCA
+GAAACGCCAAATCCGCGCCTGCCACCACTCGATTCCGGCATTCTTGGCGGCTACATTGCGCCCGATAATC
+TCACCATCACGTTATCGGTGGGTCACTCATTGTTTGATGAGCGCTTTGGCCTTGCGCCACAGATGCCAAA
+AAAGTTGCAGAAGATGACGCGTTTCCCTAACGACTCGCTGGATGCGGCGTTATGTCATGGTGATGTGTTG
+CTACAAATTTGCGCCAACACCCAGGACACGGTGATCCATGCGCTGCGCGATATCATCAAACACACGCCGG
+ATTTGCTCAGCGTGCGCTGGAAGCGGGAAGGGTTTATTTCCGACCACGCAGCGCGTAGTAAAGGCAAAGA
+GACGCCGATAAATTTGCTGGGCTTTAAAGACGGCACCGCCAATCCCGATAGCCAGAATGCGAAGTTGATG
+CAAAAAGTGGTGTGGGTGACGGCAGATCAGCAGGAGCCTGCGTGGACAATCGGTGGCAGCTATCAGGCAG
+TACGCTTGATTCAGTTTCGAGTGGAATTTTGGGACAGAACGCCGCTGAAAGAGCAGCAGACGATATTTGG
+TCGTGATAAGCAAACCGGTGCGCCGCTGGGCATGCTGCATGAGCATGATGTTCCCGATTACGCTAGCGAT
+CCGGAAGGGAAGGTGATTGCGCTGGACAGCCATATCCGGCTGGCGAATCCCCGCACGGCGGAGAGCGAGT
+CCAGCCTGATGCTGCGTCGTGGCTACAGTTATTCGTTGGGCGTCACCAATTCCGGGCAACTCGATATGGG
+GCTACTGTTTGTCTGCTACCAACACGATCTGGAAAAGGGCTTCCTGACAGTACAAAAAAGGTTGAATGGC
+GAGGCGCTGGAGGAATATGTCAAACCTATCGGTGGCGGCTATTTCTTTGCGCTGCCGGGTGTGAAGGACG
+CGAACGATTATCTCGGAAGCGCATTATTGCGGGTTTAATGTTTTTAGGCGGATAAGGCGTTTACGCCGCA
+CCAGGCGTTCGTACACTGATGCGACGCTTGCGCGTCTTATCATGCCTACAATCGGTGCGGGTCGGTAGGC
+CGGATAAGGCGTTCACGCCGCATCCGGCAAGCTTTTACCAGTACTGCGAATCCTGCTGAAAGCACACAGC
+TTTTTTCATCACTGTCATCACTCTGTCATCTTTCCAGTAGAAACTAATGTCACTGAAATGGTGTTTTATA
+GTTAAATATAAGTGAATATATTGTTGCAATGAATGCGAAATCTGTTGTACTTATTAAGTAGCAGCGGAAG
+TTCCCGGCAGTGATAGTCAGTCACTATGGAGATCGCGGATGGTAACGTCCTGTACTGGACATGTTTTAGA
+TAATCAGCGCGCCACCACTCGCGGAGATTTCTCCTCCGGTAGTCATCTCGTCACTTTGTATTTTCAACCT
+CATCCTTTCTTTTCATGTGTTACCGACGCCGCAAACGGTGTGCGTAGCCGTTTTTCGGCATTTTATCCAA
+AAGCAAACTATGGCTTACAAGGAAGCCAACCCTCTGATGTTCGTGCGCATAATCGCGCTGCCAACGGCGC
+GTGTGATGAATACAAACAACTCAAGGTGCTCTCCATGGGAAGACAAAAAGCAGTGATCAAAGCTCGTCGC
+GAGGCAAAACGTGTGCTGAGACGGGATTCGCGCAGCCATAAGCAGCGTGAAGAAGAATCGGTCACCTCGC
+TTGTGCAGATGAGCGGCGTAGAAGCCATTGGTATGGCCCGCGACAGTCGCGATACCTCGCCCATCCTCGC
+GCGAAATGAAGCGCAATTGCACTATCTGAAGGCTATTGAGAGTAAGCAGCTGATATTTGCCACGGGCGAA
+GCCGGGTGCGGAAAAACCTGGATCAGCGCAGCAAAAGCGGCAGAGGCCCTGATACATAAGGATGTCGACA
+GGATTATCGTCACCCGTCCAGTTCTGCAAGCCGATGAAGATCTTGGTTTCTTACCTGGTGATATCGCAGA
+AAAGTTTGCTCCCTATTTTCGCCCGGTCTACGACGTGCTGGTCCGTCGCTTAGGGGCTTCCTTTATGCAG
+TACTGCCTGCGACCGGAAATAGGGAAGGTGGAAATTGCGCCGTTCGCCTATATGCGTGGACGTACCTTTG
+AAAATGCAGTCGTCATTCTTGACGAGGCGCAGAATGTGACTGCCGCGCAAATGAAAATGTTTTTAACCCG
+CCTCGGGGAGAACGTGACGGTTATCGTCAACGGTGATATCACGCAATGCGATTTGCCTCGCGGCGTGCGC
+TCCGGATTAAGTGACGCGCTGGAACGTTTCGAAGAGGATGAAATGGTCGGGATCGTCCGATTCGGTAAAG
+AGGATTGCGTACGTTCGGCACTTTGCCAACGTACGCTACATGCATACAGTTAAGTGTATTATCGGTGCAG
+AGCCCGGGCGAACCGGGCTTTGTTTTGGGTGTTTATACCCGGACTAGCGTTTTTTCTGAAACCACCATTT
+TTATTTGTCCCTGACTGGTGAAGTGTACGCTCATCCTGTGGCTTTTTTGTAGTTGCTGATAAAGCTCATC
+AGGTATTGCTAAGCTCTCTGCATATTCTTGCGGCGTATATTGGTATGCTGCATGATGCTGCTGTTTTTTA
+AAACGCAGCTTATTGTACAATGCCCAGACGATTAACACGACGGCATTCGCCACTGCCAGCAAAAAATAGA
+ACTGAAGTCGGCTTCTGGCCTCGCTTTGCCAGTAATAACCCGTCAGCAGATCAATGGCGAATAAGAATAT
+GAACAAAGCAAATAATGTCCACAAGATGGTTGTGGCAACATAATCAACCAGTAAACGTACTGGCGATTGT
+CGGGTCGTAATAATTAGATTGTTCATATTAACCTCTCAGAATCCCACGATCGGGACTTACCCAACGAGCG
+CGTTGTTTTTTAGGCATCAACATGACACGTGTAAATGATACCAATGTCGTTGCCAGGCTTAGCATCCAGA
+AAATAACCGGAAACCAAATAATCCAGAAAAGCGATGAAGCCAGATTGTGCTCATAGCGATTCTCAATTAC
+CAGACTGACAATAAATTGCAGTAAACATAACGTGCACAATAATATTCCGGCAGTATGTGTCGCTGCGATA
+TGTGTCAATTCAATATTTAACGGTACACCTGCAAGTTGGACTGCGTAAATAATGAAACCGACCAGGCAGG
+TAAAGGCCCATATTGTCGTCAGGCAGTATTCAAAAAACAGTGGCCACATTCGAAAGTTTTCTTTTCGCCA
+CAACCTTGTCATATTTTTGAGGAATACTTCTGCACCGCCCTGAGCCCAGCGCAGGCGCTGTTTCCACAGC
+CCTTTTAACGTTTCAGGCATTAATATCCAGCACAGCGCCCGTGGCTCGTAAAAAATCGTCCACTGATTCA
+ACTGCAGCTTCCAGCTAATATCAATATCTTCGGTGATCATATCGTCACTCCAGTAACCCACTTCTGCCAG
+GGCGCTGCGACGAAATGCGGCAATAACACCGGAAACGGTAAATACGTTTCCATAGATACGCTGGGTCCGC
+TTGATCAAACCAATAATTGAGGAATACTCGCCAACCTGAATTTTACCCACCAGGGTAGAACGTGTGCGAA
+TACGAGGATTACCGGTTACGGCACCCACACGTGGGTTGTACAACATCGGTTCCACAATATATGCCGCTGC
+ATCGCGGTCTAATAACGCGTCGCCATCAATGCACACCAGATATTCACTTTTCGCCGCGGCAGCTCCGGTT
+TTAAGCGCAATGGCTTTCCCCTGGTTTTGCGCCAGATGAATGACCCGCAGACGGGGAATTTGTGCAGCCA
+TGTGATCCAGGATGGCACGGGTTTTGTCTGTTGAACCATCATTTACGGCAATAACTTCAATGTTCTCATA
+ACGCTGTGCTAAAGCGGCATGTATAGTTTCCTCAACGTTTTTCTCCTCATTAAAACAGGGAATGATAATG
+GAGATAGATGGATTATCTTTCAACTGGGGGGCTGGTGCGTTTTCTCCCCACGGCCAGTGGCGTTCACGAT
+AGACCCAGAAATAGACGCCGCCAATAATCCACATAATGGACATAAAAAACGGCCAGAAGAAAACGAACCT
+CATCATCAGTTCACCAGAGTGAAAGTACGCTACGCATAGAGGTATGCATAACACCAGACATAATATAAAA
+AACGATACGATGCGATTAATCATTTTTCGGATACCAGGCTGTTGAAAACTCAGGACGAATAACGTCTATT
+TCAGGTTGGTTATGCAGAAAATTGTCGGGATAATAACCATAATTTTTCACTCCATTCAGTTGTAATAGGC
+TCATCCAGTGAGCGAGTTGTTGTGAAGAAATAGCCTGATGCTGACCATTTTTCTGCCAGTTTTGTGCCTG
+TAATTCTAAAATTGATTTGTCTTTAGCCTGCGGGATGCTTTTCATCTGATTGGTCAATTGTGTTAACCAT
+TGATCAGCCGATTTTTCTGTGACGCCTTCCATATAAGGCATAGCCATAATAGCGGTCCAGTCATAGCTTT
+TTAGGAAATCAGCATAATTCTGTGCAAACCAGGCTTCACTTTCAGGTTGTATTACCGGAAGTGCAAAAAT
+ATTTCGTGCAGTTTTAACATGTGGACCACGAATGGCTTTTACGCGCGCACTAAGTTCTAAAGTGAAGTCA
+GTTAACGCACGACTTTTAAAGCGGGTCCACTGTTTAAATTGCTCCGGGTTTTGTCGAATTTCGCTCAGAC
+TCCCGCTAAAGCCAGCTTGCTGATAAGCCGCGATAGCCGCTGCACTGGCATCTTCATAATCTGAAAGCAA
+AGCATCATCGTGGAACAATATGCCATCAAAAGCAGCATGTCCGGCAAGATCATCATATAACATGCCAACT
+TGCGCTCTGACCCTGTCATCGAAAGGAGAGAGACGGCGGTATTGTTCAGGATGAATTTGTGCTTTTTTCT
+CCCCAGTTGGTAAGTATTTTACTCGCGTTAATGTGGGATCTAAATCCCAGCTTAATACCGGCATCCACGC
+ATAGATGTTTACACCTGAGCGGGTACGCAATTGCCAGGCAACCCGACTAAAAATATCTGCTTTCATTGGT
+AGCAAACGATTTGGAAACCAGACCTCTTTAACCAGCCCATCACCATCGGGATCAGCAAATGCTTGTAAAT
+ACACGGTAGATATTTGCATATCTTTTACCCGCTGAATTAGCACATCAATATTGCGATCCATTTGCTGGCG
+GTTTTCGTCATAAATGTAATCAAGATCGATATGCATTACCCGTTGTAGTGGTTTTTCCTGTACGGTAATA
+ATTTGCTGGGCAAACTCTTTTAATGAGGGATTATTGGCGATTAATACTCGCGGAATGGAATCTAATTGCG
+ACGCATTTGCCAAACCTGATTCAAGGGTGAAGAACATGTCATAACCGAGTTTTTTTAATTCCGCGATTGC
+TATGCCATTCGCTTCGCCATAAGGCCAAACAAAAACGTGTGGATTTACCTCAGCCTTTGTACGCAGGTAT
+TCCGTCATTTTTACAGCATCCAGACGAATTCTTTCCCGGTATTCTGCTGCGGTTTCATACCGTGCATGGT
+CAGTAAAATATGCACGATTTACATATGCAGGTAATAAGCTGCCGGTGGCATTAGCCTGAATACCGTAGTG
+AGAATCCCATGTATGAGAAGCGACCGCAACGAGCCGGGAACGCGCAACTTCTCGCACTTGTTGCCACGTG
+GCAAAATATTCTCGACTGACCATCTCATCACCAAATTTCACTTGTTTATCCGCTGGAGTATCGACCCAAC
+TGCCGACGGGAGCCCATACAGCCGGCCACTGGAAGGCCTGAAGAATTGGGAAGACACGGGTATAAAAACT
+CTGGTAGCCGTCATCAAAAGTCAGCACTACTGCTTTTTCCGGTAGCGGTTTTCCTCCTTGATGTGCTTCA
+CGAATTTGAGCAATACTGACCGGTTGATAACCGTTCTCGCGCAGCCAGGCAAATTGTTCACGCAGTGCTG
+ATGTCCGCACTGACATAAAACGCTGGTCGGCAGCTTCGTCTTCAACGTTATGCCATGAAATCGCCACAAA
+ACCATTATGCGGCCACGGTTGCTCGGCGAGTAAAGATTCGCGATCCTGTGGCGGTATAAATGATGTTCTT
+GACTGGCTAATGCACGCAGTGAGCATAATTATACTCACCAGCATCAGGATATATTTATTTCCATTACGTA
+ACATATTTATCCTTAAAATCTGAATGTCATATCGAATTCAACGTATAAGTTGTGTTCTCTGTCACCGTCA
+TAAGGTCGTTTTTCCCAGCGTAGCGTTGCGCCAGCATCAATCACGTCATTCCAGCTAATACGTTGCCCGT
+AGCCGAGTTGGGTGACGACATCCGTGCCATAATGTTTTTGCCAGGAGGCACCAACACCTGCGCTGAAGAT
+TTGCTCCCAGCTATTTTCATAGCTTCGCCATAACAAATGACTTGCCTCAAATGCCGGAACAATATCGAAC
+GTTTTTATAGGGTTGTAGTATGGAGTGTCGTGTTCTGTATTTTGTTCGTAATACAGATTGGGTAGGAAAT
+CGACAATCAAATATGGTGAAGACCAGATGCGTTCCTGACCCTCAAGTGAGACTTCCTGACGCTGGTTACT
+GTCGGAAAAATCAGTGAAAGCCCAGGAGACACCGTACTTACGCCGCTCATTTTGATACCAGCGAACATAA
+GCCTGAGCACTGTTGCCTGTAACACCATTTTTCATTGCCCGTAATGGAACGCGGTGAGAGAGGCGTTCCA
+GTTGCGAACCAATACGCCAGTTATCATTAAAATCATACCAGCCAGACAGGCGCGCGCCGGGTTTATGCTC
+ATGATTGAAAACGCGTTCAGCGTACTCCGCCTCGAGCCAGATATTACGTGACCGCCACTCAACACCCGCC
+AGCCAGTCGCGAACAATCCCTTTTCCTTCGCTAAATTGTCCATCGGCATAACCGAATCCAGCAAAACCGC
+GCCAGTTATCCTTCAGCGGTGGTGAATAAACGATGGTGGTTAAGTCGACATCATGTTTACCACTATCCGG
+GCCTTCGGCATCAATTCCTGTTGAACCAGCTATACGAAGCTCTGCAAGATTATGTACATCAACCGCACGT
+TTTAAACGTACAACGCCGGGATCTTGCGGTTCACGTTCGACAACATCGTGCGTTAAGACAGCTGCCTGCT
+GCCATTCTTGTAACGTTAATGCTGTCCATGCTTGTTCAACCTCCAGATTAATATTACGTGGCTCGATCAC
+TTCTGCTTTTTTTAATTCATTTTCTGCTGCACGAGGCCAACCGCGGGCTTGTAACACACTCGCGTAATCA
+ATGCGCAGTCCCTGATTTCCTGGTGCGTTATAAGCAAGCTCTCTGGCTATCATTTCAGCCTGAGGAAGAT
+CATTACTATATTTTGCTACGGTTGAGAGAAACGAATGCCCCTGTAACCAGGTATCATTCGGGATGCTCGT
+AGGCGTGCCCATTAACCGAAGGAAAGGCGGCGAAGTATTAATGGTATGTTGGGTGACAGTTAGCGCGCCG
+GGATAATTTTCACTCTCCAGGTGGCTGTAAAAGAGATCCGCAAGTTCTTCATCGGATAAATCCGGGGCAA
+TGGTCTCCTTGTGATAAAAGAGCTCTGTCATTATTGACTGTGCTTTTTTTGGCTGCTGTTCTTTGAGATA
+AGCCGACGCAACCCAATATTGCGCCCAGGGCGGAATAATTTGCCTCGTATTTTTTAAACGCTGATAGTGA
+GAAATAACGTCTTTATAACGATCGCGAGTTAATAACGCGCCAAGATGATCAACCTGAATACGCTGGTACT
+GGGCAGTGCGGTCTGAGTTATCGTGCCACAGAATTTCTAATGCAGCGTATTGGGCGAGGGCGCGATCGGC
+AATGGCATAACGTTCACTTTCACTGCGCGTAGGCATAAACGACAGTCTGATCAGTTCGGCATGAATATCA
+GCGCGAATATCTGGCGTTAAATTGGCATCGTCAATCGCGGCAGCTAGTTGATTATTACGTAATGCCTGCA
+CGTATTCTGTGGGATATTGTTGCTTAGATGCATTTTCAGGTAATGACTCTGTCATCGCCCGTAATTCATC
+CTGATGACGCCCCGTCAGTTTATAGATATAGGCTTCTGCGAGTAAATTGGCTTTGTCCGGCGCTCCAGAT
+TTAAGCTGCTTAAGTTTAACCAGCGCAGTATCATAGTGACCCGCATCTGCCAGGGTTAAAATTTGTCCCC
+GTTGATAATCCTTATTTTGCGGCTCCAGAGAGAGCGCCTTTTGCCACAGTGTAAGCGAGTTTTGCCATTG
+TTGCAGGTTACGATAAGCGACGGCGACAGCTGCATAACCACGCGCTGGTAATTGCTGATGACGGTAGCGG
+CTGTAAACGGTAATAACCTGTTTATCTTGCCCGGCCCATAAGGCAATTTGTAACCAGTCAGCAATTTGGT
+TATTACTGAGTGTTGATTTTTGTGCAAACCATGACAAAGCTGGCTGAGTATTTCCTTTGCGAGCTTCAAT
+AATCAATGCATCATAGGCGTTATTAACAGCACTCTTCGCCGCGGGACTCGCTGCTAAAAATGCGGCAGTA
+AGAAGTGTCAAAGCCCATTTGGTTTTCGGGCACCTTTTTCTGCTACTTGAATACATCCTGTATTACTCCA
+TGTATTGCCAAAATCTCTCTCTATATCTAATTACAGGTAACTGAAAAGAAAGATATTTTTGCATCTCATA
+ATCCGTTATTAAACGCGGAAGAGACACGTGAATTGTTGATGATGAGAAGAAGAAATGATGAGCAGATTGT
+CCATATAAAATCCTTTTCTCGCCCGAAAATCCATTCCAATGATGAGGATCTTCAGGAATACGGCATAAAT
+CCCAATGCCTTTTTCAAAATAAATTAGGATTAAAATAATTAAATCAGTAAATTCCGATGCATGATATCGG
+ATTTTTCGAAAGTCCTGATGAAATGCAGCGTTACTGTACTCACGGATTCAATTGTTATTCCTAATATATC
+TATGAATTAATGTTTTATAAGGATTTCCTTATAACCATTTATATGTATTTGCAAGCCTGTCTTGTCGCGA
+AGAATGTATAAAGCACTAAGGTAATAATAATTGCGGTCTGCAACTATCATCATTGGTATTGTTTGTGGTG
+GATTTTTATATTGACAACAGTACAGTTCTTATATCTATTAATGACAGAAAGGGATCTACAACCTACAGAT
+TGGTGTAGCTTTATGGAAAAAGACTATTTGGGAATTAGTAGTACTGTATTAGTGAGTTTATTGTTTGGGC
+TTGCGTTGGTTTTGGTGAATAGTTGGTTCAATCAGCCAACCGTTGAGGAAGTTGTTCCACGATCAACATA
+TCTGATGGTTATGATTGCTTTATTTTTTATCGATACTGTTGCATTTATTTTTATGCAGTTGTATTTCATT
+TATGACCGTAGGCAATTTTCAAACTGTATACTTAGTTTGGCTTTTTTAAGTTTTTTGATTTACTTTATTA
+AAACCGTCATTATCATTCAGCAAATTATTGAGGGGCGTTTGACAAGCAGTGTTGTTCAAAATGACATTGC
+AATTTATTATTTGTTTCGTCAGATGAGTTTGTGCGTATTAATATTTCTGGCATTGGTAAATAAAGTTAGT
+GAAAACACAAAACAGCGAAATTTGTTTTCCAAAAAAGTGACTTTGTGCATAACTTTGTTTTTTGTTCTTG
+GGGGGCCGATAGTTGCTCACATATTTTCTAGCCATTATGAGAGCTACGATTTACACATTGCCGAGTTAAC
+CAATGAAAATGGTCAGGTGGTTTGGAAAGCCTCATATGTTACCATAATGATTTTCATGTGGTTAACCTTG
+CTTTCGGTTAATCTATACTTTAATGGTTTACGCTGTGATATCTGGAACGGTGTGTCGGTGATTGCTTTTT
+GTGCCGTGCTGTACAATATCTCTCTGTTATTTATGAGCAGGTATAGCGTGTCCATTTGGTATATTAGTCG
+CACTATTGAAGTAGTCAGTAAGTTAACCGTTTTGGTAATTTTTATGTGCCATATATTCAGTGCGCTACGA
+GTAACAAAGGACATTGCACATCGCGATCCCTTAACCAATATATTTAACAGAAATTATTTTTTTAATGAAC
+TGACGGTTCAATCAGCATCGGCCAAAAAAACACCTTATTGCGTCATGATTATGGATATTGACCACTTCAA
+AAAAGTCAACGACACCTGGGGACATCCGGTTGGCGATCAAGTGATAAAGACAGTGGTGAATATCATTGGG
+AAAAGCATACGACCAGATGACCTTTTAGCGCGCGTTGGCGGCGAAGAGTTTGGCGTCTTGCTGACGGAGA
+TCGATACTGAATGTGCGAAAGCTTTAGCGGAAAGGATTCGGGAAAATGTTGAACGTTTAACTGGCGATAA
+TCCTGAATACGCCATACCACAAAAAGTGACGATTAGTATTGGCGCTGTTGTAACGCAGAAAAATGAGTTA
+AACCCTAAGGAGATCTATCAACTGGCTGATAACGCACTTTACGAGGCGAAAGAGACCGGGCGTAATAAGG
+TGGTAGTAAAAGAGGCAGAAATTCTTATCAACCGCAAGGATGATGAATGAGTCTGTCGCCAGTTGTCGAA
+CCCCGATCGGGGCTTCTCATCCCCCCGGTGTGTGCAATATACGAAAAAAAAGCCCGTACTTTCGTACGAG
+CTCTTCTTTAAATATGGCGGTGAGGGGGGGATTCGAACCCCCGATACGTTGCCGTATACACACTTTCCAG
+GCGTGCTCCTTCAGCCACTCGGACACCTCACCAAATTGTCGTCCCTGTCTTGCTGGAACGGGCGCTAATT
+TAGGGAAATCATGACCTGAGGTCAACAAACTTTTTTAAAAAATCGCTCGATTATTCAAACTTCAATCAAT
+ATGCAGTTTTAATAAGCGAAATTTGCTTTTTTTGCCACCGACCACGGATTTGTTATGCTGGTGGTCTTTG
+TAGATCATAACGATAAGTGCGAATAAATTTCGCCAACACTCTTCGGGAGTCAGTATGGATATCATCTTTT
+ATCACCCAACGTTCGATACCCAATGGTGGATTGAGGCACTGCACAAAGCTATTCCTCAGACAAGAGTCAG
+AGCATGGAAAAGCGGAGACAATGAATCAGCCGATTATGCTTTAGTCTGGCATCCTCCTGTTGAAATGCTG
+GCAGGGCGCGATCTTAAAGCGGTGTTTGCACTTGGGGCAGGTGTTGATTCTATTTTGAGCAAGCTACAGG
+CTCACCCTGAAATGCTGAAGCCTTCTGTTCCACTTTTTCGCCTGGAAGATACCGGTATGGGCGAGCAAAT
+GCAGGAATATGCTGTCAGTCAGGTGCTGCATTGGTTTCGACGTTTTGACGATTATCGCATCCAGCAAAAT
+AGTTCGCATTGGCAACCGCTTCCTGAATATCATCGGGAAGATTTTACCATCGGCATTTTGGGCGCAGGCG
+TACTGGGCAGTAAAGTTGCACAGAGTCTGCAAACCTGGCGCTTCCCGCTGCGTTGCTGGAGTCGAACCCG
+TAAATCGTGGCCTGGCGTGCAAAGCTTTGCCGGACGGGAAGAACTCTCTGCATTTCTGAGCCAATGTCGG
+GTATTGATTAATTTGTTACCGAATACACCTGAAACCGTCGGCATTATTAATCAACAATTACTCGAAAAAT
+TACCGGATGGCGCGTATCTCCTCAACCTGGCGCGTGGTGTTCATGTCGTGGAAGATGACCTGCTCGCGGC
+GCTGGATAGCGGCAAAGTTAAAGGCGCAATGCTGGATGTTTTTAATCGTGAACCCTTACCGCCGGAAAGT
+CCGCTCTGGCAACATCCACGCGTGACGATAACACCACATGTCGCCGCGATTACCCGTCCCGCTGAAGCTG
+TGGATTACATTTCGCGCACCATTGCCCAGGTCGAAAAAGGGGAGAGGGTCTGCGGGCAAGTCGACCGCGC
+ACGCGGCTACTAATAAAGCATCAGGTTTCCTGCTATCCTTGGCGGGAATTGAATACAGGAGAGAGTTATG
+TATCCCGTCGACCTTCATATGCATACCGTTGCCAGCACGCATGCATATAGCACATTGAGTGATTACATTG
+CCCAGGCCAAACAAAAGGGCATTAAACTTTTTGCGATCACCGATCATGGCCCAGATATGGAAGATGCGCC
+GCATCACTGGCACTTCATTAACATGCGTATCTGGCCGCGAGTGGTTGATGGGGTAGGGATCCTGCGCGGC
+ATCGAAGCTAACATTAAAAATGTTGATGGTGAAATTGACTGCAGCGGCAAAATGTTTGATTCGCTGGATC
+TGATTATTGCCGGTTTTCATGAGCCGGTTTTTGCGCCACATGACAAAGCGACCAATACACAAGCGATGAT
+CGCCACTATCGCCAGCGGCAATGTGCATATAATAAGCCATCCCGGAAATCCGAAATATGAGATAGATGTT
+AAAGCCGTTGCTGAAGCAGCCGCGAAACATCAGGTGGCGCTGGAAATCAATAATTCCTCATTTTTACACT
+CACGTAAGGGCAGTGAAGACAACTGTCGTGCGGTAGCCGCAGCGGTACGTGACGCTGGAGGTTGGGTGGC
+ATTAGGCTCGGATTCTCACACTGCGTTTACCATGGGGGAATTTGAAGAGTGTCTTAAAATCCTCGACGCG
+GTAGATTTTCCGCCAGAGCGCATTTTGAATGTTTCGCCACGCCGTTTACTGAACTTCCTTGAATCTCGCG
+GTATGGCACCGATTGCGGAATTTGCAGACCTTTAATTACTAGTAATGGAAATATATTAATGAATGAGTTT
+TCTATCCTCTGTCGTGTGCTGGGTTCGCTCTATTACCGCCAACCGCAAGATCCTTTACTGGTGCCGTTGT
+TTACCCTGATTCGTGAGGGGAAACTGGCTGCGAACTGGCCACTGGAGCAGGATGAGTTACTGACGCGTTT
+ACAGAAAAGCTGTGATATGACGCAAGTCTCTGCCGATTACAATGCGTTGTTTATCGGCGATGAATGTGCT
+GTGCCGCCATATCGTAGCGCATGGGTTGAGGGCGCAACGGAAGCGGAAGTGCGCGCTTTTCTTTCCGAAC
+GAGGGATGCCACTAGCGGATACGCCAGCCGATCACATCGGCACATTGCTGCTTGCGGCTTCCTGGCTGGA
+AGATCAGTCAACGGAAGATGAGAGCGAAGCACTGGAAACACTGTTCAGTGAGTATCTGTTACCCTGGTGT
+GGTGCGTTCCTTGGCAAAGTGGAGGCCCATGCAACTACGCCTTTCTGGCGCACCATGGCACCGCTAACCC
+GCGATGCTATTAGTGCAATGTGGGACGAGCTGGAAGAAGATTCTGAAGAGTAAATGTGATCTGCATCACT
+CATAACTGCAACGGTAATTTGTTGTTGCATAAAATGTGTGCTCGATCTCATTCATGGCCGCGTTTTCTGC
+TATCATGCGCGGCATGAACATACTTCTCTCTATTGCAATCACAACAGGCATTCTCTCCGGTATCTGGGGA
+TGGGTGGCTGTTTCCCTGGGCTTACTAAGCTGGGCGGGCTTCCTGCGCTGTACGGCCTACTTTGCCTGCC
+CGCAAGGTGGGCTGAAAGGGCTGGCGATCTCCGCTGCAACCCTGCTTAGTGGCGTGGTGTGGGCGATGGT
+CATTATTTACGGTAGTGCATTGGCACCACATCTGGAAATACTCGGTTATGTCATAACCGGTATTGTCGCG
+TTTCTGATGTGTATCCAGGCCAAACAGCTGCTGCTTTCATTTGTTCCGGGGACGTTTATAGGCGCATGCG
+CGACGTTTGCCGGGCAGGGTGACTGGAAACTGGTGTTACCTTCGCTGGCGCTTGGACTGGTATTTGGTTA
+CGCAATGAAAAACAGCGGCCTGTGGTTGGCGGCGCGTAGTGCAAAGACGGCTCACCGTGAGCAGCAAATC
+AAAAATAAAGCGTGAGGGGCACTCACGCTTTCGCTTAAACCGTAAAATGCCGGATGATAATTCCGGCTTT
+TTTATCTGTCAGGATTCCGGTGGAACCGACATATGGCGGTATTTCACCAGAATGTCATTCTGCCGTTCTG
+CTTTATTTTGCAAATCCCACAGACCACGGTCGATACCATCATTAATCAGGAAAATGACCCCTGTTTCGAT
+AGCCGACATCAGGCACAGCATAACAGGTTCGTTCGAGGTGTAACCCACTTCCCCTTCCAGCAAGCGCTGG
+TAGTCAATAAAGCGGAAAACCCCGGCCTGAACTTCATAAGAAAGTATCGTCTTACTGGTGTTCACCGAGG
+AGAGGATCTCACCGGTACTCACATTGACGACGCGCAGGTTCACGGCAATCTGATCGAGCTGGTATTGCGT
+GTCGGCACCGATTCCAAAATATCTTGCCCCAACCCCGCCCGATTTGACGTTGCTTTCATAACCGATAATC
+GAACCTTCAACCATGATATTTGCCGCCGTTAAAGATTGCAACGGGATTCGGTTATTAATGGCAACTGTGC
+CGTTTTCTTGTGCCGCACGAATAATCTTGCGCTCGTTAAGCAGATTTTGTAAGCCCTGGCGCTCCAGCGG
+TATAAACCAGCGAGAATCTTTCAATGCCGTGACCAGCATTGCCGTGGCGCTTTGCGGAACAGCAAGTGGA
+GAAGTTACTTGCCGGGTAGGGTTTAAATTGCCCGGTTTCGTCCTGAATGTTGTATACCGAAACAAAGATC
+TTACCCGTCGGCGCTGGCAGATGGGTCAAATCTTTGTAGCTCTGAGCACGAGGCATTAATGTCGGTCTGG
+CGGCTTCTTTAGGCGGGGCGGTTAAGCATCCGCTCAGTAACATGACGGCAACCAAAAGAAATAAGCGCTG
+CATGATTATTTTCCTTATGAAGCTGGGGCTTAAAAATCGGTTGAGTTATTTTGTAAACCCGAAACCTGGA
+TGGTCGAGGTTTGTCCGGTTTTACGATCTGTCACGTTCAACTGCAATTGACCATCGCGGTTAGCAATATC
+AACAATATAATCGTTGGTCACCATGCGGCCCGGTTTACCGGTATTAATATTCGACAGTAGCCCACCCAAA
+ATTTGTGACTGGATGGCCTGAGTAAAGTTATCTAACGCCGAGGGCGTTTCAATACCAAAGTCATCGTTAT
+AGCTCGGATCTTTATAAGAGTTTTGGGCCTGAGCGCTATTTAACAAAAAAGCGCCATTATTTGGGTTACC
+ACCAAAGTTTGGATTACGGAACTGGAAAGTCATGGTTCCAGCCCAACTTAATGGCGAAATAAGCATGAGT
+AGAACTACTGCATGTTTGACACGCATTGCAGCCTCCGAACAATTTTTTATTTAAAATTCATCATGCGCCA
+AATCGCCCGTACTTAATAACGCCTGGTTTATCTGGCGACGATTTAGTGCTTCTTCAGTTTGAATCAGTGC
+AAAGACGACAGTTTTCTCGAAGTCTCTTTTCAACGGAAATAAAAAAGTCTGGAAAATAACGTCCTGATTC
+ACCGTTATTGTGATCCAGCTTCCCCATCGTGCACTGGGCCTTTCATTAATCGTTAAGTTACCCGTATAGT
+CACTTTCCCATTTATCACTAAAGGCTCGGTAAAAATCATGGCCAATAGATGAAACAGTATGGTCAGTTAA
+CAATCCCGGGACTTCTACCTCAACGGCGTGAAGATTCCCTGCGGCGAACAGAAATTCTGCCGCCACAATC
+CAGCGTAAATAACGTTTCATGGCTTTATCGCCTGAGGTTATCGTTTGCCCAGGAAACCGCTTGTGTCCGG
+TTTTTTACGGCTATCTTCTTGAAAAGATTATAAAGATGCGTTTTAACCGTATTTTCGCTGATGAACAACG
+AACGAGCGATCTCGTTATTAGACGCGCCGATACGCAGCTTATTCAGGATCTCTTTTTCCCGATGAGTAAG
+GAGGGCTGATTCCGTGCTGTTATAACGATAGTTACCTGAATGCGTAATCAGGTAACTGGCAAGCTTTTGC
+GTAAAGTAGCATTCGCCGCGCAGGACGCCTTGCAACCCATTGACAACACGTTCTTGATCCTCCATGGCAT
+AAAAAACGCCGTTGATATGAGGCCAGTTTTCAATGTCGCGGTACGGGTAATCTTCAGGCGTATTTAGCAA
+CAATATTTTGATATTGTTGTTTTTCCTGCTCAAAGTATCCTGCCAATAATGGATAAGCTTTTTATCCGCT
+TCCATCATATCCAGAAGAATAATAGAGCCTGAAGATATATCGTCCAGAGAACGTTGAATATTATGTAATT
+TTCCTGTAATTGCCAGCGATTGTTTAAGGTGCTGCAAGAGAGCTGTCGCCTGCAAAGAAGGTTTAGTGAT
+CAACAATAATGTATGACCATGAATACTATGGACTTCATTAAACATGATGAAACCCCGCTTTTTTTATTGA
+TCGCACACCTGACAGCTGCCTCTAAAATAGAAGCACCAGAAGTACTGACAGATGTTGCACTGCTGTGTGT
+AGTAATAAATCAGCCCTAAATGGGTAAAATATAAAACTAATGGATTATATCTGATTTCAATCTAGCCATT
+ACAAATCTTAAATCAAGTGTTAAACATGTAACTAAATGTAACTCGTTATATTAAAATGTTAATCTCAAGG
+TTTTATTAAGTTTATAAATGATAGAAAAGTTGTACATTTGGTTTTTATTGCACAATTTTAAAAAATCATA
+CAAATAGTGCTAACTTACTAATAATGCATATAAAAAATATTTCGCTGTAGTCCTTTCGTCATGAAAAACG
+TTCTTGTTTTTTCTCCATACCACCGTGGACAATTTTTTACTGCAAAAAGACGAGGTTTGTCACGGCTTGT
+GCGCAAGACATATCGCAGCAATCAGCGACGGGCAAGAAGAATGACTGTCTGGTGATTTTTGATAGCGGAA
+AACGGAGATTTAAAAGAAAACAAAATATTTTTTGCGTAGATAACAGCGTATTTACGTGGGTTTTAATACT
+TTGGTATGAACAAAAAAAGAAAAATACAACGCGCGGGTGAGTTATTAAAAATATTTCCGCAGACATACTT
+TCCATCGTAACGCAGCGTTAACAAAATACAGGTTGCGTTAACAACCAAGTTGAAATGATTTAATTTCTTA
+AATGTACGACCAGGTCCAGGGTGACAACATGAAAAACAAATTGTTATTTATGATGTTAACAATACTGGGT
+GCGCCTGGGATTGCAGCCGCAGCAGGTTATGATTTAGCTAATTCAGAATATAACTTTGCGGTAAATGAAT
+TGAGTAAGTCTTCATTTAATCAGGCAGCCATAATTGGTCAAGCTGGGACTAATAATAGTGCTCAGTTACG
+GCAGGGAGGCTCAAAACTTTTGGCGGTTGTTGCGCAAGAAGGTAGTAGCAACCGGGCAAAGATTGATCAG
+ACAGGAGATTATAACCTTGCATATATTGATCAGGCGGGCAGTGCCAACGATGCCAGTATTTCGCAAGGTG
+CTTATGGTAATACTGCGATGATTATCCAGAAAGGTTCTGGTAATAAAGCAAATATTACACAGTATGGTAC
+TCAAAAAACGGCAATTGTAGTGCAGAGACAGTCGCAAATGGCTATTCGCGTGACACAACGTTAATTTCCA
+TTCGACTTTTAAATCAATCCGATGGGGGTTTTACATGAAACTTTTAAAAGTAGCAGCAATTGCAGCAATC
+GTATTCTCTGGTAGCGCTCTGGCAGGTGTTGTTCCTCAGTACGGCGGCGGCGGTGGCAACCACGGTGGTG
+GCGGTAATAACAGCGGCCCGAATTCAGAGCTGAATATTTACCAGTACGGTGGCGGTAACTCTGCTCTTGC
+TCTGCAAGCTGACGCCCGTAACTCTGATCTGACCATTACCCAGCACGGCGGCGGTAATGGCGCAGATGTG
+GGCCAAGGTTCTGATGACAGCTCAATCGATCTGACTCAGCGTGGTTTCGGCAACAGCGCTACTCTTGATC
+AGTGGAATGGTAAAGATTCTACTATGACTGTTAAACAGTTCGGTGGCGGTAACGGTGCTGCTGTTGACCA
+GACTGCATCTAACTCCAGCGTTAACGTCACTCAGGTTGGCTTTGGTAACAACGCGACCGCTCATCAGTAC
+TAATACATCATCAGTATGAAAGAAACAGGGCGCAAGCCCTGTTTTTTTTCGGGAGAAGAATATGAATGCG
+TTATTACTCCTTGCGGCACTTTCCAGTCAGATAACCTTTAATACGACCCAGCAAGGGGATATGTACACCA
+TTATTCCTGAAGTCACTCTTACTCAATCTTGTCTGTGCAGAGTACAAATATTGTCCCTGCGCGAAGGCAG
+TTCAGGGCAAAGTCAGACGAAGCAAGAAAAGACCCTTTCATTGCCTGCTAATCAACTCATTGCTTTGACG
+AAGTTGAGTTTAAATATTTCCCCGGACGATCGGGTGAAAATAGTTGTTACTGTTTCTGATGGACAGTCAC
+TTCATTTATCACAACAATGGCCGCCATCTTCAGAAAAGTCTTAATTTGTTGAAATATCGAGCATAAGATG
+AACCTGGAGAGAATGGTCTGCTGCGAATCAGCCAACCTGAAAGTATGGATAACACAACCCTCAAGGATGA
+CTAATCATTGAGGAAATAGAATAAATGTTCAGACCTTTTTTAAACTCTCTTATGCTCGGCAGTTTGTTTT
+TTCCTTTTATTGCCATTGCAGGAAGCACCGCGCAAGGGGGCGTGATCCATTTTTATGGCCAAATTGTGGA
+ACCGGCATGTGACGTCAGCACCCAGTCATCACCCGTAGAAATGAACTGCCCACAGAATGGTTCTGTTCCG
+CGTAAAACCTATTCCAGCAAAGCGTTAATGAGCGGCAATGTTAAAAACGCGCAAATAGCCTCAGTAAAAG
+TGCAGTATCTTGATAAACAGAAAAAGCTGGCTGTAATGAACATCGAATATAACTAAGTTTCTGAACAACT
+CACGTTGCTGAGCAGAAAAATGCGATTTAACCAAAAAGCCTGCTGTACACTTAGGAAACAAGAAGGTGTA
+AGGAGGCGTTATGAAAACGCGTATTCATGTTGTGCAGGGTGATATTACCAAACTGGCCGTTGATGTGATT
+GTGAATGCGGCTAATCCGTCATTAATGGGAGGCGGCGGCGTCGATGGGGCCATTCATCGCGCAGCGGGTC
+CGGCCCTGCTGGATGCCTGTTTAAAAGTCAGGCAGCAGCAGGGCGATTGCCCTACGGGGCATGCCGTTAT
+TACGCTTGCAGGCGATCTTCCCGCTAAAGCCGTAGTGCACACCGTCGGGCCAGTCTGGCGTGGTGGTGAA
+CAAAACGAAGACCAGCTTTTGCAGGATGCCTATCTCAATAGCCTACGACTGGTGGCGGCAAACAGCTATA
+CGTCAGTGGCTTTTCCTGCAATCAGTACTGGGGTTTATGGTTATCCTCGTGCGGCAGCGGCTGAAATCGC
+AGTAAAAACCGTTTCAGAATTTATTACCCGTCACGCTTTACCCGAACAGGTATACTTTGTCTGTTATGAT
+GAAGAAAACGCCCACCTCTACGAAAGACTCCTTACCCAACAAGGAGATGAATGATTTGCCTCGGCTGGCG
+AGCGCGGTGCTGCCACTGTGTTCGCAACATCCCGGTCAGTGTGGACTTTTTCCTCTGGAGAAAAGTCTGG
+ATGCGTTTGCCGCCCGGTATCGTCTGGCTGAAATGGCAGAGCATACGCTGGATGTTCAGTATTACATCTG
+GCAGGACGATATGTCGGGTCGGTTACTGTTTTCCGCCCTGTTAGCCGCAGCAAAGCGTGGCGTTCGCGTA
+CGTTTGTTGCTGGACGACAACAATACGCCCGGACTTGATAACATTTTACGCTTGCTTGACAGCCATCCAC
+GCATTGAAGTCCGGCTTTTTAATCCTTTCTCGTTTCGCTTGCTACGTCCGCTTGGTTATATCACCGACTT
+TTCCCGTCTCAATCGCCGTATGCACAATAAAAGTTTCACTGTCGATGGCGTGGTGACGCTGGTGGGAGGA
+CGAAATATTGGTGATGCCTATTTTGGTGCAGGGGAAGAGCCACTTTTTTCGGATTTAGATGTCATGGCAA
+TAGGACCCGTGGTAGAGGACGTTGCCGATGATTTCGCCCGCTATTGGTATTGCAAATCGGTTTCCCCCTT
+ACAGCAGGTGCTGGATGTCCCGGAAGGTGAAATGGCAGATCGCATCGAGTTACCCGCCTCCTGGCATAAC
+GATGTCATGACGCATCGTTACTTACGCAAAATGGAATCCAGTCCGTTTATAAATCATCTGGTTGATGGAA
+CGTTGCCGCTTATCTGGGCGAAAACACGTTTATTAAGTGATGATCCGGCGAAAGGGGAGGGCAAGGCAAA
+ACGGCATTCACTGTTACCGCAGCGCCTGTTCGATATCATGGACTCACCCAGTGAACGCATCGATATTATC
+TCTTCCTATTTTGTACCGACACGTGCAGGTGTGGCGCAACTCTTACGGATGGTGAGAAAAGGGGTAAAGA
+TTGCGATCCTAACCAATTCTCTTGCCGCTAACGATGTTGCTGTCGTCCATGCAGGATACGCGCGCTGGCG
+CAAAAAATTGCTCCGCTATGGGGTGGAATTATATGAACTCAAGCCGACGCGTGAACAAAGTAGTACGTTA
+CACGATCGCGGCATAACCGGTAATTCAGGGGCCAGCCTGCATGCTAAAACCTTTAGTATCGATGGTAAAA
+CGGTGTTTATCGGCTCTTTCAATTTCGATCCGCGTTCAACGTTGCTCAATACTGAAATGGGCTTCGTGAT
+AGAGAGCGAAACGCTGGCACAGTTAATTGATAAACGCTTTATTCAGAGCCAGTATGATGCGGCCTGGCAG
+CTCCGTCTGGACAGGTGGGGACGGATCAACTGGGTTGATCGTCATGCAAAGAAAGAGATTATTCTCAAAA
+AAGAACCCGCCACCAGTTTCTGGAAGCGGGTTATGGTCAAACTGGCGTCGATATTGCCCGTGGAATGGTT
+ATTGTAAACGCGACTTAACGGGCTGGTGCTTTATCGTTCTCACGCTTAACAACCGGTTTACCAGAGAACA
+AAAACTTCAATAATGGGATGCGTAAATGAATTTCATACAGAATTATCGCAATCCCTACTACGAATATCAG
+GCCACAGAGAAAACCAAGCCAGTTGGAGGTGATGTGTGGTGTAATGTATGCGCCGAAAAACAGCGTTAAC
+GGGTGGTGAACCAGATAGATAAACAGCGATGCGTTAACAAAATAAGTCACCCGCGCTGACTGGAAGTTAA
+GCAAACGGTGGCCAAAGGAGAAGACCACATTCACCATCCACAGACCGAGGACCATAGTGATCACCGACTC
+GGTTTCATACATCCAGGCATCGCCACTGCCATAGCGCTGGTTGAGTAAATAAGCGACAAACGCCAATGCT
+GCTGCAAGGGTACAGCCACGAGACGGCGTGGTAAACAAGGCTTTAAGATGAGGGAAAATGAAAGCCAGTG
+CGCCGAGGATAAAGAACGGCAAATAAAATAACGTTTGCATGACAATAAAATTGAACATGCCGTTACTCAG
+AATGGGTGGATACACAATAAAAATCGTTCTTCTTATTACCGCATAACCGATGCCGAGGCACAAAAAAATC
+ACCGATAATTTTACCATCGAGAATTTTTTATTCGTTTTATCAGAATTTTCTAAATTATTTCTGATGCGTT
+TAAATATCCATACGCACAGCGTCGTCATGACCACTAACACCAGTAAAAACCACAGGTGTGATATTAATTC
+CCAGGCCAACGTATTATATTTGTCATACAATGACAGCCTAGGCCAACTTTCCGCTTTCCCTTTGACGTAT
+TGCAGCATAATAAATTGCGGCAATGTCAGTAAGGGGATGGCTGTTAACATCGGGATCCCTACACGTTCGA
+CACGTACTTTCCACCATTTTTTCAAGGGATAGCGTAAAAAAAGCATGTAGGAAAAGTACCCGGATATAAC
+GAAAAACACCTGCATGCGGAACGAGTGGATGAAGTCATTAAAAAGGGTCAGCCACAATGACGGTTCGGCG
+CTATTCACATGCCATGTATGGCTCGAATAGATTAAAGAAATATGAAAAGGGATCCCTAACAACATCAGCC
+AGGCGCGGATGGAGTCGAGGAAATATTCACGTTGCGCGGGTACTGGATTCATATATGGTTAACTAATCTC
+GGATTTTTCGTCTTATCCCTGTCGGGTTATGCCTTTAGGCTTGTTGCCATAGCGACACCGACCTGACCGC
+GCCAGGCGCAGGCTTCAAGGTTTTTATGCATAGCATCATCGCTACCACTAACCAGAATGGAAGCGTCTGT
+AAGACGGTTGATAAATAAATTTGCTGGCAAACCCTACACGAAGTCGATGCTTCTGTCTTTAGGAGAAGCA
+CGGAAAGTGAAAACGGTTGCAATCAGGTGCTTAATCCATGAGCCAGTGTGCTGAACGATACCGGGATTCT
+GTTGTCGGAATGGCAGGTTATCCATTAAAATAGATCGGATCGATATAAGCACACAAAGGGGGAAGTGCTT
+ACTAATTATGAAACATAAACTACAAATGATGAAAATGCGTTGGTTGAGTGCTGCAGTAATGTTAACCCTG
+TATACATCTTCAAGCTGGGCTTTCAGTATTGATGATGTCGCAAAGCAAGCTCAATCCTTAGCCGGGAAAG
+GCTATGAGGCGCCCAAAAGCAACTTGCCCTCCGTTTTCCGCGATATGAAATACGCGGACTATCAGCAGAT
+CCAGTTTAATCATGACAAAGCGTACTGGAACAATCTGAAGACCCCATTCAAACTCGAGTTCTACCATCAG
+GGTATGTACTTCGATACCCCGGTCAAAATAAATGAAGTGACTGCCACCGCAGTCAAACGAATCAAATACA
+GCCCGGATTATTTCACTTTCGGCGATGTTCAGCATGACAAAGACACGGTAAAAGACCTTGGTTTTGCCGG
+TTTCAAAGTGCTTTACCCGATCAACAGCAAAGATAAAAACGATGAAATCGTCAGCATGCTCGGGGCCAGC
+TATTTCCGCGTGATTGGTGCAGGTCAGGTTTATGGCCTTTCTGCACGCGGCCTGGCAATTGATACCGCCT
+TGCCATCGGGTGAAGAATTTCCACGCTTCAAAGAGTTCTGGATCGAGCGTCCAAAACCGACTGATAAACG
+TTTAACCATTTATGCATTGCTTGACTCGCCGCGCGCGACAGGTGCTTACAAATTCGTAGTTATGCCAGGA
+CGTGACACGGTTGTGGATGTGCAGTCGAAAATCTATCTGCGCGATAAAGTCGGCAAACTGGGGGTTGCAC
+CGTTAACCAGTATGTTCCTGTTTGGGCCGAACCAACCGTCGCCTGCAAATAACTATCGTCCGGAGTTGCA
+CGACTCTAACGGTCTGTCTATCCATGCTGGTAATGGCGAATGGATCTGGCGTCCGTTGAATAACCCGAAA
+CATTTAGCGGTCAGCAGCTTCTCGATGGAAAACCCGCAAGGCTTCGGTCTATTGCAGCGTGGTCGTGATT
+TCTCCCGCTTTGAAGATCTCGATGATCGTTACGATCTTCGTCCAAGCGCATGGGTGACTCCGAAAGGGGA
+GTGGGGCAAAGGCAGCGTTGAGCTGGTGGAAATTCCAACCAACGATGAAACCAACGATAACATCGTCGCT
+TACTGGACGCCGGATCAGCTGCCGGAGCCGGGTAAAGAGATGAACTTTAAATACACCATCACCTTCAGCC
+GTGATGAAGACAAACTGCATGCGCCAGATAACGCATGGGTGCAACAAACGCGTCGTTCAACGGGGGATGT
+GAAGCAGTCGAACCTGATTCGCCAGCCTGACGGTACTATCGCCTTTGTGGTCGATTTTACCGGCGCTGAG
+ATGAAAAAACTGCCAGAGGATACCCCGGTCACAGCGCAAACCAGCATTGGTGATAATGGTGAGATAGTTG
+AAAGCACGGTGCGTTATAACCCGGTTACCAAAGGCTGGCGTCTGGTGATGCGTGTGAAAGTGAAAGATGC
+CAAGAAAACCACTGAAATGCGTGCTGCGCTGGTGAATGCCGATCAGACGTTGAGTGAAACCTGGAGCTAC
+CAGTTACCTGCCAATGAATAAGACAACTGAGTACATTGACGCAATGCCCATCGCCGCAAGCGAGAAAGCG
+GCATTGCCGAAGACTGATATCCGCGCCGTTCATCAGGCGCTGGATGCCGAACACCGCACCTGGGCGCGGG
+AGGATGACTCCCCGCAAGGCTCGGTAAAGGCGCGTCTGGAACAAGCCTGGCCAGATTCACTTGCTGATGG
+ACAGTTAATTAAAGACGACGAAGGGCGCGATCAGCTAAAGGCGATGCCAGAAGTAAAACGCTCCTCGATG
+TTTCCCGACCCGTGGCGTACCAACCCGGTAGGCCGTTTCTGGGATCGCCTGCGTGGACGCGATGTGACGC
+CGCGCTATCTGGCTCGTTTGACCAAAGAAGAGCAGGAGAGTGAGCAAAAGTGGCGTACCGTCGGTACCAT
+CCGCCGTTACATTCTGTTGATCCTGACGCTCGCGCAAACTGTTGTCGCGACCTGGTATATGAAGACCATT
+CTTCCTTATCAGGGGTGGGCGCTGATTAATCCTATGGATATGGTTGGTCAGGATGTGTGGGTTTCCTTTA
+TGCAGCTTCTGCCTTATATGCTGCAAACCGGTATCCTGATCCTCTTTGCGGTACTGTTCTGTTGGGTGTC
+CGCCGGATTCTGGACGGCGTTGATGGGCTTCCTGCAACTGCTTATTGGTCGCGATAAATACAGTATATCT
+GCGTCAACAGTTGGCGATGAACCATTAAACCCGGAGCATCGCACGGCGTTGATCATGCCTATCTGTAACG
+AAGACGTGAACCGTGTTTTTGCTGGCTTGCGTGCAACGTGGGAATCAGTAAAAGCCACCGGGAATGCCAA
+ACATTTTGATGTCTACATTCTTAGTGACAGTTATAACCCGGATATCTGCGTCGCAGAGCAAAAAGCCTGG
+ATGGAGCTTATCGCTGAAGTCGGTGGCGAAGGTCAGATTTTCTATCGCCGCCGCCGCCGTCGCGTGAAGC
+GTAAAAGCGGTAATATCGATGACTTCTGCCGTCGCTGGGGCAGCCAGTACAGCTACATGGTGGTGCTGGA
+TGCTGACTCGGTAATGACCGGTGATTGTTTGTGCGGCCTGGTGCGCCTGATGGAAGCCAACCCGAACGCC
+GGGATCATTCAGTCGTCGCCGAAAGCGTCCGGCATGGATACGCTGTATGCGCGCTGTCAGCAGTTCGCGA
+CCCGCGTGTATGGGCCACTGTTTACAGCCGGTTTGCACTTCTGGCAACTTGGCGAGTCGCACTACTGGGG
+GCATAACGCGATTATCCGCGTGAAACCGTTTATCGAGCACTGTGCACTGGCTCCGCTGCCGGGCGAAGGT
+TCTTTTGCCGGTTCAATCCTGTCACATGACTTCGTGGAAGCGGCGTTGATGCGCCGTGCAGGTTGGGGGG
+TCTGGATTGCTTACGATCTCCCGGGTTCTTATGAAGAATTACCGCCTAACTTGCTTGATGAGCTAAAACG
+TGACCGCCGCTGGTGCCACGGTAACCTGATGAACTTCCGTCTGTTCCTGGTGAAGGGTATGCACCCGGTT
+CACCGTGCGGTGTTCCTGACGGGCGTGATGTCTTATCTCTCCGCTCCGCTGTGGTTTATGTTCCTCGCGC
+TCTCTACTGCATTGCAGGTAGTACATGCGTTGACCGAACCGCAATACTTCCTGCAACCACGGCAGTTGTT
+CCCGGTATGGCCGCAGTGGCGTCCTGAGCTGGCGATTGCACTTTTTGCTTCGACCATGGTGCTGTTGTTC
+CTGCCGAAGCTATTGAGCATTTTGCTTATCTGGTGCAAAGGAACGAAAGAATACGGCGGCTTCTGGCGCG
+TTACATTATCGTTGCTGCTGGAAGTGCTGTTTTCCGTGCTGCTGGCTCCGGTTCGCATGTTGTTCCATAC
+GGTCTTCGTCGTCAGCGCGTTCCTTGGCTGGGAAGTAGTGTGGAATTCGCCGCAGCGTGATGATGACTCC
+ACTTCCTGGGGGGAAGCGTTCAAACGCCACGGCTCACAGCTGCTGTTAGGGTTAGTGTGGGCTGTTGGGA
+TGGCGTGGCTGGATCTGCGTTTTCTGTTCTGGCTGGCACCGATTGTCTTCTCGTTGATCCTGTCACCGTT
+TGTTTCGGTTATTTCCAGCCGTGCCACCGTTGGTCTGCGAACCAAACGCTGGAAACTGTTCCTGATCCCG
+GAAGAGTATTCACCGCCGCAGGTGCTGGTTGATACCGATCGGTTCCTTGAGATGAATCGTCAACGCTCCC
+TTGATGATGGTTTTATGCACGCGGTGTTTAACCCGTCATTTAACGCTCTGGCAACCGCAATGGCGACCGC
+GCGTCACCGCGCCAGTAAGGTGCTGGAAATCGCCCGTGACCGCCACGTTGAACAGGCGCTGAACGAGACG
+CCAGAGAAGCTGAATCGCGATCGTCGCCTGGTGCTGCTAAGCGATCCGGTGACGATGGCCCGTCTGCATT
+TCCGCGTCTGGAATTCCCCGGAGAGATATTCTTCATGGGTGAGTTATTACGAAGGGATAAAGCTCAATCC
+ACTGGCATTGCGTAAACCGGATGCGGCTTCGCAATAAAAACGTAGTTGCCTGATGCGCTACGCTTATCAG
+GCCTACATCGTTCCTGCAATTTATTGATTTTGCAAGATTTTGTAGGTCGGGTAAAGCGTTCACCCCGCAT
+CCGGCAAAAACAACGAGCCGATAAAAATACCGGCGTTATGCCGGTATTTTTTACGGAAGAGGTATCAAAT
+GCGTTTAATTGTGATGAGCATAATGGTGACCTTGCTGAGTGGCTGTGGCAGCATCATTAGTCGCACTATA
+CCGGGGCAGGGGCATGGCAACCAATATTATCCCGGTGTGCAATGGGACGTGCGTGACTCCGCCTGGCGTT
+ACGTCACGATCCTTGATCTGCCATTCTCCCTGGTTTTCGATACTTTACTGCTGCCGATCGACGTACATCA
+TGGCCCGTATGAGTGATTAACGTTCATCCCACTCATCAGCTGCAGTGCGTCCTTCCTCGGTATCCAGCGG
+TGGCTCAAGCTGAAATTCCCCCTCGTCCCATTCATGTAATGTATTCTCATCTTGCCACTCCTGGCGGATC
+TCTATCTCATCATAGTCGCCGTCAAAGACACTTTGCGCAGCTTCACCGCTAAGCATGGGTAAACATTCAC
+CTTCTTCCCCTTCGTCGGCAAAAAACTCAACTTGCCACATGATGTCGCCGTCCTGCAAAACGTATTTTTG
+GGCATTGAACTGTTGCACATTCGCGTTTTCGGCGTCGATGCCGGGGTTGTCTGCAAGAAATTCTTCGCGT
+GCAGCGTCAATGGCTTCTTCAAGCGTTGCGTACATGGTCATCACGATTCTCCCTTTGAGTTGATGAGGTT
+TCAGGGAAAAGGATAGCTGATTCTCCGCTTTTGCAAGTATGAAAGGCGAAAAATCAGTTCGATATCTGGG
+GGATTCGACGACGACGTAGACTGTTCCATGAATAGACTGCGTTGAATAACACTACGCCAGCGGTGACGAG
+AAATACCGCTCTGAAACCGTAGTTCGCTGAAATCGCTGCTCCCATCAATGGTCCGGTAACGTTGCCAATA
+TCACGAAACGACTGGTTATAGCTGAAGATACGCCCGGCGATCTGGTTGCTCGAGTTATAAACTAATAGTG
+TCTGTACGGCGGGGAGTAGTGCACCATCGGCGGCACCGAGCAAAAAACGTAAAATCCCAAGTTGTAATGG
+CGTCTGAACGTAAGACATTGGGATCAACAGCAGTACAGAAAAGATCAGCGCTGTAATCAGGATCTTTTCG
+GGTCCGATTCGATCGCCAAGTTTGCCGAGTCGTGGTGCACTTAGCAGAGCCGCCACGCCTGGCACCGAGG
+CGATCATGCCACTGATAAAGGCGACGTTACTGACGTTACCCGCCAGTTCGCGGACATACAGCGTCAGAAT
+GGGGGCAATTGAGCCCGTCGCCACCTGGATGATTAACGTGGTGACAAACAGGCTGAGTACCAGTTTCGGG
+TTTTTAAGTGATGTCACCACTTCCCGCATATGCAGCATCTCTTTTTTGCTGACCGGCTGGAATTTTTCTC
+TGATGCAAAACAGGGTGACGAAAAAGCAGAGTATGAGCACACTGGCGGTAATAAAGAATACCGGACGTAA
+GCCGTAGCTATCGGCGAGCAAACCGCCAGCCATTGGGCCGAGCAACGCGCCGCTAACGCCGCCTGTGGAG
+AGCGTACCCAGCGCCCAGCCGCTTTTATTACGCGGTACTTGTGTGGCGATAAGAGCATTAGCGTTGGGGA
+CAAATCCGCCAAGTAAACCAAGAAGCGCCCGCAGGATCAAAAACTGCCAGATATTTTGTGCCAGTCCCAT
+CAACACCATCACGATGCCCATGCCGAGAGCAGAGCGTAATAGCATGATTTTTCGGCCTTTACGGTCGGCG
+AGTCCACCCCAAAACGGTGAGGCGATGGCCGAAAATAAAAATGTAATGCTGAAGACAATACCGGACCACA
+TATTCAGGGCGGAGTGGCCGGTAACGCCAAGCTGCTCAACGTAGAGGGGTAAGAAGGGCATTACCAGGCT
+GAAGGCGGCACCGGTAAGAAAACAGCCTAGCCAGGCGACGATCAGGTTTCGTTTCCAGTTTATAGGGGTG
+TCATTTTCACAGGGTGACATAGCAATCCGCTGTTGGTGCGCCAGGCGCGGTGAACATAAGAAGAAAAGAT
+AAGCACACTAATTATGCGCCCGACTTCCAGGGGGCGCAATCCAGAGAGCTTTTATCGCTAAATCAGGGGG
+ATTTTCTGTGGTAATGCCGGATGCCATTCTGAAGCATCCAGCATGGAAGATTTAATAGCGTGAAGGAACG
+CCTTCCGGGCGTGTTTTAAAGCGACGGTGTAACCACATATACTGCTCTGGTGCCATCATGATGCATTTTT
+CGACCACTTTGTTCATCCACGCGGCGGTAGTTTCGGCATCATCCAGCGGCGGAGAACACTCTGGCGGCAG
+TATAATCAACTGATACCCTTTGCCACCTGGCTTACGGCGTGGAACGAAGGGCACCAGACATGCGCCGGAC
+ATCCGTGCCAGCATCCAGGTTCCGGTCGTGGTCGCAGCCTGCTCAACGGCAAACAACGGGACGAAAACGC
+TTGAGCGCGGGCCGTAATCATGATCCGGTGCGTACCAGACCACTTCGCCTTTTTTCAGGGCTTTAATCAT
+GCCTTTTAAATCTTTGCGGTCGAGCATCGATTTATTTGAGCGCAAACGGCCCCAGGTTTGTAGCCAGTCA
+ATCAGTGGATTATCGTTCGGGCGGTAAACGCCAATCCCCGGTTCCTGCATACCAAACTGCCGCGCACCCA
+GTTCCAGTGTCAGAAAATGGATGCCAACTAACAGGATGCCGCGTTTTTGCGCCTGCACGTCACGAATGTG
+TTCCATGCCGATCACTTCCGTCCAGCGGGCGATTCGGCGGTCCGGCCAGAACCACGCCATGCCGGTTTCC
+ATCAGGCCCATGCCAACGGATTCGAAATTCTTCACCACCATTTTACGGCGTTCTTGTTCGCTCATTTCCG
+GGAAGCACAGTTCCAGGTTGCGATGCACAATTTTTGCGCGTCGTTTCATAAAACGTAACGCCAGTTTTCC
+TAATCCACAACCGAGGCGGTAGATAACCGGGTAGGGCAATTGCACGACCAACCAAAGTACGCCAATACCC
+AACCAGGTTAACCAATAACGCGGATGAAGCAGTGCGGTGGAGAACTTGGGTAGATTCGTCATATCAATCC
+TGTTTTTCAACCTATACGGGCAATTGTATGTATTGTCGCATTTTTTCGTCCGCAACCAAAATTTGTGACT
+GAAGACTGGGCGAAATTGCCGCGCTTGTAAATAACAAATAATTTTTAATGCTAAAATGTAGCGTAAAATG
+TGTGGATGTTAATTATCGATAATTGCTATATCATGCCGCGGATTTTTACTTTCCCATCTCGCAGGAACCG
+TACACCATGCCAGTGTTACACAACCGCATTTCCAACGACGCGTTAAAAGCCAAAATGTTGGCTGAGAGCG
+AACCGCGAACCACCATTTCGTTTTATAAGTATTTCCACATTGCCGATCCTAAGGTGACCCGTGACGCTTT
+ATATCAACTGTTTACCGCGCTGAATGTTTTTGGGCGAGTGTATCTGGCGCATGAGGGCATTAACGCGCAA
+ATCAGCGTACCTGCGAGCAATGTTGAAACATTTCGCGCGCAGCTCTATGCCTTCGACCCGGCTTTAGAGG
+GTTTACGCCTGAATATCGCGTTGGATGATGACGGGAAATCCTTCTGGGTACTGCGTATGAAGGTGCGCGA
+TCGCATTGTTGCCGACGGTATTGACGATCCTCACTTTGATGCCAGCAATGTTGGTGAGTATCTGCAAGCA
+GCGGAAGTGAACGCCATGCTTGACGATCCCGATGCATTGTTTATCGACATGCGTAACCACTATGAGTATG
+AAGTGGGGCACTTTGAAAACGCGCTGGAAATACCGGCAGATACCTTCCGTGAGCAGCTGCCAAAAGCAGT
+TGAGATGATGCAGGCACATAAAGATAAAAAAATCGTCATGTACTGCACCGGCGGCATTCGTTGTGAAAAG
+GCCAGTGCCTGGATGAAACATAACGGATTCAACAAAGTCTGGCATATCGAGGGCGGAATTATTGAATACG
+CCCGTAAGGCGCGCGATCAGGGCTTGCCGGTGCGTTTTATTGGCAAAAATTTTGTTTTTGACGAGCGGAT
+GGGCGAACGTATATCTGATGAGATTATCGCGCACTGCCACCAGTGCGGTGCGCCGTGCGACAGCCATACC
+AACTGTAAAAATGATGGCTGCCATCTGCTGTTTATTCAGTGTCCAGTATGTGCGGAAAAATACAAAGGTT
+GTTGTAGTGAGATTTGCTGCGAAGAAAGCGCGTTACCGCCAGATGAACAGCGACGTCGTCGGGCAGGACG
+TGAAAATGGCAATAAGATCTTTAATAAGTCTCGTGGACGTCTGAATACAACACTGGGCATTCCTGATCCA
+ACAGAATAAATATCATTGCCGGATGCGTGCCATCCGGCAACATTTCACTCTTACTTCTGCTGTACGCCTT
+CCACTGAAATAATCAGATCCACTTCCTGAGACGCTGGACCTAAATCTGTCTTGATATTGAAGTCTTTGAG
+CTTAATTTTGCCTTCGGCCTCAAAGCCTGCACGTTTACCGCCCCACGGGTCGTCACCTTGACCAATTAAT
+TTCGCTTCCAGCGTGACGGGTTTGGTTACGCCATTCAGCGTCAGATCGCCGGTAATATCCAGTTCGTCAC
+CGTCTTTCTTCACGCTGGTGGAGGTGAATGTTGCCTGTGGATATTTTGCAGTATTGAGGAAATCTGCACT
+GCGAAGATGTTTATCGCGTTCGGCGTGATTAGTATCGACGCTGGTTGTGTTAATTGTCACATTCACTTTA
+TCGGCAGCCGGATTTTTTTCATCAAAGGTAAAAGTACCGTCGAAATCTTTAAAGGTGCCATATAACCAGC
+TATAGCCAAGATGCTGGATGCGGAAGTTAACAAAGGCGTGCTGACCTTCTTTGTCAATTTTGTAATCGGC
+GGCAACCGCTGAACCGGCAGAGAACATCAGGGAAGCGAAGGTTAAACCAAGCAGGCTTTTATTCATTTTT
+TATACTCCATAGTCAGATGACGACTTTCCCAGCATGCGCTTCAGAGTGTCGTCTTTATCGATGAAATGAT
+GCTTCAGGGCCATAAATCCGTGCATAACGGACAGTACTACGACGCTCCACGCGAGCCAAAAATGCAGGGC
+ACCGGCAAAGTCAGCCTGTGCGCCAGCGTCGGCGAGGGTCGCGGGGACGTCAAACCAGCCAAAAACGCTG
+ATCGGTTTACCATCGGCAGTTGAGATCAGATAGCCGCTGATGCCGATGGCGAACAGCAATAGGTACAATG
+CGAGATGTCCAGCTTTTGCTGCAAGACGAGTCATGGGCGAATAACTCGGCAGCGGACCCGGCGGTGGAGA
+TATGACACGCCACAGAACGCGAATAACCAGCCCCATCATTAACAAAATACCGATGCTTTTATGCAGTTCG
+GGTGCTTTGTGATACCAGCCATCGTAATAACTGAGCGTGACCATCCACAGACCTAAAGCAAACATGCCGT
+AGACAATAATTGCGCTTATCCAATGTAAGGCCGCAGATATAACACCATAGCGTTCAGGGGTATTTGTGAA
+TGACATAAGTACATCCAAAACGAATTTGCGAGAGAAAGAAAATGGCGTGTCGGAGAATGAATTGCAACAC
+AAAAATAACAAATTGAATGATATTTATTTTTATTTCAATAATTTTGAATTAATAATGAAAGAATCTTCAT
+AAGTTTAGTGGGTTAAGCATCTGGAAGGTCTAGTGAGTGCTGTAGAGGCAGGAAGAATCTCATTCAATTT
+TTCACGCTAAATGAAAGGGAGATTAAATATTTGTCAGTTTATGTCAGTGCGGAAAACTAAAAATAAAACA
+CATAGATCAGATCCATAATTGCCAACAATCCCCAGAGAAAAAGATAAAGCATCAGATGCTCGCGAATATT
+ATTGATGAGATAGTGCAACAGTCGACGCATTAAATACTCCTGTAAAAACGGCCTCATTCTGGAGGCCGTA
+ATGATGATTATTGGAAGCGGGAAAGCCTGAATGGCGTCAAATCAAAATCGCTTTTTTTGTCTTGCGCAAA
+ATCGGCAGCTATTTCCCCTAAAACTGACGCAAATTTAAAACCGTGCCCACTCAGGCCGGTAATGAGCAGT
+GTATTATCGTGGCCGGGTAGGGTATCGATAATAAAATCTTCGTCAGGCGAATTATCATAGGTGCAGGCAG
+CGCCGTACAGGCAGCAACCGATACCCGGCAACACATTGCGCAAGAACGGGAAGGCTTCCGAACCATCGCT
+GACCACTTCCGCAAACGGAACACGTTCATCCGCTGAATGGATAACCTGGCCTCCGTTATGTTTGCCAATC
+TTCAACGCGTCGTTTTCTGCCGGAAAACCATAATATTGATCGCCATTGGGCAGTTCACCGGTAAACGCCG
+GGAATTTATTCTTCACGCTATAGCGACCATCGGCCTGATACCAGGCAAATACTTTGCGTACGGGCTGGAC
+AGGCAGCTCCGGGAGTAGGTCTTTTACCCATGTTCCCGCGCAGACAATCGCTTTTTTCGCCTGATACTCA
+CCGTCAGCCGTTTCAATAGTTACGCCATCATCGTCATGACGAATTGCGGTGACCGGGCAGTTGAACAGCT
+GCGCACAGCCCGCTTCCTTCGCCAGTTGGATCCAGGTTTTAATCGCCAGTTCGCTGCGCAAAAAACCGGA
+ATCAGTTTCAAATAAACCGATGTAGTTGTCCGGGACGCGTATTTCTGGCCAGCGGGCCATAATCCCTTGC
+GCGTCGAGCTTTTCAACGTTGAGTTGCCACTGTTCGGCGCTGTGGGCGACGTTGGCGAGAAATGCGGAGT
+CAGCCGGACCGAGGTTAATGACACCAGAGCGTACAAAAATGGGATCATCTTCGTTGTGGCGGGAAAGTTC
+ATCCCACAGCATTTGCGCGCGGAGGACCAGCGGGACATACTTTTCGCCTTCACCATAAGCATGGCGAATT
+AATCGCGTATCGCCGTGGTGGCTGCCGTGTTGATGCGGTGGCATATGGGCGTCGGTCATTAGCACGTTTA
+AACCGGCGCGGGTTGCATAATACCCGGCGGCAGCGCCTACGGAACCGCTGCCAATAATGATGAGATCGTA
+TTTCATTTTTTTCTCTCTGCTCTCATGGTTTAAGCAGAGTAATTAACTGAATGCAGATATACAACCCAGA
+AATGGTAAAGGCACCGGTGAGGTGCCTTTTGGGTGGATGGTCATGTCATGTTAATGACGCCGATACTCGT
+TTACCTGGAAATCACCGGATTCAATTTTGGCGATTCCTGCTTCTAATATCGAAATAAATTGTCTGGCAAC
+ATCAGTGGTTAACCAGAGCGTCTGACCAACTTCAGTCCCTTCCTGCTCGGACTTATTTGGGGTCTGGTAG
+TGCAAACGCAACATCAGCGCATCATAGCTATCAACGGTGCTGATGTCCCACCCTACGAGCGGATGAGTCT
+GAATGACTTCATTATTTTTTTCCATCATGGCCCCCTAATTCGTGTTACTAGACAACGTTATTCGAGGTTC
+AATGCGTTTTTATCTGAAGCAACTTCAGTATACCAATAAGTAAGGGTATTCACCGAATTTTTAAAGGGGG
+GAGCAGATAAATTTCTGCTTTTAAGATTTATATGAACAATAAAACAGCATGTCATTCATATTTTTTTAGC
+ATATTGTGCAATTATTTTGAGGAAGTGTAGAAATTTTGTACTCACAATTCGCAAGTAAAATAAAAAAGCC
+GGGGCGACCCGGCAAAAACAAAAATCACTGCATATTATTCACTGACAAACCAGTCATCGGCGCTTTCCCA
+CGTTTCCTGGAGAATTTCGCTAATGCGCTGTTTATCTTCTTTTGTCGCGCCAATAACCGATAAATTATTT
+GCTGCGGCATAACGTACCGATACGTGGCCTTCATTATCAGGAAACGCATACTGAATACGGCGGGAAAGTT
+CGCCAGCCAGGGCGTCAATAGCCCCAGCTGGCAATGGAGAAGTTTTCGCTATGGTGACTTCAATTCGCAT
+AATAGCCCCCTGTTGAATATACTGGTTATTTATACAGGTAAAATAACCTAATGACAACAGGAAGCTACGA
+TTTTTATTGTTTAACGGACCAGCGTACCGTTTCTCCGGCGAGGAATGGCACCAGCGTGTCATCAGTCAGT
+GCGATGCTTTCAGCAACCTGTTGCTCTTCACGTACCAGTTCGATGAATGTGTCGTTGACCGGCAAGCCAT
+AGAACTGCGGGCCGTTTACAGAACAGAATGCTTCAAAGTGCTGCAAAGCATTCATCTCTTCAAAGACGGT
+AGCGTAACTGCCCAGCGCGGTTGGGGCGTTGAAACAGCCCGCGCAGCCGCAGCTGCTCTCTTTGCGATGA
+CGTGCATGTGGCGCAGAATCCGTTCCGAGGAATACACGATTAAAACCGCTGGCGACCAGTTCACGCAATG
+CCTGTTGGTGGATATTGCGTTTGAGGATGGGTAGACAATACAGGTGCGGACGCACGCCACCAACCAGCAT
+ATGGTTGCGGTTAAACATCAGATGCTGCGGAGTGATGGTGGCAGCCAGCCGTTCATTTCCGTCACGGACA
+TAGTCGGCAGCGTCTTTGGTGGTGATATGCTCAAAAACGACTTTCAGCGCGGTCAGGCGCTGGCGCAGCG
+GTTCCATCACGCTTTCTATAAAGCGCGCTTCACGATCAAAAATGTCGATATCTGCATGTGTTACTTCACC
+ATGCACCAGTAGCGGCATACCGATTTTTTCCATGCGCTCAAGTATCGGCATGATTGCGTCAACTGACGTA
+ACGCCATGGCTGGAGTTAGTGGTTGCGTTTGCCGGATAAAGTTTTGCAGCGGTGAACACGCCTTCGTTAA
+ATCCGCGCTCCAGCTCATTAGGATCCAGCGAATCTGTTAAATAACAGGTCATCAGCGGGGTGAAATCGTG
+CCCGGCAGGTACGGCGTCAAGAATGCGCTGGCGATACGCCACGGCAGCCTCAACGGTGGTCACGGGCGGA
+GCCAGATTGGGCATTACGATAGCCCGTCCATAAATTTCGCTGGTATACGGCACGACAGTTTTTAACATGT
+CGCCATCGCGGAGGTGAAGGTGCCAGTCGTCTGGGCGGCGGATCTTTAATACCTGGGATGGTGCAGTCAT
+TAATCTCTATGCTCCGGCTGAAGGGATGTTTTTGCCGGACACAAAGGATAAGCGGAAACGTTTTCCTTTG
+CACGAAAAATAAAGGGCGCGAATGCGCCCTCGTGATTAATCAGTAAACGGAATGACAATTTCGCCTGGCT
+TCACTTCAATGCCTTTCGCCAGTTTCTTCGCCATTGCTTCGCCCTGGCTGCCATCTTCGCGCAGGACGTA
+AGCAGGTTGCTGGTTAAAGTAATTGCGTAATGCCTGGTTTAAATAGGGAAGCAACGTTTGCATCACCGTT
+TGCATTTTTTCCGGTTGTACCGTCGCATCGACCACTTCCATCTCTTTCAGGAAGATCGCGCCTTTTTCTT
+TATCAAACACGGGCAGCGCTTTCAGCTTCAGTTTCATGGTCGCTTTCTGGCTACCGAACAGGGAGTTCAT
+GTCCAGATTGGCGTCTCCGGTTAGGGTAACCTTATTCGGCTCTTCGCGACCAATTTGGCTGGTCAGGTTT
+GTCAGAACAATATGGGCGTCAGCCACGCCGGGTAAACCGATATCTTTTGAGAAATTATTATGTTTCGCAA
+GCGACTGGTTAATTTCTTGTTCGGTGATGGTGTATTGGGTGAGTTGATTACAGCCAACGAGCAGGCCACT
+GACGATCAATGCAGCGGCAAATAAAAACTTGTTCATGGTAGTCCTCGACATGAAATCTGCGTCAATATCC
+TGACACAACGCAGCATGTGTCACCAGCGATAAACGCGCCAGCAGAAAAAACTGAAAACAGCGGCAACCCG
+CGAATACAGGCTGCCGCGGCGGGTCAGGATTAAATCGCCATTGATGATAACAAATTGATTTGTGTCTGTT
+TCGCCATATTATCGCGGTAATCAGCAACGCGGCTTGGCCAGTTGATTCCGGCTACTAGCGTCAGATTACG
+CAGGAGCGGAAATAGCTGAATATCATCTTCCGAAAGTTCGCCATTCACGGCGTTCGGTTTGACGATCAGT
+TTGTCCAGCGCACGTAAATCATCGCTGATATTCTTAATCAGACCGTCAGAGTGGGCCAGCAGGTCGGCAA
+AATTACCCGCGCTGGCCTCTTTCTTGTCGACGAAATATTTGCGCGCGGCAGGAGTAGAAAACTCATCAAA
+TGCCGATTTGGCAAAACGCGGCAACAGCAGTTTGTTGGCGTAGCCATTGACCTTGCGCAGCCACTCTTCA
+ATGGCAGGGGAACGTTTGCCGGTCAGTAACGGTTTGCCGTCGAGTTTATCGACATAGTGAACGATGTCCA
+TGCTTTCTGGCATATAGCGGCTGTCATCTTTTTGCAGAATGGGAACCTGTTTTTGACCGACCATCCGGGT
+GGGTGTTTCTGCGTCGTCGTTGAGCAGAACATGTAATTCGACGGGGATATTTTTCAGGCCGAAAATCATG
+CGGGCTTTGAGGCAGTAAGGGCAGTGATCGTAAATGTATAGCTTCACGTGACTCCTCCATTTGGCTGTCA
+GTTCACTTTCAGTATGGAGGAGTCAGGGGGGAGTATCAAATCAGGCGTCGCGTTCAAGCAAACGACGCGC
+GGCGCGTTTCTGGCTAAACTGCCAACCCAGCGCAAGGAAAGTGAAGATGCCAATAATGCCCAGCATCATC
+CACGGAAGCTCTGGCTGGTGCGCCGATTTGCCCAGGTCAAACAGCCAGCCGCCACCGATATAACCAATAG
+CGCCGCCAATCGCCAGACCCAGACGGCTAAACCCCATATAGCTGCCGCGAGCTCTTGCGTCTGCCAGCGA
+AGCACTTAAGGTTTCACGCGCAGGCTCGGCAATGATCGACCCGATATAAAACAGACAAATCAGGGTGAAA
+AGTTGTTGCAGGCCGCTGACCATGCCTACTGGCATCATGCTTAATGACATTATCAACAGCCCAGCCATTA
+ACCGGTGTTCCAGACGAAAATGCTTTTCACTCCAGCGGGCGATAGGGTAGAGCAACGTTAACGACAGACA
+CGCTTCAATGGCATACATCCATTTAACGGCAGAGGGCGCGCCCGCCACGTCGTTGACCATAATTGGCAGC
+ATCAGCATCACTTGTACAGCCAGCATGTAGTAACCCGCCAGCGTCAGGACATAGGTGACAAAACGCTTGT
+CACGCATCACGCGGGTCATGCCTTCGCGAACGGGCGTGCGTACGGTGGAGAGTTTCCATGCCGGTAACAA
+CCACGCATTGAACGCTGCACACAGCACAAACAAAACTGCCCCTGTGGCGCAGACCAGGCGAAAGTCGTAT
+TGCAACAGCCAGCTCCCCAACAATGCGCCAATGACCGCACCGGCACTGTCCTGCATCATCAACAGCGAGA
+AAAAACGACCACGCTGCTGTGGACGGATTAATTTCACCACCAGCGCCGAACGCGGAGGATCAAACAACGT
+GCCGCCGAGTCCCGAAAGCAGGCATGAAAACCACAGTAGCCACGGTTCGTGGGCGATACCCATTGTGGCG
+AATCCGGCGGCACGCATCAGCATACCGGTGACAATCATCGGTTTGGCACCAAAGCGGTCGGCAATTGCGC
+CGCCGAAAATACCCAGACCTTGCTGAATAAACTGGCGTAGACCGAGGGCAATACCGACCATGACGGCGGC
+CCAGCCCATTTGATCAACGAAGCGGATAGAGATCAGCGGGAAGACAACAAAGAACCCCAGCACGACCAGC
+ATATTATCGATGAGCAGGAAATATTTACCCAGGTTCCTCGCCTGCGACACGCGGGACATTTCCCCTCCCG
+GGAAATAAAAGATGAGCACTTTCTATTCTGCATTGCCGCTAAGACTTTTCCCATCACTTCGGGGACAATA
+TTTTTTTATCAAAACGTCGCTTTGATAGAGAGTTTTTATCAAATATGTGAATAATGCAGAAAATGGCATT
+CTGGACTTTTCACAGGGTCTGGTTGCGCAGGTATAGTAATACTTACAGCGTATTAAAGACGTTACGGGAA
+GGAGTAGGTATAGAATGTTTGGCTATCGCAGTAACGTGCCAAAAGTGCGCTTAACCACAGACCGACTGGT
+CGTGCGTCTGGTGCATGATCGTGATGCCTGGCGTCTGGCGGATTATTACGCAGAGAATCGCCATTTCCTC
+AAGCCCTGGGAGCCAGTGCGCGACGAAAGCCACTGTTATCCATCAGGCTGGCAGGCCAGGCTAGGGATGA
+TTAACGAATTTCATAAACAAGGTTCAGCTTTCTACTTTGGCTTATTCGACCCGGACGAAAAAGAGATTAT
+TGGCGTTGCCAATTTTTCCAATGTTGTTCGCGGCTCTTTTCATGCCTGCTATCTCGGTTATTCGATTGGG
+CAAAAATGGCAGGGCAAAGGACTCATGTTTGAAGCTCTGAGCGCAGCCATTCGTTATATGCAGCGCACCC
+AACATATTCATCGCATTATGGCTAATTATATGCCGCACAATAAACGCAGCGGTGATTTACTGGCGCGACT
+GGGTTTTGAAAAAGAAGGCTATGCGAAAGACTATCTGTTGATTGATGGACAATGGCGCGATCACGTACTG
+ACGGCATTAACTACCCCAGACTGGACGCCCGGCCGCTAAGGAGAATCTCATGAAATATCAACTTACTGCC
+ATGGAAGCTCGCGTGATTGGTTGCTTGCTGGAAAAACAGGTGACCACGCCGGAGCAATACCCGCTCTCCG
+TAAATGGTGTAGTCACGGCCTGTAATCAGAAAACGAACCGTGAACCGGTTATGAATCTGAGTGAATCTGA
+AGTGCAGGAACAGCTGGATAATCTGGTCAAACGTCATTATCTACGCACGGTGAGCGGTTTTGGTAATCGG
+GTCACCAAATATGAGCAACGTTTTTGTAATTCAGAATTTGGCGATCTGAAACTGAGCGCCGCAGAAGTGG
+CGTTAATCACCACGTTGTTATTGCGTGGTGCCCAGACGCCGGGGGAACTGCGCAGCCGCGCCGCGCGAAT
+GTATGAATTCAGCGATATGGCGGAAGTGGAGTCGACGCTGGAACAACTGGCGAGTCGCGAAGATGGTCCT
+TTTGTGGTGCGTCTGGCCCGCGAACCGGGTAAACGCGAAAGCCGCTACATGCATCTTTTCAGTGGTGAGG
+TTGAGAATCCGCCGGCGGTAACGGATATGTCGAACGCAGCTGACGGTGATTTACAGGCCCGCGTCGAAGC
+CCTGGAAATCGAAGTGGCAGAACTGAAACAGCGTCTTGATTCGTTGCTGGCCCATCTGGGAGATTAAAGT
+GAAAAAATTACGTATCGGCGTAGTGGGGTTAGGCGGCATCGCGCAAAAAGCGTGGTTACCGGTGCTGGCG
+GCAGCGTCTGACTGGACGTTACAAGGTGCGTGGTCGCCTACGCGCGCCAAAGCCCTGCCAATTTGTGACA
+GCTGGCGCATTCCTTATGCTGATTCGTTATCCAGCCTTGCCGCCAGTTGCGATGCGGTTTTTGTGCATTC
+CAGCACCGCCAGCCACTTTGATGTGGTCAGTACGTTACTCAATGCGGGGGTACATGTCTGTGTCGATAAA
+CCGCTGGCAGAAAATCTGCGCGATGCTGAACGGCTGGTGGAACTGGCGGCGCGGAAAAAACTGACGTTGA
+TGGTCGGTTTTAACCGTCGTTTCGCACCACTCTACGGTGAGTTAAAAACGCAACTCGCCACCGCGTCCTC
+GCTAAGAATGGATAAACATCGTAGCAATAGCGTCGGGCCACACGATCTTTATTTCACATTGCTGGATGAT
+TATTTGCATGTGGTTGATACCGCGCTGTGGTTGTCAGGTGGCCAAGCCTCTCTGGATGGCGGTACGTTAC
+TGACTAACGACGCTGGCGAAATGCTGTTTGCCGAGCACCATTTTTCGGCTGGTCCTTTGCAGATCACCAC
+CTGTATGCATCGCCGTGCCGGAAGTCAGCGTGAAACCGTGCAGGCCGTGACTGATGGTGCGCTCATCGAC
+ATTACGGATATGCGCGAATGGCGTGAGGAGCGCGGGCAGGGCGTAGTGCATAAACCGATTCCTGGTTGGC
+AGAGTACGCTTGAGCAACGTGGATTTGTCGGCTGTGCGCGGCACTTCATTGAATGCGTGCAAAATCAGAC
+AGTTCCGCAAACCGCCGGCGAACAGGCCGTGCTGGCGCAACGTATCGTTGACAAGATCTGGCGCGATGCG
+ATGAGTGAATAAACCCTGTAACATCTGGCGGTAGCAATTCACCATAATCCAGGTAGACTATTCGCCTCTT
+TCAGCGCCTGCCTTGCAGGCGTTTTGCCCGTGGGTCTGGATTAGAACACCGATGAATTTATTAAAATCGC
+TGGCCGCCGTCAGCTCGATGACCATGTTTTCGCGTGTGCTTGGCTTCGCACGTGACGCAATTGTCGCCAG
+AATCTTTGGCGCAGGGATGGCAACCGACGCCTTTTTCGTCGCTTTTAAACTTCCTAACTTGTTGCGCCGT
+ATCTTTGCCGAAGGGGCATTTTCCCAGGCATTTGTACCGATTCTGGCGGAATATAAAAGCAAGCAGGGTG
+AAGACGCCACGCGGGTCTTTGTCTCTTATGTTTCTGGCCTGCTGACACTTGCGCTGGCGGTTGTGACGGT
+CGCTGGCATGCTCGCTGCACCGTGGGTGATCATGGTGACCGCGCCTGGCTTCGCTGACACTGCCGACAAA
+TTTGCCCTGACCAGCCAGCTACTAAAGATAACCTTTCCCTATATCTTGCTGATCTCCCTGGCGTCGCTGG
+TGGGAGCGATTCTGAATACCTGGAACCGCTTCTCAATTCCGGCGTTTGCCCCGACATTGCTCAATATCAG
+CATGATTTGTTTTGCGCTGTTTGCCGCGCCGTACTTTAATCCACCGGTGCTGGCGCTGGCCTGGGCTGTT
+ACGGTCGGCGGCATCCTGCAGCTGGTGTATCAGCTACCTCATCTGAAGAAGATCGGCATGCTGGTTTTGC
+CACGCATTAACTTCCACGATGCCGGAGCAATGCGTGTGGTGAAACAGATGGGACCGGCAATCCTTGGCGT
+CTCTGTGAGCCAGATCTCCTTAATCATCAACACCATTTTTGCCTCGTTTCTTGCTTCCGGTTCGGTGTCG
+TGGATGTATTACGCCGACCGCTTAATGGAGTTTCCGTCCGGTGTGCTGGGCGTGGCGCTTGGCACCATTT
+TGCTACCGTCGCTGTCGAAAAGTTTTGCCAGTGGCAATCATGATGAATACAACCGTTTGATGGACTGGGG
+GCTGCGTCTTTGTTTCCTGTTGGCGCTGCCAAGTGCGGTTGCGTTGGGCATTCTTTCCGGTCCGTTAACC
+GTTTCGCTGTTCCAGTACGGTAAATTTACCGCCTTTGATGCGCTGATGACCCAGCGGGCGTTAATTGCCT
+ACTCGGTGGGTTTGATTGGCCTGATTGTAGTGAAAGTGTTGGCTCCTGGCTTTTATTCCCGCCAGGACAT
+TAAAACGCCAGTGAAAATTGCCATCGTTACGCTGATTTTAACGCAATTGATGAACCTGGCGTTTATTGGT
+CCGTTGAAACATGCCGGGCTGTCACTTTCTATTGGTCTGGCGGCGTGTCTGAATGCTTCGCTGCTTTACT
+GGCAGTTGCGTAAGCAGAAAATCTTTACCCCGCAACCCGGCTGGATGGCGTTTCTGTTGCGTCTGGTGGT
+GGCGGTACTGGTGATGTCTGGCGTGCTTTTAGGTATGTTACATATCATGCCGGAGTGGTCATTGGGTACC
+ATGCCCTGGCGTTTACTGCGTTTAATGGCGGTCGTGCTGGCGGGGATTGCCGCGTACTTCGCTGCACTGG
+CAGTACTGGGCTTCAAAGTTAAAGAATTTGCCCGCCGGACGGTGTAACGATACATTCCGGCCTGCAGTGC
+AGGCCGGAGTTAATCTTCAGATCGAAATCTTTTTACTGCCGCGATGGGTTGTTGAGGTCTGACCGTTCGC
+CCCATACAGCGTCGGTTCCTGATGCGGTTTCAACATTTCCAGCGCCTGTTGATTGCGTTCAATCTGTCCT
+TCCAGTAACCAGCCGTTATGTTGATTCAGTTGGCGTAGTTGCTGCGTTTTGCCAGTAATTTCCTGCCAGC
+GTTGACTAATATCAACGCTATTTGCTGTATTGGGTTCTTTCCTGCGTAACTGTTCGAGGTAATCCAGCGT
+CGCCAGCAGTGAGCTTTTTTGTTCTGTAATCCATTGCAACTGGCTGCCGTTGATCTGCCCCATAGAGAGA
+TGTTGCTGCTCTTGATCCATTACCGTTTTGAGATCGTTAAGCACAGCGGACATCTGGTCGAGGATCTCTG
+CAAGACGCGTCATACGATCAATTACTCTGCAAGTCTTGCTGCGCTTCGTTGATCAGCGCATCGGCAATTT
+TGCCGGTGTCCATTTTTAGTTCACCGTTACGAATCGCCAGTTTTAACACTTCGACACGTTCAAGATTGAT
+ATCGCTGCTGCCGGGTTGCATCAGTTTTGCTTGCGCGTCGCTTAACGTCACACTGGTGCTGGTGGAGGCT
+GTTGTTTTTGCCGCTCGGGTGTTTGTTACCGGCGCGTCAGTGGTTTCGCGCGGTTGAACGGTGCTTACTG
+GCTTCAGAGGCGAAGTGCGATCAATACTCATGGTTTATTCCTCATTGAGGGCGCTTTTATCATGTGTTGC
+TTATTTATCGGCAAGGGACGGGTAATCTTTAACAGCTTACAGGTTTATGAGAATATTCCCATCTGCATCA
+ACAACGCCGCTGACCACTTGTCCCGATATCATGCGCACCCGCGCATTCTGTGCGACGGCAGCATTGTTCA
+GCGCCTGACCTTCTGCGTTGGCGCTAAACCCATCACCGCTGGCGATCACGTTGACACGTTGTCCCGCTTT
+TACCCGCCATGCCTGGCGAAAGTGGGTTAACTGGATAGGTTGATCGGGTGATAGATCGCGCAGGCTAACG
+GCATCAACAAGTTGATTGATATCCAGCACCGTACGCGGTGGCAAGGTATCCAGCCGGCCGCGTTTCAGTT
+TGACATTGCCAGCTTCCAGCTTTCCTCCACGCACAATGGGCATCGCGGCAACCACATAATTTCCTGTGGC
+CTGTACATTAACCTGTAAATATCGTTTGTCGTTACCGCAGCGTGCCAACACATTCACATTGCCCCACAGG
+CGGGAATTATTGCTCATCGAAAGCAATGGCTGCTCGCACGGCGGTAGCAGATTGGGCGCTGTACGAATAG
+AAACACGAACCTCATCACTTACCCCCGCGAGTTGGGCGCTAAAAAAGTTGTGCAATTGCGATGTGAGATT
+GCTCGCCGTACTTAACGGACTGAAGAGTATCGCGATGATCGCCACGCTACGTTTTATTGCCAGCATTTTC
+GCCCCCAGCCATTTCTACAACGTGAATTGTACCTGTCCGCAATGACCATCAACGGCATAAATAGCGACCC
+ATTTTGCGTTTATTCCGCCGATAACGCGCGCGTAAAGGCATTTAAGCTGATGGCAGAATTTTGATACCTG
+CGGAGGAGATATGCTCGATAAGCTCGACGCCGCCTTACGTTTTCAACAAGAGGCGCTCAATCTGCGCGCC
+CAGCGTCAGGAAGTGCTGGCAGCAAACATCGCCAATGCCGATACCCCTGGTTATCAGGCGCGCGATATCG
+ATTTTGCCAGTGAACTTAAAAAAGTCATGCAACGTGGACGGGATGCAACCAGTGTGGTTGCACTGACGAT
+GACCTCAACGCAACACATTCCGGCGCAGGCGCTGACGCCTCCTACCGCAGAACTGCAATACCGTATTCCG
+GACCAACCTTCGCTTGACGGTAATACCGTCGATATGGATCGCGAACGCACCCAGTTTGCCGATAACAGCC
+TGCAATACCAGATGAGCCTTAGTGCGTTGAGCGGGCAAATCAAAGGCATGATGAACGTTTTACAGAGCGG
+AAATTAACGGATGGCACTGCTGAATATTTTTGATATCGCCGGGTCGGCGTTAACTGCCCAGTCCCAGCGC
+CTGAACGTGGCGGCCAGTAATCTGGCGAATGCTGATAGCGTGACCGGTCCCGATGGACAGCCATATCGGG
+CAAAACAGGTGGTATTCCAGGTTAACGCTGCGCCAGGTGCTGCGACAGGCGGCGTAAAGGTTGCCGATGT
+TATAGAAAGTCAGGCCCCGGACAAACTGGTTTATGAACCGGGTAATCCGCTGGCGGATGCAAAGGGCTAC
+GTGAAAATGCCAAACGTTGATGTCGTCGGAGAGATGGTTAACACCATGTCGGCGTCACGCAGTTATCAGG
+CCAATGTTGAAGTGCTCAACACGGTGAAAAGTATGATGCTGAAAACCCTTACGCTCGGTCAATAAAGGAG
+AAAGCTATGTCCATTGCGGTAACCACCACCGATCCGACGAATACCGGCGTCAGTACCACCAGCAGTAGTT
+CGCTCACGGGCAGCAACGCCGCAGATTTACAAAGCAGTTTTCTGACTTTGTTGGTGGCGCAGCTGAAAAA
+CCAGGACCCGACCAATCCAATGGAAAACAACGAGCTGACGTCGCAATTGGCACAAATCAGCACGGTCAGT
+GGGATTGAAAAACTCAATACCACGCTTGGATCTATTTCCGGACAGATTGATAACAGCCAGTCGTTACAGG
+CCAGTAACCTGATTGGTCACGGCGTGATGATCCCCGGTACCACTGTTCTTGCGGGAACCGGCAGTGAAGA
+AGGGGCTGTGACCACGACCACGCCGTTTGGTGTTGAGTTGCAACAGGCAGCAGACAAAGTGACGGCCACC
+ATCACCGATAAAAACGGCGCGGTCGTCCGTACCATTGATATCGGTGAACTGACTGCCGGAGTCCACAGTT
+TCACCTGGGACGGTACGTTGACTGACGGCAGCACTGCGCCGAACGGTTCTTACAATGTAGCGATTAGCGC
+CAGTAACGGTGGTACACAACTGGTTGCCCAACCGCTGCAGTTTGCTCTGGTGCAGGGGGTGATCCGCGGC
+AACAACGGTAATACGCTGGATCTTGGCACTTACGGCACCACTACCCTCGACGAAGTACGGCAGATAATTT
+AAGCCTTCACATTTCAGGAGTCAGTCATGGCCTTTTCTCAAGCGGTTAGCGGATTAAACGTTGCCGCCAC
+CAACCTCGATGTTATTGGCAACAATATCGCCAACTCCGCCACCTACGGCTTTAAATCAGGCACGGCCTCT
+TTTGCCGATATGTTTGCCGGTTCGAAAGTGGGACTGGGGGTAAAAGTTGCTGGTATCACTCAGGACTTTA
+CCGATGGCACGACCACCAACACCGGGCGTGGTCTGGACGTTGCTATCAGCCAGAACGGTTTTTTCCGTCT
+GGTAGACAGCAATGGTTCGGTGTTCTACAGCCGTAACGGACAATTTAAGCTGGATGAAAACCGTAACCTG
+GTGAATATGCAAGGTTTACAGCTGACGGGTTACCCGGCAACCGGTACGCCGCCGACTATTCAACAAGGGG
+CGAATCCGACCAATATTTCGATCCCGAATACCCTGATGGCAGCGAAAACTACCACCACGGCGTCGATGCA
+GATCAACCTGAATTCCAGTGATTCGCTTCCCTCTGTTAACGCATTTGATGCCAGCAATGCGGATAGCTAT
+AACAAAAAAGGTTCGGTGACTGTTTTCGATAGTCAGGGTAATGCTCATGACATGAGCGTCTACTTTGTGA
+AGACCGGGGATAATAACTGGCAGGTCTACACCCAGGATAGTAGTGATCCAAACAGCATTGCGAAGACAGC
+GACAACACTGGTGTTTAATGCCAATGGCGTTCTGACCTCAAATCCAACAGCGAATATTTCCACTGGCGCA
+ATTAACGGCGCAGATCCCGCCACGTTTAGCCTGAGCTTCCTCAACTCCATGCAGCAAAATACCGGCGCTA
+ACAACATTGTGGCAACCACCCAGAACGGCTACAAACCGGGCGATCTGGTGAGTTATCAAATCAATGATGA
+CGGTACGGTTGTCGGCAACTATTCCAACGAACAAACCCAACTGCTGGGGCAGATTGTACTGGCGAACTTT
+GCCAACAACGAAGGTCTGGCATCCGAAGGCGACAACGTCTGGTCCGCTACGCAATCTTCTGGCGTGGCGC
+TGTTGGGGACAGCCGGGACGGGCAACTTTGGCACACTGACCAACGGTGCGCTGGAAGCGTCCAACGTCGA
+TCTCAGTAAAGAACTGGTCAATATGATCGTTGCCCAGCGTAACTATCAGTCTAACGCCCAGACCATCAAA
+ACCCAGGACCAGATCCTCAATACGCTGGTTAACTTACGCTAATCGCTGACGGGATAGCTCAATGGATCAC
+GCAATTTATACCGCGATGGGAGCAGCCAGCCAGACGCTGAATCAACAGGCGGTAACCGCCAGTAATCTGG
+CCAATGCCTCAACGCCCGGTTTTCGCGCGCAGTTAAACGCCTTGCGCGCAGTGCCGGTGGAAGGGCTTTC
+ACTGCCCACGCGCACGCTGGTAACGGCGTCAACACCGGGTGCAGACATGACGCCCGGCAAGATGGATTAC
+ACCTCGCGCCCGCTGGACGTTGCGTTGCAGCAGGATGGTTGGCTGGTCGTGCAGACCGCTGACGGCAGTG
+AAGGGTATACGCGTAATGGCAGCATTCAGGTTGATCCCACCGGGCAACTGACAATTCAGGGACATCCGGT
+GGTAGGCGAGGCGGGGCCAATTGCTGTGCCGGAAGGGGCGGAAATCACTATTGCTGCCGATGGCACAATC
+TCGGCGCTGAATCCGGGCGATCCGGCAAATACGGTTGCGCCAGTGGGGCGTCTGAAGCTGGTGAAAGCCA
+CGGGCAGCGAAGTCCAGCGCGGTGACGATGGCATTTTTCGTTTAAGCGCAGAAAGCCAGGCTAGGCGTGG
+GCCGGTACTGCAGGCAGATCCAACCTTGCGTGTGATGTCGGGGGTTCTGGAAGGCAGTAACGTCAATGCC
+GTTGCGGCAATGAGCGACATGATTGCCAGCGCACGGCGTTTTGAAATGCAGATGAAGGTGATCAGCAGCG
+TCGATGATAACGCAGGCCGTGCCAACCAACTGCTGTCGATGAGTTAATTGAAAGGATACATGACAAGTAT
+AAGTTGCCCTATGCGCAAGTTTATCGGGTCTATGGGGGCAATCGCAATTTATCGATTTTGCGAGCTCTTG
+TAGGCCGGATAAGGCGTTTACGCCGCATCCGGCAAGAAGACATATGCACTTTGTCACTAATCCACTACAG
+GACATTTTATGATCAGTTCATTATGGATCGCCAAAACGGGCCTTGACGCCCAGCAAACCAATATGGACGT
+CATTGCCAACAACCTGGCAAACGTTAGTACCAACGGTTTTAAGCGTCAGCGCGCGGTGTTTGAAGATCTG
+CTTTATCAAACCATTCGCCAGCCGGGGGCACAGTCTTCCGAACAAACCACCTTACCATCCGGATTACAAA
+TCGGTACGGGGGTACGCCCGGTCGCCACGGAACGTTTACACAGCCAGGGCAACCTGTCGCAAACCAATAA
+CAGTAAAGACGTCGCGATTAAAGGGCAGGGCTTTTTCCAGGTGATGTTGCCAGATGGCTCATCAGCCTAT
+ACCCGTGACGGCTCTTTCCAGGTGGATCAGAACGGGCAGCTGGTGACGGCCGGTGGTTTTCAGGTGCAGC
+CAGCGATCACCATTCCGGCGAATGCGTTAAGTATCACCATCGGTCGTGATGGCGTGGTCAGCGTAACCCA
+ACAAGGCCAGGCAGCTCCGGTTCAGGTTGGGCAGCTCAATCTCACCACCTTTATGAATGACACCGGACTG
+GAGAGCATTGGCGAAAACCTCTACACCGAAACGCAATCCTCCGGTGCACCGAACGAAAGCACGCCGGGCC
+TGAACGGCGCGGGACTGCTGTATCAAGGGTATGTTGAAACGTCTAACGTCAACGTGGCGGAAGAACTGGT
+CAATATGATTCAGGTGCAACGCGCTTACGAAATCAACAGTAAAGCGGTGTCCACCACCGATCAGATGCTG
+CAAAAACTGACGCAACTCTAAGGCTTAACCGGTGGCAGGTTCACCGGTTTACTGATTTTTGAAGATGATA
+GCCATGCAAAAAAACGCTGCGCATACTTATGCCATTTCCAGCTTGTTGGTGCTTTCACTAACCGGCTGCG
+CCTGGATACCCTCCACGCCGCTGGTACAGGGGGCGACCAGTGCACAACCGGTTCCCGGTCCGACGCCCGT
+CGCCAACGGGTCTATTTTCCAGTCTGCTCAGCCGATTAACTATGGCTATCAACCGCTGTTTGAAGATCGT
+CGACCACGCAATATTGGCGATACGCTGACTATCGTGTTGCAGGAGAACGTCAGCGCCAGCAAAAGCTCCT
+CTGCGAATGCCAGCCGTGACGGTAAAACTAATTTTGGCTTTGATACTGTGCCGCGCTATTTGCAGGGGTT
+GTTTGGTAACGCTCGTGCCGATGTCGAAGCCTCCGGTGGTAACACGTTCAACGGAAAAGGCGGGGCCAAT
+GCCAGCAATACCTTTAGCGGTACGTTGACGGTGACGGTTGACCAGGTACTGGTCAACGGCAACCTGCATG
+TGGTGGGTGAAAAACAGATCGCCATTAATCAGGGTACCGAATTTATTCGCTTCTCTGGCGTGGTTAATCC
+ACGCACTATCAGCGGCAGCAATACCGTACCATCTACTCAGGTGGCGGATGCGCGCATTGAATACGTAGGC
+AATGGCTACATTAACGAAGCGCAAAATATGGGCTGGTTGCAGCGTTTCTTCCTTAACCTGTCGCCAATGT
+AAGTGAGGCTGTGGTGATTAAATTTCTCTCTGCATTAATTCTTCTACTGGTTATCACGGCGGCTCAGGCT
+GAGCGTATTCGCGATCTCACCAGTGTTCAGGGGGTAAGGCAAAACTCACTGATTGGCTATGGCCTGGTGG
+TGGGGCTGGATGGAACCGGTGACCAGACAACCCAGACGCCGTTTACCACACAAACGCTTAATAACATGCT
+CTCACAGCTGGGAATTACCGTTCCGACGGGCACCAATATGCAGCTAAAAAACGTCGCTGCGGTAATGGTG
+ACGGCGTCACTTCCGCCGTTTGGACGCCAGGGGCAAACCATCGATGTGGTGGTTTCTTCCATGGGTAATG
+CCAAAAGCTTGCGTGGCGGTACGTTGTTGATGACACCGCTTAAGGGCGTTGACAGTCAGGTGTATGCGCT
+GGCGCAGGGCAATATTCTGGTTGGTGGCGCTGGAGCCTCCGCTGGCGGTAGCAGTGTTCAGGTGAACCAA
+CTGAACGGTGGGCGGATCACCAATGGTGCGGTTATTGAACGTGAATTGCCCAGCCAGTTTGGCGTCGGGA
+ATACCCTTAATTTGCAACTTAACGACGAAGATTTCAGCATGGCGCAGCAAATCGCTGACACCATCAATCG
+CGTGCGTGGATATGGCAGCGCCACCGCGTTAGATGCGCGGACTATTCAGGTGCGCGTACCAAGTGGCAAC
+AGTTCCCAGGTCCGTTTCCTTGCCGATATCCAGAATATGCAGGTTAATGTCACCCCGCAGGACGCCAAAG
+TAGTGATTAACTCGCGTACCGGTTCGGTGGTGATGAATCGCGAAGTGACCCTGGACAGCTGCGCAGTAGC
+GCAGGGGAATCTCTCGGTTACGGTCAATCGTCAGGCCAATGTCAGCCAGCCAGATACACCGTTTGGTGGT
+GGACAGACTGTGGTTACTCCACAAACGCAGATCGATTTACGCCAGAGCGGCGGTTCGCTGCAAAGCGTAC
+GTTCCAGCGCCAGCCTCAATAACGTGGTGCGCGCGCTCAATGCGCTGGGCGCTACGCCGATGGATCTGAT
+GTCTATTTTGCAATCAATGCAAAGTGCGGGATGTCTGCGGGCAAAACTGGAAATCATCTGATGATCAGCG
+ACAGCAAACTACTGGCAAGTGCGGCCTGGGATGCGCAATCACTCAACGAACTAAAGGCGAAAGCGGGCGA
+AGATCCAGCGGCAAATATCCGTCCGGTGGCCCGCCAGGTGGAAGGGATGTTCGTGCAGATGATGTTGAAA
+GGCATGCGCGACGCTTTACCAAAAGATGGCCTGTTCAGCAGCGAGCACACTCGCCTGTATACCAGTATGT
+ATGACCAGCAGATTGCCCAACAGATGACGGCGGGCAAAGGTCTGGGGCTTGCAGAGATGATGGTTAAACA
+GATGACGCCAGAACAACCATTGCCAGAGGAGCCCACGCCAGCAGCACCGATGAAATTCCCGCTCGAAACT
+GTGGTGCGTTATCAAAATCAGGCGCTTTCTCAGCTGGTGCAAAAGGCCGTACCACGTAACTACGATGATT
+CGTTGCCGGGTAACAGTAAAGCATTCCTCGCGCAACTCTCACTGCCCGCCCAACTGGCAAGCCAGCAAAG
+CGGTGTGCCACATCATTTGATCCTCGCTCAGGCGGCGCTTGAATCTGGCTGGGGGCAACGGCAAATCCGC
+CGCGAAAACGGCGAGCCGAGTTATAACCTGTTTGGCGTCAAAGCCTCTGGCAACTGGAAAGGGCCAGTCA
+CTGAAATCACCACGACTGAATATGAAAACGGCGAAGCGAAGAAAGTAAAAGCGAAATTTCGGGTCTACAG
+CTCGTATCTGGAAGCATTGTCGGATTACGTTGGGCTGTTAACACGTAATCCGCGCTACGCTGCCGTGACG
+ACCGCCGTGAGTGCGGAGCAGGGGGCACAGGCCCTACAGGACGCGGGCTATGCCACCGATCCTCACTATG
+CCCGCAAACTCACCAACATGATTCAGCAGATGAAATCGATAAGCGACAAAGTGAGCAAAACCTACAGTAT
+GAACATTGATAATCTGTTCTGAATAACTCAAGTCCGGCGGGTCGCTGCCGATAATACTCTGTAATTGAAG
+GCTTATAAGGAACCTCCATGTCCAGCTTGATCAATAACGCCATGAGCGGACTGAACGCGGCCCAGGCGGC
+GTTAAATACGGCAAGTAATAATATCTCCAGCTATAACGTTGCCGGATATACCCGCCAAACCACTATTATG
+GCGCAGGCCAATAGCACGTTGGGCGCTGGCGGCTGGGTTGGCAATGGCGTCTACGTTTCTGGTGTGCAGC
+GTGAGTATGATGCGTTTATTACCAACCAGTTACGTGCGGCGCAGACGCAAAGTAGCGGCCTGACTGCCCG
+CTATGAGCAGATGTCGAAAATCGACAATATGCTCTCCACCAGTACCTCTTCGCTGGCAACACAGATGCAG
+GATTTCTTCACCAGCCTGCAAACGCTGGTAAGTAACGCGGAAGACCCGGCAGCGCGCCAGGCGCTGATTG
+GGAAATCAGAAGGGTTGGTGAATCAGTTTAAAACCACCGATCAATATCTGCGCGACCAGGACAAACAGGT
+CAATATCGCGATAGGTGCCAGCGTTGATCAGATCAACAATTACGCTAAACAAATCGCCAGTCTGAACGAT
+CAAATCTCGCGTCTGACAGGCGTGGGGGCAGGGGCGTCACCTAACAATCTGCTGGATCAACGCGATCAAC
+TGGTGAGTGAATTAAACCAGATTGTTGGCGTAGAAGTTAGCGTTCAGGATGGTGGCACTTATAACATCAC
+GATGGCCAATGGCTACTCACTGGTTCAGGGAAGTACGGCGCGGCAGCTGGCGGCAGTTCCTTCCACCGCC
+GACCCTTCGCGTACGACTGTCGCTTATATTGATGGGACGGCTGGCAATATTGAGATCCCGGAGAAATTAC
+TGAATACCGGGTCGCTGGGCGGCATTCTGACATTCCGTTCTCAGGATCTGGACCAGACGCGTAATACGCT
+CGGACAACTGGCGCTGGCATTTGCCGGGGCTTTCAACACCCAACACAAAGCCGGATTTGATGCCAACGGC
+GATGCCGGTAAAGATTTCTTTGCTATCGGTAAGCCCGCGGTTCTGCAAAACACTAAAAACAACGGTGACG
+TTGCGATCGGTGCCACGGTAACTGATGCCTCCGCGGTACTGGCGACAGATTACAAAATCTCGTTCGATAA
+TAATCAGTGGCAGGTCACCCGCCTTGCCAGCAATACCACTTTTACGGTGACGCCGGATGCCAACGGTAAA
+GTGGCATTTGATGGTCTGGAGTTGACGTTTACAGGAACGCCTGCCGTTAACGACAGCTTCACGCTGAAAC
+CGGTAAGTGACGCCATCGTCAACATGGATGTATTAATCACTGACGAAGCGAAAATCGCCATGGCGAGCGA
+AGAAGATGCGGGTGATAGCGACAACCGCAACGGTCAGGCCCTGCTGGATCTGCAAAGCAACAATAAAACG
+GTGGGCGGTGCGAAATCCTTTAACGACGCTTATGCCTCATTAGTGAGTGATATCGGGAATAAAACCGCGA
+CGTTGAAAACCAGTAGCGCCACGCAAGGTAATGTGGTGACGCAGCTTTCCAATCAGCAGCAGTCGATTTC
+CGGTGTCAATCTCGATGAGGAGTACGGAAATCTGCAACGTTTTCAGCAGTATTACCTCGCGAATGCGCAG
+GTTCTGCAGACGGCAAACGCGATTTTTGATGCGCTGATTAACATTCGCTAAGGGGAGATAAAATGCGTTT
+CAGTACCCAGATGATGTACCAGCAAAACATGCGTGGCATCACCAATTCTCAGGCAGAATGGATGAAGTAC
+GGCGAACAGATGTCGACGGGTAAGCGAGTCGTTAACCCTTCAGATGATCCCATTGCTGCATCACAAGCTG
+TTGTTCTCTCCCAGGCACAGGCGCAAAACAGCCAGTACACGCTGGCGCGTACTTTCGCCACTCAAAAAGT
+GTCACTGGAAGAGAGTGTACTTAGCCAGGTCACCACCGCTATCCAGAATGCTCAGGAAAAAATTGTCTAC
+GCCAGCAATGGCACTTTGAGTGACGATGACCGGGCCTCGCTGGCTACGGATATTCAGGGGCTTCGTGACC
+AGTTACTGAATCTGGCGAACACCACTGACGGTAACGGGCGCTACATTTTTGCCGGTTATAAAACAGAGAC
+TGCGCCGTTTAGTGAGGCTGACGGTGATTATGTCGGCGGAACAGAAAGTATTAAACAACAGGTCGATGCT
+TCGCGTTCGATGGTGATAGGACATACGGGCGACAAAATTTTCGACAGTATTACCAGCAACGCGGTAGCGG
+AACCAGACGGTAGCGCTTCTGAAACCAATCTTTTTGCCATGCTGGATAGCGCCATCGCAGCCCTGAAAAC
+GCCGGTTGCGGATAGCGAAGCGGATAAAGAAACCGCCGCTGCGGCACTGGATAAAACCAACCGCGGACTG
+AAAAACTCGCTGAACAATGTGCTGACTGTTCGCGCGGAATTAGGCACGCAACTGAACGAACTGGAGTCGC
+TGGATTCATTAGGTAGCGATCGCGCTTTAGGGCAAACGCAGCAGATGAGCGATCTGGTTGATGTGGACTG
+GAATGCAACTATTTCATCTTACATCATGCAGCAAACGGCATTGCAGGCATCGTATAAAGCATTTACCGAT
+ATGCAGGGATTGTCGCTCTTCCAGCTCAACAAATAAGCTCGCTTTAAAACATATCATGAAACTGGGTATG
+TTTTGTCTGCCCGCTCTGGGATCGCCGGGGCGGGCATTTTTTTGCCTATTTTGTATTGTTGGTTAGCAAG
+GATGCCATTTGATGAATTTTAATATGTTGACTCAAAGATGAAATAAAAAAGCCCTGGCAGTTACCAGGGC
+TTGATTACTTGAGCTAATTATTACTCAACAGGTTGCGGACGCGCAGGAGCGGCAGAGGCATGATGCGTTG
+CCGTATGACCACCTGCAGCACCTTTACCTTCGAAGGCAAAAGTAGGGCGCTGCCAGTCACTGTGACGCGG
+TGCCTCCGGAACATATTCCGGTGCCGGAGCGCGCGTCATTGGCGCGGTAGCGTGGTTATGCTCAACGGTG
+ACCTCAGGTTTAACCGCGGCTACCGTTTCAACTTCTGCTGCGACTTCAGCGACGACTGGCGCGGCAGGTT
+GAGCAACAACTTCAGGTTCAGCAACCACAACCTCAGCAGTTTCGGCAACTTCTTCAATATCTGCCGTCTC
+TTCCTGCGGTTCAACCACCGGTTCTGCGTGTTCTGCAACTTCCTGGGCTACGGCAACATCAGACTCGGTA
+ATCACCTGCGGCTGTTCAGTTACTGCGGCGGCAATCACTTCAGGATGCGTCGTTTCAACCACTTTCGGTT
+GCGGTTCGGCAATCTGAACGGGGGCTTCTACAACTTCAGCCACTTCTTCAACAACCGGTGCGCTAACAAC
+AGGTTCGACAGCGGCGGCGACAGGGACCTCAGTCACCATCGGCTGCACTTGTACTTCTTCCTGTTCGCGC
+TGCTCTTCGACCTGTACATCTTGCGGACGTACAATTGGATAGCGGATCCAGACTTTGCCAGAGGCCAGTT
+CCGGAGACGCGCACGCTACGGTCAACGGCATTGGCGACTGGGTTGGATAACGCTCGTCACGATAGCGACG
+ACGACGCTGACCACTTACGCGCAGGTGACGAGGCGAGCGGCGAGAACGACGCGGCATGCCACCGTTGTCA
+CGGTTATCAGCATTGTTCTCTTCTTGCTGTTCTGGTGCAGTTTGCGCTACGACTGGCAGCGGAACTTTCA
+CCAGTTCTGTGCGTGGGGCTGCCGCTTCCTGAACAATTGGTTCGGCTGCGACAGTTTCTTCAACCACCGG
+TGCGACTACCGCTTCTTCGGCTACGCTTTGCTCGTAACGCACTTTCTGATTGAGCTGACGCTGTTTACGA
+CGTGGCTGAACCGGACGTACACGTTCTTCCTGTTCGGTTTCCTGAACAGATTGCTCTTCAACATTCAGCG
+CCTTCACTTCTTGTTGCGCCTGACGTTTATCATCGTTACGGCGGCGGCTACGTTCACGACGCGGCGCTTG
+CTGCTCGTCTGTGGTACGCGCTTTTTCCGTTACCTCTGCCTGCTGACGGCTCTCACGCGTCTCGGCAGTC
+TGCTGCTGTGCCTGGCGACGATTACGACGGTTTTCTTCGCGATTATCGCTGCCTTCTGTACGTTCACTAC
+GGGTATCGCGGCGCTCATTACGGTCACGGCGGTTGTTCTGACGAGGCTTGCGACGATCCTGTTGACGTTC
+CGGTTTCGCTTCTGCTTTCGGTGCTGATTGCTCGGCCGGTTTGGTTTCTTCACCACCGCTGAACAGCGCT
+TTCAGTGCGCCGAAGAAGCGGCTCAACAACCCTGGTTGTGCAGGAGATGCTGGTGTTGCCGTTGCAGCTT
+TAGGTGCTGGGGCTACAACAGGCGCGGCAGGTTCAGCTGGGGTTGGAGCTGGCGGCACATCCGGCATGGC
+AAAGGTTGCCAGCGCAGGTTGTTCCGGACGCTTACGTTCAGCGAACTCTTCTTCAGACGGCAGCGCCATC
+GCTTCTTCATGCAGCTTCGGCAGCATGTAGCTTAAGGTTGAGGTTTCTTCCCCTTTGCGCACGCGCAGCA
+CATGGTAGTGCGGGGTTTCCATCTGATCGTTTGGCACAATCACACAGCGTACGCCGTCCTGACGAGTTTC
+AATCGCATTTACCGCAGAACGTTTTTCATTCAGCAGGTAAGAAGCGATTGGCACAGGAACAATGGCGTGA
+ACTTCCTGGGTGTTCTCTTTCAGCGCTTCTTCTTCGATCAGACGCAGAATAGAGAGCGACAGCGATTCGT
+TGTCACGCACGGTACCGGTACCGGAGCAGCGCGGGCAGACGTGATGGCTGGATTCACCCAGTGATGGGCT
+CAGGCGCTGACGGGACATTTCCAGCAGGCCAAAGCGAGAAATATGGCTGATTTGAATACGCGCACGGTCC
+TGACGCACCGCTTCACGCAGACGGTTTTCTACCGCACGCTGGTGGCGTACAGGCGTCATGTCGATGAAGT
+CGATAACAATCAGGCCGCCGAGGTCACGCAGGCGCAGCTGACGAGCAATCTCATCGGCAGCTTCGAGGTT
+AGTGTTAAACGCGGTTTCTTCGATATCGCCGCCGCGGGTCGCGCGTGCGGAGTTGATGTCGATGGCCGTT
+AACGCTTCGGTGCTGTCGATAACAATCGAACCACCGGATGGCAGACGAACTTCACGCTGGAAGGCGGACT
+CGATCTGCGACTCGATCTGGTAGTGGCTGAACAGCGGGATCTCGCCGGTGTACAGTTTGATTTTGCTGCT
+GAAATCCGGGCGGCCTAATGCAGCGATATGCTGACGTGCCAGTTCGAGCACTTTCGGGTTATCGATAAGG
+ATTTCACCGATGTCCTGGCGTAAGTAATCGCGGAATGCGCGAACGATTACGTTGCTCTCCTGATGAATCA
+GGAACGGAGCCGGGCGGCTTTCAGCGGCTTTTTTGATGGCTTCCCAGTGTTTCAGACGGAAGCTTAAATC
+CCATTGCAGCGCCTCAGCAGATTTGCCGACGCCAGCGGTGCGCACGATAAGCCCCATGCCTTCCGGCAGT
+TCAAGGCTTGCCAGTGCTTCTTTTAATTCGGTACGGTCGTCGCCTTCGATACGACGAGAAATACCACCCG
+CGCGCGGGTTGTTCGGCATCAGAACCAGATAGCTACCCGCCAGACTGATAAAGGTGGTTAATGCCGCGCC
+TTTGTTGCCGCGCTCTTCTTTATCGATCTGAACAATGACTTCCTGACCTTCACGCAACACATCTTTAATG
+TTGGGACGACCATGAGCACTGTAGTTAGCAGGGAAATATTCGCGGGCAATTTCTTTTAGCGGGAGGAAAC
+CGTGACGTTCAGCGCCGTAATCAACAAAAGCAGCTTCCAGACTCGGTTCAATGCGGGTGATTTTACCTTT
+GTAGATGTTTGCCTTTTTCTGCTCGTGCCCTGGACTTTCGATATCCAGGTCATACAGACGCTGCCCATCT
+ACAAGGGCAACGCGCAACTCTTCCTGCTGAGTTGCGTTGATTAACATTCTTTTCATCGTAACTTACTCAT
+TATTCTTACATTGACGACTAAGCTGCGGGCAAAGTAACGCCTTTCCGGGTGTGAACCGATGGCCTCGTGT
+CTAGTCGCGTCGCCAACCTCACGGTTATCGTCAGCTCAAAGAGGCGCAGAGTGTCGGTTGCCCGTTTTTC
+ATGCGGAAAAACAGCGCAATTATCAGAGAAACAGACTGGGTATTACTCTCCAGAAATATTTCCATCTACC
+GGTAAGGACTGCAACCCGCAGCCCGCTAACTGCCTGAAAGATCAATACGTCTTACGCCATTGCTGCGTGG
+ATGATCGGTCGGGCAAAATGGGTTATTCCGTAAAATTTCTTGTTTTAACAAGGATGGACACGGAAACGGC
+CTCATTATTCCACTGCAAGCCTTGTTATAGCAAGATGACTTTTACCATTTATCACCCGCTTACTCACAGT
+TTTTTCACTTCTTGCTGGTGATTGGTTTAATAACCATCAATAAAGTGATCACCTAGTGAAGTAATAAGGT
+GCAAAACTAAATATAAGCATAGAAAAATGAGTGGCGCGAATCCTGTTGGCTAATTAGAATCGCCCACCAT
+GAAAACAGAGACTCCATCCGTAAAAATTGTTGCTATCACCGCTGACGAAGCGGGGCAACGTATCGACAAC
+TTTTTGCGTACCCAATTGAAAGGCGTACCAAAAAGTATGATTTACCGTATTTTGCGTAAAGGCGAAGTGC
+GGGTGAACAAAAAACGTATTAAGCCTGAATATAAACTCGAAGCGGGTGATGAGGTGCGTATCCCACCGGT
+TCGCGTTGCTGAGCGGGAAGAAGAGGCGGTTTCGCCACATCTGCAAAAGGTGGCGGCGCTGGCGGACGTC
+ATCTTATATGAAGATGATCATATCCTGGTGCTGAATAAACCTTCCGGTACGGCGGTACATGGCGGCAGTG
+GTTTAAGCTTCGGCGTTATTGAAGGTTTGCGGGCGTTGCGCCCGGAAGCGCGGTTCCTTGAACTGGTTCA
+TCGTCTTGACCGGGACACCTCAGGTGTGTTGCTGGTAGCGAAAAAACGCTCGGCGTTGCGTTCTCTGCAT
+GAGCAATTACGTGAAAAAGGGATGCAAAAAGATTACCTGGCGCTGGTGCGCGGTCAGTGGCAGTCGCATG
+TGAAGAGCGTTCAAGCGCCGTTACTGAAAAATATTCTGCAAAGCGGCGAACGTATCGTGCGTGTGAGTCA
+GGAAGGCAAACCGTCGGAAACACGCTTTAAAGTGGAAGAGCGCTATGCATTTGCCACCCTGGTGCGTTGT
+AGCCCGGTAACAGGGCGTACTCATCAGATCCGTGTGCATACACAATATGCGGGTCATCCGATTGCCTTTG
+ACGATCGCTACGGTGACCGTGAATTTGACAGACAGCTCACTGAAGCAGGCACGGGATTAAATCGCCTGTT
+CCTGCACGCCGCAGCGTTGAAGTTTACTCATCCGGGGACCGGTGAGGTGATGCGTATTGAAGCGCCGATG
+GATGAAGGTTTGAAGCGTTGTTTGCAAAAGCTGCGTAACGCGCGCTAATACAAGCATATAAACCTGATAA
+TGGGCGGTTGGCCTGATAAGGCGTTTACGCCGCATCAGGCCGCCAGCACCGATTGTCGGATGCGAAGTAA
+CCGCATCCGGCGCAAAAAACTATCCCATCAGCGGGTTTTTCCCTTCCCGACGTAACATCTGACACAGCGC
+GATTAGCGGTAAACCAACCAGCGTGTTAGGATCACGCCCCTCTAAACGCTCAAACAGCGTAATGCCAAAT
+CCTTCACTCTTAAAGCTACCCGCGCAGTGCAGGGGATGCTCTTTACGCACGTAATTATCAATCTCCGCCT
+CGCTCAGGTGACGGAAATGGACGTCAAAAGGCTCCACTTCTGTTTGTAGATGCCCATTCGCCGAATTAAA
+CAACGCCAGTCCAGTATAGAAGGTGACGATATTGCCGCTGGCTTTGCGTAATTGCAGACGGGCATTTTCT
+TCCGTTAACGGTTTACCGGTGATTTCGCCATCAAGAACACATACCTGGTCTGAACCAATAATTAAATGAT
+CCGGATAACGTGACGCCAGAGATTGCGCTTTTTCTTGTGCCAGTCGAAGCACCAACTGTCGCGGTGATTC
+GTCGCTGCGTGGAGTTTCGTCGACCTCGGGTGCTGCACATTCAAAAGAGATTTGCAGTTTTTCCAGAAGA
+GCGCGACGCCAGGGCGAGGTGGAGGCTAAAATAAGTTTAGGCATATTTTTTTCCATCAGATATAGCGTAT
+TGATGATAGCCATTTTAAACTATGCGCTTCGTTTTGCAGGTTGATGTTCGTTATCAGCACTGAACGAAAA
+TAAAGCAGTAACCCGCAATGTGTGCGAATTATTGGCAAAAGGCAACCACAGGCTGCCTTTTTCTTTGACT
+CTATGACGTTACAAAGTTAATATGCGCGCCCTATGCAAAAGGTAAAATTACCCCTGACTCTCGATCCGGT
+TCGTACGGCTCAGAAACGCCTTGATTACCAGGGTATCTATACTCCTGATCAGGTTGAGCGCGTCGCCGAA
+TCCGTAGTCAGTGTGGACAGTGATGTGGAATGCTCCATGTCGTTCGCTATCGATAACCAACGTCTCGCAG
+TGTTAAACGGCGATGCGAAGGTGACGGTAACGCTCGAGTGTCAGCGTTGCGGGAAGCCGTTTACTCATCA
+GGTCTACACAACGTATTGTTTTAGTCCTGTGCGTTCAGACGAACAGGCTGAAGCACTGCCGGAAGCGTAT
+GAACCGATTGAGGTTAACGAATTCGGTGAAATCGATCTGCTTGCAATGGTTGAAGATGAAATCATCCTCG
+CCTTGCCGGTAGTTCCGGTGCATGATTCTGAACACTGTGAAGTGTCCGAAGCGGACATGGTCTTTGGTGA
+ACTGCCTGAAGAAGCGCAAAAGCCAAACCCATTTGCCGTATTAGCCAGCTTAAAGCGTAAGTAATTGGTG
+CTCCCCGTTGGATCGGGGATAAACCGTAATTGAGGAGTAAGGTCCATGGCCGTACAACAGAATAAACCAA
+CCCGTTCCAAACGTGGCATGCGTCGTTCCCATGACGCGCTGACCGCAGTCACCAGCCTGTCTGTAGACAA
+AACTTCTGGTGAAAAACACCTGCGTCACCACATCACTGCCGACGGTTACTACCGCGGCCGCAAGGTCATC
+GCTAAGTAATCACGCGTCTGCGTGATGAAGCTTAGTGAGGATTTTCCCCAGGCAACTGGGGAAAGACCAA
+ACCGGGCGGCGACGATACCTTGACACGTCTAACCCTGGCGTTAGATGTCATGGGAGGGGATTTTGGCCCT
+TCCGTGACAGTGCCTGCAGCATTGCAGGCACTGAATTCTAATTCGCAACTCACTCTTCTTTTAGTCGGCA
+ATCCCGACGCCATCACGCCATTACTTGCTAAAGCTGACTTTGAACAACGTTCGCGTCTGCAGATTATTCC
+TGCGCAGTCAGTTATCGCCAGTGATGCCCGGCCTTCGCAAGCTATCCGCGCCAGTCGTGGGAGTTCAATG
+CGCGTGGCCCTGGAGCTGGTGAAAGAAGGTCGAGCGCAAGCCTGTGTCAGTGCCGGTAATACCGGGGCGC
+TGATGGGGCTGGCAAAATTATTACTCAAGCCCCTGGAGGGGATTGAGCGTCCGGCGCTGGTGACGGTATT
+ACCGCATCAGCAAAAGGGCAAAACGGTGGTCCTCGATTTAGGGGCCAACGTCGATTGTGACAGTACAATG
+TTGGTGCAATTTGCCATTATGGGCTCAGTTCTGGCTGAAGAGGTGGTGGAAATTCCTAATCCTCGCGTGG
+CGTTGCTCAATATTGGTGAAGAAGAAGTAAAGGGTCTCGACAGTATTCGGGATGCCTCAGCGGTGCTTAA
+AACAATCCCTTCTATCAATTATATCGGCTATCTTGAAGCCAATGAGTTGTTAACTGGCAAGACAGATGTG
+CTGGTTTGTGACGGCTTTACAGGAAATGTCACATTAAAGACGATGGAAGGTGTTGTCAGGATGTTCCTTT
+CTCTGCTGAAATCTCAGGGTGAAGGGAAAAAACGGTCGTGGTGGCTACTGTTATTAAAGCGTTGGCTACA
+AAAGAGCCTGACGAGGCGATTCAGTCACCTCAACCCCGACCAGTATAACGGCGCCTGTCTGTTAGGATTG
+CGCGGCACGGTGATAAAAAGTCATGGTGCAGCCAATCAGCGAGCTTTTGCGGTCGCGATTGAACAGGCAG
+TGCAGGCGGTGCAGCGACAAGTTCCTCAGCGAATTGCCGCTCGCCTGGAATCTGTATACCCAGCTGGTTT
+TGAGCTGCTGGACGGTGGCAAAAGCGGAACTCTGCGGTAGCAGGACGCTGCCAGCGAACTCGCAGTTTGC
+AAGTGACGGTATATAACCGAAAAGTGACTGAGCGTACATGTATACGAAGATTATTGGTACTGGCAGCTAT
+CTGCCCGAACAAGTGCGGACAAACGCCGATTTGGAAAAAATGGTGGATACCTCTGACGAGTGGATTGTCA
+CTCGTACCGGTATCCGCGAACGCCACATTGCCGCGCCAAACGAAACCGTTTCAACCATGGGCTTTGAAGC
+GGCGACACGCGCAATTGAGATGGCGGGTATTGAGAAAGACCAGATTGGCCTGATCGTTGTGGCAACGACT
+TCTGCGACGCACGCTTTCCCGAGCGCAGCTTGTCAGATTCAAAGCATGTTGGGCATTAAAGGTTGCCCGG
+CATTTGACGTTGCAGCAGCCTGCGCAGGTTTCACCTATGCATTAAGCGTAGCCGATCAATACGTGAAATC
+TGGGGCGGTGAAGTATGCTCTGGTCGTCGGTTCCGATGTACTGGCGCGCACCTGCGATCCAACAGATCGT
+GGGACTATTATTATTTTTGGCGATGGCGCGGGCGCAGCGGTGCTGGCTGCCTCTGAAGAGCCAGGAATCA
+TCTCCACCCATCTGCATGCCGACGGTAGCTATGGTGAATTGCTGACGCTGCCTAATGCTGACCGTGTGAA
+TCCAGAGAATTCAATTCATCTGACGATGGCGGGCAACGAAGTCTTCAAGGTTGCGGTAACGGAACTGGCG
+CACATCGTTGATGAGACGCTTGCGGCGAATAATCTTGACCGTTCTCAACTGGACTGGCTGGTTCCGCATC
+AGGCTAACCTGCGTATTATCAGTGCAACGGCGAAAAAACTCGGCATGTCGATGGACAATGTCGTGGTGAC
+GCTGGATCGCCACGGTAATACCTCTGCGGCCTCTGTCCCGTGCGCGCTGGATGAAGCTGTACGTGACGGG
+CGCATTAAGCCGGGACAGTTGGTTCTGCTTGAAGCCTTTGGCGGTGGATTCACCTGGGGCTCCGCGCTGG
+TTCGTTTCTAGGATAAGGATTAAAACATGACGCAATTTGCATTTGTGTTCCCTGGACAGGGTTCTCAAAC
+CGTTGGAATGCTGGCTGATATGGCGGCGAGCTATCCAATTGTCGAAGAAACGTTTGCCGAAGCTTCTGCG
+GCGTTGGGCTACGACCTGTGGGCGCTGACCCAGCAGGGGCCAGCTGAAGAACTGAATAAAACCTGGCAAA
+CCCAGCCAGCGCTGTTGACTGCATCTGTTGCGCTGTATCGCGTATGGCAGCAGCAGGGCGGTAAAGCACC
+GGCAATGATGGCCGGTCACAGCCTGGGGGAATACTCCGCGCTGGTTTGCGCTGGTGTGATTGATTTCGCT
+GATGCGGTGCGTCTGGTTGAGATGCGCGGCAAGTTCATGCAAGAAGCCGTACCGGAAGGAACGGGCGCTA
+TGGCGGCAATCATCGGTCTGGATGATGCGTCTATTGCAAAAGCGTGTGAAGAAGCTGCAGAAGGTCAGGT
+CGTTTCTCCGGTAAACTTTAACTCTCCGGGACAGGTGGTTATTGCCGGTCATAAAGAAGCGGTTGAGCGT
+GCTGGCGCTGCCTGTAAAGCTGCGGGCGCAAAACGCGCTCTGCCGTTACCAGTGAGCGTACCGTCTCACT
+GTGCGCTGATGAAACCAGCAGCCGACAAACTGGCAGTAGAATTAGCGAAAATCACCTTTAACGCACCAAC
+AGTTCCTGTTGTGAATAACGTTGATGTGAAATGCGAAACCAATGGTGATGCCATCCGTGACGCACTGGTA
+CGTCAGTTGTATAACCCGGTTCAGTGGACGAAGTCTGTTGAGTACATGGCAGCGCAAGGCGTAGAACATC
+TCTATGAAGTCGGCCCGGGCAAAGTGCTTACTGGCCTGACGAAACGCATTGTCGACACCCTGACCGCCTC
+GGCGCTGAACGAACCTTCAGCGATGGCAGCGGCGCTCGAGCTTTAAAAGAGGAAAATCATGAATTTTGAA
+GGAAAAATCGCACTGGTAACCGGTGCAAGCCGCGGAATTGGCCGCGCAATTGCTGAAACGCTCGCAGCCC
+GTGGCGCGAAAGTTATTGGCACTGCGACCAGTGAAAATGGCGCTCAGGCGATCAGTGATTATTTAGGTGC
+CAACGGCAAAGGTCTGATGTTGAATGTGACCGACCCGGCATCTATCGAATCTGTTCTGGAAAAAATTCGC
+GCAGAATTTGGTGAAGTGGATATCCTGGTCAATAATGCCGGTATCACTCGTGATAACCTGTTAATGCGAA
+TGAAAGATGAAGAGTGGAACGATATTATCGAAACCAACCTTTCATCTGTTTTCCGTCTGTCAAAAGCGGT
+AATGCGCGCTATGATGAAAAAGCGTCATGGTCGTATTATCACTATCGGTTCTGTGGTTGGTACCATGGGA
+AATGGCGGTCAGGCCAACTACGCTGCGGCGAAAGCGGGCTTGATCGGCTTCAGTAAATCACTGGCGCGCG
+AAGTTGCGTCACGCGGTATTACTGTAAACGTTGTTGCTCCGGGCTTTATTGAAACGGACATGACACGTGC
+GCTGAGCGATGACCAGCGTGCGGGTATCCTGGCGCAGGTTCCTGCGGGTCGCCTCGGCGGCGCACAGGAA
+ATCGCCAACGCGGTTGCATTCCTGGCATCCGACGAAGCAGCTTACATCACGGGTGAAACTTTGCATGTGA
+ACGGCGGGATGTACATGGTCTGACCGCGATTTGCACAAAATGCTCATGTTGCGCGCAGTCTGCGTGGTTA
+TGAGTAATAATTAGTGCAAAATGATTTGCGTTATTGGGGGGTAAGGCCTCAAAATAACGTAAAATCGTGG
+TAAGACCTGCCGGGATTTAGTTGCAAATTTTTCAACATTTTATACACTACGAAAACCATCGCGAAAGCGA
+GTTTTGATAGGAAATTTAAGAGTATGAGCACTATCGAAGAACGCGTTAAGAAAATTATCGGCGAACAGCT
+GGGCGTTAAGCAGGAAGAAGTTACCAACAATGCTTCTTTCGTTGAAGACCTGGGCGCGGATTCTCTTGAC
+ACCGTTGAGCTGGTAATGGCTCTGGAAGAAGAGTTTGATACTGAGATTCCGGACGAAGAAGCTGAGAAAA
+TCACCACCGTTCAGGCTGCCATTGATTACATCAACGGCCACCAGGCGTAAGTGAACATCTCCAGGCGGTC
+GTTCGACCGCCTGAGTTTTATCTTTTGTCCCACTAGAATCATTTTTTCCCTCCCTGGAGGACAAACGTGT
+CTAAGCGTCGTGTAGTTGTGACCGGACTGGGCATGTTGTCTCCTGTCGGCAATACCGTAGAGTCTACCTG
+GAAAGCTCTGCTTGCCGGTCAGAGTGGCATCAGCCTAATCGACCATTTCGATACTAGCGCCTATGCAACG
+AAATTTGCTGGCTTAGTAAAGGATTTTAACTGTGAGGACATTATCTCGCGCAAAGAACAGCGCAAGATGG
+ATGCCTTCATTCAATATGGAATTGTCGCTGGCGTTCAGGCCATGCAGGATTCTGGCCTTGAAATAACGGA
+AGAGAACGCAACCCGCATTGGTGCCGCAATTGGCTCCGGGATTGGCGGCCTCGGACTGATCGAAGAAAAC
+CACACATCTCTGATGAACGGTGGTCCACGTAAGATCAGCCCATTCTTCGTTCCGTCAACGATTGTGAACA
+TGGTGGCAGGTCATCTGACTATCATGTATGGCCTGCGTGGCCCAAGCATCTCTATCGCGACCGCCTGTAC
+TTCCGGCGTGCACAACATTGGCCATGCTGCGCGTATTATCGCGTATGGCGATGCTGACGTGATGGTTGCA
+GGTGGCGCAGAGAAAGCCAGTACGCCGCTGGGCGTTGGTGGTTTTGGCGCGGCACGTGCATTATCTACCC
+GCAATGATAACCCGCAAGCGGCGAGCCGCCCGTGGGATAAAGAGCGTGATGGTTTCGTACTGGGCGATGG
+TGCCGGTATGCTGGTACTTGAAGAGTACGAACACGCGAAAAAACGCGGTGCGAAAATTTACGCTGAACTC
+GTCGGCTTTGGTATGAGCAGCGATGCTTATCATATGACGTCACCGCCAGAAAATGGCGCAGGCGCAGCTC
+TGGCGATGGCAAATGCTCTGCGTGATGCAGGCATTGAAGCGAGTCAGATTGGCTACGTTAACGCGCACGG
+TACTTCTACGCCGGCTGGCGATAAAGCTGAAGCGCAGGCGGTGAAAACCATCTTCGGTGAAGCTGCAAGC
+CGCGTGTTGGTAAGCTCCACGAAATCTATGACCGGTCACCTGTTAGGTGCGGCGGGTGCAGTAGAATCTA
+TCTACTCCATCCTGGCGCTGCGCGATCAGGCTGTTCCGCCAACCATCAACCTGGATAACCCGGATGAAGG
+TTGCGATCTGGATTTCGTACCGCACGAAGCGCGTCAGGTTAGCGGAATGGAATACACTCTGTGTAACTCC
+TTCGGCTTCGGTGGCACTAATGGTTCTTTGATCTTTAAAAAGATCTAAGTTGTCATTTTCCACCCTTATA
+AAAGGTCCGCTTGCGGGCCTTTTTTCTTAGCTTTTATTCCGACTTGTTCCGTAGTGAACATGCTGCCACA
+CTAACAATTCTCTGATAAGGAGCCGGTATGTTCTTAATTAACGGTCATAAGCAGGAATCGCTGGCAGTAA
+GCGATCGGGCAACGCAGTTTGGTGATGGTTGTTTTACCACCGCCAGAGTTATCGACGGTAAAGTCAGTTT
+GTTATCGGCGCATATCCAGCGACTACAGGATGCTTGTCAGCGGTTGATGATTTCCTGTGACTTCTGGCCT
+CAGCTTGAACAAGAGATGAAAACGCTGGCAGCAGAACAGCAAAATGGTGTACTGAAAGTCGTGATCAGTC
+GCGGTAGTGGCGGGCGAGGGTACAGCACATTGAACAGTGGACCGGCAACGCGGATTCTCTCCGTTACGGC
+TTATCCTGCACATTACGACCGTTTGCGTAACGAAGGGATGACGTTGGCGCTAAGCCCGGTGCGGCTGGGG
+CGCAATCCTCATCTTGCAGGTATTAAACATCTTAATCGGCTTGAGCAAGTATTGATCCGCTCTCATCTTG
+AGCAGACAAACGCTGATGAGGCGCTGGTCCTTGACAGCGAAGGGTGGGTTACGGAATGCTGTGCGGCTAA
+TTTGTTCTGGCGGAAGGGCAACGTAGTTTATACGCCGCGACTGGATCAGGCAGGTGTTAACGGCATTATG
+CGACAATTCTGTATCCGTTTGCTGGCACAATCCTCTTATCAGCTTGTCGAAGTGCAAGCCTCTCTGGAAG
+AGGCGTTGCAGGCAGATGAGATGGTTATTTGTAATGTGTTAATGCCAGTGATGCCCGTACGTGCCTGTGG
+CGATGTCTCCTTTTCGTCAGCAACGTTATATGAATATTTAGCCCCACTTTGTGAGCGCCCGAATTAGTCA
+TGAAAAAAGTGTTATTGATAATCTTGTTATTGCTGGTGGTACTGGGTATCGCCGCTGGTGTGGGCGTCTG
+GAAGGTTCGCCATCTTGCCGACAGCAAATTGCTTATCAAAGAAGAGACGATATTTACCCTGAAGCCAGGG
+ACCGGACGTCTGGCGCTCGGTGAACAGCTTTATGCCGATAAGATCATCAATCGCCCACGGGTTTTCCAAT
+GGCTGCTGCGTATCGAACCGGATCTTTCTCACTTTAAAGCCGGGACTTACCGCTTTACACCGCAGATGAC
+CGTGCGCGAGATGCTGAAATTGCTGGAAAGCGGTAAAGAAGCACAGTTCCCTCTGCGACTGGTAGAAGGG
+ATGCGTCTGAGCGATTACCTCAAGCAATTGCGTGAGGCCCCGTATATCAAGCATACGCTGAGCGACGATA
+AGTACGCCACCGTAGCGCAGGCACTTGAACTGGAAAACCCAGAGTGGATTGAAGGTTGGTTCTGGCCAGA
+CACCTGGATGTATACCGCCAATACCACCGATGTCGCGTTACTCAAGCGAGCGCACAAGAAAATGGTGAAA
+GCGGTCGATAGCGCCTGGGAAGGGCGTGCGGACGGTCTGCCCTATAAAGATAAAAACCAGCTGGTGACGA
+TGGCATCAATTATCGAAAAAGAAACCGCCGTTGCCAGTGAACGCGATCAGGTTGCCTCAGTATTTATCAA
+CCGTTTACGCATTGGTATGCGCCTGCAGACCGACCCGACCGTGATTTACGGGATGGGAGAGCGTTATAAT
+GGCAAACTTTCTCGTGCAGACCTGGAAACGCCGACAGCGTATAACACCTATACCATTACCGGTCTGCCGC
+CAGGTGCGATAGCGACGCCGGGGGCGGATTCGCTGAAGGCTGCTGCGCATCCGGCAAAAACGCCGTATCT
+CTATTTTGTGGCCGATGGTAAAGGTGGTCACACGTTTAATACCAATCTTGCCAGTCATAACAAGTCTGTG
+CAGGATTATCTGAAAGTGCTTAAGGAAAAAAATGCGCAGTAAGTATATCGTCATTGAGGGGCTGGAAGGC
+GCAGGCAAAACTACCGCGCGTAACGTGGTGGTTGAGACGCTTGAGCAACTGGGTATCCGCGACATGGTTT
+TCACTCGGGAACCTGGCGGTACGCAACTTGCCGAAAAGTTAAGAAGCCTGGTGCTGGATATCAAATCGGT
+AGGCGATGAAGTCATTACCGATAAAGCCGAAGTTCTGATGTTTTATGCCGCGCGCGTTCAACTGGTAGAA
+ACGGTCATCAAACCTGCGCTGGCTAACGGCACCTGGGTGATTGGCGATCGCCACGATCTCTCCACTCAAG
+CCTATCAGGGTGGAGGACGAGGTATTGACCAACATATGCTGGCAACACTGCGTGATGCTGTTCTCGGGGA
+TTTTCGCCCTGACTTAACGCTTTATCTTGATGTCACCCCAGAGGTCGGCTTAAAACGTGCTCGCGCCCGT
+GGTGAGCTGGATCGTATTGAGCAAGAGTCATTCGATTTCTTTAATCGCACCCGCGCCCGCTATCTGGAAC
+TGGCAGCACAAGATAAAAGCATTCATACCATTGATGCCACCCAGCCGCTGGAGGCCGTGATGGATGCAAT
+CCGCACTACCGTGACCAACTGGGTGAAGGAGTTGGACGCATGAGATGGTATCCATGGTTACGACCTGATT
+TCGAAAAACTGGTAGCCAGCTATCAGGCCGGAAGAGGTCACCATGCGCTACTCATTCAGGCGTTACCGGG
+CATGGGCGATGATGCTTTAATCTACGCCCTGAGCCGTTATTTACTCTGCCAACAACCGCAGGGCCACAAA
+AGTTGCGGTCACTGTCGTGGATGTCAGTTGATGCAGGCTGGCACACATCCCGATTACTACACCCTGGCTC
+CCGAAAAAGGGAAAAATGCGCTGGGCATTGATGCGGTACGTGAGGTCACCGAAAAGCTGAATGAGCACGC
+ACGCTTAGGTGGTGCGAAAGTTGTCTGGGTAACCGATGCTGCCTTACTAACCGACGCCGCGGCTAACGCA
+TTGCTGAAAACGCTTGAAGAGCCACCAGCAGAAACGTGGTTTTTCCTTGCTACCCGCGAGCCAGAACGTT
+TACTGGCAACATTACGTAGTCGTTGTCGGTTACATTACCTTGCGCCGCCGCCGGAACAGTACGCCGTGAT
+CTGGCTTTCACGCGAAGTGACAATGTCACAGGATGCACTACTTGCCGCATTGCGCTTAAGCGCCGGTTCG
+CCTGGGGCGGCACTGGCGTTGTTTCAGGGAGATAACTGGCAGGCTCGTGAAACATTGTGTCAGGCGCTGG
+CATATAGCGTGCAATCGGGCGACTGGTATTCGCTGCTAGCGGCCCTTAATCATGAACAAGCTCCGGCACG
+TTTACACTGGCTGGCAACGTTGCTGATGGATGCGCTAAAACGCCATCATGGCGCTGCGCAGGTGACCAAT
+GTTGATGTGCCGGGCCTGGTCGTCGAACTGGCAAACCATCTTTCTCCCTCGCGCCTGCAGGCTATACTGG
+GGGATGTTTGCCACATTCGTGAACAGTTAATGTCTGTCACAGGCATCAACCGCGAGCTTCTCATCACCGA
+TCTTTTACTGCGTATTGAGCATTACCTGCAACCGGGCGTTGTGCTACCGGTTCCTCATCTTTAAGAGAGA
+CATCATGTTTTTAGTCGACTCACACTGCCATCTCGATGGTCTGGATTATGAATCTTTGCATAAGGACGTG
+GATGACGTTCTGGCGAAAGCCGCCGCACGCGATGTGAAATTTTGTCTGGCAGTCGCCACAACATTACCGG
+GTTATTTACACATGCGGGATCTGGTAGGCGAACGCGACAACGTCGTATTTTCTTGTGGCGTGCATCCACT
+CAACCAGAATGATCCCTACGATGTAGAAGATTTACGTCGTCTGGCGGCAGAAGAGGGCGTTGTAGCGCTG
+GGTGAAACCGGGCTGGATTATTATTACACGCCGGAAACTAAAGTACGTCAGCAAGAGTCCTTCATCCATC
+ATATCCAGATTGGTCGTGAACTGAACAAGCCGGTTATCGTCCACACCCGTGACGCCCGCGCCGATACGCT
+GGCAATTCTGCGCGAAGAAAAAGTGACGGATTGCGGTGGCGTACTACACTGTTTTACAGAGGACAGAGAA
+ACGGCGGGCAAATTACTGGATCTCGGATTTTACATCTCCTTTTCCGGCATTGTGACCTTCCGTAATGCGG
+AGCAACTGCGCGATGCTGCGCGTTATGTCCCCCTGGATCGGTTACTGGTGGAAACTGACTCACCTTACCT
+TGCGCCAGTACCGCATCGAGGAAAAGAGAATCAACCTGCGATGGTTCGTGACGTTGCAGAATACATGGCT
+GTGTTGAAAGGTGTTGCCGTTGAAGAACTGGCGCAGGTAACCACCGATAACTTCGCCCGTCTGTTTCACA
+TCGACGCTTCCCGCCTTCAATCCATCCGTTGAATGAGTTTTTTTAAAGCTCGTAATTAATGGCTAAAACG
+AGTAAAGTTCACCGCCGAAAATCGGGCGGTGAATAACCACGTTTGAAATATTGTGACATATGTTTTGTCA
+AAATGTGCAACTTCTCCAATGATCTGAAGTTGAAACGTGATAGCCGTCAAACAAATCGGCACTGAATTAT
+TTTACTCTGTGTAATAAATAAAGGGCGCTTAGATGCCCTGTACACGGCGAGGCACTCCCCCCTTGCCACG
+CGTGAGAACGTAAAAAAAGCACCCATACTCAGGAGCACTCTCAATTATGTTTAAGAATGCATTTGCTAAC
+CTGCAAAAGGTCGGTAAATCGCTGATGCTGCCGGTATCCGTACTGCCTATCGCAGGTATTCTGCTGGGCG
+TCGGTTCCGCGAATTTCAGCTGGCTGCCCGCCGTTGTATCGCATGTTATGGCAGAAGCAGGCGGTTCCGT
+CTTTGCAAACATGCCACTGATTTTTGCGATCGGTGTCGCCCTCGGCTTTACCAATAACGATGGCGTATCC
+GCGCTGGCCGCAGTTGTTGCCTATGGCATCATGGTTAAAACCATGGCCGTGGTTGCGCCACTGGTACTGC
+ATTTACCTGCTGAAGAAATCGCCTCTAAACACCTGGCGGATACTGGCGTACTCGGGGGGATTATCTCCGG
+TGCGATCGCAGCGTACATGTTTAACCGTTTCTACCGTATTAAGCTGCCTGAGTATCTTGGCTTCTTTGCC
+GGTAAACGCTTTGTGCCGATCATTTCAGGCCTGGCTGCCATCTTTACTGGCGTTGTGCTGTCCTTCATTT
+GGCCGCCGATTGGTTCTGCAATCCAGACCTTCTCTCAGTGGGCTGCTTACCAGAACCCGGTAGTTGCGTT
+TGGCATTTACGGTTTCATCGAACGTTGCCTGGTACCGTTTGGTCTGCACCACATCTGGAACGTACCTTTC
+CAGATGCAGATTGGTGAATACACCAACGCAGCAGGTCAGGTTTTCCACGGCGACATTCCGCGTTATATGG
+CGGGTGACCCGACTGCGGGTAAACTGTCTGGTGGCTTCCTGTTCAAAATGTACGGTCTGCCAGCTGCCGC
+AATTGCTATCTGGCACTCTGCTAAACCAGAAAACCGCGCGAAAGTGGGCGGTATTATGATCTCCGCGGCG
+CTGACCTCGTTCCTGACCGGTATCACCGAGCCGATCGAGTTCTCCTTCATGTTCGTTGCGCCGATCCTGT
+ACATCATCCACGCGATTCTGGCAGGCCTGGCATTCCCAATCTGTATTCTTCTGGGGATGCGTGACGGTAC
+GTCGTTCTCGCACGGTCTGATCGACTTCATCGTTCTGTCTGGTAACAGCAGCAAACTGTGGCTGTTCCCG
+ATCGTCGGTATCGGTTATGCCATTGTTTATTACACCATCTTCCGCGTGCTGATTAAAGCACTGGATCTGA
+AAACGCCGGGTCGTGAAGACGCGACTGAAGACGCAAAAGCGACAGGTACCAGCGAAATGGCACCGGCTCT
+GGTTGCTGCATTTGGTGGTAAAGAAAACATTACTAACCTCGACGCATGTATTACCCGTCTGCGCGTCAGC
+GTTGCTGATGTGTCTAAAGTGGATCAGGCTGGCCTGAAGAAACTGGGCGCAGCGGGCGTAGTGGTTGCTG
+GTTCTGGTGTTCAGGCGATTTTCGGTACTAAATCCGATAACCTGAAAACCGAGATGGATGAGTACATCCG
+TAACCACTAATCCGTAAGACGTTGGGGAGACTAAGGCAGCCAGATGGCTGCCTTTTTTACAGGTGTTATT
+CAGAATTGATACGTGCCGGTAATGCTGAAATTACGCGGTGCGCCGTAGACGATAGAACCTTCCACGTTGG
+TATCGTAGGTTTTGTCGAACAGGTTATTGACATTCCCCTGTAACGAGAAGTTTTTCGTCACCTGGTAGCG
+GGTGAAGAGATCCACCAGCGCGTAGCTACCTTGCTCGGCGCGGAAGGTGCCATACGGCGTCACGGTGTCG
+GTATACACGCGATTTTGCCAGTTAACACCACCGCCGACCGTCAACTCTGGCATGACAGGCAACCGATAGC
+TGGTGAACATTTTAAACGTGGTGCGTGGCAGATTAGGATTAACGGCGTTTCCTTCGTTATCCTCGGCAAT
+ATAGCGCGTTGCGCCAAACGTCAACTGCCAGTTGTCGGTAATTGCGCCGTTGAGTTCAAATTCCACACCT
+TTACTGACTGTCCCATCCACCGCTTTATAGGCGGTTTCGCCGTTGCTGCCGGGGATAGGTGTACCGGTGG
+ACTGAGCGACATTATCCTGCTCAATACGGAAGATGGCTAACGTGGTGGTCAGACGGCTATTCATCCAGTC
+CGATTTCAGACCTAGCTCGTAGTTGTTACCGGTGATTGGAGTCAGATATTTGCCTGAACTGTCACGATCA
+TTTTGCGGCTGGAAAATAGAGGTATAGCTGGCGTAGGTCGACCAGTTGTCATTGATGTCAAACACCAGTC
+CAGCATAAGGCGTGGTGTGGTTTTTCTCCATGCTGTAAGTCAGCGTATCAACTCGCCAGTTGGTATAACG
+TGCGCCGAGGATCAGATGCAGCGGATCGGCAAGGGTGACACGAGTGGCAGCATATAACGATTTCATATGT
+GTGGTATCGTTCTGCGCCAGGCTCTGTGGTGACCAGTCGGTTTGTGGGAAATTGCCATTAAAGTTGTAGA
+AACTGCCAATTTCATCCGGGAAAATGTTGGCCCATGAACTGAAGTAACGATTGTTTTGTTTGCTGTAACT
+GCCACCAAACATTAAATTGTGCTGACGACCAAACAATTCATAACTACCGTCAGCGAACAGATCCAGCGCA
+TCAACTTTACGTTTGCCGCTGTTCCAACCGGTGCCGCCGACATAATCAAAGCCAGGTCCATAATTGCTGT
+ATGGCCCAACCAGCATACCATCCGCTTTGTTTACGTAGGCATCGACATACATCATTTTGCTGTCAAATTC
+GACTTCAGAGTGGGTGGCATTCAGCGTCGCTTGCCAGGTATCAGCAAACCGCTGCTTCAGGGTCATAAAG
+ACCTTGTTGATCTCTTTATCGTTGTACGCCCAGTCAGGTGCGGTACTGCGTGCGCGATCGTAACTGTTGC
+TGCTGCCATCAGTATTCCAGCGCGGTAAACCACCCCAGGTTGGGCTATTAACATCAATACGCTGATATTC
+GTAACCGGCTGAAAGCATCGTAAGATCGCCTAAATCAGCATCGACAATGCCGGAGAAGAAGGTCTTTTCA
+CTGTTGTAGCGGTCCAGCCATGAGTCGTTATTCTGGTAGCCGCCGACAATTCGTGCGCGGATTTTACCGT
+CTTCGGTGAGTGGGCTTTGTAAATCCGCCACATACCGTTCTTTGTTCCAGCTACCGTATTCCGCCGAGAC
+ATCGCCTTTAAATTCACGACTGGTCGCGTGTTTTCGAACCATATTAATTGCCGCAGATGGATTACCCGTC
+CCGGTCATGAGGCCTGTCGCGCCACGCACTACTTCTACGCGTTCAAACAGTGCCATATCAGAAAGTGCGT
+CGCCCAGATTCCAGCGCGATTCAAAATAGGTGGGGATACCATCAACCATATAGTTATCGATCTGGAATCC
+GCGGGAATAATAAAGAGCACGATCGGAATCCGCCTGACTTTTGCTGATCCCCAGCGTGTTTTCCATCACT
+TCGCCCAGCGTTTGTAACTGCTGATCTTCCATCCGCTGCTGGCTAACAATAGTGACCGACTGAGGAATAT
+CACGTTGAGTCATCTGCATTTTTGTACCCGCAGAGGTAGACGTTACGTTGTAATCATTTTCGCCATCATC
+TGGGGCTGTGGCTGAACCCTCAACAATCACCGTTTCTTCAGTGGCTGGTGCAGCAAAAGCGGCGGAAGGT
+AATAGTGCCAGTGCTATGCAACCGGCAAGGAGTGACGGTTTGATGATGGCTTGATGTTGATTATCCCTGT
+TAAATTGTGTCGAAAGCATTTGAAATCTCTTGGTTTATGTTGGCGTCAGGCTCATGCCGAAGCAGGGTGA
+TGAGCGGTTATATTTAGTGTGCGAATAATTTTTGTGTGTAAATGCAAATGAGAAATATACGCATTCATAT
+TTGGAGTGTAAACCAAACAGAGAATGTCTTTTCAGCGCATTCGCAGGCAGAAATGGGAATAATGGCGATA
+TATACGGCAGCAAAACGATTTTTTGCTTAAGAAATCGTGAGTTAAGGTTGAAAGAGCAGGTTTAACTCGA
+CCATACTCTATACTCGCAGTGTGGCGCGGCGTAGCATGGCGCAACGCATGGCTATTTGAAAAAGGAAAAT
+GTCGTGGCAGAAGAAACTATATTCAGCAAAATTATTCGTCGTGAGATCCCCTCCGATATCGTCTACCAGG
+ATGATCTGGTAACGGCGTTTCGCGATATTTCGCCGCAAGCGCCAACGCATATTCTGATCATTCCGAATAT
+CCTCATTCCGACTGTGAACGACGTGTCAGCTGAGCATGAGCAGGCGCTGGGACGCATGATCACCGTAGCG
+GCAAAAATTGCTGAGCAAGAAGGTATTGCCGAAGATGGCTATCGTCTGATCATGAACACCAACCGCCATG
+GCGGACAAGAAGTTTACCACATCCATATGCATTTGTTGGGTGGCCGTCCGCTGGGACCAATGCTGACGCA
+TAAAGGTCTGTAACGATGAGAAAAGGATGCTTTGGGCTGATGTCTCTGGGGGTGTTAGTGCTGGTGGGCT
+GTCGTTCACATCCGGAAATTCCGGTGAATGATGAGCAATCGCTGGTGATGGAGTCATCTTTATTGGCTGC
+GGGCATCAGTGCAGAAAAGCCCGTCCTTTCGACATCTGATATTCAACCTTCAGCATCCTCAACGCTTTAT
+AACGAAAGGCAAGAACCCGTTACCGTTCATTATCGTTTTTACTGGTATGACGCCAGAGGGCTGGAGATGC
+ATCCTCTGGAAAGGCCACGCAGCGTTACCATTCCCGCACATTCGGCGGTCACGCTGTACGGCAGCGCCAA
+TTTTCTGGGGGCGCACAAAGTCAGACTTTATCTATATTTGTAAGGGGTGAATCTTGATGACAAAAATGAG
+TCGCTACGCCTTGATTACCGCGCTGGCGATGTTTCTTGCCGGGTGTGTGGGGCAACGTGAACCTGCACCG
+GTAGAAGAAGTGAAACCAGCGCCGGAACAACCAGCCGAGCCACAACAGCCTGTCCCCACAGTGCCATCGG
+TGCCGACGATACCGCAGCAGCCAGGCCCAATTGAGCACGAAGATCAAACTGCACCGCCTGCGCCGCATAT
+TCGTCATTATGACTGGAATGGCGCAATGCAGCCGATGGTCAGTAAGATGCTTGGGGCTGACGGCGTGACT
+GCGGGTAGCGTCCTGCTGGTTGATAGCGTTAACAACCGTACTAACGGTTCGTTGAATGCCGCAGAAGCGA
+CCGAAACGCTGCGAAATGCGCTGGCTAATAACGGTAAATTTACCCTGGTTTCCGCCCAGCAGCTGTCGAT
+GGCTAAGCAACAATTAGGTTTATCGCCGCAGGACAGTTTAGGCACCCGTAGTAAAGCCATAGGCATTGCC
+CGCAATGTTGGCGCTCATTACGTGCTGTACTCCAGCGCCTCTGGCAACGTTAACGCTCCGACCCTACAAA
+TGCAGCTGATGCTGGTGCAGACGGGCGAAATTATCTGGTCAGGTAAAGGTGCCGTTTCGCAGCAATAATC
+CCCTCACGCGCGACGAATTTCTGTCGCGCTTTTTCCCGCAGTTTCATCCCGTAACGACGTTTAATCGAGG
+GCTTAGTGGCGGGAGTTTTCTCATTGAACATCAGGGCCAGCGTTTTGTTGTGCGTCAGCCGCACGATCCT
+GATGCGCCGCAGTCCGCGTTCTTGCGCCAGTATCGGGCTTTATCACAACTACCCGCATGCATTGCACCGA
+AGCCGCATTTATATCTCCGTGACTGGATGGTGGTTGACTATCTGCCCGGCGAGGTAAAAACGTATTTGCC
+GGATACCAACGAACTGGCAGGCTTGCTGTATTATCTACATCAACAACCGCGTTTTGGCTGGCGAATAACG
+CTGTTGCCGTTACTGGAACTGTACTGGCAGCAAAGCGATCCGGCGCGGCGGACAGTGGGTTGGCTGCGAA
+TGTTAAAACGTCTGCGTAAAGCGCGGGAACCACGGCTTTTACGCTTAAGTCCATTGCATATGGATGTCCA
+CGCCGGAAATTTAGTGCATAGCGCGTCAGGGTTAAAACTCATCGACTGGGAGTATGCCGGAGATGGTGAT
+ATCGCGCTGGAACTGGCGGCGGTGTGGGTGGAAAATACTGACCAGCATCGGCAATTGGTCAATGACTATG
+CCACTCGCGCGAAGATTTATCCGGCGCAATTATGGCGTCAGGTCAGGCGATGGTTTCCCTGGCTGCTGAT
+GCTCAAAGCAGGGTGGTTTGAGTACCGCTGGCGACAAACCGGCGATCAACAATTTATCAGGCTGGCCGAT
+GACACCTGGCGGCAGCTATTAATAAAACAATAAGGAGAGCAGTGTGGGTCCAGTAATGTTGGATGTCGAA
+GGTTACGAACTGGACGCGGAAGAGCGTGAAATACTGGCGCATCCGCTGGTGGGAGGGCTGATTCTCTTTA
+CGCGAAACTATCATGATCCTGCCCAGTTACGTGAACTGGTGCGCCAGATCCGCGCAGCATCGCGCAATCA
+TCTGGTGGTGGCGGTAGATCAGGAAGGTGGACGCGTGCAGCGTTTTCGTGAAGGTTTTACCCGCTTGCCA
+GCGGCACAATCATTCGCTGCGCTGTTGGGAATGGAAGAAGGCGGAAAACTGGCGCAAGAGGCAGGTTGGT
+TGATGGCCAGTGAAATGATTGCTATGGATATTGATATCAGCTTTGCGCCAGTGCTGGACGTCGGGCATAT
+CAGCGCGGCGATTGGCGAGCGTTCTTATCATGCCGATCCACAAAAAGCCCTGGCAATTGCCAGCCGTTTT
+ATTGATGGTATGCATGAAGCGGGAATGAAAACTACCGGGAAACACTTCCCAGGTCACGGTGCAGTAACGG
+CAGACTCACACAAAGAAACACCGTGCGACCCACGTCCGCAAGCGGAGATTCGCGCTAAAGATATGTCGGT
+CTTCAGTTCCTTAATCCGCGAAAATAAACTCGACGCCATTATGCCTGCGCATGTGATCTACAGTGATGTT
+GATCCGCGTCCGGCGAGCGGTTCTCCCTACTGGCTGAAAACCGTTTTGCGTCAGGAATTGGGTTTTGACG
+GCGTGATTTTCTCTGACGATTTATCGATGGAAGGCGCAGCGATTATGGGCAGTTATGCCGAGCGTGGACA
+GGCATCACTGGATGCAGGTTGCGATATGATCCTGGTCTGCAATAATCGTAAAGGGGCCGTCAGCGTGTTA
+GATAATCTGTCACCGATCAAGGCAGAACGTGTTACACGTTTGTATCATAAAGGTTCATTTTCGCGACAGG
+AACTGATGGACTCGGCTCGCTGGAAAGCGATCAGCGCCCGTCTGAATCAGTTACATGAACGCTGGCAGGA
+AGAGAAGGCAGGTCATTAACCCTGGCTTATGTGAGGAAGCGATGATTATCTATTTGCACGGTTTTGACTC
+TAACAGTCCGGGTAACCACGAGAAAGTCTTACAATTGCAGTTTATTGACCCGGATGTACGGCTAATAAGC
+TACAGTACGCGGCATCCGAAACATGATATGCAGCATTTGCTCAAAGAAGTGGACAAAATGTTGCAACTGA
+ACGTCGACGAGCGCCCGCTCATTTGTGGTGTTGGTCTGGGCGGTTATTGGGCTGAGCGGATTGGTTTTCT
+CTGTGATATCCGCCAGGTGATCTTCAACCCCAATTTGTTCCCTTATGAGAACATGGAAGGGAAGATTGAT
+CGCCCGGAAGAGTATGCCGATATTGCCACTAAGTGTGTGACCAACTTCCGTGAGAAGAATCGCGATCGTT
+GCCTGGTGATTTTGTCGCGTAATGATGAAGCGCTTAACAGCCAGCGGACATCTGAAGAGTTGCATCATTA
+TTACGAGATTGTCTGGGACGAAGAGCAGACGCACAAATTCAAGAATATCTCCCCGCATTTACAGCGCATT
+AAAGCGTTCAAAACCCTCGGGTAAATGCCCTCGTCGCATCAGGTAACCTTGCCGGTACCTGATGCGCTCC
+GGATTCTGTGGTTTGGATAAGGCGTTCACGCCGCATCCGACAGTCGAGCATCAATGCCTGATGCGCCTTT
+TATCAGGCCTACCGAATGCCCTCCATACACACCTCACTCTATATCACTCTCACAAATCAGCTTAAATAAT
+AAACAACAAGCTCTGTTTTTTGATCTCACCCGGTAAAGTCGCCTATCTTTTCAGCAACAAAACTTGATTA
+ACATCAATTTTGGTATGACCAATGCACCATTCATGTTATTCTCAATAGCGAAGAACATTTTCATTGCTGT
+AACCTGTTGTTAATTAAGAGTTATGTTAATAACCATTAATTAACAATTGGTTAATAAATTTAAGGGGGTC
+ACGTTGACTACGCCATTGAAAAAAATTGTGATTGTCGGCGGCGGTGCTGGTGGGCTGGAAATGGCAACAC
+AGCTGGGGCATAAGCTGGGACGCAAGAAAAAAGCCAAAATTACGCTGGTCGATCGTAACCACAGCCACCT
+GTGGAAACCGCTGCTGCACGAAGTGGCGACTGGCTCGCTTGATGAAGGCGTCGATGCGTTGAGCTATCTG
+GCCCATGCGCGCAATCATGGTTTCCAGTTCCAGCTGGGTTCCGTAATTGATATTGATCGTGAAGCGAAAA
+CAATCACTATTGCAGAACTGCGCGACGAGAAAGGTGAACTGCTGGTTCCGGAACGTAAAATCGCCTATGA
+CACCCTGGTAATGGCGCTGGGTAGCACCTCTAACGATTTCAATACACCAGGTGTCAAAGAGAACTGCATT
+TTCCTCGATAACCCGCACCAGGCGCGTCGCTTCCACCAGGAGATGCTGAATCTGTTCCTGAAATACTCCG
+CCAACCTGGGCGCGAATGGCAAAGTAAACATTGCGATTGTCGGCGGCGGCGCGACGGGTGTAGAACTCTC
+CGCTGAATTGCACAACGCGGTCAAGCAACTGCACAGTTACGGTTATAAAGGTCTGACCAACGAAGCCCTG
+AACGTAACGCTGGTAGAAGCGGGCGAACGTATTTTGCCTGCATTGCCGCCACGTATCTCTGCTGCGGCCC
+ATAGTGAGTTAACGAAACTAGGCGTTCGCGTGCTGACGCAAACCATGGTCACCAGTGCTGATGAAGGCGG
+CCTGCACACTAAAGATGGCGAATATATTGAGGCTGATCTGATGGTGTGGGCAGCCGGGATCAAAGCGCCA
+GACTTCCTGAAAGATATCGGTGGTCTTGAAACCAACCGTATCAACCAGCTGGTGGTGGAACCGACGCTGC
+AAACCACTCGCGATCCAGACATATACGCTATTGGCGACTGCGCGTCATGCCCGCGTCCGGAAGGGGGCTT
+TGTTCCGCCGCGCGCTCAGGCCGCACATCAGATGGCAACCTGCGCAATGAACAACATTCTGGCGCAGATG
+AACGGTAAGCCGCTGAAAAATTATCAGTATAAAGATCACGGTTCGCTGGTATCGCTGTCGAACTTTTCCA
+CCGTCGGTAGCCTGATGGGTAACCTGACACGCGGCTCAATGATGATTGAAGGACGAATTGCGCGCTTTGT
+ATACATCTCGCTGTACCGAATGCACCAGATTGCGCTGCATGGTTACTTTAAAACCGGATTAATGATGCTG
+GTGGGGAGTATTAACCGCGTTATCCGTCCACGTTTGAAGTTGCATTAATCGGCTTGTACTGGCGGATGCG
+GCGTAAACGCCTTATCCGCCCTGGACAAATGGTACGAGCGGTAGGCCTGATAAGACGCGTTAAGCGTCGC
+ATCAGGCATTCCTTCAGACTCCTCCGAATCCCTAAGTATTTCCAGCCATTCCCGCGCTTTTCATCTTCTG
+TCTGATAGCTGCTTTTCTCCTTCGCTTGCATGATTGGCATAACAGCAAAGAAGGAGGTATTCCCGTGAAT
+AAGTCAATGTTGGCGGGTATCGGGATTGGTGTCGCAGCTGCGCTGGGCGTAGCGGCAGTGGCCAGTCTGA
+ACGTGTTTGAACGTGGCCCGCAATACGCTCAGGTTGTTTCTGCAACCCCAATCAAGGAAACGGTTAAAAC
+ACCGCGTCAGGAGTGTCGCAACGTTACAGTGACCCATCGTCGACCGGTGCAGGATGAAAATCGCATTACC
+GGGTCGGTGCTCGGCGCTGTTGCTGGCGGCGTGATTGGGCATCAGTTTGGTGGTGGTCGCGGTAAAGATG
+TCGCCACTGTTGTGGGGGCGCTGGGGGGTGGATATGCAGGTAACCAGATCCAGGGCTCTCTCCAGGAAAG
+CGATACTTACACGACTACGCAACAGCGTTGTAAAACGGTGTATGACAAGTCAGAAAAAATGCTCGGTTAT
+GATGTGACCTATAAGATTGGCGATCAGCAGGGCAAAATCCGAATGGACCGCGATCCGGGTACGCAGATCC
+CGCTAGATAGCAACGGGCAGCTGATTTTGAATAACAAAGCATAACAAGGTTGTACTCTGCAATTTAGCCC
+CTCATTCGCTCAAGCTGAGGGGCTTTTTTTGCGACCTATTTCAGCAGTTCCGGCCATAAACGCAAAGTCG
+TTCGGGCAATCTGCATCAGTTTTTCCAGCGATGCACCTTCGCGTGCGCTGATCGACATCCCCTGAATAAT
+ACAATTAAGGAATTCTGCCAGATGCGTCACGTCACAGTGGGTCGGGATTTCCCCGCGCGCTTGTCGTTGA
+CATAAAAACTGCTGCAAAGTGCGCTCTTGCATCGCATGGCGTGATTTCAGCGTATTGGCGATATCTCCTG
+AATCCGGGGAGAGGGTGGTGCAGTTGTTGATCATGAAGCAGCCAGCCGGAGTGTCTTTGCTGGTAAAGCA
+GTTGGCGATGGCAGCAAAATAGTCAGCCAGCGCAGACTCCACGCTTTTCTCTTCACAAAACAGCTGTGCT
+TCATGCTTGGCGGCAAAACGATCGATATAGCGGTCGAGTACGGCGCGGAATAACCCCTCTTTGTTGGTAA
+ATTCCGCGTATAGCGTGGGCGCTTTAGCTCCGGTCGCTTCAACGAGGTCCGCAAGAGAAGTCGCTTCATA
+ACCGTGCTGCCAGAACAATTTCATGGCCTTATCAAGCGCGGCATCCCTGTCGAACACTTTTGGGCGGCCA
+CGGCTTTTTTTTACACATTGTGTTGAGTCAGTTGCCATGATGCCGTTGTACCTGGTGACTGTGAATGAAA
+GGTTATTATAAAAATAATCACCTCCGTTCACCAGTCCAGAAACCATAAAAATAATCGCTTTATATTTAAC
+TGAAATTTAAAGGTTTTTAAATTAATTAATGATTGTTATAAAAAATATCTTGTATGTGATCCAGATCACA
+TCTATCATTTAGTTATCGATCGTTAAGTAATTGCTTGCGACGTCATTCATCTGCATAAGGCCACTATTAT
+GAAAAACGTAAAAAACCTCATCGCTGCGGCGATTTTAAGCTCCATGTCATTTGCCAGCTTTGCGGCTGTC
+GAAGTTCAGTCCACGCCAGAAGGCCAACAAAAAGTCGGTACTATCAGTGCTAACGCGGGGACAAATCTGG
+GATCGCTGGAAGAGCAGTTGGCGCAAAAAGCGGATGAGATGGGCGCAAAATCTTTCCGTATTACTTCTGT
+AACCGGTCCGAATACCCTCCATGGAACAGCAGTAATTTATAAATAAGCATTAACCCTCATTAATGCCTGC
+TACTGCTTGTTTTTTTCCCCGCGACATGCCGTGTCGCGGGGATTTTTTTATCCGAGCTTTACAGAGTTTG
+TGGGCTCACTTGATGACGGCGGACATCCACCGGCATCCCGGAACGGACATCCATCACATGTTGCATCACT
+TCAGCGTCAGTTTGTGCTGCATCTTTAAATGATTGCATTGCGCTATTCAGTGTAATTGGCAGCAGCTGCG
+GATCGTCATCAATCTTCTCTGACAGCGGCTGATGTACTTCAACCAGACGCGCACCGTTTGGTTCGGCAGA
+GACTTTAATCGGGGTGTTGATGATATTCACTTTGGTGCCTGGGGTGACCTGGCTAAAGAGTGTTTTGATA
+TCGTCATCCCGCAGACGAATACAGCCAGAACTTACCCGCATGCCAATGCCGAAATCAGCGTTCGTACCGT
+GAAGCAAATAAACGCCGCCATAGGCCGCCAGACGAATCGCATGATGGCCCATTGGGTTATCCGGTCCAGC
+CGGAACTACCGCAGGCAACTCAATTCCCTGTGCCTTATACCGCGCGCGGATGTTTGCCGTTGGCGTCCAG
+GTTGGGTTTGCACGTTTGTCTGAAACGGTAGTCACCATCGTTGGCGTCAGCGTGTCACCACCTAACTGAC
+CAATGCCGATGGGATACACGGTTACCGAATTTTTACCCGGCGGGTAGTAATAGAGACGCAGCTCCGCAAT
+GTTGATCACAATGCCTTCGCGCGGCGCGTCTGGAAGTAGGGTTTGCAACGGGATCGTTAACACGCTACCC
+GCGCGCGGTACGTAAGGATCAACGCCGGGGTTAGCCTGTAACAGAGCGAGAAAGCCGACGTTATATTTTT
+TGGCGATCGCTTCCAGAGAGCCACCGTCATTTTCCACCACATGAAATTTGTTTTCACCAACCAGACGACT
+GCCCGCTTGCGGCAGCGGCCAGGTGTTGGCTTTTGCCGGTAGCGCCAGCGCCACGGCAGCGGCGAACGTA
+AAAAACGTTAGCCAGCGAGAAAAATGCGTTTTGATCATCACCAAAAATCCATAATAAATATAAGGTTATT
+GTAATAAACAGATAAGCCTGAATTATGGATGGTGACAGTGTTGGATAGTGCAGGGAAGTGCAAAGAATTT
+GTAAATGTTGCAGATGGGGGCGCAGAAACGCCCCTAATCTAACCATCAAGCGATCGCGTTCTCTTCCAGT
+TCACGCATAAACTGGCGTACCCATTCGATACGCGTTTTCCGCTCACTCAAATCCTGAATAAACTTCAGGC
+GCGTCGGACCATCAAGGCGGTAATGCTGCGGCTGTTTTTGCAGCAAACCAATCAACCAGGCCGGATTAAC
+GTGATTCTTCTCGGCAAATTCGATCACGCCGCCTTTCTCATTACCTTCCAGCTTCCTGATCCCCAGTTTC
+TGCGCTTGCTGGCGCAGACGGGCAATATCCAGCAGGGTACGCGCCGGATCCGGCAGCAGGCCGAAGCGAT
+CGATAAGCTCGACTTTGATCTCTTCCAGTTCGTTTTCAGTTTTGGCGCTGGCAATACGTTTGTAGAACGA
+CAGACGCGTGTTCACGTCAGGGATGAAATCATCTGGCAATAGCGACGGCATCCGCAGCTCGACTTCTGTT
+TGCTGGCTGGTGAGATCTTCCAGCGACGGCTCGCGTCCGGCTTTCAGTGCATCGACGGCGTTTTCCAGCA
+ACTCCATATACAGCGAGAAACCGATGGTTTCCATTGAGCCGCTTTGTTCTTCGCCAAGCAGTTCACCCGC
+GCCGCGAATCTCCAGATCGTGCGTTGCCAGCGCAAAACCTGCCCCGAGATCTTCCAGCGAGGCAATCGCT
+TCAAGACGTTTTTGTGCATCGGTAGTCATCGCTTTTGGATGCGGTGTCAGCAACCATGCATATGCCTGAT
+GATGCGAACGTCCGACGCGACCGCGTAACTGGTGCAGCTGCGCCAGACCGAAGTGATCCGCGCGTTCAAT
+GATAATGGTGTTGGCTGTCGGGATGTCGATCCCGGTTTCGATAATGGTGGTACAAACCAGCACGTTGAAA
+CGTTGATGATGGAAATCATTCATCACCCGTTCCAGTTCGCGCTCACGCATCTGTCCGTGACCGATGGCGA
+TCCGCGCTTCTGGCACCAGTTCTGCCAGCCGTTCGGCGGCTTTCTGAATGTTTTCCACATCATTGTAGAG
+ATAATAAACCTGTCCTCCGCGCAAAATTTCACGCAGGATCGCCTCCCGGACCACCAGGCTGTCATACTCA
+CGGACAAAGGTTTTAACTGCCAGACGACGGGCGGGCGGCGTGGCGATAATCGACAGGTCACGCATTCCGC
+TCATTGCCATATTCAGCGTACGTGGGATCGGCGTTGCAGTAAGCGTCAGAATATCCACGTTCGCGCGCAT
+CGCTTTAATGCGCTCTTTATGACGCACCCCGAAGCGGTGTTCTTCATCGACAATCAGCAGGCCTAAATCT
+TTAAACTTGACGTCACTTTGCAGCAGTTTGTGCGTACCGATCAGAATATCGATTTTCCCTTCCGCCACTT
+CCGCAAGGATTTGCGTCTGCTCTTTGGCGCTGCGGAAACGGGAGATCATTTCGATACGTACCGGCCAGTT
+GGCGAAACGGTCGCGGAAGTTGTCGTAATGCTGCTGCGCGAGAAGGGTGGTAGGCACCAGCACCGCCACC
+TGCTTGTGGTTATCTACTGCCAGGAAAGCGGCGCGCATCGCCACTTCTGTTTTACCAAAGCCAACATCGC
+CGCACACCAGACGATCCATTGCCAGCGGCTGACACATGTCGCTAAGTACCGCATTAATGGCCTGTGCCTG
+ATCCGGCGTGGTTTCAAACGGGAAGCTGTCGCAGAACAACTGATACTGCTCACGATCGTGTTTAAACGCG
+AAGCCCTCTTTGGCGGCGCGTTGCGCGTAGATATCCAGCAATTCTGCTGCCACATCACGCACTTTTTCCG
+CCGCTTTCTGCCGCGCGCGTGACCACGCATCGCCGCCAAGTTTATGCAGCGGGGCGTTTTCTTCCGCGCC
+ACCTGCGTAACGGCTAATCAGATGCAGTGATGACACCGGAACATACAGTTTGGCGTCGTTGGCATAGGTG
+AGCATCAGGTACTCGCCAGTAATGCCGCCAGCTTCGAGCGTGGTCATTCCTGCATAACGACCGACACCGT
+GCTCCAGATGGACCACCGGCTGACCAATATGCAGCTCCGCAAGGTTACGGATCAGTGTATCGGGGTTGAT
+GGCGCGGCGAGAATCCTGACGACGACGGGCAACGCGTTCACCGAGCAGATCGCTTTCGCAAATCAGCGCC
+AGATTACGTACCGTATCGACAAAACCATGTTCGGCAGCGCCAATCATCAAATAACGCCCACGGTCGCTGG
+CTTCATCAAGACGCATAATGCGTTGCGGAGCAATTTTAATTCGCGCGAGCAGTTCACCCAGCGCTTCACG
+GCGACCTTCACTTTCTACCGAGAACACCACCGGACCGTCGAAAGACTCGAGGAACTTACGCAGCGCATCC
+AGCGGCGCTTTTTGTTGTGCCTGAATGGCCAGGTCTGGCAGTTTCTGGAAACCTAAATTGGCATTCGCTG
+CTTTTGTCGGTAAATGTTCAGTTTTTAGCTGCACACGGGGCCAGTTTTTCAGCTCTGAGAAGAGCTCATC
+CACCCGCAGCCAGAGCGATTGTGGTGGCAACAGTGGGCGCATTGGGTCGACGCCGCGATTCTCAAAACGC
+GCCAGCGTGTCAGCCTGGAAACGTTCGGCACTGTTTTCCAGATCGCCAGTATTCACCAACAGCGTATTGG
+CAGGGAAATAACTGAACAGTGGCGGCAGCGGTTCGCTGAAGAATAGCGGCTGCCAGTACTCGATCCCGGC
+AGGTAATGTGCCTTTACTCACTTGCTGATAAATATGTTCCGGGTCGCGCTTCACTTCGAAGGTATCACGC
+CACTGGCTGCGGAACAGTTCAATTGCCGCTTTATCGGTAGGAAATTCGTGCGCGGGAAGCAGATTGATCT
+CTTCTACTTCCTCCAGCGTGCGCTGGCTATCGACGTCAAACACCCGCAGGCTGTCGATTTCATCATCAAA
+GAAATCAAGACGATAAGGCAGCTCACTCCCCATCGGGAAGAGATCCAGCAACGCGCCGCGCGTGGCGTAT
+TCGCCGTGCTCCATCACCTGGTCAACATGGCGATAACCGGCGCTGTCCAGTTGGGTTCGTAATGCATCTC
+GTGACAGGCGCTGACCTTTTTTCATCACCAGCGCATGACCGTGGAGAAAGCTGTGCGGGCAAACGCGCTG
+CATAAGCGTATTCACCGGAACAATCAGTACGCCACGCTGCATGGTCGGTAGCTGGTAAAGGGTGGAAAGA
+CGCGAGGAGATAATGTCCTGATGAGGCGAAAAACTGTCGTAAGGGAGGGTTTCCCAGTCCGCCAGATTCA
+TCACCATCTGATCGGTGAACTGGCTGATTTCATCATGCAAACGCAGAGCATTTTGCATATCTGGTGCAAT
+GAGTACCACCGGACCGGCGTGACGTTCGGCAATTTCCGCTACCAGCGTCGCGCAGGCAGCGCCGGTTAAC
+TCGCCCAGCAGACGCTGCTCACCCGCTTTGACGGGCAGCGTATAACGATATTGTTCAGGCATAACGGTTG
+TCAGATTCTCGTTAGGATATGCCTCAACATATGAGGGCATATCTCTGATAAGCAATGCTGTTCATTATCC
+GTAATCGGCATGGTTTAGCAAATTGAATCGCCCCGGCTGGGGCGATGGCTTAGCGGGAGTAACTGACGGT
+AGCGGGCAGAGAAGGCGGGGAGAACAACAGATCGCTGAATGCGCGCTGTGAAAGTTTTCTTACCAGCAAG
+CCCGCAACAGTACAAATCAACAAACTGACAAAGGGGTAAATCAGCAGGAGCGTCAGTTCGACTTGCGGCG
+ACCAGCGTACCGCGTTCATTTGCGGAATCAGGCTTAAGCTGAATATTTCTACCAGAATGCGATGGGTGGT
+ATAGATAGCAATGGTGTTGGAGCCAATCACATTCAGCAGGCTGGAGGAACGCATACCGAAACGCTGCTCG
+TACTGATAAAACAGCTTCATGATTACCACAATCGATACCAGCGACAACAGCAGCGAGATATTAAACAACT
+AGGCACCGACCGCCAGAACGGTCAGCAAAGAAGCCATCAGCAGATGGCGGCGCAACGGAACCGCTTTAAC
+ACAGGTCATTAATGTTGCGCCAAACCATGCGCCAAGGCTGTAATAAGGCAAATTGCGGATCACACTGTTC
+ATTCCCCACCACGGTGTGGGTACGAAATTAACAGCCACACTCATCAGTACAAACAGAACAAATAACGGCA
+GGGCCAGGCGGTTAAAAATTTTACATATCACGAAATAGACAATTAACGCATACAGATACCACAAGCTGGT
+GCTGGCGGTGATCATCCCGTGCAGGAACTCACCGGTGGAATCGGCATAAGCGGCATTGGAGGCATTGCTT
+AAATTGCGCTCAGGTGCCAGCCACTGATTTAGTGCACTTAGCGCCAGCCACTGCACCACGCCCCAAAGCG
+CCAGCACCCAGAAGGTGTTCCAGATGCGTTTATCGAGACAATTTCCCCACGGTACGCTGTCGATATAGCG
+GCGAATCAAATAGCCAGAGATAAAGAAAAAAACCGGCATACGAAAGGGTGCAAGGTAAAGATTGAAATAG
+ATCCAGCATTTGCTCAGGACTTCCGATAACGGATGCTGAAAAGTGGTCAGATGCGGATAAAAGGTAATGA
+CCGAGTGATAAATCACTACCAGACAAATACATAACCCTTTGATCTGGTTAATCCATAGCTCTTTTTGTTT
+CATCAGGACAACACGCTCTTTTTATTTAACATGCTGTTAATCCTGCGGGGCGAGTTGCGTGGTGTAATGC
+GTATCTGTCTGTATTTGGTTATTTTTCAGATAAAGATCAGGCCACATGGCCGATGATAAAATGAGGCACT
+TTAGCCGATTGATTTGCCGGTACTTTTCAGATTAGCCCTGACGATCACTTACAGTTCAGACGTTTACCCA
+TCCCGCTTTCGCTTATATACTCGTGTCTTTGCTAACAGCAACCAGACGGATTTCATGTACCAACCTGTCG
+CTCTATTTATTGGCCTGCGTTACATGCGTGGGCGTGCAGCGGATCGCTTCGGTCGTTTCGTCTCCTGGCT
+TTCTACCATCGGCATTACCCTCGGGGTGATGGCGCTGGTCACAGTATTGTCAGTGATGAACGGCTTTGAG
+CGCGAGCTGCAAAACAACATCCTTGGCCTGATGCCACAGGCAATTCTCTCTTCTGAGCATGGCTCTCTTA
+ACCCGCAGCAACTCCCGGAAACGGCCGTCAAACTGGACGGCGTTAATCGCGTCGCACCTATTACTACCGG
+TGATGTGGTACTGCAAAGCGCGCGCAGCGTGGCGGTCGGGGTGATGCTGGGTATCGACCCGGCGCAAAAA
+GATCCACTAACGCCGTATCTGGTCAATGTGAAACAAACTGACCTCGAGCCGGGGAAATATAATGTCATCC
+TCGGTGAACAGCTTGCCTCACAGTTGGGCGTCAATCGCGGTGATCAAATCCGCGTGATGGTGCCATCTGC
+CAGCCAGTTCACGCCGATGGGGCGTATTCCAAGTCAGCGCCTGTTCAATGTGATTGGCACTTTCGCCGCC
+AACAGTGAAGTCGATGGCTATGAAATGCTGGTGAATATTGAGGATGCCTCGCGTCTGATGCGTTATCCGG
+CAGGCAATATTACCGGCTGGCGTTTGTGGCTGGATGAGCCGCTGAAAGTCGACTCATTAAGTCAGCAAAA
+ACTGCCTGAAGGCAGCAAATGGCAGGACTGGCGTGACCGTAAAGGCGAGCTGTTCCAGGCCGTACGCATG
+GAAAAAAATATGATGGGCTTGCTGCTGAGCCTGATTGTCGCCGTTGCGGCGTTTAACATTATTACCTCGC
+TGGGACTGATGGTGATGGAGAAGCAGGGCGAAGTGGCCATTCTTCAGACTCAGGGGCTGACTCCGCGTCA
+AATCATGATGGTCTTTATGGTGCAAGGGGCCAGCGCCGGGATTATCGGTGCGATCCTCGGAGCGGCGCTT
+GGCGCACTGCTTGCCAGCCAGTTGAATAATCTGATGCCGATAATCGGCGTCCTGCTTGATGGCGCGGCGC
+TGCCGGTCGCTATCGAGCCTTTACAGGTCATTGTTATTGCGCTGGTGGCGATGGCTATCGCGCTGCTGTC
+TACGCTTTACCCTTCCTGGCGCGCTGCCGCCACTCAACCCGCTGAGGCTTTACGTTATGAATAAGATCCT
+GTTGCAATGCGACAACCTGTGCAAACGCTATCAGGAAGGCAGTGTGCAAACCGATGTACTGCACAATGTC
+AGTTTCAGCGTGGGCGAAGGTGAAATGATGGCGATCGTCGGCAGCTCTGGTTCCGGTAAAAGCACCTTGC
+TGCACCTGTTAGGCGGGCTGGATACGCCAACCTCCGGCGATGTGATCTTTAACGGTCAACCGATGAGCAA
+ACTGTCTTCGGCGGCGAAAGCAGAACTGCGCAACCAGAAGCTGGGATTTATTTATCAGTTTCACCACCTG
+CTGCCGGATTTTACTGCCCTGGAAAACGTGGCTATGCCGCTGCTGATTGGCAAGAAAAAGCCCGCTGAAA
+TCAACAGCCGTGCACTGGAGATGTTAAAAGCGGTGGGTCTGGAGCATCGTGCGAATCACCGCCCATCTGA
+ACTTTCTGGCGGCGAACGCCAGCGTGTGGCGATTGCCCGTGCGCTGGTCAATAACCCGCGGCTGGTACTG
+GCGGATGAACCTACTGGTAACCTCGATGCACGTAACGCCGACAGCATCTTCCAGTTGCTTGGGGAATTGA
+ATCGCTTGCAGGGCACCGCCTTCCTGGTGGTTACTCACGACCTGCAACTGGCGAAACGTATGAGCCGCCA
+ACTGGAAATGCGTGATGGACGTCTGACGGCGGAACTGAGCCTGATGGGGGCGGAGTAATGGCGATGCCTT
+TATCGTTATTGATTGGCCTGCGTTTTAGCCGCGGACGGCGACGCGGCGGCATGGTGTCGTTGATCTCCGT
+CATTTCTACCATTGGCATTGCCCTCGGCGTGGCGGTATTGCTCGTCGGCTTAAGCGCGATGAACGGCTTT
+GAACGCGAACTGAATAACCGCATTCTGGCGGTAGTACCGCACGGTGAAATTGAGGCGGTAGATCAGCCGT
+GGACCAACTGGCAGGAAGCACTGGATAACGTGCAGAAAGTGCCGGGTATTGCCGCCGCTGCGCCGTATAT
+CAATTTCACCGGGCTGGTGGAGAGCGGCGCGAATCTGCGCGCAATCCAGGTGAAGGGCGTTAACCCGCAA
+CAGGAACAGCGTCTGAGCGCATTACCCTCGTTTGTTCAGGGGGATGCCTGGCGCAATTTTAAAGCGGGCG
+AACAGCAAATTATCATCGGCAAAGGCGTGGCGGATGCGCTGAAAGTGAAGCAGGGCGATTGGGTGTCGAT
+TATGATCCCCAACTCGAATCCCGAGCATAAACTGATGCAGCCAAAACGTGTGCGTTTGCACATTGCCGGT
+ATTTTGCAGTTGAGTGGTCAACTCGATCACAGTTTTGCCATGATCCCGCTGGCCGATGCTCAGCAATATC
+TTGATATGGGTTCCAGCGTGTCAGGTATTGCCCTTAAAATGACGGATGTTTTCAACGCCAATAAGCTGGT
+ACGCGATGCGGGTGAAGTGACCAACAGCTATGTTTATATTAAAAGCTGGATTGGTACTTACGGCTATATG
+TATCGCGATATTCAGATGATCCGCGCCATTATGTATCTGGCGATGGTACTGGTGATTGGCGTGGCCTGTT
+TCAACATCGTCTCCACCTTAGTGATGGCGGTGAAAGACAAGAGTGGCGATATCGCAGTATTAAGAACGCT
+GGGGGCGAAAGATGGTTTAATTCGCGCCATCTTTGTCTGGTATGGATTGCTGGACAGGGCTGTTCGGCAG
+CCTGTGTGGGGTGATTATCGGCGTAGTGGTTTCACTGCAACTTACCCCGATTATTGAGTGGATTGAAAAG
+CTGATCGGTCATCAGTTCCTCTCCAGCGATATCTATTTTATTGACTTCTTGCCATCGGAATTGCACTGGC
+TGGACGTCTTCTACGTACTGGTCACAGCATTGTTGCTGAGTCTTTTGGCAAGTTGGTATCCGGCGCGGCG
+CGCCAGTAATATTGACCCTGCGCGAGTCCTTAGCGGCCAGTAAAGGCAGTACATTAAAACAAGGAGCGGC
+AATGTATTACGGGTTTGATATTGGTGGAACAAAAATTGCGCTAGGCGTGTTTGATAGCGGTCGGCAGTTG
+CAGTGGGAAAAGCGGGTGCCGACACCGCGTGACAGCTATGACGCATTTTTAGATGCAGTGTGCGAGCTGG
+TAGCCGAAGCTGACCGGCGTTTTGGCTGTAAAGGTTCTGTCGGCATCGGTATTCCGGGAATGCCGGAAAC
+AGAAGATGGTACGCTGTATGCCGCCAATGTCCCTGCTGCCAGCGGTAAACCGCTGCGTGCCGACCTGAGC
+GCACGTCTTGATCGCGATGTACGCCTTGATAACGATGCCAACTGCTTTGCCCTTTCTGAAGCATGGGATG
+ATGAATTTACTCAATATCCACTGGTGATGGGGTTGATTCTCGGCACCGGCGTTGGCGGCGGGCTGATTTT
+CAACGGTAAACCAATTACCGGTAAAAGCTATATTACCGGCGAATTTGGCCATATGCGTCTGCCGGTTGAT
+GCGTTAACCATGATGGGGCTGGATTTCCCGTTACGCCGCTGCGGCTGTGGTCAGCATGGCTGCATTGAAA
+ATTATCTGTCTGGTCGCGGTTTTGCGTGGCTGTATCAACACTATTATCATCAACCGTTGCAGGCTCCTGA
+GATCATTGCGCTTTATGATCAAGGCGATGAGCAGGCAAGGGCGCACGTTGAGCGTTATCTGGATTTATTA
+GCGGTTTGTCTGGGAAATATCCTGACCATTGTTGACCCTGACCTGGTCGTCATTGGTGGTGGCTTATCGA
+ATTTCCCGGCAATCACAACGCAACTGGCGGAAAGGTTGCCTCGTCATCTCTTACCTGTAGCTCGTGTTCC
+GCGCATTGAACGCGCGCGGCACGGTGATGCGGGGGGAATGCGTGGTGCGGCCTTCCTACATCTAACCGAT
+TAAACAACAGAGGTTGCTATGCTGTCGCGTCGGGGTCATCGGTTAAGTCGTTTTCGTAAAAATAAACGTC
+GCCTGCGCGAGCGTTTGCGTCAGCGTATTTTTTTCAGAGATAAAGTGGTGCCGGAAGCAATGGAAAAACC
+AAGAGTACTCGTACTGACAGGGGCAGGGATTTCTGCGGAATCAGGTATTCGTACCTTTCGCGCCGCAGAT
+GGCCTGTGGGAAGAACATCGGGTTGAAGATGTGGCAACGCCGGAAGGTTTTGATCGCGATCCTGAACTGG
+TGCAAACGTTTTATAACGCCCGCCGTCGACAGTTGCAGCAGCCAGAAATTCAGCCTAACGCCGCGCATCT
+TGCGCTGGCTAAACTACAAGATGCTCTCGGCGATCGCTTTTTACTGGTGACGCAGAATATCGACAACCTG
+CATGAACGTGCCGGTAATACCAATGTGATTCATATGCATGGGGAATTGCTGAAAGTACGTTGTTCGCAAA
+GTGGTCAGGTTCTCGACTGGACCGGAGACGTCACGCCAGAAGACAAATGTCATTGCTGCCAGTTCCCGGC
+TCCGCTGCGCCCACACGTAGTATGGTTTGGCGAAATGCCACTCGGCATGGATGAAATTTATATGGCGCTG
+TCGATGGCCGATATTTTCATTGCTATTGGCACATCAGGGCATGTTTATCCAGCTGCTGGGTTTGTCCACG
+AAGCGAAGCTGCATGGCGCGCATACGGTTGAACTCAATCTCGAACCGAGCCAGGTCGGTAATGAATTTGC
+CGAGAAATATTACGGCCCGGCAAGTCAGGTGGTGCCTGAATTTGTTGAGAAGTTGCTGAAGGGATTATAA
+ATCAGGAGTAATTGCCTGATGCGCTACGCTTATCAGGCCTACAAGGGGCGCAATTAATTGAATTTGCGGG
+TTTTGTGGGCCGGATAAGACGTTCGCGCCGCATCCGGCATAATACACGCACACTTTACTGCCTCTTTTAC
+CGTTTACTCGTCCATAGTAACGCGGCAATAAACGTACAGACACCAATCAGCCCTGCCCAGAGTGGCGATA
+TTCTGGTAATCGCAAAGCTGTTATCGATATACAAACATAAAGCCTGATAACCCATATTGGCAACAGCCAT
+CGCCACTGCAAATTTTAACGCATAATAAAGGCGCGTTGTGTAGTTAAAAAATGCAGCAAAGACGATGAAT
+GCAACTGCCCAGGCAAAAAGGCCTAATGTCGTGGTACTGCCGGGTGGATCATTTTCATGCTGTTGTCCGG
+GATGCGGATAATATGTCAGTGGTGGCGTCGGTTGTTTTAATATCTGTGCTTGTAAAACAGCCAATGCATT
+ATTGATACCCTGATACCAGAGATCCGCATGTAAATAAGCCAGCGTGTGATTTTCTACCAGAAGGCCGAGA
+TGTTTATCGTCCATACTGCTTTCGACCTGGCCGTTGGTTATCATAATTAACCGTGGCTCGCGGGTAGTAA
+AGAGTAACAGAACACTTCCTTTTACATTACTCATTGAAGATGCCGCATGCGCCAGCATCGCTTTGCCATT
+TTGCCTGAAGCTTGCTTCATTAACGCTAGGTACAACCACGATAAACGGCGCAATCCCGGTTTGTTGACGA
+AAAAGTTCGGCTTTACGCGCGATCTCTTCGGCATCCGGTACAGTACCGGTAACATCCGTAAAAAGAGTCT
+TCATTATTGGAATCAATGGCTTACTGGTTACCGTCAGAGGCAGGAGTATCAGTAAACTGAGCAATATTAT
+GATTTTTTTCATGGGCGGGACTTCCGTTTCCTGCGTGTCTTTTTTGAGGAGGGCATACTGATTAATAAAC
+CGACGGCGATAAAAATAACGCCCATAATGCCGATAAACCCCCATTTAAAAAAATTAACCCACGGGTTATT
+TATCTCAGCCTTTTCAGGATGTCCTGGAGAATAATAAACATTAACTTTATCGCCTTCGCTGTCTTCATAA
+AAATCGCTGCCAATACTCGAATTGAAAATTAGCGTGTAATCTGGCGTCGGACGAAAGGCAACGACGGGAT
+ACCACGAACCATTTTTACCCGTGCGATGAGAATGACTGGAGTGCCAGACGGTATCAACAATGACGCCTTC
+AGTATGAATCGCGTCTTTGCTATAGGTGAACTGGTTATAAAAGATAACAACAGAAATGAGGATCAGTACC
+AGACCGATACCGAAGAATATACGAAAGAAAACTCTACTGTCCTGGCTCATTAGCCACATCCTTGCTAAAT
+AAAAAACGGGCGGTAATACCACCGCCCACTTGCTGAATTAACGTCCTGCTTTCAGCTTCTGATAATACTC
+TTCATAAATGCTGCTGGCGGAGCCTACGTCATTTTGCCATTCACCATTTTTAATGGTTTCAGCATCCGGG
+TAGAGCGTTTTATCGTTCGCCACTTCCGGACTTAACAGCTTACGCGCCGCAAGGTTTGGCGTTGGATAAC
+CGATAGTTTCAGCAACCTGTTTTGCCACATCCGGGCGCAGCAGGAAGTTGATCAATTTCAGTGCGCCTTC
+TTTGTTTTTGGCATTTGCCGGGATCGCCAGGCTGTCCATCCAGAAAATGCCGCCTTCTTTCGGCCACACC
+ACATCAATTGGCGTACCCGCCTGGCGTGCAACGAAAGCAGAACCGTTCCAGATCATGCCGAGGTTAACTT
+CGCCTTCCATGTACGGGTTAGCCGGGTTATCGGAGTTAAACGCTGCGACGTTTGGCATCAGTTTTTTCAG
+CTCGTTATATGCAGCTTCAATCTCTTTCGGATCGGTAGTGTTACCGGAGTAGCCCAGTTTGCGCAGCGCC
+ATCTGGAACACTTCACGGGCATCGTCGGTCAGCAGCAGGCTGCCTTTGTACTCAGGTTTCCACAGATCGG
+CCCAGCTGGTGACAGATTTCGGATCCACCGCATCACCGTTAACGCCAATCGCCGTCGCACCCCAGATATA
+CGGAATGGAATAGTCGTTATTCGGGTCAAACGGCTTGTTGAGCATGTCTGGATCGAGGTTGCTGAAATTG
+CTTAACTTCGACTTGTCGATCTTCTGGATCATCCCTTCTTTACGCATTTTATCGACGTAATAGGTTGAAG
+GAACCACCAGGTCATAGGCACCGTCTTTGTACGTTTTCAGCTTCGCGTACATGGTTTCGTTCGACTCGTA
+AGTCGAATAGATAACCTTAATACCGGTTTCTTTGGTGAACTGTTCAAGCAGTCCTGGCGGCACGTACTCG
+GTCCAGTTGTAGAAATACAGCGTGTTATTGTCATCGGCGTGAGCGGCGCTCATGCCCAGTGCCAGAGCAC
+CCGCCGCGAGCAGGTGGCGTGACCATTTTTTCATTTAACGTCCCCTGTGTTACCTTTCGTTTTATCACGA
+GCAATAAGCTGGCTGGCAATTACCATCACCAGCGACAGCACCAGTAATATGGTTGCCAGCGCGTTAACTT
+CCGGCGATACGCCGACTTTGACCATCGAATAAATTTTTAACGGCAGAATTTCATAACTCGGCCCGGTGAC
+AAACGAAGAAACCACCACGTCGTCCATCGACAGGGTAAAGCTTAACACCCAGCCCGCCGCTACCGCTGGC
+ATTGCCAGTGGCAGAATGATTTTTCGCAGAATGGTAAATTCGCTGGCACCGAGATCTTTCGCCGCTTCCA
+GCATTCGCACGTCAAAACCTTTCAGGCGCGAATACACTGTCACTACCACAAATGGCAGGCAGAAGGTGAT
+ATGCGAGAACAGCAGCGACCAGAAGCCAAGCTGAATACCCAGCAGCATAAACAGCACCAGCAGCGAAATC
+GCCATCACGATATCTGGTGACATCATCACCACAAACAGCATTCCGCTAACGAACGGCTTACCACGAAAGC
+GATAACGGTACAGCGCAACTGCCGTCAGTGAACCGATAAGCGTAGCAAACGTCGCCGAAAACACCGCCAT
+TGTTAGTGAATGCTGCGCTGCCTGTAACAGGCTGTCGTTGTTCATCAGCAGGCTATACCATTTGGTGGTA
+AAACCCTGCCAGTTGATGCCAAAGCGCGAGCTGTTAAAGGAGTTCACAATCAAAATAATGATTGGGATAT
+ACAGGTACGCGTAGATAGCGGTCATAAAACCGCCGCGAAGCAGTCGACCGATCATTCGAGTTCCACCTTC
+TTATTCAGCAGACGAGAAGCGCGCCAGTAAACCAGCAACATCAGGCCCATTACGATAGTCAGCGTAATGC
+TGGTGGCTGCACCAAACGGCCAGTCACGAATATTGAGGAACTGTACCTTGATGACGTTACCGATCAGCAG
+GTTTTTCGCACCGCCCATCAGGTCGGACACATAGAACAGGCCCATCGCTGGCAGCATCACCAGCAGACAT
+CCGGCAATAATTCCCGGCATCGTTAGTGGGATAATGATGCGGATAAAGGTCTGCAACTTGCTGGCACCGA
+GATCGCGCGCCGCCTCAAGCAACGGCTTATCCAGTTTTTCGATACTGGAGTACAGCGGCATCACCATAAA
+CGGCAGCAGAATGTAAACCAGACCGATAATCACCGCACTAGGCGTGAACATGATGCGAATTGGTGTATCG
+ATAACGCCCAGCCAGAGCAAAAACTCGTTGAGATAGCCTTTGGTGCTGAGGAAAATTTTCAGCCCGTAAA
+TACGAATCAATGAGTTGGTCCAGAACGGAACAATCAGCAGAAACAGCAGCAGCGGACGCACCTTGTGTGG
+CAGCTTCGCCAGAAACCAGGCAAAAGGATAGCCCAGCACCAGGCAGGCGAGGGTGGCGATCAGCGCCATA
+TTCAGCGAGTGCAATAGCACTTCAAAATAGAGCGGATCGAGCAGACGCGTGTAGTTATCCAGCGTAAAGA
+CCATTTTGACGAAACTGGCGTCGTCGCGGGTCAAAAAGCTGGTGCCAATGATCATCAGGTTGGGCAGAAA
+GACAAACAACACAAGCCAACCGACAATAGTGACAATCACTACATTCTGGAACTTACTTGTGTTCTTCATC
+AGCCAGTACGACCTCCCAGCTTTCTACCCAATTAATGGCCATTTTTTGGTCGAGAGAGTGGTCAAAGTCA
+GGATCGTCTTCATTGAAGAATTCGCTGACCATCACCATCTTGCCATTTTCCAGCTCAACAACCGACTCCA
+GCGTCATGCCTTTGTAGTTACGCTCGCGAACGTAACCAATCAGCCCTTCGGCGTGGTTGTCGTCGTTAAT
+CTCTTCAACACGTAAGTCTTCCGGGCGCAGCAGAACATGCAGTTTTTGCCCCGGTTCAACGGCGAAGTTA
+ACGTAGATATTACATTCGCGGCCTTCAACGTTGGCGCGTACGCGCTGCTCGTCGAGACGTTCGATGACAG
+TGGCGTTAAACATATTGATTTCGCCAATAAACCCGGCAACAAACAGGTTTTTCGGCTCTTCGTAGATTTC
+ACGCGGCGTGCCGTCTTGCTCAATGCGACCATCGCGCATCACCACGATCCTGTCCGACATGGTAAGTGCT
+TCTTCCTGGTCGTGAGTTACGAACACGAATGTAATGCCAAGCTTACGCTGTAACGCTTTCAGCTCGTTCT
+GCATTTGCTTGCGCAGTTTGTAATCCAGCGCTGAGAGCGACTCATCCAGCAACAACAGACGAGGCTTGTT
+AACCACCGCGCGAGCAATGGCGACGCGTTGCTGTTGACCACCAGAGAGCTGATGCGGTTTGCGTTGAGCG
+AAGGTTTCCAGCTGCACCATCCGCAGGGCTTCCATCACGCGGGGCGTAATTTCAGCAGCGGGGGTTTTTT
+GCATGCGCAACCCAAAGGCCACATTTTCGAACACGGTCATGTGGGGGAAAAGTGCGTAGCTTTGGAAAAC
+AGTGTTCACATAGCGGTTTTCCGCCGGAACGTGGGTGATGTCCTCGTTATCCAGCATGATGCGTCCGGAA
+TCAACAGTTTCCAGACCTGCAATCAGGCGAAGAACGGTTGTTTTACCGCAGCCAGAAGGGCCAAGCAGCG
+TGAGGAACTCGCCATTGTTGATAGTCAGATCCAGCTGGGGAATGACCTCTTTACCATCAAAGCATTTGCG
+AATTCCCGCCAATTGCACCAGCGGTGAAAGCGAACTCGGTTGTTTATTCAATTTTTTACTCTGTCCCATG
+TAAACGCAACGGATGGCTTACCGATGCGGGGTTTGTGGTTAACCACCTTGGTGACTCTTAATGAGGGCGG
+TAATTCTACGGCAAACCGCTTGAATCGCCAATCTTTGTTGTGAATTACTGGCTTAGCTTTATATTCATTA
+AGGTAATGCTGATAAATATTCCCGCTTGCAGGGCTAAAAGTGACCTGACGCAATATTTGTCTTTTCTTGC
+TTCTTAATAATGTTGTCACAAAAAGTGAGGGTGACTACATGGATAAACTACTTGAGCGATTTTTGAACTA
+CGTGTCTCTGGATACCCAATCAAAGGCAGGGGTGAGACAGGTTCCCAGCACGGAAGGCCAATGGAAGTTA
+TTGCATCTGCTGAAAGAGCAGCTCGAAGAGATGGGGCTTATCAATGTGACCTTAAGTGAGAAGGGCACTT
+TGATGGCGACGTTACCGGCTAACGTCCCTGGCGATATCCCGGCGATTGGCTTTATTTCTCATGTGGATAC
+CTCACCGGATTGCAGCGGCAAAAATGTGAATCCGCAAATTGTTGAAAACTATCGCGGTGGCGATATTGCG
+CTGGGTATCGGCGATGAAGTTTTATCACCGGTTATGTTCCCGGTGCTGCATCAGCTACTGGGTCAGACGC
+TGATTACCACCGATGGTAAAACCTTGTTAGGTGCCGATGACCAAGCAGGTATTGCAGAAATCATGACCGC
+GCTGGCGGTATTACAACAAAAAAACATTCCGCATGGTGATATTCGCGTCGCCTTTACCCCGGATGAAGAA
+GTGGGCAAAGGGGCGAAACATTTTGATGTTGATGCCTTCGATGCCCGCTGGGCTTACACCGTTGATGGTG
+GTGGCGTAGGTGAACTGGAGTTTGAAAACTTCAACGCCGCGTCGGTCAATATCAAAATTGTCGGTAACAA
+TGTTCACCCGGGCACGGCGAAAGGAGTAATGGTAAATGCGCTGTCGCTGGCGGCACGTATTCATGCGGAA
+GTTCCGGCGGATGAAAGCCCGGAAATGACAGAAGGCTATGAAGGTTTCTATCACCTGGCGAGCATGAAAG
+GCACCGTTGAACGGGCCGATATGCACTACATCATCCGTGATTTCGACCGTAAACAGTTTGAAGCGCGTAA
+ACGTAAAATGATGGAGATCGCCAAAAAAGTGGGCAAAGGGTTACATCCTGATTGCTACATTGAACTGGTG
+ATTGAAGACAGTTACTACAATATGCGCGAGAAAGTGGTTGAGCATCCGCATATTCTCGATATCGCCCAGC
+AGGCGATGCGTGACTGCGATATTGAACCGGAACTGAAACCGATCCGCGGCGGTACCGACGGCGCGCAGTT
+GTCGTTTATGGGATTACCGTGCCCGAACCTGTTCACTGGCGGTTACAACTATCATGGTAAGCATGAGTTT
+GTGACTCTGGAAGGTATGGAAAAAGCGGTGCAGGTGATCGTCCGTATTGCCGAGTTGACGGCGCAACGGA
+AGTAAGCGAAAAGGGATGCGGCATGTGATGCCGCATCCGGCTTAAATCCAAACTTACCCTTCGAAGAACC
+AGTATCCGCTATTGACCAGCGCCGCGAGCATCGCGAGGAATGACGGATCTTCCAGCGCATCGCCAAAATT
+CTCCGCGGTCAGCGCAATGTTGCTGGCGAGCGCATCCAGTGCCGGACGGTGCGGGGAATCGATCTTCTCA
+CCATTGGCATACACGTCGTCGCCAATGCGCAATACGCGCAGACCCCCCAGGCGCACCAGCACATCACCTT
+GTTTCAGCGCATCGTAGATTTCATCCGGCTGATAAGGCGGCTCTGGCGGCGCGATATCCAGTTCATGACG
+TGACTGGGATATAAACTCGCCAAACCATTGTTTAAAGTGTTCCGGCTGGTTGATCAATTCGAGCATCATC
+TCACGCAGTTTATCCATCTCTTGCGGCAGAACGTCCGCAGGATGAGCGCGAGGTGGAACATCAGGATCGC
+TGTAGTAGTTGCCGCCCAGTTCACGTTGCAGCACATAATCGGCAAATCCGCTAATCAGTTCCCGCGTATT
+TGGCGCGCGAAAACCCACGGAATAGTTCATCGCATTTTCCAGCGCGTAGCCTTCATGCGGGAATCCTGGC
+GGAATATAAAGAATATCGCCAGGCTCCAGCTCTTCATCGATGATGGCTTCGAACGGATCGACCTGTAACA
+GGTCCGGGTGCGGCCAGTGCTGTTTCATTTGCAGCTTTTCGCCCACTCGCCAGCGACGACGACCGGTACC
+CTGAATGATAAACACGTCGTACTGATCGAGATGCGGGCCGACGCCGCCGCCCGGTACAGAAAAAGAGATC
+ATCAGATCATCAATACGCCAGTCCGGTAGTTCACGGAACGGTCGCATTAGCGCGGCGGTCGGCTCATGCC
+AGTGGTTCACTGCTTGCACTAACAATGACCAGTTAGTTTCACCGAGATGATCATAGCTTTCGAATGGACC
+GTGGCTGACCTGCCATTTTCCATCCTGATGACTGACCAGTCGACTGTCGACTTCGCTTTCCATCGCCAGA
+CCCGCCAACTCGTCTGGAGAGATTGGGTCAATAAAATTATTAAAGCCGCGTTTTAACACCACCGGGCGTT
+TCTGCCAGTGACGTTCAAGAAAATCGGGCCAGTTAAGAGTGAGTTGGTATTCCATGTTAAGCATCCACAG
+GCTGGTATCTGCAACCGATTATAACGGATGCTTAACGTAATGCGTGAAGTATGGACATATTTATTCATCT
+TTCGGCGCAGAATGTTGGCGACCAAAAATCACCTCCATCCGCGCACCGCCCAGCATGCTCTCTCCGGCGA
+CGATTTTACCCTCATATTGCTCGGTGATTTCGCGGGCTACCGCCAGCCCCACACCTTGCCCAGGGCGTAA
+AGTATCAACCCGTTGACCACGGTCGAAAATGACCTCTCGCTTGCTTAATGGAATACCGGGGCCATCATCC
+TCGACCACAATATAGAGATGCTCGTCGGTTTGCCTTGCAGAAATTTCGACAAACTCGAGGCAATATTTAC
+AGGCGTTATCCAGCACGTTGCCCATCACTTCGACAAAATCATTCTGCTCACCAACAAAGCTGATTTCTGG
+CGAGATATCGAGAGAGATATTGACCCCTTTGCGTTGATACACTTTGTTCAGCGCCGAGGTGAGATTGTCC
+AACAGTGGCGCGACCGGATGCAGCTCGCGGCTAAGCAATGTCCCGCCGCGCATACTGGCACGATGCAGGT
+AGTAGCCAATTTGCTGTGAAATGCGGCTGATTTGCTCCAGCATTACCGGCTCAGCATCACTGACGCTCAT
+CTTCTCACTACGCAGAGAACGCAGCGTACTTTGCAGCACCGCCAGTGGCGTTTTCAGACTATGGGTCAGG
+TCGGTGAGCGTTGTACGATATTTGTCGTAACGTTCGCGTTCACTTTTTAACAGTCGGTTCAGGTTTCGTA
+CCAGACTGGTCAGTTCTCGCGTTGTGGCTGGATTGAGCAATTCGCGGTTATGTTCTTCCAGTTCGCGGAC
+TTCTTTTGCCAGGGCTTCGATGGGGCGTAAACTCCACCAGGCGGCGACCCACAGCAGCGGGATCACTAAC
+AGCAGATTGGCTGAGAGCACATAGATAAACCAGCTCCAGACCATATAGGAACTTTTTAGCTCCACCGGAA
+TGGTATCCACCACCACAATGGTTAACTTCGGCATCCGCGATGTTGCCGGGTAGACGTTTACCGCCACCGA
+GTGGGTCATCTCCGCGTCGTCATCATCTTCCCGCACTTCCTGCAACTGTTGCTGTATCGAATGATCTCCA
+CTCAGCAAGAGGCTGGTATCGTTAACATCCGCTTCAATTTCATGAAAACCATTCGATTTCAGCCAGTCAG
+GCTGGATCATCTTCATCAGCCAGGGCACGTCACGTTGCGCCCATAAAAGCTGCCCGTTCTCATCATAAAT
+TAGTGTCATCGTGGGGCTTTGCTTGTCGATATTTTCGGGTAACTCGACATGCAACTTATTGTTTTCCCAC
+TTCGCAAGGGTATAGAACAGATTGCTCTCGCCACGTAACAGCCGAAACGTGGTTTTATCGAAACTGACGC
+TATAACCGATCAGCGCAACCATTCCGTAGGCAAGCGAAAGCACCAATACTACTGCTGCCGTTGCTAACAG
+AAAACGTACCCGCAGCGAGAGCGGGAAAAAAAGATGCAGTAATTTTTTCATCAGCGCAATTCGAACAGAT
+AGCCCTGGCCGCGAACGGTGGTAATCACTTCTTGCGGATATTGTGCCTGTATTTTTTTGCGCAGACGTCC
+CATCAGTACATCTATGGTATGACTTTCCCGCAGCTCCGCATCCGGATAGAGTTGGAGCATTAACGAATCT
+TTGCTCACCACTTTGCCATTATTGCGTATCAACGTTTCCATAATGGTGTATTCGAACGCGGTCAGTTTGA
+TCACTTCGTCATTAATAGATAATTCACGGCGGGAGAGATCAACCTGAAACGGGGGTAGCGAAATGACCTG
+TGAAGCCAGACCGCTATTACGCCGCATTAATGCCTGCATTCGCGCCATCACCTCTTCAATATGAAACGGT
+TTAGTCACGTAATCATCAGCACCGGCACTTAATACTTCGACTTTGTCCTGCCAGCTTTCACGGGCGGTTA
+ATACCAGAATCGGCAGTGAAACATCATTGCTACGCCAGCGGCGAATCAGTGACAGACCGTCCTCGTCAGG
+CAAACCGAGATCGACAATCGCAATATCCGGTAAATGTTCATTGAGATAATAATCGGCTTCTTTGGCATCT
+TCTGCGTCATCGACCTGATGACCAGCATCCTGAATCTGAACTTTAAGATGGTGACGTAACAACGCATTGT
+CTTCAACAACCAGTACGCGCATTTTTTATTTCTCCCTGTCTTAATTATTAAAATAGTGTAACGCGATTAT
+GTGGTTATGGGGGTAAACATTAAATAAACCAGCGGGGAGGGGAGGTAAAGTGAAAAAATAAAAAGTGGAT
+AATCTTAATAAGCAGGCCGGACAGCATCGCCATCCGGCACTGTTTTGAGGCTTATTTCAGCTCATCAACC
+ATGGTGATGGCGCGACCAATGTAGTTAGCCGGCGTCATCGCTTTCAGGCGGGCTTTCTCTTCTTCTGGCA
+ACGCCAGACCATCGATAAACTGCTTCATGCCTTCGGCGTCAACGCGCTTACCGCGAGTCAGCTCTTTCAG
+CTTCTCGTACGGTTTTTCGATGCCATAGCGACGCATAACTGTCTGGATTGGTTCAGCCAGCACTTCCCAG
+TTGTGATCCAGTTCATCCAGTAGATGGTCACGGTTCACTTCCAGTTTACTCACGCCTTTCAGGGTGGATT
+GATACGCAATCAGCGCATAACCGATACCCACGCCGAGGTTACGCAGCACGGTGGAGTCGGTCAGGTCACG
+CTGCCAGCGGGAAACTGGCAGTTTGCTTGCCAGGTGCTGCAATACCGCGTTGGAAAGCCCCAGGTTTCCT
+TCGGAGTTTTCGAAGTCGATCGGGTTAACTTTATGCGGCATGGTGGAAGAACCAATCTCACCAGCAATGG
+TTTTCTGTTTGAAGTGGTTAAGGGCGATATAACCCCAGACGTCACGGTCAAAGTCGATCAGAATGGTGTT
+GAAGCGCGCAACGCAATCAAACAGTTCGGCAATGTAGTCGTGCGGTTCGATCTGGGTGGTGTACGGGTTC
+CACTGAATACCCAGCGAGGTGACGAACTCTTCGCTGAACTGATGCCAGTCAACTTCCGGGTAAGCGGCGA
+TGTGGGCGTTGTAGTTACCGACCGCACCATTGATTTTGCCGAGGATCTCCACCTGATTAAGCTGGCGGTA
+CTGGCGCTCCATACGGTAGGCGACGTTTGCCATCTCTTTACCGATGGTTGACGGCGTGGCTGGCTGACCG
+TGGGTACGGGACAGCAGCGGGATATCGCGATACTGAACGGCGAGATCTTTAATGCCATCAATCAGTTGAC
+GCCAGTACGGCAGGATCACTTCATCACGCGCGGTTTTCAGCATTAATGCGTGGGAGAGGTTATTGATATC
+TTCCGAAGTACAGGCAAAGTGGATGAATTCAGAAACCGCGTGCAGTTCCGGGATCTCCGCCACTTTTTCT
+TTCAGGAAATACTCAACCGCTTTAACGTCGTGGTTAGTGGTACGCTCGATGGTTTTGATGCGTGCTGCAT
+CTTCTTCGCTGAAACTGGCGACAATTGCATCAAGGTAACCGATTGCGTCGGCAGCAAAAGCAGGAACTTC
+CTTGATCGCTGCGTGCGCGGCCAGTTTTTGCAGCCAACGTACTTCAACTTGTACACGGAATTTCAGCAAA
+CCGTATTCGCTGAAAATCCCGCGCAGCGCGCTGACTTTATCGCCGTAGCGTCCATCGACAGGGGAAACGG
+CGGTCAGTGAGGATAATTCCATAGATCACAACTCCGGGGTTAAATGAGCAAGAATTTGTTTTGCCTGAGT
+GGTCAGGCGATTACGAGAAAACATCAGTTGCAGACGACCGCCGCCGACCTGGTGCCAGAGCACGGCGGCG
+CGAATGCCTGCCAGCAGGGTTGCGCGAACTTTCGCCTGCACCTGTGGGCTTTGCAGTACAGCAGGGGAAC
+CAGTGACCTGAATGCGCGGGCCAAGCGGGCTGATAACATCAACATAGATGGCAGCCATCGCGCTCATCAG
+CGTTTCGGACTGTAAATCGAAGTGTTCGAGCTGGCGTTGCAGGCCGTTGATCCGGTTGCCCAGAGTGTCG
+AGCGCACCTTTCGCTGAGGAGAGTTTGCGCTCAAGCACCATCAGACTGAGTGTGTAGCGGGTTAATTCGG
+CGTTTAAGCCCTGGCGACTGCTGGCATTGAGTACGCCGAGCAAGGTTTCCAGCCCGACGCGCAGGTTGGC
+TTCGCTACCGCCAAAAACCGCCAGCGTTGAGCTGGGGTTCATATCGATAATACTGTTGAGTGAGACGTGT
+AGCGCATCGCCATCACAATGCCCCTGGTGAGCGAGTTGTTGCACCAGGCGTGCCGACTGACAAATACCGG
+CAAGGGCGAGGGTGATGTCATAGTAATTCTTTGCCACGTTCACTGCTTCCTTGTTTTAAGTAAAGATAAT
+AATCAGACCGGCAGCGGCAGACGCTGCTCAATAATACCGCCACCGAGGCACACTTCACCGTTATAGAAAA
+CGGCAGACTGGCCCGGCGTCACGGCGGCAACCGGCTCATCGAAAATCACTTCAATGCGATCAGCGTCCAG
+CGCCTTGACGGTGCACGGGATGTCGGTCTGGCGATAGCGGGTTTTTACTGTGCAACGCATAGTACCTGTG
+AACGGCTCGCGATCGACCCAGTGCAGCTGCTGGGCAATCAGACCGACAGACATCAGACGCGGGTGTTCAT
+GGCCTTGCGCAACAATCAGAATGTTGTTTTCGACGTCTTTATCGACCACATACCACGGTTCTTCGGTGCC
+GTCTTTGGTGCCACCGATACCCAGACCTTTACGCTGACCGAGGGTGTGATACATCAGCCCCTGGTGCTCA
+CCAATTTCATCGCCATCGACGGTAATGATTTTGCCCGGTTGCGCCGGGAGATAACGGCCCAGGAACTCGC
+GGAATTTACGCTCGCCGATAAAGCAGATACCGGTAGAATCTTTTTTCTTCGCGGTGACCAGACCAAGATC
+TTCAGCAATCTTACGCACCTGCGGTTTTTCCAGTTCGCCGACCGGGAACAGGCTTTGCGCAATTTGCTCA
+TGGCTGAGCGTATAAAGGAAGTAGCTCTGGTCTTTATTGCTGTCCAGGCCACGCAGCAGGCGGCTCTTGC
+CATCGACATCTGCCCGACGTACGTAATGACCGGTAGCGATATAATCGGCACCTAAATCTTCGGCGGCAAA
+TTCGAGGAAAGCTTTAAATTTGATCTCTTTGTTGCACAGAATATCCGGATTTGGCGTGCGACCGGCTTTA
+TATTCGGCAAGGAACAGTTCGAAGACGTTGTCCCAGTACTCGGCAGCAAAGTTAACGGTGTGCAGTTCAA
+TGCCGAGCTTGTCGCAGACAGCCTGGGCATCAGCCAGATCCGCTGCCGCTGTGCAATATTCCTCACCGTC
+GTCTTCTTCCCAGTTCTTCATAAACAGGCCTTCGACCTGATATCCCTGTTGTTGCAACAGCCAGGCAGAA
+ACGGAGGAATCGACACCGCCGGACATGCCGACGATTACTTTTTTTGCGGTTTCAGACATTGGATCACTCA
+CGACATTGAACTTCAAGGCGGCGTATTCTATCACGCAGCCTTTTAGATGACACCCTTTGTAAAAGGCCAG
+TTAAAATCGCCAATCATCTCCAGCGGATAGCGTTGCCCGCTTTGATAACAACGAATACTTTCCGCCACCA
+GCGGCGAACGAAGATTTGACGCCTGTAAAATTTCTTCGGCGCTGACCCAACGGCAGCAGTCGATATCGCT
+GTCATGAGGCTGCGTCGGGCATATTTGCTCAAGCTCAATGGCAAAGAGGAAACGCAAAAACGGCGTTTTA
+TCAGGCGCAATCCACTGATGCATGCGGATAAAATGTTGCGGTTGCGCGCTGATGCCGGTTTCTTCCCACA
+GCTCACGGGCGGCGGCTTCCACTAAGGTTTCATCTGCTTCCAGATGCCCGGCGGGCTGGTTCCATAACGC
+TTTACCATTAATCGTCTCTTCAACGACTAAAAATTTGCCTTCTGCGTGCACCACGCAGGCAACGGTAACG
+TGCGGTTTAAACATTTTGCATCCTTAATCTGTCGCGTCTCGCCATTCGCCATTGGCAAGATTATCCAAAG
+AGTAATTCCCCATCGCATAGCGAATCAGTCGCAGCGTGGGGAAACCAACATGGGCGGTCATGCGGCGCAC
+CTGGCGATTACGTCCTTCATATAAGGTGATCTTCAGCCAGCTGGTGGGAATACTTTTGCGCTCACGAATT
+GGTGGATTCCGCGGCCATAACCACGCGGGTTCTTCAACCAGCTCCGCGCCTGCGGGCAGGGTAGGGCCAT
+CATTTAAGGTTACACCATTGCGCAAGGCTTCAAGGGCGTCTTGTGTGGGAATACCTTCTACCTGTACATA
+ATAGATTTTCCCGGTACGTTTACCCGGCTGGGTTAAACGCGCCTGCAAAGCGCCGTTATTGGTCAGCACC
+AGTAACCCTTCGCTGTCGCGGTCGAGACGACCTGCCGCATACACCCCCTGAACCGGGATGAATTCTTTTA
+ATGTTTTGCGTCCGGCTTCATCGGTGAACTGCGGAAGAACATCGTAGGGTTTATTGAACAGGATCACACG
+CGTGGGCTGGTTGTCAGGTTTACGCCTGGTAGAACGTTGCGAGCTGAATCGCTTAACCTGGTGATTTCTA
+AAAGAAGTTTTTTGCATGGTATTTTCAGAGATTATGAATTGCCGCATTATAGCCTAATAACGCGCATCTT
+TCATGACGGCAAACAATAGGGTAGTATTGACAAGCCAATTACAAATCATTAACAAAAAATTGCTCTAAAG
+CATCCGTATCGCAGGACGCAAACGCATATGCAACGTGGTGGTAGACGAGCAAACCAGTAGCGCTCGAAGG
+AGAGGTGAATGGAAAGTAAAGTAGTTGTTCCGGCACAAGGCAAGAAGATCACCCTGCAAAACGGCAAACT
+CAACGTTCCTGAAAATCCGATTATCCCTTACATTGAAGGTGATGGAATCGGTGTAGATGTAACCCCAGCC
+ATGCTGAAAGTGGTCGACGCTGCAGTCGAGAAAGCCTATAAAGGCGAGCGTAAAATCTCCTGGATGGAAA
+TTTACACCGGTGAAAAATCCACACAGGTTTATGGTCAGGACGTCTGGTTGCCTGCTGAAACCCTTGATCT
+GATTCGTGAATATCGCGTTGCCATTAAAGGCCCGCTGACCACTCCGGTTGGTGGCGGTATTCGCTCTCTG
+AACGTTGCCCTGCGCCAGGAACTGGATCTCTACATCTGCCTGCGTCCGGTACGTTACTATCAGGGCACTC
+CAAGCCCGGTTAAACACCCTGAACTGACCGATATGGTTATCTTCCGTGAAAACTCGGAAGACATTTATGC
+GGGTATCGAATGGAAAGCTGACTCTGCCGACGCCGAGAAAGTGATTAAATTCCTGCGTGAAGAGATGGGC
+GTGAAGAAAATTCGCTTCCCGGAACATTGCGGCATCGGTATTAAGCCGTGTTCTGAAGAAGGCACCAAAC
+GTCTGGTTCGTGCAGCGATCGAATACGCAATTGCTAACGATCGTGACTCTGTGACCCTGGTGCACAAAGG
+CAACATCATGAAGTTCACCGAAGGCGCGTTTAAAGACTGGGGCTACCAGCTGGCGCGTGAAGAATTTGGC
+GGTGAACTGATCGACGGCGGCCCGTGGCTGAAAGTTAAAAACCCGAATACCGGCAAAGAGATCGTCATTA
+AAGACGTGATTGCTGATGCATTCCTGCAACAGATCCTGCTGCGTCCGGCTGAATATGATGTTATCGCCTG
+TATGAACCTGAACGGTGACTACATTTCTGACGCCCTGGCAGCGCAGGTTGGTGGTATCGGTATCGCCCCT
+GGCGCAAACATCGGTGACGAATGCGCCCTGTTTGAAGCCACCCACGGTACTGCGCCGAAATATGCCGGAC
+AGGACAAAGTAAACCCAGGCTCTATTATTCTCTCCGCTGAGATGATGCTGCGCCATATGGGCTGGACTGA
+AGCCGCAGACCTGATTGTTAAAGGTATGGAAGGCGCAATCAACGCCAAGACCGTAACCTATGACTTCGAA
+CGTCTGATGGAAGGCGCTAAACTGCTGAAATGCAGCGAGTTTGGTGACGCGATCATCAAAAATATGTAAT
+TACCACATGTGTTAAATATTATAACGGGCGTATAACACGCCCGTTGTTTTATGATGATGTAAAATCTTCC
+CCAAAACTTTCCCCAAAACCCTTCCCCAAAACTGGCTATTTTCTATGCTGTTTTGATATCTACGATAATC
+CAGTCTTTACCACGATCATCATTGTATCGGTCGGTCATTTTTCTGGATTTATGGCCTAACAACTTTTGCG
+TATCCAGACCCTGTTCCCGATATAACCGTTCTGACAGAGATCGCTGCTCATGAAATGTGGGCGCAGTTCC
+TTGCTCCCATTTTATGCCACATTTTTCCCTGGCCTTTTTAAAAGCCGTTGTCAGAGTATTCGCAGAAACC
+TGGTCTCCTCTGTTTGCTTGAGAGGTTGTGTGACGGTAATGGACCAGATATTTACTAACAACAGCATCCC
+TGCACTGAGATATAACTTCACGAAGGGTAATATTCAGAGCATCGCATTTCAGGTTAAGCGGAATAGCAAG
+TTTTGAACCGGTTTTTTTCTGAGTAATGTGCAACATGTCGTCCCAGATATCAGAGAATTTCAAATTGCAG
+ATATCGCCTAAACGTTGTCCAGTGACAAGAGCAAGTAGCATCCCGCATTTTAAATAGGGCTGCCGTCTGC
+TTACGCTGTCAAATATTGCCTGCCATTCGGGCAGTGATAATCTTTGGCGGTTTACTCGATTTCGCGGTTG
+TTTTGTTGCCTGCGCTGGGTTAAATCCTGGTGTCAACGACGGATGAAAAGTGATCCACTTATATCTCCAC
+CAACGGCCCAATATTGATCCACCGTTTTACTCAGGATTAGCTTCTGCTATAACCCCGGCCTTTCGTTTCT
+GTCTGAGTCGATAGCTTTCTCCTTTGATTTGAACGACATGTGAGTGGTGTAAGATACGGTCCAGCATCGC
+TGAGGTCAGTGCTGCATCACCGGCGAACGTTTGATCCCACTGCCCGAACGGCAGATTGGATGTCAGGATC
+ATTGCGCTCTTTTCGTAACGTTTAGCGATGACCTGGAAGAACAGCTTTGCTTCTTCCTGACTGAACGGCA
+GATAGCCTATTTCATCAATGATGAGCAGGCGGGGGGCCATTACTCCACGCTGAAGCGTCGTTTTATAACG
+GCCCTGACGTTGTGCCGTAGATAACTGAAGTAACAGATCTGCTGCTGTTGTGAAGCGAACTTTGATACCT
+GCACGGACTGCTTCATAGCCCATCGCTATTGCCAGATGGGTTTTCCCCACACCTGATGGCCCCAGTAATA
+CGATATTTTCATTACGTTCTATGAAGCTGAGTGAGCGTAACGACTGGAGTTGCTTCTGCGGTGCTCCGGT
+GGCGAATGTGAAGTCATACTCTTCGAACGTTTTCACCGCCGGGAAGGCTGCCATTCGGGTATACATCGCC
+TGTTTACGTTGATGACGTGCCAGTTTTTCTTCATGAAGCAGATGCTCCAGGAAGTCCATATAACTCCATT
+CCTGGTCTACTGCCTGTTGTGACAGCGCAGGCGCTGCGCTTATAAGGCTTTCCAGTTGCAACTGCCCGGC
+GAGCGCCATCAGTCGTTGATGTTGCAGTTCCATCATCACGCCACTCCTCTGCAGAATGAGTCGTAGATGG
+AGAGTGGATGATGCAGGGGGTGTTTGTCGAAGTTCACCAGATTTTCACTAGGATGCACGTCATACTCTTT
+TTTCTCCGGAGGCAGTGCCAGCATGGACTGCTGCTCTTCGAGCCAGCGATCGCAGGGACGGGCCTGGATT
+GTTTCATGCTTTCGTTGGTTAGCGACATCGTGCAGCCAGCGCAGACCGTGGCGGTTGGCTGTTTCAACAT
+CGACAGTGATCCCCATCGGGCGCAGGCGAGTCATTAGTGGGATGTAAAAACTGTTACGGGTGTACTGCAC
+CATCCGTTCCACCTTACCTTTAGTCTGTGCCCTGAAGGGGCGACACAGTCGGGGAGAGAAGCCCATCTCC
+TTGCCGAACTGCCACAGCGAAGGATGGAACCGGTGCTGACCGGTCTGATATGCGTCACGTTGCAGAACCA
+CAGTTTTCATATTGTCATACAACACTTCGCGCGGCACACCACCAAAGAAGCGGAACGCATTACGATGGCA
+GGTCTCCAGCGTGTCATAACGCATATTGTCAGTGAATTCGATGTACAGCATTCGGCTGTATCCGAGAACA
+GCAACGAACACGTGAAGCGGTGAGCGACCATTACGCATAGTGCCCCAGTCAACCTGCATCTGTCGTCCGG
+GTTCAGTTTCGAACCGAACGGCAGGCTCCTGCTCCTGAGGAACCGAGAGAGAACGAATGAATGCCCTGAG
+AATGGTCATTCCGCCACGATATCCCTGGTCTCTGATCTCGCGAGCGATTACCGTTGCCGGGATTTTGTAA
+GGATGAGCATCGGCGATGCGTTGACGAATATAATCCCGGTATTCATCCAGGAGTGAAGCAACAGCAGGTC
+GCGGCGTATATTTTGGCGGCTCAGATTTTGCCTGCAAATAACGTTTAACCGTATTGCGGGAGATCCCCAG
+TTCTCTGGCAATCGCCCGGCTACTCATTCCCTGCTTGTGCAGGATTTTAATTTCCATAACTGTCTCAAAA
+GTGACCATAAACTCTCCTGAATCAGGAGAGCAGATTACCCCCTGGATCTGATTTCAGGCGTTGGGTGTGG
+ATCACTATTGCACCGTTCGTGACACCTGGCGGAACATGTCCTGCGTGTTGTGCTTCTTTGAAGACGTCGA
+TTAACACCATTCTCACGACTTGCGCCATCCTGTTATGACCTTCAGCCTTTACAGCATCAATTATTTCGGC
+AATATCAAGTGCGGTAATATCCTTGAGGTGTTGTATTCCACAATGCTCACGGAAAAGACGAATGGGTTTG
+CCTTTTTGCCGATAGGAGTTGGGTCTTAGTTCATTATGTTGCAGCCTGTCCTCCTGGATAGAAATATATT
+TATCAAGCCATTCTGTCACCGTAATGTCTGAGCGCCTGCCTTTCATTCTTTCCAGACGCTCATTGACGCT
+TAATATTTGTCGGGTACGTTGTTCAGCAATAATGGTATTTGCTTCAGTAGCAACTTGTTTTGCTTCATTC
+TCATCAGTTCCTAAGCTATGAAAACGACCGGATAGTGGATGTTTGTATTGCCAATATACCTTTCCGGTTC
+GCTTATCTAATTTGCAATATAAATTGGGTATAGAGATTTTGTGAGATCGGGGTCTAGCAGCCATCAGCGA
+TTATCCGTTGGAGTTTTGGGTTTGCGTTTATTGGGAGTTGCGGTTCTGCAAGCGTTCCTACAAAACGGGA
+ATTTCGGTCAATCATCCAGTAGCGACCAACTTTTATAGCGGGTGGGGCCATCATTTTCCCTTGCGCGTAT
+TTTTTCAGAACTCGCTCACTTGGTGCTAAGTCCCCAAATTCTTCTTTAGCCCAGTCCTGTAAAGTGATTA
+GTCGAGACATTTGTCCTCCTCTTAGCTGCTGAGGGAGTTTGTGACCGATATATCTGACATGATATTAAGC
+TCATGGCAGGTACATCTCTTGACTGGTCATAGAGATAAATTTAATGCTGAGAAATGCAGTATTGAATTTA
+TCAATTTTTCTATTTCCTGCGTATGGCACGTAACTTCTTAATGTGTTCTGCCGTTTCGATCTCTTCTGCT
+ATCCGATCTGCATCAGCTTTATTCACAGGTTCAAAGTCATGATTAAAGCGGAACATGCTGGCGATACATG
+TTCTGCCTTTTCGGATGTAGTGAACTTTGTTGTGGGTAGAACGCAGGATTTTGCAGGGAGTGCCGTGGTG
+GTCGACGTACCAGGTGTTAGGAAAAATGATTCTGAACATTTTTACACCTCAGTTGGACGATGTTGAAATT
+TGCTGCTTTGAGGCCATCACAGTCCCCATTGTTTGTTCTTAAGTTCGATCTCCTCCTGGCAACTTGCACA
+AGTCCGACAACCCTGAACGGCCAGGCGTCTTCGTTCATCTATCGGATCGCCACACTCACAACAATGAGTG
+GCAGATATAGCCTGGTGGTTCAGGCGGCGCATTTTTATTGCTGTGTTGCGCTGTAATTCTTCAATTTCTG
+ATGCTGAATCAATGATGTCTGCCATCTTTCATTAATCCCTGAATTGTTGGTTAATACGCTTGAGGGTGAA
+TGCGAATAATAAAAAAGGAGCCTGTAGCTCCATGATGATTTTGTTTTTCATGTTCACCGTTCCTTAAAGA
+CGCCGTTTAACATGCCGATCGCCAGGCTTAAATGAGTCGGTGTGAATCCCATCAGCGTTACCGTTTCGCG
+GTGCTTCTTCAGTACGCTACGGCAAATGTCATCGACGTTTTTATCCGGAAACTGCTGTCTGGCTTTTTTG
+ATTTCATAATTAGCCTGACGGGCAATACTGCGAAGGGCGTTTTCTTGCTGAGGTGTCATTGAACAAGTCC
+CATGTCGGCAAGCATAAGCACACAGAATATGAAGCCCGCTGCCAGAAAAATGCATTCAGTGGTTGTCATA
+CCTGGTCTCTCTCATCTGCTTCTGCTTTCGCCACCATCATTTCCAGCTTTTGTGAAAGGGATGTGGCTAA
+CGTATGAAATTCTTCGTCTGTTTCTACTGGTATTGGCACAAACCTGACTCCAATTTGAGCGAGGCTATGT
+GCCATCTCGATACTCGTTCTTAACTCAACGGGAGATGCTTTGTGCATACAGCCCCTCGTTTATTATTTAT
+CTCCTCAGCCAGCCGCTGGGCTTTCAGTGGATTTTGGATAACAGAAAGGCCGGGAAATACCCAGCCTCGC
+TTTGTAACGGAGTAGACGAAAGTGATCGCGCCTACCCGGATATTATCGTGAGGATGCTTCATCGCCATTG
+CTCCCCAAATACAAAACCAATTTCAGCCAGTGCCACGTCCATTTTTTCGATGAACTCCGGCACCATCTCG
+TCAAAATTCGCCATGTACTTTTCATTCCGCTCAATCACGACATAATGCAGGCCTTCACGCTTCATACGCG
+GGTCATAGTTGGCAAAGTACCAGGCATCTTTTCGCGTCACCCACATGCTGTACTGCACCTGGGCCATGTA
+AGCCGATTTTATGGCCTCGAAACCACCGAGCCGGAACTTCATGAAATCCCGGGAGGTAAACGGGCATTTC
+AGTTCAAGGCCGTTGCCGTCACTGCATAAACCATCGGGAGAGCAGGCGGTGCGCATACTTTCGTCGCGAT
+AGATGATCGGGGATTCAGTAACATTCACGCCGGAAGTGAATTCAAACAGGGTTCTGGCGTCGTTCTCGTA
+CTGTTTTCCCCAGGCCAGCGCCTTAGCATTAACTTCCGGAGCCACACCGGTGCAAACCTCAGCCAGCAGG
+GTGTGGAAGTAGGACATTTTCATGTCAGGCCACTTCTTTCCTGAGCGGGGCTTTGCTATCACGTTGTGAA
+CTTCTGAAGCGGTGATGACGCCGAGCCGTAATTTGTGCCATGCATCATCCCCCTGTTCGACAGCTCTCAC
+GTCGATCCCGGTACGCTGCAGGATAATGTCCGGTGTCATGCTGCCACCTTCTGCTCAGTGGCTTTCTGTT
+TCAGGAATCCAAGAGCTTTCACTGCTTCGGCCTGTGTCAGTTCTGACGATGCGCGAATGTCGCGGCGAAA
+TATCTGGGAACAGAGCGGCAATAAGTCGTCATCCCATGTTTTATCCAGGGCGATCAGCAGAGTGTTAATC
+TCCTGCATGGTTTCATCGTTAACCGGAGTGATGTCGCGTTCTGGCTGACGTTCTGCAGTGTATGCAGTAT
+TTTCGACAATGCGCTCGGCTTCATCCTTGTCATAGATACCAGCAAATCCGAAGGCCAGACGGGCACACTG
+AATCATGGCTTTATGCCGTAACATCCGTTTGGGATGCGACTGCCACGGCCCCGTGATTTCTCTGCCTTCG
+CGAGTTTTGAATGGTTCGCGGCGGCATTCATCCATCCATTCGGTAACGCAGATCGGATGATTACGGTCCT
+TGCGGTAAATCCGGCATGTACAGGATTCATTGTCCTGCTCAAAGTCCATGCCATCAAACTGCTGGTTTTC
+ATTGATGATGCGGGACCAGCCATCAACGCCCACCACCGGAACGATGCCGTTCTGCTTATCAGGGAAGGCG
+TAAATTTCTTTCGTCCACGGATTAAGGCCGTACTGGTTGGCGACGATCAACAATGCGATGAACTGCGCAT
+CGCTGGCATCACCTTTAAATGCTGTCTGGCGAAGAGTGGTGATCAGTTCCTGTGGGTCGACAGAATCCAT
+GCCGACACGTTCAGCCAGCTTCCCTGCCAGCGTTGCGTGTGCTGTACTCATCCGTTTTATACCTCTGAAT
+CAATATCAACCTGATGGTGAGCAATGGTTTCAACCATGTACCGGATGTGTTCTGCCATGCGCTCCTGAAA
+CTCAACATCGTCATCAAACGCACGGGTAATGGCTTTTTTGCTGGCCCCGTGGCGTTGCAAATGATCGATG
+CATAGCGATTCAAACAGGTGCTGGGGCAGGCCTTTTTCCATGTCGTCTGCCAGTTCTGCCTCTTTCTCTT
+CACGGGCGATCTGCTGGTAGTGACGCACCCAGCTCTGAGCCTCAAGACGATCCTGAATGTAATAAGCGTT
+CATGGCTGAACTCCTGAAATAGCTGTGAAAATATCGCCCGCGAAATGCCAGGCTGATTAGGAAAACAGGA
+AAGGGGGTTAGTGATTCAGGCCGTTGCCGCGTCCGTCGAGAAAAACTTCCACGAGCAAGTCACGGGTATA
+AGTGCGCTCGATGCCGCGATGCAGATAAAGCCGTCCGCGTAAATTAGCTGATGCAGTCCAGGTACCATCT
+TTGTGTTTGACCAGCATTCCTGGCATGACCGCACCGCGATTAACGGTCTGTGTTCCGTAATGTTGATGAA
+CCATAAAAACTCCTGCCCGTAAGCTGGGCTGCTGAACATATAGAGACTTCTGCGCGTATTCAGGCGGTGG
+ATGGCCGCCGGTTGTCATAACTAAACCGCCTCGTTGAAGCGACTGAGGTATGAAATGTTGAGTTAATTTC
+AGCTGGTCACACCGACGTTCACGCGTCCGTTTCACCCCTCGCACTCCCCGAAGCCTGCTGAAATTCAAAC
+TGCGGATCTAAGCGGTCATCGCAACGGTGAATCAGGTGGTTGCCGTATCGTTGTGTTGTTGCGATATGGT
+GATAATAGCTATTGCTATTGGTGATATCAATACTTATTGCTATTGGTTGATGTGTTTTGATATTAAATGT
+TTGATAGCAAAAAGAATTAATTTTGTGACTTGCATCGCATAGCGATAACTGAAGGGAGGATGTGGTGGTT
+TTTCGAACGGTTTGTGTGATGAGGGGACAAAAGAAAACCCGGCACGGTGGCCGGGATTCTTACGCAGGTA
+GGTAAAGATATGATTGTGGTGGCTTAATATTACTACCTAGAGCAGAGATAGGAATTGGTTCTTTATATCT
+TTCCACTTCACCAATTTTTATTGCGTAGGCCTTTTCTCTACCTGAATAATATGAGTCATAAAATTGCTTA
+GAAATACCTGCGTGTTTTTCCGTCTTTTTCCAAAGAGATTCCGGTTCGTCACTTAGTATTGATTCAATAC
+GGAATTGACCAACAACTTTACCTAATGGCATCGTGGCATAAATAACAACGGTGCTAATTTGCGGATTTTT
+GAATATACCTTTACGAAACTCGAACCGCTTTGTTCCGTTCAATATTTTTTCTGCAAACTCAGGCTTAATG
+GATAATAAAACTTTCATTTATCTTGCCTAACTCGATGATCTTTAAGAACTGCTCATTTGTGAGTTTAAAG
+TGACTCCATCGGAATGCACGCGAACCATTTAGCCCCACATGATCTATTAAAATAGCACGATTGGGTCTCT
+TTGGCAAAGACAGATTGTATGTGAATCTTATAATGAAAGGGTATCGACGTTCTTTATAGATTTTTCTGAG
+TTCATCTTCAGAAAATACGCTAAAACGAATACAATAGTCTACAAAACTATCTTCGCTTAAAAATTCAGAA
+ATATTTTTTACGCTCTCAACTACACATAATGTACTGGCTACAGAACGATAGCGAGCTGGCCCTTTTTTGT
+CTCCGGTTCTATAGATGACAATGATATCTCCTCTTTTCATTCCCATCACAGAACGCATTCCACATATGTA
+AATTTTATGAATGCTGTTAGCATGGGATATATCTTTGACAATATCTGGTGATTCATTTACAAGTTTTGAA
+TCAGGGAATAGTCTAGTGTGATATTCGGGATAAATCGCCAGTAAATATTTGTTGGCCCTTGATGTCATTA
+TTCGAGGGTAATCTAATAAAATATCACCATAAGGCTCATGCAAAGACCTCGCATATACAAACTCTTTCCC
+GTTATGTGTTTCTTTTTCACCATGAATGTAAAATCCGTACGTTTGGAAAAGTTTTATTAGATGGACGTGT
+TTGTCGAAAACAGTAACATAAATATCATCAGATTTTGATGAAAATGCATGGTCAAACGCTTTTTTTAGAA
+ATCGTTGTCCGCGAAGGGTGCCTTTAGATTCAAATTTGAATGTTCCTATCTTTAGATGACGTCCTGGTGG
+GAGCGCTGGATTAATGTCATTTGCATCATCATTTTCTTTTAGATACATAAAACCTTCGATTTTATGCTTG
+TCATCATAGAGCACATAAGCTGATTCTCCTTCTCTGGCTTTTTTTTCTAACCAAAGAGGAAACTCTTTAT
+AATCTTTTTTTAAAGAGTCAAAAAATGGGTCATTGTGATCAAAATCAGAGAATTTCTCATATTTTAAAGT
+ATCCATTAAGTTCTCCATTCTAAAATGAATAATTAAGTTGTTTTACTGAATGAGCACAATGCCCGGTTGA
+TAATTTTTAATTGGTACTATCCATGCTTCCTATACGTCTGCGGCATGCTCCCAATAACTTTCCCGAAGAT
+AAATACCCGGTTCATCTCATCTTTCTCGATCGGGTCCCACGGTGAGTAGCTTTTGTTATCAGAGATAACC
+AGCAGCTTATCCTTCATCATTTGCAGGCGCTTTACATGGGCTGTGTCGTCGTACAGAAACGCATAGATAC
+CATCACCGTCGAAAGATTTAACCGTGATATCAACGAATAGAAGATCACCAGGTTCAATCGTTCCTGACAT
+GCTGTCACCGCGTACGTTAATGATGCGGATATTTTCTGCCTTCCTACCATCGAACATGTGACGAGCATCG
+TCAAACGAGTACTCAACCGAGCGTAGAACTTCTACAAACTCACGGTTGATGACTCCCGGCCCGGCACTCA
+CTTCTATATCAAGAACGTCAATTTTAAAGTATTTGGAATAGCTGACAGCAGGCTTCCCTGATTGTTGACC
+GTCATTTCTCATCGGGCCTATGCCTGATGAGAGCCATTCTGTTCGAACACCCAATGCATTAGCTATTTCA
+ACAATTTTTGTTGAGCCGCGCGCGTTGCCGCTTGTCAGTCTCCAGATTGTGGGTTGAGCTACGCCAGACG
+CCTTTGCAAGAGCGCCTTGAGACATTCCAGATTGTTCCATCGCTAGGTTTAAGCGATCAGCAAGAGTTTC
+TTTTTTCATAAGTTTTAATTTATACGCTTGCGTATTGATGGTCAAAAAACGTTTTGCTATTGCTTGGATT
+AATACGCATTGCTATTATTTATTCATTGCAATACCAATAGGAATTGATAATGACAAATCAAACCATTCAA
+CTCGCAATCAGTATTACAGGTAGTCAAAAACGACTGGCAGATCTATGCGGTGTAGCCCAACCCACAGTTT
+GGCGTTGGCTACACGGTGGCGGAATTGATGCCCGCTATGTAATGAAAATTGTCTCAGCCACTGGTGGAAA
+GATTAAACCAGCAGATATTCGTCCCGACCTCGCACCATTGTTTAACGCGAGTAATTCTGCCGCCTAAACT
+GCGGCGTTAACTGATAAGGCAATGACTATGCAACCACTTACATACCAACAGACTAGCGGATTTAGCCCGA
+CTGCGGTGATAAATCGTTCTCAAACAAAACAGGCGCCAGGCCACGAAAAAATCCGTGATGCCGTTCGCGC
+CTGGTCGGCTGCAGATAATCAGGATGTTGTTGCCGCACTCATTGTGAATGAGTATCGGGAGCAGGGCGGC
+GGCACCATCGATTTCCCTGATGATGTCAGCCGTGCACGCCAGAAGCTGTTCCGCTTTCTCGATAACAAAT
+TCGATTCTGAAAAATACCGAAATAACGTGCGTGAACTGACCCCGGCAATTCTGGCGGTACTACCGCTGGA
+ATATCGCGGCCACCTGGTTGAGCAGGATAGCTACATGGCTCGGCTGGCTGAAATGGAAAAGGAACTCAGT
+GAGGCAAAACAGGCTGTCATTCTCAACGCACCACGCCACCAGAAACTGAAGGAGATGAGTGAAGGCATTG
+TGTCGATGTTTCGTGTGGACCCGGATCTGGCTGGTCCATTGATGGCGATGGTCACCACCATGCTGGGGGC
+AATATGACAGGTTCAGAAATGGCGAAAGCCGGTCTGCGCGAACAGAACCGACTTTCAGGTGCAAATCGTA
+ACACACTCATTGCGGGAGGAATTATGGCAAACACTGCTGAGATATTCAATTTTCCAGTGCCGGATGTGGC
+ACAAAAGGAGCCGCGCGTGGCAGATCTCGATGATGGTTATACGCGCATTGCAAATGAGTTGCTGGAAGCT
+GTGATGCTGGCCGGATTAACACAGCACCAGCTTCTGGTCTTCCTGGCTGTCATGCGCAAAACATATGGCT
+TTAATAAAAAACTGGATTGGGTGAGCAACGAGCAACTTTCCGAGTTGACCGGGATATTGCCGCACAAGTG
+TTCTGCTGCAAAAAGTGTTCTGGTAAAGCGTGGGATTTTTATTCAGAGCGGGCGGAATATCGGCATTAAT
+AATGTGGTCAGTGAATGGTCAACATTACCCGAATCAGGTAAGAAAAATAAAGTTTACCTGAAAGAGGTAA
+ATTTACCTGAATCAGGTAAGAAAAGTTTACCCAAATCAGGTAAAGACGTTTACCCGAATCAGGTAAACAC
+AAAAGACAAACTAACAAAAGACAATATAAAACCTTTTTCGTCCGAGAATTCTGGCGAATCCTCTGACCAG
+CCAGAAAACGATCTTCCTGTGGTGAAACCGGATGCTGCAATTCAGAGCGGCAGCAAGTGGGGGACAGCAG
+AAGACCTGACCGCCGCAGAGTGGATGTTTGACATGGTGAAGACCATCGCGCCATCAGCCAGAAAACCGAA
+TTTTGCAGGGTGGGCCAACGACATCCGCCTGATGCGTGAGCGTGACGGGCGTAACCATCGCGACATGTGC
+GTTCTGTTCCGCTGGGCCTGCCAGGACAACTTCTGGTCCGGTAACGTGCTGAGTCCAGCAAAACTCCGCG
+ACAAGTGGACTCAGCTCGAAATTAACCGCAACAAGCAACAGGCTGGTGTGACTGCCAGCAAACCAAAACT
+CGACCTGACAAACACTGACTGGATTTACGGGGTGGAGCTATGAAAAATATTGCCGCGCAGATGATTAACT
+TTGACCGTGAGCAGATGCGTCGAATCGCCAACAACATGCCGGAACAATACGACGAAAAGCCGCAGGTGCA
+GCAGGTGGCGCAGATCATCAACGGTGTGTTCAGCCAGCTGCTTGCGACATTTCCGGCAAGCCTCGCGAAC
+CGCGACCAGAACGAGCTGAACGAAATCCGCCGTCAGTGGGTTATGGCTTTCCGTGAAAATGGAATTACCA
+CTATGGAGCAGGTTAACGCCGGAATGCGCGTGGCCCGCCGACAGGAGCGACCATTCCTGCCGTCGCCCGG
+CCAGTTCGTAGCGTGGTGTAAGCAGAGTGGCGGGGCGTTAGGTATCACTGTTGACCAAGTCATAACCGAA
+TACTGGGATTGGCGTAATCGTTCCTTCGAATTCACTTCCAGCGAGCATTTCCCGTGGTCACAGCCTGTCA
+TGTACCACATCTGCGTCGAACTGCGCCACCGCAGCACAGAGCGCCAGTTAACGCATGGTGAGCTGGCGCG
+TGAAGCCGGCGATCTGCTGGACATGTGGGAGAGGCGCGTCACCGAGGGCAAACCAGTACCGCCTGTGCGC
+CGGGCGATTGCAGCACCGGCTGCCGAGCATGGCCCGACGCCAATCCAGCTGCTTCAGGCGAAGTACAACC
+GCAACAAGTCGAACGGGATGGTGCGAAGTGGTAAAGAAGATAATAAAGAATAATATTTAGGGTTATAGGT
+CTTAGCCCATTTTAAATGGAAGGCAGACATGCAGCCATGCATACTTCGCATGGCAACATAATTATTTAGA
+CAAACTATCTAATTTCTGCGTCGCTTTTTGTGTTAGGTCGCTGTAACTGATAAACCCTACGTTAGCACCT
+ACAATTAACACTAAGAACACTAAGCTGCATATGGATAGAGTGGCAGATTTATGCTTATGGAAAACAAAAT
+ATGCTACTATTGCACTTAATATGAAGGAAATGAATAGAAATATAGATGTTGATGTTTTTAGATATTTTTC
+AGGAAATAATGGGTGAGCAATAATGTATACAAGATTAAGTAGTATATAAATTGCTACCGGAATGAAAATC
+ATGCTCCAGTGTGTATCTTTTTTGGGAGGGATTGGCTGCAAATAATCAGACACCGTTTTTCCATCAGTTT
+CAAGAAGAATTACTAGATCTCTTACTTCACCACTGACTTGAGTGCCATCCTTAGTAGTAATGTTAATCAT
+TTTTTCCCTCCAAATACGATTCCCTCTACGTCTTTGGAAGCTTTTTGTGATGACCACTCCTCTGAATCAG
+GTGATTTAATTAAAAATATTGTATCTCCATCAAAAATCGTATTTGTTCCGTAAAAATTTACATTTGATAG
+ATCACCACCAAAAACCCTCTGCCCACTCGAGGTAATTGCCTCACCTAATTTAGTAAAATTACCTGCAATA
+GATGATTTTCTTTTTCCACTTCTATTCAAAGTGGCTTTAATTACACCACCACCATCCTTAGAGTTAAATA
+ATTGAATGTCCACTCCAGCAGTTGGTTGTATATATTTTGAAAGCTCTTTCTTGAACTTGTTAATATATTT
+ATCTTTGTTTTCTTTGTTGGTCATTGGTTAGATCCATAGTTCTGGCTGTGATTAGGTGAAAGTATACAAG
+GTTTTTAAAGCGAAGATCACTGTTTTGGCTTCAAGATAGTTTTGATTTATCGTAATCAATCCGCCATAAT
+CCTCTCATCGGAGCCTGAACAACTCCGGTGACTTCTGCGCATTTAAGGGGACTTAAATGCGACCACAATC
+TGAACTCATCACCTTGTCACAGATGCAGAAATGCACCTGCGATGTCTTGCATCCAGCGTTTGATCTCTGC
+GGAGGTGAAGCGTGAACCTCCCACAAGATGGCATCAAATTACATCGCGGTAACTTCACCGCTGTCGGTCA
+GCAGATCCAGACTTATCTGGAAGACGGCAAATGCTTTCGCATGGTGCTTAAACCGTGGCGCGAGAGACGC
+AGTCTTTCCCAGAATGCACTCAGCCACATGTGGTACAGCGAAATCAGTGAATACCTCATCAGCAGGGGTA
+AAACGTTCGCCACTCCAGCTTGGGTAAAAGATGCTCTCAAACACACATATCTCGGTTATGAAACCAAAGA
+CCTGGTTGATGTCGTAACCGGTGATATCACCACTATCCAGTCGTTACGCCATACCTCCGATCTTGATACC
+GGAGAGATGTATGTCTTCCTGTGTAAGGTTGAAGCCTGGGCGGTGAATATTGGCTGCCACCTGACTATTC
+CGCAGAGCTGCGAGTTCCAGCTGCTCCGCGACAAGCAGGAGGCGTAATGGCTACACCGCTTATTCGTGTC
+ATGAACGGACACATCTACAGAGTATCAAATCGTCGTAAGCGTAAGCCTGAGCTGAAGCCATCCGAAATAC
+CAACACTGCTCGGATATACCGCCAGCCTGGTTGATAAAAAATGGTTGCGACTGGCAGCAAGGAGGAGTCA
+TGGCTGATTTGAGAAAAGCAGCGCGTGGTCGGGAATGCCAGGTAAGAATCCCTGGCGTATGTAATGGCAA
+CCCTGAAACGTCTGTACTGGCACATATCCGGCTGACTGGATTGTGCGGCACCGGTACCAAACCGCCAGAC
+CTGATTGCCACCATTGCATGTTCTGCCTGCCACGACGAAATCGACCGCCGCACACATTTTGTCGATGCTG
+CATATGCAAAAGAATGCGCGCTGGAAGGTATGGCGAGAACACAGGTTATGTGGCTGAAAGAGGGGGTTAT
+TAAGGCGTGAATACCTACAGCATCACATTACCCTGGCCTCCGAGCAATAATCGCTATTACCGCCATAATC
+GCGGGCGCACGCACGTCAGCGCAGAGGGGCAGGCATACCGCGATAACGTCGCCCGAATCATTAAAAACGC
+AATGCTGGATATCGGCCTGGCTATGCCTGTGAAAATCCGCATTGAGTGCCACATGCCGGATCGCCGTCGC
+CGTGACCTGGATAATCTGCAAAAAGCCGCTTTTGACGCACTCACTAAAGCAGGTTTCTGGCTGGATGATG
+CTCAGGTCGTTGATTACCGCGTTGTGAAGATGCCTGTTACCAAAGGTGGGAGGCTGGAACTGACCATCAC
+CGAAATGGGGAATGAATGATGTTTGAGTTTAATATGGCAGAACTTCTTCGCCACCGCTGGGGGCGTCTGC
+GCTTATATCGTTTCCCCGGTTCTGTTTTGACCGATTACCGAATACTGAAGAATTACGCCAAAACCCTGAC
+AGGAACAGGAGTATGAAGTCAGAGATAACAATCAACTAATACTGTTTTGTTGATTTTTGCTTGTAATTGG
+CGTTCTGGTCTGATTTTTGTGGAGTAAGTTGATGCGTGATATTCAGATGGTTCTTGAGCGTTGGGGTGCG
+TGGGCGGCTAATAATCATGAAGATGTGACCTGGTCGTCCATTGCCGCCGGTTTTAAGGGATTAATTCCTT
+CAAAAGTAAAATCTCGCCCGCAATGTTGTGACGATGACGCGATGATCATTTGCGGGTGCATGGCCCGTCT
+GAAAAAGAACAACAGCGATTTACACGATTTATTAGTAGATTATTATGTATGTGGTATGACATTCATGTCA
+CTGGCAAGTAAGCATTGCTGCTCGGATGGTTATATCGGGAAAAGGTTACAGAAGGCTGAGGGCATAATTG
+AAGGGATGTTAATGGCATTAGATATCCGGTTAGATATGGATATCGTTGCTAATAATTCTAATTGATATGC
+AATTGTTTACTAAAAGTTATTAAAAATGGGGCGTGGAAACGCCCCCAAAATAAAGGGTAATATATAACAG
+AAGGTTTATATAGTAAGAAGCAAGGTAGTGCTTCTAAAGGAAGTGGCTTGAGGGCTCCACTTATATGTTG
+CGGAGGCAAAGCCTCCCGCAACATATCTTTTTCGTAAGTCAGATTAGAACTGATAAACCAGACCTACAGC
+GACGATGTCGTCGGTATCAATACCAGCTGTTTTGGTAAACTTACTATCGTCAATTAAGTTGATTTTGTAA
+TCAACAAAAGTGGACATGTTTTTATTAAAGTAGTAAGTAGCACCGACATCGACATACTTGACTAAGTCTC
+GGTCACCATGAACACCAAGGTCTTTACCTTTTGACTGAAGGTAAGCAACAGATGGACGCAGACCGAAGTC
+AAACTGATATTGTGCTACTGCTTCAAAGTTTTGTGCTTTGTTTGCAATATGGTTATTACCAAAAACGGTC
+ATATTCTGAGTTTCAGAATATGTGGTAGCCAGATAGATATTGTTCGCATCATATTTCAGGCCTGCAGCCC
+ATACTTCCGCATTTTTGCCGGAGGCATTGAATTTGCTCTTACCATAGGCGACCTGACCGTCAGTGCGATC
+TGATTTAGCATAGGTTGCACCCACGCCGAATCCTTCATACTCATAAGTAGTGGAGAAACCGAAACCATCA
+CCATTGGCTTCAGTTACGTCAGTGCGGTCATTTTTACCCTGATACTGAGCAGCAAAGTTCAGGCCATCGA
+CCAGACCAAAGAAGTCGTTGTTACGATAAGTTGCAACACCAGTAGTGCGACCAGTCATGAACACATCTGT
+TTGGGTCCAGGTATCACCACCGAATTCTGGCAGAACGTCAGTCCACGCACCGATGTCGTATGCTACACCG
+TAGTTACGGCCGTAATCGATTGAGCCGTAATCACCAAATTTCAGGCCTGCAAATGCAAGACGGGTTTTGT
+CTTTGGAAGAACCTTGAGATTCAGCACGGTTGCCTTTGAATTCATATTCCCACTGACCGAAACCAGTCAG
+TTGATCGTTGATTTGGGTTTCACCTTTGAAGCCAAGACGGGCATAAGTAGTATCACCATCATCTGCATCA
+TTAGAGGAGAAGTAGTGCTTGGCATTAACTTTCCCGTATAGATCCAGCTTGTTACTGTCTTTATTATAAA
+TTTCAGCTGCCTGAGCAGACATCGCCATCAGTACTGATGCAGCTACAGCAGAAATTGCCACTGTTAATTT
+TTTCATTGTACGCCCTTTTTTTGAACTATTATTAAAAAATGATGTCACTGCGCGATAAATATTCATCTAA
+TCAATGTGATTATTTCAAGATGTAAGTTTTAGTTTCTCATTTAATTTGTGAAGTAGATCTCTATTTTTAT
+CGGAACCTTTTCTATCTAATCCTATTCATGGCTCTTGTCTGAACAAAAATAAATCTATTAGCTAATTTAT
+ATTAATGGCACTTATTTATAAGTGCTCTATAATTCTTTAGCTTAATTTAAACAAACTAAAAATAACATCG
+GAAATTATTAACTGGTTATTTGTTGAAGTTTTCTTATGCATTTGTGGTGGTGTTTTGAACACTCGGTGGC
+ATTCTCACAAATATCATTTAGTAGTTTACGTACGTAAAAAATTGGTTATGCTGTTAAGAGTGGTTACTTC
+GTCACACAGCTTAAACCCGCCGTCGAGCGGGTTTTTCCATTTTTTGAGTCTCGATATTAGCTGATAACCC
+AATACCTGAGTTATTCACTGACTCCGAATCTGTTACGTTTCTGCCTTTATTGCGATACGTAGTATCCCCT
+TAATTTACACCCGCTTTGTCTGCGAGGTGGGGTTATGAAATCCATGGATAAGTTAACAACGGGTGTCGCC
+TATGGTACCTCAGCAGGTAGTGCCGGGTACTGGTTTTTACAGTTGCTCGATAAAGTCACGCCCTCACAGT
+GGGCGGCAATAGGTGTGCTGGGTAGCCTGGTATTTGGCCTGCTGACGTACCTGACAAACCTTTATTTCAA
+GATTAAAGAAGATAAGCGCAAGGCTGCGAGAGGTGAATAATGCCTCCATCATTACGAAAAGCCGTTGCTG
+CTGCTATTGGTGGCGGAGCAATTGCTATAGCATCAGTGTTAATCACTGGCCCAAGTGGTAACGATGGTCT
+GGAAGGTGTCAGCTACATACCATACAAAGATATTGTTGGTGTATGGACTGTATGTCACGGGCATACAGGA
+AAAGACATCATGCTCGGTAAAACGTATACCAAAGCAGAATGCAAAGCACTCCTGAATAAAGACCTTGCCA
+CTGTCGCCAGACAAATTAACCCGTACATCACAGTCGATATACCGGAAACAACGCGCGGCGCTCTTTACTC
+ATTCGTTTACAACGTGGGTGCTGGTAATTTCAGAACATCGACGCTTCTTCGCAAAATAAACCAGGGCGAT
+ATCAAAGGCTCATGTGATCAGCTACGTCGCTGGACATATGCTGGCGGTAAGCAATGGAAAGGTCTCATGA
+CTCGTCGTGAGATTGAGCGTGAAATCTGTTTGTGGGGTCAGCAATGAACAGAGTAACCGCGATTATCTCC
+GCTCTGGTTATCTGCATCATCGTCTGCCTGTCATGGGCTGTTAATCATTACCGTAATAACGCCATTACCT
+ACAAAGCCCAGCGCGACAAAAATGCCAGAGAACTGAAGCTGGCGAACGCGGCAATTACTGACATGCAGAT
+GCGTCAGCGTGATGTTGCTGCGCTCGATGCAAAATACACGAAGGAGTTAGCTGATGCGAAAGCTGAAAAT
+GATGCTCTGCGTGATGATGTTGCCGCTGGTCGTCGTCGGTTGCACATCAAAGCAGTCTGTCAGTCAGTGC
+GTGAAGCCACCACCGCCTCCGGCGTGGATAATGCAGCCTCCCCCCGACTGGCAGACACCGCTGAACGGGA
+TTATTTCACCCTCAGAGAGAGGCTGATCACTATGCAAAAACAACTGGAAGGAACCCAGAAGTATATTAAT
+GAGCAGTGCAGATAGAGCTGCCCATATCGATGGGCAACTCATGCAATTATTGTGAGCAATACACACGCGC
+TTCCAGCGGAGTATAAATGCCTAAAGTAATAAAACCGAGCAATCCATTTACGAATGTTTGCTGGGTTTCT
+GTTTTAACAACATTTTCTGCACCACCACAAATTTTTGCTGCATCGACAGTTTTCTTCTGCCCAATTCCCG
+AAACGAAGAAATGATGGGTGATGGTTTCCTTTGGTGTTACTGCTGTAGGTTTGTTTCCAACAGTAAACGT
+CTGTTGAGCACATCCTGTAATAAGCATTGCCAGAGCGGCAGAAAACAACATTTTTTTCATCTTATTATCC
+TGCATTGTTAAAAACGGCAGAATCCTATGTGACAACAATTAAACGATAGTTAAATGGATTGATGAAAATT
+AAAACTACACAGGTGGGCTCAGACTATTGGAGGAAGTTGGGGACACTCAGAATCCTGTGGAATGAAATAA
+ACCGGTCTATCCGTCCATTACCCTTTTAGCTGCGCTGTATCGTCGCCGTATTCCCGCATTAACCATGACC
+GTAGCCCGACGGGGAATTCCTTCTGCGTGAGTGTGCGGGAATAATTAAAAACGATGCACACCGGGTTTTT
+ACCGCGTTAATGATTCGCGGGTTTATCCCGGTGCGATGGTGGAAGAAACAGGAAGCTGTATTACAGAAAG
+TGCTACTACTGTATCCCGATGCGATGTATGTAATGTGAGTCAGATAATGGCACAGGATGTGGTGATGTGG
+CAGTCTGGAACACAGGATATATTGTCAGAATAAGACCCGTAGGAATAAAAATGAAAAGACGCCTTTTACT
+ACTTTTTCTGTTATCTGTCCTGGCAGTGGGATGCTCGCAGCAAAAAGCTGATGAGCCCCGGCAATTAGTG
+ACGGTGTATCCACGATATCCGGAATATGCTGCAGCAAATTATATCAAGGGGCTGGTTGAGGTTAAGTTCG
+ATATTGGTGCTGATGGGACTGTGACACGGATCGTTTTTCTCCGCTCAGAGCCTCATAATTTGTTTCGTGA
+TGAAGTGGTGAAGGCCATGGCGAAATGGCGATTTGAAAAGAATCGCCCCTGTCAGGGAGTGAAGAGACAA
+TTTATCTTTACGCCGTCACGTCCTTGATGCTTCCAGATAGAGAGGGGCTGGAAGCAGGAGAAAAATGAAA
+GAGCCAGCGGTTATATTTTTGTCATGGCTGACGAGGAATGATGGAAGAAGGCGTTGTATGCCACACAACG
+CCTCACTGTTCATTTCTTCTTTTTCTCTGGTGGAACCCGATGAATAAGAGTTGCACTGGTTTCCGATGAG
+ATGGCGATATACTCGGGCAAAGTATGCTGGCAGTTTTCCAACTGGTCAAAAATACCTGCTCTCGTCTGTT
+GCAATGCCTGCAGCATGCGGCGGCAATGTGCCTTGCTTTTACTAACCATCTTTCCTTCCTCTATCAGTCG
+CTGCGTGAACTCATCATGGAATACCAGGTAAATGCGGATGTTATCGGTTTTGGCTACGCAGCATAGTACA
+AAACGGGCAGGTGCATCCCGGGACGGGGGAGGCGTCACATGTCCCTGTGATGGTTGTTCCGGGTAATGTA
+CTGTGTGGGGCATAAAAATGTCCGATAATTTTACTTTCTACCGCAGTTAGTTGATTCGTTGGTCCTGGTA
+GCACATTGGGCGAGGATTTAAATGCCAGGCAACTGAAGGATGATGTCGCAAGGGAGATAGCGAGAATATT
+TCTGATTTTCATTTGATGATGCCTCTGTGTGAAATGACGGTAAACGACGCACTTGTGCCGGCACATAATA
+GCAAGCACCATAATAGATCAGATTCGATTCTTGCTGTAAGTGATAATTATTCTCGTTTTCGGGTCCTTTC
+CGTCGATCCAACAGGTTACGGGGCGGCGACCTCGCGGGTTTTCGCTATTTATGAAATTTTTCCGGGGAAA
+ATCATGTCGGTACTTCTCGAACATAACTATTTGTTTTTTCTAATATCGAATCCGTAAAAGGTCCGACATG
+AAAACGCCTAAAAAAGTCATTTTCGGGCACTTTCATGTCGGACCCTGTATTTATTGTGAGACTGTTTCAT
+GAAGGTTAATAAAAAGAAACTTGCCGAAATTTTCAACGTGGATCCGCGAACGATTGAACGCTGGCAGTCT
+CAGGGACTCCCTTGCGTCTCCGGAGGTAGTAAGGGCGTTGAATCTGTATTTGATACCGCCATGGCAATTC
+AGTGGTATGCGCAGAGGGAAGCTGATATCGAAAATGAAAAACTCCGTAAAGAGGTTGAGGATTACAGGGC
+TGCCAGCGAGGCAGATCTCCAGCCTGGGACTATTGAGTACGAACGCCATCGACTTACGCGTGCGCAGGCC
+GACGCACAGGAGCTGAAAAATGCCAGAGACTCCGCTGAAGTAGTGGAAACCGCATTCTGTACTTTCGTGC
+TGTCGCGGATCGCAGGTGAAATTGCCAGTATTCTCGACGGGATCCCCCTGTCGGTGCAGCGGCGTTTTCC
+GGAACTGGAAAACCGACATGTTGATTTCCTGAAACGGGATATCATCAAAGCCATGAACAAAGCAGCCGCG
+CTGGATGAACTGATACCGGGGTTGCTGAGTGAATATATCGAACAGTCAGGTTAACAGGCTGCGGCATTTT
+GTCCGCGCCGGGCTTCGCTCACTGTTCAGGCCGGAGCCACAAACCGCCGTTGAATGGGCGGATGCTAATT
+ACTATCTCCCGAAAGAATCCGCATACCAGGAAGGGCGCTGGGAAACACTGCCCTTTCAGCGGGCCATCAT
+GAATGCGATGGGCAGCGACTACATCCGTGAGGTGAATGTGGTGAAGTCTGCCCGTGTCGGTTATTCCAAA
+ATGCTGCTGGGTGTTTATGCCTACTTTATAGAGCACAAGCAGCGCAACACCCTTATCTGGTTGCCGACGG
+ATGGTGATGCCGAGAACTTTATGAAAACCCACGTTGAGCCGACTATTCGTGATATTCCGTCGCTGCTGGC
+GCTGGCCCCGTGGTATGGCAAAAAGCACCGGGATAACACGCTCACCATGAAGCGTTTCACCAATGGGCGT
+GGCTTCTGGTGCCTGGGCGGTAAAGCGGCAAAAAACTACCGTGAAAAGTCAGTGGATGTGGCGGGTTATG
+ATGAACTTGCTGCCTTTGATGAGGATATTGAACAGGAAGGCTCTCCGACGTTCCTGGGCGATAAGCGTAT
+TGAAGGCTCGGTCTGGCCAAAGTCCATCCGTGGCTCCACGCCCAAAGTGAGAGGCACCTGCCAGATTGAG
+CGTGCAGCCAGTGAATCCCCGCATTTTATGCGTTTTCATGTTGCCTGCCCGCACTGTGGGGAGGAGCAGT
+ACCTTAAATTTGGCGATAAAGAGACGCCGTTTGGCCTCAAATGGACGCCGGATGATCCCTCCAGCGTGTT
+TTATCTCTGCGAGCATAATGCCTGCGTCATCCGTCAGCAGGAGCTGGACTTTACTGATGCCCGTTATATC
+TGCGAAAAGACCGGGATCTGGACCCGTGATGGCATTCTCTGGTTTTCGTCATCCGGTGAAGAGATTGAGC
+CACCGGACAGTGTGACCTTTCACATCTGGACGGCGTACAGCCCGTTCACCACCTGGGTTCAGATTGTCAA
+AGACTGGATGAAGACGAAAGGGGATACGGGAAAACGTAAAACCTTCGTAAACACCACGCTCGGTGAGACG
+TGGGAGGCGAAAATTGGCGAACGTCCGGATGCTGAAGTGATGGCAGAGCGGAAAGAGCATTATTCAGCGC
+CCGTTCCTGACCGTGTGGCTTACCTGACCGCCGGTATCGACTCCCAGCTGGACCGCTACGAAATGCGCGT
+ATGGGGATGGGGGCCGGGTGAGGAAAGCTGGCTGATTGACCGGCAGATTATTATGGGCCGCCACGACGAT
+GAACAGACGCTGCTGCGTGTGGATGAGGCCATCAATAAAACCTATACCCGCCGGAATGGTGCAGAAATGT
+CGGTATCCCGTATCTGCTGGGATACTGGCGGGATTGACCCGACCATTGTGTATGAACGCTCGAAAAAACA
+TGGGTTGTTCCGGGTGATCCCCATTAAAGGGGCATCCGTCTACGGAAAGCCGGTGGCCATCATGCCACGT
+AAGCGAAACAAAAACGGGGTTTACCTTACCGAAATTGGTACGGATACCGCGAAAGAGCAGATTTATAACC
+GCTTCACACTGACGCCGGAAGGGGATGAACCGCTTCCCGGTGCCGTTCACTTCCCGAATAACCCGGATAT
+TTTTGATCTGACCGAAGCGCAGCAGCTGACTGCTGAAGAGCAGGTCGAAAAATGGGTGGATGGCAGGAAA
+AAAATACTGTGGGACAGCAAAAAGCGGCGCAATGAGGCACTCGACTGCTTCGTTTATGCGCTGGCGGCGC
+TGCGCATCAGTATTTCCCGCTGGCAGCTGGATCTCAGTGCGCTGCTGGCGAGCCTGCAGGAAGAGGATGG
+TGCAGCAACCAACAAGAAAACACTGGCAGATTACGCCCGTGCCTTATCCGGAGAGGATGAATGACGCGAC
+AGGAAGAACTTGCCGCTGCCCGTGCGGCACTGCATGACCTGATGACAGGTAAACGGGTGGCAACAGTACA
+GAAAGACGGACGAAGGGTGGAGTTTACGGCCACTTCCGTGTCTGACCTGAAAAAATATATTGCAGAGCTG
+GAAGTGCAGACCGGCATGACACAGCGACGCAGGGGACCTGCAGGATTTTATGTATGAAAACGCCCACCAT
+TCCCACCCTTCTGGGGCCGGACGGCATGACATCGCTGCGTGAATATGCCGGTTATCACGGCGGTGGCAGC
+GGATTTGGTGGGCAGTTGCGGGCGTGGAACCCACCGAGTGAAAGTGTGGATGCAGCCCTGCTGCCCAACT
+TTACCCGTGGCAATGCCCGCGCAGACGATCTGGTACGCAATAACGGCTATGCCGCCAACGCCATCCAGCT
+GCATCAGGATCATATCGTCGGGTCTTTTTTCCGTCTCAGTCATCGCCCAAGCTGGCGTTATCTGGGCATC
+GGGGAGGAAGAAGCCCGTGCCTTTTCCCGCGAGGTTGAAGCGGCATGGAAAGAGTTTGCCGAGGATGACT
+GCTGCTGCATTGACGTTGAGCGAAAACGCACGTTTACCATGATGATTCGGGAAGGTGTGGCCATGCACGC
+CTTTAACGGTGAACTGTTCGTTCAGGCCACCTGGGATACCAGTTTATCGCGGCTTTTCCGGACACAGTTC
+CGGATGGTCAGCCCGAAGCGCATCAGCAATCCGAACAATACCGGTGACAGCCGGAACTGTCGTGCCGGTG
+TGCAGATTAATGACAGCGGTGCGGCGCTGGGATATTACGTCAGCGAGGACGGGTATCCTGGCTGGATGCC
+GCAGAAATGGACATGGATGCCCCGTGAGTTACCCGGCGGGCGCGCCTCGTTCATTCACGTTTTTGAACCC
+GTGGAGGACGGGCAGACTCGCGGTGCAAATGTGTTTTACAGCGTGATGGAGCAGATGAAGATGCTCGACA
+CGCTGCAGAACACGCAGCTGCAGAGCGCCATTGTGAAGGCGATGTATGCCGCCACCATTGAGAGTGAGCT
+GGATACGCAGTCAGCGATGGATTTTATTCTGGGTGCGAACAGTCAGGAGCAGCGGGAAAGGCTGACGGGC
+TGGATTGGTGAAATTGCCGCGTATTACGCCGCAGCACCGGTCCGGCTGGGAGGCGCAAAAGTGCCGCACC
+TGATGCCGGGGGACTCACTGAACCTGCAGACGGCTCAGGACACGGATAACGGCTACTCCGTGTTTGAGCA
+GTCACTGTTGCGGTATATCGCTGCCGGGCTGGGTGTCTCGTATGAGCAGCTTTCCCGGAATTACGCCCAG
+ATGAGCTACTCCACGGCACGGGCCAGTGCGAACGAGTCGTGGGCGTACTTTATGGGGCGGCGAAAATTCG
+TCGCATCCCGTCAGGCGAGCCAGATGTTTCTGTGCTGGCTGGAAGAGGCCATCGTTCGCCGCGTGGTGAC
+GTTACCTTCAAAAGCGCGTTTCAGCTTTCAGGAAGCCCGCAGCGCCTGGGGGAACTGTGACTGGATAGGC
+TCCGGTCGTATGGCCATCGATGGTCTGAAAGAAGTACAGGAAGCGGTGATGCTGATAGAAGCCGGACTGA
+GTACCTACGAGAAAGAGTGCGCAAAACGCGGTGACGACTATCAGGAAATTTTTGCCCAGCAGGTCCGTGA
+AACGATGGAGCGCCGTGCAGCCGGTCTTAAACCGCCCGCCTGGGCGGCTGCGGCATTTGAATCCGGACTG
+CGACAATCAACAGAGGAGGAGAAGAGTGACAGCAGAGCTGCGTAATCTCCCGCATATTGCCAGCATGGCT
+TTTAATGAGCCGCTGATGCTTGAACCCGCCTATGCGCGGGTTTTCTTTTGTGCGCTTGCAGGCCAGCTTG
+GGATCAGCCGCCTGACGGATGCAGTATCCGGCGACAGCCTGACTGCCGGAGAGGCACCCGCGGCGCTGGC
+GTTATCCGTTAATGATGACGGACCACGACAGGCCCGCAGTTATCAGGTCATGAACGGCATCGCCGTGCTG
+CCGGTGTCCGGCACGCTGGTCAGCCGGACGCGGGCGCTGCAGCCGTATTCGGGAATGACCGGTTACAACG
+GCATTATCGCCCGTCTGCAACAGGCTGCCAGCGATCCGATGGTGGACGGCATTCTGCTCGATATGGACAC
+GCCCGGCGGGATGGTGGCGGGGGCATTTGACTGCGCTGACATCATCGCCCGTGTGCGTGACATAAAACCG
+GTATGGGCGCTGGCCAACGACATGAACTGCAGTGCAGGTCAGCTGCTTGCCAGCGCCGCTTCCCGGCGTC
+TGGTCACGCAGACCGCCCGGACAGGCTCCATCGGCGTCATGATGGCTCACAGTAATTACGGTGCTGCGCT
+GGAGAAACAGGGCGTGGAAATCACGCTGATTTACAGCGGCAGCCATAAGGTGGATGGCAACCCCTACAGC
+CATCTTCCGGATGACGTCCGGGAGACACTGCAGTCCCGGATGGATGCAACCCGTCGGATATTTGCGCAGA
+AGGTGTCGGCATATACCGGCCTGTCCGTGCAGGCTGTGCTGGATACCGAGGCTGCAGTGTACAGCGGTCA
+GGAGGCCATTGATGCCGGACTGGCTGATGAACTTGTTAACAGCACCGATGCGATCACCGTCATGCGTGAT
+GCACTGGATGCACGTAAATCCCGTCTCTCAGGAGGGCGAATGACCAAAGAGACTCAATCAACAACTGTTT
+CAGCCACTGCTTCGCAGGCTGACGTTACTGACGTGGTGCCAGCGACGGAGGGCGAAAACGCCAGCGCGGC
+GCAGCCGGACGTGAACGCGCAGATCACCGCAGCGGTTGCGGCAGAAAACAGCCGCATTATGGGGATCCTC
+AACTGTGAGGAGGCTCACGGACGCGAAGAACAGGCACGCGTGCTGGCTGAAACCCCCGGTATGACCGTGG
+AAACGGCCCGCCGCATTCTGGCCGCAGCACCACAGAGTGCACAGGCGCGCAGTGACACTGCGCTGGATCG
+TCTGATGCAGGGTGCCCCGGCACCGCTGGCTGCAGGTAACCCGGCATCTGATGCCGTTAACGATTTGCTG
+AACACACCAGTGTAAGGGATGTTTATGACGAGCAAAGAAACCTTTACCCATTACCAGCCGCTGGGCAACA
+GTGACCCGGCTCATACCGCAACCGCGCCCGGCGGATTGAGTGCGAAAGCGCCTGCAATGACCCCGCTGAT
+GCTGGACACCGCCACCCGTAAGCTGGTTGCGTGGGATGGCACCACCGACGGTGCTGCCGTTGGCATTCTG
+GCGGTTGCAGCTGACCAGACCAGCACCACGCTGACGTTCTACAAGTCCGGCACGTTCCGTTATGAGGATG
+TGCTCTGGCCGAAGGCTGCCAGCGACGAGACGAAAAAACGGACCGCGTTTGCCGGAACGGCAATCAGCAT
+CGTTTAACCTTACCCTTCATCACTAAAGGCCGCCTGTGCGGCTTTTTTTACGGGATTTTTTTATGTCGAT
+GTACACAACCGCCCAGCTGCTGGCGGCAAATGAGAAGAAATTTAAGTTTGATCCGCTGTTTCTGCGTCTC
+TTTTTCCGTGAGAGCTATCCCTTCACCACGGAGAAAGTCTATCTCTCACAAATTCCGGGACTGGTAAACA
+TGGCGCTGTACGTTTCGCCGATTGTTTCCGGTGAGGTTATCCGCTCCCGTGGCGGCTCCACCTCTGAATT
+TACACCGGGATATGTCAAGCCGAAGCATGAGGTGAATCCGCAGATGACCCTGCGTCGCCTGCCGGATGAA
+GATCCACAGAATGTGGCGGACCCGGCTTACCGCCGCCGTCGCATTATCCTGCAGAACATGCGAGACGAAG
+AGCTGGCCATTGCTCAGGTCGAAGAGATGCAGGCCGTTTCTGCCGTGCTCAAGGGCAAATACACCATGAC
+CGGTGAAGCCTTCGATCCGGTTGAGGTGGATATGGGCCGCAGTGCGGCGAATAACATCACACAGTCCGGC
+GGCACGGAGTGGAGCAAGCGTGACAAGTCCACGTATGACCCGACCGACGATATCGAAGCCTACGCGCTGA
+ACGCCAGCGGTGTGGTGAACATCATCGTGTTTGATCCGAAAGGCTGGGCGCTGTTCCGTTCCTTCAAAGC
+CGTCAGGGAGAAGCTGGATACCCGTCGCGGCTCTAATTCCGAACTGGAGACAGCGGTAAAAGACCTGGGC
+GAAGCGGTGTCCTATAAGGGGATGTATGGTGATACGGCGATCGTCGTGTATTCCGGACAGTACGTGGAAA
+ACGACGTCAAAAAGAACTTCCTTCCGGACAACACGATGGTGCTGGGGAACACTCAGGCACGCGGTCTGCG
+CACCTATGGCTGCATTCAGGATGCGGACGCACAGCGCGAAGGTATTAACGCCTCTGCCCGCTACCCGAAA
+AACTGGGTGACCACCGGCGATCCGGCGCGTGAGTTCACCATGATTCAGTCAGCACCGCTGATGCTGCTGG
+CTGACCCTGATGCGTTCGTGTCCGTACAACTGGCGTAATCATGGCCCTTCGGGGCCATTTTCTCTCTGTG
+GAGGAGTCCATGACGAAAGATGAACTGATTGCCCGTCTTCAGGTGCTGGGTGAGCAACTGAACCGTGATG
+TCAGCCTGACGGGGACGAAAGAAGAACTGGCACTCCGTGTGGCAGAGCTGGAAGAGGAGCTTGATGACAC
+GGATGACGCTGCCGGTCAGGACACATCTGTCAGCCCGGAAAATGCGCTGACCGGACATGAAAATGAGGTT
+GTATCAGCGCAGCCGGATACCGTGACTGATACGGCTGAACTGGTCACGGTTGTGGCACTGGTGACGCTGC
+ATACTGATGCACTTCACGCCACGCGGGATGAGGCTGTGGCATTTGTGCTGCCGGGAACGGCGTTCCGTGT
+CTCTGTCGGTGTGGCAGCTGAAATGACAGAGCGCGGCCTGGCCAGAATGCAATAACGGGAGGCGCTGTGG
+CTGATTTCGATAACCTGTTCGATGCTGCCATTGCCTGCGCCGATGAAACGATACGCGGGTACATGGGAAC
+GTCAGCCACCATGACATCTGGTGAGCAGTCCGGTGCTGTGATACGTGGTGTTTTTGATGACCCTGAAAAT
+ATCAGCTATGCCGGACAGGGCGTGCGCGTTGAAGGCTCCAGCCCGTCCCTGTTTGTCCGGACTGATGATG
+TGCGGCAGCTGCGGCGCGGCGACACGCTGACCATCGGTGAGGAAAACTTCTGGATAGACCGGATTTCGCC
+GGATGATGGCGGAAGCTGTCATCTCTGGCTTGGGCGGGGCGTACCGCCTGCCGTTAACCGTCGCCGCTGA
+AAGGGGGATGTATGGCCATAAAAGGTCTTGAGCAGGCCGTTGAAAACCTCAGCCGTATCAGCAGAACGGC
+GGTGCCCGGTGCCGCCGCAATGGCCATTAACCGCGTTGCTTCATCCGCGATATCGCAGTCGGCGTCACAG
+GTTGCCCGTGAGACAAAGGTACGCCGGAAACTGGTAAAGGAAAGGGCCAGGCTGAAAAGGGCCACGGTCA
+AAAATCCGCAGGCCAGAATCAAGGTTAACCGGGGGGATTTGCCCGTAATAAAGCTGGGTAACGCGCGGAT
+TGTCCTGTCCCGACGCAGGCGTCGTAAAAAGGGGCAGCGTTCAGCCCTGAAAGGTGGCGGCAGCGTGCTT
+GTGGTGGGAAACCGTCGTATTCCCGGCGCGTTTATTCAGCAACTGAAAAATGGCCGGTGGCATGTCATGC
+AGCGTGTGGCCGGGAAAAACCGTTACCCCATTGATGTGGTGAAAATCCCGATGGCAGTGCCGCTGACCAC
+GGCGTTTAAACAGAATATTGAGCGGATACGGCGTGAACGTCTTCCGAAAGAGCTGGGCTATGCGCTGCAG
+CATCAACTGAGGATGGTAATAAAGCGATGAAACATACAGAACTCCGTGCAGCCGTACTGGATGCACTGGA
+AAAACATGACACCGGGGCGACGCTTTTTGATGGTCGCCCCGCTGTTTTTGATGAGGCGGATTTTCCGGCA
+GTTGCCGTTTATCTCACCGGCGCTGAATACACGGGCGAAGAGCTGGACAGCGATACCTGGCAGGCTGAGC
+TGCATATCGAAGTTTTCCTGCCTGCTCAGGTGCCGGATTCAGAGCTGGATTCGTGGATGGAGTTCCGGAT
+TTATCCGGTGATGAGCGATATCCCGGCACTGTCAGATTTGATCACCAGTATGGTGGCCAGTGGCTATGAC
+TACCGGCGCGACGATGATGCGGGCCTGTGGAGTTCAGCCGATCTGACGTATGTCATTACCTATGAAATGT
+GAGGACGATATGCCTGTACCAAATCCTGTAATGCCGGTGAAAGGTGCCGGGACCACCCTGTGGGTTTATA
+ACGGGAGCGGCGACCCTTATGCGAACCCGCTTTCAGATGTTGACTGGTCGCGTCTGGCTAAAGTTAAAGA
+CCTGACGCCCGGCGAACTGACCGCTGAGTCCTATGACGACAGTTATCTCGATGATGAAGATGCGGACTGG
+ACCGCGACCGGGCAGGGGCAGAAATCCGCCGGAGATACCAGCTTCACGCTGGCGTGGATGCCCGGAGAGC
+AGGGGCAGCAGGCGCTGCTGGCGTGGTTTAATGAAGGGGATACCCGTGCCTATAAAATCCGCTTCCCGAA
+CGGCACGGTCGATGTGTTCCGTGGCTGGGTCAGCAGTATCGGTAAGGCGGTGACGGCGAAGGAAGTGATC
+ACCCGTACGGTGAAGGTCACCAATGTGGGCCGTCCGTCAATGGCAGAAGATCGCAGTACGGTGACGGCGG
+CAACCGGTATGACTGTGACGCCTGCCAGCTCCTCGGTGGTGAAAGGGCAGAGCACCACGCTGACCGTGGC
+ATTCCAGCCGGAGGGCGCAACTGACAAGAGCTTCCGTGCGGTGTCAGCGGATAAAACAAAAGCCATCGTG
+TCGGTCAGTGGTATGACCATCACCGTGAAAGGCGTTGCTGCAGGTAAGGTCAACATTCCGGTTGTATCCG
+GTAATGGTGAACTTGCTGCGGTTGCAGAAATCACTGTCACCGACAGTTAATCCGGAGAGTCAGCGATGTT
+CCTGAAAACCGAATCATTTGAACATAACGGCGTGACCGTCACGCTTTCTGAACTGTCAGCCCTGCAGCGT
+ATTGAGCATCTCGCCCTGATGAAACGGCAGGCAGAACAGGCGGAGTCAGACAGCAACCGGAAGTTTACTG
+TGGAAGACGCCATCAGAACCGGTGCTTTTGTGGTGGCTATGTCCCTGTGGCATAACCATCCGCAGAAGAC
+AAAGCAGCCTTCCATGAATGAAGCCGTTAAACAGATTGAGCAGGAAGTGCTTACCACCTGGCCCACAGAG
+GCAATTTCTCATGCTGAAAACGTGGTGTACCGGCTGTCCGGTATGTATGAGTTTGTGATGAATGATGCCC
+CTGAACAGGCAGAGGACGTCGGGCCTGCAGAGCCTGTTTCTGCGGGAAAGTGTTCGACGGTGAGCTGAGT
+TTTGCCCTGAAACTGGCGCGTGAGATGGGGCGACCCGACTGGCGCGCCATGCTTGCCGGGATGTCATCCA
+CGGAGTATGCCGACTGGCACCGCTTTTACAGTACCCATTATTTTCATGATGTTCTGCTGGATATGCACTT
+TTCCGGGCTGACGTACACCGTGCTCAGCCTGTTTTTCAGCGATCCGGAGATGCATCCGCTGGATTTCAGT
+TTGCTGAACCGGCGTGAGGCTGACGAAGAGCCTGAAGATGATGTGCTGATGCAGAAAGCGGCAGGGCTTG
+CCGGAGGCGTCCGCTTTGGCCCGGATGTGAATGAAGTTATCCCCGTTTCCCCGGATGTGGCGGACATGAC
+GGAGGATGACGTAATGCTGATGACAGTATCAGAAGGGATCGCAGGAGGAGTCCGGTATGGCTGAACCGGT
+AGGCGATCTGGTCGTTGATTTAAGTCTGGATGCGGCCAGATTTGACGAGCAGATGGCCAGAGTCAGGCGT
+CATTTTTCCGGTACGGAAAGTGATGCGAAAAAAACAGCGGCAGTCGTTGAACAGTCGCTGAGCCGACAGG
+CACTGGCTGCACAGAAAGCGGGGATTTCCGTCGGGCAGTATAAAGCTGCCATGCGTATGCTGCCTGCGCA
+GTTCACCGACGTGGCCACGCAGCTTGCAGGCGGGCAAAGTCCGTGGCTGATCCTGCTGCAACAGGGTGGT
+CAGGTGAAGGACTCCTTCGGCGGGATGATCCCCATGTTCAGGGGGCTTGCCGGTGCGATCACCCTGCCGA
+TGGTCGGGGCCACCTCGCTGGCGGTGGCGACCGGTGCGCTGGCGTATGCCTGGTATCAGGGGGACTCAAC
+CCTGTCCAGTTTCAATAAAACGCTGGTCCTTTCCGGTAATCAGGCAGGACTGACGGCAGATCGTATGCTG
+GTCCTGTCCAGAGCCGGGCAGGCGGCAGGGCTGACGTTTAACCAGACCAGCGAGTCACTGACGGCGCTGG
+TGAATGCAGGTGTGCGTGGTGGTGAGCAGTTTGAGGCGATCAGCCAGAGTGTGGCGCGTTTCTCCTCTGC
+ATCCGGCGTGGAGGTGGACAAGGTCGCTGAAGCCTTCGGGAAGCTGACCACAGACCCGACGTCGGGACTG
+ACAGCGATGGCACGTCAGTTCCATAACGTGACGGCGGAGCAGATTGCGTATGTTGCTCAGTTGCAGCGTT
+CCGGAGATGAAGCCGGGGCATTGCAGGCGGCGAACGAGGCCGCAACGAAAGGGTTTGATGACCAGACCCG
+CCGACTGAAAGAGAACATGGGCACGCTGGAGACCTGGGCAGACAGGACAGCGCGGGCATTCAAATCCATG
+TGGGATTCGGTGCTGGATATTGGTCGCCCGGACACTGCCCGGGAAATGCTGGAGAAAGCAGAAAAGGCTT
+TTGATGAGGCGGACAAAAAATGGCAGTGGTATCAGAGCCGGAGCCACCGGCGCGGTAAAACATCCGCATT
+TCTTGCTAATCTCCGGGGAGCATGGGAGGACAGAGCGAATGCGCAACTTGGGCTTTCAGCCGCCACGTTG
+CAGGCCGATCTTGAAAAGGCCAGAGAGATGGCAGCAAAGGACTGGGCCGAGTCTGAGGCATCACGGCTGA
+AATATACCGAAGAGGCGCAGAAGGCTTATGAACGCCTGCAGACGCCGCTGGAGAAATATACCGCCCGTCA
+GGAAGAACTGAATAAGGCCCTGAAAGACGGAAAAATCCTGCAGACAGATTACAACACGCTGATGGCGGCG
+GCGAAAAAGGACTATGAAGCGACACTGAAAAAGCCGAAGCAGTCCGGCGTGAAGGTGTCTGCAGGAGAGC
+GTCAGGAAGACAGTGCTCATGCCGCCCTGCTGACGCTTCAGGCAGAACTCCGGACGCTGGAGAAGCATGC
+CGGAGCGAATGAGAAAATCAGCCAGCAGCGCCGGGATTTGTGGAAGGCGGAGAGTCAGTTCGCGGTACTG
+AAGGAAGCGGCGCAACGTCGCCAGCTGTCTGCACAGGAGAAATCCCTGCTGGCGCATAAAGATGAGACGC
+TGGAGTACAAACGCCAGCTGGCTGCACTTGGCGACAAGGTCACCTATCAGGAGCACCTGAACGCGCTGGC
+ACAGCAGGCGGATAAATTCGCACAGCAGCAACGGGCAAAACGGGCCGCCATTGATGCAAAAAACCGGGGG
+CTGACTGACCGGCAGGCAGCGCGGGAAGCCACGGAACAGCGCCTGAAGGAACAGTATGGCGATAATTCTC
+TGGCGCTGAATAACGTCATGTCAGAGCAGAAAAAGACCTGGGCGGCTGAAGACCAGCTTCGCGGGAGCTG
+GATGGCAGGCCTGAAGTCCGGCTGGAGTGAGTGGGAAGAGAGCACCACGGACAGTATGTCGCAGGTAAAA
+AGTGCTGCCACGCAGACCTTTGATGGCATTGCACAGAATATGGCGGCGATGCTGACCGGCAGTGAGCAGA
+ACTGGCGCAGCTTCACCCGTTCCGTGCTGTCCATGATGACAGAAATTCTGCTTAAGCAGGCAATGGTGGG
+GATTGTCGGAAGTATCGGCAGCGCCATTGGCGGCGGCGCATCAGCGTCAGGCGTTACAGCCATTCAGGCA
+GCTGCGGCGAAATTCCATTTTGCGACCGGAGGATTTACGGGAACCGGCGGCAAATATGAGCCAGCGGGGA
+TTGTTCACCGTGGTGAATTTGTCTTCACGAAGGAGGCAACCAGCCGGATTGGCGTAGGAAATCTTTACCG
+GCTGATGCGCGGCTATGCCACCGGTGGTTATGTCGGTGGCACCGGAAGTCCGGCGCAAATGCGGCGTTCA
+GAGGGTATCAGATTTGAGCAGAACAACAACGTGGTGATTCAGAACGACGGTACGAATGGTCTGCCAGGTC
+CACAGATGCTGAAGGCAGTGTATGACATGGCCCGCAAGGGTGCCCGTGATGAAATTCAGGCACAGATGCG
+CGATGGTGGTCTGTTCTCCGGAGGTGGACGATGAAGACCTTCCGCTGGAAAGTGAAACCCGGTATGGATG
+TGGCTTCGGCCCCTTCCGTCAGGAAAGTGCGCTTTGGTGATGGCTATTCCCAGCGAGCGCCTGCCGGGCT
+GAATGCCGACCTGAAAACGTACAGCGTGACGCTTTCTGTTCCCCGTTGGGAGGCCACGGCGCTGGAGTCG
+TTTCTGGCTGAGCACGGGGGCTGGAAAGCCTTTCTGTGGACGCCGCCTTATGAGTGGCGGCAGATAAAGG
+TGACCTGCGCAAAATGGTCGTCGCGGGTCAGTATGCTGCGTGTTGAGTTCAGCGCAGAGTTTGAACAGGT
+GGTGATCTGATGCAGGATATCCGGCAGGAAACACTGAATGAATGCACCCGTGCGGAGCAGTCGGCCAGCG
+TGGTGCTCTGGGAAATCGATCTGACAGAGGTCGGTGGAGAACGTTATTTTTTCTGTAATGAGCAGAACGA
+AAAAGGTGAGCCGGTCACCTGGCAGGGGCGACAGTATCAGCCGTATCCCATTCAGGGGAGTGGTTTTGAA
+CTGAATGGCAAAGGCACCAGTACGCGCCCCACGCTGACGGTTTCTAACCTGTACGGTATGGTCACCGGGA
+TGGCGGAAGATCTGCAGAGTCTGGTCGGCGGAACGGTGGTCAGGCGTAAGGTTTACGCCCGTTTTCTGGA
+TGCGGTGAACTTCGTCAACGGAAACAGTGACGCCGATCCGGAGCAGGAGGTGATCAGCCGCTGGCGCATT
+GAGCAGTGCAGCGAACTGAGCGCGGTGAGTGCCTCTTTTGTACTGTCCACGCCGACGGAAACGGATGGTG
+CTGTTTTTCCGGGGCGCATCATGCTGGCCAACACCTGCACCTGGACCTATCGCGGTGATGAGTGCGGTTA
+TAGCGGTCCGGCGGTCGCGGATGAATATGACCAGCCGACGTCCGATATCACGAAGGATAAATGCAGCAAA
+TGCCTGAGTGGCTGTAAGTTTCGCAATAACGTCGGCAACTTTGGCGGCTTCCTTTCCATTAACAAACTTT
+CGCAGTAAATCCCATGACACAGACAGAATCAGCGATTCTGGCGCACGCCCGGCGATGTGCGCCAGCGGAG
+TCGTGCGGCTTCGTGGTAAGCACGCCGGAGGGGGAAAGATATTTCCCCTGCGTGAATATCTCCGGTGAGC
+CGGAGGCGTATTTCCGTATGTCGCCGGAAGACTGGCTGCAGGCAGAAATGCAGGGTGAGATTGTGGCGCT
+GGTCCACAGTCACCCCGGTGGTCTGCCCTGGCTGAGTGAGGCCGACCGGCGGCTGCAGGTGCAGAGTGAT
+TTGCCGTGGTGGCTGGTCTGCCGGGGGGCGATTCATAAGTTCCGCTGTGTGCCGCATCTCACCGGGCGGC
+GCTTTGAGCACGGGGTGACGGACTGTTACACGCTGTTCCGGGATGCTTATCATCTGGCGGGGATTGAGAT
+GCCGGATTTTCATCGCGAGGATGACTGGTGGCGTCACGGTCAGAATCTCTATCTGGATAATCTGGAGGCC
+ACAGGGCTGTATCAGGTGCCGTTGTCATCAGCACAACCGGGCGATGTGCTGCTGTGCTGTTTTGGTTCAT
+CGGTGCCGAATCATGCCGCCATTTACTGTGGTGATGGCGAGCTGCTGCACCATATTCCTGAACAACTGAG
+CAAACGAGAGAGGTATACCGACAAATGGCAGCGACGCACACACTCCCTCTGGCGTCACCGGGCATGGCGC
+GCATCTGCCTTTACGGGGATTTGCAACGATTTGGCCGCCGCATCGACCTTCGTGTGAAAACGGGGGCTGA
+AGCCATCCGCGCACTGGCCACACAGCTCCCGGTGTTTCGTCAGAAACTGAGCGACGGCTGGTATCAGGTA
+CGGATTGCCGGGCGGGACGTCAGCACGTCCGGGTTAACGGCGCAGTTACATGAGACTCTGCCTGATGGCG
+CTGTGATTCATATTGTTCCCAGAGTCGCCGGGGCCAAGTCAGGTGGCGTATTCCAGATTGTCCTGGGGGC
+TGCCGCCATTGCCGGATCATTCTTTACCGCCGGAGCCACCCTTGCAGCATGGGGGGCAGCCATTGGGGCC
+GGTGGTATGACCGGCATCCTGTTTTCTCTCGGTGCCAGTATGGTGCTCGGTGGTGTGGCGCAGATGCTGG
+CACCGAAAGCCAGAACTCCCCGTACACAGACAACGGATAACGGCAAACAGAACACCTATTTCTCCTCACT
+GGATAACATGGTTGCCCAGGGCAATGTTCTGCCCGTTCTGTACGGTGAAATGCGCGTGGGGTCACGCGTG
+GTTTCTCAGGAGATCAGCACGGCAGACGAAGGGGACGGTGGTCAGGTTGTGGTGATTGGTCGCTGATGCA
+AAATGTTTTATGTGAAACCGCCTGCGGGCGGTTTTGTCGTTTACGGAGCGTGAGGAATGGGTAAAGGCAG
+CAGTAAGGGGCATACCCCGCGCGAAGCGAAGGACAACCTGAAGTCCACGCAGTTGCTGAGTGTGATCGAT
+GCCATCAGCGAAGGGCCGGTTGAAGGTCCGGTGGATGGATTAAAAAGCGTGCTGCTGAACAGTACGCCGG
+TGCTGGACACTGAGGGGAATACCAACATATCCGGTGTCACGGTGGTGTTCCGGGCAGGTGAGCAGGAGCA
+GACTCCGCCGGAGGGGTTTGAATCCTCCGGTTCCGAGACGGTGCTCGGTACAGAAGTGAAATATGACACG
+CCGATCACCCGGACCATCACGTCGGCAAACATTGACCGTCTGCGTTTTACTTTCGGCGTGCAGACACTGG
+TGGAAACCACCTCAAAGGGGGACAGGAATCCGTCGGAAGTCCGCCTGCTGGTTCAGATACAGCGTAACGG
+TGGCTGGGTGACGGAAAAAGACATCACCATTAAGGGCAAAACCACCTCGCAGTATCTGGCCTCGGTGGTG
+GTGGGTAACCTGCCGCCGCGCCCGTTTAATATCCGGATGCGCAGGATGACGCCGGACAGCACCACAGACC
+AGCTGCAGAACAAAACGCTCTGGTCGTCATACACCGAAATCATCGATGTGAAACAGTGCTACCCGAACAC
+GGCACTGGTCGGCGTGCAGGTGGACTCGGAACAGTTCGGCAGTCAGCAGGTGAGCCGTAATTATCATCTT
+CGCGGGCGCATTCTGCAGGTGCCGTCGAACTATAACCCGCAGACGCGGCAATACAGCGGTATCTGGGACG
+GAACGTTTAAGCCAGCATACAGCAACAACATGGCCTGGTGTCTGTGGGATATGCTGACCCATCCGCGCTA
+CGGCATGGGGAAACGTCTCGGTGCGGCGGATGTGGACAAATGGGCGCTGTATGTCATCGGCCAGAATTGC
+GACCAGTCGGTGCCGGATGGCTTTGGTGGCACGGAGCCGCGCATCACCTGTAATGCCTGGCTGACCACAC
+AGCGTAAGGCGTGGGATGTGCTCAGTGATTTCTGCTCGGCGATGCGCTGTATGCCGGTATGGAACGGACA
+GACGCTGACATTCGTGCAGGACCGACCATCGGATAAGGTGTGGACCTATAACTGCAGTAATGTGGTGATG
+CCGGATGATGGTGCGCCGTTCCGCTACAGCTTCAGCGCCCTGAAAGACCGGCATAATGCCGTTGAGGTGA
+ACTGGATTGACCCGGATAACGGCTGGGAGACGGCGACAGAGCTTGTGGAGGACACGCAGGCCATTGCCCG
+TTACGGTCGTAACGTCACGAAGATGGATGCCTTTGGCTGTACCAGTCGGGGGCAGGCACACCGCGCCGGG
+CTGTGGCTGATTAAAACGGAGCTGCTGGAAACGCAGACCGTGGACTTCAGCGTGGGCGCAGAAGGGCTTC
+GCCATGTACCGGGCGATGTCATTGAAATCTGCGATGATGACTATGCGGGTATCAGCATCGGCGGGCGCGT
+GCTGGCGGTGAACAGCCAGGCGCGGACACTGACGCTCGACCGTGAAATCATGCTGCCATCCTCCGGCACC
+ACGCTGATAAGCCTGGTTGACGGAAATGGCAATCCGGTCAGCGTGGAGGTCCAGTCCGTCACCGACGGCG
+TGAAGGTGAAAGTTAGCCGTGTTCCTGACGGCGTTGCCGGATACAGCGTGTGGGGGCTGAAGCTGCCGAC
+GCTGCGCCAGCGCCTGTTCCGCTGCGTGAGTATCCGTGAGAACGACGACGGCACGTATGCCATCACCGCC
+GTGCAGCATGTACCGGAAAAAGAAGCCATCGTGGATAACGGGGCGCACTTTGACGGCGACCAGAGCGGCA
+CGGTGAATGGTGTCACGCCGCCAGCAGTGCAGCACCTGACTGCCGAAGTCACCGCAGACAGCGGGGAGTA
+TCAGGTACTGGCCCGCTGGGACACGCCGAAGGTGGTGAAGGGCGTGAGTTTCATGCTTCGCCTGACCGTG
+GCAGCGGATGACGGCAGTGAGCGGCTGGTCAGCACAGCCCGGACGGCGGAAACCACATACCGCTTCACAC
+AACTGGCGCTGGGGAACTACAGGCTGACAGTCCGGGCAGTAAATGCGTGGGGGCAGCAGGGCGATCCGGC
+ATCGGTATCGTTCCGGATTGCCGCACCGGCAGCGCCGTCGCAGATTGAGCTGACACCGGGGTATTTTCAG
+ATAACCGCCACGCCGCATCTTGCGGTTTATGATCCGACGGTACAGTTTGAGTTCTGGTTCTCGGAAAAGC
+GGATTGCGGATATCAGGCAGGTTGAAACCACAGCACGCTATCTTGGCACGGCGCTGTACTGGATAGCCGC
+CAGTATCAATATCAAACCGGGCCATGATTATTATTTTTACATCCGCAGTGTGAACACCGTTGGCAAATCG
+GCATTTGTGGAGGCTGTTGGCCAGCCGAGTGATGATGCATCCGGCTATCTGAATTTTTTCAAAGGAGAGA
+TAGGGAAAACCCATCTGGCTCAGGAGTTGTGGACGCAGATTGATAACGGTCAGCTTGCGCCTGACCTGGC
+TGAAATCAGGACGTCCATTACGGGTGTCAGCAATGAAATCACGCAGACCGTCAATAAGAAACTGGAAGAC
+CAGAGTGCAGCGATCCAGCAGATACAGAAGGTTCAGGTTGATACAAATAATAACCTGAACAGCATGTGGG
+CTGTGAAGCTGCAGCAGATGCAGGACGGACGCCTTTATATCGCGGGTATTGGTGCCGGTATTGAGAATAC
+TCCTGACGGTATGCAGAGTCAGGTGCTGCTGGCGGCGGACAGGATTGCGATGATTAATCCTGCGAATGGC
+AACACAAAGCCGATGTTTGTTGGGCAGGGCGATCAGATATTCATGAACGAAGTGTTCCTGAAATATCTGA
+CGGCTCCCACCATTACCAGCGGTGGCAATCCCCCAACGTTTTCACTGACACCTGATGGTCGACTTTCTGC
+GAAAAATGCGGATATCAGCGGTAACGTGAACGCGAACTCCGGGACGCTCAACAACGTCACGATTAATCAG
+AACTGTCGGATTCTGGGAAAACTGTCAGCTAACCAGATTGAAGGTGATATTGTCAAAACGGTGGGAAAAG
+CCTTTCCGAGAAATGGCAGTTATGCCAGCGGTACAATAACGGTCACTGTGTGCGATGACCAGGCTTTTGA
+CCGTCAGATAGTAGTCCCCCCCGTTCTGTTTCGTGGGGGTAAGCATGAAAACTTCAACAGCAACAACCAA
+CAGTCATACTGGTATTCAACCTGTAAGCTGCAGGTACTGAAGAACGGACAGGAAATCTTTCAGCAACCCG
+CGACGGATGTCAGCAGGGTATTTTCATCAGTCATTGATATGCCTGCCGGACACGGCCATGTCACCCTGAC
+TTTCAATGTTTCTTCATATGGTGCTAATAACTGGACGCCAACGACCAGTATCAGCGACCTTCTTGTTGTT
+GTGATGAAGAAATCTACAGCCGGTATCAGTATCAGTTGAATTTTATAACCCAGATACGGGCGCCAGAAAT
+GGCGCCTTTTTTATTTGTGGAGTGAATATGGCAGTACAGATTTCAGGCGTGCTGAAAGACGGTGCAGGAA
+AACCGATACAGAACTGCACCATTCAGCTCAAAGCAAAACGTAACAGCACCACGGTTGTGGTGAACACGGT
+GGCCTCAGAAAATCCGGATGAAGCCGGACGTTACAGCATGGATGTCGAGTATGGCCAGTACAGCGTTATC
+CTGCTGGTTGAAGGTTTTCCGCCTTCACATGCCGGGGCTATCACCGTGTATGAGGATTCTAAGCCGGGGA
+CATTGAATGATTTTCTGGGCGCTGCAACAGAAGATGATGTTCGTCCGGAGGCACTGTATCGTTTTGAAAA
+GATGGTGGAAGAGGTGGCACGCAACGCTGAAGCCGCCTCTCAGAGCGCAGCGGCAGCAAAGAAATCAGAA
+ACAGCAGCGGCATCGTCCAGGAATGCGGCGAAAACATCAGAGACGAATGCAGGTAACAGCGCGAAAGCGG
+CAGCTTCTTCAAAAACAGCCGCACAAAACGCAGCAACAGCGGCAGAACGTTCAGAGACAAATGCCCGTGC
+GTCAGAAGAAGCCTCCGCAGACAGTGAAGAGGCTTCCCGCCGTAATGCAGAGTCAGCCGCTGAAAATGCC
+GGAGTCGCCACCACAAAAGCGCGGGAGGCCGCAGCAGACGCAACAAAGGCCGGGCAGAAAAAGGATGAGG
+CTCTGTCGGCAGCGACACGGGCTGAAAAGGCGGCAGACCGCGCAGAAGTCGCAGCGGAAGTGACTGCAGA
+GCCCTATGCGAATATAGTGCCGCCGCTGCCTGATGTGTGGATACCGTTTAACGATTCACTGGATATGATT
+GCGGGTTTTTCTCCGGGCTATAAAAAAATAGCTATTGGTGACGATGTGGTTCAGGTCGCCAGTGATAAAC
+AGGTTAATTTCAGTCGCGCATCAACGGCAACATATATCAACAAATCTGGCGAACTGAAAACGGCGGAAAT
+TAATGAGCCGCGATTTGAGTGTGATGGCCTGCTTATTGAGGGACAAAGAACGAACTACATGCTCAATTCG
+GAAAGTCCAGCCAGCTGGGGGAAGTCATCAAACATGGATGTGCCCGAAACCGGGACGGATAGTTTTGGTT
+TTACTTATGGAAAGTTTGTCTGCAACGATTCTCTGGTTGGGCAAACTTCGGCTATTAATATGGCATCAAT
+TGCTGCAACAAAGTCAGTTGATGTCTCAGGCGATAACAAGTACGTGACAACCTCATGCCGTTTTAAAACA
+GAACGACAGGTAAGGTTACGTATACGGTTTGATAAGTATGATGGTAGTGCAACAACTTTTCTTGGCGATG
+CGTACATTGATACGCAAACGCTTGAAATTAATATGACAGGTGGTGCTGCCGGCAGAATTACGGCACGAGT
+CAGGAAGGATAAGACCACAGGCTGGATTTTTGCAGAGGCAACGATTCAGGCAATTGATGGTGAGTTAAAA
+ATAGGCTCTCAGATACAGTATTCTCCTGAGCAGGGTGGGGCAACAGTATCTGGTGACTATATTTATCTTG
+CCACCCCACAAGTAGAGAATGGGCCGTGTGTATCATCATTTATTATTTCAGGAGGCAGCGCAACGACAAG
+AGCCAGTGATTTGGTTAGTATCCCCACCAGAAATAATCTTTATAAGTTACCATTTACTTTTTTACTTGAG
+ATTCATAAAAACTGGGATATTGCACCAAACGCCGCACCCCGCGTGTGGGATATAGCAGCAGCCAATACCG
+GGCAATCAGCAATTGCAGCAATCAACAGAGGTAGTGGTAAGTTATATATGAGTCTGTCAAACCCTTCAGG
+CTCGTATGTTAATAGCGCAGCGACAGATGTATTTGCAGAGAAAACCACATTTGGATGTATTGCAAAAGCT
+GATGGTCACTTTCATGTGGTGACAAATGGTAAAGCGGTTAATGAAGTTTATTGTGAATATAATGGCGTGA
+CCGCTGATAAAAATATCCGATTTGGAGGGCAGACGAATACTGGAGAACGACATCTGTTTGGCCATATTCG
+CAATTTCCGCATATGGCATAAAGAATTAAATGACAGGCAATTAAAAGAGGTCGTATGAAAGATTTAACTT
+TGAAGTTTTATGACAAACTGCAGTTTAAGGCCTTCCTGTCATCTCTTGGCTGGGCGGAAGATGAAGACCT
+CCAGAATAAACTGTTAGTTGATGAAATTGGTTTCACCTACACAGAAACAGGGGTAACAGAAGAGGGAGAA
+CCTGTCTGTATCCGGAATGATGGTTATTTTGTCAACATTCGCATTCTTGATGACTTGTTTGATGTTTCTG
+TATTCTCTGATTATGTCGTGGAGCTGGAAACACCGCTTCGGGAATGGAGCTGAAAGGAGGAAATAATGGA
+TATAAGCCCCTTACTTCATGCACTTTGTGCTGTGGCTGCGCAGATACTGGTTGGTCTTTTTACCGGAAAC
+TGGGCTTACGGAGCGATAGCCGGTTGTACGTTCTTCATTGCGCGTGAACATACCCAGGCAGAATATCGCT
+GGATTGAAATGTTCGGGCATGGCAAGCGAATGAATATGCCGTGGTGGGGCGGTTTTGATCCGCGTGCTTG
+GGATGTGGCAAGCCTGATGGATTTTGCTGTGCCGGTGGTGGCGTGTCTGCTGGTCTGGCTGTTGGTTAAT
+CGTGGGTGAAAAAAGGTGAGCTGTATATGCAACGGAGGAAGAAACCCCGTTGCTGGAAGCCAGGAAAAAG
+TATCGGGTGTTGCTGTTCTCGGATGTTGTGCTAATTGGGTGATAACAGATCCTGTGTATGGGAGTTTCCC
+TTTTTGCGTGCGTTGATGCTGGTAACGGCAAACGTCATGATGAACAAAACCGCGAATAAGACGACAATCG
+TCGGAGCTGGTGCGCTGTCGATAAAAAAGGACAACCAGACACCAGTCATTGACACTATTACCGATATGCC
+AGTCGCCAGTAGGAGCGCAATATGAAAGCGTTGTGTCAGGAGTACCGCAATGGCGCCAGGCGCAATGAGC
+AGAGAAATGGAGAGAATGATACCTACCGCTTTCAGCGTCGCCACAATGGTCATAGAGACCATGCACAGCA
+GCCCATAATGCAGCCATCTCGTATGCAAACCGCTTACCTGCGCCTGTTGATAATCAAAGCTGAACAGCAA
+AAAATCTCGCCATTTTACGCTAATAACAAGTGTAACCAGCCCAGCAATAATCACCGTCTGGATTATATCG
+CCGATGGTTATCCCGAGCATGTCGCCGAAAAGAATATGGTCAAGATGTACGTCTGGTTTGACTGCAATAT
+ACAAGATCAGACCTGCGGCAAACATGCCAGAAAAAACAATCCCCATCACTGTATCTTGCTTGATTCGGCT
+GTTGTCTTTCAGGTATCCCGTCGCCACCGCGCAGAATACTCCGGCGACGAATGCCCCTGTAGCCAAAGGT
+AACCCCAGAATCCAGGCAAGCACGATGCCAGGAAAAACCGCATGACTCATCGCGTCACCCATCAGTGCCC
+AACCTTTCAGGACCAGAAAGACCGACAGCAGCGCACAGGGTATGGAAACTACCAGTGAAATCAGCAGTGC
+GTGACTTATAAAGGTGAACTGCAGTGGCTCCAGTAATAATGCCATCATGAGCGATCCTCCAGCGCCTTAT
+GCGCACGCCGACGATTTGCCAAAAGCCCATGGGTGGGCGCAAAGACAAATGCTAAAAGAAACAGCAGTGT
+CTGCGCCACCACGATGATTCCACCTGTCGCGCCGTCCAGAAAGTAACTGACCCACGCGCCGAGGAAACTG
+GTTACACTGCCAATAGTTACAGCAATCATGAGCAGGCGGGGAAAACGATCGGTTAACAACCATGCTGTTG
+CTCCGGGAGTCACCACCAGACAGATCACCAGAAAGGCACCAACCGTTTGCAGCGCCGCAACGGTCGAAAC
+CGACAGCAGGGTGAAGAAGAGGAGTTTTAATCTGCCCGGATGCAATCCAATAGCACGGGCGTGATTCTCG
+TCGAAAAAGGTCACCATAAGATCTTTCCATTTGAAAAAAAGCACGATGATCGAGAGAATGCCAATGATAG
+TGAGTTGCAGGATATCCGCCGGATCGATTGCCAGAATATTGCCCAGGACGATGGTCTGAATGTTCACAGA
+TGTCGGGTTCAATGACACCATAAACAGCCCCAGGCCAAAAAAGGACGAGAAGATCAGGCCGATGATGGCA
+TCTTCTTTTAAGCGGGTGCGTTGGTTAAGAAACAGCATGCTGCCCGCAGCCAGTCCGCCGGAAAAGAAGG
+CTCCCAGAGAAAACGGAAGCCCCAGCATATATGCCCCCGCAACACCCGGGACAATAGAGTGCGACAACGC
+ATCGCCAATCAGCGACCAGCCTTTTAGCATCAGATAGCATGACAGGAAAGCGCAGAGACCGCCGACCATC
+GCCGAGACCCACATCGCATTGAGCATATATTCATAGCTGAAGGGTTCCAGTAGCACGTTCATCTTTCTTC
+CCTCTGCACCGCTGACGGTCGATGAGCCACAAAAGGGCGTTCATCGTCAGTAATAATGCTTTCTTCCGAG
+CCGTTAAGTGTGACATGGCGCAGTACGCCGCTAAAAGCCAGCTCCAGGTTCTCGGCTGTAAAAGTGGTGT
+CTGTCGGCCCGCTTGCCAGGACGGTGCCTTTGACCATGACCGTATAATCGCAAAATGTCGTGACGGATCC
+GAGATTGTGCGTTGAGACAAGCATCGTTTTGCCTTCCGCGCGTAACTCCCTCAACAGGCTGATGATTTTG
+GCTTCGGTTTTCACATCAACGCCAGTAAAAGGTTCATCCAGCAGGATCACATCACCCTGCTGTGCAATCG
+CTCTCGCCAGAAAGACGCGTTTCTTTTGTCCACCGGAAAGCTCGCCGATTTGTCGATGGCGAAAATTCAC
+CATATCGACACGTTCTAGCGCATCGGTGACAATTTGACGATCCCTCTTTTTGGCGATACGCAACATACCC
+ATATGCCCATAGCGGCCCATCATCACCACATCTTCCACCAGTACAGGAAATGACCAGTCAACCTCTTCTG
+ACTGAGGGACGTAGGCAACCAGGTTTTTCTGTAACGCCTGTCGCGTGGGAATACCCAGAACAGATATCTT
+TCCGCTGGTCAGACGCACAAATCCCATAATCGCTTTAAACAACGTCGATTTTCCGGAACCGTTTACCCCA
+ACCAGAGCGGCAATAGATCCACTTGGTACTGTGAAGGATGCATCGCGCAGTGCTGTGTGCCCGTTACGCC
+AGGTGACAGCAACATCATTAACGACAATGCCTGCAGATTGCATCATTATTTCTCCCTTTTCCCGGCTTTA
+ATTCCCTGTACCAGCGTACTGGTAGTAACCTTAAGAAGGTCGATATATGTCGGTACCGGGCCGTTTTCTG
+TGCTCAGGGAATCGACATAGAGCACACCGCCGTAGTGTGCGCCGGTTTCACGCGCAACCTGACGCGCTGG
+TTTATCGGAAATCGTACTCTCGCTAAAGACTGCCGGGATATGATTTTTCTTAACTATATCAACAACCTTA
+CGTACCTGCTGCGGTGTTCCTTGTTGATCGGCATTAATCGGCCACAGATAAAGCTCTTTTAGCCCCAAAT
+CGCGTGCGAGATAAGAAAAAGCCCCTTCACTGGTGACCATCCACCGCTGATTCTCAGGGAGTTCCGTAAT
+CTGCTTACGCAGGGGGGCAAGGGTTTGGGTAATCTTGGCTTTATAAGTATCGGCATTGCGTTGGTAGGTT
+TGTGCATTTGCCGGATCGTATTTTATCAACGCATCACGAATATTATCGACGTAAATCAGAGCATTATCTG
+GCGACATCCATGCATGGGGGTTAGGTTTGCCCTCATAGGGTCCTTCGGTGATCCCTACAGGCGTCACACC
+CGAAGAGACAATTACTTCTGGAACCCCATTGAGATGCTGGTAAAAGCGTTGGAACCACAATTCCAGATTC
+ATACCATTGGCGAGAATCAGTTGTGCCCCCTGCGCACGTTTAATATCGCCAGGGGTAGGCTGATACTCAT
+GAATTTCTGCACCAGGCTTGGTTATAGATGAGACTTCTGCAGCATCTCCCGCCACGTTTTTGGCCATATC
+CGCGATGATGGTAAATGTTGTAATGACCTTGAATTTTTCAGTTGCACTTGCCTGAAATGCGATCGAGCAG
+GTGAGTGCGAGGCCCCCCAAGAGCATGGTTACTTTTTTTATCGAGTGCATAATTTAGTACCTATAGTGAG
+CAAAATTAGAACAAACATAGCAACGGCTATGTTTTATAGCACAACCTATATAAAATGAAAATGATTATCA
+TTAGCAACTTTGAGGCCCAAAACAGGGATTAGGTTGTTTCCTGCTGGCGACGTGTTATTGAGGAAAAAAG
+TAAGGCAGCTAGTAGGCTTTGAAATAACGTTCTGCGGTTGGCTGATGCAATTTCGAGAGTGCATGTATTG
+AATGATTTCTAGCCGTTACTGATTTTCGTATTTTTTGTATGAGATGATTTGAACATCCTCGCACCAATCT
+TCCATGATTGCTCGTCATTGTCTCTAGGACTGCTATGTGCCAGGAGCGGACTTTTAACAGGATTTGATGT
+ACGGTATTGGGCGATTCGTATAGCAGCAACGAAAATGAGAGCCAGACTTATGAACTACTTTATTCGGCCA
+GCTACGCCTGACGATATTAATAAAATCATCGAATTCACCACTCAGGAAGCGCAAGAATCAGAAGGTTCAG
+TGATTGACCTTGTTGCTGTGGAGCGTGGTGTATCGTCGGCGTTCAGTGAAAACCCTCGTTCAAAATATTG
+GGTCATGGAAGATTCTTCAGGAACGGTAATTGCCAATACCTCTGTCGTAAAAGAATGGAGTGATTTCCAT
+GGTAATGACTACTGGTGGATTAAAAGCTTTTATATCGCCCCGGAGCATCGAGGGATGGGACTGGCTGATG
+AGCTCATCAAACATCTTATAAAAGAAGCCAAATCAGAAAAGGCACTTGAGCTTCGCTTATATGTCCATGG
+AGATAACGGGCGTGCGATTCGTGCTTATGAGCGATGTGGTTTCATTGAATCTCCGTATACCATTATGAAA
+GTGGGTTTATAGCTTCCCCAAATACAGCCCTCTTAATGCTCTACCTGAAATCAGGACACAATGCCGCAAG
+CGGCATCTTTCATTCAAATGATGTTCTTGAACGTTCTAGGCACATAACGACAACTTCCGCTCCTCGCTCA
+TAACGGGCGTTCATTTATGGCAAAAAGGCTTAAGTTTAGAAAACATGCGTTTTAGACGTAAAAAATCATT
+TATTTAATCACAACTTATGTAATGGCATAATCAGGTTGGTGAAAGAGAGGGCGTAAATGGATAAAAGAGC
+TAAAAATCAGATAGTCGATAGCGATATTGCACGTTTGTTACTCAAGCTCAGAAAGTCTCGAAACTTGACT
+GTTACAGAGCTTGCCCAACGATCTGGTGTCAGTCAGGCGATGATCAGCAAAGTTGAACGAGGCACCTCAA
+GCCCCAGTGCAACAATACTTAGTCGGTTAGCTAATGCACTGAATATTACGCTATCAAAGCTTTTTGCAGA
+GCTTGAGATGCAACAGAATTCACTTGTACTTTTGGCTGACCAGCAACAACACTGGATTGATGAAGAAACA
+GGTATTACCCGCTGGTCTTTGTCCCCAGCGGGTGCATGTCCGGAACTAATAAAAGTTGAAATCCCCCCTA
+TGGGGCAATTGACTATCCCTGCCTCTGCAAATGAGCATCTTTCCGGACAAACTCTATGGATGTTAAACGG
+CAGCCTTGATTTTCGAGTCAATCATCAGACTCATCATTTACAAGCCGGTGATTGTCTTGCTCTTACCTTT
+GCCAGCGAGTACCAAATGAGAAACCCAGATAGCGGCCAGAGTTGTTCTTACATTGTCGCTTTCAGTCAAA
+AAAATCCATGATGTAATTCTCCTGAAATAATCATGTCACATTGCCTTATAAAGATGTAATAGAGGGTAGG
+GTCTGCCTTGATTGTCCCGCTCGGAACGTCCTGAAAGTTTAAAGCCCATATGTTGATAAAAACCTACAGC
+TTGATGATTTTGTTCATTTACATCAACGCTTAGATCAGGATGTAGAGCCAGCGCATGTGAGATCAGATGT
+TTCCCGACGCCAAGTCCGCGAGCTGACGCATCAACAAAAAGAGCCTCTAAATGTCCCTCATGCAAAAACA
+TGAATCCTAGTGGCTGATCTTCCTGGTTTGTTGCTACCAGCACAGGGGTTTCTGAAAAAAAGCTGACAAC
+TTCTTTTTCAATCTCCTGCCGGTCATGGGCTGTAAGAAAATCGTGTGTGGCATCAACGGAATTTTTCCAA
+ATTTGGATAATTTCTGGTGCTTCAGATGGTCGCGACATTCTGATTTTTAACATGTTATCTCCCTTAAAGT
+GGTCGTTGCTTGTGTCTTGAGATACAAAACGAGTTATCAAATTTACTATAGTGAAATTAAATTCACAATA
+GTGATTTGGTTCCTGTGCCTTAACATTACCCATGAGGAGTACAATTAAACGGGTTAATCAGTTTCTCCAT
+TTGAAAGAAAATAGACTTCTGTACTGTTTGATATCACCGCTATTTTCTTATTTGCTGTGCAGGTCGTAGT
+GGGACAAAACTGAGACACATAAGGTCTAGCAATGGCTTGCAAGGCCTCACATGTATTGAGATGTTAATAA
+AATGTAGACTTGTAATTTTGATATAAATGGTAGAGAAAATCTTTCCCCAAAATAAAAACGAACGTCAATG
+AAATCAAACGGTTGAATAAAGTTGATTTTGGCTAATAAAAAGACAACAAAATGATTTTTATCATTAAATA
+TCAATGAGTTGAACTCATGGTTTTTATATACTGCTGCGCCATATGGGCTGGACTGAAGCCGCAGACCTGA
+TTGTTAAAGGTATGGAAGGCGCAATCAACGCGAAGACCGTAACCTATGACTTCGAACGTCTGATGGAAGG
+CGCTAAACTGCTGAAATGTTCAGAGTTTGGTGACGCGATCATCAAGAACATGTAATCTCTACATGTGTTA
+AATATTGAAACGGGCGTATAACACGCCCGTTGTTTTTATAAATATGTTAACCGTTATAAAATAACGTATC
+AAAAGTCAAGTGAACACATTTCAAATATCAATTTGATCGTATTGGTCTGGTGATTATTTATGGGGAGCAA
+TAAAAAGACAGTATTAATCATCCATAGGGATAGTCTCTGCACTTTTATTTCCATTATGCTAATGCCTTAC
+TGAATTATGAAGCATTTTTTAAGCTCCCAACTTTAGCTAGATTAATGGTTTATTATTTTCTACATCTTCA
+ATATATAAAAGCGTATTATCAATGGCGTAGTAACTGCGTTTGTTATGATTAACATCAGTAACCCACCGGA
+AAACGCCAGCGCCTGCCAGTGTTGAACAGTATTCCCGAAATGTAGATTTTCCGCGAATATGAAGCAATGC
+GGCCTCTTTTATTTTAGCTGGGTTCTTGGTCGTACTAACTTTTAACAGGTTCCTGGTTCCTCTTAATAAC
+AAAACCGTGTCATCGTGAGTAATAATTCTGATGTTATCCGTAGCCAGATAATAAATGTAATGTGCAATAC
+GGTGATGTTTTAATTCTGAATAAAACCAGGAGAAGTTTTGCTCTTTTCTCACTTGCTCAAACATCTTTTG
+AAAAACAACGACCTGATCCATCAGGATAATAACCTCTTGTTAGGTGTGAGACTGCGTAGTGTGCACGATC
+GGTTTTACCACTTCAATCTGGTCTGTCCTTTGGCTGTGATATGTACAAAGTGTGAAAGGGGGATTACCTG
+AATTCTCCCGGTGGGCATTTTGCAACGGACCAGCTCCGCTACAAACGCTGGTGTGGGTTCAGATTATAAC
+ATTCTGTCTAAGGGGCGGGATAAAGGTGAATTTAGGGGGCATGAAAGATGACTTTATAACCTTGCTCACC
+CCAGTGTTGTAAAAGTTCGTTTTGCCTTCTCGTTGGTGCCATGCCTGTCCAGACAATCAATGTTTGCGTT
+GGGAACAGTTCCGGGCGCGGCGATTCAATGGGATCAGCAAGAACAGAAATGTGCCATCCTGACAATGATA
+AACGCCATGCTTCCAGCCACAATCGTGCTCTCTCTTCAACATTCCACGCCATCAGAATGGCCTCTTTACC
+GGGCTTACGGCGCATTTCGAAAAGTAAGGCCGCTGCGTATTCAATTAATGCGCCGTCAAACATACTGCTC
+ATAATGCGGGAGGTGTTGTGATCAAGCACGAGACGCTGGCGAACAGGAAGGTAAACATGATTAATCAATT
+GATCTACTGGGTACTCTCGACCCAGTGAAATAATTCGCGCGCGTAGTTTGGCTGGATTAGCCATACGAAG
+AATTGACATCATCTCTTCTTGCAGGCGGCTCCAGTCATCTTGCGTATCCTGGCTGGTAGTTTCCAGTAAT
+GCTTTAACTTTGCCTACAGGAACGCCATTACTTATCCAACGCTTGATCTCTTCGATGCGTTGTATGTCTT
+CTTCATCAAAGAGTCGGTGTCCGCCTTCACTGCGCTGTGGTTTTAACAAACCGTAGCGGCGTTGCCAGGC
+CCGGAGAGTGACAGGATTAATCCCGCAACGTTCAGCAACATCACCAATGCTGTAATAAGCCACAATTCCT
+CCTTGCGGTCATAAATCTCCGTCGCCTCTACACGACCCAATAATACTTTGTACAATATACGCTGAAATTG
+TACAAAGTATAAATAAGATTTCAGCTAAATTGGATGAAACATTATTTTTAATGTGGATTAAATTAAAACA
+TAACGTATTCATTTTCACGATGATTTCCAGAAATCATGCGAAATAATGTGCTGAAAATTATTTTTTCTCC
+GGCCACGCAACTGAAGGGATACCATTCAATTTAGCTTTGGAAAACAGATCTCCCTGAAACATCTCAATTC
+CTGCAGATTCAAGCCACATCCACTCTTCTGGTGTTGCCACGCCCATAGCAGAGACTTGAATTTCAAGTGA
+TGTACAGCATTTCATGATCGCCTGAATAATTGCCTGCCGTGGTCCGCTTTTATGAACATTGGTAATCAAT
+TCCTGACTGATTTTAATTCTGTCAGGCTGGAAGCGTGACAGGAGTAACAAACCAGCAAAACCTGCGCCAA
+AATGATCAATTGCTACACTGATACCGGCCGCCTTTAGCGATTTAACCGCTTCGGCAAACTCATCAAACCG
+AGATATGACTTCACTTTCAGTAAATTCAACGATGATTTGTTCAGGTACCAGAGCATTGGCCTTTATTTCA
+TCAAGTAAAAAAGAGACTGCGTCAGGTTTGTTAACCAGGGTCATAGGTAATAGATTGATTGAAATCATTT
+TATCACCGAGCTTAAGTGCGTGTGCCATCGCAAATGCAAGCGCCTTACTTTTGAGATCCGCTGTGTAGAT
+TTCCTCGTCTTTACGCTGCCCAACCGCTATAGCTGACGGGCTGTCTTCATTTTTTTGCACAATGGCTTCA
+AAAGCGATTATCCGCCGCGATAAAGGGTCGACAATAGGATGAAAGGCAAAGTGGTCGTTTATATTTGATG
+AAAGGGTACAAGAATCAAGTTCTTTATCAGATCCGTCAGCGATAAAAAGCCAGGAGTCTTCAGCAGGAAT
+CTCGAAATAGGTTGATTGTTCAGTTGCAAGGACAAAAGTACGAAAAAATTGTAGCGCTCTGTCATCATAA
+GTTAGCTGAAATTTTGATGTGCCTTTGTCGAATACGGCCTGTAAAACGTCATCTCGCTCGTGCAGGCGTA
+AATCAAATAATTCCATTCCTGCTTTGCCAAAACGGCGAGCAGGCGCGTAATCGCACAACAGTTCAACAAT
+ATTATAGTGCCGTGGATCCTGGCATATGGCCCGATATATCATTTGAACCTGTTCTTCCGGACCTTCCAGA
+AGCTGGAAAAAATGAGAACCATTAAACAGTAAGATCCCTGTTACGTCAGACCGCATGTTCCTGCGATTTG
+CTATCGAAACCATTTCTTCAATTTTTTTGACAGGTTCGTCGCCACGTATATGGCTACGATAAATAAGGGT
+GGTAAGCATTAACAATCCAGGGTAATGGGCGAGGCGAGAGTAAGACGGTAACAGACATATCTTCTTGTGT
+CTTTCTTTTAATACCAAAACATAACCGTTTCTTTACATTGATAAAAAGTGGAAAAGGTTGAAGACGGTTT
+GGCGAAAAAACCTGTATAGGTTGTCATTTAAATGATGCAATATGTTTTATCGTAATGCATTGTTTTATAT
+GAATTAGCACTAATTGCGAAAAATTAATTTATCATTCTGTACACATATTTCGTACAAGTTTGCTATTGTT
+ACCTCACTTAACATTGATTAACATTTTTAACAGAGGCGTAGCATGCATCAAAATTCAGTGACTTCAGATT
+CTGCAGGAGCAATCACTCGTTACTTTGCAAAAGCTAACTTGCCTACTCAGCAGGAAACTCTCGGGGAAAT
+TGTGACTGAGATTTTGAAAGATGGACGTAATCTGAGTCGAAAGTCGCTTTGTGCCAAACTTCTTTGCCGG
+CTGGAACAAGCGACAGGGGAAGAGGAACAGAAACATTATAATGCACTAATTGGGTTGCTTTTTGAATAAT
+GCAACAGCCTGATTATTTAACAGGTTAGCTATGAAGTCGTTATGAAGACATCTGATAATGAAAGTATAAA
+ATATGAAATTACTGGCCAGGCGGTGCTCCAGATACTGCGCATGAAGATAAATTTTTCGTTGCAGACTCTT
+ATTAAGCAATTACTCGTAATGAAATCGGCTGAGGAAAATACTTTCCGACGAGATTTAATTGACAGCATAA
+TTCGTGATTTTAGCAACAGTGATACAGGAGGGCCAAACCGAAGAACAGCGATAGCTGACAATAAAAGTAT
+GTTCACTGGTAAGAAAATAAACAGAATACATTAAAATTTCATAAGTAAGATGAGAGGTTACCATGCTTGA
+AGATACTACTATTCATAATGCAATATCTGATAAAGCGTTATCAAGTTACTTTCGTAGTTCAGGTAATTTG
+TTAGAAGAAGAGTCTGCTGTGTTAGGGCAGGCTGTGACCAATTTAATGCTTTCAGGCGATAATGTTAATA
+ATAAAAATATTATCTTAAGTCTGATACACTCCCTGGAAACAACAAGTGATATTCTCAAAGCTGATGTGAT
+TAGAAAAACACTGGAAATCGTGTTGCGATACACAGCTGATGATATGTAACTTTTAATTATAAAGTATAAG
+TTTATAGAAAACTCATTCATCTTATTTTTGTCTGTCGCTTTAGACTATACACAGCATAATTTTATTGGAT
+CACTATTCCTGCGAGGCTGACATGAATAATTCAATCCCAGAGAGATTTATTTTTCAATGTGCTTTGTTTA
+AAAATCTCGAGAGGGAGGTGTTCATGACACATGGATATGTTGATAGTCATATTATTGCTCAGGCTTTACG
+CTTGCGTTTAAAAGATGAGACCAGTGTTATTCTTTCTGATCTCTATCTGCAAATCTTGCAGTACATTGAA
+ATGCATAAGACTACACTAACGGATATCATTATTAATGACAGGGAATCTGTGCTCTCTTAAAACTTGAGTA
+AGGTTTTTGAATAAACATCAGCTGTATCACTATGCTGATGCAAAGTGAGCATTTCAGGCGTTATGCTTTC
+TTAATATATCCGCAATATCAGAGGGCAAACAGGAATGGAGAGCGCTCGTTTTCCATTCTTGACGCCTGAT
+ATCCCGCCTAATTTGTTTAATTCTGCCTACATTGTGCTAAAAAATTAATAGGCTAGATGAAGTTGGAGAA
+AATTTTATCTTCGGCGTGGATATTTGTGATGCTCTCTACCATGCTCTCTGTAGACCCCAGCGCGAGCGAA
+TGAACGTCTCTTTAGCTTCTACAGACTTATCGATAAAGGCTTTGGGATTTTGATATTTATTCTGTTAATC
+GCCTGCGCCGCTGCCTTCCTGCTTGATAGGTATTTCAATAAAAGCGCAACGCCTGAAGAGATCCTGCGAC
+GGGCTATAAATAATGGGGAGATCGTCCCTTTTTACCAACCTGTGGTAAATGGTCGGGAAGGGACATTGCG
+GGGAGTTGAGGTGTTAGCCCGCTGGAAACAACCTCACGGTGGATATATATCACCCGCGGCATTTATTCCA
+CTTGCTGAAAAATGCGGATTAATCGTTCCGCTTACGCAAAGCCTGATGAATCAGGTTGCCAGACAGATGA
+ACGCTATCGCGAGTAAACTGCCGGAAGGTTTTCATATTGGGATTAATTTTAGCGCCTCGCATATTATTTC
+GCCGACGTTTGTCGACGAGTGCTTAAATTACCGTGACAGTTTTACCCGCCGCGATTTAAACCTTGTTCTG
+GAAGTCACCGAGCGTGAGCCATTAAATGTTGATGAAAGTCTGGTTCAGCGGTTGAACATTCTGCATGAAA
+ATGGTTTTGTCATCGCGCTGGATGATTTCGGTACTGGTTACTCAGGGCTTTCTTATCTGCATGACTTGCA
+TATTGATTATATCAAAATTGATCATAGTTTCGTTGGCCGCGTCAACGCAGACCCAGCATCAACCCGAATT
+CTGGATTGTGTATTGGATCTGGCGCGTAAACTTTCGATCAGTATCGTCGCTGAAGATGTCGAAACGAAAG
+AACAATTTGACTATCTGAACCAAAATAATATCACATTTCAGCAGGGTTATTATTTCTATAAACCTGTTAC
+ATACATCGACCTGGTCAAGATTATCCTTTCTAAACCGAAGGTGAAGATTGTGGTTGAGTGAAAATTGATC
+AGCAAGGCCATGGTGCGGTGTAATTATAGACAGCTAATTAGCTCGTTGCCTCTTGTTACTATTGTTCATT
+CTTTTGTTTGCTATAATTGTGTGAAAGTTTTGACTGGATTGCCATTAGTAGCATGAACAATAGTAATAAT
+CTGGATTATTTCACTCTCTATATCATCTTTTCCATTGCATTTATGCTGATCACTCTCCTGGTCATCCTTA
+TTGCAAAACCCAGCACCGGGCTGGGAGAAGTGCTTGTGACGATAAATTTGCTTAATGCCCTGGTTTGGCT
+GGCGATCAATCTGGTTAATCGATTAAGGGAAAGACTCGTCAGCCACAGGGATCAGCACTAATCTTTCAGT
+TTCTCACTGCCAGTATGCGGCTGAATGGGTTGCTGGCAGTGAACCCCTGGATCATTGAAGGAAAGGAATT
+ATTGCACAAATAGTTGTCAACCCTGGTGTTATCACAGTTGTTTTATATATCAGTGAAATAATTTCCATGG
+CAACTGTTGATGATTTTGATGTCGAAGAGTTATTTGTTAAACAAAATAGTTACCCCAAAGTGATCAATGT
+CATGAAAATAAGCTAAAAATGATAATGCTGGCTTATTTATTATTTAAATATTGTCGCTGTTTATCTATTT
+AAATTTCTTGTGCTTTTGTTTTTATCTTTGCCTTCCGTTTTGGTAATCTGAACTCATAGGTTATTTGAGC
+AGGAATGTTTGTTAATCCAATGAATGGATGGTTAATCTATGAAACTGAAAAAACTCCCCGGATTTAGTTT
+AGGACTTATTGCTCTGGCGGTGGGTAATGCATATGTAACACAATTGTTGGATATTTATAGTATAATTTCC
+TATATAACCGATGAAGAATCACCGATTGAAATCAAAAATAATACTTCTACAAGTAATGGGGAGTATCTAA
+TCACTTAAGACGAAAGCCATGCTGTGAAAGTGGATGACGGTGTAACTGGATATATACATAATGCCAGTGT
+GATGACTAGTGGTGATGGATCTTATGGTATTTCTGTTGATAGCCAAAACAAAGTATTATATATAAGCGAT
+AGCAATATTAAGACGCTCTGAAAGCGTATCTGACAAAGAAAATGGAGGGATAACAGCCAGCGCAGTAGTC
+AGTGAATTTGGTGGCACCATCGTTATGAATGGTGATAATTCAGTCGAGACGAGGGGGCATATTCAGCGGG
+ACTTTTAAGTCAGATTAATGATTCTGGGACTGTGGAAAATAACACCAGTCTTGAAACCACAGATAAAACG
+AACATTGTTACCTATGGGGAAAAATGCAGTAGGAGTTCTTGCATGTTCAAGTCCTGGAGAGTCTCGAACA
+TGTGTCGATGCTGTAGATGATGAAGTTTGTGATTCTAACAGTTACGAAGTTATTAGCCGTGCTGATTTAA
+AAATGAATGGTGGTTCCATAACAACTAATGGTATTAATAGCTATGGTGCTTATGCTAATGGGAAAAAAGC
+ATATATTAATTTAGATTATGTGGTACTTGAAACTGTGGCTGATGGAAGTTATGCAGTTGCTATTCGACAA
+GGTAACATTGATATAAAAAAGTTCTATTACAACAAATGGCACTAAAGCCCCCATTGCAAAAATATACAAT
+GGTAGAGAGTTATTTTTTTCCAATGTCACTTCAGAATCAACAGAAACGCCTACCCCCGTCCTGCGACCCG
+AAGCTGGCAGTTACGTCGCCAACCTGGCAGCCGCTAACACTCTTTTTGTTATGCGTCTGAACGATCGTGC
+AGGTGAAACGCGCTATATCGATCCTGTAACTGAACAGGAGCGTTCAAGCCGATTTTGGCTACGTCAAATT
+GGCGGGCATAATGCCTGGCGTGACAGCAACGGACAGTTGAGAACGACCTCGGCACAGGCCATCTGGATGG
+GCGTCGATCATAATGTGCACACGGAAGCCAATGGCTCACGTATTGAGAATGACGCAAATAACAATATCCA
+GACCCGACTTGGTTTCCACACCTTTATTCGTACTCAGGAGAAAAACAGCGGTCCGCACGGTGACGACTTT
+GAACCTTTTGTTGAAATGAACGGGATCCATAACAGTAAAGATTTTGCTGTCTCAATAAACGGTGTGAAAG
+TTGAACAAGCCGGGGCGCGTAATCTGGGGGAAATGAAACATGGCGTAAATGGCAATCTGAATCCTGCGGC
+CAGCGTCTGGGGTAATGTGGGCGTGCAGCTGGGTGATAATGGCTACAATGACACCGCAATGATGGTGGGC
+CTGAAATATAAGTTCTGATCCCGCCATTAGCTAAAAAACCGCGTCGAATTCATCGACGCGGTAACATATG
+AAATATTATTTTTTGCCGATAGCACGCATGGTGTCATCAATTGCCGTGATCAACAGCATTTGCGGATCTT
+TAGCGCAAACCTGATTCAGTTTTTCTACCACTTTGGCGCTCAGTTCCGGAGATTGCTCAATTTTTAAATC
+ACGGCTGGCAACGCTGGCATTACCCATTACCGCAACAATTTCTGCAACCTGTGCGCTGTCAGTTTTTGCC
+ATTTCGTTGGCTTCTGCACAAGTAATATAGGTTTCTGATGGCAAACCGTTCTTAATATTGTAGTCCTGCG
+CCCAGGTCATTGGTGCGAAAACAAACAGACCCGCCAGTAAAGCAAATTTTTTCATCATCATTCCTTATTT
+CATTTTACCCAGAATTGCACCACCCGTACCGCCAATCACGGCACCTTTAATCGCCCCTTCGAGGCCATTG
+CCGGTCAGAACGCCAGTGACAGCACCAACGGCGGCACCCACTTTTGCACCTTTACGCGCATTTTTACCGT
+CGCGGCCTTTTTCTGTTACTGCACCAACACCAGCGCCAACAGCTGCACCTTTCAGTACGCCATTAACACC
+ATTGCCAGTAAGTAAACCAACGCCTGCGCCTAGCAATGCACCTTTCGTGGTGCGATTCATATCCGCCATC
+GCTGGCGTGGAGCAGAACAATGCTGAGATAAGCCCGAAGGCAAGTATTTTTTTCTTCAACTTAGATGTCC
+GGTATTAAGTAAGTTGCACACACAATAATTTCGTCTTCAATTAAGATCTGCTTAACTAAAGAACGCTCGC
+TATTATTCAGATAATTCAAAATGAGCGTGACTGTGATGATAGGAATTATGTTTTTTACGGGAATGAGAAT
+AATCTCAAATGAGAAATAACTCATTGATTGACAATATTTTTATTCAAGAAGTGTCATTGACTGTTAACGC
+AATGTTGTAAAGGTAAGATAATCTGATTTATCAATATTATTGTGTGATTGTTATGTGAGCAGAAGATATT
+CATTAGCAACGATTACATTAGTCATTTTATTTTGTGGACGGCCTCATTGTCGAAAAATAAGCGTACGACA
+GTATTATCAGAAAAGAGTGATTTTTTATCCAACAACACTTCAGCGCACTGCGTTTAAAAAATACCTCTTT
+CTTATACGGGATATCATCATTTCATCATGATGTCTTTGATGAGCGGTGAACACAATACATTTGCGCTGTC
+TCTTCAGGATGAATCCCCTGGTCTGGTTCCTGCGGGCTGATGTTGCAGCAGAGCTAAGGTCACTTAGACG
+CTACTATCATTTATCCAATGCATGGAATCGAAATCAGTCGATACCCGCAGTATATATCGTGAACTGGGCG
+CAACGCTGAGTTACAACATGCGTCTGGGGAACGGTATGGAAATTGAACCCTGGCTGAAGGCGGCTGTGCG
+CAAAGAATTTGTCGATGATAATCGAGTGAAAGTGAATAGTGACGGTAATTTTGTCAATGATTTGTCGGGC
+AGACGTGGAATATACCAGGCAGGTATTAAAGCCTCATTCAGCAGTACGTTAAGCGGGCATCTCGGGGTGG
+GGTATAGCCGTGGTGCCGGTGTGGAGTCCCCGTGGAATGCGGTGGCCGGTGTGAACTGGTCGTTCTGACC
+ATCAACGATTAAACTGCGTTTCGGCGCTGTTTTTGTTTACCGGGTGCTAAAAGGGAAAATTCTGGGGCAA
+AAAAAAGCCCGTCAGTTACGGCGGGAAACCTCATCCTATGGGAGAACAATGAATAATGAAATTGCGGGGT
+TATCATCTCCCAGGATACCCACGCTAACAATAAGGTTATTTACTCAACCAGGCGTAAACATTTTGTTCTG
+TGTGTGGGAACAGCCTTAAGGTGTAAAGGGGGAGGGGGAAATAGCAATGAATAGTATCAGCAAGAATACT
+CGCCGCTTTACCACAACGTGGATGAGAGGGATGAAAAACTCAAGGCAGAGATGACTCTGCCTTGAAGATA
+AATGCGCTTTTACAGCGGGCTTATTTCAGCTCTTCTGCTTCCGGTAAGGTCACGTTCAGCTCAAGAATAG
+AAATATCGCCATCTTTTTGCTCAAGCTGTACGGTTACCATCTCAGGATCAATTTGTACATATTTACAAAT
+GACCTCAAGAATATCTTTACGCAACTGCGGCAGATAATGCGGTTCTGCATCGCTGCGACGGCGTTCAGCA
+ACAATAATCTGCAACCGTTCTTTTGCAATGTTGGCTGTGTTTTTCTTCCGCGAGAGAAAGAAATCGAGTA
+ATGCCATAATTTATCCTCCGAACAAGCGTTTGAGGAAGCCTTTCTTCTCTTCTTCAATGAAGCGGAAAGG
+ACGTTCTTCTCCCAACAGACGTTCTACGGTATCTGCGTAGGCTTTACCCGCATCGGCGTTAATGTCGAGA
+ATGACCGGTTCACCCTGGTTAGAGGCGCGCAATACTGATTGATCCTCTGGGATCACGCCGACGAGTTTGA
+TGCGCAGGATCTCCAGCACATCTTCCATGCTCAGCATGTCACCTCTGCTTACGCGGCCTGGGTTATAGCG
+CGTTAACAGCAGGTGCTCTTTAATCGGCTCTTCGCCATTTTCTGCGCGGCGTGATTTCGACGCCAGAATG
+CCTAAAATACGGTCAGAGTCGCGTACTGAGGAGACTTCCGGGTTGGTGGTAATAATGGCTTCGTCTGCAA
+AATAGAGTGCCATTAACGCACCGGTTTCAATCCCTGCCGGGGAGTCACAAACGATAAATTCAAAATCCAT
+CGCTTTCAGATCATCAAGAACTTTGGCGACCCCTTCACGGGTGAGGGCATCTTTATCGCGAGTTTGCGAT
+GCCGGAAGAATATAGAGATTTTCAGTACGTTTATCTTTAATTAACGCCTGGTTTAGCGTTGCATCGCCCT
+GAATGACGTTGACGAAATCGTAAACGACCCGGCGTTCACAACCCATAATCAGGTCGAGATTACGCAGGCC
+GATATCAAAATCTATCACGACAGTTTTCTTTCCCTTCTGGGCCAAACCAGTGGCGATGGCCGCGCTGGAG
+GTTGTCTTACCAACACCCCCTTTGCCCGAAGTAACAACAATAATGCGTGCCATAGAAATTCCTTGTTAAA
+AAGGGATCAATTTAACGGTTGAACGGTCAAAGCGTTTTCGACTAACTGCAGTCGTGCCGCTTTGCCATAA
+AATTCTGCTGGGATTTGATCACTCAGCCAGTATTCACCTGCGATGGACACCAGTTCCGCCATCAGGTTCG
+TACAAAATATTTGCGTTTCCCGGTCACCACTTGCCCCTGCCAGCGCACGACCGCGCATCATGCCATAGAC
+ATGAATGTTACCATCGGCAATCAATTCGGCCCCTGCGCTAACGTGGCTTGTAACAATAAGATCACATTGT
+GGAGCATAAATACGCTGACCGGAACGCACTGGGGTATCAATTAAACGCGTTTTTGTGACCGGCGTTGTAT
+TTTGCGCTGGAGCCTGCGGTGCGGGAGCTGGACGCGGCGCTTTTTCCTTTCCTTCCGTCAGGATAGGCAG
+CCCCATCTTTTCAATTTCGGCTTTAAGTTGCGCATCTTTGCAGCCACTTACGCCAATAACCCGCAAACCG
+GTTGCCGAAACCGCCTTATGCATCGCTGACCAGTTTACCGGGGCTTCCAGTGCACTGACGTTGAGTACAA
+CGGGGGCATGTTTTAAAAATGCGGGGGCCTGAGCGATTTTGTCTTCCAGCGCCTGATGGATAACCTTAGG
+TTCTGCCTCATGCAGATGAACCACAGATAAAGTGAAGCTACTGCCTTTAAGCTCGATTGGCGTGTTTGAC
+ATCCTGGCCTTACTCAATTAGCTATTAATCATCGCCAGCGCGCGATGATGTTCCGAAGACTATAAGGCAT
+GTTATAGTCTGGATTATATTGAGGCAAGTCACCCTCCCATTTATTCAGAGTAAAAGTCTATTCTGTGATA
+AATGGCGCTGATTCATAGCTTAAAAAATACCCTTGTCAATCAACCCATTGCCGTCGTACTTTTGATTGTT
+CTTATTTACGCTTCCTTTTTCCGCACCCTAATCGTGACAGCATCTTCAGACCTGTTTAAATATCCAGTGT
+TGAGGCGAGTGTATTTTTTCACCACGCCAGGCTTTCTTAACTTTCCATTTTTTGCAGCATCATTAAAGAA
+CAGATACCCGTTATCTTAATATCCGCCACAGAATTGCTCTATCATAGAAACCGCAGAAGACGTCTGATAC
+TTCTGTCAGGTCATCGTAACTCGTCCAGGTCAGCGGTTTTGATTACGGATTGATGATGAAATGAGCATAA
+GTGTTGTACGGTTGGATTATCAGGATGTGCTATGAATATGATGCGTATTTTTTATATCGGATTGTCAGGT
+GTGGGGATGATGTTCTCATCAATGGCGTCTGGAAATGACGCTGGCGGGCTTCAATCTCCTGCGTGTGGCG
+TTGTTTGCGACCCGTATATTTGTGTGAGTTCAGATGGCATTTCCCCAGAGTTAACAAGGAAATATCTCGG
+CGAAAAAGCCGCTGAAAACTTACAATCATTACAAGGCTACGATCCCAGCGAATTTACATTCTCTAACGGT
+GTATTTTGCGATGTTAAAGAAAAATTATGTCGTGATGATCGTTATTTTGGTGTGAATGGTAAGCGGAGTG
+GAAAAATCAATCAAACCACCACAAAGATGTTATTTATGTGTCGTGAGTGATGTCTTGTTTACATTATGTT
+CTATTCGTCATTAACCTCTTAAGCGACAGAGAGGAGTGGGGCGTTAACGTTTATGACGGGGAGAGTCCCC
+GTCGGTTGATATTTACTTAATTTGAATATCGACGTTATATTTTTTAGTTTTGTTTTTACGGGCGTCGTTT
+CGGGTTTGCAGCACTCGCAGCTCATATTTGCCAGAAGCAGGGAGTGAGTATTGTCCGTGACTATCGAGTT
+CTGGGGAATATCTGGATAAATCAACAGAATCATCGATTCCTGGCCCGAAGAGGTAAGTATCAGCGCCTTC
+ATTAGAGATACTCACGTGCACTTTCTGACCTTTTTTGGCATAGAAGGTATATGTATCGTAATCGTATCCC
+TTTATTTCGCCGGAGTACTGAGCGCTGCTATGGCCTTTTCTGAACTCAACATTGACATTCTTACCCGCAG
+CAAAGCTCGTGGAGGTTAGCAGTGCAAGCAACAATACAGCCTTACTGATGCCCTTAATTTTCATTGGTAG
+TCTCCTGTTCAGAATGAGTACGATGAACTGTTATAATATAACAATCCTTCACGGGAGAATTCCAGTGGCT
+TTCCTGTGTTCGGTTAAATCCCGGCGCGGCATTTTTGCCGGGGGGATTACTTATAAAGGGGGCATGGACT
+GAACAAACCGTAGAAATCTACAGCTGGCTGGCTTGTGGCGCGGGTTTCATTGATGTTAGCTTATGCCAAA
+ACCTGGCATCTTAAAGAGTAAAAGTATGTTTTGTGTGATTTATCGAAGCAGCAAGCGTGACCAGACCTAT
+TTATATGTCGAAAAAAAAGACGATTTTTCGCGTGTTCCTGAGGAACTGATGAAAGGTTTTGGTCAGCCTC
+AGTTAGCGATGATTCTTCCGCTGGATGGGCGGAAGAAACTGGTCAATGCCGATATTGAAAAGGTTAAACA
+GGCATTAACCGAGCAAGGTTACTATTTGCAGTTACCGCCACCACCCGAAGATTTGCTGAAGCAACATCTT
+TCCGTCATGGGGCAGAAAACAGACGACACGAACAAATAACCGATATCCGGCGGTGGCATTATCTTTGTCG
+GCGCGGGTTTTCATATCCACGATAAGGTGAGGGGAACGTTATGTATCAACATCACAACTGGCAAGGTGCG
+CTGCTGGATTATCCGGTGAGTAAAGTAGTCTGTGTTGGCAGTAACTATGCCAAACATATTAAAGAGATGG
+GCAGCGCAGTACCCGAAGAGCCAGTGCTGTTTATTAAACCAGAAACGGCACTGTGCGATCTGCGGCAGCC
+ATTGGCGATCCCATCCGATTTCGGTTCAGTTCATCATGAAGTCGAACTGGCGGTGTTGATTGGCGCGACG
+CTGCGTCAGGCTACGGAAGAGCATGTCCGCAAAGCCATTGCCGGTTACGGCGTGGCGCTCGATCTGACAT
+TGCGTGATGTTCAGGGAAAAATGAAGAAAGCCGGGCAGCCGTGGGAAAAGGCCAAAGCGTTTGATAACTC
+TTGTCCGCTTTCCGGGTTTATTCCCGCGGCGGAGTTTACCGGCGACCCGCAAAATACAACGCTGGGCCTG
+AGCGTAAACGGCGAGCAACGCCAGCAAGGTACGACTGCGGACATGATCCATAAAATCGTTCCGCTGATCG
+CTTATATGAGCAAGTTTTTTACCCTCAAGGCCGGTGACGTTGTGCTGACAGGCACGCCTGATGGTGTCGG
+CCCGTTGCAAAGCGGTGATGAGCTGACAGTCACTTTCGATGGGCATTCTTTGACAACTCGCGTTTTGTAA
+TACTTTTTGCCGCCTGAAAGCGGCGGCAAAACTTGCATCGCTGTGCCAGACTGGTTATAAGGTGCGTTTT
+AACGTAATGGCGGAACACCTGATGAGCGATGTACCTTTCTGGCAAAGTAAAACCCTGGACGAAATGAGCG
+ATGCGGAATGGGAGTCGTTGTGTGATGGTTGCGGTCAGTGTTGCCTGCATAAACTGATGGATGAAGACAC
+CGACGAAATCTACTTCACTAACGTCGCCTGTCGCCAGCTCAATATTAAAACCTGTCAATGTCGGAACTAC
+GAACGTCGTTTCGAGTTTGAACCCGACTGCATTAAATTAACCCGTGAAAATCTGCCAACATTCGAATGGC
+TGCCAATGACCTGCGCTTATCGTTTGCTGGCGGAAGGTAAAGGTTTACCTGCGTGGCATCCGCTACTTAC
+TGGTTCGAAAGCGGCAATGCATGGTGAACGTATCTCTGTGCGTCATATCGCAGTAAAAGAATCAGAAGTG
+ATTGACTGGCAGGATCATATCTTAAATAAACCTGACTGGGCGCAGTGATAAATTTAATAGATGTTGATGG
+GGGCTTTCTTAATATACGTCTGGATGCTCGCCATTTCGTAGCCCTGTTTTTGAAAGCGCTCTGTCATAAT
+GAGAGTTACTCGATACCTTATTATCAACAGGTAACTCTCAATCTTTAAAAAACGTCTGTATTTTTAAATG
+TGATAAACTTTATACCTTGAGTACATAGAGAGAATAATCGCTTATCAGACTTCAGATACCTCAAAGAGTG
+TCTTCTTACCGTGTCTTTTCTGATACTCATTACAGGTGTTAATTATTTTTTTGGCCGCTTCTTTTAGTAA
+AGAAAGCATTAAATCATCATAATCAACGTAGAATCTGGTTGTTTCAGTTTCCGTTTTTATCTCCCCGATG
+GCGGCTATTTCGGTGGTTAATTTCAATTTGGCGGCATCGATATCTTTATTCGCTTGTTTAACCGTGTTAG
+ACAGGGTGGTAAAGAAACTCTGCACAGATTTTAACTTGTTCTTCAATTCTGGAATCAGTTTCCCTTCAAC
+TACGCCCGCAGCATCTTGATGCCGTCATCCAGTACCTTAATGAGAATGCCTTTCTGGGCGAATGCTTCGA
+TTCTATTTTAAACCAGGTGATATTTTTCCTTTCTGCTGGATGGACGCTGTCGCAAGAAGGCCGCGTGAGC
+ACAGGATAAGAGAACGAAAAATCAGCAGTCTATGCAGCGACAAATATTGATAGCCTGAATCAGTATTGAT
+CTGCTGACAAGAACAGACTACTGTATATAAAAACAGTATAACTTCAGGCAGATTATTATGTTGTTTATCA
+AGCCTGCGGATCTCCGCGAAATTGTGACTTTTCCGCTATTTAGCGATCTTGTTCAGTGTGGCTTTCCTTC
+ACCGGCCGCAGATTACGTTGAACAGCGCATCGATCTGAATCAACTGTTGATCCAGCATCCCAGCGCGACT
+TATTTCGTCAAAGCAAGTGGTGATTCTATGATTGATGGTGGGATTAGTGACGGTGATTTACTGATTGTCG
+ATAGCGCTATTACCGCCAGCCATGGTGATATTGTCATCGCTGCTGTTGACGGTGAGTTTACGGTGAAAAA
+ATTGCAACTACGCCCGACGGTACAGCTTATTCCTATGAACAGTGCGTACTCGCCCATTACCATCAGTAGC
+GAAGATACGCTGGATGTCTTTGGTGTGGTGATCCACGTCGTTAAGGCGATGCGCTGATGTTTGCCCTCTG
+TGATGTAAACGCGTTTTATGCCAGCTGTGAGACGGTGTTTCGCCCTGATTTATGGGGTAAACCGGTGGTT
+GTGCTATCGAATAATGACGGTTGCGTTATCGCCCGAAACGCTGAGGCAAAGGCGCTGGGCGTTAAAATGG
+GCGATCTCTGGTTCAAACAAAAAGATCTGTTTCGTCGCTGTGGCGTGGTTTGCTTTAGCAGCAATTATGA
+GCTTTACGCAGACATGAGTAATCGGGTGATGTCGACGCTGGAAGAACTATCGCCCCGCGTCGAGATTTAC
+AGTATTGATGAGGCATTCTGCGATCTGACAGGTGTGCATAATTGTCGCGATCTGACTGATTTTGGCAGAG
+AAATTCGCGCAATGGTGCTACAACGTACCCATCTTACTGTTGGTGTGGGGATCGCCCAGACCAAAACGCT
+GGCTAAGCTTGCCAATCATGCGGCAAAAAAATGGCAGCGGCAGACGGGCGGGGTGGTGGATTTATCAAAT
+CTGGAACGCCAGCGTAAATTAATGTCTGCTCTCCCCGTGGATGAAGTCTGGGGGATTGGACGGCGGATCA
+GCAAAAAACTGGACGCGATGGGGATCAAAACCGTTCTCGATTTGGCGGATTCAGATATCCGGTTTATCCG
+TAAACATTTTAATGTCGTGCTCGAAAGAACGGTGCGTGAACTGCGCGGTGAACCCTGTTTGCAACTGGAA
+GAGTTTGCACCGACGAAGCAGGAAATTATCTGTTCCCGCTCGTTTGGTGAACGCATCACGGATTATCCGT
+CGATGCGGCAGGCCATTTGTAGTTACGCTGCCCGGGCGGCGGAAAAACTTCGCAGCGAGCATCAATATTG
+TCGGTTTATCTCCACGTTTATTAAGACGTCACCATTTGCGTTCAATGAACCTTATTACGGCAATAGCGCA
+TCGGTAAAACTGCTGACGCCCACTCAGGACAGCAGGGATATCATTAACGCCGCTACGCGATCTCTGGATG
+CCATCTGGCAAGCGGGCCATCGCTACCAAAAAGCGGGCGTGATGCTGGGGGATTTCTTCAGTCAGGGAGT
+CGCGCAGCTCAATTTATTCGATGACAACGCACCGCGCCCCGGGAGTGAGCAATTGATGGCGGTAATGGAT
+ACGCTGAATGCTAAAGAGGGCAGAGGAACACTCTATTTTGCCGGGCAGGGGATCCAGCAACAATGGCAGA
+TGAAGCGTGCCATGCTTTCACCATGTTATACAACGCGAAGTTCTGATTTACTGCGGGTCAAATAAACATA
+GCGGCAGGAAAAAGCGCTCCCGCAGGAGCGCCGAATGGATTAGCGACCGAACAGGTCACGTTTTTTCGCT
+TTAAATGGCTGGGAAATCACCACCAGCACCGCGACAATCAGGTAAGCGATAAAAATACCGAGCAGCCACT
+GCGGCATTTCCAGACCTAAAAATTCCCACTGACGCTCGGCGCAATCGCCAGAGGCGACAAACACTTGCGG
+CACCCATTTATCCAGCGGCAGCCATTCCGGGAAACGAGCCATAAAATCACAGGTCGCAAACGGCGAAGGA
+TAGAGCTGAAGCATGGTGTGCTCGTAAGTTAACTGCACACCGCGGAACGCACTATACAACCAGATAACCA
+TCGCTACATAACGCAGCGGAGTTTTCGGGGCGATCGCGCCAATCAGCGCAGCACCCAGAACGCCGAATAA
+CGCGCAGCGTTCATAAATACAGAGCACGCAAGGTTTCAGTAACATCACATGCTGGAACCACAGCGCCGTC
+AGTTCCAGTGCCAGAGCAGTAAACGCCATCAACAGCCATGCGCCCCGGCCATGTGAACATTGGTTCAAAA
+ATCGCAACATAATCATTTCCCTGCAATATGCATAGAGTGCGCAGTTTAAACCAATTCATTCGCTGCGCCA
+CCAGGAGGCAGCAAAAATAGGACGCAATTGGACAATTATCGGGCGAAAAGGCAAACCGGGCATTTATATG
+CCCGGTAAGTTGTTATCAAAGCGTTGCTATCCAGCCCATTTGCATAAACCATTCGGTTACAGGAGCAAGC
+GTAAACTCGACGCAGAGCAGCCCGACGAGTGTCAGGACGAGGGTGTAAGGCAGGGCCATCCACACCATGC
+GGCCATAAGAGAGACGAATCAATGGCGCGAGTGCAGAGGTCAGCAGGAACAGGAACGCAGCCTGACCGTT
+CGGCGTAGCGACGGAGGGCAGATTGGTACCGGTATTAATGGCGACCGCCAGCAGCTCATATTGCTTCAAC
+GTGATAGCGCCACTTTCCATTGCCGCTTTCGCTTCGTTGATATAAATCGTCCCCACGAAGACGTTATCCG
+AAATGGATGACAGCAGACCGTTGAAAATATAGAACAACGACAGCTGAGCATGTTCAGATGCCTGCAACAC
+AAACTGAATAATCGGCGAAAACAGTTGTTGGTCGATAATCACCGCGACTACTGAGAAAAACACTGTCAAC
+AGTGCGGTGAATGGCAGAGATTCGGTGAAGGCTTTACCGATAGCATGTTCATCGGTAACACCGGTCAATG
+ATGTCGCCAGAATAATGACTGACAAACCAATCAAACCAACTTCCGCCAGATGCAGTGCCAGCGCAGTCAC
+CAGCCAGACGCCGATAATCGCCTGGACAATCAGACGGATTTTATCCTGACGGGTACGCTGGTTGCGGCTT
+TGATCGTCAAACTGTTGCAGTACTTCGCGGACTTTCTCCGGCAGCGTTTCACCGTAGCCAAACCAACGCA
+GCTTCTCTACCAGCAGGCAGGTTAACAGGCCACAAATCAGAACCGGGACGGTCACCGGCGACATGCGCAG
+GAAGAAATCGCCAAAATGCCAGCCAGCCGCTTTAGCGATGATCAGGTTCTGTGGTTCGCCCACCATGGTC
+ATCACGCCGCCTAATGCGGTGCCGACACCGGCATGCATCATCAGACTACGCAGAAAGCCACGGAACTGTT
+CCAGAACCACTTTGTAATGCTTGTCGATATGACTATCGTCTTGCAGGTCGGTATCTTCGGCACGGGAAGA
+GGCTACGCGATGATAAATACCATAAAAACCGACTGCAACGCTGATCACCACCGCCACGACGGTTAAGGCA
+TCGAGGAACGCGGAGAGGAACGCCGCCGCCACGCAAAAAGAGAGCGACAGCAGCATTTTGGAGCGAATAC
+TTAACAGCAAACGGGTAAATATGAACAGCAACAGCTGTTTCATAAAATAGATACCCGCCACCATAAACAT
+CAGTAACAGCAAGACTTCAAGATTTGCCGCCACCTCTTCACGGACGTGTTCCGCGCTGGTCATGCCGATG
+AATACTGCTTCAATAGCCAACAAACCACCGGGGAGCAGCGGGTAGCATTTCAGGGCCATAGCCAGAGTGA
+AAATAAATTCCGCTACCAGCAACCAGCCAGCGACGAAAGGGCTGATGAGGAAAATTAACGGATTTACGAT
+TAAGAAAATGATGAGGGCGAGTTTGTACCAGTCGGGGGACTGGCCCAAAAAATTGCGCCATAGTGCGCGG
+CCCCAGGAGATCTCCATGATGGTTTCCCTTACCTTAGAAATAATCAATGATGTTTTTATGTTTAAACGCA
+AAGCTTAACGGTCAGACAGGAGTGAGGCAAGTCTTGATAGTCAAGGGGAAAGAGATGCAGAAAATGAAGC
+CTTGATCCCTTTTTTCTTCTTTTTGTCTTCTATCAGCGTAGTTAGCCCTCTGGTATGATGAGTCCAACTT
+TGTTTTGCTGTGTTATGGAAATCTCACTATGGTCATTAAGGCGCAAAGCCCGGCGGGTTTCGCGGAAGAG
+TACATTATTGAAAGTATCTGGAATAACCGCTTCCCTCCCGGGACTATTTTGCCCGCAGAACGTGAACTTT
+CAGAATTAATTGGCGTAACGCGTACTACGTTACGTGAAGTGTTACAACGTCTGGCACGAGATGGCTGGTT
+GACCATTCAACACGGCAAGCCGACGAAGGTGAATAATTTCTGGGAAACCTCTGGTTTAAATATCCTTGAA
+ACACTGGCGCGACTGGACCACGAAAGTGTGCCGCAGCTTATTGATAATTTGCTGTCGGTGCGTACCAATA
+TTTCAACTATTTTTATTCGCACCGCGTTTCGTCAACATCCCGATAAAGCGCAGGAAGTGCTGGCAACCGC
+TAATGAAGTGGCCGATCACGCCGACGCCTTTGCCGAGCTGGATTACAACATTTTCCGCGGCCTGGCGTTT
+GCTTCCGGCAACCCGATTTACGGTCTGATCCTTAACGGGATGAAAGGGCTGTATACGCGCATTGGTCGTC
+ACTATTTCGCCAATCCGGAAGCGCGCAGTCTGGCGCTGGGCTTCTATCACAAACTGTCGGCGTTGTGCAG
+TGAAGGCGCACACGATCAGGTATATGAAACAGTGCGTCGCTATGGGCATGAGAGTGGCGAGATTTGGCAC
+CGGATGCAGAAAAATCTGCCGGGTGATTTAGCCATTCAGGGACGATAATCCTTCCAGACGGATGACAAAC
+GTATAATTGCCTGATGCGCTACGCTTATCAGGCCTACGTGTTTTTTTGCAATGTATTGAATTTGCGATAC
+TTTGTAGGCCGGATAAGGCATTTACGCCGCATCCGGCAAAAATGAGTCCTCCTCAAACGAGGAGGACTAT
+TTACAGATTTCCCATTCTCGGCGGGCAACGTTCCAGCAACTCGACGCTGCCGTCTTCGTTTTGCTGTTCC
+AGCATCACATCAAATCCCCACAGGCGATGCACATGCTTCAGCACTTCTTTGCGCCCCCGATCCAGCGGTG
+CGCGATTATGTGGAATGTAACGCAGCGTCAGCGAACGGTCGCCGCGCAAATCCACGTTCCAGATCTGAAT
+ATTCGGCTCCAGATTACTTAAGTTATATTGCGACGATAACCGGTTACGGATTTCCCGATAACCTTCTTCA
+TTATGAATAGCGGAAATCTCCAGATAATTATGCCGATCATCATCCAGCACGGTGAAGAAGCGGAAATCAC
+GCATCACTTTCGGTGACAGGAACTGGCTGATAAAACTCTCATCTTTGAAATCACGCATCGCGAAATGCAG
+CGTTTCCAGCCAGTCGGAACCGGCGATATCCGGGAACCAGTATTTGTCTTCTTCCGTTGGCGACTGACAA
+ATCCGTTTAATATCCTGGAACATGGCAAACCCGAGGGCATACGGATTGATGCCGCTGTACCACGGGCTGT
+TATAGGGCGGCTGGAAGACCACATTGGTGTGGCTGTGCAAAAACTCCAGCATAAAACGTTCCGTTACTTT
+CCCTTCATCATACAGATGGTTAAGGATGGTGTAGTGCCAGAAGGTCGCCCAGCCTTCGTTCATCACCTGA
+GTCTGTTTTTGCGGATAAAAATACTGGCTCACCTTACGCACAATACGCAGGATTTCACGCTGCCATGATT
+CCAGCAGTGGCGCATTTTTCTCCATAAAATAGAGCAGGTTTTCTTGTGGTTCGGACGGATAGCGGCGCGC
+TTCAGCAACCGTTTTCTCTTCCTCGCGCTTCGGCAGGGTACGCCAGAGCATATTGACCTGACTTTGCAGA
+TACTCTTCGCGACTCTTCTGCCGGGCTTTCTCTTCTTGCAGCGAGATTTTTTGCGGGCGTTTGTACCGGT
+CCACGCCGTAGTTCATCAGCGCGTGGCACGAGTCCAGAAGCCGTTCTACTTCATCAACGCCATAACGCTC
+TTCGCACTCGGTAATATATTTACGGGCAAAAATCAGATAATCGACAATCGAACTGGCGTCGGTCCAGCTA
+CGGAATAAGTAATTGTTTTTGAAGAAAGAGTTATGCCCATAGCAGGCATGAGCCATCACCAGCGCTTGCA
+TGGTAATGGTGTTCTCTTCCATCAGGTAAGCGATACACGGGTTAGAGTTAATGACGATTTCATAGGCCAG
+TCCTTGCTGACCGTGCTTATACAGCCGTTCAGTCTCGATAAACTTTTTACCGAATGACCAGTGCGGATAG
+TTAATTGGCATGCCGACGCTGGAGTAGGCATCCATCATCTGTTCTGAGGTTATCACTTCAATCTGGTGCG
+GGTAGGTATCCAGCCGGTAGAGTTTCGCCACCCGGTCTATCTCTGCCAGATAAACATCCAGCAGGTCGAA
+CGTCCAGTCGGGTCCATCGCTCAAACGTGTGGTGCCCTTATTCATAGAATCGATCGTCGCCATACGCGCA
+CCTCATTGTTGTCGGCGCTCTCTGTGTGGAGCACCTCATTTCAAGCATAGAACACCTGTTAAAAACCGCG
+TCGCCGGAGAATTTTTTTCTTTGCGATTTCTTATTATCAGAGTGCCACTAATCCGCTTCTGAACGGAATT
+TTATGCTGGATAAAAAGGGCGTTCAGCAGGAGATACTAAAGACGCCATATTGCCGCAGAGTCAGGGAGAT
+GTGAGCCAGCTCACCATAAAAAAGCCGTATGTTGAATAATATTTTCAACTGGGTTATCAAGATGTAATTA
+GATTATTATTCTTTTACTGTATCTACCGTTATCGGAGTGGCTATGCGAGTTGTCATACTGGGAAGTGGTG
+TGGTAGGCGTTGCCAGCGCCTGGTACTTAAATCAGGCAGGACATGAGGTCACCGTCATTGATCGGGAGCC
+GGGGGCCGCCCTGGAAACCAGTGCCGCGAATGCCGGGCAAATCTCCCCCGGATATGCTGCACCGTGGGCG
+GCACCAGGTGTGCCTTTAAAAGCGATTAAATGGATGTTCCAGCGCCATGCGCCGCTGGCGGTTCGTCTCG
+ACGGTACGCAGTTCCAGTTGAAATGGATGTGGCAAATGTTACGTAACTGCGACACCAGCCACTACATGGA
+AAACAAAGGGCGGATGGTACGTCTGGCGGAATACAGCCGTGATTGCCTGAAAGCATTGCGCGCCGAAACC
+AATATTCAGTATGAAGGGCGTCAGGGTGGGACGCTGCAACTGTTCCGTACCGAACAACAGTATGAAAACG
+CGACCCGCGATATCGCCGTGCTGGAAGATGCCGGCGTACCGTATCAGCTGCTGGAATCCAGCCGCCTGGC
+GGAAGTGGAGCCCGCGCTGGCAGAAGTGGCGCACAAACTGACGGGCGGCCTGCAGTTACCCAATGATGAA
+ACCGGAGACTGCCAGCTATTTACCCAGAATCTGGCGCGGATGGCGGAGCAGGCGGGGGTTAAATTCCGCT
+TTAATACGCCCGTTGACCAACTACTTTGCGACGGCGAGCAAATCTACGGCGTGAAGTGTGGCGATGAAGT
+GATTAAGGCCGATGCGTATGTGATGGCGTTTGGTTCTTACTCGACGGCGATGCTCAAAGGCATAGTTGAT
+ATTCCGGTGTATCCTTTGAAAGGCTACTCGCTGACCATTCCCATTGCGCAGGAAGATGGTGCGCCGGTAT
+CCACCATTCTTGATGAAACCTACAAAATCGCCATTACCCGTTTCGATAACCGCATTCGTGTCGGCGGAAT
+GGCGGAAATTGTTGGCTTTAACACCGAGCTGTTGCAACCGCGTCGTGAAACGCTGGAGATGGTGGTTCGC
+GATCTCTATCCACGCGGCGGTCATGTCGAGCAGGCCACATTCTGGACGGGTCTGCGCCCGATGACGCCAG
+ACGGCACGCCGGTTGTCGGGCGTACACGCTTTAAAAATCTGTGGCTGAATACCGGTCACGGCACGCTCGG
+CTGGACGATGGCTTGCGGTTCCGGTCAGTTGTTAAGCGATCTGCTCTCGGGGCGCACGCCAGCGATCCCG
+TATGAAGATCTAAGCGTAGCGCGCTACAGCCGTGGATTTACGCCATCACGCCCGGGCCATTTACATGGCG
+CACACAGCTAAGGAAACGAGATGACCCGTCCGATACAGGCCAGCCTCGATCTGCAGGCATTAAAACAGAA
+TCTGTCCATTGTCCGCCAGGCCGCGCCGTACGCGCGCGTCTGGTCGGTGGTAAAAGCGAACGCTTACGGG
+CACGGTATTGAGCGTATCTGGAGCGCGCTCGGGGCCACCGATGGCTTTGCATTGCTTAATCTGGAAGAGG
+CAATAACGTTACGTGAGCGCGGCTGGAAAGGACCGATCCTGATGCTGGAAGGATTTTTCCATGCTCAGGA
+TCTGGAGATTTATGACCAGCACCGCCTGACCACCTGCGTACACAGCAACTGGCAGCTCAAAGCACTGCAA
+AATGCGCGGCTAAAAGCACCGTTGGATATTTATCTTAAAGTGAACAGTGGGATGAATCGGTTGGGCTTCC
+AGCCCGATCGCGTGCTTACCGTCTGGCAGCAGTTGCGGGCAATGGCGAATGTTGGCGAAATGACCCTGAT
+GTCGCATTTTGCCGAGGCGGAACATCCTGATGGAATTTCCGGCGCGATGGCGCGTATTGAGCAGGCGGCG
+GAAGGGCTGGAGTGTCGGCGTTCGTTGTCCAATTCGGCGGCGACTCTGTGGCACCCGGAAGCGCATTTTG
+ACTGGGTTCGGCCTGGTATTATTTTGTATGGCGCTTCGCCGTCCGGTCAGTGGCGTGATATCGCCAATAC
+CGGATTACGTCCGGTGATGACGCTAAGCAGTGAGATTATTGGTGTCCAGACGCTAAAAGCGGGCGAGCGT
+GTGGGCTACGGCGGTCGCTATACTGCGCGCGATGAACAGCGAATCGGCATTGTCGCCGCAGGATACGCCG
+ACGGTTATCCGCGCCACGCGCCTACCGGTACCCCTGTTTTAGTGGACGGCGTTCTCACCATGACGGTGGG
+GACAGTCTCGATGGATATGCTGGCGGTCGATTTAACGCCTTGCCCGCAAGCGGGTATTGGTACGCCAGTT
+GAGCTGTGGGGCAAGGAGATCAAAATTGATGATGTCGCCGCCGCTGCCGGAACGGTAGGCTATGAGTTGA
+TGTGCGCGCTGGCGTTACGCGTCCCGGTTGTGACGGTGTAACTTGTTATCGCTGGATGCGACCAGCGTCG
+TATCCAGCGTTATAAAACACATTAAACTTAAGATTCGGCTTCTTCCTCCGCTACCCGAACACCAATCTTC
+AACACTTCATTATCTTCTTTCTCGGCCACCGTCCAGATCATCCCGGCAAACTCTACCTGGTCACCGACAA
+CCGGTGCTGCGCCTAACAACTGCTGGACGATTTCACCCAGCGTTTGCTGCTTATCGCGATATTCTCGCCC
+GTCTTCCAGGCCATATATCAGCGCCACATCAGCATATTTGGCGCTGGCTTCGAGAATGAAGTCACCAAAG
+AAGCGTTGATCCAGCGCGACTGGCGGCGACTGGCTGAACAGTTTACCGAGCGCCGGGAGATCGCGTTCCC
+GACCAATTACACACAACACATCGCCTTCGCGCAGTCGGGTGCTGCCGGTGGGATGAAGCAACTGGTTATC
+ACGAAACAGTGCCGCAATACGCGTCTCTTTTGGCATATGCAAATCACGCAGTGCCGCGCCCACGCACCAT
+TTATCGGCACTCAATTGATAAACAAACTGCTCCCACGGATTTTCCGGATGAATATCCAGGCCAACGCGTG
+ACACCGGACGTCCCACTGGCGGAACGACCACTTTGGCTTTTTTCGCCGCCCACGAGAGTGATGTTCCCTG
+CAATAGCAGTGAAACCAGGACCACAAAGAAGGCGACATTAAAGAACAGTCGCGCATTCTCCAGCCCCGCC
+ATCATCGGGAACACAGCCAGAATAATCGGCACCGCGCCGCGTAATCCTACCCAGCTGATAAACACGCGCT
+CACGCAGATTGAAGCCACGGAACGGTAGCAATCCGGCAAATACCGAAAGAGGACGGGCGAAGAAAATCAT
+CCATGCGGACAAAATGAGCGCCGGAATGGCAATAGGCAGCAGATCGCTTGGGTTAACCAATAGCCCCAGC
+ACCAGGAACATGGCGATTTGCGCCAGCCAGGCGAGGCCGTCGAAATTTTGCAGGATGCCGTAGCGGTTGC
+GAATCGGCCGATTACCCAGCAGAAAACCGCACAGATAAACAGCCAGAATACCGCTGCCTTCCAGCGCCGT
+GGTTAAAGCAAAAATTAAAATACCGCCGCTTAATGCCAGCAATGGATATAATCCGGCGGGCAGGGCGATG
+CGATTAATCATTTGCAGCAGTAAATAACCACCGCCAAGCCCGATGACAATCCCGAGGCCAAATTGCTGCA
+GAATATCGACCACGAACATCCAGCTGACACTGCTTTCATGCTGCTGGATCATCGCAATCAGGGTAATCGT
+CAGAAAGACCGCCATTGGATCATTACTGCCGGATTCAATTTCCAGCGTCGAGCCAACACGTTCGTTAAGC
+CCCTTACCACCCAGCAGAGAAAAGACCGCTGCAGCATCGGTGGAGCCGACGATAGCGCCGATTAATAATC
+CTTCAATCAAATCAAGATTAAACAGCCACGCCGCCATCATGCCGGTTAAACCAGAGGTGATAAGCACGCC
+CAGCGTCGCCAGCGACAGTGCCGGTCCTAACGCCACACGAAAGGAACTGGCCTGAGTGCGCATCCCGCCG
+TCGAGCAAAATAATCGCCAGCGCCAGGTTACTTACCATGTAGGCGAAGGGATAATTATCAAACGGGATAC
+CGCCGACGCCATCAACCCCCGCCAGCATGCCGATCGCCAGAAAAATAACCAGAATGGGAATGCCAAGACG
+GGAAGAAAATGAACTAAGTAAAATACTGCTGGTGACAAGGATGGATCCTAAGATGAAAAGGCTAATTATT
+GTTGTGGCATCCAACGGTCGGTTACTCCTGATTACGCTGTCTCTTATATAAACCCTACCATATTAGCGGC
+AGAGACAGCGTTTTACTTAGCCCTGAAGCGTGATTTTTTTACATTTTAAGAACAGGATGACCGCTAATCG
+TCAACTGAGTGCCTTCCTGGGTGTTATTCAGAATGGCATGTGCGCCCAACGGCAGCGTAACCGTGCGTTG
+TTCATGACCAAAATCGAGGCCGGTAATGAGTGAAATCGACAGGCGGGAACGCAAAAACGCGTACACTGAC
+TCCAGGTTGTAACCTGCGTCATAATCATTAGGCGTGCTGCCGCTAAAGCTACCGAGAATAATCGCCTTCT
+GACGTGGCAAAATTCCAGCATGATAGAGCTGCAACAGCATACGTTCGACGCGGAAAGGGTGCTCGTTAAT
+ATCTTCCAGCACCAGAATACCGTTCTCAATTTTTGGCATCCACGGTGTACCAATCAGTGAAATCAGCATC
+GCAAGATTGCCTCCCCACAGCGTGCCTTCGGTCTGACATGTCGGGCCTTCCCCTTGCCATTCAATGGTGA
+ACGTTTTATTGCGTAACGCCAGCCAGAAGTGGTGCTCGGTAAAGGCATTTAGTTCATCCGCGCCAAAGTT
+TGCTACCAGCATGGGGCCGCTAAAGGTGATGACATTGCCTTGCGCCAGAAGACCGCACTGAATGGCGGTA
+AAATCGCTATGTCCGCAAATGAGTAACGGGTCATGTTGTTGGCGAGCCACCAGTGCCTGCCAGTCAATAT
+CTGCCAGTAAACGACTGGCACCGTAACCGCCGCGTACAGCCAGCACGATGGTGTTGGGGGTAGTCAGTCT
+GGCAAGAGAATTGAGATCTTCCAGACGCTCCGTTTCCGTACCCGCAAAACGCTCACAACGACGGGCAATA
+ACCTCGACGTTATTGACCTGATGCCCCGCGTCGGTAAGGCGCTGGATACCACGCAGCGCGGCGTGCTGTT
+TAATGCAGTAACCCGATGGGGCAATTAAGTGAAACAGAGACATGGCAATTCCTTGCTGACAACAGAAACG
+AAATGTATATCATGCCGCTTAGGTGTGCCGTTGTCACCTCAACGGCGATTCCAGGCTATAAGGATAGAAG
+AAGTGAAATTGAGATGGTTTGCCTTTTTGATTGTGTTATTAGCGGGTTGTTCATCAAAGCATGACTATAC
+GAACCCGCCGTGGAACGCGAAAGTTCCGGTGCAACGTGCGATGCAGTGGATGCCAATAAGCCAGAAAGCC
+GGTGCAGCCTGGGGCGTCGATCCACAATTGATCACGGCGATTATCGCTATCGAATCGGGTGGTAATCCGA
+ACGCGGTGAGTAAATCGAATGCCATTGGTTTGATGCAGATAAAAGCTTCAACCTCCGGACGTGATGTATA
+TCGTCGTATGGGCTGGAGCGGTGAGCCGACGACCAGCGAGCTGAAAAATCCGGAGCGTAATATTTCAATG
+GGGGCGGCTTACCTGAATATTCTGGAAACCGGCCCGCTGGCAGGCATTGAAGATCCGAAGGTACTGCAAT
+ATGCGCTGGTGGTGTCATACGCTAACGGGGCAGGTGCGCTGCTACGGACTTTCTCGTCAGATCGGAAAAA
+GGCGATCAGCAAAATCAACGATCTGGATGCTGATGAGTTCCTCGATCACGTAGCGCGAAATCATCCTGCG
+CCGCAGGCTCCGCGCTATATCTACAAACTTGAGCAGGCACTGGACGCGATGTAAATCAGTCGCGCACATT
+GTCCGCTTTTTTCCGGGCTTCTCGCTCGAGAGAGAAAATAATCCGCTGTAATTGCCGCTCCACCGTCGGG
+CTGACGTTAAGAAAACGGAAGCTCAGACGGGGAGTGGTGATGGTTTCATTTTTGCCATCAATCACTTTGC
+GCTCGCTGATGGAGATTAACTGGGCGTCAAAGTGAAAAACACCCCATTGCCCCATGTTGACTTCAATCTG
+AGCGAAGCGCATGCCTTCGTGTAATTCGGCAGGCTTTGCTGTTTCCAGTAATGCGCCCATGCCGCCTAAC
+GACAAATCATACAGGCGGAAACGTAACGTACTGTTATCCGCCAGTTTGGTCTGGCAAAAATAAGGCGGAT
+GGAGTGGGGCGGTGATGCGGAAATATCGGCGTCGTTGTACAAACCATAAGGTGGGAGGCGGTACGGTAAT
+AAATGCCGGAAGCTGCAAGTATTCACTCTGCTGTAGTTGTTCAACAGTAAACTCGACTTTCGCACCCTGA
+GTTTCGGCGGTAATGGTAATGTGCTGCGCCTTTAGCACGGCGATGTTGTCTTCGGCCTGGCTGCCGAAAT
+CCAGCACCAGTTTATCCGGAGTTATTGCCAGTATTTTGCTGATCAGCTGCCCGCCATTCCAGCTGATACG
+CAAAGGAATTGCGGCTTTGTGCAAATCGCGTAACACGCCCAGGACGGCTAACGGATTTTGTTTCAGGAAC
+TGCTCATGGTAATGACTCACGCGGAAAAACTCCTGACTGACAAACTGTCTTTGGTTTATCGGTCGCAGTT
+AACAAAACTTAATACAAATGCGCGAATACTTTTTACATGTTGTTCTTAAATCAGCCGACATACGCCCAGC
+ATCGATCCCGCCCTTGCCTATACTTAGAGCGTTGACGTAAGCATTTCTTGCGTCCAATTCATCGAAACGA
+GGGCCTGAACATGGGAATTATTGCCTGGATTATTTTTGGCCTGATAGCCGGTATTATCGCCAAGCTAATC
+ATGCCGGGGCGTGATGGTGGTGGATTTTTCCTGACCTGTATTCTTGGGATAGTCGGTGCGGTGGTCGGCG
+GCTGGCTGGCGACCATGTTTGGCATTGGCGGCTCCATCAGCGGTTTTAATTTGCACAGCTTCCTGGTGGC
+GGTGGTGGGCGCTATCCTGGTGCTGGGCGTATTCCGCCTCCTGCGAAGAGAATAAGATTTTCATAAGGCG
+GATAGCGATACAGATGCCGCTATCCGCTTTCACATCAGAACGTATACTCGATACCTGCCCAGAAATTGCG
+ACCTTCTTCAATAAACCCTTCACTGTAGGCATATTTGGTATCAAACAGGTTATTGACCGACGCATTGACG
+CTGAAGCCATGACCTAAGGTGTAATCGGCTCGAATGTGAGTCACCGCAAAACCGGCGGCTTTTTGTGAAC
+CGTCACTGTTGCTGTAGCTGGAGGAACGCGCCTCTTCCGACAGCGTTACGCTTAACGGCTCCCACGGTTT
+GAGAGTCATCCATGCGGTCATTGTCTGCGTTGGCAGATCGGTTATCTTGCCGATGTCTTTGCGTTTGGCA
+TCAGCGTGGATCAGGGCGTAGCTCAATCCTACATCCAGTATATTGCTGATTTTCCCCTTAATACCGGCAT
+CCAGACCGCTGTAATCCACCGTGCCGCTGTTCTGATTTTGAATGGTATCGGCATCGATATTGTGCGAGAG
+GATGGCATCACTCACCCGGTTATAGTAAACGCTGACCTCAAATCCCCAGTCGTGCGTGAAGGCACCATTC
+CAGGTTAAATCCACCCCGCGCGCGCGTTCCGGCTTGAGCTGCGGGTTAACAATCGCTATCTGGTTATACG
+CAGGTTTGGACGTGGTATAGCGTTCTTTCAGCGTCGGAAAGCGTGTGCGGTCATAGTACGAAAGCGCCAG
+CGTGTCTTCATTGGCAAAGTGGTATTTCCCCATCACCTGCCAGTTAAAAGCTGACTGATTGTTGTCGTCA
+TAATGGGTGATACTGCCATCTTTCTCATGTTTTTTCGCTTCTACGCTATCGCGCCAGTCATAGCTGATTC
+CAGCCACGACATCGACATTATCGGCAGCAGCCCATTGATATTCACTGGCGAGCGACCAGGTACGATCTTC
+ATAGCGATCGTAAGCGGCGTGCGGCGCACCTTTTTCCCGGTGTACGTCATCTTTCCAGTTAACGGCAAAC
+GACAGCAGATCGTTTTCACGCACATCGGCTGCCAGTTGTAACCCGGCACCGTCGCTGTAATCGGAATAAT
+GGCTGTAGCTGCCTTTTTTATTTTTCAAATCAGCCAGCGAGTTGTACATCATTAGCGTATTTTCAAAGGT
+GTCGTGATACAGCCGACTTTTCAGGGTAAAACGATCGTTTAGTTGGGTCGTTCCCTGATAATAAAAACTT
+TCTTTGTCATACTCTGGCCACTGCCAGTAGCGTGATTTCTGACCACTATTTCCACTGTATGGCGGGTTAT
+CTTTTTCACCATCCTGCTTAATGTAAGTCAATGTGTATTCATCGTTTTCGCGTGGTGTAAAACCGAGCTT
+CACAATGCCGCGTTTATCATCAGCCGATGAATTAATCATCTTGCCGTGTTTGCCTGCAATATCATTATTT
+ACACCATGCGGCAGGCCGAGAAAATCCTGCTTTAGCTGGCTACCGCTGACTTGCAAATACCCCAGATCGC
+TGCTGGCGGCAAATGAAGCATGCATATCGTAGGCATTGTCCTGGCTACGGCTCCATCCCTGGCGATATCC
+CAGACTGGCTTCCAGAGGTTTTGTTGGCTTCTGGGTGGTGATATTAATGGCTCCGCCCATCTGATTAGGC
+CCCTGAAGCAGCGACGAATACCCTTTGGAAACTTCAACTGCCCCCAAATTGTTGGTCAGAATCCGCGCCA
+GATCGAGGTTGCCGTCATAGGGAACATAAATGGGCACACCGTCGAAATAGACCGGCACCTGACGACTATC
+AAAGCCACGAACTTTGACCTGTTCTTCGTTGCGGCTACCTGACTTTTGCAGCACCACGCCGGGGACGACA
+CTTAATGCCTGAGCGACATTCTGTTTATCCAGGGCCTTCATGGTGGGTTGATCGAGAACGGTGGTCGTCG
+TTGATGATACCGGACTGGACCATACGGTCAGCGTGTCGCTCTCCTGAGCCGCTACGGCCTGCTGGGTAAA
+GGCAAGTGATAATACTGTGCAGAGATAACGTTTTTTGAGTCTCATAGAATAAATTCCGTTTAACAAAGAA
+TTAAATAGAGGCTGCGGGTTGCAGACTGACTTTAATGTCAGCAGGTGCCGCGTAATAAGGCGCGGAGGTA
+ATAAAAAGGCGAATGCCGCAGTCGAGGTAATTTTTGAGTGTTGTCAGATTAATTCCGCCGGTCAGAGCCA
+GCGTGCAGTGGGGAGCCAGCGACGGTGCTATTTGCGCAATTTCAGTTGCCTGTTGCGGACTAAATTTGTC
+GAGCTGAAGTACGTCTGGTTGCGCGCGTAACGCGGCGATTGCCTCTTTCGGCGTGTCGGCTTCAACAACT
+ATTTTCTTCTCGGGTGCGTGGCGACGTAACTGATTGATTGCGCCTGACCAGTCCTGATTGTCATGAAGAA
+AATGGCGGTGGTTGGCAAACAATAATATGGTTTCCGCACATCCGGCACGATGAATCAGTCCTCCGGCAGC
+CAGAATTGCCTGCGAGGCCAGTAAGCGGGTGCCCGGAATTGCTTTTCGGGTGCAGGCGATATTGCCATCA
+GGGTAACGTTCACGAAGTAACGCCAGCATTTGAGCGAGATAATCAGAAACACCGCAACTCCACTCCAGCA
+CATTCTGGACTGCCTTCCATCCCTGATGAAGTGCTGCGGCATTACCTTGCGCACGGATTAGCCGCTGACC
+CGCGTTCGCTTGTGAACCGTCGCTGACCGCGTCATCAATAGTTAATCCCAGCGTAGTTAACATCTTACAC
+GCGACAGAAATTCCGCTGACGCAGCCGCCCTGACGGAGAAAAAACTCTATATAGCCATGCTGGTGTCCAA
+TATTTAATGCTCGCGTGGTCAGGTCACCGCCCTGGATATCTTCCAGAAGTAACGCATCGATTTGTGCCTG
+AGAAAGGAAAATCATCGCAGTGTCTCCTGCGGTACGCTATCCCACCAGATGAGCGCCCAGTCGCGGCTGG
+CAGGGGCGAGGGCACGAGCATCTTGTTGTTGATACCAGCGATATAACCGCTCACGCTCATCGTCGTTAAG
+CGCGCCCAGACTCCAGCTGACGTTCTGCTCAAAACGTTCCCAGGTGCTGTTATCCTGTTGGCAATTTTGT
+CCACGGATAAAATCAACGTGAGCATAAATTCCCATCTGATACAGGACGTTGAGTGCAAAGATATAGTTGG
+GTAATTCGATCACTTCCCGACCAGCCGCCCGCTGAATGGCTGGAGAGACGAACGAGGTGCTGACCAGATG
+AGTCGTATAGACGCGAAGCCGTGCCTGATTATTCAGTTTGCTCATTGCCTGGCGCATATCAGCCACCAGA
+GTGGAGCGGGAAGCCACGGCAATATCGCAGCGTGGCAGGTCACTCCAGTCCTCTTCCCAGGCGCGCTGGA
+TCCAGTGGACATTGTCTGCCTTTAGCGCGGCGGCGCGACGGGCGGCAACGTTCAGCATCCCCTGACTGTA
+ATCAACGCCATAAATCGTCGTGAGTTTGTCCGCCAGCGCCAGCGATACGGTACCCGGTCCGCAGCCCATA
+TCGAATAAGGTTTGCGCGCCTTGCAGGTCAATTTTTGAGGTCAGTTGTTGCAGGTAGCTGTCCGTAGGCG
+AGGCGCAATTTTCCGCCATTTTTTCCGCCCGTTGATCCCAGTGATCCGGCGTTTTTTCTGTGCGATGGGC
+CAGCCTGAGTTGCTGAAGGTAAAGGTCTGCAAAATCAATATCGTCAATGAGCATGATTTTTCCTTAGTGC
+TTAATTGCAGAGAGGTGATGGTGAATCTGGTCGGCAGAAACCCGGTACAGGGCAGCCAGTTTTTTCGTTG
+TTAACTGTTCGGTCGGTAAGCCTTGTGTTACTCGTCCATCTGGCTCTACCTGGATAATGCTGTCGGCAAT
+GGCGTTTGCATGGAGCGGATGATGAGTCGACATTAACATTGTCATGCCGTTATTTTTGAGCTGCGCCAGC
+GTGTCCAGAAGTTGGATCTGATGACCGAAATCGAGGCTGGAGGCAGGCTCATCCAGTAATAACAAGCGCG
+GTTGCTGGACGAGTGCACGGGCGATTAAAGCCAGCTGACGTTCACCGCCGCTAAGCGTATTCCAGCGTCG
+TGTCGCCAGATGCAAAATGCCCAGCTTTTCCAGTTGCTCCGTTGCTTTCAGGCGTTCTTGCTTACCGGGA
+ACGGAAAAAGCGCCTATGGTGGGGGCCAGGCCCATCAACACCATATCCAGCACACTAAAAGCAAAAATGC
+CGTCGTGCGCCTGCGGCACCCAGGCAATAGCCTGCGCGCGCTGGCGATGGCTGAGTGTCTGCACAGAGAG
+GCTATCCAGTAAGATCTCGCCTTTTAATAACGGTATAACGCCAAGAATGGAGCGCATGAGTGTGGTTTTG
+CCGCAACCATTGGCTCCTAACAGACAACAAATTGTTCCTTGCGACAGGGTGAAGGACACGTCGCGTAGCA
+CCGGATGGCGGGAGTAACCCAGAGACGCATGACGGACGGCAAGCAAAGTCACTGGCGACCTCCGCGTAAC
+AACAAAAACAGGAAAAACGGTGCACCAACAAAAGCGGTCAGAATGCCAAGTGGGATTTCTGTTGTTCCAA
+TGCTGCGTGCCAGCGTATCGGTAAGCAGGAGCAGAATCGCGCCAGTACACATTGCCATGGGCAACAGCTG
+CTGATGGTTATGACCGGTCAACAAGCGGGCAATGTGCGGAACGACCAGGCCGACCCAACCAATTATGCCC
+GCTATTGCTACCGTGCTGGCGGTGATGAGTGTGGCGCAGAAAATTAATCCAAAGCGCAGACGTGTCACGT
+TCAGTCCCAGCGAACGGGCTTCGTCGTCGGAAAGCGTGAGTAAATTCATGCGCCAGCGGAGAAAAAACAG
+GGGCAAGGAGCCTATGAGAATGATCGGTGCAGCATAGCAGAGATCGCGTAAGGTCACGGTGGACAGCCCC
+CCCAGCAACCAGAAGGTAATTGACGGTAACTGGGTGTAAGGATCGGCCAGCGTTTTTATTAGCGATATCC
+CCGCTCCGCACAACGTTCCTAACGCAATGCCTACCAGCACCAGGGTTAAGATCGGATCGTGGCGGGTCAC
+CCGACGCGTAATCAACCAGACGCCCGCGACCACCATCAGCCCGCCGCAAAATGCGTACAGCTGGATGTAA
+ACAATGGATAATCCCCACAGGATTGCCGCGCAGGCACCAAGTCCGGCACCGGCGGAGACGCCTAAAATAT
+CCGGTGACACTAAGGGATTACGGAACATTCCCTGATAGGTGGTTCCGGCCCCTGCCAGCGCCGCGCCCAG
+AAACAGCGCAGCAAGAATACGCGGCACGCGGATTTGCCAGAAGACAATTTGTTCTTGCACAGGAACATTT
+TCTTGACGAAGAATGAGCGCCAGCAGTTGCTGCATATCGAGATGATAAGCCCCACTTACGGCGGCAAAAG
+TGATACTGATAGCTGCCAGCAGCAAAATACATCCGTTTACGGTTCTCATTAGCTCGCCACCAATTTTTGA
+TAGTCGGCGTCACTGAGTGAACAATGCCAGAACAGTTGGGCGTAATGCTGCATGTCACTTTTAAACTGGC
+GATTGATGGCGGGATCCAGCCAGGCGTGAAGTCTGCGTAATCCCAGAAGACGGTTGATTCCCGGCGGGGC
+ATCCAGCCAGCCAAAGGGCAGGCCACTTAAAAATAAGATGCGTTGTTCCGCAACCGCTTTCACGCCCTGC
+CAGAGAGGATCACGACGAATAAAATCTGCAGTAACGGCCTCCTGAACCAGAATAATATCCGGCTGCCAGC
+GCAGGAGATTTTCCATGGAAACCTGTGTCAGACCGTGGCGATCGGCTATTTGCGCGACGTTATGCAAACC
+TAATAATTCCGCCGCCTCGGTATGCAACGAACCCTGTAAGCCCGTTTCCAGCCCTCGAGGACCGCGCGCA
+GCATAAAAGCTGAGGTTAGCGGCGGGTGAGGTGGCGAATGCCTGAGCTTCACCAACGAAGCGGCTGGCGA
+GATTGGCTTGTTCTGCGGCGCGGTGCTCTTCGCCTAACGTTTTGCCAAGCGTTGTTAACTGTTCTGCTGA
+TTGTTCCAGTTTCCCGTTAAGCAATAACCAGGGTATTTGTGTCTGTTCGCTAACCTGCCGTGCCTGGGAG
+ATCCAGGTTTCATCCGTATTGCCGCAATCAACGACCAAATCGGGATGTAACGCCATAAGCCCTTCCAGCG
+AGAGTGTGCTGGCGCGCCCGGCGAGTCGTCCCAGCCTGGGGAACTGGCGAATGTGCTCTGGCAATGGAAT
+TAATGCCTGACGGGCAAAATCAAAAGAGGAAAAACCGACCATTTTTTCTGGCGCGACAGCCAGCAATAGT
+AAATCGGCGGGCGCGCCTGCGCTGACGATGCGTGTAATGTTTTGGGCTTCGGGAAGCGTCCGTGAGGCCC
+AGAATTTGACTGATTGTGCAAAGGACGGCAGATGATGCAGGAACAATGTCGACGCAAGAATCTGTGTAAA
+CCTCCGTCTGGTTAGTGACATAAGTAATATCCTGATAATTAAAACCGCTATATACTTACACATATAGCGA
+AAAAGATCATGTTTGATGTCAAAATTTGTCTAAAGAGACAGAATGATTTGCTTGTTGCTTAAATAACACT
+TTGTTCCACAAGAAAATTGTCAGGGAGAATGGGGAGTGGGGGAAAATATAAATAGAGGTGTAATGATTAA
+CAAGTTGATAAAATAAAATTAAACTCTTCTCTAATAAAAGAAAATAAAGGCATAGACCGTAGAAAGAGTG
+GTATTTGGTATTTCGTGATGAAGAAAGAGCAATGCCAATTTTATGCACGTAATGGCATTGCTCGATATAC
+AGTAAAGTTAAGGCGTAGGTTCCGCCTCTTTTTGTTTTAGCGGCTGTGTTGTTGATTCACTGAGTGGACG
+CGTCGCCGGAACATTGTCACACGGTTGCTCTTTCGGGCAGATCAAATCCAGCATTTTCAGCGTCACGCCA
+TTGGTCCAGCCAAAGCCATCCTGTAATGGATATTCGCCACCGCCGCCCCCTGTTCCGGTGGTGCTGACAT
+CATATTTTTCCACCAGCTTTTTCTCCCGGTCATAGGTGTGCTGAACATTGGTCAGGAAGTGCCAGCTAAT
+GTCCATCGCTACCTCTTTTTGCCCGTAGTTTTGTAATCCTTCTGTCGCGACCCACTGCAACGGTGCCCAG
+CCGTTTGGCGCATCCCATTGTTGCCCACTTTTCACCGACGTGGTGTTCAGGCCGCCTGGTTGCAGCAGAT
+GTGTTTTCGTCGCCGTCGCCATTTTGCTGGCGCGATCTTTCGCTGCCGCATTGACGTACAGCGGGAACAG
+GGCGGCCGCGGTTAACTGATTGCGCACTTTATGACTTTTCAGGTCGTAATCGGCATACCAGCCTTGTTGA
+TCGTTCCACAGGTATTTTTCGATCCCTTTTTGACGGGCATTTGCCAGCGTTTCGTACTGGTTTGCCATCG
+CGTTATCTCCGGCAGCTTTGCTGGCGCGGGAGAGGATTTTTTCCATTTTGAACATCAAGCTGTTCAGATC
+GACCGGTACGATGCTGGTGGTGCGTAAGGTGTTTAACTGCTGCGGATTGTCCATCCAGCGCGAGCTGAAA
+TCCCAGCCAGACGCAGCGGCAGAGCGCAGGTCGCGGTAAATTTCAGTGGCAGGTCGATTCGGATTGCTTT
+TGGCAGTGGCAATATCTTCCACCCATGACTCTGGTCGTGGCGTATCGCGATCGTCCCAGTAGCGGTTGAG
+AAGGGTACCATCCTGAAGTTTTACAACGCGTTTTTCCTGTTGTCCGGCTTGCAGGTTTTCAACACCGTCC
+ATCCAGTAAGCATATTCTTTTTGCATTTGCGGCAGGTATTGTTTCAACGCGGCGTCGCCTTCATGCTGCG
+CCAGTAACTCTACCATCAGGGCAAAGAAGGGCGGTTGCGAGCGGCTTAAATAGTAACTGCGGTTGCCGTT
+GGGAATATGACCGTAAGTGTCTATTTCATGAGCAAAATTGGCCACCATATCCGCGACTTTATCCCAGTGA
+CCGCTTTCGGCAAGTCCTAACATGGTGAAGTAACTGTCCCAGTAATATACCTCGCGAAAACGTCCGCCGG
+GCACGACATAAGGTTTTGGCAGCGGTAATAGAGAATCCCATTTTTCGGTGTTTTCGGTAGAACGCGTTAA
+TACCGGCCAAAGTCCGTCAATATGTTCGCGCAGTGATTGCCCCTCTGGCGGAACATATTTCTCGCCCTCT
+TTCGGCAGGGTGAAATTGACGTTAACGAAATGGCGTAGATCAAATCCGCTCTGGTTTTGCTGCATCCGAT
+AATCAGCAAGGATCATCAGCGGATCGCTGTTCGGCACGGCATCGGCAAAGGTTTTTTGGTCCGGAAAAAG
+TTTGGCGTTTTGCACATCATTAAACAGCGGCCCTAATAAAATATCAGGCGGTTGTGGTGTTACCGATGTT
+TCTTCTGCCTGCACCGATAGCGCAGCGAAACACAAAAAGATGCAGGCTGGAATTAACGCCATTTTTTGCG
+GGCGAGAAGGTGCGGGGGATTTCATCAGTCATTCTCCTTTGGCGAAACCGAATAAAACGGTATTCAAGTA
+TCAGAAAACCTTAGTTCAGGATCGCACTAGCTGCATGATCGAAATCACATTCTGCGAACTGACAGACATT
+TTAGAAAAGGGAATTAAAGGGATAAATAACGGCGAAATAGAGTGATAAAATAACATCTGTTTATTAGTCA
+GCCAGCGACGTTGGGTTCGCGATTAGCGAAGAAAAATCATCATAATTTGGTGAAAAATATAACAGGTAGT
+AAAAAAACATCAGTGCAGAGTAAATTGCCGGATGACATCAGAATGATGCCATCCGAACGGTGGTTTAACC
+CTGACGGTTGAAACGTTGCGTTTTAACGTCCAGCGTTAGCGTTTCTTCTGGTTGTATCGCATACAGTTTC
+TCACCCTGCTGGCAAATCCAGCCAATTCCCAGTTCACGGGCGATTAGGGCACTGTGGGATAGCGGACTTC
+CGGCGCTAAGGCAGATACCTTTTACAACCGCTGGATCCAGTTGCAGTACTGTGGAGGGATAAATGTTCTC
+CGCCAGTAGAATAGTTGGCGAGTTAAACTGCGGGAGTTCTTCTTTCGTTTGGGTCAGGTGGACCAGGGTG
+CGATGCAGAAGATCGTCCACATCGATATAGCGAGCCTGTAGATATTCATCATCCAGCTGTTGGTATTGCT
+GGCTAAGTTCTTTAAGAACTTGCTGCCAGGCATATTCCGCCGTGCAATGTTCATGCTGAAGGAGTTCGCT
+TGCCGCCGCCTGCAGTTCCGGATCATCTAACAGTGTATGGTGACCAGAAAAGATTGCGGCAATATCGTCA
+AGCCCACTGGTTTCTGCTTTCGCTGTTAACGTCATCAGATCTAATAACGTGAAGTCAATGGCCTGGCGTA
+ATCGTTCTTGTTCTTCTTCCACGGTCAGGGTTGATTTTGCCTGTACCGTACATAAAACAGGTTGATAATA
+AAAGGCTTTACCCGAAACAGGCGGAACGGGACGCAGAGTAGGTGGAGCAACTTCCTCCGTTTCACCAAAG
+TTATCTTCAGCCAGCTGACGGAAAGCGATCAGTGCCTCTTCAGCTTCTGGTCCTTTCGCAATCAGGCGCA
+GCGTATCGTTATAGCGAACTTGTAGTAACGCAATCTGGTTAATACTCTCCGGTGTAACGCATTTGCCGTT
+TTTCTCCAGCAACATATCGGCATTAAATGTCGATAAGGTATAAACCAGCCGGGAGGCCGGACGTACATGC
+AGGCCGTTACGGTTTTTTATGACCACCGACAGAGAACGGGCTTCTTCATCGTACGGAGGACATGTGTCAG
+AGATTTCAGTGTCGGAGGACGGTAAACCCAGTTGTTCACGTTTGGCTTCCAGCGCATGCATGGCGTCAAA
+GATAACTTTGTCGATATCCGCTCCCGAGGCCGCGCTGACCGCTGCTGCCAGTGTACCTTCGACCAACGGC
+GCAGCACACAAACGTACTTTTGCGGCGATCTCGGGAGCCAGCAATTCCAGCGCAGTTTCAGCACTCAATA
+ATGCGCTACCCATATCCATCATGACCAGCACATGGTCGGCATCGGCAACAGATTCGATGGCCTCCATCAC
+TTTGACGGCATCGGTACCAATGGGATTATGTGGATCGTCAATTCCCGCGGCAATGGCGATTTTACAACTA
+TCACTCATTAACATCTGACGGGCTAATTCACCGACACCTTCTCCCAGTCGGCTGCTATGTGAAACTATGA
+CCAGGTTTACCATCACCAATTCCTTACTCTTTTGCGGCTAACGCCAACATTTGCATCATAAACATCACCG
+AGGTCGCGCCGGGATCCTGGTGACCAATACTGCGTTCACCGAGATAACTGGCGCGGCCTTTGCGGGCTTG
+CATCGTAATCGTACTTTGTGCAGCGGATTCGGCGATGCTACTGGCAGCGTCGAGCGCCGCCGGAACAGGG
+AGATTTTGCTCGCAGGACTGACGTAACGATTCCACCACCGGCACCCACACATCACACATGGTTTTATCGC
+CAGGTTCGGCTTTCCCGCGACTGATTACGCCGTCCGCGCCATCGCGGAACATCTGATAAAGCTCTTCCAG
+CGTCAGGCTTTGCCGTGCCTGGGTTGTCTGTGCGGCGCGGATAAAGAAGGTACCGAACAGCGGACCACTG
+GCACCTCCGACGCTGGAAAGTAGCGTCATGCCGGTATTCTTGAGAATGAAACCGATATCTTTATCTGCGA
+TAGCAGGGAGTTTTTCCACCACTTTGCTAAAGCCTCGATTCATATTTAGCCCGTGGTCAGCGTCGCCAAT
+CTCGCGATCCAGTCCAGTAAGATACTCGCTCTCGGTGCTGAAAATATCGCCACAACGAGTGAGCCAGTTA
+ACAATTTGAGTTCTGCTCAGTGACATTGCTTTCTCCTTATTTACCCCAGTTAAGGGCCGGGGTGTGGACA
+GGGGCGTCCCAGAGTGCCAGCGTTTCGTCATCAACTTTCAGTAAGGTGATTGAGAAACCGGTCATATCCA
+GTGAGGTGCAGTACGCGCCAATTAAATTACGTTCGATAGTCAATCCCGCTTGCTGGCAACGTGTGGTCAG
+GCGGTTATAGACGCCGTACAGCTCAGAAAGCGGAGTTGCGCCAAGATTGTTAACCAGCGCAATCACCCGA
+TCGCCAGACTGGAGCGGTTGTTTGGTTTGTGGTTCTTCCTGCCAGCTGCCTTGTTGATAATCCCAGAAAC
+GCAAAGTGCGATGGTATGAGCCATTTTCCAGCAGGGTGTCGAACATTTCATCGACGGTTTGATCAAGGGA
+AGAGAAGGGGCGGCGGTCAATACCTGGCTCACCATGAATGCCGACGCCAAACTCCATCTCATTATCCGCC
+AGGGTAAAAGAAGGTTTGCCCGCGGCAGGAACGGTACAGGCACCGAGAGCGATACCTATTGAATGGCCTT
+GATTATTCAACTTACGCCCCAGTTCCGCACAGGCGTCCAGTGAGTCGCCACGCTCCGCCGCTGCACCTAC
+GAGTTTTTCAATTAATACGGTGTTGGCAACGCCGCGCCGCCCGGCGGTATAAAGACTGTCTTTTACTGCA
+ACGTCGTCATCAATGACCACAGTGGTCACTTTTACGCCGCTATCGTGCAGTAACTCGGTTGCTGTTTCGA
+AGTTAAGAATATCGCCGGTGTAATTTTTGATAATCAACAGTACACCTTCGCCGCCATCAATTTGCATGGC
+GCATTCAAAGATTTTATCGGGCGTCGGTGAGGTGAAAATTTCGCCCGGACAGGCTCCCGAAAGCATCCCC
+TGACCGATATAGCCACAGTGCATCGGCTCGTGTCCGCTGCCGCCACCCGACAGCAGGGCGACTTTCCCTG
+CAACGGGGGCATCAGCTCGGGTGACATACACCGGATCCTGATGCAGTGTCAGCGATGGATGCGCCTTCGC
+TAGTCCTGCCAGTTGTTCGTCCAGTACGTCTTGCACATCATTGATCAATTTTTTCATTATTTTGCTCCAG
+CAATTACGGTAGGGCATGGATGATGTTCAACGACACGGCGACCACTGACTGCCGATGAATCCATTGTGCA
+TCAGGCAAGGGAAAAGAAAATTAGCCCAAATTAGGTTTCATAGTGAAACATATGCTTTAATGAATGTTCC
+ATATTGAAACTTTTACGTGTATTAATACTTAAAATTGCGAGCCGGAACACCTTTTGTCATAAGGGATGCG
+GGATATGAGTGGCGCTTTTAACAACGATGGTCGGGGCATATCTCCCTTAATTGCAACCTCCTGGGAGAGA
+TGCAATAAGCTGATGAAACGGGAGACATGGAACGTACCACACCAGGCTCAGGGCGTGACATTTGCTTCTA
+TTTATCGGCGTAAGAAAGCGATGCTGACGCTCGGGCAGGCTGCGCTGGAAGATGCCTGGGAATATATGGC
+ACCGCGAGAGTGTGCGTTGCTTATCCTCGATGAAACCGCCTGCATTCTCAGCCGTAATGGCGATCCGCAA
+ACCTTGCAGCAACTAAGTACACTGGGATTCAATGACGGCACGTATTGCGCCGAGGGAATTATTGGTACTT
+GTGCGCTATCGTTAGCGGCTATCTCTGGTCAGGCCGTGAAAACGATGGCCGATCAACATTTCAAACAGGC
+ACTCTGGAACTGGGCCTTTTGCGCAACGCCGTTGTTTGACAGCAAGGGCCGATTGACGGGAACAATAGCG
+CTGGCGTGTCCGGTTGAGCAAACTACCGCAGCTGATTTGCCGTTGACGTTGGCAATCGCACGCGAGGTCG
+GAAATTTACTGCTGACGGACAGTTTGCTCGCTGAAACTAACCGTCATTTAAATCAACTTAATGCCCTGTT
+AGAAAGTATGGATGATGGCGTGATTAGCTGGGACGAGCAGGGTAATTTGCAATTTATCAATGCCCAGGCG
+GCGCGGGTCTTGCGCCTTGACGCGACGGCAAGTCAGGGACGAGCAATCACTGAACTCTTAACGTTACCCG
+CCGTATTGCAACAAGCAATAAAACAGTCACATCCGCTCAAACACGTAGAAGCCACCTTTGAAAGTCAGCA
+TCAGTTTATTGATGCGGTGATAACCCTTAAACCGATAATAGAAACGCAGGGAACCAGCTTTATTTTATTG
+CTCCATCCTGTGGAACAGATGCGGCAGTTAATGACCAGTCAATTAGGAAAAGTCAGCCATACCTTCGCTC
+ATATGCCACAGGACGATCCGCAAACCCGCCGCTTGATTCATTTTGGTCGCCAGGCGGCACGCAGTAGCTT
+TCCTGTCCTGCTTTGTGGAGAAGAGGGCGTGGGCAAGGCACTGCTAAGTCAGGCAATTCATAATGAAAGC
+GAGCGTGCAGCGGGGCCTTATATCGCCGTCAATTGTGAGTTATATGGTGATGCGGCGCTGGCGGAAGAAT
+TTATTGGTGGCGATCGCACGGATAGTGAAAATGGCCGTCTGAGTCGGCTGGAACTGGCGCACGGCGGCAC
+GCTGTTTCTTGAAAAGATTGAATATCTGGCGGTGGAGTTACAGTCTGCCTTGCTTCAGGTTATCAAGCAG
+GGGGTTATCACGCGACTGGATGCGCGGCGTTTAATACCCATTGATGTCAAAGTGATTGCCACAACGACCG
+CGGACCTCGCAATGCTGGTGGAACAAAATCGTTTTAGTCGCCAGCTGTATTACGCGCTGCATGCATTTGA
+AATTACCATCCCGCCACTGCGTATGCGGCGTGGCAGCATTCCGGCGCTGGTGAATAACAAATTACGCAGC
+CTTGAAAAACGCTTCTCTACACGGCTGAAAATTGATGACGATGCCCTCGCTCGCCTGGTTTCCTGTGCAT
+GGCCTGGCAACGATTTTGAACTTTACAGCGTCATCGAGAATCTTGCTCTGAGTAGTGATAATGGGCGCAT
+TCGCGTCAGTGATTTGCCGGAACATCTGTTTACCGAGCAGGCGACAGATGATGTCAGCGCCACCCGCCTT
+TCCACCAGTCTGTCATTTGCGGAAGTTGAAAAAGAGGCAATTATTAACGCAGCCCAGGTCACAGGCGGTC
+GCATTCAGGAAATGTCGGCTTTACTTGGGATCGGCCGCACTACGCTGTGGCGGAAAATGAAGCAACATGG
+CATTGATGCAGGGCAGTTTAAGCGCCGTGGATAGCGGGAGAGTATGTACTTTCCCGCTATGAATTGCTAA
+TTAATAGCGACCATGACTGCCGTGATTTGGTCCACCATTTGAAGGTGGCATTGGCTTACCTGAGGGCGCA
+GGACCACGAGGGCCATCGCTGTGGCGGTGATGATGGTGGGGAACACAAGCACTCAACAGGCTTGCAAAGA
+CAATTGCTAACAGGCTGAAGGTAAATGTTTTTTTCATGACAAACTCTTGAACGGTTAATGCACTGTGATT
+GTTATCACATAAAAGCTGCATTGTTAATATTGTCAGGAGTCTGATTATGAGTTTTGGTAACTCAGAATTG
+AAAGAAGACGCGTAGCAGGCGTAAAAAAGCCATTACGTGCAACTCACATAATGGCTCGTTATTAACCGCC
+AGGGTAGTATTAGCGGAATTAGACGTTGAACAGGAAGTTCATCACATCGCCATCTTTAACGATGTAATCT
+TTGCCTTCTGCACGCATTTTGCCTGCTTCTTTCGCGCCTTGTTCACCTTTGTAAGTGATGAAATCTTCAA
+ACGAGATGGTTTGTGCACGGATAAAGCCTTTTTCAAAATCAGTATGGATTTTGCCCGCTGCCTGCGGCGC
+GGTTGCACCAACCGGAATGGTCCATGCACGCACTTCTTTCACCCCAGCGGTGAAGTAAGTTTGCAGGTTC
+AGCAGCTTATAACCGGCACGGATCACACGGTTCAGGCCCGGCTCTTCCAGCCCAAGCTCCTGCATAAACT
+CGTCACGCTCTTCGTCGTCCAGTTCGGCAATGTCTGCTTCAACAGCAGCACAAACCGGAACTACAACAGA
+ACCTTCTTTCGCTGCGATTTCACGCACCTGGTCAAGATACGGGTTGTTTTCAAAACCGTCTTCGTTGACG
+TTGGCGATGTACATTGTTGGTTTTAGCGTCAGGAAGCTCAGGTAACGAACAGCCGCTTTCTCTTCAGCGC
+TTAAATCCAGCGCACGCAGCATACCTGCGTTTTCCAGCTGGGGCAGGCATTTTTCCAGTACCGCCAGCTC
+GGCTTTCGCGTCTTTATCGCCACCTTTGGCTTTCTTCTGTACGCGATGAATCGCACGTTCACAGGTGTCG
+AGATCCGCCAGCGCCAGTTCGGTGTTGATAACTTCAATATCATCCGCCGGGTTAACTTTGCCGGAAACGT
+GAATGATGTTGTCATTTTCAAAGCAGCGAACAACGTGACCGATCGCTTCGGTTTCACGGATGTTGGTCAG
+GAACTGGTTACCCAGACCTTCGCCTTTCGATGCGCCTTTTACCAGACCGGCGATATCGACAAATTCCATG
+GTCGTGGGAAGTGTACGCTGCGGTTTTACGATTTCAGCCAGTTGATCCAGGCGAGGGTCAGGCATTGGTA
+CGACGCCCGTGTTCGGCTCGATGGTGCAGAATGGAAAGTTGGCCGCTTCAATACCGGCTTTGGTCAGCGC
+GTTGAACAGGGTAGATTTCCCGACGTTGGGCAAACCGACGATACCGCATTTGAATCCCATGATTTAAATC
+ACCTTAATATCTTAATAATCAACCTGTTATTGCTAACAGATTGCAGAAATGGAAATAACTTTGCCTATTA
+TACACGGCACTCGGCAAAAATGCCGCAGACAACGACTTATTGCGCTTTAAAGGCGTGCAATCGGTTCGTT
+GCTTTGGTCAAGCCATCTGTAAACCACATTTCAGTACAACGCGCCGCTTCGTCGATGGCTTCATCAATTA
+ACTTCTGTTCACTAACAGGCGGTTTGCCTAACACAAAACCGACAACTTTATTTTTATCGCCCGGATGACC
+GATTCCGATGCGTAAACGGTGAAAGTTAGGGTTATTACCCAATTTACTGATGATGTCTTTCAGTCCATTG
+TGACCACCATGACCGCCACCCAACTTAAATTTGGCGACGCCAGGAGGCAGATCCAGTTCGTCGTGGGCCA
+CCAGAATTTCGTCCGGATTAATGCGGAAAAAACTGGCCATCGCCGCAACGGCTTTGCCGCTGAGATTCAT
+AAATGTAGTCGGGACTAACAGGCGGACATCTTCGCCTCCAAGGGTGACTCGCGAAGTATAACCAAAGAAT
+TTAGCCTCTTCGCGCAGCGGAGCGCGCAATCGCTCTGCCAGTAAGTCAACGAACCAGGCACCAGCATTAT
+GTCGCGTTGCGGCGTATTCAGCACCGGGGTTCGCCAGGCCGACAATCAATTTAATCGTCACGTTTTTTTG
+TCCTGAGTGTGTACATAACTGGCGCGTAGTTTACTGGTTGCGGCCCCGCTTGACAAAAAACTGCGTATCA
+AATGCAGATAACGCAATTATTGCCTGAGTGAACTATTAGAAAGTCAAGGTGTTCAGGCGTTTATTTGTAA
+AGTTTTGTTGAAATAAGGGGTGTAATTGTGATCACACCCGCACATAACCTACAGGGTGTTGTCTATACTT
+TACACATAAGGAAGAGGGGTATTCCCTGTTACAACCCAGAAAGTTCCGGAGGTGACATATGAAACGCAAA
+AACGCTTCGTTACTCGGTAACGTGCTCATGGGGTTGGGTCTGGTGGTAATGGTGGTCGGCGTGGGGTATT
+CAATCCTCAACCAGTTACCACAGTTTAATATGCCCCAGTATTTCGCACATGGTGCAGTGCTAAGTATTTT
+CGTCGGTGCGATTCTCTGGCTGGCAGGTGCCCGTGTTGGCGGGCATGAACAGGTGTGCGACCGTTACTGG
+TGGGTTCGCCACTATGACAAACGTTGCCGCCGTAGCGATAATCGCCGTCATAGCTAACAAATAATGCAGT
+TTGCTGACCAGTCAGTTTGCGCTGACTGGTCAATCTCGTACTTATAAATCCGCCATCGCCGCGCGACGAT
+TCGGGAAGAATGCGAGGCGTCCCGGGATCGGTTGAATGCCTGCGCGAGCCATAGTGCGCAGTGGCTGGAA
+TTCCAGGTTGCACACGCGCAGTTCACATCCTTCGGGCAGACGCTTCACAAAACGCTGGAACGCATCAAGA
+CCACCAGCATCAAGTACCGGAACTGCATCCCACTTCAGAATCACAATCCGTTTGCCTTCAAGACGTGACT
+CCAGGTCCGTGAATAAGCCTTCAGCGGCAGCAAAAAACAGCGGGCCAATAACGCGCAGAACCAGGACATC
+GTCTGGAACGTCTACGACTACCGGTGCCAGGCGAGTCATACGTGCGATACGACGCATAAACAGCAGCGAT
+GCCAGCACGATCCCCACGCTGATGGCAATAACCATATCGAACAGCACGGTCAGCGACATGCACAGCAGCA
+TGACGATGATGTCATCTTTCGGTGCATGACGCAGCAAGTCGACCACTTTGTGCGCTTCACTCATGTTCCA
+CGCCACCATCAACAGCAGGGCTGCCATGGCGGAAAGCGGCAGCCAGGAGAGCAGCGGTGCCAGTACCAGC
+AGGGCAAGAATAACCAGAATAGAGTGGATCACCGCCGAGATAGGGGAAGTAGCCCCGGCACGGACGTTAG
+CGGCAGAACGCGCGATGGCAGCTGTAGCGGTAATACCACCAAAGAACGGAGCGATAATATTCCCCAGTCC
+CTGTCCAACCAGTTCGCTGTTCGCCTTGTGTTTCGTCCCGGTCATACCATCCAGCACCACGGCGCAGAGC
+AGAGATTCGATTGCGCCGAGCATTGCCATTGAGAATGCCGCAGGCAGCAAGGTGCGAATAGAATCCCAGG
+TTAGCGTGAATTCTGAATTAGGCAGATCCCACGGCAGCACCAGTTGCGGCAGCAGTTGCGGAATACCGTT
+ACCCTGAGAACCATCGGCCAGGACGTAGTGGAATTGCGAACCGATGGTAGCAACATGTCCGCCGAGCAGG
+TTAACAATCCCCATCACCGCGCAACCAGCCAGCAAGGCCGGAAGGTGGCCGGGTAAACGTATGCCCAGAC
+GCGGCCAGAAAACCAGAATGCCAAGCGTCACAATGCCAATGGCTGCATCACCCACATTAATGGTCGGCAG
+CGCCATAAATAATGCGCCGACTTTTTGTAGATAATGTTCCGGGACATGGGCCATTTGCAGACCGAGAAAA
+TCTTTAATCTGCATGGTACCGATGGTGATCCCGATACCCGAGGTGAAACCTAAGGTGACGGAAACCGGAA
+TATACTCAATCAGGCGACCAAAGCGTGCCAGCCCCATCAGAATCAAAAAGATCCCCGACAGCAAGGTCGC
+AACCAGCAGTCCTGCCAGTCCAAACTGTTGCGAAACGGGATAGAGAATTACCACAAATGCCGCAGTCGGA
+CCGGAAACGCTAAAGCGTGACCCCCCCGTCAGAGCAATGACAATCCCCGCAACAGCTGCGGTATATAAAC
+CGTACTGGGGGGCCACACCACTACCAATAGCCAACGCCATCGCCAGCGGGATAGCAATAATCCCGACGGT
+TATCCCGGCAATCAGGTCACGGGTAAACCGTGCGGCAGTATATTTTTCTTTCCAGCAAGCGTCGATCAGA
+GCGCGGAAAGGCATCACATGTGAGGAAAATATTTTGTTCACAATAATGTTTCATCCGTGAGCGCATCATC
+TGTCAACTAAATGGCAGGTGAAGGAGGCATAGGTCATACAAATGGATATTACAGACAAAAAAACCCGCCG
+CAGCGGGTCTTTGAGCCGGGTTCGATTAGTGTTCGAACATGGCAGAGATCGATTCTTCGTTGCTGATACG
+ACGAATCGCTTCGGCCAGCATACCTGACAGGGTCAGAGTACGCACGTTCGGCAGTGATTTGATTTCATCG
+CTCAGCGGAATGGTATCGCAGACAACGACTTCATCAATTACAGAGTTACGCAGGTTGTTCGCCGCGTTGC
+CAGAGAAGATCGGGTGAGTCGCGTACGCAAATACACGTTTAGCACCACGTTCTTTCAGAGCTTCAGCAGC
+TTTACACAGCGTACCGCCAGTGTCGATCATATCATCGACCAGTACGCAGTCACGACCTGCAACGTCACCG
+ATGATATGCATCACCTGGGAAACGTTCGCACGCGGACGACGTTTGTCGATGATTGCCATATCGGTATCGT
+TCAGCAGCTTAGCGATAGCGCGGGCACGCACAACGCCGCCGATGTCCGGAGAAACCACAATTGGGTTATC
+CAGATTCAGCTGCAGCATGTCTTCCAGCAGGATCGGGCTACCAAATACGTTATCAACCGGAACGTCGAAG
+AAACCCTGAATCTGTTCAGCGTGCAGATCCACTGTCAGCACACGGTCAACACCGACGCTGGAGAGGAAGT
+CTGCAACCACTTTCGCAGTGATTGGTACACGAGCGGAACGGACGCGACGGTCCTGGCGCGCATAGCCAAA
+GTAGGGGATAACAGCGGTGATACGACCTGCGGAAGCACGACGCAGGGCATCAACCATAACGACTAATTCC
+ATCAGGTTGTCGTTAGTAGGGGCACAAGTGGACTGGATGATGAAAATATCACCACCGCGTACATTTTCAT
+TAATTTGTACACTGACTTCGCCGTCGCTAAAGCGACCTACAGCGGCGTCGCCGAGTGAAGTGTACAGGCG
+GTTGGCAATACGTTGTGCTAGTTCCGGGGTGGCGTTACCAGCAAAAAGCTTCATATCAGGCACGAGAAGA
+ACCTCAGGCATGCGTCCATTGGTGGAAAGAATCTGCCGAAAACTGTGCGGGCCAGGCATGATTCTTTCCA
+GGCGGTGTATTAAAGAGCGCGATGCAACGTCTGGAACAAGGTGACGTTGTCACCGAAACTCAGCTTGCCC
+GGCTTAAAGCATGGCTCTGTGCAATGGGGAAAGATTAACGCCTTTCGCCACAAAGCCATTGAGCCATTCC
+GGGGCTTGCTCTAGCACCTGGCGGGCTTCAGACTCTGTATCAAATTCAGCAAAGACACAGGCCCCTGTCC
+CAGTCAGGCGCGACGGGGCGTATTCTAACAGCCAGGAAAGCACCGCATCAACCTCGCGAAAACGTTTTCT
+TGCGATAACCTCGCAATCATTGCTGAATTCACATTTTAGCAACGTTTCTATTGACCTTTTTGGCGTATTG
+CGCGGGAGTTCAGGATCTTTAAAAATCACCGGCGTCGGAATACTCACGCCAGGGTGTGCGACCAGATACC
+ATTTCTCTGGCGGGTCTACCGGCGTTAATATTTCGCCAACACCTTCGGCAAAGGCGGCATGACCACGGAC
+AAAGACAGGAACATCTGCGCCCAGCGTCAGCCCCATTTCCGCCAGCTCATCCATGCTTAGTCCGCATTGC
+CAGAGATGATTTAACGCCACCAGAACCGTCGCGGCATTGGATGAACCACCGCCGAGACCGCCGCCCATCG
+GCAAACGCTTGTCAATGCTGATATTCGCACCGCTTCCCGTCGAAAGACGCCCGCTGTCTGCCGCAGTTTT
+CATCAACAACCTCGCTGCGCGAACGATCAGGTTATCTTCATGTTCCACGCCTTCAACGGGCGTTAACAGA
+CGAATATCCCCATCGTCACGAAGCTCAATGCTGATGGTGTCGCCGTAATCAAGAAACTGAAACAGCGTTT
+GCAGCGTGTGGTAACCATCCGCACGCTGACCGGTAATGTATAAAAACAGATTAAGTTTTGCCGGAGAGGG
+CCACTGTGTCCGCATTATTTCACTATCCAGTTATCCATTTTTAACTTGATGCGTTGACCACCGTCGGTGA
+GTTCCATATTGGCTGGCATCGCAGGTTGAGTTTTTGTGTCATAACCACCGTAAACAACTTTCCAGTTTTT
+GCCATTCTGGCTGTAGGTGATTTCACTCAGGCGGTACTGGTCGTCAAGTTTGTAGTCAGTCGCATCACCC
+GGTAAACCTAAAATCCACTGGCGCAAGCTGTTGAGCGGAATTGGCATTCCGGTCAATTTGCCAATCATCT
+CTTCGGCGTCATCGGAGGTATAACGCTGACCTTTATTGTCGACTAACTGCACGTTACCCGGTTGAGCATT
+CAGCTCCAGTTCCGTGCTGCCCAATGGGTTAGTCAGCAGCAGACGGTAGCGATCCTGGCCAGTTTGTTGC
+CAGAAGAAACGGGCGTACACTTTTTGTTGGTCAGAAATATAAGCGAACGCGCCGCGAGTTTGATACTGAT
+TAAGATTGCGCACGTCTTGCTGATGCTGACGCCATTGTGGCGAATCTGGGCTTTTGCCAGGACCTTTGGG
+CGTGGTAACGGAACAGGCAGTGAGCACAAGAGCAGCCAGCGGTAGCAGGCGGATAAAGCGAAAATCGGGC
+AGGGGCATAATAATGACAAGTCCTTGAGATACGTTGCAGTTATAACCCTTAATGCTAGCGTTACCGTTAG
+CCATCGTCTATGTTCACGTTGTCTTAATTGCCAGAATCTAACGGCTTTCGGCAATTACTCCAAAAGGGGG
+CGCTCTCTTTTATTGATCTTACGCATCCTGTATGATGCAAGCAGACTAACCCTATCAACGTTGGTATTAT
+TTCCCGCAGACATGACCCTTTTAGCACTCGGTATCAACCATAAAACGGCACCTGTATCGCTGCGAGAACG
+TGTATCGTTTTCGCCGGATAAGCTCGATCAGGCGCTTGACAGCCTGCTTGCGCAGCCGATGGTGCAGGCC
+GGTGTGGTGCTGTCGACGTGTAACCGCACAGAACTTTATCTCAGCGTTGAAGAACGGGATGACCTGCAAG
+AGGCGCTCATTCGCTGGTTGTGTGATTACCATAATCTCAACGAAGACGATCTGCGTAATAGCCTCTACTG
+GCATCAGGATAACGATGCGGTCAGTCATTTAATGCGCGTTGCCAGTGGGCTTGATTCTCTCGTCCTTGGC
+GAGCCGCAGATCCTCGGTCAGGTTAAAAAAGCGTTTGCCGATTCGCAAAAAGGTCATATGAAGGCCAGCG
+AACTGGAACGCATGTTCCAGAAATCTTTCTCTGTCGCGAAACGCGTTCGCACTGAAACAGATATCGGTGC
+CAGTGCTGTGTCTGTCGCTTTTGCGGCTTGTACGCTGGCGCGGCAGATCTTTGAATCGCTCTCTACGGTG
+ACGGTACTGCTGGTTGGCGCGGGCGAAACCATCGAGCTGGTGGCGCGTCATCTGCGCGAACACAAAGTAC
+AGAAGATGATTATCGCCAATCGCACTCGCGAACGTGCCCAAATTCTGGCAGATGAGGTTGGCGCGGAAGT
+GATTGCCCTGAGCGATATCGACGAACGTCTGCGCGAAGCCGATATCATCATCAGTTCCACCGCCAGCCCG
+TTGCCGATTATCGGTAAAGGCATGGTGGAGCGCGCATTAAAAAGCCGTCGCAATCAACCAATGCTGCTGG
+TGGATATTGCCGTTCCGCGCGATGTTGAGCCGGAAGTTGGTAAACTGGCGAATGCTTATCTTTATAGCGT
+TGACGATCTGCAAAGCATTATTTCGCACAACCTGGCGCAACGGAAAGCTGCTGCTGTGGAGGCGGAAACT
+ATCGTCGCCCAGGAGGCCAGTGAATTTATGGCATGGCTTCGAGCACAAAGCGCCAGCGAAACTATTCGCG
+ATTATCGTAGCCAGGCAGAGCAGGTTCGTGATGAGTTAACTGCTAAAGCGTTAGCGGCCCTTGAACAGGG
+CGGTGATGCGCAAACCATTATGCAGGATCTGGCATGGAAACTGACTAACCGCCTGATCCATGCACCAACA
+AAATCACTTCAACAGGCTGCCCGTGACGGGGATAACGAACGCCTGAATATTCTGCGCGACAGCCTCGGGC
+TGGAGTAGCAGTACATCATTTTCTTTTTTTACAGGGTGCATTTACGCCTATGAAGCCTTCTATCGTTGCC
+AAACTGGAAGCCCTGCATGAACGCCATGAAGAAGTTCAGGCGCTGCTGGGTGATGCGCAAACCATCGCTG
+ACCAGGAACGTTTTCGCGCATTATCTCGTGAATATGCGCAGTTAAGTGATGTTTCGCGCTGTTTTACCGA
+CTGGCAACAGGTTCAGGAAGATATCGAAACCGCACAGATGATGCTCGACGATCCTGAAATGCGTGAGATG
+GCGCAGGATGAACTGCGCGAAGCTAAAGAAAAAAGCGAGCAACTGGAACAGCAATTACAGGTTCTGTTAC
+TACCAAAAGATCCTGATGACGAACGTAACGCCTTCCTCGAAGTCCGTGCCGGAACCGGCGGCGACGAAGC
+GGCGCTGTTCGCTGGCGATCTGTTCCGTATGTACAGCCGTTACGCCGAAGCCCGCCGCTGGCGTGTAGAA
+ATCATGAGCGCCAGCGAGGGTGAACATGGTGGTTATAAAGAGATCATCGCCAAAATTAGCGGTGATGGTG
+TATATGGTCGTTTGAAATTCGAATCTGGCGGTCATCGCGTGCAGCGTGTTCCTGCTACGGAATCGCAGGG
+TCGTATTCATACTTCTGCTTGTACCGTTGCGGTAATGCCAGAACTGCCTGATGCAGAACTGCCGGACATC
+AACCCAGCAGATTTGCGCATTGATACTTTCCGCTCGTCAGGGGCGGGTGGTCAGCACGTTAACACCACCG
+ATTCGGCAATTCGTATTACTCACTTGCCGACCGGGATTGTTGTTGAATGTCAGGACGAACGTTCACAACA
+TAAAAACAAAGCTAAAGCACTTTCTGTACTCGGTGCTCGCATCCACGCTGCTGAAATGGCAAAACGGCAA
+CAGGCCGAAGCGTCTACCCGTCGTAACCTGCTGGGGAGTGGCGATCGCAGCGACCGTAACCGTACTTACA
+ACTTCCCGCAGGGGCGCGTTACCGATCACCGCATCAACCTGACGCTCTACCGCCTGGATGAAGTGATGGA
+AGGTAAGCTGGATATGCTGATTGAACCGATTATCCAGGAACATCAGGCCGACCAACTGGCGGCGTTGTCC
+GAGCAGGAATAATGGAATATCAACACTGGTTACGTGAAGCAATAAGCCAACTTCAGGCGAGCGAAAGCCC
+GCGGCGTGATGCTGAAATCCTGCTGGAGCATGTTACCGGCAGAGGGCGTACTTTTATTCTCGCCTTTGGT
+GAAACGCAGCTGACTGACGAACAATGTCAGCAACTTGATGCGCTACTGACGCGTCGTCGCGATGGTGAAC
+CCATTGCTCATTTAACCGGGGTGCGAGAATTCTGGTCGTTGCCGTTATTTGTTTCGCCAGCGACCTTAAT
+TCCGCGCCCGGATACGGAGTGTCTGGTGGAGCAGGCACTGGCGCGGTTGCCTGAACAACCTTGCCGTATT
+CTCGATCTCGGGACGGGTACCGGGGCGATTGCGCTGGCGCTGGCCAGCGAGCGTCCGGACTGCGAAATTA
+CCGCTGTAGATCGTATGCCAGATGCTGTCTCTCTGGCGCAACGTAATGCCCAGCATCTGGCTATCAAAAA
+TATCCACATTCTGCAAAGCGACTGGTTTAGCGCGCTAGCCGGGCAGCAGTTTGCGATGATTGTCAGCAAT
+CCGCCGTATATTGACGAGCAGGACCCACATCTTCAACAAGGCGATGTCCGCTTTGAGCCGCTCACTGCGC
+TGGTTGCGGCAGACAGTGGAATGGCAGACATCGTGCATATCATCGAACAGTCGCGTAACGCGCTGGTATC
+CGGCGGCTTTCTGCTTCTGGAGCATGGCTGGCAGCAGGGTGAAGCGGTGCGACAGGCATTTATCTTCGCG
+GGGTATCATGACGTCGAAACCTGCCGTGACTATGGGGATAACGAGCGCGTAACGCTCGGCCGCTATTATC
+AATGACAAGTTTTTCTACGTTGCTTAGCGTTCATCTCATTAGTATCGCGCTTTCTGTTGGGCTATTGACC
+TTACGTTTCTGGCTACGTTATCAGAAGCATCCACGGGCATTTGCTCGCTGGACGCGCATTGTGCCGCCGG
+TTGTCGATACGCTGTTATTGTTAAGCGGCATTGCGTTGATGGCTAAAGCGCACATCCAGCCATTTTCCGG
+GCAGGCACAGTGGCTGACTGAAAAGCTGTTTGGAGTTATCATTTATATTGTTTTGGGTTTTATTGCACTC
+GATTATCGTCGTATGCACAGTCAGCAGACGCGCATTATTGCCTTCCCGCTGGCGTTGGTGGTGCTGTACA
+TCATCATTAAACTCGCCACCACAAAAGTACCGTTACTGGGGTAAGTCATGAGATCGTTAGCTGATTTCGA
+ATTTAATAAAGCGCCATTGTGCGAAGGCATGATCCTGGCTTGCGAAGCAATCCGCCGCGATTTTCCCTCG
+CAAGATGTTTACGACGAACTGGAGCGTCTCGTTAGTCTGGCGAAGGAAGAAATTAGCCAGCTTCTGCCAT
+TAGAAGAGCAGCTAGAAAAATTAATCGCGCTGTTTTACGGCGAATGGGGGTTTAAAGCCTCACGCGGCGT
+TTATCGTCTTTCCGATGCATTATGGCTGGACCAGGTGTTAAAGAATCGACAGGGCAGTGCGGTATCATTA
+GGTGCGGTTTTATTATGGGTCGCGAATCGTCTCGATTTGCCGCTGCTGCCGGTGATTTTCCCTACGCAGC
+TGATATTGCGCATTGAATGTCCGGATGGCGAAATTTGGCTGATTAATCCTTTTAACGGTGAATCGTTAAG
+CGAACATATGCTGGATGTGTGGTTAAAGGGAAATATCAGCCCGTCGGCGGAACTGTTTTATGAAGACCTT
+GATGAAGCTGATAACATTGAGGTAATCCGCAAATTGCTGGATACACTCAAAGCTTCGTTGATGGAAGAAA
+ATCAGATGGAGCTGGCGTTACGCACCAGCGAAGCTTTATTACAATTCAACCCGGAAGATCCCTATGAAAT
+TCGCGATCGCGGGTTGATTTATGCGCAACTGGATTGCGAACACGTTGCGTTGAACGATTTAAGTTATTTC
+GTTGAACAGTGTCCGGAAGACCCGATCAGCGAAATGATCCGTGCGCAAATAAATAACATCGCGCATAAAC
+ATATTGTGCTGCATTAATTAATCGACATTTTACTCAAGATTAAGGCGATCCTATGAAACAAAAAGTGGTT
+AGCATTGGCGACATCAACGTAGCAAATGACCTGCCGTTCGTACTGTTTGGCGGTATGAACGTGCTGGAAT
+CTCGCGATCTGGCGATGCGCATTTGCGAGCACTACTTAACCGTGACCCAGAAACTGGGTATCCCTTACGT
+GTTCAAAGCCTCTTTTGACAAAGCCAACCGCTCCTCCATCCACTCTTATCGTGGACCGGGCCTGGAAGAA
+GGGATGAAAATCTTCCAGGAGTTGAAGCAGACTTTTGGCGTGAAAATTATCACCGACGTTCACGAACCAA
+GTCAGGCACAGCCCGTTGCTGATGTCGTGGATGTGATTCAGTTGCCGGCGTTTCTTGCTCGCCAGACTGA
+CCTGGTTGAAGCCATGGCGAAAACCGGTGCGGTAATTAACGTCAAGAAACCGCAGTTTGTCAGCCCGGGA
+CAGATGGGTAATATCGTTGATAAATTCAAAGAAGGCGGCAACGAAAAAGTGATTCTTTGCGATCGCGGTG
+CTAACTTCGGCTATGACAACCTGGTTGTTGATATGCTGGGCTTCAGCATCATGAAGAAAGTGTCTGGTAA
+TTCGCCGGTGATTTTCGACGTTACCCACGCACTGCAATGTCGCGATCCATTTGGCGCACCTTCCGGCGGT
+CGCCGTGCTCAGGTGGCTGAGCTGGCAAGAGCCGGTATGGCGGTAGGTCTGGCGGGGCTGTTTATTGAAG
+CGCATCCGGATCCGGAACATGCGAAATGTGATGGTCCATCCGCGCTGCCGCTGGCTAAACTGGAACCGTT
+CCTCAAGCAAATGAAAGCGATTGATGATCTGGTGAAAGGTTTCGAAGAACTGGATACCAGCAAGTAATCT
+TTTTGTTTGAAAAATAAAGTCTTAGCGTTCTGCGTTAAGACTTTTTTTATGGGGGCCGGATACAAAAAAG
+GCCGCAGGCTGTTACCCCTGCGGCCGGTTTCGGGCGCATATTGCCATCACGGCAGCCTGACGCCCGTTTT
+CACCTTACTTCCGGTTACGCCACCAGCCGACAATCGCTGCGGTAATAATTCCCGCCAGGATCGGTGCTGC
+CAGGTCGTGCCAGAAAATCATGGCAAACTGCGCGAGCGTCATATAGCCGCCTTGTTGTAATGACAACATT
+TTGCGGCTATTCTTGAATTGTTGATGGTTCAAGATTAGCCCCCGTTCTGTTGTCAGGTTTTACCTCTCAA
+CGTGCGGGGGTTTTCTCTTTCCAGCAACCAATGCCACCAGGGATAAAGCCCCCGCAACATTGCGCCTCAC
+CGGATAACGCCGGCTTGGTGTGGATACTCGTCGCAATTCATCTTCACTTCATCCCTGAAATGTTTGCATT
+GAAGAGTACATTCCGGCTTTTCAACAGCTGTTGCAGTGGTTTCGTGCAGGTTGTGGTACAGGCTCGCAAT
+TCTGATTAACGACCTGTCCAGGTAGTATGAAGAAATACAATAAGCAGGAATTTATATTATCTCCCCCGAT
+TTCCGTCATCGGAGGAGATATAACTGTCAGGCAAATATCGTCATCAAATAGGCGGCAAACAGTGCCAGAT
+GCGCTGCGCCATTGAGCACGTTAGTTCGTCCGGTGGAGAAGGAGATATGGCACAGTACTAAAGAGGCCAC
+CATCACCACCATTTCTGGCGCACCAAGTGCAAACTGCAATTCGTTACCCGTCATAAAGGCAATTAGCGTG
+ACGACAGGTACGGTAAGCGAAATGGTTGCCAACACTGAACCAAAGAACAGATTCATCGCGCGCTGGACCT
+GGTTATTCAACACTGCTTTTAACGCACCTAAACCTTCCGGCGACAGAATCAACAGAGCCACCAGGAAGCC
+AGTAAAGGCGACAGGCGCATTCATGCTGTCGAGCAATGTCTCCAGCGGGCTGGCGTTCATTTTGGTGACT
+GCAATAACGGCAATCAGATGGACAATTAACCAGATGGCATGCCACAGGCTGCTATGGGCAGACGGTTTAC
+CGTGGTGCGGGTCGTCATCATCACTGTCATCTTCGTGCTCGTAGACAAACAAACTTTGATGCGTTTTGGT
+CTGGATCAGCAAAAATACGCCATACATTGCCGCAGAAATTAATGCTACCAGTAACGCCTGACCTGTTGAA
+AAATTCGCCGCAGGCAGCGCCATTGGAAATACCAGTACGATTATCGCCAGGGGGAACAGCGCAATTAAAT
+ACTGCTTGATACCAAACAGATTCATATATTGGGTGGCAAACTTACGTCCGCCCAACAATAATGAAAAGCC
+AACCAGCCCACCTGTAACAATCATAATGATTGAATAGAGCGTATCACGCATTAGCGTTGGCGCGGCGTCG
+CCGGTTGCCATTAAAGCTGAAATCAAACTGACTTCAAGAATAACCACTGAAAGGCTAAGAATAAGCGAAC
+CGTAAGGTTCTCCCAGGCGATGGGCTAATACGTCCGCATGACGGACAACACTAAAGGCGCTACTTAAAAT
+ACCAATAAGCGCAAGAAGATTGATGGCAATGACCACTGGTAGTGTCTGGCTGCTTCCCCACAGGAACAGC
+ACTACCAGCGCCAGAACCGGGAAAATAAGCGAAGTCTCCTTGTGGCGGGTTTTTACCGCCTCTTGAGCAT
+TTGACATTATGGTTATCCCTTTGCAGATGAATTTATCGAAAATGTAAAAAATAGGTAGGAAAAATAACAG
+AAAGTGTCTGGATATCGGTAACATTTTACGAATTTTTACCCCGCTGTCGATTTTTTACTCATTTGGGCAT
+AAAAATAAGTAATACGTTTAGACAATGTTTGTTTTAGCACTTCTTAAGAAGAGTCTGACATGAAAATTCT
+TATGTTTTGGCAAGAGTAGATATTGTTGACCACACTTAATGTTCAACTTTGTAAAAGGAGTCAACGATGC
+CGTATAAAACGAAAAGCGATCTGCCGGAAAGCGTAAAGCACGTGCTTCCGTCTCATGCCCAGGATATCTA
+TAAAGAAGCGTTCAACAGCGCATGGGATCAATATAAAGATAAAGAAGATCGGCGTGATGACGCCAGTCGC
+GAAGAAACAGCGCATAAAGTGGCCTGGGCTGCTGTGAAGCATGAATATGCCAAAGGGGATGATGATAAAT
+GGCATAAAAAATCGTAAAACCGGTAGCTTAGTTAAAGCTATTCGTGCGGTGTTGCCTTGCAAGTGGTCCG
+TGGATTGCATATTGTCCCGTTAGTGGTTTCAAAATGAGCAGTAAAAATGTCCGGAAGACACCAAAAAGTT
+GTCGCAGGGAAGTATGCAGTGGCGGAGGTGTAAGGTGATAACGCGTGATTTCTTGATGAATGCCGATTGT
+AAAACGGCATTTGGTGCCATTGAAGAATCACTCTTATGGTCAGCAGAACAACGGGCGGCTTCGCTGGCGG
+CGACGCTGGCTTGTCGACCTGATGAGGGACCGGTGTGGATCTTCGGTTATGGATCGTTGATGTGGAATCC
+GGCACTGGAGTTTACCGAGTCGTGCACCGGTACACTGGTTGGATGGCATCGCGCGTTTTGCCTGCGCCTG
+ACCGCCGGGCGCGGGACTGCGCACCAGCCGGGACGAATGCTTGCACTGAAAGAGGGCGGACGCACCACAG
+GCGTCGCCTATCGACTGCCAGAAGAGACGCTGGAGCAGGAACTAACCCTGCTGTGGAAGCGCGAGATGAT
+TACCGGCTGTTATCTGCCAACCTGGTGTCAGCTTGATCTTGATGATGGACGCACAGTAAACGCCATTGTG
+TTTATTATGGACCCGCGACATCCAGAATATGAATCTGACACTCGCGCTCAGGTCATAGCGCCGTTGATTG
+CGGCGGCGAGCGGTCCGCTGGGAACCAATGCACAATACCTGTTTTCACTGGAACAGGAGCTTATCAAACT
+GGGAATGCAGGACGATGGGCTGAATGAATTGCTGGTATCGGTAAAAAAACTGCTGGCGGAGAATTATCCG
+GATGGTGTGTTACGGCCGGGATTCGCCTGAGTAAACTTTCCTCATAGTGGGGCGTCAGACGCCCCCTCAA
+ACATTAAAATGTGAGCACTTTATCGGCTGACAGCGTCCATTGCGCCAGTTCAACAAGAGTACCGATTTCC
+ACCCCATCAATCAGAGGAAGTGTACTAATCCCGCGCCCGTCGGTACAGGTTTTGCACAATTTCACCGGTA
+CATTCTGAGCGGTAAGGATCTCCAGCATTTGCTGAATGTTGTAGCCTTCCCCTGGTTTTTGCCCGCGCAA
+CCCGGCTGTGACCGCATCAGACATCAGGAACAGACGCAGATCCAGATTGTTCTCCTGCTCTCGTAACGCA
+ATGGCCAGCCGCAAGCTGTTAAACAAGGATTCGCTCCCGTAAGGTGCGCCATTGGCAACGATCACGATTT
+TTTGCATTATTTACTCCTGTATTCAGGGAATTAGACACTCATCTTCTATCTTACTGCTTCTGCAGCGTCT
+GACCAATCGGTCACATTTTTAAGGATTTTCCTGAAAGCGCGAGAAAATACGACAAAAGGTGCCAGTAATC
+GTTATTCTTTAAGGCTATGGTTTTTCATTTTTACCGGAAGTTACCGACGTTTTGAGCCGTTTCGTTCCTC
+GCATTATTCCGTTTTATTTACTCTTGCTGGCGGCAGGCGGTACAGCTAACGCACAATCTACCTTCGAGCA
+AAAAGCGGCAAATCCCTTTGATAATAACAATGATGGTCTGCCGGATTTAGGCATGGCACCTGAAAATCAT
+GATGGGGAAAAACACTTTGCTGAAATTGTGAAAGATTTCGGCGAAACCAGTATGAATGATAACGGGCTGG
+ATACTGGCGAGCAGGCAAAAGCTTTCGCATTGGGAAAGGTCCGCGACGCGCTTAGTCAACAGGTTAATCA
+GCACGTAGAGTCCTGGCTATCACCGTGGGGAAATGCCAGTGTTGACGTCAAAGTGGATAACGAAGGACAT
+TTCACCGGCAGTCGTGGAAGCTGGTTTGTGCCGTTACAAGATAATGATCGTTATCTCACCTGGAGCCAGC
+TTGGTCTTACTCAGCAGGATGATGGGCTGGTGAGCAATGTGGGCGTTGGGCAACGCTGGGCGCGCGGCAG
+CTGGCTGGTGGGTTATAACACTTTTTATGACAACTTGCTGGACGAAAATCTTCAGCGAGCGGGCTTCGGT
+GCCGAAGCGTGGGGCGAATATTTGCGACTATCGGCAAACTTTTATCAGCCGTTTGCTGCATGGCATGAAC
+AGACAGCCACGCAGGAACAACGGATGGCGCGCGGGTACGACCTGACAGCCCGAATGCGCATGCCGTTCTA
+TCAACACCTCAATACCAGTGTCAGCGTAGAACAGTATTTTGGTGATCGTGTTGATTTGTTTAACTCTGGT
+ACGGGTTATCACAATCCCGTCGCGTTGAGTCTGGGATTAAATTATACCCCAGTGCCATTAGTCACTGTGA
+CGGCTCAGCATAAACAGGGTGAAAGTGGCGAGAATCAAAATAACCTCGGGCTGAATCTTAACTACCGCTT
+TGGTGTACCGCTCAAAAAACAACTTTCTGCGGGCGAAGTTGCCGAAAGTCAGTCGTTACGTGGTAGTCGC
+TATGACAATCCGCAGCGAAATAATCTTCCGACTCTTGAGTACCGACAGCGAAAAACCTTAACGGTGTTTC
+TGGCGACACCGCCGTGGGATCTAAAACCAGGCGAAACAGTGCCGCTGAAATTACAAATCCGCAGTCGTTA
+CGGTATTCGGCAACTGATTTGGCAGGGCGATACGCAGATATTAAGTTTGACGCCGGGCGCACAAGCCAAC
+AGCGTGGAGGGCTGGACGCTGATCATGCCTGACTGGCAGAACGGGGAAGGGGCGAGCAATCACTGGCGAT
+TGTCGGTGGTGGTGGAAGATAACCAGGGGCAGCGTGTCTCCTCCAATGAGATCACGCTAACGCTTGTCGA
+ACCGTTCGATGCATTGTCAAACGACGAACTGCGCTGGGAACCGTAATCAGAAAATGCGCTCCTGATGCAC
+CCATACCGCTGCTTCCACGCGAGACTTGAGCTTCATTTTCTTCAGCATGTGCTTGACGTGCACTTTTACT
+GTGCTTTCGGTGATATCCAGGCGGCGGGCAATCATCTTGTTCGGCAAACCCTGGGCAATCAGCTTGAGAA
+TATCGCGCTCGCGTGGGGTTAACTGGTTAACGTCGCGCTCAGTAGTGGCACGGTTTGCGCGCAAGCTGGC
+GGCCAGAACAGGCGTTAATGCTTCGCTTAATACCATTTCGCCAGCAGCTGCCTGATGTAACGCTTTCAGC
+AGATCTTCCGGTTCCATATCTTTTAACAGATAGCCATCCGCGCCGCGTTTCAGTGCGGTGACCACATCTT
+CTTCATGGTTAGAGACGCTGAATACCACAATGCGCCCTGAGAGGGACTTTTCGCGGAGTTTATCCAGCGT
+TTCCAGACCATTCATGCCGGGCATATTGAGATCTAACAGGATCAGATCGGGATCAAGAGATTCCGCCAGT
+TCAATACCCTGTTCGCCATTACTCGCTTCGCCAACCACAGTGATATCTGGTGCCATACTGATAAGCTGTT
+TTACGCCAGTTCGCAACATCGGGTGATCGTCGATCAGCAGGATAGTAGCCGGTTCCTGATTACTCATGGG
+TATCTCCTTGGACGTCTGTGAAAGTTTTTTCGGGAATAAAGGTGACCACCACTTCGGTGCCACCTGATTC
+ACGACGGCGGACGCGGCAATCGCCTCGTAAACTTTGCGCACGGTCGCGCATTATTATCATGCCGTAGTGA
+TTGCTGCGGATGGCATTTTCAGGCACGCCGCAGCCGTTATCCTGGACGGTCAGTTTGACCTGATTATCGT
+TTTGCGCCACCGTCACCACGACCTCACTCGCTTGCGAATGTTTGAGGGCGTTACTTAATGCCTCACGGGC
+AATTTGCAACAAGTGGATTGCCTGATGCGAAGGCACCAGACGAGGCGGCAATTGATAATCCAGCTTCACC
+GGGAAGCCAAATTTGGCGCTGTACTCTTCGCAACTCGCCTCCAGCGCCGGACGTAATCCAGGCTCGGTGA
+GCTGCAAACGGAATGTGGTGAGCAATTCACGCAACTGCGCCCAGGATGCATTCAGTTCGTTACGGATCTG
+ACTTAACAGTTCGCGGCTGCTTTCTGGCAGCGCATCGCCCTGCATCTGTAAACAACTCACCTGCATCTTC
+ATGCAAGAGAGAGATTGGGCAATAGAATCATGCAGTTCGCGCGCAATGGTGGCACGCTCTTCCATCACGA
+TCAACTGTTGCTGACGTTCCTGATGGCGATCCAGCGCCAGCGTGGCGGTGAGTTGTTCAACCAGGGTATC
+CACCAGTTGTTGTTGATCATGGCTAAGATGACGCCCCTGCGGCAGGGTCGCCAGCAAAATACCGTACTGC
+GTATGAGAGTCAGCCAGCCGCCACTTCAGGGTTGTGCCGCGATCGCCAACGGGTAATATGCCGCGCGGGC
+AGAGCTGGCAGCCTTTATCATCACAAGTCATATCTGGCTGGCAGGTAAACTCCTGATGATTCTCTTCATC
+ATCAGTGTCATACACCCGCAGTTCGATATCACGTAGCAGGGTTAAATTCTGTAAGCCGTTGAGTACCGGT
+GACAGGCGTTCACACAGCGGGGCGCGGGAATGCAAACGGCGGTTAGCCTGCCATAAAAAAGAGAGGATCT
+GATTTTTATGCTCCAGCCCGGCAGTTTTCTCCTGAACCCGCTGCTCAAGTACGGCATAACTTTCGGCCAG
+TTCTGCAGACATATTGTTCAATGCAGTTCCAAGCATCGCCATTTCGTTGCGCCCGCTGATGTTTGCGCGT
+TGGGTAAAATCGCGATGGCTGACGGCACTCGCCATTGCCAGCAGTTGCCGCCACGGTTGTAGCAGTCGCG
+CCCGCAACCAGATAATAGTGAACACCAGTAAAAGTGCCATAAATACCGCCATTACCCGATGGACCAGTAC
+CACTGTCTCAATGCGCATTTCCGTGGTGCGGTCAAAACCAGATACCAGCTGATCAAGCCCGGCAACAAAC
+TGGCTGACATCCGCTGACACCGTTTCGCGGTTTTGTGCACGCATCAGCGCGGGGATCAGTTCATTACGCC
+AGTAATCTTGTAAACCCTGTAATTGCGCCAGTTGTCCGTCTCGTTCCGCTGCTCGAGTCAACTCGGCGCT
+AAATGCCGTTTGTTCCATTTCTTTAATTAAGGGCTTGTCTTTCTCGCTTAATGGCACTGCCGCCAACAGA
+CGGTAACTTTGCATGCGCAGCGATCCCGCTTTGTTGATCGCATGGGCGCTGCCCTGAACGCCTTGCACCA
+GCCAGCCAGAAACTGCCATCCCTGCCAGTCCAATAGCAGTAGAAAGCAACACAATAAGCGCAACCTGATT
+AACCAGGGTGAGCGGAGAGAGACAACGTTTAAGCATGTAAACCTCTTCCTTCAGGCTTTAAATGAGCAAT
+AACCTTAATGAATGTGACGATACATTCTGGAATGGCAGTATTCTCGGCTATTGGCTGAAGTATACCCATA
+CCCGGAAAGAGTTACTCCTTATTTGCCGCGTGGTTAGTCGCTTTACATCGGTAAGGGTAGGGATTTTACA
+GCACCGTGAAAAATCTCATAATTTTTATGAAATCACTGTACTCACTATGGGTAATGATAAATATCAATGA
+TAGATAAAGTTATCTTATCGTTTGATTTACATCAAATTGCCTTTAGCTACAGACACTAAGGTGGCAGACA
+TCGAAACGAGTATCAGAGGTGTCTATGAGTCACTCATCCGCCCCCGAAAGGGCTACTGGAGCTGTCATTA
+CAGATTGGCGACCGGAAGATCCTGCGTTCTGGCAACAACGCGGTCAACGTATTGCCAGCCGCAACCTGTG
+GATTTCCGTTCCCTGTCTGCTGCTGGCGTTTTGCGTATGGATGTTGTTCAGCGCTGTTGCGGTGAACTTA
+CCGAAAGTCGGTTTTAATTTTACGACCGATCAGCTATTTATGTTGACTGCGCTGCCTTCGGTTTCTGGCG
+CGTTATTACGTGTTCCATACTCCTTTATGGTTCCTATCTTCGGTGGTCGTCGCTGGACGGCGTTCAGCAC
+CGGTATTCTGATTATTCCTTGCGTCTGGCTGGGTTTTGCCGTGCAGGATACCTCCACGCCTTATAGCGTC
+TTCATCATCATCTCTCTGCTGTGCGGCTTTGCTGGCGCGAACTTCGCATCCAGTATGGCAAACATCAGCT
+TCTTCTTTCCGAAACAGAAGCAGGGTGGCGCGCTGGGTCTGAATGGTGGTCTGGGCAACATGGGCGTCAG
+CGTCATGCAGTTGGTTGCTCCGCTGGTGGTATCACTGTCGATTTTCGCAGTATTTGGTAGCCAGGGTGTC
+AAACAGCCTGATGGGACTGAGCTGTATCTGGCGAATGCGTCCTGGGTATGGGTGCCGTTCCTTGCCATCT
+TCACCATTGCGGCGTGGTTTGGCATGAACGATCTTGCTACCTCGAAAGCCTCCATCAAGGAGCAGTTGCC
+GGTACTCAAACGGGGTCATCTGTGGATTATGAGCCTGCTGTATCTGGCAACCTTCGGTTCCTTCATCGGC
+TTCTCCGCGGGCTTTGCGATGCTGTCAAAAACGCAGTTCCCGGATGTTCAGATTCTGCAATACGCTTTCT
+TCGGGCCGTTTATTGGTGCGCTGGCGCGTTCTGCAGGTGGTGCATTATCTGACCGTCTGGGCGGAACTCG
+TGTCACGCTGGTGAACTTTATCCTGATGGCGATTTTCAGCGGCCTGCTGTTCCTGACCTTACCGACTGAC
+GGACAGGGCGGAAGCTTCATGGCGTTCTTCGCAGTCTTCCTGGCGCTGTTCCTGACAGCTGGGCTGGGTA
+GTGGTTCCACATTCCAGATGATTTCCGTGATCTTCCGTAAACTGACAATGGATCGCGTGAAAGCAGAAGG
+GGGTTCTGACGAACGTGCGATGCGTGAAGCGGCAACCGACACGGCGGCGGCGCTGGGTTTCATCTCTGCG
+ATTGGCGCGATTGGTGGCTTCTTTATCCCGAAAGCGTTTGGTAGCTCGCTGGCATTAACGGGTTCGCCAG
+TCGGCGCAATGAAAGTATTTTTGATTTTCTATATCGCCTGCGTGGTGATTACCTGGGCGGTATATGGTCG
+GCATTCTAAAAAATAAATCGTAATATTTGATTATCCTTTGCGCGGCATGATGTCGCGCTTTTTTTATGCG
+TCATTTAGTTACAACATACTAATGTTGTATGGCTTATTTCGCTGGATTTCATTAAGAGTCATTAATATGT
+TACCCATGGGGAATACTCCTTAATACCCATCTGCATAAAAATCTTAATGGTTTAAATAACCACAGGTGTA
+AAACGTCTTAATTTACAGTCTGTTATGCTATAAATGTTAATTATCCTAAAGGGGTATTCCAGGAATTTAC
+TTTATTTTTCATCCCCATCACTCTTGATCGTTATCAATTCCCACGCTGTTTCAGAGCGTTACCTTGCCTT
+TAAACATTAGCAATGTCGATTTATCAGAGGGCCGACAGGCTCCCACAGGAGAAAACCGATGAGTAAATTC
+CTGGACCGGTTTCGCTACTTCAAACAGAAGGGTGAAACCTTTGCCGATGGGCATGGCCAGCTTCTCAATA
+CCAACCGTGACTGGGAGGATGGATATCGCCAGCGTTGGCAGCATGACAAAATCGTCCGCTCTACCCACGG
+GGTAAACTGCACCGGCTCCTGCAGCTGGAAAATCTACGTCAAAAACGGTCTGGTCACCTGGGAAACCCAG
+CAGACTGACTATCCGCGAACTCGCCCGGACCTGCCAAACCATGAACCTCGCGGCTGCCCGCGCGGTGCCA
+GCTACTCCTGGTATCTTTACAGCGCTAACCGCCTGAAATACCCGATGATGCGCAAACGCCTGATGAAAAT
+GTGGCGTGAAGCGAAGGCGCTGCATAGCGATCCGGTTGAGGCATGGGCTTCTATTATTGAAGACGCCGAT
+AAAGCGAAAAGCTTTAAGCAGGCGCGTGGACGCGGTGGTTTTGTTCGTTCTTCCTGGCAGGAAGTGAACG
+AACTGATCGCCGCATCTAACGTTTACACCATCAAAAATTACGGCCCGGACCGTGTCGCTGGCTTCTCGCC
+AATTCCGGCAATGTCGATGGTTTCTTACGCATCGGGTGCGCGCTATCTCTCGCTGATTGGCGGTACTTGC
+TTAAGCTTCTACGACTGGTACTGCGACCTGCCTCCTGCGTCTCCGCAAACCTGGGGTGAGCAAACTGACG
+TACCGGAATCTGCTGACTGGTACAACTCCAGCTACATCATCGCCTGGGGTTCAAACGTGCCGCAGACGCG
+TACCCCGGATGCTCACTTCTTTACTGAAGTGCGTTACAAAGGAACCAAAACTGTTGCCGTCACACCAGAC
+TACGCTGAAATCGCCAAACTGTGCGATCTGTGGCTGGCACCGAAACAGGGCACCGATGCGGCAATGGCGC
+TGGCAATGGGTCACGTAATGCTGCGTGAATTCCACCTCGACAACCCAAGCCAGTATTTCACCGACTATGT
+GCGCCGCTACACCGACATGCCGATGCTGGTGATGCTGGAAGAGCGCGACGGTTACTACGCTGCGGGTCGT
+ATGCTGCGCGCTGCTGATCTGGTGGATGCACTGGGCCAGGAAAACAATCCGGAATGGAAAACTGTCGCCT
+TTAATACCAATGGTGAAATGGTTGCGCCGAACGGTTCTATTGGCTTCCGCTGGGGCGAGAAGGGCAAATG
+GAATCTTGAGCAGCGCGACGGCAAAACTGGCGAAGAAACCGAGCTGCAACTGAGCCTGCTGGGTAGCCAG
+GATGAGATCGCTGAGGTGGGCTTCCCGTACTTTGGTGGCGATGGCACGGAACACTTCAACAAAGTGGAAC
+TGGAAAACGTGCTGCTGCATAAGCTGCCGGTGAAACGCCTGCAACTGGCTGATGGCAGCACCGCCCTGGT
+GACCACCGTTTATGATCTGACGCTGGCAAACTACGGTCTGGAACGTGGCCTGAACGACGTTAACTGTGCA
+ACCAGCTATGACGATGTGAAAGCTTACACCCCTGCCTGGGCAGAGCAGATTACCGGCGTTTCTCGCAGCC
+AGATTATTCGCATCGCCCGTGAATTTGCCGATAACGCTGATAAAACGCACGGTCGTTCGATGATTATCGT
+CGGCGCTGGGCTGAACCACTGGTATCACCTGGACATGAACTATCGTGGTCTGATCAACATGCTGATTTTC
+TGCGGTTGTGTCGGTCAGAGCGGGGGCGGCTGGGCGCACTATGTAGGTCAGGAAAAACTGCGTCCGCAAA
+CCGGCTGGCAGCCGCTGGCGTTTGCCCTCGACTGGCAGCGTCCGGCGCGTCACATGAACAGTACCTCTTA
+TTTCTATAACCACTCCAGCCAGTGGCGTTATGAAACCGTGACTGCGGAAGAACTGCTGTCGCCGATGGCG
+GATAAATCTCGCTATACCGGACACTTGATCGACTTTAACGTCCGTGCAGAACGCATGGGCTGGCTGCCGT
+CTGCGCCGCAGTTAGGCACTAACCCGCTGACTATCGCTCGCGAAGCAGAAAAAGCCGGGATGAATCCGGT
+GGACTATACGGTGAAATCCCTGAAAGAGGGTTCTATCCGTTTCGCTGCGGAACAGCCGGAAAACGGTAAA
+AACCACCCGCGTAATCTGTTCATCTGGCGTTCTAACCTGCTCGGTTCTTCCGGTAAAGGTCATGAGTTTA
+TGCTCAAGTACCTGCTGGGGACGGAGCACGGTATCCAGGGCAAAGACCTGGGGCAGCAGGGCGGCGTGAA
+GCCGGAAGAAGTGGACTGGCAGGACAACGGTCTGGAAGGCAAGCTGGATCTGGTGGTGACGCTGGACTTC
+CGTCTGTCGAGCACCTGTCTCTATTCCGACATCATTTTGCCGACGGCGACCTGGTACGAAAAAGACGACA
+TGAATACTTCGGATATGCATCCGTTTATTCACCCGCTGTCTGCGGCGGTCGATCCGGCCTGGGAAGCGAA
+AAGCGACTGGGAAATCTACAAAGCCATCGCGAAGAAATTCTCCGAAGTGTGCGTTGGTCATCTGGGTAAA
+GAAACTGACATCGTCACGCTGCCTATCCAGCACGACTCTGCCGCTGAACTGGCGCAACCGCTGGATGTGA
+AAGACTGGAAAAAAGGCGAATGCGACCTGATCCCAGGTAAAACCGCACCGCACATTATGGTCGTAGAGCG
+CGATTATCCGGCAACTTACGAACGCTTTACCTCTATCGGCCCGCTGATGGAGAAAATCGGTAACGGCGGT
+AAAGGGATTGCCTGGAACACCCAGAGCGAGATGGATCTGCTGCGTAAGCTCAACTACACCAAAGCGGAAG
+GTCCGGCAAAAGGCCAGCCGATGCTCAATACCGCAATTGATGCGGCAGAGATGATCCTGACGCTGGCACC
+GGAAACCAACGGTCAGGTAGCTGTAAAAGCCTGGGCTGCTCTGAGCGAGTTTACCGGCCGTGACCATACG
+CATCTGGCGCTGAATAAAGAAGACGAGAAGATTCGCTTCCGCGATATTCAGGCACAGCCGCGCAAAATCA
+TCTCCAGCCCGACGTGGTCTGGCCTTGAAGATGAACACGTTTCTTACAACGCCGGTTACACCAACGTTCA
+CGAGCTGATCCCGTGGCGTACGCTCTCTGGCCGTCAGCAGCTGTATCAGGATCACCAATGGATGCGTGAT
+TTCGGTGAAAGCCTGCTGGTTTATCGTCCGCCGATCGACACCCGTTCGGTGAAAGAAGTGATGGGCCAGA
+AATCCAATGGCAACCCGGAAAAAGCGCTCAACTTCCTGACGCCACACCAGAAGTGGGGTATCCACTCCAC
+CTACAGCGACAACCTGCTGATGCTGACTTTAGGTCGCGGTGGTCCGGTGGTCTGGCTGAGTGAAGCCGAT
+GCCAAAGAGCTGGGTATCGCCGATAACGACTGGATTGAAGTCTTCAACAGCAACGGTGCACTGACTGCCC
+GTGCGGTTGTCAGCCAGCGTGTTCCGGCAGGGATGACCATGATGTACCACGCGCAGGAACGTATCGTTAA
+CCTGCCTGGTTCGGAAATTACCCAACAGCGTGGTGGTATCCATAACTCGGTCACCCGTATCACGCCGAAA
+CCGACGCATATGATCGGCGGCTATGCCCATCTGGCATATGGCTTTAACTACTACGGCACCGTAGGTTCTA
+ACCGCGATGAGTTTGTTGTAGTGCGTAAGATGAAGAACATTGACTGGTTAGATGGCGAAGGCAATGACCA
+GGTACAGGAGAGCGTAAAATGAAAATTCGTTCACAAGTCGGCATGGTGCTGAATCTCGATAAGTGCATCG
+GCTGCCACACCTGTTCAGTGACCTGTAAAAACGTCTGGACCAGCCGTGAAGGCGTGGAATACGCGTGGTT
+CAACAACGTGGAAACCAAGCCGGGCCAGGGCTTCCCGACTGACTGGGAAAACCAGGAAAAATACAAAGGC
+GGCTGGATCCGTAAAATCAACGGCAAACTGCAGCCGCGCATGGGTAACCGTGCCATGCTGCTGGGTAAAA
+TCTTCGCTAACCCGCATCTGCCGGGGATCGACGATTATTACGAGCCGTTCGATTTTGATTATCAGAACCT
+GCATACCGCGCCGGAAGGCAGCAAATCACAGCCGATTGCCCGTCCGCGTTCACTGATTACCGGCGAACGG
+ATGGCGAAAATCGAAAAAGGGCCGAACTGGGAAGATGACCTGGGCGGTGAGTTTGACAAGCTGGCGAAAG
+ACAAGAACTTCGACAACATCCAGAAGGCGATGTATAGCCAGTTCGAAAACACCTTCATGATGTATTTGCC
+GCGCCTGTGCGAACACTGTCTGAACCCGGCATGTGTGGCGACCTGCCCGAGCGGTGCGATTTACAAGCGT
+GAAGAAGATGGCATCGTCCTGATCGACCAGGATAAATGCCGTGGCTGGCGTATGTGCATCACCGGATGCC
+CGTACAAAAAAATCTACTTCAACTGGAAGAGCGGTAAGTCTGAGAAGTGCATCTTCTGCTATCCGCGTAT
+TGAAGCCGGCCAGCCGACAATATGTTCAGAAACCTGTGTCGGTCGTATCCGTTATCTTGGCGTGCTGCTG
+TACGATGCCGACGCGATTGAACGTGCGGCAAGTACCGAGAACGAGAAAGATCTCTACCAGCGTCAGCTGG
+ATGTGTTCCTCGATCCGAACGATCCGAAAGTCATCGAGCAGGCGATTAAAGACGGTATTCCGCTGAGCGT
+TATTGAGGCTGCACAGCAGTCGCCAGTTTATAAAATGGCGATGGAATGGAAACTGGCGCTGCCGCTGCAT
+CCGGAATATCGCACACTGCCGATGGTCTGGTACGTGCCGCCTCTGTCGCCGATTCAGTCTGCGGCAGACG
+CGGGTGAACTGGGCAGCAACGGCATTCTGCCAGACGTCGAAAGCCTGCGTATTCCGGTACAGTATCTGGC
+GAATCTGCTGACCGCCGGTGATACCAAACCGGTACTGCGCGCGCTGAAACGTATGCTGGCGATGCGTCAT
+TACAAACGTGCTGAAACCGTTGACGGTAAAGTCGATACCCGTGCGCTGGAAGAGGTCGGTCTGACCGAAG
+CCCAGGCACAGGAGATGTATCGTTATCTGGCTATTGCCAACTACGAAGATCGCTTTGTGGTGCCGAGCAG
+TCATCGTGAACTGGCGCGGGAAGCCTTCCCGGAGAAAAATGGCTGCGGCTTTACCTTTGGTGATGGCTGC
+CACGGTTCAGATACCAAATTCAATCTGTTCAACAGCCGCCGTATCGATGCCATCGATGTAACCAGCAAAA
+CGGAGCCGCACCCATGATCGAACTCGTGATTGTATCGCGTCTCCTTGAATATCCGGATGCTGCCTTATGG
+CAGCATCAACAAGAGATGTTTGAGGCGATTGCCGCGTCGAAAAATCTGCCAAAAGAGGATGCCCATGCGC
+TGGGCATTTTCCTGCGCGATTTAACGACGATGGATCCGCTCGATGCCCAGGCGCAGTACAGCGAACTGTT
+CGACCGTGGCCGCGCCACGTCACTGTTGCTATTTGAACATGTTCACGGTGAATCCCGTGACCGCGGCCAG
+GCGATGGTGGATCTGCTGGCGCAGTACGAGCAGCACGGCTTGCAGTTAAACAGCCGCGAATTGCCCGACC
+ATCTGCCGCTGTATCTGGAGTACCTGGCGCAGCTGCCGCAAAGCGAAGCCGTGGAGGGTTTGAAAGATAT
+TGCGCCGATTCTGGCATTGCTGAGCGCGCGTCTGCAACAGCGTGAAAGCCGTTATGCCGTGCTGTTTGAT
+CTGCTGCTGAAACTGGCGAATACCGCAATCGACAGCGACAAAGTGGCGGAAAAAATTGCCGATGAAGCGC
+GCGACGATACGCCGCAGGCGCTGGATGCAGTCTGGGAAGAAGAGCAGGTTAAATTCTTTGCTGACAAAGG
+CTGCGGTGATTCAGCAATCACTGCTCATCAGCGTCGCTTTGCCGGTGCCGTCGCGCCGCAATATCTGAAT
+ATCACCACCGGAGGACAGCACTAATGCAATTCCTGAATATGTTCTTCTTTGATATCTACCCGTACATAGC
+CGGGGCGGTCTTCCTGATTGGTAGCTGGCTGCGTTATGACTACGGGCAGTACACATGGCGTGCGGCGTCC
+AGCCAGATGCTGGATCGCAAAGGGATGAATCTGGCGTCGAACCTGTTCCATATCGGTATTCTGGGGATTT
+TTGTCGGTCACTTCTTCGGTATGCTGACGCCGCACTGGATGTATGAAGCCTGGCTGCCGATTGAAGTGAA
+ACAGAAAATGGCGATGTTTGCTGGTGGTGCCAGCGGCGTACTGTGTCTGATTGGCGGCGTGCTGTTGTTG
+AAACGTCGTCTGTTCAACCCACGCGTGCGTGCAACGACTACCGGAGCGGATATCTTGATCCTGTCGCTGC
+TCGTTATCCAGTGCGCGCTGGGCCTGCTGACCATTCCGTTCTCCGCCCAGCATATGGACGGTAGCGAGAT
+GATGAAACTGGTTGGCTGGGCGCAGTCTGTAGTGACCTTCCACGGTGGCGCTTCTCAACATCTTGATGGC
+GTGGCGTTTATCTTCCGTCTGCACCTGGTGTTGGGGATGACGTTATTCCTGCTGTTCCCGTTCTCGCGTC
+TGGTACACATCTGGAGCGTCCCGGTGGAGTATCTGACGCGTAAGTATCAGCTGGTGCGCGCTCGTCACTA
+AGCGAATTTTAGTTCACATAGACCCTGCTTCGGCGCTGAGGGATCCCCATAAATCAGCGATAATAAACCA
+ACACCATATTCTGGTAGGTTCTGGTGAGGTGATTAAGAATGGTGCTTAGCACCGTTCGTTTTAAAATTAG
+CGGGGAGTGTCGTAAGACATTCTCCGCTAACCTCAGATACGAGATTACCCGCCGCGTTTTAATGCTGTTG
+GCCTGATATCTAAGATGTAACCCTTGATTTTCAGCGTGATAGCCAATAAGCCACAGCACTATTGTGCTCA
+GTGTTGCCAGCAGGCTCAGTACCAGCATTCTTCCTGCCGAACAGCTGTAACTGGCTCGCAGACCGAACCC
+AAAACGCTCACTTTTTTCATCCCTGGAGTTTTGCTCAATCTGCATTCGGCGGCTGTATAACTTCATGATT
+TCTCGCGGTTTAAAGTCATCTGTGCTGCTGAATATTAACCATGGTTCTTTTGCCGCCGACCTGGCATCTT
+TTATCTGTGATGGTCTGGCTATACCGCAACGCGAACGTTTATTTCTCCGGCCTTTCGGCTCTTTTTTGTG
+CAAATAAAAATGACCATCGCAACGGGCGTATTCCGCCCGGGAAAGCGTCCCCGGCCCCAGATATTCAGGT
+TTGTTACCGGCCTGTAATTCCTGACGCCTGAACCAGCATTCCCCTTTTCTCGCCAGATGCAGTTGTTTAT
+TGCCTCGTATCCGGCCAATAAAATCCCAGCCGAGTGATTTTATGTGCCGAAACCAGGCATTCTGGAACCC
+TGCATCCGTGACGATGATTACCCTTGCTTTTGGGTTTACCGCTTCGGAAAGAGTATTAAGAAAGGCTTGC
+TGTATCTTTGCATTTTGCTGTTTTTCCGAAGGAACTATCCAACTCAGCAATGGAATCGAATGTCCATCGC
+AAATCAGGCTGGCGCGGAGTACGTGATACTCCTGAGAGGGGTATCCACTCCAGTCAACGGCGATGACACA
+CAGTGACAGCTTGCTCGTCAGCATGGAAATAATGTTTCTGAAAATCAGGGGGATGTCGTGATGAAGAGAC
+TCATTACCGAGCAGACGATCAACACGTTTTATTTTATTTTTGACCTGAGCATTACCGGGTAAATAACGTC
+CGATGCTGGTCAGCGTCAGAGATGCGCCATTGATTAGTGCGATAGTGGCATCCAACAAAGCATTTTGTCG
+GTATTTGTGAAATGGTGCTAAAGCACCGCGGAAAAAATTCTGACATACTTGGCGAGCAGGCATAGAGGAG
+ATCTCATTGAATTGGTTGCACAAGTCAGTAGATCACAAAACTCTATGCCTGTCTTTTTTTACCCGCCCAT
+TACTGGGGATTCCTCAGCGCTCCGGCGGGTTTTTTTTATGGGCACGGTGCGGGGGGAGTTGTCGGATGCG
+CTTCGCTTATCCGACCTACAGGGGAGGATATTTTAGGTCCGGTAAACGCGGTGCCATTGGGCAGAATTAG
+CTCGGAGTAACAGGTTTTGAGTATTTCAGGAAGAAATGGTGGTGGGGGAAGGATTACTCAGCGCTGCGCG
+CTTCGCCCTACGGGTCGTTGCCTGCGGCAACGCTCTCTCGCTGGCACTCGAGTCGAACCTTGGTCGAAGC
+CTCTCATCCTTCCCCGCATGGGCAGAATATTTAATTGCGGATTCGTTTGAGAATTCAGGGGCTTTTGAAA
+GTGATGGTGGTGGGGGAAGGATTCGAACCTTCGAAGTCGATGACGGCAGATTTACAGTCTGCTCCCTTTG
+GCCGCTCGGGAACCCCACCAAGGGTAATTCATATTGTAGGTAATGCTTGAGATGGTGGTGGGGGAAGGAT
+TCGAACCTTCGAAGTCGATGACGGCAGATTTACAGTCTGCTCCCTTTGGCCGCTCGGGAACCCCACCACG
+GGGTAATGCTTTTTACTGGCCTGCTCCCTTATCGGGAAGCGGGGCGCATCATATCAAATGACGCGCCGCT
+GTAAAGTGTTACGTTGAGAAAAATGAACTGGTTGCGTAATTTTCATCCGTAACGGATTAAAGCTAACCAG
+TTATTTTTGCTGGCGATTAAAGAATAATCGTCCGATTACCGTAAACAAAGACGCGCTGCGCCAGTACTTT
+GTATAGCGCACGACTTAAGACGTTTTTCTCGACGTCACGACCTGCGCGCATCATATCTTCAGCTGTGTAG
+GTATGATCGACATGAATAACGTCCTGCATGATGATTGGGCCTTCGTCCAGATTGTCATTCACATAGTGAG
+CGGTTGCGCCAATAATCTTCACTCCACGCTCATAGGCCTGGTGATAAGGACGTGCGCCGATAAACGCTGG
+CAGGAATGAATGGTGAATATTGATGATCTTATTCGGGAAGCGTGCCACAAATTCCGGCGTTAATACCCGC
+ATATACTTCGCCAGCACCACATAGTCAGGTTGATAAGCATCAATGGCATCCGCCATCTTTTGATCGTGCT
+CGTTGCGGCTTAACCCTTCATGGCTTACCAGCTCAAACGGAATATCAAACCGCTCAACCAGAGAACGTAA
+AGTATCGTGGTTACCAATAACTGCCGCGATTTCGACATCCAGGCCACCGTAATTGGCTTTCATCAACAAA
+TCGCCAAGGCAATGCGCTTCTTTAGTGACCAGAATTACTATCCGGCGACGACCGGCAGGATTCAGCTCAC
+GCACGGAGCCTTCTGGCAATGCGCTATCGAGATCCGCCAGCAGGGTGGAATCATTAAAAATCCCTTCCAG
+TTCCGTGCGCATAAAAAAGCGCCCGGTACGATGATCTACAAATTCATTGTTCTGCACGATATTTAACTCG
+TGCTTGTAGCAAATATTGGTAATACGTGCGATCAGACCTTTTTGGTCCGGACAAATAGTACGCAGAACTT
+TACGTTGGAGTGAATGCATTGCTGGAAAAACCTTGTTGAGAGTGTTTGCTAAACCGTACCGTCAACCATT
+ATTGGCCGCAGCACTTTTTAAATTTTTTACCTGAACCACAAGGGCAGGGATCGTTGCGGCCAAACTGCGG
+ACGTGTACCGTCAATATAGTACCATTGACCGTTTTCTTTCAAAAATCGCGAACGTTCAATTATTGCACCT
+GTTTTGCCACCCTCGGTAAATCGAGCAACAAAACTGACAAATCCGATATTGCCGCCGTCCTGCCAGCAAT
+GTTCAAATACGGTCAATCCCAACCATTCAGTATGCGCAAATCCGGCAATCAATTCGGCACGTAACGCCGT
+TGCTCCACAAGATGGATGCCAGGTCTTTATTAAATAATCTGCGTCTTGCATCACAAAAGCGCAGTAACGC
+GAACGCATGAGATGTTCTGGATCAGGTGCAACCTTTTCACCAGACACATAAGGGTGGCAACATAGGCTAT
+ACTCGACAGCACTACCACAGGGACAAAGCTGAGACACAAATAATCTCCCTGGAAACAATAACGGCGTATT
+AACCGCCTGAGTAGCACTATGTTAACCGAGCAGTAGCGATGTGGCTACGATTGCATTCCAGGGGAATCTT
+GCGGGAATAATGAGAAAGATAAAAATAGGGCTGGCGCTGGGATCTGGCGCGGCAAGAGGTTGGTCGCATA
+TTGGCGTAATTAATGCGCTAAAAAAAGTGGGTATTGAAATTGATATCGTTGCAGGATGTTCAATTGGTTC
+GCTGGTGGGCGCTGCCTATGCATGCGATCGATTATCTGCGCTGGAAGATTGGGTGACCTCTTTCAGTTAT
+TGGGATGTTTTACGCCTGATGGATCTCTCCTGGCAGCGCGGTGGGTTACTGCGCGGCGAGCGTGTCTTCA
+ATCAATATCGCGAAATAATGCCGGAAACAGAGATCGAAAATTGTTCCCGTCGCTTCGCGGCTGTTGCCAC
+CAATTTAAGTACTGGGCGTGAATTATGGTTTACTGAAGGCGATCTCCATCTTGCTATTCGTGCATCATGC
+AGTATTCCAGGACTAATGGCACCCGTTGCGCATAACGGCTACTGGCTGGTTGATGGCGCTGTAGTTAACC
+CAATTCCTATTTCCCTCACGCGTGCATTGGGGGCTGATATTGTGATAGCGGTCGACCTGCAGCACGATGC
+TCATTTGATGCAACAAGATTTGCTCTCCTTTAATGTCAGTGAAGAAAATAGCGAGAATGGTGATTCTCTG
+CCGTGGCATGCGCGTCTGAAAGAAAGGTTAGGCAGCATAACGACACGTCGGGCGGTGACAGCGCCAACGG
+CAACAGAGATTATGACCACTTCTATCCAGGTGCTGGAGAACCGCCTTAAAAGGAACCGCATGGCAGGTGA
+TCCGCCCGATATTCTGATTCAACCTGTTTGCCCGCAAATATCTACGCTTGATTTCCATCGCGCGCACGCT
+GCCATTGCGGCCGGGCAGCTGGCAGTGGAAAAGAAAATGGACGAACTTTTGCCGTTGGTACGCACCAACA
+TTTGACCAGAATTTTTATCTACACTTAAGTTAATTCTGACAGGCGCAGGTGGCAATAGCATGCCACTATT
+GAGTAAAGCCAGTCAGGGGAGAGAACATGACGCAGCCATTGGTCGGAAAACAGATTCTCATTGTTGAAGA
+TGAGCAGGTATTTCGCTCGCTTCTGGATTCGTGGTTTTCCTCATTGGGAGCGACAACGGTACTGGCGGCT
+GATGGGGTTGATGCCCTTGAGTTGCTGGGAGGTTTCACTCCAGACCTGATGATATGTGATATCGCGATGC
+CACGAATGAACGGGCTTAAACTGCTGGAACATATACGCAACAGAGGTGACCAGACACCGGTTCTGGTGAT
+ATCTGCCACTGAAAATATGGCAGATATTGCCAAAGCGTTACGTCTGGGCGTTGAAGATGTTTTGCTGAAA
+CCAGTTAAAGATCTGAATCGCTTGCGCGAGATGGTTTTTGCCTGTCTCTATCCCAGCATGTTTAATTCCC
+GCGTTGAGGAAGAGGAGAGGCTTTTTCGCGACTGGGATGCAATGGTTGATAACCCTGCCGCAGCGGCAAA
+ATTATTACAGGAATTGCAACCGCCGGTTCAGCAGGTGATTTCCCATTGCCGGGTTAATTATCGTCAATTG
+GTTGCCGCGGACAAACCCGGCCTGGTGCTTGATATTGCCGCACTTTCGGAAAACGATCTGGCATTTTATT
+GCCTTGATGTCACCCGAGCTGGACATAATGGCGTACTTGCTGCCTTGTTATTACGCGCATTGTTTAACGG
+ATTATTACAGGAACAGCTTGCACATCAAAATCAACGGTTGCCAGAGTTGGGCGCGTTATTGAAGCAGGTA
+AACCATTTACTCCGTCAGGCCAATCTGCCGGGGCAGTTTCCGCTATTAGTTGGCTATTATCATCGCGAAC
+TGAAAAATCTCATTCTGGTTTCTGCGGGTCTGAATGCGACGTTAAATACCGGCGAACATCAGGTGCAAAT
+CAGTAATGGTGTTCCGTTAGGCACTTTAGGTAACGCTTATTTGAATCAATTGAGCCAGCGATGCGATGCC
+TGGCAATGCCAAATATGGGGAACCGGTGGTCGGCTGCGCTTGATGTTGTCTGCAGAATGAGCAAACGATA
+ACACGGGCTAAATTTGCATTACCTGCTAATGTCGGCTGGTGGTACTATCGTCGCTATTCGTATAAGTAAT
+TGTCTTAATTATGCTAACTCGCCTCCTTTTCAGAACTTAGCCCCTTCGGGGTGCTGATATACTGGGATGC
+GATACAGAAATATGAACACGTTCAAAACACGAACAGTCCAGGAGAATTTAAATGGCTGCCATTAATACGA
+AAGTCAAAAAAGCCGTTATCCCCGTAGCGGGATTAGGAACCAGGATGTTGCCGGCGACGAAAGCCATCCC
+GAAAGAGATGCTGCCACTTGTCGATAAGCCATTAATTCAATACGTCGTGAATGAATGTATTGCGGCTGGC
+ATTACTGAAATTGTGCTGGTTACTCACTCATCTAAAAACTCTATTGAAAACCACTTTGATACCAGTTTTG
+AACTGGAAGCAATGCTGGAAAAACGTGTAAAACGTCAACTGCTTGATGAAGTGCAGTCTATTTGTCCGCC
+ACACGTGACTATTATGCAAGTTCGTCAGGGGCTGGCGAAAGGCCTGGGACACGCGGTATTGTGTGCTCAC
+CCGGTAGTGGGTGATGAACCGGTAGCTGTTATTTTGCCTGACGTTATTCTGGATGAATATGAATCCGATT
+TATCACAGGATAACCTGGCAGAGATGATCCGCCGCTTTGATGAAACGGGTCATAGCCAGATCATGGTTGA
+ACCGGTTGCTGATGTGACCGCATATGGCGTTGTGGATTGCAAAGGCGTTGAATTAGCGCCGGGTGAAAGC
+GTACCGATGGTTGGCGTGGTTGAAAAACCAAAAGCGGATGTTGCGCCGTCTAATCTCGCTATTGTGGGTC
+GTTACGTACTTAGCGCGGATATTTGGCCGTTGCTGGCAAAAACCCCTCCTGGAGCTGGTGATGAAATTCA
+GCTCACTGACGCAATTGATATGCTGATCGAAAAAGAAACGGTTGAAGCCTATCATATGAAAGGGAAGAGC
+CATGACTGCGGTAATAAATTAGGTTACATGCAGGCCTTCGTTGAATACGGTATTCGTCATAACACCCTTG
+GCACGGAATTTAAAGCCTGGCTTGAAGAAGAGATGGGCATTAAGAAGTAACATCCGTATCGGTGTTTTCC
+ACGAAACGGCGTTGAGCAATCGACGCCGTTTTTTTATAGCTTATTCTTATTATATTGTCTTAAACCGGAC
+AATAAAAAATCCCGCCGATGGCGGGATTTTTAGCATGTGCAATCTACAAAAGATTATTGCTTGATCAGGA
+AATCGTCGAGGGATTTACCTTGCTCATCCATTGCTTTTTTGATTACAGCTGGAGTACGGCCCTGGCCAGT
+CCAGGTTTTAGTTTCGCCGTTTTCGTCAACGTAGCTATATTTTGCCGGACGCTGAGCACGCTTAGCTTTG
+GTGCCAGATTTAACGGCAGCAAGGCTATTCAGCAGTTCGTTCGGGTCAATACCGTCAGCGATCAGCATTT
+CGCGATATTGCTGCAGTTTACGAGTGCGCTCTTCAACTTCAGCAGCAGCCGCGCTTTCTTCTTCGCGACG
+TTCGTTAACAACAACTTCTAATTTTTCCAGCATTTCTTCCAGCGTTTCAAGTGTACATTCTCTTGCCTGC
+GCACGAAGAGTACGGATGTTGTTCAGAATTTTAAGTGCTTCGCTCATTGTAGTAATCTCAAACTTATATT
+GGGGTGGTTTGTTGAGGTAATAATAGAGCCTTAAATTCAGTTGTGCAATAGCCAGGAATGTAAGGAATTC
+AAAATTGTTCTTTATTTTGTGCCGCCAATAAATATCTTTTCATAAAATTAGCCAGAAAAGACGCGGCATA
+TAGCCCTATTTGCACCGATGATTTCGCAGCACGTGAGGTTAAAACTTCCTGATTCATGTCACATTTTATG
+GGGAGATAATCGTAGGCTGACGACCTTTCAGTCTTCTGTATTAGCCGTGTTTACGAGAATTCCCTATTAA
+GCGAATGATGAAAAGTAGAACAGTCGCAATAAGAGCAGGGACTTAGTATTGCACTATCTCCTGGAGGTCA
+ACAGAGGGCTATTACATGCGCAACAGGTTAAAGATTGTGAATAGTTACCGGCAGTCATTTACCCGCTTAT
+AACAAGCGAGGCAGTTGTAATGATAGCTCAGAAGGATTATGCAAGGCTTCGTAAGGGAGAACGCATATAC
+CACTTCTGTGCATACTGTTGAGCTGAAAAACTGACGAATTATGATAAACTCCAGCCAACTTTATTTCATA
+TCATTGAGGGCCTGTGGCTGATGGCACAGCTATATTTCTACTATTCCGCAATGAATGCGGGTAAGTCTAC
+AGCATTGTTGCAATCTTCATACAATTACCAGGAACGCGGCATGCGCACTGTCGTATATACGGCAGAAATT
+GATGATCGTTTTGGTGCCGGGAAAGTCAGTTCGCGTATAGGTTTGTCATCGCCTGCAAAATTATTTAACC
+AAAATTCATCATTATTTGATGAGATTCGTGCGGAACATGAACAGCAGGCAATTCATTGCGTACTGGTTGA
+TGAATGCCAGTTTTTAACCAGACAACAAGTATATGAATTATCGGAGGTTGTCGATCAACTCGATATACCT
+GTACTTTGTTATGGTTTACGTACCGATTTTCGAGGTGAATTATTTATTGGCAGTCAATACTTACTGGCGT
+GGTCCGACAAACTGGTTGAATTAAAAACCATCTGTTTTTGTGGCCGTAAAGCAAGCATGGTGCTGCGTCT
+TGATCAAGCAGGCAGACCTTATAACGAAGGTGAGCAGGTGGTTATTGGTGGTAATGAACGCTACGTTTCT
+GTATGCCGTAAACACTATAAAGAAGCGTTAGAAGTCGGCTCATTAACGGCTATTCAGGAAAGGCATCGCC
+ACGATTAATAAGAATTTCTTTACTGACAGGGTGAGCAGGGCGCTTTTATCCTGTCAGTTCGTTTTACGCA
+CTTCTTTCGGGCTATACACCCTTCTCGGCAGTTTTTTAACGCCGCTATACGCCTCACAGAGCGCTTATAC
+ACCGACATTGACTTGTAACCTGTAAAGTACAATATCGCTGTGTGTAGGCGTTATACATCGTCGCAAATAT
+GATGAAGGACAATGCTGCCGGTTTATGGAAAAGTTGTTTTGGGAAAACAAAAAACGGCCCCAGAAGGGGT
+AATGCCAGTCAGTTAAGCAACTGACTGGCTCTTTTTCGGGGCTGTGGGGTATTTCCAGGGCCTCTCCTTT
+ACCACTCTCGGGAAGGCCCTTTCCCTTCTTGTCGGTAATTTCACTGGTTGTCCCATACTTGCAAGATCGC
+GCATCAGCTCCGGTATACGTCCTGGGGAAGCGTATGGCGTCCGTCATCGACGTCAGCAGATGGCAGACTT
+TTCCTTTGCGCGTCACGGTCAGCAGGCGGGCTGTCACCTCATTTCCCAGTCCCGGCCACTTTTTTCGTGC
+CTGCGGGCTGGTTTTCAGCTTCACCAGATGATCGCCTTTACCCAGTTTTCTAATCTCTTCATATTGCGCT
+CCCTTTCTGAGAGGGATCATCCAGTGGCGGTGTTCTCCCGCCAGGCTCCAGGCATTTAACAGTCCTGGTG
+AGTAATAACCTTTATCCATTAACGTCAGAGTGTTATCGCCGGTTTGTTCTATAAGTTGCTCAGCAAGCTC
+ATTTTCGCTGTTCTTCATCGTGCCGAAGGCTGCAGCCGTCAGCAGATGGCTGGTCAGTTCCATCTGGCAG
+ACCATTTTGACCTGCGGGTAGAGCGCCGAGTTCCCGGCATGTGTCTGGCGGGGGAAGGCTGCATCGTTCT
+CTGGTGTATCCGGTGTGCGCCAGAACACACCATCGATGGCCAGCAGGGTCAGGCCGCACCAGTGCGGATG
+CGGCGTGGCGTTATGCCAGAGCTGCGCTGTTTTCGTGAACACGCGGCGGACAGCCTCAATTCCCAGACGC
+TGGCGGGTCTGAATAACGGCACTGGGGGCAACGAAGGGGCGATTGCCCGGCAGCATGATGTCCAGGCGAT
+TCACAATCTGGTGAAGAGGTTCTTTACGCTCAAGCGCCATGCCAACAATACACCAGACCGTCATTTCGAG
+GGGAAGACGGCGCTTGCGTAGCGTTACAGTACCTGATTCGGCAAGGCAACGAGAGATGAGTTCGGGGTCG
+AGGTAATCCCCCAGAGAAGTCAGTGGGTTACGCAGAGAATCGTAACGGGATACCAAATCAAGGGCCTGCC
+CAATGAGCATAAAAAAATCCGGAAACGAGTGAGCGTTTCCGGATTCTTACACAGCCACTGGATCGGTCAA
+CTGATCCTTAACTGACTGGCATTACCCCAGAAGGGGCCGTTTATGTTGCCAGACAGCGCTACTGATTAAG
+CGGATTTTTTCGCTTTTTTCTCAGCTTTAGCCGGAGCAGCTTCTTTCTTCGCTGCAGTTTCGCCTTCTAC
+ATAATCACGACCGTAGTAGGTATCCAGCAGAATCTGTTTCAGCTCGGAGATCAGCGGGTAACGCGGGTTA
+GCGCCGGTGCACTGGTCATCGAATGCATCTTCAGACAGTTTATCCACGTTCGCCAGGAAGTCTGCTTCCT
+GAACGCCAGCTTCACGGATAGATTTCGGAATACCCAGTTCAGCTTTCAGCGTTTCCAGCCATGCCAGCAG
+TTTCTCGATCTTAGCTGCAGTACGGTCGCCCGGTGCGCTCAGACCCAGGTGGTCAGCAATTTCAGCATAA
+CGACGGCGAGCCTGCGGACGGTCATACTGGCTGAATGCAGTCTGCTTGGTCGGGTTGTCATTCGCGTTGT
+AGCGAATAACGTTACAAATCAGCAGGGCGTTTGCCAGACCGTGCGGAATATGGAACTGGGAACCCAGTTT
+GTGCGCCATTGAGTGACATACACCCAGGAAGGCGTTCGCAAACGCGATACCCGCGATAGTCGCTGCACTG
+TGAACACGTTCACGCGCTACCGGATTTTTAGACCCTTCGTGGTAGGACGCTGGCAGATATTCTTTCAGCA
+GTTTCAGTGCCTGCAGAGCCTGACCATCAGAGAACTCAGATGCCAGTACAGAAACATAAGCTTCCATGGC
+GTGAGTTACTGCGTCCAGACCACCGAAAGCACACAGGGACTTCGGCATGTCCATAACAAGGTTGGCGTCG
+ACAATCGCCATATCCGGGGTCAGTGCATAGTCTGCCAGCGGATATTTCTGACCAGTAGTGTCGTCAGTTA
+CAACCGCAAACGGAGTGACTTCAGAACCTGTACCAGAAGTGGTGGTGACAGCGATCATTTTCGCTTTCAC
+ACCCATTTTCGGGAACTTGTAGATACGTTTACGGATATCCATAAAGCGCAGCGCCAGTTCTTCGAAGTGA
+GTTTCCGGATGTTCGTACATAACCCACATGATCTTCGCAGCGTCCATCGGGGAACCACCACCCAGCGCGA
+TAATCACGTCTGGTTTGAAGGAGTTTGCCAGTTCTGCACCTTTACGAACGATGCTCAGGGTCGGGTCAGC
+TTCTACTTCGAAGAAGACTTCAGTTTCAACGCCTGCTGCTTTCAATACGGAAGTGATCTGATCAGCATAA
+CCATTGTTGAACAGGAAGCGGTCAGTCACGATGAGCGCACGTTTGTGGCCATCAGTAATCACTTCATCCA
+GCGCGATTGGCAGGGAGCCACGGCGGAAGTAGATAGATTTCGGAAGTTTGTGCCACAACATGTTTTCAGC
+TCGCTTAGCAACGGTTTTCTTGTTGATCAGGTGTTTCGGACCAACGTTTTCAGAGATGGAGTTACCACCC
+CAGGAACCACAACCCAGAGTCAGGGAAGGTGCGAGTTTGAAGTTATACAGGTCACCGATACCACCCTGAG
+AAGCCGGGGTGTTAATCAGGATACGAGCCGTTTTCATTTTCTGACCGAAGTAAGAAACGCGAGCCGGTTG
+GTTATCTTGGTCAGTGTACAGGCAAGAGGTGTGACCGATACCGCCCATAGCAACCAGTTTCTCTGCTTTT
+TCTACCGCGTCTTCGAAATCTTTAGCACGGTACATTGCCAGAGTCGGGGACAGTTTTTCATGTGCGAACG
+GTTCGCTTTCATCAACAACGGTCACTTCACCGATCAGAATCTTGGTGTTTTCTGGTACAGAGAAGCCTGC
+CAGTTCAGCAATTTTATAGGCTGGCTGACCAACGATAGCCGCGTTCAGCGCACCGTTTTTCAGGATAACG
+TCCTGAACAGCTTTCAGCTCTTTACCCTGCAACAGATAGCCGCCGTGGGTTGCGAAACGTTCACGTACTG
+CGTCATAAACAGAGTCAACAACAACAACAGACTGTTCAGAAGCACAGATTACACCGTTGTCGAAGGTTTT
+GGACATCAGTACAGATGCAACTGCACGTTTGATATCAGCAGTTTCATCGATAACAACCGGAGTGTTGCCC
+GCGCCTACGCCGATAGCTGGTTTACCGGAGCTGTATGCGGCTTTAACCATGCCCGGACCACCAGTCGCGA
+GGATCAGGTTGATGTCTGGGTGGTGCATCAGTGCGTTAGACAGCTCAACAGAAGGTTGATCGATCCAGCC
+GATCAGATCTTTCGGAGCACCGGCAGCGATAGCAGCCTGTAGAACGATATCAGCCGCTTTGTTGGTGGCA
+TCTTTTGCACGCGGGTGCGGGGAGAAGATAATGGCGTTACGGGTCTTCAGGCTGATCAGCGATTTGAAGA
+TAGCAGTTGAAGTCGGGTTAGTGGTCGGAACGATACCGCAAATAATACCGATGGGTTCAGCGATAGTGAT
+GGTACCAAAAGTGTCGTCTTCAGACAGAACACCACAGGTTTTTTCATCTTTATAAGCGTTGTAGATATAT
+TCAGAAGCAAAGTGGTTTTTGATCACTTTATCTTCGACGATACCCATGCCGGATTCGGCAACGGCCATTT
+TCGCGAGTGGGATTCGAGCATCTGCAGCAGCCAGAGCGGCGGCGCGGAAGATTTTGTCTACTTGCTCTTG
+AGTGAAACTGGCATATTCACGCTGGGCTTTTTTTACACGCTCTACGAGTGCGTTAAGTTCAGCGACATTA
+GTAACAGCCATAATGCTCTCCTGATAATGTTAAACTTTTTTAGTAAATCATCTGCTCGAATACGAGAGTA
+TAGTCAGTGCGGTGATGATTTGCTTAACCGATGGAAATCAAAAGCTTACTCGCGCTCACACTCACTGTGA
+TTTACTAAAAGAGTTTAAACATTAGAGTTATTATCTCTAATGCGTCACTTCCAGGTGGCGTAAGCAAGAT
+TACTCACTTCTGGGTACTGATTACGTGATCCAAATCAAAATTTTGCAAAGCTGACACCTTTCAGCATGGC
+TTTTCGCCATTATAGCTAACAGTTAATAAATTGTAGTATGATTTGTTGGCTACATTAGCATGTTTTGCAC
+AACTAGATAACAATAACGAATGATAGCAATTTTAAGTAGTTAGGAGGTGAAAAATGCTGTCAAAAGGCGT
+ATTGTCAGCGCGTCTTTTCAACCTTATTTATGGCTAACATTATCCGGCTTTTGCTTCGGAGCTAACCGTG
+ATTCAGACCCTTTTTGATTTTCCCGTTTACTTCAAATTTTTCATCGGGTTATTTGCGCTGGTCAACCCGG
+TAGGGATTATTCCCGTCTTTATCAGCATGACCAGTTATCAGACAGCGGCAGCGCGAAACAAAACTAACCT
+TACAGCCAACCTGTCTGTGGCCATTATCTTGTGGATCTCGCTTTTTCTCGGCGACACGATTCTGCAACTT
+TTTGGTATATCAATTGATTCGTTCCGTATCGCCGGGGGCATCCTGGTGGTGACGATAGCGATGTCGATGA
+TCAGCGGCAAGCTTGGCGAGGATAAACAGAACAAGCAAGAAAAATCAGAAACCGCGGTACGTGAAAGCAT
+TGGTGTGGTGCCACTGGCGTTGCCGTTGATGGCGGGGCCAGGGGCGATCAGTTCTACCATCGTCTGGGGT
+ACGCGTTATCACAGCATTAGCTATCTGTTTGGTTTCTTTGTGGCTATTGCATTGTTCGCTTTATGTTGCT
+GGGGATTGTTCCGCATGGCACCGTGGCTGGTACGGGTTTTACGCCAAACCGGCATCAACGTGATCACGCG
+TATTATGGGGCTATTGCTGATGGCATTGGGGATTGAATTTATCGTTACTGGTATTAAGGGGATTTTCCCC
+GGCCTGCTTAATTAATTCCTTTCAAATGAAACGGAGCTGTCATGCTCCGTTTACTTCGTCATTATTTTTA
+CTTTGTTCCCGCGCAGTTATCAAAAGCAAAAGGAATGGGTGAAAATATTCTTCTCAAATTACAGTTGGTT
+ATAAGGATTTCCTTAACTGCTTCTCCTCACCATCATGTTATTTTCGCCACATCATAATCCTGGGCTTGCT
+GAAGAATAATTGAAATGATATTAGTAATTCCACTGCCTTTGGTAGAGGAAAGTGCTAAATAATAATCAAT
+TGTTAAATTATTGTGCATTTCACTACTGGAACTGTAATCAGAAAAGAGAGACATGCTTAACCAATCTCTA
+TTTAATTGAATTAAAAGATGTTTGTTAAGACATGGATGCAAGCTATAGATTCTGATACGGTCAATAAAAG
+AGAATTGCTTAACAATTTTGCAAAATGTATTGGCGAGTAAGAACCGCATTTGGTACTTTCCGGGCAACCG
+CCAGACGATTCTTTATTGGTAATGAGAATAATTAACAATTAAAGAGCGTCGCGAAAGAATAATGTGTCTC
+GACAGGGGAGACACAGTACGAATCGACATAAGGTGATCGTCTGAATCACCAGAATAAATAAAGTCGGTGA
+TAGTAATACGTAACGATAAAGTAACCTGACAGCAGAAAGTCTCCGAGCCTGTGCAGGGTCCCAATCCGGG
+ATTACACATGCTGGTTAATACCAGTAATTATAATGAGGGAGTCCAAAAAACAATGACCAACATCACCAAG
+AGAAGTTTAGTAGCAACTGGCGTTCTGGCTGCGCTTATGGCAGGGAATGTCGCGCTGGCAGCTGATGTAC
+CCGCAGGCGTCACACTGGCGGAAAAACAAACGCTGGTACGTAACAATGGTTCAGAAGTTCAGTCATTAGA
+TCCGCACAAAATTGAAGGTGTTCCGGAGTCTAATATCAGCCGAGACCTGTTTGAAGGCTTACTGGTCAGC
+GATCTTGACGGCCATCCGGCACCTGGCGTCGCTGAATCCTGGGATAATAAAGACGCGAAAGTCTGGACCT
+TCCATTTGCGTAAAGATGCGAAATGGTCTGATGGCACGCCAGTCACAGCCCAAGACTTTGTGTATAGCTG
+GCAACGTTCTGTTGATCCGAACACCGCTTCTCCGTATGCCAGTTATCTGCAATATGGGCATATCGCCGGT
+ATTGATGAAATTCTTGAAGGGAAAAAACCGATTACCGATCTCGGCGTGAAAGCTATTGATGATCACACAT
+TAGAAGTCACCTTAAGTGAACCTGTTCCGTACTTCTATAAATTACTTGTTCACCCATCAACTTCACCGGT
+GCCAAAAGCCGCTATCGAGAAATTCGGCGAAAAATGGACCCAGCCTGGTAATATCGTCACCAACGGTGCC
+TATACCTTAAAAGATTGGGTCGTAAACGAACGAATCGTTCTTGAACGCAGCCCGACCTACTGGAACAACG
+CGAAAACCGTTATTAACCAGGTAACCTATTTACCTATTGCTTCTGAAGTTACCGATGTCAACCGCTACCG
+TAGTGGTGAAATCGACATGACTTATAACAACATGCCGATCGAATTGTTCCAGAAGCTGAAAAAAGAGATC
+CCGGACGAAGTTCACGTTGATCCATACCTGTGCACTTACTATTACGAAATTAACAACCAGAAACCGCCAT
+TTAATGACGTGCGTGTGCGTACCGCACTGAAATTGGGTATGGACCGCGATATCATTGTTAATAAAGTGAA
+AGCGCAGGGCGACATGCCCGCCTATGGTTACACTCCACCATATACTGATGGCGCAAAATTGACTCAGCCG
+GAATGGTTTGGCTGGAGCCAGGAAAAACGTAACGAAGAAGCGAAAAAACTGCTGGCTGAAGCGGGTTATA
+CCGCAGACAAACCGTTGACCATCAACCTGTTGTATAACACCTCCGATCTGCATAAAAAGCTGGCGATTGC
+TGCCTCTTCATTGTGGAAGAAAAACATTGGTGTAAACGTCAAACTGGTTAACCAGGAGTGGAAAACGTTC
+CTCGACACCCGTCACCAGGGCACTTTTGATGTGGCCCGTGCAGGCTGGTGTGCAGACTACAACGAACCAA
+CTTCCTTCCTGAACACCATGCTGTCGAACAGCTCAATGAATACCGCGCATTATAAGAGCCCGGCCTTTGA
+CAGCATTATGGCGGAAACGCTGAAAGTGACTGACGAGGCGCAGCGTACAGCTCTGTACACTAAAGCAGAA
+CAACAGCTGGATAAGGATTCGGCCATTGTTCCTGTTTATTACTACGTGAATGCGCGTTTGGTGAAACCGT
+GGGTTGGTGGCTATACCGGCAAAGATCCGCTGGATAATACCTACACCCGGAATATGTACATTGTGAAGCA
+CTAATGGCAATACGTGGGGCAGGAGTGTCCTGCTCCACGGTGTCTGATTTTTATCGCATTACAGAAGGCA
+CAGGCCAGAAGGTAGGGCAATGTTAAAATTTATTCTACGTCGCTGTCTGGAAGCGATTCCGACGCTATTT
+ATTCTTATTACTATTTCGTTCTTTATGATGCGCCTCGCTCCGGGCAGTCCTTTTACCGGCGAACGTACTT
+TACCACCGGAAGTGATGGCCAATATCGAAGCGAAATATCATCTTAATGATCCGATCATGACTCAGTATTT
+CAGCTACCTGAAACAACTGGCGCATGGCGATTTCGGTCCATCGTTTAAATATAAAGATTATTCGGTCAAT
+GACCTGGTTGCATCCAGTTTTCCCGTTTCTGCCAAACTGGGAGCCGCAGCATTTTTTCTTGCGGTAATAC
+TGGGTGTTAGTGCTGGCGTTATTGCCGCATTAAAGCAAAACACCAAATGGGACTATACCGTGATGGGGCT
+GGCAATGACCGGGGTTGTTATCCCCAGTTTTGTGGTTGCGCCATTATTAGTCATGATATTTGCGATCATT
+TTGCATTGGCTGCCGGGCGGTGGCTGGAATGGTGGAGCGCTTAAATTCATGATATTGCCAATGGTGGCGT
+TATCACTCGCCTATATCGCCAGTATTGCGCGTATTACCCGTGGCTCTATGATTGAGGTTTTACACTCCAA
+CTTTATTCGTACTGCCCGGGCGAAAGGGTTACCTATGCGGCGGATCATTTTACGCCACGCATTAAAACCT
+GCTCTGTTACCCGTGCTCTCCTATATGGGGCCCGCATTTGTCGGCATTATTACCGGTTCGATGGTCATCG
+AAACCATTTATGGTTTACCGGGGATTGGGCAATTGTTCGTTAATGGCGCATTGAACCGTGACTATTCCTT
+AGTGTTAAGTCTGACCATTCTGGTTGGCGCGTTAACCATTTTGTTTAATGCCATTGTCGATGTGCTATAT
+GCGGTTATCGACCCGAAAATCCGTTACTGATACTGGAGCTCGCGATGATGTTAAGTAAGAAAAACAGCGA
+GACGCTGGAAAATTTCAGTGAAAAGCTGGAGGTCGAAGGGCGCAGCTTGTGGCAGGACGCACGTCGACGT
+TTTATGCATAACCGTGCGGCGGTTGCCAGTCTGGTAGTGCTGGTGCTGATCGCGTTATTTGTAATCCTGG
+CACCGATGCTTTCGCAGTTTGCCTATGACGATACTGACTGGGCGATGATGTCCAGCGCCCCGGATATGGA
+GTCCGGTCACTACTTTGGTACTGACTCATCCGGTCGCGACCTGCTTGTGCGCGTTGCGATTGGCGGGCGT
+ATCTCACTCATGGTCGGTGTTGCTGCGGCACTGGTGGCAGTGGTCGTGGGGACACTTTATGGTTCGCTTT
+CCGGTTATCTGGGCGGTAAAGTGGATTCGGTAATGATGCGTCTGCTGGAAATCCTCAACTCCTTCCCATT
+CATGTTCTTCGTCATTTTGCTGGTGACCTTTTTCGGTCAAAACATCCTGCTGATTTTCGTGGCGATTGGC
+ATGGTTTCCTGGCTGGATATGGCTCGTATTGTGCGTGGGCAAACCCTGAGTCTGAAGCGCAAAGAGTTTA
+TTGAGGCGGCACAAGTTGGCGGTGTATCGACGCCGGGCATTGTTATTCGCCACATTGTGCCGAACGTACT
+CGGTGTGGTGGTGGTCTATGCGTCGCTTCTGGTGCCCAGCATGATCCTCTTTGAATCTTTCCTTAGCTTC
+CTGGGATTAGGTACGCAAGAGCCGTTAAGCAGCTGGGGTGCATTGCTGAGTGATGGCGCGAACTCGATGG
+AAGTCTCTCCATGGTTACTGTTGTTCCCAGCGGGATTCCTCGTGGTAACGCTGTTTTGTTTCAACTTTAT
+CGGCGATGGCTTGCGTGATGCCCTCGACCCGAAAGATCGTTAAGGAGTGCAGCCATGAGCGTAATTGAAA
+CTGCAACTGTGCCGCTCGCACAACAACAGGCTGACGCACTGCTGAACGTGAAAGATTTGCGTGTCACCTT
+TAGTACCCCGGATGGCGACGTCACGGCGGTCAATGATTTGAATTTTTCGCTACGTGCCGGAGAAACGCTG
+GGCATCGTAGGTGAGTCTGGTTCGGGCAAATCGCAAACCGCATTTGCGTTGATGGGCCTGTTGGCTGCCA
+ACGGACGTATTGGCGGATCGGCAACCTTCAATGGGCGTGAAATCCTCAATTTGCCAGAGCGTGAACTCAA
+TAAACTGCGAGCTGAACAAATCTCAATGATTTTTCAGGACCCAATGACTTCGTTGAATCCCTATATGCGC
+GTCGGTGAGCAGTTGATGGAAGTGCTGATGCTGCATAAGAACATGAGCAAAGCTGAGGCGTTTGAAGAAT
+CGGTGCGGATGCTCGATGCGGTAAAAATGCCGGAAGCGCGTAAACGCATGAAAATGTACCCGCACGAATT
+TTCTGGCGGCATGCGTCAGCGAGTCATGATTGCGATGGCATTGCTATGTCGACCTAAGCTGCTGATTGCG
+GATGAACCCACTACTGCGCTGGACGTCACCGTACAGGCGCAGATCATGACGCTATTGAATGAACTGAAGC
+GGGAATTTAATACCGCCATCATTATGATTACCCACGATCTTGGCGTGGTGGCGGGGATCTGCGACAAAGT
+GCTGGTAATGTACGCTGGGCGCACGATGGAATATGGCAACGCGCGCGATGTCTTTTATCAACCCGTACAT
+CCTTATTCTATCGGTTTGCTCAACGCGGTGCCGCGTCTCGATGCGGAAGGTGAAACAATGTTGACTATTC
+CGGGTAATCCGCCAAACCTGCTGCGATTACCGAAAGGTTGCCCGTTCCAGCCACGTTGTCCGCATGCGAT
+GGAAATTTGTAGTAGTGCACCGCCGCTGGAAGAGTTTACGCCTGGCCGTCTGCGTGCTTGCTTTAAACCA
+GTGGAGGAACTGTTATGAATGCTGTAACCGAAGGAAGAAAAGTCCTCCTCGAAATCGCCGATCTGAAAGT
+GCACTTTGAAATCAAAGATGGCAAACAGTGGTTCTGGCAACCGCCGAAAACGCTCAAAGCCGTCGATGGT
+GTAACTCTTCGCCTGTATGAAGGGGAAACATTAGGTGTTGTAGGGGAATCGGGATGCGGGAAGTCCACCT
+TTGCTCGCGCCATCATTGGCCTGGTTAAAGCGACCGACGGTCATGTGGCCTGGTTAGGTAAAGAGTTGCT
+GGGCATGAAGCCCGATGAATGGCGTGCCGTACGCAGTGATATTCAGATGATTTTCCAGGATCCGTTGGCA
+TCACTGAACCCGCGTATGACCATCGGCGAGATCATCGCTGAACCACTGCGTACTTATCATCCGAAAATGT
+CACGCCAGGAAGTTCGCGAGCGCGTGAAGGCGATGATGCTGAAAGTCGGTTTGTTGCCTAACCTGATTAA
+CCGCTATCCGCATGAGTTCTCCGGTGGGCAGTGCCAGCGTATCGGGATTGCTCGTGCTCTTATTCTTGAA
+CCGAAGCTGATTATCTGTGATGAGCCGGTGTCGGCGCTGGACGTGTCAATTCAGGCGCAGGTGGTCAACC
+TGCTCCAGCAGTTGCAACGTGAGATGGGATTGTCATTAATTTTTATCGCTCACGACCTGGCCGTGGTAAA
+ACACATTTCCGATCGTGTGCTGGTGATGTATCTCGGCCATGCGGTAGAACTGGGGACCTATGATGAGGTC
+TACCACAATCCGCTACATCCTTACACCAGGGCATTGATGTCGGCAGTCCCCATACCTGATCCGGATCTGG
+AGAAGAACAAAACCATCCAGTTACTGGAAGGGGAATTACCGTCGCCGATCAACCCGCCTTCCGGTTGTGT
+TTTCCGTACCCGTTGTCCGATTGCCGGTCCGGAGTGCGCCAAAACACGTCCTGTGCTGGAAGGGAGTTTC
+AGACACGCCGTTTCTTGCCTGAAAGTCGATCCGCTTTAAAAGCAATAAGGGCTGACAGTTGTCAGCCCTT
+TTCACGCCAAAAGCGATTATTTATTCCCGCCAGATGATATGGCAAAGTTTGTGATCTTTTTCGCGGCATA
+ACAGAATGCGCGCGAAAACATCGTTGATTTCACCATCTTCACTGTCCGCCAGACCAATCACCACTTCGGC
+AAAAAAGTCCGGGTTCAAATCGAAATCAACATGTTCCTGCCAGTCTTCCGCCGGATCGAATAACTCCGCG
+CCGCCGCGCTCTTCAAACTGAAGATTGAACAGCAGAACATCAGCTGGATCGAGATTGTCGGCAGCCAGTT
+CGAGAAAAATATCGTAGGCCTGCTCAAGCGTTTCATCTTCAGTCAGGCGATTGTTTAGATCCATATCCAT
+AGTCACTACCTGTTTAACCTCTGTTGGCGACGTTTTACAGCAACGGGCTGAAGAAGTAAAACAGTCGCTC
+GGCGACACGTTGCCATAATGGACGTTTTAGCCATAAACGGGCATCGAGCAGACGAGAACGCGAAATATAA
+TCGTCCTGAACGGCGGCGAGGTCTGCACCAAAACCTTTATCGTCGATTGCCAGGGTAATCTCGAAATTTA
+GCCACAGACTACGCATATCAAGGTTAACGGTGCCAACCAGACTTAGTTCACCATCGACCAGCACGCTCTT
+GGTATGCAGTAACCCGCCTTCAAACTGATAAATTTTAACCCCAGCAGCCAGCAGTTCTGTAAAGAATGCG
+CGACTGGCCCAGCCGACCAGCATCGAGTCATTTTTTCGCGGAAGGATAATACTGACATCCACCCCGCGCT
+GCGCCGCCGTGCAAATCGCATGAAGTAAATCATCGCTTGGCACAAAATAGGGCGTTGTCATGATCAAATA
+TTCACGAGCCGAATAAGCAGCAGTCAATAATGCCTGGTGAATGAGATCTTCCGGAAAGCCGGGGCCAGAA
+GCAATTGTGTGAATAGTGTGACCGCTGGCCTGCTCAAACGGCATAATATTGACATCTGGTGGCGGCGGCA
+GAATACGTTTCCCGGTTTCAATCTCCCAGTCGCAGGAATAAATAATCCCCATCGCGGTGGCGATGGGGCC
+TTCCATACGCGCCATCAGATCAATCCATTGCCCTACGCCCGCATCTTGTTTGAAGTAGCGAGGGTCGACC
+ATATTCATGCTGCCGGTGTACGCGATGTAATTATCAATCATGATCATCTTGCGATGTTGGCGCAGGTCCA
+TACGGCGTAAAAACACACGCATCAGATTGACCTTTAAGGCTTCGACAACTTCAATACCGGCATTACGCAT
+TAGCTCGGGCCACGGGCTGCGGAAAAAAGCCACACTCCCGGCGGAGTCGAGCATCAATCGGCAATGAATA
+CCGCGCCGTGCAGCGGCCATTAATGATTCAGCCACCTGGTCCGCCATGCCGCCGGGCTGCCAGATATAAA
+ACACCATCTCAATATTATGGCGCGCGAGCTGGATGTCGCGGATTAACGCCTGCATCACATCATCTGACTC
+GGTCATCAGTTGTAGCTGATTCCCTTTGACCCCAGCGATCCCCTGACGACGCTCGCAAAGCTTGAATAAT
+GGCGCAGCGACACTGCTATTTTCTTCGGCGAAGATATGCTTACAGGCTTTAAGGTCGTTAAGCCATTTTG
+CGGTGGAAGGCCACATCGCTCTGGCGCGCTCAGCGCGGCGTTTGCCTAAATGGAGCTCGCCAACGGCAAG
+ATAGGCAATAATTCCGACTAACGGCAGAATGTAAATAATCAACAGCCAGGCCATCGCGGAGGGAACTGCG
+CGTCGTTTCATTAGAATGCGTAAAGTTACGCCTGCAATGAGCAACCAGTATCCCAGAATGGCCAACCAAC
+TCACCAACGTATAAACGGTTGTCATAGATTAGAAATCCTTTTGAAAGCGCATTGTTATGAGTTTACGCAT
+ATGGATTCATCTGGCAAATAAAAACGCGGGAAAAGCACTGGTCAGCGTCAGGGGCGGGGGTATAATGACC
+ATTCTGTTGTTGCATAGAGTAGTTAACATGAAGCGGAGTAGAACGGAAGTGGGGCGCTGGCGCATGCAGC
+GTCAGGCTAGCCGACGTAAATCGCGTTGGCTTGAGGGGCAGTCGCGCCGAAATATGCGTATCCACAGCAT
+CAGGAAGTGCATTCTAAACAAACAGCGTAACTCGTTATTGTTTGCGATCTACAATATCTAAATGTACTGG
+GCACCATTGCGGTGCCCAATAAGTTTACTCTTCCGTCTTTAAACTCTATTTTTGCGCCGATTCTTTACTG
+TCAGCTTTCGTTTCTTGTTCATCGTTATCGCTGAAAATGCCATGACCGGAGTTCAACAACATTGAAACGA
+GCATATCATTATTAATCTCTTCACCATTTAAAACTCGCGCCAGAATTTCGCTGCCAAACAGTTGTGGTGA
+GAGAATGATATCCGGATGTACCATCTTAATCTTATTCAGGTTTTTGCTATCACTGACGGCGAGAACTGTT
+TTGACATCACTGCTCATATCTTTTGCCGAGAGTACAACAAACGCGTTATCTGCATCGTTATCACTCAGCG
+CCAGAATGGCCCGGCAACGATCGATTCCCGCTTTCTTTAACACTGAACTGTCATTACTGTCACCGGGGAT
+AACATCGGCGTTATCGCCTAAGCGTTGCTCAAGTTGCTTGATATCATCTTCAGGCAAGTTGCTGATAACC
+GTTACGTTTTGTCCGCGTTGATTCAGTTGCAGAATCGTATTGATGGCGAGAATCGAATGTCCGCAAACAA
+TAAAATGATCTTTACGATGCATTGTATGATTGTTTCCTTTTACAAGTTTGTTGAATCCCCCGCGGATAAG
+CGGACCAAAAATTGAGGTCATAGATGTGGCAAAAACGGTAATGCCGGAAATAATGACCGAAATAGTGAAC
+AATCGTGCTGATTCAGAAACAGGGACAATATCGCCATAGCCGACGGTTGACATGGTTTCTATCGAAAAAT
+AGAACGCGGTCATCAAACTTTCTATTCGCGGATTAAAACCTTCGCTTAAATAAAGCGCACCGTAAGTGGA
+GTAAAACAGTAACGTCGTGAAACTAATAAATGCGAAAATTGTCCCGGCTGCTGCGCTACTGTGGGAGAAG
+TCTTTGCGCAGTATCAGCAAAAACACCAGCGTAAAAATGCAAAATCCAATACTAAATTTCAGCCAGGGAT
+AAAAATGCAGAGTGTAAATTAGCGCTATCAACAACAAAATGATACTGATTGCCCATGCGAGCTTTGCCCG
+GAACAGTAAGCCAATGGAGTTCAGGACAAGAAATACGCCGAGCATAAATAGTGGGGCGTTTGCCAGCAAG
+GAGAGATCCAGCTCTGAAAATGCTTTGATATGGAAAATATCAAGCAAATTGACCGACATACCATAGATTG
+TTTTAAAAATAAGCAATCCATTTAAAAAGACGGCCAGCGCGAGAATGTCGTGCCGTAGGGTCACCCATAA
+CTTTGTTGCTGTTTGTTTGAATGTAGTCCAGTGACTCACTGATACCTCTGTAACCACAATTTTGTTTAAT
+TATCTCAACGTGCACATTTTCTTAACATACATGCAGCGCGTGAATGTGTTAAACAATAGTAGATGACTTT
+ATCCGCAGTAATCAAAGGTTTTGAGTGAGCAACTCTGCGTCAGGAAAGGGCATTTTCCAGAATATGTTCA
+CATCATATAAAGAAATACAGATAAAGTTATTATCTGCTTGTGGTGGTGAATGCACTGACCGACCTATAAG
+GAAAGGCCAAACAAGAACACGGTTGCAAAAACCGTGCCCTTAAATATTGAATTTCTATTCAGAACACTTT
+CTTAAATGGTTTCACTGAAACGTGTTCATAGACTCCTGCCGCTACGTACGGGTCAGCATCGGCCCAGGCC
+TGAGCTGCTTCCAGCGACTCAAATTCAGCAATAACGGTTGAGCCAGTAAATCCCGCAGTCCCTGGATCGT
+TACTGTCTACCGCTGGCATTGGACCGGCGGTCAACAAACGACCTTCATCATGCAGTAACTGTAAACGTGC
+TAAATGTGCCGGACGAACGGAAAGGCGTTTTTCGAGGCTATCAGCTTTGTCTTGAGCGTAAATAACATAC
+AACACGGGCACAACTCCTTGTTCGGGAAAGTTGTAAAGTACGTTATTTGAAAGGGCGAAGATCTGCAACG
+GAAAGATGATGTCTTTGTTAAGACCATGCATAAAGTAAGGTCAATTACGCCAAAAATGACATTTTCACTG
+ATCCTGATCGTCTTGCCTTATTGAATATGATTGCTATTTGCATTTAAAATCGGGGCCTGGTTTTTCTACT
+GAAATGATTATGACTTCAATGACCCTTGATTTACCTCGCCGCTTCCCCTGGCCGACGTTACTTTCGGTCT
+GCATTCATGGTGCTGTTGTGGCGGGTTTGCTCTATACCTCGGTACATCAGGTTATTGAACTACCTGCGCC
+CGCGCAGCCGATTTCTGTCACGATGGTTGCGCCTGCTGATCTTGAACCGCCACAAGCCGTTCAGCCACCA
+CCGGAGCCGGTGGTAGAGCCAGAACCGGAACCTGAGCCGATCCCTGAACCGCCAAAAGAAGCTCCGGTGG
+TCATTGAAAAGCCGAAGCCGAAACCTAAGCCAAAACCGAAGCCGGTGAAAAAGGTGGAGCAGCCAAAACG
+CGATGTCAAACCCGTAGAGTCGCGTCCGGCATCACCGTTTGAAAATACGGCACCCGCGCGCCCGACATCA
+AGTACGGCAACGGCTGCAACCAGCAAGCCGGTTACCAGTGTGGCTTCAGGACCACGCGCATTAAGCCGTA
+ATCAGCCGCAGTATCCGGCACGAGCACAGGCATTGCGCATTGAAGGGCAGGTTAAAGTTAAATTTGATGT
+CACGCCAGATGGTCGCGTGGATAACGTACAAATCCTCTCAGCCAAGCCTGCAAACATGTTTGAGCGTGAG
+GTGAAAAATGCGATGCGCAGATGGCGTTATGAGCCGGGTAAGCCAGGCAGTGGGATTGTGGTGAATATCC
+TGTTTAAAATTAACGGCACTACCGAAATTCAGTAAGCATAAAGTCAAAAGCCTCCGACCGGAGGCTTTTG
+ATTATTACTCAACGGGTAAGGCGCGAGGTTTTCCTTCGGGATCAACCGCGACATACTTAAATAATGCTTC
+TGTTGCTTTATAGCGTTGCCCGATTGGTTCAGACGCCACTTTTTTCACCCACACTTCAATATTAATGCTG
+ACTGATGTCGTCCCTTTCTGGACACAGCGTGCATAGCAGCACACCACATCGCCGACCGCAACCGGCCGTA
+AGAAAGTCATTCCTTCAACCCGCACGGTCACTACACGACCATGGGCAATTTCTTTCGCCAGAATAGCGCC
+GCCAATATCCATTTGTGACATTAACCAACCACCAAAGATGTCACCATTGGCATTGGTATCGGCGGGCATG
+GCTAAAGTACGTAAAACAAGATCGCCCTGAGGGACGTTATGTGTTGTAGACATGGTAAAACCGACTTAAA
+AGGAAAATCACAGGCGCGATGCTACTATGATTTTCCTGAGGAGAACAGAGGAGATACAGCGCCAGCCCCT
+GAAGGACTGGCAGTCTGGTTAGGATTTATCTTCCTGCGGCATGTGGCGGTAGATATAGATACCGCTTAAC
+AATGTGAAGATTAAGGTAAGGGCGGTCAGGCCAAAGACTTTAAAGTTGACCCAAATATTTTGCGGCAGCC
+AGAATGCGATGTAGATGTTTGCCAGACCGCAAAGGATAAAGAAAACAGCCCAGGCCAGATTCAGCTTCGA
+CCATACCGATTGCGGCAGGGTGAGTTCTTTACCCAGCATCCGCTGAATTAGCGGCTTTTTCATCACCCAT
+TGGCTGACTAACAGGGCACCCGCAAACAGGGCATAAATGACAGTAACCTTCCATTTAATAAACTCATCAT
+TGTGGAAGAACAGCGTTAAGCCACCGAAGACGACCACCAGAACAAAAGTGATCAGGGCCATCTTCTCAAC
+CTTACGAAAGCGAACCCAGCTATATATAAGCACAATCGCCGTGGCGACGATGAGCGCCGCAGTAGCCGCA
+TAGATGTCATAAATCTTGTAAAACGCGAAAAAGACAACCAGCGGTAAAAAATCAAGAAACTGCTTCATTT
+TACGATTCCGTAATCAAATGCTTAAGGTTATTGGCGAATCAACATATACAGGCGGAACAGATAGATGAGC
+AATACGGCTGAAATCAGGTTGCTCAAGGTGTTCGCCAGTACGGCACCAATTTCCGGGGTTAATGCGGCAA
+AAGAAGAGGCAAAAAGCAGCAACAGTGTTTTTGCCAGCAACCAGCTCAGTACTGCGGGTGCCACCAGACG
+CATATTCGCCCATGTCAGCCGCATACTGCTACGCATCGAGGCAAAAACGCCCATTTTGTCCTGTACCAGC
+ATCACTGGAGCCAGAGCCAGTAAAATGGCCATGATAATCCCCGGAACGACCACCAGCATGATGCCAATCT
+GTACTAAAAGGGTAGTCAGAAAAATCAGAATAAATAACTTTGGCAATATCGGCGCACTGGCACCAATAGC
+TCGCAGCGCACTGACTCTCTGACCCGCAGACACCAGCTGGATAATTAATATTACGCCCCCGGCGAGAATG
+GCGTTACCGATTAATCCTGAAAAAGTGGACGCCGCTGAAGCCTGCAGCAAAATTTGTTGCTGTTCCGGTG
+ACATATTCTGAACCAGGTCGAACAACCCACTACTGCCGCTAACGGGTACGCCGTCATTGAGCTGCGCAAG
+CTGTGCATCACTGGGTGAGAAAACATGCCCTAACACCACTGTGATAAACGCACATAGCAACGATACCAAC
+AGAATGGTCATAAATTGATTACGGAAGAAATTTCCGGTGTCACGGTATACGGACTGCGCCGTGATAGACA
+TGCACTCTCCTTGAGTTTTATGCAGGTGTTAATTAGCGGGCAATTGTACCCTGGTTAAGCCCCGGGTGGC
+AGCATCAGGTCTTGTATGGAAAAGCATATCTTTGTAAAGCGGAGGTAATTGCTGGCCTTCAGGCGTGGGT
+AAACCGCTGCAAGTGGCGAGCGAGTTAATATTTGCGTAGCGAAAATATAAAAATTGATTTAAATCACATT
+AACCTGGATTTTCAATGCAACTTCTAAATTAATCCAGATCAATAAAGGGTGAATTACCATATGTAATGTG
+ATCTGTGTAGGATCATTTGTTACCCCAATGTGGGTATATTCGTCACGTTTTTATAACCATAACGACGGAG
+CGGATATGAAAAAGTTAACAGTGGCGGCTTTGGCAGTAGCAACTCTTCTCTCTGGCAGTGCTTTTGCGCA
+TGAAGCCGGCGAATTTTTTATGCGTGCAGGTTCTGCAACCGTACGTCCAACAGAAGGTGCTGGTGGTACG
+TTAGGAAGTTTGGGTGGATTCAGCGTGACCAATAACACTCAACTGGGCCTGACGTTTACTTATATGGCGA
+CCGACAACATTGGTGTGGAATTACTGGCAGCAACGCCGTTCCGCCATAAAATCGGCACCCGGGCGACCGG
+CGATATTGCAACCGTTCATCATCTGCCGCCAACACTGATGGCGCAGTGGTATTTTGGTGATGCCAGCAGC
+AAATTCCGTCCTTACGTTGGTGCAGGTATTAACTACACCACCTTCTTTGATAATGGATTTAACGATCATG
+GCAAAGAGGCGGGGCTTTCCGATCTCAGTCTGAAAGACTCCTGGGGAGCTGCCGGGCAGGTGGGGGTTGA
+TTATCTGATTAACCGTGACTGGTTGGTTAACATGTCAGTCTGGTACATGGATATTGATACGACTGCCAAT
+TATAAACTGGGCGGTGCACAGCAACACGATAGCGTACGCCTCGATCCGTGGGTGTTTATGTTCTCAGCAG
+GATATCGTTTTTAATTCCGCACAAAAATGACCCCGTAATTACGGGGTCAATAAGGACATGGTATAAAGGG
+TATTATTTCTTCGCTTCTACGCCATCAGTTTCAGAGCGAATTAAGAATTTCTCAGTTGTTTGCGGAATAT
+GCTGAATTAGCCAGTCGGCCATGTGCTTTTCATCATTTAAAATCGCTTCGATAATCGGAATTGAGGCTGT
+ATCACCGGCATTTTTTGCTGCTGCTAAGAGTGAGGTATAACAGGCGATTTCAAATTGCTCGAAGACATAT
+CCGCTAATAGAGCCTTTGACTATTTCATCAGAAGGGAATATACCACCGATTGACTGCCCAAGTGCAGCCA
+TTTTACTCATGGAATCTTTAATGACTGAACGTGAAATGTCATTACGATCAAGAATAGTTTCCAGTTGAAC
+AATCTGGTTTTTGGTTTCACTAAGATGTTGTTCAATACGAGCGCGTAGTTCAGGATAATTATCTATACGA
+CTGGCCATGGATTCAAGCATAGATTCGGCTTGCTTTTCCATTGCGTGGGCGTCACGTAACCAGTCATGAT
+AATGTTCAATACGATTCATGAAAATGTCCTCTTTATAAAATGACTAAAAGTTAAAGTTCATATTTCAGGC
+TTTATTTTCGGCTTTCTTATTTACGTTATTAAGGGCCAGATCAGTCAATTTGATGTCGGTGGCCTTTTCT
+TCTTCCAGGGTATCTTTCAGAAGCTTCGCTGCTTTACGATAACCTAATTGTTCAGCCAGCGTCGCTAATG
+TCCCGTAACTGGCAATCTCATAATGCTCGACTTTCTGTGCTGCGGCAATCAGTGCGGCATCACGCACTTC
+GTTTTTCTCGGTACTTTCGATGACCTCATCAGCTTCTTCAATAAGACCTTCCATTGCCACACATTTCATG
+CGCTTAATTTTCAGATTCGATTCTGATTCCACAACTTGATCAATACGTTCAATCTGCCTATGTGTTTCCT
+CGAGGTGCGCATGAAAATCCTGACTTAATTTTTCGTTTGATGTTGCTCTTGCGAGTTTTGCCAGTGCCCG
+GGTTAATTGTTTTTCTGCGCTGTAGGTATCTGAAAGCAGGTGAATAAATACATCTTCAATGGTCTTCATA
+TTCATATTTTTCTCCAGTGAAATCACTGCGAGCCATACGGCCCGCAGAGGCAATTATCTTTATCAGCTGA
+TATTAATAATTAACGGTGAATCAGGATTTTCCTGATTTATTACCACCGCTTTGTTGACCGCCTTTTTTAC
+CTGCTTCGGATGCGCGTTGCGGATCATTTTTAAAATTACCGCCGCTATGCTGACCGCCTTTACGGCCTGC
+GTTGGATGCCTTCTCACGGTCTTCGGCGAAATTTCCTGAACCACCACGATATTCGGTCATGTTATTTCTC
+CCGTTGCGTTGCATTGTTTCATTAATATGAGTGTTGTGTGTCGACACTCATTAAAATTAGTCGTTAATGA
+GAATTAGTCAAATTAAGCGTAACGAGAAGAAAGTGGAAAAATATATTTTGAGGAACGTTCTGGATGTATT
+AACAATTGCCTGAGGAATAAGTGACTTAGAGAAAATTATTGATTTTACTGGTGTTATGTTGCGGGATTAA
+TTTGTTTGATTATATTACTGTTGGGCGGAAAAAAGACGTAAGTTGACGTTCGACAGGGGTAAGCGAAACG
+GTAAAAAGATAAATAATAAATGAATTTAGGATTTTTCCGACTTCGTTAAAGAAAGTTAAAATGCCGCCAG
+CGGAACTGGCGGCTGTGGGATTAACTGCGCGTCGCCGCTTTCATCGGTTGTACAAAAGCTTTCAGTGCCG
+CCAGCATTTTCTCTGGCTCATTAATATGTTGCTCGATGATTTTAACGATGGCCGAACCAGAAATCGCGCC
+CGCAGCTCCTGCATCAATCGCTGCTTTTACCTGATCCGGGGCGGAAATACCAAATCCCTGCAATGGAGGC
+GCAGCGTTGTACTCTTTCAGCTTCGCAACCAGATGATTGAGGGGTAACGCGGCGCGGTTTTCTGCGCCGG
+TCACGCCCGCTCGCGACAGCAAATAGGTGTAACCACGACCGTAAGAGGCTATCTGGCGCAGCAAATCATC
+GTCGGCATTCGGCGGGCAAATAAAGATAGGTGCGACATTATGACGCAACGCGGCCTGGCGGAAGGGCGCG
+GACTCTTCCACGGGCACATCGGCAACCAGCACCGAATCGACGCCGACTTTCTCGCACTCGGCATAAAACT
+CATCAATGCCTTTGTTAAACACCAGGTTGGCATACATCAAAAGGCCGATGGGAATGGTCGGGTGCTTCTG
+GCGAATGAGTGCCAGCACCTCAAAGCACTGCGCCGGGGTTACTCCCGCCGCAAAAGCACGCAGTGTGGCG
+TTTTGAATCGTCGGGCCATCCGCCAGTGGGTCGGAGAAGGGGGTGCCTAATTCCAGCGCGTCAGCACCGG
+CTTCAATTAGCGTATCGATAATTTTCAACGACTGCTCAATGCCCGGATCACCGAGGGTGACGAAAGGAAC
+GAATGCGCCTTCTTTGCGCTCCTTCAACTGGGCAAACAGAGATTCGTAGCGTTCCATCAGATTTCCCCTC
+GTGCTTTCAAAATATCGTGAACGGTGAAGATGTCTTTATCGCCGCGACCGGAAAGGTTAACCACCAGTAG
+CTGCTCTTTTTCCGGATTTTCGCGCATCATTTTCAGCGCATGGGCCAGGGCGTGGGAGGATTCCAGCGCC
+GGGATGATCCCTTCATGCAGGCAAAGCGTTTTAAAGGCTTCCAGGGCTTCATCGTCGGTAATAGACACGT
+AATCAGCGCGTCCAGTGCTGTTGAGATACGCATGTTGCGGGCCGACGGACGGGAAATCCAGCCCGGCAGA
+AATGGAGTAAGACTCTTCAATTTGCCCGTCTTCGGTTTGCATCATCGGCGCTTTCATACCGAAATAGATG
+CCCACGCGACCATGTTTTAACGGTGCGCCGTGCTCGCCAGTTTCGATACCGTGGCCGCCAGGCTCCACAC
+CAATCAGGCCGACGTCGGTTTCGTTGATGAAATCTGCAAACATACCGATGGCATTCGAACCACCGCCAAC
+ACAGGCGATAACGGCATCCGGCAGGCGACCTTCTCTTTCCAGAATCTGCGCTTTCGTTTCTTCGCCAATC
+ATCCGCTGAAACTCACGCACAATGGTCGGGTAAGGATGCGGGCCAGCTGCGGTACCCAGCATATAGTGCG
+CGGTTTCATAACTGCCGGACCAGTCGCGTAGCGCCTCATTACAGGCATCTTTCAGGGTCGCGGAACCGCT
+ATGTACCGGGATCACTTCCGCACCCATTAAGCGCATCCGGAAAACGTTAGGCGACTGGCGTTCAACGTCT
+TTGGCACCCATATAAATACGGCATTTCAGGCCGAGCAGGGCGCTGGCAAGGGCCGACGCCACGCCATGCT
+GACCGGCACCGGTTTCGGCAATAATTTCAGTTTTACCCATCCGCTTCGCCAGTAAAGCCTGACCGAGTAC
+CTGGTTAGTTTTATGCGCGCCGCCGTGCAGCAAATCTTCGCGCTTCAGATACAGCGTGGTGTTCGTCCCG
+GCTGTAATGTTCTGGCATTTGGTCAGCGCGGTTGGACGCCCGGCATAGTTTTTCAGCAGGTCGTTGAACT
+GAGCCTGAAATTCAGGATCTTTTTGCGCGCTGACAAAAGCTTCTTCCAGCTGGCGCAGAGCAGGCATCAG
+GATTTGTGGCACGTACATGCCGCCAAACTCACCAAAATAGGGGTTAAGTAATGTTGTCATTGTTCCTTTC
+CTTAATATGCGCGCAGCGTCTGGAAAACCGAGGCCAAAAGACGTGCGTCTTTGATACCCGGTTGCGACTC
+TACAGCAGAATTAAAATCAAGCCCGGCGCAGCCGGTTTGTGCCGCTTCCACGCAGTTATCTGCGCCTAAG
+CCCCCCGCCAGCAGAACGTTGCCAAGCGATTGACCATTTAATAGTGACCAGTCGAAACGTTGTCCGCTCC
+CGCCCTGACCGTTGTCGAATACATATTTATCGATGTGCTGAAAATCGCGCGCGGGAAGAGTTTCACCGAC
+ACTTAAAGCCTTCCAGATGGCGACGTGTGCTGGCAGAGCCTCACGCAGAGTGTCGATATACAGCTGATCT
+TCATTACCATGCAGTTGCACTGCCGCCAGCGATAACACCTTAGCTTTGTCCACCACATCGGCAATATCGT
+GATTGCGGAACACGCCAACATACTGCAACGGTGCCGCAGCCATCACTTCCTGCGCCTGTTCAACGTTGAC
+GCAACGCGGTGATGTCGCAACAAAAATCAGCCCACCGTAAATCGCGCCCGCGTCATAAGCTGCTTTAGCA
+TCTTGTTCACGCGTCAGGCCACATACTTTATTCTCACCCAGCAACACCCGACGCACGGCGGCGTTCAAAT
+CGTCATGGGCCATCAACGCCGAACCAATCAGAAAGCCGTTAGTGAAGTGGCTTAACTCGCGCACCTGAGC
+GTAAGTATTGATGCCGGATTCGCTGATTACCGTCACGTTGTGCCCCAGTTTCGGCGCAAGCTCGCGGGTA
+CGGTTGAGATCAATCGACAAATCGCGCAGATCGCGGTTGTTGATGCCAACGACCTTTGCTCCCAATGCAA
+TGGCGCGCTCCAGTTCCTCTTCATTACTGACTTCGGTCAGCACACCCATCTCCAGACTGTGAGCGACGGT
+GGCAAGCTGGCGATATTGTTCGTCATCCAGTACTGAAAGCATTAATAAGCAGGCATCGGCCTGGTAATAG
+CGCGCCAGATAGATCTGGTAAGGATCGATAATGAAGTCTTTACATAAAATCGGCTGCGGGGCGATTTGGC
+TGACGATGGGGAGGAAATCAAAGCTCCCCTGAAAATATTTCTCATCAGTCAGCACTGAAATTGCCGAAGC
+GTAATGTTTATAAATGGCGGCAATGCGTGCCGGATCGAAATCATCACGGATCACGCCTTTTGACGGCGAG
+GCTTTCTTGCACTCAAGAATAAACGCCGTGCGTGCACCCTGTAGCGCATCATAAAAATGTCGCGTGCTCG
+GCTGAATCTCATTCTGAAAACTGGCCAGCGGTTGCTGCTGTTTGCGGGTTTCTACCCAAATCGCCTTGTC
+TGCGACGATTTTCGCTAAAACGGTTTGCATCATTTACCCTCGTGCCGCCAGTGCGGTGACTCTGTCGTAA
+GCGGAACCACTGCGCAGTACCTCAAGAACGGTTTGCGCATTGGCTTGCAGATCTTCATGGCCATGCAGGC
+GCATTAACATGGCGACATTCGCCGCGACGGCTGCTTCGTGAGCGGCGTCGCCTTTACCTTGTAACAAACG
+TGTTAAAATGTCACGGTTTTCTTCCGGTGTTCCGCCTGCCAGTTGCTCCTGGTGGTAGGGTGTCAGGCCA
+AAGTCTTCTGCGGTGAGCTGATAGCTTTTAATTTCGCCGTCATGCAGTTCGGCAACGATTGTCGGCGCGT
+GTAATGAAACTTCATCCATCCCGCCGCTGTGCACCACCGCCGCGCGTTGATACCCCAGCACGCGCAAAGT
+TTCGGCAATCGGCAGCACCAGTTCCGGACTATAAACACCAATTAGCGCCAGCGGAGGATGCGCCGGGTTA
+ATCAATGGCCCCAGCACATTGAACAGTGTGCGGGTTTTTAGTCGCTGGCGAACCGGCATTGCATGGCGGA
+ATCCGGTGTGATATTTCGGTGCAAAGAGGAAACAGACGCCTAACTCATCCAGCGCCTGGCGCGATTTATC
+GGCGTTCATATCAAGATTAATACCGAACGCCGCCAGCAGATCCGACGAGCCGGATTTACTGGAGACGCTA
+CGGTTGCCGTGTTTCGCCACTTTCAGCCCGCAGGCCGCGGCGACAAACGCACTGGCGGTAGAAATATTGA
+TGCTGTTGCTGCCGTCACCGCCAGTACCGACGATATCGGCAAACAGATAATCCGGGCGCGGGAACGGCGC
+GGCGTTTTCCAGTAGCGCGGTTGCCGCCCCGGCGATCTCATTCGGGTGCTCACCGCGAATTTTCATGCTC
+ACCAGCGCCGCCGCCAGTTGTTCCGGCTTCAGCTCGCCACGTACCACCGCTGAAAACAGCTGGTGGCTTT
+CTTGTTGGCTAAGCGTCTGGGCCTGATACAGTTTTTCCAGAATCGGTTGCAGCGTGTTGGTTGGCTTTAG
+TTTCTGCTGCGCCCAGGCCAGCGTTTGTTCCAGCAGGCGAGCGCCCTGGGTAGTAAGAATGGATTCCGGA
+TGGAACTGGAATCCACAAACGCGATCCGCATCATGACGCACCGCCATCACCATGCCATTAAAATGGGCGT
+TGATGGTTAAACCGGCCGGAATATTACTGCCAACCAGCGAGTGATAACGCGCCACTGGCAGCGGGTTTGT
+TAATCCGGCAAACATCGCCTGACCGTCATGTTCAATGCTCGACGCTTTACCGTGAAGAATTTCGCCCGCC
+TGACCGACATAGCCCCCGTAAGCTTCGACAATCGCCTGATGTCCGAGGCAAATGCCAATAATTGGCAGCT
+TGCCACGCAAGCGGGTGAGGAGTTCCGGCATACAACCGGCTTCGCTCGGCACACCGGGGCCAGGAGAAAG
+CATCAGCACCGGATTGCTCATCGTCGCCAGGCGTTCAATTAAGGTCTGCGCCGGAATATGGTTGCGGTAA
+ATCACCACGTTATGACCATTGCTGCGCAACTGATCTGCCAGGTTGTACGTAAAAGAGTCGATATTATCGA
+GCAGCAGAATGTCAGCCATTAGAACGTCTCCTGTGCATGATGCGCGGTGGCAATAGCGCGCAGTACAGCG
+CGGGCTTTATTACGGGTTTCGTCTGCTTCCGACTGCGGAACAGAATCAAGGACTACGCCAGCACCGGCTT
+GCACGGTGGCGATACCGTTTTCCACCAGCGCCGAGCGGATCACAATGCAGGTGTCGAGATCGCCATGCGC
+GGTAAAATAACCTACCGCGCCGCCGTAGCTGCCGCGTCGACGACCTTCTGCTTCGGCAATTAACTGCATA
+GCGCGTACTTTCGGTGCACCGCTTAACGTCCCCATATTCATACAGGCGCGGTAAGCGTGCAGGGCGTCGA
+GATCGTGGCGCAGCTCACCAACAACGCGGGAGACCAGGTGCATCACGTAAGAGTAACGGTCAACTTTGGT
+GAGATCGGCGACGTAGCGGCTGCCGGGTGTGCAAATGCGTGCCAGGTCATTACGGGCGAGATCCACCAGC
+ATCAGATGTTCAGAAAGCTCTTTATGATCGGTGCGCATTTCCAGTTCGATGCGGCTGTCGAGGTCTCTAT
+CCAGTGAACCATCGGCACGACGACCGCGTGGACGTGTTCCGGCAATCGGGTAAATCTCAATCTGGCGGCT
+GGTGGCGTCATACTTGAGCGAACTTTCCGGCGATGCGCCAAACAGGGTGAAATCATTATCCTGCATAAAA
+AACATGTACGGGCTGGGATTACTCTTTTTCAGCACGTAATAGGCCGCCAGCGGTGACGGGCAGGGCAGAG
+AGAAACGGCGAGATGGCACCACCTGGAAAATTTCTCCGGCGCGAATCGCTTTTTGCAACAAACGCACTAC
+GCCACCGAACTCTTCATCGCTCTGGTTACATTCACAACGCATATGCGGCACGGAAACCACCGGCAGAGGC
+GGCGCGGCTTCGGTCAGTTGCTGACGTAGTTCGTTAAGGCGAGCAGTGAGACGTTGTTTTTCTTCTTCAT
+TCGGAGCAAACAGGCTGGCCTGAATACGGGTGCTTTTTTTCTGATGGTCAATCACCATCAGCGTTTCAGC
+GAGATAAAAACAGAAATCAGGGCAGTTATTTTCCGCTGACAGTTGCGGTAAATCTTCAAATCCCGCCACA
+AGGTCATAAGAGAACAGGCCGCCGAAGAACATTGCTTCTCGTTCTTCCTTCGGTACATTCAACAGATTCT
+GTAATAAGCGGAAAGCGTCAAAAATCGAAAGGGAGCATAAGCGGGCGTCTTCATCCAGCAGTGGACTGAC
+AGGCGGGAAGCGCAGTACGCGGCAGTTTGGTGATTGTTCATTTTCCACACCCGCAGGCAGGGCGTTATCC
+AGTAGTGCCAGCAGGGCTTCGCCATTGCCGGAAAGTGCCTGGATTGTGACGGTGTCACCTAATGCTGTAA
+TGCGCAGCGCACTGTCTACCAGCAGCAGGCTTTTTAAATCATCTTTGCTGTCGATATCTGCGGATTCCAG
+TAGCAGCGTTGCCGGACGATCCCCACACAACTGGTGAAAAAGCGCGGTTGGGTTGTCGCGATAAGCGCCT
+ACGCAGGTTAGCAGTTCGAGAGTCGGTTTTTGTGTTTGCATTGTTATTCTCTAATTTTGTTCAAAAAAAA
+GCCCGCTCATTAGGCGGGCTGGGTATCTGATTGCTTTACGCATGGTGAATACACTGCCCGTTTCAGGAAG
+TGCGCCACCAACCTTTCAGTACGAAAATTGCTTTCATTGTCGATACCCTTTTTACGTGAACTTGCGTACT
+AGTTAACTGGTTCGATGATTAATTGTCAACAGCTCATTTCAGAATATTTGCCAGAACCGTTATGATGTCG
+GCGCAAAAAACATTATCCAGAACGGGAGTGCGCCTTGAGCGACACGAATTACGCAGTGATTTACGACCTG
+CACAGCCATACCACAGCTTCCGATGGCTGCCTGACGCCAGAAGCATTGGTGCACCGTGCAGTCGAGATGC
+GCGTCGGCACCCTGGCGATCACCGACCATGACACCACAGCTGCAATCTCACCAGCAAGAGAGGAAATTTC
+ACGTTCGGGACTGGCGCTGAATCTTATTCCCGGCGTGGAAATCTCCACGGTCTGGGAAAATCATGAAATT
+CATATTGTCGGGCTGAATATTGATATTACTCATCCGCTAATGTGTGAGTTCCTCGCGCAGCAGACAGAAC
+GGCGCAATCAGCGGGCGCAGCTCATTGCCGAAAGACTTGAAAAAGCGCAAATACCTGGGGCGCTGGAAGG
+TGCGCAACGACTGGCGCAGGGCGGCGCAGTGACGCGCGGTCATTTTGCGCGTTTCCTTGTTGAGTGCGGC
+AAAGCCAGTTCAATGGCGGATGTCTTTAAAAAGTATCTGGCGCGCGGGAAAACCGGATACGTTCCGCCAC
+AGTGGTGTACAATAGAACAAGCTATTGATGTCATTCATCATTCTGGCGGTAAGGCGGTGCTAGCTCATCC
+TGGGCGGTACAATCTTAGTGCTAAATGGCTGAAAAGATTGGTTGCGCATTTTGCCGAACACCACGGCGAC
+GCGATGGAAGTCGCGCAGTGCCAGCAATCGCCCAATGAACGCACCCAGCTGGCGACACTTGCGCGTCAGC
+ATCATTTATGGGCATCACAAGGATCTGATTTTCATCAGCCATGCCCGTGGATCGAACTGGGTCGTAAACT
+CTGGCTGCCCGCAGGCGTTGAAGGCGTCTGGCAGCTATGGGAACAGCCGCAGAACACCACAGAGAGGGAA
+TTATGAGCCAGTTTTTTTATATTCATCCTGATAACCCGCAGCAACGTCTGATCAACCAGGCGGTGGAGAT
+CGTGCGTAAAGGCGGGGTGATTGTTTATCCAACTGATTCCGGCTATGCGCTCGGCTGTAAAATTGAAGAT
+AAAAACGCGATGGAGCGTATTTGTCGTATTCGCCAGCTGCCGGACGGTCACAACTTTACCCTGATGTGTC
+GCGATCTTTCTGAACTCTCGACCTATTCATTTGTCGATAACGTTGCGTTTCGTTTGATGAAAAACAACAC
+GCCGGGCAACTATACCTTCATCCTGAAGGGGACGAAGGAAGTGCCACGCCGTCTGTTGCAGGAAAAACGC
+AAAACCATCGGTATGCGTGTGCCTTCTAACCCGATTGCGCAGGCGCTGCTTGAAGCATTGGGCGAACCGA
+TGCTTTCCACTTCGCTAATGCTGCCAGGCAGCGAATTTACCGAATCCGATCCGGAAGAAATTAAAGACCG
+TCTGGAAAAACAGGTGGACTTGATTATTCACGGCGGTTATCTCGGGCAGAAACCAACAACGGTTATTGAT
+CTTACCGATGATACGCCGGTCGTGGTGCGTGAAGGCGTAGGTGATGTGAAGCCTTTCTTATAACAAATTG
+CGTTCCACGGATGGAAAATGATGGCAGGGATATATCGCTGCATTTTGCTGTTGATAGTTGGGCTTTTTTT
+CTCTTCGTTGAGTTATGCGAAAAACACGGAGATCCCTTCTTATGAAGAAGGGATCTCGCTCTTTGATGTT
+GAAGCCACTCTGCAACCGAATGGGGTGCTCGACATCAAAGAGAACATTCATTTTCAGGCGCGAAATCAGC
+AGATTAAGCACGGATTTTATCGTGATTTACCGCGACTCTGGATGCAGCCTGATGGGGACGCTGCACTGCT
+GAACTATCATATTGTTGGCGTCACCCGTGATGGTATTCCTGAACCCTGGCATCTTGACTGGCATATCGGG
+TTAATGAGTATTGTCGTGGGCGATAAACAACGTTTCTTGCCTCAAGGCGACTATCATTATCAAATTCATT
+ATCAGGTTAAAAATGCTTTCCTGCGTGAGGGGGATTCTGATCTGCTAATCTGGAACGTGACCGGTAACCA
+CTGGCCGTTTGAAATTTATAAGACCCTATTTTCACTCAAGTTGCCTGATATTGCGGGTAATCCATTTAGC
+GAAATCGATCTCTTTACTGGAGAAGAGGGCGACACATATCGAAATGGCCGCATCCTTGAGGACGGAAGAA
+TTGAATCTCGCGATCCGTTTTATCGTGAAGATTTCACGGTCCTCTACCGCTGGCCTCACGCATTACTTGG
+TAATGCCCCGGCTCCACAAACGACGAATATTTTCAGTCATCTTCTTTTACCCTCTATGTCATCGTTGTTA
+ATTTGCTTTCCGAGTCTGTTCCTGGCGTGTGGATGGTTATATCTCTGGAAGCGCAGGCCGCAATTTACGC
+CGGTAGATGTGATTGAAACCGATGTCATTCCGCCAGATTACACGCCCGGCATGTTACGTCTTGATGCGAA
+ACTGGTTTACGACGATAAAGGTTTTTGCGCCGATATCGTAAATCTGATTGTGAAAGGAAAAATTCATCTG
+GAAGATCATTATGACAAGAACCAGCAAATCCTGATTCGTGTTAATGAAGGCGCGACCAGAAATAATGCGG
+TATTACTGCCCGCAGAGCAGTTATTACTGGAAGCGTTATTTCGTAAAGGCGATAAGGTCGTGCTTACGGG
+GAGACGCAACAGAGTCTTACGCAAGGCATTTTTACGGATGCAGAAATTTTATCTGCCGCGTAAAAAGTCT
+TCGTTTTACCGACCTGATGCGTTTTTGCAATGGGGCGGAATGGCAATATTGGCGGTCATTCTCTACGGTA
+ACCTGAGTCCCGTAGGCTGGGCAGGAATGAGTCTGGTAGGCGATATGTTTATTATGATCTGCTGGCTTCT
+TACTTTCTTATTTTGTTCCCTTGATCTTTTGTTTGCCCGCGATGATGACAAGCCTTGCGTTAATCGTGTC
+ATCATCACTTTGTTTTTACCACTGATTTGTTCAGGTGTGGCTTTTTACTCTCTCTACATCAATGTCGGAG
+ATGTATTCTTTTACTGGTATATGCCAGCGGGTTATTTTAGCGCGGTTTTCCTGACCGGTTATCTCACTGG
+CATGGGGTATATTTTTCTGCCAAAGTTTACCCAAACTGGGCAGCAACGTTATGCCCACGGTGAAGCTATC
+GTTAACTATCTTGCGCGTAAAGAGGCAGCAACACACAGTGGGCGGCGGAGGAAAGGGGAAACACGGAAAC
+TGGATTACGCGTTGTTAGGTTGGGCTATATCGGCAAATTTGGGGAGGGAATGGGCGTTACGCATCGCCCC
+TTCGCTTTCTTCGGCGATTTGCGCTCCAGAGATTGCCCGTAACGGCGTTTTATTCTCATTACAGACGCAC
+CTGAGTTGCGGGGTCTATACCAGTTTGTTGGGGCGGAGCTATTCTGGTGGTGGTTCTGGCGCTGGTGGCG
+GAGGCGGTGGTGGCTGGTAATCAAGCTGATGTTAATCGAAACAAGCTTTAACCATAAAGATAGTGTAGTA
+TGTTGCGCCTCAAAGCCAGGCAAGTTAAAACGTCGAGTCGTTTACTTAAGGCCTGAAGAGTTCAAACAGA
+CTTTACTATCAGTGAGTCAGATGTAAGTTCTGACTCATTGTTGCACAAAAGCATATCAGACGCCTGGGAA
+GGCGACACCAAAAGGAAGCTCTATGAGCGAAAAGCTACAGAAAGTGCTGGCGCGTGCCGGCCACGGTTCT
+CGCCGTGAAATCGAATCTATTATTGAAGCCGGTCGTGTGAGTGTTGATGGCAAAATTGCTAAACTCGGCG
+ATCGCGTTGAAATTACCCCTGGACTGAAAATCCGTATCGATGGTCATCTGATTTCGGTACGTGAGTCCGC
+TGAACAAATTTGTCGCGTTCTGGCCTATTACAAACCGGAAGGTGAGTTGTGTACCCGTAACGATCCGGAA
+GGGCGTCCAACGGTGTTTGACCGTCTGCCAAAACTGCGTGGCGCACGCTGGATTGCCGTAGGTCGTCTGG
+ACGTTAACACCTGTGGTCTGTTGCTGTTCACCACCGACGGTGAACTGGCAAACCGTTTAATGCATCCAAG
+CCGTGAAGTTGAACGTGAATATGCCGTGCGTGTATTTGGTCAGGTTGACGACGCGAAACTGCGTGATTTG
+AGTCGTGGCGTGCAGCTGGAAGATGGTCCGGCAGCCTTTAAAACCATCAAGTTCAGCGGCGGCGAAGGGA
+TCAACCAGTGGTACAATGTTACTCTGACCGAAGGCCGTAACCGTGAAGTTCGTCGTCTTTGGGAAGCGGT
+AGGTGTGCAGGTGAGCCGCCTGATTCGTGTTCGTTACGGTGATATCCCACTGCCAAAAGGTCTGCCACGC
+GGTGGCTGGACGGAGCTGGACCTCGCCCAGACTAACTATCTGCGCGAACTGGTGGAGCTACCGCCAGAAA
+CCAGCTCTAAAGTCGCTGTAGAAAAAGACCGTCGTCGCATGAAGGCGAATCAGATTCGTCGTGCGGTGAA
+ACGTCACAGTCAGGTGAGCGGCGGTCGTCGTTCTGGTGGACGTAATAATAACGGTTAATTTAAGTTAAGT
+ATAAAATAAAGGCCCTGCGGGGCCTTTTCTTCATTTGAAGTATGATAAATAGTCGCAGTATTTTAATTTA
+ATTTCATACTTGCTTATGAATAATACCAGGAAATAGCCACATTACTATTTAATTATCTGAGATAAACTCA
+ACGTCAAGAGGTGGGTTATGATTAGATATAGTGGAATATTTCTATCGCTGTTAATGCTTTCAGGTTGTGC
+AACCGAAGCATTGAAGAATGAACAAGCTGAAACTGTTATTACTGCGGGTAACAAGGCGGTTGCGGCGAAT
+GCAAGTTTCTTTAAACAATACTATGCTTCTCGTGAAAACTTCCTTGTTAATTTTTATGCGACTAATCCGG
+ATTGTGCATTGCGACCTGATTATGAAACGATTATGGAAAATAATACTAATAAAGAGTCCTTATGTTTGCA
+ATCAGAGAAAGGGGGCAAAACATCGTATAAAGATATTACTAAAATTCAATTGGCAACAACAGAAAAACAA
+AAACTACTGGCTTCACTTGAGGTCGTTAACAGTATGAGCTCCTATGTGGAGTTGTTGACGGTGGGTATGG
+ATGTTGAGGATAGTAAACAAATTATATTACTTAATCAGGCGCTCGATCACGCAAACAACGCCCAAAAACT
+ACTTGGCTTTTCAGAAGGTGAAGAACTGACTAAGTCAGCTGTGGCTGTTAAAGATTTAGTTCAATATTTC
+AATGGATTATACAAAGAGAAGATTAAATCAGAAAATGTTGGTAAAGCGGTAGGTAGTGACTGGCCACGAC
+TTCAAAGAAATTTACAAGATTTACTTGATGATATAGCAACGAAACAGCAGCAAATGGATCGGAATAATTT
+TGCGAACATCAGTAATAATTTTTATTACTATAATAAGGCCCGGGCAAATACTAAAAATATAGAATTTAAG
+ACATTAAAGAGCAGGCAGGAATTTTTGAGTGCAGTAATTAATCTTAATGAAAGCAGATTGCGTTCATCTG
+ATCCGGCGGCTCCAGCAATACAAGCTATTAATGCCTTCATGGATAAAGGAAATCATCTACAAGATTTATA
+CTCTAATAAATCTCTTTCAAAAGCGGATTTAGAGCGTAGGAATGAGATCCTGCGTGCTCAAGTTATTAGT
+GGTCTTCAGGCGTCAGAGGAACTGGCAAAACTTCTTATTGCCAGCGGAGTTATGTTATAGGAGGTCATTA
+TGAACGATGTGCAAAATCGACGAATACTGGCATTGCTCAATATGCTGTACTATGCCTTAGGAAACCGAAC
+AACTTGCGATATATGTCACAAATATTTTATTCTGGTTTTGTCGGTAATGAATAATCTGACAATTAATTAT
+GGCTCGCAAACGTCACCAGAACTGACTGGTATTAGTTATGAAGATGCTAATGATTTGATCACTGAATTAA
+TAATGTTTATTGAAGACGTCAATGCGGATAATGATATGGAATATCCCGCACACTTGAATAAAATTCAAGT
+TCTTCTTAATTTTGCCGTGGCTAATTAAGCCATTCAGTATCTAAAATTAGCACCTCAAGAGGCGATCTTT
+TGAGGTGCTTTCACTTAATAATCAATCCCTATTTGCGCCTTAACACCTGCATCAAACGCATGTTTGATGG
+GGCGCAGCTCACTTACCGTATCCGCCAGTTCAAGAATATCCCGATGACAACCACGACCTGTGATAATCAC
+CGTCTGTTGATGTGGACGTTCATTTAACGCCTGAATCACGTCTTCCAGTGGCAAATAATCATACGCTACC
+ATATATGTCAGTTCATCGAGCAAAACCATATCCAGTGAGGAATCAGCCAGCATCCGCTTTGCATGTTGCC
+AGACTTCGCGGCAGGCGGCGGTATCAGACTCTCGGTTTTGTGTATCCCAGGTAAAGCCCGTTGCCATTAC
+CTGAAACTCAACGCCGTGTGGCTCCAGCAGATTTCGTTCACCATTAGGCCAGGTGCCTTTAATAAACTGC
+ACGACGCCCACTTTTTTTCCGTGACCAACTGCGCGTGTTGCCGTACCAAATGCCGCGGTGGTTTTGCCTT
+TTCCATTGCCGGTAAAGACGATGATAATACCGCGTTCATCCTGGGCCTGGGCCACACGAGCATCTACTTT
+TTCTTTCACTCGCTGCTGACGCTGTTGGTAGCGTTCATCACTCATTGGGAAATTCCTGGTTTACGGCCCG
+GTTGGGCGTCAAAGGTCATGCCGGTTTTACGGCGGCTGTCATCGCCCATCAGCCAGAGGTAGAGCGGCAT
+GATATCAGCGGGGGTTTTAAGTTTCTGTGGATCTTCGGTCGGGAAGGCGCTGGCCCGCATTGCGGTGCGC
+GTACCGCCTGGGTTAATGCAGTTGACGCGCAGGCGCTGCTGATATTCATCGGCCAGTACCTGCATCATCC
+CTTCGGTGGCAAATTTCGACGCTGCATATGCGCCCCAGTTTGCACGCCCCTGACGTCCAACGCTTGATGA
+GGTAAAGACCAGTGAACCGGCATCCGATTTGAGTAATAAAGGAAGCAGTGCCTGTGTGAGCATAAAGGTG
+GCATTAACGTTGACCTGCATGACGTCCTGCCAGACCTGCGGATCTTGTTCGCTCATTGGGCAAACATCGC
+CGAGCAATCCGGCATTATGCAAAACACCATCCAGACGCGGATAATTAACGGCAATGCGCTGTGCCAGTTG
+TTGGCAATCTTCGGACGTGCAGGTTAGCAAATCGAGAATAAACCACTGTGGCTGACGTCCAATTTCTTCG
+TTTATGTGGCTGGCTACCTGACGTAATTTTTCTTCATTACGGCCCAAAAGAATCACTGTCGCACCATAGC
+GTGCATACGTCATCGCTGCTTCACGACCAATTCCATCGCTGGCTCCCGTCACCAGGATAATGCGATCATT
+GAGTAAATCTTGTTTTGGCTGGTAATGCATGGCTACTCCTCAACGACGTTGTCTGTCGCGCTGCCAGTGT
+ACTTTATGACTTTGGGGCTTTATGCCTGAAACAGAAGGGCATTTCAATCAGCCTGGGGCGATAACACCGC
+AAAATGGATACTTTGTCATACTTTCGCTGCAATAACATCTCTGCGAGACGGCTAAACATGCCTGTTGTAA
+ACTGTGAGCCAAAGCGTTGTTTAACCAAGGTGGGGACTCGTGGAATTGTTGTCTGAATATGGTTTGTTTT
+TGGCGAAAATCGTTACCGTTGTGCTAGCGATTGCGGCGATTGCCGCCATTATTGTCAATGTTGCTCAACG
+TAATAAACGCCAGCGTGGCGAGTTACGAGTCAACAATCTCAGCGAACAGTATAAGGAGATGAAAGAAGAA
+CTGGCCGCGGCGCTGATGGACACTCATCAGCAAAAACAGTGGCACAAAGCGCAGAAGAAAAAGCACAAGC
+AAGAAGCGAAAGCCGCAAAAGCGAAAGCTAAACTGGGCGAGGTGGTAACTGACAGTAAACCCCGCGTCTG
+GGTGCTGGATTTTAAAGGCAGCATGGACGCCCATGAAGTGAACTCGCTACGTGAAGAGATAACGGCGGTA
+CTCGCAGCATTCAAACCGCAGGATCAGGTTGTGCTCCGTCTGGAAAGCCCAGGTGGCATGGTGCATGGTT
+ACGGGTTGGCGGCTTCGCAGTTGCAGCGTCTGCGTGATAAAAACATTCCTTTAACTGTTACGGTAGACAA
+AGTCGCTGCCAGCGGCGGTTACATGATGGCCTGTGTGGCGGACAAAATTGTTTCCGCACCGTTTGCTATT
+GTGGGTTCCATTGGGGTGGTGGCGCAAATGCCCAACTTTAACCGCTTCCTGAAAAGCAAAGATATTGATA
+TCGAACTGCACACCGCCGGGCAGTATAAGCGCACGCTGACGTTGCTGGGTGAAAATACCGAAGAAGGGCG
+GGAGAAATTCCGCGAAGAGTTGAACGAAACGCATCAGTTATTTAAAGATTTTGTGAAGCGTATGCGTCCG
+TCTCTGGATATTGAACAGGTGGCAACGGGTGAACACTGGTACGGACAACAGGCAGTAGAGAAAGGCCTGG
+TTGATGAAATCAACACCAGTGATGAAGTTATTCTTAGCCTGATGGAAGGCCGGGAAGTGGTCAATGTACG
+CTATATGCAGCGTAAACGACTCATTGATCGATTCACCGGCAGCGCGGCAGAGAGCGCCGATCGATTGTTG
+TTACGCTGGTGGCAGCGTGGACAAAAGCCATTGATGTAAAAGACAAACGCGAGGGTAAGACCTCGCGTTT
+TGCTTTAATCAACCAGATGATATTTTTCTGAAAGCACATGGGCCAGGTGTTTGAACATATTAAACACCGC
+GGTGCTTTTGGCAGTTGGTAATCCTTGTTCATCTAAAAAGTAGTCGCCGGTAAATACCAGCACGCCATTA
+CGCTGCGTGACGCCGGTGGCTTCAATCCCTGCGAGCGTATCCTCATGCTCACGAATGATTTTGTTGGCCT
+CTTTCAACAGCGTTTCGCGGTCGATGGGTTGTGTCTCTTTGTTCATTATTTACTCCTTAAACAAGGACAT
+TAGTCTACGCCAGGCATGGCTTGCAGACAAATATACCACGCTGGTGGCAAGAGCGCCTTACTGGCAACTT
+TGGATTTTGCATGCTAATAAAGTTGCGTATCGGATTTTATCAGGTACAGTGTGACGCTTTCGTCAATCTG
+GCAATAGATTTGCTTGACATTCGACCAAAATTCCGTCGTGCTATAGCGCCTGTAGGCCAAGACCTGTTAA
+CTCAGTCACCTGAATTTTCGTGAGCAGAGTCACGACAAGGGGTTGATATCCGCAGAGAGCGAGTCCATAT
+CGGTAACTCGTTGCCAGTGGAAGGTTTATCAACGTGCGACGCATTCCTGGAAGAATCAAATTAGGTAAGG
+TGAATATGGGTAAAGCTCTTGTCATCGTTGAGTCCCCGGCAAAAGCCAAAACGATCAACAAGTATCTGGG
+TAGTGACTACGTGGTGAAATCCAGCGTCGGTCACATCCGCGATTTGCCGACCAGTGGCTCAACTGCCAAA
+AAGAGTGCCGACTCTACCTCCACCAAGACGGCTAAAAAGCCTAAAAAGGATGAACGTGGCGCTCTCGTCA
+ACCGTATGGGGGTTGACCCGTGGCACAATTGGGAGGCGCACTATGAAGTGTTGCCTGGTAAAGAGAAGGT
+CGTCTCTGAACTGAAACAACTGGCTGAAAAAGCCGACCACATCTATCTCGCAACCGACCTTGACCGCGAA
+GGGGAAGCCATTGCATGGCACCTGCGGGAAGTTATTGGTGGTGATGATGCGCGCTATAGCCGAGTGGTGT
+TTAACGAAATTACTAAAAACGCGATCCGCCAGGCATTTAACAAACCGGGTGAGCTGAATATTGATCGTGT
+TAATGCCCAGCAGGCGCGTCGCTTTATGGACCGCGTGGTGGGGTATATGGTTTCGCCGCTTCTATGGAAA
+AAGATCGCTCGTGGTCTGTCTGCCGGTCGTGTGCAGTCGGTGGCGGTCCGCCTGGTGGTCGAGCGTGAGC
+GTGAAATTAAAGCGTTCGTACCGGAAGAGTTCTGGGAAGTCGATGCCAGCACGACCACGCCATCTGGTGA
+AGCGTTGGCGTTGCAGGTGACTCATCAGAACGACAAACCGTTCCGTCCGGTCAACAAAGAACAAACTCAG
+GCTGCGGTAAGTCTGCTGGAAAAAGCGCGCTACAGCGTGCTGGAACGTGAAGACAAACCGACAACCAGTA
+AACCTGGCGCTCCTTTTATTACCTCTACGCTGCAACAAGCTGCCAGCACCCGTCTTGGTTTTGGCGTGAA
+AAAAACCATGATGATGGCGCAGCGTTTGTATGAAGCAGGCTATATCACTTACATGCGTACCGACTCCACC
+AACCTGAGTCAGGACGCGGTAAATATGGTTCGCGGTTATATCAGCGATAATTTTGGTAAGAAATATCTGC
+CGGAAAGTCCGAATCAGTACGCCAGCAAAGAAAACTCACAGGAAGCGCACGAAGCGATTCGTCCTTCTGA
+CGTCAATGTGATGGCGGAATCGTTGAAGGATATGGAAGCAGATGCGCAGAAACTGTACCAGTTAATCTGG
+CGTCAGTTCGTAGCCTGCCAGATGACCCCAGCGAAATATGACTCCACGACGCTGACCGTTGGTGCGGGCG
+ATTTTCGCCTGAAAGCACGCGGTCGTATTTTGCGCTTTGATGGCTGGACGAAAGTGATGCCTGCACTGCG
+TAAAGGCGATGAAGATCGTATCTTACCGGCAGTCGATAAAGGCGATGCTCTGACGCTCGTTGAACTGACA
+CCAGCCCAGCACTTTACCAAGCCTCCAGCCCGTTTCAGTGAAGCATCGCTGGTCAAAGAGCTGGAAAAAC
+GCGGTATCGGTCGTCCTTCTACCTATGCGTCGATCATTTCGACCATTCAGGATCGTGGCTATGTGCGAGT
+AGAAAATCGTCGTTTCTATGCGGAAAAAATGGGCGAAATCGTCACCGATCGCCTGGAAGAGAATTTCCGC
+GAGTTAATGAACTACGACTTCACCGCGCAGATGGAAAACAGCCTCGACCAGGTGGCAAATCACGAAGCAG
+AGTGGAAAGCTGTACTGGATCACTTCTTCTCGGATTTCACCCAGCAGTTAGATAAAGCTGAAAAAGATCC
+GGAAGAGGGTGGTATGCGCCCGAATCAGATGGTTCTGACCAGCATTGACTGCCCGACTTGTGGTCGCAAA
+ATGGGGATTCGCACAGCGAGCACCGGGGTATTCCTTGGCTGTTCTGGCTATGCGCTGCCGCCGAAAGAGC
+GTTGCAAAACCACCATTAACCTGGTGCCGGAAAACGAAGTGCTGAACGTGCTGGAAGGCGAAGACGCTGA
+AACCAATGCGTTGCGCGCAAAACGTCGTTGCCCGAAATGCGGTACGGCGATGGACAGCTATCTCATCGAT
+CCGAAACGTAAGTTGCATGTCTGTGGTAATAACCCAACCTGCGACGGTTACGAGATCGAAGAGGGCGAAT
+TCCGCATTAAAGGTTATGACGGCCCGATCGTTGAGTGTGAAAAATGTGGCTCTGAAATGCACCTGAAAAT
+GGGGCGTTTCGGTAAATACATGGCCTGCACCAACGAAGAGTGTAAAAACACACGTAAGATTTTACGTAAC
+GGCGAAGTGGCACCACCGAAAGAAGATCCGGTGCCATTACCGGAGCTGCCGTGCGAAAAATCAGATGCCT
+ATTTCGTGTTGCGTGACGGTGCTGCCGGTGTGTTCCTGGCGGCCAATACCTTCCCGAAATCGCGTGAAAC
+GCGTGCGCCGCTGGTGGAGGAGCTTTATCGCTTCCGCGACCGTCTGCCGGAAAAACTGCGTTATCTGGCC
+GATGCGCCACAGCAGGATCCGGAAGGTAATAAGACCATGGTTCGCTTTAGCCGTAAAACCAAACAGCAAT
+ATGTCTCTTCGGAAAAAGACGGAAAGGCGACTGGCTGGTCAGCATTTTATGTTGATGGCAAATGGGTTGA
+AGGGAAAAAATAACCTTTAATTCCGTCTGGTTTTTATAAACAAAGGGTCGCGAAAGCGGCCCTTTTTTAT
+TGCATATTATTTTTTCTTCACACCTATACACTAGGGCTATAAATGATATAGTGGTTATAGTTAGCACCTT
+TTTTATTATTAAATCGTATTAGTCACCCGCCTGGTGTGGCGAAAAAACGATGTTCTGATGGCGTCTAAGT
+GGATGGTTTAACATGAAATTACAACAACTTCGCTATATTGTTGAGGTGGTCAATCATAACCTGAATGTCT
+CATCAACGGCGGAAGGACTTTACACATCACAACCCGGGATCAGTAAACAAGTCAGAATGCTGGAAGACGA
+GCTGGGCATTCAAATTTTTTCCCGAAGCGGCAAGCACCTGACGCAGGTAACGCCAGCAGGACAAGAAATA
+ATTCGTATCGCTCGTGAAGTTCTGTCGAAAGTCGATGCCATAAAATCGGTCGCCGGAGAGCACACCTGGC
+CGGATAAAGGCTCGCTGTATATCGCCACCACGCATACTCAGGCACGCTATGCGTTACCAAACGTTATCAA
+AGGCTTTATTGAGCGTTATCCTCGCGTTTCTTTGCATATGCACCAGGGCTCGCCGACACAAATTGCTGAT
+GCCGTCTCTAAAGGCAATGCCGATTTCGCTATCGCCACGGAAGCGCTGCATCTGTATGAAGATTTAGTGA
+TGCTACCGTGCTACCACTGGAATCGGGCTATAGTAGTCACTCCGGATCACCCGCTGGCAGGTAAAAAAGC
+CATTACCATTGAAGAACTGGCGCAATATCCGTTGGTGACATATACCTTCGGCTTTACCGGACGTTCAGAA
+CTGGATACTGCCTTTAACCGCGCAGGGTTAACGCCGCGTATCGTCTTCACGGCAACGGATGCTGACGTCA
+TTAAAACTTACGTCCGGTTAGGGCTGGGGGTAGGGGTCATTGCCAGCATGGCGGTGGATCCGGTCGCCGA
+TCCCGACCTTGTGCGTGTTGATGCTCACGACATCTTCAGCCACAGTACAACCAAAATTGGTTTTCGCCGT
+AGTACTTTTTTGCGTAGTTATATGTATGATTTCATTCAGCGTTTTGCACCGCATTTAACGCGTGATGTCG
+TTGATGCGGCTGTCGCATTGCGCTCTAATGAAGAAATTGAGGTCATGTTTAAAGATATAAAACTGCCGGA
+AAAATAATTTCTTGCGTTATTTTCGGCACCTTTTATGTAGCGAAGGTGCCGGAATATATTCTCCTTTGTT
+ACTTATTTGTATCCGGCGCACAATATTTTTATCCCTCATATTTATAGGGTAAATTACCTGTAAAGTAGTG
+TCTAATTACACACCTCGCAAACTCCAGTTTTCAAATATCTATTTCAGTTCAAAAGATTGAATTATTCACT
+GGAGACGATTCGTAAATTCGCTGGATTTTTGACTAAAGTTTCTTTAGGATTTGTCTCATCGTATGATTAA
+TTACACCAATCGTTCAACGTCTTGCTGATAAGTGATGGCGATTATATGAGGTTAGCAATGCCTTCTGGAA
+ATCAGGAACCCCGCCGCAATCCTGAATTAAAACGTAAAGCCTGGCTGGCGGTTTTTCTTGGTTCTGCACT
+TTTCTGGGTGGTTGTCGCACTGTTTATTTGGAAATTGTGGGGATAACTATGGTCGGTCAGGAGCAACTGG
+AGTCGTCACCATTATGTCAGCATAGTGACAATGAACCAGAAGCAAAACGGGAATGTTCCGTCGTTATTCC
+AGACGACTGGCAACTAACATCGCAGCAACAAGCCTTTATAGAACTGTTTGCTGAAGATGATCAGCCGAAA
+CAATAATTATCATCATTCTTATTACCCATTTTTAATGAATTACAGGGCTTTTAATACACCGCAGCAATAA
+CAGGTTGAGTTATCTCAACACAAAGTAATAACCGTTAAGGGTGTAGCCTATGATCAACACAAATATGAAA
+TATTGGTCCTGGATGGGCGCATTTTCTCTGTCGATGCTCTTCTGGGCTGAACTCCTCTGGATCATTACTC
+ACTGATCCCTGACCCCGCTGTTTGCTTTGCCTCAAGGTTTCTCCTCTTTTATCAATTTGGGTTGTTATCA
+AATCGTTACGCGATGTTTGTGTTATCTTTAATATTCACCCTGAAGAGAATCAGGGCTTCGCAACCCTGTC
+ATTAAGGAGGAGCTATGTCGTCAACCCTACGAGAAGCCAGTAAGGACACGTTGCAGGCCAAAGATAAAAC
+TTACCACTACTACAGCTTGCCGCTTGCTGCCAAATCACTGGGCGATATCACCCGTCTACCCAAGTCACTC
+AAAGTTTTGCTCGAAAACCTGCTGCGTTGGCAGGATGGTAAATCGGTTACCGAAGAGGATATCCACGCGC
+TGGCGGGATGGCTGAAAAATGCCCATGCTGACCGTGAAATTGCCTACCGCCCGGCAAGAGTGCTGATGCA
+GGACTTTACCGGCGTACCTGCCGTTGTTGATCTGGCGGCAATGCGCGAAGCGGTTAAACGCCTCGGCGGC
+GATACTGCAAAGGTTAACCCACTCTCACCGGTCGACCTGGTCATTGACCACTCGGTGACCGTCGATCGTT
+TTGGTGATGATGAGGCATTTGAAGAAAACGTACGCCTGGAAATGGAGCGCAACCACGAACGTTATGTGTT
+CCTGAAATGGGGAAAGCAGGCGTTCAGTCGGTTTAGCGTCGTGCCGCCAGGCACAGGCATTTGCCATCAG
+GTTAACCTCGAATATCTCGGCAAAGCAGTGTGGAGCGAATTGCAGGACGGTGAATGGATTGCTTATCCGG
+ATACACTCGTTGGTACTGACTCGCACACCACCATGATCAACGGCCTTGGCGTGCTGGGGTGGGGCGTTGG
+TGGCATCGAAGCAGAAGCCGCAATGTTAGGCCAGCCGGTTTCCATGCTTATCCCGGACGTAGTGGGCTTT
+AAACTTACCGGAAAATTACGTGAAGGTATTACCGCCACAGACCTGGTTCTCACTGTTACCCAAATGTTGC
+GCAAACATGGCGTGGTGGGGAAATTCGTCGAATTTTATGGTGATGGGCTGGATTCACTACCGCTGGCGGA
+TCGCGCCACCATTGCCAATATGTCGCCAGAATATGGTGCCACCTGTGGCTTCTTCCCAATCGATGCTGTC
+ACCCTCGATTACATGCGTTTAAGCGGGCGCAGTGAAGATCAGGTCGAGTTGGTCGAAAAATATGCCAAAG
+CGCAGGGCATGTGGCGTAATCCGGGCGATGAACCAATTTTTACCAGTGTGTTAGAACTGGATATGAATGA
+CGTTGAAGCGAGCCTTGCAGGGCCAAAACGCCCGCAGGATCGCGTTGCACTGCCCGATGTACCAAAAGCA
+TTTGCTGCCAGTAGCGAACTGGAAGTGAATGCCACGCATAAAGATCGCCTGCCGGTCGATTATGTTATGA
+ACGGACATCAGTATCAGTTACCTGATGGCGCTGTGGTCATTGCTGCGATAACGTCGTGCACCAACACCTC
+TAACCCAAGTGTGCTGATGGCCGCAGGCTTGCTGGCGAAAAAAGCCGTAACTCTGGGCCTCAAGCGGCAA
+CCGTGGGTCAAAGCGTCGCTGGCACCGGGTTCGAAAGTCGTTTCTGATTATCTGGCAAAAGCGAAACTGA
+CACCGTATCTCGATGAACTGGGATTTAACCTTGTGGGATACGGTTGTACCACCTGTATTGGTAACTCTGG
+ACCGTTGCCCGATCCTATCGAAACGGCAATCAAAAAAGGCGATTTAACCGTCGGTGCAGTGCTGTCCGGC
+AACCGTAACTTTGAAGGCCGTATTCATCCGCTGGTTAAAACCAACTGGCTGGCCTCGCCGCCGCTGGTGG
+TTGCCTATGCGCTGGCGGGAAATATGAATATCAACCTGGCTTCTGAGCCTATCGGCCATGATCGCAAAGG
+CGAGTCGGTATATCTGAAAGATATCTGGCCATCGGCACAAGAAATTGCCCGTGCGGTAGACCAAGTCTCC
+ACAGAAATGTTCCGCAAAGAGTACGCAGAAGTTTTTGAAGGCACAGCCGAGTGGAAGGAAATTAACGTCA
+CACGATCCGATACCTACGGTTGGCAGGAGGATTCAACCTATATTCGCTTATCGCCTTTCTTTGATGAAAT
+GCAGGCAACACCAGCACCTGTGGAAGATATTCACGGTGCGCGGATCCTCGCAATGCTGGGGGATTCAGTC
+ACCACTGACCATATCTCTCCGGCGGGCAGTATTAAGCCCGACAGCCCGGCGGGTCGATATCTACAAGGTC
+GGGGTGTTGAGCGGAAAGACTTTAACTCCTATGGTTCGCGGCGTGGTAACCATGAAGTGATGATGCGCGG
+CACCTTCGCCAATATTCGCATCCGTAATGAAATGGTGCCTGGCGTTGAAGGGGGGATGACGCGCCATTTA
+CCTGACAGCGATGTCGTCTCTATTTATGATGCCGCAATGCGCTATAAGCAGGAGCAAACGCCGCTGGCGG
+TGATTGCCGGGAAAGAGTATGGATCAGGCTCCAGCCGTGACTGGGCGGCAAAAGGTCCGCGTCTGCTTGG
+TATTCGTGTTGTGATTGCCGAATCGTTTGAACGAATTCACCGTTCGAATTTAATTGGCATGGGCATCCTG
+CCGCTGGAATTTCCACAAGGTGTGACGCGTAAAACGTTAGAGCTTACCGGGGAAGAGAAGATTGATATTG
+GTGATCTGCAAAATCTACAACCCGGCGCGACGGTTCCGGTGACGCTTACGCGCGCGGATGGTAGCCAGGA
+AGTCGTACCCTGCCGTTGTCGTATCGACACCGCGACGGAGTTGACCTACTACCAGAACGACGGCATTTTG
+CATTATGTCATTCGTAATATGTTGAAGTAACGAGTATTTGCTTGCCGGTTATTTTGCTTCCGGCAAGCAA
+ATTAATTACACAATGCAAGAGGGTTATTTGTTCAGCAAATGACCCATTTTCTCGGCTTTGGTATCGAGAT
+AATGTTCGTTATTGGGGTTACGACCTACAATCAACGGTACGCGTTCAATAATATTAATCCCTGCTTCGGT
+CAGAATTTCGACTTTTTTCGGGTTATTGGTTAACAAGCGGACTTCATTGACGCCAAGGAGTTTGAACATA
+TCAGCGCAAAGAGTGAAGTCGCGCTCATCAGCGGCGAAGCCTAACTGGTGGTTAGCCTCTACAGTATCGT
+AACCTTGATCCTGCAGTGCGTAAGCGCGGATTTTATTCAGCAGACCAATGTTACGACCTTCCTGACGGTG
+ATACAGCAAAATACCACGGCCTTCCTCGGCAATTTGCGTCAATGCCGCTTCGAGCTGGAAGCCACAATCG
+CAGCGCAAGCTGAACAGGGCGTCACCGGTCAGACATTCGGAATGGACGCGCGCAAGTACCGGGGTATGCC
+CGGAAATATCGCCATAGACTAGCGCGACATGATCGTGTCCGGTTGCCAGTTCTTCAAATCCCACCATCAG
+GAAATCGCCCCATGGGGTTGGCAGTTTGGCTTCTGCCACACGTTTAAGCTGCATGAAATTCTCCAGATAA
+TGCTGGTTCTGTATTGGCTTATTTTGCCATAACGAGAAGGGGTTCACCTAATCACGGCGCGTCGATCGTT
+CACGGAATGGCACAAATCTGTCAATTTTTCCTGGAACTGGCATTTTCAGTTATGATTGTGGGACTTATCA
+AAAAGGAGAGGCCATGCGTTCGATTGCCAGACGTACCGCAGTGGGAGCTGCACTATTGCTTGTCATGCCA
+GTAGCCGTATGGATTTCTGGCTGGCGTTGGCAACCTGGAGAACAAAGTTGGTTACTAAAAGCGGCTTTTT
+GGGTTACTGAAACTGTCACCCAGCCCTGGGGCGTCATTACACATTTGATTTTATTCGGTTGGTTTCTCTG
+GTGTCTGCGTTTTCGCATTAAGGCTGCCATTATGTTATTTGCCATTCTGGCGGCGGCAATCCTTATGGGA
+CAAGGCGTTAAATCCTGGATCAAAGACAAAGTCCAGGAACCACGACCTTTTGTTATGTGGCTGGAAAAAA
+CACATCATATTCCGGTTGATGAGTTCTACACTTTAAAGCGAGCAGAACGCGGAAATCTGGTGAAAGAACA
+GTTGGCTGAAGAGAAAAATATCCCACAATATTTGCGTTCACACTGGCAGAAAGAGACGGGGTTTGCCTTT
+CCTTCCGGTCACACGATGTTTGCTGCCAGTTGGGCACTGCTGGCCGTTGGTTTGCTGTGGCCGCGTCGGC
+GAACGTTAACCATTGCTATCTTGTTGGTCTGGGCAACGGGAGTCATGGGAAGCCGCCTGCTGCTCGGGAT
+GCATTGGCCACGCGATCTGGTTGTAGCTACGTTGATTTCGTGGGCGCTGGTGGCGGTGGCAACGTGGCTT
+GCGCAACGAATTTGTGGGCCATTAACACCACCTGCGGAAGAAAATCGCGAAATTGCACAACGAGAACAAG
+AAAGTTAACGCTGGTTGATTTTCCGAATTTAGCCCTTAAATCATCAACAATGCGCGTGGATGCCATTTCG
+CAGACGGCGCGAAAATGGTACTTTAAAGGGCTATTGCGGTAAGTTGACCATAATTTATTCGCCCTAACCA
+CATAACGGGAAGTAATGTGAAATATTTACTCATTTTCTTACTGGTGTTAGCGATCTTCGTGATTTCGGTC
+ACGTTGGGTGCGCAGAACGATCAACAGGTGACGTTTAATTATCTGTTAGCGCAAGGGGAGTACCGTATTT
+CCACATTGCTGGCGGTATTGTTTGCTGCGGGGTTTGCTATCGGTTGGTTGATTTGTGGCCTGTTCTGGCT
+GCGAGTTCGTGTTTCCCTGGCGCGCGCTGAACGTAAAATAAAGCGACTGGAAAACCAGCTTTCACCTGCG
+ACTGACGTGGCTGTAGCGCCGCACTCGTCTGCGTCGAAGGAATAACTTTCTATGCTGGAGTTGTTGTTTC
+TGCTTTTGCCTGTAGCCGCTGCCTATGGCTGGTATATGGGCCGCAGAAGTGCGCAACAAAACAAGCAAGA
+TGAAGCCAACCGCTTGTCGCGTGATTACGTAGCGGGGGTTAACTTCCTGCTTAGTAATCAACAGGATAAA
+GCGGTAGACCTGTTTCTCGATATGCTTAAAGAGGATACAGGTACCGTTGAAGCCCACCTTACGCTCGGAA
+ACCTGTTCCGTTCGCGTGGCGAAGTTGATCGCGCTATTCGCATCCATCAGACCCTAATGGAAAGCGCCTC
+GCTGACCTATGAACAGCGGCTTTTGGCGATTCAACAACTGGGGCGTGATTACATGGCTGCCGGGTTATAC
+GACCGCGCGGAAGACATGTTCAATCAGCTGACCGATGAAACTGACTTCCGCATTGGCGCGCTGCAACAAC
+TGCTACAAATTTACCAGGCTACCAGCGAGTGGCAGAAAGCAATTGATGTTGCCGAACGCCTGGTGAAGCT
+GGGTAAAGATAAACAGCGCGTCGAAATTGCCCATTTCTACTGTGAGTTAGCTCTGCAGCATATGGCCAGC
+GACGATCTCGATCGTGCCATGACTTTGCTAAAAAAAGGTGCGGCGGCAGATAAAAACAGCGCCCGCGTAT
+CCATCATGATGGGACGCGTGTTTATGGCGAAAGGAGAATACGCCAAAGCCGTCGAAAGTTTGCAACGTGT
+CATATCCCAGGACAGAGAACTGGTCAGCGAAACGCTGGAAATGCTGCAAACATGCTATCAGCAGTTGGGT
+AAAACTGCCGAATGGGCAGAATTCCTGCAGCGCGCGGTGGAAGAGAACACCGGTGCCGATGCTGAATTGA
+TGCTTGCGGATATCATCGAAGCGCGCGACGGTAGTGAGGCCGCACAGGTCTATATTACGCGCCAGCTTCA
+GCGTCATCCGACCATGCGTGTGTTCCATAAGTTAATGGATTACCACTTAAATGAAGCAGAAGAAGGGCGT
+GCCAAAGAGAGTCTGATGGTGCTGCGTGACATGGTTGGCGAGAAGGTGCGTAGTAAGCCTCGTTATCGCT
+GCCAGAAATGTGGTTTTACCGCATACACTCTCTACTGGCATTGTCCGTCTTGTCGGGCCTGGTCAACCAT
+TAAACCGATTCGCGGTCTTGATGGCCTGTAATTTTTAAAAAAATCCGACTTTAGTTACAACATACTAATT
+ATTGATGTTCTATTGTGCTCCGGCACCGACGGCGCGGAAAAGCCTGCCAGAGGAGAAATCGCAACTGTTA
+ATTTTTTATTTCCACGGGTAGAATGCTCGCCGTTTACCTGTTTCGCGCCACTTCCGGTGCCCATCATCAA
+GAAGGTCTGGTCATGACGTTAACTGCTTCATCTTCTTCCCGCGCTGTTACGAATTCTCCTGTAGTTGTTG
+CCCTTGATTATCATAATCGCGATGCCGCGATGGCCTTTGTCGACAAGATCGACCCACGCGATTGTCGTCT
+GAAGGTCGGCAAAGAGATGTTTACATTGTTTGGGCCACAGTTTGTGAGCGAACTTCAACAGCGTGGTTTT
+GATATCTTTCTTGACCTGAAATTCCACGATATTCCCAACACTGCAGCGCACGCTGTCGCTGCTGCGGCTG
+ACTTAGGCGTGTGGATGGTGAATGTTCATGCCTCCGGTGGGGCGCGTATGATGGCCGCAGCGCGTGAGGC
+ACTGGTTCCGTTTGGCAAAGATGCACCGCTTTTGATTGCTGTGACAGTGTTGACCAGCATGGAAGCCAGC
+GACCTGGCCGATCTTGGCGTGACACTGTCACCTGCAGATTATGCAGAACGTCTGGCGGCACTGACGCAAA
+AATGTGGCCTTGATGGTGTGGTGTGTTCTGCTCAGGAAGCTGTGCGCTTTAAACAGGTATTCGGTCAGGA
+GTTCAAACTGGTTACGCCGGGCATTCGTCCGCAGGGGAGTGATGCTGGTGACCAGCGCCGCATTATGACG
+CCAGAACAGGCGTTGGCGGCTGGTGTTGATTATATGGTGATTGGTCGCCCGGTAACGCAATCGGTAGATC
+CAGCGCAGACGCTGAAAGCGATCAACGCCTCTTTACAGCGGAGTGCATGATGAGTGATTCCAACAGCCGT
+CTGGTCTACTCAACGGAAACCGGACGTATTGATGAGCCAAAAGCGGCCCCTGTACGCCCTAAAGGCGACG
+GTGTGGTGCGTATTCAGCGTCAGACCAGTGGACGTAAAGGTAAGGGCGTTTGCCTGATTACCGGTGTCGC
+TCTCGATGATGCCGAACTGACGAAACTGGCAGCGGAACTGAAGAAAAAATGCGGCTGCGGCGGAGCAGTT
+AAAGATGGAATTATTGAAATCCAGGGCGATAAGCGTGATTTATTAAAATCACTGCTTGAAGCGAAAGGGA
+TGAAGGTAAAACTCGCAGGCGGCTAACATAAAAAGCCACGGATATATCCGTGGCTTTCGAATATTTTACT
+GTGTGTATTATTCAGTTATTTCGTACTGAACAGAATCAAGCGTATTATAATTGCGAGTCGATAATCGACA
+TTTATTTACGATTATTTACCGACCTGGTGACCAATAACACCACCGACGGCTGCACCACCTAATGTACCCA
+ACGTACTGCCATCGGTCAGTACTGCACCGCCTAATGCCCCTGCACCTGCGCCGATTGCGGTGTTGCGGTC
+CCGTTTAGACCAGTTAGAGCAGGCACTCAGAGACATTGCCAGGGTAATTGCCAGAACAGCCGCGGTCATT
+TTTTTGCTCGTTACAAACATAATACTCTCTCCTGAATTTATGATTCACGGAAGTAAGCTCTCTATAACTA
+TAATAGCTAAGAATAAGCCTGGTGAAATTATTCCGTGAAATCCGCTCGCGCGCAGGGTTATATCACGCAG
+GTGATAATGACTTCCTGTTATATCGCTGATAATAATTTTATATCTTGAGAGTGTTAATAACAGGTAAATA
+GTCTTAATTATCAACCAGGAATCATCTTAGAGCGGATGATTTGCCAAACTGCAAATCATCCGTAGAGAAG
+GGAAATGGTTAAATGTCAACGACGTGAACGGTGAGTTTACTTTGTTCAAGATGCATCAGATCGCTGGCGC
+GTATTTTCGAATCGGTAATCACACGATTGAATCGCTCAACGGGGCCGATGGAGTATGAATGTACAGCACC
+AAATTTCGAGCTGTCAGTCAGGACTATCGCCTCGCACTCTTTTTCCAGCACGGCATTGACCACATCGGTA
+CGCATCATATCGCGACCGGTAAACCCAGTTTCAGGTTGCCAGCCATCAATACCAATAAATGCTTTGCTGA
+AATGCACTTGTTGGATGCACTGGCGTGTCAAAGGGCCAACCATACTTTCGCTTTTTTTCTGGTACACGCC
+ACCGAGCAAAATGACTTCACAAGGCGCGTCTTTCAGCAAATGCGCGATGTAGCTGCTGACCGTGATGATA
+GTGACATTTTTCTTCTGCTCGCCCAGAGTCCTGGCGAGCAGGGCATTGCTGCTACCATTTTCGATAAAGA
+TGGTTTCGCCCGGTTGAACCAGTGACGCGGCAAACTCGGCGAGTTCACGCTTCAGCGTATAGTTGCTCAT
+CATACGGGTTTCGACGTCATCACTATCAAGCGAAACTGCAAAACCATGTGCACGTCGGAGGTAACTCAGT
+TTTTCGAGGGTGTTGAGATCCTGGCGAATGGTAACTTCAGAAACTCCAGTGGCTTTTGCCAGATCGGTTA
+CGCTAACCTGACCCTGGTCAATGACCATCTGTAGAATAGTTTGTTGTCGGGAATTCATCGCTGTAATTCT
+TATAACGTTATAATACTAAATAAAAAAATACTGACGCGCCGGGCATCCTCAAATAGGAAAACCTGAAGGC
+ATGATTGTTAGATCTCCCACGGTGCCTTCGGGATGTCTGGCGTAGATTCAGCAACCTGGCGCAAGAGTTC
+TGCTTTAAGTATCTCGAGATTATGGATCGCAGAGTGGTAATCGCCTGCCACAAGGATATCTAACACAATA
+TCAATACGTTCGGCAACGCGCTGGGCATCAAATTCAGACATCAAGGACATCCTTATAGCAAAAGGGGAAA
+AATGAATAATGCAAAAATTGCCGCTAAAAGAGAAGTGTTTAACAGCAACGGCTAATTATCATCCGGGAAT
+ACGATATATAATGACGGAATATAGCGCTAAGTATATATATTCATCTACTTATGTGCGCTTCAGGTAGCGT
+TTATACCAGCGTTCGAAGGCAACGGCGGGCATCGGTTTGGCAAACAAAAATCCTTGTCGCTCATTGATCC
+CGTTCTTGGTTAAAAAAGCATCTTCCTTTGCACTTTCTACACCTTCGGCGATCACCTGAAGATTCAATGC
+CTGGGCCACAGCGACGATCGCCCGGACCAGTGATTGCGAGACAGGCTGTTTGTGAATATCCCGAACAAAA
+ACCTGGTCAAGTTTGATGGCATCGATCGGAAAGCGCGCCAGTTGCGAAAGTGAAGAGTAGCCGGTACCAA
+AATCGTCCAGATGAACTTGCGCACCTAATCGGCTAAATTGTTGAATAACAGACAGTGCCAGTTCATCATT
+CTCAATCAGGCAGCTCTCCGTCAGTTCAACATCTATAGGGCAGTATTCAAAATTGAGTTCCTGGAGAACC
+TGTTTCAGGGCGGTGAAAATGGTTTGATCGGCGAGCTGACGTGCAGAAATATTTACCGCCACTCGCAGGT
+TAATGCCTTTATCCCGCCACTTCGCTACCTGGCGTACGACATCGAGAATCACCCAACGGCCTAAAGGCAC
+AATTAGCCCTGATTCTTCGGCGTAGGAAATGAAGTCCAACGGTGGAATCAACCCACGTTCAGGTGACTGC
+CAACGTACTAGTGCTTCCAGACTGCGCACTTCGCCACGCCAGGTTATTTTCGGTTGATAGTGAATAACCA
+ACTGATCGTTTTCCAGTGCTTTACGCAAGTTGGTATCCAGCCAGAGATATTCAAATACCCGCTGATTCAT
+TTCTGGGGTAAAAACGCAAAATTGTCCTCGTCCGCCTTCCTTCGCTGTGTACATTGCTGTGTCGGCGTGA
+CGAATAATAGCCGCGCTGTCCGAACCATGTTCGGGAGAGAGTGAAATACCTACTGAACAGCTGGTATAAA
+CTTCAATTAAACCAATGCGAAAGGGGAGTCGTAAGCGGGTCAAAATTCGTGATGCCAATGCTTCCAGCGC
+GCTTTGTGAGGTATTGGATGCCAGTACCAGAAACTCATCGCCACCTGGACGCGCCAACACCTGGTCATGT
+TCGAGACAGCTTAAAATAGCCAATGACACGTCGCGTAATAACTGGTCACCAAACAAATGCCCATAGGCGT
+CGTTGACCTTTTTAAAATTATCCAAATCAAGATACACAACCCCAACTTTATTGTTATCTGCCTGATTAAT
+AGCGTGATCGATTAACTCCTGCATTGCGTTACGATTCGGCAGTCCGGTGATACTGTCGGTATTTGCCAGA
+ATACGCAGTCGCTCCTGAGCGCGGCGCTCTTCGGTAATGTCGGTGCCGGAACAGATTAAAAAAATCTCGT
+TTTTGCCACTGCCGCTGTGGACAAATTTATTGCGAAACAGAAACAGCCGCTGGCCTTTACGTGTTGGTAT
+CCACAGTTCGACTTCATATGCATTGCCGCTTCGAAAAAATACACGGTTATTGCGCCTGGATGCCGCAGCT
+TCACGACGACTCATAAACAGTTTAAACACGCTTTGCCCAATGACGTCGTGTTCTTTCAACCCCGTGTAAT
+CTTCACATAACCGATTGAAGCGCTGGATATTCCCCCGGCTGTCGAGAATCACTATTGCGGAATGTGCTTC
+AGAAACTACCTGCTCAGCAAAGGAAAGCCCATGTGATAAATCACGAGCAACCGCCGGTGTGTCATGCCAT
+GCAGACGCGTTGCCTCCCCATTCTCGTTTATTGATTTTTCGTCCTACCAGATGCACAGAAAGATCGCTTT
+CATCGACGGTCAGACTCATCATCAGGCTGGAGGTGATGACCGTCATTTCCCTGATGCGAGCAGCCTGTTC
+GGCAGATAGTTGCAAAATACGATCGGGTTCTGTGATTTCGGTGGTAGAAAAGCGCAAAACATCGCTGCTT
+TCCGTCAACCGCCAGTATGGATTGTGCGATCCGAGAAAGTTGTACAACGTTGTGGACTCCCTAACGGTTT
+TCATGATGCATATCCTCCGGTTAACAGCGGAGTCCGCAGTTAAATAAAAGGAACAACATGACTTACATGA
+AATTAACGGCGGCTAAACACATTGTTTTTTTATATATTTATTTGTAATCCAGTTTTGGAAAAACGCCAGT
+TTTCAAACGAAAGTCAGTTAAAAATCTGCCGGGATATGACGAAGGTTGAGCGGGGAAATAAACGGCCCAT
+CCATGAGGAATGGGCCGTGAAAGGAGATTACGCGACTGGGCGCGCAATAATGCTGCGGGTTTCCATGCGG
+ACTTCGGCAATGGTGACGTCAATAACGTCAGTCACTTTGTAAGCCGTTTCACCTTTAATTTGTACAGTGC
+CGTTTTCCTGGCTGCAAACCAGTTCATCGCGCACAGCGTGTAAGAAAGGTGCTGGAATAAAGGCGATAGC
+GCCGTTATCAACCAAACGAACACGCATGCCGCCACGGCTGATATCGACAATTTCCGCCGCGAAACGGGTG
+TCGGTCCCGGCTTTGTCTTTCAGGAAGCGTGCGTATAACCAGTCGCCAACATCACGTTCTGCCATCCGGT
+TGAGACGGCGACGCTCGGCCATTTGGACAGTGATTTCATCCTGTGGACGCGTCGCAGTTTCGCCTTTGAT
+AACCGCTTTCAGCAGACGGTGGTTGATCATGTCGCCATATTTACGGATCGGCGAAGTCCAGGTGGCGTAT
+GCTTCCAGACCGAGGCCAAAGTGAGGACCGGGTTCAGTGCTAATTTCAGCAAATGACTGGAAGCGACGAA
+TGCGGCTGTCGAGGAAACCAGTTGGTTGCGCATCCAGTTCACGACGCAGTTTGCAGAAACCGTCCAGCGT
+GAGCACTTCTTCAGCATCGACATGCAGACCGTGCGTTTTCAGCAACGCTGCCAACGCGTCGGCATTCGCC
+GGATCAAAGCCCATATGCACGTTATAGATGCCAAAACCGAGCTTATCGCGCAGTACGCGGGCTGCACAAA
+TGTTAGCGGCAATCATCGCTTCTTCGACGATACGGTTGGCAATGCGACGAGGCTCGGCGACGATATCCAG
+CACTTCACCTTTTTCACCGAGAATAAAGCGGTAATCCGGGCGATCTTTAAACACCAGTGCGTGGTTATGA
+CGCCACTCGCCGCGGCGTTGGCATATTTGCGCTAGCAAACGGACTTGTTCGGCAATTGCTTCGCTTTCAG
+GCTGCCAGTCACCGGTATTTTCCAGCCAGTCAGAAACCTGGTCATACACCAGCTTCGCTTTGGATTCGAT
+GGTGGCGGCAAAGAATTCGATATTATCTTCAATGGTGCCATCAGTGGAGAGCGTCATGCGGCATGCCAGT
+ACCGGGCGGACTTCATTGGCGCGCAGTGAGCAGAGATCGTCAGAAAGCTCGCGAGGCAGCATAGGGATGT
+TGAAGCCAGGCAGATAGTTGGTGAATGCGCGAATTTTCGCGGCTTTGTCCAGCTTGCTGCCTTCAGCAAT
+CCACGCGGTTGGATCGGCAATCGCCACAATCAGCTGAAGTTTGCCATCCGGTAACGCCTTGGCGAAAAGG
+GCGTCATCCATATCTTCTGTGCTGGCACTGTCGATGGTGACAAAATCCAGCGCAGTCAGATCTTCACGAA
+CCAGACCTTCATCGAGCATTTCGGTAGCGACGCCGTCTGGTGCTTCTTTTTCCAAGTTATGACGCGCAAG
+GGTAACCCACCACGGTACAAAGTGATCGTCACCAAAAGTGATGTATTGTGTCAGTTCAGCATAGAAAGAA
+CGATCGCCTTTCAGCGGATGACGGCGCATTTCGGCAACCGCCCAGTCGCCTTCTTTAAATTCGTGGTTCA
+GGCCACGGGCTGCGCGGCAAGGAATGGCGTCTTTTAAGAGTGGATGATCAGGAACGATGGCCAGACGGTC
+ATTTTTGCCCTGAACTTTACCCACGAAACGAGTCAGGAACGGTTCAACCAGTTCTTCTGGCTCTGCGGAT
+TCACGTTCTTTTTCACTGTGGATCACCGCGATAATTCGGTCGCCATGCATGACTTTTTTCATCTGCGGCG
+GCGGAATGAAATAACTTTTTTGCGCGTCGACTTCCAGGAAGCCAAAGCCTTTTTCTGTGGCTTTTACCAC
+CCCTTCAGCGCGTGGCGTCTGGGAATGCAGTTGCTGTTTAAGCTGCGCTAGCAGCGGGTTGTCCTGAAAC
+ATAATTGTCTATTTTGGTGGCCATTAGAGCGGCTGACAGTTTTACGCGAATCTGTCTGACGCGGCAAGGT
+TAATATGTCTCACCCAACGCGATTTTTAAGCGATTTATCCAGCCACACAGCCCGCTCCATACCAGCAGAT
+TAATAATCTGCGTTGATGATTTTTCGTGTTCGAGTAATGGGCTGAACTGGGCGGCGCTAAAGCGATCGGG
+TGCTCGGGTCAGCCATTGTATCGCCTGAACGGTAGCGCGCTCAACAGAATGACGGTCAGCCCATCGGTTA
+ATTTCATTTTCGCCCTTGCGCAGAAGGGGGCTGATTTTTTTATATTCATTTGATGAATTCATACAGGCGG
+CAAAACAAGCAGGACTGCCATTTATCCGCGCGCATAACAACGCCGCAAGCAGGTTACCCGGCTGTGTATT
+GACCCGTGTGCTGTTTAACAACTTTTCGAGAAGGGAAAGTGAAATAGGGTGGAGAGAGAGTGTGTTGGCC
+AGTTGGCAAAGTTCTGCAGTTGAACTTTTTGTGTGCTCTTCAGGGAGTTTTTCCACCTCATAGCTGCTTC
+GCCAGCGTAATGATTCATCAGCAAACAGTGACGCGTCGGCGTAGTTTTGTATCTCCAGCCCGGGTAACCA
+GCGTACTGGATGCCCGAGATAAGCCTGAAATGTCGCAATTGTCCGCGCCTGAAAGCCAATAAAACCAATG
+ATTTGGTTAATGATCACACAGTCACAGACAGTAAGACCAACGTCATTCAGATGCTGGCGCGATCGGTTGT
+CGATAATAGAAGGCGAGCTAGCCAGTTGGCGGGCATATTGCGTGATTTGTGCCAACCGATGATTACTTTC
+CCTGGAGGAATCAGGCCCGGGGAGCGGCGTAAGTCGCGCCGAATAGTAGTTACATAACCGTTGGACGCCG
+CAAACCTGAGCAACCGTCAGGGCCGTCGACAAGCGTTCATAAGCGGTGAAGGTCTGTGAACGGGTCACGG
+TAAGCGGGTCAGGGAACAACTCTACTGCAAGAACGCGCGCAGGGACCAGCCATGAAAGGAAGGGTGCCAG
+CGTTTCTTCATCAAGGATCACGTCGAGCAGAAAGGGATCGCTGACCTTTGCGGCTTCCGGGACCAGAGGC
+AGAACGTCATACTCCGCAGTACTGGATTGCGTTTCATGATACCAGTGGCTTTTGCCGGTGATGTGGCGTT
+GTTCCATGGGCGCTCCTTGGTCGTAAAGGAAATCGTTATCCTGACGCAAGGCGGGAAGGGGAGAAAGACG
+GATCGGCGATAACAAATATCAGAAAGGTATAACAGAGATAACGGGCGGCAGAACGCCGCCCAATATTTAC
+CAACAGAACGATTATTTCAGTTCGAGTTCGTTCATTGCAGCGATGCTGAAACCGCCGTCAACGTGGACCA
+CTTCACCGGAGATACCGGCAGAGAGATCGGAGCACAGGAATGCCGCGGAGTTACCCACATCTTCAATAGT
+AACGGTACGGCGAATCGGGGTAACGGCTTCGCAATGAGCCAGCATTTTGCGGAAGTCTTTGATACCGGAA
+GCCGCCAGAGTACGGATCGGACCAGCAGAGATGGCGTTAACACGCACACCTTCCGGACCCATCGCGTTCG
+CCATATAGCGCACGTTCGCTTCCAGAGACGCTTTTGCCAGACCCATAACGTTGTAATTCGGGATAGCGCG
+CTCAGCGCCAAGGTAGGAAAGGGTCAGCAGGGCAGAACCCGGATTCAGCATGGAGCGGCAAGCTTTTGCC
+ATTGCAACGAAGCTGTAGGAGCTGATGTCGTGGGCAATTTTGAAGCCTTCACGAGTAACGGCGTTAACAT
+AGTCACCATCCAGCTGATCGCCAGGTGCAAAACCAATAGAGTGTACGAAACCGTCAAATTTCGGCCAAAC
+TTTCCCCAGTTCAGCGAACATGGTGTCGATGCTGGTATCTTCGGCAACATCGCACTGCAGAACGATGTCA
+GAACCCAATTGAGCGGCAAATTCTTCTACGCGGCCTTTCAGTTTGTCGTTCTGGTAGGTGAATGCCAGTT
+CAGCTCCTTCGCGGTGCATCGCCTGAGCGATACCGTAGGCGATGGACAGTTTGCTGGCAACACCGGTTAC
+CAGAATGCGCTTACCGGAAAGAAAACCCATAGCTTTAATCCTTATTGTTGATGCTTGTTGTGCCTGAAAA
+TCAGGCGATTCGTCGTTTTAGTAAACAGTACGAACAGATAAACGGTTATTATAATCAACCTGGCTGTGGG
+TGGCTATAGTTGCGCTTTCTGTAGCGGAGAGAAGCTGCGGTACAGAGCATTTTGCGTTATCTACTCCTGA
+CGCCTGCAAGGGGGAGGTTGGGGAAATATCTTATAGAATCTGACTTTGAAACTATTCGTATTAGCTCCGA
+TAGGTTTGATGATGAAAACAGAACTGGCGACAACAAGTCGCTGTCTTTCTGATGAATTGACCCCAACTTA
+ATATTGTCAACTATCTTCACAGAATCTCCACAATCTCTTCATTATCAGAATATGCATCATGAATAAGATA
+AAAATACTTTCCATTACTTTGGAGAAACGTATAATTAGCAAAAATGAGAACGATCATTCTCACCAAGTGA
+TAGGCCAGGAGACAGAAATGACCAGCAAGCTGGAGATACGCCACAAACAGCGTCAGGATGAAATCATTAA
+CGCCGCCCGTCGGTGTTTTCGTCTCTGTGGATTTCATGCCGCCAGTATGTCGCAAATTGCCAGCGAAGCT
+CAGCTTAGCGTGGGTCAGATATATCGTTACTTCGCCAACAAAGACGCCATTATTGAAGAGATGGTTCGCC
+GTATCATCGATTTTCGTATTGCCCAAATGGACATTGACGCGCGTACCGATCACTTCCCGGAAGTCCTTGC
+CTTGCGTAAATCCTTAAATGAGGACGACGACGCGCTGATGCTGGAAGTGGCTGCAGAAGCCACACGCAAC
+CCGCGGGTTATGGCAATGCTTGAAGAAGCTGACGCCAGAATGTTCGCTAACGGTTGTGCACATATGAAAA
+GAATGCATCCCCATCTTAGCGACGAGCACATTCGTTGCTGCGTTGAAGTGTTTGCTACCATGATGGAAGG
+TACGGTTTATCGTCGTTTAACACCGCAAAAAAGCGATCCACAACATCTGCAGGAAATATATCAGGATATT
+GTTAGTATGTTGATAAATAAATAAGAACAGAATTAACCAATAGCGGGGGATATTAATCCCCCTTATTTCA
+TTGCGAAATTCATTTCGCGATGCGGGTTCGTTATAACTGAATATCCCTGACATATCCTCATTAATTTCAA
+TGAGGAGGGTATTTCTCACCCTGGAGAAAATAATGAAGTATATAGCAACATCTGTAGTGGCAATGCTGCT
+CTTATCGGGTTGTGATAATACGCAAAGTAACAATTCATCCCCGTCAGAAACAGAAGTCGGCGTTGTTACG
+CTCAAATCTCAACCGGTTTCGGTAGTCAGTGAATTAACCGGACGCACCAGTGCTGCGCTCAGTGCTGAAG
+TACGTCCGCAGGTTGGGGGAATTATCCAGAAACGCTTATTTAAGGAAGGTGATCTGGTCAAGGCTGGACA
+GCCTCTCTACCAGATTGATGCGGCCAGTTATCAGGCTGCATGGAATGAAGCCCGGGCAGCATTACAACAA
+GCACAGGCACTGGTAAAAGCCGATTGCCAGAAAGCGCAGCGTTATGCCCGACTGGTGAAAGAGAACGGTG
+TTTCACAACAGGATGCTGATGATGCTCAGTCTACCTGTGCACAAGATAAAGCCAGTGTAGAGGCGAAAAA
+AGCCGCACTGGAAACTGCGCGCATTAATCTTGACTGGACCACGGTAACCGCACCGATTTCGGGGCGTATT
+GGCATTTCGTCGGTAACCCCTGGCGCACTGGTGACCGCGTCGCAGGATACAGCGTTAACGACTATTCGTG
+GTCTGGATACAATGTATGTCGACCTCACTCGCTCCAGTGTCGATTTATTACGTCTGCGTAAACAGTCACT
+GGCGACCAACAGTGACACTATGAGCGTCTCACTTATTCTGGAAGATGGCACAACCTACAGCGAAAAAGGG
+CGTCTGGAACTCACCGAAGTCGCGGTGGATGAGTCTACCGGTTCGGTGACATTACGGGCAATTTTCCCCA
+ATCCACAACAGCAGTTATTACCGGGAATGTTTGTTCGCGCTCGTGTCGATGAAGGCGTGATGGAAAACGC
+TATTCTCGCGCCTCAACAGGGCGTTACGCGCGATGCTAAAGGCAATGCAACTGCGCTGGTGGTGAATAAA
+GACAATAAAGTAGAGCAGCGAACGCTCGAAACGGGAGAAACGTATGGTGATAAATGGCTGGTGCTGAACG
+GCCTGCACAACGGCGACCGACTGATTGTTGAAGGTTCTGCCAAAGTCACTTCAGGGCAGACCGTCAAGGC
+TGTTGAAGTTCAGGCTAATGGAGGCAACGCCTGATGTTTTCGCGCTTTTTTGTTCGCCGCCCGGTCTTTG
+CCTGGGTTATCGCCATTTTGATTATGTTGGCGGGGATTCTGGCTATTCGCACATTGCCCGTCGCGCAATA
+TCCTGACGTTGCACCGCCGACCATTAAAATTTCAGCCACTTATACTGGTGCTTCTGCCGAAACGCTGGAG
+AACAGCGTGACTCAGGTTATCGAGCAACAACTCACTGGGCTTGATAATTTACTCTATTTCAGCTCAACCA
+GTAGCTCTGATGGTTCGGTCAGTATTAATGTGACCTTTGAACAAGGTACCGATCCAGATACTGCACAGGT
+TCAGGTACAGAATAAAATTCAGCAGGCGGAGTCGCGCCTACCCAGCGAAGTGCAGCAAACGGGTGTTACG
+GTGGAGAAATCACAAAGCAACTTTTTGCTGATTGCTGCCGTGTATGACACCACTGACAAAGCCTCCAGTT
+CGGATATCGCCGACTGGCTGGTCAGTAACGTTCAGGACCCGCTGGCGCGTGTTGAAGGTGTGGGGAGTCT
+GCAAGTCTTTGGCGCGGAATACGCTATGCGCATCTGGCTTGACCCGGCCAAACTGGCGTCTTACTCGCTG
+ATGCCTTCAGACGTGCAAAGTGCTATTGAAGCGCAAAACGTGCAGGTTACTGCCGGGAAAATAGGGGCAT
+TGCCTTCACCGAATACTCAGCAACTGACCGCAACGGTACGTGCGCAGTCTCGTTTGCAGACGGTGGATCA
+GTTCAAAAATATTATCGTGAAAAGCCAGTCAGACGGCGCAGTTGTTCGTATAAAAGATGTGGCTCGCGTT
+GAGATGGGCAGTGAAGATTATACCGCTATCGGCAAACTTAACGGTCACCCGTCTGCCGGGGTTGCTGTAA
+TGCTTTCGCCCGGTGCGAATGCGCTGAATACGGCGACGCTGGTCAAGGATAAGATTGCCGAATTCCAGCG
+GAACATGCCGCAGGGATACGACATCGCATACCCGAAAGACAGCACTGAATTTATTAAAATCTCCGTAGAG
+GACGTAATTCAGACGCTGTTTGAAGCCATCGTATTGGTGGTTTGCGTGATGTATTTATTCCTGCAAAACC
+TGCGTGCCACACTGATTCCGGCGTTAGCTGTCCCCGTCGTTTTGCTGGGCACATTCGGCGTTCTTGCGTT
+GTTTGGCTATTCGATTAATACCCTGACGTTGTTTGCAATGGTGCTGGCGATCGGCTTGCTGGTGGACGAT
+GCCATTGTGGTGGTAGAGAACGTCGAACGCATTATGCGTGACGAAGGGTTACCCGCGCGTGAAGCCACGG
+AAAAATCAATGGGCGAGATTTCTGGCGCACTGGTTGCCATTGCGCTGGTGTTGTCAGCCGTATTCCTGCC
+GATGGCCTTCTTTGGGGGATCTACGGGGGTAATTTATCGTCAGTTCTCCATCACCATCATCTCCGCAATG
+CTGCTTTCCGTGGTGGTGGCATTGACCTTGACTCCCGCCCTGTGCGGTTCCGTCCTCCAGCATGTTCCGC
+CACATAAAAAAGGCTTTTTCGGCGCATTTAACCGCTTTTACCGCCGTACTGAAGATAAATATCAGCGAGG
+CGTAATTTATGTCCTGCGCCGTGCAGCCCGAACGATGGGGCTTTATGTCGTGCTGGGTGGTGGAATGGCC
+CTGATGATGTGGAAACTGCCGGGCAGTTTCTTACCCACTGAAGACCAGGGCGAAATCATGGTGCAGTACA
+CGCTGCCGGCCGGTGCAACCGCTGCCCGTACAGCAGAAGTGAATCGCCAGATTGTTGACTGGTTCCTGAT
+TAACGAGAAAGCAAATACCGATGTCATCTTTACCGTTGATGGTTTCAGTTTTAGCGGCAGCGGACAGAAC
+ACCGGGATGGCGTTTGTTTCGTTGAAAAACTGGTCTCAACGTAAAGGGGCAGAAAACACCGCCCAGGCTA
+TCGCCCTACGGGCAACCAAAGAGCTGGGCACAATTCGTGATGCCACGGTATTTGCGATGACGCCGCCAGC
+CGTTGATGGGCTGGGGCAAAGCAATGGTTTTACGTTTGAATTGTTAGCTAACGGTGGAACCGATCGTGAA
+ACACTGCTGCAAATGCGTAATCAGTTGATAGAAAAAGCGAATCAAAGTCCGGAGTTACATTCTGTACGCG
+CCAATGATTTGCCACAAATGCCGCAATTGCAGGTAGATATTGATAGTAATAAAGCGGTGTCATTAGGGTT
+GAGTTTGAATGATGTCACCGACACCCTGTCCAGTGCGTGGGGCGGTACTTATGTGAATGACTTTATTGAC
+CGTGGTCGTGTGAAAAAAGTCTACATTCAGGGCGACAGCGAATTTCGTTCCGCGCCGTCAGACTTAGGTA
+AATGGTTTGTGCGCGGTAGCGATAACGCCATGACACCATTCTCTGCTTTTGCGACCACCCGCTGGCTGTA
+TGGACCGGAAAGACTGGTGCGCTACAACGGCTCGGCAGCCTATGAAATTCAGGGCGAAAACGCGACTGGC
+TTTAGTTCCGGCGATGCAATGACAAAAATGGAGGAACTGGCAAACAGTCTTCCTGCGGGAACAACCTGGG
+CCTGGAGTGGTTTGTCATTGCAGGAGAAACTGGCCAGCGGTCAGGCATTAAGTCTGTATGCAGTTTCTAT
+TCTGGTGGTTTTCCTCTGCCTTGCAGCACTGTACGAAAGCTGGTCAGTCCCGTTCTCGGTCATTCTGGTG
+ATCCCTCTGGGGCTTCTTGGCGCGGCGCTGGCGGCCTGGATGCGTGATTTAAACAACGACGTTTACTTCC
+AGGTAGCGCTATTAACTACTATCGGCTTGTCGTCGAAAAACGCCATTCTGATTGTGGAATTTGCTGAAGC
+GGCGGTTGCAGAGGGCTATTCCTTGAGTCGTGCGGCATTACGCGCGGCGCAGACTCGTTTACGCCCAATC
+ATCATGACCTCGCTGGCGTTTATTGCGGGGGTAATGCCGCTGGCGATAGCAACCGGCGCAGGGGCGAACA
+GCCGCATCGCCATTGGTACGGGCATTATTGGCGGCACGCTGACCGCTACATTACTGGCCATTTTCTTCGT
+TCCTCTGTTTTTTGTACTGGTGAAACGTTTGTTTGCCGGTAAACCGCGCCGTCAGGAGTAAGTTATGTTG
+CGTCGTTCTCTTATTTTTCTGGTGTTGTTGAGTGCGGGATGTGTCTCGCTCGATCCTCACTACAGTACGC
+CTGAATCCCCAATCCCGGCGACCTTGCCGGGAGCACAGGGCCAGGGGAAGGCAATCAGCCATGACTGGCA
+GCAGGTGATTCACGATCCCCGATTGCAGCAGGTAGTAACCATTGCACTGAACAGTAACCGCGATGTGCAA
+AAAGCGATTGCTGATATTGACTCAGCACGGGCGCTCTATGGGCAAACTAATGCGTCGTTATTTCCGACGG
+TGAATGCGGCCTTAAGTTCGACTCGCAGTCGTTCGCTAGCGAATGGTACGGGAACAACTGCCGAGGCTGA
+CGGCACGGTGTCCAGTTATACGTTAGATCTGTTTGGTCGTAATCAGAGTTTATCTCGGGCGGCGCGGGAA
+ACCTGGCTTGCCAGTGAATTTACAGCCCAGAACACTCGTTTAACGCTGATTGCTGAAATCAGCACCGCCT
+GGCTGACACTGGCGGCCGATAACAGCAACCTGGCCCTGGCAAAAGAAACGATGGCCAGTGCAGAAAACTC
+ATTGAAAATTATCCAGCGCCAGCAACAGGTTGGCACGGCGGCAGCGACAGATGTCAGTGAGGCGATGAGT
+GTTTATCAGCAAGCGCGCGCCAGCGTTGCCAGCTATCAGACACAAGTGATGCAGGATAAAAATGCGCTGA
+ACTTACTGGCAGGTACAACGCTTGCGGAAAATCTGCTACCGGGAACACTGGAAAGCCTGCCGGAACAAAT
+GATAAGTCTGGTTCCTGCGGGAGTATCATCTGATGTTCTGCTGCGTCGCCCGGATATCCAGGAAGCTGAA
+CATAATTTGAAGAGCGCCAATGCAGATATTGGCGCGGCGCGGGCTAACTTTTTCCCGACGATTTCGCTGA
+CTGCCAGTGCCGGTGTTGGCAGTGACGCATTGTCGTCGTTGTTCAGCCACGGAATGCAGATCTGGTCATT
+TGCGCCATCGGTCACATTACCGCTGTTCACTGGCGGAAGTAATCTGGCGCAGCTTCGTTACGCAGAAGCA
+CAAAAGCGTGGGCTCATTGCCACCTATGAAAAAACCGTTCAGAGCGCATTTAAAGATGTCGCTAACGCAC
+TGGCGCGGCGGACCACGCTTGAAGAGCAACTGGATGCACAGCGCCAGTATGTTAAAGCTGAGCAACAAAC
+GGTCGATGTTGGCTTGCGTCGCTATCAGGCGGGTGTTGGTGATTACCTGACCGTGTTGACGGCGCAGCGC
+AGCTTGTGGAGTGCACAGCAGGAGCTGCTGGCACTGCAACTGACTGATTTTACAAACCGAATCACGCTCT
+GGCAGTCGCTGGGCGGCGGCATGTCATCACTCAAGTAAGGAATAATATGGCTAGAGTCTCTCTTTCATGG
+GCATTGATTCTTGGTCTTTTAGCCGGTATCGGCCCGATGTGTACCGATCTTTATTTGCCGGCTTTGCCGG
+AGATGTCTGAGCAACTGGCGGCAACCACGACCATAACGCAATTAACCCTGACCGCATCACTGATTGGTCT
+TGGCGTCGGACAACTGTTATTTGGCCCTCTGAGCGACAAAATAGGGCGTAAACGTCCGTTAATCTTGTCG
+TTGTTATTGTTTATTGTTTCTTCCATTTTGTGCGCGACAACGAACAATATTTACTGGCTGGTGGTCTGGC
+GTTTTATTCAAGGGATCGCGGGGGCGGGTGGTTCGGTGCTCTCTCGTTCTATTGCTCGTGACAAATATCA
+GGGAGTAACGTTGACCCAGTTTTTTGCGCTGTTAATGACGGTGAATGGCCTGGCACCGGTGTTGTCGCCA
+GTGCTGGGCGGGTACATTGTCAGCACTTTTGACTGGCGCACTTTATTCTGGGTAATGGCTGAAATTAGCA
+CCGTACTGTTGCTGGGCTGCCTGTTATTTATTAATGAGACCTTGCCAGAAAATAAAAGGGGCTCATCATT
+GCTATTAACCGGACGAAGCGTGGTGCAGAACCGCCGTTTTATGCGCTTTTGCCTGATTCAAAGTTTTATG
+CTGGCCGGTTTGTTTGCATATATCGGCTCTTCGTCGTTCGTGTTGCAGAAGGAATTTGGCTTTAGTCCAA
+TGCAATTTAGCCTGGTGTTTGGCCTTAACGGCATCGGACTTATCATTGCTTCATGGATCTTCTCGCGCCT
+GGCGCGACGGATTAACGCGATGACATTGTTGCGAGGTGGCCTGATAGCGGCAATTTTGTGTGCATTGCTC
+ACGGTCTTATGCGCATGGGTACAATTGCCCATTCCGGCACTGGTGGCATTATTTTTCACCATCGCATTTT
+GTAGCGGCATCGGCACTGTTGGCGGGGCAGAGGCTATGAGTGCAGTAGGGACGCAGGAATCTGGAACGGC
+GTCTGCGTTGATGGGGATGAGCATGTTTGTCTTCGGCGGTATAGCCGCGCCATTGTCGGGAATTGGCGGA
+GAAACACTGTTAAAAATGAGTCTGGCAATTACGGTGTGTTATACGCTGGCATTGCTGGTTGCTCTCACCA
+GAATCGACAATCAAAAGTAATGAACACCTCATCCTGAGGGGGGCCTGTCAGGATGAGGTGCAAAACACTA
+ACGGTCCTTACGCCACGCATCCGCCGTCAATGCTTCGCCAAAATGACCGGCGATCAGCCGTTTGGTGAGT
+TCATGAAGCGGCGATGCCAGCACATCTGCGGTGCTGCCTCGCTCGACAACCTCGCCCTGATGCATCACCA
+GCACCTGGTCGCTAATGTGCTTCATCATTCCGATATGCTGGGTAACATAAATATACGAAATGCCCTGTTT
+TTCCTGTAACTCCAGCATCAGATTAATCAACTGCGAACGCATCGACATATCCAGTGAGGCGAGGGCTTCA
+TCGGCAATAATGACTTTTGGGCGCAATATCAGCGCGCGCGCCAGACCCAGACGCTGTTTTTGCCCGGGTG
+CTAACATATGCGGATAGTAACTGACGTGATCCGGTAGCAGCCCAACCATACGCATCGTTTCAATAATCTG
+TTTGCGACGCTGTTCCGGTTCCAGGTCGGTGTTCAGGCGCAGTGGAAAATCCAGAATTTGCGAGATACGT
+TGACGGGGATTCAACGAGGTCGAAGGATCCTGAAAAATCATGCGAATACGCTGACTGCGGAAGGAATAAT
+CGCCAAAATGCAGCGGATGATCGTCAATCAATAACTCGCCGCTGGTAGGTTCTATCATTCCCGCCAGCAT
+TTTTGCCAGCGTGGATTTACCCGAACCATTCTCGCCGATAATCGCCAGTGTCTGGCCTTCACGTAGCGTA
+AAGCTCAAGGGTTTTACCGCTTCTACGGTCTGACGACGAAACCAGCCGGTCCGGTAGCGGAACGTTTTAC
+TTAAATTGCGCACTTCAAGTAGCGTTTCGATCATCTCACTCTTTCTCCATGTTCAGTGGGAAATGACAGG
+CATAGAGATGATTTTTCGCCCCCGTCAAACGTGGCGTCACAATGCATTCTCGTTGTGCATACGGGCAACG
+TGGCCCCAGACGACAACCAATCGGTAACTGTTCCAGCAGCGGGATAGCGCCGGGCAGCGTATTGAGGCGA
+CTTTTATGCGGCATCGCGCTGCCGAAGTCTGGTATCGCGCGGATCAGCGCCTGGGTATAAGGATGGTGTG
+GCATCGTCACCAACTCCTTACTCGGCGCGGTTTCCACCGTTTGACCGCAGTAAAGCACGTTAATTTTATC
+CGCCCATTGGCTAAGCATTTGTAAGTCATGGCTGATAAGCAAAATAGTGGTATTGCTGTTTTGGTTGAGA
+CGCGTCAGCAGGCGAAAGATTTGCGCCTGGGTTGTTGGCTCCATTGAGTTGGTCGGTTCGTCAGCAATTA
+GCAGACGCGGTTGATTCGCCAGTGCAATGGCTATCATCACTTTCTGACATTCACCTTCGGTCAACTCATA
+GGGAAAACTGCGCATCGCATCTTTGTGATCTTTAATCCCCACGCGGTGCAGCAGTTCAATGGCACGGCGT
+TTGCGCCAGCCAAAACGCTGCCACCAACGGCCTTTATAGGTCCAGGCAGGGATGTTTTGCATCAACTGGC
+GACCCACACGTTCTGAAGGGTCAAGACACGACTGCGGTTCCTGGAAAATCATCGACACGTTGTGACCAAC
+CAGCTTGCGCCGTTCGCGTGCGGAGAGACGCAGCAAATCGATATCATCAAAACGCATACGGTCAGCAGTA
+ACACGCCAGTTATCTTTATTCACCCCACAAATCGCTTTCGCAATCAAACTTTTGCCGGAACCTGATTCGC
+CAACAAGACCGCGGATTTCACCTTCGGTTAAGGTCATACTTACGCGGTCGACGGCTTTAACCCACTCATC
+ACCGGTTTTAAATTCAATGGTCAGGTTACGAATATCGAGTAATGGCATTATTCCACCCCCGCAATAATTG
+CACGACGGACACCGTCGCCAAGGAGGTTAACCAACAGCACGCTAATCATAATTGCCGCACCTGGCAGCAT
+GACAGTCCATGGGGCGACATAAATCAGTTCCAGCGCATCACCGAGCATCGCGCCCCATTCAGGCGAGGGC
+AGTTGTGCGCCGAGGTCAAGAAAGCCCAGCGCGGCGATATCGAGAATTGCCATCGACAATGCGCGAGTGA
+TCTCGGTGACCAGTCCGGCGGTGATGTTGGGCATCACAGCAAACCAGAGAATATTCAGCGTTGATGCGCC
+ATCCAGACGGGCGGCGATAACGTACTCTTTTTCCAGTTCGTCATGCACCATGCTGTAAATCGAACGTACC
+ATACGCGGCAGCAGCGCCAGCCAGACAGCAAACATGGCGTGAGACAAACTCGGTCCGGCAAACGCTACAA
+CGATAATTGCCAGCAGCAGCGAAGGGATCGCCAGTAAGGTATCCAGAATATGGTTAAGCACCGCTGAGCG
+TAGGCCGTGGGTCGCCCCGGCGAAGGTGCCCAGTACCAGGCCACAGATCGTCGCGGCGAGCGTCACCACA
+AATGCGCCACCTACGGTTGGCGCAGCTCCGCTCAGTAAACGGCTTAAAACATCGCGTCCGAGGTCGTCCG
+TCCCCAGGAAGAAAGAAACTTCGCCATAGCGCGACCATGACGGCGGCAATAATTGATAACCGAGAAATTG
+CTGGTCGATGCCGTAAGGCGCAAACCAGCCGCCAAAAATACACAGTACAGCCAGCCCCGCGCAGCCGTAC
+AGGCCGACCATCGCAGAGGCGTCACTATAAAATTTGCGCCAGGCGGTACGCAGCGTGCCCGGCGGGCGCT
+TTTCGCTGTATACGCTATCGTAAGGCATACCATTCCTTATGTTTCAGAGGGTTAGCCATGGCACCCAAAA
+TATCAGAAATCACGTTAACAATAATGACCAGTGAGCCACACACCATCACTCCGGCGGAAATGGCTGCGTA
+ATCCTGCTGGCGGATGGCGTTAATTAACCAGCGCCCTAAACCCGGCCAGCTAAAAACCATTTCGGTGATC
+ATCGCCAGCGTCAGCATGGTAGAAAACTGTAAGCCCAGGCGAGGAATAACCGGAGGTAACGCGTTATGCA
+GAACGTGGCGACGCAAAATAGTAAAGCGCGACAAACCGCGGGTCGCCGCTGCTTTTACATAATTCTGGTC
+ATACACTTCGATAGTGCTGATACGCATTAGCCGGATCACTTCAGTTGTTGGCGCAACCGACAGGGTGATC
+ACGGGCAATATCATATGGCGGATTGCGCTCATGACCATTTCATCCCGCCACGGTGAGTCCGAAAGCCAGG
+CATCAATCAACGCAAAACCGGTAATCGGTTTCACTTCGTAGAGCAAATCGAAACGCCCAGAAACGGGCAA
+CCAACCTAGCGTGAGTGAACAAAACAGCGTCAGCAGAAGCGCCAGCCAGAACACCGGGATTGAAAAGCCC
+AGTAAGGCGATGGCGTTGATCAAGTTATCCTGCCACTTATGGCGCGTAATCCCGGCAATCATTCCTACGG
+GGATGCCAACAATCAGCGCAAAACCGAAGGCGAGGATGCACAGTTCCATCGTCGCCGGGAAGACCTCTTT
+TAACTGTTCGGCAATCGGTTGACCGTTAATGCTGGAAACACCAAAATCCCAGTGGATCAGGCCGTTAAAC
+CAGAACACCCAGGCATTCCACAGTGACGCGCCTTGTAACGGCGCATGTGGGGTGAAATAGCTCAAGCTGA
+AGCCAACGAAGGTCAGCAGGAACAAGGTCACAATCAATAACAAAATACGGCGTAAGGTGAAGATAATCAT
+GGCTTTTTCACCTCATCCTGTTTCTCGCGATACACCCCAGCAAAGGAGGCGTTACCAAACGGGCTAAGTA
+CCAGACCTTTGATATCGTACCGATAGGCCTGCAAACGCAATGACGACGCCAGCGGCAGAATAGGTAATTC
+CTGCGCCAGAATACTTTGCGCTTCGTCATAGGCTTCAATACGCGCCGCCAGCTGCTGCGAAGAGAGCGCC
+TTACGCAATACGCTGTCGAATTTCGGATCGCACCAGTGGGCGAGGTTGGTCTGCGAATGAATTGCTGCGC
+AGCTCAGTAACGGACGGAAGAAACTGTCCGGGTCGTTACTGTCCGTCGCCCAACCGGATAACGTCAGATC
+ATGGCTCATATCCATCAACCGCGCCTCCTGAAAACGACCTTCTACCGGCACAATCACCACTTTTACGCCA
+ACCTGTGCCATATCCGCCTGAATCAGTTCGGCGGTTTTCAGTGGACTGGGGTTCCACGCCTGCGAACGTG
+TGGGCACCCACAGTTTCAGCGTTAAGTTTTCCAGCCCCAACGCCTTCAACTGTTCGCGCGATTTTGCCGG
+ATTGTATTCAGTAATTTTAGCCTCGTTGTCATAGGCCCACGAGGCTCGCGGTAAAATAGAGGCAGCCGTT
+TCAGCCGTACCATAATAGATGGATTGCATCAGGCGCTGGTTATTAATCGCCAGTGCCAGCGCATGGCGGA
+CCGCCGGATTATTTAGCGGCGGTTTGGCGGTGTTGAATGCCAGATAGGCGACGTTCATCCCCGGGCGCAG
+CGTTAAACGCAAACGCGGGTCGTCACGCAAAATGGATAGCTGACTGGCAGCAGGCCAGGCCAGAACGTCG
+CACTCCCCGGTCAGGAGTTTCGACAATCGTCCTGTACCGCCAGAGCCTAAATCCACCACCACTTGTGGCA
+TCAACGGCTTACCACGCCAGAAATCATCATGACGTTGTAAGCGAATATATTGCCCGGCGCGGTATTCCGA
+CAACTGATACGGACCGGTGCCGACCGGTTGACGGTCGAGTTGCTCCTGGCGATCTTCTTTCTCTAACTTC
+CCTGCATATTCTGCCGACATGACCGAAGCATAATGGGTCGCCAGGTGCCACAAAAAAGAAGCATCCGGCT
+GGGCGAGACGGAACTCAACGGTATGATTATCCAGCTTGCGGACGCTTTTCACGTTATCGGCAAATTGCAG
+ACTGTCGAAATAGGGGAAGTTACTGCCGTTGACGTTATGCCACGGGTTGTTGCGGTCAAAAATCCGTTGG
+AAGGTAAACACCACATCATCGGCATTCATTTTACGAGTGGGAGTAAACCAGTCGGTTTTTTGAAACGGAA
+CATCGCGACGCAGGTGGAAGCGATAGGTCGCGCCGTTGTCGAGTACTTCCCAGCTTTCGGCAAGTTCCGG
+CATCAGGCGATAGGTATAGGGATCGACATCCAGCAGTCGATCATAAAACTGGGCGGCAAGGGTATCGACA
+ATTAACCCACTGCTCGCTTTGGATGGGTTAAAGGTGTTGACTTGCCCGCTGACGCAATAGACAAAACCGC
+TGTCGCGGATATCAGCATGCGGGGGGGATTCAGGCGCGGCGATTGCCTGACCACTCACAAGTCCAGCAAT
+CACCAAAAGAGACGATAATACCTGGCGCATAATATTAAGGGATTTTATGTAAAGAGGCTATCTTACTAAT
+ATTTAATGACATTTGCCATTACCGTTTGTGTTCAGAGGTCGTAATGAGGGCCGTGTGGTTGGTCATTGAA
+CAGGTGGCGTCGCCATCAGTTCAACATTCGTACCCGTGATTTCTTTATAACTATAACTCACAGAACAACT
+TAGCGAGGAGCATAGCGGTACGATCGTGAGAAACCCATTAAAGCATGCTGCAGTGCGTGTCATTTTTAGC
+CGGATGCGGCGCGAACGCTTTATCCGGGCAACGATACTGACCGATAGTCTGCAATTAAATAATTACTCAT
+TACCCCATTGATTCAAAAACTCTGCGATCTCATCAATGCGTACGGGATTAATCCCCGCTTCAGCAGCCAT
+TTCATGTTGGGCTTCTTCACTGATCTCTTCATTGTTCATCAAACGGGTGAGCAGTAACTGGAAGTAGTGG
+GCCAGTGGTGTGCGTTCAGCGTCTGCGACAGGCTCTGCGCATTCGGTCGCGTACTCATCGGCAATATCAA
+AATATTTTAGCGGGATATCGTGGTTCATTATTTGCCCCTGGGGTTAATGCGCTAAGCATAAAGGCGGATG
+ATAGCACTCGTGATCCGGGTCATACATATTTTTATAGTTAATGGCGCGGTGCATTACCCTCAGGCAGGAT
+AATGCGCCGCGCATTCGACTATTACGTTTCGCTCACCGGCGTTCTGTCGCCATCATACAACGGCACTTTG
+CGAAAGCGGCGGATCAAATACCACAAATATGCGCCGCCTAACGAAGCCCATACCATCCCGGTTGCGCAAT
+TCGATGCGGCAATGAAAATTTTGCAGGATGCGCTGAGAGATTAATACGCAGAAGCAGGGTTAACGCAATA
+ATGCCTGATGCGCAGCGCTTATCAGGCCTGCAAACGACGTATTGATTATGTATGCCGGATAAAGCGTTCA
+CGCTGCATCCGGCAAGTTGTATTGCCCAACTTCGCTAAATCTGGTGCTTTTTCAACAACGCGCGGAACTG
+ATGATAGGTTAACCCCAGCAATTCAGCGGCGCGCTTCTGGTTATACTTCCCTTGTTCCAAGCTGACCTGA
+AGCAGTTCTTTTTCCTGCTGCATCTGAAACTCGCGTAAATCCAGTGGCAGCGTCGGAAGCGAAGTGTTTT
+CTGAAACGGCGATGGCTTCTTCAGATGGACGGCGTTTAAAGGGATCAATAATGATGTCATCAAGCGGATA
+ATCGCTGGTGCCGTGACGATACACTGAACGTTCCACCACGTTTTTCAATTCACGTATATTTCCCGGCCAG
+CGATAATTCAGCAATGTTTCTCTGGCGTGCTCGGTAAAACCCGGGAACAGAGGCAGCTTGATTTCCCGAC
+ACATCTGGATGGCAAAGTGTTCTGCCATCAACATAATGTCGCTTTCACGCTCGCGCAGTGGTGGCAGTTG
+CACAACATCGAACGCTAGTCGGTCGAGCAGGTCAGCGCGAAAAGTACCTTCATTGACCATCGCTGGGAGA
+TCGGCATTCGTCGCGCATACCAACCGCACATTCACCTGCAATGGTTGGCTGCCGCCGACGCGCTCCAGTT
+CACCGTACTCAATCACACGCAATAATTTTTCCTGCACCATCATCGGTGCCGTAGCGAGTTCATCAAGAAA
+TAGCGTACCGCCGTCGGCACGTTCAAATCTCCCTGGATGACGTTTTTGCGCACCGGTAAACGCCCCCGCT
+TCGTGACCAAACAGTTCGGAATCCAGCAAATTTTCATTTAACGCCGCGCAGTTAAGGGAAATAAACGGCC
+CTTGCCAACGGGAGGAGAGATAATGCAGGCGGCTGGCGATCAGCTCTTTACCGGTGCCGCGCTCGCCGAT
+GATGAGCACCGGTTTGTCCAGCGGTGCGAGATGCGAAACCTGTTCCAGCACTTCGAGAAAGCTGTTCGCC
+TCACCGAGTAAATTATCTTTGTATTCTGCCATGATGAAATTCGCCACTTGTTAGTGTAATTCGCTAATTC
+ATCCTGGCATGTTGCTGTTGATTCTTCAATCAGATCTTTATAAATCAAAAAGATAAAAATTGGCACGCAA
+ATTGTATTAACAGTTCAGCAGGACAATCCTGAACGCAGAAATCAAGAGGACAACATTATGGGTATTTTTT
+CTCGCTTTGCCGACATCGTGAATGCCAACATCAACGCTCTGTTAGAGAAAGCGGAAGATCCACAGAAACT
+GGTGCGTCTGATGATCCAGGAGATGGAAGATACATTGGTTGAAGTACGTTCTACTTCGGCGCGTGCGCTG
+GCAGAAAAGAAACAGCTGACTCGCCGTATTGAACAAGCGTCGGCGCGTGAAATTGAATGGCAGGAAAAAG
+CGGAACTGGCACTGCTGAAAGATAGAGAAGATCTGGCGCGTGCGGCGTTAATTGAAAAACAGAAACTGAC
+CGATCTGATTAAGAGCCTGGAACATGAAGTGACGCTGGTGGACGATACGCTAGTGCGTATGAAGAAAGAG
+ATCGGCGAGCTGGAAAACAAATTGAGCGAAACACGCGCTCGCCAGCAGGCATTGATGTTACGCCATCAGG
+CGGCAAACTCGTCGCGCGATGTGCGTCGTCAGCTGGACAGTGGCAAACTGGATGAAGCAATGGCTCGTTT
+CGAATCTTTCGAACGTCGAATTGACCAGATGGAAGCGGAAGCAGAAAGCCACAGCTTCGGTAAACAAAAA
+TCGCTGGACGATCAGTTTGCCGAACTGAAAGCCGATGATGCAATCAGCGAGCAACTGGCACAATTAAAAG
+CCAAAATGAAGCAAGACAATCAATAATAACATCCAGGCGGCGTCCGAACGCGCCGCCGCTCATCGTCTAA
+GGAGTCCTTATGAGCGCGCTATTTCTGGCTATTCCGTTAACCATTTTTGTGCTGTTTGTTTTACCGATCT
+GGTTATGGCTGCATTACAGCAATCGTTCTGGTCGCAGTGAATTGTCGCAAAGTGAGCAGCAGCGATTAGC
+GCAACTGGCTGATGAAGCAAAACGGATGCGCGAACGTATTCAGGCGCTGGAATCTATTCTTGATGCAGAA
+CATCCGAACTGGAGGGATCGCTAATGGCGGGCATTAATCTCAATAAAAAATTATGGCGTATTCCGCAGCA
+GGGCATGGTCCGTGGCGTCTGCGCCGGGATTGCCAACTATTTTGATGTACCAGTAAAACTGGTGCGTATC
+CTGGTGGTGCTGTCGATTTTCTTCGGTCTGGCGCTGTTTACCCTGGTTGCTTACATCATTTTGTCATTTG
+CGCTTGATCCAATGCCGGACAACATGGCCTTTGGTGAGCAGCTACCTTCCAGCCGCGAATTGCTGGATGA
+AGTCGACCGTGAACTGGCGGCAAGTGAAACGCGTTTACGCGAGATGGAACGTTATGTCACTTCCGATACT
+TTCACGTTACGTAGCCGTTTCCGTCAACTGTGAGGAAAGTTATGAATACTCGCTGGCAACAGGCCGGGCA
+AAAGGTGAAGCCTGGGTTCAAATTAGCAGGCAAGCTGGTACTTCTTACCGCACTGCGCTATGGCCCGGCG
+GGTGTGGCGGGCTGGGCGATAAAATCAGTTGCTCGCCGACCGCTGAAAATGTTGCTGGCTGTGGCGCTGG
+AACCGCTGTTAAGTCGGGCTGCCAATAAACTGGCGCAGCGTTATAAAAGGTGAGGGGAGTTTCGCAAAAA
+TGGTTAAATCTCAGGCGTATAATGGATAGCAATTTTCATCCATAGAAGGACGCTTACATGTTTAAAAAAG
+GCTTACTTGCTCTGACACTGGTGTTTTCACTGCCCGTTTTCGCCGCTGAACACTGGATCGATGTTCGTGT
+TCCAGAGCAGTATCAGCAAGAACACGTTCAGGGGGCCATCAATATTCCCTTGAAGGAAGTGAAAGAGCGC
+ATTGCCACCGCCGTTCCGGATAAAAACGACACCGTTAAAGTGTATTGCAATGCCGGACGCCAGTCAGGGC
+AGGCAAAAGAGATCCTTAGCGAGATGGGATATACCCACGTTGAGAACGCCGGTGGCCTGAAAGACATCGC
+AATGCCGAAGGTCAAAGGTTAAAAGAATTCACCATGAGCGGCGCTTATGCGCCGTTTTTTCTGTCACACC
+CTATTTACATCCCCATAGATTATTTGCGTTAGCTCACAAATACGCTTTTTCCCAGGTAAAAAAAGATTTC
+CTGCGTGACTAAACCCCTTGAGCTCAATTGACAGTTTATTTTATGCGGAGTAGTCTCTCGTTTCATGGGA
+CCGCTACCACGGAAAGGCAACATGAAACAGAAAATTACGGATTACCTGGACGAAATCTACGGTGGAACAT
+TTACCGCGACTCATTTACAGAAACTTGTAACGCGTCTTGAGAGTGCGAAACGATTAATTACACAGCGACG
+TAAAAAACACTGGGATGAAAGTGATGTCGTGTTAATTACCTATGCCGATCAATTTCACAGTAATGATTTA
+AAGCCACTACCCACATTTAATCAGTTTTACCCTCAATGGCTGCAAAGAATTTTTTCACATGTTCATTTAT
+TACCTTTTTATCCATGGTCATCTGATGATGGATTTTCGGTAATTGATTATCATCAGGTCGCCAGTGAAGC
+GGGGGAGTGGCAGGATATTCAGCAACTCGGTGAATGCAGCCATTTAATGTTTGATTTTGTCTGCAACCAT
+ATGTCGGCAAAAAGTGAATGGTTTAAAAACTATTTACAACAGCAGCCAGGTTTTGAAGATTTTTTTATTG
+CCGTTGATCCGAAAACCGATCTCAGCGCCGTCACTCGCCCGCGTGCGTTACCGTTATTAACGCCATTCCA
+GATGCGCGATCATTCAATGCGCCATTTATGGAGCACCTTTAGCGACGATCAAATTGACCTCAATTACCGT
+AGCCCTGAAGTGTTGCTGGCGATGGTGGATGTATTGCTGTGCTACCTGGAAAAGGGCGCAGAGTATGTCC
+GTCTGGATGCCGTTGGCTTTATGTGGAAAGAGCCGGGAACAAGCTGCATCCATCTGGAAAAAACACATCT
+GATTATCAAACTGTTACGGTCGATTATTGATAACGTCGCGCCAGGCACAGTGATCATTACCGAGACCAAT
+GTTCCGCATAAAGACAACATTGCTTACTTTGGCGAAGGCGATGACGAAGCGCATATGGTGTACCAGTTCT
+CGCTGCCGCCGCTGGTGCTGCATGCGGTGCAAAAACAGAACGTTGAGGCACTTTGTGCCTGGGCGCAAAA
+CCTGACACTACCTTCCAGCAACACCACCTGGTTTAACTTCCTTGCCTCTCACGATGGCATCGGGCTTAAC
+CCACTGCGGGGGTTGTTGCCCGAAAACGAAATATTAGCGCTGGTCGAGGTGTTACAGCAGGAAGGGGCAT
+TAGTAAACTGGAAAAATAATCCCGACGGTACGCGTAGCCCCTATGAAATGAATGTCACCTATATGGATGC
+GTTGAGCCGCCGTGAGTGTAGCGACGAAGAACGGTGTGCCAGGTTTATTCTCGCCCATGCGATTTTGTTA
+AGTTTTCCCGGTGTGCCAGCGATATATATTCAAAGCATTCTGGGGTCGCGTAATGATTACGCAGGTGTCG
+AAAAACTTGGATATAATCGCGCGATTAACCGTAAAAAATACTCTAGTAAAGAGATAACGACAGAACTGAA
+CAATAAAGCGACATTAAGGTATTCGATATATTATAAGTTGTCGCATTTAATTACACTTCGTCGCAGTCAT
+AAAGAGTTTCATCCGGATAATAATTTCACCATCGATGCGATTAATTCATTTGTAATGCGAATTCAAAGAA
+GCAATGCGGATGGCGATTGCCTGACGGGATTGTTTAATGTCAGTGAAAATATTCAGCATATAAATATTAC
+TGACCTGCACGGTCGGGATCTGATTAGTGAAGTTGATATATTGGGTAATGAAATAACACTGCATCCCTGG
+CAGGTTATGTGGATTAAATAAAAAGGAACATTTCATGATTAAATCAAAAATCGTGCTGTTATCAGCACTG
+GTTTCCTGCGCCTTGATTTCAGGCTGTAAAGAAGAAAATAAAAATAATGTATCCATCGAATTTATGCATT
+CTTCGGTGGAGCAGGAGCGCCAGGCCGTCATCAGCAAATTGATTGCCCGTTTTGAAAAAGAAAACCCAGG
+TATCACCGTAAAACAAGTGCCCGTGGAAGAAGACGCCTATAACACCAAAGTCATTACCCTTTCACGTAGC
+GGTTCGCTGCCGGAAGTGATCGAAACCAGCCATGACTACGCCAAAGTGATGGACAAAGAGCAGCTTATCG
+ATCGCCAGGCGGTTGCCACGGTCATCAGCAACGTCGGTGAAGGCGCGTTCTACGATGGCGTACTGCGGAT
+TGTGCGCACCGAAGATGGCAGCGCCTGGACCGGTGTTCCTGTCAGCGCATGGATTGGCGGGATCTGGTAT
+CGCAAAGATGTGCTGGCAAAAGCTGGGCTGGAGGAGCCAAAAAACTGGCAGCAATTGCTGGACGTTGCAC
+AGAAACTGAATGACCCGGCGAATAAAAAATACGGTATTGCGCTGCCTACAGCAGAAAGCGTGTTGACGGA
+ACAGTCTTTCTCCCAGTTTGCGTTATCCAATCAGGCTAACGTCTTTAACGCCGAAGGCAAAATTACCCTT
+GATACACCAGAGATGATGCAGGCGCTGACCTATTACCGCAACCTTGCTGCCAACACCATGCCAGGTTCTA
+ACGACATCATGGAAGTGAAAGACGCTTTTATGAACGGCACCGCGCCGATGGCGATTTACTCCACCTATAT
+CCTTCCGGCTGTGATTAAAGAAGGCGATCCGAAAAACGTCGGTTTCGTGGTGCCAACCGAGAAAAATTCT
+GCGGTCTACGGCATGTTGACCTCGCTGACCATTACCGCCGGGCAAAAGGTCGAAGAGACGGAAGCAGCAG
+AAAAATTTGTCACCTTTATGGAGCAGGCGGACAACATTGCCGACTGGGTGATGATGTCACCAGGCGCGGC
+GCTGCCGGTGAACAAAGCGGTGGTGACTACCGCCACCTGGAAAGACAACGACGTTATTAAGGCGCTGGGA
+GAATTGCCGAATCAGCTAATCAGCGAACTGCCAAATATTCAGGTCTTTGGCGCAGTAGGGGATAAAAACT
+TTACCCGCATGGGCGATGTCACGGGGGCTGGTGTGGTGAGTTCAATGGTGCATAACGTCACCGTGGGTAA
+AGCCGATCTCCCTGGCACGCTGCAAGCGAGCCAGAAAAAGCTGGATGAACTGATCGAACTGCACTAAACC
+CAGGACAGGAATCCGCAATGAACAGGCTTTTTTCAGGTCGTTCCGATATGCCTTTTGCACTGCTGCTTCT
+CGCGCCCAGCTTATTACTGCTGGGCGGTCTGGTGGCGTGGCCGATGGTGTCGAATATCGAAATCAGTTTT
+TTACGTCTGCCGCTCAATCCCAACATCGAGTCAACCTTTGTTGGGGTGAGTAACTATGTGCGCATTCTCT
+CCGATCCTGGTTTCTGGCACTCGCTGTGGATGACGGTCTGGTATACCGCGCTTGTGGTGGCGGGCAGCAC
+CGTGCTCGGGCTGGCCGTGGCGATGTTTTTCAACCGCGAGTTCCGCCTGCGCAAAACCGCGCGTTCGCTG
+GTGATCCTTTCCTACGTAACGCCGTCTATTTCGCTGGTGTTCGCCTGGAAATACATGTTCAACAACGGCT
+ACGGCATTGTGAACTACCTCGGCGTCGATCTTCTGCATCTCTATGAGCAGGCACCGCTGTGGTTCGATAA
+TCCGGGCAGTAGCTTTGTGCTGGTGGTGCTGTTCGCCATCTGGCGCTACTTCCCCTATGCCTTTATTTCG
+TTTCTGGCGATTTTGCAGACCATCGACAAATCGCTGTACGAAGCGGCAGAGATGGATGGCGCTAATGCCT
+GGCAACGGTTTCGTATCGTCACGCTGCCCGCGATTATGCCGGTCCTGGCGACGGTGGTGACCCTGCGCAC
+CATCTGGATGTTCTACATGTTCGCGGATGTTTATCTGCTGACGACCAAGGTCGATATTCTCGGTGTCTAT
+CTCTACAAAACCGCCTTTGCCTTTAATGACTTAGGGAAAGCGGCGGCGATCTCGGTGGTGCTTTTCATCA
+TTATTTTCGCTGTCATTCTGCTGACCAGGAAACGGGTGAACCTCAATGGCAACAAATAAACGCACACTCA
+GTCGAATCGGTTTTTACTGCGGGCTGGCGCTGTTTCTCATCATCACGCTGTTTCCATTTTTTGTGATGCT
+GATGACCTCGTTCAAGAGCGCAAAAGAGGCGATCTCGCTGCATCCTACGCTGCTGCCACAGCAGTGGACG
+CTGGAGCATTACGTCGACATTTTTAATCCGGTGATTTTCCCGTTTGTCGACTACTTCCGTAACAGCATGG
+TGGTGTCGGTGGTTTCATCCGTGGTGGCGGTATTTCTCGGCATTCTTGGGGCTTACGCGCTTTCCCGCCT
+GCGCTTTAAAGGGCGGATGACCATCAACGCCAGCTTTTACACGGTGTACATGTTCTCCGGCATTTTGCTG
+GTGGTGCCGCTGTTCAAAATCATCACCGCGCTTGGCATTTACGACACTGAGATGGCGCTGATCATTACCA
+TGGTGACGCAAACTCTGCCTACCGCCGTGTTTATGCTGAAAAGCTACTTCGACACCATCCCCGATGAAAT
+CGAAGAAGCGGCAATGATGGATGGCCTCAATCGTCTGCAAATTATCTTCCGTATCACCGTGCCCCTGGCA
+ATGTCCGGGCTGATATCCGTATTCGTCTACTGCTTTATGGTGGCGTGGAACGACTATCTGTTTGCGTCGA
+TTTTCCTTTCCAGCGCCAGCAATTTCACCTTACCGGTGGGCCTGAACGCGCTGTTCAGTACGCCAGATTA
+CATCTGGGGACGGATGATGGCGGCCTCGCTGGTGACCGCATTGCCGGTGGTGATTATGTACGCGCTTTCT
+GAACGTTTTATTAAGAGTGGTTTGACCGCCGGTGGCGTGAAGGGCTAAAGCGACCAATTTCTTTACAAGG
+AGTTTTACATGAAAAAGTTAGTAGCCACAGCACCGCGTGTAGCTGCGCTGGTTGAGTATGAAGAGCGGGC
+GATTTTAGCCAATGAAGTGAAGATCCGCGTGCGATTCGGCGCGCCGAAACACGGGACGGAAGTGGTTGAT
+TTCCGCGCCGCCAGCCCGTTTATTAATGACGACTTTAATGGCGAATGGCAGATGTTCACCCCGCGTCCGG
+CAAATGCGCCGCGCGGCATTGAGTTTGGCAAGTTCCAGCTTGGCAACATGGTGGTTGGCGACATTATCGA
+GTGCGGCAGCGAGGTTACCGACTACGCGGTGGGCGACAGCGTATGCGGCTACGGCCCGCTTTCCGAAACG
+GTCATCATTAACGCGGTGAATAACTACAAGCTGCGCAAAATGCCGCAAGGCAGCTCCTGGAAAAACGCCA
+TCTGCTACGACCCGGCGCAGTTTGCCATGAGCGGCGTGCGCGATGCCAATGTACGCGTAGGGGATTTTGT
+CGTGGTGGTCGGGCTTGGCGCGATCGGTCAAATTGCCATCCAACTGGCAAAACGCGCTGGAGCGTCGGTG
+GTAATTGGCGTCGATCCTATTACCCGTCGTTGTGATATTGCCCGTCGCCACGGTGCGGATTTCTGTCTTA
+ACCCCATTGGCGCTGACGTAGGTAAAGAGATCAAAACGCTGACCGGCAAGCAGGGTGCCGATGTGATTAT
+CGAAACCAGTGGCTATGCCGACGCGCTGCAATCGGCACTCCGCGGTCTGGCCTATGGCGGCACCATCTCC
+TATGTCGCGTTTGCCAAACCGTTTGCCGAAGGTTTTAACCTCGGACGCGAAGCCCATTTCAATAACGCCA
+AAATTGTTTTCTCCCGTGCGTGCAGCGAGCCGAACCCGGATTATCCGCGCTGGAGCCGTAAGCGTATTGA
+AGAAACCTGCTGGGAACTGCTGATGAACGGTTATCTCAATTGCGAAGATTTAATCGATCCGGTGGTGACC
+TTTGCCAACAGCCCGGAAAGCTACATGCAGTATGTCGACCAGCATCCGGAACAGAGCATCAAAATGGGCG
+TCACGTTTTAATTCAAAGGAATGAAAAGAATGAAAATCGGCACACAGAATCAGGCGTTCTTTCCGGAAAA
+CATTCTGGAGAAATTTCGTTATATCAAAGAGATGGGTTTCGATGGTTTTGAGATTGACGGCAAACTGCTG
+GTCAACAATCTCGAAGAAGTCAAAGCAGCAATCAAAGAAACCGGTTTACCGGTGACCACCGCCTGCGGTG
+GCTATGACGGTTGGATTGGCGACTTTATCGAAGAGCGTCGACTTAATGGCTTAAAGCAGATCGAACGCAT
+TCTTGAAGCGCTGGCAGAAGTGGGCGGTAAAGGTATCGTCGTTCCGGCTGCATGGGGCATGTTTACCTTC
+CGCTTACCGCCGATGACCTCGCCGCGTAGCCTGGACGGCGACAGCAAAATGGTGAGTGATTCCCTGCGCG
+TACTGGAACAGGTCGCCGCGCGGACTGGAACTGTGGTGTATCTCGAACCGTTAAACCGCTATCAGGATCA
+TATGATCAACACCCTCGCCGATGCTCGTCGTTACATCGTCGAAAACAATCTTAAACATGTGCAGATTATC
+GGCGATTTCTATCACATGAATATCGAAGAAGATAACCTGGCGCAGGCGTTGCACGACAACCGCGACTTGC
+TCGGTCATGTGCATATTGCCGATAACCATCGCTACCAGCCGGGCAGCGGCACCCTCGATTTCCACGCGCT
+GTTTGAACAGCTGCGCGCCGATAACTATCAGGGCTATGTGGTGTATGAAGGGCGTATCCGGGCAGAAAAT
+CCTGCCCAGGCGTACCGTGATTCTTTGGCCTGGTTGCGTACCTGCTAAGAGGTCTTTGTGAAAAGTGCAA
+TGACAAGCTCTCCACTGCGGGTCGCGATAATCGGCGCAGGCCAGGTGGCGGATAAGGTTCATGCTTCGTA
+CTACTGCACCCGCAATGATCTGGAACTGGTGGCTGTCTGTGACAGCCGCCTTTCCCAGGCGCAGGCGCTG
+GCAGAAAAATACGGGAATGCATCCGTGTGGGACGATCCGCAGGCCATGCTGCTGGCGGTGAAACCTGATG
+TGGTTAGCGTCTGCTCACCTAACCGTTTTCATTACGAACATACCCTGATGGCGCTGGAAGCGGGCTGCCA
+TGTGATGTGCGAAAAACCGCCCGCCATGACGGCAGAACAGGCGCGGGAAATGTGCGATACCGCGCGCAAA
+CAGGGCAAGGTGCTGGCCTACGACTTTCACCATCGTTTTGCGCTCGATACGCAACAGCTGCGTGAACAGG
+TGACCAACGGCGTTTTGGGAGAGATTTACGTTACCACCGCCCGCGCCCTGCGTCGCTGCGGCGTTCCCGG
+CTGGGGTGTCTTTACCAATAAAGAACTGCAGGGTGGTGGCCCGCTGATCGACATCGGCATTCATATGCTG
+GATGCGGCGATGTATGTGCTGGGCTTTCCGGCGGTGAAAAGCGTGAATGCGCATAGTTTTCAAAAGATCG
+GCACGCAAAAGAGCTGTGGTCAATTTGGCGAGTGGGATCCGGCAACTTATAGCGTCGAAGATTCGCTGTT
+TGGCACCATTGAATTTCATAACGGCGGCATTCTGTGGCTGGAAACGTCATTTGCACTCAACATCCGCGAA
+CAGTCGATTATGAACGTCAGCTTTTGTGGTGATAAAGCCGGTGCGACGCTGTTTCCGGCACATATCTACA
+CCGATAACAACGGTGAATTAATGACGCTGATGCAACGGGAAATGGCAGACGACAACCGCCATTTGCGCAG
+CATGGAAGCCTTTATTAATCACGTACAGGGCAAGCCCGTGATGATAGCCGACGCCGAGCAGGGGTACATC
+ATCCAGCAACTGGTGGCGGCGTTGTATCAATCCGCAGAAACAGGGACGCGTGTGGAATTATGACCAGGCC
+AGTAACGTTATCAGAACCCCATTTCAGCCAGCATACACTGAACAAATATGCTTCACTGATGGCGCAGGGG
+AACGGCTATCTTGGGCTTCGCGCCAGCCATGAAGAAGATTACACGCGCCAGACGCGCGGCATGTATCTGA
+CGGGGCTGTATCATCGGGCGGGTAAGGGTGAAATCAACGAACTGGTGAACCTGCCTGATGTCGTGGGGAT
+GGAGATTGCCATAAATGGTGAGATTATCTCGTTATCCCGCGAAGCATGGCAGCGTGAGCTTAACTTTGCC
+AGTGGCGAATTACGTCGCAACGTTGTCTGGCGTACCAGCAACGGCACTGGTTACACCATCGCCAGCCGTC
+GCTTTGTTTCGGCAGACCAACTGCCGCTGATCGCGCTGGAAATCAGTATTACCCCGCTGGACGCCAACGC
+GTCAGTGCTGATTTCAACAGGCATTGACGCCACGCAAACCAATCACGGTCGCCAGCATCTCGACGAAACC
+CAGGTGCGGGTGTTTGGTCAGCATCTGATGCAGGGGATCTACACCACCCAGGATGGGCGCAGTGATGTGG
+CCATCAGCTGTTGCTGTAAGGTGAGCGGTGATGTGCAGCAATGCTATACCGCCAAAGAGCGCCGTTTACT
+GCAACATACCTGCGCGCAGCTTCACGCAGGTGAGACGTTGACGCTGCAAAAACGGGTGTGGATCGACTGG
+CGGGACGACAGACAAGCCGCTTTAGACGAATGGGGCAGTGCGTCGCTTCGTCAGCTTGAAATGTGCGCGC
+AGCAGAGTTACGACCAACTTCTTGCAGCATCAACAGAAAACTGGCGTCAATGGTGGCAGAAACGTCGTAT
+CACGGTAAACGGCGGCGATGCGCACGATCAGCAAGCGTTAGATTATGCGCTTTATCACCTGCGCATCATG
+ACGCCTGCCCACGATGAGCGCAGCAGCATTGCGGCGAAAGGTTTAACCGGCGAAGGCTACAAAGGCCACG
+TTTTCTGGGATACAGAAGTATTTTTGCTACCGTTCCATCTGTTTAGCGATCCGACGGTTGCCCGAAGTTT
+ACTGCGTTATCGCTGGCACAACTTGCCTGGCGCGCAGGAGAAAGCGCGACGCAACGGCTGGCAGGGCGCT
+CTGTTTCCGTGGGAAAGCGCGCGTAGTGGCGAAGAAGAGACGCCGGAATTTGCCGCCATTAACATTCGTA
+CCGGGTTGCGGCAAAAAGTGGCCTCTGCGCAGGCGGAACATCATCTGGTGGCCGATATCGCCTGGGCGGT
+TATTCAATACTGGCGGACCACGGGGGATGAAAGTTTCATTGCTCATGAAGGCATGGCGCTACTTCTGGAG
+ACAGCAAAGTTCTGGATTAGCCGCGCGGTGAGGGTTAACGACCGTCTGGAAATTCATGATGTTATTGGGC
+CAGACGAATATACCGAACATGTCAATAATAACGCCTTCACCAGCTATATGGCGTATTACAACGTCCAGCA
+GGCGCTGAATATCGCTCGTCAGTTTGGCTGTAGCGACGACGCGTTTATTCATCGTGCAGAAATGTACCTC
+AAAGAACTGCGGCTGCCAGAAATTCAGCCCGACGGCGTTTTGCCGCAGGATGATTCGTTTATGGCTAAGC
+CGATGATTAATCTGGCGAAATACAAAGCGGCGGCGGGGAAGCAAACCATTCTGCTGGATTATTCACGCGC
+AGAAGTGAACGAGATGCAGATCCTCAAACAAGCTGATGTGGTGATGCTCAATTACATGCTGCCGGAGCAG
+TTCTCAGCGGCATCGTGTCTTGCCAATCTGCAATTTTATGAACCGCGCACTATTCACGACTCGTCATTAA
+GTAAAGCAATCCACGGCATTGTTGCCGCACGCTGTGGCCTGTTGGCGCAAAGTTATCAGTTCTGGCGGGA
+GGGGACTGAAATCGATCTTGGTGCTGATCCGCATAGCTGTGATGACGGTATCCACGCAGCCGCAACTGGC
+GCTATTTGGCTGGGGGCGATTCAGGGTTTTGCCGGGGTGAGCGTGCGTGACGGTGAATTAAATTTGAATC
+CGGCGTTACCTGTGCAGTGGCAACAGTTGTCTTTCCCTCTGTTCTGGCAGGGCTGCGAATTACAGGTCAC
+TCTCGACGCGCAGCGTATTGCGATTCGGACTTCTGCGCCAGTTTCACTTCGTTTGAACGGTCAGCTTATT
+TCAGTCGCTGAAGAATCTGTTTTCTGTTTGGGGGATTTTATTTTGCCCTTCAATGGGACCGCTACCACGT
+ATCAGGAGGGTGAATGAAACTGCAAGGGGTAATTTTCGATCTGGATGGAGTAATCACCGATACCGCGCAT
+CTGCATTTCCAGGCGTGGCAGCAGATTGCCGCTGAAATTGGCATCAGCATTGATGCGCAGTTTAACGAAT
+CTCTAAAAGGGATCAGCCGCGATGAGTCTCTGCGGCGCATTCTGCAACACGGGGGCAAAGAGGGCGACTT
+TAACTCGCTGGAGAAGGCACAACTGGCGTATCGCAAAAATCTGCTCTACGTCCACTCACTGCGCGAGCTG
+ACGGTTAATGCTGTGCTGCCCGGCATTCGCAATTTGCTGGCAGATCTCCGAGCACAGCAGATTCCGGTTG
+GGCTGGCTTCTGTCTCCCTGAATGCGCCGACGATTTTAGCAGCGCTGGAGCTGCGTGAGTTTTTCACCTT
+CTGCGCGGACGCTTCCCAACTTAAAAACTCGAAACCGGCCCCGGAAATCTTTCTCGCCGCCTGTGCCGGA
+CTGGGCGTGCCGCCGCAGGCATGTATCGGCATTGAAGATGCGCAGGCGGGCATTGACGCCATTAACGCCA
+GCGGTATGCGCTCGGTGGGGATCGGCGCAGGCTTAACCGGGGCGCAATTATTGTTGCCCTCAACGGAATC
+ACTCACCTGGCCGCGGTTATCGGCCTTCTGGCAAAACGTATAGCAAAGGAATCAACATGGCTCAGCTTTC
+GTTACAACATATTCAAAAGATCTACGATAACCAGGTGCATGTGGTGAAGGACTTCAACCTGGAAATTGCC
+GATAAAGAGTTCATCGTATTTGTCGGCCCGTCGGGCTGCGGTAAATCGACCACCCTGCGTATGATTGCCG
+GGCTTGAGGAGATCAGCGGCGGTGATCTGTTGATCGACGGCAAACGAATGAATGACGTTCCAGCCAAAGC
+ACGCAATATCGCGATGGTGTTCCAGAACTACGCGCTGTATCCGCATATGACGGTCTACGACAACATGGCG
+TTTGGCCTGAAGATGCAAAAAAATCGCCAGAGAGGTGATTGATGAGCGGGTGAACTGGGCGGCGCAAATT
+CTCGGCCTGCGTGAGTACCTGAAACGCAAGCCGGGCGCGCTTTCCGGCGGGCAACGTCAGCGAGTGGCGC
+TTGGGCGGGCGATTGTGCGCGAAGCGGGCGTGTTTTTAATGGATGAGCCGCTCTCTAACCTGGATGCCAA
+GCTGCGCGTGCAAATGCGCGCAGAGATCAGCAAGCTGCATCAGAAACTGAACACCACCATGATCTACGTG
+ACCCACGATCAGACCGAAGCGATGACCATGGCGACGCGGATTGTCATTATGAAGGATGGGATTGTTCAGC
+AGGTCGGTGCGCCGAAAACGGTTTATAACCAACCTGCGAATATGTTTGTTGCCGGATTTATTGGATCACC
+AGCGATGAATTTTATTCGCGGCACGATCGATGGCGATAAATTCGTTACGGAAACGCTTAAATTAACCATA
+CCCGAAGAGAAATTAGCGGTTCTGAAAACACAGGAAAGTTTGCATAAGCCCATCGTAATGGGAATACGCC
+CGGAAGATATTCATCCGGACGCGCAAGAGGAAAATAACATTTCCGCCAAAATTAGCGTGGCGGAATTAAC
+CGGTGCGGAATTTATGCTCTACACCACGGTTGGGGGGCACGAGTTAGTGGTCCGTGCTGGTGCGTTAAAT
+GATTATCATGCAGGAGAAAATATCACTATTCATTTTGATATGACTAAATGTCATTTCTTTGATGCAGAAA
+CGGAAATAGCAATTTGCTAAATACAGGGGGAAGGCATTCTCCCAGGATAATACAAGGAACAATAATGAAA
+AAGTTATTACTCTGTACCGCACTGGTGATGTGTGCGGGAATGGCCTGCGCACAGGCCGAGGAAAAGAACG
+ACTGGCACTTTAATATCGGCGCGATGTACGAAATAGAAAACGTCGAAGGTTATGGCGAAGATATGGATGG
+GCTGGCGGAGCCTTCTGTCTATTTTAATGCCGCCAACGGGCCGTGGAGAATTTCTCTGGCCTATTATCAG
+GAAGGGCCGGTAGATTATAGCGCGGGTAAACGTGGAACGTGGTTTGATCGCCCGGAGCTGGAGGTACATT
+ATCAGTTCCTCGAAAGCGATGATTTCAGTTTCGGTCTGACTGGTGGTTTCCGTAATTATGGTTATCACTA
+CGTTGATGAACCGGGTAAAGACACGGCGAATATGCAGCGCTGGAAAATTGCGCCAGACTGGGATGTGAAA
+CTGACTGACGATTTACGTTTCAACGGTTGGCTGTCGATGTATAAATTTGCCAACGATCTGAATACGACCG
+GTTATGCTGATACCCGTGTCGAAACGGAAACAGGTCTGCAATATACCTTCAACGAAACGCTTGCCTTGCG
+AGTGAACTATTATCTCGAGCGTGGTTTCAATATGGATGATAGCCGCAATAACGGTGAGTTTTCCACGCAA
+GAAATTCGCGCCTATTTGCCGCTGACGCTCGGCAACCACTCGGTGACTCCGTATACGCGCATTGGGCTGG
+ATCGCTGGAGTAACTGGGACTGGCAGGATGATATTGAACGTGAAGGCCATGATTTTAACCGTGTGGGTTT
+ATTTTACGGTTATGATTTCCAGAATGGTCTTTCCGTTTCGCTGGAATACGCGTTTGAGTGGCAGGATCAC
+GACGAAGGCGACAGCGATAAATTCCATTATGCGGGTGTTGGGGTGAATTACTCGTTCTGATAATGTGCTA
+AATTGCCGGATGCGGGGCGAGCGCCAAATCCGGCATACATTTATTTCAACGACATATGCGTAGCAACGGT
+AATATTTTGTGGTGACGGTTTTCCGGCAATTAGCTGGAATAATAACTCGCAGCTTTGTTGACCTAACTCC
+TGCGTCGGAACATCGATGCCGCCTGGTGCAGGCGTTAATATAAACGACAGCGTTTCATTACTATAACCCA
+CCACCGCTAACTGCTGCGGAATAGCAATGTTTTTCTCTGCCGCCGCACGATAAATACTCATTAATTTCAG
+GCTGTCAGTAGCAAACACTGCCTCAGGCAACGGTGACTGGCTTAATAATTCCCGTGCTGCTTTTAATGCT
+GTCTCATGGGTATAACCGCCGTCAACAATCCATTCATCACGCACTGCAATATTATGCGTAGCCAGGCTTT
+GCTTATAACCATTTACCCGATCCACTGAAACATGAACATCAAGCGGCGCATGCAGGCATGCAATATTCTT
+ATGCCCGCTTTCAATTAACGCATCGGTTAGCGCAATACTGTCGCCATAATTATCGGTATCGACGGAATAA
+ACATGGCTGTATTGACCTTCAACTTTACCGATCACCACCACCGGGATCTCGTATTTGTCGAGTTGTGCAA
+AGAAGGATTCATCAGCAGGCGAACTTAGCATAATAATGCCTTTAATCATTTTCTGCTTAATTTTGCTTTC
+GCATTTTTGCAGATCTTCTGCCGGATTGTGCGACGTTTGTAATATCACGTCGAAACCTTCTTCTTCCGCT
+TTGGCGGTGATGGCATGCAAAACTTCAGAGAAAAACGGATTACCCGCCGTAGTTTTGGTCGAACGGGTAG
+AAATCACCATAATGGCATCAAAACCCGAAGAGGTCAGCGCGCGGGCCAGCTTGTTTGGTTGATACTGTAA
+TTCTTCAATGGCCCGTAACACTTTTTCGCGCGCTTCCGGGGAGATATTGGTTTGCTTATTCAGCACGCGT
+GATACGGTGGATTTTGATACGCCTGCAACCCTGGCAATATCATAAATAGTAGGGGACATAGGTCAGGAAC
+TCCGTCCGAACGTGAATGCTGCACATCTTATGGAGTTCGCCCGTCGATGACAACACGGGTAGTTGATAAT
+CAATGGCCTGGCCCCCACATTCATATTCTTACGAACGATTTTTTTCTGGTCTTCAGAGCAGCACAGGACA
+GCAATGAAGCGACTTAAAAATGAACTCAATGCGCTGGTGAATCGGGGTGTCGACAGACATCTGCGCCTCG
+CTGTAACCGGACTTAGCCGCAGCGGCAAAACAGCGTTTATCACCGCGATGGTTAATCAGTTGCTCAATAT
+TCATGCCGGAGCACGTTTGCCGCTTTTAAGTGCGGTGCGTGAAGAGCGCCTGCTGGGCGTAAAACGCATT
+CCCCAGCGTGACTTTGGCATTTCGCGCTTCACCTATGATGAAGGGTTGGCGCAGTTATATGGCGATCCTC
+CCGCCTGGCCGACGCCTACGCGCGGCGTCAGTGAAATTCGCCTGGCGTTACGTTTTAAATCGAACGATTC
+GCTGCTGCGCCACTTTAAGGACACCTCCACGGTGTATCTTGAGATTGTGGATTATCCCGGCGAATGGCTG
+CTCGACCTGCCGATGCTGGCACAGGACTATTTTAGCTGGTCGCGCCAGATGACGGGCTTACTCAATGGTC
+AGCGCGGCGAATGGTCGGCGAAATGGCGAATGATGTGCGAAGGGCTGGACCCGCTAGCGCCTGCCGACGA
+AAACCGGCTGGCAGACATTGCCGCCGCATGGACCGATTATCTCCATCACTGCAAACAGCAGGGGCTGCAC
+TTTATTCAGCCAGGACGCTTTGTTTTGCCTGGCGATATGGCAGGAGCGCCCGCGCTGCAATTCTTCCCAT
+GGCCAGATGTCGATGCCTGGGGCGAGTCCAAACTGGCGCAGGCCGATAAGCACACCAATGCCGGAATGTT
+GCGCGAGCGGTTTAATTATTACTGCGAGAAAGTGGTGAAGGGGTTCTATAAGAATCATTTTCTGCGCTTT
+GACCGCCAGATTGTGCTGGTGGATTGCCTGCAACCGCTCAACAGTGGGCCACAGGCATTTAATGATATGC
+GTCTGGCGCTGACGCAGCTGATGCAAAGTTTCCACTACGGGCAGCGTACCCTGTTCCGGCGTTTGTTTTC
+GCCGGTTATCGATAAGCTATTGTTTGCTGCCACTAAAGCGGACCATGTGACCATCGATCAGCACGCCAAT
+ATGGTTTCATTGCTGCAACAACTGATTCAGGATGCCTGGCAAAATGCGGCGTTCGAAGGGATCAGTATGG
+ACTGCCTGGGGCTGGCGTCTGTTCAGGCGACCACCAGCGGAATTATTGATGTTAACGGTGAAAAAATCCC
+GGCGCTGCGCGGTAATCGACTCAGCGATGGCGCACCGCTCACTGTTTATCCTGGCGAAGTTCCCGCACGT
+TTGCCAGGTCAGGCGTTCTGGGATAAGCAAGGCTTCCAGTTTGAGGCGTTTCGTCCGCAGGTGATGGATG
+TCGACAAACCGCTACCGCATATTCGTCTAGATGCTGCGCTGGAATTTTTAATAGGAGATAAATTGCGATG
+ACCGAACCGTTAAAACCACGTATTGATTTCGACGGTCCACTGGAGGTCGATCAGAATCCAAAGTTCAGGG
+CGCAGCAGACCTTTGACGAAAATCAGGCGCAAAATTTTGCCCCAGCCACGCTCGATGAAGCGCAGGAAGA
+AGAGGGGCAAGTTGAAGCGGTAATGGATGCAGCGTTACGTCCGAAACGCAGCCTGTGGCGCAAAATGGTG
+ATGGGCGGGCTGGCTCTGTTTGGCGCAAGCGTTGTCGGGCAGGGCGTGCAGTGGACAATGAACGCCTGGC
+AAACCCAGGACTGGGTGGCGCTGGGTGGATGTGCCGCTGGGGCATTGATTATCGGCGCTGGCGTAGGTTC
+TGTGGTAACAGAGTGGCGGCGCTTATGGCGCTTGCGACAGCGCGCCCATGAACGCGACGAAGCGCGCGAT
+TTGTTGCACAGTCACGGCACGGGTAAAGGCCGTGCATTCTGCGAAAAACTGGCGCAGCAGGCGGGTATTG
+ATCAGTCACATCCGGCGCTGCAGCGCTGGTATGCCTCAATCCATGAAACGCAGAACGATCGTGAAGTGGT
+CAGCCTGTATGCTCACCTGGTCCAGCCAGTTTTAGATGCCCAGGCGCGGCGCGAAATCAGCCGTTCGGCA
+GCGGAATCAACGTTAATGATTGCCGTTAGCCCACTGGCGCTGGTGGATATGGCGTTTATCGCCTGGCGCA
+ATCTGCGTTTGATTAATCGCATCGCCACGCTGTATGGCATTGAACTGGGATATTACAGCCGTTTGCGCCT
+GTTTAAGCTGGTATTGCTGAATATTGCTTTTGCCGGAGCCAGCGAACTGGTGCGCGAAGTGGGGATGGAC
+TGGATGTCGCAAGATCTCGCTGCGCGTTTGTCTACCCGGGCAGCTCAGGGGATTGGTGCTGGACTTCTGA
+CGGCACGACTGGGGATTAAAGCTATGGAGCTTTGCCGCCCGCTGCCGTGGATTGACGATGACAAACCTCG
+CCTCGGGGATTTCCGTCGTCAGCTTATCGGTCAGGTGAAAGAGACGCTGCAAAAAGGCAAAACGCCCAGC
+GAAAAATAATGCAATATCGGGTGCTGACCGGATATCTTTACGCCGAAGTGCCCGTTTTTCCGTCTTTGTG
+TCAATGTTTGTTGACAGAAACCTTCCTGCTATCCAAATAGTGTCATATCATCATATTAATTGTTCTTTTT
+TCAGGTGAAGGTTCCCATGCGTCTGGAAGTCTTTTGTGAAGACCGACTCGGTCTGACCCGCGAATTACTC
+GATCTACTCGTGCTAAGAGGCATTGATTTACGCGGTATTGAGATTGACCCCATTGGGCGAATCTACCTCA
+ATTTTGCTGAACTGGAGTTTGAGAGTTTCAGCAGTCTGATGGCCGAAATACGCCGTATTGCAGGTGTTAC
+CGATGTGCGTACTGTCCCGTGGATGCCTTCCGAACGTGAGCATCTGGCGTTGAGCGCGTTACTGGAGGCG
+TTGCCTGAACCTGTGCTCTCTGTCGATATGAAAAGCAAAGTGGATATGGCGAACCCGGCGAGCTGTCAGC
+TTTTTGGGCAAAAATTGGATCGCCTGCGCAACCATACCGCCGCGCAATTGATTAACGGCTTTAATTTTTT
+ACGCTGGCTGGAAAGCGAACCGCAAGATTCGCATAACGAGCATGTCGTTATTAATGGGCAGAATTTCCTG
+ATGGAGATTACGCCTGTTTATCTTCAGGATGAAAATGATCAACACGTCCTGACCGGTGCGGTGGTGATGC
+TGCGATCAACGATTCGTATGGGCCGTCAGTTGCAAAATGTCGCCGCCCAGGATGTCAGCGCCTTCAGTCA
+AATTGTCGCTGTCAGCCCGAAAATGAAGCATGTTGTCGAACAGGCGCAGAAACTGGCGATGCTAAGCGCG
+CCACTGCTGATTACGGGTGATACCGGCACCGGAAAAGATCTCTTTGCGTATGCCTGTCATCAGGCAAGCC
+CCAGAGCGAGCAAACCTTACCTGGCACTGAACTGTGCGTCTATACCGGAAGATGCGGTCGAGAGTGAACT
+GTTTGGTCATGCTCCGGAAGGGAAGAAAGGGTTCTTTGAGCAGGCGAACGGTGGTTCGGTGCTGTTGGAT
+GAAATAGGTGAGATGTCACCACGGATGCAGGCGAAATTACTGCGTTTCCTTAATGATGGCACCTTCCGTC
+GGGTTGGCGAAGACCATGAGGTGCATGTCGATGTGCGGGTGATTTGTGCTACGCAGAAGAATCTGGTCGA
+ACTGGTGCAAAAAGGCGTGTTCCGTGAAGATCTCTATTATCGTCTGAACGTGTTGACGCTCAATCTGCCG
+CCGCTACGTGACTGTCCGCAGGACATCATGCCGTTAACCGAGCTGTTCGTCGCTCGCTTTGCCGACGAGC
+AGGGCGTGCCGCGTCCGAAACTGGCCGCTGATCTGAATACTGTACTTACGCGTTATGCGTGGCCGGGAAA
+TGTGCGGCAGTTAAAGAACGCTATCTATCGCGCACTGACACAACTGGACGGTTATGAGCTGCGTCCACAG
+GATATTTTGTTGCCGGATTATGACGCCGCAACGGTAGCCGTGGGCGAAGATGCGATGGAAGGTTCGCTGG
+ACGAAATCACCAGCCGTTTTGAACGCTCGGTATTAACCCAGCTTTATCGCAATTATCCCAGCACGCGCAA
+ACTGGCAAAACGTCTCGGCGTTTCACATACCGCGATTGCCAATAAGTTGCGGGAATATGGTCTGAGTCAG
+AAGAAGAACGAAGAGTAAGCGTGAATATGCCTGATGGTGCAACACCATCAGGCATATTAACTTATGCTTT
+CAGTACAGCCAGAGCTGCTTCGTAATCCGGCTCGGTGGTGATTTCATCCACCAGCTGGCTGAAAATCACA
+TTGTCATTTTCATCAATAACCACAACGGCACGCGCTGCCAGACCTTTCAGTGGGCCATCAGCAATTGCCA
+CACCGTAGGCTTGCAGGAATTCAGCGTTACGGAAAGTGGAGAGGGTGATAACGTTGTTCAGACCTTCTGC
+GCCGCAGAAACGAGACTGGGCGAACGGCAGATCGGCAGAGATACACAGCACAACGGTGTTGTCGATCTCG
+GTTGCCAGTTGGTTAAACTTACGTACTGATGCGGCGCAAACACCGGTATCAATACTCGGGAAAATGTTCA
+GCACTTTGCGTTTACCCGCAAACTGACCGAGGGTGACGTCAGACAGATCTTTTGCCACGAGAGTAAAAGT
+CTGCGCTTTGCTACCCGCCTGCGGGATGGAATTGGCGACTGTAACCGGGTTGCCCTGGAAATGAACGGTT
+TGTGACATGATTATCTTTCCTGTTTACATATAGTTAACGTCACACCTAGTTTATGCTAACTGTCAATAAC
+ACAGCAAACGCTATTTGCGCTTAATCCGCAGACCACCGCGACAACAAGGAGTAAAGATGAGAACCGTTAA
+GGTATTTGAGGAGGCCTGGCCCTTACATACCCCGTTTGTGATTGCTCGGGGAAGTCGCAGTGAAGCGCGC
+GTGGTGGTGGTTGAACTGGAAGAAGAGGGTATTAAAGGCACCGGCGAATGCACGCCGTATCCGCGTTATG
+GGGAAAGTGATGCCTCGGTAATGGCGCAAATTATGAGCGTCGTGCCGCAATTAGAGAAAGGGCTGACACG
+GGAGGAGTTGCAAAAAATCCTCCCTGCCGGCGCAGCACGTAATGCGCTGGATTGTGCATTGTGGGATCTG
+GCGGCGCGAAAACAGCAGCAATCGCTGGCTGATTTGATCGGCATAACGCTTCCCGAGACAGTCACCACGG
+CACAGACGATAGTCATCGGTACGCCTGATCAGATGGCCAATAGTGCATCAACACTCTGGCAGGCAGGCGC
+GAAATTACTGAAAGTGAAGCTGGATAACCATCTTATCAGTGAGCGGATGGTGGCAATTCGCACAGCTGTG
+CCCGATGCGACGCTGATCGTTGATGCAAATGAATCCTGGCGTGCAGAAGGGTTGGCGGCGCGTTGCCAGC
+TATTGGCGGATTTAGGCGTTGCGATGCTTGAACAACCGCTTCCTGCGCAGGACGATGCGGCGCTGGAGAA
+TTTTATTCATCCGTTACCGATTTGTGCTGATGAAAGTTGTCATACTCGTAGCAATCTGAAGGCGCTGAAA
+GGGCGCTATGAGATGGTTAACATTAAGCTTGATAAAACCGGTGGTCTGACGGAAGCGCTGGCGCTGGCGA
+CTGAAGCGCGTGCACAAGGTTTTCGTCTGATGCTGGGCTGCATGTTGTGTACCTCTCGTGCCATTAGCGC
+CGCTTTACCGCTGGTGCCGCAGGTCAGTTTCGCCGATCTTGACGGACCGACCTGGCTGGCGGTAGATGTG
+GAACCGGCGCTTCAGTTCACGACGGGCGAATTGCATCTTTAGGATGCCAGCGCAGCAAGTTTGCCATCGC
+AAAGAGATATTTTTCGCTGGCTTCGTCGGAGGAGATGGGGGGAAACTCTGCGGTGATGCAATGCAAGTTG
+AGATCTGCACACCAACTGCCGAAAGAGCCAGGCGTTTCATAACCGACGCTGGTTACCAGAGGCAATTCAA
+ACGCCTGGGCCAGCCATTCACCTAATTCGCTGTGTCTGGGATCTTCAATACAGGCCAGCGGATCGTGGAA
+TGAGACCACCCAGGCAGGTTGAATGCGGTGTATAAGCTGGCACAGCGCCTGGGTTTCAGGTTCGGAGCCA
+GGTTTGTCACCTGTCAGTAAAACGACATCACGTTCTTCAGCGGTGCTGTTCCAGCGATAAACTGTTTCAC
+CTTCCTTCCAGTTCGCTGCCGGAAAGTTTCGGTTTAAATCCACACCATTAGCATTGGCCCGTAACCCTAA
+CTGGCAGCCGTCAGGATTCACACACAGCACCACATGATGGCGGCGCAAAGAAGGTGTCAAAGTCCGCAGA
+GCACAGGAGAGCGTGACGGTCGAAGAGTTTTCATCACCGTGAGTGCCAGCCAGAATCAAACCACTTTCGT
+GACTGGCTGCAGGGGCCGGAAACCAGATTAACGGCGCGCCCAATAATGAACGTCCGTAATGTTCTGTTCC
+GGGCGGAAATGCGCCGCGTTCGGCGCGTGGGCGAGTTACGGTCATGATCGTCTCTGGTTCAGGAAGTATT
+ACAGGCAGTGTTGTGCAAATTTTGCGGATTATCAAATCCTTTTCTTCAACGCTATGTCATCGATCTTGTA
+TCACTTTTTTGCCGGAAGTTGTTTGTATTTTCATTGATGTGCAGATATTAGAATTGTCGTAATGTTATAT
+ACATGGCGTATTTTATTCTTACTGGTTCTACACATGTTAATCGCATCTGATTGATCAGTTCACCTTAATA
+AGTTTAATAAATCGTACTGCACATAGTACAGTACGATGGTAGCTATATAATTGATTTACATGAAGAAGGG
+CTTATCACCATCAGTCCCGGGTTGATTGATGCCTATATTCTCACCAATGTGTTTCTCAGGTTTATCGATG
+ATATCTGTGATTAATGCTGCGACACTCTTACGTGATACGATCGTACCTTTGAATGGTTCATTGCGTGAGG
+TAAGCTCATAATCAATAATATCTTCATCAGTCAGCCAGGCAGGGCGAAGAATTGTATATTCCAGTCCAGA
+AGCCTCAATTGCATCCGCAGCCCTGCGGAATGGTTTTAGGGGTTCACCAATAACTGCATTATTCCATTCG
+CCAAATTTTCCTGGAACTTCATCATAAATACCGAGGGAAAGAACAAAGATCAGACGTTTAACATCACAGG
+CTTTCATCGCAGCGATCACTGAATTTGCCTGAATATCTAAATCTTCCCCCGTAAGGTTGGCATACACAAC
+ATCCTGTCCCTGCATGGCCTGCTTCAGTGCTGCATGATTCAGTACATCCCCCATAATAATCTTGCTATTA
+GTTGGATAGGGTTTGTGGATTTTTGCTGGCTGACGGGCAAATAAAGTTTGTTTAATGGTTTGTTTATCTG
+CCAGTTGATTAATCACATGGCGGGCTATCTGACCGCCAGCACCAAGAATCAGTACATTTTTCATGAAACT
+TTTCCCAGATTATTGGCAGCAATATGCCAGGCCATATCACTATTACGGATTTGAATATGTTTCATTACAG
+AGTTTCCTCAAAGAACGGAGCTAATACTGAAATTGCTTCAGCCACATAGACTTTGCCATCATAAAGATCC
+ATATGGTTTGCGCCTTCAACAATGTGATAGCGTTTATCCTGGCTTGATGCTCGATCGTACAGGTCGTCAC
+TCATCCATTTGCTCCCAGCCTGGCTGCCCGCCACAATCTGTATCGGCTGAGTCAGGTACACTTCCGCCAT
+ATGGTAAGCATCATAGGTAATAATCTGGTTAAGGCTGCGCAAAGTAGCGTAACCCGGTGCTGTTGGATAC
+TGCGCGCGAGGGGTGTGGTAATATTCCCAGGCCTGACGCAGTTCTTCGTTCGGCGCATCGGACTCCTTCA
+TTGGTGCCAGTGGCATAGTGGCGTATTCTCCGCTGCTAATATCGCTGGTTCGGGCGTTTGAACCCGCGTC
+AACGTATGGTAGGGCATCAATAGATTTCACATTGTTTTCCCAACCATTACGGAACATCGAACCAATATTG
+ACCGCACTAACAGTACCGATGGCCTTGATGCGGCGATCCTGAATTGCAGCATTGGCTGTATATCCTGCAC
+CGGCACAAATTCCCATCGCACCAATTCGGGTATTGTCGACATAAGAAAGCGTTGTCAGGTAATCAATCAC
+GGCACTGACGTCTTCAGTACGAATGTATGGGTTTTCTAACTGACGCGACTCGCCGCCGCTTTCACCTTGA
+TAAGATGCGTCATAAGCAATAGTGACAAATCCCTTTTCCGCCAGTTTTTCGGCATAGGTTCCGGCCGTTT
+GCTCTTTAACGCCCCCACCTGGGTGAGATACCACAATTGCCGGATACTGACGGGTTTCATCAAATTTTGG
+AGGGAAATAGATCACTGCAGACAAAGAGATGGTTGGATTATTGCTGTTAGTGAAGCTGACTTTATTATTC
+ATCATTCCGTTCCTCATGGAGTTGTCGGTTCGTTTTAACGGTTGGTGATATCACTATAGATATTGATCAT
+TAAGTTGATTAGACCCAAAATCATGATTAGACCTATCATTTAAATGATTAATAGATTGTATGGAGATACT
+GAATGAAGCGTGAAGAAATCGCTGATCTGATGGCGTTTGTCGTCGTTGCAGAGGAGCGTAGCTTCACTCG
+CGCAGCAGCCCGCCTGAGCATGGCGCAGTCAGCTTTAAGCCAGATAGTGCGCCGTATAGAAGAACGATTG
+GGATTGCGGCTTCTGACGCGAACCACGCGCAGCGTTGTACCCACTGAAGCGGGCGAGCATCTTTTGTCTG
+TTCTTGGCCCTATGTTGCATGACATAGATTCTGCCCTGACATCCCTGAGCGATCTGCAGAACCGCCCATC
+CGGGACAATACGTATTACTACTGTAGAACATGCAGCAAAAACGATATTGTTACCAGCTATGCGCACATTC
+CTGAAATCGCATCCTGAAATTGATATTCAGCTTACCATTGATTATGGTTTGACCGATGTCGTTTCTGAAC
+GTTTTGATGCAGGCGTCCGTCTGGGTGGGGAGATGGATAAAGATATGATCGCCATTCGAATCGGGCCAGA
+CATACCAATGGCTATTGTTGGCTCACCGGATTATTTTTCTCGTCGAAGTGCTCCAACGTCAGTGTCACAA
+TTAATAGATCATCAGGCAATTAATTTGTATCTTCCCACATCGGGTACAGCAAATCGCTGGAGATTAATAC
+GCGGTGGACGTGAAGTTCGTGTTCGCATGGAAGGTCAGCTTTTACTGAATACGATAGACCTGATCATTGA
+TGCTGCAATTGATGGGCATGGATTGGCGTATCTACCTTATGATCAGGTTGAGCGGGCTATTAAAGGAAAA
+AAACTGATACGTGTTTTGGATAAATTCACACCAGATTTACCCGGTTATCACCTGTACTATCCACACCGTC
+GACATGCTGGCTCGGCATTCTCATTATTTATAGATAGGCTGAAGTATAAAGGTGCTGTTTAGCACTACTT
+GCTGATACATTAATTTAATTCTTCTCTTAACGTATTCTCAGTTCCTTTCAACGTTTTGGTTATTTTTTAT
+TCTTCGCACAATGGCGACAGATGCTGATTATGATACCGAAAACGGGTTTGAACGTGCGAAGCCCGAACGT
+AGTGCTCGGAGTTCTATGTGCTTTACCGCATTTTGGAGACTATTATTTACACTAAATCTGATTTGATATA
+TTGATACTTAAAACATTTGATGCTTCCTTTGTCACTTTTTTGATGGAAGTTGTTTGCATTTCTTTAAGGC
+GAAACAAATAATTACGCATCAATTTTAATGTCGGTTAGAGGGAAACTTATGAAGCACTCTGTTTCAGTCA
+CGTGTTGTGCGCTGTTGGTCAGCAGCATTTCTCTTTCGTATGCTGCTGAAGTTCCGAGCGGCACAGTACT
+GGCAGAGAAGCAGGAGCTGGTGCGCCACATTAAAGATGAGCCAGCGTCGCTGGATCCCGCTAAAGCCGTG
+GGCCTGCCGGAGATTCAGGTCATTCGCGATCTGTTTGAAGGACTGGTGAATCAGAACGAGAAAGGGGAGA
+TTGTCCCCGGCGTTGCGACTCAGTGGAAAAGTAATGACAACCGTATCTGGACTTTTACCCTGCGCGATAA
+CGCAAAATGGGCGGATGGCACACCGGTAACGGCGCAAGATTTTGTCTACAGCTGGCAACGTCTGGTGGAC
+CCGAAAACGCTTTCGCCATTTGCATGGTTTGCCGCGCTGGCGGGAATCAACAACGCACAGGCGATTATTG
+ATGGTAAAGCCGCGCCTGACCAGCTTGGCGTCACCGCAGTTGATGCCCATACTTTGAAAATCCAGCTTGA
+TAAACCGTTGCCGTGGTTTGTGAATTTAACCGCTAACTTTGCCTTATTCCCGGTGCAAAAAGCCAACGTA
+GCAAAGCAGTAAAGAGTGGACGAAACCCGGAAATCTGATCGGCAATGGCGCATATGTTCTTAAAGAGCGC
+GTAGTCAATGAAAAACTGGTCGTGGTGCCGAATACCCATTATTGGGATAACGCCAAAACGGTACTGCAAA
+AAGTGACCTTCCTGCCAATTAATCAGGAATCCGCAGCCACTAAGCGTTATCTCGCGGGGGATATTGATAT
+CACCGAATCCTTCCCGAAAAATATGTATCAGAAGCTGTTGAAGGATATTCCGGGGCAGGTTTATACGCCG
+CCGCAGCTCGGGACCTATTATTATGCGTTTAACACGCAAAAAGGGCCGACGGCAGATCAGCGCGTTCGCC
+TGGCATTAAGTATGACGATAGATCGCCGCCTGATGACCGAAAAAGTGTTGGGGACGGGCGAAAAGCCAGC
+GTGGCATTTTACACCAGATGTTACCGCGGGATTTACGCCGGAACCTTCGCCGTTTGAACAAATGAGTCAG
+GAAGAACTGAATGCGCAGGCAAAAACTTTGTTGAGCGCCGCTGGTTATGGTCCGCAAAAACCGCTGAAGC
+TGACGCTTTTGTATAACACTTCAGAAAACCATCAAAAAATTGCGATTGCTGTAGCATCGATGTGGAAAAA
+GAACCTGGGCGTAGATGTTAAATTGCAAAACCAGGAATGGAAAACCTATATCGATAGCCGTAATACCGGC
+AATTTTGATGTTATCCGCGCCTCGTGGGTAGGGGATTATAATGAACCCTCCACTTTCCTGACATTATTAA
+CGTCAACGCATTCCGGGAATATTTCACGCTTTAACAATCCGGCATATGACAAAGTTCTGGCCCAGGCATC
+GACGGAAAATACCGTTAAAGCGCGTAATGCCGATTACAACGCGGCAGAAAAAATCCTCATGGAGCAAGCA
+CCGATTGCACCAATTTATCAATATACCAATGGACGATTAATCAAGCCGTGGCTGAAAGGTTATCCCATTA
+ATAACCCTGAAGATGTGGCGTACAGTCGGACTATGTATATTGTGAAGCATTAATGTGATGGGAACTGGCG
+TTACCCTTGTGGATAACGCCAGTGATGTCTGATTTAGCGACCCTGGTCCGGCGGTGTAATGTTATCCATA
+TACAGCGTCTGGCTGGGGAAGGCAAAGTCCGCGCCGTGTGACTGTACAATATCGATAATCTTCAAATAAA
+CGTCTTGCTGTGCGGCAAGCCACTCAGCCCATACCGTGGTTTTGGTAAAGCAATAAACCATAATATTTAA
+TGACGAATCAGCAAACTGGTTGAAATAAACCAGTAAGGTTTGTCGCTGGTCGATGGCCGGGTGATTTTTC
+AGCATCTCACGTACGGCTTCGACAATAACGCCCACTTTTGCCGCATCCTCATAACGTAAACCAATGGTCG
+TGGTAATGCGCCGGTTGGTCATTCGTCCAGGATTTTCTACGCTGATCGACGAAAACAGCGAGTTCGGTAC
+GTACAATGGACGATTATCAAAGGTCTTAATTTTGGTAATTCGCCAGCCAATTTCCGTTACTGTACCTTCG
+ATATTTCTGTCCGGTGAACGGATCCAGTCGCCAATACTGAAAGGACGGTCGAAATAGAGCATAATCCCGG
+AAAAGAAGTTACTCAGAATATCTTTACCGGCCATACCGACAGCCAGACCACCAATACCACCAAAGGTCAA
+CAAGCCAGAAAGGCTCATGCCGAAATGTTCGCCATAAAGCAGAACAAGCACCACAATAATGGTGATTTTG
+ATAATGCGCGACATGATCCGCGCACTGGTGATATCGCGACCTTTTTTAATCTGCTGTTTTTCAAACTGAT
+TAATCAGCAGAAATAGCTTAATCGTCAGAATAACCGCAATCAGGGACGTACAGATAAAATCGATAACGCC
+TGGGGTGATAAATTTGAGTTTATAGTTTTCTATAACATAGTTAATGATGCTACCAACAGCACTAATAATT
+ATGGTGTAGATTAAAAATTGCACCGCATGGAATAAAAATCCTTTTCTTTTACGATCTCCACGGCGAAACC
+AAAAGCTCATCAGAATCAATGCTGCGCAGCTACCGAAAATAATGACCAGATTAAGCGCATTATTTGTAAA
+CAGTTCAGCGATCATTGTTTTATCAGGCTCCTCCAGATAATTGTCGTCATGCCGGAAACCCCTGGCGGGA
+CTATTTTACCGCGACAATTCATTCAGATCATCAATAGTCAGGGAAGGAAGTAGCAACATTAGCTAACTAA
+TCAATGCGTTGATTGTAAATCCAGCTAAGAGGTGAGATTTTCAGAGCAGACAACGGTGAAATGTCATGGT
+ATTGTTACGTTTAGGTAACAAGAAATTTGTCTGCACAAGGATTACATCATGATTATGGCGAAACTGAAGT
+CAGCGAAAGGGAAGAAATTTCTCTTTGGTTTGTTGGCGGTTTTCATTATTGCGGCGTCGGTTGTGACTCG
+CGCGACCATCGGCGGCGTTATAGAACAGTACAATATTCCGCTGTCTGAGTGGACGACATCAATGTATGTG
+ATTCAGTCATCGATGATTTTTGTTTATAGCCTGGTCTTTACTGTGTTGCTGGCAATCCCGTTGGGAATTT
+ATTTCCTTGGCGGCGAAGAGCAGTAAGTAAAAAATAGGCCCGATAACTCGGGCCTTGTCAGTTATTGAAG
+AGTCGTTAATCGTCTTCTTCGTCATCCAGTTCAACGGGTGTCTGATACTGGTCAGGTTTAATGACCAGCA
+GGTCGCAGCGAAGATGATCAATCACCTGTTCCGCCGTGTTGCCAAGGAATGCTGCTGAAATACCGGTGCG
+TCCGACCGTGCCCAGAACCACAATCCCCGCCTGTAAGTGCTCCGCCAAATCAGGAATCACCTCTTCGGGC
+AGACCTTTTTCTACGTGCGTCATGTTTTCATTAATGCCGAATTTCTGTCGCAGAGCTTTCATTGCCAGCA
+AATGTTGCCCACGAATGGCATCGTTATAAACGCTCGGGTCAAATTCCGGCAGTTCAATCGCGATATTAAT
+TGGCGTTACCGGATAAGCGCCAACCAGATGAACTTCGGTATGGTTGACTTGTTCTGCCAGTTCGATCGTC
+TCTTTGACCAGTTTTTCATTGAGCGCATTATGGTACGGCTCTTCACTGGCGAGATTCACCGCCACCAGCG
+CCTTACCCCCTTCCGGCCACGGCTGGTCTTTCACCATCCACACGGGGCTTGGGCATTTGCGTAACAGATG
+CCAGTCCGTTGGCGTAAAAATCACCGCTTCCAGACGGTCATGTTGGTGCGCCATTTTTAGCACCAAATCG
+TGCCCGCCGCTGATCACTTCCTGAATGATGGCTTCGAAAGGACGGTTATGCCAGACCACTTTAATTTCAA
+TGGGAACGCCAGCATTGAGATAATATTTTGCCTGCTCGTGGATCCAGGCTGTACGCTGGCTGATGACGCC
+CTGACGCATAGCGGTACGTTCGTCCGGAGAGAGCAGGGTGGTCATTTCGTATGAGAAGTCATAGATCGGC
+AAAAAGGCTTTAATTTTGCCACCAATCCGTTGATGTAAATAAACAGCTCGCCGCAATGCTGGTTGGTCGT
+CCTGGTTAGGATCGATAACAACGAGCATGTTCTGATACATAGCCATACAGGGTCTCCTTACAACAACTGT
+CAACGCAGTTTGTAATTAAAAGATTAACCCATATCTGGTGAATGAAACAGTGATGAACCTTCTGTCAGAT
+CAATAAATCAGAAAAATTTAATGATATGACAGAAGGATAGTGAGTTATGCGGAAGAATCAGGCAACGTTA
+CGCGTGTGACCAGCAAGCTGGGCCAGCGCATCGTTATTTTCGATAGTGATGTATTTACCTTTGACTGCCA
+GCATACCGCTTTTCTGGAAGCGACCCAGCAGACGGCTGATGGTTTCAACCGTCAGGCCCAGATAGTTACC
+GATATCACCACGAGTCATCGTCAGGCGGAATTCACGAGGGGAGAAGCCGCGTTGGGCAAAACGACGGGAC
+AGGTTGTAGATGAATGCAGCCAGACGTTCCTCGGCATTTTTCTTCGACAACAGCAGGATCATGTCCTGAT
+CGCCTTTGATTTCACCGCTCATCAGACGCATCATCTGCTGACGCAGATTCGGCATTTTACCAGACAAATC
+GTCCAGCGTTTCGAACGGGATTTCACATACCATCGAGGTTTCCAGCGCCTGCGCGAAACTCGGGTGATGA
+CCGCTGCCGATGGCATCAAATCCCACCAGATCGCCTGCTAAATGGAAACCAGTGATTTGCTCGTCGCCTT
+GCTCAGTGATGGTATAACTTTTAATCGTACCGGAGCGGATGGCATAAAGCGATTTTAGTTCATCTCCAGC
+CTTAAACAGCGTCTGGCCTTTCTGAATAGGCTTCTTCCGCTCAATGATATTATCAAGCTGATCAAGCTCA
+TGTTCGTTGAGTGTGAACGGGATGCAAAGCTGGCTGATGCTGCAATCCTGGCAATGGATAGCACAACCGC
+CAGACTGAATGCGCCGTATAATTCGCTTTTCCGGGATCATAGGTCTGCTCAAGCCGTAATTGATATTTGT
+CAATTTTAACATCTTTTTAGGGAGCAAGTAAGTCTAAGCAAACCTTAACAGCAGAGAATTCCGATATTAG
+ATGTAAATATATGTCTATCTATTTGAAAACCCTTAAGTTGTTAAGGGTGACTTTACATAAAAGTGTGAAC
+AAGCTGGCACAAATTGTTTAATGTTTACAGCAAAAGATAACCTTCGTGGCGCAATAACCACTCTTTTCGC
+TGAACTCCGCCTGCATATCCGGTCATGGTGCCGTTTCGGCCAATAACCCGATGGCAAGGTACGACGATGC
+TGATGGGATTCGATCCGTTTGCCGCACCAACGGCACGCGCCGCGCCAGGGCGGCCTAATTGTTCAGCCAG
+TTGGCCATAATGCATTACCTGCCCGCAGGGGATAGTGCGCAGTGTTTTCCAGACTTCGCGCTGAAATGGC
+GTCCCCCCCGTGGCAGTGGGAAGCGTATCAATAATGCTAAGATTACCGGCAAAATATTCACGAAGCTTGT
+CGCTTAAACCACCTGGGTTGGTGGCAGAAATGCGCTCATAGCCATCTTTGCGATAATGGATGTCCAGCAG
+CTGCACCATGCGTTCGCTGTACTCTTCCCATTCAACCGCCCGCAGGCGAAATTGCTCATCGCAAATCACC
+CACAGTGGACCCAGTGGCGTGGCAATTTTTTCTTCAAGTAATCTCAGCATCCGTTCTCTCTTAAGACAAA
+CGTGGGTAAATACCCGGACCTATCGGCAAGCCAACAAGATACCACGCCAGCAACATCAGCAGCCATACCA
+CCGAAAAGATTAATACTAACAAAAAGTAAGTACCAGGTTTAGCGTCTGGTTTGTCGAAGTATTTAAGCAT
+AAAGCGATTTTTTGATTTTTCTGCCTGAAGAAATGAGGGCAAGCCATCAAATTCCAGTCAGCGAAATTTT
+ACCGTAGGCTATCCGTTATTTGATTCTGTGGCGTGATAGCCGCCAGACACCACTGATCTCGTCACTCATT
+CCCCAATCCCGGCGAGAATGTGCTTATTTACAGAGCTAAAAAATGAATAAAAAAATAGAGCCTGTCGACA
+TCCGCCAGACTCTACAGTACACACAGCAGTGCATCCTCGTCTTAAATCCGGCCTGGGGTCCTGGTGACCG
+GTGACAGTGTTATAACGGTTTTACCCATCCGTTGCCAATTTTCTTCAGTGACAGATTTCACGAAAATATA
+AGTTAAATCATTTGTCTTGTGATTGCATAATCATGCATCGTTAATCGACGAGTAAATTTACCGGGTGAGT
+AGCCCGTTCGACGCTTAAACATATTGCCGAACGATTCAGCTGAGGCATAGCCCAGACGATGGGCAATTTT
+GGTCAACGAATATCCATCATCAAGAAGCGTCACTGCAGAAATAACGTGCATTTGCTGAACCCAGTGGCGA
+AATGTTAATCCCGTCTCTTTAACAAATAAGCGCATGAGTGTACGGCTACTGACGTTAATTTTATCCGCTA
+GATTATCCAGTGTTGGCAGATACCCTTGGTTGTTTAGCAAATTCTCACAAAGCTGCTGTAGCCGCTCATC
+ATTTGGCCAAGGGAGTTCAAGTGACATTTTCACCCCCATTTTTATTTCCTGAAGTATCAGTGTCTCGAGG
+GCTGAAAAACGTAACTGTTGTTTATCTGTGGTACTTTGCGACGGTGGAAGTTGGTTAATTGCAATTAGTA
+ATTCCCTTAACAGGGGTGAAATACCCGTCATGAAGCAAACTTTTCCCAGCGTTTCACTTTCCGCTTCTGA
+AACCAGTACGGTTTTTAAAAGTACGTTGCCTGTCGCAACAAACTTATGCGGCATTTGTGGGGGCAGCCAA
+AGCGCGCTGCTGGCATGCACTAGCCAGACGCTTTCTCCAGCCCATATACGAACGACTCCTTCAGCCGGGT
+AAAGCAACTGGGCATAGAGATGTTTATGCCAGGGAACTGTGCCTCCATTCAGATGTTCCGAATCCAGTCC
+GATAATGTGATGCCCTGGTGATGCTTTGGGTTGCAGTGTGATTGTCATTTACAGTAGGTATTTTGTCAGA
+AATCATCAAATAAGCCATGTTAAATTTTAAATATGACGTATGCAAGTTTCCGGATATATACGGTGTAAAG
+AGTGATGATAATTTCTAAAAAACAGCTTATTGGGGTGGTAGCGATCGGTATTCTTTTGGCTGGCGTTGTC
+TTTTTTATCTGGTGGGTAAGCAAAGGAAGATTTATACAGACGACGGATGATGCTTACATTGGTGGTAATA
+TCACCACGGTGGCAAGTAAAGTTTCTGGTTATATTTCTGCTATAGAGGTGCGCGATAATCAGAGTGTAAA
+AAAAGGCGATATTATCCTGCGTCTCGATGATCGGGATTATCGTGCAAATGTCGCCAGGCTTGAGGCAAAA
+ATAAAAAGTAGCAAAGCCAATCTCGAAAGCATTCAAGCCACTATTGCGATGCAGCAGTCGATAATTCAAA
+GTGCCAGTGAAACATGGCAGGCAGTAAAACATGAGGAGCAAAAGCGCCTGCGAGATACTGAACGTTATGA
+AAAACTCGCACAATCAGCGGCAATATCGCAACAAATTATTGATAACGCCAGGTTTGACTACCAGCAGGTC
+GCAGCAAAGGAGCGCAAAGCCGCGAACGATTTCCTGGTGGAGAAGCAACGGCTGGCAGTTTTATCTGCTC
+AGGAAGAAAACGTACGTGCAAGTATCGAAGAAGTTCTGGCCGCTTTGACTCAGGCACTACTGGATCTGGA
+ATATACCCTTGTTCGTGCGCCGATTGATGGCATTGTCGCAAACCGCAGCGCCCATACAGGCAGTTGGGTG
+GAAGGCGGCACATCGTTAGTTTCACTAGTACCAGTCAGTGAGTTGTGGGTTGATGCAAATTATAAAGAAA
+ACCAAATAGCGGGAATGAAGCCAGGAATGAAGGCTGAGATCCGTGCTGATATTCTCAAAGGGGAAGTGTT
+TCACGGTCACATTGAAAGCCTTTCCCCAGCGACAGGAGCCAGTTTCAGCTTGATTCCGATAGAAAATGCC
+ACTGGCAATTTCACCAAAATTGTTCAGCGTGTCCCGGTACGGATTGCATTTGACGACGCAAAGGAATTAA
+AGCAACTTCTTCGCCCGGGACTGTCCGTCACCGTCAGTGTTGATGAGAGATGATGTCTATGCGTAAACAT
+ATTGCTTTCGCCAGTATGTGTATTGGATTATTTATTGCTCAGCTTGATATTCAAATTGTATCGTCATCCC
+TAAATGAAATAGGTGGTGGTCTGTCCGCAGGTAAAGACGAAATGGCCTGGCTTCAGACCAGCTATTTAAT
+TGCCGAGATTATTGTTATTCCGCTCTCTGGGTGGCTGTCACGGGTATTTTCCACTCGTTGGCTTTTTACT
+CTATCCGCGGGAATATTTACTTTAATGAGTATCGCTTGTGGACTTGCATGGAATATTCAGATCATGATTT
+TTTTTCGTGCTTTACAGGGAGTTGCTGGCGCATCCATGATCCCTTTAGTTTTCACGACGGCGTTTATTTA
+TTACCAGGGTAAAGAGTTGGGGTTGGCTGCTGCGGTAGTCAGTGCGCTGGCCTCACTGTCACCGACGCTA
+GGGCCAACTCTGGGGGGCTGGATCACTGATAACCTCGACTGGCGATGGCTATTTTATATCAATATATTAC
+CGGGCATATATTTAGTTTTGAGTATTCCTTTTCTGGTTAATTTTGATAAACCTGATCTCTCTTTACTGAA
+AGTTGCTGATTATCCGAGTATTATCCTGTTGGCCATGACACTGGGATGTCTGGAATATACCCTTGAAGAA
+GGAGCGCGCTGGGGATGGCTGGATGATAATACTATTTTGCTGACATCAGTTCTGGCATTGGTGAGTTTTA
+TTTTATTTGCTGCGCGTACACTTAAAATATCCAATCCGATAATGGATCTTCATGCTTTTAAGGATAAAAA
+TTTCACACTGGGATGTTTCTTTTCTTTTTCTGGAGGGGTTGGAATATTCTCTACTGTATATTTAATACCT
+GTGTTTTTGGGGCAGGTTCGCGGATTAAATGCCGAAGAGATAGGTTTTGCCGTTTGCACAACAGGTATTT
+TCCAGTTATTTTCTGTTCCCTTTTACTTCTGGTTAAGTAAAAAAATAAATCTGCGATGGCTGTTGATGGC
+GGGGATGGGTGGATTTGTGTTTTCAATGTATCTTTTTACCCCTATAACCCACGAATGGGGATGGCAGGAG
+TTACTGTTTCCACAGGCAATTAGAGGGATTTCGCAGCAGTTTGCGATGGCCCACATCGTAACATTAACGC
+TGGGGGGAATTCCAAAAGAACGGCTGAAGTTAGCCTCTGGTGTATTTAATTTAACACGTAATCTTGGGGG
+CGCAATTGGTATTGCCCTGTGTGGCTCTATTCTCAATAATCGAACTAATTTTCATTTTTCGAGAATGGGT
+GAAAAAATGGTTTCTGTTCCCCATACGGTGAATGACTTCATTTCCAGAAGTGCTTTGTTTTTTAATCGCA
+GTGGAAGTGACCAGACATCGGAAATACTGGCTTCAACCAAATTATTGAGTCAATTGATGCTGAGGGAGGC
+GCAAACTATGGCATTTTCGGATACCTTTCTGCTAATCAGTGGTCTGTTATTTATCGCATTTTTGTTGGTT
+CCTGCTATGAATAAATCATCCTGATCGGAGCCTGTGCTGAATTAAACTCGGGCTAAACTGTTCGATACTG
+CTAACAGGCTAGTATAAAATGCCCCGCCTGCGCAGATACTCACAGGTATGAAGTAGAGTATTGTTTCAAT
+CTGTGAAGGGAACGATGCAGTAAGTATGAACAATTAACCCGTCTGAATCACGACGTGTGAAGGTGCATAG
+GAGGTTACATGAACCTTGACGACAAATCGCTGTTTCTTGACGCCATGGAAGATGTCCAGCCGCTGAAACG
+TGCTACAGATGTCCACTGGCATCCAACGCGTAACCAACGTGCGCCGCAGCGTATCGACACGCTGCAACTT
+GATAATTTCCTCACCACCGGATTTCTCGACATCATCCCGCTAAGTCAGCCGCTGGAGTTTCGGCGGGAAG
+GGTTGCAACATGGGGTGCTGGATAAGCTGCGCAGTGGTAAATATCCGCAACAGGCGAGCCTGAATCTTTT
+GCGCCAGCCGGTGGAAGAGTGCCGCAAAATGATGTTCAGTTTCATTCAACAAGCCATGGCGGATGGTTTG
+CGTAACGTGCTGATTATTCATGGCAAAGGACGGGATGATAAATCGCATGCCAATATTGTCCGCAGCTATG
+TGGCGCGCTGGCTGACCGAATTTGGTGATGTTCAGGCATATTGCACTGCGCTACCGCATCATGGCGGCAG
+CGGGGCGTGTTACGTCGCACTACGTAAAACAGCGCAGGCGAAGCAAGAAAACTGGGAGCGCCACGCTAAG
+CGCAGTCGTTGATCACGAGACGCATCCGCGGCTTATGCCGCCAGCACGCGGTTGCGTCCATCATTTTTCG
+CTCGATACAAAGCATCATCAACGCGTTTAAACAGTTCATCGATGCTTTCATTTCCTTCGTGGTGCGCCAC
+ACCAATGCTGACGGTAAAGCGTGGTAAGCCCGAAATACTCACTTTTGCCACGCTTACGCGGATAGTTTCA
+GCCAGCGAAAGCGCGGTATCCAGTGGGGTTCTTGGTAGCAATAAGACAAACTCTTCGCCTCCCCAACGAA
+ACACCAAATCGCCTTTGCGAGCGCAACTTTCGAGGGTGCGGGCGAGGGCGCATAACACCTCATCACCTTT
+AGAATGCCCATAGAGATCGTTAATGTGTTTAAAACGATCGGTGTCGATGAGCAATAAGCTGTAATCCTGA
+GCGATGGCGAGGTGCTGCATTTGGCCTGGCTCGGTAATGTGATAAAACTGTCGCCGATTCAGTAATCCTG
+TCATCGCATCATGGTGGGCAGCATGTTCCAGCTGCTCCTCCAGCCGTTTTTGCTCAGTAATATCATGCAC
+AATACATAACATGAGCTTGTCGCCATAAATTTCAATCGGCCCGGCATAGGTCTGCACATGACGAGTCGAA
+CCATCCGCCAGTTTATGAATAAAATTCAAAGGTTTATGACCACCGGGTAAATGCGAGATTTCATGCATGA
+TAGGCATGACGCGACGCCCGAGCATATTAATTTCCCAGGTATGTTTCTGGCACATCGTTTCATGGTTATA
+ACCATAGAAATTGAGCGCGGCGAGGTTAGCATCGACGATTTGGCCATCTCGGGAGGGGTCAATCAACAAC
+ATTGGTGCAGAGTTAGTCAGAAAAAAGCGCGCATAAAAACCTTGTTTTTTGCGCTGATAATTTGCCGAGC
+GACTGGCTTTTAAACCCAGCGTTGCCGGTGCTTCGATACCTTCGAAAATAATCACCGGTTCTGTTTCTGT
+CAGCTCTCGCAAAACAAGCCGACAGCTTAATGCTGTTTCCTCTTCTTTACGCTGAACGGTGAGGATTTCG
+ATAATATCGTGTTGATTTTGCAGATCGGAGAGGTATTTCGGCAGTTCTTTTTGTGAGGAGACGGAATAGG
+GACCGGTTCGTAGCTGACTAAACGTGAGGTCTTGCATCAACAGTCGCGCCGCGCTGTTGGCATAAATTAA
+CTGTTCCTCAAAGGGCGAAACGATCCAGACAGGACTGGTGAGTAAGTCCAGGGTATTGAAGTTGTGTGTA
+ATCATTGAGATCCCATTATTTTTATCAATTTTTGTTGCTATCCGATCGCAAAAAAGCCACGTCATATGAT
+CAGATAATTCTGATAATGATAGACGCTATTTAACACTTCACACGGTTTGTATACGGAAAAGCATTTTGCT
+TTTTGTATTCAATTTAGACAGAATTTTATTAATCATTTCAGGGTAATGGGGTGATGAGATGTTGCGTAAC
+AGGGCCAGAAGGCTAGACTACAAAATAATGCGTTGATGATGGAGGCACTGTGGAAGCGATTAAGGGATCG
+GACGTTAATGTCCCGGATGCAGTATTTGCCTGGATGCTGGATGGTAGAGGCGGCGTTAAACCGCTGGAAA
+ATACAGATGTGATTGATGAAGCGCATCCCTGCTGGCTCCACCTTAATTATGTACACCATGATAGCGCCCA
+ATGGCTGGCGACAACACCGCTGCTTCCCAATAACGTACGTGATGCGCTGGCGGGCGAGAGCACACGGCCC
+CGAGTCAGCCGTCTCGGGGAAGGCACGCTGATTACATTGCGCTGTATAAACGGCAGCACCGATGAACGCC
+CCGATCAGCTGGTCGCCATGCGTGTATACATGGATGGGCGATTAATTGTTTCGACCCGACAACGCAAAGT
+GCTGGCGCTGGACGATGTGGTGAGCGATCTGGAAGAGGGCACTGGTCCGACCGATTGCGGGGGGTGGCTG
+GTGGATGTGTGCGATGCGTTGACCGATCATTCCAGCGAATTTATCGAGCAGCTGCACGATAAAATTATCG
+ACCTCGAAGATAATCTTCTCGATCAGCAAATTCCACCGCGTGGATTCCTGGCTCTGCTGCGCAAACAATT
+AATTGTGATGCGTCGCTATATGGCACCGCAACGTGATGTTTATGCTCGTCTTGCCAGTGAACGTATGCCG
+TGGATGAGCGATGACCAACGCCGTCGGATGCAGGATATTGCCGATCGCCTTGGGCGCGGTCTTGACGAAA
+TCGACGCCTGTATAGCACGGACTGGCGTGATGGCTGATGAAATCGCTCAGGTGATGCAGGAAAATTTAGC
+TCGTCGTACCTATACAATGTCGTTGATGGCAATGGTCTTTTTACCCAGTACGTTTCTGACAGGGTTATTT
+GGCGTCAACCTTGGTGGGATCCCTGGCGGTGGATGGCAATTCGGATTTTCAATTTTTTGTATTCTGTTAG
+TTGTTCTTATTGGTGGTGTTGCTTTATGGTTGCATCGTAGTAAATGGTTGTAACAAAAGCAATTTTTCCG
+GCTATCTGTATACAAAAACGCCGTAAAGTTTGAGCGAAGTCAATAAACTCTCTACCCATTCAGGGCAATA
+TCTCTCTTGCAGGTGAATGCAACGTCAAGCGATGGGCGTTGCGCTCCATATTGTCTTACTTCCTTTTTTG
+AATTACTGCATAGCACAATTGATTCGTACGACGCCGACTTTGATGAGTCGGCTTTTTTTTGCCTGTTATT
+TATCAGCGTCTACCCTTTAAGAGTCCACCCAATGACCGGAGGGAAATATGACGACACTTATTTATTTGCA
+AATTCCTGTCCCTGAACCGATTCCTGGCGATCCTGTTCCAGTGCCCGATCCGATCCCTCGCCCGCAACCC
+ATGCCTGACCCACCACCCGATGAAGAACCGATTAAATTGTCGCATCGTGAGCGTAGATCTGCGAGGATAC
+GCGCCTGCTGACTTTGCGTCGATGACCACGAGAATAGATTGTGACCGCTTTTTCTACCCTGAATGTTTTG
+TCTTCCGCCCAACTCACAAACCTTAATGAGTTGGGTTATTTAACCATGACGCCGGTGCAGGCCGCCGCGC
+TTCCGGCGATCCTTGCCGGAAAAGATGTTCGCGTGCAGGCGAAAACCGGCAGCGGCAAAACGGCGGCTTT
+TGGCCTCGGCTTGTTACAGCAAATTGATGCGTCGCTATTTCAAACCCAGGCTTTAGTGCTGTGTCCTACG
+CGTGAACTGGCGGATCAGGTGGCAGGTGAATTGCGTCGGCTGGCGCGTTTTCTGCCAAATACCAAAATTT
+TGACGTTGTGCGGTGGTCAACCGTTCGGTATGCAGCGTGATTCGTTACAACATGCGCCGCATATTATCGT
+GGCAACGCCGGGCCGTTTGCTGGATCACCTGCAAAAAGGCACTGTATCACTGGATGCGTTGAATACGCTG
+GTGATGGATGAGGCCGACCGCATGCTGGATATGGGATTTAGCGACGCCATTGATGATGTCATCTGTTTTG
+CGCCAGCATCTCGGCAGACACTTCTGTTTTCGGCAACCTGGCCGGAAGCCATTGCCGCAATCAGCGGAAG
+AGTGCAACGCGATCCTTTAGCGATTGAAATTGACTCAACAGATGCTCTGCCACCTATTGAACAACAATTT
+TATGAGACATCCAGCAAAGGCAAAATTCCTCTGTTGCAACGGTTATTAAGCTTGCATCAGCCATCCTCTT
+GCGTGGTGTTTTGCAATACCAAAAAAGATTGCCAGTCTGTCTGCGACGCGCTGAATGAAGTAGGGCAAAG
+TGCATTGTCGTTACACGGCGATCTGGAGCAACGCGATCGCGATCAGACCCTGGTACGTTTTGCTAACGGT
+AGCGCCCGTGTACTGGTCGCGACTGATGTTGCTGCGCGTGGTCTGGATATAAAATCGCTTGAGCTGGTGG
+TGAACTTTGAGCTGGCGTGGGACCCTGAAGTTCATGTACATCGAATCGGTCGTACAGCTCGTGCAGGAAA
+TAGCGGTCTGGCGATCAGTTTCTGTGCCCCGGAAGAAGCACAGCGGGCCAATATCATTTCTGACATGTTG
+CAGATAAAACTTAACTGGCAAACGCTGCCAGCGAATAGTTCCATTGTGCCGCTGAAAGCAGAAATGGCAA
+CGTTGTGTATCGATGGCGGGAAAAAAGCCAAAATGCGCCCGGGTGATGTATTAGGTGCGCTGACAGGAGA
+CATCGGGCTTGATGGCGCAGATATTGGCAAAATTGCCGTGCATCCGGCGCATGTCTATGTCGCGGTGCGT
+CAGGCTGTTGCTCATAAAGCATGGAAACAGCTACAGGGTGGGAAGATTAAAGGAAAAACGTGCCGGGTGC
+GGTTATTAAAATAATGAAATGTTGAATTGCAGGGTGCAAGAGTAAACATCTTCTTCGGGATTGCCGGATG
+TGACGCTGGCCGCGTCTTATCCGGCCTCCATAAGAGTAGCCCGATACGCTTGCGCATCGGGCGCTATCCG
+GGTTATTTCACTTCAACCACATTCAGCCGTAACTCATCCAACTGATTTTCATCTTCTTCAGGCTGCCAGC
+CCGCTGGTTGTAGTGGGATCTCTTCGCGATCAAACGCCAGATCACCCCCGTTAACCACTTCAGAACCGTG
+GGTAATGCCTTTGAAATCGAACAGGTTGGTATCGCACAGATGCGACGGCACCACATTCTGCATTGCGCTG
+AACATCGTCTCGATACGCCCCGGATAACGTTTATCCCAGTCACGCAACATGTCAGCAATTACCTGACGTT
+GCAGGTTAGGCTGTGAACCGCACAGGTTGCACGGAATAATCGGGAACGCTTTTGCATCGGCAAAGCGCTG
+AATATCTTTCTCGCGGCAGTAGGCCAGCGGGCGAATCACGATATGTTTGCCATCATCGCTCATCAGTTTC
+GGAGGCATACCTTTCATCTTGCCACCGTAGAACATATTTAAGAACAGCGTTTGCAGGATATCGTCACGAT
+GGTGACCCAGCGCGATCTTCGTCGCCCCCAGTTCCGTTGCGGTGCGATAAAGGATACCGCGACGAAGACG
+AGAACACAGTGAGCAAGTGGTTTTGCCCTCCGGAATCTTCTCTTTCACGATACCGTAAGTGTTCTCTTCA
+ACAATCTTGTACTCAACGCCCAGCGTTTCAAGATACTCGGGCAGAACGTGTTCCGGGAAGCCCGGTTGCT
+TTTGATCGAGGTTAACAGCCACCAGCGAAAAATTGATTGGCGCGCTTTGCTGCAAATTGCGCAGAATCTC
+CAGCATGGTATAGCTGTCTTTACCCCCGGAGAGGCAAACCATGATGCGATCGCCTTCTTCAATCATATTG
+AAGTCAGCAATGGCTTCGCCCACGTTACGACGCAGACGTTTTTGTAATTTGTTCAGGTTGTATTGTTCTT
+TCTTTGTAATTTGTTGATTTTCTTGCATTATTTCAGTTCTCTGGTACTAAATGGGGCATATTGAGGGCAA
+ACTTTGCAACTACGATAACCGCGCATTCAACATGGCTACCTGTTCGTCGTTCATGTCATCAATCCACATA
+CCGTAAATTTCATACACCATCTGCGCAGTTTCATGCCCCATCTGGCTGGCTATAAATGCCGGGTTCGCTC
+CTGCCGTCAACAGCCAGCAGGCAAAAGTATGTCGCGTATGGTACGGATTACGGCGGCGAATACCAGCACG
+TTTTACTGCTGCATTCCATCTCGCTCCCAAATAGTCGTAGTGAAATCTGATGGGAAAGCCTTGCTTAGCA
+TGCTGGTGTTGCGCTACCCGTACAGGATGCGGTAACACAGGAAGAAATTAGAACAGAAACTGTGGCGGAC
+ATTGTGCATTCGTTGCCAGGCGGAGAAATAGAACGCTACAACAAGTGCAGAATATAATTTTTCGCAAGTG
+CCAGAATAGCGATATTATGCAGTGTTTTTTAGTTTTCTATCAGGGGATATTTTGTGAAACTTTTCGGTGA
+ATAAAATAATTCTCTGTAATAAATGATGGGTATGGTTGGTGGTTATATTTGCGCATGGAAATATTACATT
+GGATATGAATGTATTTCAAATGAAAGAACCATGACACCCGAATGGAGTTAGGGATTCATTACGTATCTAA
+TCTAAAGAATAAGAAAAATACTTAATTCATTGTGGGTGGTGATGATATCTTGATATGTAAAAATGGTTCT
+CTTAATAAGATGTAACTAGCTTATTACTTATCCATAGCACAAGAAATGGTCCTGTATCTGCGTTGCCATG
+AAATAAGATAGGCCTAAATGTAATAAAGAGTTGCATGACAAAATTACTAAAGTTCACAATAAAAAAGAAT
+TAAGTTTTTTGTTCAAGTATTTTTTTAGTGTATTGTTTTGAAATGTTCTACGCTGCTCTAACCTTCAGTC
+TGAAGAGGGCTTGAATCGTGATGTCAGTTCGATTGACATAATGTTATTAATAATGTTTACGTTTGAATGT
+GAAATATGCTTAACTATGCCTTGATTGTTAATCACAGGGACTGACTATGAGAAAAATACTGATGTATTTA
+TGTATTAGCATATGGATTGTTATATCATGCGTGCCTATCATATTAACTAGCGAGTATTTAACAGAGGCGA
+GTATAATGGCATTGATGTTTGGTCATGCCAATGCACTATGTATTGGGGTTTTTATTTCTATTATTTATAT
+AGAATGCTGGAGGTAAATAGTGTGAACAGCATTAGTTTGATGATTTTATACTGAACTAAAGGGGGAAAGA
+GGTAACGAAAAAAGACCTCCACCAGGTACGAATCTGAGGCGGGCAGATGGAGGTCGATATCTACACGATT
+AAATTGATAAGTAAAAGTCCCATCAGGGATTGATTTGTTCGAGTCTAATTTAAAGTAATTTCAACGATTT
+GGCAGAATTTCTTAGAGTTAATGATTTTCAAGTTTTCGATTACCAGGAAAAAGGCTGGGTGCTGATAAAA
+TAGTCATCTGCATTCCTTAAATTGTGTAAGGGTGAAAGGATAAAGTTCAATTTAAAGGCGGTGCAATATT
+AGCACCATCTTATATATGTAATGATTGATTTGCCTCTTTATTCTACTGTTGAGATTATTGTTTCCGAAAA
+TTGATTATTATAAGCGCGAAAAGAAATGCTACAGCAAATAAGAGGACGATTGTCGGCGCTGGGGCTCTAT
+CGAGAAAATATAATAACCATACACCTGATATTGTTATTGATATCGTTACGGCGATAAGTAATGCCTTATG
+AAAGCGATGCGTGATGAGGACAGCAATAGACCCTGGAGCTATTAATAGTATATAGACAGAATAATTTCGA
+CTGCTTTTAATGTGGCAAAAATGGTAGGCGATACCATGCAGAGTAAACCGTAATGTAATAATGATATCTG
+TAATCCGCTGACTTGTGCCTGTTGATAGTCAAGACAAAAATTCCTGAAAAAACGATACCTATAATGGTAT
+CTTTCTTTATGATGCTATTATCTTTCAGATAGCCAGTTGCAATTGCACAAGACAGTCCTACAATAAATGC
+ACCAATTCCCAGCGGCATACCTATAATCCAGGCTAGAACTATGCCAGGAAACATTGCGTGGTTCATTGCA
+TCTCCTATTAGCGCCCAGCCTTTTAATACCAGGAAAACTGATAATAATGCACAGGGGAACGATATTATAA
+TAGCGATTATCAATGCATAATTCATAAATTTAAATTGTAATGATTAGAGGGGAAAATGTCAGCACATTTG
+CGAAATGAATCAAAAAGCCCGCAGCAATGTGCGGGCGTTAGTGTCAGCGCACAACCAGCACGGAGCACTC
+TGCGTGACGCACTACAGCTGCGGCGTTAGAACCGAGCAGATAAGTGGTGATATCCGGTCGATGGGAAGCA
+ATGATGATCATATGAGCGGGGATCTTCTTCGCCAATTCCAGAATGCGGTCTTTGGGCGAGCCTTCCTCAA
+CATGGACATGCACTCTGTCGGTTGGCAGTTTAAATTTTTTAATGATCTCTTCCAGTTGCGATTTGGCTTC
+CGCTTTCAGGTCATCCATTGCCGGTAATTCTGCGGAATACGCTAAACCCAGAGAGGCATAGTAGGGCAGC
+GAAGGTATTACCGTCAGGAAATGAACCTCTGCATCATCAATCTTTGCCTCTGCCTCAACGTGGCTAATCA
+CGCGTTGAGTTAATTCTGAATCGGAAATATCGATAGGGACAAGAATCGTTCTGTTCATAAAACCTCCTGT
+TTTAGTATCCGCATAAAGTGTAACGCCAGATGACACTTTTTGTGTAATGACGGAGTTCACATTTTTAATT
+TAGATCAAAGGAGGAAGAATAAGCAGAAAAAGCCCGCCAAAACAGCGGGCAGGGGGATTTAGAACTGATA
+AACCAGACCTAAAGCGACAATATCATCGGTAGAGATGCCGTTGGCAGCGTAGAAACTGTCATCTTCATCC
+AACAGGTTGATTTTATAGTCAACATAGGTGGACATGTTTTTATTGAAATAGTAAGTCGCGCCAACATCGG
+CGTATTTAACCAGATCTTTATCATCAACACCTGCTGGGTTGTCTGCACCACCGGCAGCGTGCAGGTCACG
+GCCTTTAGACATCAGGAAAGAGACTGCCGGACGCAGACCAAAATCAAACTGGTACTGTGCAGTGACTTCA
+AAGTTCTGGGTTTTGTTTGCAACAGCATAATCGCTGTCGCCAAACGGGGTCATATTACGCGTTTCTGAAT
+ACATGGTTGCCAGGTAAATATTGTTAGCATCGTATTTTAGCCCAGCAGTCCACGCGTCTGCTTTATCACC
+ACCCGCCGCAGTATGGTTAACCTGGTCATTGGTGCGGTCAGAAGAGGTGTATGCCGCACCAGCGCTAAAG
+CCCATGCCTAAATCATATGTTGTGGAAAGACCCCAGCCGTCACCGTTTTCATGGCGAACATCACGTCCGT
+TGTTGGTGCCTTCCTGACCATTACTGGCACCTTCGTTGTTACCTTGATACTGCACCGCGAAGTTCAGACC
+ATTTACCAGACCGAAGAAATCAGTATTACGATAAGTCGCGACGCCATTGGCACGACCAGTCATAAAGTTG
+TCTGCATTGGTATAAGAGTCACCGCCAAATTCAGGTAGCATATCAGTCCAGCCTTCGATGTCGTACATTA
+CGCCATAATTACGTCCGTAATCGAAAGAACCGTAATCTGCAAATTTCAGTCCGGCAAATGCCAGACGGGT
+CCATGACTGGTTTGTTGAAGATTCGGTGTTGTTTGCCTGAATATTGTATTCCCATTGACCGTAGCCAGTG
+AGTTGATCGTTAATTTGGGTTTCGCCTTTAAAACCCAGACGAGCATAGCTCTGGTCGCCATCTTTCGCTG
+AATTATCAGAAAAATAATGCAGGCCATCAACTTTGCCATACAGATCTAATTTGTTGCCGTCTTTATTATA
+AACTTCGGCTGCATGTGCAGCACCTGCAGCGAGCAGGGCAGGAATTAAGAGTGCCAGTACTTTGCTTTTC
+ATTGAATAAATCCTTTAGTTATTTTATTTGCCTTTCATCCCCATTTTGGGGAGTGAAAACATCCTAAAGG
+AGAAGTTCAGTTAGCCGATAAATATCATTTGTTACGCCTTAAGTAAAACCTTAATTAAATAATTCTTCAG
+AAATGATAATAAGTCTGGTGAATGTATTGGAGATAACACATACAAAATAAAAATTATACTTTTAATTTTC
+TATACGTTATTCTGCGCGGGTTATATGCCTTTATTGTCACAGATTTTATTTTCTGTTGGGCCATTGCATT
+GCTACTGATTTTCCAACACATAAGAAGACAAGCCCGAACAGTCGTCCGGGCTTTTTTTTAGAATTGGATA
+ATCCTTATCCAGAGCATTTAATCGGTGTTGCTTTTTTCCGCTTTTCCGGCCATTTGTGCCAGGAAGTCAT
+AGCGTTTTTGCAAATCAGCTGCAGCATCTTTCCATAACTGTTCTGCCACTTCTGGCTGCTGCGAATTCAG
+ACGACGGAAACGCTGCTCGTGAAGTAACGTTTCTTCCAGTGCTTCTGACGGCGGGCGTGAATCCAGCGCC
+AGCGGCAGTTTGCCTTCATCGGCACGACGAGGATCGAAGCGATATAACGGCCAGAAGCCGGTAGCAGTGA
+GTTGGCGCATCTGATCGTGGCTGAGTGCCAGATCGTAACCATGCTCTTCACACGGGCTATAAGCGATGAT
+CAGCGATGGCCCCGGATACGCTTCCGCTTCCTGAATCGCTTTCACCGTCTGGTTCAGCTGCGCGCCGAGA
+GAAATCTGCGCCACATAAACATGACCGTACATCATCATACTGACGCCAAGATCTTTACGCGCTTTACGTT
+TGCCATGCTCGCCAAACTTAGTTACTGCACCCAGCGGTGTCGCTTTCGATGCCTGACCACCGGTGTTGGA
+ATAGCATTGCGTATCCAGCACCAGAATGTTGACGTTTTCCGTCAAACTCAATACATGATCCAGACCGCCA
+AAGCCGATATCGTAAGCCCAGCCATCGCCACCAATCAGCCAGATTGATTTTTCCACCAGTGCATCTGCGT
+CACGCAGCAGTTCATGTGCTTCGGCAACATCGTTGAGTTGCTGGCGTAAAGCTGCAACCTGTTCACGACG
+AACCTCTGGCGTGGCGTCTGATTTCAACGCAGTCAGTAATTCCGTCGGGATTTTATCGGCAAATTGATTG
+AGCAAACGCAGCACGCGGACACGGTGTTGATCGACCGTCAGGCGGAAACCAAGGCCAAATTCGGCGTTAT
+CTTCAAACAGCGAGTTCGCCCATGCCGGTCCACGACCGTTGGCATCGGTGGTATATGGTGTTGAAGGCAG
+GTTACCGCCGTATATTGAAGAACAGCCAGTGGCATTAGCGATCAACATCCGGTCGCCATAGAGCTGAGTC
+AGCAATTTAATATACGGCGTCTCGCCACAACCGGAGCAAGCACCTGAATATTCAAACAGCGGTGTAATCA
+GCTGCGATGTACGAATATCAATACGTTCCAGTTTGCTACGGTCGATTTCTGGCAGGTTGAGGAAGAAATC
+GTAATTGATTTTCTCTTCTTCGACATGTTCCAGGCGCGACATCATATTGATGGCTTTAATCTCTGGATTC
+TGACGGTCTTTCGCCGGGCAAACTTCGACGCACAGGTTACAACCGGTGCAATCTTCCGGAGCCACCTGCA
+AGACATATTTCTGCCCGCGCATATCACGCGATTTCACATCCAGCGAATGCAGGCTGGCAGGGGCGTTTTC
+CATCGCTTCAGGCGGTACCACTTTTGCGCGAATAGCTGAGTGTGGGCAAGCGGCGACACAGTGGTTACAT
+TGGGTACAGAGTTCCTCTTTCCAGATGGGGATCTCTTCGGCGATATTGCGTTTTTCCCAGCGCGTGGTGC
+CCATCGGCCAGGTGCCGTCTGGCGGCAGCGCCGAAACGGGGAGGGCGTCGCCAAGCCCGGCGAGCATCGC
+AGCGGTTACGGTTTTCACGAAATCAGGAGCGGCATCGGAAACCACCGGCGGTCGATTGGCGCTATGCGGA
+TTAACTGGCTGCAGTGGAACTTCTTCTACGGATTCACGTGCCAGCGCCAGAGCCTGCCAGTTGCGTTCCA
+CCAGATCCTGGCCTTTGCTACTGTAACTTTTGGCAATCGCACCCTGCAATTCTGCGAGGGCACTATCGCC
+AGGCAGAATTTGCGTCAGATGGAAAAAAGCCATCTGCATGACGGTATTAATACGGGCCGCCAGGCCACAT
+TCACGGGCGATTTTCGCCGCGTTAATCACATAGAAGCGCGCTTTTTTCTGGTTTAGCACGGCCTGAACTT
+CCTGCGGCAAGCGCGACCACACTTCAGCTGCGCTGTACGGCGTGTTGAGCAGGAAAATGCCGCCAGGTTT
+TAAACGCTCAGCCATCTGATATTTATCGATAAACTGCAACTGGTGGCAGCCAACAAAATCAGCCTGGGAA
+ATGAGATAAGCGGAACGAATCGGCTGTTCGCTCACGCGAAGGTGAGAAACCGTCAGGCCGCCCGCCTTTT
+TGGAGTCGTAAACAAAATAGCCCTGTGCGTACCACGGCGTGGAATTTCCGATAATCTTGATATTGTTTTT
+GGTCGCGGAAACGCTGCCATCACTACCAAGGCCATAAAACAAGGCTTCCAGTTTCGCCGAGTTTGGTAGG
+GTGTTTTCCGGCAACGGCAGTGACAGATTGGTTACATCATCGTAAATACCAACCGTAAAGCGCGCTTTCG
+GTTTAGCCGCGTTGAGCTCGGCAAATACCGCCAGTACACAGTCCGGGCCAAATTCTTTGGATGAAAGACC
+ATAGCGCCCACCAATGACACGGGGCAGGGTTTCGCGCTCGCCATTATTAAAGGCTTCTGCCAGTGCGGTC
+ATCACATCCAGGTACAGGGGTTCCGCTTGCGCACCTGGCTCTTTGGTGCGATCCAGCACCGCCACTGTCC
+GAACAGAGTCCGGCAACGCTTGCAGTAAGTGTTTGGCGGAGAAGGGGCGGTACAGGCGAACTTTCAGCAC
+GCCGACTTTTTCGCCACGGGTCAGCAATTCATCAACCACTTCTTCACATGTGCCAATGGCAGAGCCCATC
+AGGATAATCACCCGTTCCGCTTGCGGATGCCCGTAATACTCAAACGGCTGATACTGACGACCTGTCGCGG
+CAGCGAAATCATTCATCGCCTGTTCAACATGGTCATAGACCGCGTTGTACCATGGGTTGGTGGCTTCGCG
+AGACTGGAAATAAGTGTCAGGATTGGCGGACGTACCGCGGATCACCGGATGTTCCGGGTTGAGTGCCCGG
+GCGCGATGAGCATCAATTTCTGCCTGCGGCATCAGTTCAAGAATCGTGTCATCGGCCAGCGGGACAATTT
+TATTGATTTCGTGGGATGTGCGGAAACCATCAAAGAAATGAATAAATGGCACGCGGCTTTTCAGCGTCGC
+GATGTGCGAAATGAGAGCAAAGTCTTGCGCTTCCTGGACGTTTGCTGCACACAACATCGCGCAACCCGTC
+TGGCGCACCGCCATAACGTCGGAATGATCGCCAAAAATAGAGAGTGCATGTGTGGCAACGGTACGTGCCG
+CAACATGCAGGACAAACGGTGTGAGTTCGCCTGCCAGTTTGTACAGCGTCGGGATCATCAGCAGCAAACC
+CTGCGATGACGTAAACGATGTTGAGAGGGCACCAGTTTGCAAAGCACCATGCACGGTAGCGATAGCACCC
+GCTTCCGACTGCATTTCAACCACGCGTGGTGTGTCTCCCCAAACGTTTTTCAAGCCGTTTCCGGCCCATG
+CATCAGCCTGTTCTGCCATCGTGGAACTGGGGGTAATAGGGTAGATGGCGATAACTTCACTGGTGCGAAA
+CGCCACCGAAGCAACCGCGCCATTACCGTCAATAGTAATCATATGACACCCTTACATTGCGCAAATGAGG
+GGCGCACGAAATTGCTGCGCGCCCAGTAGTAATCGTTCAATTTTAGCAAATGGCTTTCTTCTGCATTTTC
+GCTTTTGTGTCCCCCACATCAGCGTAATGAATGTTTTGATCAAACAGAGGGCAAAAAAATAGCCATAAAA
+AAGTAAAAATGCGGGGCAACGCGCAGGACAGCTCTCGACGCCGCCCTCTGTGCTGCCTATTATTTATGGC
+GGTGTCGTTTGGCTTGAAGATCAGAGGAAGAAAAGATGCGAGCAGCGTTTTGGGTAGGGTGTGCCGCTTT
+ATTGTTGTCGGCGTGTAGTAGTGAACCTGTTCAGCAGGCGACTGCGGCGCACGTAGCGCCAGGTTTAAAA
+GCGTCGATGTCCAGTAGTGGAGAAGCAAATTGTGCAATGATCGGCGGTTCGCTTTCTGTTGCCCGCCAAC
+TGGATGGTACGGCGATTGGGATGTGTGCATTACCCAACGGCAAACGCTGTAGCGAACAGTCACTTGCCGC
+CGGGAGCTGTGGCAGCTATTAATTCATTAAATCCGCCAGCTTATAAGTTAATGTCTGTTTCGCGGTCGCC
+AGCGTTAACTGGTTCGCGGTCAGATCCACTTGTGCACCTTCTTTCAGCATTTCGCTAATGGTGTTATCGA
+GTTCATTAAGCTGCGGGTTAGCGCACATCATACGGGTCATTGCCAGCCCTTTGGCGGTCAGTTCACCATT
+AGACAGTTTGCCTTCACCGCTAAAGCGGTTACACATGCTGCCGGAAATCATCATCTTTTCACCAAAGCTG
+ATTTCTGGCGGATTTTTATCGCTGGTCACGGGCTTACCGTTTACGCTTTCCAGCACAAAGCGATGATGCT
+GTAGCTGTTCTGGCGTTACAGCAATTTTGTCACTACTTACACATCCCGCCATCAGCAGGCTTAGCGCAAC
+AAGCGCGGCTACTTTCTTCATTGTGGTTCTCAATTACTGTTTCTGATTCAGGACTATTTTAAGAATAGAG
+GATGAAAGGTCTTTGGGGATTATCTGAATAAGCTCCCCTGGAATGCAGGGGAGCGGGAAGATTAAACCAG
+TTCGTTCGGGCAGGTTTCGCCTTTTTCCAGATTGCTTAAGTTTTGCAGCGTAGTCTGAGAAATACTGGTC
+AGAGCTTCTGCTGTCAGGAATGCCTGGTGCCCGGTAAACAACACGTTGTGGCAGGCAGACAAGCGACGGA
+ATACGTCATCCTGGATCACGTCGTTGGATTTATCTTCAAAGAACAGATCGCGTTCGTTCTCATACACGTC
+CATACCCAACGAACCAATTTTCTGATTTTTCAGCGCTTCAATTGCCGCCTGAGAATCAATCAATGCACCG
+CGACTGGTATTGACGATCATCACGCCATTTTTCATCTGATCGAAGGCGGCTTCGTTCAACAGATGGTAGT
+TTTCCGGTGTCAGCGGGCAGTGCAGAGAGATAACGTCTGATTCAGAGAACAGGGTTGGCAGATCGACATA
+CTCCACACCGAGTTCCAGCGCCGCCGCACTTGGATACGGATCGAACGCCAGCAGACGCATACCAAAACCT
+TTCAGAATGTGCAGCATCGCCACACCGATTTTACCGGTACCGATAACGCCTGCCGTTTTGCCATACATAG
+TAAAGCCGGTCAGACCTTCCAGAGAGAAGTTAGCGTCACGGGTACGCTGATACGCGCGGTGAATACGGCG
+GTTCAGCGTCATCATCATACCGATGGCGTGTTCAGCAACGGCCTCTGGATCATAGGCTGGAACACGGACT
+ACTTTGAGCCCCAGTTCTTTTGCCGCGTCAAGGTCGACGTTATTGAAACCGGCACAGCGCAGGGCGATAT
+ATTTAACGCCGTGCTTTTTCAGCTCTTCCAGCACCGGGCGGCTGCCGTCATCGTTTACGAAAATACATAC
+CGCTTCGCAGCCATTGGCAGTTTTAGCGGTTTTTTCCGTCAGCAGAAAGTCAAAAAATTCCAGCTCAAAG
+CCAAAGGACTCGTTCACCTGTTGCAGGTACTTCTTGTCGTACTGTTTTGTGCTATAAACGGCGAGTTTCA
+TAAGACTTTCTCCAGTGATGTTGAATCACATTTAAGCTACTAAAAATATTTTACAAAATTTCAAATATAA
+TTGAAAGATATGGCGATATTGAAAAATTCATCAACAACTATGCTTAGTGTAGGCGCAACCTTCAACTGAA
+CGGTTAAACATGCCACAATACCCGTATTGAATGCTTAATTTTTCGCTAAATCAGGATATTAACTACCCAT
+GCTGGGTAAATATAAAGCCGTTCTCGCGCTGTTATTACTGATTATTCTTGTGCCGTTGACGCTGCTGATG
+ACGCTCGGGCTGTGGGTTCCCACGCTGGCGGGCATCTGGCTACCGCTCGGGACACGTATTGCATTAGATG
+AAAGCCCACGCATTACGCGTAAAGGTTTAATCATCCCCGATCTCCGTTATCTGGTGGGAGATTGTCAGCT
+TGCGCATATCACCAACGCCAGCCTTTCACATCCCAGCCGCTGGTTATTGAACGTCGGCACGGTAGAACTT
+GATTCTGCTTGTCTGGCGAAATTGCCGCAGGCGGAACAATCGCCAGCCGCTCCAAAAACCCTCGCGCAGT
+GGCAGTCCATGCTGCCTAACACCTGGATCAATATCGATAAACTGATTTTTTCTCCCTGGCAGGAATGGCA
+GGGAAAACTCTCTCTCGCATTAACCTCCGATATCCAGCAACTGCGTTATCAGGGCGAAAAAGTTAAATTT
+CAAGGCCAGCTGAAAGGGCAACAACTTACAGTCAGCGAACTGGATGTCGCCGCGTTTGAAAATCAGCCGC
+CGGTAAAACTGGTGGGGGAATTTACTATGCCGCTCGTGCCGGATGGACTTCCGGTAAGTGGTCATGTTAC
+TGCGACGTTAAACTTGCCGCAGGAACCGTCACTGGTGGATGTCGAGCTGGACTGGCAGGAAAATAGCGGG
+CAATTGATTGTGCTGGCACGGGATAACGGCGATCCGTTGCTCGATTTGCCGTGGCAAATTACTCGTCAAC
+AATTGACCGTAAGCGATGGTCGCTGGAGCTGGCCGTATGCAGGTTTTCCTTTAAGTGGCCGACTGGGTGT
+CAAAGTCGACAACTGGCAGGCAGGGCTCGAGAACGCTCTGGTCAGCGGGCGACTGAGTGTGCTGACCCAG
+GGACAAGCGGGTAAAGGCAACGCGGTGTTAAATTTTGGCCCAGGAAAATTAAGCATGGATAACAGCCAGC
+TGTCTCTGCAGCTGACCGGTGAAGCGAAACAGGCGGACCTCATTTTATATGCCCGTTTACCTGCGCAGCT
+AAGCGGAAGTCTGTCTGACCCAACGCTGACCTTTGAGCCAGGCGCGTTATTACGTTCGAAGGGAAGAGTC
+ATTGATTCGCTGGACATCGATGAAATCCGCTGGCCTTTAGCGGGTGTAAAAGTCACCCAACGTGGTGTTG
+ACGGACGTTTGCAGGCCATTTTGCAGGCGCATGAAAATGAACTGGGCGATTTCGTGCTACATATGGATGG
+GCTGGCGAATGATTTTCTCCCTGACGCTGGCCGCTGGCAGTGGCGCTACTGGGGAAAAGGGAGTTTTACA
+CCGATGAATGCCACCTGGGATGTCGCAGGAAAAGGTGAGTGGCATGACAGCACGATTACGCTGACCGATC
+TCTCCACCGGTTTCGACCAGTTACAATACGGTACGATGACGGTAGAAAAGCCGCGATTAATTCTCGACAA
+GCCCGTCGTCTGGGGACGTGACGCACAGCATCCCTCATTCAGCGGCGCGCTGTCACTGGACGCCGGGCAA
+ACGCTGTTCACTGGCGGCAGTGTGTTACCGCCATCAACCTTAAAATTTAGTGTCGATGGGCGTGATCCGA
+CGTATTTCCTCTTTAAAGGCGATTTACATGCTGGTGAGATTGGCCCGGTTCGGGTAAATGGTCGCTGGGA
+CGGTATTCGTCTGCGCGGTAACGCCTGGTGGCCTAAACAATCACTGACTGTATTCCAGCCGCTGGTGCCA
+CCCGACTGGAAGATGAACTTACGCGATGGTGAACTGTATGCTCAGGTTGCATTTTCAGCTGCGCCTGAAC
+AAGGATTCCGCGCGGGAGGGCACGGCGTGTTGAAGGGGGGTAGTGCCTGGATGCCAGATAATCAGGTTAA
+CGGTGTCGATTTTGTCCTGCCTTTCCGTTTTGCCGATGGAGCCTGGCATCTGGGGACTCGCGGTCCCGTT
+ACGTTGCGAATTGCCGAAGTGATTAATCTGGTGACAGCGAAAAATATTACGGCTGATTTGCAAGGTCGTT
+ATCCGTGGACTGAAGAAGAACCATTGCTGTTGACTGATGTTAGCGTTGATGTGTTAGGCGGTAACGTGCT
+GATGAAACAATTACGTATGCCGCAACATGACCCGGCGCTGTTGCGGCTGAATAATCTTTCCTCCAGCGAA
+CTGGTTAGCGCCGTCAATCCGAAACAATTCGCCATGTCCGGGGCATTTAGTGGTGCATTGCCGTTATGGC
+TAAACAACGAAAAATGGATAGTGAAAGACGGCTGGCTGGCAAATAGCGGGCCAATGACCTTGCGGCTGGA
+TAAAGACACCGCAGATGCGGTGGTGAAAGACAATATGACCGCGGGTTCAGCAATTAACTGGTTGCGCTAT
+ATGGAAATTAGCCGTTCATCGACAAAAATTAATTTAGATAATCTCGGCTTATTAACCATGCAGGCCAATA
+TTACAGGTACCAGTCGCGTTGATGGTAAAAGTGGTACGGTAAATCTTAATTACCATCATGAAGAGAATAT
+TTTTACGCTGTGGCGCAGTTTACGCTTTGGCGATAATCTCCAGGCATGGCTGGAGCAGAACGCGCGTCTG
+CCGGGAAATGACTGTCCGCAAGGAAAAGAGTGTGAGGATAAACAATGAAAATTTTACTGGCTGCGTTGAC
+GTCATCTTTTATGCTGGTTGGCTGTACGCCTCGCATTGAAGTCGCTGCACCTAAGGAACCGATCACTATC
+AATATGAACGTTAAAATTGAGCATGAGATCATCATCAAGGCAGACAAAGATGTCGAAGAGCTGCTTGAGA
+CCCGTAGCGATCTTTTTTGAGGTGATGATGAAAAGAACATTACTTCTTTGTGCATTTCTTGTTGGCTTGG
+TAAGCAGCAATGTAATGGCATTGACTCTGGATGAAGCCAGAACTCAGGGGCGGGTAGGGGAAACATTTTA
+TGGTTATCTGGTTGCGCTGAAAACAGATGCTGAAACTGAGAAATTAGTAACCGACATCAATGCCGAACGT
+AAAGCGAGCTATCAACAACTGGCAAAGCAGAATAATGTGTCGGTGGATGATATCGCGAAACTCGCCGGGC
+AAAAGCTCGTAGAACGGGCCAAACCCGGGGAATATGTACAAGGGATAAACGGTAAATGGATGCGAAAATT
+TTAATAGCAAAACCGCAATATCGGGATAACGCTACAGGAGAAGGCGATTAATCTATTTTCCGGAAACATT
+TTGCTCTTTTAATTATAAGGCTGAGTTATATTTCGGCTCTGCTTTATTTATTCGAGTATTGGTTTATACC
+GTTTTTTTCATTAAATAAATATCTATGTGACGCATTTGAATTTATAATTTATATAATATAGATAATTTGT
+ATGTTTCGCAGGTTTATTTATTTCTCTGTATTATAAATCCAGATTGTCAGAAAATATGTTTGATTAGGTA
+ACAATCTACTGGCAATATTGGACGTCCTCTATGTTTTAAATAATCAATTGGTCGGGTCAGGGTATCCGAC
+CTTCTTTATATTCGCCAGAAGGATTTATTATGCAAAGGAAAACTCTATTGTCGGCCTGTATTGCATTAGC
+TCTGAGTGGTCAGGGTTGGGCGGCAGATATTACAGAAATAGAAACCACCACAGGTGAAAAGAAAAATACC
+AATGTGACTTGTCCAGCAGATCCTGGAAAACTCAGTCCAGAAGAGCTTAAACGCTTACCCTCTGAATGCT
+CCTCTGTAGTCGAACAGAACCTGATGCCATGGCTTGTCACAGGTGCTGCTACTGCGTTAATCACAACCTT
+AGCCATAGTGGAACTAAACGACGATGATGATCATCATCGCAATAATTCTCCACTTCCACCAACTCCACCT
+GATGATGATTCAGACGACACTCCAGTTCCTCCAACTCCTGGCGGAGATGAGATAATACCGGACGACGGTC
+CGGATGATACTCCTGCACCTCCCAAACCGATTGCGTTTAATAATGACGTTACCCTGGATAAAACAGCAAA
+AACGTTAACTATTCGCGATTCAGTTTTCAGTTATACCGAGAATGCTGATGGGACTATTTCTCTGCAAGAT
+AGCAATGGGCGTAAGGCGACTATTAATCTTTGGCAGATTGATGAAACGAATAACACGGTTGCCCTTGAAG
+GGATGAGCGCAGATGGTGCAACGAAGTGGCAATATAATCACAACGGTGAGCTCGTTATTACGGGCGACAA
+TACCACAGTAAACAACACTGGAAAAACCATCGTCGACGGCAAAGGCGCCACCGGAACTGAAATCGCGGGT
+AATAACGCGGTGGTGAATCAGGACGGCGAGCTGGATGTGAGCGGCGGCGGTCACGGTATTGATATCACCG
+GCGACAGCGCAACGGTGGACAACAAAGGCGGCATGACCGTCACCGATCCTGACTCCATCGGTATTCAGAT
+AGACGGCGACAAGGCGGTCGTGAACAACGACGGTGACAATGCCATCAGCAACGGCGGCACCGGCACGCAG
+GTTAACGGCGACGAAGCCACCGTGAACAATAACGGCAGCACCACCGTTGACGGCAAGGATTCCACGGGCA
+CCGAGATAAACGGTGACAAAGCCATCGTCAACAACGACGGCGACAGCACGATCCTTGATGGCGGCACCGA
+AACCCGCATTACGGGTGATGATGCGACGGCCAACAACAGTGGCAATACCACCGTTGACGGACAGGGTTCG
+ACCGGAACTGAAATCGCGGGTAACAACGCGGTGGTGAACCAGGACGGCGAGCTGGATGTGAGCGGCGGTG
+GTCACGGTATAGATATCACCGGCGACAGCGCAACGGTGGATAACAAAGGCGGCATGACCGTCATCGATCC
+GGATTCGATTGGCATTCAGATCGACGGCGACAAGGCGGTTGTCAATAACGACGGTGACAACGCCATCAGT
+AACGGCGGCACCGGCACGCAGATTAACGGTGATGAAGCCACCGTAAACAATAACGGCAGCACCACCGTTG
+ACGGCAAGGATTCCACGGGCACCGAGATAAACGGTGACAAAGCCATCGTCAACAACGACGGCGACAGCAC
+GATCCTTGATGGCGGCACCGGAACCCGCATTACGGGTGATGATGCGACGGCCAACAACAGTGGCAATACC
+ACCGTTGACGGACAGGGCTCGACCGGTACTGAAATCGCGGGTAATAACGCGGTGGTGAACCAGGACGGCG
+AGCTGGATGTGAGCGGCGGCGGTCACGGTATTGATATCACCGGCGACAGCGCAACGGTGGACAACAAAGG
+CGGCATGACTGTCACCGATCCTGACTCCATCGGTATTCAGATCGACGGCGACAAGGCGGTTGTCAATAAC
+GACGGTGACAACGCCATCAGCAACGGCGGCACCGGCACGCAGGTTAACGGCGACGAAGCCACCGTGAACA
+ATAACGGCAACACCACCGTTGACGGCAAGGATTCCACGGGCACCGAGATAAACGGTGACAAAGCCATCGT
+CAACAACGACGGTGACAGCACGATCCTTGATGGCGGCACCGGAACCCGCATTACGGGTGATGATGCGACG
+GCCAACAACAGTGGCAATACCACCGTTGACGGACAGGGCTCGACCGGTACCGAAATCGCGGGTAATAACG
+CGGTGGTGAACCAGGACGGCGAGCTGGATGTGAGCGGTGGCGGTCACGGGATTGATATCACCGGCGACAG
+CGCAACGGTGGACAACAAAGGCGGCATGACCGTTGCGGATGCGGATTCGATTGGCATTCAGATCGACGGC
+GACAAGGCGGTTGTCAATAACGACGGTGACAATGCCATCAGCAACGGCGGCACCGGCACGCAGGTTAACG
+GCGACGAAGCCATCGTGAACAATAACGGCAACACCACCGTTGACGGCAAGGATTCCACGGGTACCGAGAT
+AAACGGTGACAAAGCTATCGTCAACAACGACGGTGACAGCACGATCCTTGATGGCGGCACCGGAACCCGC
+ATTACGGGTGATGATGCGACGGCCAACAACAGTGGCAATACCACCGTTGATGGTCAGGGTTCGACCGGGA
+CTGAAATCGCGGGTAATAACGCGGTGGTGAACCAGGACGGCGAGCTGGATGTGAGCGGCGGCGGTCACGG
+TATTGATATCACCGGCGACAGCGCAACGGTGGACAACAAAGGCGGTATGACCGTCGCGGATGCGGATTCG
+ATTGGCATTCAGATAGACGGCGACAAGGCGGTCGTCAACAACGACGGTGACAGCACGATCCTTGATGGCG
+GCACCGGAACCCGCATTACGGGTGATGATGCGACGGCCAACAACAGTGGCAATACCACCGTAGACGGTCA
+GGGTTCGACCGGAACTGAAATCGCGGGTAATAACGCGGTGGTGAACCAGGACGGCAAGCTGGATGTGAGC
+GGCGGTGGTCACGGTATTGATATCACCGGCGACAGCGCAACGGTGGATAACAAAGGTGGTATGACCGTCG
+CGGATGCGGATTCGATTGGCATTCAGATCGACGGCGACAAGGCGGTCGTGAACAACGACGGTGACAATGC
+CATCAGCAACGGCGGCACCGGCACGCAGGTTAACGGCGACGAAGCCACCGTGAACAATAACGGCAACACC
+ACCGTTGACGGCAAGGATTCCACCGGCACCGAGATCGCAGGTAATAACGCCACCGTTACTCAGGAAGGTG
+AACTCACGGTTAGCAGCGGCGGTCGCGGTATCGACATCACAGGCAACAATGCCAAGGTCGACACTAAAGG
+CAAAATGACCATCACAGGTACTGACTCGGTTGGTGTGTCCATCAATGGCGACAGTGCGACGTTGACCAAT
+ACGGGCGATATTGACGTCAGCAATTCGGCTACCGGATTCAGCCTCGTAACCAATGAGGGGATTATCTCGC
+TGGCTGGCAGCATGAAAGTGGGCGATTTTTCAACGGGCATGGCGCTTAGCGGCGACAACAACAGCGTGAC
+GCTGGCGGCGAAAGATATCAATGTCACCGGGCAGAAAGCGACAGGCGTTAACATCTCAGGCGATAGTAAT
+ACCGTTGATATCACCGGTAATATTCTGGTGGATAAAGACCAAACCGCAGATAACGCGGTAGATTATTTCT
+ACGACCCATCCGTTGGTGTGAATATCAGCGGCAACAGTAACACGGTATCACTGGACGGTAAGCTGACCGT
+TATTGCAGATAGTGAGTTAACCTCACGCAAATACATGGAGTTTGATGGTAGCCAGGAGAATATTTCTGGG
+CTTACCGTGTCTGGCGATGGTAACACCGTCAATTTGAATGGCGGCATTCAGTTTGTGGGCGAGAAAAACG
+CGCTGGCAGACGGTTCAACTATTGCCGATAAGCGCAGCTACTTTGGTAAGACACCTCTTGTTAGTGTCGA
+TGGACAATCCAAAGTTTATCTGAACGGTGATTCTACTATCAGCGGCTCTTTGCCGTTAGGCTATGCCAAC
+ATTCTTCAGCTAAGCAATAAGGCGGCGCTTGAAATTGGTAGTGACGCTACGTTCAGTATGCAGGACATTA
+GTGTTTACGAGCACTATTTCACGCAAACTCCGCAAATTATCAAGGTTGATACGGGTTCACAGGTCGTCAA
+CAATGGTGATGTGGATATCTGGAATATCAGTTTTGCAGGCATTTGGGGCGAAAACTCTACCGGTATTAAC
+AACGGAAATATTACGCTTTCTCAATATGACTATTCTTCTCCGGAGACATCGTTCTCAGAACCTGACCACA
+TGGCCTTTTTAAGCTCCAGTGGCGGTAGTGCTGTGAACAACGGAACGATCACTGCAAAAGTGATGGAACA
+GCACAGTGTTCTCAATATGGGCTCTGCAGCCGGTGTTGCAGACCCGAGGGTATTCAATAATAGCGTGTCG
+AGTATGATGGGAATGGAGGCCTACGGTAAAGGCACTGTTCTTAACAGCGAAAGCGGCGTTATTGACATGC
+ACGGGCGCGGCAACATTGGTATGTTGGCAGTTGATGACTCCGCAGCGGATAACGCCGGGAAAATCACGCT
+GGATACGCTTTGGGTCGATCAAAACGACACCACGACGCTGCGTACTGACCTCCCTTCCAGCACGGCTATA
+GATTACGGTGTTGGTATGGCCACCGGAACGAATAGTGGTGGTGGCGCAAGAAGCAACGGTGTTGCGACTA
+ACCAACAAGGCGGTGTAATCACTGTTTATAATGCCGGTGCTGCTATGGCTGCTTACGGTGCCAGCAACAT
+GGTTATTAACCAGGGCATTATCAATCTGGAGAAAAACGGAAATTACGATGGCGGCTTGGGCGCGAATATG
+CTCGTGGGGATGGCGGTCTATAACAGAGGCACCGCTATCAACGATAAAACAGGCGTGATCAATATTAACG
+TCGATACGGGGCAGGCGTTTTATAACGACGGTACAGGGACAATTCTGAACTATGGTGAGATAAACCTTCT
+CGGCTCGCCAATGGACAGTGCAGACTCTCACATGGGGGCTATTCCGGAAAATCTGGATCTGCTGACAGCA
+CTGACAGGCAGCGGCGAAACGGATATGCGAACTGCTTCAAGTGGCGGGTTTGTGACGACCAAAGCGCTGG
+CAAACTACGGCAATGAAACGCTGAATAGCAATGTGGCTGCCAAAGCGTGGCTTTATAACCAGGATAAGGC
+CAACCTGACAATTAACGGAGAGCTATCCATCGGGCAAGGGCTGGAAAACAGCGGCTTACTCGATTCTGAC
+ACCATTAGCGCAGCCGCGAATGTCTATAACCGAGCATCGGGTAGCATTATCACTGATCAGTTATCGCTAA
+CGGGTAGTAACTCGTTTTTCAATGAGGGCAACTTCAGCGGTTCGGTTGCTGGCTCTAGCTATAAGCAAAA
+TGTGGTTAACACGGGAACGATGGCTGTAATGGCCGACGGTAAGTCGCTTATCAGTGGCAGCTTCCTGCTT
+TATAACGAAGCAGGCGCAACACTCAGCAACAGCAGCAGCGCCGTTTCAGGTGGAGAAAATGCCATTGTTA
+ACGTAACCCGCACCGGCGATTCACTCGCGCAAGTTAACCGTGGCACCATTACTGCGATCAACGGCTACAG
+TGCAATTAAAACGGCAAGTACGGGTTCTAACAGCAACGGGAAATGGATCTGGAATACCGACACGGGGGTA
+ATTAGCGGCGTGAATCCAAATGCACCGTTAATTGATCTTGGTCGCGGCTATAACTTTGCCAACGCCGGCA
+CTATTAATGTGCAGGGTGATGGTGCAGTCGCTATCAGCGGGGGAACCACCAGCTATACGGTTCAACTGGT
+GAACAGTGGGACCATCAATGTCGGTGCGGCGCAGGGTAAAGCGGACGGCACTAACGGTACTGGGTTAATT
+GGTATCAAGGGGAATGGCAGTGATACGACAATTAATAACGCACAAAGCGGTGTAATTAACGTTTATGCAG
+ATAATTCCTGGGCCTTCGGTGGAAAGACCAAAGCGATCATTAACAATGGTGAAATTAACCTGCTGTGTGA
+TACGGGATGTGATATCTATGCACCGGGTACCACCGGTACGCTGAACGATCATAACAGTACTACTGATATT
+ATCGTTCCTGCAGCAACGAGCACACCTACGCAGGGTTCAGTCCCCACAGTACCTGCGGACTCCAGTGCAC
+AGCAAAAACTGACTAACTACACTATTGGTACCAATAGCGATGGCACCTCTGGTATGTTGAAAGCCAATAA
+CCTGGTCATCAGCGACAACGTCAAGGTAAATACCGGGTTCAGTGCAGGTACTGCCGATACGACTGTTGTG
+ATTAATGATGTTTTCAAAGGTGAAAATATTTCCGGGGCTGAGAATATTTCTTCTTCCACGGTAATGTGGA
+ATGCTCAGGGCAGCACTGATGCCAGCGGCAACGTAGACGTCACGATGACCAAAAACGCCTATACGGATGT
+TGTGACGGATTCTTCAGTTAATAATGTCGCTCAGGTACTGGATTCGGGTTACACCAATAACGACCTGTAC
+ACTAGTCTGAACGTAGGAACGACTGCTGAACTGAACAGTGCGCTGAAACAAATTAGCGGCAGCCAGGCAA
+CCACGGTATTCAATGAAGCACGAGTGTTAAGTAACCGCTTCAGCATGCTGTCCGATGCAGCACCGGAAGT
+TGCAAACGGTCTGGCCTTCAACGTGGTAGCGAAAGGCGACCCGCGTGCTGAACTGGGTAACGACACACAG
+TACGACATGATGGCGCTGCGTAAATCTCTGACGCTGACTGAACATCAGAACCTGAGTCTGGAATACGGGA
+TTGCTCGTCTGGAGGGTAATGGTTCAGATACCGCAGGCGATAATGGTGTGACAGGCGGTTACAGCCAGTT
+CTTCGGTCTGAAACACCAGATGGCGTTTGACAACGGTATGAGCTGGAATAACGCCCTGCGTTATGATGTG
+CATAATCTCGATAGCAGTCGCTCGATAGCTTACGGCGACGTCAACAAAACCGCTGATGCTAATGTGAAAC
+AGCAGTATCTGGAATTCCGTAGTGAAGGGGCAAAAACCTTTGAACTGCGTGAAGGTCTGAATGTGACGCC
+TTATGCGGGTGTGAAACTGCGTCATACGCTGGAAAACGGTTATCAGGAGCGTAATGCGGGCGACTTTAAC
+CTGAGCATGAACAGCGGCAGCGAAACGGCGGTGGACAGCATCGTTGGGCTGAAACTGGACTATGCAGGGA
+AAGAAGGCTGGAGTGCGAACGCCACGCTGGAAGGTGGGCCGAATCTGAGCTATGTGAAAAGTCAACGTAC
+TGCGAGTATTTCGGGCGCGGGAAGCCAGCGTTTCAACATTGACGATGGTCAGAGTGGCGGTGGTTTCAAC
+AGCCTGGCGACGATGGGTGTGAAATACAGTAGCCAGGAGAGTGCATTGCAGTTAGATGCCTTCCACTGGA
+AAGAAGACGGCATCAGTGATAAAGGTGTGATGCTAAACTTCAAGAAAACATTCTAATTTTTAGCATGTAA
+TACATAAACCGCAACGCTGATACAGGTTGCGGTTTTTTTATTGCCGGATGCGGTGCTTGACGCGTTTTGT
+TTTGGTGTCTTTCAGGATATTAGAGCTACTCATCCAGTAATCTTGTTTACGCCTTCGCATTATTTATCTC
+TATTCATTTCTATACTGATTTTTCTTAATCCGTTTTATTACAGGGCAGGGTACGATGAGCAGCAACACAT
+TTACTCTCGGTACAAAATCCGTTAACCGTCTTGGTTATGGCGCGATGCAACTGGCTGGTCCTGGGGTTTT
+TGGCCCGCCCAGAGATCGCCACGTCGCTATAACCGTGCTGCGCGAGGCGCTGGCATTGGGCGTCAATCAT
+ATTGATACCAGCGACTTTTATGGTCCGCACGTCACCAATCAGATTATCCGCGAAGCGCTTTATCCGTACT
+CTGACGACCTGACAATTGTCACTAAAATTGGTGCGCGGCGTGGAGAGGACGCTTCCTGGTTACCCGCATT
+TTCTCCGGCAGAGCTGCAAAAAGCGGTACACGATAATCTACGTAATCTCGGCCTGGACGTACTGGATGTG
+GTTAACCTGCGCGTTATGATGGGGGATGGTCATGGCCCGACGGAAGGATCGATTGAAGCCAGCCTGACAG
+TGCTGGCGGAGATGCAACAACAAGGCCTGGTAAAACATATTGGCCTGAGTAACGTCACACCGACGCAGGT
+TGCAGAGGCGCGAAAGATTGCCGAAATCGTCTGCGTGCAGAACGAATACAACATTGTCCATCGAGCTGAT
+GACGCAATGATTGATGCTTTGGCTCGTGATGGCATTGCCTACGTGCCGTTCTTCCCGCTCGGGGGCTTTA
+CGCCGCTGCAATCCTCCACGCTTTCCGATGTTGCTACAAGCCTTAATGCGACACCAATGCAGGTGGCGCT
+GGCGTGGCTGTTACAACGTTCACCGAATATTTTGTTGATTCCTGGAACATCTTCTGTTGCGCATTTACGG
+GAGAATATGGCTGCTGAAAAATTGCATCTTTCTGAGAAAGTGTTGTCTACGTTGGATGGTATTTCGCGAG
+AATAACGAATATACAAAAGGGAAAGATGCATTTCCCTTTTGTTTCTTTTTTAATGGCATGGAGTGCATAT
+GTTTAAGGCCAGGATTTGCGGCTGGATAATCAGTGAAAAGGCGATGGATTCATTGATTCGTACAGTGATA
+GATGGTATCTCACTGATATCCAGACGGTAATCAAACAGATGTGTAGGGCATTCATCCACCACATCTTGAT
+ATATTCCGAATTTACGTTGATGCTGCGCGTTGTGATATCTCCGCCGTCGGAATTGATGCACCATAGAGCA
+AACTGAATATCACGGAATGATAAATGACGCTCTACCAGATAAAACCGCTCTTTCAGTCGCTGTTAAGGCC
+GACGATGTTTTGGCTTTATAAGCACCATGTTACAGCGAATCACATCACTCTTGCTGCACTGGCGCTTTCT
+CTTCTTACCGGATTGCTGTTGGTGTTGGTGGCACAACCCATCCTCTTTTTGCTATTGCCCATCGTGCTTT
+TTATCCGTATGACGCTCAATGCGCTGGATGGCATGTTGGCGCGTGAGTGCAATCAGAAAACACGTCTGGG
+GGCGATTTTGAATGAAACTGGCGATGTTATTTCCGATATTGCGCTCTATTTACCGTTTTTATTTTTACCG
+GAAAGTAACGCATCACTCGTAATACTCATGTTATTTTGCACCATATTGACTGAGTTTTGCGGTTTACTCG
+CGCAGACGATTAACGGTATTCGCAGTTATGCCGGTCCATTTGGCAAAAGCGATCGCGCGTTAATATTTGG
+TCTGTGGGGGCTAGCCGTTGCCATTTATCCACAGTGGATGCAATGGAATAATCTTTTATGGAGCATTGCT
+TCAATTCTGCTTCTCTGGACTGCGATTAATCGTTGTCGGAGTGTGCTTTTTATGAGTGCAGAAAGATAAT
+GCTGGAAAAATCTCTGGCAACACTTTTCGCGTTGTTAATTTTAGCAACGCTGATAAACCGTTTTCTGGTA
+TGGCGGTTACCGGAGAGAAAAGGGGGTGAGGTTACATTACGTATTCGTACCTGGTGGGGCATCGTCATTT
+GTTTTTCAATGGTGATTTCAGGTCCACGCTGGATGACGTTGACGTTTTTTGCGCTGATAAGTTTTCTGGC
+ATTGAAAGAATATTGTACGCTTATATCTGTACATTTTCCGCGTTGGTTATATTGGGGTATTCCTCTTAAC
+TATTTGCTTATCGGTTTTAATTGCTTTGAGCTGTTTCTGTTATTTATACCTTTGGCTGGGTTTCTGATAT
+TAGCCACCTGGCGAGTTTTAGTGGGTGACCCCTCCGGTTTTCTGCATACCGTGAGCGCCATTTTTTGTGG
+CTGGATAATGACCGTTTTCACCTTGAGTCATGCCGCCTGGTTATTAATGTTGCCAACCATAAATATCCAT
+GGCGGGGCGTTACTGGTGTTATTTCTTTTGGCGTTAACCGAGTCAAACGATATTGCACAGTATTTATGGG
+GAAAATCCTGCGGCAGAAGAAAAGTGGTCCCCAAAGTCAGCCCGGGAAAAACGCTGGAAGGTCTGGTGGG
+GGGAGTAATCACCACCATGATTGCGTCACTGATTATTGGACCGTTACTGACACCGCTAAATACATTACAG
+GTATTATTAGCGGGTTTGTTAATTGGTATTAGTGGTTTTTGCGGCGATGTAGTGATGTCAGCCACCAAAC
+GAGATGTTGGTGTTAAAGATAGCGGAAAACTATTACCAGGACATGGCGGACTCCTTGACAGGATTGACTC
+ATTAATTTTCACCGCTCCGGTATTTTTTTATTTTATTCGCTACTGCTGTTACTGAAGGAAAACAGAGAAA
+ATGGAAAATTCACGCATCCCTGGGGAGCATTTTTTTACCACCAGTGATAATACAGCGTTGTTTTATCGGC
+ACTGGCCCACTTTACTGCCAGGGGCGAAAAAGGTCATCGTCTTATTTCATCGCGGTCATGAACATTCTGG
+TCGTCTACAACATATCGTTGATGAACTGGCGATGCCAGATACTGCTTTTTATGCATGGGATGCCCGAGGG
+CATGGACAAACTTCGGGGCCGCGTGGTTATAGTCCGTCTCTTGCGCGTTCAGTGCAGGATGTTGATGAAT
+TTGTCCGTTTTGCTGCCAGCGACAGCCAGGTCGGACTGGAAGAGGTGGTTGTGATCGCGCAAAGCGTCGG
+CGCAGTGATGGTTGCCACATGGGTTCATGATTATGCGCCTGCTATTCGCGGACTAGTGCTGGCATCTCCG
+GCCTTTAAGGTTAAATTGTATGTGCCGCTGGCACGTCCTGGGCTGGCGTTATGGCATCGTCTGCGTGGTC
+TGTTTTTTATTAATTCCTATGTGAAAGGGCGTTATCTGACCCACGATCGGCAACGGGTGGCGAGTTTCAA
+TAATGATCCGCTGATCACACGGGCGATTGCCGTCAATATCTTGCTCGATCTCTATAAAACGTCTGAACGT
+ATTGTTAGCGATGCGGCGGCGATTACGCTCCCCACGCAACTTCTGATATCAGGCGATGACTATGTGGTGC
+ATCGCCAACCGCAGATTGATTTTTATCAGCGTTTACGTAGTCCTCTGAAAGAGCTGCATCTGCTGCCAGG
+CTTTTATCACGACACGTTGGGTGAAGAGAACAGGGCGCAGGCATTTGAAAAAATGCAAAGCTTTATCAGC
+CGTTTATATGCTAACAAGTCGCAAAAATTTGATTATCAGCATGAAGACCGCACAGGACCATCAGCGGATC
+GATGGCGGCTCCTTTCTGGTGGACCCGTGCCGTTATCGCCGGTTGATTTGGCGTATCGCTTTATGCGAAA
+GGCGATGAAACTGTTCGGGGCGCACTCTGCGGGCCTGCATCTCGGAATGAGTACCGGCTTTGATTCAGGC
+AGTTCGCTGGATTATGTCTATCAAAATCAACCGCAAGGCAGTAACGCATTCGGGCGCTTTATCGACAAAA
+TCTACCTGAACAGTGTTGGCTGGCGCGGTATTCGCCAGCGCAAAACCCATTTACAAATGCTGATTAAACA
+AGCCGTTGCCCATCTCCACGCCAAAGGTTTAGCCGTCCGCGTGGTTGACATTGCCGCAGGGCATGGGCGC
+TATGTACTGGATGCGCTGGCAAACGAGCCCGCCATAAGCGAAATTTTGTTACGTGATTACAGTGAGGTAA
+ATGTTGCACAAGGGCAAGAGATGATTGCCCAACGGGGAATGTCTGGGCGGGTGCGTTTTGAACAGGGCGA
+TGCGTTTAACCCGGAGGAACTCAGCGCGTTAACTCCGCGGCCTACGCTGGCGATTGTCTCTGGCCTGTAT
+GAGCTTTTCCCCGAAAATGAGCAGGTAAAAAACTCACTCGCAGGTCTTGCCAATGCCATCGATCCGGGTG
+GCATTCTCATCTACACCGGGCAGCCGTGGCACCCACAACTGGAGCTGATTGCCGGGGTGTTAACCAGTCA
+TAAAGATGGTAAACCGTGGGTAATGCGCGTGCGTTCGCAAGGGGAGATGGATTCGCTCGTGCATGATGCC
+GGATTCGATAAATGCACACAACGGATTGATGTGTGGGGCATTTTTACGGTTTCGATGGCGGTGCGTCGTG
+ATAACTGAACGCCGGAACGTATTGCTACAAGGAGCTGGCTGGTTATTGTTGCTGGCCCCGTTTTTCTTCT
+TTACATATGGATTTCTTAATCAGTTCACCGCGACTCAGGATCTTAACAACCATGATATCCCCAGTCAGGT
+ATTCGGTTGGGAAACGGCGATCCCTTTTCTTCCCTGGACTATTGTTCCTTACTGGAGTCTGGATCTTTTA
+TATGGATTTTCGCTGTTCATTTGTAGCTCGACATTCGAACAGCGCCGACTGGTTCACCGGCTTATTCTGG
+CAACGGTAATGGCCTGCTGCGGTTTTTTCTCTATCCGCTGAAGTTTAGTTTTATCCGTCCTGAAGTGAGT
+GGGGTGACAGGATGGCTATTTTCGCAACTTGAACTGTTTGATCTGCCTTATAACCAGTCTCCTTCGCTGC
+ATATTATTCTCTGCTGGCTACTTTGGCGTCACTTTCGTCAGCATCTGGCTGTGAGGTGGCGTAAAGTCTG
+CGGCGGATGGTTTTTACTCATCGCCATTTCGACGCTGACGACCTGGCAGCATCATTTTATTGATGTCATC
+ACGGGGCTGGCGGTAGGTATGTTAATTGACTGGATGGTGCCCGTCGACCGTCGTTGGAATTATCAGAAAC
+CTGATCAACGTCGAATCAAAATAGCACTGCCATATGTCGCAGGCGCGTGCTCGTGCATTGTGTTGATGGA
+GCTAATGATAATGCTTCAGTTATGGTGGTCAGTCTGGTTATGTTGGCCAGTATTATCGCTATTCATCATT
+GGCCGTGGGTACGGTGGGCTTGGCGCGATAACAACAGGGAAAGATAGTCAGGGGAAACTCCCGCCCGCCG
+TTTACTGGCTGACATTGCCCTGGCGTATCGGGATGTGGCTGTCTATGCGTTGGTTTTGTCTTCGCCTGGA
+GCCGGTGAGCAAAATTACTGCTGGTGTTTATTTAGGGGCGTTTCCACGACATATTCCGGCACAGAATGCG
+GTTCTGGACGTCACCTTTGAATTCCCTCGCGGACGAGCGACAAAAGATCGACTCTATTTTTGTGTACCGA
+TGTTGGATCTGGTGGTTCCGGAAGAGGGGGAGCTCCGACAGGCCGTGGCGATGCTGGAAACATTACGCGA
+AGAGCAAGGCAGCGTTCTGGTCCATTGCGCGTTGGGATTATCGCGCAGTGCGCTGGTGGTGGCGGCATGG
+CTGTTATGTTACGGACATTGTAAAACCGTTGATGAAGTGATTAGTTATATTCGAGCCAGACGCTCGCGGA
+TTGTGCTTAAGGAAGAGCACAAAGCGATGCTGAAATTATGGGAAAACAGGTAAGCGGATTGAGATGTGGA
+CTGAATATCTACAGTCCACATCAAGATCGTGTCCGGTTATTCAGCAACAATACTGTCGATGGCTGCTTTC
+GCGTCAGACTGTGCTTTCGCTGCCATTTCCGGGCCGTACGCGATCCCTTCGGCGAAGACAAATTTCACAT
+CGGTAATGCCGATAAAGCCCAGGAATGTGGACAGATACGGCGTCACCAGATCCGTTGGGCCATCTTTATG
+GATCCCACCGCGGCTGGTGATAACGATGGCTTTTTTACCGGTGACCAGGCCTTCCGGACCCTTCTCGGTA
+TAGCGGAAAGTAACGCCTGCACGTGCAACCAGGTCAAAATAGTTTTTCAACTGGGTCGAGATATTGAAGT
+TATACATCGGTGCCGCAATAACGATAACGTCGTGGGCTTTCAGCTCGGCAATCAGCTCATCGGAAAGCGC
+CAGAGCTTCCTGCTGACGCGGAGTCAGCGGCGCATCGCTCGGACGCAGTGCACCAACCAGTTCGCCATCC
+AGGACCGGAATCGGATTTGCAGCCAGGTCACGCACGGTGATTTCATCAGCGGAGTGCTTTTCGCGCCATT
+GTTCAACAAAATAATCGGACAACTGATTAGACTGAGAGTACCCTGCCAGGATGCTGGATTTAAGAACTAA
+TACCTTGCTCATGGTGTTTCCTTATAGATATTTGAATGGGCAATGCCCCGTTGCTTGTTGACACTTTATT
+CACAATTCTGCCACAGAGATAGCGCAATAAATCGAAGCCTATGTTCGAATTTATTGAACAACGCATAGAA
+AGCCGCGATGTGGTACTCTATATCTATCATTTAAAAGAAAATTAATCAGGCAGACTACTGCCCACTAACG
+TTATGACAGAACAACAAAAATTGACCTTTACTGCCTTGCAGCAGCGGCTGGATTCGATGATGCTGCGTGA
+CAGACTGCGTTTTTCTCGCCGTCTGCACGGCGTGAAGAAGGTTAAAAATCCTGATGCACAACAGGCCATT
+TTCCAGGAGATGGCGAAAGAGATTGACCATGCGGCAGGGAAAGTCCTGCTGCGTGAAGCGGCACGACCGG
+AGATTACTTACCCGGACAATTTGCCGGTTAGTCAGAAAAAGCAGGACATTCTCGAAGCGATTCGTGACCA
+CCAGGTGGTGATCGTCGCCGGGGAAACGGGTTCCGGTAAAACGACTCAGCTACCGAAAATCTGTATGGAG
+CTGGGTCGCGGGATTAAAGGGCTGATCGGCCATACCCAGCCGCGTCGGCTGGCGGCGCGAACGGTGGCGA
+ACCGTATTGCGGAAGAGCTAAAAACGGAGCCGGGCGGTTGCATCGGTTACAAAGTGCGTTTCAGCGATCA
+CGTCAGTGATAACACGATGGTCAAGCTGATGACCGACGGTATCCTGCTGGCGGAGATCCAGCAAGACCGC
+CTGCTGATGCAGTACGACACCATCATTATTGACGAAGCGCACGAACGTAGCCTGAATATCGATTTTCTGC
+TCGGCTATTTGAAAGAGTTGCTGCCGCGACGTCCTGACCTAAAAATCATTATCACTTCCGCGACTATCGA
+CCCGGAACGCTTTTCGCGCCACTTTAATAATGCGCCGATTATCGAAGTCTCCGGTCGGACCTATCCGGTG
+GAAGTGCGCTATCGCCCGATTGTTGAAGAAGCCGATGACACCGAGCGCGATCAGTTGCAGGCGATTTTTG
+ACGCTGTAGACGAACTGAGTCAGGAAAGCCCCGGCGACATTCTGATCTTTATGAGCGGTGAGCGGGAAAT
+TCGCGATACCGCCGATGCGCTGAACAAGCTAAATCTGCGGCATACCGAAATCTTGCCGCTTTATGCGCGG
+CTTTCGAACAGCGAACAAAATAGGGTGTTCCAGTCGCACAGCGGGCGACGCATTGTGCTGGCGACCAACG
+TCGCGGAAACGTCGCTGACCGTACCGGGGATTAAATACGTTATCGACCCCGGTACAGCGCGTATCAGCCG
+CTACAGCTATCGCACCAAAGTGCAGCGTTTGCCGATTGAGCCAATTTCGCAGGCTTCAGCTAATCAGCGT
+AAAGGCCGCTGCGGTCGTGTGTCAGAAGGGATCTGTATTCGTCTCTATTCCGAAGACGATTTCCTTTCGC
+GCCCGGAATTTACCGATCCGGAGATTCTGCGTACCAACCTGGCCTCGGTTATTTTGCAGATGACTGCGCT
+GGGGCTGGGCGATATCGCTGCGTTCCCGTTTGTTGAAGCACCGGATAAACGCAATATCCAGGATGGCGTG
+CGTCTGCTCGAAGAACTGGGCGCGATCACCACGGATGAACAGGCCAGCGCCTATAAACTGACGCCGCTCG
+GTCGCCAGCTCTCGCAGTTGCCTGTCGACCCACGTCTGGCGCGTATGGTGCTGGAAGCGCAGAAACATGG
+CTGTGTGCGTGAGGCGATGATTATCACGTCCGCGCTCTCCATTCAGGATCCGCGCGAACGTCCGATAGAT
+AAACAGCAGGCATCGGATGAAAAACATCGTCGCTTCCACGACAAAGAGTCTGACTTCCTCGCGTTTGTAA
+ATCTGTGGAATTATCTTGGCGAGCAGCAAAAGGCGCTTTCTTCTAACGCCTTCCGTCGCCTGTGCCGTAC
+TGATTATCTCAACTATCTGCGCGTGCGCGAATGGCAGGATATCTACACTCAGTTGCGCCAGGTGGTGAAA
+GAACTTGGCATTCCGGTTAACAGCGAACCGGCGGATTATCGCGAAATTCACATTGCGTTGCTGACCGGTT
+TGCTTTCGCATATCGGCATGAAAGATGCCGATAAACAAGAATATACCGGCGCACGTAACGCGCGTTTCTC
+CATCTTCCCCGGTTCTGGTTTATTCAAAAAGCCGCCGAAATGGGTAATGGTGGCGGAACTGGTAGAAACC
+AGCCGCCTGTGGGGGCGCATTGCGGCACGCATCGATCCAGAATGGGTGGAACCTGTCGCTCAGCATTTAA
+TCAAACGCACCTACAGCGAACCGCACTGGGAAGGGGCGCAGGGCGCGGTGATGGCAACGGAAAAAGTCAC
+CGTTTACGGGTTGCCGATTGTTGCTGCGCGTAAGGTCAACTACAGCCAGATCGATCCGGCGTTATGTCGT
+GAACTCTTTATTCGCCACGCGCTGGTGGAAGGTGACTGGCAGACGCGTCACGCATTCTTCCGTGAAAACC
+TGAAACTACGGGCCGAAGTGGAAGAACTGGAACACAAAACTCGTCGCCGCGATATTCTGGTGGATGACGA
+AACGCTGTTTGAGTTCTACGACCAGCGCATCAGCCACGATGTGATTTCCGCACGTCACTTCGACAGCTGG
+TGGAAAAAAGTCAGCCGCGAAACGCCTGATTTGCTCAACTTTGAAAAGAGCATGTTGATCAAAGAAGGGG
+CGGAAAAAATCAGCAAACTGGATTACCCGAACTTCTGGCATCAGGGCAATCTCAAACTGCGTTTGAGCTA
+TCAGTTTGAGCCCGGCGCGGATGCTGACGGTGTGACCGTGCATATCCCGCTGCCGTTACTTAACCAGGTT
+GAGGAAAGTGGGTTTGAGTGGCAGATCCCCGGTCTGCGTCGTGAGCTGATCATCGCCCTGATTAAATCGC
+TGCCGAAGCCGGTACGCCGTAATTTTGTGCCCGCGCCAAACTACGCCGAAGCGTTTTTAGGCCGCGTCAC
+ACCGCTGGAATTGCCGTTGCTCGACAGCCTTGAACGAGAGTTACGGCGGATGACTGGCGTCACCGTTGAC
+CGCGAAGACTGGCACTGGGATCAGGTGCCCGATCACCTGAAAATCACTTTCCGCGTGGTGGATGACAAAA
+ACAAGAAGCTAAAAGAAGGGCGCTCATTACAGGATCTGAAAGACGCCCTGAAAGGCAAAGTGCAGGAAAC
+GCTGTCTGCCGTGGCGGATGACGGTATCGAGCAGAGCGGTTTACATATCTGGAGTTTTGGTCAACTGCCG
+GAAAGCTACGAGCAGAAGCGCGGCAACTACAAAGTGAAGGCGTGGCCGGCGCTGGTGGATGAGCGTGACA
+GCGTAGCGATCAAACTGTTTGATAACCCGCTGGAACAGAAGCAGGCAATGTGGAACGGTCTTCGCCGTTT
+ACTGCTGCTAAATATTCCATCGCCGATCAAGTACTTGCACGAAAAGCTGCCAAACAAAGCCAAGCTGGGG
+CTGTACTTTAATCCGTATGGCAAAGTGCTGGAGCTGATCGATGACTGTATCTCCTGCGGTGTGGATCAAC
+TGATCGACGCCAATGGTGGCCCGGTCTGGACGGAAGAAGGCTTTGCTGCGCTGCATGAAAAAGTCCGCGC
+TGAACTGAACGACACGGTGGTGGATATTGCGAAGCAGGTCGAGCAAATCCTCACTGCGGTGTTCAATATC
+AACAAACGTCTGAAAGGGCGGGTGGATATGACCATGGCGCTGGGGCTTTCTGACATTAAAGCGCAGATGG
+GCGGGCTGGTGTATCGCGGTTTTGTCACTGGCAACGGTTTTAAACGGTTGGGCGACACGTTACGGTATTT
+GCAGGCGATTGAAAAACGACTGGAAAAACTGGCGATTGATCCGCATCGTGACCGTGCTCAGATGCTGAAA
+GTCGAAAACGTCCAGCAGGCATGGCAGCAATGGATCAACAAACTGCCGCCTGCACGTCGTGAGGATGAAG
+ACGTGAAAGAGGTCCGCTGGATGATAGAAGAGCTGCGCGTTAGTTACTTCGCTCAACAACTTGGTACGCC
+TTATCCGATTTCGGATAAGCGTATTTTGCAGGCGATGGAGCAGATTAGCGGTTAACACTGCTATTTGCCT
+GATAAATCTAAAACCCGGTAAGCATTTAGCGCCGGGTTTTTTATTAATTCTAAAAACGATAAGGGAAAAA
+ATTCAGGAGTTCAGAAAAATACAATTCTCTGCTGCAAGATGAATAATGTTTATCTACAGCATTTCCTTAA
+AAAATATGTCAGGCTTGCGGAGTGGCAGTTAAGGAAATACGACTTCCTCCTTTCAGAGTGCTCCGCTTCT
+CACTATTATCTCACGCAGTATTCTTAAGGGAACGATAAGGAGGAACCATGAATATTACCCCGTTTCCGAC
+GCTTTCGCCGGCAACCATAGATGCCATAAATGTTATCGGACAGTGGCTGGCGCAGGATGATTTCTCCGGT
+GAGGTGCCGTATCAGGCCGATTGCGTGATCCTTGCAGGCAATGCGGTTATGCCGACTATCGATGCGGCAT
+GTAAGATTGCCCGCGATCAGCAAATTCCTTTACTGATTAGTGGTGGTATCGGTCACTCGACAACTTTTTT
+GTATAGCGCCATCGCACAGCATCCACACTACAACACTATCCGCACCACTGGCAGAGCTGAAGCTACCATC
+CTGGCGGATATCGCTCATCAGTTCTGGCATATTCCGCATGAAAAAATCTGGATTGAAGACCAGTCAACAA
+ACTGCGGTGAAAACGCACGCTTTAGCATCGCGCTATTGAATCAGGCCGTAGAACGAGTTCATACGGCTAT
+CGTTGTTCAGGACCCCACCATGCAGCGGCGCACGATGGCGACGTTCCGCCGTATAACCGGGGATAATCCC
+GATGCACCACGCTGGTTAAGTTATCCCGGATTCGTTCCTCAGTTAGGAAATAACGCAGACAGTGTAATCT
+TTGTTAATCCGTTGCAAGGATTATGGCCGGTTGAGCGTTATCTATCGCTACTCACTGGCGAGCTGCCGCG
+TTTACGCGATGATAGCGATGGCTACGGCCCCCGCGGGCGAGATTTTATCGTTCACGTTGATTTTCCGGCA
+GAAGTCATCCAGGCATGGCAAACGCTGAAACACGATGCGGTGCTCATCGAGGCGATGGAAAGTCGCTCGT
+TACGTTAAAAATTGCCCGTTCGTGAACCAATTGTTTGCAAACGGGCATGACTTCTGACTTTTATTTCTGC
+CTTTAATTCCTTTTACACTTGTTTTTATGAAGCCCTTCACAGAATTGTCCTTTCACGATGCCGTCTCTCT
+GATAATTGATGTTAATTAACAATAAATTTACCAAAAACAAACATGCAAATCACAGGAGTCGCCCATGTCA
+GTACCCGTTCAACATCCTATGTATATCGATGGACAGTTTGTTACCTGGCGTGGAGACGCATGGATTGATG
+TGGTAAACCCTGCTACAGAGGTTGTCATTTCCCGCATTCCCGATGGTCAGGCCGAGGATGCCCGTAAGGC
+AATCGATGCAGCAGAACGTGCACAACCAGAATGGGAAGCGTTGCCTGCTATTGAACGCGCCAGTTGGTTG
+CGCAAAATCTCCGCCGGGATCCGGGAACGTGCCAGTGAAATCAGTGCGCTGATTGTCGAAGAAGGGGGCA
+AGATCCAGCAGTTGGCTGAAGTCGAAGTGGCTTTTACTGCGGACTATATCGATTATATGGCGGAGTGGGC
+ACGGCGTTACGAGGGCGAGATTATTCAAAGCGATCGTCCAGGAGAAAATATCCTTCTGTTTAAACGTGCG
+CTTGGCGTGACTACCGGCATTCTGCCGTGGAACTTTCCGTTCTTCCTCATTGCCCGCAAAATGGCTCCCG
+CTCTTTTGACCGGTAATACCATCGTCATTAAACCCAGTGAATTTACGCCAAACAATGCGATTGCATTCGC
+CAAAATCGTTGATGAAATAGGCCTTCCGCGCGGCGTGTTTAACCTTGTACTCGGGCGTGGTGAAACCGTT
+GGGCAAGAACTGGCGGGTAACCCAAAGGTCGCAATGGTCAGTATGACAGGCAGCGTCTCTGCAGGTGAAA
+AGATTATGGCGACTGCGGCGAAAAACATCACCAAAGTGTGCCTGGAATTGGGGGGTAAAGCACCGGCTAT
+CGTAATGGACGATGCCGATCTTGAACTGGCAGTCAAAGCCATCGTTGATTCACGCGTCATTAATAGTGGG
+CAAGTGTGTAACTGTGCAGAACGTGTTTATGTACAGAAAAGCATTTATGATCAGTTCGTCAATCGGCTGG
+GGGAAGCGATGCAGGCGGTTCAATTTGGTAACCCCGCTGAACGCAACGACATTGCGATGGGACCGTTGAT
+TAACGCCGCGGCGCTGGAAAGGGTTGAGCAAAAAGTGGCGCGCGCAGTAGAAGAAGGGGCGAGAGTGGCG
+TTGGGTGGCAAAGCGGTAGAGGGGAAAGGATATTATTATCCGCCGACATTGCTGCTGGATGTTCGCCAGG
+AAATGTCGATTATGCATGAGGAAACCTTTGGCCCGGTTCTGCCGGTGGTCGCATTTGACACGCTGGAAGA
+GGCTATCTCAATGGCTAATGACAGTGATTACGGCCTGACCTCATCAATCTATACCCAAAATCTGAACGTC
+GCGATGAAAGCCATTAAAGGGCTGAAGTTTGGTGAAACTTACATCAACCGTGAAAACTTCGAAGCTATGC
+AAGGCTTCCACGCTGGATGGCGTAAATCCGGTATTGGCGGCGCAGATGGTAAACATGGCTTGCATGAATA
+TCTGCAGACCCAGGTGGTTTATTTACAGTCGTAATGAGTGAAAGAGGCGGAGGTTTTTTCCTCCGCCTGT
+GCGCGTCAGAGTTTAGCGAATTTTTCGAGGGTGCGAATAAGCTGCGTGACGAAGCCATATTCGTTATCGT
+ACCAGGCGACCGTTTTCACCAGTTGTAAATCGCCCACGGCGGTAATTTCCGTTTGCGTGGCATCAAACAC
+CGAACCGAAATGGCTGCCAATGATATCGGAAGAGACTATTTCTTCATCAGTATAACCAAATGACTCGTTA
+TTGTTTGTCGCCTTTTTAAGCGCGTTGTTCACCTCTTCGGCAGTCACTTTCTTTCCGAGAATCGACACCA
+GTTCAGTGACCGAACCTGTTTTCACCGGCACGCGTTGCGCATGACCTTTCAGTTTGCCGCTCAGTTCCGG
+GATCACCAGACCAATGGCTTTTGCCGCCCCCGTAGTGTGGGGAATGATATTTTCTGCCGCTGCGCGTGAA
+GCACGTAAATCTTTACCACGTGGGCCATCCACCAGTGACTGGGTGCCGGTATAGGCATGAATGGTTGTCA
+TCGTGCCGACTTCTATCCCGAAACTGTCATGCAAGGCTTTGGCCATCGGCGCAAGGCAGTTAGTGGTGCA
+TGACGCCACGGAAACAATGGTGTCGTTGCCATCCAGAGTGTCGTCATTGACGTTATAAACGATGGTTTTC
+ATTTCACCGGCAGGGGCGGAAATCAACACCTTCTTCGCGCCAGCATCAAGATGCGCCTGCGATTTCTCGG
+CGGAGGTATAAAAGCCTGTACATTCGACAATGATTTCTGCGCCTTTCGCTTTCCACGGAATATTTTTAGC
+CTCTTTTTCGGCGTAAACCGCGATACTTTTCCCATCAACGATAAGTGAATCTTCCGTATAATCAACGCTC
+CAGGGGAACGGTCCGTAGTTTGAATCATGTTTCAGCAGGTAGGCGAGAATTTTTGGGGAAGTGAGATCAT
+TAATAGCGACAACGTCTATGTTGCTTTTGACTTCAAGTAATCGACGCAACACCAGTCGACCGATACGACC
+AAAACCATTAATACCAACTTTACTCATGGTCTTCTCCTGTCAGGAACGTTCGGATGAAAATTGATCCTTT
+CCAGGCTTAGACCAGGATGGCGGGATGGGCAATCTACATTCTTGCAGTGAAACGTAACGTACTGAAAACG
+GGTGAACAATATTTAATGAAATTTTAAGAAAAGCCCGTTATGTTAACGGCAAATTATGTTAAAGCAGGAA
+ATGTTATGGGAAATAAATACTCAAGGTTACAAATCAGCATTCACTGGCTGGTCTTTTTGCTGGTTATCGT
+AGCGTATTGCGCAATGGAGTTTCGTGGTTTCTTCCCACGTAGCGATCGGCCCCTCATCAACATGATTCAT
+GTTTCCTGTGGCATCTCAATTCTCGTACTGATGGTGGTTCGTCTTTTGTTAAGGCTGAAATGCCCAACCC
+CGCCGATTATACCTAAGCCAAAACCGATGATGACGGGACTGGCGCATTTGGGCCATTTGGTGATTTATCT
+CCTGTTTATTGCGCTGCCAGTGATTGGTTTGGTGATGATGTATAACCGGGGCAACCCGTGGTTTGCGTTT
+GGTTTGACGATGCCTTACGCTTCAGAGGCCAATTTCGAGCGGGTTGATAGCTTAAAGTCGTGGCATGAAA
+CGCTGGCGAATCTGGGATATTTTGTCATCGGGTTGCACGCTGCGGCTGCACTGGCACACCACTATTTCTG
+GAAGGACAACACACTTCTACGCATGATGCCGCGTAAACGTTCCTGAAGGATATTTAAAGAAAACGCCTGT
+ACTAAAACCGACCCGTGGTACAGGCGAAGAATACGGGCCTACATCGGAAGCGCCTATTATATTTATTTGT
+ATGACAAATAAAACCATAATCCTTGTCTATACGTCCATCTGGCTTATCTTTAATCAATTCACCCGATCTT
+TGATCTCATCAACGGTATCAAAATAAACCAGCGTATAACGTTCAAATCGAACATAAGATTCGATAAATCA
+TGGAGGTTATATGAAAAAACTGGCACTTATCCTGGTTATGGGAACGCTTGTTTCCTTTTATGCCGATGCC
+GGGCGCAAACCCTGTTCTGGTTCGAAAGGGGGGATCTCACACTGTACGGCAGGCGGCAAATTTGTCTGTA
+ATGATGGTTCTATTAGTGCATCGAAAAAAACATGCACTAACTGAAGTGTAAAAGGGGTGCCATGAGAAAA
+TGAATCTGCTAGTCAGATGCGCGGGGAAAATCCCCGCGCTTGCCCTTACCTGGACGTGCAGGCCATGAGC
+GCAGCAACCTCCTTATCACCGTCCCGGAACCGCAGTTCGTAGAGCGTTTGTCGGGTCAGGAGTGTGAATG
+TCAGAATCGTAATGCAGATAATGAGCAGACACACCACCAGAGGGTTGCGCTTCATAGCCTTTCTCCTTGC
+CGGATGGCGGGTAAGAGGCTAACATCTGAATTGCTTGGTTCATTCGTTGGCCTCGGTTGATAGAAATATC
+GGTCGGGGCCTTCGTCTTTCTGATTCCCGGTTAGCCTGAAAACAGAAAGTCTCAGGCACCCGCAGGCATC
+CTATGAGGTTTCCTTAGGGACGAAAATAATCACTTGACGAAATTGCGTGCTGTTTTCCAGAATTTTTCGT
+CATTCGGTTTAGCCGTTCGTTACTCTCTTCATTCCAATGGCATTATTTTTCTCTGCCATAATTGTTGTAA
+AAATGTGACGCAAAGAGGTTTTTGGTCATAAGTAATTACCGTCAAGTGCCGATGACTTTCTATCAGGAGT
+AAACCTGGACGAGAGACAACGGTAATGAATACAACTCCCTCACAGCGATTAGGTTTTTTGCATCACATCA
+GGCTGGTTCCGTTATTTGCCTGCATTCTTGGCGGTATCTTAGTTCTATTCGCATTAAGTTCTGCTCTGGC
+TGGCTATTTCCTCTGGCAGGCCGATCGCGATCAGCGTGATGTTACTGCGGAGATTGAGATTCGGACCGGT
+TAGCGAACAGTTCAGATTTTTTGCGTTCAGCCCGGATCAATATGATTCAGGCCGGGGCAGCGAGTCGTAT
+TGCGGAAATGGAAGCAATGAAGCGAAATATTGCGCAAGCCGAATCGGAGATTAAACAGTCGCAGCAAGGT
+TATCGTGCTTATCAGAATCGATCGGTGAAAACACCTGCTGATGAAGCCCTCGACACTGAATTAAATCAAC
+GCTTCCAGGCTTATATCACGGGTATGCAACCCATGCTGAAATATGCCAAAAATGGCATGTTTGAGGCGAT
+TATCAATCATGAAAGTGAGCAGATCCGACCGCTGGATAATGCTTATACCGATATTTTGAACAAAGCCGTT
+AAGATACGTAGCACCAGAGCCAACCAACTGGCGGAACAGGCCCATCAGCGCACCCGCCTGGGTGGGATGT
+TCATGATTGGCGCGTTTGTGCTTGCCCTGGTCATGACGCTGATAACATTTATGGTGCTACGTCGGATCGT
+CATTCGTCCACTGCAACATGCCGCACAACGGATTGAAAAAATTGCCAGTGGCGATCTGACGATGAATGAT
+GAACCGGCGGGTCGTAATGAAATCGGTCGCTTAAGTCGTCATTTACAGCAAATGCAGCATTCACTGGGGA
+TGACAGTAGGGACTGTTCGACAGGGTGCGGAAGAGATTTATCGTGGCACCAGCGAAATTTCAGCTGGCAA
+TGCGGACCTGTCATCTCGCACCGAAGAACAAGCGGCGGCTATCGAACAAACTGCCGCCAGCATGGAGCAA
+CTCACTGCGACGGTGAAACAGAATGCGGATAACGCGCATCATGCCAGCAAACTGGCGCAAGAGGCTTCTA
+TTAAAGCCAGCGATGGCGGGCAGATGGTTTCCGGTGTAGTAAAAACGATGGGCGCTATCTCCACGAGTTC
+GAAGAAAATTTCTGAGATCACCGCCGTCATCAACAGTATTGCTTTCCAGACGAATATTCTGGCACTGAAT
+GCTGCCGTTGAAGCCGCGCGAGCGGGTGAGCAAGGCCCTGGATTTGCCGTTGTCGCCAGCGAAGTACGGA
+CACTCGCAAGCCGCAGCGCTCAGGCGGCGAAAGAGATTGAAGGCTTGATCAGTGAATCAGTCAGGTTAAT
+TGACCTGGGAGCGGATGAGGTGGCCACGGCCGGGAAAACCATGAGCACTATTGTTGATGCCGTCGCGAGT
+GTCACACATATCATGCAGGAAATCGCCGCCGCCTCGGATGAACAAAGCAGAGGCATAACACAGGTTAGCC
+AGGCGATTTCTGAAATGGATAAGGTGACGCAACAGAATGCTTCTCTGGTAGAAGAGGCCTCAGCGGCGGC
+GGTGTCCCTTGAAGAACAGGCGGCACGATTAACTGAGGCGGTGGACGTATTCCGTCTGAACAAACATTCT
+GTGTCGGCAGAACCTCGCGGAGCTGGTGAACCAGTTAGTTTCGCTACAGTGTGAAAATGTTAAAGGAGGG
+ATCGACAGATCCCTTCACCTTTCAGAACGGCATTGATTTTCGAATAGCGTTAATCATCAACTGGCAACCA
+GAAGAGAACGTCGCATCTACGCGGGTCAGTATTCCAATCGGTTCGCCTGCACCATGTCCCGGAACAGGCA
+GGGCTACCAGCGTGGCATGACGCAGGTCGTCTTTTACAGCGCCAGAAGGGACAAACCACACGTAATCGTA
+TTCAACCGTAAGTTGACGAGATAGCGAAGCAGACAGCGTTTCGATACAACCCGAAGGAATTTTACATCCC
+TGGCTCTGCACTAATGCATCTGAATGCTGGCGTGGCGCAGTGCCTTCTGGTGATACAACGACCGGCCATT
+CCAGCACCCGGCTTAGCGTTACGTTCTCCTGAAGTAGCGGGTGATTAGGGCGGACAACCAGCTTCAGCGA
+TTCAAGAAACAGCAGTTCGTAATTAAGCCCGTTCATCAGTTCAGGATCTGACATCCGACCAATGCCGATA
+TCGATTTCCCCGGTTTTTAAACCCGCCAGAATCATAGGGTTACTCATTGTCGCAACTTGCAAGGTCGTCT
+CTTTTTGTTGCTGATGAAACTGACCTATAACCGAAGGTAATATCCCTAGTGCCGCAGTAGGTAGCGCACC
+AACCCTGACGACATCATTATTAAGACCTTCTTTACGATGAAGCGACTGTCCGGCAGTGTTGATGGCGTCA
+AGAACTCTGACTGCATGCGTTAAAAATTGTTCGCCGGGTAAGGTAAGTTGCGCCCCCTGACGACCACGCT
+CAAACAAGCGAGCGCCCGTCAGCTGCTCCAGTTCATTCAATGTCTTAGAGAGCGCAGGTTGACTCAAATT
+AAGGGTTTCAGCCGCGCGCCCCAAAGTTCCTTGTTGTGCGACAGCTACGAATGTATGAAGGTGGCGCAAA
+CGGATGCGCTGACTAAACAGACTATTTTTTTCCATAAGCGATGTTAAAAACGAAGCGGTGTCGCTGACAA
+GTGAAGTTGTTTTATTATGATAACTTGATTGCAAAATATTATTAACAATTAAAGCAACTATGTTACAGCA
+AAATGGATAATATTGATGTTTTCGCGGCGAGATCACAGTTTGTAAATTCTTCCAGCCGGAGTGAATGCGG
+TTACCTACACTCCAGATTACTGACCACTGGAGGCAGACACTATGGCGAACAGCATCACGGCGGATGAGAT
+TCGGGAACAGTTTTCGCAGGCAATGTCAGCCATGTACCAGCAAGAAGTTCCGCAGTACGGCACGCTGCTG
+GAACTGGTAGCTGATGTAAATCTGCCGGTGCTGGAAAACAATCCTCAACTGCACGAAAAAATGGTAAATG
+CAGACGAGCTGGCGCGACTGAATGTTGAACGTCATGGGGCGATTCGCGTTGGGACTGCACAAGAGCTTGC
+TACTCTTCGGCGGATGTTTGCCATTATGGGGATGTACCCGGTGAGCTATTACGATCTCTCGCAGGCAGGG
+GTGCCGGTACATTCGACAGCATTTCGGCCCATTGATGATGCTTCTCTGGCGCGTAATCCCTTCCGCGTTT
+TTACCTCGTTACTCCGTCTTGAGCTTATCGAGAACGAAATTTTGCGCCAGAAAGCGGCGGAGATTCTGCG
+TCAGCGCGATATCTTCACCCCACGTTGTCGACAACTGTTAGAGGAATATGAGCAGCAGGGCGGTTTTAAC
+GAAACACAGGCACAGGAGTTTGTGCAGGAAGCCCTGGAAACGTTTCGCTGGCACCAGTCAGCAACGGTAG
+ATGAAGAAACCTATCGCGCCTTGCACAACGAACATCGGTTGATTGCTGATGTGGTCTGTTTTCCTGGATG
+CCATATCAACCATCTGACGCCACGCACGCTGGATATTGACCGGGTGCAGTCGATGATGCCTGAATGCGGA
+ATTGAACCCAAAGTTCTGATCGAAGGGCCGCCGCGCCGCGAGGTGCCGATTTTACTACGCCAGACCAGCT
+TTAAAGCACTGGAAGAGACGGTGTTGTTTGCGGGGCAGAAACAGGGCACGCATACCGCGCGCTTTGGTGA
+AATTGAGCAGCGTGGTGTGGCATTAACGCCGAAAGGGCGACAACTGTATGATGATCTTCTGCGGAACGCT
+GGAACCGGGCAGGATAATCTCACTCACCAAATGCATTTACAGGAAACCTTCCGCACTTTTCCTGACAGTG
+AGTTTTTAATGCGTCAGCAAGGGCTGGGATGGTTCCGGTACCGTCTGACGCCTTCGGGTGAGGCGCATCG
+TCAGGCGATTAATCCCGGAGACGATCCACAGCCCTTAATAGAACGTGGTTGGGTAGTGGCGCAACCCATT
+ACCTATGAAGATTTCTTGCCCGTTAGCGCGGCGGGGATCTTCCAGTCAAATCTGGGTAATGAAACGCAGG
+CATGCAATCACGGTGATGCCAGTCGCGAAGCATTTGAGCAGGCGTTGGGGTGTCCGGTTTTGGATGAGTT
+CCAGCTTTATCAGGAAGCGGAAGAACGCAGTAAACGTCGCTGTGGTTTGCTTTAAATTCTGACCATCCGC
+CTTTGCAAAAATTTGCCTGATTTTACAAACGAATCAGGCTCATCCCATCGACATAAAAAAAATGCCAATT
+TATGCATATTCTCTGATTTCAACAATTGGATTATTAATAAATATTGTCTAGAGTGAGCGGTCATAAATAA
+GCACTTTCTTGCCGCTGAAAATGACCAGCGCGGGACCATTCACAACACCAGAAGGACTCACTTTCAGGTA
+TGGATCGTAGACGATTTATTAAAGGTTCAATGGCTATGGCCGCCGTGTGCGGTACCAGCGGCATTGCTTC
+TCTTTTTTCTCAGGCGGCATTCGCGGCCGATTCTGATATTGCCGACGGGCAAACCCAGCGTTTTGACTTC
+TCCATTCTACAGTCAATGGCGCACGACTTAGCGCAAACAGCATGGCGTGGTGCACCACGTCCGTTACCTG
+ACACTTTGGCGACAATGACGCCGCAGGCTTATAACAGTATTCAATACGACGCCGAAAAATCGCTCTGGCA
+TAACGTTGAGAACCGTCAACTGGACGCTCAGTTTTTCCATATGGGAATGGGATTCCGTCGCCGCGTTCGT
+ATGTTTTCTGTAGATCCAGCAACACATCTGGCGCGTGAAATTCACTTTCGCCCGGAGTTGTTCAAATACA
+ACGATGCGGGTGTGGATACCAAACAATTAGAAGGGCAAAGCGATCTCGGTTTTGCCGGTTTTCGCGTGTT
+TAAAGCCCCCGAACTGGCGCGCCGTGATGTAGTATCATTCCTCGGCGCGAGTTATTTCCGCGCCGTTGAT
+GACACATATCAATACGGTTTGTCGGCCCGCGGCCTGGCGATCGACACTTACACCGACAGCAAAGAAGAGT
+TCCCCGACTTTACCGCCTTCTGGTTTGATACGGTAAAACCAGGGGCAACCACCTTTACTGTTTATGCGTT
+GCTCGATAGCGCCAGCATTACTGGTGCCTATAAGTTCACTATCCATTGTGAGAAAAATCAGGTGATTATG
+GATGTGGAAAATCACCTGTATGCGCGCAAAGACATTAAACAGCTGGGCATTGCACCGATGACCAGTATGT
+TCAGCTGCGGTACTAATGAACGTCGGATGTGCGACACCATTCATCCGCAAATCCATGACTCTGATCGTCT
+GTCCATGTGGCGGGGCAACGGCGAGTGGATTTGCCGTCCGCTGAACAATCCGCAAAAATTGCAGTTCAAT
+GCTTACACCGACAACAACCCGAAAGGGTTTGGTTTATTGCAACTGGATCGTGATTTCTCCCATTATCAGG
+ACATTATGGGCTGGTATAACAAACGCCCAAGTCTGTGGGTGGAACCGCGTAACAAGTGGGGTAAGGGCAC
+CATCGGCCTGATGGAAATCCCAACAACGGGCGAAACGCTGGATAACATTGTCTGCTTCTGGCAGCCAGAA
+AAAGCTGTAAAAGCGGGTGATGAGTTTGCATTCCAGTATCGTCTGTACTGGAGTGCGCAACCGCCTGTTC
+ATTGCCCATTAGCGCGCGTTATGGCGACGCGTACCGGCATGGGCGGTTTCCCGGAAGGTTGGGCGCCAGG
+TGAACACTATCCCGAAAAATGGGCGCGACGTTTTGCCGTCGATTTCGTTGGTGGTGATCTGAAAGCTGCC
+GCGCCAAAAGGCATTGAGCCGGTGATTACGCTTTCCAGTGGGGAAGCGAAGCAAATCGAAATTCTCTATA
+TTGAACCCATTGATGGTTATCGTATTCAGTTTGACTGGTATCCGACTTCGGACTCCACTGATCCGGTCGA
+TATGCGGATGTATCTGCGTTGTCAGGGCGACGCTATCAGTGAAACATGGCTGTATCAGTATTTCCCGCCA
+GCGCCGGATAAACGTCAGTATGTTGATGACCGCGTGATGAGTTAATCGTTTTTTCTTCGGCATCTTCTTC
+GGGAGGTGCCATCTGGTTAAACACGATCCCGCTCGCATTTTTCCCTAAGTTAAATGAGTAATCTGATGGT
+GTGTATTTCAGATACACCTTGTCAGCCACTAACAGGGAGTGCGTATGTTTCCAGAATACCGAGATTTAAT
+ATCCCGTCTGAAAAACGAAAATCCTCGCTTTATGTCCTTGTTCGATAAACACAATAAACTTGATCATGAA
+ATTGCCAGAAAGGAAGGTTCCGACGGTCGAGGGTACAATGCGGAAGTGGTCCGCATGAAAAAACAAAAGC
+TACAGTTAAAAGATGAGATGCTCAAAATCCTGCAGCAGGTGAGCGTCAAAGAGGTGTAAACTTTCCTAAG
+CCGCCAGCCAGGCGGCTTTTTTAACAGCTGCATGGATTGACTGGAGATAAGATGACTGAAACGATAAAAG
+TAAGCGAATCACTTGAATTACATGCTGTTGCGGAAAGTCATGTCACACCTCTTTATCAGTTAATCTGTAA
+AAATAAAACCTGGTTACAGCAGTCGCTAAACTGGCCGCAGTTTGTTCAAAGTGAAGAGGACACGCGAAAA
+ACGGTGCAGGGTAATGTGATGTTGCATCAACGCGGCTATGCCAAAATGTTCATGATTTTCAAAGAAGATG
+AACTTATCGGCGTTATCTCTTTTAATCGTATTGAACCACTGAATAAAACCGCTGAAATCGGCTACTGGCT
+CGACGAATCTCATCAGGGGCAGGGGATCATTTCTCAGGCGCTGCAGGCATTGATTCATCATTACGCTCAG
+TCTGGTGAACTTAGACGCTTCGTGATCAAATGTCGGGTGGACAATGCGCAAAGCAACCAGGTCGCTTTGC
+GCAATGGTTTTATCCTTGAAGGTTGCCTGAAACAGGCTGAGTTCCTGAATGATGCCTATGATGATGTGAA
+CTTATACGCGCGTATTATCGATTCACAATAACCCTGCCAGCAGCGTTCGCGTAATGCGCTCCTCGCCGTT
+AATGACTTTTGGACCACGGACATGAATCGTGTCGCCATCAAAGGCTTCAACGACGGCGTGGTCAGTTAAC
+TCCACATGGTTTTCAATTATCACCGCACCTGTAATACGGCTCTCACCTTGTATGACAACGTGCTCGTCGA
+GCAGAATCGGTCCGCCACGTACCACGGCATTTCCGCCAATCAAGACATGATGTTTTAACACACAATTACC
+TTCCACAATGGCATATTCCGCCACCTGTGAACTGTAATGAATCGTCGGAATGGCATCTTCTTCTATGCCA
+GCTTTCACCTGCGCGTGACCGTAGACTTTAGCGCAATCGCATAGCCAGACGTTGTTCTCTTCATTACCTT
+CAACACTGGCAAAATCAAAAACTTCGGCGCGATGTTCAATAAAAGCATACCGGACGACGGCATCGCCATA
+AATTTGTGCCTGGTGGACAATACGCGAGGCGCTAACCTTTGCGCGATCATAAATTTGTAGCAGGAGTTGA
+TGGTCGGGCGTTAAGCCTTGTGCGGCGACGATCATAGAATGTTGATCAATTAAGGCGTGACCAAATATTC
+TACATTGACCACAAACTAATGAGTCACGAATGGTGACACTGTCACTTATATATGCACCCTGGCTGATTTC
+ACTATTATCGATCCAGACATTATCCGTTGCGTAAACCTCTCCCCACAGCACGCTGGTGCCGGTGATACGC
+GTATTCCCGGAAATCACCGTTCCGCCGAACGCAATAGCATTCTGGTCGTAAATCCAGCAATTTCCTTCCT
+GTGCTAACACCGTTTCGTGATCGATCCAGCCGCCAGCGCTTCCTGCTATCACATCGTTAAAATCGCTCAT
+GGCGATAATTTGCCGTAATAACACACTTTTTTTAGTGCCATCTTCCTGATAACTAAAGGCTCGCTGTTCT
+TCACTTAGACGATATTTACGCATAGCGTTTTCCCACAGGTGACTTACTATAACCGTAGCAAATTCTGCGG
+CTCTGGCTATGCTCGAGAAAATTCCATAAAATGCATTTCAAATATACTTTATAAATTAAACAAAATGAGT
+AAGAAGATGCAGAGCGATAAAGTGCTCAATTTGCCGGCAGGCTACTTTGGTATTGTGTTGGGGACGATAG
+GGATGGGATTTGCCTGGCGCTATGCCAGCCAGGTTTGGCAGGTCAGCCACTGGTTGGGTGATGGGCTGGT
+GATTCTGGCGATGATCATCTGGGGATTATTGACAGGCGCATTTATTACCCGACTCATACGCTTTCCGCAT
+AGCGTGCTGGCAGAAGTGCGCCATCCAGTGCTGAGCAGTTTTGTGAGTTTGTTTCCGGCAACGACGATGC
+TGGTGGCGATTGGTTTTGTTCCGTGGTTTCGCCCACTGGCGGTGTGCCTGTTCAGTTTTGGTGTCGTGGT
+TCAGTTGGCTTATGCCGCCTGGCAAACTGCGGGATTATGGCGCGGATCTCACCCTGAAGAAGCTACCACG
+CCTGGACTGTATCTGCCGACAGTTGCCAACAACTTTATCAGCGCAATGGCCTGTGGTGCGTTGGGCTACA
+CCGACGCCGGTCTGGTGTTTTTAGGCGCAGGCGTTTTCTCATGGCTAAGCCTGGAACCGGTGATCTTGCA
+GCGTCTGCGCAGTTCGGGAGAATTACCCACGGCACTGCGGACATCACTCGGCATTCAGCTCGCTCCTGCG
+CTGGTGGCCTGTAGTGCCTGGCTGAGCGTCAACGGCGGCGAGGGTGACACGCTGGCGAAAATGCTTTTCG
+GTTATGGACTGCTGCAACTGCTGTTTATGCTACGTCTGATGCCATGGTATCTCTCCCAGCCATTTAATGC
+TTCATTCTGGAGTTTCTCGTTCGGTGTATCTGCACTGGCAACCACCGGTTTGCATCTGGGGAGTGGCAGC
+GATAATGGATTTTTCCATACGCTGGCGGTGCCGCTGTTTATCTTTACCAATTTTATTATTGCAATACTGC
+TCATCCGTACTTTTGCGCTTCTGATGCAGGGAAAATTGTTAGTCAGAACCGAGCGCGCCGTTTTAATGAA
+AGCAGAGGACAAAGAATGATCATTCGTGATGAAAACTATTTTACTGATAAATATGAATTAACCCGCACAC
+ACTCTGAAGTGCTGGAAGCGGTGAAAGTGGTTAAACCGGGTAAAACGCTGGATCTGGGCTGTGGCAATGG
+TCGTAACAGTCTTTACCTGGCAGCCAATGGTTATGATGTTGACGCATGGGATAAAAATGCCATGAGTATC
+GCCAACGTCGAGCGCATTAAGTCCATTGAAAATCTGGATAATTTACACACCCGGGTCGTTGATCTGAATA
+ACCTCACATTTGATGGACAGTACGATTTTATTCTTTCGACTGTGGTGCTGATGTTCCTTGAGGCTAAAAC
+CATCCCAGGGCTGATTACCAATATGCAACGTTGCACTAAACCTGGCGGTTACAACCTGATTGTGGCGGCG
+ATGGATACCGCTGATTATCCATGTACCGTCGGCTTCCCGTTTGCATTCAAAGAGGGGGAATTACGTCGAT
+ATTACGAAGGCTGGGAGATGGTGAAATACAATGAAGACGTCGGCGAACTGCACCGCACCGACGCCAACGG
+TAATCGTATTAAACTGCGTTTCGCCACGATGCTGGCACGTAAAAAATGATCCGGTAAGAACAAAGCGCGT
+GAAAATTCCCCACGCTGAGATGGTTTACTGTTCTTCTTTTCGGTAAGCATATTTTTTATCGAAGGGATGT
+GAAATTAATCACAGTAGTCGAAGTTTTTTAGCCGCTTAACTTACTGAAATTTAACTACTGATGATTGACT
+TAGCCCCTTTTTCGGCATTGACTATGTCGTCTGAAAAGGGGCTAAAAAATTTATTTTCACCAACACTTTT
+TTTGCCACAACACGAAGCGGCGCTTTTTGCTATAACTTAGAAAGTAATATAATCATCTCAGGAAACTATT
+CATGCGTACCACATCATTTGCGAAAGTTGCAGCTTTATGCGGCTTGTTGGCTCTGTCTGGTTGTGCCTCT
+AAAATCACCCAGCCAGATAAATATTCTGGTTTTTTAAACAATTACTCTGATTTAAAAGAAACAACCTCGG
+CAACAGGTAAACCTGTTTTACGTTGGGTAGACCCGAGTTTTGATCAAAGCAAATATGACAGCATCGTCTG
+GAACCCAATCACTTATTATCCGGTACCGAAACCTTCTACCCAGGTAGGGCAGAAAGTTCTGGATAAAATT
+TTGAACTATACCAACACCGAAATGAAAGAAGCGATAGCGCAGCGTAAACCACTGGTTACCACCGCTGGGC
+CGCGTAGTCTGATTTTCCGTGGGGCCATTACCGGTGTAGATACCAGTAAAGAAGGGCTGCAATTCTATGA
+AGTGGTTCCTGTTGCATTAGTGGTTGCGGGGACGCAAATGGCTACAGGCCACCGTACCATGGATACTCGC
+TTGTATTTTGAAGGTGAGCTGATTGATGCAGCGACTAATAAACCGGTTATCAAGGTCGTTCGTCAGGGCG
+AAGGTAAAGACCTGAATAACGAAAGTACGCCAATGGCTTTCGAAAATATTAAACAAGTTATTGATGACAT
+GGCGACCGATGCCACCATGTTTGACGTTAACAAAAAGTAGTTCCAGACGCGCCATCGTTAGATGGCGCTT
+TTTATTATCGGTTTCTGTCAGCGATTAAATTCAACACCACGTAACTAACGCCTCCGGCAATTAATCCCCA
+AAACGCAGAACCAATCCCGACCAGCGTCAATCCACTTGCCGTTACCAGAAATGCCACCACCGCCGCGTCG
+CGCTCACGCTCATTATGCAGCGCCTGATACAAACTGCCGCCAATGGTACTCAACAGCGCCAGACCTGCCA
+GCATCTGGATCCAACTTACGGGCAGGGCAGCCATCATCCCGGTAATGGCACTACCAAACAGACCTGCGAG
+CAAATAGAAAATGCCTGCAACGGCAGCGGCCAGCCAACGTTGATCTTTATCCGGATGCGCTTCCGGGCTT
+TGGCAAATAGCCGCGGTGATTGCCGCAATACCGACGGAATAAACGCCGAAAGGGGAAAAAACAAGCGCCA
+GCAATCCAGTAAACACAATCAACGGCGAAACAGGAGCCGAATACCCGGCTGCTTTCATTGCTGCGATACC
+CGGTGCGTTTTGCGATGCCATCGTCACCAGAAAAAGGGGGAGTGCAACGCTCAGACTGTGAGCAAACGAA
+AAATCAGGGGGAATATAAGTGGGGAGAACGGGTTTAAAGACAACATCAGTTGTGACAACGTCACCTTGCG
+CGATAACGATCACGATCCCAATAATCATCGCGGCAATTACCGCATAGCGCGGCGCAACGGTCTTGGCTGC
+CAGCCATGCCAGCAACATACTGCCACACAACGTAAATTGACCATCCAGACTGGCAAACGCCTGTAAACCA
+AAACGTAATAAAATCCCGGCAAGCATTGCCGCCGCAAGCGAGTGCGGAATAATGCGCATCAGACGAGCAA
+AGAGTCCCGTTATGCCGCAGAGGACTATTAACACGTTGGTGACAATAAAAACGCCGATGGCTTCGTTAAG
+TGTTAGTCCCTGTAATCCGGTGACCAACAAAGCCGCGCCAGGCGTTGACCATGCGGTGAGAACAGGTACG
+CGATACCATAATGTCAGAGTCAGCGTACTGACGCCCATTGCCAGCCCCAGCGCCGTCATCCAGCCAGAGA
+TTTGTGCAGTGGTGGCTCCGGCGACAATCGCTGCTTGCCAGATTATTGCCGCTGAACTGGCGTAGCCAAT
+TAATACCGCCAGAAACCCCGCCAGTAGCGTGGGTGGAGGAATAGAAAACAGACGCATAGTCACCTCGTGC
+GTTATAACGTACAGGTACCGTAGCATTTGTCCGTTATAACGCACAAGTGATAAACTTCCGTTTTGCCGGA
+GGAGTCGCATGGAAAATCTCGCTCGCTTTTTATCCACCACACTTAAACAACTACGTCAGCAGCGCGGCTG
+GAGTCTTTCGCGACTGGCAGAAGCGACGGGCGTTTCTAAAGCGATGTTAGGGCAGATTGAGCGTAATGAA
+TCCAGCCCGACGGTCGCGACATTATGGAAAATTGCCACCGGGTTGAACGTGCCATTTTCAACATTTATTT
+CTCCGCCGCAGTCCTCTACGCCTTCAGTTTATGATCCACAACGGCAGGCGATGGTGATCACTTCGCTGTT
+TCCTTATGATCCACAACTCTGCTTTGAACACTTCTCGATTCAGATGGCACCCGGTGCAATAAGCGAATCG
+ACGCCCCATGAAAAGGGGGTAATCGAACATGTCGTCGTCATTGATGGACAACTTGATCTGTGTGTTGATG
+GTGAATGGCAGAGCCTTAATTGTGGGGAAGGCGTTCGATTTGCTGCAGACGTCACGCATGTCTATCGTAA
+TGGTGGGGAGCAAACCGTACATTTTCATTCCCTCATCCATTACCCGCGCAGTTAAGCGGGAAAACTATTT
+CGCAACGTCGCGCTTGTGGCTAAAATAGCCGCCATTTTTCAGCTACTGGATAAGAAAGTGACCGTATCTT
+CTCATCGTCTTGAACTGTTAAGCCCGGCACGCGATGCCGCCATTGCCCGCGAAGCTATTTTGCACGGTGC
+CGATGCTGTTTATATCGGCGGCCCTGGTTTTGGTGCCCGTCATAATGCCAGTAATAGCCTGAAAGATATT
+GCCGAGTTGGTGCCGTTTGCCCATCGTTATGGTGCAAAAATTTTCGTCACGCTTAACACCATTTTGCATG
+ATGATGAGCTGGAACCCGCGCAACGGCTGATTACTGACCTCTACCAGACCGGTGTCGATGCGCTGATTGT
+TCAGGATATGGGGATTCTGGAACTTGATATTCCGCCGATTGAACTGCACGCCAGTACGCAGTGCGATATT
+CGTACAGTAGAAAAAGCGAAGTTCCTCTCTGATGTTGGCTTCACGCAGATTGTGCTGGCGCGAGAGCTGA
+ATCTTGAGCAGATCCGCGCGATTCACCAGGCCACGGACGCGACCATTGAATTCTTTATTCATGGCGCATT
+GTGCGTGGCCTATTCGGGTCAGTGCTACATTTCTCATGCGCAAACAGGGCGTAGCGCCAACCGTGGCGAT
+TGCTCGCAGGCGTGCCGTTTGCCATACACATTGAAAGACGATCAGGGGCGGGTGGTTTCCTATGAAAAAC
+ATCTGCTGTCGATGAAAGATAACGATCAGACTGCCAACCTCGGCGCGCTGATTGATGCTGGCGTACGCTC
+CTTCAAGATTGAAGGGCGTTACAAAGATATGAGCTACGTGAAGAATATCACCGCCCATTATCGTCAGATG
+CTGGATGCTATTATTGAAGAACGTGGCGATCTGGCGCGCGCTTCATCAGGTCGTACTGAACATTTCTTTG
+TTCCATCGACGGAAAAGACTTTCCACCGTGGTAGCACAGATTATTTTGTGAATGCCCGTAAAGGCGATAT
+TGGCGCGTTCGATTCGCCGAAATTTATCGGCCTGCCGGTGGGCGAAGTATTGAAAGTAGCGAAAGATCAT
+CTCGATGTTGCCGTTACCGAACCACTGGCAAATGGCGATGGCCTGAACGTGATGATTAAACGTGAAGTCG
+TCGGTTTTCGTGCTAATACGGTAGAGAAAACCGGAGAAAATCAGTACCGCGTCTGGCCCAATGAAATGCC
+AGCAGATTTGCACAGAATTCGCCCGCATCACCCACTAAACCGAAATCTTGATCATAACTGGCAGCAGGCA
+CTGACAAAAACCTCCAGCGAACGCCGGGTGGCGGTAGACATTGAACTGGGCGGCTGGCAGGAACAACTGA
+TTCTGACCCTGACCAGTGAAGAGGGCGTCAGCGTCACGCATACGCTGGATGGACAATTCGACGAAGCTAA
+TAACGCCGAAAAAGCGCTTAATAACCTGAAAGATGGTCTGGCTAAGCTGGGGCAAACCATCTATTACGCC
+CGCGATGTGCAAATTAACCTGCCTGGTGCGCTGTTTGTACCAAACAGTCTGTTAAACCAGTTCCGCCGTG
+AAGCCGCCGATATGCTTGATGCTGCGCGTCTTGCCAGTTACCAGCGCGGCAGCCGTAAACCGGTTGCTGA
+TCCTGCGCCGGTTTATCCGCAAACGCATCTGAGTTTCCTCGCGAACGTATACAACCAGAAAGCGCGTGAA
+TTTTATCATCGCTATGGTGTGCAACTGATTGACGCGGCGTATGAGGCACATGAAGAGAAGGGCGAAGTCC
+CGGTGATGATCACCAAGCATTGTCTGCGCTTTGCCTTCAATCTGTGCCCGAAACAGGCGAAAGGCAATAT
+CAAAAGCTGGAAGGCGACACCAATGCAACTGGTTAACGGCGATGAAGTATTAACGCTAAAGTTTGATTGC
+CGCCCATGCGAGATGCACGTCATTGGCAAAATCAAAAATCACATACTGAAAATGCCGTTACCGGGAAGCG
+TAGTGGCATCCGTAAGTCCGGATGATCTGCTGAAAACATTGCCGAAGCGAAAAGGGTAAAACGCCAGTTT
+TCGGGTTACTCACCACTCATCAAATCTGCATGATATTGCCTGCTGGGTAAGGTGTCACGCCGCATCCGGC
+AACACACGACTCAACGCTGTCCCGCTTCTGGTTTGCGCGATTTTTGCCAGTAAAAATGCTCGCGCAAACC
+TTCCGCCGACTCTTCCGCCACAGCACGCAATTCATCGCTGTCCGCTTCATGACGCAGCTGATGATCCACA
+TTCTTTACCCACATAAATTCATGTCCTTTGTGCCCTGCCATGAGTTGTCCTGAGAACAGTGCACACGTTA
+ATAAGACAACCGATAACGCCTTCGAAAACATCCCGCCACCTTTTTCTGACCTTTTGCCGCTATGATGCCG
+ATCGTTTCTTGAGGTTATTATTCAGTTTTGCAAATTAGAGCAAAGAAATTCTGGAATCTTCCTTCCTGAT
+TTTGCATTGCATTCTGCCGTTGCGGCGATTTAGTGCTATTTTCGAGCACATTACACACGGAGGTAAACTT
+CGCCATTAAATAGTCACGATCACTTTATTGAAGTGCCTTTGAGCGTCGCCTCTAAGGTATTGCTGTTAAA
+TGCTTTTTTACAGTCAGAAATCACTCAGCAAGGGTTAGCCAGGCGAATTGGCAAACATAAACAGGAGATT
+ACTCGCCTATTTAATTTGCACCATGCGACAAAAATCGACGCCGTCCAGCTCGCGGCTAAGGCGCTTGGCA
+AAGAGTTATCGCTGGTGATGGTTTAATTACAGTTAACGAAAAGTTGTCATTTTTAACAACTGATATAGAC
+TGCCGAATCATCTGCACATAATTACGATTCGATAATGAAAAAATACCAGCAGCTTGCAGAACAATTACGC
+GAGCAGATTGCGTCGGGTATCTGGCAACCCGGCGATCGTTTGCCTTCGTTGCGTGACCAGGTGGCGCTTT
+CTGGCATGAGCTTTATGACTGTCAGCCATGCCTATCAGTTGCTCGAAAGTCAGGGATATATTATCGCGCG
+ACCGCAATCGGGTTATTACGTTGCGCCACAGGCAATAAAAATGCCGAAAGCGACAGTCATTCCAGTCACA
+CGAGATGAAGCAGTCGATATCAACACCTATATTTTTGATATGTTGCAGGCCAGTCGCGATCCGTCGGTAG
+TTCCGTTTGCCTCGGCCTTTCCCGACCCGCGACTTTTCCCCCTCCAACAACTAAACCGCTCGCTGGCGCA
+GGTAAGCAAAACCGCCACGGCGATGAGCGTGATTGAAAACTTACCGCCAGGAAACGTAGAACTGCGTCAG
+GCTATTGCTCGTCGCTATGCCTTACAGGGCATCACCATTTCTCCTGATGAAATTGTCATTACCGCCGGGG
+CGTTAGAGGCATTAAACCTCAGTTTGCAAGCGGTAACTGAACCGGGCGATTGGGTGATAGTAGAGAATCC
+TTGTTTCTACGGCGCGTTGCAGGCGCTGGAGCGGTTACGGCTGAAGGCGTTATCGGTAGCGACGGATATT
+AAAGAAGGGATCGATCTTCAGGTGCTGGAACTGGCGTTGCAGGAGTATCCGGTGAAAGCGTGCTGGCTGA
+TGACTAATAGCCAGAACCCACTTGGATTTACCTTAACGCCGCAGAAAAAAGTGCGGCTGGTAGCGTTGCT
+CAATCAGTACAACGTAACGCTGATTGAAGATGACGTTTATAGCGAACTTTATTTTGGACGGGAAAAACCG
+CTGCCTGCGAAAGCGTGGGATCGCCACGATGGTGTTTTGCATTGCTCTTCGTTTTCGAAATGTCTGGTGC
+CTGGTTTTCGTATTGGTTGGGTCGCCGCCGGAAAACATGCACGTAAAATTCAACGCTTGCAGTTGATGAG
+TACGCTTTCCACCAGCTCACCGATGCAGCTTGCGCTGGTGGATTACCTTTCTACTCGCCGATACGATGCT
+CATCTTCGTCGTCTGCGTCGCCAGCTTGCGGAACGTAAACAACGCGCCTGGCAGGCTTTGCTGCGTTATC
+TGCCTGCGGAAGTCAAAATTCATCACAATGACAGCGGTTATTTTCTCTGGCTGGAGCTCCCCGAGCCGTT
+AGATGCAGGAGAATTAAGCCTGGTGGCACTGACGCATCATATCAGTATTGCGCCGGGTAAAATGTTTTCT
+ACCGGTGAAAACTGGTCACGTTTTTTTCGTTTTAATACCGCGTGGCAGTGGGGAGAACGTGAAGAACAGG
+CGGTAAAACAATTAGGCAAACTTATTCAAGAACGGCTGTAATAGCGTTTAATTTAATTCCTCTCAGGTTG
+GGTAATATGAATTTCGAATAGCAGTCATATATCCTAACTCCTTGTCTATACTCCAGAAGATAACCTTACA
+GACGGCATAATGCGCGGTAGCTCACAACCTGATTAAATTTTCTCAGGGCCGAAGGTGTGCCTGCAAGCCG
+CCGTCTATGGTTAAACAAGGAGATATTTTTACGGCACGGCGGCTGAACAATTAATTACGACAGGAGTAAG
+ACCTTATGAGCAAGACATTTGCCCGCAGCAGCCTGTGTGCGCTCAGCATGACAATAATGACCGCTCACGC
+CGCCGAACCGCCTACCAATTTAGAGAATCCGGAAGGGCGACTGGATATTATCGCCTGGCCGGGATACATC
+GAACGCGGACAAACTGATAAACAGTACGACTGGGTAACGCAATTCGAAAAAGAGACAGGCTGCGCGGTGA
+ATGTTAAAACCGCCGCGACTTCCGATGAAATGGTCAGTCTGATGGCCAAAGGGGGTTACGATCTGGTTAC
+GGCATCCGGCGATGCCTCGCTGCGTTTGATTATGGGCAAACGCGTGCAGCCAATTAATACCGCCTTGATT
+CCCAACTGGAAAGCGCTCGATCCGCGCGTGGTTAAAGGCGACTGGTTTAACGTTGGCGGCAAAGTTTACG
+GCACACCTTACCAATGGGGGCCGAACCTGCTGATGTACAACACTAAAACCTTCCCGACGCCGCCGGATAG
+CTGGCAAGTGGTTTTTGTTGAGCAGAATCTGCCGGACGGCAAGAGCAATAAAGGCCGGGTACAGGCTTAT
+GATGGCCCTATCTACATTGCGGATGCCGCGTTGTTCGTCAAAGCCACGCAGCCACAGTTGGGCATCAGTG
+ATCCGTATCAACTCACCGAAGAACAGTATCAGGCGGTGCTGAAAGTGCTGCGCGATCAACATAATTTGAT
+CCATCGCTACTGGCATGACACTACCGTGCAAATGAGCGATTTCAAAAACGAGGGTGTGGTGGCTTCCAGT
+GCATGGCCCTATCAGGCCAACGCCCTGAAAGCCGAAGGCCAGCCTGTCGCTACCGTTTTCCCGAAGGAGG
+GCGTTACCGGTTGGGCTGACACCACCATGCTACATAGCGAAGCGAAACATCCGGTTTGCGCCTACAAATG
+GATGAACTGGTCATTAACCCCAAAAGTGCAGGGCGATGTGGCGGCCTGGTTTGGCTCGTTACCAGTAGTG
+CCGCAAGGGTGTAAAGCCAGTCCGTTATTAGGCGAGAAAGGTTGTGAAACAAACGGTTTTAACTATTTCG
+ATAAAATCGCCTTCTGGAAAACGCCTATAGCAGAAGGGGGCAAGTTTGTTCCCTACAGTCGCTGGACGCA
+GGATTACATTGCCATTATGGGCGGTCGCTAACTTCGCTGGGGTGTTTTATGACGTACGCAGTGGAGTTTG
+ACAACGTCTCACGGTTGTACGGTGACGTGCGCGCAGTAGATGGCGTCAGTATTGCGATAAAAGATGGTGA
+GTTCTTCTCTATGCTGGGGCCGTCCGGCTCCGGCAAAACCACTTGCCTGCGCCTGATTGCTGGATTCGAA
+CAGCTTTCCGGCGGGGCTATCTCTATTTTTGGTACGCCCGCCAGCAATCTGCCACCGTGGGAGCGGGACG
+TGAATACTGTCTTCCAGGACTACGCGCTATTTCCGCATATGTCGATTCTTGACAACGTAGCCTACGGGCT
+GATGGTCAAAGGCGTGAATAAAAAGCAGCGGCATGCAATGGCGCAAGAGGCGCTTGAGAAAGTGGCGTTG
+GGGTTTGTACAGCAACGTAAACCGTCACAACTTTCTGGTGGTCAGCGCCAGCGAGTCGCCATCGCCAGAG
+CACTGGTGAACGAACCGCGTGTGTTGTTGCTGGATGAACCGCTCGGCGCGCTGGATCTCAAATTGCGAGA
+GCAAATGCAGCTTGAGCTGAAAAAGCTGCAACAGTCTCTCGGTATCACTTTTATCTTCGTTACCCACGAT
+CAGGGCGAAGCGTTATCGATGTCCGATCGGGTGGCGGTTTTCAATAATGGACGCATTGAACAGGTCGATT
+CTCCGCGCGATCTCTATATGCGCCCGCGCACGCCGTTTGTTGCGGGATTCGTTGGGACATCGAATGTTTT
+TGATGGACTGATGGCAGAGAAACTTTGTGGCATGACGGGAAGCTTCGCACTACGACCGGAACATATCCGC
+CTCAACACCCCTGGCGAAATGCAGGCTAATGGCACGATCCAGGCGGTGCAGTATCAGGGCGCAGCGACCC
+GTTTTGAACTGACACTGAGCGGCGGTGAAAAACTGCTGGTGAGTCAGGCCAATATGACAGGCGAAGAACT
+GCCTGCCACGCTCACGCCCGGACAACAGGTGATGGTTTCCTGGTCGCGTGATGTGATGGTGGCGCTGGTT
+GAGGAGAGGTGAATGGCGATGAACGTATTGCAATCACCTTCACGTCCAGGTCTGGGTAAGGTGTCCGGTT
+TCTTCTGGCGTAATCCGGGGCTGGGGCTGTTTTTGCTGCTGCTTGGCCCGCTAATGTGGTTTGGCATTGT
+CTATTTCGGCTCGCTGCTGACGCTGTTATGGCAGGGCTTTTATACCTTTGACGATTTCACCATGTCGGTA
+ACGCCGGAACTGACGCTGGCGAATATCCGTGCGCTGTTTAATCCGGCGAATTACGACATCATTGTCCGCA
+CGCTGACCATGGCTGTGGCAGTCACTATCGCCAGCGCCATTCTGGCTTTTCCAATGGCGTGGTATATGGC
+GCGCTATACCAGCGGAAAAATGAAAGCGTTTTTTTATATTGCGGTAATGTTGCCGATGTGGGCGAGCTAC
+ATTGTTAAAGCCTATGCCTGGACGTTATTGCTGGCAAAAGATGGCGTGGCGCAGTGGTTTTTACAACATC
+TGGGGCTGGAACCACTGCTGACTGCGTTCCTCACGCTACCGGCGGTGGGCGGCAATACGCTGTCAACTTC
+CGGGCTGGGGCGCTTTCTGGTGTTTCTCTATATCTGGTTGCCGTTCATGATCCTCCCGGTGCAGGCGGCG
+CTTGAGCGTTTGCCGCCGTCATTGTTACAGGCGTCGGCTGATCTTGGCGCACGTCCACGACAAACCTTTC
+GCTATGTGGTGCTGCCGCTGGCGATCCCGGGTATTGCCGCTGGCTCTATCTTTACCTTCTCACTCACGCT
+GGGCGATTTTATTGTCCCGCAGCTGGTTGGCCCTCCAGGATATTTTATCGGCAATATGGTTTATTCCCAG
+CAGGGGGCGATTGGCAATATGCCGATGGCGGCGGCATTCACCCTGGTGCCGATTGTTCTCATCGCACTTT
+ACCTGGCGTTCGTGAAACGTCTGGGAGCGTTCGATGCACTCTGAACGCGCACCGTTTTTCCTCAAACTGG
+CGGCCTGGGGCGGCGTGGTTTTCCTACATTTTCCCATCCTGATTATCGCTGCCTATGCGTTTAACACTGA
+AGATGCGGCGTTTAGTTTTCCACCGCAAGGCCTGACGCTGCGCTGGTTTAGCGTGGCAGCACAGCGTAGT
+GATATTCTTGATGCCGTGACACTGTCACTTAAAGTGGCGGCGCTGGCGACATTAATCGCGCTGGTGTTAG
+GGACGCTGGCCGCTGCCGCGCTGTGGCGACGAGACTTTTTCGGCAAAAACGCCATTTCGCTGTTACTGTT
+GCTGCCCATTGCGCTGCCGGGCATTGTCACTGGTCTGGCGCTATTAACCGCTTTTAAAACCATCAATCTG
+GAGCCGGGATTTTTCACCATCGTGGTCGGTCATGCGACTTTTTGCGTAGTGGTGGTGTTTAACAATGTCA
+TCGCCCGTTTTCGCCGCACCTCGTGGAGTCTGGTTGAGGCGTCAATGGATCTTGGGGCCAATGGCTGGCA
+AACCTTCCGCTACGTAGTGTTGCCGAATCTCAGTTCGGCGTTACTGGCTGGAGGAATGCTGGCGTTTGCC
+TTGTCGTTCGATGAAATCATCGTGACGACTTTTACGGCAGGTCATGAACGAACGTTACCGTTGTGGTTGC
+TCAATCAGCTTGGGCGACCGCGTGATGTACCGGTAACCAACGTGGTGGCACTGCTGGTTATGTTGGTAAC
+AACCTTGCCGATCCTGGGGGCCTGGTGGCTAACCCGCGAAGGCGACAATGGTCAATAACCACTGATACAG
+GAATATGCTATGCAACATAAGTTACTGATTAACGGAGAACTGGTTAGCGGCGAAGGGGAAAAACAGCCTG
+TCTATAATCCGGCAACGGGGGACGTTTTACTGGAGATTGCCGAGGCATCCGCAGAGCAGGTCAATGCTGC
+TGTTCGCGCGGCAGATGCAGCATTTGCCGAATGGGGGCAAACCACGCCAAAAGCGCGTGCGGAATGCCTG
+CTGAAACTGGCTGATGTTATCGAAGAAAATGGTCAGGTTTTTGCCGAACTGGAGTCCCGTAATTGTGGCA
+AACCGCTGCATAGTGCGTTCAATGATGAAATTCCGGCGATTGTCGATGTCTTTCGCTTTTTCGCCGGTGC
+GGCGCGCTGCCTGAATGGTCTGGCGGCAGGTGAATATCTTGAAGGTCATACTTCGATGATCCGTCGCGAT
+CCGTTGGGGGTCGTGGCTTCTATCGCACCGTGGAATTATCCGCTGATGATGGCTGCGTGGAAACTGGCTC
+CGGCGCTGGCGGCAGGGAACTGCGTAGTGCTTAAACCATCAGAAATTACCCCGCTGACCGCGTTGAAGTT
+GGCAGAGCTGGCGAAAGATATCTTCCCGGCTGGCGTGATTAACGTGCTGTTTGGCAGAGGCAAAACGGTG
+GGAGATCCGCTGACCGGACATCCCAAAGTGCGGATGGTGTCGCTGACGGGTTCTATCGCCACTGGGGAAC
+ACATCATCAGCCATACCGCGCCGTCCATTAAGCGTACTCATATGGAACTTGGTGGCAAAGCGCCAGTGAT
+TGTTTTTGATGATGCGGATATTGAAGCAGTGGTCGAAGGTGTACGTACTTTTGGCTATTACAATGCCGGA
+CAGGATTGTACTGCGGCTTGTCGGATCTACGCGCAAAAAGGCATTTACGATACGCTGGTGGAAAAACTCG
+GTGCTGCGGTGGCAACGTTAAAATCGGGTTCGCCGGATGACGAGTCTACGGAGCTTGGACCTTTAAGCTC
+GCTGGCGCATCTCGAACGCGTCAGCAAGGCGGTAGAAGAGGCGAAAGCGACAGGGCACATCAAAGTGATC
+ACTGGCGGTGAAAAGCGCAAGGGTAATGGCTATTACTATGCGCCGACGCTGCTGGCTGGCGCATTACAGG
+ACGATGCCATCGTGCAAAAAGAGGTATTTGGTCCGGTAGTGAGTGTTACGCTCTTCGACAACGAAGAACA
+GGTGGTGAACTGGGCGAATGACAGTCAGTACGGACTTGCATCTTCGGTATGGACGAAGGATGTGGGCAGG
+GCGCATCGCGTCAGCGCGCGGCTGCAATATGGTTGTACCTGGGTCAATACCCATTTCATGCTGGTAAGTG
+AAATGCCGCACGGTGGGCAGAAACTTTCTGGTTACGGCAAGGATATGTCACTTTATGGGCTGGAGGATTA
+CACTGTCGTCCGCCACGTCATGGTTAAACATTAAGGATAATATTGCAGATCGTAAGAGTATGAGATGATC
+TTGCGTACTGTCAGAGCACTGATTTCTCTGACAGTACGTGCTGCGTGCAAAATCACTACATCAAATAAAC
+CAGCCAAATCTCATAGAGATAAGAGTAAACAAACCAACAGCAGCAAAGACATTTATCAGTACTACAGTTC
+TACTGGAAACATTCATTTTTGCCACCTTTTATCATTGCCCCTATGTGTATAGTACGGGTTAAGAAAATCC
+GCAATAATACTCATTCTGAAGATGGATAAGGGCAAGTTGCTGTTTGATGATTTTTTCTCAAACTGGTGAA
+AAAACTTGATGCACGTCAAAAAATGACGCATATTTGCGCGCGTTTTATTCATCTGGCTGGACGCCCGTAC
+ATGTCTCTCTATCAACACATGCTTGTTTTTTATGCGGTTATGGCAGCAATCGCATTTCTTATCACCTGGT
+TTCTTTCTCACGATAAGAAACGCATCCGTTTCTTAAGCGCCTTTCTGGTGGGGGCAACATGGCCGATGAG
+TTTCCCGGTGGCGCTGTTGTTTTCTCTGTTTTAAATCTTACGCACTGGCTTGACGGCACCACGCAGACTT
+ATATCATTTGGATGAATCGATAAATTTCACAAGTGGCTAAGGAGAAAGTATGTCGCATCTGGATGAAGTC
+ATCGCGCGCGTGGATGCCGCGATTGAAGAGAGCGTCATTGCCCATATGAACGAATTATTAATCGCCCTGA
+GCGATGACGCGGAGTTAAGTCGGGAAGATCGCTACACCCAGCAGCAGCGTTTGCGCACCGCTATTGCTCA
+TCACGGTCGCAAACATAAAGAAGATATGGAAGCGCGCCACGAACAGTTAACCAAAGGCGGTACCATCCTC
+TGATTAAAATGAGCGTCTGGCCACCAGCCAGGCGCCAACCACAAGTAAAATTGCGCCACAAATTGGGCCG
+ATCAACGCCCGAAGTGGTACGCCATGGCTGCGGAAGATATCCAGCACCAGACCGCCAATCAGCTGGCTGG
+CGACCAGTACTGCAATAGTTGTCGCCGCTCCCACATTCTGATATCCGCTGATACTGGCGAAGACAAAAAA
+CGATCCCAGCAAGCCAGGTATAAGTGTCCACCAGCGCACGCTGGACACCAGTTCGCCAAACCCCGCCATG
+CCTTGTTTAAACCATAAAATAGAAACAAAGAGCACAATCCCCACCAGTGAGTTCAGCAACATGGCGATGA
+GAATGGTAGAGGAGGTCTGGGTGATGCGCACCATCAGCGTGTTCTGGACTACCAGACCAATCCCGGCTGC
+AATCAAAAAGGCAAGGGTAAGTGACTGATTCATCCAATCGCGTCCGGTTCAGTGCGCTCGTCGAGTTGCA
+ACTGCATAAATGTCAGATCCAGCCAGCGCCCAAATTTAGTACCTACCTGCGGCATTTGCGCGGTGACGAC
+AAATCCCAGCGACTGGTGAAGATGCAGCGAGGCCTGATTTTGCGATTCGATCCCGGCGACCATGACATGC
+TTCCCGCAATCCCGCGCTTCATCAATCAATCGGCTTAACAATTTACGCCCCAGACCTTTCCCCTGATGAT
+CGGGATGGACATAAACCGAATGTTCCACGGTATGGCGAAAACCATCAAAACTACGCCAGTCGCCAAACGA
+GGCATATCCCGTCACTACGCCATCTTCTTCACTCACCAGCACCGGATAACCTGCTATGGTCCGCGCTTCA
+AACCAGGCAATGCGGTTATCCGCATCCACCGTTTGGTCATTCCAGATAGCCGCCGTATACAACACGGCGT
+GGTTATAAATTTCCGCAATTGCAGCACAGTCGGCTTTGCGGGCAAAACGGATGGACATGTCTGGCCTCGA
+TAAAATAATGATGATGATGTTATCAATACTATCGAAAACAGCCCGAAGCAACGGATTCCTCTATGAAATT
+ATTGCGTGTTGCAGAGGGGATGTGACGGCTGCAAACAAAACCAATCCTGTGAGCCTGCTACTATTGATGG
+ATTCATGCCAAAAGCACAGGAGAGCATTATGGGGCAACAAACGCAGCGTAACCGATGTTGGGTTCTGTCC
+TTGCGTCCGCATGGCGCGCCGGTTCCTTACGTCTGGTTTCGGTAAATGCGCTCTTTGTCGCACCAGCGCA
+AGCATTTACAGTTCCGGAAGTGGGAAAACGTCAATTAAATGAAATCAATCGGATCCGCTACGAACTGGAA
+TTAATGGCAGTTGCTCTGGCTGTCGAAAACCTCACTATGCAAAAAAACGTTGCTTTGTTGTGCCAACAAT
+ACAGCCGATAAATAAAATACGCCCGGCAAATACCGGGCTTAAAGATAATTACTCAAATCGCCACGCAATA
+TTTATGCCGACACCATAATTTCGTCCGGGCGCAGGTTCGTAATATCGCCCGTTTGACTCATTGACAATGA
+CAGAGCCAACGTATTCTTTATCGAATAAATTATCGACACGACCAAATAAATCCACGGTAAAATTGTGGTA
+ATTGTATTTATACCCGGTGAATAAGCCGACGAGTGTATAAGAAGGCGCTTTGGCCGTATTTTCATCATCT
+GCCATAATATCGCCCATATAACGCGCTTCCGTGCCTGCATACCAACCATCTTCCGGTATATAACCTATCG
+ACGCAAAGGCCATATTACGGGCGATCCCTGGCATCCGGTTACCGTTACAATCCTGTTCATTGCAAACATT
+GCTGCGATAGGTCGCATCAAGCCAGGTCCAGGACGCTTTTACGCGAAAATCTCCCGCGAAACGTTGATCC
+CATGCCAGTTCAGCGCCTTGACGACGGGTCTTTCCGGCATTTTTGTAAGTCGTACGCCCACCGCTACTGC
+TATCGACAACAATTTCATCATCGGTGTCGGTCTGGAACAATGCGAGACTAAGCAGCCCATCACCAATACG
+CGTTTTACTGCCGATCTCAATTGTATCGTTGGTGGAGGGTTTTAAACCAAAGTTCATACCGCTTTGCCCA
+TCAGCGCGATAAGACAGTTCATTAATCGTCGGCGTTTCAAAACCGCGCCCGGCTGCCAGATAGACATTCC
+AGGCATCGGTCATTGCATATTTTAACGATCCGGCTGGTAGCCATTTGTGATAACTGGCATCACCGCTGTC
+GTCGCCGTTACCCGGAGTAACGTAATGATCATTGGAATCAAACCACACAGAGCTGTAGCGCACGCCAGCA
+TCCAGCGAAAGTTTGTCGGTCAGTTGCCACTGGGTTTGTAAATAGGGATCGACGTTCCACATCAAATTGC
+GTTCGTCGCGGCGCAACTCACCTTTTTGCCCGTATTCCGGCACGCCGCGATTCAGGCGGAAGTTATTGTA
+ACCCTTGCGGTTTTCACTCATGTTTTCGTAGTTCAGGCCGGTTGTGAACGTGACTGGAACGCCCAATTCA
+CCACGCTGTGTCCAGCGGCTGTCTATCCCCTGGTAATGGCGTTGCAGGGTAATCACGCCGCCCGCATGTG
+ACGGGTTAAGTTGCGGAGCCATGGGGATTGACTGGTACTGGGTCGTTTCTCGCTCTCCGGCATACATCAT
+TACACTCATATCATCTTGCGCGCTCAGGCTACGTTCATAGCGCAACCCAGCCTGAGTTTGCTTGATGGTT
+TTTCGCGTGTCGTACTGTTCTGCACGAGGCGCTTGTTGTGGATTCGCCTTCCATTCTGCTTCGGTTAGCC
+CACCTGGGTCATCTGCTTTGATATCCACACTATTGAAAATCAGGCTTAATTTGCTGGCGTCATCAATGCG
+TACGCCCAGTTTGGCATTGGCTAAATTTTTCTGTGCGCCGCTATGGTCACGATAGCCGTGGGTCGTAAAA
+CGTGTGGTTGAGACGGTGTAATCGACATCGCCGGGTTGTGTGCCGTCGCCCGTTGCGCCCGTAGCTTTCA
+GCCCATAGCGCCAGCTGCCAAAACTGCCGTAGTAACTACTGGCTTCAATGGTTGGTGGCTGTTGTCCGGT
+CTGGGTGGTGACATTCATTACACCGCCAGACGCGTTGCCATACAGAGCAGAGAAGGGGCCACGCAGCACT
+TCCACATTTTGCACACTGCTTAAATCGATGTTAGATGTTTGCCCTTGTCCGTCGGGCATGGTAGCGGGAA
+TACCGTCCACATACAGGCGAATACCGCGAATTCCGTAAGTAGAGCGGGAGCCAAATCCGCGAATCGACAG
+CTGTAAATCTTGCGCATAGTTCTGCCGGTTTTGTACCTGTAAACCAGGCACTCCGGTCAGTGATTCAGAC
+AAGTTAATGCGCGGTGTTGCCAGGCGCATCTCCTCGCCATCCACCACGCTCACGGCTGCTGGGGTATCCA
+GTTCTGAAACCACCTGCGGTGCGGCACTGACAATCATGGTCTGTTCATCAGCGGCAAAAACAACGGGGGA
+AAGGACAAGCAGTGCGGGCAAAACGGTCTGTCGGACGGAAAAAATCTTCATGAAAAAAGCCAGGTTAAGA
+ATGGGAAAACACCGTCATGGTAATGAAATTGTAAATTTATGGAAAACTAAACGGCACAATACGTTAAGTA
+ATTGAGAAAATTGTAGTCGTAACGGTAAGAAATGCTCCACATTTGAGAAAATAATGATTACCATTCCCAT
+TTATAACAAGGGCGTAACGATGATTACGCTTAGCGAAGCATTGTGAAGCAGCAAAAATATCGGTTCATCA
+AAGGGAGTCGTCATGCATTTACGTCATCTGTTTTCATCGCGCCTGCGTGGTTCATTACTGTTAGGTTCAT
+TGCTTGTTGCTTCATCATTCAGTACGCAGGCCGCAGAAGAAATGCTGCGTAAAGCGGTAGGTAAAGGTGC
+CTACGAAATGGCTTATAGCCAGCAAGAAAACGCGCTGTGGCTTGCCACTTCGCAAAGCCGCAAACTGGAT
+AAAGGCGGCGTGGTTTATCGTCTTGATCCGGTTACTCTGGAAGTGACGCAGGCGATCCATAACGATCTCA
+AGCCGTTTGGTGCCACCATCAATAACACGACTCAGACGTTGTGGTTTGGTAACACCGTAAATAGTGCGGT
+CACGGCGATAGATGCCAAAACGGGCGAAGTGAAAGGTCGTCTGGTGCTGGATGATCGTAAGCGCACGGAA
+GAGGTACGCCCGTTGCAACCACGTGAGCTGGTAGCTGATGATGCCACGAACACCGTTTACATCAGTGGTA
+TTGGTAAAGAGAGCGTGATTTGGGTCGTTGATGGCGAGAATATCAAACTGAAAACCGCCATTCAGAACAC
+CGGTAAAATGAGTACCGGTCTGGCGCTGGATAGCAAAGGCAAACGTCTTTACACCACTAACGCTGACGGC
+GAATTGATTACCATCGACACCGCCGACAATAAAATCCTCAGCCGTAAAAAGCTGCTGGATGACGGCAAAG
+AGCACTTCTTTATTAACATCAGCCTTGATACCGCCAATGAGCGTGCATTTATCACCGATTCTAAAGCGGC
+AGAAGTGTTAGTGGTCGATACCCGTAATGGCAATATTCTGGCGAAGGTTGCGGCACCGGAATCACTGGCT
+GTGCTGTTTAACCCAGCGCGTAATGAAGCCTACGTGACGCATCGTCAGGCAGGTAAAGTCAGTGTGATTG
+ACGCGAAAAGCTATAAAGTGGTGAAAACGTTCGATACGCCGACTCATCCGAACAGCCTGGCGCTGTCTGC
+CGATGGCAAAACGCTGTATGTCAGTGTGAAACAAAAATCCACTAAACAGCAGGAAGCTACCCAGCCGGAC
+GATGTGATTCGTATTGCGCTGTAATAGATATGGCGAGGGTGAAAACGGAAAGAATTACATGACTTTTATC
+ACGCCGCATCCGGCACCTTCGTCAGTAGTCTGAATTTGCCCGGCACGTAGCCGGGCAATTTTGCAATTAA
+CTCGATGTTTCAGGCTTAAACACAATTTCCTGTTTTTCTTCATCTTCCGCGACGACTGGCGCAGTGCTGT
+GAATTTCAGCAACGCGTTTGCGCACACCAAACCAGCCTATAACCAGCAGAATACCGATAATCGGCAGTGC
+CGCGATGGTATAAGTCCCGTTCGGGTAATCGAACGCCATCAGCACCAGGACACTCAGTAAAAACAGTAAT
+GTCAGCCAGGAAGTGAAGGGCGCGCCAGGCAGTTTAAAACTGACATCCGCTGCTTTGCCTTCTTTAATCG
+CTTTACGCAGGCGCATCTGGCAAACGATGATAAACGCCCATGAAGCGATGATTCCCAGCGACGCGAAGTT
+CAACACAATCTCAAATACGCGTGACGGCACCAGATAGTTGAGGAATACGCCGACGACATACACAACCAGT
+GTCGCCAGAATCCCGGCATACGGCACATGCTGACGACTCATTTTCGCCATAAAACTCGGTGCGGAACCGC
+CCATCGCCATCGAGCGCAGAATACGCCCGGTGCAGTACAGACCTGAATTCAGGCTGGAGAGGGCAGCGGT
+CAGCACCACAATGTTCATAATGCTGCCGATGTACGGCACACCCAGTTTAGAGAAAAACGTCACGAACGGA
+CTTTGCCCCGCCTGATACGCGCTCCACGGCAATAACATAACCAGCAACACCACGGAGCCGACGTAAAACA
+GACCAATACGCCAAATCACACTGTTAATCGCTTTAGGCACCATGGTCTGCGGATCTTTACATTCTCCGGC
+CGCTGTACCCACCATTTCAATGGAGGCAAAAGCAAACACTACGCCCTGAATCAACACCAGCGCAGGCAGC
+AAACCGTGGGGGAAGAAGCCGCCATTATCGGTGATTAAATGAAAGCCAGTGGTGTTGCCATCCAGCGGCT
+GACCACTACCGAGGAACACTGTACCCACGACCAAAAAGGTTACAATGGCGAGCACTTTAATAAGCGCAAA
+CCAGAACTCCATCTCCGCAAACCATTTCACACCGATCATATTCATGGTGCCAACGATGGTCAGTGCAGCG
+AGCGCAAAGACCCACTGCGGCACGCCGCCAAACGCGCCCCAGTAATGCATATACAGAGCGACGGCGGTAA
+TATCAACAATCCCCGTCATCGCCCAGTTGATGAAGTACATCCAGCCAGCAACATAAGCGGCCTTCTCACC
+CAAAAACTCACGGGCATAAGAGACAAAACTGCCACTGGAAGGGCGGTGTAACACCAGCTCACCCAATGCA
+CGCAGAATAAAAAACGAAAACAGGCCGCAGATCAAATAGACCAGTGCCAGTGCGGGCCCCGCCATTTGCA
+GTCGCGCCCCCGCGCCTAAAAACAAACCCGTACCAATCGCGCCGCCAATGGCGATCATCTGTACCTGGCG
+ATTGCCCATCGCTTTGTGATACCCCTCTTCGTGGGCATTAAGCCAGCGGCGTTTCGCGGCGTGTTGATCT
+GAAGTGTCGGTGTTGTGTTTACTCATTGCTCTCCCTGATTGCTTTAATGAAAAAGTCATATAAGTTGCCA
+TGAACAATGTTTATTCATCCTGGCGATGATAGTTATCACCATTATTCTTTATGGGTATAAAACTATCGGC
+GCAGCATCCTACCCGTTATCGATAAACGATGCAAAACATCCCCTTACAATCCTGAAGGGGATTTATACAA
+CTGACGAAAAAATGATAAATCCTTTTGCTGGATAACCTGTGTGCTGTCCTACACTTAATCTTTAAAAGAT
+TGTGAGGGGCATATGATTAAGGTGTATGGCGTACCCGGCTGGGGCTCTACAATCAGTGAGCTGATGCTAA
+CACTGGCTGATATTCCTTATCAGTTCGTTGATGTCAGTGGTTTTGACCACGAGGGAACTTCACGCGATTT
+ATTAAAAACCCTGAATCCGTTGTGTCAGGTTCCGACACTGGCGCTGTAAAAATAACGAGATTATGACGGA
+GACAGCGGCGATTGCATTGATGGTTCTCGATCGTCGCCCGGACCTTGCGCCACCTCTTGGGCGCGCCGAA
+CGTCAACAGTTTCAACGGCTATTGGTCTGGCTGGTTGCTAATGTCTATCCAACGTTCACTTTCGCCGATT
+ACCCTAAGCGTTGGGCATCTGACGCACCTGTAATTGAATATCGCAAATCGCTTTATATCTGGCTGAATTC
+GCAATTGACTGCTGAACCGTATGTGTTTGGAGAGCAACTAACGCTGGTGGACTGTTATCTCTGCACCATG
+CGCACATGGGGACCGGGACACGAATGGTTTCAGGATAATGCCCCGAACATTAATGCGATTGCTGATGCTG
+TATGTCAGATACCGAAATTACAAGAAGTATTAAAAAGGAATGTCATTATTTAACAATAATGCCGGAGGTT
+AATGTTAATGAATCACTGGCGTAGTTAACTGGACGTCCATTTGTTTGCTATGAATAGCAATTAATGTTGG
+CACAACTATTCATATGGTTGATGTGATTTCGGTTTTTATATTAAATATCAATTTAATATAATCTGAAAAT
+AAAACATCTTTTCGCATGTAGAGAAACATGTCGATATGATAGCGCAGTGCAGATCATGTTATCAGGGCTG
+GGCGGTAGCGTATTTAATCAGGGAAAGATTACGTAACACTGCTTTTTTGTACTGGACGATTCTCATTTTA
+TGTTTAAAAATTGAGATACTCCTTATTTCCTGAAACTGTTTTTCATTGCTTATACATGATCAAATACTCC
+TTACATAATTAAGGAGAACAAAATGAAACTTAATACACGCCAACAATTTGTATTACTTAAATAGACCAGT
+GAAGGTACGTATCAGAATATCCGGTGAAGTGATTAATATTTCGTTGAATATTTCTCCGGATTTTTGAAAC
+CTGCTGCTGTAGAAATTCTGAACAGGAGGAATTATGCCTTTAGCAGCCAAACTTACCGACAAAGGCACCC
+AGCACGACGGTTATTACGAGACCGTCATCACCGCCGGGTCATCCACCGTTTTTATCGATGGTCTCCCCGC
+AGCCCGTCAGGGAGATCCGCTGACGCCGCATGCTAAACCGAAGCATCCACCTCATCCCCGAAAAATCGCC
+AGAGGCTCGTCAACCGTCTTTATTGACGGCCTGCCCGCCGCCAGAACCGGTGATGCTATTGACTGCGGCG
+GCGTGGTTATTGGTGGCGGCACGGTAAATATAGGCTGATATGTCTGAGAGGTATTTATGTCCTTAAAAGG
+TCTTCGCTTTACGCTGGAGGTTGACGGCCAGGAGCCGGACACCTTTGCAGTGGTGAATTTCAGGTTAATC
+CAGAACCAGTCTTATCCGTTTGTGATGAGTGTGGATGTCGCCAGCGATTCTTTTATGCAGACGGCGGAGA
+TGCTGCTGGAGAAGAACGCAACGCTGACTATCTGGCAGGGCGTCATTCCGCAGCGTTATGTCACCGGCGT
+GGTGGCGGGGTTTGGTATGCAGGAGAACAACGGCTGGCAGATGCGTTATCACCTGCGTATTGAGCCGCCG
+TTATGGCGGTGCGGGCTGCGGCGGAACTTCCGTATCTTCCAGCAGCAGGATATCCGGACGATATCGGCCA
+CATTACTGAACGAGAACGGCGTCACAGAGTGGACGCCGCTGTTTTATGAGGACCATCCGGCGCGGGAGTT
+CTGTGTGCAGTACGGGGAGTCGGACCTGGCGTTTCTGGCGCGGCTGTGGGCGGAGGAGGGGATTTTCTTC
+TTTGAGCGGTTTGCGGCGGACAGTCCGGAGCAGAAGCTGACGCTGTGCGACGATGTGGCGGGGCTGTCAC
+AGGCGGGGGAGCTTCCGTTTAACCCGGACACATCGGCAGGAGCGGAGACGGAGTGTGTCAGTATGTTCCG
+TTATGAGGCGCATGTCCGCCCGTCATCGGTGCAGAGCCAGGATTACACGTTTAAGGTGCCGGACTGGCCG
+GGGATGTATGAGCAGCAGGGTGAGAGCCTGAACGGACAGCTTGAACAGTATGAAATATTTGATTATCCGG
+GAAGGTACAAGGATGAACAGCACGGCAAGGATTTCACGCTGTACCGGATGGAGAGCCTGCGCAGTGATGC
+GGAAAAGGCCACAGGGCAGAGTAATTCGCCGAAGCTGTGGCCGGGAACGCGGTTTACGCTGACGGGGCAT
+CCGCAGAAGATGCTGAACCGTGAATGGCAGGTGGTACAGAGCATTCTGTCAGGAGACCAGCCGCAGGCGC
+TTCACGGCAGCCAGGGGAGAGGAACCACGCTGGGCAATCAGTTAGAGGTGATACCGGCGGACCGGACGTG
+GCGTCCACGGCTGCAAAGCAAACCGAAGGTGGACGGGCCACAGAGCGCCATTGTCACCGGGCCTGCGGGA
+GAGGAAATCTTCTGTGATGAACATGGCCGGGTACGGGTGAAGTTTCACTGGGACAGGTATAACCCGGCAA
+CGGAGGCGAGTTCGTGCTGGGTGAGGGTGTCACAGGCGTGGGCGGGGCCGGGGTTTGGTAACCTGGCGAT
+ACCGCGCGTGGGCCAGGAGGTGATTGTTGACTTCCTGAACGGGGACCCGGACCAGCCGATAATCATGGGG
+CGGACGTACCATGAGGACAACCGTTCGCCGGGGAGCCTGCCGGGGACGAAGACGCAGATGACGATACGGT
+CGAAGACCTATAAAGGAAGCGGCTTTAATGAACTGCGGTTTGAAGACGCAACGGGCGGTGAACAGGTCTA
+TATCCACGCGCAGAAGAACATGGATACGGAGGTGCTGAATAATCGGACGACGGATGTGAAGGCTGACCAC
+ACGGAGACCATTGGTAACGACCAGAAGATAACGGTGGTGAAGGGGCAGACGGTTCAGGTCGGGACCAGAA
+AAGAAGGGGGCCACGACCAGAGTATCACGGTGGCGAACGACCGGTGCATCACGGTACGTAATGACCAGAC
+GCTGCAGGTGACGAATGACCGGACGGTGAGCGTGAGTAATGATGACGGCCTGTACGTCAGAAATGACCGT
+AAAGTGACGGTGGAAGGGAAGCAGGAGCATAAGACGACGGGGAACCATGTCAGCCTGGTGGAGGGAAAGC
+ACAGCCTGGTGGTGAAGGGGGACCTGGCGAGGAAGGTGAGTGGCGCGCTGGGGATAAAGGTCGACGGGGA
+TATCGTGCTGGAGAGCAGCAGCCGGATAAGCCTGAAGGTGGGTGGCTCGTTTGTGGTCATCCATTCAGGG
+GGCGTGGACATCGTCGGGCCGAAAATCAGTCTCAATAGCGGCGGTAGTCCGGGGACGCCGGTGCCGGCGC
+TGCAACCGGCGGTGCTGAAGACACTGGGGGATGAGAAGAGTGGTGATGGCAGTGATTCCGGAGAAGAAAA
+TGAAGACTCTGGAGGGAACTGCGTGACCGGAAGTGGTGGTGATGATCGAGGTGACGATGAGGATGAACCT
+GAAAAATATACTCTCCAGTTCCATTTTACAGACGATGACGGGATACCGTATTCAGAAACCCGCTACATTG
+CCTTCTTTGAGGATGGCACGCAGACCCGCGGAGAAACGGATGAAGAGGGGTATACAGAGCGTTTTTTTGT
+ATCTAGCAAACATGAAATTAAAGTGAAGTTGCTATTTGCGAATGATGATTTTCTCTCAATGGAAGGACAC
+TATGGACGATAATAATCAAACTTCTGGACAACCAAAGCCAGAGCCAGAAGAATGTGTGAAAGAGCAAAAA
+ATAACAGATCATTTTAAAATAATGATTGATAAGGCTCGTAAGGCACAAAAGTTGGTTTTGATAAAAAGAG
+CAGATGATCTTTTGAGATGGGGAGCACAGGAGGAATATGATTTCAGTAAGATCTTTGGTGTTAAAGGAAA
+TAAGGAGGTTAATATAAGAAAATATGGACATAATACAGGTAGGCGCATGAATGCTAGATTTCTTATGATG
+GATGGTGTGAGAAGATTAATGATTATAGCTAATGATTTAACAATGAGCAGTTTTATAAATTATACAGGTT
+GTAATGAATTTGCAGCATTCGTCAGCCCAAGTAAGGATATGCCCTATATAATTAACATAGGCGCAAAATT
+TGAGTATAGAGATGGCAAAAAAAATCCAGTAACGGGAAAGGATTCTCATGTTGCTACTTTATGTCATGAA
+ATGTCTCATATTCAGTGGTATTATGGGGATAATAAAAAAGGTGGTATGTGGTCACAGGATTATACAACTA
+CTGATAAATATTCAACGTGCAAAGAGGATGAAGTTTCATATGACGAACATATCCGTATTGCAACTAAACT
+GATCTCTAAACAAAAAGATCAAATATTTGAGAATGCATATAACATAGAAAGATATTTTGAAATAAGATTA
+ATTGAAAGTGAGATAGACTCGATTGATGATGAAATATTAAGCAATTCAGTTAAGAAAAAATAGCGGAATT
+AGAAAAAGCACTTCTCCATTAACTAATAAGTCGAGAAATACATTAATGCTGCAAGCTATAAAAAAATCAT
+AATAATGACAATCGTAAATATTATATTTTTCTATTCCTTTCAATCGACTGCGGATGAAATGGTTTTAATA
+AAAAAATACGGGTTTGGGCTTGAGAGAGATATCAAAGGAAGGCCATTAATTTATCCTATCGAAAATTATG
+ATGAGTGTAAGAAAAAATGCAATCATATGAATTATATAGCGGATGTCAATGCTCAATTAGCTATGAGTAA
+AAAAATAACAGGATTTTTGCTAACATAACCTTTACTAACAATAGCTCTACCACGTATTTTTTTTCTAAAC
+ATTATCTACCTATGAAAGTAAAAGATGGAAAAGGAGATGAATATGATGCGATATGCAAAAAACCATTCAG
+AATCAACTCTGGGAATATCACGTTGGACTACTTAGGTGGTTCATGTCCTTTTGAAATTAATACGAATCCT
+GAACGGTGGAATACTATTAAACCAGGTCGTAGTTTTTTGTTGAGTATAACCTTAAATGATATGTATGCCT
+TTATACCAGGAGATAATTATTATTTTATAAAATCATCTGGCTATAAATTTGTTAATGACAAGTGGTTTAC
+ACTCAAATCAATCAATAATATTTTTCTTTATTTTTTAAATTTAAAAATTAATTGTGCTGATGATTTTTTT
+GATATTAATAATTTTACTACATGTAATAATTTGTTATTAGATGAAAAAAACACTTTTTTATTAATCAGTT
+ATGGGCAATTGAGGATGAAAAAAATTCTATTTACGTCACCCCTGATGAAATTTCTATAAGTATAGACGGC
+GATAACTTAAAGTTGCCATATTAGGAATATGGGAAAGAACACGGTGCGCCGCTTTTTTGCACTAAATAAT
+TTACATTTTATGTTCAATAATTGATACTAACATGTTGGATATTAAAGGTGAAATTATCACAACTGATGCG
+ATGGGTTGCCAGAAAGATATTGCAGAGAAGATACAAAAACAGGGAGGTAATTATTTATTTGCTGTAAAAG
+GACATAAGGAGCGGATTAATAAAGCCTTTGAGTGAAACTTCCGCTGAAAATTCAGGTTAACCGCGTTCCA
+TGCAAACAATTTTCAAATATTCATCAATAAATAAGGAGTTCCATGTTTATACGACCAGTCAAACCTTCAG
+ATGTTGAACCATTAATGGATATGCTGCTTGACAGGGATCAATTTGATCAAGATGGCCTTCATCATGTACA
+AAAAACACTAACACATTATTTCTCAGGTCAATCTGCCGATTTATGGTTTAGTGCAGAACACTTGGGACTG
+GCAGGGATTGCCTACTGTGCTTCTGAAATGATGACAAATGATGTCTGAAATTTATTAATGCTCTGGATCA
+GTCCTTCCCATCAGCGCCAGGGAGTGAGACATCTGCTGATTAACGAAATAGAAAAGAGCTCACAATTAAA
+CAGGCAAGACTACTATTAGTAGAGACCGCCAGCCATATCGATTTTAGTGCCGCCCGCGCATTTTATACAA
+AACAGGGCTTTATCAATGAGGCGATAATACGCAATTACTATGATGTTGGTGAGGATAAATTAATCTTCAC
+TAAAAATATGCAATCGTGAGATAAAATATGCTTTAACTCATATGGAAACATTGCTTAAACAACTTGGTTG
+CTGCATATGATTCTTTAGCCCGCGGTAACTCGCTTACCACTGGTAACAAACGTGCCAGCACCTAAATGAT
+GCAACGTATTGAGCTTATCATCATCAAACTGCCAGCGGCCTTCGACAAATACCCGTGCGTCTGCCGCTGC
+TGATACCACTTCGCCAAATAGCGTATCGTATTTTTCTTGCGCGGAAGTTGCAGGTAGCAGGCGACACTCC
+ATCCACGCCAGACATTTTTCCTCGACCAGCGGCAAACCAAGCACCGGGCCTCTCACTACCGGAATGCCGT
+AGCAATTAAATTTATCTTCTTCACGACCCGACACACTTCCCACCGCCCACGTCCAGTTAGTCGCCGCAAC
+GCCCGGGATAACGATGCCAAACTTACCGTTACGTTCAATCAACTCCCTGGTCCATGTCGATTTATCTACC
+ACAATCGCCACGCGTGGCGGTTCAAACTCTACGGGCATCGACCAGGCTGCTGCCATAATGTTACGCCGCT
+GGGATTGCTCATCGAAACTGGTGATCATGACAGTTGGGCCATGATTTAACAGACGGCTGGCATGGTGTAA
+TTCGACGGGAATGAATTGGCTCACGATATCGCCTCGCTATGAAGGGTGTTTTAAAAGCGTAGCTCGTAAC
+GCAATAAGTAACGAAATTAACGGGATTGGCGATTTGCGAACGTGATGCATGTCCGCGATCGCACAAAATA
+GCCAGTGCGGCGTCTATTCCAGGTTATAAGTTGAGAAAACCACTAAGGGAAACGCCTGATGACGCCCATT
+CTGAATCATTATTTTGCCCGTATTAACTGGTTGGGAGCTGCTGCGGCCAATATTGATACGCTGCGTGCAT
+TGCACCTGAAACACAATTGCACCATTCCGTTTGAAAATCTCGACGTTTTGCTGCCGAGGGAAATACAGCT
+TGATGATCAATCGCTGGAAGATAAACTGGTGATAGCCCGTCGTGGCGGTTACTGTTTTGAGCAGAATGGC
+GTGTTTGAGCGGGTGTTACGCGAGCTGGGGTTTAACGTTCGCAGCTTGTTAGGTCGCGTAGTGTTATCAA
+ATCCGCCAGCATTACCGCCGCGCACCCATCGTTTGCTGTTGGTGGAACTGGAAGGGGAAAAATGGATTGC
+TGATGTCGGTTTCGGTGGGCAGACGCTAACCGCGCCGATTCGTTTAATGCCGGATATCATGCAAACCACG
+CCACACGGAGAGTATCGGTTGTTGCAAGAGGGTGATGATTGGGTATTGCAGTTTAATCATCATCAGCACT
+GGCAGTCGATGTACCGTTTTGATCTCTGCGAGCAGCAACAAAGCGATTATGTGATGGGCAATTTCTGGTC
+GGCGCACTGGCCGCAGTCGCATTTTCGCCATCATTTGCTGATGTGTCGCCATTTGCCGGACGGTGGCAAG
+CTAACGCTGACCAATTTTCATTTTACCCATTATGAAAATGGGCACGCAGTTGAGCAGCGAAATCTACCAG
+ATGTGGCGTCGTTATATGCCGTGATGCAGGAACAGTTTGGTCTGGGCGTAGATGATGCGAAACATGGCTT
+TACTGTGGATGAGTTAGCGCTGGTGATGGCGGCGTTTGATACGCACCCGGAGGCGGGAAAATAATTTATG
+TCAGGTTGCCGGATGTGGCGTAAACGCCTTATCCGGCCTACATTAGTCCGGTTGTAGGCCTGATAAGCGA
+AGCGCATCAGGCAACGGCATCAAAAATCAATGGCCCATTCAGCATGGAATAGAATCACCGCCGTGCCGGA
+AATGGTAACTTTCTCCGGTTGGTTATCTCGAATTGTCACCGTCACATCAATTACACCATCACGCCCCAAT
+GCGCGCCCCTGATGGCCTTTAACACGCAACACGTTGCCATCGTGGGATAATACGTTGTGATGTACTAACC
+ATGCTCCCATCGGACCATTGGCATTCCCGGTCACCGGATCTTCCACAATACCAATCGCAGGCGAGAACAT
+GCGACCGTCGGTTTCGCTTTTGCCTGGGCGGATCTGGAACGGGAAGAAACCATTGCAGCCAATCTGTTTG
+CTGATAGCGGTCAGCGCAGCAAGGTCAGGCGAAAGGGCATCGATATCCACTTCTGGTTTCAACGGAATCA
+TCACTTTTGAGTGTCCGGTGGTAGCCACCTGGATTGGCAAGCCTTGCAAAATATCGTCTTCAGTGAGATG
+AAGCGCGTTGATAATCGCTGCACGTGTTTCACCTGTCAGTGGTGGCTCAAAGCCTGGAGTACCTTGTTCC
+AGCGAAATACGATAATCATCATTTTGCTTTTCGATAGTCACACGATGTTTTCCTGCCAGCGATGTTTGCC
+AGACCGTGCAATTTCCTAAACCTAACACCTTTGCACGTACATAGTGCGCAGCTACTGTCGCGTGACCACA
+AATCGGAACTTCAACCGTTGGCGTAAAGTAGCGGATGCGCACATCGCTGTCGTCGCTGTGCAGCAGAAAA
+GCAGTTTCCGAATGACCTAACTCGCGGGCGATAAGCTGCATTTGCGCTTCACTGAGATTATCGGCGGGGA
+AAACAACACCGGCAGAATTGCCGCGAAATGGTTGAGAGGTAAAAGCATCGACGTGGTAAACCTGCGGTTT
+CATTAATGTTCTCCTGTGGCTGGAGAACTATCATAGCCTGCAAGTGGCCGGAGAGCGAAGGGCTATCCGG
+CCCGCGTGAGAATTAACGCCGCGAACGCACAATCTGATACCGACGAGTAAAGTACTCAAACGGCGCGCTC
+CAGACATGCACCAGTCGGGTGAACGGGAAGAGCAGGAAGATGGTCATTCCAAGCACCAGATGAACGCGGA
+ATATAAAGGCGACACCATCAAGATGCGTAGATGCACCGCCCTGGAAAGTGACAATGCTTTGCGCCCAGCC
+CACCAGCTTCATCATTTCACTGCCGTCCGGATGTTGTGCTGAAAAAGGAATGGTGGTTAACCCAAGAATG
+CACTGAATTAACAAAATGGCGAGGATCAGGATATCCGCACCAGAAGACGTCACCCTGATACGCGGATTTG
+TTAAACGACGCATCAGTAGCCCCGCACCGCCAATCAGCGTCAATACCCCGCATATTCCGCCGAGGATCAT
+CGCCATCTGCTGTTTTACCGCCACCGGCAGAAACCACGCGTACATCCAGTGCGGCGTTAACATGCCGAAC
+AGATGACCGAAGAAGATCCCCAGAATGCCGATATGGAACAAGTTCGACCATAGCACCATCCCGCGTTTAT
+CCAGCATCTGGCTGGAGGCGGCGCGCCAGGTGTACTGCCCGTAGTCGTAGCGCAGCCAGCTTCCAAGGAT
+AAAAACCGTGCCACACAAGTACGGGTAGATATCGTAAAAAAAGACGTTCAGATACTGAATCATTTCCCAC
+CTCCCGCACTGATGTCGACATACTGCGGCGCGACATCCTGGCTAAAGCGTCGCTGATATTGATTAAGCGG
+CGAGCTGTCACACGCCGTGGCGTTATCTTCAATAAACTTCACCTGTTCTTCTTCCCACACCGCATCCAGC
+GCCTGGTGGGTGTCGTCACGCTCTTCACTGCGAATCTGTTTTGTGACACTGTCACTTGACAGAGGGCTTC
+CTGCCAGTTGCAACAGGGCGTCAAATAACGCGTACCACGGTGCCTCGCGTTGTTTTAAGCGTCCGCCAAG
+CAGGGCGAGGATCGGCGCAACGTTGAGTAATCCTTCTTTCGCCTGATCGTCCGGAAGTACGCTTAAATAC
+TCCAGATACAGCGGTAGATAATCGGGCAGTTCCCTACAATTCAGTTGCAGACCGACCTTTTCATACTCCG
+CCAGCAGGTCCACCATTGCCTGGCCGCGATCGCGGGACTCGGCATGAACATGTTCGAACAGCAGCAGCGA
+TGTGGTACGTCCACGGTCAAACACTTCGCACCATTCGGCCTGTTTATCCAGCAGCGGCGCGTTAAGCAGG
+TTGCGGGTAAAATCCGTAAGAATCGGTGCGTCGCGGCGGATCAACGCCAGCGCGTCCTCCTTGCATTCCC
+ACAACAGCTCGTCCGGATACTCCATCAACAGGCCGATCACTTTGAGGATCTGCATTATTCGCCCTCCGCT
+TTGTCGCGCACTTCGGTGATGTTGATGGCATCGATACGGCTACTGTTGAACAGGTTGAATTTGCTGTCCG
+AGCCATGGCAACCGTCGCCAAAGGTAAAACCGCAGCCGTTGCGTTCAGCAAAGGCATCGCCCGCCATTTC
+CCGATGACTGGTTGGAATGACAAAACGGTCTTCATAGTTGGCAATGGCGAGGCAGCGATACATCTCTTCG
+ACCTGGGCGACGCTCAGGCCTACTTCGTCGATGGCACGAGTATCAGTAACGCCTTCCACGGTTTGTGAAC
+GCATATAGTGGCGCATCGCCATCATCCGTTTCAGCGCCCGCAGTACCGGACCGGTATCACCGGCACTCAA
+CATATTGGCGAGATATTGCACCGGAATACGCAGGCTTTCGATGGCGGGCAGCACGCCTTCGCTTTTCGGC
+AAGCCGCCCGCATCAGCGTAGGACTGAATCGGTGACAGCGGAGGAACGTACCAGACCATCGGCAGGGTGC
+GATATTCAGGGTGCAGCGGTAGCGCCAGTTTCCAGTCCATCGCCATTTTGTAGACAGGCGAACGCTGGGC
+AGCGTCAATCACGTTTTGTGGAATACCTTGTTTCAGGGCTTCTTCGATCACCGAGGGATCGTGCGGATCG
+AGGAACACTTCGCACTGGCGTTCATAGAGATCGACCTCTCGTTCGGTACTCGCTGCTTCTTCGATGCGGT
+CGGCGTCGTAGAGCAGCACGCCAAGATAACGAATGCGACCCACGCAGGTTTCGGAGCAGACTGTTGGCTG
+ACCGGACTCAATTCGCGGATAACAGAAAATACATTTTTCTGACTTACCGCTTTTCCAGTTGAAGTAGATT
+TTTTTGTATGGGCAACCGCTAATGCACAAACGCCAGCCACGGCATTTATCCTGATCGATCAGCACAATGC
+CGTCTTCTTCGCGTTTGTAGATAGCGCCGCTGGGGCAGGTCGCTACACAACTGGGGTTAAGGCAGTGTTC
+GCACAAGCGCGGCAGATACATCATGAAGGTGTTTTCAAACTGCCCGTACATCTCCTTTTGCATGGCCTCG
+AAGTTGCGGTCGCGGGCTCGTTTTTCAAATTCGCCGCCCAGCAGTTCTTCCCAGTTTGGGCCCCAGATCA
+CTTTGTCCATCCGTTTGCCGTCAATCAGTGAACGCGGACGGGCTGTGGGAATATGTTTGCCTTCCGGCGC
+GCTATGCAAATGTTCGTAGTCGAAGGTGAAAGGTTCGTAGTAATCGTCAATCTGCGGCACTACCGGGTTG
+GCGAAAATTTTGGTTATTACGCCCATCTTGCTGCCCAGACGCGGGCGTATCTTGCCATTCACATCACGCA
+CCCAGCCACCTTGCCACTCATCCTGATCTTCCCAGTTTTTCGGATAACCAATGCCCGGTTTGGTTTCGAC
+GTTGTTAAACCATGCGTACTCCATGCCTTCGCGTCCGGTCCAGACATTTTTACAGGTCACCGAACAGGTA
+TGGCAGCCGATACATTTATCGAGGTTAAGCACCATGCCGACTTGCGAACGTATTTTCATTTTTTCGCCTC
+CTGAACCTGATCGCGACCTTCATCATCCAGCCAGTTAACGTTCTTCATCTTGCGGATCATGATGAATTCG
+TCGCGGTTAGAGCCGACAGTGCCGTAGTAGTTAAAGCCCCAGGCCAGCTGCGCGTAACCGCCAATCATAT
+GCGTTGGTTTCGGACAAACGCGGGTGACCGAGTTATGAATGCCGCCGCGCATGCCAGTTACTTCCGAACC
+AGGAATATTCATAATGCGTTCCTGAGCGTGATACATCATGGTCATGCCCGGCGGTACACGCTGGCTGACC
+ACCGCGCGGGCAGTCAGCGCGCCATTGGCGTTAAACACTTCCACCCAGTCGTTATCGACAATGGTCAGTT
+CACGGGCATCGGTTTCGCTGAGCCAGACAATCGGTCCACCGCGAGAGAGCGTCAGCATTAGCAGGTTTTC
+ACTGTAGGTTGAGTGAATGCCCCATTTCTGGTGCGGCGTCAGGAAGTTAAGGGCTTTCTCCGGGAAGCCG
+TTTGGCGGTATCTGGCGCATTTCACTGACGCTACGGGTGTCGATAGGCGGGCGATAAGCCACCAGACTTT
+CACCAAAAGCACGCATCCACGGATGATCCTGATAGAGTTGCTGGCGTCCTGACAGCGTGCGCCACGGAAT
+TAACTCATGAACGTTGGTGTATCCCGCGTTATAGGAAACGTGATCGCTTTCCAGACCAGACCATGTGGGG
+CTGGAGATAATTTTACGCGGCTGCGCCTGAATATCGCGAAAGCGAATCTTCTCGTCCTCTTTGTGCAGCG
+CCAGATGGGTATGTTCGCGTCCGGTGATCTCGCCCAGCGCCTGCCACGCTTTGACTGCAACATGGCCGTT
+GGTTTCCGGTGCCAGTGCCAGAATCACTTCTGAGGCATCAATCGCGGTATCAATCAGCGGACGCCCCTGT
+GCCGGGCCATCACGCTTGGTGTAATTGAGTTTACCGAGGAAATCGATTTCATCCTGGGTATTCCACGAAA
+TCCCTTTACCGCCGTTGCCAAGTTTGTCCATCAATGGCCCGAGTGAGGTAAAGCGTTCATAGGTAGCAGG
+GTAGTCGCGCTCCACCGCCACAATATTCGGCGCGGTTTTGCCTGGAATCAGATCGCACTCGCCTTTGCGC
+CAGTCGAGCACTTCACACGGCTGTGAAAGCTCTGCCGGGGAGTCATGCAGCAGTGGTTGTAATACCACGT
+CGGTTTCTTTGCCGAGATGCCCTATGCACACTTGCGAAAAGGCTTTAGCGATACCTTTGTAGATTTCCCA
+GTCGCTGCGTGATTCCCAGGCCGGATCGACCGCCGCAGAAAGCGGATGAATAAATGGATGCATATCCGAG
+GTATTCATATCGTCTTTTTCGTACCAGGTGGCGGTGGGCAGAACGATATCGGAGAACAGACAGGTACTGG
+ACATGCGGAAGTCGAGCGTCACCAGCAGGTCGAGCTTGCCTTCAATCGCCGCAGTTTGCCACTCGACTTC
+TTCTGGTTTGATCCCGTCGCTGGCACCGAGTTCCTCGCCCTGAATCCCGCTTTCGGTCCCCAGCAGATAC
+TTCTGCATATACTCGTGGCCTTTGCCGGAGGAGCCAAGCAGGTTAGAACGCCAGACAAACAGGTTACGCG
+GATGATTGCTGCCGCTATCTGGTTGTTCGCAGGCCATGCGTAAATCGCCCGATTTCAGCGCCTGGGCGGT
+AAATTCTGTGGGAGATAATCCGGCCTTGTCGGCTTCAGCTTTCAGGGAGAGCGGGTTACGCCCCAGCTGC
+GGCGCAGAAGGGAGCCAGCCCATACGTTCGGCGCGAACGTTGAAATCAATCAGGTGACCGCTGTATTTAC
+TGGCATCGGCGAGCGGTGAGAGCAATTCCTGCGCGGTGACTTTTTCATAGCGCCACTGGCTGGAGTGATT
+GTAGAAAAACGAGGTGCTGTTCATCTGGCGCGGTGGCCGGTTCCAGTCGAGCGCAAAGGCCAGAGGCAGC
+CAGCCGGTTTGCGGGCGCAGTTTTTCCTGACCGACATAGTGCGCCCAGCCGCCACCGCTTTGTCCGACAC
+AACCGCAGAAGATCAGCATATTGATCATCCCGCGGTAGTTCATGTCCATGTGATACCAGTGGTTAACACC
+TGCGCCGAGAATAATCATCGAGCGCCCATGCGTTTTATGGGCGGTATCGGCAAATTCACGGGCGATGGTT
+TCAATATACTGGCGCGGTACGCCGGTAATTTGCTCGCCCCAGGCAGGGGTGTAAGGTTTGATTTCAGCGT
+AATCTTTCGCGCTGTTTTCATCTTCCAGTCCGCGATCGAGGCCGTAATTTGCCAGTACCAGATCATAAAC
+GCTGACCACCGGACAGGTGCTACCATCGGCTAATGTCAGGTTTTTAACGGGCAATTGGCGCACCAGGACA
+GGATTGTGTTTTACGCTGCGAAAATGTGGATTTTCAATGCCGCCAAAGTAGGGGAAGGCCACGCCTGCAA
+CGGCGTCATGTTGACCGAGCAGGGTTAACGACAATTCGGTTTCCGTACCGGCGGCAATGGATTCCAGGTT
+CCATTTGCCTTTTTCTCCCCAGCGAAAACCAATCGAACCGTTCGGCACTACCAATTCACCTGCGGTATTA
+ACTGCCACGGTTTTCCACTGCGGATTATTGCTTTCGCCCAGTCCATCCACCAGGTCAGATGCGCGGACCA
+TGCGCCCGGGAACGTAGCTGCCGTCGTCGCGAGGTTCCAGCATTACCAGCATCGGCATGTCGCTGTAGCG
+GCGGCAGTAGTTGATAAAATAATCGCTGGGATTATCGAGATGAAACTCTTTTAAAATGACATGGCCCATT
+GCCATTGCCAGGGCACTATCAGTGCCTTGTTTCGGTGCCAGCCACTGGTCGCACAATTTGGCCACTTCAG
+AGTAGTCAGGGGTAATGGCGATGGTTTTAGTGCCTTTGTAGCGTACTTCGGTAAAGAAATGGGCGTCCGG
+CGTACGTGTCTGCGGTACGTTAGACCCCCAGGCGATGATGTAACTGGAGTTATACCAGTCGGCAGATTCC
+GGTACGTCGGTTTGCTCGCCCCAGGTCATCGGTGAGGCGGGCGGCAGGTCGCAATACCAGTCGTAGAAGC
+TTAAACAGGTGCCACCTAACAGCGACAGATAACGTGTTCCGGCGGCGTAAGAAACCATCGACATCGCCGG
+GATCGGCGAGAAACCGGCAACGCGATCCGGGCCGTAAGTTTTGATGGTCCAGACGTTAGCAGCGGCAATC
+AGCTGGTTTAGCTCCTGCCAGTTGGAGCGGATAAAGCCGCCGCGTCCACGTACTTGTTTGTAGCTCAGGC
+ACTTTTGCGGATCGTTCATAATCGATGCCCACGCCAGTACCGGATCGCTGTGTTGCTTGAGGGCTTCGCG
+CCACAGTTCAATCAGTCGTTTACGAATGAGCGGGTATTTCAGACGGTTAGCGCTGTAGAGATACCAGGAG
+TAACTTGCGCCACGCGGGCAGCCGCGAGGTTCATGATTGGGCAGGTCAGGGCGAGTGCGCGGGTAGTCGG
+TCTGTTGGATTTCCCAGGTCACCAGACCATTTTTAACGTAGATTTTCCAGCTACAGGAGCCTGTACAGTT
+AACACCGTGGGTGGAACGCACGATTTTGTCGAACTGCCAACGCTGGCGATAGCTGTCCTCCCAGTCGCGG
+TTGCTATGCATCACCTGTCCGTGACCATCGGCAAAGGTTTCGCCCTTTTGTTTGAAGTAGCGAAAGCGAT
+CCAAAAGTTTACTCATGACATAACTCCTGCTCCAGGAATGAATTGGGATCTGATGCCTTGTCGGATGCGA
+CACGGTTGTAGCCTGATAAGACGTGTCAGGCATCGATCTCTTATTTTTGGCTGAACTTCCGCCGACCATA
+AACCAGCCAGGTCAGTAGCACACAAACGATGTAGAAGATTAAAAACACTTTCATCGCGCCCACCGGAGAG
+CCGGTCATATTGAGCGACATGCCAAACGCCTGCGGAATAAAAAAGCCGCCCACTGCGCCAATGGCTGAGA
+TAAAGCCCAGAGCGGCTGCCGTTTCGGTGACGGCTTCTCTTTGAGCTTGCTCATCACTACCGCCTTTCAT
+CTTCACCCGATAAATTGTTATCTGGCGAAAGATGACGGCGATCATCTGGAAAGTAGAACCACTTCCCAGA
+CCCGCGGTCAGAAACAGCCCCATAAATACGGCGTAAAATGCGATGAAATTACCGGAGCCTGTGCCCGGTA
+AGGTAAGGAACAGCAGGGCGCTGAAAATCGCCATAAAAATGAAGTTGATCAACGTCACCCGCACGCCGCC
+GAATTTATCGGAAATAGCACCACCAACCGATCGCGCGATGGCACCGATAAATGGGCCAAAGAACGCCAGG
+CGCAGAATATTCACATCCGGGAACTGGGTTTTTGCCAGCATGGCAAAACCCGCAGAAAAACCGATAAACG
+AACCGAAGGTGGCAAGATAAAGCAGGCTCAGCAGCCAGAGATGCAGGCGTTGTAAGACAGGGAGCTGGTC
+GGCAATTGAGGCGCGTGAACTGGCGATATCATTCATCCCTGACCAGGCGGCGATCGTGGCAATCGCCAGT
+AATGGCACCCAAATCCATGCGGCATTCGCCAGCGACATCACCGAACCGTCGGCCTGCGGTACGCCATTGA
+CGCCGAGAAAGGCAAATACGGGTACAAAAATGACCAGCGGTGCAACCAGCTGCATCACACTTACACCTAA
+GTTTCCTAATCCGCCATTAATCCCAAGAGCGCTCCCTTGTTTGGCTTTTGGAAAGAAGAAACTGATATTG
+CCCATGCTCGAAGCAAAGTTCGCACCTGCAAAACCGCATAGCAAAGCGATAACGATAAATATCCCAAAAG
+GAGTATTCGGATTCTGCACGGCAATTCCGAGCCAGACGCAAGGAATAATCAGGATTGCAGTACTAAAAAC
+CGTCCATCGGCGTCCACCGAATATAGGCACCATAAAGGAGTAGGGGACACGCAATAATGCGCCAGAAACG
+GAGGGTAATGCGGTTAATAAAAAGAGTTGATCGGTAGTGAAATTAAAACCGATTTTATTGAGATTAACAG
+TAACTGCGCTAAATAGCATCCAGACACAGAAGGCAAGAAGTAGGCAACTGACTGATATCCAGAGGTTTCT
+TCGTGCAATATGCTTTCCTTTATTTTCCCAGAAGGCCGGATTTTCTGGTTTCCAGTCGCGTAAAAGATAA
+CGACTATTTTTCTCATTTTGCAGTGCCATATTGTTCCTCACATGCACACATTGGTAATGAAAAAAAGACA
+AAACAGGAGGTAAGGCGCAATAGCCAGTTATTAGAATTAAGGATGAATCAGGTGAAGTGCTGATTAGAAG
+AATAGATAAGAAAGCGTAACTGCGGGGGCAGAATGTGGATTAAACAGACAGATATGTGTTACTAAATGTA
+ACTAAAATGACTTTCTGGTATTTGAAATTTATTTTTTAATATTGTCAGAATTTATCTGATTAACTGCCGG
+GCCGTAGACCCGACAATTATTTTAGCCACGACGTGTCGCCAGCCAGCAGAGCAGGGAACCGCCGCAGACC
+ATTAGCGCGCCTTGCCAGAACGAGAACGACAGCGGGGCGCTGAGCAGCACGGCTGCAAGCGCTGAGGAAA
+GGACGGGCGTAAAATACGAACCTACCGCCATTATGGTGACGTTGCCATGTAATATACCGACATTCCATGC
+AGCATAAGCAAATCCTAAGGTAAATGCCGCAGAGATGAGTTTAATCATGACGGGCGTGCTAAATACCATT
+TCTGGTTGTGGCGTAAGAAAATAGTAAACCCACAGACTTGCTCCCGTTAGCAGGACAAAAACGGTAATTC
+CGTTAAATCCGCGTGCGTATTTATTCGTTACTGTGCAGTAGGCTGCCCAGATAAACGCCCCAATGAACGC
+CAGGAAATAACTCAATGGGCTGGTGGTGATATTATTAATAATTTGATCATAATGTAACCCATTGTCACCG
+CCTAACACCCAGCAGACGCCGACCAGGGCTAATAATAATCCTGGTACAATCAGCCAGTTGGTTTTCTGAC
+CATTAAACAGAATGGCAAAGAGAATTGTCAGGCTGGACCATAGATAGTTCACCATCCCCACTTCAATCGC
+CTGATGACGGGTCGCCGCATACCCTAAGGAAAGCGCCAGACAGATTTCATAGCTGACGAATAACAGACTC
+CCGGCGAGTAAATAGCCTTTCGGGATCTGCCGAATACGCGGAAATCCAACCGTGAAGATTAACAGCAGCC
+CGCTTAATGAATAGATAGCAGCTGCGCCGCCGACCGGGCCGAGTCCCTCACTGACACCGCGAATCAATCC
+TACCATCGTGCTCCACAGGACGATCGCTATTAGCCCTATGAGCGTTGCTTTTTGTCGTGTCATGCTCGCT
+GTTTTGTCTCTCTTGCCGTTAAAAATTAAGCTGAATTTTATAGCATTTTTTTTAACTGGCCTGTCAGGCA
+GTGGTGCGTTTTTCTACCGCTATTGAGGTAGGTCAATTTGCGCAGGCGGATTATTTTGTGGCAAACACGT
+GTTCTTTTTGATTTCGCGCAAAAAGATTCAGAATTTTACTGTTAGTTTCCTCGCGCAGTAATACCCCTGA
+AAAAAGAGGAAAGCAATGGACGTCAGTCGCAGACAATTTTTTAAAATCTGCGCGGGCGGTATGGCGGGAA
+CAACAGTAGCAGCATTGGGCTTTGCCCCGAAGCAAGCACTGGCTCAGGCGCGAAACTACAAATTATTACG
+CGCGAAAGAGATCCGTAACACCTGCACATACTGTTCCGTAGGTTGCGGGCTATTGATGTATAGCCTGGGT
+GATGGCGCGAAAAACGCCAGAGAAGCGATTTATCACATTGAAGGTGACCCGGATCATCCGGTAAGCCGTG
+GTGCGCTGTGCCCGAAAGGGGCCGGTTTGCTGGATTACGTCAACAGCGAAAACCGTCTGCGCTACCCGGA
+ATATCGTGCGCCAGGTTCTGACAAATGGCAGCGCATTAGCTGGGAAGAAGCATTCTCCCGTATTGCGAAG
+CTGATGAAAGCCGACCGTGACGCTAACTTTATTGAAAAGAACGAGCAGGGCGTAACGGTAAACCGTTGGC
+TTTCTACCGGTATGCTGTGTGCTTCCGGTGCCAGCAACGAAACCGGGATGCTGACTCAAAAATTTGCCCG
+CTCCCTCGGGATGCTGGCGGTAGACAACCAGGCGCGCGTCTGACACGGACCAACGGTAGCAAGTCTTGCT
+CCAACATTTGGTCGCGGTGCGATGACCAACCACTGGGTGGATATCAAAAACGCTAACGTCGTAATGGTGA
+TGGGCGGTAACGCTGCTGAAGCGCATCCCGTCGGTTTCCGCTGGGCGATGGAAGCGAAAAACAACAACGA
+TGCAACCTTGATCGTTGTCGATCCCCGTTTTACGCGTACCGCTTCTGTGGCGGATATTTACGCACCTATT
+CGTTCCGGTACGGACATTACGTTCCTGTCTGGCGTTTTGCGCTACCTGATCGAAAACAACAAAATCAACG
+CCGAATACGTTAAGCATTACACCAACGCCAGCCTGCTGGTGCGTGATGATTTTGCTTTCGAAGACGGTCT
+GTTCAGCGGCTACGACGCTGAAAAACGTCAATACGATAAGTCGTCCTGGAACTATCAGTTCGATGAAAAC
+GGCTATGCGAAACGCGATGACACGCTGACTCATCCGCGCTGTGTATGGAACCTGCTGAAAGCGCACGTTT
+CCCGCTACACGCCGGACGTAGTAGAAAACATTTGCGGTACGCCAAAAGCCGACTTCCTGAAAGTGTGTGA
+AGTGCTGGCCTCCACCAGCGCACCGGATCGCACAACCACCTTCCTGTACGCGCTGGGCTGGACGCAGCAC
+ACCGTGGGTGCGCAGAACATCCGTACGATGGCGATGATCCAGTTACTGCTCGGTAACATGGGTATGGCCG
+GTGGCGGCGTGAACGCATTGCGTGGTCACTCCAACATTCAGGGCCTGACTGACTTAGGCCTGCTCTCTAC
+CAGCCTGCCAGGTTACCTGACGCTGCCGTCAGAAAAACAGGTTGATTTGCAGTCGTATCTGGAAGCGAAC
+ACGCCGAAAGCGACGCTGGCTGATCAGGTGAACTACTGGAGCAACTATCCGAAGTTTTTCGTTAGCCTGA
+TGAAATCTTTCTACGGCGATGCCGCGCAGAAAGAGAACAACTGGGGCTACGACTGGCTGCCGAAGTGGGA
+CCAGACCTACGACGTCATCAAGTATTTCAACATGATGGATGAAGGTAAAGTCACCGGTTATTTCTGCCAG
+GGCTTTAACCCGGTTGCGTCCTTCCCGGACAAAAACAAAGTGGTGAGCTGCCTGAGCAAGCTGAAGTACA
+TGGTGGTTATCGATCCGCTGGTGACTGAAACCTCTACCTTCTGGCAGAACCACGGCGAGTCGAACGATGT
+CGATCCGGCATCTATTCAGACTGAAGTATTCCGTCTGCCTTCGACCTGCTTTGCTGAAGAAGATGGTTCT
+ATCGCTAACTCCGGTCGCTGGTTGCAGTGGCACTGGAAAGGTCAGGACGCGCCGGGCGAAGCGCGTAACG
+ACGGCGAAATTCTGGCGGGTATCTACCATCATCTGCGCGAGCTGTACCAGGCCGAGGGTGGTAAAGGCGT
+AGAACCGCTGATGAAGATGAGCTGGAACTACAAGCAGCCGCACGAACCGCAGTCTGACGAAGTGGCGAAA
+GAGAACAACGGCTATGCGCTGGAAGATCTCTATGACGCTAATGGCGTGCTGATTGCGAAGAAAGGTCAGT
+TGCTGAGTAGCTTTGCGCATCTGCGTGATGACGGTACAACCGCATCTTCTTGCTGGATCTACACCGGTAG
+CTGGACCGAGCAGGGCAACCAGATGGCTAACCGCGATAACTCCGACCCGTCCGGTCTGGGGAATACGCTG
+GGATGGGCCTGGGCGTGGCCGCTCAACCGTCGCGTACTCTACAACCGTGCTTCGGCGGATATCAACGGTA
+AACCGTGGGATCCGAAACGGATGCTGATCCAGTGGAACGGTAGCAAGTGGACGGGTAACGATATTCCGGA
+CTTCGGCAATGCCGCACCGGGTACGCCAACCGGGCCGTTTATCATGCAGCCGGAAGGGATGGGACGCCTG
+TTTGCCATCAACAAAATGGCGGAAGGTCCGTTCCCGGAACACTACGAGCCAATTGAAACGCCGCTGGGCA
+CTAACCCGTTGCATCCGAACGTGGTGTCTAACCCGGTTGTTCGTCTGTATGAACAAGACGCACTGCGGAT
+GGGTAAAAAAGAGCAGTTCCCGTATGTGGGTACGACCTATCGTCTGACGGAGCACTTCCACACCTGGACC
+AAGCACGCATTGCTCAACGCAATTGCTCAGCCGGAACAGTTTGTGGAAATCAGCGAAACGCTGGCGGCGG
+CGAAAGGCATTGCCAATGGCGATCGTGTCACTGTCTCCAGCAAGCGTGGCTTTATCCGCGCGGTGGCTGT
+GGTAACGCGCCGTCTGAAACCGCTGAATGTAAACGGTCAGCAGGTTGAAACGGTGGGTATTCCAATCCAC
+TGGGGCTTTGAGGGTGTCGCGCGTAAAGGTTATATCGCTAACACTCTGACGCCGAATGTCGGTGATGCAA
+ACTCGCAAACGCCGGAATATAAAGCGTTCTTAGTAAACATCGAGAAGGCGTAAGGGGGCGAACAGATGGC
+TATGGAAACGCAGGACATTATCAAAAGGTCCGCAACTAACTCCATCACGCCGCCTTCTCAGGTGCGTGAT
+TACAAAGCAGAAGTCGCGAAACTTATCGACGTTTCCACCTGTATCGGCTGTAAAGCCTGTCAGGTGGCGT
+GTTCGGAGTGGAACGACATCCGTGATGAAGTGGGGCACTGCGTCGGGGTTTACGATAACCCCGCCGATCT
+GAGCGCCAAGTCCTGGACGGTGATGCGCTTTAGCGAAACCGAACAGAACGGCAAGCTGGAGTGGCTGATC
+CGTAAAGATGGCTGTATGCACTGTGAAGATCCGGGCTGCCTGAAGGCGTGCCCGTCTGCTGGTGCAATCA
+TTCAGTACGCTAACGGGATTGTTGATTTCCAGTCGGAAAACTGCATCGGCTGTGGTTACTGCATTGCCGG
+GTGTCCGTTTAATATTCCGCGCCTCAACAAAGAGGATAACCGGGTATATAAATGCACGCTCTGCGTCGAT
+CGCGTCAGCGTCGGCCAGGAACCGGCTTGTGTGAAAACCTGTCCGACCGGGGCTATCCACTTCGGCACCA
+AGAAGGAGATGCTGGAGCTGGCGGAACAGCGCGTAGCGAAACTGAAAGCGCGTGGTTACGAACATGCTGG
+CGTCTACAACCCGGAAGGGGTCGGTGGTACGCACGTCATGTACGTGTTGCATCACGCCGATCAGCCGGAG
+CTGTATCACGGTCTGCCGAAAGATCCGAAGATCGACACATCGGTGAACTTGTGGAAAGGCGCGTTGAAAC
+CGCTGGCAGCGGCTGGCTTTATCGCCACTTTTGCCGGGTTGATTTTCCACTACATCGGTATTGGCCCGAA
+TAAGGAAGTGGACGATGACGAGGAGGAGCATCATGAGTAAGTCGAAAATGATTGTGCGCACCAAGTTTAT
+TGATCGCGCCTGTCACTGGACCGTGGTGATTTGCTTCTTCCTGGTGGCGCTGTCCGGGATTTCGTTCTTC
+TTCCCGACGCTGCAATGGCTGACGCAAACCTTCGGTACGCCGCAGATGGGACGCATTTTGCACCCGTTCT
+TCGGCATTGCGATTTTCGTCGCGCTGATGTTTATGTTTGTGCGTTTTGTGCATCACAACATCCCGGATAA
+GAAAGATATTCCGTGGCTGTTGAACATTGTCGAAGTATTAAAAGGCAATGAGCACAAAGTGGCGGATGTC
+GGTAAGTACAACGCCGGGCAAAAGATGATGTTCTGGTCAATCATGAGCATGATTTTCGTGCTGCTGGTGA
+CCGGAGTGATTATCTGGCGTCCGTACTTTGCGCAGTACTTCCCGATACAGGTTGTCCGTTATAGCCTGCT
+GATCCATGCGGCTGCGGGTATCATCCTGATCCACGCCATCCTGATCCATATGTATATGGCATTCTGGGTG
+AAAGGATCGATTAAAGGGATGATCGAAGGGAAGGTGAGCCGTCGCTGGGCGAAGAAACACCATCCGCGCT
+GGTATCGTGAAATCGAGAAGGCAGAAGCGAAAAAAGAGAGTGAAGAAGGGTTATAATCTCTTTTGAGCTT
+TAAGCTGAAAATGGCGCTGTAAAAGGCGCCATTTTTTTATTGTAGACAACGTACACTTTGTTCATGCCGG
+ATGCGGCGTGAACGCCTTATCCGGCCTACAAACCGTTCAAATCCAATAGATTGCAGTGAACGTGTAGGCC
+TGATAAGCGTAGCGCATCGGGCAATGTTGCGTTTGTCATCAGTTTCAAATGGCGCTTTATAAGGTGCCAT
+TTTTTTATTGCGTAACCAGACGGCGCAGTCGCGACACATCCACTGTTTTTTCTGCCTCTGCCAGACTCCA
+GGCATTTTGCAGATTCAGCCACATTTGCGGCGAACTGCCGATCACCACGGAAAGTTTTATTGCCATTTCT
+GGCGTCAAAGCTGCTTTTCCGGTCAGCAATCGGCTTGCCGTTGAGGGCGCAATTTCCATTGCTCTGGCAA
+ACTCGCGCAGGCTGACATTAAGTTCGTCCAGTGATTCCTGAATAATGTCCCCCGGGCGGGGATGATTGGC
+CATTTTCATCAGTGATAGTCCTCGTAATCCAGTATGTATGCATCGCCATTGACGAATTCAAATGTGATTC
+GCCAGTTGCCCGAGACAGATATCGCCCAAATTCCATCGCGATCGCCGCTTAACGGATGTAGTCGGTAACC
+GGGCATATCGATATCAGCAAGACAGCATGCTGCATCAATCACAGCGAGTCGGTGGCGTAATCGTTTGACT
+TGCGTCGGTATAACGCCGGAGGTTTTGCCGAGAAGAAACAAGTCACGCAATCCCTTGTGTCTGAAATTCA
+TTATCATCTCTTCATCCTTGTTCCCTCGAAAGGAACACTATCACTATTGTTCCGTACAGCGCAACAAATT
+TCGCTACGTTTTCGCGAATTGTGAGGGGAAAGATGGGGGAGGAAAAGAAGAAGAGTGAAATTGCGGAAAG
+CGTCTCGCAAAACAGGCTGCGACCCGAACATGGCAGTCGCAGCAAAGACCTCTTAGCGACGGAAATCAAT
+CACCATACGGCCACGGATTTTGCCTTCCTCCATCTCGGTAAAGATGGTGTTGATGTCCGCTAACGGACGC
+AGGGCGACTTTCGGCACCACTTTGCCTTCGGCGGCAAACTGGAAGGCTTCGGTTAGATCCTGACGCGTGC
+CGACCAGCGAACCGACCACTTCAATACCATCCAGCACCAGCCGTGGGATGTCCAGGCTCATAGACTCCGG
+CGGCAGACCGACAGCCACGACACGACCACCTGCACGGACAGCATCCACCGCCGAGTTAAACGCAGCTTTA
+GCTACCGCTGTCACCACCGCTGCGTGAGCGCCACCGGCTTTCTCCTGCACAATTCTGGCGGCGTCTTCGG
+TGCGTGAGTTAATCGCTAAATCTGCACCCATTTCGGTTGCCAGTTTTAACTGTTCATCATTGACATCAAT
+GGCGATCACTTTGGCGTTAAAGACATTCTTCGCGTATTGCAGGGCGAGGTTACCCAGACCGCCAAGACCG
+TAGATAGCAATCCACTGTCCTGGACGAATTTTTGACAGCTTAACGGCTTTGTAGGTAGTGACCCCCGCAC
+AGGTAATGCTGCTGGCCGCCGCCGAGTCCAGACCATCTGGCACTTTTACCGCGTAATCGGCGACCACGAT
+GCACTCTTCCGCCATCCCGCCATCAACGCTGTATCCGGCATTTTTAACTGAACGGCAGAGCGTTTCGTTA
+CCACTGTTACAGTATTCGCAATGACCGCATCCTTCATAGAACCACGCCACGCTGGCACGATCGCCTGGTT
+TTAATGAAGTAACACCAGGGCCAACTTCTGCCACCACACCAATACCTTCGTGTCCCAGAATCACGCCGGT
+TTTGTCACCAAAATCGCCATTCTTAACATGAAGATCGGTATGACATACACCACAACACTCCATTTTCAGC
+AGGGCTTCGCCATGTTTCAGTGAGCGCAGTGTTTTATCCGTAACGTCAACATGATGAGCCTTCGTAACAA
+CTGCAGCCTTCATAGTTCCTCCTTTTCGGATGATGTTCTGCATAGCAGGTGAGGCAAATGAGATTTATTC
+GCCACTACCCAGTATGGATGAGATCTGAAAAAGGGAGAGGAAAATTGCCCGGTAGCCTTCACTACCGGGC
+GCAGGCTTAGATGGAGGTACGGCGGTAGTCGCGGTATTCGGCGTGCCAGAAATTATCATCAATGGCCTGT
+TGCAGAGCTTCGGCAGACGTTTTCACCGCCACGCCTTGCTGCTGCGCCATTTTGCCAACCGCAAAGGCAA
+TTGCGCGGGAGACTTTCTGAATATCTTTCAGTTCCGGTAGTACCAGACCTTCGCCGTTCAGGACCAGCGG
+CGAATACTGAGCAAGCGTTTCACTTGCCGACATCAGCATCTCATCGGTGATACGTGACGCGCCGGAAGCA
+ATAACACCCAGCCCGATGCCCGGGAAAATAAAGGCGTTGTTGCACTGGGCTATAGGGTAGATTTTATCTT
+TCCATACCACTGGATTAAACGGACTGCCAGTGGCGACCAGCGCGTTACCTTCAGTCCAGGCGATAATGTC
+CTGCGGTGTGGCTTCCACGCGTGAAGTCGGGTTAGACAGCGGCATCACGATCGGACGCGGACAGTGTTTA
+TGCATCTCACGGATGATCTCTTCCGTAAACAGCCCGGTCTGTCCTGAGACGCCAATCAGAATATCTGGTT
+TTACATTACGCACCACATCCAGCAGTGACAGCACATCGCTGTCGGTATCCCAGTCACTGAGATTTTCGCG
+CTTCTGCACCAGTTTGGTCTGGAAAGGCAGCAGGTTCGGCATCTTGTCGGTCAGCAGGCCAAAGCGATCG
+ACCATAAAGACTTTCTGCCGTGCCGCTTCCTCGCTTAATCCTTCGCGCTGGGTCTGGGCGATGATCATTT
+CGGCAATGCCGCATCCCGCTGAACCTGCGCCAAGGAAGACGATTTTTTTCTCGCTTAACTGACCGCCTGC
+CGCGCGGCTGGCTGCGATCAGTGTGCCGACTGTTACCGCCGCGGTGCCCTGAATGTCATCGTTAAAAGAA
+CAAATTTCATTGCGATAGCGGTTAAGTAACGGCATCGCATTTTTTTGTGCGAAGTCTTCAAACTGCAACA
+GTACGTCCGGCCAGCGTTGTTTCACAGCCTGGATAAATTCATCAACGAATTCATAGTATTCGTCGTCAGT
+GATACGCGGATTACGCCAGCCCATATACAGCGGATCGTTAAGCAGCTGTTGGTTGTTGGTGCCGACATCC
+AGCACCACCGGAAGGGTATAGGCCGGACTGATGCCGCCACAGGCGGTATAGAGCGACAGTTTACCGATCG
+GAATGCCCATCCCGCCGATGCCCTGGTCACCAAGCCCCAGAATACGTTCGCCGTCAGTCACCACAATCAC
+TTTGATATTATGGTTTGGTACGTTTTGCAGAATATCGTCCATATTGTGGCGGTTCTGGTAAGAGATAAAC
+ACACCGCGTGAACGGCGGTAGATCTCAGAAAAACGCTCACAGGCTGCGCCGACGGTTGGGGTGTAAATGA
+CTGGCATCATCTCATCAAGATGATTGTTTACCAGACGGTAGAAGAGGGTTTCGTTAGTGTCCTGGATGTT
+ACGCAGGTAGATGTGTTTGTCGATTTCGGTTTTGAATCCCTGATACTGGATCCATGCTCGTTCCGCTTGT
+TCTTCGATGGTTTCGACCACTTCCGGCAGTAACCCCAGCAGGTTGAAGTTACGGCGTTCTTCCATGCTGA
+AGGCGCTGCCTTTATTCAACAACGGAAATTCCAGCAATACAGGGCCAGCGTAAGGGATATAAAGCGAACG
+CTGTTTTTTTGTTTTTGGTTCCATGTCACTCACTCTTTTTTGAATATCCATCCCTGGGGGCTTTTATCGT
+CTTTGCATTACCGCCAGGGCGTCAAGTACCAAGTATAAAGCAGATAAAAACAAAAACACCATTGCGCAGG
+CAATGGTGTTTAATCGTCATTGAGGACTGATGGTTATGAATTACTTTTCAGCGGGGCGTTTTCTGCCGGT
+GGGATTATTTACCACGCTGGATTTGTCACCTTCGGTAACTATTTTGCGCTGGTTAGAAATTTTATGGTCC
+AGTCCAAGAATATGACGTGCCTGACGGTTCGATTTCATTTTAACTCCTCAATCCTGTTGCTAGTTTTAAG
+GACAACATCGCCGTAGCGAAGAAACACGTGCTAAACCCCTAAATTAGGTTGCCGATCAAGCATAGCACCT
+TAAAGCGTAGGGTGCTGACCACTGACCACATAATTGATCGTTTGCTGGTAGATATCACTGAGGATGTCGT
+TATCAGATGCTTCCACCCATTTGGTCAGCTCCATGAGAATGTCATCTTCAGTGACAACACCGTGCTCTGC
+CCGAAGGCCTTGCTCAATGGCATTAACCAGAGCGGGTTCTGCTGTTGAATTTTCTGCCTGATAATAAGTA
+AACATAGTGATTCTCCGTGTCTGTGTATTTATGGTGTCTGCTACGGATCGCAGATTTATAAAGCACATTC
+AGCATGGCAAATATTTGCCGCTTCGTTGTTAAGATTAGTCCTGGTTGATGATTTTTATATTTTAACTCCA
+TGATATTGATAGGTATTATTATTGTGATGAGTTGATTGATATTGATGCAATATCTCTTGAGTTATATATT
+TCCGGTTATCTATTGTGGAAATTTAATTTAAGTGCAGGAATTATATTTTCGCCGGATTTTATTCGGATTA
+TCCTGCTTATCCTCGTGCTGTTTCTCACGTAGTCTATAATTTCCTTTTTAAGCCCACAGGAGAGCAACAA
+TGACAATCCATAAGAAAGGTCAGGCACACTGGGAAGGCGATATCAAACGCGGGAAGGGAACAGTATCTAC
+TGAGAGCGGCGTGCTGAACCAACAGCCGTATGGATTTAACACGCGTTTTGAAGGCGAAAAAGGAACCAAC
+CCTGAAGAACTGATTGGCGCAGCGCATGCCGCATGTTTCTCAATGGCGCTTTCATTAATGCTGGGGGAAG
+CGGGATTCACGCCAACATCGATTGATACCACCGCCGATGTCTCGCTGGATAAAGTGGATGCCGGTTTTGC
+GATTACTAAAATCGCACTGAAGAGCGAAGTTGCGGTGCCGGGTATTGATGCCTCCACCTTTGACGGCATT
+ATCCAGAAAGCAAAAGCAGGATGCCCGGTTTCTCAGGTACTGAAAGCGGAAATTACGCTGGATTACCAGT
+TGAAATCGTAAAGCGTTGCCGGATGACGCGTCAGGCGCGTGAATGCCTGATGCGTCAGCACAATCACATC
+AGGCTGAGAAGGGATTGTTCTGACATGACTATGCGTTGTCGTTGTCCAACTAAACGTAGCGGAAATCATA
+GTATTTAAGTGACAGTGTCACGTTGAATAAAAACCCGCGAGTGCGGGCGAGAGGAATTTGTCAGATTTTC
+AGCGGTAACACGCTGCTCATCCAACCTGGAATTTCTTCGGCGGGCAGGGGGCGGGAAAAGAAATATCCCT
+GAATAACGCGACAGTGGATCTTGCGTAGCATCTCAAATTGCTCTTTGGTTTCGATGCCTTCAGCCACGAC
+GGTTAAATTGAGGCTTTGCCCAATGCTGGTAATGGCTTCGAGTAAGGCAAGGATGCGTTTTTCGGTCAGA
+CAACGATCGACAAAACTTTTATCAATTTTGATTTCCGTTACCGGAAGACTGACTAAGCGGGATAATCCGG
+AAAAGCCTGTACCAAAATCATCTACCGATAAACCGATGCCCATATCGCGCAGGATCTGAATGCGCTTAAA
+GATTTCGGTATCGTGTTCCATCATCATGCTTTCCGTGATTTCCACCGTCAGCTGGTGGCCGTCAATACCC
+CAGGCGTGCATTGCATCAGATACCTGATTAGGCAGCTGATTACTGCGAAAGTGCAGCGCAGACAAGTTAA
+CGGATAACGCCGGGATATGAATATTCTGGCTACGCCATTCTGCTAACTGACGGCAAGCTTCCGCGATGAC
+CCAGCGCCCAATATTTTCGATTTCACCAATCTCTTCTGCGAGAGGAATAAACCGTGAAGGGGGCACATGA
+CCATGCAGGGGATCGTACCAGCGAGCAAGGGCTTCGATGCCGTACAGTTCACCCGTTTCTGCGAAGATTT
+GCGGCTGATAAACCAGTTTAAGTTGGTTATTGCTAATCGCTTCTTTTAGCGCTGCGCCTAAAACCAAACG
+CTCTTTTACCATTTCGTTCATCGCCGGGCTGAAGAACTGCCAGCCGTTACCGCCATTTTTGCGAATAAAA
+TCCATTGCATTGTGAGCAGTGGAGAGCAGGTAATCGCGGTTTTTACCCACGTCGTAGCTGATGCCAATGC
+TCAAGGTGAGCGGGAATGGTTTATCGTCAATCATTATCGGCTTGCTGACCACATTCCGTAGCTCATCGGC
+GATCTGGGTAATGTTACTGACATCGTTTTCCAGGCTCACGAGGACAAAAGACGCACCTTCAATACGACAG
+AGATACTGATCCGGTTTGAGTTTTTCACGAAAGCGATTGACCACTTCCAGCAATGCCTGATCGGCCCACG
+CATAGCCAAGGCTATCAATCACATCCTGAATATGGTCAACACCGATGAGATACACCACCGGAGAGACGGC
+TTTGTCGACCAGGTCATCGAGGTAATTGTGCAGGTTATTGCGATTTGGCAGACCGGTCATCGGATCAAAT
+TGGATGAGTTGTTCAATATGCTGACGGCTTTTTTCCTGTTCCAGCGCCAGCGCGGCCATATGCTGGCTGA
+TATCTGCCACGCGTTCGATAAAGGCGCTGGTTTCTGCTCCTGACGAGGTTTTAATTTGCAGGATCCCCGC
+AGGCGCGCCATCGCGCTGACGAATGGTCGCTGACCAGCTTTGCGCATTTTGAACTTCTGCACCGTGCGAA
+GATGACGCCCAGTGTATCGGCATCCCGTTGCGCAGCGCGAACAGCGAAACATGCGATTCGTTGAGAACAG
+ATTCGATGTTACGACAAATGATTTCCCCCATTTCATGAAATGGCGGGCTGCTGCACATGGCGGCGAGAAT
+ATTGCCTTCAAGCTGGCGGATTTGCCTTTCTTCGGTGATATCCGAGAATGTCATTACCAGGTTCTGCAGA
+TGCGCGAGCACGTCATAAACCGGGCTGATAGAGGCTTTAATCCAGATTTTTTCACCGGTGCGCGTCAACA
+GCAGAAATTCGTCCTGATCGCGGGCGGTTTTCCATAGCAACTGCTGTAAACGAATACGGTTATCAGCAGG
+GAATTCTGGAATGTTCAGGAGTGTATCGGGCTGCATACCGCTGGCTTCGTTAATGCAGTAACCAAACATT
+TCGGTAAATGCGCGATTGCACTGCACAATATGGCGTTCCGGATCGAGGACAATCACCGGTCGGTCGAGAT
+GGTCAACGGCAATAATCAATTGTCGGGTCTGTTCTTTTTGCGCCATTTCTACGCTGGCATCCCGTACCAG
+CGCCAGGTAATAAACTTTCCCCTCGGCGCTCACTTTCGATAGCGCAAAACGGGTCCAGATTTTACTGCCG
+TCTTTTTTCTCCAGCTGCAGCTCCCGACTCATCCCCTCGACGCGAGCTTTACCACCTTCACGGTTGTGAC
+GAATGTATTCAGGATGCGCAGGACGCAAATCCCGCGGAATCAGCATATCAATGTTATTGCCAATGACTTC
+TTCACGTTTATACCCCCAGAGCTTCTCTGCGGCGGGGTTGAAAAACATCACTTCATCATTTTCGTTAATT
+AACACCGCGCCCATCATATTTTGCTCAAGGGCGGGGAAAAAAATGCCATCGGCGGCATTATCCGCATCGG
+TTAGCTTCATGATTACCTCTGCATCCTGGCGCATCTAAAGACTGGCTTTACAGAGTTCAACACGGTTTCT
+ACCTCGTCTTTTGGCGATATACAGAGCTTCATCGGCTATTTGAATGAGGCGCTCATAGTCAGGATGACCA
+TTAAACATGGCGGCACCGATGGAAAGTGAGAGGGCAATATCCTCGCCGTTTGCGGCTTTAAAATAATGTC
+GACCTTTATGGTTAAACCGCAGGCCAAAATCAACCAAACACAACGTGCGGGATCGACTAACTGCACCATA
+TTCTCCTGAAATATGAAGATATACTGAAAAGAAATAAGCGACTTAGGACAGTTTCAATCTACGCTACTGT
+TCTTCAGAAGAGTATAGCCCATCGTAATTATTTTTCGGTGACAGCGAATATCGTATGTTTTTTCATATTC
+ATACATTTTTATTAGGGGGATTATGGCTGTTTAACTAAGTGTGGTTAATTGCGTGGTTAATTTGACGTAT
+TTAAGCATGATTGCTAGTGGGATAGTTCAAGAGGGTAACAAGCCAGTGGGTAAAGCACCGGCTTGTTACA
+AAGTAAGAATGGGAGTTTAACTGCCCCAACGACTTTGCAGATAGCTGACCGCTTGTTGCGTCTGCGGTTT
+ATTCAGATAGTCCTCACGGAACAAGATTGTGCCGCTAATTTCCGGCACAGCATCGTTAAGATCGAGCTGC
+TTTTTCAGTTCTGGTACGCCGCCGTTAATCATCCAGTCTGGCTCTATCTTTGAAGGTTCACCTACTTTAT
+AGAAGGCGATACCGATATACAGGCGGGTCCTGGTCGGTTTAACGACATCCGCCCACCATTTTGCCAACAC
+GTCATAACGCGCGGCACTCCGTGAGAATGGCCAGTAAATTTGGGGAGCAATGTAATCCAGCAACCCTTGT
+TCCACCCATCGACGGGTATCAGCGTAGGATTCGTCATAGGCTGCCGCGCCTCGGGTATCGGAACCGAGCG
+GATCGTGTGATCGGTTACGCCACACGCCTGCTGGGCTAACGCCAAATTCGACTTCCGGCTTAATGCTTTT
+AATGGTGTGCGATACCTTCGCAATTAACTGCTGAGTATTGTCGCGCCGCCAGTCTGCTTTTGACGCAAAT
+GCGCCGCCGTATTTGCGGTACGTTTCGTTATCATTTAGCCGTGAACCTGGTGACTCAGTATAGAAATAGT
+CATCAAACTGCACGCCATCTACCGGATAGCGGGAAACCACTTCCGCGACTATTGATGTGATCCAGTCCTG
+AACCTCAGGGATGCCCGGGTCGAGGACAAAGCGATCGCCGGACGTTCTGATCCAGTCGCGGTGTTGCACA
+TAGACGCTGGCCGGTTGTTGAGACAGGGTGCTATTCAGTTCCCTGATAGTACCGGGCTTCGTATTAACCG
+ATACGCGATAGGGGTTAAACCAGGCGTGTACTTTCATCCCACGCTTGTGGGCTTCGTCGAGCATAAATTG
+CAGCGGATCGTAACCCGGATTTTCACCAATCTTACCGGTCATAAGATCGGACCACGGCAAAATTTTCGAT
+GGCCACAGGGCGGTACCATCCGGCTTGACCTGGAAAAAGACCGTGTTTATGCCGAGACGTTGCAGATGAT
+CCAGTTTGTCGATCATCGCCTGTTGTTGTACACGGGCCCGGCTGGTGGGGTTACTAATGTTAACCGAGGA
+AACCGGTGGCCAGTCGAGGCGAGACACCGTGGCCAGCCAGATGCCACGCATCGGTTGTGACGATTGTTGC
+GTCGTGGCTGGTGGCTTTGAACCCGCTGGTGGTGTCACCATGGACTCTGGAGGCGTGCTTTTACAACTAC
+ACAGTAAAAGTGCCAGTGCAACCAGTATCGCTGGTCTTCTAATCGCTAATTTCTCGTTTCGGGAGCAGAT
+ATCCATATGTGCTGGTTTCCGGTAAACAGATGTGCGCTCATTCTCGTACTTATCCCGGTTAAGTCAATAC
+GACAGCAAGCACGAAAAAGGGAGCGATGAATTATCGCTCCCTTATCTTATAACCATTCAGACATGGTTAG
+TGTTTCTTGTCATTCATCACAATATAGTGTGGTGAACGTGCACGCGGGTGCAGGAAGAAGTGACCTTTTG
+GTGCGTTCTGACTGTTGATTGGCTCCAGAGTAACGCCGGTATTCCCTTTGCCTTTACGATTATGAACAGC
+ATAGAGAATAAAGGGCAGGGCAAGTACCACCAGGAAACTCACGACCAGTAATTCAACATACATATCAGTA
+GAGTCACCCTGGATGTTATCCGGCGGCAGGAAGGAAACAATAAACGCCATAATTGAAGTCAGCAGACCGA
+CAATAGCCACGACCAGTTTCACCCCTTTACCACCAGGGATATTAAATGTGCGTTTTAAGTCAGGATGTTT
+AAGAACCAACACAATGTAGCCAATAAACAGCATGAAATAAGCACACAGATAAATCACCACCGTCAGCGCC
+AGTGCGATCAGGAAGGACATGTTGTTACCGCCACCGGTATTGGTGAGGATGATCAACGCGATAGAAGTAA
+TCACCAACTGCGAAATGACCAGCGTTACCGGTACGCCATTTTTGTTCATTTTAGCGAATGCCGCTGGCAG
+CAGGTTTTTCTGCGCTGTGACATACATCCCGCGAGAAGGACCAACAATCCAGGAAGCGATTTCCGCCAGA
+ACACCCAGCAACAGCAGTGCGGAGATCACGCGAACCGTCCACTCAATTTCCGGTGCCACATGTGACATCA
+GAACGGTAAAGGTTTGCATTACCCCTGCGGAGAGGTTGATTTCATTACCCGGAATGACCATCGCAATAGA
+CAAACCGCCAACAGAGCTTAAGCAGATTGCCGCCACCATCAGCAGTAACATAGCCAGTGGATAGTCGCGC
+CCGGGGTTGCTCATTTCATTGACGTGGGTTGCGGAAGCTTCAACGCCCATATAACTCAAAATGAAGGCAA
+CAAATACAACCAGGGTGCCCACTTTAGAGAAGTCAGGGAAGAAGGTCTTCGCATCCATTTCGATAGCAAC
+GGGGGCACCGGAGTGCAGATAAATAGCCGCTAATGCGATCAAAATAAATGCAGGTAACAGGATACCGGCG
+AAGAAGCCAACTTTAGCAATTCGCGCCGTGTATTTCGTGCCACCAAACTGCGTTAATGCCAGCGCCCAAA
+GAATGATGAGTGCTGCAATAGTTTTGGTAATGGGGTCTTCATTCAGCGCTGGCCATTTCAGGATGTAGGA
+GAGTGCCCCTAACACGAAATAGAGCATCGGAATAAAACCAATGGCGATTTGCAGATAGCCAAATGAGATC
+GCTGCAAATCCCCATCTCGGCCCCAGAGTATTTGATACCCAGGCGAAGACGCCACCTTCTTCCCAGCCGT
+CGACGGTAGCCATTTCCGCAGCACAAAGTCCCACGGGAATAAACCATAAAATCCCGCCTAATAGCAGGAA
+GAAGACTAATGAAAAGCCCGATGTTGCGAAGGTAGGGTATTCATAAACAGCCATTACCATCGATGCCGTT
+ATGGCAAAAAATCCGAGTAATGTGAGCTGCTTAGCTTTACCTGTCTGTACTGATGTAGCCATATTATCCC
+CCTAAAACGGTATTCCTGTCGGAACCGCACCTGTTTTGTTCTGAAGCGTATTCAGAACAATATTTTCCGT
+TGCTAATGCCAGTGAACAGACTTTGGAAATTGTCCCGAAACGGGTTCGTTTCGGGACACCGTTACCGTTA
+AACGTTATCAGGTGTGTTTAAAGCTGTTCTGCTGGGCAATACCCTGCAGTTTCGGGTGGTCGCTGAGATA
+TTTCAGGGAGGCTTTGTAGTCTTCCAGCAACAGTTCAGCAAAGTCCATTTCGAAGCCGCGACGACACATA
+ATGCGCATCACCACGATGTCGGTGGCTTCACCGCCGAGAGTGAAGGCCGGAACCTGCCAGCCGCGCAGAC
+GCAGACGTTCAGAGAGGTCATACAGGGTGTATCCCGGATCTTCACCATCTTTCAGTTTGAAGCAAACCGC
+CGGGATGCCTTCGTCCGGGCGACCCGTACAGATGAACTCATACGGCCCCAGTTTGGCGATTTCATCCGCC
+AGATAAGCAGCAACCTGGTAGGAAGCGTTCTGTACTTTTGTATAGCCTTCACGACCGAGGCGCAGGAATT
+CATAGTACTGTGCAATCACCTGACCTGCCGGGCGGGAGAAGTTGATGGCGAAAGTCCCAATCTGACCACC
+GAGATAGTCAACGTTGAACACCAGTTCCTGCGGCAGCGCTTCTTCATCACGCCAGATAACCCAGCCGCAG
+CCTAGCGGAGCCAGACCGAATTTATGGCCTGAAGCACTGATCGATTTCACACGCGGCAGGCGGAAGTCCC
+AGACGATATCCGGGGCGACGAACGGTGCCAGGAAGCCACCGCTGGCGGCGTCGATGTGCATGTCGATGTC
+GATACCGGTGTCGGCCTGGAATTTATCCAGCGCATCGTGCAGCGGCTGCGGGAACTCATAGTTACCGGTA
+TAGGTCACGCCGAAAGTCGGCACCACGCCGATGGTATTTTCGTCGCAGGCTTCAATCATGCGTTTCGGGT
+CCATAAACAACTGACCGGGGCGCATAGGGATCTCACGCAACTCCACATCCCAGTAGCGGGCGAATTTATG
+CCAGCAGATTTGTACCGGACCGCACACCAGGTTTGGTTTATCCGTTGGTTTGCCTGCGGCTTCCATACGC
+TTGCGCCAACGCCATTTCATCGCCATCCCGCCGAGCATACAGGCCTCGGAAGAACCAATGGTGTTGGTGC
+CAACGGCCTGACCATTTTTCGGTGCAGGCGCATGCCACAGATCGGCAACCATGTTTACGCAACGCAGATC
+GATTGCTGCAGATTGCGGATATTCTTCTTTGTCGATCCAGTTTTTGTTAATGGATAAATCCATCAACTTA
+TGGACATTATCGTCGTCCCAGGTCTGGCAGAAAGTGGCCAGGTTCTGACGAGCGTTGCCATCAAGATATA
+ATTCATCATTGATAATCTGGAATGCGACATCATCACGCATTTCGTGCAGCGGAAAACGTTTTGATTCTGC
+GATAGTGGAAATAGACTTCGCACCAAAACGTGAATCGAGTAGTTCCGACCTTAAATCCGTTACTTGCTTC
+TTATCCATTTTAAACTCCTTAAAATGATTGGATCGCATTAAAAAAGTAGGATTTATCGATAAAGTAAGCA
+AGTGCAAAGGACTCGGTTTTAAATAACAAAATCCTAATGTTATTTATCGCGAGATATTGCGTGAATAATG
+TATTTTTATTAAAAAACAACATAATAGAGAATTCTGTGTGGAGGTAAGGTGTTTTATGTTGTTATTTTAT
+GTGTTTTCTATCGTCTCCTGAATTATCACGTAAAAATCAGACCTTATAATATCATTATTAGTACACGGTT
+ATTTACTTTGAACACATTTATAAAATTATTACATAAAAATAGCGAATATTGATAAAATCCCCGCCAACGA
+TGTGTTGACGGGGCTGTGATTATTTTGGCAATAATACTCCGGTATAGGTATTCACCGGATGAGAAAGATA
+TTGTTTAACAGCAGTGTTAACATTCTCTACCGTCATTTGTTTCAACAATTGCTCCTGCTCAATCCATGCT
+GCAGGATCGTCATATTGAATAAGACTATTTACAATGGTATTCGCTAATTGTTGAACGCTACGCTGTTGGA
+TATCGAGGCTGCGCTGAACGTTTTGCTGGTATTCGTTCAGTTCTTGCTCACTGATCCCTTTGGCCAGACG
+CTTAACCATCACTTCATTCGCTAACGTTAACAGTTCATCATGTCGTTCTGGTTGACAAGTAAAAGCCAGC
+AAATGACTGATATCTTTGGCCTGAGGATCAACCGAGAGGCGAGAAGAAACGCTGTATGCCCCAGATGCCT
+GTTCACGAATATTAATGCGTAGATCTTTTGCCAGTGCGACGTTAAAAGCATCGAGCGCCATACGCGTCGC
+CAGATTAACAGGTGTCCGGGAATTATAACGCTTCCACTGTGAAACCTGTGCCACTGGTTCATTTTGTTCT
+TTTACAGTAACCGATGCGTTGTCCGTCGCGCGAGTTAATGGTTTACCTGCGGCTAATGGCGAATCAGAGT
+GTTTGATAGATCCTAAGTAACGCGTAATTAACGCCACGAGTTTGTCTTCTGCGACATTACCGACAATGAC
+AAACGTGATATCCGCTGGAGATGAAAACAACTGGCGATCGGCAGTCAGCGCATCTGCGGCAGTAAACTGT
+GCAATCTGATTTTCTTGCGGTAATTTCGTGCGGTCATCGGCATAGCGCGTCTCATACATCTGCTGGGCGA
+ATTTCTCCGCTGGACGCTGGTCGAGCGTTTTCAACGCCTGAATTTGAGCATTTTGTAGCGATGCCCAAAT
+ATTGTCGTTAATCGTGCTGTGGTTGATTCGCTGGTTAATCAACTGGAAACCAGGTTCAGGGTTATTAGTC
+CGCGCGCTAACGGAGAGCAATGTATTCATGCCACTGACTTTACTGCTCATGGTTACCGAGTTTTCCGCAC
+TCCAGCGTTTCAGGCTGGAAGAGGAGAGTTCACCAACGCCGCTTCCGCTTACTGCTTTATTTGCCAGCGC
+GATAAGTGATTTTTGCTGCGCAGGGAAACTTAAATCGCCTTTATTAGATACGGCAGTAATTTGTAGCTTT
+TGCTCTTCACCCGCGGATTTTGCCAGAATAACCCTGGCACCATTGGAAAGTGTTAATGATGTCAGATTCT
+CAGCCAGCGTTTCTTTGCTGCTAATTTCCGCCTGTGGGTCAGCGTCTACTGTTAACGATAAATTTCTGCC
+TGGGAAGATGTAAGCTGCCAGCTTTTTGTTAGCGTACTCTTTTTCCAGCGCCAGGATAGCCGCAGGAGAC
+AATGCTTTTTTGGCGGCAACTTCATTGTTTACCATTTGCTCCCAAAATGCGTCCTGGTTCTTTCTTAACT
+GCTGCCATTTTTCCGCCAGACTTTGCACGGTAATTTGCTGCCACAGACGTTTCGAAAGTTGATATGTCTC
+TTCCGGCGACAAGAACGGCGTATTATTTAATGAGCTGGATGCCAGGCGACTGGTCAGCATACGTAAATCA
+CGCTCAGCTTGCTGATCAACCGCATTTTTCAGCCAGGTAAGGCGGGTAGATTTAACATCATCGAGTTCTT
+CAGCAGAAAAACCATGCTGATCAATGGTTGCCAACTCTGCCATTAATGCATTCGCAGCATCCTGCATATT
+ATCGTCTCGTGCATTTACACGGAAAAATAGCGACTGATAATCGGGTGCAATTTTGACGCTGCGCGCAGTG
+CCGCCAGAAATAGTCTTCAACTCGCCCGACTGTATGCGTTCCTGCAGACGTTGGTTGAACAGCTGAACCA
+ACATGCTCCATTCAGCTTGTTCGATAAAGCTTTGCTCATCGTTCACTTGTACCATTGGCAGACGATAATA
+GAGTGCGATGCCGTTCACCCGGTTTTCTTTATCATTGATGATATTAAAGCGCAGGTGGTTTTCGGCTTTT
+GTCGGCCAGACGCGATTTTCAGCTGCTTTGTTAGCCGGAAGCTTACTTAAATTATCCTTTATCAGCGCCA
+GCGCTTCTTTACTGTCGATATCGCCGACCACAATAAAGGTCATATTATTTGGTTGATACCAGCGTTGATA
+AAATTGGCGCAATTGTGCCGGTGTGACCGTGGCGACGGTATCCATCAGGCCGATAGGTTCACGGTCTAAA
+TTACGGGTATTTGCCAGCAGGAAAGGGCGGCGCGCCTGAGAGGTGCGCCATTTCGCATCCTGATGGGCAC
+GCCATTCCTCAGTAATTACGCCGCGTTCAGCGTCTACTTCGAGTTTTTCAAAGGTTGCGGCATTACTCCA
+TTCACTGAAGATTGCCATCACTTGTTGCAGATTTTGTTTCTGCGTAGTCGGCAAACTCACCTGATACACT
+GTTTCGTCATAGCTGGTATAGGCATTAACATCGCGACCAAAACGCAGGCCCATTGACTCAAATGTTTCGA
+TGACTTTATTACCCGGCCATGTTTTTGTGCCGTTAAACATCATATGTTCTACAAAATGAGCCACGCCGCG
+CTCATTGTCTTCTTCCTGCAATGAACCGGTATGAATTTGCAGCCATAAATTTACCTGATCCTTTGGTTGA
+GCATGCGGATAAATCATATATCGCAAGCCATTGTCCAGTTGCCCGGTAATTAACTTTTCATCCTGCGGTA
+AGGCGGCGGCAATCAGTCGCCCGGGGAGCAACAGAGTTGCCACTAACGTCAGTAAGAAACAGAGGTTTCT
+CATAATTATCTCCATGCGAAAACCGGGCGAATTTACCCGGTAAAGTAAAATCCGAACTATTAAAATTTCA
+TGCTGACATCAAGCCAGAAAGTACGGCCACTGGCGTAGGTCGCCACGCCAGTATTCGTTGTATCAACAGC
+GGTTTTGCTATCCAGTACATTGAGAATATCGGCACTGATCGTCAGGTTTTGTTGTTTCAGAAATTGTGGC
+GTCCAGGACAAGCGGGTGTCCCAGGTCAGGCTGCTATCCAGTTTCTCGTCAACATACTGCTTGTAATCTG
+AATATTCGCTGATGTATTGCGCATTCGTCTTACCCAGGATAATGCGAGCTTTACGCGCTTCTTGCCAGGT
+CAGCGTATTCGCCCACACCAACCCGCTCGGTTGATGCGTGAAATCCATGTTTAAGGAGATCTTTAATGGA
+TTATTAAAATCCGCCACTGGAACGCTATCGTAAGAGACCAGATTACCGTTATAAACCACCCGGTTATCAC
+CGGTATTGCTCTCCTCATAACCATTGTTTAACGACAAGTTGCCCTTGCTCTTGATATAGCTAAAGACAAT
+TTGCGGGTTAATATCTACCTGGCTGATATGCAGGGGTTCGGCCAGTTCAAAACTGAGGTTAAACGAATGT
+GTTTTGGTTTTGCCATCGTTGTTATATTCAGTAATGGTGGTTTTAGTCGCGCTGTCGGTACGGCTGCTTT
+TGCTGATTTGATCATGCGCTTCACGGTAAACATAGTTTGCACGCGCAATAACGTTCTTACCGATTTTCTG
+CTGCAATCCCATTGCCAGTTCATCGTTATAAGGCGTTTTCAAATCCTGATAACGCGTCAGGGTTTTATTG
+CCTGATACCGATTCCGTCCAGCTATTGCGGATATCACGTAATCCCATATCAAGAATATTCCCGCCATAGT
+AACGGTTATAACCGGCGGTAATCATTGAGGTTTGATCAGCAAAAATATCCCATTCCGTCATAAATCGCGG
+GGAGATATTGTGGTTTGACAGATAGTTGTCATAGTCATACCGCACACCGGGCATTAACGACACATTCCGC
+CAGCTAATGCGATCCGCCATATACAGCGTGTAGTTGTCAATTCCCAGGCTGCCTTTACCTTTATGGTAAA
+TGGTATGGTTAGTTTTCTTTCCGGCAGCATTAATCACATAGGATTCAGACTGGTTATGGCGTTCAGTCCA
+TGCATCGGAATAGATGTATTCCGCGCCGAAGTAGGGTTGATGCGAAACATTACCCACGGTGAATTTTTGC
+CAGTCCAGGCGTGTTTTGAAGGTGTAATTATCTACAGCCTGGGAAATGTGTCCTAATCCGCCACGGGTGC
+AACGCCCTGAAATATCACCATATGTACATGAAAGTTCGGTGTACCAGATGTCATGATCGTGACGGGTATA
+ATCACTAATATGATCCCAACCAACGGTGGTACGCAGTTTGGCCCATGCGAGCTGGGTATCCATATCCCAT
+GCCAGACCATAGGATTTATTACCCATTTCGCGATCAGACTCCGGAAAGGTGCTGGTATTATAATCACGGC
+TGGAGCCGGTATATTTTAAGGTTAAATCGTGGGTAAAGCGGTCGCTGGCAAACCAGGTAAATTTGCTCAA
+TGCAGTATCGATAACGTTTTTATACTGTGCCCTGCCGGCGACAATGCCGTCATTCGAAACATAATCCGCG
+CGGGTGATATCAGACTGGCGGCGCGATAAACCGGCGGTAACGCCAAAGTTATCAGCGAGTTCCTGATTAA
+ACGACAAGGTATAAAAGTTCTTTTTAAAATCTGGAGAGTAATAAGTACTTCCTGAAGAACCTTGATTAAA
+TGCGCTCTTGTTATTCTCATCGATATGCGATGTTAACCAGTCCGAACGCGTAGTGCGATAACCCAGTTTC
+ACGCTGCTATCATCAGCGTTGAAGCGTTTGATCTTTGCATCAATTACCCCGCCATTGAAGCGACCGAATT
+CAACCGGCACAAAACTGTCATAAAGCGTCACATTGTCCAGTAAGCTGACATCAAGATAATACCCCTGTGA
+CATCCCGCTAATATTGGTTGCACTACTGGCATCGGACTCATTCGCTGGGTTCAGGTTATTCGTTGCACTA
+ATACCGTCAATCAAATAGGCATTCTGGTAGGGCGACGCACCGTGAATAGAGATTTTCTCCGGGCGAATAT
+CTCCCTGGTTCAATGAGGTACTTTGCGTTGAATCCATGCGTACCGCAGGGTTGGTTCTCAGCAGATCGCT
+GATATTGCCATTCCCGGTCGGTAAACGCTCGATGCTTTCACTGGTGTAATGCGTGTTGCCGTTTACGGGT
+ACAGGGACAGGAGCATAGACCGTCATCTCTTCAAAAACATGCATGTACATATTTTTGTCATCGACGGCCT
+GCGCCACATCAGCGCCACATAAAATGACGCCAGGAATAAGAACTCGCTTCATTTATTTATATCTCCGTAC
+AGCAGGGCTTTTATTGTTTTTATATAACCGCGCTAATGTCACAAATATCATCGACCAGGTTCCAGACACC
+GGGTTGATGTGTAACCATAATGACGCCGCTTGTGGGGAGTTTTTCTCGCACTAAACGCAGTAAGCGGATT
+GCCTCTTGTTCCTCAAGATGAGAGGTAGTTTCGTCAAGAAATATCCATTTCGGACGTCGTAAAATTAATC
+GAGCCAGGGCGATACGTTGTTTTTCGCCGCTGGAAAGAATATCTCCCCAGCGATCGTGATCATGAATACG
+CGCAGCCAATTTCCCCAGACCAACCTGATGCAGTACTTCGCTCAACGATTTATCGTCTACGGACAGGGGA
+AGTGCTTTACAAATAATCTCTTTCAGTAAGCCGGTTTTGATTAACGGTGTTTGTGACACATACCAACTGT
+CAGCAGGAGAAGAAATATCACCTTTAAACCACGGCCAGCAGTGGGATAATGTTTTAAGCAGTGTGGTTTT
+TCCCGCACCAGAGTAACCTTTCAGCAATAGCCATTTGCCTGGCGAAACATGAAAGTTCAGGTTCTCTAAT
+ATGATCTTATTATCAGGAGTACGAATACTCGCGTCAGCCACTTGTACCGCATGTTGACAATTTTTAGGCT
+TATTCGTAGGGCGCTGTTCGGTGAGTTGATGGAACTCATACAAGCGATCGATAACCGCAGCCAGTTCAGC
+AAGTTCATCATATTTATAAATAAACCAGCTTAAATTGTTCGATACCAGCATAAATGCCTGGCGCGATTTC
+ATCAGTCCGCCCAGATTGATCTGCCCGCTAATAAACTGCGGCAATAACAGAAAGTAGGGAAGAACGCTAA
+GCGAGCGCGAATAAATATTCTGCCAGTAATCAAGCCACCGCTGACGATTCATTAAACGATGCCAGTTCTC
+TTTAATGGTATGAAAATTTTCGCTCAACTCCTGGCGTTGTAGAGACTCAGCATTGCTTAGCGCAATCAGT
+TCTGCCTGCTTATTATGCTGCACAAGATTAGTTCGAAATGTCGCTTCGCTACGTTGTTTTTCCACATTAA
+GTGGACGAATACGTTTACCAACCTTATGGGTAAATAAAGTTCCACCGATCACAATGAGCACGACGGTATA
+GACCATATACCCCTGGATACTCCATTCAGTTCCACCAACAGTGAATGAGAGCGTACCCGCGCTTTGCCAA
+AGAATAACGGTAAAGGTGATCAGCATGCTAAGTGACTGGATGAAGCCAAATGAAAGGCTGAGCGTTTTGC
+TGATCAGTAAGAGAATGTCTTCAGCGATACGTTGGTCAGGGTTATCTGTATTTTTATGCTCGCCGTAGAT
+CTGCGTGAAGTAGTAGTTTTTATCTGCAAACCAGCGATTAAGGTAGTAATCTGTTAACCATTCGCGCCAG
+CGAATAGTCAGTAGTTTAATTAACCATGTTTTGTTTACGGATATTAATACAAAGATCCCCAGCAGGGCAG
+GGAACCAAAGGACAAGCTGCCAAAGCTTATCAGTTTCTTTCTGGCTTAGCGCATTGAAAAAATCATTATT
+CCAGTCGTTTAACCAGACCTGAATTTTAACCACGCCAAGGATCATGGCGAGGATAATAATGATTAACAAC
+ACTGAAGTTTTATTATTCTTACGCAGCCAAAAGGGCTTCAGCAGACAGAGATACTTTGCTATCAACATAC
+AAAACGTAATGGGAATGGTTATCATTAGCGAAAATTGATTGTGCCACCCAATGATTATCTATGGCAATGA
+TATACTGATGAAATTTATTTAAGTATCATTTAACAATATGAAATATAAAGAAATATTTAATTTTCAGTGG
+TTATGGTTATACTATTGATAATCAAGGGTATTGCTAATGCCCTGACGCATACCTCGTAAGCCAGGATTTT
+CGCAAAGGAAGATGATGAAGACGAAACACCCGACAGGAATTTATGTCGGGTGCCTTGTTAAGGTCATAAG
+AAGGAGGCTAAGAATGGAGCTAAGGGGGAGCGTTATTAATTATTCTCCATTTGTTTTGCAACATCCATAA
+TGTGGTAAAGCGGTACTCTGTTCTTAGCTAACTCTACCATGGCGTTCATATAAGGTACCATGGTTGAAAA
+AAGGATTTTATAACCTTCGCAAAAATAGGAAACAGTCTCATTGTTTACTTTAGTAATACGATGCTTAGGG
+CAACCACCATTGCAGATAGGTTTATATACACATTGCTGACATTTCGCTGAAATCCGTTTTTTTTGCGCTG
+TCAGTTGTACACTGTTCATCGTTTTGAGTTCCGATTTATTAATGTTTCCAATTTTGTACTGTGGATAGAC
+AAAATGGTCGCATTCGTAAATGTCTCCATTGCTTTCAACAACCAGATTATCCTTGCAGGACTCCTGGAAA
+ATACAACTGGTATGCCCATTCCCCAAAAAACGGCTGACAAAGCTTTCAAACTGACGGATGAAAATTTCAC
+CCACATCGTTTTTAACCCATTGCATAAAAATGGTTGACATAAACTTGCCATAAGCCGTGGGAGGCACAGA
+AAAATCAATGATACGGAATGTGTTCTCACTATGACCACTGAAATCAATATTCGGCGTCCCGGTTTCGAGC
+AATTCGATAAATTGCATATGTTTACTGCCGATAGATTTTAAAAAATGATAAACCTCAAGAGGGTAATGGA
+CATTAATGTTATTAATGACGGTTAACGTATTAAACTCTATTTGATATGATTTCAGACGCTCGATGGCTGC
+TATCACTTTTGCAAAAGTACCGTTACCTGAATTACTGCGTCTGTAGCGGTCATGTAGTTCTTGGGGTCCA
+TCGATCGAGATACCAACCAGAAACTCATGTTCTTTGAGAAAGGCACACCATTCATTATTCAATAAAATGC
+CATTCGTTTGTAATGCATTAAAAATTCGTTTTTGGCCTGCATAGCGTTGTTGATAGTGAATAACTTTACG
+GAAAAAATCCAGGCCAGCCAGAGTGGGTTCACCGCCTTGCCAGGTAAAATAGACCTGATTGCCAGACGCT
+GCGATATATTGTTTGATGAACTCTTTCAGAGTGCTGTCATCCATCCATTTTTCATGAGTAAACTGCGACT
+CTTTTTCAAGGTAAAAACAGTAATCACATTTGAGATTACATTGAAAACTGGAGGGCTTGGCTGTAACGTG
+CATCGCTATCTCGCTCAATAAGGCGGCGGAAAAATCCGCCGCATGAAGGTTTAGTTATTTCGCTTCGCTT
+AATGCTTTCTTGATATTGTTAAACTTCTCCTGATTTACCTCGCTAAGCGGTGGCTGGCTGTTATCGATAA
+ACTCTCTTACCACGCCTTGCATCTCTTTAACGACCTGCGGATTGGCGGCGGCAAGGTTATCTTTTTGCTG
+TAGATCCGTCAGTTTGTATAGACCTAACTGATTATTTTCTACTGTATAGACGAGCGAATAATCGTTATTT
+CTCACCGTATAAGAGAATTGGCTTAAGTCCTCGGTGTTGGGGTTATGCGGGTAATCGTCTGACTGATGGC
+GGACAAATTTGTGGTAATTATCCCAGAATGGAATGTTTTCCTCATCAAACCAGTGAGAATAAGATGTTAT
+CCAGGTCAGATTTTTATGTGGCTCGCCCTGTTTCTTATTTTGCAACCAGGGCAGCAAGGAAACGCCATCC
+AGCTTAAGGTCTTTTGGAATGCTGATATCGGCTGCATCAAGAGCTGTCGGGTAGAAATCCATTGCGGAAA
+TCAGCTTGTCATAATTACCGGGTTGAAGTTTTCCTTTCCACCACATAAACATTGGGGTGTGAGTACCGCC
+AGGATAGGTCTGACTCTTATAGCCTTTTTGCGCCCCGTTCAGCGGCAGAGGACCATCGATAACTGCACCA
+TTATCGGAGGTAAAGAGAATAATTGTATTGTCATACTGTCCGTTTTTCTTCAGTTGTTCGAGAATGCGTT
+TTACACCCTGATCAACAGAATAAACGGAAGCGTAGTAATTATCTGCTGTTTGACTGCCGGTATTAAATTG
+CTTCTGATATTGCTCCGGAGCAGGATTATCATTTGGCAGATGCGGAGCATTATAAGCCAGGTAAAGCATA
+AAAGGCTGGTCAAGTGTTTTGGCACGATCAACAACGCCAATTGCCTCATCGGTTAACTGATCGCTGATAT
+AACCTTTTGCGGGGACGCGTTCACGGTTTTTGAACAGTGAAGGGGAGTTGTAATATGCCGTTCCCGCAGC
+ATGGAATCCCATAAAGTAATCAAAGCCACGGTTTTGCGGTTGCCATTCTTCCGCAGAAAAGGTAGTGAAG
+TTGTCATGATAGTCACGCGTTTGTTTATCTTCCGGCACTGGCACATTACTGATTTTTGACAAGTGCCATT
+TACCTACTGCTGCAGTGTAATAACCATGATTCTGGAATAATTCAGGCAAGAAAGTTTCTGTTAGCGGAAT
+ACCATCCTGAGCATCAGTATTGGAATAGACACCAAAGCGGGCGGGCGCTCGACCGGTCATTATTGCGGCG
+CGGGACGGGCCGGAAACACCGTGCGCCACATAGCCGTTAGTAAAACGTACGCCTTCATCCATTAATGAAA
+GGAGCGTCGGCGTTGATTTTTGCGCAGCTTCAATGGCTTTATCTATCCCTATTTTGTAGGTATCGACAAC
+TTCACGATTTTCCATTGTTTTTGGGTCAAAAGATCCCTTATCAAAAGGAAGTTGTCCATAACCAAGATCA
+TCCATGGTCAGTACGATAATATTTGGCTTTCCTTTGGTACTGTATTCAGTCGGCGTAAAGTCTGAGAAAG
+CAACGTTTGTTTTGGTTGCTTTCAGCTTTACATCATCTGCCGCATGAGCAGCAAATGCAGCCATACCAGA
+TGCCAGTATCAAAGATATCGAGGTACTTACGACACTTTTCTTTAATGCAGACTTCATAAATGTTCCTCTT
+CTTATTGTACTTAATTCCAAAGTAATTTTACGAAGAGAAATAAGTTAATGTAAGTGAAGTTAGTCACATA
+AATAGATAGCAAATTTAGCTAAAAAAAGGGAAATAACAGTCCATAACGCATTGACATTACTTTCTGTTCT
+ACTAAGTAATTTCTCGCCGATAAACAACTAATCTATTGATATTTAATGAATTATTGTATTTTACTGCCAA
+AATGCCGAACTGAGATCATAAATAATCATGCAACAGGTTATGCAAATGCATAAATATGTGATGACTGTCA
+CTTATTTATTTCAAGAAATATATCGCCTAAAAACAACGCGGGGCAGGGAATGGCTGCCCCATTTAATTCT
+TACGCAGCGTGTGTGGTTGACTACTCGTTAGCAAATAATCAAATAGCTAAAGCATTCATCGTGTTGTCCG
+TGTTCATACCCGTGTGCCTTTGACAACGGTACTCCTTAGAAACTCTCTTTGGACTGTTGCCGAAATGTTT
+GCGGAACGCATAAATAAAATAAGATGTACTCGCATAACCACATTGTTCGGCAATTTTATTGACTGAACCT
+TCTACGCGTATCAAATTTTTTGCGTGCTGCATTCTGGCATCTAAAAGAATCTGTGAGAATGTCGTTTGCT
+CTTGCTTTAGTTTTTTCTTCAACAGGCTTTCACTGATGTACAGGCAGTCACAAATATCTTTCAGCTTCCA
+TGGGTGCGCCAGCTTCATGTTGACAATATTTCTCACTTTCCCGGAAACGGATAGCACACCGTTAGTTAAT
+AGTGTAATGAAACCTTTGCATGCGGCAAAAATAGACAGGCAAGAAAAAAGCAAAAGTTCTGAAAAATTAT
+GATGATTGCGTTCTTCCGAGTTGAGATAAGCAATCATTTCATTAAGCAATCCAGTCGGTACATTTGAAGC
+ACGTAAAAACTTCGCAGGAACAGGCACCGTCACTGTCTGGATGTTAGTGCATTGTAGATATTTTTTAATG
+GTATTTTCATTAAATCCGATTTCTTTAAAATGCCGCTCATAAGGTTCAAAATGCGTACGAACAGCGTTAT
+CTACCATCAGGATCTCGCCGTCAGAGAAGGCGTAATCTTTATCTAAAATGTTAGCGTTGAAGGCATGATG
+AATAAATATAACAGAACAAACGAGCGACATTTTATCTCCTTAAAACAATAAAGTTTTTATCGATACTTTT
+TTAACATTTCATATTTATAATTTGCTGTTTATTTTTCAGTCTTGCAAACTATTGATAATGAAATGTGTAA
+GATCCCTTGCAATGCGACCCATTTCTGAAATACCCAGCTGATCAATTGCCGAAAAAATGGCTATCAACGT
+AAGTGTCAGTAACAAGACAACCACAATTACAGACATGATTTCTTTATAGTTGTCTCTTTGCGTGATTTTG
+TTTTTCACTGTGGTCGCATGCATTTCAAATATGTTTATTTAGCGGATAACGTTAAAAATCGTTAATCAGT
+ATGATTAATATAACAGGCTGGATAAAAGAGGAAATAGGACTGGCGCTTCAGTACTGAGCGGAGTTTCTTA
+CAGCTGTAGGCAGAAGTTTATATCTTATAGTGTGTGATTTAATTTAATCCATGTGAGCAAATTGCGCGAT
+AATAGTCAATGAGGAATTCTTCTGCTGTGCGGATGACAGCAGAAGAAATGAGGAGGCGAATTAATTTGAT
+GGTTCTAATTCAACCGGAATACTTTTATAGCCAGGAATTCCACTTAATGGATCGTGGTTATCAAGTGTTA
+GCATGTGATTCGATTCTGGAAAATAGGTCACCAGTGAGCGGTCAGCCATAGGGTAAATGACCACTTTTAA
+TCTATCCATGCGGCGTGAGCTACGTTTACCGTCTGGCGTGAGTGCAATAAGATTAACTCTTTCGCCGTTT
+TTTACACGGCAAATTTTAGCTTGTTTAGCACTCATAAAGACCACATCTCGTTGACCGAATACCCCTCGAT
+AGCGATCATCCATACCATAAATCGTCGTGTTGTACTGATCGTGACTGCGTACTGTCGCCATGACCAGCTT
+ACTGTTAAACGCTGAAGAGGGATCTTCTAACAGCCCTTTACTGGTAATGAAATTAGCCTTACCTGACGAC
+GTCATCCAGCGCCTTTCAGCTGCTGCGTTTATCAGGTGAAAACCACCAGGATGACGGATGCGCTGGTTAT
+AGTCGGCAAACTCTGGCAGCACAGCTTCAATGTCATTGCGAATGCGATCATAATCTTCCACCAGATACTC
+CCAGGCTACCACGCTCTGGGGTAGTGCTGCTTGCGCGATTCCCGCGACCACTGCACACTCTGATTTCAGC
+ATTACACCGGCGGGTTTTAACACACCACGCGAGGCATGAATCATCGACATTGAATCTTCAACGGTTACCG
+CCTGCGCACCGCTTTTTTGCATGTCAATCTCGCTACGTCCCAGAACCGGCAGAATATAGCTATGCCGTGC
+GGTCAGCAGATGAGAGCGGTTAAGCTTAGTGGCTACGTGTACCGCCAGATCTAATTGCGTTAACGGTACA
+GCGCTCGCTTCCCGATCTGGCATTGCCAGTGCAAAGTTGCCCCCCATGCAGATCAATGCTCGAGCTTGCC
+CCGTACATATAGCTTGCATGCTGGCGATTGCAGCATGTCCAGGTGCATGAGGTGGGGTGAAGCCATAGCG
+CTCACACAGGCGATCCAGAAACTCTGCAGACGGTTTCTCGGTGATACCGACGGTTCGGTCGCCCTGTACA
+TTAGAGTGACCTCGTAGTGGGCAGATACCCGCACCAGGCTTGCCAATGTTACCTTTCATCAACAGCAGAT
+TGACCAGTTGCTGTACGTTCTGGGTACCATGTTCGTGCTGAGTGATCCCCATTCCGTAACAGATAATGGT
+TCGTTCGGCAGCGGCATATGCATCAGCAAGTTCGGCGATTTGTGTCTGACTTAGTCCAGAAATACGTTCG
+ATATCTTTCCACTCGGAATTGAGCACGTCACGGCGTAGCTCGTCAAAGCCGACGGTATGCGTTTGAATAA
+ATTCGTCATCCAGCAATGAGGGCCGACCTGCGGCGCTTGCAGCATCATCGCGCTCAATTAACAGGCGCAT
+CATCCCCTTGAGCAATGCCATATCGCCACCAATGCGCACGTTATAGTAGGCACTGGCCAACTGAGTCTCA
+GAGTTCGTCAGCATTTCAAACGGGTTTTGCGGTGCGGTAAATCGCTCCAGGCCACGTTCCTGTAGAGGAT
+TGATGGCGATCATTTTCGCTCCCCGTTTCACTAAAGCGCGCAACGAAGTCAGCATGCGAGGGTGGTTTGT
+ACCAGGGTTATGCCCAATGCAAATGACTAAATCGCATTTCTCAAAGTCTTCCAGCAACACGGTCCCTTTA
+CCCACACCGATACTCGCTGCCAATCCCACACTGGTCGGTTCATGGCACATGTTGGAGCAGTCGGGAAAGT
+TATTGCTCCCGTATTCACGGGCAAAAAGCTGATAAAGAAAGGCAGCTTCATTGGAAGTGCGCCCCGAAGT
+ATAGAATTCAACCTGATTGGGATCACTATAGCTTTGAAGGCGAGCGCCAATTTCGTCGAAAGCTTGTTGC
+CAGCTTAATGGCTTGTAACAGTCGCTGACGTCATCATATTTCAAAGGCTGAGTGAGACGTCCCGCAGCCT
+CAAGCTCGTGATCTCCCCAGGTAAGTAATGATTGAACCGTATTCTCAGCAAAGAAAGAGGCATTTACCTG
+CTTATCCGTGACTTCCCAGGCGATTGCTTTTGCGCCGTTTTCACAAATGTCGAATGACGCACTGTGCTTA
+GGATCTGGCCATGCACATCCCGGACAGTCAAAGCCCTCTGGCTTATTCATGTCAAACATGGCAATAACAT
+CCTGGCGTATATCCATCTGCTTACGTACTGCATTCGCTACGGATTTAACAGCACCCCAACCACCGGCAGC
+TCCCTGGTAGGATTCAATTTTTTTCTTCATCTGCTTATCCTGTGTGGAAATGAATTATTAGGATTTGTAA
+TAGCGATGATGCAAAGTATATACAAAGGATTTATCGTCAACATGAATATATAAGAGTAGGGGACTACTCT
+CTTACTATTTTTACTCTATTATCGTTAAATAATAGAGTAGTATAAATACGATAAGTTAAGCATCATCTCT
+CATAGGGTTTAAATTAACATGATTCTCAATATAAAAAATAAGACTCTGGCTTCAATTGTGCGCGGATTTT
+CTTACAAGTGTAGGATAATAGCCTTCACAAAATAATTATCCGCGCTCAATACCGTTAAATGCAACCCGAA
+CTCCCGTTGTCCCTTTGCTGCATTCACTTAATGTAATCTGAAAAGGGACGGCTGGACTTGTGCTACCGGT
+CGTTGGAAATTGTCTGGCACTGTTTTTTTGGAGATCTACGGTAAAATTAAGCGAATCCGATGAGACTGTG
+CAGCCATAATCGAGAACGCGCCCGCTAATTTTAATAACGCTATCTGCGGATAAAGCAGAATAGGTGGTTA
+ACCCCAGACATAAACCGAGGAAAATAACGTTATTGTATTTCATAATCTATTGTTCCTTAGCGACAGATTG
+CTGTCTGCTGGTTCAGCAAGGTTCCAGGAGAGACTGCAGGAAGCTTGTAATCGACAATACAGTTTGAGTT
+TTTATCATTGCCCCATGAAACCTGTAATTTCCCTGACTGTGGAAGTCCAGTCAGATAAACCTGACCATTT
+TCCGCGACAATGCTGCCATTTTTATTCTCTCCGTGAGTGACAATTGCACCGAATGGAACGCTTTTATTAC
+CGTACTTTAACGTCATTAATACTTTCCCGCCGATTTGTGCATTAAATGTTGCTCTGGCAATAGCACCGTG
+AGTTGGGATGACAGTGACTACGGTTTCATCCAGTTCAACATTATCTGCAAGGGAATTCGCGTTAAGAGCG
+ACACGATTTTCTCTATATTCTGTCGCAAATGGTAATATGGCATAGCCACGCCAGTCGGTATGAATACCGG
+TCTGGTTCTCTATTTTGACATTATCAGCGCCAGGAGCCTTAACCAGAACTATTGTGTCGCCCAGCGGCTG
+TCCAAAGGTGATGCCATCAGCATGAGCAATAATGCCACCACTCATTCCGTAATAAATCTGGCTGCTGTCA
+CCACTCCGACTGTAACCGACATTCGTATTACCGTAAGCTCCACGATAATTAAGAGAACTGTAACCACTGG
+TGCCAGACGATGTATTACCCCCTTGGGTGTTACCGACCTGAACGCTATAATTCAGGTTATTATCCGGCAG
+CAGAGTGCCATAAACCCCTGATAGGTTGGTCATGCCGCCTTTCAAATCGTTTGACATACTGTAACTGGCG
+TTTGAATTACGAAATGCCGACTCATCATCATTGTTGTAATCAAACCCCTTCATGAATGCGCTTTGAAGGG
+AATGCTTCTACAAGGAAATCTCAATGATTAAAGAAAACTTCAACGAACTGCAAATCTTTCTTGTGGTGGC
+AAGAGAGCGAAGTTTTACCAAAGCAGCAAGCAAACTCGGCGTCTCTCAGTCTGCACTCAGCCATGCAATG
+AAGGCACTGGAGGAAAGGTTAAATATCCGTCTCTTAACCCGAACTACCCGTAGCGTGACCCCCACGGAAG
+CAGGGGAGAGAATAATTGCCTGTCTTGAGCCACGTATAGATGAGCTTGAGCGCGAGCTGGAATCACTTAT
+CCAACTGAATGGCGCGCCATCCGGGAATATTCGTTTATCAGCCGGGGAACATGCTGCACGCAGTCTGGTC
+TGGCCGAAGTTAAAATCGTTCCTCAGAGAATATCCCGAAATCAATGTCGAACTGGTGGTGGATAACGGTT
+TTGTCGATATTGTTGACGGTCGTTTTGATGCCGGGATCCGGCTGGGTGAAAGTGTGGATAAGGATATGAT
+TGCAGTGCGAATTGGGCCGGATATGCGGATGGCCATGGTGGGATCGCCGGCGTATTTTGCTGCAAACCCT
+GCGCCTGAAACGCCTCACGAACTACAAAATCATCGCTGCATCAATAACGTAACGTGGATAAACCTGCGAA
+TTATCGCCAGGGCTACGAGTACTACTGGAAAACCCACGCACACCCAAACATATTCAGAAGCGTGAGGGAT
+ATAGTGCCATCAAAGCGCTGGCTGCTGTAAACAACGCAATTATCCAACTCATGGTCTATGGTGTGCCATC
+ACTGAACAGAGGTTGAATTTTTCTACCGAAACGGGAGGGAAGTCAGAAATCACAACGTATTGATTTATCT
+GTGTGTGGATGTGAATGGTGAAGTAAAGGATCTTCACAGGTAATTTAACATAATATACATTATGCGCACC
+AACATAAACCAAGGGAGAATCCAGTCGTTGGCGGTTCATGATTGTTCTGCTCATTAACAACGACCAAAAC
+CCCATATCTTACTTAATACCGTATTCTCGGCTTAACCGACCGTGCAACCTCAACACATTGGTTTCAACTG
+CCGTCACCACGTTCTCCGGAAAATCTGTCGGTAATGAAGTCTTCACGTTATCCAGTGCTGCCGGAATCAT
+TCTGGCAAAGTCACTCAGGATTTCATGCATCTGCACTTCCGGGAATTTCAGCACCTTTGCTGTCGCCAGA
+AAATGTCGCGGATAAATTTTATCGATTGCCGTTTTTTTGCCTTTGGATGCGTTAAGCCCCATTGCCAGTT
+TGAGATCGCTGATGTGTATTCCCGTACCGCCAAGGACCGGAAATGCCGAAATGATGTCATAAAATGGTGT
+GAGCCGATAACTGCCGCCAGCCTGAATAAATACGGAGAAGTTTTTTGCATGGCCATCTGTTGCGCCAATC
+AACCACTGGAAGACCTGAAACTTCATAAAATCATAGCGATCTTTCAGCGCCTCGCTGGACCCCATTAAAA
+AAGCCATAACTTCTTCAAGTCTGGCTTCAGTAAGCTTTTCCCATGCCATTATCGGACACGTTACGGTTTC
+ATCTTCGGGGATTAACGTCACGGCACCAACGCTATCTCGCCCTATTTCTGACAATAAATCAAACGGTTGT
+CTGGATTTAGCATGATAACGTTTAACGATCCGGTCACGTACAATCGGGCTATCGGGTAACAGGTTATCGA
+AGAAGTTAAATACGGCATCAGAGGTGATATTCCCCCTCTGCAATGGCAGCGAAAGTGACAACGGTCTGGC
+ATAACGGCTGGCTAACCACTCAGGTGCATACTTAAAGGTGTGCGCGCCGTTGGCTAACTTCGTTAACTCG
+CCTACCCGCTGGTTGTTCATCCAAGTGACTAGTTTAGGCATTACCACTCCAGATCTTGCTGTTCTGCTGC
+TTCTGGCGAGGCATTTTTCGCGTCGCATAGCGTCATTGAGAGTTCAAGCGACTGTAAAATCTTAAAAAAT
+GTCGTGAGCGAGGTATTGTCAGGATTGTTTTCGAAATTGGAAATTGTCGCCTGCTTAATGCCGATTTTTT
+TCGCCAATTCGCTCTGCGTCCAGCCGTTTTGCTGGCGAACCAGTTTCATTGCATTCGCCAATTGCGTTGG
+GCTATAGATCTTCTGAAAGCTCATCATGTCATACGTCCACAGCAAATTTATCCTCTTAAGGGGATATTAT
+CAGTTTTATCCTTTAGTGAGGATAAAGTCAATCTGGAAACACATCTTATCCGCTCTACGGGATAAACGCT
+GCGATATCCGCGATCGCGGATAAAAAGGAGGATTTAAAAAAGCACATCCTAATGCGGTGGCTTCTTTGAC
+TACCGGAATCTGTAATCTTAATGACCGGGCCGCGTAAAAAACGTCTGTTCAATGGGGTGATGCCGTGAGG
+CGAATTTATCAGTTTTATCTACAATTGGGGTAACGCGCTGACGGGAGTAAAAAAATGTCTGACTGGAACC
+CCTCTTTATATCTGCACTTTGCCGCTGAACGATCGCGTCCGGCGGTGGAGCTGCTTGCCAGGGTGCCGCT
+GGAGAATATCGAATACATTGCCGATCTTGGCTGTGGCCCAGGTAACAGCACCGCCCTTCTAGACCAACGT
+TGGCCTGCTGCCAGGATAACGGGCATCGACTCATCTCCGGCGATGATTGCTGAAGCGCGCAGTGCTTTGC
+CAGACTGCCTGTTTGTGGAAGCAGATATCCGCAACTGGCAACCGGAACAGGCACTCGATCTGATTTTTGC
+TAATGCCTCGCTGCAATGGCTGCCCGACCACTACGAATTGTTTCCTCATTTGGTTTCGTTACTCAGTCCG
+CTGGGCGTGCTGGCAGTACAGATGCCAGATAACTGGCTGGAGCCGACCCATGTGCTCATGCGCGAAGTTG
+CCTGGGAACAAAACTACCCGGATCGCGGGCGTGAGCCGCTGGCTGGCGTTCATGCTTACTACGATATTCT
+GAGTGAAGCCGGATGTGAGGTCGATATCTGGCGAACCACTTACTATCACCAGATGCCGTCGCACCAGGCG
+ATTATCGATTGGGTGACCGCCACTGGATTACGTCCGTGGTTACAGGATCTGACCGAGAGCGAACAGCAGC
+ATTTTCTTACGCGCTACCATCAGATGCTGGAAGAGCAATATCCCCTCCAGGAGAACGGACAGATATTGCT
+GGCATTTCCGCGTCTGTTTATTGTTGCCCGCCGTACGGAGTAATTATCACGTCAGCTGGTAATGGCGATC
+GGGAAGAATTTTCGCTGGAATTTCTGCTTCATCGTTCATCTGTAACAGGTCAATTTCAATAGCGTTGCAG
+ATGGCATCCAGCGGTAAATCATTGTTTTCAGTACCGAAGGGATCTTCCAGTTCTTCCGCCAGACAATCCA
+GCGAAATAAAAGTGTAGGAAATCAGCACAGAGATAAAAGGCGTCATGTAATGCAGGTCCACGACCAGCGC
+AAACGGCAGCATGATACAAAACAGATACACGGTGCGATGCAAAATCAGGGTGTAGGCAAAGGGAATTGGC
+GTATAGGCAATGCGCTCGCATCCTGCCAGGACCGCTGAAATATCATTAAGCCGATCGTTGAGGCTAATAA
+ACAGGATATCTGAAAGTTGTCCATTGCGTCGCTGAACCGCCAACCACTCCCCCATTATTAACAAGATGTG
+GTTAGCTGGAGAGTTAGAAGCCAGTACACGCTGAAGATCTTCAGTCTTGAGATAATGAGCCAGCACTTCC
+GCCTGTGGCTGTTTGCGTAATGTCATGCGTAAACAGTGGGCGAAGGCGATTTGCAGCCGGGCAAACTCCC
+TTACACTTGCCGAATCCGGCAATGTCGTTTTTACCTCGCGCAGTAACGACCGCGAGGCAATCATCAACTG
+CCCCCAAAGTTTTCGCGCTTCAACGTAACGGGCGTAACCGGCATTATTACGAAAACCAAGAAAAATGGCG
+ATGGCGACACCGAGAATGCTGAACGGTGCGAGGGTGAATTTAATGCCCAAATGCGTGTACCAGGGCAGCA
+TGAAAATAACAGCGATAGAAAAGAGAAAATTGAGTAGTAAGCGCGAGGATATCTTGGATAATACTGAACC
+GTGCCAGACAAAAATACGGCGCAGCCAGTGTTGTTGTGGACGAACAATCATGGTTATCTTCAGGCGTGGA
+AAAGTCGCCCTATTAAACGTGATTACGATCACATTCTCAAGATACTACTTACAAATTACCTATAAGCTTA
+CAACATTAACAGGTGCTGCATGTGGCACCTGTTAATGATAAAGGCATATAGAATGTTGTAACTAATATAG
+CGAAATAAGAAACCCGGTCGAAACCGGGTTCAGAGTATTAGCACAACGGGCGTACAGCTTCGCGCATCCC
+TTTTTCGAGAATCGCATCCAGGTCATTAGCAACCTGCTCGACCAGACCAGGCACTTGCGTCAGGTCCTGC
+TCCCAGTGGTCTTTTTCTGCCAACACAATCGCTACCAGTTCCTGGGTCCCGATAACACGGTCACGATACT
+GGCTCCAGAGTTGCTGATAACGTTCCAGCCAGTGTGCATCGTCCTGTACCGGATATGTTTCTCCATTACG
+CTCACCGCGATAGAACGCAATCAATGCCGCTAATGCGAAAGTAAGGCGCGCCGGAAGTGTGCCGTTTGCC
+TTCTGCCCTGCCAGCAGCTGCGGCAGGATGCGTGTGCGGAACTTGGTCATACCGTTGAGCGCGATAGACA
+GCAGTTGATGCTTGATGTACGGGTTACGGAAACGTCCGGTGACTGCACTGGCGAAAGACTCCAGCTCATC
+GCGTGGCAAATCCAGTACCGGAATAATTTCTTCGTAGATGGCTTTTTCAACGAATGCGCAAATTTCAGCA
+TCGTTCATCGCTTCACCTACGGTATCCAGCCCTGCCTGGAACGCCACCGGCACCAGCGCGGTGTGCGCAC
+CGTTGAGGATTGCCACTTTGCGTTCTTTATACGGTTTAATATCGTCAACGATCAGCACGTTGAGCGGATA
+TTTGTCCAGACGAAGTTCAGTCGCTAAGGATTTCGGCCCCTGAATCACAAACAGGTAAAAGTATTCAGCG
+GTGTCGAGGAAACCATCGTGGTAGCCCAGTTCTTCTTCCAGTTTAGCCACTTCATCACGCGGATAACCGG
+TAACGATACGGTCCACCAGCGTAGAACAGAAGCTGTTAGCCTGATCCAGCCATTGAATAAATGCTTCTGG
+CAGTGCCCACTCTTGCGCATAGCGCAGCACCAGTTCACGCAACGCGTCGCCATTATAGTCAATCAACTCA
+CACGGGATGATGATCCAACCTTTATCCAGCGCACCGTTGAAATGGCTAAAACGTTCGAACAGCAGACGGG
+TCAGTTTTGCCGGATAACTTACCGCTGGCGCGTCATCGAATTTATCGCCCGCATGGTAGCTGATACCCGC
+TTCGGTGGTGTTAGAGAAAACAAAGCGCATTTCCGGGTTGTGAGCCAGTTTCAGGAATTCATCGTATTCA
+CTGTAGACGCTGATTTCACGATTAACCGAGCGAATCAGACGCGCGTCGCTGACCGCTTCACCCTTCTCAT
+TCAGGCCACGGATAATGGTGGTATACAGACCATCCTGCGTGCTCAGTGACGGCGGGAATGAAGTTTCAAT
+CGGACGAACAACGACCACGCCAGAATTCAGATCGGTGTGCTCATTCAGGAGATCGATTTGCCAGTCAACA
+AAGGCGCGCAGGAAGTTACCTTCACCAAACTGAATGATACGTTCTGGATACTGTGCACCGGGAAAATCGC
+GACGATTTAGTGTTTTCACAATGGGTTCCCTTCTGATTAGTCATACAACCTGTTTGAATTGGTACGACAG
+GTTAGCAAACTTTAATACGCCGAACCCTTGTTTTGATCAACTACTGATGATTAATGAGCAGTTTTATGAG
+AAAAGTGTGGCGCGGATCATGGTTTAATCGAGGAAACAGGCCTTTTCTTGGATCATAAAGTGGTAGAACA
+CATTGCATTTAATTCGCTCTGAGTAAATAAAGATGTCAGACAACTTCCTCACCGTAACGCATAGTGCTGG
+TACGGTTGCGCCCATCTTTCTTCGAGCGATACAGACACGTATCGGCTTCGACCATCAATTTATTAAAGTC
+ATCGGTCAGCGTTCGGTACGATGCGCAACCACTACCGACGCCAATACTTACCGTGAGATAAAGCGTTTTT
+TGTTGCCAGGTGAACGGTTGAAGTTCTACGCCTTTACGGATTTTTTCCGCCATTAGCAGGCCATCGACAG
+GATTCACCGACGGCACTGCAACAGCAAATTCTTCGCCGCCCATTCGCGCCACCAGCCCCTTATCACCGAC
+AATCTTCTGAATATGCTGGGCAAACACGCTTAACACTTTATCGCCACATTCATGTCCATAGTTATCGTTA
+ATGCTTTTGAAATAGTCGATATCAAGCAGCATGACCGTCAGATGTTGTGTCTGTTTCAGCGATGGACTTT
+TCAGCGCCTCATAAAGACCAGACCGTGAGTAAACCTGAGTCAGAAAATCAAAGTCGGCTCGCAGCGCAAC
+TTGCTTCATTAGCGAATTGATCGCTGCCACGCTAAAGGAAACCATAATTGGGCATATCGCCATCGTGGCA
+ATACCGAGACGTGCGGAGAACATTTGCGGAATAGAGAACGGCGAACCGACCGAGATATCAATCACCGAAT
+TTGCCACCAGTACGACTTCCACCGCACCGGTGACAAAGGTCAACAGACATGTTACCTGCGGCGTATAGCG
+CACTGCACACCAGATTAATGCAGGGAGCGGAAACGCCAGACTCCCCGCTCCGCCAATGACTACCGAGGCA
+ATAACCGACACAATAAGCGCGATAGCAGGTATCATCTGCTCTGCTTTAAAGCGCGGCAGTACTCCAGGAA
+TTGCCAACGTCAGCATACAAGGCACGATCAACACGCCCGTTGAGAATTGCTCACTAAACCAGTCGGCAAG
+CAAAGGCCAGAAATCCAGACTATCAATACTGACCGAACCAATCGCCCCGACAATAGCGCATAATAATGCG
+GCAAGCAGACAGTAATTAAATAGCCGTAAGGCACTTACTGGCTCATACTTATTTTTTCCCAGACGCTTAT
+CCCGCGCGACCAGTAAGGCGACGGTAACAATAAACATCATATTGGAGAAATTGATAGCCAGTGAAACCAG
+CCCCCATTCGGTGGTTATGGCATCATAAACCAGCATCGCCACATAACTGATCGCATAGTAATGCAGTCGA
+TTAAGCCAGACATAGCGGGCAAACACCCCCGCCATTACGCCATTCAGCGGCCAGAAAAGAGAAAGTTCGT
+GAACCAGCCGTAACTCTGCACCAATAAAATAGAACAGCGTGGTTAGCACAAAAATAGCGATGCTATTACG
+TAGCAGATGACCTTCCTGGAACAAACGGAAAGTTGAAATGGGCTGTACATGCATTAATTATCTGTCCATA
+CAATTGCGGGTGGCAATTATCTCAACGCAATAAGTAAATTCTTAGAAAGGATAGCATGTTCGCTGACAAC
+GGCGGCAACTAAAGATACCTAATGAATGCCATTTTATCGATTTCCGTAATTATCATGGCTGATTCATCTG
+TATAACCAGCCAGTGGTAGATTACCGTCACAATATAACGTTGTTGCTCCTCACTTAACGCTTCCCCCTGA
+GGAATGTTATGCCACTTAGCCAGACAACCGCGACAACAGGTCGCGGTGGCGTGTTGAGCGATAAAAACCG
+GATGCCCGCGCATGGGGGTTTGCTTACCGTCGTTAGCCGGTAATGCCGGAGCAAGACGTTTAGCGACAAA
+ATCTGCCGCATGTTGTTCAATGACTGGCGCGCCTTTCTCCAGACAATACTGACGCTCTTTCACACCCAAA
+CGAAAGCGAGAGCGAAATTTTGAACGGGATAAACGCGCGAAGAGTAGATCGAGAGACTGCATTAATAAAC
+TGAACGCCCTAATTGTTTCGTCAATTGTTCAAGGACGGCAATGCCCGCAAGCGAGTTACCGGCATCATCC
+AGTTCCGGACTCCAGACTGCGATGGCCATTTCATGCGGAACAATCGCCACAATACCGCCACCAACGCCAG
+ATTTTGCCGGTAGTCCCACCCGCCAGGCAAACTCCCCCGCGTTCTGGTACATACCGCTGGTCGCCATCAG
+CGCGTTAATTTGCCGCGCCTGCATTGGCGTCACCACAGGTTCATCAATATGAATAGCTTTCCCCTGATTC
+GCCAGAAAGACAAACGTCCGGGCCAGCTCTACACAGCTCATTTTCAGAGCGCAGTAATGAAAGTAGTTTT
+GCAGAACGGTTGTCACGTCATGATGGAAATTGCCAAACGACTTCATCAGCCAGGCGATAGCCGCATTTCG
+CGCGGAATGTTCAAATTCGGAACGCGCTACCACCGTATCGTAGGAAATATCAGACACACCACTTAAGCCG
+CGCACGACTTCCAGCATACGTTGCCGAGGAGCGCTTAATCGCCCTTGCAACATATCGCAGACCACCAGCG
+CACCGGCATTAATAAACGGATTACGCGGAATACCCTGCTCCATTTCCAGTTGCACTAAAGAATTGAACGG
+TGATCCAGACGGATCTTTGCCGACGCGTTGCCAGATTTCCTCTTCGGAGTAATGACGCATGGCGACAACG
+AGACTCAGCACTTTGGAAATAGACTGAATGGAAAAACGTTCTTGCGCGTCTCCGGCCTGAAAAAGCTGTC
+CGTCAACGGTACAGATAGCAATCCCCAATCGGGAACCGTCTACCGTAGCCAGCGCCGGAATATAATCCGC
+GACTTTACCCTGACCAATGAGCGGCCGCACTTGCCGCAAGATGTTTTCTAAAATTGCATTATCCATGGCG
+ACTGCCACTTTCTACTCCTGGACCGCAGGTCTGAAAAGACCTGCGAGTATATCAGAGCTGAATATGTAGC
+GTCAGATCCGGCCTTTCCACACCGTCTGGATATTACAGAATTCGTGTAAGCCAAAATGGGAAAGCTCACG
+CCCAAAGCCACTCTTCTTCACGCCACCAAAGGCGACTCGCGCATCGCTGGCACAATAACCATTGATAAAC
+ACCCCACCGCATTCCAGACGTGCCGCCATCTGTCTGGCCTGTGTTTCGTCGGTGGTGAAAATGGTCGCTG
+AAAGGCCGAACTCACTATCATTAGCCAGTTCCAGCGCATGTTCTGCATCTTTCGCAATGGTGATTGCCGC
+AACGGGGCCAAACATTTCTTCCCGAAACGCGGTCATTTCTGGGGTAACATTCGCCAGAACCGTTGGCGGA
+TAGTAGTTACCTGCCCCAGCCATCTTTTCCCCTCCCAGTAACAAACGCGCACCCTGCGCCAGTGTTTTTT
+CCACCTGATGATGCAGCTCATCACGTAAATCAAAACGAGCCATTGGTCCAAGAGCGTTCTCTTCATCACG
+GGGATCGCCCATTTTCAAGGCTGCCGCAGCTGCCACAAAACGTTCGGTAAATGCCGAAGCAATTCCCTCT
+TCGATGATAAAGCGTTTTGCCGCTGCACAAACCTGTCCGGTATTCTGATAACGTCCGGCTACCGCCGCTT
+TCACCGCCAGTTCCAGATCGGCATCGTTAAGCACAATAAACGGATCCGAACCACCCAGTTCCAGTACGCA
+TTTTTTCAGTGCCGCTCCAGCCTGTGCGCCAATAGCCGCTCCAGCACGAACACTTCCGGTCACTGTGACA
+GCAGCAATGCGCGAGTCTTTAATCATCAGACTGACACCGTCGTTGTCGGCATTCAGCCAGCCATATACGC
+CTTGTGGGATACCCGCATCTTTAAACACCTGGGCAATGAGCTGTGCACAGCCCATGACATTCGGCGCATG
+TTTAAGTAAGTAGCCGTTACCAGCAAGAATGATGGGAACAGCGCCACGCATCACCTGCCATAACGGAAAA
+TTCCACGGCATAATCGCCAGAATCGTCCCCAACGCTCGATACTCAATAACCGCCTGCTGATTTTCCACCA
+GCGTAGGTTCTGCCTTCAGCATTGCCGGCCCATGTTCTGCATACCAGTCACACAAATTCGCCGATTTCGC
+CACTTCAGCGCGCGCCTGGTTGATTGGTTTGCCCATTTCACGGGTGATCATTTGCGCCATTTCTTCGCTA
+CGGGCGCGCAGAGCCTTACCGATATCACGCAGTTTTTCAGCACGATAATCTATATTTGCCTCGCGCCAGT
+CGCGAAAGCCTGCTGCTGCCAGCTGAAGCGCGTTTTCGATATCGTCAACACCAGCCCACGGCAGCACAGA
+AAGTTGTTCACCAGTGGCAGGATTTATCGAAATTGCATGAGTTGCCGGAGTAATGGTCATCGGGGTATCT
+CCTTTATGAGTCATGGTATGAAGATACGCAGATTTACTCTTGCTTTAAAATGAATAATATTAAGCCACTT
+ATTCACGAATCGAGAATGTTATGGATCTGACCCAACTGGAGATGTTCAACGCGGTTGCCGAAGCTGGCAG
+CATTACCCAGGCTGCAGCAAAAGTGCATCGCGTGCCGTCGAATCTCACTACCCGTCTACGTCAGCTGGAA
+ACAGAACTAGGGGTTGATCTGTTTATTCGCGAGAATCAGCGTTTACGTCTCTCGCCTGCCGGGCATAACT
+TTTTACGCTATAGCCAACAAATTCTCACGTTAGTGGATGAAGCGCGGAGCGTTGTCGCTGGCGATGAGCC
+GCAAGGTTTATTTTCTCTGGGATCGCTGGAAAGCACCGCTGCAGTGCGCATTCCGGCCACGCTGGCGGAA
+TTTAACCGTCGTTATCCCAAAATTCAGTTTTCACTTTCCACCGGCCCTTCCGGCACTATGCTGGAAGGTG
+TGCTGGAGGGAAAACTGAATGCGGCATTTATTGATGGGCCCATTAACCATACTGCCATTGACGGGATACC
+GGTATACCGCGAGGAACTGATGATCGTCACGCCACAAGGACATGCGCCAGTAACCCGTGCCAGTCAGGTG
+AATGGCAGTAACATTTATGCCTTCCGCGCCAATTGTTCGTATCGTCGCCACTTCGAAAGCTGGTTTCATG
+CTGACGGTGCCGCTCCGGGAACTATTCACGAGATGGAGTCTTATCACGGGATGTTGGCCTGTGTGGTCGC
+AGGAGCAGGCATTGCGCTTATTCCACGCTCAATGCTGGAAAGTATGCCGGGGCATCACCAGGTTGAAGCG
+TGGCCGTTAGCTGAGCAATGGCGTTGGTTAACAACCTGGCTGGTCTGGCGTCGTGGTGCGAAAACGCGTC
+CGCTTGAGGCATTTATTCAACTGCTGGATGCGCCTGACTCGGCAAAACAGGGTTACCAATGAGCTATTTT
+TGATAGTTCATACGGCTAATATGCTCTATATAGTGATGTTCCGATGACTTATGACTATATGGGGCAAATA
+TGGTTACGCCAGTAAGCATCAGCAATTACATATCTCTTCCTGATGATTTTCCCGTTCGTAATATTGCACC
+TCAAGTAAAAGAAGAACAGGCCCCCTTCCTGATCGTCATTAAAATGTGATGTTAACAACTCTCTGATGCG
+TGACAGAACAACCGTCAGAGAGATGGAAATGCGATCCAGATCACAAATGCATTGTATTCACATCATTAAC
+CGTTTTAAGATCATTTCATCACTTTTTCGCAACTCACCCGATAATCTGTTATGACAACAAACACTGTTTC
+CCGCAAAGTAGCGTGGCTACGGGTCGTTACGCTGGCAGTCGCCGCCTTTATCTTCAATACCACCGAATTT
+GTCCCTGTTGGCCTGCTCTCTGACATTGCGCATAGTTTTCACATGCAAACCGCTCAGGTCGGCATCATGT
+TGACAATTTATGCATGGGTAGTGGCGCTAATGTCATTGCCTTTTATGTTAATGACCAGCCAGGTTGAACG
+CCGCAAATTACTGATCTGCCTGTTTGTGGTGTTTATTGCCAGCCACGTACTGTCGTTTTTATCGTGGAGT
+TTTACCGTTCTGGTGATCAGTCGCATTGGTGTGGCTTTTGCACATGCGATTTTCTGGTCGATTACGGCGT
+CTCTGGCGATCCGTATGGCTCCGGCCGGGAAGCGAGCACAGGCATTGAGTTTAATTGCCACCGGTACAGC
+ACTGGCAATGGTATTAGGTTTACCTCTCGGGCGCATTGTGGGGCAGTATTTTGGCTGGCGAATGACCTTC
+TTCGCGATTGGTATCGGGGCGCTTATTACCCTTTTGTGCCTGATTAAGTTACTTCCCTTGCTGCCCAGTG
+AGCATTCCGGTTCATTGAAAAGCCTCCCGCTATTGTTCCGCCGCCCGGCATTGATGAGCATTTATTTGTT
+AACTGTGGTGGTTGTCACCGCCCATTACACGGCATACAGCTATATCGAGCCTTTTGTACAAAACATTGCG
+GGATTCAGCGCCAACTTTGCCACGGCATTACTGTTATTACTCGGTGGTGCGGGCATTATTGGCAGCGTGA
+TTTTCGGTAAACTGGGTAATCAGTATGCGTCTGCGTTGGTGAGTACAGCGATTGCGCTATTGCTGGTGTG
+CCTGGCACTGCTGCTACCTGCGGCGAACAGTGAAATACACCTCGGGATGCTGAGTATTTTCTGGGGGATC
+GCGATGATGATCATCGGGCTTGGTATGCAGGTTAAAGTGCTGGCGCTGGCACCAGATGCCACCGACGTCG
+CGATGGCGCTATTCTCCGGGATATTTAATATTGGAATCGGCGCGGGTGCGTTGGTAGGTAATCAGGTGAG
+TCTGCACTGGTCAATGTCGATGATTGGTTATGTAGGCGCGGTGCCTGCTTTTGCTGCGTTAATATGGTCA
+ATCATCATTTTTCGCCGCTGGCCAGTGACACTCGAAGAACAGACGCAATAGTTGAAAGGCCCATTCGGGC
+CTTTTTTAATGATACGTTTTAATGATTTCCAGGATGCCGTTAATAATAAACTGCACGCCCATACATACCA
+GCAGGAATCCCATCAGACGGGAGATCGCTTCAATACCCCCCTTGCCCACCAGCCGCATAATTGCGCCAGA
+GCTGCGTAGACTTCCCCACAAAATAACCGCCACCAGGAAAAAGATCAGCGGCGGCGCAACCATCAGTACC
+CAATCAGCGAAGGTTGAACTCTGACGCACTGTGGAGGCCGAGCTAATAATCATCGCAATGGTTCCCGGAC
+CGGCGGTACTTGGCATTGCCAGTGGTACAAAAGCAATATTGGCACTGGGTTCATCTTCCAGCTCTTCCGA
+CTTGCTTTTCGCTTCCGGTGAATCAATCGCTTTCTGTTGCGGAAAGAGCATCCGAAAACCGATAAACGCG
+ACGATTAAGCCGCCTGCAATTCGCAGACCGGGAATCGAAATGCCAAATGTATCCATCACCAGTTGCCCGG
+CGTAATACGCCACCATCATGATGGCAAATACGTACACCGAGGCCATCAACGACTGACGATTACGTTCGGC
+ACTGTTCATGTTGCCTGCCAGGCCAAGAAATAACGCGACAGTTGTTAATGGGTTAGCTAACGGCAGTAAC
+ACCACCAGCCCCAGGCCTATTGCTTTAAACAAATCTAACATTGGTGGTTGTTATCCTGTGTATCTGGTTT
+ATCAGCGAAAAGTATAAGGGGTAAACAAGGATAAAGTGTCACTCTTTAGCTAACCTTGCATCGCATTGAC
+CAAAACTTGAACCGATTTAGCAAAACGTGGCATCGGTCAATTCATTCATTTGACTTATACTTGCTTGGGC
+AATATTATCCCCTGCAACTAATTACTTGCCAGGGCAACTAATGTGAAAAATACCAGCGATCTGTTCAATG
+AAATTATTCCATTGGGTCGCTTAATCCATATGGTTAATCAGAAGAAAGATCGCCTGCTTAACGAGTATCT
+GTCTCCGCTGGATATTACCGCGGCACAGTTTAAGGTGCTCTGCTCTATCCGCTGCGCGGCGTGTATTACT
+CCGGTTGAACTGAAAAAAGTGTTGTCGGTCGACCTGGGGGCACTGACCCGTATGCTGGATCGCCTGGTCT
+GTAAAGGCTGGGTGGAAAGGTTGCCGAACCCGAATGATAAGCGCGGCGTACTGGTAAAACTTACCACCAG
+CGGCGCGGCAATATGTGAACAATGCCATCAATTAGTTGGCCAGGACCTGCATCAAGAATTAACAAAAAAC
+CTGACGGCGGACGAAGTGGCAACACTTGAGCATTTGCTTAAGAAAGTCCTGCCGTAAACGAAAAAAGAGG
+TATGACGATGTCCAGACGCAATACTGACGCTATTACCATTCATAGCATTTTGGACTGGATCGAGGACAAC
+CTGGAATCGCCACTTTCACTGGAGAAAGTGTCAGAGCGTTCGGGTTACTCCAAATGGCACCTGCAACGGA
+TGTTTAAAAAAGAAACCGGTCATTCATTAGGTCAATACATCCGTAGCCGTAAGATGACGGAAATCGCGCA
+AAAGCTGAAGGAAAGTAACGAGCCGATACTCTATCTGGCAGAACGATATGGCTTTGAGTCCCAACAAACT
+CTGACCCGAACCTTCAAAAATTACTTTGATGTTCCGCCGCATAAATACCGGATGACCAATATGCAAGGTG
+AATCGCGTTTTTTACATCCATTAAATCATTACAACAACTAGTTGATAACGTGACAACGTCACTGAGGCAA
+TCATGAAACCACTTTTATCCGCAATAGCAACTGCGCTTATTCTCTTTTCTGCGCAGGGCGTTGCGGAACA
+AACCACGCAGCCGGTTGTTACTTCCTGTGGCAATGTCGTGGTTGTTCCCCCATCGCAGGAACAACCACCG
+TTTGATTTAAATCACATGGGTACTGGCAGTGATAAGTCGGATGCGCTCGGCGTGCCCTATTACAATCAAC
+ACGCTATGTAGTTATTGTCAGGCTCTGATCACAGAGCCTGACATTTCCGTAATATCTTCCTGAAGTCTCA
+TATATTTTCGCCATTGTTGGCGATGAGATCCCGATACCAGTAAAACGATGCTTTACGTATCCGTTCCAGC
+GTTCCCTTCCCTTCGTTGTCTTTATCGACATAAATCATTCCGTAGCGTTTTTTCATTTCTCCTGTTCCGG
+CAGAAACCAGGTCAATGCAACCCCACGGGGTGTAGCCAATTAAGTCAACACCATCTTCAACTACGGCTTT
+TTTCATTTCCCGAATATGGGAGGAAAAGTAATCAATGCGATAGTGATCGTTCACCGTGCCGTCAGCTTGT
+CTCTGGTCAACCGCACCAAATCCATTTTCGACAATAAACAGCGGCAACTGGAAATGATCCCAGAACCAGT
+TGAGTGAATAACGTAGCCCTGCCGGATCAATTTGCCATCCCCATTCGGATGTATCGATATAAGGGTTGCT
+GACCAAATCTCGTGGTTCAACATAATCCAGTTGCGGATTATCTGGCGAAAATTGCGTCGTAAAAGACATG
+TAGTAGCTAAAGCCGATAAAGTCGACACAACCTCTGGCAAGAATCGCGTTATCATCTGGTGTGATATCGA
+GGTTGAATCCTTTCCTTGCAAAGTAATTCAGCATATGTTGCGGATAATATCCACGAGCATGAACATCAGT
+AAACCAGTAACGACGATGCATCGCTTTCGTGGCCATCATCATATCGTTGGGTGCACACGTCAGAGGATAG
+ATGGGGCACATAGCAATCATACAGCCGATATTAAATTCAGGATTGATCAGTTTTCCAGTCTGTACCGCCA
+GGGCACTGGCAACTAACTCATAATGTACCGCCTGGTACATTATTTGTTCGCGCTCATTGAGATCTTCCTC
+TGGCGAATACAAGATACCGGAATTAGTAAATGGACACAGGCTTTCGCTGAAATTCACCTGATTATTGATT
+TCGTTAAACGTCATCCAGTACTTTACTTTTTCTTTATAGCGCGTGAAGACCGTTGATGCGAAGTGGATAA
+AAAAGTCGATCAGTTTACGGTTTCGCCAGCCACCATATTTTGTCACCAGATGATAAGGCATCTCAAAATG
+CGAAAGCGTCACCACAGGTTCCATTCCCTGCTTCAGGCATTCATCGAAGAGATCATCATAAAATTGTAAA
+CCCTCTTCATTCGGCTCCTGTTCGTCACCTTGCGGAAAGATTCGTGTCCAGGCAATGGAAGTTCGAAAGC
+ATTTGAATCCCATCCCGGCAAATAACTGAATATCTGTTTTATAGCGATGATAAAAATCAATTGCTTCATG
+ATTGGGATAATTAAGTCCGTCGATAACGCCTTCTGTCACTTCACGCGGCACCCCGTGAGCGCCAGCAGTC
+ATTACATCAGCGATACTGATGCCTTTTCCTCCTTCATTCCAGCCACCTTCCAATTGATGTGCGGCTACCG
+CACCGCCCCATAAAAAATCTTCTTTAAATCCTGACATACACAACTCCTTAACTAAATAGATTACCACCAG
+ACTTCCGCCTGGATGCCGGCCATAAACTCGTCTTTGCTGTTCTCATTAAACTTAAAATTCGATAATTCGT
+TATCCAGAATATTGATATACGTCCCGTAGAAGCGAATTTCTGGTCGTGAACCTAAAATACTTTCACCCAC
+TTTCAATGCATGCCAGAGTGTCGTTTTATAAGCCGATTCATTTAGCGTTACCCCCTGCTGAGTTTTGTTC
+TGTTGCTTAAACCAGCCTAATTCAAGCCCCGTCTGATTCCATGTATTCCAGATCCAGGCCGGTCTTATTA
+CGGTGCGTTTTGTTGCACACATTGATCACATGAACAGTTTCAGTGAAATTGCACATAAAAGCGGCAAAGA
+GGCAGGAAGTCAGATTATGAAATTTGAAGTGCAGGATGCTTCTCCTACTATTGCGACTGAGCTGAATTTA
+GTGACTGGTGAGCAGGTTTATTACATAAAGAGACTGCGATTCATTGAGGATAATGCAGCACAATTAGAAG
+AAACGTGGATGTCAGTGGCACGTTTTCCTGATTTAACCGTATCGCATATGCAAAAATCCAAATTTTCGTA
+TATTGAGAACGAATGCGGGATCAAAATCATTGGCACCTTTGAAACTTTCTCCCCGACTTTTCCTACCCCA
+GAAATCGCCAGTATTTTACGGATCAGCCCACGGGATCCCATACTTAAAATTCAGACCCAGGCTGTGGATA
+GTAACTCTATTCCGCTGGATTATTCGTTACTTTACAGCAATATTTTCGAGTTCCAGGTAAAGTACTTTTT
+CCCGCGATAAAAGCAGACGCACAGAGTGCTGGCATCACATTCTGTGCGTATGGTTTAGCCTCTGACCTTT
+ACCGCTTTACGCCACCGCAAGCCAAATACATTGATATACAGCCCGGTCATAATGAGCACCGCACCGAAAA
+ATTGCAGACCCGTTAAGCGTTCATCCAACAATAGTGCCGCACTTGCCAGTCCAACTACAGGCACCAGTAA
+CGATAACGGTGCAACCCGCCAGGTTTCATAGCGTCCCAGTAACGTCCCCCAGATCCCATAACCAACAATT
+GTCGCCACAAATGCCAGATACATCAGAGACAAGATGGTGGTCATATCGATAGTAACCAGACTGTGAATCA
+TGGTTGCGGAACCATCGAGAATCAGCGAGGCAACAAAGAAGGGAATGATTGGGATTAATGCGCTCCAGAT
+TACCAGCGACATCACCGCCGGACGCGTTGCGTGCGACATGATCTTTTTATTGAAGATGTTGCCACACGCC
+CAACTAAATGCTGCCGCCAGGGTCAACATAAAGCCGAGCATCGCCACATGCTGACCGTTCAGACTATCTT
+CGATTAACACCAGTACGCCAAAAATCGCTAAGGCGATCCCCGCCAATTGTTTGCCATGCAGTCGCTCACC
+GAAAGTAAACGCGCCAAGCACGATAGTAAAAAACGCCTGTGCCTGTAACACCAGCGAAGCCAGTCCAGCA
+GGCATACCAAAGTTAATGGCGCAGAACAGAAAAGCAAACTGCGCAAAACTGATGGTTAATCCATACCCCA
+GCAGCAAATTCAGTGGTACTTTCGGTCGTGCGACAAAAAAGATGGCCGGGAAAGCGACCAGCATAAAGCG
+CAAACCGGCCAGCATCAGCGGTGGCATGTTATGAAGCCCCACTTTGATGACCACAAAATTTAGCCCCCAT
+ACAACCACTACCAGTAGCGCCAACACCCCATCTTTTCGCGACATTCTACCGCCTCTGAATTTCATCTTTT
+ATAAGCAATCAACTTAGCTGAATTTACTTTTCTTTAACAGTTGATTCGTTAGTCACCGTTTACGACGGCA
+TTAATGCGCAAATAAGTCGCTATACTTCGGATTTTTGCCATGCTATTCCTTTACATCTCTAAAACAAAAC
+ATAACGAAACGCACTGCCGGACAGACAAATGAACTTATCCCTACGACGCTCTACCAGCGCCCTTCTTGCC
+TCGTCGTTGTTATTAACCATCGGACGCGGCGCTACGCTGCCGTTTATGACCATTTACTTGAGTCGCCAGT
+ACAGCCTGAGTGTCGATCTAATCGGTTATGCGATGACAATTGCGCTCACTATTGGCGTCGTTTTTAGCCT
+CGGTTTTGGTATCCTGGCGGATAAGTTCGACAAGAAACGCTATATGTTAATGGCAATTACCGCCTTCGCT
+AGCGGTTTTATTGCCATTCCTTTAGTGAATAACGTGACGCTGGTGGTGCTCTTTTTTGCCCTTATTAACT
+GCGCCTACTCCGTTTTTGCTACCGTGCTGAAAGCCTGGTTTGCCGACAATCTTTCGTCCACCAGCAAAAC
+GAAGATTTTCTCAATCAACTACACCATGCTCAACATTGGCTGGACCATCGGTCCGCCACTCGGCACGCTG
+TTGGTGATGCAGAGCATCAATCTGCCCTTCTGGCTGGCAGCTATCTGTTCCGCGTTCCCCATGCTTTTCA
+TTCAAATTTGGGTAAAGCGCAGCGAGAAAATCATCGCCACGGAAACAGGCAGTGTCTGGTCGCCGAAAGT
+TTTATTACAAGATAAAGCACTGTTGTGGTTTACCTGCTCTGGCTTTCTGGCTTCTTTTGTTAGCGGCGCA
+TTTGCTTCATGCATTTCACAATATGTGATGGTGATTGCTGATGGTGATTTTGCCGAAAAGGTGGTCGCGG
+TTGTTCTTCCGGTGAATGCTGCCATGGTGGTTACGTTGCAATATTCCGTGGGCCGCCGCCTTAACCCGGC
+TAACATCCGCGCGCTGATGACAGCAGGCACCCTCTGTTTCGTCATCGGGCTGGTCGGTTTTATTTTTTCC
+GGCAACAGCCTGCTAATGTGGGGTATGTCAGCTGCGGTATTTACTGTCGGTGAAATCATTTATGCGCCGG
+GCGAGTATATGTTGATTGACCATATTGCGCCGCCAGGAATGAAAGCCAGCTATTTTTCCGCCCAGTCTTT
+AGGCTGGCTTGGTGCTGCGATTAACCCATTAGTGAGTGGCATAGTACTTACCAGTCTGCCGCCTTTCTCG
+CTGTTTATCATCTTAGCGTTGGTGATCGTTGCTGCGTGGGTGCTGATGTTAAAAGGAATTCGTGCAAGAC
+CGTGGGGGCAGCCCGCGCTTTGTTGATTTAAGTCGAACACAATAAAAATTTAATTCAGCCTTCGTTTAGG
+TTACCTCTACTAATATCTTTCTCATTGAGATGAAAATTAAGGTAAGCGAGGAAACACACCACACCATAAA
+CGGAGGCAAATAATGCTGGGTAATATGAATGTTTTTATGGCCGTACTGGGAATAATTTTATTTTCTGGGT
+TTCTGGCCGCGTATTTCAGCCACAAATGGGATGACTAATGAACGGAGATAATCCCTCACCTAACCGGCCC
+CTTGTTACAGTTGTGTACAAGGGGCCTGATTTTTATGACGGCGAAAAAAAACCGCCAGTAAACCGGCGGT
+GAATGCTTGCATGGATAGATTTGTGTTTTGCTTTTACGCTAACAGGCATTTTCCTGCACTGATAACGGAT
+CGTTGACACAGTAGCATCAGTTTTCTCAATGAATGTTAAACGGAGCTTAAACTCGGTTAATCACATTTTG
+TTCGTCAATAAACATGCAGCGATTTCTTCCGGTTTGCTTACCCTCATACATTGCCCTGTCCGCTCTTCCA
+ATGACCACATCCAGAGGCTCTTCAGGAAATGCACGACTCACACCAGCAGTCACGGTAATGTTGATATGCC
+CTTCAGAATGTGTGATGGCATGGTTATCGACTAACTGGCAAATTCTGACACCTGCACGACATGCTTCTTC
+ATCATTAGTCGCTTTGACAATAATGATAAATTCTTCGCCCCCGTAGCGATAAACCGTTTCGTAATCGCGC
+GTCCAACTGGCTAAGTAAGTTGCGAGGGTGCGTAATACTACATCGCCGATTAAATGCCCGTAGGTATCAT
+TAACCAATTTAAATCGGTCTATATCCAACAACATTAAATAAAGATTCAGAGGTTCAGCATTGCGTAACTG
+ATGATCGAAGGATTCATCAAGAACCCGACGACCCGGCAATCCCGTCAGAACATCCATACTGCTACGGATC
+GTCAGCAAATAAATTTTGTAATCGGTTAATGCCGCAGTAAAAGAAAGCAACCCTTCCTGAAAAGCGTCGA
+AATGCGCGTCCTGCCAGTGATTTTCAACAATAGCCAGCATTAATTCCCGACCACAGTTATGCATATGTTG
+ATGGGCAGAATCCATTAGCCGAACATAAGGTAATTCATCGTTATCGAGTGGCCCCAGATGATCAATCCAC
+CGACCAAACTGGCACAGTCCATAAGAATGGTTATCCGTTATTTCTGGCTTACTGGCATCTCTCGCGACCA
+CGCTGTGAAACATACTTACCAGCCACTGGTAGTGGGCATCGATAGCCTTATTGAGATTTAACAAGATGGC
+ATCAATTTCCGTTGTCTTCTTGATCATTGCCACTCCTTTTTCACAGTTCCTTGTGCGCGCTATTCTAACG
+AGAGAAAAGCAAAATTACGTCAATATTTTCATAGAAATCCGGAGTTATGAGCATCTCTGAGATAACATTG
+TGATTTAAAACAAAATCAGCAGATAAAAAAGTGTTTAATTCTATAAATTAACTCTGCATTATCGCAATTA
+AAAGGATGACAAATAGCATAACCCAATACCCTAATGGCCCAGTAGTTCAGGCCATCAGGCTAATTTATTT
+TTATTTCTGCAAATGAGTGACCCGAACGACGGCCGGCGCGCTTTTCTTATCCAGACTGCCGCTAATGTTG
+ATCATCTGGTCCGGCTGAATTTGAAAATTATTATAACGGAAGAGTATACAAAAAAAGTAATTTTGCTGGC
+GACTGCGAAACGGCATTCGCATTAGCGGTGAAGTTTGCCCTCGCCCAGCTGCTGCAATTACTGCTATAAC
+GAGGCTGGTCTGGCGATAAATCCAGGCCAGCCATTGGTGGTGTTTATACGTTCAAGCCACGATGTTGCAG
+CATCGGCATAATCTGAGGTGCCTTACCGCGCCATTGTCGATACAGGCGTTCCAGATCTTCGCTGTTACCT
+CTGGAAAGAATCGCCTCGCGAAAACGCCGCCCATTTTCACGCGTTAATCCGCCCTGCTCAACAAACCACT
+GGTAACCATCATCGGCCAACATTTGCGTCCACAGATAAGCGTAATAACCTGCGGCATATCCGCCACCAAA
+AATATGGGCGAAATAACTGCTGCGATAGCGTGGCGGTATAGCAGGAAGATCCATATTTTCCGCCACCAGC
+GCCCGCAATTCGAAATCATCGACATCCTGCATTGCTTCGTTTTCTTCCAGACAATGCCAGCGCATATCGA
+GAAGTGCGGCGCTAAGCAGTTCGCTCATCTCATACCCTTTATTGAACAGGCTGGCATTACGCATTTTCTG
+TTGAAGTTCGTCAGGCATTGCGGCTCTGCTCTGATAATGCCGGGCGTAGCGAGCGAATACCTGCGGATGT
+GTTGCCCAGTGTTCGTTGATTTGCGACGGAAATTCGACAAAATCACGCGGCGTGTTGGTGCCGGAAAGCG
+TGGCATAACGCTGGCGGGCAAAAAGGCCGTGCAGCGTATGACCAAATTCATGGAATAAGGTTATTACATC
+ATCCCAGAGTAACAACGCAGGCTCACCGGCAGCGGGTTTCTGATAATTGCAGACGTTATAAATTACCGGG
+TGCGTTTCATTCAGCGTTGATTGCTCAACAAAATTGCCCATCCATGCGCCGCCGCTTTTTGAATCACGGG
+CGAAGAAATCACCGTAAAATAACGCCAGCCCCACGCCATTATGATCAAAAATTTCCCACACACGAACGTC
+AGGATGGTAGACAGGAATATCAAAACGTTCGACAAACTTAATACCGAAGAGCTGATTCGCAGTCCAGAAT
+ACGCCTTCATTCAACACCGTGTTTAATTCGAAATAAGGCTTGAGCTGCGCTTCATCGAGATCGAATTTCT
+CACGTCTTACCTGCTCGGCATAAAATGCCCAGTCCCACGGCTGCGCGCTAAACCCGCCCTGCTGCTTATC
+GATAACCGCCTGTATCGAGGCTAATTCATCGCTCGCACGTTGACGCGCCGCTGGAACAATTTCCCGCATA
+AAGTTGAGCGCTGCTTCTGGCGTTTTTGCCATCTGATCGGCGATTTTCCATGCGGCATAATGAGGAAAAC
+CAAGCAGTTTCGCCTGCTGCGCGCGGATCTCCACCAGACGTTGAATGATAGCGCGGGTATCATTGGCATC
+ATTTTTTTCCGCTCGCGTCCAGCCCGCAGTAAACAGTTTTTCACGCGTCGCGCGATCGCGCAGTTCAGCA
+AGCGCTGGTTGCTGGGTGGTATTCAGCAGCGGAATCAGCCAGTTGTTATCCAGACCTTTCTCGCGAGCCG
+CCTCTGCCGCCAGCGCAATCTCTTGCTCACTCATTCCTGCCAGCTGCGCGATATCGTTCACAACCAGACC
+GCCGGATTTATTTGCTGCCAGTAACCGCTGGTTAAACTGGCTGGTCAGGGTCGCAGCTTCTGTATTCAGT
+ACTTTTAATTTTGCTTTATCAGCTTGCTCAAGTTTGGCTCCGGCAAGGACAAAACGTTGATGAATCACCT
+CCACCAGGCGGATGGATTCACTATCAAGCCCCAGGGATTCACGGCGTTGCCAGACAGCATCTACCCGCGC
+GAATAATTCCCCGTTCAGATAGATATCATTCGCAAGTTCCGCCAGTTCAGCGGAAAACTGTTCATCAAGA
+CGCTGTAATTCATCATTGGTATGCGCCGCAGTCATCGCAAAAAAGACGCTGGTAACGCGGGTAAGTAATT
+CTCCGCTTTGTTCCAGTGCCAGAATAGTATTGTTGAAATCAGGTGTTTGCGGGTTAAGCGCGATGGCAGC
+AATTTCTGCCCGCTTTTGCTGCATTCCCTCATCGAATGCCGGGCGATAGTGATGATTGGCAATTTGATCA
+AAATGGGGAGCCAGATACGGCAGTGTGCTTTGCACAAGGAAAGGATTCATTGTTGTCATTTTCTTCTCCT
+GAACGCGAGGTGTTCCATAGCGTAGGCTTACTGATAACGGAGTGCAATCTTGCAAACCAGTATTACCCGC
+TCTTAAGCATCACGTGCTATGTTATTGACACACAAAAGCGTTGAGGAACAGTGAGATGATCGTTTTAGTA
+ACTGGAGCAACGGCAGGTTTTGGTGAATGCATTACTCGTCGTTTTATTCAACAAGGGCATAAAGTTATCG
+CCACTGGCCGTCGCCAGGAGCGGTTGCAGGAGTTAAAAGACGAACTGGGAGATAATCTGTATATCGCCCA
+ACTGGACGTTCGCAACCGCGCCGCTATTGAAGAGATGCTGGCATCGCTTCCTGCCGAGTGGTGCAATATT
+GATATCCTGGTAAATAATGCCGGTCTGGCGTTGGGCATGGAGCCTGCGCATAAAGCCAGCGTTGAAGACT
+GGGAAACGATGATTGATACCAACAACAAAGGCCTGGTATATATGACGCGCGCCGTCTTACCGGGTATGGT
+TGAACGTAATCATGGTCATATTATTAACATTGGCTCAACGGCAGGCAGCTGGCCGTATGCCGGTGGTAAC
+GTTTACGGTGCGACGAAAGCGTTTGTTCGTCAGTTTAGCCTGAATCTGCGTACGGACCTGCATGGTACGG
+CGGTGCGCGTCACCGACATCGAACCGGGTCTGGTGGGTGGCACCGAGTTTTCCAATGTCCGCTTTAAAGG
+CGATGACGGTAAAGCGGAAAAAACCTATCAAAATACCGTTGCATTGACGCCAGAAGATGTCAGCGAAGCC
+GTCTGGTGGGTGTCAACGCTGCCTGCTCACGTCAATATCAATACCCTGGAAATGATGCCGGTTACCCAAA
+GCTATGCCGGACTGAATGTCCACCGTCAGTAATTTTTATACCCGGCGTAACTGCCGGGTTATTGCTTGTC
+ACAAAAAAGTGGTAGACTCATGCAGTTAACTCACTCACAAGCAAGAACGAATGACCGTCGAAACGCAACT
+TAATCCCACACAGCCTGTCAATCAGCAGATTTATCGTATTCTTCGCCGCGACATTGTCCATTGCCTGATT
+GCACCAGGCACACCGTTGTCGGAAAAAGAAGTTTCTGTTCGTTTCAATGTGTCACGCCAGCCGGTTCGTG
+AAGCCTTTATTAAACTGGCGGAAAACGGTCTGATTCAAATTCGTCCGCAGCGTGGCAGCTACGTCAACAA
+AATTTCCATGGCCCAGGTGCGCAACGGCAGTTTTATCCGTCAGGCCATTGAGTGCGCGGTGGCGCGTCGG
+GCGGCGAGCATGATTACCGAAAGCCAGTGCTACCAACTGGAACAAAATCTTCACCAGCAACGCATTGCCA
+TTGAGCGCAAGCAACTGGATGATTTTTTTGAACTTGATGACAACTTCCATCAACTCCTGACGCAGATTGC
+CGACTGTCAACTGGCGTGGGATACCATTGAGAACCTGAAAGCGACCGTTGATCGCGTGCGCTATATGAGT
+TTCGACCACGTTTCTCCACCAGAAATGCTGTTACGCCAGCATCTTGATATTTTCTCTGCCCTGCAAAAAC
+GTGATGGCGATGCGGTAGAACGTGCAATGACGCAACATTTGCAGGAAATCAGCGAATCTGTGCGCCAGAT
+CCGCCAGGAAAACAGCGACTGGTTTAGCGAAGAGTAATTCATTTCCTCTCATCCCATCCGGGGTGAGAGT
+CTTTTCCCCCGACTTATGGCTCATGCATGCATCAAAAAAGATGTGAGCTTGATCAAAAACAAAAAATATT
+TCACTCGACAGGAGTATTTATATTGCGCCCGTTACGTGGGCTTCGACTGTAAATCAGAAAGGAGAAAACA
+CCTATGACGACCTACGATCGTAACCGTAACGCAATCACCACTGGCAGCCGTGTTATGGTTAGCGGCACCG
+GTCACACTGGCAAGATCCTGTCGATTGATACTGAAGGTCTGACCGCTGAGCAAATCCGCCGCGGAAAAAC
+CGTAGTTGTTGAAGGTTGTGAAGAGAAACTGGCACCACTGGACCTGATTCGTCTCGGCATGAACTAAGCG
+TGTGAATGCCGCCGATGGCGGCATTGCTTTTTTTACTTCACGGAATATTTCGCCACGGTCGCTTTCGCGC
+CATGCGCTAATAAAGACAAGTACGCTTCCGTTACTTTTGTCGTAAACAAACTATTGCCTGGTAAATCATC
+ACCAAAGATCGCCTTAATTGCCAGCAATGACTGGACGCGCGCTGTCCCTTCAGCACTACTTTGTACTGCC
+TTCTGAATAACAGGTAACAGTGGATCACTGATTTCTATCGGATTTCCCTGTTCATCAACACCACCGACAT
+AACGCATCCAACCCGCGACGCCCAGCGCCAGCAGATCGAACTTGCTGTCATGCGCCAGATGCCAGCGAAC
+AGAATCCAACATCCGCTGTGGCAATTTCTGGCTGCCATCCATCGCAATCTGCCAGGTTCGATGACGTAAC
+GCCGGGTTGCTATAGCGTTCAATTAATCGGTTAGCGTAATCTTGCAAATCAACGCCCTGCACTTTCAGCG
+TCGGCGCTTGTTCCTGCAACATTAAGGTATACGCCGCATGACGATAATGTTCATCCTCCATGCAGTCATT
+AATGTGCTGATATCCGGCAAGATAGCCCAGATACGCCAGGAATGAATGACTGCCGTTAAGCATACGCAGT
+TTCATTTCTTCATAAGGCAGCACATCGCTAACCAGTTCAGCTCCCGCTTTTTCCCATTCCGGACGTCCGG
+CAACAAAGTTATCTTCTATTACCCACTGGCGGAAAGGTTCACAGGCAACGCCTGCCGCATCGCGCACACC
+GGTAAGTTGTTCGATTTTCGCCAGCGTATCCTCTGTCACTGCGGGCACAATACGGTCCACCATTGTTGAT
+GGGAAAGTCACGTTATCTTCGATCCATTGTGCCAGTTTTACATCAATGGCTTGCGCATAGGAAGTGACAA
+CGTCACGCATAACATGACCGTTTTCTGGCATGTTGTCACATGACATGACGGTAAATGCGGGAAGTCCTGC
+CGCTTTACGGCGAGCCAGCGCCTCAACAATCACCCCTGTTGCAGTTTTCGGCTGGTGGGGATTTTGCACG
+TCGGCAACGACCATCGGGTGATCAAGCATTAACTGTCCGGTCGCCGGAGAGTGGAAATACCCTTTTTCGG
+TGATTGTCAGAGAGACAATCGCGATTTGCGGTTCACACATCGCAGCCAACACGGTTTCTAAGCCATCTAT
+TTGTACGTGCAAGGCTTTTTTAACGACGCCAACGACGCGAGCCGTCCACGCATCAGCCGACATTTCCGCA
+ACGGTATAAAGATTATCTTGCTGTTGTAAATCGGCAATTTGCTGTTCGCCGCCGATTAAGTTGACCTCAT
+AATATCCCCAGTCACTGAAATGTTCCGTAGAAAGAATATCGGCATACACGCCCTGATGTGCACGGTGAAA
+TGCACCAAAGCCTAAATGAACAATTCTTGGGGCCAGGTTATTACGATCATAAACAGGGAGCGTCGCTTTT
+GCTGATAACAAATGATTTCCCATAACAATTCCTTAAAATTAAATATAGCAAGCTACATGTTTTGTTATAT
+GAATAAAAATCCCCTCTCCGGTAAGAGAAGGGATTGAGGATTTACAGACTTCTGGACGGTTGCGCAGCTC
+TTACAACATGTGGTTGATCTTCTGCGGCGTCTTCCAGCGCACTTAAATCACGGTCTTTCACTTCTGGCAT
+TTTCAGCGCAGAGATTAAACCAATCACAGAATATGCCATGATCATAATGGCGATCGGATACCAGGATTCC
+GTCATGGTGCAGAAAATCCCCGCCAGGATAGGACCAAAACCGGAAGCGATAAGACCACCAATTTCTTTAG
+AAATAGCCATTCGGGTAAAGCGGTTTTTACAGCCGAACATTTCTGCCATGGTAATGTTTTCCAGAGCAAA
+TAATCCAAGCACCGCACAGTTATGAATCACAATCAGTGCAACCATAATGGTGCTCGGGGCATAGCTTTTA
+TCTACGATGATAGAAAGCATTGGCCATGCCAGCACAATCGCAGAGGTATTCATAATAATATACGGGATCC
+GGCGACCAATTTTATCGGATAACCAACCAAGGAACGGAATGGTCATAAAGCCGAGAATCGAACTGATCAT
+CAATGCATCTGTTGGAATTGCTTTGTTAAACAATAACGTCTGCACTAAATAGCCTGCAAGGAAAGTCTGA
+ATTAAACCTGAGTTACCAGCCTGACCAAAACGCAGCCCTGTTGCCAGCCAGAAGGATTTGCTCTGGAACA
+TGCTACCAGCAGGTGCAGGTTTTGCTGTCGGTTGGTTGCTGTCGTTAACCTTCTCAAAGACCGGGCTTTC
+TTTCAGATTCATACGCAACCAGATAGCAAAGACCATCACGACAACGCTCGCCAGGAAAGGTATACGCCAT
+CCCCACGCCAGCAGTTCCTCTTTACTGAGAATGAAGAACATAAAGGCCCAGATTGCCGTTGCGCTCAGGG
+TTCCGCAGTTAGTTCCCATAGCCACAAATGAGGAGATAATTCCGCGCTTACCTTTTGGCGCATATTCCGC
+CAGCATCGTACCGGCACCGGAAATTTCCGCACCTGCACCCAACCCCTGAATAATACGCAGCGTCACCAGC
+AAGATGGGGGCAAAAACACCAATTTGTGCATAAGTCGGTAACACACCAATTAAGGTGGTACAGATCCCCA
+TCATGGTGATGGTAATAAAGAGCACTTTTTTACGCCCTATTCTGTCGCCCATTTTGCCGAAAATAAATGC
+TCCGACAATACGTGCCACATAACCTGCACCATAGGTTCCCATTGCCAGAATTAACGCCATTGCCGTTGAT
+GATTCAGGAAAAAATATTTCATGAAACACTAACGCTGCGCCGAGCGAATATAACTGGAAGTCCATAAATT
+CAAGCGCAGTGCCCAACCATCCCGATACTGCTGCTTTCACCAAATCCTTAGTACTTCTTTCGTGTTTTTC
+TATTGTCATAATGGTTATCTCTAAAAAAGAGGTAAGATGCGTACTACTTACTCGCCGTTATTGGTATTAT
+TCAGAAAAAGTGAGTAAGACTTTGCAGCAATGTTTTTGATCCAGTTCAAATAAACTAATGGCATCCGCAA
+CATGCTGGAAATCAAACGTATGGGTAATTAGTTTTTCTGGTTTAATTAACCCTTTACTTAACCAGTCGAT
+AACGACCGGGAATTTATTTGCATTTAAGCGTGAAGAGAAAATAGAGAGTTCTTTTCCGGTAATTCCTTGC
+TGAATCACTTCAGACGGTTCACTGGAGAAGCCCATCAATACAATACGTGCCGCTGGAGAAGCCAGCGTTA
+CGGCTTCTTTCAGGATTGAAGGATGACAAGCCGCATCGATAATTAATGTCGGCTTGATGCCTTTTTCAGC
+GAAAATCTCGCCAAGCGGTGTCTGGCTGTTATTAATCGCCCAGTCTGCCCCGCTCTCTTTCGCTTTTTCC
+AGTCGTTCATCAATGCGATCGGCAACAATCACATTCTTAACGTTATAGACGCCTTTTAATACCTGAACGA
+TCGTCAGGCCGATTGGACCTGCACCGTAAACCAGAACGGTATCATTTTCAGTCGGTTGACCATGACCGGT
+AACGTTAGCCGCAATGGTAAAAGGTTCAATCATCACCGCATATTGATCGGCCACTGCTTCAGGAATTTTC
+CACGCATTTTTTGCCGGCACCACGGCATATTCACTGAAACCACCGTCAGCGTGCACACCTAATACAGCCA
+GTGTCGTACAAACGTTCGGCTTACCTATAGAGCACGGATAGCAATGCCCACAGCTGACCACCGGATCGAC
+AGCAACGCGTTCACCGACTCTGGCGCTTTCCACGCCTTCACCCACTGCATCAATGACGCCAAAAAATTCA
+TGTCCAATGACGCGTGGATATTTCGCAAAAGGATTATGCCCACGATAAATATGGCTATCTGAACCACAAA
+TTCCGGCAAGTTTCACTTTTACTCGTACTTCACCCGCTGACGGGGTGGGTATTTCGCGTTCGATAATTGC
+CAGTTGATTCGGTTTTTCAATTAAAATGCTTTTCATTATCTTACTCCTTACCAGTTCCACAGCGTGCCAT
+CTTCCAGACGTGCGACTGGCAGATAAGCAGGTTCATAGGGATATTTCGCCGCCAGCTTTTCATCGAATTC
+GATGCCAAGACCCGGTTTTTCTCCCGGATGCATATAGCCGTTATCGAAAGTCCAGTTGTGCGGGAAGACT
+TCGAGCATTTGTTCGGAATAACCCATGTATTCCTGGACACCGAAATTGGGGACCCACAGATCAAAGTGCA
+GCGCCGCAGCCATGCAGACTGGTGACAAATCGGAAGGACCGTGTGAGCCAGTACGTACCTGATACAGCGA
+AGCAAAATCGGCAATCCGGCGCATACCGGTAATTCCGCCTGCATGGGTCAGCGTGGTACGGATATAATCG
+ATGAGTTGCTCTTCAATCAGTTGTTTGCAGTCCCAGATGCTGTTGAAGACTTCACCCACCGCGATGGGTG
+TGACGGTATGTTGGCGAATGAGACGGAAGCATTCCTGGTTTTCCGCAGGCGTCGGGTCTTCCATCCAGAA
+CATGCGATAATCTTCAATGCTCTTACCAAAGCGCGCCGCTTCAATAGGCGTTAAGCGATGGTGCATGTCA
+TGCAGCAGATGTTCATCAAAACCAAACTTGTTACGTACCGCGTCAAACAATTTCGGCATGAAATCGAGGT
+ATTTCTCCGTCGACCACAGCTGCTCTTCCGGCCACTGTCCTTTGGTTGCGGGTTCATAAGCCAGACCTTT
+ACCTTTCGACATGCCGTAGGTGGTTTTCATACCAGGGATTCCGCACTGCACGCGGATGGCTTTGAATCCC
+AGCTCCTGATGACGGGCATAATCATCCAGAGCTTCATCAATACTGTGACCGGTGGTATGGCAATAAACCA
+TCACCCCTTCACGAGACGCGCCGCCGAGTAACTGATAAAGCGGCATGTTGGCAGCTTTGGCTTTAATATC
+CCACAGCGCCATATCAACCGCTGAAATGGCCGACATCGTAACCGGACCGCGACGCCAGTAAGCACCTTTA
+TAGAAAAACTGCCAGATATCTTCGATACGGTGTGCATCGCGACCAATAAGCTGCGGACAAAGGTGATCCT
+GCAAATAAGAGGCCACGGAAAGCTCACGTCCATTTAGGGTGGCATCCCCAAGGCCCGTAATACCGTCCTC
+AGTGGTGATTTTTAATGTGACGAAATTACGCCCCGGACAGGTAACAAAAACTTCAGCCTTTACGATCTTC
+ATGTTCGATTCCTTGCATCGCTTGTCGTGATGCATGAAATCTACGCAACTGAGCTACTACCATACAAGTA
+TGAAGATCAAAAAAAGCCGGAGTGATCACAAAAAAAGGCGTATATTTGCGCCGTGAATGGTTGACAAAAG
+ATGAAATAGAATACCTTTTGTCAGCTGACACTTCCTCGTATCTTATTGATAAAATGGATTTATGTTCCTA
+CGTGCGCCCCCAGCCCGCAACAATGATCAACATGCCGCAAAGCGCAATCAACGCCCCCGTCCAGTCATAA
+AGAGTCAGTTTCACGCCATCCACAACGCGCAGCCACATCAAAGCCGTGCAGACATAAACGCCACCATAAG
+CCGCGTAAACACGCCCACTCGCCGCAGGATGCAACGTTAACAACCAGACAAACAGCGCCAGTGAAATCCC
+CGCCGGAAGCAACAGCCAGATACTGGCGTTTCGCTTCAACCACAGCCAGGGCAAAAAGCATCCAATAATT
+TCACACAGCGCAGTAGCAAAAAATAGTAACGTTGTTTTAATCATCTTTGTCACTTATTGACATCACGTAT
+AGTTATAGGGCGACATAATATCATCAATATAAACACCCTCCTTGAACGTTTTGCGTTCGCAGTGGATGGT
+GTAGAATCAGCTTTAATCATTCATACAGGGAATGAATTATGAAAATCACTCTCAGCAAACGAATCGGCCT
+GCTCGCTTTTCTGCTGCCTTGCGCACTGGCATTGAGCACAACTGTTCATGCCGAAACTAACAAACTGGTG
+ATTGAGTCTGGCGACAGTGCACAAAGCCGCCAGCGCGCCGCTATGGAAAAAGAGCAATGGAATGACACGC
+GTAATCTGCGCCAGAAAGTGAATAAACGCACTGAAAAAGAGTGGGATAAAGCCGACGCTGCTTTTGATAA
+CCGCGATAAATGTGAGCAAAGCGCCAACATCAATGCCTACTGGGAGCCAAATACTTTGCGCTGCCTGGAC
+CGTCGAACTGGCCGCGTTATTATCCCCTAACCTGTTATTGATTTAAGGAATGTAAGGACACGTTATGCCA
+AGCGCCCACAGTGTTAAGCTACGCCCGCTGGAGCGTGAAGATTTACGCTATGTACATCAACTCGACAATA
+ACGCCAGTGTGATGCGTTACTGGTTTGAGGAACCCTACGAAGCCTTTGTTGAACTCTCTGATCTGTATGA
+TAAGCATATTCACGATCAGAGCGAACGGCGCTTTGTGGTGGAATGTGACGGCGAAAAAGCCGGTCTGGTG
+GAGCTGGTGGAAATTAACCATGTTCATCGCCGCGCAGAATTTCAGATAATTATCTCCCCGGAGTATCAGG
+GGAAAGGTCTGGCAACCCGTGCCGCCAAATTAGCAATGGACTATGGCTTCACCGTTCTCAATCTCTATAA
+GCTGTATCTGATCGTTGATAAAGAGAATGAAAAAGCGATTCACATTTACCGCAAGCTTGGCTTTACGGTT
+GAAGGTGAATTGATGCATGAGTTCTTTATTAATGGTCAATATCGTAATGCCATTCGCATGTGTATATTCC
+AGCATCAGTATCTGGCAGAGCACAAAACACCGGGTCAGACTCTCCTGAAGCCGACCGCACAATAGTATTA
+ATAATAATCGATCGTATTTTTGATGGTGTAAACCCGTTCGACGGCGGGTTTTACTCCTTCATCAACAATG
+ATTAGCTGACAGTCCACCGGATTGGCGTGATTGTCATATTCACAGCTCTGTTTTACATTACCAACCCGTT
+GATTATTCAGTAAAGTAACCGCTGTGTAATCTAATTTTTTGATCGGGTCCGTTGATGGCGTGGCGCTGAC
+AGATAATGTTTTATCGTTACTTTTCGTGGTTTTACCCAGCGGATACCCCTGATCATCATAGCGATATTCC
+ATCTGCATCTGTTTGCTGCTGGCTTTAATCACGAAACCATTATCATCGGTTTCCCAACTCACCCCGGCAG
+AAGGTAATTCTGCTAGCTGGCATTTTCCCTGCAAACGAACTCTTTTCTCCAGCGTCTCGGCATCACGGTA
+ATAATTGGCGTCCAGTACCAGGGCAACCAAGGTATTATTTTCCAGATCCAGTAATTCGAGAGAATCAAAA
+CAGCCTTCTTCCGACAAAGTCCCCGAAACACGTTTCGTCACTTCACCTTGCTCATCCATTAATGTCTGAG
+TGAAATCTTTTACGGGACCACGCAGCGGATCAAAATCGAATTCATTAGAGAAACTGGCCATCTCCGGGGT
+AAATGAAAGTGTTACCTCTGTGCGGTCACATCCTGTGAGTAATATCGCGAGTAAGCATGGCAGTAATTTG
+TATTTCACAACAGTCACCTGAGAGTAGAGATGATTCTCAATCATAGTAGCAAATACAGTACTTTACACGT
+TAAATGCTATGCTTAAAGAAGTTATCTTCGCGTAAGGAGCTTATGATGAAACTCTCAACCTGCTGTGCCG
+CGCTTCTGCTCGCCCTCGCCTCACCCGCGGTACTCGCCGCGCCGGGATCCTGTGAGCGCATACAGAGCGA
+TATATCACAGCGCATTATCAATAATGGCGTACCCGAAAGCAGCTTCACGTTAAGTATTGTACCCAATGAC
+CAGGTTGATCAGCCTGATTCCCAGGTCGTCGGGCATTGCGCTAATGATACGCATAAAATTCTCTACACCC
+GTACCACCAGCGGTAACGTCTCTGCTCCCGCGCAGTCTACCCAGGATAACGCGCCTGCTGAACCGCAGTA
+ACACATTATCGACTGAACGCCGGATACGACAGGTCTGGCGTGTGGTATTGTTATGCGCAGGTCTAGGATG
+CTGGCTTTGTCCACTCATTCGTCGCCGTGAACCTCACGTTGCCGGACTTGTTCTGGGGCTAATCCTCATA
+CTTGGCGGTGAGATGATCGGGCGTGTGCTCTTTTATTGCCTGCACATGACGGTAGGAATGGCTATTGCAG
+GTTAACAAATTGGTGCGGGGCAACCCGCACATTTCAGGATGTTAGGAATGACCCATTTTTCACAGCAAGA
+TAATTTTTCTGTTGCGGCGCGCGTGTTGGGCGCGCTGTTTTATTACGCTCCAGAGAGTGCGGAAGCCGCC
+CCCCTGGTTGCGGCACTCACCCGTGACGGCTGGGAAACTCAGTGGCCTCTACCAGAAGAGTCATTAGCGC
+CGCTGGTGACGGCTTTTCAGACACAGAGTGAAGAGACTCACGCCCAGGCCTGGCAGCGTTTGTTTGTCGG
+CCCGTGGGCACTGCCGTCACCGCCGTGGGGATCGGTCTGGCTGGATCGCGAATCTGTGCTGTTTGGCGAT
+TCAACATTGGCACTTCGTCAGTGGATGCGCGAGAAAGGCATTCAGTTTGAAATGCAGCAAAACGAACCGG
+AAGATCATTTTGGTTCACTGCTGTTGATGGCTGCGTGGTTGGCGGAGAATGGTCGCCAGACAGAATGCGA
+AGAATTGCTGGCATGGCACCTTTTTCCGTGGTCAACACGTTTTCTTGACGTTTTTATCGAAAAAGCAGAA
+CACCCTTTCTACTGTGCACTGGGTGAACTGGCTCGCTTAACGCTGGCGCAATGGCAATCACAACTGTTGA
+TTCCTGTCGCGGTTAAACCGCTGTTTCGATAGGATCACCGTATTATTGCCGGATGGTGACAATTACGCGC
+AATTCGGCAATGATAGGTTACAGTGTCACGTTTTTTATCTCTTAAAGCACGCACTGCTTTTGCGGCTGGC
+CTCTTTTGCCGCAAAATAGTCGCCCGTGTTTCATTGCCCATTTCTGCTCATGCATCATCTACACATCTAT
+CCGGATCTGCGCACTATGTTCCGCCGTCTGCTTATAGCAACAGTCGTCGGTATTCTTGCGGCCTTTGCCG
+TTGCCGGGTTTCGTCATGCAATGCTGCTACTGGAGTGGTTGTTCCTCAATAATGACTCCGGCAGTCTGGT
+CAATGCAGCGACAAATCTTTCCCCATGGCGACGGCTGCTAACTCCGGCGCTCGGTGGACTGGCGGCGGGT
+TTGTTGCTGATGGGCTGGCAGAAATTTACCCAGCAACGCCCTCATGCGCCGACCGATTACATGGAAGCGT
+TGCAAACCGATGGGCAGTTTGATTACGCAGCAAGCCTGGTTAAATCGCTTGCCTCTCTGCTGGTAGTAAC
+CAGCGGCAGTGCAATTGGTCGCGAAGGTGCGATGATTCTTTTAGCTGCCCTTGCCGCCTCCTGTTTTGCC
+CAACGTTTTACGCCACGCCAGGAGTGGAAATTATGGATCGCCTGTGGAGCTGCGGCGGGAATGGCTGCGG
+CCTATCGCGCCCCGCTTGCTGGCAGTTTATTTATAGCCGAAGTGCTGTTTGGCACTATGATGTTGGCCTC
+TCTCGGCCCGGTGATTATTTCCGCCGTCGTGGCGTTGCTGGTTAGCAATCTTATTAATCATAGCGACGCA
+TTACTCTACAGCGTACAACTCTCAGTGACGGTTCAGGCTCGTGACTATGCGCTGATTATCAGTACAGGTG
+TGCTGGCAGGTCTGTGCGGACCACTGTTGTTAACGTTAATGAACGCCTGTCATCGTGGATTTGTGAGTCT
+CAAGCTTGCGCCGCCCTGGCAACTGGCACTGGGCGGGTTGATCGTGGGTCTGCTTTCCCTGTTCACACCT
+GCAGTGTGGGGCAACGGCTATAGCACCGTACAATCCTTTTTAACCGCTCCGCCACTGTTAATGATCATTG
+CCGGGATCTTCCTCTGTAAACTGTGTGCCGTGCTGGCGAGTAGTGGTTCTGGAGCGCCCGGTGGTGTCTT
+TACACCGACGCTATTTATCGGTCTTGCCATTGGCATGTTGTATGGTCGTAGCCTGGGATTATGGTTACCT
+GATGGCGAAGAAATTACGCTTTTACTCGGATTGACAGGGATGGCGACACTGTTGGCGGCAACAACGCACG
+CGCCGATTATGTCGACGTTGATGATATGTGAAATGACCGGGGAGTATCAGCTACTCCCCGGTTTATTGAT
+TGCCTGCGTAATTGCGTCGGTAATTTCGCGGACGTTACACCGTGACTCTATCTACCGCCAGCACACTGCG
+AAGCATAGCTAAGCGGATGTATTGCCCCAGTTCACGCTGTTCGGCGCGCGGCAGATAAGGCAGTTCACCA
+ATGAGCGGTGCCGGAAGTTTTTTACCGAGCACATCAATGATTTCCGCATAATGCGCCAGTCCTGGGTTGA
+TTCGGTTAGCCACCCAGCCAATGAGCGGCAGCCCGTCGTTGGCAATCGCCTGAGCTGTTAGCAGTGCATG
+GTTAATGCAACCTTCCTGAATACCGACAACCATCAACACCGGCAGTTGTTCCTGCACCACCCATTCAGAG
+AGCGGACGCAAATCATTCATCAGACTGCGCCAGCCGCCAGTCCCTTCTACCACGACATGATCGACTTTAT
+CGGTCAGGTTTGCCAGGCCGTTTGAAATGAGGGTGTAATTGATTGGGCAACTGTGCGCCACGCTACTTTC
+TTCTTCGCTTAACGCGATAGGATTAACTGCTTCATAAGGCAGTTCGATGGTTGAAACACTCTGCAACACC
+AGGGCATCTTTATTACGCAGCCCTTCGGGTGTCTCTTTGCTCCCCTTCGCTACGGGTTTATATCCCGCAA
+CCGTTTTTCCCTGGGAGGCTAACGCTTGTAGCAATGCGCGGGAAACCACCGTTTTCCCTACAGAAGTGTC
+TGTACCGGTAATAAAGAAACGCTTCAGCATCACTAACTCCACCGTTATGCTTCACAAATATAAACCAGGA
+AAATAATTAACCTTGAAAGTCTAAGTTATGCTTTCCTGGCCCAAATTGAGATAGCGCAAATTTTGGTAGA
+ACAGTTAAAAAATGTTAACCCTGCAACAGACGAATCAACAAAGAACCGTTATACATCGCGTCTTTTACCA
+GCGCAGCGCCTGCCATCGTGCCCTGGTTAGAAAACTGAGTACTCTCAACGCTAATGCGCTGACTATACGC
+AGGAAGGGCCTGCTGACGGATGCTGTCCGAGATAACTGGGAAGAGGATATCTGCCGCTTTACTTAACGGT
+GAGCCAATCAGTATTTTTTGTGGGTTAAATAAATTCACCATGATGGCAAGAATGCGACCGACATGCGCGC
+CTACCCCGGTAATGATGTCTTTTGCCAGTAGATCGCCGCGCAATGCCGCCTGACACAATGAGTCCACGGT
+TAACGGTTGTCCATGTAACATCGAGCTCATGGATTGATTGAGACGCAGCTGTGCCAGCTCAAGAATACTG
+TCCACACTGGCGATGGTTTCGAGGCAACCGTGATTCCCGCAATAACAGCGTTTCCCATACGGGTCGACCT
+GTGTGTGGCCTATTTCCACGAGGCTACTGCTGCCTGCGTGTAGCAGATGACCATCGGTAATGACGCCCGC
+CCCCACGTTGTGATCGATAACCACCTGAATCACATCGCGCGCCCCGCGTGAGGCACCAAACAAGGCCTCA
+GCCATCGTCCATGCGCTGATATCATGCTGAATATAAACCGGTACGCCGGTATGCTGCTCCAGCGCCTCGC
+CGAGCGGCATCTCTTTTACATCCTCGTAGAACGGCATGCGATGTACAATACCATTTTCCGTATCAATAAT
+TCCCGGCAAGGTTATGGCAATCGAAGTCAGACGCTCAAGTTTTTTCTGGTGGCGGATAAAAAACTGATCG
+ATATGGGAAATGATACGATCCAGCAATGGCGAGTCATCTTTTAACGCCAGTTCCTGCGACTCCTCCACTA
+CCAGTTTGCTGCTCAGATCGCGCAAAGCAAGGAAAATCTCCCCGCGACTAATGCGCAGAGAAAGATAGTG
+CCAGGCTTCAGTTTCAACCACCAGCCCCACTGCCGGACGGCCACGGTTCCCCGCTTCTTTGATTTCCAGC
+TCTTGCACCAGGTGTGCTTCGAGCATCTCACGGACAATTTTAGTGATACTGGCAGGAGCCAGTTGCGCCA
+GACGGGAAAGATCGATACGCGAGACTGGACCAAGCTGATCAATCAGGCGATAAACCGCGCCCGCGTTGGT
+CTGCTTTATTTGATCAATGTGCCCAGGCTGATTTTCAGCAACCACCGCATACTCCCTATATTTTCGCGCT
+CCGAAATAATCTGTAGGCTATGGTGAAGCACTTCAATACGTGTCGTCAAATTTTTACTTAGGCATGTGAT
+TAACAGCACATTTTTCGGGCTTTTTCGCTGAAATTTCCCTCACCTGAGAGCATTCAGCAGATGAATACGA
+AAGTTACGCGCAGCCGGACTTTGTTCATGATGTTTCGGCCAGACCAACCACATTTCAGAAACCGCATCCT
+CTTCAGCAATCGGCACCCAGCGCATTTCGTTGAGCTGAACACGTTTAAATGACGCAGGCAAAATTGAAAC
+ACCCAGACCAGCGGAAACCAGACCGATGATGGTCATTGCCTCACCCACCTCCTGAGTGATGACGGGCGTC
+AAATTGTAACGTCTCATCAGCCCGAGAATATCGTCATACAGCCCTGTTCCGACGTGCGGATCAAAAAAGA
+CAAAGGGTTCTTTCGCCAGTTCAGCCAGCGTTACACTCGGGTTATTTGCCAGGGGATGATCGTGCGGGAT
+CATCGCCATAAGCGGTTCATGGACGATGACTGCGTGTTCAAGCGTCTCCGGTAACGCTGTGTTACGCAGC
+AATCCCATATCCAGCGTTCCTTCAATGAGCGGAGCGATTTGCTCGCGAGTGTTCATTTCGCGGGTTTGTA
+AATGGACATCGGGATAATCACGGCGAAACAGCGATAACGTATCGGACACCGCCCGAATAAAAGGAGCGGA
+CGAAGTAAAACCAATGCGCAACTCCCCCGCTTCGCCCTGATGCAGCCTTTCAGCGCGAGCGGCAGCATCA
+TCCACCATAGACAGGATTTGCCGACTATCTACAAGAAACTGTTTTCCTGCTTCCGTCAGCAATACACTGC
+GATTGGTCCGTGCCAGCAGTCGGGCACCAATTTGTTGCTCCAGCGCCTGAATCTGCTGACTTAGAGGTGG
+TTGCGAAATATTCAGGCGGGCAGCGGCACGCCCGAAATGCAGCTCTTCTGCAACAGCGACAAAGTAACGC
+AGATGACGAAGTTCAATATTCATATTTAAAACATCTTATTTGAGATTATTAATATATTAGACAGAACAAT
+TCGATTTTCCTAATCTATTCATAAGCCTGATCCACAGGCATATTTAGCAAGGATTTCAAGTGAGCCGTAC
+TACAACTGTTGATGGCGCTCCGGCAAGCGACACTGACAAGCAAAGCATTTCTCAGCCAAATCAATTTATT
+AAACGCGGTACGCCGCAATTTATGCGCGTCACCCTGGCGCTTTTCTCTGCCGGACTGGCAACTTTCGCAC
+TTCTCTATTGTGTGCAACCTATCCTTCCGGTGCTTTCACAAGAGTTTGGCTTAACGCCCGCGAACAGTAG
+TATTTCACTGTCCATTTCAACGGCGATGTTGGCTATCGGTTTGCTGTTTACTGGCCCGCTATCCGATGCC
+ATTGGTCGCAAACCAGTGATGGTCACGGCGCTACTGTTGGCCTCCATTTGTACGTTACTTTCGACAATGA
+TGACCAGCTGGCACGGCATTTTGATTATGCGCGCCTTGATTGGGCTTTCGTTAAGTGGCGTGGCAGCCGT
+TGGCATGACTTATCTTAGCGAGGAAATCCACCCCAGTTTCGTGGCCTTTTCAATGGGGTTGTATATCAGC
+GGCAACTCAATTGGCGGCATGAGCGGACGCTTAATTAGCGGTGTCTTCACGGACTTCTTTAACTGGCGAA
+TTGCTCTGGCGGCAATCGGTTGTTTCGCGTTGGCCTCGGCGTTGATGTTCTGGAAAATCCTCCCTGAATC
+ACGCCATTTTCGCCCGACTTCGCTGCGCCCTAAGACGTTATTCATCAACTTTCGTCTGCACTGGCGTGAC
+CGGGGATTACCGTTATTGTTCGCAGAAGGCTTTTTGCTGATGGGGTCGTTCGTCACGCTGTTTAATTACA
+TCGGCTATAGGTTGATGCTTTCCCCCTGGCATGTCAGTCAGGCCGTGGTTGGCTTATTATCGCTGGCTTA
+TTTGACCGGTACATGGAGCTCACCCAAAGCCGGAACCATGACCACCCGCTATGGACGCGGTCCGGTGATG
+TTGTTTTCGACGGGGGTTATGCTGTTTGGTTTACTGATGACCTTATTCAGCTCGCTGTGGCTGATCTTTG
+CCGGAATGTTACTCTTCTCAGCCGGATTCTTCGCAGCCCACTCCGTTGCCAGCAGCTGGATCGGCCCCCG
+CGCAAAACGCGCTAAAGGCCAGGCCTCCTCGCTGTATCTGTTCAGTTACTATCTGGGGTCGAGTATTGCC
+GGGACGCTGGGTGGTGTTTTCTGGCATAACTATGGCTGGAACGGCGTCGGTGCATTTATTGCTCTGATGC
+TGGTCATTGCTCTGCTGGTCGGGACGCGTTTGCATCATCGTCTGCACGCCTGAAAAAATAAGTCCGGACT
+GAGGTAAATACCCGTCCGGACTTATTGCCTGCTCAAACCAACGTTAATAGCCATCCTAAAATAGACGAAG
+CGCCAGCCAATTCCCACAGCGCATCTAGCGTCATCAGGATTATAAGTACCCAAATAAACGGATTCATTTT
+GCTGTGTGTCATTTATTACTGATGCGCAGTTATTCTACCGCTTTGTAAGTAGTAAAATAGTTAACACGAT
+CAAGACTACTATTATTGGTAGCTAAATTTTCCTTAAGTCACAATACGTTATTATCAACGCTGTAATTTAT
+TCAGCGTTTGTACATATCGTTACACGCTGAAACCAACCACTCACGGAAGTCTGCCATTCCCAGGGATATA
+GTTATTTCAACGGCCCCGCAGTGGGGTTAAATGAAAAAACAAATTGAGGGTATGACAATGAAAAAAGTAT
+TAGCTCTGGTTGTTGCCGCTGCTATGGGTCTGTCTTCTGCTGCCTTTGCTGCAGAGACTGCGACCACACC
+TGCTCCGACTGCGACGACCACCAAAGCAGCGCCTGCGAAAACCACACATCATAAAAAACAGCATAAAGCA
+GCACCTGCCCAGAAAGCGCAGGCGGCTAAAAAGCATCATAAAAATGCCAAAGCTGAACAGAAAGCTCCTG
+AACAAAAAGCGCAGGCAGCGAAGAAACACGCCAAGAAACACAGCCATCAGCAACCGGCAAAACCTGCTGC
+ACAACCCGCAGCGTAAGTTTTCAACAGTAATGCTGGCGCGCCCCCTCGCGCCTGAAAATTACGGTGCTAA
+GCGGGTAACGTTTAGCACCGCCTTTAGCGGAGGGTAGTATGGTGGGCCGTTATCGCTTTGAGTTCATTCT
+TATCATCCTTATTTTATGCGCACTGATTGCCGCCCGTTTTTATCTTTCCTGATCGTAGTTATCTGATTTT
+ACTCCCACTTTCATCCCGTCCCGTCTATAGTATTTATGAGGGTTTGCTTTTAATAATCATAATTATCCAC
+CAGAGTGTGATATGCGTACAACCATTGCTGTAGTGTTGGGTGCAATTAGTTTGACGTCTGCTTTTGTGTT
+TGCAGATAAACCAGACGTTGCCAAATCGGCAAACGATGAGGTCAGCACCCTGTTTTTTGGTCATGATGAT
+CGTGTGCCAGTGAATGACACGACCCAATCACCGTGGGATGCGGTTGGCCAACTGGAAACGGCCAGCGGCA
+ATTTATGTACGGCGACGCTGATTGCACCCAATCTGGCATTAACGGCAGGACACTGTTTATTGACGCCGCC
+AAAGGGTAAAGCCGATAAAGCGGTAGCGCTGCGTTTCGTGTCAAATAAAGGTCTTTGGCGTTATGAGATC
+CACGACATAGAAGGCCGCGTTGATCCGACACTGGGAAAGCGGTTAAAAGCAGATGGGGATGGCTGGATTG
+TACCTCCCGCAGCTGCGCCCTGGGACTTCGGTTTGATTGTGCTACGTAATCCCCCTTCTGGCATTACACC
+GTTGCCGTTATTTGAGGGAGATAAAGCCGCGCTTACCGCCGCATTAAAAGCGGCTGGTCGTAAAGTGACT
+CAGGCGGGCTACCCTGAAGATCATCTCGATACGTTGTACAGTCATCAAAACTGTGAAGTGACTGGCTGGG
+CGCAAACGTCGGTGATGTCGCATCAGTGCGATACCTTGCCGGGTGACAGCGGTTCGCCTCTGATGTTGCA
+TACCGATGACGGCTGGCAATTAATTGGGGTGCAAAGCTCGGCTCCTGCCGCGAAAGATCGCTGGCGCGCC
+GATAACCGGGCCATTTCTGTTACCGGTTTTCGCGACAAGCTGGATCAACTGTCGCAAAAATAATGTTCAA
+ACGCTGCCCGACAGCGCGGGCAGCGTGTTCATCAGGCAAGTTTCACCATGATCATTCCAGCCAACAGCAG
+CACCAGGCCAATCCAGCCTTTACGATTTAACCGTTGACCAAACAAGATCCAACCTGCGGCTAACGTGGCG
+GCAATACCAAACCCGCCCCACAATGCATAAGCGACAGACAAGTCGATCCCTTTAACGGCCTGAGAAAGCG
+CACTAAAGGCAGCCAGCACCGCCGCCAGGGAGAGCAAGCCAAATATTTTGCAACGAAAGCCGTCAGAAAA
+TTTCAAAAAGACGTTAGCAACGATTTCCAGCACGATTGCCAATGCCAGCCAGGCGGCGTGAACCCATTCA
+AACTGCGCCATGGTTCACCTCCAGTTCAGGTTTACGCGCTTTACGGGTACCTGATTTGATCAATACAATC
+CCGGCGACCAGGGTGGTTAACCCGGCAATTTTCATCAGCGATAAACTTTCGTCGAATAACAAAACGCTAA
+ACAAGGTAATAAATAAAATACCGATACCTTCCCACAGCGCATAAGCCACGCCTAAGGCGATTTTTTTAAC
+GGCGAAAGAGAGAAATATATACGACAGAGAAATCATCACCAGCATTAAAATAAAGCCGCCATTTCCCTCA
+CTGACGCTCGCCCATTTCATGGACAGCGTACCGGTAATTTCTGTAGCAATAGCCAGACCTAATAAAATCC
+AATAAATATACATTGTCCTTCTCCTGCAAGAGAATTATTTTAATTTTCGCTTAATTCAGCGAAACCAAAG
+TAAAGTGGTCAAGCCCCGCGCTTAGCGCAAGCTTTGGCAGAAGAAAGGACTAAAGCGCGTTGCGCCAGTG
+CTGCTCACCTACGAGCAAGATAGTGGATGAGGTACGAAGATGGGTAAATGTAGAAAATAACGTCCTGAAC
+AAATTGTCCATAATATTACAATTATCCGCAGTGTTGCTTCTCGTCCTCGCGGATGATAATTGTCCTCGGT
+AGTTGAACACGCCTGATTTGTATCATAGCTTAAGAATTAACTCAAAATATTTTCACTTCTTTACCTGAGC
+GGTTTGATTTTCGTTATGATGACGGAGCGAAAAAGACATTATTATTAGCAAAGGAAGAAAAAACGGGGAC
+AAGCATGGCAAAGCCGATCATCACGCTCAATGGCCTAAAAATCGTCATTATGTTGGGAATGCTGGTCATT
+ATTCTCTGCGGTATCCGTTTTGCCGCCGAGATCATCGTGCCGTTTATTCTCGCATTATTTATTGCTGTTA
+TTCTTAACCCGCTGGTGCAACACATGGTCCGCTGGCGTGTGCCGCGTGTACTGGCAGTGTCAATTTTGAT
+GACCATCATCGTGATGGCGATGGTGTTGCTGTTAGCTTATCTGGGTTCCGCGCTCAATGAGTTGACGCGG
+ACGTTACCGCAATATCGCAACTCTATTATGACGCCGCTGCAAGCGATTGAACCGTTGTTGCAACGCGTAG
+GGATTGATGTCTCAGTTGACCAGCTGGCGCATTACATTGATCCGAACGCGGCGATGACGTTGCTCACCAA
+CTTATTGACGCAGTTATCTAATGCCATGTCATCAATCTTTTTATTGCTGCTGACGGTGCTGTTTATGTTG
+CTCGAAGTGCCACAATTGCCCGGAAAATTTCAGCAAATGATGGCGCGTCCGGTTGAAGGGATGGCGGCGA
+TTCAGCGTGCGATTGACAGTGTGTCTCATTATCTGGTGCTGAAAACAGCCATCAGCATCATCACCGGCCT
+GGTCGCCTGGGCGATGCTCGCCGCCCTCGATGTTCGCTTCGCTTTTGTCTGGGGATTGCTGGCCTTTGCG
+CTTAATTACATCCCTAATATTGGTTCAGTTCTCGCGGCAATCCCCCCTATCGCTCAGGTACTGGTATTTA
+ATGGCTTCTACGAAGCGTTGCTGGTGCTGGCGGGATATCTGCTAATTAATCTGGTCTTCGGCAATATTCT
+GGAGCCGCGCATCATGGGACGTGGGCTGGGGCTTTCCACATTGGTGGTATTTTTGTCGTTGATTTTTTGG
+GGATGGTTGTTAGGACCGGTGGGTATGCTGCTTTCCGTGCCGTTAACAATTATTGTCAAAATTGCGCTTG
+AACAAACAACGGGAGGTCAAAGCATCGCCGTTCTGTTAAGCGATCTCAACAAAGAGTGACGGCCTCCGCA
+GAGGCCGTCAGGGTTACAGAGCTTTCAGGATTGCATCCACGCTGGCTTTGGCGTCACCAAACAGCATGTG
+GGTGTTTTCCTTGAAGAACAGCGGGTTTTGCACACCAGCATAGCCAGTGTTCATCGAACGTTTAAAGACA
+ATCACGTTCTGCGCTTTCCACACTTCCAGCACAGGCATACCAGCAATCGGACTCTTCGGATCATCCTGCG
+CCGCCGGATTAACCGTGTCGTTAGCACCAATCACCAGTACGGTATCGGTATCAGCAAAGTCATCGTTGAT
+CTCGTCCATTTCCAGCACGATGTCATACGGTACTTTTGCTTCAGCCAGCAATACGTTCATATGTCCAGGC
+AAACGCCCCGCAACCGGGTGGATACCGAAACGCACATTAATACCACGAGCGCGCAATTTCTCGGTAATTT
+CAGCGACAGGATATTGCGCCTGCGCAACTGCCATGCCGTACCCCGGAGTAATGATCACTGAATGGGAGTT
+TTTCAGCAGTTCCGCTGTCTCTTCTGCAGTGATTTCGCGGTGCTCGCCTACTTCCTGATCATCACCAGTA
+GAAGAGCCGTCGGTGCCGAAACCACCCGCAATAACGCTGATAAAGGAACGGTTCATCGCCTTACACATAA
+TGTAAGAAAGGATAGCCCCCGAAGAACCGACCAGCGCACCGGTCACAATCAGCAGGTCGTTGCTGAGCAT
+AAAGCCCGCAGCCGCAGCCGCCCAGCCGGAGTACGAGTTCAGCATCGACACCACCACTGGCATATCTGCA
+CCACCGATGGAGGCGACTAAATGCCAGCCGAATACCAGCGCAATGGCGGTCATTATCAGCAATGCCAGCA
+CTTGCAGGCCGACGCTATCCGTGCGAACAAATACAATCAGCAGCAGGAAGGAAACGATCAGAGCCGCCAG
+GTTCATTTTGTGACGGTTTGGCAGCATCAACGGTTTAGACGAAATCTTGCCACACAGTTTGCCGAACGCC
+ACCACCGAACCCGTAAACGTTACCGCCCCGATGAAGATACCGAGGAACACTTCCGTCAGGTGAATATTGA
+CCAGAATCGGTGCCATTCCCGCGTCATGATGCAGATAGCTGTTAAAACCAACCAGCACTGCCGCCAGACC
+CACGAAGCTATGCAGGATCGCCACCAGTTCTGGCATTTCGGTCATTTCAACTTTCTTCGCCAGACGGATA
+CCAATTGCCCCACCAATGACCATAGCCAGCAAGATCCAGCCAACATTACCCGTATCCGGTCCAAAAATGG
+TTGCGATTAACGCAATCGCCATCCCGGCGATACCGAAGTTGTTACCCTGGCGAGACGTTTCATGTTTCGA
+AAGACCGGCCAGACTGAAGATAAACAGGATCGCGGCAACAATGTATGCAGCTGTAACTAATCCTCCAGAC
+ATATGTTACCCCTTAATTTTTGCGGAACATTTTCAGCATGCGCTGAGTCACGGTGAAGCCACCGAAAATA
+TTAATGCTGGCTATAAGCACCGCGATAAAACTAAGGAAGCTAACCCAGCCGCCCTGGCCAATCTGCAACA
+GTGCTCCGACAACAATAATCCCTGAAATCGCGTTGGTGACCGACATCAACGGTGTATGCAGCGCGTGCGA
+TACATTCCACACCACGTAATAACCGACAACGCAGGCCAGCGCGAACACAGTGAAGTGTCCAAGGAACTCT
+TTTGGCGCAACGCTTGCCATCCAGCCGAAAAGGATGATTGCCAACGCCATCAACGCGTATTTACGCCACG
+GTGAGCAGGCACATTTTTCCTCAGTTTTCACTTCCGGTGCCGCTTTTTGTGCCGCCTGCGGCTGAGCTGA
+TACCTGAATCGGCGGTGCCGGCCAGGTAATTTCGCCCGCACGGATCACGGTCACGCCACGAATCACCACA
+TCATCAAAATCCACAGTGATGTTGCCGTCTTTCTCTTTGCACAACAGTTTCAGCAGATTAACGAGGTTAG
+TGCCGTAAAGCTGTGAGGATTGCGTCGGCAGACGGCCCGGAAGATCGGTGTAACCAATTACTTTGACACC
+ATTTTCCGTAGTGAAGATTTCACCCGGCACGGTGTATTCACAGTTGCCGCCGTTTTGGGCTGCCAGGTCG
+ACAATCACACTGCCCGCCTTCATGGAGTCAACCATTTCACGGGTAATTAGCTTCGGCGCTGGTTTGCCTG
+GAATAAGCGCGGTGGTGACAATGATATCGACCTCTTTTGCCTGGGCGGCAAAGAGTTCCATTTCCGCTTT
+GATGAACGCGTCCGACATCACTTTGGCATAGCCATCGCCGCTGCCCGCTTCCTCTTTAAAATCCAGCTCG
+AGGAATTCTGCGCCCATACTTTGAACTTGTTCTTTCACTTCCGGGCGGGTGTCGAATGCACGCACAATCG
+CGCCGAGACTGTTTGCTGCGCCAATGGCGGCCAGACCTGCGACACCGGCACCAATCACCATCACTTTTGC
+CGGTGGCACTTTCCCGGCCGCAGTGATTTGTCCGGTAAAGAAGCGCCCAAATTCATGTGCCGCTTCAACA
+ATGGCGCGATAACCGGCGATATTCGCCATCGAGCTTAGTGCGTCCAGCGATTGTGCGCGTGAGATACGCG
+GCACAGAGTCCATCGCCATCACGGTCACGTTACGTTCCGCAAGTTTTTGCATTAATTCCGGATTCTGCGC
+AGGCCAGATAAAACTCACCAGCGTTGTCCCAGGATTCAGTAACGCAATTTCATCATCTAACGGCGCATTG
+ACCTTCAGAATGATCTCTGACTGCCAGACGCTATTCCCTTCTACAATTTCAGCGCCCGCTTGCACAAACG
+CTTTATCGTCAAAACTTGCCAGTTGACCCGCGCCGCTCTCTACCGCGACGGTAAAACCCAGTTTCAGCAG
+CTGTTCCACTGTTTTTGGCGTTGCTGCAACACGGGTTTCATTGGTTAACCGTTCTCTTGGTATTCCAATT
+CGCATGATATTCCCTTCCATCGGTTTTATTGATGATGGTTTGCTTGTGTCAGGAGCCACACAAGCCGCTC
+ATGTACGAGCTAAATGTTACTCCGTTAAAATAAATTAGTAACAAACGCCCTATAACGTACTGAAAATTAT
+GCCTGTGATCTAGCGCCAAAAATCAGTATTTCGGCGTGAACTCGCAAAATATTAACGATTCAGCCGTGAT
+AGTGGGATAAACACCTTAGAACGCCGGATAAAGACTGATAATTGTCTTCGGCGGCCGGGTAAAACGAGAC
+ATCGCCCCGGCACAAATCACTACTTAACATTAAATTAACTTATACAATTCAGTTGCTTCAGTAGTATTGA
+TGGTGATACGGCTGTTTTTTAAGCATAGACGGTCATTTGAGCAGAATTAAAATTGGTTTAAGGAATGTGA
+TATGAAAAATGACGCAGACAGTTACACCGTTTAAATGCAATAATCAGCCACGTTTCTCGTTAATAACAAT
+ACCAGTACCTGGTTTGCGCAAGGCGAAGGATTATTTTTATGAAGCTTAAGAACACCCTCCTGGCGTCGGC
+ACTGCTTTCTGCTACGGCATTCTCCGTTAACGCAGCAACAGAACTGACACCGGAGCAAGCGGCAGCGGTT
+AAACCTTTTGACCGTGTAGTGATTACCGGTCGTTTTAATGCTATTGGCGAAGCGGTGAAAGCCGTTTCTC
+GTCGCGCAGATAAAGAAGGTGCCGCCTCTTTTTATGTTGTCGACACTTCTGATTTTGGTAACAGCGGTAA
+CTGGCGTGTGGTCGCTGACCTCTATAAAGCCGATGCTGAAAAAGCAGAAGAAACAAGTAATCGCGTAATT
+AACAGTGTTGTCGAACTGCCGAAAGATCAGGCTGTTCTGATTGAACCGTTTGACACGGTCACCGTCCAGG
+GCTTCTATCGTAGCCAGCCAGAAGTCAATGATGCCATCACCAAAGCGGCAAAAGCGAAAGGTGCCTACTC
+TTTCTACATTGTTCGTCAAATCGATGCCAACCAGGGTGGTAACCAGCGTATTACTGCATTCATCTATAAA
+AAAGATGCTAAGAAACGTATCGTCCAGAGCCCGGATGTAATCCCGGCAGATTCCGAAGCAGGACGTGCAG
+CTCTGGCTGCCGGTGGCGAAGCCGCGAAGAAAGTTGAGATCCCGGGTGTTGCGACTACCGCATCACCAAG
+TTCTGAAGTCGGTCGCTTCTTTGAAACCCAGTCATCAAAAGGCGGGCGTTACACCGTCACGCTCCCGGAC
+GGCACTAAAGTCGAAGAACTGAACAAAGCGACAGCAGCGATGATGGTCCCGTTCGACAGCATCAAATTCT
+CTGGCAACTACGGCAACATGACCGAAGTCTCCTATCAGGTTGCGAAACGTGCCGCGAAGAAAGGTGCTAA
+GTATTACCACATCACCCGCCAGTGGCAGGAACGTGGTAATAACCTGACCGTCAGCGCAGATCTGTATAAA
+TAACTATTCAGTTACTCCTATAAGGCGGCTTGATGCCGCCTTTCGCATTTTTAGTCATAAATTTCCCTGC
+GACCATTGCATGCAGACACATCTCTTCGTAAAATCCCGCGCTTCAGTGGCAAACTCCATTTTTATGCGTT
+TTGCCCTAATATTTATTCTTCTTGTCACGTTTTAATCACTGGATATCGATGGAAAAGAAACTGGGACTGA
+GCGCACTCACCGCGCTGGTATTAAGCTCAATGCTGGGCGCGGGTGTTTTCAGTCTGCCGCAAAATATGGC
+GGCAGTTGCCAGCCCGGCAGCACTGCTCATCGGCTGGGGTATTACTGGCGCTGGCATTTTATTGCTGGCC
+TTTGCCATGCTGATCCTCACGCGCATTCGCCCCGAACTTGACGGCGGTATCTTTACCTATGCCCGCGAAG
+GGTTTGGCGAGCTAATCGGCTTTTGTTCCGCATGGGGATACTGGCTGTGCGCGGTCATCGCCAACGTCTC
+CTATCTGGTGATCGTTTTTTCCGCGTTAAGCTTTTTTACGGACACGCCGGAATTGCGCCTGTTTGGCGAT
+GGTAATACCTGGCAATCGATCGTCGGTGCATCGGCTTTATTGTGGATTGTTCACTTTTTGATCCTGCGCG
+GGGTGCAAACCGCTGCCAGCATTAACCTTGTGGCGACACTGGCAAAATTGTTGCCGTTGGGTCTGTTTGT
+TGTGCTGGCGATAATGATGTTCAAACTGGATACCTTCAAGCTCGACTTCACCGGACTTGCACTTGGCGTA
+CCCGTGTGGGAACAGGTGAAAAACACCATGCTGATCACCCTGTGGGTTTTCATTGGTGTGGAAGGTGCCG
+TGGTTGTTTCTGCGCGTGCGCGTAATAAGCGTGATGTTGGCAAAGCGACACTGCTGGCGGTTCTCTCCGC
+TCTGGGCGTTTATTTGCTGGTAACGCTGCTTTCGCTGGGCGTGGTGGCACGTCCTGAACTGGCTGAAATT
+CGTAACCCGTCAATGGCCGGTCTGATGGTGGAAATGATGGGACCGTGGGGCGAAATCATCATCGCTGCCG
+GTTTGATCGTTTCCGTTTGCGGCGCGTACTTAAGCTGGACCATCATGGCAGCAGAAGTTCCGTTCCTTGC
+AGCCACTCATAAAGCATTCCCGCGCATTTTTGCGCGCCAGAACGCACAAGCTGCGCCATCCGCTTCACTG
+TGGCTGACCAACATCTGCGTGCAAATTTGTCTGGTGCTCATCTGGCTGACCGGTTCCGATTACAACACAT
+TGCTGACCATCGCCTCAGAAATGATTCTGGTGCCCTATTTCCTGGTCGGCGCGTTCTTGCTAAAAATCGC
+AACCCGTCCACTGCATAAAGCGGTAGGTGTCGGTGCCTGCATTTATGGCTTATGGTTATTGTACGCCTCT
+GGTCCAATGCACTTGCTGTTATCCGTTGTTCTGTATGCGCCGGGGCTGCTGGTTTTCCTGTACGCGCGTA
+AAACGCATACACATGATAATGTACTGAACCGTCAGGAAATGGTGCTGATTGGCATGCTGTTAATTGCCTC
+AGTTCCGGCGACCTGGATGCTGGTGGGATAACGTTCATCCCATCGTTGGATAGCAAAGGAGATAACGATG
+GGTAAAACCCAGCCCTTGCCAATATTAATTACTGGCGGAGGTCGCCGCATCGGCCTCGCCCTCGCATGGC
+ATTTCATTAATCAAAAGCAACCGGTGATTGTCAGCTATCGGACGCACTATCCCGCCATTGATGGACTGAT
+TAAAGCAGGTGCGCAGTGTATTCAGGCTGATTTTTCGACCAACGACGGTGTGATGGCGTTTGCCGATGAA
+GTACTAAAAAGCACCCATGGTCTGCGTGCTATTTTGCATAACGCCAGCGCGTGGATGGCGGAAAAACCGG
+GTGCGCCACTGACCGACGTACTGGCTTGCATGATGCAGATCCACGTTAATACCCCATACCTGCTCAACCA
+TGCTCTGGAAAGATTACTGCGTGGGCACGGACACGCCGCCAGCGATATCATTCACTTTACCGATTATGTG
+GTGGAGCGCGGTAGCGACAAACATATTGCCTATGCTGCAAGCAAAGCGGCACTGGATAATATGACCCGCT
+CGTTTGCCCGCAAGCTGGCACCGGAAGTGAAAGTGAATTCTATTGCGCCATCGCTGATCCTGTTTAATGA
+ACATGATGATGCCGAATATCGACAACAGGCGCTGAATAAATCACTGATGAAAACCGCGCCTGGCGAGAAA
+GAAGTGATCGACCTGGTCGATTACTTACTTACCAGCTGCTTTGTCACCGGACGCAGTCTCCCACTTGATG
+GCGGTCGTCATCTGCGTTAATGCAGCTTAATCCAGCATATAATCAACACCCATGCGCTTATTCCCCAGCA
+CGCAACAGAGCCAACAAAAGCAGCGGGCAAGCGCATCATTCCGGTGAAATACCATAGGGACGCCAGGTAA
+ACAAAATAGGGAATAATCGACCACATACTAAAAATGATGGTTGCGCGTAAGGCTTCAATGCCGCGTTCGC
+TGGCAACAATATAATGCGCGATAAGCGCAAAGGTCGGGAAAAGTGGAATCAGCCCGGCGATATAATAATT
+TTTCGTTTTTGCTAAAACACCAATCAACAGCACTACTAGCGCACCGAGCGCGGCTTTGATTACCAGCCCC
+ATCTTTTTACCTTAACACTTCCATAACAAGTCATTAGTAGAATACCTGATGAAACCTTGTTTAGAAACGA
+TTGATAGTAAGTAAAAACAGTGCGGTGTATTGTGACGTTTTTATATCTACCGTGAATGTTATGAACACTA
+TCGTATTTGTGGAAGATGATGCGGAAGTCGGTGCACTGATTGCCGCATACCTGGCAAAACATGATATGCA
+GGTTACCGTAGAGCCGCGCGGCGACCGGGCCGAAGAAACTATTCTGCGAGAAAATCCGGATTTGGTGTTA
+CTCGACATCATGCTACCAGGCAAGGACGGCATGACCATTTGTCGTGATTTACGCGCAAAGTGGTCCGGAC
+CGATTGTTCTTCTAACCTCTCTCGATAGCGATATGAACCACATCCTGGCACTGGAAATGGGTGCCTGCGA
+CTATATTCTCAAAACGACGCCCCCTGCTGTTTTGCTAGCGCGTTTACGTTTGCATTTGCGTCAGAATGAG
+CAAGCCACAGTGACCAAAGGTATTCAGGAAACGTCTCTGACTCCCTACAAAGCCCTGCATTTCGGCACGT
+TGACCATCGATCCCATCAACCGCGTAGTCACCCTGGCTAACACTGAAATCTCGCTCTCGACAGCTGATTT
+CGAATTATTGTGGGAATTAGCTACCCATGCCGGGCAAATCATGGACCGCGATGCATTGCTGAAAAATTTA
+CGCGGCGTCAGTTATGACGGACTGGATCGTAGCGTGGACGTGGCTATTTCGCGGTTAAGAAAAAAACTGC
+TCGATAACGCCGCAGAACCTTATCGTATTAAAACCGTGCGTAACAAAGGCTATCTTTTTGCGCCTCATGC
+GTGGGAATAAGCGATGAAAAAACTGTTTATCCAGTTTTACCTGTTATTGTTTGTCTGCTTCCTTGTGATG
+TCTCTGCTGGTCGGGCTGGTGTACAAATTTACCGCCGAACGCGCAGGCAAACAGTCGCTGGATGATTTGA
+TGAACAGTTCGCTGTATCTGATGCGCAGCGAATTGCGTGAGATCCCCCCACACGACTGGGGTAAAACGCT
+GAAAGAGATGGATTTAAATCTCTCTTTCGATCTGCGTGTCGAGCCGCTGAGTAAATATCATCTTGATGAT
+ATTTCCATGCACCGGCTGCGTGGCGGCGAAATTGTCGCTCTGGACGATCAGTACACTTTTTTGCAACGTA
+TCCCGCGCAGCCACTACGTGCTGGCAGTTGGTCCTGTTCCTTATCTTTATTACCTCCATCAGATGCGATT
+GCTGGATATCGCCCTGATCGCTTTTATTGCCATTTCCCTCGCCTTTCCGGTGTTTATCTGGATGCGTCCG
+CACTGGCAGGATATGTTAAAACTGGAAGCAGCGGCGCAACGATTTGGCGATGGGCATCTCAGTGAGCGTA
+TCCACTTTGATGAAGGTTCGAGCTTTGAACGACTTGGCGTCGCATTTAACCAGATGGCGGACAATATCAA
+CGCCTTGATTGCCAGCAAAAAACAGCTTATTGACGGTATCGCTCACGAACTGCGAACACCGTTAGTGCGC
+CTTCGTTATCGACTGGAGATGAGCGATAACCTGAGCGCCGCCGAATCCCAGGCGTTGAATCGCGATATCA
+GTCAACTTGAAGCTTTAATTGAAGAGCTGCTGACTTATGCCCGACTCGACCGCCCACAAAATGAGCTTCA
+TCTTAGCGAACCAGACCTGCCGTTGTGGCTGTCAACGCATCTGGCAGATATTCAGGCAGTAACGCCCGAT
+AAAACGGTACGGATAAAAACGCTCATGCAAGGCCATTATGCGGCGTTGGATATGCGCTTAATGGAGCGCG
+TGCTGGATAATTTGCTCAATAACGCCCTGCGCTACTGTCATTCAACGGTTGAAACCAGCCTGCTACTGTC
+GGGGAATAGAGCGACATTAATTGTTGAGGATGATGGCCCAGGGATTGCCCCAGAAAACCGCGAACATATC
+TTTGAACCTTTTGTTCGCCTCGATCCCAGCCGGGATCGCTCAACCGGCGGCTGCGGGCTGGGGCTGGCAA
+TTGTCCACTCTATAGCACTGGCAATGGGCGGTACGGTTAATTGTGACACCAGCGAACTGGGTGGTGCCCG
+CTTCTCGTTCAGCTGGCCGTTATGGCATAACATCCCGCAATTTACCTCTGCCTGACACTATGCGCACGGT
+GGTCAAGTCACCACCATTGTGCTATAAAATAAGGATGTTGTAACTAAAGTGGTTAATATTATGGCGCGTT
+ACGATCTCGTAGGCCGACTCAACACTACTTTTCGCCAGATGGAACAAGAGCTGGCTGCATTTGCCGCTCA
+TCTTGAGCAACACAAGCTATTGGTTGCCCGCGTGTTCTCTTTGCCGGAGGTAAAAAAAGAGGATGAGCAT
+AATCCGCTTAATCGTATTGAGATAAAACAACATCTCGGCAACGACGCGCAATCGCTGGCGTTGCGTCATT
+TTCGCCATTTATTTATTCAACAACAGTCCGAAAATCGCAGCAGCAAGGCCGCTGTCCGTCTGCCTGGCGT
+GTTGTGTTACCAGGTCGATAACTTTTCGCAAGCAGCGTTAGTCAGTCATATTCAGCACATCAATAAACTC
+AAGACCACGTTCGAGCATATCGTCACGGTTGAATCAGAACTCCCCTCCGCGGCACGTTTTGAATGGGTGC
+ATCGTCATTTGCCGGGGCTGATTACCCTTAATGCTTACCGCACGCTCACCGTTCTGCACGACCCCGCCAC
+TTTACGTTTTGGCTGGGCTAATAAACATATCATTAAAAATTTGCATCGTGATGAAGTCCTGGCACAGCTG
+GAAAAAAGCCTGAAATCACCACGCAGTGTCGCACCGTGGACGCGCGAGGAGTGGCAAAGAAAACTGGAGC
+GAGAATATCAGGATATCGCTGCCCTGCCACAGAACGCGAAGTTAAAAATCAAACGTCCGGTGAAGGTGCA
+GCCGATTGCCCGCGTCTGGTACAAAGGAGATCAAAAACAAGTACAACACGCCTGCCCTACGCCGCTGATT
+GCACTGATTAATAGGGATAATGGCGCGGGCGTGCCGGACGTTGGTGAGTTGTTAAATTACGATGCCGACA
+ATGTGCAGCACCGTTATAAACCACAGGCGCAGCCGCTTCGTTTGATCATTCCACGGCTGCACCTGTATGT
+TGCAGATTAACCCCCGGCTTTCATACTGCCGACCATCTGTTCTGGCCGTACCCAGCGGTCAAACTCGGCT
+TCGCTAAGATACCCCAGCGCAAGGGCCGCAGCTTTTAAGGTCAGCCCTTCTTTATGCGCTTTTTTGGCGA
+TCTCGGCGGCTTTGTCATAACCAATGTGGGTGTTAAGCGCAGTCACCAGCATCAGCGATTCATTGAGTAA
+TTGATTGATTCGCTCACGATTCGGTTCAATGCCCACTGCGCAGTGTTTGTTGAAACTTTCCATGCCATCT
+GCCAGCAAGCGCACCGATTGCAGGAAGTTATGGATCACCATCGGACGGAAGACGTTCAGTTCAAAGTTAC
+CGGAAGCGCCACCCATGTTGATCGCCACGTCGTTCCCCATCACCTGACAGCAGAGCATGGTTAATGCTTC
+ACACTGTGTCGGGTTCACTTTCCCCGGCATGATTGAGCTGCCCGGCTCATTTTCCGGGATTGAGATTTCA
+CCAATTCCGCAGCGCGGGCCAGAGGCCAGCCAGCGGACATCATTGGCAATTTTCATCAGTGACGCAGCCA
+ACCCTTTCAATGCGCCGTGCGCCTGAACCAGGGCATCACAGGTCGCCAGCGCTTCAAATTTGTTCGGTGC
+GGTAACAAACGGTGCACAGGTAATGACTGCCAGTTCATCTGCTACGCGACGCGCATATTCCGGATGGGTA
+TTTAGTCCAGTACCCACCGCTGTACCGCCCAGAGCCAGTTCCGCTACGTGAGGCAGGCTGTATTCGATAT
+GTTTGAGATTATGCTCCAGCATCGCTACCCAGCCGGAAATCTCCTGCCCCAGCGTTAACGGCGTCGCGTC
+CTGCAAGTGGGTACGACCGATTTTGACGATATCGGCAAATGCGCGGGATTTTTCACTCAGCGTCTGGGTC
+AGGGTTTTAAGTTGTGGAATGAGTTGCTTGCGCAGCGCCAGTAGTGCCGCAACGTGCATCGCCGTCGGAA
+AGACATCGTTGGAACTTTGGCTTTTGTTCACGTCGTCGTTAGGGTGAACTTTACGTTCCATCCCGCGCAC
+GCCGCCGAGTAATTCACTGGCCCGGTTAGCCAGCACTTCATTCATGTTCATGTTACTTTGCGTGCCGGAG
+CCGGTCTGCCAGATAGCCAGCGGGAATTCGTCGTCATGCTGTCCTGCCAGTACTTCATCCGCCGCCTGCC
+GAATGGCGCTCGCTTTCTCTTCAGACAACAAGCCTAAATCTTCATTAACTTTTGCCGCTGCGCGCTTGGT
+TAGCGCCAGCGCATGAATCAGTGAGGTGGGCATTTTCTCCGTCGAAATGCGGAAATGCTCCAGCGAGCGC
+TGAGTTTGTGCGCCCCACAGCTTATCTGCCGGGACATCAATCGCTCCCATCGAATCTTTTTCGCTGCGTA
+CTGTATTCATGGCCTGCTCCTCACCTGATTAATTTTTTCTTTCTGTTTTGCTTTCGCTAAGCAACTTTTA
+GCCCACTCATTATTTACCATTTGATAACAAACGTTTGGTCTTACGTGCCATGTAAAAAAACCGCCCCGAA
+GGGCGGCTCTGTTTATTTCACACAGCGGGTGCATTGTGTGAGTTGTATCTGCTGGAAGAAGTCATTTCCT
+TTATCATCCACAAGGATAAACGCCGGGAAATCTTCCACTTCAATTTTCCAGATGGCTTCCATTCCCAGTT
+CCGGATATTCAACACATTCCAGGCTCTTAATACTTCCCTGCGCCAATACAGCTGCCGGACCACCGATACT
+GCCGAGGTAGAAGCCGCCGTGTTTTTTACAGGCATCCGTCACCTGCTGGCTGCGGTTGCCTTTCGCCAGC
+ATGATCATACTTCCGCCCTGCGCTTGCAGTTGATCGACATAAGAATCCATCCGTCCGGCGGTCGTTGGGC
+CAAGAGAACCGGAGGCATAACCTTCCGGCGTTTTGGCCGGACCCGCGTAGTAAATCGGATGATCTTTAAT
+ATACTGCGGCAGCCCTTCACCGTTATCCATCCGCTCTTTCAGTTTGGCGTGAGCAATATCACGACCGACG
+ATAATCGTGCCGTTAAGCGATAAGCGTGTAGAAACGGGATACTGCGACAACTGTGCGAGGATCTCTTTCA
+TCGGACGGTTGAGGTCAACGCGCACCGCTTCGCCTTCTCCTGCTTTGCGCAGCTCTTCCGGGATATATTT
+GCCTGGATTATGTTCCAGTTTTTCGATCCAAATCCCCTGACGGTTGATCTTCGCTTTGATATTACGGTCA
+GCAGAACAGGAGACGCCCATACCGACCGGGCAGGATGCGCCGTGACGTGGCAGGCGAATCACGCGGATGT
+CATGAGCGAAGTATTTACCACCAAACTGCGCACCCAGACCAAGATTTTGCGCTTCGATCAGCAATTCTTT
+TTCCAGTTCCACATCGCGGAACGCCTGACCGTGCTCATTCCCTTCCGTTGGCAGTTCATCATAGTATTTA
+GCGGAAGCCAGTTTCACCGTTTTAAGATTCGTTTCTGCAGAAGTTCCACCAATAACGAACGCAATATGAT
+ATGGAGGACAGGCCGCCGTACCCAGCGTGCGCATCTTCTCAACCAGGTAATTTTTCAGTTTTCCCGGCGT
+CAGTAACGCTTTGGTTTCCTGATAGAGATACGTCTTGTTTGCCGAACCGCCACCTTTGGCGATACAGAGG
+AATTTGTACTCGTCGCCATCAACGGCATAAAGATCGATCTGCGCTGGCAAGTTGGTGCCGGTATTCACCT
+CTTTATACATATCCAGCGGCGCGTTTTGCGAGTAGCGCAGATTATCCTCGATATAAGTGTTATAGACACC
+GCGCGCCAGCGCCGCTTCATCACCGCCACCGGTCCATACACGCTGCCCTTTTTTACCAACAATAATCGCG
+GTGCCGGTATCCTGACAGGTTGGCAGAACGCCTTTTGCCGCGATGTCGGAGTTACGCAGGAATTGCAGCG
+CCACATATTTATCATTTTCGCTGGCCTCCGGGTCACGCAGAATGTCGGCCACCTGTTGTTGGTGAGCCGG
+ACGCAGCATAAATGACGCATCATGAAACGCCTGACGCGCCAACAGAGTTAACGCTTCGGGTGCGACTTTC
+AAAATCTCCTGCCCTTCAAATTCAGATACGCTAACGTGTTCGCTGGTTAGCAGGTAATACTCAGTATCAT
+CTTTTTTGAGTGGAAAAGGAGCCTGATAATGAAAGGGTTTGTTTGACATTGTTCTCTCACTTACTGCCTG
+GTTTGGTTATGCTCTGGGCGGGTGTTCCGTTGCCCTGTTAAAAGCGAGTAACAATATCCTACACACTTTT
+TTAACAAAAACTGAGACTAGTACGACTTTTTGCGGCTCCAGGTTACTTCCCGTAGGATTCTTGCTTTAAT
+AGCGGGATTAATTTCCACATTAAAACAGGGATTGATCATGCAAAAACTCATTAACTCAGTGCAAAACTAT
+GCCTGGGGCAGCAAAACGGCGTTGACTGAACTTTATGGTATGGAAAATCCGTCCAGCCAGCCGATGGCCG
+AGTTGTGGATGGGCGCGCATCCAAAGAGCAGTTCACGTGTGCACGATGCCGCAGGAGATATCGTTTCACT
+GCGTGATGTGATTGAGAGTGATAAAGCGACTCTTTTGGGAGATGCCGTTGCCAAACGCTTTGGCGAGTTG
+CCTTTCCTGTTCAAAGTATTATGCGCAGCCCAGCCGCTCTCCATTCAGGTTCATCCAAACAAACGCAATT
+CTGAAATCGGTTTTGCCAAAGAAAATGCTGCAGGTATTCCGATGGATGCCGCTGAGCGTAACTATAAAGA
+TCCTAATCACAAGCCTGAGTTGGTTTTTGCGCTGACGCCTTTCCTTGCGATGAACGCGTTTCGTGAGTTT
+TCCGAGATTGTCTCCCTGCTCCAGCCAGTCGCAGGTGCACATCCGGCGATTGCTCACTTTTTACAACAGC
+CTGATGCCGAACGTTTAAGCGAACTGTTCGCCAGCCTGTTGAATATGCAGGGTGAAGAAAAATCCCGCGC
+GCTAGCGATTTTAAAATCGGCCCTCGACAGCCAGCAGGGTGAACCATGGCAAACGATTCGTTTAATTTCT
+GAATTTTACCCGGAAGACAGCGGCCTGTTCTCCCCGCTGTTGCTGAATGTGGTGAAATTGAATCCTGGCG
+AAGCGATGTTCCTGTTCGCTGAAACACCGCACGCTTACCTGCAAGGCGTGGCGCTGGAAGTGATGGCGAA
+CTCCGATAACGTGCTGCGTGCAGGTCTGACGCCTAAATACATTGATATTCCGGAACTGGTTGCCAACGTG
+AAGTTCGAAGCCAAACCGGCTAACCAGTTGTTGACCCAGCCGGTGAAACAAGGTGCAGAACTGGACTTCC
+CGATTCCTGTGGATGATTTTGCCTTCTCGTTGCATGACCTTAGTGATAAAGAAACCACCATCAGCCAGCA
+GAGTGCCGCCATTTTGTTCTGCGTCGAAGGCGATGCAACGCTGTGTAAAGGTTCTCAGCAGTTACAGCTT
+AAACCGGGTGAATCAGCGTTTATTGCCGCCAACGAATCACCGGTGACTGTCAAAGGCCACGGCCGTTTAG
+CGCGTGTTTACAACAAGCTGTAAGAGCTTACTGAAAAAATTAACATCTCTTGCTAAGCTTATTAAAGGCT
+TATAACACCTTCAGGCGGCCAGTCCGCCTGATTTCATTTTATGGATAATCATTATGAATAAATCGCTGGT
+AGCGGTAGGCGTCATTGTTGCGCTAGGCGTAGTCTGGACAGGCGGCGCATGGTATACAGGCAAGAAGATT
+GAAACCCATCTCGAAGACATGGTCGCGCAGGCGAACGCGCAACTCAAACTGACAGCTCCTGAATCCAACC
+TGGAAGTCAGTTATCAAAACTATCATCGCGGCGTATTCAGCAGCCAGTTGCAACTGTTGGTGAAACCCAT
+TGCCGGAAAAGTAAATCCGTGGATTAAAAGCGGTCAGAGCGTCATCTTCAACGAATCGGTTGATCATGGT
+CCCTTCCCGCTTGCCCAGCTTAAAAAACTGAACCTGATCCCGTCGATGGCATCAATTCAAACCACGCTGG
+TTAATAACGAAGTAAGCAAACCACTGTTTGATATGGCAAAAGGTGAAACGCCTTTTGAGATTAACTCCCG
+CATTGGTTACAGCGGAGATTCCAGTTCCGACATTTCGCTCAAGCCACTGAATTACGAGCAAAAGGATGAA
+AAAGTCGCCTTTAGCGGCGGCGAGTTCCAGTTAAATGCAGACAGAGACGGCAAAGCTATCTCCCTTTCCG
+GGGAGGCGCAAAGTGGTCGGATAGACGCGGTTAACGAATACAACCAGAAAGTGCAGTTAACCTTTAATAA
+TCTGAAAACCGACGGTTCCAGCACGCTGGCAAGTTTTGGTGAGCGCGTAGGAAACCAAAAACTGTCGCTG
+GAAAAAATGACCATTTCAGTGGAGGGCAAAGAACTGGCACTGCTGGAAGGCATGGAGATCAGCGGTAAAT
+CGGATCTGGTCAATGACGGTAAAACGGTCAATAGCCAACTGGATTACTCGCTAAACAGCCTGAAGGTACA
+GAATCAGGATCTGGGCAGTGGCAAGCTGACTTTAAAAGTCGGCCAAATTGATGGCGAAGCCTGGCATCAG
+TTTAGCCAGCAATATAACGCGCAAACTCAGGCGCTGCTGGCACAGCCAGAAATTGCCAACAATCCCGAAC
+TTTATCAGGAGAAAGTGACGGAAGCCTTCTTTAGCGCTCTGCCGCTGATGCTGAAAGGCGACCCGGTGAT
+TACTATCGCGCCGCTAAGCTGGAAAAACAGTCAGGGTGAAAGTGCGCTGAATCTGTCGCTGTTCCTGAAC
+GATCCGGCAACGACTAAAGAAGCGCCGCAAACGCTGGCGCAGGAAGTGGACCGCTCGGTTAAATCTCTGG
+ATGCGAAACTGACCATTCCGGTGGATATGGCAACTGAGTTAATGACTCAGGTAGCGAAGCTGGAAGGTTA
+TCAGGAAGATCAAGCGAAAAAACTGGCGAAACAGCAAGTTGAAGGTGCATCAGCAATGGGGCAGATGTTC
+CGTCTGACCACCTTGCAGGACAATACCATCACCACCAGCCTGCAATATGCTAACGGTCAGATAACGTTAA
+ACGGGCAGAAAATGCCACTGGAAGATTTCGTGGGTATGTTTGCGATGCCGGCATTAAACGTTCCGGCTGT
+ACCCGCTATTCCGCAGCAGTAATTCACAGCCAAAACGCCGGAGCTTTTTCTCTCCGGCGTTTTTTCTTAC
+TTCAGCATAAAGTCATACTGAATACTCATTTTCACATCCCAGTAATTCAGGCGATCGCCCAGCGTACTGC
+CATCGCGCTTTTCCCGCCCTTTATCGGCAGCAAGAAAGAAATTCATCCCTTGTAACGGCCCTTCGCTGAC
+CCGATAGTTCATACCCCCTAAGATACCCGCGCCTTCAATCCGCACATCTCGTTTACTGGATTCATAGCCG
+CGGGTCACAATCGGTGCAAATGTCAGCGTAAATTGCGGAGTTAAACGATAGTTGACGCCCAATTGCCAGG
+ACTGCATTCCTTCACGGTTACGATCAAGACTTAATGAAAAGGGATAGCCAATGTCGGTATCCACCACGGC
+ACCATTCATTGCATGGCGCAAATAACCACCACTGCCAAATACGCTTCCCCACGGCGCATTCCAGGTCAAT
+TGTCCACTAACCAACGCCGTTTCATTGGGCTGGCTGGTATTACGACTTAAACCTTCAAGTTGCGCGTAAA
+AGCCGAGCAACTCCCCTTTCAACGTATAATTCGGGTCAAGCGGTATGCTTTTCTCGAGAATACTTTGTAT
+CTGATTGGAAACATCTTTCTGTACCGATGCCCCCAGAGAATAGCGACTGGTATCATCATGCCAACTGGCG
+GCTAAAAAAGAACGTGCGCGATGTTTATCGTATTTTCCCGTCTGGCTGTTATAAACCCCTTCATCACGAA
+TACCGGTTGTTGAATCGGTCCATAAAAATACTCGTGAACGCCACATTCCCCACAGATCAATATTTGGCGT
+TAAAGCCCAATAACCTAATGCTCCTTCAGAAACAGTCGGTAATGTACGTTGCGAACTGCCAGCCATTAAC
+GGAATACGATAAGGTAAGCTACCATAACTATAATCCGTCCCGAAGCGACCTAATTTTAGCAGGCTATTTT
+CACTGGGTTTTATTTTTACTGCCCCCAGGGCAAAGCCAAAACTTTTATCACCATCAAGATACCACCGGGT
+ACTCATATCAGCACGAGCACCTAATTTATAAACATAATACGCCCCGCCTTCAACGCCAATAATATTGGAA
+TAATAACCACTATTGAAATCGAGCAATCCTCCCTGTACCCATGCGTAAATATCTCTTCCCGTGCCAGCAC
+TGGGCTTATCAGCCCTGCGCAATTCGTTTTTCAGTCTGATGCGTAGTCCCGCTTCATCGTCAGCCAGTTG
+CGCCGCGTAAGCAGAGGTAAGGCCAGAGGCAGCCGTCAGGCAAATAACGGCAATGGCCACTATTTTTCTC
+ATAGTTGCACCTTTGATGTTCTGATTATTTTTATTGAATATTAACTAGTGATATCGTTGATTAATTGCTG
+CTGCACTTTTTTACGATTATCAATTTCAACAACGATTTCTTTGAATTTTTTATCCGTGAGCGGATAAAAC
+CAGATAATGACGAATGCCAGTAGCATAAATCCGCAAGGTACTAGGGCAATTGATGTGCGGATGCCCATAA
+TAACTTCCGGCGTTTGCGCCTGATTGGCGATATATCCGCTTAATCCCAAAATAAAGGCAGGAATTGAACC
+TCCGATTGCCTGACCGCATTTACGGGTAAATGAGAATAGTGAATAGGTGAGCCCTTCAATTCGCACGCCG
+GTCAGGTATTCACCGTATTCTACGGTATCAGCTTCCAGTGCCCACATCACGGTCATGGTAACGCCCTGGC
+CAATTGATGCGATGGCCAACGCAACCAACGCCACCGGCAGTGACCAGACGGAAACCCAGAAGAACAGCAG
+ATAACCGCAGGTTCCCAGCAAAGCGCCAATCAGGAAGGTATTCTTTTTACCGATCCTCGCGACCATCCCC
+GGCACCAGCGGTGCCGATGCCACAGTACCGACCAGGTTTTGCACCAGTACCAGCACAGTGAACAGCCCGG
+TATCATTTAACACATAGCGCACGTAGAACAACGACGAGGCGCTGACCGCGAAGGTCGAAATCAGCACACA
+CAGCGCACCGATGCACAACATAAACAGCGGGCGATTCCGTTTCAGGGTTTGCAGACTGATCTTCAATGAC
+GGCTGCGCCACGATACGTACCACATTCTCACGCGTCGATTTGAAGCAGATGAAGTAAAGCACCATTCCGG
+CAATCGCCAGCACAATTGTCCAGAAATGATATACCGACACCATCTCTTCCGGGCTGGAGTTCTTAATGCT
+CGGTCCTATCAGAAATGCCAGGCAGACAAAGGTCAATGAAGCGGCAATCCCGCGAGCCGCACCCAGACGG
+GCGCGGGATTGTGGTTGTTGGGTCATCGCGGTAGCAAGTGAACCATAAGGAATATTCACCAGGCTGTAGC
+AAAGCCCGAGTCCCATGTAGGTCAAATATGCATACACAACTTTGCTGCTATGGCTCCAGTCGGTCGGCAC
+CCAGAATACCAGCACGCTGAAGATCATTAACGGCGCAGTACCGAAGAGTAAAAACGGGCGGAATTTTCCC
+CATCGGGTATTCACACTGTCCACCACTCGTCCGGCAAAGACATCGGCGAAGGCATCGAATACCCGCACCA
+GTAACAGCATGGTGCCCGCCGCAGCGGCACCGACGCCAGCGACGTCGGTGTAGTAACTCAACAGGAAGAG
+CGCCCCCATTGCGAAGGCGAAGTTATTGGCGACGTCACCGAGGCTGTAGCCGACGATGGCGCGCCAGGAG
+AGTTGTTGATTCATTGTTTGCCTCCCTGCTGCGGTTTTTCACCGAAGTTCATGCCGGTCCAGCGTTTTTG
+CAGCAGAAAAGCCGCAGACTTCGGTTTGCGGTCACGAGTGAAGATCCCTTTCTTGTTACCGCCAACGCGC
+AATATGCCTTGCGAGGTCGCAAAATCGGCGAAATTCCATACCTGCTCACCGACGACAGCGCTGACGCGAT
+CAAAGACGCGGTGATACATATCCAGCCATGCACACTGATACTCTTCACTCCACATGTCGGTGTACATTGA
+GTGCAGGCCGGCTAACGTATCCACGCCGTATTCGGTGATGATAATCGGCTGATGCAGTTTCTCCTGCCAG
+GCCAGAAGTTCTTTTTCCAGTACCTTCTCTGCCGTTTCCAAATCGCCGCTTTGGACATACCAACCGTAAT
+AACGGTTCAGGCACAGCACATCAAAGAGATCGCTGATGGTATCGGTGTGAGCGTCGCAGAACATTACATT
+GACACAGGTGATCGGACGCGTCGGGTCGAGTTTACGCGTTGCTTCCGCCAGTGGCGCAAAATATTCCCGT
+GCACCTTGCGGACGGGTATCCGGTTCGTTGGCAATACTCCACATCACCACGCTTGGGTGGTTTTTGTCAC
+GCGCAATCAGCTCTTTAATCGCCTGTAAGTGCGCCTGCTGGGTTTCCCCGTTGACTGCCTCTTCGCTGTA
+CAGTTCTTTCGGCTTGTTGCCCGCTTCGAAACCAATGCCTAAAGAGAGGTTAAAGCCGACAGCTGCAGTT
+TCATCAATCACCACGATGCCATGCTCATCTGCCCAGTCGAGCATCTCTTCAGCGTAAGGGTAATGCGAGG
+TACGGTAGGCGTTGGCCCCAATCCAGTCCATTAATGCGTGATCGTGCACCATCAGCACGTTATCGAATCC
+TTTGCCGCGCAAATCCGCATCTTCATGACGACCAAAGCCAGTAAAGTAGAACGGTTTGTGGTTGATCAGG
+AACTGTTCGCCCTTCACTGCCACTGACCGGATGCCGACGCGCAGCGGGTAGATATCACACTCTGTCTGGC
+TTTTGGCTGTGACGCACAGTTCATAGAGATAACCTTCACCCGGTTGCCAGAGGTGCGGATTCACCACTTG
+CAAAGTCCCGCTGGTGCCTTGTCCAGTTGCAACCACCTGTTGATCCGCATCACGCAGTTCAACGCTGACA
+TCACCATTTGCCACCACCTGCCAGTCAACAGATGCGTGGTTACAGTCTTGCGCAACATGCGTCACCACGG
+TGATATCGTCCACCCAGGTGTCCGGCGTGGTGTAGAGCATTACGCTGCGATGGATCCCGGCGTAGTTAAA
+GAAATCATGAAAGTAAGACTGCTTTTTCTTGCCGTTTTCGTCGGTAATCACCATTCCCGGCGGGATAGTC
+TGCCAGTTCAGTTCGTTGTTCACACAAACAGTGATACGTACACTTTTCCCGGCAATAACATACGGTGTGA
+CATCGGCTTCAAATGGCGTATAGCCGCCCTGATGCTCCATCACTTCCTGATTATTTACCCACACTTTGCC
+GTAATGAGTGACCGCATCGAAACGCAGTACAATACGCTGGCCCGCCCAACCTTTCGGTATAAAGACTTCG
+CGCTGATACCAGACGTTGCCCACATAATTACGAATATCTGCATCGGCGAACTGATCGTTAAAACTGCCCG
+GCACAGCAATTGCCCGGCTTTCTTGTAACGCGCTTTCCCACCAACGCTGATCAATTCCACAGTTTTCGCG
+ATCCAGACTGAATGCCCACAGGCCGTCGAGTTTTTTGATTTCACGGGTTGGGGTTTCTACAGGACGTAAC
+ATAAGGGACTCCTCATTAAGATAAAAATACTGGTCAACCTTTAATCTTATTAGTTAACCAATTCTGTGTT
+GCACACAGTTATCTGTGAGAAACCCATGGAAGAGAAATGGAAATAAAAAGAACTGACACCGCGATCAAAA
+AACCAAAAACTGCAATACCCACAGCGTGATATTGATCGCATTAATCTTTAAAACAGCGTTGACAGAAGCC
+ACAAAATAAGCAATCGAACGTTCGTTCGAACATATTGGGAGCGATAAACCCTCATGATATATTGCTACGA
+TGAATATTTAGGTGGGATTCTCCGATCCCTGGGAGGATGATTTTTGCACAGAGAAATTACGATATGAAAC
+GCGGGCACAGTTGTCACCAGCCCGCGGAAAGAGAGAGAGGATCAGGATGCGGTTAAGATACCGCCAATCA
+TCGCGCGTAAACCCTGAGCAAACGACGCTTCACGAGCCAGGTCTTCCGCTTCGATATCGGCCAGTACACC
+GTAGGTCAGATCCAGCAGTAAACGTGAAGTCATTGCCGTGTTGATGTCTGGGCTTATCTCGCCTTTTTGC
+TGGGCATCACGCATCCGCTGGGCAACAAATTCCGTGATCGTCATATGCTTATTTTTAAGCATGGCGGCGA
+CCTGTGGGTTACGCATCCCTTCCGCCATAATTTCGACCACCAGCGCTCGTTGCCCAAAGGCTTCATGGGT
+GAGAGAGACAATAGACTCGACCATATAGTCAACGAAATGAATCCCTTCAATCGGTTCCCGGAAACGGGCC
+AGCGCCCTCTCCTGGTCCTGTAAGATAATCGCCTGAATCAAGGCTTCTTTGGAGATGAAATGGTGATAGA
+GCGTCCCGGGACTAATGGCGCAGGATTTACAGATGGCTTTCATCGAGGCACTGTGAAATCCATTTTCTGA
+AAAAATCTCTCTGGCAGCATTGAGGATCCGGGTCCGTGTCGGTTGTGCTTCAGTCTGCATGTTATCCATC
+ATTAAACCATTATAGTTAGCATGAATAACTAGTTTACCGCGTTGTCAGGTGAGCGCCTATCATTGCTGTT
+GAATAGTGCGAAGGCACACTCAATTCGTAAGCTTTTTATCCAGATATTGGTTAACCAATAACCGTGATTT
+GGCTGCCAGTTGTTTAGCAGAGACGTTGATGAGTTGCACACGCTATCCCGGTAAACAACACATACGGCTG
+TTTACCGGTTCGTTAGTGTATTAATTGAGCTCCTGTACCCCACCACCGGAGACGGTGAGAATTTGTCCGC
+TTACCCAGCTGGCTGCAGGCGAGCAAAGGAACAGCGCCGCGTTAGCTATATCTTGCGGTTGGCCCAGACG
+TCTGATTGGTGTGTGTTGCAACATTTTCTGTTCAATTTCTGGTGTAATAACGGATTTCAGGGCATCGGTT
+AATATTGCCCCCGGCGCAATGCCATTCACCCGAATATTTTTTTCACCCAGGTCAAATGCCATATTTCTGA
+CCAGATGACTGGCCGCAGCTTTAGATGATGCATAGGAGGTCATGTTTATGTTTTTATTTTCTGCCGCCAT
+AGAAGTAATGGTCAGAATAACGCCACCGCCATTTTTTTCCATTTCTGGCGCAACAAGTTGTGACAGATGG
+AAAAAAGAAAATACATTCAGTTCATAAGCGCGGCGAAAATCTGCCATTGGCATATCAAACGGTTTAGGAC
+CACCGCCACCGGCGTTGTTAACCAGGATATCAACTTTACCCAACTTACTGACGGCAAAGTCTGCCAGTGC
+AGAGAGTTCCTGTTCGGAAGTAATATCGCAGCGGCAGGCAAATGCCTGACCACCCAGTTGTTGAATTTCA
+TTTACAACATGATTAGCTGCATCGGCGTTAATATCACTGACCACCACAGATGCGCCAGCTGTCGCGAATG
+TAATGGCGATTTCTTTACCAATACCTGCACCCGCACCTGTAATGATGGCGCATTTTCCGTCGAGTCTCAG
+GTTGTCAGAATTAAACACATAAACCTCCTGTGAACTTCAGTAAAAATAAAAGGCACCGCCTGTGTGCCAC
+ATTTTTTATCATTAACCTTGAGGAAAGGACACTACCAGTGTATAGCAGATAAAGAGAGGATTATTTCGCC
+GCAATGAGCCGGGCGGGAATAATAAGATTGCGTGAATGCGTCTCTTCATGGGTGATTTTTTGCATCATGC
+GATCCGCAAGTGTGGTACCAAGTTCCCGCGCTGGCGTGCTGGCCCAGGTAACGGGTATATCATCAAGTGT
+GGTTGGCGTTGCATCGGTAAATGCCGCCAGCGAAACCTGTTGCTCAAAGTAACGATCGACTCCGCTTTCC
+CCGCTTTGCCTCCCTGCTTTCAGCAAACCAAACCATGCACCCATCGCAATAGTTTCGTTATAGCAAACCA
+CGGCGCTGATGGTCGGGTTATGACGTAAAAGCGCCGTGATAGCTTCCGCGGCTTGCTTCTGGCTGGAAGT
+GCACTCCAGCACCCAATCGCTGTGAAACGGCAGGCCAAATTTTAGTAGAGTCGCACAATAGCCCCCCACC
+CGTTCTGCCCGGGTTAATGAGGAACTTTGCCCTCCCAGCCAGGCGATACGCTGATGCCCATTGCGAATGA
+GATGCTCCGTCAACAACTGTGCAGCCTGCATGTTGTCCGGGCGAACCGTATCAACGTCATCAAGATAACT
+GGCACGGGAAGCGAAAATCACCGGGATAGCTTTTTCTTCTGCTATCCGTCGCAGGTCATCGCTGCTTCCT
+GCAGCCCCGGCAATGACCACACCATCGACACCCTGATTCAGTAATAGTGAAAACCGCTGTGCCAGCTGCT
+CGCCGTCTTTACCGCCGTGAAGAAAAAAAACCATCCGTCCCTGCGCTTCCAGAGCTTCCGTCAATCCGGC
+CGTCAATTCGGCGTAAAACGGCGCAGATAAATCACGGACGATCAAACCAATGACGCCGCTTTGCCCGCCG
+CGCAGCGCCGACGCCTGACGATTGCGCACAAATCCCAGCTCTTCAATGGCGGCGTTAACGCGTTCTCCTG
+TGGCGGTAGAGATTCGCCCTTTGCCACTTAGCACCAGCGAAACGGTGCTTACCGACACGCCCGCAGCCAG
+CGCAACATCATGAATGGTTATTTTTTTGGCGGTAGCCATGCAGATGACCTACTCCCTGATTATGTGACAG
+ATAAAACGTTTTATCTTTTATTTATCTTATACCCGCTATTATCGTTGCGTAATGTGATTTATGCCTCACT
+AAAATTTGATAAAACGTTTTATCTTCTCGCGCAATTTACTGAATCCAGATTGTTCTCTACGAGGAGTCGT
+TTTATGACGGCGAAAACAGCACCGAAAGTCACGCTGTGGGAGTTCTTCCAGCAGTTAGGCAAAACCTTCA
+TGTTACCCGTGGCATTATTGTCGTTCTGCGGCATTATGCTCGGCATTGGTAGTTCTCTTAGCAGCCATGA
+TGTCATCACCCTGATCCCGGTCCTGGGCAACCCCGTGTTGCAGGCTATCTTTACCTGGATGAGTAAGATT
+GGCTCGTTTGCTTTTAGTTTCCTGCCAGTCATGTTCTGTATCGCCATCCCGCTGGGTCTGGCACGCGAAA
+ACAAAGGCGTAGCGGCATTCGCTGGCTTCGTCGGTTATGCGGTAATGAACCTCGCGGTAAACTTCTGGTT
+GACCAATAAAGGCATTCTGCCAACCACGGACGCCGCGGTTCTGAAAGCCAATAACATCCAGAGCATTCTT
+GGGATCCAGTCGATCGACACCGGGATCCTCGGTGCGGTGATCGCCGGTATTATCGTCTGGATGCTGCATG
+AGCGATTCCATAATATCCGCCTGCCAGATGCGCTGGCATTCTTCGGCGGTACGCGCTTCGTACCAATCAT
+CTCCTCGCTGGTGATGGGTCTTGTCGGCCTGGTGATTCCATTAGTCTGGCCGATTTTCGCCATGGGTATT
+AGCGGCTTAGGCCATATGATCAACAGCGCGGGAGATTTCGGACCGATGCTGTTTGGTACCGGTGAACGTC
+TGCTGTTGCCGTTTGGTCTGCATCACATTCTGGTGGCATTAATTCGCTTTACCGACGCAGGCGGCACGCA
+GGAAGTCTGCGGTCAAACCGTCAGCGGTGCACTGACCATCTTCCAGGCGCAATTGAGTTGCCCAACCACT
+CACGGTTTTTCTGAAAGCGCCACGCGTTTCCTTTCGCAAGGTAAAATGCCTGCGTTTCTCGGCGGTCTGC
+CAGGTGCAGCGTTAGCTATGTATCACTGTGCGCGCCCGGAAAATCGCCATAAAATTAAAGGTCTGCTGAT
+TTCTGGCCTGATCGCCTGTGTCGTTGGCGGCACGACCGAACCGCTGGAATTCCTGTTCCTGTTCGTAGCG
+CCAGTTCTGTATGTCATCCACGCGCTGTTAACCGGCCTCGGCTTCACTGTCATGTCTGTGCTCGGCGTCA
+CCATCGGTAATACCGACGGCAATATCATCGACTTTGTGGTGTTCGGTATTTTGCATGGTCTGTCAACCAA
+GTGGTACATGGTGCCAGTAGTGGCGGCAATCTGGTTTGTCGTTTACTACATCATCTTCCGTTTCGCTATC
+ACCCGCTTCAATCTCAAAACCCCGGGGCGCGATAGTGAAGTTGCCAGTTCAATCGAAAAAGCCGTTGCCG
+GTGCGCCGGGTAAATCAGGTTACAACGTTCCGGCAATCCTCGAAGCCTTAGGCGGTGCCGACAATATTGT
+CAGTCTCGATAACTGCATTACGCGTCTGCGTTTGTCTGTAAAAGATATGTCGCTTGTTAATGTGCAGGCA
+CTGAAGGACAATCGGGCAATTGGCGTAGTACAACTTAATCAACATAACCTGCAGGTTGTTATCGGGCCAC
+AAGTTCAGTCAGTAAAAGATGAAATGGTCGGTCTGATGCGTACTGTCCAGGCATAAGGATAAGATATGTT
+CGATTTTTCAAAGGTCGTGGATCGTCATGGCACATGGTGTACGCAGTGGGATTATGTCGCTGACCGTTTC
+GGCACTGCTGACCTGTTACCGTTCACGATTTCAGACATGGATTTTGCCACTGCCCCCTGCATTATCGAGG
+CGCTGAATCAGCGCCTGATACACGGCGTGTTTGGCTACAGCCGCTGGAAAAACGATGAGTTTCTCGCGGC
+TATTGCCCACTGGTTTTCCACCCAGCATTACACCGCCATCGATCCTCAGTCGGTGGTGTATGGCCCTTCT
+GTTATCTATATGGTTTCAGAACTGATTCGTCAGTGGTCTGAAACAGGTGAAGGCGTGGTGATCCACACAC
+CCGCCTATGACGCATTTTACAAGGCCATTGAAGGTAACCAGCGCACAGTAATGCCCGTTGCTTTAGAGAA
+GCAGGCTGACGGCTGGTTTTGCGATATGGGCAAGCTGGAAGCCGTGCTGGCGAAACCAGAATGTAAAATT
+ATGCTCCTGTGTAGCCCACAGAATCCTACCGGGAAAGTGTGGACGTGCGATGAGCTGGAGATCATGGCTG
+ACCTGTGCGAGCGTCATGGTGTGCGGGTTATTTCCGATGAAATCCATATGGATATGGTTTGGGGCGAGCA
+GCCGCATATTCCCTGGAGTAATGTGGCGCGCGGAGACTGGGCGTTGCTAACGTCGGGATCAAAAAGTTTC
+AATATTCCCGCCCTGACCGGTGCTTACGGGATTATAGAAAATAGCAGTAGCCGCGATGCCTATTTATCGG
+CACTGAAAGGACGTGATGGGCTTTCTTCCCCTTCGGTACTGGCGTTAACTGCTCATATCGCCGCCTATCA
+GCAAGGCGCGCCATGGCTGGATGCCTTACGCGTCTATCTGAAAGATAACCTGACGTATATCGCAGATAAA
+ATGAACGCTGCGTTTCCTGAACTCAACTGGCAGATCCCGCAATCCACTTATCTGGCCTGGCTTGATCTAC
+GTCCGTTGAATATTGACGACAACGCGTTGCAAAAAGCGCTTATCGAGCAAGAAAAGATCGCGATCATGCC
+GGGATATACCTACGGTGAAGAAGGTCGTGGTTTTATCCGACTCAATGCCGGCTGCCCACGTTCGAAACTG
+GAAAAAGGTGTGGCTGGATTAATTAACGCCATCCGCGCTGTTGGTTAACCCCAATTGCGCAACGTAAAAA
+ATCGTTGCGCAATCGTGGATTTTTACCCTGCTTTGTTTTTATAATGGTGCGCACTTTTATATCCAGAAAA
+AGAGTGCGACCATGATTGATACCACCCTGCCATTAACTGATATCCATCGCCACCTTGATGGCAACATTCG
+TCCCCAGACCATTCTTGAACTTGGCCGCCAGTATAATATCTCGCTTCCTGCACAATCCCTGGAAACACTG
+ATTCCCCACGTTCAGGTCATTGCCAACGAACCCGATCTGGTGAGCTTTCTGACTAAACTTGACTGGGGCG
+TTAAAGTTCTCGCCTCTCTTGATGCCTGCCGCCGCGTGGCATTTGAAAACATTGAAGATGCAGCCCGTAA
+CGGCCTGCACTATGTCGAGCTGCGTTTTTCACCAGGCTACATGGCAATGGCACATCAGCTGCCTGTAGCG
+GGTGTTGTCGAAGCGGTGATCGATGGCGTACGTGAAGGTTGCCGCACCTTTGGTGTGCAGGCGAAGCTTA
+TCGGTATTATGAGCCGGACCTTCGGCGAAGCCGCCTGTCAGCAAGAGCTGGAGGCCTTTTTAGCCCACCG
+TGACCAGATTACCGCACTTGATTTAGCCGGTGATGAACTTGGTTTCCCGGGAAGTCTGTTCCTTTCTCAT
+TTCAACCGCGCGCGTGATGCGGGCTGGCATATTACCGTCCATGCAGGCGAAGCTGCCGGACCGGAAAGCA
+TCTGGCAGGCGATTCGTGAACTGGGGGCGGAGCGTATTGGACATGGCGTAAAAGCCATTGAAGATCGGGC
+GCTGATGGATTTTCTCGCCGAGCAACAAATTGGTATTGAATCCTGTCTGACCTCCAATATTCAGACCAGC
+ACCGTGGCGGATCTGGCTGCACATCCGCTGAAAACGTTCCTTGAGCATGGCATTCGTGCCAGCATTAACA
+CTGACGATCCAGGCGTGCAGGGAGTGGATATCATTCACGAATATACCGTTGCCGCGCCAGCTGCTGGGTT
+ATCCCGCGAGCAAATCCGCCAGGCACAGATTAATGGTCTGGAAATGGCTTTCCTCAGCGCAGAGGAAAAA
+CGCGCACTGCGAGAAAAAGTCGCCGCGAAGTAACAAAAATGGATGGTGCTAATTGCACCATCCCCTTTTC
+ACGCAAGGCACAAAGTCGCGCGATGTTTGGCGGATTCGATGCCCAGCTCAATCAACTCCATTACCTGGAT
+TGCCTGACTTGCCGGAACCGGATTTTCACCATCGCCATTTAACGCATCACGAATAGCCGCATAGTAAGCC
+GGATAATTCCCCGGCACTGTCAACAGCGTTTCTTCGACACGTTCCTCACCTTCCACGCGGGTAAGTACGC
+CATCGCGCATATCGTAGCCCCAGTCTTCCTGCGGCAGACGCTCGCCATTTTTCAGACGTTCTTCCTGTGG
+ATCGAGGCCATATTTCACATAACTGCCTCGGGATCCATGCACGATATACCGTGCTGACTCGGCTGCTGCC
+AGCATGGTGCCGTGTAAAATCACTCGCCGCTGTGGATAGGACAAGATAGCGTGGAAATAATCGGTCGACT
+GCGCTCCGGGCCGTAACTGTGCCAAATCTACCGTCATGCTAACCGGTAAACCAAATAACGTAATGGCCTG
+ATCAAGAAGGTGCGGTGCTAAATCGTACCAGATACCGCTGCCTGGGCCGCCCTGTTCACGCCAACGATCG
+CGCACCTGCGGGCGGAAGCGGTCAAAATGGGACTCAAAGTAAGCAATTTCACCCAGCACGCCTTCCGCGA
+GCAAACCTTTTAGCGTCAGGAAATCGCTATCCCAGCGACGGTTATGGAATACAGACAGCACTCGCCCCAG
+GCTTTTTGCCAGCGCTTCCAGCTCTCGTGCTTGTGACAGTGTCACGGTAAAGGGTTTATCAACGACCACA
+TGTTTACCCGCCTCAAGCGCCGCTTTGGCTAACGGAAAATGGGTATCGTTGGGTGTAGGAATGACAATCA
+GGTCTATGTTGGGATCGTTAAACAGATGCTTCGGCTCAGAGACAACCGTAACCGTTGGCCAGTCAGCTTT
+TACTTTTGTTTCATCGCTGCTGGAGATTACCGCCAGCTCCAGCCCGGGCGTGCCCGCAATCAGGGGTGCA
+TGGAAGGTTTTGCTCGCATAACCATACCCAATCAACCCAACACGGATGTTGTCGCTCATGTCATTGCCTC
+TCATTGAAGTATGATGGCTATTTGACACTATCCTTTACCCTCGCTCAACAGTTTAATAACCTGCCAACAA
+TAAGGGATGTTGTTTAACTTAAGTCAAAAAAATAGCGATTTTTCCAACGACAAAAGCTAAATATCGCAAA
+AACCTCAGTAAAAATCTTGCTGGAGCTATTATTGCTAAGTAACATTTACCCCCTGAAGTTAATGGATCAA
+TCAACAGAGATGTGGGCTGTAATGAATCGTCTTATTGAATTAACAGGTTGGATCGTTCTTGTCGTTTCAG
+TCATTCTTCTTGGCGTGGCGAGTCACATTGACAACTATCAGCCACCTGAACAGAGTACTACGGTACAACA
+CAAGTAAGCTCTGCACTTGTTGAGCGACATGCTGCCCGTCCGGGTGCATGTTTTCACTTGTCGGATATTA
+AACCAGGAATTTATTATCTTGTTCGATGTTGTTGATGATTGTCAGGGATAGTAAAGCGCGTTACTCTTTC
+CAGAGCAGTTTTTCATCCCTGAATATTTGCCATCAGCACATTCTTATTATTGTAATAACACAAGCGTTCA
+CTTTTGGTGAAATTTTATCATCACTAATAATACCTACCCCTTTGGTATTAATTATTTTATGGACCTTTTA
+TGACTGTTCAGGACTACTTATTAAAATTTCGCAAAATCAGTTCACTCGAAAGTCTGGAAAAACTCTACGA
+TCATCTTAATTACACCCTGACGGACGATCAGGAACTGATCAATATGTATCGTGCTGCCGATCACCGTCGC
+GCAGAGCTGGTTTCTGGCGGGCGTTTGTTTGACCTCGGCCAGGTACCGAAGTCCGTCTGGCACTATGTCC
+AGTAAAGAAAGTAGCGATCGGTTATAAAAGCCTTATAATAACGCCCCTAAAATTAGATTTGTCTGTTTGC
+GTCGCTATTCTGGAGAACCTATGACCACCACAACGCCACAACGTATTGGAGGCTGGTTGCTTGGCCCGTT
+GGCCTGGCTTTTAGTCGCTCTGTTGAGTACGACGCTGGCGTTGTTGCTGTATACCGCTGCGTTATCTTCT
+CCGCAAACATTTCAAACGCTCGGCGGACAAGCACTGACGACACAAACCTTATGGGGCGTTTCTTTTATTA
+CCGCTATCGCCATGTGGTATTACACACTGTGGTTGACCATCGCTTTCTTTAAACGTCGGCGTTGTGTTCC
+TAAACACTATATTATCTGGCTGCTTATTTCCGTATTGCTGGCAGTAAAAGCGTTCGCTTTTTCACCCGTA
+GAAGATGGCATAGCCGTTCGCCAGTTGCTGTTTACTTTGTTGGCAACCGCATTGATCGTCCCCTATTTCA
+AACGCTCGTCGCGGGTGAAAGCGACGTTTGTGAATCCGTAATAACCTTACAGTTAACCTGTTGTCGCCTG
+CTCTGGATTAACGGATAATAGGCGGCTTTTTTATTTCAGGCCGAAAAATGACTGACTACCTGTTACTGTT
+TGTCGGAACTGTACTGGTCAATAACTTTGTACTGGTCAAGTTTCTCGGTCTCTGTCCGTTTATGGGGGTT
+TCCAAAAAGCTGGAAACCGCGATGGGCATGGGGCTGGCAACAACGTTTGTAATGACGCTGGCGTCTATTT
+GCGCCTGGCTTATCGATACGTGGATTTTGATCCCACTTAATCTGATTTACCTGCGCACCCTGGCGTTTAT
+TCTGGTGATTGCTGTGGTTGTGCAGTTCACTGAAATGGTGGTGCGCAAAACCAGCCCGGTACTTTACCGT
+CTGCTGGGGATTTTTTTGCCGCTTATCACCACCAACTGTGCCGTGCTCGGCGTGGCGTTGCTGAATATCA
+ATCTCGGGCACAATTTCTTGCAGTCAGCGCTGTACGGTTTTTCCGCCGCTGTCGGTTTCTCGCTGGTGAT
+GGTGCTCTTCGCCGCCATCCGCGAACGCCTTGCTGTGGCTGATGTCCCGGCACCTTTTCGCGGTAATGCC
+ATTGCGTTAATTACCGCAGGTCTTATGTCTCTGGCCTTTATGGGCTTTAGTGGTTTGGTGAAGTTGTAAT
+GAATGCTATCTGGATTGCCGTTGCCGCCGTGAGCCTGCTGGGCCTGGCGTTTGGCGCCATTCTGGGTTAT
+GCCTCCCGCCGTTTTGCGGTGGAAGACGATCCGGTCGTTGAGAAAATTGACGAAATCTTACCGCAGAGCC
+AGTGTGGTCAGTGCGGTTATCCCGGCTGTCGCCCCTACGCGGAAACCATCAGCTGTAACGGTGAAAAAAT
+CAACCGTTGCGCCCCAGGTGGCGAAGCTGTGATGCTAAAAATTGCCGAGTTGCTTAATGTCGAGCCGCAG
+CCGCTGGATGGCGAAGCGCAAGAGCTAACGCCAGCGCGGATGGTGGCGGTTATTGATGAAAATAACTGTA
+TTGGCTGCACTAAATGTATTCAGGCGTGTCCGGTAGACGCCATCGTTGGCGCTACCCGCGCCATGCATAC
+GGTAATGAGTGATCTCTGTACGGGCTGCAATTTATGTGTTGATCCGTGTCCGACACACTGCATCTCGTTG
+CAACCGGTCGCAGAAACTCCTGACTCCTGGAAATGGGATCTGAACACCATTCCCGTGCGTATCATTCCCG
+TGGAACACCATGCTTAAGTTATTCTCTGCATTCAGAAAAAATAAAATCTGGGATTTCAACGGCGGCATCC
+ATCCACCGGAGATGAAAACCCAGTCCAACGGTACGCCCCTGCGCCAGGTACCACTGGCGCAGCGTTTTGT
+CATTCCACTGAAACAACATATTGGCGCTGAAGGTGAGTTGTGCGTTAGCGTCGGCGATAACGTATTGCGC
+GGCCAGCCGCTTACCCGTGGTCGCGGCAAAATGCTGCCGGTTCACGCGCCCACCTCGGGTACCGTTACGG
+CTATTGCGCCCCACTCTACGGCTCATCCTTCAGCTTTAGCTGAATTAAGTGTGATTATTGATGCCGATGG
+CGAAGACTGCTGGATCCCGCGCGACGGCTGGGCCGATTATCGCTCTCGCAGTCGCGAAGAGTTAATCGAG
+CGCATTCATCAGTTTGGTGTTGCCGGGCTGGGTGGTGCGGGATTTCCGACAGGCGTTAAATTGCAGGGCG
+GTGGAGATAAGATTGAAACGTTGATTATCAACGCTGCTGAGTGCGAGCCGTACATTACCGCCGATGACCG
+TTTGATGCAGGATTGTGCGGCTCAGGTCGTAGAGGGTATCCGCATCCTTGCGCATATTCTGCAGCCACGC
+GAAATTCTTATCGGTATTGAAGATAACAAACCGCAGGCGATTTCCATGCTGCGCGCGGTTCTGGCAGACT
+CTCACGATATTTCTCTGCGGGTGATTCCCACCAAATATCCTTCTGGCGGTGCTAAACAATTAACCTACAT
+TCTGACCGGGAAGCAGGTTCCACATGGCGGGCGTTCATCCGATATCGGCGTATTAATGCAAAACGTCGGC
+ACCGCTTATGCAGTGAAACGTGCCGTTATTGATGGCGAGCCGATTACCGAGCGTGTCGTGACCCTGACTG
+GCGAAGCAATCGCTCGCCCGGGCAACGTCTGGGCACGGCTGGGTACGCCAGTGCGTCATTTATTGAATGA
+CGCCGGATTCTGCCCCTCTGCCGACCAAATGGTGATTATGGGCGGCCCGCTAATGGGCTTTACCTTGCCG
+TGGCTGGATGTCCCGGTCGTAAAGATTACCAACTGTCTGTTGGCTCCCTCTGCCAATGAACTTGGCGAAC
+CACAGGAAGAACAAAGTTGCATCCGTTGTAGCGCCTGTGCTGACGCCTGCCCTGCGGATCTTTTGCCGCA
+ACAGCTGTACTGGTTCAGCAAAGGTCAGCAACACGATAAAGCCACCACGCATAACATTGCCGACTGCATT
+GAATGTGGAGCTTGCGCGTGGGTTTGCCCGAGCAATATCCCCCTGGTGCAATATTTCCGTCAGGAAAAAG
+CTGAAATTGCGGCTATTCGTCAGGAAGAAAAGCGCGCCGCAGAAGCCAAAGCGCGTTTCGAAGCGCGCCA
+GGCTCGTCTGGAGCGCGAAAAAGCGGCTCGCCTTGAACGACATAAGAGCGCAGCCGTTCAACCTGCAGCC
+AAAGATAAAGATGCGATTGCTGCCGCTCTGGCGCGGGTGAAAGAGAAACAGGCCCAGGCTACACAGCCTA
+TTGTGATTAAAGCGGGCGAACGCCCGGATAACAGTGCAATTATTGCAGCACGGGAAGCCCGTAAAGCGCA
+AGCCAGAGCGAAACAGGCAGAACTGCAGCAAACTAACGACGCTGCAACCGTTGCTGATCCACGTAAAACT
+GCAGTTGAAGCGGCTATTGCCCGCGCCAAAGCACGCAAGCTGGAACAGCAACAAGCCAATGCGGAGCCAG
+AACAACAGGTCGATCCGCGCAAAGCCGCCGTCGAAGCCGCTATCGCCCGCGCCAAAGCACGCAAGCTGGA
+ACAGCAACAGGCCAATGCGGAGCCAGAAGAACAGGTCGATCCGCGCAAAGCCGCCGTCGAAGCCGCTATC
+GCCCGCGCCAAAGCACGCAAGCTGGAACAGCAACAGGCTAATGCGGAGCCAGAAGAACAGATTGATCCGC
+GCAAAGCTGCCGTCGAAGCGGCTATTGCACGCGCCAAAGCGCGCAAGCTGGAACAGCAACAACAGGCTAA
+TGCGGAACCAGAAGAACAGGTCGATCCGCGCAAAGCTGCCGTCGAAGCGGCTATTGCACGCGCCAAAGCG
+CGCAAGCTGGAACAGCAACAACAGGCTAATGCGGAACCAGAAGAACAGGTTGATCCACGCAAAGCCGCCG
+TCGAAGCGGCTATTGCCCGTGCCAAAGCACGCAAGCTGGAACAGCAACAGGCTAATGCAGAGCCAGAAGA
+ACAGATTGATCCGCGCAAAGCGGCAGTTGCTGCGGCTATTGCCCGCGCTCAGGCCAAAAAAGCCGCCCAG
+CAAAAGGTTGTAAACGAGGACTAAATGGTATTCAGAATAGCTAGCTCCCCTTATACCCATAACCAGCGCC
+AGACATCGCGCATTATGCTGTTGGTATTGCTCGCAGCCGTGCCAGGAATCGCAGCGCAACTGTGGTTTTT
+TGGTTGGGGTACTCTCGTTCAGATCCTGTTGGCGTCGGTCAGTGCTCTTCTGGCCGAAGCTCTCGTCCTC
+AAACTACGCAAGCAGTCGGTAGCTGCAACGTTGAAAGATAACTCAGCATTGCTGACAGGCTTATTGCTGG
+CGGTAAGTATTCCCCCCCTCGCGCCATGGTGGATGGTCGTGCTGGGTACGGTGTTTGCGGTGATCATCGC
+TAAACAGTTGTATGGCGGTCTGGGGCAAAACCCGTTTAATCCGGCAATGATTGGTTATGTGGTCTTACTG
+ATCTCCTTCCCGGTGCAGATGACCAGTTGGTTACCGCCACATGAAATTGCGGTCAACATCCCTGGTTTTA
+TCGACGCCATACAGGTTATTTTCAGTGGTCATACCGCCAGTGGTGGTGATATGAACACGCTACGCTTAGG
+TATTGATGGCATTAGTCAGGCGACACCGCTGGATACATTTAAAACCTCTGTCCGTGCCGGTCATTCGGTT
+GAAGAGATTATGCAATATCCGATCTACAGCGGTATTCTGGCGGGCGCTGGTTGGCAATGGGTAAATCTCG
+CCTGGCTGGCTGGCGGCGTGTGGTTGCTATGGCAGAAAGCGATTCGCTGGCATATTCCCCTCAGCTTCTT
+AGTAACGCTGGCGTTATGCGCAACGTTGGGCTGGTTGTTCTCACCAGATACTCTGGCAGCACCACAAATT
+CATCTGCTGTCTGGTGCGACCATGCTCGGCGCATTCTTTATTTTGACTGACCCGGTTACCGCTTCTACGA
+CCAATCGTGGTCGTCTTATTTTCGGCGCGCTGGCGGGCTTATTAGTCTGGATGATCCGCAGTTTCGGCGG
+CTATCCTGACGGCGTTGCTTTTGCCGTCCTGCTGGCGAACATCACGGTTCCTCTGATCGATTACTACACG
+CGTCCGCGCGTCTACGGCCATCGCAAAGGGTAAACCATGCTGAAAACTATCCGAAAACACGGCATTACGT
+TGGCGCTCTTTGCAGCGGGTTCAACAGGGTTAACTGCGGCCATCAACCAGATGACCAAAACGACAATTGC
+TGAACAGGCCAGTCTGCAACAAAAGGCGTTATTTGATCAGGTGCTGCCAGCTGAACGCTATAACAATGCG
+CTGGCACAGAGTTGCTATCTGGTAACTGCGCCAGAGTTAGGTAAAGGTGAGCATCGGGTTTACATCGCCA
+AACAGGATGACAAACCGGTAGCTGCCGTTCTGGAAGCAACCGCGCCAGATGGCTATTCCGGTGCGATTCA
+GCTGCTGGTGGGAGCCGATTTTAACGGCACGGTACTTGGCACGCGCGTGACTGAGCACCACGAAACGCCA
+GGGCTTGGCGATAAAATCGAACTGCGCCTTTCTGACTGGATCACCCATTTTGCGGGTAAAAAAATCAGTG
+GTGCGGATGATGCGAACTGGGCGGTGAAGAAAGATGGTGGTGATTTCGACCAGTTCACCGGCGCGACGAT
+TACTCCCCGCGCGGTGGTTAATGCGGTAAAACGCGCCGGATTGTACGCTCAGACGTTACCGGCACAACTT
+TCTCAACTTCCTGCCTGTGGAGAATAAAACGTGAGCGAAATTAAAGACGTTATTGTTCAGGGGTTGTGGA
+AAAACAACTCTGCGCTGGTCCAGTTGCTCGGCCTTTGTCCGCTGTTGGCGGTCACGTCCACTGCCACTAA
+CGCTCTGGGTTTAGGACTTGCGACTACGCTGGTACTGACGCTAACCAACCTGACCATTTCGACGCTGCGT
+CACTGGACGCCCTCCGAGATCCGCATTCCCATTTACGTGATGATCATCGCCTCGGTGGTCAGCGCTGTAC
+AGATGCTGATCAACGCCTACGCCTTTGGCCTGTATCAATCATTAGGGATTTTTATTCCGCTGATTGTCAC
+TAACTGTATCGTTGTGGGCCGCGCTGAAGCCTTCGCCGCCAAAAAAGGTCCGGCGCTTTCGGCACTGGAC
+GGCTTTTCAATTGGTATGGGCGCAACCTGCGCCATGTTCGTGCTGGGTTCACTACGCGAAATTATCGGCA
+ATGGCACGTTGTTTGACGGTGCAGATGCGCTGTTAGGTAGCTGGGCAAAAGTATTACGCGTGGAGATTTT
+CCACACCGACTCCCCTTTCCTGCTGGCGATGCTGCCACCAGGTGCATTTATTGGCCTGGGACTGATGCTG
+GCAGGAAAATACCTGATTGATGAAAAAATGAAAAAGCGCCGTACTGAAGCAGCTGCCGAACGTGCATTGC
+CAAACGGTGAAACAGGGAATGTCTGATGAACAAAGCAAAACGCCTGGAGATCCTCACTCGCCTGCGTGAG
+AACAATCCTCATCCCACCACCGAGCTTAATTTCAGTTCGCCTTTTGAATTGCTGATTGCCGTACTGCTTT
+CCGCTCAGGCGACCGATGTCAGTGTTAATAAGGCGACGGCGAAACTCTACCCGGTGGCTAATACGCCTGC
+AGCGATGCTTGAACTGGGCGTTGAAGGGGTGAAAACCTATATCAAAACGATTGGCCTTTATAACAGCAAA
+GCAGAAAATATCATCAAAACCTGCCGTATATTACTGGAACAACATAATGGCGAGGTTCCGGAAGATCGTG
+CTGCGCTTGAAGCCCTGCCTGGTGTAGGTCGTAAAACAGCCAACGTCGTATTAAACACTGCATTCGGCTG
+GCCGACTATTGCTGTCGACACGCACATTTTCCGCGTTTGTAATCGTACACAATTTGCGCCGGGGAAAAAC
+GTCGAACAGGTAGAAGAAAAGCTACTGAAAGTGGTTCCGGCAGAGTTTAAAGTCGACTGCCACCATTGGT
+TGATCCTGCACGGGCGTTATACCTGCATTGCCCGCAAGCCTCGCTGTGGCTCTTGTATTATTGAAGATCT
+TTGTGAATACAAAGAGAAAGTTGACATCTAAAGATCAGGGGTAACACCGATTACCCTATTCATAACCTTT
+CTTTATCCTCTTTTAAAACATCTTTTTAACGTCAATGATGCCATTGCTTAGCGTTATCATCAGGTAATCC
+GTTTGCAGATAACCAAAAATGCAGGTTAATTGTTTTTTTAATAGCGAAATTTTCTATTCATTCGTGATCA
+AGATCACGATGCTGTGGCAATGTAAAACATTGCAATAATCAGGTTAAAATCATTTAAATTTACACACGCA
+ACAAATATTGACCTACAAAACATTACACTGGCTATTTTTCAGAAACTGGACTATCTCACTAGGAAAAACG
+CCAAATAGTAGAACATATCGCCATTAAGCCATCATCACCCTCTCAGGGTAGTGAAAAAATCTGCCGTTAC
+GTTTTTTGAAAAATTTAACGCTGGATAACATTTCCCGGAATGGTTGAATTCCCCGCCTCAGTTATATGTA
+ACAGATTATTACAAAGGACTTGTCTGAAAGTGCAAGATAGTGAACATTACCTGCCGTTTCCCCTCCCACT
+ATAACAATTGCGCGTATGTTTTTTAGGCATAACGCGAGAAAGCACCCCCGTTAATATGGGATGTAAAAAA
+AGAGGTAAAAGTGTCCACTGCAAACCAAAAACCAACTGAAAGCGTCAGTTTGAACGCTTTTAAACAACCG
+AAGGCGTTCTATCTCATCTTCTCGATTGAGTTATGGGAACGTTTTGGTTATTACGGCCTACAAGGAATTA
+TGGCTGTTTACCTGGTTAAACAACTGGGTATGTCTGAAGCGGATTCAATCACCCTTTTCTCTTCCTTTAG
+TGCCCTGGTTTATGGTCTGGTCGCTATCGGCGGCTGGTTAGGTGACAAGGTACTGGGTACTAAACGCGTA
+ATTATGCTCGGCGCTATTGTGCTGGCGATTGGTTATGCTCTGGTTGCCTGGTCTGGTCACGACGCCGGTA
+TCGTTTATATGGGTATGGCGGCTATTGCGGTCGGTAACGGCCTGTTTAAAGCTAACCCGTCTTCTCTGCT
+TTCTACATGCTATGAGAAAAACGACCCGCGTCTGGACGGTGCATTCACCATGTACTACATGTCCGTCAAC
+ATCGGCTCTTTCTTCTCTATGATTGCTACGCCGTGGCTGGCCGCGAAATACGGCTGGAGTGTTGCGTTTG
+CGTTGAGCGTTGTAGGCCTGCTGATCACTATCGTTAACTTCGCCTTCTGCCAACGTTGGGTTAAACAGTA
+CGGTTCAAAACCAGACTTCGAGCCTATCAACTACCGTAACCTGCTGCTGACCATTATTGGTGTTGTGGCA
+CTGATCGCTATCGCCACCTGGCTGCTGCACAATCAGGAAGTTGCGCGTATGGCGCTGGGCGTTGTTGCCT
+TCGGTATCGTGGTTATCTTCGGTAAAGAAGCCTTCGCGATGAAAGGTGCTGCGCGTCGTAAAATGATCGT
+TGCCTTCATCCTGATGCTCGAAGCCATTATCTTCTTCGTGCTTTATAGCCAGATGCCAACGTCACTGAAC
+TTCTTTGCGATTCGTAACGTTGAACACACCATTCTGGGCCTGGCCGTAGAACCTGAGCAGTATCAGGCAC
+TGAACCCGTTCTGGATCATCATTGGTAGCCCGATTCTGGCCGCTATCTATAACAAGATGGGCGATACCCT
+GCCAATGCCAACCAAGTTTGCTATCGGCATGGTGATGTGTTCTGGTGCGTTCCTGATTCTGCCGCTGGGT
+GCGAAATTCGCGTCTGACGCTGGTATCGTGTCTGTAAGCTGGCTGGTCGCGAGCTATGGCCTGCAGAGTA
+TCGGGGAACTGATGATCTCTGGCCTGGGTCTGGCAATGGTTGCACAACTCGTTCCGCAGCGTCTGATGGG
+CTTCATTATGGGTAGCTGGTTCCTGACCACTGCCGGTGCAAACCTGATTGGTGGTTATGTTGCAGGTATG
+ATGGCTGTGCCGGATAACGTTACCGATCCGCTGATGTCACTGGAAGTCTATGGTCGCGTATTCTTGCAGA
+TTGGTGTCGCTACTGCCGTTATTGCAGTACTGATGCTGTTTACCGCGCCGAAACTGCACCGCATGACGCA
+GGATGACGCTGCAGACAAAGCGGCGAAAGCAGCCGTAGCGTAAAATTCAGGGAAACTCTTTTACAAGCCG
+CTAACTTTTCGTTAGCGGCTTTTTTTTTGTTCAGCAACGCACTACCATACTTTAAACCACAGACAAAAGG
+AGTTACCGATGAAATTGTTCTACAAACCGGGCGCCTGCTCTCTCGCTTCCCATATCACCCTGCGTGAGAG
+CGGAAAGGATTTTACGCTCGTCAGTGTGGATTTAATGAAAAAACGTCTCGAAAACGGTGACGATTACTTT
+GCCGTTAACCCTAAGGGACAGGTACCTGCATTGCTGCTGGACGATGGTACTTTGCTGACGGAAGGCGTAG
+CGATTATGCAGTATCTTGCCGACAGCGTCCCCGACCGCCAGTTGCTGGCACCGGTAAACAGTATTTCCCG
+CTATAAAACCATCGAATGGCTGAATTACATCGCCACCGAGCTGCATAAAGGTTTCACACCTCTGTTTCGC
+CCTGATACACCGGAAGAGTACAAATCGACAGTTCGCGCGCAGCTGGAGAAGAAGCTGCAATATGTGAACG
+AGGCACTGAAGGATGAGCACTGGATCTGCGGGCAACGATTTACAATTGCTGATGCCTATCTGTTTACGGT
+TCTGCGCTGGGCATACGCGGTGAAACTGAATCTGGAAGGGTTAGAGCACATTGCGGCATTTATGCAACGT
+ATGGCTGAACGTCCGGAAGTACAAGACGCGCTGTCAGCGGAAGGCTTAAAGTAATAGCCATCGGCCCACA
+GGTCGTTGTGGGCCGAAATGAGATATTTCAGAGCTTTGTTGCGCTGAAATAATGTTCTGGATTGGCAATA
+CGATCCTGAGCAGCAACCACTTGCAGCTCATATTCCTGCATTGCTTTTGTGGTCACCATGATTTCGTATA
+CTGCAGCGGTCACATGTTCCAGGGCCTCCTGCAGCGTTGCCCCCTGAAGCAGTTTCACCAGCAGTAAGCC
+GCTCGTCACATCACCAACACCTACCGGCTGGCGCATACCAAAATCCACCAGCGGACGGCTGATATGCCAG
+GCTTCATCGGCGGTGACTAGCAGCATTTCAAAACGGTCACGGCTGTAGCCAGCTCGCGCCAGGTGTTTAA
+CCAACACAATTTGTGGCCCTTGCGCAATGAGTTCGCGCGCTGCCAGAACCGCTTCTTCGACGTTATTTAC
+CGGATGCTCACAGAGTATTTCCAGCTCAACCAGATTCGGCGCAATGATATCGCTGGCAGGCAAACCGTGC
+CGCACATGAAACTCTGCGACACCCGGTGCAACGATACAGCCTTTTTCCGGATGACCCATTACCGGATCGC
+AAAAATATTTCGCCTGTGGATTCGCTGCTTTCACCTGACGAACGATACCGAGGATATGTTCACCCTGCTC
+CGCCGATCCCAGATAGCCACTTAATACGGCATCACAGGTGTGTAATTTATCAATGGCGGCAATGCCTTGC
+ACAATTTCGGTTAAATGGCTGGGCGGCATCACGCAACCGGTCCATTTGCCGTATTGGGTGTGATTAGAAA
+ATTGAACGGTGTTCAGCGGCCAGACGTTCGCGCCCAGGCGGCGCATCGGAAACTCTGCCGCACTGTTACC
+CGCATGACCATAAACAACGTGAGACTGGATAGCGAGAATATTTTTCATCATGTTCCCTGTATAAAAACCA
+GGGGGAGTGATTTCTCACTCCCCCTTTCCACTTAATGCATTATTTCCAGCAAATCAGACAGTAATTCTTT
+TTGCCGCGACGCAGTAAGGTAAAACGACCAAACAGACGATCTTCTTCTTTAAAGAAGTATTCAGGATCGG
+ACTGTTTTTCACCGTTAATAGTGATGGCATTGGAGGCGATAGTTTTACGCGCCTGACCACGGGAAGGTTG
+CAGTTCAGAATCGACCAGCGCCTGCATCAGGTCTGCGCCCTTTTCCATCTCAACCATCGGTACGCCGTCC
+TGCGCCAGCTGTTCGAAGTCCGCTTCACTCAGCGCACTCAAGGAACCGCTGAACAGGCATTCGGTAATAC
+GTTTTGCCGCCTGCAAACCTTCTTCACCATGCACCAGACGTGTCACCTGTTCTGCAAGCACATACTGGGC
+GCGCGGTGCTTTACCGCTGTTTTTATCTTCTTCTTCCAGGGCGTTGATCTCTTCAATGCTCATGAAGGTG
+AAGAACTTCAGGAAGCGGTAAACGTCGGCATCCGCAGTGTTGATCCAGAACTGTTAGAATTTGTACGGCC
+TGGTTTTCTTCGGATCCAACCAGACTGCGCCGCCTTCAGTTTTACCAAATTTGGTGCCGTCTGCTTTGGT
+GATCAGCGGAACGGTCAAGCCAAACACCTGATTCTGATGCAGACGACGGGTCAGGTCGATACCAGAAGTG
+ATGTTACCCCACTGGTCAGAACCACCGATTTGCAGCACCACACCGTACTGTTTGTTCAGACAGGCGAAGT
+CATAACCCTGCAACAGGTTGTAGGAAAACTCAGTGAACGAAATCCCCTGATCTTCACGGTTGAGACGCTG
+CTTAACCGCTTCTTTGTTGATCATCTGGTTAACGGAGAAGTGTTTGCCAATATCGCGCAGGAAGGTCAGC
+ACATTCATATTGCCGAACCAGTCATAGTTGTTCGCCGCGATAGCAGAGTTTTCTCCACAGTCGAAATCGA
+GGAACGGGGCAACCTGCTTGCGGATTTTGTCCACCCACTCCTGAACAGTTTCTTCAGTGTTCAGCTTACG
+CTCGGCAGCTTTGAAGCTCGGGTCGCCAATCAGACCCGTCGCGCCGCCTACCAGCGCAACCGGCTTGTGG
+CCCGCCTGCTGGAAGCGTTTCAGGCATAACAATGGAACAAGATGCCCCAAATGCAAGCTGTCAGCGGTAG
+GATCGAAGCCGCAATAGAGCGCGATCGGGCCTTGCGCCAGTCGCTCTGCTAACGCTTCCTCGTCCGTCAC
+CTGGGCTACCAGCCCCCGCTCTTGCAATTGTTTAATCAAGTTACTGCTTGCCATCAAAATCTCCATGTAT
+ATAACGACTGCACCTTTGCCGGTACACGACTTTTCGCCAGATGCGAAAGAGACATAGAATAAAGTGCCAG
+AATCAGGAGTACCAGCGATTAAAGCAAGATTTTTGCATCTTTTCAGGGTGCAAGACGATCAATCTTCCAC
+GCATCATTTTCACGCTGGTACAAAAAGCGGTCATGCAGGCGATGCTCACCGCCCTGCCAGAACTCAATCT
+GTTCAAGGCTGACGCGAAAACCGCCCCAAAAACTTGGCAATGGCACTTCGCCCTGTTGAAACTTCTGCTT
+CAGCTCCAGGAATTTACTTTCAAGGATACCGCGGGCAGAAATGCGACTGGACTGCTTCGAAACCCATGCC
+CCAATCTGGCTATCACGCGGGCGGCTATGAAAATATTTCATCACTTCGAGAGTCGAAAGTCGTTCCGCTT
+TACCGATCACCATCACCTGGCGTTCAAGGGTATGCCACGGGAACAGCAGGCTAACGCGCGGATTATTTTC
+GATTTGATGTGCTTTACGGCTGCCGAGGTTGGTGTAAAACACCATGCCTTTTTCGTCGTAATGTTTGAGT
+AAAACGATGCGCTGATAAGGCTGATCATGTTCATCCACGGTAGCGACCACCATCGCGGTAGGGTCAGCCA
+GTTTGGCTTCACAAGCCTGAGAGAGCCAACGTTCAAAAAGGGTTAATGGATCGGCGGGTAGATCGCGGCG
+GCGTAACCCGCCTTTGGTGTATTCACGGCGCAGATGCGCGATTTGCTGCAATTCGTCGTTATCAGACATG
+GTTTTCTTTACGGATTGTCAGTGGGTGACGCTATTGTGCGCCGCCCCTGGAAAAATCTCAACGCTGCGGA
+TTTTGTAACTGACAGTTACTCAAGACGATGCGATCGCGTTTATAGACAGTCGCTTCCTCGCCTTTCGACC
+AGAAAACATAGATTCCGTCGGTGTAACGTGCACCAGATGCTGAAATGCCCTGTTTGAGATGCAGCAGTTG
+ATTATCGTAAACAAAACTGACTTCCTGGCGCGGATTATTCAGTTTGACCGTCAACGGTTTTTCATCACAC
+TGGTATTCAAGCGTATCGGTTTGCATGCGCTCAACCAGTTGATTGAACGAGCTACAGCCGGTGAGAAGCA
+CCGGCAAACAGATCAGTAACAGTTTTTTCATAGACATATCCCGAAGACTTTCCTGGTCTGGAGGGCAATA
+CGCCCTCCCTAACGTTCCAAGTGTAACGGCAGACGCGGTAAGAAAAATTCAGTTAACTCTGATATCACGG
+GTTAGCGGGGAAAATAGCCCCCAGTACCGTCTCCTGGCTTGCGCCAGTGACGGAAGGCAGATTTCCTGGT
+AATCCCGCCAGCGTTCGCCAGGCAAGCCAGGCGAACGCCAATGCTTCCATGTCATCGCCACTAATGCCAA
+CGGCATCGGTGGTGGTGACTTCTGTGCCTGGCAGTAATGCCGCCAGACGCGCCATGAGTAGCGGATTACG
+ACTACCTCCACCACATACCATCAATCGTTCGCAGCCACCGCTCAACAAAACTTGTTCAGAAATGGTCACG
+GCGGTGAGTTCTGCCAGTGTGGCCTGCACATCACGGGGATCACCCCCCGGAAAATGGCGCAAATGGCGTT
+CCAGCCAGCCGTAGTTAAAGTATTCGCGTCCGGTGCTTTTCGGTGCGGGTTGCGAGAAATATGGGTCGCA
+GAGCATATTTTGCAGCAGTGGGAGAATAACTTTACCCGCCCGTGCCCACTCGGCATCTTTATCGTAAGGT
+TTACCGGCCTGACGCCAGATCCAGGCATCCATCAGCATGTTACCAGGACCGGTATCGTAGCCCCCAACCG
+GCTGGCCAGTAATGAGCAGTGACAGATTGGCGATGCCGCCAATATTGAGCACCATTCGTCGCTCGGTTGG
+GTGAGCCAGCAGCGCATGATGGAACGCAGGTACCAGCGGTGCACCTTGTCCTCCCAAGGCAATATCGCGA
+CGGCGAAAATCACCGACAACCGTAATTCCGGTGCGCGCCACAATTTGATTGTTATCGCCAATCTGTAAAG
+TGTGTGGTGCCACGCCCGTCGGTTCGTGCCAGACGGTTTGACCGTGGCAGCCGATCGCAACTATATCTCT
+CGCCTGCAGGTTTTGTTCCTTAAGCAAGGCATTGACCGCATCAGCAAAAAGTCGCCCAAGTTGAGTATCA
+AGCTGTCCAAACTGCGAAAGTGTAAGCTGCTGGCCCTGGCAAATATCCAGTACAGCCTGTTTCAGAGACA
+CCGGGATCGGCCAGCTCAAACTTGCCAGCTGTGCGACCCGGTGTTCATCAATTGTCGCCAACACAACATC
+AACACCATCAAGGCTGGTGCCTGACATAACGCCAATAAAGCGGCCCGATTTCATAGTTCATCCTTTTTCA
+ATCTGACGTTTGCGCACCACTCAAACATAAACTTTTCGTGAATACCATGCGGAATGACCAATTTTTACCG
+TTGGTAGTAAAACATTATCTTCAAATCAATAATCATCATGAATATTTTGTTTATAATTGGTTGATCCTAC
+TTTCATTATGATTTGCTCATATTTGGTAGAACATGTAACCATGGATTCACATATGCCATATACTTTGACC
+ATGAGGGATGCTTGCGTGGCGTTTCATGGTGAACAGGAGATTTTTCAATGATTAAACGCGTATTGGTTGT
+TTCAATGGTAGGTCTGTCTCTTGTCGGTTGTGTTAATAACGACACCCTGTCAGGGGATGTTTATACCGCT
+TCTGAAGCGAAACAAGTACAGAATGTCAGCTATGGCACCATCGTTAATGTACGTCAGGTACAGATTCAGG
+GCGGTGATGATTCCAACGTTATCGGCGCAATTGGTGGTGCTGTACTTGGTGGTTTCCTGGGAAATACTAT
+TGGCGGCGGAACCGGGCGTTCTCTGGCTACTGCAGCAGGGGCTGTTGCAGGTGGTGTAGCCGGTCAGGGC
+GTACAGAGTGCAATGAACAAAACGCAGGGTGTCGAGCTGGAAATTCGTAAAGATGATGGCAACACCATCA
+TGGTGGTACAGAAACAAGGGAACACTCATTTCTCTCCAGGCCAACGTGTCGTACTGGCCAGCAATGGCAG
+TCAGGTGACCGTTTCCCCGCGCTAAATAAGTTTGCGTGTGGTCAGGTTACTGACCACACGCCCCCTTCAT
+TTCACCCTTTGGCCTGTAACTCAATGATATTATGCTCAAGTTTTGCGATGAGCTTAATCAGTTGTTCCAG
+TTCCTCTGCGGAGATGCCATGTAAAATTTCCGCGCGGGTTTTGTTAATAACGGCTTCCATTTCGCTGATC
+AGCGGCTCTGCCTTTTCCGTCAGTTTAATACGTTTAGCCCGACGATCGCTGGCACAAGTTTGACGCGAAA
+TTAACCCTTTTTCTTCCAGTTGGTCCAGCGTACGGACCAGTGATGGCTGCTCGATGCCAATCGCTTTTGC
+CAGTTGAATTTGCGACTGGTCTGGAGGTAACTGATGGATATTGTGTAACGTAACCCAATGGGTTTGTGTT
+AACTCCAGCGGTTTCAGGCGATGGTCTATCAGAGCACGCCATATGCGCACCAACCGTGCCAGATCAGAAC
+CTAGTGGCGATTCCAATTTCATCTCCTTATAATTAGCTTGCTAAGATATTATGCGGCTTTTAGAATAGTG
+TGCAGCAATTGTATTGCTAAAACAAATGTATTGCTGCATTTGGTTACCGTCAGACATATTTTTCAGAAAT
+TGCGCGTAAATTTTCGCACTTAAAGAATATTTATTAATCTAACGCAATATATTCTGTCGTAAAGGAATCT
+ACTTTGTGAAGTTTATGCTCAATGCAACAGGATTGCCCTTACAAGATCTGGTGTTCGGTGCGTCCGTCTA
+CTTTCCTCCGTTTTTCAAAGCCTTCGCGTTTGGATTCGTCATCTGGCTTGTCATACACCGCCTGCTTCGA
+GGCTGGATCTACGCCGGTGACATCTGGCATCCCTTGTTAATGGATTTATCGCTGTTTGCGATTTGCGTTT
+GCCTTGCTCTGGCAATACTGATTGCGTGGTAACTATGTCAATTAAAACAATTAAGTATTTCTCAACAATC
+ATTGTAGCGGTAGTTGCGGTTCTTGCCGGATGGTGGCTGTGGAATTATTACATGCAATCTCCGTGGACAC
+GCGACGGGAAAATACGCGCAGAACAGGTTTCTATCACCCCACAGGTGTCGGGACGTATTGTTGAGCTGAA
+TATAAAAGACAACCAGCTGGTTAACGCGAGGGATCTTCTGCTCACGATCGATAAAACGCCCTTTCAGATC
+GCCGAGCTGAACGCACAGGCTCAGCTGGCGAAAGCGCAATCTGACCTCGCAAAAGCCAATAACGAAGCGA
+ATCGTCGTCGTCATCTCTCACAAAATTTTATTTCTGCCGAAGAACTCGATACCGCTAACCTCAATGTTAA
+AGCGATGCAGGCCAGCGTTGATGCCGCACAGGCGACGCTGAAACAGGCACAATGGCAACTGGCGCAAACG
+GAAATTCGCGCCCCGGTGAGTGGATGGGTGACTAATCTCACTACCCGCATCGGCGACTACGCTGACACCG
+GGAAACCGCTGTTTGCCCTTGTTGACAGCCACTCGTTTTACGTCATTGGTTATTTTGAAGAAACCAAGTT
+GCGCCATATCCGCGAAGGTGCACCAGCACAAATTACCCTCTATAGTGATAACAAAACGTTACAGGGTCAC
+GTGTCCAGTATCGGTCGGGCGATTTATGATCAGAGCGTTGAAAGTGACTCAAGCCTTATTCCGGATGTGA
+AACCTAACGTCCCCTGGGTTCGCCTCGCCCAACGCATTCCCGTCCGCTTTACGCTGGATAAAGTCCCAGG
+CGATGTCACGCTGGTGTCGGGCACCACCTGTAGCATTGCCGTAGGTCAATAATGAACGCATCGTCATGGT
+CCTTGCGCAATTTGCCCTGGTTCAGGGCCACGCTGGCGCAATGGCGTTATGCGTTACGCAATACCATTGC
+CATGTGTCTGGCGCTGACGGTTGCCTATTATTTGAATCTTGATGAGCCCTATTGGGCGATGACCTCGGCT
+GCGGTGGTTAGCTTTCCCACCGTTGGCGGTGTCATCAGCAAAAGCCTCGGACGCATCGCTGGCAGTTTGC
+TCGGAGCCATTGCGGCACTGCTTCTTGCCGGACATACGCTCAATGAGCCGTGGTTTTTTCTATTGAGCAT
+GTCGGCGTGGCTTGGCTTTTGTACCTGGGCCTGTGCGCACTTCACGAATAACGTCGCGTATGCATTTCAA
+CTGGCGGGCTACACGGCTGCCATCATCGCCTTTCCGATGGTTAATATTACTGAGGCCAGCCAGCTGTGGG
+ATATCGCTCAGGCGCGTGTTTGCGAGGTGATAGTCGGTATTTTGTGCGGCGGCATGATGATGATGATCCT
+GCCGAGCAGTTCCGATGCTACAGCCCTTTTAACCGCATTGAAAAACATGCACGCCCGATTACTGGAACAT
+GCCAGTTTACTCTGGCGGCCTGAAACAACCGATGCCATTCGTGCAGCACATGAAGGGGTGATTGGGCAGA
+TACTGACCATGAATTTGCTGCGTATCCAGGCTTTCTGGAGCCACTATCGTTTTCGCCAGCAAAACGCGCG
+CCTTAATGCGCTACTCCACCAGCAATTACGTATGACCAGTGTCATCTCCAGCCTGCGACGTATGTTGCTC
+AACTGGCCCTCACCGCCAGATGCCACGCGAGAAATTCTCGAACAGCTGCTGACGGCGCTCGCCAGTTCGC
+AAACAGATGTTTACACCGTCGCACGTATTATTTCCCCGCTACGCCCGACCAACGTCGCCGACTACCGGCA
+CGTCGCCTTCTGGCAGCGACTACGTTATTTTTGCCGCCTTTATCTGCAAAGTAGTCAGGAATTACATCGT
+CTGCAAAGCGGTGTAGATGATCGTGCCAGACTCCCACGGACATCCGGCCTGGCTCGTCATACCGATAACG
+CCGAAGCTATGTGGAGCGGGCTGCGTACATTTTGTACGTTGATGATGATTGGCGCATGGAGTATTGCTTC
+GCAATGGGATGCCGGTGCCAATGCTTTAACGCTGGCAGCAATTAGCTGCGTACTCTACTCCGCCGTCGCG
+GCACCGTTTAAGTCGTTGTCACTGCTGATGCGCACGCTGGTGTTACTTTCGCTATTCAGCTTTGTGGTCA
+AATTTGGCCTGATGGTGCAGATTAGCGATCTGTGGCAATTTTTACTGTTTCTCTTTCCACTGCTGGCGAC
+AATGCAGCTTCTTAAATTGCAGATGCCCAAATTTGCCGCACTGTGGGGGCAACTGATTGTTTTTATGGGT
+TCGTTTATCGCTGTCACTAATCCCCCGGTGTATGATTTTGCTGATTTTCTTAACGATAATCTGGCAAAAA
+TTGTTGGCGTCGCGTTGGCGTGGTTAGCGTTCGCCATTCTGCGTCCAGGATCGGATGCTCGTAAAAGCCG
+CCGCCATATTCGCGCGCTGCGCCGGGATTTTGTCGATCAACTAAGCCGCCATCCAACACTGAGTGAAAGC
+GAATTTGAATCGCTCACTTATCATCACGTCAGTCAGTTGAGTAACAGCCAGGATGCGCTGGCTCGCCGTT
+GGTTATTACGCTGGGGTGTAGTGTTGCTGAACTGTTCTCATGTTGTCTGGCAATTGCGCGACTGGGAATC
+GCGTTCCGATCCGTTATCGCGAGTACGGGATAACTGTATTTCACTGTTGCGGGGAGTGATGAGTGAGCGT
+GGCGTTCAGCAAAAATCACTGGCGGCCACACTTGAAGAATTACAGCGAATTTGCGACAGCCTTGCCCGTC
+ATCATCAACCTGCCGCCCGAGAACTGGCGGCAATTGTCTGGCGGCTGTACTGCTCGCTTTCGCAACTTGA
+GCAAGCACCGCCGCAAGGTACGCTGGCTTCTTAATTACTTAATTACACCACAGGCATAGCGTTCACCGCC
+ACCGCCCAGCGGTTTGGGTTGATCGGACATATTATCGCCGCCAACGTGGACCATCAGCGCTTTGTCTTTG
+ACTTCATCCAGTGATTTCAGACGAGGCGCGATGACGGCATCGGTCGCCTTGCCGTCATTATTGACTACCA
+GTGCAGGCAGATCGCCTAAATGCCCGGCACCTTCTGGCCCTTCATGTTTACCGGTATTTTGTGGATCAAG
+ATGCCCGCCTGCGGATTCTGCGGCGCTGGCTTTGCCATCTTTGGTGGCTGGCTGGCAGCTTCCTTTGGCA
+TGAATATGGAAGCCATGTTCACCGGGAGGTAATGCTTTCAGATCGGGCGAAAACTCCAGACCTTTATCGG
+TTTCAGTAATGGTGACGCTACCAATTGACTGCCCAACTCCTTGCGACGTGACGAGGTTCATCTCGACTTT
+TTCACTGGCAGCTTGTGCGCCGGTCGCAACAACCAGCGCCAGAATGGCCAGACTAAAACGTTTCATAGGA
+CCTCCGTTCATTGTGCATTCCTGAATAAGTGTAAACCAGTGACACATTTTTGAACGGCGGTTATTCCTAA
+AAGTGCTTACGGTACGTCGTAACCTAGTGCCGCTTTACGGATACGAAACCATTGTTGACGGGTCATTTTC
+AGTGTTTCTGCTTCGACAGCTGCCCGTACGCGCTCAATTTTACCTGAGCCGATAATTGGCAGCGGCTGCG
+ACGGTAAACGTAATACCCAGGCGTAAACCACCTGTTCAATCGAGCCCGCGTTTAACTCCTCTGCCACCAC
+AGCCAGTTCATCACGCAGCGGCTGGAAATAATCATCATTAAACAGACGACCACCACCAAGGCAGGACCAC
+GCCATCGGACGAATACGCAGTTGTTGCAGTTGGTCGAGCGTGCCATCCAGCAGTAACGGCTGATGCACCG
+GGGATATTTCCACCTGATTAGTGGCAAGGGTAAATGGCAGGCGTGATTGCAACAGCGCAAATTGCGCAGG
+TGTAAAGTTTGATACACCAAAATGACGCACTTTGCCGCTCTGATGCAGATGTTTAAAGGCGTCCGCCACT
+TCATCGGCATCCATTAACGGGTCTGGTCGGTGGATTAACAGCAGATCCAGATGATCGGTCGCGAGATTAA
+TTAGCGACTGTTCGGCGCTCTTAATGATGTGATCGCGGTCAGTGATGTAATGGCCAATGACGTTTTCTTC
+ACGCGCGGTCGTCGCGATACCGCATTTACTGACGATTTCCATCCGTTCACGCAGGTGAGGTGCCAGTTTC
+AGCGCCTCGCCAAACGCCGCTTCGCACTGATAGCCACCATAAATATCAGCATGGTCCACGGTGGTCACGC
+CGAGATCCAGATGCACTTCAATAAAACTGACCAACTGGCGGGCGGACATGTTCCAGTCCATCAATCGCCA
+GTAGCCCATCACAAAACGGGAAAACTCCGGGCCTTGCGGCGCAATAGTAATACGCTGAACCATAATCGCT
+TCCTCTTATCAGATATGAGAGGAGTATACGCAAGATTAGGCTCAAAAGAGTGATGGTTGCTCCGGTTCGT
+CTGATGGCGCTGGCTTATTTACACGTAATTTGCGCATTAATCGCTGCCGACAAAGGCGCAACACTTCTTG
+TTTTTCGCCATCGCTCATCTTATTCCAGTTAAAACGCTCATCCCGGCTACGAAAACAGCCGCGACAAAAT
+CCCCGTTCGTCAGACTGGCAAATTCCCCGGCACGGGCTCTGGACGGGAAAGAACTCTAATTGCTCCGTCA
+CCTCGCCCTCCTCAGATAAGATTATTACCATTATTGAAGCTGTTAATGTCCAAAGTAGCAACTTTGCTTG
+CACTGGACCGACTGGTCTACTACACTCCAACGCATGAACAAACACACCGAACATGATACTCGCGAACATC
+TCCTGGCGACGGGCGAGCAACTTTGCCTGCAACGTGGATTCACCGGGATGGGGCTAAGCGAACTCCTAAA
+AACCGCTGAAGTGCCGAAAGGGTCCTTCTATCACTACTTTCGTTCTAAAGAAGCGTTTGGCGTTGCTATG
+CTTGAGCGCCATTACGCCGCATATCACCAGCGACTGACTGAGTTGCTGCAATCCGGCGAAGGTAACTACC
+GCGACCGCATACTGGCTTATTACCAGCAAACACTGAACCAGTTTTGCCAACATGGAACCATCAGTGGTTG
+CCTGACAGTAAAACTCTCTGCCGAAGTGTGCGATCTGTCAGAAGATATGCGCAGCGCAATGGATAAAGGG
+GCTCGCGGCGTGATCGCCCTGCTCTCTCAGGCGCTGGAAAATGGCCGTGAGAACCATTGTTTAACCTTTT
+GTGGCGAACCGCTGCAACAGGCACAAGTGCTTTACGCACTGTGGCTTGGCGCGAATCTGCAGGCCAAAAT
+TTCGCGCAGTTTCGAGCCACTGGAAAACGCGCTGGCCCATGTAAAAAACATTATTGCGACGCCTGCCGTT
+TAGCAGGCATTTTTTATCACCAGACGACCGGGAGCCTTTATGTCATCTGAAAAACTGTATTCCCCACTGA
+AAGTGGGCGCGATCACGGCGGCAAATCGTATTTTTATGGCACCGCTGACGCGTCTGCGCAGTATTGAACC
+GGGTGACATCCCTACCCCGTTGATGGCGGAATACTATCGCCAACGTGCCAGTGCCGGTTTGATTATTAGC
+GAAGCCACGCAAATTTCTGCCCAGGCAAAAGGATACGCAGGTGCACCTGGCATCCATAGCCAAGTACAAA
+TTGCCGCATGGAAAAAAATTACCGCTGGCGTTCATGCTGAAAATGGTCATATGGCCGTACAGCTGTGGCA
+CACCGGACGCATTTCTCACGCCAGCCTGCAACCTGGCGGTCAGGCACCGGTAGCGCCTTCAGCACTTAGC
+GCGGGAACACGTACTTCTCTGCGCGATGAAAATGGTCAGGCGATCCGTGTTGAAACATCCATGCCGCGTG
+CGCTTGAACTGGGAGAGATTCCGGGTATCGTCAATGATTTCCGTCAGGCCATTGCTAACGCGCGTGAAGC
+CGGTTTTGATCTGGTAGAGCTCCACTCTGCTCACGGTTATTTGCTGCATCAGTTCCTTTCCCCTTCTTCA
+AACCATCGTACCGATCAGTACGGTGGCAGCGTGGAAAATCGCGCGCGTCTGGTGCTGGAAGTGGTCGATG
+CCGGGATTGAAGAATGGGGTGCCGATCGCATTGGCATTCGCATTTCGCCAATCGGTACTTTCCAGAACAC
+GGATAACGGCCCGAATGAAGAAGCCGATGCACTGTATCTGATTGAACAACTGGGTAAACGCGGCATTGCT
+TATCTTCATATGTCAGAACCAGATTGGGCGGGAGGTGAACCATATACTGATGCGTTTCGCGAAAAAGTAC
+GCACCCGTTTCCACGGTCCGATTATCGGCGCGGGTGCATACACAGTAGAAAAAGCTGAAACGCTGATCGG
+CAAAGGGTTAATTGATGCGGTAGCATTTGGTCGTGACTGGATTGCGAACCCGGATCTGGTCGCCCGCTTG
+CAGCGCAAAGCTGAGCTTAACCCACAGCGTGCCGAAAGTTTTTATGGTGGCGGTGCTGAAGGTTACACTG
+ATTACCCGACGCTGTAATCCAACATTGCGAGCGGCGCAAAGCCGCCGCTATACTAAAACAACTTTTTGAA
+TCTGTTAGCCATTTTGAGGATATAAAGATGCGTCTTCTTCATACCATGCTGCGCGTTGGCGATCTGCAAC
+GCTCCATCGATTTTTATACCAACGTGCTGGGCATGAAACTGCTGCGTACCAGCGAAAACCCGGAATACAA
+ATACTCACTGGCGTTTGTTGGTTACGGCCCGGAAACCGAAGAAGCAGTGATTGAACTGACCTACAACTGG
+GGCGTGGATAAATACGAACTCGGCACTGCTTATGGTCACATCGCGCTTAGCGTAGATAACGCCGCTGAAG
+CGTGCGAAAAAATCCGTCAAAACGGGGGTAACGTAACCCGTGAAGCGGGTCCGGTAAAAGGCGGTACTAC
+GGTTATCGCATTTGTGGAAGATCCGGACGGTTACAAAATTGAATTAATCGAAGAGAAAGACGCCGGTCGC
+GGTCTGGGCAACTAATCTCCTGCCGGGCGTGAACTCATCGCGCCCGCATCTTTACTGCATCGACAAGTAA
+TATTTGTCATAATGCGCGCTGCAATTTATCCGTATTAAGAGAATCAGATGTCCGATAACGCTCAACTTAC
+CGGTCTGTGCGACCGTTTTCGTGGTTTTTATCCTGTTGTGATCGATGTTGAAACAGCCGGATTTAACGCC
+AAAACCGATGCGCTGCTTGAGATTGCCGCCATCACCCTGAAAATGGATGAACAAGGCTGGCTGATGCCGG
+ACACCACATTACATTTCCACGTCGAACCATTTGTCGGCGCAAATTTGCAACCAGAGGCCCTTGCCTTCAA
+TGGCATTGATCCGAACGATCCCGATCGCGGCGCGGTCAGCGAGTACGAGGCGCTGCACGAAATTTTTAAA
+GTTGTACGTAAAGGTATTAAAGCGAGCGGCTGTAACCGCGCCATTATGGTGGCGCACAACGCCAATTTCG
+ATCACAGCTTTATGATGGCCGCCGCAGAACGCGCCTCACTGAAACGTAACCCGTTCCACCCTTTCGCCAC
+TTTTGACACTGCTGCACTGGCCGGGCTGGCACTCGGACAAACCGTATTGTCAAAGGCTTGCCAGACCGCT
+GGCATGGACTTCGACAGCACCCAGGCGCACTCCGCGTTGTACGACACCGAACGCACTGCTGTGCTGTTTT
+GTGAAATCGTCAACCGCTGGAAACGTCTGGGAGGCTGGCCGCTACCTGCCGCCGAAGAGGTGTAATCGAG
+TCGATGCCTGATGACATGCAATGATTCAGGCATCTATAGTGAGGCTATTCCACGCATCATGCATGATATT
+CACGGGGAATAGCGTTAATGACAGATAATCTAAACCCTTCATCGCCCCTGCCGGACGTGTTTTCACCGGC
+GACCCGCGACTAGTTTCTTCGCGCCTTTAAACAGCCGACAGCTGTCCAGTCGCGAACCACGGCTGCGCTT
+TACGCTAACAGAAGTGAATGACCTACCGGTCCGGCAAACGCCGATGTTTACGCGGTTACGTGAGGCGGGA
+TTTTCAAGTTCGCCACAAGGGCTGGATTGGGGATAGAGAAAGGACTGACGGATGCCCGTTCGCATCCGTC
+AGTATTGCAGGACGGATTATTCCGCGTCCGGCTCTTCAGACTTGTATTTAGCGGCAGTTTCTTTGATCAG
+CTGCTGCAGTTCACCACGCTGATACATTTCGATCACGATATCACAACCGCCCACCAGCTCGCCGTCAACC
+CACAGTTGCGGGAAGGTCGGCCAGTTCGCATATTTCGGCAGTTCCGCACGAATGTCCGGATTCTGCAGAA
+TATCAACATAGGCAAAACGTTCGCCACATGCGGCAAGCGCCTGGACTGCCTGGGCAGAGAAACCGCAGCT
+CGGCAGTTTCGGTGAACCTTTCATGTACAGCAGGATCGGGTTTTCAGCAATCTGGCGTTGGATTTTTTCG
+ATAGTGGTGCTCATTGTCTTGCTTCCTCAAACTTCTTTACGGCAGTAATCTGACATTGTAGCGGGTCAGT
+GCGGCATCGGGAAATAACATTTTCATCACGCTTTTGCTATTTTATCCCTTTGCTCTAATTGTTGCATTTC
+AAATATTCGTTTCTTCCCTTATGCACGGCAAACTGGCGTATTTATGACCATTTTTAGCTTTCACTGCTGC
+ATTTTTTTGCGCTCGCCGACGAAACGTATTTTTTAACAATAAAAGCTATTAACTTTCTCTTCTTCTATGC
+ATTAGAATCATCAAGTTTTGTAAATCAGACGCAGGCATGATAGACCTGCCTTAACAGAGGGACGCTCAGT
+GGCGCGGATAAACCGTATTTCGATCACGCTCTGTGCTTTACTTTTTACCACCCTGCCTTTAACGCCTATG
+GCCCATGCTTCAAAGCAAGCCAGGGAGAGTTCTGCTACTACTCATATCACCAAAAAAGCAGATAAAAAGA
+AAAGCACGGCAACCACCAAAAAGACCCAGAAAACAGCGAAAAAAGCCGCCAGTAAAAGTACGACCAAAAG
+CAAAACCGCTTCTTCCGTTAAAAAATCTTCCATTACCGCTTCTAAAAACGCCAAAACTCGCAGCAAACAC
+ACCGTCAATAAAACGGCCTCAGCCAACTTTACCGAAAAGTGTACCAAACGTAAGGGCTATAAATCGCATT
+GTGTGAAAGTCAAAAATGCCGCGTCAGGAACCCTTGCCGACGCGCACAAAGCGAAGGTGCAAAAAGCCAC
+GAAAGTGGCAATGAATAAACTGATGCAGCAAATTGGTAAGCCATATCGTTGGGGTGGCAGTTCACCGCGT
+ACCGGTTTTGATTGCAGCGGTCTGGTTTATTACGCTTATAAAGATTTGGTGAAAATTCGTATTCCGCGTA
+CGGCGAATGAAATGTATCACCTGCGCGATGCAGCGCCAATCGAACGTAGTGAACTGAAAAACGGCGACCT
+GGTCTTCTTCCGTACTCAGGGACGCGGTACAGCCGATCATGTCGGCGTGTATGTCGGCAACGGCAAATTT
+ATTCAGTCACCGCGCACGGGCCAAGAAATTCAAATCACTTCTCTCAGTGAAGACTACTGGCAGCGCCACT
+ATGTTGGCGCTCGCCGGGTAATGACCCCAAAAACACTTCGCTAAAACTTTACCCTGTTGTTACGGCAACA
+GGGTAAGTTCATCTTTTGTCTCACCTTTTAATTTGCTACCCTATCCATACGCACAATAAGGCTATTGTAC
+GTATGCAAATTAATAATAAAGGAGAGTAGCAATGTCATTCGAATTACCTGCACTACCATATGCTAAAGAT
+GCTCTGGCACCGCACATTTCTGCGGAAACCATCGAGTATCACTACGGCAAGCATCATCAGACTTATGTCA
+CTAACCTGAACAACCTGATCAAAGGTACCGCGTTTGAAGGTAAATCACTGGAAGAGATTATTCGCAGCTC
+TGAAGGTGGCGTATTCAACAACGCAGCTCAGGTCTGGAACCATACTTTCTACTGGAACTGCCTGGCACCG
+AACGCGGGTGGCGAACCGACTGGAAAAGTCGCTGAAGCTATCGCCGCATCTTTTGGCAGCTTTGCCGATT
+TCAAAGCTCAGTTTACTGATGCAGCGATCAAAAACTTTGGTTCTGGCTGGACCTGGCTGGTGAAAAACAG
+CGATGGCAAACTGGCTATCGTTTCAACCTCTAACGCGGGTACTCCACTGACCACCGATGCGACTCCGCTG
+CTGACCGTTGATGTCTGGGAACACGCTTATTACATCGACTATCGCAATGCACGTCCTGGCTATCTGGAGC
+ACTTCTGGGCGCTGGTGAACTGGGAATTCGTAGCGAAAAATCTCGCTGCATAATAACTGATGGCAAATGC
+AACATTATCTGATGCGCTTCGCTTACCATGCCAACGCGGATGAGGCGTTAACAGCGCATTCGGCAAGATA
+AATCGCACGTTGCCAGCAACTGTAACGCAGAAGGTTATCCTTCTGCGTTTTTGTTTAATTAGCTGTTGGC
+AACGCAAACTGCTTCAGGTTGTTTTCTGGCTGACATAAACACCAGCAATAATGCCAGTCCCGCGACAATC
+GCCCCCATCACCGGCACAAAACTGTATCCCAGCCCAGCGGAAATTACCGCACCACCAGCAGCTGCTCCCA
+GCGCATTTCCAAGATTAAAGGCACCAATATTGACTGATGAAGACAGACCTGGCGCTTCACTGGCGACACG
+CATCACGCGCATCTGTAACGGCGGTACGACCGCAAAGGTTGCAGCTCCCCACACCACCATGCTAATAGCT
+GCGCCGAACTCATTGCGGGCCAGGAACGGGATTGCCAGCATAATCACCATCAGCAGCAACAAAAAGCCTT
+TCAACGTGCCGTTAACTGAACGATCTGCCAGTTTGCCGCCGAGATAGTTACCGATAGAAAATCCGACACC
+AATCAGCACCAGCATTGCCGTGACGAACACCGGTGTTACGTGGGTAATACTTTGCAGTACCGGAGAGATA
+TAGGTGTAGAGGGTAAACATTGCACCAGCGCCCAGTACCGTCGTCAGCAATGCAGACAGCACCTGCGGAC
+GCATTAATACCGCCAGCTCTTTTTTCACTTCAGGTCGCGCCCCTGCGCCACCTTTAGGTAATGAGAAGAA
+CAGACTTACCATTGAAATCACGCCCAGCCCCGCTGTTGCCAGAAATGACATCCGCCAGCCGATGGTTTCG
+CCCAACCAGGTCGCCGCCGGCACGCCACCGATATTTGCCAGGGTTAACCCCATAAACATAGTGGCAACTG
+CGCTAGCCTGTTTATGTTTTGGCACTACGCTTGCGGCCACGACTGAACCCAAACCAAAAAATGCCCCGTG
+ATTCAGGCTGGTCAAAATGCGTGAAAGCATCAGGGTCATATAATCCGGCGCGATGGCGGAAAGTACGTTG
+CCAAGCGTGAAAATCGCCATCAGGAAAATCAACGCACTGCGGCGGGCACGATGAGAAAGTAGAAGCGTCA
+TCAGCGGCGCGCCAACCATTACGCCAACTGCATAAGCACTGATTAACATTCCGGCAGCGGGAATCGAGAC
+ATCCACACCGCGCGCAATGACGGGCAACAAGCCCATTGGCGAGAACTCCGTTGTCCCGATACCAAACGCG
+CCAATCGCCAGCGCCAGCAACGGATAGTTAATTTTCATGCCTTATCTCCACCTCTTCGCGTCATTACGCG
+ATATTCATTAAAGTGGCGAAAGCATGACAGTAATCACAAAAAAATGAAAATAACAAAAAGAGAAAACACT
+TTTGCCATTTTGCTAACAAACAGGAAGGAGATGCGAGGGAGAACGCGCTCCCTCGAGAGGAAATCAGTGC
+AGCGCGGCAGTCAAACCCACGGCCACGATCAAACCGAGGACGATAATCGTTGTTACCAGTGAAAATTTAA
+GGTCGGTGCTCATCAAGTTTTCTCCTTTTTTATTACCACACAAAAAGTGATATTACGCATTTTTACACAC
+TGTGATGAAAAAATCTCCCGTCATTTATAATGATAAGTGTTTTTACTACTTCCCCTTTTCGTCAAGATCG
+GCCAAAATTCCACGCTTACATTATTTGCGTACTGGCCATTGACCCCTTCCTGACGCTCCGTGTCGTTTTT
+CCGGCGTACCGCAACATTTTTGTTGTGCGTAAGGTGTGTAAAGGCAAACGTTTACCTTGCGAATTTGCAG
+GAGCTGAAGTTAGGGTCTGGAGTGAAATGGAATGGCAACAATAAAAGATGTAGCGAAACGAGCAAACGTT
+TCCACTACAACTGTGTCACACGTGATCAACAAAACACGTTTCGTCGCTGAAGAAACGCGCAATGCCGTGT
+GGGCAGCAATCAAAGAATTACACTACTCCCCTAGCGCGGTGGCGCGTAGCCTGAAGGTTAACCACACCAA
+GTCTATCGGTTTGCTGGCGACCAGCAGCGAAGCGGCCTATTTTGCCGAGATCATTGAAGCGGTCGAAAAA
+AATTGCTTCCAGAAAGGTTACACCCTGATTCTGGGCAATGCGTGGAACAATCTTGAGAAACAGCGGGCTT
+ATCTGTCGATGATGGCGCAAAAACGCGTCGATGGTCTGCTGGTGATGTGTTCTGAGTACCCAGAGCCGTT
+GCTGGCGATGCTGGAAGAGTATCGCCATATCCCAATGGTGGTGATGGACTGGGGTGAAGCAAAAGCTGAC
+TTCACCGATGCGGTCATTGATAACGCATTCGAAGGCGGCTACATGGCCGGGCGTTATCTGATTGAACGCG
+GTCATCGCGAAATCGGCGTTATCCCTGGCCCGCTGGAACGTAACACCGGCGCAGGCCGCCTTGCCGGTTT
+TATGAAGGCGATGGAAGAAGCGATGATTAAAGTGCCGGAAAGCTGGATTGTGCAGGGTGACTTTGAACCT
+GAATCCGGTTATCGCGCCATGCAGCAAATCCTGTCGCAGTCGCATCGCCCTACTGCCGTCTTCTGTGGTG
+GCGATATCATGGCAATGGGCGCACTTTGTGCTGCTGATGAAATGGGTCTGCGCGTGCCGCAGGATGTTTC
+GCTGATCGGTTATGATAACGTGCGCAACGCCCGCTATTTTACGCCGGCGCTGACCACGATCCATCAGCCA
+AAAGATTCGCTGGGTGAAACAGCGTTCAACATGCTGTTGGATCGTATCGTCAACAAACGTGAAGAACCGC
+AGTCCATTGAAGTGCATCCGCGGTTGATTGAACGCCGCTCCGTGGCTGACGGCCCGTTCCGCGACTATCG
+TCGTTAATTACCCGTTGCGGGAGTCTCTTCCGGCTCCCGCAGCCACTCCTTATTCAGCGTCTCACTATCG
+CCGAGATACTCAAGCAACCAGGTTAACGCAGGCGACATATCATTTTGCTGCCATGTCAGACAACATGCCG
+AATCCGGGAAGGGGTTTTCCAGTTCTAGTGCTACCCACTTCCCCTCATTAAGCCACGGTTTGGCGAAATG
+TGTTGGCACCATCCCTATGCATAATCCTGCCGAGATACAGGTTGCCGATGATTCCCAGTCAGGCACGACA
+AGTCTTTTTTGGTTATCCAGCAACCAGGTAATACGTTTAGGTAGCGTTCGCGAGGTGTCTTCGCGCACCA
+ATGACGGCCAGTTGCGCAACGTATCATCGCTGAACGGGCCATCCATCAACGCCAGCGGGTGGTGGCTGGC
+AACAACGCAACTCCAGCTTAACATCCCCATATCCCGGAAGGCATAACGACCGCCTACCGGAATCGCGCGT
+GTTGCGCCAATCGCCAGTTCCACGCGCCCGTCGGAAAGTGCATCCCAGACACCGTTGAACACTTCCTGAA
+AGACAAGAAGTTCGACATCATCAAAATGGCGATAAAAATCAACGATCATCTGCCGTGTTCGCTCTGGCCT
+GACAATATTATCCACTGCGATAGCTAACTGACCGCGCCAGCCGTTCGCTATCTGCTGACATTGCTGGCGG
+GTGATCTGCATTTTTTTGACAACAGAGCGTCCTTCTTTGAGAAACAACGCCCCGGCAGCGGTCAGTTCCA
+CATCACGGTGACGTCGTTCAAAAAGCGGCACCGCCAGCCACTCTTCCAGCTGACGCACGGTATAGCTGAC
+CGCAGAAGGAACGCGATGCAACTCCTGGGCTGCGGCGCTAAAACTACCATTACGCGCTACCGCATCAACA
+ACTTCCAGAGAATATTCTGACCACATAGTCTGCCTGCAAAATTTTTGAAACCAATCATCAAATATTACCG
+TTTCACAACACTAATTTCACTCCCTACACTTTGCGGCGGTGTTTAATTGAGAGATTTAGAGAATATACAT
+GCAACCTGGGAAAAGATTTTTAGTCTGGCTGGCAGGTTTGAGCGTACTCGGTTTTCTGGCAACCGATATG
+TATCTGCCTGCTTTCGCCGCCATACAGGCCGACCTGCAAACGCCTGCGTCTGCTGTCAGTGCCAGCCTTA
+GTCTGTTCCTTGCCGGTTTTGCCGCAGCCCAGCTTCTGTGGGGGCCACTCTCCGACCGTTATGGTCGTAA
+ACCGGTGTTATTCATCGGCCTGACAATTTTTGCGTTAGGTAGTCTGGGGATGCTGTGGGTAGAAAACGCC
+GCCACGCTGCTGATATTGCGTTTTGTACAGGCTGTGGGTGTCTGCGCCGCGGCGGTTATCTGGCAAGCAT
+TAGTGACAGATTATTATCCTTCACAGAAAGTTAACCGTATTTTTGCGACCATCATGCCGCTGGTGGGTCT
+GTCTCCGGCACTGGCTCCTCTGTTAGGAAGCTGGCTGCTGGTCCATTTTTCCTGGCAGGCGATTTTCGCC
+ACCCTGTTTGCCATTACCGTGGTGCTGATTCTGCCTATTTTCTGGCTCAAACCCACGACGAAGGCCCGTA
+ACAATAGTCAGGATGGTCTGACCTTTACCGACCTGCTGCGTTCTAAAACCTATCGCGGCAACGTGCTGAT
+ATACGCGGCCTGTTCAGCCAGTTTTTTTGCATGGCTGACCGGTTCACCGTTCATCCTTAGTGAAATGGGT
+TACAGCCCGGCAGTTATTGGTTTAAGTTACGTCCCGCAAACTATCGCGTTTCTGATTGGTGGTTATGGCT
+GTCGCGCCGCGCTGCAGAAATGGCAAGGCAAGCAGTTATTACCGTGGTTGCTGGTACTGTTTGCTGTCAG
+CGTCATTGCGACCTGGGCTGCGGGCTTCATTAGCCATGTGTCGCTGGTCGAAATCCTGATCCCATTCTGT
+GTGATGGCGATTGCCAACGGTGCGATCTACCCGATTGTTGTCGCCCAGGCGCTGCGTCCCTTCCCACATG
+CAACCGGTCGCGCCGCAGCGTTGCAGAACACTCTGCAACTGGGTCTGTGCTTCCTCGCAAGTCTGGTAGT
+TTCCTGGCTTATCAGTATCAGCACGCCATTGCTCACCACCACCAGCGTGATGTTATCAACAGTAGTGCTG
+GTCGCTCTGGGTTACATGATGCAACGTTGTGAAGAAGTTGGCTGCCAGAATCATGGCAATGCCGAAGTCG
+CTCATAGCGAATCACACTGATCTATATCGATATACTTATACTTAGGCTGCTAACAAAATTTTGTTGTATG
+ATTGAAATTAGCGGCCTATACTAATTTCGAGTTGTTAAAACTACGATAAATATTATGTTATTACGGGGAC
+AGGATCGTTCCCGACTCACTATGGATGGTCATTTCGGCAAGGGTTCCTCCTTTCCCTCTGTTCTACGTCG
+GATTATAGACTCGCGGTTTTTTCTGCGAGATTTCTCACAAAGCCCAAAAAGCGTCTACGCTGTTTTAAGG
+TTCTGATCACCGACCAGTGATGGAGAAACTATGAGTTCATCGTGTATAGAAGAAGTCAGTGTACCGGATG
+ACAACTGGTACCGTATCGCCAACGAATTACTTAGCCGTGCCGGTATAGCCATTAACGGTTCTGCCCCGGC
+GGATATTCGTGTCAAAAACCCCGATTTTTTTAAACGCGTTCTGCAGGAAGGATCGTTGGGGTTAGGCGAA
+AGTTATATGGATGGCTGGTGGGAATGTGACCGACTGGATATGTTTTTTAGCAAAGTCTTACGCGCAGGTC
+TCGAGAACCAACTCCCCCATCATTTCAAAGACACGCTGCGTATTGCCGGCGCTCGTCTCTTCAATCTGCA
+GAGTAAAAAACGTGCCTGGATAGTCGGCAAAGAGCATTACGATTTGGGTAATGACTTGTTCAGCCGCATG
+CTTGATCCCTTCATGCAATATTCCTGTGCTTACTGGAAAGATGCCGATAATCTGGAATCTGCCCAGCAGG
+CGAAGCTCAAAATGATTTGTGAAAAATTGCAGTTAAAACCAGGGATGCGCGTACTGGATATTGGCTGTGG
+CTGGGGTGGACTGGCGCACTACATGGCGTCTAATTATGACGTAAGCGTGGTCGGCGTCACCATTTCTGCC
+GAACAGCAAAAAATGGCTCAGGAACGCTGTGAAGGCCTGGATGTCACCATTTTGCTGCAAGATTATCGTG
+ACCTGAACGACCAGTTTGATCGTATTGTTTCTGTGGGGATGTTCGAACACGTCGGACCGAAAAATTACGA
+TACCTATTTTGCGGTGGTGGATCGTAATTTGAAACCGGAAGGTATATTCCTGCTCCATACCATCGGTTCG
+AAAAAAACCGATCTGAATGTTGATCCCTGGATTAATAAATATATTTTTCCGAACGGTTGCCTGCCCTCTG
+TACGCCAGATTGCTCAGTCCAGCGAACCCCACTTTGTGATGGAAGACTGGCATAACTTCGGTGCTGATTA
+CGATACTACGTTGATGGCGTGGTATGAACGATTCCTCGCCGCATGGCCAGAAATTGCGGATAACTACAGT
+GAACGCTTTAAACGGATGTTTACCTATTATCTGAATGCCTGTGCAGGTGCTTTCCGCGCCCGTGATATTC
+AGCTCTGGCAGGTCGTGTTCTCACGCGGTGTTGAAAACGGCCTTCGAGTCGCTCGCTAAAGGCTATTCTA
+TCGCCCCCTCTCCGGGGGCGATTTCAGATCAGGCTTGTGTACCTGGTTGATTCATGGCATTTTCTCGTGC
+CGCCAGCACACGTTCTACCGTATCTACCACTGCCTGAGTTTGTGGATCGATTTCAATGTTGACGCGTGCG
+CCGAGTTTTTTCTTCCCAAGAGTCGTGCGTTCCAGTGTTTCCGGAATTAAATGGACGCAAAAACGCGTTG
+GCGTGACTTCGCCGACGGTCAGGCTAATACCGTCGATGCCAATAAATCCTTTGTACAGGATATATTTCAT
+CAACTGACTATCCTGGACTTTAAACCAGATCTGACGATTATTTTCCGAGGTTAATATTTTCGCCACTTCA
+GCGGTGGTCATAATATGACCTGACATTAAGTGTCCGCCAATTTCATCGCTGAATTTCGCCGCACGCTCAA
+CGTTTACCCAATCCCCCACTTTTAAATCGCCAAGATTAGTAATGCGTAACGTTTCTTTCATCAGGTCAAA
+ACTGACATGGTTGCCGTTAATTTCCGTCACGGTCAGGCAGCAACCATTATGCGCCACGGACGCACCGGTT
+TCCAGTCCGTCCAGCATGTGGTCGGGTAACTCCACCACATGCGTGCGAAAATTTGGTTTCTCGTCAATCG
+ACACCAGTTTTGCGGTGCCCTGTACAATCCCCGTAAACATACTTACAACTCCTGAAATCAGTTAAGACAT
+TCTGTTCAGCACAATAGCAGGTGGAAAACGCCCTTACCAGTGAAGGGGTAAGAATGGCTATTTTTTCACT
+GGAGAATTAATAAATCCTCGCTACAATAGACTGAATTTCCCCTGCTTCTTCTTTTTGCTGCCCATTCAGG
+CGGCTTTTTAGTCTCTCATATAACTACAAATAAAAGGTGTTCACGTGCAGAAGTATATCAGTGAAGCGCG
+TCTGTTATTAGCATTAGCAATCCCGGTGATTCTCGCGCAAATCGCCCAAACTGCGATGGGTTTTGTCGAT
+ACCGTGATGGCGGGCGGCTATAGTGCCACCGACATGGCGGCGGTCGCTATCGGTACTTCTATCTGGCTTC
+CGGCGATCCTCTTTGGTCACGGACTGCTGCTGGCATTAACGCCGGTTATCGCGCAATTAAATGGCTCCGG
+TCGACGTGAGCGCATTGCGCATCAGGTGAGACAAGGTTTCTGGCTGGCAGGTTTTGTTTCCGTTCTCATT
+ATGCTGGTGCTGTGGAATGCAGGCTACATTATCCGCTCCATGGAAAACATCGATCCGGCTCTGGCGGACA
+AAGCCGTGGGTTATCTGCGTGCGTTGCTATGGGGCGCGCCGGGCTATCTTTTCTTCCAGGTTGCCCGTAA
+CCAATGTGAAGGTCTGGCAAAAACCAAGCCGGGTATGGTGATGGGCTTTATCGGCCTTCTGGTGAACATT
+CCGGTGAACTATATCTTTATTTATGGTCATTTCGGTATGCCTGAGCTCGGTGGCGTTGGTTGTGGCGTGG
+CTACTGCGGCGGTGTATTGGGTCATGTTCCTTGCCATGGTTTCTTACATTAAACGCGCCCGCTCGATGCG
+CGATATTCGTAACGAAAAAGGCACCGCGAAGCCCGATCCTGCGGTTATGAAACGACTGATTCAACTCGGT
+TTGCCAATTGCGCTGGCACTGTTTTTTGAAGTAACGCTGTTTGCCGTCGTGGCTCTGTTAGTGTCTCCGC
+TCGGTATTGTTGATGTCGCAGGACACCAGATTGCCCTGAACTTTAGTTCACTGATGTTTGTGCTTCCCAT
+GTCGCTGGCGGCAGCGGTAACTATCCGCGTAGGTTATCGTCTGGGTCAGGGCTCAACGCTGGATGCGCAA
+ACCGCTGCGCGGACCGGGCTTATGGTGGGTGTCTGTATGGCAACCCTGACGGCCATATTCACGGTTTCAC
+TGCGGGAGCAAATCGCCCTGTTGTACAACGACAATCCCGAGGTTGTAACGCTGGCTGCACATTTGATGTT
+GCTGGCGGCGGTATATCAGATTTCTGACTCTATCCAGGTGATTGGCAGTGGAATTTTGCGTGGTTATAAA
+GATACGCGTTCCATTTTCTATATCACCTTTACGGCTTACTGGGTGCTGGGCTTGCCAAGCGGCTATATTC
+TGGCATTGACCGATCTGGTCGTTGAACCTATGGGGCCAGCAGGCTTCTGGATAGGCTTTATTATTGGCCT
+GACGTCGGCAGCCATTATGATGATGCTGCGTATGCGGTTCCTGCAACGTCTGCCGTCAGCCATCATTCTG
+CAACGAGCATCCCGCTAATAAAGACAAGGCGCAACCTTCACGGGTTGCGCCTGTGTTTTTACGCAGGCTG
+GAGCGTTGCGCCGATGCCATCTTGGTCTGGCTGTAATTTCAGAGAGTTACACAGAGTTTGCCGACTGGCA
+TCTGTTATCTCAACGTGTATATCACCGGTAACTTCCCCTTTCACATTGATGAAGTCAGGTGAAATTTCTT
+TCGCACTGGTTTGCAGGCAAATGGCTCCCTCTCCACGCAGGCGTTTCACTTTCAGTTGCACCTGCGTTGC
+CGCATCAGTGATCAGCCACAGTTTTCCGCCATTCAGATTGATGTTACCAATACCAAAAGTGACACTGTCA
+CCTTTTACCGTACTGCCGTCGAGAATCAACACACCGCCCTGCTGTACAGTAATCGTTGATTGTTGCAGAT
+CTGCGCCATAGCCAATAATCATTGAAGCGCCGTCCAGTAATGCAACACTACCGGTCAGTTCAACCGGTGC
+GCGATCTTCCTCTACGACAAAATTTTCGTCCGCGCTGGTGGGTGACAACAGGATCACTGTCCCACCTTGT
+ATTACCGCATTTTCCAGCGTACCGGCATGCACTTCAGCCCGACCACCCACATTAACGGACAGGTTTTGCG
+TCTTACCGGAACTGTAGAGCTGAAGACCATCCGTACCCAGACGATAGATGGCTCCATTCTCAACAATAGT
+GTCAGAGTCTTCACCACCGAGATTATTCATGGTGCCACCAGCAAGCAACGTATCATTGGCTTTCCCCGCC
+AGCATAAAAACGCCGCCCTGATTAATCTCACAATTGCTGGCTTCCCCACCTGGATACACCAACAATTCAC
+CACCTTCATCTACCACGACCGCTGAGGTTGTCCCATTGACCAACAGGCCACCCTCTTGATCGAGAATAAT
+TTTTTCCGCGCGATGTCCTTCCAGTACACGCAGGTTACCGCCATTTTCCAGCAACAAACCGCAGGCATAA
+CCCTGATCAACGCTGAATTCACCTTCGGGATGGCGGCCATTAACCGTAGCGAGCGTAGAGAGACTAATGG
+CGCCTCCCTCGGACTGAACAATATCTGTGGCAATGGCACCGTCGCTGACCGATAGCGTGCCATTGTTACC
+GTACTGTGTGCATTTGGCGATCCCACCGGTTGCCACTTTCAACCAGCCAGCCCCCGTGACCACGGTATTT
+TCGGCTCTTGCGCCAGCTTCAACTATTAACTCACCTTCAGTAAGTTGCGTCGCGCCAATGACCTCGCCGG
+TCTTAACAATTTGCACGTTCCCGTCGCTCATCAAGTTTTTCGCATCAGATCCCATGATTTATTCCTTTGC
+TGCATCTGTGTGCCTTTATTGCTACCTAAGTGTAAAGGCTACGGAGGATTTATCCACGACAGATTTTGAG
+ATGGTGGCAAACAACTCTGTTTAAACTCTGATACACAGATTATTGGGTTGTGTCAGATGTAAATGCGATC
+CTGAATAAAAATCGCCCTTGCAAATCAACAAAATATAGCCAATTTGCTTAAAAGCTCTGCAAACGGTCGA
+AATAGCGCAGAAAAATACGTTTTGCCTCTTGCCACCTTCCCACTCTGCCGCTAATATTCGTCCCCGTTGT
+CACCTACAACGTTGCGTTCATAGCTCAGTTGGTTAGAGCACCACCTTGACATGGTGGGGGTCGTTGGTTC
+GAGTCCAATTGAACGCACCATCATGCGTCCGTAGCTCAGTTGGTTAGAGCACCACCTTGACATGGTGGGG
+GTCGGTGGTTCGAGTCCACTCGGACGCACCAGATTTTCTTAATCTGGTCTTCTCCTTTTTTCCCTCTGTT
+TCTTCTATGTATCCAATACGTTAAAAGATCTACACTGTCTTCGTATGCGTTATCAGAAGGAGAATCGCTA
+TGGCAACTTTGTTACAACTTCATTTTGCTTTTAATGGCCCATTTGGCGACGCAATGGCTGAGCAGCTTAA
+ACCACTTGCTGAGTCGATTAATCAGGAACCTGGTTTTCTGTGGAAGGTTTGGACAGAAAGTGAAAAGAAC
+CACGAAGCCGGTGGGATCTACCTTTTCTCTGATGAAAAAAGCGCCCTTACCTATCTGGAAAAACATACTG
+CCCGACTGAAAAATCTTGGCGTTGAGGAAGTTGTCGCCAAAGTTTTCGATGTCAATGTGCCACTGAGTCA
+AATCAATCAGGCAAAACTTGCCTGACAGATTTTAATCAAGGGCGGTTAGTGCCCTTTTCATCCCTGTCTG
+AAATTTCTCAAATTCTAAAAATCTCAACCAAACTTACCTGATAACACTAAATTCGAAAGAATGCGTACAG
+GTAAGTAACAATGAAAAAAATTGCTATTGTGGGTGCCGGGCCTACAGGGATCTACACCTTATTCTCGCTT
+CTACAGCAACAAACGCCACTTTCTATTTCTATCTTCGAGCAGGCTGACGAAGCCGGTGTCGGGATGCCAT
+ACAGTGATGATGAAAACTCAAAACTGATGCTGGCAAACATTGCCAGTATTGAAATACCGCCGATTTATTG
+CACGTATCTCGAATGGCTACAAAAGCAAGAAGCCAGCCATCTCCAGCGTTATGGCGTTAAAAAAGAAACC
+TTGCACGATCGTCAGTTTTTACCGCGAATTCTGCTGGGCGAATATTTCCGCGATCAATTTTTACGATTAG
+TAGACCAGGCACGACAGCAAAAATTTGCAGTGGCTGTTTATGAATCATGCCAGGTTACCGATCTGCAAAT
+TACAAATGCTGGCGTCATGCTCGCTACAAATCTGGATTTACCCAGCGAGACGTTTGATTTAGTGGTGATC
+GCAACGGGGCACGTCTGGCCTGATGAAGAAGAAGCAACCAGAACGTATTTTCCCAGCCCGTGGTCAGGCC
+TGATGGAAGCAAAGGTCGATGCGTGTAACGTGGGTATTATGGGAACATCCTTGAGCGGACTGGATGCGGC
+AATGGCAGTGGCTATTCAGCATGGTTCGTTCATTGAAGATGATAAACAACACGTCACTTTTCACCGCGAT
+AACGCAAGTGAAAAGCTAAATATTACGTTAATGTCGCGCACAGGTATTTTACCCGAAGCCGATTTCTATT
+GCCCTATTCCCTACGAGCCCTTACACATCATCACCGATCAGGCATTAAATGCTGAGATTCAAAAAGGCGA
+AGTGGGCCTTTTGGATCGGGTATTTAGATTGATAGTAGAGGAAATCAAGTTTGCTGATCCAGACTGGAGC
+CAACGCATAGCCTTAGAGAGCCTGAATGTCGATTCCTTTGCTCAAGCCTGGTTTGCCGAGCGCAAACAAC
+GCGACCCATTTGACTGGGCAGAAGAAAATCTCCAGGAAGTCGAACGCAATAAACGAGAAAAACACACTGT
+TCCCTGGCGTTATGTCATTCTGCGCCTGCATGAAGCCGTACAGGAAATTGTTCCACATCTGAATGAACAC
+GACCATAAACGGTTCAGTAAAGGCCTTGCCCGGGTTTTCATCGATAATTATGCGGCAATCCCTTCAGAGT
+CTATTCGTCGACTATTGGCCTTACGTGAAGCGGGAATCATTCATATTCTCGCTCTCGGTGAAGACTACGA
+AATGGAAATTAACGAGTCGCGCACCGTCCTGAAAACGGAAGACAACAGTTACTCGTTTGACGTTTTTATT
+GATGCCCGCGGGCAGCGTCCGCTTAAAGTGAAAGATATTCCTTTCCCTGGACTACGCGAACAATTACAGG
+AAACAGGGGATGAAATCCCTGATGTTGGCGAAGATTATACGTTACAGCAACCCGAAGATATTCGTGGGCG
+CGTAGCGTTCGGCGCGTTGCCCTGGTTGATGCACGACCAGCCTTTCGTTCAGGGACTTACGGCATGTGCA
+GAAATTGGAGAGGCGATGGCTCGGGCGGTCGTAAAACCTGCATCCCGTGCTCGTCGGCGTCTTTCGTTTA
+ATCAAATGTAAAGCTATCAGCACTCAACAAACTGATGCTGTTCATTAAGGCGATAGCGGACTCCGGCTCG
+AATATTGTTTTCACCTTCAATGGCGACGGCGAAGCGAACTCTTTCGCCGTCATGATATGCCAGTGCGGCG
+CTTCCTCCTGGCCCGAGAATAATTGAGTCGACCACGCCCGTGCTCACTACCGTTGAATTTTCACCGCTGG
+CAATGATGTGTACATTGTCGCCGCTGTTGGCAATTCTGGCGTTTGCGCCAAAGCTGGCGATTTGCACCAG
+GTCACCATTACTGGCGACATGACACCGTTCACCCAATGTACAAACGCGTACTCGCATTCCGGTATTCGCA
+ATCCGACTACTATCTCCAGCGCTGCTTATCCGCGAAGAATTACCGGTTACAGCAACCCGTGCGCGTTCAC
+CGGAGCTGCCAATGTGACTGTTAAAGCCGACACTTCCAATCCGCACGCTATAACCCATACTGGCAATTTG
+CGCGGCATACCCAGCAGTTGCGATTCTGGCATTATCCTCACAACAGCCGATGCGAGCATGATCGTCGCTG
+CGGGCAAACTGACTGCAAAATGCTCTCTCTCCGGGATCTGTGGCCAGTTTTTGCATAGAAGAAACTTCCT
+GATGCGCGAAGTTTTCATCCGTCAGCCATTTTTTCCACGCATACTCAACCAGACTCTCCGCCCAGTCCGT
+ATATCCTTCCTCAATCAGTGCATGATGAATATCGGCATAACTACCGCCGCGTGGGAAATGGCGCAGAAAC
+CAGCGATACATCACCGCTCCGATACGCCATTCTCGCAGGTCTGCTCGTGTAATGATCATTCGTTAGTGCC
+GGTGATAGCCATCGACCATGCTTTTAAAGGTTTCGTGTGGCGTACGCCCCGTGGTGCAAAGATAAAGATG
+ACCGAAGATAAAAAAGAGGCTTATAAATGCCAGAGCAAAATGCGCCTGCAATAACCAGTATCTTACGCCA
+GGAAACACATCTCCCACGGCTTGCGGATAGAGACACAGCAGCCCCGTCAATAGTAACAACGGCAGCAATC
+CATACATGACACCAACATAGGCAACCTGCTGTAAGGGATTAAATTTAGACTGGGTTGTTGCCGGGAAAGG
+ATGTTCTTCCCCCTGCATAATGCCAAACAAATAGAATCGCGTTTGTTTTGCCGCTCGCTCCAGCCACCCC
+TGACGACGAATGCGATAGTGGTGACCATTACCCCCAACGGCATTGATCAGAACAAAGCCGAGCCAGCATG
+CCAGTAACAAAAATCCGCAAACTTCATGCACCGCAACCAGACTTTTAACCGCAGTTGCGCCCACCAGCGC
+AAAGTGATTTATCAGCCCACTTGCCAGCAACAATACAAAGAGTAACGCATTCGACCAGTGCCATAATCTG
+ACCGCTTTGCTGTAAAGATAAATCCTCTCACCATGATCGGTGGCTGATTTCTTCACGCCACGAGCACGAA
+GCAAGGCATGTAGCCCCAGCACCAACCACATCCCAACCAGCAATAGTCCGGCAATGATCAACCACACCGG
+CCAAAATTGGGGGGTGAACTGTGGCACATAGTTCGCCAACTGGCTCTGAAACTGTTCAGCATGTTGCGAC
+GGGTTCATACATTTTCCTTTTTAATCAAATGTTGACCGAACCGGCGATACAGATGCGGTTTCCCGGCGCC
+AGGTAGCTGATATTGATAGTATTTATTTTCCTGCAACCACGCCTGAATTTCTGGGCTATCTTCGTGACCA
+AAGATCAATGCGTGTTCCGGGCAGGCACTGACGCAAATGGGCGGAAAGCCTTTTGCCAGTCGGGTCTCAG
+CGCAGAAATCACATTTATCTGCCACTTTAGTGACAGGGTTAAGGTAGCGAACCTGGTACGGGCAAGCGCC
+AATGCAATAACTGCAGCCGATGCACTGCGATTTTTCTACCCGCACGATCCCCTGCTCATCACGCCACGAC
+GCCCCTGTCGGGCAAACGTCGATGCAAGGAGCATCTTCGCAGTGCTGACATGACTGGCGAAAAAAGTGAT
+ACTGCGTTCCATTGTCGTTATCGATGACTGGAATGTGTGCCATCGATAAACGGCTTCCCTGAGCGGGGAC
+GTGGTTAGTTTTACGGCATGCGCGGGCGCAGATATTACAGCCATTGCACCGTGACTCGTCATGAATCATG
+GCATACCGAACTTCCTTTTCTTGCCTCGTATTCGCTAACAGAGAAGACGCAGAACCAGTAAAAAAGATTA
+CTGTTCCCATCCCCAGAACAAATTTGCGTCGAGTGAAGGACATCTGATTATCCCCTAATGCAGTGGCTGC
+AACTGTCCACCCTATCCATGACATCCCCCTGAAATTTCAGGGGTTCTGAAACTGCTCTACCTCGAACCAT
+TCGCATAAGCCATACGCCTTGCCATAGGTCATAAATCGCTCGCTAAACAAGTACAACACTGCCGTCGATG
+ACTCCACCTGCCGTATATCGGCATATTCAGGTGCAACATCCATCGTGGCGATCGCGGCTTCAATCTGCGC
+TTCCTGGAAGTAATATGGCGCTTGCATCAGCATGGCGACTTTGTAAGGACGAGGATACGTCTGGCACTCA
+AAACGAACGGCGTGTGCAATGGCGCGACAAATGTCCTGCTCCACAACTTGCAAAGACATCGCCGCGTAGT
+TTTCACTCATGGCCTGCGTTGAGTAATAGTAATCATCCTGGCTTCCCGTCATACAAGCGATATCCGCGTA
+GTCTCCGTTCTGCTTAATGTTTTCCAGCAAAACTGACAGTTCCTCTTCTGCAACCGAATAGGGCGGCGAG
+AGAAACACAGCGCGCGCCACCAGCTGCCCAGCCGCAGAATGCTGGCGAATGAACTCTGCCAGGATTTCAG
+CCGGTTCTGGTTCGGTTACCGTATCAACGGGGTGACGCATCCCCTGCAACCATTGCCGCTTCGCCTCATC
+AATTTCGCTGACTTCCGCTAACGGCAATTCATCCTGATGGTTCATCTCTCCCATTCCTTACGCAGGCAGT
+AGATTGTGTGCTGCCAGATCGGCGGCAATATCTTCCAGCCCCAGACGCTGCAATGTTTCGCGGGTCGGAC
+AACCAAGCTGTGGGTCCCAGCCCATTTCTTTGTAGAACATCGTGAGCGAAGCATGCATATCGTCACGATC
+CATTTTGTCTGTACCTTCAGTAAAGACCGGGATCTGCGGATCCTTGTCGAATACCCAGGAACAGATAAGA
+TCGTGTTCATTACGCATATCTTTGGTTTGCATCAGTTTTACCGTGTAGGCGCGATGCAACGTAAAGATAC
+GCTCTGCAGCTAAATCTAATTTTTCCTGAGTCATATCTTCGCCAGTGATCGCTTTGAAGAATTTGGCTTC
+AAGTGCCAGATCGCCCCGGTAATTACGGCTTTTCAGCGGCGAAACGGTCATTGGCCAGACCCAGTTGCAC
+AGGGTGACGGCGTTATGCAAACAGACCCGCAACAGCGACCACTTAGCATATTTAATTTTTGCGTCATTGA
+TCGGTGTGTAGTTTTTGGTTTCATCGTAAGCATCTTCAGAACCAAAAAGCTCTTTCGCCACTTCACGCTG
+CAGTTTCAATGGCAAGCCGGAACCAATAAAATTGATATGGGTATGCGTCATGCAGTCACGGTTGAACATA
+CAGTTAACAATGGAACCGACTTGCGCTGACGCTTCATTAGCATGGTGAACCGGATAGCCAAACGGCGACC
+AGAGTTTATTTTTCGCGTAGCCCCAGTACTCTTCACCCAAATTCCAGCGTTCTGCGATGGCATATGAACC
+ATCAGCCAGGTGACTCAACTCACCCACACGATGCGCCAGACGGTAGTAAAAATCTTTAATAAAGTTAACG
+TCACCCGCTTCCAGTTGATCCCAGCGAATTTCCGCATACTCTTCAGCAGGCAGAACACGCTTGAACACAC
+CTTTGCTGTAACAATAAGTAAAGTCGCGATGCAACTGCCCGTAGTTACACCATAGGCCGTAGTCATCGAA
+CAAATTCAGACCAACCAGGTTACCAATCACACGACCATCGTCTTTATCTTCAAAATCTTTCGGCCCGTTC
+GGGAAGATGGTGGTATGGACAAAGTTTGCTACACAAGTGTTACCACCTGTGCTGGGCACGCCAAACTCTT
+TCACCCGAGGAATATTCATTTGGGTCATACAACGGATCGGGCAAGAGTGGCAGCCACTCATTTTTACTGT
+GTATTTCTCTGCCGCCGGACCTAAGTCAAAAACGGATTTATAGGTACGAAAGCCGACCGTGTTCTGATTG
+CCTGGCGGAATTTCCCCCGTTTCAATCGGACCACCTTCAGCCGCGCCCCAAAACAGCCCTTTACGTGCTG
+TCCAACGTGACTTGGGATCTGAATACTCTGCCCACGATTGCGGCGTACTTGGCACGACATGGTTGTTATT
+CGCACCGATAAGTTCAGTCATCATGTAATCGTTGAGACGCTTCATCTCCTGACGATCGGCAATGTTGACC
+CCTTTCGTCCCTTCAACCGCAATCGCTTTCAGGTTTTTCGAACCCATTATTGCGCCAGTTCCCGCACCGC
+CGCTGTGGTTACGGCTATTCAACATGCCAGAGAGAGGAACAAGGTTTTCCCCAGCCTGACCAATAGCCGC
+CACACAGGTTTCCGGACTGGTCAAGCGACAAATTTCTTCCGTCGTTGCGCGCGTCCCTTTTCCCCATAAG
+AAATCGGCTTTTTCAAGGCTAACTTTGTCATCTTTAATCTTCAGCCATACCGGTGATTTCGCTTTCCCTT
+CGATAATAATGACGTCGTATCCAGCGAATTTCATTTGCGCTGCAAAAAAGCCCCCCATATGGGCATCGAC
+GACTAAATTTCCTTTGGTAAAAGTAGAAAGTGAAGTGATATTTACGCGAGAACTACAGGGGGCACCAGAT
+CCAGTTAATGGGCCGGTAGCAAAAACTAATTTATTCGCTTCATCGAAAGGTTTCGTGCCTGGCGGTACTT
+CGTCATACATAATTTTGTAGCCGAAGCCCATGCCACCGACAAAACTTTTAAACTTACTGGAATCTTCGAG
+GGTAATATTTCCTGTCGTGAGATTGACTCTTAATATATTACCTGTCCAACCGTTAGCCATGATTTTTTCC
+TTTGCAAGATTCACACAGTAATATCTTTCCACTCGATAATTTTTAACGCCCCTGTTGGGCAGGCGTTTGC
+GCATTCACCGCATAACACACATTTCGAGGATTTTTTACTTTCGGTATTTACGGTGGCCATCATCCACGGG
+CATGCCGTAGTACAGGCGCTACAGCCAATACAACGTTTATGATCGACGGTAATACAGCCTTCTTTCTGCT
+GCCAGGTAATCGCACCAATCGGGCAGACGTTCATGCATTGCGGCTCTTTGCATTGACGGCAGGTATCCGC
+GGTATAGTTGAGATCGCCATACAGGCCACCGCCAGAGCCAACCCCGTTGTCGCCAAAGAAATAATTGCGA
+TGGATTTTGATACGGGAGAAGAATGTCCCTACTGAGCCATCGTTGAAGTTGGTACAAGAGATTTCACAGC
+GGTGGCAACCCGTGCATCGCGCACGTTGGGTCACCAGCACCCCTTTGGGTGTATTTATCAACCCTACTGT
+GCCGCTATCAATATCTTCCTGTTTGCAACCCAAAAGTGACAGTAAAGCAGGGGCAATTGTTAAACCAGCA
+AGGCCTTTTCCTGATATACGCAAGAATTCTAATCGCGTTAAGCCAATATTTAATAGTGGACGATCAACCG
+GGTTCATTTATTTCGCATCCTCTTCGCAAACACAGTGCTGACAATTCAGCAGCCTGATATTAGGCACTCA
+ACTAATACGCTGCTGACGCTGTCCTCAACACCAGATATTTTCCCTAACCCGATAGTGTATGAGAAAAGAT
+TTAACGCTGATAAACTAATCCTTTATGGTTAGGAGAAAAAATAATGTGATTATTCTGGGCGCTTAACATT
+GATCGTTATCAATTAAAATCACAAAGCAAGAAATTATAAGTGAACTGATATTTATTATCATTTGAAATAA
+ATTTAACTTAACCGACAATTATTTGTGAAGTTCATCGCAGAAAATAAAAATAACTTTATCGCTATAAATT
+AAAATATACACCGAAATTCGTATAATTTCAGCAGTTGTTATTTAGAATGATTAACTGGACCGCAACTGAA
+CTAACAATATCAGGATGAAGCTTACCGCCTCATCCTGAATGGTCATTTTACCAGTGCGTTAATGACTGTT
+TCCATCGCCTGCTTTTCCAGCTCACTGCGCTGAATGCGTTTATTGGCTAATGCTGTACGTAATACGCCTG
+CGATAACAATATGCTTTGGTTCCTGCCCCAGATCGCGCATTTCCAGCACAACTTTACCGACAACTCTGCA
+CATTTCTCGGTACAGTTCATCCTCTTTTGTCCGGTTTCCCATTCTTTATACCTATTTATCATGCCAACTA
+TCAGCATATATCAATCTAACCAATTAAACAAAAATCAAACAAAATCAGACAAATAACGTGATAAATTATT
+TTAACTGTAGCAATTGAGCGATGATGTATTTATACACCGGATGAACTTTCACTTATCCTCACACTGACAA
+CCCCGGCACCAGACGTTGCGCAAACAACGAAGTTTTTGCGTAACCTTTTCCCTGGAACGCTGAATCTTTG
+ATAACAATTTATTGTCTTACAAGTTGTATATTTTTTGAAACGCTGTTTTTGTTTTCCTTTTGGATTAATT
+TCAGCGTATAATGCGCGCCAATTGACTCTTGAATGGTTTCAGCACTTTGGACTGTAGAACTCAACGACTC
+AAAAACAGGCACTCACGTTGGGCTGAGACACAAGCACACATTCCTCTGCACGCTTTTTCGATGTCACCTA
+TCCTTAGAGCGAGGCACAACCACTTTCGTAATACCGGATTCGCTTTCCGGCAGTGCGCCCAGAAAGCAAG
+TTTCTCCCATCCTTCTCAACTTAAAGACTAAGACTGTCATGAAAAAGACCAAAATTGTTTGCACCATCGG
+ACCGAAAACCGAATCTGAAGAGATGTTAGCTAAAATGCTGGACGCTGGCATGAACGTTATGCGTCTGAAC
+TTCTCTCATGGTGACTATGCAGAACACGGTCAGCGCATTCAGAATCTGCGCAACGTGATGAGCAAAACTG
+GTAAAACCGCCGCTATCCTGCTTGATACCAAAGGTCCAGAAATCCGCACCATGAAACTGGAAGGCGGTAA
+CGACGTTTCTCTGAAAGCGGGTCAGACCTTTACTTTCACTACTGATAAATCTGTTATCGGCAACAGCGAA
+ATGGTTGCGGTAACGTATGAAGGTTTCACTACTGACCTGTCTGTTGGCAACACCGTACTGGTTGACGACG
+GTCTGATCGGTATGGAAGTTACCGCCATTGAAGGTAACAAAGTTATCTGTAAAGTGCTGAACAACGGCGA
+CCTGGGCGAAAACAAAGGTGTGAACCTGCCTGGCGTTTCCATTGCCCTGCCAGCACTGGCTGAAAAAGAC
+AAACAGGACCTGATCTTTGGTTGCGAACAAGGCGTAGACTTTGTTGCTGCTTCCTTTATTCGTAAGCGTT
+CTGACGTTATCGAAATCCGTGAGCACCTGAAAGCGCACGGCGGCGAAAACATCCACATCATCTCCAAAAT
+CGAAAACCAGGAAGGCCTCAACAACTTCGACGAAATCCTCGAAGCCTCTGACGGCATCATGGTTGCGCGT
+GGCGACCTGGGTGTAGAAATCCCGGTAGAAGAAGTTATCTTCGCCCAGAAGATGATGATCGAAAAATGTA
+TCCGTGCACGTAAAGTCGTTATCACTGCGACCCAGATGCTGGATTCCATGATCAAAAACCCACGCCCGAC
+TCGCGCAGAAGCCGGTGACGTTGCAAACGCCATCCTCGACGGTACTGACGCAGTGATGCTGTCTGGTGAA
+TCCGCAAAAGGTAAATACCCGCTGGAAGCGGTTTCTATCATGGCGACCATCTGCGAACGTACCGACCGCG
+TGATGAACAGCCGTCTCGAGTTCAACAATGACAACCGTAAACTGCGTATTACCGAAGCGGTATGCCGTGG
+TGCCGTTGAAACTGCTGAAAAACTGGATGCTCCACTGATCGTGGTTGCTACTCAGGGCGGTAAATCTGCT
+CGCGCAGTACGTAAATACTTCCCGGATGCCACCATCCTGGCACTGACCACCAACGAAAAAACGGCTCACC
+AGTTAGTACTGAGCAAAGGCGTTGTGCCGCAGCTGGTTAAAGAGATCACTTCTACTGATGACTTCTACCG
+TCTGGGTAAAGAACTGGCTCTGCAGAGCGGTCTGGCACACAAAGGTGATGTCGTAGTTATGGTTTCTGGT
+GCACTGGTACCGAGCGGCACTACTAACACCGCATCTGTTCACGTCCTGTAATATTGCTTTTGTGAATTAA
+TTTGTATATCGAAGCGCCCTGATGGGCGCTTTTTTTATTTAATCGATAACCAGAAGCAATAAAAAATCAA
+ATCGGATTTCACTATATAATCTCACTTTATCTAAGATGAATCCGATGGAAGCATCCTGTTTTCTCTCAAT
+TTTTTTATCTAAAACCCAGCGTTCGATGCTTCTTTGAGCGAACGATCAAAAATAAGTGCCTTCCCATCAA
+AAAAATATTCTCAACATAAAAAACTTTGTGTAATACTTGTAACGCTACATGGAGATTAACTCAATCTAGA
+GGGTATTAATAATGAAAGCTACTAAACTGGTACTGGGCGCGGTAATCCTGGGTTCTACTCTGCTGGCAGG
+TTGCTCCAGCAACGCTAAAATCGATCAGCTGTCTTCTGACGTTCAGACTCTGAACGCTAAAGTTGACCAG
+CTGAGCAACGACGTGAACGCAATGCGTTCCGACGTTCAGGCTGCTAAAGATGACGCAGCTCGTGCTAACC
+AGCGTCTGGACAACATGGCTACTAAATACCGCAAGTAATAGTACCTGTGAAGTGAAAAATGGCGCACGAT
+GTGCGCCATTTTTTTGCCTGCTATTTACCGCTACTGCGTCGCGCGTAACATATTCCCTTGCTCTGGTTCC
+CCATTCTGCGCTGACTCTACTGAAGGCGCATTGCTGGCTGCGGGAGTTGCTCCACTGCTCACCGCAACCG
+GATACCCTGCCCGACGATACAACGCTTTATCGACTAACTTCTGATCTACAGCCTTATTGTCTTTAAATTG
+CGTAAAGCCTGCTGGCAGCGTGTACGGCATTGTCTGAACGTTCTGCTGTTCTTCTGCCGATAGTGGTCGA
+TGTACTTCAACATAACGCATCCCGTTAGGTTCCACGGAATATTTCACCGGTTCGTTGATCACTTTCACCG
+GTGTTCCCGTCCGCACGCTGGAGAATAAAGCTTTAATATCCGGTGCATTCATGCGAATACAGCCCGAACT
+GACGCGCAAACCGACGCTGTCCGGCGCACTGGTGCCATGAATGAGGTATTCGCCATTACCATGCGCGAGG
+CGCAGTGCGTAACGTCCTAGCGGGTTATTTGGCCCGGCAGGAACGACCGGCGGTAATTTAATGCCACGCT
+CCAGCGAACGTTGACGAATGCCCGCCGTAGGCGTCCAGGTTGGGTTAGGGATTTTCTGCCCCACACGCGT
+TTCCATCACCGGCGTTTCCAGCCCCTGCAAACCAATACCTATCGGATAAATCTGCACGATATTTTCTCCC
+GGCGGATAATAATAAAGGCGCAGCTCTGCAAGGTTTACAATAATCCCCTGACGCGGCGCATCAGGTAATA
+ATAGTTGTGAAGGAATAGTTATCGTCGTACCGGGTTTTGGCACCGGGGCGATAGTGTTATTGGCTTCAAG
+GATCAACATTGCCGCAGTATCAAAACGTCGGGCGATGGCCTGAAGGTTTTTATCCCCTTCTTGCACCGTA
+TACGTTTGATTTTGCCCAACCAGTCGACTGCCGGTTGGTGGTAGCGGATAATCAACCGCCCAGGCAGCCT
+GGATGGCGCTAAAAGCGCCGATAAGCGTGAGTGTAAGCAAAGACGCGCGTTTCATTGTAAACCTCCTGTA
+TTTGCCGGAGACTCACGCTGAAACGTCGGATGGCGCTTATGTTCACCTGAAACCAAAACACTCCTGTGCA
+GGCCAGTGTAAACATTGACCACCCGGCAATGTGAGCCAACCGGATGAAAGCTGTCCCTTTAGTTTAGCTA
+AGTGCAGCGGCTTTGGCGCGAATTGCGCGAATCATCGCTTCCAGACCTTGTGAGCGTGATGGGGTGAGAT
+GTTGGGTGAGCGCCATTTTTTCAAACCACGGGCGCACATCGAAATTGACAATATCCTGCGGCGTCATTTG
+ATCGTAAAGAATAATGACGACCGCAATAAGCCCTTTTACAATGGCCGCATCGCTGTCGCCCTGTAATTCA
+ATAATTCCCTGCGCATTCTGGCGCATGACAATCCACACCTGACTCTGGCAGCCCTGGATGCTATTTTGCG
+GGCTTTTGTCTTCGTCACGTAATTCTGGCAGACGCTGACCCAACTCAATAATGTAGAGATATTTCTCTTC
+CCAGTTGGCGCAGCGTAAAAAATTACGCAGCAATTTTTCTTTATCCGGCAATAAAGCCATAGTGCCTCCC
+TGTTATCCCAGCAGACGGTGAATACGTTGCAGGCCGGTCACCAGACGATCCACTTCTTCATGGGTGTTAT
+ACATGGCCAGCGATGCCCGACACATCGCAGGGACGTTGTAATAGGCCATTAATGGCATTGCGCAGTGATG
+TCCGGTACGCACAGCAATGCCGTAATTATCGAGAAAACTGCCAACATCATAGGCGTGGTGTTTACCGAGA
+TTAAAAGCAATAACGCCAAGCCTGTTTTGTGGGCCATAGAGAGTAAGATCCGGTACAGATTCCAACTGTG
+ATAACGCGTAATGCATCAGATTCTGTTCATACTCGGCTATGTTATTAAGCCCCAGCGCCGAAACATACTC
+CAGCGCCGCGCCAAGACCAATGATGCCTCCGGTATTGGGTGTACCGGCTTCAAACCGCCATGGTGCTTTG
+GTCCAGGTAGTGCCTTCACTCAGGCTGACGGTGGCGATCATAGAACCGCCCCCTTCCCACGGCGGCATCT
+CCTGCAACAAGGCTTCTTTGACATAAAGAATGCCAATTCCGGTAGGGCCATACAGTTTATGCACGGAGAA
+CACGTAAAAATCGCAATCCAGCGCCTGAACATCCACCGGATGATGCATCACCGCCTGAGCGCCATCCACC
+AGCACTTTTGCGCCATGTTGATGCGCAAGTGTGATCATCTCCGCCAGCGGATTTTCTGTCCCAAGCACGT
+TGGAGACATGAGTAATTGCCAGCAGACGAGTTTTCTCATCAAACAGCGTAGGCAGCGTCTCCAGTTGCAG
+AGTACCGTCGGGGTTGAGCGGGATCACACGCAGCTCTGCGCCAACGCGTGCACAAAGCATCTGCCAGGGG
+ACAATGTTAGCGTGGTGCTCCATCTGACTGATGATGATGTTATCGCCCGCTCGCACATTGCTGTTGCCCC
+AGCTATTGGCGACCAGATTGATCCCTTCCGTCGTGCCGCGGACGAACACCAGCTCTTCCGCCGAACGGGC
+ATTAATAAACAGCGAAGCACGCTTGCGCACGTTCTCCATTTTCTCGGTCGCCTGGGCGCTTAAGGTATGA
+ATACCGCGATGCACCGCCGCGTAGCCATGACGATAAAACTCAGCCTCGGCATCAATCACCTGGCTCGGTT
+TCTGCGCACTGGCGGCGCTGTCGAGATAAGCCAGCGGCAAACCGTTTACCTCACGAGAAAGCACCGGAAA
+GTCGGCCCGCACTTTGTCGACGGAAAAAGTCATCTTGCACCTCCTGGCAGTCGTTGACCGATTCGGGCCA
+GCACCTGCTGTTTAAGCCCCTCATCACACAGTGCTTCCGTCAGTTCGGCAGCAAAGGCGTAGATGATCAT
+CTGCTGGGCATCTTGCTGATTGATCCCGCGCGAGCGCAGATAAAACATCTGTTCGTCATCAATACGCCCC
+ACCGTCGCGCCGTGGCTGCATTTCACATCATCTGCATAGATTTCCAGCTGCGGTTTAGTATCCACTTCCG
+CCAGTTTGCCCATCAGCAGATTATTGTTGGTCATCTGACCATCCGTTTTGATGGCGTGCTGCGCGACGTT
+GATCAAACCGTTAAATACCGCGCGGCCTTTGTCGCTGACGATAGTTTTGTGCAACTGTCGGCTGTTACAA
+AAACCTTTATTGTGTTCCAGCCAGGTACGAGTATCACACACCTCGTTTTTCACCGGCATCGCCAGGCTAT
+TGATCCGCACCGTGCTGTTTTCGCCATTGAGTTGCGTACTGGTGTTGTGTCGTAATACTGCGCCACCCAG
+CAGGAAACTGTGGCTAAATGCGGTGGCATCGTCAGCCAGCAACAAATCGTTATGAGCAAAGTGGTGACTG
+AGCGGGTTTTCAAACGCCAGCTTGATATGCTGCAAATGGGCGTTCGCTGCGACGTTGATAGTGAACCGTG
+CGCCGGTGAAGTGACGAGCATCATTAAGGCTGACAAAATGTTCGATCACCGTTGCTTCGGCACCTTCCGC
+CAGATCCAGATGATGCCGGTAATGGGCAGTATTCACCTCTTCACCTGCCACGCCCTGGGTGATATGCATT
+AACAGCAATGGCTTTGCCGGCCGTTGACCGCGCTTCACGGCGATATGCGTCACGCTTTGTGCCAGGCTTT
+CCGTCAAATGCAGAAACACTTCCGCCTGAATAGCGTCGGGTAACCCCTGACGGTCGTCGTTAATGCTCAC
+TTCATATCCGCTGCCTTCAGTTGCATCGCTCAGTGCGGGCACGTAACGTCCATCGACAAACACCAGCCGC
+ACGGCGTCTAATGTTAACGCTAAGGCATCACGCTGCTGTGGGGATATCTCCCCCGCAATGCTGACAAACT
+GGCTATTGGTCAGCCCGTCCAGCGGCGTATATTTCCAGTTTTCATGTTTACGTGTCGGCAGTCCGGTACG
+CAGCAATTGTTGTAAATGCTGCTGTGCTTGCGGGGAGCGTTTCGCCCCTTCAGCTTCAAACAAATGATGC
+CACTGTTGCAGTGCGTTACTGCTGTTCGGTAAGCCAGCCATAACCCTGCTCCTCCAGTTGTTTGACCAAC
+GTGAAATCGCCGGATTTCACAATTCGTCCCTGATACAGCACATGGACGTAATCAGGCTTGATGTAGTCGA
+GAATGCGTTGGTAGTGCGTAACAATGATGAATGAACGCTTGCCGTCACGCAGCGAGTTCACGCCATCGGC
+AACCACTTTTAATGCGTCAATATCCAGCCCGGAGTCTGACTCATCAAGAATGCATAACTCCGGTTCCAGC
+ACCGCCATTTGCAAAATATCGTTGCGCTTTTTCTCGCCGCCGGAAAAACCAACGTTTACCGAACGGGTTA
+ATAAATCTTCCGGCATCTTCAGGAGAGCGATTTTCTCTTCCATCAAATCCTGAAAATCAAAGCGGTCGAG
+CGTTTCCTGGCCGCGATAGCTGCGCACCGCATTAAGTGCCGTTTGCAGGAAAAACTGGTTACTGACGCCG
+GGAATTTCCACCGGATACTGGAAGGCCATAAAGATGCCTTCACCTGCACGATCTTCCGGCGACAGCGCAA
+GCAAATCTTTGCCTTTAAACTCAACCGTGCCGCTCGTCACTTCATAATCTTCTCGCCCGGCAAGCGTTGC
+CGATAAGGTACTTTTGCCCGAACCATTGGGCCCCATAATGGCGTGAACTTCGCCGGGACGAACGTCGAGG
+CTTAATCCACGCAGGATAGCTTTATCTTCCACGCTGACGTGTAAATCTTTAATACTTAACATGTTTATTC
+CTTATCCGACGCTGTGTTCAAGACTGATGGCGAGGAGTTTTTGTGCTTCAACGGCAAATTCCAGCGGCAG
+TTCCGAGAACACGTCTTTGCAAAAACCGTTAACAATCATCGAGATGGCATCTTCTTCGCTGATCCCGCGT
+TGCAGGCAGTAAAACAGTTGATCTTCACCAATACGTGATGTCGTTGCCTCGTGCTCCAGCTGAGCGCTGT
+TATTGCGACATTCGACATACGGGAAGGTATGCGCCCCACAATTAGCGCCAATCAGCATTGAATCGCACTG
+AGTGAAATTGCGCGCATTGGTTGCCGTCGGCATGATTTTCACTAAGCCGCGATAACTGTTCTGACTATGT
+CCGGCAGAGATCCCTTTCGAGATAATGGTCGATTTGGTGTTTTTACCGATGTGGATCATCTTGGTGCCGG
+TATCCGCTTGCTGATGACCGCTGGTCAGCGCCACTGAGTAAAACTCACCAATGGAGTTATCGCCGCGCAA
+AATGCAGCTGGGATATTTCCACGTAATCGCTGACCCGGTTTCTGATTGCGTCCATGACATTTTGCTGTTT
+TCGCCTTCGCACAAAGCACGCTTGGTGACGAAGTTGAGAATACCGCCGGTGTTGTTATCGCCAGGGAACC
+AGTTTTGTACCGTGGAATATTTCACCTCGGCGTTTTTATGGATGATGACTTCCACCACCGCCGCGTGTAA
+CTGATAGCTGTCACGCACCGGAGCGGAACAGCCTTCAATGTAGCTAACGTAGCTGTCTTCGTCGGCCACC
+AGAATGGTGCGCTCAAACTGCCCGGTTTTTTCCGCGTTAATGCGAAAATAGGTGGAAAGTTCCATCGGGC
+AACGCACGCCTTTAGGCACATAAATAAACGTACCGTCAGAGGCTACCGCCGCATTAAGTGCGGCAAAGAA
+GTTGTCATTCCCCGGCACCACGGTGCCGAGATATTTACGCACCAGTTCCGGGTGATCGTGGATCGCCTCG
+CCAAAGGAACAAAAAATAATTCCCTGCTCCGCCAGTTTTTTGCGATAAGTAGTGGCAACCGAAACAGAGT
+CGAAAATGGCATCCACTGCCACCTCTTTGCCTTCCCGCACGGGAACGCCCAACTGCTCAAACGCCGCCTC
+CACCTCTTTACTTAAAAAGGCGTTCGCGCCAGTTTGCTGCACCGCGCCGGGTTCAGACGCGCAGTTGTCG
+TCACAATTACCGCACGATGGTGCCGAGTAGTAGCTGTAATCCTGATAATTCAGCTTGTCGTAGTGCGCTT
+TCAACCAGTGCGGTTCTTCCATCTCCAGCCATGCGTGATAGGCGTTGAGACGAAACTCCAGCATCCACTC
+CGGCTCATTACGCTTCGCCGAAATTGCGCGCACCACCTCTTCGTTTATCCCCTTTGCCAGCTCATCGGTG
+GCTAACTGGGTGAAGAATCCTTCTTTATAATTCAGCGGGCCGCCGGTCCAGGTTTTGACATCGTCAGTTG
+CTTCAGTATTACGAGACATAGTACCGCCTATACCCCAAAGCTTTCGCCACAGCCACATTCATTCTGGGCT
+TTAGGGTTGTGAAATTTGAATATCTGATTAAGTCCTTCGCGAACGAAATCGACTTCCGTGCCATCAATAA
+AAGGCATCGCTTGCAGCGGGACAAACAGCTTCGCGCCGTCGTGTTCAAACAGCAGATCGTCTTTGTCCGG
+CTCGCTAACACTATCGAGCACATAGCCAAAGCCCGCGCAGCCTGTTTGCTTCACGCCTAAGCGCACGCCG
+ATCATACCCGGCTGCTTTGCCACCAGCTCGCGGATGTGGACAGCGGCTGCGGGTGTCAGCGTTAAGCCCT
+GCCAGGCGAAATCCTGTGGATTAAAGGTTCCTGAATGCATGTCCATCGATTTACCTCACTTCATCGCTTT
+CAGCGTATAACAGCATGTTAGTGATAATGATTATCAGTTCAACCCAGCAAACGCAGGGGCTTTAGCGTAA
+AACATGCTTTTTTCCTGCTTTTAATAAGCATAGACCCTGATGTGTGGGTTAACAGGCACGCTAAGAATTA
+GGTATCTCATTGTTAGATAATGATTATTATCTAAGGAGCATTAAGGCTGTGATGAAAAAGAAAAAGTTGT
+ATTGAAAATGACTATTTAAGAGATAGGTAAAAAAGTGCAGCGTTCAGAAATAAGAAAACCCTTAAGTCTG
+TGCGACACAGGCTTAAGGGTTTCTACCCCATCCGGCGCTTATCTCCGGCACTCACAGTGGCTTAGCTCTT
+GAAGGGGCGATAAGGATAATCTCATAAAGCTAACCCACTGTTTTAACACAAACTGCGATTTGTATTATTT
+TTGAACGTTATCAGGCGGGTAGATAGGCTGTATTAAAAAGGCCCTCGAACCTGGACGAAGATTAATCCAG
+GCCGATTTGGCGAACTCGCGACATTAAATCAGGATCAATGCACGCCCAGACGCCAGGCGAAGTAGATTTC
+TTCTTTTAATTCAGCAGAAGAGAGAGTAAGCAGGTCAGCAAATTCAAGTTCTAATTGTTTCAGACGCTTG
+AGATATTGGGCAGGTGAAAGATTGCTTTGGTCACGGCGTAAAAATTCAATGGCCAGTTGGGTGGGATCAA
+GTTGAGTAGACATAGCATCCTCGCTTTTAGACAAGACCTGCACAGTATACCACCGTTTACTGTGCAGATA
+ATAACCAAAAGCAATATGCGTCACACTTTTCTGGTGACAACGTCACAAAATAGCGGTCGTCAATCGTGAC
+GAACAGCACAAACGCCCTTTCTCATCGAAGATTTCAATCTGCCAGACCTGGTGACGCGAACCGAGATGCA
+ACGGTTTGCATACGCCGCGCACCCGCCCTTCTCGTGCCGAGCGGACGTGGTTAGCATTGATTTCCAGACC
+AACCACTTTTTGCTCACCTTCGGTACATAAATAACCGGCAACGGAACCGATACTTTCGGCCAGTACCACG
+GATGCACCTCCATGCAGCAACCCGAAAGGCTGCTTTGTCCGTGAGTCTACTGGCATTGTCGCTTCAAGGG
+TGTCATCACCAATATGTTCAAAGCGAATATCCAGCAATCCCACCATGTTTCCTTCCCCCATAGCATTCAG
+TGCTTCCAGGGTGATTTTTCGTTTCCATATCATTTAATAATCTCCAGTAAAGCCTGCACAGGATGGCGTA
+CCCCTGTGCCTTCAACCCGTTTTACCTGACTACGGCAGGAATATCCGGTCACCAGACAGCGGTTACGCGG
+CAGTCGCTGCATCGCCTGATGCCAGGATAATTCATAGATCCCGAGCGAATTTTTATGGTTTTTCGCTTCA
+TGTCCGTAAGTCCCTGCCATGCCGCAGCACCCCACGCTGACATTTTCCAGTTTCGCGCCAAAACGGGCAA
+ATATTGCCGCCCATTGTGCTGGCGCGCCCGGCAAGGCGGTAACTTCGGTACAGTGACCAAAGAAATACCA
+TGATTCACCGCTGACTGTAGCCACTGGCTGTGACTCAAGTGCGCTTGCCAGCCATTCATTTGCCAGTAAG
+ACGTTAAACTCGCCACGCTCCTCGCCCAGCGCCAGTTTATATTCATCGCGATAACAAAGTACCAGCGCCG
+GGTCGACGCCTACCATTGGCATACCCAGCTTCGCCATACGGTTGAGGAAATCCGCCGTCTTTTTCGCCGT
+CTTCGCAAAACGATTAAGAAAACCTTTGATATGCTGGGCTTTTCCATTTGGCGAAAATGGCAGTAACACG
+GGCTGGAAACCTAATTTTTCGACCAGACGGACAAAATCCGCCACCACTTGAGCATCGTAATAGCTGGTAA
+AGGGGTCCTGCACCACCAGCACCGTGCGCGCTTTCTGCTCTGCATTGAGAGCTTCAAGCTGTTCCAGCGT
+CATGTTTGCCGAGCGATGCCCCACCATTTGTTGTTGTAGCGAGGGGACCGACAGCAGCGGCAAATCAACC
+ATGCCGATATGTTTTTCCGAGAGTTTGCGCACCAGCGGCTGGTTAATGAAGAAGTTAAAGGTTTTCGGCG
+CGCGTGCCATCAGCGGTGCGTAACTCTCAACCGTAGCGACGAGGTGGTCGCGCAGCGGGCGTAAATAACG
+GGTGTGATAGAGTTGCAGGAAACGAGAGCGAAACTCCGGCACATCAATTTTGATGGGGCACTGAGTCGAA
+CAAGCTTTACAGGCCAGACAGCCCGACATCGCCTCTTTGACTTCGTGTGAGAAGTCATATTCGCCTTTAT
+TCGCATGCCAACTATTGCGCGTGCGGGCAATTAACGTCCGCAAACTGACGCCGGATTCAGGCAGTTCTTG
+TTCCAGTTTGAGTGGGTCAACGCCGCGATCCGCCAACAAACGCAGCCATTCACGTACCAGCGTTGCGCGC
+CCTTTCGGTGAATGAATCCGGTTCTGGGTGATCTTCATCGACGGACACATCGGACTACGAGCATCAAAGT
+TGAAGCATAAACCGTTGCCGTTACACTCCATTGCACCACGCCACTGCTGGCGTACCGCAATGGGGATCTG
+TCGATCGAATGTACCGCGCTTCACCGCGTCCACTTTCATCATCGGCGCATCGAGACCTTCTGGCGGGCAA
+ATCTTCCCGGGGTTGAGTCGGTTATGCGGGTCAAATGCCGCTTTCACTTTACGCAGTTCTGCAAAAAGTT
+CCTCACCGAAAAACGCCGGACTGTATTCGGCGCGAAAACCTTTGCCGTGTTCGCCCCACAACAAACCACC
+GTATTTCGCGGTAAGCGCCACTGCATCATCAGAGATTTGCTTCATCAAAATCTCCTGTTGCGGATCGCAC
+ATATCCAGTGCTGGACGGACGTGCAAGACACCTGCGTCGACGTGACCGAACATACCGTAGCTTAAGCCGT
+GGCTGTCGAGCAGCGCGCGAAATTCAGCAATATAATCCGCCAGGTGTTCCGGCGGTACACAGGTATCCTC
+AGCAAACGGAATTGGCTTAGCAGCACCTTTGGCATTGCCAAGCAGACCAACGGCTTTTTTGCGCATCGCA
+TAGATACGTTCAACACCCGCCAGCTCGCGGCACACCTGCCAGCCGATCACTCCTGCCTGTTGGCTGGCAA
+TCAGCTCATCAAGCCGCACACAGAGTGCATTAACTCGCTCGTCAATCAGTGCCTCATCATCACCGGCAAA
+TTCCACAATGTTCAGCCCGAGCATCTCTTTATCAGGCACATCGGTAATCAACTCGCTGACGGAATGCCAG
+ACAATATCTTCCCGCGCAAGGTTGAGCACTTTTGAGTCCACCGTCTCTACCGAAAGCGCCCGCGCCTCAA
+CCATAAACGGCGCGTTACGCAGTGCGGAGTCAAAAGAGTCATATTTGACGTTCACCAGACGGCGCACTTT
+AGGCAAGCGCGTAATATCCAGTCGCGCTTCGGTAATAAAGGCCAGCGTCCCTTCTGAACCCGTCAGAATG
+CGCGTCAGGTCGAACTCGGTCATCTCATCGTTAAAGACATGACGCAGATCGTAACCGGTAAGAAAGCGGT
+TAAGCTTGGGGAAGTTGTCGATGATTAACTGGCGTTGCTGACGGCAACGTTGATAAACCGTGTTATAAAT
+TCGCCCGATTGTGGTATTGGATTTACCCAGCGTTTCCGCCAGTTCGACGGGTAAAGGTTGCGTATCGAGA
+ATATCGCCCCCCAACAACACCGCGCGTACGCCAAGTACGTGATCTGACGTTTTGCCATAGACCAGCGATC
+CCTGACCGGATGCATCGGTATTGATCATCCCGCCGAGCGTTGCCCGGTTGCTGGTCGAAAGTTCTGGCGC
+AAAAAAGTAGCCAAAGGGTTTCAGGTACTGATTGAGTTGGTCTTTAATCACCCCGGCCTCAACGCGCACC
+CAGCCCTCTTCAGGGTTAATTTCGATGATGCGGTTCATATGGCGGGACATATCAACAATAATCCCCTGGT
+TGAGCGCCTGACCGTTAGTGCCGGTGCCGCCGCCGCGGGGGGTAAAGATCAACGATGAATAGCGTTCCTG
+CGCGGCAAGACGGGCGATCAGCGCTACATCTGCGGTTGAACGCGGAAATACCACCGCATCGGGGAGAAGT
+TGGTAAATACTGTTGTCAGTCGACATTGTCAGACGATCGGCATAACTTGTCGCCGTATCGCCGGTAAAAC
+CCTGTTGCTCCAGCTCTTGCAAAAAATTAAGCACCAGTTGAACGACGCCGGGTGCCTGGGAAATCTGTGG
+AATCATTATATTGACCCTTTCCTGCGGTCTGTGATGAGAGATTAATCGTTTGCGTGTTGCCTGAGTTGTT
+GTACCACATTTTTTTCTAACACGCCCATCAGAATTAAGGGCAGAATCGACCTGTTAAAAACCGCTGAAAT
+TGCTCATCATTATGCAGGTGAGTTTCGCGTGTTCACGTCGCGTCGACGATTTGACGCACAAAAAAGGTGA
+AAAGTAGTTATGGTAAATGTTCGTCAGCCCAGGGATGTCGCACAAATTCTGCTTTCGGTGCTGTTTTTAG
+CCATCATGATTGTGGCATGTCTGTGGATTGTACAACCCTTTATTCTCGGCTTTGCATGGGCCGGTACAGT
+GGTTATCGCCACCTGGCCGGTATTGTTACGTTTGCAAAAGATCATGTTTGGTCGCCGCTCTCTCGCCGTT
+CTGGTGATGACGCTGTTATTAGTGATGGTGTTTATCATCCCTATTGCTTTGCTGGTTAACAGTATCGTCG
+ACGGCAGCGGCCCGCTAATTAAAGCCATTTCCAGTGGTGACATGACGTTACCCGATCTGGCGTGGCTTAA
+TACCATTCCGGTGATTGGCGCGAAGCTATATGCAGGCTGGCACAATTTGCTGGATATGGGGGGGACGGCG
+ATCATGGCGAAAGTCCGTCCTTATATTGGCACCACCACCACCTGGTTCGTTGGGCAGGCGGCGCATATCG
+GGCGCTTTATGGTGCATTGTGCGCTGATGCTTCTCTTCAGCGCCCTGCTGTACTGGCGCGGTGAACAGGT
+GGCACAAGGCATTCGCCATTTTGCAACCCGTCTGGCAGGCGTTCGCGGAGATGCCGCCGTGCTGCTGGCG
+GCACAGGCTATCCGCGCGGTGGCGCTGGGTGTGGTGGTGACGGCGTTAGTACAGGCAGTGCTTGGCGGTA
+TCGGCCTCGCCGTATCCGGCGTACCTTATGCAACTTTGCTAACGGTGTTAATGATCCTCTCCTGCCTTGT
+CCAGCTTGGACCGTTGCCGGTACTGATTCCGGCGATTATCTGGCTCTACTGGACTGGCGATACCACCTGG
+GGAACGGTATTGTTAGTTTGGAGCGGGGTGGTTGGCACGCTCGATAACGTCATCCGCCCAATGTTAATTC
+GCATGGGTGCCGATTTACCGCTGATCCTGATCCTCTCTGGCGTTATTGGTGGTTTGATTGCTTTCGGGAT
+GATCGGTCTGTTTATTGGTCCGGTTCTGTTAGCCGTTTCCTGGCGTCTGTTTGCCGCGTGGGTGGAAGAA
+GTCCCACCGCCGACGGACCAACCGGAAGAAATTCTCGAAGAACTTGGCGAAATCGAGAAATCGAATAAGT
+AATTTCTCATCAGGCGGCTCTGTCGCCTGATTGTTAACCCCTGCTAATTGATATTTGCTTGCTCTTCCCC
+ATATTTTCCTGCTTACCACTATTCAGCTGGTAGTACCTGTCGCAAATTCTTTACAGTTTTTAAACTAATG
+AGACGAATCTGATCGACGCAAAAAGTCCGTATGCCTACTATTAGCTCACGGTTATAAATCAACATATTGA
+TTTATAAGCATGGAAATCCCCTGAGTGAAACAACGAATTGCTGTGTGTAGTCTTTGCCCATCTCCCACGA
+TGGGCTTTTTTTTAACATTTTTCTGCTTCGCTACCTCGCCCCTCACTCTTTCCAATAATGTTGCACAAGA
+TACTGTGACTCTCTTCAAGCCGTCAGCAGGCTGATAATGTTATTTATATTTTATTGTTTATTTCATGCAG
+CCATTACACGATGAACGCTTATGAACTCCAGGCACTTCGCCATATTTTTGCCATGACTATTGATGAATGC
+GCGACCTGGATTGCCCAGACCGGTAACAGTGAAAGCTGGCGTCAGTGGGAAAATGGCAAATGCGCCATTC
+CTGATTGTGTAGTCGAGCAACTGTTGGCTATGCGTCAGCAACGAAAAAAACATCTTCATGCCATCATAGA
+GAAAATAAATAACCGCATCGGCAACAACACCATGCGTTTTTTCCCCGACTTAACCGCGTTTCAACAAGTC
+TACCCTGATGGCAATTTTATTGACTGGAAGATCTATCAATCGGTAGCCGCTGAATTATATGCACACGATC
+TGGAGCGGCTTTGTTAATTTCTCCACAGAAAGGAATTGTCGTTGTTACAACAATAATGAACGGATACTGA
+CACAACATCGCTACACTTTTTAAAGCACCTTTGCTAAGTAGAACCTATGAAAAATCCCTATTACCCTACC
+GCACTTGGGTTGTATTTTAATTACCTGGTGCATGGTATGGGCGTCATTTTGATGAGCCTGAATATGGCCT
+CGCTGGAGACGCTTTGGCAGACTAATGCCGCGGGCGTCTCGATAGTTATCTCATCACTGGGCATTGGTCG
+ATTAAGTGTCTTGCTTTTTGCAGGATTATTATCCGATCGCTTTGGTCGCCGCCCTTTTATCATGCTCGGG
+ATGTGCTGCTATATGGCCTTCTTTTTTGGCATCCTGCACACCAATAACATCATTATCGCTTATGTTTTTG
+GCTTTCTGGCGGGAATGGCAAACAGTTTTCTCGATGCAGGCACCTATCCCAGTTTGATGGAAGCTTTTCC
+ACGCTCACCGGGTACAGCCAATATTTTAATTAAAGCATTTGTTTCCAGCGGACAATTTTTATTACCGCTA
+ATTATCAGCCTGTTAGTGTGGGCTGAACTGTGGTTCGGTTGGTCCTTTATGATTGCCGCAGGCATTATGT
+TTATTAACGCTCTGTTTTTATACCGTTGTACGTTCCCACCCCATCCGGGTCGTCACTTACCTGTCATAAA
+GAAAACCACCAGCTCTACGGAACATCGCTGTTCAATTATCGATTTAGCCAGTTATTCCCTATATGGCTAT
+ATCTCAATGGCAACGTTTTATCTGGTTAGCCAGTGGCTGGCACAATACGGACAATTTGTCGCTGGCATGT
+CATACACCATGTCGATCAAATTACTCAGTATCTACACCGTGGGTTCGCTGCTGTGTGTATTTATTACTGC
+TCCACTCATTCGTAATACCGTTCGCCCAACAACATTACTGATGCTGTACACCTTTATCTCATTTATCGCC
+CTGCTCACCGTCTGCCTGCATCCCACATTTTATGTGGTGATAATATTTGCTTTCGTCATCGGTTTTACCT
+CCGCAGGCGGTGTTGTACAAATTGGCCTGACGTTAATGGCGGAACGTTTTCCCTACGCTAAAGGAAAAGC
+AACGGGGATCTATTACAGTGCGGGCAGCATTGCAACATTTACCATTCCGTTGATTACGGCTCATCTTTCG
+CAAAGAAGTATTGCCGATATTATGTGGTTCGATACCGCCATCGCTGCTATCGGCTTTATACTGGCACTGT
+TTATTGGCTTACGCAGTCGCAAAGAAACGCGGAATCACACGCTAAAGGAAAATATCGCTCCGGGTGGGTA
+ATGCAATATTCTTTTCAGGTTATGCAAGATCTTACGGATAAATAACTCTTTCTGCGCTAACTAAGGAAAA
+TCGCGATCAAAAACAAACTATGACATGCAATATTCCTGGAAACATAAACTTTATGCCATGTACCCAGGGA
+AAATCATCTTCAGTATAGTAATTATGTAAACCGTCGGAGAACAATACGTACGGTAACGAAATTATCTTTC
+AGCAAGGAGCTGTGAAAATGTCTCAAAATAAGGCTTTCAGCACGCCATTTATCCTGGCTGTTCTTTGTAT
+TTACTTCAGCTATTTCCTGCACGGCATTAGTGTTATTACGCTTGCCCAAAACATGACATCTTTGGCAGAA
+AAGTTTTCCACTGACAACGCGGGCATTGCCTATTTAATTTCCGGTATCGGATTGGGGCGATTGATCAGTA
+TTTTATTCTTCGGAGTGATCTCCGATAAGTTTGGTCGTCGGGCGGTGATATTAATGGCAGTAATAATGTA
+TCTGCTATTCTTCTTTGGTATTCCTGCTTGCCCGAATTTAACTCTCGCCTACTGTCTGGCAGTGTGCGTA
+GGTATCGCTAACTCAGCGCTGGATACGGGTGGCTACCCCGCGCTTATGGAATGCTTTCCGAAAGCCTCTG
+GTTCGGCGGTCATACTGGTTAAAGCGATGGTGTCATTCGGGCAAATGTTCTACCCAATGCTGGTGAGCTA
+TATGTTGCTCAATAACATCTGGTACGGCTATGGGCTGATTATTCCGGGTATTCTGTTTGTACTGATCACG
+CTGATGCTGTTGAAAAGCAAATTCCCCAGCCAGTTGGTGGACGCCAGCGTAGCTAATGAATTACCGCAAA
+TGAACAGCAAACCGTTAGTCTGGCTGGAAGGTGTTTCATCAGTACTGTTCGGTGTAGCCGCATTCTCGAC
+CTTTTATGTGATTGTGGTGTGGATGCCCAAATATGCGATGGCTTTTGCTGGTATGTCAGAAGCTGAGGCA
+TTAAAAACCATCTCTTATTACAGTATGGGTTCGCTGGTCTGTGTCTTTATTTTTGCCGCACTACTGAAAA
+AAATGGTCCGTCCCATCTGGGCTAATGTATTTAACTCTGCACTGGCAACAATAACAGCTGCCATTATCTA
+CCTGTACCCTTCTCCATTGGTGTGTAATGCCGGAGCCTTTGTTATCGGTTTCTCAGCAGCTGGCGGCATT
+TTACAGCTCGGCGTTTCGGTCATGTCAGAGTTTTTCCCCAAAAGCAAAGCCAAAGTCACCAGTATATATA
+TGATGATGGGTGGACTGGCTAACTTTGTTATTCCGCTGATTACCGGTTATCTGTCGAACATCGGCCTGCA
+ATATATCATTGTTCTCGATTTTACTTTCGCGCTGCTGGCCCTGATTACCGCAATTATTGTTTTTATCCGC
+TATTACCGCGTTTTCATTATTCCTGAAAATGATGTGCGGTTTGGCGAGCATAAATTTAGCACCCGGTTAA
+ACACAATTAAGCATAGAGGTTAAAGGAGTTAATTATGGATGTTACCGCAAAATACGAATTGATTGGGTTG
+ATGGCCTATCCCATCCGCCACAGTTTATCGCCCGAAATGCAGAATAAAGCCTTAGAAAAAGCGGGATTGC
+CATTTACCTATATGGCCTTTGAAGTGGATAACGATAGTTTTCCCGCAGCAATTGAAGGATTAAAAGCCCT
+CAAAATGCGCGGAACTGGTGTATCAATGCCGAACAAACAACTGGCGTGTGAATATGTTGATGAATTAACG
+CCAGCAGCCAAACTGGTGGGTGCCATCAACACCATCGTAAATGATGATGGCTATCTGCGTGGCTATAACA
+CCGACGGCACGGGCCATATTCGCGCCATTAAAGAGAGCGGTTTTGATATCAAAGGCAAAACGATGGTGCT
+GTTAGGGGCCGGAGGTGCCTCAACGGCAATTGGCGCGCAGGGGGCAATTGAAGGTTTAAAAGAAATTAAA
+CTCTTTAACCGTCGGGATGAGTTCTTCGATAAAGCCCTCGCCTTCGCGCAGCGGGTTAACGAAAACACCG
+ATTGCGTCGTGACAGTCACCGATCTCGCCGATCAGCAAGCCTTTGCAGAAGCCCTGGCTTCCGCCGACAT
+TTTAACCAATGGCACCAAAGTGGGTATGAAACCCCTTGAGAATGAATCATTGGTTAATGATATCAGTCTG
+TTACATCCGGGACTTCTGGTCACTGAATGCGTGTATAACCCGCATATGACGAAGTTATTGCAGCAGGCGC
+AACAAGCGGGTTGCAAAACGATTGATGGATACGGCATGTTGTTGTGGCAAGGGGCTGAACAGTTCACGTT
+ATGGACTGGCAAAGATTTCCCTCTGGAATATGTTAAACAGGTCATGGGGTTCGGTGCCTGACAGGCTGAC
+CGCGTGCAGAAAGGGTAAAAAATGAAAACCGTAACTGTAAAAGATCTCGTCATTGGTACGGGCGCACCTA
+AAATCATCGTCTCGCTGATGGCGAAAGATATCGCCAGCGTGAAATCCGAAGCTCTCGCCTATCGTGAAGC
+GGACTTTGATATTCTGGAATGGCGTGTGGACCACTATGCCGACCTCTCCAATGTGGAGTCTGTCATGGCG
+GCAGCAAAAATTCTCCGTGAAACCATGCCAGAAAAACCGCTGCTGTTTACCTACCGCAGTGCCAAAGAAG
+GCGGCGAGCAGGCGATTTCCACCGAGGCTTATATTGCACTCAATCGTGCAGCCATCGACAGCGGCCTGGT
+TGATATGATCGATCTGGAGTTATTTACCGGCGATGATCAGGTTAAAGAAACCGTCGCCTACGCCCACGCG
+CATGATGTGAAAGTTGTCATGTCCAACCATGACTTCCATAAAACGCCGGAAGCCGAAGAAATCATTGCCC
+GTCTGCGCAAAATGCAGTCCTTCGACGCCGATATTCCTAAGATTGCGCTGATGCCGCAAAGTACCAGCGA
+TGTGCTGACGTTGCTTGCCGCGACCCTGGAGATGCAGGAGCAGTATGCCGATCGTCCAATCATCACGATG
+TCGATGGCAAAAACTGGCGTAATTTCTCGTCTGGCTGGTGAAGTATTTGGGTCGGCGGCAACTTTTGGTG
+CGGTAAAAAAAGCCTCTGCGCCAGGGCAAATCTCGGTAAATGATTTGCGTACGGTATTAACTATTTTACA
+TCAGGCATAAGCAATAATATTTCGGCGGGAATACCCTCCCCCGCCGAACTAAAAAAGTATTTTTAACCGT
+ATTTAATAAAAATATTTCGTGAGTCTCTGTGCGCTAATTCTCCATCTGGCGTAGGGAAAATCACACCTGA
+ATCAGGAATTAACAATGAAACCTGTAAAACCACCTCGTATTAATGGACGAGTGCCGGTCCTGTCGGCACA
+GGAAGCGGTGAATTATATTCCCGACGAAGCAACACTTTGTGTGTTAGGCGCTGGCGGCGGTATTCTGGAA
+GCCACCACGTTAATTACTGCTCTTGCTGATAAATATAAACAGACTCAAACACCACGTAATTTATCGATTA
+TTAGTCCAACAGGGCTTGGCGATCGCGCCGACCGTGGTATTAGTCCGCTGGCGCAAGAAGGTCTGGTGAA
+ATGGGCATTATGCGGTCACTGGGGACAATCGCCGCGTATTTCTGATCTCGCAGAACAAAATAAAATTATT
+GCTTATAACTATCCACAAGGTGTACTTACACAAACCTTACGCGCCGCCGCAGCCCACCAGCCTGGTATTA
+TTAGTGATATTGGCATCGGAACATTTGTCGATCCACGCCAGCAAGGCGGCAAACTGAATGAAGTCACTAA
+AGAAGACCTGATTAAACTGGTCGAGTTTGATAACAAAGAATATCTCTATTACAAAGCGATTGCGCCAGAT
+ATCGCCTTCATTCGCGCTACCACCTGCGACAGCGAAGGCTACGCCACTTTTGAAGATGAGGTGATGTATC
+TCGACGCATTGGTTATTGCCCAGGCGGTGCACAATAACGGCGGTATTGTGATGATGCAGGTGCAGAAAAT
+GGTTAAGAAAGCCACGCTGCATCCTAAATCTGTCCGTATTCCGGGTTATCTGGTGGATATTGTGGTGGTC
+GATCCGGATCAAACCCAACTGTATGGCGGTGCGCCGGTTAACCGCTTTATTTCTGGTGACTTCACTCTTG
+ATGACAGCACCAAACTTAGCCTGCCCCTAAACCAACGTAAATTAGTTGCACGGCGTGCATTATTCGAAAT
+GCGCAAAGGCGCAGTGGGGAATGTCGGCGTCGGTATTGCTGACGGCATTGGCCTGGTCGCCCGGGAAGAA
+GGTTGTGCTGATGACTTTATTCTGACGGTAGAAACAGGTCCGATTGGCGGTATTACTTCACAGGGGATCG
+CCTTTGGCGCGAACGTGAATACCCGCGCCATTCTGGATATGACGTCCCAGTTTGATTTTTATCACGGTGG
+TGGTCTGGATGTTTGTTATTTGAGTTTTGCTGAAGTCGACCAGCACGGTAACGTCGGCGTGCATAAATTC
+AATGGTAAAATCATGGGCACCGGTGGATTTATTGATATCAGTGCCACTTCGAAGAAAATCGTTTTCTGCG
+GCACATTAACTGCGGGCAGTTTAAAAACAGAAATTACCGACGGCAAATTAAATATCGTCCAGGAAGGACG
+GGTGAAGAAATTTATTCGGGAACTACCGGAAATTACTTTCAGTGGAAAAATCGCTCTCAAGCGAGGGCTG
+GATGTTCGTTATATCACTGAGCGCGCCGTATTCACGCTAAAAGAAGACGGCCTGCATTTAATCGAAATCG
+CTCCTGGCGTCGATTTACAAAAAGATATTCTCGACAAAATGGATTTCACCCCAGTGATTTCACCAGAACT
+GAAACTGATGGACGAAAGATTATTTATCGATGCGGCGATGGGTTTTGTCCTGCCTGAAGCGGCTCATTAA
+CAGGAGTATAATGATGGATTTTTCTTTAACTGAAGAACAAGAACTGCTGCTGGCCAGTATTCGCGAACTG
+ATTACGACTAACTTTCCGGAAGAGTATTTCCGCACCTGCGATCAAAACGGGACATACCCGCGTGAGTTTA
+TGCGGGCACTGGCGGATAACGGTATTTCCATGCTTGGCGTGCCGGAAGAATTTGGTGGTATCCCTGCGGA
+TTACGTCACCCAAATGCTGGCGCTGATGGAAGTGTCAAAATGCGGTGCTCCGGCATTTTTGATTACCAAC
+GGTCAATGTATTCACAGTATGCGCCGTTTCGGTTCTGCAGAGCAGCTACGTAAAACGGCAGAGAGCACCC
+TGGAAACGGGTGATCCCGCCTATGCCCTGGCATTGACGGAGCCAGGCGCAGGCTCAGACAACAACAGTGC
+CACTACCACTTACACGCGTAAAAACGGCAAGGTTTACATCAACGGACAGAAAACCTTTATTACCGGTGCG
+AAAGAGTACCCATATATGCTGGTGTTGGCGCGCGATCCGCAACCGAAAGATCCGAAAAAGGCCTTTACTC
+TGTGGTGGGTCGACTCCAGTAAACCCGGCATTAAAATCAATCCACTGCATAAAATCGGCTGGCATATGCT
+CAGCACCTGCGAAGTCTATCTCGACAACGTGGAAGTTGAAGAGAGCGACATGGTGGGCGAAGAAGGAATG
+GGTTTCCTCAATGTGATGTACAACTTTGAGATGGAGCGCCTGATCAACGCCGCGCGCAGCACCGGCTTTG
+CCGAATGCGCATTCGAAGATGCCGCCCGCTATGCCAACCAGCGTATCGCTTTTGGTAAGCCCATTGGTCA
+TAACCAGATGATCCAGGAAAAACTGGCGCTGATGGCGATTAAGATCGACAACATGCGCAACATGGTGTTG
+AAAGTGGCATGGCAAGCCGATCAGCATCAGTCACTGCGCACCAGCGCGGCGCTGGCAAAACTGTACTGCG
+CACGTACCGCAATGGAAGTCATTGATGATGCGATTCAAATCATGGGCGGTCTGGGCTATACCGATGAGGC
+GCGCGTCTCCCGCTTCTGGCGTGATGTCCGTTGTGAACGTATCGGCGGCGGTACAGACGAAATTATGATT
+TACGTAGCAGGTCGGCAGATCCTGAAAGATTATCAGAACAAATAATCTGCAGGCGGCGCAGCTTCTTAAC
+AAACTGCGCCGCCAGATTTATCCGGCAAGACTTACTGGTTGAGGAAATTCAGATAGGATTTCTTGTTCCG
+CAAAACAGTTTTTAAATTGCCTGCGGTAATCGCTGGGCGAACAGCCGACATGGCGCAAAAACAGTTTGGC
+AAAGTGATCGACATTTTCATAACCCACACGCCAGGAAATCTCTGCCTGTGATAATTCAGTATTAGTGAGT
+GACCATTTCGCTTCCGTCATACGCCGTTGAATAACATAGTTAATAGGGGAAATACGATACTCTTTGGTAA
+ATTCATGGCAGATATAACTGACGCTGGCACGAAATTTTTTCGATAACTGCTCTAAAGTGATTTTTTCGCG
+ATAGTTATTATTCAGATAGAAAAGAATATCTTTTATCAGAACATCTTTTTTAATATATCCCTGCTCCGAA
+CGATAAGCATTTTTAAAGTTTTCGTAGTAAAGAATTGCTAACGTATAGGCAAATGCGTCCCATAACGAAG
+ATGTTTGGCTATTTTTACTTTGCGGCAAAATCACACTTAGCTCATTAAATAAGGTTTTAATGACTTCTTT
+TCCCTGCCCTGCGGCAATTACCGGGCAAGAATGCGGTTGCAGTAGCTGATTTTCCTCAGCCCCCTGAAAC
+TGAAAGCCGTACAGCGCACAGGTACACGTCGTTGCCGGATCGTTAACGTCAGAGGCCACCGCATGCAGCC
+TGCCACGTTCTATCACCACAATGTCATCGGCATGCGCGACATATAACGAAGAATCGATGGTAAACCTTGC
+TACCCCTTTCTTGACGTAAATCAGCTCGGTTTCATTGTCATGAACGTGATGTCCAGACTCCCATTTTGGA
+TCATCGCTAAATGCGAAACGTGAAAGCCGTGGCGTTTTACCGGCGACAAACAGCGTTTCACTGGCATTAT
+CAAAACAGCGTTGATACATGACAACCTCCCTATTCCATGAGCAAACAAAAACAATATATGCCGGATAAAA
+TACGGCGTGTATTGCGGTTATACAACCGCGTTTAGCGAGAGCTAAACAAGATTATTTACACTGAATGCAA
+GATTGCACGGTCATGGAATAACTATATTGCCGCAAATTGCACTTTTGTTTTAGCGATCGCATTTTTTTTG
+CAAGATTGTTGGCAAGGAAAACAGCTTGCTCCGTCGAAAACCCCGCACCGCTATCGCACACTATTTTCAG
+GCCATTTTTACCTTCCATCGGAGATGGTTCCGTATGCGACTCACAGGAGAAATCATGAAAATAATAACCT
+GCTTTAAGCTGGTGCCTGAAGAACAGGACATTGTTGTCACTCCAGAATACACCCTGAATTTCGACAATGC
+CGACGCCAAAATCAGCCAGTTCGATCTCAATGCCATTGAAGCTGCAAGCCAGCTTGCAACAGATGACGAT
+GAGATAGCCGCGCTGACCGTCGGCGGCTCTTTGTTGCAGAACTCGAAAGTGCGCAAAGACGTGCTATCCC
+GCGGGCCGCACAGCCTGTATATGGTGCAGGATGCACAACTTGAGCATGCACTGCCTCTCGATACCGCAAA
+GGCGCTGGCGACAGCAGTTGAAAAGATCGGCTTCGATTTACTGATCTTTGGTGAAGGTTCCGGCGACCTT
+TATGCCCAGCAGGTTGGCTTGCTGGTCGGAGAAATTCTGCAACTTCCGGTGATTAATGCAGTGAGTGCCA
+TTCAGCGTCAGGGCAATACACTGGTGATTGAACGCACGCTTGAAGATGATGTTGAAGTTATTGAACTCTC
+TGTTCCAGCCGTGCTCTGCGTCACCTCCGATATTAACGTGCCACGTATTCCTTCGATGAAAGCCATTCTC
+GGCGCGGGTAAAAAACCGGTAAATCAGTGGCAGGCAAGTGATATTGGCTGGAGCCAGAGCGCACCACTTG
+CTGAACTGACCGGCATTCGCGTACCGCCGCAAACAGAACGTAAGCACATCATTCTCGATAACGATTCGCC
+GGAGGCCATTGCCGAGCTGGCGGAACATCTGAAGAAAGCCCTGAACTGAAGCCTACGGAGAAGAAACGAT
+GAGTCAATTAAACAGCGTCTGGGTCTTTAGCGATAATCCTGAACGTTATGCTGAACTGTTTGGCGGCGCT
+CAGCAATGGGGCCAACAGGTGTATGCCATTGTACAAAATACCGAGCAGGCGCAGGCAGTTATGCCTTATG
+GGCCAAAATGCATTTATGTTCTTGAGCAAAACGACGCGCTGCAACGTACTGAAAATTACGCCGAAAGCAT
+TGCTGCCCTGCTGAAAGATAAACACCCCGCTATGTTGCTGTTGGCCGCGACGAAACGTGGTAAAGCTCTG
+GCAGCACGGTTAAGTGTGCAACTGAATGCGGCGCTGGTGAACGATGCCACGGCGGTGGATATTGTCGATG
+GTCACATTTGCGCCGAACACCGGATGTATGGCGGGTTAGCGTTCGCTCAGGAAAAGATCAACAGCCCGCT
+GGCGATCATTACCCTTGCACCCGGTGTTCAGGAGCCGTGCACCAGTGATATCTCTCATCAGTGCCCGACA
+GAAACGGTACCTTATGTTGCCCCGCGTCATGAAATTCTCTGTCGCGAACGCCGTGCGAAAGCGGCAAGCA
+GCGTGGACCTGAGCAAAGCAAAACGTGTGGTTGGCGTCGGTCGTGGTCTGGCGGCGCAGGATGACCTGAA
+AATGGTCCACGAACTGGCGGCGGTACTGAATGCTGAAGTCGGCTGTTCACGTCCAATTGCCGAAGGCGAG
+AACTGGATGGAGCGTGAACGTTATATCGGTGTCTCCGGCGTGTTGCTGAAATCCGATCTCTACCTGACGC
+TGGGGATCTCCGGGCAGATCCAGCATATGGTTGGCGGCAACGGCGCAAAAGTGATTGTCGCCATTAATAA
+AGATAAAAATGCGCCAATCTTCAACTATGCCGACTACGGTCTGGTGGGCGATATCTACAAAGTCGTCCCT
+GCCCTGATTAGCCAGTTGAGTCGCTAATTCCCTTTCAACCACATCTCCCGCTGTAAACGCAGCGGGAAGG
+GAGCATAACGCATGTCGGATGACAAATTTGATGCCATTGTGGTCGGTGCGGGCGTTGCCGGTAGCGTTGC
+CGCACTGGTCATGGCGCGAGCCGGGCTGGATGTCCTGGTGATAGAACGCGGCGACAGTGCCGGATGTAAA
+AACATGACCGGCGGGCGTCTTTATGCCCACACACTCGAAGCAATTATTCCAGGCTTTGCAGCATCAGCGC
+CGGTAGAACGCAAGGTCACACGCGAGAAAATCTCCTTCTTAACCGAAGAAAGCGCCGTTACCCTCGATTT
+TCACCGCGAGCAACCAGATGTTCCGCAACACGCGTCTTATACCGTATTGCGTAATCGTCTGGACCCGTGG
+TTGATGGAACAAGCCGAGCAGGCGGGCGCGCAGTTTATCCCGGGCGTACGCGTCGATGCGCTGGTTCGTG
+AAGGAAACAAGGTCACTGGCGTCCAGGCCGGGGATGATATTCTCGAAGCGAATGTGGTGATTCTGGCTGA
+TGGCGTTAACTCGATGCTTGGCCGCTCGCTGGGAATGGTTTCCGCTTCCGATCCGCATCATTACGCTGTT
+GGTGTTAAAGAGGTTATAGGCCTGACACCAGAACAGATCAACGATCGCTTTAATGTTACGGGCGAGGAAG
+GTGCCGCCTGGCTGTTTGCCGGTTCCCCTTCTGACGGCCTGATGGGCGGCGGATTCCTCTATACCAACAA
+GGATTCCGTATCGTTGGGGCTGGTTTGTGGATTGGGTGATATCGCCCATGCGCAAAAAAGCGTGCCGCAA
+ATGCTGGAAGATTTTAAACAACACCCCGCCATTCGCCCGCTGATTAGCGGCGGCAAACTGCTTGAATATT
+CCGCGCATATGGTGCCGGAGGGCGGTCTGGCAATGGTGCCGCAGCTGGTTAACGATGGCGTGATGATCGT
+TGGTGACGCCGCAGGCTTCTGCCTGAATTTGGGTTTTACAGTTCGCGGCATGGATTTAGCCATTGCATCA
+GCTCAGGCTGCCGCCACAACGGTGATCGCCGCCAAAGAACGCGCGGATTTCTCCGCCAGCAGTCTGGCGC
+AATACAAACGTGAGCTGGAACAAAGTTGTGTTATGCGCGATATGCAGCATTTCCGCAAGCTCCCGGCGCT
+GATGGAAAACCCGCGCCTGTTTAGCCAATACCCACGAATGGTCGCCGACATCATGAACGATATGTTCACC
+ATTGACGGCAAACCAAACCAGCCGGTACGCAAAATGATCATGGGACACGCGAAGAAAATTGGGCTGATCA
+ACTTGCTGAAAGATGGCATTAAGGGAGCAACCGCGCTATGAGCCAGAACGCTACGGTTAACGTCGACATC
+AAATTAGGCGTCAATAAATTCCATGTTGATGAGGGCCACCCGCATATCATTTTGGCGGCAAATCCCGATA
+TCAATGAATTCCGTAAATTAATGAAAGCTTGCCCTGCCGGACTTTATAAGCAGGATGACGCAGGAAACAT
+TCATTTCGATTCCGCCGGTTGTCTGGAGTGCGGCACCTGTCGGGTGCTGTGCGGCAACACTATTCTCGAA
+CAGTGGCAATATCCCGCAGGCACCTTCGGTATTGAATTTCGCTACGGCTAATCATGCATCCCACAGGCCC
+GCATCTCGGGCCTGATGTTCTGTTTCGAGAGTCCAAAATGAAAGTGACATTAACGTTCAACGAACAACGT
+CGTGCGGCGTATCGTCAGCAAGGGTTATGGGGCGATGCTTCACTGGCCGATTACTGGCAGCAGACCGCTC
+GTGCGATGCCAGACAAAATTGCCGTGGTCGACAATCATGGTGCAACGTACACCTATAGCGCGCTCGATCA
+CGCCGCGAGCTGTCTGGCAAACTGGATGTTAGCGAAGGGTATTGAATCAGGCGATCGCATCGCATTTCAA
+CTGCCAGGCTGGTGTGAATTTACCGTTATCTATCTTGCCTGCCTGAAAACCGGTGCGGTTTCCGTGCCGC
+TGTTACCTTCCTGGCGGGAAGCAGAACTGGTGTGGGTGCTCAATAAGTGTCAGGCAAAAATGTTCTTTGC
+ACCGACGTTGTTTAAACAAACGCGTCCGGTAGATTTAATCCTGCCGCTGCAAAATCAGCTTCCACAACTA
+CAACAAATTGTCGGCGTGGACAAACTGGCTCCCGCCACCTCTTCCCTCTCATTAAGTCAGATTCTCGCCG
+ACAATACTCCTCTGACCACGGCGATAACGGTCCACGGCGATGAATTAGCCGCTGTGCTATTTACCTCCGG
+AACCGAGGGTCTGCCAAAGGGTGTGATGCTAACGCATAACAATATTCTCGCCAGTGAGCGGGCTTATTGC
+GCGCGGCTAAATCTGACCTGGCAGGATGTCTTTATGATGCCTGCGCCACTTGGTCACGCAACGGGCTTTC
+TGCATGGCGTAACAGCACCTTTTTTGATTGGTGCTCGCAGCGTGTTGTTAGATATTTTCACTCCTGATGC
+GTGTCTCGCGCTGCTTGAGCAGCAGCGTTGCACCTGTATGCTCGGCGCAACGCCGTTTGTCTATGATCTT
+TTGAATTTACTAGAGAAACAACCCGCAGACCTTTCAGCGCTGCGCTTCTTTCTTTGCGGAGGTACCACAA
+TCCCCAAAAAAGTGGCGCGAGAATGCCAGCAGCGCGGCATTAAATTATTAAGTGTTTATGGTTCCACAGA
+AAGTTCGCCGCATGCGGTGGTGAATCTCGACGATCCTTTGCCGCGCTTTATGCACACCGACGGTTACGCT
+GCCGCAGGTGTAGAGATTAAAGTGGTCGATGACGCACGCAAGACTTTACCGCCAGGTTGCGAAGGTGAAG
+AAGCCTCGCGTGGCCCCAATGTGTTTATGGGGTATTTTGATGAACCTGAATTAACCGCCCGTGCCCTGGA
+TGAAGAAGGCTGGTATTACAGCGGCGATCTCTGCCGCATGGATGAGGCTGGCTATATAAAAATAACCGGG
+CGCAAGAAAGATATTATTGTCCGCGGCGGCGAAAATATTAGCAGCCGTGAAGTGGAAGATATTTTATTAC
+AGCATCCTAAAATTCACGATGCCTGTGTGGTTGCGATGCCCGATGAACGCTTAGGTGAACGATCATGCGC
+TTATGTCGTGCTGAAAGCGCCGCATCATTCATTATCGCTGGAAGAGGTGGTGGCTTTTTTTAGCCGTAAA
+CGGGTCGCGAAATATAAATATCCTGAACATATCGTGGTAATCGAAAAACTACCGCGCACTGTCTCAGGTA
+AAATACAAAAGTTTTTGTTAAGGAAAGATATTATGCGGCGATTAACTCAGGATGTCTGTGAAGAGATTGA
+ATAAGTTTCATCTTCGGGGATCACATAAACCCGGCGACAAAACGCCGCCGGGTATTTATTTTATTTCTTC
+AGTTCAGCAAGGCTTAACCAGGTTTGCACCACAGTATCCGGGTTCAGAGACAGGCTATCGATCCCCTCTT
+CCATCAACCATGCGGCAAAGTCTTCGTGGTCGGACGGACCCTGACCGCAAATCCCGACATATTTGCCCTG
+TTTCTTCGCGGCACGAATCGCCATCGACAGCAGTGCTTTCACCGCATCGTTGCGCTCATCGAACAGTTCA
+GATACCACGCCGGAGTCACGATCCAGACCGAGCGCCAGCTGCGTCATGTCGTTTGAGCCAATTGAGAAGC
+CGTCGAAATATTCCAGGAACTGCTCGGCCAGCAAGGCGTTGGACGGGATTTCACACATCATGATGATTTT
+CAGCCCGTTCTCACCACGTTTCAGCCCCTGATGCGCCAGTTCCTCAACCACCGCTTTCGCCTGATCAACG
+GTACGCACGAACGGGATCATGATCTCAACGTTAGTCAGCCCCATGTCGTTGCGCACACGTTTCACTGCTT
+CACACTCCAGCGCGAAGCAGTCGCGGAAGCTGTCGGAAACATAGCGGCCCGCGCCACGGAAGCCGAGCAT
+CGGGTTCTCTTCATCTGGCTCGTAACGCTCACCACCGACCAGATTGGCATATTCGTTCGATTTAAAATCA
+GAGAGACGGACAATGACGCGCTTCGGATAAAACGCGGCACCCAGCGTCGCGATCCCTTCAGTCAGACGAC
+CAACGTAAAATTCACGCGGAGAATCAAAACCTTTCATCATCTCGCGGATTTCGTTTTGCAACTGCGGTTC
+CTGATCGTCAAACTCAAGCAGTGCGCGTGGGTGGACGCCAATCATACGGTTGATGATAAATTCCAGACGC
+GCAAGGCCCACGCCTTCGTTCGGCAGGCAGGCGAAGTCGAAAGCACGGTCCGGGTTACCGACGTTCATCA
+TCACCTTCAACGGCAGGTCCGGCATCGTTTCTACGCTGGAGCTTTTCACGCTAAATTCCAGCAACTCCGC
+ATAGACGTAACCGGTATCACCTTCGGCACAAGAAACAGTGACGTTCTCGCCGTCTTTCATCCGTTCTGTT
+GCATCACCACAGCCCACTACCGCCGGAATGCCGAGTTCACGAGCGATGATCGCCGCGTGACAGGTACGAC
+CGCCACGGTTGGTGACGATGGCAGATGCTTTCTTCATGATCGGTTCCCAGTCCGGGTCGGTCATGTCAGT
+AACCAGCACGTCGCCAGGTTCGATGCGGTTCATTTCGCTGATGTCATGGATGACTTTCACCGGACCCGCG
+CCGATGCGATGACCGATAGCACGGCCTTCGGCGATAATCTTACCCTGTGAATGCAGCGTATAACGCTCCA
+TGACCTGACCGCGTGAGCGCACGGTTTCCGGACGCGCCTGCACAATGAACAGTTTGCCGGTGTGGCCATC
+TTTCGCCCACTCAATATCCATCGGGCGACCGTAGTGTTTCTCAATTTGTACGGCCTGTTTTGCCAGTTCC
+TGCACTTCTTCGTTGGTCAGCGAGAAGATGTCACGCTGTTCCTGCGGTACGTCTTCGATTTTAACCTGCT
+TGCCGTGCTCCTGGGTCGGCGCGTAAACCATGCGGATTTTTTTCGACCCCATGGTGCGGCGCACGATAGC
+CGGGCGATTCGCCGCCAGTGTCGGTTTGTGCACGTAAAACTCATCCGGGTTAACCGCACCCTGCACGACC
+ATTTCACCAAGGCCCCATGCGGAAGTGATAAACACCACCTGGTCAAAGCCGGATTCGGTATCAATGGAGA
+ACATCACGCCAGAAGATGCGAGGTCGGAGCGCACCATCCGCTGAACACCGGCGGAGAGCGCCACGCCACG
+GTGATCGTAACCCTGGTGCACACGATAAGAGATGGCGCGATCGTTAAACAGAGAAGCAAATACATGTTTC
+ACTGCCACGAGAACGGCGTCAAAACCCTGAACGTTGAGGAAAGTTTCCTGCTGACCGGCAAAAGAAGCGT
+CCGGCATATCTTCTGCAGTAGCGGAGGAACGCACCGCAAACGAAGCGTTTTCGTCATCGGCGGAAAGCTG
+TGCATAGGCTTCGCGGATGGCGTTTTCCAGCTCAGGCTGGAAGGGAGTGTCGATAATCCACTGGCGGATT
+TGCGCGCCCGCTTTCGCAAGCTGGGTAACATCGTCAATATCCGTTTTATCCAGCAGTTCATAAATGCGCT
+GGTTTACGCCGCTTTGGTCCAGAAACTGGTTAAACGCGTCGGCGGTTGTGGCGAAACCATTCGGAACGGA
+AACACCCATTCCGGAAAGGTTAGTAATCATTTCACCCAGGGAGGCATTTTTGCCCCCAACCCTGTCTACA
+TCATTCATGCCGAGTTGGTTATACCAAAGCACCAGCGGTGACGAGCCATTGTTGGACATCGAACAATCCT
+TTTGTGATAAATGAACGGTTTGAGAAACACATTTCTGCGCATTTATCTTTGCATATTTAACCGGATGAAA
+AAAACGGTGAATCGTTCAAGCAAATATATTTTTTTACTTTTTAAGACTGATCCCAGCGTTGCGCAAATCT
+GCTCTCTTCGACAATTTCCACATAAACCATCGGTATAAACGAAACCATAAAAATGAAATGCTGTTTTCAT
+AAAAAATAAAATTTAAGTTTCATTTTATAAACCAGACATAACGTTCTACGCTTCTGTGCGTTTTTAATTT
+ATGCTTTCATAGAATTATGTCTGCATCACGGGAAGAACAAAATGGATAATGCTGTTGATCGCCACGTTTT
+TTATATTTCTGATGGTACGGCAATAACTGCGGAGGTATTAGGACACGCAGTAATGTCACAATTTCCCGTC
+ACTATCAGCAGCATTACGCTGCCGTTTGTCGAAAATGAGAGCCGTGCACGGGCAGTGAAGGATCAGATTG
+ACGCAATTTATCACCAGACAGGTGTGCGCCCGCTGGTCTTCTACTCCATCGTGTTGCCGGAGATTCGCGC
+TATCATCTTGCGAAGTGAAGGCTTTTGCCAGGATATCGTTCAGGCGCTTGTTGCCCCGCTACAACAAGAG
+ATGAAACTGGATCCAACGCCGATTGCTCATCGTACCCATGGCCTTAACCCTAATAATCTCAATAAATATG
+ATGCGCGCATTGCGGCGATTGATTACACCCTTGCCCACGATGACGGTATTTCGTTGCGCAATCTGGACCA
+GGCTCAGGTGATCCTGCTCGGTGTTTCTCGCTGTGGTAAAACCCCCACCAGTCTGTATCTGGCAATGCAA
+TTTGGTATCCGCGCGGCAAATTACCCCTTTATTGCCGACGATATGGATAATCTGGTGCTACCCGCGTCGC
+TCAAACCACTTCAGCACAAATTGTTCGGCCTGACTATCGACCCGGAACGTCTGGCGGCGATTCGCGAGGA
+ACGTCGGGAGAACAGTCGCTATGCCTCGCTTCGTCAGTGCAGGATGGAAGTCGCGGAAGTGGAAGCGTTG
+TACCGTAAAAATCAGATCCCGTGGATTAACAGTACCAATTATTCGGTAGAAGAGATTGCCACCAAGATCC
+TCGATATCATGGGCCTTAGCCGCCGAATGTACTAGAGAACTAGTGCGTTAACTTGTTTTTTTGTTATCAT
+GCTAACCACCCGGCGAGGTGTGACACACCTCGCACTTGAAATCAGCTGCGATTGGTTTATCGTGATGCGC
+ATCACTTCCCGGTAGTCCTGCCGTAGAAGCAACAAATTTCTGAGACTTGTAATGAACAGAACTGACGAAC
+TCCGTACTGCGCGTATTGAGAGCCTGGTAACGCCCGCCGAACTTGCGCTACGGTATCCCGTAACGCCTGG
+CGTCGCCACCCATGTCACCGACTCCCGCCGTAGAATTGAAAAAATACTGAATGGTGAAGATAAGCGACTG
+TTGGTCATTATTGGCCCCTGCTCGATCCACGATCTCACCGCTGCGATGGAGTACGCCACCCGTCTGCAGT
+CGCTGCGCAACCAGTACCAGTCACGGCTGGAAATCGTAATGCGCACCTATTTTGAAAAACCACGAACGGT
+TGTCGGCTGGAAAGGACTCATCTCCGATCCAGATTTAAACGGTAGCTATCGGGTAAATCACGGTCTGGAG
+CTGGCGCGCAAATTACTTTTACAGGTAAATGAGCTGGGCGTCCCTACCGCGACTGAGTTCCTCGATATGG
+TGACCGGTCAGTTTATTGCTGATTTAATCAGTTGGGGTGCGATTGGCGCACGTACTACCGAAAGTCAGAT
+CCACCGCGAAATGGCTTCGGCACTCTCCTGTCCGGTGGGTTTTAAAAATGGTACCGATGGCAACACGCGG
+ATTGCCGTGGATGCTATCCGCGCAGCCCGCGCCAGCCATATGTTCCTCTCGCCAGACAAAAATGGTCAGA
+TGACCATCTATCAGACCAGCGGCAACCCGTATGGCCACATTATTATGCGTGGTGGCAAAAAACCGAATTA
+TCATGCCGATGATATCGCCGCAGCCTGCGATACGCTGCACGAGTTTGATTTACCTGAACATCTGGTGGTG
+GATTTCAGCCACGGTAACTGCCAGAAGCAGCACCGTCGCCAGTTAGAAGTTTGTGAGGATATTTGTCAGC
+AAATCCGCAATGGCTCTACGGCGATTGCTGGAATTATGGCGGAAAGTTTCCTGCGCGAAGGAACGCAAAA
+AATCGTCGGCGGTCAGCCGCTCACTTACGGTCAATCCATTACCGACCCGTGTCTGGGCTGGGAAGATACC
+GAACGCCTGGTCGAAAAACTCGCCTCTGCGGTAGATACTCGCTTCTGAATGCGTGCCCATTCCTGACGGG
+ATGGGCATTTCTGCGCAACTTGTTGTCTTCTCAACAAATTACTGCTTGCTCTGGCCCGCCATAATATTGA
+TAATAAGAATCATTGTTATATAAATTATTATTAATTTTTATGCGTTATACGGATAGCAGAAAACTCACGC
+CTGAAACGGATGCCAATCACAAGACCGCTTCCCCGCAGCCCATCCGGCGAATTACCAGCCAGACACTGTT
+AGGTCCGGATGGCAAACTGATTATCGATCATGACGGGCAAGAATATCTGCTCCGTAAAACTCAGGCTGGC
+AAGCTGCTGTTGACCAAGTAACCTTTAACTCGAGCAGCTGACTTCCAGCCGTTTACCCCAGTCGGGTGGA
+CGACTGACATAGTCATCATCTCTGTCGCTGAAAGGATTTCGCAACGCCTCATGCAGGCGGTGCAATTCCG
+TCATATCACCCTTTTCTGCCGCTTCAATCGCCCGTTGCGCCAACCAGTTGCGCAACACCAGAGCCGGGTT
+AACGCTTTGCATCAGTTGCTGACGCTCACTATCGGTAATCTCGTCTTGTTGCAAACGCCCCCGATAACGG
+GCAAACCAGTCATCAAATGCCGCACGATCAATAAACTCATCACGTAGCGGTGACGCCGCGCTGTGCTGCT
+CGGTCAGACTCAGCATGCGGAATGTGCGGGTATAATCGCTGCGCTCTCGCGCCATCAGACTGAATAATTC
+ATTAAGTAGCGCGTTATCCTCTTTTTGCTCCGTCATGAAGCCCAGTTTCTGCCGCATCCGTTGTCCATAA
+TGCGTCAACAAAACCTGCTGATAGCTGTCCAGGGCCTCATTCAGCGCATCAACGGCAACAAATGGTGACA
+ATGTCTGCGCCAGACGCTGTAAATTCCACAACGCGACGGCAGGTTGATTATCAAAGCTGTAACGCCCTTG
+ATGATCCGAGTGATTACAAATAAAACCGGGTTCGTAATCATCAAGAAAACCAAACGGCCCGTAATCAAGC
+GTCAGCCCCAGCAGCGACATGTTGTCGGTATTCATCACCCCATGAGCAAAGCCGACCGTCTGCCATTGGG
+CAATTAACGAGGCGGTACGTGCGACAACATCGGTAAACCAGAGACGGTATTTGTCCTCCTCATCATCAAG
+ATGTGACCAGTAATGACGAATGGCAAAGTCAGCTAACTGACGAACCTTTTCCGGCTCGCGGCGATAGTAA
+AAATGTTCGAAATGACCAAAGCGCAGATGACTTGGTGCCACACGCATCAGCATCGCGCCTGACTCCACCG
+TTTCCCGATACACTGGCGAATCGCTGGTGACGATACTTAAAGCGCGGGTCGTCGGAATGCCCAGATAATG
+CATCGCCTCACTGGCGAGACTTTCTCGTATCGTCGAACGTAAAACCGCCCGTCCATCCCCCATTCGCGAA
+TAAGGCGTCAGGCCAGCACCTTTCAGATGCCAGTCCATTGTAGTGCCATCAGCAAGCAGTTGTTCGCCGA
+GTAAAATGCCGCGCCCATCACCCAGTTGGCCCGCCCAGACGCCAAACTGATGACCACTGTAAACCTGCGC
+AAGTGGTGACATACCCGGCAGTAGGTTTTCGCCGCCCCAGACACCTGCGCTATTTTTAAACAGCGACGAT
+GGAATACTCAGCGTGTTAGCCAGTTCGGTATTATGCCAAATCAGCCGGGCATTATTTAAAGGCGTAGGGG
+AAAGTGCTGTATAGGTTTCTGGCAATTCATCGCGCCAGCGGGTAATAAAAGACAGGGTCATAGATCCTCC
+TGTTTGATAGTGTAGACGGTTACTCTCGTCTTAAACACCAGCAAACAGGAGGGTTATCGCTGAACCAACG
+TCGTTATCTGATTTATAGGAACCGCAGGCCACAGGCATCCCTGGAGAGCATGGAAATCAAAGGGGATAAT
+CTGTGCCAATATTTCTGGCGTATCAATGCCCCCCGCGATGATGCAATTGCAACAAGGGGAAATTTGCGCC
+TGGATCGCACGAATAAACGGTTCGAAGGAACGATGCGTGATTTGTTGCTGAATAAAACTTTTATCCAGCA
+TGACGCGGGTGAAAAGACCATCAAAAACCGCTTTCATTGTGCTATTACCTGCTCCCAAATTACCTAACAC
+AAGGGGATACATTTGCGATAAGGATAAAAGATCGCGATTATCTTTTCCTTCATTGAAATGCGGGTAATTC
+TCATTAATCAACAGTTCAATAAACGGATATTTTAATAGTTCGCCTGCGAAATTATCCCTGTCTAATAATA
+ATGTAGCCACGTGTGGCGTTAAATTAAGCCAGGCAAAGAGTTTATGTTGAATAAAAAAGTGTTGGCATGA
+TTTTAGTAATTCCAACTGCTCTGAAAATAATTGCCAATGTTGCTCCTCGGTAAGTTGCGCTATAACCCGA
+CTCGTCGGGATACGAACCGTACCATCTTCACTGGAGAAATGGGTAATTAACTCAACGCCGACAAGGTCTT
+GCTGGTTATCTCTTATCGGCAGGAAATAGCAATCAGAATGATAAAGATTCTCCAAAAAAATCTTCATGGT
+AACCGTCCCTCTCGAAGGATGTTTTTCAGTATCCGGCTAAAAGGGATGAGGCCATAAGACATAACAATTA
+CAGAAGGAGTAACTTTCATTTGTTCCATGTTAACCACTTTTTCAGGGGTCCTTTTTTTAGATTATCCTGA
+TTATAAACGAAGAATCCATTTACGGAATTTTTGTCTGCAAAATACTACTGTATTCAGGAGTAAATGGACG
+GCGATGTATCATCGCCGTCCATTTTTCGACATACTAGATTCGTCTCGCCTGCCAGAAATTTTTCTGCCAA
+TAGACATTATCAAGTGAGGAACGCATCACTCCCTTGCTGGTAGAGGCGTGGATAAATTGGTTGTTGGTAT
+CGTAAATACCTACATGCAAACCATTTTGTCCGGAACCCGTTTTGAAAAAGACCAGGTCACCTGGCAGCAA
+CTCGTCTTTATCAATTTGCGTGCCAATAGCGGCTTGTTGTTTGGTTTCACGGGGCAGCTGCAAATCGAAA
+CGATCACGCATCGTCACAACCACAAATCCCGAACAGTCCACACCGCGCCGCGTCATGCCACCATAACGAT
+ACGGCGTGCCATGCCAGCTTTGTAGCTGGTCGTTCAAACCGGCAATAACGGTGATCGAATCAGAAAGTCT
+GGCATTTGGCGGCGGTGCTTTATGGTGGCTACACCCGGCCAGAAACAGTGCTGTGATCAAAATAAGGCAG
+AAACGCATTCCGTACGGTTCCTCTGTTTTTTATTCTTGCATTAATTTAGCGTCGTAATTACCCGATTTTC
+AAGATACTAATGAAATCAGATGGTCGAAATCAGCATTCTGTGACCTTCGATATCCAGACGGCGAAAATTC
+ATCCCATAGGCCTGCGCCAGATTTGCCGGCGTGAGCACCTCTTCTCTGCGTCCACTGGCCAGCATTTTTC
+CACCTTTTAGCAACCACGCCCGATGCGCATGACGCAATGTGTGGTTGAGATCGTGACTGCTCATCACAAT
+CGCCAGTCCTTGCTGACACAGCGCGCTCAGAATTTTGTCTAAGGCACTTTGTTGCGCAACATCAAGACTG
+TTCATCGGCTCATCAAGAAGCAGCAATTGGCCTGCGGGATTGGCTTGTGGTGTGATTTGCAGCACCACCG
+CAGCAAGACGTACGCGTTGCCATTCACCGCCGGAAAGTTGATTGGTGCTACGTCCGAGTTTGTCATCAAG
+AGCCAGCGCCCCTGCGACATCATTCAGTAGTTCGGTACGCGTTTTATCGTGCTGATGCAGTGTCAGGTAG
+TGCCAGACCGGCATTGCAAACGGCGGCGTCTGCTGTTGTGAAAGATAGGCGCGATGCAGCGCGAGCTTTG
+TTGCAGACCATGCTTCCAGTGGTTGCCCCGCGAACTGAATGCTTCCCTTACCGCTGGTCATTCCGGCCAT
+TCGCGCCAGTAAGGTACTCTTACCCGCGCCATTCGGCCCCACCAGGTGCAGGATCTCCCCAGCCCGAACC
+TCGCCAGAAAGCGGCCCCAGGCGGGTAGATTCCGCAACATCCTGTAACTGCATCACAATAGACATTATTT
+TGCCAACGCCAGTTTAATGCTTTCCATCACAATGGGATCTTCCGGCGTCATATCCGGGGAAAAACGCTGG
+ATGACCAATCCGTCCCTGCCAACTAAAAATTTCTCAAAATTCCATAAAATATCATCAGGGTACAGCGGTG
+CACGACCTTTGCTGACCATTCGGGCATAGAATCCGCTCTCTTCCGGCGCGACTGCAGTCGGCGCTGCGGC
+AATCAATTTTTGATACAGCGGATGACGTCCTTCGCCATTAACTTCAATCTTACTGAACATCGGGAACGTC
+ACCCCCCATGTGGTGGTGCAATAAGTTTTAATCTCTTCATCGCTACCCGGTTCTTGCTCCAGAAACTGGT
+TACACGGGAATCCCAGCACCACAAAACCACGATCAGCCCAGGCTTTCTGAATATTCTCCAACTGCTCATA
+TTGCGGCGTTAAGCCACACTTTGAGGCGACATTGACAATCAACAGCACATTACCGGCGTACTTCTCCAGC
+GTGGTCACTTTACCGTCAATATCTTTCACTACGGTCGTCAGAATGGAATCTTGCATCGTTTCTCCTGGGT
+ATGGTCAGTAAAAATCTTAGCTTTTAATCATAGACCGTGTTTTGCGGCTAACGTCCTGCTTTTAACAATA
+ACCAGATAAACACCGGCGCACCCAACGTTGCGGTGACCACGCCAATTGGCAGCTCTGCGGCAGCTAATGC
+CAGGCGCGCTACAATATCGGCCAGCAGCAATGCGCTCGCCCCTGCCAGCGCGCAGCCGGGAAGTAATACG
+CGATGATCGGTTAAACCACACAGCCGGAGAATATGTGGGATCACCAGACCAATAAAGCCGATAGCACCCG
+CCAGCGCCACACTGACGCCAACCATCCAGCCGGTCGCTGCCACCAGCACATTGCGCCAGAACCACAGGGG
+TAAACCCAGTTGCCGCGCCGAGATCTCGCCAAGTGCTAACATATTCATCGGCCTGGACTGACAACAGATC
+CACAACAACACCGGGATCAATGCCAGCATCAGCCAGCTTTGCCGCCAGTCTACGCCGCCAAAACCGCCCA
+TCATCCAGTACATCAGCTGACGTAAATCAACAGAGGTGGAAAAGTAGATAGCCCACGTCATTAGTGCGCT
+ACAGATAATCCCTAATGCAACGCCAGCCAGCAATAACCGACTGGTCGAAAGATGACGACGGGCGAAACGT
+AAGAGTATTAAAGTGATGATAAGCGCGCCAGCAATCGCACACAGCCCTAGCGCCCAGTTGGGGAGTTGCC
+CTTGCCCAAGTAATACCGCGGCGATAAGCCCCACGCCTGCGCCGTTAGAGACGCCAAGTAGTCCAGGTTC
+TGCCAGAGGATTTTCAAACAACGCCTGCATTACAGCGCCGGATATAGCCAGCGCCGCACCAACCAGCAAT
+ACAGCCAGCGTACGTGGCAGGCGAATTTGCCAGACGAACAGTTCGCCACGAGGAGAAAACCAGTCACCTG
+GCAAAATCCATAGTTCACCGGCGCAAAGGCTTAAGAGAAGCGCCAGTAGCATCAAAACTGACAAGCATAA
+TAACCAGCGAATATTTTGTCGCTGTTGTTGGCGGGCAAGTGTCAGCATGGTATCCGTTCTGCTGAAGTGT
+CATGGCGTTGATTTTACGGTGACTCTTCGACAGTGAAAAGAAAAAAGGCCGCAGAGCGGCCTTTTTAGTT
+AGATCAGATTACTCGTCTTTGGGCGAAGCGTTTTCGACCCGGCTTTTTAACTTCTGCCCGGGTCTGAAGG
+TCACCACGCGCCGTGCTGTAATGGGAATATCCTCGCCCGTTTTCGGGTTACGTCCCGGGCGTTGATTCTT
+ATCACGCAGATCGAAGTTACCAAAACCAGAGAGTTTCACCTGTTCGCCGTTTTCCAGAGCGCGACGGATC
+TCTTCGAAAAACAGTTCAACCAGTTCTTTGGCATCCCGCTTGCTAAGCCCAAGCTTATCAAACAGATATT
+CTGACATTTCAGCTTTTGTAAGCGCCATAGGTTCAATCCCTCAATGATGCCTGGAATCGCTCTTTTAATG
+CCTCTACACATTTGGCGACGGTAGCGGCAATCTCCTCTTCTTCGAGTGTACGGCTGGTATCTTGCAGGAT
+CAGGCTTATGGCGAGGCTCTTATACCCCTCCGCAACACCCTTACCGCGGTACACGTCAAATAAGTTTACG
+CCAACTACCTGATTTACGCCAACTTTCTTACATTCGGATAAAATATCCGCTGCGGGAACGTTTTCTGCGA
+CCACCACCGCGATGTCACGACGGTTCGCCGGGAAGCGAGAAATCTCGCGCGCCTGAGGCACCACGCGGTC
+TGCGAGCTTGTTCCACTCCAGTTCGAACACCAGAGTGCGACCGTTAAGATCCAGTTTACGTTCCAGTTCA
+GGATGAACAACCCCAACAAAACCAATACGTTCACCTTTCAGATAAATCGCTGCGGATTGCCCCGGATGCA
+GTGCCGGATTCGCTTCTGCACGGAACTCAACCTCATTCAGTTTACCGGTCAGGTCGAGAACGGATTCAAG
+ATCGCCTTTCAAATCATAGAAATCAACGGTCTCTTTTGCCAGGTTCCAGTGCTCTTCGTAACGGTTACCG
+CAAATCACACCGGCTAACATCAGATCCTGACGAATACCCAACGGTGCCTGAGTATCTGGCACGAAACGCA
+GACCGCTTTCGAAAATGCGTACACGATTCTGCTGACGGTTCTGGTTGTACACCACGGTTGCCAGCAGGCC
+GGTCCACAGGGAAAGACGCATTGCTGACATTTCAACAGAGATCGGGCTTGGCAGCAGTAAGGCTTCAACG
+CCTGGATGGATCATCTGCTGCACTTTCGGGTCAACGAAGCTGTAGGTGATCACTTCCTGATAGCCTTTGT
+CGTTGAGCAGCGTTTTTACGCGCTTGAGCGACAGGTCAGCTTCACGGTGAGTCCCCATAATCAGGCTTGC
+CTGTACCGGCTCATCCGGGATGTTGTTGTAGCCGTAAACACGCGCGACTTCTTCGACCAGATCTTCTTCA
+ATCTCCATGTCGAAACGCCAGCTCGGCGCAACTGCCTGCCACTCGTCTTTGCCTTCGGTCACTTCGCAGC
+CGAGACGACGCAGAATGTCTGTTACCTGCTCATCAGCAATATGATGGCCGATCAGGCGATCCAGTTTGCT
+ACGACGTAAAGTGATGGTTGCACGCTTCGGCAGCGTTGCTTCGTTAGTGATATCAATTACCGGACCCGCT
+TCACCACCGCAGATGTCGATCAGCAGACGGGTCGCACGTTCCATCGCTTTGTGCTGCAGTGCCGGATCAA
+CGCCACGCTCATAACGGTGAGACGCATCAGTATGCAGGCCATGACGACGAGCACGACCGGTGATAGACAG
+CGGGCTGAAGAAAGCGCATTCCAGCAGGACGTTTTGCGTTTCGTCATTCACGCCAGAGTGTTCGCCACCA
+AAGATGCCGCCCATCGCCAGCGCCTTGTTGTGGTCGGCGATGACCAGGGTGTCAGCATCCAGCTTCGCTT
+CAGTGCCGTCGAGCAACACCAGCGTTTCGCCCTCTTTCGCCATCCGCACCACAATGCCGCCTTCAATGCG
+ATCTTTATCGAAAGCGTGCATTGGCTGGCCCAGTTCGAGCAGCACATAGTTGGTGACGTCAACAACTGCA
+TCGATAGAACGGATCCCGCAACGACGCAGTTTTTCTTTCATCCACAGCGGAGTTGGCGCTTTAACGTTAA
+TGCCTTTTACCACACGGCCAAGATAGCGCGGGCAGGCATCCGGCGCTTCTACTGCAATCGGCAGCGTGTC
+GTCGATGGTCGCACCAACCGGAACGATTTCCGGTTCAACCAGCGGCAGCTGGTTCAACACGGCAACGTCG
+CGCGCAACACCAATGATACCTAAGCAGTCGGCACGGTTTGGCGTCACGCTAATTTCGATGGTGTTGTCAT
+CGAGTTTCAGGTATTCGCGGATGTCGGTGCCAATCGGCGCATCCGCAGGCAGCTCGATAATGCCGTTATG
+ATCGTCAGAAATTCCCAGCTCAGAGAAGGAGCACAGCATCCCTTCAGACGGTTCGCCACGCAGTTTCGCG
+GCTTTAATTTTGAAATCACCCGGCAGAACAGCACCAATGGTCGCTACCGCCACACGCAGGCCCTGACGGC
+AGTTTGGCGCACCGCAGACGATGTCCAGCAGGCGATCGCCGCCGACATTCACTTTTGTCACACGCAGTTT
+GTCAGCGTTCGGATGCTGCGCACACTCAACCACTTCACCAACGACCACGCCGTGGAAGCTACCGGCAACC
+GGTTCTACACCATCAACTTCCAGGCCCGCCATCGTGATTTGATTTGCCAGCGCGTCGCTATCAATCGCCG
+GGTTCACCCATTCGCGTAACCACAGTTCACTGAATTTCATAATCTATTCCTGCCTTATTTAAACTGTTTG
+AGGAAACGCAGATCGTTTTCGAAGAATGAACGCAGGTCGGTGACGCCGTAACGCAACATGGTCAGACGCT
+CCATCCCCATCCCGAAGGCAAAACCAGAGTAAACTTCCGGGTCGATGCCAACGTTACGCAGCACGTTCGG
+ATGCACCATCCCGCAGCCCAGTACTTCCAGCCATTTACCGTTTTTCCCCATGACGTCCACTTCTGCAGAA
+GGTTCGGTAAACGGGAAGTAGGAAGGACGGAAGCGGATCTGCAAATCTTCCTCAAAGAAGTTACGCAGGA
+AGTCGTGCAGCGTGCCTTTCAGGTTGGTAAAGCTGATGTTGGTATCAACAATCAGACCTTCCATCTGATG
+GAACATCGGCGTGTGAGTCTGGTCGTAGTCGTTACGATAAACGCGGCCAGGCGCGATGATACGAATCGGT
+GGCTGCTGGGCTTTCATGGTGCGGATCTGTACGCCAGAGGTCTGGGTACGCAGCAGGCGGGTAGCGTCAA
+ACCAGAAAGTGTCGTGGTCAGCGCGCGCCGGGTGGTGACCAGGAATGTTCAGAGCATCGAAGTTATGATA
+ATCGTCTTCGATTTCCGGCCCGGTTGCCACGGTAAAGCCAAGCTCACCGAAGAAACTTTCGATACGGTCG
+ATGGTACGGGTCACCGGATGCAGCCCACCGTTTTCAATGCGACGACCCGGCAGGGAGACATCAATCGTTT
+CCGCCGCCAGACGCGCATTCAGTGCGGCGCTTTCCAGTTCCGCTTTACGCGCATTCAGCGCCTGCTGAAC
+CTGCTCTTTCGCTTCGTTGATAACCGCACCAGCTGCCGGACGCTCTTCTGGCGGCAGCTCACGCAGGGTC
+GTCATCTGAAGGGTTAAGTGCCCTTTTTTACCCAAATATTCGACGCGCACATTATCTAACGCGGCAACAT
+CTGACGCCTGGCTAATGGCCGCCTTCGCACTGGCAACCAGTTCTGCGAGATGTGACATGTTTTTCCTCAT
+TGTGTCAGTGGTGACACTGGTTCGTTGGACTTAGAGCCCATCCCATCAGGCTATTTTACTTGCCATTTTG
+GTCCCGGGCAGTGCTCGAAATCCTCACGTACTTAAGTACGCTCCGGTTTCTCCGCGCTGGCCGTGTCCAG
+ACTGGCTGCGACAATTACGCCTGATGAGACAGGCTTTTTATTTTTCAAAACGCGCATACAAAAAAAGCCT
+CCACTGGGAGGCTTTCAGGCGCTGTTTTCCGTTTCTCTTCTCACGCGCTAGCCTCCTGGAGTCAGGTGCT
+AAAGTAAAAAAAGAAGCGGAAAATAGCAGCATTCATTGCTTGCGTTACCTTTTGGTACTCTTCAAAAGAC
+CTTTATTGAAAAGGCTACGGCGATAAAAGTCAATGTTTTGATGGCGTTGAAACGAAAAGAGGGAGACTAG
+CTCCCTCTTTCAACTGGCTTATGCCAGAGCTGCTTTCGCTTTTTCAACCAGAGCGGTGAACGCTACTTTG
+TCGAATACTGCGATATCAGCCAGGATCTTACGGTCGATTTCAACAGAGGCTTTTTTCAGGCCATTGATGA
+ATTTGCTGTAAGAAATACCGTTCTGACGTGCTGCTGCGTTGATACGCGCAATCCACAGTTGACGGAACTG
+ACGCTTACGTTGACGACGGTCGCGGTAAGCATACTGACCAGCTTTGATAACAGCCTGGAAGGCAACGCGG
+TATACGCGAGAACGCGCACCGTAGTAGCCTTTAGCTTGTTTCAAAATTTTCTTGTGACGTGCGCGTGCAA
+TAACACCACGTTTTACGCGAGCCATATGTGCTCTCCTGTATCTATATTCTAATTAAAAAGTTAAAAACGT
+TAACGGCTTATGCGTACGGCAGGCACGCGATTACCAGGCCCAGATCGCCTTTGGAAACCATGGCTTTCGG
+ACGCAGGTGACGTTTACGTTTGGTCGCTTTTTTGGTCAGAATGTGACGCAGGTTAGCGTGCTTGTGCTTA
+AAACCACCTTTACCGGTTTTTTTGAAGCGCTTAGCAGCACCGCGTACGGTCTTAATTTTTGGCATTTTAA
+TAACTTCCACTTCGCATTGTTAATAAACGAAACAAAGGCGAACAATGCCTGTGAAGCCCAAAGGCTCCAC
+AGACAGTGCTACTTGAAGGCCTTACTGTTTCTTCTTAGGAGCGAGCACCATGATCATCTGGCGGCCTTCG
+ATCTTCGTTGGGAAGGATTCGACCACTGCCAGTTCTTGCAAATCGTCTTTCACGCGATTAAGCACTTCCA
+TACCGATTTGCTGGTGCGCCATCTCACGACCGCGGAAACGCAGCGTGATTTTGGCTTTATCACCCTCTTC
+GAGAAAGCGAATCAGGCTGCGGAGTTTTACCTGATAGTCGCCTTCATCTGTACCAGGACGGAATTTAATT
+TCCTTAACCTGGATAACTTTTTGCTTTTTCTTCTGTTCCTTAGAAGACTTGCTCTTTTCATAGAGGAATT
+TGCCGTAATCCATTATACGACAAACCGGCGGCTCGGCGTTAGGGCTGATCTCGACTAAGTCTACTCCGGC
+TTCTTCTGCTTTCTCCAGAGCTTCTCTCAGACTCACAATACCAAGCTGCTCGCCTTCCAGACCTGTTAAG
+CGAACTTCCTGGGCGCGAATTTCGCCATTGATACGGTTAGGGCGCGCCGTTTGAACTCGTTTTCCGCCTT
+TAATACCTTATTCCTCCAATTGTTTAAGACTGCGGCTGCGAATCTCTTGTTGCAGCTTCTCGATCACTTC
+ATTTACGTCCATGCTTCCCAGGTCTTTACCACGGCGGGTGCGAACGGCAACTTTGCCTGATTCCACCTCT
+TTATCACCACAGACCAGCATATATGGGACGCGACGCAAAGTGTGCTCGCGGATTTTAAAGCCAATCTTCT
+CATTTCTCAAGTCTGCTTTAACACGAATGCCCGCATTTGATAGTTTTTGCGTCAGTTCGTTAACGTATTC
+AGACTGAGAATCGGTAATATTCATGATAACAACCTGAACTGGCGCAAGCCAGGTCGGGAAGAAACCAGCA
+AATTCTTCGGTCAGGATACCGATGAAACGTTCCATCGACCCCAGAATTGCGCGGTGAATCATTACCGGTA
+CTTTACGTTCATTGTCTTCGCCTACATAAGAAGCGCTCAGACGAGAAGGCAAAGAGAAGTCCAGCTGTAC
+TGTACCGCACTGCCATGCACGATCGAGGCAGTCATACAGGGTAAATTCAATTTTCGGACCGTAGAAAGCG
+CCTTCACCCAGTTGATATTCAAACGGGATGTTGTTTTCTTCCAGCGCAACCGCCAGGTCCGCCTCAGCAC
+GATCCCACATTTCGTCGCTGCCAATACGTTTTTCAGGACGAGTGGAGAGTTTGACGACGATCTTCTCGAA
+GCCAAAAGTGCTGTACATATCATAGACTAAACGGATACATCCGTTAACTTCATCGCGAATTTGTTCTTCA
+GTACAGAAGATATGCGCGTCATCCTGGGTAAAACCACGCACGCGCATCAGGCCATGCAGCGAACCTGACG
+GCTCGTTACGGTGGCAGCTACCAAACTCGGCCATACGCAGCGGCAGATCGCGATAAGACTTCAGCCCCTG
+GTTGAAAATTTGTACGTGCCCCGGGCAGTTCATCGGCTTAATGCAGTATTCACGGTTCTCAGAAGACGTG
+GTGAACATTGCATCTTTGTAGTTGTCCCAGTGACCGGTTTTTTCCCACAGGACACGGTCCATCATGAACG
+GACCTTTAACTTCCTGATACTGGTACTCTTTCAGTTTAGAACGAACAAACACTTCCAGTTCACGGAAGAT
+GGTCCAGCCGTCGTTGTGCCAGAATACCATACCCGGCGCTTCTTCCTGCATATGGTACAGGTCGAGCTGT
+TTACCGATTTTACGGTGGTCGCGTTTCGCGGCTTCTTCCAGGCGTTGCAGGTAAGCGTTAAGCGCTTTTT
+TGTCTGCCCACGCCGTACCGTAAATACGTTGCAACATTTTGTTATTGCTGTCGCCACGCCAGTAAGCCCC
+TGCCGTTTTCATTAGTTTGAAATGATGGCAGAAACGCATGTTCGGTACGTGCGGACCGCGGCACATATCG
+ACATATTCTTCATGGAAGTACAGACCTGGCTTGTCATCATGGGCGATGTTTTCGTCAAGAATGGAGACTT
+TGTAGCTCTCCCCACGGTTGGCGAAAGTTTCACGCGCTTCATGCCAGCTGACTTTCTTCTTAATGACGTC
+GTAGTTTTTCTCAGCAAGCTCATGCATCCGCTTCTCGAGTGCTTCGACATCTTCCTGGGTTAACGTGCGG
+TCAAGATCAACGTCGTAATAAAAACCGTTGTCAATAACCGGGCCGATTGCCATTTTGGTATGCGGCCAAA
+GTTGTTTAATCGCGTGCCCTAACAGGTGCGCACAGGAGTGACGAATGATCTCCAGACCTTCTTCGTCTTT
+GGCAGTAATGATCGACAGTTGTGCGTCGTTTTCAATCAGATCGCAAGCATCAACCAGTTCGCCATTAACG
+CGCCCTGCGATACAGGCTTTCGCCAGACCTGGACCAATGTCCAGCGCAACATCCATGGGGCTTACAGCGT
+GGTCGTAATGGCGTTGGCTGCCATCAGGAAGAGTTATAACAGGCATTTTATATCCTTATTTGCAGTGGTG
+ACCCACACGAAAGATCACATACAAAGAAAAATTTGTTTATTAACAGTTCATTGCGAAACCATCTAGCCAA
+CAAATGCTAAATTGGTCCGCAATCAGGTACACAAATGAAAGACATTAACCTCTCACCTTCCACCCGGTTG
+AACGATGTTAACACTAAAAAAAGGGAGATTGTACCTTTCCGTTTCACATTGATTCGATTCGCAATTCGTT
+TGTAGTGAGTACACCAGCAAAACGCTTAAAGAACCACTGATAACATCACAGAGTGTCTGAAAGGTTTACT
+ACGAGCGGATTTACAGCAGCATAAACTGAATCCAGCAAAGTTCGTTGCGTGATTTGGCGGTAGTATTTAA
+ACGATCATGAGATTAATGACGAAGTAGTCATATCGCAATGATAAAAGTGACACAATTCTTATAGCAATTT
+TTCGTGCGCATTTCGTTCTGGCGATAATAATCAATCATCATCCTCAAAATCTCCAGACATATATAAGGCG
+AATAGATTATGAGTAAAAACGATATCATTATCAGAACTCATTATGAGTCTCCTCTTAGAATGCACATCGA
+TAGCGACATACTAACGCCTTCATCAGAGCCTATTAATCAATTTGCGCGCCAGCTCATCACCCTACTTGAT
+ACCTCTTATTTAAGTTCGATGCTGTCATACTGTGTTACTCAGGAATTTACCGCAAGCTGTCGAAAAAATA
+TCACACAATTGTTATACCACTGCCCTTTTTATCATTAACTTTGCCACTTCACCCATCCATGCAGAAAATA
+CACTCATTACATTACACTATAAAAAAGAAATCATTTCCTTATTCCTGGAAACCACGCCGATTAAAGCTAA
+CCATTTGCGAAGCATACTGGATTATATTGAACAGGAACAGTTAACTGCCGAAAAACGTAACCATTGCATG
+AAACTGTCCAAAAAAATTCATAGAGAAAAAACCATACAGCCAACAGTAAATCTCAATGATAGTGCATTTT
+TTTGCAATCTCCTTCTGACACTATTTTTTGTCGCCATCTGTCATTAAAATACGCCCTTGATTCATTGAGA
+AATGGAAAAGGCAAAGTCAACCTGATTAAACATTACTCCTCTGTTGAATCCATACAGCAGCATGTTTCCT
+TAGTCCGGGACGCGGAGTTCAGAGCATTACTTCGCCATCCTCCTGCAAGGAGTCGCGTTATCGCGAGTCA
+GGATTTTGGCTTTGCTTTAGATATTTTCTTCTGTCGAATGATGGCAAACAATGTCAGTCATATGTCCGCG
+ATTTTATATATAGACAATCATACTTTGTCAGTAAGTAAAGATGTCGTGTTATCTTATATATCAACGTTGG
+GTACTTTTGAAAAAAATATTCTTTTAGCCAACGTCAGTTATTTACACTGTTAGCCGCTAAAAATCATGAC
+AACATGTCAGCTGTTCATATAGCCATTCATCATAATCATCATAAAACTGTAGAAACATATTATGCTGCTA
+TAAATGTAATCAGCCAAAGCCTGAGTTTTAGTGCTGATGAACTAAAGACGTATTTATAACCCGCTATTTA
+TGATATTTGTATATCGATACATAATTTTTTTCATAAAATGCAGAAACAGTGACCAGGTGTACAAACGCCA
+CCCGACGACTGTAATAACAAAAAATCCCTTGATGCCTGTCCCTTTTGTTACACTCCGTTATCACGCACAA
+GAGATATGCAGGACACTGGTATGCCGACTAAACGCTTTGATAAAAAACACTGGAAGATGGTGGTGGTGCT
+ACTGGCAATCTGTGGCGCTATGTTGTTGGTACGTTGGGCAGCAATGATTTGGGGCTGAGCAGTGACAAAC
+GAAAACAGCCAGACCGCATAACACGGTCCGGCAGATAATTTTACATGCTGTAACCCAACGATAAGGTTGT
+CCGACGATCGGTATGTTCCGGTGCAGACTCTGGAGGTTCAGAGTTCCATGTAACGTTGTAAGCCACCTTC
+AGTCCAAAATGTTCATTAATAGCAACATTTAATGCGCTTTCGGAGTTCAGCGTTGTGTCTTCCGCGCCAA
+AGACCGAAACACCCTGCGTAAATTTAGCGTTGTCAGTCAACTGCCATGCATAAGCCCCGGAGGCATAGCC
+CAGCGGCTGGGTTTCACTGGCATTGTCGGTATATTTGTCGTAACGCACACCAGGGCCGAATTCAAAGCGG
+AAACTGTGTACCGGGCCATTCAAAAACTGGCGACCATAACCCGCGGTCAACACATCGCGCTCTCGATAGC
+CGTTATAACGGTCTGTCAGCCAGCTTGCCTGACCAAATAAATAGTCATAATCAGTTAAATTAAAACGGCT
+ACGCCCGCCCGCCGCATATTTTTCTGAAGAACGCTCATCATTAGAAGAAGTATTACTGGCGTTCCCCCAC
+AGCGACCAGGCAGTGGTTTGTCCATACCAGGTCATAGTGGTGTCAGCCGTAAGTGAGGAGCTTTTCGTAT
+TGCCTGATTGTGCAAGATATCCTGCGTTCAGATTACCTTCGAAAGGTTTTTTAGCGCTGGCAGGATCGTC
+CATGACAGTAAAAACGGAATCATCGGCAGCTGCATTCAGTGACGCAAACATGCCCCCCGCCAACATAACG
+ATGGCAGGAACTGTCTTCAAAAGCTTCATTTATCAAGAGTCCGTACAACAAAAAAAGAGACCATCGCGGT
+CCCGGAAACTTTCTTAAGGATCAAAGATTAGCGTCCCTGGAAAGGTAACGAATTATAAAAAGGCGCGAAT
+AACTTAGCAATGTATTCTTATTTCATTTTTTGAATAAGCATGTGGCGAAAACAGATTTTTATTTATATAT
+ATTTATCTGCAAAATTTTAAATAAAGCTCCAATAAATCATATTGTTAATTTCTTCACTTTCCGCTGATTC
+GGTGCCAGACTGAAATCAGCCTATAGGAGGAAATGATGGTACGTATCTATACGTTGACACTTGCGCCCTC
+TCTTGATAGCGCAACAATTACCCCGCAAATTTATCCCGAAGGAAAACTGCGCTGTACCGCACCGGTGTTC
+GAACCCGGTGGCGGCGGCATCAACGTCGCCCGCGCCATTGCCCATCTTGGAGGCACTGCCACAGCGATCT
+TCCCGGCGGGTGGCGCGACCGGCGAACATCTGGTTTCACTGTTGGCGCATGAAAATGTCCCCGTCGCTAC
+TGTAGAAGCCAAAGACTGGACCCGGCAGAATTTACACGTACATGTGGAAGCAAGCGGTGAGCAGTATCGT
+TTTGTTATGCCAGGCGCGGCATTAAATGAAGATGAGTTTCGCCAGCTCGAAGAGCAAGTTCTGGAAATTG
+AATCCGGGGCCATCCTGGTCATAAGCGGAAGCCTGCCGCCAGGTGTGAAGCTGGAAAAATTAACCCAACT
+GATTTCCGCTGCGCAAAAACAAGGGATCCGCTGCATCGTCGACAGTTCTGGCGAAGCGTTAAGTGCAGCA
+CTGGCGATTGGTAACATCGAGTTGGTTAAGCCTAACCAAAAAGAACTCAGTGCGCTGGTAAATCGCGAAC
+TCACCCAGCCAGACGATGTCCGCAAAGCCGCGCAGGAAATCGTTAATAGCGGCAAGGCCAAACGGGTTGT
+CGTTTCCCTGGGTCCACAAGGGGCGCTGGGCGTTGATAGTGAAAACTGCATTCAGGTGGTGCCACCACCG
+GTGAAAAGCCAGAGTACCGTTGGCGCTGGTGACAGCATGGTCGGCGCGATGACACTTAAACTGGCAGAAA
+ATGCCTCTCTTGAAGAGATGGTCCGTTTTGGCGTAGCTGCGGGGAGTGCAGCCACACTCAACCAGGGAAC
+ACGCCTGTGCTCCCATGACGATACGCAAAAAATTTACGCGTACCTTTCCCGCTAACAAAAACATTCCCCC
+AGCATTGGGGGAATCACCACCAACCTGTCGGCAACGCGTTTCTCCGACTATGCTCAAAAGTCATGTGATA
+ACAAAGGGGTGAACTATGGCCAGTGGCGATCTTGTCCGTTATGTAATAACCGTCATGTTGCATGAGGATA
+CATTGACTGAAATTAACGAGTTGAATAATTACCTGACTCGCGACGGTTTTTTGCTCACCATGACGGATGA
+TGATGGCAATATCCATGAGCTGGGGACTAACACTTTTGGACTTATCAGTACCCAAAGTGAAGAAGAAATT
+AGAGAACTGGTTTCGGGGCTTACCCACAGTGCAACCGGCAAAGATCCTGAAATCACCATCACGACCTGGG
+AGGAATGGAATAGCAACAGAAAATAAATGGTTTTTGGGCAATAATCAGTCTGTGGTGTGCGTTAGCTCGT
+GTTTTTACACCGCATTCTTGCGCTAACCTTATGATCTGGCAGACAACATGGGAGAGACATCATGTGGCAG
+GCAATCAGTCGTCTTTTGAGCGAGCAGTTAGGTGAAGGCGAAATCGAACTGCGTAATGAACTGCCTGGCG
+GAGAAGTCCATGCCGCATGGCATTTGCGCTATGCAGGACGTGACTTTTTCGTCAAATGTGATGAAAGGGA
+ACTGCTTCCCGGTTTTACCGCCGAAGCCGACCAACTGGAGTTACTGTCGCGTAGTAAAACCGTCACCGTG
+CCTAAGGTTTGGGCAGTTGGCGCTGACCGTGACTACAGTTTTCTGGTGATGGATTATCTCCCACCTCGCC
+CGCTGGATGCGCATAGTGCATTTATTCTTGGTCAGCAAATTGCGCGTTTACATCAATGGAGCGACCAACC
+ACAATTTGGCCTCGATTTCGATAACGCGCTCTCCACAACTCCACAGCCCAACACCTGGCAACGTCGCTGG
+TCAACTTTTTTTGCTGAACAACGGATTGGCTGGCAGCTGGAACTGGCGGCAGAAAAAGGGATCGCTTTCG
+GCAATATCGATGCCATCGTCGAGCATATTCAGCAGCGTCTCGCCTCGCATCAACCGCAGCCTTCTCTGTT
+GCACGGCGATTTATGGTCCGGCAACTGTGCGCTGGGTCCGGATGGCCCGTACATTTTCGACCCGGCCTGT
+TACTGGGGTGACCGAGAGTGCGACCTGGCGATGTTACCGCTGCATACTGAACAGCCGCCACAAATCTATG
+ACGGCTATCAGTCAGTATCCCCGCTACCTGCCGATTTCCTTGAACGTCAACCGGTTTACCAACTCTACAC
+GCTGTTAAATCGTGCAAGGTTATTTGGCGGTCAGCATTTGGTTATTGCTCAGCAGTCACTGGATAGATTA
+TTAGCAGCATGATATGGGTTGAGGATAATGGCCGCTCCGTGCGGCCTTTTGATTAAATAAACCCAAGCAG
+AGAAAAGAACACATAACCTGCAGCAATACAAATAAGCGGCAGGATATACAGCGAGAAAAACTGCAGGAAA
+ATAGTATGGTGCGGAACAACAATACGTGACTCAATTTGTTCACGCGTTAGCCCCTCTTCCCCTTTGGCTT
+TTTCCAGAATGAGTTGATCTTCAACACCTTCCCGCAAGAAGCGCGCCTGGCGACTCATCCGGGCTCCGGA
+ATCCTGCAACGCCAGTCCGACAAAAATCAGGATGAAAATCACCCAGAACATAACGTTCACGCCACCATTA
+AAATTTGGCGTCGGAGAGTTGTACCAGAACAGATTCAAAAAAGGCGTATTCGCCTGCATCATATCGATCA
+TGACATGAGTAAAGTCGAGCATGACCGCATTAATGCCTTCCTGGTTTTCCTGCCGGGTATTCATAAATTT
+CAGCAAAGAAATCAATGTAGAGATCAATGCAGGTATAAAAATCACCCAACCCAAAATCCTTTTCAAAACA
+GCAATGCGTCCAGCTTGTTGATACGTCATGAGTTCTCCTTGATTAAGACGCGTCGTTTCACTTAGTTTAC
+CTGTAGATATCTGTTTTCGCCCATTCTTTAAAGGCGATATGATAGGCGCTTAATCATAAGCACGGCTTAA
+TACCTTACATATAATGCTCTAAAGGAGAGGTTGTAATGTCAACCCCGCGTCAGATTCTTGCTGCAATTTT
+TGATATGGATGGATTACTTATCGACTCAGAACCTTTATGGGATCGAGCCGAACTGGATGTGATGGCAAGC
+CTGGGGGTGGATATCTCCCGTCGTAACGAGCTGCCGGACACCTTAGGTTTACGCATCGATATGGTGGTCG
+ATCTTTGGTACGCCCGGCAACCCTGGAATGGGCCAAGCCGTCAGGAAGTAGTAGAACAAGTTATTGCCCG
+TGCTATTTCACTGGTTGAAGAGACACGTCCATTATTGCCAGGTGTGCGTGAAGCCGTTGCGTTATGCAAA
+GAACAAGGTTTATTGGTGGGGCTGGCCTCCGCGTCACCGCTGCATATGCTGGAAAAAGTATTGACCATGT
+TTGATTTACGCGACAGTTTCGATGCCCTCGCCTCGGCTGAAAAATTGCCTTACAGCAAGCCGCATCCGCA
+AGTATATCTCGACTGCGCAGCAAAACTGGGGGTTGACCCTCTGACCTGCGTGGCACTGGAAGATTCGGTA
+AATGGCATGATCGCCTCTAAAGCAGCCCGCATGCGTTCCATCGTCGTTCCTGCGCCAGAAGCGCAAAATG
+ATCCACGTTTTGTATTAGCAAACGTCAAACTCTCATCGCTGACAGAACTCACCGCAAAAGACCTTCTCGG
+TTAATGACCAGGGGGCAGTGATCACACTGCCCCTGGTTCTTTATCTGAATTTGCATTCAACTGACGGATT
+AATCGCCAATTTAAGAGAAAGAGTTACACCGTCACCACTTCCGTGCACTGTATAAAAACCCTATACTGTA
+CGTATCGACAGTTTAGTGAGTTTTATCATGACGGCGGAAGGTCACCTTCTCTTTTCTATTGCTTGTGCGG
+TATTTGCCAAAAATGCCGAGCTGACGCCCGTGCTGGCACAGGGTGACTGGTGGCATATTGTCCCTTCCGC
+AATCCTGACGTGTTTGTTACCGGACATCGATCACCCAAAGTCGTTTCTTGGGCAGCGATTAAAGTGGATA
+TCAAAACCGATCGCCCGCGCTTTTGGGCATCGTGGTTTTACCCACAGTCTGCTGGCGGTATTTGCGCTGC
+TGGCAACCTTTTACCTTAAAGTTCCTGAAAGCTGGTTCATTCCGGCTGATGCGTTGCAGGGTATGGTGCT
+GGGTTATTTGAGCCACATACTTGCCGATATGCTGACACCCGCCGGTGTTCCCCTGCTCTGGCCATGCCGC
+TGGCGTTTCCGCTTGCCTATCCTGGTTTCCCAAAAGGGCAACCAACTGGAACGTTTTATCTGCATGGCAT
+TATTTGTCTGGTCGGTATGGATGCCCCATTCATTACCCGAAAACAGCGCTGTTCGTTGGTCATCGCAAAT
+GATCAATACCTTACAGATCCAGTTTCATCGGCTTATTAAGCATCAGGTTGAATACTAAAAAGGCAAAAAT
+CGCCTTTCTGGAATAAGCAATTCCATTTGAATATAAGAGTCAGCTCACAGTTCTGTTAATCTTGCGCCAA
+CACTATGACTGTTACGCAGTGATAGAAATAATAAGATCAGGAGAACGGGGATGAACTTTCCATTAATTGC
+GAACATCGTGGTGTTCGTTGTACTGCTGTTTGCGCTGGCTCAAACCCGCCACAAACAGTGGAGTCTGGCG
+AAAAAAGTGCTGGTGGGTCTTGTGATGGGTGTGGTTTTTGGCCTTGCCCTGCATACCATTTATGGTTCTG
+ACAGCCAGGTACTTAAAGATTCTGTACAGTGGTTTAACATTGTTGGTAACGGCTATGTTCAACTGCTGCA
+AATGATCGTTATGCCGCTAGTCTTCGCCTCTATTCTGAGCGCGGTTGCCCGTCTGCATAACGCATCTCAG
+TTAGGCAAAATCAGTTTTCTGACCATCGGTACGCTTTTGTTTACCACGCTGATTGCAGCGCTGGTCGGTG
+TGCTGGTCACCAACCTGTTTGGTTTGACGGCTGAAGGTCTGGTTCAGGGTGGTGCAGAAACTGCACGTCT
+GAACGCCATCGAAAGTAACTATGTTGGTAAAGTCTCTGACCTGAGCGTTCCGCAGCTGGTCTTGTCCTTT
+ATCCCGAAAAACCCGTTTGCCGATCTGACCGGAGCCAATCCGACGTCAATTATCAGCGTGGTAATTTTTG
+CCGCATTCCTCGGCGTAGCTGCGCTGAAACTGCTGAAGGATGATGCGCCGAAAGGTGAACGCGTCTTAAC
+CGCTATCGATACCCTGCAAAGCTGGGTGATGAAACTGGTTCGCCTGGTCATGCAGTTGACCCCTTACGGT
+GTTCTGGCGCTGATGACCAAAGTGGTTGCAGGTTCTAACCTGCAAGACATCATCAAACTGGGAAGTTTCG
+TTGTTGCGTCCTACCTCGGTCTGCTGATTATGTTTGCAGTGCATGGCCTTCTGCTGGGCATTAATGGCGT
+GAGCCCGCTGAAGTACTTCCGTAAGGTATGGCCAGTACTGACGTTTGCCTTTACCAGCCGTTCCAGTGCT
+GCGTCTATCCCACTGAATGTGGAAGCACAAACGCGTCGTCTGGGTGTTCCTGAATCCATCGCCAGTTTCG
+CCGCCTCTTTCGGTGCGACCATTGGTCAGAACGGTTGTGCCGGTTTGTATCCGGCAATGCTGGCGGTGAT
+GGTTGCGCCTACGGTGGGCATTAACCCACTGGACCCGATGTGGATTGCGACGCTGGTCGGTATTGTCACC
+GTTAGTTCCGCAGGCGTTGCCGGTGTCGGTGGTGGTGCAACTTTCGCCGCACTGATTGTGCTGCCTGCGA
+TGGGCCTGCCGGTAACGCTGGTGGCATTGTTAATCTCCGTTGAACCGCTTATCGACATGGGTCGTACGGC
+GCTAAACGTTAGTGGCTCGATGACCGCTGGCACGCTGACCAGCCAGTGGCTGAAGCAAACCGATAAAGCC
+ATTCTGGATAGCGAAGACGACGCCGAACTGGCACACCGTTAATCCTGATTTGTTACGTTAAACGCCTGTC
+ATCCCGACAGGTGTTTTTTTATTCTTCGACCTCATTTTCCTGACGAATCTGATTTGCCCAACGCTGGGCG
+GATTCAGGCACAGTAAACGCCGGTGAGCGCAGAAATGACTCCCCCATCAGTACAAACGCAACATATTTGC
+CACGCAGCATCCAGACATCACGAAACGAATCCATCTTTATCGCATGTTCTGGCGGCGCGGGTTCCGTGCG
+TGGGACATAGCTAATAATCTGGCGGTTTTGCTGACGGAGCGGTTTCTTCATTACTGGCTTCACTAAACGC
+ATATTAAAAATCAGAAAAACTGTAGTTTAGCCGATTTAGCCCCTGTACGTCCCGCTTTGCGTGTATTTCA
+TAACACCGTTTCCAGAATAGTTTCCGAAGCGGGATCTGGCTGGTGGTCTATAGTTAGAGGGTTTTTTGAC
+CAAAACAGCGGCCCTTTCAGTAATAATTTAAGGAGACGAGTTCAATGTCGCAACATAACGAAAAGAACCC
+ACATCAGCACCAGTCACCACTACACGATTCCAGCGAAGCGAAACCGGGGATGGACTCACTGGCACCTGAA
+GACGGATCTCATCGTCCAGCGGCTGAACCAACACCGCCTGGTGCACAACCTACCGCCCCAGGGAGCCTGA
+AAGCCCCTGATACGCGTAACGAAAAACTTAATTCTCTGGAAGACGTACGCAAAGGCAGTGAAAATTATGC
+GCTGACCACTAATCAGGGCGTGCGCATCGCCGACGATCAAAACTCACTGCGTGCCGGTAGCCGTGGTCCA
+ACTCTGCTGGAAGATTTTATTCTGCGCGAGAAAATCACTCACTTTGACCATGAGCGCATCCCGGAACGTA
+TTGTTCATGCACGCGGATCAGCAGCTCACGGTTATTTCCAGCCATATAAAAGCTTAAGCGATATCACCAA
+AGCGGATTTCCTCTCAGATACGAACAAAATCACCCCAGTATTTGTTAGGTTCTCTACCGTTCAGGGCGGC
+GCTGGCTCTGCCGATACCGTACGTGATATCCGTGGCTTTGCCACCAAGTTCTATACTGAAGAGGGTATTT
+TTGACCTCGTTGGCAATAACACGCCAATCTTCTTTATCCAGGATGCGCATAAATTCCCCGATTTTGTTCA
+TGCGGTAAAACCAGAACCGCACTGGGCAATTCCACAAGGGCAAAGCGCCCACGATACTTTCTGGGATTAT
+GTTTCTCTGCAACCTGAAACTCTGCATAACGTGATGTGGGCAATGTCGGATCGCGGTATCCCGCGCAGTT
+ACCGCACTATGGAAGGCTTCGGTATTCATACCTTCCGCCTGATTAATGCCGAAGGGAAGGCAACGTTCGT
+ACGTTTCCACTGGAAACCACTGGCAGGTAAAGCCTCACTCGTTTGGGATGAAGCACAAAAACTAACCGGA
+CGTGACCCGGACTTCCACCGCCGCGAGTTGTGGGAAGCGATTGAAGCAGGCGATTTTCCTGAATACGAAC
+TGGGCTTCCAGTTGATTCCTGAAGAAGACGAATTCAAGTTCGACTTCGATCTTCTCGATCCAACCAAACT
+TATCCCGGAAGAATTGGTGCCCGTTCAGCGTGTCGGCAAAATGGTGCTCAATCGTAATCCGGATAACTTC
+TTTGCTGAAAACGAACAGGTGGCTTTCCATCCAGGGCATATTGTCCCCGGTCTGGATTTCACCAACGACC
+CGTTATTGCAGGGGCGTTTGTTCTCTTATACCGATACACAAATCAGTCGTCTTGGTGGGCCGAATTTCCA
+TGAAATTCCGATTAACCGCCCGACCTGCCCTTACCATAATTTCCAGCGTGACGGCATGCATCGTATGGGG
+ATCGACACTAACCCTGCGAATTACGAACCGAACTCGATCAACGATAACTGGCCGCGCGAAACACCGCCGG
+GGCCGAAACGCGGCGGTTTTGAATCATACCAGGAACGCGTGGAAGGAAATAAAGTTCGCGAGCGCAGTCC
+ATCGTTTGGCGAATATTATTCCCATCCGCGTCTGTTCTGGCTAAGTCAGACGCCATTCGAGCAGCGCCAT
+ATTGTCGATGGTTTCAGTTTTGAGTTAAGCAAAGTAGTTCGTCCGTATATTCGTGAGCGCGTTGTTGACC
+AGCTGGCGCATATTGATCTCACTCTGGCCCAGGCGGTGGCGAAAAATCTTGGTATCGAACTGACTGATGA
+CCAGCTGAATATCACCCCACCTCCGGACGTCAACGGTCTGAAAAAGGATCCATCCTTAAGTCTGTACGCC
+ATTCCTGACGGTGATGTGAAAGGTCGCGTGGTAGCAATTTTGCTTAATGATGAAGTGAGATCGGCAGACC
+TTCTGGCCATTCTCAATGCACTGAAGGCCAAAGGCGTTCATGCCAAACTGCTCTACTCCCGAATGGGGGA
+AGTGACTGCGGATGACGGTACGGTGTTGCCTATAGCTGCTACCTTTGCAGGTGCGCCTTCGCTGACGGTC
+GATGCAGTCATTGTCCCTTGCGGCAATATTGCGGATATCGCTAACAACGGCGATGCCAACTACTATCTGA
+TGGAAGCCTACAAACACCTTAAACCGATTGCGCTGGCAGGAGACGCGCGCAAGTTTAAAGCAACAATCAA
+GGTCGCTGACCAGGGTGAAGAAGGGATTGCGGAAGCTGACAGCGCCGATGGTAGTTTTATGGATGAACTG
+TTAACGCTGATGACAGCACACCGCGTGTGGTCACGCATTCCTAAGATTGACAAAATCCCGGCGTAAATAT
+GGATAAGGTCACGCCCCCTGGGGAGTGACCTTACCACCTTACTTACACATCATGATAACTACCCAACCGA
+TAACCACGCTCAGCAATCGCATATTTCAACGACGCTGAAGTCAGCACATCCAGTTCCGTTAACCGAGGGA
+AGCAATAAGCACTCTGGCGAATCGTATTATCGACAAACGCCGGATGGCACATAACTTCCAACGAGCGTTC
+CCCACGATGGCTGGAATCATCAAGCACTTGCAGGAACAATGCCTCGCTAATCTCTTCACCATAAAACGCG
+CTACTGAATCCCTGCGAACTGCGCAGATTAGCCGGTAAATCACCATCGTTAGATAGCGGTTGACGGTCGA
+TGCGCAACGCAATCCCCTCTTCAGCCGCAAACTTTGCCACAATCGGGAAAATCTGCGGGAACATATGCAC
+ATGATGATGGCTATCAAGATGCGTAGGTTTGCGTCCAAATAGCTCAATGAAACGCAAATACTGACTGGCG
+AGCTCCTGAGTAATTTCTTCCAGCGGTAAAGCATCTTCTTCTGCCAACTGCCAGATCCATTTTCCCAGCA
+CACCATCGCGGGTTAACCCCGGCATAACTGTCAGAGGCTTGCCCATAGTAAGGACAAAGTGCATCCCTAT
+GGCCAGACTCGGTTCATCACGGCTCAACTGCACCGCATGGTCAATAGCCTGCCCATTCACCAGCGCCGTC
+GTCGACGTGACAATCCCATTGCGACAGGCCTCGATAATGCCGTAGTTCTGACCTTTGCTTAAGCCAAAAT
+CATCGGCATTAACAATCAGTAAGCGTTCCATAATCAGCCTCGGTTAATGTGCTTTTTTAAGCTCTGCGAT
+GCAGTCGGCAAAATTTGGCAGCCATTTCTCGTGCGCCAGAATCATCTCGCGTGCCAGCAGCTCAGCATCG
+CGATCGGAATGCACCAACGGACTAAGGTTTAGCGCCAGTAAGACATCGTTAAATTCTCCACTAAGTGCGG
+CGTTGCTGGCAGCAATCTCGAAGCCTTTGATGGTGTGAATCAGCCCCATCACTTTATCATCGAAATGCGT
+AATGCGCGGATGTGGCGTCGCGCCATCGCGCCCCAGCGTACAGGTCATTTCTACCGCCCAGTCTGCCGGA
+ATATTATCAATATGCCCATGATGCGGGATATTAACGTAATGTTCTGCTTGCTTGTCGTTATAGATAGCGT
+TGATCACTTCGCACGCAGCATCAGAATAATAAGCCCCACCGCGCTGTTCCAGTTCTTTCGGCTTAACATT
+CAACTCCGGGTTTTTATATAGCTCAAAAAGTTGTTTCTCGACTTTCTGTACTACCTGCGCTCGTGCGCCG
+CCTTTGTAGTATTCGCCCATTTCAATAGCCAGCATCTCTTTTTGCTTGAAGTAATAAAGCAAATAAGAAC
+ACGGCAACAGATTCATAGAACGAATTAAGCCTTCGCTAAATGGCAGATCGAAAATATTTTTAACGCCAGA
+TGCTTTTAACTGCCCGGATGCCACACCATCAAGCAATTCGGCAAAGCGTGATTTGCCATTTACCAGCACA
+TCCTTAATGAACACCATATGGTTGAGGCCGAACAGATCGATAGATAAATCATCGCTGTCTTTCAGCATCA
+GAACATCGCGAATAAACATCTTCATGCCGATCGGAATATTACACACGCCGATAAAGCGTTTAAATCCGGT
+ATGACGATAAACGGCTTCAGTGACCATTCCCGCCGGGTTAGTGAAGTTAATCACCCATGCATTCGGACAT
+AGTTCTTCGACATCTTTTACGATGTCAAAAATCACCGGAATGGTACGCAGACCTTTAAACAGACCGCCCG
+CGCCGTTAGTTTCCTGACCAAGATAACCATGACTTAATGGAATACGTTCATCCAGTTCCCGCGCCGGTAA
+TTGGCCAACGCGCAGTTGGGTAGTAACGAAATCAGCATCTTTCAATGCTTCGCGGCGATCCAGCGTTTTA
+TAAAGCTTCATCGGGACGCCAGCGTTATCAATCATCCGTTGGCAGAGATCAAAAATAATATCCAGTTTCG
+CTTTACCACCTTCGACATCCACCAGCCATAATTCGCTGACCGGCAATTCGTGATAACGCTTAATAAATCC
+TTCCAGTAACTCCGGGGTATAGCTGCTCCCGCCACCAATAGTGACGACTTTTAATTTCTGGCTCATAATT
+TCTCCCTTCAGTACAGAATACTGATATCTGGCATATCTGCCCCCCGGACATAAATAATCCAGCAACAGGA
+CAGATATGTGAATTGTCAGGTATAACGACTTACTGATTAAATTCAGTCAATTTCTTACGATAGCTCTTAG
+GCGTAAAGGACGTTAATTTCTTAAACGTTTTAATAAACAAGCTCGGGCTACTATAACCGGCCTCAAACGC
+AATATCCGTCACTGAATAGTTGGTCATTTCCAGTTGTTTTTTGGCAAAATTAATACGGATTTCATTAATA
+ATCTGCATTGGCGTTTTACCATAGTATCGTTGAGTCGCTCGCGTCAAATATTCCTGTGATTTGGCTGACA
+ACGTCACCATATTCTCCAGCGCCGATTCACTAAACTGCTCTTTATCATGCATCTTTTCTACCGTACTTTT
+CAGCCACTGCGGTATATCATCAATCACCTGTTCTTCGCGGTAATGACGTAAACGGTTAATGACATAAAAA
+GTAACCATCTCAACAAACTCTTCCAGCCCTGTTTCGCGGAAATTCAATGAAGAAATCACTGTTTCCACAT
+AGGTGAGAAAAGCGTTATTGGTCCGGTATACCTGCGAAGCTACAAAGCAATAAGGCAACAACGGCAGGTA
+ATGCTGCTCAAAAAAGCGTTTACTGATCCCAACGTTCAATATACGCGTGGCACCAAATTCATAAAAACTT
+TGATGGTGCGAACCTAACGGAATAAAAACAAAATCGCCCCGTTCCAGTAACACGCGCTTACCGTTAATCT
+CCTGGAAATAACGCCCGGTTAATACCAGAGTAAATTCATAATAGTCGTGCTGATGCAGTCCACTGATACT
+CTCAGTTTTATTGTAGATAAACACATGGAAGTTTTTGCCATTAAACAACTGCTGTTCTCGGGCAGTGGCA
+ATTTCCGGCGCGTTAATCACTGGCTGCATCATCGACTCCTTATGCCTTCAGTTTTTCATGAAGCTCAATT
+AATTCAGTAATCAGTTCACGCGCAAGCATGGACGTCATTAAATGATCCTGAGCGTGGACCAGCACCAGAC
+TCACTTTCATCTTACCTTCGCCAGCATCGCCTTCAATCAGTTTCGTCTGTACCAGATGCGCTTCATTCAA
+TGCCATCCGTGACTGATCCATCATCGCTTTTGCTGCGGCAAAATCGCCCTGCTTCGCCTGTTTCAGTGCC
+GCATACGCCAGGCTACGCGCTTGTCCGGAGTTGATGATAAGCCCCATCACCACTTCTTCCAGCTCTTCAG
+CTTCCGTTTGCGTATCGGGAATATTATCGAGATCCATCATACATCGTTCCTCTCTATTCTTACCGGCACG
+ATTACCCGTACCGGCATCAATTAAAATTTCAGGGCGTTGGCGATATCTTCTTCGCTCTCTTCTTTATCAA
+TCGCGTTTTGTGCTTTGTTAGCGACCACAACAAAGGGCAGATAAATTAACGTTGCGATACCAAGATTGAA
+GAGTGCGACCAGCAATGCGGCGACGCTACCGTTGGTGTTAAAGAAGGCTCCCAGACCGGTGGGCATGGTC
+CACGGTGCAATATTGGTCACCGGTGGAATAATGCCCATGTAGTACGCTGCCAGGGTGATTGCCGCCAGAA
+TCGGTTGTACCAGTACAAACGGGATAAACATCACCGGGTTCATGATAATTGGCAGACCAAACAGAATCGG
+TTCGTTAATCTGGAAGATGCCGGACGGCAGCGCCAGTTTTGCCACCTGACGATAATCAGCACGGCGAGAA
+GCGATAAAGATAGCCAGGATCAGGCCTAAAGTCGCACCACTGCCACCAAGGAAAATAAAGGAGTCCAGCA
+TCGGTTTGGCCCAGATATGGAAGGTCTTACCGGCTGCCAGCGCCGCTTCGACGGAACCATATTGCTGATA
+GGTCGCGATATTTTCCAGCGCCCACGGCGTCATAATGCCGTTGTCCAGTGCGGTCAGCGCCAGCGCGCCA
+TGAATACCGAAGAACCAGAGCAGTGGAACAAAAATCACATAGGCCCAGCCTACCACGCTACCCAACGATG
+CCAGTGGGGTTGAGATGGTATCCATAATGATCTGATGGAAGTTTGTGCCCCAGGTATTCAACGCCCAGGC
+AATAATCCCCATCACGGAAAGAATAATAAAACCTGGAATTAATGCTGAGAAAGAGCGCGAAACCGATGTC
+GGAACGCTATCAGGTAACTTAATGACCCAGTTACGATGAACAATAAAGGTAAACATTTCTGCCACCACCA
+GGCCAATAATAATCCCGGAGATGATATTCGCCCCACCTAACCAGTTTGCGCCAACCGCATAGGCCTCACC
+GACACTATATGGGGTGACGGTCATAAATGCTGCAACGGATAACAACCCGGCCGCCAGCGCATCGACTTTA
+CGCTCTTCTGCCAGCGCCATGCCAATAAAGAACGGTGCCATTAAAGACATTATCCCTAATGTTCCGTTAT
+ATACGTTGCCGCCAATACCTTTCAGACCATTAAGTGTTTCAATGGTTGAGGCATCCAGGCGAATACCTAA
+GGAATAAAAAAACGACCCCTCCCCAAAACTTAGAAAAACGTTGTTAATTAATACAAACATGGCCCCCGCA
+AGGGTTAACGGCATTAAGCGAATAAAGCCATTTTTGATTGCATTAACGTGTGGCTGCTTTCCTATTTTAA
+CTGCAAAAGGGAGGAGTACCTTTTCAAGCGATGCAATAACATTACTCATAGAAAAATACCCTTTAAAACC
+GCAATTTAAATATTGCGGTATTGATTTATGAAATAACTCTTTGACGGGAAAATTTAAAATAAATTAATTT
+GCTGCGGCTTTTTTAATCGCTGCAACCGCAGCCTTAAGCACGCCTAAACCATCGACTTTGCCATAAAGCA
+GCGAGTCAATTACTTCAACCGGTTTGTTGGGTAACAAACGCTGGATTTCGGGCAACATATAAGCAATCTG
+CGGCCCTAATAACACGACATCGGCATTCTGACCTTTTTCACCAGCCAGTGTTTCCGGAAATGCTTCAATA
+ATGACCGGAACTTCATATTTTTCTGCCTGTGCGCGCATTTTTGATACCAGTAAAGAGGTAGACATGCCCG
+CAGAACAAAACAGATAAATGTGTTTCTTTTCCATAAAACTGCCCTCATCGACGATTATCTGTCAGCCAGA
+CACTCCGCAAGCCTTAACCTGCTTCCATGCTCTGGGTAACTTGCGAAACCAACATGACTTTTTTTGTGGC
+TGAAAGGAGTATACGGTATAGGCCTGAGCAATAGTATTTCTTTGACCTTAGAAATTGTCTCTCCTTGACC
+TGTGGTTATGACCCTCTTCACATTTCGGGCAAATAATTCGCGAAGATAATTAAGAACACAGGCCAAAAAA
+AAACCGGCGCAATGGCCGGTTTCCGTTGTTACTCAAGCTTTCAGGCGAAGTGATTACTTCGTAGCCTGTG
+GATCAGTGTCGTATTCAGCACAGGTCTGATAACCGGAGTTGATGACATGTCCGGTATCATCTAACGCGAC
+AAAGTAGGTTTCTGCTTTACCATCACGTTGACCCAGGATGTAGGTCTGGCAAGTACCACGAGCATGGATC
+ATGCTCACTTCAGACGAAGGTTTACCCGCAATTTGTGCAACCTGCGCCCGGCTCATGCCTTTTTTGACGT
+CTTTCACCACAGGCTGTACAAACTGGTCTTTGGTACGATCATAAGCCGTACAACCCGCCAGCATGGTTAA
+TACCGCCGCTGCACTCAGAATTCCTGCCATATTCTTGTTCATATTCCGTCCTCTTGTTTATCAGCGTGTT
+AGATAAGCCTGGAATACATTGGGCGCTTTTTCAAGCCCGTGAACGAAACGGCTCCTCTTTCAGAGGATTC
+CTGTATGACGTTTTAACCACGATTCAGCCCGCTGTCGCTTGTCGTTTCAGTAGCAACGGGTTAGCTTTAA
+GGAAGTTTTGTCTTTTCTGTCTGGAGGGGTTCAATGACATTGCAACAACAAATAATAAAGGCGCTGGGCG
+CAAAACCGCAGATTAATGCTGAAGAGGAAATTCGTCGTAGTATCGATTTTCTGAAAAGCTACCTGCAAAC
+TTATCCGTTCATTAAATCACTGGTGCTCGGGATCAGCGGCGGTCAGGACTCCACGCTTGCCGGTAAGCTG
+TGCCAGATGGCGATTAATGAGCTGCGCCAGGAAACCGGCAACGAATCACTGCAATTTATTGCCGTACGCC
+TGCCCTATGGTGTTCAGGCCGACGAACAAGACTGCCAGGATGCCATCGCCTTTATTCAACCGGATCGCGT
+ATTAACCGTTAATATCAAGGGCGCGGTACTCGCCAGCGAGCAGGCATTGCGGGAAGCAGGCATTGAACTG
+AGCGATTTTGTCCGTGGCAATGAAAAAGCGCGTGAGCGGATGAAAGCACAATATAGCATTGCGGGTATGA
+CCAGCGGTGTCGTGGTGGGCACCGATCATGCAGCAGAAGCTATTACCGGATTCTTCACTAAATATGGTGA
+CGGCGGTACGGACATTAATCCGCTGTATCGTCTCAACAAACGTCAGGGTAAACAGTTACTGGCGGCATTA
+GGTTGCCCGGAACACCTTTATAAGAAAGCGCCAACGGCCGATCTTGAAGATGATCGCCCTTCACTGCCAG
+ATGAAGTGGCACTCGGCGTGACCTATGACAATATCGACGACTATCTGGAAGGGAAAAACGTGCCTGAACA
+GGTCGCCAGAACAATAGAGAACTGGTATCTGAAAACCGAACATAAACGCCGTCCGCCAATTACCGTTTTC
+GATGATTTCTGGAAGAAGTAATAATTTGCACATATTGGTTTGTGCGAAAAAGAGTACTTTGTTCACGCCG
+GATGCGGCGTGAACGCCTTATTCGCCCCACAAAACTATGCAAATTCAATATATTGCATGAGTCGAATAGG
+CCTAACAGGCGTAGCACGTCAGACGGTGTAACCTTTGTCATCAACCCGCCTCTTTTTTAATCGCTCCCCG
+CCTGTTACACTGGATAGATAACCAGCATTCGGAGTCAACAGTGGTAAGGCGTTTAACTTCTCCGCGGCTC
+GAATTTGAAGCTGCGGCAATTTATGAATATCCCGAACATTTACGTTCATTCCTTAATGACTTACCCACCC
+GACCAGGGGTGTATCTGTTTCATGGCGAAAGTGACACCATGCCGCTCTATATCGGCAAAAGCATTAACAT
+CCGCAGTCGGGTGCTTTCTCATTTACGCACCCCTGATGAAGCCGCCATGCTACGGCAATCCCGACGCATC
+AGCTGGATATGTACCGCCGGTGAAATCGGCGCTCTGCTCCTTGAAGCGCGATTAATCAAAGAGCAGCAGC
+CGCTGTTTAATAAACGCTTGCGCCGCAATCGCCAGCTCTGCGCCCTGCAATTAAATGAAAAGCGCGTCGA
+TGTGGTGTATGCCAAAGAGGTGGATTTTTCACGAGCCCCCAACCTGTTTGGCCTGTTTGCCAATAGGCGC
+GCAGCTTTGCAAGCATTGCAGACCATCGCTGATGAACAAAAACTTTGTTATGGCCTGTTGGGACTGGAGC
+CGTTAAGTCACGGTCGTGCATGTTTTCGTTCAGCGCTAAAACGTTGCGCCGGAGCATGCTGCGGTAAAGA
+GAGCCATGACGATCATGCGCTACGTTTGCGCCAGTCTCTGGAACGTTTACGAGTCGTTTGTTGGCCGTGG
+AAAGGTGCGGTAGCGCTGAAAGAACAGCACCCGGAAATGACTCAATATCATATTATTCAAAACTGGCTGT
+GGCTGGGGGCGGTTAATTCGCTGAAAGAAGCGACAACGTTAATTCGGGCACCCGCCGGGTTTGATCACGA
+CGGTTATAAAATTCTTTGTAAGCCGCTGCTTTCCGGTAACTATGAAATTACTGAACTTGATCCGGTGAAT
+GACCAGCAAGCCAGTTGATTTCACTGAACAACAGTTTACCTTGCGGTTGCAAAAGCCGCAGGGTGTGCCT
+GCCATCGAACCAGCACGCGCCCTGGTCGGTAGTGAGCAGTTTGTCGCCCAATTGCCACGCCCCGTTTATT
+ACAAACACCACCCCGCCGCGTGAACCAAAGGTAGTAAACGTACGTTCGGCAATTCTGACTTTCGCCTTAC
+AGACATCCAGGCGTGTCATGATGTTGAAATCCATCGACATCTGCCCTGCCGTCAGTTTCGCTTTTACCAC
+CAGGTCCGCTGCAAAGGAAAAAGGTTGTAACGGTTTTAAGGTATGGTTAAAGCGGTCTGCGCTTTCAAGG
+AACATCTCGCCGCCTTCCAGCAACGTCACTATCCTTTCCATACCGGGAAACAAAGAAAACTCCCCATTCG
+CCGCGATGGATGTAATGCTGGCACGCCAGTAAAAATCACGTTTTGCCGGTGGGAAAGTGCAAATTTCGCG
+CGTTTCACCGGCAGCGTTTCGCCACAGATTCACCGACATTTTACGCATATCAAAGTATTCCATACCCGCT
+CCCGGCCCGTTCTTTTCATTGTTATCGTTCAGGTAACCGTGGATGGTTATCGGCAACTCGGGTGATTTAC
+GTTAGTGGCGATCAGGCTTTTTTTGCATCTGTTTGAGAAGAGAAAAGAAAACCGCCGATCCTGTCCACCG
+CATTACTGCAAGGTAGTGGACAAGACCGGCGGTCTTACGTTTTTTGGCTGAAAGATTATTCAGCAGTTGC
+AGGCATTTTACCTTTTGCCGCTGGACGTTCTGTCAGACGCTTCTCAAAATTAGCATTAAATTGCTTTTTC
+TGTTCCGGCGTCAGGATGTTGTAAATCTTGTTCTGGGTTTCCATGTGCGCCAGCATGTTAGCTTTGCGCT
+GTTCTTCCATTTTTGCGATCTGCGCTTCAGCTTTTGCTTTATCGAAGGTATCGCTGGCAATGATGTCATG
+CATTGCGCGGCGTTCTTCCAGCGGCGGACGTTTCATCTGGTCACGCTGGCCTTTCATGATTTCGCGGATC
+TGCTGTTTCTGCGCGTCGGTCAGGTTCAGGTCTTTGAACATCATGTCCTCATGCGGACCGAACTTGCCTT
+TATGGTGCATCATCGGCTTCGCGTCAGCCGGTGCTGCGGTAGTGGTGTCTGCGGCATGGGCCAGGTTAGC
+CGCGCCAAGAGCCAGGGTAGAGGCAACAAACAGTGCAGTTAATTTACGCATATTCTATATCCTTCCTTTC
+AGTTATTTATTACGGCTTTCTTAAGTAGCGTGCCGTGTTGACGAGATTAACTTTACTGACTTTAGCGTCA
+ATTAATCAGAGCAACGGTAAAACAATGAAAGTGTAAAAAACACTTTTGCGCCAATTATGGAGAAAAAAAG
+AAAATTTGATGGAGAGTGATGAGAGAATATTACAACACGATGATTTTGCAGAGATTATGAAGAACTATAC
+CGGATGACTGGTGATAAATAAAGCAAATAACCAGGATTAATCTGTATTAATTTATAAGAAAGCAACTTAA
+TACCCGCAGAATGATTTCTGCGGGTAAGTATTAGCTTATTTTTTCGAGCATTAATCCCGCACGTAATCCC
+AACGCTACCAACGGATTAGGGAATAACACATACTCTACATCATGGGTTACGGTAAAACGTTCCTCCCCGT
+CCTGCGCCAGCAATGTTCCTTTCTCAAACGGCATAAAATTCAGCGTGTCATTTGCCATATGCATTTCGAA
+GGACGGCGAGTGGCGAGTAATTTGCGAAACCACCCGATAACGGAGCGGCGGTGTTCTCACGATACCGACA
+CTCTCACCAGATAGCAGCGCAGCAATTGCGCTGGCAGTTACTGCAAACTGGCGAAGATCGTTTTGCCCAA
+AGGGCAACGCTTTGCCAAGTTCCAGCGTACAGGCCAGCGCGCCAAAATGTCTGGCGCTGAAATGGGTAAA
+CGTACCACCAGGGTCCTGATGGAACACCAGCGCCTCCAGCCCCGCCGCACCCAGCCACGTCAGAAATTTC
+TCGTCCCAGGGAATGTCGCGTTGCGGTAATACACCGAACTGCGGATGCAAGGAGCCACGAATTGCGGTAT
+GTAGATCAAGGTGCCAGCGCACAGATTCTTTGCCCTGGTCATAAAAATCTTCCAGGCACTGCTCCAGTTC
+GCGCGCCCGACAGGTTTCCCCGCTTTCAGCAAACAGTTGCCAACGACCGCCAAACATTCGATTCATATCG
+CTATGGCAATAACGTTTCCCTTGCTTCAGCGCAGGAGGATTCCCGAGGATCACCAGTAACCGCCAACGTA
+ACGGGATCTCACCGTGAGATATCGCGCCAAGCAACGCGTCCAGCATTTCCACAGGAGCCGTCTCATTACC
+GTGGATCCCCGCTGAAATCACCAGCGCGCCTTGCGGTGGCGTTAATGGCGTCAGTTCCAGCACACCATCG
+CCCAGCCAGCGCCAGCGAACGCCGTTGATTTCTCGCTCGGTGATAACCGGTTTTTTACCCGTTAAGGTTA
+GAGCAAGAAAATTATCCATTGCCCCCTCCCTCGCGCTGGAATGGATAAACCGAACCAAGATCCAATAATT
+GAGTCAGTGTATCCAGCGCTTCCCTTCCTTCGCGCAGCAATTGTGGATCGGCAAGATCCGCCGCAGTAAG
+ACGATCGCGGTAGTAACGATCCACCCAGTCATTGAGCGCATTAAACAGCGTATCGTTCATCATCACCGCC
+GGATTCACCGCCCGGCGTTCTTCTTCTGTCAACACCACGCGCAACCGCAGGCACGCCGGGCCACCGCCAT
+TCGCCATGCTTTCACGTAAATCAAAAACTTTTAGTGAGCTTATTGGGTTATCGGCAGCAAGCAATTCATT
+GAGATAACGCCATACTCCAGCATGTTCCCGACATTCCTGAGGCAGCACCAACATCATGGAACCATCATCG
+CGGCTCAGTAACTGGCTGTTAAACAGATACGTAGACACCGCATCCGACACGGAAACCTGTGCCGCCGGAA
+CTTCTATCGCCATAAAACCATTGACCCGCGAACGCAGGTTTGCCAGTAACTGTGACTGGCGAGCGAACGC
+CTGTTGATGGCAAAACAGCACCTGGCGGTTACTCACGGCAATCACGTCATTATGAAAAACGCCCTGGTCG
+ATAACGTCCGGGTTTTGCTGGGCGAAAATCACCTGTTGGGGATTCACCTGATTCAACCTTGCCACCGCCT
+CGCTGGCTTCGCGAGTCTGCCGCGCCGGATAACGGGAAGGCCGGGTATCATTGCCCTCTTCTCGCCCGTA
+GACAAAAAGTTGAATACCCGGTTCACCGTAATGACCGCCGAGACGATTGTGGTTTGCCGCTCCCTCATCA
+CCGAGCAAGGCTACCTGCGGCAACGCCGAATGGACACTAAATTTCTCTTCGTCGTTAAAAATCGCTTTTA
+ACAACGATTCGGTGACGGGGGCTTCCAGCGAACGGTGAAATTTATTGTTCAGGTTGGCAACGGTGAGATG
+CACTTTGCCATCCAGCGTATCGGCAGATGGCGCGATCGTTGCCGCATTGGCTACCCACATTGGCGAAGCG
+GAGCTGGCGCTGGAAAGCCAGTGCGGTGCCTGGCGGGCAACCTTTTCCAGCACTTGTTCATCGCTACCAC
+TGAATCCCAACTGACGTAAAACCGGTATAAACGGACGCTCGTGCGGCGGGATCACGGCCTGGGGGAATCC
+CGCATCGGCAAGGGTTTTCATTTTCAGTAAGCCCTGTTTCGCCGCCAGTCGCGGGTTAGAGACCTGAAAA
+CAATGACGGGTAGAGGCTTCATTACCAAACGACAGGCCCGCGTAATGATGCGTCAGCCCTACCAGCCCGT
+CGAAATTGACTTCCCAGGCGTTCATCGCACCACCTCATCGGAAAAATCCAGCCCAGGGTTAAGCGTGGCG
+GGCAATGTTAACGAGTCCGACTCCAGGCTCGCCATCGGCCAGGCACAATAATCTGCGGCATACCAGGCGC
+TGGGGCGATGGTTACCGGAAGCGCCAATGCCGCCGAATGGCGCGGTACTGGCAGCGCCGGTAAGCGGTTT
+GTTCCAGTTAACAATCCCCGCCCGCGCCTCCAGCAACAGTTGATCGAATTTTTCCCGCTCGGGGGAAACC
+AGACCGCAAGAGAGGCCAAAGCGAGTGTTATTCGCCATTCGAATCGCTTCATCGAAAGTATCATAACGCC
+AGACGCGCAATAACGGTCCGAACACTTCTTCATCCGGCAAGCCAGTAACGCCTGTCATTTCAATGATCCC
+CGGCGTCAGCAACGATGTCCCTGCTTGTAATAAGCGCGGCGCAAGCAGGGTCCGTCCGCCCATCGCCTCC
+AGTTCCTGCCAGGCAGTAACCACCTGCTGTGCGGCCTGCTCAGAAATCAGCCCACCAATAAATGGCTGCG
+GTTCGTCATCCCAAGTGCCCGGCGTTAACCGCTGGCTGACGGCAACCAGGCGAGCAAGAAATGCATCGCC
+CTGCGTTCCACTTTTCAGAAATAAACGGCGGGCGCAGGTGCAGCGTTGCCCGGCAGTGACAAACGCCGAC
+TGAATGGTCAGATGGACAGCGGCATCGATATCCGCCACCTCATCGATAATTAGCGGGTTATTACCGCCCA
+TCTCAAGGGCGAGAATTTTCTCCGGCTGACCGGAAAGCTGGCGATGCAGCTGGTAGCCGGTATTGGCGCT
+GCCGGTAAACAGCAAGCCGTCGAGATCCTCCAGCGCACTCAGCGCCTGACCCGTTGCACGCCCGCCCTGC
+ACCAGGTTCAGCACGCCCGGCGGCAAGCCAGCCTGCTGCCATAAACGCATTACCGCGTCGCCACTCCACG
+GTGTCAGTTCGCTGGGTTTAAAGATAATGGTGTTACCTGCCAGCAATGCCGGAACGATATGTCCGTTCGG
+CAAATGACCAGGGAAATTATACGGCCCAAACACCGCCAGCACGCCGTGCGGGCGATGTCGCAGGCTCGCC
+GCGCCGTCCGGCATTTCGCTACGCTGCTCACCGGTACGAACGTGATACGCCTTAATTGATATCGCGATTT
+TATTGATCATCGCCGTCACTTCGGTTGCCGCTTCCCAGCGCGGCTTGCCGGTTTCTCTGGCAATAATCGC
+GGTTAATTCGGCTTTATTGCTTTCCAGCAATCCGGCAAAGCGTTCAACTCTTACCTGACGATCGCCAAAT
+GAGAGCCGAGCCCAGCGCGGAAACGCCGCACGGGCAGCCCGACAAGCCTGCCCGACCTGAGCGGCATCGG
+CATCATTGCCCTGCCATAACACCTCGCCCGATACCGGATTACGCTTCACACGCAATGCGCCCTGGCCCGT
+TACCCAGTCACCGTTGATCCATAAAGTCATGCTGTTTTCTCCTCTGCGCACAGGCGCACCAGACGAACGC
+GATCCCCTGCGTGGCATTTGAGGGCATCCAGTTGTGCGGCGGTTAAAATCAAACGCTCGGTCGCTGGATC
+GGTACGCACCAGCACCACGCGGAAATGGTGATAATTTTCATTGGCGACCAGGCAGGCCGGAAAATCGCCC
+TGCGCAGGCTGCCCTTCGGCCACTTCCACCAGCCGACTTTTACGGATGGCGCGCACGCGGTCGATATCAC
+ATTCAAGTGTCGGCCCGCCGTCAAAGATGTCGATATAGTTACGGTAGCGAAAACCTTCTTTCTCCAGCAC
+CGCACGGGCAGGCGCGGTTTGCGGATGTACCTGACCGATGACGTCCTGGGCTTCCTGGGATAAAAAGTGG
+GTATAGATCGGATGTTTCGGCATCAGTTCTGCAATAAATGCCTTTTGCCCGGTGCCGCAGAGAAAATCAG
+CGCGGCTAAAATCCATCGAAAAGAAGCGTTTACCGAGGCTTTGCCAGAACGGTGAATAGCCGTGTTCGTC
+AATCACCCCGCGCATTTCGGCGACCACTTTGTCATTAAACTTGTCGCGAAAAGCCGCCATAAACATAAAG
+CGCGATTTCGACAGCAAATAGCCGTTGCCCTCTTTGCGCCACTCCGGGTCGAGAAACAGCGTGCACAGCT
+CGCTGCTGCCGGTGTGATCGTTACTGAGAAACAGCGTCGGCAATGCGTTATAGACATTCAGCTCTTTCGA
+AGCGTGAACCAGCGTGCCGACACGATAGTTGTACCAGGGATCGTTCAGCCCAACCGCCACCTCAATGGCG
+CAAATCCCCGCCACAGTGCCTGTCTCACTATCTTCCAGTACAAACACATAACCCTGCTCACTTTTGGGCA
+GTTCGCCTTGCCAGGTTTTGATTGCCCTTTCAATACGCACCGAAAGCGTGGCTTCATTGGCGGGAAGCGA
+CGTCAGGCCGCCGCCCGTTTTGCTGGCAAGCTGCATCAGCTCCGAGACATCTGAGCGCTCAACGGGACGA
+ATGACCATCATGATGAACCTCGGCTAACAAAGTGTTCGCAAGCAGCTGCAAAGCGATCCAGTCCGGTCGT
+CACCTCTTCTTCGCTGACATTGAGCGCAGGCGCAAAGCGCACCACGTTGCCACCCGCAATCAGCACCATC
+ACGCCTGCTTTCACCGCTTCCTGAGAGATCTGTTTCGCTTGCCCGGCGTAATCGGCATTCAGTACACAGC
+CAATCAAAAGACCTAAGCCGCGAACTTCACTGAACAAACTGTAGTGGTGATTAATGGAATTTAGACGCTC
+AACAAACCAGTCGTGACGCTGTTTAACCCCGTTAAGCATCTCTGGCGTGTTGATGAGATCCAGCACTTTG
+CCTGCCACCGCCGAGGCCAGCGGATTGCCGCCATAGGTGGTGCCGTGAGTGCCAACGGTCATCACGCTGG
+CGCACTCTTCGGTTGCCAACAACGCACCAACCGGGAAACCGCCGCCCAGCGCTTTGGCGGTAGTTAACAG
+ATCAGGCGTCACGCCGTAGTGCATACAGGCATACAGTTCCCCGGTGCGCCCGACACCGGTTTGTACTTCA
+TCAAAGATCAGCAACGCATTGTGGCGGTCACACAATTCACGCAGACCTTGTAAAAATGCGTTGCTGGCTG
+GCACCACACCGCCTTCCCCCTGGATGGGTTCGACAATCACCGCACAGGTGGCGTCGTCAATCAGCGCACT
+GGCAGAGTTAATATCGTTATATGCAGCATGACGAATATCCGGCGGCAGTGGCGCAAAATCCTGTGAATAG
+GCTGGCTGCCCACCCGCACTGACAGTAAACAGCGTGCGACCATGAAACGCATTTTTGAACGCCACGATGC
+CGCTCTTATGGCTGCCGTAGCGGTCGTGAGCGAATTTACGCGCCAGTTTTAGTGCCGCTTCGTTGGCTTC
+CGCACCGGAGTTACAAAAGAAGACGCGATCGGCAAACGTGGCGTCGATCAATTTTTTCGCCAGTCGCAGT
+ACCGGCTCGTTGGTGTAACCGTTGCCGGTATGCCAGAACTTACTCGCCTGTTCGTTCAGCGCCTCACGCA
+GTTCCGGATGCGCATGGCCCAGCGCGTTCACCGCAATGCCACCCGCGAAGTCGATATACTCTTTCCCCTG
+CTGATCCCACAAGCGCGAACCTTCGCCACGTACCGGTATAAACGGTGCCGGAGCGTAAACAGGTATCATC
+CATTCATCAAAGTTTTCACGCGTAATTGGCTGAGACATAGCGACCTCTACAGTAAATAATTCGTTATTTA
+TATGTTAATAATAAGTAATGTTTGCGCTGTAAATGTAGATTGCAGGGTTCGTGCCAGCCAGTGATAAAAG
+TGCATAAACGGCGGAGGCTAACTGGAAATCAAGCAGTTATAACCACATCATATGCATTTAAAGTGCATAT
+AAAGTGAATACGTTTGCGATGTGGGTGAATAAAAAGAATAAAAAACGCAATGTTATGCAGAAGTAAAATA
+TAATTCTGGAATTGTGATCATTGACGAAATTTACTGGAAATTACTGCGCCATTCTGACGCAACGCGCACC
+AAAAGCGGGCATTTTTTGCGCCATCGTTGACATCATTAACAACCATCGATCAAATCACTTAACAACAGGC
+GGTAAGCAAAGCGAAATTCTGCTACCATCCACGCACTCTTTATCTGAATAAATGGCAGCGACTATGAAAT
+TTGTCTCTTTTAATATCAACGGCCTGCGCGCCAGACCTCACCAGCTTGAAGCCATCGTCGAAAAGCACCA
+ACCGGATGTGATTGGCCTGCAGGAGACAAAAGTTCATGACGTTATGTTTCCGCTCGAAGAGGTGGCAAAG
+CTCGGCTACAACGTGTTTTATCACGGGCAGAAAGGCCATTATGGCGTGGCGCTGCTGACCAAAGAGACGC
+CGATTGCCGTGCGTCGCGGCTTTCCTGGTGACGACGAAGAGGCGCAACGGCGGATTATTATGGCGGAAAT
+CCCCTCGCCGCTGGGCAATGTCACCGTGATCAACGGTTACTTCCCGCAGGGTGAAAGCCGCGACCATCCG
+ATAAAATTCCCGGCAAAGGCGCAGTTTTATCAGAATCTGCAAAACTACCTGGAAACCGAACTCAAGCGTG
+AAAATCCGGTGCTGATTATGGGCGATATGAATATTAGTCCTGGCGACCTGGATATTGGCATTGGCGAAGA
+GAACCGTAAGCGCTGGCTGCGTACCGGAAAATGTTCTTTCCTTCCGGAGGAACGCGAATGGATGGAGAGG
+CTGATGAGCTGGGGGTTGGTCGATACCTTCCGCCATGCGAATCCGCAAACAGCAGATCGTTTCTCATGGT
+TTGATTACCGCTCAAAAGGTTTTGACGATAATCGCGGTCTGCGCATCGACCTGCTGCTCGCCAGCCAACC
+GCTGGCAGAATGTTGCGTAGAAACCGGCATCGACTATGAAATTCGCAGCATGGAAAAACCGTCCGATCAC
+GCCCCCGTCTGGGCGACCTTCCGCCGCTAATTTAGCTGATCTCCTGGCTCAAACTGGGTCAGGAGAATTA
+ACCTTGAGAAAAATCAACAAACTGTCAGTAATGATTTGTTGCCTGCCGTCCTTTGTTATACCGTCACTGC
+GTTTTTAGTTGTCTGACCACTTCTCTATTATCAAGTTTGATATAGGAAACTCCACGATGAACGCTGAGCG
+TAAATTTCTTTTTGCCTGTCTTATTTTTGCGCTGGTCATTTACGCTATCCACGCTTTCGGTTTATTCGAT
+CTGCTCACCGATTTACCCCACTTACAGACACTCATTCGCCAGAGCGGATTGTTCGGCTATAGCCTCTATA
+TTCTGTTATTCATCATTGCCACCCTCTTTCTGTTACCAGGAAGCATACTGGTGATCGCGGGAGGAATAGT
+TTTTGGCCCGCTCTTAGGGACACTACTATCATTAATTGCCGCCACGCTGGCCTCCTCGTGCTCATTCCTG
+CTGGCGCGCTGGCTGGGACGTGATTTACTGCTGAAATACGTTGGCCATAGCCATACCTTCCAGGCCATTG
+AAAAAGGCATTGCGCGTAACGGTATTGATTTTCTTATTCTGACCCGCTTAATACCGTTGTTTCCTTACAA
+TATTCAAAATTACGCTTACGGATTAACCACAATCGCCTTCTGGCCTTATACCCTTATTTCGGCACTCACG
+ACCCTACCCGGTATTGTTATTTATACCGTGATGGCAAGCGATCTCGCCAATGAAGGCATTACGCTGCGCT
+TTATTTTACAACTCTGTCTGGCGGGCCTGGCGCTGTTTATTCTCGTCCAGCTCGCAAAACTCTACGCCCG
+ACACAAACATGTGGATCTGTCTGCTTCTCGCCGCAGCCCACTTTCTCACCCAAAAAATGAAGGATAGAAC
+GATGTTGCAACATTATTCAGTGTCATGGAAAAAAGGACTGGCTGCACTCTGCTTACTGGCTGTTGCTGGG
+CTTAGCGGCTGCGATCAAAAAGAGAATGCGGCTGCAAAAGTGGAATACGACGGACTTTCGAACAGCCAAC
+CGCTGCGTGTCGATGCCAATAACCATACGGTAACCATGCTGGTGCAAATTAATGGTCGTTTCCTCACCGA
+CGACACTCGTCACGGTATTGTGTTTAAAGATGGCTCCAACGGACATAAATCGCTGTTTATGGGTTATGCG
+ACCCCGAAAGCATTTTATGAAGCCCTGAAAGAGGCAGGTGGTACGCCGGGCGAAAACATGACGATGGATA
+ATAAAGAAACGACTCATGTCACAGGCAGCAAACTGGATATTTCGGTCAACTGGCAAGGGGCGGCAAAAGC
+GTATTCCTTCGATGAAGTGATTGTTGACAGTAATGGCAAGAAACTGGACATGCGCTTTGGCGGTAATTTA
+ACGGCAGCAGAAGAGAAGAAAACGGGTTGCCTGGTGTGTCTGGATAGCTGCCCGGTCGGCATCGTCAGCA
+ATGCAACATACACTTATGGTGCGGTGGAAAAACGCGGCGAAGTGAAATTCAAAGGCAATGCCTCAGTTCT
+CCCGGCGGATAACACGCTGGCAACGGTTACCTTTAAAATCACCGAATAAAGCAGGATAACGGATGATGAA
+GATGCAATCGCGTAAAATCTGGTACTACCGTATAACCCTCATCATCCTGTTGTTCGCTGTGCTGCTGGCA
+TGGGCGCTGCTTCCCGGCGTCCATGAGTTTATCAATCGCAGCGTTGCGGCGTTTGCCGCCGTGGACCAAC
+AGGGTATAGAACGCTTTATTCAGTCTTACGGCGCACTAGCGGCAGTTGTCTCGTTCTTGTTGATGATTTT
+ACAGGCCATTGCTGCACCGCTACCTGCGTTTTTGATCACCTTTGCCAATGCGTCGCTGTTTGGTGCGTTC
+TGGGGCGGCTTACTGTCGTGGACCAGTTCGATGGCCGGCGCGGCACTGTGCTTTTTTATCGCCAGAGTGA
+TGGGCCGCGAAGTGGTGGAAAAATTAACCGGCAAAACCGTACTTGACAGTATGGACGGCTTTTTCACTCG
+TTACGGCAAACACACCATCCTGGTATGTCGGTTATTGCCTTTTGTCCCTTTCGATCCAATCAGCTATGCT
+GCCGGTTTGACTTCAATACGTTTTCGCTCGTTTTTTATCGCCACCGGGCTTGGTCAATTACCGGCGACTA
+TTGTTTATTCCTGGGCGGGCAGCATGTTAACAGGCGGTACTTTCTGGTTTGTCACCGGACTGTTTATTCT
+GTTTGCCCTGACCGTGGTGATTTTTATGGCGAAGAAAATATGGCTTGAGCGCCAGAAGAGGAATGCCTGA
+TGGGTTTACCGCCGCTTAGCAAAATTCCTTTCATTTTACGTCCGCAGGCGTGGCTGCATCGTCGCCATTA
+CGGCGAGGTGCTAAGCCCCATTCGCTGGTGGGGGCGGATCCCGTTTATCTTTTATCTGGTGTCGATGTTT
+GTCGGCTGGCTGGAGCGCAAACGCTCACCGCTCGATCCGGTAGTACGATCGCTTGTCAGCGCGCGCATTG
+CGCAAATGTGCCTGTGTGAGTTTTGCGTGGATATCACCAGTATGAAAGTCGCCGAGCGTACCGGCAGCAC
+CGATAAACTGCTGGCAGTGGCTGACTGGCGGCAAAGCCCGCTCTTTAGCGATGAAGAACGGCTGGCGCTG
+GAGTATGCCGAAGCCGCAAGCGTAACGCCGCCAACGGTCGATGATGCCCTGCGCGCCCGACTGGCTACGC
+ATTTTGACGCTCAGGCGCTCACCGAACTGACGGCATTGATAGGCCTGCAAAATCTGTCAGCCCGTTTTAA
+TTCTGCCATGGACATTCCCGCTCAGGGGCTGTGCCGTATTCCTGAAAAACGTTCTTAAGGAGAGAAGATG
+CGCCATTGTGGGTGGTTGCTGGGATTGTTATCGCTGTTTTCTTTGGCAACACATGCCAGTGACTGGCAGG
+AAATAAAAAATGAGGCCAAAGGACAAACCGTCTGGTTTAACGCCTGGGGCGGCGATACCGCAATTAACCG
+CTATCTCGACTGGGTTAGCGGCGAGATGAAAACCCATTACGCTATAAACCTGAAGATTGTTCGTCTCGCG
+GATGCCGCAGACGCGGTGAAGCGCATTCAGACCGAAGCTGCTGCCGGACGCAAAACGGGCGGTTCGGTGG
+ATCTGCTCTGGGTGAACGGCGAAAACTTCCGCACCTTAAAAGAGGCCAATTTATTACAAACGGGCTGGGC
+GGAGACTCTGCCCAACTGGCGCTATGTCGACACACAGCTTCCGGTGCGGGAAGATTTTTCAGTGCCTACA
+GAAGGGGCTGAATCGCCCTGGGGCGGCGCACAACTGACATTTATCGCCCGCCGCGATGTTACGCCACAGC
+CACCACAAACGCCGCAAACCTTACTGGGGTTTGCTAAAGCCAATCCCGGCACGGTTACCTATCCGCGCCC
+ACCGGACTTTACCGGCACGGCGTTTCTTGAACAGTTGCTGATTATGCTAACGCCAGATCCCACAGCATTA
+AAAGAAGCGCCGGACGATGCGACTTTCGCCCGCGTCACTGCGCCCTTGTGGAAATATCTTGATGCACTGC
+ATCCGTATTTATGGCGCGAAGGAAAGGATTTCCCGCCTTCGCCCGCGCGGATGGATGCTCTGCTGAAAGC
+TAACACATTGCGCCTGTCGCTGACCTTTAACCCTGCACATGCGCAGCAAAAAATCGCCAGCGGCGATTTG
+CCTGCAAGCAGTTACAGTTTTGGTTTTCGCGAGGGGATGATTGGCAACGTCCATTTCGTCACCATTCCTG
+CCAACGCGAATGCCAGTGCTGCGGCGAAGGTAGTTGCCAATTTCCTGCTCTCACCCGATGCGCAACTGCG
+TAAAGCAGATCCCGCTGTCTGGGGCGATCCTTCTGTTCTCGATCCGCAAAAACTGCCTGACGGGCAGCGC
+GAAACATTGCAATCGAGAATGCCGCAGGATCTGCCGCCGGTACTGGCTGAACCGCACGCAGGTTGGGTAA
+ATGCGCTGGAACAAGAATGGCTACACCGTTACGGTACGCATTAATCTTTTTGCTGTGGGCGATGATAGCG
+GTGATTTATGCACCGCTGATCCCGGCAGCTCTGACGCTGATATCGCCTGCTTTGTCGTTGACGCACTGGC
+AGGCGTTATTTGCCGATCCACAGTTACCGCAGGCATTACTGGCAACGCTGGTGTCGACAACCATTGCGGC
+GGTCGGGGCGTTGTTGATTGCCCTGCTGGTGATTGTGGCGCTGTGGCCAGGGCCGAAATGGCAGCGTATG
+TGCGCCCGTCTGCCGTGGCTGCTCGCCATTCCCCATGTGGCTTTTGCCACCAGCGCCCTTCTGATCTTTG
+CTGACGGAGGGCTGCTTTATGACTATTTCCCGTATTTCACTCCGCCAATGGACAAATTGGGTATTGGGCT
+GGGCCTCACCCTGGCGGTAAAAGAAAGCGCATTTCTGCTGTGGATCTTAGCGGCAGTATTGAGCGAAAAA
+CGGCTGTTGCAGCAACTCATTGTGCTGGATTCGCTGGGCTACAGCCGCTGGCAATGCCTGAACTGGTTGC
+TGTTGCCCTCCGTCGCGTCTGCGCTGGCAATGGCGATGCTGGCGATTGTCGCCTGGTCGCTGTCGGTCGT
+GGATGTGGCGATTATTCTTGGGCCAGGTAATCCCCCGACGCTGGCGGTAATTAGCTGGCAGTGGTTAACT
+CAGGGCGACGCCGATCAACAAACGAAAGGTGCACTCGCCAGCCTGCTGCTGATGCTGTTACTCGCCGCCT
+ACGTTTTGCTGGGCTATCTGCTATGGCGTGGCTGGCGACGTACTATTCCCCGCGTAGATGGCGTTCGTAA
+GCCTGCCACGCCTTTATTGCCAGGCAATACGCTGGCGAGTTTTTTACCCTTAACCGGTGTGCTGTGTGTG
+GTTCTGCTGGCGATCCTCGCGGATCAGTCGACGATCAATAGTGAAGCGCTCATCAACAGCCTGACAATGG
+GGCTGGTGGCGGCATTCATCGCTTTGCTCCTGTTACTGCTGTGGCAGGAATGGGGGCCACAGCGTCGCCA
+GTTGTGGCTATGGTTGCCCATTTTATTACCCGCTCTGCCTCTGGTGGCGGGCCAGTACACGCTGGCGCTA
+TGGCTGAACCTGGATGGAAGCTGGACGGCGGTGGTCTGGGGGCATCTGCTGTGGGTAATGCCGTGGATGC
+TGTTTATCCTGCAACCCGCCTGGCAGCGCATTGATTCACGGTTAATTTTGATTGCGCAAACACTGGGCTG
+GTCGCGGGCCAAAATCTTCTTTTACGTAAAATGTCCACTTATGTTGCGCCCTGCGCTGATTGCCTTCGCG
+GTGGGATTTTCAGTCAGTATTGCGCAGTATATGCCGACGCTGTGGCTGGGCGCGGGGCGTTTTCCGACGC
+TCACCACTGAAGCGGTGGCATTAAGCAGCGGCGGCAGCAACGGTATTCTCGCCGCCCAGGCTTTATGGCA
+ACTGCTGTTACCGCTTATTATTTTTGCCCTGACCGCGTTAGTCGCAAAATGGGTAGGTTATGTCAGACAA
+GGACTCCGCTAATGCTCTGCGTGAAAAATGTTTCGCTACGTTTACCAGAAAGCCGCTTGCTGACAAACGT
+TAACTTTACAGTAGATAAAGGTGACATTGTCACGTTAATGGGACCATCCGGCTGCGGGAAATCCACTCTG
+TTTTCGTGGATGATTGGTGCGCTGGCCGGACAGTTTTCTTGTACAGGGGAGCTATGGCTTAATGAGCAAC
+GGATTGACATGCTACCCACCGCACAGCGTCAGATTGGCATTCTTTTCCAGGATGCACTGTTATTTGACCA
+GTTCAGCGTCGGGCAAAATTTACTGCTGGCGCTACCGGCGACACTTAAGGGGAATGCCCGACGTAATGCC
+GTGAATGATGCACTTGAGCGTTCAGGCCTTGACGGAGCGTTCCATCAGGATCCTGCCACTTTGTCTGGCG
+GTCAGCGAGCGCGCGTTGCTCTGCTGCGCGCCCTTCTCGCTCAGCCAAAAGCGTTGCTACTGGATGAGCC
+CTTCAGCCGTCTTGATGTGGCCCTGCGCGATAATTTTCGCCATTGGGTGTTCAGCGAAATTCGCGCCATG
+GCGATCCCTGTTGTGCAGGTGACGCACGATCTTCAGGATGTTCCTCCTGATAGCCCCATTCTGGATATGG
+CGCAGTGGTCAGAAAATTACAACAAACTGCGATAACGCAAAGTTTTTCCCGATGCGTCAGTTCAGAATGG
+CGCTCTCAAAAACTACAATGTCGGGATTTTCGATGAAACGTGTTTCTCAAATGACCGCGCTGGCAATGGC
+TTTAGGGCTGGCTTGCGCTTCTTCGTGGGCCGCTGAACTGGCGAAGCACTCTTACACTTGACCAGCTTCA
+ACAACAAAATGGCAAAGCGATTGATACTCGCCCCAGCGCGTTTTATAACGGCTGGCCACAAACCTTAAAT
+GGCCCTTCCGGTCATGAACCTGCCGCCTTAAACCTCTCTGCTAGGTGGCTCGACAAAATGAGCACCGAAC
+AGCTCAACGAGTGGATCAAGCAACATAACCTGAAAGCCGATGCCCCGGTGGCGCTGTACGGTAATGACAA
+AGATGTCGACGCCGTCAAAACGCGACTGCAAAAAGCAGGTTTTACGCATATCTCCATCCTTAGTGACGCG
+CTAAGCGAACCTTCCCGTCTGCAAAAACTGCCGCACTTTGAACAGCTGGTATATCCGCAGTGGCTGCATG
+ACCTGCAACAAGGTAAAGAGGTTACGGCGAAACCTGCCGGTGACTGGAAAGTCATTGAAGCGGCCTGGGG
+CGCTCCAAAATTTTACCTTATCAGCCATATTCCCGGCGCTGACTACATCGACACCAACGAAGTGGAAAGC
+GAACCGCTGTGGAACAAAGTTTCTGATGAACAACTGAAAGCGATGCTGGCAAAACACGGCATTCGCCATG
+ACACCACGGTCATTCTGTACGGGCGTGACGTATACGCTGCAGCGCGTGTGGCGCAAATTATGCTTTATGC
+CGGCGTGAAAGATGTGCGCCTGCTGGACGGAGGCTGGCAAACCTGGTCCGACGCGGGTCTGCCCGTTGAG
+CGCGGTACGCCACCGAAAGTGAAAGCGGAACCGGATTTCGGCGTGAAGATCCCGGCACAACCGCAACTGA
+TGCTTGATATGGAACAAGCGCGTGGACTGCTGCATCGCCAGGATGCATCGCTGGTGAGCATTCGTTCGTG
+GCCAGAATTTATCGGTACGACCAGCGGTTACAGCTATATTAAACCAAAAGGTGAAATAGCCGGAGCACGT
+TGGGGACACGCAGGTAGCGACTCGACGCATATGGAAGATTTCCATAACCCGGATGGCACCATGCGCAGCG
+CCGATGATATTACCGCCATGTGGAAAGCATGGAATATCAAACCAGATCAGCAAGTTTCATTCTACTGCGG
+CACTGGCTGGCGCGCGTCAGAAACCTTTATGTACGCACGCGCAATGGGCTGGAATAACGTCTCCGTTTAC
+GACGGTGGCTGGTACGAATGGAGCAGCGATCCAAAAAATCCGGTAGCAACCGGTGAACGCGGCCCGGACA
+GCAGTAAATAACATTGCAATTACTGACGCTGGAGCGACTTCAGCGTCAGATACCCACTCCACACCCGCGT
+AAAGGTCGTCATCCAGCACAACGCACCAAATACCCACGCAAACCACGGAAAACAGGCCGGAAAGAGGCAA
+CTCAGAACAAACAGCAAAATCGTCTCGCTGCCTTCGGTTAACCCGCCCAGATAATAAAACGATTTATGCG
+CATAACCGGGATTATCAATCTGATGTTTCGCCGCCAGCGCAGCAAAAGCGAGAAAACTGCTTCCCGTGCC
+GATAAACGCAAACAGCAGCCAGCCGCCTGCCAGGGCGTTTTGCTCCGGTGCGGCGAGGATAAACCCAAAA
+GGCACCAGCGCGTAAAAAAGAAAATCGAGAGAAATATCGAGAAAGCCGCCCGCGTCGGTAAGCCCTCTGC
+GCCGCGCCAGCGCACCGTCCAGACCATCAAGCAGCCTGTTTAACAAAATGACGATTAGCGCCGCCAGATA
+CCAGCCCAGCGCCAGAAACGGCAGTGCCAGCACGCCGATAGCAAATCCCACTAATGTTAAACCATCTGGC
+GTAATGCCCGGTTTATCAAGAACCCGCACGCACTGATGCAACAACGGTTTAATCCGGGGATGAAGATGGC
+GGTCTAGCACAGGCACTCCTTAAATATAAAGCCTTTCTGATTGAGCAACAGTGCGGATATTATGGCATTT
+TTCGCTTATCTGCCCGTGTGTAATTTATGAAAATGATTGAAGTTGTTGCCGCCATCATCGAACGTGATGG
+CAAAATTTTACTCGCGCAACGCCCTGCCCAGAGCGATCAGGCGGGATTATGGGAGTTTGCCGGTGGTAAA
+GTCGAGCCGGATGAAAGCCAGCGGCAGGCGCTGGTGCGTGAGTTAAACGAAGAACTGGGCATCGAAGCAA
+CTGTTGGTGACTATGTTGCCAGCCATCAGCGAGAAGTTTCGGGGCGGATTATCCATCTTCATGCCTGGCA
+CGTACCCGACTTCCACGGGACGTTACAGGCACATGAACATCAGGCGCTGGTCTGGTGCTCACCTGAAGAG
+GCGCTGCAATATCCGCTGGCCCCTGCTGACATTCCATTATTAGAGGCGTTTATGGCTTTACGCGCCGCCA
+GACCAGCGGATTAGTGCTAAGGTTTTTGTCATCCTGTTGGCATTGCAGCAGTATTCCTTCGGCTTTAATT
+ACCGCCCCTTCAGAATAATTTTGATCCTGATAAACGCAGCACTGAGTACAGGGCTGCGCTGACTGCCCGC
+CTGAACTGAACACTTCTGGCGGTACGTTTACCTCCACGTCCGGATGATAATGCGGGTTAGCCAGTGCAAT
+TAATGGAAATGCTAATACTACGGCGAACAATGCTCGACTCACAGGGAACTCCTTAACGTTATTGTCTCTT
+CTACAGATAACGGTAGCCGGGCGGCAAAACTTTAGCGTCTGAGTTATCGCATTTGGTTATGAGATTACTC
+TCGTTATTAATTTGCTTTCCTGGGTCATTTTTTTCTTGCTTACCGTCACATTCTTGATGGTATAGTCGAA
+AACTGCAAAAGCACATGACATAAACAACATAAGCACAATCGTATTAATATATAAGGGTTTTATATCTATG
+GATCAGACATATTCTCTGGAGTCATTCCTCAACCATGTCCAAAAGCGCGACCCGAATCAAACCGAGTTCG
+CGCAAGCCGTTCGTGAAGTAATGACCACACTCTGGCCTTTTCTTGAACAAAATCCAAAATATCGCCAGAT
+GTCATTACTGGAGCGTCTGGTTGAACCGGAGCGCGTGATCCAGTTTCGCGTGGTATGGGTTGACGATCGC
+AACCAGGTACAGGTCAACCGTGCATGGCGTGTGCAGTTCAGCTCTGCCATCGGCCCGTACAAAGGCGGTA
+TGCGCTTCCACCCTTCAGTAAACCTTTCCATTCTCAAATTCCTCGGCTTCGAGCAAACCTTTAAAAATGC
+CCTGACAACCCTGCCGATGGGCGGTGGTAAAGGCGGCAGCGACTTTGATCCGAAAGGGAAAAGCGAAGGC
+GAAGTTATGCGTTTCTGCCAGGCGCTGATGACTGAACTGTATCGCCACCTGGGCGCGGATACTGACGTTC
+CGGCAGGTGATATCGGCGTTGGTGGTCGTGAAGTCGGCTTTATGGCGGGGATGATGAAAAAGCTCTCCAA
+CAATACCGCCTGCGTCTTCACCGGTAAGGGCCTTTCATTTGGCGGCAGTCTTATTCGCCCGGAAGCTACC
+GGCTACGGTCTGGTTTATTTCACAGAAGCAATGCTAAAACGCCACGGTATGGGTTTTGAAGGAATGCGCG
+TTTCCGTTTCTGGCTCCGGCAACGTCGCCCAGTACGCTATCGAAAAAGCGATGGAATTTGGTGCTCGAGT
+GATCACTGCGTCAGACTCCAGCGGCACTGTAGTTGATGAAAGCGGATTCACGAAAGAAAAACTGGCGCGT
+CTTATCGAAATCAAAGCCAGCCGCGATGGTCGAGTGGCAGATTACGCCAAAGAATTTGGTCTGGTCTATC
+TCGAAGGCCAACAACCGTGGTCTGTACCGGTTGATATCGCCCTGCCTTGCGCAACCCAGAACGAACTGGA
+TGTTGACGCCGCGCATCAGCTTATCGCCAATGGCGTTAAAGCCGTCGCCGAAGGGGCAAATATGCCGACC
+ACCATCGAAGCGACTGAACTGTTCCAGCAGGCAGGCGTACTGTTTGCACCGGGTAAAGCGGCTAATGCTG
+GCGGTGTAGCAACATCGGGCCTGGAAATGGCGCAAAACGCTGCGCGCCTGGGCTGGAAAGCCGAGAAAGT
+TGACGCACGTTTGCATCACATCATGCTGGATATCCACCATGCCTGTGTTGAGCATGGTGGTGAAGGTGAG
+CAAACCAACTACGTGCAGGGCGCGAACATTGCCGGTTTTGTGAAGGTTGCGGATGCGATGTTAAGCCAGG
+GCGTGATTTAATCGTTATTACAATCGTCTGGTTTTCCTTATAACCAGACGATTTTCCCTGAGTTAATTAA
+ATCCTTAGCAGACGTTTGCAATTTGCAGCCGTTTGTTCTGCATCCTGAATATCCTGTTCCGACATTAAGC
+ATCGCAACGCATCTTTTTCAATCCAGGGGTTGTTATTTCCGGCAATTGTTAGCCACATCCATGCTTGTTT
+ATTATCAATTTTAGTGCCCGTCCCCTGAGCATACATTGCCGCAGTCTGGTGCTGCGCCTCGGGCGACCCT
+AAACGCGCCGCTTTTTCGTACCAGTGCAGCGCATGATTTTCATCTTTTATGGTATCTTTTGTACCGTACA
+GATACATTTCAGCTAACAAAAATATCGCCTCTATTCGACCACGCTGCGCTGCACCAGTAAGCCATTGAGT
+AGCCTCTGCGTTATTTTCAGGATCATCATTGTTGATTAAATAATATTTCCCCAATTCATACATGGCATCC
+CCTGCCCCATCTGCCCCATTTTTTGCTGCTTTGGTAAACCAGTACAGCGCTTTTTCCTGGTCCTGTGGAA
+TACTCTCACTTCCGCTATACAACCTGGCAGTATGATATTGCGCATGTAAATATCCCTGTTCTGCTGATTG
+CAAAAACCAACGATGGGCCTGAACCTCATCGCGCTCCACGCCAATCCCTTGTATATACATTTGTCCCAAC
+TCATACTGGGCAACCTCATGTCCTTGTGTGGCGGCAGATAAATACCACTGCAATGCTTCTTCATAATTTC
+GTAATGGCTCAACAGCAAAGCGTGAGATACGGGCAAGCTCATATTGCGCAGATGTGTTGCCATTTTGGGC
+AGCAAGTAAAAACCATTTTCGTGCCTCACAAATATTCTTATCCGTGCCCCTTCCATCGCTATACATGATA
+CCCAGCGCATACAGAGCATCGATAACATTATGCTGCGCGGCGCGGGTAAACCAGTTAAAGGCTAATTTTA
+GATCCTGTGAAACCTCATCACCTTCGTAATACATTTTGCCAAGAGAATACCAGGCTAGCGAATAGCCTTG
+CTCTGCAGCATGTAAGCAGGACTGGTATACAGAAGATGGATAATAAAAAAGACCTTTTAATTTTATGGCA
+TTTAGCAGCTTTTTATATCCACTATGATGTTGCATTGCTAAATTATTGAAGCGTTCTGTTAATTTCCACT
+TGCGAATCATTTTTTCTTTTCGCAAGGAATATGATAAACACTCTATTAACAATGCCATATAGTTGTCTGA
+TAGTTCAAATTCAGCAACTTTATTTAATACTGCGATATCAAACCATTTCAGGATCTCTTCATTATCCTTT
+AATGATTGATAAATCGTAGCCATTTCCTTCCCGTTTTCCATTTCTTCCAGTGGAGACAAGTTACTGGCAA
+AGAAAGGGGTAATTTGTTTTTCGATGCGATAATAAAGAAGACAACTTTCGTTAATTTCTGTCTGGATTAC
+GGGTTGACGACTGCCTGCGACTAAATGCCATCTGAACGTTTGTGCTGCAGCGAGAGTTAATAATGGCCGG
+AATACCCGATGAAGATGCAGTAATAACGCTTCTTCAAAGCACATTCGTGAGCTGAGATCTTTTTTCTCAA
+GGAAAGATAACGCCTTAGAAAGTTGCATGGGGGCGTGTTCGGGGGTAGCTTCATTCTCCTCACAGAGCAT
+ATCCAGCACGGCTTGCCAGGTGACTTCCCCCTCTGATTTAACAGCGACATCAGGAAGTGGATGACCAGAA
+AAGGTGTTGGGTGCGCGAAATGTCATCACAGGACGAGGATAAACAATACCCCTGGGCATATTGATTGGCT
+GCTCTTCTTCCTCTTCTTGCCACTGATCTTCGTCGTCATAACGTAAAGCCTGTTCATAAGCATCGTGCAA
+TTGTTGCCAGGCTGCGGGATCATCTTCCGGGCGGCAATTTTTTACCAGTTGCGCATAACGACGCTTAATA
+TCTCGTTCTTCCGCACCAGATTGTAAACCTAATATTTCCCAGCAGTTCATTATGCCTCTCTTTTCCGTGA
+AAGTAATTTATAATTGATAACGTTTTTTCAGAATCCTCGCCATCCGTTGCGCCCGGCTTAAATCTTGCAA
+CGACAAACTTTCTCTGACTTCTGGCAACCAGTCATTGCTCTCCAAATCATGATATGCTTCAGAAATTATC
+CCCCACGCCCATGACAAAATGTAATTTTTATCTGTGCCATCCCCTTCCATATACATAATAGAAAGCATTC
+TTTGCGCTCTTTTAATTCCAGCGTACGCCGCTTTAAAAAACATGTTAAAACTTAAAGCTGAGTTTTCTGC
+AATTTCTTCAAATCCCTGGTAATAGATCATACCTAATATCTCGGCGGACTGTTCCTCGCCTCCTTCCTGG
+GCTTGATTTAAATACGCAATGGCCTGGTGGATATCTTTAGGCAAGTATCCTTCCCTGCCATGAACATAAA
+GTTGACCTAAAACTAAGGCTGCATCAATATCTCCATGATCAGCGGCAGATTTTAATAGATTAATTGCCAT
+TGTCATATCTTGAGGGATCTCTGTTCCTTTATAATACATATATCCCAACGTACACTCTGCCTTACTATAT
+TTCTGATCTGCTGATAAATTTAGCCAGTAAACAACTTGTTGATAATCCACATCAACGCCCCGACCGTCTA
+TGTACATTGTGGCAAGGTGATATTGTGCTTCAGCGTACCCTTGTTCTGCCGATTTTTGACACCATTTAAA
+GGCCTGTTCATCGTCAACTTCCACACCTTCACCATCCCGATACATACATGCCAAACTATGCTGCGCCAGA
+GGATGATTTTTATTAGCCGCGTTTAGATATAATGAAATAGCTTTTTGTGGATTTTTATTTACACCTTTAC
+CATCACGATACATTAACGCCAAATTTAATAACGCATCATTATTGCCTTGCCCTGCGGATTTCTCGAACCA
+ATATTTTGCCTGCACAAAGTCTTTTTTGATAATCTCGCCAATATAATACATTGCACCTAAATCATTTTGA
+AACACCGAATTTCCTTGCTGCGCGGCACGTTTATAACTTGTTAATTTTTTTGATTGTTGATATTTCCCTT
+GCTCAAGATTTAAGGCGAAAAGTATTTTTTCATATCCTGTTTTATGTAGATTAAACAATACATAAAACTG
+TTCTGATACCTGCCAGCAGAACTGGTGTGGGTCAGATTGAAATGACCACCCTATTAACTCAATAATTAAA
+CTTAAATAATCATCAGATAAATCATATTTATTGATGAGGTTTAATAAAGCCACTTTGAACCATTTATGAC
+TTCTGTCATCTTCTTGTAGTTGCTGATAAGAAGACAACAGCGCCTTGCCATTTTCTAACTCTTCAGAAGG
+TGACATCGTACTGTAAAAATAACTGGCTATTTCTTTTTCGATGCGATAATAAAGAAGACAACTTTCGTTA
+ATTTCTGTCTGGATTACGGGTTGACGACTGCCTGCAACTAAATGCCATCTAAAAGTTTGTGCAGCAGCGA
+GAGTTAATAATGGCCGAAATACCCGATGAAGATACAGTAATAACGCTTCTTCAAAGCACATTCGTGAGCT
+GAGATCTTTTTTCTCAAGGAAAGATAACGCCTTAGAAAGTTGCATGGGGGCGTGTTCGGGGGTAGCTTCA
+TTCTCCTCACAGAGCATATCCAGCACGGCTTGCCAGGTGACTTCCCCCTCTGATTTAACAGCGACATCAG
+GAAGTGGATGACCAGAAAAGGTGTTGGGTGCGCGAAATGTCATCACAGGACGAGGATAAACAATACCCCT
+GGGCATATTGATTGGCTGCTCTTCTTCCTCTTCTTGCCACTGATCTTCGTCGTCATAACGTAAAGCCTGT
+TCATAAGCATCGTGCAATTGTTGCCAGGCTGCAGGATCATCTTCCGGGCGGCAATTTTTTACCAGTTGCG
+CATAACGACGCTTAATATCTCGTTCTTCCGCACCTGGTTGTAAAGCTAATATTTCCCAGCAGTTCATTGC
+AGACGTTCTCTTTCCAGAGAGTCTAATGTAGGTTCAACTTTAGTCCGAAAATCAGCAAGTTGATCAGGAT
+CCTGCTTCTCGAGTAGATAACTGAAATGACGGGAGCAATTGCTTATCCAGTCTCGCGTTTCCGCCAGGGT
+GAGTTGATAGAGATTATCAAGACGGGCAATAAAGGCCTGGTTTATCTGTTCATCGCGTGGGTGAATTTTT
+AACAGGCTTAATTTGGACAACGACTGCTGTATTTGTTCTGCCGTTAATGCCCCTGGATTCTGTTCAATAA
+CCAGACTATTTTTAGCACCTGTCAGTGGCACGCTGATATCGACATCAAGAATACCGTTAATGTCGTACGT
+AAAACGAACATCAATACGCACATCACCGGCCGGTTTTGGCGGAACATTCACTGACAACTCCGCAAGGAAA
+ATATTATCAGCCACCATCCTGCTTTCACCCTGGTAGATTTTAAAATTAACCTCTGTTTGTTGATCATGTG
+CCGTGTAAAAGGCACGAACGCGACTACAAGGAATACTCCTGTTACGCTCAATAACGGGTGCAAAATAGCC
+TGATTCGCGGGTATGCCCCAGCGATTTAGAGGTATCAACGCCAAGCGTATAAGGGCAAACATCAGTCACT
+ACAACATCTCGTAATTCGCTGTGCCGCGCTTTAAGTGCAGCCTGAATAGCCGCGCCCTGGGCAATGACTT
+CATCCGGGTTTAAATGCATTGCCGGTATACGACCAAATAATCGTGTCACAAGTTTGCGAATCAGTGGCAT
+ACGTGTAGTGCCACCCACAAGAACAACCTGGTCTAATTGGCTAATATTAATTTTGGCATCGCGAATTGCC
+CGCTCCAGTGGCATATGGACTCGTTCGAAAAAGGTCTGTAATAAAAATTCAAATTTTTCTGTAGTCAGAT
+GCCAGTAATATCGCCTTCCTTCAATCTCCACACTGAAAGTGGCTTCATCTCGCACACTCAGCACGCGTTT
+GACACGCTCAGCCTCGATGCGTAAATGCCGCTGGAATGTCGGTTCACGCCATTCAATATTTTCAGGAAGA
+TCCCGACGTGAGCAATATGCATCGATCAGGATATCGACAATATCTTCACCACCTAAAAAGTTATCCCCGG
+CACTGGCACGTACTTCCATAATATTGTCAAACAACTCCAGTATGGAGACATCAAACGTACCACCACCTAA
+ATCGAATACCAGAAATTGATGTTCATCATCCTTATTATGCAAACCATACGCCAGTGCAGCGGCGGTTGGT
+TCGTTAATTAAACGTTCGACATTTAAGCCTGCCATTGTCGCAGCGGCTTTTGTTGCTTTACGTTGCATAT
+CACCAAAATATGCGGGAACACTAATCACCGCTTCAGTGACTTCTTCGCCCAAATAGTTTTCTGCATCTTC
+TTTTAGCTGACGTAATATCAACGATGAGAGTTCTTCCGCACGAAATTCCCGTCCGCCCAGTTTTAACGTC
+TTTGATGTGCCCATCATGCGTTTAAAATTTGATGCGCAGTTTTGTGGTTTGATGAGTTGCAGGTCACGAG
+CTGCCTCCCCTGTCAAAACCATACCATCTTCGTCAACACAAACTACGCTGGGTGTTAAAAACTTACCCAA
+TGCATTGGGGATCAGTTCACTTTGTCCATTTCGCCAGACAGCTGCCAAACTGTTAGTTGTACCCAGGTCG
+ATACCGATAATCATAATTATCCTCTTCAAATAAATGAACTGATCATTTTATAGAGCAGTTATATATATTC
+ATTTTGTGAATAATGTTCACAATCCCTGCGTTTGAAAATAATTTATAATGATGCAATCCATAACATAAAT
+TACGTGAATATAAAGACATTTCGTTTATAATTTTAACTATGGGTACTTATATCATATACTCTAAATAATT
+CGAGTTGTAGGAAGTCAGAAAGTAAGTGAATCCCGAGGAGCTTACATAAGTAAGTGACTGGGCTGAACGA
+ACGCAGACGCAGCACATGCAACTTGAAGCATGACGAGTATAACCAAATAAAGCCAATGGCAGAATATCTA
+CCATTGGCTTTATTTAAGAGTGGAAAACGAATTAATTAGCAGAATCCGTATTATCTGTTTTGGGCTTTGC
+CGCTTTTTTCACACGCTTATTGGGTGCTTTTTTAACAGCCCCCCCACCCGATGCCACAATTCCTCTGAAC
+TGCCTGACCGGAGTGCTACGAGCCTGATCAATCAGTTGGTAAAGCGTCCCCACCAGCGGCTGCATAAAGT
+CCTGATAGCGACACTGCTTTTCGCTGATTTGCGTCAGCACCGATTCCCAGTGCGCGGTCATGTCCGGTCG
+CGTCGCCATTTCTGGCAGCGAATGGAATAGCGCTTTTCCGGCGTCGGTGGAGTGGATATAGCGCCCTTTT
+TTGGTCAGGAAACCCCGCTTGAACAACAGTTCAATAATCCCGGCACGCGTTGCTTCTGTCCCCAGACCAT
+CGGTCGCACGAAGGATCTTTTTCAGATCTTTGTCCTGCACAAAGCGTGCGATCCCGGTCATCGCCGAAAG
+CAGTGTTGCATCGGTAAAATGGCGTGGCGGCTGGGTTTGCCGCTCTACCACTTCACCTTTTTCGCACAAC
+AATTCATCGCCTTTCGCCACCACAGGCAGCGGCGTGCCGTCGTTTTCTTCATCGCGCTCTTTGCTGCCTA
+ACAGCGTGCGCCAGCCTGCTTCAGCAAGAAAACGGGCTTTAGCGACAAATTTGCCTTTGGCAATGTCCAG
+TTCGATAACACACTTGCGGAACACCGCATCCGGGCAGAACTGCATCAAATACTGACGGGCAATCAGGTTA
+TAGACCTTCGCTTCGTTCTCCGTCAGGTTGATCGCAGAACTCCGTGCGGTCGGAATGATGGCGTGGTGCG
+CATCGACCTTTTTGTCATCCCAACAGCGGTTGCGTATATCTGGATCTACCACTGGCTGCGGCAACAGATC
+CGGTGCATGAACGCTGATAGCATTCATCACCGCGTGGCGTCCGGCAAAATGTTCTTCTGGCAAATAGCGG
+CAATCGGAACGCGGATAAGTGATTAGCTTGTGCGTTTCGTACAGCTTCTGGCAGATATCAAGCACGTTCT
+GCGCGCTCAGACCAAAACGTTTAGCCGCTTCAATCTGCAACGCCGAAAGCGAAAAAGGCAGCGGCGCGGA
+TTCTGATTCCCGTTTATCGTTATAGCTGGTGACAATAGCTGGTTGACCACTAATGCGGTTAACCACATGC
+TCCGCCAGTGGACGATGTAACAAGCGCCCTTCTTCATCCTGGTACGGTTCACACGCTTCGCTCGGTTGCC
+AGATAGCGGTAAACCGCTCATCTGCAGGTGTCACGATATGTGCTTTGACTTCAAAGAAGTCTTTCGCCAC
+GAAGTTTTCAATCTCTTCGTCGCGGCGCACCACCAGTCCGAGTACGGGCGTCTGCACGCGTCCCACGGAA
+AGCACGCCCTGATAACCGGCATTGCGGCCGAGAATGGTATACGCACGGGTCATATTAATGCCGTACAGCC
+AGTCAGCCCGCGCCCGCGCCAGTGCAGAAACGCACAGCGGTACAAACTCGCTATTGGAGCGAAGACGATC
+GATCGCCCGCTCAACCGCCTGCGGGTTCAGGTCGTTTATCAAACAACGCTGTACCTGCTGGCGCTTTTCC
+GGTGCCAGTTGCAGGTAGTCCAGCACTTCATCCACCAGCAGTTGCCCTTCGCGATCCGGGTCTCCGGCGT
+GAACGATTTCGCTGGCTTCATGCAGGAAGCGTTTGATGACATTAAGTTGTTTAGTCACGGAGGGTCGGGG
+CTGTAATTGCCACTTTTCCGGGACAATTGGCAAATCCGCAAGATTCCAGCGCGCATAGCGGCTGTCGTAG
+GCGTCTGGCTGCGCCTGCTCAAGCAGGTGACCGATACACCAGGTCACCACCTGACCATTACCGCACTCGA
+TAAAGCCATCGCCTTTCCGGTGCGGTTTAGGCAGGACATCAGCAATGGCGCGCGCCAGACTCGGTTTTTC
+GGCAATAAACAACCGCATTGAATTAACGGATCTCAACCATGGCACGACCGCCGCGCGCTGGCACCAGTTC
+GCCAATCGCCGTCAGTTCAATGCCAAACTCGGCGGCTGTAGCTTTGACCTCATTTTCTGCTTCCGGCATG
+ACCGCCAGCAGCAAACCGCCAGAAGTTTGCGGATCGCACAGCAGATCGCGCACTTCACGCGGCATTTCAC
+CCATCAGATGACCGTAGCTGGCAAAGTTACGTTCGGTGCCGCCAGGCACTGCGCCCAACTTAATGTACTC
+TTCAACCCCCGGCAATTTCGGGATCGCGTCATAGTCGACGCGCGCCTGCACACCTGCGCCCTGACACATT
+TCGCTTAAATGCCCCAGTAAACCAAAACCCGTAACGTCGGTCATCGCTTTTACGCCTTCGATGTTGGCAA
+AGGACGCGCCTGCGATGTTCATCCGGCACATCACTTCCGTCGCCAGTCCCTGATGTTCTGGTTTCAGCAG
+TGATTTTTTCTCAGCCGTGGTAAGAACGCCAATCCCCAGCGGTTTCGTCAGGAACAGTTTGCATCCGGCT
+TGTGCGGTACTGTTTTTCTTCACCCGCTCGGTCGGTACGATCCCCGTTACCGCCAGACCAAAAATCGGCT
+CCGGCGCATCGATGGAGTGACCGCCAGCCAGCGCAATCCCCGCCTGACGGCATGCATAGCGTCCACCTTC
+GGTCACTTCGCGGGCAATTTCCGGGGAAAGTTTGTTAATCGGCCAGCCGAGGATCGCAATCGCCATAATC
+GGTTTGCCGCCCATAGCAAAGATATCGCTGATGGCGTTAGTCGCCGCAATGCGGCCAAAATCGAAAGGAT
+TATCAACGATCGGCATAAAGAAGTCGGTGGTACTGATAACGCTGGTGCCATTGCCCAGATCGTATACCGC
+CGCATCGTCGCGGGTTTCATTACCCACAAGCAAATTCGGATCAACAAACTTCGCCTGCTCACTGTGCAGG
+ATGGTTTCCAACACTTTTGGGGAAATTTTACAGCCGCAACCAGCGCCGTGGCTGTATTGGGTCAAACGAA
+TCGAGTTCTCGCTCATGGACATCTCCTGTCAATGCAATCCGGGTATGGTAACCCTCATTCCATGAAGTGA
+TAAGTGAGAGTGTCTGAATTCCTGCGCCTTTGCTCACAATCCAGACAGTTTCGCGACAATTATCAGAAAT
+AAGTCACAAACGGCGTCGGGTCCGGGACGTTTATCGACGTAGATGCTTTCAACTGCGGCGTACCGAGGTA
+GAGAAAACCGACAATTTTATCCTGCTCACGGCAACCGAATGCTTCACGGACTACCGGACTTTCAGTTAAT
+GCACCACTGCGCCAGATGCCGCCAAACCCCTGGGCAACTGCTGCCATTTGCATCGCCATGACCGCGCATC
+CCGCAGACATTTCCTGTTCCCAGCGCGGGACTTTATGATTTTCTTCGCATTTCGCCACCACCGTTATGAT
+GAGCGGTGCGCGGAACGGCGCATTACGCGCTTTGTCGATTGCTTTGTTATCACTACCGGCAGCAATCGCC
+CCCTGCTCCAGTACAGCGCTGAAACGCTCGCGCCCTTCCCCTTCAATCACAAAGAAATGCCACGGTTGCA
+TGGACTTATGGTCCGGCGCACGCATACCCGCACGCAGGATGTTTTGCAGTTGTTCACCCGTTGGCGCGGG
+TTCAGCCAGGCGGGAGGCGCTACGGCGATTGATCAATAGTTCGAGTGCATCCATTTGATTAACTCCTGTC
+ATGATATTTATTCACAAAATTAACACGAGAGTGGATTTTGTTACAGCCCAGTCCGCAATTCCTGCTGACA
+AGTGCCGGTTGGGTCATTACGATAACCACATCTATTGCGCCTGAAACAGGTGTGACCTTAAGTTGGGAGA
+ATACATGCGAACCCTTTGGCGATTTATTGCCGGATTTTTTAAATGGACGTGGCGTCTGCTGAATTTCGTC
+CGTGAAATGGTACTTAACCTGTTCTTTATTTTTCTCGTGCTGGTTGGTGTGGGGATCTGGATGCAGGTCA
+GTGGTGGTGATTCGAAAGAAACGGCCAGTCGTGGCGCACTGCTGCTGGACATTTCTGGTGTGATCGTCGA
+TAAACCCGACAGTTCTCAGCGGTTTAGTAAATTAAGCCGCCAGCTGCTTGGTGCCAGTTCCGATCGTCTG
+CAGGAAAACTCACTGTTTGATATCGTCAACACCATTCGCCAGGCGAAGGACGACCGCAATATCACCGGTA
+TTGTGATGGATCTGAAAAACTTCGCAGGCGGCGACCAGCCGTCTATGCAGTACATCGGCAAAGCTCTGAA
+AGAGTTTCGTGATAGCGGGAAACCGGTTTATGCCGTTGGCGAGAACTACAGCCAGGGGCAATATTATCTC
+GCCAGTTTCGCCAATAAAATTTGGCTGTCTCCGCAAGGCGTGGTTGATCTGCACGGCTTTGCCACCAACG
+GTCTGTACTACAAATCGTTACTGGATAAGCTGAAAGTTTCCACCCATGTGTTCCGCGTGGGTACGTATAA
+ATCTGCCGTTGAACCGTTTATTCGTGATGATATGTCGCCGGCAGCCCGCGAAGCTGACAGCCGCTGGATT
+GGTGAGCTGTGGCAAAACTATCTGAATACTGTTGCCGCTAACCGCCAGATCCCTGCTCAGCAGGTATTCC
+CTGGCGCGCAAGGGTTGCTTGAGGGTTTAACCAAAACCGGTGGCGATACCGCGAAATATGCGCTGGAAAA
+CAAGCTGGTCGATGCACTGGCATCGAGTGCCGAAATCGAAAAAACTCTGACCAAAGAGTTCGGCTGGAGT
+AAAACTGATAAAAATTATCGCGCCATCAGTTATTACGATTACGCATTGAAAACGCCGGCAGATACCGGTG
+ACAGTATCGGTGTCGTCTTCGCTAATGGCGCAATTATGGATGGCGAGGAAACTCAGGGGAATGTTGGCGG
+TGATACCACTGCGGCACAAATCCGCGACGCTCGCCTTGACCCGAAAGTGAAAGCGATTGTTCTGCGTGTT
+AATAGTCCCGGCGGCAGCGTTACCGCGTCTGAAGTGATTCGCGCTGAACTGGCAGCAGCCCGGGCAGCGG
+GTAAGCCTGTGGTTGTATCGATGGGCGGCATGGCGGCATCTGGTGGTTACTGGATTTCCACACCAGCTAA
+TTACATTGTGGCTAACCCCAGCACCCTGACAGGTTCTATCGGTATCTTCGGCGTGATCACCACCGTAGAA
+AATAGTCTGGATTCGATTGGTGTTCATACTGATGGTGTCTCAACTTCACCGCTGGCAGATGTTTCTATCA
+CCAGGGCACTGCCGCCGGAAGCGCAGCAGATGATGCAGTTAAGCATTGAGAATGGCTATAAACGCTTTAT
+CACGCTGGTTGCTGATGCGCGTCATTCAACGCCGGAGCAGATTGATAAAATCGCCCAGGGCCACGTCTGG
+ACCGGCCAGGATGCAAAAGCTAACGGGCTGGTCGATAGTCTCGGGGATTTCGATGATGCGGTCGCCAAAG
+CAGCAGAGCTGGCAAAAGTGAAACAGTGGCATCTGGAATACTACGTTGATGAACCGACCTTCTTCGACAA
+AGTGATGGACAACATGTCTGGTTCTGTCCGGGCAATGTTGCCAGATGCGTTCCAGGCCATGTTACCTGCA
+CCGCTGGCCTCGGTAGCCTCTACCGTTAAAAGTGAAAGCGACAAGCTGGCCGCGTTTAACGACCCACAAA
+ACCGTTATGCGTTTTGCCTGACCTGCGCCAACGTGCGTTAACTCTTGTACTAAGTGGCCGACAGATCGTC
+GGCCACATTACTTTTTACGTCGACGAATCCTCTTCCCGCTGTCTCGCCACATATTTCCTTATCCTCATAG
+TATCAGGTGCGCTCCCCCTGCCTCACGTATATACTTTTGCTCTTTCGATATCATTCATATCAATATCATG
+CAAAAGAAATCAATTTACGTCGCCTACACGGGCGGGACCATCGGGATGCAGCGTTCCGAGCAGGGTTATA
+TTCCGGTGTCAGGTCATCTACAGCGCCAACTGGCGCTGATGCCGGAATTCCATCGCCCGGAGATGCCAGA
+TTTCACCATTCATGAATATACGCCATTGATGGATTCTTCTGATATGACGCCAGAAGACTGGCAGCATATT
+GCTGAAGATATTAAAGCGCACTATGACGATTATGATGGTTTTGTCATTCTGCACGGTACAGACACGATGG
+CGTATACCGCCTCTGCACTGTCGTTCATGCTCGAGAATCTCGGTAAACCGGTCATTGTGACAGGGTCACA
+AATCCCGCTGGCTGAGTTACGCTCTGACGGACAAATTAATCTGCTGAATGCGTTGTACGTTGCGGCGAAT
+TATCCTATCAACGAAGTAACTCTCTTTTTTAATAATCGACTGTATCGTGGCAACAGAACCACCAAAGCAC
+ATGCCGATGGTTTTGATGCGTTTGCCTCTCCAAACCTTCCTCCGTTACTGGAAGCAGGTATCCATATTCG
+TCGTTTGAACACGCCACCCGTCCCGCACGGTGAAGGGGCATTGATCGTTCATCCAATCACGCCGCAACCA
+ATTGGCGTAGTGACGATTTATCCGGGGATTTCTGCTGACGTCGTGCGCAATTTTCTGCGCCAACCTGTGA
+AAGCATTGATTCTGCGCTCATATGGCGTGGGTAATGCGCCACAAAACAAAGCCTTCCTGCAGGAATTACA
+AGAAGCCAGCGATCGCGGTATTGTGGTGGTCAACCTGACACAATGTATGTCCGGTAAAGTGAACATGGGT
+GGTTATGCCACCGGTAACGCCCTCGCCCATGCCGGCGTTATTGGCGGTGCAGATATGACTGTAGAAGCCA
+CGCTAACCAAACTGCATTACCTGCTTAGCCAGGAACTTGATACTGAAACCATTCGCAAGGCCATGAGCCA
+AAACCTGCGTGGCGAACTGACGCCGGATGATTAAGGAGACTGCAATGCCCCCTCGCGCCCTGTTACTGGT
+CGATTTACAAAATGATTTCTGTGCTGGTGGCGCGCTCGCCGTGCCGGAAGGTGACAGTACGGTGGATGTC
+GCTAACCGCCTGATTGACTGGTGCCAGTCGCGCGGTGAAGCGGTTATCGCCAGTCAGGACTGGCACCCGG
+CGAATCACGGCAGTTTTGCCAGTCAGCACGGTGTAGAGCCTTATACGCCGGGCCAACTCGACGGTTTGCC
+ACAAACCTTCTGGCCCGATCACTGTGTGCAGAACAGTGAAGGCGCACAATTACATCCGTTACTGAAGCAA
+AAAGCGATCGCAGCGGTGTTCCATAAAGGCGAAAATCCTTTAGTTGACAGTTACAGTGCCTTTTTTGATA
+ACGGCCGTCGGCAGAAAACTGCGCTCGATGACTGGTTGCGCGCTCATGTAATCAATGAATTGATCGTTAT
+GGGTCTGGCTACTGACTATTGCGTTAAGTTTACCGTGCTGGACGCGTTACAGTTAGGCTATAAGGTGAAC
+GTGATTACCGATGGTTGTCGTGGCGTAAATATCCAGCCACAGGACAGTGCGCACGCGTTTATGGAGATGT
+CAGCAGCTGGGGCAACGCTATATACGCTGGCAGACTGGGAAGAAACGCAGGAGTAATTTTACGCTGGCCT
+ACAATTCTGTACTGGCATTGTAGGCCAGACAAAACACATCAGTGATACATCTGGTAATTGACGCCATCAA
+CGAAAGATTTAATTCACCTCAGAAATCTCTTCCAGCGACACCTTCCGCGTTTCGATGCCAAAAATGGAGA
+GAACCAGCGCACAGAGCACTAACATGACACCAAGCACCATAAACACCGTAATCGACCCATAATGTGTTAA
+TAATGCCGCAACGCCATAGGGCGTGAAGACTGCGACGATCCGTCCGACGGCATTAACGAAACCCGAACCA
+CGCAGGCGTAAATGCGTTGGCCAAAGTTCCGGGATATAAACCGCCGACGCGAAGCACACATACATGTATA
+AAAAGAAGATCATCACCAGGCCATAGATTAAAATCGCCCACTCTGTAGTCTGAATTGAATAGATATAGCC
+TAACACGGCAATAATAATAAGTAAGGCAGAGCCAAATAATCGACGAGGAAAATGATCAATAATTAATGCC
+GCAATAAATATCCCTACCGGAGCGCCAATCATAATAACAGCGGTCATTAATATTGATTTATCAACATCAA
+TGCCGGAGTTAACAAATATGGTCGGTATCCATACGGTGATGGTATAAAGCGAAATGTTCATTGCAATTAA
+AACAGTAATCGCGACTAATGTACGTCGTAACATTCCCCCTTTAAACAGGAGCCAGAAGGTACCCTTGATT
+ACCTTAACCTTGCTGTTGCTCTGGTTCAAAGTAAGCGGGGGTAAACGAATCCTCTTCTCTCTTTCAATTT
+GCTGCTCTACTTCACGAAGTTGGCTTTCTGCACCTGCGATTTGCCCTTTCCCTGCCAGCCATCGTGGCGA
+CTCAATAAAGTATTTACCTGAGAGAAACCACGCTAACAGTATGCCAATACCGCCCAGCAGAAACATTATC
+CGCCAACTAAAAAAAGCGATAACCACCACGCCTATCGCCGCAGAGAGCATGGGCGACCAGTTACCAACAA
+ATGAGAGCCGCGCGGACCATTTTCCACGCACCGTCGCGGGGATAAACTCCGTAAATGAGGCATAGCCAAC
+CATAATCAGCGCCCCCATTCCTGTTCCCATCAGGAAGCGAAAGAAGATGAGCCAGTACATATCAGGGACA
+AAAGCGGCCCCTGTTGCCGCAATACCGACGATGAGAAGATTTATGCGAAACGCCCTGCGCCGCCCAAAGT
+AGTCACCAATAAACCCACCGGTAAGAGAGCCGATGAAATAACCAAACATTAATGCCGAGGTAAAGGCGGC
+ATTGAGGAAATTATTTGACCATCCATTGCTTACCAGCTTTGCTAAGACGACATTACCGGAGTAACTCAAA
+AACCCCGTTAGTAACAGACTAAAGCTTATTATACCAAATATACGATAATGAAACCGGGCCAAAGGCAAGC
+GGTCCAGTCTTGCGCCAATTTGATCATATTGTTCCATTGGGTGCCTCGGATTTGCTAAAAAAGGTAGCAA
+TTGCGGCAAATTCACTTGCCGCATCTTTATCATCATTTTATTTCCAGGCGCAGGAACAAATAATATTGAC
+AATGTGTGCTTAAATTACCACACCAGCTGGATATTATTGTCTTTGCAAAATGCTATCCACTCTGCACCCG
+GTGATTTATCAGTTATTATGTAATTAATATGACTAAAGTCAGCTAACTGGACAAAAGCTTTGCGATCAAA
+CTTAGAGTGATCAACCAATAACGCAACTTCTGTCGCCTGACGGATCATTGTCTTTTTGATTTCAGCTTCC
+GCTTCATTAGAGTCCAGCGCGCCGCTGTTAATATCAAGACCTTTACAACTCATTACCATGATATCGACAT
+GGTAGCGGCTGATGATCTCTTTAGTAATTCTTCCTTGCAGTGAAAGTGTATTTTTGTTTAGTTCCCCACC
+CGTTGAAACGACTTTAATTTCTGACTGAGCCAGAACATGAATCGCTTCCGCCGAGTTGGTTAGCAACGTC
+AGGTCACTACGGTCCTGTAACAATTTGAGCAATTCCATTACGGTACTACTGGAATCGGCTGCCATGGTGG
+TTTTATTGTCGATAAAGGGTAGTGCCTTGCGTGCAATAAGCTGCTTCTCTTCATAAAACGATGAAGCGCG
+CTTATAAAAATGGATATTCTCCGTCAACATCGCTGTATTTAAAACAGCACCACCATAGGTTCTGGTCAAA
+AAGCCTTCATCTTCCAACTTCTCAAGATCGCGGCGAATGGTTTCTTCGGTTACCTGAAAAATCCCACTCA
+AATTTGAGACTGTCACCTTTTTATCGTTGGCAACCATTTGCTTAATTGCCTGAATCCTGTCTTTTGCCGC
+CACGATTACACCCCTGTATCTTTTTACATCACATTAGCGCAATTATCGCATAACCGATGTTTACTTTCAA
+AATAACCTGTTTGAATCACAGATTTTCATCACAGTTTTCACAGAAACAGAGGTGAATCGTGTTGAGTATT
+TAACGCTCCAGGGCCTCTGCCATTTCCCTCATCAATGTTGCGTCTGCATCCGATAAGTTGATATTCAGTG
+CCGCGACATTTTCACGTACCTGTTCCGGCGCAGTAGCCCCACTAAGAATGGAGATTAAATCACTCTGTTT
+TAATATCCACGCCAGTGCCAGAGTGGGAATTGTGCACTGATAACGAGCACAGAGTGGCTGCCACTGTTCA
+AGCATATCAATCACTTTCAGCATGTTTTCACGCTGGAACCAGACTTTATTTGCCCGAGCGCCGCCCGGAA
+CGTAATCACGCGTGATGGTCCCGGTCAACAATCCCTGCTCTAGCGGAGAGTAGACCTGTACCACAATGCC
+ATTATCACGACATAGCGGCAGCAGTTCGTTTTCCATTGCCCGGTCGAGGATACTGTATTTCGCCTGAATA
+ATATCCAGTTCACCATGTTGCAGATACTCGCGGATATGGTCAGCATCGACGTTAGCAGCGCCTATAGCGC
+GAATTTTCCCTTCGGCCTTTAACGCATTAAGCACTGCGACAGTTTCAGCTATCGGCGTAAAAAATGGCGG
+CACCGACTGCCAGTGCGTCATGTAGATATCGATGTAATCAATACCCAGACGTTGCAAGCTGGCTTCTACC
+TCTTCGCGGATAGATTCCGGAGAAAGGTTTTTATACAACTGCCGATCGCCAACTTTGTTGAATAAACTCC
+CTTTTCGTTCCCAGACAATGCCGCATTTGGTTTCTACTACAACCTGTTCACGGGGCAGTTTTTTTAACGC
+CTGACCAACGATAACTTCACTATTGCCAAAGTTATATCCTGGCGCAGTATCAATCAGGTTAATGCCGCAA
+CGATGGGCTTCAAGAATCGTATCAATGCATATTTGTCGATCGAGATCGCCATTCCATGCAGGACCGCCGC
+CAATGGCCCATGTCCCCAACCCCATTCGCGAAAGCGTTATATCCGTTGTGCCTAAAGGTATCTTTTTCAT
+TTGCCTTCATTATCCTTCGTATTCTTCCAGCAATTGTTCGACCAGCTTTCTGTTTTTTACACCGGTGGTG
+GCGCCGATGCTTAGAACCGAGATAGCCGCCGTTGCATTGGCAAAGCGTGCGCATTCACGCAGATTTTTAC
+CTTCTAACAGTGCTGCAATAAAACCTGAAGCAAAGTTATCGCCCGCACCAATGGTGTCGATGGCGGTTAT
+TCCTGCGACCGCCGGCACCTTCATCGTCATGTCACCACGCTTGATAAAGCAGCCGTCTTTACCCGTTTTA
+ATCACCACCGTTTTTACGCCGCACGCAAGAAAGCAGTCAGCAATTTCATCCAGTGTCTCTTTCCCGGTGA
+GTAATTTTGCCTCGGCAAAATTAGGAAACAGATAATCGACATAACTCAATGCTTCGCAAATATCATTCAG
+CGTTTCATTCAACCGCGGTTTGATCATATCGGCACAGATAATCATCTGCCGGGCTTTAGCTTGCGTAAAA
+ATTTCTGTTAGCGCTCTACCATCCAATAGAGGACTGTTGAAAATACTGGCCAGTGATAATAATTTCGCCT
+GAGAAAACCGCGCAAAATCAACATCGTCAATATTCAATTTCCACAGACTGCCGTTACGGTTTGTGACAAA
+GGTCCGCTCGCCATCCTCCGTCACCAGTCCAACGTTAATAGAGGTATCTATGCTGACGTCCTGCTTCAGG
+CTTTGAATATCAATATTCTCTTTGCGGCAATGGTCGAGAATAAATTGCCCTGCGGCATCTTTACCAATAC
+GACTCATTAATGCTGTGCGATGGCCCAGACGAGAAATAATTGTTGCTTCATTTATTGCATCCCCCCCGGT
+GGTCATTGCGATTCTTTCAAGAGGATAAGAATCCACATCAAAGATATTTTTACTGACCGGTTGCAATGGA
+ATATCAACAATAGCGGCACCTATACAAATAACGTCGAGATTATCCATATTATTATTCCGCTTTGCCATCA
+GAACCGAACAGTTTAATTTTATCCAATGCCCGTTCTTTTACAGCTTTACGCACTTCACGTTCTAAATGCA
+GGAAAGGCTGATCCTGGTTTTCTTTCACTGCTACCATTGCGGCCTGACAGAGCTCCGTATGAATGTTGAT
+TTTCGCAATACCCAACGAAATTGCAGTTTTAATGTCGGCATCACTGATCCCTGATGCGCCATGCAAAACC
+AGCGGAACAGAAACAGCATCGCGTACGCGTTTGACGACCTCAAAGTTCAATTGTGGCTCTGACGTATAAA
+CCCCATGCTGGTTGCCGATGGCGACAGCCAATGAGTCACAGCCCGTACGTTCAACAAATTCAGCCGCCTG
+GTCAGGATCGGTATAGTGATAGCCCGCCAGCGCTTCCTCATAAACGGTTTCATTACCAACATGCCCTAAT
+TCCGCCTCTACCGGAATACCCAGCGGATGGAAGAAATCAACAGCCTCTTTGGTTAAACGAATATTTTCTT
+CGAAATCAAATGCAGAAGCATCACGCATTAATGAATTCATACCATGAGTCCAGGCGTTATGAATAATCTC
+CATACTCCGACCATGATCCCAATGAGTTATTACCGGCACCGTTGCTTTTTGTGCCATTGATACCATCATG
+TGAGAGAAATCTTCAAATGAGGTGTTGCCGACAAAACCTGTGCCAAAAGAAATAATAACCGGTGATTTCG
+CTTCTTCGGCTGCGTCGATAACGCCCATCAACATTTCTGCATTCCATACGTTAAAATGGGCAATTGCATA
+ATGTTTATTTGTGGCATCGTTTTCCCAATATCTGATATCTGCGAGCATGTTCTGTTCTCCCGTATTAATT
+AATCGCTAATTTTAATAACGCCTTTAATAATGTCGCGTTTGTTGTTAACTGACTCTTCAAATGCCTGTTG
+TACATCCCGATAATCGTAAATATGCGTCACCATCGATTTCACATCGAATCGCCCTGAAGAAATAGCTTCA
+ATCGTGACCGGATAACGATTGGCATAGCGGAATACCGTCTGGATAGTGACTTCGCGATTGATTTTGAGGA
+AATTGATTGCCGAATCGCCGGGTACAGTACCAACAATCATAATTTTACCGCCGCGCATGACCAGATAAGG
+TGCCTGTTTAACGGTGACCGCAGAACCCGCTGTTTCAAAAACAATATCTGCGCCCATGTCTTCGGTAAAT
+TGCTGACAGCGTGCAATAGTGTCTTCTTTTCCGCCGTTAATAACCACTGTCGCGCCGAGCTGTTCCGCCA
+TTGTCAGACGTTTTTCCAGCACATCAACGACGGCAATTTCCGTTGCTCCCAGGCATTTGCACGCTTGCAA
+CGTCATCAAACCAATACAACCCGCTCCCAGAATAATTATCTTCTTACCAGGTTTAACATCTGCCAGCATC
+GCGGCATGCATCCCGACTGCGGCAGGCTCCACCAGCGCCCCTTCCATCGTGTCCATATTGTCTGGCAGTT
+TGTAAGTAAAGCTCTCCGGATGACACAGATAGTGCGTTAATGCGCCGCGGTAGTTGGGTTGTGTCGCCAT
+AAAATCAACGTCCGGGCAAATGTTATATTTGCCTTCCAGACAGTAACGACAGTGACCGCAAGGAACGCCA
+GGTTCGATATTTACCCGATCCCCCGGTTTAAATTTGCGCACGCGGCTTCCCACAGCCACAACCGTCCCGG
+CGCATTCATGACCCAGGCCAATTTCTTGATTTGGGTCTTTAGGCGGAATAAACGGGCCTGATTCAAAACC
+ATGTACATCTGAACCACAAATACCGACATATTCCACTTTAATCAAAACTTCATCTTCTTTAGGCACAGGT
+ATTTCTGCTGAAATAATTTTCATTGTGCCCGGCACCTGCAATATTGCTTTTGAATTTTTCATTTTGAATC
+CACCAGTATTATTTATTGGCTACTGCATCAATACTTAAACTTTCAACGGAGACACCTTTGGTTTCAATTC
+CAATGGTGGCGATAGCAATTGCGACAATAATTGAAACAGCCCCCAGAAGAATAAAGACTCCCGTTACGCC
+ATAACTACTGAGCAGCACTGCAACGGCATAAGGCGCGGCAATACCACTGATTCGCCCTACCGCATTCGCC
+AGACCGGAGCCACGGAGTTTGGCCTCTGTCGGCCAGATCTCAGGGACATACACTGCCGAGGCATAGCAAA
+CGTACATATAGACGAAAGTAATCAGGAAGAAACCAATCAGCGTTATGAGCAACATACTGGTTTGCAGTGA
+ATAGATATATCCGAGCACCGCAATCAGGATTAATAGCCCCACACCCATTGTTTTACGCGGAATTTTATCC
+ATCACCAGCATGGCAATAAAAATACCAAATGGCGCGCCAAACATACTCATGGTATTTAAAACAATCGAGT
+CTTTTAAATTAATTCCCTGGGTCATGAATATCGTTGGCAACCAGTTAATTAGTGTGTACTGCACAATGTT
+CATGGCAATCAGCACACAAGAGCCTAATATCACGCGTTTCAGTAATACTCCTGTCAGTAAGGCTGAATAC
+GGCACCGCTTGTGGTGCTTTACCGTCATCAGCAATAACCACAGGCGGCAAAGGTTTACCCGTCTGGCGTA
+TGACGCCTTCTTCTATACTCCGCATGACTTTCTCGGCTTCCTGATACCGTCCGCGCGATTCCAGCCAGCG
+CGGGGATTCAGGAAAGTAGCGCCAGGCCAGCGCCGTAGCGATAAGTGACAATATTGCAGGGATAAGCAGT
+TGTACCCGCCAGTTCCACTCTGCACTAATCAGCGGCGTGAGTCCCATCGCAATCAATGAACAGAGCGGAT
+ATGACCAGTTACCAATAAAGGAAACCCGACTGGACCACGTTCCGCGATTTCTTCCGGGCATATATTCGGT
+GAAACCAGCAAACAGTGTAACCAGTAAAGCTCCCAGCCCAACGCCCATCACAAAACGGCAGGCAATAAGG
+AAATCCATATTCGGTGAGAAAGCACCGACAACCATCGAAGCAATATGAATGGCCTCATAGAGGATAAACG
+CATTTCTGCGACCGGTTTTGTCACCGATGATGCCGCCCACCAGCGCACCGAGAAACATTCCGGCGGTCGT
+GATTGCTGAGAATGTGGCAGTGGTGGAATTATCTGTCCAGCCCAACGCTTTCAGCTGCGCGAGGATCAAG
+CCACCAACGGCATTACTCCAGCAGACAAGCAAGCCAAACGCGACGATGGCAAACATTGACGAATGCCAGC
+GGCAATCCGGTAAGCGATCCAGCCGTGCACCACAATGCGGTTTTGTTATCTGTTCCATGCGATAACGTTC
+CTTCAGGAGAGTAGTTATTCATCAAAGTCGTAAGTCATGATCACTTTGATTGCAGTTTTATCGACCATCG
+CATCAAACCCTTCGCGCCATTGCGACAGGCCGATACGATGCGTGATCATCGGTTTGACTTTGATCGCGCC
+GCTGGCTAATAGCCTGATAGCGTTACGCCATGAGGTGGAGTCATAGGCCATATGCCCAATGATGCTTTTG
+TTCCAGGCGGTAATGTCATTAATCGAGAAATCAAGAGGTTTGAAGCCCATTCCAACGCGTACCACTTCCC
+CGTTCGGACGGAGCATTTCGATGGCTTGTTTCAGTGCGATATTGGCACCGGAGCATTCAATCACCAGTCC
+CAGATTGTCTTTGCCACAAATTTGCTGGCAGCGCGCCACCACATCTTCGGTAGAACCATTTACTACTGCC
+GTCGCACCCAGTTCTTTTGCAACCGGGAAGCGGACCGCCACATCTTCTTGTAGACCAACGACGACGATAT
+TTACCGCCCCCATAATCCGCGCCATTTGTACGGAGAACAGCCCGAGTGGGCCAGTGCCGATGACGACCAC
+ATCCTGACCAGGGAGGAATTTCGATTGCTGCGCGATGGATTTGTAGGCATTACAAATAGGGTCAAGTACG
+GCTGCGTCCTCATAATCAACACCATCAGGGATTTCCCACAACGCATGACGATGAATTTTGAGAATTTCAC
+CAGGAACAAGACAATATTTGGAAAAACCACCGCCCCAGGTATTGTTATCCAGACCAAGGTTTACTTTTTC
+TGTACAACACAGAAAATCACCTTGTTCACAGGCCGGGCAAACACCGCAAACGTGACCGCTGTTATCCGAC
+ACGACGCGTTGCCCCACTTTCCAGTCTTTGACTTTTTCACCAACCTGCGCAATACAACCTGCGAACTCAT
+GGCCGCGGATAGAGTTAAACTCATCAGAACCGCTACCGACATTGTAGTGCTTCATGTCTGCGCCGCAGAT
+TGCCGCGGCTTTAATTTCAATCACGACATCTTCCGGGCCACAAATGGGTTGTGGGACATCAATCATCTTG
+TAGCCGCCAAAGGCCTTGCCAAACCGAGCCAGTGCTTTCATTGCGTCATCCTCTGTGTTTTGTTTTGCTT
+AGATGGTCATCATACTTACCCACATGATTTTTGAGGTCAACATCAAATCTGTAAAACACAGATAATGATC
+TGCGTTTTACAACTTGGATCACAATTACGCAGAAAATGGCTGGGGCTGTTACAGGTTGATGGAAGGCGGG
+ACGCAAAAAGAGCAAATTCGAGAGGGATTCCCGGCCAAATAGGCCTGAGACTTAAGTTCAGGAGAAGTCA
+TTCAGGTGTGAACGCGACTGCAAGAGATCGGACTGGGACTTAGCCAGGTCGGGGCGAGATAATTGAGATG
+AGTCGTGGGGTCATTGTTGGCTATCCCCTTTATAACCGCGGCAAAAAGGGGATAAACCACTTACTTAAAC
+ATGGCAATAGGCTTTGCTGAGATACCAAAATCTTCTTTTAACTGCTGTTTGCTCTTCATGACCATCTGAC
+CATTTGTGTCAATTGTCATATGCTGTGCTTCGGTATTATGGCGGGCTTGCCACAGCATCACCAGTTGCAG
+GCAGTTCTCTTTTTGTTCCTCGGTCAACGTAACGCCATCAGGCCATTTCCCCAGTTCAACGGCGGTCGAC
+AAACGCTGGTATACTTCAGGCGTCATGCTGTTGATAATGTCATCAAGATTCATAATTTTTCCGCTCCTGT
+GGAATAAGTTGCTGAATCGTTTTTTCAACCGTTGATTTCTTCGCCGTTTTCGCCATCAGTGAAGCGTAAA
+GAAGCAGAGTTAACACAATAACGTTCGCCCGTTGGCTGCGGCCCGTCAGGGAAGACATGGCCCAGATGGG
+CATCGCAGTTACCACAACGAATTTCTATGCGCTGCATTCCATGTGACAAGTCTTTGATATAACGAATAGA
+TTCTTCACTCACCGGTTCGTAGAAACTGGGCCAGCCACAGCCGGAATCATACTTGGTTTGGGAATGAAAC
+AGCGGGGCATCGCAGATCAAACAGTGATATACGCCGTCACGCTTGTTATGCAGTAAACGACCCGTAAATG
+GCGGTTCTGTCCCATGATTCTGCGTCACGTAGAACTGCATCTCGGACAAATTTTTTTTCAGTTCTTCTGC
+CGAAGGTTTATTAGCCATTTGCTCACATCTCACTTTAATCGTGCTCACATTACGTGACTAATTCTAACAA
+AACATTAACACCAACTGGCAAAATTTTGTCCTAAACTTGATCTCGACGAAATGGCTGCACCTAAATCGTG
+ATGAAAATCACATTTTTATCGTAATTGCCCTTTAAAATTCGGGGCGCCGACCCCATGTGGTCTCAAGCCC
+AAAGGAAGAGTGAGGCGAGTCAGTCGCGTAATGCTTAGGCACAGGATTGATTTGTCGCAATGATTGACAC
+GATTCCGCTTGACGCTGCGTAAGGTTTTTGTAATTTTACAGGCAACCTTTTATTCACTAACAAATAGCTG
+GTGGAATATATGACTATCAAAGTAGGTATCAACGGTTTTGGCCGTATCGGTCGCATTGTTTTCCGTGCTG
+CTCAGAAACGTTCTGACATCGAGATCGTTGCAATCAACGACCTGTTAGACGCTGATTACATGGCATACAT
+GCTGAAATATGACTCCACTCACGGCCGTTTCGACGGTACCGTTGAAGTGAAAGACGGTCATCTGATCGTT
+AACGGTAAAAAAATCCGTGTTACCGCTGAACGTGATCCGGCTAACCTGAAATGGGACGAAGTTGGTGTTG
+ACGTTGTCGCTGAAGCAACTGGTCTGTTCCTGACTGACGAAACTGCTCGTAAACACATCACCGCTGGTGC
+GAAGAAAGTGGTTATGACTGGTCCGTCTAAAGACAACACTCCGATGTTCGTTAAAGGCGCTAACTTCGAC
+AAATATGCTGGCCAGGACATCGTTTCCAACGCTTCCTGCACCACCAACTGCCTGGCTCCGCTGGCTAAAG
+TTATCAACGATAACTTCGGCATCATCGAAGGTCTGATGACCACCGTTCACGCTACTACCGCTACTCAGAA
+AACCGTTGATGGCCCGTCTCACAAAGACTGGCGCGGCGGCCGCGGCGCTTCCCAGAACATCATCCCGTCT
+TCTACCGGTGCTGCTAAAGCTGTAGGTAAAGTACTGCCAGAACTGAATGGCAAACTGACTGGTATGGCGT
+TCCGCGTTCCGACCCCGAACGTATCCGTAGTTGACCTGACCGTTCGTCTGGAAAAAGCTGCAACTTACGA
+GCAGATCAAAGCTGCCGTTAAAGCTGCTGCTGAAGGCGAAATGAAAGGCGTTCTGGGCTACACCGAAGAT
+GACGTAGTATCTACCGATTTCAACGGCGAAGTTTGCACTTCCGTGTTCGATGCTAAAGCGGGTATCGCTC
+TGAACGACAACTTCGTGAAACTGGTATCCTGGTACGACAACGAAACCGGTTACTCCAACAAAGTTCTGGA
+CCTGATCGCTCACATCTCCAAATAAGTTGAGATGACTCTGTGATCTAAAAAGAGCGACTTCGGTCGCTCT
+TTTTTTTACCTGATAAAATGAAGTTAAAGGACTGCGTCATGATTAAGAAAATTTTTGCCCTTCCGGTCAT
+CGAACAAATCTCCCCTGTCCTCTCCCGTCGTAAACTGGATGAACTGGACCTCATTGTGGTCGATCATCCC
+CAGGTAAAAGCCTCTTTTGCATTACAGGGCGCACACCTTCTCTCGTGGAAACCTGCGGGTGAAGAAGAAG
+TTCTGTGGTTAAGTAACAACACACCGTTCAAAAATGGCGTCGCCATTCGCGGTGGCATACCGCTTTGCTG
+GCCGTGGTTTGGTCCGGCTGCACAACAAGGTCTGCCTGCGCACGGTTTTGCCCGCAACCTGCCGTGGACG
+CTGAAATCACATCGTGAAGATGCTGATGGTGTAGTGCTAACTTTTGAATTGACACAAAGCGAAGAGACGA
+AAAAATTCTGGCCGCACGACTTTACGCTGTTAGCGCATTTCCACGTGGGTAAAACCTGTGAAATCGATCT
+TGAAGCACACGGCGAATTTGAAACTACCTCTGCTCTGCATACCTACTTTAACGTGGGTGATATCGCTAAG
+GTAAGCGTCAGTGGACTAGGCGATCGCTTCATTGATAAAGTAAATGACGCGAAAGAAGATGTACTGACCG
+ACGGTATTCAGACCTTCCCTGACCGTACCGATCGCGTGTATCTGAATCCGCAAGATTGCAGCGTAATTAA
+TGACGAAGCGCTGAATCGTATTATCGCCGTAGGCCACCAGCATCATCTGAACGTTGTAGGCTGGAACCCA
+GGACCGGCGCTTTCAGTTAGCATGGGCGATATGCCGGATGATGGCTACAAGACCTTTGTTTGTGTAGAAA
+CGGCTTACGCTTCAGAAACGCAAAAAGTCACCAAAGAGAAACCTGCACATCTGGCGCAATCCATTCGCGT
+TGCGAAACGTTAATTTGCGTTAATATTGTGTGCCGGGTGCGATGCATCCGGCACGTATCAACATCACACC
+ATATCCAGCGCAGTTTTTCCTTTTGGTGCCGGATACGCTTTATCCAGCATAACTAATTCCGCTGACGAAA
+GTTCAACCTCAAGCACAGCCGCATTTTGTTGGACATGTGCGACAGTTGCCGCTTTTGGGATCGCCATCAC
+ACCCTGATGGCTGATTACCCACGCCAACAATACTTGTGCCGCACTGATATTGTGAGCATGTGCAATTTCG
+TTGACTACCGCGTTTTTTAACAGTCCATTGCGCAACCGCCCGGCCTGAGCTAATGGACTGTAAGCCATCA
+CCGGCATCTGCTGTTTCTGGCACCAGGGAAGTAGATCGTACTCAATCCCTCGTGAACCGAGATGGTAAAG
+CACCTGATTAGTGGCACACTGATTTCCCCCCGGCAGCTGCCAGAGTTCCTGCATATCGGCATAATCAAGG
+TTAGAAACGCCCCAGCGGCGGATTTTTCCCTGGGCGATCAATTTTTCCATCGCTGCGACAGTCTCTTCGA
+GAGCGAAACTGCCAGACCAGTGTAATAAGTAGAGATCGAGATAATCAGTATTGAGACGGCGTAAACTGGC
+TTCGCATGCATTTATCGCTTTTTGCCCGCCAGCATTCCACGGATAGACTTTAGAGACGAGAAAGACGTTC
+TCACGCAGACCGATTAATGCTTCCCCAACCACTTTTTCGGCACCGCCATCGGCATACATTTCGGCGGTAT
+CAATGAGGGTTAAACCGAGTTCAATGCCCGCGCGTAGTGCAGCAACTTCTGTTTTACGCTGACTGGCATC
+TTCGCCCATATACCATGTTCCCTGCCCTATGGCTGGCAGTGAGACATCGCCACTAAATTGAATCATTTTT
+TGTTGCATTGCTTCCTCCCAGGTATTGCACCACCGTAATGCAAAACAGGGCATTACGCCCTGTTTTTATG
+CACAAAATGCCCTGGAAAAATGCATTATCAGAATTTGTAGGTGATCCCGGTAGAAATCAGGCCAGTCCAG
+GATTTATCCACCATTGGGCTGTCAGTAACTTCATCAGACAGACGGGTGTAGCGCGCGGTACCGTAAACAC
+TCCAGTCACCGAGGAAGTTGTAGCTGGCGCTCAGCTCCAGGTAAGGGCTCCAGCTGTCGTTCGGGTTATA
+GCCACGCAGACCGCTGCGAGCGGACTCTTTGCGCGATACGCCATAATAGTATTCGTTCTGGTTTTCGCTG
+TTCCACTGCACACCAATACCCGGAGTCACGGTCAGGCCACCGTTGGTGTAACGATACAACCAGGCCATAT
+CCCAGACGATGCCGTTGCTGTTATCCAGGGTATCGCCAGCCAGAGTGGTACGCAGGTAACCGTACTGGGT
+AAAGTGAGCATAAGACAGACCAGCCATCATGGTGCTCTTACGGTCATCCAGGTGACGCATTTGGTGATCG
+CCACTGTCTTTAGCTTTGAAGTAAAGCGGCGACCAGTAAGCGGTAATTGAAAGTTTGTCCGTTGCGTCAT
+TCCACAGGTAGTAACCACCACCTAAGCCACGGAACCAGAAGTTATCGCCTTCATAGTTGATTACCGGTAC
+TGGGTAAACATCGGTATCGTAATCTTTATATGGGTGTTCAACGACACCTACGCCTGCGCCCAGGGAAAAT
+TTACCTTCAGCGTGCGCTACGCCTACAGACGTTGCGATAAGCACTCCAAGTGCCAGAAGTTTGAGTTTGG
+TCACAATTAATCATTCCTTAAACAAATGTTTAGCGGGCGACAAAGTTTACCCGTCAATACATCGAAACCC
+AACCTTTTTACGTTTTCATTTTTTATAGTAACTGTTTAATTTTCCTGACGCAGATGACACCACGCTTACA
+GCCAAATGAATTTAGCGTTACCGGCGACCCTATTATTTACATTAATTATGCAAAATTTATGGATGAGTTG
+TTGATATGCCATTGAAATTAAGAAAGCCGTGCAGGCAAGTTTTCCATTTGCCATCTACGCTTAATTTTGA
+AGGTGTATCACCGGGCACGTTGTTCTCATCGTCAATAAAATGGCATGAGAGTTGCTGTGTTTTAGCAAGA
+GACGTCGTTCAGTTTACCTCTTCCGGGAGCCTCAACTATTCATATGAACGGCTCTTAACCTGTGCTAAAA
+AACGAAAGGACGGCATACCATGAATATATTCGATCACTATCGCCAGCGATATGAAGCTGCCAAGGACGAA
+GAGTTCACACTGCAGGAGTTTCTTACCACTTGTCGGCAAGATCGCAGTGCTTATGCCAACGCGGCTGAGC
+GGCTATTGATGGCTATTGGTGAGCCTGTCATGGTCGATACAGCCCAGGAACCCAGACTTTCTCGACTCTT
+TTCTAACCGGGTCATTGCACGTTATCCGGCGTTTGAAGAGTTTTACGGCATGGAAGACGCGATTGAACAG
+ATTGTCTCTTATCTGAAACACGCGGCTCAGGGGCTGGAAGAGAAGAAACAAATCCTGTATCTGCTGGGGC
+CTGTGGGTGGGGGTAAATCATCGCTTGCTGAGCGACTGAAATCATTAATGCAGCTCGTACCGATTTATGT
+ATTGAGCGCCAACGGTGAGCGTAGCCCGGTCAACGATCATCCGTTCTGTCTTTTCAATCCGCAGGAAGAT
+GCGCAGATTCTGGAAAAAGAGTATGGCATTCCTCGCCGTTATCTCGGCACCATCATGTCGCCGTGGGCGG
+CAAAACGCCTGCATGAATTTGGTGGCGATATCACTAAGTTCCGGGTAGTGAAGGTCTGGCCGTCAATTCT
+GCAACAAATTGCTATCGCCAAAACAGAACCCGGCGATGAGAACAACCAGGACATCTCCGCCCTGGTAGGG
+AAAGTCGATATTCGTAAACTCGAACACTACGCGCAGAATGACCCGGACGCCTACGGCTATTCCGGTGCGC
+TGTGCCGCGCCAATCAGGGGATCATGGAATTTGTCGAGATGTTTAAAGCACCGATAAAAGTGCTGCATCC
+CTTGTTAACCGCCACCCAGGAAGGTAACTACAACGGGACGGAAGGTATCTCCGCCCTGCCGTTCAACGGG
+ATTATTCTCGCCCACTCGAACGAATCCGAATGGGTCACTTTCCGTAATAACAAAAACAACGAAGCCTTCC
+TCGACCGTGTTTACATCGTGAAGGTGCCGTATTGCTTGCGCATTTCCGAAGAGATCAAAATCTACGAGAA
+ATTGCTTAATCACAGTGAATTGACTCACGCCCCCTGCGCCCCTGGCACGCTGGAAACGCTGTCACGTTTT
+TCTATTCTTTCGCGTCTGAAAGAGCCAGAAAACTCCAGCATTTATTCAAAGATGCGGGTTTATGATGGTG
+AAAGTTTGAAAGACACTGATCCCAAAGCCAAGTCGTATCAGGAATATCGTGACTACGCCGGTGTCGATGA
+AGGGATGAACGGTCTGTCGACGCGTTTTGCGTTTAAGATCCTCTCCCGCGTGTTCAACTTCGATCATGTA
+GAAGTGGCGGCAAACCCGGTCCATCTGTTCTACGTCCTGGAACAGCAGATCGAGCGCGAGCAGTTCCCGC
+AAGAGCAGGCAGAACGCTATCTGGAGTTCCTGAAAGGTTATCTGATCCCGAAATATGCCGAGTTTATCGG
+CAAAGAGATCCAGACGGCCTACCTTGAATCCTATTCAGAATATGGGCAGAACATTTTCGACCGTTATGTT
+ACCTACGCGGATTTCTGGATTCAGGATCAGGAGTATCGCGATCCGGATACCGGGCAGTTGTTTGACCGCG
+AGTCTCTTAACGCCGAGCTGGAGAAAATCGAGAAACCGGCGGGGATCAGTAATCCAAAAGATTTCCGCAA
+CGAGATTGTTAACTTCGTACTGCGAGCCAGAGCCAATAACAGCGGACGTAATCCGAACTGGACCAGCTAT
+GAAAAACTGCGCACGGTTATCGAGAAGAAAATGTTCTCCAATACCGAAGAGCTGTTGCCGGTTATTTCGT
+TTAACGCCAAAACGTCAACCGACGAGCAGAAGAAACACGACGACTTTGTCGACCGTATGATGGAAAAAGG
+CTACACCCGTAAACAGGTGCGTTTACTGTGCGAATGGTATTTGCGCGTACGTAAATCGTCTTAACAACCC
+TGGCCCGGTACACATGCTACCGGGCCTACAACGACAGCGAACCGTGGGCCAGAGAAGCGGCAACACAGGC
+GTAGCGTACCGTTGGCAAATGTAGTACGGGGGGCATATGACCTGGTTTATTGACCGGCGTCTGAACGGCA
+AAAATAAAAGCATGGTGAATCGCCAGCGTTTCTTACGCCGTTATAAAGCGCAAATTAAACAGTCGATCTC
+CGAGGCCATTAATAAGCGTTCGGTGACTGACGTCGACAGCGGCGAGTCCGTATCCATTCCCACGGAAGAT
+ATTAGCGAACCGATGTTTCATCAGGGGCGTGGAGGCCTGCGCCACCGCGTGCATCCGGGCAATGACCATT
+TCGTCCAGAACGACCGAATTGAACGTTCCCAGGGTGGTGGCGGAGGTTCCGGCAGTGGTCAGGGCCAGGC
+CAGCCAGGATGGTGAAGGTCAGGATGAATTTGTCTTTCAGATTTCGAAAGATGAGTATCTTGATCTGCTC
+TTTGAAGATTTGGCCTTACCGAATCTGAAACAAAACCAACAACGCCAGCTGACCGAATATAAAACGCATC
+GGGCGGGTTATACCGCTAACGGCGTTCCGGCCAATATCAGCGTTGTACGTTCATTGCAGAACTCACTGGC
+GCGGCGCACAGCCATGACGGCGGGCAAGCGGCGGGAACTTCATGCACTGGAAGAGAATTTGGCCATCATC
+AGCAACAGTGAACCTGCGCAACTGCTGGAAGAGGAACGGCTGCGCAAAGAGATTGCTGAATTGCGCGCCA
+AAATTGAACGCGTTCCTTTCATTGACACTTTCGATTTACGTTACAAGAACTACGAAAAACGGCCCGATCC
+CTCCAGCCAGGCAGTGATGTTTTGCCTGATGGACGTTTCCGGTTCAATGGATCAGTCCACTAAAGATATG
+GCTAAACGTTTTTATATTCTGCTGTATCTGTTCCTCAGCAGAACGTATAAGAACGTGGAAGTCGTATACA
+TCCGCCATCATACCCAGGCGAAAGAAGTCGATGAACATGAGTTTTTCTACTCGCAGGAAACTGGCGGCAC
+CATTGTTTCCAGCGCCCTGAAACTGATGGATGAGGTAGTGAAAGAGCGTTATAACCCGGCACAGTGGAAT
+ATTTACGCAGCCCAAGCATCAGACGGCGATAACTGGGCCGATGACTCTCCGCTTTGCCATGAAATTCTGG
+CGAAAAAATTATTACCCGTTGTTCGTTATTACAGCTATATCGAAATTACACGTCGCGCGCATCAGACACT
+GTGGCGAGAATATGAGCATCTGCAATCTACTTTCGACAACTTTGCGATGCAGCATATCCGCGACCAGGAT
+GATATTTATCCGGTGTTCCGTGAACTGTTTCATAAACAAAATGCAACAGCTAAAGACTAAAACTGTCAGC
+CGGGTCATTATCGCCTGGCTGATTTTTAGCTCACTGTAAATTATCTCATTTATTACATACATTAGCTTAC
+AATCGCTTTAAATATGACAGCATAACCTTTACACAATTTAGTTCCAGAAAACAATCATTCGGAAAAATGA
+TTCGGTCAACACGTATTTCCCTGGGGTTATTCTTTAATTATTTTTTATCGTTAACGAAAATTGATCTTGG
+TCAAAACTATATATCTCTGCCATCAATAAAATCCAGCACTCACATTGCTCTCCTTTTTATGGTTTCTATG
+GGTACACAAAAATTAAAAGCTCAAGGCTTTTTTATTTTCAGCTTATTGCTGACGTTAATTTTATTTTGCA
+TTACTACCTTATATAACGAAAACACAAATGTAAAACTCATCCCACAGATGAATTACCTGATGGTTGTTGT
+GGCTTTGTTTTTCCTTAACGCCGTCATTTTCCTTTTCATGTTAATGAAGTATTTCACTAACAAACAAATT
+TTACCAACACTCATTTTAAGCCTTGCATTTTTAAGTGGCCTTATCTATTTAGTTGAAACCATTGTAATTA
+TCCATAAACCAATCAACGGCAGTACACTGATCCAGACAAAGTCGAATGATGTTTCTATTTTCTATATTTT
+CCGCCAACTCAGTTTCATTTGTTTAACCTCGCTGGCGCTCTTTTGTTATGGGAAAGACAACATCCTTGAC
+AACAATAAGAAGAAAACTGGCATTCTGTTGCTGGCGCTGATTCCTTTTTTAGTTTTTCCCCTTCTGGCAC
+ACAATCTGAGCAGTTATAACGCTGACTATTCTTTGTATGTCGTCGATTACTGTCCGGACAACCATACTGC
+GACCTGGGGAATCAACTATACAAAAATATTGGTTTGTTTGTGGGCATTTTTACTGTTCTTTATTATCATG
+CGTACACGATTAGCCAGCGAACTATGGCCGTTAATAGCATTATTATGTCTGGCATCGCTATGCTGCAACT
+TACTTCTACTGACTCTGGATGAGTATAATTACACCATCTGGTATATCAGTCGCGGGATTGAAGTTTCCAG
+TAAACTGTTTGTTGTGTCTTTTCTGATTTATAACATTTTTCAGGAACTGCAACTCTCCAGCAAACTGGCA
+GTTCATGATGTACTGACCAATATTTATAATCGGCGCTACTTTTTCAACAGCGTAGAGTCATTATTGTCGC
+GACCTGTTGTTAAGGACTTTTGTGTCATGCTGGTTGATATTAATCAGTTCAAACGCATCAATGCCCAATG
+GGGACATCGTGTGGGTGATAAAGTGCTGGTATCAATTGTCGATATTATCCAGCAAAGCATCCGCCCCGAT
+GATATTTTAGCGCGACTGGAGGGTGAGGTGTTTGGCTTGCTATTTACCGAACTCAATAGTGCCCAGGCAA
+AAATCATTGCGGAACGTATGCGTAAAAATGTCGAACTCCTGACCGGCTTTAGTAACAGATATGATGTTCC
+TGAACAAATGACCATCAGTATTGGCACGGTTTTTTCAACGGGTGACACGCATAATATCTCGCTTGTCATG
+ACGGAAGCAGATAAAGCCTTACGCGAAGCGAAAAGCGAGGGGGGTAACAAAGTGATTATTCATCATATTT
+AAGTGCAAAAATATTCAGAGCCATGCTTTTTGCGTGGCTTTTGCATACAATTTATTACTATTACCCCTAA
+ATTTCCCCTCCCCAGCGGCGCAGAGATGAGTATAATTAGCGCCCCTGTGCCAGGCCGCAATCGAACTTTA
+TCTGGTTTTCTCGTTTCACTAACCGAAGGAGTGCCATTTATCATGAAATTGCACCATAGAATGCTCCGGC
+ATTTTATCGCCGCAAGTGTCATTGTGCTGACATCTTCCTTCCTTATTTTTGAACTTGTCGCCAGCGACAG
+AGCAATGAGTGCCTATCTGCGCTATATCGTGCAGAGAGCAGACTCTTCCTTTCTTTATGATAAGTATCAG
+AATCAGAGTATTGCCGCGCATGTGATGCGCGCTCTCGCTGCTGAGCAGTCGGAAGTACCGCCAGAACAAC
+GGCGCGCTATCTGCGAGGCTTTTGAGTCTGCCAATAATACCCATGGCTTAAACCTGACTGCCCATAAATA
+CCCGGGCTTACGCGGCACACTACAAACCGCATCCACTGACTGCGACACAATTGTGGAAGCTGCAGCACTA
+TTACCCGCTTTTGATCAGGCAGTGGAAGGCAACCGCCACCAGGATGATTACGGTTCAGGTCTTGGGATGG
+CCGAAGAGAAATTTCACTATTATCTCGATCTCAATGACCGCTATGTCTATTTTTATGAGCCGGTTAATGT
+TGAATACTTTGCGATGAATAACTGGTCCTTCCTGCAGTCAGGAAGTATTGGTATAGATCGCAAAGATATT
+GAAAAAGTATTTACCGGGCGTACCGTATTATCGAGCATTTACCAGGATCAGCGTACTAAACAGAACGTGA
+TGAGTTTGCTGACGCCGGTATATGTCGCAGGGCAGCTAAAAGGGATTGTGCTGCTGGATATTAACAAAAA
+CAATCTGCGGAATATCTTTTACACTCATGACCGCCCTCTCCTCTGGCGTTTTCTCAATGTCACGCTAACC
+GATACAGATTCGGGGCGCGACATTATCATCAACCAGAGCGAAGATAATCTGTTCCAGTATGTCAGTTACG
+TCCATGACTTACCGGGCGGCATTCGTGTCTCGTTATCCATTGATATTCTTTACTTTATCACGTCTTCGTG
+GAAAAGCGTTCTGTTCTGGATTTTGACGGCGTTAATTTTGCTGAATATGGTGCGGATGCACTTCCGCTTA
+TACCAAAATGTGTCGCGAGAAAATATTAGTGATGCGATGACTGGACTCTATAATCGCAAAATTTTAACCC
+CTGAACTGGAGCAGCGGTTGCAGAAACTGGTGCAATCCGGTTCTTCGGTGATGTTTATTGCTATTGACAT
+GGACAAGTTAAAGCAAATAAATGATACCCTCGGTCATCAGGAGGGGGATTTAGCGATTACGTTATTAGCT
+CAGGCGATTAAACAATCGATTCGTAAAAGTGATTATGCCATCCGACTCGGTGGCGATGAATTCTGCATCA
+TTCTTGTCGATTCGACGCCGCAAATTGCAGCACAACTGCCTGAACGTATCGAAAAACGTCTGCAACATAT
+CGCGCCGCAGAAAGAGATCGGCTTCTCTTCCGGTATTTACGCGATGAAAGAAAACGATACGTTACATGAT
+GCGTATAAAGCTTCCGATGAGCGTTTATATGTCAATAAGCAGAACAAAAACAGCCGTTCATGATAACCTT
+CTGTAGTTGTTTGCTTGTAATCTCAGGAGCATGAAATGACTGAAATGGCTAAAGGAAGCGTGACGCATCA
+GCGGTTAATCGCTTTATTATCACAAGAAGTTGCTAACTTCCGCGTCGTTACCCATGAAGCGGTAGGTAAA
+TGTGAAGCGGTGTCAGAAATTCGTGGCACCGCTTTAGGCCAGGGGGCTAAGGCACTGGTATGTAAAGTCA
+AAGGCAATGGCGTAAATCAACATGTTCTGGCGATCCTCGCTGCCGATCAACAGGCCGATCTGAGCCAACT
+CGCCAGCCATATAGGCGGATTACGCGCTTCGTTGGCCAGCCCGGCGGAAGTCGATGAACTCACAGGCTGT
+GTCTTCGGCGCGATCCCCCCTTTCAGCTTCCATCCAAAACTCAAACTGGTTGCCGACCCCCTACTCTTCG
+AACGATTTGATGAAATCGCCTTCAATGCAGGCATGCTGGATAAATCCGTTATTTTGAAAACCGCGGATTA
+TTTGCGTATTGCGCAACCAGAACTGGTCAATTTCCGCCGCACTGCGTAACTAGCCTGTCCGTTCAATAAG
+CAGAACGGACAAAACCAGCACAACTGCAATGGCAAAAAACGATGACGTGATAATCAGTGTCTCGACGAAC
+ATTTGATCGTTCATAGTATGCCCCCGGGAGATAGCTGTTTTCACGTTATTGTTAACGTACACAAATGGCA
+GTTTGATGACAGTTCGTCTGATTTTTTATGCAAAAAACGTAAAGATTTTCTACTTCCTTCCTGCAGCAAG
+CGTAAAGTAAGCAGGCTCATTATTTTTTGGCAAGGAAACCACGATGTTTGATGTCACTTTGCTGATCCTG
+CTCGGGTTAGCTGCGCTGGGCTTTATCAGTCATAACACCACTGTCGCCGTTTCAATTCTGGTGTTGATCA
+TTGTCCGCGTCACACCGTTAAGCACCTTTTTCCCGTGGATTGAAAAACAGGGGCTAAGTATCGGGATAAT
+CATTCTGACGATTGGCGTTATGGCTCCCATCGCCAGCGGGACGCTACCGCCCTCAACCCTGATTCACTCG
+TTTCTGAACTGGAAATCGCTGGTGGCAATTGCAGTCGGCGTTATTGTCTCCTGGCTGGGGGGGCGCGGCG
+TGACGTTAATGGGCAGCCAGCCGCAACTGGTCGCCGGGCTGCTGGTGGGCACTGTTTTAGGCGTGGCGCT
+GTTTCGCGGCGTACCGGTTGGCCCGCTTATTGCCGCGGGTCTGGTTTCGCTGATTGTGGGGAAACAGTAG
+TTAATCCCGCAATATATCGGCCTGGCGTTTGCCCCAGGCCTTTCTTAAACATAGTAATAAAGGCCGTTGT
+TGAATCATACCCCAGCGTATGAGCAACTTTCTGTACAGTATCGCCTTTCACTAATCCCTGAAGCGCCATA
+ATCAGCTGTAACTGCTGACGCCACTGGCGAAAACTCAACCCCGTCTCTTTCACTATCAGCCGGGCAAGAT
+TGCGTTCACTCATCGCAAAAAAGCCAGCCCATTGCCCCAATGAGCCCCACTCGACGGGCTCTTTCGCCAT
+CATCTCCACCATCGTGCGGATTTTAGGATGAGAAGAAACGGGCAGGTGCAGTTGTTGTTGTGGCTGCTGA
+GGGAGTTCATCAAACAGGACCTGAATTAATCTGCGGGTCATCGGCTCAGCACGCTGAGTCGTCGTTCTGT
+TTGCCAAGGTTAAAATTAATTCCCGGCATAAGGGCGATATTTTCAATGTGCAACATGTTGTCGGCATTGT
+CACTGCGCTGGGCTCGATAAACAGAAAACAGAGTTCAGCGTTAGCTGTCACTTGATTACTATGTTTCACC
+CCGCCCGGTATCCAAACCGCATATTGTGGCGGCACCATCCACAAAGCATTTTCCACCGTACAGGTAATTG
+CACCATGTAGTGCCAGTATCAACTGCCCTTTGCGGTGCTGATGTACAGGACTGGTTAACTCATCCGTTCC
+GGCGTGAATACAAAATGCGACCGCGGCTTCATGGTGTCGGTCGGGTTCATAGCCATTGAGATTCAACCTG
+TGCATCATTTTGTCCGAATTTAGCGATATTTTGTCATTTTAGCTTGATTCAACATAACAATAAAAACGGT
+AAGGTACAGCCTCGTTTGTAACAATGAGAAGCATATGACCTGTTCAACTTCATTAAGCGGCAAAAACAGG
+ATTGTCCTTATCGCTGGCATTCTGATGATTGCCACAACATTACGCGTCACCTTTACCGGTGCAGCACCGT
+TACTGGATACGATTCGTTCCGCTTACTCGCTAACGACGGCGCAAACCGGCTTATTGACCACCCTGCCATT
+ATTAGCCTTTGCGCTAATCTCACCGCTGGCCGCCCCGGTGGCGCGACGTTTTGGTATGGAACGTAGCCTG
+TTTGCCGCGTTACTTTTGATCTGTGCAGGTATCGCAATTCGCTCTCTCCCTTCGCCTTACTTATTATTTG
+GCGGTACAGCGATCATTGGCGGTGGGATTGCATTAGGCAATGTCTTACTGCCAGGATTAATTAAACGCGA
+TTTCCCTCATTCCGTCGCCAGACTTACCGGCGCATATTCCCTGACAATGGGAGCTGCAGCGGCACTGGGA
+TCGGCGATGGTAGTGCCGCTGGCTTTGAACGGTTTTGGCTGGCGAGGCGCGTTGCTCATGCTGATGTGTT
+TTCCTCTGCTGGCTCTTTTTTTATGGCTGCCACAGTGGCGAAGCCAACAACATGCAAATTTGAGCACCTC
+ACGCGCCTTACATACTCGGGGTATCTGGCGTTCGCCGCTTGCCTGGCAGGTAACATTGTTTCTTGGGATC
+AACTCACTGGTCTATTACGTGATTATTGGCTGGCTTCCGGCGATCCTCATCAGTCACGGCTATAGCGAAG
+CACAGGCGGGTTCACTGCATGGTTTGCTGCAACTAGCCACAGCAGCTCCCGGTTTGCTGATCCCACTTTT
+CTTACACCATGTGAAAGATCAGCGTGGTATTGCAGCGTTCGTTGCCTTGATGTGCGCAGTGGGCGCGGTT
+GGGCTCTGCTTTATGCCAGCGCACGCGATCACCTGGACTCTGCTTTTCGGCTTTGGTTCCGGCGCAACAA
+TGATACTGGGGTTGACGTTCATTGGTCTGCGGGCAAGTTCTGCGCATCAGGCGGCGGCACTCTCGGGGAT
+GGCACAATCCGTCGGGTATTTGCTGGCAGCCTGTGGGCCGCCGCTGATGGGTAAAATACACGATGCTAAC
+GGTGACTGGTCCGTACCACTGCTGGGTGTTGCAATACTTTCACTACTGATGGCGATTTTCGGACTTTGCG
+CCGGGAGAGACAAAGAAATTCGCTAATATCCGGTGCTATAGTGACGTGACAAATCATGCGTGAAAGGGAG
+AACAAATACGATGAATATTCAGTGCAAACGCGTTTATGATCCGGCTGAACAGAGCGATGGTTATCGCGTA
+CTGGTCGACCGCCTCTGGCCACGCGGTATCAAAAAAACCGATTTAGCCCTTGATGAATGGGATAAAGAAA
+TCACACCGTCAACGGAGCTGCGCAAAGCCTTTCACGGCGAAGTCGTCGATTTTGCAACCTTTCGCGAGCA
+ATATCTTGCAGAACTGGCGCAACACGAGCAAGAAGGAAAGCGGCTGGCAGACATCGCCAAAAAACAGCCG
+CTGACCCTGCTCTACTCAGCAAAAAACACCACACAGAACCATGCGCTGGTGCTGGCAGACTGGCTACGTA
+GCTTGTGATTTTAGTACAGCATCCGGCGGTTATTTTTCACCAGCCGGATGGTCCCGTCGCCACAATGCCC
+ATTCATCAATCGTTTCACCGCCCGGTAATTTGCAATTGTTGCTGACCCCTTGCGCTGTCTGCACAGGAAT
+GAGCGTCCCGCCCTTCTGCTGGCAATAGACCGACGCCGGATTTGCCATACCAATCTGCGGCGGTTTAGGT
+GCTTCTGGCTGAGAAGGGGTTGAACAACCAGCCAGGACCAGCAAGCAAGGCAGAACAAAACTGATAATTT
+TCATTTATTGATCTCACATATTTATCCAGGCTTAGAGTATCGCGGTATCGTTTTGTTTTGCAGTACTATT
+TTTATTACATTCACTCAAAACATATTACGCCTTGTTTCATCTTTGTTGATGATGTTTTATCATGCCTGCA
+AAGATTAAATAATCAGCATTTACCCGCCGTATCCTGGAGTTTTTTCGTGTCAGATCAGATTATCGCCCGC
+GTCTCGCAATCCCTTGCCAAAGAACAGTCACTGGAAAGTCTGGTTCGACAGCTTCTGGAGATGCTGGAAA
+TGGTCACTGATATGGAGTCAACCTACCTGACCAAAGTGGATGTCGAAGCGCGCCTGCAGCATATAATGTT
+TGCCCGTAATAGCCAGAAAATGCACATCCCGGAGAATTTTACCGTCTCGTGGGATTACTCGTTATGCAAA
+CGCGCCATTGATGAAAACTGTTTTTTCAGCGATGAAGTCCCCGACCGTTGGGGCGACTGTGTTGCGGCAC
+GCAATCTTGGCATCACCACATTTCTGAGCACGCCAATTCACTTACCGGATGGATCATTCTATGGCACGCT
+TTGCGCCGCCAGCAGTGAGAAGCGCCAGTGGAGTGAACGCGCGGAACAGGTCTTACAGTTGTTCGCCGGA
+CTGATTGCACAATATATTCAAAAAGAGGCACTGGTTGAACAGCTGCGCGAAGCTAATGCTGCGCTGATTG
+CGCAATCGTATACCGACTCGTTAACCGGGCTACCGAATCGGCGGGCGATTTTTGAAAATCTGACGACGCT
+GTTTTCTCTCGCCCGGCATCTTAACCATAAGATAATGATCGCGTTTATCGATCTGGATAACTTCAAATTA
+ATCAATGATCGTTTTGGTCATAATAGTGGCGATCTGTTTCTCATTCAGGTTGGCGAGCGCCTTAATACGC
+TCCAGCAAAATGGCGAAGTTATTGGTCGTCTCGGCGGTGATGAGTTTTTGGTTGTTTCACTGAACAACGA
+GAATGCGGATATTTCGTCGCTGCGAGAACGTATTCAACAACAAATACGCGGAGAATATCACTTAGGTGAT
+GTTGATTTGTATTATCCTGGTGCCAGTCTTGGCATAGTAGAAGTCGATCCTGAAACGACCGATGCAGACA
+GTGCCCTGCATGCTGCCGATATCGCGATGTATCAGGAGAAAAAACATAAACAGAAAACACCTTTTGTCAC
+GCATTCAGCGCTACATTCCTGAGGCGTATTCACATCCTTTTGATTGGTGATAACATGCGAATCGGTATTA
+TTTTTCCGGTTGTAATCTTTATTACAGCGGTCGTATTTTTAGCATGGTTTTTTATTGGCGGCTATGCTGC
+CCCGGGAGCATAAAGATGAAAAAAACAACGATTATTATGATGGGTGTGGCGATTATTGTCGTACTCGGCA
+CTGAGCTGGGATGGTGGTAACGTCACATCTAAAAAATAGCAAAGGCTGCCTGTGTGCAGCCTTTGTGCAA
+TTTACGCGTTAACTTTTAATCTTCCTGTAGATAAATAGCACAACAATCGCACCAATAACGGCAACCACGA
+AGCTGCCAAAATTGAAGCCATCGACTTTACCAAAGCCAAACAGCGTGCTGATCCATCCGCCGACTACGGC
+ACCGACTATCCCCAGCAGGATAGTCATAAAGAATCCACCACCATCTTTACCTGGCATGATCCACTTCGCC
+AGAATACCGGCAATAAGCCCAAAAATAATCCATGACAGAATGCCCATTGTTTCCTCACTTATCTGTTTTG
+CATTAGCGGGTTAGTCGCTGATAAAAAGCATAGCACAACATCGGGAGGGTAAGATTTGTGACGAGCATCA
+CGGAGGAATTTTTTGCGATGGCGCAGAAATTGCGCCATCAACGATCAGTGATAATTACCAACCACAAACA
+TCATGTTCGTTTTCCGTGTCATAAGAACGCACGGTATTCACCAGATCTTTTATCACTTCAGCCGCCACTT
+CTGGCACCAGCAAAGTCATCGGCGTCTCTGTTTCATAATCGACAGAAACGCCATTGCTGTTATTGGTGAC
+GGTCACGGTATACGTTGCTTTGCCCATGATTCATTTCCCGTTATGAATGACTTTCCGTTGTTGCGCACCT
+TCCATCAGGACTTCAGGAGCAACGAAGAAGTCAATGTTGAAATAAGTATCGTCAGTCATGGCTTCAATGT
+TGTGCCACTTTTCTGGAGGGAACACCGCAAACTGCCCCGCTTCGATAAGGATCACCTGATCAGGCTCTGC
+ACTGTGTTCATCAGCGTAGCCGAGATATTTGACCGCCCCATGCATAACGGAAAGGCGTGGGTAAACCCCT
+GGGCGCGTTCCTTTATCAAGATGACGTTCGAATATTCCGGCAGGCGCAGTTTGTTTATTCCAGAAAGGCG
+TTGAGCGCGTATGAATATAATTCTGTGGGATTTGCAGCATCCTTTTCCCTCCTTCGGTGAATGCGCTGAA
+AACGGTTTATTCCAGCCGTTTCAGGGTACGCCTGATAATTTGCATTTTAAATACCATTTATTGGTTACTT
+TTTAGCACCGTATCAGAGAAGAATCAGGGAGAATTACAGGTGGGAAGCCCGCGGCAACGCGGGCTGAAAG
+CATCAGGATTGCAGCGTCGCCAGTCGGGCGGCGAAACCCACGAACATCAAACCAATCAGTGAGTTGCCCA
+CTTTAGCCAGTTTCTTTTTGGTACGTATGTACTGCGTGACAAAAGCCCCAGAAATAATCAGGAAGCTCAA
+ATAGCAGAAACTCACCAGTTCCAGCGTCGTCGCCAGAATAAAGAATGAAATTCCCGTATGTGGGGCATTA
+ACATCGATAAACTGTACGAAAAACGACACATAGAACAAAATGGCTTTCGGATTAGTCAGGCTCAAAATTA
+ACGCGCGTTTAAAAATGGCACCGTATTGGGGCTCATCGGATTTGGTCTCGCTATTTTTACCTTTCAGGGT
+CGCGTAGAGAATTTTACTCCCCAGATAGAGCAAATAAAACGCACCAAGATAACGTACAATGTTGAATAAT
+ATCGGGGTGGTCTTAATTAATGTCGCCACTCCAGCCCATGCCAGAAACATCAATACCGCATCGCCAATAA
+ATACACCACAGGCCGCAAGATAACCGCCTTTCATACCGCTACTGACGCTATTTTTGAGTACAAACAGGGT
+ATTTGGCCCTGGCACCAACACAATAAAAATGGCCCCAACCAGATAGGTCCAGTAATTCAGAACCCCGTAT
+TCAGCGAACACATTAACCTCTTTAATTATCTTTCGATCATGCGCGATTAAAGGTGAATATGCTAACCAAT
+CTGTAGCGGCTTAGAAAGGAGAAAATCAGGTTTTAACTCGATATCAACCCGATAATTGAATCATTAATCA
+GGCATGCTCCAGTGAAAAATTCGGGTAGTGCTCGGCAAAATACTGGCGTAAAAATTCTACCGTTATCCGC
+ACTTTCGCTGACGTCGACAGCTTTAAAACATAAACGGCCCAGACATTCGCTGGCTGGTAATATTCCGGTA
+GCACTTGTACTAAATGACCACTGGCGGGAAACAGCCTGGCGACATCGATTTTTACGTGGTCCGGAAAAAC
+ACCGAAGGCGAATATTCCTCGCCAGGCGGTAGAGTAAATGAAGGAACAGAGAATGAAGTCGTCATTCAGG
+AATCGGTATTTACTCGTCGTGGTGTCGAGCGCATTTTGCGTTAAGCTCAAATAAGTTCATTTGAACCACC
+TGCTGTTGGATTTGTAGTTTGCCGAAGCCGGACTGAGCGCGCCCAGTCCGGCTTCGGAAGATTTTACTGT
+GGATATTCCTGCAATAAATTGTGTAATGCTTCCGCCATCAACTCACCACGCCAGCCGGAAATCAGCTCCG
+GCAAATTGTTCTGCGGTTTCAGTTTCCAGTGCCAGTTCAGCAGTTGGTTGATTTGCCGACGCGACGCCAG
+CAATTCGGCGCTGATCTTGTGCGTTTCGCTGACGTCAGTAATCAGCGACTTAATCGCTTTAAACGCTTTA
+CGATAACCCGGCATGTCCATCAGGTTAAGCATCGGCTGCGGTAAGGCCTCTTCTGGCAATGCCTGCGCTT
+TTTCCACCAGCGCCAGCAACGTTTTACCGTGGAAGCGGATTTCGCTACCGGATAAGCCCAGGCTGTCCAG
+TTCGCCCAGACTTCCCGGCATATAACGCGCTACCGACCACAAATGCTCTTCACGCACGACAAAGTTCACC
+GCCAGATCGCGCTCTCGCGCCTTGCGCAATCGCCAGTCGGCTAACAGTTGCAGACAGGCCAGTTGGCGTG
+TGCGTAACTGCCAGGCATTGGTGATATCACGCCAGGCGTCTTCCGGCGCAACGACTTCCTGACGACGCAT
+TTGCATCAGGCGGCATTCATCCAGCGCCGCAGGTAGCCAGCCGGAGGCCTCCGTTTCTACCATAAGCTTG
+GCGGTGATCGGTAACAGATACCAGACATCCGCCGCTGCATATTCACACTGACGTTCGGTCAGCGGTCTGG
+CCAGCCAGTCGGTGCGCGATTCACTCTTGTCCAGCGTAACGCCGGAATACTCTTCCACCATGGAAGCGAA
+ACCCCATGACATCGGGCGTCCGCAGAAGGCAGCAAGGATTTGCGTGTCAATCAGGGGTTGTGGTAATTCG
+CCAAAGACATTGAGGAACACTTCCAGATCTTCACTGCCTGCATGGAGAAATTTTGTGATGGACGGATCGC
+GCAGGATCGCTTTCAGTGGTGACCAGTCGGAGATCCCGAGAGGATCAATTAGCGCCAGATGCTCACCATC
+AAAAAGTTGAATTAGACCCAGTTGCGGGTAATAGGTGCGCGTACGAACAAATTCAGTATCCAGGGCTATC
+GCCGGAAAGGCACGGACGGCTTCACACAAAGAAGCCAGCGCATCGTCCGTGGTAATCATTTGGTAATTCA
+AATTGTATTCTCTTTAGTGGGCGTCAAAAAAAACGCCGGATTAACCGGCGTCTGACGACTGACTTAACGC
+TCAGGCTTTATTGTCCACTTTGCCGCGCGCTTCGTCACGTAATTCTCGTCGCAAAATTTTTCCGACGTTA
+GATTTCGGTAACTCATCACGAAACTCCACCAGCTTCGGTACTTTGTAGCCCGTGAGCTGACGGCGGCAAA
+AGGTCACCAGTGACTCTTCGGTAAGCGATGGATCTTTTTTCACTACGAAGATTTTCACCGCTTCACCACT
+GGAGCCGGAAGGTACGCCAACAGCCGCGACTTCCTGTACGCCAGGATGCTGCATGACGACATCTTCAATC
+TCGTTGGGATAAACGTTAAAACCGGAAACCAGAATCATGTCTTTTTTACGATCGACAATGCGCAGGAATC
+CTTCTTCATCCATCACCGCGATGTCGCCGGTGTGTAACCAGCCATTTTTGATGATTTCATCGGTAGCATC
+CGGACGCTGCCAGTAACCCAGCATCACCTGCGGTCCTTTGACACAAAGCTCACCTGGTTGACCAGGTGGT
+ACTTCATTATCATCATCATCCACCAGTTTGGCTTCCGTCGACGGCACCGGCAAACCGATGCTACCACTAT
+GATAATCAATATCATACGGGTTAACGCTGACCAGCGGCGCGCACTCGGTCAGGCCATAACCTTCCAGCAG
+ATACTGTCCAGTCAGTTTAACCCAACGTTCTGCCACCACTTGCTGAACAGGCATCCCTCCGCCTGCGGAA
+AGATGCAGACTGGAGAAATCCAGCTGCTGGAACTCTTTATTGTTCAGCAACGCATTGAACAAGGTGTTAA
+CACCAGTGATAGCGGTAAACGGATATTTCGCTAACTCTTTTACCAACCCTGGAATATCGCGCGGGTTAGT
+GATAAGCAGGTTCTGCCCCCCCAGTTCGATAAACAGCAGGCAGTTAATGGTCAGTGCAAAAATGTGATAC
+AGCGGCAGCGCCGTCACCACCAGCTCTTTGCCCGGATGCAACAGCGGACCATAGGTCGCGTTAACCTGTT
+CCAGGTTCGCCAGCATATTGCGGTGAGTCAGCATCGCGCCTTTCGCCACACCAGTGGTGCCGCCGGTGTA
+TTGCAGGAAAGCTAAATCTTCCGGCACCAGTTCTGGTTTGACGTACTGCATCCGGTAGCCGTTGTGCAGG
+GCGCTACGAAATGAAATGGCATCTGGCAGATGGTATTTCGGCACCAGACGCTTGATGTATTTAACAACGA
+AATTGACTACCGTGCCTTTTGCCGTAGATAGCTGATCGCCCATACGGGTCAGAATAACGTGCTGAACGGC
+GGTTTTATCAACCACTTTTTCCAGAGTGTGGGCAAAGTTAGACACGATAACAATCGCCGATGCGCCGCTA
+TCGTTAAGCTGATGCTCAAGCTCACGCGGGGTATACAACGGGTTAACGTTTACGACGATCATCCCGGCAC
+GCAAAATGCCAAACAGCGCCACCGGATATTGCAATAAGTTAGGCATCATCAACGCAACGCGATCGCCTTT
+CTTCAGCCCCAACCCTTGTTGCAAATAAGCGGCAAACGCGCGACTGCGTTCTTCCAGTTTGCGGAAGGTC
+ATCACCTCCCCCATATTCACAAACGCGGGTTGATCGGCATAGCGCGCGACCGACTGCTCAAACATATCTA
+CCAGAGATTGATAACGGTCAGGGTTGATCTCCGTCGGAACGTCCGCGGGATAACGGTTAAGCCAAACCTT
+CTTCAATTCTTCACCTCTAAAATGCGTGTTCGTCGTCATCGCAACCCCAAGTGATAGACATGCTGTTAAC
+ATAATATTAACTCATCTTACCAGCTTGATAATTACCCAAGGAAAAGGTTGCGAAGCGCGTCACTATTTAT
+TTTTATCTTTACCGTAAGAATGCAGAAACAGCGGACCGGCCGCTGTTTCTTTTTCTTTAAAAACAAGCAA
+TTATTCAGTTACAACTGTTTGTACTCTCGCGGGGCCGGGATTATACCAGCCCCATCCACCGTAGCCATAG
+GGCCAGCCACGACCGCCATAAAACCATGGATCAATCGGCTGAGGCGGCATAATCACCTGCTGGGTTAAAT
+GCCAACGTTTGTAACCTGTTGCCTGCATCACCATAAATTTATAGGGCGTGTTGCCGATTTTTCCGTCAAC
+CGTACCGGTGATTGGCCCGACAACTGTCACCAGCTGCCCACGGAAATCGACCGGATCAAGAAAACCATTC
+ACATCGGCATAAATGCGACCGCGAGAAGGTTCTCCCAGCGTCGGTCTGGCACCGCTGTCCAGCGGTACGG
+TAGCAATTTCCAGGCGGGTTTTCCCTTGCTGGTTTTGTACCGCAACCACTTTGCCGCCAAAGCGTGCCTC
+CTGACCAACGTACAGCTGCGGCGCACTCATCACCCGAACTAAATCTTGTTGCGGCGTGGGACTGCTGCCT
+TTAATGGCGTCCGGCACAGTAACACAACCGCTCAGCATTAGCGCAAACGTACCTGCCAGTATGCCTTTGA
+TAACATTCTTTTGAACCGCCATGATGCGACTCCTTTTTTTCTCAGGGCATACTCTTAAGATTCATTCTTT
+GCCCGGAAGTTTCTTCCATGCGACGTTGTTACGTAAATAAACTGGTTCAGCATGTTCCACCGCCACCGTT
+TTACCCTCGGCAAACATCTGGCACGCAATCGGCAGCATATCTTCTGCAGCGGGCAGTAACACTTCGCCAT
+CGCGCAAAACCAGCCCGCTCTCTTTACCGAGATCCGGCCAGGCTTGCCAGCCCGTCCCTACCGTCACCCA
+TTCGCCGGAAAGCTGTTGCATTCGTTCATGAACCAGTTCGGGTTTGAGTACGGCTTCGGTTTCTTCACCA
+TGCCAGATACCGTTTTCATCACGCTGATATTCGGCCCAGTAAACTTCGCCCATTCGCGCGTCAATAGCTG
+CCAGCACGCGGGTTGCGCCGTTTTTGCGCCACGCCCCTTGCGCCATCGTCATTAACGTGGAGACGCCAAT
+CATCGGCAGCTCTGCGCCAAGTGCCAGCCCTTGCGCAATGCCAATACCAATGCGCACGCCGGTAAAGCTA
+CCGGGGCCGCGCCCGTAAGCCAGAGCGTTTATGTCAGTCAGAGAAGTTCCGCTGGTGGTCAGGATATCCT
+GCACCATCGGTAAGATTCGTTGAGTATGTTCACGAGGGCAAAGCTCAAAATGAGCGTTGACAGTACCGTC
+GTTCCACAGGGCGACAGAGCAGGCCTCTGTCGCGGTATCGATAGCCAGAATTCGCATGGGTCTTCGTGCT
+TAGATCAATAAAAAGGCGCGCATCATACCATACTCCGTAACAAATTACCTGGAGGATGGTATCGCAAGGA
+AACGAACCGCACGGGCAATGTCACGGGTGCGCGGCGCTGGCGGCAGACTGGCGAGAAACGTCGCGCCGTA
+AGGGCGCATCACCAGCCGATTGTCGCAAATCACTAACACGCCGCGATCGTCGGCGTCGCGAATCAATCGC
+CCTACCCCCTGCTTGAGAGTAATGACCGCATCCGGCAGTTGTACTTCATCGAACGGATCACCACCGCGCA
+AACGGCAATCTTCCATGCGTGCTTTTAATAGTGGATCATCCGGCGAGGTAAACGGCAATTTGTCGATAAT
+CACCAATGACAATGTATCGCCACGCACGTCCACCCCTTCCCAGAAACTGCTGGTTGCCACAAGAAGCGCG
+TTACCGGCGCTGACAAATTGCTGCAACAGTTGCCCTTTGCTGGTTTCCCCCTGCAACAAAACGGGAAGCG
+TCATGGTAGCGCGGAACTGCTCGGCCAGATCGCGCATCATGGCGTGCGAGGTACAAAGCATAAAACAACG
+ACCGTTGTTAGCTTCGATGATCGGTCGCAGCATTGCCGCCAGTTGCCGTGCGGAACCCGGTTGATTGGTT
+TGCGGCAGGTTGCGCGGCACACAGAGTAACGCCTGGCGGCTGTAATCAAAGGGGCTGGGTAACAGCAACG
+ACTCTGCCTGTTCAATGCCAAGCCGCGAGGTGAAATGATGCAGATCGTCGTTTACCGACAGCGTTGCTGA
+GGTAAAGATCCAGCTACCGGTTTTTTGCGCCATTAACTCTTTGAATTTATCCGCCACGCTGAGCGGCGTG
+AGAGCCAGAGTAAAATGGCGCGAAGTGCATTCGTACCAGTAGCTGTAGCCCGGCTGATTGATCTCTTTTA
+GCCGTTTCAGCCGTGTGCGATATAACGTGGCGCGTTCAAATGCCGCATCCAGCAAGGCGGAACGCCCCAG
+CGACAGTTTCGCCACGTCATAACAAAGTTCCAGAGTGTCATCGAGCAGTAAAAATGCCCGCTGAATTTGC
+GGATTAGCTAACAGCTCACGCAGGTTACCGCGATAACCTGGCTCACCGAGTTGCAGGCGAAAATCCTGCG
+CACTCTGGGCAAGACGGTCCGCGCACTTTTGTAACTGCTGGGTGTCTTTTAATTCGGTGCGGTAGGCGAT
+GGTGATGTCTTTTGCCAGGTCGAGCAGTTGTCGACTGGAGAGTGACTGACCAAAATACTGGCTGGCAATG
+TCGGGCAGCTGGTGGGCTTCGTCGAAGATCATGACGTCCGCTTCCGGGATCAATTCGCCAAAACCGCTCT
+CTTTCACCACCATATCCGCCAGAAACAGATGATGATTCACCACCACCACATCGGCGTCCATCGCTTTTTT
+GCGTGCTTTGACCACAAAGCAATCTTTATACATCGGGCAGTCACTGCCGAGGCAGTTATCGTTGGTGCTG
+GTGACCAGCGGCCACGCCTGTGAATCTTCCGCCACGCTGACGCAGGTGCTGATATCGCCATCGACTGTTT
+GATTAGACCAGGAGCGCAGCAGGATCACATCGCTTAAGATTTGTACCGGCAGATCGCCCCCCGCCAGCGC
+CTGCTGTTCGAGACGTTCGAGGCAGAGGTAGTTTGAGCGCCCTTTCAGCAGCGCCACATTGCCCGTGTAT
+TTCAATGCCTTTGAGACCGTTGGCAAATCGCGGCTGTAGAGCTGATCCTGCAACGCTTTTGAGCCGGTCG
+AGATTATGACTTTCTTTTTCGCCCGCAGCGCAGGGGCCAGGTAAGCGTAGGTTTTGCCCGTACCGGTTCC
+TGCTTCCACCACCAGCGGCTGGCCTTTTTCTATCGCCTGGGTGACGGCTACCGCCATCTGTCGCTGTGGT
+TCTCGCGGCTTAAAGCCTGGTATCGCTTTCGCTAACTGACCGTCTGGTGCAAAATCGTCCGTCACACTAC
+CCCCTGTTGATTTGAACAGGGATTATGTCAGGATGAGGGCGCTTTCGCCAGTTGAAGTGGTGACGGCGAC
+CTCACATTGTGGCAGTCTTTGCAGCACGAAAATGGGAGTATAATGAGGACAAAATGATGACTATCGTTCG
+TATCGATGCCGAAGCCCGCTGGTCTGATGTGGTAATCCACAACAACACGCTCTACTACACTGGTGTACCG
+GAAAACCTCGACGCCGATGCCTTTGAGCAAACCGGCAACACGCTGGCGCAGATTGACGCCGTGCTGGAAA
+AACAGGGCAGCAATAAATCGAGCATTCTGGATGCCACCATTTTCCTGGCCGATAAAAACGACTTCGCGGC
+GATGAATAAAGCGTGGGATGCCTGGGTTGTCGCGGGTCATGCGCCGGTGCGCTGCACGGTACAAGCAGGT
+TTGATGAACCCGAAGTATAAAGTTGAAATTAAGATTGTGGCTGCGGTGTAAGCTTTATCGAAGCAAAATA
+AGTCAGACGATAATTTATCGACAATACTGGTCGGTTTTGCATAAATCGACCAGAGATTAAGATATTACAG
+TTGATGCTCCTGCTAATTCATTATTTATTTTTATAATTTCAATTTTATCTATAAAACTAACTATATAAAT
+AAACATAATCATGCCGTTATGTTCGCCCTTCGATTAGCATCTCTGGTTTTCTTTCTTACCTGAACAATCT
+GGTTATAGCGTGAGGACTGACCATTAATTTTCTCCATCTTACTGGATAACACACTATGAGCTGCTACCTT
+TAAAACACCTGAATGTCAACAGGTTAACTCGTGCCATATCGTTATAATCCCTTTGATATTAGATACAAAT
+TAAGGTCATATATAGCCTTATCGATAACATGGTTAATTTTAAGGATAAGAATATGCCTGCTGTAATAGAT
+AAAGCCCTGGATTTCATTGGTGCCATGGATGTATCAGCGCCAACACCAAGTTCGATGAATGAAAGTACGG
+CGAAGGGAATCTTTAAATATTTAAAAGAACTGGGAGTACCCGCGAGTGCCGCTGATATTACGGCGCGAGC
+TGACCAGGAAGGCTGGAACCCTGGTTTCACGGAAAAAATGGTTGGATGGGCAAAAAAAATGGAGTCTGGT
+GAACGCTCTGTGATTAAAAATCCTGAATACTTTTCAACATATATGCAGGAAGAACTAAAAGCACTGGTTT
+GAGTTAAATTTACATCAGCATAAATGGGTCAGGACGCTTTTAATCACATATGAAAAGCGTCCTTTTTCTC
+ACAATCAAATAACCATCGGCTTCTATAACGAAAGCGATACGGATAAGTGTGTTACTCGTCTTCATCCTCA
+AAACGCGCCACGATTCGCTCGCCGGAATGGTTGGCACGCAGCTCTTCTGCCACCAGCGCGATTGCCTGGC
+CGCTGCTCATCCCTTGAGCCATCAGTTCCTGGATCCGCTCGACGGCTTTTTGCTGCTGTTCATGGGTGAG
+TGAAGGTAAACCTGCAAACATTGTTAACTCCTGCTAAATTGTTGGCGCTAATTATTTCATGCTACCCGGC
+ACATAGCCAGTAGAGTCAGGACTGATGAAGACGTTATCTCCCGCTGTGATTACTTTACCCTGGCGTCAGG
+ACGCCGCTGAATTTTATTTCTCCCGCTTAAGCCACCTGCCGTGGGCGATGCTTTTACACTCCGGCTATGC
+CGATCATCCGTATAGCCGCTTTGATATTGTGGTCGCCGAGCCGATTTGCACTTTAACCACTTTCGGTAAA
+GAAACCGTTGTTAGTGAAAGCGAAAAATGCACAACGACCACTGATGACCCGCTACAGGTGCTCCAGCAGG
+TGCTGGATCGCGCAGACATTCGCCCAACGCATAACGAAGATTTGCCATTTCAGGGCGGCGCGCTGGGGTT
+GTTTGGCTACGATCTGGGCCGCCGTTTTGAGTCACTGCCAGAAATTGCGCAGCAAGATATCGTTCTGCCG
+GATATGGCAGTGGGTATCTACGACTGGGCGCTGGTTGTTGACCACCAGCGTCAAACAGTTTCTTTGCTGA
+GTCATAATGATGTCAATGCCCGTCGGGCCTGGCTGGAAAGCCAGCAATTCTCGCCGCAGGAAGATTTCAC
+GCTCACTTCCGACTGGCAATCCAATATGACCCGCGAGCAGTACGGCGAAAAATTTCGCCAGGTACAGGAA
+TATCTGCACAGCGGTGATTGCTATCAGGTGAATCTCGCCCAGCGTTTTCATGCGACCTATTCTGGCGATG
+AATGGCAGGCATTCCTTCAGCTTAATCAGGCCAATCGCGCGCCGTTTAGCGCTTTTTTACGCCTTGAACA
+AGGCACGATTTTAAGCCTTTCGCCAGAGCGGTTTATTCTTTGTGATAATAGTGAAATTCAGACCCGCCCG
+ATTAAAGGCACGCTACCACGCCTGCCCGATCTTCAGGAAGATAGCAAACAAGCAGAAAAACTGGCGAACT
+CAACGAAAGATCGTGCCGAAAATCTGATGATTGTCGATTTAATGCGTAATGATATCGGTCGTGTTGCCGT
+AGCAGGTTCGGTAAAAGTACCAGAGCTGTTCGTGGTGGAACCTTTCCCTGCCGTGCATCATCTGGTCAGC
+ACCATAACGGCGCAACTACCAGAACAGTTACACGCCAGCGATCTGCTGCGCGCGGCTTTTCCTGGTGGCT
+CAATAACCGGGGCTCCGAAAGTACGGGCTATGGAAATTATCGACGAACTGGAACCGCAGCGACGCAATGC
+CTGGTGCGGCAGCATTGGCTATTTGAGCTTTTGCGGCAACATGGACACCAGCATTACTATCCGCACGCTG
+ACTGCCATTAACGGACAAATTTACTGCTCTGCGGGCGGTGGAATTGTTGCCGATAGCCAGGAAGAAGCGG
+AATATCAGGAAACTTTTGATAAAGTTAATAAGATATTACGCCAACTGGAGAAGTAAGACGTGGAATACCG
+TAGCCTGACGCTTGATGATTTTTTATCGCGCTTTCAACTTTTGCGCCCGCAAATTAACCGGGAAACCTTA
+AATCATCGTCAGGCTGCCGTGTTAATCCCCATCGTCCGCCGACCGCAACCGGGGTTGTTGCTGACTCAGC
+GTTCGATTCATCTGCGTAAACACGCTGGACAAGTGGCATTCCCTGGAGGCGCAGTCGATGACACGGACGC
+ATCAGTTATCGCCGCTGCGCTGCGCGAAGCTGAAGAAGAGGTCGCTATACCGCCTTCCGCCGTTGAGGTT
+ATCGGCGTGCTGCCGCCCGTCGATAGCGTCACTGGCTATCAGGTAACCCCAGTGGTCGGCATTATCCCGC
+CCGATCTGCCGTATCGCGCCAGTGAAGATGAAGTCTCCGCCGTCTTTGAAATGCCGCTCGCCCAGGCATT
+ACATCTGGGTCGTTATCATCCTTTAGATATCTACCGCCGTGGCGATTCACATCGGGTATGGCTGTCCTGG
+TACGAACAGTATTTTGTATGGGGAATGACCGCAGGCATAATTCGTGAGCTGGCGCTGCAAATTGGTGTGA
+AACCCTGACTATACTTATCTTTACATCTACAAAACACTACTTGAGACAATCATCGCAATATTAGTTAAAT
+CGCGGTTTTTGATTAGTTTAATTCATGTGAATAGTTAAGCCAGTCGCCGCGTTCCCTCTTACACTATGCG
+CTGTTATTAGTTCGTTACTGGAAGTCCAGTCACCTTGTCAGGAGTATTATCGTGATTAGTCTATTCGACA
+TGTTTAAGGTGGGGATTGGTCCCTCATCTTCCCATACCGTAGGGCCTATGAAGGCGGGTAAACAGTTCGT
+CGATGATCTGGTCGAAAAAGGCTTACTGGATAGCGTTACTCGCGTTGCCGTGGACGTTTATGGTTCACTG
+TCGCTGACGGGTAAAGGCCACCACACCGATATCGCCATTATTATGGGTCTTGCAGGTAACGAACCTGCCA
+CCGTGGATATCGACAGTATTCCCGGTTTTATTCGCGACGTAGAAGAGCGCGAACGTCTGCTGCTGGCACA
+GGGACGGCATGAAGTGGATTTCCCGCGCGACAACGGGATGCGTTTTCATAACGGTAACCTGCCGCTGCAT
+GAAAACGGTATGCAAATCCACGCCTATAACGGCGATGAAGTCGTCTACAGCAAAACTTATTATTCCATCG
+GCGGCGGTTTTATCGTCGATGAAGAACACTTTGGTCAGGATGCTGCCAACGAAGTGAGCGTGCCGTATCC
+GTTCAAATCTGCCACCGAACTGCTCGCGTACTGTAATGAAACCGGCTTTTCGCTGTCTGGTCTCGCTATG
+CAAAACGAACTGGCGCTGCACAGCAAGAAAGAGATCGACGAGTATTTCGCGCATGTCTGGCAAACCATGC
+AGGCATGTATCGATCGCGGGATGAATACCGAAGGCGTACTGCCAGGCCCGTTGCGCGTGCCACGTCGTGC
+GTCGGCCCTGCGCCGGATGCTGGTTTCCAGCGATAAACTGTCTAACGATCCGATGAATGTCATTGACTGG
+GTAAACATGTTTGCGCTGGCAGTTAACGAAGAAAACGCCGCCGGTGGCCGTGTGGTAACTGCGCCAACTA
+ACGGTGCCTGCGGTATCGTTCCGGCAGTGCTGGCTTACTATGACCACTTTATTGAATCAGTTAGCCCGGA
+CATCTATACCCGTTACTTTATGGCAGCGGGCGCGATTGGTGCACTGTATAAAATGAACGCGTCTATTTCC
+GGTGCGGAAGTCGGTTGCCAGGGCGAAGTAGGTGTTGCCTGTTCAATGGCTGCTGCGGGCCTTGCCGAGC
+TGTTGGGCGGTAGCCCGGAACAGGTTTGTGTGGCAGCGGAAATTGGCATGGAGCACAACCTCGGTCTGAC
+CTGCGACCCCGTTGCAGGGCAAGTTCAGGTGCCGTGCATTGAACGTAATGCCATTGCCTCTGTGAAGGCG
+ATTAACGCCGCACGGATGGCTCTGCGCCGCACCAGTGCACCGCGCGTCTCGCTGGATAAGGTCATCGAAA
+CGATGTACGAAACCGGTAAGGACATGAACGCTAAATACCGCGAAACCTCACGCGGTGGTCTGGCAATCAA
+AGTCCAGTGTGACTAATACTTCTTACTCGCCCATCTGCAACGGATGGGCGAATTTATTCCCGCTTTCTCG
+TCTGCTGTAATTTTCCCCACTACACTTCCACTGTTGCGTCAGGCGTTTGTCGCCATACGCTTACAGGGTG
+GCCCGCATGCAAAAAGCACAACGGATCATTAAAACCTATCGCCGTAATCGAATGATTGTTTGTACGATTT
+GCGCACTCGTTACGCTCGCTTCGACCCTGAGCGTGCGATTTATTTCACAGCGTAACTTAAATCAACAACG
+GGTAGTACAATTCGCCAATCACGCTGTAGAGGAATTAGATAAAGTACTGCTTCCCCTACAGGCAGGTAGC
+GAAGTCTTGCTTCCGCTGATTGGTCTGCCCTGCTCTGTCACCCATTTGCCATTACGTAAACAGGCTGCAA
+AACTCCAAACTGTGCGATCCATTGGCCTGGTGCAAGACGGCACACTTTATTGCTCCAGCATTTTTGGTTA
+TCGCAATGTGCCCGTCGTGGACATTCTGGCTGAACTTCCTGCACCGCAACCACTTTTACGACTGACGACC
+GACCGTGCCCTGATAAAAGGCAGTCCGGTTTTGATTCAATGGACGCCTGCAGCGGGCAGTAGCAATGCTG
+GGGTCATGGAGATGATTAACATCGACTTACTGACGGCAATGCTCCTTGAACCACAACTGCCGCAAATCAG
+TAGCGCCAGCCTGACGGTGGACAGTCGGCATTTGCTCTATGGTAATGGGCTGGTAGATTCCCTTCCGCAA
+CCTGAAAATAATGAAAACTATCAGGTTTCTTCGCAACGCTTTCCTTTTACCATTAACGTTAATGGCCCGG
+GGGCTACGGCGCTGGCATGGCACTATCTTCCAACACAATTACCGCTGGCGGTACTGCTAAGTTTACTGGT
+GGGCTACATCGCCTGGCTGGCGACCGCTTACCGAATGAGCTTTTCCCGCGAGATCAATCTGGGCCTGGCG
+CAACATGAGTTCGAATTGTTCTGTCAGCCTTTGCTTAATGCGCGCAGCCAGCAATGTATTGGTGTAGAGA
+TTTTGCTGCGCTGGAACAATCCGCGTCAGGGCTGGATTTCACCGGATGTGTTTATTCCTATCGCGGAAGA
+ACATCATTTAATTGTGCCACTAACCCGCTATGTGATGGCAGAAACCATTCGTCAGCGCCATGTTTTCCCA
+ATGAGTAGTCAGTTTCATGTTGGCATTAACGTCGCACCCAGTCATTTTCGCCGTGGTGTGCTGATAAAAG
+ATCTCAATCAGTACTGGTTTAGCGCTCACCCGATTCAGCAACTGATCCTCGAAATCACCGAACGCGATGC
+CTTACTGGATGTTGATTATCGGATTGCCCGCGAGCTGCATCGTAAAAACGTCAAACTGGCGATTGATGAC
+TTCGGCACCGGCAACAGTTCGTTTTCCTGGCTTGAAACATTACGTCCTGACGTGCTGAAAATTGATAAGT
+CATTTACCGCAGCTATAGGTTCTGACGCGGTTAACTCGACGGTGACCGATATCATCATCGCACTGGCGCA
+AAGACTGAATATTGAACTGGTGGCGGAGGGCGTAGAAACGCAAGAACAGGCGAAATATTTGCGCCGTCAT
+GGCGTGCATATTTTGCAAGGGTATTTGTACGCACAGCCAATGCCGCTACGTGATTTTCCCAAATGGCTGG
+CGGGCATCCAACCGCCGCCCGCCCGGCATAATGGACATATCACACCCATTATGCCGTTACGTTAACGCTT
+ACTCATCTTCATCGTGCGCCGGTTGCTCTTTAACAATGCGAACCAGATCAACACGATAATCATTGGCTTC
+AATGATGGTGATATGCAGTGGCCCTACATCAATCACATCGCCCACACGGGGAATGTGACCATTTGCCGAG
+ATCACGAGGCCCGCGACCGTCGCGATATCATCGTCATCGGCAAGGTGCTCAACATCAAGCGCCTGCTGCA
+AGGCATGCAAATCTGTACCGCCTTTTACCAGCCAGCCGTCACCGTCGGTAATGATTTCCGGCGTTTCGTC
+AGCGTCCGGGAATTCACCCGCAATGGCTTCCAGCACATCCAGCGGCGTGACCAGACCTTGTACCACACCA
+AACTCGTTGGTCACGATAACAAAGCTCCCGCGAGCACGACGCAGCACGCCCAGCAGGTTGATCGGATCGA
+GGGTTTCCGGGACGATAATCGCCGGAGACGCCGAAGCAATCGCCGCCACATCAACGCCCTCTTCCAGCGC
+CACCAGCAGTTCTTTAGCACGTACGATGCCGATAATTTCATCCAGTTCACCGCGACATACCGGGAACAAA
+CTGTGCGGTGAGGAGAGCAGCTGCTCGCGGATTTCATCGACCCCGAGATTAGCATCAACCCAGCTTATTT
+CACCGCGCGGCGTCATGATCCCGCGCAGAGAACGCGACGCCAGCGTCAGTACGCCGTTAATCATGTAACG
+TTCTTCTTCGGCAAACGCACCTTCCGGGATCGGCATCGGCATCGGGTTATCGGCATCGTGCTGAACATTG
+GCCTGACGTTTCCCGCCCATCAAACGCAGGATGGCATCGGCAGTACGCGCTCGCAGCGGCAAAGTCGACT
+GGTGACGAATAAAGTTGCGACGCGCAATCTGGTTAAACACTTCGATGATGATCGAGAAGCCAATCGCGGC
+ATACAGGTAACCTTTCGGAATGTGGAAACCGAAACCTTCTGCCACCAGACTCAGACCAATCATTAACAGG
+AAGCTCAGACAGAGCACCACCACCGTGGGGTGCTGGTTAACGAATCGCGTCAGCGGTTTTGATGCCAGCA
+GCATAACCGCCATCGCAATCACTACCGCCGCCATCATCACCGGCAAATGGTTAACCATCCCTACTGCAGT
+AATTACCGCATCCAACGAGAAGACGGCGTCAAGGATGACAATCTGTGTGACGACCACCCAGAAACTGGCG
+TAGCCTTTACCGTGGCCGGAATCATGATCGCGGTTTTCCAGCCGTTCATGCAGTTCGGTTGTTGCTTTGA
+ACAGCAAGAATATGCCCCCGAACAACATAATCAGGTCGCGTCCGGAGAAGGAGAAATCCATGACGGTAAA
+TAGCGGTTTGGTCAGCGTGACCATCCATGAAATCAGCGACAGCAGCCCCAGACGCATAATCAGCGCCAGT
+GATAATCCCAGCAAACGCGCTTTATCGCGTTGTTTTGGCGGCAGTTTGTCAGCAAGAATGGCGATGAAGA
+CCAGGTTATCGATACCCAGCACAATTTCGAGAACAACAAGCGTGAGTAGCCCCGCCCAAATCGAGGGGTC
+CATTAAGAATTCCATGACAAGCTCCTGCTTAAGGAATAGCTATTCGACGCCAGAAATAATGCAGGCGTAA
+CGACAAAATGCAAACGAAAGGTGCGGCATAAAGTGCCAGAAAGGCAGGCGTTAAAAGGCCTGATGCTGAA
+ATGACGTCGGTGACGATCCATACTGCGGGCTACTGCCCTATACTCCATGGTTGTTAAACAGGAGTTAAAC
+ATATCAGAGACGCCTCTGATTTGGCAAAGATTTACCTTCCTTTGCAAACGAATGTGACAAGGATATTTTA
+CCTTTCGAAATTTCTGCTAATCGAAAGTTAAATTACGGATCTTCATCACATAAAATAATTTTTTCGATAT
+CTAAAATAAATCGCGAAACGCAGGGGTTTTTGGTTGTAGCCCTTATCTGAATCGATTCGATTGTGGACGA
+CGATTCAAAAACACATCTGGCACGTTGAGGTGTTAACGATAATAAAGGAGGTAGCAAGTGACCATTGCTA
+TTGTTATAGGCACACATGGTTGGGCTGCAGAGCAGTTGCTTAAAACGGCAGAAATGCTGTTAGGCGAGCA
+GGAAAACGTCGGCTGGATCGATTTCGTTCCAGGTGAAAATGCCGAAACGCTGATTGAAAAGTACAACGCT
+CAGTTGGCAAAACTCGACACCACTAAAGGCGTGCTGTTTCTCGTTGATACATGGGGAGGCAGCCCATTCA
+ATGCTGCCAGCCGCATTGTCGTCGACAAAGAGCATTATGAAGTCATTGCAGGCGTTAACATTCCAATGCT
+CGTGGAAACGTTAATGGCCCGAGATGATGACCCTAGCTTTGATGAACTGGTGGCACTGGCAGTAGAAACA
+GGCCGTGAAGGCGTGAAAGCACTGAAAGCCAAACCGATTGAAAAAGCCGCGCCAGCACCCGCTGCCGCAG
+CACCCAAAGTGGCTCCAACTCCGGCAAAACCAATGGGACCGAACGACTACATGGTTATTGGCCTTGCGCG
+TATCGACGACCGTCTGATTCACGGTCAGGTCGCCACCCGCTGGACCAAAGAAACCAATGTCTCCCGTATT
+ATTGTTGTTAGTGATGAAGTGGCTGCGGATACCGTTCGTAAGACACTGCTCACCCAGGTTGCACCTCCGG
+GCGTAACAGCACACGTAGTTGATGTTGCCAAAATGATTCGCGTCTACAACAACCCGAAATATGCTGGCGA
+ACGCGTAATGCTGTTATTTACCAACCCAACAGATGTAGAGCGTCTCGTTGAAGGCGGCGTGAAAATCACC
+TCTGTTAACGTAGGTGGTATGGCATTCCGTCAGGGTAAAACCCAGGTGAATAACGCGGTTTCGGTTGATG
+AAAAAGATATCGAGGCGTTCAAGAAACTGAATGCGCGCGGTATTGAGCTGGAAGTCCGTAAGGTTTCCAC
+CGATCCGAAACTGAAAATGATGGATCTGATCAGCAAAATCGATAAGTAACGTATTGTGTTGATTATCATT
+CAGTTTTCACACTTTAGTCTTACGTAAACAGGAGAAGTACAATGGAGATTACCACTCTTCAAATTGTGCT
+GGTATTTATCGTAGCCTGTATCGCAGGTATGGGATCAATCCTCGATGAATTTCAGTTTCACCGTCCGCTA
+ATCGCGTGTACCCTGGTGGGTATCGTTCTTGGGGATATGAAAACCGGTATTATTATCGGTGGTACGCTGG
+AAATGATCGCGCTGGGCTGGATGAACATCGGTGCTGCCGTTGCGCCTGACGCCGCCCTGGCTTCTATCAT
+TTCTACCATTCTGGTTATCGCAGGTCATCAGAGCATTGGTGCAGGTATCGCACTGGCAATCCCTCTGGCC
+GCTGCAGGCCAGGTACTGACCATCATCGTTCGTACTATTACCGTTGCTTTCCAGCACGCTGCGGATAAGG
+CAGCTGATAACGGCAACCTGACAGCAATTTCCTGGATCCACGTTTCTTCTCTGTTCCTGCAAGCAATGCG
+TGTGGCTATTCCGGCCGTCATCGTTGCGCTGTCTGTTGGTACCAGCGAAGTACAGAACATGCTGAATGCG
+ATTCCGGAAGTGGTGACCAATGGTCTGAATATCGCCGGTGGCATGATCGTGGTGGTTGGTTATGCGATGG
+TTATCAACATGATGCGTGCTGGCTACCTGATGCCGTTCTTCTACCTCGGCTTCGTAACCGCAGCATTCAC
+CAACTTTAACCTGGTTGCTCTGGGTGTGATTGGTACTGTTATGGCAGTGCTCTACATCCAACTTAGCCCG
+AAATACAACCGCGTAGCCGGTGCGCCTGCTCAGGCTGCTGGTAACAACGATCTCGATAACGAACTGGACT
+AACAGGTGAGCGAAATGGTTGATACAACTCAAACTACCACCGAGAAAAAACTCACTCAAAGTGATATTCG
+TGGCGTCTTCCTGCGTTCTAACCTCTTTCAGGGTTCATGGAACTTCGAACGTATGCAGGCACTGGGTTTC
+TGCTTCTCTATGGTACCGGCAATTCGTCGCCTCTACCCTGAGAACAACGAAGCTCGTAAACAAGCTATTC
+GCCGTCACCTGGAGTTCTTTAACACCCAGCCATTCGTGGCTGCGCCGATTCTCGGCGTAACCCTGGCACT
+GGAAGAACAGCGTGCTAATGGCGCAGAGATCGATGACGGTGCTATCAACGGTATCAAAGTCGGTTTGATG
+GGGCCGCTGGCTGGTGTAGGCGACCCGATCTTCTGGGGAACGGTACGTCCGGTATTTGCAGCGCTGGGGG
+CTGGTATCGCGATGAGCGGCAGCCTGTTAGGTCCGCTGCTGTTCTTCATCCTGTTTAACCTGGTGCGTCT
+GGCAACCCGTTACTACGGCGTAGCGTATGGCTACTCCAAAGGTATCGATATCGTTAAAGATATGGGTGGT
+GGCTTCCTGCAAAAACTGACGGAAGGGGCGTCTATCCTCGGCCTGTTTGTCATGGGGGCGTTGGTTAATA
+AGTGGACACATGTCAACATCCCACTGGTGGTCTCTCGCATTACTGACCAGACGGGCAAAGAACACGTTAC
+CACTGTCCAGACTATTCTGGACCAGTTAATGCCAGGCCTGGTACCACTGCTGCTGACCTTTGCTTGTATG
+TGGCTACTGCGCAAAAAAGTTAACCCGCTGTGGATCATCGTTGGCTTCTTCGTCATCGGTATCGTTGGTT
+ACGCTTGCGGCCTGCTGGGACTGTAAGACTGTTGTACACTACCGGGGCCTTTTGGCCCCGTTTTTTTATC
+TGGAGGATTAATGACAATCACGGACCTGGTACTGATTCTTTTCATCGCCGCACTTCTGGCCTTCGCGATC
+TACGATCAGTTCATCATGCCCCGCCGTAACGGCCCCACCCTGCTGGCAATTCCTTTGCTCCGGCGTGGTC
+GCATCGATAGTGTTATCTTCGTCGGATTGATTGTCATTCTTATCTATAACAACGTCACGAATCATGGCGC
+GCTAATAACAACATGGTTATTAAGTGCACTGGCTCTGATGGGGTTTTATATATTCTGGATCCGCGTTCCG
+AAGATCATCTTTAAACAAAAAGGTTTTTTCTTCGCCAATGTCTGGATTGAATATAGCCGAATCAAAGCGA
+TGAACTTGTCGGAAGATGGCGTGTTGGTGATGCAATTAGAACAGCGCCGGCTGTTAATCCGCGTTCGAAA
+TATCGACGATTTGGAAAAAGTTTATAAGCTTCTCGTTTCAACTCAATAAGTTATGAATTTAGCCAAAGCT
+ATGTTTAGTGTATTTTTAATAATCAGACATAGCTAAGGCTATATTACCTCTTCCCTTATTTGTTATTTAT
+TTTAACGTTTCATTGATATATAAATCTAAATGAAAATCGTTATCAACAAAGCAATAAAATAATATATTCC
+AACAGTTGTTTTATATTCTCAAAATATGTTAAGGTTGCGCCCTCATTTGGGGAGTAGCCAATTTCCAGAT
+TCCGGAAATGTACGTGTCAACATACTCGTTGCAAAACGTGGCACGTACGGACTGAACACTTTCAGTCAGG
+CGAGACCATATGCACATTAATCGCTATGCCTGCATGAACGCGAAAACCATCGCGGCTTGTTGTTCATGTT
+TGCATGTTTGCTGGGGGCGATGATGTGTTTTATGGATACCCCGGTCAGGACGTTGTCATGAATATCACTG
+CTACTGTTCTTCTTGCGTTTGGTATGTCGATGGATGCATTTGCTGCATCAATCGGTAAAGGTGCCACCCT
+CCATAAACCGAAATTTTCTGAAGCGTTGCGAACCGGCCTTATTTTTGGTGCTGTCGAAACCCTGACGCCG
+CTGATCGGCTGGGGAATGGGCATGTTAGCCAGCCGGTTTGTCCTTGAATGGAACCACTGGATTGCGTTTG
+TGCTGCTGATATTCCTCGGCGGACGAATGATTATTGAGGGTTTTCGTGGCGCAGATGATGAAGATGAAGA
+GCCGCGCCGTCGACACGGTTTCTGGCTACTGGTAACCACCGCGATTGCCACCAGCCTGGATGCCATGGCT
+GTGGGTGTTGGTCTTGCTTTCCTGCAGGTCAACATTATCGCGACCGCATTGGCCATTGGTTGTGCAACCT
+TGATTATGTCGACATTAGGGATGATGGTTGGTCGCTTTATCGGCTCAATTATTGGGAAGAAAGCGGAAAT
+TCTCGGCGGGCTGGTACTGATCGGCATCGGCGTCCAGATCCTCTGGACGCACTTCCACGGTTAATAAGAA
+CGCTGCCAGAGGTGAATATTAAAGTCCGTCTGGCAGTCGAACACTTCTTTTGCTGCCAGTGTTTGCCAGA
+CTTCTGGCTTCGCACGCCAGGCAAACGGCGTCATCTGCAATAATGCGACGGCTTCATCACCGCGAAGACG
+CATCGGATAACACAACTCATCACTCTGCTGTAATGTAAAACCTTCCAGTTGTTCTGCATGAGGTGCATGA
+AGATGTACTTCATTGTAAATCAGCCCCTTCAGCTCCATTAAGTGTCTCGGTCCCGGCGTAGCAGTAATGA
+CCCAACCGCCGGGCTTCACTACTCGCACTAATTCTTCTGCTTTACACGGCGCGTAAATACGTATTATGGC
+GTCCATACTGGTATCGGAAAACGGCAAACGGTGGCTGGAAGCGACACAAAAAGTGACCTGCGGATAGCGT
+TTCGCCGCCGCTTTTATCGCTATCTTCGAGACATCCAGGCCAAACGTGGTGATTTCGGGCAACGCATCAG
+CAAATGCGTGTGTGTAATACCCTTCACCACAGCCAATATCCAGCACCGCCGCGGCCTTTTCATCAAGCCG
+TTCCCGCAGTTGGCCGACAATTGCATCACGCAGCGGCTGATAATGTCCGGCATCTAAGAATGCGCGGCGT
+GCTTGCATCATTTCCGCGCTGTCGCCCGGATCACGTGACCGTTTATGCTGAACGGGCAGCAGATTGACAT
+ACCCTTCTTTCGCCATATCAAACTGATGTCGCTGGGGACAGATATAGCTGTTTTTTTCACGCGAAAGAGG
+CTGATGGCAAAGTGGACAGGAAAACGACATGACAACTCCGGCAGGATACTAAAGGCCGCAAGTGTAACGC
+GAATCATGCGGCGGGCAAATATCCGAACGACTGGAGCGAAGATAAAACAAAGTAAAAAGCCTCGCATTCG
+ACGAGGCTTTATAGCGAGATTGAAGCGTATTCACACTTCAGATCAGTGGATTCGATCAGATAGCTGTTAC
+GTTAACAGCTGCCGGACCTTTCTGACCGTCCTGAATTTCGAACTCAACGTTCTGACCTTCAGCCAGAGTT
+TTGAAACCATTACCCTGGATAGCGGAGAAGTGTACGAACACATCTTTGCTGCCATCAGCCGGAGTAATGA
+AGCCAAAACCTTTAGACTCGTTGAACCACTTAACCTGACCTTTAATCTTTGCCATTTGAAAAATTCCTTA
+GATTGTTTTCTTCGCCCGCAGGCATAACATAGATAAAACTGACACATTACTGCATGAGGCACCAATATAA
+GGCTCGGCAGAGAAGCGGTATTCAACGTCAACGTGTTTACTCAGGACTTCTTTACTGAAAATGCCACACA
+TAAACAGAACTGTACCTCGTTTAACCCGAAATCTGTTATCACATACAACGTTAATTATGGCAAGCCATTT
+TTAAACATGTCTCGATCAGACGCACAAATCTCGATACGTCTTCCACTTTTTTTGCACACTTATGCAACGA
+AATACGCGCCAATATATCATTGTGCTTAACCTTGCCAGTTCAGGCAGATACTTAAACTGGCGTATTTTCT
+AACATAGTTCAATAAGTTCAGTTGTTCCAGGCCAGTGGGAGAAGTTATTACATAGTGCGTGCAATATCAC
+ATTTTTTGCTATGCAATGAATAAAAAGTTATATCACTTTTTCTCATAAAACAGTCAGTTAACGGCTATCA
+ATTACCCTAAAGAGAAGTCAGTCCCCAAAGGGATTGTAAATTTAAAATAAGAAAAATTGATGAATGAGCA
+AAAAAATCAAGAGAGAAACGTTTCGCTAATAAATAATACCACACTTAATCACAAATCCGATGTAAACATC
+CTAATAAATTAATGAGGGAAATATCTTTTTCTGATATCCCGTTACGCAAATTAATAATATGATAATTATT
+TGAAGTCAGACCAGAGTTTTAATTTGAAGCAGCTGCACCATGACAGTGCGTATAATCAGCATGAATTGAG
+TAACCCTTCAACGACGGGGTTACTCAAGATTGAGGAAGGATTATCGTTCGGCGACCAGACGAATAATATC
+TTCGTCTTCAACCGATTTTTGACTCTCAACGGTCTTTTTATCTGCTTTCTCAGGTTCGTTTGCTTCGCAC
+AAACGACGTAACAGTGCATTTTGACGTTTTTGCTGATCCAGCAACGCCTCAAGCAGTTCAATCTGTTCGT
+TAGTCCGTGAACTGGCACGATTGATAAAAAACCACAAGATGAGCCCGATAAGAAGAACCAGCACCGATAC
+AACCAAAGACGCAATGTTCATCACGCCTGAATTTACAACTTCGTTCATTTCACCACCTCTGAGTAGAGGC
+GCTATTCTACCACTGCTGGAGAGGAAGAAAATCTAGTGCTGAAAAAATGATATCATCACGGGATAAACTG
+GTTAATGGCACAAATTCCGCTGAAAAATTGTACATCCTGATCGCACATCATGTTGAATACCTGCGCCCAA
+AGCAGCAAGCAAGCCAACACCACGACAACCAGAGCGACCCATCGAAACTTTTTCACTCCAATCTCCGTTT
+CACCTACCTTATGTCATTAAACTAGCATGCGTTAGTTAAACAGCGCCTAACTATGTCGATATTCGTGCTT
+TTTCGGAATGAGTCGCTTGCTTCAGCGCATATTGCCGCTACGATTAAGCGAACATAAAAAGAGAAGAGGT
+TGTAATGCGATTCATCATTCGCACAGTTATGCTGATAGCGCTGGTATGGATAGGATTATTACTCAGCGGA
+TATGGCGTTTTGATTGGAAGCAAAGAGAATGCCGCGGGATTAGGTTTACAATGTACCTATCTGACCGCCA
+GAGGCACCAGCACGGTACAATACCTGCACACTAAAAGTGGTTTTCTGGGGATAACAGATTGCCCGTTGTT
+ACGTAAAAGCAATATTGTGGTCGATAATGGTTAAGGATAATAAATAACCAGATTCTCACTCATGAGTAAA
+ATATTCTTATCGCAAGTGCGTTTAATATAACGCCACCTTCAACTTTATTTTTCTCATGCTAAATAAAGAA
+CCTGTCTGTTTGATATTCAGACAGGTTCTTACTTTCCTCAGAACGGATAGTCGTGATAACCCATTTGGGC
+AGAAATTTTGCGCGCCGCGGTATGCAACATTGCGACATATTCCTGTAAACGCTCTTCAGAGAAACGCAAC
+GTCGGGAAGGAGATGCTCAGACCGGCAATGACCACGCCAAAGCGATCAAATACCGGAACCGCAATGCAAC
+GCAGTCCTTCTTCCTGCTCTTCATTATCTTCGCCATACCCCTGCTCGCGCACCTGGTCCAGAACGGGTAA
+TAACGCTTCTGTACTGGTGATGGTCCGCTCGGTACTGCGTTTATACTCCACGCCCTCAAGAATTTGCATC
+ACTTCATCGCGATCGCGCCATGCCAGCAGTACCTTACCAATCGCGGTGCTGTACAGCGGATTACGACGCC
+CAATCCGTGAATACATGCGCAAATTGTACATTGAGTCAATTTTGTGGATGTAAACAATACTATCTTCGTC
+CAGTGCGCCGAGGTGGATAGTTTCTTTGGTCAGGCGGGAGATCTCACGCATCTGGATATCTGCGCTACGA
+ATTAAATCGACGTTTTGCAACGCGCGAGCGCCCAGTTCAAACAATTTCAGGGTCAGCGAATATTTCTCCG
+ACTCCCCTTCCTGCGCCACATAACCTAAGGTTTTCATGGTCTGTAAAAAGCGATAAACGGTGCTTTTTGA
+CATCATAACGCGCTGCGACAACTCGGTTATCCCTATTTCGCGCTCTTCACCCAGCGCCTGCAAAATGCCA
+AAAACTTTTAGCACGGAAGATACAGAATCAGGCTGTTTATCCAGATCTGCGTTAGCCATTTATCACCTCA
+TTGCGAGTGTTTTATAACAATCAGAACTGTTTTTTATTATAATTTCGCACCAGGGTGGTCGCAATCCATC
+TTTTGCCGGTTAGTTACAATTCTGCGACATCCACCGTGAATATCAGTGCTAGAATCATACCCCTGTTGAT
+TATTCACCAAAGATATAAAATTCCTATGCCAAAAGTTCAGGCCGACGGCCTGCCATTGCCCCAGCGATAC
+GGTGCGATATTAACCATTGTGATTGGTATTTCGATGGCTGTCCTTGACGGCGCAATCGCCAACGTCGCCT
+TGCCAACAATCGCTACGGACCTTCATGCCACGCCGGCCAGTTCCATCTGGGTAGTGAACGCCTATCAAAT
+CGCCATTGTCATCTCCCTGCTCTCGTTTTCGTTTCTGGGCGATATGTTTGGCTATCGACGTATTTATAAA
+TGCGGTCTGGTCGTTTTTCTGTTGTCTTCACTGTTCTGCGCCCTTTCTGATTCGCTGCAAATGCTCACCC
+TTGCGCGTGTCATACAAGGTTTCGGCGGTGCAGCGTTGATGAGCGTTAATACCGCACTTATCCGCCTGAT
+CTATCCACAACGTTTTCTGGGTAGAGGGATGGGCATAAACTCGTTTATTGTTGCCGTCTCTTCTGCTGCC
+GGGCCGACAATTGCTGCAGCAATCCTCTCCATCGCATCCTGGAAATGGTTATTTTTAATCAACGTACCGT
+TGGGTATTATCGCCCTGCTTCTGGCGATGCGTTTTCTGCCACCCAATGGTTCTCGCGCCAGTAAACCCCG
+TTTCGACCTGCCCAGCGCCGTGATGAACGCGTTAACCTTCGGCCTGCTTATTACTGCATTGAGTGGTTTC
+GCTCAGGGGCAATCGCTGACATTGATTGGTGCGGAACTGGTGGTAATGGTTGTCGTTGGTATTTTCTTTA
+TTCGCCGCCAGCTTTCTCTTCCCGTACCGCTGCTACCGGTGGATTTACTGCGTATCCCGCTGTTTTCACT
+TTCTATTTGCACATCTGTTTGCTCTTTCTGCGCACAAATGCTGGCAATGGTTTCCCTGCCCTTTTACCTG
+CAAACCGTGCTCGGGCGTAGTGAAGTCGAAACAGGTTTACTTCTGACACCGTGGCCGTTAGCAACGATGG
+TGATGGCTCCACTGGCAGGCTATTTGATTGAACGCGTACATGCAGGATTGCTGGGTGCTTTAGGGTTATT
+CATCATGGCTGCGGGGCTTTTTTCCCTGGTTCTGCTGCCCGCGTCACCTGCGGATATCAATATTATCTGG
+CCGATGATCTTATGTGGTGCTGGATTTGGCTTGTTCCAGTCACCCAATAACCACACCATTATTACCTCCG
+CTCCTCGCGAACGTAGCGGTGGAGCCAGTGGCATGTTAGGGACAGCTCGTCTTCTGGGTCAGAGTAGCGG
+TGCGGCTCTGGTAGCGCTGATGCTAAATCAGTTTGGTGATAATGGTACGCACGTCTCGCTGATAGCTGCG
+GCTATTCTGGCAGTGATTGCTGCCTGTGTCAGTGGTTTACGTATCACTCAGCCACGATCCAGGGCATAAA
+AAAAGCGCGTCGATCAGGACGCGCTTTTTAGTATTTACTTCATATTACTTCAGGTATTCACCCGTACGCA
+GAGCTTCAATACGTTTATCCAGTGGCGGGTGAGTCATGAACAACTCACTGAGCGATTTCGACTTCCCGTT
+AATGCAGAAAGCCATCATGCTGGTTGCTTCTTGCGGTTCATAGCTGGTTTTCAGGCGCTGCAATGCAGCA
+ATCATTTTCTCGCGACCAACCAGTTTTGCTGAACCCGCATCGGCGTGGAATTCACGATGACGCGAGAACC
+ACATGGTGATAATGCTCGCCAGAATACCAAACACCAGTTCCAGAACCGTTGCAACCGCAAAGTAGATCAG
+CGGGTTGCCGTTGCTCTCTTCACCTTCATCACGATTTCCGCCCATAAAACCCGCGGCAAGTTGCGCCAGA
+ATACGGGAAATAAAGATAACGAAGGTGTTCACCACGCCCTGAATCAGCGTCATGGTGACCATATCACCAT
+TGGCGATGTGGCTGATTTCGTGAGCAATTACCGCCTCGGCTTCATCCGGGCTCATGTTCTGCAGCAAACC
+GGTGCTGACAGCAACCAGAGAGGCATCACGGCGCGCACCAGTTGCAAAAGCATTGATGTCCGGCGCATGG
+TAGATAGCCACTTGCGGCATAGCGATCCCCGCCTGACGAGCCTGGGTTGCTACCGTATTGACCAGCCAAC
+GTTCCCTTTCGTTACGCGGTTGCTCGATCACTTCCCCGCCAACAGATCGTAATGCCATCCATTTGGACAT
+CAGAAGCGAAACGAAAGAACCACCAAAACCGAACAGCAAGGCCATGATCATCAGCCCCTGAACGCTGCTC
+GACTGTATCCCTGTCAGGCTCAGTACCAGCCCGAAAACGACCATTACGGCCAGGTTCGTTAGCAGGAAGA
+GCGCGATTCGCATCATAATTTTCTTTTTACCTCAGTTTAACAAAACGCAATATGCGATACCCACATCGTA
+TGGGTTACGCGACTATTTTCAAGTCTGGATAGTGCGTAAGTCACCAGAAAGACACAACTTTACATTTTGT
+AGCATCTGATTTACGGCATCTTGCCGCTGTTAAAAAATCAGGCACAATTTCTTGTGCCTGATTGATATTA
+CTTGACGGGAGCGGGTTGTTCCGCGGGTCTGGCTTTTTCAAGCTTCGCCAGATCGAGTGCGATATTCACC
+GTCTCATCCAGATAAGGATCTGGCTCCTGGTAATCTTTCGGTAGATCATCCAGTTTCTTCAACTCCGGTT
+TACCTTCGCGTTTAAAGCGTTCGTTCAAACGCGCCAGACGCGTCGCATCATCTTCATTATTCTCTTTCTC
+ACGCACAGCGTAATTCAGAGAAACGATATTGCGCTTGTCCTTCATAGCGTTGAAGCGCGCGATATCCTTC
+ATGATGTTCTGGAACTCAGGATCTTTCGCGATACGCGCATTATGTTCCTTCAGCAGCTCCGGTTCAAAGG
+CCGTTAAATCTCCTGATTTCACATAAGTCGCGGCATCAATGCTATCCCACGGCAGCGCGTTATCTTCGAA
+TTTCTCACCCGTTTCCGTTTCTTCATTACCCGTCGGCATGATGATGTCTGGCGTTACGCCTTTACGTTGC
+GTACTGCCGCCGTTAACGCGATAGAATTTCTGGATCGTGTACTGCACAGAACCCAGCGCTGGCCATTCAG
+GACGTAACATCTGATCGTAAATACGGTTCAATGAACGGTACTGCTGAACGGTGCCTTTACCAAATGTCGG
+TTCACCCACAACCAGGGCACGACCGTAATCCTGCATTGCCGCGGCAAAGATTTCTGAAGCCGAAGCACTG
+AAGCGGTCAACCAGCACCACCAGCGGGCCTTTATAGAAGACCTGTCCGTCGGTGTCGCTGTCTTCACGAA
+CCTTGCCGTTGTTATCGCGGACCTGAACAATCGGGCCGGATGGAATGAACAGACCGGAGAGCGATACGGC
+TTCAGTCAACGCCCCACCACCATTGCTACGCAGGTCGATAATCACACTGCTGACATTCTGTTTTTCCAGT
+TTCTGCAGTTGCACTTTGACATCGTCTGTCAAACCTACATAGAAGCCCGGAATATCCAGCACGCCGACTT
+TCTCTTTACCGACGGTCTTCACCGACATTTTAACCGCGCGGTCTTCGAGACGAATACGTTCACGGGTCAA
+CGTTACAGTACGCGTCTTGGTCCCTTTACCAGCAGGTAAAATTTCCAGACGAACTTTACTGCCCTTAGGC
+CCTTTAATTAAGGCCACCACATCATCAAGACGCCAGCCAATCACGTCAACCATCGGTTTGCCTGTTTGAC
+CAACACCGACAATTTTGTCACCAACGCTGATAGCTTTGCTCTTCGCTGCCGGACCTCCTGCCACCATCGA
+ATTGATAACGGTGTAGTCATCATCCATTTGCAGCACTGCGCCAATACCTTCCAGCGACAAACTCATTTCA
+GTGTTGAACTGTTCGGTATTACGCGGGGAAAGATAGTTGGTATGCGGGTCGATTTCACGCGCAAACGCCG
+TCATTGCCAGCGAGAAAACATCTTCGCTGTTGGTTTGCGCCAGACGACGAATGGCAAATTTGTAGCGGCG
+AGTCAGGGTTTCACGAATTTCCTTATCCGTTTTTCCTGTCAGCTTCAGGCTTAACTCGTCGAATTTGACT
+TTACTGTCCCACAGCGCGTTCAACTCAGCCTCGTTTTTCGGCCAGGGCGCTTTGCTGCGGTCAAGGTTAT
+AAGTGTCGTTGCCGGTGAAATCCATCGGCTTTTCCAGTACCGACAAAGCGTACTGGTAACGTTCAAAACG
+GCGCTTTTGCGCCAGATTGTAGAGATCGTAGAAAACGTCGAGTTTACCTGAACGCAGTTCATCGCCTAAC
+TCAGTTTTCTTTTTCGCGAACTGTTCAACATCGCTTGCCAGCAGCACATTGTGGCTGTAATCGAGCAGAT
+TCAGGTAGCGGTCAAAGATTTTGGCCGAAAATGCCTGATCGAGGTCGAACTGGCGATAATGAGAACGGGT
+GAAGCGCGACGTTACGCGCTCACTCACCGTCGCATGCTGCGTCTCTTCCTTTAATACCGGAATTTGATCA
+GCACGCGTGATATCTTCTACAGCGAAGGTCTGGCCTGCTATTGCAAGCAGGCCAGCTAACGCGGTAAGCC
+TAAAAAACATGTTCATGCCTGGCCCGGCCTCCGTTTCAGAACACTAGGTGTTCTGCGCGCACAATCAAAG
+ACATACCCGAATTCAGCTGGACGCGGACGCCGTCTTTGGTGATTTCTAATACGGTGGCATCCATCGCGTT
+TTGACCCGCTTTCACCTTCAGGGCTTGTCCGACAGTCAGAGCTGAAATGTCAGAAACCGGGGTGTGCTGT
+TCTTCGCGAGGTGCTTTTACTGTTTTTGGCGCTTTCTCTACCGGCTTTTGCGAACGAGGTTTACGTTCAG
+CGCCTTCTTTGCGGCGTGGCGTGGTCGGACGTGGCTTGCGTTCGCGGCGCGGTGCGTCTTCTTTCTCACC
+AGCAGCTGCGGCAGCTTCGCGTTTTTTCGCTTGCTGTTCAGCACGCTGTGCCTGAACACGCGCTTTCGCT
+TCTTCAAGCTGCTTGCGAGCATGCTCGACATGTTGCTCGTCCAGCTCACCGCATGGGTTGCCGTCAAGAT
+CGACACGTGTTGCGCCGGGTTTAACACCGTAAAGATAACGCCAGCTCGAAGTGTAGAGACGTAAAGCGGA
+TCGCAATTGCGTTTTGCTCAGGTTCATTTCCCCGGCAACACGATCGACCAAATCCTGAAAAATACCGATT
+TTCAGCGGACGCGCTTCACCTTCCGCACTGAAACAGTGGGGAAAACGTTCGGCCAGAAACGCGATTACTT
+CTTTACTGCTATTCAACTTAGGTTGATTTTCCATGAAATTTCCTGATTACAACGGACGTAGCCAACAAGC
+GCAGGCATGAACAGGCGTCATTATAATGACGCTATCAGTAAATGCTACGTTATCCGTTGATTATCCTGCG
+ACGCTCGCAAAGAATTTTTTGTAATCCGTCGTTGCAAGCACTTTTTCAAGCTGTGCCACAAGCTGACGTA
+AGCCTTGCTCATCCTCGTCTGTAAAGCGACCGAAGACGGTACTATCGATGTCGAGAACACCAATAATCTG
+ATTTTTCACCACCAGTGGCAGAACAATTTCAGAATTACTCGCCGCATCACAGGCAATATGCCCGTCAAAC
+GCGTGAACATCCTCGATACGCTGCACTTGATTGCGGGCAACCGCAGTGCCGCATACGCCGCGCCCAACGG
+GTATCCGGACACAGGCAATTTTGCCCTGAAATGGTCCGAGCACCAGTGTATCGTCCTCAAGCAAATAAAA
+ACCTGCCCAGTTTACGTCAGTGAGACGCTCATATAACAACGCACTGGTGTTCGCAAGCGTTGCCAGAAAA
+CTGGTTTCTCCCGCCATCAGCGCGTTAAAGTCGCGATTTAAATCCGCGTAAAATTCTGCTTTGTTCATTA
+TATAATCACTTGGTTGTCTTACCTGGAACTGCCAGCCTATTAAAATAAGCATTAAATGCGTTAATGCTCA
+AGATCATTCCCATCATGGGTTAAGATTAATGTTAATTCTTATTACATTTGGCACGTCATGGCTCTTAACA
+CACCACAAATTACGCCGACAAAGAAGATAACAGTGAGGGCTATCGGCGAGGAACTGCCGCGTGGTGATTA
+CCAACGTTGCCCGCAATGTGACATGCTGTTTAGCCTGCCCGAGATAAATTCTCATCAAAGTGCCTATTGT
+CCGCGCTGTCAGGCAAAAATTCGTGACGGGCGCGACTGGTCGCTAACGCGCCTGGCGGCAATGGCCTTCA
+CCATGCTGTTGCTTATGCCGTTTGCCTGGGGCGAACCGCTCTTGCATATCTGGCTGTTAGGCATTCGTAT
+TGACGCCAACGTTATGCAAGGCATCTGGCAAATGACCAAACAGGGCGATGCGATAACGGGGTCGATGGTC
+TTTTTCTGCGTTATCGGTGCCCCCCTCATTCTGGTGACCTCCATAGCTTATTTATGGTTTGGTAACCGAT
+TGGGAATGAATTTACGCCCGGTACTGCTGATGCTTGAGCGGCTGAAAGAGTGGGTGATGTTGGATATCTA
+CCTGGTCGGCATTGGCGTTGCTTCTATAAAGGTACAGGATTATGCCCATATCCAGGCGGGGGTCGGCTTG
+TTCTCTTTTGTGGCGTTGGTGATTTTAACGACGGTGACATTGTCACATCTTAATGTCGAAGAACTGTGGG
+AGCGATTTTATCCGCAGCGCCCCGCTACGCGTAGGGACGAGAAACTCCGTGTCTGTCTTGGGTGCCATTT
+TACCGGCTATCCTGATCAGCGTGGTCGCTGCCCGCGTTGCCATATCCCGCTACGCCTGCGTCGCCGTCAT
+AGTCTGCAAAAATGCTGGGCGGCGCTGTTAGCGTCAATCGTTTTGTTGTTACCTGCCAACCTGTTGCCTA
+TCTCTATCATTTATCTGAATGGTGGTCGGCAGGAAGATACGATTCTTTCCGGAATTATGTCGCTGGCAAG
+TAGCAACATTGCCGTTGCGGGAATCGTGTTTATCGCCAGTATTCTGGTACCGTTTACTAAAGTGATTGTT
+ATGTTCACTTTACTGTTGAGTATTCATTTTAAATGCCAGCAAGGTTTACGCACACGCATTCTGTTACTGC
+GGATGGTGACCTGGATTGGTCGCTGGTCGATGCTCGACCTGTTTGTCATATCTTTAACCATGTCGCTGAT
+TAATCGCGATCAGATCCTCGCTTTTACTATGGGACCGGCTGCGTTTTATTTCGGCGCAGCGGTAATTTTG
+ACTATTCTTGCTGTGGAATGGCTGGACAGCCGCTTACTTTGGGATGCACATGAGTCAGGAAACGCCCGCT
+TCGACGACTGAAGCACAGATTAAAAATAAACGCCGTATCTCACCTTTCTGGCTGCTGCCGTTCATCGCGC
+TAATGATTGCTGGTTGGCTGATTTGGGACAGTTATCAGGACCGGGGCAATACTGTCACCATCGACTTTAT
+GTCGGCGGATGGTATTGTTCCAGGCCGTACGCCTGTTCGTTATCAGGGCGTTGAAGTTGGAACAGTGCAG
+GATATCAGCCTCAGCGACGATCTTCGTAAGATTGAAGTCAAGGTCAGCATCAAGTCCGATATGAAAGATG
+CGCTGCGCGAAGAGACACAGTTCTGGTTGGTGACGCCAAAGGCCTCGTTGGCAGGTGTCTCCGGGCTGGA
+CGCCCTCGTCGGTGGTAATTATATCGGCATGATGCCGGGTAAAGGTAAAGAGCAGGATCACTTTGTCGCA
+CTCGACACCCAACCGAAATATCGGCTGGACAATGGCGATCTGATGATCCACCTGCAAGCCCCCGATCTCG
+GTTCACTGAGCAGTGGTTCATTGGTCTATTTCCGCAAGATCCCGGTGGGTAAAGTCTACGACTATGCCAT
+CAATCCCAACAAGCAAGGCGTGGTGATTGATGTCCTGATCGAGCGGCGTTTTACCGATCTGGTGAAAAAA
+GGTAGCCGTTTCTGGAACGTTTCCGGCGTTGATGCCAACGTCAGTATCAGTGGCGCGAAGGTGAAACTGG
+AAAGTCTGGCGGCACTGGTTAACGGTGCGATTGCCTTCGATTCACCTGAAGAGTCGAAACCTGCCGAAGC
+GGAAGATACCTTTGGTCTGTATGAAGACCTGGCCCATAGCCAACGTGGCGTAATAATAAAACTGGAACTG
+CCAGGCGGTGCCGGATTAACCGCCGACTCGACGCCGTTAATGTATCAGGGGCTGGAAGTCGGACAGCTGA
+CTAAACTGGATTTAAATCCTGGTGGTAAAGTCACTGGGGAAATGACCGTTGATCCCAGCGTCGTCACCCT
+GCTTCGTGAAAATACCCGCATCGAATTACGTAATCCGAAATTATCCCTTAGCGATGCTAATCTCAGTGCC
+CTGCTGACCGGCAAAACCTTCGAACTGGTGCCCGGCGATGGCGAGCCACGTAAAGAGTTTGTTGTTGTGC
+CAGGCGAAAAAGCCCTGCTGCAAGAGCCGGATGTTCTGACACTGACCCTGACAGCACCAGAAAGTTACGG
+TATTGATGCTGGTCAGCCGCTCATTCTTCACGGCGTGCAGGTAGGCCAGGTTATCGATCGTAAACTCACC
+AGCAAAGGCGTCACCTTTACCGTCGCCATCGAGCCTCAGCATCGCGAACTGGTAAAAGGCGATAGCAAAT
+TTGTCGTCAACAGCCGCGTCGACGTGAAGGTAGGGCTGGATGGCGTTGAGTTTCTCGGTGCCAGCGCCTC
+AGAATGGATCAATGGCGGAATACGTATTCTGCCGGGCGATAAAGGCGAGATGAAAGCCAGCTATCCACTG
+TATGCCAATCTGGAAAAAGCGCTGGAGAACAGCCTTAGCGATTTACCCACCACTACCGTGAGTTTGAGTG
+CAGAGACGCTGCCGGATGTGCAGGCAGGATCGGTAGTGCTGTACCGTAAATTTGAAGTTGGTGAAGTTAT
+TACTGTGCGTCCGCGAGCTAACGCGTTTGATATCGATCTGCATATTAAGCCGGAGTATCGCAACCTTCTG
+ACCAGCAACAGCGTGTTCTGGGCAGAAGGTGGGGCGAAAGTTCAGCTGAATGGTAGTGGTCTGACTGTAC
+AGGCATCCCCGCTCTCCAGAGCATTAAAGGGGGCTATTAGCTTCGATAACCTCAGCGGTGCCAGCGCCAG
+TCAGCGTAAAGGCGACAAGCGTATTCTGTATGCTTCCGAAACAGCGGCCCGTGCGGTTGGCGGACAAATT
+ACGCTTCACGCTTTCGATGCGGGAAAACTGGCGGTCGGGATGCCAATTCGCTATCTCGGTATTGATATCG
+GGCAAATCCAGACGCTGGATCTGATTACCGCACGCAATGAAGTACAGGCAAAGGCGGTGCTCTATCCGGA
+ATATGTCCAGACCTTTGCTCGCGGTGGTACGCGCTTCTCAGTGGTCACACCGCAAATTTCGGCAGCTGGC
+GTTGAGCATCTTGATACTATCCTCCAGCCGTATATCAACGTCGAACCAGGCCGGGGCAATCCTCGCCGCG
+ACTTTGAATTACAAGAGGCCACCATTACTGATTCGCGTTACCTGGATGGCTTAAGCATTATTGTTGAAGC
+GCCGGAAGCCGGTTCGTTAGGCATCGGTACGCCTGTGCTGTTCCGTGGTCTGGAAGTCGGTACGGTTACC
+GGAATGACGCTGGGGACATTGTCAGATCGCGTGATGATTGCGATGCGCATCAGTAAACGCTATCAACACC
+TGGTGCGTAACAATTCCGTCTTCTGGTTGGCATCGGGTTATAGTCTGGACTTTGGTCTGACGGGCGGCGT
+AGTGAAAACCGGCACCTTTAACCAGTTTATCCGTGGCGGCATCGCTTTCGCCACGCCTCCGGGTACGCCA
+CTAGCACCGAAAGCCCAGGAAGGCAAGCACTTCCTGTTGCAGGAAAGTGAACCGAAAGAGTGGCGTGAAT
+GGGGAACTGCGCTGCCCAAATAATGCCCACGGCTCCGGCGTGCCTGCGCCGGAGCGTTTATGCTAAACTG
+CGCGCCTGTTTTTTTGCCAGTGGTACATGCTCGTGGCCCAACACACCGTTTATTTCCCGGACGCCTTTCT
+GACACAAATGCGCGAAGCAATGCCTTCGACGCTCTCATTTGATGATTTTCTTGCCGCCTGTCAGCGCCCG
+TTGCGCCGCAGTATTCGCGTTAATACGCTGAAAATCTCCGTTGCTGATTTCCTGCAATTAACTGCTCCTT
+ATGGCTGGACGCTTACGCCAATTCCGTGGTGTGAAGAAGGTTTCTGGATTGAACGCTACAATGAAGATGC
+ATTGCCTTTGGGTAGTACCGCCGAGCATTTAAGCGGCCTGTTTTATATTCAGGAAGCCAGTTCAATGTTG
+CCCGTCGCCGCCTTGTTTGCTAACGGTAATGCACCACAGCGGGTGATGGATGTCGCTGCCGCGCCCGGCT
+CCAAAACGACGCAAATTGCCGCGCGGATGAATAACGAAGGGGCGATCCTTGCCAATGAGTTTTCCGCCAG
+TCGGGTAAAAGTGTTACATGCCAATATCAGCCGCTGTGGCATCAGTAATGTTGCGCTCACGCATTTTGAT
+GGCCGCGTATTTGGTGCGGCAGTGCCAGAAATGTTCGATGCCATTTTGCTGGACGCTCCCTGCTCCGGCG
+AAGGCGTGGTGCGTAAAGATCCCGATGCGCTAAAAAACTGGTCACCAGAAAGCAATCAGGAAATCGCAGC
+GACCCAACGGGAACTGATCGACAGCGCCTTTCATGCATTACGTCCTGGCGGTACGCTGGTTTACTCGACC
+TGTACCTTAAACCGGGAAGAAAACGAAGCCGTTTGCCTGTGGCTGAAAGAGACTTATCCCGACGCAGTAG
+AGTTTTTACCGCTTGGCGATCTCTTCCCTGGTGCAAACAAGGCGCTGACCGAGGAAGGCTTTTTGCATGT
+TTTCCCACAAATTTACGACTGCGAAGGCTTCTTCGTTGCTCGTCTGCGTAAAACTCAGGCGATTCCCGCC
+TTACCCACCCCAAAATACAAAGTGGGCAATTTCCCGTTCAGCCCGGTGAAAGATCGCGAAGCCGGTCAAA
+TTCGTCAGGCGGCTGCAAGTGTTGGCTTAAACTGGGATGAAAACCTGCGACTCTGGCAGCGTGACAAAGA
+ACTGTGGTTGTTCCCGGTAGGCATTGAAGCCCTGATCGGTAAAGTCCGATTTTCTCGCCTGGGGATTAAA
+CTTGCCGAAACGCACAACAAAGGTTATCGCTGGCAGCATGAAGCCGTTATTGCCCTTGCCTCCCCCGACA
+ATGTGAACGCTTTTGAACTGACACCGCAGGAAGCGGAGGAGTGGTATCGCGGGCGCGATGTATACCCGCA
+TGCCGCGCCAGTGGCGGATGATGTATTGGTTACTTTCCAGCATCAGCCGATTGGTTTAGCCAAACGGATT
+GGTTCACGACTGAAAAACAGCTACCCGCGTGAACTGGTGCGCGACGGGAAACTTTTTACCGGTAACGCCT
+GACAGCGCACAAAAAAAGCGCACTTTTTGACTGACACATTCGGCTGCCTCAACTAGGCTGAAAAATGGTG
+CGATCGGACTGGTCGTACCACAATCGGCAGCTAAATGGAGAGCACGAAGATGAAAACCAGTGTGCGCATA
+GGCGCTTTTGAAATCGACGACGGCGAATTACACGGCGAATCGCCGGGTGATCGAACGTTAACCATTCCTT
+GTAAATCAGACCCCGATTTATGTATGCAACTGGATGCCTGGGATGCTGAAACCAGTATCCCTGCCCTGCT
+AAATGGCGAACACTCTGTCCTTTACCGTACCCGTTACGATCAACAATCTGATGCCTGGATTATGCGTCTT
+GCCTGATCCAAAAAGAACCCGTCGGCATGGCGGGTTATTTGTCCTGGTTATTCCCCCGTTGTAAAATCTC
+TCCTAAACTTAACGGTACGGCACCACACTTCGGGGATGAAATGTTCGCGCTGGTACTTTTTGTTTGCTAC
+CTGGATGGCGGTTGTGAAGATATTGTTGTGGATGTCTACAACACGGAACAGCAGTGTCTTTATTCTATGA
+GCGATCAACGGATCCGCCATGGCGGTTGTTTTCCGATTGAGGATTTTATAGATGGTTTCTGGCGACCTGC
+ACAGGAATACGGTGATTTTTAATTATTGCAATTGCACAAGAGTCAGTTCTCCCCCAAAGACAGCACCGGT
+ATCAATATAATGCAGGTTGCCAATATCCACGCGATGGCGCAAAGGTGTATGACCAAACCAGAAATGATCA
+GCACCTGCAATTCCCTGCCCTTTTTGGCGTTCACCTAATCGCGAGCGGCTCCACAAGACCTGATGCAAAT
+CGACGTCCTTTTGCCATTCATAGACATCATCTGGATAATCGGCATGAGCAATAACATGTTTGCCGGTGCG
+ACTGTGTAATTCAAGAATAAAGGGCAAATGCTGACATTTTTCCAGCGCCGTTTTCGCTTGTTTCTGTTGA
+TTATCTGCCAGCGCAATAAACCAGTCGCCGCCATTTATCAACCATAAAGACATCTGCCGGGATGCCAGCG
+CATCCATCGCCATCTGTTCATGATTGCCTCTTACCGCACGAACCCAATGTTGTTCCAGTAACTGCAGGCA
+ACGTAAACTTTGCGGCCCACGATCGATAACGTCTCCCACTGAGATAAGTAAATCTCGCCACGGATCAAAA
+CGACAATGCCATAATTTGCGGCGCAACTGCTCAAGACAACCGTGTATATCGCCTGAAAGCCAGATATGTC
+GCCATTGATGACCCGCAATTCTCTGATAAACGGGCGCAGGCTGTTTCATCAATATTTTCCTCCCGCGCTA
+AAGATCACATAATCTTAACAAGAATGTTAAAAAACGCTGGACTCAGACAGTAGAGTGTGTGTTATGGTTG
+ACTATAAAGTCAGCGAAGGGAATGCTTCTGGCTTTTAACAGATAAAAAGAGACCGAACACGATTCCTGTA
+TTCGGTCCAGGGAAATGGCTCTTGGGAGAGAGCCGTGCGCTAAAAGTTGGCATTAATGCAGGCTTAGTTG
+CCTTGCTCTTTAAGAATAGATGACGACGCCAGGTTTTCCAGTTTGCGTGCAAAATGGTCAATAAAAAGCG
+TGGTGGTCATCAGCTTAAATGTTAAAAACCGCCCGTTCTGGTGAAAGAACTGAGGCGGTTTTTTATTGGA
+AATCAAAAGGCTATTTTAGGTAATTAACAGAGTTTTTCAGCTCGCTCTATAAACGGTGCCAGACTCATTT
+TTTCGCCGGGATTGTTAGGATCATCAATCTGAATCACCGAAATGGGTTGGGCTTTAGTCTTCCCACTGGC
+AACTTCCTTTTGTGCGATATCGTTTAAAGGATACTGCACGAGGGTACTTGGGTTAATGACATACAAAGCA
+TTACCCGGTCGGCAAGTCAGCATCACCTCTTCGCGATTAAACGCCCATTTGTCTTTACCCACTTCAAAAC
+GGCTGACGGTAATCACCTGCGGTGCCGCCAGCGCAGCTGCAGAACTGGTGAGTAACAGAAACGCCAGAAT
+ACTTTTTCTCATCATTTTCGTAATCCATCAAAAAGGTTCGAGAGTCGCAAGCAGGCTGATGATCACCAGC
+ACTACCGCACCTATCGCCCATTCGAGTTTAGTCATCCAGACAAACCAGGGAGCCGCACGATCTTCATCCT
+GCCTCATGCGCGGTACAAGAACATAACGATTAGCCAGCGCGATGACCACCATAATCATCACCAGGATGGC
+TTTGAGCAATAAGAGTTGGCCCCAGTAAGTCGTAAGCGTGGGGGGAAATCCGGTAATCAACAATGCATTA
+AGCACGCCGCTTGCCAGTACGCCGATCACCGCAAAATGCCCGCACCAGGAAAAACGCATCAGCGCCTGAA
+TAGCCTGGTGTCGCCAACGGCCTTTGATGAGTTGCATACACCAGAGCACCGGCAGTAATCCCCCAAACCA
+CGCCGCCGCACAGATCAGGTGAATTGCGTGATTAGTCTGATGGATTTTCGCCGTTACCCCTTCATTCAAC
+GTCGCATGCCCGACTCCCGCCAGCAGAATAAATTGCGCGGTAGTGAGCATAAACAGCAAACGTGGCATAT
+TCCGCGGTTGCATAAGGGCGACGATCAACGTTACGAGGGCGAGAACAATTTGCCATAACCAGACGCCACC
+AAACTGCGTTTGCAAAACAGCCAACCAAATGTTTGGCGAAAATACATCTGACCATCCCGCTCCCATCAAC
+CCGCCCTGAACGGCGAGCATTGCAGTGGCACTGATCAAACTCCAGACGGCAGCGTGCTGTTGTAAACGCA
+GAAAACGCTTCGTCAGCAAGCGACGAATCGTTAAGGGGGCCAGCCAGGCACCGTACATTGCGAAGCCAAA
+AACCAGCATCAGCGAGGTGAAATGGATAAATCGCAGCGCGATCCAGGTAAACGCCAGCATGATTTATTTC
+ACACTAAAGGTGTAATGTCCTTTCGTTTTATGCCCATCCACCGAAACAACATGCCAGTCAACGGTGTAGG
+TTCCGGGTTTCAGCGAATCGGCCAGTGGAACAATCAGTTGCTTTTGGTCCTGCTCATTCCGCTTCGCCGG
+TAATGTTTTAATATTTTCGTTTTTTGGCCCCGTGATTTTTGCACCACTGAATCCTGTTTCAACGCCTTCC
+GAGAAGTTTAAAGTGATTGCCTGCGGAGCTGCTGTCACTTGTGCATTTGCCGCAGGATACTGATGCGTTA
+AATGCGCATGTGCCCAGACGGAAGGTGTCACCAACGAAGTGGTCAGGATTGCCAGCGCGTAGCGAAGGGA
+GCGTGCAGTTGAAGCCATATTATCTATTCCTTTTTGTAATAACTTTTTTACAGAGCATAACCTTGTCTAA
+TGTCTGAGTCGAGGATCATCAATTCCGGCTTGCCATCAAGGCTCACTCTTAGTAACTTTTGCCCGCGAAT
+GATGAGGAGATTAAGAATGCTGAAGAATCTGGCTAAACTAGATCAAACAGAAATGGATAAAGTGAATGTC
+GATTTGGCGGCGGCAGGGGTGGCATTTAAAGAACGCTACAATATGCCAGTGATCGCTGAAGCGGTTGAAC
+GTGAACAGCCTGAACATTTGCGCAGCTGGTTTCGCGAGCGGCTTATCGCCCACCGTTTGGCTTCGGTCAA
+TCTGTCACGTTTACCTTACGAGCCCAAACTTAAATAAAACTTATACATAGTTACACTTTCTTACATAACG
+CCTGCTAAATTATGAGTATTTTCTAAACCGCCCCCCATAATTTGCAGTCATTTTGAAAAGGAAGTCATTA
+TGTCGTTCTGGAAAGTTGCAGCAGCGCAATATGAGCCTCGTAAAACCTCACTCACCGAACAGGTAGCTCA
+TCATCTGGAGTTTGTGAGGGCCGCCGCCAGGCAACAATGTCAGCTGTTAGTTTTTCCATCGCTTTCTTTA
+CTGGGGTGTGATTATTCGCGACGTGCCCTTCCTGCCCCACCCGATCTCTCGCTATTAGACCCGCTTTGTT
+ATGCCGCAACGACCTTGCGAATGACCATCATTGCCGGCCTTCCCGTTGAATATAACGATCGCTTTATTCG
+TGGAATTGCGGTGTTCGCACCGTGGCGAAAAACGCCAGGGATCTACCATCAGAGTTATGGTGCATGTCTG
+GGCCGTCGTTCCAGAACCATCACGGTGGTCGATGAACAACCGCAAGGTATGGATATGGACCCGACCTGTT
+CACTGTTTACGACAGGGCAATGTCTGGGAGAACCCGACCTGCTGGCGTCGGCCCGTCGCTTACAATTTTT
+TTCACATCAGTACTCGATTGCTGTGCTGATGGCAAATGCCCGTGGTAACAGTGCACTATGGGATGAACAT
+GGTCGTCTCATCGTTCGCGCCGATCGTGGTTCATTATTGTTAGTCGGTCAGCGTTCATCACAGGGTTGGC
+AAGGCGATATCATTCCATTACGCTAGGCTTTTTCGGCCTGGAGCATGCCATGTTGCGCATTATCGATACA
+GAAACCTGCGGTTTGCAGGGAGGGATCGTTGAGATTGCCTCTGTTGATGTCATTGACGGAAAAATCGTCA
+ATCCCATGAGCCACCTGGTGCGTCCCGATCGTCCTATTAGTCCACAGGCGATGGCGATTCATCGCATCAC
+CGAAGCCATGGTCGCCGATAAACCGTGGATTGAAGATGTGATCCCGCACTATTACGGTAGTGAATGGTAT
+GTCGCGCATAACGCCAGCTTTGACCGCCGCGTACTGCCTGAAATGCCCGGTGAGTGGATTTGCACTATGA
+AACTGGCCCGTCGTTTGTGGCCAGGGATCAAGTACAGCAATATGGCGCTATATAAAACACGGAAGCTCAA
+TGTACAGACGCCGCCGGGCCTGCATCATCACCGCGCGTTGTATGACTGTTATATCACCGCCGCGTTGCTT
+ATCGATATTATGAACACCTCTGGCTGGACGGCAGAACAGATGGCCGATATCACCGGACGTCCATCGTTGA
+TGACGACCTTCACCTTTGGCAAATACCGTGGCAAAGCGGTTTCCGACGTTGCCGAACGCGATCCAGGCTA
+TCTGCGCTGGTTGTTTAATAACCTCGACAGCATGAGCCCGGAGCTGCGTTTAACACTGAAACATTATCTG
+GAAAATACTTAATCCGCTGACTGAGCGGGTAATGTTCCCTGTGCCAGCGCGACCAGAAAAGCATATTCCA
+TCGCTACGCCTTCGTACGATTTAAAGCGACCAGATTTACCGCCATGACCTGAGTCCATGTCGGTACAGAG
+CAATAAAAGATGGTCATCGGTTTTCAGCTCGCGCAATTTAGCGACCCATTTTGCCGGTTCCCAATATTGC
+ACCTGAGAATCGTGTAAACCGGTCGTTACCAGTAAATGCGGATAAACCTGTGCAGTGACGTTGTCATACG
+GGCTGTAGCTTTTCATATATTCGTAATATTGCGGATCCTGCGGATTCCCCCACTCTTCAAATTCGCCGGT
+GGTAAGAGGAATTGATTCATCCAGCATTGTTGTTACAACATCAACAAACGGCACCTGGGCGATAACGCCG
+TGGAACAATTCCGGGCGTTGATTAATCGCAACGCCCATCAACATACCCCCCGCACTCCCGCCCATCGCAT
+AACAGAGCGAAGGAGAGCCATAGCCCAGTTTTAACAATGCATCGCAGGCATCAAGATAATCATTAAACGT
+ATTTTTCTTCTTCAGAAATTTACCGTCCTCGTACCATTGTTGCCCCAGCTCACCGCCGCCACGAACATGG
+ACAATGGCGTAGACAAATCCACGATCCAACAAACTCAAGCGGCTAAAACTGAAATCGGCATCAATACTTG
+CGCCGTAAGAACCGTAGCCATACACCAGCAGCGGGTTGTGTCCTTTGCGAAAATGTTTGCGATGATAGAC
+CAGCGAAACCGGAACTTCGACGCCATCACGGGCGACTATCCACAGGTGTTCACTGCGGTAATTCGCCGCA
+TCAAAACCAGGAACTTCCGTTTGTTTTAATACACGACGCTCACCGGTATCCATATCCAGTTCAAACAAAG
+TATCTGGTGTGGTCATGGACGAATAACCATAACGCAATCGCGCGGTTTCAGGTTCTGGATTGTAGGCAAT
+CCAGGTCACATAGGCCGGATCATCAAAGGCAATGCCAATGACTTCCCGGGTCTTGCGGTTAATTTGCCGC
+AAACTGGTTAACCCGCGCTGACGCTCTTCAACCACCAGCCAGTCGGTAAACAGCGTAAACCCTTCCAGCA
+TAATGTTATCACGTGGCGGAATTAACTCTTCCCACTGTTGCTCATCACGCATACGGGTACGGTATAAGCC
+AAAGTTTTTACCGTGGCGGTTGGAACGCAGATAAAACCGATGCTGGTAGTGATCAAGGCTGTATTCGTGA
+TCTTTGCGGCGAGGCAGAAAAACAAACGGCTCGGCATCGGCCATTTCCGCGTCCAGCAGGCGAACTTCAC
+TGGTGGTGGCGCTGGCCAGATGAATGACCACATAATGCTTCGAGGTCGTTTTATGCAGGCTGACGTAATA
+GGTATCGTCTTTTTCTTCGTAAATCAGTTTATCTTGCGATGCTGGCGTACCGATGGCGTGACGCCAGACC
+TGATAAGGCAGCAGCGTCACTGGATGCTTGCGAACATAGTAGAAAGTCCAGGAGTCATTTGCCCAGACAA
+AGCTGGGTTCAACGTTATCCAGCAGTTCCGGGTACCAGTTACCTGTTTCCAGATTACGAAAACGAATGCC
+GTACTGCCGTCGGGAAAGAAAATCTTCTGCCAGTGCCATAATGGTGTTATCTGGCGTAATCGCCATTCCG
+CCCATCGAATAAAACTCACTATGAGCCGCGCGCTTGTTGGCATCGAGCAATGTTTCCCACTCGTCCCACT
+CTTCACTGAACGCCGATTGACGCTGGTAGATAGCATATTCACAGCCTGGTTCATAAATATGCCGATAGCG
+GTAGCCATTTTTGATGTAGGGCGCAGAAACTTCTCGTTGCGGAATGCGGTCGATGATTTCCTTTAAGATG
+CGATCCTGCAAGGCTTGTTGCGAGGCCATCACCCGATGACCGTAACTATTTTCTTGTTGCAGATAGTCCA
+GGACTTCCGGCTGAGAACGCGTATCGTCCCGCAGCCAGTAGTAATTATCGATGCGCGTATCGCCATGAAG
+CGTCATGGCGTGGGGAATGCGGGCGGCTTTTGGTAGCATGTTATTGTTCTTTCTGGTTGAAACATCTTAT
+AAGGGTGGCAAAACTCATCGGGGATGCAAGCGAAACAGGGTAGTCATTGCTTAGATGATGACAGGTAATG
+GCGCGGATATCGACTGTTATGCAGACAGAGAAAATCAGCCTGTTCAAATGGCTGTGCGGTTCTGGATAAC
+CCGAAATAGTCAACTTCAGGCTATCCAGAGAGCGGAATTACTCCGCCAAAGTACGTTTTTGCTGTTCGAG
+ATCGCGTTCAATGCCTTCACGAACATCCTGGGGGATTTTCAGCGCATCACCCAGTGCATTCAGGTAACTG
+CGTTCCATAAAATGGTCAATATCAATAGCCGCGCAGCTCAGGAAATAGATTTCCAGCGCCTCTTCTTCAT
+TGCGGACCCCGGTAGCCAGACGTTGTGGATCCAGCGGTTGTTCGATTGCCTGCTCAATGAGTACACGCCC
+CTTCTCTTCCACACCAGCTTCTCGCAATTGCTGGTCGATTGCCGCACGTTCTTTGGCATCAATATGACCA
+TCACTTTTAGCGGCAAAGACCAGCGCAAGGATCAACCGTTCCGTACGCTCATCCAGCGGCGTACTTTGCG
+CGCCAAACTGCGGTTCATCCTGATGCGCCGCGCGAATTTTATCTTTGTATTTATTCCACAGCACCGTACC
+CGCTACCGCTCCGCCGCCAACCAGTAACGCGTTTGTGCCATATTTCGTAAGAAGTTTACGTGCTGATTTA
+TTTGCGACCAGCAGCCCAGCCAGTCCGCCTAATGCGCCAGGCACTAAAAGTTTGCCCAATCCCTGATCCG
+CAGACGAGGAGGTAGAAGAACGGCTTTGCCCAAGCAGGGATTGCAGTTGATTTAACCAGTTAGCCATATT
+TGCTCCTCAATAACCATTTTTAGTGCCTGTAGCATAGCGGATGAGGATGTCAGAAAATGTATATTGAGAC
+AAAAGATGCGCAAATAAGCGGGGCGGTAGGCCGTTATTCAAAGAAATTCGCGCCAGGTAAGGTGTTCACT
+GTATATAAGGTGATAAGGGTATTTTAGGTGAAAGTAGTTTGACGTTTTGAGTGGAACTGTTTGATGCTGA
+TTGCCCGGTTCGACGCTGCTGCGTCTTCTCAGGACTACGATTGTGTTGCGTTGTAGGGCGGACAAGGCAC
+TCGCGCCGTATCCGCCAACGGTCAATCGAATTATCAGAAGCCATTAACGCCGCTGATATTCCGCCATTCC
+CGCTTTGCAGTCCACGCTGACCTGGTAATGAATATCGGCACTTTTACCACGCACGGTTAGCGGTACTGAC
+CATTTATCATCTTTCCCCTGAATGTCCTGCAAACTGACCCATGCCACGGGGTCGGCCTGACCGACAATTT
+TTTGATCATCAGCCCAGCGCGCCACGCGATTTTGTTGGTAATCACGTTTTACGCTCGCGGCAATTCCGGC
+AGCATCCAGACCTTCACACTTTGGGAAAGTGACCGACTTGCTGGTTTCATTATTGGCAGCGAAAACTGAT
+GCGCAGGCAGAAACCAACAACAGCCCTAAAAACGCCCCTCTTTTTTTCATGTTTTTCTCCATAGCACAAT
+GATTCAGGAGAAAGCATGGTACAAATTGTCAGGAGCGCAAGTTGCTTCAGGCCGCGTGTGAGGCATCTTC
+CTCTTCGGATTCAGCACCGACGACCTGTGGGGACGGTAATTTGCCGGTTTTCAGAATGGTGCTCAGCACA
+TCTTTTTGTTCTGCCAGCCATAGCGAAAGGGCTTCACGTTGCTCATCTTCCATTTGCACAGGAGAATTTG
+TCAGCCAGGTGTCAAGCAGATCGGCCGTATCAAGCATCTTGTCATAAGCATCGGCTTCCTTTTTGCTGGT
+AAACGACATTTTCTCTTCGCCCTCACGAATGACTACGTATTTAACTTCAACCGCCATTTGCAGCCTCTCA
+TAATAACTGTGATTTTATACAGTATATTTATTTTCAGCTGGGAAATCAACATCAGCAATAAAGACACGCG
+CAAACGTTTTCGTTTATACTGCGCGCGGAATTAATCAGGGGATATTCGTTATGACGTTATTAGGCACTGC
+GCTGCGTCCGGCAGCAACTCGCGTGATGTTATTAGGCTCCGGTGAACTGGGTAAAGAAGTGGCAATCGAG
+TGTCAGCGTCTCGGCGTAGAGGTGATTGCCGTCGATCGCTATGCCGACGCACCAGCCATGCATGTCGCGC
+ATCGCTCCCATGTCATTAATATGCTTGATGGTGATGCATTACGCCGTGTGGTTGAACTGGAAAAACCACA
+TTATATCGTGCCGGAGATCGAAGCTATTGCCACCGATATGCTGATCCAACTTGAAGAGGAAGGACTGAAT
+GTTGTCCCCTGCGCTCGCGCAACGAAATTAACGATGAATCGCGAGGGTATCCGTCGCCTGGCGGCAGAAG
+AGCTGCAGCTGCCCACTTCCACTTATCGTTTTGCCGATAGCGAAAACCTTTTCCGCGAAGCGGTTGCCGC
+CATTGGCTACCCCTGTATTGTTAAACCGGTGATGAGTTCTTCCGGTAAAGGGCAGACGTTTATTCGTTCT
+GCAGAGCAACTTGCTCATGCATGGGAGTACGCTCAGCAAGGTGGTCGCGCCGGAGCGGGCCGCGTAATTG
+TTGAAGGCGTCGTTAAGTTTGACTTCGAAATTACCCTGCTAACCGTCAGCGCGGTGGATGGCGTCCATTT
+CTGTGCACCGGTAGGTCATCGCCAGGAAGATGGCGACTATCGTGAATCCTGGCAACCACAGCAAATGAGC
+CCGCTTGCCCTTGAACGTGCGCAGGAGATTGCCCGTAAAGTGGTGCTGGCACTTGGCGGTTATGGGCTGT
+TTGGTGTCGAGCTGTTTGTCTGTGGTGATGAGGTGATTTTCAGTGAAGTCTCCCCTCGCCCGCATGACAC
+CGGGATGGTGACGCTAATTTCTCAGGATCTCTCGGAGTTTGCCCTGCATGTACGTGCCTTCCTCGGACTT
+CCGGTTGGCGGGATCCGCCAGTATGGTCCTGCTGCTTCTGCCGTTATCCTGCCGCAACTGACCAGTCAGA
+ATGTCACGTTTGATAATGTGCAGAATGCCGTAGGCGCAGATTTGCAGATTCGTTTATTTGGTAAGCCGGA
+AATTGATGGCAGCCGTCGTCTGGGGGTAGCACTGGCTACTGCAGAGAGTGTTGTTGACGCCATTGAACGC
+GCGAAGCACGCCGCCGGACAGGTAAAAGTACAGGGTTAAACCCGGCAAAAAAACGCTACAAAAATGCCCG
+ATCCTCGATCGGGCATTTTGACTTTTACAGCTTAGCGCCTTCTACAGCTTCACGCGCCAGCTTAGTAATG
+CGGTCGTAATCGCCCGCTTCCAGCGCATCTGCCGGAACCAGCCAGGAACCACCGATGCACAGCACGCTTT
+TCAGCGCCAGGTAGTCACGGTAGTTAGCCGGAGAAATACCACCTGTCGGGCAGAAACGGACCTGGGAGAA
+CGGACCCGCGATCGCCTGCAGGGCTTTCACACCGCCGTTAGCTTCAGCCGGGAAGAATTTGAACTCTTTC
+AAACCGTAGTCCATACCCAGCATCAGTTCGGAAACAGTGCTGATCCCCGGAATCAGAGGAATAGTCCCTT
+CGGTAGCAGCTTTCAGCAGCGGCTCGGTCAGACCCGGGCTAATTGCAAACTGTGCACCTGCTTCAGTGAC
+TTCTGCCAGCTGCTGTGGATTCAGCACCGTACCGGCACCCACAATCGCTTCAGGCACTTCTTTGGCGATA
+GCACGGATAGCGTCAACTGCGCACTCGGTACGCAGAGTCACTTCCAGAACGCGCACCCCACCAGCAACCA
+ACGCTTTTGCCATCGGCACCGCGTGTTCCAGTTTTTTTACCACGATAACCGGTACAACCGGGCCGGTGGT
+CAGGATTGATTCTGCACTTGTTTTCCAGTTTTTCATCAGAGTTTTCTCTCGCCTGATTACAAATTTGTCG
+TCTTAAAAAGTGATACAGGTTGCGCCCTGTTCGGCACCGGACAGTTTTTCACGCAAGGCGCTGAATAATT
+CACGTCCTGTTCCCACGCGTGACGCGCTCAGGTCAGGAATGTGCGGTTCGCGAGCAGCCAGTTCCGCTTC
+GTCTACCAGCAGCGTCAGTTCGCCTGTCTGTCCATTCACACGAATGATGTCCCCGTCGCGCACTTTTGCC
+AGCAGCCCGCCATCGTAGGCCTCTGGTGTTACGTGGATAGCTGACGGCACTTTACCTGAAGCGCCGGAGA
+GTCGTCCATCGGTAACTAACGCAATTTTGAAACACCGGTCCAATAATACACCAAGTGGCGGCATGAGTTT
+ATGTAATTCTGGCATTCCGTTCGCTTTTGGCCCCTGATGACGGACAACAACGACACAATCGCGGTCCAGT
+AAACCCGCTTCAAAGGCCGGCATAACGTCATGCTGGCTTTCAAAAACAACCGCTGGCGCTTCAATCACCT
+GGTTCTCTACCGGCACGGCAGAGGTTTTCATAACCGCTCGCCCCAGGTTACCGCTTAACACTTTTGTCCC
+ACCATGATGAGAGAAAGGTTGTTCGAAGGACGCGATCACATTGTTGTCGAGTGATTTTTCTGCCCCTTCC
+CGCCAGTCCAGTTCACCATTATTCAGCCATGGTTCAAGGGTATAACGAGACAGACCAAAGCCTGCCACCG
+TATTGACATCTTCATGCAGCAGGCCTGCTTTGAGCAGTTCACGTACCAGAACCGGTACGCCACCTGCCGC
+CTGGAAGTGGTTAATATCGGCCGGACCGTTCGGGTAGAGACGTGCCATCAGCGGTACAACATCAGAAAGG
+TCAGAGAAGTCATCCCAGTTAATCTGAATACCGGCTGCGCGCGCCATCGCCACCAGGTGCATGGTGTGGT
+TAGTGGAACCACCGGTCGCCAGCAGTGCAACGATACCGTTCACCACCACTTTCTCATCGATCATCTTACC
+GATCGGCATCCATTCATTACCATTACCGGTCATGCGCGTAACCTGGCGCGCAGCTGCAGCGGTCAAAGCA
+TCGCGCAGCGGAGAATCCGGATGAACAAAAGAAGAGCCTGGCAACTGCATCCCCATAAACTCCACCACCA
+TCTGGTTGGTGTTGGCAGTACCGTAGAAAGTACATGTTCCCGGCGCATGATAAGACGCGGCTTCTGACTC
+CAGTAATGCCATGCGGTCCACTTTACCTTCGGCATAAAGCTGGCGAATACGCACTTTTTCTTTATTTGGC
+AAACCGCTTGCCATCGGTCCAGACGGCACAAACACCGCAGGCAAATGACCAAACGACAGGGCTGCCATGG
+TCAGACCTGGGACAATCTTGTCGCACACACCGAGAAACAGAGCACCATCAAACATGTTATGGGACAGCCC
+CACCGCCGCAGACATCGCAATCACTTCGCGGCTTAACAGCGACAATTCCATTCCATCCTGCCCCTGGGTG
+ACACCATCACACATCGCCGGAACACCGCCCGCAACCTGACCAACCGCATTCGCTTCATGCAGGGCTTTAC
+GAATGATTTCCGGATAGTGTTCATAAGGCTGGTGAGCGGAGAGCATGTCGTTATAGGAGGTGATGATGGC
+GATATTGTTACGCAACATGCTTTTCAAAGAGGCTTTGTCTTCTGGCTGGCAGGCAGCGAAACCGTGTGCC
+AGGTTACCGCATGCCAACTGCGAACGATGAACGGTCGAAGTTTTCGCTTGTTCTATCCGGGCGAGGTAAG
+CAGAGCGAGTCTCGCGCGAACGTTCAATGATTCGATTTGTTACGCGTAACAATTGTGGATTCATAAAGGC
+TCCTGAAATTGAGTTGTCAGAGCAGGATGATTCACAACACGTTTCATTCAGAGGATTCATGACTGAAACG
+CCTGTAACCGGAGCTCATAGGGCAAAAACGTTTCAGTCAGTGTAATAAAAAAAGCCTCGTGGGTGAATCC
+GCACGAGGCCTGAAAGTGTAAAAATTGTTCTACAATCTGTGCAAGATCATGTTACCGGTAAAATAACCAT
+AAAGGATAAGCCCAGATATTACTCAAACTCATTCCAGGAACGACCGTCACGGGTAATCATCGCCACCGAG
+GCAACGGGGCCCCAGGTTCCGGCCTGATACGGTTTCGGCGCATCATTGTCCATCGCCCACGCCTCAGTAA
+TGGAGTCTACCCATTTCCAGGCTTCTTCCACTTCATCACGACGTACAAACAGTGCCTGAATACCACGCAT
+GGTTTCCAGCAGCAGACGTTCATAGGCATCTGCCAGATGCGTTTGATTAAAAGTTTCTGAATAGCTCAGA
+TCCAGCTTGGTGATTTGCAGGTTATGTTTGTGGTCAAGGCCAGGAACTTTATTCAGTACCTGGATATCCA
+CGCCTTCATCAGGTTGCAGACGGATAGTCAGTTTATTCTGCGGCAGATCCTGCCACGACTCTTTAAACAG
+ATTCAGTTCAGGTGTTTTGAAATAGACCACGACTTCAGAACATTTGGTCGGCAGACGTTTACCAGTACGC
+AGGTAGAATGGCACACCGGCCCAGCGCCAGTTATCAATGTCGACGCGGATCGCCACGAAGGTTTCTGTAT
+TGCTGCTCTTGTTCGCGCCCTCTTCTTCCAGATAGCCCGGCACTTTTTTGCCCTGAGCGAAGCCCGCAGT
+ATATTGCCCGCGTACGGTTTTTTCGCGCACGTTGGAACGGTCGATGCGGCGCAGAGACTTCAGTACTTTC
+ACTTTTTCATCGCGGATGCTGTCTGCGCTCAGGTCAGACGGCGGAGACATCGCAATCATGCAAAGAATTT
+GCAGCAGGTGGTTCTGGATCATGTCGCGCATCTGACCGGCTTTATCAAAATAGCCCCAGCGCCCTTCGAT
+CCCCACTTCTTCTGCCACGGTAATCTCAACATGATCAATGGTGCGATTGTCCCAGTTGTTCACAAACAGA
+GAGTTAGCAAAACGCAGCGCCAACAGGTTCAGCACTGTTTCTTTACCAAGATAGTGGTCGATACGGTAAA
+CCTGGCACTCCTCGAAGTATTCGCCAACCTGATCGTTGATTTCCTGCGAGGTCGCCAGCGACGTCCCCAG
+CGGTTTCTCCATGACTACGCGTGCCGGTTTAGCATTCAGTTTTGCCTCACCAAGCCCTTTGCAAATTGCG
+CCAAAAGTGCTGGGCGGCATGGCAAAGTAGTTAATGGTGATACGATTTTTTTGATCCAGCATCGCGCCGA
+GACGGCTGAATGCAGCAGTGTCATTGACATCAAGATTACAAAAATCCAGACGTGCACTCAGGGTGTCCCA
+TAAACCTTCATCAATGGTTTCTTTCATGAAAGTTTCGAGCGCCTCGCGGACAACTTTGGTATAAGCCGCT
+TTATCCCAGTCAGCACGCCCTACGCCGATAATCCGGGTGTCCGGGTTGAGCTGACCGGCTTTTTCCAGTT
+GATACAGGGAAGGCAGCAATTTACGACGCGCAAGGTCGCCTTTCGCGCCGAAAATGACCAGGTCACAGGC
+CTGGGCTGTTTGCGTTACCGCCATGTCATTCTCCTTAAGTTAACTAACCCGGTACTTAAGCCAGGGTATA
+CTTGTAATTTTCTTACGGTGCACTGTACTGCTTTTACGAGCTTGCGAAAACTGTAAACGCTTATCCACCC
+GTGCGATTACGGTAAAAGCGCGCAAAGTGCGGCAAAACTGATAAAAAAATCATCGTTTTCCATTGGGTAA
+AAATCTGACACTGATCATGTTATGAAAAAAAATAACAACTTTTTTATCTGCTTTTGTCATTAACACAGCA
+CACAGGCGTAATATCTGACAAAACTGCATTTCGATTTCTTTCAGAGCGGAAATCGTCATTACCCGTGAGT
+CTCTTTACATCATGAATATGCTGGAAAAAATCCAGTCTCAGCTGGAACATTTGAGCAAATCTGAGCGCAA
+AGTTGCCGAGGTCATTCTGGCTTCGCCCGATAACGCGATCCATTCGAGTATTGCTGCTCTGGCGCTGGAA
+GCCAATGTTAGCGAACCGACGGTGAATCGTTTCTGTCGCAGCATGGACACACGCGGTTTTCCTGATTTTA
+AACTTCATCTGGCACAAAGTCTGGCGAATGGCACTCCCTATGTTAATCGCAACGTCAATGAAGATGACAG
+CGTTGAATCATACACGGGGAAAATATTTGAGTCCGCAATGGCAACGCTCGATCATGTCCGTCATTCACTG
+GATAAATCTGCCATCAACCGCGCCGTCGACTTGCTCACTCAGGCAAAAAAAATCGCCTTTTTCGGATTAG
+GTTCTTCAGCCGCCGTTGCCCACGATGCGATGAATAAGTTCTTTCGTTTTAATGTTCCGGTGGTGTACTC
+CGATGATATCGTGCTGCAACGCATGAGTTGTATGAATTGTAGCGACGGAGACGTGGTGGTGCTGATTTCT
+CACACGGGAAGAACAAAAAATCTGGTCGAGCTGGCGCAGCTGGCACGCGAAAACGACGCTATGGTAATTG
+CCCTCACCTCTGCGGGTACCCCACTCGCCCGGGAAGCAACGCTGGCAATTACCCTCGACGTACCGGAAGA
+TACTGACATTTATATGCCCATGGTTTCTCGACTTGCACAGCTGACCGTGATAGATGTGCTGGCGACAGGA
+TTTACTTTGCGGCGCGGTACAAAATTCAGAGATAACTTGAAGCGGGTCAAGGAAGCGCTGAAGGAATCGC
+GTTTTGATAAGCAGTTACTTAATTTAAGTGACGATCGCTAAAAACGACTGTCACTGTCCTAATCTTATAC
+GACATCCGAATGAGATTAATTTATCGCCATCACGGCGTTATTTCATTCGGATTTCATGTTCAAGCAACAC
+CTGGTTGTTTCAGTCAACGGAGTATTACATGTCCAGAAGGCTTCGCAGAACTAAAATCGTTACCACGTTA
+GGCCCGGCAACAGATCGCGATAATAACCTTGAAAAAGTTATCGCGGCGGGTGCCAACGTTGTACGTATGA
+ATTTTTCTCACGGCTCGCCTGAAGATCACAAAATGCGCGCGGATAAAGTTCGTGAGATTGCCGCAAAACT
+GGGGCGTCATGTGGCTATTCTGGGTGACCTCCAGGGGCCCAAAATCCGTGTATCCACCTTTAAAGAAGGC
+AAAGTTTTCCTCAATATTGGGGATAAATTCCTGCTCGACGCCAACCTGGGTAAAGGTGAAGGCGACAAAG
+AAAAAGTCGGTATCGACTACAAAGGCCTGCCTGCTGACGTTGTGCCTGGTGACATCCTGCTGCTGGACGA
+TGGTCGCGTCCAGTTAAAAGTACTGGAAGTCCAGGGCATGAAAGTGTTCACCGAAGTGACCGTCGGTGGT
+CCCCTCTCCAACAATAAAGGTATCAACAAACTTGGCGGCGGTTTGTCGGCTGAAGCGCTGACCGAAAAAG
+ACAAAGCAGACATTAAGACTGCGGCGTTGATTGGCGTAGATTACCTGGCTGTCTCCTTCCCACGCTGCGG
+CGAAGATCTGAACTATGCCCGTCGTCTGGCACGCGATGCAGGATGTGATGCGAAAATTGTTGCCAAGGTT
+GAACGTGCGGAAGCCGTTTGCAGCCAGGAGGCAATGGATGACATCATCCTCGCCTCTGACGTGGTAATGG
+TTGCTCGCGGCGACCTCGGTGTGGAAATTGGCGATCCGGAACTGGTCGGCATTCAGAAAGCGTTGATCCG
+TCGTGCGCGTCAGCTTAACCGCGCAGTAATCACTGCGACCCAGATGATGGAGTCAATGATTACTAACCCG
+ATGCCGACGCGTGCAGAAGTCATGGACGTAGCAAACGCCGTTCTGGATGGTACTGACGCTGTGATGCTGT
+CGGCAGAAACTGCTGCTGGTCAATACCCGTCAGAAACTGTTGCAGCCATGGCGCGCGTTTGCCTGGGGGC
+GGAAAAAATCCCGAGCATCAACGTTTCTAAACACCGTCTGGATGTTCAGTTCGACAATGTGGAAGAAGCC
+ATTGCCATGTCAGCAATGTACGCGGCTAACCACCTGAAAGGCGTTACGGCGATCATCACCATGACCGAAT
+CGGGTCGTACCGCGCTGATGACCTCCCGTATCAGCTCTGGTCTGCCAATTTTCGCCATGTCACGCCATGA
+ACGTACGCTGAACCTGACAGCTCTCTATCGCGGCGTTACGCCGGTGCACTTTGATAGCGCTAATGACGGT
+GTAGCAGCTGCCAGCGAAGCGGTTAATCTGCTGCGCGATAAAGGTTACTTGATGTCTGGTGACCTGGTGA
+TTGTCACCCAGGGCGACGTGATGAGTACCGTGGGTTCTACTAATACCACGCGTATTTTAACGGTAGAGTA
+AGTACGTTGCCGGATGCGGCGAAAACGCCTCATCCGGCCTACAGTTCAATGATAATTCAACAGATTTCGA
+ATCTTCTGAAGCAAACTTGAACTTATCATCAGTCGAAGGCCTCTCCTCGCGAGAGGCATTTTTTATTTGA
+TGGGATAAAGATCTTTGCGCTTATACGGTTGGATTTCGCCCGGTTTGCGAGTTTTCAGCAATTTTAATAT
+CCAGGTGTATTGTTCTGGTCGCGGACCAACAAAAATCTCGACTTCTTCATTCATCCGCCGCGCAATCGTA
+TGATCATCCGCCTCTAACAGATCATCCATCGGTGGGCGCACCTGAATCGTCAGACGATGCGTCTTGCCAT
+CATAAATCGGAAACAGCGGTACAACGCGCGCACGGCACACTTTCATCAAACGACCAATCGCGGGCAACGT
+CGCTTTATAGGTGGCAAAGAAATCAACAAATTCGCTGTGTTCTGGGCCATGATCCTGATCGGGTAAATAA
+TATCCCCAGTAACCCTGACGTACCGACTGGATGAATGGTTTAATACCATCATTTCTCGCATGCAGACGAC
+CACCAAAGCGACGGCGCACCGTGTTCCAGACATAATCAAAAACCGGGTTGCCCTGATTATGGAACATCGC
+TGCCATTTTCTGCCCTTGCGAGGCCATCAGCATGGCAGGAATATCGACGGCCCAACCGTGCGGCACCAGA
+AAAATCACTTTCTCGTTATTACGCCGCATCTCTTCGATGATCTCCAGCCCTTGCCAGTCAACGCGCGGCT
+GAATTTTCTCCGGCCCGCGTATTGCCAACTCAGCCATCATTACCATCGCTTGCGGCGCGGTGGCAAACAT
+CTCATCTACAATCGCTTCGCGTTCAGCTTCACTACGTTCTGGAAAGCAGAGCGACAGATTGATTAACGCA
+CGACGGCGTGAGCTTTTTCCCAGTCGTCCGGCAAAACGTCCCAGCCGTGCCAGAATGGGATCACGGAACT
+TTGGCGGCGTTAAAGCGATACCCGCCATCGCTGCTACGCCCAGCCATGCTCCCCAGTAGCGCGGGTGGCG
+AAAGGATTTATCAAACTCAGGAATGTATTCGCTATTATTTTTTTTCGTTTCCATGCTTTTCCAGTTTCGG
+ATAAGGCAAAAATCAATCTGGTGATAGTGTAGCGGCGCAACTTGCCCCGCACCAAATAAAAAAGCCGGTA
+CTGACTGCGTACCGGCTGCGAATGGATGTTAATTAATCAAACCGTAGCTGCGGCACAATCTCTTTGGCCT
+GTGCCAGGAATTCGCGACGATCGGAGCCGGTCAGCCCTTCGGTACGCGGCAGTTTTGCCGTCAGCGGGTT
+TACGGCCTGCTGGTTTATCCATACTTCATAGTGCAGATGCGGCCCGGTTGAACGTCCGGTATTACCGGAA
+AGCGCGATACGGTCGCCACGTTTCACCTTCTGTCCCGGTTTCACCAGGATCTTGCGCAAGTGCATATAAC
+GCGTGGTGTAGCTGCGACCATGACGAATAGCCACATAATAACCTGCTGCGCCACTACGCTTGGCAACCAC
+CACTTCACCGTCACCCACTGAAAGCACTGGCGTACCTTGTGGCATGGCAAAATCAACACCTCTGTGTGGC
+GCAACGCGACCGGTCACCGGATTAGTACGACGCGGGTTAAAGTTAGATGAGATACGGAACTGTTTCGCCG
+TCGGGAATCGCAAGAATCCTTTCGCCAGACCAGTACCGTTACGATCGTAGAATTTGCCATCTTCAGCGCG
+GATTGCGTAATAATCTTTACCTTCTGAACGCAAACGTACGCCCAGCAGCTGGCTTTGCTCACGTTTACCA
+TCAAGCATTTCTCGTGACATTAACACCGCAAATTCATCGCCTTTTTTCAGTTTGCGGAAATCCATTTGCC
+ACTGCATGGCTTTAATCACTGCGCTCACTTCGGCGCTGGTTAAACCGGCGTTTCTGGCGCTGGCAACAAA
+GCTTCCCCCGACGGTACCTTTCAGCAGATTGTTGACCCACTCTCCTTGCTGCATTTCGCTGGTCATTTTA
+AAACCGTTAGCGGCAGTACGGTCATAGGTTCGGGTTTCACGACGAGACACTTCCCAGGTGAGGCGCTGCA
+GTTCGCCGTCCGCGGTTAATGTCCAGGAGAGTTGTTGACCGATTTTCAGGTTACGCAATTCTTTGTCGGC
+AGCAGCCAGTTGGGTGATATCACCCATATCAATACCATACTGATTGAGAATGCTGCTTAGCGTATCGCCA
+GTGGAAACAACATATTCATGCACGCCCGCTTCACCGGCGATTTTGTCATCCAGTTCGTCCTGGGGAATGG
+CTTCATCTTCTTGTGCAGCTTGATCAATCGGCTCACTGGCTTCAGGTAAGAGCGAACGAATTTCGTTCTG
+TTCCAGCTCAATGGTTTTGACAATTGGCGTGGCATCGCGGTGATAAACATAGGGCCGCCAGACAGCGACG
+GCCAGAGTAAGAACGGTGAGCGACCCCAACATAACGCGGTGTGGTCGCGGTAAATTATTAAACGCCAGGG
+CGACAGAGCGGGCTATCTGTTGCACGTAATCACTTCCTCATTAATCTCCTTTCAGGCAGCTCGCATACTG
+GTTGGCTAATTGATTCAGGAATTCTGAATAGCTTGTTTTACCCAGTTTGATATTCGTCCCCAGGGGATCC
+AACGTTCCCATACGAACGGATGTCCCTCGTGCGACGCTCTCAACGACCGCTGGCCTGAACTGTGGCTCAG
+CAAAAACGCAGGTTGCTTTTTGCTCAACCAACTGTGTTCTTATTTCATGTAAACGCTGCGCGCCAGGTTG
+AATCTCAGGGTTAACGGTAAAATGACCAAGCGGTGTCAGTCCGAACTGTTTTTCGAAGTAGCCGTAAGCA
+TCGTGAAAAACGAAATAACCTTTCCCCTTGAGCGGCGCGAGCTCGTTACCAACCTGCGTTTCGGTTGAGG
+CTAATTGTGCCTCAAAATCCTTCAGGTTGGCGTCAAGTTTGGCTCGACTTTGCGGCATAAGTTCCACTAA
+TTTTCCATGGATTGCAACCGCTGTAGCCCGCGCTATCTCTGGGGAAAGCCAAAGATGCATGTTGAAATCG
+CCGTGATGGTGATCTTCGTCACTTTTTTCCGCGTGGTCGTGATCATCATCATCGTCGTGAATACTTTTCA
+TCAGCAGCGGTTTCACATTCTCTAGCTGCGCAATCGTTACCTGTTTGGCTTCAGGTAATTTACTTACCGG
+TTTTTGCATGAACGCTTCCATCTCCGGGCCAACCCAAACGACTAAGTCCGCGTTCTGTAAGCGTTTTACA
+TCTGATGGACGCAGTGAATAATCATGCTCTGAAGCGCCGTCAGGTAGTAAAACCTCCGTTTCTGTTACCC
+CATCAGCAATGGCAGAAGCGATGAACCCAACGGGTTTAAGCGAAGCGACAACGGCGGCATCTGCGGCCTG
+TGTTGCACCTCCCCAGAGAGCGGCGGATAATGCTGCGAAAAGAAGCGTTTTTTTATGTAACATAATGCGA
+CCAATCATCGTAATGAATATGAGAAGTGTGATATTATAACATTTCATGACTACTGCAAGACTAAAATTAA
+CATGACAAGTCTGGTTTCCTTGGAAAATGTCTCGGTTTCTTTTGGCCAACGCCGCGTCCTCTCTGATGTG
+TCGCTGGAACTTAAACCTGGAAAAATTTTGACTTTACTTGGGCCAAATGGCGCAGGTAAGTCGACACTGG
+TACGGGTAGTGCTCGGGCTGGTAACACCCGATGAAGGGGTTATCAAGCGCAACGGAAAACTACGCATCGG
+CTATGTACCGCAGAAGCTGTATCTCGACACCACGTTGCCACTGACCGTAAACCGTTTTTTACGCTTACGA
+CCTGGCACACATAAAGAAGATATTTTGCCTGCACTGAAACGTGTCCAGGCCGGGCATCTGATTAACGCAC
+CGATGCAAAAGCTCTCGGGTGGCGAAACGCAGCGTGTACTGTTAGCGCGAGCATTGTTAAATCGACCGCA
+ATTATTAGTGCTGGATGAACCCACTCAGGGCGTGGATGTGAATGGTCAGGTGGCGTTATATGACCTTATT
+GACCAACTGCGTCGTGAACTGGATTGTGGCGTTTTAATGGTCTCTCACGATCTGCATCTGGTAATGGCAA
+AAACCGATGAAGTGCTTTGCCTGAATCACCACATTTGTTGTTCCGGCACACCGGAAGTTGTTTCCCTGCA
+TCCGGAGTTTATTTCTATGTTTGGTCCTCGTGGTGCTGAACAACTGGGTATCTATCGCCATCATCATAAT
+CATCGTCACGATTTACAGGGACGAATTGTTTTGCGTCGGGGAAATGATCGCTCATGATTGAATTATTATT
+TCCTGGTTGGTTAGCCGGGATCATGCTCGCCTGTGCCGCGGGTCCGCTGGGTTCGTTTGTCGTCTGGCGT
+CGTATGTCTTATTTCGGTGATACGCTGGCTCATGCCTCATTACTTGGTGTCGCGTTTGGTTTGTTGCTGG
+ACGTGAATCCATTCTATGCGGTGATTGCAGTTACGCTGCTGCTGGCGGGCGGTCTGGTATGGCTGGAGAA
+GCGTCCACAACTGGCGATCGACACGTTATTAGGGATTATGGCGCACAGTGCCCTGTCGCTGGGCCTGGTG
+GTCGTTAGTCTGATGTCTAATATTCGTGTTGATTTGATGGCTTACCTGTTCGGTGATTTACTGGCAGTGA
+CGCCAGAAGATCTCATCTCTGTTGCGATTGGCGTGGTCATCGTGGTGGCTATTTTGTTCTGGCAATGGCG
+CAATTTGCTGTCGATGACGATTAGCCCGGATCTGGCGTTTGTTGATGGTGTGAAATTACAGCGCGTGAAA
+TTGTTGTTGATGCTGGTGACAGCATTGACGATTGGTGTAGCGATGAAATTTGTCGGCGCGTTGATTATTA
+CTTCACTGCTGATTATTCCTGCTGCTACTGCACGTCGCTTTGCCCGCACGCCGGAACAGATGGCTGGTGT
+CGCTGTTTTGGTGGGGATGGTGGCAGTGACTGGCGGTTTAACCTTTTCCGCATTTTACGATACACCTGCA
+GGCCCGTCGGTGGTGCTATGCGCGGCACTGTTATTTATTCTCAGTATGATGAAAAAACAGGCCAGCTAAT
+CTTTCGCTGAACATATTTGTCGGATGCGGCGCGAGCGCCTTATCCGACCTACGGTTCGCTATCTCTGGTA
+GGCCTGATAAGACGCGAACGGCGGCGCATCAGGCAACACTGCCAGTGTCGGATGCGCCGCGAGCGACCGA
+TCCGACTTACGGCATTTCTGGCGGCGTGATGCCGAAGTGGTTCCACGCCCGCACTGTCGCCATACGCCCA
+CGCGGTGTACGCTGCAAAAAGCCTTGCTGAATCAAATAAGGTTCCAGTACATCCTCAATGGTTTCACGTT
+CTTCGCCAATGGCTGCCGCCAGGTTATCCAGACCTACCGGCCCACCAAAGAACTTATCGATTACCGCCAG
+CAACAATTTGCGGTCCATATAATCGAAACCTTCAGCATCGACATTCAACATATCCAGCGCCTGAGCAGCG
+ATATCTGCCGAGATGGTGCCATCGTGCTTCACTTCGGCGAAATCACGCACTCGACGCAGCAGACGGTTGG
+CAATACGTGGCGTACCGCGCGCACGACGAGCAACTTCCAGCGCGCCGTCATCACTCATCTCAAGCCCCAT
+AAAGCGTGCGCTGCGACTGACGATATATTGCAGATCCGGCACCTGATAAAACTCCAGACGTTGCACAATA
+CCAAAACGATCGCGCAACGGTGATGTCAGCGAACCTGCGCGCGTGGTTGCACCAATCAGGGTAAACGGCG
+GCAAATCAATTTTAATGGAGCGTGCCGCCGGACCTTCACCAATCATGATATCCAGTTGGTAATCTTCCAT
+TGCCGGATACAACACCTCTTCCACCACTGGTGAAAGACGGTGGATCTCATCAATAAACAGTACATCGTGT
+GGTTCAAGGTTAGTGAGCATTGCTGCCAGATCGCCCGCCTTTTCCAGCACCGGACCAGAAGTCGTGCGTA
+AATTAACGCCCATTTCATTGGCGACAATATTGGCAAGCGTAGTTTTACCCAACCCCGGAGGACCAAAAAT
+CAACAGATGATCGAGGGCATCGCCGCGCAGTTTCGCTGCTTTGATGAAAATCTCCATCTGCGAACGAACC
+TGCGGCTGACCAACATACTCTTCCAGTAATTTAGGGCGAATGGCGCGATCTGCCACATCTTCCGGCAAAG
+TGGTACCGGCAGAAATCAGACGGTCTGCTTCAATCATCCTTTACCTCATAACGCGGCGCGTAGGGCTTCG
+CGAATTAATGTTTCACTGCTGGCGTCAGGGCGAGCGATTTTGCTCACCATACGGCTTGCTTCTTGTGGTT
+TATAGCCCAGCGCCACCAGTGCAGCAACCGCTTCCTGTTCAGCATCGTCAGTCGCCGGGCTGGCAGGTGA
+CGTGAGTACCAGGTCGGCGGCTGGCGTAAAGAGATCGCCATGCAAACCTTTAAATCGGTCTTTCATTTCG
+ACAATCAAGCGTTCGGCGGTTTTTTTGCCAATACCCGGCAGTTTCACCAGTGCCCCCACTTCTTCACGCT
+CAACGGCATTAACGAACTGCTGCGCTGACATTCCGGAGAGGATCGCCAGCGCCAACTTCGGGCCGACGCC
+GTTGGTTTTGATCAACTCTTTGAACAACGTGCGCTCTTGTTTATTGTTAAAACCGTACAGCAGTTGCGCG
+TCTTCACGCACCACAAAGTGGGTGAAAACGATCGCTTCCTGACCCGCTTCAGGGAGTTCATAAAAACAGG
+TCATCGGCATATGCACTTCATAGCCTACGCCGCCCACTTCAATTAACACCAGCGGGGGTTGTTTTTCAAT
+GATGATGCCTCTGAGTCTGCCTATCACATGACGCTCCTGCGTAATGAATCAAAGATAATGCTGTATGATA
+AAAAAATGCTGGATAGATATCCAGCGAAGGATGAAGAAAACTTGCGAGGTGTCTCGATGATCTGAAAAAT
+GGCGCAGTATAATTTATTCTACAGATTATATTGGAAGCAAATATTTAAATATTACATATTCAGCGAAGAA
+ATGTGTAATAAAAATACACATTGCGACCCCTGAAAAAAAATAAATTTTTTATGCTATTACGTATATTCAT
+ATCTATTTCAATGGAATGACAACGTGAATATTAATTATCCTGCTGAATATGAAATTGGTGATATCGTCTT
+TACATGTATAGGTGCTACCTTATTTGGTCAAATATCATCTGCATCAAATTGCTGGAGTAATCACGTCGGG
+ATCATTATCGGTCATAACGGTGAAGACTTTCTGGTTGCAGAAAGCCGTGTTCCCCTCTCAACCATCACTA
+CGCTATCCCGTTTTATTAAACGCTCTGCTAATCAACGCTATGCTATAAAGCGATTAGACGCCGGGCTAAC
+AGAACAACAAAAACAACGAATTGTTGAACAGGTTCCCTCCCGGCTACGCAAACTTTACCACACCGGTTTT
+AAATACGAATCTTCGCGCCAGTTCTGTTCAAAATTTGTTTTTGATATTTATAAAGAGGCGCTATGTATTC
+CGGTGGGTGAAATAGAGACGTTTGGAGAATTGTTAAATAGCAATCCGAATGCAAAACTCACTTTCTGGAA
+ATTCTGGTTCTTAGGTTCTATTCCGTGGGAGCGTAAAACCGTCACGCCAGCCAGTTTGTGGCATCATCCG
+GGTTTGGTGTTGATTCACGCGGTGGGAGTTGAAACGCCTCAGCCTGAACTGACCGAGGCGGTATAACTTA
+ACGCAGTCGCCCTCTCGCCAGGTTCAGTCGCGATTCGCTCATTTGCATCGCATTCTGACTAACGTGGCAG
+TGGGTGATGGCAATCGCCAGCGCATCGGCGGCATCCGCCTGTGGATTAGCGGGCAGTTTCAGCAAGGTGC
+GGACCATATGCTGCACCTGGCTTTTTTCGGCACTACCAATACCTACCACTGTTTGCTTTACCTGACGTGC
+CGCATATTCAAATACCGGCAATTCCTGATTCACCGCCGCCACAATCGCCACGCCGCGCGCCTGCCCCAGT
+TTCAGGGCTGAGTCAGCGTTCTTCGCCATAAAGACCTGTTCAATGGCGAAATAATCAGGCTGGAATTGGG
+TGATGATTTCCGTCACGCCCGCATAGATGAGCTTCAGACGAGACGGTAAATCATCCACTTTGGTGCGTAT
+GCATCCGCTACCCAGGTAGGACAGTTGCCTGCCTACCTGGCGGATGACGCCATAGCCGGTCACGCGCGAA
+CCCGGGTCAATGCCGAGAATAATAGCCATCACGCGTCTCCGTTTTGCTGTTTAGCAGGCCTCATCAGAGA
+GTCGCTGCAACCTCATCAGAGATTTCACCGTTATGGTAAACTTCCTGCACGTCGTCGCAATCTTCCAGCA
+TATCGATCAGACGCATCAGTTTCGGTGCGGTTTCTGCATCCATATCAGCTTTGGTGGACGGGATCATGGA
+AACTTCCGCGCTGTCTGCTTTCAGACCTGCCGCTTCCAGAGCGTCGCGTACTTTGCCCATTTCTTCCCAT
+GCAGTGTAGACATCAATCGCGCCGTCATCATAGGTCACAACGTCTTCAGCACCGGCTTCCAGGGCTGCTT
+CCATGATGGTGTCTTCATCGCCTTTCTCGAAGGAGATCACGCCTTTTTTGCTGAACAAATAAGCTACGGA
+ACCATCAGTACCGAGGTTACCGCCACATTTGCTGAATGCATGACGCACTTCAGCAACGGTACGGTTGCGG
+TTGTCAGACAGACATTCAATCATGATTGCCGTGCCGCCAGGACCGTAACCTTCGTAGATGATGGTTTCCA
+TGTTTGCATCATCATCACCGCCCACACCTCGTGCAATTGCGCGGTTCAGAGTGTCACGGGTCATGTTGTT
+AGACAGTGCTTTATCAATTGCTGCACGCAGACGCGGGTTAGCGTCCGGATCACCACCGCCCAGCTTAGCC
+GCGGTTACCAGCTCACGAATGATTTTAGTGAAGATTTTACCGCGCTTAGCATCCTGCGCAGCTTTACGAT
+GTCTGGTGTTGGCCCATTTACTATGACCTGCCATAAAAATATCTCCAGATAGCCCTGCCTGTTCAGGCAG
+CGTTAATTACAAACTGTTCAATCGCCTGCCGGTTGCTCCAGGACTTAGTGAGCGCCGCCGCAGCAGACGC
+ATCAAGCCACTTGTAAGCCAGATGTTCAGTGAAAACGATCTGGCGCTCGTGCGGAAGCGCAAGACAGAAC
+CATGATTCCGTATTACGCGTCACGCCCGGCGCATAGCGATGACGTAAATGTGAAAAAATTTCAAACTCTA
+CCGTGCGCTGACAGTCAATTAAGGTCAGTTGTTCAGCGACAACATCAATGGTGACCTCTTCCTTTACTTC
+GCGCATGGCAGCTTGCGGCGCGGTTTCCCCCTCTTCCACGCTGCCGGTTACCGACTGCCAGAAATCGGGA
+TCGTCACGCCGCTGCAACATCAGCACCCGTTTCGTATCTTGTGCGTAGATGACCACTAAGATCGAAACGG
+GACGCTTATAAGCCATATCAGTTATTCTCAGCCTTCTTCACAACCTGAATGCTCAGCTCAGCCAGTGCAG
+TCGGGTTAGCAAAGCTCGGTGCTTCAGTCATCAGACACGCTGCCGCCGTGGTTTTCGGGAAGGCGATAAC
+GTCACGTATATTGTCGGTGCCGGTCAGCAGCATGGTCAGACGGTCAAGACCGAATGCCAGACCTGCGTGC
+GGCGGAGTACCGTATTTCAGGGCGTCGAGCAGGAAGCCGAATTTCTCGCGCTGTTCCTCTTCGTTGATAC
+CCAGAATACCAAACACCGTCTGCTGCATATCACCATTATGGATACGCACAGAACCACCGCCCACTTCGTA
+ACCATTGATGACCATATCGTAAGCGTTCGCCACCGCATTTTCCGGTGCAGCTTTCAGTTCTGCTGCCGTC
+ATGTCTTTCGGTGAGGTGAACGGATGGTGCATTGCCGTCAGGCCGCCTTCACCGTCGTCTTCAAACATCG
+GGAAGTCGATAACCCACAGCGGTGCCCATTTGCTTTCGTCGGTCAGACCAAGGTCTTTACCCACTTTCAG
+GCGCAGTGCCCCCATCGCGTCGGCAACAATTTTCTTGTTGTCGGCACCGAAGAAAATCATATCGCCATCT
+TGCGCGCCAGTACGCTCCAGGATGGCTTCAATGATTTCTGCATTGAGGAACTTCGCTACCGGGCTGTTGA
+TACCTTCCAGACCTTTCGCGCGTTCGTTAACTTTGATGTAAGCCAGACCTTTCGCGCCGTAGATTTTAAC
+GAAGTTACCGTATTCGTCGATCTGCTTACGGGTCAACGATGCGCCGCCCGGAACACGCAGAGCGGCAACA
+CGGCCTTTCGGATCGTTCGCCGGACCTGCAAATACTGCAAACTCAACAGATTTCAGCAGATCGGCAACGT
+CGGTCAGTTCCATCGGGTTACGCAGATCCGGTTTATCAGAACCATAACGGCGTTCTGCTTCTGCAAAGGT
+CATTACCGGGAAATCGCCCAGATCCACGCCCTTCACTTCCAGCCACAGATGACGCACCAGCGCTTCCATC
+ACTTCACGCACTTGCGGCGCGGTCATGAAAGAAGTTTCCACATCGATCTGAGTAAATTCAGGCTGACGGT
+CAGCACGCAGGTCTTCGTCACGGAAGCATTTAACGATCTGATAGTAGCGGTCAAAGCCGGACATCATCAG
+TAGCTGTTTGAACAACTGCGGGGATTGCGGCAGCGCGTAGAATTTACCTTTGTGCACACGAGAAGGCACC
+AGGTAGTCACGCGCGCCTTCAGGCGTGGCTTTGGTCAGCATCGGAGTTTCGATGTCGAGGAAGCCGTGGT
+CATCCATAAAACGGCGCACCAGGCTGGTGATTTTAGCGCGGGTTTTCAGGCGCTGAGCCATTTCCGGGCG
+ACGCAGGTCGAGGTAGCGGTATTTCAGACGCGCTTCTTCGGTGTTGACGTGGTTAGAGTCAAGCGGCAGA
+ACATCTGCACGGTTGATGATAGTCAGCGAGGACGCCAGTACTTCGATTTCGCCAGTCGCCATATCGCGGT
+TAATATTTTTTTCGTCACGCGCACGTACGGTGCCCGTGACCTGAATGCAGAACTCATTACGCAGTTCAGA
+GGCCAGCTTTAACGCGTCCGCACGATCCGGATCGAAAAATACCTGCACGATACCTTCGCGGTCGCGCATA
+TCGATGAAGATCAGGCTACCAAGATCACGACGACGGTTGACCCAACCACACAGAGTCACCTGCTGCCCCA
+CGTGGGACAAACGGAGCTGTCCACAATATTCTGTACGCATGAGATATCCCTTAACTTAGCTGCCGGCGGA
+TGCCCCCTGCTGCGCAGGTGACCAAGTCGCAGCGTTAGCTGTATGTCACAACTGAATGAAAAAAGGCGGC
+TATTATACTGGAAATTCTGCCGCACCGTAAGAGCCTGGCCCGCGCTGGAACGCCTCGTTACCACTTTATA
+TCGGGCCTGAAATCAGACTCTACGCCAGTTTGCTATAAAGGTGTTGCCCGAACTCATAAAAATTAACAAA
+ATTTGTCGTTCCGCCATCGGCTAATCGCATTAAGGTGAGAGGCACGATTTTGTTTTGTCAGGAGTCATCA
+TGCTTGAACTTAATGCTAAAACCACCGCGCTGGTGGTGATTGATTTACAAGAAGGCATCTTGCCTTTTGC
+CGGTGGTCCGCATACTGCCGATGAGGTGGTTAATCGGGCAGGGAAGCTGGCGGCGAAATTTCGCGCGAAC
+GGTCAGCCCGTGTTTCTGGTGCGCGTTGGTTGGTCTGCCGATTACGCCGAAGCATTAAAACAGCCGGTTG
+ATGCCCCCTCCCCCGCAAAAGTGTTGCCCGAAAACTGGTGGCAACATCCTGCTGCATTAGGTGCAACCGA
+CAGCGATATCGAAATCATCAAACGTCAATGGGGTGCGTTTTACGGTACGGATCTGGAGTTGCAATTACGC
+CGCCGGGGTATCGATACAATAGTGTTATGTGGGATCTCGACCAATATCGGTGTTGAATCCACCGCCCGCA
+ATGCCTGGGAACTCGGTTTTAATCTGGTGATTGCCGAAGATGCCTGTAGCGCCGCTAGCGCCGAGCAGCA
+CAATAACAGCATTAATCATATCTACCCGCGCATCGCCCGTGTGCGTAGCGTTGAAGAGATCCTCAACGCG
+TTATGATTTACATCGGTCTGCCGCAATGGTCGCATCCTAAATGGGTGCGGTTGGGGATCACCAGCCTTGA
+AGAGTATGCCCGCCACTTTAACTGTGTGGAGGGTAACACCACGCTTTATGCCCTGCCGAAACCCGAGGTT
+GTCCTGCGCTGGCGTGAGCAGACCACAGATGACTTCCGCTTCTGTTTTAAGTTTCCGGCGACCATTTCGC
+ATCAGGCAGCATTACGGCATTGCGATGATTTAGTGACTGAATTTTTGACCCGCATGTCACCGTTGGCTCC
+GCGCATTGGACAATACTGGCTGCAACTGCCTGCCACATTCGGCCCACGGGAGCTGCCTGCGCTTTGGCAT
+TTTCTCGATTCTCTTCCCGGTGAATTTAATTATGGGGTGGAAGTCCGCCATCCACAGTTTTTCGCCAAAG
+GGGAAGAGGAACAAACGCTTAATCGCGGTTTACATCAGCGCGGCGTTAATCGGGTGATTTTAGACAGCCG
+CCCGGTTCATGCAGCACGTCCATACAGTGAAGCTATTCGCGACGCTCAACGAAAAAAACCTAAAGTTCCG
+GTACATGCTGTACTGACGGCGAAAAATCCACTGATCCGTTTTATCGGTAGTGATGATATGACGCAAAACC
+GGGAATTATTTCAGGTCTGGTTACAAAAATTAGCGCAGTGGCATCAGACCACTACGCCTTATCTTTTTTT
+ACATACGCCAGATATTGCCCAGGCCCCGGAACTGGTACATACCCTGTGGGAAGACTTACGTAAAACGCTT
+CCAGAGATCGGAGCAGTTCCGGCTATTCCACAGCAATCTTCTCTTTTCTGAATTTGCCACCTATCATAGA
+CAGGTGCCATCGGCCATTTTAAAGGGAGTTTGTATGGTAAGCGCGCTGTATGCCGTTTTAAGTGCGTTGT
+TATTAATGAAGTTCTCTTTTGATGTCGTTCGCCTGCGAATGCAGTACCGCGTTGCCTATGGCGACGGCGG
+TTTTAGCGAACTGCAAAGCGCTATTCGCATTCATGGTAACGCGGTGGAATATATTCCTATCGCGATTGTG
+TTGATGCTGTTTATGGAAATGAATGGCGCAGAAACCTGGATGGTGCATATTTGCGGCATCGTTTTGCTTG
+CTGGTCGTCTGATGCATTATTACGGTTTTCATCACCGTCTGTTCCGCTGGCGACGTTCTGGCATGAGCGC
+CACTTGGTGTGCGCTGTTGCTGATGGTGCTGGCGAATCTTTGGTATATGCCCTGGGAGTTGGTTTTCTCC
+CTGCGTTAGCGCACAATACGCCACTTTCTTTTTCCCGGATTTTTACGTTATGTCTCACCGCGACACGCTA
+TTTTCTGCCCCTATCGCCAGACTGGGCGACTGGACCTTTGATGAACGGGTAGCTGAAGTCTTCCCGGATA
+TGATCCAGCGTTCCGTTCCCGGCTATTCCAATATTATTTCCATGATTGGTATGTTAGCCGAGCGCTTCGT
+TCAACCTGGTACGCAGGTTTACGATCTGGGTTGTTCTCTGGGCGCGGCGACGCTCTCGGTGCGTCGCAAC
+ATTCATCATGATAATTGCAAAATTATTGCCATCGACAACTCCCCGGCGATGATTGAACGCTGCCGTCGTC
+ATATTGACGCCTATAAAGCCCCTACGCCAGTAGACGTTATTGAAGGTGATATTCGCGATATCGCCATTGA
+AAACGCATCGATGGTGGTGCTGAATTTTACCCTGCAATTCCTGGAACCTTCCGAGCGCCAGGCGTTACTG
+GATAAAATTTATCAAGGGCTGAACCCGGGCGGTGCGCTGGTGCTTTCGGAAAAATTCAGTTTCGAAGATG
+CCAAAGTTGGTGAACTGCTGTTCAACATGCACCACGACTTTAAACGTGCCAACGGTTACAGCGAACTGGA
+GATCAGCCAGAAACGCAGCATGCTGGAAAACGTGATGCTGACCGATTCCGTGGAAACCCATAAAGCACGC
+CTGCATAAAGCCGGTTTTGAGCATAGCGAGCTGTGGTTCCAGTGCTTTAACTTTGGTTCACTGGTGGCAT
+TAAAAGCAGAGGACGCTGCATGATCGACTTTGGTAACTTTTATTCTCTGATTGCCAAAAATCATCTTTCA
+CACTGGCTCGAAACGCTGCCCGCGCAGATTGCTAACTGGCAGCGCGAGCAGCAGCACGGGCTGTTTAAGC
+AGTGGTCCAACGCGGTGGAATTTCTGCCTGAAATTAAACCGTATCGTCTGGATTTATTGCATAGCGTAAC
+CGCCGAAAGCGAAGAGCCACTGAGCGCCGGGCAAATTAAGCGCATTGAAACGCTGATGCGCAACCTGATG
+CCGTGGCGCAAAGGGCCGTTCTCACTGTATGGCGTCAACATCGATACCGAATGGCGTTCCGACTGGAAAT
+GGGATCGCGTTATGCCCCATCTTTCTGATTTAACCGGGCGCACCATTCTTGATGTCGGCTGTGGCAGCGG
+TTATCACATGTGGCGCATGATTGGCGCAGGGGCGCATCTGGCGGTGGGTATCGATCCCACGCAGCTATTC
+CTCTGCCAGTTTGAAGCAGTGCGTAAACTGCTGGGTAACGATCAGCGCGCACATTTGTTACCGTTAGGTA
+TTGAACAACTTCCGGCACTGAAAGCCTTTGATACCGTCTTTTCGATGGGCGTGCTTTATCATCGTCGTTC
+ACCGCTGGAGCATCTCTGGCAGTTAAAAGACCAACTGGTGAATGAAGGCGAACTGGTGCTGGAAACGCTG
+GTTATTGATGGCGACGAAAACACGGTGCTGGTGCCGGGCGATCGTTACGCTCAAATGCGTAATGTCTATT
+TCATTCCTTCCGCGCTGGCGCTGAAAAACTGGCTGAAGAAGTGTGGTTTTGTTGATATTCGCATTGCAGA
+TGTGAGCGTTACCACCACAGAAGAGCAGCGACGCACCGAATGGATGGTCACCGAGTCTCTGGCCGATTTT
+CTCGACCCGCATGATCCGGGTAAAACGGTGGAAGGTTATCCTGCGCCTAAACGCGCGGTGCTGATTGCGC
+GCAAGCCGTAAAGGTCTGGTAATACTGCCGGATGCGGCGTGAACGCCTTATCCGGCCTACAAAGTCTTGC
+TAATTCAATATATTGCAGGGGCTATGTAGGCCTGATAAGCATAGCGCATCAGGCAGTTTTGCGTTTGCAT
+AACCTCAGCGCCCGTTTCCGGGCGCTTTTCACGTCTTATGCCTGAACAGCTGGCTGATCAAACGCCGTTA
+ACTTCAGCGCATTGCCCGTATATTTTTCGATATACACCAGCGCAGAGTTACCGGCACAGGCATTCGCCAG
+CTGCGAGCTGGAGATATCCGCCGTTAACACGTTCGCACTACCGTTTTTACACAAGCCATTTTCCAGATCT
+GGCCATGCACCTTCATGTACGCATACCACGCCTTTTTTGATCCCGTCAGTCACCACCGCGCCTGTCAGAA
+TCTGACCGCGCTTGTTCCAGACACGCACCAGATCGCCATTTGCAATACCAAAGCGAGCAGCATCTTCGGT
+GTGAATAGTGATTGGTTCACGATCGGCAACCGCATATTTTTTACGTAGTTCCGCATAGTTAAGCTGACTG
+TGTAAACGGTGTGCCGGATGTGCGGTCAGAAGCTGCAACTGCTTCTCGTCGGCGGTACCCTTCCACTCAT
+CAGGCGCAAGCCAGGTTGGGTGTGCCGGGCAATCCTTATAGCCAAATTTTTCCAGCGTTCTGGAGTAAAT
+CTCAATTTTGCCGCTTGGTGTACCCAGCGCATTTTTCACCGGATCGGCGCGGAAATCACCATAACGAATG
+TACTGTTCGTTCTTCTCGCTGCGGCGCATTTCGATCAGTTTATTTTGCTGCCAGAAGGCATTAAACATCG
+GCATAGTCACGCGTTGCGCACGCGCACCTTTCTGAGCGACATCATAGAAAAATTTCAGCCACGCCATTTC
+ATCTTTACCTTCGGTATAGATCTCTTTTCCGCCAGGTTTGAGTAATTCAGCAAGATCGGCAAACACGTCA
+AAATCGTTGCGCGCTTCAAATTGCGCAGCGACAGCCTACTTCATCGGCACAATATGCTGGTTGCTGTAAT
+CACCGGTCATCGTCAGGTCATTGCGCTCAAACGATGTGGTGATCGGTAATACGATATCTGCGTGTTTGGC
+TGCTGCGGTCCAGTAGCATTCAGAAACGACGATCATCTCCGGTTTCTGCCATGCTTTAATCAGACGATTA
+GTATCCTGGTGATGGGTAAAGTTACCGCCACCCGCCCACCAGATCATTTTGATATTCGGATACGTTTGTT
+CTTTACCGTTATGCTGATATTTGCCGCCAGGATTTTCCAGCGCATCGACGATACGGGCAACAGGAATCGC
+CGTCATTCCGCCATCATCAGCGGCCTCGCTGGCCTGTCCGGCAATCGCCGCAGACATTTCTGGTAGCACG
+CCGCCAACACGCGTCGGGTTGCCACCGTTGGAGTAATGATAAGAGAAACCAAACCCGCCGCCCGGTGTAC
+CAATCTGCCCTAACATCGCCGCCAGCGTCACCAGCATCCAGTGTTTCTGTTCACCATATTGCTGGCGCTG
+AATTCCCCAGCCTGCCATCAGCATTGTGCGATTTGCCGCCATCAGTTCAGCGAGTTTGACTATCTGCGCT
+TCCGGTACGCCAGTAATTTCCGCCGCCCAGGCCGCGCTCTTCGGCGTATTATCGCTCTTACCTGTCAGAT
+ACTCTTCAAACTGCGGATACCCGGTAGTGTATTTTTCAAGGAACACTTTATCGTGTTTGCCTTGTGTCAT
+CAGGGTATGCGCAATCCCTAACATCAGTGCCACGTCGGTACCCATATTCGGTGCGATCCAGGTGGCATTA
+TCGCCAAAGAATTCGATGGTTTCGGAGCAGATAGGATCAATGGCAATCACTGGTTTGCCAGATTTTTTCA
+GCTGATGGAAGTATTCCAGCCCTTGCTCATCGGTACTGCTCCAGGCAATTTTGAGCGTGTTCAGCGGGTT
+CATCCCCCACAGCACCACCACCTGGCTGTTTTCCAGAATCAGCGGCCAGGAGGTCTGCTGTTCATACACC
+TCTACAGAACCGACCACATGCGGCATGATCACCTGTGCCGCTCCGGTTGAATAATCGCCGCTATGCCCGG
+AATAACCGCCCGCCAGGTTCATATAACGTTGCAGTAAGGTTTGCGCTTTATGCAACACGCCAGAAGAACG
+CCAGCCATAAGATCCGGCAAAAATGGCCGATGGTCCGTTAGCTTTGCGAATGCGATCGTGTTGTTCATGA
+ATCAGTTTTAATGCTTGTTCCCAGCTCACCTGTACATAGGTATCTTCGCCACGACCTTTCACCGGTTGCA
+GTGGATTATCGAGATAGCTTTTTCTCACCATCGGATGCTGAATACGCGCCGTGGTGTGTACCTGATCCGC
+CGCCGTAGACTGTAAGGAGTTCGGTATGGTTTTCGCCAGCGCGCCTGTCGAAGAAACAATCTTGCCGTCC
+TTCACTTCTACGTTCATCGCTCCCCAACGGCCCGCGGTGAGAATTTTGCCGCCCTTTTCTTCTGCCCATG
+CGGGTAGCGGTGCAGCCGATGTCACCACCAGCGTCCCTGCCGCAATACCGCTATGTTTAATAAATTCACG
+TCTTGTTAATGTCATAACTTCCTCCCTGATCAACGAGGATCACTGTTTCTCGGTAATATCTTTGCCGTTG
+TACTGGAAGTACCGCGTCAAAATGTCCAGTTCGTTTTCGCTCATGCTGGTTCGCGCACCCATTCCTTTGG
+CAATGGACGGCCATGCATTGACGGTGTAATGGTCGGAGGCAATAGGGGCATGGCAACCAGCGCAATAGGT
+ATCGTCAAGTTTTTCAGCGTATTGCCATAGAGGTTTACGGTCCGCTAATGCGGGATCGGTAAGCACACCC
+TGTAAAGACGCCTGACGCCATTGATTGCCGTATTCGTCAGCCTGCCATTCCCCGTTTACCGTCAGCGCCT
+TGATACCTTCTTCACTTAATGTGGCTAGCGCCAGCCGTTGACCTGCCGCCAGGTAGAGCGTGTTTTCACT
+GCCCTGCATTTGATAACCCTGCAACAGAACGATCGGCTGTTTGCCACTGGCATCAACGACGGTGAGATCG
+GTACCAGGATTCACGGTAGCCAGTTCGCCTATACGAGAAGGTTTGAAAGGATAAATATGTGCGCCATTGG
+TAACTGAAGTAGCGGCCTGACTTTCCAGCTCATGCGCCGCGTTGTCATCCATTTTTATTTCTGGCGGACA
+ATGGGCAATGCCTTTATGGCAATCGATACAGGTTTCGCCGTCCTTTTGCGCTTTATTATGCATTTTCTGC
+GCAGATTCACTTTGCGAGGCAATATCCATGGCATCAAAAGAATGGCAACTACGGCAGGTTGCAGAGTCAG
+TTGCTTTTAATTCCTTCCATACTGTTTCGGCCATTTCCTGGCGATGAGCTTCGAACTTATCGTCACTGTC
+TATTTTGCCGCTAACAAATTCATGATAAATATCTTTAGATGCTTTTAATTTAGCAAATAAATAATCCATC
+CCTGACTTTGGAATATGGCAATCGGCACATTCCGCACGTATCCCTTTCTGGTTTGAAAAGTGGACAGTTC
+CCTGATATTCCTCAAAAGGTTTACTCATCGAGTGGCAGGAAAGGCAAAATGCAGTATCCGACGTTTTATG
+TAAGGCTTTTTGCGCCAGCAATAACCCGCCGCCACCAACCGCAACCGCTATCAGCAAAAACAATAACCCA
+ATGCGTTTTTTCCCTCGCATAGATTCCTCTAATTAAATTCCAGGACACCGATACCATTGTATAAATAAAT
+ATACAACGAATTGACTACTTGCTTAATTCGGCACAACACTGCCTGAAATAATCGATAAAGAATATGATTT
+ATTACAATGTAATCATTAATTGCTAAGGAATAACCTAGTTGTTATTTAGAATATATATTTGTCAGTTTTG
+GCAATTTAAATCACATAATGAATGTGAATATATAAAATATTTTTAGCACAACGCTATGCGCACTGTCACC
+CGCTCAACAGATCACGGTAATCGTTCGTTTTTTATACTGCCCAGGGATAAAAAAAGGCCCCTGTTGAAAT
+TGCAGGGGCCTGGTACGAGCAAGCATCATATTGGGCGACATGATGCAACGGTAAAAATCATTTGGCCTGA
+TGGCGTTCAATGATTCCTTTCATTTCAGCAACCGCCGCCCCGTCTACGACATAACGCGAATACTCGTCCG
+CGTGTGCATCTGATGACATGGACAATCCTTGATTACGATAACGCATCGGTGAGGCTTGCCACGCTCCCGC
+GGAGCTATGGACTTCCAGCACTCCGGCATCGAGGAAGTGGTGCAGGTTTTCCGCACGGACTCCTGCTCCG
+GCCATAATGATTGGAGCATCACGATGGGCAATAAGTTCCATAATTTTTGATAAACCTTGCAGTGCGTCTG
+ATTTTTGCCCTGATGTCAGTACCCGGGCAATGCCCAATTCCGTAAGATTATTGAGTGTATTTAAAGGGTT
+AGCGCACATATCGAAGGCGCGATGAAAAGTCACTGCCAGCGGACCGGCAGCAGCCATTATTTTTTCCATT
+CGTGGCATATCGACATTCCCGTCAACATCGAGAACGCCCGTCACCAGTCCAGGAAAACCTAATTCGCGGA
+CTGTGCGCACATCTTCAAGAATGGCGGCAAACTCACCGTCGCTGTAGCAAAAATCACCACCGCGTGGGCG
+GATAATCGGATGCACTGGGATCGTCACCCGCTGGCGCACGGATTTCAGTACCCCCAACGACGGCGTTAAG
+CCCCCCTCTTTTGGAGCTGCGCATAATTCAACTCTGTCAGCGCCGTTTTGCTGCGCCGTTAGCGCGCATT
+CCATGCTGTAACAGCAAATTTCCAGTAATGCCATTTTTGCTCCTTAGTTACGCCGACTGCTCGCTGGCAA
+CGATCTCTTCAATGGACCACGGATGAAACTTAATGGTTGTTTTACCATCGGTGACCGCCAGCGTCGGATT
+CGGTAATCGTTCATGCTCACCTTTTGGCGAACTGGTTTTAACTGAGATCCCCGGCAGGCTGAGTCCTTCA
+TCAGAAAGCAATGCCAGCGCACGGGCATTCAGCGTTTCTGGATCACCCGGCAGAACGATTTCAATATGTT
+CCCAACCTTCGTGCGGGTAACGTTTTTCCCCGGGCCACGGTAGCTCCACAATGGAAAACTGCCAGTGCGC
+AACCTGTACCGGTTCATGCAATTTAAACAGACAAATCGGTCTGCCATTGATCATATTTTCTGACAAAAGC
+TCGCCGCACTGTTCAAACCCGCGACGCCAGCGTTCAGCGGTGACGTTTTGATGGCAACGCAAGGAAATGT
+GATCGGCAGTCAGCGGAGTGATATCCAACCCCAGACGGCGGGAAAGTTCATCTAATGCGTGGGTAAATCG
+CGGTAAATCCGATGCAATATCCTGCAGCTCGTCGATAGATTGCCAGTTCGCCATAATCACTCTTCGTCTT
+TCATTAAAAGCGTTAATTTACCCTGTTGCCCTGCGCCAACCAACCGCTGATTTCGCGCCGCTCCTGATGC
+AATAGTGAAAACGGCAATACGCCCCGCGCACGTTGCTGACGAAAACAGCCATTTGCAGTATACTCCCGCC
+CTAATTTCTTTAACTGGTGCGGGCAATTTTTGCTCGCTTCATCAATGTAAGGTATTCCGGTGAATATTCA
+GGCTCTTCTCTCAGAAAAAGTCCGTCAGGCCATGATTGCGGCAGGCGCGCCTGCGGATTGCGAACCGCAG
+GTTCGTCAGTCAGCAAAAGTTCAGTTCGGCGACTATCAGGCTAACGGCATGATGGCAGTTGCTAAAAAAC
+TGGGTATGGCACCGCGACAATTAGCAGAGCAGGTGCTGACTCATCTGGATCTTAACGGTATCGCCAGCAA
+AGTTGAGATCGCCGGTCCAGGCTTTATCAACATTTTCCTTGATCCGGCATTCCTGGCTGAACATGTTCAG
+CAGGCGCTGGCGTCCGATCGTCTCGGTGTTGCTATGCCAGAAAAACAAACCATTGTGGTTGACTACTCTG
+CGCCAAACGTGGCGAAAGAGATGCATGTCGGTCACCTGCGCTCTACCATTATTGGTGACGCAGCAGTGCG
+TACTCTGGAGTTCCTCGGTCACAAAGTGATTCGCGCAAACCACGTCGGCGACTGGGGCACTCAGTTCGGT
+ATGCTGATTGCATGGCTGGAAAAGCAGCAGCAAGAAAACGCCGGTGAAATGGAGCTGGCTGACCTTGAAG
+GTTTCTACCGCGATGCGAAAAAGCATTACGACGAGGATGAAGAGTTTGCCGAGCGTGCACGTAACTACGT
+GGTAAAACTGCAAAGCGGTGACGAATATTTCCGCGAGATGTGGCGCAAACTGGTCGACATCACCATGACG
+CAGAACCAGATCACCTACGATCGTCTGAACGTGACGTTGACCCGCGATGACGTCATGGGTGAAAGTCTCT
+ACAACCCAATGCTGCCGGGTATCGTGGCGGACCTGAAAGCCAAAGGTCTGGCAGTAGAAAGTGAAGGCGC
+GACCGTTGTATTCCTTGATGAGTTCAAAAACAAGGAAGGCGAACCGATGGGCGTTATCATTCAGAAGAAA
+GATGGCGGCTATCTCTACACCACCACTGATATCGCCTGTGCGAAATATCGTTATGAAACACTGCATGCCG
+ATCGCGTGCTGTATTACATCGATTCCCGTCAGCATCAACACCTGATGCAGGCATGGGCGATCGTCCGTAA
+AGCGGGCTATGTACCGGAATCCGTACCGCTGGAACACCACATGTTCGGCATGATGCTGGGCAAAGATGGT
+AAACCGTTCAAAACCCGCGCTGGCGGTACGGTGAAACTGGCCGATCTGCTGGATGAAGCCCTGGAGCGTG
+CACGTCGTCTGGTGGCAGAAAAGAACCCGGATATGCCAGCCGACGAGCTGGAAAAACTGGCTAACGCGGT
+TGGTATTGGTGCGGTGAAATATGCGGATCTCTCCAAAAACCGCACCACGGACTACATCTTCGACTGGGAC
+AACATGCTGGCGTTTGAGGGTAATACCGCGCCATACATGCAGTATGCTTACACGCGTGTATTGTCCGTGT
+TCCGTAAAGCAGAAATTAACGAAGAGCAACTGGCTGCAGCTCCGGTAATCATCCGTGAAGATCGTGAAGC
+GCAACTGGCAGCTCGCCTGCTGCAGTTTGAAGAAACCCTCACTGTGGTTGCCCGTGAAGGCACGCCGCAT
+GTGATGTGTGCTTACCTGTACGATCTGGCCGGTCTGTTCTCTGGCTTCTACGAGCACTGCCCGATCCTCA
+GCGCAGAAAACGAAGAAGTGCGTAACAGCCGTCTGAAACTGGCACAACTGACGGCGAAGACGCTGAAGCT
+GGGTCTGGATACGCTGGGTATTGAGACAGTAGAGCGTATGTAATCGCGTTATACGGCAACAGCCGATGTC
+ATTGCAGACATCGGCTTTTTTATCATTAACGATAATTTACAATCACTTCATTCCGCTGAATCTTTAGCGG
+CGGAATTAACCGCCCACCGCCAGGCACTTCCCAGATAAAGCGCAACGGTTCTGCCGCCGGTATACCGGAA
+AAGGCCACGGTGGTTCCACTCTGCCCCTCTAATTCGACACAACGAGATTGTGAACACAAGCGAACCCGCA
+GTCCTGCAGGTGTCGGACCGATAAGCTGATAACGCCACGCCACCAGCGTCATCAATCCTGAAGCAGGTTG
+TCGCGTAGAAAGAGGCGCTGACGACATCGATTCACCGCGATGATTTAGCGTAACGCCCACGCTACTCGCC
+TGCCACATCCCCTCCCCGGCGGCTTGCACCAGCAGCGGAAACAATAATATTGCTAATAAGGCTCTCATTA
+TTTGCCGCCAATCGTCGCCGTCATACGGATATGTCGGTTATCTGATAGTTCCAGATTCGACAGCACCACT
+AACTGCGGCAAGCTGCGGCGCAGGAAGCGAGACAATAATGGTCGCAGCGCGTGGTTCACCAACAATACCG
+GCGGCGCACCCAACATCTCCTGACGGGATAGCGCTTCCTGAGTTTGCGCCAGTAAACGATCCGCCAGCCC
+TGGCTCCAGTCCTCCCCCGCCTTGCAAAGCCTGTAACAGTAAACGCTCCAGTGGTGTATCGAGGCCAATA
+ACATGGACTTCATCTTTGCCAGGAAACCACTGCTGGGTAATCGCCCGTCCCAACGCTACGCGCACGACGG
+CGGTTAATTCATGCGGATCGCTCTGGATGGGCGCATGTTCCGCCAGCGTTTCGAGAATGGTGCGCATATC
+GCGAATCGGCACTTTTTCATCGAGCAGATTTTGCAGCACTTTATGCAGTGTGGTAAGCGTGACGACGCCA
+GGAACGAGATCTTCCGTCAGCTTTGGCATCTCCTGGGCGACGCGATCCAGCAGCTGTTGCGCCTCCTGAC
+GACCAAACAGCTCTGCGGCATGCTGGCTAATGAGGTGGTTAAGATGCGTTGCCACCACCGTGCTGGCCTC
+AACCACGGTGTACCCCTGAATCTGCGCCTGTTCTTTAAGCGCACTTTCAATCCAGATAGCATTCAGGCCA
+AATGCCGGATCAACGGTCACTTCACCAGGTAATGTTCCGGCGGCAGTGCCTGGATTAATTGCCAGCCAGC
+GCCCCGGATAAGCATCACCACTCCCCATTTCGACACCTTTCATCAAGATACGATAGCGGGCTGGTTGCAA
+ATCCATGTTATCGCGGATGTGCACCACTGGGGGTAGGAAGCCCATCTCCTGGGCAAATTTCTTGCGGATA
+CTGCGTATACGGCCCAACAACTCACCATCCTGCTGGAAATCGACCATCGGGATCAGTCGATAACCCACTT
+CCATTCCCAGAGAATCTTCCAGTTGTACATCGTTCCACGTCGCTTCGACAACGGTATTATTCTCTGCCAT
+TTTTACCGGTTTTGCTTCGGCAGGCGCTTTTTGTTCACGTCCGCGGATCCACCAGGCCAGTCCCAGCAAT
+CCGGCAGTGAACAGCAAAAATACCAGGTTCGGCATTCCAGGCACCAGGCCGAGTAAACCGAGCACGGCGG
+CGCTTAACAACATAACGCTCGGATTACTGAAAAGCTGATTCACCATCTGCTCGCCAACATCCTGATCGGT
+GCTGACACGTGTAACGATGACGCCCGCGGCGGTAGAAATCACCAGTGCCGGGATTTGTGCCACCAGACCG
+TCGCCAATGGTCAATAGCGTATAACTTTCCGCCGCGTGCCCCATGCTCATGCCATGTTGCAGCACACCGA
+CCAGCAATCCGCCGACAACGTTAATGACCATGATGAGGATCCCAGCGATGGCATCGCCGCGAACAAACTT
+ACTTGCCCCGTCCATCGAGCCGTAAAAATCGGCTTCCTGAGTCACTTCGGAGCGGCGTTTTTTCGCTTCA
+TCTTCACCAATCAATCCAGCGTTAAGGTCGGCGTCAATCGCCATCTGCTTACCCGGCATACCATCGAGAA
+CAAAGCGCGCGCCCACTTCCGCAATACGCCCGGCACCTTTGGTGATAACCATAAAGTTGATGATCACGAG
+AATGACGAACACCACGATACCGATAGCGAAATTGCCACCAACGAGGAAGTGACCGAACGCTTCGACCACC
+TTTCCAGCCGCCGCCGCGCCGGTATGCCCTTCCATCAAAATGATACGGGTTGAAGCCACGTTAAGTGCCA
+GACGCAACAGCGTGGTAAACAACAGGATGGTCGGAAACGCAGCAAACTCGAGCGTGCGCTGGGTAAACAT
+CGCCACCAGCAACACCATGATCGACAAGGCAATATTGAAGGTAAACAGCAGGTCGAGTATGAATGCGGGC
+AGTGGCAGTACCATCATCGACAAGATCAACAGGATCAAAATCGGTCCGGCAAGGATCTGCCATTGTGTCG
+ATTTCAGGTTTGCAGGCAGGCGCAGCATCGCGGCCAGATTACTCATGGGTCGGTTTCTCGTTAATAAAAT
+CCAGGGCTTCCGGCACCGGAAGATGAGTAGGTTGTACAGGGCGCTGTCCACCAGCCAGACGCCAGCGTTT
+CAGTTGCCAGACCCAGGCCAGCACTTCCGCCACCGCGGCGTACAGTTGACCCGGGATTTGTTGACCGATC
+TCCGCATGTCGATACAGCGCACGCGCCAGCGGCGGCGCTTCAAGCGTCGGGACGTTATTTTCAGCGCCAA
+TTTCACGAATGCGCAGCGCGACCAGCCCTGCACCTTTAGCGACCACTTTCGGTGCGCTCATTTTGTTTTC
+GTCATACTGCAACGCTACCGAATAGTGGGTCGGGTTATTGACAATGACATCCGCTTTCGGCACATCGGCC
+ATCATCCGACGCCGTGCGGCCGCTCGCTGCATCTGACGGATCCGCCCTTTAACATGGGGGTCGCCTTCGC
+TTTGTTTGAACTCATCACGAATATCCTGCCGTGACATTCGCAGCTTTTTCAGGTGGCTGAAGATTTGGAA
+AAAGACGTCAAATCCCACCATTGGAATGACACCAAGCACCACCAGCAGCGCGCATAGCCCTACCAGATCC
+ATCGCATTACCCATGGCGGTAATCGGAGACTCGGCCATTAAGCGCATCATCTGCGGCCAGTGATGCCAGA
+GAAAAAACCCCGTCACGCTGCCAACCAGGATGGTTTTCAAAATTGCCTTAAGCAACTCCGCGCCAGTCTG
+TGCCGAGAACATCCGTTTAATGCCCGGTAGCGGGTTGAGTTTGGAAAACTTCGGCTGCAAGGATTTTCCG
+CTAAATACCAGCCCCCCCAGCATAACCGGAGAAATAATCGCCACCAGCACCACGCCGCTAATCAGCGGTA
+GCAGCGCCAGCATGGCTTCTCTGATCAGCAGAATAATCTGCCCGAGGATCAGATTCGGGTCATTGATAAT
+ACTGTGATCAAAATGCAGCCCTGCGGAGAGCATGCCCGACAATCGACGGGCCAGCGACACACCGCCAAAC
+CAGATAACACTAACGCCCACCAGCAAAATCAGCAGTGAAGTCAGTTCGCGGGAACGCGGGATTTGCCCCT
+CTTCCCGCGCTTTTTCTAGTCGGTGAGGTGTGGGGGCTTCTGTTTTGTCGTCGCTCTCGTCAGACACGTC
+GCCAATCCTGGAAAGAGTATTAAGCGTAAATGATGCCAGAGCGCAAAGTGTTCAATGGTTTGAGTAAGGG
+GCAAAACAGGCGGGATTTAGGGCTTTTGCCACAGCACATCAGGCATGGTGACATGTTTGTCGGGTACGGC
+GTAAACGCCTTATCCAACCTTGAAGATCTGATGTGACGCGGCCACGTCACATCAGGCAATACAAATCAAA
+ATCCAAGACTATCCAACAAATCGTCCACCTGATCCTGACTGGCTACCACACCGGCTTTGCTGGTATCGAC
+CTGAGGTCCATTAAGCAAACTCTGGTTTTCACGTTTTGGACGCGACTCCTGTTCCGGGATGTTTTCCAAC
+AGCACCATCAGCAACTGACGTTCGATCTCCTGAATGACATCCATCATCCGCTTAATGACCTGTCCGGTGA
+GATCCTGAAAATCCTGCGCCATCATGATTTCCAGCAGTTGCGCGTTAGTAAAGCTGGTATGTGCGGGGAC
+ATCTGCCAGAAATTGCCGCGTGTCTGTTACCAGTTCACGGGCGTCGGCAAGGTCAATCGGATCGGCAAAC
+CAGTCATCCCAACGTTGGGTTAACGCTTTTGCTGATTTCTCCATTTGATCCTGATGCGGTTGTGACGCCT
+CAACACTGTTCAGCGCCCGCTCCGCAGCCTGGGCGGTCATCTGCACAACATAGTACAAACGATCGCGCGC
+ATCGGGGATAGCTTCCGCGGCTTCGGCAATGGCCTGATCCAGCCCCAGTTCCCGCAAACTGTCGCGCAGC
+ATACGCGTCAGGCTGCCGATGCGCGCAATGATATCGCCAGCTGAATGCTCGTCAGCAGGTTTGATTGATG
+GTTGCATCATAGTCGCATCCTCACATGCCCAGTTTCTCAAAGATTTTGTTGAGTTTTTCCTCCAGCGTCG
+CGGCGGTAAATGGTTTCACCACATAGCCACTGGCCCCCGCTTGCGCCGCAGCAATGATGTTCTCTTTCTT
+CGCTTCTGCAGTCACCATTAACACTGGCAATGCCGACATCGCGCCATCCGCACGAATCGTTTTCAGCAAC
+TCCAGGCCATCCATATTGGGCATGTTCCAGTCGGAGATAACAAATCCATAACCGCCTGCCTGCAACTTAT
+TGAGAGCGTCGAGGCCATCTTCCGCTTCCTCAACATTATTGAATCCCAGCTCTTTCAGCAGGTTACGCAC
+TATGCGTCGCATGGTGGAAAAGTCATCCACAACCAAAAATTTAAGTTCTTTATCCGCCATTTCACACTCC
+TGATTTAAATACGTATCGCCTGTCCGGCACTAATTTTTGCCAGCATTTGCTGACTTACCTGGCTAAGATC
+GACCACTTCGCAGACACCACCCATATTGATGGCCTCGCGCGGCATGCCGAACACCACGCAACTTGCTTCG
+TTTTGCGCAAGGGTCCATGCCCCCGCCTGACGCATCGCCAACATTCCCGCCGCGCCGTCGTTGCCCATAC
+CGGTTAGGATTACCCCAACCGCATTACGCCCCGCCTGTTTGGCCACAGAATGGAACAACACATCTACCGA
+TGGCCGATGGCGATTAACCGCCGGGCCATCGTGAATTTTGATTTGATAATTTGCGCCACTACGCGCCAGC
+TCCATATGCCGATCGCCCGGCGCGATATAGGCATGTCCCGGCAAGACGCGCTCTCCGTCTTCGGCTTCTT
+TAACCCCGATCTGGCAAAGCTTATTAAGTCTGTCGGCAAAAGAGCGGGTGAAACCGGGCGGCATATGCTG
+GGTAATTAACAGTGCCGGACTGGAAAGCGGCAACGGTTGCAGTACGTGACGAATTGCCTCAGTTCCACCC
+GTTGAAGCACCAATCGCAATCAGTTTTTCAGAACTCAACAACGGCCCTGCCTTCAGCGTTGTCGGTACCG
+ACAATGGCTTATGTGCTGCAAGGCTCGCCTTTGCTGCCGTACGCACCTTTTCAGCAATCATTTCGCTATA
+TGCCAGCATTCCTTCGCGAATACCCAGTTGCGGTTTGGTGACAAAATCTATCGCCCCCAGCTCCAGCGCG
+CGCAGCGTAACTTCTGACCCTTTGCCGGTCAGGGAAGAAACCATCACAACGGGCATTGGACGCAAACGCA
+TTAATTTTTCGAGGAAATCCAGTCCGTCCATCCGCGGCATTTCAACATCCAGCGTCAATACATCGGGATT
+GAATTTCTTAATCAAATCACGCGCAACCAGCGGATCAGGGGCGGTCGCCACCATTTCCATGTCGCTATGG
+CTGTTGATGATTTCTGTCATGATCTGGCGCATCAGTGCCGAATCATCGACAGATAACACCCTGATTTTGC
+TCATCGTTAATCCTTACTTAGCGCATACACCGTCTGACCACGCAGCGTGAAGCGGCGCTCAAGGTGGCTA
+AAGTTTTCAGAGTGACCCGCAAACAGCAATCCGTCGGGTTTAAGGAGCGAAACAAAGCGGCGCAAAATCT
+CCTGCTGGGTAGTTTGATCGAAGTAGATCATGACGTTACGACAGAAGATCGCATCAAACGGCCCCGGCAC
+GGTGTACTGTTTCGCCAGCAAATTCAGCGGGGCAAAATCAACATAGTTCGCCAGCTCCTGACGCACGCGT
+ACCAGCCCTTCATGCGGTCCCGTCCCTCGCATGAAATACCGTTGCAGTTGCTGCGGCGTCAGGTTTTTCA
+ACTCTTCATGGCGATAAATACCGCTTCTGGCTTTTTCCAGCACTTCGGTGTCGATATCGCTGGCAAACAC
+TTTCCAGCGTCCGGGCGCGGTGCCCAATGTATCAGCCAGCGTCATCGCTATGCTGTACGGCTCTTCGCCG
+GTTGAAGCCGCCGCGCTCCATACGCGATACTCGCCAGAACGGCGACGTGCGTGATCCGCGAGCAGAGGAA
+AATGGTGTGCCTCACGGAAAAATGCCGTCAGATTCGTGGTCAGCGAATTGATAAACGCCTGCCACTCACC
+GCTGTGCTGATTAGATTCCAGCAAGTTCAGGTAATGACCGAAATCCGCCAGTCCCAGCGCACGCAAACGA
+CGAACCAGTCGGTTGTAAACCATGTCGCGTTTATGGTCAGCCAGAACGATCCCGGCTCGTTGATAGATCA
+ATTGACTTATCCGCCGAAAATGCGCGTCGGAAAGCGCCAGGCGCTCGGTCATCTGTAACAATAAAGACGT
+TTGCCCACAGGGCAGAGATGAAGTCATAGCGCCTTCTCAATCACTTCAGGATACCACTGGCGCAATTTGT
+AACTGCGCCGACTCATGTCGTGCTACTTCATGTTCTTCAAGGGTAAATACCGCCACACGCGACGAAAGAT
+GGTCGGCCTGATTCAGTCGTTGCAAATCGTCGCGAAATGCCCAAAAGACATGCCGTTACTGCCAATCTGC
+AAGATCCCGCAGAGAATCAAAATTAAAAACAGCGTGGTCGAAATTCGAATACGATTAAACATCAACGCTC
+CCCATCAGGCGGCAATGACCGCTTTAGTAAATACTCGTCAAAATGTTTCCCAGTTTGGATCTTGTTCAGC
+AATTCGCAGTCGTGGCTGTGCAGGTGGTTGCTCACTGGCAGGACGGGATGGTGTTTGCGGTTTATTGGTG
+AGTGGGCTGGCTGCCAGACGGAACGCGGAAACCGCTTGCGTTAAACGACTCGCCTGTTCTTCCAGCGCAG
+CTGCGGCGGCAGCTGATTCCTGCACCAGCGATGCGTTCTGTTGCGTGACGCGATCCATTTCCGAAACCGC
+CAATGCGACTTGATCGATGCCACGACTCTGTTCATCCGATGCTGATGCAATCTCGCCCATAATGTCAGTC
+ACGCGAGTGACAGCATTGACGATATTGTTCATTGTTTCCCCAGCGCTTTCGACCAGCACCGAACCGGTAT
+CAACGCGCGAGACGGAGTCTTCAATGAGGGCTTTGATCTCTTTTGCCGCCTGTGCACTGCGACTGGCAAG
+ATTACGCACTTCACCCGCCACCACGGCAAAACCACGGCCCTGTTCACCCGCTCGCGCGGCTTCAACAGCG
+GCATTCAGCGCGAGGATATTAGTCTGGAAGGCAATACCATCAATAACGCTGATAATGTCGGCAATTTTCT
+TCGAACTATCGGCGATCTCATGCATCGTTTTCACTACGCCATCCACCACTTTGCCGCCGTGCTGGGCGGT
+GTCGGAGGCACTTTGCGCCAGTTGCGAGGCCTGGCGGGCGTTATCGGCGTTTTGCTTCACTGTCGCGGTG
+AGCTGCTCCATGCTGGCGGCAGTTTCTTCAAGCGCGGATGCCTGCTGTTCAGTACGGGAGGAAAGATCGG
+TGTTGCCCGCCGCAATTTCACGGGTACCGGCATAGATGGCATCTGAACCTTCGCGCACATGAGTGACCGT
+GTCAGTCAAAGAGCGTTGCATATGTGAAACGCTCTGCGCCAGGTCGCCCATTTCACTGCGCCCGTCAATG
+GTCAGGGTATTCGCCAGGTTACCACCGGCAATTTCGCGAATATGCGCAATAATTTTTGCCAGCGGTGTAA
+GCAACATACGGCGAATACCGTACCACGCCACCAGCAGAATCAATACCACCACCAGCGCGATAACCACCAG
+TTGCCACTGGGCAAATCGGTAATCATCTGCGTTGTCAGTGACGATATCGCGATACAGTTTTTCACTGCTG
+AGGGCGTACTGAGCAAACGCTTCGCCCATTGCATTTTGCATTCCCTGGGTTGGCTGAGCGAAATAAGCTC
+CAGTATTGCCATAATCAAGATAATCAATCAGTTCAGTTAACGCTGTGTGATAGTTTTTATATTTTTCATC
+AATATTACGACTGGTAGCGACCATTTCAGGTAACGGTGCCATGCTTTTGAATTTTTTATAATGAGTCGCG
+GCCTGGGCCAATGTTTTCCTGGCGCTATCGAGCAATTCAACTTTGGCATTACTTTGCTGATTGGATGAAT
+CCATCATCATCCGCACCGCTGAACGACTCAGGTTAATGCGCGTTTGCAGCATTAAATCCCAGGTTGACGT
+CAGCTCGCCCTGCTGTTCCCGTAATTGATTGGAAACCACAAAGCTCTTCTGGCTATGGTGAAGGGAAGAA
+AAAAACAGACTGCCGGAAATAAGCTGTAACAGTGCGAATACCCCCAGCACCATTACCAACAGCGTGACTA
+CGCGGATACGGTTAATCATAAGGCACCTTCCTGAAAACAAGTTGATCTCGTTATCGGCAAGGAGGGGGGA
+AACTTTATTGCTGATGCCACCCGCCGCGCAATTGAAATAAAAAACCCGATGCGCAGATCATCGGGTTCAT
+TTCAATTGAGGAAATCGGGAGAATTACGCCACTTCTGATGCCGCGCTATCTAACAGCGCCATCTCTTCGC
+TGTTCAGCAGTTTTTCGATGTTCACCAGAATCAACATGCGGTCGCCGAGTGCGCCCAGTCCTGTGAGATA
+TTCGGTTGAAAGCGTCACGGCAAATTCCGGTGCCGGACGAATTTGCTCCGCCGTCAATGAAAGCACGTCT
+GAGACGCCGTCAACCACGATGCCGACCACCCGCTGTCCGAGATTCAGGACGATAACTACCGTGTTGTCGT
+TATAGTCCACATCCACCTGGCTGAACTTAATTCGTAAGTCAACAATCGGCACAATAACGCCGCGCAGATT
+CGTGACGCCTTTGATAAACGCTGGCGTGTTCGCAATCCGTGTCACCTGATCGTAGCCACGGATCTCCTGC
+ACTTTCAGAATATCAATACCGTACTCTTCATCACCAAGGGTAAATACCAGAAATTCCTGGCCTGACGGCT
+CGCTGGCCAGCTTTGTTACATTCGTCATACCGGTCATATTGTTACCTTTTTACTCATTCAGGCGGCGGTG
+TTCGCCATACGTTGTTCGCGGTTTATCGCCTGCAAGGCGGAGACATCAACAATCAGTGCCACGCTGCCGT
+CGCCAAGAATGGTCGCAGCAGAAATGCCGGGGACTTTGCGATAGTTACTTTCAAGGTTTTTAACCACAAC
+CTGGTGTTGACCAATTAATTGATCCACCAGCAAGGCGTAGCGGCGACCGCCACTTTGTAAGATCACCACA
+ATTCCCTGGGTGGCTTCGGTTTTCGCGCCCGCGACGTTGAACACTTTCCACAGTTCGACGATAGGCAGAT
+ATTCACCCCGCACTTCCAGCACCCGCTCGCCGCCAGCCAGTGGATGCAGATCGGCTTCACGGGGTTGCAG
+TGATTCCATGACAGCATTCAGCGGCAGAATGAAAACTTCATCCGCAACGCGTACGGACATGCCGTCAAGA
+ATTGCCAGCGTCAGCGGCAGTAAAATGCGGATCGTAGTGCCAGTACCCTGCTTCGACTGGATCTCGACAT
+GACCGTCCATCTCCTGGATATTACGTTTAACGACGTCCATGCCGACGCCACGCCCGGAGACGTCGGTGAC
+CTGCTCCGCCGTGGAGAAGCCAGGTGCAAATATCAGCATTGCAACTTCGTCGTCGCTCATGTTTTCGCTG
+ACGGTCAGACCTTGCGAGGCCGCTTTTGCCAGAATTCGTTCACGGTTTAGCCCCGCCCCATCGTCGGTCA
+CTTCAATGCAAATGTTGCCGCCCTGATGTTCGGCAGACAGAATTAAATTTCCGACGCTGTTTTTACCTGC
+AGCGAGCCGTTTTTCTGGCAGTTCAATACCGTGATCGAGGCTATTGCGTACCAGGTGGGTCAGCGGGTCG
+ATAATGCGTTCTATCAGGCTCTTGTCGAGTTCAGTGGAACTGCCCACCAGCGTCAGTTCTACCTGCTTGC
+CGAGTTTTCCCGCCAGATCACGCACCAGCCGGGGATAGCGACTAAAGACATATTCCATCGGCATCATGCG
+AATCGACATCACTGATTCCTGCAAATCACGAGCGTTACGTTGTAACTGCCCCATGCTGGTAATCAAATCA
+CCATGATTAACCGGGTCCAGTTCACTGGAGCGCTGAGCAAGCATGGACTGGGTGATGACCAGCTCGCCGA
+CGAGGTTAATTAATTGATCAACCTTTTCTACCGCTACACGGATGCTGGTGGATTCACTGCTGCGCGTCGT
+TTTTTCCCGCTCCACGCGACCGGTTGGCGCTTGTTCGGCTGCCAGTTTAAGCACTGGTGGGGTGGATATT
+TTTGGCGAGACGTCTACTGTTTCAAAGGTAATCTGATCGGCTTCAATCACAAAACAGAGTACCGCTGTGA
+TGTCATCTTCGGCGATGTCGCCCGGTAATATTGCCGAGAGAGAATCCGCCCCTTTCACCACGTCAGTTAA
+CGTTGTCAGATGCCCCAACTCTTCTTCCAGCAGGTCGACTTCGCCGGCCTTCAGGCGCGAAAGGATAATT
+CGTCGCGGTGACTGACTACGACTCTGCTCATCTTGCGGTTCACTTTTGGCAACCACACTTAATCGGGTCA
+CTGCAGATGGCGTTTCGCCTTTCGCTTCTAATGCCAGTTGACGCAAGGCCTGGCAGATATAATCGAAGCT
+GGCGGCATCCGGCTCTTGCGACTGTTTATAAGCGTCGAGCTGTTCTTGCATGATGTCCTTCGTTTCCAAA
+AACAGATTGATAATGTCGGTGTTGAGTTGCATCTCACCTCGTCTGGCTTCATCGAGCAGGTTTTCCATCA
+GATGCGTGGTTTCCTGCAAAACGCTGAAGCCAAAGGTTCCTGCCCCTCCTTTGATCGAGTGGGCAGCCCG
+AAAGATGGCATTCAACTGTTCGGCATCTGGCGCTTCCGGCTGCAAAACCAGCAGATGCTGCTCCATATCA
+GCCAACAGTTCGTCCGCTTCATCAAAAAATGTCTGATAAAAATCGCTTATATCCATGCTCACGCTGTCAC
+CTCGGTTCGGCTGATGGCATTGTGGGAACACTGACCTGTGGTGCAACCTCAGGTTTTTCCAGGGCGCTTA
+CTGGCTCATTCTGGCTTTCGGCGTTTTCATGCAAAATGGCCTGTTCGGCGTGTTTGTTCAGTACCAGCAG
+GCTGATGCGACGGTTGACGGCATCATCAGGACCGCGATCGCTTAAGCGCATCGTTGCCGCCATGCCGACG
+ACACGTAACACTTTGCCGCCATTCAACCCGCCAACCATCAGTTCGCGGCGGGATGCATTGGCCCGATCGG
+CAGAAAGCTCCCAGTTGCTATATCCTTTCTCACCGCTGGCGTAAGGGAAATCATCGGTATGACCCGAAAG
+GCTAATACGGTTGGGAATACCATTCAGAACGGGCGCGATGGCGCGCAGAATGTCGCGCATATAAGGTTCC
+ACATCGGCACTGCCGGTTCTAAACATCGGGCGATTCTGGCTATCGATGATCTGAATACGTAGACCTTCCT
+GGACCAGATCGATTTTGAGATGTGGACGTAACGCCCGCAGTTTCGGATCGGACTCAATCAACTGGTCGAG
+ATCGCCACGCAATTTCCGCAATCGACTTTGCTCCATGCGTTTTTTCAGCTCTTCGATGTTCGGCTGCTTA
+TTCACTTCCCCCTGGCTTTGGGTGTAATCATCACCCCCACCGGGAATTGGGCTTTCACTATTAGAAATGC
+GATCGCCACCCGTAACCGCTGTCGCCAGCGGAGTCCGGAAGTACTCCGCAATCTGAATCAGCTCTTTTGG
+ACTGGAGATAGAGATCAGCCACATCACCAGAAAAAAGGCCATCATTGCGGTCATAAAGTCGGCATAAGCA
+ATCTTCCACGATCCATGTGCTGCTCCGTGGCTTTTGGCTTTGCGTCGTTTGACGACAATAATCGGATGCG
+CTTGATTCTTCATGCTTCCTCGGTTGTCGTCTGTTGTTGCGGATTTTTCACCGCACGCACATGCTCTTCC
+AGCTCAATAAACGACGGACGTTCGCTGGAATAGAGCGTTTTGCGACCAAACTCAACGGCGATAGGAGGTG
+CGTAACCGTTCAGATTTGAAAGCAGAGTGACTTTGACGCACTGCATCATTTTGCTGGTTTCGGCGCTTTT
+CTGACGTAAAACACTCGCTAATGGGGAAATAAATCCGTAAGCCAATAAAATACCGAGGAAAGTCCCCACC
+ATCGCATGAGCGATAAGCGCCCCCAGCTCGGCGGCAGGACGATCGGCTGAACCTAACGCGTGAACTACCC
+CCATTACAGCCGCAACAATACCAAACGCCGGAAGTGAGTCCCCGACCAGCGCCAGACTGTTCGCCGGGAC
+TTCTGCCTCGCTTTCGTGCGTCTCAATCTCTTCATCCATCAGAGCTTCGATTTCGAAGGTGTTCATGTGA
+CCGCTGATAATCAGGCGCAGATAATCGACGATAAATTCAAGCATGACGCTATCCGCAAGGATGCGTGGGT
+AGCTGGCGAAGATCTCGCTCTCACGGGGATTTTCAATATCGCGTTCCAGCGAAAACATCCCCATCTGCCG
+CGATTTCGCCATCAACCGATAAAGCAGAGCCAGCAGATCCATATACATTGCTTTGGTGTATTTGGTGCGA
+CGAAACAGCAACGGCAGCGCCTTCAGCGTGCCTTTAATCGCTTTGCCATTATTGCCGACGATAAACGACC
+CAATCCCTGCACCGGCAATAATCACCAGTTCAGCGGGTTGATAGAGTGCTCCAAGGCTTCCACCGGTCAT
+CAAATAACCGCCGAAAACTGTACCGAGAACAACCAGGTAACCTAATAAGATAAGCACGACATCATCCTTC
+CACTGTTGACCATGACAGGATGTTCAGTCGCCAGGCGTTAACACGCGATAGGGGCAAAAAAAAGCAGCGG
+TACATCGTTACCGCTGCTGGAATGTTTCGCCACACCGTATCAGTTAAACAGCCTGTACTCTCTGTTCATC
+CAGCAGTTGTGGGATAATATCGGCAGGATTCTGGGAAAGTTTACGTCTTTTTACTGCCCGGGATGGCGGC
+TGACATAAGCTGCAGGCAAAGCTGCCAACAGGCTGGTGAGCATGGGTAATAAAATTGCCGCCGCAGCAGT
+TGCAGTTGGAAAGTTGCAGTAATCCACTTTCAACAAACCGCACCAATGTCCAGGCACGGGTTAATGCCAG
+CAGCGGTCCTTCTTCTGCTTGCGGGCACTGTTCAAGGTATAAACGGTAGGCTTTGATCACCGCATCGACG
+CCATTACACAAGCCAGTTTTCAGTAAAAACTGCCATGCATTACAGAACATCGAAGCATGAACGTTTTGTT
+CCCAGGTCATAAACCAGTCGGTTGAGAATGGCAGCATGCCTTTCGGCGGTGGGCTTCCGCGCAGTTCTTT
+ATAGAGTTTTATCAGACGTCCGCGACTTAACTGTGTTTCGCTTTCCAGCATCTGCAAACGAGCGCCCAGG
+GTGATCAATTCCATTGCCAGCTGAATATCCCGCGCTTCCTGAACAATGCTTTTTTCACTCATGATCAGGC
+CCTTTTCTTGCGCAGCGCTTCTTCAGGCTGATTAACATCATTCAGCAAGCGAGTTGAGAGCATGATGCCG
+GTATGAATTTGCTGGAGATCGTCAACGCGGGAATCTTGCGTCAACTGAGTAATCGTCTGGTGGCTGTCAA
+AACGGAAGTGACAAACCAGTTGATTGGTTTCTGCCAGCTTAACCATTTGCGGAAGAGTCAGTGCCGCTAA
+CGTTGTCGCCATTTCTTCATTTATGCCGAGACGAAACATAGCGGACGCTTTGTCCTGAACAATCAGACGC
+TGTGCAAGTAGTAAATATGACAAGTTGATGTCATAAATGTGTTTCAGCAACTCGGAGGTATGCATTATTC
+CCACCCAGAATAACCAACTTTATTTTTATGCGGTCTCACCGCACCCCGTGATGTCGCCGGGAAGCCCCGG
+TAAAAAATAATTAGCATTAGAATAGTTGCGATAAGCTGCAATAAGCAGACCCACCTTTTTGGTTTAATAA
+GTCCTTACAAATAGAAGGGGGTCTTTACACTTATCTAAGATTTTTCCTAAATCGACGCAACTGTACTCGT
+CACTCCACGCACATACAACGGAGGGGGGCTGCGATTTTCAATAATGTGTGATGCAGATCACATAAAACGC
+TCAATTACTTAACATAAATGTATAAGTCATACTTTTGTTTTGGGTGTATTTCAATCTGTTAAAAAATTTT
+TCGCTACACTGACAAGCAAAAATGAAACAGGAATAATCGAAATGGGATGTTGCGCACAGTTAAAATAACT
+CACCGTAAATAATCATCTGCTATAAATAATCGCTTTAATGCAATACCAGATAAGCCATTTTTAAACAAAC
+ACTTACCGCACAACAAACTAATTAACTACAAAGAAAGGCAACAATCAACCTAATGTTGATAAAATGTTTT
+ACATATATTAACCACTTGTTCAATATGGGAAATCAGTACATTATTTTCTTATAAATACAGTTGAAATCAT
+ATGATAACCAAGAGCAATTGATTAATTGTATTTACTAATGACCAGACTAATATTTACCTGTTTAACTGAG
+TTGGGATTGCGTCGTTTCTCCATTAGGAGTAAAGCTTTAATGTCACCTGAAGTTCACAGAATAAGGAACA
+GGTTATGAGCTATAGCAATATTCTTGTCGCCGTTGCGGTTACACCGGAAAGTCAGCAACTGCTGGCAAAA
+GCGGTATCTATCGCCAGGCCAGTAAAGGGACACATCAGTTTAATTACTCTCGCTTCCGACCCGGAAATGT
+ACAATCAATTAGCTGCGCCGATGCTTGAAGATTTACGCAGCGTGATGCAGGAAGAAACGCAAAGCTTTCT
+TGATAAGTTAATTCAGGATGCGGGGTATCCCGTTGACAAGACGTTTATTGCCTACGGTGAGTTAAGCGAA
+CATATTCTGGAAGTTTGTCGCAAACATCATTTCGATTTGGTGATTTGCGGTAATCACAATCACAGTTTCT
+TTTCGCGAGCATCCTGCTCGGCGAAAAGAGTGATTACCTCAAGTGAGGTCGATGTGCTGTTAGTTCCACT
+TACGGGAGATTAACCGCACCTACGCAAGCTTAGGAAAGGTAGCAACTTTATCGCGCTGCTGGCTTTCCGC
+GCTCCGCGGAACTATCTGCTTTAGGTCGCTAATGAAGCACTCCTGCCAGTGGTTAATATCGTTTTTCACG
+ATAACGTCCAGCATTTCTGCATGACGGGAAATACGTTCCGCCAGCGACATAGTCAATGCACGATCCAGCG
+CAGCTGCAACTTCGTCACGATCGTAGGGATTAACAATTAACGCCGACGTTAACTCGTTTGCCGCTCCCGC
+AAATTGCGAAAGAACAAGAACGCCCGGGTTGGCTGGGTCCTGAGCGGCAACATACTCTTTTGCCACCAGG
+TTCATTCCGTCACGCAGTGGCGTCACTAAGCCCACGTCAGAGTAGCGGAATATTTTCATCAGTAATTTAC
+GGTCAAAATGCTGATTCAAATAATAAAGCGGCGTCCAGCCTAATTGCCCATATTTACCATTAATTCGTCC
+GGCTTCATTTTCGAGCTGATGACGAATATCCTGATAGGCTTGCACATCACCACGAGACGTTGGCGCGATC
+TGGGTATAACGAATTTTACCGTGATGTTGCGGATATTTTTCCAGTAACGCTTCATAGGCGAGAAAACGCT
+CCGGCAAACCTTTGGAATAATCCAGTCGTTCGACAGAAAAGATATTTTGTACGTTTTTCAGTTCTGCTTT
+GAGTTGCGCCAGTTTTGGCGGCAGTGGACCGGCAGCCTGTTTCGCTATTTCTTTCGGCTCAATGCCGATC
+GGGTAAACTTCCGTTCGAAACGCTTTGCCGCAGGCCGTATGGCTTTTTGCGCTACGTGTCGTGACGCGGG
+TCAGGTTAGAAAGGCAATCCAGGAACGCCAGACGATCGTTCTCCGTCTGGAAACCCAGCAAATCATAATC
+ACAAAGCTGTTCAAGCAAGGTGTCATATGTCGGCAGCGCGTTGAAGATTTCCGGTGTCGGGAAAGGAATA
+TGCAGAAAGAAACCAATGCGATTATTCACGCCCCGTTTGCGTAATTCATGCGCAAAGGGCAACAGGTGAT
+AATCGTGGATCCAGATAATGTCATCGTCTTGCAACAGCGGCAGTAATTTATCTGCCAGCAACGCATTTAC
+GCGTAGATAGCCATCCCAGGCAGGACGCTGAAATTGCACCAGATCGAGCCGATAATGAAAAGCGGGCCAG
+AGAACGGCATTGGAGAATTTGTTGTAGTATTCGTCAAGGTCCTGTTCGCTGAGGTTAAAAGAGGCCCACG
+TAATGTTACCCTTTTTCACCTTTTTTAGCGGCTGATCCTCATTCCCTGTTTCACCGCTCCAGCCAAACCA
+CAGTCCACCTGCGGCTTTCAGTGCCCCCAGTATGCCAACGGCAAGGCCACCGGCACTGGCGGCGTGCTCG
+TCTGGTGGTGCAATCCGGTTAGATACTACGACTAAACGACTCATAGTCATCACTCCTGTTATTTTCTCTT
+TTTTGTTGTAATGCGGTGGTTATCATTTCAAGCCAGCTCCAGACATCCGGCACGCCCGCCAGTCGCCATG
+ATGCCTGAGTTGCACCTGTGCCAATTTTTACTGACATTCCGCCCAGCCGGTTAACGACTGCGAAGCCAGA
+TTCATCGGTCAGATCATCGCCCAGAAATACGGGCGTTCGCCCGATAAAGGGAGCTTCCTGCATAAAGGCA
+GCAATCGCCTCACCTTTACTGGTACCTTTCGGTTTGATCTCGACAACACACTTTCCCTGCTGTAACGCCA
+TTTGTGGCCAGATCTGAGTAATACGTTGCGCTAATGTCATCAATGCGTCTTCATGCTGCGGAGCCTGGCG
+ATAATGCAGCGCAAAAGCCATCCCTTTCGCCTCCAGCTCCGCGCCGGGATACTGGGCGATGACCGTATGC
+AGTTGCACGCTAATATCACGCGCAATCGCATCCGGCAGATGAACGATATGCGTTTTACCATTGATGTCAC
+GGCGCTCCGCCCCATGCACGCCCGCTAACGGGAAGCGATAAGGTTTTGCCAGTGCGTCAAGCTCCACCAT
+TGAGCGCCCTGAAATCAATGCCAATGCACCATCACTTGCGGTTGCCAGTAGCTGAAGTCCTTGCAGAATA
+GTGTCAGGCACGACGACCTGATCGGGATGCGGTTTGATTTCCGCCAGCGTTCCATCGAGATCAAAAAACC
+AGGCATATTTCGCGGATAGTTCAGGGGTTTCGGTTAACGGTTCTGTCACCCGGTTCTCCTCCTTCTCTTT
+TCTTATTGTGTTGCGCAGAACGCGCTTTACAGACATGTAAGTATAGACAGTGTGACGGGGGTCGCCATTT
+GCAACGAAGAACAGCCAACCGTTGTGGCGGCTGGCTGTGGTGGGAAAAAACGCTAAATTGTTGTGGAAAA
+AAGCATCAGACAGTGCGTTTCGCTTTTTGCTTGTAACGGTCGAAAATCACCGCTGCCAGCAGGATTAAGC
+CGCGAACTACGTACTGTGCGAAAGGAGAAATATTAAGCAGGTTCATGGCGTTTTCCACGGTGCCTAAAAT
+TAAGATACCCGCCACCACATATGAGATTTTTCCGATGCCGCCTTTCAGAGAAACGCCACCTAAAACGCAG
+GCGGAGATCACAATCAGCTCATAGCCAATCGACGTCATTGGCTGCCCACTGGTCATACGTGAAGCCAGAA
+TAATTCCGGCTATCGCTGATACCAGGCCAGAGAGAACAAAGATAATAATTTTGGTGCGAACAACCGGTAC
+ACCCGCCAGACGCGCAGCCTCTTCGTTCCCGCCAATCGCCAGGGTATTACGACCAAAGGTGGTTTTATTC
+AGCAGCAAGCCAAAGATGATCAAACACGCGACGGTGAGCCAGATTGGCGCAGGCAGACCAAACCAGTTGG
+CGTAACCAAGGGCAAAGAAGCTTTCATCTTCGATACCGACCGCTTTACCGTCTGAAATGATGTACGCCAG
+ACCTCGAACAATCTGCATCGTTGCCAGAGTCGTGATGAGGGCATTTATTTTCAGTTTGGCGATAACAAAG
+CCATTGACCAGGCCACAGAGAACGCCCAGCAACAAACCCGCTGCCACGCCAATCCACAGGCTTTCAGTCA
+GGTTGATAACCACCGCAGTGGTGACACCCGCACAGGCAATTACGGAGGCGACAGAAAGGTCAAAGTCACC
+GGAAGCAAGGCAGAACAACATGCCACACGCCACCATCCCCGACATAGAAATTGCCAGGCCCAATCCTTTC
+ATATTAATGAAGGTGGCAAAATTTGGGACAAAAATGGCACAGGCGATAAAAAGCACCGCAAACACCACCA
+GCATGCCGTACTGATCCCAGATACGCCCGAAGCTGAATGACGACTTAGGTGCGCCAGAACCCGATGTAGA
+AACAGAAGACATCATACTCTCCTTACTCAGGCAACTGCCTGGCTGACTTTAGGCATCGCAAGGCTCAGTG
+CCTGACGCTCATCTGCCTGCTCGTGTAACAATTCACCGGCGATTTCACCTTCGCGCATCACCACAATCCG
+GTCGGCAACGCCGAGGACTTCAGGTAAGTCGCTGGAGGCAAACAGCACCGCCACACCCTGCGCCGCCAGC
+GCATAAATCACGTTGTAAATTTCATGCTTAGCACCAACATCAATGCCGCGCGTAGGTTCATCCAGCAAAA
+TGACCTTCATCTCTTCCGATAACCAGCGGCCCAGAATGGCTTTTTGCTGATTTCCACCTGAGAGATTCAT
+AATCAGTTGCTCAGCGCCCGGCGTTTTGATGTTGAGCGAACGAATGTGGTGATCGGCATTGTTTTCTTCC
+CAACCGTTGTTGATTACACAACCGCCGAGCACATGTTTGCGTCTGGCACTGATGTTGATATTGTCGCGAA
+CGGAGTGCACAGGAATAATGCCTTCCGCTTTGCGATCTTCCGGGCAGAGCATCATGCCTGCGGTAATAGC
+GTGGCTCGGTTTACGAATATCGATCGGCTGTTGGTCGATATAAACCTGACCGGCGGTGATTTGCGTACCG
+CCAAACATGCCTTTCATTAATTCGCTACGCCCTGCCCCGACCAGACCAAACAGACCGACAATTTCTCCAC
+TGCGAACCGCCAGACTTATTGGCGTACGCACGCCTGGTGCTTTCACAGCATCAAGACGCAGCCGCTCCTC
+GCCATAACTACGCGGTTGCCAGCCGTAGATATCGCCAATGTCTCGCCCGACCATCGCCTGCACCAGTGCG
+TCGTGGTCAACCTGCTGCATATCGGTAAAGGTTTTGACATAACGCCCATCTTTAAAGACGGTGATGGCAT
+CGCTGAGGGCAAATATTTCTTCCATACGGTGAGAAACGTATAAGATCACCCGCCCCTCTTTTCGCAGTTC
+ACGAATAACGCGGAAAAGATTGTCGATTTCGCGGGCAGAGAGGGAGCTGGTTGGCTCATCAAAGGCGATA
+ATTTTGGCGTTACGCGCCAGCGCTTTGGCGATTTCAACCATCTGCCACTGACCAATGGAGAGATATTTCA
+GCGGCGTGTCCGGGTCAATATCCATACCAAGATGTTTAATTTGTAAACCTGCCTCATAATTCAGCAATGA
+ACGATTCACAATGCCGCCTTTATGCGGCAGCTGGCCGAGATAGATGTTTTCCGCGACGGTCATTTCCGGC
+ACGAGATGCAGTTCCTGATAAATAATCGCCACACCCGCGTTAAGTGCTGCGGTCGTGTCGGAAAAGGACA
+TTTCCTGCCCATTAATCACTACAGAACCCGTGGTTGGCGCATAGTTTCCGCTGAGGATTTTTAAGAGAGT
+TGATTTTCCTGCGCCATTTTCACCCATCAACGCATGAACCTGACCGGCATAGCAGTCAAAACTAATATCC
+GTCAGCGCCTTAACGCCGGGAAACGTTTTACCGATGCCGCGAAATGAGAGATACGGGGTAGACTGTTGCA
+TAACGTCTCCGTGAATCACTGGTCGTTCACACCCCCTCTGCATCATGCAGAGGGGAATTTTTCCGGCAAA
+TTACTTACCGCCTAAACCTTTTTTCTCCAGTTCTTCTTTAAAGTTGTCACGCGTGATCAGCACCACGTCG
+GTAACTTCGGTGAATTTGGTCGGTTCAACACCTTTTGCAACCCAGTTGTAAAGCATTTCGCTGGACTTAT
+AACCATGTACATCCGGGCTTGGCAGCAGGGAACCGTAGAAGCCGGTTGCCTGTGCCTTAGACAGTTCACT
+CACCGCATCCACACCGTTAATACCGATACCGATGATATCGCTCGCTTTAAAGCCCTGACCTTCCGTCGCG
+CGTACGCCGCCCAGCACGGTGCTGTCGTTCATACCGACAATCAGCCAATGTTTAACTTCCGGATGTTGAA
+CCAGCATTGAGTTGGCAGCGTCAAATGCCCCCGGGATGTCGTTAGATTTGGTAGGTACCTGATAAATTTG
+TTTTTCCGGGAATCCTGCAGCTTTCAGCGCATCCATAGACCCCGTAGTACGGCGACGAGCCGTATCCAGT
+TCGTTGGAGGTAATCGCCATCACCGCGCTTTCTTTGACATCCCAGCCACGTTTCTGCATCTCTTTATACA
+GTTCCTGGCCCTGACGTTCGCCAATTTTGGTCGCAGCCATCATCACCAGCGGAACGGTATCCATTGGCTT
+ACCTTTGGCGTTAACAAACTGGTCATCCACGGCAATGACTTTCATATCGTAGCCACGCGCTTTCGCCACG
+ATGGCAGAGCCGAGTTTCGGGTCCGGAGTACAAATAACGAAACCTTTCGCGCCACTGGCAGCCAGGCTGT
+CGATAGCGTTCAATGTTTTTTCGCCATCCGGCACGGCAATCTTAATAACTTCAAACCCTAAATCCTTCCC
+GGCTTTATCGGCAAACTTCCATTCGGTCTGGAACCACGGCTCTTCCGGTTGCTTCACCAGGAAACCGAGC
+TTCAGGTTCTCCGCCATAGCGGATTGTGACATAACGGCTGCCAGACCAATGGCTGCCAGGGCTTTAGTAA
+ATTTGTGCATGGTTCTCTCCAGCTTTAGTGTCGTTTTGTGTAGGGCAAAAACGAATGACATTCGTTAAAT
+TAATCGGAAAACAAAGCATTACCTTTTAACTAAAAGATAAGTGACTGTGTTGACATAGTTTTAGCGAGAA
+ATTAATTCTCCATAGGAGAGCAATATCACATCGCAGAATTACAGTGAGAACGTGCATAAATTTAGCGGGA
+AAAGACATAAGGAAAAGCGAATTTGTCAGACAAATTATCGAGTGCACAGCAGAATAATCCATAAGATTAG
+CCTGGAAGTCCTTGTTGTCTTTGGTACCCATGCGGGATGTTTTCTTTTTAACCAGTCAATAGGCCTCATT
+ACCTGGCGTTGAGTTTTTGCAATGGTGTAATAACCGCAACTTAAAGATGTGGAAAATGCGCGTCATTCAT
+TTCGCCATTAATTATCACTGTACTCATTAATTAACAGAACACGTATAATGAGAGCCATATCGCAAAAATG
+AAAAAACGTTTTATAAAATCATTGCTTCATCATGAATTCAAATTCATCGATTAATATCAACAAGATACAA
+AAAGCACCATCATTAAAATTCATTACAGTTACATTGATTTCATCAATGAAATGTAAAAATATATAAACTT
+GATGATTTAAGCATTTTCTTATACCCGTTCAGACGTTATTCTTATTTCAGATCATCGTCAGAATTGACTC
+CACGATCACATTTCGGACCGGCAGAAAGGAATTATTCTGCAAACAGTAATTATGGTGTTTTGATTTATCT
+TGCACCTCTCCACTTCTGGATATAAGGATATTAGGTATGGCAACCGCTGGAATGCTTCTCAAACTCAACT
+CTCAAATGAACCGCGAGTTTTACGCATCCAATCTCTACCTTCACCTGAGTAACTGGTGTTCTGAACAGAG
+TCTGAACGGCACCGCCACTTTCCTTCGCGCCCAGGCACAGAGTAATGTGACCCAAATGATGCGCATGTTT
+AACTTTATGAAGAGTGTCGGCGCTACCCCCATCGTTAAAGCCATTGATGTTCCCGGTGAAAAACTGAACT
+CTCTGGAAGAACTGTTCCAAAAAACGATGGAAGAATACGAGCAACGTTCAAGCACGCTGGCGCAGTTAGC
+CGATGAAGCGAAAGAACTGAATGATGATTCAACCGTCAATTTCCTGCGCGATCTGGAAAAAGAACAGCAG
+CATGATGGCCTGTTACTGCAAACCATTCTTGATGAAGTGCGCAGTGCGAAACTTGCTGGTATGTGTCCTG
+TGCAGACCGACCAACATGTTCTGAATGTCGTGTCGCATCAGCTGCATTGATCATACATCGGCGCCAATGC
+ATTGCGCCGATGAAGTTTTTGAGAAACCGCTGCCTCATTTTTTTGAAGCAGCGGTTTTTTAATGGGATTC
+GCCCTGTGGGGTAAACTTGAGTTCAATCAACGCGATGGCTTTTTGGATTGCCCGCATGGTGACCGGGTCT
+GCGGCGGCGGGATGGTTAGTAAAGTCGATATTCTTCAGCTGGCTGGACATTTTTTCGCGAACTTCAACGG
+GCGCGATCACATCGAGAACATCCAGAATTTGTTTGATAACCAACTGGCAAGCAACCACATCAGAAACCAG
+TTCCTGATCGGCATTCAGCGGCTGGGACATCGTAAACTCCTGATAGCATTTTGAAAGCCGTTATAGTAGC
+GGCTTCACATCTTCAGCGATAGTCACATCCACCGTCATCAGAACACAAAAAAACCTGCCGGAGCAGGTTT
+TTTGTTATCGGAACATATTGCCTGGCGGTACGTCTTTGAACGTCTTGCAATAGTTATTGAACATACTTTT
+CAGGATCTTGCGCAGTTTCATCGCGGTACTCCGACCATTTGTTATACAGGTGTTATTGTCTTTGCGTTTA
+TAATATGACAACCATCACAAAAATCAATCTTTATGTGATATAAATCACATAAATACCCCTTTAATGTTAT
+AAAAATGATAATCAAAAAGCAGCCCCCCAATTTCTGACACATACAGATGGCAAGAAATAGCGCCTGCCAG
+GCGTCTTTTCCGGCCATTGTCGCAGCGCTGTAACGCGTAAAATACTGCTTTCTTTTACTCTTCTGGCTGG
+ACCATGAGACTTCTGATTCTGACTCTTTCCTTAATAACGCTGACAGGATGTACGGTTACTCGCCAGGCCC
+ATGTGAGCGAAGTTGACGCGGCAACAGGTATTGTTCGGTTGGTTTATGATCAGGCTTTTTTGCAGCATGC
+CCGTACCGATCGTTATGTCAGTCGCGGGATCGCCGATCGCGCATGCCAGCAGGCAGGCTATACCCACGCT
+ATCCCCTTTGGTCAGCCAGTAGGCAACTGTAGCCTCTTTGCGGGTTCCTTATGTTTGAATACGGAATTCA
+CTTTGTCATATCAGTGCCATCATTCCGCCTTCCCTGTCTTTCTCTAAACGTTTTAATCAGCGAGGGGGAT
+CTTCGCTGATTAAATAAATAGCGGTAATGCGTTTTATTCCCATTCGTATTTTTAATAAATGATGTTTATA
+TTTTACCTTTTGCAAATAATAAAATAACAAATTATAGTGACGCCACAGCAACAAATATAACCTTTGTGGA
+GCACTATCATGCTGAAACCAGAAATGATTGAAAAACTTAATGAGCAGATGAACCTGGAACTGTACTCTTC
+ACTGCTTTATCAGCAAATGAGCGCCTGGTGCAGCTATCATACCTTCGAAGGTGCTGCCGCGTTCCTGCGC
+CGTCACGCCCAGGAAGAGATGACGCATATGCAGCGTCTGTTTGATTACCTGACTGATACCGGCAACTTAC
+CGCGTATTAATACCGTTGAATCTCCGTTTGCTGAATATTCCTCACTTGATGAATTATTCCAGGAAACCTA
+TAAACACGAACAATTAATCACGCAGAAAATTAACGAACTGGCTCATGCTGCAATGACCAATCAGGACTAC
+CCAACATTTAATTTCCTGCAATGGTATGTTTCTGAGCAGCATGAAGAAGAGAAACTGTTCAAATCGATTA
+TTGATAAATTAAGCCTTGCAGGCAAAAGCGGCGAAGGTCTGTATTTTATCGACAAAGAACTCTCTACCCT
+CGACACACAAAACTAATGCTCTCCGGCGGCAGGTTTTCTGCCGCCGTTTCAAATCAGTGACGGCAAATCT
+TACTCTGATCGGTTGAAAAACCTTCTTCTGAAGGTATAAATTTGCCTTTCGCTGCCAGAAACGCCACCAA
+CTCTCCCGCAGTCATCCCTTCTGCCGAGCAGGTGTGAAAACGTGCCTGTTCACCAAAACGCGCTTTAATT
+GCTGCTTCCAGACTGGCATGCGTATATTGCTCGCCTGATTCAATCATCATATTTAACACTTCGTGACCGT
+GAATAGAGTCCATCGTTCCTCCTCAAAAAAAGCCTAGCGTAGCGATTGCCGCTTATGAAGACTTTGCGCC
+AGCGCAGAACTGAACGCTTTTTATTGTACATTTATATTTACAACATATGTAACGTCGGTTTGACGAATCA
+GCCGTTATGCCTTAACCTGCGCCGCAGATATCACTCATAAAGATCGTCAGGACAGAAGAAAGCGTGAAAA
+ACAGAACTCTGGGAAGTGTTTTTATCGTGGCGGGAACCACAATTGGCGCTGGTATGCTGGCAATGCCGCT
+GGCTGCGGCAGGTGTTGGTTTTAGCGTCACGTTAATCTTGTTAATTGGGCTTTGGGCGTTGATGTGCTAC
+ACGGCGCTATTACTGCTGGAGGTGTACCAGCATGTCCCGGCAGATACCGGTCTGGGCACGCTGGCAAAAC
+GCTATCTGGGACGCTACGGTCAGTGGCTGACGGGCTTCAGTATGATGTTCTTAATGTATGCTCTGACTGC
+GGCATACATCAGCGGTGCCGGTGAATTGTTGGCCTCCAGCATCAGCGACTGGACAGGTATTTCAATGTCG
+GCAACCGCTGGCGTGCTGTTGTTCACTTTTGTTGCCGGTGGCGTGGTTTGTGTCGGAACTTCGCTGGTCG
+ATTTATTTAACCGTTTTCTGTTCAGCGCCAAAATTATTTTTCTGGTGGTGATGCTGGTATTGCTGCTACC
+GCATATTCACAAAGTGAATCTTTTAACCCTGCCGTTGCAACAGGGACTGGCACTGTCTGCAATCCCGGTG
+ATTTTTACGTCGTTTGGTTTTCACGGTAGCGTGCCGAGTATTGTCAGCTATATGGATGGCAACATTCGTA
+AGCTACGCTGGGTGTTTATAATCGGTAGTGCGATCCCCCTGGTGGCATATATTTTCTGGCAGCTGGCGAC
+CCTTGGCAGCATTGATTCAACAACCTTTATGGGATTGCTGGCTAATCATGCCGGATTAAACGGGCTGTTA
+CAGGCGTTACGCGAAATGGTGGCCTCTCCGCATGTTGAGCTGGCAGTGCATTTATTTGCTGATTTAGCCC
+TCGCCACGTCCTTCCTCGGCGTAGCGTTAGGCTTATTTGATTATCTGGCAGATTTGTTTCAGCGTTCAAA
+TACCGTTGGTGGACGATTGCAAACTGGTGCAATTACCTTTCTGCCGCCACTGGCGTTTGCACTGTTTTAT
+CCACGAGGATTTGTGATGGCGCTGGGTTACGCCGGTGTGGCGCTGGCGGTACTGGCATTGATTATCCCTT
+CGCTGTTGACCTGGCAAAGCAGGAAGCACAATCCTCAGGCGGGTTACCGGGTGAAAGGTGGTCGTCCGGC
+GCTGGTGGTGGTGTTTCTCTGTGGTATTGCTGTGATTGGCGTGCAATTTTTGATTGCGGCAGGCTTGTTA
+CCAGAAGTGGGGTGATTAGATAGCCTCAAATTCCTTATTGGGTGCCAGAATTAACGCTGACACCCAATTT
+GCTCTCTTAATGCAGGCAGCACTGCTTAAATTTCTTACCACTACCGCACGGGCAAGGATCATTACGCCCC
+GGTTTCTCTTCTGCTTTGACCGGTTGCTGAACAGCTTTTTCCTGCGGATGCGCCATCCAGTACGCATGTA
+GATCAAGCGCCGCCAGTCGAATGGCATCTACGCTCTCTTCAAACGCTTCTGGCGACATCTTCTCTACCCG
+CTCGAAGTTTTCCTCAGTACCGTGCAGCGCTATCGCCTCCAGCGCTGGTTTTAACGAATCGGACAATGTT
+GACCAGTCAGAAAGTGCCACGCCCCGCATATAGCCAAAGCACCACTCCTCAACAATCGTCAGCTCGCTGC
+CATCGACTTCTCGCAAGCCGAATAACGGCTCAAACTGCTCCGGGAATTCGTTCAGACGCTCTGCGGTATC
+GGCCATATGTTGAAAAGCCAGGTTCATAAAGCGTGTCATCTCTTTCTCTGACGCCCAGCGCGGCACATAG
+TCAGCCCCACCCCACACGGCAACCAGCCACTGTGCCGGTTCAATCTCTTGCGGAGAACTCAACACCGCCG
+TCAATAAACCGTCCAGCTCCGCCACATCAAGAATGGCGTGGTCAGTGTTGTATTTGGTCAGAATATCGTC
+CAGCCATTCCAACTCACTTTCGTTTAACGGTCCCGTTTTCATACGCTTTTCCTTGTGGATCTCAACTCGC
+CAGCACCTATCTTACATGCCGGTCCGTATCAGAGATACTTTTTGAGTGGCTTTGCCGGTGATTAAAAATT
+AAGGAGGGTGTAACGACAAGTTGCAGGCACAAAAAAACCACCCGAAGGTGGTTTCACGACACTGCTTATT
+GCTTTGATTTTATTCTTATCTTTCCCATGGTACCCGGAGCGGGACTTGAACCCGCACAGCGCGAACGCCG
+AGGGATTTTAAATCCCTTGTGTCTACCGATTCCACCATCCGGGCTCGGGAAGAAAGTGGAGGCGCGTTCC
+GGAGTCGAACCGGACTAGACGGATTTGCAATCCGCTACATAACCGCTTTGTTAACGCGCCAAATTCTTCA
+GGCCTTTCAGCCAGACATCCGCTGCCGCCGATGTCTTTTAAACTGGAGCGGGAAACGAGACTCGAACTCG
+CGACCCCGACCTTGGCAAGGTCGTGCTCTACCAACTGAGCTATTCCCGCATTCATCAAGCAATCAGTTAA
+TCACTTGATTTTATTATCGTCTGGCAATCAGTGCCGCCGTTCGATGCGTTGCATTCTACTTACCTGGCGC
+GATGAGTCAACGATATTTTTCACCACTTTTGATCGTTTGCTGAAAATTGCGCCGAAACGATCACTGATCA
+AGCAAATCTGCACGCGCAGCGCTCAAATATTGCAACATTGACCACAGAGTCAGTACCGCAGCCACAAAGA
+AAAGTGCAATACCGGCGTACTCAACCCAAATGTTCGGACGCCACAGCAGCCAGGCTAACGCCACCATCTG
+GGCAGTGGTTTTCACTTTCCCAATCCAGGAGACAGCCACGCTACTGCGTTTACCCAACTCCGCCATCCAT
+TCGCGTAGCGCAGAAATAATAATTTCACGGGCGATCATCGTTGCTGCCGGTAAGGTCACCCACCAGCTGT
+GGTAATGCTCGGTTACCAGCACCATGGCGATAGCCACGAGAACTTTATCTGCGACAGGGTCAAGGAAAGC
+ACCAAACCGGGTACTCTGATTCCAGCGGCGTGCCAGAAAACCATCGAACCAGTCAGTCACCGCCGCGACG
+CAGAAAATGAGCGCGGCGGCAAACGGCGACCAGGTGACAGGCAAATAAAAGACCAATACAAAGAATGGGA
+TAAGGATGACACGGAACAGTGTAAGCAACGTAGGGATATTAAATTGCATAATGACGGGTAACTATCTGTT
+GTCAGTAAGATTACCCCTATGTTGCTACAGAGACATCAATGTTTCAACGACCAGAAGATCTTTTCTGCCA
+GACCTTGCGAAATACCCGGCACTTTTGCAATTTCCTCGACGCTGGCGTTACGTAAACCTTGCAAACCGCC
+CATATATTTCAACAACATTTGCCGACGTTTTGGCCCGACGCCTTCAATGGTTTCCAGGGAACTGGTATTT
+TTGACCTTCGCCCGTTTTTTACGGTGCCCGCCAATCGCGTGATCGTGTGATTCATCGCGAATATGCTGGA
+TAACATGCAGCGCGGGAGAATCTGGCGGCAAACTAAATCCCTCACCTTCAGGCTCAAAGAACAGCGTTTC
+CAGCCCAGCCTTACGATCTGCTCCTTTGGCAACGCCAAGTAGCAGCGGATGATTTTTATCCCATGAGACA
+TCCAGTTCGGCGAAAACATTTTTCGCCTGCGCAAGCTGGCCTTTGCCGCCGTCAATAAGGATCACATCCG
+GGATCTTACTGTCGTCGATAGCTTTACCATAACGCCGACGCAGCACCTGATTCATCGCCGCGTAATCATC
+GCCCGGCGTGATGCCAGTAATGTTATAGCGCCGATACTCCGCACGCAGCGGGCCGTTGGCATCAAACACC
+ACACAGGAAGCGACGGTTTGTTCACCCATGGTATGGCTGATGTCAAAGCACTCCATCCGCTTCACTTCCG
+GCAATTTCAACACGCTGGCAAGCGCGGTCAGCCGCTGGTGAACGGTAGATTGCTGCGAAAGTTTGCTGGT
+TAAGGCCGTCGCCGCATTGGTACGCGCGAGTTTCAGATAACGCGCTCTATCGCCACGAGGTTTGGTTTGA
+ACATTAATCTTGCGTCCCGCCAGTTCTGAAAGGGAATCGGCGAGCAGCGTTTTATCGCTAAGATTAAAAT
+CGAGCAGGATCTCACCCGGTAAGGTGCGCATCTGGCTGCCTTGTAAATAGAACTGACCTACGAAGGTTTC
+CACCACCTCGCTCAGTTCCGTACCGCCAGGCACTTTCGGGAAATAGCTGCGGCTGCCGAGCACTTTGCCC
+TGACGAATGAACAATACGTGGACACAAGCCATACCCGCATCGAACGCCACTCCAATAACGTCAAGGTCGT
+CGCCGGTATTGGAAACAAACTGTTTTTCGGTGACACGTCGCACCGCCTGAATTTGGTCGCGAATCCGCGC
+CGCTTCTTCAAACTCCAGATTCTGGCTGGCAGTTTCCATACGACTAATGAGTTGCGTAAGCACCTGATCA
+TCTTTGCCAGACAAAAACAGGCGCACATACTCGACCTGCTGAGCGTATTCTTCTTCACTCACACCCATCA
+ATGCCTGACGTCCCAGATGTGCTAATTTCATATTTACCCCGAATGTTGTTATGTCTGTTTGCAGTGTAGA
+GCCATTGTTTGTAAACACAAAAACAACTCCGCTACATCTTATTCTTATTTAATATATATCAGAAGCAGGT
+TGGCTGGAGGATTTCTGCACAAGTCCGGTACACGTTTGACGCTGATAGTGTTGATACTTCCGTAACGCGA
+TGCGGTAATTGTTGGTGCTGGTGGAGGGCAGCCACGGGGCGAGGATTTCATCAAGGAAACCGTCCTGCAG
+CTGATCGAGGGAAATATTTTGCTCGTGTAGATGATTCCCCAAACGGCGCAGACGAACGACATATTCACGC
+ACCGTACCAGGGCTCATTTCAGTTTGCTCAAAAAGAAATTGCTTAAAGCCGATAATATCGAAAAAATCAC
+TCTGCGTTTTGCAATGTAAATCACCGCAAAATCGGCACAATGCCGCCCATGATTGTTGTTCCACTTGCCA
+GCCATTTTCATCAAGCAGCGTGTCCAGGCGGGAAATCTCGATTTTATTCACTATTTTGCCGTCGCGAACG
+AGGGTAATGCGATCGAGTAATTTACGGCAATGCGCGCAATGGGTCTGGCTGTGTTTAAAGTCTTTAAGAT
+AGCGGCTTAATGGCCGTCTTTTCAGGTGCTGCACCATCATTAAGAACTCCTGGTAGTCAAAATTAAAGTG
+CGGCATTTACTGACGTTATAACTTACCCAGTTTAGTGCGTAACCGTTTAATAGCCTGGCTGTGTAACTGA
+CTGACCCGCGATTCCCCGACCTCCAGCACCGCACCAATCTCTTTGAGATTCAGCTCTTCCTGATAATAGA
+GGGTTAATACCAGTTTTTCGCGCTCCGGCAACGTTTCGATGGCTTCCATCACCCGCTGGCGCAGATTACT
+GTCCAGCAGTTGTTGTAGCGGGTTTTCTCGCTGATGATCATCAGTAACCAGTTCGATGCTATCGCCGTGC
+TCTTCGCGCCACTCATCGTAGGAGAAGAGCTGGCTGTTATTGGTGTCGAGCAACATTTGGCGATAATCGG
+CAATATCGATCCCTAAACGTTCCGCAACCTCAGTTTCCGTGGCGTTGCGGCCAAGTTCCTGCTCCAGTTG
+CCCTATTGCCTGTGCCACTTCACGCGCGTTGCGTCGCACGCTGCGCGGCACCCAGTCACGGCTGCGAAGT
+TCATCCAGCATAGCGCCACGGATACGCTGCACTGCGTAAGTTGTAAATGCCGTTCCTTGTAGGGCGTCAT
+AGCGTTCGACGGCATTAAGTAACCCAATGCCGCCCGCCTGTAGCAGATCGTCAAGTTCCACGCTCGCGGG
+CAGTCGAACCTGCAGGCGCAATGCTTCGTGACGCACCAGCGGGACATAACGCTGCCACAGCGAGTGTTTA
+TCCATTACACCTTCAGCGGTATAGAGTGAATTCACGATAAACAGCCCTGCGTTATATGAGTTATCGGCAT
+GATTATCCGTTTCTGCAGGGTTTTTAATCGGACGATTAGTGGGTGAAATGAGGGGTTATTTGGGGGTTAC
+CGGTAAATTGCGGGCAGAAAAAACCCCGCCGTTGGCGGGGATGCACGTTGCTGACAAATTGCGCTTTATG
+TTGCCGGATGCGGCGTAAACGCCTTACCCGGCCTACAAAATGTGCAAATTCAATAAATTGCAATTCAACT
+TGTAGGCCTGATAAGCGCAGCGCATCAGGCAATTTGGCGTTGCCGTCAGTCTCAGTTAATCAGGTTACAA
+CGATTAACCCTGCAGCAGAGACAGAACCTGCTGCGGTACCTGGTTAGCTTTTGCCAGCACGGAGTTACCG
+GCCTGCTGGATGATCTGCGCTTTCGACATGTTGGACACTTCGGTCGCATAGTCGGCGTCCTGAATACGGG
+ACTGCGCTTCAGACAGGTTGGTAGTGGTGTTGTTCAGGTTGGTCACCGCAGAATCCAGACGGTTTTGCAC
+CGCACCCAAGGAGGAGCGAAATTTGTCGATGGAGCTGATGGCTTCGTCCAGAGCTTTCAGGGGATCGGCG
+GTGGTTGCAGCTTTAGTTTCAGCGTCAGTAGTTAGTTTTCCTGTTGCATCAACATACACAGCTTTACCAG
+AACCATTAGTTACAGACCCGTCATCTTGTAAATAATATTTTGTGGTATTGTCAGTAGTTAATCCCGTCCC
+GTCAGCTTTGTTATAAACGTCATTGCCGCCAGATTTAACAACTCCATCTGTACCTACGGTATAAGCGCCA
+GAAGTAAACCCAGTCGCTTTACTAGCGGAAAGAAGTGCATCAGCACTGATCACTGCTCCTGTGACATTTA
+TAGCCCCAGCAGTTTTTGTTGTTCCAAAGTCGCCAGAACCTGCCAGAACTATTGAAGTTCCATCCGCAGT
+AGTAATAGTAGATTGTACAGCAGCGGCTGGACCAGAGTGGTTGAAAGCTAAACCATTGAGGGTAGCTTCT
+TCTAAAGTACCACCACCGTTTTGGGTTAAATTCCCAGTGGTGTCAATATAAAGTTTAGACCCGTCTTTTG
+CTGTGATTTTGCCATCACTAGCCAGAACAACATCCTGCTTTGTGCTACCAATTTCAACTGAGAAAGTTGC
+GGTATCCCCCGCCTTAGGCGTCAGGTAAGATTGGAGTTCTGCCGCTGTTGAGGTGGTATTGTAAGTAAAA
+GTGTTGTTTGCTTGATTAAATTTATAAGCATTTCCAGTTGCCCCCGCAGCAAAACCATTGCTTACACCAG
+CCGCAGTTACTGTCGCCCCATCCGTGAGACTAGCAATAACATCAGCAGCAGTTGATTTCGACAGGCCAGC
+AGAGACAGTGTATTCATTACCTACCGCAGCTGAAACTGATGCAGCGACCAAATCATCTTTAGTCGCTGCA
+GTATTAGCCACAGCCCCTTTGCCATTCACATTAAACCCACTCAGCCCCAGCGTATCAGAGTCAATTTTCT
+TCAGATCAATAGTGATAGTCTGGCCGTCATTCGCACCAACCTGAATTTTCATCGAACCGTCTTTTGCCAG
+TACGTTCACGCCGTTGAACTGGGTCTGACCGGATACGCGGTCAATTTCGTCGAGACGGGATTTGATTTCG
+TCCTGAATGGAGTCCAGATCCGAATCAGAGTTAGTGCCGGTAGAAGCCTGAACCGTCAGTTCACGAATAC
+GCTGTAAGTTGTTGTTAATTTCGGACAGCGCGCCTTCGGTGGTCTGCGCAACAGAAATACCATCGTTGGC
+GTTACGTGCAGCCTGAGTCAGGCCTTTAATGTTAGAAGTAAAACGGTTAGCAATCGCCTGACCCGCGGCG
+TCATCCTTCGCGCTGTTAATACGCAAGCCAGAAGACAGACGCTCGATAGAACTCGACAGCGCAGACTGGT
+TCTTGTTGATATTATTTTGAGTGATCAGCGAGAGGCTGTTGGTATTAATGACTTGTGCCATGATTCGTTA
+TCCTATATTGCAAGTCGTTGATTACGTTTTGGGTTTCCACCCGTCGGCTCAATCGCCGTCAACCCTGTTA
+TCGTCTGTCGTAAAACAACCTTTAGAATTTTTTTCACAAACAGCTATTTTTTGTTAGTCGACGAAATACT
+CTTTTCTCTGCCCCTTATTCCCGCTATTAAAAAAAACAATTAAACGTAAACTTTGCGCAATTCAGGCCGA
+TAACCCCGGTATTCGTTTTACGTGTCGAAAGATAAAAGGAAATCGCATGGCAAGTATTTCATCGCTGGGA
+GTCGGGTCAGGTCTGGATTTAAGTTCAATCCTTGATAGCCTCACCGCCGCGCAAAAAGCGACGCTAACCC
+CTATTTCAAATCAGCAATCGTCGTTTACCGCTAAACTTAGCGCCTACGGTACGCTGAAAAGCGCGCTGAC
+GACTTTCCAGACCGCCAATACTGCATTGTCTAAAGCCGATCTTTTTTCCGCTACCAGCACCACCAGCAGC
+ACCACCGCGTTCAGTGCCACCACCGCGGGTAATGCCATCGCCGGGAAATACACCATCAGCGTCACCCATC
+TGGCGCAGGCGCAAACCCTGACAACGCGCACCACCAGAGACGATACGAAAACGGCGATCGCCACCAGCGA
+CAGCAAACTCACCATTCAACAAGGCGGTGACAAAGATCCGATTGCCATTGATATCAGCGCGGCTAACTCG
+TCGTTAAGCGGGATTCGTGATGCCATCAACAACGCAAAAGCAGGCGTAAGCGCAAGCATCATTAACGTGG
+GTAACGGTGAATATCGTCTGTCAGTCACATCAAATGACACCGGCCTTGATAATGCGATGACACTCTCGGT
+CAGCGGTGATGATGCGCTACAAAGTTTTATGGGCTATGACGCCAGTGCCAGCAGCAACGGCATGGAGGTC
+TCGGTCGCCGCCCAGAATGCACAGCTGACGGTCAACAACGTCGCCATTGAGAACAGCAGCAACACCATCA
+GCGACGCGCTGGAAAACATCACCCTGAACCTGAACGATGTCACCACGGGCAACCAGACGCTAACCATCAC
+TCAGGACACCTCCAAAGCGCAAACGGCGATTAAAGACTGGGTGAATGCCTATAACTCGCTAATAGATACC
+TTCAGCAGCCTGACCAAATACACCGCCGTAGATGCGGGAGCTGATAGCCAGAGTTCTAGCAATGGCGCAC
+TGCTCGGCGACTCCACGTTGCGGACGATTCAGACGCAGTTGAAATCGATGCTGAGTAATACCGTTAGTTC
+TTCCAACTATAAAACGTTGGCGCAGATTGGTATCACGACCGATCCCAGCGATGGCAAACTGGAACTGGAT
+GCCGACAAACTCACCGCTGCATTGAAAAAAGATGCCAGCGGCGTAGGTGCATTGATTGTTGGCGATGGTA
+AAAAAACCGGCATCACGACCACCATCGGCAGCAACCTGACCAATTGGCTTTCGACAACGGGCATTATTAA
+AGCCGCTACCGATGGCGTTAGTAAGACCCTGAATAAGTTAACTAAAGACTACAACGCCGCCAGCGATCGC
+ATTGATGCGCAGGTCGCGCGCTATAAAGAACAATTTACCCAACTGGACGTTTTAATGACCTCGTTAAACA
+GCACCAGCAGCTACTTAACGCAGCAGTTCGAAAACAACAGTAATTCCAAGTAATCAATATTCATCGGGAG
+ACAGGTCATGTACGCGGCAAAAGGCACCCAGGCCTATGCACAAATTGGCGTCGAAAGCGCCGTAATGAGC
+GCCAGCCAACAGCAGTTGGTCACCATGCTATTTGATGGAGTGCTGAGCGCACTGGTTAGAGCGCGACTGT
+TTATGCAGGACAACAATCAGCAAGGCAAAGGCGTCTCTTTGTCAAAAGCGATCAACATCATTGAGAACGG
+ACTGCGGGTGAGTCTTGATGAAGAGAGCAAAGACGAATTAACCCAAAACTTGATTGCTCTTTATAGCTAT
+ATGGTCAGGCGTTTGCTGCAAGCCAATTTACGCAACGATGTCTCCGCAGTCGAAGAGGTGGAAGCATTAA
+TGCGTAATATTGCCGATGCCTGGAAAGAGTCTTTACTCTCCCCTTCTTTGATTCAGGACCCAGTCTGATG
+AACAATGCACCGCATTTGTATTTCGCCTGGCAACAACTCGTCGAAAAAAGCCAGCTCATGTTACGCCTGG
+CAACGGAAGAACAATGGGACGAACTCATCGCCAGCGAAATGGCGTATGTGAATGCGGTGCAGGAGATCGC
+ACACCTGACTGAAGAGGTTGCCCCGTCCACTACGATGCAGGAGCAGCTCCGCCCGATGCTGCTCCTGATT
+CTCGACAACGAAAGCAAGGTAAAGCAGTTATTACAGATTCGGATGGATGAACTGGCGAAACTGGTCGGTC
+AGTCATCGGTGCAAAAATCGGTGTTAAGTGCCTATGGCGATCAGGGCGGCTTTGTGCTTGCTCCGCAGGA
+TAACCTCTTTTGAATCTTAATGAGCCGATGGCTCGCGAATAATCCGATTACGGCTACGCTTCTAATATTC
+CCCTTGAATGGAGTCGAAGAATGCGTAATCCCACGCTGTTACAATGTTTTCACTGGTATTACCCGGAAGG
+CGGTAAGCTCTGGCCTGAACTGGCCGAGCGCGCAGACGGTTTTAATGATATTGGTATCAATATGGTCTGG
+TTGCCGCCCGCCTATAAAGGCGCATCGGGCGGCTATTCGGTCGGCTACGACTCCTATGATTTATTTGATC
+TAGGTGAGTTTGATCAGAAAGGCAGCATCCCTACTAAATATGGTGATAAAGCACAACTGCTGGCCGCCAT
+TGACGCCCTGAAACGTAATGACATTGCGGTGCTGCTGGACGTGGTAGTCAACCACAAAATGGGCGCGGAT
+GAAAAAGAAGCTATTCGCGTGCAGCGTGTAAATGCTGATGACCGTACGCAAATTGACGAAGAAATCATTG
+AGTGTGAAGGCTGGACGCGTTACACCTTCCCCACTCGTGCCGGGCAATACTCGCAGTTTATCTGGGATTT
+CAAATGTTTTAGCGGTATCGACCATATCGAAAACCCTGATGAAGATGGCATTTTTAAAATTGTTAACGAC
+TATACCGGAGAAGGCTGGAACGATCAGGTTGATGATGAACTCGGTAATTTCGATTATCTGATGGGTGAGA
+ATATCGATTTTCGCAATCATGCCGTGACGGAAGAGATTAAATACTGGGCGCGCTGGGTGATGGAACAAAC
+GCAATGCGACGGCTTTCGTCTTGATGCGGTCAAACATATTCCGGCATGGTTTTATAAAGAGTGGATCGAA
+CACGTACAGGAAGTTGCGCCAAAGCCGCTGTTTATTGTGGCTGAATACTGGTCGCATGAAGTCGATAAAC
+TGCAAACGTATATTGATCAGGTGGAAGGCAAAACCATGCTGTTTGATGCGCCGCTGCAGATGAAATTCCA
+TGAAGCATCGCGCATGGGTCGCGACTACGACATGACGCAGATCTTCACTGGGACGCTGGTGGAAGCCGAT
+CCTTTTCACGCCGTAACCCTCGTTGCCAACCACGACACCCAACCGTTGCAAGCCCTCGAAGCACCGGTCG
+AACCGTGGTTTAAACCGCTGGCGTATGCCTTAATTTTGTTGCGGGAAAATGGCGTTCCTTCGGTGTTCTA
+TCCGGACCTCTACGGTGCACATTACGAAGATGTCGGTGGTGACGGGCAAACCTATCCGATAGATATGCCA
+ATAATCGAACAGCTTGATGAGTTAATTCTCGCCCGTCAGCGTTTCGCCCACGGTGTACAGACGTTATTTT
+TCGACCATCCGAACTGCATTGCCTTTAGCCGCAGTGGCACCGACGAATATCCCGGCTGCGTGGTGGTCAT
+GTCGAACGGAGATGATGGCGAAAAAACCATTCATCTGGGAGAGAATTACGGCAATAAAACCTGGCGTGAT
+TTTCTGGGGAACCGGCAAGAGAGCGTAGTGACAGACGAAAACGGCGAAGCGACCTTCTTTTGCAACGGCG
+GCAGCGTTAGCGTGTGGGTTATCGAAGAGGTGATTTAAATCCATCCCCGGCGGCAAGCCGGGGAGATTTC
+ATTACGGCAGTGGCGTCGGTAACGGCGCTTTATCCAGCGCGGCGGCACACTCTGCCGTCGGGCGATCCAC
+ACGCTCCATCGTCATACCATCGTACTCAATGGTGTTACCGTCACGCTCAACCTCGTACAGCTCACGTTTT
+ACGGTAACGTTAGTGAGATCATCAGACATCAATGTCAACTTACCCGGCACGGCAATCACCCGCTGCCACT
+GACGGCAATCCAGGGTATCGCCCTCTTTAGTGACAATGAGGCTGCCTATCGCTTCCGGACTGACCAGCGC
+ACGTTGCGGCCCTTTGGTCTGCCAGTAACCCGTCAGCCAGTCCGGCGCGGGGGTTTTCACGACATTGTTA
+TAGTTTTCGACTTCGGCACAGCCCGCCAGCAACATGAGCGCACCTGCAATTGCGAGTTTTTTCATCATTC
+GTCCTGCATGAGAAGAAAAGAGGATTGTGGCATTAAAGCCCTGATGTCGCCAGCCTTTCCAGGTTCAGAG
+AGAAATTTGATCTAACCATTATTTTTGTGAATTATTACCCCGAAAATAAATTTGTATGGTGTATGATTCG
+CGACTCTTGTTTCAAACCTTCTGAGTTCAGAGGCTACATTCATGTCATGGCAGCAATTCAAACACGCCTG
+GTTGATTAAATTCTGGGCGCCCATCCCCGCGGTCATCGCGGCGGGTATTCTCTCCACTTACTATTTTGGC
+ATCACTGGCACCTTTTGGGCTGTCACAGGTGAATTTACCCGTTGGGGCGGTCAGCTCCTGCAGTTGTTCG
+GCGTCCATGCTGAAGAGTGGGGTTATTTTAAAATTATCCATCTGGAAGGATCGCCATTAACCCGCATCGA
+CGGAATGATGATCCTCGGTATGTTTGGCGGCTGTTTTGCCGCAGCGCTGTGGGCCAACAATGTCAAACTG
+CGCATGCCGCGCAGCCGTATCCGCATTATGCAGGCCATCATTGGCGGTATTATCGCCGGTTTTGGCGCAC
+GTCTGGCAATGGGCTGTAACCTGGCGGCGTTCTTTACCGGAATTCCACAGTTCTCGCTGCACGCCTGGTT
+CTTTGCCATCGCCACTGCCATTGGTTCATGGTTTGGCGCGCGCTTTACCCTGCTGCCCATCTTCCGTATT
+CCCGTGAAAATGCAGAAAGTTTCTGCTGCCTCACCGTTGACGCAAAAACCGGATCAGGCGCGGCGTCGTT
+TTCGTCTCGGGATGCTGGTCTTTTTCGGCATGCTGGGCTGGGCGCTGCTGACGGCGATGAACCAGCCCAA
+ACTGGGGCTGGCAATGCTGTTTGGCGTCGGCTTTGGTTTACTGATTGAACGTGCGCAAATCTGCTTTACT
+TCGGCGTTCCGCGATATGTGGATCACCGGACGTACCCATATGGCGAAAGCAATCATTATCGGTATGGCGG
+TAAGTGCCATCGGGATCTTCAGTTACGTACAGTTAGGCGTTGAACCCAAAATCATGTGGGCGGGACCAAA
+CGCGGTAATTGGTGGTTTACTGTTTGGTTTTGGCATCGTGCTGGCAGGCGGCTGCGAAACCGGCTGGATG
+TACCGCGCGGTAGAAGGCCAGGTGCACTACTGGTGGGTCGGTCTGGGCAACGTGATCGGCTCAACGATTC
+TGGCGTATTACTGGGATGATTTCGCTCCGGCGCTGGCCACCGACTGGGACAAAATCAACCTGCTGAAAAC
+CTTTGGCCCGATGGGCGGCCTGCTGGTGACATATTTGCTGTTGTTTGCAGCTCTAATGTTGATTATCGGC
+TGGGAAAAACGCTTCTTCCGCCGTGCGGCACCGCAGATTGCTAAGGAGATCGCATGAAAAATATCGTTCC
+TGATTACCGTCTTGATATGGTGGGTGAACCCTGTCCTTATCCGGCAGTCGCAACCCTTGAGGCGATGCCG
+CAGTTAAAAAAAGGGGAGATCCTGGAAGTGGTGAGCGACTGTCCGCAGTCGATCAATAATATTCCACTGG
+ATGCGCGTAATCACGGCTATACGGTGCTGGATATTCAGCAAGACGGGCCGACCATTCGTTATTTAATTCA
+GAAGTAATCCCTCATTCCCGCTGTGGCCCACAGCGGGAACATCGTTACCTCTCTATCACATAGATTTTAC
+CCGCCCCCTCTCCTATTCTTTTCAGTGTGACCTCAGGAGGTTTCTATGTGCGGACGCTTTGCCCAATCCC
+AAACGCGTGAAGATTACCTCGCGTTTCTCGCGGAAGATATTGAACGCGATATTCCCTACGATCCCGAACC
+CATTGGCAGATACAACGTCGCGCCGGGAACCAAAGTTCTTCTGCTCAGTGAACGTGATGAACACCTTCAT
+CTGGATCCGGTTTTCTGGGGATATGCTCCCGGATGGTGGGATAAACCGCCGCTGATTAACGCCCGCGTAG
+AAACTGCCGCAACCAGTCGTATGTTTAAACCGCTCTGGCAACATGGTCGGGCAATCTGTTTTGCCGATGG
+CTGGTTTGAGTGGAAAAAAGAAGGCGACAAAAAACAGCCTTATTTTATCTATCGCGCTGATGGACAACCT
+GTTTTTATGGCCGCGATAGGTAGCACACCGTTTGAGCGTGGTGACGAAGCCGAAGGATTTTTAATTGTCA
+CTGCAGCAGCAGACCAGGGTCTGGTAGATATTCATGACCGCCGCCCACGAGTACTGTCGCCAGAAGCTGC
+ACGGGAATGGATGCGGCAAGAGGTTGGCGATAAAGAAGCCTCAGAAATCGCGGCCAGTGGCTGTGTTCCA
+GCAAACCAGTTCACCTGGCACCCGGTATCGTGCGCGGTGGGTAATGTTAAAAACCAGGGCGCGGAGTTAA
+TTCAACCTGTTTGATAAGCCTGGAGATTATCTACACCTGGATGGACATCATTGTACTATGCCCCGTACAT
+GCCCCATCACATCCTCAACATCAAAGTATTAGAGCCTTGCAAACCATTATGCGTCTCAGTTTGTCTCATC
+TATCTTACACAAAAAAAAATAGAACTAATATCAAGCGGCGCTATATTGCGTATTAAATAAAACCACCTCA
+ATTACATTAATAAATCTAAACAAATATCATGCAAATAATTTCCATGGTTATTTTTAGGCTATTTAAATTA
+AAAAAATAAATTATGAGTCAAACATAAATAACAACCTTTAATATAATTTGACTACCAAATTTATATTCGT
+TCACAAAATAGTCATGCATTGTGTGCAATAGAAACAGTTCAGATAAAAATAGGGATCTACTTCACAATTT
+AAATGAGAAACTAAAACTTACATCTTGAAATAATCTCATTGATTAGATGAATATTTGTAGTGCAGTGACA
+TCATTTTTAAATAATAGTTCAAATAAAAGGGCTCACGATGAAAAAATTAACAGTGGCAATTTCTGCTGTA
+GCTGCATCAGTACTGATGGCGATGTCTGCTCAGGCAGCAGAGATTTACAATAAAGACAGTAACAAGCTGG
+ATCTGTACGGAAAAGTTAATGCTAAGCACTACTTCTCTTCTAACGATGCAGATGATGGCGACACAACTTA
+TGTTCGTCTGGGCTTCAAAGGCGAAACTCAAATCAACGATCAACTGACTGGTTTCGGTCAGTGGGAATAT
+GAATTCAAAGGCAACCGTGCTGAATCTCAAGGTTCTTCCAAAGATAAAACCCGTCTTGCCTTCGCTGGCC
+TGAAATTCGGTGACTACGGCTCCATCGATTATGGCCGTAACTACGGTGTAGCATACGATATCGGTGCATG
+GACCGACGTTCTGCCAGAATTCGGTGGCGATACCTGGACCCAAACAGATGTGTTCATGACTGGTCGCACC
+ACAGGTGTTGCAACCTATCGTAACAACGACTTCTTTGGTCTGGTTGATGGTCTGAACTTTGCTGCTCAGT
+ATCAGGGTAAAAATGACCGCACTGACGTAACTGAAGCTAACGGTGATGGTTTCGGTTTCTCCACTACTTA
+TGAGTATGAAGGATTCGGTGTAGGTGCAACCTATGCTAAATCTGACCGCACTAATGATCAGGTTATCTAC
+GGTAACAACAGCCTGAATGCATCTGGTCAAAATGCTGAAGTATGGGCAGCTGGTCTGAAATATGATGCGA
+ACAACATCTATCTGGCTACCACCTATTCTGAAACCCAGAACATGACTGTTTTTGGTAATAACCATATTGC
+CAACAAAGCACAAAACTTCGAAGTAGTTGCACAATATCAGTTCGACTTCGGTCTGCGTCCGTCCGTTGCT
+TACCTGCAATCTAAAGGAAAAGACTTGGGTGCGTGGGGTGATCAGGACCTGGTTGAATATATTGATGTAG
+GTGCAACCTATTACTTCAACAAAAATATGTCCACTTTTGTTGATTACAAAATCAACCTGATTGATAAGAG
+CGATTTCACGAAAGCATCTGGCGTTGCTACCGATGATATCGTTGCTGTAGGATTGGTTTACCAGTTCTAA
+TCTGATTACTCAAAGATATGTTGTGGGAGGCTTTGCCTCCCCAACATATAAGTGGCCCCCTCAAGCCACT
+TTCCTTAGAAGCACTATCTTGCTTCTGACTATATAAACCTTCTGTTATATATTACCCTTTATTTTCTGGG
+GCGTTTCAACGCCCCATTTTTAATAATACCCAGTGAACAATTAACGTATCAACTAGATTTAATAACAACG
+ATATCCGTACCTAACCTGATATCTAATGTCATAAGTATCCCTTTAATTATCCCCTCAACCTCTTGTAACT
+TTCCCACTCTTGAGCTCCACATAGTCCAAACGCCGGATGCAAAAAAATCACACGTGCATTTCTGAAATTG
+TGATGGAGGAAGATAGTATCAATTATATGTGCTTATAAACGTCCCCGATTAGCGCAGAAGTCACCGGATT
+GTTCAGGATACAATAGGTTGAGTATGCCGTATTTATTTTCCAAAATAAAAATCGATGCTGTTGCTCCTTC
+ATAAAATACTTTTACTCTCTGGACGCTTTTCTTAGCTCTCTTGGTGTTATCTTAAAACGATTATGGAACC
+TTTCAGTAAAACGAGAAGGACACTTGTAACCATTTTCCCTGGCAATCTCGCTGATGGGTTTTACTGTCGT
+TTGTATAGCAGACAACGCATTATTTAACCTCACGTCGTCCAATATACTTTGAAAACTTATTCCCTCGCTT
+GCCAGACGGCGATGCAATGTGGAAACAGAAATGTAGAGATATCTCGCTACCTTGTTTGCTGTCCATTTTG
+TTCCAGGTTCGGATAGCATTAGGTTATAACAACGACTTATTAATGATTGTTTACTATCTGATAAAAGTAA
+ACAATTAACATGATGTGCTCCTAATGAAAGTAGAACGCCCATTGCTAAGTGTTCCTGAATTTGCGTTGAG
+AAGCCTCGGAAAATAGATGTTTTTAGTTGCTCCCAACAATATATTAACTCGGGGTTCTGAGGTAAGCAGA
+AACCTGTCGTGTTACGAATTTGATCAGTTATCGCATAAAATTTTTGAAACTTTTCAATTAGATCAATGGG
+ATAATAAAGCATTTCTGCAAGATAAAGACCTGCTTCTGGATAATTCGCAATATAAAATTCATATCCACAG
+GGAAATAATATTATCTGATTATTATCAACAGTTAGACTATGCGTCTCCCAATTGATAACTTTTTTTCCCT
+GACGGATACGACATAAAGCTGGCATAAGAGGCTTAACCCTGTGAATCTCATGATGTTTATGCATCCGTAT
+TTCTTCAATCTTTAGGTTAGACTTATCTTTTGCCAGCATACTCTTACCCTACTTTATCTCATAAACTGGT
+GTTATCTCAGCGGTTGCAATTTTATTGGCATTAAGCATATAACCAACTAACGCTCCGCTGGAATTAGAAT
+CCACAGGAATCTTATCAGTTTTTAGAGCCCATACTTTAAACTGGTAATGATGGGGTTTATCTCCTTTGGG
+AGGACATGCTCCACCAAATCCTGCATAACCAAAATCATTTCGGCCTTGAACAGCACCAGTCGGAAGTTTT
+GTACCATCACGTCTTCCTGCATCAGTGGGCAAATATGTTACAGTTGCTGGAATATTAGCAACAGTCCAGT
+GCCACCATCCACTGCCTGTAGGAGCATCTGGATCATACACAGTTACGGCAAAGCTTTTGGTGCCTTCAGG
+AGCACCAGACCAGGTTAATGAGGGCGATGTATTACCCCCTTCACACCCAAATCCAGAAAATACATGAGAC
+GTTGTAAGTTGCTCTCCTGTTTTTATTTCATTACTAGTGACCTGAAATGCTGCGGCCTGCGCAGAAAATG
+TTATGAATGCCAATACACTTGAAACGATAAGTTTTTTCATAAAAACCTCATTGTTGTGACCTATCGTTAT
+TTTATTTGATGTGCCTTGATCTCATTATGCATAAAGGCGCAATGATCGCGCAAATGCAATCATAATTATA
+AAGGTGCCCCGAACATTAGCCATAATATGCACAAATCAGATTCCTGTTATCTCAAGGATAATTATTTTTT
+AATGCGGTGCACTTCGTGACAACAAGTTAATGACTAACACACCGGCACAAATCAACATCATGCCTATGAT
+AGCTGGCAGGTCCAGTCGTTGACCAAAAAATCCCCAGGAAAGCAAACTAATCAGAACGATACCGACTCCT
+GACCAGATAGCATAAGCAATCCCTGTAGGTATATAAGCCAGCGTCTGAGCTAATAACCAGAATGATGCAC
+AATAGCAAATAATTGTGCCAACAGAGGGCCATAACCGTGTAAACCCCTCTGAAAACTTCATTAAGGTTGT
+ACCAATGACCTCTGCAAGTATTGCGCCACCAAGATAAATATAAGGGTTCATAGCATATTCTTTCCTGTTC
+ATACTGGAGAGAATTGTACTACAGTTTGAACACAACTCACCGTTTTCATCCTGGTGTATGTGTATCCAGG
+GGGCTCTGGCGTGGCAAGAGATAAAGGCAGGAACAATAATGATCAGAAGGAACCCCAGGCTAACGAATGA
+GTTCACTCTTCCTGGGAGCAAAGCGAAGACAAAACATGTTATCGCGTTTACGGATCGTGGATGGCAGAAA
+ACAACCAGGATCAGGTATCCATTTTAAACCAGAAATTGAGTGAGTTTGCCCCATCCATGCCCCACGCTGT
+GGGATCGGATATAATTAAACAAGCATAGTCAACAGGTTACACAACCTACACCTGCATGGACATCACTTCC
+TGATACGCCGCCACCAGCTTATTACGCACCTGAATCCCCATTTGCATAGAAACTGAGGCTTTTTGCATAT
+CGGTCATCACATCGTTTAGCGCCACGCCGGGTTCACCGAGGGTGAATTTTTCTGCCTGCGTGCGGGCGAC
+TGTTTGTGTATCGCTTATGCGATCGAGCGCGGCGTGCAGCTGCCCGGCAAAACTAATGGTCGGTTGCGGC
+AGTGATTCCTGCGCACGCGCACTCATCGCCGTAGCCTGTAACTGGCTGATAACCCCTTCAATCCCCTGTA
+TCGCTGACATTTTCGTCTCCCGGATAATTTCTGGTAACAAAGCCTACCAGTAAGTCAATAAGACAAAGGC
+GCTAAATAGCAACAAAAAAACGGGTTTATTGGCGGATAGAAAAAAACGAAAGCACAAATAATGGGAGCGT
+CAATTTTTCGAGTTTGCTGACCCGGGAGTGAGTCTTGTTCCACTTTGCCAATAACGCCGTCCATAATCAG
+CCACGAGGTGCGCGATGAATGCGACTGCAGCCCAGACAAAATCTCTTGAGTGGCTTAATCGCCTGCGTGC
+GAATCCGAAAATTCCATTGATTGTTGCCGGTTCCGCAGCAGTGGCGGTCATGGTCGCACTGATCCTGTGG
+GCGAAAGCCCCCGACTACCGCACATTATTCAGCAATCTTTCCGATCAGGATGGTGGCGCAATTGTCAGCC
+AACTGACGCAAATGAATATTCCTTACCGCTTCAGCGAAGCCAGCGGCGCTATTGAAGTTCCGGCAGATAA
+AGTTCACGAACTGCGCCTGCGCCTGGCGCAACAAGGTTTGCCCAAAGGCGGCGCGGTCGGTTTCGAACTG
+CTCGATCAGGAAAAGTTTGGTATCAGCCAGTTCAGCGAACAGGTGAATTATCAGCGGGCGCTGGAAGGCG
+AGCTTTCTCGTACCATCGAAACTATCGGCCCGGTAAAAGGGGCGCGCGTACACTTGGCAATGCCGAAACC
+GTCTTTATTCGTCCGTGAACAAAAATCCCCTTCTGCATCGGTGACGGTAAATCTGTTACCCGGCCGCGCA
+CTCGATGAAGGGCAAATTAGCGCTATTGTACATCTGGTTTCCAGCGCGGTTGCTGGTCTGCCGCCGGGAA
+ACGTCACGCTGGTGGATCAGGGCGGGCATCTGTTAACCCAGTCCAATACCAGCGGGCGCGATCTTAATGA
+CGCTCAGTTGAAATATGCCAGCGATGTCGAAGGCCGTATTCAGCGGCGTATTGAAGCGATCCTGTCGCCT
+ATTGTTGGTAACGGTAATATTCACGCCCAGGTCTCGGCGCAACTGGACTTCGCCAGTAAAGAACAAACGG
+AAGAACAGTATCGCCCTAACGGTGATGAATCTCATGCGGCGCTTCGTTCACGCCAGCTTAATGAGAGCGA
+GCAAAGCGGTTCCGGTTATCCGGGCGGCGTACCGGGGGCGTTGTCGAATCAACCGGCACCTGCGAATAAC
+GCGCCAATCAGCACGCCTCCGACAAATCAAAATAACCGCCAGCAGCAGGCGAGCACCACCAGCAATAGTG
+GGCCGCGTAGCACACAGCGGAATGAAACCAGTAACTACGAAGTCGATCGCACCATTCGTCATACCAAAAT
+GAACGTGGGCGATGTGCAACGTCTGTCAGTCGCGGTAGTGGTGAATTACAAAACCTTGCCAGACGGTAAA
+CCATTGCCTCTCAGCAACGAACAGATGAAGCAAATTGAAGCTCTGACCCGCGAGGCGATGGGCTTTTCTG
+AAAAACGCGGTGATTCGCTCAATGTTGTTAACTCGCCGTTCAATAGCAGTGACGAAAGCGGCGGAGCACT
+GCCGTTCTGGCAACAGCAAGCGTTTATCGATCAGTTGCTGGCTGCCGGTCGCTGGTTGCTGGTACTGCTG
+GTGGCGTGGTTGCTGTGGCGGAAAGCGGTACGCCCGCAGCTAACACGTCGCGCCGAGGCGGTGAAGACTG
+TGCAGCAACAGGCACAGGCCCGCGAGGAAGTGGAAGATGCGGTGGAAGTCCGTCTGAGCAAAGACGAACA
+ACTCCAACAACGGCGCGCTAACCAACGACTGGGGGCAGAAGTCATGAGCCAGCGTATCCGTGAAATGTCT
+GATAACGATCCGCGCGTGGTGGCGCTGGTCATTCGCCAGTGGATAAATAACGATCATGAGTAACCTGACA
+GGCACCGATAAAAGCGTCATCCTGCTGATGACCATTGGCGAAGACCGGGCGGCAGAGGTGTTCAAGCACC
+TCTCCCAGCGCGAAGTGCAAACCCTGAGCGCTGCAATGGCGAACGTCACGCAGATCTCCAACAAGCAGCT
+AACCGATGTGCTGGCGGAGTTTGAGCAAGAAGCTGAACAGTTTGCCGCACTGAATATCAACGCCAACGAT
+TATCTGCGTTCGGTATTGGTCAAAGCTCTGGGTGAAGAACGTGCCGCCAGCCTGCTGGAAGATATTCTCG
+AAACCCGCGATACCGCCAGCGGTATTGAAACGCTCAACTTTATGGAGCCGCAGAGCGCCGCCGATCTGAT
+TCGCGATGAGCATCCGCAAATTATCGCCACCATTCTGGTGCATCTGAAGCGCGCCCAGGCCGCCGATATT
+CTGGCGTTGTTCGATGAACGTCTGCGCCACGACGTGATGTTGCGTATCGCCACCTTTGGCGGCGTGCAGC
+CAGCCGCGCTGGCGGAACTGACCGAAGTACTGAATGGCTTGCTCGACGGTCAGAATCTCAAGCGCAGTAA
+AATGGGCGGCGTGAGAACAGCAGCCGAAATTATCAACCTGATGAAAACGCAGCAGGAAGAAGCCGTTATT
+ACCGCCGTGCGTGAATTCGACGGCGAGCTGGCGCAGAAAATCATCGACGAGATGTTCCTGTTCGAGAATC
+TGGTGGATGTCGACGATCGCAGCATTCAGCGACTGTTGCAGGAAGTGGATTCCGAATCGCTGTTGATCGC
+GCTGAAAGGGGCCGAGCAGCCACTGCGCGAGAAATTCCTGCGCAATATGTCGCAGCGTGCCGCCGATATT
+CTGCGCGACGATCTCGCCAACCGTGGTCCGGTGCGTCTGTCGCAGGTGGAAAACGAACAGAAAGCGATTC
+TGCTGATTGTGCGCCGCCTTGCCGAAACTGGCGAGATGGTGATTGGCAGCGGCGAGGATACCTATGTCTG
+ATAATCTGCCGTGGAAAACCTGGATGCCGGACGATCTCGCGCCACCACAGGCGGAGTTTGTGCCAATGGT
+CGAGCCGGAAGAAACCATCATTGAAGAGGCCGAACCCAGCCTTGAGCAGCAACTGGCGCAACTGCAAATG
+CAGGCCCACGAGCAAGGTTATCAGGCGGGGATTGCCGAAGGTCGCCAGCAAGGTCATGAGCAGGGCTATC
+AGGAAGGACTGGCCCAGGGGCTGGAACAAGGTCTGGCAGAGGCGAAGTCTCAACAAGCGCCAATTCATGC
+CCGGATGCAGCAACTGGTCAGCGAATTTCAAACTACCCTTGATGCGCTTGATAGTGTGATTGCTTCGCGC
+CTGATGCAGATGGCGCTGGAGGCGGCACGCCAGGTGATCGGTCAGACGCCAACGATGGACAACTCGGCAC
+TGATCAAACAGATCCAACAGTTGTTGCAGCAAGAACCGTTGTTCAGCGGTAAACCGCAGCTGCGCGTGCA
+CCCCGATGATCTGCAACGTGTTGATGATATGCTCGGCGCAACTTTAAGTTTGCATGGCTGGCGCTTGCGG
+GGCGATCCCACCCTCCATCCTGGCGGCTGTAAAGTCTCCGCCGATGAAGGCGATCTCGACGCCAGTGTCG
+CCACCCGCTGGCAAGAACTCTGCCGTCTGGCAGCACCAGGAGTGGTGTAATGACCACGCGCCTGACTCGC
+TGGCTAACCACGCTGGATAACTTTGAAGCCAAAATGGCGCAGTTGCCTGCGGTACGTCGCTATGGGCGAT
+TAACCCGCGCTACCGGGCTGGTGCTGGAAGCCACCGGATTACAATTGCCGCTCGGCGCAACCTGTGTCAT
+TGAGCGCCAGAACGGCAGCGAAACGCACGAAGTAGAAAGCGAAGTCGTTGGCTTTAACGGTCAACGGCTG
+TTTTTAATGCCGCTGGAGGAAGTGGAAGGTGTCCTGCCCGGCGCGCGTGTATATGCCAAAAACATTTCGG
+CAGAAGGGCTGCAAAGCGGCAAGCAGTTGCCGCTCGGTCCGGCGTTATTAGGTCGTGTTCTGGACGGTAG
+CGGTAAACCGCTCGATGGCCTGCCCTTCCCCGATACGACGGAAACCGGTGCGCTGATTACCCCGCCATTT
+AACCCGTTGCAACGTACACCGATTGAACATGTGCTGGACACCGGCGTGCGCCCAATCAATGCCCTGCTTA
+CCGTCGGACGCGGGCAGCGTATGGGGCTGTTTGCCGGGTCCGGCGTTGGTAAAAGTGTGCTGCTGGGGAT
+GATGGCCCGTTACACCCGCGCCGATGTCATTGTCGTAGGTTTGATTGGTGAACGAGGGCGCGAAGTAAAA
+GATTTTATTGAGAATATCCTCGGTGCCGAAGGGCGTGCACGCTCAGTGGTGATTGCCGCTCCGGCGGATG
+TTTCTCCGCTCCTGCGAATGCAGGGTGCCGCCTACGCCACGCGCATTGCCGAAGATTTTCGCGATCGTGG
+TCAGCATGTGTTGCTGATTATGGACTCCCTCACCCGCTACGCGATGGCCCAGCGTGAAATTGCGCTGGCG
+ATTGGCGAACCACCTGCCACTAAAGGTTATCCACCGTCGGTGTTTGCCAAATTACCGGCACTGGTCGAGC
+GTGCCGGTAATGGCATTAGCGGCGGCGGCTCGATTACCGCGTTTTATACGGTGCTCACCGAAGGCGATGA
+CCAGCAGGACCCCATTGCCGACTCCGCGCGGGCGATCCTCGACGGTCACATTGTGCTGTCTCGCCGACTG
+GCGGAAGCCGGGCACTATCCGGCTATCGATATTGAAGCGTCGATCAGCCGCGCAATGACGGCGTTGATCA
+GCGAGCAACATTATGCGCGAGTGCGCACCTTCAAACAGCTGTTGTCGAGTTTTCAGCGTAACCGCGATCT
+GGTTAGCGTCGGCGCGTATGCCAAAGGCAGCGATCCGATGCTCGACAAAGCCATCGCCCTGTGGCCGCAG
+CTGGAGGGCTATTTGCAACAAGGCATTTTTGAACGCGCGGACTGGGAAGCGTCTCTCCAGGGGCTGGAGC
+GTATTTTCCCGACAGTGTCATAACCCAGGAGATAACGGCAGATGGCGGAACATGGTGCGCTGGCGACCCT
+GAAAGATCTGGCAGAAAAAGAGGTAGAGGATGCCGCTCGCCTGCTGGGTGAAATGCGTCGCGGATGTCAG
+CAGGCGGAAGAACAGCTCAAAATGCTGATCGATTATCAGAATGAATATCGCAATAACCTCAATAGCGATA
+TGAGTGCCGGGATGACCAGCAACCGCTGGATCAACTATCAGCAGTTTATCCAGACGCTGGAAAAAGCCAT
+TACTCAGCATCGCCAGCAACTTAATCAGTGGACGCAGAAAGTTGACATTGCCCTGAACAGCTGGCGAGAA
+AAGAAACAACGTTTGCAGGCCTGGCAGACACTGCAGGAACGGCAATCCACGGCGGCACTGCTTGCAGAAA
+ACCGCCTCGATCAGAAAAAGATGGATGAGTTCGCCCAGCGCGCCGCCATGAGGAAACCTGAATGATTCGC
+TTAGCGCCCTTGATTACCGCCGACGTTGACACCACCACATTGCCTGGCGGCAAAGCCAGCGATGCTGCAC
+AAGATTTTCTCGCGTTGTTGAGCGAAGCATTAGCAGGCGAGACAACAACCGACAAAGCGGCCCCCCAGTT
+GCTGGTGGCAACAGATAAGCCCACGACAAAAGGCGAACCGCTGGTCAGCGATATTGTTTCTGATGCGCAA
+CAAGCGGATTTACTGATTCCTGTGGATGAAACACTTCCTGTCATCAACGACGAACAATCCACATCAACAC
+CGTTAACCACCGCTCAGACGATGACGTTGGCTGCGGTGGCTGACAAAAATACGACAAAAGACGAAAAAGC
+GGATGACCTTAATGAAGACGTCACCGCAAGTCTGAGCGCCCTTTTTGCGATGTTGCCGGGTTTTGACAAT
+ACGCCCAAAGTGACTGATGCACCGTCAACCGTGTTACCGGCAGAGAAACCAACGCTCTTCACAAAACTGA
+CTTCTGCGCAACTCACTACAGCACAGCCTGATGACGCCCCCGGCACACCAGCTCAGCCATTAACACCGCT
+GGTAGCAGAAGCCCAGAGTAAAGCGGAAGTCATCAGCACGCCTTCGCCGGTGACCGCTGACGCCAGCCCG
+CTAATCACTCCACACCAGACACAGCCACTGCCCACCGTCGCCGCGCCTGTTTTGAGTGCACCGCTGGGTT
+CTCACGAATGGCAACAATCATTAAGCCAGCATATTTCGCTGTTCACCCGCCAGGGGCAACAAAGTGCAGA
+GTTGCGTCTGCACCCACAGGATTTAGGTGAAGTGCAAATTTCCCTCAAAGTGGATGATAACCAGGCGCAG
+ATCCAGATGATTTCACCGCATCAGCACGTACGCGCCGCCCTGGAAGCAGCGCTGCCAGTACTGCGTACGC
+AGCTGGCCGAAAGTGGCATTCAGTTAGGGCAAAGCAACATCAGTGGCGAAAGCTTTAGTGGTCAGCAGCA
+GGCCGCTTCCCAGCAACAGCAAAGCCAACGCACAGCAAACCATGAACCTCTGGCGGGGGAAGACGACGAT
+ACGCTTCCGGTTCCCGTCTCTTTACAAGGGCGTGTAACAGGTAACAGCGGCGTTGATATTTTCGCCTAAC
+GTCAGAGGTAGCACCGTAATCCGCGTCTTTTCCCCGCTTTGTTGCGCTCAAGACGCAGGATAATTAGCCG
+ATAAGCAGTAGCGACACAGGAAGACCGCAACACATGACTGATTACGCGATAAGCAAGAAAAGCAAGCGAT
+CGCTTTGGAGCCCGATTCTGGTATTCATTACCCTCGCGGCCTGTGCCAGCGCAGGTTACAGCTACTGGCA
+TTCGCATCAGGTTGCCGCTGACGACAAAGCGCAGCAACGCGTCGTGCCCTCCCCGGTCTTCTATGCGCTG
+GATACCTTTACGGTCAATTTGGGCGATGCGGATCGCGTGCTTTATATCGGCATAACCCTGCGACTGAAAG
+ATGAAGCTACCCGCTCGCGGCTGAGTGAGTATTTGCCGGAAGTCCGTAGCCGTTTGCTGTTACTGTTTTC
+GCGTCAGGATGCTGCCGTACTGGCGACAGAAGAAGGCAAGAAAAACCTGATTGCCGAGATTAAAACCACA
+CTTTCCACCCCGCTTGTTGCCGGGCAACCGAAACAGGATGTCACCGACGTGCTGTATACCGCTTTTATTC
+TGCGATAACGACATGGGCGATAGTATTCTTTCTCAAGCTGAAATTGATGCGCTGTTGAATGGCGACAGCG
+AAGTCAAAGACGAACCGACAGCCAGTGTTAGCGGCGAAAGTGACATTCGTCCGTACGATCCGAATACCCA
+ACGACGGGTTGTGCGCGAACGTTTGCAGGCGCTGGAAATCATTAATGAGCGCTTTGCTCGCCATTTTCGT
+ATGGGGCTGTTCAACCTGCTGCGCCGTAGCCCGGATATTACCGTCGGGGCCATCCGCATTCAGCCGTACC
+ATGAATTTGCCCGCAACCTGCCGGTGCCGACCAACCTGAACCTTATCCACCTTAAACCGCTGCGCGGCAC
+AGGGCTGGTGGTGTTCTCACCGAGTCTGGTGTTTATCGCCGTGGATAACCTGTTTGGCGGCGATGGACGC
+TTCCCGACCAAAGTGGAAGGTCGCGAGTTTACCCATACAGAACAGCGCGTCATCAACCGCATGTTGAAAC
+TGGCGCTTGAAGGCTATAGCGACGCATGGAAGGCGATTAATCCGCTGGAAGTTGAGTACGTGCGTTCGGA
+AATGCAGGTGAAATTTACCAATATCACCACCTCGCCAAACGACATTGTGGTTAACACGCCGTTCCATGTG
+GAGATTGGCAACCTGACCGGCGAATTTAATATCTGCCTGCCATTCAGCATGATCGAGCCGCTACGGGAAT
+TGTTGGTTAACCCGCCGCTGGAAAACTCGCGTAATGAAGATCAGAACTGGCGCGATAACCTGGTGCGCCA
+GGTGCAGCATTCACAGCTGGAACTGGTGGCCAACTTTGCCGATATCTCGCTACGCCTGTCGCAGATTTTA
+AAACTGAAACCCGGCGACGTCCTGCCGATAGAAAAACCCGATCGCATCATCGCCCATGTTGACGGCGTCC
+CGGTTCTGACCAGTCAGTACGGCACTCTCAACGGTCAGTATGCGTTACGGATAGAACATTTGATTAACCC
+GATTTTAAATTCTCTGAACGAGGAACAGCCCAAATGAGTGACATGAATAATCCGGCCGATGACAACAACG
+GCGCAATGGACGATCTGTGGGCTGAAGCGTTGAGCGAGCAAAAATCAACCAGCGGAAAAAGCGCTGCCGA
+CGCGGTGTTCCAGCAATTTGGCGGTGGTGATGTCAGCGGAACGTTGCAGGATATCGACCTGATTATGGAT
+ATTCCGGTCAAGCTGACCGTCGAGCTGGGCCGTACGCGGATGACCATCAAAGAGCTGTTGCGTCTGACGC
+AAGGGTCAGTCGTGGCGCTGGACGGTCTGGCGGGCGAACCGCTGGATATTCTGATCAACGGTTATTTAAT
+CGCCCAGGGCGAAGTGGTGGTTGTTGCCGATAAATATGGCGTGCGGATCACCGATATCATTACCCCGTCC
+GAGCGGATGCGCCGCCTGAGCCGTTAGTGATGAATAACCATGCTACTGTGCAATCTTCCGCGCCGGTTTC
+TGCTGAGCCACTGCTGCAGGTGAGCGGCGCACTCATCGCCATTATTGCCCTGATCCTCGCTGCTGCCTGG
+CTGGTAAAACGGCTGGGATTTGCCCCGAAACGCACTGGCGTTAACGGTCTGAAAATTAGCGCCAGTGCTT
+CGCTGGGCGCGCGTGAACGGGTCGTGGTGGTCGATGTGGAAGATGCACGGCTGGTGCTCGGCGTTACCGC
+TGGGCAAATCAATCTGCTGCATAAACTTCCCCCTTCAGCACCAACGGAAGAGATACCGCAGACTGATTTT
+CAGTCGGTCATGAAAAATTTGCTTAAGCGTGGCGGGAGATCCTGATGCGTCGTTTGTTTTCTGTCGCACC
+GGTCCTTCTCTGGCTGATTACGCCCCTCGCCTTCGCGCAACTGCCGGGTATCACCAGCCAGCCGCTACCT
+GGCGGTGGACAAAGCTGGTCGCTCCCGGTGCAGACGCTGGTGTTCATCACCTCGTTGACGTTCATTCCAG
+CGATTTTACTGATGATGACCAGTTTCACCCGCATCATTATTGTTTTTGGTTTATTGCGTAACGCGCTGGG
+AACGCCCTCCGCGCCACCTAACCAGGTATTGCTGGGGCTGGCACTGTTTTTGACCTTTTTTATTATGTCG
+CCAGTGATCGACAAAATTTATGTCGATGCGTACCAGCCATTCAGCGAAGAGAAAATCTCAATGCAGGAGG
+CGCTGGAAAAAGGGGCGCAGCCGCTGCGTGAGTTTATGCTGCGTCAGACCCGCGAGGCAGATTTAGGGTT
+GTTTGCCAGACTGGCGAATACCGGCCCGTTGCAGGGGCCTGAAGCTGTGCCGATGCGCATTTTGCTCCCG
+GCCTACGTGACCAGCGAGTTGAAAACCGCATTTCAGATAGGCTTCACGATTTTCATCCCTTTTTTGATTA
+TCGACCTGGTGATTGCCAGCGTGTTGATGGCATTGGGGATGATGATGGTTCCCCCCGCCACCATTGCTCT
+GCCCTTTAAACTGATGCTGTTTGTACTGGTGGATGGCTGGCAATTGCTGGTCGGTTCGCTGGCGCAGAGC
+TTTTACAGCTAGAGAGGCAAAATGACACCTGAATCGGTCATGATGATGGGAACTGAAGCGATGAAAGTCG
+CGCTGGCACTGGCAGCCCCGCTGTTGCTGGTGGCGCTGGTCACGGGCCTTATCATCAGTATTTTGCAGGC
+AGCCACGCAGATTAACGAAATGACGCTGTCGTTTATTCCGAAAATCATCGCCGTATTTATCGCCATTATT
+ATTGCCGGACCGTGGATGCTCAATCTGTTGCTGGATTACGTCCGCACCTTGTTCACTAACCTGCCGTATA
+TCATCGGGTAGCCCGTACAATGATGCAGGTGACAAGCGATCAATGGCTTTCCTGGTTAAGCCTGTACTTC
+TGGCCGTTACTGCGCGTGCTGGCGCTCATTTCTACCGCGCCAATTCTGAGCGAACGCAGCGTGCCGAAAC
+GGGTAAAACTGGGTCTGGCAATGATGATCACGTTCGCCATTGCCCCATCATTACCTGCCAACGATGTTCC
+TGTTTTTTCGTTCTTTGCTCTGTGGCTGGCCGTGCAGCAGATCCTGATCGGCATTGCGCTTGGTTTTACC
+ATGCAATTTGCCTTTGCCGCTGTGCGAACCGCTGGCGAAATTATCGGTCTGCAAATGGGGCTGTCATTTG
+CGACATTTGTCGATCCTGGCAGCCATCTCAATATGCCCGTTTTAGCGCGCATCATGGATATGCTGGCATT
+ACTGCTGTTCCTGACATTTAACGGTCATTTATGGTTGATTTCACTGCTGGTCGATACCTTTCACACCCTG
+CCGATTGGTAGCGAACCGTTGAACAGCAATGCGTTTCTGGCACTCACCAAAGCAGGGAGTTTGATTTTCC
+TTAACGGGCTGATGCTGGCGTTACCGCTCATTACTCTGTTGCTGACCCTGAATCTGGCATTAGGTTTACT
+GAATCGTATGGCCCCGCAATTATCCATTTTTGTTATTGGATTTCCATTAACTCTGACTGTCGGCATCTCT
+TTAATGGCGGCATTAATGCCGTTAATTGCGCCTTTTTGCGAACATTTATTCAGTGAAATTTTTAATTTGC
+TGGCTGATATTATTAGTGAATTACCATTAATATAATTCCGTAACGTTTATCATGCTACCCTAAGGATTAT
+CCGAAAAATAATATCTGCGAACATCTTCCAGGATACTCCTGTAGCGAAATATTTGTTTTAAGCTCACTCA
+CATATCGCAACATTTACTTTACTTTAAGACAATTCCAGGCAAATTATACAACACTTTACGGGATAGTAAG
+TCCGCCTGAAAAATTGCGAGAGTGGCGCATTAGGTGACCCATGTTGTTCCGTTTAGTCATGATGAAATAT
+TCAGGTAAGGGGAATTATCGTTACGCATTGAGTGAGGGTATGCCATGTCAACGATTATTATGGATTTATG
+TAGTTACACCCGACTAGGTTTAACCGGGTATCTGTTGAGTAGAGGGGTTAAAAAAAGAGAAATCAACGAC
+ATTGAAACCGTTGATGACCTTGCCATAGCTTGTGATTCACAGCGCCCTTCAGTGGTGTTTATTAATGAGG
+ACTGTTTCATCCACGATGCTTCTAACAGTCAGCGCATCAAGCACATCATTAATCAACATCCCAATACGTT
+ATTTATCGTTTTTATGGCAATTGCCAATGTTCATTTTGATGAATATCTATTGGTCAGAAAAAATTTATTG
+ATCAGTTCTAAGTCGATTAAACCGGAATCTCTCGACGATATCCTTGGCGATATTCTGAAAAAAGAGACAA
+CGATAACCTCGTTTTTAAATATGCCGACGTTATCATTGAGCCGAACCGAATCGAGTATGTTGCGAATGTG
+GATGGCAGGTCAGGGAACCATTCAAATCTCCGACCAAATGAATATCAAAGCCAAGACCGTTTCATCGCAT
+AAAGGTAATATTAAACGTAAGATCAAAACGCATAATAAACAGGTTATCTACCATGTCGTCCGACTGACGG
+ATAATGTGACTAATGGTATTTTTGTCAACATGCGCTAACACATTCTGACTGGTGGTTTCCCACCAGTCAG
+GCTGAATAAGATTACTCTGCTTTCTCAACAAAGATACCGTCCTGATGCCCTGCTTCATTAAAGAACCAGA
+TGCCGAGCGGGTAGTCTTCCAGCGAAACCAGGTACATTGTGCCTTCACTAAACTCCTCAACTGCCAGTAC
+CACGCCAGGACGACGCGGACCGCCATCCGTTTTGACTGTTACCCGATCATTCACCTTCATCGTTTTCCTC
+CTGTGGCTTTGTGCCAGTGTAGAACAATTTCGTCTTTTCTGGCAGCGCCAGGCGCGCGCGAGTGCTGATT
+TTCTCGACGGTCTATACTTAAGAGATGCCAGGCGGACTTAACGACTGGCGGCAACAACAGAGTAACGGTT
+GCGAGGAAAGATGATGAAAACCGCAAAAGAGTACAGCGATACCGCAAAACGTGAGGTCAGCGTCGATGTC
+GATGCCCTGCTGGCGGCGATCAATGAAATTAGCGAAAGCGAAGTTCATCGCAGCCAGAACGATTCTGAAC
+ACGTTAGCGTCGATGGACGTGAATATCATACATGGCGTGAATTGGCGGATGCCTTCGAACTGGATATTCA
+TGACTTCAGCGTCTCTGAAGTGAATCGTTGAATGCACAATAAAAAAATCCCGACCCTGAGGGGGTCGGGA
+TGAAACTTGCTTAAGCAAGAAGCACTTAAAAAATTCGTTACACCAGGAAATCTGATGTGTTCATCACCTT
+ATCTGCAATTTTTTTCGCTGACAAGAAAATATTCGCGCTATGAATGATTAACGCTACTTATGAATAGAAA
+TGTGACGCGCGTCACCCCTTGGTGGCTCTGGTGTCAACGGGATCGCTCCCGAAAAAATCATCTTTGATTA
+TTTGTGCTGTTTTGAGAATCATCCTGGTAAGGGGAGTACTGCGCCCATGTTTTCAATTCAACAACCACTA
+CTGGTTTTTAGCGATCTTGATGGCACCCTGCTGGACAGTCATAGTTATGACTGGCAACCGGCAGCCCCCT
+GGCTCAGCCGTTTACACGAAGCCAATATTCCCGTCATTCTCTGTAGCAGTAAAACTTCAGCGGAAATGCT
+GTACTTGCAAAAAATGTTGGGGCTACAAGGCTTACCGCTGATTGCAGAGAATGGCGCAGTGATCCAGCTT
+GCTGAACAATGGCAGGATATAGACGGTTTTCCACGCATCATCTCAGGTATTAGCCATGGCGAAATCTGCC
+AGGTTTTAAATACGCTACGCGAGAAAGAACATTTTAAATTCACGACTTTTGATGATGTCGACGATGCAAC
+CATTGCCGAATGGACGGGATTAAGCCGTAGCCAGGCGGCGCTGACGCAGCTGCATGAGGCGTCGGTAACG
+CTAATCTGGCGCGACAGTGACGAGCATATGGCACAATTTATCGCTCGTCTGAACGAACTGGGCTTGCAGT
+TTATGCAGGGTGCGCGCTTCTGGCACGTACTGGATGCCTCTGCCGGAAAAGATCAGGCTGCCAACTGGAT
+TATCGCGACCTATCAACAATTGTCAGGCAGACGCCCAACCACACTTGGCCTGGGCGATGGGCCAAACGAT
+GCGCCTTTACTGGAGGTAATGGATTACGCGGTGATTGTGAAAGGGCTAAACCGTGAAGGGGTCCATCTGC
+ATGATGAGGATCCGGCCCGCGTCTGGCGAACGCAGCGTGAAGGACCGGAAGGCTGGCGTGAAGGGCTGGA
+CCATTTTTTCTCCGCCCGTTAAGCGTTATCGCTCGCGAATACCCGATTACGCCCGGCCTGTTTTGCGAGG
+TAAAGCCGACGGTCGGCCAATGACTGGAGTTGTTCAAAATCATAATCACCGGTTTCCTCGCTGCTACTTA
+CCCCCAGCGAGGCACTGATGCGTATCGTTGTACTCTTGGCGATCAGCATCTCTTTTTCATTTAACTTCAG
+GCGAATACGTTCTGCGACCTCCGCAGCCTGCGTCAGATTCGCGCCTGGCAGAATCACACAAAACTCCTCA
+CCACCGACCCGCCCGGCAACGTCCTGCGCACGTAAGGAACTGCTAATTAATCCGGCAGCATGAGAAAGAA
+CACGGTCGCCCGCCTGATGACCAAAGCGGTCATTAATCGCTTTAAAATGGTCAAGATCGACCTGAATGAC
+AGAAAAAGGATGTTGGTGCGTCTGACACAATTTAGCGAGCGGACGGGCTTTTTCGAACAGTGCACCACGG
+TTATATAAACGCGTTAAGGTGTCGTGCCACGCCTGCCACTGCAACGAGCTTTGCAGAACATACATGTTGC
+TGACCATCCGGCGAATCACATACCAGGAGAGGAGTAACATGGTGGTAAAGAGCGCCCACAGCAGGGTTAA
+TGCAATGCTGATACTGCCGAAATCGCCGCGCACGCCTTCGCTTAGCGTATGGACGCGCACCAGCACACCG
+TCGAAATGGTCCAGACGTTCCCAGCTAACATAGCGACTGTCCATACGAATGCCGCCCCGCGTGTCATGTT
+CCATTGCCTGCGCCAGCAAGGCCAGTTCACGAGGATCAAAAATATTCCCTGTTGGATGGTCAGGATTGGA
+AGAGGTCAAAAATCTCAGCTTACTGTCATAGAGCTGATACTCACCATCGAGGTTTTTATCGATGGCGTTT
+CTTAAAAATTGCTGCATAGTACGCACGGGAATACTCATCCCCAGCACGCCATACCAGTAGTTATTACTGT
+CTACCGGAACACTGACGGTAACCTGCGGTTCAGTATTGCTGGCGTGTTCCGGTTGCGAAGTGAACCAGCG
+TACCGCGCGGTGACGATTTTCTCGTTGTGAATGGCCGATAAACCAGGGTTGGGTGACATAGCCGTAATAA
+CGCGTTGGTACATTGCGCGTAAACAAGGTCGGCAGCGTCGAAACGTAAAATCCAGCACGCGAGACATACA
+CCGCCTGTTCAACCATCGACGAGGAGTTGTGCGCCAGTCGCAGCAAGTAACCAACTTCCAGTGCAGCGGT
+AATTTCATTGTCGAGGCTTTCATTTTCGCGAGACAGGAGATTCCCCTCGCTGACTAATGCATCCGATACG
+CCATTGACTGGCAGGGTGCGCCGTCGGTTGAGTTCGATTTGCCAGGCGTGCTCGTCGCGATGCTGTTCGA
+ACTCGGTTACGGCATTACGCAGAGAGGTGAAATCCAGTGGCGCCACGAGAGCTTCGCGCATGCCATTACG
+CAAAAAGATCAGTTTGTCGACGTTATACTGCAAATGCTTATCGAGCGCGTTGGCTACGTTTTCCAGATGA
+TTACGCTGGCTGGATATATAGGCATCTTCCAGCACCACCACTTCACGCCAGGTGAGCAAGGTGGAAAAAA
+GCAATACCACGATAAAGCAGAGATTAACGACATGACCAGGCCCCAGGCGGCGTGCGAGTTTTTTCAACCA
+GCTCTGGTTTTCCATTTTTGTCTCGTGCTGCACCCTGACGACTCCCAACCTGCTTTTTTATGATTCTGGC
+ATAACCCGGCGATAGCGTACCGCAAAACAGCGATAATTTTATAATGGTGGCATGATAAGACGCGACTATC
+ATTCATTGCAGGCATTGGGACACCAGGCCGGATGTGATCCGGCCTGGTGTTAATGATACCCTTTCAAACT
+TCTTCCGCAGAACGACTCCCCTCCCCCGGAACAAGATCGGTTTCATGAAAAGCTTCCCGCTTGACCCCGT
+AACCGTCATACCAACGACACTCAACCATACCGCTGGAGTATCCAGTGACAATCATCCGCGGGCCGCCCTC
+TTTAACCGTAACTTCCTCACTAACCATAAAGCTCATACTCGCCTCCTTTTTTCGAGTGAAACTTGTTCAC
+CTTAGTTGAAGATGGCGAATTTTGCATAATAGCCAGTGCGAGTATTAATGTGCCTGACCGCGCATTTTCG
+CTACTGCTTTCACTCCCAGCACCACGATGCCGCCGATGATAAATCCAAGAATCAGATTTAAAACAGTCGG
+TAATATCATCGCCACCACTGCACTTTGCTGCCCGGCGATATGTTCAATAGCGTGATGCAGCGGCGCAATA
+CCATGTACCACAATCCCGCCGCCGACGAGGAACATCGCCAGCGTGCCGACAATCGATAATGCTTTCATCA
+GCCAGGGCGCGATAATCAATAACCCTTTACCTAATGCCTGCATCAGCGCGCTGGATTTTTCCGCCAGCCA
+ATACCCCAGGTCATCAATCTTAACGATAACCCCTACCAGACCGTAGACGCCCACGGTCACTACCAGCGCG
+ATGCCTGAAAGCACCAGCACCTGATTAAGCAACGGTGCCTCTGCCACAATCCCCAGCGTAATGGCGACGA
+TTTCCGCAGACAAAATAAAATCGGTACGAATCGCCCCTTTAATTTTGTCCTTTTCAAACTTCAGCGGATC
+CTGCGCCGCCAGCTTCTCCAGACGCTGCTGGCTCTGCGCTGGATCTTCTTTATGTTTACGCGCCTCCAGC
+ATATGCAGCACTTTCTCTACCCCTTCAAAGCAGAGAAACGCGCCACCAATCATCAACAGTGGCGTAATCG
+CCCACGGGATAAACGCACTGATGATCAACGCCAGCGGCACCAGAATCACTTTATTGATCAGCGATCCTTT
+CGCCACGCCCCAGACCACGGGAAGTTCCCGGTTGGCCCGCACGCCTGAAACTTGTTGCGCATTGAGCGAT
+AAATCATCCCCTAATACACCGGCGGTTTTCTTCGCCGCCAGTTTGCCCATCACGGAGATATCGTCCAGCA
+GTGTGGCGATATCATCGAGCAACGTCAGTAAACTACTCCCGGCCAAAAGCATTCCCTCTCATTTTTATTG
+TTGAAGGGTGTAAGTATGAAGCAAAAACGGCAGCTCTGATACTTGCTTCACAGGTCAACATTTATTTAAC
+AATCAAGTGCAATTATATCTCTCGCCAGCAGAATGATTTTCACGTTTACTATGAACCACCTTTTTATTTC
+CGCCGTGAGGGATTATGCGTTTCCGCCAGTTGTTACCGCTTTTTGGCGCGCTGTTTGCGTTGTATATCAT
+TTGGGGCTCAACCTATTTTGTCATTCGGATTGGCGTGGAAAGCTGGCCTCCGTTAATGATGGCGGGCGTT
+CGATTCCTGGCAGCCGGTATTTTATTGCTGGCATTTTTGCTACTGCGCGGACACAAACTTCCCCCGCTAC
+GTCCGCTGCTCAATGCCGCGCTGATTGGCCTGTTATTGCTGGCTGTCGGTAATGGCATGGTGACGGTTGC
+CGAACATCAAAATGTTCCTTCCGGCATCGCCGCCGTAGTGGTTGCAACCGTGCCCCTCTTTACCCTGTGC
+TTCAGCCGCCTGTTTGGCATTAAAACGCGCAAACTGGAATGGGTGGGTATCGCCATTGGGCTTGCCGGAA
+TCATCATGCTCAATAGCGGTGGAAATTTAAGCGGCAATCCGTGGGGCGCGATTCTGATTTTAATCGGCTC
+GATTAGCTGGGCGTTTGGCTCAGTTTATGGCTCGCGCATTACCTTACCTGTAGGGATGATGGCGGGTGCG
+ATTGAGATGCTGGCGGCAGGCGTGGTGTTAATGATCGCATCGATGATTGCGGGTGAAAAACTGACGGCGC
+TCCCTTCCCTGTCAGGCTTCCTTGCGGTCGGCTATCTGGCGCTGTTTGGTTCGATTATCGCCATTAACGC
+TTATATGTATTTAATCCGTAATGTCAGTCCGGCTCTCGCCACCAGCTACGCCTACGTTAACCCGGTGGTC
+GCGGTCTTGCTGGGTACGGGACTGGGTGGCGAAACGCTGTCGAAAATTGAATGGCTGGCGCTCGGCGTAA
+TTGTTTTCGCGGTGGTACTGGTCACGTTGGGAAAATATCTCTTCCCGGCCAAACCCGTTGTCGCGCCAGT
+TATTCAGGATGCATCAAGCGAGTAAATGAATCCCCTGCGTGTCGATCTGCGCGCTGGCACCTTCGCCGCA
+GATCCACTCTTCCAGACGCTCGGTAAGCGCCGCATCCGTCAGCTTCTCGCGCCCACGTAACGCACACTCC
+CAGACAATCAGTACGCGCCAGCCGAGCTCCTGCAAGCGACTGATATCGCGGCGATCGCGTTCAACATTTT
+TACCTATCTTCTCCAGCCAGAACTCGGTTCGAGTCGCAGGCACTTTAAACAGATAGCAGTGATGATGATG
+CCAGAAGCAGCCGTGGGTAAATATCACGCAGCGATATTCATCAACGACAAAATCCGGGCGTCCGGGCAGA
+CTGGCGTCCTGAACGCGAAACGCAAGGCCCTGCCCGGTTAACAAACTGGCGAGGCGCTTCTCAATCGCCG
+TATCACGCGTGGCAATCGCGCGCATATTTTTGCTGCGGGTGGCCTTATCGTGAACGTCGACCATGTTGTG
+CCTCTTGCTGACGCAACGCCACCGCCTGTTTGATTTTTGGCTCAAGCAGTTTTGCCACCGCGGCAAAGAC
+CGGCACGACCACCGAGTTACCGAACTGGCGATAGGCCTGAGTGTCCGAAACCGGAATGCGGAATTTCGCT
+TCTCCCGGCGCTTCAAAACCCATTAAGCGCGCGCATTCACGAGGTGTTAACCGACGTGGACGATGTTGCT
+GATTCAGCGGATCGTCAAAGTCTTTCTCACCCGTGGCCATATCCCAGCCGCGGTCGATTAAAATTTCCGC
+GCCATCTTTGTAATAACGAGCAGACAGCGTACGGGTGACGCTTTGCGGATTGTTCGGATAAACCATTCCA
+TAACCGAAGCCGTTACCGCGCGCCTGATGTTTTTTCGCATATCGATAGAGGTACTTCCACAGCACCGGCG
+TCAGGATATATTTCGCCTCAACCATCGGGTCCAGCAGCTGCGCCAGCGTCACTCGCTGTGCAGGGAAACA
+TTCGCTGATATCACGCAGAGTAAAATCGGCTTTCAGATTCAGATCGCGACGAAAACCCACCAGCACGATG
+CGTTCACGGTGCTGCGGCAGGAAATGTTTACCGTCGATGATTTTCGGATCGTCCGGCCCGTTATCTGCTG
+CGTCGGCAACGTCATAGCCCAGTTCGTCCAGCGTCTGCATGATGATGCGGAACGTTTTTCCCTTATCGTG
+ACTCTTCAGGTTTTTGACATTTTCGAGCACAAACATCGCCGGACGACGCGCGTCGATAATGCGCACCACA
+TCAAAGAACAGCGTACCCTGGGTATCGCAGGCAAAACCGTGCGCCCGCCCGAGCGAGTTCTTTTTCGATA
+CGCCAGCCAGCGAAAATGGCTGACAAGGGAAACCGGCCAGTAAAACATCGTGTTCAGGAATGTGTTGACG
+AATATGTTCCGCCGCCGCCTCATCACTCACGCCTTCTTGATGACTGAGGGTGATGTCGCGGATATCTTCA
+TTAAAATGATGCGTCGCCGGGTCGCAATAATGGTTGGCTTTATAAGTGCGTACAGCATGTTTGTTCCATT
+CGCTGGTAAACACGCACTGTCCACCAATCGATTCAAAACCGCGACGGATGCCGCCAATTCCGGCAAATAG
+ATCGATAAAGCGAAACGCATAATGCGGATGATGTTCCGGTGGTTTGGGTAACAACGTTTGCAGATGGGCA
+AACTCTTTCTCACTTAAACGGTGCCATGCCGAGTCATTCGCCAGCGCACGTTTTAAAATTGCCGCGCTCC
+AGTGATTCTCACCCACACCATTAAGCTGCGCCACCAGCGTTTTAACATCATAAATTTGCAGCAGTTTCTC
+CAGCATTGCCTGTGCGGCATTCCCGGTGCTGTATGAATCGGTTACTGATATATTTTCCTGCATAGATTTA
+ACCGGCCATCTGAGATGGCCGACAGGTTAACATAATTACTGCCGTTTAGGGCCACGCGCTCAGCCAGCGG
+GTGAAAACGCATCTATCACCTTGTGATCGATACCTTCATTCTCCCCCGCCAGTTCGGCACCGAGCTTCGC
+CATAAACTCGACTAAAAATTGCGCGTTGTGCTGTGCCAGCTGCTTGCCTCTTGCGGTTTGCATGGTTTGC
+GGTAATTTCAGTAACTTTGTCTGGAAATGATCCAGCGCGTAGCGTTTATCATCAAGCGGGCGATGCTGTG
+CGAACGGATCTTCGCCATCAAACAGCGCCAAGCCCAATGCCCCTGAAACGGCAAATACGCGCGCCAGGCC
+AATCGCCCCCAGGGCTTCCAGCCGATCCGCATCCTGGACGATTTTAGCTTCCGTTGTTAAGGGGGCGATT
+TGCGCGCTGAAACTGTGAGCGGCAATGGCATGACAAACGGCCTCAATTTTCTCCGCCGGAAATTGCACGA
+ACTCTTCACGGAGCAGGCGACGCGTCTCTTCTGCCGCCAGGATTGAAGAACGCTGCCGTTGCGGATGATT
+TTTCGCCAGGCTCACGATATCGTGAAAATAACAGGCGGTTAAAATCACCAGCATATCGACATCGTCATCT
+GCCGCCAGTTTCTGTGCCGTAGCCCAGACACGGCGAAAATGACACAGGTCATGCGCCGCGTCCTGATGTT
+GATGATGGTTTTTCAACCAGTTCTCGAACTGTGCCTGCCAGTGTTGTAACTCCATACGCGCTCCGTTGCC
+AAAGAGTCGCAACCTTAGCAGTTTTTATTCATAGCGTCTGCAACGTGCGGGACGAGGTCGGGTGTACCAT
+GCAATGCCGCCTAACAAGGCACCAACCAGGGCCATAAACAGAAATCCGACCAATGCTCCTAACCACTTCC
+CCGCGGTAGATCCTAAATCACTTTCAAATCCCGACACGGGGGCATCGGGGATCCGGCTCATCACCCAGAT
+GTATCGCGCCATTGCCCAGACGAAATAGCCACACCATGTATAGAAAGCCCACAAAGCCAATTTGCCGCCA
+GGGCTGCGAGAGAGTCTCTCTTCCATCTTTGTCGAACCGTATTCCATTTTGAGATAACCCGGAAAATTCA
+GACTTAGAACTATTATGTGATAAAAATCACATTTTTCCACATTGGATGAGCCAGTCAAGACTCAATCATT
+TTTTGAACAAATAGATAAATTTTGCGCAACGGCGGTGAATACAGGAAAAATCGATTCGAACGATGTTATT
+TATCTTTGATTTCGGCTTTATTAATTCACTCAATCAATATATTAGCACTGATTACAATTATACCTTTTTA
+TTATTCTGTGTCATGATGCTTCCGTTATTAGCCTTTTATCGTCTTGTTTATATTTTTTGGGCCGGCATGA
+TGCCGGCTTTTTTTATGCCTTCATTAATGTGCGCGTGATCACACCAGCCGTTTGGCGCAACAATCATTGA
+TACCCCCTATGTTTCCACTCAACTCATAACATATTGATATACATTTATAATTTTCATGAATATTTATATT
+TATAATTCATAACTCTGAATTATATTAAATATATTAGAAACATTTTGAAATCTTTTAAATACATTTGTTA
+CATGTAATCTTTAAAATAAAATGAACTTCATAGAATAGTATCCAAATGTGCTTTTTTTGGATAACGGCAC
+TTATTGATATATTCATGAAGATTATAATCACAAGGGAATACATAATGAAAAGAAAAGTTCTGGCAATGCT
+GGTCCCGGCGTTATTAGTTGCTGGCGCAGCAAATGCGGCTGAAATTTATAATAAAAATGGCAATAAAGTT
+GAGCTATACGGCAAGATGGTTGGTGAGCGCATTCTGACCGACCGTGAAAGTGGTGAAAAAGGCGATAATT
+CTCAAGATACCTCTTATGCCCGTGTAGGCGTGAAAGGTGAAACTCAGATCAACCCTGAACTGACTGGTTA
+CGGTCAGTTTGAACTAGACCTGGAAGCATCAAACAGACACAACCCTGACCAAACTCGTTTGGCATATGCT
+GGTTTGAGTTACAAAGATTTTGGTTCATTCGACTACGGTCGTAATGTCGGTGTCGCGTATGATGCAGAAG
+CATTTACTGATATGTTTGTTGAGTGGGGCGGTGACTCATGGGCTGGTACTGACCTGTTCATGACCAACCG
+TACCAACGGTGTTGCAACCTATCGTAACACAGATTTCTTTGGCATGGTTGAAGGTCTAAATTTTGCTCTG
+CAATATCAGGGTAAAAATGAAGGTACAGGCAACTACAAAGCAAATGGCGATGGCCATGGTTTATCTGCAA
+CTTACACTATTGACGGTTTCTCATTTGCTGGTGCTTATGCAAACTCTGACCGTACTGATTGGCAGTCTGG
+TGATGGTAAAGGCGAAAGAGCCGAAGTTTGGGCGTTGTCAACAAAATATGACGCTAACAATGTCTATGCT
+GCTGTAATGTACGGTGAATCTCACAACATGAATTCCGACGACGGTGATGTTGTGAACAAAACACAAAACT
+TCGAAGCTGTTCTGCAATATCAGTTCGACTTTGGTCTGCGTCCATCCATCGGTTACTCCTATTCTAAAGC
+ACTGGACGTAGCAGGTTACAAAGATTCTGATCGTCTGAACTATATTGAAATCGGTACCTGGTATTACTTC
+AATAAGAATATGAACGTATATACCGCTTATCAGATCAACCTGCTTGATAAGAGTGATTATGTTCTCGCTC
+ATGGACTGAACACCGACGACCAACTGGCAGTTGGTATCGTCTACCAGTTCTAATCAGCCAACGCGCCGAG
+GCGTGTTACTGTAAAACATAACACCAGCCTGAGTTCGTCCCTCATCGAACTCAGGCTTTTTTTATTGGCA
+TTTCATCTCCATCTGCGGCACACGCAATTGCCAAAGCATCTCGATACAGCCCCTTACCCTGCCCCTCCTG
+GCACAATATCCTCTACCAGCAACTCTTCCAGCCAACACCCCAAATGCATTTCTTTATAAATTTAATCTGT
+AACAAAACCGCTTCCCATATAGAAATATTTGCAAAAATAGTGCATGAAAAAAGCTTTTTCCCTACCAATC
+CGGGATATAAATATTCATCAGTACCACAACATTCCACAGCACTAAATCTCTCCCCATCGCCCCCAAACCT
+CTGATAATGGTCTAAAATCATTGAGGCCACTTGCGACGACGTTACTCAATAAGGAAAGTTTGGCGTGAAT
+AATATTCAACACCAGTGAAGCATCATCATTACATACTTATGCCCGCCAACTACCGCTTTCGATATATTGA
+CTCAATTTTTCAGCCTGGTTAAAAATAGCGACCAGCTCAGTCGCAAATATAGTGACTACCCTAACTAAGC
+AACAATAAGGAATACACTATGACTGTTCAAACAAGTAAAAACCCGCAGGTCGATATTGCTGAAGATAATG
+CGTTCTTCCCTTCAGAATATTCGCTTAGCCAATATACGAGTCCCGTCTCTGATCTTGATGGCGTGGACTA
+TCCAAAACCGTATCGCGGTAAACATAAAATTCTGGTGATCGCCGCGGACGAACGTTATTTGCCGACCGAT
+AACGGAAAACTGTTCTCGACCGGTAACCATCCGATTGAAACGTTGCTGCCGTTGTATCATCTCCATGCTG
+CAGGTTTCGAATTCGAAGTGGCGACCATTTCCGGTCTGATGACCAAGTTTGAATACTGGGCTATGCCGCA
+CAAAGATGAAAAAGTAATGCCATTCTTTGAACAGCATAAATCGTTATTCCGTAATCCGAAGAAACTCGCG
+GATGTTGTCGCCAGCCTCAACGCTGATAGCGAATATGCAGCAATCTTTGTTCCTGGTGGGCATGGCGCAC
+TTATTGGTTTACCAGAAAGCCAGGACGTGGCTGCCGCTTTACAGTGGGCAATCAAAAATGACCGTTTTGT
+TATCTCCCTTTGCCACGGTCCGGCGGCTTTTCTGGCACTTCGCCACAGCGATAACCCACTGAATGGTTAT
+TCTATTTGCGCATTCCCAGACGCCGCAGACAAACAAACGCCAGATATTGGCTATATGCCGGGTCATCTCA
+CCTGGTACTTCGGCGAAGAGTTGAAGAAAATGGGCATGAACATCATTAATGACGACATCACCGGGCGAGT
+ACATAAGGACCGTAAACTTCTCACCGGCGACAGTCCTTTTGCAGCGAATGCGTTGGGTAAACTGGCGGCG
+CAGGAAATGCTGGCAGCTTACGCGAGTTAATCCCTGTTACATTGTAATGTAAGCGCATAATCAATCGCAG
+CCACGTTAATACTCACGACGTGGCTGCGTTTTTTCACGGTTAACTTATGGCGTACTGAAGCCCGATGTTA
+ATTTCTTTGCGGTAACGTAATTCGGAACACGTTATGCTTACTGAGATAGTGATACGTAGCACTTCCTCCA
+TGTAATTCGGCAATCGCTTTGACTAAAGAAAGGCCAAGACCCTGACCTACGGAATGACGCGAATTATCTC
+CCCGCCAAAATCTACGGAAGAGTTTTTCAGGCTCATTAATTTTCGTTCCAGGACTGGCGATATCAATATT
+AAGAGAACCGTTGGCATCAAGAAAACTGGTTATATGAATACGCGATTTTTCTGGTGAATATCGAATGGCG
+TTAACAATAAGATTCGATAACATTCGTTGCAGTAAAATTTTATCCGCAAAGATTTGTTGATTGCACTCGA
+CCTTAAAACGAATCTCTTTCTCGTCTGAAAGATATTCAAGATAGTCCAAAAGATTTTCAACTTCCTTATT
+GAGAGAAAGCGCATCCAGTTTCACCAAAACATTGTTTTTGTCTGCCCTGGCAAGAAACAGTATATTCTCT
+GTTAACCGCGAAATATTTTCCAGCTCTTCAATGTTTCCGGCAATTGTTTTTTGATATTCAGCGATACTTC
+TGGTTTGACTGAGCGTAACCTGATTCTGACCCAGTAATGCATTAATTGGCGTTCTAAGTTCATGAGCGAG
+ATCGTCAGCAAATTGACTAAGGCGCTCAAAATCTTTGACTAAAGCATGATGCATTTTATTCAACGCCTGC
+CCAAGAGGTTTTAGTTCTCTCGGTAATGCGCTAACCTCAACCGGCACTCGGCTATCGTTATAATTCAGCG
+CTTCCGTTACGCCACTCAACTTTTTGATCTCTCGCAACCCCGTTCTGATTAACAACGGACTTAATACTGA
+GCACAATATAATGGCGACAATGCAAATTATAATGCTATTAATTTTATACTGTTCAAGCATGTTATGTCTG
+GCTGAAGCCAATTTAGCCACAGTAACCGTTAATGATGGCGAAACTTCATCAATATTAATTCGGAAAGCAT
+CTATCTCTGTATCATTAATAATGCTTCTGTAAATGCCTGCTGCGCTGATTGTCTCACTAGCAGGTATGTT
+ATTTAACATGTCATCACTGACATTTGTCCGGTTAACAATTTTATTGATGCCATCACCATGAATGATCAAA
+ATATCCTGACTAACATCCATCATCCGGTTAAAGTACACAGGTAACGTATCTGGATTTACCCCATCAATTA
+ACAACTGCTTGATCTGCGCTGTCCGGTTAATGAGTGTTGTATCATCGCGCCATTTCAACTCACTTGCCAG
+GCCATTATAGAGAGTCCATACAATTCCAGCGCCAGCAACAGACAGCAGAAATATAAAAAGCAAGGTTAAA
+CGGACGGTTATAGATAATCTTTTCATTATTTTTTTACCGCTACGAATGAATAGCCCATCCCCCGGATTGT
+GGCGATTAGCTTTTCAGGAAAAGGATCATCAACTTTTGCGCGGAGCCTGCGAATGGCGACATCCACCGTA
+TTGGTATCACTATCAAAGTTGATTCCCCAAATTTCACTCGCAATAACCGTTCTGGGTATAATCTCGCCAG
+CTCTGGAGGCCAGTAGCCAAAGTAACTGAAACTCCTTGCGCGTCAGTGTAATACTGATATTGTCCCTGCT
+CACACTTTGACTGACAGAGTCCATTTTTAAGCCACTGATTTCTAATGTTGAATTCAGAGCGTGATGTTGC
+CTTAATTGTGCCCGAACCCTTGCCAGCAACTCAGAAAATGAAAAAGGTTTTACCAGATAATCATTTGCCC
+CACTGTCCAACCCTCTGACTCTGTCATCGACAGAATCCCTTGCAGTAAGGCAAATAACAGGGGTTTGCTT
+TGCCGTTCTTAACGTTTGTAAGATCTGCCAGCCATCCATACCCGGAAGCATAATATCCAGAATGATCAAT
+GCATAATCATCCTTCAGCGCAAGATAAAGCCCATCTCTGCCATCAGAAACGGCATCAATGACATAACCCG
+CTTCGGAAAGCCCCTGCGTTACCCATTCCTGGGTCCTTTGATTATCTTCAATAAGTAGAATCTTCATGAA
+AATAATATGCCATAAATCATATGTTATAGAAACAACCTGGTTCATTACAAAATTGTAATGCTGCTGTAAG
+GTTACCCTGGACGTTTTTTCGCTATCCTCAAAACTCATTCACATGACAAGGATATAAACATGTTAAAGCG
+TTATTTAGTACTCTCGGTAGCAACGGCAGCATTTTCATTACCTTCTTTGGTTTATGCCGCACAACAAAAC
+ATTCTTAGCGTGCACATTTTGAACCAGCAAACAGGAAAACCCGCTGCCGACGTGACAGTCACTCTTGAAA
+AGAAAGCGGATAATGGCTGGTTACAACTTAATACCGCCAAAACAGATAAGGATGGACGAATTAAGGCACT
+GTGGCCCGAGCAAACTGCGACTACTGGCGATTACCGTGTCGTATTTAAAACCGGGGACTATTTCAAGAAA
+CAAAATCTTGAAAGTTTCTTCCCTGAGATTCCCGTTGAATTTCATATTAATAAAGTGAACGAGCATTATC
+ATGTGCCTTTGTTACTCAGCCAATATGGGTATTCAACCTATCGTGGCAGTTAATGCGTAAATATGTAAAA
+GCTGATCTCTGCTACTGTTAGGGAGGTGACTCCCTGACAGATTAACAGTAAACGGCTCTTGTTGGCTAAC
+GACAAAAAAGTGTGATGGCTTATGAAAAAGAATCAATTTTTAAAAGAATCAGATGTTACGGCCGAGTCGG
+TATTCTTTATGAAGCGTCGGCAGGTGTTAAAAGCACTGGGCATCAGCGCAGCTGCATTTTCTTTGCCTCA
+CGCTGCGCATGCCGATCTGCTTAGCTGGTTTAAAGGGAACGATCGTCCGCCCGCCCCCGCCGGAAAACCG
+CTGGAGTTAGCAAGCCTGCCGCCTGGCAAAATAACCTGCCACTGACGCCAGCAGATAAAGTCTCCGGTTA
+TAACAACTTCTATGAATTCGGGCTGGATAAAGCCGATCCCGCTGCTAATGCTGGTAGCCTGAAAACCGAT
+CCATGGACACTGAAAATCAGCGGCGAAGTGGCAAAACCATTGACCCTCGATCATGATGATTTAACCCGTC
+GCTTCCCGCTGGAAGAGCGTATTTATCGTATGCGCTGCGTGGAAGCGTGGTCGATGGTGGTGCCGTGGAT
+TGGTTTTCCGCTACACAAATTGCTGGCACTTGCCGAACCTACCAGCAATGCGAAGTATGTCGCTTTCGAA
+ACGATTTATGCGCCGGAACAGATGCCAGGCCAGCAGGACCGCTTTATCGGCGGCGGGCTGAAATATCCTT
+ATGTCGAAGGATTGCGTCTCGACGAAGCAATGCATCCGCTCACACTGATGACCGTAGGTGTTTATGGCAA
+GGCGTTACCACCGCAAAATGGTGCGCCAGTGCGACTGATTGTGCCGTGGAAATATGGCTTTAAAGGGATT
+AAATCGATCGTCAGTATTAAGCTGACCCGCGAGCGTCCGCCAACCACCTGGAATCTGGCAGCGCCTGACG
+AATACGGTTTTTACGCCAACGTTAATCCGCATGTTGATCACCCGCGCTGGTCACAGGCTACCGAACGATT
+TATTGGTTCAGGCGGCATTCTCGATGTTCAGCGCCAGCCAACACTACTGTTTAATGGTTACGCCGACCAG
+GTGGCATCGCTGTATCGTGGCCTGGATTTGCGGGAGAATTTCTAAATGCGTCTGACAGCAAAACAGGTGA
+TATGGCTGAAAGTTTGCCTGCATCTTGCCGGATTGTTGCCGTTTCTCTGGCTGGTCTGGGCGATCAATCA
+CGGTGGACTGGGTGCCGATCCGGTGAAAGATATTCAGCATTTTACCGGTCGCACTGCACTGAAATTTTTG
+CTTGCGGCCTTGTTAATCACACCTCTGGCACGCTACGCAAAACAGCCGTTATTGATACGCACTCGCCGCC
+TGTTAGGCTTATGGTGCTTTGCCTGGGCGACACTGCATTTAACCAGTTACGCATTGCTGGAGTTGGGCGT
+GAATAATCTGGCGTTATTAGGTAAGGAGTTAATTACCCGGCCTTATTTAACGTTAGGAATTATCAGCTGG
+GTTATTTTGCTTGCTTTAGCGTTCACTTCAACCCAGTCGATGCAGCGAAAACTCGGCAAACACTGGCAAC
+AGTTGCATAACTTCGTCTATCTTGTCGCGATCCTGGCCCCAATACATTATCTGTGGTCAGTGAAGATTAT
+TTCACCGCAGCCACTCATGTACGCTGGGCTGGCTGTACTGCTTTTAGCCTTACGGTATAAGAAGTTGCTT
+TCCCTTTTCAACCGGTTACGCAAGCAGGCCCACAACAAATTATCTCTATAACTTCATATTGCCGACAAAC
+TTCGCGTTATCCCGGCCGGATGCGGCGCGAGCGCCCTATCCGGCCCACACAGATCGCATCAAGTTATGTT
+TCGTTTGTCATCAACCTTTCATCACCAGAATAATTTATTTTATTTCAATAAGATAGTTCAATACACCTGA
+GAATACCATGCTCTCATTTCCTAATGAGTTGTTGCATTTTTTCATATGTTACAATATAACATTACACATC
+ATGTACATTAACTCTGGAGGAAATTGTTTTGGCGATTCGTCTTCATAAACTGGCTGTTGCTTTAGGTGTC
+TTTATTGTTAGCGCTCCTGCCTTTTCGCATGGTCATCATTCTCATGGCAAACCCTTAACAGAGGTCGAAC
+AAAAAGCTGCTAATGGTGTTTTTGATGATACCAATGTACAAAACCGAACGCTCAGTGACTGGGATGGAGT
+CTGGCAATCCGTTTACCCTTTACTGCAAAGTGGCAAACTTGATCCCGTCTTTCAGAAGAAAGCGGATGTA
+GATAAAACCAAAACATTTGCTGAAATTAAAGATTATTATCGCAAAGGTTATGCGACAGATATCGAAATGA
+TTGGCATTGAGGACGGCATTGTCGAATTCCATAGAAATAATGAAACAACATCCTGTAAATATGATTACGA
+TGGATACAAAATACTCACCTATAAATCAGGCAAGAAAGGCGTTCGTTACTTATTCGAATGTAAAGATCCT
+GAAAGCAAAGCCCCTAAATATATACAATTTAGCGATCATATAATTGCACCACGAAAATCATCTCATTTTC
+ACATTTTTATGGGTAATGATTCCCAGCAATCTTTATTGAATGAAATGGAAAACTGGCCAACGTATTATCC
+CTATCAGTTGAGTAGCGAAGAAGTGGTCGAGGAGATGATGTCTCATTGATTTTTTTGCGCTGACTTCAGT
+TATTTAACAGAACAGTGCCTGGTAGTAACAACAATAATTTACCAAGACAAATAAGTAAGAAAAACTCAGA
+CACGCTCATACTTGAGTCGTGTCTTTTTTATTATGTCTGTAGAAAAAAACTGAGAAAAAGGCGAACAATA
+AATACACAACTCAGCCATACAGATTGGCAGCGCAAATGTCTCCAGGAGCAAGTCATCTGTCATGGTAAAG
+CTAACCAGAAATATAGGTTAATTTTGGTGTTTAAACCTTTTTTACTTGTTAGTATGATACAAAGGCTTTC
+AAAAAAGCTGGGAAATTCAACAACTCTTGGAAATTATGGACTTTGTCCCGCGGCTTTAATCTGACGGCCG
+CGTTCCTTTTTTGGCTCAATTATTGACCCCTTATCTACGCAACTTCAGTTCCCGCCAGCAACTTTGCGGC
+AGTTTCATAGGATCAATGTCTAAAAGAATAATGGTGACCGATAAGAAAACGACTGAATAACTGTAGATTT
+TCGCTCGAAACCTTCCTGTCAGACCCATAGCGAATCAAGTGCTGAATGTCACAGTATCGAACAGAAAACA
+GTGACGATCTAACCCTTCAAGAATATTCTACGATTGTTCTGTTTAGGAAAAGCAAGGCGGGAAGTCGGGA
+GATAAGTCATTGATAAAGTGGCGGAGAGAGGGTCTAAATTTTTAGTGTTCGACAATGCCCACCAAAGTGC
+TATTTTTCCTTTAAAAACAAAATATTGTCATTATTTTTTTGTTCGGTAGTGTATTGCTACTGTGCAAACA
+ATCAGCTATTTTATGCAGTACCGTATGTATGGCGGGTTGTATGACAGGATTTTGCTATGCCAAAGAAGGC
+CAAGGAACTCTCAGGACTCGTCGTATCACGATTAAAATCCGAAGGCATGTATGCCGTTGGTGGTGTGGAT
+GGTTTATACCTTCGCATCCGAAATCAGTCCCGTGCATGGGTTCTTTGCGTGGCTATGGGAACCCGAATCA
+ACAATCTCGGTAGAACAGTTCCAAGACGTTTGAATATGGGTCTTGGCCCTTACCCGGAAGTCTCCTTAGC
+CGAAGCGCGTGACAAAGCGCGTGAGCTACGTAAACAAATCCGTAATGGTATTAATCCCCTTCAGGAAAAA
+CACGAGCAAAAAGCCCGGCAGGAAATACTGGCCCGGAAGAAAAAGACCTTTGCCGAATGTTGTGAAGAAG
+TGCTGGAAGTCAAAGACAGTGAGATGAAGAACAAAAAGCATCTCGCGCAATGGCGTTCCACACTGGAGAC
+CTATGCCTACCCTTTCATTGGCAAAAAGGCCGTTAGTGAAATCACCAAAGTCGATCTTCTGGCAATACTG
+GAACCTATCTGGTTAACCAAGAATGAAACCGCCAGTCGTCTACGTGGACGTATTGAAACGGTGATCGATT
+ACGCCAAGGCCAAAGAATACTTTGAAGGTGATAATCCTGCTGCATGGAAAGGTATGCTGAAACCTCTCCT
+GCCTCAGCCAAGTAAAGTTCAGATCACCAAACACCATGCGGCTCTTCCCTATAACCAGATCGGCTCCTTT
+ATGAAAGAACTGCGTGAACGAAGCGGCGTTTCGCCTCGTGCGCTTGAGTTTGCCATACTGACCGCAGCAC
+GCTCAGGTGAAATTCGTGGTGCCGAGTGGTCAGAGATCGATCTTGAAGGTAAAACATGGACCATCCCCGC
+CAGTCGAATGAAAGCAACGAAGGAGCATCGAGTTCCGTTGTCTGATGCTGCTGTTGCCCTGTTAAAGGCT
+TTACCACGCTTTAAAGGTATCAATTTTGTATTCCCTGCCACTCGGAAGGGACAACTCTCGGATACTGCTT
+TACTGGCAGTCCTAAAGCGAATGGGATATACCGACTTAACGCAGCATGGGTTTAGATCGACATTCCGTGA
+TTGGGCTGGTGAAACGACCAACTACCCGCGTGAGGTAATTGAACATGCGTTAGCTCATCAGTTGGCAAAT
+AAGGCAGAAGCTGCGTATCAACGTGGGACGTTATGGCCTAAGCGGGTGGCGTTAATGGATGATTGGGCGG
+GGTATTGTATTTCTTAGACATACTTGCGGATGACAAAAGCTCAACTTCCTTTACTATACGGACAGGTATT
+CATATACAATAAATTTCTAATCATATTTGATTAAAGGTTTATAATTTAAGGACATACAATATGAATTATA
+TAGATGAACATGATATAAACTACTCACGATATGGTTTTGAATCGCTTGCATTAGCTCATCCCGAAATAGA
+TATAAAGGGATTATGGCATTGTGATTCAAAATATTATGTGTTGATTGAAAAGGATGGAATACTCACTGAG
+GATGACTTAAAGGAATTTGAAAAGATACAAGAAGAGCATCGTATTATTGGTAGCCCTAAATTATTACTAA
+CACAAACACTCCCTAATAATGCAATAAAAATCGCAGGAAGAGAAAACTACGAAGTTGCTCTTTCTTTTGG
+CGCACCATACACAGATTCTGAGTTAGAAAACATACTTTATCAATATATAAATAAAAAATTTCATCCATTT
+AAATACACACTTAAATTACCATCTCTTCATCTGGTTTTGTCATTCCCAAGAAAATTGAGTGATGATGAAA
+AGTCAGAAATAGGAACAACATTATACAGCGTCGGTATTAAATATGTAATTGATTATTTAATAGATGATTC
+ATTATTAAACTTTGAACTATCTGAAAAAAGGCACTCTGATGCATTAGCGTTAATACCTAATAAAGCATTA
+CCTAAAAGTGTCCCAACAAGAGTAAGAAACCTGCATGAAGAAGATGAGGATTTCTGGCTTGATAACAGAA
+GTTTAATTCTCACTTCATATGACTTCGAAAAAAGTAGTGCCCTTCCAACAAGTTTTAACAAAAAAAATAG
+TTGTTGTTTCGTTGATGCGCAAATTTTTAAACCAGATAATATAAGAAACTATTTATCAGTTTATGAACGA
+GTAGTGATATCATATCCACTCATCGGACAAGACAATGACTTCTTAGACCATTTAAAAATACCGAAACAAC
+ATTTACTAGAGTTAATATCGAGAGGTAGAATTCAATTTGCATTACCACAAAACATAATAAGATATAACTT
+ATCATTTCTTGAAGAATGCCTAAACACTAATCCTGAATGCATTATTCTGTCCAGACGATTAGCATCATCC
+TCAATTATTGACATCAGAAATAAAACAGGTTTTCTTGCTACAACATTTTCTTTCGAAGAAAAATTAAATG
+TTCTCAAAACATTGAGGGCACTGGATGGCAAAATATTCAACTTATTTATCAAGGCCCTATCTCAAAATTG
+GCACTCAATGGAGATGAATATCCATGAGCGTGGAGCCATGGGTGTTTCAAACATTGGCATAGCCCCCGTC
+ATGTCAGAGTTATTCAATAGGCAAGGACGAGACCTTCTTCTTGAACTATTATTTTCTGCTATGCCATTGG
+AGTGGGCGATGGCATTAAATGCTGATTTTTATCCATACCACAGCAATGAGCATTCACAATATAATGCTTC
+TGCATGTTGTTTATATGGATATAATGGTTTTAGAATAAATGAAGAGGCTATTGTAAAATCTAAAATCGGT
+GAAATAGCAACAAGAATACTATCAATCGATAATGACATGTCAGCCTTAGAATTAGACGACGCAATACTTA
+AAGGTGATATTCCGAGGATAAGGGATTTTTCAAGATCGTTGTCTAATTTATCAAGTGAAGAGCTTGATAT
+AAAAATTTACGAACTAAACAAAGAAATAAAAAAAATAGAAAATAAAGAAAGTAAACTTTCTTCATTAGAC
+TTATGCGGACTTATAGCATCAACAATAGGTGTTTACGATGACAATCCATATATCCCATTTGGATTTGCCT
+TTTTTAAAATAATCTCTAGCGTGTTAAATTCAAATGATATTAGCTCGAAAAACATCGATAAAATAAAATC
+AACACTTTTAGGTACGCAAACTGAAACATTGTTAATAAAAAGAACGAAATCCAGAATGTAATTAGCATGC
+ATTTTTTGTAAATTAACATACATGTCATATTTTTACCATTATCTTTGGCATGTATGTTAATTTGTAACAA
+TTAATAGTATAAACGTTTAATGGGAATTTAATATTTTATTTGCATGCATATAACCTTCTAAAATTACTAT
+AACAGTGCTCGTTCTTACTACCACTACAACGACGTTCATCATATTCCGCAATAAGTGTTCCAGATAAAAA
+ACCATACCTTGAGTCATACATCGACCCCGGACAAGCACATGCACCTGTATCACTATTGGGTATTACACAT
+TTATATCCAGATGTTTGATCGGTTATTGTTATAAAAATACCTTTCAGGCCATCACCGCTTGCTGTCTGCC
+ATTTACCACTGACACACGATAACACTCGACCTGTACTGTCTCGCCCCACCAGACCATTAGGCGTACATTT
+CGCATTTAATGTTGCCTGACCATTCAAATGGAGATATTCACCTGCTTTGATTCTGCCTGTTGATTCAATT
+GTTCCATTGGATTTTATCGTTCCAGCAGTAAGATTACCTGACGCATAAATATTACCCGCATTGTTCATGT
+AAGCTTTAACTGTTTTACCTGTTCCTACACCAACAGTCCCTGACGCATACAAATCATAGGTGCGAACACC
+ACCAGCCCACCCAGCAGGCAGATCGTTTGGATTAAGTCCATTCGTCGCGATACGACTACCAAACTTCGCC
+AGACCTGTTGTTGATAGCGTGTTCAGATAGGTGTCGGATTTTACTTTCAGGTTGTTGTTGATATTTACAG
+GACCATTAAGGGTAGATGTTCCACCCACACTCAGATCTGATGCAACAGACGCATTACCCGTTGTCTTAAG
+TGCTCCGGTTGTTGTTGTCCCTGATGCCGTCATATCTTTGATGTTTTTGATGCTCTTCCCACCAAGATTC
+AGATCGCCCGTCATCGGCAACGTCCCATCACGACGCAGATAAACAGAATACATTGAAGAGTTATACCCCA
+CGCGGTAAGCCAGTAACCCACCCCCCGTGATATTGCTGTAGCTATTAGAGTTCTCACTCCACTGACCACC
+ATAGCCGGACGCTATCTTGGTGTTTCTGCTCATCCCACCATCAACACCTGCCGCCTGAACCGCTTTTCCT
+AACAGGTCATAACGAATACGACCACCTTCCTCCCACGGGCTGGCGGTTGTTATAAGGCCATTAATGACAT
+AATCAGGCGCTGTTCCTGAACGCTTTAACACAATCTTGTAGGATGCTTTTTGCGCGTTCGTTCCTGTATA
+GCCTACAGGTAACAGACCTTCATTAATTAATGTCTGGTAAGTGATTTCACAACCAGCAGCCGAACAGGTT
+CTTGGCCCCGGATCGCTACTTTGATTGTTGGATGATGACAGTGTGGAAATCTTGTCATAACGAATACTGA
+TATAGCGGTTAACCGCTTCACCAAGCTGTTTAATCTGTGTTCCGACATTATCAGCCAATACCGCTTCCTG
+ATCGTTTCTCATATCCTGAAACTTCATAAAAGCGATAAGCGTTCCAATACCTAACACAATCGTCACTTCC
+AGTAAGGTAAATCCTTTTTTCTTTATCATAATTATCTCCCTGTTTTAGCAATAAGAAAGAAAAGGGCCTG
+CGCCCTCTTCATTAAATAGACGTGAAAACTAATGTATTACTTGTGGCATTCGTACATGCTGCTGCCGTAG
+CTGCCACATCGAGTGTTCCTCCTGCGGCTTTAACAACCTTGGTTCCAACCGTAGTAATGTAGAAATTACC
+TGCCGCCGCTGTCGCAATCTTCACACATTCCGCTGCTGGCACATTATCGTATGTGATAGTGAAAGAAGAG
+CCAGTCGCTGATGACGGACCTGTCGCTGTAGCAGCCAGCGTCACATTACCTTTAAAGGCATTGATGGGTT
+TAGCAGCCGTTCCTGACCCACTTAACATATTGTCAGGGAAGATTTTTGCCTGAACAGCCACAGTATTTGT
+CAGGCCAGTAAAGCTTGATGCCGACGTGTATAACGCTTTAACACCTGCCTGTATGGTGGCAATGTTATTG
+GATTCTGCCTGCGCTCTTTGTGAAGCCTGAACCTTGGGATAAACGATAAAAGCAGCTACCACTAATGCAG
+CAATGATGCCCAAAACAAGTAATAGTTCGAGTAGTGAGAAACCTTTCTTGCTTTTTCTTTTGTTATTTAA
+TAAAACCATTATTATCTCCTTTTTTGTTTTAATGATAACTCCTGTTATAACGCTTCTCTGATATCTGGCA
+ATAGAAAGAGCAAGATATATTTAACTCTGTCTGACAGACGGATGAATTAAAAAAGGCAAAGATTTCTCTT
+TGCCTTCCGGGAGATTTAAAAACAATATTTGTTATCACTACTACTGTCATTACTACTTCCTCATGGGATA
+TTTATCATATCTGATAAAAAAGTAATAATGACGTTCACTACATAAAGATAAAAATTAACAGATTACTGGT
+CAAACAGAACGCATGATTGAAAAGGAAAAAAATATTAATAAAGGATTATCCTGCATTCTGTTCTTTTATA
+TAGATAACAGATAATAATTAGATATCAATACCTGAATCAAAATAAATTTAAAGATTTTTATTTTTGTCTT
+CTATCCATTTGCGCGAGAAACTTCCTGCCTGCTTTTATATACGTTATTCTTTCAATATCATTCAGGTCAG
+ATACTGAAAGCAAAATCCCCATAACAAGCTCTTTATCCACCTGTTCGATATCGCAATGCATAGCCTTAGC
+TACTTCCGCACCAAGAATAATCTTTAGCCTTGTTTCAACTTTCTTACGTTCTGATTTCTCCAGAGACTTA
+AGACGATTAAGTTCTAGTTGAGCAAAAGCAACCTTTTGCTTTAATGTTTTTTCTGTTCTTGTTTTTTTAC
+TTTCATTATCCATAGTTATCACCTCTTGCTGTTTATACGTATTTAATTATCACAAAGAGAAATAACGTCA
+AATTTACACCATTTTGTAAGAGAGAATGATTCTGATACATTTCTTTATAAATATGTGCAACGCATATGAT
+AGTAATTACTAACTTAAAATACCCCGCACTCTCCGCGTTACTTATTTTTGCGCATTCGTGCTTTTATTTT
+TACCTGTCATTTTCAAACTCTATTTCCCAATCTCAACCTGTGAATTGTGCAACACATAACACTGTCTGTT
+TTATTCGTTTTTTTCATCAAATTTAGCAGCCCCGCCTTACGGCGGGAATAATTAATACTTCTTTTGCCCT
+TACGGGCCTTATCTTTACTCTTTTTGTCCTGTGGACGTGAAACCTACACCTTTAATCCAGTTTGCGCCGC
+TTAACCCGGCGTATTATTTTACAACCATACATATATTTCGTATTAATTAATAAGAGGGGCATTTTACATT
+GGCTTATTTTTTTAAAGACAATGCCCACCTATACACTGCTACGCAGTGTGTGGGGTCTACCGACGGTTGC
+CTGCCGCAGGCTAAAAGCAAAACCAAGGTCAACGTCAACCCCGAAGTTTTTCTTACGAAAAACTAACAGT
+AGCTTATATATTTGAGATTATATTTTTAATGGCGATTTTTCATCTGGATTTTAAAATTGTGAAACGAAGC
+GAAGGCATGACTTCCGTTGCGAAAGCTGCCTACCATGCCCGTACACGTATTACAGATGATCGCATTGGCG
+AAACATTTGATTTCAGCCACAGAACAGATCTTCATGGTCATATTTTATTAGCCCCTGTTTCAGCACCTGC
+TCACATTGTTGAAAGTTCCTCAGCACTCTGGAATGAAGTTGAAAGAGTGGAACGCCAGAACAACGGTCAA
+ACAGCCCGTTATTTTGATGTTGCTATACCTGTAGAACTCAACAACGATGATAAGAAAAAATTGGTTGCCG
+AATACTGTCAGAAGAACTTTGTTGATAAAGGAATGATTGCTGATATCGCATTTCATGACTTGGATAGTAA
+GAATCCCCATGCTCACGTCATGTTAACCCTGAAAACCATTGGTCCAGACGGCTTCGGTAAAAAAGACAGA
+AGCTGGAATGATAAGAAGATAATGATCCAATGGCGTGAATCATGGGCCACCATGTCAAACAGCTACCTTG
+AAGCCGCAGGCAGTGAAGAACGTATCGATCACCGTTCTCTCAGGACACAATGTGCTGATGCCCTTGCTCA
+AGCAGAGGAAGCATTCAGCGCTGAAGAGAAAGCATTCTGGCTTGCCAAAGCAACAGAAACAAACCGCCCG
+GCAATGCAACGTGTTCATCGTGCTAAATGGAATGACACCGAGTCACAGGAACAACGAGCTGCCGAACAAG
+CTCAACGTGATCAGCAAATAGAGGAAGCGAAGAAGGTCTATACGACATTCAGTGAGCTACCACTGGAGAT
+CGTGGTTGATGTCAGAAGCTTTACGATTACACATCTTGCTGAACCCGAAGAGATCATTATCCCTGACTAC
+CCAGCAACAGTAGAACCGCAACCGGCTATGGCGACACCTACCACAAGCAGAAGACCAGCAGCAAAATCTT
+ACCGTAATCCCAATAAGGTCAGTAAAGTAAATGTTTCAGGGAAGAAATCCCCTGTTCTGGTTGTTCCTGA
+ACCAAAAGCATCCACTAAATTGAAAACCCCATCTCTTCAAAACACCAGAGCGGTGAACCGTGCTCCCCTA
+CATATCAGAAAGCAGACCAAGCCACGACAAAATGGTTTGTTTAAACGTTTCACACTACTCATCGTAGACT
+TCCTGAAAGAGAGATTTGTATGGGCGAGAAGGAAAACTGATACCACTGATGCTGACCATGATAAGCGTAT
+CGCTGAAAATTATGTGTTTGATGAAGTGCTGGGTGTCAATGTTCCACGCTCGGAGTTTGAAAGACGCGCT
+AAGTTTAACAATAACCAAACATCACAAGAAGCAGGAGTCTATGGTAACGAATCAAATATTAACAAGACTG
+TTCGTTTCCCAAATCGTTTTGAGCAAGAACAAACGGAGGTCAATAAACACATGGAATTTATACTGTCTAT
+TGGTGGAAAACCTTCTATGCCAAAGTTAAAACAAACTAACAGAAAATCTAACATCAAATAGTAATGTTAT
+CCCCACTATTAATTTTTAATCAAATGCATGTTACATAGGCTCAAAATGTGATAGCATATGAAAACATAGA
+ATTTTTTATATGCTTGGTGAATGTTTTGGGCAACAATATGTATAATATCCTTTTCTTCATCTTTCTTTCA
+ATAGCAATTCCATTCCTTTTATTCCTCGCATGGAAACAGCACCTAAAAACCAAAGAGATTCGTTCATATC
+TATTGAAAGAGGGATATAATATTATTTTCAACGGAGAAGGTAACTCATATCTCGCGTTTAATATTAGTAA
+TGCGACATTTCGCGCAGGTAATTTAACTTCCAATGATTATTTTCAAGCATCAATTTCTTATATCCACGAT
+TATAGATGGGAGTGGAAGGAGGTTGAGGCAAAGAAAATAAATAATATATTTATTATTTACATTTCGAATA
+TTGATTTCCCTTCCCAAAAACTATTTTATCGCAATAATAAATCTTTAGCAGAAATAGACTGGGCAAAATT
+ACAAGCAATTTTTCATCAACCATATGAAATACAGAATGACGTCATGCAAGATAACAATAATACGCACTAT
+GATTTTTTCATATCCCATGCAAAAGAGGATAAAGATACTTTTGTCAGACCACTGGTAGACGAGTTAAATA
+GACTTGGTGTAATTATTTGGTATGATGAACAGACACTTGAAGTCGGCGATAGCTTAAGGAGAAATATTGA
+TTTAGGCCTAAGAAAAGCAAATTATGGCATAGTCATACTTTCTCATAACTTTCTAAACAAGAAATGGACA
+CAATACGAATTAGATAGTTTAATTAATCGTGCAGTGTATGATGATAATAAGATTATATTGCCAATCTGGC
+ATAATATCAATGCTCAAGAGGTATCTAAATACAGCCATTATTTGGCGGATAAAATGGCACTGCAAACTTC
+TTTATATAGCGTTAAGGAAATAGCAAGAGAGTTGGCTGAAATAGCATACAGGAGAAGATAAAGCAATAAA
+TCATAAGTGCTTAATATCTTCGATGCATAAAATTAATTGTATTAGCACATCTAAATAGTATGTTTGTTAT
+GGAATGAGTGTTCCGTGCTCATTCCACATATTGTTTAGTATACGTTGAAATATTACAGACCTAGCTTAGT
+ATAAACAGATGTAGGGTATAGATAACTACCACTATTTGAACTTGAGTAATAGTTAACACAGTAATTATCT
+AATGCATATTTAATAATTTTAGGTTGGAAAGAGACAGATACTGTATAATGTTCTGAATCTAAAAGTGGTT
+TAGGAATGAAGTTCTTATCGACTGTTCTATCTCCGTCTAAATTAGCTATTACAACAGGAAGATTAAATTC
+TACGATAAGATCTATTTCATGGGCAAGAAACGATACTCCATCGCTACCTTTTCTCTTAGTATTACCGCTT
+CCCAACAGTACTACTTGTTTAGCATTTTTCATCCTTTCGCGGAGGTTTCGCTTTATGGTTTCAGGTTTAC
+TTGTATCCCTTGAAATAAAGAGATCATGAGCATCAAAAAAGTTAAAGTCTATTTTTTCATTTGCTTTCCA
+TGCCTCCATAAGACGATAAAACTTTATATCTTCACTTGCAAAAGCCACATATGTCTTATTACGATAACTC
+ATATAGTCCCCATGAAGCAGTCAACATTAGTATCAACATGTTGAAAATACCTTATATATCAGATAGTGTA
+AACATCATTTATAAGAAACTACTATCAACACACTTGAATTACATATAATTAACAAGGTTGGTACAAAAAT
+GGCGAAAGTTAATTTTTTCGATAAGCGTATACTTAAAAAATTTTCAGACTACACATCAACTATTAGTACC
+ATATTTTCACTTTTTTTGATTTTTGTAGACATTCCAACAGAAAACAAACTAACACTTGGTATTATATTTT
+TAATTATTTTATTCTTACTGTATTTCGGCATATGGTTTAAATCAAATAATCTTTCGGAAATTAATTTAGA
+TGTTGAGGGCAGCATTGTTACTGTAAAAGCAGGCGATTTATTCAGACAAGATGGATTCAAGGTCATTGCT
+TTTAATGAATATTTTGACACGCAAGTTGATGATGTTATCATTTCTCATAATTCACTTAATGGATTATATA
+TTGATAACTATTTAGCGGGATCCGTATCTGATTTGGACCATCGTATTTCAAATCATCAGTTTGAAGAAGA
+TGAACTGCTTGAGGTCAACCATAAAAGAAAAGTGGGTAAAACACAAAAATATTCGCTAGGAACTATCTTC
+GTTAATAATGATTATCTATTAACTGCGTTTTCAAAATTTGACGACAAAAATAGAGCTTTTCTTACAATGC
+CGGATTATCTAGCATTTTTAATAAATTTTTGGGACAAAGTTAATCGTATATATGCTCAAAAAAGTGTCTC
+TGTTCCTATCTTTGGATCTGGAATCACTAGAATAAAGGAACATAAAAATATTAGCGATGAGGATTTACTT
+AAAATAATGTTGTGGACTTTTAGAATAAGTGAAATGAGGTTTAAATTTCCGGCAAAGCTTACTATCGTTA
+TCCACAAAGATAAGATAGATAAAATAAACTTATTGGATATAAAATCAGCGAGAAATGGTCTTTAGTTATA
+TTTATATATGGGCGAACTATGAAAGGTCGCCCATCATATAATTCTTTTCGTTTTTTATATCTTTCGCCTA
+AACACAACATTATCAGAGAATATCGCCTTACCAGCTATAAACCCAACAACCGCAATTATTGGTAGACTGA
+TAGTAGCTCCTGCCATACCTGTTGACATACCGATCAACGTCGATAAACCAAAAGTCAACAACAAAACAAC
+AGCAGCATACCAGCCGGGATAAGTGCCATATAACACAGTCGCTAAGCAACCTGTGCAAACGTGAACCCCA
+CGCTGGCTCTCTTTGAAACAGAACGGGCATTTGATGGTATTGTTTTCCATATTGGTTTCCTTAATTGGCT
+TTCCAGCCATTGCTGGTCTTAAAGAGATTCATGGCACCATCAGCAGGTTCATTCATTCCTTTAACGCTGG
+CGAATGCTTTTTTGTCAATCCAGCCCGGAACGTCAACCAGCTTCCACGTATAAGTCACGCGAACTACTTT
+CTGATTACCGTTTCCCGGCTCAGTCCATTCCTTAATCCCGTCAACAGCACGACGACCAACACAGGCACCA
+TCTGTTGTGCTCCAGACTTTGGCTTTTTTGCCTTCCTCTGTTATCCCTAATACGTTCGAATCATAGCCCT
+GCTCAAAGACCATCATTCCCTGCTCTACAAATCCATCGAGGATCACTGAATTCGTCCCTGTACCAGTCGA
+ATCAAGTCGTGGCTTGGCAAGACGGATGGGGAAGCTGGTGTTATTGTTATCCAGCGAGAAGCAATATTTG
+TCCTGCCCTATCTTGGCATTGATCGCCTTCTCAAAATCACCTTTCTCACCACATCCCGCCAGTGCCAGAG
+CTGCGCCAGCAACGAGTAAAATCTTCTTCATCTGCTTATCCATCCTGATAATCAAAGTGCCTAAATTTTT
+GACCAAATCTGGTCAGGGCTAGAGTTGTTGCGGGATCCGGCTGATATCACATGGCAAAACCACCGCTTAA
+CCAATTGATAGGATTCAATTCTTTTAGCGTCTCGTCATATCGTTTAAAACGATCAAAAACAACCTTATGA
+TAGCCAATAGCTATCATAAATAAATATTCGATCGATAAAAACAATTAATAACCGATCAATATCATTGTTT
+TAATCGTTAAAGCCTATCAATAATTAATTATCGATCTTTTATATCGATCATGATTTCAAGTTCTGATAGC
+CTTGCAACGCCGAGACCGACGCCATGAGCTTGGTGCTGTAGGACGTATAAAACGTAGCAAAGCTCTGTGA
+GCAGGTTCAGTCTCTTTAACTCATTTACATGGAGGAAGTAAGATTGGAAGCAGTAGGTATCGTATTTTTA
+GTGGTGCTCTTCATCATCATCATGACAGCAGTAGATATACAAAAGAAAAAGCACTACAACAGCTTTACGG
+AAGTTCTGGACGGCGACATTCTTTCGTATGAATGCCAACAGACAGGTATTGTTATTGATACTCAAAAACA
+TACTGTCCGTATTTTCAATAAAGATAAAGACAGCACATATACTTTTGATCAAATTCGAGAAATAAATTAT
+ACGCTTTCAGAGGGGGGTAAGTTTTATGGCAATGGAACATTACGAGGTATGAATAATGCGGCTATTGCTA
+ACTGGAGAGAACAACTTTCAGCGAATAAACGGTCTGGCCTAAATATTTTAACCGATGATATTAAAAATCC
+CATGTGGAAAGTTAATGTTCCCCTGAAAAATTTAAGCACCTCAAATCACGAACTTTGCGAGCGATGGATG
+CTGGTATTTAAAAAGTATGTTTTCTGAGTCTCACCTTTCATCTATTTCTGGAACAAAAATGAAAAAATTA
+TTACTTGCTATTTTTATAATATTACCACTTGGTGGCTGTACCGTTCATGGTAATAAATCCCTAACTGATG
+AAAATCATCAGACGGTTAAAGTTAAAATCGTCAAGGGAAAAACAACCCAACAAGAAATTCTTGCTGCCTT
+TGGAGAGCGCTACGAATGATGGACAGGAGATGTGGAACTACTCAAGTATGACGGGAGAAAGCCAACTATC
+TAACTACATACCGGGCCTTGCTCTATTGACCAATAGCAGCACAGCACACATTAAATCACTGGATATCTGG
+TTTAAGGGTGATGTTGTGGAACGTTATGATTTTCGTCAGACTGCAAGTAAGACCTCACGTGGTTTGATGG
+ATTGATAATACAACATATCATCGTAAAATCGGGAGTTGCTACGTATGAACTCCCGATTTTATTTCATGAT
+ATTATATCAATTAAATACTAAATAAATTACATAACAAACACTTCTTGTATATTACTAAGCGTCTTAGCAC
+CTATACCTTTTATGTTTTTTAAAATATCCAGATCAAGCTTGCCTTCACGAACTCGTGCTTTAACAATTTC
+TTTAGCGATTGTTCTATTTATATTTAACAATGCTTCCAGTTCATCTAAAGTAGCTTTATTGATATCAGGC
+TTAGATACAGAGGTTTTGGTATTTGACATATACTCAAGCAAATCCGCCACTACTAAATACGTGTGAAATA
+CTGACTTTACAGCTTCAATCCGATCTAACTCGGCATGAACACCTTTATTTGTTAACTTATTAACTTTATC
+TAACCATGATCCGAGAAAATCTATATGTGCTTTGGCAAGGTCTTTATTACTATCAGACTGAATAGCCCCA
+TCCATAAATGCCCAAAGGCGGTTTACGTATTGACCTTGCCCAACGGCCCGACCATTAAATTTTTCCTTCG
+ATGCCGGATAAAGTTCATCAGCCAACCCTTCTAGAAGCCTACGACATGTAGTTAAAGCTTGAGACCATTC
+TTCTTCTTTATCTGAAGAAATAGCTTTAAATGCCAACATTAGTTGTTCTGCGATCACTGGATTTAGATCT
+AATAATTTATCATCAACAGCATTTTTCAATACATCAAAACAGTTGCTGACAGTACCTGAAAATTTTAGTT
+GATTATATATTTGCGATGCTAATTCATGTGCTTTTTTTCTAACATAATTGATATGTTGATTTAAACTATT
+CTTATAATACGTTCCGTCATTGCCTTGTTTTTTTCTTACAAGATCGGCATATTTCTCTTCAATAAACCCA
+ATGTTATTATATCCACCACCACTTTCAATATTTTTTAATGTGAGTTCTTCATCTGAATAATGTATATTAG
+CCTTAACTCCTAATTTGGCAAGTTCTTGTATTCGTTTGTCTAAATTTTCTTGGAAAGATTTATTTTTTGT
+ATTTTCAGCCTCAATAACAAACTTAAGCAATTCAGTTATTGGCTTTGTATATTTAGTATCACCTAATTGA
+ATAGCACACCATATCTTTTTATCATCATCATTGATGATATCCGAAGTCCGCTGTAGTTTTTGTATAGCCG
+ATAACAAAGAACCTTTTGGTGACTCGAGTTCTTTAAGTGTTTCTTCAATGAGCTGTAATGCTACTTTCTT
+GTGTGGCATGTGAATCATCCTTCAACTTATAGCTTCGTAATCATTAAGTGGTAGATTGTTGCTTTTAAAC
+TAAAAATGAAACTCTGGTGGCTCAGCCATTTTAATACCACCAATACGTATGGGCAGCTCACCTTCTCGTT
+GGCACAGGTTCTTAATAGATTGCCACTCCTCAGCTTCTGTTTCCATGTGAGCAGCGACCGAATCAAAAGC
+ACCTTCGGCTACGACTATAGTAGGTTCTTTATCTGTTTCATTGCCATTCGAATCCACTTTTGGTACTTCG
+GCCAGTTCTTCTTCCAGCCCAGCCAAACTCACTTTCAGTTCATCAAGACTACTGGCGGCGTCTATTGGCG
+CATAGAAGAACAGCCCACTGATGAAGATAGCTTCCATTACCTCACTGAAAGAAAACGAGGTATCGCCATA
+AACAAAGCAGCCATGCTTGGAACTCTTCACCCCTGATACATTCTTCTTCAACAGGCCGTCCTTTGCCGAC
+GTCATCAACGCCTGTTTGCTATAGAGGATTACAGGAAGATTTTTAATTTCGTGAACATCACCGCTGATAC
+TCCAGCGTTCTTTATCACCTTTAATGAAACCTGAAGCATCGCAGCTACTTTCTATGTCAAACTCATCAGT
+CGGGAACCGCTCACGATTAAAATAGGTCGAAAAATCTTCCCCTTCTTCCATATCCTGACGCTTGTAAGCG
+CGATAAACCGAGCTACGACGGTCAATCCCAATCCATTCAATATCCCATGTCGTTGGCCCGGACGGTTTTC
+TTACCTCATCTATATAAGCACCAACATCTCTGTCCAGATAAGCTGCTAACAGTGCCTTCCACAGTTCTAT
+TGCCAGAAAGATACTTGCCAGCGATGTTCCTTCTTCAATCAGAACAGTATGGTGGAAGAAGCGAAGAAGA
+AAGAAGGGATCGGTATTGGCTATCGTGTTCTGGATGGATAGCAATGGAACCGCCGAGGTTTCATCGTAAT
+CGGACTGAAACCGCAGTATTGCATCGGAACAAAAAATTAATTTACCTTCCATCGCTCATCGCCTCCTGAC
+GCTATCAGACAACGCATTTTACCAGAACACTACCACTTACCGCATTCGACTTTAACCTGACCCATGTTCG
+TTGATAGCTCTGGATATATATTCAACCCAAAAGCATTGACCTTATGGATAACATCACAATATCTGAAACT
+GATAACTCAGATTATAACATCTGTGATTTTATAGTTTCTTCACTCATTTGTGTGAGTTCTGAAACCAAGC
+GAATATAAGTATTTTTCAACCTATCTTTATCGCAACGACTTACAGACTCCGATAACAGATAATGGCTATA
+ATTATTGACATAAATATCATTGTCATTTTCAATGAGTGAGTTTTATTCCATGTTCAGTATCTTCTACTTT
+GTTTACAATACAGATCATAAATGGTGTTTTCTCATAGGGATGAAAGAGTGTTATCATTTTAATATTTTTC
+ATTTTATTTTTTACTTTTTTATTACTATTTAATACAACATCGCGATCGTGAAAATCAAATTTATTTATTT
+TTTAACCATGATTTTCCCTCTTATTTTTAAACTACTTTTTGAAAAAATCTTTATCTCTGTGCTGACGCAC
+GGCTACGCCCTGACGCTGACATTTTTATTTTATTCATCTCCTGTCTGTTAAATAAAAAGAAAAGCACTCG
+ATCATTGTTTGATCTCTTTTCCTCATGATGCTGAATTTAGATCCTATGTTTAAACATAGTTTTTCCCTTT
+AGACATATAGCATTTGCTCTTAAACGTATAGGAAAACTACATCCTTGGTAGCAGCGCTTCGTGATTGTTG
+CGAACAATCACTCTGCTGAACAGGGCTTGCCCCTGTTAATATTGGATTTATCCAAAAAAGATCGCGTCGT
+AGACGCATATAAAGTTAAAGTAAAATTAATCAAGCAGTCCCGATAGTAGCAGCGGTTCATGATTGTAGAA
+AACAATCACTTCGCTGTAATAACATAGTAGGAAAAATAACACAGATAACACCACTGGTGCCATTTTGATA
+AGGCACCAATCAACTAAAGAGAAGAACTATTTTCAATATTACATTCTTTAAAATGTCATCCAAAGCTTCG
+CTATTTGAATAATGAAGAAGAAAAATGCTCTCAAGCCAGCTATAGCTTAAAACAAAGTACGCACTCTTGG
+GAGTTAAAGTCCCGAATCCCGGTACTTAAGTTGATAACTATTCTCAAATAAAAATAATAAAGTGTTATTG
+TATATATTCTGTAGCACTACAATTTTTATACGTAAAAACATCAAGTGTTAGTTATTTTAAAAAATATAAA
+CTTTAAGTATTGACTTGCACACAAAATATAGTATCTACTTAAATGTATAACTAAAAAAATAAAGGAGTAA
+ATACCATGATAGAAAATAAGATACAAACTGAAGTAAAGAAATCAAGAAGAGGTCTCCCACGTCATACTAA
+AAACCCATTTCTTAATGATACAAGTCTACATACAAAAACTGGCGTCAGACGTATTACTACAGGAAAAGAT
+CGATTAGCATTAGTTAATGAGAGTACGGGAGAACAAGTTGGTAATGGTGGTTTCTTTCAGTCTATGGAAG
+TAGACAAGACACAGTTTGTGAAGCTTTATGTGGATGGCGTATCAGCTATTGAGGGTTTATCCTCATCCGG
+TAAGAAAGTATTCAAGATACTGTATCTTGCTATCAGAGATAATAAAGATACAGATACGATATTAATGTCA
+TTCGATATTGTTGATCAAGATATCGTGAAAATATCAAGAACTACTTATTTCAAAGGTATGAAAGAACTTG
+CTGACAAGAAATTTATTGCTGAGACCATGATACAGAACTATTATTTTATTAATCCAGACTATATGTTTAA
+TGGTGATCGTTTAACTTTCATGAAAACTTATTACTTGAAGGACAAAAAAACTAAAACTAAAGAGAACAAA
+ATTAATTGCCAAGGCAAAACACAGTAGTTTCAAGAAAGAGATTTTCTCAAGCAACTCCTATCTGAATGAT
+AACTCCATAAAGCCAATGCATTTTAACAAACTCCCACCCTACTATAAAAATTGTATAGGGTGATTAAAAA
+ATGAAGCGAAATCGAATGAGAAAACGTTTTTTATATACCAGTTTACAAACTCATATCTTGGAGAGCTGCT
+TTTTATCATTGCTGACATATCAATTATATTATGTGTTGATCTACGTAGTTCTGATATATAGAGAACAAAA
+TCAACATGTTCATAATGTGGATTTTCAACAAGAAAATTAAGTTCTGCCATTACATATTCAGATTCATAAG
+GCATTATCGATTCATTAAGAATAACAAGTCCACCGACTGCTCTAGGAATATTTAAAGATTCCTTTGTTGC
+TCTAATCTGTCTATTGGAGGTTGCTACAAGATCTTTTATATTTCTATAAGCATAATCCATTATCTTTTTT
+CTGAAAGCATCTGAGTCGGGGTGTTTTTGAATCAATTCCTCAATATGAACCCTACCGAACCAACTTCTTT
+TAAGCCATTCATCAGTCTTAGCTAGCTCATTAATTTTTTCATTTATTAAATCAGTTCTGTCATTTGTGAG
+TAATTTTTGCTCTAAAATAACATCGTTATTAAATAACAAATAATCTGCCATTTTCGAACTAGAGCCATCG
+TCTTTTTTGAAATCATCCTTCATATCGTCCAATACTATATTATTTTTCTTAGATCGAATAAAATCAAGAA
+ACCTTTTATCTATAGAATCCATCTTTCCTACCTTCAGTTTTATTTCATCGTCCCGAGCCTGATGATACAC
+CATGTCATTTGTCTCTTACAACATTATTAATGTATTAAGCATGGCCATAATAAACAACAAAAAAACATTG
+GCGAGACAAATCAACAGAAATAAACATTGCTGCAAACGGTTAATTTGACACTTACACCATATCTCGTAAT
+ATAAATATATCCACTATTTTATCCACGAGGTTTTATATGAGAAAAGTAAAAACAGACAACAGTGATTTAA
+TCGAATATGTAAATACAGTTAAAGAACTAAAAAATCACATTCCAATAGAAGAATACAGAAATGAATATCG
+TAAACTGCGTTCTGATGATATTCCATTGGTTAAGGCGCAAAAATTTAAATCTGCCCATACCGAAGTTCGC
+AGGTTGGAAAAAAAGAGAGAATCTCTTATTGAATACTTTATTGACGAGTTAAATCCCATCAGCAGTTCAA
+AAGCTAACACATCAGCAAGATCAACTGGTAATCTCGATTTATTTAACGAACGCGTGTTATACCGTAAGGC
+CATTTCAGAAAAGAGCGATGAAGAAATAGTAGCCTTGGTCATAAAACAACGTACAGAAGCCGCTGTTGAG
+TTCCAACGTTCAATTGAACAGAGTCTTGAGCAACTATCTCGTATCTCGTCAGAGTTCGAACCATCAAACC
+AAAAGCGCAGGAAAATGTCTCTTTAAAACGACTCTATGCTATTCGTGTGAAATGTGATGTATTAGATTGC
+TTATGCAATAATGTTTACTATATTATTTACTGACTGTTTTTTTTTTTGATTTTTCCAACAGCACCGTAAG
+CATTATTTTTATTAATCGCCTATTTTAAAACACCGGATGACATACTATGAGTGAAGCTCTTAAGGCACTG
+AACAATATTCGTACACTTCGCGCACAGGCTCGTGAAACAGATCTGGCAACTCTGGAAGAGATGCTGGAAA
+AACTCACCACAATCGTTGAAGATCGCCGTGAGGAAGAAAATTCAGCCCGTAAAGAACAAGAAGAACGTCA
+GGCTAAACTGGAAGCCTTCCGCCAGAAATTGTTAGAAGACGGTATCGATCCTACAGAACTACTCGCTTCA
+GTTGGTTCATCCCAGCCTAAAACCAAATCAACTCGTGCTCCTCGTCCTGCTAAATACAAATATACAGATG
+AAAACGGTAATGAGCAGACTTGGACGGGTCAGGGCCGTACTCCTAAAGCAATCGCCGCTGCTATCGAAGC
+TGGTAAGACACTGGAAGACTTTGCTATCTAACCGCTACAGCATATCCGGGCTTCACTGTTCTCAAGATAA
+CAGGCCCGGAAAATATTCGATTATTCATCCAAGACTATCCCAGTCTGGCAGGTTGTTAACGACCTTTCGC
+CACCAATGATACGCAGCCATAAGAACACCAAAACAAATACCTGCGACGACGCTTGAGACAAATGCAGTGC
+CCGGTTGTATCCCTGTATCCTTCCAAGTAAAAAACCACATACAGATCCCCCATGCCGGACCAAACCATCC
+ACCCATCAACAAAGTGATTTGCCAGAATGAGGCAAAAGGTAGCGGTGGTATCTTGAGTCCAGCTTTCCAT
+GCGAGGTGTAGCAAAGGAGGGGCATAATTACTTCGCCACATCCTCTTGCTTTCCATGATGGCAATAGCGT
+GTTTCTTTTTAGCTTCAAAGCCCATAAGGTTCCTTCCAGATCCACCTTTACTCATCTATCTATCGATAAA
+AAGCCACAATAGACAATAATGATTATCAATTCCATGTATGTAAGTCAAAAATAACTCAAATAGTCATTCC
+TTTAGATCTTCTGGTGAAACCCGGTCACATGCCATTTTCTCAAGCATTCTTTGTAATCTTTTCATTTTCA
+ACTTATGTGCTTTTTTCTCACCAATCTCCTGATAGTATTCTTCACGACGTTCGTTGACCACGCTCCTGAA
+TTTTTTCAAAAGCTGTTCAAGTGTTTTGATGTCGGTAGTTGCGGCTTCCACTTGGATTTTTTTATACATA
+TACATCACATGAAATTCATCAATCATTTTTTGCTCCTTGGATAGAAAAATAATATTTGTTATCAGCCCCA
+AGAAGGGGCCGATAGACCTCAGAACATATCAACATATTGATTCCGCCAGAACCGTATAATGCATTTTGGC
+TAATGCCTGCTTAACCCCTTTAAAATCCACTTCAGACAGTTTTCCAGCAGCGTTCTTTTTCCATGCTTTT
+TTCAGAAGATGTTTCTCAGCATTCCTCATCGCCAGATCGATTAGCTTACAAACAAACTCATGATCCATTA
+CATGCGTTATAATCATATTGCTGGTCGTTTTATCCTTTGAGTTAAAAAGCTCCGCATAGATATGCAAGGA
+CACAACATAAAAGATTTCAGTGTTTTTATTTTTAAATGTATTCATTTTTATTTCCTCTTTAGTTTAATAT
+TGGAATAGCAAAATATTTGTATGAGCATTAGCGGTATACACACTTATAGACAATCCAAAGCTGACGAAGG
+TGTTGCTTTACCTTACAGTGGTTTACTTCTCCATAAATCCGATTCCTTTTGCCTTCTTCTGTGTCATCGT
+AAAAATGATATCGCGTTTTTTTAATGATACTTTCCATAATGTCATTCATATTGTATTTATTGTTGAGAAA
+ATAATAAAAATCATCTGGTGCATTCCGCCGTAATCCGTCCATATAGTTCCTGAAATAACATTCGGCTTGT
+TCAATAAACTCTTTTATCGTAATAAGTTCTATCTTCATATTTTTCTCCATTATTGTTTAGGGTAATAAGA
+TGCCCTGTGCGAACAGATATTTGTTCGACACGAGATCTTGTTTCTTTTTTTATGCAGCGTTCTGGCGTGA
+GTGTCGAATAGTCACTTCAATCCATTCATCAATCTCACTTTCAACAAAAGCGACACACCTCGGACCTATT
+TTTACTCTGTCAGGAAAGTTTCCTTCCTTAATACGCTCATATAAAGTCGTGCGACTAAATCCCACTCGAT
+TTAAAACATCAGGAACGCGGATAAATCGTTTTACGCTGGTTTCAATATTTTCTTTCATTGTCTGCCCTCT
+ATTATTGTAAGTAATCTCTATGAGATTTCGCTTTTCTCTATGTTGTTTCGACGTGAACAATGATAGCGAT
+TTTGCTTATGGTAATTTAGGGACGTTCAAAGAAGTTTTTTTTGAAAAATTCGAAGGGGCACGGATGGAAA
+GATAACGGTTAACACTGGATGCGATCACGTTCGCACGGAGCGAACGTAACCCTTTTTACTTGGCTTATTT
+TTTCTTATTCCTGTCGTCTTCTACATGCTTTTCAACAGGGGAGTCTTTCAAGTGATTGTTTTCCATCATG
+TAATCTTCAAGCGATTTCAGATAGCTCGCATCCGTCAGAAAAGCCATTGCTAACGGGTAGTCCGTTGCCT
+TTAGCATTCCTTCATCACGATCGTTGTCGCTGTCCTCGTGAAGCAGCGAGGAAATCAGTGAAAGCGGGAT
+TTTAATGCCGTTATCTTCTCCCCAGAAGATCAGGTCCATCATCGGGATAAGACGATATTCAATAATTTTT
+CTGAATGTGCTTTTCCCAAAACGATACTCTCTTGGCGCTGGAGACTTCATCTTAAGCTGTCTCTTCCATC
+GGGGGATCAACACTTTCAGATGTTCAATGATCTCTTCGGTTGATGCTTCTTCCAGATGAATATCGACAGT
+AATACGTGAAAGATTATTAAGGGATGTCTCTTTCAGATACTCGGACAGAAATTCAGACTGGCTTAACCCA
+GAGAGTTCAGGCGTGGCTTCGGTTAATGCCAGCGTTTTCGCATAAAATTGCGCGTGGCTTCGTGTCGTAG
+GATTTACTGCGTAGGTTCTGGCAAGCTCATGTCCAAGAGTAGCGGTATCACCACTGAAAAAGATTTCACC
+GCTGAGGATCTTGTTGCGGTAATCATCCAGCATTAATCGGTTAAAGGTAGGTATGGTGTTCCGGCTCAAC
+AACATTCTGTAAGCCAAGATGCGCCGCTCAACCTCAACATAAAAATGCTGTAAGGTGAGTTTCTCTATCG
+CCTCATAGCGTTCAACATCAAACCATGCTTCCAGTGCTTTCCTGATTTCACTTCTTTTCATCCATCCTCC
+AACAATCCATTTCCTTTGATATATCTTCACAGGATCCGTTTGGAACAATTGAAGTTCAACTGTTTTGTCA
+TCAGAGACGGGGGAATGGCTAAGTTGTTGTTAAGAGTGTGAACTCGAGAGCATAAAAGTGGATGCCCGAC
+GCGCGGCAAAATGGTAAAAAACAGCATCAGTAGTAAGAAAAATTGAGCGAGAGAAAGGAATTTTAATGCA
+GGGATTTATGCATGACAAAATCAAAAATGCTTTGTAAGTGATTGATTTTGTTGAATGATTGGCGGAGAGA
+GGGGGATTTGAACCCCCGGTAGAGTTGCCCCTACTCCGGTTTTCGAGACCGGTCCGTTCAGCCGCTCCGG
+CATCTCTCCGTTCAGATGGTTGCCATGATGCCAGGAAATTTGGCATTTTAACAGTCCCTGTCCGTGCAAT
+TTTGTTCAAGTGACGAGTTTGCGAGCAAAACGATGATTAAGTGGCCCTGGAAAGTACAAGAATCAGCACA
+TCAAACTGCCCTTCCCTGGCAGGAAGCACTATCGATCCCCCTTTTAACGTGTCTGACAGAACAGGAACAA
+AGCAAATTGGTCGCTCTTGCCGAACGTTTTTTACAGCAAAAACGGCTTGTTCCTTTACAGGGCTTTGAGC
+TGAATTCATTAAGAAGCTGCCGGATAGCACTTCTATTTTGCCTGCCCGTTCTGGAGTTAGGACTGGAATG
+GCTGGATGGTTTTCATGAAGTCTTAATTTATCCTGCGCCATTTGTGGTCGATGATGAATGGGAAGACGAT
+ATCGGTCTGGTGCATAACCAACGTATTGTTCAGTCAGGTCAGAGCTGGCAGCAAGGGCCTATCGTTTTGA
+ACTGGTTGGATATACAAGATTCTTTTGATGCTTCTGGTTTTAACCTGATTATTCATGAAGTCGCTCATAA
+GCTGGACACCCGTAACGGCGATCGCGCCAGCGGAGTTCCCTTTATTTCGTTGCGTGAGGTTGCTGGCTGG
+GAACACGATCTTCATGCTGCAATGAACAACATTCAGGAAGAAATCGAATTAGTTGGTGAGAATGCGGCGA
+GCATTGATGCTTATGCTGCCAGTGATCCTGCTGAATGTTTTGCCGTACTTTCTGAATATTTCTTTAGCGC
+CCCAGAACTTTTTGCTCCTCGTTTCCCTTCATTGTGGCAACGTTTCTGTCAATTTTATCAACAAGATCCT
+TTGCAGAGACTGCATCACGCTAATGATACAGACTCGTTTTCGGCGACGAATGTTCATTAATTAACAACTT
+TGCAGATTAATTAACCAATTGAAATGGCTTATGAAATTTAGTGTTGACAGACAAGGTACCGCTAAGTAAT
+ATGCGCCCCGTTCTCACGATTCCTCTGTAGTTCAGTCGGTAGAACGGCGGACTGTTAATCCGTATGTCAC
+TGGTTCGAGTCCAGTCAGAGGAGCCAATTTTCTGTTTTCTTGCATCCTTGCGAATCTTTATCTGATGTTG
+ATTCAACAGGTTAGTGTGAAAACTCTTCTCGGTGCATTTTGATTTTACCCTACGCATCGGGAAAAATTGG
+TGGTCAAATCTGGGGTCAGGTTAGTTCGATAATGGAGTGACCCCCATATATCCCTTACCGACGCAAAAAT
+CCGCACCCTCAAGCCTTCTGATAAACCCTTTAAAGTCTCCGATTCTCACGGTCTGTATCTGCTGGTCAAG
+CCGGGTGGCTCCCGCCACTGGTATCTCAAATACCGTATTAGCGGTAAAGAATCCCGCATTGCGCTGGGTG
+CCTATCCAGCCATCTCCCAGTCTGATGCGCGACAGCAACGTGAAGGTATCCGTAAAATGCTGGCGCTGAA
+TATCAACCCGGTACAGCAGCGGGCTGCTGAACGTGGCTCACGAACACCGGAGAAAGTTTTTAAAAACGTG
+GCGCTGGCGTGGCATAAAAGTAACAGGAAATGGTCGCAGAACACCGCCGACCGTCTGCGTGCCAGTCTGA
+ACAATCACATCTTTCCGGTCATCGGGAACTTACCTGTATCAGAACTTAAACCCCGTCATTTCATTGACCT
+GCTGAAAGGGATCGAGGAAAAAGGTCTGCTGGAGGTTGCGTCCCGCACACGGCAGCACCTGAGTAACATA
+ATGCGCCATGCGGTCCATCAGGAGTTAATCGATACGAACCCTGCAGCAAACCTTGGCGGCGTGACCACAC
+CTCCTGTCAGACGGCACTATCCTGCCCCGCCGCTGGAGCGGCTGCCTGAACTGCTTGAACGTATTGGGGC
+ATATCATCAGGGCCGTGAACTGACCCGGCATGCCGTTCTGCTGATGCTGCATGTGTTCATTCGCTCCAGT
+GAACTGCGTTTCGCCCGCTGGTCAGAGATTGATTTCACAAACCGAGTCTGGACGATACCCGCGACGCGAG
+AACCCATTATTGGCGTGCGTTATTCCGGCCGCGGGGCAAAAATGCGAATGCCGCATATCGTCCCCCTCTC
+AGAACAGTCCATCGCCATTCTGAAACAGATTAAGGATATCACCGGTAATAATGAACTGATCTTCCCCGGC
+GACCATAACCCGTATAAGCCAATGTGTGAAAACACGGTCAATAAGGCACTGCGGGTGATGGGTTACGACA
+CGAAAAAGGATATCTGCGGTCACGGCTTCCGGGCAATGGCATGCAGTGCGCTGATGGAATCGGGTTTATG
+GGCAAAGGACGCAGTAGAACGCCAGATGAGTCATCAGGAGCGCAATACCGTGCGCATGGCTTATATTCAT
+AAGGCAGAGCACCTGGAAGCCCGCAAAGCGATGATGCAGTGGTGGTCGGATTATCTGGAAGCATGCCGAG
+AATCTTATGCACCGCCTTATACAATTGGTAAAAATAAGTTTATCCCATAGTATACTAACGAATCCCACAC
+TCTGGCAAATTACCACCACCTCCACAGGAGGTGGTTCTATATAGACTTTTATCAACTTCATGACGAAAAA
+CACCTATTTTATCCCAAAAGAAGACAATAGAGTCACAGAGGAATCAAAGAGCGACTCAATTGTCTTTGGA
+CAATCTGGTTGTGAGGTTAGAAAACAGTTACTCCTACACCATTAAATAGGGCGCAATGCTCGCTAATTTC
+TCCCGGGTTTCTGTCAGTTCGCGTTCCGGCGTAGATTGCGCGATGATTCCCGCCCCCGCCTGTATCCAGC
+AGCGCTGGCTATCCTGAAATACGGAACGCAGAACTAGCGCCGCATCAAAGCGCGTATCGTCCAGCAGCAG
+GATTGCGCCGGAATAAAGCTCTCGCGGCGTCTTCTCAATTTGCATAATCGCGTTCAGAGCAGCATTTTTA
+GGGATACCTGAGGCGGTAATCGACGGAAACAGCACGGTAAACGCATCCCAGGCATCCTTGTTTTCCGCAA
+GCTGACCGCTCACGCCAGACCCCAGATGCTGAACGCTGCCGCGCTGGCGAACCGACATTAAATCTTCAAC
+CACCACGCTGCCCGGCTGGCAAACGGCCTCCAGTTCAGCAATAGCTTCTTTGACAGAAAGGATATGCTCA
+AGCACCTCTTTACTGTCGTGCAGCAGTTCTGCCTCTTTCGCCTTATTATGCTCCGGGTTTCCCATGCGAT
+CGCGGGTGCCCGCAAGCGGTTCAGTGACCACTTTATTGCCCGTCACTGACATCACCAGTTCCGGGCTAAA
+GCCCAGCGCTTCGCGTCCTTCCTGACGGAACATAAACGAGCGCACAGGCGTGTTTGCCTGCCGCCCGTAT
+AACAGCGTGGCGGGCATATCAATCCGCGATGGCAGGGGAATGGCGCGCGAGACAATCACTTTGACATACT
+CGCCACGGCGGATCTCCGCAACGGCGCGCGCAACCTGTTGTTTATATGCCTCACCATTGAGGGCGGTATC
+CACCGCCAGTGGTGCGTTCTGCGTCGTTGTACCGGCCTCTTTTACCCACTCGCACAAACGTCGGCACCCG
+TCGGCGGAGTCCGCATAAACGGTGACATTTCCCTTTTCAAAAATAAGTTCTTCACGGGGAACGGTTAACG
+TCAGCAGCGGCCACTCCCCGGCGTTAAAGGCAATCCCCCGCGCATGCGCCGCAAAGTTGAACCCAACCTG
+TCCATATACCCGACGTCCTTTCACCTGAGGATGCGCCATAAAACGACGCGCGCAGTCGGCAATGGAATCC
+ACCGCCCATTTTTGCTCCCCGGCATCATCAATAAATGTCGCCTGCGTTCCGTCGGCATTAATGTGCAGCC
+GTGCCTGGCACCCTTTGCCTAAATACCAACAGGGTTGACGCTCATAGACATAACACTCTTCTTCTACGAA
+CTGGCGTAAAACGCCAGAAATCGTCGGTAGCCATTGTTCCTCTGGTAACGCCAGATGTAGAAATTCACTG
+ATTTTCATCCCTTACCTCTCTGTGTTATTCGCGGATCAATCAATTGCGCTTGTCATCAGTTCTCTTGCCG
+AATGCAGCCGGATATAAGCAACCCACGCCGCCAGCAACGTGAATGCCCCGGCAAACAGGAAGCAGGCCGC
+ATAGCCAAAATGTTGAGCAACAACGCCACCGATAACGCCTGCCAGAATGGCGATTGCCGCATCAGTACAT
+TGAAAGAGGGTGAAGTCGACACCGGCCTGCAAAGGCGATGAAAGCGACATCAGCGTGGCGTAAAGACAGA
+CCAGCGCGCAGGCCAGCGAAATGGACTGGACAATGACCAGACACTGGAGAATCTGCAGCAGCAGATGACC
+CGGCGCCATCATGAGCGTCATCACCACCGCCAGCAGCGCGATCCCCTGGACGCCATAAGCCGTCAACAGC
+GCTCTGCCGGGTGAGGTGTATTTCATCAGCAATCCGCCAGCCAGCGTTCCTGCTATGCCCGCTGCAATAT
+TGCCGCCGCTGAACAGCGCGCCCAATGCGGACATGCTCAACCCATGATCCAACAACAGCGGTGCCAGAAG
+AGGCAGCACAAACCGCATGCCTGAATTCAGCATCAATACCAGCAGTAAGCCCAGGCGCGCCTGCTTCCTC
+CTTAGCGCATAACCTAACGCCGGAACATGCGGGATAGTCGCTGTTCGCGTCGGCTCCGTAATGCGCCACA
+GCGGGAGTGACAGCGCCATAATCAGCACCGCCATCATCAGCATGGCGACAGGCCAGCCGGATGCCGCCGA
+CAGCATCAGGAACACCCCGCCGCCGCACATCATTCCCAGATAGCTGCCGCCGACCTGCACGCTGTTTCCC
+CAGCCGTAACCCGTGCGGGTCAGTTGATCGACACAAAAGCCGTCGCTGGCGATATCAATGGTGGAGGCGA
+CCGTGCCTGCCACCATAAACAGAACAAATAACGCGACGATTTGCGTATCGGGGAATCCCCCTTCTCGCCC
+AAACCAGCCAATCGCTGCGGCAATAGTCAGGATCGCCGCTAGCGCGACCTGACCACGCAGGATTAACATG
+CGGGAACGGCGTTCCTGGCTACCGGGCGGAAGCCGCCAGCGCTCGATCCACGGCGCCCAAATAAACTTCA
+GCGCCCAGGGCAGCATAAACAGGGTTGTCGCACCGGCAAGCGCCAGCGAACCGCCAGCAGCGCGCACCAG
+CGCGGGTAAGGACTGCATAGACAGCGCCGATACCAGACTCTGCGTCACATAGACGCCGGCAATAGCAAAA
+ATCACCCGCCCGGTCGTCAACGTCAGCGGTTTCACATTCGACTGAACATCACTCATGCACCCACTCTCCA
+GACGCGGAAACCCCGTCGTCGCGCCACACGCGCGCGGCCATTTGCGCCTGCCACAGCGCCTGATAACGCC
+CATGATGTGAGAGCAATTGCGCATGAGTACCCTGCTCAACCACCTGTCCCTCTTCCATCACCAGAATGTT
+TCCGGCCCCGGCGATGGTGGATAAACGGTGAGCGATGATAATCACCGTCCGGTTGTAAACCAGGTTATCG
+ATCGCTTTTTGCACCGCCAGCTCGCTTTCAATATCCAGCGCGGCAGTCGGTTCATCGAGAATGACGACCG
+GCGCGTTTTTCAATAACGCTCTGGCAATGGAAATCCGCTGGCGCTCGCCGCCCGATAGCTGGCCGCCCAT
+CTCTCCCATTGGCGTCAGCCAGCCTTGCGGAAGACGGGAAATAAACTCAAGGCACTGCGCCGCGCGGGCG
+GCCTCTTCTACCTCCTGCCGCGTCGCCTGTGGGCGCGCGATACGGATATTCGCCAGCAGCGTGTCATCAA
+ACAGCCAGACATCCTGGAAAACAACAGAAATCAGGCTATTGAGCTGTTCCGGCGTCAGGCGGCGAATATC
+GACGCCGCCAATAGAAATCTGCCCTTGCTGCGGATCGGCATAGCGCATTAACAGTTTGGTGACCGTAGTT
+TTGCCTGCGCCGGAGGCACCCACCAGCGCGCTCATACTGGCTGCCGGGAACGTCAAAGAAACATGATTAA
+GCGCGTGGCCGTCACCTTCTTCGTAGCGATAGCTGACGTTGTCAAAGCGGATATCGTAACGTTCCGGCAT
+CTCGCTTTGCTCTGCGACGGGAAGCGGTGCTATCGCCATAAACTGCTCAATCCGTTGCAGGGCGCTGGCG
+ATCAGTTCCACAACCGAGGTGTAGCTGATAAACATCGCCATCGGTTCTGCGAAGCGCATAATCATCGCGA
+CGGCGGCAATCAAAAAGGCGAGGTTCAGAGTGCCCGTCACTACCCAGACGATCCCGGATAACACCACCAC
+CTGTAGGCCCAACTCCACGACGCTGGCGATCAGCATCGTCGCGCCAGCGCCCTGACGGTGAGTGCGGGTC
+TGTAAGTTTTCCAGCGCATTGAAATGCGCCAGCAGCGCCCGGCTTTTATCGGCATCGCTGCCGCAGGTGC
+GCAATACCATCATCCCCTGAGCAAATTCAACGATATCGCCGCTCAGACGCTGGTGCGCTTCCCCCAGCGT
+CTGCATTTGTCGCCGCATCGCCGGGCGGCGCCAGTAATAAAACGGCACCAGCAGAGGGAAGATCAGCAAC
+ATCACCAGCCCCAGCCGCCAGTCTATCCACAATGTCGCCAGCGACGCCGTCAGCGGCGTGACAATGGTGA
+GCAGCAAAATATTGGCTATCGCAATAACATAATTGAGGTTTTCATCCACGCTGCCCAGCAGCAAGGCGTT
+CATTTCACCCGCCCTGCCGCGCTGGAGCTTCTCCAGCGGCACGCGGCGTAACTGCTCGCCAAGTCGCAGG
+CGCAACTCATGGGTAGCCTGCGCCAGATGACCACGGTATTCAAAGCCCAGGCCATACCAGCGTAGCACCA
+GCGTCACAATTGCGGCGACGCTGAAGGCCATAGCCCAGTTAAGAAGTTGCGGCGCGTCTCCCCGTAACAG
+CGCATCAATGATCGGATAAAGACAGGCAAAGGCGATCCCCTGCATGAATGCCGCCAGCAACAGCGCCAGC
+ATACTGCGTCGCAGCATCCTGGCCTGACTGCCAACGCTGGAGATAAGCTGGCGCCAGATGACGCGCCAGG
+CCAGGTTATCCGCAGGATTATTGTCTTTCATTTTCCACCACCTCTTCCTGTGTTCCACCCGGCACCCAAT
+GCTGCGCCTGCTGATAGTGTTGCCAGAGCCGTTGATACAGGCCGCCCTGCGCCAACAGTTGCGTATGGTT
+CCCCATTTCCCTGAGCTGTCCGTCGGAAAACAGCAATATCACATCGGCCTGAGTCACCATTGAGAGACGA
+TGCGCGACCATGATGACCGTCCGGCCACGCATGGCCGCCGCGAGCGCCTTGATAAGCGCCGCTTCGTTTT
+CCGGGTCAGCAAACGCCGTCGCCTCATCGAGCACCAGGATGGGGCGATCCTGCAAAAGCGCCCGGGCGAT
+AGTAATGCGCTGCCGCTGGCCGCCGGAGAGAAATACCCCACGTTCCCCGACTCGAGTGTTGTAACCTTCT
+GGCAGAGCGCTAATAAAATCATGGGCCTGCGCCACTCTGGCCGCCGCTATAACCGCCTCCAGCGGCGTAT
+CCGGCGCGCCCAGACGAATGTTATTGGCTATCGTGTCGGCAAAAAGGAAGTTGTCCTGAAACACAAACGA
+GAGTTGCTTCATCAGGGTGTCCGTCTGCATATCACGCAGATCCACGCCGCCAATACGGATATGGCCTTTG
+TCCGGGTCGGCGTAACGCAGCAGCAAGCGCGCCACGGTGCTTTTTCCGGCGCCGCTTGGCCCGACCAGCG
+CCACAATTTGCCCGGCAGGCACATGAAAGCTCACCTCCTGCAACGCGGCGCCAGTACGCGCTTGCGGATA
+ATGAAAGCTCACCTGCTCAAAGGTAATGCTCGCCTCTTGCGGCTGCTGGTCAGACTGCGGCAGCGATAAC
+TCCGGCATCGCGAGAACCTGATAAATACGCTGAATGCTTAAACGCGTTTGCGCGACCAGGTTATTGAGCA
+TCATCATTGGCATTACGGCTTCGGCCATTCCGCTGCCCAGCAGTAAAACGGCCACCCACGCGATAAAATC
+GAAACTGCCATAGTGCAACAGGCCGTATCCCGACCAGATCAGGACAAACAGGGTCGGGAGAGGATTCAGA
+ATCGAGAAGGAAAAACGCGCTGAAAAACCGGCTTTGCGATACCAGGTTTTGAGCACATCGACCCACTCTT
+CAAGGGCGCGTTGATAGCGCAAAAAACTGGTGCTGCCGCTATCAAACGTTCTCACCACGGGCATGGCCTG
+CACGAACTCAATAACCGCCGCGCTAACCTGCTCGCGCGCCTTATGATAACGCTGAGCCATATCTTCCGAA
+CGCTGGCGGGCGAGCACGAGAACAACCGATCCAAACGCCAGTACCCCCAGCGTCGCGATTGCCAGCCGCC
+AGTCCAGCCAGAACAAGATAACGATTGTCGCCAGCGGCATGATGATCGCGCGGGCATAGAGCGGCGTGCT
+GTCGGCCACAAAAATATGTAACGACTTCACGTCATCCAGCATCACTTTCGCCACTGACCCGCTGCCCATT
+TGCTGTAACACGCCAGGCGGAAGCTGCAATGCTTTACGGGCTAACCTGCTGCGCAGAATGTTCTCCAGAT
+GAAAAGCCGCGTAATGAGAGGTGTTGAACGCCTGTAAGCGCAGAACAAAAGTTAAGACCACGCAGCCGAT
+CACGCCGCCCAGCGGCCAGGCCGGAATAGCGTCAGGCGTCGCGCGAATGTCACGCAGGCTCCACGCCAGA
+AAAAGGAGCGCCCCCAGGCTGGTTAATGCCGCCAGCCCCGCCAGCGCCATAGCTAAAATAACCTTCCTGC
+GAACCGGTGTAATCACCTGCCAGAGAGGAAATCGGGACAGCGATTCAGTATTGGATGATTGAGATGACAT
+GGGAGTAACTGAATTTCCTGATGAATTTTTACGGACGCCAAAAACGACAATTCAGGGTGGCGTTCTGAGA
+ATTAATGTGAATAATAACCATTATCAATAACTCATCTACCCCATTCGGTTCTATTTATACCCGCATTGGT
+CTAAGCCACAGGGAGATAACCAGGTCATGATGGAGTCACCGCAAACGCAATCTGAAATCTCTATTCACCA
+GTTGGTGGTCGGGAAACCTGCAAACGATGGCAATATTCCTGCTCAGTGTGAACTGCTGCGCTGTTCGTTG
+CAGGAAGGTATGGATATTTTGCTCTGGAGGGGCCATTTTGCGCGGCCTGAGACGTTGCAGCTACACGACG
+ATCTGGGCAGGATTAACTTCTCGTGCATCCTGGAAGGCACATCGCGCTTTGCGATTCAGGGACTCCGGCG
+CCACACCGACTGGGAGCTTGCGCGCAATCGCCATTACATTACCCATACGCCAGACTGTCGCGGCAGCGCC
+TCCTATTGTGGCCGATTCGAGAGCATTACCCTCTCCTTCAGCCCTGAAACCCTCGCGCTGTGGGTGCCGG
+ATATTAGCGCGGTCATTAAGAATAAGATCGACTCCCACTGCTGTTGCCAGCAGCAGCGTTGTAATGCTGA
+AACCCACTTAACGGCTCAGGCCTTGCGTCACGCGCTGATGCGCATGCACGGCGGCTTCAGTCATGAACAA
+AAGCCGTCGACGCTATGGTTGCAGGGGCAAAGTCTGGTCATGCTCAGTCTGGTGCTGGATGAACATCGCG
+AAGACGCCAGTTGCCTCTCCTGCCACTTCAACCCGATGGAACGCCAGAAACTGCTGCGGGCGAAGGATCT
+GCTGCTGGCTGATCTGACGCAAGCGCCGGGCGTCGCGGAGTTGGCCAGAGAGTCCGGTCTGAGCGTTCTC
+AAAATTAAGCGAGGCTTCCGCGTTCTGTTCAACAACAGCGTCTATGGCCTGTTTCAGGCTGAACGAATGC
+AGGAAGCCAGAAGACGCCTGGCCAACGGCAATACCTCCGTCATGACGGTGGCGGCCGATCTGGGCTATGC
+CAACGCCAGCCATTTCTCTGCCGCCTTCCAGAAACAGTTTGGCGTAACTCCTTCGACCTTTAAACGCGGG
+ATGTAACCGGGGTCGCGCCCCCCTAAACTCCTCCCTGACAGAGGCCCGGATACCCCATCCGGGCCTCTGT
+TCTTTCCGCCTGTTACCAACCCGAAACGGGCATAAATAAACCCGTTTCGGGTAGCATCCAATTGTTAATA
+ATTATTATTCTCATATGAGTAATGCTTTTCGGTAAGACGTGCCATCAGGAGGAAGAATGATTTCTGGCGC
+ACCATCTCAGGATTCGCTGTTACCGGACAACCGCCACGCGGCTGATTACCAACAATTACGCGAGCGGCTC
+ATACAGGAACTGAATTTAACGCCGCAGCAGTTACATGAAGAGAGCAACCTGATCCAGGCCGGCCTGGATT
+CCATAAGATTGATGAGATGGTTACACTGGTTTCGTAAAAATGGCTACCGCCTTACCCTTCGCGAGCTGTA
+TGCCGCCCCCACGCTGGCGGCATGGAACCAGTTAATGCTCAGCCGGTCGCCGGAGAACGCGGAAGAAGAA
+ACGCCGCCCGACGAATCATCCTGGCCGAACATGACCGAAAGTACCCCCTTCCCATTGACGCCAGTACAGC
+ACGCCTACCTGACGGGCCGCATGCCGGGGCAGACGCTTGGCGGCGTGGGTTGCCACCTGTATCAGGAGTT
+TGAAGGCCATTGTCTGACGGCGTCGCAGCTGGAGCAGGCCATCACGACCTTGCTGCAACGCCACCCAATG
+CTGCATATCGCCTTTCGCCCCGACGGGCAGCAGGTCTGGCTACCGCAACCTTACTGGAACGGCGTCACCG
+TTCATGATTTACGCCATAACGACGCTGAAAGCCGCCAGGCCTATCTGGACGCACTGCGCCAGCGCCTGAG
+CCACCGTCTTTTACGCGTGGAAATCGGCGAAACGTTTGATTTTCAGCTGACGCTCTTGCCGGACAATCGC
+CACCGCCTCCATGTCAATATTGACCTGCTGATTATGGATGCCTCCAGCTTTACGCTTTTCTTCGATGAGC
+TTAACGCCCTGCTGGCCGGAGAATCGCTGCCGGCTATCGACACCCGCTATGATTTCCGCTCGTATTTGCT
+GCACCAACAGAAGATCAATCAACCACTGAGAGACGACGCGCGCGCTTACTGGCTGGCGAAAGCATCGACG
+CTTCCCCCCGCGCCCGTCTTGCCGCTGGCCTGCGAACCCGCCACGCTATGTGAAGTCCGTAATACCCGAC
+GCCGCATGATTGTTCCGGCAACACGCTGGCACGCCTTTAGCAACCGGGCCGGCGAGTATGGCGTGACGCC
+GACAATGGCGCTGGCGACCTGTTTTTCTGCCGTGCTGGCTCGCTGGGGCGGCCTGACGCGTCTGCTGCTT
+AACATCACCTTATTCGACCGCCAGCCGCTGCACCCGGCGGTTGGCGCGATGCTTGCCGACTTCACCAATA
+TTCTTCTGCTGGACACCGCCTGCGATGGCGATACCGTCAGCAACCTGGCGCGTAAAAACCAGCTCACGTT
+TACGGAGGACTGGGAGCATCGCCACTGGTCCGGCGTCGAATTACTCCGTGAACTCAAACGCCAGCAGCGC
+TACCCCCACGGCGCCCCGGTGGTATTTACCAGCAATCTGGGGCGTTCCCTCTACAGCAGCCGCGCAGAAT
+CGCCGTTGGGCGAGCCGGAATGGGGCATCTCGCAAACGCCGCAGGTCTGGATAGATCATCTGGCGTTCGA
+GCATCACGGCGAGGTCTGGCTACAATGGGACAGCAACGACGCGCTGTTCCCTCCGGCGTTAGTCGAAACA
+TTGTTCGACGCCTACTGCCAGTTGATTAACCAACTCTGCGATGACGAAAGCGCCTGGCAAAAGCCGTTCG
+CAGATATGATGCCCGCCAGCCAGCGCGCGATACGCGAACGGGTCAACGCCACCGGTGCCCCCATTCCCGA
+AGGCTTGCTGCATGAAGGCATTTTCCGTATCGCTCTGCAACAGCCGCAGGCGCTGGCGGTAACGGACATG
+CGTTATCAGTGGAATTATCATGAGCTGACAGACTATGCCCGCCGTTGCGCGGGCAGGTTAATCGAGTGCG
+GGGTTCAGCCCGGCGATAATGTGGCTATCACGATGTCGAAAGGCGCAGGACAACTTGTTGCGGTTCTGGC
+CGTCCTGCTGGCCGGGGCGGTTTACGTTCCGGTTTCGCTGGATCAGCCTGCCGCACGGCGCGAGAAAATC
+TACGCTGACGCCAGCGTCCGGCTGGTGCTCATTTGTCAGCACGACGCCAGCGCCGGGTCAGACGATATTC
+CCGCCCTTGCCTGGCAGCAGGCCATTGAGGCGGAGCCGATCGCCAACCCGGTAGTACGCGCCCCCACGCA
+ACCGGCCTACATTATCTACACCTCCGGCTCTACCGGTACGCCGAAAGGGGTAGTCATTTCTCACCGGGGA
+GCGCTTAACACCTGTTGCGATATCAATACCCGCTATCAGGTTGGCCCGCATGACAGGGTGCTGGCCCTCT
+CCGCCCTACATTTTGATTTATCGGTTTACGACATTTTTGGCGTACTGCGCGCGGGCGGCGCGCTGGTGAT
+GGTGATGGAAAATCAACGGCGCGATCCTCACGCATGGTGTGAGCTGATCCAGCGCCATCAGGTCACGCTC
+TGGAACAGCGTCCCGGCGCTGTTCGATATGCTGCTGACCTGGTGTGAAGGTTTCGCCGACGCCACGCCGG
+AAAACCTGCGCGCAGTGATGCTTTCCGGCGACTGGATCGGGCTTGACCTCCCCGCCCGTTATCGGGCCTT
+CCGGCCACAAGGACAATTTATCGCGATGGGCGGCGCCACCGAGGCGTCTATCTGGTCTAACGCCTGCGAA
+ATTCACGACGTCCCCGCCCACTGGCGCTCCATCCCTTACGGTTTTCCGCTAACCAACCAACGCTACCGGG
+TGGTGGATGAACAGGGCCGGGACTGCCCTGACTGGGTGCCGGGTGAATTATGGATTGGCGGCATTGGGGT
+CGCGGAAGGCTATTTCAACGATCCCCTGCGTAGCGAGCAGCAATTTTTGACGCTCCCGGACGAGCGCTGG
+TATCGCACCGGCGATCTCGGCTGCTACTGGCCAGATGGCACAATCGAGTTCCTCGGTCGTCGCGACAAGC
+AGGTCAAAGTCGGAGGATATCGCATCGAGCTGGGCGAAATCGAAAGCGCGCTCAGCCAGCTGGCGGGGGT
+GAAACAAGCAACCGTTCTGGCGATCGGCGAAAAAGAAAAAACGCTGGCGGCATACGTTGTTCCTCAGGGC
+GAGGCTTTTTGCGTTACCGATCATCGGAACCCGGCACTGCCGCAGGCGTGGCACACGCTTGCGGGAACGT
+TGCCCTGTTGCGCCATCTCGCCAGAGATCTCCGCAGAACAGGTAGCCGATTTCCTTCAGCATCGCCTGCT
+AAAACTGAAGCCGGGTCACACCGCTGGCGCCGATCCTCTCCCCCTGATGAACTCACTCGCTATCCAGCCG
+CGCTGGCAGGCCGTGGTGGAACGCTGGTTAGCATTTCTGGTGACACAACGGCGACTGAAGCCCGCTGCTG
+AAGGTTATCAGGTCTGCGCTGGTGAAGAACGCGAGGATGAGCACCCGCACTTCAGCGGACATGATTTAAC
+GTTATCGCAAATTCTTCGCGGTGCCCGTAACGAACTGTCGTTACTGAACGACGCGCAGTGGTCCCCGGAA
+AGCCTGGCCTTTAACCATCCGGCCAGCGCCCCGTATATTCAGGAACTGGCGACAATTTGCCAACAGCTTG
+CACAGCGCTTACAGCGCCCGGTACGCCTGCTTGAGGTGGGAACCCGCACTGGCCGCGCCGCAGAATCGCT
+GTTAGCACAGCTCAACGCCGGACAGATTGAGTATGTCGGGCTTGAGCAGAGCCAGGAGATGCTGCTGAGC
+GCCCGGCAGAGGCTCGCCCCCTGGCCTGGCGCCCGTCTGTCCCTCTGGAATGCAGACACGCTGGCGGCGC
+ACGCTCACTCGGCGGACATTATCTGGCTTAATAACGCCCTGCATCGTCTGCTGCCGGAAGATCCCGGGCT
+CCTTGCGACATTACAACAGCTTGCCGTTCCCGGCGCGCTGCTCTACGTGATGGAGTTTCGCCAGTTAACG
+CCGTCCGCCCTACTCAGCACGCTCCTGTTAACCAATGGGCAGCCGGAGGCCTTGCTGCATAACAGCGCCG
+ACTGGGCGGCATTATTTAGCGCGGCCGGCTTCAACTGTCAGCATGGCGATGAGGTCGCGGGGTTACAACG
+CTTCCTCGTACAATGTCCTGACAGGCAGGTGCGCCGCGATCCCCGTCAACTTCAGGCCGCCCTCGCCGGG
+CGTCTGCCGGGGTGGATGGTGCCGCAACGGATCGTCTTCCTCGACGCCTTACCGCTGACGGCTAACGGGA
+AAATTGACTACCAGGCGCTGAAGCGTCGTCATACCCCTGAAGCGGAAAACCCGGCCGAAGCGGATTTACC
+CCAGGGCGACATTGAAAAACAGGTTGCCGCCCTCTGGCAGCAACTCTTATCAACTGGCAATGTCACCAGA
+GAAACCGACTTCTTCCAGCAAGGCGGCGATAGCCTGCTGGCGACCCGTCTGACCGGGCAACTTCATCAGG
+CAGGTTATGAAGCGCAATTAAGCGACCTGTTTAATCATCCCCGGCTGGCGGATTTTGCCGCCACGCTGCG
+GAAAACCGACGTCCCGGTCGAACAACCATTCGTCCACTCCCCTGAAGATCGCTACCAGCCCTTTGCGCTT
+ACCGACGTGCAGCAGGCTTACCTGGTGGGGCGTCAGCCGGGCTTTGCCCTGGGCGGCGTCGGCTCACATT
+TCTTTGTTGAATTTGAAATTGCCGATCTGGATCTCACCCGGTTGGAGACGGTCTGGAACCGATTAATCGC
+CCGCCACGATATGCTACGCGCCGTCGTGCGTGATGGACAGCAACAGGTGCTCGAACAGACGCCTCGCTGG
+GTAATACCCGCACACATCCTCCATACGCCTGAAGAGGCGTTGCAGGTGCGCGAAAAACTGGCCCATCAGG
+TACTCAACCCCGAAGTCTGGCCGGTATTCGATCTCCAGGTCGGTTACGTTGACGGGATGCCCGCCCGCCT
+GTGGCTGTGTCTGGATAACCTGTTACTTGACGGGCTGAGCATGCAGATTCTGTTGGCGGAGCTGGAACAT
+GGCTACCAATATCCGCAACAGTTGCCTCCGCCGCTACCCGTCACCTACAGGGATTACCTGCAACAACCCG
+CGATCCAGTCGCTTAACGCAGATTCTCTGGCATGGTGGCAGGCGCAACTTGATGATATTCCTCCGGCTCC
+TGCATTGCCGCTACGTTGCATGCCTCAGGACGTCGAAACACCGCGCTTCGCCCGCCTGAACGGCGCGCTG
+GACAGCACGCGCTGGCATCGGCTGAAAAAACGGGCGGCTGACGCCCATCTCACCCCGTCGGCCGTACTGT
+TGTCGGTGTGGTCAACGGTTCTCTCTGCATGGAGTGCACAGCCTGAGTTCACGCTTAACCTTACGCTTTT
+CGACAGGCGACCGCTGCACCCGCAAATCAACCAGATTCTGGGCGATTTCACCTCGCTGATGCTGCTGAGC
+TGGCATCCCGGCGAAAGCTGGCTGCACAGCGCGCAGTCACTACAGCAGCGGCTGAGCCAGAACCTCAACC
+ACCGCGATGTGTCAGCCATCCGCGTGATGCGTCAACTGGCGCAACGGCAAAACGTGTCTGCCGTTCCGAT
+GCCCGTCGTCTTTACCAGCGCGCTGGGCTTTGAGCAGGATAACTTCCTCGCCCGGCGTAATCTGCTCAAA
+CCGGTCTGGGGCATCTCCCAGACGCCGCAGGTCTGGCTCGATCACCAGGTTTATGAATCCGAAGGCGAAC
+TGCGCTTTAACTGGGATTTTGTCGCCGCGCTGTTTCCTGCCGGGCAGGTGGAACGTCAGTTTGAGCAGTA
+TTGCACCTTGCTAAACCGAATGACCGAGGATGAAAACAGCTGGCATTTGCCACTCGCCGCGCTGGTGCCT
+CCCGTTAAGCAGGCGGAGCAAGGTACAGAGCGCACATCGCGCGTATGCCCTGAGCACTCTCAGTCACACA
+TTGCGGCGGACGAGAGCACCGTCAGCCTGATTTGCGACGCCTTCCGCGAGGTGGTTGGCGAGTCTGTCAC
+GCCCGCACAAAACTTCTTTGAGGCGGGCGCAACGTCGCTGAATCTGGTGCAACTGCACGTTTTGTTACAA
+CGTCACGAATTTTCGACTCTGACGTTACTTGACCTCTTTACCCACCCTTCTCCTGCAGCCCTGGCCGCTT
+ATCTGACCAGTGTCGCCACGGTGGAGAAAACCAAACGCTCTCGCCCTGTTCGCCGTCGTCAGCGGCGGAT
+ATAGCGCGAAGCAAACTGATTTTCCCCGGAACGCCATCGCGAACGCATGGCGTTCCATTGACTTTATGAA
+CCTTAGGAAATGGGACCGATTATGGATAACTTGCGCTTCTCTTCTGCGCCAACAGCAGATTCCATTGATG
+CATCGATCGTTCAACACTACCCGGACTGCGAACCTGTCGCGGTTATCGGCTACGCCTGCCATTTTCCTGA
+ATCGCCGGATGGCGAAACGTTCTGGCAAAATCTGCTGGAAGGTCGTGAATGCAGCCGACGCTTTACGCGC
+GAAGAGCTTCTGGCCGTCGGTCTGGATGCCGCCATCATTGACGATCCTCATTATGTCAATATCGGTACGG
+TGTTAGACAACGCCGACTGCTTCGACGCCACCCTGTTTGGCTATTCGCGACAGGAAGCGGAGTCGATGGA
+CCCGCAGCAGCGCCTGTTTTTGCAGGCGGTCTGGCATGCGCTGGAACATGCCGGTTATGCCCCCGGCGCC
+GTCCCCCATAAGACCGGCGTTTTCGCCTCTTCCCGGATGAGTACCTACCCCGGTCGCGAAGCATTGAACG
+TGACAGAAGTCGCGCAGGTAAAAGGTCTGCAATCTCTGATGGGCAATGATAAAGACTATATTGCCACCCG
+CGCCGCGTACAAACTCAACCTGCACGGCCCGGCGTTATCGGTACAGACCGCCTGCTCCAGCTCGCTGGTT
+GCCGTGCATCTGGCCTGTGAAAGCCTGCGCGCTGGCGAATCCGATATGGCGGTTGCCGGCGGCGTGGCGC
+TCTCTTTCCCCCAGCAGGCAGGCTACCGCTACCAGCCCGGAATGATTTTCTCTCCTGATGGTCACTGTCG
+TCCCTTTGACGCCTCGGCTGAGGGCACCTGGGCCGGTAACGGTCTCGGCTGCGTGGTGCTGCGTCGCCTG
+AGAGACGCGCTGCTGTCAGGCGATCCGATTATCTCGGTGATCCTCTCCAGCGCGGTCAACAACGACGGCA
+ACAGAAAGGTCGGCTATACCGCCCCTTCCGTCGCAGGGCAACAGGCAGTCATCGAAGAGGCGTTAATGCT
+GGCGGCCATCGACGACAGGCAGGTAGGTTACATTGAAACCCACGGCACCGGCACACCGCTGGGCGACGCG
+ATTGAAATTGAAGCGTTACGCAACGTCTATGCGCCTCGCCCGCAGGATCAGCGCTGTGCGCTCGGTTCCG
+TGAAAAGTAACATGGGCCATCTGGATACCGCGGCGGGCATTGCCGGACTGCTGAAAACCGTTCTGGCAGT
+CAGTCGCGGGCAAATTCCTCCCTTACTGAATTTTCACACCCCCAACCCGGCGCTGAAACTTGAAGAGAGC
+CCCTTTACCATACCGGTGTCGGCACAGGCATGGCAGGACGAAATGCGCTATGCGGGCGTCTCCTCCTTTG
+GTATTGGCGGCACCAACTGCCATATGATCGTCGCCTCGCTGCCCGACGCGCTCAACGCGCGCCTCCCCAA
+TACGGATAGCGGCAGAAAAAGTACCGCGCTGCTGCTCAGCGCCGCCAGCGACAGCGCGTTGCGGCGGCTG
+GCGACGGATTATGCCGGGGCGCTGAGAGAGAATGCGGATGCCAGCTCTCTGGCCTTCACAGCCCTGCACG
+CGCGCCGTCTCGATCTCCCCTTCCGCCTGGCGGCGCCATTAAACCGTGAAACCGCCGAGGCGCTCAGCGC
+CTGGGCCGGTGAGAAATCGGGGGCGCAGGTTTACAGCGGCCACGGCGCCAGCGGCAAGCAGGTGTGGCTG
+TTTACCGGCCAGGGCTCGCACTGGCGCACTATGGGTCAAACGATGTACCAGCACTCAACGGCGTTTGCCG
+ACACGCTGGATCGCTGTTTTTCCGCCTGTAGCGAAATGCTCACGCCGTCACTGCGCGAAGCGATGTTTAA
+CCCCGATTCGGCGCAGCTGGACAATATGGCCTGGGCGCAGCCGGCGATTGTCGCGTTTGAAATCGCGATG
+GCGGCGCACTGGCGTGCTGAAGGACTGAAGCCAGACTTCGCCATTGGGCATTCCGTCGGTGAATTTGCCG
+CTGCCGTTGTCTGCGGACACTATACGATTGAACAGGTCATGCCACTGGTTTGTCGGCGCGGCGCGCTAAT
+GCAGCAGTGCGCAAGCGGCGCGATGGTGGCGGTATTTGCAGACGAAGACACGCTGATGCCGCTGGCTCGC
+CAGTTTGAGCTGGATCTCGCCGCCAACAACGGTACGCAACATACGGTATTTTCCGGGCCGGAAGCCCGTC
+TCGCGGTATTTTGCGCCACGCTCTCGCAGCATGACATTAACTATCGTCGCCTGAGCGTAACCGGTGCGGC
+GCACTCCGCTTTACTGGAGCCGATACTCGATCGGTTCCAGGACGCCTGCGCGGGACTGCACGCGGAGCCG
+GGGCAAATACCGATTATTTCCACGCTCACCGCCGACGTCATTGATGAGTCAACGCTCAACCAGGCGGATT
+ACTGGCGCCGACACATGCGCCAGCCGGTGCGTTTTATCCAGAGTATTCAGGTGGCGCATCAACTCGGCAC
+CCGCGTTTTTCTGGAGATGGGGCCCGATGCCCAGTTGGTTGCTTGCGGGCAGCGCGAATACCGCGATAAC
+GCATACTGGATAGCCAGCGCCCGGCGTAACAAAGAGGCGAGCGTTGTCCTCAATCAGGCCCTGCTCCAGC
+TTTACGCTGCCGGCGTCGCTCTACCGTGGGCCGACCTACTGGCGGGCGATGGACAACGTATCGCTGCGCC
+ATGTTATCCGTTTGATACTGAGCGTTACTGGAAAGAGCGCGTCTCCCCGGCCTGCGAGCCTGCCGACGCA
+GCGCTGTCTGCCGGGCTGGAGGTGGCGAGTCGCGCCGCGACAGCGCTCGATCTCCCTCGCCTGGAAGCGC
+TTAAACAGTGCGCCACGCGACTGCACGCCATCTACGTCGATCAACTGGTACAACGCTGTACCGGCGATGC
+CATTGAGAACGGCGTGGACGCCATGACCATCATGCGCCGTGGACGTCTGCTGCCCCGCTACCAGCAGCTA
+CTCCAGCGCCTGCTGAATAACTGCGTGGTCGACGGCGATTACCGCTGCACCGACGGGCGATACGTCCGCG
+CCCGCCCCATTGAACATCAACAGCGGGAATCACTGCTGACGGAACTTGCCGGTTATTGTGAAGGTTTTCA
+GGCTATTCCCGACACCATCGCCCGTGCCGGCGATCGGTTATATGAAATGATGAGCGGCGCGGAAGAACCG
+GTGGCGATTATCTTCCCGCAAAGCGCCTCCGACGGCGTGGAAGTGCTGTATCAGGAATTCAGCTTTGGCC
+GCTATTTCAACCAAATCGCCGCCGGGGTATTACGTGGCATTGTCCAGACGCGTCAGCCCCGCCAGCCGTT
+GCGTATTCTTGAAGTTGGCGGCGGAACCGGCGGCACCACCGCGTGGCTGCTGCCGGAACTCAACGGCGTT
+CCGGCACTGGAGTACCATTTCACCGATATCTCGGCGCTGTTCACCCGTCGCGCCCAGCAGAAATTCGCCG
+ACTATGATTTTGTGAAGTATAGCGAGCTGGATCTCGAAAAAGAGGCGCAGTCTCAGGGTTTCCAGGCACA
+GTCTTACGATCTTATCGTGGCAGCGAACGTGATTCACGCCACCCGCCATATTGGCCGCACGCTCGATAAT
+CTGCGCCCCCTGCTCAAGCCGGGCGGGCGCCTGCTGATGCGCGAAATCACCCAGCCAATGCGTCTGTTTG
+ACTTCGTTTTCGGCCCGCTGGTTCTTCCGCTACAGGATCTCGACGCCCGCGAAGGTGAGTTATTCCTCAC
+CACCGCTCAGTGGCAACAACAGTGCCGCCACGCCGGATTCAGCAAAGTGGCGTGGCTACCGCAGGATGGC
+AGCCCGACCGCCGGGATGAGCGAACATATCATTCTCGCCACGCTGCCCGGTCAGGCGGTTAGCGCCGTAA
+CATTCACCGCGCCATCAGAACCCGTGTTGGGGCAGGCGCTGACGGATAACGGTGATTATCTCGCCGACTG
+GTCTGATTGCGCAGGTCAGCCCGAACGGTTTAACGCCCGCTGGCAGGAGGCCTGGCGTCTGCTTTCACAG
+CGTCATGGCGACGCTCTGCCTGTGGAACCGCCCCCCGTCGCCGCCCCGGAGTGGCTAGGGAAGGTTCGCT
+TAAGCTGGCAAAACGAAGCCTTTTCCCGCGGTCAGATGCGCGTTGAAGCCCGTCATCCTGCTGGCGAGTG
+GCTGCCGCTATCGCCCGCCGAGCCTCTTCCTGCGCCGCAAACGCATTATCAATGGCGCTGGACGCCCCTC
+AACGTCGCCAGCATTGACCATCCGCTTACCTTTAGCTTCAGCGCCGGTACGCTTGCGCGCAGCGACGAGC
+TGGCGCAATACGGCATCATTCACGATCCGCACGCCTCTTCACGACTGATGATTGTTGAGGAGAGCGAGGA
+TACGCTGGCCTTAGCGGAGAAAGTGATAGCAGCGCTCACCGCCAGCGCAGCCGGATTGATTGTGGTTACT
+CGCCGCGCGTGGCGAGTCGAGGAAAATGAAGCACTCTCTGCATCCCATCACGCGCTATGGGCCTTGCTTC
+GCGTCGCGGCCAACGAACAGCCGGAACGGTTGCTTGCCGCCATCGATCTCGCCGAAAACACCCCGTGGGA
+AACGCTGCATCAAGGGTTGAGCGCAGTCTCACTATCACAGCGCTGGCTCGCCGCACGGGGTGACACCCTT
+TGGCTTCCTTCACTGTCGCCCAATACGGGATGCGCCGCTGAATTACCGGCAAACGTGTTTACCGGCGATA
+GCCGCTGGCATCTGGTGACCGGAGCGTTTGGCGGATTAGGCCGCCTTGCCGTGAACTGGCTCAGAGAAAA
+AGGGGCGCGACGCATCGCCCTGCTAGCGCCGCGCGTGGATGAGTCATGGCTACGCGACGTGGAGGGCGGG
+CAGACGCGCGTCTGCCGTTGTGATGTGGGCGATGCCGGGCAACTGGCCACGGTTCTTGACGATCTGGCGG
+CCAACGGCGGCATTGCCGGAGCGATTCATGCCGCTGGCGTATTGGCTGACGCGCCCTTGCAGGAGCTTGA
+TGACCACCAGCTGGCTGCCGTTTTCGCGGTAAAAGCGCAGGCGGCAAGCCAGCTGTTGCAAACCCTGCGC
+AACCACGACGGACGCTATCTTATTCTCTACTCTTCCGCTGCCGCCACCCTCGGCGCGCCGGGTCAGAGCG
+CCCATGCGCTGGCCTGCGGCTACCTGGACGGGCTGGCCCAGCAGTTTTCCACCCTTGATGCGCCGAAAAC
+GCTCTCTGTCGCCTGGGGCGCATGGGGAGAAAGCGGTCGGGCGGCCACGCCGGAAATGCTGGCGACGCTC
+GCCAGCCGAGGTATGGGCGCGTTAAGCGATGCCGAAGGCTGCTGGCACCTGGAACAGGCGGTGATGCGCG
+GTGCCCCGTGGCGACTGGCGATGCGCGTTTTTACCGACAAAATGCCCCCGTTACAACAGGCTCTGTTTAA
+CATCAGCGCCACAGAAAAAGCCGCAACGCCGGTCATTCCTCCTGCTGATGACAACGCCTTTAACGGCAGC
+CTGAGCGATGAAACAGCGGTGATGGCATGGCTGAAAAAGCGGATTGCGGTTCAGCTAAGGCTGAGCGATC
+CGGCGTCACTGCATCCAAACCAGGATCTGTTGCAACTCGGCATGGACTCGCTGCTCTTCCTTGAACTCAG
+TAGCGATATTCAGCACTACCTGGGCGTACGCATCAATGCGGAACGGGCGTGGCAGGATCTGTCTCCTCAT
+GGACTCACGCAGCTTATCTGTTCTAAGCCAGAGGCGACGCCTGCCGCTTCGCAGCCGGAAGTGTTGCGGC
+ACGACGCCGACGAGCGTTATGCGCCCTTCCCTTTGACGCCCATTCAGCACGCCTACTGGCTGGGGCGAAC
+CCACCTCATTGGCTATGGCGGCGTCGCCTGTCACGTCCTGTTTGAGTGGGATAAACGCCACGATGAGTTC
+GATCTCGCCATACTGGAGAAAGCATGGAACCAGCTCATCGCACGCCACGATATGTTGCGTATGGTGGTTG
+ATGCCGACGGGCAGCAGCGAATCCTGGCGACAACGCCGGAGTATCACATCCCGCGTGACGATCTGCGCGC
+GCTTTCCCCGGAAGAACAGCGCATCGCGCTGGAAAAACGGCGGCATGAACTGAGCTATCGCGTTTTGCCT
+GCCGACCAGTGGCCTCTTTTTGAGCTGGTGGTCAGCGAAATCGACGATTGCCATTACCGTCTGCATATGA
+ACCTCGACCTTTTGCAGTTTGATGTGCAGAGTTTTAAAGTCATGATGGACGACCTGGCGCAGGTCTGGCG
+CGGTGAAACGCTGGCGCCGCTCGCTATTACCTTCCGTGATTATGTGATGGCTGAACAGGCGCGCCGACAG
+ACATCGGCATGGCACGATGCCTGGGATTACTGGCAGGAAAAACTGCCGCAACTGCCCTTAGCGCCAGAGC
+TGCCGGTGGTTGAGACGCCCCCGGAAACGCCACACTTCACCACCTTCAAATCGACGATCGGCAAGACAGA
+ATGGCAGGCCGTGAAACAGCGCTGGCAGCAGCAAGGCGTCACACCGTCTGCCGCGCTGCTCACGCTGTTT
+GCCGCCACCCTTGAGCGCTGGAGCCGTACCACAACATTTACGCTGAACCTGACGTTCTTCAATCGCCAGC
+CGATCCATCCGCAAATCAACCAGTTGATTGGTGATTTTACCTCCGTCACGCTGGTTGATTTTAACTTCTC
+AGCGCCGGTGACGTTGCAAGAGCAGATGCAACAGACCCAACAGCGCCTCTGGCAAAACATGGCGCACAGT
+GAAATGAACGGTGTTGAGGTGATCCGTGAGCTGGGCCGCCTGCGCGGATCACAACGTCAACCGCTGATGC
+CGGTAGTGTTTACCAGTATGCTGGGGATGACGCTGGAAGGCATGACTATCGATCAGGCGATGAGCCATCT
+GTTCGGCGAACCCTGCTATGTATTCACGCAAACGCCGCAGGTCTGGCTGGATCATCAGGTCATGGAGAGC
+GACGGCGAGTTGATGTTTAGCTGGTACTGCATGGACAACGTGCTGGAACCCGGCGCTGCCGAGGCGATGT
+TTAATGACTATTGCGCCATCCTGCAAGCCGTCATCGCCGCCCCTGAAAGCCTGAAGACTCTCGCCAGCGG
+CATCGCCGGGCACATTCCCCGCCGACGCTGGCCGCTGAACGCGCAGGCGGACTACGACCTGCGGGATATT
+GAGCAGGCGACGCTCGAATACCCCGGCATCCGGCAGGCCAGAGCGGAAATAACCGAACAGGGCGCGTTGA
+CGCTGGATATCGTGATGGCCGACGATCCGTCGCCATCAGCGGCGATGCCTGATGAGCACGAACTTACCCA
+ACTGGCGCTGCCGTTGCCTGAGCAGGCGCAGCTTGATGAGCTGGAGGCGACCTGGCGCTGGCTGGAGGCG
+CGTGCGCTACAGGGGATCGCGGCTACGCTAAATCGTCACGGCCTGTTTACCACGCCGGAGATCGCCCATC
+GCTTTAGCGCAATAGTACAGGCGCTGTCCGCGCAAGCGTCTCACCAGCGTCTGCTGCGCCAGTGGCTACA
+GTGTCTGACGGAAAGAGAGTGGTTAATCCGCGAAGGTGAAAGCTGGCGCTGCCGCATTCCGCTCAGCGAG
+ATTCCTGAGCCTCAGGAAGCGTGCCCGCAAAGCCAATGGAGCCAGGCGCTGGCGCAGTATCTGGAAACCT
+GCATCGCCCGGCACGACGCCCTCTTCTCCGGGCAGTGTTCTCCGCTGGAATTGCTGTTCAACGAGCAGCA
+TCGCGTTACCGACGCGCTGTATCGCGACAACCCCGCCAGCGCCTGTCTGAATCGCTATACCGCGCAGATT
+GCCGCCTTGTGCAGCGCAGAACGGATTCTGGAGGTTGGCGCCGGAACCGCAGCCACTACCGCGCCGGTGC
+TGAAGGCCACGCGGAACACGCGGCAGTCGTACCACTTCACGGACGTCTCCGCGCAGTTCCTCAATGACGC
+CAGAGCCCGTTTCCATGATGAATCGCAGGTGTCTTATGCCTTGTTCGACATCAACCAGCCGCTGGATTTC
+ACCGCCCACCCGGAGGCGGGTTACGACCTGATCGTTGCCGTCAATGTGCTCCACGACGCCAGCCATGTCG
+TCCAGACGTTGCGCAGATTAAAACTGTTGCTGAAAGCCGGCGGACGTTTGCTGATCGTTGAAGCGACGGA
+GCGAAACAGCGTATTCCAGCTGGCGAGCGTGGGCTTTATTGAGGGATTAAGCGGATACCGCGATTTCCGC
+CGCCGGGATGAGAAACCGATGCTCACCCGCTCCGCATGGCAGGAGGTTCTCGTTCAGGCCGGGTTTGCAA
+ACGAGCTGGCGTGGCCCGCGCAGGAATCGTCGCCGCTGCGCCAGCATCTGCTGGTAGCGCGTTCGCCTGG
+CGTAAATCGCCCGGATAAAAAAGCCGTGAGCCGCTATTTACAGCAGCGCTTTGGCACCGGTCTGCCCATT
+TTACAGATCCGGCAAAGAGAAGCGTTATTTACGCCGCTGCATGCCCCGTCTGATGCGCCGACTGAGCCAG
+CCAAACCCACGCCAGTTGCCGGGGGGAATCCGGCGCTGGAAAAACAGGTGGCTGAACTCTGGCAATCGCT
+GCTGTCTCGCCCCGTGGCAAGGCATCACGACTTTTTCGAACTGGGCGGCGACAGCCTGATGGCGACAAGG
+ATGGTCGCGCAGCTAAACCGGAGAGGGATTGCCAGGGCTAACCTTCAGGATCTGTTCAGCCATTCGACGC
+TGAGCGACTTCTGCGCCCATCTACAGGCGGCTACGTCAGGAGAGGACAACCCGATACCCCTTTGCCAGGG
+CGACGGTGAGGAAACCCTGTTTGTCTTCCACGCTTCAGACGGCGATATCAGCGCCTGGCTGCCGCTCGCT
+AGCGCGTTGAACAGGCGCGTTTTCGGCCTGCAAGCAAAATCGCCGCAGCGCTTTGCCACGCTCGACCAGA
+TGATCGATGAGTATGTCGGGTGCATCCGTCGTCAGCAGCCTCACGGCCCTTATGTGCTGGCGGGTTGGTC
+GTATGGCGCGTTTCTTGCGGCGGGCGCCGCACAGCGCCTGTACGCCAAAGGCGAGCAGGTTCGGATGGTG
+TTAATCGATCCCGTGTGCCGACAGGATTTCTGTTGCGAAAACCGGGCGGCCCTGCTGCGCCTGTTAGCCG
+AAGGACAAACGCCTCTGGCACTGCCCGAACATTTCGACCAGCAGACGCCCGACAGCCAGCTTGCCGACTT
+TATCAGCCTCGCTAAAACGGCCGGTATGGTGTCGCAAAACCTGACGCTGCAAGCGGCAGAAACGTGGCTC
+GACAACATCGCGCATCTGCTGCGTTTACTGACTGAGCATACGCCGGGCGAAAGCGTTCCGGTCCCCTGTC
+TCATGGTGTATGCCGCCGGGAGACCCGCGCGCTGGACGCCAGCAGAAACCGAGTGGCAGGGCTGGATAAA
+CAACGCCGACGACGCTGTGATTGAAGCCAGCCACTGGCAAATCATGATGGAAGCCCCCCACGTTCAGGCT
+TGTGCGCAACACATTACGCGCTGGCTTTGCGCAACCTCAACGCAACCGGAGAACACGTTATGATGCCGTC
+CGCCTCCCCAAAACAACGCGTACTGATTGTGGGCGCCAAATTTGGCGAAATGTACCTGAATGCCTTTATG
+CAGCCCCCGGAGGGGCTGGAACTGGTCGGCCTGCTGGCGCAGGGAAGCGCCCGTTCAAGAGAGCTGGCTC
+ATGCGTTTGGCATTCCGCTGTATACCTCGCCGGAACAGATAACCAGGATGCCGGATATCGCCTGTATTGT
+CGTGCGTTCGACCGTCGCCGGAGGAACCGGTACGCAGCTTGCCAGACACTTTCTGACGCGCGGCGTACAC
+GTCATTCAGGAGCATCCCCTCCACCCGGATGACATCAGTTCCTTACAAACGCTGGCGCAGGAACAGGGCT
+GCTGCTATTGGGTAAACACGTTTTATCCGCATACGCGCGCGGGACGCACATGGCTTCGCGATGCGCAGCA
+GCTGCGTCGCTGCCTGGCTAAGACGCCGCCGGTAGTCCACGCCACCACCAGCCGACAGTTGCTCTACTCC
+ACTCTGGATTTGTTGTTGCTGGCTCTGGGCGTTGATGCCGCCGCCGTGGAGTGCGACGTGGTTGGCAGCT
+TTAGCGATTTTCACTGTCTGAGACTCTTCTGGCCGGAGGGAGAAGCCTGCCTGCTGCTTCAGCGCTATCT
+CGATCCTGACGATCCAGATATGCATAGCCTTATCATGCACCGCCTGCTGCTGGGCTGGCCGGAAGGTCAT
+CTTTCGCTGGAGGCGAGCTACGGCCCCGTCATCTGGTCATCCAGCCTGTTTGTCGCAGACCATCAGGAGA
+ACGCCCACAGCCTCTACCGCAGACCGGAGATCCTGCGCGATCTGCCGGGTCTGACGCGCAGCGCGGCGCC
+CCTGAGCTGGCGCGACTGCTGCGAAACCGCCGGGCCGGAGGGCGTCAGCTGGTTGCTACACCAGTTGCGC
+AGCCATCTGGCGGGCGAACATCCACCAGCGGCCTGCCAAAGCGTACATCAGATCGCGTTATCACGTTTAT
+GGCAGCAGATTTTACGTAAGACCGGCAATGCGGAGATCAGACGCCTGACGCCGCCGCACCACGACCGGTT
+AGCCGGTTTCTACAACGATGATGATAAGGAGGCGCTGTGACGCAATCTGCAATGTGCATCCCGCTGTGGC
+CCGCCCGGAACGGCAATACTGCGCATCTGGTCATGTGCCCTTTCGCTGGCGGCAGCAGTAGCGCGTTTCG
+CCACTGGCAAGCTGAGCAACTGGCTGATTGCGCGCTTTCTCTGGTGACCTGGCCGGGGCGCGATCGCCTT
+CGCCATCTGGAACCGCTCAGAAGCATTACACAACTGGCGGCACTGCTGGCGAACGAGCTGGAAGCATCCG
+TATCGCCTGACACGCCGCTTTTACTCGCCGGGCACAGCATGGGGGCGCAGGTGGCGTTTGAAACCTGCCG
+ACTTCTGGAGCAACGGGGGCTTGCGCCACAAGGACTGATTATTTCCGGGTGCCATGCCCCGCATCTGCAT
+TCTGAACGCCAGCTCAGCCATCGCGATGATGCCGACTTTATCGCTGAGCTGATAGACATTGGCGGATGTT
+CTCCTGAACTGCGGGAAAACCAGGAATTAATGTCGCTGTTTCTTCCTCTTCTGCGCGCTGATTTTTACGC
+CACCGAGAGCTATCACTACGACTCGCCCGACGTCTGTCCGCCGCTGCGCACGCCTGCGCTGTTATTGTGC
+GGCAGCCACGATCGCGAAGCCTCCTGGCAGCAGGTCGATGCCTGGCGTCAGTGGCTGAGCCACGTTACAG
+GCCCGGTGGTGATTGACGGCGATCATTTCTATCCCATTCAACAAGCCCGGTCCTTTTTTACGCAGATTGT
+CCGCCATTTTCCCCACGCATTTTCTGCAATGACCGCGTGGCAAAAACAGCCCAGTACTTCAGAAAGGTGA
+CGCATGAATTCTTCCTTTGAATCTCTGATTGAACAGTATCCCTTACCCATTGCCGAACAGTTGCGCCACT
+GGGCGGCCCGTTATGCCTCGCGAATTGCCGTCGTTGATGCAAAGGGGTCGTTAACCTACAGCGCGCTTGA
+TGCACAAGTTGACGAACTTGCCGCAGGTCTGTCATCACTGGGTTTGCGTTCGGGGGAGCATGTAATTGTG
+CAGCTTCCCAACGACAACGCGTTTGTTACCCTGCTGTTCGCCTTGTTAAGACTGGGCGTTATCCCCGTGC
+TGGCGATGCCCTCGCAACGGGCGCTGGATATCGACGCGCTGATTGAGCTGGCGCAACCCGTCGCTTACGT
+TATTCACGGGGAAAACCACGCAGAGCTGGCCCGACAGATGGCGCACAAACACGCCTGCTTGCGTCATGTT
+CTGGTCGCTGGAGAGACCGTGAGCGACGATTTTACGCCGCTCTTCTCCCTTCACGGTGAGCGACAGGCAT
+GGCCGCAGCCTGATGTTTCCGCCACCGCGTTGTTGTTGCTCTCAGGCGGCACAACCGGCACGCCCAAACT
+CATCCCGCGCCGACATGCCGACTATAGCTATAACTTCAGCGCTTCTGCTGAACTGTGCGGCATCAGCCAA
+CAGAGCGTGTATCTCGCCGTCCTCCCGGTGGCGCATAACTTTCCGCTGGCCTGCCCCGGTATTCTGGGAA
+CGCTTGCCTGCGGCGGAAAAGTGGTGCTGACCGACAGCGCCAGCTGTGATGAGGTGATGCCTTTAATCGC
+GCAGGAAAGAGTGACTCACGTCGCCCTGGTTCCGGCGCTGGCGCAATTATGGGTGCAGGCCAGGGAGTGG
+GAAGACAGCGACCTTTCGTCGCTGCGCGTCATTCAGGCAGGCGGCGCCCGGCTCGACCCGACGCTTGCTG
+AGCAGGTTATCGCCACCTTTGACTGTACCCTGCAACAGGTTTTCGGTATGGCGGAAGGCCTGCTCTGTTT
+TACCCGGCTGGACGATCCGCATGCCACCATTCTCCACAGCCAGGGGCGCCCGTTGTCCCCTCTGGATGAA
+ATCCGCATCGTTGATCAAGACGAGAACGACGTCGCGCCGGGCGAAACCGGGCAATTGTTAACGCGCGGCC
+CTTATACCATTTCGGGCTATTACCGCGCCCCTGCCCACAATGCGCAGGCCTTTACCGCGCAAGGGTTTTA
+CCGCACAGGCGACAATGTCAGGCTGGATGAGGTGGGGAACCTGCACGTTGAGGGACGCATAAAAGAGCAG
+ATCAACCGCGCCGGAGAAAAAATAGCCGCGGCTGAAGTGGAATCGGCACTGCTGCGTTTAGCGGAAGTGC
+AAGATTGCGCGGTGGTCGCCGCGCCGGACACGCTGCTTGGCGAGCGGATTTGCGCGTTTATCATCGCGCA
+GCAGGTGCCAACTGACTATCAGCAGTTGCGTCAACAACTGACCCGTATGGGGCTCAGCGCGTGGAAAATT
+CCTGACCAAATCGAGTTTCTGGACCACTGGCCGCTCACCGCCGTCGGCAAGATAGACAAAAAACGCCTGA
+CGGCTCTCGCCGTCGACCGTTATCGCCATTCTGCCCAATAAGCGCAAACCGACCCGAAACAGGTTGAAAT
+AAACCCGTTTCGGGTAGCACCACTATTAGAAATAGTTATCATTTTCAATTCACCATTGTCGGTATTTTTG
+GCGTTTCGCCGTCTTACAGGGACTCACAACAATGAAAATGACACGGCTTTATCCTCTGGCCTTGGGGGGA
+TTATTGCTCCCCGCCATTGCTAATGCCCAGACTTCACAGCAAGACGAAAGCACGCTGGTGGTTACCGCCA
+GTAAACAATCTTCCCGCTCGGCATCAGCCAACAACGTCTCATCTACTGTTGTCAGCGCGCCGGAATTAAG
+CGACGCCGGCGTCACCGCCAGCGACAAACTCCCCAGAGTCTTGCCCGGGCTCAATATTGAAAATAGCGGC
+AACATGCTTTTTTCGACGATCTCGCTACGCGGCGTCTCTTCAGCGCAGGACTTCTATAACCCCGCCGTCA
+CCCTGTATGTCGATGGCGTCCCTCAGCTTTCCACCAACACCATCCAGGCGCTTACCGATGTGCAAAGCGT
+GGAGTTGCTGCGAGGCCCACAGGGAACGTTATATGGCAAAAGCGCTCAGGGCGGGATCATCAACATCGTC
+ACCCAGCAGCCGGACAGCACGCCGCGCGGCTATATTGAAGGCGGCGTCAGTAGCCGCGACAGTTATCGAA
+GTAAGTTCAACCTGAGCGGCCCCATTCAGGATGGCCTGCTGTACGGCAGCGTCACCCTGTTACGCCAGGT
+TGATGACGGCGACATGATTAACCCCGCGACGGGAAGCGATGACTTAGGCGGCACCCGCGCCAGCATAGGG
+AATGTGAAACTGCGTCTGGCGCCGGACGATCAGCCCTGGGAAATGGGCTTTGCCGCCTCACGCGAATGTA
+CCCGCGCCACCCAGGATGCCTATGTGGGATGGAATGATATTAAGGGCCGTAAGCTGTCGATCAGCGATGG
+TTCACCAGACCCGTACATGCGGCGCTGCACTGACAGCCAGACCCTGAGTGGGAAATACACCACCGATGAC
+TGGGTTTTCAACCTGATCAGCGCCTGGCAGCAGCAGCATTATTCGCGCACCTTCCCTTCCGGTTCGTTAA
+TCGTCAATATGCCTCAGCGCTGGAATCAGGATGTGCAGGAGCTGCGCGCCGCAACCCTGGGCGATGCGCG
+TACCGTTGATATGGTGTTTGGGCTGTACCGGCAGAACACCCGCGAGAAGTTAAATTCAGCCTACGACATG
+CCGACAATGCCTTATTTAAGCAGTACCGGCTATACCACCGCTGAAACGCTGGCCGCATACAGTGACCTGA
+CCTGGCATTTAACCGATCGTTTTGATATCGGCGGCGGCGTGCGCTTCTCGCATGATAAATCCAGTACACA
+ATATCACGGCAGCATGCTCGGCAACCCGTTTGGCGACCAGGGTAAGAGCAATGACGATCAGGTGCTCGGG
+CAGCTATCCGCAGGCTATATGCTGACCGATGACTGGAGAGTGTATACCCGTGTAGCCCAGGGATATAAAC
+CTTCCGGGTACAACATCGTGCCTACTGCGGGTCTTGATGCCAAACCGTTCGTCGCCGAGAAATCCATCAA
+CTATGAACTTGGCACCCGCTACGAAACCGCTGACGTCACGCTGCAAGCCGCGACGTTTTATACCCACACC
+AAAGACATGCAGCTTTACTCTGGCCCGGTCGGGATGCAGACATTAAGCAATGCGGGTAAAGCCGACGCCA
+CCGGCGTTGAGCTTGAAGCGAAGTGGCGGTTTGCGCCAGGCTGGTCATGGGATATCAATGGCAACGTGAT
+CCGTTCCGAATTCACCAATGACAGTGAGTTGTATCACGGTAACCGGGTGCCGTTCGTACCACGTTATGGC
+GCGGGAAGCAGCGTGAACGGCGTGATTGATACGCGCTATGGCGCACTGATGCCCCGACTGGCGGTTAATC
+TGGTCGGGCCGCATTATTTCGATGGCGACAACCAGTTGCGGCAAGGCACCTATGCCACCCTGGACAGCAG
+CCTGGGCTGGCAGGCGACTGAACGGATGAACATTTCCGTCTATGTCGATAACCTGTTCGACCGTCGTTAC
+CGTACCTATGGCTACATGAACGGCAGCAGCGCCGTCGCGCAGGTCAATATGGGTCGCACCGTCGGTATCA
+ATACGCGAATTGATTTCTTCTGATTATTGTAAAAGGGATACCGAAAAGGTATCCCTTTTACACCACTAGT
+TAAAACCAGTAACTCAGCAAAGTCGCAAAAAATATTAATCCATAGTGATTATTTAAACAATGAAATTGCG
+ATTAGGATAAATAGATTTAACTTTCTCGTTCCTTTCTCTCCTTATACTAAAGAAATAATCATATCAAAAT
+AAAAATTCACAACAGTGCAACATTAAAAAATACAACCAACAAACAATCCTATATACAAGGCACATCTCCA
+GAATATAAAAGCACAGACAAACAACCTAAAAAAAAACCATACATATAAATTATTTTATAGGTAAAATAGA
+TTATATATTCTCATAGCTACCACAAACTATACTAGCCTGAACTATATTTATTCTGCTGCAATCAATGCAT
+ACATAACACAAATATCACTCAGGTACACTACTCAAACCACGCTGGGATTTTTCCTCAAGTTATAATCATC
+ACCCCGAAAATCATTCGGCATTTACTCATTAAATAGTCACCCCATAGGCCTGTACATGTTTACTCAGAAA
+TATACATCCTTTTCTCTGTCATAAACCCTCTGATTAATCATAGATAAATACTTGTGACACCAATCTTTTT
+CCTTAAAGGAACGAATTGTTGTGTAGAAGGAGATAATATTATGTCAAAAAAATATCAGCCTTTGCTTATA
+ACTCATTATATGTCAACATGGGTCACTATAACGGAAGCAGTTGAGATCACTACCAAAGCCATAAAACAAA
+AAATTACTCCTAGCGATATTTATCGTCATGCCTTGAGTGGCAACATCCTACTATCGGTCTATTTCCAGTC
+TCCTGTGATACTTAAGAAGATACAAACTTTTAATGGAAAAATAAAATTCAGGCAGTTTGTGGGAGACCTA
+CTTGATAAACTATGCATGCTTGACAGGGACGGTTTTATTTATGGTCAAAATTTAAGACTCTGTACAGAAG
+CCAGATATATTTGTCCTGTGCAACAAATTATAGATACCCCCCTGTTACGCAAACTCAACCAGTTTCGTAC
+GTTTGTTCGTAATGTCCGCCCGGGTGATGAACTGGATGTCCCGGCACAAGTTAGTGAAAAAAATTTAACC
+CCGCCGCCGGGTAACAGCAGTGGCAACCTTGAGCAACAGATAGCCAGTACTTCACAGCTAATTGGATCTC
+TGCTCGCCGAAGATATGAACAGCGAGCAAGCGGCAAACATAGCACGTGGATGGGCCTCTTCTCAGGCTTC
+AGGGGTAATGACAGACTGGTTAAGCCGCTTCGGTACCGCAAGAATCACGCTGGGCGTGGATGAAGATTTC
+AGCCTGAAGAACTCCCGTGACGGCAACCCTCGAAAATGGCGATTCGATGCAACAAACAGTGAACTATGTG
+CCGAACGTCACGAATGCTGAAATCACGCTGGCAGCCTCGAAGGATCCGGTGATTGCCGACAATAACGATC
+TCACGACACTAACAGCACCGTCGCTGATACAGAGGGCAATGCGATAGCCAACACTGAGGTAACATTTACT
+CTACCGGAAGATGTGAAGGCGAACTTCACGCTGAGCGATGGCGACAAAGCGGTTACTGATGCCGATGGCA
+AAGCGAAAGTCACGCTGAAAGGTACAAAAGCAGGCGCTCATACCGTGACAGCATCGATGGTTGGCGGTAA
+GAGTGAGCAGTTGGTGGTGAACTTTACTGCGGATACGCTCACTGCGCAGGTTAATCTTAACGTTACCGAG
+GACAATTTCATCGCCAATAACATTGGAATGACCAGGCTACAGGCAACAGTGACTGATGGAAACGGCAACC
+CAGTAGAAGGTATAAAAGTTAATTTCCGCGGAACCTCCGTCACGCTAAGCAGCACCAGCGTTGAAACGGA
+TGATCAGGTTTTCGCTGAAATTCTTGTGACAAGCACCGAGGTCGGACTAAAAACAGTTTCAGCCTCTCTG
+GCAGATAAACCTACTGAAGTCATCTCGCGATTACTGAATGCCAAGGTAGATGTTAATTCTGCGACGATTA
+CCAGTCAGGAGATACCTGAAGGTCAGGTCATGGTCGCACAAGACATAGCAGTTAAAGCTCACGTTAACGA
+CCAGTTTGGCAACCCGGTGACGCATCAACCCGCGACATTCAGTGCAGCGCCATCCTCGCAAATGATCATC
+AGCCAGAATACGGTCTCTACTAATACGCAGGGAGTAGCCGAGGTCACCATGACGCCTGAAAGAAACGGCT
+CGTATACTGTAAAAGCATCCCTAGCGAATGGAGCTTCACTTGAGAAACAACTGGAGGCTATTGATGAAAA
+ACTGACACTCACGTCCAGTCCGCTTATCGGTGTCAATGCTCCTAAAGGCGCTACTCTGACGGCAACGCTA
+ACCTCTGCAAATGGCACTCCAGTGGAGGGTCAGGTCATCAACTTTAGCGTAACGCTAGAAGGTGCGACGT
+TAAGTGGCGGAAAAGTGAGAACCAACTCTTCAGGTCAGGCTCCAGTCGTTCTGACCAGCAATAAAGTCGG
+TACATATACGGTGACTGCATCGTTCCATAACGGCGTCACAATACAGACACAGACAACCGTGAAGGTTACT
+GGCAACCCAAGCACCGCACATGTTGCTAGCTTTATCGCTGATCCGTCGACTATCGCCGCCACCAACAGTG
+ATTTAAGTACCTTAAAGGCAACGGTTGAGGATGGCAGTGGTAACCTGATCGAAGGTCTCACTGTGTACTT
+CGCCTTAAAAAGCGGCTCCACCACATTAACGTCATTAACAGCGGTGACCGATCAAAACGGAATCGCGACA
+ACAAGCGTGAAAGGTGAGATAACGGGGAGCGTCACTGTAAGCGCAGTCACAAGCGCAGGTGGAATGCAAA
+CAGTAGATATATCGCTAGTGGCAGGCCCAGCAGACGCCTCGCAGTCCATCCTTAAGAACAACCAGTCATC
+ACTGAAAGGGGACTTTACCGATAGTGCTGAGCTACATCTTGTTCTGCACGATATATCAGGCAATCCGATC
+AAAGTTTCTTAAGGGATAGAATTTGTGCAATCAGGTACAAACGTGCCCTATATGAAAATTAGCGCAATTG
+ATTACAGTCAAAATATCAACGGTGATTACAAAGCTACTGTTACAGGAGGCGGAGAGGGTATCGCAACGCT
+GATCCCCGTATTGAATGGTGTTCATCAGGCGGGTCTGAGTACCACGATAGAATTCATTAGCGCGGAAACC
+AGACCAATGACGGGTACAGTGTCAGTGAATAGTGCAAACCTACCGACAGCTTCATTCCCTTCGCAGGGAT
+TTACCGGGGCGTATTATCAGTTGAATAATGACAACTTTGCACCAGGAAAAACGGCGGCTGATTATTCGTT
+TTCAAGCTCGGCCTCCTGGGTAGGCGTTGATGCTACTGGTAAAGTGACATTCAAAAATGACGGTGATAGC
+AATACTGTAATAATCACAGCGCCCCCAAGATCCGGTGGTGCTATTTACCAAACAGTTCCTCCTGAATCGC
+GTTCGGTGTGACTATGATCATTTTCGGTGAGTATTGCTTTGATCCAAAGGCTGGTTTTCTGTGATGATTG
+ACCAGCCTCAGAGTATTGATGACACCACCGTTCATAACAGATCGGCATTACTATGCATAAGTACTGCCTC
+AAATTCTCGCCAAAACACTTTTTAATGCCTTTGCGAATTCATCCAGACTTATATTGTCAATTTTTTGCCC
+AACGACGACTGACTCCGAAACATCGGCCATTGCGGGCCATCGCGTTTTGTAATCAGCATAAATTGCAACA
+ACAGGGGTATTATAGGCACTTGCCATATGTAATATTGAGGTGTCAGGAGTTATTGCAATATAAGCATCTT
+TTATGATTGCTGCTGAACGTTTAATCGAGGGTGATAAGGATAAACGGTAGACATTATTATAACAATCCAC
+TAATGCCCTGGCTTTATCTTCCCCTTTGGGTCCATAAACGATCACTATTGGAATATCTGTTTCACTTTGA
+ATTTTTGCTATTAGATTTTCTGCAATCGATAATGAAAATGTACGTTCCTGCGAGCTACCGTCTAAATTGA
+GCGCAATGTAAGATCCTAACGATCGCATTTCCTCGCGTACCTCATCGAGTACATCATCGCTTAATGGCAA
+TTCATATATTGACCTGACTGCCGGAAAACCCGCCTCACGCATCATAAATGCCCATGTCATGGGTACAGGA
+GTCCGGAGATTCTGATCCATCCGGGACGCGTTCTTACACAAAGGGGAATAGCACTTCATGGTTAAACCGA
+CGACCTGGAAATTCGTTTTTGCTTTCAACTGACTGATAAATATCATCGTTTTCAGGTTCTTTTTACGCAT
+CGCCTCTATACAAAGATCCGGCGTACCGTATTGCAGTGTTATGTTCTTCGCTAAATCTTTTATTTCTTTT
+AATGTTGCGTGATCCTGCATAGTCATTGTGACTAATGTTAATTTAGTCTGTTCAAGTTTGAGCGCATTAA
+AGACTTCTAAATTAATTGTCGACGTAACAATTAATAGATGCTTAATTTTATGCAATTCAAGCGCCCGAAT
+AACAGGAAAGATGGCCATAGCATCGCCAATCTGATCGGGAATATGTATGACAACAAAGTCTGTTTTTTCA
+ATATTAAAATTATAAGCTTTATAATCGTAGTAACTAAATGCAATACGTCTCAACAATGATACTAAAAACA
+TAACTAACCTCGCCTCCCTACTGGTTATAATGCAATGCAGTCTATCAGAATCATCAGGGTGCAATTTTGT
+GCATATGCGGACTTTTATGTTTCATATCTCGAACCTGTGGGCCCTCTGCTTAATCCTTAAACAACACCAG
+CAACTCCTGCGCTTTCATCTTCCATCGAATTTTTCATGTTGCCGCTAATCAGCCATAAAATCATTTGCAG
+ATGCGCTCTGTCGAGGTAGTCTCATAAGGTTCGTTTATAGATCGACGGCAATGTGAGTTACCTTTTCCAT
+ACTAATTATAAAAAGACAGTACAAACAGGATCATTATGGACTCCACGCTCATCTCCACTCGTCCCGATGA
+AGGGACGCTTTCGTTAAGTCGCGCCCGACGAGCTGCGTTAGGCAGTTTCGCTGGTGCCGTCGTCGACTGG
+TATGATTTTTTACTCTATGGCATTACCGCCGCACTGGTGTTTAATCGCGAGTTTTTCCCGCAAGTAAGCC
+CGGCGATGGGAACGCTCGCCGCATTTGCCACCTTTGGTGTCGGCTTCCTTTTCCGACCGCTCGGCGGTGT
+CATTTTCGGTCACTTTGGTGACCGGCTGGGACGTAAGCGCATGTTAATGCTGACCGTCTGGATGATGGGC
+ATCGCGACAGCCTTGATTGGTATTCTTCCTTCATTCTCGACCATTGGGTGGTGGGCACCTATTTTGCTGG
+TGACACTGCGTGCCATTCAGGGATTTGCCGTCGGCGGCGAATGGGGAGGCGCAGCGTTGCTTTCCGTTGA
+AAGTGCGCCGAAAAATAAAAAAGCCTTTTACAGTAGCGGTGTACAAGTTGGCTACGGAGTAGGTTTACTG
+CTTTCAACCGGACTGGTTTCATTGATCAGTATGATGACGACTGACGAACAGTTTTTAAGCTGGGGCTGGC
+GCATTCCTTTCCTGTTTAGCATCGTACTGGTACTGGGAGCATTGTGGGTGCGCAATGGCATGGAGGAGTC
+CGCGGAATTTGAACAACAGCAACATAATCAAGCGGCCGCGAAAAAACGCATCCCGGTTATCGAAGCTCTG
+TTACGACATCCCGGTGCTTTCCTGAAGATTATTGCACTACGACTGTGCGAGTTGCTGACGATGTACATTG
+TTACTGCCTTTGCACTTAATTATTCAACCCAGAATATGGGGTTACCGCGCGAACTTTTCCTTAATATTGG
+TTTGCTGGTCGGTGGATTAAGCTGCCTGACAATTCCCTGTTTTGCCTGGCTTGCCGATCGTTTTGGTCGG
+CGCAGGGTTTATATCACAGGCGCGTTGATCGGAACGTTGAGCGCATTTCCTTTCTTTATGGCGCTTGAAG
+CACAATCTATTTTCTGGATAGTTTTCTTCTCCATAATGCTGGCAAACATTGCGCATGACATGGTGGTGTG
+TGTGCAACAACCGATGTTTACCGAAATGTTTGGTGCCAGTTATCGCTACAGTGGTGCTGGAGTCGGTTAT
+CAGGTTGCCAGTGTGGTTGGCGGTGGATTTACGCCTTTTATTGCCGCTGCACTCATCACTTACTTTGCCG
+GGAACTGGCATAGCGTCGCTATTTATTTGCTGGCTGGATGCCTGATTTCCGCAATGACCGCTTTGTTGAT
+GAAAGACAATCAACGCGCTTAATAGCCTGGCGAAGATCATCCGATCTTCGCCTTACACTTTTGTTTCACA
+TTCCTGTGACATACTATCGGATGTGCGGTAATTGTATGGAACAGGAGACACACATGAATAATAAGGGCTC
+CGGTCTGACCCCAGCTCAGGCACTGGATAAACTCGACGCGCTGTATGAGCAATCTGTAGTTGCTTTACGC
+AACGCCATTGGCAAATATATTACAAGTGGCGAATTACCTGATGAAAACGCCCGCAAACAAGGTCTTTTTG
+TCTATCCATCACTGACCGTAACCTGGGACGGTAGCACAACTAATCCCCCCAAAACGCGCGCATTTGGTCG
+TTTTACTCACGCAGGCAGTTACACCACCACGATTACTCGCCCTACTCTCTTTCGTTCGTATCTCAATGAA
+CAACTTACGTTGCTGTATCAGGATTATGGTGCGCATATCTCTGTGCAACCCTCGCAGCATGAAATCCCTT
+ATCCTTATGTCATCGATGGCTCTGAATTAACACTTGATCGCTCAATGAGCGCTGGTTTAACTCGCTACTT
+CCCGACAACAGAACTGGCGCAAATCGGCGATGAAACTGCAGACGGCATTTATCATCCAACGGAATTCTCC
+CCGTTATCGCATTTTGATGCTCGCCGGGTTGATTTTTCCCTCGCACGGTTGCGCCATTATACCGGTACGC
+CAGTAGAACATTTTCAACCGTTCGTCTTGTTTACCAACTACACACGTTATGTGGATGAATTCGTTCGTTG
+GGGATGCAGCCAGATCCTCGATCCTGATAGTCCCTACATTGCCCTTTCTTGTGCTGGCGGGAACTGGATC
+ACTGCCGAAACCGAAGCGCCAGAAGAAGCCATTTCCGACCTTGCATGGAAAAAACACCAGATGCCAGCAT
+GGCATTTAATTACCGCTGATGGTCGGGGTATTACTCTGGTGAATATTGGCGTGGGACCGTCCAATGCTAA
+AACCATCTGCGATCATCTGGCAGTGCTACGCCCGGATGTCTGGTTGATGATTGGTCACTGTGGCGGATTA
+CGTGAAAGCCAGGCCATTGGAGATTATGTCCTTGCACACGCTTATTTACGCGATGACCACGTTCTTGATG
+CGGTTCTGCCGCCCGATATTCCTATTCCGAGCATTGCTGAAGTGCAACGTGCGCTTTATGACGCTACCAA
+GTTAGTCAGCGGCAGGCCTGGTGAGGAAGTCAAACAGCGGCTGCGTACAGGTACTGTGGTAACCACAGAT
+GACAGGAACTGGGAGTTACGTTACTCAGCTTCTGCACTTCGTTTTAACTTAAGCCGGGCCGTAGCAATTG
+ATATGGAAAGTGCAACCATTGCCGCGCAAGGATATCGTTTCCGCGTGCCATACGGGACACTACTGTGTGT
+TTCAGATAAACCGTTACATGGTGAGATTAAGCTTCCCGGCCAGGCTAACCGTTTTTATGAAGGCGCTATT
+TCCGAACACCTGCAAATTGGCATTCGGGCGATCGATTTGCTGCGCGCAGAAGGCGACCGACTGCATTCAC
+GTAAATTACGAACCTTTAATGAGCCGCCGTTCCGATAATAAGTTATGAACCTTCTTATCAGAAATAGATG
+TGAAGGATTAAGTAAGACATCTGGCAAATAGCCTGCAATAAACGCGGGCTGTTTGCTTCCTTGGGCAGAT
+GCGAGTTTTATTATCGTCTTAATGATTTCCACATATTAAAAGCAAGTATGCTTTCAAAACACAATTATAA
+AAAATCCCGCCAACAACATTAGTTTTTATAAAATTAAATATAAGATTATGGCTTTAGAATATTTTTATTT
+CTAATAGACGAGATTTTTCCTGTTATGATATAATATGCTGAATTAACACATGTTAACGATTTACCAGTAA
+TGTAAATAAATTTTCGAGGAGATCATTCCAGTGGGACGTAAATGGGCCAATATTGTTGCTAAAAAAACGG
+CTAAAGACGGTGCAACGTCTAAAATTTATGCAAAATTCGGTGTAGAAATCTATGCTGCTGCCAAACAAGG
+TGAACCCGATCCAGAATTAAACACATCTTTAAAATTCGTTATTGAACGTGCAAAGCAGGCACAAGTTCCA
+AAGCACGTTATTGATAAAGCAATTGATAAAGCCAAAGGCGGTGGAGATGAAACGTTCGTACAGGGACGTT
+ATGAAGGCTTTGGTCCTAATGGCTCAATGATTATTGCTGAGACATTGACTTCAAATGTTAACCGTACGAT
+TGCTAACGTTCGCACAATTTTCAATAAAAAAGGCGGCAATATCGGAGCGGCAGGTTCTGTCAGCTATATG
+TTTGACAATACGGGTGTGATTGTATTTAAAGGAACAGACCCTGACCATATTTTTGAAATTTTGCTTGAAG
+CTGAAGTTGATGTTCGTGATGTAACTGAAGAAGAAGGTAATATTGTTATTTATACTGAACCTACTGACCT
+TCATAAAGGAATCGCGGCGCTAAAAGCAGCTGGAATCACTGAGTTCTCAACAACAGAATTAGAAATGATT
+GCTCAATCTGAAGTTGAGCTTTCCCCAGAAGATTTAGAAATCTTTGAAGGGCTTGTTGATGCCCTTGAAG
+ATGACGACGATGTACAAAAAGTTTATCATAACGTCGCAAATCTCTAATTATATGTTAAAGAAATCTGTCT
+TTATGGCAGATTTCTTTAATCTCATATAATCCTTATAAAAATATAATGTTTAACTCGTCATATTGCTTAT
+AAAAAATCCCCGTTCCCAGAGAAATAATATTTATTAAAATGGCAGGTCTTCTTTTTCTGATTACCGAAGA
+CAAAGTGGCAATTACGTATAGTTTCCCGATAAAGACGCGACAGCTACATCCCGCATAAGGCATTTTTCTC
+TTTATCTTTGTACGGTACTTCATGGAACAGAATTTTTGACCTTGTGAATCGTGATGTCTGTTGGGGAGGG
+GCAATTTGCTCACTGAAGCGTGAGACTCGATTAAGCGCACGAAACACAGAAATCAAAAACCCGACCACTT
+TTTTACAAAGTGACCGGGTAAAAATAATTTTTATTTTTTAACTGTCCTGAGACTCATAGAGATGTCTCAA
+AACTAAAATTTGGCTCCTCTGACTGGACTCGAACCAGTGACATACGGATTAACAGTCCGCCGTTCTACCG
+ACTGAACTACAGAGGAATCGTGTGAACGGGGCGCATATTAATGGCAGTGCATGGTGATGTCAAAGGGTGA
+AATGCATTTTTTTGTTTGTTTGCTGACAATTTCAACAAAGTGGTGAGCTTTCAATCTTATTGGGTAATGA
+ACCATCGTGGTGCATACCCCCCTTTTATAGGGCAGGTGAATGCGACTGCTGATAAAAAGGGCCAATGACG
+AATCTATCATAATCTCTTATTTGACAGTTGGTTAGCTTGCGCATCAACGCTAAAATAGAACTGGCAAGCA
+TCTTGCATTCTGGTTGTAAGTAATGGCGGCACTTGGGCCGATTCTTAAAAACCGGAGGCAACATGAACTT
+CAGACGCCTGAAATACTTCGTAAAAATTGTAGATATTGGTAGCCTGACCCAGGCTGCTGAAGTATTGCAT
+ATTGCACAACCAGCGCTCAGCCAGCAGGTTGCCACACTGGAAGGTGAGTTAAATCAACAGCTTTTGATTC
+GCACAAAACGGGGCGTTACGCCAACAGGCGCCGGAAAAATTCTCTATACCCATGCACGGGCCATTTTACG
+TCAGTGTGAGCAGGCCCAACTGGCGGTGCATAACGTTGGTCAGTCATTATCGGGGCAAGTCTCGATTGGC
+TTTGCGCCAGGAACCGCTGCGTCATCCATCACCATGCCCTTATTACAGGCGGTTCGCGCTGAATTCCCGG
+AGGTCGTTATCTATCTTCATGAAAATAGTGGTGCAGTGCTTAACGAAAAACTGATAAATCACCAACTCGA
+TATGGCGGTGATTTATGAGCATTCCCCTGTGGCTGGGGTATCCAGTCAGGCTTTGCTGAGAGAAGATCTT
+TTCCTGGTAGGAACTCAAGATTGCCCGGGGCAAAGCGTTGATGTTAATGCTATTGCGCAAATGAACCTTT
+TTCTCCCCAGTGATTACAGCGCTGTTAGACTTCGTGTTGATGAGGCTTTTTCCCTACGGCGGCTCACGGC
+AAAAGTCATTGGTGAAATTGAGTCTATTGCCACGCTTACCGCAGCGATTGCCAGCGGCATGGGCGTTGCA
+GTATTACCTGAATCGGCTGCGCGTTCGTTATGTGGCGCAGTAAATGGGTGGATGTCACGCATTACCACTC
+CTTCAATGAGTCTCTCTTTGTCCTTAAATTTACCCGCCAGAGCAAACTTGTCACCACAGGCACAGGCAGT
+GAAAGAGTTGTTAATGTCAGTGATTAGTTCTCCAGTGATGGAAAAAAGGCAGTGGCAATTGGTGAGCTAA
+GCGTTATATCGGGATGGAATAAGATGCGGGTTTTTATTATTTGTTATGCCGGGCATTAGACTTTAACAAT
+AACGGGATATCTGAACTGCCCGGAGTTTACCGTGAATTTCCAACAACTAAAGATAATCCGCGAGGCTGCA
+CGTCAGGATTACAACCTGACAGAGGTTGCGAATATGCTTTTTACCTCACAGTCAGGCGTTAGCCGTCATA
+TTCGGGAACTGGAGGATGAACTTGGCATCGAAATATTTGTTCGACGAGGTAAGCGACTGCTGGGCATGAC
+TGAACCGGGCAAAGCATTACTGGTCATTGCAGAACGCATTCTGAATGAAGCCAGTAATGTTCGTCGGCTC
+GCAGACCTGTTTACCAACGATACGTCTGGCGTTCTCACTATTGCAACGACGCATACTCAGGCACGTTATA
+GCTTGCCTGAGGTCATTAAAGCTTTTCGCGAACTTTTCCCGGAGGTTCGGCTGGAGCTAATCCAGGGTAC
+ACCACAGGAAATTGCGACGTTGTTGCAAAATGGCGAAGCTGATATTGGTATCGCCAGCGAGCGTTTGAGT
+AATGACCCGCAGCTCGTCGCCTTCCCGTGGTTTCGTTGGCACCATAGTTTGCTTGTTCCACTCGATCATC
+CCTTGACGCAAATTACACCGTTGACGCTGGAATCAATAGCGAAGTGGCCGTTAATTACTTACCGACAGGG
+GATTACGGGGCGCTCACGCATTGATGACGCATTTGCCCGCAAAGGTTTGCCGGCAGATATTGTATTAAGT
+GCACAGGATTCTGATGTCATTAAAACCTATGTTGCTCTTGGGCTTGGGATCGGATTAGTTGCCGAACAAT
+CCAGCGGCGAACAAGAGGAAAAGAATTTAATCCGCCTGGATACGCGGCATCTTTTCGATGCTAATACTGT
+CTGGTTGGGACTGAAGCGAGGGCAACTTCAGCGTAACTATGTCTGGCGCTTTCTGGAACTTTGTAATGCA
+GGACTGTCAGTTGAGGATATCAAGCGCCAGGTGATGGAAAACAGTGAAGAGGAAATTGATTATCAGATAT
+AGCAAAAAGCCCGCTATAAAAGCGGGCTTTTCAGAAATTTGGCTCCTCTGACTGGACTCGAACCAGTGAC
+ATACGGATTAACAGTCCGCCGTTCTACCGACTGAACTACAGAGGAATCGCTGTTGAGGCACATCTTAACG
+GCGAAAAATATTTTGTCAAACCCGATTTTTAAATTTCCCAACTGTTTGCCGTTTCTATCAACAGTTTGTT
+GCATTTGCAGACAATTTGTTGGCGAAAATCTTTGCAGCTTTGCTGATTCTCCCTCATCATTTGAAATGTG
+GTTTCACTTTCTGCAATTAAGGTCGGCTTTGAATATCTCCTCTGCTTTACGCCAGGTTGTTCACGGCACT
+CGCTGGCACTCTAAACGCAAGAGCTACAAAGTGTTGTTCTGGCGCGAGATAACCCCGCTTGCTGTTCCTA
+TCTTCATGGAGAACGCCTGTGTCCTGTTGATGGGGGTCCTGAGCACTTTTCTGGTCAGCTGGCTGGGAAA
+AGATGCGATGGCCGGCGTGGGGTTGGCGGACAGCTTCAATATGGTCATTATGGCTTTTTTTGCAGCTATC
+GATCTTGGTACTACTGTCGTTGTAGCATTTAGTCTCGGTAAGCGAGATCGACGACGAGCGAGGGTGGCGA
+CGCGGCAGTCATTGGTGATCATGACGTTGTTTGCCGTACTGTTGGCAACGCTAATTCATCATTTTGGCGA
+ACAAATTATTGATTTCGTCGCGGGTGATGCCACGACAGACGTTAAAGCACTGGCGTTGACTTATCTGGAG
+CTGACCGTACTCAGTTATCCAGCAGCTGCCATCACTCTTATTGGTAGCGGGGCACTTCGTGGTGCAGGGA
+ATACGAAAATACCGCTACTGATTAACGGTAGCCTGAATATTCTTAATATTATTATTAGCGGCATATTGAT
+TTACGGCCTTTTCTCCTGGCCGGGACTGGGATTTGTCGGGGCTGGGTTGGGTTTAACCATTTCTCGTTAT
+ATTGGCGCAGTTGCAATTTTGTGGGTGCTGGCGATTGGTTTTAATCCTGCGCTAAGGATTTCGTTAAAGA
+GCTATTTTAAACCGCTGAATTTTAGCATTATCTGGGAAGTCATGGGGATTGGTATTCCAGCGAGTGTCGA
+ATCAGTGTTATTTACCAGTGGTCGGTTATTAACCCAAATGTTCGTTGCCGGGATGGGGACCAGCGTTATT
+GCCGGAAATTTTATCGCGTTCTCAATTGCGGCTCTTATCAACTTACCCGGAAGTGCGCTCGGTTCTGCTT
+CTACGATCATTACAGGCCGAAGGTTGGGGGTAGGGCAGATAGCGCAAGCAGAGATTCAGTTGCGGCATGT
+GTTCTGGCTGTCCACTCTTGGATTAACGGCCATCGCCTGGCTAACGGCTCCCTTTGCCGGGGTTATGGCA
+TCGTTTTACACCCAGGATCCACAGGTTAAACACGTCGTTGTGATTCTGATTTGGCTAAATGCTTTATTTA
+TGCCTATTTGGTCCGCCTCATGGGTGCTACCCGCTGGATTTAAAGGTGCTCGTGATGCCCGTTACGCCAT
+GTGGGTTTCGATGTTGAGCATGTGGGGTTGTCGGGTTGTAGTCGGTTATGTGCTGGGAATCATGCTTGGC
+TGGGGTGTGGTTGGCGTCTGGATGGGAATGTTTGCCGACTGGGCTGTGCGGGCCGTGCTGTTTTACTGGC
+GAATGGTTACTGGACGTTGGCTATGGAAATACCCTCGATCCGAGCCGCAAAAGTGTGAAAAAAAGCCAGT
+TGTATCGGAATAAACGACAAAATGCAGATTATTTCAGCAAACGATTTCAAATTTAAAAAACAGGCTTTGA
+CATTGTGGGTGGGCATCGCTAATATTCGCCTCGTTCTCACGATTCCTCTGTAGTTCAGTCGGTAGAACGG
+CGGACTGTTAATCCGTATGTCACTGGTTCGAGTCCAGTCAGAGGAGCCAATTTCCTGCTTTCATGCATCC
+TTGCGAATCCTTATGTTATTTTTATTCAACAGGTTAGCGTGAAAACTCTTCCCGGTGCATTTTGATTTTA
+CCCTCTGCATCGGGAAAAATTGGTGGTCAAATCTGGGGTCAGGTTAGTTCGATAATGGAGTGACCCCCAT
+ATGTCCCTTAACGACGCAAAAATCCGTAGTCTCAAGCCCACTGATAAACCCTTTAAAGTCTCCGATTCCC
+ACGGTCTGTATCTGCTGGTCAAACCAGGCGGTTCCCGTCTCTGGTATCTTAAATACCGTATTAATGGCAA
+AGAATCCCGTATTGCACTGGGTGCCTACCCTGCCGTCTCCCTGTCTGACGCCCGCCAGCAGCGCGAAGGC
+ATCCGTAAGATGCTGGCGCTGAACATCAACCCGGCGCAGCAACGTGCCGCTGAACGCGGCTCGCGCATGC
+AGGAGAAAATGTTTAAATCCGTGGCACTGGAGTGGCACAGTAGCAAGAAAAAATGGTCGCAGAATACCGC
+AGATCGCGTGCTTGCCCGTCTGAACAGACATGTCTTTCCGACCATCGGGCATCTACCAGTTACCGAGCTT
+AAATCACGTCATTTCATTGAATTACTGAAAGGCATTGAGGAAAAGGGCTTGCTTGAAGTTGCGTCCCGCT
+CGCGGCAACACCTCAGCAACATTATGCGTTATGCTGTTCATCAGGGGTTAATCGAAATCAACCCAGCTGC
+AAATCTTGACGGCGTGACGGCTTCTCCCGCCAGACGACATTATCCCACCCTGCCACTGGAGCGCCTTCCT
+GAGCTGCTTGAACGGATTGACAGTTATCACCAAGGACGGGAACTCACCAGGCTTGCAGTCCTGCTGACGT
+TGCATGTGTTCATTCGCTCAAGTGAACTGCGCTATGCTCGTTGGACAGAGATTAACTTCAGAAATCGGAT
+CTGGACGATACCTGCCACACGCGAAGCGATTGCAGGCGTACGTTATTCCAGTCGAGGTGCCAAAATGCGT
+ACACCGCATATTGTGCCCCTTTCTGAGCAGGTTATCTCTATTCTGAAAAGGATTAAGGAAATATCTGGCG
+GGTATGAACTGGTGTTCCCCGGCTATCATGACCCCTACAAGCCGATGAGTGAAAATACTATCAATAAGGC
+ACTTCGCCAGATGGGATACAACACGAAACAAGATATCTGCGGTCATGGTTTCCGGGCAATGGCGTGTAGC
+GCGCTGATGGAATCCGGTTTATGGTCGCAAGATGCAGTGGAGCGTCAGATGAGTCACCAAGAGCGCAACA
+CTGTGCGTCTGGCTTACATTCATAAGGCCGAACATATGGAAGCCCGCATGGACATGATGCAGTGGTGGTC
+GGATTATCTGGATATGTGCAGTGAAATCTGGGTGCCCCCGTACATCTGGAGTCAGCAAAACATTAATCTC
+GCAGTAACCTGACTTATGAATAATCTTGTAAAGAACCAGGCCGTATCAGCAAACGCTGATACGGCTTTTC
+ATCCACAGGCCGTTTTTCATCTTCTAAGTCGTCCAGGACATCATGGTTCTTAATACACATGCGTTCGCAT
+GTGCTTATGTTAAGTAGACTTATTGTCTTACACATTTTATCCGTATCATTAACCAGAATATGTTCCGGAG
+CAGCGGGTGATAGTGCCGCCAGTCCACACTCATCGCTGCCCGGAAAAATCATCAGTGGGGAGGCAAACGG
+TAAGCACCCCGCTATTCTGCAAGACATTTCTGCAGTTTATTTAACCTCCCCGAAGCATTTTTATAAGGCG
+AGGCGGTATTAAATTGAATCATACGACCTCGGGTCCATTTATTATACCAAGGTTTACCGTAAAGCTCGTC
+GTTACTGAATCGTTCAATCAAAGCCACGAGTTGCTGCTTATTTTCCTTTAACCGTGCCAATAAAACTTCG
+TACTCTGTAATATCCTCATAGTCACGGTAGAATTTCTGTGCTAAACGCCCCAATTCATTCCATTTAAATC
+CTTCCTCAGGAAAAATAATAGTTTTTCCTTTTGCCTCTTGGTCATGCCAGTGTAACACCAGCTCTCCCCA
+GCCAATCAGATAGGAAACCAGATTCGCTACGCTAATCGTAGTCCCCTTCGCGTGCCCTTCCAATAGAGGT
+TCAAAGGCGAGTTGGGGCGTAATAGATTCTAGCTTCTTATTTAATAAAGAAAAATTACTATTAATAGCTT
+TAATTAACTCTTCTTTTGATGATGGAACAGCCATATCTATTGCTCCTTGTATAGTTACACAACTATTTCT
+ACCCTACTATTTCGAGTGATTCAATCGTCTGGTTCACATAACCTACCACCTGTTCAAAATGCTTATCGAC
+AAAAAAATGATCGGCAGCAGGAAATATAATAGTCCGCGTCTTTCGTGTGGTGAATTTTTCCCATGCAAGT
+AATTCATCCTGCATTACCAGATTGTCAGCATCGCCATGAAATAGCACGATCGGACAGGTTAATGTGCGCG
+CCTTGGCCTGAAATACATACTGCTCATAGAGCCGATAATCGTTTTTAATGATGGGGGTGAAAATTGTCAT
+TAACTCTTTATTACGAAAGACATCAACCGGAGTTCCGCCCAGCTTGACGATCTCTTCCATAAACGCCTGA
+TCGGGCAAGGTATGCAGTATTACTTCATGAGAGGCCCGATCGGGTGGGCGACAGCCGGAAAAAAACAGCG
+CGCATGGCATGTCATGTCCATGATCGAGAATATAATGCACCAGTTCGAAGGCCATGATCCCTCCGAGACT
+ATGCCCAAAAATGGCGTAGTCTCCACCTGTGTAGTGTTTCACAAATTGTTGATAAAGGTCAGCGACGGCA
+TCCACCATCGTAAGACACAGCGGCTGGCGTATTCTAGTTCCCCTCCCCGCAGGTTCTAAAGGCCGCAAAG
+TAATATTGTCCGACAGCACGCTACGCCATTTATAATACATGGCGGCAGAACCACCTGAATATGGCAAACA
+ATACAAACTGATATTACTCATCGTCCCACTCCTTGTTGTGTAATAGAATTCGTTTAATTTGATGATTTAA
+TGTCAGAACGAAAGCTAACAGGATAATTCCGAACGGTATCGCCAACACGCTCGATGGACCCCATACCAAG
+ATAAAACGCCAGTCAAGTCCTGGAGATAGTATACCCGGTGCGACATAGAGCATGGCGGCCACGAGCCCAG
+GAACCGCCAAGGCGATGATATAGTCACGTACGCGTAAACGTAACCTCTGCTGTTTTCCAGGGCCATGCGC
+CGTTGCGCGATAAACACGGAAAGCACCGCGCACTACAACCACCGCCCCCCAAAAACACAGCAACAACGTG
+AGGTAGACGAAAAGGGTATCGGTGGCTGTAATTGCATCACCAGCGCCGTCAGCATATTTGCCAATGCGCA
+GATAATTATCGATATCCGCGCAAAGCTGTAGTATCAGATTCGAATTCATATTTGCCAGCGCAACAATGCC
+AATCTGCTGATCCGGTCGCAACGCAATGCAAGAAGAAAAGTTTGGATTCTGCCCACCGTGACTGATGTAA
+GGGCCTTGATTCTGGTCGATAAACCAACCGCTGGCATAGAGGATACGATTGTCTGCGGCAAGCGGAACAT
+CACTATTACCACGCCAACTGTTACTCATCGCCTCACGCAGCGTTGCCGGCAAAGCCTTTCTGTGCAACCA
+GGCGTCTATCCATATTTCCATATCAGGCAGAGTGCTATGGATATAGGCGGCAGGAACATGGTTCCGGGCC
+AGAGGCGCATGAAACAGAACGGGTTTGCCGAATCCCAGTTTATAGCCGCTTGCCTTGTTGACAATAATCT
+CATCCCCCTTAACTGCCACAGTCGCCGACATGCCCAGCGGCTGCGTGAGTCGTTCCGCAATGACCTCTGT
+AAAGGTTTTTCCCGTCACATTTTCAATCACCGCGCCCAACACATCATAATTGGCGGAGGCATAGCTAAAC
+TTCGCACCCGGCGCAAACAGCAGATTCTCGTTGCGCAGTTGCTGTGCCACAGCGCTCCCAGGCATAGGGT
+TTTCCAGCCGAGCCAGTGTTGAAAAAGGCAATCCTGATGTATGATAAAGGAAATCAGCCACGGTCAGGGA
+AGCAGGTTTTCCCTGATAATTCAAGCGCATTTCCGGCAGATAGGTAATGATATCATCCCCTTGCCGGAGT
+CTGCCTTCCTGAATCAGTATTTGCACCACAAGTCCGGTAAACGCCTTACTCATCGATCCCAGCTCGTAAA
+CTGTGTCTAGAGTATTCGCTTTCTGACTAGCCACATCGGCAACACCGTAGACAAATCGCTGACGTACCCC
+CTTAATGGTCACACTTACGGAAAGGGCTGGGACCTTGGCCTCCTGCATCCGTTGGTGAATTAATGTCGAC
+AGGCGCTCATCTTGCGCCCCGATAGGCTCATGTTCTTGCGCCAAAGCGCACATAGCGGAAATAAAGAGCA
+GCATACAGCACAGGAGATGATATAATGTTTTAATGCTAACGTGTTCCATTATTGTCATCCTGTGAACACC
+TCATAAAATACCATCAACACATTCGGAGATAAATTCACTGTGCTCACGGATAGCGGGTCTGGCATAAATA
+TCGGCGGCAGTCAGTCCGATTTTATAAATGTGGTTACAGCTGTCGACGAAAGAGATAACGTGCATCGAGG
+TCGCTCCGTATTCGAAAATAACCGCGTGTTCGTCATAATGATCGATGCATAACAATGAACGCCAGGTTTT
+CTCCACAAAGTCGCTGACCGACAAATAACTCACTGGTAACATAGCGTTCTCTCTCGCATCACTGGACTGA
+ATTTCATACCGGACGCGATCAAACGAATAACCGGGTAAGCCTATAGTCTGCACGGCTGGCATTTCCGGTA
+AACAAATAGTCACTCCTCGTTGCCAAAGAGTGCCCAACAGCGGCAGGATGTCCTCAGGCGTATCCGTATT
+CAGCATGGGGGAAAATACTGTTTGCCCAACCCACTGCGCATGCTGGTGATACAATATGGAAAACGTCCCC
+GCGCGACCGATTTCCAGCATCAGCGTTCCCTCCGTCACCGCCAGATTAGCCAATATTTCGCTCAGTTCAC
+TGTTGCCGGCCAGCGTCTGCTCCGGTGTCGTTTCAGCCACAATCACCTGCTGAACAGCGTTTTCCAGTGA
+GATGATGCGCGCAACATACTGCGCTGCTGCAGCCCCCGTCAGGTAACCGATGTGCTGCACAGGCGAGATA
+CTTTGTTCGATCAGCCATTCACTAAGACTCACCTGCTGGATAAACTGACGCAATGCTGGCGTCCAATCGG
+CTGGTTCGCAGATTTGTGCAACATCCTGAGACAGGCGCTGGTGCCGCTGGCGCAAGTTAGGTTGACAAGC
+CAGCAAATGCGTCAGGGCACTCTCCAGCTTATCGTCCCGGTCCGGATATAGGAACACCAAGGTAGTTTCC
+ATATTGATAGGGGTAAAAGACATGTCAGCATCCCGCAGTTTCGCCAAACTTGCACGCAACGCTACCACAC
+TGTCTGCCGCCAGCGCACAGCGATACGGGAAATGTGCCCGGCGTTGCGCGAGAGTATAGGCGATACGATC
+TTTATCTGCTTCCGCATAGGTCGCCAGAGCGTGATAATGAGCATCCAACTGTTGTCTAAGGGCTAATGGC
+GTTTTGGCGCTGAAGAAAAACAGGCGGCGCTCATTTTCTTGCACCGCTTGCGCAGGCGTCTCGCACCAGT
+TTTGCAGAACCAAATGAGCATTGGTCCCTCCCAGCCCAAACGAACTAACGGTGGCATGGATCCTTTTCGT
+TTGTGGGACAGAAGTCACTACATCACTGAGATAAAATGGCGAGGCTGGCTGCAACAGTTTTTTATGTTTA
+TTTACTAGGTTGATCTGCGGGGGAACTAAACCAGTATATAGCGTCAGTGCGGTTTTCATTAAGCTGACGA
+TACCGGAAGCGACTCCCAGGTGACCCAAGTTGGCTTTTACCGCACCCAATTGAATGCTGTGCGGCGCACA
+TGCCGGTGCGAAAACCCGGTGCAGAGCTTCAAGCTCAATCTCATCACCCAACGGGGTACCGGTACCGTGC
+GTTTCGATCAGTGCGATATCAGTCGGTACGACTTCTGCGGCGGCAAGCGCCGTATTGATCGCTTCTACCT
+GTCCTTCTACGCTGGGGGCGACAAACCCCAGCCGACGCCCGCCGTCGTTATTTACCGCACCTCCTTTAAT
+CACCGCATACACTCTGTCTTGGTCGCGTAGTGCATCCTCAAGACGTTTTAGCACCACAACTCCCGCACCG
+CTGCTGTATACCGTGCCGGTCGCCTCAGCGCTAAACGGGGCGCAGTGTCCGTCTTGCGATACCAGCTTAT
+CACCTTGCGGACTGTAGCCGTGCGCCTGTAAAAAACCCAAGGTGACCCCACCTGCCAACGCAACATCGGC
+TTGAAAAGTCAATAACCCCTCGCATGCTAAATATGCTGCCACCAACGAACTGGAACAGGCGGTCTGTACA
+CTCACAGCGGGTCCGGTAAACCCCAACTTGTAGGCAACCTGAGCACACAAGTAATCCTTTTCGTTACCAA
+TCTGCGCCTGAAGATAATGGTGATCGCCGCTCATCTTCAGGTATGGATAGACGCGATCGATAAAATAGTT
+ATTGGCGTAGGTCGCCCCATAGACGCCGACTCGCTTAAGTTGCGTGGGAATATAGCCCGCATGCTCAAGA
+GCGTTGTAGCAGCATTCAAGAAATATTCGTTGTTGCGGATCCATCAACAGGGCTTCGCCAGGCGGAATAT
+TGAAAAATGCAGCATCGAAGTCATAGGGAGCGGTGATTATATTGCGCAGCCTAATCCAAGGGTTCCCATT
+ATCGTCTTCTGTGCATGTCGGTTGAGTGAACTCCTCACCCGCCAGCAACTTATCCCACCACTCGGGCACC
+GATTCCGCACCGGAAAAACGCCCGCTCATGCCAATAATGGCAATATCCAGTGAGCCACAGGTAAAATCAT
+CCTTTGCCATTGTTGTATTCCTTAAGGGTTGGCATCGTGTTTATAGTGTCCACAAAGTCGGCGCGCCCGT
+CAGCGTGGCGCTGTGTTGGCACAGCCAGGCATCCAGATCAGTGAGGCTGTTCTTGTAGCGCGCCAGCAGG
+AGTTGCACATCATTCAGCGCAATGCGCGTGGGATCGAAACGGCAGTGGAAGGAGAGACCATCAGCTGCCG
+AGCGCGCAATATTAAACTCCAGCACGCAGCCGAGCGCGTTTTCAGGCGCGGTATAGATATCACTATTAAA
+GTGATCAATATGAAAATAGCGGAGTGAAGGTTGCGCCTGCACACCGATGTAATTCATTCGGATCCCTTGC
+GCAAGAGAGTCTTCCGGTGCATGCCGCATTTGCAGCAGACCGTAATCTCCCCCACCATGCGTGCGTTTTG
+CCAAATCGGAAGCGATCGCAGATAACAGTGTCGCCATATCGCCATGCAGAGGGATCGCCCAAGGATAAAA
+TAGAGTAAACCACCCGACCGTATCCGCAACGTCAGGCTCATCGGGCCAGCAGCCGCGTCCCATGCCTTCC
+ATCTCGATGCGACACCAAGGCTCTTCGCTGTAGTAACGCAGCACCAGCGCCAATGCCGTTAGCACATAGG
+TTTCGGCGCTGTACGCGGTATTACCACTGGATTCAAACAACCTCCTGACGCAAGGATGGCGAAAGTCTTC
+ACGCCAAGCGCGCGTACGAGGTAATGAGTCATCTGGCAATGACACGGGTGGGAAATGCAGCGGTAGCGTT
+TGACATACTGTGCGCCAGCTTTCGTGTGTGGCGGAATCTACCGTTTTGCTCGCCAGATAGTCATTCCAGC
+GATGCAGTCCGCTGTTGCTGGTGCCATTGACAGTGCTGACGGCGTCCAGCGTGCTGAGGATTAAATACCA
+AGAGTGCATATCGACGCACAAGTGATGGGCACAGAGTACCAGCGTGCTAGACGCAGGCTGCGGGGCGTGT
+AACAGAGCTGCCGTAAAGACTCGACCATTTGTCACGTCAAGCATGCTATTGCACTGAGCGATCACCTCTG
+CCAACGTCCACTGCGCCGTCGAATATTCCGTGAGCACCTCGTTGGGATAACACACATTAGGGTCGCATAC
+TAGCAACCGCCCCTCAGCGTCCAGCGCACTGTGCAAAGCTGGCTGCTGCTGGATTAATGTATGCAGCCTG
+TTGTGTAACTGCTCGAGCGGGCAGCCCGGCAACACTTTCAGCACAATGACATGGTTATAAACATTGGGCA
+CTGGCAACGCCAACTGCGTAAACCAACGCAATGCGGGTAGATCGATACGGGTGTTATGAGCATACTGCGC
+GAGCTGTGACACCGTTGTATGACTAGCGAGAAACTCACAGATGGCGTTCACTGTTCCACACTCCATCACC
+TGCACCGCTGACATCGTCCAGCCGTGGTGCCTGAGCTGCGCTGCAATCTGGATACTCTTGATGGAGTCCA
+ACCCCAAGACATAAAGATTTTCGTTATCATCAAACTCAGTTTGCTCCAGCGCCCCTTCCACACATACCCG
+AACTGAATGCCTTATCGCCGCATCTCCCAGCCGCTCGCTACCCGATGCAGGCGCGGTGTTTCGGACCGTT
+GCGACCATCTGACGCACGTCCACCTTGCCATTGTGCGACAGCGGCAGTTGGGCGATAGCACAGCACTGCT
+TGGGTTGCATGTAGGTGGGTAATTGCTGACGCAGATGTTGCATTACGGTAGCTACATCAACAGATGACGG
+TGTCACGCAGGCTAGCAACCCGCTGTGCTGCCCCTGCACATCATCAATCACCGCCACCGCCGCACTTTCT
+ACCTGAGGTGCGCTCAACAACGCTTGTTCGATTTCGCACAGCTCAATACGATAGCCATTAATTTTGACCT
+GATCGTCTTTACGTCCCTGATAAACCAGCGTATTAGGAGCGATGGCGTAGCCAATATCACCGCTGCGATA
+GCCAATCATCACCCCATTGGTATCTTTAAGGTAGGCGGCGGCCGTTTGTTGCGGCGCATCGATATAGCCC
+TGCGTCACTGACGCGCCATAAATCACCAATTCACCAGTTTCGCCTTCCGGTACCGGACAGCCCCAAGGGG
+AGCAAATTGCTACCTGGCAACCGTCGATCGCCATACCGATGGGCAATGAAGGCAGCGTTTCTTGCCCGGT
+GTAGCGATAGATCATGCAACCAACGGTGGCCTCTGTCGGCCCATATTCGTTATAGATCACGGCCTGAGGA
+AAGAGAGCAGCCGCCTTACGCGCCAGATCCCGCTTGAAATCCTCCCCGCCAACCACCAAGGTACGAATCT
+GCTCACTGCTTATGCCAGCCGCACACAACAACCGCAGGTGTGCAGGCGTCAGTTTGATCACTGTGTTGGG
+CTGATCAACCACGGCCATGCGCAGCAATGTTTCGCTCTCGGCGTGCCGACAAACGCTGATGCTAGCGCCC
+ACACATAAGGGGGCGAACAGCGTAGTGATGGTCAAATCGAAGGACAGCGAAGAGTAGAGCGCAGCCCGGT
+CCTGCGCTGTAAAGTAACGTTCGGCGGCGAAATGGAGATAGTTAGCCAGATTGCCATGAGAGACTTGCAC
+GCCCTTAGGCTCGCCGGTCGATCCGGAGGTAAACAGCACATATGCCAGATCCTGCGGTTCAATAGCTGGC
+CAAGGTTCTCTAGCAAGCGCCGAAGTGGCTAAGGCCTGGAGCAAGCTGGACGCGGGAAACGCCAGCGCCT
+GCGTCAATTCATGCATCGCCGGATCGTAAAGGATATGCGCTACCTGCGCTTTACGACACATGGCGTAAAG
+GCGGGTCGTTGGCAACGCGGGATTTAGCGGCAGAAATGCCGCGCCGCAGCGCAAAATACCATAAATAACC
+ATCACCGTTTGAGCGCTATGCTCAGCGATAATCCCAACCACTTGACCGCGTCCGATCCCCTGTTGGCGCA
+GATAACGCGCAACCCGCTCAACAGCGTCATCCAACTGCCGATAAGTCAAAGACTGTTCATTATCAATTAG
+TGCTGTGCGATCACCATGCTCCACAACTTGCGCTGCAAATCGGGAAGTAAATGAGGGTTTGAGTGAGCCA
+CATGCCAATGCGACGTGCGGCGCAGGATAGACTTCGAGATCGCCTAGACGAGCGTCAGGTTGCCGATCCA
+ATGCAGTGACTAAATCCAACAGCCCATTTTTCATCGCTGTCAGTTGGTGCGGAGTGAAAGCGCTACGCAG
+CGCCTCCAGACTCAACCTAAGGCTTTCTTTATGATTATTAACAGTTTGCAAAACAATCTGTAGCTTATAG
+GACTGCTCGCCGCTGTAGTAACTCTCCACGCGTTGCGCGGCACCTGCAATGTGGCGTTCATAGGTAAAGT
+TATAATAATTAACGCAATAATCGAACGCCCGCAACTTCCCTCCCCCCTGTTCCGCCAAATCCTGGTTGAA
+TAAGGTAATGGGATATTTGCTGTGTTTAAAACCGCGTTTCAGTTCGCGCTGGAAAAAGGCCACCCGTTCA
+CAGAATCGTTCCGTGCGCACCAGTCGATAGGCCAGCGGCAATTGATTAGTAAACATGCCAAAGCAACGCC
+GCGCCTCGCGAGTATGCCGATTGGCTAACGGCACGCCTATTACGCCTTTTTCCTCCCCCCATACTCTGGC
+GCGATAGAGAGCGAAGAGTGCAATAAACAGCGTATTAAGCGTACAGCCATAACGATTACACAACCTGTAG
+AGACGGTTAATCATGGCTGGCTCAAGCCAAGTGGAACAACTGATGCCCTCAGTAGTAACGATGGGGGAAC
+TGTCTGGAAAGCAGTCGCGGTATTCGTCGATATAGTCACGCCACCAGCCACGATCAACGGCAAAGCGCGT
+TGACGCCTGATAAGATTGCTGCTGCGCCAGAAATGCGCTATAGGCTGGTGACGCATCATCTGGTACGTCC
+TGCTGTTCGTATGCTCGCTTGACATGGTTTGACAACAACGCCATTGACCAACCATCAGCAATGCCGTGAT
+GGGCTTTAAATAAATAACCGCTGTATTGTTCACCGCACGTAAAGGTGACAAACTCGAACAAATCGTGCGC
+CAGCAGGGTAAAGGGCTGCCGGAACCACTCATCAACAAATGTTTCGATCGCCGCTGGGCGTAGGTTCTCC
+TTGTCATAATCTGGGGAAAAAGTCAAATGGCGGATATCGCGCCAGTGATAAGGCTGCACTTGGCTGACCA
+CTTCACTCTCCTCTCCCATCACAAACCACATACGCAACGCATCAAATTGCCGAATGGCGGACTGGATGGC
+CGCGTGTAGTCGGGGCAGATCGACAATTCCCTCAATGGTGACCACACCACCAATGATGTTTACGGCACTG
+TAAGGATACAGTTGATCAATGATGTGGCACTGTTCCTGTGGCCACGACAACGGATTGCCCGACATCATGG
+TGCCACCTCCATATCCAAGTGTTGGGAGCGCACCGCCTCCTGATTCCATCGCAGCAGACGAGGTGAAAGA
+CGCAGCAGACGCCACGCCAACAACGCAGCCACAAAAGTGCCGCTCATCGCCCCAAAATAGACGCCGGTAA
+TACGCATCTCTAACACAATCGCCAGCAGGTATACGACAGGGACAGATATAAACACGTGACGCATCAGCGT
+CAACAACACCGAATACCAAGGCTTACCAATGGCCTGATAATATTCACTTGCTAACAGGCTGATAGCGACA
+AAGGGTAGTGCCAGTGCCATGATACGGGTTTGCAGTACCGCATAGTCACTCACGGCAACAACACGAGTAA
+ACAGGGGATACATCCAGGGTGCCAGTACAATATGCATAACGGCTAACACCAGCACAATAGAGAAGGCCAG
+CGCGACGGCGGCCCAATAGGCATTCAGCGTGCGGGTGACATTTCCGTGTCCCCAGTTTTGCCCCACCACA
+GTCAGCAACGCGGTCGCGATAGCCAGCATCGGCGTGATGATGAAATAGTCGATGCGACCAGTGAGCGTAA
+ACGCTGCCATCGCGTTTACGTCCAGCCTGACGATAAAAAAATTATAAATCACTATGCCGACCGCAATGAT
+CAGTTGCATCAGCATCTGCGCCATGCCGACGGAGAGAAACTCTCGGTAGATTTTCCAGGAGAATGGGCGT
+AACGCGATGCGTATACTCAACCCGATATGTAATCCCATCAATGTGTAGATGAAATAGGCGACCATACTCA
+GTTGCGCCAGAAACGACGCCAATGCCACCCCTTTCACACCAAAATCGAATACAAAGATCATGATTGGATC
+GAGCATAATATTTACCAACGCCCCCAACAATGAGGCCTTCATGATGACCATGATCTTACCCGCGCCTTGA
+AACAGCCCCATCATGACGCCAATCAACATGATGCTGAACACGGTCAGCAGCGAATAATAATAGAACTCCG
+TTGCGTAGCCGATGATGCTCTTCGTGGCCCCCAGTGAGCGCAATAGCGGCTGGGCATAAACATAGCCAAG
+TACGGTGATCACGATCGCAAAGAATAGCGCGATGATGATACCGACCGACAAAATCCGCTGTGCACGATCC
+AACCGCTGCATGCCGATGGCGCGGGACAGCAAAGATCCCATACCGATTTGAATGCCGTTGGCGATGGCAA
+ATAACCCCATTCCAACGGGGAAAACCAGCCCCACACCGGCAATGATGCCGCTGTTGGTGACATCAATGTG
+GCTCAGCCAAAAAATATCGGCGATGGCATAGGTCACCTGCGTTAACATACCGACAAACATCGGCAACGCC
+ATGCGCAGGAGTAATTTATACAGCGAGCCGTCAAACATACCCGCCACCGTGAACAGCTCATCGTTCGGCG
+TGCCGTTGTCTGGCTCAAGCTTATTCACCGTCATACCTGCTCCTTATTCATTAAATGCGCCGCACCTTTA
+TTGGCGCTGTCACCGATATCCGCCTCTAGTACCCTTCCGGTACCGTGAATCCGCCACTGATGCTTTCGCA
+GAACTCAGCAAAGTTAATCGTCACATCATCGTGAAAATGCCCGGAAATGATCTGTATGCCGCACGGAAGC
+TCATCCATCGTTTTCGCCAATGGGTAAACGGTGGCAGGCAAACCAAAAACCGTTGCTAACATGTTCCAGA
+ACAAATGTTCGTTGTAATCTTGCGGTTCGCCATTGACGATAAGCTTGCGCTTACGCACCGGCTGCTGCAT
+GTGCGCAAACGCCAGCACCGGGCTGACAGGTGTCAACAACACGTCATAACGCGCGAAAAGGGTTTCTATC
+ACCCGGCTGTATTCGTGGCGGAGTTTGTCTGTATTCCGCTGTTCGCCACTGTCTTTCAGCATGCCCTGGT
+AATAGCTCGTTATCCCCTCAGGCACATCCGCCAGCTTGCCCACAAGCCTGAAGCCCAGCGCAGCCAGCCC
+GGCTGTAAGACGCTGGCGTCCATTGAGCGCCGTACTTACCAGCCGACCACTGAGTTTGACTGCTATATCA
+AACAGTGCGTCGGGATCGATATCGGCGGGCATAGCATCATCAACCTCCACGCCAGGCTGTGCGCGTAACT
+TGTCGATAAACGATTGAAAACGCTGTGCGATCTGTTGATCTATCTCATGGTGGGGCGCACTAAACCACGT
+GCACACGCGGTAGTTTGCTTTGGCCTGATAACGGCTAAAATCGGGAATACGCGGCGGTTCCACCCAGAAT
+GTGCTCAATGCGCGCATCATCAGACGCAGATCCGCCGCGCTGCGCGCCATGGGGCCCGCCGTCGAGAGAT
+CCGGCTCATCAGTCGCTTGCGGACCACCACCGGGCACATGTCCTCTGACCGACATCAACCCCAAGCTACA
+ACGATGGGCATAGACACCTGTGTAGTGTGCGGGAATGCGCAGTGAGCCAAACAAATCGCTGCCAAATTCC
+ACGGGGGTGAAATCCGCCGCCACCGCCACCGCCGCTCCTCCGGACGATCCGCCGGGTGAACGTTGCCTAT
+CCCACAGGTTATGGGTGGTGCCATACAGATCGTTATAGGTTTGCCAATCGGCAGTCATCATCGGCACATT
+GGTTTTTCCCATCAGGATCGCCCCGGCAGCGCGTAAGCGTGCGATGGAAGGAGCATCCTGCGTCGCCCGG
+TTATCTTTCAGATAATGGGCACCGGACGTGGTTAACCACCCTTGCACGTCAAACGACTCCTTAACAGTAC
+AAGGTAATCCGTGCAACACGCCCCTTGCGCGCCCCTCCAGTCGCTCACGATCGGCGCGCGCGGCGGCCTC
+CAACGCCAACGCATAGTGCTGCTGCACCACCGCATTCAACGGCTTGTTAAACTGCGCCATACGTGAAAAA
+TAGTGATTCACCAACGCCACTGAGGTGGTTTCTCCGGACGCCAACTGTGCCAACAGTGTCCCTGCGCTAC
+GATAGCTCTGCTCACTCATCGCCCTTTTCTCCCTGTTGGGCACGTTTACGCCGCAACGCCAGATTCTCGC
+GCGCAGCGCTGACCTGCGAAACCTCAGCCTGCGCTAATACGATATCGTGGGCGGCGGGTAGATTGTGCAG
+TTGCTCATCAAGGTAACGCGCCACATCCGCGATGGTTGGCAGACGGAACAGATCGACAATGGGAATCTCC
+TGCCCGATAATCGCCTCAAGTGCCTGCTGAATACGCACCAATTCTATAGAACTGCCCCCCAGCGAGAAGA
+AATCGTCTTCGGCCGACACGTGGCTCACGCCGAGTACCTCCTGCCAGAGCGCCACCAGCCGCTGTTGTAA
+CGCACTGTCCACCTGGATTGGACCCACGCCGTCACGCTGGTGGGCAATTTGTTCGCCCTGCAGCTGTAAT
+TTTTGCCGATCTAGCTTGCCGTTAGCGGTTAACGGAAAATCGGTCGCTAACATCAGATCACTCGGCACCA
+TATAGTCAGGCAGTTGCTGACGCAGGCCGCGCAGCATGGCATCTTTGTAGCTCTGCATGTCCAGCGGCGC
+AGCGGTTTCCTTCGGTTTCTCATAGGTGGAGAAATCGCGCAGCAATGCTGCAGCACTTGCCGCCTCTTGC
+CCTATCGCGCCCCCCACGGTGCAATGGACATAGCGATGATGTGGCGACAATTGAAAATGCGATGCCACAG
+CGGAAAAGTCTGCCATCCCAAGTTGGCACAGCCCCAATCCGTAGCGCGGCGCATCTTCTTCCAGTAAATG
+GCAGAGAGTACCTGCTTCCATCACCGAGAAGTGCCAAGCTGCCTCTTGCCCATAGAATGGCGAGATCACC
+GCCATATCAGCCACCATAAACAGCGTGAATGCCGCCCGATCGGCAATAGACTGATTAGGTCCGGCATGAA
+AACCACTGTTCAGCTCGACTTCTGGTGCTACCGGCATAAGACAGCTCTGTCGCGGGTCGAAGTAGTAAAT
+ACCGGATACTCCCTCTTCGATCTTGTCTGGATGCAGGTACACGTAGGTTTGCACCGGGTATAGCCCCCCG
+GCGGACGCATAGGCATACTTGGCAAAAGGTAGACCGGGTAGACGCATCTGCCCCAAGCCCGACAGCAATT
+GCCCCAACTGTGCCAGCGTGGTTTTTTGCGCGCTGAAATGACGATAGCTGCGGCGTTTGATGTAACGTGT
+GCTATCCGCCGGTGCCGTCAGTGCAATGCCCAGACCATCCAGCGCGCGAATATGTGGCTCCTTGAGTTTG
+AACGCTAGACGCTGTGCCGGATTCACAATAATACCCTGCGCCAGTGCCGCCGCCTCCGCTTCCTTAGCTT
+GCAATGCCTGCGCCTGGTGGCGATCGTGCAGTTTGGCAAAAGCGACCAGCCGACGATGTTGAGAATTACC
+CACTGCCACCACCACTGACTGCTCCACATCGGGATGTCGCGCAATGCAGCGCTCGATTTCCCCCAGTTCG
+ATACGGTAACCATTCACCTTCACTTGGGTATCGTTGCGCCCCAAAAAGGCGACTTGCCCGTCAGCAAAGT
+AGCGCCCGCGATCCCCAGTGCGGTAAATTCGCTCACCACTCGCTTCGCGCCAGACAAAGCTCGCCGCCGT
+TTTCTCTGCGTCGTTCAGGTAGCCTTGTGCCAGCCCCATCCCGCCAATGCAAATCTCTCCTTCCACCCCG
+ACCGGACATTCCTCCAGTTGCGCATTTAGCACGTATACTGGCTGGTTGCGCAGGCCCCGACCGTAGGGAA
+TACTGGTCCACGTCGATTCCACCTCACCTATCGGGTAGTAGACCGACCAGATGGCGCACTCGGTCGCTCC
+ACCCAGACTGATGATGTCCATCGTTTCATTGAGCCGCTCGCGCATCTGCTCCGGTAACGTTAGCGGGATC
+CAGTCGCCGCTCAACAGTGCCAGACGCAACGTCGGATAACTCATCCGATCGCCGCTGTGGTATTCGCACA
+GCATCTGCATCAGTGCGGGCACTGCATTCCAGACGCTTACATGACCGTGTGCCATAACTGTCTGCCAATG
+ACGCGGATCTTTTTCCCGTCCTGCTTCCGGCAGTACCAGCGCTGCACCCACCATAAAAGGCGCAAAGGCA
+TCGTAAACCGACAGGTCAAAGCTCAATGATGACAGCCCGAACACCCTATCCTGCGCATTGAGGCCAAAGC
+GTTCGTTGATGTCTTCCAGTGTGTTCATGGCCGCACGGTGGTCGATCATCACTCCTTTCGGGGTACCGGT
+GGAGCCGGAAGTGAAAATGATATAGGCCAGATCCGTGACATCCCCAGCCACTTCAGGCAACGGCGCAGCA
+GGCGTGTCCAGCATTCCGTCGTCGATGATCAGCACGGGCAGCGACGGCTCCAATTGCGTGAGACCCGGCT
+GCGTTACTTGTACCCGCACCTCGCCCACCGTCAGCAAAAGCTGGCGACGCTGTGGCGGTAGCACCGGATC
+CACTGGCAGATAGACCGCACCCAGTCGTAAAATGCCGTGTACGGCGGCAATCTGCTGCCAGCCTTTTTCC
+ATCACCACCGCCACGCGGTCGCCATGCTGCACGCCCAGCGCTAACAGGGCGCGGGCCACATGATCCGCCG
+CCGTCGACAGTTGGCGATAGGTCAATTCACGGATAGGACTGATCAGCGCAGTTTCCTGTGGCGTCAGTGC
+TGCCTGACGCAGTAACCCATGGTGCAACAAGGCCGTAGGTGCAGGAGCCTGCGTGACCGGTGCACTAACG
+GTGGGCAGCGCCAGCACATCTTGAGTCTCATGCCAGAGCTGTGGTCGCTGGGCTAGGGCGTGCAGGAGTT
+GGCAATAACACTGGAACATCTGATCCATTAGCGCCGGTTCAAACAATTGTTCCACCACGTCCCAATTAAA
+GTGCAATTCCCCGTTACGCTCCATTACCTGATGATCGAGCCACACCTGCGGTGTCTGTGAAATACTGTAC
+AGATCATCCTGCGGTTGGTTGAACAGCGTATCATCCGTTTCCCAGCTCGCCTCATATTGATTGAGCAAGC
+TGGTGAACACGATAGGAATCACCGATTTCGCCGGATCGCGGTGAGTTTGTACCAGCAGTCGAGAGACCTG
+GATACCGCCAAACAAGCGGTTATCCAAATCGCGCCACAGTTGAGAGTGGATCACGTTTGCCCGCGCCTGC
+AAGGTTTCTCCCTGCGACATATCAATCTCCAGCAACGTCAGTGCAGTAAAATCGCCAATTAAGTGATTGA
+TATCTGCGTGCAACGGCAGACGATTAAACAGCGTCAGGTTAAGGCTAAAGTGCGGCGAGGAACTAAAGCG
+CGCCAACACCTGAGCAAACCCCGTGAGCAGCAGTGTAGTAGGCGTGATACTCATCTGACCCGCCTGCGTT
+TTCAAGCGCTGCCAGATAGCACGAGATAGACAATAGCTACGGCGCACGAATGTGGGGTTTTCCAGCTTCG
+TGGGGTCGGTACGCAGCGGCAATCGTGGCCCCGGCGGCAGAGTTTCGATGCGGGCGCGCCAGTAGTCACG
+TGCCCGTTCAAACTGCGGCGTTTTCTCGTAGGATTTTAAGGTCAGCACATAGTCGCGGAAACTGTACGTC
+AATGTAGGCAATGCCGCCTGCGGATGGCGGTAGTGATAAGCTAGTTCCCGAATGAACAACTCCAGACTCC
+ATGCATCGGCTATCAGCAGGTCGATAGATACATGTAGCCGGGCTTTTTGCTGCGGATCAACCACGACCTC
+CATCTGAAACAGAGGCCAGCGACTACAATCAATCATCTGATGTGAGAGGGTGTCACGCAGCTCACGGCAA
+CGCTGTTGAAACGCATCCTCGCACTGGGTGGTATAGAAGGCAACGTGGTATTCCGGCACGTTTGGCAATA
+TCTGCTGCATACCGTCATCGTTGACAATTGCACGCAACATGCTGTGCCGCGCAATCACCGCATTGAGCGC
+GCGGTTGAACGCTGTTTCATCTAGCCCCTGTAGTTCATATTCCACATAGATATGGGTGGAAATATTGCCC
+AATCCCAAGGATTTTCGCCGCCCAACCCAATAGGCCTGTTGCACGTCAGTCAGCGGAAAAGGTAGGTGCT
+GCTGGTCAGGGGCAAAGACCGTATCAGGCAATGCTGAAACCGCTGTCTCACTGCCGCCTTGTTCGAGCAG
+ATAGCAACTTAATCCCTCGATGGTGGGATCGGCAAAGAATGCGCTTAGCGTACAGGTGATGCCGTAACGT
+TGCTGAATATCATATAAAATGGTTGACGCTAACAGCGAATGCCCACCCAGTTCGAAGAAGCTGGCGTGGT
+GATCATCAATGCTGACACCAAGCGTGCGTTCCCATATCTCCGTCACCACTGCAATAATATCGGATTTTGT
+TGCGCGGGATAAGAGATTATTCGACGATTCGTGGGAGAACGTGGCAGGCCGTACGGCCTCGACCCAATAG
+CGCTGCGGTGTAAAAACGGTCCCCGGCAGGGCGATGCGTTGACTGCCCAACATACGCTCCGCCGCATCCA
+CCCAGCGCCAATCTAGGCTGACGCCAGCCAACCATAACTGCCCTAACGCCTCTAGCGCGGTGCGATTGGC
+ATCACTCGCCGCGTCGTCCAGCATCAAAGAGCAGACATCGGGCTGCAAGAGGGGATTCGTCGGCACATCA
+TCAAACGGTTGGCCCGCATTCAACCTGTGCCATGCTTGCTCTAGTGTGCAGTCTCCTCGTAGTACGGCGG
+CAGCATAGCCACCATCACCGTCGCCGCATAGCACCACATTCAACGTTTCCCGTTCGTCAATCAACGCGAT
+CAGCGCATACTGGCTGATAAACGTCCGTTGCGCAGGGGAGAGATCTTGCAGACAGGCTGGTTCGAGCGGA
+AAATGCTCGAGCAGTTGTCCCACCGCCTGTGACAACACCTCAGAGCACGCCAGCCAGTCACTAAGCGTCT
+CGAGTGCAACAACGAAACGGTGCCCCAATCTCCAGTAGATCGTGCAACCCGTGGTTGCCTCCACCATCGG
+TGCGTCGCGGAGTTGTCGGGCTAGCTGGGTGCAATTCTCTGCGATGACACACTTACGTACCGGGGCGGAG
+AAACGCCCGTGACGCAGGGTGTAAGCCACGTCCTGTAAGCGTATCTCTGGATGTGCGGCCAGTTTCGCCA
+GCAGGGCGTTTTGCATCTGTTCCAGGGCATTGTGGTTTTTTGCCGAGAGTACAACGACACAAGGCCCCAT
+CTGCTGCGCCCTCGCCTGCGGCGTCGATAACGGCGCTTGTACCACCAGATGTGCGTTGGTGCCGCCCAAT
+CCGAACGCACTCACACCAGCGGTGCGTGGCGTGGTGCCCTCCGGCCAAGGCGTTAAACGGGACACCACTT
+CAAACGGGCTGTCCTCCAACCCCAGTTGCGGATTAGCCCGTTGAAAATTCAGCGTAGGGTAAAACACCCG
+GTTAGTAAGACTCAGCACCGTTTTTATGAGACTGGTGATGCCAGATGCCATTTCTACGTGACCCACGTTA
+GGTTTCACAGCCCCCAGACGCCACGGTGTCGCATTCGGCGCTGGCGTCCCAAACACACGTTTGATGGCCG
+CGAATTCGATAGCGTCACCCAACGGCGTGCCGCTGCCATGCAGTTCTAGATACTGAATTTGCTGCGGCGT
+CACCTCCGCCAAGCTATGCGCCTCAATCATCACAGCTTCCTGACCATCAACACCCGGCACGGTATAACCA
+CTGCGCGCACCGCCATCATTGTTGATGGCGCTTCCCTTGATGACGGCAAGGATGTTATCCCCTTGCACCT
+GCGCGTCTGTAGCCCGTTTGAGCAGCACCATGCCCAAACCACTGCTGTAGACCGTACCGCTCGCCTGCGC
+ATCAAAAGTATGAATCAGGCCATCCTCTGCTTGCAGCCCATCACCGTGCGATTCATAGCTGCGCTGCTCC
+TCCATGCGAAACGTGACGCCACCCGCTAGCGCCATATCGCACTGACCGCTCAGCAGCCCTTCGCAGGCCA
+GATGCACTGCCACCAGCGAGGTGGCACAACTGGCCTGAACCGTCACGCAAGGGCCGGTAATATTCAGGCG
+GTAAGCCAGTTGGGACGTCAAATGATCTTTGTCATTGCCGACCATGATTTGGAGACCACCGAGTTGTGCA
+AGCTTGTCTGGGTTGTTCATCAGGTGAGTAAGCAAATAGAAGCTGGTACTCACGCCCGCATATAGGCCGA
+CGCGCGCATCGTGCTGCTTCGGGTTGTAACCGCTTTGTTCAAACATCTCCCAAGCACAGGTCAGAAATAC
+GCGCTGCTGTGGATCCATGATTTCTGCTTCTGCACGGCTGTAGCCAAAAAAGTTGGCATCGAACTCCGCC
+ATGTGCTCATAGACGTTGTTCAGCGTAATGTGATTGTGGCCGTTGCTCGGGGTCACTTTGGGGTCCAAAA
+TGTTGCATCCGGTGCGAAGCACCGTTTCGAATGCCGCAACGCTGTGCACGCCGGGGTACCGGCAGTTCAT
+GCCAACAATGGCAATATCGCTTTCACTGTAAGTCATTAGTTTTTCCTTAACGCTGACGCTGGTGACGACG
+TACAAGTCGTTGCTGGGCGCGGGATCGGGAAGCATCACGCTGCTGTGTTTGATTCACCGCCCGTGCATTG
+TCCTGCATAGCCTGCAAATAACCGGCAATTCTTTTCACGGTGGTTAAGCGAAATAGCTCAGCAATAGGTA
+CCGTAACCTTAAAAATCTCCTCAATACGGCGATGCAACAGCACGATCTGGATTGAGCCGCCCCCCGCTTC
+AAAAAAGTTGTCATTCAGTCCGATCTGTTCTCGTTGTAGTACCTCGCACCAGAGAGCGGCCACCTGCTGT
+TCATAGGGCGAGGCGTGCGCGAGGGCCCTCGACTTCTGTGATGTAGATTGCGACATACGTTGGATAACCT
+CTTGAACCATTGCCGCCTGATCAATTTTGCCGTTGCCTGTCATCGGCAGCACCTTGAGAAGAAAGAAATG
+TTGGGGCAGCAGGTAATACGGCAACTGCACGGCTAACTGAGCACGAACACGCGCTAACAGGGCGTCAGTA
+TCGTCAGGATGCAGGTTTTCTGCGGCAGTGATAAAGGCATACAGCTGTCCCTGGTGGCACACCACGGCGG
+CACTCCCTACGCTGTCGAGCTGTTCAAGGTGGCTTTTGACTTCCCCCAGTTCGATACGGTAACCATTCAC
+CTTCACTTGGGTATCGTTGCGCCCCAAAAAGGCGACTTGCCCGTCAGCAAAGTAGCGCCCGCGATCCCCA
+GTGCGGTAAATTCGCTCACCACTCGCTTCGCGCCAGACAAAGCTCGCCGCCGTTTTCTCTGCGTCGTTCA
+GGTAGCCTTGTGCCAGCCCCATCCCGCCAATGCAAATCTCTCCTTCCACCCCGACCGGACATTCCTCCAG
+TTGCGCATTTAGCACGTATACTGGCTGGTTGCGCAGGCCCCGACCGTAGGGAATACTGGTCCACGTCGAT
+TCCACCTCACCTATCGGGTAGTAGACCGACCAGATGGCGCACTCGGTCGCTCCACCCAGACTGATGATGT
+CCATCGTTTCATTGAGCCGCTCGCGCATCTGCTCCGGTAACGTTAGCGGGATCCAGTCGCCGCTCAACAG
+TGCCAGACGCAACGTCGGATAACTCATCCGATCGCCGCTGTGGTATTCGCACAGCATCTGCATCAGTGCG
+GGCACTGCATTCCAGACGCTTACATGACCGTGTGCCATAACTGTCTGCCAATGACGCGGATCTTTTTCCC
+GTCCTGCTTCCGGCAGTACCAGCGCTGCACCCACCATAAAAGGCGCAAAGGCATCGTAAACCGACAGGTC
+AAAGCTCAATGATGACAGCCCGAACACCCTATCCTGCGCATTGAGGCCAAAGCGTTCGTTGATGTCTTCC
+AGCGTGTTCATGGCCGCACGGTGGTCGATCATCACTCCTTTCGGGGTACCGGTGGAGCCGGAAGTGAAAA
+TGATATAGGCCAGATCCGTGACATCCCCAGCCACTTCAGGCAACGGCGCAGCAGGCGTGTCCAGCATTCC
+GTCGTCGATGATCAGCACGGGCAGCGACGGCTCCAATTGCGTGAGACCCGGCTGCGTTACTTGTACCCGC
+ACCTCGCCCACCGTCAGCAAAAGCTGGCGACGCTGTGGCGGTAGCACCGGATCCACTGGCAGATAGACCG
+CACCCAGTCGTAAAATGCCGTGTACGGCGGCAATCTGCTGCCAGCCTTTTTCCATCACCACCGCCACGCG
+GTCGCCATGCTGCACGCCCAGCGCTAACAGGGCGCGGGCCACATGATCCGCCGCCGTCGACAGTTGGCGA
+TAGGTCAATTCACGGATAGGACTGATCAGCGCAGTTTCCTGTGGCGTCAGTGCTGCCTGACGCAGTAATC
+CATGGTGCAACAAGGCCGTAGGTGCAGGAGCCTGCGTGACCGGTGCACTAACGGTGGGCAGCGCCAGAGA
+ACTATTTACCCCCCACCAACTTTGCGGCATGGCAACCAGCGCCTGCAGCGCATGACAATAAGCACCAAAC
+ATCTGATCCAGCAGCGTGGTATCAAACAGTTGCTCGACCGCGTCCCAGTTGAAATGCAACTCCCCAGCCA
+ACTCGATCACCTGGTGATCGAGCCACACCTGCGGTGTTTGGGTAATATTGGCGTCCGGACACAGAGTAAA
+ACGGGTTGTGTCCCGAGGGTCTTGCGCAGTCGTCTCCCCGTCGATATCCAACATACTAGTGAATACCACC
+GGCATCGGCGCATGGAAACGACCGCTATGGATCAGCGCCTCGCTGGCGCGGATCCCACTGAAACGACGAT
+GTTCGAGATCTTCCCACAGTTGCACCTGAATACGCTGAGCGTTGTGGGCATAAGAGTGCTGGCTGTCGTA
+ACAAACATTCAGCAAGCTGACAGCGGTAAAATCACCAATAACTGCCTCTGCGTTGGGGTAACCCTGCGGG
+CGGTTGAACAACGTCAGATTGAGCGTAAACGTCGGGCTAAGGCTCCAACGTGCCAGCACTTGGCTAAAGA
+CTGTCAACAACAATGCCGTCTTGGTGATACGTGTGCGTTGGGCCAGCGCGCTCAGCACTCCCCAGTTGTG
+GGCTGACAGCCGATGACGGCGACGTACGAACCTGATCGCAGACAGTTGCGCCAAATCGCCCTGTACGGGC
+AGCGTTGGTGGGCCATACAGCTGCGGCAGCGCCCGTTGCCAATAGGCCTGATCGCGTGCATAGGCTTCAC
+TCGCCTGCTCTACCAACAGCGCCTGCACGTAGTCACGAAAAGAGAACGGTAGCAACGGCAGTGACACATG
+GGGCTCACGGTACAGCATCATCAACTCCTGCTGTAGCGTGCGCATACTCAGAGCATCGGCAATCAGCAGA
+TCGAGACTGAAATGCAAGCGGCCATGTTGCGCCGTGCAAGCCGAATAACTGAAATCAAACAGCGGCCAAC
+GATCTGCGGGATGCACATGATGCGACAGCCGATCGCGGATCGCCATCAAGGCATCGTTTCGTGCGTTAGG
+GGACAAAGCACTCAGATCGCGCTGCTCTAACTGATACGCCGGCACTTGCGCCAGAATCTGCTGAGTACCG
+TCGGGGAGTACCCGCGCACGTAGCATTTCATGGCGAGCGATCAGCGCATTCACCGCATGGGTAAAACGCG
+TAACATTAAAGTGTTCTACGTCAAATTCATGGTAGATGTGGGTCGCGATCGAGGTAGCACCCGTCTGTCG
+TCCAAGCCAGTAGGCGCGCTGAACATCCGTCAATGGGAACGGTTGATGACGATGCTCAGGGTCGTGCACT
+ATCACCCAGTCATCCTGAGACGCGGCAGCGTCCGTGATAGATTGCTGTGCAATACGCGCACTCAGTGCCC
+GTAGTGTGGAGTAGTGGAAAATGTCCTTCAGGGTCAAGGCGCAGTGAAAAGTGCGGTTGATCTCTGCTAC
+CAACGTTACCGCCAACAGCGAATGTCCCCCCAAGCGAAAGAAATCGCACTCAGGATCGACGTTTTTTATC
+GGCAAATAGCGCATCCACAGCGCCAGCAACATCTGTTCCGTGTCGCTCAGCGCTTGCGTCTGCGGCGACA
+CAAGGGAGCTATCGGCAACGAAATTTTCCGCTAACCGCTTACGATCGATTTTACCGTTGTCAGTGTTCGG
+GAAGTCGGCCACCCTCTGCCACAGCGTTGGCACCATATAGTCTGGCAGTTGCTGCCGAAGCTCGTTTTTC
+AGTTGCTCGAATAGCGAGGGAGGCTCACTGGTGATGATGAATGCTGCCAGTGCTTTGTGTAACGGTGCTC
+TTTCAATACAGGCCACCACCGCGGCGTCCACATGCGGATGCCGTGCCAACGTCCGTTCAATTTCGCCTAA
+CTCAATACGATAACCGCGCAGTTTGATCTGGCTATCTTTGCGCCCAACAAAAAACAACTGCCCCTGCGCA
+TCACTCCTGACCAGATCGCCAGTGCGGAACATCCTGCCACCGGGGACCCCTGGTTCTGACAAGAAGAACT
+GTGCGTTCAACTCAGGCTGCCCATCATACCCTTGCGCCACACCATCCCCGGCGATGTAAAGCTCGCCGTC
+AACGCCTTGCGGCACTGGATGGCCCTCATTGTCCAGAATGTATATACGGGTATTGGCAATGGGAGCGCCG
+AGGGTGATGTTTTCCGCTTGGGTTATCTGCGATTTCAGCGACCAAATGGTTGTTTCGGTGGGACCGTAGA
+GGTTCCACAATGAACCACAACAGCGCAACAGTTCTTCCGCCACTTTCGTTGGCAGCGCTTCACCGCCTGC
+CAGCACACATAGTTCCGGGTCGCCACGCCAACCCGCCATCAACAGCCCGTGCCAGAACGAGGGCGTCGCC
+TGCATCAGCGTTGGTCGATAGTCGGCAATCAGCGGAATCATACGGAAGCTGTCTGCGGCGCGTTCCGCCT
+CTGTCAGATAGAGACTCGCACCGGAGATCAGCGGCAACAGATACTCCAAGAATGAGATATCAAATGTTGG
+CGTCGTCACCGAGAGCAGCCGGTCTTGCGAGCCAACCGCAAAGGTACGCTGCATATCCAACAACAAGTTC
+AGCAACCCGCGGTGAACAACGCACACGCCTTTAGGTTCACCGGTACTGCCGGAGGTAAACAACAGGTAGG
+CCTGCATATCCGGCAACAGCGCGCAAGGTGTAGAATACCGGATCGCATTCGACATGTCCTGCATCAATTC
+CGGCAACGACAGTTGTACAATTTCACCCCACTCTCCCGGCTGACGGACCACCAGACAGACCAAACGCGCG
+CGTTGCATAAGGCGTTGCAAACGCGCGGCAGGCTGATGAATATCGAACGGCACGTAGCACGCCCCCACAA
+ACCACGTCGCCAACATGGTTGCAATCACATCCCTGTGACGTGGCAACAGCACGCCAATACGATCGCCCGG
+TTGTATGCCATGCGCTCGAAAACGCATCGCGATGAACTGCACACGCGCCCAGAGCTCAGCGTAGGTCAGT
+GTGCCGTCATGCTGCTGTATTGCCAGTTGCTTTGGGTGCTGCACACAGCGCTGTTCAATGATACGCAGCA
+CATCCTGCGGCCCGAGCCACGGGACGTTAGTGGCGTTGAGCGGATCACGCCGCGGCGTTGCGGTCTCCGG
+TGCATGCAGAGGGATCGCCCCTATCGGGGTCTCCAGTGATGATGTCAACGATAAGCAGTGCTGACGCAGC
+GCCTCGGCAATCTGCTTCACCACATCAGCATCGTATAACCCCAAATCGTACTCAAAGGAGACGTCGAACG
+TGGCGTCGTTTTGGAACACCTCGACTGTCATGTCGTATTTGACGGTCTGATTGTGATACGTCACCTGCTC
+CCAATACGCACCAGCCAAGGTAAAAGCGCGTGGGGTCACGTGGTTATGGTAGATATAGAGGATCTGGAAC
+AACGGTGAATGGGAAAGGCTGCGAGGGAGATCCAGCATATTCACCAAGTTTTCAAACGGCAGTTGCTGGC
+GCCCCTGCGTCTCTTTCACGCTGGCCTTCACACGCTGGAGCGCCTCGCGCCCTACCTCAACCCCATTAAA
+ATCGGTGTAGATAACCGCAGTGCTGGCATAATAACCAATGCTACTCTGCAATTCCGGGCGAATGCGCCCC
+GATACTGGCATGCCTATCACCAATCGCTGTTGCTGAGCGTAACGCATCAGCACCAGTTGGAAGGCAGTCA
+GCATCAGCACGAACGGCGTTGTTTCCTGCGTGCGGGCTACGTGTTTCAACGCGAGGCTTAATGTTTCATC
+CAGGGTGATGCTGAACCGGGAACCATGTGTAGAGGGTTGTGCCGGGCGCGGGTGCAGCGATGGAAATGTC
+GACAGCAGAGGCGCGTCTTGCAAACGCGCACGCCAGTAGGCAAGTTCGTTCGCCAGCAAGGTATCCTGGA
+ACCATTCGCGCTGCCAGAAGGCATAATCGGCATATTGCAGCGGCGGCGGAGGCAGCGACGTTTCATTACC
+AGCATGCAATCGAGCATACTGCTGCTGTAACTCATCGAACAATAGCCGTAACGAGATACCGTCGATGATG
+ATATGGTGCGCGCAAAACACCAAATGACAACCTTGATCGGGTTGAATAATCTGAGTTACCCCCCACAGAG
+GACCGCGTGCCAGATCGAACCGGGTGTTTATCACCTGCTGAATTACCGCATCTAGCGCTGAAGTTGGGGC
+CTGCGCTGCCAGCGTGACCGTATCGAGAACTAACGAAGACGCATCATCTATCACCTGGCAAGGCCGATCG
+TTACGTACTATGATACGGGTACGCAAGATGGCGTGGCGTGCTTGCACATGGCGCAATGCCTCCGTGAGCA
+TCGGCATATCCACCACGCCATGCAAACGATACACCACATAAAGGTTGTAGTTAGTGGCGGTACTGTCGTA
+TTTTTGCAAAAACCACAACCGCTCCTGATTAAACGACAGCGGGATTGCCTGCGCCGGATCCGCTTTGATG
+ATGGGAATGCGGCTGGGCGACACGCCTGATTGCGCCAACTGTCGTAATAGCTTTTCCTTTTTTTCCGCCG
+GTAACATTCGCGCCAATGCGGCATGATGTATCGTCATGACCGTCCTTTCCTTTTCGCTGTGTTAAATACT
+TTTGCCAACGTCACTCATTAATCATGTCGTTAACTAGCACGGCAAGTGCGGACCCTCCATCATCCTGCTG
+CTCCTGCTCGACCAACTGCGCTAACGCGCGCACGCTGGCATCCTCCATCACGTCGAAAAAGGAAAGAGTG
+ACGGCGAACCGTTCCTGTACCTGCGCCAGCAACATGCCCAGCATCAATGAATGTCCGCCAGCTTCGAAGA
+AGTTGTCGTCAATGCCCAAGCCGTCAATTCCCAGCAATGCTTCACAAATCGCCACTAAGCCGCGCTGCGT
+TTTGCTCTCTGGAGCCGCGTAAGGCACCGAAAACGCCGGACGCGGCTGACGGCGCACCGACGGTTCGCTA
+GGGATGACACTTCCCGCGTCCGCCACCGGCGTTACGGCGCTCCTCTGTTCTTCTGGACTGTCGACCCAGT
+AACGGATTTTGTCAAAGGCGTAGGTCGGTAGAGAGACACGGCGCGGTTGCTCACCTGCAAACGCAGACAA
+ATCGATGTTATGCCCTCGCACCCAAAGCGCTGCCACGGTATCTAAGATATGTTTGTGCTCATCGCTGCTG
+CGGGCACCTGCTGGCAGCGAGCTGAACGCGAGACGATCACCTAATGCATGACCGTTGGTCAGCTGGGTCA
+GGGTGGCACCTGGCCCGATTTCCAGAAAATCGACATCAAATGTAGCTTGCGCCTCTTGCAGTGCAGCGGA
+GAACTGCACAGGCATCAGCATCTGTTCAATCCAGTAGTCCGGTGTGGTGAGAGTGTCGGCACTGACGTGC
+GCGCCGGTTACGGTAGAGATGATGGTGAGCGTCGGCGGGTTCAGTCGTACATTCTCAAATGCCTGACGTA
+GCGCCTGCGCCGCATCTTGCATCATGCTAGAGTGGAAGGCATGAGAGGTATGCAATCGTTTGTTGATGAT
+GTTCTGCTCCGTCAGACGCTGGCTGACGGCGAGGATCTCCGACGTAGGCCCGGCGATAACCGAATAGTCA
+GGGGCGTTAACAGCGGCAATCGCCAGCGGGGCGGTAATCAGTGCGCGAATCTGTGCTTCGGGCAGCGCCA
+CCATCAACATGGCACCGCTTGGTGCCTGATGCATCAGCTCTGCTCGACGCGCCACCAAGCGCAACGCATC
+CTCTAAAGAGAACACGCCTGCCAACGTCGCTGCCACCCATTCGCCCAGCGAATGACCAATCATTACCGTT
+GGCGTGATTCCCCAACTGAGCCACAATTGGGCTAAGGCATACTCGACGCTGAACAGCAGCGGTTGTGTGA
+GGCAGGTTTGCGCAAGGCGTTCGCCTTGGGCTAACGAGACTTCTGCTCTGAACAACTCATGGCGGATATC
+CAGTTGGTATTCACGCTCGAGTAACGTCGCGCAACGGTCGAAGGCATCGGCGTAGGCCGGCCAAACCTGA
+TAGAGCTGATGGCCCATGCGCTGATATTGGCTACCCTGCCCGGAAAACAACAGCCCCAGCCCGAGCTGTG
+TCTGCGCTACACCACGAGCAAACGGCGCTGTCGCGGCCTGCTGCAACAGCGTCCCGGCAGCATGTAGATC
+TCTGGTTACGAGCGCGGCGCGATGTGCGAAGGCTTTACGTCCCTGTGAGAGTGTCCACGCCAGATCCCGC
+CTATCCGGCAGCGATTCATGTTGCAGAAAATCGGCAAAACGCGCCAGCCCCGAGGATAAGGCACTGTCGG
+TCTTGGCAGAAAACGGCAAAATACTGTAGGCAGGTACAGGCGCTCGCGCTTGCAAGTCAACGGCTGGCGC
+TTGTTCCAGCACAACATGGGCATTGGTGCCGCCCATGCCAAGCGAGGTGACGCCCGCGCGACGGATGCCG
+CTTTCCGGTTGCCACGGTTGACAGGTAGTGTTGATGTAAAACGGACTATTGGTCAGATCGATCTGTGCAT
+TGGGCCGTTCAAAGTGCAATGTTGCGGGAATTATTCCCTGCTGCACTGCCAGCGCGGTTTTTATCAACCC
+TGCGACGCCCGCTGCCGTATCCAAATGGCCGATATTGGTTTTTACCGACCCCAGCGCACAGTACTGCTTT
+TGTGACGCGCCCGCAAAGGCTTGGCTTAGCGCAGAAAACTCAACCGGATCGCCCAAACGCGTACCGGTAC
+CGTGGGCTTCCACATAAGTGATATCCTGCGGTGTCAAACCTGCCAACCGCTGTGCCTGAGCAATGGCGCG
+CGCTTGGGCATCCACGCTCGGCGCGGTATAACTGATCTTCTCCGAACCGTCGTTGTTGACGGCAAATCCT
+TTGATGACCGCATAGATGTTATCGCCATCACGCAGCGCTTCATCAACACGCTTTAACACCACCAGCCCCG
+CGCCGGTGCCGGGCACAAATCCGCTGCTGTTATCGGAAAACGCCCGACAGTGGCCATCGGCGGCGGTGAT
+CCCACCTTCCTGCGACAAGTAGCCGGTTTTTGCTGGTGGCCCCAGCGTTACTCCGCCAGCAATCGCCATG
+TCACACTGCCAAGTCAACAGACTTTGGCATGCCACGCACACCGCCACCAAGGATGTCGATGAGGAAGTCT
+GCACCGTGATCGCCGGGCCGCGCAGGTTGAGGTGATAGGCGATGGTAGTAGTGATACTGTCTTTGTCGTT
+ACCAATGGCCGCCTGCAAACTGCCAGAAGAGAAAACGCGTTTAAAGTGCGGCATCAAGTTCAGCATCAAA
+TAGGAATCCATGCTTTTGCCAGCAAAAATACCCACATCCCCCGGATAATCGGCAGCCACATAGCCCGCAT
+CTTCGAAGGCTGCCCACGCGGTTTCCAACAGGACACGGTGCTGAGGATCCATCAGCTCCGCCTCTCGGGG
+TGCGATACCGAAGAAAGCAGCATCAAATTTATCGATGTCAGCTACCTCCCCTTTGGCCTTGACGTAATCT
+GGGTGCTGAACAAATTCAGGACTGATTCCCATCGCCAGCAGTTCCTCATCGCTGTAAAAGGAAATGCACT
+CTCGGCTTGCCAGAAGATTTTCCCAAAACGCCTGTACCGTATCGGCTTGAGGGAAACGCCCCGCCATCCC
+AATGATAGCTATACCAAAATCATTCTCTGCCATGTTGCTTTCCCCCTATATTCAGGTTTATCACGCGTTT
+CATTCAGTGGAATCAGTGATGACTGTCGGTTGTGGCTGCCCAGCGCGTGTGACCAAAGGCCAAACGCTGC
+TTCGCCGCACGCAGTTGTGTCTGATCTCCTGTGGTCCCTTGCGCTGCGTCCGGGGCCAGCAGAAATTCCG
+CCAAGCGTTTGATGGTAGTGAAGCGCAGCAGGTCAACCAACGCCACGTGCTGACCGCACTGCTGCCCGAT
+GTATTGCTGCATCTGTACTAGCAGAAGTGAGTGTCCACCGAGATCGAAGAAATTTGTGGTGGTGCCGACA
+CGCTCCAGGCCAAGCAACTGCTGCCAGATCTCCGCCAGACGCTGTTCCAGTTCGGTTGCCGGAGGGACAT
+ACTCGCCCGGCCCTTCCAACTGCCGCAGATCGACCAGCGGCAGGCACTGGGGATCGATTTTGCCGTTTAC
+ACCTAGCGGCATGGCGCTCAGCGGCACGTAGAGCAACGGCAGCATATGCAACGGAAGCCGCAGGCTGAGC
+CATACGCGCAATTGCTGAGCATCCAGCGCAACGCCGTTGACGCTGCAATAGAAGGCCACTAGTAGCGGCG
+TTGCCGCCGCATTGCGTCGCACATCGACCCACGCATCAGCAATATCCGGATGCTGTTTCAGTAGGCTTTC
+GATGTCGCCCAGTTCAACTCGGTATCCACGGATCTGCACTTGGCGATCTTGTCTGCCGAGATAGAACAAC
+ATCCCGTCGGTTGCCCAACGAGCACGATCGCCAGTTTTCAGCACCCGAACGCCAGGGTATTCCGGCAACT
+CGACAAAGCGCTCGGGATCCTGTCGTGCATCAAGGTAGCCGGGCGAAATGCCCAGACCAGAGAAACAGAG
+TTCTCCACAGGCACCTGGCGGTACCAAACGATTATATGCATCCACCACATAAGCTTGGGTGTTCTGAATC
+GGGCGGCCAATGGGCAATGCTCCCGTTTCTTGCTCCCTACGCTTTGCGACAGGAAAGTAGGTCGAGCAGA
+TACCGCTTTCGGTCAGGCCATAACCGTTAACCACTGCCATGTGCGGCAGAAGCGGCGCTATCTGCTCATA
+CTCTAACGCTTCACCACCGCACAGAAACAAGCGCAGCGATCCCATCGACTGAGCCAGCACAGAGAGGCTG
+GCAGAAAGCGATGGGGTGGTGCTCAGGATAGTCACCCGCTGAGATGCCAGCAGCGCAATGAGCGCATCAC
+TATCCAAACTCTGCGCTTTTTGCGCCAATACTAAGGTACCGCCAGCGGCGAGCAGCGGCAGTACCTCCCC
+GACAAAGCTAGCAGACGCGACTGAGGTAATGGGTAGCAGAACATCCTGATGCGTCACTTGATAGCTGGAT
+ATAAAGGATGCGGTTAAGTTGACCAGATTACGTTGGCTGAGTCGGACGCCTTTGGGCTGCCCGGTAGTAC
+CGGAGGTAAAGATCACCACCGCATCGCAATCTAAAGCATCTGGCGCAACACTAACTGGCAGGTTCGGTAT
+TTCTGTCAGCAGGCTACGCCAGTCAGGCACTAGCACCCAAGGTATCGTCAGCCCATGAGGGGATTCCAGC
+GGTTGCGCCACCAGCAGCATGCACGGCGTTGCCTGCGCCAAGATCAGGGCATTGCGGGCCGCTGGCGCGT
+TACCATCCAGCGGCACATAGCTCGCCCCCAAAGAGAGGATCGCCAATTGTGCGATAATCAATTCGAAACA
+AAAAGGCAGTTGCAGTGCGACAGATTCTCCGCGTTTTACGCCTTGCGCACGCAGCCAAGTACACATCTGC
+ATCGTGGCCTGTTGCAATTCGCCATAGGTCATGGCGTCGTCAGCGTGGCGCAAAGCCACCTGTGTAGGGC
+GCTGCTGGCAGTGCGGTAACACTAGCGCCAGCAGGTTATCTACGGGCGGCAGAGCAACTTCAGTGGCGTT
+GTGCCGCGCCAGCCAAGCGTGCTCTCGAGGGGTGAAACGAATCAAATCGCGGACTAACTGCGTGGGTTGG
+CTGCTGGCCTCATCTAGCAGTTCTCTCCACTGCGCCACCAGGTGCTGAATACGATCCGCACTGTATAACC
+CAGCGTCGTATTCGAAAGTGCCGGTGATGCGCCCATCGATATGCTGCATACTTAGCGAAATATCCACCTG
+AGATGCACTGGTATCCAACAATAATGGTGTAACGTTGACACCGTTTAGTGTCGGGCTCGCCAGAGGCATA
+TTGTCGAGTTGGAACATGCACTGATATATTGGGAAATGTCCGGCGCTGCGATCCACATTCACTGCGCGCA
+CTATGTCGGTAAATTCGAGACGCTGGTGCCTGAAAGCGGCAAACAGAATACCTCTGATCGTCTGTACTAA
+CTCGGAAAACGATGCCGCTTCGTCAAGAGGTAAGCGCAGCGGTAGTACGTTGACCAGCGGCGCGATCATA
+TGCTCCTGTTCTTTCGTCAGCCGCGCAGCAATCGGCATACCGACGATGTATTCCTGTTGACGCGCATTAC
+GATGCAGCAGGAGGACGAAGGCGGTCAGCAGATAGTTATACAACGACACGCGCTGCGCACGCGCCGCCGC
+CAACACTCGCTCGCATGTGTTGGCAGACAATGCGAAGGCAACAAACGCGCCTTGGTAACGTGCCACCTTC
+TGACGCGGTTGATCGGTGGGGATATCAAGAATCGGCAACGTCCCCGCCAGGGTATTTTGCCAGTAACGCA
+TCGCGTCCTGATAGGCGTCACTCTGACGCCACTCTTCTTGGTACTCCATGTAGTCGGCATACTCCAACAA
+CGGTTCTGGCGTCAGCGATTCACCGTTATATGCGGCCTGCAATTCGCGTAACAAAACGCCTTTCGACCAG
+CCATCACTGATGATGTGGTGCAGATGAATCAACAATACGCTACGATCGTCATCGAGCGTCAACAGTTCAA
+ACCGGCACAGCGGTGTGCCTGACGTTAAGGGCATGGGGTGTGCCGCACGCTGGTTGATCATCGCCTGTAG
+CGCGTTATCATCACTCACCGAGGGGAGTGGCACTATGGTCAGCAACGCCTGCGACGATACGCACTGAGGC
+ACCGCCAATACTGGTTGTCCATTGTGGGTTTCCGCCATAGCACGTAACAGAGTATGCCGACTCATCAATT
+GACGAATCGCGCCGTCCATCCGCGTGCGATCCAGTTCTCCTTCAAGCAGCAAGGCGGTGGGGTTATTGTA
+TAGTGCAGTATGCGGCGCCAATTGTTGCATAAACCACATCGACGATTGAGCCGATGACAACGGTAGGTAG
+CGCACGGCGGGAGTTTCACGTAAATCGACGCGACTGGCTGAGTACGCCCGCGCCAAGTCGAGCAACGTTT
+TACGACAGCACTTGCCATTGTCGGAGAGTGGTAACTCTGACATTGCCAACAAACGGTTCGGCAGCATGTA
+GGCAGGCAAGTTTTTGGACAGTGCGTCCATTAAGGCCGCCAAATTGAGCGGCACGCTACTGACGACAAAA
+GCGTAAATCAACTGATTGTCGGGATCATCCTGATCCGCCACCACGACTGCCTGCTGTACCCCCGGGAAAC
+GCATCGCATGGGCTTCGATTTCTCCCAATTCAACGCGCAACCCTCTAATTTTAATCTGAAAATCATTACG
+GCCAATGTAATGAATTTGTTGGCTTTCCCCGTCGCGCCACACCAGATCTCCAGTTTTATACAGCCGCTCC
+GGTTTCCCTAAATGGCGCAAAGTTGGATGTATAGTAAAACAGCGATCAGTTAACGCCACGTTGTTGAGAT
+AGCCACGTGCCAGCCCGATACCAGCGAGATACAGTTCGCCCTCTTCGCCGTCTGCTACCGGATTACCATG
+GTCATCCAGCACATAGAGTCGGCAACCGTCAATCGCTTGACCGATAGGGATATCGTCGTAGTCGTACCCG
+CGCAGGCAGCGGTGATGACTGACATCGATTGCTGCTTCGGTCGGGCCATAGAGATTTATAAGATCACCCT
+GCGCCACCGATTGATAAAAGCGAGCCACACTGTGGACCGTGAGTTTCTCACCGCTGGAAAACACTAATCG
+CAATGAGGCGGTCAAACGAGGATCCTGTTTCATCTCCAGATACTCGACAAACAGGTTCAGCATCGAAGGG
+ACAAAGTGCACAACCGACACGCGGTGACGCTGAATCAGTCGAGCCAAGGTTCGCGGATCGCTCTCCAGTC
+CGGACGGTAACAGCACTACAGATGCGCCGTACATCGCCCACCAGAACATCTCCCAGACAGAGACGTCAAA
+GGTGTACACCGTCTTCTGAAACAGCACGTCCTGAGAACTGATAGGATAAGCGTTCTGCATCCAGACAATT
+CGGTTTAGCAGCGCTGCATGTTCCGTCGCCACCCCTTTAGGGACACCGGTGGAACCGGAGGTGTAAATAA
+TATACGCCAGTTGCCGCGCATGTGGTCGGTAACGCAGATCCGTCGTTGGCATGGCACTGACCGCCGCGCT
+GTCGATTTCGACGCGAGGAATCGGCCAGCGATCACCATCGTCAGTACCGATCAGACAAACAGCGCCGCTG
+TTGCTCAGTATATTTTCAATGCGGCTGCGCGGTGCATTGTACGCCAGCGGTAAATAGGCACCACCAGCTT
+TTACAATAGCGAAAATGGCAATCAGCATTGCCATGCCGCGCGGCAGGCGGATAGCTACCACACGATCCTC
+GCCGATCCCCAGCCCACGCAGATAATGCGCCAGTTGGTTAGAGCGTGCATTAAGATCGTGATAGCTCAGC
+GCCGCGTCCCCCATCAATACAGCGGCTTTTTCCCCATATTCTCCGGCGATACGATACAAATAGTCGACTA
+TCGTTTGGTCGTCGGTAGGCAACTGTCTCATAATCCCTTGCTGTTCCATAACTCTGGCCTTCAAAGCGAG
+ATAAGTACGTAAAATGGCGTGACGGGTTACGCCTGTCCGCCGTTGTCGGAAGCCAACCGCGCGTGGCAGG
+CGTCGATTTCTGCCTGACTACTGCCTTTGAGTTGAAATCCCTGTTCAAGAAGCTCATGCAAAAAAGCAAT
+GTCCTCTTCGCTGGATGTGCCGCGCTGCTCAATCTGCTGGATGCGCTCAAAAAAACGACTGAGCAATTCT
+TTCAATTGCGCACTGGCAGCCACATCGGCGGCGCGGTGATGGCGTGTGGCTGTCAGGGCGTTAGTGAGCA
+GCGTGATGCGTTGGCGGCGCACGGCTTCCGGATCGGTCTTCACCGCCATGTTATCCCCCAGCACCAATGC
+TAGTTGCGCACGATCATGACGATTGTCAAATGCGTAAACTGGTGCTGGATAGCGATTCTCCAGCAGCAGG
+TTTTTCAGCACACTTTGCGGACCGATCTCTATCGCGATCGGTGACAAGTGTCCTGTCAGGTAGGTGAGAG
+AGCGCTGCCACTGCACTGGCTGAGAGAGCTGTTGTTCTAGCCACTGGACTGGCGTGACCGTATCGGGATA
+GGGTTGAGCGTTGACATTGGAGATCACTGGGCAGCACGGACGTCGCCATTCGCAGCGATCCAGCGCCTTG
+CGCAATTGCTGTCCGCAAGGTTTCAATAGTGGGCTGTGGTAAGGAACACCACCAATCAGCGGCACTACTT
+CGACTTGGCGATCATGATCCAGCAGGTATTGCTCGGCGGCGATAATGGCCGAGTTTTGTCCGGATAACAT
+AAACTGTTGCGGCGAATTGAAGCAGGCAATACCGACCTGCTGTCGGGTTTCACGCTCCGCCACCTCGCAC
+GCCGCTGCCACCAGTGCCTGATTCCCTTGCTTGATGATAGTGGTACTCGCGTCCATTTCGCGGGCGATCT
+CACTGGCTAAACGGCTACGCATCGCCACCAGCGCCAGTGCTTGGGAAAAGCTCAGCGCACCACTACAGGT
+CAGCGCAGCATATTCGCCCAAACTATGACCCAACATATAACGTAGGTTGACATGGACACCGGTTTGCGCC
+AAAAACTGCTGCCACGCGACAAAGTGGGCCACGCTGGTGGTATAGATAGCCAGCGCCATTGCCGTCGGCT
+CAGCAAGTTGTACCAAAGTACCCGACAGGCACAGCGCTGCCATGTCCCGTTCCGTGATCTGGCTAGCTTC
+ATCAAACAGAGTACGCACCTGCGGATAACGCTCATACAGCCACCGTGCCATGCCTACATATTGCGAACCG
+GAGCCAGGGAACATCAGTGCGACATCCTTCGTCATGCTTCACTCCCCATCATGTAATTCATCGCAATTTG
+GATTTCATGAATTTGCGATGTCCCTTCGATGATTTCCATGATTTTGGCGTCGCGGTAGTAACGTTCGACG
+GCATAATCGGCATGGCAACCATTCGCACCGAGCAGTTGCACCGCCTTCCCGGCCACGTCCACCGCAGCTT
+TGGAAGCGACATACTTCGCCATCAGGATTTGGTTTATCATGGCCGGGTGCAGCGTTTCGCGGTATTCCGC
+CGCGCTGAAGCACATTAGTTGCGCACTGCGCGTTTGGGTCAGCATTGTGGCAAACAAGTGCTGAACAATG
+CCATGAGAAAATAACCGCCGCTTGAACTGTTTACGCTGGCGGATGTAGCGCGCTGCCACATCCACAGCGG
+CCCGACATAATCCTAGGCTGCCACAAGCGGTGGTGAACCGCCCTTCATTGAGCGCAAAATTCACCGCCAG
+CGGTACCCCAGGGGTGAGCGGACCGAGCAATGCATCCTCCTTCAGGCGGCAGTCATTAAAATGCAGCTCT
+GCCAACATATTGCCGCGTAACCCCAACATGTCGTTGAGTGGAGTGATAGTAAAGCCGTCGGTATTGCGAT
+CGATAAGCACTGTCGCTAATTGATTACCACAGTGGATTAAAACAATAAAAAAATCAGCAATCTGCCCTAG
+CGTGATCCATTTCTTTTTCCCGTTCAGCCGCCAACCGTCGCCATCCTGCTGTAATTCTGTTTCCACGTTC
+ACTAAGTCACTGCCGATATTCGGCTCTGTGAGGGCAATCGCGCCGATCAATTCCCCCGTTGCCAGCTTTG
+GCAAATAATGGGCTTTTTGCGCTGCGCTGCCCACGCGTTGCAGCAGCGTGCTGACCATGCCAGTCACTGT
+TATGAGATTTTCTAACGAACCGTGAACCCCAGCCATCACTTCATGCAAAGCGCACAGTTGATAAGAATCG
+TAACCTCGTCCGCCATATTTTTGGGGGATTGACGCACCTAAGTACCCGGCCTGCGCCACGCAAGAAATAA
+TGTCTGGCACAATAAACTGCTGACGTTCAATATTCTGTGCAGCCAGGGCGAGATGTTGTTTGGCAAACAG
+GACTGCCTCTTGCTGAGCCAGCTCATAATTTTCAGTGCACATAGTTTACTCCAGGCCTGTTTGTCGCTGA
+ATGAGCTCCACTATTTTATTGACGGTAGCAATCTGTTCTGTTTTCAACTCACTCACTTCCAGCTCAACCT
+GAAAATTTTTTTCTATAAACAGTATGATTTGCACAGTAAATAACGAATGGACAAGCCCGAGAGAAAAAAT
+ATCGTCATCATCGTTCAACGTATGCCCACGTAATGAGCGTGAAAGAAATTCCCGAATGGCGGCTTTCATA
+TCTTGCTTTTTCATATTCATATCCCTATCTGGTTAACCCAGAATCACTGCTCGGCGTACGTCTGTTGATA
+GCGATAAAACCCCTGCCCTGATTTCACGCCCAAATACCCTGCATCGACCATTTTCTTTAATAAAAAGCTG
+GGGCGATACTTATCATCATTAAAACTTTCATATAGCACCTGCAACGATTGCAAAATCGTATCCAAGCCAA
+TCAAATCGGCAGTTTGTAGTGGCCCCATCTTGTGCCCGAAGCAGGTTTTAAACAACGTATCGATATCCTC
+AGCACGGGCGATCTGCTCCTGCACCATAAATATGGCTTCGTTAACAAAAATCATCATGGCACGATTAGTG
+ACAAAGCCCGGAGAATCATTGACCACGATGCCGGTTTTATTCAACTGAGCAAATAAGTGGTGAAATATGT
+TCAGTGTACGCTCTGCAGTATGTACACCACGGATTAATTCGACGGTGTGCATCAGCGGTACCGGGTTCAT
+AAAATGGACGCCGACTACATTCTCCGGATGTCGCATTAATTTTGACAACGCAGTGATAGATATGGCGGAC
+GTATTAACACCAAACACTGTCGACGCGCCGCAGATCGTATTCATCCGTGTGTATAGTGCATTTTTTTTCT
+CTATATCCTCAGTAATATTCTCAATCACCAAATCACATTCTACAATGTCGTCCAACTCAGTTGTGAAACG
+GATATTTTCCATTATCTCCGCTGTGCTATGCGTCTTTTTTTTATGCTGCGGGTGAAAATTATATAAGCGT
+AAGTTCGCTTCGATCATCTGTCGGCATTTATCCAACTGAGATTGAGAAATATCCACAACGTTAGTTGATA
+TGCCGTATTGCGCCATGTTATGAGCGACGCCAGTTCCCATTACTCCTGCACCTATTACCGCCACGTTCAT
+CATTGAGCTCCTTTACTGACAGGCTATTTCGAGGTTGTCTTCGCCCCCCAGTTGCGCCGCGATATGCGCG
+TAGATATTGCGCGGATTGGGGTTTTCCATCAGGGTCAAAAGATCGATATGTACGTTGAAATCGCGTTCTA
+AACGGGAGGTCAATTGCGTCACCAGCAGCGAATGCCCGCCTAATTCAAAAAAGTCGTCGTCCACCCCGAC
+CGGCGATATTTCCAGCAACAGTTCCATCAGACCTGTGATATACTGCATACCCCGCGAGTGTGCGGCTACG
+AAAGGTACGCTTAACACGGGACGTGCCTGATAAGGGTGGTGCGTTTCGGGTCCTGCTTCGGGTTGGGTCT
+CCACACTACCCATTACCCGTCCAGGCAATGGGTAGTGGTTGTGTGCGAAGGGATATGCTGATGCGCTCCC
+GCGTTGCGGCAGCGGAGTGCCGTACCACACGGCCCAATCCACATTGATACCTGCACACCACAGTTGCGCC
+ACGTAGCGCAATACATCAACGTCTTCTCTTATTTCCGGCGGCAGCCTAACCCAGTTGATACTGTGAACGC
+CCTCCCCCAGTTCTCGGGTATCTGCCAACAGCGCTTCACTCCAAAACCCTCTGTCGTTACGCTGTGCATC
+GGTGATGGGATTTCCTTGCCAAGCCAGCACGTAGCCGGGGATAGGTTCATGGCGCTCAGGAAGCCAGAGA
+TGAAGCGCCTTTTGCTCCATTTCCCACAGCAAATGCAACACGTCTTGCGTCGCAATCATGCCACTGGCTG
+CAGCGGCAGGCAAAAGGCCTGTTCCAGCACCCGACAGCAGTGTTAATGTCGGTAGCAGGTTCATCCAGGT
+TTTTAGCGCGGCGATAGTCTGGCAGCCTCTGATTAGCAGGCTGCTGTTCGCTTGTGCCGCCCACGTTTCA
+GCGTGGCAATAAGCGGGTGGAATATTCATGCCGTCGAGTAATGCCGTCAGAGCAGTCGCTTCGCGTTGAT
+AATGTGCCGAATGCGCCAGCCACTGTGCGTAAGTACAATCGTTCGTAGTACGTAGATCTGGACAGTGTAG
+GCCCCAAGGAGCGTCGGGCATTAGGTTATCCAGCGATGCCAGCATCGCTTGCGTACCATCGTTTTCCACT
+TGTATCACTCGGCGGCAATCAAACACGGGGCGCGCCACTTGTTGTGTGTAGGCTAGCGTTGACGCATCAA
+GGGTAGCCAGCAACGGGGTAAGCTGTTGCGTCAGCTCATCCAACTGCTCGAAAGACGGCGCGGAGAGAGG
+GATAAACACCGGTGCTCGCACTTGGTCATGGTCATCGCGCACCGCAGGATTCAGCCCTTCCAAAATCATA
+TGCACATTAGTACCGCCAATGCCAAAAGAACTGACGCCAGCGCGGGGCGGCATCCGCGATGCGGGCCACT
+CCTGCGGCTGTATCGGGATATAAAACGGTGAATGCGCCAGATCCAGCTTCGAGTTAGGCATTTGATAGTT
+GGCGAGCGGCGGAATGGTCCGGTGATGAAGTACCAGCGCCGTCTTGATTAACCCAGCCACGCCCGCCGCC
+GCGTGGGTGTGGCCAATATTCGCCTTTACAGCCCCTAGTGCACAGTATTGGCGGTGTGAAGTATCGAACG
+CCTCCGTCAACGCAGCGAACTCGATAGGATCGCCAATACGGGTGCCGGTACCGTGGGTTTCAACGTAGCC
+GATGCTTTCTGGGCTTACTTCTGCCAGATGACAGGCCGCACAAATGACCGCCTTCTGTCCCTCATGACCA
+GGCGCGACAAAACCGATTTTTTGTTTACCGTCATTGTTGACCGCGCTACCCCGGATCACCGCATAGATGC
+GATCGCCCGCTGCCAGAGCATCTTCCAAACGCCGAAGCACAACCACACCCGCGCCATCGCCAAACAGGGT
+GCCAGAAGCCTGACTGTCAAAAGGACGGCAGTGGCCATCGGTGGAGTGGATCATGCCCTGTTGACAGAAG
+TAGCCTGACTTCTGCGGTAAATCGATAGTAATTCCACCCGCCAACGCCAGATCACATTCGCCAAACAACA
+AGCTGCGGCAAGCGATATGCGTTGCACTCAGAGAAGTCGAACAACTGGTGTAGAGACTATACACCGGACC
+GTTGAGATTGAGACTGTAGGCAATGAGATGTGCGAGCAGATCCTTATGACCATAGATGCCAGACTCAAAA
+CGATTCAGCGCATCGCCGCCAATCTGTGACAGCGAACGCCGTAGCCAATCCACATCTTCTGACGCCCCCA
+CGAATACCCCGGTGATCAGATCGCTGGTACGTTGGGCATAGCCTGCATCTTCCAGCGCATGGTAGGCAAC
+TTCATGTAATACGCGGGATTTCGGATCCAGAGTCTGCGCCTCTTTGTGACTGTAACCGAAAAATGCAGCA
+TCAAAGTCGCATATGCCCTCGATATAGGGCTTGGCCCGTACATAGGCCGGGTTGTCCAGAGTACTCTGTT
+CGACGCCTTCGGCCAGCAACTCCTCCTCGCTAAAGAAGGTGACGCACTCTTTACCCTGAACGATGTTATG
+CCAGAATTCGTGTAACGTCCGGGACTGCGGGAAACGGACCGCCATACCAATAATGGCGATTTCCATGCCG
+TTCATTTCGCTTGCGTATTCCATAAACTTCATTACCTTTCTTCAGGGCGAGGAGGCGCCCGGATTAATGC
+AAAGACGTGTGACTGCGCGCAGTATTTTTCGCAATTTGCAAAGCACGTTTTGCTATCTGATTCGCGCGCG
+TATTCGTCTGTACTGCAGGCTGTGGTGATGGCGCATTTGACTCGCCCTCCGGGGGCTGGCAAAACGTCGC
+CAGCTGGCGCACGGTGGCGTGGTTGTACAGCGACACCACGCTCACTTGCGGATAGTGACGCGCCATTTGC
+CCACTCAGTTGCACCATATCGAGTGAGGTTGCCCCTAATTCGGCATAGTTGTCGTCAATGCCTACTCTAT
+CCAGACCCAGATACTCTTCCAGGATTTGGCAGAGCACGCGTTCCACTTCACGTGTCGCGGGGCTGTAAGG
+CACGCCAATTTCCGGACGGGGCCGCTTTTTCACTGTCTGCTGAGTAATCGTATCGTTAGCGGCAGACGGT
+ACACCGCGATCCACCCGGTTGCCCCGCGCTAATCTATCGATCGCCCGAGGTGAGAGCAGCAGTTGCGCCC
+ACGGACTGCGAGTGTTCAGTATCGGCCACAATTGGCGCATCACCTCGGCATTGCTCATGCTGAGCGCATA
+GCCGCCGAGGCGCCTTTCTGCTATCATGGCGTTCAGCCGGTCCATGCCTGCCGCAGTGCGATGCGTTACC
+ACCACCTTGCCAATATGCTGCGGCGTGGTCAGGGTGGCGAAGGCGCGTGCAACCTCGGGCAATGGTACGG
+ATTTGCATGGAAGGAGCGGTAGCGTGTTATCATCTATCCAAGCGACAATCTGTTGCAGGTAGCGACTAAA
+CGCACCATGCGCCGCGTGAAAATTAATCGGAATAAAGGTGCCGCCTTGGGCGAAGAAACGCATCGGTAGC
+GCTTTGTCTTCCACAATGTCCTTGCTGCCCAGCTCAAGAAAACGGCCCAGCGGTGCCAGCAGCGCGAGGC
+TAGCGTCAAGCAGACGGCCTGTGAGGGAGTTAAGGATCACATCCATCCCCTGTCCGTCCGATGCGGTCAG
+CAGAGTGGCAGCGAACTGTTCGTCGTGTGAATCAGCTACGGCATGTACGCCTAGCGAAAGCAAGTAATCG
+CGTTTCTGCTCGCTACCTGCTGTGGCGAAAATCTGTGCTCCGCAGCGTTTGGCAATATGTAGCGCAGCCA
+AGCCAACGCCCCCCGCCGCACTGTGGATCAATACTCGTTCTCCGGGTTGCAAATTAGCGCGCACCACCAG
+TGCGTAATAGGCGGTGAGGTATGCGATAGGCAGCGCAGCCGCCTGTTCGATGCGACAATGGGCTGGTTTT
+CTCACTACGCAATCGCTTTCTACCCGTGCGTACTGGACAAAACCACCGTTTAGCACCGCCATAACATCCT
+CTCCCGGGGCAAATTCAGTGACATTTTTACCCACGCGAGTAATGCGTCCGGCGCACTCCAGTCCCAATTG
+CAGCGGAGCCTCACCCGGCTGCTGCCGGAGCAATCCCGTGGTGAACAGCACATCCTTAAAGTTCAGTCCG
+GTGGCCAGTACCTCAATCTCTACTTGTGAATCCCCCAGCGCTAAGCGCGGCGTAGGGCACAACGCTAGCT
+TTCCTGCCCCCTCCCCCTCAGCGGCCAGCCGCAGTTGGTAGTTATCGGCACTGGGCACGCGCAGTCGCGT
+GTCGTCATCGACATCTTGTATGTGGAGCTGTACCTTGCGCTTCACCATTGCCGCACAGCGGGCAACCATC
+TCGCCTGCCATGTCGTAGAGCGTGAAAGCGTAGCTGTCACCCTCCTCATCGTGCCGATTGACAGTCAGCG
+CCACATGTAAGGTGTTCGGCAACGGGCGGTACAGGCGTAAATCCTGATAAAGGAAAGGTACCGAATCAGT
+ATGAAAACCAGGCAGTTGTTCGACAACACTGCTGGCGATGTCCAACAGCGCAGGGTGCAGTGCGATCGTA
+TCATTAGCGGCAACGGTGGGCAGGGCCAGCGTTGCGAAAACCTGAGTCTGGGCGGTATTGCCATACAGTT
+GTTGTACGCTGTGCCAGCGCGGCCCATAGTGGAAGTGCGTGCTCGATAATTCCTTTGTTGGAGGAGTGAT
+AGTGTGCATCTCGCGCATCAGCCCCGTGAGATCGCACACAACATTATCGTCTACCATCAGACGCGTCGCC
+CTGCCTCTGGCATGGGTTGTTAACGTGCCACTAAAGCGCTCCGTCATTGATTTCACCTCGACACTAACTC
+CTTGCCCGTTAGGTGAAATGTCAACAAAAACGTCAACACTGCAGTTGTCCATCACAGTCAACGGTGCCAA
+AAAGACCAATTCATCAATGCAGATTTGGTCTTGCACAAAGTAATGGCGCAGAGCTTCATACGCCAGCGCC
+AGATAGCCGGTTCCCGGCAGCGTGGCGATACCGGATATCCGGTGCTCATCCAGCAGCCAATCGGACTCGG
+GGGATAATCGCGCGTAGTAGCTGGTGTCAGCCCCTTGTTGTTTATAAGCCTGTAGCAACGTTCCCGTCAT
+CAATGGGCGCAGTCCACGCAAGACATCGTATTCACTGCCGTTTATAGCATCCAACAACATGCCCTGCTCA
+CGCAATGCATCCAACCCGATACTGAGCGCATTCACCTTGTAGCGGGTACGCAGTTGCTGTGCCAGTGCAT
+CCAAATAGGCGCTGGCGGTAGCATAGCCTGTCTGGCCAATCTCCGCATTCACGGCAGCCAACGAGTTACA
+GAACAGCAGTAGCAGACGCTCATCCAGCAGATTCCGTTGCGCTAACGCATGCAGCACATTAGCAGTACCC
+CGTTCTTTCACCGTTAGCGTGTCGCGTAGCGCAGATTCGCTCAATTGATGCAGTGTCAATGTGGTGGTAG
+CGTCGGCAGCAAAAATCACGCCATCCAACCGTCCATAGCGTTCGAGCAGAGTTGCCAGACAAGCTCTAAC
+CGCCTCCGCCTGCGTCACGTCGCAGTGGATAACGTCTAATGCGTCCTGCTGCACCGCTTCATGGTGATAA
+CCTGTGCGGCTGCTCAGTACCACACGGACTCCCTCACGCTGAGCAAGCGCTTCGCCGATCATGCGGCCAA
+TCCCCTTTTCACCGCCGATAATCCACAGTACGTTGCCCGGTATACACCCTGTTTGAGGGGGTAAGTGCGC
+CAACAGCCGTGTCGGGATAAAGCGTCGCAGGTAAAGCATCCCCTGCCTGAGCGCCATTACCGTTTCTTGT
+TTCGGGGCCAGACGCTGGGTTAGCAAGTTCAGATTCTCATCACTGCTCTGCGCATCGATATCGATCAATC
+GTACTTCGGTCGGGTGCAGCTCTTGGGCAAACACGTTTACTGCGCCCGACAACGCTGCCAGCGTCGGTTC
+GGGATTATCCTCTTCCTGTACGCGAAACGCACCATGGGTCAATACTGTTAAGGACGCCAGCGGCGTGGTG
+CTGTGCATACACCAGCGAGCAACACGATAAAGTCCCGAGAGCGACTGTGTCAACGATGATCCTGCCTCCG
+CACCGGGAGCATACAAGCAATGTAACTGTCGGTAGGTTTTGTGTGCTAAAAGTGCGCAGATGTCGTGGAA
+ATGCGTCAGAATACGGTCATTATCCCACACGTCGTCCTCTGACGATATCGGCAGCGGCATTGTGATGCTG
+TCGACACCACTACTCATCAGCGTCTGCTGTAACTTGTCGCCGTCAGCACTAATAATGATGATCAATTCGC
+CCGGCGCATAGAACGCCTCCCGCAAGGATGTGTCGTGCATCCGCCACAGCACACGCTGGAGCCACTCATC
+TTGCGGACGGCGCAGAGGATTTGGATACTGGCGATAACCGGAAAGTGCAGCACCATAGCGATAGTAATAA
+GTCTGTTCGAAGGGGTAATCCGGCAATGGAATGTGCTTGCCGAGTGCCGTCTGGTTAAAGCGTCTCCAAT
+CAATATTCTCCCCCCTGACCCACAGCGCCGCCAGCGTACGATGCAACATGTGCTCATCATCGATCGCCGC
+GTTGGCTTTGCGTAGCGTCAACAGGGTCGGCTGATCGCTGTATTGGTTATGTCCTTGAATAAAGGTAGAG
+AGCGTATTACCCGGCCCACATTCGATAAACAGCGTGGGTTGTACCAACAGTTGCGCCGCACCTTCGCTAA
+ACAGCACCGCGTTGCGCACTTGCTGCACCCAGTAATCCGGCGAGGTAGCTTGCTCCTCAGTAATCCATGT
+ACCGCTTACATTAGATATAAAGCGCTTGTGCGGCGCGTGCATCGGGATTTGCCCCAGCAACTGTGCAAAA
+TCGTGCAGCATCGGCGTCATCATGGCCGAGTGGAATGCGTGAGAGGTTTTCAGGCGCCTGTGCTGTATCC
+CGCCCTCGACTAAGCGTGTGCTCAAACGGGAAATGGCCGCCTGCTCGCCCGCGACTACGCAAAAATGCGC
+GCTATTATTAGCTGCCAGTTCAATACCCCGTTCTGCAGCTAGCCATGGGGTCAACTGTTCGCGACTAAGG
+TAGACCGCCATCATGCTACCGGGACGCATGGACTGCATCAAACGTCCGCGCGCCTCAATGACGTGCAGCG
+CATCCTCAAGAGTAAATACGCCAGCAATACAGGCCGCAACATACTCGCCCAGACTGTGCCCGATCATACT
+GTCCGGCGTAATCCCCAGATCAATCAAGGTGCGCGCTAGGCTGTATTCGACACAGAACAACGCCGGTTGT
+GTGAACTGCGTTTGATCAATATCCCGCGTATCCTCATCGTCAAACAACAACGCCTTGAGATCGACCGTCG
+AATAGCGTTGGAATGCAGCAAAGCAGCGATCCATGTGCTGGCGAAACATGGGTTGATGAGCATAGAGCGC
+GCTGGCCATGCCGTGATATTGGCTACCTTGACCAGGAAACATGAAGCAGATCTCCGCTGTCGTGCGCTGA
+CCATTGAAGATTTCCGCTTGCAATATCGTGGCACAGGAGAGATCGATTTTCGACCCACGACTCACCAAAT
+AAGCCCGCCGATGGTCAAAGGCTGTGCGTCCAGTTTGCAATGTATAAGCCACATCCGGCAGGCGCACCCC
+TACTCCATGCTTGACATATTCCAGTGTGGAGGCCACGCGCAACTCTAACGCAGCGGGTGTTTTAGCGGAG
+AACAACAACAGATAGCTGTCGCGTACCCCCGTCGCTGAAGGGTCGTCCTCATGTTGATGTGCTTCTAGTG
+CGATGCTGGCATTGGTGCCGCCGATGCCGAAGGAGCTCACCAGTGCACGACGAGGACGCGTCGACGGCCA
+CGGTTGGACTTGCTGGTTAACGTACAATGCAGAACGCGATAGATCTATAGCAGGATTGAGTTGGCGAAAG
+TGCGCTGTTGGTGGCAACACTTGATGATGCAGGGCGAGCGTTGTTTTGATGACGCCCGCCACTCCCGCAG
+CGGAGTTGAGGTGGCCAATATTACTTTTCAGCGCTGAAACCACACAAAACGGAACAGGTGTTGGGCCAAA
+CACCTCATTAAGCGCACGTAACTCAATAGGATCACCCAGCACCGTACCGGTGCCGTGCGCTTCCACCAAT
+CCGATACTGTCGCTATCAAAACCGGCACGGCGCAAACTGGTGCGGATTACCGTTGATTGCCCGATCACAC
+TCGGCGCGGTATAGCCGATTTTGTTATTGCCATCATTATTGACCGCCGAACCTTTGATCACACCATAGAT
+GCAGTCCCGATCCGCCAGCGCGTCGTCCAGACGTTTTAGCAGCAGCATTCCTAAGCCATCACCGGTGACT
+GTGCCAGAGGCTTGGCTATCGAAAGGACGACAGACACCATCTCGCGCATTGATCATGCCTTCATGATATT
+CATAGCCCCGGTACGCAGGCATCTCGATAGAAACGCCGCCCGCCAATGCCGCATCGCAATCCCGGTTACG
+TAGTGCGATGCAGGCCTGGTGGATAGCCACTGCCGAAGTGGAGCAGGCGGTGTCAAGCGTCACGGCAGGG
+CCGGTGAGGTTAAGCGCATGGGCAATCAATGCTGTGACGGAATGGATATTCAGGATACTGGCCTTGTACA
+GGGCGGTAGAGTCGGTAGTGTCTTGCATTACCGCATTAAGCCAGTGGGGGGATGTCAGCAGTCCGGCATA
+AATGCCAATCGCACCAGTAAAGGTGGCAGGATCGCACCCAGCGTGTTCCAGAGTTTGCCAGCAGCACTGA
+TGCAATAAGCGAATTTGCGGATCCATACATTCCGCCTCGTTGGGAGTATAACCAAAGAAATCCGCATCAA
+ACCATTCGTGATCATCAACAATCCCTTTGGTTTTTATATAATTCGCTTGTTTAAGCGTGTCAGGTGTCAC
+ACCATGCGCGCGCAACTCTTCATCACTGAACAGTGTTAATCCCGATTCCCCTCCTACAACCAGCGTCCAC
+AACGCTGCAATATTCGCCGCACCGGGGAAACGTCCCGCCATACCGACAATCGCCACCGGCATGTCGCTGT
+AGACAACAGCACGCGTTGGAATTGCATCCTCCGGCGATACGGCAGTATCGAGAAAATGTGCTAACGCCGT
+GAGCGTTGGGTACTTAAAGAGATCGGTAATATCAATCTCCAAGCCAAGTTGCCGCTTAATATCCCCTTTA
+ACCCTGATGGTATCCAATGAGGTGCCACCGAGGGCGAAAAAGGAGGCATTGCTATCAATGTCTTGTCTAT
+CAAGTACGCGTTGCCAGATAGCATGCAGCGCATGTTCCATGTCACTATGCACCTCTGATATCGTGGTGGA
+CACGGCGTTGCACTGAGTTGCGGGCAGGAGATACCGCAACTGCGCCAAGTCGGCCTTGCCACTATGGCTT
+TTTGCAATCTCCGTCACCACCACCAAGGATTCCGGAATAGCGAATGGCGGCAATCTGTCAGCCAATTGCC
+CTCGAACTTCCACCTCATCATAGCTATCATTGACGCAGACCACTGCCGCAATATGCAGCGTTTCACGTAC
+GCGGTAAGGAACCACTACCGCCTCGATAATGCCGGAGCACTCCAGCAGGCGCTGCTCGATCTCTCCGGTT
+TCAATTCGTTGTCCATTGATCTTAATTTGACCGTCTTTACGCCCAAAACAGTCAACACAGCCATCATCCA
+GCAACCGGGCATAATCGCCAGTTTTGTACATCATACCGCCGGGAATAAAAGGATCAGGGACAAAAACCGT
+CGCACTTAGCGCCGGGTTGTTCTGATAGCCGATGGCGACCCCCACTCCACCCGCCACTAGTTCACCGGTG
+GCACCGATAGGCAACAAATGCCCATGGAGATCGGTAATGTAGAGCGAGGTGCCCGGTACCGCGTATCCTA
+TCGGGACTCGGGCGGGTTGCAACCCGTTGAAACGATATGCGGTGGTAAAAATAGTGTTTTCCGTCGGCCC
+ATAACCGTTTGTCACCACCAGATGCGGGTATTTTTGCATCACGTCGTTGACATGCCACGCAGATACTGCT
+TCGCCGCCCACCGTAATGTGTTGTAACATACCGAAGAAATCGGCACCTTCTGCCACATAGGAGTTAAACA
+AGGATGAGGTAAACCAGGCGCGCGCCACCTGTTCATCAGCGATCGTGCGGCGAATGTGATTGATATCAAG
+TAATGCCTGTTTGCTGAGTAATACTAGTTTGCCGTGGTTGAGCAAGGTAGACCACATCTCAAACACCGAA
+ACATCAAACTCAAATGGGCAGGTCAGCAGCGTTGTCTCACCGCTCTCCACCTTCAGCGGGCTGTCGCCTT
+GTATCAGGCGCAATAAACCGCGGTGCGCCACCGCGATACCTTTTGGCTTACCCGTCGACCCCGATGAATA
+AATCACATAAGCGCGAGAATCTGGTGTGATAACCGGAAATACCACCGAGGGCGCGACGGGAAATGCACAG
+AGGTCACTCTGCGCAACGTTTAATGCATCTAGCGGTTTGCCATGTACCAGCAACAGCGCCAAGCCGCTGT
+CATCAATAATTTCCTGCATCCTACCCACTGGGTAGTCGGGGCTGATGGGCACATAAGCAGCCCCGATCAA
+CATGATGGCGATGATGGCAACCACGGTGTTTACCCGGCGTTCGCTAATTATGCCTACAGTATCGCCAACC
+ATAACACCCTGCTGTACCAAATAAGCCGCGAGCTGCTCAGCTTGTGCTGCCAACTCCGAATAGGTCAACG
+CGCACAATTCATCAACCACTGCGACCTGTGCTGGCGAAGTCGCAGCAACTTGATGAAATTGTTCGATGAC
+GTTGGATTGACTATCCCAATCCCGGCATGCCATGCGTTCCAGATAGGGTTGAAGTACCTGCGCCTGCTGG
+CATGGGGACAAGTTTACCAACGCAGCAATGGGGCGCTGCGGATTGTCCACCAGTTGTTCAAGCAGATAAC
+TCAGGTGCATCAGCAACGCTTGCGCCATGTTGTTGGTCAGGTAGTTAAGGGCATATGCAATACTGAAACG
+GAATCCCTTCTGTTGAGTGATGGTCAAGGTCAGCGGATAGTGCGTTTGTTCATGTACACTGAGATGGCGA
+ATTGCCACGGGCGACGCGCATGACAATAATGTCATATCAACGGGATAATTCTCCAACACCACTAAGGTAT
+TAAAAAGATCCCCAGCATGACCTTCTTTATGTACCAACCGTTGTATGCTGGCTAAGGCATCATGTTCATT
+GCTGTAGTGAGCTATTAGTGTTTGGTGCATACGTTGTAAGTGTTGCAACAGTGTCGCCCCATCATCACGC
+AGACGCAGCGGCAACGTGTTAATAAATAGCCCTAGTGTTTCTTCTATACCATCAATTGGTATATTTCGCC
+CTGATATTGTCGCGCCGAATAACACATCGTCAGCATAGCACCAACGTTGTAGCAGGATGCCCCAGGCCAC
+ATAGAAGATTACTGCGGGGGTGATACGATAATCGCTGCATAGCGTCTGTATTTTCTGACACACATCCGGA
+GACAAATTGATCTCCACATGATTTGTTTGATTAACGTAAGAATTGTTCTCGGCTTCAGTATCTGTGTGAT
+ATTGTGACAGCGGCACGATACAAGTTGGTGTTCCCTCCCGAAGATATGCAGCCCAATAGTCGTGCTGAAA
+GGTGTGACGTCGGGCCGACAGTGTGTCTACAAGGGGTTTCAGAGATGAGGGGATAATGGCGCTATCATCC
+CTCACACCACTGACCACAGCCGCTCCATAGAGTTGGAGCAACTGTTTAATGAAAAGGGATAAGCTCCAGC
+CATCCATCACAATATGATGGTATGATAGTATAAAAGCACTTTCTTTCGTTGACTGAATAAGGTAGGCCCG
+GACTGGGATCGTTTTCAAGGAAAATGGGTATTTTAAATCAGCCTGTAGCAGTTGAGGAATTATAGCATCA
+ATACCGTCATCCTGCGGGACAGGAATGATAATGTCATCATTAGCTAGTAGAAAACGTATTTCCTCTTGCT
+CACAGTCTAACACATATATATCCGGCAACACATCGGTCTTCACCACCTGACAAGGGCGCTCATCAATCTC
+CCAGTTATAATCAGTGCGAAAACACTCATGCTTTCGAAATAACGTTTCCAGCGCCCACTTGAAGTGGGCG
+CTATCTACATGCTGAGAAAAAATGCATGTAAAATGCTCATGGTAGTTACTCCTTTTCTTATCCTTTAAGG
+AATGGAATAAAAACCCCTGTTGACTTGGTGTTAGCGGTAACTGCTTACGCGTGTCCATCTTATTACATGG
+AAAATCTCCAGAGGTATTATCCATAACCATCACCTTATTATCGGATTTATAGATTATTTAACATGATTAT
+TCTAAATGGCACACCTATCCGCAAGTATAGTTTTTTATTGCGTATTCATATAATCATATTGCATTTTATC
+ACTTACAGGAATACCCCCAAAAAATCCTTATATTCTGATTACATGTTTTTCTTCAATGAATTAGATTCTG
+TCTGTAAGCAAAAACATGTAAGTCATGCAGTACATACATGATGTAGCGGGTATGAATTGATACAGCCACC
+ACATAGAAAATAATGCGTAATTCCCATTTACATAAAAACCGTTGTATCGTAAATTCCTCTTAAATACTGC
+CAAAACAACAGATACACAGATACACAGATACACAGATACACAGATACACAGATACACAGATACACAGATA
+CACAGATACACAGATACCATTCAGGATGGGGGGAAACATGGATAAGTTCAAAGAAAAAAACCCGTTATCT
+CTGCGTGAAAGACAAGTATTGCGCATGCTGGCACAAGGTGATGAGTACTCTCAAATATCACATAATCTTA
+ACATATCAATAAACACAGTAAAGTTTCATGTGAAAAACATCAAACATAAAATACAAGCTCGGAATACGAA
+TCACGCTATACACATTGCTAACAGGAATGAGATTATCTAAATGAGGATTGATATATTAATTGGACATACT
+AGTTTTTTTCATCAAACCAGTAGAGATAACTTCCTTCACTATCTCAATGAGGAAGAAATAAAACGCTATG
+ATCAGTTTCATTTTGTGAGTGATAAAGAACTCTATATTTTAAGCCGTATCCTGCTCAAAACAGCACTAAA
+AAGATATCAACCTGATGTCTCATTACAATCATGGCAATTTAGTACGTGCAAATATGGCAAACCATTTATA
+GTTTTTCCTCAGTTGGCAAAAAAGATTTTTTTTAACCTTTCCCATACTATAGATACAGTAGCCGTTGCTA
+TTAGTTCTCACTGCGAGCTTGGTGTCGATATTGAACAAATAAGAGATTTAGACAACTCTTATCTGAATAT
+CAGTCAGCATTTTTTTACTCCACAGGAAGCTACTAACATAGTTTCACTTCCTCGTTATGAAGGTCAATTA
+CTTTTTTGGAAAATGTGGACGCTCAAAGAAGCTTACATCAAATATCGAGGTAAAGGCCTATCTTTAGGAC
+TGGATTGTATTGAATTTCATTTAACAAATAAAAAACTAACTTCAAAATATAGAGGTTCACCTGTTTATTT
+CTCTCAATGGAAAATATGTAACTCATTTCTCGCATTAGCCTCTCCACTCATCACCCCTAAAATAACTATT
+GAGCTATTTCCTATGCAGTCCCAACTTTATCACCACGACTATCAGCTAATTCATTCGTCAAATGGGCAGA
+ATTGAATCGCCACGGATAATCTAGACACTTCTGAGCCGTCGATAATATTGATTTTCATATTCCGTCGGTG
+GTGTAAGTATCCCGCATAATCGTGCCATTCACATTTAGAGATCATCCGGCATAATCAATCTGCCAACGAA
+GGAGAGCGCTATGCGTAAAGCCCGTTTTACTGAGCATCAGATCATCGCCGTGATTAAGTCGGTTGAAGCC
+GGACGAACTGTTAAAGATGTCTGTCGCGAGGCCGGAATCTCTGAAGCCACCTATTACAACTGGAAGTCCA
+AATACGGCGGCATGGAGGCTTCTGATATTAAGAAAATCAAGGATCTTGAGGACGAGAACCGCCGTCTAAA
+ACAAATGTTTGCCGACCTGAGTCTGGAGAACCGGGCGCTGAAAGACGTTATCGAAAAAAAGCTTTAAAAC
+CAGCCTTTAAGCGTGAGCTGGTTACTCATCTGATAACGACGTTCGAACTCAGTATCCGTCAGGCCTGCCG
+GAGTCTGAACCTGAGCTGGTCTGTCGATTTTATGCATGATGCCCTGGTCTGTGGCCGTCGTTTTCGCATG
+TTCAATGTCGTTGATGATTTTAACCGTGAGGCATTGTCGATTGAAATCGATCTGAATCTGCCAGCTCAGC
+GAGTGGTCCGTGTACTCGACAGGATCGCGGCAAACCGTGGCTATCCGGCCATGCTTCGTCTGGATAACGG
+CCCGGAATTTATCTCCCTGGCACTGGCTGAATGGGCAGAGAAACATGCAATAAAACTGGAGTTTATCCAG
+CCGGGTAAGCCGACGCAGAACGCTTTCATTGAGCGCTTTAACCGGACATACCGAACAGAAATACTCGATT
+TTTATCTGTTCAGAACGCTGAATGAAGTACGGGAAATCACTGAAAAATGGTTATCAAAATATAACTGTGA
+ACGCCCGCATGAATCGCTGAATAATATGACACCGGAGGAATACCGACAGCGCCATTATTTGGCCGGGATC
+TCAAAAAGTGTATGGAACTAAAATGGGTCTATTTACACTGCTGCTACGATAATGCCTGCGTGGAAAGCTT
+CTTTCATTCACTGAAAGTGGAATGTCTCCATGGAGAACACTTTATCAGCCGGGAAATAATGCGGGCAACG
+GTGTTTAATTATATCGAATGTGATTACAGTCGCTGGCGACGGCACAGTTGGTGTGGCGGTCTCACTCTGG
+AACAATTTGAAAACCAGAACCTCGCTTAGAGCAGTGTCCATATTACGAGGGTAGGATCAGTCGTTTCTTT
+CGCGGTAACTTTATATGATCGCTGTGTACCAGCATCGAGAGAAGAAATTCAGGATGTATTCAACACTGAG
+TTCACAAGCTCTGTAGCTATTAAGTCAGTATTATTTACGTTTACGATACATGTTATTATCGCAGGATCTT
+TATCTTGGTAGTGATACTGCGAGTGGATACACCCCCACTCAGTATCTTCTATAACTATGGCTTTTGGTTC
+TTCAGGCATCATACCTTCCATAACACGTTCTTGATGGATACGTAACTTGTAGTACTTCTCTGGAGATGAA
+GAAATTTCAACGAGTACAGATTGTAGATGTACGAAGCCTAGAAATTTAAAACACTCGGATTTTGTAGAGG
+ATTTTAATGATAAAGTCCAGATAACAAACACGTTATTGGAACCATCACCATAATTTTTAGTGTCAATCTT
+ATCTACCAGCTCCTCGTTGATTAACATAGACTGATTTAGCAACTTCCGCTTCACGCCCTGAGCGGACTGT
+TATCGCTCTTTAGACACAGTTCCACTAGGGGAGAGGATCAGCGCTTCCCACGTAGGGACACTATAGTAAC
+TATCACCACATGCAGTAGGGAAGCTCAAACCAAATTTATGTAGCCAGCTCCTATTGGTGGTCATTCTGGT
+GGTCTTGACAGGAAGATAACTCTGGTTTAGCTTACTTATTAGCCACTTACTGGCAAAGGCGATCCCAGTC
+AGAGGAGCCAAATTCAAAAAAGCCTGCTTTCGAGCAGGCTTTTTACTTTCTAATTACCAACGCTCTTAAA
+ACATCTGTCTTGAACCAGAACTAATTTGCACAGGCATTCCCGATCGATGTTGCAACGCAGCATTTGCGCG
+ATTTACATCAACTTCTTGCCCGTTGATAAACGCCCGCAAAGATGGGGTTACCGGCAATGGCACTTTTCGG
+TCAGACTCATATTCTGCACGATTGCGCGACAGCGGCTCATGAACTTCCAGCCACTTTGAACCATCCGGTT
+CCGTTGTGTATTTCACTGGCTGATCAATAATTTGTACACGAGTGCCTACAGGAACATTATCAAACAGATA
+TTTGATATCGTCATTACGCAGACGAATACAGCCCTGACTTACACGGAGCCCAATACCAAAATTGGCATTG
+GTACCGTGGATGGCATACAACTTGCCAATATAAATCGCGTACAGCCCCATGGGGTTATCGGGCCCCGCAG
+GAACAAATGCGGGCAAACTCTCCCCTCGTTTCGCATATTCGCGCCGGGTGTTCGGCGTTGGCGTCCAGGT
+TGGTGCTTCTTGTTTACGTTCAACGGTAGTCACCCAGTTACGCGGGGTTTCTCGCCCAGCCTGGCCGATA
+CCAATAGGAAAGACTTCCACTGTATTACTGTCTGGCGGATAGTAATAAAGACGCATTTCAGCGACGTTAA
+CCACAATCCCTTTACGAACAGTGGCGGGCAAAATCAGTTGCTGCGGAATGGTGAGTTGTGAGCCAGGCTT
+CGGCAAAAAAACATCAGCGCCCGGATTCGCTTCCAGCATATTACTTAACCCTTGCCCGTATTGTGCGGCA
+AAAGTCTCCAGCGGCTGAGTATTGTGATCAGGAACAGTTACAGTAAGCGACTGCCCCACTAAACGGCTAC
+CCTCTGGAGGTAATGGATAAGTTACCGCCAGGCTATTTTGGCTGGCAAAAAGCAGAGCAAATGAGCAAAG
+AATATTTACACGACGCATCATGTCCCTTTCCTAAGTCGCGAATACTATCCGATAAGTATAGCTTTTATCA
+GACTTTTCGTTTTTAGCTGTTCAAATCAGAAGTCGTATTCCCCGGTAGAACAATATTACTGGCAGCAAGT
+TCGCCCATGTTGTTGTATATCGCACAAGCAGCTTCGATGATGGACATCGCCAGAGCTGCACCACTCCCCT
+CACCTAAACGCATATCCATATTGAGATAAGGCTCCAGCCCCAAATGCGAGAGCGCTATACGCGCGCCTTT
+TTCTGCCGACAAGTGAGAAGGAATGAGATACGGTTTGATTGCAGGAGACATCTGGCAGGCTGCGAGCGCA
+GCAGCATAAGAAAGAAATCCATCCAGCAACACGGGTAAACCGCAGGAAGCAGCACCTAACATCACTCCAG
+CTATTCCGACCAAATCAAATCCACCCACTTTTGCCAGGACATCAACACCATCCTGAGGATTTGGTTGATT
+CAACGTAATCGCCCGACGCACAACATCAATTTTATTAGCCAGTTTATCTGTCGGCAGGTTTGCGCCAATC
+CCAACCACTTCTTCAGGATCCCGGCCAGTGATTGTGCTGACTATTGCCGCTGCCGGTGTCGTGTTTGCCA
+TCCCCAGTTCACCTACACCAAACAGCGTGACACCGTTTTTTGCCAGCTCCCGCGTATAACATATGACGTC
+CAAAAGCAACTTTTCAGCCTGACGGCGACTCATTGCCGGAGCTGAAGCAATATTGCCGCTACCTCGTGCG
+ACACGCATGTTGATAAGCCCGGGGATAGGCTCAGCAGTATCAATACCAACATCAATTACGTGGACGTTAG
+CGCCCGCTTGTGCTGCCAGCACACACACGCCGGTTGTTCCACGGGTCATATTTTCAGCCTGTATGGCTGT
+CACTTCTTTTGGAGAAATAGCGACCCCTTCCTCCCAGACGCCGTGATCGGCACACATAACCAGTACTGCT
+TTTTTGCCCACATGCGGTATGCCATTCAACCCCGGCATTCCTGCCAGTTGTATGGCAAGCGCCTCCAGCT
+TTCCCAGGCTACCAACAGGTTTGAGTAACCCGTCAACATGCCGTTGTGCACGCGACATAGCGGCAGAATT
+GATGGCTGGGATCGTATTCAGTAAATCGGCAAGTATTTGCATGTCACGTCTCTTTATAGCAGTGCCAGCA
+GGAAAACCAGTTCACCAAACTCTATGGCTGCTCCCAGCGTATCGCCCGTTTGCCCGCCCAGCGTACGTTT
+GAGAAGCTGACCGAGGATGAAAATCGCCACCATCGTCACCACCATAGCAGCCACACCATGCATACCCGGC
+AATAATACGGCAGCAAAAATAGCGGCTAAGCCGAGTGTGACGCAGGTTTGTCGCCCATCAATTTTGCCAA
+TGAACACATTGCCAAGCCCTTCTTCCCGCGCATAACGATGACGATACATCAATAATGCGGCAGTCCCGCG
+GCTGACCGCACATGCTGCCGCCAGCGATGCAAGGATCGGTTCGCCACGCAGAGCCAACTCGCTTAACACC
+AGAATCTTTGCCAGTACCACAAAAATCAATGCCAGACCGCCGTGGGTGCCTAAACGGCTATCACGCATGA
+TTTCCAACATGCGATCGCGGCTACGTGCAGAAAATACGCCATCACAGGTATCAGCGAGGCCGTCCAGATG
+GAATCCCCCGGTCATCAGCGCCAGCACAAGTACGCTAAACAGTGCCGCCAGTGGTACGCCACACCATGCC
+TGCAGCACCATGAAGACCAGCCCGCTAATCGCGCCAAGCAATAATCCAATCAAAGGAAAAGTAATAATAC
+CGCGAGAATAATGCTCGAAATCCAGTCCCTGGGACCAGCGACGCGGTACAGGCAGACGCGTAATAAATGA
+GAGCATCGCCCAAAATAATTTACTCATTTGATTTTTACTCCAATACCCGAAACCACCAGCCATACTTCAT
+TTGCCGCAGCGGCCAACTGCTGATTTACCCGCCCGGCAATATCACGAAAATGTCGTGCCAGACGACTCTC
+CGGCACAATCCCCATTCCCACTTCGTTAGTCACTAATACAACCTTTGCGGGGCAACGTTGGCAGGCAGCA
+ATCAACGACTGAATCTCAGCATTAATCGCCTGTTCCATCGCCTGATAATCCCATTCATCAGGGTCTTTAT
+CGCCGCCATAATCAAACAACAGATTAGTCACCATTGTGGTAACGCATTCCAGCAACACAGCCTCATTCGG
+GTTAATGTCTGCATGAATTAATTCATCAAGATGTTGCCAGCGCTCCACTGTGCGCCAGTGCTCCGGGCGG
+CTTTGCCGATGATGTTCTATCCGTGCAGCCATCTCATCATCAAGGATTTGCGAGGTAGCGATATACAGAA
+CCTGTGAAGAGTCCCCAATAAGCACCTCTGCGTGGCGACTCTTCCCGCTCCGTGCGCCTCCCGTCACCAA
+AATCATCATACCGACTCCTGATTCAAATGTATGATGGTATTCATTGAACAGAGCAATGGATCCCCCACCG
+TTGCTGACCGCAAAACATTTACGCGATTAATACTGCGCGTAATATAATTAAAAATCCAGCATTCTCAATC
+CATTACGAAATAAGATGGCATTACGGAATAGCCAGACTTTCTCGTGTTAACGTCCGACAAAATGCGTCAT
+TGACAGCGGTTTCTGTGGATTGACACATTTCATTCAGATAATGAATTAATGCTACTGCCGGACCAACCAG
+CAAACGGGCATTGTGTTCTGAAATCCAGGCTATTGATTCAACGTCAGCGACAGATCTGCGCTGTGAAAGA
+AGTTGTAAAACAACGCAATAAAATTATCCGGAATGGTGGCGACTATGCACTAGAACACCACAATTTCGCT
+CTCTCGGTAAGGCACTGTCACAGCATTCAACAGAATGTGACTTGCCAGATTTATTAGCGCCACCAGATGT
+TTAACCGGGTAACCACGACCCAGTCGGGGATATATTCCATCTTCTCGCTGACATCATCAAGAATAAAAAG
+GTTTATCACACTCAGAGCAACGTTCTTCAGCAGGCGGGATAATTCTTCAACATTTAAAAGATGTGTTATT
+AAAGGCATACAAACTGGACGTATTGTATTTTCTTTTGGTGGTTGACCTAAGGTAGCAGTTTATCCTGATG
+CGCTGAGATTTCTGTAATATCTACGTCAACATTCTCCTCGAATAGAAAATGCAGCCTCGGCAAGTGATTC
+ACATTTTTTAACAAAGCGTTGTTAGCGTGCCATTTTCAGAAGCTCTCCAAGAAAGCGAATTCTTTTCTCA
+AATTCTGCATTCTCAGACACAGCTTTCTACTCCATGGCAATGGCCCAAATACGAAGTTGCTCAGGATCAT
+TAGTGGTGCTGAGAAGTTAAATAACCATGCGGAGTACCACTCGTCATCACGTATTTATATATCATGAAGC
+TATTGTTGTGTTTTGTACATCAGTAGATGTATTCTGATATACTCCTTTTTCTAGACATAACCTTTCACCT
+GCTTGCAAAGCTTCTGTGTTCTGACATTGCCAAATTGTTGCAATTCTGTATCCAGCCTTCTTTCAGTCAT
+AGCTTCGGGCCGCGATAAGACTCACTGATCTGACCCTGATTCCTCTTGCAGACTTTATAGACCAATTAAA
+ATGCAGTTTCTGCAGGTCAACGTCTGACCATCATTGTCATCACTCTGGCCATTAGAGTAACCTTCTGCAT
+TCATCCTTTTGTAAAAAGTTTATGTCAGTATCAGCAATTAACCGGACCTGATACTGATATGAGTCTTACC
+GCATATACGGTCAATTTCAGCAATTAATTACATTATCCACGCCAAAGTGTTTGTCATCGCAATGATGGTA
+CCTTCTTTCAGACACCATTTTTTCAACTCCGTTTTCCACGGACCGCACTCTTATGTCAAGAGTGCGGTCC
+GTGGATACAACCAGAGACCGACTGACACGAGTCAGAGGAAACGACGGATATGTTCAGTCGTAAAATATCT
+ATCAAAAAACATGATTAAGGTCAAAAATGTTTGATATTTACAATTTATGAAGATGACAATAATCACAGAT
+ACATGAGAACATAAATGATAATAATTATCATTACAGCAATCATTTGTACTTTGTATTAATGAGGGATGAA
+ATGTTATATAATATACCTTGTCGAATTTATATCCTTTCCACTCTGTCATTATGCATTTCTGGGATAGTTT
+CTACTGCAACCGCAACTTCTTCAGAAACAAAAATCAGCAACGAAGAGACGCTCGTCGTGACCACGAATCG
+TTCGGCAAGCAACCTTTGGGAAAGCCCGGCGACTATACAGGTTATTGACCAACAAACATTGCAGAACTCC
+ACCAATGCCTCCATAGCCGATAATTTGCAGGACATCCCCGGAGTAGAGATAACAGACAACTCCTTGGCAG
+GCCGTAAACAAATCCGCATTCGTGGCGAAGCATCCTCCCGTGTTTTAATTCTCATTGATGGTCAGGAGGT
+AACTTATCAGCGCGCCGGAGATAATTATGGTGTGGGACTGTTGATAGATGAGTCTGCGCTGGAGCGTGTT
+GAGGTAGTGAAAGGTCCATATTCCGTACTGTACGGTTCACAGGCAATTGGCGGTATTGTTAACTTCATAA
+CCAAAAAGGGAGGTGACAAACTTGCATCTGGAGTTGTGAAAGCTGTTTATAATTCCGCAACAGCAGGCTG
+GGAAGAATCAATCGCGGTCCAGGGGAGCATCGGTGGATTTGATTATCGCATCAACGGTAGTTATTCTGAT
+CAGGGCAATCGTGATACGCCGGATGGACGTCTGCCGAATACCAACTATCGTAACAATAGTCAGGGTGTAT
+GGTTGGGTTATAACTCCGGAAACCATCGTTTTGGCCTCTCGCTTGATCGCTACAGACTCGCGACGCAAAC
+TTACTATGAGGATCCAGACGGAAGCTATGAGGCATTTAGTGTCAAAATACCTAAACTTGAACGAGAGAAA
+GTTGGGGTATTCTATGACACAGACGTGGACGGTGACTATCTAAAAAAAATTCATTTCGACGCGTATGAGC
+AGACCATCCAGCGCCAATTTGCCAACGAAGTAAAAACGACACAGCCTGTTCCCAGTCCGATGATTCAGGC
+TCTGACCGTTCATAACAAGACTGACACCCATGATAAGCAATACACTCAGGCGGTCACATTGCAGAGTCAC
+TTTTCGCTGCCTGCTAATAATGAACTTGTTACCGGTGCACAGTACAAACAAGACAGGGTCAGCCAAAGGT
+CCGGTGGCATGACCTCAAGCAAATCTCTGACCGGCTTCATTAATAAGGAAACACGAACTCGCTCCTATTA
+TGAGTCAGAGCAAAGTACAGTCTCACTATTCGCACAAAATGACTGGCGATTCGCCGATCACTGGACATGG
+ACAATGGGAGTTCGCCAATACTGGCTTTCTTCAAAGTTGACGCGTGGTGACGGAGTATCATATACCGCAG
+GCATTATAAGCGATACCTCTCTTGCCAGAGAGTCTGCGAGTGATCACGAAATGGTAACATCTACAAGCCT
+GCGCTATTCAGGTTTCGATAACTTGGAGTTACGCGCTGCGTTCGCGCAAGGCTACGTATTTCCCACACTC
+TCCCAGCTTTTTATGCAGACATCTGCGGGCGGCAGTGTCACATACGGAAATCCTGATCTTAAGGCTGAAC
+ACTCCAATAACTTTGAATTAGGTGCACGATATAATGGTAATCAGTGGCTGATTGACAGCGCAGTTTACTA
+CTCAGAAGCTAAAGATTATATTGCAAGTCTGATCTGTGATGGCAGTATAGTTTGCAATGGTAACACCAAC
+TCCTCCCGTAGTAGCTACTATTATTATGACAATATTGATCGGGCAAAAACATGGGGACTGGAAATAAGCG
+CGGAATATAATGGCTGGGTTTTCTCGCCATATATCAGTGGCAATTTAATTCGTCGGCAATATGAAACTTC
+AACATTAAAAACAACTAATACAGGAGAACCAGCGATAAACGGACGTATAGGGCTGAAACATACTCTTGTG
+ATGGGTCAGGCCAACATAATCTCTGATGTTTTTATTCGTGCTGCCTCTAGTGCAAAAGATGACAGTAACG
+GTACCGAAACAAATGTTCCGGGCTGGGCCACTCTCAACTTTGCAGTAAATACAGAATTCGGTAACGAGGA
+TCAGTACCGGATTAACCTAGCACTCAATAACCTGACAGACAAACGCTACCGTACAGCACATGAAACTATT
+CCTGCAGCAGGTTTTAATGCAGCTATAGGTTTTGTATGGAATTTCTGATGACAAAAACAATCGTTATGGA
+ATTCTTTGTCCTGATCTGCCCGCTTTGCGGGCAGGCTAACGAACGTATTGTGTTTGTTGAAGGTTTTTCG
+ACGTTGTTTTCCATCTGGGGGTGAATATTTATTCTTCCCGCCAGCATGACTCTATAGTCATTGCTACGAC
+AATGACTTATAAAGCTGGTTACTGAGCCTATACCTTTGTAATTCAAAAGTGATATCAGTTCACAACGCAA
+TACTATTTTTAGATTATTTACTCTCACCCAGATACTGAATCAATGGATAATACCTTTTGATTTATCCCGA
+CTCGGAAGAAGGTGGGATAAATATTCTCCTTCTATTGCCCCTTACTCCAACTATCATATTTTACAATATC
+AACGAACCGTCCATGAAGGGCTGAAATTCTCTTCCTGAAACAGCTCTGTCAGCCCGCTAATCTGTTTCAG
+CCTCAGCACTTCATCCTGGTCCATGCCCAACTCTGTGCCAATACGCTCATCTGTCCAGCCCAGACGCGAA
+AGGTCCCTGACAATGTCAGACATTGACGTTATCTGGTGTTTTCCCCTGGCACGGTTATGCCGTATGGTTG
+CGGCAATACGTGATGCCTGTCCCTTTCTTTCCGGATTAATACAGGTCACTGGCAGCCAGCCCTTCAGACG
+TTTTCTCGTATCCGCTTTCCTGCCCAGCAACTGACGATGAAAACCATCCACGACCAGATAATGCTCCTTC
+TCTTCCGAAACCACCACAGGCTGCGTGAATCCATCCTGCTCCAGTGAATGTTTAAGCAGTTTTTTTTCAC
+TGGAAGACATGACATTGGGATTGTAATCGTTGGCCACCACCTCATCCGCTTTCACCCACAACACACAGTC
+CACAGGCTCCTGTGCAAAAGGGCTGACCTCATGCAACACCCTGCGCAGATGATTAAGGGCTCGTATGGTC
+TCTTCTTCAGATCGTTCCTGACTGAAGTACTGTCGAATCATGTTGCTCAATACTTCCACCTCAGGTGTCA
+CAGAATCCCCCATTCCTTCCTCCTTTCTTTCATACGCTGCAGATAACGTTCATAGTGCCGGGGTTTGTTC
+GGACTGAAGGAGAGGGTCCGGCACCAGAAATCATTCTTTATGAGTGTCTTACAGATACGTCGCCAAGACG
+GGATATCCCGGCTCCCCAGGTCATTCTCCTGTTCATCCGGGATGTCATCCGGGAAGCCCCGCGTCTGATA
+CCAGCGCAGGTAGACAGCAATTTTATTACGGTAATGTTCTGCCGTTCTTTCCGGCATCACATCCAGCAGG
+AACATCGCATAGCTACGCCAGGTATGATGAGGCGGCTTCGTGATACGCTTACGCAGGGCAAAATAGGCAC
+CGCTCTCATTGGCATAAAGCGCCCCGCTGGCAGCACCCGACACCCGCTCACACATCCTGGCCCAAGTTTC
+CGGCTCCAGAACATGGTAAAGCCACAGTCCCTTACGCTGTTCCGGGCCAAAAGGCTCACAGACCCGCATG
+TTGCGTAACGGCACGCCGGCACGGTACATCAGGTCATACAGGGGATTGTAGATAGCTCGGGTTCTGGCGT
+TATATATCCATATATCACGGGCTTTCCAGTCATACAACGGATACAAGGTGTAATAAAACCCTTCAGGTGA
+CGCTGTGGTCCAGGGTTTATCATCTGCATATCTCAGTTTGCGCTGAGACACCAGTCCCATAAAGCGATTG
+AGCGATTCATCAGCACGAACACCAGTCAGTATTGCCACTCCACACCGGTTACCGGCAAACCAGGAAGAAA
+ATGCCGGAACAAATTCTTCAAACGTCATGGCATACCGATAAAATGGGAAATACGACATATCTGTAATAGC
+GTCATCTGGTGGCTGACGAACCCACTCCACACCTGGTTCCCAGCATATCCATTCCGGCTGAAACTGAGAG
+ACACCGTTTACCGTAGTCAGGGGGAGTGCCACCCAGTAAAAAGTCTCCGTCACATCCCGATACATCTCCC
+TCATCTTCAGAATGTGTGCAATTGTGCACTGGTACTGAGCTTCCCAGTCAATGAATAATACAGAGAAACG
+ACGTTTCTTCCTGCGAGCCACATCGGCCGTAAGATGGAGCAGCACAGTAGAGTCTTTTCCTCCAGAAAAA
+GACAAACAAACAGATGAAAATGTCTCAAACAACCACTCAATACGGTGAATGGCCGCATGTAATACATTAA
+CATCTGTTCTTATCTTCTGTATGGTTCCCATACATATCCTAGTATAAACTATCTTGGCAGTAATATTCTG
+AACTACAAACTTAAACCTTCTCATCAAGAAAAAGTTCTACCTTAAGGGTATATTGTTACTATCACGAGTT
+CATGATAGTTAAGTTTTTAGTAAAACACGACATATGACGATACATATATTAGCAAAATTATGACAAATGA
+GGCTACCTTAACAAAAATTCATTAATAGCAAACACATAAATAAAGACTCTCCTACCAAAAAAACAGACTC
+TTCACTCCTTCTTAACTATTTTCATGAGAAATAATAAACAAGGAATTTATTACCTTTGAATACAAACTTA
+TATATACAATGAACTTAAACTCTTGAATCATTATCCAGAGAATATCATTAATTGGTGATGACCTAGCTAT
+GCATGGCAGCATTCATGATAATGAGTATATACTAGCCAGAATGACACAAAGAGATATTTAACTAACTAAT
+ATATTGATAGTCAATGATGACAGATCGTAGTAATATATTAATACTTAGCCCTCTGAAATATCAAGTCATG
+TACGATGCTCCCGTTATTTTAATTTCGTTCTAGCTGTACTTTTGAATACAACCATAACTGATTATTGCCA
+ACTGACTGAATGAAAAATATCAATAAATACAACAAACTTACTGCCTTTTCGTTTTATTTATAAGACGTTC
+CAACTACAAGAACAATATAGGCACATGATTATTCCAACAATACTGGACAAAAACTCCCGTATCTGAAGAT
+ACAATAGGTGATAATTCTTTCAGGATTTTGCTCAACTATGGCCTGATGGGAGAGTCATGACGGAACTAAG
+GCCTTTACAAGCCAGAAGATTAGTCTTAATGCGATCACAGTTCAACTTGCTACGACTGAAATCCGTAATA
+GCATATAAACTCTGTTTTTTTAACAGAAATGAAGATCTTCTTGTTGCATAAATGATGCTTCTCTGCCTCT
+GAAAAAGTAAATATAAAGTATATTTAATAAGATTAATTTTTATGATAGTGATAATTTATGATGGGGATTC
+ATATGGCATATCTAAAAGGATAGATTACATGTTGAATTCTACAACATCTTCGGGAAAAAGAACCGGCATT
+TTAGCAATTGGTGCCCATCCTGATGATATAGAATTAGGATGTGGTGCATCTCTTTCATATTATTCTAATG
+AAAAAGTATATATTATATCTGTTGTCATGACACCTGGTTGCTGTGGCGCAGAGTATATTGATCGTCACAA
+GGAATCACAAGAAGCATTAAATATGTTAGGATGCAATAAACTAATCCCTCTAAATTTTGAAGATACCAGA
+TTATATTTGCAAATAAAAGAGATGATATCATCTCTGGAATACATAATTGAGAATGAAACGCCCCAGGATG
+TGGAAATTACTCGAGTTTACACCATGAATAATACTGACAGGCATCAGGATCACATTGCTGTTTATCAGGC
+ATCAATGGTTGCCTGTCGTTATATTCCTCAAATACTAGGATACGAAACACCAAGTACATGTCTGTCATTT
+TTACCTCAAGTTTTTGAATCTGTAGATGAGGTCCATTTTAATAAAAAAATATTAGCATTACAAAAGCATA
+AAAGCCAGATCCATCGAAGATACATACAGCCAGAATACATAATTGCTCAAGCCAAATTCCGAGGACAACA
+GGTTAGTCATTCTATGTGTGAAGGTTTTGTTGTCCATAAGATGGTGTTGTAACGGAGTAATAGAAATGAA
+AACTTTGTTATTTATCTTCATGACCATAGCAATGTTGCTATGGTTTTTAAGTACGCTAAGACGTAAACCC
+TGTCAAAAGAAAGGCTGTATTGACGCCATTATACCAGCTTATAACGAAGGCCCGTGTCTGGCGCAGTCAC
+TGGATAATCTGCTGCGTAACCCTTATTTTTGCCGGGTAATTTGCGTTAACGACGGATCCACGGACAATAC
+CGAAGCGGTCATGGCGGAAGTCAAACGCAAATGGGGCGACCGCTTTGTTGCCGTCACGCAAAAAAACACC
+GGTAAAGGTGGCGCACTAATGCATGGACTAAAATACGCCACGTGTGATCAAGTATTTTTAAGTGATGCAG
+ATACTTTCGTTCCACCTGATAATGATGGAATGGGCTATATGCTGGCAGAAATTGAGCGCGGCGCTGATGC
+CGTTGGCGGAATTCCCTCCACCGCGTTAAAAGGGGCAGGTCTGCTGCCACATATCCGCGCCACCGTAAAG
+TTGCCGATGATTGTTATGAAGCGCACGCTACAGCAGTTTCTGGGCGGTGCACCGTTTATTATCAGCGGTG
+CCTGCGGGATGTTCCGTACTGATGTATTGCGTAAGTTCGGTTTCTCTGATCGTACTAAAGTCGAAGACCT
+TGATCTCACCTGGACGTTGGTGGCAAACGGCTACCGTATTCGGCAGGCGAATCGCTGCATCGTATACCCA
+CAGGAATGTAACAGTCCGCGTGAGGAGTGGCGCCGCTGGCGGCGTTGGATTGTGGGCTACGCGGTCTGTA
+TGCGCCTGCATAAAAGACTTTTATTTAGCCGCTTCGGTATCTTCAGTATATTTCCTATGCTGTTGGTTGT
+GCTTTATGGCGTTGGTATTTATCTCACTACCTGGTTTAATGAATTCATCACCACCGGGCCACATGGTGTG
+GTGTTGGCAATGTTCCCGCTTATCTGGGTCGGCGTAGTTTGTGTTATTGGTGCATTTAGCGCCTGGTTTC
+ATCGTTGCTGGTTGTTGGTGCCTTTAGCACCGCTTTCCGTTGTGTATGTATTATTAGCTTATGCCATCTG
+GATTATTTATGGACTTATTGCCTTTTTTACTGGACGCGAACCTCAGCGCGACAAACCCACCCGCTATTCC
+GCACTGGTGGAAGCGTCAACCGCTTATTCCCAACCTTCTGTCACAGGAACTGAAAAACTATCTGAAGCTT
+AATGCTAAAGAGAAAAATGTTCAGATTGCAGACCAGGTGATTATTGATGAAAGTGCCGGTGAGGTTGTTA
+TCGGCGCGAATACCCGTATTTGCCACGGTGCCGTTATTCAGGGGCCGGTAGTGATTGGCGCAAACTGCCT
+GATAGGTAATTATGCGTTTATTCGTCCTGGCACAATAATCAGCAATGGCGTAAAAATTGGTTTTGCCACC
+GAAATTAAAAATGCGGTTATTGAAGCGGAAGCAACGATTGGTCCGCAATGCTTTATTGCCGACTCGGTAG
+TTGCAAACCAGGCATATTTGGGCGCACAAGTACGTACCAGTAATCATCGTCTGGATGAACAACCCGTGTC
+TGTTCGAACTCCAGAGGGAATTATCGCTACCGGATGCGATAAATTAGGTTGTTATATCGGGAAGCGTTCA
+CGCCTTGGTGTACAAGTTATTATTTTGCCTGGGCGAATTATTTCTCCGAACACACAACTTGGCCCGCGCG
+TGATTGTAGAACGTAATTTACCTAGTGGAACTTACTCACTCCGACAAGAACTTATCCGTACAGGAGATTA
+AAATGATAAAGCATACGTTATTAGTGCCGTTTTTTTTTAGTGCATTGCCCGCTTATGCCGGGTTAACTTC
+CATTACCGCGGGCTACGATTTTACCGATTATTCTGGCGAACATGGCAACCGTAATTTAGCGTATGCTGAA
+CTGGTAGCAAAAGTTGAAAACGCAACGCTGCTTTTTAATCTTTCCCAGGGGCGTCGTGATTATGAAACTG
+AACATTTCAATGCCACTCGCGGCCAGGGTGCAGTCTGGTACAAATGGAATAACTGGCTGACAACCCGAAC
+GGGTATTGCCTTTGCGGATAATACGCCGGTCTTTGCCCGCCAGGATTTTCGACAGGATATTAACCTAGCC
+CTGTTGCCAAAAACGCTTTTCACGACCGGTTATCGCTACACTAAATATTACGATGATGTCGAAGTCAATG
+CCTGGCAAGGCGGCGTATCACTCTATACTGGCCCGGTGATCACCAGTTACCGCTATACCCATTATGACTC
+CAGCGATGCAGGTAGTAGTTATAGCAATATGATTTCCGTGCGTCTGAAGGACCCGCGCGGTGCTGGTTAT
+ACGCAACTATGGCTAAGCCGCGGAACAGGTGCTTACACCTACGACTGGACGCCAGAAACACGCTACGGCA
+GCATGAAGAGCATCAGTTTGCAACGAATTCAACCGCTGACTGAGCAACTTAATCTCGGGTTGACGGCAGG
+TAAAGTGTGGTTCAACACCCCAACCGATGATTATAACGGTCTGCAACTTGCAGCCCACCTGATCTGGAAA
+TTCTAGGCAGCAGTCTATCAGTATATTTTATTCGGTAGTTTTCAGAGAAAAGCTATAACTCGGTTTGATA
+ATAAACAATATAATTAATTTCGGGCAATAACTTATTCGTATAGAGCACCAGAGAAAAGGTGCTCTATACG
+AATAAGTTATTGCCCGAATCGTACATCAGTTTAATAGCTGAGATACTTTTATTTTATCATCACCGGGGTG
+AAGGTATCTTTATATCTCTCTAGACAGGCCCCCTGAATCTCCAGACAACCAATATCACTTAAATAAGTGA
+TAGTCCTGATACAAGTTTTTAGAGTAGTCATTAGTGAACAGATAATTGTTAACTTAGAACCAGTAAAATG
+CAAACGACGCACCACGCTGGGAAAATCGCTGCTATTCAGCAGAGTTTTGTACCGAGAATTGTGGCCAGCC
+ACTTATTGCTCTCGCGTAAGCAGGTATCCCCATCGTTTACCAGTCCAGCACATCTTGTGGTCAGACAGAA
+GAAGAGCAAACTGTTACTGGACTCACTGCATGCATGGTGGAGAAAAATGCCACGCTATCCAAAAATCCAG
+ACTGGGTGAATGGTTCAGCTGTGTACTGAATCAGTGGGGCGCACTCTGTTATTACAGTGTTGACGGTCAG
+GCGGAGGCAGACATAATGCCGCGGAAAAAGCCCTTTGTGCCATCTGTCTCGGAAATAAAAACTTTATGTT
+CTTCGGCGGCGAGCGCAGTGCACTGTTGTATGGGCTTATCGGCACTTGCCTTCTGAACGACATTGATCCG
+GAAGCGTATCTGCGCCATATCCTGAGCGTACTGCCGGAATAACCTTCCAACCGTATTGATGAACTCCTGC
+CATGGAACGTAGTTCTCACCAATAAATAAGCATCAATATGATTCTCCATTAACGCTTACCTTTTCTCAGG
+CTATTTTTGCTTTTTTTTGCTTTTCCCCGCCACTTTATGGTGATTATCACATCAATATACATCGATAGAT
+ATTAACGTAACTGAAATGAGGTGAAGCATGAAATTTGAACGCCATCATGAAATATTGAAACGACTCAGTA
+AATTCGGTTCTGTAAAAGTATCCGATCTGTCCAATAGCCTCAATGTAACGAAAGAAACTATTCGATCAGA
+TCTTAATGAACTTGCCAGGCTTGGCTATCTGACTCGATGTCATGGCGGTGCTTTTATCGTCCTAGACTCG
+CTTGATACTATTGCGAAAAATGAAATCGCTTATGCGCTTGAAAATTATGATACAGCCCAGGGAATAAAAA
+AAGGCCACTCAACTATGAAAAGTCAAGTATGCGTTATTGGTTCGTTTAATGTTGATATCATCAGTTATTT
+GCCGAGGCTTCCCACTATCGGAGAATCGCTTCTGGCAAGTAATTTTATATTTTCACCGGGGGGAAAAGGC
+TGTAACCAAGCGCTGGCAGCAAGCTTTGCCGATACTGATGTTTATTTCATAACAAAAGTAGGTACAGATC
+ACTTTAGTGATTATGCGATCAACTTTATGAATTCGTCTAAGATTTATAAAAGTATAATTTATCAAACGAA
+AGAAACGCAAACCGGAACTGCCACGATCCTTGTTAATGAAGGTACTGGCGATAATGTTATTGCGATCTAT
+CCCGGTGCCAACATGACAATGTCGTCCGATGAAATAACTATTCAGAAAGAAGCGATTATTAATTCTGATG
+TCATACTTCTGCAGCTCGAAACAAATTATACCGCTCTGCAACAAGCGATCACATTGGCGCAAAAAAACAG
+TATCCCGGTCATTATTAACCCGGCACCCTATAATGATATCGTCAACGAACTTATTCAGGATGTTGATTAT
+ATCCCCCCCAATGAAACAGAAGCTGGTTTACTGTCCGGCATAGACGTACACGATCTTGAATCAGCTAAAC
+GAGCTGCAGAAGCTATCCACAATAAAGGGGTAAAAAACACGGTTATCACGCTCGGTAGCAAGGGCTCGCT
+CGCATTTGATGGCAAAAAATTCATTCATTCGCCAGCGTTTCCAGCGGTCGTTAAAAATACGGCAGGAGCC
+GGGGATGCTTTTAACGGCGCTCTGGCATCAGGACTTGCGAAAGGAAAATCACTGGAATCAGCACTGTGTT
+ATGCCAGCGCCTTTGCATCCCTAGCGGTGGAGACAAGCAATGCTTCCGACATGCCTGAACATGAATCTGT
+GATACATCGAATTCAGAGTATACATTATCAGCAAACTATTTTTACGCATTAAGAAGGGACAGAGAATGAA
+TAACACCAAAAAATCACTAAAAGTGCTCTTTATTGGGGAATCCTGGCATATTCATATGATTCATTCAAAA
+GGATATGACAGTTTTACCTCAAGTAAATATGAAGAAGGTGCGACCTGGTTACTCCAATGTCTGAAAAATA
+GTCAGGTAGATGTCACCTATATGCCAGCACATACGGTACAAATTGCCTTCCCTGAAGATGTGGCACAGTT
+AGAACAATATGATGCCATAGTTATTAGTGATATTGGTAGTAATACTTTCCTGCTACAAAATGATACTTTT
+TATCAACTTCGCATAAAACCAAACGCTCTCGAACTGATTAAAGAATATGTGAATAACGGTGGTGGGTTAT
+TGATGATTGGCGGCTATCTCTCATTCATGGGAATTGAAGCAAAAGCCAATTATAAAAATACAGTTCTGGC
+TGATGTGCTCCCGGTTACGATGTTAGATGGTGACGATCGTGTCGAAAAACCAGAGGGTGTTATTGCACAG
+CCATCACAACCTGAACATCCAGTTATTAAAGGGTTCTCTGAATATCCTTTTTTCCTAGGTTATAACCGGG
+CGATCGCTAAAGAAAATGCTGAGGTGGTATTAACAATAAACAACGATCCATTACTGGTCTTTGGTAACTA
+TCACAACGGGAAAATAGCCTGCTTTATGAGTGACTGTTCACCGCACTGGGGTACACAGCAGTTTATGTCC
+TGGCCGTTCTATACCGCGTTGTGGGTAAATATACTGACTCATATTGCAAGATAATAATAATGGGGTAACT
+CCAGTTACCCCATTTACTATAATAGAAGGATTGATGTATGAAAAAGAATAAGTACTCAACTCCCTTATGG
+ATGCTTGCCACGATTCTTGCGGGTATGCTCTCCCCTATGCAATCAGCGGTGAATGGTCAATTAGGTCACT
+GGTTACAGGATGGTAATGCATGCGCAGTTATCTCCTTTGCCAGTGGTTTAGTCGTGATGTTTTTTATTAT
+TATGGCGCGAAAAGAAACCCGGCAACAATTTGCGGCAATTCCTTCTCTGATTAAAAACCGAAAAGTTCCT
+CTCTGGAACTGGTTTGCCGGTCTCTGTGGAGCGATGGTGGTATTTTCTGAAGGCGCATCAGCCAGCGCAC
+TCGGGGTCGCAACGTTTCAAACCGCACTGATCTCCGCGCTATTGCTGTCTGGTTTACTTTGCGATCGCTT
+TGGTATCGGTGTCGACGAGAAAAAATACTTTACCCCTTATCGCATCATCGGTGCATTATTTGCGGTTATT
+GCTACGATTTTTGTTGTGTCACCGCAGTGGCATTCTACCTCTTTCATCTTACTTGCCATTCTTCCGTTCT
+TAGCTGGTTTGCTTGCAGGATGGCAGCCCGCTGGAAATGCAAAAGTAGCTGAAGCTACGGGATCCATGCT
+GGTTTCAATCACCTGGAATTTCATCGTTGGATTTTGTGTTTTAGGCACAGCGCTAGCTATTCGTGTCGCA
+TTAGGGCACGTCACTGTTCAATTACCAGATGTCTGGTGGATGTATCTTGGCGGCCCGCTTGGACTAATGT
+CTATCGGTTTAATGGCCATTTTGGTCAGAGGTCTGGGGTTACTGATGCTGGGGGTTGCTTCAACGGCGGG
+CCAGTTACTGGGATCAGTATTGATTGACGTATTAATTCCATCGCTGGGCAATACCGTTTATCTGGTCACG
+ATCATCGGAACACTGTTTGCACTGGTCGGTGCAATTGTTACCACTATTCCGGAATACAGAACCTCGAAAA
+CAATGAAGAAAATGGAGGTATAATCATGAAAGATTATCTACAAACTGTGACGGGCCCCGTCGCCCGTGAA
+GATATGGGGCTAACACTTCCTCATGAACATCTGTTCAACGATCTTTCCTCTGTTGTGGATGCTCCTTGCT
+ATCCTTTTTCACAACGGCTTGTTGATAAAAAAGTCACGGCAGAAATCCAGTGGGCATTAAAACACGATCC
+TTATTGCTGCGCTGATAATATGGACCGCAAACCTATTGAAGATGTGATCTTCGAAATTAATAACTTTATC
+TCGCTCGGTGGTCGCACCATTGTTGATGCCACAGGGTCTGAGTCTATCGGACGAGATGCGCAGGCATTAC
+GAGAAGTCGCATTAAAAACAGGTCTGAATATTGTTGCTTCCTCCGGTCCCTACCTGGAAAAATTTGAAAG
+CCAGAGAATTCATAAAACGGTTGATGAACTGGCGGCAACGATCGATAAAGAATTGAATCAAGGGATTGGC
+GATACGGATATTCGTGCCGGAATGATCGGTGAAATAGGTGTCTCACCGACATTTACCGAAGCCGAGCATA
+ACAGCTTGCGGGCTGCCTCGCTGGCACAGATTAACAATCCTCATGTGGCGATGAATATTCACATGCCGGG
+CTGGCTTCGTCGCGGTGATGAAGTACTCGACATTGTGTTAGGTGAAATGGGCGTCTCGCCAAATAAAGTC
+TCTCTCGCACACTCGGATCCGTCAGGAAAAGACGTGGCGTATCAGCGGAAAATGCTTGATAAGGGTGTCT
+GGCTGGAATTCGACATGATTGGCCTAGACATTACCTTCCCGAAAGAGGGAATAGCGCCAGGGGTGCAGGA
+GACTGCCGATGCCGTCGCTCATCTCATTGAGTTGGGATACGCCGATCAGCTTGTTCTCAGCCACGATGTC
+TTCCTTAAACAAATGTGGGCTAAAAATGGCGGTAATGGCTGGGGATTTGTTCCAGATGTTTTTCTGGCCT
+ATCTGGCGGAGCGCGGCGTCGATAAAACGATCCTCAAAAAACTCTGTATCGATAATCCCGGACGATTATT
+GACCGCATAAAACCATTATCCCCCGGCACACTGCGCCGGGGGATGTCAATTAATACCCCGCCGTTAAATC
+ATCCACCAAGCGCGAGTCGGATGCGCCGTACAACTCACCATCCGACCCAACCATAATGCTTTGCGTGCTG
+CCCATCGCCTCATTCAGCGCCACTTTCTGACCTTTTGCTTCCAGCAGCTTGAGCGTATCCGGACTAAACC
+CTTTTCAACACGCAGCTAGTCCGGCAACCACTGATGGTGGAAACGAGGCGCATTGGTCGCTTCGGCAACA
+TTCATTCCACAATTGATGCTGTTCACCACCATTTGCAGCACGGTAGTGATGATTCAGCTACCGGTAACAA
+AGTGAGTACATAAAGGCCATACTGTCACGAACAGTGCAAAAGTGGCTCTTCCGCAACCTAGGTGAAGATT
+TTCATGCCAGTGGACTCATTACCCTCCGCCTAAGTAGTTCAAATCCGGCTCGACCATACATCTGGCGTAT
+CAGCACCTTCAGGCGATTTACATGACCTTCGACAACACCATTACTCCAGCGACTGCTGATTGCCTCACAT
+ATAGCCGCAGCATCAGCTTCCATCCCCGCAGCTACGCACCGAAGTTCTGCTGAGCCGCTTTCGTGAACTC
+GAGTGAACCAGCTGCTTAGCTGTGATTTATTTTAGGTTTTCAGAATACGGTAGAACTCGAGTACCAGTTG
+CTGTGCTATTTTCAACTCCGGTTCTTTTTCACACATCAGACTAATAAATCGGGATGCATAATTTTCTTCG
+CCCCTGATTATTCTCCAGGGCATCAACCAGCGGCTTACCCGGGACACTGAAGGAAGTCTTGCGGCAGTAG
+TAACCGGTGGGTTCCAGCCTTTACGCCATTTGGCAACAGTATCCCTGACGATGGTTTCACTGCCTGTCCC
+CCCCTGGGCCACCATTTCCCGCCATATCCGGCTGGCATTATAATTACCACTTTCTCGTTGCTCTTTTAAC
+CACTCCCTCCATGGGTCCAGAAGCCCTCGCTTTGGAGGCCGGGTTGACATTTCAGGGAATGTTCCTGAAC
+GCACCCAGCGACTGACTGTCACTCGCGACAGGCCTGTAATACGGGATATTTCCCTGAAACTACATCCCTT
+GTTATGCAGGGCCATAACCTCTGTCCAATGCTGATGCCGTTTTTTGCGGGTTTGCTGTTTAAGGCGTTCC
+GGACGACGGAGCGATGCTACAGGCACAGATATTTCTGGCTCAGGTGATTTATTCAGTGATAACTCTCTGA
+CAACAAGACGTATCAGAGGCATATGTCTGTACATCATTCGTTCAGGCTCATCACCAATACTTTTTAGCAG
+GTGCCATCGATCGGCCACCTGTCTGGCCTGAGGTGCACCTTCACGTGCTGCTGTCGCATAGACTCCACTG
+CGATCACGCGAGACAACCTGTATTTCCGGATATTTTCTGAACCAGGTCGCCAGCGTACGCTGATCACGGC
+CGGGAAGCAGGACGAGGGGACGGTGAGTATCAAGATTGACTATTAACATACCGCAGCAGTGGCCCCGATG
+CCACGCCCACTCATCAATACCGACATGAGGCGCGCCTGACTGTTTCGTCTCCGGGGTATTGATAACCCTG
+CGAAGAAGAGTATCAGCACTGCAACGGAGACCCGCTGCCGTTGCAGCCCGTTTTCCAGCCTCACCTCCAG
+CTATTAATCCCAGTTGACGTTGTAAATTTTGTAACGCCTGTGAAGACTGCTGGTGTGAACCGGCGAAGGG
+AGCAAGCGACTCGGCAAAAATTTTACGTTAACAAGCCGGGTTACGGCAGTACCAGTGGCGGACGGAAAAT
+ACAAGCCATAGCGTCTGCCCTGAGCAGGGTAGATGCTGTATCCGGCGCCGACGACAACTATGAACAGAGT
+CGCTACGCTTAAAGCATTCAGGACATTGTGCTGTTTTGCGTTTTCCGTGGAGATGGAGGGTTATACCGTC
+AGAGCTAATAATTTGTCGACTGCATCGCCATCCGCAAGGTAACTGTAGAAGTGTCTTAAGAGAGTGCATT
+GCGTTGCCCATAACTTAAAACAGCTTAGATCCTTGTTCGCCAGAAAGTTTCATCCATTTTCTTCCACCCA
+GGTTGCGGAAGAACCACTTTTCATCCGTCGTTGACAGATGTGAAGTATGCGGGAGAAAAAGTGAATATCT
+AACTGTAATAACTCAGACCGGTACGAGTACCCGGGACGTCTACAATCATTCAGGGCAAAGTGCTAAAATT
+TCTCTATCCCGGGATGCCCCTACCAACGCAGCACTCCCGGAGATATCATTACAGCTCTACAACTGATTTC
+CGCGACTGAACCGCTCAGTTCCTATCCTTCCAGTTGCCTTCCTGCAGCCCCCCCTCCCTGCTGTATACCC
+CGGTACCACAACGCGGGCAGCACTTTTCTCCTTCATAATCTTCGTCACACATCACACAAAACCACTTTCT
+CACCTTCACCGTATAATCCGGAACCGTCATACCCTGCAGATGCAAACGACGGGCCTCTTTCTCTGCCGGG
+TCAAGCCAGGTGCATCGCAGCAGGATTTTCTCAGCGACAGTCATCTGGTCATGTTCAAACCACGGTGGTT
+GTCCGTCATTGCCCCGCTGAAGTGTTAACGGGCATCCACAGGACACACATGGCGGTTGTGCTTCGCTGCT
+TCTTTCGCCGTAACAAAATGGCCTTTGCTGTCATTCGCCATATAACAGTTCAGAATTCGCATATTTCCTC
+CTGAGTTGTCCGGGGAATACTGAATCCTCCGGTCTGGCAGTGTGTGCAGTACCGCTCCCCATAATAATCG
+TGGTGACATTGTCTGCAGTGCCAGCTGGCTTTACGCACCACGGGTAAGGCATCCGGTACGAATTGCTGCA
+GACGTTTAATCAACTGTATTTCTCTGCGCTCCGGCCTGACATAAGGGCACTGTTGACCGTGCTCTGTCAG
+CCTGTCGTCAGTGTGTTCAAACCAGGGAAGTTCAGTGTCGTATTGCGGATGGTATCTGAGTGCACTGCCA
+CACAAGTGGCAGGTGTAGTGAGCATAAGGTGCGGCCTGTACAGTACGGGCGCCCGTCAGACGTCCGTTGC
+TATCAAGAGCGAGAAAGGATTTTGCGTACATAGTATATGTTCCTTACCGTCAGACGACACGCAGACAACA
+GCCGTCCCGGTACGGGCAGCGTGGTCAGGTGTGAATGGCGGTTTCAGTTCAGTCTCATAAGGGAAAATCA
+GTGTGGTGGCCATGAACACGTCATCACACTGAAGTCAGATAACTCGTCTGTCTGGCTCAGCCACGACTGC
+AGCCAAAGTTGCGCTCACCGGTGCAGTGAGCTTTGGTATGCTCCTTCGCCAGATAGTCAGCACGTTCCAG
+CACTTGCTGAAAGCCGGTGTCATCATTACGCGCCAGCCACACCGCCGGCCAGGCCGGAAAATGCACCAGC
+GTGGCATGGCATCCGGCATCCACCCCCAGGGCACTGCACCAGGCCTGTTCAATCATTCCGGCCAGTGATC
+CCGGAGCGCGGTAATCACCGGCACGACACCAGGTATCCCGGTTGACCAGCAGCATCAGATGATAGTGTTT
+TTTACCTTTGCACTCCCCAAACTCCCGGGCCCAGACGTAATGCAGAGTGGTGGGATGCACGCGTTTACCT
+TCCCGATGCTTACGTTTCTGGTAAGCGTCGATTCGGGCTTTCAGGGCATTGATGAAGCGGGATATCACAG
+GCTGCGTCCGTTGCTGCCGGTACATCCGGGAAACGCAGGTCAACCCGCAATGCCGTCAGGCGGGGATGAA
+CATTCAGTGCGTGCCGCACTGTCTCACGAATACGTTGCTGCCAGAAGGGGTTGTATTTGTAGGTCATGGT
+TAAATCTCCGTATGGTTCATACGGAATAGCCACGTCGTAAAAAATGCGCAGAGTCCCTGAAGTGACCTCC
+GGCAGGGCACTGTCTCAGGCACTCTGTGATAACCCGAACGGTCGTCTCCGGACTGACGGTTGAATTTTCA
+GCGTTGTTTTTTTAATGTAAAAAACCGGTTACGGGTAAGGCTGTGAGGAGGGAGTGATGGTGATACGCAA
+AAAGAAGTGCAGGGACTGTGGAAACGCGATTACTCATAATACAGTGTGTTGCCCGTATTGTGGTTCTGTC
+GACCCCTTCGGCTATTACCGGAATACAGACCGTATCGTTACCATACTGCTGGCACTGATTATTGTGGTCC
+TGCTGACTACTGTCAGCGTCAGTGTGTATATACTGTGTAGCTGGTGAGATAACGGTTCATGTATCCCCTG
+AGCTGACAGTGTACCGGGTATATTAAGCGTAACCGACAGGTTCTCCTTCATACCATATTAAATTTTTCCA
+GGTATTGCCGCTGCCTTATTTCGTCCCATACAGGAAAACTCGTCTGGGTTTCTGACAAATACGCGAAACT
+CACAGCCCCTCAATATCAACCACACGCCGTAAGCCGGTAATACCTGAAAATCAGTCTATTACCGCCCGCG
+CCTCCGTTACCGAACGCTCAGGTGACAAGACTGAAGCCAGCACGCACTCGTAAAATTTGCGGTCAGTTCT
+GCCAGCCGGTTGTCAACGGCAGAGTTAAAGGCTTCCAGCTCCGCAAGGGTAAGTTTATAACGCGTGTGGG
+AATTCACTTTTCCCGCGTCTCCTGACGTATTACGGGCTGCCACTTACCTGGTGTCCCGCAATACAGCCTT
+AGTGTTCCGTTATCGGGGATCCGGACGCACCGCAACAACCGGGGAAGTATTTCTGGTTAGAGCAGTGTCA
+AGAGGGATTTCTCAGCCCCTCACTCACCGGCTCAGTCTCAGGGCAGGAGCATTAATACGCTCAGTTCATG
+TCTTATACAGGAATGGGCATAGGGGGAGCTGGCGTGTCACTGCTGATTTTACGCATCAGCGTTCATGTAT
+TTGCACTCTGATACAGAATGCTTCACAGCGCTCTGTTACCGGAGAGATTTACTCTCTTAGGTTATTCTGG
+CAAATCCTTTACGTTACTCTCTGATGACTTCTTATATTTATAATACCAATCAGACAACCTTATCCCATCG
+GTGATATCAGTCTCCTGCTCGCCAGGAACGGGCTGACTCACTGTAACCACCTCCGAAAACAACTCTGCAA
+TTATCAGAACGCCTGCTTCTCTCCCTGTCCTCACGAAAACTATCCCCTCTTTATCGCGCGTGCGTGCGGA
+AGCATCTTTTCGCACCCCCGTTACTTTATTCGTACCCCTTATAATGGGGTGTTAGCCAGCCAGACCCGGC
+ATGATTACTGCCCCCAGTCGTCCATGATCCGGGGGGTGATGTCACCGGGTCTGGTGGGGCGCTGGTAACC
+GCTAATAGGGGTCAGGTCAGGCACTTTTGCCGGGACCGTCTGTAACGTGGATGCCGGTACCTGCTCCCCG
+TGGTTATCTGGTTAACCCATATACAAGGGAGACAGAATGACCGAATCCAGCGATTACGAATCCGTCCAGG
+TCTTTATCGGCGTTGATGTCGGTAAAGATACGCATCACGCTGTAGCCATTAATCGTTCAGGTAAACGCCT
+GTTCGATAAAGCATTACCCAACGACGAAAACAAACTCAGGTCGCTAATATCTGACCTGAAACAACATGGT
+CAGATACTGCTGGTTGTTGATCAGCCAGCTACCATCGGTGCGTTACCTGTCGCCGTTGCCCGCTCAGAAG
+GAGTCCTTGTCGGATACCTCCCTGGACTGGCCATGCGCCGCATAGCCGACTTACACGCCGGTGAAGCTAA
+AACTGATGCTCGTGACGCTGCCATCATTGCCGAAGCTGCCCGTACCCTGCCTCACGCGCTACGCACGCTG
+AAACTGGCTGACGAGCAAATCGCCGAACTCTCCATGCTCTGCGGCTTCGATGATGATCTTGCCGCACAGA
+CAACGCAGGCCAGCAACCGTATCCGCGGCCTTCTGACCCAGATACATCCGGCACTGGAGCGCGTTCTCGG
+TCCGAGACTTGATCACCCGGCGGTACTCGATCTTCTCCAGCGATATCCCTCACCAGAAAAACTCGCTTCG
+CTGGGTGAGAAGAAGCTGGCAGCCCAGCTCTGCAAACTTGCGCCTCGTCTGGGTAAACGCCTTGCAGCAG
+ACATAGCTCAGGCACTGGCCGAACAAACCGTCGTCGTTCCCGGCACGAATGCCGCTGCCGTAGTACTGCC
+ACGTCTGGCACTCCAGCTCATCACGCTGCGTAAGCAAAGAGACGAGGTGGCGCTTGCGGTAGAACAGCGA
+GTTCTTGCTCACCCTCTTTACCCGGTCCTGACCAGTATGCCCGGAGTCGGTGTCAGGACCGCAGCCAGAC
+TCCTCACCGAGGTCGCCTGCCGCGCCTTCGCCTCTGTCGCACATCTCGCTGCTTATGCTGGCCTTGCGCC
+GGTAACTCGGCGATCCGGCTCGTCAATACGCGGTGAGCATCCCTCGCGACGGGGTAATAAAGCTCTCAAA
+CGGGCGTTGTTCCTGTCGGCCTTCGCCGCGCTCAGGGATCCGCTCTCCAGGGCTTACTACACCCGCAAAA
+TGAGTCAGGGAAAACGACACAATCAGGCGCTTATCGCCCTGGCGAGACGACGCTGCGACGTTCTGTTCGC
+CATGATGCGCGACGGGACTTTTTATACCCCGCAGGCGTCATAACATGCTTGACAACTTAATAGGGGCACC
+CCCCGGGATTCCGCTACGGCTCTGCCATCGCAATCCCCCCGTTTATCTCCGGACAGCCAGATTCCCGATT
+ATTTTTTACGTTTCTCCCCGGTTGTTATGCCGGTGAAGGTGGCGCGCTGTTTTCATGACCACACCGGCTG
+GTTTAACAACATCCGGAGGAACATTCTCATGGCTACCCCAGTTTCGCTGATGGATGACCAGATGGTCGAC
+ATGGCGTTTATCACTCAACTGACCGGCTTAACCGATAAGTGGTTTTACAAACTCATCAAAGTTGGGGGCT
+TTCCTGCCCCCATCAAAATGGGGCGCAGCTCCCGCTGGCTGAAAAGTGAAGTGGAAGCCTGGCTGCAGGC
+GCGTATTGCACAGTCCCGTCCGTAATTTTTAACCACTAACCCTTCGCCCAAAGCAGACGCAATCTCCGGC
+CTGCCGGCGGCGCTCTGCTGCCTGTTATCCCCCGTGAGGAATATGAAAATGAAACAACAGTATCAGACCC
+GTTACGAGCTGCTCCATGAAAACTACCAGAAATGGCTGACCGGCTTCACCCGGCACGCCGTATCATGGGG
+CGTGTGTCATCCGAATATCTACTATTTCCATAATCTGACGCCCGGGTGGGTGTCATTCAATGGCGAAAAA
+CCGGAGATTGCCATCGTTCCCCAGAGTCTGCACCGGCTGATTTATGGTCCGGACAAACGGAGCTCCCCGT
+CCCTGGATGATGATCTGGTGGTGAATTTATGCACCAGCGAACACCTGCTGATTCATCATCCGATGCTGGA
+AGGGATCCTGCTGTCTGAATGTGAGCGCCTGAAGCAACATTCTCTGGCAAACAAACTGATCAGCCTCTTC
+CGTCAGTTTGGCGGCACGGAGTTACGTCTCAAACTGGTCTGGCTCTGCTGGCTTGACTTAATGACCGGAA
+ACAACCTTGACGACTGGACGAAAAACCTGAAACACAAATCAGAAAAAGATCTGGAGCAATGGATCATTGC
+ACGTCAGGGTCAGAGTGAACCACTGACAAATCTGATGGATCAGTACGTGCTTATGGCATACCGTACATCG
+GTTGATGCCGCTCACAGTTGATGTCTGATAACCACAGGGCTGGCAGCAGAAAACCAGCCCTGTGGTAAAA
+TACAGTAATAGCGGCGTACATCAGGCACGCCGCTCACTCGTCCACAGATCATATACGTCATTATACTGCG
+CGATAACGGAGGGCTTCAGCACCCGGTCATTTCTGAGCGGGTATGAATACCATTGATGATGCGAAGCAGC
+CACGGGCAGAAACGTTCTTCACAACCAGGTGCCTCCATCTTCACTGCAGGCTGAATGTGCCGGCTTGTTA
+TCCACCAGAAATGGTATGCTCCGGTACATGCATACCCCGGAGACTATAAACGCACTGAATCATAGCCTCC
+CACCTCAGCAGGAGGCAGTCAGCTTTCAGGCGGAAAAACGTTGCAGTTAAAGATCGTGAGAATCGCTGTT
+TCGTTGCATAGCAACCCGAACAGTTGTAGTTGAAACATTTTACCTGCATCAGCACATGGTCAGGCGCCGT
+CTGTATGGCGTGGAATACTGATGTTTCGGCTGATGGCAAGCCTCATTCTCTGTGGAAACAGGGGCGCGCA
+TTAGCTTCTCAACCAGAGAGTGTCACAAAGACAAATATTGCTGAAAATCGCATTCATCGTTCAGGCGTGA
+ATGCCCGGAGACAAAAGCCGCTGTCCGCACAGCCCCCCTCTGATCTGAACAAAAAGCATACACACAACAG
+GCTCACCTGACCCCGAAAAACCATAACTTCAGCAATACCAGTGACACCAGCACGTTACCTCAGTGCCACA
+TCTTCAGACCGCGATCAATCTGAAATGTGACTATCGGGGCAATATCCCAGTTTTGTGGTACACGATAACC
+AGAAAACATCCCCTGAACCGCCAGCCAGAAAGACCGGCCACAAAAGGGTTAAGCTGAAATCGTTTATGGA
+TTACATCGACATATGCCTGGCAGAGAATGTCCGGAATGACGAGGTTATCTTTGCGGAGATTAAGGCAATG
+TGTCAACGACGGATGAAAAGTGATCCACTTATATCTCCACCAACGGCCCAATATTGATCCACCGTTTTAC
+TCAGGATTAGCTTCTGCTATAACCCCGGCTTTTCGTTTCTGTCTGAGTCGATAGCTTTCTCCTTTGATTT
+GAACGACATGTGAGTGGTGTAAGATACGGTCCAGCATCGCTGAGGTCAGTGCTGCATCACCGGCGAACGT
+TTGATCCCACTGCCCGAACGGCAGATTGGATGTCAGGATCATTGCGCTCTTTTCGTAACGTTTAGCAATG
+ACCTGGAAGAACAGTTTTGCTTCTTCCTGACTGAACGGCAGATAGCCTATTTCATCAATGATGAGCAGGC
+GGGGGGCCATTACTCCACGCTGAAGCGTCGTTTTATAACGGCCCTGACGTTGTTCCGTAGATAACTGAAG
+TAACAGATCTGCTGCTGTTGTGAAGCGAACTTTGATACCTGCACGGACGGCTTCATAGCCCATCGCTATT
+GCCAGATGGGTTTTCCCCACACCTGATGGCCCCAGTAATACGATATTTTCATTACGTTCTATGAAGCTGA
+GTGAGCGTAACGACTGGAGTTGCTTCTGCGGTGCTCCGGTGGCGAATGTGAAGTCATACTCTTCGAACGT
+TTTCACCGCCGGGAAGGCTGCCATTCGGGTATACATCGCCTGTTTACGTTGATGACGTGCCAGTTTTTCT
+TCATGAAGCAGATGCTCCAGGAAGTCCATATAACTCCATTCCTGGTCTACTGCCTGTTGTGACAGCGCAG
+GCGCTGCGCTTATAAGGCTTTCCAGTTGCAACTGCCCGGCGAGCGCCATCAGTCGTTGATGTTGCAGTTC
+CATCATCACGCCACTCCTCTGCAGAATGAGTCGTAGATGGAGAGTGGATGATGCAGGGGGTGTTTGTCGA
+AGTTCACCAGATTTTCACTAGGATGCACGTCATACTCTTTTTTCTCCGGAGGCAGTGCCAGCATGGACTG
+CTGCTCTTCGAGCCAGCGATCGCAGGGACGGGCCTGGATTGTTTCATGCTTTCGTTGGTTAGCGACATCG
+TGCAGCCAGCGCAGACCGTGGCGGTTGGCTGTTTCAACATCGACAGTGATCCCCATCGGGCGCAGGCGAG
+TCATTAGTGGGATGTAAAAACTGTTACGGGTGTACTGCACCATCCGTTCCACCTTACCTTTAGTCTGTGC
+CCTGAAGGGGCGACACAGTCGGGGAGAGAAGCCCATCTCCTTGCCGAACTGCCACAGCGAAGGATGGAAC
+CGGTGCTGACCGGTCTGATATGCGTCACGTTGCAGAACCACAGTTTTCATATTGTCATACAACACTTCGC
+GCGGCACACCACCAAAGAAGCGGAACGCATTACGATGGCAGGTTTCCAGCGTGTCATAACGCATATTGTC
+AGTGAATTCGATGTACAACATTCGGCTGTATCCGAGAACAGCAACGAACACGTGAAGCGGTGAGCGGCCA
+TTACGCATAGTGCCCCAGTCAACCTGCATCTGTCGTCCGGGTTCAGTTTCGAACCGAACGGCAGGCTCCT
+GCTCCTGAGGAACCGAGAGAGAACGAATGAATCCCCTGAGAATGGTCATTCCGCCACGATATCCCTGGTC
+TCTGATCTCGCGAGCGATTACCGTTGCCGGGATTTTGTAAGGATGAGCATCGGCGATGCGTTGACGAATA
+TAATCCCGGTATTCATCCAGGAGTGAAGCAACAGCAGGTCGCGGCGTATATTTTGGCGGCTCAGATTTTG
+CCTGCAAATAACGTTTAACCGTATTGCGGGAGATCCCCAGTTCTCTGGCAATCGCCCGGCTACTCATTCC
+CTGCTTGTGCAGGATTTTAATTTCCATAACTGTCTCAAAAGTGACCATAAGCTCTCCTGAATCAGGAGAG
+CAGATTACCCCCTGGATCTGATTTCAGGCGTTGGGTGTGGATCACTATTGCACCGTTCGTGACACAATGG
+GCCATACGGGCCGACGTTCCATGCCGCGTTACTACATTCAGCCCGGACGTAAAATGCGCCCGTCAAAAAG
+AACGGTTCGCTTCGAAACTCAGCCAGGATACCACCTCTCCGCCACACCCGGGAAGAAGTTGATATGGTGG
+TTGCCGGACAACAGAGCTCCTGGATTGACTGCTGCATCACTCAACCACGCTGAATATCAAAGGAGAGCGT
+TACCGGTTAAAAGAGAAACGTAAAGCTGTGGTGATGACCCAAAACGCAACGCCTGTCAGTGAGGATGAAA
+TGGTGAAAAGCGGACAGCACCAGTAACGGAAGTATCTTAGCGGGTACGAAAATGGCAGGATCGTGACATT
+GACAGAATATCTCCTGATCATCCTGAATGACTGCAGTTGCTGTGGAAAAGTAAGCTGTCTCCACCCACGG
+CACGACTTAACAGGCATTCCGTAACTCCCCCAGACTTACTATGACGCATTATCGGTGCACTTAAAACCGC
+AGACCGCATTGCGGGTGTTACTGCATGACAGTCTGACCGTATTGTGAGATGTCGGCAGGAACCGATGTCC
+GCGCAGGGGGGAACTTCCTGCAGTACCTGACGCTTCAAATAGTATTAACCGTAGGGCGTTGTTGGTTCCG
+GATCGCGGAAATGGGAGCACAGGTCTGCTACGGGGTGTACCTCTGACAGTAAATCCGGCTCGCTCATCTG
+ACAGCCTCTCTCCCGGAAAAGACCAAAAATGAGATCGTCTCCTCAACAGCAGAGAAGAGGTCTTGACAGA
+CAGGCTACATTGCATACGATTTATGAAGAAAAAGACAGCAAATATGGAGGTTATAGCGGAGAACACCCTA
+CGAAATTCCTATGAAAAACGATTGAAAAAAATATCAAATTCGATTCGTTTTTATATGCTTTTTGGGAACG
+TGGCGATGACGAACTGTTGCATGTGCAGAGGAGAATGCACCCGGAAGCACCAGAATCATCCAGAAAGGCA
+GAACGATTACGCATCAAACCAGGAGACAGCAATATCAAGGTAATACACTGATTTAAAATGAATTTACAGC
+AATACGTGAAAACATTTTTTACTTAAAGGAGACAGATGCGCTGAAGAGAGTGCAGGTATTTTTATATAAA
+AATGAGAAGATTACGGGATATATATCCGGCACACTATGACCGGAGAATACCAGTCAGGCTTAAAAAGACA
+ATAAATACAGTGAGTTAAATACACAGAGAAAACGAAAACGTAGTATCAGAGGGTACATCTTACAACAGAG
+ACTGAATTTCCGGTTTTTCATAACCGGCCATTCCGGAAAGTGCAGGCGGCCCGGAGCTCTTCTGACGCCA
+GTACCTGCCAGATTGTTCTGTACATTCTGTACATCATGTACGGAGGTTTTTGTTTGCTTTCTTAAAATCT
+GCAAATGTGGGAAGAGCAGGTGAGGTGTATTGTGGGAAAGGAACTGGATGATATCTGCACCAGCTGTCCG
+TATATCGATGCTATAAAACGGCACAAACAACAGCTCGGTGCCATAGAGGAATATACACAGTGGTTAAAAA
+AAGAACCACGGGCATCTTATTTTTTTCTGTTCCGGCTGTATACCCGCATTCACAATACATTTTTCCCCAA
+AAAGCAACAACTCCCGTTCACTCCCGGTGGCACTCACTGCCCGGAACCTGATGTCACCCTTCGGGACTTA
+ACGCTTTCCCCGGGCTACCACAGTGATTATGCCCCTCAACCCATTCCGGAGATGGACAGTTCTGCTGTTG
+TTCCCCCAACTAATGAAAACACCTCGCCTCCGGAAGATACTCCCGACAACACTCCGGCCGGAGGCAATAC
+CGGACAAGCGGAAAAGACCAGAAACTCAGGACTCACACCCATTCCTGAAAAACGTTCAGGAATGCCCCCG
+GAACATCTGCGGTTTGCCACAGGGTTTCCACCGCAACCGAAGATTGCCGGTCCCAAAGGAAAGCCGATGC
+GCACCGTGCATCCGGATAAAATCTACCGTGAAATTATATGGTTCTGCTCCGGTTACCTGCGGAAATCCGG
+ACCAGAGGCTACGAGGACGATCATCAACTCAATATTCTGTGAATGGGCCAGCATCTTCAATGATTACTCC
+TCCCCTTTTCGTGGGTGGACAGCAGGGACAGTGAACAGTGTGACTGGTTATGGAACGCCATGCAGGTCCG
+GTGTGTGGGAACCCCGCTGAATCCCCTTACCCCGGAGCAGAAATACTGGTTCGCCTGCGCCACGTTTGAT
+AACTGGGAAGGCTGGAATGAGCAACAGGTACAGTTTTTACTGGAAAGTAATCCCAGACGGAACAGAGCGA
+AGTTTACGCAGGCCTCCTTCCAGGCCCCCAGGATTCAGCATAAAGCGATTCTTCTTGATGAGCTGAAAAG
+TGCCCGGGAGCAACAAAAAAGGCGTGATGAACGTGCTGATGGTTCCGTCCCGCTGAAACTGTCCGGAAAA
+ATCCACAAACAGCTTGAAAGTATTGCCCGAAGTCGTGGTGTCCTCCCAAAAAAACTGCTGAATGAAATGA
+TTGAGCAGGCGTACCAGGACTTTGTGGCAAATGAGCAACACAAGACACTGAGTTAAGGACCGCAGGGCCT
+CCGGTTACCGATTCTGCAGCATACACAACGAATGTGTCCGGCTCTTACCTGTGGGGGCCGCACTAAAGTT
+ACGCATTGAGTATGAGTGGGTAATCCCGGATGAGAATATCCCGGTTTTTACACTATTCACTGAAGGTGCG
+ACATATCATTCAGTCTCTCTGAATTCTTCATTTCAGTGGCCCCGGCTACAGTCGTTTAATCTCCTCCACG
+AACCGGGGCCGCAACTTGTTGTGTCAATACCAAATTGTTGGTCATTACTGTCTTGTGTCACTGGCGCTGA
+CAAGTGAACTGAAATCCGCACCTTAATATTCTGACTGGCTGCGTACATTCATGGCATGAAGCGGCCGGAG
+CGGCTGAACTGAAGGTCCGTTGTGAGCGAACAGCGGACATTCACTACACATGGTTCAAACATGAACCGGA
+GCTTTATTGTCTAGCTGTCAGTGTACTGCGATTTACCCGCTCGGCTGTCCAGAAAATCGGTCTGAAATCC
+AGTCATTAAAGGGCCTTAGCCTGACATTAAGCAACTTGGTAGGCGGATAGATAATAGAAATAGGAATGCG
+CAGGTCTGTCATGTTGCCTAGAACGGTGACAAGCTGTCCGGTGCGAAATCATTCCGGCAGCGACAGGCTC
+ATGTGTCAGCCCGACGCCCAGACCGTCAACGAGCATGTGGATCTGCGAGGCGTTATCGTTCGCAGCGATG
+TTAAAACGAACAATCTGCTCATCTTCTAGAAGCACAAGTGCTTTAATGACATTAAGGCGGTCTATATGTT
+GCATTACAGACTTCCTATTGATCTTTACCTGAGGCTGAAGCAACCACGTTAATCCGACTATTTTTCGATT
+GCACCATCCACTATCACCATCGATCTTCCCTGAGCACAACGTTCAACTCTCCCGCGTACGCCGTATACCT
+GCGCAAGGCTCTCTGCATGGATCACCGTTTGCGGGTCGCCGCTGTCGATAAGTTTCCCCTCTTTCAGCAT
+GATGACCTGGGCGGCATGCCGCAGTGCGATATTGATATCGTGTAAGACGACCAGCGTAACCATATTGCGT
+CTTCGCGTTTCGCGCGATACAACATCCATCACATGGAACTGATAATTGAGATCCAGCGCGCTCAGTGGTT
+CATCCAGCAATAATAATGCGGGGCGGCGAATAAGCGACTGTGCAAGCCCCACCAGCTGCTTCTGACCGCC
+GGACAGGCTATCGAGGTAGTTCATTGCCAGATGTGCGATGCCTAGCTCTTCGAGCAGCGCTATAGCCTGC
+GCCTGATTTTGCCCGGCGCCGGAGGCGCGCTGGGCGACAACCACCGACTCCAGCACCTGTAAATGCACGC
+CCTGCGGCAGGGACTGCGGCAGGAACACAACTTTTTCAGCCCGACGAGCAAACGGCAGCGATAAGAGATT
+CTCTTCATTCAGCCAGGCTTCGCCACTGGCGCGATTTAGCCCGGCCAGGGCGCGCAGTAGCGTTGATTTA
+CCGCAGCCATTAGGCCCCAGCAGTACAGTGACTTCGCCGCGCGGCAGCGTAGAAATCGACAGATGCTCAA
+TAATCCGCCGTTTGCCGTAACCGGCGCACAGCGCATTAATCGTAAGCCCGCTCATGACATACTCCCTCGA
+TGACGCATTACAATGCTCAGAAAGAACGGAACGCCTACCAGCGAGGTAACAATTCCTACCGGTAAAATGA
+CACCGGGAATGATGTTCTTCGACGCTACCGAGGCCAGCGATAGCACCAGCCCACCGATAAGGATGCTTCC
+GGGCAAATAAAAGCGATGATCTTCTCCCAGCAACAGGCGAGAAATATGCGGTGCAACCAGGCCAATAAAG
+CCAATTGGCCCCACAAACGCAACCGAAAGGGCCGCCAGCAGGCTGATGCGCAGCAGGGAACCCAGGCGCA
+AACGGCGAACATCAATGCCAAAACTCATCGCCCGCTCTTCGCCGAGGCGTAGCGCGGTAAGCTGCCAGGC
+ACGACGCAGCGACCAGGGTAAAACAATCGCCATCGCCGCCGCCAGCACCGCCAGTTTCTCCCATGATGCG
+CGAGCCAGGCTGCCCATCGTCCAGAACACCAGGCCCTGCAAAGTATCTTCATCGGCGACAAACTGCATAA
+TGGACACCAGCGCATTGAAGGTAAACACCAGCGCAATCCCAAACAGCACAACGCCCGACGTCGGCACGCG
+CGTCCAGCGGGTCAGACTATCGAGCAGCAGGGCGGACAGGAGCGCAAAAAGAAAAGCGTTTGCCGGTATA
+AACCCGCTTTCGGGAACGCCGGGAATACCGATGCCCAGAACAATCGCCAGCGCTGCGCCAAAGGCCGCCG
+CCGACGAAACGCCAAGCGTAAACGGGCTGGCGAGGGAGTTATTCAGAATAGTTTGCATCTCTGCCCCGGC
+CAAACCCAGCGCCATTCCTACCAGGAGCGCCATCAGCGCATAGGGCAAACGGATGTCCCAAACGATAACC
+CGCATGCCGTTAGTCGCCCCGGACGGATGCATCAAAGTCTTTATCAGCGAATGTAAAGGGAGCCCTGAGG
+GGCCGAGGGTGAAATCGAGCAGCAGCGAAGCAATGATAGCGATAAAAATAACCGCCAGTATTACCAGACG
+CTGGCGAAAAAGCTGGCGATAGCGGTTCTCGACCGACAGCGTACTTTCCAATACAGTCATGGTTTTTCAC
+AGCCTCCGTTAGCGCGGCGGATTGAGCACATCGCTCATCTGCGCATCGCTTAACGTCAGGCCAAAGAACT
+GCCGATAAAACTCACGCGTCTCTTTGCGTATATCCACATCAGCAAATCGCGCAGGATAAAGCGTTTTCGC
+CAGCCACAAAAATTGCAGCGCCTCTTCGCTGGTTTCACGGCACCACCAGAACATTCCTTTCGGATTAACG
+TAAACGCGATGATGAATGACCGCGTCCACGCTTGCCCACTGCGGAGAACTCAGAATGGCATCCGCGTCGC
+GCTTGTTCATCGCGATGATAACCGCCGGATTGGCAGTGACAATTTTCTCCAGCGCGACTTCACCCGAACG
+GTTTTGTTGATGCTCGCCAAACCAATTTTCAGCGATATTTTTGCCGCCGGCCAGGTCAATCCAGTCCTGG
+TTTAGCGAGGGTCTACCGGTGGTGGTCAGCGGATTGCCCATACTGTGATAGAGCGACACGCGCTGTGACG
+CAGGAAGATCTTTCAGGCGCCCGGTGACCAGGGCCACGTTGCGATCGAAGTAGCGTTGATAGGCGAGCGC
+TTTTTGCTGCGCATCGGGCCCCAGCACCGCTGCCGTTTGCTGTACGCGCTGCGTTAACGCCCGCAGTGAA
+TTCGCCTCAAACGCCAGCACCTGCACCCCAGCCTGTTTCAGCAACGCCTGTTGAGGCACTACCATATTCT
+GCGGTACAAAAAGCATATCGACCCCCAGCGCGATAATCTGTTCGGGATTGATTTCATGCCCGCTGTTTAC
+GCTAACTGCTGCGACTTTCTCTATGCGCGGCAGGCTCTGGCGAAACAGGGGGATCCTTTTTGCAATCATC
+GAGGTTCCGACAATGTTATCGCCGTACCCCAGCATGGCAATAATGGTATTTTGCGCCGGCCACGGTGACG
+CGATACGCACCTCCTTGTGCGTATTTTCTGCGTGCAGGCTGGCCGCCAGCAGCAGCGCCAGCAGCGGAAA
+TAAACGGGAGAGTTTCATCATTTATCCATCAGAAATCGAAGGTGACGGATGCACGCACTTCGCGGCCGCC
+GCCGATAAACGCACTTGGGGAACCGTTATCGCCATCGGTACCCGATGGGAAGATAGAAGCCCAGTAATGT
+TTATCAAACACGTTGTTTACCACCACGCGGAAAGTGGTTGGGACGTTGCTCACTTTCGTGGTGTAACGCG
+TTCCCAAATCCCATGTGGTATAGCTGCTGGCGTAAGAGGTGTTGGTATCGTTCGCCGCGCGTTTGCCCGT
+ATAATGGACGTTAGCGCTGTAAACCCATTCCGGTATGGACGGCAAACTGTATTCCGCCAACAGATTGGCC
+TGCACTTTCGGCACGCCGACAACCTGTTTATTGCTGGTTGAGGCATTCGCCGTATCTTTCAGTTTCGGGT
+CGAGGAAGGTCACGCCGCTGTAAATATTCAGCCCCTGCCACACATTCCCGGCAGCGGTTAACTCAAGGCC
+GTTGTTAACCTGGTTACCCTGCTCTTTATACACGTTATCCGTATCAAGATAGGCAAACGGACGTTCCAGT
+CGGAACAGCGCGGCGCCTAGATTCATCTCGCCGATGTCCGATTTTAGCCCCACTTCATACTGCTTGCTGC
+GATACGGGTTTAGCGTTTGACCGGCATTTTTTACGCTCTCATCCGTCGGTGCGGTACCGCCCTGCTCCAG
+CGAATCGGCATAGCTAACGTAGGCCATTGTGTTAGGGGTAATTTTATACATCAGCGCGGCGTTCGGACTT
+AAACCATTTTCATCAACCTGGTTCGTTTGATTACCGTGCTTATCGTAGTTTTTAGTCTGCAGCCAGCTCT
+GGCTGAGATAGAACATTGCCGACCACTGCGGCGTAAATGTCACCGTATCGCCGAGCGTAACGCTCTGCTG
+AGTATTTACGCTGGAGCGGTATCGCGGCCCGCCGGTGCGGATTTTGCCATCGCCCTGCTCATCTATCGCA
+TCCGGGTGATACATATTTGTTGTACCCCAGCTATAGCTGGAACCTGTTCCTTTGGCACTATAAAGCGACC
+AGACATATCCCGTGGTAGAAAGTGACAGATCGTGGCCGATAGAGCCGGTATCAATATGACCATTCAGCCC
+GGCGGTGTTGCTCAGGACGCGAAAACGTCCGGCAGCGGTGGAATCCTTCATCGAACGAGAGATATCGCCC
+TGATTGTTGAGTATTTTACTGGAAACACTACGCATCGCGCGGTCAGCCTGCTGCCAGCCCACGCCAGCGT
+TCATGGACCAGTCGTCGTTAAAGTAGTGGATCAGGCGAGTGCTGATGGTATCGGTAGTGAGGTCGTTGCC
+CGCAGTGCTGAGCGCCAGATTTTTGTCCTTCGGATTCGGCGCAGACGGCAGTTTGACGTTCGGCCCATAG
+TTAAAGCTACCGACATAGCCTTTCTGGATAAATTCGTAATGGCTGGCGTCGAGCTGTAGCTGAGTGCCCG
+GCTGAATATTCCAGTCGAGCGCAACGGAAACGAGTTTGCGACGCAGCGTGCTGTCATCCACATTGCCTTC
+CCCTTCCTGATCAAGCAGGTTCACGCGATAGCCAAACCGTTTGTTTTCATCAAAATGGCCACCCAGATCG
+GCATGGCCGGTAAACGCACTGCGGCTTTGATAGCCCAGCGTCACTTTACGCAGCGTCTCTTCGGTTGGGC
+GCTTCGCCACGAAATTAAACTGCCCTGCTGGGCTCGCCGGGCCGTACAGCGCGCCGGTCAAACTGTTAAG
+CACATCCATGCGCTCAAGCATTTCCACCGGAAACGCGGTTGTTGAAACGATATTCAGCCCGTCCAGACGG
+CTGTTGGCCACCACGCTGCCCTGCATCCCCCGACTTTGCGGACGCCCGACATCCATTCCACCGCGCGCCT
+GCATTTGCGTACTGGGAGAGTATTTCAGCATCTCGCTGACGCTTTGCGCCTGCTGATTTTCAATCATCTC
+TTTAGTAACAGTGGTGCTGGAATATGGTGTTTCGATCCAGGATTTCGTTCCCAGCGGGCCGACATCTATA
+TCGTTCGTTTTGAAACCGGCACCGGCGGCAGAATCGGTGGTGTCGGCGGCGGTGTTGCCCGTGACAATCA
+TTTCATCTTCAGAAGTAGACGAGGCATGAGCATGAAGCGGTATGAAAGACGCTAATGCTGGCAAAAGCGC
+AGCGAAAGTTATTTGAGTTTTCATGAATCACTGATCGTTATGTAAATATTTATATTACGATCGGTGCATA
+GGCAAAATTATGATCCAGATCACACGTGAATGTAAGTTATTTACAAATTACGCTAACCTTCTGTCTCCGC
+TCTTTGCAGCATAAAAGTATGGCGGCGCGTTGTTGAAAGCAGGAGCGGCCGGGTTGTCAGAAAGCTGGTT
+TGGACGCAAGTAATATATAACAACTCTGATTACCGCATACTGTCAGGACAGTATCTACTTGAGCGTCCGC
+CTTTGGCACAAAGCGGACTGTCAGATTAGATTCAGACCTGTACTCATTAGCTGATACAAATCAGCCACAT
+ATACCTGCATTCAAAATAATTTCAGAAAGATATTATCTCCGTGAATCCCCCGCCACCTTTCCGGTGCACG
+GGGTTTTGTCTTTTTTCACTGGGAATACATGTATGAATCCGTCTGATGCCATTGAGGCAATTGAAAAACC
+GCTCTCCTCCCTGCCTTACCCGATTTCCCGTCACATCCTGGAACATCTGCGCAAACTCACCCGTCACGAA
+CCCGTGCCTGGCATTATGGGTAAAAGCGGGGCCGGTAAATCCTCACTCTGTAATGCACTGTTTCAGGGGG
+AGGTCACCCCGGTCAGTGCACTCATGACAGTGCTTCCCGGACATGCCGCCATCCATCTGATGACACGCCT
+GCAGGACGAACTGCGCACGGAGTCTGTCCGCACTCAGACCCGTGAACAGTTTACCGGTGCGGTGGACCGG
+ATATTTGACACGGCGGAGAGTGTCTGCATTGCCTCTGTTGCACGCACGGTTCTGCGCGCCGTCCGTGACT
+CGGTGGTCTCTGTTGCCCACGCGGTATGGAACTGGATTTTCTTCTGAACCCGGTGGTGATGTACCAGGCT
+GTTGTTACAGATTTTTAACTCCATGAAAACACTATGCAAACGCAGCCATACCCGGGGTGTCCCCTTGCGT
+TGTGTTCCTCAAGTTAATAGAATACATCGATCGTTACTATTATATTGATCGTTATAAACGATCGTTTGTA
+GTAAATGACCTCCTCCGTGGTTGTCATGAAAATGCGTCTCAGGAAGGTTAAATAATGCACGAAAAGAACA
+TCGCCCTGCTTTGTGATGAAGCCGACCGACTTTTGCAACTGAACATTAATCTGCTCCGGCAAATGGTTGA
+GGAGCCAGATGTGTTATCTGACAGTAAGAACGAAAACAGACTGCTTTTTGATAAACAGAAAGCACTGAAA
+AGAATTGAGGAGCTGGAGGGCGAACAAATCAAAACCGCCCGCAGGGAGATGGTGCTGGCTGTTGTCGGCA
+CGATGAAAGCAGGCAAATCAACCACCATCAACGCCATTGTGGGGCAGGAAATTCTGCCTAACCGTAACCG
+CCCCATGACCTCTGTACCGACGCTCATCCGCCACGTTCCCGGAAAAACTGAGCCGGTTCTCCATCTGGAA
+CATATTCAGCCTGTCCGCAATTTATTAATCACACTGCAGGAAAAACTCGCCACCCCGGCAGGACAGCAGG
+TCGCACAGACCCTGCAGCAAACCGGGGATACCCGCGAACTGCTGGATATTCTGACGGATGATGGCTGGCT
+CAAAAATGAATACCACGGGGAGGAGGAAATCTTTACCGGACTGGCATCGTTAAACGATCTGGTTCGTCTT
+GCTGCGGCAATGGAGACTGAATTTCCTTTTGATGAATACGCAGAAGTGCAGAAACTGCCGGTGATCGACG
+TGGAATTCAGCCATCTGGTGGGGATGGATGCATGCCAGGGAACACTCACACTGCTGGATACCCCCGGCCC
+TAATGAGGCCGGACAACCGCAGATGGAAGTGATGATGCGGGATCAACTGCAGAAAGCCTCTGCGGTTCTG
+GCTGTGATGGATTACACCCAGATGAACTCAAAAGCGGATGAAGACGTCCGTAAAGAGCTTAATGCCATTG
+CTGACGTATCAGCCGGCCGCCTGTTTGTACTGGTCAATAAATTTGATGAGAAAGACCGCAATGGCGATGG
+GGCAGATGCCGTACGCCAGAAAGTTCCGGCAATGCTGAACAGCGATGTGCTGCCCGCCTCCCGCGTTTAT
+CCCGGATCCTCACGCCAGGCATACCTGGCTAACCGTGCGCTTCATGAGTTACGGAAAAACGGAACCCTTC
+CTGTTGATGAAGCCTGGGTCGATGATTTTGTCAGGGAAGCCTTCGGTCGCATGAAAAAAGATTACGTCTG
+TAAAGACAGCGAACTGGCAACTGAAGGGGCGACAGACCTGTGGGAATGCTCACTTATCGATCAACTGATA
+ACGGAAGTCATACTGAGTTCACACTCCAGAGCTGCGGCACTGGCGGTTGATTCTGCCGCCGCAAAACTGA
+TGCAGAATGCAGAAAATATCAGTGAATACCTGTCGTTACGCCATCAGGGGCTGATGCAAAGTATTCAGTC
+ACTGCAGGCGCATATCACCAGCCTGCTTGAGGATATCCGGGAAATAGCAGACTGTCAGGAGCAGGTGACC
+GCTGATGTCAGAATGGCCATGGAGGAGATCGATGCCAGAACCCGGGAATTACTGACGGGGGTCTGCACCT
+CACTGGAAGAGGAGCTGAATGACTATTTCAGAAGCGGTAAACGCAAAGAACAGCAAATGCTGGAGGAAGA
+AAATTCAGCGCAGCCCCGGGAGAGAAACGCATTCGCTTTCTTTCACGATATTTTCGGAACCGGAAATCAG
+CATGACAGGATGCGGGACTTTGATCCCGACAGCCCCGAAATAAAATTCAGTGATCGCAGGGAAGCCCTTG
+AACTGATGACGCAAATCGAATCGACCGTGACCAGCCTGCACCGTGAGGCTGAAGCACAGTTCCGGCCTGA
+GCTGGAGAAAATCGTCAGCGGGATTGAAACAGGTTTTCGTGGCACGGCCCTGTACGCCACAGAAAACATT
+GCCGGTCGCATCAATACCCGCCTGGAGGATGAGGGCTTTACCGTAAAAATCAGTTTTCCGGCAGTCAGTC
+AGTTACAAACCCGGCTCGCGGTAAAAACAAATCTGAGTGCGCTTATGGAGGAAAGAACGGAGACCGTCAC
+CCGTCGCCGTCGGCAGAGTGGTTTATGGGGAAAGATTTGTGGAGCGTTTGGCACCAGTGACTGGGGCTGG
+GAAACCTATAAAGAGGATGTGAGCCGCAGTGTTATCAATATCAACACCGTCAGGAAGGAAGTTATGTCAC
+TGACCCGGGCATATTTCGGGGAGCTGCAGGCATCCATTGAGCAGGATATTAACCAGCCCGTCCGCCAGGA
+AATCGATGCCTTTTTCTGCGCATTCAGGGAGAAAGTTGAACAACTGCGTAACACGCTGATTCAGAGCTCT
+GAAGATCATAAACGCGATCAGCAGGCACAGGAACGGCTTACCAGGCGACTTCAGGCATTAAATGAAAGGG
+TTCCTGAGCTCATTACTGACAGTAAGGCGCTGAGGGAAGAGCTGGAGACAATGCTGTGACTTCACCATTT
+ATTCAACAAATTGCTGATAACCGGGTATGTCAGGTACTCACCTGTCTTCCTGAAAAATTTGTGGTTGATT
+TCGCAAACGGAATCGATGTTGCACAGGAGCATATCCGCACGGCCGGAGAGCGCACGTTCTTCCGGCGTTT
+AAAAGAGGGACTGACCGGCGAAGGCGCTGCACGGCAGAATGCCATCAATGCTTCGGTTGCACAGGGCCTT
+GAGGCGTCCCTGCGCTGGCTGACGGAGCTGACAACGTCACTTGCCACCACAAACTACGCGATTACCCGGG
+TAAACGACAGGGTCAGTTCACTGGTCAGTGATACTGCCAGGCTGGCGCATTATTCCGCAGATACACGGGA
+GCAGTTACTCATCCTGGCCGATCAGGTTCACCATAAACTGAATCATCTTGAAGAAAAACTCCACCGTGTT
+GACCAGGTTCAGCGGGCGCAGTTACATCTTGAGCAGATATTCTCATGGTGGAGCGCCGGGCGATATGCGT
+CATTTTCCCCTGCCGGACGTTGTTATGTGGCGCTTGAAGAGCTTCGCTGGGGCGCGTTTGGTGATGTGAT
+ACGTCAGGGCGAAACAGGCCAGGTTAACCAGCTACTGGATATTCTCAGACATAAAGCATTAACGCAGATG
+GCACAGGAGAGTGGCGGTAGTGCAACCGTGCGTCTGAACACTCTGGACTGGCTTGGTGGTCAGGGCCGGG
+AGCAGGCAGATAACGAGTGGCATGACGCGATTAACTGGCTGGGAGACTGGTGCAGTGAAGAGCAGCATCC
+GGTGATCTGGTCAACCACGCAGGCTGCAGAACACTTACCGGTTCGCATGCCTCGCCTCTGCTCTGCAGAA
+CGCCTCTCTGAAAGTATGGTCGATGAAATATTTCAGAAGGGGGCTGCATGAGTACAGAAATGAAAACGGG
+GCTGGTGCTGTCCGGTGGCGGGGCGGTGGGCGCTTATCAGGCGGGAGTGGTTAAGGCACTGGCAGAGTGT
+GGTACACAGATCAGCATGGTTTCAGGGGCCAGCATTGGCGCATTCAATGGTGCCATTATCGCGGCCTCTC
+CCGATCTGTCAGAAGCTGCCGTACGCCTGGAGGCGCTCTGGGATCATCTGGGGAATAATCAGGTGCTGTC
+GGTAAACCGATTGGTTTACTTTTCATTGCTGAAAAAATTGTTCCAGGCAATGAACCTCTGCCAGATCCCC
+GGACGTGCAGGAGCACTGCTTACGACGCTTCTTCGCCATATATCGATACTCAACGGGTTTGACAATCTGA
+TGGCTCAGCCGTTGTTGTCAGATGAGCCCCTGACAGCGCTGTTGGATCATTATCTTGATACTGATGCTCT
+GGCAGACGGGCTACCGCTGTATGTGTCGCTGTACCCCACAGAAGGGGGCATGCAGGATATTATTGACTGC
+ATTCGTGCTGAACTGGGTGCCGGAACCACGAAAAACGCCGTTTTTCAGCATATCCAGAGCCTGCCCCGCG
+GACAGCAGAAAGAGGCTCTGCTTGCGTCAGCCGCGCTGCCCCTGCTGTTCCGTCCCCGTGAGGTTCAGGG
+GACAATGTTCGGTGATGGTGGTATGGGAGGATGGCGAAATATGCAGGGAAATACCCCTGTGACGCCTCTG
+GTCGATGCCGGATGCAATATGGTGATTGTGACGCATCTGAGTGACGGTTCTTTATGGGATCGCCAGGCTT
+TTCCGGACACCACAATCCTTGAGATCCGTCCCCGGAAAAGGCTGAAATATGCAGGTGATGGTGACAACAG
+CGGCGGTCTGCTCAGTTTCACGTTGGCACATACCGACGCCTGGCGTCAGCAGGGCTATGAAGACACGATG
+CTGACGATGGAGCATATCCGGAAACCGCTGGCAGCACGTCAGGTACTGTCCCGGTCAGAAACGGTGTTGC
+AGAAAAGTCTGGAGATAACGGAAGAGGCAGATTTGGCACTGAGAAACGCGATGGCCCGGATTAAATAAAG
+ACGCCCCAAAGAAACGCCACCGCCTGTGGTGGTGTTTTTCCTGGCTGGTGTTATTGAAAATATTTTCAGA
+TATATATTACCTGAGAGAAAGTTTTACCCCTCACCTGTCAATTCACTCACTGGAAATTTAATTATGCAAT
+TACCTGTAAAGTTATTAATGAGCCTTATATCTCTGGTCAGCGTTATTGCACGTGCCGGGAAATATAAAAA
+TTACATCCGGGATGAAATAAAATACTGGCGATATACATCATACAAGGGGGGGGAATTTCCGGAAGGTTTC
+ACTGATGAGAAATTTTCCAGCGCCATTTACAACGGAAGAATATTTACAATGAAACGTTTACATACCCTGA
+TGTTATTTCTGGCGGTTCTGTTTACTGGCTTTAACGTGGAAGCAGCGAGCGTGAAACAAGCGCTCAGCTG
+CGACCCAAACGCCCGGGCTGAACAACCTGGAGCGTGTCCAACAACGTACGAGTTGTACGAAGGTGACGCT
+GCCTACAAAGCTGCGCTTGACAAAGCATTAAAACCGGTCGGACTGAGCGGCATGTTCGGTAAAGGCGGGT
+ATATGGATGGCCCTGGCGGAAACGTAACGCCAGTAACCATTAACGGTACAGTCTGGCTCCAGGGCGACGG
+TTGCAAAGCCAATACCTGCGGCTGGGACTTTATCGTAACACTCTATAACCCAAAAACCCATGAAGTCGTT
+GGCTACCGCTACTTTGGTTTAGATGACCCGGCCTACCTGGTTTGGTTCGGCGAAATTGGCGTGCATGAAT
+TCGCGTATCTGGTGAAAAACTACGTAGCTGCGGTTAACTAATTTAAGGAGTCTGTCATGAAAACTTTTAT
+CAAAACTTTACTCGTTGCTGTAACTATTCTGTTCTCTGTCTTCGCTACGGCGAAACAAGTAAAACTGCCA
+AACAACATCAAATACGTTAATACTACAGAGGCGTTTTCCTGTACTGAGATTGACGGTATGAATTGCCAGA
+CGAAGAATCCGTTTAACTATAAAGATAACAGCTATGTTTTCGTGCTTGAACGTGGTGGTGCCTGGTGTTA
+CGACTACACTGTCTCGGTACTTAACCTGAAAACCGGGAAAGCACAGATGCTCGAATACAAAGACAACCAG
+CTGTGCTCAGGTAGCAACAAACCGTTCTTCGAAATCAAAAATGGCGTACCGACGGTAGGAGTCATCGACA
+CATCCGGAAAACCTGTCGTTGTGGCTCTGGACAAACTTAAAACCTGAGGAGTAAACCATGCGTTTCTCTG
+CACATTATTAATATCAAAGGTAAATACAGCCCCAGCCATTGTTGCCGGAAAGCCGCTTAATGCGTGGCTC
+GCCAGTGAAAGGCTTCTCAGACAATAAACCTCATTCATTTCACCCGTCAGGCCGCGTCTTCTCCGGGAGA
+CGTGGCTTTTTTCATTTATTACACCAGTAAATCTTAACCACCGATAAGGAGCAAAGTATGCGATTAGCAA
+GTCGTTTTGGTTATGCTGCAAACCAGATACGTCGTGACCGTCCACTGACACATGAAGAGCTGATGCACCA
+TGTGCCGGGGATTTTCGGGGAAGAGAAACACACGTCCCGAAGCCAGAACTATACGTACATCCCCACCATC
+ACCGTACTGGAAAGCCTGCAGCGGGAAGGCTTTCAGCCATTCTTCGCCTGCCAGACCCGTGTGCGCGACC
+CGGGCCGCCGGGGATACACCAAACACATGCTGCGTCTGCGGCGGGCCGGAGAGATAAACGGAGAGCATGT
+CCCTGAAATTATTCTGCTCAACTCTCATGACGGTACCTCCAGCTACCAGATGCTGCCGGGTTACTTCAGG
+TTCGTCTGCCAGAACGGCTGCGTCTGTGGTCAGTCTCTGGGGGAAGTGCGTGTTCCACACCGGGGAGACG
+TAGTGGAGAAAGTTATTGAAGGGGCTTACGAGGTGGTGGGCGTGTTTGACCGGATAGAGGAGAAGCGTGA
+TGCCATGCAGTCGCTGGTCCTGCCGCCACCGGCACGCCAGGCGCTGGCACAGGCGGCACTGACTTACCGT
+TATGGTGACGAACATCAGCCCGTCACCACCGCCGACATTCTGACGCCACGACGCCGGGAGGATTACGGTA
+AGGACCTGTGGAGTGCTTATCAGACCATCCAGGAGAATATGCTGAAAGGCGGGATTTCCGGTCGCAGTGC
+AAAAGGAAAACGTATCCATACCCGGGCCATTCACAGCATTGATACCGACATTAAGCTCAACCGTGCATTG
+TGGGTGATGGCAGAAACGATGCTGGAGAGCCTGCGCTGATGCAATCTGTCCCTGAAGGCGTGATTCAGGC
+ACCAGAATCACCCGACGCCCCGGAGAGCTCAGTCTGTGCAGACTGAGTACAGGCAATGGCATCTGGCCAT
+CCGTCTGTGACCGGAACGGTTACGCGTACGGCTGTCCGGAATTTCAGCCGAATATCATTCATCCCTGACA
+TTACCGGGTCTCACGGTCAGTGATGAACGTGATGTTGTCAGCCCCCGGCCTTTACTCCCTCTCATTTATT
+CACATTACAAGGATTTCATACATGAAAACATTGTCTCAGAACACCACCTCTTCGGCCTGTGCACCGGAGA
+CTGGCCTGCAACAACTGGTTGCCACCATAGTCCCTGATGAACAGCGCATCAGCTTCTGGCCGCAGCATTT
+TGGCCTCATTCCACAGTGGGTGACCCTGGAGCCCCGGGTCTTCGGCTGGATGGACCGTCTGTATGAAGAC
+TACTGCGGTGGTATCTGGAATCTGTACACCCTGAACAACGGTGGCGCATTTATGGCACCCGAACCGGATG
+ACGATGATGACGAAACATGGGTACTGTTCAATGCCAAGAACGGTAACCGCGCTGAAATGAGCCCGGAAGC
+CGCCGGCATTGCTGCCTGTCTGATGACGTACAGTCATCACGCCTGCCGTACGGAGTGTTATGCCATGACG
+GTTCATTATTACCGTCTGCGGGATTACGCCCTGCAACATCCGGAATACGACGCCATTATGCGCATCATTG
+ACTGAAAGGGGGCAGGAACAATGCAACAGATTTCCTTTCTGCCCGGAGAGATGACGCCCGGCGAGCGCAG
+TCTCATTCTGCGGGCCCTGAAAACCCTGGACCGTCATCTTCATGAACCCGGTGTGGCCTTCACCTCCACC
+CGTGCGGCACGGGAATGGCTGATTCTGAACATGGCGGGACTGGAGCGTGAAGAATTCCGGGTGCTATATC
+TGAATAACCAGAATCAGCTGATTGCCGGTGAAACCCTCTTCACCGGCACCATCAACCGCACGGAAGTCCA
+TCCCTGGGAAGTGATTAAATGCGCCCTGTATCACAATGCCGCAGCCGTGGTGCTGGCACACAATCACCCG
+TCCGGTGAAGTCACACCCAGTAAGGCAGACCGGCTTATCACCGAACGTCTGGTACAGGCACTGGGCCTGG
+TGGATATCCGGGTGCCGGACCATCTGATAGTCGGTGGCAGCCAGGTTTTCTCCTTTGCGGAACACGGCCT
+GCTTTAACCCGTCACCGCCACAATCACATCACACCTGTTTTCACTTTTATCTTCTGTCTTCAAAGGTATC
+CTATTATGAAAATTATCACCCGTGGTGAAGCCATGCGTATTCACCAACAACATCCGACATCCCGTCTTTT
+TCCGTTCTGTACCGGTAAATACCGCTGGCACGGCAGTGCTGAAGCGTATACCGGTCGTGAAGTGCAGGAT
+ATTCCCGGTGTGCTGGCCGTGTTTGCTGAACGCCGTAAGGACAGTTTTGGCCCGTATGTCCGACTGATGA
+GCGTCACCCTGAACTGAGTGGGAATTCTGATGAGCAGAATTATCGCCACCACCGGACCATTCTTAACCGA
+TTTTCTGTAGGGATTTTATCGTGTCAGACACACTCCCCGGGACAACACTTCCCGACGACAATCACGACCG
+CCCCTGGTGGGGGCTACCCTGCACCGTGACGCCCTGTTTCGGCGCCCGTCTGGTGCAGGAGGGTAACCGG
+TTGCATTACCTTGCCGACCGTGCCGGTATCAGAGGCCTGTTCAGCGATGCAGATGCGTACCACCTGGACC
+AGGCCTTTCCGTTGCTGATGAAACAACTGGAGCTCATGCTCACCAGTGGTGAACTCAGCCCCCGCTATCA
+GCATACCGTCACGCTGTATGCGAAAGGACTGACCTGCGAAGCCGATACCCTGGGCTCCTGTGGTTACGTT
+TATCTGGCTGTTTATCCGACGCCCGAAATGAAAAATTAACTCTCCAGAATAGCCTTCTGCTACGGCCTGG
+TGTTTTCACCACGCAACTTTCCCATTTTTATATCTGCATATCAGGAAAATCTTCAGTATGAAAACATTAC
+CTGTATTACCCGGGCAGGCGGCCAGTTCTCGCCCGTCTCCTGTTGAAATCTGGCAGATACTGCTGTCCCG
+ACTGCTGGACCAGCACTACGGCCTCACACTGAATGACACACCGTTTGCCGATGAACGTGTGATTGAGCAG
+CATATTGAGGCAGGCATTTCACTGTGTGATGCGGTGAACTTTCTCGTGGAAAAATACGCGCTGGTGCGTA
+CCGACCAGCCGGGATTCAGCGCCTGTACCCGCTCTCAGTTAATAAACAGCATCGATATCCTCCGGGCTCG
+CAGGGCGACCGGCCTGATGACCCGCGACAATTACAGAACGGTAAATAACATTACCCTGGGTAAGTATCCG
+GAGGCGAAATGATGACACTGGAAGCCGACAGCGTTAACGTACAGGCGCTGGATATGGGGCACATTGTCGT
+TGACATTGATGGTGTTAATATCACTGAACTGATTAATAAGGCCGCTGAAAACGGTTATTCACTCCGCGTG
+GTGGATGGCCGTGACTCTACCGAAACACCGGCAACTTATGCCAGCCCTCACCAGTTGCTGTAAGACAATG
+CAGTGATACAGGGTATAGTGCCATTAACCACAGAAACAGCACTGTTGTCCTGTATTAAGCAGGCAAGAGA
+AGATGTCCTTACCCTGCGCCATCTGCAGCTTCTGCACCAGAACCGGTGAATCTCACTCAACAGGCTTCAT
+TTCCCCTGACGCCAGCCTGAATACAGCTGGCGTTTTCATTTATAAACAGAAAGGAAAACCGATAATAATG
+GAATGGACGCCCCGACCATGAAGCAACGGTAGGATATTACTGATAAACCTTCCAGTGGAGGTGCGTTATG
+GCCGTTTTAACGATTAGCATTGACCTGACAAAAAATGAATTCCAAATCCACGGTCTGGGTAGGAACAGAA
+AAATCTAAGCTCAGAAAACGGATTAAAGTAAGCGTCAACGGAGCACCGTATTGACGCTTATTTATTGGTG
+AGAACTACGTTCCATGGCAGGAGTTCGTCAACACGGTTGGAGGGCCATTCCGGCAGTATGCTCAGAATAT
+GGCGCAGATACGCTTCCGGATCGATACCGTTCAGACGGCAGGTGCCTGCTTTTCCGGCAACAAGCAGGAA
+TCTCAGCGCTGAAGCAGGAATTAGAGGTAAAAACGCCCTACCGGGCCATGAATCACCCGGTCATTGGAGT
+AGTAACCAAAGCAGATTTAGCCAGCATGGAACAAATATCTTTGGTGAAAAGTTGGTTACGGGAAGCTGGA
+GCGCACAACGTGTTAGTAACCAGTGCAGTTAATAACAATGGAGTTACAGAACTTTTTGCCTTGCTGCATA
+CAGAAGAAGGCTGTTGTTAATTTCGATTGGTTCTCAGATGAGAATGATGACGGTGATACACAGATAAGAA
+TCAATGAGCAATGAGGGTTGCCGGGCAACCCTCATTGAATAAAACGGGAATTACTTCGCTTCGCCGTTTT
+TCATTTCGCCCATAGCTTTCAGCTTTTTGGAGATATCGCGGCGTTCTTTGGAGAGCTCGGCATTTTTGAT
+GATGTAATCGTCAACGCGATCTTCATAGTCACCTTTCATGCTGGCGATGATGCCCTGGATTGCTTCAACG
+CTCATCCCTGGCTTGATGTAATCGCTCAGGTTGTCCAGCAACAGGACGCGCTTCTGGTTGTCACGGATCT
+TTTTCTCAACGTCCTGAATTTCACGTTGCAGTTTGTTCTTACGACGGAACAGACGAACAAATTCCAGTAC
+GTCCTGGAATGAAGGCTTGGTAGTTTCCATTTTTATACCCCTGATAATGTGAGAGTCGGATTCGTTTAAG
+CAACCGCTATTCGTTAGGGCCAACATTACTCATAGCTGCCGCAGATGACAATGCTTTTATCCCTTTTCAC
+TATCATACCCTTTATCCTTGCTGAATCGAAGCAGCAGCAAGATGATTCTGAAGTTCAGGAATTATTTGCG
+CAAGGCCCGGCAAATCAGATTCGATAGCAACTCAAGCTGATGTGCCGTTTCCATGTTCAGCCACACATAA
+CCATAGATTGGTGTTTCCACGACTTTCAGATCATGGTGGTTATCGAGCAACTGACGCAGCTCTTCCACAG
+CATCGTTCAATTTTTCCGTATTGGCAAAAACCGGCTGCGGATTACCTTCGTACAGCGCATGAACAAGGCT
+CAGCAGTATTTGCTGCATCATGTGCTGGGTATCACGAAGTTTTTGCGCGTTCAATAACACGAAATGGCTG
+GGGCGCGTGGCCCAGTATGCATTGATTTGCAACTCCAGCATACAAACCAGATTGCGATTAATGGTCTGGA
+TACCTTCATATATCGATTTGGGAATACGGGTTTCTTTGCTGGCGGGCGCAATCAGCCCACGCATTTTCAC
+GGCATCGGTCAGCAGTTTTTGTAGATGGCTTTCCAGACGTGGGCGTTCGAGTAAGTTCGGTGAGAATGCA
+GATTGATAGACCCGATTATACTCGGTCAGACTTTTCGCCAGTTGAATGCGCCAGTGGATGAACGCCCGTT
+GTGGCCAGATACCGGTAAACAACATTGCCAGTAAAGAGCCGAGGATCACATCGCCGCTTCGCCATAACGC
+CGTATCAATTTCACCTGTCGGGGAACCCACAACAATTGCCAGCGTCACCCCAATCAATAATCCTTGATAC
+GGTTTCTTGCCCAGCGCCAGCCAACCGCAAAGAAACATCGCCGCCGCGCACCAGACTAACATCAGCGGTA
+ACGAAATTAACTCCAGTTGCAGAGCGATAAGACCTAAAATCGAACCCAACACCGTACCGCCAATACGTTC
+GAAGGCACGAGGGACAACGTTCCCCCAGAACGAGATTGGCCCCATAATCACCACCATGGTGACCAGCGGC
+CAGGTGCTTTCCGGGATAGTAAACAGGCGGATAATGAGAAAAGTGAGCAGGAATGCCAGCGCGACCCGAG
+TACCATGCACAATGCGGTAATGGCGGTATACCCGGATTTCAAACGGGCTTAATGACTTATCGGCACGCAC
+GCAGAAACTCCGTAATGAAGATTAAAAGCGCTCATAACACATCTGTCGGCCAGAAGGCGCGCCTCTGAGT
+TATCCGACGGACATACCGGGAACAGTGTAATTTCCCGGCAGGAGCGAAAAATTTGAAAGGCGCATCTTAC
+TCTTTTCGCTTTCAAAAAAAGAGTGGTCTTCGCGTCAACACACCGCCCTGAGATGAATTAGTGATGTTTT
+GGCTGCACCGCAACATACATTTCGATATCCCAGTACCCATCTTCCGCGCCATTGTTCAAGTAAACCTCGA
+AGCAGGGCTTTGGTAACATTTCATAGGCACTGTCCTGCAAGAGGCTATTAAAGAACTGATACCAGGGTTT
+AGCAAAATCATCACCGACTACACGAGCCACCGCCACCGCATACTGACCACCTGAAATTTCTGTCAGAATG
+ACGCCCTCACTGTTTTCGGGGAGCGTAAAGTTATTCGGCACCGTCACGACGGTGTCGCAGCGTAATTTTT
+CGGCGGGTGTTTCATCTGGATTGTCGTAATAGACAGCAACCCACTCCTTCGGCACAATATTTTTGCTATC
+TATCCACATCATCAACTGCTCAAAGCCTTTCTTTACCGTCTGTTCCCACGGGCCAACGAGATGGAAACCT
+GCAACGGTACGTTTATCTTCCTGCTTAATCTCGTAGTTCATGACGCCCCCATTAATACTGTTTTTATATA
+CAGTATAGTTGCAATATTAAAACCACAAGGAATGAGTGTTGATTATGCGAGCAGATTCGCACTCCTGCCA
+GTCTGCTGCAAAAGAAAGGTCAGTCCTTATGGTGGAAATAATCACTCAGCCGGGAAAACATGCTGCCTTC
+CCCGACAGATTCCAGGGTAACCAGCGGCCAGTGCGCCACCTGTTTATCACGGTCGTAAAGTTCAATTTCC
+CCTACCCGCTGATGGGCGCTAATTGGCGCGGTGAGTTCTTTACCATCAAGGGTATATTTGGCTTTGATAT
+GTGGAATTTCGGCTTTCGGTAGCACCATCCAGAACTCTTGTTCCGTTCCCAGGGCGATATTTTCTTTATC
+GCCATACCAGATGCGTTCCGTACCAACCTTTTTCCCACGGTGCAAAATTTGCACCGTAGTAAAGTTTTGT
+TGACCCCAACGCAGTAATTTTCTTGCCTCTTCCTCACGACCTTTTGCGCTGTCAGCCCCCATTACCACTG
+CAATGAGACGACGCTGCCCATCTACAGCCGAAGCAATGAGATTAAACCCGGCACCAGAAGTATGACCCGT
+TTTCAGGCCGTCAACATTCATGGTTTTATCCCACAATAACCCGTTACGGTTTTGCTGGGTGATACCGTTC
+CAGGTGAGGCTTTTCTCACTGTACATATGATAAAACTCGGGCTCGCCGTGGATGATAGCGCGAGAAAGCA
+CAGCTAAATCATAAGCCGAGCTATGCTGGCCAGGTGCATCCAGACCATGCACTGTTTCAAAATGCGTATC
+CTTGAGATGCAGCTTCTCGGCATAGTTGTTCATCATTTCAACAAACTGCCGTTGCCCACCGGCAATATAG
+TCAGCCAGTGCAACACAAGCGTCATTTCCGGAATCCACAATTAAACCACGGCTTAAATCACGTACCGATA
+CGCGATCGCCCTCTTTCAAAAACATCAGTGAAGAACCGACAAACACCGGATTATCTTTCGCCCACGCATC
+ACGCCCCACGGTGACAATATCGTCTGGCGTAATGCGATGACTATCGATAGCGCGATCCACGACATAGCCC
+GTCATCAGCTTTGTCAGGCTGGCGGGATTGCGCTGTTGATGCTCATTACCCGCGGTGAGAATCTGACCGG
+TGGTGTAATCCATCAATACCCAGGACCCGGCATGAATCTCTGGAGGTTGAGGTGAAAAAGGAATGTTTTC
+CGCCGCAAAACCAGACGATAAATTAAAAACGAACAAAGAAGCAGCAATAATAAGACGGCGTTTCAACAGC
+AAACCCTCAGGAGTTTCAAATAGCTGTTCTTTTTACGGAAATACTTATGAACTGGCTGGAATAAAGTGCA
+AGAAAATGTGACTACCCTCTCATTTTTATCTGACATGATCTGTTGCCACTCGCTGCCAAATTGTCGCGCT
+AAAGCTGATTAGCACGGTGATATTTGATACTCTGGCAGACAGCAGAAACAACGGATTTAACCTAATGATG
+AATGACGGTAAGCAACAATCTACCTTTTTGTTTCACGATTACGAAACCTTTGGCACGCACCCCGCGTTAG
+ATCGCCCTGCACAGTTCGCAGCCATTCGCACCGATAGCGAATTCAATGTCATCGGCGAACCCGAAGTCTT
+TTACTGCAAGCCCGCGGATGACTATTTACCCCAGCCTGGAGCAGTATTAATTACCGGTATTACCCCGCAG
+GAAGCTCGGGCGAAAGGAGAAAACGAAGCCGCATTTGCCGCCCGTATTCACTCGCTTTTTACCGTACCGA
+AGACCTGTATTCTGGGCTACAACAATGTGCGTTTCGACGACGAAGTCACACGCAACGTTTTTTATCGTAA
+TTTCTACGATCCTTACGCCTGGAGCTGGCAGCATGATAACTCGCGCTGGGATTTACTGGATGTTATGCGT
+GCCTGTTATGCCCTGCGCCCGGAAGGAATAAACTGGCCTGAAAATGATGACGGTCTACCGAGCTTTCGCC
+TTGAGCATTTAACCAAAGCGAATGGTATTGAACATAGCAACGCCCACGATGCGATGGCTGATGTGTACGC
+CACTATTGCGATGGCGAAACTGGTAAAAACGCGTCAGCCACGCCTGTTTGATTATCTCTTTACCCATCGT
+AATAAACACAAACTGATGGCGTTGATTGATGTTCCGCAGATGAAACCCCTGGTTCACGTTTCCGGAATGT
+TTGGGGCATGGCGCGGCAATACCAGCTGGGTGGCACCGCTGGCGTGGCATCCTGAAAATCGCAATGCCGT
+AATTATGGTGGATTTGGCAGGAGACATTTCGCCATTACTGGAGCTGGATAGCGACACATTGCGCGAGCGT
+TTATATACCGCAAAAGCCGATCTTGGCGATAACGCCGCCGTTCCGGTTAAGCTGGTGCATATCAATAAAT
+GTCCGGTACTGGCCCAGGCGAATACGCTACGCCCGGAAGATGCCGACCGACTGGGAATTAATCGTCAGCA
+TTGCCTCGATAACCTAAAAATTCTGCGTGAAAATCCGCAAGTGCGTGAAAAAGTGGTGGCGATATTCGCG
+GAAGCCGAACCGTTTACGCCTTCAGAGAACGTGGATGCACAGCTTTATAATGGCTTTTTCAGTGACGCCG
+ATCGTGCAGCAATGAAAATTGTGCTGGAAACCGAGCCGCGTAATTTACCGGCACTGGATATCACTTTTGT
+TGATAAACGAATTGAAAAACTGTTGTTCAATTATCGAGCGCGCAACTTCCCGGGGACGCTGGATTATGCC
+GAGCAGCAACGCTGGCTGGAGCACCGCCGCCAGGTCTTCACGCCAGAGTTTTTGCAGGGCTACGCTGATG
+AATTGCAGATGCTGGCACAACAGTATGCCGATGACAAAGAGAAAGTGGCGCTGTTAAAAGCGCTTTGGCA
+GTACGCGGAAGAGATCGTCTGAAACAAAAAAGCCGGAGCGACAAACTCCGGCTTTTTGAGATTTACCGGA
+TGATTATGTCATCCGGTTTGTAAGATTACGCTACGTCTTCGTACTGCGGAACCGGGTTACGGAAACTCTT
+GGTTACGCAAGCCAGGTAAATCAGACCGATAGCAGCCCAGATCAGACCCAGAACCATTGAGCTTTCTTCC
+AGGTTAACCCACAGCGCACCAACGGTCAGCGCACCACACATCGGCAGGAACAGATACTGGAAGTGATCTT
+TCAGCGTTTTGTTACGCTTCTCACGGATCCAGAACTGCGAGATGACCGACAGGTTAACGAAGGTGAACGC
+CACCAACGCACCAAAGTTAATCAGCGCCGTAGCCATTACCAGGTCGAAGTTGATTGCCAGCAGGGCAATC
+GCGCCAACCAGGATGATATTCATCGCCGGAGTACGCCATTTCGGGTGTACATAACCGAAGAAGCTTTTCG
+GGAACACGCCGTCACGACCCATTACGTACATCAGACGCGCAACGCCTGCGTGCGCCGCCATACCGGACGC
+CAGTACGGTAATGGTGGAGAAGATCAGCGCCCCAACGTGGAACGCTTTACCAGCAACGAATAGGCGGTAT
+GGTTTCAGGCTGTGACGCATCCGGATCTTTAAAACGAGAGATATCCGGGAAGTACAGCTGCAGGAAGTAA
+GTTGCAAAGATGAAGATCATGCCGCCGATCAGCGCGGTCAGGAAAATCGCACGCGGGATCACGCGCTCTG
+CATCTTTGGTTTCTTCCGACAGGTTGCTGATGCCGTCAAAACCGGTAAAGGAGAAGCACAGGATTGTCGC
+CCCGGTAATCATCGGGATAACATGCGCATCGCCAGACCAGAACGGACGAGTGCTCGCCAGCGTACCAGCG
+CCTTCACCTTCAAATACGCCATAAACAACCATGCCCAGAATCACCGCGATCAGCACTATCTGCAACACGA
+CGATTACAGTGTTGAAGTTCGCTACGGATTTCAGACTACGCAGGTTAAAGGCGGTCATAAAGGCCACCAG
+AGCCACCACAAACATCCACGATGGAATGGAAGGCACCAGAGCTTCAAAATAGATTTTCGCCAGCAGAATG
+TTGATCATCGGCGCGAACAGATAGTCGAGCAGAGAAGACCAACCCACCATAAAGCCGACAGTCGGGCTAA
+TGGATTTCTGGGCGTAAGTGTATGCAGAGCCAGCAGAAGGATAGCGGCGAACCAGCTTCCCGTAGCTCAG
+AGCCGTAAACAGGATCGCAATCAATGCGAACGCATAGGCTGTCGGCACATGACCATCCGTGAGGCCTGAA
+ACGATACCAAATGTATCAAACAGCGTCATCGGCTGCATATAGGCTAGACCCATCATTACAACCGGAACTA
+ACGTAAGCGTTTTACGCAATTCCACGCGAGAGGTGTTTGGAGTAACGTTATGCGACATGGTCATTCTCCT
+TTACGGTGATAACCGTCGCGTAAGCAAAAAATTGCCCCATTTTTTTGGATTCCTCAGCGACAACAACTGT
+CGATTTTTAGTAAATATCTATCCGGTACGAAGCCCGGCCTCTTGGTATGAATGATTGGTTTGAAGCAAAA
+AATAACCGACGCTAATTAAACGTCGGTTTTTAGTCATTTTTTGACAGCGGCGCATTGTGCCTAAATGGGG
+GGGAAATGACAAGAGAATGAGAGGCTTGCCATAATAATTTTTCTTTAAATGGCTGATTTTCCGTCATCAG
+ATTTTGCATAAACACCGGCGATCGCACTATTTGCTAAAATTTCATCTCGCCACCAGCCGCTGGCAAGCCC
+TGCGGTCTGTTCATTCCAGCCAATCCAGACGGGTTCAAAGAGAGTTTGGGCGACCACTTTCTTCTCGATT
+AACGCGCCACTATCGAGAAAACGTTGCGCCAGATACCGTGGTAAATAGCCGCAGCCAAGGCCGCTAATTT
+GCAGCTCCAGCTTGGTTTTAAAATCGAAAACGGTAATGGCTTCTTGTTCGTCGAGAAGTTGTGAGGCCGT
+AGAAGCGCCTGCCTGCGCAGTGTCCCCCACCACAATCGCCCGATATCGTTTAATGATACGACGGTTTAAC
+GGTTCTTCTTCCTGGGCTAACGGATGATGAGGCGCGACCGCAAAGACTTGTTCAAGATCGCCCAACCGCG
+AGAAACCAAACTCACTGGAAGATGGTGGCTCATGCATCGCGCCAACGATAATATCCGCTCGCCCCTGAGT
+CAGGGCATCCCAGGAACCACCGAGTACGCCATTGATAAACTTCAGGCGCGTCACGCTATGATGTTGATAA
+AAAGCTTCAATGAGAGGCGCAAGCAGAGAAAAAGGAAACGTGTCGTCCACGCCAATCACCAGCTCGTTTT
+CCCAGCCTTCATGCAGTTTGATCGCCTGCTTTTCCAGTTCTCGCACGGTATGCAGAACTTCCCGCCCTTT
+CTCTAATAACATTTTTCCGGTACGGGTGAATTTAGCGCGGTGTCCGCTACGATCAAGCAATTGAATATTA
+AGGTCGCTTTCCAGCTTGTGAACGGTGTAACTCAGAGCGGACGGCGTCTTGTAGAGTTTGGCTGACGCCG
+CCGCAAAACTGCCTTCTTTTTCTAAGGCATCGAGGATCATCAACACATCCAGCAGTGGTTTCATACACGC
+CCCCTTGCAGTGCATGCGGCGTCCTGCTGGCGTGATCGTTTACTCCAGCGGCATTACCAGCGGATCGGGA
+TACTGGTATTCAAATCCCAGTTCATTACAAATCCGACTGCCATCAATAATCTTACCTTTGCCGCTGTCCA
+GACTATTTCTGAACTGCGGAGGTTCCAGCCCCAGTAAACGGGCCATCTGCGGATAGAAAACATTACGCGC
+AGGGTGAGCTAGCGCACATATATTATAGATGTGTCCGCCTTTAGGTGCCTGTAACAACAGAGTGATAGCG
+CCAATAACATCTTCTAAATGGACTAAATTAACACCATGTTCACCATCAGGGGCGGTTTTTCCGGCAAAGA
+AGCGTCCGGGATGACGTCCCGGTCCGACCAGGCCCGCAAGACGCAGAATATCGACCGAAGTACCGGGTAA
+ATTGTGCAGCCAGTCTTCGAGTTCTTCTAATACTCGTCCACTGTTGGTCACCGGATTACGCGGGGTGGTT
+TCTTTCACCGTGCCTTGCGCGTCGCCATAGACAGATGTCGAGCTGGTAAAAATAATGCGGGGAATACGAT
+GGGCCAGCGCGCTATCCACTAACTCTTGTACCGCTTGTAAATAGAACTCATCGCCGGGGCCGCTACGACG
+TGCCGGAAGCGTAATGACCAGCGCATCGGCATCCATCAGGGCATCCAGATCGTCAGAATCGCAAACTAAC
+TCAGGCTCCATGCGAAGCAGATAGCTATCAATGCCACTCATTCGGGCCGCTTCGACACCATCTTGTGTGG
+TTTTACTCCCGGTGACTTGCCAGCCTCGCGCTGAAAGTGACATCGCCAGCGGCATGCCTAACCACCCTAA
+CCCGACAATTGCGACCTTTTTCATCCGTTATCTCCTGATACACCTTAGATCTATAAGGCTACGCTAGCGT
+ATCAAAACTGACAATTCATTCTATGAATGAATCTGTTCAATAATGATAACGACATGCTGCAATGAGCAGT
+GAATCGTCGGTAACCGCGTATACCAGACGGTGCTCCTCTGTAATGCGTCGGGACCAGAAGCCTGACAAAT
+TATGTTTCAGGGGTTCTGGCTTCCCCTTACCTTCAAATGGTGTTCTGCGTGTATCTTTGATAATTTCATT
+GATCTTTTTAACAATTCGCTTATCTGTTTCCTGCCAGTACAGATAATCATCCCATGATTCCTCAGACCAG
+ATTAGTTTCACTCAATAATGTCCTTTTCCGTTCCTTTGCCTGATTTCAGGCTATCGATTGAGTCCATCAA
+TCTCCGGGCGTTAGCGGGGGAACGCAGTAGATAAGCCGTCTCTTCCAGCGAGTTGTATTCTTCGAGTGAC
+ATCAGAACACAAGCCTCTCCATTCTGACGAGTAATGAGGATCGGGGCATGATCTTCAACGGCTTTCATCA
+TTGTTGCCGACAAATTCTGACGCGCTTCGCTGTAGCTAATTGTACGCATGTAAATCTCCTCTTTTGTACA
+GTTCATTGTACAATGATGGATGTTAATTAACTATTTATTAATTAGTTTGTAGATCAAGACATTGTCAGCG
+AGACGAAAAATCAGACTTTGCTCTTTTTGGTGCTGTCAAGTTAGAGGACAGTCCTCTTAGCCCCCTCCTT
+TCCCCGCTCATTCATTAAACAAATCCATCGCCATAAAATATATAAAAAACCCCTTGCTTTCTAACGTGAA
+AGTGGTTTAGGTTAAAAGACATCAGTTGAATAAACATTCACAGAGACTTTTATGACACGCGTTCAATTTA
+AACACCACCATCATCACCATCATCCTGACTAGTCTTTCAGGCGATGTGTGCTGGAAGACATTCAGATCTT
+CCAGTGGTGCATGAACGCATGAGAAAGCCCCCGGAAGATCACCTTCCGGGGGCTTTTTTATTGCGCGGTT
+GTTAACGGTTCAGACAGGTTTAAAGAGGAATAAGAAAATGACAGACAACACTCGTTTACGCATAGCTATG
+CAGAAATCCGGCCGTTTAAGTGATGACTCACGCGAATTACTGGCGCGCTGCGGCATTAAAATTAATCTTC
+ACACCCAGCGCCTGATCGCGATGGCAGAAAACATGCCGATTGATATTCTGCGCGTGCGTGACGACGACAT
+TCCCGGTCTGGTAATGGACGGCGTGGTAGATCTTGGGATTATCGGCGAAAACGTGCTGGAAGAAGAGCTG
+CTTAACCGCCGAGCCCAGGGTGAAGATCCGCGCTACTTTACCCTGCGTCGTCTGGATTTCGGCGGCTGCC
+GACTTTCACTGGCAACGCCGGTTGATGAAGCCTGGGACGGTCCGCTCTCCTTAAACGGTAAACGTATCGC
+CACCTCTTATCCTCACCTGCTCAAGCGTTATCTCGATCAGAAAGGTATCTCTTTTAAATCCTGCTTACTG
+AACGGTTCTGTCGAAGTTGCGCCGCGTGCCGGACTGGCGGATGCGATTTGCGATCTGGTTTCCACCGGTG
+CCACGCTGGAAGCTAACGGCCTGCGCGAAGTCGAAGTTATCTACCGCTCGAAAGCCTGCCTGATCCAGCG
+CGATGGCGAAATGGAAGAATCCAAACAGCAACTGATCGACAAACTGCTGACCCGTATTCAGGGTGTGATC
+CAGGCGCGCGAATCAAAATACATCATGATGCACGCACCGACCGAACGCCTGGATGAAGTCATCGCCCTGC
+TGCCAGGTGCCGAACGCCCAACCATTCTGCCGCTGGCGGGTGACCAACAGCGCGTAGCGATGCACATGGT
+GAGTAGCGAAACCCTGTTCTGGGAAACGATGGAAAAACTGAAAGCGTTGGGTGCCAGTTCAATCCTGGTC
+CTGCCGATTGAGAAGATGATGGAGTGATCGCCATGAGCTTTAACACAATCATTGACTGGAATAGCTGTAC
+TGCGGAGCAACAACGCCAGCTGTTAATGCGCCCGGCGATCTCCGCTTCTGAAAGCATTACCCGCACCGTT
+AACGATATTCTCGATAACGTGAAAACGCGTGGCGATGAGGCCCTGCGTGAATACAGCGCGAAGTTTGATA
+AAACCACGGTTACCGCGCTGAAGGTGTCTGCTGATGAGATCGCCGCCGCCAGCGAACGCCTGAGCGACGA
+GCTAAAACAGGCGATGGCGGTGGCAGTAAAGAATATTGAAACCTTCCACACTGCGCAAAAACTGCCGCCG
+GTAGATGTAGAAACGCAGCCAGGCGTACGTTGCCAGCAAGTCACGCGTCCGGTAGCTTCAGTTGGGTTGT
+ATATTCCTGGCGGCTCCGCCCCGCTCTTCTCAACGGTATTAATGCTGGCGACTCCGGCGCGTATTGCGGG
+CTGTAAAAAAGTGGTGCTGTGCTCACCGCCGCCGATAGCCGATGAGATACTTTACGCGGCGCAGCTGTGC
+GGTGTGCAGGACGTGTTTAACGTCGGCGGTGCACAGGCCATTGCCGCGCTGGCGTTTGGTACGGAATCTG
+TGCCGAAAGTGGACAAAATCTTCGGGCCGGGTAACGCCTTTGTCACCGAAGCAAAACGCCAGGTAAGCCA
+GCGTCTGGACGGTGCGGCGATCGATATGCCCGCAGGCCCGTCGGAAGTGCTGGTGATTGCTGACAGCGGC
+GCTACGCCGGATTTCGTGGCTTCTGATTTGCTTTCTCAGGCTGAACACGGCCCTGACTCACAGGTAATTT
+TACTGACCCCCGACGCCGATATGGCGCGTCGCGTTGCCGAGGCCGTCGAACGCCAACTGGCAGAACTGCC
+GCGTGCCGAAACCGCCCGCCAGGCACTGAACGCCAGCCGCCTGATCGTGACTAAAGATTTAGCGCAGTGC
+GTGGAGATCTCCAACCAGTACGGCCCGGAGCACCTGATCATTCAGACCCGCAACGCCCGCGAACTGGTCG
+ATGGCATCACCAGCGCCGGTTCGGTATTTCTTGGTGACTGGTCACCGGAATCGGCAGGCGACTACGCCTC
+CGGCACCAACCACGTTCTACCGACTTACGGCTACACCGCCACCTGTTCCAGCCTCGGGCTGGCAGATTTC
+CAGAAGCGCATGACCGTACAGGAACTGTCGAAAGAAGGCTTTTCCACGCTGGCTTCGACCATTGAAACAC
+TGGCCGCCGCCGAGCGCCTGACCGCCCACAAAAATGCCGTTACTTTGCGTGTTAACGCCCTTAAGGAGCA
+AGCATGAGCACCGTGACTATTACCGATTTAGCGCGTGAAAACGTCCGCAACCTGACGCCGTATCAGTCAG
+CGCGTCGTCTGGGCGGTAACGGCGATGTCTGGCTGAACGCCAACGAATATCCCACTGCCGTGGAGTTTCA
+GCTCACTCAGCAAACGCTCAACCGCTATCCGGAATGCCAACCGAAAGTGGTGATTGAAAATTACGCGCAA
+TATGCAGGCGTAAAACCGGAACAGGTGCTGGTCAGCCGTGGCGCGGACGAAGGCATTGAACTGCTGATTC
+GCGCTTTTTGCGAACCGGGTAAAGACGCCATCCTCTACTGCCCGCCAACGTACGGCATGTACAGCGTCAG
+CGCTGAAACCATTGGCGTCGAGTGCCGCACAGTGCCGACGCTGGACAACTGGCAACTGGACTTACAGGGC
+ATTTCCGACAAGCTGGATGGCGTAAAAGTGGTCTATGTTTGCAGCCCCAACAACCCCACCGGGCAACTGA
+TCAACCCGCAGGATTTTCGCACCCTGCTGGAGTTAACCCGCGGTAAGGCGATTGTGGTTGCCGATGAAGC
+CTATATCGAGTTTTGCCCGCAGGCATCGCTGGCTGGCTGGCTGGCGGAATATCCGCACCTGGCTATTTTG
+CGCACACTGTCGAAAGCTTTTGCTCTGGCGGGGCTTCGTTGCGGATTTACGCTGGCAAACGAAGAAGTCA
+TCAACCTGCTGATGAAAGTGATCGCCCCCTACCCGCTCTCGACGCCGGTTGCCGACATTGCCGCACAGGC
+GTTAAGCCCGCAGGGAATCGTCGCCATGCGCGAACGGGTGGCGCAAATTATTACAGAACGCGAATACCTG
+ATTGCCGCACTGAAAGAGATCCCCTGCGTGGAGCAGGTTTTCGACTCTGAAACCAACTACATTCTGGCGC
+GCTTTAAAGCCTCCAGTGCGGTGTTTAAATCTTTGTGGGATCAGGGCATTATCTTACGTGATCAGAATAA
+ACAACCCTCTTTAAGCGGCTGCCTGCGAATTACCGTCGGAACCCGTGAAGAAAGCCAGTGCGTCATTGAC
+GCCTTACGTGCGGAGCAAGTTTGATGAGTCAGAAGTATCTTTTTATCGATCGCGATGGAACCCTGATTAG
+CGAACCGCCGAGTGATTTTCAGGTGGACCGTTTTGACAAACTCGCCTTTGAACCTGGCGTGATCCCGGAG
+CTGCTGAGGCTGCAAAAAGCGGGCTACAAGCTGGTGATGATCACTAATCAGGATGGTCTTGGAACACAAA
+GTTTCCCGCAGGCGGATTTCGATGGCCCGCACAACCTGATGATGCAGATCTTCACCTCGCAAGGCGTACA
+GTTTGATGAAGTGCTGATTTGCCCACACCTGCCCGCCGATGAGTGCGACTGCCGTAAGCCGAAAGTAAAA
+CTGGTGGAGCGTTATCTCGCTGAGCAAGCGATGGATCGCGCCAACAGTTATGTGATTGGCGATCGCGCGA
+CCGACATTCAACTGGCGGAAAACATGGGCATTAATGGTTTACGCTACGACCGTGAAATCCTGAACTGGCC
+GATGATTGGTGAGCAACTCACTAAACGAGACCGTTACGCCCATGTAGTGCGCAACACCAAAGAGACGCAA
+ATTGACGTCCAGGTGTGGCTGGATCGCGAGGGTGGCAGCAAGATTAACACCGGCGTTGGCTTCTTTGATC
+ACATGCTGGATCAGATCGCTACCCACGGCGGTTTCCGTATGGAAATCAACGTCAAAGGCGACCTCTATAT
+CGACGATCACCACACCGTCGAAGATACCGGCCTGGCGCTGGGGGAAGCGTTAAAAATTGCCCTCGGCGAT
+AAACGCGGTATTTGCCGCTTTGGTTTTGTGCTGCCGATGGACGAATGCCTTGCCCGCTGCGCGCTGGATA
+TCTCTGGTCGCCCGCACCTGGAATATAAAGCTGAATTTACCTACCAGCGCGTGGGCGATCTCAGCACCGA
+GATGATCGAGCACTTCTTCCGTTCGCTTTCATACACCATGGGCGTGACGCTACACCTGAAAACCAAAGGT
+AAAAACGATCACCACCGTGTAGAGAGCCTGTTCAAAGCCTTTGGTCGTACCCTGCGCCAGGCCATCCGCG
+TCGAAGGCGACACCCTGCCCTCGTCGAAAGGAGTGCTGTAATGAACGTGGTGATCCTTGATACTGGCTGC
+GCCAACCTGAACTCTGTGAAGTCTGCCATTGCGCGCCACGGTTATGAACCCAAAGTCAGCCGTGACCCGG
+ACGTCGTGTTGCTGGCCGATAAACTGTTTTTACCCGGCGTTGGCACCGCACAAGCAGCGATGGACCAGGT
+GCGTGAGCGCGAGCTATTTGATCTCATCAAAGCCTGTACCCAACCGGTGCTGGGCATCTGCTTAGGGATG
+CAACTGCTCGGGCGACGTAGCGAAGAGAGCAATGGCGTCGACTTGCTGGGCATCATCGACGAAGACGTGC
+CGAAAATGACCGACTTTGGTCTGCCACTGCCACATATGGGCTGGAATCGCGTTTACCCGCAGGCAGGCAA
+CCGCCTGTTTCAGGGGATTGAAGACGGCGCGTACTTTTACTTTGTTCACAGCTACGCAATGCCGGTCAAT
+CCGTGGACCATCGCCCAGTGTAATTACGGCGAACCGTTCACCGCGGCGGTACAAAAAGATAACTTCTACG
+GCGTGCAGTTCCACCCGGAGCGTTCTGGTGCCGCTGGAGCTAAGTTGCTGAAAAACTTCCTGGAGATGTG
+ATGATTATTCCGGCATTAGATTTAATCGACGGCACCGTGGTGCGTCTCCATCAGGGCGATTACGGCAAAC
+AACGCGATTACGGTAACAACCCGCTGCCGCGCTTACAGGATTACGCTGCGCAAGGTGCCGAAGTGTTGCA
+CCTGGTGGATCTGACCGGGGCAAAAGATCCGGCTAAGCGTCAAATCCCGCTGATTAAAACCCTGGTCGCG
+GGCGTTAACGTCCCGGTGCAGGTTGGCGGCGGTGTGCGTAGTGAAAAAGACGTAGCGGCGTTACTGGAAG
+CGGGCGTTGCGCGTGTGGTGGTCGGCTCCACCGCGGTGAAATCACCAGAAATGGTGAAAGGTTGGTTTGA
+ACGTTTCGGTGCGGATGCCTTAGTGCTGGCGCTGGATGTCCGTATTGACGAGCAAGGCAACAAGCAGGTG
+GCGGTCAGCGGCTGGCAAGAGAACTCGGGCGTTTCACTGGAACAACTGGTGGAAACCTATCTGCCCGTCG
+GCCTGAAACATGTGCTATGTACCGATATCTCGCGCGACGGCACGCTGGCGGGATCTAACGTCTCTTTATA
+TGAAGAAGTGTGCGCCAGATATCCACAGGTGGCATTTCAGTCCTCCGGCGGTATTGGCGACATTAACGAT
+GTGGCGGCCCTGCGTGGTACTGGTGTACGCGGCGTAATAGTTGGTCGTGCATTACTGGAAGGTAAATTCA
+CCGTGAAGGAGGCCATCGCATGCTGGCAAAACGCATAATCCCTTGTCTCGACGTTCGTGATGGTCAGGTG
+GTGAAAGGCGTACAGTTTCGCAACCATGAAATCATTGGCGATATCGTGCCACTGGCAAAACGCTACGCCG
+AAGAAGGTGCAGATGAACTGGTGTTCTACGATATCACCGCTTCCAGCGATGGCCGTGTGGTAGATAAAAG
+CTGGGTATCTCGCGTGGCGGAAGTGATCGACATTCCGTTTTGTGTGGCGGGTGGGATTAAGTCTCTGGAA
+GATGCCGCGAAAATTCTTTCCTTTGGCGCGGATAAAATCTCCATTAACTCCCCTGCGCTGGCGGACCCGA
+CGTTAATTACTCGCCTGGCGGATCGCTTTGGCGTGCAGTGTATTGTGGTCGGCATTGATACCTGGTACGA
+CGCCGAAACCGGTAAATATCATGTGAATCAATATACCGGCGATGAAAGCCGCACCCGCGTCACTCAGTGG
+GAAACACTCGACTGGGTGCAGGAAGTGCAAAAACGCGGCGCCGGAGAAATCGTCCTCAACATGATGAATC
+AGGACGGCGTGCGTAACGGTTACGACCTCAAGCAGCTGAAAAAAGTGCGTGAAGTTTGCCACGTCCCGCT
+GATTGCCTCCGGTGGCGCGGGCACCATGGAACACTTCCTGGAAGCCTTCCGCGATGCCGACGTTGACGGT
+GCGCTGGCAGCTTCCGTATTCCACAAACAAATAATCAATATTGGCGAATTAAAAGCGTACCTGGCAACAC
+AGGGCGTGGAGATCAGGATATGTTAACAGAACAACAACGTCGCGAACTGGACTGGGAAAAAACCGACGGT
+CTGATGCCGGTGATTGTGCAACACGCGGTATCCGGCGAAGTGTTAATGCTGGGCTACATGAACCCGGAAG
+CCTTAGACAGAACCATCGAAAGCGGTAAAGTTACCTTCTTCTCGCGCACTAAACAGCGACTGTGGACCAA
+AGGCGAAACCTCGGGCAATTTCCTCAATGTGGTGAGCATTGCGCCGGACTGCGACAACGACACGTTACTG
+GTGCTGGCGAATCCCATCGGGCCAACCTGCCACAAAGGCACCAGCAGCTGCTTCGGCGACACCGCTCACC
+AGTGGCTGTTCCTGTATCAACTGGAACAACTGCTCGCCGAACGTAAATCTGCCGACCCGGAAACCTCCTA
+CACCGCCAAACTGTATGCCAGCGGCTCCAAACGCATTGCGCAGAAAGTGGGCGAAGAAGGCGTGGAAACC
+GCACTGGCAGCAACGGTACATGACCGCTTTGAGCTGACCAACGAGGCATCTGACTTGATGTATCACCTGC
+TGGTGTTGTTGCAGGATCAGGATCTGGATTTAACAACGGTAATTGAGAACCTGCGTAAACGGCATCAGTG
+AGTGGCGTGCTGAGCAGGTGTGATGTTGTTGTCACACCCGGAGCCATTGCCCGATGCGCAAGCTTATCGT
+GCCTACACATTATCTCAACACACGTAGGCCGGATAAGATGCGCCAGCATCGCATCCGGCAAAAAAAACGG
+GCATGGTGTCACCACCCTGCCCGTTTCTCTTAAATGCACAATAATATTATTTCGCGTTGTAATTACGCAG
+CGCGTTACGCCCAAGCACAATCCCCGCGCCAACCATGCCGCCCAGCAGCACAGCCAGAATCAAGGTAATT
+GCTTTCTTCGGGCTATCGCGACGAATAGGTAACGTCGGTTTCATTACATAGCGGTAAGCATGAATATCAA
+GTTTATCAACGTCAAGATTGTCAATATCCAGCAGGTTTTGACGAGTCTGATAGTAGTTTGATGAGAACAC
+CAACGGACGGGTCGCTTCGTGCTTAATCATCGACTCCAGCGCTTCGCTCCCCAAAAGAAACATAGTATCC
+TGGGTTACGTCCTGTGTCTGTTGAATCTGCGGCTTTGTCACCTGCGCCTGATTCGCATACTGCAACGCTT
+CCTGAATCTGACGAATACGCAGATCTTTCTGCTCCTGCGCGACCACTTCCTGGGTTCTTAAAGAGTCCTG
+CAAGTTTTTCCGTCCCAGAACAATGTTGTCCTTGAGATCCTTTTCTAGCTCTTGATTCACTTTATCATCA
+ACTTGCTGAATGTATTGGGCCAACTTCATTTGTGCGCCCTCTGCAGTTTGCCCAACATAAGAAACAGTCA
+ATGGTAATTGCTGGTTCTTAACAGAAGATTCGATGGTAAGTTTTTCTGGCTCTTCCTGATTATCCAGCGT
+TTCTGCTAATGCAGAGAAGGCAGAACTGAAGCGACCAATTAACGTCTCCTGCAAATCCGATACTTTCGGT
+GCAGCCTGACCATAGATAACATTCATGGCATTGTTATAGCCAGCAATTTGCCCCACGTCGGGCTGAGTGA
+TAATTGCTGTTGACGTCCATTTCTCCTTCGCTACTGCCAAATAACCAATAGCCAGGGCAATAGCCACAAT
+GACGGAAATGATAATTGTCATCTTGCCACGCCACAACTGCACTAGTAAATCAATCAAATCAATCTGTTCC
+GGGTCATGGTTTTGCCCAGAAACATTATTATTTTCTACTCTCATCATTACCCTAACTGACGGAAATTTCC
+AAGTCCGCATAGTTTAGCGATAATCCCCGTGAATGCTATAGGATAAGTGATAAAAATAATGAATTATTGC
+GGAGGTAACAAAAGACAATCAGGGCGTAAATAGCCCTAACAAGATGTTAGTCGCTGCCAAAGAGATCGCG
+GGTGTAGACCTTATCTGCCACATCCTTAAGCTCTTCTGCCATACGGTTGGAGATAATGATGTCGGCTTGT
+TGTTTGAAGGTGGCGAGATCACGTTCCAGGCGAGAGTTGAAGAATGAGTCTTCTTTCATCACCGGCTCGT
+AGATGATCACTTCAACGCCTTTCGCCTTGATACGCTTCATAATCCCCTGAATAGAAGACGCACGGAAGTT
+ATCTGACCCGCTCTTCATAATCAGACGATAAATACCCACCACTTGCGGTTTGCGTGACAAAATGGCATCG
+GCAATAAAATCTTTACGCGTGCGGTTTGCATCGACAATTGCCGAGATCAGGTTATTCGGCACAGACTGGT
+AGTTCGCCAGTAACTGCTTGGTATCTTTCGGCAGACAATAACCACCATAACCAAACGACGGATTGTTGTA
+ATGGTTGCCAATACGCGGATCGAGACAAACGCCTTCGATAATCTGGCGAGTATTCAGACCTAAACTTTCT
+GCATAGCTATCCAGTTCATTAAAGTATGCTACGCGCATCGCCAGATAGGTATTAGCGAAAAGTTTAATCG
+CTTCTGCTTCAGTGGAGTCGGTAAACAGGGTCGGGATATTTTGCTTAATCGCGCCTTCCTGTAACAACGC
+AGCAAAACGTTCTGCGCGTTCTGAACGCTCACCGATGACAATACGTGACGGATGGAGATTATCGTAAAGG
+GCTTTACCTTCGCGGAGGAATTCCGGAGAGAAAATAATATTTTCAGTACGATATTTCTTATGCATCGCTG
+CGGTAAAACCAACGGGAACCGTTGATTTGATGACCATAACCGCATAAGGATTTATCTCAACTACGTCTTT
+AATTACTGATTCTACACTGGATGTATTGAAATAATTAGTTTTAGGATCATAGTCGGTTGGAGTGGCGATG
+ATGACATAATCAGCATCCCGGTAGGCTTCATTTTTATCTAATGTGGCATTAAAGTGTATTTTATCTGATT
+GCAAAAACTGCTGAATTTCCTTATCAACAATAGGAGATATCCGATCATTCAGCATAGCAACGCGTGACGG
+TAAAATATCTAATGCCACAACCTCATGATTTTGTGCGATTAGAAGCCCGTTTGACAAGCCTACATAGCCA
+GTACCGGAAATGGTGATTTTCATTTCATGCTCTCAGAATTAACTTAACTGTGAATCATGATGTTTTTAGC
+ATCCTGATAAGAGCTAAAAGTTTTAACGCTACGTTGTTCGATGGTCAACGCAACGAAAAAAAATTCAGAT
+TTTCTTTATAAGGATAGCTGATATTTATTAAGTTAATATTAAGCAGTGAAATTTAGTCTATAAGATAATT
+GGCAAAAAAAAGCCCGGTGCAATATACGCCGGGCCTCAATTTTTAATGTTGGTTAAATCAGATTAATCCA
+GCCATTCAGTATGGAACACACCTTCTTTATCAATGCGCTTATAAGTATGTGCACCGAAATAGTCACGCTG
+TGCCTGGATCAGGTTCGCAGGCAGAACAGCGGCACGGTAGCTATCGTAATAGGCAACCGCAGCGGCGAAG
+GTCGGAACCGGGATACCGTTCTGTACTGCATAAGCAACGACATCACGCAGAGCCTGCTGGTAGTCATCGG
+CAATTTGCTTGAAGTACGGAGCCAGCAGCAGGTTAGCGATCTGCGGATTTTCGGCATAAGCATCGGTGAT
+TTTCTGCAGGAACTGCGCACGGATGATGCAGCCAGCACGGAAAATCTTCGCGATTTCACCGTAGTTCAGA
+TCCCAGTTGTACTCTTCAGACGCAGCACGCAGCTGAGAGAAGCCCTGAGCGTAAGAAACGATTTTGCCAA
+GATACAGCGCACGGCGAACTTTTTCGATGAACTCAGCCTTGTCGCCTGCTGGCTGTGCTTGCGGGCCAGA
+GAGAACTTTAGATGCGGCAACACGCTGATCTTTCAGAGAAGAGATATAACGTGCAAACACAGACTCGGTA
+ATCAGCGACAGCGGTTCGCCGAGATCCAGCGCACTCTGGCTGGTCCATTTGCCCGTGCCTTTGTTTGCTG
+CTTCATCCAGGATCACATCAACCAGGTAGTTACCATCTTCATCTTTTTTGGTGAAGATATCTTTGGTGAT
+GTCGATCAGGTAGCTGCTCAGTTCACCGTTATTCCACTCGGTAAAGGTCTGCGCCAGTTCTTCGTTGGTG
+AGGTTCAGGCCACCTTTAAGCAGAGAATAGGCTTCAGCAATCAGTTGCATATCTCCGTATTCAATACCGT
+TGTGAACCATCTTCACATAGTGACCTGCGCCATCGGCACCAATATAGGTAACGCATGGCTCACCGTCTTC
+AGCCACTGCGGCGATTTTGGTCAGGATCGGCGCAACAAGTTCATAGGCTTCTTTCTGCCCACCAGGCATA
+ATGGAAGGACCTTTCAGCGCGCCTTCTTCACCACCGGAGACACCGGTACCAATGAAGTTAAAGCCTTCGG
+CAGAAAGCTCACGGTTACGACGAATGGTGTCCTGGAAGAAGGTATTACCACCATCAATGATGATGTCACC
+TTTATCGAGGTATGGCTTGAGGGAATCAATAGCAGCATCCGTGCCTGCACCTGCTTTCACCATTAACAGG
+ATGCGACGAGGCGTTTCCAGAGATTCAACAAACTCTTTCACCGTATAGTAAGGAACCAGTTTTTTGCCTG
+GATTTTCGGCAATCACTTCTTCCGTCTTTTCACGGGAACGGTTGAAAATAGAGACGGTATAACCACGACT
+TTCGATGTTGAGCGCAAGGTTGCGCCCCATCACTGCCATACCGACTACGCCGATCTGTTGCTTTGACATT
+GTTTACTCCTGTCAGGGGTGGTCACCGCGAAGTGTGCGGCTTAAATGTGGTATAGATGTTAACTCACTCA
+TAGAGATACTGAATAGCATTACCTTGGATATACCACACCGGATATCTCATCTTTTCCGTTTTTTAAAACC
+CATTTATATGAAATTACTGAATTACTTGTTCAGTAACTCAAGGATAAGTTTTGTCTTTTCTTCCATCAGC
+GGTACATCGCCGCGCGATTCCACATTCAACCGCACCACCGGTTCGGTGTTGGAGGAGCGCAGGTTAAAGC
+GCCAGTCGGCAAAGGTCATGCTGATGCCATCGGTACGATCCACCGCCAGCGCCTCACGGCTAAAATGCTG
+TTCCACGCGGTTAATCGCCTCAACGGGTTGCGCCAGTTTGCTGTTGATCTCACCGCTTGCCGGAAACGCT
+GCCATCCGGTCGCGCACCAGTTCGCCCAGCGTTTTTCCTTTCAGGCACACCAGTTCGGCGACCAGCAGCC
+ACGGGATCATGCCGCTGTCGCAGTAAGCGAAATCACGGAAGTAATGGTGGGCGCTCATTTCGCCACCGTA
+GATAGCGTCTTCCTTGCGCATACGTTCTTTAATAAAGGCGTGTCCGGTTTTCGACATTACCGGGGTGCCG
+CCTGCGGCAGTCACCACATCAACGGTGTTCCAGGAGAGACGTGGATCGTGGATGATCTTCGCGCCGGGAT
+TTTTTTCGAGGAACGCTTCTGCCAGCAGGCCGACAATGTAGTAGCCCTCAATAAACTGCCCTTTTTCGTC
+AAACAGGAAACAGCGGTCAAAATCGCCATCAAAGGCAATGCCCATATCCGCGCCGTGTTTGATGACCGCA
+TTGCGGGTGTCGTCGCGACATTCCGGCAGTAGCGGGTTAGGAATACCGTTGGGGAAATTGCCGTCCGGCG
+TGTTGTGCACTTTGATTAATTCCACGGGTGCGCCGAGGGCTTTAAAGCGGGCTTCAATGGCGTCCACCAC
+CGGACCCGCCGCGCCGTTCCCGGAGTTAATCACCAGCTTGAGCGGCGTGAGGTTTTTGACGTTGATATAA
+CCGAACAGGTGATCAACGTAAGCGTCACGCAGATTGATTTGCTGATAGCGACCGCGTTTGGTTTCATCAA
+CGGGAGGAAAGTCGTTGGCTTCTGCCAGACGCTGGATGTCGCGCAGTCCGGTATCACCGCTGATCGGGCG
+AGCCCCTTCGCGCACCAGTTTCATGCCGTTGTAATCCATCGGGTTATGGCTGGCGGTAACTTCGATGCCG
+CCATCCACGCCGAGATGGAACGTGGCGAAATAGATTTCTTCGGTGCCGGACATGCCAATATCCAGCACAT
+CGACGCCCGCATCCTGTAACCCCTTCGCCAGCGCCAGTTTTAAGGTTTCGCTGGTGAGTCGGACGTCACC
+GCCTAACACAATGGTTTTCGGTTTGAGAAATTCGCCATAAGCGCGACCAATGCGCCAGGCAATATCTTCA
+TTCAGTTCTTCGCCTAATTTCCCGCGAATATCATAGGCTTTAAAGCAGGGTAAACTCGACATGATATACC
+TTAAACAAATAATACTTATTACAGATTAACTAAAAATATTAGCGCTCTTCTACTAACGTTACATTATCAA
+AAATTTAGCTACGACCATATCGGTCCTGAAAACGGATAACATCGTCTTCTTCTAAATAAGATCCAGAACG
+AACTTCAATTAAATCAAGAGGAATTTTCCCTGGATTTTCCAAGCAGTGTATTACACCAAGAGGTATGTAA
+ACAGATTCATTTTCGCTAAGAATCTTAGTTTCAGAACCTATAGTCACCCTTGCAGTTCCAGAAACTATGA
+TCCAATGTTCTGCCCTATGATGGTGCATTTGTAAAGAAAGTCCTTCACCAGGATTTACTGTTATACGTTT
+GACCTGATAACGCTCCCCTGTGTCAATGGAATCATATTTACCCCAAGGACGATATACTTCGCGATGAACA
+TAATGCTCGCTACGACCTGAATTTTTAATTTGTTCGACTATTTTCTTTACATCCTGAACTTTATTTCTCT
+CTGAGACAAGAACAGCATCCTTTGTTTGGACAACAACTAAATTTTCCACTCCAACTGTAGCAACAATTCC
+CGATTCGGCATATATGAAAGAATTCTTTGTTTCATGAGAGAAAATATCCCCAACTATTACGTTGCCGTCT
+GAGTCTTTATCATTAATTTCCCAAAGAGAAGACCATGAACCGACATCACTCCAGCCAGCATCCATTGGAA
+TAACAATTGCGTCTTTTGTTTTTTCCATTACAGCGTAATCAATTGACTCTTCAGGACACTTAGAGAAAGA
+ACTTTCATCTAAACGCACAAAATCAAGGTCAAAGTTCGCTGAAGCAATTGCTTTTTCACAAGCGGATAAA
+ATATCAGGCCGAAATTGTTTAAGTTCCTCTATATAACGATTTGCACTAAACAAAAACATACCGCTATTCC
+AATAATACTCACCGGAAGCAAGATATTTAGTGGCTGTCTCATGATTTGGCTTTTCAACAAATGATGACAC
+TATAAATGCATCCGAATCTTCCTGATTAATATATTGTCCTCGATGTATATAACCATAACCAGTTTCTGCT
+TTGTCTGGAATTATACCAAATGTTACCAATTTCCCATCAGCAGCGTATGGAATTGCCGATCTAACAGCGT
+TACAAAATTTTTCTTCATCGTGTATAACGTGATCTGCAGCCAGTACGAGCATAAGATCATCTGCACTTTT
+ATCAGACTTAGACATCAGCAACGCCGCTAATGCAATTGCAGGGGCAGTGTTACGCCCAACAGGCTCAAGG
+ATGATATTCTTTGAAGTCAATCTATCGATTTTTCTAAGCTGTTCAGCAACTATAAAGCGGTATTGTTCAT
+TACAAATGACATAAGGGTTGGTACAATCCAAACCATCCAGACGATTAGCCGTTGTTTGAAGCATGGTATG
+ACTACCGATTAGGCTAAGAAATTGTTTCGGATAGAGAATTCTTGATAGTGGCCACAACCGACTGCCTGAA
+CCACCAGCCATAATGATAGGTGTAATAATTTTATTATTGTTCATATAATTTCTCATCTAATGTATTCATT
+AAATTGGCAACTTTTGATTCCCAAGAAAAATTATTTTCTACAAAACTACGGGCATTTTCAGCCACTTCAG
+TATAACGATTATAATCGTAAATTATTTCTCTTAGTACGTTTTTATATTGCTCTACTGTATCTGCAACAAA
+AATTTCGCTACCTGATTTTGCATTAATACCTTCATAACCAATGCTAGATGTAATACATGGTAAACCTAAA
+GCCATGTATTCAAGAATTTTATTTTGTACGCCTGCTCCAAGACGAACAGGACATATACCTATATGCCCTG
+TAGAAGCGGAAGAATTGATATCATCAACAGTACCTAAAGCAATTGTATTTTTAAATGAATTTAATATATT
+TTTATTAGTTTCTGAGATCTTACCAATCACTTTAAAAATAATATTAAACTCATCATACAAGCAAGGTAAA
+ATATTCTTAGCAAAATGTTTTGCAGCATCCATATTTTGTAAAGAATACATATTTCCGATAAATATAAGTT
+CCACAGGCTTATCGATTTTTATTTCTCTTTTTATATATCTCAAGGCTGATGTATCAACCCCATTATTGAC
+TATATGGATATTACTGCCCGGATTAGGGTAGAGATAGTCACGGTCTACGGATGAAATAAAAGTGGTCAAA
+TCAAAAAGATTCGCCACAGAACGTTCATATGATTCTAATCTTTTTTGTTCCAGAGAATAAATAATTGCAC
+GCAAACTTTTTTTACTTGCTAATTTTTTAACGCGACTGTAATTCAAAGATATTGCATCTGTCATATCAAG
+AATTTTGAACTTGTCTGTATCCTTAACATAATCAGCAACTCTTATCAGATGACAAAATACTGCATCGCAT
+TGTTTAATTAATTTATTGTATTTATTCTTAAATGTGTCCGATTGATAATAAGCAATTTGCAACGGTTTTT
+GCGTAACCAAAGCTTTTAATACATTATAATATGATTTATATTTTGGTAGATAGACACGATGAATTTCTTT
+GAAGACCGAGTCATTTATATTTATTTCAAGTTCTAGTGGTTGATCACATAAGCTCAGAAGAATAAGATCA
+TATTTTTTGGAAAGTTCTTTACATAACATATAGACTCTTAATCTATCCCCTCCAATGACAGGGTAGGGAA
+AGCGAGGTGTAAGAACCAGTATTTTTTTTCTCTGCTCTGATTGATTCATAAAACTGAAACCTTTTATATT
+CAGAATCCGTCTGGATAATTTTTTTTCCAACGCCACGAGTCCAATAACATCTGTTCTAGAGTTTGTTCGG
+CTTGCCAGTCCAATAAAGAATTAGCTTTATCTGCATCAGCCCAACAAGACGCAACATCCCCTGCCCTTCT
+CTCTATAAAAGATTTATTGACCTTAATGTTTGTTAATTTTTCAAATGTAGTGATTAATTCAAGCACCGAA
+TAACCTTTTCCTGTACCAAGATTAAAGATATTATATCCCGAATTGATACTTAAATAATTCATTGCAGCCA
+AATGACCTTTCGCTAAGTCAACAACATGAATAAAATCCCTTACACCTGTTCCATCATTAGTAGGGTAATC
+ATTGCCATAAATAAATAATTTATCACGTTTACCACTCGCAACATCCAATAAATAAGGAACAAGATTATTA
+GGGATACCAGATGGAGCCTCACCTATTTTACCACTAGAATGAGCACCGACAGGATTAAAATATCTCAAGC
+AAATTATATCCAGTTTTCCCGTGGAACTAACATCCTCTAGAATTTTTTCAACAAAATACTTCGATGTGCC
+ATATGGATTCGTAGTTCCTCCAATTTTAGCTGTTTCTGGAATTGGAATTATCTCTGGTTCACCATAGACT
+GTCGCAGATGAGCTAAAGATAAATTTTTTAATTCTGTACTCTTCCATTACCTGTAATAAAGTAATGGTCA
+CTCCAACATTATTCTGGTAATACTTTAAGGGTTCACTTTTAGACTCTGAAACAGATTTAAAGCCAGCAAA
+ATGAATAACTATATCTATGGCGTGTTTCTCGAAAATAGCGGAGAGTGTCTTCCTACACCCAGCATCTCCA
+GTAATTGTTATAAAATCACGTCGAGTAATTTCTTTTATTTTTTCGATACACTTGTATGAAGCATTACTGA
+AATTGTCCAGAACGATAATCTCATGACCTGCATTCAGTAATTCAATAGCCGTATGAGATCCGATATATCC
+AGCACCACCAGTTACTAATATGTTCATATTATATCTCCACTAACTAATCGTCAAAATTTATTATATCAAG
+TTCATGGCCATTAAACCGATAATGTGAATAATATTTTTGCTGATAAGACATTATTAGCTGTTTATTGATA
+CTTTTCATCTTGAAATCTTTAGGAAATTCCTCATCCAAATGTGAGATTTTTTTAACACACTCCTTATTGT
+TTATAATTTCATCATAGCCGATTAAGGAATGCTCTGTCGCATAAATATATAATCCATATGATAGTGCTTC
+TGCAATTTTTGTTTTCATTCCACTTCCTAAAACTATAGGAGAATAAAAAACATCACAAGCAGATAATAAA
+TATGACATTTCACTATTAGATAGATTATCGAAAAAAAATAAATTATCCAAATCAGGAAGATTCAAAGTAG
+TACTTTTCCTACCTGCCAAAATATAGCAATAATCATTATTAGACTTTGCTGCATTTAAAACATAGTTGGC
+AGCATCTATATTTGGAAAAAAATCAAAAGATGCAGTAAATACTACTTTTTTCCTATTATCATTATTCAAT
+CGATTATACTCATTAATAAAGTGAGCTGACAATACATCAGTTGGTTTTTCTCTACTAAATATCACAGGGA
+GAATTAAATTTCTGCTTTTTTTAATCCCATAAAATTTATCCATTGCATTTTTATCTTGCCGGGTAATATA
+GCTAACTAAATCTGAATTCTTAAGCCCGATAAATTCATTGAGATAAACAATTAATTTTTCAATAAAAGTA
+GTTATGTTTTTATCTTTTTGTCTTATTAAGTCATATTCGAAGTTATCCGTAAACAATATGATCTTTTTGT
+GGGGCATGAGTATTCTAAAAAGCAGACATAACAATCCAAGCCGAGAGTTGTGAAAAGCAAGAATATCTTG
+CTTCCGTAAAATTTTAATTATTGAGAAAATATAAGGGACATAAAATGATGGTATAAAAAAAAGCCTGGAT
+ATTATATCCTGACGTTTACCTTTAATAAATGATATATGTTGAAAAGTATTGTCTTCGAATAGTTTACCTG
+AGGATTTTTTATCAATAAGTGTTAAATTAACATTCTGTTTTTGTAGAAAACTAACAAGCGTACGTAAATA
+TACTCCTCCTCCGGTAAGTTCATTATATGAGTTAATTGAAATGAGACAGAGTTTCTTATTTTTTTTCATT
+AAATGCCGCCGTTAAAATTTCCGCATATCTCTCTTCAGAAAAAAGCTCACGCTTGCTATAAATAGTTTGT
+CTCAAATGATAATATTTTTCATTATCAAGACTAATTAATTTGTAGGCTACTTGTGCTAAATCTTCTTTAT
+TATTGGCAATAAATACGCCAGGAAAACTTTCTGCATACAACTCTCTAATTGCACCAACATTATAGCCTAT
+CACAGGGCAACCACAGCATAGCGCTTCAATAGTAACCAGCTCATATCCTTCATAATAGGACGGTAAAATA
+AGTACTCTGGATTTCTTAAATATTTCTGGCATTTTCGCATAGGGGACAGCAATGCTGGTCAGAACATTAT
+TTAGCGAAGCAAAATTTTGTGGGGCGGGAATACTTGAAACTAAATGGAAGGAAGTATCTGGCAGATTTTT
+ACATATGTAATACAGATCATCTATTCCTTTTCCTTTTTCCAATCGCCCGACAAATGTCACATATTCTGCT
+TCATTAACATCAGTGTAATCAAATTGTGCAAGATTTATAAAATTTCGAACAACTTTGATTTTATGTGAAT
+TAATATTGTAAAGCTCATTCCATTCACTTTTAACCTTATTTGAAACAGCCCAGATATTTTTTGAAAATGC
+TCCAGCCCAACGCTCATAGAAAGATAAAAGACCACTGCCAGACAACCGATTAGGTTTTTTATTCATGACT
+GTTTGAAAATAACATTTCATATTGCCATGAGCTATTAAGATGTCATTCCTATAAAAAGGAGAACAATAGC
+CATGTGCAATAACTTTAAACGTCACGCCACGTAATTTTTGTAAGGTTAAATAAAGAGAAACTAATATTGG
+ATAAAGTGCTACTTGTATTTTTTTGTTACGAATTTTGTTAGACATTTTGAAGTATGTTTTATCAAGTATA
+ATGACTTTAACCCCCAAATTTTTAAGAATGTTACATTGTTGGGCAACAACCCTTTCCACCCCACCTTGCC
+CTCCTGAACCATTATACGCGGCGATATATATAATCATTTTAAAAACTTCCCGATAAACGACTTCATTTTT
+AGCAGAACGAATTGACACTGTCGGTAAAATATAGCATGCTTTTGTCCTGAAAGAAGATTCAAATTATCAT
+TATATTTTTTTAAAAATCTATAATTATTTATGCAACTTTCGTAATGATATTTTAATCGATTAGCTGTTCT
+TGCCCCTCCCGTCGCTTTTCTTGGAGGTAAATTTATTAACAAAGCCTTTGAATCATATATAAATTTTTTA
+TTTTTAATAAATAGAGATAGCATGAAATCAGTTTCCTCACGATAGCAGTTTCCCGTATAAGATATATCAA
+ATCGATATTTCGATATTAGTTCCCTTTCAGCTAGAACAAAAGGCTGTGCATAAAAACATTCAATCGGATG
+GTCCAAATCACATGTATAACTAAAATCCAATCTATTTAGATCACTAACAAAACGCCCCTCTTTTTTATGT
+CGATTTATGCAATCTTCAATTGTTTTCTCGTTATTATTCATATAAAGTATTCTTGCGCCGATTACATCAG
+CGCCTGTCTCATATTTTGTAGCCAATAACCGAGATATAACACCGGGTAAGAGGTAAGAGTCATCATCACC
+AAAAAAAATATATTTCCCTTTGGCTATTTCAATCCCTCGGTTTTTAGAATACATCTGTTTTTTATTCGTT
+TCATTTTCTAAAATAACTAACTGAGAATATTTTTCCTTCAGTTCAGCTAATACACTATTTGTATTATCTG
+TTGATCCATCATTGATAACTATAACCTCTAAAGTCTCATCCTGAAAATAACTTGGTATGACCTCCTTAAG
+AATATGAGCCCTGTTATAACTTGGGATTATTATGCTGACATTTTTTTCTGACATTTTGGTCAATCCTTTT
+TATACTGGATGTATAATGTAACTAAAAAAGCAACAAATATACTTTTGACAAGATAGGGGAAGAAATAGAA
+CAAAGTCTCTCTTGGTGTGAATAATATAGGTGGCAACACACTATAATAAACAAAATATATAATTGGTTTG
+TTTTTTGTATATTTTTCCAATACATTTAAATTAAGTAAAAGTAAAAAGGGTATAATGAAACATCCAATCA
+GACCAAATGCTAAAAACGATTCTGCTAAATAACTCCCCCCAAGTCCGAACCCAAGATTATATAGTTCTGG
+GTTTGCTGTGTATGAGGCCAAATGGCTATAGCTTATTTCCGGCAAGCTCAATTTAACATTAAATATTGAC
+GAGCAAGTTATTATTAACTGGCTGAATAGATAGGTAACATTATATCCCCCTGACAATAGTTGTAGTTTTA
+CTGATTGATAAATGGAAAGATATGATACTCCCATGCCGTATACAAAGTTTATAACAGGATTATTACCCTG
+CATTAATTGAAAAAAACTCCCTCCAGTGCGCCACATTGAGATAAATTCACTAATCACAAAAATGACGCTA
+AAAACAAAAATCATTGTAATCAGCAGACGTAAGTTTCTTGTCTTTACTTCATTAAAATATATACATGTAA
+CCGTTAAAAGAAACGTTATAGCTTCACTACGACTACCCTTCAAGGTGCTAAATGCAGCAATGCATATCGC
+AATAAAAAGAAATTTTTTATTTGTTCTGAACTGTATATGAAACGCACATATAAGGAAAAAAGAACAATAA
+AATAAATAAGATAGAAAATCATAACCTATTGGCGTTGTTATATTTGATTGATAAATATCAACATAACTAT
+TAGATTCTATAAAGTTAAAAAAGAATATCCCTTTTACAACCATACCTATCGAACCCAGAAAAAATAAAGT
+CAAAAGAAACTTTATTTTTAGCAATTGTTTTTCAGGATAAGGACCATGCGGATAAAATTTTTCAGTATTT
+TTGCATAGAATTAGTCCCAATGTATAACCATAATACATTAGTGTTATAGCATAGTTAGCCAAAATCACAT
+CGTCATCCATATATCCTTCAATAAACCAATCGGCAATCCTATAATCATAGTTTGCAAACAAAGATAATAA
+AGGGCGACAACCTAAAAACACAAAAGATGATATAACGAGAAGGCTGGCCGGAGAAGTTATTTTATTAGTG
+ATATATGCGATATAAAAAACTGTTATCGTTGCTATAACAAGGATATATTGTGATTTATTTGGTTCATTAC
+CAAACAGTAACACTAAAATTGTCAGCATTAAACTTAAATAGAATGTAATAGCAGGAACCGCCTTCACTTT
+CATTATACTCTCGCTCCCCACTTTCGATGGGCAATAAAAGCTAGCATACTGAATACAAGAAACTCACCAA
+TTAGGTTTAATAAAACCCCCCCCAGAATGTCAAAGCGTGATATTAACAGCCAGGACAAACTAACAACAAT
+AATTCCCGCCATAACATTTATACTTCGTAGTATTTTTACATTATCTGTCGGTATAAGAAACTGTATACCA
+AGGACATTATTTAAAGATGAAAAAATGGTAATTATTGACGCAAATAAAATAATAACAAATGAAACGTCAA
+CTTTACCTATAAAAGTCGCCACATATTGCCCTAATCCCATATAACATAAACATGCAATTATGCTAATTGT
+TAAATGCACAAAAAAACTTTTTTTAATTCTATAATAAAACAGTTTATCTTGAGGTTTAATTTCTGAAACT
+TGAGATAACATATACTGTGATATTGGATTAATTAGACTTTGACATGCTGTTGTCATTTTTTGAACGATTG
+AAAAAACACCAAGACTCGTATTACCGCAAAGGTTTCCAATTAACACAGGAATTAGACCATTGTAACCAAT
+CGTACCTATTACGCCAATAAAAACATTTCCTGCCTTCTTAAATTCCACAATGCATTCATTAGGTTTAAGA
+TGAACAACATGGCTAATATGAATATTTGGCCATAAGTATATACAGCATATGAGTAATGTTGCATTTTGCA
+AAAAACTTAGGATAAAAACATTATCTCCGCCACTACAGACATAAACAAGAAGTATGATAAACAATGTTAT
+TCTCACTATTACTTGTGAGTATGAAAGTTTTTTAAAATCACCAATCCCCTGCAAAAACCAATTGGGCGAT
+AATATATTACCAATAGTGCATAGAAAAATTGACAAAAACCCAAAAAATGACAAGTGGACTATATTTAATC
+TGCACAATAAAAATACACATGTTAATGCAATTATAAAAAGCAATGATTTTAAAAGAACAACTATTGAGTA
+ATAGCGCTGTAAATTTTGGGTCTCACATCTATGTCTCGCAGCAACCACAGGTCCTGTGTAAGTAAAGCCA
+AAATCAATAATCAAAGCCACTATTTGATAAATAGATGTAATATAGACCAATTCCCCATATTCCCCCAACC
+CAATATATTTTATCAGGATAGGGATAATTACCAATGGCGCGATATAATTAAATAACTGCAATATATACAA
+CCCTAAAAATACGTTTTTTATTTTATCTTTAAGCCTTAAATAATTGTGCACACGTTGTATCCTATTCATT
+TAGGTGTAATTATATTATTGAAATGCGATGTTCTATAAGAATGACTTTATAATTTCAGCACGCTACCGCC
+CCTGGCTTTACAGCTACCAGAGCACTGCATGCATGCCTACGATGTAGCGAGCGTTACCCACTCGCGCTAA
+ACCCGAAAAATTCAAACGCTAATTGTCTTACCAATCCGCTCTGGAAACAAGGAAAATCCTGGAAAACTTT
+GACTAAAATCCTATTGCTAACTCGTTGTTATTCTGATTGTTTATATAAAACAACGGCAGGAAAATTCGCA
+ACAAATTACTTTCGCCACGAATCTTCACTGCCGTTATAATTTTCTTATCAACCGTTACATTCGGTCAGAT
+TTTCATTATTCGCTTAACAGCTTCTCAATCCCTTTACGGAACTTCGCCCCTTCTTTCAGGTTGCGTAGTC
+CATACTTCACAAATGCCTGCATATACCCCATTTTTTTACCGCAGTCGTAGCTGTCACCTGTCATCAGCAT
+GGCATCAACGGACTGTTTTTTCGCCAGTTCAGCGATGGCATCAGTCAGCTGAATACGCCCCCATGCACCA
+GGCTGAGTGCGTTCAAGTTCCGGCCAAATATCTGCAGAAAGCACATAGCGACCAACGGCCATGATGTCTG
+AGTCCAGCGTCTGCGGCTGATCCGGTTTTTCGATAAATTCAACAATGCGGCTGACTTTACCTTCGCGATC
+CAGCGGTTCTTTGGTCTGAATGACGGAGTATTCAGAGAGGTCACCCGGCATACGTTTTGCCAGCACCTGG
+CTGCGGCCCGTTTCGTTGAAGCGCGCAATCATGGCAGCAAGGTTGTAACGTAGCGGGTCGGCGCTGGCAT
+CGTCGATCACAACGTCTGGCAGTACCACGACAAATGGGTTGTCACCAATGGCAGGTCGCGCACACAAAAT
+GGAATGGCCCAAACCTAAAGGTTCGCCCTGACGCACGTTCATAATTGTCACGCCCGGCGGGCAAATGGAC
+TGTACTTCCGCCAGCAGTTGGCGCTTCACGCGCTGTTCAAGGAGAGATTCTAATTCATAAGAGGTGTCGA
+AGTGGTTTTCGACCGCGTTCTTGGAAGCGTGAGTTACCAGGAGGATTTCTTTGATCCCTGCAGCCACAAT
+CTCGTCAACGATGTACTGAATCATTGGCTTGTCGACGATCGGTAGCATCTCTTTGGGAATCGCCTTAGTG
+GCAGGCAACATATGCATCCCAAGACCCGCTACAGGAATAACTGCTTTTAAATTCGTCATTATTTCATCCA
+CCTGTAAAATGGTTGCTGAATTATAGCTTGTTCGATTTTTTTCGCCAGCATCAATTACCCTGAATTGATT
+ACTGAATTACTTGTGATGTTACGCCGCTTCGTTGTGGATTGCAGTAGCATTGTTCCTAAGTATGGCTCCA
+TTTTTCCAGGAATGGTCGCAAATCTACTCCCTCCGTTCTGGCAATCTAAAGTTAATCTTCTCCACATTAA
+CAATATGGTGATTAATCCTGTCGATATCGACGGAGATTTGTCCTTTTTCATTCACCGCATGAACATTTGC
+AAGAGACAGCAGTGTTTCTTTTTTCGCCATAAACACGCCGCGAACGTCTTTGCGCATGTCAAAGTTCATG
+CTCAATGCGGGTCCAACTGAGGATTCCTGCATCACATTGATATTTCGCATAAAAAGATGTTGCGGTTTGT
+TGTGTAACTCCAGCGACGCACGCTTCATCTCAATGTTAGTCAGCGCCACAAAGGAGACAGCATTCCCGGC
+GGAGATTTGGATGCCGCGCAATTTATAAGCAAGATGAGTATTATCCAGTTGAATATCATTCACTCGGAAA
+TTCTGCGGTATCGAGAGATATTTGCCTTTAATTACCCCATAGCCGATTAACATCCCGGCACTATTAATCA
+TTTCAATATTATCAATCACAAAGTTGTCACAACCATAAATAGCAACTGTGGCGTTATCAATACCTGCTTT
+CTTACTGAAATCCGGCGTGATATTACGAGCTTTGATATTACGGATAACAAAATGTTTACCATTTTCAACA
+TGGATCAGTTGCCGACAATCTGATCCCGTGATATTCGCAACGACAAAGTTTTTCACTGCCTGGTTTTCCG
+GATAATTATTATCGTAAGTACTTCCTGCCAGTCCTATGCCAATACCCCAGTTGATTTTGCCGTTAGTACA
+GTTGATGCGCTCGATGACATGGTCGGATATCAAAATGTCGCGATCGTTGATTGCTACATTCCATTCAATG
+GCGTCGCCCTGTAAGTCGCTGAACTTACAATTGGTGATGTTGGCACCGATAATCTGGTTATGAAATCCCT
+GGCGTAAAATGGCGTAATTAGCGTGGCTGACGGTCAGGTTATCGATGGTCAAGTTGCGCATGACGCGTTT
+ATTTTTGCCGCCGATATAAATCTGCGTTACCGGGCCAAAACCGCTCATCGCCAACCCTTTGATGATGCAG
+TCAGAACCGCGCACATCCAGGGTGATGTTATGCATACGGCCGCCCTTCTCCCCTGTCACCTGGCTGCCGT
+CTTGTAAGACAAAACGCCCTCTGCCGTTGCCGCGCAGGCTTCCAAGGATGTGCAACGTTTTGCCAGGAGG
+AATGAAGATGCCGGTGTTGATATTTTCACAAACGAATCCGGCAGGCACGACGACCGTTTGCCCTTCGCTG
+AAGGCTTGTTTAAATGAGGCGATCCAGTCGTGTGGGTTGTAGTCGTTAATGTTAACGATTTGTCGGGCGG
+GAAGCGCGCGAGCGAAAGGGGTATGGAGGAAGGCAAGCGCCGAGCTTGCCGTCAGGAAGGTGCGTCGGGA
+GAGTTTTTTAAATGGCATACGTTCTCCTCTATAAAGCCTGCAGCAAGCTGGCGAGTTCTCGATTGATCAC
+CTGCTGGTTAAAATCGTGTTCGACTTTTTCGCGCGCACGTTTGACAACCGTAGTAAGTTCGTCGGTGTCC
+AGTTGGCTAAACGCCGCCAGTCGTTGCGCCAGTGCACAGGCATCGTTCTCAGGCACCAGCCAACCGGATT
+TATCGGCCTCCACCAGTTCCGGTATTCCGCTGTGCAGAGTAGAAACCACCGGAATGCCAACCGCCATCGC
+TTCCATTAGCGCCACCGGAATACCTTCCATATCGCCATCCGCACCTGTAACCGATGGCAACAGGAAGACA
+TCCGCGTCATCGAGCATCGCTTTCACTTCATGGCTCGGTTTAAAGCCCGGCATCTCTATCACATCTTCCA
+GTTGATATTGTTCGATGAGGGTGCGCAGGCGTCGTTCCCACGGGCCAATGCCGAGGATGCGATAGCGAAA
+TGCCACGCCCTGCTCTTTCAACTGACGGCAGGCTTCAATCGCCACATGCAGGCCTTTTTTCTCGGTTAAG
+CGTGCGACGGAAATGATTTCCAGCGGCGTTGCAGGTGCTTTCACCGGACGCGGGCTAAAGCGCGTCATGT
+CCACGCCCATGCGCGATACGGCGATTTTTTCCCTCGGGCAGCCCATTTTTTGCAGCCTTCCGGCCCACAG
+ATCGCTTATCGGTAGCATCAGATCGCCACGGCGGAACAGTTGCTGATATTCGGGAGTGTAGTGGTTGAGC
+ACTTCCCGCCTGGAGATATCAATACCGTGGAAGATAGTGGCAATTTTGCCGCGAATGACACCCAGTTCGC
+GTAGTTTTGCCGCGGTTACCCCAGCAGGGCCAAAATGAGCGATAAACACATCGGCATGAAACGGTGTTGC
+GACCTGACCACAAATGGCAGACAAAATCAGGTTCCGCGACTCAGCACCATAGCGTTTGAGGTTGAGCGCC
+TGCCAGGTATTTTTACGATGAATGCCGCGTAAGGTCTGGCTGGCGCGGTGGCGCAGTTTCGCCACTTTGC
+CCGCAGGTTCGTCCTGTAACCAGCGGGTTCTGGCAGCAAGGTTGTATTTCGTCCATGCCGCGTGGGTGTT
+TTGTGTGTCGCCTTTTTGCAGCGCGACAATCTCCACCTCAAATCCCATATCAATAAACGCGGTAATTTGA
+TTGAGGACGAAGGTTTCCGACGACAGCGGAAATTTCAGTAAAAAGAAGCCGACCTTCATTTCACCTCCCC
+GATGCGTTCAAGCACAGATTGCACCATCTGCATTCCCGTCTGACGTTCGCGACTGACAGCTTCGTTAAGT
+CGTGCGTTCAGCGCCGGAAGCTGGCCTAAGGTATCCGCAACCATCGCTTGCAGGCTGCCGTCTAATAAAT
+GACGGATATCAATTGCCATCTCTGGTAGCCCCAGTTGTTGCATAATCCCAGCGGATTTATGTTCATAGTT
+GATGGCAATCGCCGGGGTGGCAAAGTTCATTGAGATAATGGCGGAGTGCAGGCGCGTACCGACGGTGAGT
+TCACAGGCCCCCAGAATTTTGCCCATTTCCAGATCGTTGAGTTCATCCATCACCACGTGGTAACGGGCAG
+GATCGCTGATGTGCTGGCGCAGATTGAGCGCCACCATGCGGTCGTCTTTGTTATAGCTGTCGATGCCCGT
+ACAGGTGGAGAGCGCAATCACCTGATAGCCTTCGTCGAGAATGCGATTGACCACCCCGGCAAAGGCTTTT
+TCATACGCTTGTTGAGTGGTGCCGAGGCGTTTGTCGAACGGTGCCAGTTCACGCAGGGTAATGGCCACCG
+CTTTCTGTTGTGCGGCAACGTCCAGCCAGTGTTGAACAGCATAGCTGGCGGTGAAGTCTTCTGTGTGGTG
+ATCGACCAGCCACGCGGTATCGACGCCATGTTCAACTTTTGCGGTAGTGATATTGCTGCGTTTCATCAAA
+TCAAGGCTGACCGATTCGCGCAGGATCAGCGCGTCGCAGTGACCAAAAACGTAGTTCGCCAGTTGGTTAA
+ATTGCTTATCCTGGAACGGGCCGACGCTGTGACCAATCATAAACAGCGGCTTTTTCGCCATGAAAGTGCA
+AAGCGCATGTTCAAACTGCGGCACGCCGTAGAGATCGACAAAAAACGATCCGCCGACCTGAATAATGGCG
+TCGTAACCTGACAGCAGTCGCACGAAGTCAGTGAATCCCTGGGCGATGGCGATATTACGCAGCTTGCCAG
+TGTCGGTGACGCGTGAGAGCAGTACCTGGTGCTGGTAGCGGTGACGGAGGACTTTTTTAACGCGCCCGAC
+AACGTCCGCCGCGCTGTTGTGTTTTTTCATTTGCAGGAACAGCGGGTCGCCCATTACCGGGCGGTTGAGC
+AGCCAGGAAGAACTGACCGGATAGCGGCTCATTACGTCCACTTCGGCATGTGGACTGAGGATATTGATGG
+CATCAAGTAAGCCGCGCAAGATGGCGCTGTCGCCGCGGTTGCCGCAAGTGTGGTTGCCCAGAATAAGTAA
+TTTCATTTTTTCCTCATAAATTTGATGCCAGGTGAGGCTGTGTTTGTTGTTTTCGTTGCCGTTTTTTGCC
+TGATGCGACGCTAACGCGTCTTATCAGACCTACAAGATCCGAGCACAGAACCGTAGGACGGATAAGGCGT
+TCACGCCGCATCCGGCATTCAGTGCCTGATGCGACGCTGACGCGTCTTATCAGGCCTACAAGACCCGAGC
+ACAGAGCCGTAGGACGGATAAGGCGTTTTACGCCGCATCCGGCATTCAGTGCCTGATGCGACGCTGACGC
+GTCTTATCAGGCCTACAAGACCCGAGCACAGAGCCGTAGGACGGATAAGGCGTTTTACGCCGCATCCGGC
+ATTCAGTGCCTGATGCGACGCTGACGCGTCTTATCAGGCCTACAAGATCCGAGCACAGAACCGTAGGCCG
+GATAAGGCGTTCACGCCGCATCCGGCATTCAGTGCCTGATGCGACGCTGGCGCGTCTTATCAGGCCTACA
+AGATCCAAGCCCAGCCCCCCAGGACGGATAAGGCGTTTTACGCCGCATCCGGCAACCGTTGCCGGAACCG
+AAAACAACCATTCACCCCGCCCGTAAAAGCATTTTCATTTTTTCGCTGCGACAAAACTGACGCTTCACTT
+CCACCACCAGCGGATGGCGCGACAGCACAATCATCACCACAAACGCCAGCACGCCCGCGGCTATTTGCAC
+CGCCAGCAGCATCCCCAGCGCCAGTTGCCCTTTCAGCACAATGCCCAGCGCATAACTGACCACCAGCGTC
+GGCAGCGAGAGATAAAACGGCAGCCACAAACTCAGGATGTACTGGCGATAACTGGAACCGAGCACCGGTT
+TAATCATCACGAAATAGCTCAGAATGGTGTTGATAATCTGCACCAGCAGGAAGCCAAGCGTGACGCCGAT
+TGCGCCCGCCATCTGCCCACCAATAACAATCGCCGGAATAAACAGAAAGGTTTTGAATACGTTGAATTTA
+AAGCTGATATCGACCCGCGCTTTCGCCATCAGCAGCGAACCAATCGGGTTACCCACGGAACGCAGCAGCC
+CCACCACACACAGCAATTGCAGCACCGGAATAATGCTGTTCCACTTCTCACCAAAGACCAGCGGTACAAA
+GTTATTCGACACCACCATCAGCCCCAGCAGCGCCGGAAAGTTGATAATCCCCACTACCGACAGCAGCTTG
+TAGAAGTTAACGCGCAGCTTTTCGGTGTCGTCCTGAATTTTGGCAAATGCCGGAAACAACACGCGGGTGA
+TGATTGGGTTCAGCTTCATCGGCGGCACAACGGCCACGTTGTACGCCAGGTTGTATCCCCCTGCTACGCC
+CGCGCCGAGAATACGCGCCAGCACCAGCGTTGAAAGGTTGGTGTTGAGATAGTTGATGATGCTGTCCGCC
+GTCAGCCAGGCACCAAAACGTAAGTTTGGTGCCACCGACGCCAGCGAGAAATGCAGACCGGGGCGATAAA
+TTTTGCGGCCAAAGTAGCCAAACAGCAGCGTTCTCACCGCACTATTGACCAGATAACCGAGAATCGCGGT
+CATCGCCAGCGGCCAGAAATGGGCGCTAACCACTGTAAAAGTGAAGCCCGCCAGCACCGCGCTGGTTTCG
+ATCATGCCGATTTTGTTGAACTCCAGCTCCTTTTGCATCAACGCGCGGAACTGTTGCCCGTGGGGGATAA
+CCACAAACGCCAGCGACAATGTTTTAATCAACGGTGCCAGGTCCGGGTTATTCAACACGTCACCGATGAG
+ATCACTCAACAAAAACACCGCCACGCACACCACAAGCCCCAGCCCAACGTTCAGCCAGTACAGCGTGGTG
+AGTTCAAGGTGGCTGATTTCTTTTCGCTGAATAATGGAGTTAGCGATACCGAAGTCAGAAAGCGTATCTG
+CCAGCGCAATGATCACCAGCGACACAGTCAGCAAACCGAACTGGTGGTTATCTATAATCCGCGCCAGCAC
+AGTCATTTGCACCAGACCGAGGCCGATGATGATCACCGTGGCAATCGCCGACCACTTCGCGCCGCTGATG
+GTTTTTTCACGTAAGCTCATATCAATATGCCGCTTTGTTAACGAAACCTTTGAATACCGTCAGGAAAACG
+ATTTTGATATCGAACCAGACGCTCCATTCGCGGATGTACTCAAGGTCGAACTCGACGCGTTTTTCCATTT
+TCTCCAGCGTGTCGGTTTCGCCGCGCCAGCCGTTAATCTGCGCCCAGCCGGTAATGCCCGGTTTCACTTT
+ATGGCGCAGCATGTAGCCTTCAATGAGCTGGCGATACTGTTCGTTATGCGCCACCGCATGCGGACGCGGA
+CCGACAATCGACATCCCCCCGGTCAGCACATTGATAAACTGCGGCAATTCATCCAGCGAGGTGCGGCGCA
+GAAAATTCCCCACTTTGGTGACGCGCGGATCGTTCTGCGTCGCCTGGGTCACCACTTTGTCGTTCTCCAT
+CACTTTCATGGAACGGAACTTCCACACTTTGATCGGCTTGCCATCCATGCCGTAGCGAGTCTGGCGGAAA
+ATAACCGGCCCCGGTGAGCTCAGTTTTACCGCCAGCGCAATGCAGCACAGCACCGGGGAGATCAGCAGCA
+GAATAAGCGTCGCCAGCACAATGTCTTCTGCACGTTTGAGCAGGCGGTTAACCCCGGAAAGCGGCGTGTC
+ATACAGCGGCACCACCGGTACGCCGTTCATCTCTTCGATACGGGAATGGAGAATGTTGAAGGTAAAGACA
+TCGGGGATCAGCAGCACCGAACAGGTGGTGTCCGCCAGTTGATGGACCAGTTTTTTCACTCGCGCGCCGT
+CGCACATCTGCATCGCGATATAGACGTTATGAATCTTGCCCGCTTTCGCATCCTCGACCAGTTGTTGCAG
+ATTGCCCGCCCAGTCGTTAGAAACGCCACCCGGTTTCGGGTCGTGGTAAACGCCCACCACTTCAAACCCT
+AACCACGGCTGATTACGGAAGCTCTCCATCAGCATTTGTCCGGCGGCTAAATCCCCCGCCACCGCGACCA
+TGCGCTTGTTATAGCCATGATTACGCAGCCAGCCCGCCCCAATACGGATACATGAACGGCAAACCACCAG
+TCCGATGCTGGTCAGCCCATACCACGCCAGCCAGATTTTCAATTGCGTGTCGAAATCATTGTTGAACGCC
+ACCAGTCCGGCGCTGAAAATCACGCTTAACGTCCAGTTTTGTAGCAACAGAGCAAATTCTGTCGCTGTCC
+GAACACCGCGCCATGAGCGATAAAAATCGGTGATGCCGCCCAGCATCTGGAACACCACCAGCGTAATCAG
+TGCCACCAACAGGTGCATGTAGAGGAATGACAGTCCGCTCGCTTCGCAAACCAGCCATAGTCCGGCAAAC
+ATGATGGTGATATCTGAAAAGCGTTGCACCATAGAGATTAACGATGCATTGGTTTTCGCTCGCTCGCGCT
+TTTTTAGATTTGTCATCGTTGTTCCTGTTTTTAGCCCCTTACCCGCAGTAGGGTAAGGGAAGATCCGACA
+TTACTCGTTCAGCAACGTCAGCAGAGTTCGCGTTCGCGCTTCCATCAGCGGCACATCACCGCGTGATTCC
+ACATTCAACCGCACCACCGGTTCGGTGTTGGAGGAGCGCAGATTAAAGCGCCAGTCGGCAAAGGTCATGC
+TGATGCCATCGGTGCGATCCACCGCCAGCGCCTCACGGCTAAAATGCTGTTCCACGCGGTTAATCGCCTC
+AACGGGTTGCGCCAGTTTGCTGTTGATCTCACCGCTTGCCGGGAATGCCGCCATCCGGTCGCGCACCAGT
+TCGCCCAGCGTTTTTCCTTTCAGGCACACCAGTTCGGCGACCAGCAGCCACGGGATCATGCCGCTGTCGC
+AGTAAGCGAAATCACGGAAGTAATGGTGGGCGCTCATTTCGCCACCGTAGATGGCGTCTTCCTTGCGCAT
+ACGTTCTTTAATAAAGGCGTGTCCGGTTTTCGACATCACCGGCGTGCCGCCCGCGGCCGTCACCACATCA
+ATGGTGTTCCAGGAGAGACGTGGATCGTGGATGATCTTCGCGCCGGGATTTTTTTCGAGGAACGCTTCTG
+CCAGCAGGCCGACAATGTAGTAGCCCTCAATAAACTGCCCTTTTTCGTCAAACAGGAAACAGCGGTCAAA
+ATCGCCATCAAAGGCAATGCCCATATCCGCGCCGTGTTTGATGACCGCATTGCGGGTGTCGTCGCGACAT
+TCCGGCAGCAACGGGTTAGGAATACCGTTGGGGAAATTGCCGTCCGGCGTGTTATGCACTTTGATTAACT
+CCACCGGTACGCCGAGGGCTTTAAAGCGGGCTTCGATGGCGTCCACCACCGGACCCGCTGCGCCGTTCCC
+GGAGTTGATCACCAGCTTGAGCGGCGTAAGGTTTTTGAAATTGATATAACCGAACAGGTGATCAACGTAA
+GCGTCACGCAGATTGATTTGCTGATAGCGACCGCGTTTGGTTTCATCGACGGGAGGAAAGTCGTTGGCTT
+CTGCCAGACGCTGGACATCGCGCAGTCCGGTATCGCCGCTGATCGGGCGAGCCCCTTCGCGCACCAGCTT
+CATGCCGTTGTAATCCATCGGGTTATGGCTGGCGGTAACTTCAATGCCGCCATCCACGCCGAGATGGAAC
+GTGGCGAAATAGATTTCTTCGGTGCCGGACATGCCGATATCCAGCACGTCGACGCCCGCATCCTGTAAAC
+CTTTCGCCAGCGCCAGTTTTAAGGTTTCGCTGGTGAGGCGGACATCACCGCCTAACACAATGGTTTTCGG
+TTTGAGAAATTCGCCATAGGCGCGACCAATGCGCCAGGCGATATCTTCATTCAGTTCTTCGCCTAATTTC
+CCGCGAATATCATAGGCTTTAAAGCAGGTTAATTTTTTCATATCGTTACCCTTTTTCAGGCAATAGTTGG
+CCCTGACCGAAACGGCCAATTTTGTTTTTGTCGTTATTTACATCGCGGTTTCGCATTCATTGCCTGATGC
+GACGCTGCCGCGTCTTATCAGGCCTACAAACCCGAACCGTAGGTCGGATAAGGCGTTCACACCGCATCCG
+ACAAACAGCGCCTGATGCGACGTTTACACCCGTCCGTAGCGATCCGCGAAGCGCACCACATCATCCTCTT
+CGAGATAAGAGCCGGAGCGCACTTCAATTAAATCGAGCGGAATTTTCCCCGGGTTTTCCAGGCAATGCGT
+CGCCCCCAGCGGAATATAAATGGACTCGTTTTCACCAAGCAGTTTGATATCACCGTCGATAGTGACTTTT
+GCCGTTCCCGCGACAACCACCCAGTGTTCCGCGCGATGATGGTGCATCTGTACCGACAAGCCTTCGCCCG
+GTTTCACGGTGATGCGTTTCACCTGGTAGCGGTCGCCCGCGTCGATAGAGTCATATTTGCCCCACGGACG
+ATACACTTCGCGATGCACCCGATGCTCATGGCGACCATCGGCTTTGATCTGCTCGACCACTTTTTTCACA
+TCCTGCACCGCATTACGGTCGGCAATCAGCACTGCATCTTTGGTCTGCACTACCACCAAATCTTTCACCC
+CGACGGTGGTGACCAGGCCAGATTCGGCATACACATAGCTGTTTTCAGTTTTGTGATTAATCACATCGCC
+ATGGCAAACGTTGCCCTCGGCGGTGTGAGCACTGATCTCCCATAAAGAGGACCAGGAACCGACATCGCTC
+CAGCCCGCATCCATCGGCACAACAACGGCATCTGCCGTGCGTTCCATGACCGCGTAATCTACCGACTCTT
+CCGGACAGGCGAGAAACGCCTCTTCATCCACACGAATAAAATCGAGATCCGGATCGACGGCGCTCATCGC
+TTTTTCACAGGCATCGAGAATATCCGGACGATACTTTTTCAGTTCTTCGAGATAACGTCCGGCACGGAAC
+AGGAACATACCGCTGTTCCAGTAATATTCGCCACTTGCCACATAGGCCTGCGCGGTTTCCAGATTCGGTT
+TTTCGACAAACTGCGCCACTTCAAAGGCCACCGTATCCTGCTCACCCGCCGACACTTCACCGCGACGAAT
+ATAGCCATAACCGGTTTCTGGTAGATCCGGCACAATGCCGAAGGTCACCAGCTTGCCCGCTTCAGCATAC
+GGCATGGCGTTACGCACGGCGGCACGGAACGCGTCTTCATCGGCAATCACATGATCCGCCGCCAGCACCA
+GCATTAATGGGTCGTTCTCCGGGCTATGACGTTTTGCCGCCAGCGCCGCCAGCGCAATGGCCGGTGCAGT
+GTTACGCCCTGCCGGTTCGAGAATAATGTTCTCGGTGAGTTTATTTAGTTGACGCAGCTGTTCCGCGACA
+ATAAAGCGGTGCTGCTCATTGCAAATCACCACCGGGCTTTCGCACTCCACGCCATTCAGGCGGCAGATGG
+TGGTTTGCAGCATGGTGAGATCGCCTTTCAGGCATAAAAACTGCTTGGGGTAAAGTACGCGGGAAAGCGG
+CCATAAGCGGCTACCGGAGCCACCTGCCATCACAACTGGATAGAGTTTCGACTGCGCCATAATTATCCCC
+GAATATCATTTATAAATTGACGTAACACGTTCTCTTTATCGAGCGTGCGTTCGGCATATTCACGTGCCAC
+CGTGTTGTGTTTGGGCAGCAGGAGCGCCTGACGAATCCCTGCCACCAGCGCCTCGACCGATTCCGGTTCC
+ACGCAAACCGCAATGCCCGGAAAGGTTTCGCAAAGCTGCCCCAGTTCGGTGTGGGCTTCTGCGGTAATCA
+CCGCGTTACCGCCTACCGCCAGAATATTGGTCAGTTTCGACGGCAATACGGCATCTGCCGCGCCGCGTTT
+TTGCACCACCAGATGGCAATCCCCCATCTTCAGCAGTGCGGGTAAAGCGTCATACGATTGCAGTGGAAAA
+AATTGCATGTTGCGCAGTCCACGCTGCTGCGCCATTTTTTCCAGCCGCGCTTTGCCGCCGCCCTGCCCGA
+CAATGGCAAAAATAAGCGGTTCATCGCGCAGGCGAGCGGCAGCTTCAATAACGTTTTCCAGCCCCTGCTT
+TTCACCAATATTGCCGGAGTAAAGAATGATTTTTTTGTTATCCGGCAGGCCAAGCTGGTTACGAAGGGCA
+TCAACATCGGCGTCTGCGACATGCTGAAAACGGGCAATTTCTGACCAGTTGGGGAAGAAGATGACGTTTT
+CCGCCGCTACGCCTTTCTCGATAGCTTTATTCATCATCGAACGCGAAATCGTGGAGACGTTATCGACGTT
+ATGCAGTCCGCTACGTTCGAACGCCGTTGCCAGCTGTGCCACTTTGCCGCCTTTACCTTTTCCGGCAAGG
+CCCAGCCCCAGCATGGCGTCCACTTCGTAATCCTGAATATGGAGCACCGTGCGCGCACCAGACAGTTTCG
+CCAGCAGGCGCATTCCTGGCGTGCAAAACAGCGTTGGCACCACGCCGATAATGCGATCCGGCTTCCAGCG
+ACGTTGCGCCATCAGCGGAAAGAAACTGCTGGCGGCAAAACTGCCGAGATGCAACAGGCGTTTCAGGGTG
+CTCGGCTGTTTTGGCACGTACAGCGGGCAGCGCCACACCGTGGCGGCCCCCTCTTCCCGTTTGTACCGCC
+AGGCGGAATAGTTCTCGCCCACCTGCCACTGCGGGTAGTAAGGCGGCGCGGTAATAACCCGCACCTCATG
+ACCTTGTGCTGCCAGCCATTCCACCATCTCGCCGGTGTACTTGCCGATGCCGGTTAACTCCGGCGAGTAG
+TTAATGCCGTAGACCAGTATTTTCATAATCCGGGTACTCCGGCACGCTTCTCAGAGAGAAAATAGGCGCG
+GCTGTTAGCGTGAACATTGTCACTGGCGAGCAACGCGTCCGGCGTCAGCCAGCGGTAATCGTCATGCTGC
+TCATCCGGCAGTAACAGCTCATCTTCCGCGACTCTGATGCGAAAACCGAGCACCACATAGTGAGTGGTGA
+ATTCCGTGCCGGAGAAGTTATCGTCATAAAAGTGCTGCCAGACACCGTAAAACTGGCCTGCTGTTATCGG
+CAGACGCAGCCCCAGTTCCGCCATCGTCAGCCGCTCAAATGCGGCTTCCAGCGTTTCGTCTTTCTGCACG
+CGCCCTCCCGGCACAAACCAGTAACCCTGCGCCGGGCGGTTGGTTCTTTTGCCAAGCAGAAACTCGCCGC
+GACTGTTCTCAACAATAAAGTCGAGAGAGACAAGCGGTGTGGAGCGCACTACCGTGGCAAAGTCTTCCTG
+ACGTAAAAACATCATTACCCCCGAAAGCGGTCTTGATTCTCAAGGAACCACTGGTAAGTGCTGGCAAGCC
+CCGCTTCCAGTGAGATTTCGTGATACCAGCCAAGCTGATGCAGCCGCGTCACATCCAGCAGTTTGCGCGG
+CGTGCCATCCGGTTTGCTGGCATCAAAAACCACCCGACCTTTGTAACCCACCACTTTGGCGATGGTTTGC
+GCCAGCTCACGGATAGTGCAGTCAACGCCCGTGCCGACGTTAATGTGCGACAGCATCGGCCGGGTGTTCT
+CCTGCCAGACTTCGTGCGCCAGCTCCATCACATGAATGCTCGCCGCTGCCATATCATCAACGTGTAGAAA
+TTCGCGCATCGGCGTACCGCTGCCCCACACCACCACGTCCGGCGCATTCTGTGCCGTCGCCTCATGGAAG
+CGACGCAGCAATGCTGGGATCACATGCGAATTACTCGGGTGGAAGTTGTCGTGTGGCCCGTACAGGTTGG
+TTGGCATGACTGAGCGGTAATCCCGTCCGTACTGGCGGTTGTAAGATTCACACAGTTTGATCCCGGCGAT
+TTTGGCAATGGCATAAGGCTCGTTGGTCGGCTCCAGCGTGCCCTGCAACAACTCGCTTTCTACCATCGGC
+TGTTTTGCCAGTTTCGGGTAGATGCAGGACGATCCGAGAAACAGCAGTTTGTTCACGTCGTTCTGATGCG
+CGGCTTGAATGATATTGCTCTCAATCATCATGTTCTGGTAGATGAAATCTGCCGGATACGTGTTGTTGGC
+AACAATACCGCCCACTTTCGCCGCCGCCAGATAGACCTGGTCAATGCTTTCGCTGGCAAAGAAATCATGC
+ACCGCGCGGCTGTCCAGCAGGTTCAGCTCGTCGCGGGTGCGTAATACCAGCTCCACATCACCGCGCTGTT
+CAAGCTGCCGCCTGATGGCGGAACCGACCATCCCGCGATGGCCAGCGATAAAAATGCGTTGTTTACTCAT
+GCTTATGACTCCAGCGCGATCGCCACGTCGTAGCCGTGAGATTTCAGCAGAGAGTGTTTTTTCGCCGCTT
+CAAGGTCATTAGCCGCCATTTCAGACACCATCTCTCTGAGGGTGATTTCCGGTTTCCAGCCCAGTTTTTC
+GTGCGCTTTGGTCGGGTCACCGAGCAGCGTTTCAACTTCAGCCGGACGGAAGTAGCGCGGGTCAACGGCG
+ATAATCACATCACCCGGTTTAACGCCCGGCGCGTCATGCCCGGTGACGGAAACCACAATGCCCTTCTCTT
+CAACACCCGTGCCTTCAAAGCGCAGTTTGATACCCAGCTGTGCCGCCGCCATTTCCACGAACTGACGCAC
+GGAGTACTGAACGCCGGTGGCAATAACGAAATCTTCTGGCTGTTCCTGTTGCAGCATCATCCACTGCATT
+TTTACGTAGTCTTTGGCATGGCCCCAGTCACGCAGGGAATCCATATTGCCGAGATACAGGCACGACTCCA
+GCCCCTGGGCGATGTTGGCGATTGCGCGGGTGATTTTGCGGGTAACGAAAGTCTCGCCACGGCGCGGGGA
+TTCATGGTTGAAGAGAATACCGTTACAGGCGTACATGCCGTAGGATTCGCGGTAGTTAACGGTGATCCAG
+TAAGCGTACAGTTTGGCAACCGCATACGGAGATCGCGGGTAGAACGGCGTGGTCTCTTTCTGCGGAATTT
+CCTGCACCAGACCGTACAGTTCAGAAGTAGAAGCCTGATAGAAACGGGTTTTCTTTTCCAGACCGAGGAA
+GCGGATCGCCTCGAGCAGGCGCAGCGTACCCATCGCATCGACGTCTGCGGTATATTCCGGTGACTCAAAA
+GAAACCGCAACGTGGCTCATTGCGCCCAGGTTGTACACTTCATCCGGCTGCACTTCACGCAAAATGCGCG
+TCAGGTTGGAGGTATCACTCAGGTCGCCATAATGCAGATGGAATTTCGGGTTGCAGGTGTGCGGATCCTG
+ATAAATGTGATCCACGCGCTCAGTGTTGAATGACGATGCACGACGCTTAATACCATGCACCTCGTAACCT
+TTTTCCAGCAGAAACTCTGCCAGGTAAGAACCGTCTTGTCCGGTTACACCGGTGATGAGAGCGACTTTTG
+ACATGTCTTATTCCTCTGTATTTTTTGAATTTATTCAGTTTCAACGCGTTTGCGTATCACCACTGCGGGT
+TTCCCCCGACAAACCACATTTGCCGGAAGCGATTTAAAAACACTGCTTCGCGCACCCACGACGGTGCCGT
+CGCCGATCGTGACGCCAGGGGCAACAAAGACATCGGTTGCCAGCCAGCATTTCTCGCCAATCACAATAGG
+CGTGGCGTTAATGGTGAAATGTTGACTTGCATGGTCGTGGCTCCCGGTGCATAAATAACTTTTTTGCGAT
+ATCACCGAATGTGCGCCAATGGTTATTTCACCGAGGGTATATAAATTGACCTCATCGCCGACCCACGCGT
+AATCACCTAAAGTCAATTTCCACGGATAGGTAATTTTTACTGACGGACGAATGACTACGTTTTTTCCTAT
+TTTTGCGCCGAATAAACGTAATAAAAATGCCCGCCAGCGATACAATACTTGTGGCGACCAGGCAAATATT
+GTTGCCTGTACTGCCCACCACAATTGCACTTTAATAGCGTTGCCACCCCGGAACCCTTTCGGCACCGAGA
+ATCCACTTAAATCCTGCATCGTTTTCCCTTATATTCAGCTTTTGTTATATAAGGCTTTCGTCTTTGAGGT
+CGTACGTTGGCGTAAATGCCAGGATAATTCAGCCCAAAAGCCAGGCACGTGCAATATCTGCCGTTGGACT
+TTTTTGGCGTCAGCACACAATTCCATATTATTGGTGGTAGATACCCCACCCATAGAAAATTCAGACACCA
+GGCCATTGAGTTTTTTAAATACATAACCGGCTTTATACATTTTGGCTGCCAGCGCGTAGTCGGAAGAAAC
+TTTATATTCCAGGTCATAACGCCATTTTTTCAAGCCGGATACTGGAAAAAATATCGCCTGATGACTGGCG
+GGCAGGCTGTGATAAATATACCACCCCGGTTTGGCGCTACGTTTAATCTTATGCCCGTCGCCAAAATCCA
+GCAGCGCATCGCCGGTGATCATCATGTTATCTTTTTGCATTTTTAACTTACGGACAAAATTTGCGGCATC
+CTGATGAAAAATATCGCCCGAATTGAGAAACAGCGCGAACTTGCCTTGCGCCATTTCAATACCTTTGTTC
+ATGGCGTCGTAGATACCGTTATCTGGTTCGCTGACAAAGCGTAGGTTATAGATACCATTGAGATTTTCCA
+GATACTCACGGGTACCGTCGTTGGAACCGCCATCGACAACAATCCATTCGAAGCTGATATCGTCCACCTG
+CGCCAGATGCGCCAGCGAGGCATGTGTTTTGACTATCCCTTCGAGGTTACGAAACGCGACAGTGATTATG
+CTAAGCAACATGTTCTTATTCTTACCTCGTAATATTTAACGCTTTTCGCAAAATAAACGGACAGACGATT
+AAAAATGCATATTCCGGGCTAAATATCGAACCGGTAAAAAACAGCGATACCGGAGTAAAAAGATATAATT
+GCACGCGAAAATTACGGTTATCACCAAAAGCGTTGATCATCATTTTTATCACTTTTCCCATGTACCACAG
+CGATAGAAGCACCGCGAACCAGGAAAAATAAATAATCAGCAAATATAAACCATTGTCTATGGTTTTTCCG
+ACATCCGCACCGTTAAATATTCCGAATGATGCGACATATTCATAAAGTGAGCCAAATCTGACTACACCGT
+CAATATGGGTCAAAGAATAACCGACCATAACCAGCGGACCGACAATACGATAATACGATGACGATCCTTC
+TGTACCTAAATCGCCCAGACGGGTGGAAATATAAGGGAACGCGATTACCACACCAACCAGGAATACAGCC
+AGAGAAATCAATGCTAACGGTAACTTTTTCTTAATCGCCTCTTTATTCAGATATTGAAATGCCCACTCCA
+GCAAATAAAAAAGGATAAAGGTCATAACCCCTGAAAACGATCCGGATAATATTATCCCTGCGAGAATCAT
+AGCATCGGTTTTAGGCGTTTTGATACCAAACTGTTTGATGCTGAGCCAAATTGAGATTAATGCCAGAGCG
+AAAAATGCCGGTTCGAAATAAAGTGCTGTCGTGCGCTTGCCGCCGAATTTGATGAAATTCAGCACATAGC
+TGTTGCTGTAAATCAGATATTTCGAAATCGACTCCATAATACTGCTACCGCCGGTGAGGATAATTTGCGC
+CATCTCCACCGCCGCCAGCACCACCACCAGCCCGACCACCAGATAAAAGAAACGTAATATCTTGCGATGG
+TTGTGTGGCGAAATCGTTTTAAAGCGAATACTCCACACCATGCCAATAATGATCACAATATAGACAAACA
+GCATGGTTGAAGTGACGTATTTACTGGCATCCAGCGACTGACCAAACAGGTAGTTAAACGCCGTGAGTCC
+CGCGCCAATCCCCAAGGCAATCATCAATTTTTTAACGCTGATGCGCTCTAAAAACAGCAGTAACAAGACA
+GGTAAAAAAGTGACGATGGTGATGGGGAAACTTTCGCCAAGCTGGGCGATTTTGACGTTAACCAGCAGGT
+AGATCAGCGGCAGCAGCAGGTAGCTACAGATTCTGATAGAAGTTGACATACTCCTCCAGCATCTGTTGTC
+CACTGTAGGCGGCGCGGCTGCGCTGGCTGAACTCAGCCAGCGTGGTACCAAATATCGCCTGCGCAATTTC
+CGGTTTGCTTAACTGCACCAGTTGCAGCACCTCTTCTTCGCTGACGGTTTTACCGCCGGATTTTTGCAGC
+ACTTCACGCGCCGCATCGCTATGGGTGGCAATCACCGGCACACCAATTGATAACGCCTCACACAAAATCA
+GCGGGTAGTTATCGACGCGAGAACTGAACACCAGCGCATCCATCTGATTGAGCACGCTCATTAACTTGCG
+CTTGTCAGTTTCAAAGCCGTGATTGACAACGTTACCAGCGGTGAACGGCGAGAACTTACCAAAGGTATGC
+AGTTCGATTTTGTCTCCCAGCGCCATCATCTCGCGCACCAGTTGCTGCTTAGTTTTGCCGTCGTAACGCA
+GATCATGCGCCACCACCGCGATTTTCGGCTTGCCCTGGGTTTCGCAAACCGGAGGCAAGTCCACCAGAAT
+CGCTTCGGTTGCCATATCAATGCCATTATTGATAATCCGGCAACGCCCTGGACCGTACAGACTATTGAAA
+GCATCAGCCACATGCTGGCTGGGGGAAATAAACTGACAGCCCAGTGCCAGCATCTCGCGGAATAACTGCC
+GTTTGCCCGCCACCAGTTGGTGTGCGCGATCAATCTTCACCGGCGGATAATTATTTAAGGTCGGACATTT
+CTGGCAGCCCGTTTTCCAGCCTTCGCAACCGTCGGTAAAGGCGCAGCGTCCGGTAACGCTCCAGTGGTCG
+TGCAGTGTCCAGACCAGAGTGACATCCGGTTTGTGGTTTTTCACTTTTTCGCAAAAGCGCACCACGCTCT
+TAAGATTTAGCCAGTAGCTGTGCAGCACATGAAAATGCAGAACCACCGGGCCCGGTGTGCGAGTAATCGT
+GCGATATAACTCATTGAAATTGCCGAACAGATCGCGATTAAGCAGACGAAACAACGCAATGTTCGCCATC
+GCGGTCATCCGCGGCGTATGTTTGATGACCTGCGGATAGTTCTGATGGCTGACGCTCTCTTTGCCGCCTT
+TGCCGTAGCCGTAGACAAAATGTGACGCCAGCCCCTGTTGCAGCGCGCGCTGGTGGAGATCTAACGCCAC
+ACCTGCTGCCCCGCCTTCCGCCAGTCGCACATTAAATTGCAGAATATTCATTTAATTACCTTCACTCGCG
+CTTTTTCTCCCACCACCAGCGCGTTGTCCGGGACAGAGTCGAGCACCACGCTGCCCGCGCCCACGGTGAC
+GTTGTTACCAAGCGTGATATCACCAAGAATAATGACGTTGGCACCGAGTTCGACGCCGTTGCCAATGTGT
+GGACATGCCATGTTATCGGCACCACGATTGCCGATAGTGACGCCGTGACGAATGGTGAAATCATCCCCCG
+CGACCACGTTTTTATTGATCACCACGGCGTAACCGTGATGGATAGTAAAGCGTCGGCCTATGGTCGCGGC
+GGCCTGGATTTCATAACCGAAAAAGCATTCGGTGATAATGCGATACAGCACCAGCAGCGGGGCCGCCCAA
+AGATTGTTGAGGACGTTCTTTTTGCGCCACACCGAACAAAAATGAGCGGCGCGATAGGCAAGAACCATGC
+AGCACGGGCGTAAACTCCAGCTGTTGGCGCGCAGATCTTCCAGCATCTTTAGCGCCCCCGAATACCATCA
+GCCAGACGTTTGCCGTTACGCACCGACAGCAGCGTCAGCAAAGTGCGCCAGGTCATGCGTTTATTGCGGA
+TCTGGTAGAGGGTAAACAGCTGATATTTTTTGCTGGCGCGGTCGAATTTGTCTTTGTGCTTGCGGTAAAA
+GTGGAAGTATCCGGAGAATTTTTTCGGTGACGAGGTGATCTGCATTTCGCCGTGATTGATATGCAGGATC
+TGCGTCGCCTCTTCCACTTTCCACGGTTCGCCGTACTCCACCACCATCCGCAGGAAGATGTCGTAATCCT
+GTGCCGCTTTCAGTTCGGTATCGAACAAGCACTCTTTGAAACGCCACGCCCAGGTAAAGACCTGATTGCC
+AATGATATTGCGTTTGTAAAACAGGCGGCGTGAATACGGCGATTTGGGATACAGCGGCAAGCTTGCAGGT
+TGGGAATAAACTTCGCCCTGGCAAACGTAGTCGTTAGCGTACAAAAAGGCGTGTGTGACCAGTTGCTGTT
+TATGGGCGAGGAAGACGCTCAGGCGGTTGGGTATCCATTCATCGTCGTCATCGATCCCGGTGATGTATTC
+CCCTTGCGCCAGCATAATCGCCTGGTTACGTACCGCGCACGCTCCGCTGTTAATGTCGTTGTGAATGTAA
+GTGATGCGCGGATCGTTGAGGGCGGTGACGTACTGTTGTAGTTGTTCCCAGGAGGTGGAGCAATCATCCA
+CGATAATCATCTCCCAGTTGTTGTAGTCCTGGCGCAGGACCGATTTTATCGCCCGAATCGCCAGTTGTTG
+GCGGTTCCAGGTCGGCATATAGATTGAAATCAGCGGATTGTCTTTCATAGGTTGTTCTCCCGGCTTATGA
+GCTGGTTTGCTTGCCGGATGCGGCGTGAACGCCTTATCCGGCCTACGGGGCGGTGCGAATGCAAGCGTCG
+TTATTTCGCATCCGACTTATATTCGTATTCGTAATAGCCATAATCCTGATACGCGCTGGCGCGGCGGAAG
+ATGGAGTTCAGAATCACCCCTTTCACCGGAATACCGTTTTGCTCAAAGCGGCTCAGACTGGTTTCCACTT
+CTTTCAATGTGTTGACCGCATAACGCGCCACCATCAACGTGGTTCCGACATGACGACCAACTATAGCCGC
+ATCGGTCACTGCCAGAATCGGCGGCGTATCAATCAACACCAGGTCGTAGTTTTTACTCGCCCACTTCACC
+AGTTCGGCAAAGCGTTCGCTCATCAACAGTTCAGAAGGATTTGGCGGCACCTGACCGCGCGGGATCAGGT
+CAAATTTGGCAATAGAGGTCGGTTTAGCAGCGGTAGTAATATCGCCCTGTCCAATCAGAATTTCCGACAG
+GCCATTAACGTTATTAGTGCCCAACAGCTCGTGGGTGTAGCCTTTGCGCATATCGCAGTCGATCAACAAC
+ACCCGTTTATTGGTCTGGCTAATCACCGCCGCCAGGTTGGCGCAGACAAAGGTTTTACCGATTGACGGGC
+TAACCCCGGTCATCATCAACACATTGTTCTGTGCCTGCATCATCGCGAAGTGCAGACTGGTACGCAGACT
+GCGGATGGCTTCAATCGCCAGATCGGTTGGATTCCCCACCGCCAGTAGCTGGCTCTGTTTATAGCGTTTA
+ATCCCTTTGATGGTTTTGACGCTATCGCGCGCTTTCTGCCACTCCGACAGCGGGATGCTGGCATAGACGC
+TGATACCGTGTTCTTCCAGCACCTGTGGGCTTTCGATACCGCGATTAAACAACGAGCGCAGCAGCACACC
+CACGATAGAGAGCATCAGGCCAAGGATAATCGCCCCGAGGATAATCAGCCCCTTCTTCGGTTTCAGTACA
+CCTGGCTGGGTGATTGCCGGGTCAACAATGCGCACATCGCCGACGGTGCTGGCTTCGGTGATTTTCAGCT
+CCTGCTCTTTATTCAGCAGCTGCATATAGACCTGCTGACCAGACTCGACATCGCGGGTCAGACGCACAAT
+TTCCTGCTGGGTTTTCGGCATCGCCGTTACGCGACCATTAAGTTTGGCTTTTTCGTCTTCCAGCGCCTGC
+CGTTTCTCCAGCAGCGTGCGGTACGCCGGGTGAACTTTGGTGTACAGCTTGGAGATTTCCGCTTCTTTAA
+AGGTAAGTTCGTTCAATTGTGCGTCGATGTTCACCATCGAATCGAGCACCGCTTTCGCTTCCAGCGGCAG
+ATCAACTGAATCTTTATCCTGACGGAAGGCATTCAGTTTGTTTTCGGCAACATCAAGGCGGCTACGTACT
+TCAGGTAACTGTTGCGCGAGGAAAGCGAGGCTTTTCGACGCTTCCGCCGATTTGCGCTCAATATTTTGTT
+CCTGATAGTTACGGGCGATGCTGTTAAGAATGTCGCGGATCTGTTCGCGATCTTCACCGGTATAAGTCAG
+GCTCAAAACGCCTGCGTCTTTGCCGTTCTCCGTTACCGTCAGGCTGTTTTGCAGTTGGTTGATCATCCCC
+AGCGTGGAGTATTTGGTGACGGTAAACTCACTGCCCGGGCTGGCGTGAATGGCTTCAACCATCAGCGTGA
+CGCCTTCTTTTTTCAGCATCTGGCCCGCTTGCCCACGGGCGCTAAAGCCGCCATCGCTGCTCAGGGTGTA
+GTTTTTGTTGTCCAGCACATTAAGCGTAAACACCTGATCCGCCATCTCCTTCGGTCGGTTAAAGGTGGTC
+ACTTTCACCGTCTCGTTCTGACGTCCCATCAGGCGCTCCCAGCCCGCACCGAAAATCGGGAACGTGTTTT
+TGCTCACCGCAATATCGAGGTCGAGATCGTCCACCGTTTTACCAAGCACCAGGCGCGAACGAATCAACTG
+GATCTCGGCGTCCGATGCAGGCGGTTTGTTGGCTAATGCCGAACCAATGTCCTGCACTAACGAATTGCCG
+CTGCTTTGCTCGATTTGTACCAGTGCGTCGGCGCTATAAATCGGCGTGGCAAAGAAGGTGTAAACCACAG
+CACAGAGGGCAAATACGGCGGTGATGCCAATCACCCACCAGCGCGCTTCAATGACGGTGCCGACCAGGCG
+ACCAATATCGATTTCATCACTGCCCGTTACCGGAGCGGCATGTTGTTTTACTTTTTCTGTCATTCTTATA
+CCTGCTCTGCGTTCAATGCCTGCGCCCACTGGCGGGCAGACCGTTCAAGTAATGTGTACACCGCTGCAAA
+CGTTTCCCGGCTTTTGCGATATGGATCGGGGATTTCACATTCGTTATCCCAGTGACCAAACAGCATCACT
+TTGCCGCGCATCTCGGGTGCCATCTCGCATAAGCGTTCGATATGGCGCTTTTCCATGGTCAGAATCAGGT
+CGTAGTTGCGACACAGACGGCGGCTGATTTGCCGTGCGCAATGACCTTCCAGAGACAGTTGATGTTCTGC
+GGCGACGCTGATAGCGGTAGGATCAGCGCCCTTTCCGACCAGCGCGCCGAGTCCAGCGGACTCCACTTTT
+AGCTCCGGGTGATAACGTTGCAGTAAGCGTTCCGCCGTCGGGGAACGGCAAATATTGCCGACACAGACAA
+CTAAGATGTTGTTAAACATGACGATTACCAGTTATGAATGTCGCTGGCTGTATCCGTCATGTAACGGACA
+CCGCTAATAGTTGGCAGCAACTGATTGATCAGACGGTTCCAGCGGGATACCGGGGCGGTGGTGACATACA
+CCACGTCATAAGGTTGCAGGCGGAATTCTGTCGCCATTACCAGCGACGTCGCATCGGACATATCCAGCTG
+GTAGATATTGGCAATCTTGCCGTTACGCCCGCTCTCGCCTTTCAGCGGACGAATGACAAAGATGCCGCTG
+GCGTTGGAGGTGGTCATGTCGATGCCTTCAGCATTGCCCAGGGCTTCAGTCAGGGTCATGCCGCTAAAGT
+CCATTTTCAGGGTGCTCTGTTTCTTCACTTCACCCATCACAAACACTTTCAGATCATCATTACGTGGCAC
+GTAAAGAATATCGCCGGGGTAAAGCAGTCGGTTCTGATTGAGGTCGCCGTTTTGCATCAGCGCCTGCAAA
+GAAATGCGCTCTTCACGACCATTGTGTGTTAGCACCACGTTGCGCCAGTCAGCGGTGTCGGTCAGGCCAC
+CTGCGGCGTTGATAGCGTCGAGAATGGTCAGAGGCACGTTGGTAATGGCCTGTTGACCGGATTTATTCAC
+CTGACCTGAGATATACGCTTTTTGCGAGCGGAAGGCGGCGATATTAACGTCCACCTGCGGGTCAGCGATG
+TACGTCGCTAAGCGCCCGGTAATATCACTGCGGATTTCAGCGAGCGTTTTCCCCACGACGTGAACCTTGC
+CGATATACGGGTAGAACATGGTGCCGTCAGGCTGTACCCAGTTGCCGGTGTCGCTGGAGCTGCGGTACTG
+ACCGGCTGGCGTGGTGAGTTCCGGGTGATCCCAGACGGTGACATTAAGAACGTCCCCCGGCCCGACGCGA
+TACTGGTAATTCGCGATCTCACTTTCCAGCGTCATATTGGGGCGCGCTACGTTGGGTCGTGGGCGTAATT
+GATCAATCAGGCGCGGGGTTAACGGATAAACATTCACCATTTTGTCGAGGTCGAAATCAGCGTCCTGCTG
+TTTGATGACGTCTTTCCCCATCGTCGACATATTGCTGCCCGGAAGTACTGTGCAACCGCTTATCAAGGTT
+ACTGACACCAATAATGGCATCAATTTCATTTTGGATTTCATCATTGTTTATTTATCACTTTGGCAGAGTA
+ATTATCCTGTGCACTATTAATAGCAATGTCGCCATGCACATTTACCTTGCAGTTAATTGAATAAAAATTT
+AACTGGCATCAGTCCTAAAAAAATTGATTTCATCCGCAGGCTATTGACAGAATAATTCAGACTGGTCTCT
+CAGGCATCCAGACACGCTACCGCCCCTGGCTTTTTAGCTACCAATACACTGATTTGGTTTAATTTTTCAA
+ACCCTCTCTGCATACAGTCGTTGATGAGAAAGGGTTATTGCGGAAATTAATTTCCGAATATAAGGTGACA
+TTATGGTAATTGAATATTGGCTCTCCAATAATGCAGGAGGAAGTGTTACAGCTAACGGAATAGCAGGCAA
+GGTAACAATTCGGCAATTGGCTATTTTTAAGAATTATATTAAGTGTCATTCAATATGAATTTTAGGAGTT
+TCTTTAGGTTGACAATATTTAATATGGCGTCTCCACATGCGATATTTCTTAAATAACGCTTTATTATTAC
+CACTTATAATTCGGGGATAATGTGAGGTTATAACCCTCAAATAATATGAGATAAATAGTGCTGCAACATT
+GCATTTTTGCCCCGATTTATCCATGATCGAATTGTGACATTTGTCATACAACGAATAGGTTTTGTACTTA
+CTATGGAATGGATTGCCGATCCGTCTATCTGGGCTGGGTTAATCACGCTGATTGTGATCGAACTGGTCCT
+CGGCATTGATAACCTGGTCTTTATTGCCATCCTCGCCGAAAAACTACCGCCTAAGCAGCGCGACCGCGCA
+CGGGTTACCGGGCTCCTGCTGGCGATGTTAATGCGCCTGTTACTGCTGGCGTCAATCTCCTGGCTGGTCA
+CCCTGACTCAACCGCTGTTCAGCTTCCGCTCGTTTACCTTTAGCGCCCGCGATTTAATCATGCTGTTTGG
+TGGTTTCTTCCTGCTGTTCAAAGCCACGATGGAGCTGAACGAACGGCTGGAAGGGAAAGACAGCAATAAC
+CCCACGCAACGCAAAGGTGCGAAGTTCTGGGGGGTGGTGACACAAATTGTGGTACTGGACGCCATCTTCT
+CACTCGACTCGGTGATTACCGCCGTCGGGATGGTCGACCATTTACTGGTCATGATGGCCGCCGTGGTTAT
+CGCTATCAGCCTGATGTTGATGGCCAGCAAGCCGTTAACGCAATTTGTTAACAGTCACCCGACCATCGTT
+ATTCTCTGCCTAAGCTTCCTGTTGATGATTGGCTTTAGCCTGGTGGCAGAAGGTTTCGGCTTCGTCATTC
+CGAAAGGCTACCTGTACGCTGCTATTGGTTTCTCGGTGATGATCGAGGCGCTCAATCAGTTGGCTATCTT
+TAACCGGCGACGTTTTCTTTCCGCTAATCAGACGCTGCGCCAGCGGACTACCGAAGCGGTAATGCGCCTG
+CTTAGTGGGCAAAAAGAAGATGCGGAACTGGACGCCGAAACCGCGTCTATGCTGGTGGATCATGGTAACC
+AGCAAATCTTTAATCCGCAGGAACGGCGGATGATTGAGCGGGTACTTAATCTTAACCAGCGTACCGTCAG
+CAGCATTATGACGTCGCGCCACGATATTGAGCATATCGATCTCAACGCGCCGGAAGACGAGATCCGCCAG
+TTACTGGAGCGAAATCAGCATACGCGGCTTGTCGTTACTGATGGCGATGACGCAGAAGATTTGCTTGGTG
+TTGTTCACGTTATCGACCTGTTACAACAGTCACTGCGCGGCGAACCGCTCAACCTGCGGGTGTTGATTCG
+CCAGCCGCTGGTGTTCCCGGAAACCTTGCCGTTGTTACCTGCCCTGGAGCAGTTCCGTAATGCCCGCACA
+CACTTTGCTTTTGTGGTGGATGAGTTTGGCTCGGTGGAAGGGATTGTGACATTAAGTGACGTCACTGAAA
+CCATTGCCGGTAACTTACCGAACGAAGTGGAAGAGATCGACGCCCGCCATGATATTCAGAAGAATGCGGA
+CGGTTCCTGGACGGCGAATGGTCATATGCCGCTGGAAGATCTGGTGCAATATGTGCCGTTGCCGCTGGAT
+GAAAAACGTGAATATCACACCATTGCCGGGCTATTGATGGAATATTTGCAGCGTATTCCAAAACCTGGCG
+AAGAAGTTCAGGTGGGGGATTATTTGCTTAAAACGTTGCAGGTGGAAAGCCATCGCGTGCAGAAGGTGCA
+GATTGTTCCGCTGCATAAGGATGGCGAGTTGGAGTACGAGGTGTGATGGTATCGGTCATTTTACCCGATG
+CTGCGTAACGCCTTATAACTTCAGCAATGAAGCGTTGTCTGTGGTAAACGGACATCACAGCGGGGGTGTG
+GGCCCGGGTTGCCAGGGTGGTGGCGATTGAGCCACCCTGGCACGTTCACCGGCTTGAGCGTTCCATAGTA
+GCGAGGAACATCAAGTGAACGGAACAGCCTTCGATCTTACATATTCAGAATATAATGGTGCCGCCACGAA
+CGCCTGATGCGACGCTTTACGCGTCTTATCAGGCCTACAGGACAGCTCACCAGGTAACCTACATCTTCTC
+CAGCAACTTCTTCACATCTTTGCCATTGCGGGAATCTTTATTCCGCTCGGCCCAGTCGTTAAGACGGCGT
+TTTGCTTCATCCTGTAGATGTTTACGCAGTAACTGATCCACTTGCAGACTGTAATTGAGTTGCTGCCAGT
+TGCCATAAACCCGCAGCGGTACTGGCGTTTCTTTAAGGAAATCAATCAGTTTGCTTTCCCCGTTCCAGCC
+ACCCACGACCCGAATATCAAACTGGGTGTCGCAGGTTTGCTCCGCCAGATTCAACGTACCAGCCCCGGAA
+AGCGCCAGCACTGGCGATTGACCTTGCATGTCGTTTAACGTCACGACGCCATCCTTCAACGTCAAATCGG
+TGGTAAAGCGGTCAAGACGCGTCACGTTATCGAAGTTTTCAGCGGCCTTCACATCACCACCATTACGTTC
+TACCGCTTGCTGAATCATCTGCTGGAAGTTCATCCCTTCCATGCGTGTGTCGGTCATTTCGACATGTGCC
+TGTCCTTGCCAGTTGTGGCGGAATGCGTCGGCATCTATGTCAGCACCGGAGAAATCACCAGCCAGTGACA
+TCTCTCCGGTCAACGAAATCGGATAGTTAAACGCCTTCAGAATGGTGCCAATCTCAACGTTTTCCAGCCG
+TGGCTGGAAGTTTATCCGCGGATTTATTGATGTCGCGTCCAGCGTGCCCGGCAGTGAAACCTGTCCACCG
+TTAAGTTTGCCCTGCAGTTGAGTAATTTCCAGCAAACCCGACTTGTTGGTCATTTGCGTGGCAACATCTG
+TAAAATTCATTCCGCGCCAGCGCACGTTACTGGCCTGCAACAAAATATCAGCCGTAAAGCCTTGCAGTCC
+CTGATAGGCCGGTTCATCAATACGCGAAGAAATGACCGGGCGCGGCAACGTTGATTGGCTCTGCCCTTGC
+TGCGCGGCACCGTTCTCATCATTCGCTGTTTCATTAAGGGGGATGAGGTTGTCAAGATTCAGTTGCGGGA
+ATTGCAGTCTCAGCTGCCATTCCGGTTTCTCTGTCAACGTGACCTGTGCTTGCCCGCTCAGCGTACTGTC
+ATTGGCGGTCAAACTAATTTGGTTAAATGAAAGGCGTTTATGTGACTCCTGCCACTGGACCTGGAAACTC
+CCCTGCCCCTGAATACCTTGTTTTGGTAAATCGGCACCCTGCAACTGCCAGTTAATTTGTTCAATAGCCG
+CCGTTAAATCATGCGGATAATCAGAAGCATCCACCGTACCGTTAAGGGATAATGTGAGATCGCGCTGATC
+GCGATTAACCCGCCCGGAAAACTCAAATGAGCCACGATGTTGGGGATCTTGTTCCATTTGCAGGCGGATA
+TTGCGGATGGTCACCTGCTCGTCATCTTCATGCTGGAACACCAGAACGCTGTCCGCCACCTTAAGACTGG
+ATATATCAAACGACCATCCGCGATCGTCTGACAGATCCGGCAAGGTATTGTCGCGCGGTGCAACCGGAGC
+GTCTTCACTGCGCACTGCTTCCGTCTGCGGCGTCAGTTGGATCACTGCCCCTTTTAGCATCACCTGCTTA
+ACGCTCAGTTGATGACTCAGTAGTGGTAAAAGCGCCACGTCCAGACGCATGTTGTCGGCGCGAACCAGTG
+GCTGGCTTGCGCCCTGGGCGGTGAGAGACATTCGCCCGGAGAGGATACTAAGCTGCGGCCAGACATGCCA
+ACGCAGTGGCCCGTCGAGCTGCAATTGATAACCGCTACGTGCAGCAACTTGCTTGACCATATAGTCGCGG
+AAATCATTCGGATTCACCAGCAACACTAACGCAGATAACCCGGCCACCAGCACGACCAGGAGTATCATCA
+GCGTCGTCAGAAATCGTCTCATGGTATCCTCAATGGGCCTGAATTAGTCTTTATCGATTCGGCTGGCTAC
+CGCGCCCTGCTGGTTGCGATATTTCGCATCTTCACGGCGGTTGTAAGGTCGCGCCGCCGGGCCGGAGAGC
+GGCTCAAAGCTCAGCGCACCAATTAACATGCCCGGACGCAGCGCCAGCGGCAGCTTACCGGAGTTGTAAA
+ACTCCAGCACAATGCAGCCAGACCAGCCCGGATCGATACGGTGCGCGGTGACGTGCACCATCAGCCCCAG
+ACGCGCCAGTGAAGAACGCCCGTCCAGCCAGCCCACCAGATCGGCTGGCAGCGTCACCGACTCCAGCGTC
+ACCGCCAGCGCCAGCTCTCCTGGGTGAAGATAAAACGCCTCGCCCTCGTCGAGCACGATTTCATCGCTCA
+TCACGCGGTCAAGCGCGGCGCTCACTTCATCTTTAGGACCGCTCAGATCGATAAACGCTGCCGTGTGACC
+ACGGAAGGTACGAAATTTATTGCCCAGGCGCACATCCACCGTCGCGCCGTTAATACGCTCCACTGGCGGA
+CGTGGGTTGATCGACAAACGGCCTTCATCAAGCCAGGCTTCAATATCTCGGTCACACAGACGCATGGCAT
+TTTCTCCTTTCGAGCATCACTCCCTTAACGCCAATTACGTCAAGGGCATACCAGGTTATCACTGAACGGT
+ACACAATTTATCAAGCTTATTCAAAGAACTGACTTATTTTCGCTTTCAATATATCGATCGCGATGCGGTT
+TTTCCCGCCGCGCGGCACGATAATGTCCGCATATTGTTTAGAAGGCTCAATGAATTGCAGAAACATCGGG
+CGCACGGTTTTTTGATATTGCGCCATCACTGAATCCATTGAACGCCCACGCTCGTTAACGTCACGCTTGA
+TGCGGCGCATCAGGCAGATATCCAGCGGGGTATCAACGAAAATGGAGAAGTTAAGTTCGTCACGTAAACG
+CGCATCCGTCAGCAACAAAATGCCTTCGAGAATGATGACCTTCTTCGGCTCAACCGTCACCGTTTCTTTC
+ATACGCGTATGTTCAACATAGCTGTAAACCGGCAGGTCAATTGCCGAGCCGCGTTTCAACGCTTGTAAAT
+GCTCAAGCAGCAGGCTGTGATCCATCGCGCTGGGATGGTCGTAGTTGGTCTTAACGCGTTCTTCCATCGA
+CAGATGGCTTTGATCTTTGTAATAGCAGTCTTCGGGAATTACGCCGATGTGTTCATCACCGACTTGCTCA
+CGTAATTCACGATAAAGGGTACTGGCAATAAGACTCTTGCCGGAAGCCGATGCGCCAGCGATACCGATAA
+TGACGCACTGATGAGACTGATCAGTCATATATTTAGCGACCTGATTAACCTGGATGTTAGGAAGGGGGCG
+ACGAAGCGCCAAACGCGGCAATTATAGGGATTTCATCCGCCTGATACCAGTCGAATAGCGTTGCCGCGCG
+CTCAGAGTTAATTGTTGACGAAGAATTCCCGGTGGCAAATTACGTTGATCAGTTTTATACAAGGTAAAAA
+TTGTTATACGCAGTTGCGCAAATTATCCGCCTTTACGTCACTTTATGAGCAATTCGCATATAAAATGTAA
+AACTTTTGTACTAGCATAAACACAGAAACGAATATTGGCGACCTGGTCTTGCGGATAAAGCGGTAATGAG
+CAAACAATCACAGCATGTATTAATTGCCCTGCCCCACCCGCTGCTTCACCTGGTCAGTTTAGGTTTAGTC
+TCGTTTATCTTTACCCTTTTCTCGCTTGAGCTTTCGCAGTTTGGCACCCAACTCGCCCCACTGTGGTTCC
+CGACGTCCATCATGATGGTGGCGTTTTATCGCCATGCCGGGCGCATGTGGCCGGGGATTGCGCTGAGCTG
+CTCGCTGGGAAATATCGCCGCATCCATCCTGCTTTTTTCCACCAGCTCGCTGAACATGACCTGGACGACC
+ATCAATATTGTTGAAGCCGTGGTCGGGGCAGTGCTACTGCGTAAATTACTGCCGTGGTATAACCCCTTGC
+AAAATCTGGCTGACTGGCTGCGTCTGGCACTCGGCAGCGCCATTGTTCCACCTCTGTTAGGGGGTGTTCT
+GGTTATCCTGCTGACGCCCGGAGACGATCCTCTCAGGGCATTTTTGATATGGGTACTGTCAGAATCCATC
+GGCGCACTGGCACTGGTGCCGCTGGGATTGTTATTTAAACCACACTATCTGCTGCGCCATCGCAACCCAC
+GGTTGCTTTTTGAGTCGCTGCTCACGTTAGCCATCACACTGACGTTAAGCTGGCTTTCGATGCTGTATCT
+GCCGTGGCCTTTTACTTTCATTATTGTGCTGTTGATGTGGAGCGCCGTGCGCCTGCCACGAATGGAAGCC
+TTTTTGATCTTCCTTACCACGGTGATGATGGTGTCACTGATGATGGCCGCGGATCCCTCCCTGCTTGCTA
+CGCCGCGTACGTACCTGATGAGCCATATGCCGTGGCTACCGTTTTTGCTGATCCTGCTGCCCGCCAACAT
+CATGACGATGGTGATGTATGCCTTTCGTGCGGAACGCAAACACATTTCCGAAAGCGAAACCCGCTTTCGG
+AACGCGATGGAATATTCCGCTATCGGCATGGCGTTAGTGGGCACCGAGGGACAATGGCTGCAATCCAACA
+AAGCGCTCTGCCAGTTTCTCGGTTACAGTCAGGAAGAGCTGCGCGGACTCACCTTTCAGCAACTGACCTG
+GCCGGAGGATCTCAATAAAGATCTCCAACAGGTTGAAAAGCTGATAAGCGGTGAAATAAACACCTATTCA
+ATGGAAAAACGTTACTACAACCGCAATGGCGATGTTGTCTGGGCGTTGCTTGCCGTCTCACTGGTGCGCC
+ACACGGATGGCACGCCGCTCTATTTTATCGCTCAGATTGAAGACATTAACGAGCTAAAACGCACCGAACA
+GGTCAATCAGCAACTGATGGAGCGCATCACGCTGGCCAACGAAGCGGGCGGGATTGGCATCTGGGAGTGG
+GAGCTGAAGCCGAATATTTTTAGTTGGGATAAGCGGATGTTCGAGCTGTATGAAATTCCTCCGCATATCA
+AACCGAACTGGCAGGTGTGGTACGAGTGCGTGCTGCCGGAAGATCGCCAGCACGCCGAAAAAGTGATTCG
+TGATTCGTTGCAATCACGCTCGCCCTTTAAACTGGAATTTCGCATTGCCGTGAAAGATGGCATCCGCCAT
+ATCCGCGCCCTCGCCAACCGGGTACTGAATAAAGAAGGCGAGGTCGAACGCCTGCTCGGCATTAATATGG
+ATATGACGGAGGTTAAACAGCTTAACGAGGCATTGTTTCAGGAAAAAGAGCGCCTGCACATTACGCTGGA
+CTCCATCGGCGAAGCCGTGGTCTGTATTGATATGGCAATGAAAATTACCTTTATGAATCCAGTGGCGGAG
+AAAATGAGCGGCTGGACGCAGGAAGAAGCGTTAGGTGTTCCGCTCCTGACGGTGTTGCATATTACTTTTG
+GCGACAACGGACCATTAATGGAGAACATTTACAGTGCTGACACCTCACGTTCCGCGATCGAACAAGATGT
+GGTATTGCACTGCCGGAGCGGCGGCAGCTACGACGTGCATTACAGTATTACGCCGTTAAGTACTCTGGAC
+GGCAGCAATATAGGCTCGGTACTGGTGATTCAGGACGTTACCGAATCACGCAAAATGCTGCGCCAGCTGA
+GCTACAGCGCCTCCCATGATGCACTGACGCATCTCGCCAATCGCGCCAGTTTTGAGAAGCAACTGCGTAT
+CCTGCTGCAAACGGTAAACAGTACGCATCAGCGACATGCCCTGGTGTTTATCGATCTTGATCGCTTTAAA
+GCGGTGAATGACAGCGCCGGGCATGCGGCGGGCGACGCTTTACTGCGCGAACTGGCGTCGTTGATGCTGA
+GTATGCTGCGCTCCAGCGACGTGCTGGCGCGGCTCGGTGGTGATGAATTTGGTCTGCTACTGCCAGACTG
+CAATGTTGAAAGCGCTCGTTTTATCGCTACACGCATTATCAGTGCCGTGAATGACTATCACTTTATATGG
+GAAGGACGTGTGCATCGGGTAGGTGCCAGTGCCGGGATTACCTTGATTGATGACAACAATCATCAGGCAG
+CTGAAGTGATGTCGCAGGCTGATATCGCCTGTTATGCCTCCAAAAATGGTGGCCGGGGCCGGGTGACGAT
+TTACGAACCGCAGCAAGCTGCCGCACATAGCGAACGGGCAGCGATATCGCTTGATGAACAGTGGCGGATG
+ATTAAAGAGAATCAGTTGATGATGATCGCCCACGGCATCGCTTCGCCACGGCTCCTGGAAGCAAGTAATT
+TGTGGCTGATTTCACTTAAGCTCTGGAGTTGCGAAAGCGAGATTATTGATGAACAAACATTTCGTCGTAG
+TTTCAGCGATCCGGCACTTAGCCATGCTCTTGACCAACGGGTATGCCACGATTTTTTCCAGCAGGCCGCA
+AAAGCGGTTGCCAGTAAAGGCTTAAGCATCGCCCTTCCCCTTTCCGTTGCTGGTTTGAGTAGCGCCACGC
+TGGTGAATGAACTGCTTGAGCAGCTGGAAAATAGCCCTCTACCAGCACGGTTATTACATCTGATTATTCC
+GGCAGAAGCGATTTTCGATCACGCAGAAAGCGTGCAAAAACTGCGGCTGGCGGGATGTCGGATCGTATTC
+AGTCAGGTGGGCCGAGATCTGCAAATCTTCAACTCGCTGAAAGCAAATATGGCAGATTACCTGCTACTTG
+ATGGTGAGTTATGCGCCAACGTGCAGGGTAATTTGATGGATGAGATGCTGATTACGATCATTCAGGGGCA
+CGCTCAGCGGCTCGGGATGAAGACTATCGCCGGGCCAGTCGTTTTACCCTTAGTGATGGATACGCTTTCG
+GGCATCGGCGTCGATCTGATTTATGGTGATGTGATTGCCAATGCCCAACCGCTGGATTTGCTGGTGAATA
+GAAGTTATTTCGCGATTAACTAAGGGAGCGTTTGCCCATTGCCTGATGCGACGCTAACGCGTCTTATCAG
+GCCTACAAATCGCTCATTCCCCAGGCCGGATAAGGCGCTCGCACCGCATCCGGCGACCAACGTCATGCTT
+CGTCTGGTTGCCAGCCTTCCGTATACCAGATATGCAACAGCGCATAAGAACGCCAGGGTTTCCAGCGCTC
+GGCATAACGGCGGATTTGTGCCGGTGTCATTCCCGGAAATCGCTGTTTAATCAGATAATCATCCGGCAGA
+AAAACATCTTTCGCCTGCCAGCCACGCAAAGCAAAATAATTTGCCGTCCAGCGCCCGATACCCGGAAAGG
+TTTGCAGCGTTTTCATCGCTTGTTCTACGTCGCCCGGTATTGTCATTGGTAAGGTGCCCTCCAGCGCCGC
+ATTTGCCAGATGAATCAGCGCCTCTGCCCGTTTCAACGGCATACCTAACGCTTTTAATGCCTGCGGGTCG
+GCTACTGCCAGCCGCTGAGGCGTGGGGAAGCAGACATAATCCGGAAAATCATCCAGCCGTTCGCCATAAA
+GCTGTGCCACTCTGGAGGTCAATTTTGCCGCCATCGCCACGCTCACCAGTTGGCCTAAAATCGCCCGCAC
+GCCCTGCTCAACAGCGTCAACACAACCAGGTAAACGCAATCCTGGCCGCGCCGCGCCTAACTTGCCCAAC
+GCACCGTTAACAATCTGCGGGTTACATTGCAGATCAAACAGGCGGCTCATTTTCGCCAGACACTCAGCGG
+CAACAGGTTCTAAACCTGCACTTAAATTTATGTGCAGAGTATGGCGGGCTATATCCGGAATAGCAGTCAC
+CACGCCGCGATATTCGCCTACCGCCAGACTACGGGCATAATAACTGTCCGCGACCGTTTCCACGCCGCTC
+ACCGCACGGGCGGCGAGAAATCCCAACATCCACGACCAGTCATACGGCGGCTGCCAGTTCAGGGTATACA
+TCGCATCTCCTTGTTAATCCGCTTTCAGCATAAACGTTATTCAGACGTTACGCTTTGCTTTCATATTCCG
+GTTGTCGCGACGGCAACATTTCGCTAAAGTCACGCCCCTTCTTCACCGGCATGGGGATTATTTCGTGTTT
+ATTGGTTTTGATTACGGTACAGCAAACTGTTCAGTGGCGGTCATGCGCGACGGTAAACCGCATTTGCTAA
+AAATGGAAAACGACAGCACGCTGCTGCCTTCAATGCTTTGCGCGCCAACGCGTGAAGCGGTAAGCGAATG
+GCTGTACCGCCATCATGATGTTCCGGCAGACGACGATGAAACGCAGGCGCTGTTGCGTCGGGCGATTCGT
+TATAACCGCGAAGAAGATATCGATGTTACGGCGAAAAGCGTGCAGTTCGGTCTTTCCTCACTGGCACAGT
+ACATTGATGATCCAGAAGAAGTGTGGTTTGTGAAATCACCAAAATCGTTCCTCGGTGCCAGCGGCTTAAA
+ACCGCAGCAGGTAGCGCTGTTTGAGGATCTGGTCTGCGCAATGATGTTGCACATTCGCCAACAGGCGCAG
+GCGCAGCTGCCGGAGGCAATTACTCAGGCGGTGATTGGTCGCCCGATCAACTTCCAGGGGCTGGGCGGTG
+ATGAAGCAAACACCCAGGCGCAAGGGATTCTGGAACGCGCGGCGAAACGTGCCGGGTTTAAGGATGTGGT
+ATTCCAGTACGAGCCGGTCGCGGCTGGGCTGGATTACGAAGCCACCTTGCAGGAAGAAAAACGAGTGCTG
+GTAGTGGATATCGGCGGTGGTACGACTGACTGTTCATTGCTGCTGATGGGGCCGCAATGGCGTGCGCGCC
+TCGATCGTGAAGCCAGCCTGCTGGGTCATAGTGGTTGCCGTATTGGTGGTAACGATCTGGATATCGCACT
+GGCGTTTAAGAACCTGATGCCGTTGCTGGGCATGGGTGGCGAAACCGAAAAAGGCATCGCCCTGCCGATT
+CTGCCGTGGTGGAATGCGGTTGCGATCAACGACGTTCCTGCGCAGAGTGATTTCTACAGTAGTGCTAACG
+GTCGTCTGCTTAACGATCTGGTACGCGATGCCCGTGAACCGGAAAAAGTGGCCCTGTTACAGAAAGTCTG
+GCGTCAGCGTTTAAGCTATCGCCTGGTGCGTAGCGCAGAAGAGAGCAAAATCGCCCTTTCAAGTGTAGCG
+GAAACCCGCGCCTCACTGCCGTTTATCAGCGATGAACTGGCTACGCTGATTAGCCAGCAAGGGCTGGAAA
+GCGCCCTCAGCCAGCCACTGGCGCGGATTCTGGAACAGGTGCAACTGGCGCTGGATAACGCCCAGGAAAA
+ACCGGACGTTATCTACCTGACCGGCGGTAGCGCCCGTTCGCCGCTGATTAAAAAAGCGCTGGCAGAACAG
+TTGCCGGGCATTCCGATTGCAGGCGGCGATGACTTTGGCTCCGTCACCGCCGGGCTGGCACGCTGGGCGG
+AAGTGGTGTTTCGTTAATTGAAAAATGGCTCAGCAACGGCTTAAATCTGCCTGCGCCTGAGCCAGTTTTT
+CTGCCGCCTGACGTAGCGGTTCCATCAACGGCATGGTCCGTGCTGGCGCATGAAGGCGGAATCGCTGCAA
+CTCTGTCGCACCGACAGTCAGCGCCGATTCCAGCCGATGTCGTTTGGCGGCTATTTTTGCCATTACCGCT
+TGTCTGTCTGCAGGCGTTACCGCTTCGTTCGGCCTGAACACAAAACGGCGTTCACAGCTCGCTTTCCAGT
+CGATAACCGCCTGGGTCAGATGATCACCAAAACCTTTTACTTGCTTAACGCTCCGTCGGGTAACATCCGC
+TGCTGTTTCAATACCAAAGGACCGTAACGCCGCTTTACGCGCAGGGCCAACGCCGGGAATAGAGGCAACA
+TCAATAAAAAATCCCTCCAGAAACTTCTGCTTCTGCCGTTCCCTTGCGGTGTCGTGAAGTGCTACCAGAG
+CGCGTTTCTCTTCTTCCGGTAACCCGAGAATTTCGTCCTTCATTTTTTCGAGCATCGCCCGTTTGGCGAT
+AAAACCTTCCAGCCCGCCCAACTGCTGGATCTGGCTGACTAAATGGTCATAGTCCATTTTCGCGCGATTA
+AACGCCTCACGGCGTTGCTGGATTTCTGCTTTGTACGCTTTGCTTGTCAGGCTGCCAATAATCCAGATAG
+CCGCCAGCACAGGAATCAAAATAATATAACGCGGTTCTGCCTGAAGGCCGCAAAGCAACAGCGATAACGC
+TGACAGTGCGATCTCAATCAGAATGATGTATTCGCGCCGTAACAGGCCTGAAGGAAGCGGCCTGCCAGTC
+GGTTGGAAATGATCGGGTAATGGCAGTTGCAATGCTGGCGGTGCTACTGATGCCATCACCATCGCCCAGA
+CTCTCGCCAGCACAAAATCACCGCCGGTGGTAATGACCTCTTCACCGAGATCAATAAAATAGATAACGCC
+TTGATTATCCAGCGCACACCACGGGCAGTCAGTCAAATGAGCGGGGTAAACATGCATTGCCGAAACGGTA
+CATTTCTTTAACTGTTGGCGTAGTAAATCAAGTGCCGCTACCCACGCTTTTGCCGTCGGACGCCCGGTTG
+CCACGCCACTTTCCGTGAATGCCTGCTGAAACATGGCTTCAACATCGCCCGGTAACATCGACAGCGGAAT
+CGATCGTGGCGGCGGTTTTAAACCACGTCGCTGATTATCTGACGCGTAGGCATAACGGAAATGGGCAATA
+TCCATCTCCAGCGCATTACCCGCATCAGAGATAAGCGGTACACCGGAATAAGGATGCCGCCCACCAAACA
+AGACGTGAAATATCAGCAACGCAAGGCCAAAATTATCGTGATTTTCTGTGCGTTCAAAGCCGACAAATGA
+TGGCATGGTTTGCAGCTCTGGCGGCGTAAAATGCGACACGCCGACTTCGCATAAATGCAGTGTACCATTG
+GCATTAATCTGAAAGGAGTCGCTATCAATCAACACCACTTTGCTGTCGCGACCTACCATAAAGCTGTTCT
+GGTTTACGTCACCCACGACGTGCCCGTGCTCATGAACAGTAGCAAAAGATGAAGCAATATTGCGCGCAAC
+ATAGAGTAGAAAATCCCACGCACAATGAGGGTAACTCTGGCGACGATGTGCCGGGCTATAGATCATATGA
+ATCGGTTCTTTACCAGAAACTTTTGGCATCATAAAACCGATAACTTTTCCGCCTCGTCCACCGTGAAGCG
+TTGCCTGCGGCCAGGCGACATAATTCAACAACTGCGCGTCAGCTGTCGCAGCCATAAAGGCAAGTTTGTC
+CTGTTTTAAGGCGGGTGGCGGCGTGTGATAAATCTTGGCGACGCTATCGACAAACTCCTCGATATCATAA
+ACCGCACCTTCGCCGCCTTTGCCCAGTTCACGGCCTGGCGTAACGCACTCACCAGTAGCAGTATATAAAG
+TGGGTTTCATGGTAACCACAGCGCCAGTGCCAACGTTTTATCATCATCCGTACGCTCGTTTACCGCCGGG
+CTGGACAAAAACTGCTTTAACAATTCAGGTAATAAATCGAGTTGTTCCTGCGTTGCTGACGCCAGCCCAT
+TGAAAAACGGGGTAAAGAAAGGCACATGCGGAGAATTATCCAGCATATTTAACGCCAGCCGCTGGATACC
+ATCCGTAAATGCTGCAACTTTGTGCGCACGCTCAGTGCTGGTGAAAGTTTCCAGTCTGGAAACGGCATCT
+TCATCGGTAATGAAGTGCGTCATATTGGCATATTCACCCACCATCGGCGTGAGCGGCAGTTGCAAACCGT
+GACCCAAATCTACCACCACGCCGCCATCGCCAATCTGCATAATCAAGGTGCCATTAGCTGATGAAATCAA
+TCCCAAAAACGTGCAGGCAAAATCGCGAACCGCTAATTCTTTGGCTTCCGCCTCGGCAAAAAGTCGCTGA
+CGAATGGTCAGCACAATGTCCGTTGCGAGGACATCATTAAGCCCCAATTCCCCGCCCTGCACTTTTTGCG
+ACATATAAGCCATCGCTTCATTGACGGCGAGCATCGCACCTTCGCCCCCCTGCGAGACGCTGCCTGCGCC
+ATCAGCGACGAATACCGACAATAATGGCTGCTGGTCATTTAGCCAGGCAACCTGCATCTGGCAGGCATCC
+TGGCAAGGCAAATCAGCGCTAATATGCGACGTTCCAACGGCTGATGCATAGACCAGTCGCCAGCTCACAC
+TGACGTCCAGCCTTTTGGCGCTTCCAGCACAACTTCCGTTCCCGGCGTGGAGCGGGAAACCGAACGCAGC
+GAACTGGATAACCAGCTAAACAGTTCACGGAATTGTAATCCCTGCAGAGACAAAGGCTGACGGACGCTGA
+TTTGGGCCAGCGTCTTCATATCCGCCCCCTGAACACCGATGGTAAAGAAGGCAAACTTCTTATCTTCTTC
+CCCCTGAAACACTTTGTTGGCGGCAGCCTACCACTCATCGGTTGGTGCGCCATCGGTGATCAGGAAAATC
+CACGGACGATAATAGGAAATACCATTGGCACGATATTCACGTTTCCGCTCCTCAACCATATCCAGGGCTT
+TGGTAATGGCAGCGCCCATTGGTGTATCGCCCTGGGCAAACAGGATGGGCGGGAAAAAATTAGCGGCGCT
+GGTAAAGGGTTGTTCCACATGCACCGGGCCGAACGTCACAATGCCGAGTTCCACTCTTTTTAAGGCCAGC
+GAATCGGCAAGCAGCTCATCGCGAAAGGTAACCAATCCGGCGTTAAGTTCATTAATGGGTCTACCGTTCA
+TAGAACCAGAAACATCCAGCAGCAAAATGCAGGGGCAACGTGGTTCCGGGTTACTGGCAAAATCGCTGGT
+GGCAAACGTGATTTGTTCGCTCATAAGAAATCCTTTCTTAGAGAATTATTGAGGTCCGGTATCATACCGA
+TTGCAATAATGAAATAAGAGCAAACGAAGAAACTTTCAGAATTAGGCCCGGCGGCGCAGAAAATTTTGCT
+ATTCGCCTCGCAAGAACGGAGAGCCGTCGATTGACACTAAGGGCGGAGTGACATAATTTCAGGAGTGAGG
+GTAGAGCGGGGTTTCCCCCGCCCTGGTAGTCTTAGTAAGCTGGCCAGCTAATGACTAAGAGCACCACGAT
+GATGAGTCGCTTCATCATGACCCTTTCCTTATTTAAGGCCCCTTCCTCGGGAGGGGCTTTCCCGTTTCAG
+CGTCCCGCTGAAATCTTCGGCTTACCTCCTTTCGCCCTGTATGCAGTCTATCGCTGACTTGCGGATAAAA
+TAGTTTCAAGTGTGATTATTGCGTAACGACTCGCAAAGAATATTTGCTGGCAGGATCGCAGACTGCAAAG
+TCTGCGGATTGACAATTGGACCGTGAAGGCATACTTTCAGGAGTGAGGGTAGAGCTGGGTTTCCCCCGCC
+CTGGTAGTCTTAGTATGCTGGGTAGCTAATCACTAAGAGCACCACGATGATGAGTATCTTCATCATGACC
+CTTTCCTTATTTAAGGCCCCTTCCTCGGGAGGGGCTTTCCCGTTTCAGCGTCCCGCTGAAATCGTCGGCT
+TATCTCCTTTCGCCATGCAAGCAGTCTATCGCTAACGCGTAGATAAAATAGTTTCATGTGTTATTACTGG
+ATGCGTGCTCGCAAAAGTGCCCGTCATTCAGACGATTCCCGACAGTGTTTCATAATTCCTCCATTTTTCT
+CCCTTATTGGCTGGCTACACTAGTATCATTCCGCGAAACGTTTCAGGAAGAGAAACTCTTAACGATGAAA
+GGCAGTTATAAATCCCGTTGGGTAATCGTAATCGTGGTGGTTATCGCCGCCATCGCCGCATTCTGGTTCT
+GGCAAGGCCGCAATGACTCCCAGAGTGCAGCCCCTGGGGCGACGAAACAAGCGCAGCAATCGCCAGCGGG
+TGGTCGCCGTGGTATGCGTGCCGGCCCATTAGCTCCGGTTCAGGCGGCGACCGCAGTAGAACAGGCTGTT
+CCGCGTTACCTCACCGGGCTTGGCACCATTACCGCCGCTAATACTGTTACGGTGCGCAGCCGCGTGGACG
+GTCAATTGATGGCGTTACATTTCCAGGAAGGCCAGCAGGTCAAAGCAGGCGATTTACTGGCAGAAATTGA
+CCCAAGCCAGTTCAAAGTTGCATTAGCACAAGCCCAGGGCCAACTGGCAAAAGATAAAGCCACGCTCGCC
+AACGCCCGCCGTGACCTGGCGCGTTATCAACAACTGGCAAAAACCAATCTCGTATCTCGTCAGGAACTGG
+ATGCCCAACAAGCGCTGGTCAGTGAAACCGAAGGTACCATTAAGGCTGATGAAGCAAGCGTCGCCAGCGC
+GCAATTGCAACTCGACTGGAGCCGTATCACCGCACCAGTTGATGGTCGCGTTGGTCTCAAGCAGGTTGAT
+GTTGGTAACCAAATCTCCAGTGGCGACACCACCGGGATTGTGGTGATCACCCAAACACATCCTATCGATC
+TGGTCTTTACTCTGCCGGAAAGCGATATCGCCACCGTTGTACAGGCACAAAAAGCCGGAAAACCGCTGGT
+GGTAGAAGCCTGGGATCGCACCAACTCGAAGAAGTTAAGTGAAGGCACGCTGTTAAGCCTTGATAACCAA
+ATCGATGCCACTACCGGTACGATTAAAGTGAAAGCACGCTTTAATAATCAGGATGATGCGCTGTTTCCCA
+ATCAGTTTGTTAACGCGCGCATGTTAGTCGACACCGAACAAAACGCCGTGGTGATCCCCACCGCCGCTCT
+GCAAATGGGCAACGAAGGCCATTTTGTCTGGGTACTGAATAGCGAAAACAAAGTCAGCAAACATCTGGTG
+ACACCGGGCATTCAGGACAGTCAGAAAGTGGTGATCCGCGCAGGTATTTCTGCGGGCGACCGCGTAGTGA
+CGGACGGAATTGATCGCCTGACCGAAGGGGCGAAAGTGGAAGTGGTGGAAGCCCAGAGCGCCACTACTCC
+GGAAGAGAAAGCCACCAGCCGCGAATACGCGAAAAAAGGAGCACGCTCCTGATGCAGGTGTTACCCCCGA
+GCAGCACAGGCGGCCCGTCGCGCCTGTTTATTATGCGTCCTGTCGCCACCACGCTGCTGATGGTGGCGAT
+CTTACTCGCCGGGATTATCGGTTATCGCGCCCTGCCCGTTTCGGCGCTGCCGGAAGTGGACTATCCAACC
+ATTCAGGTGGTCACGCTTTATCCAGGTGCGAGCCCGGATGTCATGACCTCTGCCGTTACCGCGCCGCTCG
+AACGCCAGTTCGGGCAGATGTCTGGCCTGAAACAGATGTCGTCGCAAAGTTCCGGCGGTGCGTCAGTTAT
+CACTTTACAGTTCCAGCTAACATTGCCGCTGGATGTCGCCGAGCAGGAAGTGCAGGCCGCGATTAACGCT
+GCGACCAACCTGCTACCGAGCGATCTGCCTAACCCGCCGGTTTACAGCAAAGTGAACCCGGCAGATCCAC
+CGATCATGACGCTCGCTGTCACCTCAACCGCCATGCCGATGACGCAGGTGGAAGATATGGTGGAAACCCG
+CGTCGCGCAGAAAATCTCGCAGATTTCCGGCGTAGGGCTGGTGACACTTTCCGGCGGGCAGCGTCCGGCG
+GTACGCGTAAAACTCAACGCTCAGGCAATTGCCGCTCTCGGCCTGACCAGCGAAAGTGTGCGCACCGCTA
+TTACTGGCGCGAACGTTAACTCAGCGAAAGGGAGCCTTGACGGCCCTTCTCGCGCGGTCACGCTTTCCGC
+GAACGACCAGATGCAATCGGCAGAAGAGTATCGTCAGCTAATCATCGCCTACCAGAACGGCGCACCAATT
+CGTCTTGGCGATGTCGCAACCGTAGAGCAAGGAGCAGAAAACAGCTGGCTCGGCGCGTGGGCGAACAAAG
+AACAGGCCATTGTGATGAATGTTCAGCGCCAGCCCGGTGCTAACATTATCTCCACCGCCGACAGCATCCG
+GCAGATGCTACCACAGCTCACCGAGAGTCTGCCGAAATCGGTGAAGGTGACGGTACTTTCTGACCGTACC
+ACCAATATCCGCGCATCGGTCGACGATACCCAGTTTGAGCTGATGATGGCTATCGCGCTGGTAGTCATGA
+TTATCTACCTGTTTTTGCGCAATATTCCGGCGACCATCATTCCCGGTGTTGCTGTACCGCTGTCGTTAAT
+CGGCACCTTTGCGGTCATGGTGTTTCTCGATTTTTCAATCAATAACCTGACGTTGATGGCGTTAACTATC
+GCCACCGGATTCGTGGTCGATGACGCCATCGTGGTGATCGAAAACATTTCCCGCTATATCGAAAAAGGCG
+AAAAACCGTTGGCGGCGGCGCTCAAAGGCGCGGGTGAAATCGGCTTTACCATTATCTCGCTGACCTTCTC
+GCTGATTGCGGTGTTGATCCCCCTGCTGTTTATGGGCGATATCGTCGGGCGACTGTTCCGCGAATTTGCT
+ATTACCCTGGCAGTCGCGATTTTGATCTCGGCGGTGGTGTCGCTGACCCTGACACCGATGATGTGCGCGC
+GGATGCTCAGCCAGGAGTCGCTGCGTAAACAGAACCGCTTCTCCCGTGCCTCGGAGAAAATGTTCGACAG
+GATAATCGCCGCCTATGGTCGTGGACTGGCGAAAGTGCTGAATCATCCGTGGCTGACCTTAAGCGTGGCG
+CTCAGCACGCTGCTGCTTAGCGTGCTGCTGTGGGTGTTCATTCCGAAAGGTTTCTTCCCGGTGCAGGACA
+ACGGCATTATTCAGGGCACTTTGCAGGCACCGCAATCCAGCTCCTTTGCGAATATGGCCCAGCGGCAACG
+CCAGGTCGCGGACGTGATTTTGCAGGATCCGGCAGTGCAAAGTTTGACCTCATTTGTTGGCGTTGATGGC
+ACTAACCCGTCGCTGAACAGTGCGCGTTTACAGATCAATCTCAAACCACTGGATGAACGAGATGACCGGG
+TGCAAAAAGTCATCGCCCGTCTGCAAACGGCGGTGGATAAAGTGCCGGGCGTCGATCTCTTCCTGCAACC
+AACGCAGGACCTGACTATTGATACTCAGGTCAGCCGCACCCAGTACCAGTTTACCTTGCAGGCCACGTCA
+CTGGATGCGCTCAGTACCTGGGTGCCACAGTTGATGGAAAAACTCCAGCAGCTGCCACAGCTTTCTGATG
+TCTCCAGCGACTGGCAGGACAAAGGGCTGGTGGCGTATGTCAATGTCGACAGGGACAGCGCCAGCCGTCT
+GGGGATCAGCATGGCGGATGTCGATAACGCCCTGTACAACGCGTTTGGTCAGCGACTGATTTCCACTATT
+TATACTCAGGCTAACCAGTATCGCGTGGTGCTGGAACACAACACCGAAAATACCCCAGGCCTCGCGGCGC
+TGGATACCATTCGCCTGACCAGCAGCGACGGTGGCGTGGTGCCGTTAAGCTCAATTGCCAAAATTGAGCA
+GCGTTTTGCGCCGCTTTCCATCAACCATCTGGATCAGTTCCCGGTAACGACTATCTCCTTTAACGTGCCG
+GATAACTATTCGCTGGGCGATGCGGTGCAGGCGATTATGGACACAGAGAAGACGCTGAATCTGCCGGTGG
+ATATCACCACGCAGTTCCAGGGCAGCACCCTCGCCTTCCAGTCGGCATTGGGCAGCACTGTCTGGCTGAT
+TGTCGCGGCGGTGGTGGCGATGTATATCGTGCTCGGCATTCTGTACGAGAGCTTTATTCACCCGATCACC
+ATTCTCTCGACGCTACCCACCGCAGGGGTCGGCGCGCTGCTGGCGTTAATGATTGCCGGTAGCGAACTGG
+ATGTGATTGCCATTATCGGCATTATTTTGCTGATCGGTATCGTGAAGAAGAACGCCATCATGATGATCGA
+CTTCGCGCTGGCTGCTGAGCGCGAGCAAGGCATGTCGCCGCGCGAAGCTATTTACCAGGCTTGTCTGTTG
+CGTTTTCGTCCGATCCTGATGACCACTCTGGCGGCTCTGCTTGGTGCGCTGCCGCTGATGTTGAGTACCG
+GGGTCGGCGCGGAACTGCGTCGTCCGTTAGGTATCGGCATGGTCGGCGGTCTGATTGTCAGCCAGGTGCT
+GACGCTGTTTACCACGCCGGTGATTTATCTGCTGTTCGACCGTCTGGCATTGTGGACCAAAAGCCGCTTT
+GCCCGTCATGAAGAGGAGGCGTAAGTGAAGTTTTTTGCCCTCTTCATTTACCGCCCGGTGGCGACGATTT
+TACTGTCGGTCGCCATTACCCTGTGCGGCATACTGGGTTTCCGTATGCTGCCAGTCGCCCCGCTGCCGCA
+GGTCGATTTTCCGGTGATCATGGTCAGCGCCTCGCTGCCCGGTGCGTCACCAGAAACAATGGCGTCTTCC
+GTTGCCACGCCGCTGGAGCGCTCACTTGGGCGCATTGCCGGAGTCAGCGAAATGACCTCCAGCAGTTCGC
+TCGGCAGCACGCGCATTATTTTGCAGTTTGATTTTGACCGGGATATCAACGGCGCAGCGCGCGATGTGCA
+GGCGGCGATCAACGCCGCGCAAAGTCTGCTACCCAGCGGGATGCCCAGCCGTCCGACCTATCGCAAAGCG
+AACCCGTCGGATGCGCCAATTATGATCCTCACGCTGACATCCGATACTTATTCGCAGGGTGAACTGTACG
+ATTTCGCCTCGACACAGCTGGCTCCGACGATTTCGCAAATCGACGGTGTCGGTGATGTCGATGTTGGCGG
+CAGCTCGCTGCCCGCCGTACGCGTCGGGCTGAACCCGCAAGCGCTGTTTAATCAGGGCGTGTCGCTGGAC
+GATGTGCGCACCGCCATCAGCAATGCCAACGTGCGTAAACCGCAGGGGGCGCTGGAAGATGATACTCACC
+GCTGGCAGATCCAGACTAACGATGAACTGAAAACCGCCGCTGAATATCAGCCGCTGATTATTCATTACAA
+CAACGGCGGCGCGGTTCGTCTGGGCGATGTGGCGACGGTGACCGATTCGGTGCAGGATGTGCGCAACGCC
+GGGATGACCAACGCCAAACCGGCTATTCTGCTGATGATCCGCAAACTGCCGGAAGCCAATATTATCCAGA
+CGGTAGACAGCATCCGCGCCCGTCTGCCGGAATTACAATCCACCATCCCGGCAGCAATTGATCTGCAAAT
+TGCCCAGGATCGCTCCCCTACTATCCGCGCGTCGCTGGAAGAGGTTGAGCAGACGCTGATTATCTCGGTG
+GCGCTGGTGATTCTGGTGGTGTTTTTGTTCCTGCGTTCGGGTCGCGCCACCATTATTCCCGCCGTTGCGG
+TGCCGGTTTCGCTGATTGGTACGTTTGCGGCGATGTACCTGTGTGGTTTCAGTCTCAATAATCTTTCGTT
+AATGGCGCTCACCATCGCCACTGGCTTTGTGGTGGATGACGCCATCGTGGTGCTGGAAAACATTGCCCGT
+CATCTGGAAGCGGGGATGAAACCGCTACAGGCCGCGCTGCAAGGTACTCGCGAAGTCGGCTTTACGGTGC
+TGTCGATGAGTCTGTCACTGGTGGCGGTGTTCCTGCCGCTGCTGTTGATGGGCGGATTGCCGGGTCGCCT
+GTTACGCGAGTTTGCCGTGACGCTTTCTGTCGCCATTGGTATTTCGCTGCTGGTTTCCCTGACGTTAACG
+CCGATGATGTGCGGCTGGATGCTAAAAGCCAGCAAGCCGCGCGAGCAAAAGCGACTGCGTGGCTTTGGTC
+GCATGTTGGTTGCTCTGCAACAAGGCTACGGCAAGTCGCTAAAATGGGTGCTCAATCATACCCGTCTGGT
+GGGCGCGGTGCTGCTTGGCACCATTGCGCTGAATATCTGGCTGTATATCTCGATCCCGAAAACCTTCTTC
+CCGGAGCAGGACACCGGCGTACTGATGGGCGGGATACAGGCTGACCAGAGTATTTCGTTTCAGGCGATGC
+GCGGTAAGTTGCAGGACTTCATGAAAATTATCCGTGACGATCCGGCGGTGGATAATGTCACCGGCTTTAC
+CGGCGGTTCACGGGTGAACAGTGGAATGATGTTTATCACCCTTAAACCACGCGGCGAGCGGAGCGAAACG
+GCCCAACAGATTATCGATCGCTTGCGTAAAAAACTGGCGAAAGAACCGGGAGCGAATCTGTTCCTGATGG
+CGGTACAGGATATTCGCGTTGGCGGACGTCAGGCTAACGCCAGCTACCAGTACACATTATTGTCCGACGA
+TCTGGCGGCACTGCGCGAATGGGAGCCAAAAATCCGCAAAAAACTGGCGACATTGCCAGAGCTGGCTGAT
+GTTAACTCCGATCAGGAAGATAATGGCGCGGAGATGAACCTTATTTACGATCGCGACACTATGGCGCGAT
+TGGGAATTGACGTGCAAGCCGCCAACAGCCTGTTAAATAACGCCTTCGGTCAGCGGCAAATCTCGACCAT
+TTACCAGCCGATGAACCAGTACAAAGTGGTGATGGAAGTTGATCCGCGCTATACCCAGGACATCAGTGCA
+CTGGAAAAAATGTTCGTTATCAATAACGAAGGAAAAGCGATCCCGCTGTCGTATTTCGCTAAATGGCAAC
+CGGCGAACGCTCCACTGTCGGTGAATCATCAGGGATTATCGGCGGCCTCGACCATTTCGTTCAACCTGCC
+GACCGGGAAATCGCTCTCGGACGCCAGTGCGGCGATCGATCGCGCAATGACCCAGCTTGGTGTGCCTTCG
+ACGGTGCGCGGCAGTTTTGCCGGAACAGCGCAAGTGTTCCAGGAGACGATGAACTCACAGGTGATCCTGA
+TTATCGCCGCCATCGCCACGGTATATATCGTACTGGGTATCCTTTACGAGAGTTATGTGCATCCACTGAC
+GATTCTCTCCACCCTACCCTCGGCGGGCGTCGGAGCGCTGTTGGCGCTGGAGCTGTTCAATGCCCCGTTC
+AGCCTAATTGCGCTGATAGGGATCATGTTATTAATCGGCATCGTGAAGAAAAACGCCATTATGATGGTCG
+ATTTTGCGCTTGAAGCCCAACGGCACGGTAACCTGACGCCGCAGGAAGCTATTTTCCAGGCCTGTCTGCT
+GCGTTTTCGCCCGATTATGATGACTACCCTGGCGGCGCTGTTTGGTGCGCTACCGCTGGTATTGTCGGGC
+GGTGACGGCTCGGAGTTGCGCCAACCATTGGGGATCACCATTGTCGGCGGTCTGGTCATGAGCCAGCTTC
+TGACGCTGTATACCACGCCGGTGGTGTATCTCTTTTTCGACCGTCTGCGGCTGCGTTTTTCGCGTAAACC
+TAAACAAGCGGTAACCGAGTAAATGACAGATCTTCCCGACAGCACCCGCTGGCGATTGTGGATTGTGGCT
+TTCGGCTTCTTTATGCAGTCGCTGGACACCACCATCGTTAACACCGCGCTTCCCTCAATGGCGCAAAGCC
+TCGGGGAAAGTCCGTTGCATATGCACATGGTCATTGTCTCTTATGTACTGACCGTGGCGGTGATGCTGCC
+CGCCAGCGGCTGGCTGGCGGACAAAGTCGGCGTGCGCAATATTTTCTTTACCGCCATCGTGCTGTTTACT
+CTCGGTTCACTGTTTTGCGCGCTTTCCGGCACGCTGAACGAACTGTTGCTGGCACGCGCGTTACAGGGCG
+TTGGCGGCGCGATGATGGTGCCGGTCGGTAGGTTGACGGTGATGAAAATCGTACCGCGCGAGCAATATAT
+GGCGGCGATGACCTTTGTCACGCTGCCCGGTCAGGTCGGGCCGCTGCTTGGCCCGGCGCTCGGCGGTCTG
+CTGGTGGAGTACGCATCGTGGCACTGGATCTTTTTAATCAACATTCCGGTGGGGATTATTGGCGCGATCG
+CCACACTGATGTTAATGCCGAACTACACCATGCAGACGCGGCGCTTTGATCTCTCCGGCTTTCTGTTGCT
+GGCGGTTGGCATGGCGGTATTAACCCTGGCGCTGGACGGCAGTAAAGGTACAGGTTTATCGCCGCTGGCG
+ATTGCTGGCCTGGTCGCAGTTGGCGTGGTAGCACTGGTGCTTTATCTGCTGCACGCCCAAAATAACAACC
+GCGCCCTGTTCAGTCTGAAACTGTTCCGCACTCGTACCTTTTCGCTGGGCCTGGCGGGGAGCTTTGCCGG
+ACGTATTGGCAGTGGCATGTTGCCCTTTATGACACCGGTTTTCCTGCAAATTGGTCTCGGTTTCTCGCCG
+TTTCATGCCGGACTGATGATGATCCCGATGGTACTCGGCAGCATGGGAATGAAGCGAATTGTGGTACAGG
+TAGTGAATCGCTTTGGTTATCGTCGGGTACTGGTGGCGACCACGCTGGGCCTGTCGCTGGTCACCCTGTT
+GTTTATGACTACCGCTCTGCTGGGCTGGTACTACGTTTTGCCGTTCGTCCTGTTTTTACAAGGAATGGTC
+AACTCGACGCGTTTCTCCTCCATGAACACCCTGACGCTGAAAGATCTCCCGGACAACCTGGCGAGCAGCG
+GCAACAGCCTGCTGTCAATGATTATGCAATTGTCGATGAGTATTGGCGTCACCATCGCCGGGCTGTTGCT
+GGGACTTTTTGGTTCGCAGCATGTCAGCGTCGACAGCGGCACCACACAAACCGTCTTTATGTACACCTGG
+CTTAGCATGGCGTCTATCATCGCCCTTCCGGCGTTCATCTTTGCCAGAGTGCCGAACGATACGCATCAAA
+ATGTGGCTATTTCACGGCGAAAAAGGAGCGCGCAATGAAGTTCTGGCGACCCGGTATTACCGGCAAACTG
+TTTCTGGCGATTTTCGCCACCTGCATTGTCTTATTGATCACGATGCACTGGGCGGTACGTATCAGTTTTG
+AGCGCGGCTTTATCGATTACATCAAGCATGGTAATGAACAACGGCTGCAAATGCTCGGCGATGCGCTTGG
+TGAGCAGTACGCCCAGCACGGGAACTGGCGCTTCCTGCGTAATAACGATCGCTTTGTATTTCAGATCCTA
+CGTTCACTGGAGCATGATAACAACGAAGATAAGCCCGGCCCCGGTATGCCACCACACGGCTGGCGCACGC
+AATTTTGGGTGGTTGATCAAAATAATAAAGTGCTGGTTGGCCCGCGAGCACCGGTTCCACCCGACGGCAC
+ACGGCGGCCCATTATGGTCAATGGTGCGGAAGTTGGCGCGGTGATCGCCTCCCCTGTTGAACGACTGACC
+CGTAATACTGATATCAATTTTGACAGACAACAGCGGCAAACCAGTTGGCTGATTGTGGCTTTATCTACCT
+TATTAGCGGCGCTGGCGACATTCCCACTGGCGCGCGGTTTGCTGGCTCCGGTAAAACGACTGGTGGATGG
+CACGCACAAACTGGCAGCGGGTGATTTCACTACTCGCGTAGCCCCCACCAGCGAAGATGAGTTGGGCAGA
+CTGGCAGAGGATTTCAATCAACTCGCCAGCACACTGGAGAAAAACCAGCAGATGCGCCGCGATTTTATGG
+CCGATATTTCTCATGAACTGCGCACGCCTTTAGCAGTACTGCGCGGCGAACTGGAAGCCATTCAGGATGG
+TGTGCGTAAATTCACGCCGGAGACGCTGGCTTCTTTACAGGCAGAAGTCGGTACACTGACAAAACTGGTT
+GACGATCTCCATCAGTTGTCGATGTCTGATGAAGGCGCTCTCGCCTATCAAAAAGCACCGATAGATTTGA
+TCCCACTGCTGGAAGTGGCGGGAGGCGCATTTCGCGAACGATTCGCCAGCCGTGGCCTGAAATTGCAATT
+TTCCCTGCCAGACAGTATTACCGTATTTGGCGATCGCGATCGTTTAATGCAGTTGTTCAATAACTTACTG
+GAAAACAGCCTGCGCTACACTGACAGCGGCGGCAGCCTGAAAATCTCTGCCGAGCAGCACGACAAAACGG
+TGCGCCTGACCTTTGCCGACAGTGCGCCGGGTGTCAGTGACGATCAGCTACAAAAATTGTTTGAACGTTT
+TTATCGCACCGAAGGTTCCCGCAACCGCGCCAGCGGTGGTTCCGGGCTGGGGCTGGCGATTTGCCTGAAC
+ATTGTTGAAGCACATAACGGCCGCATTATTGCCGCCCATTCGCCTTTTGGCGGAGTTAGCATTACAGTAG
+AGTTACCGCTGGAACGGGATTTACAGAGAGAAGTATGACCGAGTTACCAATCGACGAAAACACACCGCGT
+ATTTTGATCGTGGAAGATGAACCGAAGCTGGGGCAGTTGCTCATTGATTATCTGCGTGCTGCGAGCTATG
+CGCCAACGTTGATTAGCCACGGCGATCAGGTACTGCCATATGTGCGCCAGACACCACCGGATCTGATACT
+GTTGGATCTGATGCTCCCTGGCACCGATGGCCTGACGCTGTGTCGGGAGATTCGTCGTTTTTCTGACATT
+CCGATCGTGATGGTGACAGCAAAAATCGAAGAGATCGACCGCCTGCTCGGACTGGAGATTGGCGCAGATG
+ATTATATCTGCAAGCCGTACAGCCCACGGGAAGTGGTAGCGCGCGTCAAAACCATTTTGCGCCGTTGCAA
+ACCGCAGCGCGAGTTGCAGCAACAGGATGCTGAAAGCCCGTTGATTATCGACGAAGGTCGTTTTCAGGCT
+TCCTGGCGCGGTAAAATGCTTGACCTGACGCCTGCAGAATTTCGTCTGCTGAAAACGCTCTCTCATGAAC
+CAGGAAAAGTGTTCTCCCGCGAGCAGTTGCTGAACCATCTTTATGACGACTACCGCGTGGTAACCGACCG
+TACCATCGACAGCCACATTAAAAACCTGCGCCGCAAGCTGGAATCTCTCGACGCCGAACAGTCATTTATC
+CGCGCCGTTTACGGCGTCGGTTACCGCTGGGAAGCCGACGCCTGCCGCATCGTTTAACATTTTTACCTGC
+CGGAGGTGGCCTTCAGACCAGATCCGGCAACATTATCCCACGCATGGTCAGCAAACTGACATTATCTCTC
+CGCCCTGGCAGGCACCAGAAAATCGCTCATACTTTAATTGGCAAACAGTACCTTTAGATGCTGTTTTCGA
+TACGCAATTTCAATCAAGGAGTCATTATGGCTGGTTGGTTTGAACTCAGTAAGAGCAGTGATAATCAGTT
+CCGGTTTGTGCTAAAAGCGGGCAATGGTGAGACTATCCTCACCAGCGAGCTGTATACCTCAAAAGCCTCT
+GCGGAAAAGGGCATCGCGTCGGTGCGTAGCAACAGCCCGCAAGAAGAACGCTATGAGAAAAAAACGGCAA
+GCAATGGCAAATTCTATTTCAATCTGAAAGCCGCCAATCATCAAATTATCGGCTCCAGCCAGATGTATGC
+CACCGCGCAATCTCGTGAAACCGGAATAGCCTCCGTTAAAGCAAATGGCACAAGCCAGACGGTGAAAGAC
+AATACGTAATTACGATGCCGGGCGTAGGTTGTTGGCGTCCGGCTTTATATCAAAATAACGCTTATTTATT
+GATAATTAAGATTAACCTCCGTCATTAAAATAATGAGTAAATAAGTTTCAGTATCAGAATTTATCACGCC
+CCACAATCACCAATCTGATCCACCACCGTCAGATACCAGTCACTGTCATAACTGTAAAGTTGACTTAAAT
+AAAATACCAGTCCATCGTTACTCTCTTCTGGCGCAGCGACCACACGCACGGCCCCGTATTCCATTCGACG
+CGCTGCGGCAATCTGCGCATCAGAAATAGTATTTTGCGGTGAACCAAACATCTGCGTGAAGACCAAACTA
+CGGCTGACTTTATGATGAACATCGCTATTGCTAATAAAATACCCCTGCTTATTCCAGCCACGTTCGCAGT
+TAAATTTCGGGATAGCTTTCTTATTAAATTCGTCATCTCGCGGAACATGTTCCCCTGCCGAGGGCCATGG
+GAAATACTCGGGAACAGGTTGCCTGAAATTAATTTGCTTAAGATTTTCAACATCCATCGAAGCACCACGG
+TGGAAAAGAACATACAAACCCGTTTTTTTATCAATTAACGAGTTGATTAATTGGGCATCTTCTTGCTGAA
+AGCCCATAATCACCTTTCTGGCTGTTTCCTCCAGCGTACACCCGGCATTGGCGGGTAAAGAAAAGAATAT
+CAGCCCCACCAGCATCATTCCTTTTTTTAACATCAGCATTGTTTGCATCTTCTCATCATGGGGCTCATAT
+TACACATTTAACAATTTTCAGGATAAACCTTACACCATACTGTTAACCTGGCCGGGTAATTCGCTAGCTG
+GAATACGAAAGGTATACCAGGCATAACGACAGCGTTTCCACAGGCTGGAGAAATGGAGATGATAAAGGCA
+ATCTGCAATAATTTCGTTATCTGGATATAAAGACTCGGCAAAATGTGTCCAGCGCGCACTGAGTTTCATG
+TTAAACAGTTTTTCATCTTCTTTGTTACCATACAGGCGCGACAAAGTAATCATTGCTTCGAGCGTACCTT
+TATTCGCTTCTTCTTGTACCTGTTGGAGGTGCAAATGAGCAAGTGAGAGTTCTTTCACCTCAAAGATATT
+AAGTAAAAAAAGCCCCCATGCTTTTTCATGTCCAGCTTCATGAGCCAGAAATAAATTGTCAAGGAGATTT
+TTTTCATAAATAGCCCGTGTTTCTTTAGAAATTTCTTGTTTATTTAGTGCCTGGTAGCAGATAGCAATGC
+TAAAATAAATATTTTGTAGATCTTGTTGATGTTCGCTATAACCATAATTTTTTACCAGTGGATAAGATAC
+CGAGCTATGGAAATTTAGGTCATCTTGAAGTATTTTAAGTGCCCGTCGAAAATACTCCAAAGCTGTAGAT
+GGTTCATAAGGTAATTTTGTATTGTCTTCCTTATCCAAATATTCAAGAGCAACTAAATTTAATGCGGCAG
+GAATATTTCTTTGCTTACCAATTGTCGCAAGCGGAATGAAATAATCAGAAAGGTCAAACCAACTCAAATC
+TTTTATTGCCGACCGCCAATTATGATTGTATTTAATGTCACTAGCTTTTTCCAGCCAAGCATCGCCCTGC
+CCTTCATCTTTTTCAAAACCCAAAATACCCTCTCGCTGGAAAAACCCCCTATAAATAACAGGTGTAGCAT
+AAGTTGTATTCTGTGAATTTTGGCAGATAAAATTATATATCCAGAATGAATCTGGATAATAACTTAATGC
+AAATTTTATCGCGTACGCAGTGTAATAATTATTGAGCTTCATGTCTTCCATCACCGCTCGCTGTATACAG
+CACCACAACTTATCGTGATCGTTCTGCTTGTTATAGCAGGCAAGTAACCACTCTAGGGCATTATGGCGAC
+ATTCCTGAAATTGTGCGTGCTGAGCAATATTCTCTGCTAAGTCGATTGCATATTGTTGCTCCTCGGGCGC
+AATGTCCTCAATGCTGACATCTCGGTAATCATCCCACCAAAGTAAGAGATCCATATAGTCATGTTCTTCG
+GTAGATAAGTGCTTACAGGTTACTGAATCCAGCAATTCGGAAATTTCTTTATGCGACCCTCCCCAGCGTG
+GCATTCGAAATGGTATATATTCAACAAAAGGATAAAAAGTGTGAGGAAAAATAGTCAGGCAAACAGAAAG
+CCAATATTTTTGCCCACCATCATCATCATACTCAGGAAGTATATTGGGGCGAGGCAAAACGGGGCATATT
+GCATGCTCAAACGAAAGTCCGGAATACGCCATCAACGCTTCCACTTCTTGGGGGGAGCGGCGGTGATAAT
+TTTTCAGTGCGATCATTAATGGTATTCCTGCGACACTATCACCGTTAAGGTGTGCCGCCAGCCAGGCTGG
+CTGACCAAATACTTTTGAGTTGGTGCTGGTAAGTAATGCAGCCATCCATTGTCGTGGGTCACAATCAATT
+GCTTTAAGTGTAGCGATGACCATTTGTTCATTACATGCACCAGCACAAAGCCACATTGCATGTGTGGTAT
+CATTTGCCCAGCCATAACTGCGATATAACCATGCACGGTGATTCCAGTATTGTGCTTCGGCAAGCCAGGC
+ATGTGTAGAATGAGGTCTTGCTTGCTGCCAGGTTTTAATGAGTCTTAAACCTTCTGTTCCGGCATCAACT
+AGCGTGTTCATATCATAAAAATAGTTGCACATTTGGGTCCAGGATAAAAAATAGCGCTTTTCAGCCTGAC
+GAGAAGTGAAACTCTCCTGTAATGCCTGGTTATAAATTTCATCTAGTTCCTGATAACGTTTTTCTTGTAA
+CATATAAGGAATATTTGCGATTTGCCATTTTCTCTCAAGAGTATTAAGTGGCATTTTTTGGTCACACATC
+TTTTGCATTGCACTGAGTAAACGAGCATCCTGTTCCATAGATATCCTTTTAATTAGGTTCAAAAATTTTA
+AATTCATTCCACGGCAATTTTTTCCAGTTACTGGATGGATCTTTCAACCATGCAGTGACTTCCTTTAAAT
+CACGGTTCGCAGTGGCGACGGGGGTATCGTATATCATTAACCATTTTTGTCGGGCGCGAACATAAGCACT
+GGCATAATCTTCCCATGAAGCGAAACAATCTTGTGCTCTTTGAGCATTCAGTAATAACACTATCCAGGCT
+TGGTTTTCATCGCACCAGCCTAAACCGGCGATGCAACGAGTTAAAAAAGCAGTGCGCATACAGTCAAACG
+CCAGCCCATCCAGAACCTGGCCTTGTGCTGCCAGTTGTTCGTAAAAATCATGTGGAGAATTACCAAGCCC
+TGTAGCCCAGCGCTGTAATATAACGCCAATTTGTTGACGGAAATCTTCGTTGCTTTGGTAAGTTTCTGTT
+CCTAGCTCTTGTTTAACCTGTAGTGCAAGTTGTTGACGCTTATCATCAGTCAACTTTAAATCCAACGTGA
+AGCCATTTACTGACAGTCCATTACGACGAGCAACTATATCACCAATTGCTAATGCCCACTTACGTCTCTT
+TGTTGCTCGTCTTTTGTCCTTGATTAGATCCTTTTCTTTTTCTTTAGCAATAAAAGCATCGATTTGTGGT
+TTGTTTTTTTTGTATCTATAGATAAAAATAAATATTGCGACCAGGAGAACAATGATAAGACTCATTATTT
+TTCAACCTCTGACAGGGGTAAGTAATGAGATGTCTGTAATGTCAAACTCTCTATCTCAAAGGAAATGTTG
+CTGATATTTTGACCTGCAAATTGCGGATGCCACTCAGCGCCAGGGAATAACATTTCCGCAGAAGTAGCAA
+CTATAGGGTCAATAGCATTAAGATAATGTAACTTATCAGGTGCGCTGTGTAACAGTAACCACTGCAACTC
+CACTGAAGGATTTGTAAAATGTTCTAATAAATGAAAGTTATTATGTAGTACGCTTAGTAAAAAACTGGTT
+TCGTATACTTCCGTTACATATTTCCACCCCTGATATTCAGGTGTATTTTCATAAACAATACCCATACCTT
+CACAATCACTATGTCGAACTGCTTGTGGTGATAATAGTTGCAAAAGAGACAAAACATCGTCCGCATATTT
+TTTAACTGGATGACGATTTTGCTTACCTTTTATTTGATCAATTTCAAGTGAATCACCAACAACATTGAGA
+GCAATAGTAACATGAGGAATATTATTATTATCACGCAAACTGAATAACCGTAATTTATGTTGCTCAATTT
+GATTTGCATAATACTCACCATAACCACCGGTAAGATTTTTTCGATCATCAAACTGGCCTACGCAATGTTG
+CATATGCCATGATTCATAAGCCATTTCACGACGAAGGTTCGAATGACTGGCATCAAACTCAACAATTTTT
+CCGTCTGGCACATCAAGTATTGACTTTACAGTATTTTGTTCACTCGGCTGCCACCCTTTCTCGCGTCGTT
+GAAGCATCTTTTCATGCTCTTCTTCACGCATTCTGAACGCAACGTAGCAGGTTATGCGCTGTAGTTTTGA
+TTCCAGACGGGTACCACATTTCCTGGAAAGAAATTCCACCAACTCCCGTTCTTTGGTTAATATTTGTTGA
+TGATCGGTTTCGATATAATAAAGTGTCGCAGTTGATACTGAGGCAGTATTAAACTTCGATACCAGCCATT
+CCGGGATTACATCATCATTTTTATTAAACAGTGAATATTCTGCAAGCGAGTTAATTTGTTGCACCATTGG
+AAAGTCACTAATTAGCCATCGATAAAAATGGTTGAGTAACCATTTTTGGATGGTCTCATTATCCTGGCGA
+AACAGACTTCTTTGCAAAATTGCTGTTTTTACTTCCGGGGCATTAATTACATCCCTTGCATTATAATTCT
+GGTGAATATTTCCAGTCATAACATCCGCCCGTGTTTATTATATCACTCAAAGCAATAATTGTTGACTATA
+GATTTTTTATCTAAATCAGCATGGTTGCAGGTACATACTCAAGTAAGCCACTCAAGAAAATAACGTAAAC
+TCAATAGTGGCAGCGTCACAAACTTTGGAAATTATGTCTTATATTTGCAGTTTATTTTAGTGAATAATTG
+AGATAAATGACATTATTTTACATCCTCAATAATTCAGGCTGTAAGAGGACGGCAAATACATTCATAATTA
+TCAGGGGATGAACATTCAGGAAAGTAGTCAGTATCGTCAACTTTTTCTTTTATCACTACATGAAGATTTC
+GTGTAGATACTCCCATCTCTGCCACTTCTCCCCTCACATTTACACTGGAGCTAAACCCGCCGATTGCGCT
+ACAATGCCCGCCCTTAAAGTGGGGGCACTCCCCTAACCGCTTCATCAGGTGAAGCGGCTCTGACCTGTCA
+TCAGAACGAGAGAATTATGTTTAAACCGGAACTCCTTTCCCCGGCGGGAACGCTGAAAAATATGCGTTAC
+GCTTTCGCTTATGGCGCAGATGCTGTTTATGCGGGCCAGCCGCGTTACTCCCTGCGTGTGCGCAACAACG
+AATTCAACCACGAAAATCTTCAGCTCGGCATCAATGAAGCCCACGCGCTGGGGAAAAAGTTTTATGTCGT
+GGTCAACATTGCACCGCACAACGCCAAGCTGAAAACCTTTATCCGTGACCTGAAACCGGTGGTGGAAATG
+GGGCCGGATGCGCTGATTATGTCCGATCCAGGGCTGATTATGCTGGTGCGTGAACACTTCCCGGAAATGC
+CAATCCACCTCTCGGTACAGGCTAACGCCGTAAACTGGGCGACGGTGAAATTCTGGCAGCAAATGGGTCT
+GACCCGCGTGATCCTCTCTCGCGAACTGTCACTGGAAGAGATTGAAGAGATCCGCAATCAGGTGCCGGAT
+ATGGAGATCGAAATCTTCGTTCACGGCGCGCTGTGCATGGCCTACTCCGGTCGCTGCCTGCTCTCTGGCT
+ATATCAACAAGCGCGACCCGAACCAGGGCACCTGCACCAACGCCTGCCGCTGGGAGTACAACGTCCAGGA
+AGGGAAAGAAGATGACGTCGGCAACATCGTACACAAGTACGAGCCGATTCCGGTGCAAAATGTTGAGCCG
+ACGCTGGGTATCGGCGCGCCAACCGACAAAGTGTTTATGATCGAAGAAGCCCAGCGTCCGGGCGAGTATA
+TGACCGCGTTTGAAGATGAGCACGGCACTTACATCATGAACTCGAAAGATCTGCGCGCCATCGCCCATGT
+TGAACGCCTGACCAAAATGGGCGTGCATTCGCTGAAAATCGAAGGCCGTACCAAATCTTTCTACTATTGC
+GCACGCACCGCGCAGGTTTACCGTAAAGCTATCGATGACGCCGCTGCGGGCAAACCGTTCGATACCAGCC
+TGCTGGAAACGCTGGAAGGTCTGGCGCATCGTGGCTATACCGAAGGTTTCCTGCGTCGTCATACCCACGA
+CGATTATCAGAACTACGAATACGGTTATTCGGTTTCTGACCGCCAGCAGTTTGTTGGTGAGTTTACCGGT
+GAGCGCAAGGGGGAGCTCGCGGCGGTAGCGGTGAAAAATAAATTCTCCGTTGGCGACAGCCTTGAGCTGA
+TGACGCCGCAAGGCAACATTAACTTTACCCTTGAGCATATGGAAAACGCCAAAGGTGAAGCTATGCCGGT
+CGCACCAGGCGATGGTTATACTGTGTGGCTCCCGGTGCCGCAGGATCTCGAACTGAATTACGCGCTGCTG
+ATGCGTAATTTCTCCGGGGAAACCACGCGTAACCCCCACGGTAAGTGATTAATTTCGATTATTTTTCCCG
+GATGGAAAATTCTTAGAAACCGATCACATACAGCTGCATTTATTAAGGTTATCATCCGTTTCGCTGAAAA
+ACATAACCCATAAAATGCTAGCTGTACCAGGAACCACCTCCTTAGCCTGTGTAATCTCCCTTACACGGGC
+TTATTTTTTATGCATAAGCCCTATCCCTGGTCACCGTCTTCCATTGACCACATCGATAGAATACTCCTTC
+ATAGCACGATGCCTTTCACTTATCGACATCGTGCTCCCACAGGTTCCGGCTACGCACAGCCAGAACGCGC
+ATGTTTGACGCTTACCAAAAAATGAACCTAAAGCATTGGAATATTTTTGACATCATTTTCTGATGGCTGC
+ATAAAATAAAAATTCTGCTTTAGTTTCATCTATCTGTTTGTCATTATTACTCACATTCAATAATGGTGTT
+GAAGAATATCCCATCACAGATAAAATAAATATGTGCATGGTAGTCTTGAATCTATTCTCACTCTCCACAT
+TTGAATGTCAGACGAGCGACGCCATGTAATCCTGCACCTTCTGTCTTCAGGTCAACTATCTGCATTTTTT
+TGCCCTGAGTAACACAGAAATGAGTTGCATCATTTTTTACTATATTTTCTGCACCAGATATTCTACCCCT
+GGCTAAAGAAGCTTCGGCTTCGGTGTAGTATTGGTTATCCAGTTTACGCTGAATATTACTTTTATATGCA
+AGGCCAAATTTACCGATACTTGTCTCATCATTATGCACAGCACAACCAGACATAAGAAAAACACTAATTA
+ATGATATAGCAGCTATCTTTTTCACCTTACCTTCCCCCATTAATTACCAACGACATTCTCTAGTGTTTAA
+ATATAATAATGGCATGATTATTATAATAGAATAGGATTATAATAAATGTTCTGTACAACATTTCCTACAT
+AAGTAGGAATTACAGACATGGAGGCCCTTCCGGGCAACCCCATGGGGGACTTTAATATATTTTGAATAGT
+ATATTGAAGATGCCACTGTTTAGTTGAATATTAGGTATATTCTCTTTTTTAAAAATTTATCAGTGGCTAC
+CGTTAATATTCGCTGTCCCCATTGTAAGCTCCTGGTGGTAAGCACTGAATCCCCATACCTGAACTGACTT
+TTTATCCTCCGACTTTCATCCTGTTCTGACTCCACCTTTTCTTTTCTGCTCTACACTATCTACAGACCAA
+TCATAAAGGCACATACGATCATGGCAGAATTTCCCGCCAGCTTACTGATTCTTAATGGCAAAAGTACTGA
+CAATCTACCCTTGCGCGAAGCAATTATGCTGTTGCGTGAGGAAGGAATGACGATCCATGTGCGGATCACC
+TGGGAGAAAGGCGATGCTGCACGATTTGTAGAGGAGGCACGGAAGTTGGGCGTCGCAACGGTGATTGCCG
+GTGGTGGCGATGGCACCATTAATGAAGTTTCTACGGCGTTGATTCAGTGTGAAGGGGATGACATACCCGC
+GCTGGGAATTTTACCATTAGGAACCGCCAATGATTTTGCCACCAGTGTAGGGATTCCTGAGGCACTGGAT
+AAGGCGCTGAAACTGGCAATTGCCGGTAACGCCATTGCGATAGATATGGCGCAGGTCAACAAACAAACCT
+GTTTTATTAATATGGCGACAGGCGGATTTGGGACGCGTATTACCACAGAAACGCCGGAAAAATTAAAAGC
+CGCGCTGGGTGGCGTCTCTTACATCATTCATGGCTTAATGCGCATGGACACTCTGCAACCGGACCGTTGT
+GAAATCCGCGGTGAAAACTTTCACTGGCAAGGTGACGCCCTGGTCATTGGTATTGGTAACGGGCGTCAGG
+CCGGTGGCGGTCAACAATTGTGCCCGAACGCATTAATTAACGATGGCTTGCTGCAACTGCGCATTTTTAC
+CGGCGATGAAATTATTCCGACTCTCGTATCAACCTTAAAATCTGACGAAGATAACCCGAATATTATCGAA
+GGTGCTTCGTCGTGGTTTGATATACAAGCCCCACACGAAATCACTTTTAATCTTGATGGCGAACCGTTGA
+GTGGGCAAAACTTCCATATTGAAATACTTCCGGCGGCGTTGCGTTGTCGATTACCACCAGATTGTCCATT
+GTTGCGTTAATCAAACTATTCTCTGTTGAACCAGAGAGAATCCGTAATGCCGGATGCGGTGTAAACACCT
+CATCCGGCATACAGAACAATACTACACCGTAATTAATTTTACCCGTGTCTTCTGCAATGCCAGTTTATCC
+ACCTCAGACACAGCATCATCGGTAATAATAATGTCAATTTTTTCGATTGGCAGTACCTGATTAAAACCGC
+GACGGTTAAATTTCGATGAATCGAGAACGGCAATCACTTTATTAGCAGCGGTGACCATCGCACCGCTAAC
+AGAATAACCTTCATTAAAGGTCGTAATACCATTAACCGCATCAATACCATCAGCACCCACAAACATTAAA
+TCGGCATTAATATCCTGCAGAGAACGTTCAGCAATAGATCCATGCATAGATCGCGTTTTATGGCGGACCG
+TGCCACCGCAGACGACCAGAGTAATGTCTTTATTTTCGGAAAGGGCAAACGCAGCCGGGAGACTGTTGGT
+AATCACCGTGATATTTTTGGCGGTCATTAATCCTTCGGCGATAAGCATTGTCGTACTTCCGCTGTCGAGA
+ATAACGGTCATCCCTTCGTGGATCATTTTGACTGCCGCCTGCGCTATTCTGTTTTTCGGCGCGCTGGCGA
+GCTGAAATCGCTCTTTAAACCCGACTTCCTGGGTCTCGGTTTCGCTATTACCGGACATTATTTTCGCCGC
+ACCGCCATGAAAGCGCGTAACCACGCCTTTTTGTTCGAGAAAGCGCAAATCGGCACGGATTGTCGCTTCC
+GAGGCAGCAAATACTCCCGCCAGATCCTGAACAAGCACGGTTCCCTGTTCATTCACTAATTGGATGATCT
+TATTCCTTCGCTCGAATGAATTCATCGTCATTTACCCATATTCAATTGTGGCTAGTGTAAACGAAGGGGG
+ACCATTGGTGAATGATCTGTTTTGCACAATACCGGGCCTGCATCACGCTGGCCCGCGGTTTCAGGGAATG
+AGCAACACTTTGCCCGGCATGGCATTACGAGCGATGTCACGCACCGCCTGGGCGAAGCTTTCAAAGCTTC
+CACGGTGAGCGATTAATGGCTCCAGGCTTAACTTACGTTCTGTCAGCAACCGGCTCGCCGTTTCCCACTC
+CTGCCCCGGCCAAGGGCTGGAGTAGTTCATCCAACTGCCGATAACCGTCAGCTCTTTACGCAATATTTTG
+CCAAACGTTGCAGATGTTAAATGCAGATCCTGATGCAACGTGCCCACCAGCGCCAGTTGGGCATGAGGAC
+CGGCAATCTCTACCGCCAGTTCGACGGTTTGCGGGACGCCAGCCGTCTCGAGGATAAGCTGATTAAAGCG
+CAGCTCGCGTAAAACGCCCTGTATTTGCGGCGCGCTCATTTCACGGCTGTTAAATGTTTGCATCGCACCG
+AAAGATTTTGCCAGTGCCAGTTTTTCTGAGCTAATGTCGATAGCCGTCACACTCTTTGCTCCCAGCGCGA
+CAGCGCACTGAATTGCCAGCAGGCCAATGGTTCCGGCACCAATAATAATAACGTTTTTATTCTCACATCC
+TTGCGCTAAATGAAAAGCATGCAGGCCAACGGTAATCGGTTCAATAAAAGCGCCATCCTCAATAGGCATA
+TCCGCAGGTAGTGCAAAGACATTGTTTCGCTTAACGACAATATATTCGGCAAATCCACCATCACGCCGTG
+AGCCAATAAAATCATATTTTGCGCACTGGGAATAAAACCCTTTCAGACACTCTGGACAAGTAAAACAGGG
+TAATAACGGCACACAGGCAACCGCATCGCCGGGGTGTAAATCATCAACACCGGATCCCACCGCATCAATA
+TAGCCACTAAATTCATGGCCTAACGTTATTGGATAATAATGTGCACCATTTTTAAATATCCTGGGTAAAT
+CCGGAACCACATAAGCCCGAGCTGGCAATTTTTACCCGCACCTCATCCTGATGTTTAATTTCAGGAATGA
+CGCTTTCTGCTACGCGCACGATACCATCAGTATCATTCACCACTGATTTCATAAAAACTCCTGATTGTTA
+AGGGGGATAACCTCCCCCTCAGGTAAAAATTATTCTGCGAGAACGACTTTCTCTTGTTTAATAAAGCCTC
+GAGCTCTACGCCAGGTCATGAAAATACCGGTAAGATAAATTGCGCCGATAACAATGAAACCGGGAATATT
+TTGCGGGGAGAAAACCTGAATCAGTAACCAGGTAATGGGAGAACCGCCCTGATCCATTGAAGCCACCATA
+CCCCCGGCTTTTAACGCGCCCGCATTAGCCGCCAGTTGGGTGTGCAAACCAATAGTTTGCGTCGCGATCC
+ACAGGGTGATGCTCATAATGATGACACCCGAAATTAAGGTGCGGAACAGATTTCCACGATGCACCGCGAC
+CGCCATCGCCACAAAGAAGCCGATGGTGGCAAGGTCGCCAAACGGCAGCACCTGATTACCCGGCACACAA
+ACAGCAATTAAAATGGTGAGTGGAATAAAAATCAGGCTTGCCGATACCACCGCCGTATGTCCCAGCAGCA
+ACGCCGGATCAAGGCCAATCAGGAACTCCTGACCGCCGAACTTCGCCTGTAAACGACTACGGGCCTGCTT
+AGCGATGGGCGTTAAACCATCCATGATGGGTTTAATCACCCGTGGCATCAGCAGCATAACTGCCGCCGTT
+TTTACCGCCAGCTGCAATACACCTTTGACATCGTAACCCGCGAGGATGCCGATAATCAGCCCCATCACAA
+AACCCACGGTGACCGGTTCGCCAAAAGGGCCAAATTTGCGCTGAATATCATCGGCGCTAAATTTAATTCG
+GTTAACGCCTGGGATTTTCTCGATGATAGCATCGACCAGCACCGCAATCGGCCCCATATACGCCGACGTA
+CCGTGCGGAATAGCAATGCCTTCCAGCTCAAAGAAATTTCGGGTATCGCGGGCAAACCAGTCGCCGAGCT
+TATAAACAAACGCCGCGTGAATTACCACACCCGCCATCCCTATCATCCATGAACCGGTTGCCAGATGCAG
+CAACGCGCCGGTGAAGGTCATATGCCAGATATTCCAGATATCAACATTTACCACCCGCGTCATACGGGTC
+AGTAACATCGCCACGTTAACCAGAATCGCAATCGGAATCGCCACCAGCGCAATTTGCGACGCCCAGGTCA
+TGGGTGAAGAGCCCGGCCAGCCGACATCGACCACATGCAGATTCAGGTCGAAATTTTCCGCCATCGCTTT
+CGCCGCCGGACCAATGGAATCCAGCATTAAGCCAATCATAAGGCCAATGCCAACAAAGCCAATCCCGATA
+TGCAGACCCGCTTTAAAGCAATCGCCTGCCTTCATGCCTAATATTTTAGAAAAAATAATGATGACAATCG
+GCAGCATCACCGTAGGGCCGAGGTCGAGAATATAACGCATGACTTCTGAAAACATAGGTCACCCCTGTAA
+GATAGTCAGAATTTTATTTTGTAATGCTTCGATACCGACACCAGAAACAAAAGGCATGCCGTGAACTAAC
+GGAATATTGCCAAAACTACGATCCACCCTGGCAGTGGTGCATATCAAATGCACGCCATCCATATAGGTTT
+CTATTTCATTAACCCGACACTGGATTAATTCAACAGGAATATTATGACTCTGACACAACTCTTTAATTTC
+TTCCGCCGCCATCGTAGAGGTCGCAACCGCGCCTCCGCAAGCGACAATAATCTTGCGTTTCATAAATAGT
+CCTTTTTATTGTTACAGAGGGATTTATTCGTCTGAATCTAAAACATACTTTGTGAAGTATTCCTTTAACT
+GGGTTTCAGGAAGAGTGATTAGTGTCTCGACGATCTCGGGCTGTTGTAACTTGCCAAATAAACAGCGTAA
+AAGTTTCAATTGCTGCTGCGGATTTTCCACAATCAACGCAATAACCAACGATACCGCCACGTCGTTATCA
+TCATCCGCTTGCTGAAAATGAACTTTATTTGTTGGCCTTAACAGATAAATGGCTGACGACTTAGCATGAA
+TCGCCTCACAATGCGGTATTGCAATGGCGTGCTGCTCAAGCATTATCCCGGTAGGGAATTCTGCTTCTCT
+GGTAATTAATGCCTGTGGCCAGGTATCATGAACCACACCTTTCGCGAGCATCTCATTACCGATATGGGTT
+AAAACTTCGCTACGATCGACAAAAGAAATTCCGCTACGAACAAACAGGTTAGTCATATATCGTCCTTATT
+CCGCACAGCCGTAGCGATAGGCGCGCAAAACATCATAAATTTTATCCATAATAAGCTGATGCGGTATTGC
+TGATAATTCCCCGGACTGAATGCGTTCAAATTGTTTCGGAAGATACTGACTAATCATGCCCAGTGGGATG
+TCCACGCCTTCCAGATTCACCATCATCGTTTCGACGCTATTTTTAATCCGGCTATGCGGCCAGTAATAAC
+GAATACGATCCGACAAGCTATAACGAATATCCAGTAATGAATCATTAAAACCTGTGCGATAATATTTTTT
+CCAGTATTGTGGTTCGTCAAGCATCACATCTTCAATCACCGCCAGACAACGGCTACGATTTTCTGGAGCG
+ATGAGTTCCTGCTCAATTTGTGCCAGCGCAAATATCGCCTCACGTAAAGCAAAGGTTAATGCCGGACCGA
+CTTTCAAAATTGCAAAATGATCGCGAACTAATTCCCGATAGGCCGTCTGAGTCTGGTAATCGGTGGAATG
+CGCTTCATAAACCATTTTGGTTTTTTCTATCCATTGCGCCAACGCCTGAGCTTCTTGCGCCTGATAATGA
+ATAATATTGCTATGGTCAAATTCCACACCCGGCTGCACCACGATGGCAATCACGCGTGTTAACGCCTCTG
+CCAGACCACGGGCAATAAAGGCCTTTTGATGCGTGCGTAAAGTATTGGCGGCATCTTCAACCTGGGTGAT
+GTGTACTGACTGAATGGCGCTGGCCTCACCGCCCGGAACCGGAACTTCAGTGCCAATGACATAGTTCAGT
+TGCTCACGCTGGCAATCAGTCGCCACACTTTCCGCCGCCAGACAAAGCACAGCGGCACGTTCAGCAACCG
+TTTCTGGCGCTAACGGTATGGAATCGTCAGCGCAGGACATTGACGCATCAAGATGAATTTTACTGAAGCC
+GGCACGAACATATGCCTTTACCAGCTCGACGGATTTTTCCATCGCCGCATCCGCATTTTCTTGCTGCCAG
+CAGTTTGGTCCCAGATGGTCGCCGCCGAGAATAATACGCTCACGAGCAAATCCGACTTTATCGGCAATCG
+CAAAAACAAATTCGCGAAAGTCTGCCGGTGTCATTCCGGTATAACCGCCAAATTGATTGACCTGGTTTGA
+CGTTGCTTCAATCAGCACTTTACGCGTGCTGTTGCGATCAAATGCCAGCGCCGCTTCGATAACCAACGGA
+TGTGCAGAACAGACTGAACATATGCCAATATGTTCACCAGCTTTATGCCGGGCAATTAACGTTTTCATGT
+TTTTTCCTTGTTAAATGGCAGGTGCGTTATGCCCTGCCCTCGCAGCCACAATCGGCAATCACTTTGCTCA
+CCACATCGCGCATTGCAGATTTAGCCGACTGCAAATAATCACGGGGATCGGTCGCTTCGGGGTGCTCGGT
+CAGGTAATTTTTTAACGCCTGCGAGAAGGCATTTTTCAGCTCCGTTGCAACGTTGATTTTGCATATCCCC
+AGTTTGATGGTTTGCTGAATATCCTTAGTCGATAATCCTGACGCGCCATGCAGCACCAGCGGTAAATTCA
+CCCACTGGCGAATGTTCTCCAGTCGAGAAAAATCAAGCGCCGGTGCTCTGGCATACATACCGTGAGCCGT
+GCCGATGGCGACCGCCAGGGAATCAATCCCGGTTGCCTCGGCAAATTCACGCGCCTGAACGGGGTTGGTA
+TAAAAAGCATCGGCTTCATTGACTTGCACATCATCTTCCTGGCCGCCAAGTTGCCCCAGCTCCGCTTCGA
+CGCTGACATCAAAGCGATGGCAAAAATCCACCACCTCTTTGACCCGTGAAATATTTTGCGCAAAAGGCAA
+ATGCGAGGCGTCAATCATGACTGAGCGCACGCCAGAACGAACCTTCTGAGCGATATCGTCAAATTTCGTG
+TGATGGTCGAGATGAATCGCCAGTGGATGGTGATATTGCTTCGCCATCGCGCTGACCAGCGCCATCAGAT
+TTTCTGTACCGACATGAGTAAATGTGCCGGGCGTTCCGGCGATGATGACCGGCGCATGCATGCTGGCAGC
+GGTTTCCACCACCACTTGCATCGTTTCGAGATTGTGAATATTGAATGCCGGAACCGCATAACCGCCGCGC
+TGCGCGTTGTTCAGCATCTGCTTTGTCGATACCACGTACATTTTCACATCCTGTCGTTTGTTTTCGATTT
+CAAAACATAATGAAATTATTTGTTTTCAAATGTCGAGATAACGATCACAAAAACGACAATGTGAAAATTA
+ATCAGAATGACAGGCAAAAAAAACGGCCTCCCGGGGGAAGCCGTAACGAAGTGCGCGTGTTTTTATGCCG
+GATGCAACGTAAACGCCTTTTCCGTCCTACGGGGTGGTGCTGTTCGTATGAGGCGCATCAGGCGATAGTA
+ATTTTGCTATCGAGATAAACGTCCTGCACGGCGTTAATCAGTTTCACGCCGTCAGCCATCGATTTCTTGA
+ACGCCTTACGTCCAAGAATCAGCCCCATTCCGCCTGCGCGTTTGTTGATAACCGCAGTACGCACTGCATC
+GCTGAGGTCAGTTTCACCGCCTGCAGCACCGCCGGAGTTTATCAACCCGGCCCGGCCCATATAGCAGTTA
+GCTAACTGATAACGCACCAGGTCAATCGGGTTTTCACTGGTCAGTTTGCTGTAGACTCGATCGTCGGTAT
+AACCGTAATTAATCGCTTTATAGCCGCCGTTATTTTCCGCCATTTTTTGTTTGACGATATCTGCACCTAT
+GGTTGCCGCCAGATGGTTCGCCTGACCAGTCAGGTCGGCGGAAACATGGTAATCAACGCCATCTTTCTTA
+AAGGCGGAGTTACGCAAATAGGCCCACAGCACTGTCACCATGCCCAGCTCGTGCGCACGTTCAAAAGCCG
+CAGAAATTTCTTCAATCTGGCGACGTGACTCTTCCGAGCCAAAATAGATAGTCGCACCAACCGCCACCGC
+GCCCATGTTGAACGCCTGCTCCACGCTGGCATACAGCGTTTGATCGTAGGTATTCGGGTAACTTAGCGTC
+TCGTTGTGATTAAGTTTGACGAGGAATGGAATGCGATGCGCGTAACGCCGCGATACCGATGCCAGCACGC
+CGTAAGTTGACGCCACACAGTTACAGCCCGCTTCGATCGCCAGTTCAACAATGTTTTTCGGGTCAAAGTA
+GAGCGGGTTAGCGGCAAATGAAGCTCCGGCAGAGTGCTCAACGCCCTGGTCAACCGGCAGAATAGAAAGA
+TATCCTGTGCCAGCCAGACGCCCGGTGTTGTACAACGTCTGCATATTACGTAACACCGCTGGCGGGCGAT
+TATTGTCAATCATCACGCGGTCTACGTAGTCATGTCCGGGGAGATAAAGCTGGTCAGAAGGAATAGTCAT
+ACAACGGTGCTGTAAAAGGTTGTCGGCGTCTTTGCCAAGCAACTGCGCAATATCTGTCATTACTATGCTC
+CCGTAAATTCCGATTGGATATCGGCTATGGATTGTCCTGGCCCGCCTTTTGCGGGCAATCATAATCCTGG
+TCGTTACGGGCGAGTTTTTCCATCTTTTGGATGTTTTTTCAGCGTTTTCTGTTGGCTCGATTCATCAGAA
+AAAATGTTACCGCGGTCAAGTTTTCACCGCAAAGGTATTTAAAAGGTATTACTAAGTGGTATTGTCATCG
+CGTACCTTACATTACCTGTCATGAAGGAATTAAAAGATGAAAACAACAGCAAAGCTGTCGTTCATGATGT
+TTGTTGAATGGTTTATCTGGGGCGCGTGGTTTGTGCCATTGTGGTTGTGGTTAAGTAAAAGCGGTTTTAG
+TGCCGGAGAAATTGGCTGGTCGTATGCCTGTACCGCCATTGCGGCGATCCTGTCGCCGATTCTGGTTGGC
+TCCATCACTGACCGCTTTTTCTCGGCGCAGAAAGTGCTGGCGGTATTGATGTTCGCTGGTGCGGTGCTGA
+TGTATTTCGCCGCGCAACAGACCACTTTTGCCGGGTTCTTCCCGTTACTGCTGGCCTACTCGCTAACCTA
+TATGCCGACCATTGCGCTGACTAACAGTATCGCTTTTGCCAACGTGCCGGATGTGGAGCGTGATTTCCCG
+CGCATTCGTGTGATGGGCACTATCGGCTGGATTGCCTCTGGTCTGGCATGTGGTTTCTTGCCGCAAATGC
+TGGGGTATGCCGATATCTCACCGACGAACATCCCGCTGCTGATTACTGCCGGAAGTTCTGCTCTGCTTGG
+TGTGTTTGCATTTTTCCTGCCCGACACACCGCCAAAAAGCACCGGCAAAATGGATATTAAAGTCATGCTC
+GGCCTGGATGCGCTGATCCTGCTGCGCGATAAGAACTTCCTCGTCTTTTTCTTCTGTTCATTCCTGTTTG
+CGATGCCACTGGCGTTCTATTACATCTTTGCCAACGGTTATCTGACCGAAGTTGGCATGAAAAACGCCAC
+TGGCTGGATGACGCTCGGCCAGTTCTCTGAAATCTTCTTTATGCTGGCATTGCCGTTTTTCACCAAACGC
+TTTGGTATCAAAAAGGTATTATTGCTTGGTCTGGTCACCGCCGCGATCCGTTATGGCTTCTTTATTTACG
+GCAGTGCGGATGAATATTTCACTTACGCTCTCTTGTTCCTCGGCATTTTGCTGCACGGCGTAAGTTACGA
+TTTTTACTACGTTACCGCTTACATCTATGTCGATAAAAAAGCCCCCGTGCATATGCGTACTGCCGCGCAG
+GGGCTGATCACGCTCTGCTGCCAGGGCTTCGGCAGTTTGCTCGGCTATCGTCTTGGCGGTGTGATGATGG
+AAAAGATGTTCGCTTATCAGGAACCGGTAAACGGACTGACTTTCAACTGGGCCGGGATGTGGACTTTCGG
+CGCGGTGATGATTGCCATTATCGCCGTGCTGTTCATGATTTTTTTCCGCGAATCCGACAACGAAATTACG
+GCTATCAAGGTCGATGATCGCGATATTGCGTTGACACAAGGGGAAGTTAAATGAAAACAGAACGTATTCT
+CGGTGCTCTTTATGGGCAGGCGTTAGGGGATGCGATGGGGATGCCCTCCGAGCTTTGGCCGCGCAGTCGC
+GTCAAAGCACACTTTGGCTGGATTGACCGTTTTCTGCCTGGGCCAAAGGAGAATAACGCAGCCTGTTATT
+TTAACCGCGCCGAATTCACCGACGATACCTCGATGGCGCTGTGTCTGGCGGATGCGTTACTGGAACGTGA
+AGGCAAGATCGATCCGGATCTGATTGGGCGTAATATTCTCGACTGGGCGCTGCGTTTCGACGCCTTTAAC
+AAAAACGTACTAGGTCCGACCTCGAAGATTGCGCTTAACGCCATTCGCGACGGTAAACCCGTTGCTGAAC
+TGGAAAATAACGGCGTGACCAACGGCGCAGCGATGCGCATCTCGCCATTAGGTTGTTTGCTTCCGGCGCG
+TGATGTTGATTCCTTTATTGATGATGTGGCGCTGGCCTCCAGCCCGACACATAAATCCGATCTGGCGGTT
+GCGGGGGCGGTAGTCATCGCATGGGCGATTTCTCGTGCCATTGACGGAGAAAGCTGGTCAGCAATTGTTA
+ATTCACTGCCTTCAATTGCGCGACATGCTCAACAAAAACGCATCACTACCTTCAGCGCCTCACTGGCTGC
+ACGTCTGGAGATTGCGCTGAAAATTGTGCGCAATGCTGACGGCACCGAATCCGCCAGCGAACAGCTTTAC
+CAGGTCGTTGGCGCAGGTACCAGCACTATTGAGTCCGTTCCGTGCGCCATTGCGCTGGTTGAACTGGCAC
+AAACCGACCCGAACCGTTGCGCCGTCCTGTGCGCTAACCTTGGCGGCGACACAGACACCATCGGTGCTAT
+GGCGACGGCAATTTGCGGCGCGTTGCATGGCGTTAACGCTATCGATCCTGCGTTAAAGGCGGAACTGGAT
+GCAGTAAATCAGCTTGATTTCAACCGCTATGCCACGGCGCTGGCGAAGTATCGCCAACAACGGGAGGCGA
+TATGAGCGGCGCTCGATTACACACGCTGCTGCCTGAATTAGCCACGCGTCAGTCGGTGATGGTCGTCGGC
+GCGGCGGTCATTGATGTGATCGCCGACGCTTATGCCCTCCCCTGGCGTGGGTGCGATATCGAACTGAAAC
+AGCAGAGCGTTAACGTTGGCGGCTGCGCACTGAATATTGCCGTGGCGTTAAAGCGCCTCGGCATCGAAGC
+GGGTAATGCCTTGCCGCTCGGTCAGGGGGTGTGGGCGGAGATTATTCGCAACCGGATGGCAAAAGAGGAC
+TTAATCAGCCTGATCGATAACGCCGAAGGTGATAACGGCTGGTGTCTGGCGCTGGTTGAGCCTGATGGCG
+AACGCACTTTTATGTCATTCAGCGGTGTGGAAAATCAGTGGAATCGCCAGTGGCTGGCGCGATTAACCGT
+TGCGCCTGGCAGCCTGCTCTATTTTTCCGGTTATCAACTGGCCTCGCCCTGCGGCGAATTGTTAGTGGAA
+TGGCTGGAAAAGCTGCAAGACGTGACGCCGTTTATCGATTTTGGCCCACGTATTGGCGATATCCCGGATG
+CATTACTGGCGCGGATCATGGCCTGTCGACCTTTAGTGTCACTCAATCGTCAAGAGGCTGAGATTGCCGC
+CGAACGTTTTGCTTTATCCGCAGAGATAACAACACTTGGCAAGCAATGGCAGGAGAAATTTGCCGCGCCG
+TTGATCGTTCGCCTCGATAAAGAAGGCGCATGGTATTTCAGCAACGACGCTTCTGGCTGCATTCCGGCAT
+TTCCAACGCAAGTTGTAGACACCATTGGGGCGGGCGACAGTCATGCCGGTGGCGTACTTGCCGGGCTGGC
+CTCTGGTCTGCCACTGGCGGATGCCGTATTACTGGGCAATGCAGTGGCGTCGTGGGTTGTCGGGCATCGG
+GGCGGTGATTGTGCGCCAACGCGCGAGGAACTACTCCTCGCACACAAAAACGTATAGATCGCTGCGACAG
+TGGCTGATGCTGTACTCAATAGGCCGTTGCTGTTGGTCAAGCGCCACTTGCTTGATCACCAGCACCGGTA
+TTTTGCTATCTAACTGAATATGTGACTGAAACTCGGCATCCGGCATCCGGGCGCTAACGCGGGAACGCGT
+ACGTTGTGGGTAAATGTGCTGGCTGCGGAAGTAGTCATAAAGAGAAATCCCGATGGCATCAACATCATGA
+ATTAAATGTGCCGGAACCCACGATTCCTCAATCGATACCGCCTCTTCATCGACATAGCGAATACGCTTAA
+GCAAAAAGACATCACTTCCCGCTTCGACCGCCAGCTGCTGCGCGACTTCTTCGGGACATTTCACGACACG
+CTTGTTAACCCATAACGTATCGGGCTTTTTCCCGCGCAATACCACCTGCTGAGAAAACCCCCGCGCTTCT
+TTCAGCGAGTATTCGAAGATGTTGTTGATCTGCGTGCCGTAACCACGCGAACGCGTCACCACGCCCTCTT
+CTTCCAGCGACTGCATCGCCTTGCGCACCGTAATGCGCGAAACGCCGGTTAACTGACTTAAATCACGCTC
+ACCGGGCAAAATATTGCCATGCTCCAGCACCCCGCTGCGCACGGCATTTTTTACCGTTTCGGCAAACTTA
+ATATAAAGCGGCGTGTTATCCGCCGCTAAAATACGCTCGTTCAGTTGGGCAATCAGCTGGGTATGCGCTT
+GTTCCATTTGTCTTTTTCCTGCCGGGGAATCTGGTGGGAGTATATCACTGCTTCTTATTTAAGGCGTTTC
+TTTAATCCCATCAACGAATGCCTGCAACTCCTCCACCGTGCCATTAAACACATTAAAATCCACCGGACCA
+TTAATGCCATCGACCTGTCCACGGTCAGAATGCTGCCAGAAGCGCCAGGCCATGCCGTCATTGTCCGGGC
+GACGTTGATAATAGTGAGCCACCCACCACGGATATTCATTGAAATAGCCCGCCAGATTGGTGTGATAAAA
+AACGGCTCCTGAGTAAATAATTGGCTTTTTTCCCGTACGTTTTTCGACCATTTTTAGCCACTGACTTACC
+CGCTTGCGTAATTCTTTTGCCGATAATTTTCCCCGTTCTTCTACGTCCAGCACGGCAGGGAAATCGCCTT
+GTGAGAAATCCACCGTTTGCAGAAATAATCTCGCCTGAACTGAAGCAGATACCGACGGGGAAAAATAATG
+ATACGCCCCGCGCAGCAGGCCATTTTCGCGGCTTAGTTGCCAGTTACGCGAAAAATAGGGGTCCACCAGC
+TTTTCGCCTTCCGTCGCCTTAATAAAGGCAAATTGTAAGCGAATACCGTTATCGCGCATTTTTGCCACCC
+GCTGCCAGTCGATCCGCTCCTGCCAGCGCGAAACATCTATTCCGTGAATGGTGTAACTGGCAGGAATGCG
+AATAGCGAAAGATTTAACCGGGCGATAACCGTAGAAGTGAATGTAGTCTTTAATCTGAATTGCTGTCGAA
+TAGAAAAAATTCACCGTCTGACGCGGATAAATTGCAACGATGGAAATTAGCCCAAGAGCGCATAATAAAA
+CGGTGAATTTTTTTCGACTGGTGATTCTCAACTGCATTGGTTTCATCCCTGAATGTCAGCACCAAAGGCT
+GACAATAACCAAAGCAGCTATAGTACGGTGCTCACCACCAGGCGTGGAAGTGGTGAACCGGACCAATACC
+GTGACCAACTTCCAGCGTGTCGGCCTGGGCTAATGCCGATGAAAGCCAGCTTTTTGCCTCCTGTACGGTG
+TCAGCCCAGTTTGTATGGCGCGGGCGTAGTGCAGCCAACGCCGCAGAGAGCGTACAACCAGTGCCGTGAG
+TGTTTTTGGTCATAATGCGCTGTGCGGTAAACCGTTGTTCACCCTCGCGGGTAAACAGCCAGTCCGGGCT
+TTGCTCATCATCCAGATGACCACCTTTCATTAGCACTTCGCCACAGCCCATCGCCAACAGCGATCGCCCT
+TGTTCCAGCATTTCCTGTTCGGTGCGCGCGTGTGGCGCGTCGAGCAAGGCGGCTGCTTCGGGCAAGTTTG
+GTGTTATTAATGAAACCTGTGGCAATAATCGACTGCGTAGCGTGGCAACTGCCGAAGGTGAAAGCAGCGG
+GTCGCCGCTTTTTGCCAGCATAACGGTGTCGAGTACCACGTTTTGGATCTGATAACGTTGCAACCGTTCT
+GCCACCGCTTCAACAATATCGGTTTCCGCCAACATACCGATTTTAGTGGTGTCGATTCGCACATCGCTGA
+ACACCGAATCGAGCTGGGCGGCGACAAAATCAGGCTCAATGCGATACACCGACTGTACGCCACGGGTATT
+TTGCGCCACTAGTGCAGTAATAACTGAGCAACCATAAGCGCCAAGTGCCGAGAAGGTTTTAAGATCGGCC
+TGAATCCCCGCACCACCACTCGGATCAGTACCGGCAATCGTCAGAGCGTTAATTCGTTTCATGCCTGCAC
+CTCCTGCGTCAATTGCCAGAGCGCATCAAGGAAATGTGGAACAAAACTGCCTGGCCCCTCGCTTCTGGCA
+ACTGCGCGTTCTCCGGCTTGTTTCATCCAGTGACAGGCAGATGCGATATTTTCCAGCGTATCGCCTGGTA
+ACGCACAACAGGCAGCGACAACCGCCGATAGTGCACAGCCAGTTCCTACCACTTTGGTCATTAGCGGATC
+GCCACCGTGAATGCCAACGGTGCGACGACCATCGGTAACATAATCCACCTCGCCAGTGACCACGACGATT
+GCGCCAGTTTCCCGTGCCAGTGTTTGTGCAGCGGGTATCGCATTAGCTGCGGCGTCAGTGGTATCCACTC
+CCCGTCCACCATTAGCAACGCCAGCTAATGCCATGATTTCCGAAGCATTACCACGTATGGCGGTTGGCTT
+ATGGGACAGAAGTTCCACACAAAAACGGCGGCGATAATCGAGCGCACCAACCGCAACCGGATCAAGCGTC
+CAGGGCGTTTGTGATCGTGTTGCTTGCTCAACGGCAGCACTCATCGCTTGCGCTCGTGGCTGCGTCAGTG
+TGCCAACGTTAATCAGCAACGCACTGGCGATAGCCGCAAAATGACTGGCTTCTTCGGTTTCGATAACCAT
+CGCTGGCGATGCACCGAGCGCCAGCAAGGTATTGGCAGTAAAGGTTTGCACCACATCGTTGGTCATACAG
+TGCACAAGAGGGGAATGTTGGTGAAAAAGGTGTAACGCGTGCGCAGATTGCGCTGAACTCAGCAGGTCGA
+CTTGCATAGTTTGCTCCTGCCATAACGTGAAGAAGCAATGACCTGGTGGTCCGTGACTTCCCTACGCTGG
+CATTATCCAGATCAGGTGATACGGGTATTTCTCAGCCTTCACAAAGAAGGGCACCCCGAGTCGTTAGGTT
+GCGATAATAAATCGCAGAGGAGGATGGTAATGTCCAGCGCACGCGTTGTAAACGGGGAAAAACGGCAGTT
+TTACAATCGCGTTAATAAATTATTTGATATAAGAATCCAGCACCTTCAGAACGACATCCAGATCTTCTTC
+TCGTTTTAGCTCATCCCCCTGGTGAACGATGTGTTCCGTCAGATGACCTTTTATCACTTCCCGCATCAGA
+CCGTTTACCGCGCCACGGATAGCAGCAATCTGTTGTAAAACTGCAGCGCATTCATGCGGTTCGTCGAGCA
+TTTTCTTGAGCGCCACGACCTGGCCCTGAATCTTACTGGCACGCGCTTTCAGTTTCTGTTTATCACGGAT
+TGTATGAGACATGGCAACACCTGGTTAACAAGAATATGAAAAATCATAGCACTATTAATCTACTGGGGGG
+TAGTATCAGGTACTGGGGGGGAGTAGAATCAGATTGCCGAATTAATACTAAGAATTATTATCATGACCGA
+ATTTACAACACTTCTTCAGCAAGGAAACGCCTGGTTCTTCATCCCCAGCGCCATCTTACTTGGTGCGCTT
+CATGGCCTGGAACCGGGGCACTCAAAAACGATGATGGCGGCGTTTATCATCGCCATCAAAGGCACCATTA
+AACAGGCGGTGATGCTCGGACTGGCAGCAACTATTTCGCATACCGCAGTGGTCTGGTTAATTGCCTTTGG
+CGGGATGGTGATCAGCAAACGCTTTACTGCTCAATCAGCAGAACCGTGGCTCCAGTTGATTTCCGCAGTG
+ATCATTATTAGCACCGCGTTCTGGATGTTCTGGCGTACCTGGCGCGGCGAACGCAACTGGCTGGAGAATA
+TGCACGAGCATGATCATGAGCATCATCACCACGATCACGAAGATCACCACGACCATGGACATCATCACCA
+TCACGAACATGGCGAGTATCAGGATGCCCATGCACGAGCCCATGCCAATGACATTAAACGACGCTTTGAT
+GGTAGAGAGGTCACCAACTGGCAAATTTTGCTATTTGGCTTAACCGGTGGCCTTATCCCCTGCCCGGCAG
+CAATTACCGTGCTGTTGATTTGCATTCAGTTGAAAGCCCTGACACTGGGCGCAACACTGGTCGTCAGTTT
+CAGCCTCGGCCTGGCGTTAACGCTTGTCACCGTAAGCGTTGGCGCAGCAATCAGCGTTCAGCAGGTCGCA
+AAACGCTGGAGCGGATTTAACACTCTCGCTAAACGCGCTCCCTATTTTTCCAGTCTGTTGATTGGCTTAG
+TTGGTGTGTATATGGGCGTACATGGCTTCATGGGCATAATGCGATAACTCAATCCTTTAGGCTTGCATGT
+TATCTTCAGCCCAGGATGATTCTTAAATCAGCTATTTCCGCTGACTCTCTGCTCGCTAAGGATGCTTTTA
+GGGCATCCTTTCATTTACACTTTTTACGAAATCATGGGATCACTAACAAAATATCGCTTGTCAGTTATAT
+TGTATGGCAGGAAAGATATGCGACTGATATTACAGATCCCCAAAGTGGAGAGTTTATGACCATTAAAAAT
+AAGATGTTGCTGGGTGCGCTTTTGCTGGTTACCAGTGCCGCCTGGGCCGCACCAGCCACCGCGGGTTCGA
+CCAATACCTCGGGAATTTCTAAGTATGAGTTAAGCAGTTTCATTGCTGACTTTAAGCATTTCAAACCAGG
+TGACACCGTCCCAGAGATGTACCGCACCGATGAGTACAACATTAAGCAGTGGCAGTTACGTAACCTGCCC
+GCGCCTGATGCCGGGACGCACTGGACCTATATGGGTGGCGCGTACGTGTTGATCAGCGACACCGACGGTA
+AAATCATTAAAGCCTACGACGGTGAGATTTTTTATCATCGCTAAAAAAAAGCCCCCTCGGAGAGAGGGGG
+GAATGCAGACACCTTAATATTTTTATTATTAGCCACTTGCTCGTCTTGCTTGTTATTAGTCGTATTTCAC
+GTTGATTAATGCGGTTGCCTCCAGTGCGCTAGATTTAACTTTGTTTGTATCGTAGACGTAGTAACTGGCC
+GTTATCGGAATTGAAACCGTTGTATCTGTAAGTTTTGACTTTGCCGCAATTTCTTTTAAATTTGTATATC
+CTTTACTGCTGTTAGTGATATTTAAAAGTGTGACTGGCGTACCATTACTTTCAAGAATAAATCCTACGCC
+ATTATCTTCCGCACCTTTCAGGATCGTGTTGCTGTTGGTTAACAAGTCAGAACTTGATAAATACACCTGC
+ATTTTCCGTGATGTTTGATTTTGTTGACCTAATAAATTTTTACAACGCAGAATAATATCCCCTTTTTTAC
+TATTTATTGTTGTTTTGTTACCTGTGGCTGGTAATTGTGAAACGGGAATACTCTCTAACGTAATTAATAA
+ATCGTCCGGTTTGCAGGTTGTGGTTATCGGGTTGTATGACAATGTCAGATTAAAGGAATAGACACCTGCA
+TTTTGTGCCAATGCATTTCTGTAGCTATTTACACATGCATCCCATGACTTACCACCTAATAAACACAGTA
+GAAATTGTACTGCGGCACTCCCGCGTGTCGATGATGAAGCACTGGATAATGTCGCAACTCCATTAATCAT
+CACTGAACCACCGCCCCCCGCAGAAACATTTACTTTTGCATTACTGGCCGCAGGTGTCACCGTCACCGAA
+TAACCACTGGTGAAACTGGTCTGATTATTTGACAACGTAATGTTGTTTTTATTGGTCCATTCAAAATGTA
+AATTTAATTTAATGGTATCGTTATAAAGTCCAACAATAATATCCGACGGGCTCATAGGTGTGATAGTATT
+TGTACTCACGCATGACGAATCATTAAAATTATGCTCATATGTCGCTATTTGTGTTTGAGTAAGTGCAAAA
+TCCCCCTGAACAACCAAATTGTGCTGAACAGATAACTCACTATAACATGCCGCATAGCTCACAGGCATAA
+CCATCATCATTACTATAAATAGCATTATGCGAATTTCCATAGAACCACCTGACTATTACTGGCAAATATA
+ATTTTTACTTTCATCAATCTCTTTACCGAAGGTGATTGTGCATGAAAGCCCTTGTTGCTTATCAATTGCC
+ACATTAACCGATGGCGGTACTTCATTGGTGCGAATAAATAACTGGCTTCCCTGGCCGACAACACCAATAT
+TATGACCATGGATATCATTGACTTCATAACCAAACGTTAATGGTTGCCCATCCGCTCTTAATGCTTTTAT
+AAACCATGGCTTGCGCTGATCGGTATCAAAATTAACCAGTACAACCGCGCCGCGATAAGGGGCGGCAATT
+TTCCGGTTGCCACGTAATTCTGCTTCGCTATCGCTTTGTGACACATCCAACATCAGGTAATTTTCCCGAT
+AAGGTGTCATTCCGTCGTATACCACCACTCCATTACGGTTTGTTGTGCGATATTTTTGCCCATTGACATA
+AGCATCTTTAATTCCTGGCGCATTCATCACAGCAAACGTTTCAGAAAGACGGTTTGCCAGATTAACGCCA
+CCCGACCAGGCGACAATGCCCCCTGAAACACTGGCTCCAGCCTGTCGATAAGCACTCGACTGACTATAAC
+TGCCATTCACTGTCGCAACCGGCGCGTTCCAGGTTAAATTCGCCCCAGCTGTCGTTTCATTTCCCTGATA
+CTGATAACTCAGGTTGACCCCATAGTTAAACTGATCCCGGCTTCCAACGGTTCCTGATAATCCCGTATTA
+TTTGAGGCAACCCCCTGATCATCAAACGTCGTTGACTTAGACATATATATTTGCCGACGAGGCGTCGTAA
+CGTCATCACCCCAATCAAAGGGAATCGATATAAAAATATTAAAACGTTTCTCTTCATGATGATTCTCGTC
+ATAAGCATGGCTTGCCGCGAGGGTATAGCTTATCCTTCGCAGGTTGTTGGAATAACTCAACTGATAATCC
+TTACTGCTGCCGCTACGCCCCCAGTAATCTCGCCATAACGTACTTAAGGACACAGAACCCCAGCCTTCTG
+GCAATGACTGACTCATATTGGCAGAGAAGCTATTTTTACGGCCAAAATCGTTCTGGTAATAATCGGCAAT
+GTCATAGATATCGTTTTCATCACGGCGATAATTATCTTTATTGTTTGCCCATACGTGATCATTAAATGTC
+CGATAATCACGCGACGAATAACGCCAGGCCGCCAGACCAAAACGTGTCGACGTTTGGCTCACAAATTTGT
+TGTAGGCAATTTGATAACTTTGCCCGTCAAACACATCGCCGTTGTCTTGTTTACTATGCGACTTCGTGGC
+ATCGACGGAAATGGCACCAATGCGTGTATTCCAGCCAGTCCCCAAAGTGAACGCGTAATAATTATTCGCG
+ACCATCGAGCCACCATACAGCGTTAATAAGTTATTAAAACCATACTGATGACCCGCCTGGACAAAATCAC
+TTTGTTTGCTCGCCCCTTCAATATGGCTACGACCCGCCGCAAAATCATATTTCGACACGCCGGGTTGCAG
+CATATTTGGTACCGCTGCATAAGGCACCAGATAGGTGGTTACCGAACCGTCCGCCTCTTTCACGCTGACA
+TCAAGATCCGCTCCACCACCGGCCAACTGCAAATCTGTAATCGCAAACGGGCCAGGAGGAACCTCTTTCT
+GATAAACCACAAAACCATTCTGTTCAATAGTTACCAGCGCGTTACTCTGAGCAATCCCCTGCACCCGTGG
+CGTAAAATTTTGTTTCGAGTTAGGCAACATCTGCATATCACGAAACAACCGCACACCGCTGAAGCGAACA
+GAATCAAAAATATCGCTTGATGTGTACATATCACCCACACGAAGCGTGCCGAGAAGTTGGGCAAATCCAC
+GTTCCAGATACAGGGTATTGCTTTTCCACCCCCCTGGATTGTTATTTGTTTTACTGAAACTGGCATCAGA
+ATGCAGTTGCCACCCCAATAAATTTAACCCGCTGTTAAAACGTACATATGTACTCTTGCTATTACCGGAC
+GCTTTATAATCGCTGTAATACTGACTCACATAATAAGAGGTATAAAACGCATTAATACCCCGCTCCCAGT
+TTTCTGGTGGAACATAGCCACTTTCCAGCTCTTCCACCCAGGCCTGCGGGACACTGAAATCGAGACGAAA
+AACTCCGATATCCCAGGTATAGCTCCCGCCCTGAATAAGTTGCTTAAATGTTAAACATTGCTTACCGCTG
+GCAAAGTTATCGGTATTAATGCCTAACCGCTTGATCATTTCCCTTGATAAACATGTTTCTTGCGGGTTGT
+CTTTAACAATGATCTCATATTTCCCACGCCATTGCTTATTGACATAAATATCGATGTCATACTGCCCCGG
+CAAGGGCTGATTATCTTCAAGACGAATATTTGAAACCTGCTGGTCTTTCATTCCACCTATCATGAAATGG
+GTATCAAAGGTTTCTTCAGCTGCATAAGCTTCAATGCCGATCAATAACGCTACGATTGCTGATGCAAGTG
+GGGTCATTCTCAACATAGGCAGCTCCTGCAATTAAATTTTGTCACTAATATAATTGCCATGGTCATCGAT
+AATGGTCAGATGCCAGTTATTTGCATTATTACTTTTGACATTAACACTCTGACTTTCTAAGGGGGCAATC
+ATAATAGTTTCATAATTGACTTTGACATTATTAGCTTTGACATCCGAAATCGTCACCCAATTAGCTGAGT
+CATTTTTTATCACCAATCCATTGCCACTGCGATTTACCAGTAACTTTTTAAAGGTCACTTTATTTACCGG
+AGCAATACCCGCTGGCCGGTAAAACAACTTAATTCTGTTTTGCATCGCAAACTTCAGTGCATTCTTACCT
+TCTTGTTCTGGACTATTTGGTGGAATATCCAGAACATTCAGATAAAAAATACTCTCTTTATTAGTGGGTA
+GTTTATTCGGCATAATTTTAATTTTTACTTGCTGCCCGGAATTTGCCCCTATTTTTGCCACTGGTGGCGT
+TAACATGAAAGGAACCTGAATTTTTTCTGGTGGTAATGACGTATCGCCATCATCAATCCACGCCTGCATC
+AGCGAAGAACGGTTTCCCTGGTTCATCAACTGCACCATCACTTCTTTGTGCTCTGCCGGGTAAATAATAC
+GCGTCCCGTAGATAACAATACCGGCATGTGCAGGAAGGACCATAGAAGAAATGAGTAAAGCTAATAATCC
+TTTCATCTTAATGCCTCTTAAATTAAAAGGCCGCCATGGAGATAGCGGCCATGTTAATTACCTGAAGAAT
+CTTGCAATTTTATTTATTAATCCTGCGCCACACGCATAATCAGGGAAGATAACACATCACCTGAATTCAC
+TGAGTTATCTGTCAGTTTCAGGTATTTTGCTTTAAACGGAATGGCATATTGACCGTCCGCTGTTTTATAA
+CTCTCGATGTTGAAAGGTGCAGAAACATCCAGGACATCGCTGTTATCACCTAAATAGAGATAATAACCCA
+CGGTATCGTTGCTACTGGCTATCGCCTTATCGTTTCCGGTTATTTTATCGTTGGTAATCAACGAGAGTTT
+TACACCAGCAACTTCTTTCGGACAGCTAATTTTTAACATGCTGCTGGTTACACCGACTGCACCATCATAG
+GTCGAGTATTTAGCTTTACCTTCAAAGACCGTAGTTGGTACAGTTGGCATATTAATACTTACTGAATCGC
+CACCTGCTTCGAATTTACACGGAGATTCTGCAATATTCCCTTTAATGGTTAATGTTCCGGTATCAACGTC
+TGCGGCAAATACCCCAGCGCTCATAAAAAAAGAAGAAAAAACAGCGGCAGCAATAATTGAACGTTTCATA
+ATATGCTCCTTAATAAAATCTATTTTTGGTTGTTAAGAGTCTGTATCTCTTGGAAACAAATTTCTCACAC
+CAAAAAAGTTGCCGCAATGTAAACACATTGTTTTATTGATTTAAAGCAAATTAACTATTGCAACATAAAC
+ACAACAAATACTTAAGCACATTAAATATTTATCAAATCTATTAATTAATGTGGATTTCTATAAATGGTAT
+TATTAATATCAATAAAAAAAGCTTAAATCATTCATGTAAATGATTTAAGCTTTCTAAATCCGATTAAAAC
+CAGGGTGGCAAATTAATCGTAGCGATTTAACACGATTCGACGTTTGCTATCGCTATCTGCAGCAATCACT
+TCCGTCGTTACACCTTTAACTGGCGAAGAAACCTGATGACGGGTATCAACATTATACGTTAACTGACCAC
+AATGCTGTTGAGGTTGACCATTAACCATAGCCATACTGCATGTTGGGGGACTGATCCTACCATTAATCGT
+TAATGTAGCAGTTTCTGAAGAGAACGCGGGAGAAGCCAATCCATAGGCAAGAAAAATAATTCCTGACAGC
+CAGTACTTATTCATTGAACGTTATCCCTGTAGTAAAGGTTATGCCTGGAAAGAATGAGTGCATAACAAAC
+TATAGCTGTACATCCACTACACAGCCACGAAGGATGATAATGAAGCATCGCCGGTACGATCAATCGACGT
+TGTAGAGTTTCGGACGAAGGTCCGCAGAATATTCGCAGCATTAAATAAGTGTTCATTAATGCGGCAAAAA
+CAAATACACCGCATCAATGTAACATCTCTGCGGTGTATGAAGAATAATCAGAATGGTTAATACGCGTTAG
+ACCGCGCGGAAGGAAATCTCGCCTGGAATGACTTCACCCTGCCAGTAGAGCTGAGCTGCAACGCGGTCAG
+CCAGCTGGCGGTAGATAGCGGTAAATTCGCTCTCAGGACGGCTGATAACCGTTGGCGTGCCTTTATCGAG
+ATCCTCACGTAAGGAGATGTGTAACGGCATCTGCCCCAGCAGCTGCGTGTGGTATTTCTCGGCCAGTTTC
+TCTGCACCACCGGTACCGAAAATCGGTTCATGGTGACCACAGTTACTGCAAATATGCACACTCATGTTCT
+CGACAATACCGAGCACCGGAACTTCGACTTTCTCGAACATCACAATGCCTTTTTTCGCATCGATCAACGC
+GATGTCCTGCGGGGTGGTGACCACGACTGCACCGGTTACTGGAATGTTTTGTGCCAATGTCAATTGAATG
+TCACCGGTACCTGGCGGCATATCAAGCACCAGATAGTCGAGATCCGGCCACAAGGTTTCCTGCAACATTT
+GCATTAACGCCTTGCTCGCCATTGGGCCACGCCACACCATCGCATTGTCGTCTGTCACCAGATAACCAAT
+TGAATTAGTTGCCAGGCCATGAGACATAATCGGTGCCATATGGGTACCGTCCGGCGAAGTTGGACGCTGA
+TTTTCTGCGCCCAGCATGGTAGGGATTGATGGGCCGTAGATATCGGCGTCCAGAATGCCGACTTTCGCCC
+CTTCCGCCGCCAGTGCCAACGCCAGGTTTACCGCCGTGGAGGATTTACCCACGCCACCTTTACCGGAACT
+GACCGCGATAATGTTCTTCACGCCGTTAATTCCCGGCTGATTCTTCACGCGTTTCAGAGTGGCTATGTTA
+TGCGACAGTTTCCAGTCGATAGCTTTCGCTCCGGTGATGCGCAGCAGTTCGGCGCTACATTGCTCTTTTA
+ACTCTTCGAACGCGCTATGCCAGACGAATGGCATAACCAGTTCCACATGCAGCGTGTCGTCCATCCAGGC
+GACATGGTGCAACGCTTTCAGCGTTGTGAGGTTATGCTTCAGGGTTGGGTGCTGAAAATTGGCCAGTGTC
+CCGGCGACCATTGCGCGCAAGGCTTCTGGTGATTTGGCCTGGGATTGTTCGTTCATCCCGACTCCTTTTT
+TGTATAGATAAACCATCAGCTGATAGTTTACCTGAAGAATATAGAGAAGTACTTACTTAACATTTTCCCA
+TTTGGTACTATCTAAGCCCTTTTCACTATTAAGAAGTAATGCCTACTATGACTCAAGTCGCGAAGAAAAT
+TCTGGTGACGTGCGCACTGCCGTACGCTAACGGCTCAATCCACCTCGGCCATATGCTGGAGCACATCCAG
+GCTGATGTCTGGGTCCGTTACCAGCGAATGCGCGGCCACGAGGTCAACTTCATCTGCGCCGACGATGCCC
+ACGGCACGCCGATCATGCTTAAAGCTCAGCAGCTTGGTATCACCCCGGAGCAGATGATTGGCGAAATGAG
+TCAGGAACATCAGACTGATTTCGCAGGCTTTAACATCAGCTATGACAACTATCACTCGACGCACAGCGAA
+GAGAATCGCCAGTTGTCAGAACTTATCTACTCTCGTCTGAAAGAAAACGGTTTTATTAAAAACCGCACCA
+TCTCTCAGCTGTACGATCCGGAAAAAGGCATGTTCCTGCCGGACCGTTTTGTAAAAGGCACCTGCCCGAA
+ATGTAAATCCCCGGATCAATACGGCGATAACTGCGAAGTCTGCGGCGCGACCTACAGCCCGACTGAACTG
+ATCGAGCCGAAATCGGTGGTTTCTGGTGCTACCCCGGTAATGCGTGATTCTGAACACTTCTTCTTTGATC
+TGCCCTCTTTCAGCGAAATGCTGCAGGCATGGACCCGCAGCGGTGCGTTGCAGGAGCAGGTGGCAAATAA
+AATGCAGGAGTGGTTTGAATCTGGCCTGCAACAGTGGGATATCTCCCGCGACGCGCCTTATTTCGGTTTT
+GAAATTCCGAACGCGCCGGGCAAATATTTCTATGTCTGGCTGGACGCACCGATTGGCTATATGGGCTCTT
+TCAAGAATCTGTGTGACAAGCGCGGTGACAGCGTAAGCTTCGATAAATACTGGAAGAAAGATTCCACTGC
+CGAGCTGTATCACTTCATCGGTAAAGATATCGTTTACTTCCACAGCCTGTTCTGGCCTGCCATGCTGGAA
+GGCAGCAACTTCCGCAAGCCGACCAACCTATTTGTTCACGGCTATGTGACGGTGAACGGCGCGAAAATGT
+CCAAGTCTCGCGGCACCTTTATTAAAGCCAGCACCTGGTTGAATCATTTTGACGCTGACAGCCTGCGTTA
+CTACTACACCGCCAAACTGTCTTCGCGCATTGATGATATCGATCTCAACCTGGAGGATTTCGTTCAGCGT
+GTGAATGCCGATATCGTGAACAAAGTGGTTAACCTGGCCTCCCGTAACGCTGGCTTTATCAATAAGCGTT
+TTGACGGTGTGCTGGCAAGCGAGCTGGCTGACCCGCAGTTGTACAAAACCTTCACTGATGCCGCTGAAGT
+GATTGGTGAAGCGTGGGAAAGCCGCGAATTTGGTAAAGCAGTGCGCGAAATTATGGCGCTGGCTGACCTG
+GCTAACCGCTATGTCGATGAACAGGCTCCGTGGGTGGTGGCGAAGCAGGAAGGTCGCGATGCCGATCTGC
+AGGCGATTTGCTCAATGGGCATCAACCTGTTCCGCGTGCTGATGACTTACCTGAAACCTGTACTGCCGAA
+ACTGACCGAGCGCGCAGAAGCATTCCTCAATACAGAACTGACCTGGGATGGTATCCAGCAACCGCTGTTG
+GGCCATAAAGTGAATCCATTCAAGGCGCTGTATAACCGCATCGATATGAAACAGGTTGAAGCACTGGTGG
+AAGCATCCAAAGAGGAAGTAAAAGCCGCTGCCGCGCCAGTAACTGGCCCACTGGCAGATGATCCGATTCA
+GGAAACCATCACCTTTGACGACTTTGCTAAAGTTGACCTGCGCGTGGCGCTGATTGAAAACGCAGAGTTT
+GTAGAAGGTTCTGACAAACTGCTGCGCCTGACGCTGGATCTCGGCGGTGAAAAACGCAATGTCTTCTCCG
+GCATTCGTTCTGCTTACCCGGATCCGCAGGCACTGATTGGTCGTCACACCATTATGGTGGCTAACCTGGC
+TCCGCGTAAGATGCGCTTCGGTATCTCCGAAGGCATGGTAATGGCTGCTGGTCCTGGCGGGAAAGATATC
+TTCCTGCTAAGCCCGGATGCCGGTGCTAAACCGGGTCATCAGGTGAAATAATCCCCCTTCAAGGCGCTGT
+ATCGACAGCGCCTTTTCTTTATAAATTCCTAAAGTTGTTCTCTTGCGATTTTGTCTCTCTCTAACCCGCA
+TAAATACTGGTAGCATCTGCATTTAACTGGATAAAATCACAGGGATGCAGAATGAGACACTTTATCTATC
+AGGACGAAAAATCACATAAATTCTGGGCGGTGGAGCAACAGGGAAACGAGTTGCATATCAGTTGGGGAAA
+AGTTGGTACCCAAGGGCAAAGCCAGGTAAAAAGTTTTGCTGATGCTGTGGCAGCGGAAAAAGCGGAGCTG
+AAGCTGATTGCGGAGAAGGTGAAGAAGGGATATGTGGAGCAAGCGAAGGATAATTCTTTGCAACCTTCCC
+AAACGGTAACGGACTCTCTCAAGGTAGCGGACTTATCCACCATTATTCAGGAACAACCCTCTTTCGTAGC
+AGAAACCCGTGCGGCTGACAAAAATACAGATGCTGTTTTACCGTGGCTGGCGAAAGATATTGCTGTCGTT
+TTTCCGCCCGAAGTTGTACACACCACGTTAAGTCATCGCCGCTTTCCCGGAGCTCCTGTTCAGCAAGCAG
+ACAAATTGACCCAATTACGTCGCTTAGCCTGTAGTGTATCGCAACGGGATAATAAAACAGCCACATTTGA
+CTTCAGCGCCTGTTCTTTAGAATGGCAAAACACCGTCGCACAGGCGATCAGTCAGATCGACGGCCTGAAA
+ACAACACAGCTACCATCACCCGTAATGGCTGTACTCACGGCACTTGAAATGAAATGCACAAGATATAAAG
+AGCGTGAGGATGTTATGGATCAGATTATTCAGGAAGGCGGTCTGGAATATGCTACTGATGTAATAATACA
+TCTTCAACAAATATCTATTGAATGGGATTATGTCAACAATAATATTGTTTTCCTGTCGTCTGGCATTTCA
+CCTGATTACTTGCAGCAATATTCCAGCTTTGAATTACGCCTACGTAAACATTTATCACTGGCGGAAGAGT
+CTCTCTGGCAAAAATGTGCACAAAAACTTATTGCCGCAATTCCACATATTCCAGAATGGCGGCAACCATT
+AATTGCTTTGTTATTACCCGAAAAACCAGAAATTGCACATGAAATTTCCCAGCGTCTACTGGGGCAAAAG
+AAATTACCCTCGCTTGAGTGGCTAAAAATAGTGGCGACTGATGAGCACATTCTTGCCTCATTAGAAAAAT
+ATCACGAGCCATATGCCATTTTTGATGATTACTATTGTGGTGCGATATGGTCAGCCACCGTATTACAGGA
+GCAAGGTGTTACAGCCCTGCCCCGATTTGCTCCCTATGCCGCAAGTGACTACTGCGCCGATGTGTTGCGT
+CATATCAATCATCCGTTCGCATTAACACTGCTTATACGTGTAGCAGGGCATACTAAACGCTGTCACGATC
+GAATGACGAAAGCCTGCGCTGCGTTCCCACACGCAGCACTGGCAGCACTGGCGGAACTTCTAGTGCAAAA
+AGAAGAGAATAGTTGGCGCATTATGCTAATGACGATGCTTATCTCGCATCCGACACTAGCAGAACAGGTC
+ATTCCCTGGCTTTCGACACCCGCAGTTGCAGTGCTGAAATCATGTCAGCAACAACTGACACAGCCCTCAA
+ACCATGCCAGCGCCGATCTACTGCCGGCCATAGTAGTCTCCCCACCATGGCTTTCGAAAAAGAAAAAATC
+GCCGATTCCGGTGCTGGATTTAGCACCGCTCAACCTCGAATCCATATGCACAATAACCGACACAGAAGCT
+AAAGAGTTTCAAACTCATTGGGACTGGGAACCGCATAAGCCAAGTGAAGGTGCTAAAAATTTCCTTTACT
+CGCTGGGGTATCGCCGCTGGGATTTTGACACATATAAATATATCGGCGCTTCTGACTCGGCAATTGACGC
+ATGGGAACGTGAGGACTTCGCTACACTCATCCAAATGTTTAAAGCCCACCATGCACCGTATCAGGGGGAG
+TGGCATCTCAACTCACTTCCCTTTTTACCTATGCAAAAAGCGATTAAGCTATGGGAATTTCTCAGCAAAG
+AGCCGCATACCGCGATAAAACCAGTCATGCTTTATTTGCGACTGGCAGGTATGAGTGGTTTTCTACACTC
+GTTTTCACGCTACCCTCAAGAAGGTTTTGCGGTTGCTAATTATTTTGCCGCAACGGAACTGGCTCCTGCC
+GTCGCCCGCGCCTTCAACAAACTCAAAACATTACGACAAGACGCCAGTAGCTGGCTGCTGAAATACCCGG
+AACACGCCATTACCGGCCTGCTGCCTGCAGCGCTCGGCAAAGCCAGTGAAGCACAGGACAACGCCCGTGC
+TGCCTTGCGTATGCTTACCGAAAACGGTCATCAGCCATTGCTGCAAGAAATCGCCCGGCGTTATAACCAG
+CCGGAAGTAACCGATGCGGTGAACGCTCTACTTGCGCTCGATCCCTTAGATAATCACCCGACAAAAATCC
+CCACTCTTCCGACCTTTTATCAGCCATCGCTCTGGACGCGCCCGTTATTAAAAGCAAACGCCCAATCACT
+GCCTGATAGCGCACTCCTCCACCTCGGTGAAATGCTCCGCTTCCCTCAGGAAGAGGCACTGTATCCGGGA
+TTATTGCAGGTGAAAGATGCCTGTACCACCGACTCACTGGCTGAATTTGCCTGGGATCTGTTTACCGCCT
+GGCAGACCGCTGGCGCGCCGTCGAAAGAGAGTTGGGCGTTCACTGCGTTAGGCGTTCTCGGTAACGATGA
+CACCGCCCGCAAACTGACGCCTTTGATTCGCGCCTGGCCTGGTGAATCCCAGCATAAACGCGCCACCGTC
+GGGTTGGATATTCTCGCTGCTATCGGTAGTGATATCGCCCTGATGCAGCTTAACGGCATCGCCCAGAAAC
+TGAAATTCAAAGCATTACAGGAGCGGGCAAAAGAAAAAATAGCCAACATTGCCGAGAGCCGCGAACTCAC
+GGTGGCGGAGCTTGAAGATCGGTTAGCACCGGATCTCGGTCTGGATGATAACGGTTCGTTGCTGCTGGAT
+TTCGGCCCACGCCAGTTCACCGTCAGCTTTGATGAAACCTTAAAACCGTTTGTGCGTGACGCTTCCGGCA
+GTCGTCTGAAAGACCTGCCCAAACCAAACAAAAGCGATGATGAATCACAGGCGAACGATGCGGTTAACCG
+CTACAAATTGCTGAAAAAAGATGCGCGTACCGTCGCCGCCCAGCAGGTAGCAAGGCTGGAATCCGCCATG
+TGCCTGCGTCGCCGCTGGTCACCGGAAAACTTTCAGCTCTTCCTGGTTGAGCATCCGCTGGTCCGCCACT
+TAACCCGCCGTCTGATTTGGGGCGTTTATAGCGCCGAAAACCAGCTACTGGCTTGCTTTCGCGTAGCGGA
+AGATAACAGCTACAGCACCGCTGACGATGATCTTTTCACCCTGCCGGAAGGCGATATCTCTATTGGTATT
+CCTCACGTTCTGGAAATATCACCGACGGATGCTGCCGCCTTCGGGCAGCTTTTTGCCGACTACGAACTGT
+TACCACCGTTCCGCCAGCTTGATCGTAACAGTTACGCGCTGACAGAAGCCGAGCGCAATGCCAGCGAACT
+GACACGCTGGGCAGGCAGAAAATGCCCGAGTGGTCGGGTAATGGGGCTGGCAAATAAAGGCTGGATGTGT
+GGTGAACCGCAGGACGGTGGCTGGATCGGCTGGATGATCAAACCTCTGGGCCGCTGGTCGTTAATCATGG
+AAATCGATGAAGGTTTTGCGGTCGGCATGTCGCCAGCCGAACTCAGTGCCGAGCAACTCTTAAGCAAGCT
+GTGGCTATGGGAAGGCAAAGCGGAAAGCTATGGCTGGGGGAGTAATTCAACACAGGAAGCGCAGTTCTCC
+GTACTCGATGCCATCACCGCCAGCGAGCTAATTAACGATATTGAAGCCCTGTTTGAATAAGGAAAGAGCA
+TGGACAAGGAATTACCGTGGCTGGCGGATAACGCCCAACTGGAACTGAAATATAAAAAAGGCAAAACACC
+ACTCAGCCATCGCAATTGGCCAGGCGAACCGGTACCTGTTATCACTGAAAACATCATTCAGACACTGGGT
+GATGAATTGCTACAAAAAGCAGAGAAGAAAAAAAACATTGTCTGGCGTTATGAAAACTTTTCACTGGAGT
+GGCAGTCCGCCATCACGCAGGCCATCAACTTGATCGGCGAACACAAACCCTCAATCACGGCCCGGACAAT
+GGCGGCGCTAGCCTGTATCGCGCAAAATGATAGCCAACAGTTGCTCGACGAAATCGTCCAACAAGAGGGG
+CTGGAATATGCAACTGAGGTGGTGATTGCACGCCAGTTTATTGTACGGTGTTATGAGAGTGATCCTCTGG
+TAGTAACATTGCAATATCAGAACGAGGACTATGGCTATGGTTATCGCTCAGAAACCTATAACGAATTCGA
+TCTCCGATTGCGTAAGCATCTCTCTCTGGCAGAGGAAAGCTGCTGGCAGCGTTGCGCCGACAAACTCATT
+GCCGCACTGCCAGGAATAACCAAAGTTCGCCGCCCTTTTATTGCGCTGAACCTCCCGGAAAAACCCGAAA
+TCGCCAACGAGCTGGTAAGCCTTGAATGTTCGCAAACTCATTTTCGCTCAAAAGAGTGGTTAAAAGTTGT
+TGCTGATGACCCTAAGGCGGTGAAAGAACTCGCACGTTACTGGAGCCAGGATATATTTAGCGATCGAGAA
+GCCAGCTACATGTCGCATGAAAACCACTTCGGTTACGCGGCCTGCGCTGCCCTTTTGCGCGAACAAGGAC
+TGGCAGCCGTTCCGCGCCTCGCGATGTATGCACATAAAGAAGATTGCGGCAGTCTGCTGGTACAAATTAA
+CCATCCGCAAGTCATCCGCACCTTGCTACTGGTGGCTGATAAAAACAAACCCAGCCTGCAACGTGTGGCT
+AAATACAGTAAAAACTTCCCCCATGCGACGCTCGCCGCACTGGCAGAACTGCTGGCGTTAAAAGCCCCCC
+CTGCGCGCCCTGGTTATCCCATCATCGAAGACCAAAAGCTGCCTGCACAGCAAAAAGCACGTGATGAATA
+CTGGCATACGCTGTTACAAACGCTGATGGCATCGCAGCCACAACTGGCAGAAGAGGTGATGCCGTGCTTA
+AGTACACAAGCCCAGGCAGTGGTGAATGGTTATTTATCGGCATCGCCAAAACTTGCTTTCGAGAGTACTC
+ATAGCAACGACCTGCCAGAAATACTTGTTTCTCCACCGTGGCGAGGTAAGAAAAAAACGGCATTGCTGCG
+CCTTGATTTAGTGCCTCTTGAATTAGCGCCCAAAGCCCGCTGGCAACCAGGCGAACGAGAGAGACTTGCC
+GCCACAGAGTCTGCCCGTTATTTCAGCACGGGATCTTTTACGGAACGCATGGAACGAAAAAGTGGTCGAG
+TTGTACTACAGGAGCTAGGTCTTGGGGATGATGTATGGCTGTTCCGGAATTATATACTGCCCGGCAAACT
+GGATGCGGCGCGCAAATCATTAGTGGTTCAGTGGCATTACTCCCCTCGCAGAGTAGAGGAAATCAACAAT
+GGCTGGCACTCCACGGAAGCAAAATCAGCCGAACAGGCGCTTCGTTCCGGCGACGTTGAAGCGTTAATTA
+ACATCTGGGAAAATGATAGCTACTCGCATTATCGTCAGGAAAAGAGTGTCTGGAACCTGTATTTATTGGC
+GCAGTTGCCACGTGAGATGGCTTTGACTTTCTGGCTGCGTATCAATGAGAAAAAGCATCTATTCGCGGGT
+GAGGACTATTTTCTCAGTATCCTCGGGTTGGATACATTACCTGGCCTGTTATTGGCTTTTTCACATCATC
+CAAAACAAACATTTCCGTTAATTTTAAATTTCGGCGCAACAGAACTGGCCCTGCCCGTTGCGCGCGTCTG
+GCGCCGTTTCACGGCGCAGCGTGATCTGGCTCGCCAGTGGATTTTACAATGGCCGGAACATACGGCTACT
+GCACTTATCCCTCTTGTCTTTACAAAACCCAGCGATAATAGCGAAGCTGCATTACTTGCCCTGCGTTTAC
+TGTATGAACAAGGGCATGGCGAATTACTGCAAACCGTGGCAAACCGCTGGCAGCGTACAGATGTATGGCC
+TGCCCTGGAGCAATTACTTAAACTGGGTCCAATAGAAATTTACCCGGCACGTATTCCAAAAGCTCCTGAT
+TTCTGGCATCCGGCAATGTGGTCCAGGCCGCGCCTTATCAAGAATAATCAGCCTGTTACCGATGACGCTC
+TGGAAATTATCGGCGAAATGCTGCGCTTTACCCAGGGCGGACGTTTTTATAGCGGACTGGAACAGCTGAA
+AACGTTTTGCCAGCCGCAAACGCTGGCAGCTTTTGCCTGGGATCTTTTCACCGCGTGGCAACAAGCTGGT
+GCCCCCGCAAAAGACAACTGGGCATTTCTGGCGTTAAGTCTCTTTGGTGACGAAAGCACGGCTCGGGATC
+TGACGACACAGATCCTCGCCTGGCCACAAGAAGGCAAATCTGCCCGTGCTGTCAGTGGCCTGAACATCCT
+TACCCTGATGAATAATGATATGGCGCTGATACAGCTGCACCATATATCCCAACGGGCGAAATCCCGCTCC
+TTACGTGATAACGCGGCGGAATTTCTTCAGGTGGTCGCAGAAAATCGCGGGCTAAGCCAGGAAGAGTTAG
+CGGACAGATTAGTCCCAACACTGGGCCTTGATGATCCGCAGGCGTTGATTTTTGATTTTGGTCCACGGCA
+ATTTACCGTTCGCTTCGATGAAAACCTCAACCCGGTTATCTACGATCAACAAAACGTTCGCCAGAAAAGC
+GTTCCCCGGTTGCGCGCCGATGACGATCAACTGAAAGCCCCCGAGGCACTGGCCCGACTAAAAGGGCTAA
+AAAAAGATGCCTCTCAGATGAGCAAAAACCTGCTCCCACGTCTTGAAACTGCCCTGCGCACCACCCGACG
+CTGGTCGCTGGCAGATTTTCATTCTCTGTTTGTTAATCATCCCTTTACCCGCCTGGTTACCCAGCGATTA
+ATATGGGGGGTTTATCCGGCAAATGAACCGCGTCGTTTACTCAACGCCTTTCGTGTGGCCGCAGAGGGGG
+AGTTCTGCAATGCACAAGATGAGTCCATTGACCTGCCTGCAGATGCTCTGATTGGCATTGCCCACCCGTT
+AGAAATGGCAGCAGAAATGCGCAGTGAATTTGCACAGCTTTTTGCCGATTACGAAATTATGCCGCCTTTT
+CGCCAGTTGGCGCGGCGCACGGTGCTGCTCACACCTGACGAGTCAGCCAGTAACAGCCTGACTCGCTGGG
+AAGGTAAATCCGCTACCGTTGGTCAACTTATGGGAATGCGATACAAAGGCTGGGAGTCAGGCTATGAGGA
+CGCATTTGTCTATGACTTAGGTGCGTACCGGCTGGTCCTTAAGTTTTCACCCGGTTTTAACCACTACAAT
+GTTGATAGCAAAGCGCTAATGAGCTTCCGTTCTCTTCGGGTTTACCGTGACAATAAATCCGTCACTTTTG
+CCGAACTTGATGTGTTTGATTTGAGTGAGGCATTAAGCGCACCTGACGTCATTTTCCATTAAAACACAGC
+GGGCAGTGATGCAACTGCCCGTTATCAACACGACCTACCAGCGGGGGAAGCGATGATCGTGCAAAAAGAG
+CTGGTTGCTATTTACGATTATGAGATCCCTGTACCTGAAGAGCCGTTTTCTTTCAGACTTGAAATCCATA
+AATGCTCTGAATTATTTACAGGTTCCGTCTATCGACTGGAGCGATTCCGGCTACATCCAACATTTCATCA
+ACGTGATCGAGAAGATGCCGACCACTAATAAATGATGCGTTGATTTATATAAGAGATGAGTTTATTGATG
+AGCGGAAATTACGAGGTGAATCACATGAAACAGTAATAGCAATTTTTAATTGTGAACTACAGAATATATT
+CAACCAAGAAATAGAATAATATACTCTAGATAATTCAAGTCGCAGGAAGGCGATAAGCGAGTGAATCCCC
+AGGAGCTTACTAAAGTCAGTGACAGGGGTGAACGAACGCAGTCGCAGCATATGCAACTTGAAGTATGGCG
+AGTATAGCTTTATTAAAGGGGGAAACGGTATTCCCCCTTAGATGCGTTTCAATTTGCCCGTTACTTCAAC
+AAATCAATCAACCGTAACAGAGCCACTAATAGCTCCAGTACAGCAATGAGCACGGTTAACTTTTGTGTCA
+GCGTGTCCATCCGCTCTCCTTATTAAGGAGCGCAACACCAGCACCTTACCCTTACACTGCCTGTCGATAC
+TGGTTTACGTATGTTGGACCACGATGTTGCACTCCGGATCAGGGCACCACCTGCAGCACCACCCGTCCGG
+TAGCCAGGACTTGAAATAGGTTCGATCCGGCGCAACGTCCCAACGGTCTGGATTATAAATCTCATTATCT
+TAATTGCAACGGGGTCCAGCCGTGGTTATAATTCGTTCGTTGGAACACGATGTTGCACAGGCTGTGGTGT
+TAGGCCTGAAAATAGTAAATAAAAGAACCTGCCTCACCAGCAGGTTTTTTTATTTACTGTGATCTGCTTT
+CCAGATATTTTTCGCTCAAACAACTAATGCGCCAAACATTTATTGCGCGTAAAATATCGTTTATTTCATT
+AATACATTTCAGGGATGAATATATGTCACCGCAGAATAATCATCTGCAGCGTCCGCCTGCCGCTGTGTTA
+TACGCCGATGAACTGGCAAAATTAAAAAAAAATGATCACGCACCTTGCCCGCCCGGTTGGCAGTTAAGTT
+TGCCTGCGGCCCGTGCTTTTATCCTTGGCGATAGCGCGCAAAATATTAGCCGTAAAGTGGTGATTAGTCC
+CTCCGCTGTCGAACGTATGTTAGTCACTCTTGCCACCGGGCGCGGTTTGATGTTGGTGGGGGAACCTGGC
+ACCGCAAAATCTCTCCTGTCTGAATTACTGGCAACCGCTATTAGCGGCGATGCCGGGTTAACCATCCAGG
+GCGGCGCATCTACTACTGAAGATCAAATCAAGTACGGCTGGAACTACGCCCTGCTTATCAACCATGGTCC
+GTCAACGGAAGCACTGGTCCCTGCCCCGCTTTACCAGGGAATGCGCGACGGCAAAATCGTCCGTTTTGAA
+GAGATAACGCGTACACCGCTGGAAGTACAAGACTGTCTGTTAGGTATGCTTTCTGACAGGGTGATGACGG
+TGCCGGAACTCACCGGTGAAGCCAGTCAGCTCTATGCGCGGGAAGGCTTTAATATTATTGCCACTGCCAA
+TACGCGCGATCGCGGCGTCAATGAAATGAGTGCCGCGCTAAAGCGTCGCTTCGATTTTGAAACTGTCTTT
+CCGATTATGGATTTCGCCCAGGAGCTGGAGCTTGTCGCCAGTGCTTCGGCGCGTTTGCTGGCCCATAGCG
+GCATTCCGCATAAAGTGCCTGACGCGGTACTGGAGTTACTGGTCCGCACCTTTCGCGATCTGCGTGCCAA
+CGGCGAAAAGAAAACGTCAATGGATACACTGACAGCGATTATGTCCACCGCTGAAGCCGTGAACGTGGCC
+CACGCGGTGGGCGTCCGCGCCTGGTTTTTAGCGAATCGCGCAGGTGAGCCGGCCGATCTGGTGGACTGTA
+TTGCCGGAACCATCGTCAAAGATAACGAAGAAGATCGCGCGCGCCTGCGCCGTTACTTCGAACAACGTGT
+TGCTACACATAAAGAAGCTCACTGGCAGGCTTATTATCAAGCTCGCCACCGCCTGCCGTGAGGAAAGATG
+TATGAGCGAGCCGTTAATTGTCGGCATCCGGCATCATAGTCCGGCCTGCGCCCGGCTGGCGAAATCGTTA
+ATCGAAAGCCAGCGGCCACGATACGTATTGATTGAAGGCCCGGCTGATTTTAATGACCGGGTGGACGAAC
+TGTTTTTAGCCCACCAGCTTCCGGTAGCTATTTACAGTTATTGCCAGTATCAGGACGGTGCGGCCCCCGG
+GCGTGGTGCCTGGACGCCATTTGCTGAATTTTCGCCGGAGTGGCAGGCGCTACAAGCCGCACGTCGTATT
+CAGGCACAAACTTACTTCATCGATTTGCCTTGCTGGGCGCAGAGTGAAGAAGAGGACGATTCGCCTGATA
+CACAAGATGAAAGCCAGACCTTACTGCTGCGTGACACCCGCATGGATAACAGCGATACCCTGTGGGATCA
+CTTATTCGAAGATGAAAGCCAGCAAACTGCATTACCCTCTGCATTGGCGCGCTATTTTGCCCAACTGCGG
+GGCGATTCCCCCGGAGATGCTCTCAATCGTCAGCGCGAAGCCTTTATGGCTCGCTGGATTACATGGGCGA
+TGCAGCAAAACAATGGCGACGTGTTAGTCGTCTGCGGCGGCTGGCACGCTCCTGCACTGGCAAACATGTG
+GCGCGAATGCCCGCAGGAAATTAACAAGCCAGAATTGTCCTCGCTGGCAGATGCCGTTACAGGTTGTTAT
+CTCACACCCTACAGTGAAAAGCGCCTTGATGTGCTGGCAGGATACCTTTCCGGAATGCCTGCCCCGGTCT
+GGCAAAACTGGTGCTGGCAGTGTGGCTTACAGCAGGCAGGTGAACAACTGCTGAAAACGGTTCTTACCCG
+TTTGCGCCAGCACAAATTGCCCGCTTCTACCGCTGATATGGCTGCTGCTCATCTGCATGCTATGGCACTG
+GCACAGTTGCGAGGCCATACACTACCTCTACGCACTGACTGGCTGGATGCCATAGCTGGCTCGCTGATTA
+AAGAAGCCCTGAATGCGCCGTTGCCATGGAGCTACCGCGGAGTTATTCATCCCGATACCGATCCGATTCT
+GCTAACGTTGATAGACACATTAGCGGGTGACGGATTCGGTAAACTTGCCCCCTCTACGCCACAGCCGCCT
+CTGCCAAAAGATGTCACCTGCGAACTGGAACGTACAGGAATCTCTTTTCCGGCGGAGCTTACCTTAAATC
+GCTTTACCCCCAATGGACTGGCGCAAAGCCAGGTGCTGCATCGGTTGGCAATATTGGAGATTCCCGGCAT
+TGTGCGCCAGCAGGGAAGTACACTGACACTTGCAGGCAACGGTGAAGAACAGTGGAAATTAACCCGGCCA
+CTTAGCCAGCATGCGGCATTGATTGAAGCCGCCTGCTTTGGTGCCACACTCCAGGAAGCCGCACGCCATA
+AATTAGAAGCCGATATGCTGGACGCGGGTGGAATCAGCATCATCACTGCATGTCTTAGCCAGGCAGCGTT
+AGCGGGTCTGGCGTCTTTCAGTCAACAATTACTGGAACAACTCACATTATTAATCGCCCAGGAAAATCAA
+TTCGCCGAAATGGGCCAGGCGCTGGAAGTGCTATATGCCTTATGGCGGCTGGATGAAATTAGCGGTATGC
+AAGGCGCGCAGATATTACAGACGACGTTATGCGCGGCTATCGATCGCACACTCTGGCTGTGTGAATCCAA
+CGGCAGACCGGAGGAAAAGGAGTTTCACGCTCACCTGCATGGCTGGCAGGCGCTTTGCCATATCCTGCGC
+GATCTACATAGCGGCGTTAATTTACCCGGCGTTTCGCTTTCTGCGGCAGTAGCCTTACTGGAGCGCCGCA
+GTCAGGCGATTCATGCCCCGGCGCTGGATCGCGGCGCGACTCTTGGCGCACTGATGCGTCTGGAACATCC
+CAACGCCAGTGCCGAAGCGGCGCTGACAATGCTGACGCAGTTATCCCCGGCACAATCCGGCGAGGCGCTG
+CACGGTTTGCTGGCGCTGGCCCGCCATCAACTGACCTGCCAGCCGGCATTTATCGCCGGTTTCAGCAGTC
+ATTTAAATCAACTGAGTGATGCCGATTTTATCAATGCCCTGCCCGATTTACGCGCGGCGATGGCCTGGCT
+ACCGCCACGAGAACGCGGGACGCTGGCGCATAAGGTGCTTGAGCATTATCAACTGGCGCAACTTCCCGTT
+TCGGCGCTGCAAATGCCGTTGCATTGTCCACCACAAGCCATTGCATATCATCAACAACTCGAACAGCAGG
+CACTGGCATCGCTGCAACACTGGGGAGTTTTCCATGTCTGAACTGAACGATCTTCTGACCACCCGTGAGC
+TACAACGCTGGCGATTAATTCTTGGCGAAGCGGCAGAAACGACCCTTTGTGGGCTGGATGACAATGCCCG
+GCAGATAGACCACGCGCTGGAGTGGCTGTATGGGCGCGATCCTGAACGGCTCCAGCGTGGTGAACGCTCC
+GGTGGATTAGGTGACTCAAATCTCACCACCCCTGAGTGGATCAACAGTATTCACACGCTGTTTCCGCAAC
+GGGTGATCGAGCGACTGGAAAGCGATGCCGTACTGCGCTACGGCATTGAAGATGTGGTGACGAATCTCGA
+CGTGCTGGAACGTATGCAGCCTTCTGAAAGCCTGCTACGCGCCGTTTTGCACACCAAACATCTGATGAAT
+CCCGAAGTACTGGCTGCCGCCCGCCGGATAGTGCACCAGGTTGTTGAAGAAATTATGGCTCGACTGGCAA
+AGGAAGTTCGTCAGGCTTTTTCTGGAGTACGCGATCGCCGCCGTCGCTCATTTATTCCACTGGCGCGTAA
+TTTCGATTTCAAAAGTACGCTGCGTGCCAACCTGCAACACTGGCACCCGCAACACGGCAAGTTGTATATC
+GAATCCCCCCGCTTTAACAGCCGCATTAAACGCCATAGCGAACAATGGCAACTGGTCCTACTGGTTGATC
+AAAGCGGATCGATGGTTGATTCGGTGATCCACTCCGCAGTGATGGCGGCCTGTTTATGGCAGTTACCCGG
+CATTCGTACCCATCTGGTCGCTTTTGACACCAGCGTGGTTGATCTCACGGCAGACGTTGCCGATCCGGTA
+GAGTTATTAATGAAAGTACAACTGGGCGGCGGGACCAATATCGCCAGTGCCGTGGAGTATGGTCGGCAAC
+TTATTGAACAACCTGCAAAAAGTGTCATTATTCTCGTGAGCGATTTTTATGAAGGTGGGTCATCATCATT
+GCTGACGCATCAGGTGAAAAAGTGTGTCCAGAGCGGCATCAAAGTGCTGGGGCTGGCAGCGCTCGACAGC
+ACCGCAACGCCTTGCTATGACCACGATACGGCCCAGGCGCTGGTTAATGTCGGCGCACAAATAGCCGCAA
+TGACACCGGGCGAGCTGGCTTCCTGGCTTGCGGAGAATCTTCAGTCATGAATTCACTACGTCCGGAATTA
+TTAGAACTGACACCACAGGCACTGACGGCGTTAAGCAATGCCGGTTTTGTTAAGCGCAGCCTTAAGGAAC
+TGGAAAATGGCAACGTCCCGGAAATCAGTCATGAGAACGGCGCTTTAATCGCCACCTTCAGTGACGGTGT
+CCGTACCCAGCTGGCGAACGACCAGGCACTGAAAGAGGCTCAGTGCACCTGCGGGGCCAGCGGCATGTGC
+CGTCATCGCGTGATGCTGGTGTTAAGTTATCAACGACTTTGTGCCACCGCCCAGCCTACGGGAAAAGAAG
+ATGAATGGGATCCGGCAATCTGGCTGGAAGAACTGGCTACCCTTCCCGATGCCACCCGCAAACGCGCACA
+GGCGTTGGTCGCTAAAGGCATCACCATTGAGTTGTTCTGTACGCCGGGAGAAATTCCCTCTGCCCGCTTA
+CCGATGAGCGATGTGCGTTTTTATTCCCGCAGCAGTATTCGTTTCGCCCGTTGTGATTGTATTGACGGCA
+CACTTTGCGAACATGTCGTACTGGCTGTGCAAGCCTTCGTCGAGGCCAAAACTCAGCAAGCGGAATTTAC
+TCATTTAATCTGGCAGATGCGCAGTGAACACGTCACATCATCTGATGATCCGTTTGCCAGCGAAGAAGGC
+AAAACGTGTCGTCAATATGTTCAGCAATTAAGCCAGGCATTATGGCTGGGCGGGATAAGTCAACCGCCAA
+TCCATTACGAGGCCGCTTTCAGTCGCGCGCAACAAGCGGCGGAACGCTGCAACTGGCGATGGGTGAGTGA
+ATCGCTACGGCAATTGCGCGCCAGTGTTGATGCCTTCCACGCCCGTGCCAGCCACTACCATGCCGGAGAA
+TGCTTACGTCAGCTTGCGGCATTAAACAGTCGATTAAATTGCGTACAAGAGATGGCGCGACGCGACAGTA
+TCGGTGAAGTTCCTCCCATGCCGTGGCGCACGGTCGTTGGCGCTGGTATTGCCGGAGAAGCAAAACTTGA
+TCATCTGCGGCTGGTATCTTTAGGTATGCGTTGCTGGCAGGATATTGAGCAGTATGGTTTACGCATCTGG
+TTTACCGATCCCGACACAGGAAGTATTTTGCATCTTTCGCGTAGTTGGCAGAGAAGCGAACAGGAAAACT
+CACCGGCAGCGACGCGTCGGCTGTTTAGTTTTCAGGCTGGCGCACTGGCCGGTGGGCAAATTATTTCACA
+AGCAGCAAAACGCAGTGCCGATGGCGAGCTGCTGTTAGCTACCCGCAACCGCTTAAGCAGCGTTGTGCCG
+CTGTCGCCTGATGCCTGGCAAATGTTGAGCGCACCGTTGCGCCAGCCGGGCATTGTGGCTTTGCGGGAAT
+ATTTACGCCAGCGTCCCCCCGCCTGCATACGACCAATCAACCAGGTCGATAACTTATTTATTCTGCCGAT
+AGCGGAGTGTATTTCGCTCGGTTGGGATAGCAGCCGCCAGACGCTGGATGCGCAGGTAATCAGCGGCGAA
+GGGGAAGATAATGTGCTGACGTTATCCCTTCCGGCATCTGCCTGTTCTCCTTTTGCCGTTGAACGCATGG
+CGGCGCTTTTGCAACAAACAGACGACCCCGTGAGTCTGGTTTCTGGCTTTGTCAGTTTTGTAGAGGGGCA
+ATTGACACTGGAACCACGGGTGATGATGACAAAAACCCGCGCCTGGGCGCTGGACGCAGAAACTGCGCCT
+GTGGCACCGCTACCTTCTGCCTGTGCCGCCTACCGCTCATCAGTTGCTGATGCGCTGCCAGGCGTTACTT
+ATTCAACTGCTCCATAACGGCTGGCGCTATCAGGAACAGAGTGCTATTCGTGAGGCAGAGTTGCTGGCGA
+ATGACCTCACCGCGGTGGGTTTTTATCGGCTGGCACATGTGTTGGGACAATTTCGTAATACAGAAAGCGA
+GGCACGGGTAGAAGCAATGAATAACGGTGTTTTGCTTTGCGAACAATTATTCCCCATGCTTCAGCAACAA
+GGATGAAATAGTGCTTTTTATTAAGAGTTCTACTCCTGTTCCGGACTGCTCACGCCACAGTATTAGGCAT
+ATCCTATATAGCCCCTGGTGAGAGTCACCAGTTCCTTGATTAAATAAAATGGAGTTTTACATGAAGGCTT
+TCAATAAGCTGTTTTCCCTTGTTGTTGCATCTGTTCTGGTTTTCTCTCTTGCTGGCTGCGGTGACAAAGA
+AGAATCAAAGAAATTCAGCGCCAATCTGAACGGCACTGAAATTGCCATTACCTATGTCTACAAAGGTGAC
+AAGGTGCTTAAGCAATCTTCTGAAACCAAAATTCAATTTGCCTCCATTGGTGCAACCACCAAAGAAGATG
+CCGCCAGGACACTTGAGCCGTTAAGCGCTAAATACAAAAACATCGCGGGTGTTGAAGAAAAATTAACCTA
+TACCGATACCTACGCGCAGGAAAACGTGACTATTGATATGGAAAAAGTGGATTTTAAAGCCCTGCAGGGT
+ATTTCAGGAATCAACGTTTCTGCTGAAGATGCCAAAAAAGGTATCACTATGGCGCAAATGGAACTGGTGA
+TGAAAGCCGCTGGTTTTAAAGAAGTGAAATAATCTGTCGGCGGCCATGTTTCGCATGGCCGCCATACCCG
+TCTTAGCTTTTCTTCACATGCTGGCGCGCTGCCAGTCCACGCAGAAAATAACGTAAAAATTGATCGCCGC
+ATTCGCGGAAGTTTTTATGATCCGGTGCACGCATCATCGCCGTAATTTCCGGCATCGAAACGCGGAACTG
+CTGTTCGGTGAGGATTGCCAGAATGTCATCGGTTTTAAGCGAAAACGCGATGCGTAATTTTTTCAGCACG
+ATGTTGTTATTAATGCGACGTTCCGGCTCCAGTGCCGGAGCAGACTCATCCTTGCCGCGTTTTTCATAAA
+TCAGGCCATTGAGGAATGAAGACAAAACAATGTCCGGACAACGCTGAAAACCCTCTTCGTCTTCTTTACG
+TAGCCAGACGGCGATCTGTTCCGCGGTGGCTTCGACATTACCCAGCGCCAGAATACGCACCAGGTCATTA
+TTATTGGCTTTCAAAATGTAGCGCACGCTGCGCAGAATATCGTTACTTAGCATGAGGCCTTCAGGTGTTG
+ATGAGGCAAAAAGCCATTTTAGCAGTCTTTTACAGGCCAATCGCCTCTTTTAAGCTTTTCAGATAACGGC
+GGCTGACCGGCACGGTTAAGCCATTACGCAAAATCAACTCGGCCTGGCCGTTATCTTCCAGACGGATCTC
+CTGTAAATGCGCGAGGTTAACCAGATACTGACGATGGCAGCGCAGTAGTGGTGTACGACTTTCCAGGGTA
+CGTAATGTCAGTTCGGTAAAGCCCTCTTTCCCTTCGTGACTGGTCACGTAGACACCGCTCATCCGACTGC
+TGACAAATGCCACATCTTTCATTTGCAGCAAATAAATCCGACTATGCCCCGTACAAGGGATAAATTTTAG
+CGCCTGTTGATTTTCCGGTAACAACGAAACATCCTGCTTGCTGCGCTCCTGACGCAATCGCGCCAGCGTT
+TTCTCCAGTCGCGCTTCATCAATTGGCTTCAGCAGATAATCAAAGGCATGTTCTTCAAAGGCTTTAATGG
+CGTATTCGTCAAACGCGGTGAGAAAAACAATATACGGGCGATGTTCCGGGTCGAGCATCCCCACCATTTC
+CAGACCACTGATGCGCGGCATCTGGATATCGAGAAACAGCACATCCGGGCGCAGTTTATGCACCGCGCCG
+ATCCCTTCTACGGCGTTTGAACACTCTCCAACGATTTCAATATCGCTCTGCTCCTGCAAAAATACGCGCA
+GGTTCTCCCGTGCTAACGGTTCATCATCGACAATTAAGACTTTAATCATGCCTCGTCCCTCCATGGTAGT
+CGTAACGTTATTCGGGTGTAACTATCAGGCTCACAGGCGACGCTTATCCCATAGTCATCGCCAAACCGTT
+CACGTAAACGCTTATCCACCAGATTCATCCCCAGCCCACTGGCATTGGTTACCGGTTGATACAAACCGGC
+ATTGTCTTCGATCTCCAGCATCAAATGTTGCCCCTCACGTCGGGCGCTGATTGCCACTCGCCCTGTATCC
+AACAGTTGTGATGTCCCATGTTTAATGGCGTTTTCCACTATCGGTTGCAGGGTAAACGCGGGCAATTGCT
+GCTGGGATAATTCTTGCGGAATAGCAATGTTGACCTGCAACCTCGACTGGAAGCGCGCCTTTTCAATTTG
+CAGATAAGCGTTCACATGTTCAATTTCGTCGGCGAGAGTAACAAACTCCGAAGGCCGCTTTAAGTTTTTG
+CGGAAAAAAGTAGAAAGATACTGCACCAGCTGGCTGGCCTGTTCGCTGTCGCGGCGGATCACCGCTTTAA
+TGGTGTTAAGCGCATTAAACAAAAAATGGGGATTCACCTGGGCGTGAAGCAGTTTGATCTCTGACTGGGT
+GAGCATCGCTTTTTGCCGCTCATATTGCCCGGCGAGGATCTGCGCCGAAAGCAGTTGCGCAATCCCCTCG
+CCCAGCGTGCGGTTGATTGAACTGAATAAACGGTTTTTGGCCTCATACAATTTGATGGTACCCATCACTC
+GCTGATTTTCACCACGCAACGGAATGACCAGCGTCGACCCCAGTTTGCATTGCGGATGCAAAGAGCAACG
+GTAAGGCACTTCGTTGCCATCAGCGTAGACCACTTCACCGGTTTCAATCGCTTTTAAGGTATAAGTCGAA
+GAAATTGGTTTGCCGGGTAAATGGTGGTCGTCACCAATTCCGGTAAAGGCCAGCAATTTCTCTCGATCGG
+TAATCGCGACTGCACCAATATCCAGCTCCTGATACAGCACCTGTGCCACTTTCATGCTGTTCACTTCGTT
+AAACCCCTGGCGCAAAATGCCTTCCGTCGAGGCCGCCACTTTCAGCGCAGTGGCAGAAAAAGCCGAAGTG
+TATTTTTCAAACATCGCGCGTTTATCGAGCAATATACGCATAAACAACGCCGCGCCGACGGTATTGGTGA
+CCATCATTGGCGCAGCAATATTACTCACCAGACGCACCGCATCTTCATAAGGTCGGGCGATCGCCAGGAT
+GATCAACATTTGCACCATTTCAGCGACGAACGTGACGGCACCGGCGGTAATGGGGTTAAAGACTTTATCA
+GTGCGCCCGCGACGGATAAGGATGCTGTGTACCAGGCCGCCGAGCAATCCTTCAACGATGGTCGAGATCA
+TGCAACTTAGCGCGGTCATGCCCCCCATCGAATATCGATGTAACCCGCCGGTCAGACCAACCAGCCCACC
+GACGACCGGACCGCCGAGTAAGCCGCCCATTACCGCACCTATCGCACGGGTATTGGCAATAGAATCGTCA
+ATGTGCAACCCAAACCAGGTGCCCATGATGCAGAAGATGGAAAAGACGATGTAGCAGAGAAATTTATGCG
+GCAGACGAACCGTGACCTGCATTAACGGTATGAATAATGGCGTTTTACTCATTAACCACGCAATGACTAA
+AAAAACGCACATCTGCTGAAGCAGCAGCAACACCAGATTAAAATCGTACATACCCGCAAACCACACTTCC
+CTTTAAAACGCGTAACATACATTGCTTGCGTTTAACTTTCTTTGAACTCTTGCAGAAAAATGAGAATTCG
+TGAGTACGATCACTCAAAATCGCCTGGCAAAAATAAAATCACCCTATAGATGCTCAAAAAACGGGCAAAA
+CTACCTGGTTCGCAAAACTGCGTCTAAAGTTAAACCGGGACCTCGCGAGCAAGGGTGAGACGATGGCGCT
+TTACACAATTGGTGAAGTGGCGTTGCTTTGTGATATTAACCCTGTCACGTTACGCGCGTGGCAGAGGCGT
+TACGGATTGCTGAAACCGCAACGGACAGACGGCGGTCATCGGCTGTTCAACGATGCCGATATTGACCGGA
+TCCGCGAGATCAAACGCTGGATCGACAACGGCGTGCAGGTCAGCAAAGTAAAAATGCTGCTCAGTAATGA
+AAATGTTGATGTGCAGAACGGCTGGCGCGATCAGCAAGAAACATTACTGACTTACCTGCAAAGCGGCAAT
+CTGCATAGCCTGCGAACGTGGATCAAAGAGCGCGGTCAGGATTACCCCGCCCAGACACTCACCACACATC
+TGTTTATTCCTCTGCGCCGACGGCTTCAGTGCCAACAACCGACTCTCCAGGCGCTGCTGGCGATCCTCGA
+CGGCGTACTGATCAACTACATCTCTATTTGCCTGGCTTCGGCGCGCAAAAAACAGGGTAAAGATGCACTG
+GTGGTTGGCTGGAATATTCAGGATACCACTCGTCTGTGGCTGGAGGGCTGGATTGCCAGTCAACAAGGAT
+GGCGCATTGATGTCCTCGCCCACTCGCTCAATCAACTACGCCCTGAACTGTTCGAAGGCCGTACATTGCT
+GGTATGGTGCGGTGATAATCGAACCTCCGCCCAACAGCAGCAACTCACCAGTTGGCAGGAACAAGGCCAT
+GATATTTTCCCACTCGGCATTTAATGATTCGTTAACAAATACGCTTTACTGTACAATCCTTTCGTTAACA
+TAAGGAGTGCATTATGCGCATAGCTAAAATTGGGGTCATCGCCCTGTTCCTGTTTATGGCGTTAGGCGGA
+ATTGGTGGCGTCATGCTCGCAGGTTATACCTTTATTTTGCGTGCTGGCTGAACGCCTGCACCAGCCTTTC
+AAACAGGCGGTCTGCGATGATCGCCGCCAGTGCCACCAGTAACGCTCCCTGGATCACATACGCGGTATTA
+AATCCGCTAAGTCCGATGATGATGGGCGTACCCAGCGTGTTGGCCCCTACCGTTGAGGCGATCGTCGCCG
+TGCCAATGTTGATAATCACCGAAGTTCGTACACCCGCCAGAATCACCGGAGCTGCCAGCGGTAGCTCGAC
+CTTACGCAGTCGCTGACCACGACTCATTCCCATACCTTTCGCAACTTCTGTCACGCTGGCATCAATCGCT
+CCCAGCCCGGCAAATGTCGCCTGCAGGACGGGCAGCACGCCGTAAAGGATCAAGGCGATAATCGCTGGTT
+TCAGACCAAAGCCGATCACCGGAACGGCAATCGCCAGCACCGCGACGGGCGGAAAAGTCTGCCCAACGGC
+GGCAATAGTTTCCACCAGTGGGCGAAATTCCGCACCCCACGGGCGAGTGACAGCAATTCCGGCACCAGTA
+CCAATGATCACCGCAAACAAACTCGAAATTCCCACCAGCCAGAAATGAGCCAGTGCCAGAGCTGCAAAGC
+TTTCCTGCTGATAAACGGGTCGTGGCAGTTGTGGGAACAAGGCAGCAAACAGCGGCTGGCTGTAAGGCAG
+CCAGAAAATCAGCGCCACAAACAGAGCAATCAGCCAGAACAGCTGATCGCGCAACATCTTCATACGATTA
+CGCCTCCTCCAGCAGATCCTGAAAATGCAGCGTGCCGCAAGGCTCGCCCTGCGTGTTCACCACCGGCAGC
+ACTTCACATCCCCGCGCGACAAACAGGGAGAGCGCATCGCGTAGCGTCATCTCTTCTGCCAGCGCCTCAC
+CTTCGGCCCGTTCTTCGCGACGCACGGTAATCCGCCACGCTACGTAACGAAAGCAGGCGGACACCCAGTT
+CACTATGCCCAAAAAACTGGCGGACAAAATCATTCGCCGGATGAGTCAGCATCGCCAGAGGATTGCCCTG
+CTGCACGACTTCACCGTGATCCATCAATACCAGATGTTCTGCCAGCCGTAGCGCCTCATCAATATCATGA
+GTGACCAGCACAATAGTGCGCCCCTGCAAACGGTGAATGCGCGTCATCTCTTGTTGCAACGCGCCACGCG
+TTACCGGGTCCAGTGCGCCGAATGGCTCATCCATCAGCAAGACTTGCGGATCGGCAGCCAGCGCGCGGGC
+CACTCCCACACGTTGCTGCTGACCGCCGGAAAGCTGATGCGGATAACGCTCACGCAAATCCGGCTCCAGC
+CCCAGCAGCGCCATTAATTCGTCGATACGATCATCGATCCGCGCCCGCGACCATTTTTGTAATTGCGGCA
+CGGTGGCAATGTTTTGCGCCACGCTCCAGTGGGGAAACAGGCCAATAGATTGAATGGCATAGCCCATCCG
+GCGGCGCAACTCCAGCACTGGCAGCGAGCGAATTTCTTCTCCGGCAAAGCGGATCACGCCACTGTCATGC
+TCCACCAGGCGGTTAATCATTTTCAGAGTGGTGGATTTACCGGAGCCTGATGTACCAATCAGCACCGAAA
+AACTCCCCTCCTGAAAATTGAGATTGAGATCGTTAACGGCTTTTTGTGTGCCGAACAGTTTGCTGACATG
+GCTAAATTCAATCATTACGTTTCACCTTCAGCAGTGCGATAAGCAAATCGAACAGCGCGTCGGTAAGCAC
+CGCCAGAACAATTACCGGGATCACCCCCAGCAACACTAAATCAATGGCACTGCTTAACAGCCCCTGAAAA
+ACCAGCGCACCAAAACCGCCTGCGCCGATTAACGCCGCAATCACCGCCATGCCAACGGTTTGCAGCATCA
+CCACCCGCAGGCTGCGCAGAAATACCGGTAACGCCAGCGGCAACTGAACATGCAGGAAACGCTGCGCCCC
+GCTCATCCCCATCGCTCTGGCGCTCTCCAGCACATCGCGCGGGATCTGGTTTAAGCCGACTACCACGCCG
+CGCACCAGCGGCAGCAAGGCATAGAGCACCAGCGCAATCAGTGCGGGTGTCATTCCGGTTCCTGCTATGC
+CGAGCGTTCCCAGCCACGGAAAGGCCGTAACCAGCGCGGCAAGCGGCGCAATCAGCAGGCCAAAGAGCGC
+TACCGAAGGCACGGTCTGAATGACATTCAGCAGAGAAAAAATCGCCCCCTGCCGCGCGGTGGAAAAGTAG
+CACCAGATGCCCAACGGCACACCAATCACTAACGCAGGCAGCACCGCACCAAACAGCAACGTCAGATGTT
+GTGCCAGCGCGTCGTCAAACACATCCTGACGGTTGGCGTATTCTTTCATTAACGAGAGATCGTTAAGCGT
+GCCGGAGTACAGCAACCACAGCGGAACAATGGCAATCTGCATATGCAACAACCAGCGCCACAGCGGATGC
+GTGGAGATTCGGCGGATGGCATCGCTACAGGCCAGCAGTGCCAGCGCCGCAGCCAGCCAGAAACCACTGC
+CGAGGCTGGTACGCGCCAGCGCACTGCCATTTTGCGCCAGTTGTGTCGCCGCCTTTCCAGCTCCCCACAC
+CAGCAATACGAAGACGAATTGCGCCAGAATGAGTGCAAAAATGCTGCCTTTTTTAGCGGGAATAAAACAG
+GCTGTCAGCCAGGCGCAACCAACGCCCACCAGCATCCAGAGAGTTTGCGGCCACAGCTGCCAGAGATGAC
+GCCCCTCACCCGAAACTAAACGATTAGGTGCGTAACTGATAAACGGCAGCGCCGCTGCGATTGCCGTCAG
+CAACAGCAGCAGCGCCAGAACAGGATTAATACGGAAATAAGTCACGGGAAATTACTTCGTCCACCCTTTT
+TGTTTCAGGTAGTCGGCTGCCACTTTTTTGGCATCCAGTCCTTCCACTGCAATGCTGGCATTCAGCTGCT
+GCAATGTTTTTTCATCGAGGCTGGCGAAGACTGGCTGTAGCCACTGTGCTATTTGCGGATACTCTTTCAG
+CACCGACTCACGCACCACTGGCGCAGGCGCGTAGATAGGTTGCACGCCTTGCGGATCGCTTAAGGTTTGC
+AGCCCCAGCGCCGCAACCGGGCCGTCGGTGCCGTAAGCCATTGCGGCATTAACACCAGAAGTTTGCTGGG
+CAGCGGCTTTGATCGTCACCGCCGTGTCACCACCGGCCAGTGACAGCAACTGATCCTGACCGAGCTTAAA
+GCCATAGGCTTTTTCAAACGCGGGTAAGGCATCGGCGCGTTCGATAAACTCTGCCGAGGCTGCCAGTTTG
+AAGTTGCCACCCTCTTTCAGATAACGACTCAGCTCGGCAAGCGAAGTGAGTTTGTTTTTCTCTGCCACAT
+CCTGACGCACGGCGATGGTCCAGGTGTTATTTGCAGGCGCGGGCGTCAGCCAGATTAACTTGTTTTGCTC
+TGCATCGAGTTTTTTGACTTTCTCATAGCCTTGCTGCGCGTTTTTCCATGCCGTATCGTTTTCATCTTTA
+AAGAAAAACGCGCCATTGCCAGTATATTCCGGATAGATATCCAGCTCGCCAGAAGTGATCGCCCCGCGCA
+CTACGGGAGTCGTTCCCAGCTGCACTTTATTTACCGTAGGAACGCCGTGACTTTCCAGCACCTGCAAAAT
+GATATTGCCGAGCAGCGCGCCTTCCGTATCGATTTTTGAACCAACCTTAACGGGGGAAGCCGCCTGTAGC
+GGCAGGCTCACGGCTGCCAACAAAACCAGTGAACCTGCCCAGACCTTTGAGAGTGGCATGATGCTTTCCT
+CATTCTTTTACTGTTGTTTTCAGCGAATTAAGAGAAAAGCATAGTTGATAATGGCGGAGTTAGCCTGACT
+GGGTGGACTCAGTTGCAGAATCAGATAAATACTTAAAAGGCATATTTTGCCCGGCGTTTCTTGCCGGATG
+CGGCGTAAACGCCTTATCCGGCCTACAAACATCGAAAATTACAACAACTCAAACTCGCCTTTCTTAACGC
+GTGCGGAATCAGTGCCGATGAAGACATTGAACTTGCCAGGCTCGGCGTCATATTTCATCTGTTGATTCCA
+GAACTTCAGCGCCTCAATATCGATTGGGAAGCTGACGGTCTGAGTTTCGCCCGGTTTCAGGGTGATTTTC
+TCAAAGCCTTTCAGCTGCTTCACCGGGCGACTCATGGAAGCCGTCACATCCTGCAAGTACATCTGTACTA
+CCGTGGCCCCTTCGCGTTTACCGGTGTTCGTCACCTGCACGCTGGCCGTCACTTTACCGTCACGCTTCAT
+GGTCGGCGCAGAAAGTTTCACATCAGAGACGGTGAAAGTGGTGTAGCTCAGCCCATAGCCGAACGGATAA
+AGCGCCCCGTTAGCTTCATCAAAATAACGCGAAGTGTATTTGTTCGGCTTGTCGGCATTATACGGACGCC
+CGGTATTCAGATGGCTGTAGTACACCGGGATCTGCCCGACAGAACGCGGGAAGGACATCGGCAGCTTGCC
+GGACGGGTTATAATCGCCAAACAATACATCGGCAATTGCATTACCGCCTTCAGTCCCCGCAAACCAGGTT
+TCCAGAATCGCATCAGCCTGCTGATCTTCTTTCACCAGCGCCAGCGGACGCCCATTCATCAGCACCAGCA
+CCAGCGGTTTACCGGTGGCTTTCAGCGCCGCAATCAAGTCACGTTGGCTTTGCGGAATAGTGATATCGGT
+ACGACTGGAAGCTTCGTGCGCCATCCCCTGAGCTTCACCGACCACAGCCACCACCACATCAGATTGTTTC
+GCGGTTTGCACCGCTTCATCAATCATCTCTTGCGGCGAACGCGGATCAACTTTGACCGCCTCTTCATACT
+GATTCAGGAAATCGATAATGCCTTTGTCACTGGTAACGTTCGCCCCTTTGGCATACAGCACTTTACCGTT
+TTCACCGACGGCGTTTTTAATCCCTGTTAGCACAGTAACAGATTGATCGGCGACACCTGCTGCCGACCAG
+CTTCCCATCACGTCACGCTTGCTGTCTGCCAGCGGGCCAACCACCGCAATGGTTGCAGATTTTTTCAGCG
+GCAGCGTTTCGAGACGGTTTTTCAGCAACACCAGGCTTTCGCGCGCCACTTCACGCGCTTCTTTACGGTG
+CAGGCGGCTTTCGGCATTGGTATCCACCGGGTCAGACTCTTTCGGCCCCAAATGGCTGTATGGGTCGTTA
+AACAATCCCATATCATATTTAACGTTCAGTACATGGCGGGCAGCATCGTCCAGCTCTTCCATCGTCACTT
+TGCCGGATTTGATCAACCCAGGCAGATACTTCGAGTAATACTCGTCGCTCATGCTCATGTTGATTCCGGA
+CTTCAGCGCCACGCGTACCGCATCTTCCGGGTCTGCCGCCGTGCCATGTTTAATCAGTTCTTTGATTGCG
+CCGTGATCGGAAACGGTGATGCCTTTAAAGCCCCACTGGTCGCGCAGAACATCTTTCAGCAGCCAGGAGT
+CGGAGGTGGCTGGCGTGCCGTTCAGCGAGTTCAGCGCCACCATCACCGCACCGCTGCCTGCGTCCAGCCC
+CGCTTTGTACGGCGGCATATAGTCGTTAAACAGGCGCTGCGGACTCATATCGACGGTGTTGTACTCTTTA
+CCGCCTTCTACCGCGCCGTATGCGGCAAAGTGTTTGACGCTGGTCATCACCGAGTAACGATCTGCCGGGC
+TTTTACCCTGCATCGCTTCCACCATGGTTTTGCCCATTATTGAGGTGAGATACGTATCTTCGCCAAAACC
+TTCGGAAGCACGTCCCCAGCGCGGATCGCGCGAGACATCGACCATCGGTGCCCAGGTCATATTCAGGCCA
+TCATCTGCCGCTTCATAAGCAGAGACACGCCCGACTGTTTTCACCGCATCGAGGTTAAAAGACGAAGCCA
+GACCGAGACTAATCGGGAACACCGTGCGCTGACCGTGCAGCACGTCGTAAGCAAAGAAAAGAGGAATTTT
+CAGGCGGCTTAATTCCATCACCTGATCCTGCATGGCGCGGATATCCTGACGGGTTACGGTGTTGAAAATC
+GCCCCAACCTGACCGTCTTTGATCATCTCGCGGATCGCCTCTTTCGGGTTATCCGGGCCGACGCTGATTA
+AGCGCAGCTGACCAATTTTCTCATCAACTGTCATTTTCTTAAGCAGTTCGGTGACGAACGCATCCCGCGC
+TTCGGGCGTTAATGGATGGTTGCCGAATAAATCATCCGCCAGTGCTGGCTGCAGGGCCAGACTCACCGCG
+ATTCCTACTGAACATAGCCATTTCATATGGATTTTTCTTCCTTTGTTGCCCGACGTGGCAGCGAAAATGG
+TGCAAAAACCGTAGTTTGCCATAAGCATGATGGAGAGAGAAAAAGAATGCTCAGTTTATTGTCTGAATTT
+TCAAAATATTCACTCGCTGAATTGTCATACAAGGCGCTATTCTAGTTTGTGATATTTTTTCGCCACCACA
+AGGAGTGGAAAATGTCTTCCATGACAACAACTGATAATAAAGCCTTTTTGAATGAACTTGCCCGTCTGGT
+CGGTCATTCACACCTGCTCACCGATCCCGCCAAAACGGCCCGCTATCGCAAGGGCTTCCGTTCTGGTCAG
+GGCGACGCGCTGGCTGTCGTTTTCCCTGGCTCACTACTGGAATTGTGGCGGGTGCTGAAAGCCTGCGTCA
+CCGCTGACAAAATTATTCTGATGCAGGCTGCCAATACAGGCCTGACCGAAGGATCGACGCCAAACGGTAA
+CGATTATGATCGCGATATCGTGATCATCAGCACCCTGCGTCTCGATAAGCTGCACGTTCTCGGCAAGGGC
+GAACAAGTGCTGGCCTATCCGGGCACCACGCTCTATTCACTGGAAAAAGCCCTCAAACCGCTGGGACGCG
+AACCGCACTCAGTGATTGGATCATCGTGTATAGGCGCATCGGTCATCGGCGGTATTTGTAACAACTCCGG
+CGGCTCGCTGGTGCAACGTGGCCCGGCGTATACCGAAATGTCGTTATTCGCGCGTATAAATGAAGACGGC
+AAACTGACGCTGGTGAACCATCTGGGGATTGATCTGGGCGAAACGCCGGAGCAGATCCTTAGCAAGCTGG
+ATGACGATCGCATCAAAGATGACGATGTGCGCCACGATGGTCGTCACGCCCACGATTATGACTATGTCCA
+CCGCGTTCGTGATATTGAAGCCAACACGCCCGCACGTTATAACGCTGATCCGGATCGGTTATTTGAATCT
+TCTGGTTGCGCCGGGAAGCTGGCCGTCTTTGCGGTACGTCTTGATACCTTCGAAGCGGAAAAAAATCAGC
+AGGTGTTTTATATCGGCACCAACCAGCCGGAAGTGCTGACCGAAATCCGCCGTCATATTCTGGCTAATTT
+CGAAAATCTGCCGGTTGCCGGGGAATATATGCACCGGGATATCTACGATATTGCGGAAAAATACGGCAAA
+GACACCTTCCTGATGATTGATAAGTTAGGCACCGACAAGATGCCGTTCTTCTTTAATCTCAAGGGACGCA
+CCGATGCGATGCTGGAGAAAGTGAAATTCTTCCGTCCGCATTTTACCGACCGTGCAATGCAAAAATTCGG
+TCACCTGTTCCCCAGCCATTTACCGCCGCGCATGAAAAACTGGCGCGATAAATACGAGCATCATCTGCTG
+TTAAAAATGGCGGGCGATGGCGTCGGTGAAGCCAAATCGTGGCTAGTGGATTATTTCAAACAGGCCGAGG
+GCGATTTCTTTGTCTGTACGCCGGAGGAAGGCAGCAAAGCGTTTTTACACCGTTTCGCCGCTGCGGGCGC
+AGCAATTCGTTATCAGGCTGTGCATTCCGATGAAGTCGAAGACATTCTGGCGCTGGATATCGCTCTGCGG
+CGTAACGACACCGAATGGTATGAGCATTTACCGCCGGAGATCGACAGCCAGCTGGTGCACAAGCTCTATT
+ACGGCCATTTTATGTGCTATGTCTTCCATCAGGATTACATCGTGAAAAAAGGCGTGGATGTGCATGCGCT
+GAAAGAACAGATGCTGGAACTGCTTCAGCAGCGTGGCGCGCAATACCCTGCCGAGCATAACGTCGGTCAT
+TTGTATAAAGCACCGGAAACGTTGCAGAAGTTTTATCGCGAGAACGATCCGACCAACAGTATGAATCCGG
+GGATTGGTAAAACCAGTAAGCGGAAAAACTGGCAGGAAGTGAAATAAAAATTACGGATGGCAGAGTATCG
+CCATCCGTACTTCATTTAATCGTTCTGTGCCGTCTGCCCCGCCGCCGCCATTTGGGCGGCTTTTTGTTTT
+TTATAGCTCAACGCTGCTGCCGGAACAGGCATCACTTTACCGGTTTCAATCCAGGTACGCAGGCGGCTGG
+CATCGGCAAAATGGGTATATTTGCCAAACGCGTCCATCACTACCAGCGCCACCGGTTTATTATTGATAAC
+CGTGCGCATCACCAGACAATGGCCCGCCGCATTGGTAAAACCGGTTTTGGTTAACTGAATATTCCAGTTA
+TCACGATACACCAGATGGTTAGTATTGCGGAACGGCAGCGTATACGTCGGGTTAGAGAAGGTTGCCATAT
+CTTCCCGGGTAGTACTTAACTGCCCGATCAACGGATATTGTTTGCTGGCAATGAGTAGTTTGGTTAAGTC
+ACGGGCGGTTGAAACGTTATGCACCGACAATCCGGTTGGTTCAACAAAGCGCGTGTTGTTCATTCCGAGC
+GATTTCGCTTTCGCGTTCATCGCCTTAATAAAGGCTTTGTAACCACCGGGATAATGGTGCGCAAGACTTG
+CCGCCGCGCGGTTTTCTGAAGACATCAGCGCCAGCAACAGCATATCTTTACGGCTGATTTCGCTGTTCAG
+TCTTACGCGCGAATAGACCCCTTTCATCTCCGGCGTCTGGCTGATATCCACTTTTAGTTTTTCATCCAGC
+GGCAGTCGTGCATCCAGCACAACCATCGCGGTCATTAATTTGCTGATAGACGCAATCGGACGCACCAGAT
+CCGGGTGGTTCGAATAGATCACTTTGTTGGTATTCAGATCAACAATCATCGCGCTACCGGAGGCAATTTC
+CGGTTGTGACGCGGTGGTAGCGGCTACCGTTTTCGCAACGGCCTGCGGTGCAAAAGGCACAGCCAGCATC
+AGGGCCAGGCTAAATAAAGAAACTCGAAATTTCGGCATGATGAGCATTCAGATAGTGGTTCACGCGCACG
+GGTTGCGCACCGCCGGAGTAAGGATTTACTGAGGCTAGCGACGCCATCATAACGAGCAAAAAGTGCGATC
+GTCAAAGAAGAATCGTGAGGAAATGCTGCATTGCTGACATTTACGCCAGCAATGCAGCGCAAAAGAACTT
+TCTAGAACAAACGATAACCGTAGCCCCATAGTATAACGGTAAGGGCGAGCAGCACTTCCAGCACCAGCAC
+GCCTATCGCCAGTGTCGAACTGGAGAAGCTAAGTCCTTCCTCTTTGTTGATATTCAGGAAGCTCGGAATA
+CCGAGATACAGCAGGTAGCCGGTGTAAAACAGCGCCACCGTGCCGACCAGCGCACACAACCAGACCAGCG
+GGTAAAGCGCCACCAGACCGCTTAAAAACAGCGGAGTTGCAACGTAGCCCGCGAAGACCATGCAGTGCGC
+AAGTGACGGACGCTGCGGATAATTACGCGCCATCCACCAGATGACCCGCCCCATCACCGCAACCCCAGCC
+AGCATAACGCCGTAAAACAAGACAGCCAGCGCCAGTCCGGTAAACCAGGATAACTTCAGGATAGTGCCAT
+CGCCAAAATTCCAGCCAATCTGTGTAGTGCCAATGAAGGCGCAAATCACCGGAATCGCCGCCATCAGCAA
+AACGTGGTGGGTGTAGTGATGAGAAATCGTTTCGTTTTCGCGATTAATCACCTGCATTTCACGATCGGGA
+TGGGAAAACAGTCCCCAGACATGGCTCATACCGCCCCCTTGTTGTGAGTTCATGAACCTGACAGTTCAAG
+TATAAGTCAGCTTGTGATTATTTTTTGTTCGCTCATGTAATTTGCACCGTCTGATGTACGTCCTTTTTCA
+GCGTGAATGATTCACAGGGTGTATGCTTACAGGCAAGCAAAGGGAGACAGACTGTCCTATGGATCTCAAT
+ACACTCATCTCACAATATGGTTATGCCGCGCTGGTGATCGGTAGCCTGGCGGAAGGTGAAACCGTGACTT
+TGCTGGGAGGCGTTGCGGCACATCAGGGGCTATTAAAGTTCCCGCTGGTGGTACTTTCTGTGGCGCTTGG
+CGGCATGATTGGCGACCAGGTGCTTTATCTGTGCGGGCGGCGGTTTGGCGGCAAGCTGTTACGCCGTTTC
+TCGAAACATCAGGATAAAATTGAGCGGGCGCAGAAACTTATCCAACGCCATCCGTATCTGTTTGTCATTG
+GTACGCGTTTTATGTATGGCTTTCGGGTCATTGGCCCGACGCTGATTGGTGCCAGCCAGCTGCCACCGAA
+AATCTTTCTGCCGCTGAATATTCTCGGCGCATTTGCCTGGTCGCTGATTTTTACCACTATCGGTTACGCT
+GGTGGGCAGGTGATTGCGCCGTGGTTGCACAATCTCGACCAGCATTTGAAGCACTGGGTCTGGTTGATTC
+TGGTCGTGGTTCTGGTGGTAGGCGTGCGCTGGTGGCTGAAACGGCGCGGGAAGAAAAAGCCGGATCATCA
+GGCGTAAAACTATTGCCCTGGATAAGGTGTTCGCGCCGCATCCGACATCCGGTGCACCATGCCTGATGCG
+ACGCTGGCGTGTCTTTTCTGGCCTAACCCAATGAAATAACCACGCACCTCACTGCGCTATTCTGGGTTGA
+ACTGCGGATTCGCCAACATAAAGCCGCCATCCACTATCAACGACTGCCCGGTGGTGTAATTTGCGCCCTC
+CGAACAAAGCCATACCACCAGGCTGGCAATCTCATGCGTTGTGCCAAAACGTCGCAAGGGAATCGAAGGC
+TCCGCGTCAGGCTTCACGTCGCCGCCATCCATGCCGTTCATTGGCGTGGCGATCGCCCCAGGTGCGACTG
+CGTTCACCAAAATTTTATGCCTGACCAACTCCAGCGCCATTGCTTTGGTTAACCCGCCGAGCGCATGTTT
+AGCGGCTGTGTAGGCGCTGGCATCCGGCAGCGGCGTATGTTCATGTACCGATGTAATGTTGATGATGCGA
+CCGCCCTGCCCTTGCTTCACCATCTGGCGGGCAGCAATTTGCGAGCATAAAAATGCACCATCGACATCAA
+CGGTAAAAATCTTGCGCCACTCATCGAAAGCCATATCAAGAAACGGCGCTTTGGTCATTGCGCCCGCATT
+ATTCACCAGCACATCAATACGCCCCAGCCGTTGAATAAGTTTCTCCAGCGCCTGCGCACCTTCTGGTAGA
+TTGCCGAGATCCAGTTGCACGATCTCCGCACGTACGCCGTGGCTAACTACCTCACGCGCGGTATCTTTTG
+CCCCTTCTTCATCTGAGTGCCAGGTAATGCCAATATCAAACCCCTGCTGCGCCAGTAATAACGCGCACTC
+TTTGCCGATCCCCGAATCGGAGGCGGTAATTATCGCGACCTGTGCCATCGAGTTCTCCACTTAACGCTCA
+ACAAACGTTAAGTATAGAAGGCGCATATCATCAGCGTTTGTACCCCCCGCCCAGCGCACCAGTGAGTTGA
+ATGGAGGCATCCAGCCACTGCCCTTGCAATAACAGGCCATTGGCCCGCTCACGCAGCGCCGGGATTCTGG
+CTTCGCTGACCCGGGAACCAGCAATGAGGCCCGCGTTAAAGCGCGCCTGCGCAAGACCTACTACACGCAA
+GGCATCGCGCTCAATTTGCGCCTGATGCTGGTTTTTCTCCGCCAGTGTCTGAACCTGACTGGCTGCCCGC
+GCCACGTCATTCACCGCTTCAACCACCGCTTTGTTGTAGCTGGCGATAGACAAGTTGCTTTCGGCTTTTG
+CGATATCGAGATTGGCGTTAAGACGACCACTATCGAAAATGGGTAGCGTCAGGCCTGCCGTAACGCCCAT
+TTGCTGCGCGGAATGACGGAACAGATCGCTTAAGTGCAACGCATCCTGTTGCAGAAAGGCCATCAGGTTG
+ATGTCAGGATAAAATGCCGCTTTTGCCGCATCAATAGTGCTTAACGATGACTCAACGTACCAGTGCGCCG
+CCTGCAAATCTGCCCGCCGGGCCAGTAAGGAGTACCCGAGTTCATCAGGAAGCTGACTTGCCACTTTCGG
+CAACGCGACCGGTTTAAGCTTCAATGACTTTGTCTGGTGGTTGGTGAGCGCACTTAACCGTGCCTCAATA
+ATTTTCATTTTCCCCGCGACATCGTTGAGCTGCTGCCGGGTTTTGCTGGCATTAATATCGGTTTCCACAC
+CTTCAACTGCAGAAGTAATCCCGTTCTGATATAGCTGGCGATCGGTGGCGATAATGGTGTTCTGCTCTTT
+TTCGATTTGCTGTAAGACCGTGTTTAACGCCGCCTGGGTTTGCCACTCCCAGTACAGGCGGGCTACGCTG
+CCAGCCAGCAATTGGCGGGTTTGCTCGCGTTCCGCCGCCCGTGCTTTAACCGTACCGAGGCGAGCAGTAA
+CCTCCGCCCGATTCTTTCCCCAGATATCGAGATGCCAGCCCGCCGTTAAGCCAAAAGTACCGTTGGTGTA
+CCACGGACCGGTCGTACCTGCGGCCGGATCGTTCAAAGCAAACGGCCCCATTAACCCTTCTGCCGACATT
+TTTTGCCGCTCCATATCCGCAGAAAAGTCGAGCTGCGGACCATCCTGAGTGGCAATTGCCTTCGCCTGGG
+CTTCAGCCAGCTGAATGCGCTGTTCAGCCACCTGCATATCCGGTGCGCTCTGTAGTGCGTTATTAATTAA
+GGAGGTGAGTTGATTATCGTGATACTCCAGCCACCATTGGCTGTCTGGCCAACCATTTTTTAGCGCCGTG
+GGTAATACGGTGTCAACTTGTGCAGCGGGCGTTTGCTGGCTTAACGCCTGGCGGGTTTCATGCATAGGCG
+CACACCCGGCCAGCATCAGTAACAGCGAAAAACAGGCGATGGCGGGATAAAAGGAATCACGATTCATGGG
+GGAATAATCAGGTAAGAAAAGGTGCGCGGAGATTACCGTGTGTTGCGATATATTTTTTAGTTTCGCGTGG
+CAATACATCAGTAGCAATAAAACGACATATCCAGAAAAATATACACTAAGTGAATGATATCTTTCGATTT
+ATCTTAATCGTTTATGGATAACGGCAAAGGGCTTCGTTTTTTCCTATACTTATTCAGCACTCACAAATAA
+AGGAACGCCAATGAAAATTATACTCTGGGCTGTATTGATTATTTTCCTGATTGGGCTACTGGTGGTGACT
+GGCGTATTTAAGATGATATTTTAAAAATCAGATATGGCATATAAGTTGTCAGGTCAGTAACTCGATATTT
+TGTGTACTTGATTTGCAAACAGCTCCGGTGTTGGTGGCGTCAAAATCGCTGAAGCGTTCCCCGAAGGCCG
+GGGCAGCCCACATGGATGTGGGCTGAGGGCGCGTCTTACAAGGACGTTACCTCGCGCCCGACCCGGTAGC
+CGAAGGGGATAAGCTGAAGGTACCGCGCAGCGGCGATTTTGTTCGCCAGAGCCCGGGGGGGGCAGGGGGA
+GGAGGCGATTGTCCTCCCCCTGCGCGCTCCTTGCGCCAGTGGCAATATGTGGCTTAGCTCATGAAAGGAG
+CGCAACAAGATGATGAAGCTGAATAAGCGATTCATTGTCTCAGATAAGCTGCGATTCCACTATTATCGCA
+GCTTATCGATATCAATGGCCTGAATAGCCCTTGCAATATCAGGGGAATTATTCAACACCCGAACATGCTG
+AAATAATTCCGTTGCTTCATCGTATTCTTTACGCAAATAACTCAACCACTGTTTAATCCGCGCAACGTGA
+TATAACCCGGTATCGCCCTGCTTTTCCAGACGGGTATATTTTTGCAGCAAAGCAACCACCTCCGGCCACG
+GCATTCGCGGTTCGTTATATTTCACCACACGGCTCAGGTTGGGAATATTGAGCGCCCCGCGACCAATCAT
+CACTGCGTCGCAGCCGCTGATCGCCATGCATTGTTGCGCACTCTGCCAGTCCCAGATTTCACCGTTGGCA
+ATCACCGGAATATTAAGCCGCTGGCGAATCTCGCCAATCGCCTGCCAGTCAATATGTTCCGCGCGGTAAC
+CCTGCTCTTTTGTCCGCCCATGTACTACCAGCTCCGTAGCACCAGCCTGTTGAACCGCATCGGCGATTTC
+AAATTTCTTCTCACCGCTGTCCCAGCCCAGACGCACTTTTACGCTGACAGGCAAATGCGCCGGTACAGCT
+TCGCGCATCGCTTTTGCACCCTGGTAGATGAGTTCAGGATCTTTCAGTAACGTTGCCCCACCACCGCTAC
+CGTTAACCGTTTTCGACGGGCAGCCGCAGTTAAGATCCACGCCCCAGGAACCTAACTCCACCGCACGGGC
+GGCGTTCTCTGCCAGCCACTGCGGGAACTGCCCTAACAACTGCACGCGAACCAGCGTACCGGATGGTGTC
+CGGCTGGCATTTTGTAGCTCAGGGCAAATGCGATGAAAGACTTTTACTGGCAGCAGTTGATCCACCACGC
+GGACAAACTCGGTGATGCACAGATCGTAGTCGTTAACTTCGGTCAGTAATTCCCGCACCAGAGAGTCAAG
+TACACCCTCCATCGGAGCCAGTAACACACGCATATCATCACCCGCAAAAAAATGAGGCGCTATGTTAGCG
+CCTCCGGTCAACGGATTAAAGGTCTGCAAAGAGGGATTGCTGCAAACTGCAATCCCTCTCTATGCTTGAT
+GTATGCCTGAGTTCGCTGCGCATTGCGTAATACCGGGGAGCGAAAAAATAAGCGCTGATTTCTTAATGTG
+ATCGGTAGCACGTTTTACGAATTAATTGTATGATGAATCCATCTCATCTGGGGTGTTGATTATGAGTAAG
+ACACTGAACATTATCTGGCAATATTTACGTGCTTTTGTCCTGATTTATGCCTGCCTGTATGCAGGCATTT
+TCATTGCTTCCCTGCTACCGGTAACCATTCCGGGCAGCATCATCGGGATGCTGATCCTGTTTGTCCTGCT
+GGCCTTGCAAATTCTTCCGGCAAAATGGGTCAATCCGGGGTGCTACGTACTGATTCGCTATATGGCGCTA
+TTGTTTGTGCCGATTGGCGTAGGCGTCATGCAATATTTTGATTTGCTCCGCGCACAGTTTGGCCCGGTAG
+TGGTTTCCTGTGCAGTCAGTACGCTGGTGGTTTTTCTGGTGGTGAGCTGGAGTTCACAACTGGTGCATGG
+TGAACGTAAAGTCGTAGGTCAGAAAGGATCAGAAGAATGATGGCGAATATCTGGTGGTCATTACCGCTGA
+CGTTGATTGTCTTTTTTGCCGCCCGCAAACTGGCGGCACGGTATAAGTTTCCCCTGCTTAACCCGTTGCT
+GGTAGCAATGGTGGTGATCATTCCTTTTTTAATGCTGACTGGCATCTCTTACGACAGCTACTTTAAAGGT
+AGCGAAGTGCTAAACGATCTGCTGCAACCGGCGGTTGTCGCGCTGGCCTATCCTTTATATGAGCAGCTGC
+ACCAGATCCGCGCGCGCTGGAAATCGATCATCACCATCTGTTTTATCGGCAGCGTGGTTGCGATGGTGAC
+GGGGACTTCTGTGGCATTGTTGATGGGCGCTTCACCGGAAATCGCCGCGTCAATCCTGCCGAAATCAGTC
+ACCACGCCTATTGCAATGGCAGTTGGCGGCAGTATTGGCGGTATTCCGGCAATCAGCGCAGTTTGCGTGA
+TTTTCGTCGGCATCCTCGGCGCTGTGTTTGGCCATACATTGCTTAATGCGATGCGTATTCGTACCAAAGC
+TGCGCGCGGTCTGGCAATGGGGACAGCCTCGCACGCCCTCGGTACGGCGCGCTGCGCCGAGCTGGATTAT
+CAGGAAGGTGCATTTAGTTCGCTGGCGCTGGTGTTATGCGGGATTATTACTTCGCTGATCGCACCGTTCC
+TTTTCCCGATTATTCTGGCAGTAATGGGCTAAAATTTGCGATGCGTCGCGCATTTTTGGTGTAAGTTTCA
+CGCGTTGCATAATTAATGAGATTCAGATCACATATAAAGCCATAACGGGTTCGTAAACTGTTATCCCATT
+ACATGATTATGAGGCAACGCCATGCATCCACGTTTTCAAACCGCTTTTGCCCAACTTGCGGATAACTTGC
+AATCTGCACTGGAACCTATTCTGGCAGACAAGTACTTCCCCGCTTTGTTGACCGGGGAGCAAGTCTCATC
+GCTGAAGAGCGCAACGGGGCTGGACGAAGACGCGCTGGCATTCGCACTACTTCCGCTGGCGGCAGCCTGT
+GCGCGTACGCCATTGTCGAATTTTAATGTTGGCGCAATTGCGCGCGGTGTGAGCGGAACCTGGTATTTCG
+GTGCCAATATGGAATTTATTGGTGCGACAATGCAGCAAACCGTTCATGCCGAACAAAGCGCGATCAGCCA
+CGCCTGGCTGAGTGGTGAAAAAGCGCTTGCAGCCATCACCGTTAACTACACGCCTTGTGGTCACTGCCGT
+CAGTTTATGAATGAACTGAACAGCGGTCTGGATCTGCGTATTCATCTTCCGGGACGCGAGGCACACGCGC
+TGCGTGACTATCTACCGGATGCCTTTGGGCCGAAAGATCTGGAGATTAAAACGCTGCTGATGGACGAGCA
+GGATCACGGCTATGCGCTGACTGGTGATGCGCTTTCTCAGGCGGCGATTGCGGCGGCAAACCGTTCGCAC
+ATGCCTTACAGTAAGTCGCCAAGCGGTGTCGCGCTGGAATGTAAAGACGGTCGTATTTTCAGCGGCAGCT
+ACGCTGAAAACGCCGCATTCAACCCGACTCTGCCGCCGTTGCAGGGGGCGTTAATTCTGTTGAATCTCAA
+GGGTTATGATTACCCGGATATCCAGCGCGCGGTTCTGGCAGAAAAAGCCGATGCGCCGTTGATTCAGTGG
+GATGCCACCTCCGCAACGCTGAAAGCTCTCGGCTGTCACAATATCGACCGCGTGCTTCTCGCTTAAGCCT
+GGTGCCGGATGCGGCGTGAACGCCTTGTCCGGCTTGCCAGCCCTTTCCTGGTGTCGAAAATCCCGGCAAA
+CAGTTTGCCGTTTCTTGCGCAAAACCAGCGGGTAAAGTAGCCTGATGGAAATTTTCCTTAGATCGAGTCT
+CCTGCATGTTAAAGCGCGTGTTCCTCAGCCTGTTAGTCCTGATCGGCTTGCTGCTGTTGACTGTGCTCGG
+CCTCGATCGCTGGATGAGCTGGAAAACCGCGCCTTATATCTACGACGAATTGCAGGATCTCCCCTACCGC
+CAGGTCGGTGTGGTGCTCGGCACAGCAAAATATTATCGGACTGGCGTAATTAATCAGTATTATCGCTACC
+GCATTCAAGGAGCGATTAATGCCTATAACAGCGGTAAGGTAAATTATCTATTACTGAGCGGCGATAACGC
+ATTGCAAAGTTATAATGAGCCGATGACCATGCGCAAAGATTTAATCGCAGCTGGTGTCGACCCATCAGAT
+ATTGTTCTCGATTACGCAGGCTTTCGTACGCTGGATTCCATCGTGCGTACACGCAAAGTTTTCGATACTA
+ATGATTTCATTATTATCACCCAACGTTTCCACTGTGAGCGGGCATTATTTATTGCGCTGCATATGGGGAT
+TCAGGCTCAGTGTTATGCCGTACCGTCACCGAAAGATATGCTGTCAGTACGTATTCGCGAATTTGCCGCC
+CGTTTCGGTGCGCTGGCTGACCTTTATATTTTTAAACGTGAACCGCGTTTTTTAGGGCCGCTGGTCCCTA
+TTCCGGCTATGCACCAGGTGCCGGAAGATGCGCAGGGGTATCCCGCCGTCACACCCGAACAGTTACTTGA
+ATTACAAAAGAAACAAGGAAAGTAGTTATGGATGTACAGCAGTTTTTTGTCGTTGCCGTTTTTTTCCTTA
+TTCCGATATTTTGTTTCCGCGAAGCATGGAAAGGCTGGCGCGCAGGCGCGATTGATAAACGGGTTAAAAA
+TGCACCAGAACCGGTGTATGTCTGGCGAGCGAAAAATCCCGGACTCTTCTTCGCTTATATGGTGGCATAT
+ATCGGCTTCGGAATTTTATCTATCGGCATGATTGTTTATCTTATTTTCTATCGTTAATATTTTCCCTTTT
+CTGTTAATTATTGAGAATAATTATTACTTCACTCAATAAGCTGCGGATATAACATTCTGAACCGCAGCTA
+TTTGTGAATCCTTTCACAGTTTAAATTTCCCCACGCGCATAGCCTTAATATCAGCACGCAATATTTATTT
+AGCGTTCGCCTTAATTACTCATAGCATTAAGGAAGATCACATGCCGCAACAAAATTATCTGGATGAACTC
+ACTCCGGCTTTTACGCCTTTACTGGCGATTAAAGAAGCCTCTCGCTGTTTATTATGTCATGATGCTCCCT
+GTAGTCAGGCTTGCCCGGCACAGACCGATCCGGGGAAATTTATTCGCTCAATCTACTTTCGTAATTTTAA
+AGGCGCTGCCGAGACAATTCGCGAAAATAATGCCCTCGGTGCCGTTTGTGCCAGAGTGTGCCCGACGGAG
+AAATTATGCCAAAGCGGTTGTACACGTGCCGGTGTTGATGCTCCCATTGATATCGGTCGTTTACAGCGTT
+TTGTTACTGATTTTGAACAACAAACTGGGATGGAAATTTATCAGCCCGGTACTAAAACGCTCGGCAAAGT
+CGCCATTATTGGCGCAGGTCCTGCCGGATTGCAGGCCAGTGTGACGCTGACAAACCAGGGTTATGACGTC
+ACGATCTATGAGAAAGAAGCACAACCCGGTGGCTGGTTGCGTAACGGCATTCCGCAATTCCGGTTACCGC
+AATCGGTGCTGGATGCAGAAATCGCCCGTATAGAAAAAATGGGCGTGACCATTAAGTGCAATAACGAAAT
+CGGTAAAACACTTACCCTGGAGCAGCTGAAAGCGGAAAACCGCGCGGTACTGGTCACCGTAGGGTTATCG
+AGCGGTTCCGGGTTATCGCTGTTTGAGCATAGCGACGTTGAGATTGCCGTCGACTTCCTGCAACGTGCAC
+GACAGGCGCAAGGCGATATCAGCATTCCACAAAGCGCATTAATTATCGGCGGCGGTGATGTCGCGATGGA
+CGTAGCCAGCACGCTGAAAGTTCTCGGCTGTCAGGCGGTAACCTGCGTAGCGCGTGAAGAGTTAGATGAG
+TTTCCGGCAAGCGAAAAAGAGTTTACCAGCGCCAGAGAGCTGGGCGTTTCGATCATCGATGGATTTACAC
+CAGTAGCCGTGGAAGGCAATAAAGTCACCTTTAAGCATGTTCGTTTACCGGGTGAACTAACGATGGCGGC
+AGATAAAATTATTCTCGCCGTCGGTCAGCATGCCAGACTGGATGCCTTTGCGGAGTTAGAGCCGCAGCGT
+AACACCATCGAAACGCAACATTACCAGACCCGCGACCCGCAAGTCTTTGCTGCTGGCGATATTGTTGAGG
+GTGACAAAACCGTGGTCTATGCAGTGAAAACCGGGAAAGAAGCCGCCGGGGCGATTCATCACTATTTAGA
+GGGAGCTTGCTCATGTTAACGAAAGATCTTTCGATTACTTTTTGCGGCGTGAAGTTTCCCAACCCGTTCT
+GCCTTTCTTCTTCGCCGGTAGGCAACTGCTATGAGATGTGTGCCAAAGCCTACGACACAGGTTGGGGCGG
+CGTGGTGTTTAAAACGATCGGTTTTTTTATCGCCAACGAAGTCTCGCCGCGTTTTGATCATCTGGTGAAA
+GAAGATACCGGTTTTATCGGCTTCAAAAATATGGAGCAGATTGCTGAACATCCGTTGGAAGAGAATCTGG
+CCGCCCTGCGTCGGCTGAAAGAAGATTATCCGGACAAAGTATTGATCGCTTCAATCATGGGCGAAAATGA
+GCAGCAATGGGAAGAGCTGGCGCGTCTGGTGCAAGAAGCTGGCGCGGATATGATCGAGTGTAACTTCTCC
+TGTCCGCAAATGACTTCTCATGCGATGGGTAGCGATGTCGGGCAAAGCCCGGAGCTGGTAGAAAAATATT
+GTCGGGCAGTAAAACGTGGTTCCACGCTGCCAATGCTGGCGAAGATGACGCCGAATATTGGTGATATGTG
+CGAAGTGGCGCTGGCGGCGAAGCGCGGCGGCGCAGATGGCATTGCGGCGATTAACACCGTTAAATCCATC
+ACCAATATCGATCTTAATCAGAAAATTGGTATGCCGATCGTTAACGGTAAATCGAGTATTTCCGGATATT
+CCGGTAAAGCGGTAAAACCGATCGCCCTACGCTTTATTCAGCAAATGCGCACCCATCCAGAACTGCGCGA
+TTTCCCGATCAGCGGTATCGGCGGCATTGAAACCTGGGAAGATGCGGCGGAGTTTTTATTGCTCGGTGCA
+GCGACGTTGCAGGTGACCACCGGCATTATGCAGTACGGGTATCGGATAGTGGAAGATATGGCAAGCGGGT
+TGTCGCATTATCTCGCCGATCAAGGGTTTGATTCGTTGCAGGAGATGGTAGGTCTGGCGAATCACAATAT
+TGTCCCGGCGGAAGATTTAGACCGCAGTTATATTGTCTATCCCCATATCAATCTTGATAAATGTGTTGGC
+TGTGGACGCTGTTATATTTCCTGTTACGACGGCGGTCACCAGGCGATGGAATGGAGCGAGAAAACCCGCA
+CACCGCATTGTAATACCGAGAAATGCGTGGGTTGTCTGCTTTGTGGTCATGTCTGCCCGGTAGGTTGTAT
+TGATCTTGGGGAAGTGAAGTTTAAGAAAGGCGAGAAAGAACACCCGGTAACGTTGTAAAACCAGCGACGC
+ATCCGGCATTTAGTTCCTGTCGCCGGATGCGGCGTGAACGCCTTACCCGGCATACAAAACAATATAAATC
+AGTATGTTGTGCTCATTGTAGGCCGGATAAAACGCGCCAGCGTTGCATCCGGCATTTGGTTCCTGTCGCC
+GGATGCGGCGTAAACGCCTTATCCGGCATACAAAACCATACAACTCATGATGTTATGTGCATTTCTGACC
+GGATGCGAACTACATTCACATCACTTCTTACGCGCGTATTTCAGTGAATCCAGCGCCACGGCGAAGATAA
+TAATCGCCCCTTTGATGATGTACTGCCAGTACGGGTTTACGCCGATATACGTCAGGCCATAGTTAATGAC
+GGTAAAAATAATTACCCCGGTCACCACACCAATTACCGTCCCCACACCGCCGCTGAACGATACGCCGCCT
+ACCACGCACGCCGCGATAGCATCCAGCTCATACATAAAGCCGAGGTTGTTGGTGGCTGAGCCGATACGTC
+CGGCTTCTAACATCCCGCCGAAGGCATAGAACACACCAGACAACGCGTAAATCATCAGCAGGTTCAGGCC
+GACGTTGACACCAGATACTTTCGCCGCTTCCGGGTTACCGCCAATGGCAAAAATGTTCTTACCGAAGCGG
+GTTTTGTTCCATAACACCCAGACAAACACCACCGCAATCAACGCATAGAAGGTGATGTAAGAGAGACGGA
+AACTCCCCAGCGCAATAAAGCCTTGGGCAAAAGTGGAGAAACCACTGTCAAAACCGGAAATTGGCGACGC
+CCCGACAAAGTCGTAATAGAGCGAGTTAATGCCGTAGACGATAATCATCGTACCGAGCGTGGTAATGAAC
+GGCGTCACGTTGAGATAGGCGATAATCAAGCCGTTGATCAAACCGATCACCGCACCAATGGCACAGACAA
+TCAGAATAACCAGCGCAATCGGCATCGTCGCCATTTCCGGGAACACTTTGTTGGCGTTATCCATGGACTG
+CAATAACGTCGCTGCTACTACTGCCGCCAGCCCCACCTGGCGACCTGCGGAAAGGTCAGTCCCCTGGGTG
+ACAATTAACCCTGCCACACCAAGCGCGATAATAATACGCACCGATGACTGGGTGAGAATATTACTTAAGT
+TCAACAGACTTAAAAATGTTGGGTCCTGGAAAATAATAATCGCCAGCAAAACTAAAAGAACGACGTAAAT
+ACCGCCCTCTTTCAGGTAAGTAAGAAAACTTTTCTTATTTAATGCACTCATGGGAAGCCCCTAATCTTAA
+AGGTGCAAAGACGCAAGACGCAGAATTTCGCTTTGCGTTGTTGTTTTTGTATCGACAATTCCGGAAACGA
+GACCATTGCTCATAACCAGAATACGGTCTGTTATCCCTAACAACTCTGGCATTTCGGAGGAGATAATAAT
+AATCCCCTTGCCTTTCTTCGCCAGTTCGGCAATTAACTGATAAATCTCAAACTTAGCCCCAACATCAATA
+CCGCGCGTCGGTTCATCGAGCATTAATATTTCTGGTTGCGTTAACAGCCAGCGACCAATAATCACTTTTT
+GCTGATTACCACCGGAGAGCGAACCAATTTGCGTCCGATGCCCCGGTGTTTTTACCCGCATCGAATCAAT
+CACCCACTGGGTATCGCTTTTCATCCGCGAGTTATCCAGTAAACCAACTTTATTTTTATAGTTGCGGATA
+TTGGAAATTAACGAGTTAAAGCCAATATCCAGATAGGCATAAATTCCCGTTGAGCGGCGCTCTTCAGTTA
+CCAGTGCAAATCCGTGGTTTATGGCTTCGTTGGCATTATGGTTATTGATCTTTTTGCCGTGCAACGTAAT
+GGTGCCAGCCGATTTCTCGCGAATACCAAATAACGTCTCAACAATATCGGTACGTTTCGCTCCCACCAGA
+CCGGCTATACCGAGAATCTCCCCTTTATGCAGATCAAACGAGACATCGCGAATCGACGGCTGGCGCAGCG
+ACGTCAGGTTACGCACTTCCAGAATCACTTCGCCCGGCTTGTTTTCTTTGTCAGGGAAACGCTGGTTAAG
+AGAACGCCCAACCATCATGGCGATGATCTTGTCCATCGTCAGCCCTGCCAGCGGTTCGGTAGCGATCCAC
+TGACCGTCGCGCAATACGGTAACTTCATCACATAACTGGAAGATTTCTTCCATTTTATGCGAGATATAAA
+CAATACCGCAGCCGCGCTCTTTTAATTTACGAATAATAGTGAACAGATGATTGACCTCTTTTTCGGTTAA
+CGAAGAAGTCGGTTCATCCATAATCACAATTTTCGCGTTATAGGAAAACGCTTTGGCAATTTCGATCATC
+TGCATTTGCGAAACGGATAATGTGCCGACGCGTGCACGCGGATCGATATCAATATCCAGTTCATCAAAAA
+TCGCTTTGGTTTCGCGGTACATTTTGTCCTGATCGACAAACATGCCTTTGGTGGGATATCGCCCCAGCCA
+CATGTTGTCCATCACCGAACGTTGTAATACCAGGTTTAACTCCTGGTGTACCATCGAAATACCATTTTCC
+AGTGCTTCTTTGGCGGAATGGAAATCGATCTCTTTACCCTGGAATAAAATGGTGCCGGAGTCTTTTTGAT
+AAATACCAAACAGGCATTTTAATAATGTCGATTTTCCTGCACCGTTTTCCCCCATTAATGCATGGATAGA
+ATGTGGTCGGACTTTTAAATTAACGTTATCAAGTGCCTTAACACCAGGAAAAGACTTGTTGATACCGCTC
+ATTTCCAACAAGTATTCCCCGGAAGACGGAGTCGTTGAGCTGACCATATAATTTTACCTTGTTGGCCATA
+CAATAAGGGCGCAGTAAACGACTGCGCCCAATCAGTCTTATTTCTTGCTGAATTCAGCCAGGTTGTCTTT
+ATCTACGCCAACATAAGGTACGCGGACCACTTTGTTGTCGATTTTCCAGTTGGTGCCATCAGCCGCACCT
+TTGCCATCGGCCAGGTTTTTCGCCAGATCAAAGGTCGCTTTCGCCTGGTTGTTAGCATCGTTCAGTACGG
+TGCCCGCCAGTGCACCGGATTTCACCAGCGCCAGCGCTTCTGGCAGCGCATCGACGCCAAACACCGGAAT
+GCTGGACTTGTTGTGTGCTTTCAGTGCTTCTACCGCGCCCATTGCCATCGCGTCGTTGTTGGCGATAACC
+ACCTCGATTTTGTTGGCGTTCGGGCCAGACAGCCAGGCGTCCATCTTATCTTTCGCCTGAGCGGTATCCC
+ACATAGCGGTATCTAACTGTAACTGTTCAGTTTTAATGCCTTTGTCGTTCAATTCTTTAATCACGTAAGT
+GGTACGTGCTTCTGCATCCGGATGCCCCGGCTCACCTTTCAGCAGTACGAATTGAATCTGACCGTCTTTG
+TTCAGATCCCAACCCTGATTCGCCGCCCAGTGTTTAGCAATCAAATCGCCCTGAATAATGCCGGACTCTT
+TGGAGTCAGTGCCAACGTAGTAGGCTTTGTCGTAGCTATCCAGCGCCTTACGAGACGGTTCTTTGTTGAA
+GAAAACCACCGGCACGTTTTGCCCACGCGCTTTCTCAATCACCGTACCCGCAGCTGCCGGGTCAACCAGG
+TTGATTGCCAGTGCCTTCACCCCTTTCGCCAGCAATACGTCGATCTGATCGTTCTGCTTGGACTGGTCAT
+TCTGAGAATCATTCATCAGCAGCTGAACATCTGGCGCGGCTTTCGCATCTTGCTCAATAGCCTTGCGCAC
+TACAGACATAAAGTTATCGTCGTACTTATAGATTGTTACACCAATGCGAGTATCAGCAGCGTGTGCAGCG
+GCACCGAATAACATGCTGGCCATCACAGCAGACAGGGTTAACACCTTCTTATTCATGGTATCTCCGGTTT
+TTCTTATGCAGGGTAGTGCTTGAGATAAATGCTCGGCGGGGCAGTAGAGTTAATGAAGTGTTACTGAACG
+CCGAAGCTCACTTTTTAAAATTCGTTCTTCCATGCCCGGTAACGCTCCAGAAAACGGCTTTAATTGTTGT
+TATGACGCTATTACCTCGGTGAAAGTGATTATTCACTGTTACATACGGGTTACAACGTTAAAACGGTGCA
+ATCATAGCCATCACATTGTTAAGATACTGTGAAATCACTCACAGATTGAAAGCGGTTACATCGCCTGATT
+TGTTGAGTTAGTGATCGCCGCCGCATTCTGGCGTGTTGCGACAGAATGGCGACGCACTAACGTCGGCATA
+AAACAGTGGCTGGCACGAGGATCAATATTGTCTGCTGCCCCCTGCAAGGCCAGTTCGGTAGCTAATTTAG
+CCATTGAAGCAATGGGATAACGCACAGTCGTTAATTGCGGGTCGGTGTAACGGGCGATGGGAATATCATC
+GAAACCAATGATTGAGAGATGTAACGGAATCGCAATGCCATTATCTTTTAATGCTGTCAGTGCGCCAGCG
+GCCATATTGTCGTTATAAGCAAATACAGCGGTTAGTTGTAGATTGCGCCCCAGCAGTTCAACCATCGCCG
+CCTCACCGCCCGGCATGTCCGGCGTACCAGTGCCAATCCAGCTTTCCGGCGGAATAATATCCTGCTCTTT
+CAACGCACTCATCCAGCCTGCTTTACGCATGGCGTCATCTTCAATGCCGTGGCTGGAAGAAAGATAACCA
+ATACGTTGATGACCGTTATTCAGCAACATGCGCGTCGCCATTCGGGCACCGCTGAGATTATCCAGGCAAA
+CGCAACGATGGGCGTACCCCGGCACAACGCGGTTGATTAACACCATACCGGGAATGTTATCCATAAATTG
+TGCCAGTTCATCGTCACTCAATGCTTTTGAGTGAACAATCAACGCATTACAACGCTGGCGAATTAACACC
+TCAATGGCGTGACGCTCTTTTTCCGCTTCATGATAGCTATTGCCGATTAGCACGTATTTCTGATGCTGCT
+GGGCGACCAGATCCACCGCTTTTACCAGCGCGCCGAAAAACGCATCAGAAACGTCCATCACCACCACGCC
+AATGGTATCGCTAACCTGAGTTGCCAGCGCCTGGGCATTGGCGTTTGGCCGATAATCCAGCTCACTCACG
+GCTTTCATTACTGCTTCACGCGTATCGGCACTGACCAGCGTGCTGTTATTGAGCACCCGGGAAACCGTTG
+CCACAGAGACGCCAGCCTGACGCGCTACATCACGAATGGTGATCATATTCACTACCTGTTATGAGATTGC
+AGTAAATGACTGCTTGCTGGCGGCTATTTTGTCAGCACTGAATACAGGACTTCGTGAATCGAGTCACAGC
+AATGGAAACGGTTACAGCCGTTTTGTTAACGAATGTGATCCAGATCGTTATCTTGATGTTTTAGATATTG
+TCGGTCCGGCAGCACGCAAAGTTAACTGACGCCAGAGCCATTCCACCGGCCCCTGGCGGAAGTAACGCAG
+CCAGATAACAGAGAAGAAGATATTCGCCAACCATACCGGAATAACAAACGCCAGCAGCTCCAGACGGTCA
+AACTGCATAAACAAACCGAGGTGGTAAAAAAGCGTAGTACAAATCAGCGTTTGCAATAGATAGTTGGTCA
+GTGCCATCCGTCCGACACAGGCGATTGCCAGCACCAGCTTAAAGCGGCTTAATTGCGGCCAGAAGCCATA
+AAACAGCGACGCATAGCCAATCGCCTGAAACGGCGCACTCAGTTCCCGCGGCATCTGAAGTAAGAAGGCG
+CACCAACGATACGCCCAGTCCAGTCGCCATTGCAGGGCGATGGCAGGAAGGTTAATGATCACTCCAATCG
+CCACCAGCACAAAACCAGTACGACGATAGTGACGAAAGCTGAACTGCCCTTTCAGCCAGCCACTGCGCAT
+CAATGCGGCACCAATGAGCATCATCCCTGCCAGTTGCCAGCCATACTGTGCGCCCAGTGCCAGTAAACTG
+TTGCCAACACCATCGGCACGATTACTGATCGCTTCAACACCACCGTGAAGTTTCCAGTGCTTTTCATACA
+AAATAGACGATGCATCAGGTGTCCAGGCGCGGCTGGTCTGGCTATCGGAAATCAACCCCAATAACAGCAA
+AACGCCAAGCCCCACCAGATAAAGCATGACGCCGGTATTAAACAGGCTTTTTACCGATGGCGCATCGCGC
+ACCAGCCGCCAGCAGATTAAGCCCACCAGCCCGTAAGCCAGCAGAATATCGCCGTCCCAGAACAATAAAC
+CGTGAATAAAGCCCAGCAAGACTAACAGCGTTAACCGCGACTGGATCCATCGTCTGCCACGGGGCAGCAA
+CATTTGCAGGCCCGCACCAAACAACAGCGCAAAAAGCGTGAGGAATTTCACCTGGCCGATGAGATCGAGA
+AATGCCCAGGTCCATGCATCCTGTGGCGTAATAGCGCCGTACCAGGCGGGATTGAGATAAGCCGCCTTTG
+GTAGCCCAAAGGCGCTGATGTTTAATAGCAGGATCCCCAGAACGGCGACGCCGCGAACAAAATCGAGCGT
+GACGTTGCGCTCCACGGTTCCTGCCTTTTTATCAGTTGTGATGACGCACAGCGCGCAGAAACTCGTGGCG
+CGTATTCTGACTGGATTTGAACAATCCACCAAGAGAGGTCGTTGTCGTGGCACTGGTTGCATCGCGGATG
+CCACGCGCCTTCACGCAGTAATGCACCGCGTCGATAGAGACAGCCACATTATTGGTGCCCAGCAGCGTTT
+GTAGCGCAATGAGAATTTGCTGCGTCAGACGTTCCTGTACCTGCGGACGCTGGGCAAAGAACTGCACAAT
+ACGGTTAATTTTTGACAGACCGATGACCGAATCTTTCGGGATATAGGCCACCGTCGCTTTGCCATCGATG
+GTAACAAAATGGTGTTCACAGGTGCTGGTCAGAGTGATATCGCGCACGGTGACCATTTCATCGACCTTCA
+TTTTGTTTTCAATGAGGGTGATTTTCGGGAAATTGGCGTAATCCAGACCGGAGAAAATTTCATCGACATA
+CATTTTAGCGATGCGATGCGGCGTTTCCATCAAACTGTCATCAGCCAGGTCGAGATTCAGCAGCTGCATG
+ATTTCGGTCATATGACCAGCAATAAGGCTTTTGCGCGTTTCGTTATCCATTTCATGCACGGGCGGGCGCA
+GCGGTGTTTCCAGTCCTCGCGCAACTAACGCTTCATGAACCAGGGCCGCTTCTTTACTGAGTGATGGCAT
+TTATGATTTCTCCTGCAGGTGTGACGCCTCCGCCCTGCGTGGGGGCAAAGTTATTAAGCTGATTTACAGT
+CTGATTATTGTGCGTGAGGCGGCGCACATAATCCAGTATTCACAGCGATAATTATTGTAATTGCCGCTGC
+CTTTCATCAGCAGATGTTAAAACATCGTTATGCAAATACGGAAGTGAAAGTTACTCACAGCACATTGAAT
+AAACGGTATGATGAAGAAATTGCAAACAACACAACAAGGAGCCACGCATGGAAATGCTCGAAGAGCACCG
+CTGTTTTGAAGGCTGGCAGCAACGCTGGCGACACGACTCCAGTACCTTAAACTGCCCGATGACGTTCAGT
+ATCTTTCTCCCACCACCTCGTGATCACACCCCGCCACCAGTGCTGTACTGGCTTTCCGGATTAACCTGCA
+ATGACGAGAACTTCACCACCAAGGCGGGTGCCCAGCGCGTGGCGGCGGAACTGGGGATTGTACTGGTGAT
+GCCAGACACCAGCCCGCGCGGCGAACAGGTTGCCAACGACGATGGCTACGATTTAGGCCAGGGCGCGGGG
+TTTTATCTTAACGCCACGCAACCACCGTGGGCGACGCATTACCGGATGTATGATTATCTGCGCGATGAAT
+TACCGGCGCTGGTTCAGTCGCAATTTAATGTCAGCGACCGCTGCGCTATTAGCGGTCATTCCATGGGTGG
+TCACGGTGCGCTGATTATGGCGCTGAAAAATCCGGGTAAATACACCAGCGTTTCCGCCTTTGCGCCAATT
+GTGAATCCGTGCAGCGTCCCGTGGGGAATCAAAGCGTTTAGCACTTATTTAGGTGAGGACAAAAATGCAT
+GGCTGGAATGGGACAGTTGCGCGTTGATGTATGCCAGTAACGCGCAGGATGCAATCCCGACGCTTATTGA
+TCAGGGTGATAATGATCAGTTTCTTGCTGACCAACTGCAACCTGCAGTACTGGCAGAAGCCGCGCGCCAG
+AAAGCGTGGCCGATGACGCTGCGTATTCAGCCGGGATATGATCACAGTTACTACTTCATCGCCTCTTTTA
+TAGAGGATCACCTGCGCTTCCATGCGCAGTATTTACTGAAGTGAAAGTCCGCCCGGTTCGCCGGGCATCT
+TCTCATCAGAAGCGATAATCCACTGCCATAAAGTAACGACGTCCGTCTTCGTTATAGCTGTAGTCGTCAC
+GACTGAGATCCTTGTCGCCAAGGTTCAGCACGCCTGCGCGCAGTTTGACGTCTTTAGTCACCTGCCAGGC
+CGCGCCGGTATTCCAGATGGTATAACCGCCCGGTGTTTTAGCCGTCGCGCTGTCGGCGCGTTTCTGCCCG
+GTATAGTGACCAGAAACATAGAATGACCAGTCTTCCAGCGCCAGCGGTTTCCAGTCCAGCGTACCGTTAG
+CAGTATGGAACGGCAGATCGGATAGCGGTTTGTTTTCGCCGTTGCTGACATCACGACCATCGTTGTAGGT
+GTAGTTGATCGACAGTTTCCATTCATCGTTGAACGGAATTTTCAGTTCGGTTTCCACGCCCTGAATACGA
+GCTTTGTTAACGTTGTAGTAGCTAAATACCGGTATGCGCCGTCCGTTAGCGCCCGTCTCAAAACCGACAA
+AGTTTTGGTAGCCCGGTGCAGCATTGACGTCAGACGTACGGCTAATGCTGATACGATCTTTCACATCGTT
+ACGGAAAACGGTAACGCTGGATTCAACCCCTTCCAGCCAGCCTTCTTCACCCATGTAGTAAAGCCCCAGC
+TCCCAACTTTCGCTGGTTTCTGGTTTCAGATCCGGGCTACCCACAATCTTACATGCGCCACGGCAGGAAT
+TGCTCGTCCAGTCAGGGCTAAGTTGCAACAGAGAAGGGGCTTTAAATGCCGTCGCCCAGCCCCCTTTCAC
+CGTTACGGTGTCGGTGGCGTTATAAACCAGGTAGGCACGCGGACTCCAGTGTTCACCGTAGGTTTCGTGA
+TCGTCCATACGTACGCCGGTCGTCAGCGCCAGCGGCTCGAAGATCCGCCATTCATCTTCAACAAATAGCG
+CGTACTGGCTGGCAGATGTTTTGGAGCTGGTTCCCCCAGTCAGGTTCACCGCATCGCTAAGTTTGTCGTG
+ACGCCATTCACCGCCAACCGTGAGAAACTGATTAATCGCCGTCAGCGGCAACGTGTATTTGCCGTCGACC
+GTATTGCTTTCGGAAGTTATCGGGCTGCTGTTGCCAGGGTTTTTGTTCTCGACTTTCTCACCGTAGTATT
+TCAGTTCGCTGGTGCCGTAATCCCAACGCCCATTATGGCTGACGGAGTAGTTCTGGCGTTCCAGGCGGTT
+TTTGTCCAGCGAGTCGGAATCACGCTCCTGACGGTCGAAACCGTATCCGGCAGTAAAATCGTGATTTTGA
+TTCGGTGTCCAGGCAAATTCGACATTGCCGTCGCGGCTGGAGAATCCTTCAATACGCGGCGTTTCTCCGG
+TATCGGTGGTCGTTGAGTTTTGCGGGTCATCCTTTTCACGTTTTGCCAGGCTGCCGTAAGCTTTCATTCC
+CAGCACGCCGTCAATTAATGGTCCGCTGGTAAAGAATTGACCGTTATAGGTATCACCGCGATCGCGATGT
+TCCTGAACGGTGGTATCGACGGTAACGGTGCCCGACCATTTCTGACCGATTTTTTTGGTGATGATATTCA
+CTACACCGCCGAGCGCATCGGAACCGTACAGCGACGACATCGGGCCACGGACCACTTCAATACGTTCGAT
+GGAATCGACCGGGATCCAGTTCAGATCGAAATCATTGTGGCGGAAGACGGCATTGCGGGAGTTAACGCGT
+TTACCGTCGACAAGAATCAGGGTGTAGCTGCTGTCCAGACCACGAATACTTACGCCCTTACGGTTATCCC
+CTTCGTTCGTCAGTTGTACGCCAGGCACTTCTTTGAGGACATCCTTCAGATTCTGTACCGGTTTTCGCTG
+CAGGTCTTCCTGGGTAATGACGCTGATACTGGCGGGAGCATCTTTAAGGTTTTGTTCAACGGAAGATGCA
+GTGACAACCATCGTTTCGCCATCATCATCGACCGCTAACACAGGCCATGCACAAGAAATAGCGGACAAAC
+ACAGCCCGACCCGTACGAAAGGGTTCAACCTAAACATTCCATATCTCCATGAGGTAACTACGAAAATAAA
+ATGGGTATCGCTCACATCTTCTTTACGTCCCCTTGCGTACGGCAGCATCGCGGTGGACTTATTTGTATGC
+AGGTGATCATCCCAGAAAGCCGGAACAGCCTCTGATTTGTCAGCCTTTTTTGATTGCGGCGTAACGATAA
+TGCAAACGATAACAATTATCAATCCAAATGTTAAATTTTATATCCGCATGATTTGTCAGGGAAATGGAAT
+TGAAAAAGCCCTCTCGGTTGAGAGGGCTTAGCAAGGAAGGGAGGAAACTTATTTCTTATCGTTCTGCGGG
+AACTTCATTTCGCTGTAGCGTACGAAGTGAGTTCCTTTAATCAGCTTATAGCCGAACCAAATAATCAGGA
+ACAGCGGGATACCAATATACGTTGCCGCTACGCCGCCCCAGTCAATGGTATCTTTCAGGAACGCTTCGTA
+GTTCTGGCCCAAAGTGATAATCAGACACAGAATGAATGCGAAGATCGGCCCCATTGGGAAGAAACCTGAA
+CGGTACGGCAGATCGTTAATGTCGTGTCCCTGCAATACGTACCCGCGACGGAAACGATAGTGGCTAATGG
+CAATCCCCAGCCAGGCGATAAAGCCCGTCATCCCGGAGGTGTTCAGCAGCCACAGGTATACCGTCTGGTT
+GCCAAACATGGAGGTCAGGAAGCACAAACCGGCAATCACCGTCGTCGCATACAGCGCATTACGCGGCACG
+CCACCACGCGACAGTTTAGCGAAAATGCGCGGCGCTTTACCGTCACACGCCAGGGTATACAGCATACGAG
+TAGACGCATACATACCGGAGTTACCTGCTGACAGCACCGCCGTCAGAATAACTGCGTTCATCACCGCCGC
+CGCAGAGAGCAGACCCGCGTGCTGGAACACCAGGGTGAACGGACTGACGCTGATGTCTTTAACATCGTTA
+CGCAGCAGGCTCGGATCGGTATACGGAATAATCAGGCTGATAATCAGGATCGCGAACACATAGAACAACA
+GGATTCGCCAGAATACCTGACGTACCGCGCGTGGAATGTTTTTCGCCGGATCTTCGGACTCGCCTGCAGC
+AATACCGATCAGCTCGGTTCCCTGGAAAGAGAAGCCGACAATCATAGCTACGCCGATCATCGCCGCAAAA
+CCACCAGCAAACGGCGCTTCGCCGATTGTCCAGTTGCTCCAGCCTGCAGGCTGCGCGCCTTTGAAGATAC
+CGATAATCATCAGCACGCCAACGATGATAAAGACAATAACTGTCGTGACTTTGATCAGTGAGAACCAGTA
+TTCCGCTTCACCAAAGCCGCGAACAGAGATGTAGTTCAACAGGAAGATAACGCCGAGGAACAACGCACTC
+CAGATCCAGCCCGGTGTATCCGGGAACCACCAGCTCATGACCAGCTGTGCTGCAACCAGGTCAACGGCAA
+TAGTCACCGCCCAGTTGTACCAGTAGTTCCAGCCCAGCGCGAAGCCAAAGCCTTCTTCAACATAGTTCTG
+ACCGTAAGTGGCAAACGAACCGGAAACCGGCATATATGCAGCCAGTTCACCGAGACTGGTCATCAGGAAG
+TAAACCATCAGGCCAATCAGCATATACGAGAGCAATGCCCCGCCCGGACCTGCCTGAGAAATCGTTGCGC
+CAGAGGCAACAAAAAGACCTGTACCGATGGAACCGCCAATGGCAATCATCGTCAGGTGACGCGCCTTCAA
+TTCACGGCGTAAGCCCGGCGCTTCTGTAGTTTTAGTTTCGGAACCCATACAAAAATGCTATCCATCTTAA
+AAATGAGGCGCGATTGTAGCAGACGATTGGCAATCCTTCCGGCAGAAATACACGGTTATAAGACACCTTC
+ATGATCGCCCAGGGATTATAAGTAAAGCAGCCAATCTCTTTTCTGGCGAATGCATGCTGAGGGCGCTGCG
+TCACGAAATCGACACAGCACCAGCATGTTCTTGTACAGCACCTTAACGCGGTACATTCGCGGGATCGCAA
+TAGTCCAGAAAGCGCCGTAGCGCGTTGGAAAGGTGTTTTTGCCGATGATGTATACGCCACAACGTACGCA
+TCAGGCGCGGCAGAGGGACCGCAACTTCACTTAATGTGCCTGCCTGCAATTGATCTTCAATCACCCGTCG
+CGACAGGCAACTAATTCCCAACCCATGACGCACCGCATGTTTGATTGCCTCGGAGTTACCTAATTCCATC
+GCCATCTCAAACTTCGGTAAATGTGACAGCAACAGATAATCGACAATCTCGCGCGTGCCGGAACCGCGTT
+CACGCAGGATCCACGGCGCAGCGGCCAGCTGTTCTAAGGTGACCGGACCACGAGCCAACGGCGAAGTCGG
+CGCGGCGAAAACCACCAGCTCGTCTTCCAGCCACGGTTCAGAAATAATTTCAGTGCTGTGGCACGGTCCT
+TCAATAAAGCCAATATCAACGCGGAAATCCAGCACCGCTTGCATCACGTCCTGGCTATTCCCAACGCTAA
+GTTCAATCGGCAACTGCGGATAATCATGGCGATAACGGGCGATAACTGCAGGCAGAATGTAGTTACCGAT
+GGTACTACTGGCATAGATACGAATCGCGCCGTTGTCTTCGCGAAACAGTTGTTCGATTTCAACCGCCTGT
+TCAAGCAGTGCCAACGCTCGCGGATAGAGCAGCCGCCCGTGTTCATTAACAACCAGTCTTTTCCCCACGC
+GATCAAACAGTTGAACGCCAAGCTGCCCTTCCAGGTCGGTCAAGGCTGCGCTCACTGCTGATTGCGACAA
+CGCCAGCATCACCGACGCCTGGGTGGTTGATCCACTTTTCAATACTTCTGCAAAAACTTCCAACTGCCGG
+AGGGTGATGTGCATAGTCGCTTACCACTTATAAAGATTAATTATAAATATATAATCAATTTTATTTTTAA
+ACCAGTTAGTCGTAACCTTATGCCCGGTTAAAGGAGAGGGTTATGACGAATATCACCTTACAGAAACAAC
+ATCGTACACTGTGGCATTTTATTCCGGGGTTAGCCCTGAGTGCAGTTATCACCGGGGTCGCCCTGTGGGG
+TGGTTCCATTCCCGCGGTTGCGGGTGCCGGGTTTAGTGCCCTCACCCTCGCAATCTTGTTGGGGATGGTT
+TTAGGCAACACCATTTACCCGCACATCTGGAAAAGCTGTGACGGTGGTGTGCTGTTTGCCAAGCAATATT
+TATTACGTCTGGGTATCATTCTTTATGGCTTCCGTCTGACGTTCTCGCAAATTGCCGATGTCGGTATCAG
+TGGGATCATCATTGACGTGTTGACGCTGTCCAGTACCTTCCTGCTGGCTTGCTTCCTGGGGCAGAAAGTG
+TTTGGTCTGGATAAGCACACCAGCTGGTTGATCGGTGCCGGTAGCAGTATCTGTGGTGCTGCCGCGGTAC
+TGGCGACTGAGCCGGTAGTGAAAGCAGAAGCCAGTAAAGTAACCGTGGCTGTTGCAACCGTTGTTATCTT
+CGGGACCGTCGCGATTTTCCTCTACCCGGCGATATATCCGCTGATGTCTCAATGGTTTAGTCCGGAAACT
+TTCGGTATCTACATTGGTTCTACTGTGCACGAAGTGGCGCAGGTGGTGGCGGCAGGTCATGCCATCAGCC
+CGGATGCAGAAAACGCAGCAGTTATTTCCAAAATGCTGCGCGTGATGATGCTGGCTCCGTTCCTCATCCT
+GCTGGCGGCGCGTGTTAAACAGCTGTCTGGGGCGAACAGCGGCGAGAAAAGCAAAATCACTATTCCGTGG
+TTTGCCATCTTGTTCATCGTCGTTGCCATCTTTAACTCGTTCCACCTGTTACCGCAGAGCGTGGTGAACA
+TGCTGGTAACGCTGGATACCTTCCTGCTGGCAATGGCGATGGCGGCGCTGGGTCTGACCACTCACGTCAG
+CGCGCTGAAAAAAGCCGGGGCGAAACCTCTGCTGATGGCACTGGTACTGTTTGCCTGGCTGATTGTTGGT
+GGTGGTGCGATTAACTATGTGATTCAAAGCGTCATCGCATAAACCACTACATCTTGCTCCTGTTAACCCG
+CTATCATTACCGTTTTCCTCCAGCGGGTTTAACAGGAGTCCTCGCATGAAATACATTGGAGCGCACGTTA
+GTGCTGCTGGCGGTCTGGCAAATGCCGCAATTCGCGCCGCCGAAATCGACGCAACCGCGTTTGCCTTGTT
+CACCAAAAACCAACGTCAGTGGCGTGCCGCACCGCTCACGACGCAAACCATCGATGAATTCAAAGCCGCC
+TGTGAAAAATATCACTACACATCGGCGCAAATTCTTCCCCACGACAGTTATCTGATTAACCTCGGACATC
+CGGTTGCTGAAGCTCTGGAAAAATCGCGCGATGCCTTTATAGATGAAATGCAGCGTTGCGAACAGCTGGG
+GCTTTCTTTGCTCAACTTCCACCCTGGCAGCCATCTGATGCAGATTTCAGAAGAGGATTGCCTTGCGCGT
+ATTGCCGAATCCATCAACATTGCGCTGGATAAAACTCAAGGTGTCACCGCGGTGATTGAAAACACCGCCG
+GTCAGGGCAGTAACTTAGGGTTTAAATTCGAACATCTCGCGGCGATTATCGACGGCGTGGAAGATAAATC
+CCGCGTCGGCGTCTGCATTGATACCTGCCATGCTTTCGCTGCCGGGTATGATTTGCGTACTCCTGCCGAA
+TGCGAGAAAACGTTCGCTGATTTTGCCCGTATTGTAGGCTTTAAGTATCTGCGCGGGATGCACCTCAACG
+ATGCGAAAAGCACCTTTGGCAGCCGCGTTGACCGTCATCATAGCCTCGGCGAAGGCAATATCGGTCATGA
+TGCGTTCCGCTGGATCATGCAAGACGACCGTTTCGACGGCATTCCGCTGATCCTTGAAACCATCAACCCG
+GATATCTGGGCAGAAGAGATCGCCTGGCTGAAAGCGCAACAAACTGAAAAAGCGGTGGCCTGATCGATGA
+ACGACAGGGAAAAGCAGATTCTTAAAATTTTACGGCGTAACCCGCTGATTCAACAGAATGAAATCGCCGA
+TATTCTGCAAATCAGCCGCTCACGTGTTGCCGCTCATATTATGGATTTGATGCGCAAGGGTTTGATTAAA
+GGCAAAGGATATATCCTTACCGAGCAGGATTACTGTGTGGTTGTGGGTGCAATCAATATGGATATTCGCG
+GAATGGCGGATATCCGTTACCCGCAAGCAGCCTCTCATCCAGGTTCTGTTCACTGTTCCGCAGGCGGCGT
+CGGACGTAATATCGCGCATAACCTGGCTCTGCTTGGTCGGGATGTGCATTTAATTTCAGCTATTGGCAAC
+GATTTTTACGGCGAGACATTACTGGAAGAAACGCGCCGCGCGGGCGTGAACGTTTCAAACTGCATTCGTC
+TGCATGGACACAGCACTGCAACTTATCTCGCTATCGCTAATAAGCAGGAAGAAACTATCCTGGCAATCAA
+TGACACACATATTCTGCAACAGCTAACGCCTCAACTGCTCAATACTTCACGGGACTTGATTCGCCATGCT
+GGTGTGGTGCTGGCTGATTGTAATCTCACACCTGAAGCCCTGGAGTGGGTCTTTACCATTGCTGATGAAA
+TTCCGATGTTTGTCGATACCGTTTCCGAATTTAAAGCGAACAAAGTAAAAAACTGGTACAGCCGGATCCA
+CACTCTGAAACCGACACAAAATGAACTGGAAATTTTGTGGGGGCAACCGATTAAAGACGACAACGATCGT
+ATCAGAGCTGTAAATTCGCTGCATCAACAAGGTGTTAAACGCATTTTTGTTTATCTGAAAGATGAATCTG
+TATTTTGCAGCGATAAGGATGGAGAACAATTTTTGCTGACCGCGCCAGCGCATACGACAGTAGACAGTTT
+TGGTGCTGACGATGGTTTTATGGCGGGCCTGGTATATAGCTTTCTTGAAGGATACAGTTTCCGCGACAGC
+GCCCGTTTTGCGATGGCCTGCGCGGCAATTTCACGCGCCAGCGGCAGCTTAAACAACCCTACCCTGTCTG
+CCGATAACGCGCTTTCATTAGTGCCAATGGTGTAACAATGTTGCCGGATTCGACGCTTGACCGCATCTTA
+TCCGGCTCATAAATTGCGCACTACGCTAAACCAATAAAGAATCCTGCAATAGTAGCACTCATCAGGTTAG
+AAAGTGTCGCCGCCGCCAGCGCGCGTAAACCAAGTTGGGCGATTTCCGGCGCACGGTGTGGCGCAACCGC
+AGAAAACGCCCCCCACCACCACCCCGATAGAACCAAAGTTAGCGAAACCGCACAACGCGAAAGAAATAAT
+CGCCACGGTTTTAGCATCCAGAGTGCCACCCGTTTGCAGATATGGCGAGAAATTGAGATAAGCGACAAAT
+TCATTGATCGCCAGCTTCTGCCCAATCAAACTCCCGGCAAGATTTGCATCACTCCAGTCAACCCCCATCA
+CCCACGCCAATGGGGCCAACAGGTAACCTAAAATCGACTCCAGCGAAGCATGTTCAAAACCAAACCAGCC
+GCCAACACCGCCGATAATACCGTTAATCAACGCAATTATTGCAACAAATGCCATCACCACTGTCGCCACA
+CCTGCGGCGATTTTCAGCCCGGTCATTGCCCCTGTTGCAGCGGCTTCAATAATGCTCTTTGGCGGTGTTT
+CGGTGAAAGAGAGGTTATTAAAGGAAACCTGCGAAGATTCCGTAGCCGGGCTTAACAGGCGGGCAAACAA
+GATCCCGCCGGGGATCGCCATTAACGATGCCGCCAGCAGATATTCCACAGGCACGCCCAGTGCGGCGTAA
+CCAATCATTGTCGAACCAGCAATCGAGGCCATACCGCTGCAAATCGCTGTAAATAATTCATTGCGATTCA
+GCCGATCGATAAAGGGTTTGACGATTGCCGGAATTTCGTTTTGCCCGAGGAAAATGGTAGTGACCGCGAC
+GAATGACTCGATCTTGCTGATATTTAATGCTTTCTGGAAGATACCGCCGAGAATTCGAATTAAGATCCCC
+ATCACACCGATGTAGTAGAGAATACTCACCAGCGCGGTGACGAAGATAATTGCCGGTAACACCCTGAAAC
+CAAAGATAAATCCTGCGCCATCAAATAAGGTATCCATTTTCGGTCCGACCAGAGAACCGAAGATAAATGC
+GCTACCCGCGTCGCTGTACGCCATCACTTTATGGACGCCAAAAGCGACTTTTTCTGCGACCCAACGCCCT
+GGCGGTAACCAAAGCATTATGCCGCCAATCACGACCTGTAACACTAACGCCGCGCCAACGGTACGCAGGC
+TGATCTTCTTTTTGTTTACTGACAGCAAAAATGCAATAGCCAGCAATACCACCATTCCCAGAACACTTCT
+CATGACATCCATAGTTATTATCTCTTCATGTCATTTTGGGCGACGGCTCTCTGCCCATCATAAATAGCCG
+GGCCTGCATCTTGCGATACTGACCCGGCTTGTTATCAACACTTAATGGGTTTTTATGTAGCCGCGTACGC
+ACTCTTCGACTAATCCCCAGAACCAGTCGGTATCAATAGTGATGCCGACTTTGGTATTGGCGGGCTTGCC
+AAGAACGCCCAGCTCGTCGCAGACGGTACGCCCATAGCAAGGGCCACTGTTAACGTCCACTTCGACGTAC
+ATTTCCTGGGTTTTAATGCCATCAGGGTTAATCAAATAACCGATGCAGGTGGCGTCGTGCACCGGGCCGC
+CAGCCAGGCCGTAGTTTTCGAACTGCGTTTTGAGAGTGAAGTTCATGATGTCGCTGAACAGCTCTCCGGC
+AGGGCCGCCAGCCCTTTCCATCCGAGCAATCACATCCGGGGTGCAAACGGTCTGGTTGGTAAGATCGAGG
+CCCATCATCACTAATGGAACGCCGGAGGTGAACACCACGCGTGCGGCCTCCGGGTCAGCAAAGATGTTGA
+ACTCAGCAGATGGGGTGAAGTTGCCAGTACCATAAGCACCGCCCATCAGAACAATTTCACGGATTTTCGG
+CAGGATCGCGGGTTGCATACGCATTGCCACCGCGATGTTTGACAACGGACCAACCGGCACCAGAGTGATA
+TCGCCATCGCTTGCCATAAGGGTATCGATGATATATTTCACCGCATGAGTGTTTTCTGCCTGGCGGGTCA
+GCGGCTCGAATACCGGACCATCCAGTCCGGTTTCACCGTGAATATTATCGGCAACAATTTGTTGACGCAT
+AATGGGCTGCGGCATCCCCGCATAAACCGGAACATTAATCTCCAGTTTCTGGCAAACATTCAGGCCATTA
+ATTAATGTTTTATCGAGGGTTTGATTACCCGCTACAATGGTGATACCTAATAAATCAATCGCCGGATGTT
+TCGCCGCCATCATTATAGCAATAGCATCATCATGACCCGGATCACAATCCAGAATAATTTTTCTCTTTTC
+CATTGTTTATTTCCTCTGTTTCCAGTTGCGTTATTGTTTCTACAGCAAAGAAAATTCGATCGGGCCGATG
+ATTGAATCTTAACAACAGCGTACGTATGCTAAATATGAGAAATCTCATAGCGGATAAACATCGTGAAAGA
+AATCCACAATAATGATCTTAAGCAGCAATTGATGAGTGAATCTGCGTTTAAGGATTGCTTTTCAACGGAT
+GTTTCAGCCGATACGCGGCTGTTTCATTTTTTAGCGCGTGACTACATTGTGCAGGAAGGGCAACAGCCGT
+CCTGGCTGTTTTACCTGACGCGAGGCCGCGCCAGGCTTTACGTCACGCTTGCTAATGGTCGCGTGTCGCT
+GATCGATTTCTTTGCCGCGCCCTGTTTTATTGGCGAGATTGAGTTAATCGACAAAGACCATGAACCGCGT
+GCAGTGCAGGCTATTGAAGAGTGTTGGTGCCTTGCGCTCCCTATGAAGCATTACCGCCCGTTGTTATTAA
+ACGACACGCTATTTTTACGAAAACTCTGCGTCACCTTAAGTCATAAAAATTATCGTAATATTGTTTCTTT
+AACTCAGAATCAATCATTTCCGTTAGTGAATCGCCTGGCAGCTTTTATATTACTCTCGCAGGAAGGTGAT
+CTTTATCACGAAAAGCATACGCAAGCGGCAGAGTATTTAGGCGTCTCTTATCGTCATCTTTTATATGTTC
+TCGCGCAATTCATTAATGACGGTTTATTAATTAAAAGCAAGAAAGGGTATCTCATTAAAAACAGAAAGCA
+GTTGTCAGGACTGGCGCTGGAGATGGACCCGGAGAATAAATTCTCCGGGATGATGCAGTAAAAATTATTG
+GCAATAGTGCGATTGCCGGATGCAACGCTTAATAAGGTGTACATCCGGCAATGAAACTCAAGCTAAACCA
+ATAAAGAACCCGGCAATGGTCGCGCTCATCAGGTTAGAAAGTGTCGCCGCCGCCAGCGCCCGTAAACCAA
+GCTGGGCGATTTCCGGCGCACGTTTTGGCGAAATAGCCGAAAACGCCCCAACGACAACACCGATAGAACC
+AAAGTTTGCAAACCCACAGAGGGCGAACGAGATAATGGCAATGGTCTTGACATCCAGCGCGCCGCTCGTT
+TGCAGATAGGGCGAGAAATTGAGATAAGCAACAAACTCATTAATCGCCAGTTTCTGCCCAATCAAACTTC
+CGGCAAGATTTGCATCACTCCAGTCCACCCCCATAATCCATGCCAACGGGGCCAGCACATAGCCGAAAAT
+GCTTTCCAGAGAGACATTGGCAAAACCAAACCAGCCGCCAACTCCACCAATAATGCCGTTGATCAGCGCA
+ATGATCGCCACAAATGCCATTACCACCGTCGCCACACCGGCGGCGATTTTCAGCCCGGTCATTGCACCGT
+TCGCCGCAGCTTCAATAATGCTTTTTGGCGGTGTTTCGCTAAACGACAGATTTTCAAACGTAACTTGCGA
+AGGTTCCGTCGCCGGACTAAGAATACGTGCAAACAGGATACCGCCAGGAATAGCCATCAGCGAAGCGGCT
+AACAAATAGTCAATCGGCACGCCCATTCCGGCATAGCCAATCATCATCGAACCCGCAATAGACGCCATGC
+CGCTACAAATAGCCGTAAATAGCTCGTTGCGATTCATGCGATCAATAAAAGGTTTAACGATCGCCGGGAT
+CTCATTTTGCCCGAGGAAAATAGTGGTGACTGCGACAAAAGATTCGATTTTGCTGATGTTGAGGGCTTTC
+TGAAAAATACTGCCAAGAATACGAATCAGCAGCCCCATTACGCCAATGTAGTACAGCAAGCTGATAAGCG
+CGGTAACGAAAATAATCGCCGGGAGTACGCGAAAGGCGAAGATAAAGCCCGCACCGTCAAACAGAACATC
+CATTTTGGGACCGACCAGCGAACCAAAAATAAAGGCACTTCCTGCGTCACTGTAGGACATCACTTTATGG
+ACGCCTAATGCCGCCTGCTCTACTGCCCATTTTCCCGGGGGAAAATAGAGCATGATGCCACCAATGGCAA
+TTTGCAGCAGCAGCGCAGCCCCAACCGTGCGCAAGCTGATGCTCTTTTTATTTACCGACAACACAAAGGC
+AATTGCCAGCAATACCACCATCCCCACAACACTTCTCATTATATCCATAATGATTTTCCCTTCATGCCAG
+TAAACCCGGCGTCAGCGCCAGGTTTTGGTATGTTTGATGAGTACGGGCGACGGCTTTCTGCCCACCAGAA
+ATTAACCCACGAGACGCTGATATTCTTTGGCAATTTCGCTCGCCAGAATGGCGTTATTAAAGACCAGTTG
+AATATTGGATTTCAGGCTATCACCACCGGTTAGCTCCGCAACACGCGCCAGCAGGAACGGTGTACTCTCT
+TTCCCAATAACACCCTGTTCTTCGGCTTCAGCAACGGCTTGATCAATTGCTGCATTGATGGTTTCTTCTG
+GCATCGCAAACTGTTCCGGGATCGGGTTCGCTACCACCAGGCCGCCGTTCAAACCGGTTTGCCACTTCAC
+TGCCATCGCGCGAGCAATTTCGCGGGCACTGTCGAGACGAATGCTGACTTCAAATGGGCTGGTTCGGCAG
+AAAAACGCAGGCAGCGCTTTTGTCTGATAACCAATTAACGGTACACCGAAGGTTTCTAAATATTCTGTTG
+TTAATCCTAAATCGAGAATAGATTTTGCCCCCGCACAAACAACAGTGACATTGGTATTTGCCAGTTCCTG
+TAAATCGGCAGAAATATCGAAGGTATGTTCCGCTCCGCGATGCACACCACCAATACCTCCGGTTGCAAAA
+ACTTTAATCCCAGCCAGTGCTGCAATAATCATGGTTGATGCAACGGTAGTCGCGCCATTTTTCCCTGCAG
+CAACGACAAAAGGTAAATCACGACGACTAACTTTCGTCACGTTATGTCCTTCACGGCCCAGCAATTCGAT
+TTCTTCTTTACTTAAGCCCACTTTCATCACACCGCCAATAATGGCGATAGTGGCTGGTACTGCGCCCTGT
+TTACGAATTGTTTCTTCTACTTCAATTGCGGTTTGGGCATTTTGTGGGAATGGCATTCCGTGAGAAATTA
+TGGTCGATTCCAGCGCAACAACCGGTTTTTTATTTTTTAAAGCATCCTGTACTTCAGCGGATATTTGTAA
+TAATTCAGGGGACAGAGTTAATTCAGACATTCTGTGTTCTCCACTAACGATGTAACATTGGCAATTGATA
+ATTCAGGGTTGTTGGTATATTCACAGGCAAGTGCCATTGACGAACATCCCTGCGCAAATCGAACAGAATC
+GATAAACGGCATACCGTCTACCCAACAGGAGGCCAGCCCCGCCATCATGGCGTCGCCTGCCCCAGTAACA
+TTGATGACATTAGTTTTAATAGGGGCCGACCACCCACTTTCACCGTTGATATCACTGTAGTAAACGCCAT
+CCCCTCCCATGCTCAGCACCAGGCGGTTCAGGCCGTGTTGATGAAACCAGGCGGAGACCTTTGCGACATC
+TTCACGTCCGGAAAGTGCAATTCCGCTCAACGTTTCGGCTTCAAGACGGTTAGGTTTTAACGTATGGATT
+TTGCTCAGATGATCGCGGATTTTGACGCATTTCCATGCCGATACCGGATCAATAAATACAGGCGTTTCCC
+CGCTATTTTCCAGAACCCAGACCAGCGCCTCTTCACTAAGGTTGCAATCCGCGACAATAACCTTTGCACC
+GCGAATAAACTCCTGATGCTGGGCAAGAAATTCTGCAGAAATACAGTCACTAATACTCATATCATTTATC
+GCGACAAGCATTTCTCCTGTATTATCGAGCAGTGATAAATAGCTGGATGTATTCTCACCCGGAACAATTA
+AGCATTTATCGACATAAACACCGGATTGATTAGTTTGCGCCAGTAATGATTGCCCATAAAAATCACCACC
+TACTGCACTTAAAAGCCAGGCATTTTTCCCCAGTAACGCCAGATTATGAGCGATATTCCTTCCCACGCCA
+CCTGGGGTAAATTTAATTTTTCCGGGATTCGAATCCGCATAATTCAATGGATGATGTGAATACCCAGCCA
+CATCAATATTCGCCGAGCCAATAATTACTATGTAGTCCTTTTCGCGCATAGCACGCCCCCTGGCAATAAA
+TTGCCAACGAAGAAATTGGGTAAAATAGTCATTACAGTCAATAAGACTATTAGAGCACGTGTTCAGATTT
+AAACACATGTTCATAATAAGCATGTTTAACGTAATGTAAATCGATCAGAAAAAACGAAATCGGCCAGATA
+TGAAGGCGGTCACAAAATTTGTCTATTTATGCAGCAACAAAAGAGAAAGTTGTGATGTGTAACACACAAT
+ATGGCAGGCAAGAAAAAGGGCAGAGATGTTTCTGCCCTCAGATTGTTGACAACGCGCGCTTTGTTCATGC
+TGGATGTGGCGTAAACGCCTTATCCGACCTACAAAAGCGCAAAAATTCAATATATTGCAGGGTTCATGTA
+GGTCTGATAAGCATAGCGCATCAGGCAATTTTGCGTTTGTCATCATCGGGGCAGAGATGTCTCAGCCCCG
+ATGATGAAGAGAAATTATGCGTTTTTTTCTACTATTTGTGTTTCCGGGCGTTTGAGGAAGGCATAGGCCA
+AACCCGCCACCAGCGTACCGGCAATAATTGCTACCAGGTAACCCAATACCGGCGTAATAGCGCCAGGGAT
+CAGCAGAACAAACAGACCACCGTGTGGTGCCATCAGTTTCGCACCAATCGCCATTGAGATTGCGCCAGTC
+AGCGCCCCACCAACGATACAGCACGGTAGCACACGCATCGGATCACGAGCAGCAAACGGAATTGCACCTT
+CCGAAATAAAGCACAGACCAAGTACCAGAGCGGCTTTGCCACCTTCCTGCTGCGCTTTGTCGAATTTGCG
+ACGCGCCACCATTGTTGCCAGACCCATTGCCAGCGGTGGCACCATACCTGCCGCCATAATCGCCGCCATC
+GGGCCATAGGTTTGAGTACTCAGCAGACCCACACCGAATGCGTACGCTGCTTTGTTTACCGGACCGCCCA
+TGTCAGTACACATCATGCCACCGAGGATCGCCCCCAGCAGAACCGCATTCGCAGTCCCCATGGTCTGCAG
+CCAGTGAGTCAACCCATCGAGAATGCCAGCAACCGGTTTACCGATCAGGTAGATCATCGCCAGACCGACC
+ACCAGACTGGAAATTAGCGGAATGATCAGGATCGGTTTCAGTGCCTCCATACTCTGTGGCAGTTTCAGTT
+GCGTACTGATTAACTTCGCAATGTAACCCGCCAGGAAGCCCGCAATAATACCGCCAATGAAGCCAGAACC
+GGTGCTAACCGCCAGCATACCGCCAATCAGACCCGGCGTGAGACCCGGACGATCGGCAATGGAGAAGGCA
+ATATAACCTGCCAGTACCGGCACCATCAGCGCAAAGGCTGAACCACCACCAATCTGCATCAGCGCCGCTG
+CCAACGTACCCGGCTCTTTAAACGCTTCGATACCAAAAGCAAAAGAAAGCGCGATACACAGACCACCTGC
+AACAACCATCGGCAGCATGTAAGAGACGCCCGTCAGCAAGTGACGGTAAGCACCTGCACTCTCTTTCTTA
+CCTTCAGTGGTCGCTGTTTGAGTTTTGCCCGCCGGTTCATACGGCGTTGCTTCAGCAACCGCTTTATCCA
+GTTCCTGCGCAGTTTTCTTCAGCGCCAGACCGGTAGAGGTGCGATACATCGGTTTACCAGCAAATTTCGC
+CAGATCCACTTCGATATCTGCCGCCACAATCACCAGATCCGCTGCTGCGACTTCTTCAGGGGTGATTGCA
+TTGCCCGCGCCAACAGAACCACGGGTTTCAACTTTCACCCACCAGCCACGTTTTTTCGCTTCGGTTTCAA
+TGGCTTCAGCCGCCATAAAGGTGTGTGCTACGCCAGTCGGGCAAGCAGTCACCGCAACTACGCGTTTCGG
+ACCTCTGGCAGCAACCGGTGCTGTCGCAGCGACCGGCGCAGTGTAAGGTTTCGCATGGCCTTTGGCTTCA
+CTCAGGAACAACTCAGGGTGCGCAACTGCCCGGGAAATATCACCCAGCCAGACATTTTTACCGTTCAGCG
+CGCTGTCATTCGGGATGGAATCACCGAGAACAATCGCCATTTCTGCGTCGTTCGGATTGTCGATGATTTC
+CAGTTTTGCTTTTCGCGCCGCCGCGCCCAGCAGGGTCTTCGCCATATAGGCGCGTGCCTGACCGAGATTA
+GCGTCAATAATCAGCAGCGTTTTCATTATGCCTCTCCTGCTGTCAGTTAAAAGGTTGTAAGTCGACGCGC
+GCCATCATTGCGGCCAACTGCGGACGATCGGTAATACCCACATTGCTTTGACTTACCGCCAGGGCTGCAA
+CAGCTGTCGCCAGACGCAGTGTGTGTTCACTGGATTCACGCATCAGCAAGCCATAAATCAGGCCACCAAC
+CATAGAATCCCCTGCGCCAACGGTGCTTACGACATCGACTGACGGTGGTTTGGCGATCCATTCGCCGGAG
+GCATTAACCCAAAGCGCGCCTTCGGCACCCAGTGAAATAACAACATGCGCGATGCCTTGTTCACGCAGCG
+CATGCGCAGCTTCAATCACATCTTTCATTTCAGGCAGTTTACGGCCTGCCCAGATTTCCAGCTCGCGGCG
+GTTAGGTTTCACCAGCCACGGTGCCGCTTTCAAACCTGCTACTAACGCTTCACGGCTACTATCAAAGATA
+ATGCAAGGACACTGACTACGCAGGCGAGTCATCCAGTCGGTGAACGCTTCCGGGCTGACGCCTGACGGTA
+AGCTTCCGCTGACACAGACCATATCGAACTGACCGAGCCAGCTCAGAGAATCAGTCACAAAGCGTTCCCA
+GTCGGCGGGGGTGACTTCAAAACCCGAGAAGTTGAAGTCGGTCACTTCGCCGTCTTTTTCCGTCAGCTTA
+ACGTTAATTCGGGTGCGCCCCTGTACAACCTGGAAACGGTTGGCAATGCCCAGCTCGCTGAACAGTTGCT
+GAAAACCATCCTGATTGTCTTTACCCAGGAAGCCGCCAACGGTGACATCAATTCCCAGGTCTTTTAATAC
+TTTGGCCACGTTGATGCCTTTACCCGCCGCATGCAGACCGGTGGTTTTCACCAGGTTCACTTCGCCGCGT
+TCAATTTCCGGGCAGAAACCAACAAGGTCATAAGCCGGATTAAGGGTGATCGTAGCAACACGTCTACTCA
+TTATGCGCCCTCCCCAAGACCAGCAGCGATAGCGTCGCCAATGGCTTTCAGCGCCTGTTCAGCATCTGCA
+CCCTGGGCGGTAAAGCGTAGGCGATGACCTTTCTTAACGCCAAGTGCCACAACTTTCATCAGACTACGTC
+CGTTTGCCGGTTTGCCGGTGCCATCAAGGTTTGTCACGGTAATATCACTGTTAAATTGTTTAATGGTATT
+GACCAGCATGGTACCTGGACGAGCATGCAGGCCGTGTTCATTGCGCACCACAAACTCCGCGCTTAACACG
+TCGTCGGTCGGCGCATCATCGCTGGTCAGCAGCGCCAGCAACGTTGCCGCATCCGCTTTCAGCAAGCGGT
+CAGCTTTATTATCGAGCAACAAATCAGCGAGACGCTTAAGAACCGCGATGGGCTGATCGTCATTCATCGC
+CACACTCACCAGCATGGCTGCCGTTTCGCCGTCCACATCAAAAGCATTTGCCGCACGGCTTACCGCAATC
+GCGCTACGCAGATTGCCTTCGGCGCTATCGCTCAGCCAGATACCCTGCCCGAGGTTCAGCGGTTGTTCAT
+TGATGGCTTTGGTGACGAAAGTGGCGTCAACTGCCCCCGCTTCTTTCAGACGCGCAGCGTTCAGCGCCTG
+AAGAGTCAGCAGATCGCTGGCGACGATATCCAGCGTCAGCATTTCGTTGTCGAGCTTCAGCTGCTCACTC
+TGCTTTTCGCCCATCAGCAATGCGCGAAGTTCTTCTGCTGTTGTTGCTGACTTCAGTTGTTCAACAACGG
+AATCATCGCTCAGTACGTGGGTCAGCTGGCGTAGCAGGCCCAGATGTTCATCCGAGCTGGCAGCAATACC
+GATCGCCACGTACGCTACCTGGCCGTCACCCCAGGTGACGCCTTCCGGGAACTGAAATACCTGAACGCCG
+GTTTTCAGCACCTGATCGCGGGTGTCGGTAGTGCCGTGTGGAATAGCAATACCATTGCCGAGGAACGTTG
+AGGTTTGCTGTTCGCGCGCCAGCATGCCATTGACGTAGCCTTCAGCTACATTACCGGCCTGCACCAGCGC
+CGCAGCGACCTGGCGAATCGCCTCTTCTTTGTCTCCGGCCTTTTCGCCCGGATGGATGTCCTGTACGGAT
+AACTGGAACATAGTTCTCCTCTCTTGCTGAATTGAAACGATTCAGCTTCTATGAGAAAAAAAGCGCCAAC
+CTGGCTTAGGGTTAAAGACAAGATCGCGCTGAAACGTTTCAAGAAAGCATAATACTTTTGTTTCAGCACG
+CAAGGAAAGCCGTAAAGTTATGAGCAAAAGTTTGATGTGCTGCACAATTTTTTGTCATTTTTCCTAATTG
+CTGATGGGAAAATCCGTTATCAGCAATTTCATTTCAGCAGCGTCAGCAGCCAATCAGCAACAGTGAAATG
+GCATTTTGATTATTCGTGGCGCTTTTGATTTCGCTGTCTGTTTATTTTCTGACAAGCAGCGTAAACTCCG
+CGTCTTCCTCTTCCAGTGATCGACCAGCATGCATAACTCCCCCGCAGTCACCAGCGCGAAATCGTTTGAC
+CTGACCTCGATGGCGTTTTTAATCGTTGCCTTTCTCACCGGTATTGCGGGCGCTCTGCAAACCCCGACAC
+TCAGTATTTTTCTTACTGATGAAGTACATGCCCGTCCGGCGATGGTGGGATTCTTCTTTACCGGCAGCGC
+TGTCATTGGGATTCTGGTGAGTCAGTTTCTCGCCGGGCGCTCTGATAAGCGCGGCGATCGCAAATCGCTG
+ATTGTCTTTTGCTGCCTGTTAGGCGTGCTGGCCTGCACCCTTTTTGCCTGGAATCGCAACTACTTTGTTT
+TGCTATTCGTTGGCGTCTTTCTTAGCAGCTTTGGCTCGACCGCTAACCCGCAAATGTTTGCCCTTGCCCG
+TGAACATGCCGACAAAACCGGACGTGAGGCGGTGATGTTCAGCTCTTTTTTACGCGCTCAGGTTTCACTG
+GCATGGGTCATTGGCCCACCGCTGGCTTATGCCTTAGCGATGGGTTTCAGCTTTACGGTAATGTATCTGA
+GCGCAGCGGTAGCGTTTATTGTTTGCGGCGTGATGGTGTGGCTGTTTTTACCGTCGATGCAAAAAGAGCT
+TCCGCTGGCGACCGGCACGGTTGAAGCGCCGCGCCGTAACCGTCGCGATACGTTGCTGCTGTTTGTCATT
+TGTACATTGATGTGGGGCTCGAACAGCCTGTACATCATCAACATGCCGCTATTTATTATCAACGAACTGC
+ATCTTCCCGAGAAACTGGCCGGTGTGATGATGGGGACCGCCGCCGGGCTGGAAATCCCGACCATGTTGAT
+CGCCGGATATTTTGCCAAACGTCTGGGTAAGCGCTTCTTAATGCGCGTTGCTGCCGTGGGTGGCGTCTGT
+TTTTACGCAGGAATGCTGATGGCGCATTCACCTGTCATTCTGTTGGGCTTGCAGCTGCTAAATGCTATTT
+TTATTGGCATTCTGGGCGGCATCGGGATGCTCTATTTTCAGGATTTGATGCCCGGTCAGGCAGGTTCAGC
+CACCACGCTCTATACCAACACGTCGCGCGTGGGCTGGATCATCGCAGGATCAGTGGCGGGCATCGTCGCC
+GAGATCTGGAATTATCACGCTGTGTTCTGGTTTGCGATGGTGATGATTATCGCCACTCTGTTTTGCTTAC
+TGCGAATTAAAGATGTTTAAGGCGCGGTCAACATTTCCAGATCGATAAGCCAGGTCATTGCCTGCTGACG
+CGAGTTACCGCACATTTCAGCGCTGGCTTGTAAGCCTGCACAGACTTTCGGTCGCAGTGGCGAGGTGAAA
+ATTTTACAGCGTTGCTGTTCATCAAGCTGAATGCAGGGCGTATTGGCGGGCTTGCCATCTGGCATACCGG
+GAATAGGGCTGGAAATTGAAGGGGCAGTGCAACACGCCCCGCAACCCGGACGGCATTCCATACGTTGTTC
+TCTTAAGATTAACCACCGGATTGATGAGCGCGCACAGTACCACCTTTTTTGCACCAGCAAAAGTGCGAAT
+ACCACTTGCCCGAAAGGCCCGTCGCGAGTACTTTGTCGCGATATTTTTGACATTTTTGACTACAGGAATT
+TTTCGATGCCAAGAGCGAACGAAATTAAAAAAGGTATGGTACTGAATTACAACGGCAAACTGCTGCTGGT
+TAAGGACATTGATATTCAGTCGCCCACTGCCCGCGGTGCCGCTACGCTGTACAAAATGCGTTTTTCTGAT
+GTCCGTACCGGGCTGAAAGTAGAAGAGCGTTTCAAAGGTGATGATATCGTTGACACCGTGACGCTGACCC
+GCCGTTACGTTGACTTCTCCTATGTCGATGGCAACGAATATGTCTTTATGGATAAAGAAGACTATACCCC
+GTATACCTTCACCAAAGATCAGATTGAAGAAGAGTTGCTGTTTATGCCTGAGGGCGGCATGCCGGACATG
+CAGGTGCTGACCTGGGACGGTCAATTGCTGGCGCTTGAGCTGCCGCAGACCGTTGATCTGGAAATCGTTG
+AAACTGCACCAGGCATCAAAGGGGCATCTGCCAGCGCCCGTAACAAACCGGCGACATTGAGCACTGGTCT
+GGTGATTCAGGTACCAGAATACTTAAGCCCGGGCGAAAAAATTCGTATCCATATCGAAGAACGCCGTTAT
+ATGGGTCGTGCTGACTAACTTCAGCCGCATGCAGAAAAGGGATAGCTCAGGCTGTCCCTTTTTTAATTTA
+TTATACCAATCTTCTATTTTGCGCTTCCTGAACACCTTACGCCCGCAATTTTCACTCGTTGATTGATCGC
+CCTCACACTTCATCGCATTAACAATCCAGACCAATTTCAATTGTTGTCATATAACTTTACACTGTCATTG
+TTAATTAATCGTTACTAAGACGTGACTCCTATGAATACAATCGCCTCCGTTACGCTCCCGCATCATGTAC
+ACGCTCCACGCTACGATCGACAGCAGTTGCAATCACGTATCGTTCATTTTGGCTTTGGAGCCTTTCACCG
+CGCACATCAGGCATTACTGACCGATCGTGTGCTGAATGCCCAGGGCGGCGACTGGGGGATCTGTGAAATC
+AGCTTGTTCAGCGGCGATCAACTGATGAGCCAACTCCGCGCACAGAACCATTTATATACCGTGCTGGAGA
+AAGGTGCGGACGGCAATCAGGCGATAATTGTCGGTGCCGTTCACGAATGTCTGAATGCAAAACTGGATTC
+CTTAGCGGCAATTATTGAGAAATTTTGCGAGCCACAGGTGGCAATTGTTTCCCTGACGATTACCGAAAAA
+GGCTATTGTATTGACCCGGCCACCGGTGCACTCGACACCAGCAATCCGCGTATTATTCACGATCTACAAA
+ACCCTGAAGAACCTCACTCCGCGCCAGGTATTCTCGTCGAAGCACTGAAACGCCGCCGTGAGCGCGGCCT
+TACACCGTTTACCGTGCTCTCCTGCGACAATATTCCCGACAATGGCCATGTGGTGAAAAACGCGGTGCTG
+GGAATGGCAGAAAAACGTTCGCCAGAACTCGCCGGGTGGATAAAAGAACACGTCAGTTTTCCGGGAACTA
+TGGTCGACCGCATTGTTCCGGCTGCAACCAACGAATCACTGGCGGAAATCAGCCAGCATCTGGGGGTGAA
+TGATCCCTGCGCGATTAGCTGCGAACCGTTTATCCAGTGGGTGGTTGAAGATAACTTCGTCGCTGGGCGT
+CCTGCCTGGGAAGTCGCAGGTGTACAAATGGTGAATGATGTCCTGCCATGGGAAGAGATGAAACTGCGTA
+TGCTTAATGGCAGCCACTCTTTTCTCGCTTATCTGGGTTACCTCTCAGGATTCGCCCATATCAGTGATTG
+CATGCAGGATCGCGCATTTCGCCATGCCGCCAGAACATTAATGCTGGATGAGCAAGCGCCGACACTGCGG
+ATTAAAGATGTCGATTTAACACAATATGCGGATAAGTTAATTGCACGTTTTGCTAATCCGGCACTGAAAC
+ATAAGACCTGGCAAATCGCGATGGATGGCAGCCAGAAATTACCGCAACGCATGCTGGCAAGTATTCGCAT
+ACATCTGGGGCGCGAAACGGACTGGTCGTTGCTGGCATTAGGCGTTGCAGGCTGGATGCGTTACGTCAGC
+GGCGTTGATGATGCCGGAAATGCCATTGATGTTCGCGATCCACTTAGCGATAAAATTCGTGAACTTGTTG
+CGGGCAGCAGCAGTGAACAACGCGTAACCGCCCTGCTTTCCCTGCGTGAAATTTTCGGTGATGATCTGCC
+AGATAACCCGCATTTTGTGCAGGCCATCGAACAAGCCTGGCAACAAATCGCACAATTCGGCGCGCATCAG
+GCGCTATTAAACACCCTCAAAATTTAACGATTTCTGCGGTTAAAGCGGATGAAGCTCGCCTTCGTCCGCT
+CTCCCCTTCTCTTTTCTGCCTTTTTTAGCCAGGATTAACGCTCAGTTAACTTACCAGAGTATTGCGGAGC
+CGTTGTGACCAGAACCAACCTCATCACCGGTTTTCTCGGCAGCGGGAAAACTACGTCGATTCTTCATCTG
+TTAGCCCATAAAGATCCCAACGAAAAATGGGCGGTACTGGTTAATGAATTTGGGGAAGTCGGAATTGATG
+GTGCTTTGCTCGCCGATAGCGGCGCACTGCTGAAAGAGATCCCCGGCGGCTGCATGTGCTGCGTTAATGG
+TTTACCCATGCAGGTAGGGTTGAATACCTTACTGCGTCAGGGAAAACCAGACCGCTTGTTGATAGAGCCG
+ACCGGACTGGGTCATCCGAAACAGATCCTAGATCTCTTAACCGCGCCCGTGTATGAACCGTGGATAGATC
+TGCGCGCCACGTTGTGCATTCTCGATCCACGCCTGCTGCTGGACGAAAAAAGCGCCAGCAATGAAAACTT
+CCGTGACCAGCTGGCTGCCGCAGACATTATTGTCGCCAATAAATCCGACCGTGCGACGCCCGAAAGTGAG
+CAAGCGCTACAGCGCTGGTGGCAGCAAAATGGTGGCGATCGGCAATTAATTCACAGCGAGCATGGGAAAA
+TTGACGGTCATCTTCTGGATTTGCCGCGTCGCAATTTAGCCGAGTTGCCCGCCAGCGCCGCACATTCTCA
+TCATCATAGAGTGAAAAAAGGGTTAGCAGCATTAAGCCTGCCAGAGCATCAACGCTGGCGTCGCAGTCTG
+AACAGCGGACAAGGGCATCAGGCCTGTGGCTGGATATTCGACGCTGATACGGTATTCGACACCATTGGCA
+TTCTGGAATGGGCGCGACTTGCACCGGTGGAACGCGTCAAAGGCGTGATGCGTATTCCCGAAGGGCTGGT
+GCGAATCAACCGTCAGGGCGATGACCTGCACATTGAAACGCAAAACGTTGCGCCACCGGACAGTCGTATT
+GAGCTGATTTCCAGCAGCGAAGCTGACTGGAATGCCTTGCAGAGCGCGCTGTTGAAGCTTCGTTTAGCGA
+CTACCGCGTAAGGTTGCCTGCGTTTTTCAGTAAGATAATTAGAGAAAATATGATTAAAAATTTGCCGCAA
+ATAGTGTTGTTGAATATTGTCGGCCTCGCGCTGTTTCTTTCCTGGTATATTCCCGTTAATCATGGATTCT
+GGTTGCCGATTGATGCGGATATTTTTTATTTTTTTAATCAGAAACTGGTCGAAAGTAAGGCCTTTTTGTG
+GCTGGTTGCATTGACCAACAATCGCGCTTTCGACGGTTGTTCACTGCTGGCGATGGGAATGTTGATGCTG
+AGTTTCTGGCTGAAAGAAAACGCCCCAGGCAGACGACGTATCGTGATTATTGGTCTGGTCATGCTATTAA
+CTGCAGTGGTATTAAACCAGCTGGGTCAGGCATTAATTCCTGTAAAACGGGCCAGCCCAACATTGACTTT
+TACCAATATTAACCGCGTCAGCGAACTGCTCTCTGTTCCCACGAAAGATGCCTCACGAGATAGCTTTCCC
+GGCGATCACGGTATGATGCTGCTTATTTTTTCGGCATTCATGTGGCGTTATTTCGGCAAAGTTGCAGGCC
+TTATCGCCCTTATTATTTTTGTGGTTTTTGCGTTTCCCAGAGTAATGATTGGCGCACACTGGTTTACTGA
+CATCATCGTCGGTTCCATGACCGTGATATTGATCGGCTTGCCCTGGGTGTTGCTGACGCCATTAAGTGAT
+CGATTAATCACCTTTTTTGACAAATCACTACCTGGAAAAAACAAACATTTCCAAAACAAATAACTCACAG
+TAATTAACATCATCAGGTTTATTTTTATAGTGAGGATAATCCTGATGATGCGCCTCCTGCTTTCATCCAT
+CGAGCGCAAAAATCATTCTCTAAGTAAATGAATGGATTGCATGCGTTTCACTCAATCGTACTTTAATTGA
+CCAATCCCGCTTATTAACTTTCTGTATCACTTTTTCTTATAAAAAATCATGTAAAACCGCTCGCCAAGAC
+CGCACCAATCGGGTAATCTCGAACTCGTTTTGCCTCGGCGGTAGATTATCCTCACAGCATATAATTTTGT
+GCGTTAGTCCACAGATTTGGCCTTAAGGAATTGTTTCAACATGCCCAGGTAATTAGTCTCGTGTCGCTTG
+GCATTTTTTTATAACGATATTTGTCGTTAAGGACTTCAAGGGAAAACAAACAACATGGTCAAATCTCAAC
+CGATTTTGAGATATATCTTGCGCGGGATCCCCGCGATTGCAGTAGCGGTTCTGCTTTCTGCATGTAGTGC
+AAATAACACCGCAAAGAATATGCATCCTGAGACACGTGCAGTGGGTAGTGAAACATCATCACTGCAAGCT
+TCTCAGGATGAATTTGAAAACCTGGTTCGTAATGTCGACGTAAAATCGCGAATTATGGATCAGTATGCTG
+ACTGGAAAGGCGTACGCTATCGTCTGGGCGGCAGCACTAAAAAAGGTATCGATTGTTCTGGTTTCGTACA
+GCGTACATTCCGTGAGCAATTTGGCTTAGAACTTCCGCGTTCGACTTATGAACAGCAGGAAATGGGTAAA
+TCTGTTTCCCGCAGTAATTTGCGCACGGGTGATTTAGTTCTGTTCCGTGCCGGTTCAACGGGGCGCCATG
+TCGGTATTTATATCGGCAACAACCAGTTTGTCCATGCTTCCACCAGCAGTGGTGTTATTATTTCCAGCAT
+GAATGAACCATACTGGAAGAAGCGTTACAACGAAGCACGCCGGGTTCTCAGCCGCAGCTAATAAACCGTT
+TGGATGCAATCCCTTGGCTATCCTGACGAGTTAACTGAAAGCACTGCTTAGGCAGTGCTTTTTTGTTTTC
+ATTCATCAGAGAAAATGATGTTTCCGCGTCTTGATCCAGGCTATAGTCCGGTCATTGTTATCTTTTAAAT
+GTTGTCGTAATTTCAGGAAATTAACGGAATCATGTTTATACGCGCTCCCAATTCTGGACGTAAGCTCCTG
+CTTACCTGCATTGTTGCAGGCGTGATGATTGCGATACTGGTGAGCTGCCTTCAGTTTTTAGTGGCCTGGC
+ATAAGCACGAAGTCAAATACGACACACTGATTACCGACGTACAAAAGTATCTCGATACCTATTTTGCCGA
+CCTTAAATCCACTACTGACCGGCTCCAGCCGCTGACCTTAGATACCTGCCAGCAGGCTAACCCCGAACTG
+ACCGCCCGCGCGGCGTTTAGCATGAATGTTCGTACTTTTGTGCTGGTAAAAGATAAAAAAACATTCTGTT
+CATCTGCAACTGGTGAGATGGACATTCCACTCAATGAATTGATTCCGGCGCTCGACATTAATAAAAACGT
+CGATATGGCGATCTTACCCGGCACGCCGATGGTGCCGAACAAACCCGCAATCGTCATCTGGTATCGCAAC
+CCTTTGCTGAAAAATAGCGGCGTGTTTGCCGCTCTGAATCTCAACCTGACGCCTTCACTCTTTTATAGTT
+CACGGCAGGAAGATTACGATGGCCTCGCCCTCATTATTGGTAATACTGCGCTATCTACCTTTTCTTCACG
+TTTGATGAACGTTAATGAATTAACCGACATGCCGGTCCGTGAAACGAAAATTGCGGGCATTCCTCTGACC
+GTTCGGCTTTATGCAGATGACTGGACATGGAACGACGTGTGGTACGCATTTTTACTGGGTGGCATGAGTG
+GAACTTTCGTTGGACTTCTCTGCTATTACCTGATGAGTGTGCGTATGCGCCCAGGCAGAGAAATCATGAC
+CGCCATCAAGCGCGAACAATTTTACGTGGTATATCAACCGGTGGTTGATACACAAGCTTTGCGGGTAACG
+GGCCTGGAAGTACTGCTACGCTGGCGGCATCCAGTAGCAGGAGAAATACCCCCGGATGCCTTCATTAACT
+TTGCCGAAGCGCAAAAGATGATTGTGCCACTGACTCAGCACCTGTTTGAGTTGATTGCCCGCGATGCCGC
+AGAATTAGAAAAAGTACTGCCGGTAGGCGTCAAATTTGGCATTAACATTGCGCCGGCCCACTTGCACAGC
+GAAAGCTTTAAAGCGGATATCCAGAAACTGCTCACTTCCCTGCCCGCACACCATTTCCAGATTGTGCTGG
+AAATTACCGAGCGCGATATGCTGAAAGAGCGAGAAGCCACACAACTCTTCGCCTGGCTGCATTCGGTCGG
+CGTAGAAATTGCTATTGATGACTTCGGCACCGGGCACAGCGCGCTTATCTATCTTGAGCGTTTTACGCTC
+GATTATCTGAAAATTGATCGTGGATTTATCAACGCCATCGGTACGGAAACGATCACTTCACCCGTACTTG
+ACGCGGTGCTGACGCTGGCGAAACGTCTCAATATGCTGACAGTTGCTGAAGGGGTCGAAACGCCAGAACA
+GGCACGATGGCTAAGCGAACGCGGCGTTAATTTCATGCAAGGCTACTGGATTAGTCGCCCGTTACCGCTG
+GACGATTTTGTTCGCTGGCTGAAGAAACCGTATACGCCGCAGTGGTAAGGTGTGCTTACGTCCCTTATTA
+TTCATAGTGAAAGCATGCCGGATTGCGGCTAATGATGAGTAAAAGGAAATCCGTTGCAGATGATTGTGCG
+CATACTGCTGCTGTTTATCGCTCTGTTCACCTTTGGTGCGCAGGCGCAGGCTATCAAGGAAAGCTATGCC
+TTTGCCGTACTGGGCGAACCCCGGTACGCATTTAATTTCAACCATTTTGATTATGTGAACCCCGCCGCGC
+CAAAAGGTGGGCAAATAACGTTGTCTGCCCTCGGCACCTTCGATAATTTCAACCGCTATGCACTGCGCGG
+CAATCCGGGCGCACGCACCGAGCAGCTGTACGACACGCTATTTACGACTTCCGATGACGAACCAGGCAGT
+TATTACCCGCTGATTGCTGAAAGCGCACGCTATGCTGACGATTATTCCTGGGTGGAGGTCGCTATTAATC
+CACGCGCCCGTTTTCATGATGGTTCGCCCATTACTGCCCGCGATGTAGAGTTTACTTTTCAAAAATTTAT
+GACCGAAGGCGTGCCGCAATTTCGTCTGGTCTACAAAGGCACCACCGTCAAAGCCATTGCGCCGTTAACC
+GTGCGCATTGAGTTAGCTAAACCCGGCAAAGAAGATATGCTGAGTCTGTTTTCGCTGCCGGTATTTCCAG
+AAAAGTACTGGAAAGATCACAAACTTAGCGACCCGCTCGCCACGCCTCCGCTTGCCAGTGGTCCGTACCG
+CATTACGTCCTGGAAAATGGGGCAAAATATTGTCTATTCCCGCGTGAAAGATTACTGGGCAGCAAACTTA
+CCGGTAAACCGTGGACGCTGGAATTTCGACACCATTCGCTACGATTATTACCTCGATGATAATGTCGCCT
+TTGAAGCGTTTAAAGCAGGTGCCTTTGATTTGCGTATGGAAAACGACGCCAAAAACTGGGCCACGCGCTA
+TACCGGTAAAAATTTCGATAAAAAATACATCATCAAAGATGAGCAAAAGAACGAATCAGCCCAGGATACG
+CGCTGGCTGGCGTTTAATATCCAACGTCCGGTATTCAGCGATCGCCGGGTGCGGGAAGCGATCACTCTCG
+CCTTTGACTTTGAATGGATGAACAAAGCGTTGTTTTACAATGCCTGGAGTCGCACGAACAGTTATTTTCA
+GAATACCGAATACGCGGCCAGAAATTACCCCGACGCCGCGGAGCTGGTGCTTCTGGCACCAATGAAAAAA
+GATCTACCGCCAGAAGTCTTCACGCAAATCTACCAGCCGCCGGTATCCAAAGGCGATGGCTACGATCGTG
+ACAACCTGTTAAAAGCCGACAAACTTCTCAACGAAGCAGGCTGGGTGCTGAAGGGTCAGCAACGCGTTAA
+TGCCACAACGGGTCAGCCACTCAGCTTTGAATTATTGCTTCCCGCAAGCAGCAATAGTCAGTGGGTATTG
+CCGTTCCAGCACAGCCTGCAACGGCTGGGTATCAACATGGACATTCGCAAGGTGGATAACTCGCAAATCA
+CCAACCGCATGCGCAGTCGCGACTATGACATGATGCCGCGCGTATGGCGGGCGATGCCGTGGCCCAGTTC
+CGATTTACAAATTTCCTGGTCATCGGAATATATCAATTCCACTTATAATGCCCCCGGCGTGCAAAGCCCG
+GTTATCGACTCGCTGATCAACCAAATTATTGCCGCACAGGGAAATAAAGAAAAATTACTGCCGTTGGGGC
+GAGCACTGGATCGCGTATTAACGTGGAATTATTACATGCTGCCAATGTGGTACATGGCGGAAGACCGTCT
+CGCCTGGTGGGATAAATTCTCCCAACCCGCTGTACGCCCTGTTTACAGCCTGGGTATTGATACCTGGTGG
+TATGACGTTAATAAAGCGACGAAACTGCCGTCAGCCAGACAACAGGGAGAGTAGATGGGCGCTTATCTGA
+TTCGCCGTCTGTTGCTGGTGATCCCAACGTTATGGGCGATTATCACTATCAACTTTTTCATCGTGCAAAT
+TGCGCCTGGCGGTCCGGTCGACCAGGCCATCGCCGCCATTGAGTTTGGCAATGCCGGAGTATTACCCGGC
+GCAGGCGGTGAAGGTGTTCGCGCCAGCCATGCGCAAACGGGCGTTGGCAATATCAGCGACAGTAATTACC
+GTGGCGGACGCGGATTAGATCCAGAAGTGATCGCCGAGATCACTCATCGCTACGGTTTCGATAAGCCGAT
+CCACGAACGTTACTTCAAAATGCTCTGGGACTACATCCGTTTTGATTTTGGCGACAGCCTTTTTCGCAGC
+GCCTCGGTGCTGACGCTGATTAAAGACAGTCTGCCGGTCTCCATCACCCTCGGATTGTGGAGCACGCTGA
+TTATCTATCTGGTGTCGATTCCGTTAGGCATTCGCAAAGCTGTTTATAATGGGAGCCGTTTTGACGTCTG
+GAGTAGTGCATTTATCATCATCGGCTACGCCATTCCGGCCTTTTTGTTTGCCATCCTGCTGATCGTCTTC
+TTCGCGGGCGGCAGCTATTTCGATCTGTTCCCTCTGCGCGGCCTGGTTTCCGCTAACTTTGATTCGCTGC
+CGTGGTATCAGAAAATCACCGATTATCTGTGGCATATCACGCTGCCGGTGCTGGCGACAGTGATTGGCGG
+CTTTGCGGCTCTGACCATGCTGACAAAAAACTCATTCCTTGATGAAGTGCGTAAGCAATACGTGGTGACG
+GCACGTGCGAAAGGGGTAAGTGAAAAAAATATTCTCTGGAAACATGTGTTCCGCAACGCCATGCTGCTGG
+TGATTGCCGGTTTTCCGGCGACGTTTATCAGCATGTTTTTTACCGGCTCGCTGCTGATTGAGGTGATGTT
+TTCACTCAATGGTCTTGGCTTACTGGGCTACGAAGCGACCGTCTCGCGCGATTATCCTGTAATGTTTGGT
+ACCTTGTATATTTTCACCCTGATTGGCCTGCTGCTGAATATTGTCAGTGATATCAGCTATACGCTGGTCG
+ATCCGCGTATAGACTTTGAGGGACGTTAATGTCGCGACTCAGCCCCGTCAATCAGGCCCGTTGGGCGCGT
+TTTCGCCATAACCGTCGCGGCTACTGGTCGTTATGGATTTTCCTCCTCTTGTTTGGTTTGAGTTTGTGTT
+CTGAACTTATCGCCAACGATAAACCGTTGCTGGTGCGTTATGACGGCAGTTGGTATTTCCCGTTGTTGAA
+AAACTACAGCGAAAGCGATTTTGGCGGCCCGCTGGCAAGTCAGGCTGATTATCAGGACCCGTGGCTGAAA
+CAACGACTGGAAAATAACGGCTGGGTACTGTGGGCACCGATTCGCTTTGGTGCTACCAGTATCAACTTTG
+CTACCGATAAGCCCTTCCCTTCTCCACCCTCCCGGCAAAACTGGCTGGGAACGGATGCCAATGGCGGCGA
+TGTGCTGGCGCGCATTCTCTATGGCACGCGGATCTCAGTTCTGTTTGGACTGATGCTGACCCTCTGCTCC
+AGCGTGATGGGCGTGCTGGCGGGGGCGCTACAAGGCTATTACGGTGGTAAAGTCGATCTCTGGGGGCAAC
+GTTTTATTGAAGTATGGTCGGGGATGCCGACGCTGTTTTTGATTATTTTACTTTCCAGCGTCGTACAGCC
+TAACTTCTGGTGGCTGCTGGCAATTACTGTCTTGTTTGGCTGGATGAGTCTGGTCGGTGTGGTGCGGGCG
+GAGTTTTTACGTACCCGTAATTTCGACTACATCCGCGCGGCGCAGGCGCTTGGCGTCAGCGATCGCAGTA
+TCATCCTGCGTCATATGTTGCCAAATGCCATGGTCGCTACCCTCACTTTTTTACCGTTTATTTTATGTAG
+TTCGATAACCACCCTGACCTCACTCGATTTCCTCGGCTTCGGTCTGCCGCTCGGTTCACCGTCACTCGGT
+GAATTGCTGTTACAAGGGAAAAATAACCTTCAGGCCCCGTGGCTTGGGATCACCGCCTTCTTATCGGTGG
+CGATATTGTTGTCTTTGCTGATCTTTATTGGTGAAGCCGTCCGCGACGCATTTGATCCTAATAAGGCGGT
+GTAGCATGACGCAAACTCTGTTAGCGATTGAAAATTTGTCAGTGGGTTTTCGCCATCAGCAAACCGTACG
+TACAGTAGTCAATGATGTTTCACTACAGATTGCGGCTGGCGAAACGCTGGCGCTGGTAGGTGAATCTGGT
+TCAGGTAAGAGCGTTACCGCGCTGTCAATTTTACGCCTGCTCCCTTGCCCGCCGGTTGAATATCTCTCCG
+GCGATATTCGTTTTCATGGCGAATCGCTGCTTCATGCCAGCGATCAAACGTTGCGCGGTGTACGCGGTAA
+TAAGATCGCCATGATTTTTCAGGAGCCGATGGTGTCGTTAAATCCATTGCATACCCTTGAAAAACAGCTT
+TATGAAGTGCTTTCACTCCACCGCGGGATGCGTCGGGAAGCGGCTCGTGGCGAAATTCTTAACTGCCTTG
+ATCGCGTCGGTATCCGCCAGGCGGCAAAACGGCTGACAGATTATCCGCATCAGCTCTCTGGCGGCGAACG
+CCAGCGGGTGATGATTGCGATGGCGCTGTTAACGCGACCGGAATTATTAATTGCCGATGAACCAACCACC
+GCGCTGGACGTCTCTGTCCAGGCGCAGATTTTACAGCTGTTGCGCGAACTGCAAGGCGAGCTGAATATGG
+GTATGCTGTTTATTACTCATAACCTCAGCATTGTCAGAAAACTGGCCCACCGCGTGGCGGTAATGCAAAA
+CGGTCGCTGTGTCGAGCAAAATAACGCTGCTACGCTATTTGCCTCACCCACTCATCCTTACACACAAAAG
+CTACTCAACAGTGAACCATCTGGCGACCCGGTGCCATTGCCAAAACCTGCCTCAACGTTGCTGGATGTTG
+AACAGCTTCAGGTTGCCTTCCCCATCCGCAAAGGGATTTTGAAGCGCATTGTGGATCATAATGTGGTGGT
+GAAAAACATCAGTTTTACGCTACGGGCGGGTGAAACACTGGGTTTAGTGGGCGAGTCCGGTTCCGGGAAA
+AGCACGACGGGACTGGCGCTGCTGCGACTGATTAACTCTCAGGGCAGCATCGTCTTTGACGGTCAGCCAC
+TGCAAAATTTAAATCGCCGCCAGCTGTTACCTATTCGTCATCGCATTCAGGTGGTATTTCAGGATCCAAA
+CTCCTCACTCAACCCACGACTCAACGTTTTGCAAATTATTGAGGAAGGCTTACGGGTTCACCAGCCGACG
+CTTTCTGCCGCACAACGCGAACAACAAGTGATAGCCGTGATGCATGAAGTGGGATTAGATCCTGAAACAC
+GCCACCGTTATCCGGCGGAGTTCTCTGGTGGTCAGCGGCAACGTATTGCGATTGCCAGGGCGTTAATTCT
+TAAGCCCTCGCTGATCATTCTTGATGAACCAACATCATCACTCGACAAAACGGTGCAGGCGCAAATATTG
+ACGCTATTGAAATCATTGCAACAAAAGCATCAACTGGCCTATTTGTTTATCAGCCACGATTTGCACGTTG
+TCCGCGCGTTATGTCATCAGGTTATCGTACTGCGACAAGGGGAAGTAGTGGAACAAGGACCGTGCGCGCG
+CGTGTTTGCCGCACCGCAGCAGGAGTATACGCGTCAGCTACTGGCGTTGAGCTGACGCTTAAAAAGGATT
+GTAGTTTGAAAAGGGTTCGGCAATTGCCACACCAAAATTTTTCAATCGGCATGTTGCAGCAAATTCGTCC
+TGGCGATTTACAAACAGGCACGGCTCACCTTCACACTCCAGCACCGAACATGGAACTTCGATGTCGCTTA
+ACGCCTGGCTTAGTTTGTACATCACCGACCATGCATTATCACCATCCGGGCTAAGCAATTTAAGCGCCAC
+CAGGCTGTTGTCACCGCACGGTCCATTTTGCGGAATCGGTTCAACCTTCGAACCTGCGAAACCAGCAGAC
+CAGCGATAGTTCTGCGGCAGTCGATGGACGATTGAGAGTTGTAATGGAGTCACTTATTTTCCCCGGAAGC
+ACATTTATTTCACAGTTTATTTACATCAACTTTAACACATCATCAACAATCCGTCTTTATACAGATCGTA
+AAGATTGATGCCTCGCCAGCGTGGCCTCTATGGCTCTGATTTAAATAATATCTGCGGGCGTGGTCACGTT
+TGCGGGGCTATATGTACCCGTTTCTGCGATCTAACTCAACCTTTTTAACTACAATGATGTGACTTTTTAC
+ATAAATTGATTTTACATAAAATATACATACATCGGGGGAATGATAGATTTGTGGTTGACATGTATCAACA
+AAGGAAGCCTTTTAGCTTCCTCGTTGTGCAATAGATCACCGTTTTTTCGGCCGACTGGCGTACAAACAGA
+AGAGAATGGAACTGGTTGCGCAGAATGCAATTGACCAAATCATCGGCCATGCAGAGTTAAAGGTCGCAAG
+AGAAAGTAATGCGCCAACAATTGCCCCTATGCCGAAACGGAAGGTTCCTGCCAGCGAAGATGCCGTTCCC
+GCCATATGGGGAAACTCATCAAGAATGACCGCCATCGCATTGGATGACACCATCGACACGCAGCCCACAA
+ACGCCGCAACGCCAACCACCAGCGACCAGAATCCCAGCCCCAGCAGCGCGCTAATGACCATCCACGCTGC
+CATAATAAACTGTATCCACAACCCCGAGCGGAACATATTTAACGCGCCAATACGGCGGACGAAGCGGCTG
+TTAAAGATGGTCATCACGAACAGAAAAAGAATGTTTAGCGCAAAGTAATAACCAAAGTTTTCCGGCGCGA
+CGTGGTTGATTTCAATGTAGACAAACGGTCCGGCGCTTAAGAATGAGAACATCCCGGCAAAGCTGAAACC
+GCTGGCCAGCATATAACTCAGGACACGCTTATGACGGAACAGCGCCGCAAAGTTACCAATAGTGGTACGA
+ATGTGAAAAGGCTGGCGACGCTCCGGTGGTAAGGTTTCTTTGATCAGAAAGAAGATCATTGCCGAAGCCA
+GAATCGCCGCCACGGCGAGGATCCAGAAGATGTAATGCCAGCTCAGCCACACCAGCACCCAGCCGCCAAC
+TATCGGTGCCATCAGCGGTGCAATGGTCGTCACCAGCATGACAAACGACATCATTCGCGAGAACTCTTCT
+TTCGGGTAGATATCACGCATCAAAGCGTTGATAACCACGCTGGCCGCAGCCGCAGCCAGCCCGTGGAAGA
+AACGCATCACAATCAGCTGATCGATGGTGTTTGCCAACGCACACGCCACCGCGGCGGCGGCAAACACCAG
+CGTACCGCCGAGCACCACCGGCTTACGCCCGAAGCTGTCTGCCATCGGCCCGTAGATTAACTGCCCCAAC
+GCAAAGCCCAGAATATAAGTACTGAGGGTCATCTGCGTACTGCCCGCCGGTACACCAAACTGCGCTGAAA
+TTACTGGTAGCGCAGGCAGATACATATCAATCGACAGCGGCATCAACATGGCCAGCAGGCCAAGGATAAA
+AACAATAGCAAACGACGAATGCTGTCGGGTGGTCACAACGGGCTCCTGAAAGTCATTGAAAAGTTAGACG
+ACGCTGGCAATTTCTTCTTCAGTTAACGGACGATATTCACCGGGGGCTAAATCAGCATCCAGCGTAATGC
+CGCCAATACGTTCACGATGCAGCTCAACCACATGGTTACCCACGGCGGCGAACATGCGTTTCACCTGATG
+ATAACGCCCTTCGCTGATGGTCAGACGAACCTGCGTTGGGGTAATCACTTCCAGCACCGCCGGCTTAGTG
+AGATCTTTTTCGTTATGCAGCTGCACGCCTTTAGCAAATTGCTCTGCCGTATCGTCAGCTACGGGTGATT
+CCAGCGTCACCAGATAGGTCTTCTCGCAATGATGGCGCGGGGAAGTAATGCGGTGCGACCACTGACCATC
+ATCTGTCATTAGTACCAGACCGGTGGTATCGATATCCAGACGCCCTGCAGCGTGCAGTTTCCACGCTACC
+GGTTCATCAAGAAAATAGAGCACCGTTGGGTGATCCGGGTCGTCCGTGGAGCAAACATAGCCCTGAGGCT
+TATTGAGCATGAAGTAACGTGGACCGTGTTGCTGCGCCAGCGGGTTGCCATCGTAAGCGACATCATGTTC
+AGGGAGCAGTTTGAACGCTGCATTACGGACGATTTCGCCATCGACGGTGACACGATTGCCGCGGATTTCA
+CGCCCGGCAATAGCACGGCTAACGCCGAGTTGCTGTGCGATAAATTTATCAAGTCGCATGTGTGTGATTT
+TGCCTGTAAAAAACGGAGGTCGGGTAATGACCCGAAAATCTGAACTGTTGTCTGCCCAGTATAGCGGTCT
+AATAACTTCCCTCAAGGGAAAAAGATCCGTGGCATACTATTAGCAGAATAATCTACCTACGCGAGACCAT
+GATTTTTACACTCCGCCCATATCAGCAAGAAGCCGTGGATGCCACGCTCAACCATTTTCGTCGTCATAAA
+ACCCCTGCCGTAATCGTGCTGCCCACCGGTGCAGGTAAAAGCCTGGTGATAGCGGAACTGGCGCGGCTGG
+CGCGTGGTCGCGTGCTGGTGCTGGCACACGTTAAAGAACTGGTGGCGCAAAACCATGCAAAATATCAGGC
+GCTGGGGCTGGAAGCCGATATTTTTGCCGCCGGGCTAAAGCGCAAAGAGAGCCACGGTAAAGTGGTATTT
+GGCAGCGTGCAGTCGGTCGCCCGTAATCTTGATGCCTTTCAGGGTGAATTTTCGCTGTTGATTGTCGATG
+AATGCCACCGTATTGGTGACGATGAAGAGAGCCAGTATCAGCAAATCCTCACTCACCTGACAAAAGTGAA
+TCCCCACTTACGCCTGCTGGGGCTGACTGCCACGCCTTTTCGACTGGGCAAAGGCTGGATTTATCAGTTC
+CATTATCACGGCATGGTACGCGGCGATGAGAAAGCCCTTTTCCGTGACTGCATTTATGAGCTGCCGCTGC
+GTTATATGATTAAACACGGCTATCTGACGCCGCCAGAACGGCTGGATATGCCAGTAGTGCAATACGATTT
+CAGCCGCTTGCAGGCACAGAGTAACGGACTGTTCAGCGAAGCCGATCTCAACCGCGAGCTGAAAAAACAG
+CAACGCATTACGCCACACATCATCAGCCAGATTATGGAGTTTGCTGCAACGCGCAAAGGGGTGATGATTT
+TCGCCGCGACGGTCGAACACGCAAAAGAGATTGTGGGATTACTGCCTGCCGAAGATGCAGCACTGATTAC
+TGGCGACACACCCGGCGCTGAGCGCGATGTGTTAATTGATGATTTTAAAGCCCAGCGTTTTCGCTATCTG
+GTCAACGTCGCGGTACTGACCACCGGATTTGACGCCCCGCACGTCGATCTTATCGCCATTCTGCGCCCTA
+CCGAATCAGTGAGTCTTTACCAACAAATTGTCGGGCGCGGTCTGCGCCTGGCCCCCGGCAAGACTGATTG
+CTTAATTCTTGATTATGCGGGTAACCCTCACGATCTCTACGCGCCGGAAGTTGGTACACCGAAAGGCAAA
+AGTGACAACGTTCCGGTACAGGTTTTCTGCCCTGCCTGCGGTTTTGCCAACACCTTTTGGGGGAAAACGA
+CCGCCGACGGGACATTGATTGAACACTTTGGTCGTCGCTGTCAGGGATGGTTTGAAGATGACGACGGACA
+TCGCGAACAGTGTGACTTCCGTTTCCGCTTTAAAAATTGCCCGCAATGTAACGCAGAAAATGATATTGCC
+GCCCGCCGTTGCCGCGAGTGTGACACCATTCTGGTTGACCCGGATGATATGTTAAAAGCGGCGCTACGAC
+TGAAAGACGCGCTGGTATTACGCTGTAGCGGCATGTCTTTGCAGCATGGGCACGACGAAAAAGGCGAATG
+GTTGAAAATCACCTATTACGATGAAGACGGCGCGGATGTGAGTGAGCGTTTCCGTCTGCAAACGCCCGCC
+CAGCGAACTGCCTTCGAGCAACTTTTTATCCGCCCGCATACGCGCACACCGGGCATCCCGCTGCGCTGGA
+TCACCGCCGCCGATATCCTCGCCCAGCAAGCCTTATTGCGACACCCGGATTTTGTCGTCGCCCGCATGAA
+AGGCCAGTACTGGCAAGTGCGTGAAAAAGTGTTCGATTACGAAGGTCGTTTTCGTCGGGCGCACGAATTA
+CGCGGTTAATGGTAGTTTTGATTGATGTATAAGGCGATTGAGTATAGAATCTCGCCCGCTTTTGCATACG
+CAAAGCAGATCACTTACCTGTTGCTGGGTCGCCTGTAGCAGGATTAATTTAAGAGAGAAAGAAATGTTTA
+CTATCAACGCAGAAGTACGTAAAGAGCAGGGTAAGGGTGCGAGCCGCCGCCTGCGTGCCGCTAACAAGTT
+CCCGGCAATCATCTACGGTGGCAAAGAAGCGCCGCTGGCTGTCGAACTGGATCACGACAAAGTCATGAAC
+ATGCAAGTTAAAGCTGAATTCTACAGCGAAGTTCTGACCATCGTTGTTGACGGTAAAGAAATCAAAGTTA
+AAGCCCAGGACGTACAGCGTCACCCGTACAAACCGAAGCTGCTGCACATCGACTTCGTTCGCGCTTAATT
+GCTGAATAAGTTGTAAAAAACCCCGCTCCGGCGGGGTTTTTTGTCTCTGCAAATTATGCCTGATTACGGT
+ATTGCTATTTTTTGCAGGCCAGATAAGGCGTTCACGCCGCATCTGGCATTCAGAACACAAAACCGATTAA
+TTGCCGCCAGACGTCCGGCGCTGCAATTGATCGCGCAAGTTCGGCGGCGTGCCTTTAATGGTCAGGGTAT
+CGGTTGCTGGATCCCAGAAGATGCGTTCACCTAACAGCATCGCATCAAAGTTAATAGTCAAGCCACCGCC
+GCTACCGGCAAACTTCGTCAACTGACGCAGTGTGCTACGGTCTGCCGGGAAGCTCTCTTCCAGTTCGTAG
+CCTTTTTCAGCCGCAAACTCCGTGAAGCTCACTTCGCTGACGCCTGCCAGCTCTTTCGACAGCGATTCCA
+GTTCAATCTCTTCACCTGCCTGCAGCTGCTCATTACAGTAGCTATAAACCTGCTGGCGCACGTTCTGTCG
+CTCTGCTTTATCCAGTTGTGCTTCGGCAGTGAAATCATCGACCGCTTGCAACAGCCCACGGTTTTGCGCT
+TTCGCGTTTAACCCTTCGCTGGCACCGAGGAAATCCATAAAGAAATCCGCCACTTTGCGCCCTACTCGCC
+CTTTCAGGAAAGTGAGATAGCGGGTCGACTCTGGATTGGTTTCCCACTCGGTTAAATCGATACGCGCAAC
+AATATCCGCATGATTGATATCAAGATAATGGGTTGGGTTGATGTCGAGATTTTCGTTAACACGCATACTG
+CTCAGGTTGCTCAGAACTGCCACCAGCAGATACTCCACCGCCAGATAGCGATAGTGGCAAAACAGCACGA
+ATCCACCGTCAGCAAAAGGATATTTCGCTAATTCGTCACGCAGGCGACCGGTTGCCGCGCGGCTAAATGC
+CAGAAAGTCCTCTTCGCCCTGACGCTGTAAGCGCAGCGTCTGCGCCAGTTCACTCTCTTCGCTAAACAAG
+CCGTAAGCTTTATTTTTGGCGCTATAGACCCGATGCAGTTCTGCCACCATCTCAACGACGGTTTCCGTCG
+GTTCCAGCAATGAATCGCGCAACACCAGCTCAAGGTTCTGCTCATCACGCTTGATAAGCTGGTGCAGAGC
+AATCTGGTTGATATCCAGACTCATGATAAACTCTCCTTTAAGACCGGGCGGTATTCAACCACCGCCGGTT
+AAGCGACGCAATAAAAGATGGCGGTCATTTTACAGAAGGCGGCGTAACGAGAATGATTTAACGCATAAAA
+AAGCAGAAAAAAAACCGTTGCTACGGTAATATGTTGCCCTTTCATCAACTAACTGATTTCGATTTATGCC
+ACAAATTTCCCGCTACAGTGATGAACAGGTTGAACAATTGCTCGCAGAGCTGCTCAACATACTGGAAAAA
+CATAAGGCTCCGACCGACCTTTCCCTGATGGTGTTAGGCAACATGGTCACTAACCTTATCAACACCAGCA
+TTGCCCCGGCCCAACGCCAGGCAATTGCCAACTCTTTTGCCCGCGCCTTACAGTCCTCTATCAACGAAGA
+CAAAGCGCACTAAGGGAAACAGATAACAGGTTATGGTAACTCATCGTCAGCGCTACCGTGAAAAAGTCTC
+CCAGATGGTCAGTTGGGGGCACTGGTTTGCACTGTTCAATATTCTGCTTTCGCTCGTCATTGGCAGCCGT
+TACCTGTTTATCGCCGACTGGCCGACAACGCTTGCTGGTCGCATTTATTCCTACGTAAGCATTATCGGTC
+ATTTCAGTTTCCTGGTGTTCGCCACCTACTTGCTGATCCTCTTCCCGCTTACCTTTATCGTCGGCTCCCA
+GAGGCTGATGAGGTTTTTGTCCGTCATTCTGGCAACGGCGGGAATGACGCTATTACTGATCGATAGCGAA
+GTCTTTACTCGTTTCCATCTCCATCTTAATCCCATCGTCTGGCAGCTGGTTATCAACCCAGACGAAAATG
+AGATGGCGCGCGACTGGCAGCTGATGTTCATCAGCGTGCCGGTTATTTTATTGCTTGAACTGGTGTTTGC
+GACGTGGAGCTGGCAAAAGCTGCGCAGCCTGACGCGTCGTCGGCGCTTCGCGCGCCCGCTGGCCGCATTC
+TTATTTATCGCCTTTATCGCCTCGCATGTGGTTTATATCTGGGCCGATGCCAACTTCTATCGCCCGATCA
+CCATGCAGCGCGCTAACCTGCCGCTTTCGTACCCGATGACGGCACGACGTTTTCTTGAGAAGCATGGCCT
+GCTTGATGCGCAGGAGTATCAACGCCGTCTTATTGAGCAAGGCAATCCAGACGCCGTTTCCGTTCAGTAT
+CCGTTAAGCGAACTGCGCTATCGCGATATGGGCACCGGGCAGAATGTGCTGTTGATTACTGTCGATGGCC
+TGAACTACTCACGCTTCGAGAAGCAGATGCCTGCGCTGGCAGGTTTTGCTGAGCAAAATATTTCGTTCAC
+GCGCCATATGAGCTCCGGCAACACTACAGACAACGGCATCTTTGGCCTGTTTTATGGCATCTCGCCAAGC
+TATATGGACGGCATTTTGTCGACCCGTACGCCTGCGGCGTTAATTACTGCGCTTAATCAGCAAGGCTATC
+AGCTGGGGTTATTCTCGTCAGATGGCTTTACCAGCCCGCTGTATCGCCAGGCATTGTTGTCAGATTTCTC
+GATGCCGAGTGTACGCACCCAATCCGACGAACAGACCGCCACGCAGTGGATCAACTGGCTGGGCCGCTAC
+GCACAAGAAGATAACCGCTGGTTCTCGTGGGTCTCTTTCAATGGCACAAACATTGACGACAGCAATCAGC
+AGGCATTTGCACGGAAATATAGCCGGGCAGCAGGCAATGTCGATGACCAGATCAACCGCGTGCTCAATGC
+ACTGCGTGATTCTGGCAAACTGGACAATACGGTGGTGATTATCACTGCCGGGCGGGGTATTCCGCTGAGC
+GAAGAGGAAGAAACCTTTGACTGGTCCCACGGTCATCTGCAGGTGCCATTAGTGATTCACTGGCCAGGCA
+CGCCGGCGCAGCGTATTAATGCGCTGACTGATCATACCGATCTGATGACGACGCTGATGCAACGCCTGCT
+ACATGTCAGCACACCTGCCAGCGAATATTCGCAAGGTCAGGATTTGTTCAACCCTCAACGCCGCCATTAC
+TGGGTTACCGCCGCGGATAACGATACGCTGGCAATTACCACCCCGAAAAAGACACTGGTGCTGAACAATA
+ACGGTAAATACCGCACTTACAACTTACGTGGTGAAAGAGTGAAAGATGAAAAACCACAGTTAAGTTTGTT
+ATTGCAAGTACTGACAGACGAGAAGCGTTTTATCGCTAACTGATTAATTATAAATCAGTTAGCAAAATAT
+CTTACTTGCAATCGGTGTGGAAAACGGTAGTATTAGCAGCCACGAGTCGGCACGTAGCGCAGCCTGGTAG
+CGCACCGTCATGGGGTGTCGGGGGTCGGAGGTTCAAATCCTCTCGTGCCGACCAAAAATCCCAAGAAAAC
+CAACCTATTGCGGTTGGTTTTTTTATATCTGCATTTAATTCGATAAACAGACCGCGACACATCACGGCCT
+GTTTATTTTCTGTTATCAGAACGTCCAGACTACACCCGCCTGAGTTGTGCTGCTTTCTTCACAGGAGAAA
+CGACTATCGATACCGAGCGTCAGGCCCGTCAATGTTTGCTCAAAGCCAGCTCCCGCATCAGTGTTCACGC
+TGTTGCGGCTGTTAATTGCCGAACTCCACATCGCCGCCCTTTACGCTACCAAGACGCTCACGCACGGTGT
+CCAGTTCTGCATCAAATACCAGCGGTTGTGCTGCCGCCATATTCAGCACATCCGTGGTTGAAGGGGGCAT
+TTGTACGCGATTCTCTGCGAGACTCCAGCTATGGTTGCCATTATCCAGCAAGGTATATTCATACGTACTG
+ATATCAACAACGCCTCCGGCATTGCCCAACGTAAATGCCGCATCACCGCGCCCGTTGTTACCAGTGTAAG
+GTTATCTCCTGCTGCCGGGCTGGCACCGGTGTCCGTCACGAATATTTTGAAATCACCTGTTGCTTTAACC
+TCCAGTAGTCCTCCCTTTTCGATAACGGCAAAGACGGCAATCCCATCTTTTTCAACAATTAAGCGCCCTC
+CTTTAATCGTGGGATCAGTCGCCGCGCCATAAACCTGTAGCACTCCATTATTGATCGTAGTCTGGTTTAC
+CGCGCCACCCATTTGAACAATTTGATAACCATCATTTAATACTGAGTATTCTGCGGTGCCATTTATTTCA
+ATGTACTGATATCCCCCGTTAATTTCAGTATTACTACTTACACCAAATTCTTATATATGCTGTTCTCCGC
+CAGGATTGATTTTCGTATTATTGGCGGCCCCATAAACCAGCTGGATATCTTTTTCCAGGACAACACCATC
+AACTGTCTCACCATACTCAACAGTTGATGCCAATGCTATGGGTGAATATAACGCTGTAGCCACCAGAACA
+GATATTGCGGAACGACAAAGTTGTAGTTTTCACTACATGTCCATACATAAAATGGGGTAACATTCACGCG
+CCTGGTAGCGTTACCAACGCTACGCTCAAACATAATGATTCTAATAAAACCTCAGGAGACTACTATGCCT
+GAAGCAACGCCTTTTCAGGTGATGATTGTGGATGATCATCCACTTATGCGACGCGGTGTTCGTCAGTTAC
+TGGAGCTTGATTCTGGCTTTGAAGTGGTCGCCGAAGCGGGCGACGGCGCAAGCGCGATCGATCTGGCGAA
+TAGACTGGATATCGACGTGATCTTGCTGGATCTCAATATGAAAGGCATGAGTGGCCTGGATACCCTCAAT
+GCCTTGCGCAGGGATGGCGTTACCGCGCAAATTATTATCCTGACCGTATCAGATGCCTCCAGCGATGTCT
+TTGCACTGATAGACGCAGGCGCAGACGGTTATCTGTTGAAAGACAGCGACCCGGAAGTGTTACTGGAAGC
+GATTCGTGCCGGAGCGAAAGGCAGCAAAGTCTTTAGCGAACGCGTCAATCAGTACTTACGTGAACGTGAA
+ATGTTTGGCGCGGAAGAAGACCCCTTCAGCGTGCTGACAGAACGCGAGCTGGATGTTCTGCACGAGCTGG
+CACAGGGGCTGTCAAATAAACAGATTGCCTCGGTGTTGAATATTTCCGAGCAGACAGTAAAAGTCCATAT
+TCGCAATCTGCTGCGTAAACTCAACGTCCGCTCACGCGTGGCGGCCACCATTCTGTTCCTGCAACAACGC
+GGGGCACAATAAAAATAGCCCGATGGCATCACCATCGGGCCACTTTTTATTTACTCTCCTGCGGCGACAA
+ATGTTGCATCGCCTGCGCGATACTACGTTCGATCACCGCACGGCGAGTATCGTTGGCAGGTAAGAGTTTC
+AACATCATCTCCCACGCGGCAACGGCTTCGCCAAATCGTTGCTGCTCAAAGGCATTAAATGCATACATGC
+TTAACACACGGATATTGCTATGGTCCGTTCTCACCAACTGGCGCAGCAGTTCGCCGCCGAGGCGGTTGTC
+GTTGGGATCAGATGAACGTGTCAACACTTCAGCGTATCCCAGTGCAGCATCGCTGTTTTTCGGATCGAGG
+CGATACGCAGTGGCGTATGCATCGGTGGCGATACTGGCGTTACCCAGCGCCATGCCAACGCGGCCCAACA
+TAATCCAGCCTTCTATATCTCCCGGATTTTTTTGCAGTTGAGTACGCATCCCCAGCGCAAGGCGCGACAT
+CTCTTCTTCGTTGAGCGGATCGGCTTTCGGATCCAGCGCCCTGTCCAGTAACGCCGGAGCCTGTGCCGTG
+GCCTGCTGCCAGATTTTCACCTGCTGATAATTGCCAGTCTGGTAGTAGCTGACGCCAGCCACAATTAACG
+CCACCACAATACCCGGCAGATAAACAACATATCCGGCACGCTTACCTTCCGGCACGCTTTGTTCTGGAAA
+TGCTTCCGGCACCACGCGTACCCGACGCCGCGAACGGGCGTATATGACCCAACCGCCAATGCCAATAGCC
+ACTACTGGCAGCACCCACAGCAGCACGGTCAGCGGCGTTAACGGCGGATCGTAAGTGACGAAGTTGCCGT
+AACGCGCCACCATATAATCGACAATCTCTTTCTTACTTTTGCCTTCCTGCATCAGTTCATACACTTTCTG
+GCGCAGGTCGGTGGCAATCATCGAGTTGGAATCGGCAATGCTGTTGTTCTGGCATTTCGGGCAGCGCAGT
+TCTTCAGTGAGCTGACGGAACTGTTGTTCCTGTGCTTCATCTTTAAACTGCAACACGTCGATGGTCGCCA
+GCGCTGAGCCGGAGATCATCAGCATCAGCACGCCCAATAAAAACCTCATTGTGCGGCCTCCTTACTGTAT
+TTCTCCCACAGTGGCTTGATCTCTTCTTCCCAGACGCGAGGATTGAGATCGCCCGCATGGCGATAGCGAA
+TGATGCCGTTGCCGTCATAAGGAACGTTTCTGGCGCGCCATAGACACCGAGATCCAGCCCTAACATGCCG
+TCGCCATCAAACAGGCTTAGCGCGTAAGGATTGCCCAGCTCTTTCAGCCAGCTGATTGCCTTCTGGCGAT
+CGTCTTTATAGTTCATGCCGACCACGCGGATGCCCTGCGCAGAAAGCTGATTCAGATATTGATGTTCCGC
+ACGGCAGGTCGGACACCAGGTCGCCCAGACGTTAAGCAGCACCGGTTTGCCCTGAGTCAGCACATCCGCC
+TGATAAAACTGCCCCGGATTGTCCAGTGATTCGAGGCGAAACTTCGGCACTGGCTTGCCAATGAGCGCCG
+ATTCCAGATTGGTCGGATCATCCCCTTCGGCATTACGCGCCAGCTGCCACAGCAGCGCCGCGGCAATCGC
+CAGGAAGATAATCAACGGAATTAACAATACCTTGCGCTTCATGCAGCCTCCGGCGCAGTTTTCTGCGGGT
+TCACGCGCTTACGATAGCGAGGATCAAACAGACACAGCAGTCCGCCCAACGCCATCATCAGCCCGCCCGC
+CCAAATCCAGCGAACAAATGGTTTGTAGTAAAGACGCACGGCCCACGCGCCGTTTTCCAGCTCTTCACCG
+AGCGCCGCGTACAGGTCACGCGTGATGCCACCGTCAATCGCCGCTTCGGTCATCATCGACCCGGCAGTGT
+TGTAATAACGTTTTTCTGCATACAGCACTGTTTCCGGCTTGCCATCTCGCGTTACGCCGATAGTCGCCAC
+ACCGCCACGCCAGTTCGGACCAGTCACCTCTTTGACATCACGGAAGGTGAAGCGATATTCATGAATATCG
+ACGCTATCGCCGGACTTCATGCGCACATCACGCTCAACGCTATAGTTCTGACTAAAAGCAATGCCAACAA
+TTGTCACTGCCAGCCCCAGGTGAGCCGCCACCATCCCCCAATAACTGAAGGTGGTTTTCGTGCCGCGTGA
+AATACGCAGCGCAGCTTCCGCAATTGCCAGCACCGCAATCCAGCAGGCCATTGCCAGGCCGAGCACCGTC
+ATCGCCACAACTTTGCTTTCGAACAGCCACGGCAACAGCAGCGACAGCACCAGCGTAGAGATGAAGGCGA
+TAATCAACAAATTGCGGATTTTACGTGGGCGATCGCGTCCCCAGCGCACCAGAGGGCCGACACCAAGCAG
+TAGCGCAAACGGCACCATCAGCCAGGTAAACATGGTGTTGAAGAACGGTTCGCCAATCGAAATACTGCCC
+AGTCCCAGTTGCTTGTGCACCAGCGGCAGCAACGTCCCCAGCAACACCACCAGCATCGCGGCGACCAGCA
+AAACGTTGTTCGCTAACAGCAAAGATTCCCGCGACCACAGCGCATTGTTTACGCGTGAGCGAACTTTGTG
+TCCACGCGCGGCAAACAGCAGCAGCGAACCGCCAATCACCAGCACCATAAAGGCGAGGATAAACATACCG
+CGCGCCGGATCAGACGCAAACGCGTGTACCGATACCAGCACGCCGGAACGCACCAGGAAAGTCCCCAGCA
+GACACAACGAGAAGGCACTGATTGCCAGCAGTAATGTCCACGCTTTGAAGCTGGCGCGTTGTTCAGTGAC
+CGCCAGTGAGTGCATCAGCGCAGTCCCCACCAGCCACGGCATAAACGAGGCGTTTTCTACCGGATCCCAG
+AACCACCAGCCGCCCCAGCCGAGTTCGTAATAGGCCCATGCGGAACCGAGCACAATGCCGAGCGTCAGGA
+AGATCCACGCAGCCAGCGTCCACGGACGAGTAAAACGCGCATAAGTGCTGTCCAGACGCCCACTCAACAA
+AGATGCAATGGCAAAAGCAAACGCCACCGAGAAACCGACGTACCCCATATAGAGCAGAGGCGGGTGGAAA
+ATTAGCCCCGGATCCTGCAACAGTGGGTTAAGATCGCGCCCTTCAATCGGGAAATTCGGCAGCGTGCGTG
+AGAACGGGTTAGAGGTAAAGAGAATGAACAGCAAAAAGCCGACACTGACCATCCCCATTATCGCCAGTAC
+GCGGGCAACAATATCCAGCGGAATACGCTGACTAAAAATCGCTACCGCAAAGGTCCAGCCGCTCATCAGT
+AGCACCCACAGCAGGAGCGAGCCTTCATGCGCGCCCCAGGTAGCCGCCACGCGATACCACACCGGAAGCT
+GGGTATTGGAGTTGCTGGCAACATAGGTGACGGTAAAGTCGTTGACCACGAAAGCATTGACCAGCACCAG
+AAATGCGCCAGCCACAGACATAAACAGCAGCCAGGCAAACAAGCGGGAAGACGCCATCATGCGCGCATCT
+CCGCGCGCTACGCCCCATAGCGGATACACGGACAGCAGCAGCGCAATTCCTAGCGCCAGACACAGCAGCC
+CGTTACCAATTTCCGGCATCATGATGCTGGGTCCTTATAAACACTCGCCGGGCGACGGTGGTTAGCTTCC
+ATCGCTTTCTCAACTTCTGGTGGCGTGTAGTTTTCGTCGTGTTTCGCCAGCACTTCTTTCGCGAGGATAT
+GATTGCCTTTTTCCAGTTCGCCCTGCACCACAACGCCCTGCCCTTCACGGAACAGATCCGGCAAAATGCC
+TTCGTAAGAGACATCTACTGAACCTTCAGCGTCGTAAATGGTGAACGTTACTTTTAGCGAATTCGGATCG
+CGCTGCACGCTACCCGGCATTACCATCCCGCCAACGCGCAGACGCTGACCGACTTCCGGCATCTGTTGAG
+TTTCACGCTTGCCGTAGAGAATTTCCCCCGGCGTATAAAAAAGATCGATATTCGAGCGCAGCGCATACAA
+CACCAGGCCGATAGTCAGCGCCAGCCCCGCCAGCACGGCACAGGCAATCCACAAGCGGTTTTTACGGCGA
+ATATTCATGCAGCCTCCTGCTGTTGCGCAGCACGTAAACGCGCCTCACGCGCCCGCTGTTGCGCCACGCC
+ACGCAGAATTGCGCGATGCTGCATCACCGAGTGCACGACCAAAACCACCAGCGGAATAACGGTCATCACC
+ACCGCCAGCCAGACAAAAAAGGCGTAACCGCCCATTGCGAAAAATTCATTCCAGGAAGCAAATGCAGGGG
+TCATTTACGGCCTCTTTTTAGTATCAGTTCACTCACCCACGGACGGCGTTTTTCCATCAGCAAAATCAAA
+TTACGCATCCGCATCAGCGTCAGCGTGGCAGACAGCAGCAGGAAACCAAAAATCGACCAGCGCAGCGGCG
+AACGCATCGCCGGATCAATACTTTGCTGCATCCGCGTTGATCCCTTGATGCAGGGTGTTCCACCACTCCA
+CGGAGTAATGAATAATCGGCAGGTTCACCACGCCAATCAGCACCAGGATACCTGCCGCACGGCCAGCCAG
+ACGACGGTCGTCGAAGGCGTGCCACAGGGCAATGACACCAACATACAGAAACAGCAGCACCAGTTCAGAA
+GTCAGACGTGCATCCCATACCCACCAGGTGCCCCACATCGGTTTTCCCCATGCAGAGCCGGTAACCAGGG
+CAATAAAGGTAAACACGGCACCAATGGGGGCCATCGCCGCCACCGCCAGGTTGGCCATTTTCATCTGCCA
+GACCAGGCCAATAAACGCTGCCACCGCCATTGATGCATAAATGCCCATCGACCAGATCGCCGCAGGCACA
+TGCAGGTAGATAATGCGGTAGCTATTTCCCTGCTGATAATCAGCCGGAGCAAAGCCGAACCCCCAGATCC
+AGCCGACGGTAAGCACGACCACACTGGCAATTGCCAGCCACGGTATAAACCAGCCACAGATTTGATACAG
+CCGTGGTGGGATCGCCAGTTGATGCAGTGTTTTCCACATAGTTTCGATACCAGACTCGAACAAAAATCAG
+TAATCCAGCGTTATTGAATGCTGATTCGTAACGCTGCCGCCGTCGCAAAAGGACTTAATGTCGCGGTGCC
+TGCCAGCAACGCGCCTAAAATTGCCAGATACCCGTCAACGGGCAAATGCATGGAAGCCGCGTCCATCGCG
+GCGGTGGCAAAGATGAGTAATGGGATAGTCAGCGGTAACACCAGTATGCTGATCAGCACACCACCGCGCT
+TAAGTCCCACTGTCAGCGCCACGCCCGGTGCACCGAGAAAGCCAAGCGTAGGCGTTCCCAGCAGCAGCGT
+CAGCGCCATCACTTGCCAGCCATAAACATCCATTCCCAGTAGCATTGCTACCAGTGGCGAAAGGATGAGT
+AACGGCAGACCGGTTACCATCCAGTGCGCCATCACCTTCGCCAGCACAACGGCGGGCAAGGGTAACGGCA
+ACAACATCAATTGTTCAAGACTGCCGTCCTGCAAATCGTCACGGAACAGACGCTCCAGTGCCAGCAAGGA
+TGAAAGCAGTGCGGCAACCCAGATAACGCCCGGTGCAATACGCGCCAGCAGTTGCGGCTCTGGACCGATA
+CTGAGCGGAAAAAGGGTAATTACAATCAGGAAGAACCACAGCGGGTTGGCGATTTCGGCGCTGTGGCGAA
+ACGCCACGCGCAGCTCAAGACGGAAAATGCGCCAGAACATCATGCGGCCCTCGTTTGCGTCAGTGAAATG
+CGGCGAATTTTACTTTCAGCAACGTTGAGCGGCTGGTGGGTAGTCAGAATCACAATCCCCCCCTGCTCCG
+TATGCTGCGCCATACGCTGGGTCAGACGATCGACGCCGTTAACGTCAATCGCGGTAAAAGGCTCGTCGAG
+GATCCATAACGTGGCACGGGTCAGCCACAGACGCGCTAAAGCGACGCGGCGTTGTTGCCCGGCAGAAAGT
+TGATTTACCGGAATATCTTCGAATCCGGCAAGCCCGGCCTGCGCCAGGGCTTCCAGACATTGTGCGGTAT
+CGCCATCGCGATGATAAAAGTGCAGATTTTCTAACGCCGTCAGCCGGGTTTTGATCCCCGGCTGATGGCC
+TATCCATAACAGGTTTTGATGGTAGCTGTCGCGTACCTGATGCAAGGGCTGCCCTTGCCAGAGAACCTCG
+CCTGCATCAGGGCGAGACAACCCCGTCAGCAAACGGAGAAGCGTTGTCTTCCCCGCGCCGTTGCTACCGG
+TGATTTGTACCCACTCTCCTGCGTTCAGCGTAAATGATAAACCACTAAATAAGGTTCGTTCATCCCGCTC
+GCAAAGTAACTCTCTGGCTTCAAGCATACCCACGCAATAACCCTGTTAAAAACCTGGCTCGACTTCACGC
+ATGTCGGGCAGCTTGTGCGCTATCCCTTTATGGCAATCAATACAGGTTTGCCCATCTTTCACCGCCTGGT
+CATGCATCTTCGCGGCAACCGATTTCTGGGCGGTTGTATCCATATACTCGAAGTTGTGACAGTTACGGCA
+CTCCTGCGAGTTGTTGTCCTTCATGCGCCGCCACTCATTCTGTGCCATCGTCAGGCGATGAGCTTCAAAT
+TTCTGCGGCGTGTCAATAACGCCAAAAATTTTACCATACAGCTCTTTACTTGCTTTGAGCTTGCGTATCA
+TCTTTGGCACAAACTCGTGCGGAACGTGACAATCCGGACAGGTCGCACGGACGCCGCTACGGTTGTTGTA
+GTGCACGGAATCCATGTATTCCTGATACACCGTGTTACGCATTTCGTGGCAGCTAATGCAGAACTCTTCG
+GTATTGGCTTTTTCCATCCCGGTGTTAAAGCCGCCCCAGAAGACGATGCCGCCGACAAAACCGATCAACA
+GCAGCGTCCCTAGCGCCAGACGGCTGGGGGTACGCCACCATTTCCACAGGCGCTTAATCAGACCAGGCTT
+ACGGTCAGAATTTCCCATAATAACCTCTTATTTCCCGTAACCTTTTGATGGGGTAAAGGTATTCCCCACG
+ATTGGCGCGGTATCAGCCTGCGGTACGTGACATTGCAGACAGAAATAACGACGCGGAGCCACTTCCGCGC
+CCACTTTGCCGTCGCTGTCCATAAAGTGAGTAGGACTAATGCGCGGCGCGCCAGTGGTGCGATAACTTTC
+GACACCGTGGCACTGCAAGCAGCGGTTGGTATTGGTCGTTACCTGATAACCTTCAACGCTATGCGGGATC
+ATTGGCGGCTGATTCACATAGTTCAGCGGCATCCGATCCTGCTCTTTTGGCATCCGAATGGCCCCTTCCT
+GCGTCCCGGATACTTCCGGCGACTGGCTAAAATCGACGCCATTAGCCGCCCAAACCGCGCCGCTTACCAC
+CAGGGCCAGCATCGCCGTCCATTGACACAGCGCTTTCTTCAGGTCATGGCTTTTCATGATTTCGCTCCCG
+AACTCCATCGTGTAGTTATTGTAAATACATCCTCAGAACAGACATCCACGCAGCGACCGCACGTCATGCA
+ATCGCGGCTGGTGACCTGCACCGGGCTTTGTTCATCCAGCACCGGGGCACGTAGCACATGCGGTTCCGGG
+CAAACATGAAAACAATCCATACAGCGGTTACATTTCTGCCGATCGGTGGCCGCAACGGTAATCACACCTT
+TGCTACCCAGCACACCATACAGCGCGCCAACCGGACAAATGTGCCCGCACCAGCCGTGTTCAACGACCAG
+TAGATCAAATAAAAACAGCGCGAGAATAAGCAGCGCGCCGCTGCCGAATCCCATTACCAGACTGCGCCCC
+ATCAGGGACACGGGGTTGATCCATTCCCAGATGAGCGTGCCAGTTAAGGCCGATCCCACCAGAATGACCA
+CCAACAGCACGTAGCGAATATGGCGAGGGATCGTCGCAGACTGATTGAGGTCAAATCGTCTGCGTAACCA
+ATTTGCTAAGTCGGTAATCGGGTTCAGCGGACAGACCCAGCTGCAAAATAATCGCTTTCCTGCCAGGGCG
+TAGAGCACGGTGATAATCACCGCACCGGTCAACGCCACCGTGGCAGGCAGATGACCGCTGGCAAGACTTT
+GCAGTGTCATCAGCGGATCGGTCAGTGGAACGGTGTCGAATAACAGGCTACTGCTGTAGTTGCCGTGCAA
+GATCCACACACCAAACCACGGACCGCTCAAAAACATCCCCAGCACGAAGAACTGACAAAGGCGACGTAAC
+ACTAACCAACGGTGACTGCGCCACCAGCCTTTTTTCTCCAGCGCCTCGCGCCCGGCGTCACGTTTACGAT
+TTGCCATTGTTCCCCTCCAGCCAGCCGAAGCGGTAATGGTGACCTAACTCCCCTTTCGCCAGTGACAGCG
+GTAACACCTTGATTGCCGGTTGTTCCAGCACGCACACTTTTTCGCACTTACCGCAGCCGGTACAGGCGTC
+GCTGTGAACCGTCGGCAGAAAGCGGGCGTGCTTACCGGTACGTGTGTTGCGCTCCAGTTCCAGGGTGATG
+GCCTCATCAATTTTCGGGCATTCGCGATAACAAACATCGCAGCGCAGCCCCTGAAAGTTGAGACAGTTTT
+CCTGGTCCACCAGCACCGCCAGCCCCATCCGCGCGTCGTCGATCGATTCGATCTCACGATCCAGCGCACC
+GCTCGGGCACACTTTGGCGCACGGAATGTCCTCACACATTTCGCAAGGAATATCCCGTGCGACAAAATAT
+GGCGTGCCCGCCGACAGACCAGAGGCCAGCGTCGCCAGTTTTAAGGTGTCGTAAGGGCACGCCTGAACAC
+ACTGACCGCAACGCACACAGGCACTGGCAAAGGCGTTCTCGTTTATGGCTCCGGGCGGGCGCAACCGCAC
+GCCAGATGCGCGTGCGGTTTGCTGTTGTAACCCCAGCGCCACACCCACGGCAGCCAGCCCGCCTGCTGTG
+CGAACGACATCGCGCAGAAAGCGGCGGCGACCATTTTGAGGTTTCGCTGACCGGGACATAATGGCTTACA
+CCTTCTCCAGTTTGACCGCGCACTTCTTGAAGTCCGTCTCTTTCGAGAGCGGATCGGTCGCATCCAGCGT
+CAGTTTGTTAACCAGCTGTGCGGCGTCGAAGAACGGCATGTATACCAGGCCCTGCGGCGGACGGTTACGA
+CCGCGCGTTTCGACAATCGAGATCACTTCGCCACGGCGAGAAACCACTTTCACTTTGTCGCCACGACGCA
+GATCGCGCGCTTTCGCATCCAGCGGGTGAATAAACAGGACCGCTTCCGGGAAGGCGCGGTGCAGTTCCGG
+TACACGGCGAGTCATACTGCCGGTGTGCCAGTGCTCCAGGACGCGTCCGGTAGAGAGCCACAGGTCGTAC
+TCTTCATCCGGTGCCTCCGCCGCCGGTTCGAACGGCAGCGCGAAGATCACCGCTTTGCCATCCGGTTTAC
+CGTAGAACTTGTAGCCTTCGCCCGCTTTCACGTACGGGTCGTTACCTTCGCTGTAACGCCACTGCGTTTC
+TTTACCGTTCACCACCGGCCAGCGCAGACCGCGCGCTTTGTGGTAGTCATCGAACGGTGCCAGATCGTGA
+CCGTGACCGCGACCAAACCATGCGTACTCTTCGAACAGCCCTTTTTGCAGATAGAAGCCCAGCTCGCGGG
+ATTCATCGTTCAGCTGATCTTCCGCCAGTTCGGATAGCGGGAATTTGCTCACTTCCGGGGTGGCATACAG
+AACTTCGTACAGCGTTTTGCCACGCAGTTCCGGTTTCTTCGCCAGCAGCTCTTCCGGCCATACTTCTTCA
+GTTTTGAAGCGGCGGGAGAACTGGACTAACTGCCAGAGATCCGATTTCGCTTCGCCCGGTGCCTGTACCT
+GCTGACGCCAGAATTGAGTACGGCGTTCTGCGTTACCGTAAGCCCCCTCTTTCTCTACCCACATTGCGGT
+CGGCAGGATCAAGTCCGCTGCCAGCGCACTGACTGTCGGATACGGATCGGAAACGATGATAAAGTTGCGC
+GGATCGCGCCAGCCTGGCATACGCTCTTCATTAATGTTCGGCCCGGCCTGCATGTTGTTGGTACACATGG
+TCCAGTAAACATTCAGCTTGCCGTCTTTCAGCGCACGGTCTTGTGCCACCGCGTGCAGACCGATTTTCGC
+CGGAATGGTGCCACTCGGGATATTCCACTTCTTCTCGCAAATATCACGATGTTTCTCGTTAGTCACCACC
+ATGTCCGCAGGCAGACGGTGAGCAAAGGTGCCCACTTCACGCGCAGTACCACACGCGGAAGGCTGCCCGG
+TCAGGGAGAACGGACCGCAACCCGGCTGGGAAATTTTGCCGGTCAGCAGGTGCAGGTTGTAGACCAGGTT
+GTTGGCCCATACACCACGGGTATGCTGGTTGAAGCCCATCGTCCAGTAGGAGATGACTTTCTTGTTCGGA
+TCGGCATACAGCTGCGCCAGTTGTTCTAACTGGTCTTTCGGCACGCCGGTCATTTCGGCGGTTTTTTCCA
+GCGTATATTCAGCAACGAAGGCTTTGTAATCTTCAAAGCTCATTGGTTCGGAGGCGTCAGAACCCGGATT
+CTTCGCTGCTTTTTCCAGCGGATGGGTCGGACGTAAACCGTAGCCGATGTCCGTCGCTCCTTTGCGCAGG
+TTAACGTGTTTGCTGAAGAAGTCCTGATTTATCGCATTGTTTTGAATGATATAGTTGGCGATATAGTTCA
+GGATCACCAGGTCAGATTGCGGCGTAAAGATGATGCCGTTATCCGCCAGCTCGAAGCTACGATGCTGGTA
+GGTAGAAAGCACCGCCACGGTGACGTTCTGGTTAGAAAGACGACGGTTAGTGATGCGCGACCAGAGGATC
+GGGTGCATCTCCGCCATGTTTGCGCCCCACAGCACAAACGCGTCAGCCTGCTCGATGTCGTCGTAGCAGC
+CCATCGGCTCATCCATACCAAAGGTACGCATAAAGCCAACTACTGCCGACGCCATACAGTGACGCGCGTT
+CGGGTCGATGTTGTTCGAACGGAAGCCCGCTTTAAACAGCTTGGACGCGGCATAACCTTCCCAGATAGTC
+CACTGACCAGAACCGAACATACCGATCGATTCCGGCCCTTTTTCTTTCAGGGCGGTTTTGAATTTCTCTT
+CCATCACATCGAAGGCCTGATCCCAGGTGATTGGGGTAAATTCGCCTTCTTTGTCATATTTACCGTTTTT
+CATACGCAGCAGCGGCTGCGTCAAACGGTCTTTACCGTACATGATTTTGGGCAGGAAATAGCCCTTAATG
+CAGTTCAGGCCACGGTTAACCGGTGCGTCCGGGTCGCCCTGACAGGCCACCACACGCCCCTGCTGCGTTC
+CGACCAGAACGCCGCAACCCGTACCGCAGAAACGGCACGGCGCTTTATCCCATTTAATGGCTTCCTGCTG
+ACCAACAACGGCGCGGGCAACGCCCGGCACGCTGAGACCGGCAGCCGCCGCAGCGGCCGCAACGGCGTTA
+GCTTTCATAAAGCTACGACGACTGAGTTTCATGGTGTTTCCTCACCTTGCTCTTCCTGCTGGTGATAAAC
+CAGCGACACCGCCAGCACGCCCTCTACGTTGCGTACTGACTCAATGGTTTGGATCAGCGTTTCGCTGTCT
+TCTGCTTCCACCACCACAATCAACTGACCGCTCGGCGCGTCGCTGACAGCAACCTCACAGCCGGTAAAGG
+CGTTCAGTTGGGTGCTGATGTCTGAAATTCGTTCGCTTTTGGCCTGCACGACCAGGCTGCAAACTTGCCA
+GTTAGTGTGCATGGAGATACTCCGCAGTTATGGCTGATACCGGACAGCTGGCTGCACATGCTCCACATCC
+GTTGCAAAGTTGGCTATTAAGTTGCGGCTGGTAGATCCCGGAGAGCGTCGGGCGAAAGATAATTGCCATT
+GGCTCACAGCTATCCTGACAGCGGCGGCATTCAACTGACTGATACGCCAGGCACGCGTCCCCAATGGTGA
+ACTGCAAATCCCAGGCCCTGGTGTGGCGCGGAGAAAATAGCGATTCGGGGCAAGCCTGCGCGCAGGCGTA
+ACAGAAGCTGCACTCGTTATTTTTGAAATTAACGCTCGGATAGCCACCCGCGCCGCGTTGCAGAATGTTG
+TTTTCACAAGCATTAATACAGGCGTCGCAGCGGGTGCAATGGGTCAGAAAATGAGATTCATCACCGGACC
+AGGGCGGACGGATACCGTTACTGGCTTTGCGCCAGCGACCAGTGAGTATGCCCCGACGGGATGCATCAAT
+CTTCACATTGACCTTCCATCATTAACGCGCTCTGAAAATTGAGAGCGACCAAATAAACCGCATAATTAAT
+AAGCCATTTTTATAGCCGCTAAGATATTAAAGGATGTGTCAAAGATGCATACCCCGATCGGGGTAAAACC
+TGTAGCAGGATCAAAAGAGTGGCGGGAAGCGTGGCAAAAACGGGCTTTTGCTCACATTTCAAATGGTTAT
+AAACATATTTATATAGCGATTAATTCGCCAGAGATATTTCTGCTGGTTTGTTTTCTCATCAGAATTTAAC
+ACTAAAAGAGCAGGTAAAATTATCTGAATGTTCTTTAAGTTATTCATAAAGCAAATTAATAAATCTGATG
+AATATGTTAACCTTCAGCGACATCATCGGTGAAAACCTATAAATGAAGAAGGAAAGCAAAAAAATGAAGA
+CCATTCTACCTGCAGTATTGTTTGCCGCTTTCGCCACCACTTCCGCCTGGGCGGCAGAAAGCGTCCAGCC
+ACTGGAAAAAATCGCACCTTATCCACAAGCTGAAAAAGGCATGAAGCGTCAGGTGATTCAGTTAACTCCG
+CAAGAAGATGAATCTACCCTGAAAGTAGAACTGTTAATCGGTCAGACGCTGGAAGTCGACTGCAATTTGC
+ATCGTCTCGGCGGGAAGCTGGAAAGCAAAACGCTGGAAGGCTGGGGCTATGATTATTATGTCTTTGATAA
+AGTGAGCTCGCCGGTTTCCACGATGATGGCCTGCCCGGATGGCAAGAAAGAGAAGAAATTTGTCACCGCG
+TATCTGGGCGATGCTGGAATGCTGCGTTACAACAGCAAGCTGCCGATCGTGGTGTATACGCCAGACAATG
+TGGATGTGAAGTACCGCGTCTGGAAGGCGGAAGAGAAAATTGACAACGCGGTTGTTCGCTAAACTGCTGT
+GAAGTGCTGCAACCTGTAGGCCGAATAAGGCGGTTACGCTGCATCCGACATCTAACGCCCGAGCCGGTTG
+CCTGATGCGACGCTGAAGCGTCTTATCAGCATACGCCACATCCGGCAAACCATGCCGGATGTGGCACATC
+ATTACAACGCAATATCCGCCACTTCTTTTTGAACGAGTTGCGGTTTCAACTGCGGTTTCGGCGTACTATC
+TGCTGCCTGCGGCTTGTCGTATTTCAGCCCCAGCACTTCGCTGGTGTACTGCAACTCGCGTTCTGTTGCC
+GCTACATCACCGTTCAGCTTGCGTCCATAAGACGGAACGATCGCTTTCAACGTAGCCTGCCATTGCGGGC
+TGGAAACGCGATCGCCAAATACTTTTTCCAGCAGATTCAACATAATCGGCGCGGCGGTTGACGCCCCTGG
+CGATGCCCCCAGGAGCGCGGCAATGGTCCCTTGCTGGTCACTGACGACTTCAGTACCCAGACGCAGTACG
+CCACCTTTATCGGCATCACGCTTGATAATCTGCACGCGCTGCCCCGCTTGCCACAAACGCCAGTCCTCTT
+TTTTCGCCTGCGGATAGTACTCTTTCAACGCTTCAAAACGATCCTCTTCACTCAACATCACCTGACTCAC
+CAGATATTTCACCAGATCGAAATTATCCAGCCCAACGTGCATCATCGGCATCACGTTAGAGGTGGTGGTG
+GAACTCATCAGATCCCACAATGAACCGTTTTTGAGGAATTTGGTTGAGAAGGTGGCAAATGGCCCAAACA
+GCACTACGCGTTTACCGTCCAGAACACGGGTATCGATATGCGGAACCGACATCGGTGGTGCGCCAACGGA
+TGCTTTACCGTAAACCTTCGCCAGATGGTGATTAACCACGTCCGGGTTTTCCGAAACAAGGAACTGTCCG
+CCCACCGGGAAACCGGCGTAGTCTTTCGCCTCCGGAATCCCCGATTCCTGTAACAGTTTCAGCGCCGCAC
+CGCCCGCGCCGATAAAGACAAATTTGGCGCGGATATTCTGTGCAGTGCCGTTTTTCAGATCGGCAACGGT
+GACGGTCCAGCTGTTATCGTCATTACGCTTTAGGGCGCGGACTTCGCTGCTGAGTTGCAGCGAGAAGTTA
+GATTTCTTCTGTAAGGAGGCGATCAACTGGCGGGTGATCTCGCCATAGTTCACATCGGTGCCAATTTCTG
+TGCGTGTTGCCGCTACTTTCTGTTGCGGATCGCGCCCTTCCATCACTAACGGTGCCCACTCTTTGATCTG
+CGCGTGATCTTCAGAGTAACGCATACCGCGAAACAGCGAGCTTTGTTGCAACGCGGCGTAACGGGCGCGC
+AGGAAATTAACGTTATCCTCGCCCCAGACAAAGCTCATATGCGGAACGGTATTGATAAATGAACGCGGAG
+TACGCAGCACACCGCGCTCGACCTGGTGCGCCCAGAACTGGCGGGAAATCTGAAATGCTTCGTTAATGGC
+GACTGCTTTTTCAATACTGATGCTGCCGTCGGCATTTTGCGGGGTGTAATTGAGTTCCATCAGTGCAGAA
+TGCCCGGTTCCGGCGTTGTTCCAGCCGTTCGAACTCTCCTGCGCGACACCTTCCAGGCGCTCCACCATGG
+TCATCGACCATTCAGGCTCCAGCTCGCGTAAATAGGTCCCCAACGTGGCGCTCATAATGCCGCCGCCAAT
+CAACAGTACATCAGTTTCCTGCTCCTCGGACGCTTTCGCTTTTGCCGCCATCGAAACGGCATTAAGCCCC
+ACGGCCATCGAGAAGAGCATGGCAGTCACTTTTTTCATCTTGTTAATGCCTTACTTTTAGTCGCTTTATT
+GCAGGTGAGATTTGCGCGGCATCAACGGTAACACTTAAGTAACAACATTTAAATAATGTTTATAAATTAT
+ATTCTAATTTTAGAAACATTATAATTTCGTTGATTAATTATAGGGTTATTAGAAACGAAGGTATTTTTAG
+AATATTGACCTGGCGGCAGCAGTCCGCCAGGTCAGCGTCGTAATATTATGCCGTCCGGGCAACGGCATCA
+CGCGAAGCAGCATCGCGCTCTTCGCCTGTCAGCTCGCTAAGTTGCCCGTTGCGCATTTCCAGCAGGCGGT
+CGGCGTGGATAAAGTAATGATCATCATGACTGATGGCGAAAATAGTTTTACCCATCTCCTGCATCAGCGG
+CAGCAGCACCTGATAAAACTCACGACGGAAGTGTGGATCCTGATCCGCCGCCCATTCATCCAGCAGGATA
+ATATCGCGTTCTTCTGCCAGCGCCAGCAACAGCGCCACGCGTTTTTTCTGCCCTTTTGATAACTTCAGGT
+TAACAATACGCCCGTTGCTTAACTCAAGCTTATGAGCCATTTTCAGCTGCGCCAGCCACTTCTCAACCAG
+TTGCGGGTTAGCGGGTTGCCCCTCCGGCCCCAGCAGTTGATCAAACAGCCAGACATCGGTAAACACTGCC
+GAAAACAGTTTGCGATAATCTTCCGGTTGTTCGCCGCTGACAGGTTTGCCATCCAGCAAGATTTCGCCGC
+TTTGTGGTTGGTACAAGCCCGTCAGCAACATCGCCAGCGTCGATTTTCCACTACCGTTGCCACCAATCAG
+AAACAGCAGTTCACCACGTTTGATGGTGAGGTTAATCGGCCCAACGGAAAACGCGTTATCCCTGATAAGC
+AAACGTCACGTTACGCAGCTCCAGCGTTTGCCAGTTGGGAAAAGCTGCGGGCGCGGAAACTCTGCTTTGA
+AAGGCGCGAGCGCGAATTTGTTCAGCTTGTTAAACGCCACCTGCGCCGTCAGCAGCGTCGGCAATGCGCC
+AACCGCCGAAAGCAGCGGCGTACGCAGGAATAACAGCGTCAACGAATAGGTCGCAGCAACGTTGGTATCA
+GCCCAACCGAGACTGTTCGCCATCCAGAACACCAGGCCGATAGCGCCCAGCATCATGATGTTTGACCAGT
+TCACGGCACTAAGATGGAAGGTGTCTGCGCGAATAATATGATGGCGATACTCTTGCGCATCAGGAATGTA
+GAGGTTGTTAAACACATACTCGGCGCGTTCACGGTTCAGAGTCAGCTCTTTGCGCCCTTCGAGTACAGTT
+TGAAAATCCGTGTACAGCTTATCTTCGGTTTCACGCAGGGTCGCCATATGTTTGTACACCCGCGCCACCA
+GCACAAAACCGCCCCAGATGGTGACTGCCATCCAGATAGCCGTTACCAGCAACATTTTGCCCGACAGCAT
+CCACAAATACGCCGCTGAACCGATAGTGAGAATGATCCCCTGCACCAGTTCCGGCAGACGCACAAAAGCA
+ATGGTGATATTGCGCACATCGCTGGTTAATCCCGCCAGCAACGAGGCGCTACCGAGTTGTTCAATGCGCT
+CGACGTGAGTATCGAGAATCCGCTTGATAAATTCACTACGCAGTCGGTAAACGAAGTGATGCCCCAAAGT
+GGTGAGCGCCAGTTGCGATCCGAGAGTGACGGCCATCAACAGCAGCAATAACCCCAGAAACTCCGGCAAT
+ACCAGCAGACTGGTATCCGCCGTTTCGATAAGGCGCTGATTGATAAAAGCAATTAAGCCAATGCCTAATG
+CCGCACTGGCGAGGCTTAGCGCCATCACACTGATAAATGGCCAGCGATACTGCCGCCAGACAAGTACAAG
+AAGTTCCATGCAGAAAACCCGGACAATGAATTACAGCCCGCAGTTTAAACATCTTCGTGCGCACAGCAAT
+AATAATTCTTATTTTTATTCTTTTTTACCTGCCTGACGGAATGTCAGGTTGTAGCGGCAGTCGGTGGTGA
+GTGGATGAACCCCCACTTTCAACGGTTGAATGCCATGATAAAACAGCCGCGACTCACCCCCCCATACCAC
+CACATCGCCATGTTCCAACAACAAACGTTTGAGCGGATCATTTCGTTTCAGGCCGCCAAATTGAAAAATC
+GCGGGTAAGCCCAGAGAAACAGAAACAATTGGCGCGCGCAGATCCGGTTCGTCTTTATCCTGATGCAGCG
+ACAGTTTCGCGCCAGGAACGCAGCGGTTGATCAAACAGGCATCTGGCTGGAAATCTGGATAGCCCGCCGC
+CGTAGCCGCACGTTGACATAAATGATGAAAACTCTGCGGCATGGCGGGCCACGGTTTATTTGTTTGCGGA
+TCAATGGGCGAATAGAGATAACCTTGCCGATGGGTCGTCCAGCCCAGATGCCCACAGTTGGTCATCGCCA
+CCGACATGGTATATCCGCCTGGAGTGACCATCTGGCGAAACGGCGACTGGCTGGCAACGTCATTAATATC
+GCGGATCAGTTGCTCCGCAGCGTTAAAAGCAAAACGGTGCAAAATCACCGCTCCAGCCGCCAGTGGTTCT
+TGCCACGGTTCAGCATCGGCAAACAGATCCAACATTACCTTTCCTCATTTTCAGCTTCGCGGCGCAGCAG
+TTGCGCTTTGCGCGACACGCCCCAGCGGTAACCGGAAAGTGTGCCATCACCACGGACCACCCGATGACAA
+GGTATAACGATAGCTAGCTTGTTGGCGGCACAGGCGCTGGCAACGGCCCGTACCGCTTTCGGTTTGCCAA
+TGGCGTTAGCCAGTTGCTGATAACTGACGGTTTCACCGCAAGGTATCGTGCGCAGTGCCTGCCAGACTTG
+TTGCTGAAAAGCAGTGCCGCGAATGTCCAGTGGTAACGTCAGCGGCGTATCGCGTTGATTGAGGCTGGCG
+ATCACTTCACACACATGTTGCTGAAACGTAAGATCGGCAGGCGCGCTGTCGGCAGCGGGAAACATCTGCT
+GTAACTCGCTGATTAGTGTCGCGTCATCATCGCCCAGTAATATCGCGCAAATCCCCCGCTCACTTTCTGC
+CACCAGGCAACGGCCCAGCTCACAATCAGCCAGCGCGTAACGCACCGCCAGATTTTCGCCACCGTGACGG
+AATTGTTTAGCCGTCATGCCCAGCGTTTCGTCGGCTTTGCGGTAGTAACTGCTGCTGTCGGGGAATCCGG
+CGTTAAGAATAGATGTAGTCACGCTCTCCCCTTTCGCCAGCAATTCGCGCAAACGGCGAGCGCGCCAGGC
+CTGTTGCCAGGCTTTAGGCGTCATTCCGGTAGTCGCTTTAAACAACCGATGCAAATGAAATGGACTCATC
+GCCACCTGGTCGGCTAAGGCTTCCAGCGTTACAGGCGTTTCCTGTTCCAGAAGTCGGCAGGCGTGGGTAA
+TTTTATCAAGGCGATGTTGCCGGGGATTGGCTTTGTCTGGCTGACAACGTTTGCAGGGACGAAAGCCAGC
+GGCAAGCGCCTCGCTGGCATTTGCGTAGAAGGAGACATTTTCCCGCAAGGCATGTCTGGCTCGGCAAGAC
+GGACGGCAAAAGATACCCGTGGTGCGCACGGCGAAAACGAATTCGCCGTCGGCGTTCGGGTCGCGGGCTA
+AGACAGATTGCCAGCGTTGATCGTCAGTTAAACATGTGGCGTTTTTCATAATCAGCTCCCTGGTTAAGGA
+TAGCCGTTAGTCTGCCCGGTCACCATCGCGCAAAAACCAACAATCTTGCGCTTTAATTTTTTTCGCTGAT
+AAGGAAGCTTTTAAACTGCGGCGACATCCAGGTTTTAAAATTATCGCCCTCTTTGGTGATCATGTAGACC
+GCCAGTCCTTCCCGGCGAACAACCTCTTTGGCTTTCTCCGGTCCGAGTACCATTAAGCCAGTATCCCAGG
+CATCGGCTTCCAGCGCCGTCAGGGCAATCACCGTCACGGATACCAGATTGTGTTCGATAGGACGCCCGGT
+TTGCGGATCGATAACATGAGAAAGACGTTTGCCGTCCAGTTCGTAATAGTTACGGTAGCTGCCAGAGGTA
+CTAATCCCATGACCGTTGATATCCACCACGGCCTGAACCGCGTTTTCTTTATCGGTTGGTTTTTGAATCG
+CCACCCGCCACGGCTTGCCAGCACCGTTCATACCACGGCTGTTCAGCGCGCCGCCCACCGACACCAGATA
+GCGGGAAATCCCTTCCTGCTCCATCAAGCGTGCCAGGTGATCCGCCGCATAACCTTCGCCGACGGTGGAG
+AGATCGACATATAAATCCGGCAGGTCTTTTTGCAGATATTGCTGATGCGACTGATTAATGACCGTCAGGT
+GCTGTAAGCCGGTTTTGGCTTTCATCGCATCGATCTGTTCCTGGCTCGGAATTTGAACCGGTTGTTGTTC
+CGGACCAAAGCCCCACAGATTCACCAGCGGCCCGATGGTTATATCCATCGCACCATCGGTCCTTGCGCCA
+ATGCGCAGCGAGGTGGTGACGATATCGGCCATCGCTTCACTTACCGGCCACGGCGACAAACTTTGCGAGT
+CGTTAAAGCGCATCAGCGCGGAATCTTTTTTATAGGTCGAAAGCAGCTGATCGTCGGCGTCCAGCTGGGT
+CTGAATCTTTTCTTTAAGTTCGGCACTGCGTTTGGCGTCAATGCCCGGAATGCTGGCACGCCAGAAGGTA
+CCCATGGTTTTGCCTTCAAGAACGGTAACTTCAGTAGCGTGGGTTTTGGCGGGTTGTGGTTTTTGATCGC
+AACCAACAAAGAAGAGCGCGGCAGCCAGCAGTGCCACGCGGGTAAAGCTTATTTCCATACGTGATTATCC
+TCATGCGAACGGTCGCAAGAGTACACCAAAAAACTGTGTTTGTACGCTGAAAACAATGAAAAAAGGGCCC
+GCAGGCCCTTTGTTCGATATCCATCGAGATTAGAACTGGTAAACCAGACCCAGAGCTACGATGTTATCAG
+TGTTGATGCCAGCGTCACGAGTGAACTGGTTGTCGTCCAGCAGGTTGATTTTGTAGTCAACATAGGTGGA
+CATGTTTTTGTTGAAGTAGTAAGTAGCACCAACATCAACATATTTCAGGATATCTTCGTCGTCGTAGTTA
+CGAGTACCGATGGTGCCCAGGTTTTTACCTTTAGACTGCAGGTATGCTACAGACGGGCGCAGACCGAAGT
+CGAACTGGTACTGAGCAACAGCTTCGAAGTTCTGTGCTTTGTTCGCCCAACCCAGGGAACCTACGCGAGT
+TGCGTTGTAGGTCTGGGTGTACTGAGCAGCCAGGTAGATGTTGTTAGCGTCGTATTTCAGACCACCAGTG
+TAGGTTTCAGCACGGTCGCCGTTACCGATGTAAGCAGCGGTGTTCTGAGCATCAGTACGTTTGGAGCTGG
+AGACTGCAGCACCAACGCCGAAGCCTTCGTAATCATAAGTGATAGATCCGCCGACACCGTCGCCGTTCTG
+ACGCAGAGCTTTACGACCATTGTTGGTGATGCCATGACCAGTGAAATCCGGATCATTTTCACCGCTTACG
+CTGCCATTCTGGCCCTGGTACTGAACAGCAAAGTTCAGGCCGTCAACCAGACCGAAGAAGTCGGTGTTAC
+GGTAGGTCGCGAAGCCGTTACCACGCTGCTGCATGAAGTTGTCAGAACCGTAGGTGTCGCCACCGAATTC
+TGGCAGAACGTCGGTCCAGGAAGTTACGTCGTAAACAACGCCGTAGTTACGACCGTAGTCGAAAGAACCG
+ATGTCCTGGAATTTCAGACCAGCAAATGCCACACGGGTCCAGGAGTTGTTTTCGCTTTCCGGAGCGTTGC
+CCTGGATCTGATATTCCCACTGGCCGTAACCGGTCAGCTGGTCAGTAACCTGAGTTTCACCTTTGAAGCC
+AAGACGCATGTAGGTCTGGTCGCCATCTACAGACTTGTCGTCAGAGAAATAGTGCAGGCCGTCTACTTTA
+CCGTACAGATCTAATTTGTTGCCGTCTTTGTTGTAAACTTCAGCAGCGTTTGCTGCGCCTGCTACCAGCA
+GAGCTGGGACCAGGAGGGACAGTACTTTAACTTTCATGTTATTAACCCTCTGTTATATGCCTTTATTTGC
+TTTTTTATGCCACTGCATACTGATTAACCCTCATTAATCAGTCGGCAAGTCCATTCTCCCCAAAAATGCA
+GAATAATCCAACACGAATATGATACTAAAACTTTTAAGATGTTTCATTTATCGCTATAGATGTTTCAGAA
+TGTAAATGAAAGGGAACTTTTTAAGATTATTGCGGAATGACCAAATAAGCACCTAACATCAAGCAATATT
+AATTCAAGGTTAAAATCAATAACTTATTCTTAATTATTTGACAGCACTGAATGTCAAAACAAAACCTTCA
+CTCGCAACTAGAATATCTTCCGCTATCATCATTAACTTTATTTATTACCGTCATTCATTTCTGAATGTCT
+GTTTACCCCTATTTCAACCGGATGCCTCGCATCCGGTTTTTTTTACCCTTCTTTACACACTTTTCATTAT
+TCTGTGCTACCACAGAAAAACTATAACGCTTGTTAACTATTTCACAAATAATTAACATCAGCATAATTTC
+CAGCAATCTTCGTTTATTTGCAATTAATTTCGTTAGGCTTTTTGTAGGTTATTTGTACAGCAAAATGGCG
+CTTGTACATCTATTTCCCCCAATGCAGGATGATAAATATCACTGGAGAATAGAGAATCATCAATCAGGTA
+AGAGTCTGGAATTTCACACTGTACCCTTTATACTGCCCTATCACTTCGCGAAGTTTTAACAGGTCATAAA
+CACGAATGCGTCAGAAAGAGACAACGGCCACGACCCGCTTTTCACTCCTACCGGGGAGCATTACCCGCTT
+CTTTTTACTGTTGATCATTGTGTTACTGGTGACGATGGGTGTAATGGTACAAAGCGCCGTTAACGCCTGG
+CTGAAAGATAAAAGTTACCAGATTGTCGACATTACCCACGCAATCCAAAAGCGCGTCGATACCTGGCGTT
+ACGTGACCTGGCAGATCTACGACAACATTGCCGCGACGACCTCCCCCTCCTCCGGCGAAGGTTTACAAGA
+GACGCGCCTGAAACAGGATGTCTACTATCTGGAGAAACCACGCCGCAAAACGGAAGCGTTAATCTTTGGC
+TCTCATGACAACTCAACGCTTGAGATGACTCAACGGATGTCCACCTATCTGGACACATTGTGGGGCGCAG
+AAAATGTACCGTGGTCGATGTATTACCTGAATGGTCAGGATAACAGTCTGGTGCTGATCTCAACCCTGCC
+CCTCAAAGATCTCACCTCCGGATTTAAAGAATCGACCGTCAGCGACATTGTTGATTCACGTCGTGCAGAG
+ATGTTGCAACAGGCCAACGCCCTCGATGAACGCGAAAGTTTTTCTAACATGCGCCGCCTGGCCTGGCAGA
+ACGGTCATTACTTTACCTTGCGTACCACGTTCAACCAGCCGGGACATCTGGCAACGGTCGTGGCTTTTGA
+TCTGCCGATTAATGATTTGATCCCACCGGGTATGCCGCTGGACAGTTTCCGCCTTGAGCCAGACGCGACG
+GCAACGGGAAACAATGAAAATGAGAAAGAAGGGACGGATAGCGTCAGTATCCACTTTAACAGTACGAAGA
+TTGAAATCTCCTCGGCACTCAACTCTACCGATATGCGCCTGGTCTGGCAGGTTCCTTACGGCACCTTACT
+GCTGGATACGTTGCAAAACATTCTGCTGCCACTGCTGCTGAACATCGGTTTGCTGGCGCTGGCATTATTT
+GGCTATACCACATTCCGCCATTTCTCCAGCCGCAGTACAGAAAGCGTCCCCAGCACGGCGGTCAATAACG
+AATTGCGCATTTTACGGGCAATTAATGAAGAGATAGTCTCACTGCTGCCGCTCGGCCTGCTGGTTCACGA
+TCAGGAATCGAACCGCACAGTCATAAGTAACAAAATTGCCGATCATTTGCTGCCGCATTTGAATCTGCAA
+AACATCACCACCATGGCGGAACAGCATCAGGGGATTATTCAGGCGACGATCAATAACGAGCTGTATGAGA
+TCCGCATGTTCCGCAGCCAGGTTGCGCCGCGCACACAAATTTTCATTATTCGCGATCAGGATCGCGAAGT
+GCTGGTAAACAAGAAACTCAAGCAGGCGCAGCGTCTGTATGAGAAAAACCAGCAGGGGCGGATGACCTTT
+ATGAAAAACATTGGCGATGCGCTGAAAGAACCCGCACAGTCCCTGGCGGAGAGCGCGGCTAAACTCAACG
+CCCCGGAAGGCAAACAACTGGCGAATCAGGCAGATGTGCTGGTGCGGCTGGTCGATGAAATACAGTTAGC
+GAACATGCTTGCGGACGATAGCTGGAAAAGTGAGACGGAGCTGTTCTCCGTGCAGGATTTAATTGATGAA
+GTTGTGCCTTCAGTGTTGCCTGCCATCAAGCGTAAAGGTCTGCAACTGCTGATTAACAATCATCTGAAAG
+CACACGATATGCGCCGCGGCGATCGCGATGCCTTACGACGTATTTTGCTACTACTGATGCAATATGCCGT
+GACCTCAACGCAATTGGGAAAAATCACCCTTGAGGTTGATCAGGATGAGTCCTCCGAAGACCGCCTGACG
+TTCCGCATTCTGGACACTGGAGAAGGCGTAAGCATTCATGAAATGGATAATTTGCACTTCCCGTTTATCA
+ACCAGACCCAAAACGATCGCTATGGCAAGGCGGACCCGCTGGCATTCTGGCTGAGCGATCAACTGGCGCG
+TAAACTGGGCGGTCATTTAAACATCAAAACGCGGGATGGGCTTGGTACACGCTACTCTGTGCATATCAAA
+ATGCTCGCAGCTGACCCGGAAGTTGAAGAGGAAGAAGAGCGATTACTGGATGATGTCTGCGTAATGGTGG
+ATGTTACTTCGGCAGAAATTCGGAATATTGTCACTCGCCAGTTAGAAAATTGGGGTGCAACCTGTATCAC
+ACCCGATGAAAGATTAATTAGTCAAGATTATGATATCTTTTTAACGGATAATCCGTCTAATCTTACTGCC
+TCTGGCTTGCTTTTAAGCGATGATGAGTCTGGCGTACGGGAAATTGGGCCTGGTCAATTATGCGTCAATT
+TCAATATGAGCAACGCTATGCAGGAAGCGGTCTTACAATTAATTGAAGTGCAACTGGCGCAGGAAGAGGT
+GACAGAATCGCCTCTGGGCGGAGATGAAAATGCGCAACTCCATGCCAGCGGCTATTATGCGCTCTTTGTA
+GACACAGTACCGGATGATGTTAAGAGGCTATATACTGAAGCAGCAACCAGTGACTTTGCTGCGTTAGCCC
+AAACGGCTCATCGTCTTAAAGGCGTATTTGCCATGCTAAATCTGGTACCCGGCAAGCAGTTATGTGAAAC
+GCTGGAACATCTGATTCGTGAGAAGGATGTTCCAGGAATAGAAAAATACATCAGCGACATTGACAGTTAT
+GTCAAGAGCTTGCTGTAGCAAGGTAGCCTATTACATGAACAATATGAACGTAATTATTGCCGATGACCAT
+CCGATAGTCTTGTTCGGTATTCGCAAATCACTTGAGCAAATTGAGTGGGTGAATGTTGTCGGCGAATTTG
+AAGACTCTACAGCACTGATCAACAACTTGCCGAAACTGGATGCACATGTGTTGATTACCGATCTCTCCAT
+GCCTGGCGATAAGTACGGCGATGGCATTACCTTAATCAAGTACATCAAGCGCCATTTCCCAAGCCTGTCG
+ATCATTGTTCTGACCATGAACAACAACCCGGCGATTCTTAGTGCGGTATTGGATCTGGATATCGAAGGGA
+TCGTGCTGAAACAAGGTGCACCGACCGATCTGCCGAAAGCTCTCGCCGCGCTGCAGAAAGGGAAGAAATT
+TACCCCGGAAAGCGTTTCTCGCCTGTTGGAAAAAATCAGTGCTGGTGGTTATGGTGACAAGCGTCTCTCG
+CCAAAAGAGAGTGAAGTTCTGCGCCTGTTTGCGGAAGGCTTCCTGGTGACCGAGATCGCTAAAAAGCTGA
+ACCGCAGTATTAAAACCATCAGTAGCCAGAAGAAATCTGCGATGATGAAGCTGGGTGTCGAGAACGATAT
+TGCTCTGCTGAATTATCTCTCTTCTGTGACGTTAAGTCCGGCAGATAAAGACTAATCACCTGTAGGCCAG
+ATAAGACGCGTTAGTGTCTTATCTGGCATTTGCACGGATTGCCGGATGCGGCGTAAACGCCTTATCCGTC
+CTACGATTCCCATTATTTCAACAGATTACATTAAAGTAGGCCAGATAAGACGCGTCAGCGTCGCATCTGG
+CATTTGCACTGAATGCCAGATGCGGCGTAAACGCCTTATCCGTCCTACGATTCCCGCGATTTCCTGACCC
+TCTCGGCATATACCGTCAGCGTCTGTTTTATCACATCCAGCGTTACCGGCTTCGACAGGCAACTGTCCAT
+ACCGGACTCCAGACACCGCTGCTTCTCTTCAGCCAACGCATTAGCAGTTACTCCGATTACCGGCAACGTC
+AGTCCCAACTGACGAATGCGTTGCGTCAAGCGGTAACCATCCATATTTGGCATATTGACGTCGCTAAGCA
+CGATATCAATATGATTCTTGTTAAGTACATTAAGCGCATCGACGCCATCATTCGCGGTTTTACATTGATA
+GCCTAACGATCCCAACTGATCTGCCAGCAGACGCCGGTTAATCGGATGATCATCCACGACCAGAATCATC
+ATATCGTCATTATCGCTGACCGCTTTGTCCGTCGACGGCAGAGCGTTAGCAGGATCGTCGCTCTCCATCT
+CGATCAAATAAATACGCGCCAACAATGCCGGTAGCTCATGCGGAGCAGCCACACTGTGTACCCACTCCCC
+TGGAGCTTTCTCCAGCGGAATACCAATATGGCGACGACAGAAGGTCACTACCGCTCTGCCCTGCCATTTT
+TTACTCACTACCTCGTCAGTGATTAACACATCTTCGGGAGTCGGTTCCTGCCCTTCGTATGTTGTAACGA
+CGATGCCGCTGCGCTGCAAACTGGTTTCCAGGAACTGACAGAGCGACGCATTGCGGACCGCCAGCCAGCA
+GCGTTTACCACTCAACCCTTCCACACCTTTTTTCTGCGGGTACTGAGCGCCGTACAACGGAATACGCACG
+GTAAACTGGCTGCCCATTCCCGGTTCTGAATCTACCGAGATGTCGCCGTCCATCATGCTGATCAGTTTTT
+CACAAATCGCCAGACCCAGACCAGTCCCCTGGAAGTTACGCTGTACGCCCGTTCCGACCTGGAAGAAGGG
+ATCAAACAAACGCACCACTTCTTTCGCCGGTATCCCCACGCCGGTATCGCGAACACGGATAGAGAGATAA
+TCGCCATCAGCGCGAACATGCAAAACTATACAGCCGGTATCGGTGAATTTTATGGCGTTACTCAACAGGT
+TGGAGATGACCTGCTGTAAACGCATCGGGTCGCCATTTAAGGCCACTGGCACATCCGGTTCAATAAAGCA
+GTACAAGCCTAACTGCTTGCGTACCACCAGCGGTAAATAGTTGGCGGTGATGTGGTTCATCACTTCACGC
+GGTGAAAACTCACGCGGTTCGATCTTCAACTGTTCTGATTCAATTTTCGAGAAATCGAGAATATCGCTGA
+TAATTTTCAACAACAGGCTGGAAGAGTTGTTCATTGCCGTCACCAGACGATCGACGCCTTTCGGTAACTC
+TTTGGTTTGCAACAGATCCAGGTTACCGATAATGCCATACAGCGGCGTTCGCAGCTCATGACTGACGGTG
+GCCAGGAACATCGATTTTGACTGGCTCGCCTGTTCCGCTGCTTGTGCCATCTCCTGCAACGACTCTTCCA
+TCTTCACGCGCGAAGAAACATCCACCAGCACACAAATGGCCACGTTTTCATTACGATAGCGCGAATGGAC
+GAAGCTGATTTGCAGATTGGTATTGTTGCTGGTCAGGACATCAACAAAATTGACCTGCTGCCCACAGATA
+ATTTGTGTCAGCCGTTGGCGGTCCTCATGCGTAAGCATATTGAGATAGGTATGCGCCAGTTCGTTACTTA
+AAATATTGACGCCATCAGCGGTACGCAAAATGCAGATACCCACTGGCGCGGAGGCGACAATCTTGCGATT
+AAACTGCTCATGTTCTTCCAGTCGCAGGGCGTCGCTTTCCGCCGGAATGAAAATACGCCGCTCGTACATC
+CGCGCGAGAGTAAACAATGCAGCTCCGGCAAGCACATTCAGCAAAATTGCGTTAAGGATCAACATGCGAA
+TGCGTTCCAGCACCTTATCAACCGGCACCGAATACACGATGCTTAGCGATGAGGGTGGCAGATTTTTCTT
+CAGCACCAGCTCCCGGAACCCTTCCGTATAGCCAAACCAGGAGCGTTCCTGCATCCAGCGAGGATCGCCC
+TTAATTTTGCTTTCTGGTCCGGTAAGCGAAATCAGGGTATGACCATTTTCATCAAGAATGGTAACCCCCA
+TCGGCAACGTACCAGGTAAGAAAAAGTTCTCCATCCGGATGGTCTGCTCGACACCCAAAAGCGCCTGCAA
+CCGGTTCGCCAGATAAACAGGCGTCAACGCGTAAAAATACCCGACGCCAGGGCGCGGACCTTCGCTGATC
+CAGTAGAGGTTACTGCCACTATCATCTTGTGGTGCATTTCGATATTTATTAATGCGTTCATGCAAAGCTT
+TTAGCGCGGTATCGCGTTCCACTGGCATATCACGCAGACCGAAATTGGCCATGCAGAGGTTATCGCTGCC
+GATTAAAAATACCCGGTTGAGATCGTAAGCCGCAGAAAAATTATCGCGCCAGTAGCGCATAAACCACGCC
+AATGACTCCAGAGAACCTCGCCAGGTGTTACTCATTGCGGAACAATCAGAGTCAGCAAACAGCGGTTCAA
+ACGCAGGCACATCCGTCTGCGTTTCTCGTCCACGCGGGGAAAGCACACCGTTTTCTGCCGATAAGCGATT
+TTCGGCGATGTACTTCAGCTCTTTCATCACATCAGAGGTGCGTTGAATAAAGCGCTGAGCCTGATCGGAA
+CTCAGATTAAATTCCTGACGAATTTCCGATTCTCGCTGATGTAACGCATTAACGATGTAAAAAACGGATG
+AAAAAGCAATCAACAGCCAGAGCACTAACGCCAATGCTCTGAACATGTAGCGCGAGGCTTTCAGGGTTGT
+ACGAAAAGAAGCAAGGTATTTCAAAGGGGCGAAGCTCCGCCTCAGGTGACCGATGGAGTGTGGTTAAGGT
+AGCGGTAAAAGCGTGTTACCGCAATGTTCTCTCTTCTCTGGAATATGATACACCGCCGAGAAATCATCAC
+CGTAACCTCTGATAATCGTCATATACCGGACAAGACTAGTGGATTTCAGCATGCATTATATGAAGTGGAT
+TTATCCACGCCGCTTACGCAATCAAATGATCCTGATGGCAATCCTGATGGTCATTGTCCCAACGCTTACT
+ATTGGTTATATCGTAGAAACGGAAGGACGTTCAGCAGTCTTATCTGAAAAAGAGAAAAAACTTTCTGCCG
+TGGTCAACCTGCTTAATCAGGCGCTAGGCGATCGCTATGATCTCTACATCGACTTACCACGTGAGGAGCG
+TATCCGCGCATTAAATGCAGAACTTGCCCCCATTACCGAAAATATCACTCACGCCTTCCCTGGCATCGGC
+GCTGGTTATTACAACAAAACGCTGGATGCGATAATCACCTACGCGCCTTCAGCGCTATATCAGAATAATG
+TGGGCGTTACCATTGCCGCAGATCACCCTGGTCGCGAAGTCATGCGTACAAATACCCCTTTGGTTTATTC
+AGGCAGGCAGGTGCGCGGCGATATTTTGAATTCAATGATTCCCATTGAGCGTAATGGTGAAATCCTCGGC
+TATATCTGGGCCAATGAATTAACCGAAGATATTCGCCGCCAGGCCTGGAAAATGGATGTGAGGATTATCA
+TTGTGCTCACCGCCGGTTTGCTGATAAGCCTGCTGTTGATTGTCCTTTTCTCCCGTCGCCTGAGCGCCAA
+TATAGATATCATCACCGATGGCCTCTCGACTCTGGCTCAAAATATTCCCACTCGATTACCACAATTGCCC
+GGTGAAATGGGGCAAATCAGTCAGAGTGTTAACAACCTCGCCCAGGCACTGCGTGAAACGCGAACACTTA
+ACGATCTGATTATTGAAAACGCTGCCGATGGCGTCATTGCCATTGACCGCCAGGGTGATGTAACCACCAT
+GAACCCAGCAGCAGAAGTCATCACTGGCTATCAACGTCATGAACTGGTAGGGCAGCCTTACTCCATGTTG
+TTCGACAATACTCAGTTCTACAGTCCCGTACTGGATACGCTGGAACATGGCACCGAACATGTAGCACTGG
+AGATCAGTTTTCCAGGCCGTGACCGCACCATTGAACTCAGTGTCACGACCAGTCGTATTCATAACACGCA
+CGGTGAAATGATAGGTGCTTTGGTGATTTTCTCTGATTTAACTGCCCGCAAAGAAACCCAGCGCCGCATG
+GCGCAAGCAGAACGCCTCGCCACACTGGGTGAGCTGATGGCTGGCGTGGCGCATGAAGTACGTAATCCGT
+TAACGGCTATTCGTGGTTATGTACAGATCTTGCGCCAACAAACCCGTGACCCAATACATCAGGAATATCT
+GTCCGTAGTACTCAAAGAAATCGATTCAATTAACAAAGTTATTCAGCAATTGCTCGAATTTTCACGTCCA
+CGCCACAGTCAATGGCAACAAGTCAGCCTCAATGCATTGGTTGAAGAAACTCTGGTACTGGTACAAACCG
+CCGGCGTACAAGCGCGGGTCGACTTCATAAGCGAACTGGATAATGAATTAAGCCCGATTAACGCCGATCG
+TGAACTGCTCAAACAGGTACTACTGAATATCCTGATCAATGCCGTCCAGGCTATCAGTGCACGAGGGAAA
+ATTCGCATTCGAACCTGGCAGTATAGCGACTCGCAACAGGCCATTTCGATAGAGGACAACGGCAGTGGCA
+TTGATCTCTCGCTGCAAAAAAAGATCTTCGATCCCTTTTTCACTACCAAAGCCTCAGGAACCGGGCTTGG
+TCTGGCGTTAAGTCAACGCATCATTAACGCCCATCAGGGTGATATTCGCGTCGCCAGTTTGCCGGGCTAC
+GGCGCAACCTTCACGCTTATTTTACCGATCAACCCGCAGGGAAATCAGACTGTATGACTGCTATTAATCG
+CATCCTTATTGTGGATGATGAAGATAATGTTCGCCGTATGCTGAGCACCGCTTTTGCACTACAAGGATTC
+GAAACACATTGTGCGAACAACGGGCGCACAGCATTACACCTGTTTGCCGATATTCACCCTGACGTGGTGT
+TGATGGATATCCGTATGCCAGAGATGGACGGCATCAAGGCACTAAAGGAGATGCGCAGCCATGAGACCCG
+GACACCCGTTATTCTGATGACGGCCTATGCTGAAGTGGAAACCGCCGTCGAAGCACTACGCTGCGGAGCC
+TTCGACTATGTTATCAAACCGTTTGATCTCGATGAGTTGAATTTAATCGTTCAGCGCGCTTTACAACTCC
+AGTCAATGAAAAAAGAGATCCGTCATCTGCACCAGGCACTGAGCACCAGCTGGCAATGGGGGCACATTCT
+CACCAACAGCCCGGCGATGATGGACATCTGCAAAGACACCGCCAAAATTGCCCTTTCTCAGGCCAGCGTC
+TTGATTAGCGGTGAAAGCGGCACCGGGAAAGAGTTGATTGCCAGAGCGATTCACTACAATTCGCGGCGGG
+CAAAGGGGCCGTTCATTAAAGTCAACTGCGCGGCGCTGCCGGAATCGTTGCTCGAAAGTGAACTGTTTGG
+TCATGAAAAAGGTGCATTTACTGGTGCACAAACCTTGCGTCAGGGATTATTTGAACGTGCCAACGAAGGT
+ACTCTGCTCCTCGACGAAATTGGCGAAATGCCGCTGGTACTGCAAGCCAAATTACTACGCATTCTACAGG
+AACGGGAATTTGAACGGATTGGCGGCCATCAGACCATAAAAGTTGATATCCGCATCATTGCTGCCACCAA
+CCGCGACTTGCAGGCAATGGTGAAAGAAGGCACCTTCCGTGAAGATCTCTTTTATCGCCTTAACGTTATT
+CATTTAATACTGCCGCCTCTGCGCGATCGCCGGGAAGATATTTCCCTGTTAGCTAATCACTTTTTGCAAA
+AATTCAGTAGTGAGAATCAGCGCGATATTATCGACATCGATCCGATGGCAATGTCACTGCTTACCGCCTG
+GTCATGGCCGGGAAATATTCGAGAGCTTTCCAACGTTATTGAACGCGCTGTCGTGATGAATTCAGGCCCG
+ATCATTTTTTCTGAGGATCTTCCGCCGCAGATTCGTCAGCCAGTCTGTAATGCTGGTGAAGCAAAAACAG
+CCCCTGTCGGTGAGCGTAATTTAAAAGAGGAAATTAAACGCGTCGAAAAACGCATCATTATGGAAGTGCT
+GGAACAACAAGAAGGAAACCGAACCCGCACTGCTTTAATGCTGGGCATCAGTCGCCGTGCATTGATGTAT
+AAACTCCAGGAATACGGTATCGATCCGGCGGATGTATAACGCCAAAACTTGCTATGCAGAAATTTGCACA
+GTGCGCAATTTTCTGCATAGCCGCTCATTCTCCTTATGAATCCCCATCTAATTTATCCTTTTCTATTCAA
+TTAGTTAAATAACAACATTCAATAATCTCATTCTGGCACTCCCCTTGCTATTCCCTGACTGTACCCACAA
+CGGTGTATGCAAGAGGGATAAAAAATGAAAACAAAATTGATGACATTACAAGACGCCACCGGCTTCTTTC
+GTGACGGCATGACCATCATGGTGGGCGGATTTATGGGGATTGGCACTCCATCCCGCCTGGTTGAAGCATT
+ACTGGAATCTGGTGTTCGCGACCTGACATTGATAGCCAATGATACCGCGTTTGGTGATACAGGCATCGGT
+CCGCTCATCGTCAATGGTCGAGTCCGCAAAGTGATTGCTTCACATATCGGCACCAACCCGGAAACAGGTC
+GGCGCATGATATCTGGTGAGATGGACGTCGTTCTGGTGCCGCAAGGTACGCTAATCGAGCAAATTCGCTG
+TGGCCGGAGCTGGACTTGGTGGTTTTCTCACCCCAACTGGTGTCGGCACCGTCGTAGAGGAAGGCAAACA
+GACACTGACACTCGACGGTAAAACCTGGCTGCTCGAACGCCCGCTGCGCGCCGACCTGGCGCTAATTCGC
+GCTCATCGTTGCGACACACTTGGCAACCTGACCTATCACCTTAGCGCCCGCAACTTTAACCCCCTGATAG
+CCCTTGCGGCTGATATCACGCTGGTAGAGCCGGATGAACTGGTCGAAACCGGCGAGCTGCAACCTGACCA
+TATTGTCACCCCTGGTGCCGTTATCGACCACATCATCGTTTCACAGGAGAGCAAATAATGGATGCGAAAC
+AACGTATTGCGCGCCGTGTGGCGCAAGAGCTTCGTGATGGTGACATCGTTAACTTAGGGATCGGTTTACC
+CACAATGGTCGCCAATTATTTACCGGAGGGTATTCATATCACTCTGCAATCAGAAAACGGCTTCCTCGGT
+TTAGGCCCGGTCACAACAGCGCATCCAGATCTGGTGAACGCTGGCGGACAACCGTGCGGCATTTTACCCG
+GCGCAGCCATGTTTGATAGCGCCATGTCATTTGCGCTAATCCGTGGCGGTCATATTGATGCCTGCGTGCT
+CGGCGGTTTGCAAGTAGACGAAGAAGCAAACCTCGCGAACTGGGTAGTGCCTGGGAAAATGGTGCCCGGT
+ATGGGTGGCGCGATGGATCTGGTGACCGGGTCGCGCAAAGTGATCATCGCCATGGAACATTGCGCCAAAG
+ATGGTTCAGCAAAAATTTTGCGCCGCTGCACCATGCCACTCACTGCGCAACATGCGGTGCATATGCTGGT
+TACTGAACTGGCTGTCTTTCGTTTTATTGACGGCAAAATGTGGCTCACCGAAATTGCCGACGGGTGTGAT
+TTAGCCACCGTGCGTGCCAAAACAGAAGCTCGGTTTGAAGTAGCTGCCGATCTGAATACGCAACGGGGTG
+ATTTATGATTGGTCGCATATCGCGTTTTATGACGCGTTTTGTCAGCCGGTGGCTTCCCGATCCACTGATC
+TTTGCCATGTTGCTGACATTGCTAACATTCGTGATCGCGCTTTGGTTAACACCACAAACGCCGATCAGCA
+TGGTGAAAATGTGGGGTGATGGTTTCTGGAACTTGCTGGCGTTTGGTATGCAGATGGCGCTTATCATCGT
+TACCGGTCATGCCCTTGCCAGCTCCGCTCCGGTAAAAAGTTTGCTGCGTACTGCCGCCTCCGCCGCAAAG
+ACGCCCGTACAGGGCGTCATGCTGGTTACTTTCTTCGGTTCAGTCGCTTGTGTCATCAACTGGGGATTTG
+GTTTGGTTGTCGGCGCAATGTTTGCCCGTGAAGTCGCACGCCGAGTACCCGGTTCTGATTATCCGTTGCT
+CATTGCCTGCGCCTACATTGGTTTTCTCACCTGGGGTGGCGGTTTCTCTGGCTCAATGCCTCTGTTGGCT
+GCAACACCGGGCAACCCGGTTGAGCATATCGCCGGGCTGATCCCGGTGGGCGATACTCTGTTCAGTGGTT
+TTAACATTTTCATCACTGTGGCGTTGATTGTGGTGATGCCATTTATCACCCGCATGATGATGCCAAAACC
+GTCTGACGTGGTGAGTATCGATCCGAAACTACTCATGGAAGAGGCTGATTTCCAAAAGCAGCTACCGAAA
+GATGCCCCACCATCCGAGCGACTGGAAGAAAGCCGCATTCTGACGTTGATCATCGGCGCGCTCGGTATCG
+CTTACCTTGCGATGTACTTCAGCGAACATGGCTTCAACATCACTATCAATACCGTCAACCTGATGTTTAT
+GATTGCGGGTCTGCTGCTACATAAAACGCCAATGGCTTATATGCGTGCTATCAGCGCGGCAGCACGCAGT
+ACTGCCGGTATTCTGGTGCAATTCCCCTTCTACGCTGGGATCCAACTGATGATGGAGCATTCCGGTCTGG
+GCGGACTCATTACCGAATTCTTCATCAATGTTGCGAACAAAGACACCTTCCCGGTAATGACCTTTTTTAG
+TTCTGCACTGATTAACTTCGCCGTTCCGTCTGGCGGCGGTCACTGGGTTATTCAGGGACCTTTCGTGATA
+CCCGCAGCCCAGGCGCTGGGCGCTGATCTCGGTAAATCGGTAATGGCGATCGCCTACGGCGAGCAATGGA
+TGAACATGGCACAACCATTCTGGGCGCTGCCAGCACTGGCAATCGCCGGACTCGGTGTCCGCGACATCAT
+GGGCTATTGCATCACTGCCCTGCTCTTCTCCGGCGTCATTTTCGTCATTGGTTTAACGCTGTTCTGACGG
+CAACCCTACAGACAGAAGGAATATAAAATGAAAAATTGTGTCATCGTCAGTGCGGTACGTACTGCTATCG
+GTTGTTTTAACGGTTCACTCGCTTCCACCAGCGCCATCGACCTGGGGGCGACAGTAATTAAAGCCGCCAT
+TGAACGTGCAAAAATCGATTCACTACACATTGATGAAGTGATTATGGGTAACGTGTTGCAAGCCGGGTTG
+GGGCAAAATCCGGCACGTCAGGCACTGTTAAAAAGCGGGCTGGCAGAAACGGTGTGCGGATTCACGGTCA
+ATAAAGTGTGTGGTTCGGGTCTTAAAAGTGTGGCGCTTGCCACCCAGGCAATTCAGGCAGGTCAGGCGCA
+AAGCATTGTGGCGGGGGGTATGGAAAATATGAGTTTAGCGCCCTACTTACTCGATGCAAAAGCACGCTCT
+GGTTATCGTCTTGGAGACGGACAGGTTTATGACGTAATCCTGCGCGATGGTCTGATGTGCGCCACCCATG
+GTTATCATATGGGGATTACCGCCGAGAACGTGGCCAAAGAGTACGGAATTACCCGAGAAATGCAGGATGA
+ACTGGCGCTACATTCACAGCGTAAAGCGGCAGCCGCAATTGAGTCCGGTGCTTTTACAGCCGAAATCGTC
+CCGGTAAATGTTGTCACCCGGAAGAAAACCTTCGTCTTCAGTCAAGACGAATTCCCGAAAGCGGATTCTA
+CGACTGAAGCGTTAGGCGCATTGCGTCCGGCCTTCGATAAAGCAGGAACAGTCACCGCTGGGAACGCGTC
+AGGTATTAACGACGGTGCTGCCGCTCTGGTGATTATGGAAGAATCTGCGGCGCTGGCAGCAGGCCTGAAT
+CCCCTGGCACGCATTAAAAGTTATGCCAGCGGTGGCGTGCCCCCCGCATTGATGGGTATGGGGCCAGTAC
+CTGCCACGCAAAAAGCGTTACAACTGGCGGGGCTGCAACTGGCGGATATTGATCTCATTGAGGCTAATGA
+AGCATTTGCTGCACAGTTCCTTGCCGTTGGGAAAACCCTGGGCTTTGAGCCTGAGAAAGTGAATGTCAAC
+GGCGGGGCCATCGCGCTGGGGCATCCTATCGGTGCCAGTGGTGCTCGTATTCTGGTCACACTATTACATG
+CAATGCAGGCACGCGATAAAACGCTGGGGCTGGCAACACTGTGCATTGGTGGCGGCCAGGGAATTGCGAT
+GGTGATTGAACGATTGAATTAACATGTAAAAACGCCCGATAGCGAAAGTCATCGGGCGTTTTCTTGAACA
+TTGACAGTAAAGATAACCTCATTAATCACCAGTCAAAACTTTTCACCAGCGTCAGTTCGCCAGCATTACG
+CATCGGTACAATAAAAGTTTCCTGTTTCTCATTGACCGACCCTTCATCGGTGATCAGCGTCAGTTGGGCG
+GTGGTTAATTCCGTTTCGCTGCGTCCGCCATAGTAGTTGATATACACCTGATAACGGCCGTGAACTGGCG
+CTGGCATGGCGAAAATCTCGGGGCCGTACCCTGTCGTGACATCCATATCCAGTGCACCACTGTTTTTCAG
+CACGGTGTTACCGTACCAGGCATGTTCACCGTCAGGCGTAACGACATGAAGATCGAGGTCGGTATTGTCC
+GTATCCCACGAGAGAACCAGCCGTAAACGTGCGCGAATCGCCCCAGCACCCAGCGTTGAGTAAAACTGCA
+TTTTTTGTCGGCTTTGCCCATCTGGGCTGATGACCTGCACGCTGTTGCTGCCTTCAGTGAAGATATAAGG
+GCGTGCAAAAGAACCATCTGATTCAATTCTCTGCGGCATACTGGCACCATTGACCACCAGCCGGCCCTGC
+TGAACTTTACCCGCCGCAGCATAATTCTTTATTTTGCCGCGGATCTGCGCTGAGATATTTTGATCATCTG
+CCATGTTGACGGACGACGCCGGGTAATTGATCGTTTGTGAAAAACTGGCATCTTCACCCTCTGCCGGATG
+CCAGCCAGAGAGCGGTGCATCAATCTCGACTTCCTGCACACCTTCACTGTGAGCGACAGGCGAAAGCGCC
+ACCAGTAACAACGGAAGAAAAATCTTTCGCATAGCATTAGTCCATTAATAATTGTCGGGTCAGCGTTTCG
+ATATAGTTCTCATCAAGCCCGGTGGGATAACCATCAAAGGCCAGGTGCAGATACTCATGGGTTAAATCGA
+GCCGATCCTGAAGCGTAAAGAAGTTACGAATAAACAGCCGTTTCTGCTGCCGATCGGTATAGGGGAAACC
+TGAGATTAAACGACAGACCGCAAACACGTCTGGTTCGTTGTATCCCGTCTCACCTTGTAATATACGCCGC
+CACTGCGGCATTTTTTTCGCCAGCCAGGCTTTCGCTTTGGGTAATAACTGGCAGGTTGAGCGTGGCGCTC
+CCCAGCGGCTAAGGTTGTTGTCAGGATAAGCAAACGCAAGTATCTGATCGTAACGCTCTCCCTGCCCCGC
+CTGGGCAGTAGCGTGCCGCCAGGAAAGCGTCCCTTCGGTAACCCGGCTGCCATGATAATGAACCGGATCG
+CCCGCATAGATGAGATCCTGCGTCCAGGCGGTCATCGTCCGCGCGCCTACAGTGGCTGGCGAAGCTGAAA
+CGCGCTGGGTAGCGCTACTGTCCGGGATGCTCAGGCAATCACCATCGCGATCGGCGTTTTGCTGTAAATA
+CGTGCGAATCGCCACGGTCATGGCTTTCGCTGCCTCAGGAGGCGTACTTTTCGCCTCGCGATCCAGAACT
+CTGGCAACGTACTCTTCACGATCGAGATGCGACTGTAATTTCAGTTTGCCCTTTACCGTCAGTAACGTTG
+TCTCACCGTGGCTGACAAATGTCATGTGGTTACCATTGGCAAACGTCACACGATAGCGCCCATTGAGCAC
+GCCTGGTTTGACTGCCGTCGTACTCTTTTCCTCAGTAACTTTCTTCAGCGGATAACGAGCAAACAGATCC
+ACCAACACACATTGCCCACTGGCAACCTGCGTCGGCACTGGCAAAACCCGATTAAGCGCCGTCGCATAAC
+GGGTCAGTACCGTTTTGCTGGTGCCACTGCCAGTAACCCACAGCGGTGTACCATCGGTTAACCAGCCAGC
+AAAACCACCCTGACGGATTTCCTGTTTATCATCGGCAAACCAACTCCAGGTTTTCACCCGTACCCGACTA
+CCGAGCATGGATGCGACACCGATTTTCGCCTCGTCCAGCACCACATCCAGTAAGACTTCCTGAGCTTTGT
+TTTGCGCAGGTAATGTCGCTAATGAATCAAGCAGCGATTTAACCGTTACCGAGGTTTCTGGCTTCAGTGT
+AGTAAGAGACGCTAACCACGCAGGTGCCTGACGCTGTTGCCAGTATTGCCCCCACATATCTGCGCCAATA
+TGCAACCGCTGCGGCGCAAAATAGAGTCCACAGGAACGTACCAGCGCGGAATCGCGCGTTATGCTCTCCC
+CAGCCTGACAACAATAAACCTCTTCCGGGGAGTTGCCGCGACACTGGTATGGCTGCTCCGGTTGATGGGT
+ATCCTCCAGCCAGGCGTAAATATACAGTTTCCACAAACTCCCTAATGGCGTGGTGAGCGTGTCAGGTAAT
+ACCGAGACTTTGGTCACGCCTGATGACGACAGCTGATACAGTTGATCGTGCTGCGCGCCCCGCAGCGCCA
+GTTGTAACGGCGTCTCCTCCGCAAGCGTTGGCAGAGTTACCAACGCCAATAGCCAGACGATTCTGTACCA
+GTTCACTTATTTCACCTGCATCCCGATCCATTCGCTCCCTGGCGCAACACTTTGCTGTGCAGGTGCATAG
+GAACGCACATAACGAGCAGGAGGCAGAACGAATTGCCCTTTTTGCGAGAAGCGCAGCAAATGGCGGAAAG
+TGACCGTTCCCGTCAGTTCTTTCACCGGCACCATATAGGCCAGTTCGCCCATTTCATTTCGCGCTTTTTC
+CAGCAACTGCCCCTGCTGTTTCGCGGCGTTGGGTTTATTGACCGAAATGCCCCATGTTGTGCGCTCAACA
+TCGGCTCCCGGCGGGAGCGGTACTTCCACCTGACCATAGCGCAGAACGGCATCCTGCTCGCTGGTAAGCG
+TAATTTCATCGAGATACAGCGCATCGCTGTCAATCTCATTGCTGGTCACCGGCTGCAGAGTAAAGCTCAT
+CTCTTCTTCACCGGGGATAAGCCGATACAACTGGCGTTCAACGGTCACCGGAATGTTACTTTGTTGAGCC
+GTTTTTGCCGGTTCACGCCAGCGGACCTGCACATTTTGCGGCGATAATTCGTCACCAAAAGAGAGAATGT
+CCGGCACGCCCTGACCAACCCAACGCCAGTATTCGCCCCCTCCAGTTAACTTATGTTTGGCCCATGCGCC
+CGCAGGCGCAGGCAAAACAACTGGAGGCATTGTCGCCATATATTTCGCCAGCCAGTTCATGGCCAGCGCG
+CGCTCAATAGTAGATTGCTCAGCGGTCAAACCACTTAAAATAGCAGCCGCCTGGGTAGCGTCGCCCCCGC
+TATTGAGCAGCACAACCGTGTGCGCCAGCGGCTGATTGCTGTTTGCCGCTTTATCCCACGCATATTGCTG
+AACCTGTGGCATCACAGTGGACTTCAACTGCGCTTTTTTCAGCAACGTCATGGTTAAGACGTTTGCCACC
+GCATCTGCCAGTGGAGATTCAGGTGTATCGAGGATCATGCTGTCATTGATATCGCTGGTGTCTGCCTCAG
+AGAAATCTTTAGTTTTAGTTCCGCGCCGGGCGATAGCTTCATCCAACCCTTTCAACAACGTTTTGCACGG
+CAGATTCATCTCCTGTGCCCACGCCAGCACCAGCGCCCGATGCAATAACGGCATGTTGTCCGCCTGCTCG
+GCATAACTGTCGAGCATATGTTGCCAGTATTCCGGTTGCTGCGTTACGCCGAGCGCCTGGCTGGCCTGCC
+AGTCGGCGTACCATGCCCATGCCGTGAGGAAGGCGTCGCCATTGCCATCTTCACCCCACCAGGTAAAGCG
+CGCTCCGGGCCCCGCCAGTTGCATCAGCCGCAGACGGTTATCCTGAATCATCTGACGAATGTCGTTAGCG
+GCGGCACTTTGATGATCGGCAAGCGAACGCCAGGCGAGACTGAGCGGGATCAGACGGCTACCGGTGTTGA
+TCACGCCCCCCCACGGTTCATCGACTAACGCATCAAGATTGTTACGGAAAATCTCCTGCGGCGTTTCGCT
+ACTTTGTAGCCGGATATTGCTCGCCTGCTCGGGCAACGTCAGCGCATTATCGCCACCGCCGAACATGACG
+TTTTTCTGTTGTTCAACGGGCCAGCTGTTATCCACAAAAGACAGTTTTGTGCTAATGCTGTCCTGTACTT
+GCCCATTTTGTTGCAGTTCTGCACTTAACAAGCCAGATTGCTGAATATTCTGCGTCAGCGAAATATAATT
+CGCCCCTTTGTGCAGCGTCAGCGTCTGGCGCATCTCAGCACCTGCAAATTTAGTCACCAGCGCCACCGGT
+TCGTTATCCTGCTGACTGAAGATAAACAGTCCTGCCGCCGGTTTGTCGCCCATGCGATACACCGTTGGCA
+TACTCCATTTCATGTAGAGACTTTTTTCCGAACGCAGATAAGCACGCCCCTGCCCGACCAGCCCGTCGCC
+GTTCATCCCACGCGCGGTGATGCGCCAGCGGGTTAACGAATCAGGCATCAGGAACGTGAAATACGCTTTG
+CCTTGTTTATCGGTTGTGAGTGACGGCATCCAGGCCGCGGTATCCACCTCTTCACGCCGTGGACGTTCCA
+GCATTTTTACTCGCCGCTCGCTGCGGTTAGTCGCGCCAGGCGCAACCGGCTCGCTGGAGAGCGCCTGATC
+GTAGCTGATAAATGACAGGCTGGAGCTGGTACGCACATTGTTACGCCCCAGCGGATAGAAAAATTTGCCG
+ATATTCGGCGCGATTTCCGGTTGCAGCGCGTAGATCATTTCATCGACCACGCCTACCGTTAACTGCGCAG
+AAACAGGTTTACCTTTCAGCGACGAGGTTAATTCGACATTGACCAGTTCACCAGGCTGGTAATGGGTTTT
+GTCCGTTTTCACCCGGATATCCAGCTGGGGAACGGCAACTTTAATCCCGGCGTTCTGAAAACTGTACTGA
+CCGTTACGGGTATACAGCACCGAAAAAGTGATGTTAGGCGCAAAGGAATTGCTCACCGGTACGCGGGCTT
+CATACTGGGTATCGTTTAAACGTTGTAGCGTTAGCCAGTTTGCCGGATGCGATAGCAGCGACTGCTGTTC
+CACGCGATCGCGTTCCAGCGTCAATAATGCTTCGTCAATTGGCTCCGGGAAGGTAATCAGCATCTTCGCG
+GTTTCGCCAGGCTGATACAGTGTTTTATCTGCCACGATATCTACCGTACCAGTATGCGACGTGCTGCCCT
+TACCGCTGACTGCATGGCTTAACCCGGCGAGAATTAAGCCGTCTTTATCGCGTAATGTCAGATTGTAGTT
+GCCAGGTTTAGCGAAATTGACGGTAAAGGATTTGCCGCCTGACTGTAGCTCTCCGCTGTGGCTCGTGCGG
+TCTTCGAGACGCAACCATTCATAAGTAACAGGAACCTGTTTTGAAGATTCCAGCGCGGCATAACGGAACA
+CAACCGACTCGCCGCTATTACTGTATTGTGCGGCGGTACTTAAAGAGTAATGCGCCAGGCCACGTTCAAT
+GAGGATCTCTTTGGTGGTGGTAACTCGATACGCCGCGCCGTCACTGGCGGAGACGGTTAACAAATAACGG
+CTCGGTTTATCGGCGGCGGGGAGATTCAACGCCACATGACCATTATCGTCGGAAACCGTTTCACTGCCTT
+CCAGCGACACCGGGAAACGTCCGGCATAACGCAAATCGTTACCAACCATTGATAATTGCTGAGCGCGCAA
+ACTTAACTGCACGCGGGCATTTTTTACCGGCTCGCCATCCGGGTAGAGCAGTTGCAGTTTGCCGCTGACT
+GCTTCGCCAGTTTTGAACTCTTTTTTATCGAGAGCTAAACCAATCTCAAAATGGGGTTTGATGTAGTTTG
+CCACACGAAAACTGCTGCTATAGACCTGTTTGCGGTAAGCAAGACGTAACTCATAACCTCCGGCGACGGC
+ATTTTCTGGCAGGCGGAAACTCCCCTGCCCGCCATTACGCGCATCCAGCGTGACATTGACGGTTTGCAAC
+AGACTGCCGTTGGCGTCCAGCACCGAAAGCTTCGCCGGTGCGCTGACGATGGGGGATGAATGCAACGGAT
+CGTGGAACTCGCGGCCCATCACTTTAACATCGACACGATCGCCTGCGCGATATAGCGGGCGATCGGTAAA
+GATATACAAGCGGGTGTTGTAGATTTCGCTTTCGTAGAAAAAGTTCTCGGAGACAAAAACGCCGCCTTCA
+GCATCCTTACCCAGAATATATGAACGTTCTGGCGATATATGTTGTAACTGCAAGGTACCGCTGCCATCGG
+TCACACCGCGGGTCATCACGCCAAGACCGTCAGTCCACAAGATCTCTGAGCCGGTCTTCGCTTCACCCTG
+TTTTTTCCCCGCGGTCCACACCAGAAGCTCGTTACCTGACACTTTGCTAAGCGCCACGGTATCGGAAACA
+AACACCACCGTCGTCGCCCGATACCCACCCACCATCGCCTCGACGAGGTACAGTCCCGGCTCTTGTTTGC
+CGAGAGGAATATAGATGTTGCCCGGCTGCGGCGAAATGAAATTGCTGGATGCGCCTTCCAGTTTTACCCC
+TTGTTGCGGCTCGACCGGTTTAGCCTGCCATAGTGGGTAACGGAACTGTTCCACTAGTGGATATTTTTTC
+AGCGGTGAAAACTGGTTGTTCTGTACATAACGGGAAGGCTTAATAATGGCATTGCCGAGCTGTAATTCGG
+GTAACGCCTGAGTCACATTCTGCCGTGACTGAGAAGAGAAAGTACGCTGCATCACGCGGCGAGATTTGCC
+GTACCAGTTATCCCACAGCCAGGTCAGCGTATTGTTCAGTCCGTCGCCCAGATATTGCGGTTGCACCACA
+ATGCGATGCAGGTTTTTCTGCTGGCGCAAAAATGCCATCGGGTCAGGAATACGATACAGGCGAACGTCCA
+CGCCGCCGTACTCTTCCATCTGATAGCGCCGATAATCACGCCCCGGCGCTTCCAGTCGCACTTTCGCCTC
+TTCACTGCGGCTAAAACTGCTGTCAGCAAGCAAAAAGAATGTTCCCCCGGCGGGCGGCGCATAGTTACTG
+GAAGGAAGCGAATCATCAGCATTAGCAAGCCCTGTTCCCACAAGAGACAGGGACAAGCACGCTGCTATCG
+CGCCAGAAAATTTAAACGATAAATGCCAATGAAATTGGGATTGGAATCGTTGGGTATCCATCGGGTGTCC
+TTCCATGTCATAAGTTGTTGCAGACTGACTGCGCGCATTCCGTTGTCAGTTTTCGTGGCGCTTCCGGTGT
+GGTAGATGATGTAACGCCCCATCCAGACCATTAAGTGCTGGGCATCGCCCTGATCGAAAAAAATCATATC
+GCCAGGCAGTGCCTGGTTTATGTCCTGGCCAATAAACTGGCTGTTGTACTGAATCAAATTAATCGCGGTC
+ACATAGGGGCCGGTTTTCCCATTCCCCTGATTCCAGTTTTGCGCCAGTTGACGCTGTTCAGGTGTTAGCG
+TCATCTCTGGCGGCAAATACTGGTTAGATAAACCGTTACTTTTTAGCCATTTACTGTCGTGAACTTTCAG
+CGCCTCGTTCGCCGCAAATCGCACCAGGCCCGCGCAATCCTGTTGATACCAGCGTGGGCTTGGCCCCTGG
+CGGAGCTGTTCCTGTGCAATGCGCACAAACCACGCGCGAAACAGCCCGGATTGTTCGACATTTAGCATTT
+CACTATGGGCAACAACACAATACAGCCAGCAAATCAGCACCAGCAGCCCGTGTCTCATAGCGGTTGCCAG
+GTTATGGGTAGCCACTGCCAGGCGGCACCGGGTTCCATCTGGGCCAGCTTCATGACATAACGCGGTTGTT
+GAGATAAAGCGTCCAGCTTCGGCATTAATAAAGTTTGTGCGGCGTTATAAAAAACCGGTTCGAGATTCTT
+CGGCAGACTGGTCAGCGTTTCGTTACGCAGCAGTTTCGCCATTCCTTGTGGATTGATATAGAGCGGAACG
+ATGCCATCAGTGGGTATTACATCCACCATTGCCGGGCGGGTTTTATTCAGTGCTTGCAGGGCGTTATTAA
+CCAGCGTGTCATCGAGGGAGAAAAGCAGCGTTTTGTTTTGCATCGCCAGCGACACGCGGAAAAAATAATC
+CGACATTAATTGATCGGGTTGCGCCGCCTGCGCTTTCGGATACTGACCGTATCGGGAACTCACTTCGCGA
+CGCCAGATTTGCGCTTCGCCCTGCTGAGTCTGGCTTACCGGCAAAACACCTTCTGGCGCTTTGCTTTCGT
+GCGCACCAATATTTTGCGTAAACAGTTTCCCTGGCAATTGCGCCTGTTCGGCAGTGCCATCAAACTGACC
+AACAAACAGTGGGGTTTGCAATTTTGAGTCTTCATACCAGCACAGCCCCGCGCCACCGTCTAACGCCCCA
+TTCAGCTTGTCGTTTTCCTGGCTGATGTGCGAAAGCATCTCTTCGGCAATACCGTGTGAATACGGCACCG
+CCACACAGAAGCTGGCTCCGGCAGGCATACTGTTCCATACCGGCGTAAAATCGAAACTGGCATCTACGCT
+GGCGGATTCATCGTTTAACGCCAGAAAACTGTGCCAGCCGTCGTTACCCATTTCGAAGCGCATGCCAGCA
+AAAGAAGGCACTAATCGCTGGTAGCCAAACCCCAGCAACCTGGCGCTGACCACGATGCGCTGGCGTACTG
+GCGTTTTTTCGGCAGTACGCTCTTCCAGACCAAAACTGGTTTCCCAGCGTTTCTTACCACTTAACAAATC
+ACTTGCGATTGCCGCGGCTTCGGTATCCTGCTGGTCATCTTTAAACAGCATGTCCGTGCTGGAAAACACC
+AGCATCTTGTCCTGATAAGTTGCGAACATCAGGGCGTTATTGCCGTTATAGCGCAACTGATAAACCGGGA
+TGGTTTCACTATTTAGCTTAATACTACTGATTTCCGTTTTACTTAACTGGCTGTCGCTGGTAGCGGCAAA
+CAGCAATGGCTCCAGCAGCTTGCTTAAACCACTGCGCTGGATCAGCACCATATAATGTGAAAGATGGCCT
+TGTTTATCGTGCCACAGCGCCGCCTGCGCGGGCTGATCTAAGAGTGACGAAAAGAGCTTATCTTTCAGCG
+TGAGATCGTGTTCATAGACAATGCGGCGAATGCTGCCTTCAATACCCAGACGATCAGCATGATTCTGATA
+ATAGAAAACGAAATCTTCGCTCAGAACATCGTGGAGAAACGGAATGGTAAGGAGATCTTTGGGAAGCTGG
+CTCAGAGAGTCGCTGTCGAGAAAGAGGTCCGGCTCATTGAGATCGATTTGCAGATTGTTGTGCACCACCA
+GCGGCGACAACGTTTTTTCTGGCCCACTGCCAGCATATTGCAACGCCCAGACGCCAGTGGAAAGCAGTAC
+TATTGCGCCCAAACCTACAAGACCATAGAACCGCCAGCCTTTCGCCTTTTTTTCACCACTCATTGCCACA
+TTCCTTGTGTAAAGCCAGCCATTTTTTACGAGCACAGCAAAACTTTACCGCGCCCTAATACGACAAAAGC
+CCAGACTTTGCAGCCTGGACTTTTCAATTCAAACAAGGGAGATAGCTCCCTTTTGGCATGAAGAAGTAAA
+ATTATTCTTCTTCTGGCTCGTCGTCAACGTCCACTTCCGGAGCGATTTCATCGTCCCCTTCCGCGGCACT
+GCCATCGATGGTATCCAGATCTTCCTCGTCAACCGGTTCAGCAACACGTTGCAGACCCACTACGTTTTCA
+TCTTCCGCAGTACGGATGAGGATCACGCCCTGGGTGTTACGGCCTACGATGCTGATTTCCGAAACGCGAG
+TACGTACCAACGTACCGGCATCGGTGATCATCATGATCTGATCGCAATCATCTACCTGTACCGCGCCAAC
+CACTAAACCATTACGTTCAGTAACCTTAATGGAGATAACCCCTTTCGTCGCACGCGACTTGGTTGGGTAT
+TCTGCCACCGCGGTACGTTTACCGTAACCGTTTTGCGTTGCGGTGAGGATTGCGCCATCGCCACGAGGCA
+CGATCAGAGAGACGACTTTATCGCCTTCACCTAAGCGAATACCGCGAACACCGGTGGTGTTGCAGCCCAT
+CGCACGGACAGAAGACTCTTTAAAGCGCACCACTTTACCTTCAGCGGAGAACAGCATTACTTCGTCTTCG
+CCGCTGGTCAGGTCAACGCCGATCAGCTCATCGCCGTCAACCAGTTTGATCGCCACTTTACCGGCAGTAC
+GCAGACGGTTGAATTCGGTGAGGACGGTTTTCTTCACAGTTCCGTTAGCGGTCGCCATGAAGACTTTCAC
+GCCTTCTTCAAACTCGGTCACTGGCAGGATCGCAGTGATACGTTCGTCTTGCTCCAGCGGCAGCAGGTTG
+ACGATCGGACGACCACGCGCACCACGGGTTGCTTCCGGCAACTGGTAGACCTTCATCGAATAGACGCGAC
+CACGGCTGGAGAAGCACAGGATATGATCGTGAGTGTTCGCCACCAGCAGTCGGTCGATAAAGTCTTCTTC
+TTTAATACGTGCGGCAGATTTACCTTTCCCGCCACGACGCTGCGCTTCATATTCAGAAAGCGGCTGATAC
+TTCACGTAACCCTGGTGAGAAAGCGTGACCACCACATCTTCCTGGGTGATCAGATCTTCCAGGTTGATGT
+CGGCGCTGTTAGCGGTGATTTCGGTACGACGTTTGTCACCGAACTGTTCACGAACCAGCTCCAGCTCTTC
+ACGGATCACTTCCATCAGACGATCGGCGCTACCAAGAATACGCAACAGTTCCGCAATCTGATCCAGCAGC
+TCTTTGTATTCGTCGAGCAGTTTTTCGTGCTCAAGGCCGGTCAGTTTCTGCAGACGCAGATCCAGAATCG
+CCTGAGCTTGCTGTTCGGTCAGGTAGTACAGACCATCACGCACGCCGAACTCTGGCTCCAGCCATTCCGG
+ACGCGCAGCATCGTCGCCCGCACGTTCCAGCATCGCGGCAACGTTGCCCAGCTGCCACGGATTAGCAACC
+AGCGCGGTTTTCGCTTCTGCAGGCGTCGGCGCATGACGGATCAGTTCGATGATCGGGTCGATGTTCGCCA
+GCGCCACGGCTAATGCTTCAAGGATATGAGCACGATCGCGAGCTTTACGCAGTTCGAAAATAGTACGACG
+GGTCACTACTTCACGGCGGTGACGAACAAACGCCGCGATGATGTCTTTCAGGTTCATGATCTTCGGCTGA
+CCATGGTGCAATGCCACCATGTTGATACCGAAAGAAACCTGCAACTGGGTCTGGGAGTAGAGGTTGTTAA
+GCACAACTTCACCGACCGCGTCGCGTTTCACTTCAATCACGATGCGCATACCGTCTTTGTCAGACTCGTC
+ACGCAGCGCGCTGATGCCTTCCACGCGTTTTTCTTTTACCAGTTCCGCAATCTTCTCGATCAGGCGCGCT
+TTGTTCACCTGATAAGGAATTTCGTGGACGATAATGGTTTCACGTCCGGTTTTGGCGTCAACTTCTACTT
+CGGCACGGGCGCGGATATATACCTTGCCGCGACCGGTACGGTAAGCTTCTTCAATACCGCGACGACCGTT
+AATGATTGCCGCCGTCGGGAAGTCCGGCCCCGGGATGTGTTCCATCAGCCCTTCAATGCTGATGTCTTCA
+TCATCGATATACGCCAGACAACCGTTGATGACTTCCGTCAGGTTGTGCGGCGGGATGTTGGTTGCCATAC
+CTACGGCGATACCGGAAGAACCGTTCACCAGCAGGTTAGGAATTTTGGTTGGCATGACGTCCGGAATTTT
+TTCCGTGCCGTCATAGTTATCAACGAAATCGACCGTCTCTTTTTCGAGATCAGCCATCAGTTCATGGGCA
+ATTTTCGCCAGACGGATTTCCGTATAACGCATTGCCGCCGCAGAGTCGCCGTCGATGGAACCGAAGTTAC
+CCTGACCGTCTACCAGCATGTAACGCAGCGAGAATGGCTGCGCCATACGGACGATCGTGTCATAAACCGC
+CGAGTCACCATGGGGATGGTATTTACCGATTACGTCACCAACGACACGGGCAGATTTTTTATAGGCTTTG
+TTCCAGTCATTGCCTAGTACGTTCATGGCGTAAAGTACGCGACGGTGTACCGGCTTCAGGCCATCTCGGA
+CATCTGGCAGCGCACGGCCAACAATGACCGACATCGCATAATCCAGATAGGAGCTCTTCAGCTCTTCCTC
+AATGTTGACCGGTGTAATTTCTCTCGCAAGGTCGCTCATCTAACCGCTATCCCTCTACTGTATCCCGGAT
+TCAAAGGTCGCAAATTATAACACAGCCGCGCAGTTTGAGGTAAACCTATACGCTTTATTCACATCCAATG
+CCTGATATACTCGTTTGTCTTGCCAATTACGGAGTAGAAGTGCCAATGAATGCCGAAAAATCGCCGGTAA
+ACCACAACGTAGACCACAAAGAGATCGCTAAATTTGAAGCCGTCGCCTCCCGCTGGTGGGATCTTGAAGG
+TGAGTTCAAACCGCTGCACCGCATTAACCCGCTGCGTCTGGGCTATATTGCCGAGCGTGCTGGCGGTTTA
+TTTGGCAAAAAGGTGCTCGATGTCGGTTGTGGCGGCGGCATTCTGGCCGAGAGTATGGCGCGGGAGGGCG
+CGACGGTGACCGGTCTGGATATGGGCTTTGAGCCATTGCAGGTGGCAAAACTGCACGCACTGGAAAGCGG
+CATTCAGGTGGATTACGTGCAGGAAACCGTGGAAGAGCACGCGGCAAAACATGCCGGACAGTATGACGTG
+GTGACCTGTATGGAGATGCTGGAGCACGTCCCCGATCCGCAGTCAGTGGTCAGAGCCTGTGCGCAACTGG
+TGAAACCGGGCGGCGATGTCTTTTTCTCGACGCTTAACCGCAACGGCAAGTCATGGCTGATGGCGGTGGT
+TGGTGCGGAATATATTTTGCGCATGGTGCCTAAAGGTACACATGATGTGAAGAAGTTTATTAAACCGGCA
+GAATTGCTGGGCTGGGTGGATCAGACCAGTCTTAAAGAACGGCATATGACCGGGCTGCATTACAACCCTA
+TCACTAACACCTTTAAGCTCGGCCCCGGCGTGGATGTGAACTATATGCTGCACACGCAGAATAAGTGAGG
+TTGTTGTTTGGATTCATCCGGCAACCGCGCCAAGCCTGATGCGACGCTTGCCGCGTCTTATCAGGCCTAC
+AAATGCTCCCCGTAGGCCTGATAAGGCGTTTACGCCGCATCCGGCAACAGTGCCGGTCAGACAGCGATTA
+CCATTTCACTGTCATCGACAAAAACCCTGCCGTCTGGGCAAAATCATCACTCCCTTTCTGCCACGCCACG
+CTGCCGCGCAGCGAAACTCGCTGACTGATATTGCCCGTTATTCCCACTTTTATTTCACCCCGTTGCTTCA
+CCGCATCGTCACTGATAGTGCTGCCATCTTCTTCAATTTCCGTCGCATGGGGATCGTGATAATAATTCAG
+ATCTAACGTTGGCGTGACACCAACAGCAGTACGCCATTCGCTGTGTAAACCCAGCCGCGTCTGAATATCA
+TCACCCTGCGATTGTGACACGCGCGCATGGTTAGCGGCGGTAAAATCATCCTGATGCACGCCCTGATAAA
+TCACCTGCGTCTGCGGTTCAATCACCACACCATGCCCCGGTAACCACTGATAACCGGCTTCCAGCGAGGC
+GATAATCCCCGACGAGTGGTAATGATCCACGCCATCGTCTTGTTCGGAAACATCATTGTTAAACCACACA
+TATTGCAGCCAGCTATCCAACCAGGCCCCCTGCTTCTGATTACCGTGCTGATACCAGCTTGAGGTCAGCC
+CAACGGCATAACCGTGGTTCTGGTTATCGGCGCGAGTTCCGGTCATATTCGAGCGGCTGTCGCACTGGTT
+ATCGCTGTAGCCACCAACAATCCCAAGCATCCACTCGCCATCATCACCCCAGTGCCCGCTAAACAGGTTG
+CCGCTAAGCTGCACCGTAGAAGTGTCTTCATGCTGAGCCAACTGCCCTACCGCCGTGTAATGATAACGCC
+CGCCGATAACGCGTAAATTCAGCGTCTGACCATCGCCACCAGCGTGATCGCGTCGCTCCATCACAAATGC
+CTGATTTGCCGCCCGCAGGTTATTAAAATATCCACCAACTTTGGCATTCAACACCGGCTGGTAGGCAGGC
+GTAGGTTCCGGGTCGGGGGTTGGGTCGGGATCCGGCGTGGGATCAGGATCTGGAGTCGGGTCTGGATCAG
+GCGGCGGCGTCGGATTGACTTCTTGTGATCGCAGATACCAGTCGTTGTTATCTTCCACCAGCGTGTAGTC
+ATACGCCCCCATATTGACGTAGCCGCTTCCTGCCAGACTGAACTGCGCATTGTTTTGAAACTGCGCGGGA
+TCAGCTGCGAAATCAACTACTTTAATACCTGTAGATGTCGGTTCACCAATGCCAGTAATGGGGTTAACCA
+CCACGGTCGTGTTACCCGAGGTATTGCCGTTCAACACCAGTTGGTCGCTTGCCGAGTCATCGCCGTTTAA
+TTCGCTGTCGAGAAACAACGTACCGCCACCGGTGTAATCACCGTTTACCGTCAGCGTGTCGCCAGCGACG
+CTATTTTGCAGGCTAATCGCACCGGACGTATTGGTCAGATTGCCATTAACCGTCACGTCGGAAAGATAAG
+TCAGGCTGTCAGTTTCAAGGTTGGTATTAAGCTCACCTGCCAGCGTCACGCCATCGGTGGCATTCACCAG
+CGTACCGTCGCCGCTAAACAGCGAGGCATCCAGCGCCTGGTTTGTATCCTGCTGCGTCAATCGCAACACA
+GTACCATCGGTTATGTCGATATCGCCGCCAGAGGTGGCATCGATTGAACGAATATCCTGATTTTGCCCGG
+TTTCAAAAACACCGTCTTCCCCCACCCACAGTGAAGAAACATAAGGAATAATATTCTCCGCTTCACCTTT
+TAGCGTTCCGTCCTCCACACGTACCGCAGACGTCGCAGTGCCGCTGGCGGTCAACTCCAGCGTACCGCCG
+CCACTTTTAGTCAACGTGCTTACGCTATCCAGTTGTTGCCCGGTACTATCCGCCATCAACCCGCCCCATT
+GCGTATCTACGCCATCCTCAACGTGTATTTCGCCATCAGCGCGCATTTCAATATTCCTGCCCTGACCTGT
+TGTAGCCGAGCGAGTGTCAACATCAGTCGTCACATCCATTTCACTGTGTTGTTGGGGATCTGTGAAGATC
+ACTGAACGGTTGTAACTTGTGTCCCCCAATTGCGAATTATCGCTGACTTCAAGCGTACCGGAGGCGATTT
+GCGTATTACCGAGATAACCGTTGTTATTCGCCAGCGTTACGCGCTGATCCCCCGCATTAATGACGACATA
+AACGCCATTCTGGCTGGCATCACTGCCGCCAATATGTAAATCATCGCCACTGCTGATATCAACGACATCA
+TTACTGCCAATCACTGTCCCCCCGCTGCCGCTGATTTGCAGACCGTCATTGTATGAGCTATCGCCATCCC
+AGGTGGTGAAATCAGAGAGATCCAATACTCCGCCATTTAGCACGATCGATTGCGGATCGCTCTGCATTGC
+CCGTAAATCGGCCTGATTCCCCGCCAGCGACAATACGGCGTTATCTTCCACCACAATATCGCCGGTTAAT
+GCCATCGACTGCGCCCCTGTCAGGAGATAGCTGCCATCTTGCGCTACCGTCAACTGTCCTTCACCCTGAA
+TCGAGCCGGAAAAACCGCCCTGGTTTACGGTAACATTGCCGCCTGCGTCGATATTCAAAATGCCATTAGC
+AAAACCGGTTAATGAGTGCACAAACGTTTGTTGTGTATTGCCAACATTCAGTTCTGCCTGATACTCAGAA
+TGAACAGTGCTGCCGACCATCAGACCAAAGCAATCCTGCGGATCGCTCTGACAGTGCGTGTCGCCGACAT
+TCATTAACTCATCGCTGCGCCCCAGCGTCACCTCGCCATTCTGGATACTCATCTCGCCGGTAAACGCATT
+ATTGTCGGCATTGAGGACTAACTCTCCCGCTCCCTCTTTAACGATGACTCCCGTTCCGGCAAGAGAATCA
+ATCGCGCCATCGTTGCTGGTATTGCCTATTACCAGCGTTTTATCGGCGGCAATGTTAAATTCAGCCACAC
+TATGACCGATATACATAAAGCCCCCCGCCGCTGCCGTCGCCGAATGGTCATATCCCGAGGCGCTGTTATT
+TTCATCAATCATCACACCATTGTTTTGGTCATAATTATCATCAACAGAAATATCAATAAGATACGGGGAT
+GTGGTGCTGCTGGTATAAATTGCTCCGCCATAACCTTCTGCATAGTTATTGGTAAAGGAGGTATTATTAA
+TTATCGTTTTTCCTGAAAGATGTGTGTTATCCGTACTATTATCCGTAACATCAATAGCGCCGCCATCCCC
+ATCACTATAACTTGTTGATGTATATGCCTGGTTATTATTAAAAGCATCATCACTTAAATAGACGTCATTA
+TTGATGGTATAAATTGCACCGCCTTTGCCGTCATTAGCGATGTTATTGTGAAATACGGCGTTAGTGACAC
+GTAAATCGGCGGCACCGGTATCATTGGTACCGGCAGAATAGATTGCTCCGCCATAGCCTCCTGCAACATT
+ACTGTCGAAAATAACATTCGCAAGATTTATCGTTGAGTTTTCTTTAGCAAAGATAGCCCCACCATTATTA
+TATTCGCCACTAACCGAGTTATCAGCAAACAGGGTCATCCCTGTTTCATTTTGTGGTGATATCGTAAATT
+CAGCACTGTGCTGCAAAAATACTGCGCCACCGCTGGCATTATTGGCCATACCCGAAAAAATCAACCATTG
+CCCATCCGCGATGCTCCAGTCCTGCATATTGCCTGAAAGGCTTTGCCTGCTGGCCTGACAGCTCGCTTTG
+ATATCATATCCCTGACATGAATCAATGACCGCTGCGGCACCGTTACCAGAGAAAAGAGATGCAATCATTG
+ACGGGAGTAAAGATAAATACTCCTTGCGTAGAAAGATAATCCGCATATTCATCTAACCATCATTTTCTAT
+AAGATGGCGTATTTAATCGCATTATGCGATATAGGGTATTTTTCTTTTGTAAATTCTGCCCCTGATGTAA
+TAACTATTTTGTTATTATCTGATAATTAATTTAGATGCATCACAATTCAAATTATTAACTTTAAGGTAAA
+TCGGTTATATTTAAACTGAATTAAAGCAATAAATAATATTCTTATAATAAATACAAAAGTAACAAATTGG
+CTTAGTATTTAACAATAACCGAATATAAAACAACCATTTCCGACTCAACAATCGCTTACACTCGCTTATA
+TATTGACCACAACTGATACATCAGATTATGTGACGACTTGTGCCTAGATCAATTTTGGCAATCATTAGCA
+ACAAGATTAATAAACCATCTATATCAATTTACCTATCCTATTTTACCGTTCAAGAATTCACCGAACGGTT
+ATTTTTAACAAATTTTTCTCTTCCCATTGACTTTCCCGGACACCTTGTCTGACCTAAGGTGCGCGGAAGC
+CACTTTTTCCTTCCTGAGTTATCCACAAAGTTATGCACTTGCAAGAGGACCAGTTTCACACTATCTTGCA
+GTGAATCCCAAACATACCCCCTATATATAGTGTTCTTAGCAGCTTCCCTCACTACAGGTAGTCTGCATGA
+AGCTATTGAAAAACAGGTACGACATACATGAATCAGAATCTGCTGGTGACAAAGCGCGACGGTAGCACAG
+AGCGCATCAATCTCGACAAAATCCATCGCGTTCTGGATTGGGCGGCAGAAGGACTGCATAACGTTTCGAT
+TTCCCAGGTCGAGCTGCGCTCCCACATTCAGTTTTATGACGGTATCAAGACCTCTGACATCCACGAAACT
+ATTATCAAGGCTGCCGCAGACCTGATCTCCCGTGATGCGCCGGATTATCAGTATCTCGCCGCACGTCTGG
+CGATCTTCCACCTGCGTAAAAAAGCCTACGGTCAGTTTGAGCCGCCTGCACTGTACGACCATGTGGTGAA
+AATGGTCGAGATGGGCAAATACGATAATCATCTGCTGGAAGACTACACGGAAGAAGAGTTCAAGCAGATG
+GACACGTTTATCGATCACGACCGTGATATGACCTTCTCTTATGCTGCCGTTAAGCAGCTGGAAGGCAAAT
+ATCTGGTACAGAACCGCGTGACCGGCGAAATCTACGAAAGCGCTCAGTTCCTTTATATTCTGGTTGCCGC
+GTGCCTGTTCTCGAACTACCCGCGTGAAACGCGCCTACAATACGTGAAGCGTTTTTACGACGCGGTTTCC
+ACATTTAAAATTTCGCTGCCGACGCCAATCATGTCCGGCGTGCGTACCCCGACTCGTCAGTTCAGCTCCT
+GCGTGCTGATCGAGTGCGGCGACAGCCTGGATTCCATTAACGCCACCTCCAGCGCGATTGTTAAATACGT
+TTCCCAGCGTGCCGGGATCGGCATCAACGCCGGGCGTATTCGTGCGCTGGGTAGCCCGATTCGCGGTGGC
+GAAGCGTTCCATACCGGTTGTATTCCGTTCTACAAACATTTCCAGACCGCGGTGAAATCCTGCTCTCAGG
+GCGGCGTGCGCGGCGGTGCGGCAACGCTGTTCTACCCGATGTGGCATCTGGAAGTGGAAAGCCTGCTGGT
+GTTGAAAAACAACCGTGGGGTTGAAGGCAACCGCGTGCGTCATATGGACTACGGGGTTCAAATCAACAAA
+CTGATGTATACCCGCCTGCTGAAAGGTGAAGATATCACCCTGTTCAGCCCGTCCGACGTACCGGGGCTGT
+ACGACGCGTTCTTCGCCGATCAGGAAGAGTTTGAACGTCTGTATACCAAATATGAGAAAGACGACAGCAT
+CCGCAAGCAGCGTGTGAAAGCCGTTGAGCTGTTCTCGCTGATGATGCAGGAACGTGCATCTACCGGTCGT
+ATCTATATTCAGAACGTTGACCACTGCAATACCCATAGCCCGTTTGATCCGGCCATCGCGCCAGTGCGCC
+AGTCTAACCTGTGCCTGGAAATCGCCCTGCCGACCAAACCGCTGAACGACGTCAACGACGAGAACGGTGA
+AATCGCGCTGTGTACGCTGTCTGCTTTCAACCTGGGCGCAATTAACAGCCTGGATGAACTGGAAGAGCTG
+GCAATTCTGGCAGTACGCGCACTCGATGCGCTGCTGGATTATCAGGATTACCCGATCCCGGCCGCCAAAC
+GTGGAGCGATGGGTCGTCGTACGCTGGGTATTGGTGTGATCAACTTCGCTTACTACCTGGCGAAGCACGG
+TAAACGCTACTCCGACGGCAGCGCCAACAACCTGACGCATAAAACCTTCGAAGCCATTCAGTATTACCTG
+CTGAAAGCGTCTAATGAGCTGGCGAAAGAGCAAGGCGCGTGCCCGTGGTTTAACGAAACCACTTACGCGA
+AAGGGATCCTGCCGATCGATACCTATAAGAAAGATCTGGATGCCATCGCTAATGAGCCGCTGCATTACGA
+CTGGGAAGCACTGCGTGAGTCAATCAAAACGCACGGCCTGCGTAACTCCACGCTTTCTGCCCTGATGCCG
+TCCGAGACTTCTTCGCAGATCTCTAACGCCACTAACGGTATTGAACCGCCGCGCGGTTACGTCAGCATCA
+AAGCGTCGAAAGACGGTATTCTGCGCCAGGTGGTGCCGGACTACGAGCATCTGCACGACGCCTATGAGCT
+GCTGTGGGAAATGCCGGGTAACGATGGCTATCTGCAACTGGTGGGGATCATGCAGAAATTTATCGATCAG
+TCGATCTCTGCTAACACCAACTACGATCCGTCACGTTTCCCGTCAGGAAAAGTGCCGATGCAGCAGTTGC
+TGAAAGACCTGCTCACTGCCTACAAATTCGGGGTCAAAACGCTGTATTATCAGAACACCCGTGACGGCGC
+AGAAGACGCGCAGGACGATCTGGTGCCGTCAATCCAGGACGATGGCTGCGAAAGCGGCGCATGTAAGATC
+TGATATTGTGATGCCGGATGCGGCGTGAGCGCCCTACCCGGCCTACGGGTCCAATTTGTAGGCCGGATAA
+GCGAAGCGCATCCGGCACTGGATGCCCAGATGCGGCATGAACGCCCTACCCAGCCTACGATGCGGTTTGT
+AGGCCGGATAAGCGAAGCGCATCCGGCATAAAACTCCTAACAGGACACATTCATGGCATATACCACCTTT
+TCACAGACGAAAAATGATCAGCTCAAAGAACCAATGTTCTTTGGTCAGCCGGTCAACGTGGCTCGCTACG
+ATCAGCAAAAATATGACATCTTCGAAAAGCTGATCGAAAAGCAGCTCTCTTTCTTCTGGCGTCCGGAAGA
+AGTTGACGTCTCCCGCGACCGTATCGATTACCAGGCACTGCCTGAACACGAAAAACACATCTTTATCAGC
+AACCTGAAATATCAGACGCTGCTGGATTCCATTCAGGGTCGCAGTCCGAACGTGGCACTGCTGCCGCTGA
+TCTCGATCCCGGAACTGGAAACCTGGGTAGAAACCTGGGCGTTCTCAGAAACGATTCATTCCCGCTCCTA
+TACCCATATCATCCGTAATATCGTTAACGATCCGTCAGTTGTCTTTGACGATATCGTCACCAACGAGCAG
+ATCCAGAAACGTGCGGAAGGGATCTCCAGCTATTACGATGAACTGATCGAAATGACCAGCTACTGGCATC
+TGCTGGGCGAAGGCACCCACACCGTTAACGGTAAAACCGTAACCGTTAGCCTGCGCGAGCTGAAGAAAAA
+ACTGTATCTCTGCCTGATGAGCGTTAACGCGCTGGAAGCGATCCGTTTCTACGTCAGCTTTGCCTGCTCT
+TTCGCATTCGCTGAACGTGAGCTGATGGAAGGTAACGCCAAAATTATTCGCCTGATTGCCCGCGACGAAG
+CCCTGCACCTGACCGGCACCCAGCATATGCTGAATCTGCTGCGCAGCGGCGCGGATGATCCGGAGATGGC
+GGAAATTGCCGAAGAATGTAAGCAGGAGTGCTATGACCTGTTTGTCCAGGCGGCACAGCAAGAGAAAGAC
+TGGGCGGATTATCTGTTCCGTGATGGTTCGATGATTGGTCTGAATAAAGACATCCTCTGCCAGTACGTTG
+AATACATCACCAATATCCGTATGCAGGCAGTCGGTTTGGATCTGCCGTTCCAGACGCGCTCCAACCCGAT
+CCCGTGGATCAACACCTGGCTGGTGTCTGATAACGTGCAGGTTGCTCCGCAGGAAGTGGAAGTCAGTTCT
+TATCTGGTCGGGCAGATTGACGCGGAAGTGGACACCGACGATTTGAGTAACTTCCAGCTCTGATGGCCCG
+CGTTACCCTGCGCATTACTGGCACACAACTGCTGTGCCAGGATGAACACCCTTCCCTTCTGGCGGCGCTG
+GAATCCCACAATGTGGCGGTTGAGTACCAGTGCCGCGAAGGTTACTGCGGCTCCTGTCGCACCCGACTGG
+TCGCAGGCCAGGTGGACTGGATTGCCGAACCGTTAGCTTTTATTCAGCCGGGGAAAATTTTGCCCTGTTG
+TTGCCGGGCAAAAGGCGATATTGAAATCGAGATGTGAATTGGTTTTAACGCCAGATACGACGCTTATACG
+TCTTATCTGGCCTACAACGATTACATAGCGTAGTAATATGCTTTCACCTGCTCCCAGTCCGCTTTGGGGA
+TCGGCTCCAGATATTTTTCCAGCTGGCGGAAGTCATGATTAATCGCTTTATCACGACGCAAGCGGCGACG
+ACTTTTCTCCAGATCAAGAAAACCAGCTTCTGCCTTACCTTCTGTTTTCACATAGATATGGCGAACATAA
+CAACAGCCATGCTGACGATTAACGCTATGCATTTTCTTAAACGCCAGCGCCACTGCTTTCAACATGGCTT
+GCCGTACTTCGTCAGAATAAGGCGATACTGCATGCCGGGCATACCAGTCAGCAATGCTGATGAACCCCGC
+CATATCTTCAGTCACCAGCAACGCGCGCCATTCACCCTCAATTTTCACCGCTTCACCAAAAACGATCTTC
+GGCACGATGACACCGGCCCGTTCCAGTTCTTTAATTACCGCAACCTCACGGACAATCGTTGGTCGGCCGA
+ACGGGTAACGTACAGAATGAAACAGATGATGCGTCATGCGCTTTACATACAGCTTTTTGCCGTTGCGCTC
+GACGCATTGCACCCCGCTCATACCATTACGGCGATAGTTAGGCTCTTCAACCCAGTCGCCCTCTGTTGCC
+CACCAGTGATTAAATTCGTCGTGTTTTGCTGAAACTGCCATACCCTATCGCCTGTCGTTTTTTATTAACG
+ACAATGACTATAGATGTTTAGCTGAGGAAAATCTTAATAATACGTGTTGTATTGACGAGTATCTTATGCC
+GGGAACAAGTCATCTCGCTCAAAATAATTGCAATTAAGGATAACCCACAGACTTTAATGAAGAGTGGTAT
+CGGATAGCACATAAGTGCCATCCGGTAGTTAATTTACTCTTTATTAAGGAATTTTACTGCCTTATCAGGG
+AAATCAGTAAATAGCCCATTTACACCCGCTTTGTTATACAGAGCATCATATAACTGATTCACATCAGTAG
+TGTATTCAGGCAGTTTATCTGACCGCACGGTATAAGGATGCACTACCAGTTTATTCTGCTGAGCATCTTG
+CACCATGCCAGTGAGTTTGATATTACCCGGCTGCGATGTCTCCTCAATCAACATATGGTAATCCGGACCA
+ATACCATCAGCATATTCCGCCACCTGTTTCATGGCACCCGGCTTAAACATCCAGTCGTAATTGTAATTAA
+CCCAGCTTCCGTCCGGCTGTTTCTGCTGCGTTTCATTCCAGTCGGTATAGGCAATCAGCTGTACCAGATT
+GAGATCCATACCCATTTTGGGTTCCAGCACATTCTTAATACGCTTCAGCTCATCAGCATCAAAACATTGC
+AAATAAACTTTGTCGTCCTTACCGGTGTAACCATATTTCTTCAGCACTTCCAGCGTTTTTGCCGCAATAT
+CCTTCCCTTCCTGATGATGGAACCACGGCGCTTTAATTTCTGGATAGATACCGATATTTTTCCCGGTAGA
+GTGGTTTAACCCCTGAACAAATTCAATCTCTTCTTCAAAGGTGTGCACCCGGAAGTCAGATTTACCCATT
+GGGAAACGCCCCGGATAAGTCTGCACTTTTTTACCGTTTTCAATATCGAAACCTTCGGTAAATTTCAGCG
+ACTTAATTTCATCCAGCGTGAAATCTATCGCGTAGTAACGACCGTCTTTGCGCGCCCGATCCGGGAAACG
+ATCGGCAACATCAGTAACACGATCGAGATAATGGTCATGCAGAACAACCAGATGGTCGTCTTTGGTCATC
+ACCAAATCCTGTTCCAGATAATCCGCTCCCTGCGCATACGCCATCGCTTTTGCTGGCAGCGTATGCTCCG
+GCAAATATCCACTGGCACCGCGATGGGCGATGACTATTTTTTCGTTGCTGTCCGCCGCCATTGCACTGCT
+TCCCATGACTATAGTGCTCATCATGATCGCCATGCTAAGGTTTTTCAGCGTCAATTTCATGCCATTAGCC
+TCCGTTGCGTTTTTGCAGTAATTGTTCATGGCGACGTTTTTCGCCAATCATCACAACAATCAACAAGATA
+ACCGCCAGAATGCTGCCGCCAATCATTACCATAAAGCCGCCATCCCAGCCGAAGAAGTCCACGGTGTAGC
+CAACAATCGCGCTCGCCGCCACCGAACCGCCGAGGTAACCAAACAGCCCGGTAAAACCCGCTGCCGTACC
+TGCCGCTTTTTTCGGTGCCAGTTCCAGCGCATGTAGACCGATCAGCATCACAGGGCCATAGATCAGGAAG
+CCGATAACAATCATACAAATCATATCGACGGTTGGATTACCTGCCGGGTTCATCCAGTAAACGATAGTCG
+CGATGGTCACCAGTGTCATAAAGAAGACGCCGGTTGCCCCACGGTTACCACGAAAGACTTTATCCGACAT
+CCAGCCGCACAGCAGGGTGCCCGGAATACCTGCATATTCATAAAGAAAGTAGGCCCAGGAGGATTTATCC
+AGCGCGAAATGCTTAACCTCTTTCAGATAAGTCGGTGACCAGTCGAGGATGCCGTAACGCAGCAGATAAA
+CGAACACGTTGGCGATGGCGATATACCACAGCAGTTTGTTCGGCAGCACGTACTGCATGAAGATCTGCTT
+CGCGGTCAGCTCCTGTTCCGCTTTTTCGTTATAGTCGTCCGGATAATCATTTTTGTACTCTTCGATCGGC
+GGCAGGCCACAGGATTGCGGGGTATCGCGCATCATCGCAAAGGCGAACAGTGCCACCAGAATGGCACAGA
+AAGCGGGCATATAGAGCGCCGCGTGCCAGTCATTGAACCAGGCCATCCCCAGCAGGAACAGCAGCGGCGG
+AATACCACCACCGACGTTGTGCGCACAGTTCCACACTGACACAATACCGCCACGTTCTTTCTGCGACCAC
+CAGTGCACCATAGTACGACCACACGGCGGCCACCCCATCCCCTGGAACCAACCGCAGAGGAACAACAGTA
+CAAACATCACCGCAATGCTCGACGTCGCCCATGGCACAAAGCCCATAAACAACATCACTGCCGCCGCCAG
+AATCAAACCTGCGGGCAGGAAAACGCGCGGATTCGAGCGATCCGATACCGAACCCATGATGAATTTCGAA
+AATCCATAAGCAATCGAGATCCCCGAAAGGGCAAAACCTAAATCACCGCGTGAGAATCCCTGCTCAACCA
+GATAAGGCATAGCGAGCGCAAAGTTCTTACGAACCAAATAGTAAGCAGCATAGCCAAAGAATATCCCCAG
+GAAAATTTGCCAGCGCAATCGACGATAAGTCGGATCGATCTCCGCGGCAGGTAAGCGCGCTTTGTGTGGC
+GCTGGTTTAAAAATACTCAACATTGATAGCCTCCGTGGCCCGTGGTCTTATTTATGATTAACAGCCTGAT
+TCAGTGGGAGAACCTGCCGTTTCTTGAGTTGCCGCGATGTTAAGAAAACATTCATAAATTAAATGTGAAT
+TACCGCACACATTATTAAATACGATGGTTGAAATGTTCAGAATGACGCATGAAATCACGTTTCACTTTCG
+AAGTGTGAGCGAATATGCGCGAAATCAAACAATTCATGTTTTTACTATGGCTAAATGGTAAAAAACGAAC
+TTCAGAGGGATAACAATGAAAACTCGCGACTCGCAATCAAGTGACGTGATTATCATTGGCGGTGGCGCAA
+CGGGAGCCGGGATTGCCCGCGACTGTGCCCTGCGCGGGCTGCGCGTGATTTTGGTTGAGCGCCACGACAT
+CGCAACCGGTGCCACCGGGCGTAACCACGGCCTGCTGCACAGCGGTGCGCGCTATGCGGTAACCGATGCG
+GAATCGGCCCGCGAATGTATTAGTGAAAACCAGATCCTGAAACGCATTGCACGTCACTGCGTTGAACCGA
+CCAACGGCCTGTTTATCACCCTGCCGGAAGATGACCTCTCCTTCCAGGCCACTTTTATCCGCGCCTGCGA
+AGAAGCAGGGATCAGCGCAGAAGCTATAGACCCGCAGCAAGCGCGCATTATCGAACCTGCCGTTAACCCG
+GCACTGATTGGCGCGGTGAAAGTTCCGGATGGCACCGTTGATCCATTTCGTCTGACCGCAGCAAATATGC
+TTGATGCCAAAGAACACGGTGCGGTTATCCTTACTGCTCATGAAGTCACGGGACTCATTCGTGAAGGCGC
+GACGGTGTGCGGCGTTCATGTACGTAACCACCTCACCGGCGAAACCCAGGCACTTCATGCGCCTGTCGTG
+GTTAATGCCGCCGGGATCTGGGGGCAACATATTGCCGAATATGCCGATCTGCGCATTCGCATGTTCCCGG
+CGAAAGGGTCACTGCTGATTATGGATCACCGCATTAATCAGCATGTGATCAACCGCTGCCGCAAACCTTC
+CGACGCCGATATTCTGGTGCCTGGCGATACCATTTCGCTGATTGGCACCACCTCTTTACGTATTGATTAC
+AACGAGATTGACGATAATCGAGTGACGGCAGAAGAAGTTGATATTCTGCTGCGTGAAGGGGAAAAACTGG
+CCCCCGTGATGGCGAAAACGCGCATTTTGCGGGCCTACTCTGGCGTACGCCCGCTGGTTGCCAGCGATGA
+CGATCCGAGCGGACGTAACGTCAGCCGTGGCATCGTGCTGCTCGACCATGCTGAACGCGATGGTCTGGAC
+GGGTTTATCACCATCACCGGTGGCAAACTGATGACCTATCGGCTAATGGCGGAATGGGCTACCGACGCCG
+TATGCCGCAAACTGGGCAACTCGCGCCCCTGTACGACCGCCGATCTGGCACTTCCTGGTTCACAGGAACC
+CGCTGAAGCTACCTTGCGTAAAGTCATCTCCCTGCCTGCCCCGCTGCGCGGTTCTGCGGTTTATCGTCAT
+GGCGATCGCACGCCTGCCTGGCTGAGCGAAGGCCGTCTGCACCGTAGCCTGGTATGTGAGTGCGAAGCGG
+TAACTGCGGGTGAAGTGCAGTACGCGGTAGAAAATTTAAACGTTAATAGCCTGCTGGATTTACGCCGTCG
+TACCCGTGTGGGGATGGGCACCTGCCAGGGCGAACTCTGCGCCTGCCGCGCTGCCGGACTGCTGCAACGT
+TTTAACGTCACGACGTCCGCGCAATCTATCGAGCAACTTTCCACCTTCCTAAACGAACGCTGGAAAGGCG
+TGCAACCCATCGCCTGGGGAGATGCACTGCGCGAAAGCGAATTTACCCGCTGGGTTTATCAGGGATTGTG
+TGGTCTGGAGAAGGAGCAGAAAGATGCGCTTTGATACTGTCATTATGGGCGGCGGCCTCGCCGGATTACT
+CTGTGGCCTGCAACTGCAAAAACACGGCCTGCGCTGTGCCATTGTCACTCGTGGTCAAAGCGCGCTGCAT
+TTCTCATCTGGATCGCTGGATTTGCTGAGCCATCTGCCGGATGGTCAACCGGTGACAGAAATTCACAGTG
+GACTGGAATCTTTGCGTCAGCAGGCACCTGCCCATCCTTACACTCTTCTCGGGCCACAACGCGTGCTCGA
+TCTCGCTTGCCAGGCGCAGGCATTAATCGCTGAAAGCGGTGCGCAATTGCAGGGCAGCGTAGAGCTGGCT
+CACCAGCGGATTACACCGCTAGGCACTCTGCGCTCAACCTGGCTAAGTTCGCCAGAAGTCCCTGTCTGGC
+CGCTGCCCGCGAAGAAAATATGTGTAGTGGGAATTAGCGGCCTGATGGATTTTCAGGCGCATCTTGCGGC
+GGCTTCATTGCGCGAATTGGACCTTAAAGTTGAAACCGCTGAAATTGAACTGCCGGAACTGGATGTGCTG
+CGCAATAACGCCACCGAGTTCCGGGCGGTGAATATTGCCCGCTTCCTTGATAATGAAGAAAACTGGCCGT
+TGTTACTTGATGCGCTTATTCCGGTCGCCAATACCTGCGAAATGATCCTGATGCCCGCCTGCTTCGGCCT
+GGCCAATGACAAACTGTGGCATTGGTTGAATGAAAAACTACCTTGTTCATTGATGCTTTTGCCAACGCTG
+CCGCCTTCCGTGCTGGGCATTCGTCTGCAAAACCAGTTACAGCGCCAGTTTGTGCGCCAGGGCGGCGTGT
+GGATGCCGGGCGATGAAGTGAAAAAAGTGACCTGTAAAAATGGCGTAGTGAATGAAATCTGGACGCGCAA
+TCACGCCGATATCCCGCTGCGCCCACGATTTGCGGTGCTTGCGAGCGGCAGTTTCTTTAGCGGCGGACTG
+GTGGCAGAACGTGACGGCATTCGCGAGCCGATTCTCGGCCTTGATGTGCTACAAACCGCTACGCGGGGTG
+AATGGTATAAGGGCGATTTTTTTGCGCCGCAGCCGTGGCAGCAGTTCGGTGTAACCACTGATGAGGCGCT
+ACGCCCGTCGCAGGCGGGGCAAACCATTGAGAACCTGTTTGCCATCGGTTCGGTGCTGGGCGGATTTGAT
+CCCATCGCCCAGTGATGCGGCGGCGGTGTTTGTGCCGTCAGTGCTTTACATGCCGCTCAACAGATTGCCC
+AACGCGCAGGAGGCCAACAATGAATGACACCAGCTTCGAAAACTGCATTAAGTGCACCGTCTGCACCACC
+GCCTGCCCGGTGAGCCGGGTGAATCCGGGTTATCCGGGGCCAAAACAAGCCGGGCCGGATGGCGAGCGTC
+TGCGTTTAAAAGATGGCGCACTGTATGACGAGGCGCTGAAATATTGCATCAACTGCAAACGTTGTGAAGT
+CGCCTGCCCGTCCGATGTGAAGATTGGCGATATTATCCAGCGCGCGCGGGCGAAATATGACACCACACGC
+CCGTCGCTGCGTAATTTTGTGTTGAGTCATACCGACCTGATGGGTAGCGTTTCCACGCCGTTCGCACCCA
+TCGTCAACACCGCTACCTCGCTGAAACCGGTGCGGCAGTTGCTTGATGCGGCGTTAAAAATAGACCACCG
+TCGCACGCTACCGAAATACTCCTTCGGTACGTTCCGTCGCTGGTATCGCAGCGTGGCGGCTCAGCAAGCG
+CAGTATAAAGACCAGGTCGCTTTCTTTCACGGCTGCTTCGTTAACTACAACCATCCGCAGCTAGGCAAAG
+ATTTAATTAAAGTGCTCAACGCGATGGGTACCGGCGTACAACTGCTCAGCAAAGAAAAATGCTGCGGCGT
+ACCGCTGATCGCCAACGGTTTTACCGATAAAGCACGCAAACAGGCAATTACGAATGTAGAGTCGATCCGC
+GAAGCTGTGGGAGTAAAAGGCATTCCGGTGATTGCCACCTCCTCAACGTGTACATTTGCCCTGCGCGACG
+AATACCCGGAAGTGCTGAATGTCGACAACAAAGGCTTGCGCGATCATATCGAACTGGCGACCCGCTGGCT
+GTGGCGCAAGCTGGACGAAGGCAAAACGTTACCGCTGAAACCGCTGCCGCTGAAAGTGGTTTATCACACT
+CCGTGCCATATGGAAAAAATGGGCTGGACGCTCTACACCCTGGAGCTGTTGCGTAAAATCCCGGGGCTTG
+AGTTAACGGTGCTGGATTCCCAGTGCTGCGGTATTGCGGGTACTTACGGTTTCAAAAAAGAGAACTACCC
+CACCTCACAAGCCATCGGCGCACCACTGTTCCGCCAGATAGAAGAAAGCGGCGCAGATCTGGTGGTCACC
+GACTGCGAAACCTGTAAATGGCAGATTGAGATGTCGACAAGCCTTCGCTGCGAACATCCGATTACGCTGC
+TGGCCCAGGCGCTGGCTTAAACTCCTTTCTGATGCCCGGTAAGCATGTTGTTACCGGGCATTTTTGCGTA
+CACGATTCCGTGCCCAATGTATACGTTGCAACGCAGTGAAAATTCCTCTGAAAACGTCTCGCAAAGGCTG
+AAACTGGCAGATGTCAAAGGCCCGGGATAACCGTAATGTCGCGTCATCATAAATATCAGGTGACGGACAA
+CCATGACCGAATCAACAACCTCCTCCCCGCATGATGCGGTATTTAAAACCTTTATGTTCTCGCCCGATAC
+GGCGCGAGATTTTCTGGAAATACATCTACCAGAGCCGCTGCGCAAGCTTTGCAACCTGCAAACCTTACGC
+CTGGAACCCACCAGCTTTATTGAAAAAAGTTTACGCGCTTACTACTCGGATGTTTTGTGGTCTGTGGAAA
+CCAGCGAGGGTGACGGTTATATCTACTGCGTGATTGAACATCAAAGCTCTGCAGAAAAGAATATGGCTTT
+TCGGCTAATGCGCTATGCCACTGCCGCCATGCAGCGTCACCTGGACAAAGGCTATGACAGAGTCCCGCTG
+GTGGTACCATTGCTGTTTTATCATGGCGAAACCTCGCCCTACCCGTACTCACTCAACTGGCTGGATGAGT
+TTGACGATCCGCAACTTGCCCGGCAGTTGTACACCGAAGCTTTTCCGTTGGTGGATATCACCATCGTACC
+TGACGATGAGATCATGCAACATCGGCGTATAGCTCTGCTGGAACTGATTCAAAAGCATATTCGCGACCGC
+GATTTAATCGGTATGGTCGACAGGATCACCACGCTTTTGGTTAGAGGCTTCACTAATGACAGTCAGCTAC
+AAACACTGTTTAATTATCTGCTGCAATGCGGCGATACCTCCCGTTTCACCCGTTTTATTCAGGAGATTGC
+CGAACGTTCACCACTACAAAAGGAGAGATTAATGACTATTGCTGAACGGCTGCGGCAGGAAGGGCATCAA
+ATTGGCTGGCAGGAAGGTAAAATTGAAGGTTGGCAGGAGGGGAAATTGGAGGGTTTGCAGAAAGGCAAAG
+TAGAAGGTATGCATGAACAAGCCATTAAAATTGCCTTGCGCATGCTGGAACAGGGCTTTGAACGTGAGAT
+TGTGCTGGCGACAACCCAACTCACTGATGCTGATATTCCGAACTGTTATTAAAAGGAGAGATTAATGACT
+ATTGCTGAACGGTTACGGCAGGAAGGACATCAAATTGGCTGGCAGGAGGGTAAATTAGAAGGCATGCATG
+AACAAGCCATTAAAATTGCCTTGCGCATGCTGGAACAGGGCATTGATCGTGACCAGGTGCTCGCGGCCAC
+TCAGCTAAGCGAAGCCGATCTGGCAGCGAATAACCACTAATTAACACAGGCCCACAGCCGATCCCCATGG
+GCCTTTGATATCAATAACTACCTTTTACGCGTGGCCCATTTTTGCCTGATTTAAACATCGCCAGTCGTTG
+ATCCAGGGCATCGCTGTAGAGCATCGTGTCAACGCCAACAGCGACAAAGTTCGTTCCCCACGCCAGGCAT
+TGCTGCGCCATATCAGGAGCCACAGCCAGAAAACCAGCAGCTTTACCCGCAGCACGGATCCGCCGAATGC
+TGGTTTCAATAATTCGCTGCACTTCCTGGTGCCCGGCGTTATCCGGGTAGCCCAACGACGCAGAAAGATC
+CGCAGGTCCAATAAACACGCCATCAATCCCTTCAACATCGAGGATTTCGTCCAGGTTATCCAGTGCCGTT
+TTACTTTCCACCTGCACCAACAGACAAAGCGAATCGTTGACTTGCGCCATGTAATTCTCAATGCGTCCCC
+AGCGTGCAGCCCGTGCCACACTGGCCCCAACACCACGCTCACCGTAGGGAGGATAGCGCGTGGCAGACAC
+CACCTGACGTGCCTGATCGGCAGTATCGACCATCGGGATCAGTAGAGTTTGCGCGCCAATATCCAGGACT
+TGTTTAATCAGCGGCTTACTGCCTTCCACCGGACGGATCACGGGGTGGCTGGCATAGGGCGCTACCGCCT
+GTAGCTGGTGATAAAGATCCTGAATGGTGTTTGGCGCATGCTCCCCGTCAATCAGCAACCAGTCATAACC
+GGAAGTGGCGGCAATTTCTGCCATATAGGCAGTCGTTGAGCTTAACCACAGACCAATTTGCACTTCGCCC
+TTGCGTAAACGTTCTTTAAAGGGATTGGTTAATAATGCGTTCATCGTGTTCCTTAAACTATTTAATGATG
+TGCCACGTCGGTCTGCGCAACAGTGCGATTTACACGCAGAGTGAAAATAATCAGCGAACCGATGACCGCC
+ACCGCTGCCAGCGTCAGTAATCCCGCCGCATCGCTGGAAAATAACGTTTCTGCTTTCACGCGCAGGATCG
+GGGCAATAAACCCGCCCACTGCACCAAACAGGTTTATAAAACCAATCCCCGCAGCCAGCGCCGTACCGGA
+AAGAAGCTGTGTCGGCATCGTCCAGAACACCGGTTGCACGGCAATAAACCCGATGGCTGCAACACACAGT
+GCTACGATCGCCAGTACTGGAGAAAGCAGCCCGGACAGACCAATACCAATGCCCGCCGCCAGTAATGTCA
+GCGCTGCGACATTACGCCGTTCGCCGGTTTTATCGGAGTAGCGCGGAATAAGCCAGGTCCCAAACAAGGC
+CGCAACCCACGGAATGGCGGTGACCACCGACGCCGTAAAGCCCACTTTTGTTCCCAGCAATGCCGCAACC
+TGGGTCGGCAGGAAGAAAATTAATCCGTAAACCGCTACCTGAATGGTCAGGTAGATAATCGCCAGTTGCC
+AGACTCGGCCATTACGCAGCGCATCGCTCAATCGAGAAGTCACTTTCTGTTGTTCTTCACTTGCCAGTTG
+ATTGATAAGCAACGTTTTTTCTTGTTTACTCAGAAAACGTGCCTGCTCCGGTGTGTCATCAAGCCAAAAG
+AATGTGAATACCCCAGCGCCGACTGCCAACAATCCTTCAATAACAAACATCCAGAACCAGCCGGGATGCC
+CCATAAATCCATGCATCTCCAGCAGCGCGCCGGAAAGCGGTGATCCCAGTGTTAACGCCAGCGGTGCGCC
+CATATAGAACAGCCCCATAATGCTGGCGCGATTACGCTGCGGAAACCATTGCGAGGTGAGATAAATCATA
+CCAGGGAAAAACCCGGCCTCCGCAGCACCAAGCAGAGTGCGAACAATCAGAAATTTCGCTTCAGTATCGG
+CCCATGCCATGGCAGCCGAAAGAAATCCCCACAGCAGTGTTGTCGTACCAATCCAGGTTCTGGCCCCCAG
+TTTGCGCATCAAAAGATTCGCCGGAACCCCCAGAAACGCGTATACCACAAAGAAAATGCCTGCTCCCAGC
+GCATAAGCTTCATTACTCAGCCCGGTATCAATCTGGTAGGTCTGTTTGGCAAAACCAATATTCGAACGGT
+CGAGAAACGCCAGCACATACAGCGCCAACATAAACGGAATTAAACGCGCGCGGTTTTTCTTCACCACGGC
+GTCAAGCAAAGCGGTGCTCATAAAAAGCTCCTTAGAATATGTGGGCGTTACCGTTGTCACAGCAACGCCC
+GGAGTGATTAGTGGCTGTAGGGGCGTTTCAAATTGCAGTCACGATTGAGTTCGACGCCGAAACCGGGTTT
+ATCAAGCACTGATTTATGAATACGACCATTCACCGGTACTGGCTCATTAAGCAGAATCGGATCAAATTGC
+GGACGCATCGTTGAACAATCCGGGCTGGTCATCAGGAATTCGCTGAATGGCGTATTGGTGAAGGTGATCA
+CCGCATGGTGGGAGTAAACAGACGAACCGTGTGGCACCACCAGTTGCCCCCTGGATTTGGCGATTGCGGC
+AATTTCCACCAGCGTGGTTAAGCCACCGCACCAGCCAACATCCGGCTGCATAATGTCGATACCGTTTTCT
+GAAAGCGTACGGAAAGATTGCAGTGTGCCGTGGTGCTCACCGCTGGTGACCATCATCCCCGCTGGTGCGT
+TGTGTTTCAGTTCGCGATAACCTTCATACTGCTGTGGCGGCAGGCACTCTTCGATCCATTTCAGGTTATA
+GGGCGCGCAAGCGTGGGCCAGTTTGATGGCATAGTTCACGTCCTGACTCATCCAGCAGTCGAGCATTAAC
+CAGAAATCCTCACCGCATTTTTCACGCATATCCGCGACCATAGCGGCATCTTTGCGGATCCCCGCATCAC
+CATCATGTGGCCCCCAGTGCGTCGGCATTTTGCCACCGATAAAGCCCATCTCTTTTGCCAGATCCGGACG
+CGCACCTGTGGCGTAGAACTGAATTTCATCACGAACTGCACCACCTAAAAGTTTATAAACCGGAAGCCCG
+ACCACTTTGCCGAACAGATCCCACAGAGCCAGATCGACACAGGAAATCGTATTCATCACCAGGCCACCAG
+AGCCGGAGTAATACAGGGTGGCATTGAGCATTTGATCGTGGATCAGTTTGATATCACTGACGCATTTACC
+CTCAATGAAACGGTTAAGATGTTTTTCGACAATAAAACAGCCCATTTCACCGGCTGTCGAAACAGCGAAT
+CCGGTCTGGCCGTTTTCTGCTTCAACTTCAACAATCAACGTGCCAAGAACGTTAATGCCAAATGACTGGC
+GTGACTGCTCGTAATCGCGGTATTTACTCATCGGGGTGGCAATATGATCGTCTATCCAGTGATTCGCCCC
+CTGGTCGTGATAATCACCGCCGCCAGCGCCTTTTTCTGCTGTCGCACCGCCAGTAAACCAGGCGCGAACC
+TGTTTGATTTTTGGTAGGGTCATGATGTTCTCCATTGTTATGAGGCCTGTAAGTCAAAGGGACTTTTCCA
+TCCCAACAAACGTGAAATATCCCTGGCGCAGGCAATGGCCTTGCCCGCCAGATAATCACGGTATTCTTCA
+TTGATTTGTAAGCGGGTACCGACCACCGAAATCGCAGCGGTAAGCTCGTTATTGGCGTTAAACACCGGCG
+CAGCGACACAACGGACATCGGCATAATCTTCGCCGTTGTCATAGCTCCAGCCCTGACGGCGAATACGCGC
+CAGTTCCTCGTAGAGCCGTTGTGGATGGGTAATGGTGGTGGGTGTCATCTGCTCCCAGACCAGCTCTTCG
+ATAATACTTTTCTGTACAGCTTCAGGTTGCCAGGCAAGCAGGCATTTACCTATTCCGGAGCGATAAAGCG
+AAAGGCTTTTTCCTTCATGGGAACGCACGCTGATAGTGGCTGATGACTCCACTTTCAAAATGTAATAAGC
+GCTGCCGTTATCAATAATCCCCAGGTGACATAACAGCCCGGTGGTATCCATCAGTTGCGTCAAACGCGGT
+CGAGCCAGTTCCCGGAGATCCATCTTGCTTAACGCATGACCGGAAAGCTCCACCAGCCTGGTCCACAAAC
+AAAAATTTTCCTGGTGATCAAGGCTAAGAAAACGCTGACGCCTGAGTTCATTAAGCAGCAAATAGGCTGT
+GCTTTTAGGGATCCCCAATGTGTCAATGATCGTCGCAGCACTACAGGGGCCAATCCGGGCAATCAAATTG
+AGAATATCAATAGCCCGTGTCAGGGCGGGAACTTTGCTTGATTCCAACATACTGGACTCCAGTCTTAGAT
+ACTGGAATCAGTCTCGTTGCTCAGGGGGAGTAAAATTGTGAAGCGCATCAAATCCCGTTTCTCGTCCAGC
+GGACTGGAGAAATTACGCACAAATTTGTGAATCAGCGCACGGATTTTTTCTTATTGAGTACAACAGGTTG
+GACAAATTTTGCCGGAGGGGGAATGTGCCGGTGCAGTAAACCGGCACAGAGTGGCGGAATCAGACAGATA
+AGATCATGGACTCAACAACCTCAATCCAGCCATGCTCGCTGGCGATGTCCTGGCCGTTTAACCAACGGCG
+TAGCATATTAAGCGCCATCATTGCGCAGACTTCCTGGCGAATAGCCAGACTGTAGCGTGTGGCACTGAAA
+TGTACACGCAAAGCGAAAGTGCCGTCTGGCGTGGCTAGTGCAAAGTTGAGATGCTCATCTTCCAGACCAG
+AAACAGCCAGTGCCAACCCAGCAAAATGGTTCGCCCGCCGTTCTGTAATCCAGTGCGCAGTTTGCGCCAG
+GGTTTCCTCCTGTGAAGGAACCACTTCACACGCCAGCAATGGAGCATCTGCGCGAGAAAGTTGCAAAGCC
+AATAAACCACCGGTGAATTGCTCGCTCAGCGTCAGGCTGAACTGGCGGCTCTGCAATTCGCGACTGATCT
+GCGCGGGCAGTCCTTCGGTGCCTTCGAAAATCACGCTCTGTCCGGCAACACGTTTAACGTCCAGCCACAG
+TTTTTCCATCGCCTGTTCCTCGCTTGCCGGTCCGGTGAGTTTCAGTTCGATAATCGGCATTGAGGAGCGA
+TAGCCCATTGTTACGCCCGGCGGCAGTTGTAGAGTGTCCAGGCTTTGTGCCAGATCGCTTTCCGAACGAC
+CAAAGGTAGTCAAACGCAGGCAAACCGGCGGCTGTGGTAAAGAAAAACGCTCGCGCAGGCGCGGCAGGAT
+TTCGTGCTCGACCATCACCTTAAATTCTGACGGTACGCCGGGGGTAAAGAACATCAGGCAACGATTAAGC
+TGTATGGCAAAACCACAGGCAGTGCCTACCGGGTTATTGATAAATTCAGCACTGGCAGGCAGCTCCGCTT
+GTTTACGGTTGCTCGGTGCCATTACTCGTCCCCGTTCATGGAAATAGCGTTCCATCTCTTTGAGCCAGGC
+TTCATGCAGCACCAGGCCTTCACCTTTTGCTGTCGCAGCGGCGAGTGCGCTTAAATCATCACTGGTCGGT
+CCCAGCCCGCCGTTAACGATCAGCACATCGGCGTGCTGACTACGTTCGCGAAGAATGGTGACTAAGTCAT
+CAAGATTATCCCCCACCGTATTGCGGCGAGATAATGGCAGCCCCTGATGAAAGAAAAAATCGGCCAGCCA
+GGCAGCGTTAGTGTCAACGATTTGCCCGTGTAACACTTCATCCCCGGTGGATAACATTTCCACTTTTAAC
+ATGGTTATCTCCTGCTTTTGTTATCGAATCACTATAACGCAAAGGGAGACAGGGCGTAGTAAGAAACTGA
+ATGGCGCGACAGAACGCCGCGCCGGAAGGCGTCAGAAGCTGGCATTTACCCCAACATACGGACCATCAGC
+AATGGCGTTATCACGATTGCCATTTTTACCTGCCAGGTTCAGGTAACGGTAGCCAGCCTCAATGCTGACT
+GGACGCATAATGGTGTAACGCGCGCCAGCATTCGCTTCTTCATAACTTTTAATTCCGCTGGAGAGCGAAT
+CCGGAGAGTAGTAATACTCACCAAACAAGCGGAAGCTGTCACCAATTTGCCACTGCAAACCACCGCCAAC
+TGCCGCTGCATAACCTTCATCACCATCGTTCGGGTTGGTGTAAACGCCTTTTCCGCCAACGGTCGCCATT
+AATGGTCCGAGAGGCAGATTCAACCCCAGCCCCACGCCCGCGGCATCACCGTCGTCGTCGTTATGTGTCC
+AGTTACCGCTTAACGCCAGGCCCGTCGATTCAGTCCCAAAACCGACACCAATATTGGTGTATTCTTTACC
+CGCCTGGCCGCTGATGCTCATTGCATTGACCGATGCAGAAACCAACAGCATTCCGGCCAGACCTGCTAGC
+GCAATTTTTTTCATTATCCCCTTTCCCACAAGCAATTAATTAAAATTCCCAAAGCTGCGGGATTGTACTG
+CCTGGCGCAGAGGATTCAATGAGCGAAAAAAGGGATCTAGTCACTTATTGTAACTAAATACTTCTTAAAT
+AATTAAACGCCGAAAAAAATAAACACACTTTATCGATACACACAAAAATAATAATAAATGTAGTTATCAT
+CGCAAAAGAGATTACTGTCACTTTCACATATTTCTGAGTTACCGTATTCTCATGGTTTCTTTTTATTTAT
+AAGGAATACCCCTGTGCGACAACGGACTATTGTATGCCCTTTGATTCAAAATGATGGTGCTTATTTGCTG
+TGTAAAATGGCCGACGATCGCGGCGTTTTCCCCGGTCAATGGGCGCTTTCGGGTGGCGGCGTGGAGCCTG
+GCGAACGAATTGAAGAGGCACTACGCCGCGAAATTCGCGAAGAACTGGGAGAACAGCTGCTTTTGACAGA
+AATCACGCCGTGGACCTTCAGCGATGATATTCGCACCAAGACGTATGCAGATGGTCGCAAGGAAGAGATT
+TATATGATTTACCTGATTTTTGACTGCGTTTCTGCCAACCGAGATGTGAAAATAAACGAAGAGTTTCAGG
+ACTACGCGTGGGTAAAACCTGAAGATCTGGTGCATTATGATTTGAATGTTGCCACCCGAAAAACGTTACG
+TTTGAAAGGTCTTCTTTAACAATGATGACAGCCATCACTGGCTGTCAGATTGAAAATTTAGTGGTTAACG
+AATTCCCCATCCAGATAAACTTTGCCTTTTTCCACATGCATGACTAAACCATCCAGATAATCAGGTTTAA
+ATGTCGCATCACGCTTATCTTTAGCAATATATGTCAGGCAATGATTATGGGTAAAAATAACGATATTTTT
+ATCAGGTGCTTTGCGTTGTAAGTCTTTAATTGCACTATAAATCTCATTACCGCATTGAAGAAATCGTTTA
+TCTACCGTCAGCTTTTTACCCGCTGAAAACCAGGTCGCCGACTGAATAGTCCGGACGGTATTACTGGAAT
+AGAGATTGAAATCAGGGATATCAGCACTAAAAGCGTTGCCCAGTTCTCGGGCATCCTGGGTACCTTTGAC
+CGTAATACCTGTTTTATCTGACAAGCATTGATTGGTTGAACGATCGCAACGTTCAGCATGGCGAAACAAA
+ACGACAACCGGGTGCTGCTGTGCCAGTCTGGCCAGTGTTTTATTGTCGATGCGTGGCAAACCATTGCTAC
+TCCAGGCGGCATGAGTACCCAGTCCGGCAATTGCAGCGAGCGCCAGTAAAATGATGAAATATTTTTTTGA
+CTTCAACGAAGATCGGCAAAAAGCTAACACGTAAACTCCACCTGTAGGCAAGCGCAACCAGACAATTACC
+GTGAAATTGAGCGACTTTTCTGGCGATAATTAGCAGTTGGTGTAATATTAAAAATCCTATGATGCCGGCA
+AAATGCCTCAAAATTTTGCCAAATGCAAAGTCTAAATAAGAAAAAATATAAAAATTTCAATATTTACGTC
+TAATATTAGTTTCTTAAGGTTAAGTTAATATTCTATCCTTAAAATTTTGCTCCAAATGGCAAAATATACA
+CAACACTCTTTATAGCAAATATAAGTGGACAGGTATTCAATGACGGATGGAAAAAAAATGTCAGGATTTT
+TGCCTTTTTCGCGACCAGCAATGGGCGTAGAGGAACTCGCTGCAGTTAAAGAGGTTCTCGAATCCGGTTG
+GATCACAACCGGTCCGAAGAATCAGGCGCTTGAACAAGCTTTTTGCCAGTTGACGGGAAATCAGCATGCC
+ATCGCGGTCAGTTCAGCCACCGCCGGAATGCATATCACGCTAATGGCGTTGGAAATTGGCAAGGGCGATG
+AAGTGATTACGCCTTCCCTGACCTGGGTTTCAACCCTCAATATGATTTCCTTGCTGGGTGCAACGCCGGT
+AATGGTGGATGTCGACCGCGATACGCTGATGGTCACGCCTGAAGCGATCGAAGCAGCCATTACGCCACGC
+ACTAAAGCCATCATTCCGGTGCATTATGCCGGTGCGCCAGCAGATATTGACGCCATTCGCGCCATTGGCG
+AACGTTACGGCATCGCAGTTATCGAAGATGCTGCCCATGCCGTCGGTACGTATTACAAAGGGCGACATAT
+TGGCGCAAAAGGTACTGCTATTTTTTCGTTTCACGCCATCAAAAATATTACCTGTGCGGAAGGTGGCCTG
+ATTGTTACTGATAATGAAAATCTTGCCCGCCAGCTGCGGATGCTGAAATTTCACGGTCTGGGTGTCGATG
+CCTATGACAGACATACCTGGGGCCGTGCACCGCAGGCTGAAGTCTTAACGCCGGGCTATAAGTACAATCT
+GACCGATATTAACGCCGCGATTGCCCTGACACAGTTAGTCAAATTAGAGCACCTCAACACCCGTCGGCGC
+GAAATTGCCCAGCAATATCAGCAAGCACTGGCAGCTCTCCCCTTTCAGCCATTAAGCCTTCCCGCCTGGC
+CGCACGTTCATGCCTGGCATCTGTTTATTATTCGTGTCGATGAACAACGTTGTGGTATCAGTCGCGATGC
+GTTGATGGAAGCGTTAAAAGAAAGAGGCATTGGTACCGGGTTACATTTCCGCGCCGCTCACACACAAAAA
+TATTATCGCGAGCGTTTTCCCACGCTGTCGTTACCGAATACCGAATGGAATAGCGAACGCATCTGTTCGT
+TGCCGCTGTTCCCGGATATGACCACCGCCGATGCCGACCGCGTCATCACAGCCCTTCAGCAACTCGCAGG
+ACAATGAGCCATGTTTGAAATCCACCCTGTTAAGAAAGTCTCGGTGGTTATTCCCGTTTATAACGAGCAG
+GAAAGCTTACCGGAATTAATCAGGCGCACCACCGCAGCCTGTGAATCACTGGGGAAAGAGTATGAAATCC
+TGCTGATTGATGACGGCAGTAGCGATAATTCCGCGCATATGCTGGTCGAAGCCTCACAAGCGGAGGGCAG
+CCATATTGTGTCTATCTTGCTTAACCGCAATTACGGGCAACATTCAGCGATTATGGCGGGATTCAGTCAC
+GTCACCGGCGACTTAATTATTACCCTCGATGCCGATCTCCAGAATCCGCCAGAGGAAATCCCCCGTCTGG
+TGGCAAAAGCCGATGAAGGTTACGACGTGGTAGGGACTGTACGCCAGAACCGCCAGGACAGCTGGTTTCG
+TAAAACCGCTTCAAAGATGATTAACCGGCTTATTCAGCGCACCACAGGCAAAGCGATGGGTGACTATGGT
+TGTATGCTGCGCGCCTATCGCCGTCATATTGTCGATGCGATGTTGCACTGCCATGAACGCAGCACCTTTA
+TCCCGATTCTGGCGAATATCTTCGCCCGCCGTGCCATTGAAATTCCAGTGCACCATGCCGAGCGTGAGTT
+TGGTGAATCCAAATACAGCTTTATGCGCCTGATTAATTTGATGTACGACCTGGTGACCTGTCTTACCACA
+ACGCCGCTACGTATGCTGAGTCTGCTCGGCAGCATTATTGCGATTGGCGGTTTTAGCATTGCGGTGCTGC
+TGGTGATTTTACGCCTGACCTTCGGACCCCAATGGGCGGCAGAAGGCGTCTTTATGCTATTTGCCGTGCT
+GTTTACTTTTATTGGCGCTCAGTTTATCGGCATGGGATTGCTCGGTGAATATATCGGCAGGATCTACACC
+GATGTCCGCGCCCGCCCCCGCTATTTTGTTCAGCAAGTTATCCGTCCATCCAGCAAGGAAAATGAATAAT
+GAAAACCGTCGTTTTTGCCTACCACGATATGGGATGCCTCGGTATTGAAGCCCTGCTGGCTGCCGGTTAC
+GAAATTAGCGCCATTTTTACCCATACTGATAATCCCGGTGAAAAAGCCTTTTATGGTTCGGTTGCCCGAC
+TGGCAGCGGAAAGAGGCATTCCAGTTTATGCGCCGGATAACGTTAATCATCCGTTGTGGGTGGAACGCAT
+TGCCCAACTATCACCAGAGGTGATTTTCTCTTTTTATTATCGCCATCTTATTTGCGATGAGATTTTGCAG
+CTCGCTCCGAGAGGTGCATTTAATCTGCATGGTTCGCTGTTACCAAAATATCGTGGTCGCGCGCCGCTGA
+ACTGGGTGCTGGTGAACGGTGAAACGGAAACTGGCGTTACATTGCACCGAATGGTGAAACGTGCCGATGC
+CGGGGCCATTGTGGCACAACTGCGCGTTGCCATTGCGCCAGACGATATCGCCATTACGCTGCATCATAAA
+TTGTGCCATGCCGCGCGCCAGCTACTGGAACAGACATTACCCGCCATTAAACACGGTAATATTCTGGAAA
+TCGCCCAGCGCGAAAACGAAGCCACCTGTTTTGGTCGCAGAACGCCGGATGACAGTTTCCTCGAATGGCA
+TAAGTCGGCATCCGTACTGCACAACATGGTGCGTGCCGTTGCCGATCCGTGGCCGGGTGCCTTCAGCTAT
+GTTGGCAATCAGAAATTCACCGTCTGGTCGTCGCGTGTTCATCCTCATGCCAGCAAAGCACAGCCGGGGA
+GCGTGATTTCTGTTGCACCACTGCTGATTGCCTGTGGCGATGGCGCGCTGGAAATCGTCACTGGACAGGC
+GGGCGACGGCATTACTATGCAGGGCTCGCAATTAGCGCAGACGCTGGGCCTGGTGCAAGGTTCACGCTTG
+AATAGCCAGCCTGCCTGTGCCGCCCGACGCCGTACCCGGGTACTCATCCTCGGGGTGAATGGCTTTATTG
+GCAACCATCTGACAGAACGCCTGCTGTGCGAAGATCATTATGAAGTTTACGGTCTGGATATTGGCAGCGA
+TGCGATAAGCCGTTTTCTGAATCATCCGCATTTTCACTTTGTCGAAGGCGATATCAGTATTCATTCCGAA
+TGGATTGAGTATCACGTCAAAAAATGTGATGTCGTGTTGCCGCTGGTGGCGATAGCCACGCCGATTGAAT
+ATACCCGCAACCCGCTGCGCGTATTTGAACTCGATTTCGAAGAGAATCTGCGCATTATCCGCTACTGCGT
+GAAGTACCGTAAGCGAATCATCTTCCCGTCGACTTCAGAAGTTTATGGGATGTGTAGCGATAAATACTTC
+GATGAGGACCATTCTAATTTAATCGTCGGCCCGGTGAATAAACCACGCTGGATTTATTCGGTGTCTAAAC
+AATTACTTGATCGGGTGATCTGGGCCTATGGCGAAAAAGAAGGTTTACAGTTCACCCTCTTCCGCCCGTT
+TAACTGGATGGGGCCACGACTGGATAACCTTAATGCAGCGCGAATTGGCAGCTCCCGCGCTATTACGCAA
+CTCATTCTCAATCTGGTAGAAGGTTCACCGATTAAGCTGATTGATGGCGGAAAACAAAAACGCTGCTTTA
+CTGATATTCGGGATGGTATCGAGGCGTTATACCGCATTATCGAAAATGCGGGAAATCGCTGCGATGGCGA
+AATTATCAACATTGGCAATCCTGAGAACGAAGCGAGCATTGAAGAACTGGGTGAGATGCTGCTGGCGAGC
+TTCGAAAAACATCCGCTGCGCCATTACTTCCCACCGTTTGCGGGCTTTCGTGTTGTCGAAAGTAGCAGCT
+ACTATGGCAAAGGATATCAGGACGTAGAGCATCGTAAACCGAGCATCCGCAATGCCCGCCGCTGCCTGGA
+CTGGGAACCGAAAATTGATATGCAGGAAACCATCGACGAAACGCTGGATTTCTTCCTGCGCACCGTTGAT
+CTTACGGATAAACCATTATGACCAAAGTCGGCTTACGCATTGATGTCGATACCTTTCGTGGCACCCGTGA
+AGGCGTGCCGCGTCTGCTGGAAATCTTGAGTAAGCATAATATTCAGGCCAGCATTTTTTTCAGCGTCGGC
+CCGGACAATATGGGCCGCCATCTCTGGCGACTGGTGAAGCCACAGTTTTTGTGGAAGATGCTGCGCTCAA
+ACGCGGCATCGCTTTATGGCTGGGATATTTTACTGGCAGGTACGGCCTGGCCAGGTAAAGAGATTGGTCA
+TGCCAATGCTGATATCATTCGTGAAGCGGCTAAACATCACGAAGTCGGCCTGCACGCCTGGGATCACCAT
+GCCTGGCAAGCCCATAGCGGTAATTGGGATCGGCAAACAATGATCGACGATATTGCACGCGGCCTTCGCA
+CCCTGGAAGAGATTATCGGTCAACCGGTAACCTGTTCTGCCGCTGCTGGCTGGCGTGCTGACCAACAGGT
+GATCGAAGCAAAAGAAGCGTTCCATTTGCGCTACAACAGCGATTGTCGTGGGGCGATGCCGTTTCGTCCA
+TTGCTCGAATCAGGAACCCCCGGCACTGCGCAAATTCCGGTGACCTTACCCACCTGGGATGAAGTGATTG
+GTCGGGATGTGAAAGCAGAAGATTTTAACGGTTGGTTACTCAACCGCATCCAGCGAGATAAAGGCACGCC
+GGTTTATACCATTCATGCCGAAGTTGAAGGCTGCGCTTATCAGCATAATTTTGTGGATCTCCTGAAACGC
+GCAGCTCAGGAAGGCGTGACATTTTGCCCTTTAAGCGAACTATTATCAGGGACGTTGCCGCTCGGACAAG
+TTGTTCGCGGAAATATTGCCGGACGTGAAGGCTGGCTGGGTTGCCAACAAATGGCGGGTAGTCACTGATG
+AAATCGGTACGTTACCTTATCGGCCTCTTCGCATTTATTGCCTGCTATTACCTGTTACCGATCAGCACGC
+GTCTGCTCTGGCAACCAGATGAAACGCGTTATGCGGAAATCAGTCGGGAAATGCTGGCATCCGGCGACTG
+GATTGTTCCCCATCTGTTAGGGCTACGTTATTTCGAAAAACCCATTGCCGGATACTGGATTAACAGCATT
+GGGCAATGGCTATTTGGCGCGAATAACTTTGGTGTGCGGGCAGGCGTTATCTTTGCGACCCTGTTAACTG
+CCGCGCTGGTGACCTGGTTTACTCTGCGCTTATGGCGCGATAAACGTCTGGCTTTACTCGCCACAGTAAT
+TTATCTCTCGTTGTTTATTGTCTATGCCATCGGCACTTATGCCGTGCTCGATCCGTTTATTGCCTTCTGG
+CTGGTGGCGGGAATGTGCAGCTTCTGGCTGGCAATGCAGGCACAGACGTGGAAAGGCAAAAGCGCAGGAT
+TTTTACTGCTGGGAATCACCTGCGGCATGGGGGTGATGACCAAAGGTTTTCTCGCCCTTGCCGTGCCGGT
+ATTAAGCGTGCTGCCATGGGTAGCAACGCAAAAACGCTGGAAAGATCTCTTTATTTACGGCTGGCTGGCG
+GTTATCAGTTGCGTACTGACGGTTCTCCCCTGGGGACTGGCGATAGCGCAGCGGGAGCCTGACTTCTGGC
+ATTATTTTTTCTGGGTTGAGCATATTCAACGCTTTGCACTGGATGATGCCCAACATAGAGCTCCGTTCTG
+GTACTACTTGCCGGTCGTCATTGCCGGTAGCCTGCCGTGGCTGGGATTACTCCCCGGTGCACTGTACGCT
+GGCTGGAAAAACCGCAAGCATTCCGCAACCGTCTATTTGTTGAGCTGGACGATAATGCCGCTGCTGTTTT
+TCTCCGTCGCTAAAGGCAAATTGCCCACCTATATTCTTTCCTGCTTTGCACCTCTGGCAATACTGATGGC
+GCATTACGCGTTGCTGGCAGCAAAAAATAATCCTCTGGCGTTGCGGATTAATGGCTGGATTAATATCGCT
+TTTGGCGTCACTGGCATTATTGCCACATTTGTGGTCTCCCCCTGGGGACCAATGAACACACCGGTGTGGC
+AAACCTTCGAGAGCTATAAAGTCTTTTGTGCCTGGTCTATTTTTTCGCTATGGGCATTTTTCGGCTGGTA
+CACCTTAACAAACGTCGAAAAAACCTGGCCTTTTGCCGCGCTTTGCCCGCTGGGGCTGGCGTTGCTGGTA
+GGATTTTCAATTCCTGACAGAGTCATGGAAGGAAAACATCCGCAATTTTTTGTCGAGATGACACAAGAAT
+CACTTCAGCCAAGCCGCTATATTCTTACTGATAGCGTCGGTGTTGCCGCAGGTCTGGCATGGAGCCTGCA
+ACGCGATGACATCATCATGTATCGCCAGACAGGTGAGTTGAAATATGGCCTTAATTATCCGGATGCAAAA
+GGGAGATTTGTCAGCGGTGATGAGTTCGCAAACTGGCTTAATCAACATCGTCAGGAGGGGATTATTACAC
+TCGTGCTTTCGGTTGACCGCGATGAAGATATCAATAGTCTCGCCATTCCGCCCGCAGATGTCATCGATCG
+TCAGGAGCGTCTGGTGCTAATTCAGTATCGGCCCAAATGATCTGGCTAACATTAGTCTTTGCCAGCTTGC
+TTAGCGTTGCCGGGCAGTTGTGTCAGAAACAGGCAACCTGCTTTGCGGCGGTAAACAAACGGCGCAAACA
+TATCGTGCTGTGGCTGGGACTGGCGCTGGCTTGTCTTGGCCTTGCCATGGTGCTCTGGCTGCTGGTCTTG
+CAGAACGTACCGGTAGGCATTGCCTACCCGATGTTAAGTCTGAATTTTGTCTGGGTAACGCTGGCTGCAG
+TAAAACTGTGGCACGAGCCGGTATCGCTGCGTCACTGGTGTGGGGTGGCGTTCATTATTGGCGGCATTGT
+GATCCTCGGGAGTACGGTGTAATGGGCCTGATGTGGGGATTATTCAGCGTCATTATCGCCTCCGCTGCGC
+AATTAAGCCTGGGTTTTGCGGCGAGTCATCTGCCGCCAATGACGCACTTATGGGATTTTATCGCGGCGCT
+GTTAGCTTTTGGCCTGGATGCCCGGATACTGTTACTCGGGCTGCTGGGTTATCTGCTTTCCGTTTTTTGT
+TGGTATAAAACACTACATAAACTTGCGCTAAGCAAAGCCTATGCCTTGCTCAGTATGAGTTATGTGCTGG
+TATGGATTGCTTCAATGGTACTTCCCGGCTGGGAAGGGACTTTTTCGCTGAAAGCACTACTGGGAGTAGC
+CTGTATTATGAGCGGGTTGATGCTGATTTTCCTGCCCACAACAAAACAACGTTACTGAGTTTTCCCTGCC
+GCTTTACACTGCCGTTCCCACTCATCGGGGCTATAACAGCTTGCAGAAAGAACTTTCACCGTGTGCAGCT
+TTTCACGATTAATACAGTAAAGCGCATTCTGCAAAGGCGAGAGTAAATCCCCCACTTTCACGGCGAAGTC
+ACTCTTCACTTCGGCGATCATTTTTATCGCGCCGCCAGCATCGCAGAGCATAATTACATGTCTGTTATCT
+TGTTTATTGCAGCACGATTTTTTGACCAGCCATTCCATTGCATTATCCTGTTTGCTAAGAGTTTTCACAT
+CAATTTACAGATTAACAGATAAACTCTTTATCAACGGCAATGGAATGGCAGAAATGAGAAGTGAAACGGA
+GGGTTAATTATTGCTGGCGTTGCACCCACTCTTTTAACGCCTGACGTGAAATTTTAATACCGCCGTTTTT
+CAGCTCCGGCGGCAAAGTCAGCCAGCGCACCGGTTGTTGAAAACGAGCCAACTTGTCTTTCACCCATTCG
+TCAAGATCAACGGTTTGCTGGTCATACTCCACCACCGCTACCGGCCGATGACCAAACTCCTTGTCGGCAA
+CGGGGACGATAAATACCTGCAAAACCGCAGGATGTGCAGCAATAACGCGCTCGACTTCTTCCGGCTGAAT
+ACCCTCACCGCCACTGAAGAATAGATTGTCTAAACGTCCGACAATGGTCAGCTTGCCATTATGCATCTCA
+CCGCGATCGCGCGTGGCGTACCAGCCTTCGTCATTAACCAGTGGAACCCGTTGCCCGTTACGCCAGTAAC
+CTTCTGCCATACTGGCAGCCCGCAGCCACACTTCATCATTAACGATTTTCACTTCCCGACCCGGCAGCGG
+CGAACCAACGTCTGCCAGACCGTCGGCTTCTTTCGCACACACCGTGGAGGCAAACTCGGTCAGACCATAG
+CCGCAAAAGCACCGAATCCCCTGCTCGCGCGCCTGTTCCGTCAACTCGACCGGGATAGCCGCGCCGCCAA
+GTAAAACCGCTTTCAGGGAAACGGAACTACGGTTAACCAGCAAACGCCAGAGTTGTGTTGGCACCAGTGA
+AGCGTGAGTACAGCCTGCCAGCATCTGCTCCAATGGCTGTTTATCACGCACCGTCATCCGCGCACCAGCG
+TATAACCAGCGCCACATAATTCCCTGACCGGAGACGTGAAACAGCGGTAAAGAGAGCAACCAGTCATCGT
+GATCGCCAAACGGAATCAGCGATAACACCCCTTCGGCGCTGGCAAGATGAGCCTGATAAGTATGAACAGC
+GGCTTTCGGCAAGCCAGTGGAACCAGAGGTTAACGTCATTGAGCACAGACGCGTCGGCTGCCACGCCGCG
+GCATGTGCGCCTTCAACCAGCTGAATGTGCAGCGACGCTAACGCCGGAAACGTGTTTTCCCCTTCCGGCA
+CCAGCGCAAATTGCAGCGTCAGATTGGGCAGCAATTCCTCAAGCAGCGGTTGCGGCAGCTGAGGGTTCAC
+GGGCAACACCCGCGCCCCGCATTGCAGTAACGCCAGCCAGGCCAGCAGCGTTTGCGGCGTATTCCACGCC
+CGCAACATCACGCCGCTGCCCTCAACCACACCCTGCACCGCAAAGCTGGAGGCTAATTCATCGACGCGAG
+CACAAAGCTCGCGCCAGTTGAGTTGCTCGTCATTGAGACGTAAGGCGATGGCTTCTCCCCGCACTTGCCG
+CCAGTGACGCCACGGCCAGTCAGAGAAGATCATAACAGCCGCTCCAGTGCATCAACGTCCACTAACGGCA
+GTGGGCTCCCCGGCCAGCGACGAACCTGCTGCGCCTGCATCAGATCCAGCGTGTCCAGTCCCGGAATGGT
+GTCTGGCGTTAACCAGGCAGCAATCCGCGCCAGTTGCGTTAGACCTAAGCTCGACTCAATGGAAGAACTG
+ATCACCGCCGTCAGCCCCAGCGCATGCGCCGCCTTCACCTGCTCGCGTACTTTCTCCAGGCTGCCCGTGA
+GCGTGGGTTTGATAACTACCGCGCGCACGCCCTCTTCAGCTACAAAGGCAAAATCCGGCTCGCGCAAGCT
+TTCATCCCAGGCAATGGCAATGTCGGTTTCACGGGCAAACGCACGCGAATCATCGCGGGTTTTGCACGGC
+TCTTCGAGAAAAGCAATGCGGTGGCGATAATCCGGGTTAACGTATTTGGCAAACTGCTGGCCTTTCAGCG
+GTGTCCAGGCGCGGTTCGCGTCAAGACGCAAATGCAGATCCGGAATTGCCTCCAGCAACAAATTCACCAC
+CATGCCGTCGCGCACGGCTTCGTACAATCCCACTTTGACCTTCGCCACTTTCTCGCCAGGCATATCGGCA
+AGTTTGAGGATCAGATCGTCAGGATCGCCATTACACAGCGGTGCCGCACGGTAATTGGCCGCCTGCGGGA
+GCGTCTCTGCCAGCTCCGCCAATGCACAACTTACGCCAAAGGCAACGGAAGGCATCTGCGGTAATTCGCA
+ATCGCCTGCCAGCCAGTTATTTACCCAGGCAAGCAGCACACTTTGCGCATCTTCCCAGGTTTCCTGACTG
+AAGCCCGGCAGTGGGGAGATCTCCCCCCACCCTTCGCGCTCGCCCTCACGCAGGCAAACATACAGCCCGT
+CGCGGGTTTTTAACCGCCTGTCGCGCAGAACCACCCCCGCGTCCATGGGGATCTGCCAGCGGTATACCTG
+CGCGCTACGCATTACGGATTCCGTTTAAATTTGCTGAAATCAGGCTGACGTTTCTGGTTGAAAGCGTTGC
+GACCTTCCTGACCTTCTTCCGTCATATAGAACAGCATGGTAGCGTTGCCCGCCAGCTCCTGCAGACCTGC
+CTGCCCGTCACAGTCGGCGTTCAGTGCAGCTTTCAGGCAGCGCAGCGCCATCGGGCTGTTTTGCAGCATT
+TCACGGCACCAACGGACGGTTTCTTTTTCCAGATCCGCCAGCGGCACCACGGTGTTTACAAGGCCCATAT
+CCAGCGCCTGTTTCGCGTCGTACTGACGGCACAGGAACCAGATTTCACGCGCTTTTTTCTGCCCAACAAT
+GCGCGCCATGTAGGAAGCGCCCCAGCCGCCGTCGAAGGAACCGACTTTCGGGCCAGTCTGACCGAAGATG
+GCATTATCAGCCGCGATAGTCAGGTCGCACATCATGTGCAGGACGTGACCGCCACCGATGGAGTAGCCAG
+CCACCATCGCGACAACCGGTTTTGGACAGGTACGGATCTGACGCTGGAAGTCCAGCACGTTCAGGTGATG
+TACGCCGGAATCATCTTTATAGCCGCCGTAATCACCACGTACTTTCTGGTCACCACCGGAGCAGAACGCT
+TTATCGCCTGCACCAGTCAGAATGATCACGCCGATGTTGTCGTCATAACGCGCATCCGCCAGCGCCTGGA
+TCATCTCTTTTACCGTCAGAGGACGGAAGGCATTGCGCACCTGCGGACGATTAATGGTGATTTTTGCGAT
+ACCGTCGGTGGATTTTTCATAACGAATGTCCTCAAAACCTTCGGAGCAGTCGTGCCATTCAACCGGTGCG
+TAAAGCATTGCTTCATCAGGATAAATCATATTGTGTCCTTTAGTCAGAAACGCAAGATCTGCGCCAGACT
+TGCGATTACGCCAGCGGGATTTTCCCGGTGCGCGTTATGTCCGGCGCGAGGAATGACATGGCAGTCGGCA
+GCCAGTTCCGCCGCCAGAGCGCGGAATTTGCTGTCACGTTCACCACATAAATAATAAAACGCAAATGTGC
+GGGCGCTAAGGTTAGCACGTAAATCGGGCTGGACGGCGAGAGAAGTCGCCTCCAGCATGGCGGCAAGGGT
+TGCGCCATTATTGTTGCTGCGCAGCGCCACCAGCTCCCGGCGTTGATCGTCATTGAGCGAGGCAAAAACA
+GGCTGTTGATACCAATCGGCAAATACCGCCGTTAACGGTTCTGTACGAAAACGCTGCGCCCATTGGCGAT
+CGGAACGCTGACGTTCCGCGCGTTGTTCAGCATTTTGCAATCCAGGATGCCCGCCTTCGACAACAACTCC
+ACAAAGCCCCGCCAGCTCCTGGCAAGCCGCCATCATCGCCACCCGTCCGCCAAGCGAGTACCCCACCAGC
+CAGAAGTTAAGGATGTTGTAACTAACCAGAGTTTTACACAATAAGCCGGTGACATCATCAAATCCATCGA
+CGCTGATCGTCGCTGAACCACCGTGACCTGGGAGATCAACATACAACCGCGAGTAGTCGGCAAACGCCTC
+GCCCACTTCTTGCCATTCATGGCAATCGCCAGAAAAACCGTGCAAAAACACCAACCAGGGTAAACCTGGT
+TTGCCGTGTTTTGCCTGCGCGTGCAGGATCATAAATGGCTTACCTGCGCCAGAAGTTGCTGGAGCGTTTG
+CGCACCATCGGTGTCGTTAACCACCATTTCAATCACCGTGGTGGTCGGCGTGCGCCAGGCATCGACTAGT
+GTCGTTTCAAGTTCCTGCCAGTTTTGCGGACGATGATATTTCAGCTCGAACATCGCGGCGGCGTGCTCAA
+AATGGACATTTTGCGGCATCAGATAGAAACGCTCGCGCTCGCTTTTCGGCGTTGGCAACAGCGAAAAAAT
+TTGCCCGCCGTTGTTGTTCACCACAATTAATACCAGCGGTGCGGAAACCTGGCGCAATAACGCCAGCGCG
+TTGAGATCGTAAAGTGCGGAGAGATCGCCCACAATCGCCAGCGTCGGTTTGCCGCTTGCCCGCTGAACAC
+CGGCGGCAGTCGAGAGCAGCCCGTCGATACCGCTGGCACCACGGTTGCTGTACACCGGGTAACCTGCCGG
+AAGTTGCGAAAGCGCATCAATCAGACGCACCACCAGGCTGTTACCGACAAACAATTGCCCCTGTTCAGGC
+AAGTAGTCGCTGATGCGATGCGCCAGTTGCGCTTCGCCAAACGCATCGCGACGGGCAATAACCGCCTGCA
+TTGCCTGTTCCGCCAGGCGCGGGATTTCAACGCACCAGGGCTGGCGTTTTTCTGCCGGATGCAGCTCCAG
+CCAGTCGGCAATATTGGCAATTAAGCGGCGTCCACGATGGTGTGCCGGATCAAGTCGCCCTTCGATGTCA
+TCAACAATCCAGTACTCTTCTGGTTCACAGCTTGCCTGCCATTGCAGGAGCCGCTTGCCCGTCAGGCTGC
+TTCCCAGCTGCACCACAATTTGCGCCTGTTGCAGCTCGCTGGTCGCTTTGGCATTGCCTAACCAAAGATC
+GGCACACGGCAGCGGCTGTCCGGTTTGCGACAGCACGTCGCCAATCAGCGGCCAGCCAAGAGTTTGCGCC
+CACAGTGCAACTTTTTTGCCCTCTTCCGCACTCATGCGCCCGGCAACCACCACGCCGCGCTTTTGTCGCC
+AGAAGAACCAGTCGCGCTGTTTTTCACTTTCCCGACGAGGCGCTTCACGCAGCCACGGTTTGTCGTCCTG
+CCACCAGTCGCCCAGCCGCTGTTGCCAGCTAATCCCGGTGTCGTCCATTTCGCCATACAGCGGTTCAGCA
+AACGGGCAGTTGATATGGACTCCACCAGCATGAAGCGTACCGAGAGCGTGGTCGATGGTAGAAACCAGCC
+AACGTGCGGGGATATCCTGGGTCGGGCGCGGCAGTGAAATACTGTGCGTGGGGTGAGAGGCGAACATTCC
+CGGCTGACGAATCGCCTGATTCGAGCCGCAGTCAATCAGCTCCGGCGGGCGATCGGCGGTTAACAGGATC
+AGTTTTTCTCCGGTTAACCCAGCTTCAATCAGTGCCGGATAGAGATTTGCTACCGCCGTGCCGGAGGTCA
+CAATCACCGCCACCGGCTGCTTGCTGACTTTCGCCAGCCCCAGTGCCAGATGCCCCAGTCCACGCTCATC
+GAAATGGGTATGATGAATGAATGCGGAATTCTCCGCCGCCGCTAACGTTAACGGTGTAGAACGCGAGCCA
+GGGGCGATACAGATGTGTCTGACGCCGTGACGCGTTAATGCTTCCAGAATGACCGCCGCCCAGCGTCGGT
+TAAATGCGCTTACTGACATGAGTTTGTCCGGTATCAATATTGCGGCTAAGTATAAGGAGCTACAAAAATA
+GATTATTGATATGAATCGGTAATGATGCGACTCATTACTATTCCATTTGTAATAAAGTACGCAGCCCTGC
+CGCTTTGTTGTCGATTTCCTGCCACTCTTGCTCGGGGTCGGAACCACGGACAATGCCTGCGCCAGCATAT
+AGCCGCACGATATTGCCGCTGATTTTTGCTGAGCGCAGGGAAACGCAGAATTCACTTTGCTGTAATGAGA
+GATAGCCCGCAGAACCGGCGTACCATTCTCGAGTGAACGGTTCGTGACGGGCGATAAACTGTCGCGCCAG
+ATCGCGCGGTAAGCCAGCAACTGCTGCCGTTGGCTGCAACTGATGTAAACAGATCACATCATCCGCTTTG
+TTGAGTGAAGTCCAGATACAGCGGCGAAGATGCTGTACTTTACGTAGACGCAGTACCTGCGGCGGTAAAA
+CATCCAGCGTTTGGGTATCGGCCTGCAATCGTTGGCAGATATCTTCCACCACCAACATGTTCTCACGCTG
+GTTTTTATCATCCGCCATCAGCCACTCACCTAACTGCTGCGCCTGCTTATCATCTGGATGATTTGCTACC
+GTTCCCGCCAGCGCTTCGGTACGCAGCACTTTGTCACGCCGCCGCCATAACCGTTCCGGTGAAGAACCGA
+GAAAAGCATTTTCGCCATCAAAGGCCATGTAAAAATGGTAGCAATTCAGATTGAGCCGACGACTGGCAGC
+CACCATCGCTGCCGCATTGACCGGACTTGCGAAATGCAGGTCGGTTGCCCGAGCAAGCACAACTTTGTCG
+AGCTCGCCTTCGGCGATGGTTTTCGTTGCCAGTTCGATTAATTGCGTCCAGCCCGTTTTGTCCGGCCAGT
+GTTGTTCTCGCGTGGTGGTTAAATGTAATCCAGGCAAGGGCTTGATACTCACCAGTGTGGCGATAAATTC
+TTTTGCCTTGATTGCATCGTGCTGAAGGGAGCTTTCGCTGAATAGCGTCAACCGCAGCGTGGCTTTACCG
+CCACAACGTCGCCATTCCAGGCGTGGTAAAAGTAAATTGCCCTGCGACGGGTCAAACGCATTCAACCCCC
+AGATGCGTAAGTCGGCGTGTTCCGGGTGCTGGCGAAGAAAACGTTGTGCCTGGTCCAACGACGTAAAACG
+GGTAATCGCACCCAGGACGGCAGCTTCTTCATCACCATTACGTTGTTGCCAGTAGAATTGCGGATACACC
+TGCTGACTGGCCAGCCAGCTCAAGGCATCAAAAGCGTCTTTGAGAGGGAAAGGAATATCGATAACCCGAA
+TGCCGGGTGTCGCCGGAATCTCTTGCGACAAATGGCGCAGTAGATTTTCCAGCGCCGTAGTAAGTGATTG
+CACGCGGACCTCTCCCTGTTAAAAGCCTCACATTATACGGGGTACGACAAAAAAAATGCAGTACCCCGGT
+GTAGGGAGGTTTTAACGGCGTGCCAGCAACAGTCCCAGAACCAGCCCAACGGCCGCACCCACACCAATTC
+CTTGCCAGGGTTTTTCGTGGACGTAGTCATCAGCACGATAAACAGCCTGCTTCGCCCGATAGTAATAACT
+GTCTGAAGCCTGGCTAACCCGTTTTTTCACATCATCCAGCGCTTTTTCTGCACGCGCTTTCAGCTCAACA
+TATTTCTGATCGGCGGGATCGCCAGAGGAGCGGAGCACCTCTTCCAGTGTTTCACTAAGCAGCGTCAGGT
+CATCATCAATACGTGTATCACCAAACTGATTAGACATTCTCGTTCTCCATTTGTGTAAAACCTGTCACTA
+ACTATAGACAAGAGTTATTGATTACGCCTGAATTACCTCGCGTGCCATCCCAATGTGTGGGATACCATCT
+TCTTCATAAATATCGGTCACAGGGATGAAACCAAATTGCCCATAAAAGTTTTGTAAATGCGCCTGCGCCC
+CCAGATAAATCGGCTTCTCCGGCCAGCGGCGAGTACACGATTCCAGCGCCTTACTCATCAATTGCTGACC
+GATTTTTTCACCGCGTAAGGCTTCGCTGACAATCACCCGACCAATCACAACGGGTTGCAGTTCGTCGTCA
+CTTTTCAGAATCCTCGCATACGCCACCAGTGTCCCGTTATGCCAACCGAGAATGTGGCGATTTTCTCCCT
+CCAGATCGTCACCATCGATATCCTGGTAAGGACAGTTTTGTTCCACTACAAATACCGCACAACGCAGTTG
+TAATAAGGCATAAAGCTGAGAAACGGATAAATCAGAATGATGCAGATCTTGCCAGTCGATCATGGAAGGC
+TCCTTTGTGCTGTTTGCTTTATACTAGCCGGAATATTTTCAGCAGCGTGATGAACTCATGGAATTAATTT
+TTTTAGGTACTTCAGCCGGTGTGCCAACCCGTACGCGTAATGTCACGGCAATATTGCTTAACCTGCAACA
+TCCGACCCAGAGCGGTCTTTGGTTGTTTGACTGCGGTGAAGGCACCCAGCATCAGCTACTGCATACCGCC
+TTTAACCCTGGAAAACTGGACAAGATTTTTATCAGTCACCTTCATGGCGATCATCTCTTTGGTTTACCCG
+GCTTGCTGTGCAGCCGTTCTATGTCTGGTATTGTCCAACCCTTAACGATTTATGGTCCGCAAGGTATCCG
+TGAATTTGTGGAGACCGCGCTGCGGATTAGCGGCTCATGGACCGATTATCCGCTGGAAATTGTCGAAATT
+GGCGCTGGCGAAATTTTCGATGATGGCCTGCGCAAAGTGACCGCTTATCCGCTGGAACACCCACTGGAAT
+GTTATGGTTATCGTATTGAAGAACATGATAAACCAGGTGCATTAAATGCCCAGGCATTAAAAGCTGCTGG
+CGTGCCGCCAGGCCCGCTGTTTCAGGAATTAAAAGCGGGCAAAACAATCATGCTGGATGATGGAAGGCAG
+ATTAATGGCGCAGATTACTTAGCCGCTCCAGTGCCGGGTAAAGCGCTCGCTATTTTCGGCGATACGGGCC
+CCTGCGATGCCGCGCTGGAGCTGGCTAAAGGCGTCGACGTAATGGTTCACGAAGCGACTCTGGATATGGC
+GATGGAGGCCAAAGCCAACAGTCGCGGCCATAGTTCTACACGCCAGGCGGCGGCACTAGCCCGTGAGGCT
+GGAGTCGGTAAGCTAATCATTACCCACGTCAGCTCGCGCTATGATGACAAAGGTTGTCAGCACCTGTTAC
+GTGAATGTCGGTCAATTTTCCCGGCGACTGAACTGGCGAATGATTTCGCGGTGTTTAACGTTTAACTCTG
+CTTATTATTAAAAACAGGGCGAAACTTGCCCTGTTATCGCAACCCGCGCTACATATATCCACCCACACGG
+GTATATTGAGCGATTTTTTATATTTATTCATCTCCTCATGCACTATATTCAGAGCTATAAGTTGCCCCTT
+TTTATCTTGATTCAGCACCACCTTTGCAACTAAAAGGAGCCTATGATGGTTACAGTTATCAGCAATTATT
+GTCAATTATCTCAAACCCAACTCTGTCAGACATTTGCAGAAAAATTTACTGTGACCGAGGAATTACTGCT
+GTCTTTAAAAAAACACTCATAACTCATTACAAATAATGATGAAATAACGCTTTTTATTGATAATTTACAT
+ATGAAAAAAATGACATCTCTTTGTTTTATACCATTACTACTATCGCTTACTTTTATTATTTTTTACCAAC
+CCTGGGTCAGGGCATTACCGCCAACGCCCCGACACGCAAGTCCTGAGCAATTAGAAAAAACAGTTCGTTA
+TCTTACACAAACAGTGCATCCACGTAGCGCCGACAATATTGATAATCTGAATAGGTCCGCAGAGTATATA
+AAAGAGGTCTTTATCAGTAACGGTGCCAGAGTTACCGCGCAGGATGTCCCCATTACGGGTGGCCCCTACA
+AAAACATTGTTGCTAATTATGGTCCTGCCGATGGACCGCTGATTATTATTGGTGCGCACTATGACTCTGT
+CAGTAGTTATGAAAACGATCAATTGACCTATACGCCTGGCGCGGATGATAACGCCAGCGGCGTGGCAGGA
+TTACTCGAACTGGCACGTTTGTTACAGCAGCAGACTCCAGGGATTGGCGTCCAACTGGTCGCCTATGCGT
+CGGAAGAACCGCCCTTCTTTCGTAGCGATGAAATGGGGAGCGCGGTACATGCAGCTTCGCTTGAGCGTCC
+AGTGAAATTAATGATAGCGCTGGAGATGATTGGTTATTACGACTCAACGCCTGGTAGCCAGGATTACCCA
+TCCCCGGCAATGTCCTGGCTTTATCCCGATCGGGGAGACTTTATTGCCGTGGTCGGCAGAATGCAGGATA
+TCAACGCCGTTCGTCAGGTAAAAGCGGCATTGTTGTCATCCCGGGATTTATCTGTTTATTCTATGAATGC
+CCCAGGTTTTATTCCCGGTATTGATTTCTCTGATCACCTTAATTATTGGCAACACGATATTCCCGCCGTA
+ATGATTACTGACACCGCTTTTTATCGTAATAAACAATACCACTTGCCCGGTGATATCGCAGACAGATTAA
+ATTATCAGAAAATGGCTCAGGTAGTGGATGGAGTTACAACCTTGTTATACAACAGTAAATAATAAAAATT
+TCTCGAGGCGGATCCAGAAAAAGCAACATGCGCATTTTATTTTCTTTCGTCTGTTTTAAGATGCGAAACA
+TGAAATTCAACGGAGGAAAAATAAATGGGAATGATTGGCTATTTTGCAGAAATTGACTCAGAAAAGATTA
+ACCAACTGCTTGAGTCTACTAAAAAACCTTTGATGGATAATATACATGACACGCTTTCAGGATTACGCCG
+ACTGGATATTGATAAACGCTGGGATTTTTTACACTTTGGCCTGACGGGTACATCTGCATTTGACCCCGCG
+AAGAATGACCCGCTAAGTCGCGCAGTGCTTGGTGAACACAGCCTAGAAGATGGCATAGATGGCTTCCTGG
+GATTGACCTGGAATCAGGAGTTAGCCGCGACAATCGACCGACTGGAATCACTGGATCGAAGTGAGCTGCG
+TAAACAGTTTTCCATTAAGCGACTCAATGAAATGGAGATTTATCCGGGAGTAACCTTTTCAGAAGAGTTA
+GAGGGGCAACTCTTTGCTTCGATCATGCTTGATATGGAAAAGCTGATTAGCGCGTATCGACGTATGCTGC
+GACAAGGGAATCATGCGCTGACGGTTATTGTTGGGTGATAGTGTCAGGGCACCAAAAAAAACCGCCGAAC
+ATGTCGGCGGCTTTCTGACTTACAAACTGACTGCTTACATCAGCGGCATTGCTAACCGCACAATGCTAAT
+CAGCGGTTGTGGCCATACACCCAGCACCAGTACCAACAGTGCAGAGATCAGCACCACGATACCGCCTGCG
+CTGTACTGCCAGTTTGATGGTGCATCGCGACCCGGTTGTTCCGGAGCGTGAAGGTATAAGCTCACCGCCA
+CGCGCAGGTAGTAGTAGAGGCCGATTGCCGAACCAACAACCACGGCACCCACCAGCCACCACAAGTGTGC
+CTGGACACCGACCGCCAGCACGTAGAACTTACCGATAAAGCCCAGCGTCATTGGGATACCAGCCAGTGAA
+AGCATCATCACCGTCATCACTGCCGCGAGGATCGGACGATGCCAGAACAGACCGCGGTAAGAGAACAGGG
+AATCAGCATCCGGGCCACGATACGGGCTGGACATCAGGCTGACCACGCCGAACGCGCCGAGGCTGCTGAA
+CAGATAACCGACCAGGTAAACCCCTACCGCTTCCATCGACATCTCGCCGGTTTGCAGCGCAATCAGCGCC
+ACCAGCAGATAGCCGAGGTGAGAGATAGATGAGTAACCGAGCAGACGTTTGATATTGGTCTGGCTCAGCG
+CCATCAGGTTACCGAAGATGATGGAGGCAAAGGCGATAATCGCCAGCACTACGCGAATCGCTTCACTGTC
+ACCCACCGGTGCGTAAAGGAACAAACGCATCACCACGCCGAAGATAGCGATTTTGCTCGCCGTCGCCAGG
+AAAGTGGAAACCGGCGCAGGCGCGCCCTGGTATACGTCTGGCGTCCACAGGTGGAACGGCACCAGAGAGA
+GTTTGAAACCGAGGCCAACAATCATCAGGCCAAAACCTGCCAGCAACAGCGGCTCGTTGAGCATACCGTC
+GCCGAGGTTTTTACCTAGTGCGACAAACGACAGGTCGCCAGACTGCGCATACACCAGCGCCATACCGAAC
+AGCAGGAAAGAAGACGCTGCGGCAGAAAGGATGGTGTATTTGATACTGGCTTCCAGCGAACGTTTCTGGC
+GGAAAGCGTAACCGACCAGGCCAAACAGCGGCAAAGAGATCAGTTCGATACCGAGGAACAGAGACGCCAG
+ATGGTTGGCATTCGCCAGCAGGATCCCGCCCAGCGCGGCAATTAACACCAACAGGTAGAACTCGTCCTTG
+TTGTCGTTATAGTCTTCAAGCCACGGGTAGGCGAAAGTACAGGTGGCGAGGCTCGCCAACAATACCAGCC
+CGGTGTAAAGCATGGCGAAACCATCAACGCGCATCAGCGGCGTAACGTCCATAGCGCCCGCCTGGCCGAC
+AAACCAGAGCGAAACCAGCGCCGCGTTAAGCCCAATAACCGAGAGCGTAGCGTTGAGGAAATGATTGCGT
+CGCCACGCAATGGAGAGCATCACAACCACCACCGTCAAGCCGACGATCAGCAACGGTAGCAGTGCGATCA
+GGTTTTGTGGAGTTATTGTCATGGCGATTTACGGCCTTGTAGTAGTAACGGAATTAACAAACCACTGCTG
+GATATTGCCAATCGCGGAGTGCGAGGTATCCAGAATCGGCTGCGGATAGAAGCCCAGCAGTACCAGCAGC
+ACCACCAGCAACAGGATCATAAACAGCTCACGCAGCGACATCCCTGGCAGTTCCTGGCTGGCAATCTGGC
+TTTTCGCTTTGCCGAAGTAAGCGCGATGCAGCATCGCCAGCGAATAAACAGATGCAAAGACCAGCCCAAA
+GGTAGAGATAACGGTAATCACCGGGACAACCTGGAAACTGCCGAACAGAATCATAAATTCGCCGACGAAG
+TTACCGGTGCCAGGCATCCCAAGCGTTGCCACCGCAAAGAACAGCGACAGTGCTGGCAGCCATTTCATCT
+TGCTCCACAGACCGCCCATCATGCGCATGTCGCGGGTATGGATACGTTCATAAAGCTGACCACAAAGAAT
+AAACAGACCCGCCGCCGACAAGCCGTGCGCAATCATCTGGATTACCGCGCCCTGGTAGGCCAACTGGCTG
+CCGGTGTAGATAGCAATCAGCACGAAGCCCATGTGGGAAACCGAGGTGTAGGCGATCAGACGTTTGATAT
+CGGTCTGGGCGAAGGCCATCCACGCACCATAGAAGATGCCGATAACACCCAGCCACATAGCGATTGGCGC
+GAACTCTGCCGACGCGTTCGGGAACAGCGGTAGGGAGAAACGCAGCAGACCGTAAGCGGCGGTTTTCAGC
+AAGATCCCCGCGAGGTCCACGGAACCGGCGGTCGGAGCCTGTGAGTGCGCATCCGGTAACCAGCCATGCA
+GCGGAACCACCGGCATTTTCACTGCGAAGGCGATGAAGAAGCCCAGCATCAACAGGTATTCCACGCCGTT
+AGACATCGGCGTATTCAGCAGCTCTTCATAGTTGAAGGTCCAGACGCCGGTCGCATTGTAGTGAACGAAA
+ACCAGCGCCAGGATGGCGATCAACATCACCAGACCACTCGCCTGGGTGTAAATGAAGAACTTGGTTGCCG
+CCGTGATACGCGTTTTACCGTCAGAGGCTTTATGCCCCCACAGTGCGATCAGGAAGTACATCGGCACCAG
+CATCATTTCCCAGAAGAAGAAGAACAGGAACATGTCGATGGCAAGGAACACGCCGATAACGCCGCCCAGG
+ATCCACATCAGGTTGAGGTGGAAGAAGCCCTGATATTTTTCGATCTCTTTCCACGAACAGAGTACCGCCA
+GCACACCGAGCAGACCGGTCAGCACGACCATCAGCAACGACAGACCGTCAATGGCGAGATGAATAGAGAT
+ACCAAAACGCGGGATCCACGGCATGTCGAATTCAGACTGCCACTGCGGAATTCCGGCGGATTGCGTCAGT
+GAATAACCGCCCTGCAACCACAGTTGCAGCGACAGCGCCAGCGTCAATCCCATGGTTACCAGCGCGATCC
+AGCGCGGCACCTTGACGCCAAAGCGTTCGGTCTGCCAGCACAGGAAGCCGCCGATAAAGGGAATTAATAT
+TAGCCAGGGTAGTAACATGGCGATCTTTATTCCTTGTAAAAGTCCCGTCAGGACCGGATTTTCAACGAAT
+TCTCACGACAGAAAATTCTCTTCGGACTGGGGGTAGTGTCGGATGCGCCGCGAAGACGGCTTATCCGACC
+TACGTTCTTATATGCCCAGGGGCAATCCCACAATCCTTAACTCAACGCAGTACCATCAACAGTGCCAGCA
+CCACGACCGCACCGATGCTCATGGATGCCACATACCAGCGCAGATAACCGTTCTCGCTTAACAGCAGACC
+TTTACCTGCAAAGCGGGAAAGGACAGCCGGGATGTTCATCATTGAGTTCAGCGGATCGCGTTTCAGCAAC
+CAGGCAATACCCAGGAACGGCTTGACGAACACTTTGTCGTACAGCCAGTCAAAGCCCCAGGAGTTGTACC
+ACCAGGTACCCAGCAGACGGCCCGGCGCACTGTTGGCGATGGAGGTCACCAGAGTACGTTTACCCAGCCA
+TAGCCAGGCAGCCAGCAGAATGCCGACCACCGCGACCACGCCAGAGGTAATTTCCAGGGTCAACATGCTG
+CCGTGCGCCAGCTCCGTCGTTTGCGGAAGCACGCCCTGCAGCGGCGGTACAATCAGTGCGCCAACGAAGG
+TGGAAAGGATCAGCAGCACAATCAGCGGCAGGCTGTGAGTTACCCCTTTCACGGCGTGAGCGTGAATTTG
+TTCTTTTCCGTGGAAGACGATGAAAATCATACGGAAGGTGTAAAGCGAGGTCATAAATGCACCGACCAGA
+CCTGCCACCATCAGATTGATATGTCCATTCGCCATCGCACCCGCGAGGATCTCATCCTTACTGAAGAAGC
+CCGCAGTGACCAGCGGCAGTGCCGACAGTGCTGCGCCGCCCACCAGGAAGCAGAGATAAACCAGCGGAAT
+AGATTTACGCAGACCACCCATCTTAAAGATGTTCTGTTCGTGATGGCAGGCCAGAATGACGGAACCGGAT
+GCCAGGAACAGCAGCGCTTTAAAGAACGCGTGGGTCATCAAGTGGAAAATCGCCGCATCCCATGCCTGCA
+CGCCAAGCGCGAGGAACATGTAGCCAATCTGGCTCATGGTAGAGTAAGCGAGAACACGTTTGATGTCGGT
+CTGTACCAGCGCCGCAAAACCGGCCAGCAGCAGCGTAACCGCCCCAACAATGCCCACCAGATGCAGAACT
+TCCGGCGTCATCAGGAACAGGCCGTGGGTACGGGCGATCAGGTAGACACCCGCGGTTACCATTGTTGCAG
+CGTGGATCAGCGCGGAGACAGGCGTCGGGCCCGCCATTGCGTCGGCAAGCCATGTCTGCAACGGCAACTG
+AGCAGATTTACCGACCGCACCGCCCAGCAGCATCAGCGTCGCCCACATCAGCATGTTATTGCCGTCAGCA
+AAGTGCGCTGGTGCCAGTTCCACCATTTCGCGGAAGTTCAGGGTGCCCAGTTCGTTGTAAAGAATGAACA
+GCGCGAAAGCGAGGAAGACGTCACCCACACGGGTCACGACGAACGCTTTCATTGCCGCTGCGCCATTCTT
+CGGATCGGTGTAATAGAAACCGATCAGCAGATAGGAGCACAGGCCCACGCCTTCCCAGCCGAGGTACATC
+AGCAGCAGGTTGTCGGCAAGCACCAGAACTACCATGCTGGCGATGAACAGGTTGGTGTAAGCGAAGAAGC
+GAGAGTAGCCCTCTTCACCGCGCATATACCAGGAGGCGTACATGTGAATAAGGAAACCCACACCAGTGAC
+CACCGAGAGCATGGTCAGCGACAGGCCGTCCAGCACCAGGTTAAAACCGATGTTAAAGTCGCCTACCGAC
+ATCCACGTCCACAGCGGCTGGCTGTATGCCTGCTCACCGTTAGCGAAGAAGTCAACGCCGATAAAGGCAG
+TTACCAGCGCCGCCAGGCCCACAGAGCCAACGCCGACGATCGCCGAGACGTTTTCAGACCAGCGCCCACG
+GGAGAACGCCAGCAGGACGAAGCCAATCAATGGCAAAATAATGGTTAAGGCAAGCATGTTCATCCGCGCA
+TCTCACTTACTGAATCGATGTTCAGGTTCTGGCGACGACGGTGAAGTTGCAGCAGCAGCGCAAGGCCGAT
+ACTCGCTTCCGCCGCCGCGAGGCTGATGGCGAGAATGTACATCACCTGACCGTCGGTCTGGCCCCAGTAG
+CTTCCGGCGACCACAAAGGCCAGCGCGGAGGCGTTAATCATGATTTCCAGACCAATCAGCATAAACAGCA
+GATTGCGACGGATAACCAGACCGGTTAAGCCAAGAACGAATAAGATTGCCGCGAGGATCAGTCCATGTTG
+TAAGGGGATCATGCGTGCTCCTCCGTTTTTCTTTTCGCGCTGTCGTCTTTACGATTGCTCAGCACTTCAC
+CCGCACGCTCTTCACGACCGACGTGGAAGGCCACAACCAGACCCGCGAGCAGCAGCATAGAAGCCAGTTC
+CACCGCCAGTACGTAAGGCCCGAACAGCGTAATACCCACTGCTTTAGCACTGATTGGCGTACCGTCGATA
+CCTTGATCGTTAACACCGAGAATGGCGTAAACAATCACCACCAGCATGATGGCTGACAAAATTGCCGGAC
+CAATCCACACCTGCGGTTTCAGCCACTGGCGTTCCTGTTCGATTTCTGAACCGCCCAGGTTGAGCATCAT
+CACCACGAACACGAACAGCACCATAATGGCACCCGCATAGACGATAATTTCCAGCGCACCGGCGAAGTAA
+GCGCCCAGTGAGAAGAACACCCCAGAGATCGCCAGCAGCGAAATAATCAGGTACAGCAGCGCGTGTACCG
+GATTGGTATGGGTGATCACTCGCAAGGTCGCAAGTATGGCTATCAGGCCACAGATATAAAAAGCGAACTC
+CATTGCCCCTCTCCTTACGGTAACAGGCTCTTGACGTCGATAGGCTTGGCTTCGTTCTCTGCTTCGCCCT
+TATCTTTGCCGTCGATTGCCATACCTGCCATCCGGTAGAAGTTATATTCCGGGTATTTGCCCGGACCGGA
+GATCAGCAGATCCTCTTTCTCGTAAACCAGATCCTGGCGCTTGTATTCCCCCATTTCGAAATCCGGGGTT
+AACTGAATCGCCGTGGTCGGACAGGCTTCTTCGCACAGACCACAGAAAATGCAGCGTGAGAAGTTGATGC
+GGAAAAATTCCGGATACCAGCGACCGTCTTTGGTTTCTGCTTTTTGCAGCGAGATACAGCCGACCGGGCA
+GGCTACCGCGCAGAGGTTACAGGCTACGCAACGCTCTTCGCCGTCCGGATCGCGGGTCAGAACGATACGA
+CCACGATAACGGGGCGGCAGATAGACCGGCTCTTCCGGGTACATTCGCGTTTCGCGTTTGGCGAACGCGT
+GCAGGCCGATCATCCAGATACTACGAACCTGGGTACCGAAACCTACTAACAATTCTTTTAAGGTCATGGT
+CTTATTGCCCCTTATTGCGCCTGCCAGAGAATGACAGCCGCCGTTACCAGCAAGTTGATCAGCGTCAGCG
+GCAGGCAGATTTTCCAGCCGAAGGACATTACCTGGTCATAACGCGGACGCGGTAACGACGCACGAATCAA
+AATGAACATCATCATAAAGAACGCGGTTTTCAGCGCGAACCAGATGAATGGCGGTAACAACGGGCCTTGC
+CAGCCACCGAAGAACAGCGTCACCATCAGTGCAGAGATGGTCACAATCCCGATGTATTCGCCCACGAAGA
+ACAGACCGAACTTCATACCGGAATATTCAATGTGGTAACCATCCGCCAGTTCCTGCTCGGCTTCCGGCTG
+GTCAAACGGGTGACGGTGACACACCGCCACGCCCGCGATGGCAAAGGTAATAAAACCAAAGAATTGCGGG
+ATGACGTTCCACACATGCGCCTGGCTGTTGACGATGTCGGTCATGTTGAATGAACCGGCCTGCGCCACCA
+CGCCCATCAGGGAAAGCCCGAGGAACACTTCGTAGCTCAGGGTCTGCGCAGAAGCACGCATCGCACCCAG
+CAGCGAGTATTTGTTGTTACTTGACCAGCCCGCAAACAGCACCGCGTAAACCGCCAGACCTGCCATCATC
+AGGAAGAACAAAATCCCGATGTTCAGGTCGGCAACCACCCAACCCGGACTGACTGGCACAATTGCAAAGG
+CCAGCAGCAGCGAGGTAAAGGCAATCATCGGTGCCAGGGTAAAGATGACGCGATCCGAGAATTTCGGGAT
+CCAGTCTTCTTTAAAGAACATTTTGATCATGTCCGCAACCAGCTGGAGCGAACCGCCCCAGCCAACACGG
+TTAGGTCCATAACGGTTCTGGAACAGACCCAGCAGGCGACGTTCGCCAAAGCTCATGAATGCCCCACAGG
+TGACTACCACCAGCAGGATCACCACCGCTTTAAGGACGGTCAGCAGGATCTCAATCAGTTCCGGTGATAT
+CCAACTCATTGTTGTGCCTCCTTGAGATCCTCAAGATGCGCGCCAGCCAGCACCGGAGCAATGCCGGACA
+TACCCATCGGCAAGCCCACCTGCCCTGCTGTCAGCCCTTCGGCGATTTCAACCGGCAGCGTGACCGTGTT
+GCCATCGTAACTAAAGGAGACGCGTGTACCTGCGTTCACACCCAACTTCGCGGCATCCGCTGGGTTGAGT
+TTGATGTACGGCTGCGGCATACGGCTCTGGAAGACCGGAGCACGCTGTGACAATTCATCGCTGCCAAACA
+GGTGGTAGTACGGCGCGATACGCCATTTCCCGTCCTGCGGCTGGAAGCGTGCCGGTACGCTGGTGAAGTA
+ATCCAGACCGTTTTCGCTGGTTTCAAACAGACGCACGCCCGGATCGCCAAAACGCAGTTTGCCGCCCACT
+TCGTCCTGGAATTTGTTCCACGCCTGCGGGGAGTTCCAGCCTGGTGCCCAGGCAAACGGCACTTGCGAAC
+GGTGCGCGGTCGGCTGGTTGTTACCTTCCATCGAGAAGGTGAACATGGTGTCAATATCCTGCGGCTGACG
+CGGCTCATGAACGCTGATATTGGCGCGCATGGCGGTACGACCACTATAGCGATGCGGTTCACGGGCCAGT
+TTCTGCCCACGAATACGGAATGTCGCATCCGGCGCAGCATCTTTGATACCCGCCAGTTCCGGGATTTTCG
+CCACAACAGCGTCAATCACATGGTCGAGCTGTGTCCAGTCCACTTCACGACTCAGCAGGGTGCTGTGCAG
+CGAGTGCAGCCAGCGCCAGCTTTCCAGCATGACAGTTTGGCTGTCGTAATAAGCCGGATCGTAAACCTGG
+AAGAAACGTTGGGCGCGGCCTTCGTTGTTGATCACCGTACCGTCGCTTTCAGCAAAGCTGGCGGCGGAAA
+GTACCAGATGAGCGTTTTCCATAATCGCTGTGCGTTGATGGTCAACCACCATCACCAGCGGCGCTTTAGC
+CAGCGCAGCATTCACGCGGGTAGCGGAAGCGTGACGATGCAGATCGTTTTCCAGCACCACCACCGCGTCG
+GCGCGTCCGGTTTCCAGTTCAGTTAACGCTTCTTCAAGCGATCCACCGCCTATAATGCCCAGCCCCATGC
+TGTTGACGGAACGGGCAATCATGGTGATACCGACGTCAGCGCCGCGACCTTTCAGGGCTTTCGCCACGTT
+AGCCGCAGCCTGAATCACTTCAGCGCTACCAGCGTTCGTCCCGGAGATAATCAACGGTTTCTTCGCACCA
+GCCAGTGCCTGCACGATGACGTCGATTTTGCTTTGCAGCTCAGGTTCGATACCGTCAACCGCTGGCGCGG
+AGTTATCCAGCGCATGGGCGATGGCAAAACCTAAACGCGCCTGATCTTCAACCGGTGCGCGGTAAGTCCA
+CGCAGCGATATCATCCAGACGGGTGTCATCAACGTTGGTAACAAACAGTGGATGCTTCGCACGTTGACCG
+ATGTTGAGGATTGCCGCAATCTGCCAGTCAGCCACTTTCTGTGCTGCCGCCATTTCGCGTGCTTTACCTT
+TTACCGCCTGGCGCACCGCCAGCGCAACGCGCGCGCCGGTCTGGGTAACGTCTTCGCCCAGCACCAGTAC
+CGCATCGTAAGATTCAATTTCACGCAGAGCCGGAGTATAAATGCCGCCTTCACGCAGTACTTTCAGCGCC
+AGTTGCAGACGTTCCTGCTCACCGTGAGCGATACCGGTATAGAAGTTTTCTTCGCCCACCAGCTCACGCA
+GCGCAAAGTTGCTTTCCACGCTGGCACGCGGAGAACCAATACCGATCACTTTCTTCGACTGACGCAGAAT
+ATCTGCTGCACCCTGCATTGCCTGTTCGGCGTTGAGGGTAATGAAATCATCGCCACGACGCTGTACTGGC
+TGACGCGGACGATCTTTCAGGTTGACGTAACCGTAACCGAAACGACCACGGTCGCAGAGGAAGTAGTGGT
+TTACCGTACCGTTGTAACGGTTTTCGATTCGACGCAGTTCGCCATAACGCTCGCCGGGGCTGATGTTACA
+GCCGATGGAACATTGCTGGCAGATGCTCGGCGCAAACTGCATATCCCATTTACGGTTGTAACGCTCGGAG
+TGCGTTTTGTCGGTAAATACGCCGGTCGGGCAAATTTCGACCAGGTTACCGGAAAATTCGCTTTCCAGCG
+TGCCGTCTTCCGGGCGACCGAAGTAGACGTTGTCGTGCGCACCGTAAACGCCCAGGTCCGTACCGTCAGC
+GTAATCTTTGTAGTAACGCACACAGCGGTAGCAGGCGATGCAGCGGTTCATTTCGTGAGAGATGAACGGC
+CCTAAATCCTGATTACGGTGGGTACGTTTGGTGAAACGGTAGCGACGGAAGCTGTGTCCGGTCATCACAG
+TCATATCCTGAAGATGGCAGTTACCGCCCTCTTCACATACCGGACAGTCGTGCGGGTGGTTGGTCATCAA
+CCACTCGACCACACTTTCACGGAACTGTTTCGCTTCTTCGTCGTCAATGGAAATAAAGGTGCCATCGGAA
+GCCGGTGTCATACAGGACATCACCAGGCGACCACGCGTGTCTTCCGCGTTTTGGTATTGCTTCACCGCAC
+ACTGGCGGCAAGCACCGACGCTTCCCAGCGCCGGATGCCAGCAAAAGTAAGGAATATCAAGGCCCAGAGA
+CAGACAAGCTTCCAGCAGGTTGTCCGCTCCGTTGACCTCGTATTCTTTGCCGTCTACATGAATTGTAGCC
+ATTAGCATGCTTCCAGTTTTCTCAGTCAGAGACTGAGCGTTAATCGAAATTCGGTTACCAGCGCTCTTTC
+AGCAGGTTCGGCTGAATCCCATTAATCAAATGGGTATTGCTGAACGGCTGTTTGATTCCCGCCTCAAATT
+CTTCGCGGAAATATTTGATGGCGCTCTGTAACGGCTCCACTGCACCAGGTGCGTGGGCACAGAAAGTTTT
+ACCCGGGCCTAAGAATCGACACAGTTGCTCAAGTGTTTCGATATCGCCCGGCTGGCCTTCGCCACGCTCC
+AGCGCACGCAGAATTTTCACGCTCCACGGCAGACCGTCGCGGCATGGCGTACACCAGCCGCAGGACTCAC
+GGGCGAAAAACTCTTCCAGGTTACGCACCAGCGACACCATGTTGATCTCATGGTCAACCGCCATCGCCAG
+CGCCGTACCCAGACGGCTTCCCGCTTTACCGATACTTTCGAATTCCATCGGCAGGTCAAGGTGCGCTTCG
+GTCAGGAAGTCAGTCCCCGCTCCGCCTGGCTGCCAGGCTTTGAATTTCAGACCGTCACGCATACCACCGG
+CGTAGTCTTCGAGGATCTCGCGTGCGGTGGTGCCGAACGGCAGTTCCCACAGACCCGGATTTTTCACCCG
+ACCAGAGAAGCCCATCAGCTTGGTGCCAGCATCTTTACTTTTCGAGATGTTCTGATACCACTCCACGCCG
+TTAGCGAGGATCGCCGGAACGTTACACAGGGTTTCGACGTTGTTAACGCAGGTTGGTTTACCCCATGCAC
+CGGAGGTTGCCGGGAATGGCGGCTTCGAGCGCGGGTTAGCGCGACGCCCTTCCAGGGAGTTGATTAACGC
+TGTTTCTTCACCGCAGATATAGCGCCCTGCGCCGGTATGGACGAACAGTTCGAAATCGAAACCTGTTCCC
+ATAATGTTTTTGCCAAGCAGACCCGCTTCGGTGGCTTCGGCAATGGCACGGCGCAGATTCACTGCCGCTT
+CGATATATTCGCCGCGCAGGAAGATATAGCCACGGTAAGCTTTCAGCGCAAACGCGGAGATGAGCATGCC
+TTCCACCAGCAGGTGCGGCAGTTGCTCCATCAGCAGACGGTCTTTATAGGTGCCCGGCTCCATTTCATCG
+GCGTTACACAGTAGGTAACGGATATTCATGGATTCGTCTTTCGGCATCAGGCTCCACTTCAGGCCAGTCG
+AAAAGCCCGCGCCGCCGCGCCCTTTCAGACCAGCGTCTTTTACCTGATTAACGATTTCGTCCGGAGACAG
+CCCGGTCAGCGCCTTACGCGCCCCTTCGTAACCGTTTTTGCTGCGGTATTCGTCCAGCCACACAGGCTGT
+TTGTCATCGCGCAGACGCCATGTCAGCGGATGCGTTTCGGGAGTACGGATAATGTTTTTCATTTATACCG
+CTCCAGCAGTTCAGGGATCGCTTCCGGGGTCAGATGCGCGTGAGTGTCCTCATCGATCATCATGTTTGGC
+CCTTTATCACAGTTCCCGAGGCAGCAAGTTGGCAGCAGCGTAAAGCGGCCATCAAATGTCGTTTGCCCTG
+GTTTGATGTTCAGTTTTTTCTCCAGCGCCGCCTGAATGCCCTGGTAACCGTTGATATGACAGACCACGCT
+GTCGCAATAACGGATCACATGGCGGCCTACTGGCTGACGGAAGATCTGGCTATAAAACGTTGCCACGCCT
+TCGACGTCGCTAGCCGGAATACCCAGCACATCGGCGATCGCGTGGATCGCGCCATCCGGCACCCAGCCAC
+GCTGCTTCTGAACGATTTTCAGCGCTTCAATGGACGCCGCACGCGGGTCTTCGTAGTGGTGCATCTCGTG
+CTCAATCGCTTCACGCTCTGCCGCACTCAGCTCAAAAGCCTCGGTTTGTGGTTGTTGATTCTCGTGCATA
+ATTAGCGGTCCACATCTGACATAACAAAATCGATACTGCCCAGATAAACAATCAGGTCAGACACCAGGCT
+GCCGCGGATCGCCGCCGGAATTTGCTGCAAATGCGCATAACTCGGCGTACGGATACGGGTGCGATAACTC
+ATGGTGCTACCGTCGCTGGTCAGGTAGTAACTGTTGATCCCCTTGGTCGCCTCAATCATCTGGAAAGATT
+CATTGGCTGGCATCACCGGACCCCACGACACTTGCAGGAAGTGGGTGATCAGGGTTTCGATATGTTGCAA
+CGTGCGCTCTTTCGGCGGCGGCGTGGTCAGCGGGTGATCCGCTTTGAACGGGCCTTCCGGCATGTTGTTG
+AGGCACTGCTCAAGAATGCGCAGACTCTGGCGCAGCTCTTCCACTTTCAGCATTACGCGGGTGTAGCAGT
+CAGAAACACCACCACCCACCGGGATTTCAAAGTCGAAGTTTTCATAGCCAGAATACGGACGCGCCTTACG
+CACGTCGAAGTCGATCCCGGTAGCACGCAGGCCCGCGCCAGTGGTGCCCCACTCCAGTGCCTCTTTCGCG
+CCATAGGCGGCAACGCCCTGGGAACGACCTTTCAGAATGGTGTTTTGCAGCGCCGCTTTCTCGTAAGACG
+CCAGACGTTTCGGCATCCAGTCGAGGAACTCTCGCAGCAGGCGATCCCAGCCGCGCGGCAGGTCGTGCGC
+AACGCCGCCAATACGGAACCACGCCGGGTGCATACGGAAACCCGTGATCGCTTCCACCAGATCGTAAATT
+TTCTGACGATCGGTAAAGGCGAAGAACACTGGCGTCATTGCGCCGACGTCCTGAATAAAGGTCGAGATAT
+ACAGCAGGTGACTGTTGATGCGGAACAGTTCGGAGAGCATTACGCGAATGACGTTAACGCGATCCGGCAC
+GGTGATCCCAGCCAGTTTCTCTACCGCCAGCACATAAGGCATTTCGTTAACGCAGCCGCCGAGGTATTCG
+ATACGGTCGGTATACGGAATGTAGCTGTGCCAGGACTGGCGTTCGCCCATTTTCTCAGCGCCACGGTGGT
+GGTAACCGATGTCTGGTACGCAGTCGACAATCTCTTCGCCATCAAGCTGCAAAACGATACGGAAAGCACC
+GTGCGCAGACGGGTGGTTCGGACCGAGGTTGAGGAACATGAAGTCCTCGTTTTCGGTGCCGCGCTTCATC
+CCCCACTCTTCCGGTTTGAAGGTCAGGGCTTCCATCTCCAGATCCTGTTTGGCTTTGGTCAGCTCAAACG
+GCGAGAATTCGGTAGCGCGCGCCGGGTAATCTTTACGCAGCGGGTGACCTTTCCAGGTTTGCGGCATCAT
+GATGCGGCGCAGGTTCGGGTGACCGTCGAATGTAATGCCAAATAGATCCCAGGTTTCACGCTCATACCAG
+TTAGCGTTTGGGAATAATTTGGTAAAGGTCGGTACGTGCAGGTCGTTTTCTGCCAGCGCCACCTTCAGCA
+TGATGTCGCGGTTACGATCGATAGAAATCAGATGGTAGAAAACGGAAAAATCCGCGGCAGGTAACCCTTC
+GCGGTGTGTGCGCAGACGTTCGTCCATGCCGTGTAAGTCAAACAGCATGACGTAAGGTTTCGGCAGTTTC
+TTTAAGAAATCGCCCACTTCCAGTAATTGTTCACGCTTGATCCACACAACGGGAACCCCGGTGCGAGTCG
+CCTGAACAGTAAAGGCATCCGGCCCAAAACGGTTGCGCAGTTCGCCAATCACCGGATCATCAAGATGATC
+GCGGGTCTGCCAGGCGGGTTCTTGCGCGGTTAAGTCGGTCATATTGTTCACCATTGCAAATGGTCCGTGG
+TGACTGTCGGCGCAGTAAGCTTCGCGAAATAGATTTAGGAATAAGCGAAGAAAATTCCCTTTGCCGACAG
+GCGCAAATTAAATCTCGTCAGGTGTACGCAGGTTGGTTACGGCAATGCGTTCACCGCGCTTGCGTTCGCG
+CTCTGATTGCATATTGGCGCGATAAACGCCCTGATCGCCAACCACCCAGGAGAGCGGACGACGTTCTTTA
+CCGATAGATTCCTGCAACAGCATCAGTGCCTGCATGTACGCTTCAGGACGCGGCGGGCAGCCCGGGATAT
+ACACATCAACCGGGATGAATTTATCGACGCCCTGCACAACGGAATAAATATCGTACATACCGCCGGAGTT
+GGCACAGGCACCCATTGAGATAACCCATTTGGGTTCCAGCATCTGGTCATACAGACGCTGAATAACCGGT
+GCCATTTTGGTAAAGCAGGTTCCTGCAACCACCATCAGGTCAGCCTGACGCGGCGAAGCACGCAATACTT
+CAGCGCCAAAACGCGCCACGTCATGCACCGCGGTAAACGAAGTCACCATCTCAACGTAACAGCAGGAAAG
+ACCGAAGTTATACGGCCAAATTGAGTTTTTACGACCCCAGTTAACCATGTCATTGAGCTTGCCCATAAAC
+ACGTTTTTGTTAACTTCTTGCTCCAGAGGGTCGGTTACGATCTCCTGCTTTTGCAGGGGGTAACGGTCGT
+TCTCACCGTTGGGATCTATGCGGGTGAGCGTATAATCCATCTTAATGCCTCGCGGTTAGCGTTGACGATT
+AGCGATACTGTTCGTTTCCGGGTTCATACGCTCGCGGCGTGAACGCGCGGGCGTCCAGTCCAGCGCGCCA
+ATACGCACCAGATAAACCAGACCTGCCAGTAACACAAAAATAAAAATTGCAGCTTCCACAAAGCCTACCC
+AGCCGCTTTCGCGGATAGAGGTTGACCATGCGAACAGATACAGCGCTTCAACGTCGAAGATAACGAAGAA
+CATGGCCACCAGATAAAACTTGGCGGACAGGCGTAAGCGGGCGGAGCCGACCGAGTCGATACCGGATTCA
+AACGGAACGTTTTTTGACCTCGCGCGTGCGCGACCGCCTAAAAACCAACCGCCTACCAGCATCAGGCAAC
+ACAGGCCAATGGCAACGATAAGAAAGATAGCGAATGCCCAGTGATGAGCGATGACTTCAGTGGATGTTGA
+CATACTCATTGCTTACTCATCAAAAGTAGCGCCTGATTCTCTGCTCTTTACGGCAGATGGACGCCACATC
+GATTCATGGGGAGGAATAAAAAAAACCTTACAATAACTGCAGAAACTATTTTATACAGCTAATTGATGTG
+GTCTTTTACTCCTTTCTATAACCTTTTGTCAACTTTAACAAAGGTTTCTTCACACTGATTTACACAATGA
+CAACAACATTTGCATTTGGCGCCCTTTCTCCCCAGATCATTGACGACTCCAGGAAAATTAGATGTTGTTG
+AATCGTGTCCGTTGTGAAGCAATGGAAAAAATACGGGTCTATTTTGACAGGAATTTGTGTCGATTCCTCC
+CCCCAAAAGAGAGTATTTTCTTGATCTGTGACACGCTTTTGTCATTCTATAACAAAAATGCAGCAACAAA
+TTCACGTATTTTTTAACATTATTGTAGCAGGAGATTTTTTTCAGGTGATTATTTGTGCGTACGGGGCGTG
+AATCTCTGGTGATTGAAAAATGAACAGTTTTGTACGTTCTGCACGATACGAGGAAAGCTTTTTACTAAAA
+AAAAGCCGCTGGGGTTTAAAATAAACCCAGCGGTTCGTTTTTACACTATTGTCTCAGGAATTATCTATCG
+TCCGTCGATTACTCGATATCCCTTTCAATCAACAATGAGTCATCTCCTTCCGGAGCAGACATTGGGCTGT
+ATTGCCACGGATTATGGTAGCTCTCCATCGCCTGATAGATCACCTGGGCCAGCTCATTATTACTGGACGG
+GTCATAGCACAGCAAATATTCGGTATCAGGTAGCGGCGGTAAGCCATCTACTCCACTCAGCACACGCAGG
+TCCGGACTCATCATCTCGACCGGCCTTGCCGTCACGCCAAGACCGGCTTTCACTGCCGCACGAACGGCCG
+GAAGCGTCGATGCGACATAAGCCAGTCGCCAGGGAATATCTGCTTTATTAAGCGTCGCCAGCACCATATC
+GCGAAACGGACTTGGATCATCCAGCAACACAAGAGGGATCGGCTCACCTTTTTGCAATACGTATTCCGCT
+GCGCAGTACCAGTGTGTTGGCGAGGTTCGCAGGTTCAATGCCTTAAAGGTAGAAGGACGATGGGTGGTTA
+CCATCAAATCCACTTCCTGGGATTCCAGCATTTCTGCCATGTAGGCATTACGTTTAACGCGGACATCCAG
+CGCTAGTTTCGGATAAACCGAACTCACGCGATTTAACAGGAAAGGTAAGATCGTATCGGCAGATTCATCT
+GAAGCACCGATAGTTAACACGCCCTGAAGATTACTGAACATTAATGATGAGCAGGCCTCATCATTAAAAC
+GCAGGATTTTCCTGGCGTAACCAAGAAGTTGAATGCCATGTTCAGTTAACAGTTTGTTGCGACCGTGACG
+AGCGAACAGTTCTTTCCCAACGAGTTGTTCCAGACGCTGCATTTGCTGACTTACGGCGGACTGAGTACGA
+CACACAGCGGCAGCTGCGGCAGCAAAAGTGTTCAGATCGGCAACAGCAACAAATGTTCTCAGCAGATCGA
+GGTCGAGGTTAATTATCGGACGATTTGCACTTATCATATATTATCACTTACTGGCGGCTCATACTGAGCT
+GGTTAATGCTGTGCACACACAAACAAGCAATTCCATTTGTAATGTGCCTCCCTGGCAGTTTCATCCGGAA
+CCCGGACGAAAGTAAAAATGCATATGAGTTGCACTAAAAAAGTGACTCACATTGTTCCGTTATAATGCCT
+GAAGTAGATCACAGAATATATCTTCAGGGATCGCATATCTATTAAGTTACTCACTCTTTTCTATTTATGA
+CATGCGCGTGTTTGTATAAATGTAAATGTGAGTCCTTGTTCCACTCTCGTACAGCACCGCTGGTCATACG
+CGAACACGTACAAACAGCAATGGTGAGGCGGCATCAAGAGCAGGGATCCGTCATTTATGCAAGCATTTTA
+CCCCAAAAACCTTTTATTTATAAGGGTCATTGCGAATTATCTGATGCAAAGTTATGTTATGTTAGGCAAA
+GTAATCTTCTATTATTAATAAGCACAACAAAACCTTTTTGAATATTAAATAATAATTAATTAGCATCATC
+CCCATTCATTAATTCCGCTTAACAATAGTTTCACGCCTTGCCCCCATTGTGACACCTCGGAAATCATCAC
+GCTGTTAAACTCTCCGTAATGCGGAAATATCATCATCGCGATTCAGTAGTGAATTCTTAAACGAGGCATT
+TTCACACAATTATCTTACAGATAAAAAAACCACACTTACAATTAAGAATCAGAACAATTCACTACATAAC
+ATTACTTATTAAGCATATGCACCTCATTATTTTGCCATTATTAAGTTATTAACAGCACAATCGAGCCTTC
+CCCTCTGGCAAAATCTTATTCTGCAGACCTTCAAAACACCGTCCTGGGGGAGTACATTGTTCTAAGCTGA
+CTTCCACGGCAGGGAGTGGCGATAACAGCAAAAAAGGTCAAGATTCATGTCCCCCATTGAAAAATCCAGC
+AAATTAGAGAATGTCTGTTATGACATCCGTGGTCCGGTGCTGAAAGAAGCAAAACGCCTGGAAGAAGAAG
+GTAACAAGGTACTGAAACTGAACATCGGCAACCCTGCCCCGTTCGGTTTTGACGCGCCAGATGAAATTCT
+CGTTGACGTGATACGCAACCTGCCTACCGCTCAAGGGTATTGCGATTCCAAAGGTCTTTACTCCGCGCGT
+AAAGCCATCATGCAGCACTACCAGGCTCGTGGCATGCGTGATGTTACCGTGGAAGATATTTACATCGGCA
+ATGGTGTATCGGAGCTTATCGTTCAGGCAATGCAGGCATTGCTGAACAGCGGGGACGAAATGTTGGTTCC
+TGCACCTGATTACCCACTATGGACCGCAGCGGTTTCGCTCTCCAGCGGTAAAGCGGTGCATTATCTTTGC
+GATGAATCCTCTGACTGGTTCCCAGACCTCGATGATATTCGCGCTAAAATTACGCCTCGTACGCGTGGAA
+TCGTTATTATCAACCCAAATAACCCAACCGGCGCGGTATATTCCAAAGAGCTTTTAATGGAGATTGTGGA
+GATTGCACGTCAGCATAATCTCATTATCTTCGCCGATGAAATTTATGACAAAATTCTCTACGACGACGCT
+GAGCATCACTCCATTGCGCCGCTGGCACCTGACCTGCTGACCATTACCTTTAACGGACTGTCGAAAACGT
+ACCGCGTTGCAGGCTTCCGTCAGGGGTGGATGGTGTTGAACGGGCCGAAAAAACACGCCAAAGGTTACAT
+CGAAGGTCTGGAAATGCTGGCTTCAATGCGCCTGTGTGCTAACGTTCCTGCGCAACACGCCATTCAGACC
+GCACTGGGTGGTTATCAGAGCATCAGTGAATTTATTACCCCTGGCGGTCGTCTTTATGAGCAGCGTAACC
+GCGCGTGGGAATTGATCAACGATATTCCGGGCGTTTCCTGCGTGAAACCTCGTGGTGCGCTGTATATGTT
+CCCGAAAATCGACGCCAAACGCTTTAACATTCACGACGATCAGAAAATGGTGCTGGATTTCCTGTTGCAG
+GAAAAAGTCCTGTTGGTGCAAGGGACGGCATTCAACTGGCCGTGGCCGGATCACTTCCGCATTGTCACGC
+TACCGCGTGTCGATGATATCGAGCTGTCTTTGAGCAAGTTCGCGCGTTTCCTTTCTGGTTATCATCAGCT
+GTAATCTTAATTTCACTGCCGGAGATTGCATCCGGCAGTGTTATCCCGCCACAATGACCTGATGATGTCA
+TCATACGTAAGGTCACTATGAAACAGAGCCATTTTTTTGCCCATCTCTCCCGCCTGAAACTCATTAACCG
+CTGGCCGCTAATGCGCAACGTGCGGACGGAAAATGTGTCCGAACACAGTTTGCAGGTAGCGATGGTCGCC
+CATGCGCTGGCAGCTATCAAAAATCGTAAATTTGGCGGTAATGTCAACGCCGAACGTATCGCTTTACTGG
+CGATGTACCACGATGCTTCAGAAGTGCTCACCGGAGATCTCCCTACTCCGGTGAAATACTTCAATTCGCA
+AATCGCTCAGGAATACAAGGCTATTGAAAAAATCGCTCAGCAAAAACTGGTCGATATGGTTCCGGAAGAG
+CTGCAGGATATCTTTGCGCCGTTAATTGACGAGCATGCATATAGCGATGAAGAAAAATCGCTGGTGAAAC
+AGGCAGATGCACTGTGTGCATATCTGAAATGTCTGGAAGAGCTCGCGGCCGGAAATAATGAATTCTTGCT
+GGCAAAAACGCGACTGGAAGCGACGCTTGAAGCGCGCCGCAGCCAGGAGATGGACTACTTCATGGAAGTA
+TTTGTTCCCAGCTTCCATCTTTCGCTCGATGAGATTAGCCAGGATTCACCGCTGTAAGCAGCCGGAGTCT
+GCGTCGCATCAGGCAATAAGCGCCGGATGCGACATCAGGCTCTTGTCAAAACGGAAACAGCATCGGGATC
+ATCACCACACAAACCGCCATCACGATAATGGTGAACGGTACCCCCAACTTAACAAAGTCACTGAAGCTGT
+AATTCCCCGGACCTAAAACCAGTGTGTTAACAGGTGAAGATATCGGTGTCATAAAGGCGGCGGATGCTGC
+CATCGCCACGACCATCGCAAATGGATAAGGCGACACCCCCATCGTTTTGGCAGCAGCCAGCGCAATCGGA
+GCCATCAACACCGCCGTCGCGGTATTAGAAATAAATAGCCCAATAACCGCCGACAAGACAAACAAACAAC
+CCAGCATCATATGTGGCCCGTAACCGCCGCCAATGTCCATCAGCCCTTTCACCGCCAGCGCGACACCTCC
+CGTTTTCTGTAATGCCACAGCAAATGGCATCATCCCAACGATCAAAATAATGCTCGGCCATTGAATGGAT
+TTATAGGCGCTTTCAGCATCTATACAGCGGAATTTCCCCATCAGCAGGCAGGCGATAATAGCGGCAACAG
+GATTAGGAATTTCATCGGTCAGCATTAACGCCACCATTAGCACCAGACAGAAAATCGCATGGGGTGCCTG
+GCTGTGCGCGGGCGATGCTTCACTCACCTCTTCCGGTAAGTTCAGCGCTACGAAGTCGCGGCCCTGTTTG
+GCCAGCATACCGATCAGTTTCCAGTTACCCACAACCAGGATGATATCGCCCAGCAGCAGAGGCTCATCCG
+CCAGCGAACCTTCCAGCGCCACGCCATTGCGCTTTAGCCCCACTACATTCAATCCGTAGCGGGTACGAAA
+ACCAATTTCGCGCACCGATTTACCAATAAGTTCTGACTCAGGAATTAATGAAATCTCTGCCATGCCCACA
+TCAAGGGCCTGGTCAGAAAAATACTCGCCGCGCAGTACCATCGGCTCCAGCAATTGCTCACTACAAAATT
+GCCGGAGATCGACATCAGCCGCAGACATATCAATAAGCAAAACGTCACGCGCGCGAAATTCAGAAACCCC
+ATTAACGTTCACGATAACGCGACGAAAACGCCGCCAGCGTTCAACACCGATGACGTTAGCACCATAACGT
+TCACGTAATTTGAGATCGTCCAGCCGTTGACCAATCATTGGCGATCCGGGGCGAATAGCCAGACGTCGCG
+CACGCCCGGTCAGTCGATATTCACGGATAAGATCGCGAAAGGTTCGGCGCGTCCAGCCTTCGCGCTGCGG
+GGTCTGGGTATCCCCTTTCAGCATGAAACGCATCACTAACATATACAAAATACCCAGCACCAGCACGACC
+AGGCCAATAGGTGTTACGCTAAAGAAACTAAAACCATGATAGCCTTCACGCAGCAATTCACTGTTGACTA
+CCAGGTTCGGCGGCGTCGCCACCAGCGTCATCATGCCGCTTATCAGCCCGGCAAAACTTAACGGCATCAT
+CAGGCGCGACGGCGACGTTTGCATACGCATGGCAACGCTTAACACCACGGGAATAAAGATAGCGACAACG
+CCGGTTGAACTCATAAACGCGCCAAGCCCCGCGACGGTCAGCATCAACAAAACCAACATTTTGATTTCAC
+TGTTGCCCGCCACTTTGACCAGCCATGTCCCCATTACAGTGGCAACACCGGTACGGACCAAACCATCGCC
+AATAATAAACAAGGCGGCAATCAGGACAACGTTAGGATCGGAAAAGCCGGAAAATACTTCGGGGACCGTC
+AGCGTTCCGCTTAAGGCAAACGCGACAATAACAAACAAAGCGACCGCATCCATACGCACTCTGCCCGTCG
+CAAACAAGACGATGGCAACGGCCAGTAATGAAAGAACCCAAATCAATTCACCGTTCACAACTTATCCTTG
+TTAATTGAGGGGGATAACTTGATTCTGCCATAAAAAAGCCCCGACGAGACGGGGCTAAATCATGATCAGG
+TGTTTCACTGAATAATAACATCGCCATTTGGCTGTTTGGTCACAGTAATTTGCTCCAGACTGTGGAGGAC
+TAAATCGACTTCATTCAGGCGCGGGGTATCTGCCGGGGCATTAACCGCAATAACATGGCAACCCGCCGCC
+AGACCTGAAAGCACGCCAGCGGGAGCATCTTCCACCACAACACACTCCTGCGGCGCAAGGCCCAGCAGCT
+GCGCGCCTAACAGATACGCATCAGGTTCTGGTTTTCCGCGCTTCACCCGCTCAGCGGTTACAAACACCTC
+TGGCGCGGGAAGCCCCGCTATTTTATGACGCGCTCGCGCTACCGGCATGGAGCCAGAAGTCACAATAGCC
+CACGGAATACCTGCTTTATTCAAATGATTGAGTAAGGCGATTGCCCCCGGAAGCGCGGTAATACCTTCGG
+TTTCCGTGGCCTCGATGTGCTCCAGACGCGTAAACTCGGCGGCAATGTCTGCCTCGGATTTGCCCGCCAT
+AAAATGGCGCAGAGAGGTGATCGCCTGTTTACCGTGAATGAAAGCCAGCACCTCTTCCGGCGATAACCCA
+TGACGTCTGGCCCAGTTGCTCCACGCCCGTTCTACCGCAGGCAGGGAATCCACCAGCGTTCCATCAAGAT
+CAAACAGAAAACCTTTGCACCGCACGCGGGCCTCCTCAGGCGTTAATAATTTGATTAATTTCGTTGGCGC
+TCAAATGGTACTGACGCGGGCAGGCATGCCAGACATTAAGCATGCGCTGATATTTTTCCCACATTGGCGT
+CTGGGCGTTAAAACCGTGAGTTCCAGCGTCAAAATGGGTATAGCGCCCTTCCACATTAACCATAAAGCGG
+ACATAACCGAGGTAACGTGCTTCAGTGGCGGCGTCAAAGCCGAGGAAGGTGACACGACGTTCATCGATGG
+ATTGCTGGTCCTGCAAATTAGACCAGGAAACATGCAACGCATGATACATCTCCATAATGTCGATGATAGT
+GCGGCAGGTTTCTTCTTTCAGCTCGCCAAACTCGCGATCCAGTTCACGCATCTGTAATCCATAACCACGC
+TCAATGATTGTTTGCAGGCGACGGTAACGTTCAGCATTTGCCGGATCGAGCATAGTCATCATCTTGTACT
+GGTTAGACAAAATAAGACGTTGCGCGTTGGTCATTTCCATTATTGACTCCTGTATCACTCTACTACGGTG
+AAAAAAAAGAAGGCTGAGTATGCCTTCTTTTATATGCGTAATCAGGGGTCAATTACAAATCATCAAGGAA
+AGTTTTATCCAGTTGTTTGAAGGCACGCTTAAGCGTGTCAGCTAATGCCTGGTAATCAGGCTTGCCTTCA
+ACGGGTGCCAACACCTGTCCAGACTCCTGCAATTTACCGCGAACTTCATAAAACCAGTTGAGGATTGCAG
+GAGGTAATGGCGTTACAGAACGCTTGCCCAGCCACCACAATCCCTGCATGGGTAAACTTAAGGCGAACAG
+CGCAGTGGCAACTGCCGGCCCAAGCTGACCGCCCAGAGCAATCTGCCAGCAGAGAGTAAATACGGCGATC
+GGCGGCATAAAACGGATCGCATAACGCGTCATCTTGATAACGCGATTTTCGACAAAGACTGGGGCAAGGC
+GTTTTTCCAGCGGCCACGTCTTTGAGTAATGCTGTCCCCGGCGAAACAAGCTAAAAAAATTAACAGAACG
+ATTATCCGGCGTTGACATGCTTCACCTCAACTTCACATATAAAGATTCAAAAATTTGTGCAAATTCACAA
+CTCAGCGGGACAACGTTCAAAACATTTTGTCTTCCATACCCACTATCAGGTATCCTTTAGCAGCCTGAAG
+GCCTAAGTAGTACATATTCATTGAGTCGTCAAATTCATATACATTATGCCATTGGCTGAAAATTACGCAA
+AATGGCATAGACTCAAGATATTTCTTCCATCATGCAAAAAAAATTTGCAGTGCATGATGTTAATCATAAA
+TGTCGGTGTCATCATGCGCTACGCTCTATGGCTCCCTGACGTTTTTTTAGCCACGTATCAATTATAGGTA
+CTTCCATGTCGAGTAAGTTAGTACTGGTTCTGAACTGCGGTAGTTCTTCACTGAAATTTGCCATCATCGA
+TGCAGTAAATGGTGAAGAGTACCTTTCTGGTTTAGCCGAATGTTTCCACCTGCCCGAAGCACGTATCAAA
+TGGAAAATGGACGGCAATAAACAGGAAGCGGCTTTAGGTGCAGGCGCCGCTCACAGCGAAGCGCTCAACT
+TTATCGTTAATACTATTCTGGCACAAAAACCAGAACTGTCTGCGCAGCTGACTGCTATCGGTCACCGTAT
+CGTACACGGCGGCGAAAAGTATACCAGCTCCGTAGTGATCGATGAGTCTGTTATTCAGGGTATCAAAGAT
+GCAGCTTCTTTTGCACCGCTGCACAACCCGGCTCACCTGATCGGTATCGAAGAAGCTCTGAAATCTTTCC
+CACAGCTGAAAGACAAAAACGTTGCTGTATTTGACACCGCGTTCCACCAGACTATGCCGGAAGAGTCTTA
+CCTCTACGCCCTGCCGTACAACCTGTACAAAGAGCACGGCATCCGTCGTTACGGCGCGCACGGCACCAGC
+CACTTCTATGTAACCCAGGAAGCGGCAAAAATGCTGAACAAACCGGTAGAAGAACTGAACATCATCACCT
+GCCACCTGGGCAACGGTGGTTCCGTTTCTGCTATCCGCAACGGTAAATGCGTTGACACCTCTATGGGCCT
+GACCCCGCTGGAAGGTCTGGTCATGGGTACCCGTTCTGGTGATATCGATCCGGCGATCATCTTCCACCTG
+CACGACACCCTGGGCATGAGCGTTGACGCAATCAACAAACTGCTGACCAAAGAGTCTGGCCTGCTGGGTC
+TGACCGAAGTGACCAGCGACTGCCGCTATGTTGAAGACAACTACGCGACGAAAGAAGACGCGAAGCGCGC
+AATGGACGTTTACTGCCACCGCCTGGCCAAATACATCGGTGCCTACACTGCGCTGATGGATGGTCGTCTG
+GACGCTGTTGTATTCACCGGTGGTATCGGTGAAAATGCCGCGATGGTTCGTGAACTGTCTCTGGGCAAAC
+TGGGCGTGCTGGGCTTTGAAGTTGATCATGAACGCAACCTGGCTGCACGTTTCGGCAAATCTGGTTTCAT
+CAACAAAGAAGGTACCCGTCCTGCGGTGGTTATCCCAACCAACGAAGAACTGGTTATCGCGCAAGACGCG
+AGCCGCCTGACTGCCTGATTTCACACCGCCAGCTCAGCTGGCGGTGCTGTTTTGTAACCCGCCAAATCGG
+CGGTAACGAAAGAGGATAAACCGTGTCCCGTATTATTATGCTGATCCCTACCGGAACCAGCGTCGGTCTG
+ACCAGCGTCAGCCTTGGCGTGATCCGTGCAATGGAACGCAAAGGCGTTCGTCTGAGCGTTTTCAAACCTA
+TCGCTCAGCCGCGTACCGGTGGCGATGCGCCCGATCAGACTACGACTATCGTGCGTGCGAACTCTTCCAC
+CACGACGGCCGCTGAACCGCTGAAAATGAGCTACGTTGAAGGTCTGCTTTCCAGCAATCAGAAAGATGTG
+CTGATGGAAGAGATCATCGCGAACTACCACGCTAACACCAAAGACGCTGAAGTCGTTCTGGTGGAAGGTC
+TGGTCCCGACACGTAAACACCAGTTTGCCCAGTCTCTGAACTACGAAATCGCTAAAACGCTGAACGCAGA
+AATCGTCTTCGTTATGTCTCAGGGCACTGACACCCCGGAACAGCTGAAAGAGCGTATCGAACTGACCCGC
+AACAGCTTCGGCGGTGCAAAAAACACCAATATTACCGGCGTTATCGTTAACAAACTGAACGCTCCGGTTG
+ATGAACAGGGTCGTACTCGCCCGGATCTGTCCGAGATTTTTGACGACTCCACCAAAGCAAAAGTGAACAA
+CGTTGATCCGGCGAAGCTGCAAGAATCCAGCCCGCTGCCGGTTCTCGGCGCTGTGCCGTGGAGCTTTGAC
+CTGATCGCGACTCGTGCGATCGATATGGCTCGCCACCTGAATGCGACCATCATCAACGAAGGCGACATCA
+ATACTCGCCGCGTTAAATCCGTCACTTTCTGCGCACGCAGCATTCCGCACATGCTGGAGCACTTCCGTGC
+CGGTTCTCTGCTGGTGACTTCCGCAGACCGCCCTGACGTGCTGGTTGCCGCTTGCCTGGCTGCCATGAAC
+GGCGTAGAAATCGGTGCCCTGCTGCTGACTGGCGGCTACGAAATGGACGCGCGCATTTCTAAACTGTGCG
+AACGTGCTTTCGCTACCGGCCTGCCGGTATTTATGGTGAACACCAACACCTGGCAGACTTCTCTGAGCCT
+GCAGAGCTTCAACCTGGAAGTTCCGGTTGACGATCACGAGCGTATCGAGAAAGTTCAGGAATACGTTGCT
+AACTACATCAACGCTGACTGGATCGATTCTCTGACTGCCACTTCTGAGCGCAGCCGTCGTCTGTCTCCGC
+CAGCGTTCCGTTATCAGCTGACTGAACTTGCGCGCAAAGCGGGCAAACGTATCGTTCTGCCGGAAGGTGA
+CGAACCGCGTACCGTTAAAGCAGCCGCTATCTGTGCTGAACGTGGTATCGCAACTTGCGTACTGCTGGGT
+AATCCAGCAGAGATCAACCGTGTTGCAGCCTCTCAGGGTGTAGAACTGGGTGCAGGCATTGAAATCGTTG
+ATCCAGAAGTGGTTCGCGAAAACTATGTTGGTCGTCTGGTCGAACTGCGTAAGAACAAAGGCATGACCGA
+AACCGTTGCCCGCGAACAGCTGGAAGACAACGTGGTTCTCGGTACGCTGATGCTGGAACAAGATGAAGTT
+GATGGTCTGGTTTCCGGTGCTGTTCACACCACCGCAAACACCATCCGTCCGCCGCTGCAGCTGATCAAAA
+CTGCACCGGGCAGCTCCCTGGTATCTTCCGTGTTCTTCATGCTGTTGCCGGAACAGGTTTACGTTTACGG
+TGACTGTGCGATCAACCCGGATCCGACCGCAGAACAGCTGGCAGAAATCGCGATTCAGTCCGCTGATTCC
+GCTGCGGCCTTCGGTATCGAACCGCGCGTTGCTATGCTCTCCTACTCCACCGGTACTTCTGGTGCTGGTA
+GCGACGTAGAAAAAGTTCGCGAAGCAACTCGTCTGGCGCAGGAAAAACGTCCTGATCTGATGATCGACGG
+TCCGCTGCAGTACGACGCTGCGGTAATAGCTGACGTTGCGAAATCCAAAGCACCGAACTCTCCGGTTGCA
+GGTCGCGCTACCGTGTTCATCTTCCCGGATCTGAACACCGGTAACACCACCTACAAAGCGGTACAGCGTT
+CTGCTGACCTGATCTCTATCGGACCGATGCTGCAGGGTATGCGCAAGCCGGTTAACGACCTGTCCCGTGG
+CGCACTGGTTGATGATATCGTCTACACCATCGCGCTGACTGCGATTCAGTCTGCACAGCAGCAGTAATCT
+CGTCATCATCCGCAGCTTTACGCTGCGGATATCTGAACCGGAAATAGTCACTATTTCCGGTTTTTTATTC
+TCTTAATTTGCATTAATCCTTTCTGATTATCTTGCTTAACTGCGCTGCATCAATGAATTGCGCCATCTCA
+CTTTGCATACTTACCACTTTGTTTTGTGCAAGGGAATATTTGCGCTATGTCCGCAATCACTGAATCTAAA
+CCAACAAGAAGATGGGCAATGCCCGATACGTTGGTGATTATCTTTTTTGTTGCCATTTTAACCAGCCTTG
+CCACCTGGGTAGTTCCGGTGGGCATGTTTGACAGTCAGGAAGTGCAGTATCAGGTTGATGGTCAAACAAA
+AACACGCAAAGTCGTAGATCCACACTCATTTCGCATTCTGACTAACGAAGCAGGCGAACCTGAGTATCAC
+CGCGTACAGCTGTTCACGACGGGCGATGAACGCCCGGGTCTGATGAACTTCCCGTTTGAAGGGTTAACCT
+CAGGATCGAAATACGGGACAGCCGTTGGCATCATCATGTTTATGCTGGTGATTGGCGGCGCGTTTGGCAT
+TGTGATGCGTACAGGAACCATTGATAACGGTATCCTGGCGCTTATTCGCCATACCCGCGGAAATGAAATT
+CTCTTTATTCCTGCGCTGTTTATTCTGTTTTCACTTGGCGGCGCAATATTTGGTATGGGAGAAGAGGCCG
+TCGCCTTTGCCATTATCATCGCACCGCTAATGGTCCGGCTGGGCTATGACAGTATTACCACCGTCCTTGT
+GACCTATATTGCCACGCAAATCGGTTTTGCCAGTTCGTGGATGAACCCGTTTTGTGTGGTTGTTGCTCAG
+GGTATTGCCGGCGTTCCGGTGCTTTCTGGCTCCGGGTTGCGCATCGTGGTGTGGGTTATCGCCACTCTGA
+TTGGCCTGATCTTTACCATGGTGTACGCCTCACGAGTGAAAAAGAATCCTCTTCTGTCACGCGTGCATGA
+GTCCGACCGCTTCTTTCGTGAAAAGCAGGCTGATGTTGAACAACGTCCGTTTACCTTTGGTGACTGGCTG
+GTATTGATTGTCCTGACCGCCGTAATGGTCTGGGTTATTTGGGGCGTGATCGTTAATGCCTGGTTTATTC
+CTGAAATTGCCAGCCAGTTCTTCACCATGGGTCTGGTGATTGGCATCATCGGCGTTGTTTTCCGCCTTAA
+CGGCATGACGGTTAATACCATGGCTTCATCCTTTACCGAAGGGGCGCGAATGATGATCGCCCCTGCCCTG
+CTGGTGGGTTTCGCCAAAGGGATTTTGCTGCTGGTCGGTAATGGTGAAGCGGGTGATGCCAGCGTGTTAA
+ATACCATCCTCAACAGCATTGCCAATGCCATTAGCGGTCTGGATAACGCAGTCGCGGCCTGGTTTATGTT
+GCTCTTCCAGGCGGTATTTAATTTCTTCGTGACGTCCGGTTCTGGTCAGGCGGCGTTAACCATGCCGTTA
+CTGGCACCGCTTGGCGATCTGGTCGGTGTTAACCGTCAGGTTACCGTGCTGGCTTTCCAGTTTGGCGATG
+GCTTCAGCCACATCATTTACCCAACCTCAGCTTCGTTAATGGCAACGCTCGGTGTTTGCCGGGTGGACTT
+CCGTAACTGGCTGAAGGTGGGTGCGACCCTGCTTGGACTGCTGTTTATTATGTCCAGCGTCGTGGTGATC
+GGCGCTCAGTTGATGGGCTACCACTAAAAATGTTAAGAGCCGCAATTGCGGCTCTTTTTTTCATTCTGCC
+GTTTCAGTCTCTACGGCTTCATTTTTGGCATTGCGCTTCATCCACAACGCCAGCGCTTTCAGCGAGTCTG
+GAGTGAACTCATCGCAGCGTGCGGTGATTTCTTCCGGCGTCAGCCAGCAAACTTCACTGACTTCATCTTC
+CTGTAGAGCGAAGGGACCGTGAGAGACGCAGCTGAACAACGCGCCCCAGACACGGCAATTTTTATCTTCG
+AAATAGAACTGCCCGTGCTCGGCAAAGGGGACCCCGGCAATGCCCAACTCTTCTTCCGCTTCGCGACGCG
+CGGATTCCAGCAGTTGCTCATCGGCCTGGACTACACCGCCTGCGGTCGCATCTAACATGCCGGGTAAAAA
+GTCTTTTGTCTCGGTACGACGCTGGACCAGAATTTTGCCCATGCCATCATGCACGACGATATAAGTTGCA
+CGATGACGCAGACACTGTGCCCGCATTTGTTCCCGGCTGGCTTGTGCAATGACTTCGTTCTCTTCATTGA
+CAATATCCACCCATTCAGTACTTGCCAAACGACGCTGTTCCATTATCAGGAAACCTTCTTTTTCTGGCGC
+TCTTACGGCGCATTTTGAGTTGTGGGTAAATTACGGATTAATCGCGACCTGCGCAATGATACTTTGATCA
+TTGAGTGCGATTACACTAAGTACGTCATTATCCAGCATGCCATAACTCGCCGGATTACCGCCTTTCGGAA
+TACTCACCGAGCCGGGGTTGAAGTGGAAAATTTCCCCCCGCTGTTCTGCCACTGGCAGATGGGTATGACC
+GTACACCAGCACATCGTTCTGGTTTAAAGCAGGTAGATTTTCCGGGCCAAAAAGATGACCATGCGTCAAA
+AACAGACGTTGTTTTTCCAGTAATACCTGTTGCCACGGCGCGGTTATCGGGAAATGCAGCAGCATTTGAT
+CCACTTCGCTGTCGCAGTTGCCGCGCACAGCGATAACCTTATGTGCCACTTCATTAAGCCGTTCAGCGAC
+TTTGGCTGGCGCGTAACCCTCCGGTAAAGCATTACGCGGGCCATGATTCAACACGTCGCCAAGGATCACC
+AGCCACTGGGCACCGCTTTGGGCAAACAACTCCAGAACACGTTCCGTCGCCGGTAACGACCCATGAATGT
+CCGATGCAAACATCAGTTTCATCACTCACTCCTCGTCGAAAAAACGTAAGCTATGATACTGGATTCTGTC
+GTTGCTATCAGCCAGATTGCTTCGCCGAAAGTGCAATAAAACGCTGGACAGACGCTCGCTGCCACTGGAA
+TGTCGCATAATCCACCAGGCGTTCCGGCACCTCATCGCCATGTAGTACCAGGCGGTTAATCATTAGCGCC
+AGATCAGTATCAGCAATGCACCATTCACCAAATAAATTCGGCTGACCCAGTGCTAACAAATGTTCTGCCA
+TCGCGAACAATTTCTCTGCACTGGCTTTTCCCTCGGCCGTTAGTGGCGCTTTTTTCGCCCCCGCAAAGAC
+AACATCCGTCGGGCGTTCTTCGCGGATGGGCATCAGATCGCTGCGCAACCAAGCCTGAATCTGTCGTGCA
+CGCGCACGATTTTCTAAATCAAGCGGATAAATACGTTCCCAGGTCGGTGGCGCAAATCGATCTTCCAGAT
+ACTCCGCAATGGCAGAAGATTCACTCAACTCAAAATCATCGATTTGTAATAACGGCACACGGCGTGTCTG
+ACCGTAACCTTGCCACGCCGGCTGCAAATGTTCACCGCTGTCGAGGTCGATGGTCTTGATATGAAACGAC
+AGGCCTTTCTCCTGCAACGCCACCCAGGCGGATAACACATAAGGGGAGAAAAAATGGGCATCTGACCAAA
+GCGTGATAGCGGGTTTACTCATTATGTCCTCGGCAATAAAGGGGGCTTGCTATCAAACTATAGAGCCTTT
+TTGTCACTGTCACGTGACGAATACTCACGCAAGTCGCCGCGCTTTCTATACTTGTGGTGTTCAGATGATT
+AGACAACCGGAGCTGCAATGATCGATCTCTATTTCGCCCCGACACCCAATGGTCACAAAATTACGCTGTT
+TCTCGAAGAAGCAGGGCTGGATTATCGCTTGATAAAGGTAGACCTGGGGAAAGGAGGTCAGTTTCGCCCG
+GAATTTTTGCGCATTTCGCCTAACAACAAAATTCCGGCAATTGTTGATCATTCTCCAGCCGATGGCGGCG
+AACCGCTAAGCCTCTTTGAGTCTGGTGCCATTTTGTTGTATCTGGCTGAGAAAACGGGACTCTTTTTGAG
+TCATGAAACGCGTGAACGCGCCGTCACATTACAGTGGTTATTCTGGCAGGTAGGCGGACTGGGGCCGATG
+CTTGGGCAAAATCATCATTTTAATCACGCAGCCCCCCAAACCATTCCTTACGCTATTGAACGTTATCAGG
+TTGAAACTCAGCGTCTGTACCATGTACTGAACAAGCGGCTGGAAAATTCGCCCTGGCTGGGAGGCGAGAA
+CTACAGCATTGCGGATATTGCCTGCTGGCCGTGGGTTAATGCCTGGACTCGCCAGCGAATTGACCTCGCA
+ATGTATCCGGCAGTCAAGAACTGGCATGAGCGGATCCGTTCACGCCCTGCCACCGGGCTGGCACTGCTAA
+AAGCACAACACGGTGATGAGCGTTCGGATAGTTAACAGAAACAGGTTCTCGTGTATTATTTCATTCTAAG
+TAAAACAACGGAGAACCTGCAATGGCACAACCTGCCGCTATTATTCGTATAAAGAACCTTCGTTTACGTA
+CGTTTATCGGAATTAAGGAAGAAGAAATTAACAACCGTCAGGATATTGTTATCAATGTGACGATCCACTA
+CCCCGCCGATAAAGCGCGCACTAGCGAAGATATCAACGATGCGCTGAATTATCGCACCGTAACGAAAAAC
+ATTATTCAGCATGTAGAGAATAACCGTTTCTCTTTGCTGGAAAAATTAACTCAGGATGTGCTCGATATCG
+CACGTGAACATCACTGGGTGACGTATGCTGAAGTGGAGATCGATAAACTGCACGCGCTGCGCTACGCCGA
+TTCGGTATCCATGACCTTAAGCTGGCAGCGTTAACCGCCATATCGGGAGGCTGCATGAACATAGTGATCA
+CCGGAGGGACGGGATTAATTGGTCGCCATTTGATTACACGTTTGCTGGACCTGGGCCATCAAATCACGGT
+AGTGACGCGTAACCCGCAGAAAGCCAGTTCCGTTCTCGGCCCTCGGGTGACACTATGGCAAGGGCTTGCC
+GAACAAAGCAACCTCAACGGCGTTGATGCGGTAATCAACCTGGCCGGAGAACCGATTGCTGATAAACGCT
+GGACTCACGAGCAAAAAGAGCGTCTCTGCCAAAGCCGCTGGAATATCACGCAAAAACTGGTCGATTTGAT
+TAATGCTAGCGACACGCCACCGTCGGTACTCATTTCCGGCTCGGCAACGGGCTATTATGGCGACTTAGGT
+GAAGTGGTGGTTACCGAAGAGGAACCGCCGCATAACGAATTTACCCATAAACTCTGCGCCCGCTGGGAAG
+AAATTGCCTGTCGGGCGCAAAGTGACAAAACGCGAGTGTGCCTGCTGCGTACCGGCGTAGTGCTGGCACC
+AGACGGTGGTATCCTCGGTAAAATGCTGCCGCCATTTCGTTTTGGCCTGGGCGGGCCGATTGGCTCTGGT
+CGGCAGTATCTGGCCTGGATTCATATTGATGATATGGTCAACGGTATTCTCTGGCTGCTGGATAAAGAGC
+TGCGCGGGCCATTTAATATGGTTTCGCCCTACCCGGTGCGCAATGAACAATTTGCCCATACACTGGGTCA
+TGCGCTGCATCGCCCGGCCATTTTGCGCGTCCCTGCGACCGCCATTCGGTTGTTAATGGGCGAATCTTCA
+GTTCTGGTATTAGGCGGTCAACGCGCGCTGCCAAAAAAGCTGGAAGAAGCGGGTTTTGCGTTTCGCTGGT
+ACGATTTAGAAGAGGCGCTGGCGGATGTCGTTCGCTGATGTGGTTTACTGCAAACATCCGCCAGTTAACT
+CCCGGTGTTACAGGGTTAGTGGCTTTGCGCGATAAGATCGTCTGGTGAAAGTCGGGTCAGCGTCAGGATG
+ACTTCGTGGTCAAATCCTTTTTCCATCATCTCCTGAGCAATGCGCAGGGCTTCTTCGTGTTTGCCCTGCA
+TTGCGCCTTCTTCACGTAATCTGTCAGCAATGGTCATCAGTTTCTCCTTTTCTTGTGGTGCGCGTTCCGC
+TATCTCACCAATAAATGCACGGAAACGCCGGGCATCCCCCGTTTGTAATACGTAATTAAACAGGGCTTTT
+AGCTGTCTGTCATTAGTGTTCCCTGTAACTAGCAGCGAAACAATTTGGTCGACTAATCCCAACAGATCGC
+GCTGACGAATATGTTTCTGAATTAACTCCAACAGCGCCATTTTGCGATGTTGCATAATCTCGTCATCCGG
+CACCACGGTAATATCCACCAGCGGAAAAGCCGATGAATAAATTTTGCGGGCAATCGCAGGCTCGGCAAAT
+TCATCAAGCCAGCAGAGTGAATATGGATAAGGGCTTCTGCAACCATGATAAAACAGCATCGGGATCACTA
+ATGGAAGCTCTTTATAACCCGCATCAAGATGGTTTTGCATCGCCGCAATGGAATAGCGCATCATGCGAAA
+AGCCATTAATTCCTCTGGCTTACTTTGGTGCTCTATCACCACATAAATATAACCCGCTCCCTCCTGCGTT
+TTCACAGACCACAAGAGGTCGGAATAATATTGCCGCAGGTCTTCATCAATAAAACTGTTTGGTTCCAGTT
+TAAGCGTCGTTAAATCACACAGTTTGCGCAGCGGCGCGGGAAGATGAATATCAATAAAATCCCGCGCGGT
+GTCTGGATGGCGTAAAAAAGATTTAAATACCGCATCATGCGGCGTGGAAGTTGTCGATATTGTCATGGCG
+TTCCGTCACCCCTCAAATTTAAGATGACGCGACAATAACCACGATTTACACCCAATGCAGCAGGCAGTTT
+TTATCTTTGGACAGCGAATTCAGAACTATTTTTAGCGGACTGCAACTTTTACATTTCAGCGGAAGCGGAC
+TCGCAAATTCCCCATGAAATACTCCGGCAGCGTTAACCACCGGAGAGGAAATTATTTCAGCGAACCTTTA
+AGGAACTGTTGCAGACGAGGGCTTTGCGGGTTACCGAATAACTGCTCCGGCGCCCCTTCTTCTTCTATTT
+TCCCCTGATGGAGGAAAATGACGTGAGTAGAAACATGACGAGCAAAGCCCATTTCGTGAGTCACTACCAC
+CATGGTTTTCCCCTCTTCTGCCAGTTGCTGCATAATACGCAACACTTCGCCTACCAGTTCAGGATCGAGC
+GCTGAAGTAGGTTCATCAAACAGTAAAACTTCCGGTTCCATCGCTAGCGCCCGCGCGATAGAAACACGCT
+GTTGCTGACCACCGGACAGGTGCACCGGGTATTTCCCCTGCGCACGTTCGTCTATCCCGACTTTTGCCAG
+ATATTTCACCGCCCGCTCGCGCGCTTCCTGCTTGCTCAGGCCCAACACCTGAATCGGCGCTTCCATGACG
+TTTTCCAGCACCGTCATATGGCTCCAGAGATTGAAGTGCTGAAATACCATCGTCAGGCGTGTGCGCAATA
+AGCGCAGCTGATTTTTATCGGCGACTTTGAGTTGACCATCTTTATCGCGCACCAGATTGATCGTCTGGCC
+ATTGACCACGATCGATCCTTCGCTCGGTTTTTCGAGGAAGTTAATGCAGCGCAGAAAGGTACTTTTCCCC
+GATCCCGACGATCCGATGATGCTTATGACATCTCCGGCATTCGCTTGCAATGAGACCCCTTTCAGCACTT
+CGTGTTCGCCGTAGCGTTTGTGCAAATCGATAACGTTTAATTTATTCTCAGACATCGTATTCTCAGTGCG
+TTGAAGAAGGTTTCACATGCTGCAACCAGCGTTTTTCAGCTCTACGAAAGAGGCTGATCAGGACATAAGA
+GATGATTAAATAGAGCACCGCGGCAATGCCGAAAGCGGTAAAAGGTTGATATGTGGCGGCGTTAATATCG
+CGGGCAATTTTCAGCAGATCCGGCACCGTGGCAGTAAATGCCAGCGCAGTAGAGTGCAGCATCAGGATCA
+CTTCGTTGCTGTACGCCGGTAACGCAATACGCAGCGCAGAAGGCAAAATAATGCAGCGATACATTTTAAA
+GGTCGAGAAGCCATAGGCTCTGGCGGCTTCAATTTCCCCATGCGGCACTGAACGGATTGCCCCGGCAAAA
+ATCTCGGTAGTGTAAGCGCAGGTGTTAAGCGTCAGCGCCAGCACGGTACAGTTCAGGCCACTGCGAAAAA
+AGGCGTTAAGGAACTCAGTTCCCTTAACAATCTCCAGCGTGTACATGCCGGAATAGAACACCAGCAACTG
+AACATACAGCGGCGTACCGCGAAAAATATAGGTAAATAACCAGATTGGAAACTGGATGTATTTATTACTT
+GAGACGCGACCAATCGCCAGAAACAGCGCCAGAACTCCGCCTATCACTACCGACAAAATCAGCAGCCACA
+GGGTGATTGCTACGCCAGTAAAGCGATAACCGTCAGTCCACAGCAGTGGTTTCCAGTATTCATGTAAGAT
+TTCGATCACAGGTCAGCCCTCTTCACACCCACGGAGTAGCGGCGCTCAAGGAACAGCAGCACACCATTGG
+AAACGGTGGTGAAAACAAGATAAATCACGCCGCAGACGATAGCGAAATAGAACGGTTCCCAGGTACTTTT
+GCCTGCCAGCTGCGTGGCTTTGACCACATCTTCCAGGCCGAGTAACGAAACCAGTGCGGTAGATTTGAGG
+ATCACCTGCCAGTTGTTGCCAATGCCTGGCAGGGCGTAACGCATCATCGCCGGAAACATGATCCGCCGAA
+ACACTTGCCCACGAGTAAAACCGGACGCCGTCGCCGCCTCTATATGTCCTTTCGGCACTGGCCATAAACG
+CGCCACGAAACGTTTCGGTAAAATAAGCACCGTAGATAAAACCGAGAGTGATAATACCTGCGACCATCGG
+ATCAATATCAATCTGCCCGACGCCCATCGCCTCCGTCACCGTGTTTAGCGCAATCTGCAAACCGTAGAAA
+ATCAGCAGCATCAATACTAAATCCGGCACGCCTCGAATCAGCGTGGTGTACCCTTCGAAAATAAGGCCCG
+AAAGCCGATTTTGTGAGAGCTTACCGCTAGCACCAATTAAACCGATGATTACAGCGAGCACTACAGAGCT
+GATAGCCAGCTCCAGCGTGACGAGCGCACCCTGTAAAATAACACCTGAAAACCCATACAACATGCTGCCT
+GTCCTGTCGTGTGTGGTGAATTACCGCCTCTTGTCTCCCTCCGGATACCCGAAGGGAGCGGGCTTTCTTT
+CACCGATGGCGATTAACCACCATAAACATCAAAATCGAAGTACTTTTTCGCTAATTTCTCGTAAGTACCG
+TCAGCGCGCATTTCGGCAAAGGCTTTGTTCAGTGCCTCGCGCAGTTCGTTATCTTCTTTACGCAGGCCCA
+TGCCGGTCCCTACGCCAAACAGTTTTTCATCTTTAACAGACGGGCCACCGAATTTGTAATCTTTACCGAC
+GGGTTGTTTGAGGAAACCTTCGCTGGCTGCGACCTCATCCTGGAACGCGGCATCAATACGTCCGGCAGTC
+AGGTCAGAATAAATATTGTCCTGCCCCTGATAAGAAACGATTTCAATGCCTTTTGGTGCCCAGTGTTCGT
+TACCGAACGTCTCCTGGGTGGTGCCCTGCAATACGCCTACCCGTTTGCCTTTCAGCGATTCGACTGTCGG
+CTGAATGTCGGAATTTTTCGCCACCACCAGACGAGAATCGGCTGCGTACAGTTTGTCAGTGAAGGCTATT
+TCTTGCTGACGTTTTTCCGTAATGGAAAGCGATGACATGATGGCGTCAATCTTCTTCGCTTTTAAGGACG
+GGATTAACGCATCGAGTGGGTTTTCGACAAACGTACATTGCGTATTGATGCGTTTGCACAACTCCTTCGC
+CAGATCGATATCGAAGCCAACCAGTTCACCTTGTGAATTTTTTGATTCAAATGGCGCATAGGTCGGATCG
+GTACCGATGCGGATGTTTTGCGGAATCGCAGCAAATGCCGCAGTTGCGCTGGAGAAGGCCAGAACCAGAG
+AGAGCGATAGCACCAGTTTTTTCATAATGTCCTCAACTGACAGTCTTTTTATCGGGAATATTTACAGGTT
+TGTTACACTTATCGTGCCATAAAATTGACCATCAAGGCAAAATATCCCGCCCCGCTAGACGTATTATTTT
+TCATTAAAAATGCTTAAGTATGCATTTCAATGCACCACGATAGTGCAACAAACCTGGCGTGCACCATGAT
+GATCATTCCATCAGGTACAGCTTCCCTGCGACGTATCAGTCACCGTAGACATTAAAGTCGAAATACTTTT
+TCGCCATCTTGTCGTAGGTACCGTCCTGACGCAGCTCGCCAAGCGCCTTATTAAACGCAGCCGTCAGTTC
+AGCATCATCTTTACGCAGCCCTACACCGGTGCCGTCACCGAAGTATTTTTTGTCTTTCACTGATGGGCCT
+GCAAAGGCGAAATCTTTACCGGCGGGTTGCTTAAGGAAACCTTCGCTGGCAGCAACTTCATCTTGTAACG
+CAGCATCCAGACGTCCTGCAGCCAGATCGGAATAGACTAAATCCTGGTTGGCATAGGCCACCACATCCAC
+GCCTTTGCTACGCCAGGTCTCGTTAGCGTATGCTTCCTGGGTTGATCCCTGCAGCACACCAACATGTTTA
+CCTTTCAGTGAATCCAGCGTAGGCTGAATCGGTGAACCTTTGGCGGCAATCAAACGAGAATCTGCGGCGT
+ACAGCTTGTCAGAGAAGGCTATCTCCTGCTGACGTTTATCGGTAATGGAGAGCGACGAAATAATGGCGTC
+GATTTTTTTCGCTTTCAGTGAGGGGATCAGCGCGTCAAAGTCGCTGGCAACCCAGGTACATTTCACCTGC
+ATCCGTTTGCACATCTCGTTACCGAGATCGATATCAAAGCCAACAAAGTCACCTTTAGCATCTTTCGACG
+AGAACGGCGCGTAGGTGGTATCGGTTCCGATACGTACCGTCTCCGGTAGCGCCGCATAGCTGGAAGCCGC
+TGCGGAGAGACCGACTAACAAAGACAGAGCGAGAATCGACTTCTTCATACATAACCCTCAAGTGAAAATG
+GCTTTTTTATGTTGTGTATTGTGTTGTGTGTTTGCAGGCTCTTTCATGCAGGTCTTATGCCATCTTGACG
+ACAGCAGTAACATTCAACGTTAAATATGTTAATAAGACGTTGCATTATTGTCCTAAAGTTGAAGATAGCA
+GGTATAGCGATTGAATCGCAGCGTTTCGATTGAATGGCAGAAACAAAATGTCGAGGATTTGATCGCGGTT
+GCAAAATTGCCCTGAAACAGGGCAACAGCGGAATTATGCGCCCTGCCAGCGGGCAAAGAGATCTTCAGGA
+AGGGTTACCGCAAACTGGTCAAGAACACGATTAACCGTCTGATTTATCACATCATCAAGGGATTGTGGGC
+GATGATAAAACGCCGGAACGGGAGGCATAATCACCGCACCGATTTCTGCCGCCTGAGTCATTAAACGCAG
+ATGGCCTAAGTGCAGTGGCGTTTCACGCACGCAGAGCACCAACGGGCGACGCTCTTTCAGCACCACATCT
+GCCGCACGGGTCAGTAAGCCATCAGTATAGCTATGGACAATGCCGGACAGGGTTTTGATTGAACAGGGTA
+AAATCACCATCCCCAACGTCTGGAAAGAACCGGAAGAAATACTGGCAGCAATATCGCGCGCATCGTGTGT
+CACATCAGCTAACGCCTGCACTTCGCGCAGGGAAAAATCCGTTTCGAGGGATAAGGTCTGGCGCGCCGCC
+TGGCTCATTACCAGATGCGTTTCGATATCTGTGACATCGCGCAGAACCTGTAATAAACGCACGCCATAAA
+TCGCGCCGCTGGCACCGCTGATGCCTACAATGAGTCGTTTCATAAATAGTTGCCCTGTCAGACTTGCAGG
+CAGACTTTGCAGGATTTCGGCGGGAGTTGCAAGTCAGGGTGCCAGACCGGCACCCTGAGCGAAGGCATCA
+TCCTTCGTTATGCATTTCGAGATTTTCCACTTCGTTCTGACGTTGCACTGCTTTGGCGTCGTCATTACGT
+AAAGTATCGAGGAAATCGAGGTAGCCCTGATCAACGTCTTTGGTGACGTAGACGCCGTTGAACACCGAGC
+ATTCAAACTGCTGGATATCCGGGTTTTCAGCGCGAACGGCTTCGATCAGATCGTTCAGATCCTGGAAAAT
+CAACCCGTCAGCACCGATGATCTGGCGAATTTCATCTACTTCGCGACCGTGAGCGATCAGTTCCGTGGCG
+CTCGGCATATCGATACCGTAAACGTTCGGGAAGCGAATTTCCGGTGCCGCAGAAGCGAGGTACACTTTCT
+TCGCTCCGGCTTCGCGTGCCATCTCAATAATCTGCTCAGAAGTGGTGCCACGGACGATAGAGTCGTCGAC
+CAGCAGGACGTTTTTATCGCGGAACTCGGCGCGGTTGGCGTTCAGTTTACGGCGCACGGACTTACGACGC
+AGCTGCTGACCCGGCATGATGAAGGTGCGGCCAACATAGCGGTTTTTAACGAAGCCCTGGCGGTACGGTT
+TGCCCAGAATACGCGCAATTTCCAGCGCGATATCACACGAGGTTTCCGGAATAGGGATCACCACGTCGAT
+ATCCAGATCTTCCCATTCGCGGGCAATTTTTTCGCCCAGTTTGGTGCCCATATTCACGCGCGCGCTGTAA
+ACGGAAATTTTGTCGATGAACGAGTCCGGGCGGGCAAAGTATACATACTCAAACAGGCACGGATTGCTGA
+CCGGATTGTCAGCACATTGACGGGTAAACAACTGTCCTTCTTCAGTGATGTAAATCGCTTCGCCCGGCGC
+GACGTCACGCAGGAAATCAAAGCCCAGCGTATCGAGCGCAACGCTTTCGGAAGCGACCATATATTCTGTG
+CGGTTCTCGTCAATATCACGTTTTCCCAGTACCAGCGGACGAATCCCGTTAGGATCGCGGAAAGCAACCA
+TACCGTGGCCGATGATCATCGCCACACAGGCATACGCGCCGCGGATTAAGCGGTTTGTAGCAGCGATGGC
+GGCGAAAATGTTGTCGGCTTCCAGCGGGTAGTGGCGGAAGTTGTCCAGCTCGCTGGCGAAGATATTAAGC
+AGAATTTCCGAGTCGGAAGTGGTGTTGATGTGGCGGCGTTTTTCTTCAAACAGTTTTTTACGCAACTCGT
+GAGCGTTGGTCAGATTGCCGTTGTGGGCAAGCGTAATGCCATACGGGGAGTTAACGTAAAACGGCTGCGC
+TTCAGAGGCGCTGGAGCTGCCAGCCGTGGGGTAACGCACATGACCAATGCCCATATTGCCCTGCAAACGC
+TGCATATGGCGAGCTTCAAATACATCGCTCACCAGCCCGTTCGCTTTCCGCAAACGGAAGCAGTTATTGG
+CATCTATGGTGATGATGCCGGCGGCATCCTGACCGCGATGCTGAAGCACCGTTAAGGCATCATAAATCGA
+CTGGTTAACCGGCATAACACCGGCGATACCGACAATACCGCACATACGTCTTTTTCCTCGTTAAGCCACA
+TCTCAGAGCACTTACGCTCTGGGCAAGAAACTTGACGAGCTTTGCAGATAATCAAAAAACCATCTGATGA
+TAAAACTGAACTGCGGGATCAGCTGTGATTTGCTCCAGTCTTCGCTTTTCGACACCCCGGTAAAGGAGTC
+GAGAAAGAAGAGAATGGCAGCAACAATCAACACACCGCGCAACGCACCGAAACAGACGCCCAACACCCGA
+TCGGTGCCTGACAACCCCGTTTTCTCCACCAACTGGCCTATCACGAAGTTCACGATAGCACCAACGATCA
+GGGTAGCGATAAACAGTACCGCGATGGCAATCCCATTTCGAACCAGTTCGTCTTCAAAGCCCGTAAACCA
+GACTGACAGGTAAGTGTAGTAATGACTGGCAACAAAGAAAGCACAACCCCATGTCACCAGCGATAACGCT
+TCACGAACAAAGCCGCGGATCAGGCTAACCAGAGAGGAAAAAGCAATCACCGCGATTATGGCGTAATCAA
+TCCAGACCATATGTGTCCCACGATTTTACGCCCTGTCATCCTGTTCGGGGCGCATTCTAACAGAAAAAGA
+AAACGTTTGCGTAGGGATTTCCTTCCCGCGCATCAATAAAAATGGCGCTGAAAAAATATTCAACGCCATC
+GACTTTTTATGCCTTTGCGGCATCGGGCAATGCGTGTCGGATGCCGCATGAACGCCTTATCCGACCTACT
+GTTCTGCTCCAGCACAGGCCTGATAAGACGCGCTGGCGTCACATCAGGCAACGGCTGTCGGATGCAGCGT
+GAACGCCTTATCCGACCTACTGTTCTACTCCTGCGTAGGCCTGATAAGACGCGCTGGCGTCGCATCAGGC
+AACGGCTGTCGGATGCGGCGTGAACGCCTTATCCGACCTACTGTTCTACCCCTGCGTAGGCCTGATAAGA
+CGCGCTGGCGTCGCATCAGGCAACGGCTGTCGGATGCGGCGTGAACGCCTTATCCGACCTACGGTTCTAC
+CCCTGCACAGGCCTGATAAGACGCGCTGGCGTCACATCAGGCAACGGCTGTCGGATGCGGCGTGAACGCC
+TTATCCGACCTACGGTTCTACCCCTGCACAGGCCTGATAAGACGCGCTGGCGTCACATCAGGCAACGGCT
+GTCGGATGCAGCGTGAACGCCTTATCCGACCTACTGTTCTACCCCTGCGTAGGCCTGATAAGACGCGCTG
+GCGTCGCATCAGGCAACGGCTGTCGGATGCGGCGTGAACGCCTTATCCGACCTACGGCTCTACCCCTGCA
+CAGGCCTGATAAGATGCGCCAGCGTCGCATCAGGCAAGACCGTATTAATTCGGTGTATAGCCCATTACCA
+CGCCACTTAAGCCAGAAAGCTGCTTGAGCTCACCCAGCGATCCTTTCAGCTTCTCTTTGGAAGCATCCGG
+CCCAACCAGAATACGGGTAATTTTACCCTGCACTGGCGTGGATGGCGACGTATAAACCCGATAACCGGCA
+CCGCGCAACTTACCGACAATCTCATTCACTTTATCGGCATTTTTCAGCGCGCCCAGTTGCACAACATAAG
+CTTTACCCGTTGGCGCTGCTTTTTCTTCCACGACCGGCTTCGGTTCTGGCTTCGGCGCAGGTGGTGCTTC
+AACCTTTGGCTTAAGCGGCTCCACCGGTTTCGGCTTCGGTGGGGCGACCGGTGCAGGTTCCGGTTCAAAC
+TCGGTGTTATTGGCTGCAATAGTGGCCGGATCGAGCGACGGTGCTGCGGCATCACCTGCCCGTACCTCTT
+CCGCTGCGCCTTCCGGCGGCTGCGTCGGCAACGCCTGGGTGGCGGCTGGCATCATATCAGGCTCATCGCG
+ATCGCCCGCTTTCGGCACCAGCGGGATAGCAGCGAACTCATCCTGATAATGCTTTTTCTGCCCGTCCAGC
+AGCCCTGGAAGTACAATCACCCCCAGCGCCACCAGCACGATCGTACCCACTAACCGATTCTGAAACTTAC
+TTGCCACCGCTTCTCCTCGCGTCAATCACTTCCATGACATGTGCGACCGTGTGGAACGAACCACACACCA
+GCACGGTGTCTTCCGCTTTAGCGTCCGCCATTGCGGCATCCCATGCCTGCGCAACGCTATCAAATGATTT
+GCCGTTACCCAAATGCTCAAGCAGTTGTTCTGCCGTGGCACCGCGCGGCCCTTCCAGTGGCGCACAATAC
+CAGTCATCAACCACGCTTTTCAACCAGGCCAGAGTTCCGGCAATATCTTTATCATGTAGCATACCGATAA
+CCGCCAGCACGCGCCCGTTTTTCGGTAGCGCTTTCATACGCCCGGTGAGATATTCCGCCGCATGTGGATT
+ATGCGCGACATCAAAAATAACGCGTGGCGACTCGCTCACAATCTGGAAACGTCCCGGCAAAATTGCGCTG
+GCAATCCCGTCGCGAATGGCATTTTCACTGACCTCCAGCCCGCTGGCACGCAGTGCCGCCAGCGCCGTTG
+CGGCATTCGGTTGCGGGACAAGCGGCAACGGCAGATTTGCCAGCGTGCCGTGAGCATCGCTAAACGCCCA
+GTCATGATCGGTGACGGAATAGTTCCACTCAACGCCCCGACGTTGTAACAGTGCACCTTTTTCCTGCGCC
+ACATCAGCAATGGTAGAAGGCATTTCCGGCTCACCGACAATTGCCGGTTTTTCGCTGCGGAAGATGCCTG
+CTTTCTCGCGACCAATACTTTCACGATCTGGCCCCAGCCAGTCGGTATGATCCAGCGCAATACTGGTTAC
+TACCGCGACATCGGCATCGACAATATTGGTTGCGTCCAGACGACCGCCCAGCCCTACTTCCAGAATCACT
+ACGTCAAGTTGTGCCTGCTTGAACAGCCACAACGCCGAGAGCGTACCGTACTCGAAATAGGTCAGGGAAA
+TATCACCGCGTGCCGATTCAATCTCCGCAAAAGAAGCGGTGTGGGCCGATTCCGGCAATTCCTGACCCTG
+CACACGTACGCGCTCGGTATAACGCACCAGATGCGGCGAACTGTAGACGCCCACTTTGTACCCTGCCGCC
+ATCAGAATCGACTCCAGCGTACGGCAGGTGGTGCCTTTGCCATTCGTACCCGCAACGGTAAACACAAATG
+GCGCTGGTTTCAGAACGCCAAGACGCGCCGCGACCTGGCTCACGCGCTCAAGGCCGAGATCGATAGTTTT
+ACTGTGCAGGTTTTCCAGATAAGAAAGCCACGAAGCCAGAGGCGACGCGGCTTGAGGAGTGCGTTTGATA
+ATCATGGTATCCGCTGATTCGTTACGGTGAGAATAGCAAAAGGGCAGAGCCAGTGGCCCTGCCCTTATCA
+GTTATCAGGCCTCAGGTTCCTGATCCGGTACCGGTGGCACCACTACGCCTTCACGCGGCGCTTCAGGATT
+CGGCGCTGGCAGATTCATCAACTTCGCCAGAATGCTCGCCAGTTTCAGGCGCATTTCCGGACGACGGATG
+ATCATGTCGATCGCGCCCTTCTCGATCAGGAATTCACTGCGCTGGAATCCTGGCGGCAGTTTTTCGCGAA
+CGGTCTGTTCGATAACTCGCGGACCGGCAAAGCCAATTAACGCTTTCGGTTCAGCGATGTTGAGATCGCC
+CAGCATGGCGAAACTTGCAGAAACACCGCCCATGGTCGGGTCGGTCAGCACGGAGATGTACGGCAAGCCG
+CGCTCCTGCATTTTTGCCAGTGCCGCAGAGGTTTTCGCCATCTGCATCAGCGACATCAGTGCTTCCTGCA
+TACGTGCGCCACCAGAGGCGGAGAAACAGATCAGTGGGCAGTTATCTTCCAGCGCCTGCTCAACGGCACG
+CACGAAACGCGCACCTACCACAGACCCCATGGAACCGCCCATAAAGGCGAACTCGAATGCCGCAGCGACA
+ACCGGCATTCCATACAGAGTGCCTTTCATCACCACCAGCGCATCTTTTTCGCCGGTTTCTTTCTGCGCAG
+ATGCCAGACGGTCTTTATACTTCTTGGAGTCACGAAACTTCAGCACATCTTTCGGCTCAAGCTCGCTACC
+CAGCTCCACAAGGCTTCCTTCATCTAACAGGCTATGCAGGCGATTACGCGCTGTCATACGCATGTGATGG
+TCACACTTCGGACAGACCTCAAGATTACGTTCCAGCTCAGCGCGGTATAAAACCTGACCGCAGCTATCAC
+ACTTAGTCCACACCCCTTCAGGAATGCTCGCCTTGCGGGTGGGAGTAATGTTGCTTTTAATTCGTTCAAT
+CCAGCTCATTAGGGACCTTTCTGTCTGAACCTGGTTCGATGCCAGTTTTATCTTTGGGGGCGCATAATGC
+CATTTTTGCCCCCAACAGACCATGAATGTTGCACATTAAAACATAACAGCCCGAAACTTTGGATAAAAAA
+GTGGTCGAACCGCAGAGTTACTTTTTATTTTGCGGCGCGTGCCGCTGCGCGTTTGTGGCGAATAAATTCG
+AAAACACCTGGCAATATTGAAACAAAAATAATGCCAACAATCATCAGTTTAAGGTTGCTCTGAATGAAGG
+GGAGCGTGCCGAAGAAATAGCCTGCGTAGGTAAAAAGCAGTACCCACAACAGTGCGCCAATCACGTTATA
+AGCGGCGAAATGACGGTACGACATGTGGCCCATTCCCGCAACAAACGGGGCGAACGTTCTGACGATCGGC
+ACAAAACGGGCGAGAATAATCGTTTTGCCGCCATGTTTCTCATAAAACTGATGGGTTTTGTCGAGATAAC
+TGCGACGGAAAATTTTCGAATTGGGATTACTGAATAACTTTTCACCGAACAACCGCCCGATAGTGTAATT
+GACCGCGTCACCCACAATCGCGGCGATCAGCATCAGCACCACCATCATATGGACGTTGAGATCGTTGGTC
+TCCAGTGATGCCAACGCTCCGGCAACAAACAGCAATGAATCACCCGGTAAAAACGGCGTTACCACCAGAC
+CGGTTTCACAGAACAAAATTAAGAACAAAATGGCATAAACCCAGACGCCGTACTCCGCGACCAGCTCTGC
+CAGATGCACGTCAATGTGCAGGATAAAATCGATGAGGAAATAAATCAGGTCCATATTTGCCTATGCCTTG
+TACTCGTCATCTATCAGGCTGTAACTACGTTGGCTACAGCCTGAAATGTTCCGAGCATTATTCTCGTTAG
+TCCGCCAGAAATAGCGGGCCCATTGGCGGTTTTGGAAGATCATATCGGTCAGGGTAATCCACCGCGACCA
+GATATAGCCCTTCCGCTTTTGCCGTTGCTGCCGCCAGCGTTCTGTCCTTTGCCGCCAGCAACTCTGCTAT
+CCAGCTCTCCGGCTGGTTGTGGGCACCGACTTCCATCAGGCTGCCGACAATATTCCTGACCATATGATGT
+ACAAAGGCATTCGCTTTGATATCTACCACCACATAAGGACCGTGACGCGTGACATTAATATGCATAACGT
+TGCGCCACGGGGTCCGGGACTGGCACTGCACCGCACGGAACGAGGTGAAATCATTCTCGCCCAGCAAGCA
+TTGCGCAGCCCGATGCATCCGTTCAGCGTCCAGCGGTTCGTAAAAATGGGTTACCCCTTTACTCAGTACC
+GCCGGGCGCAGCCGATGATTGTAGATGATGTAGCGATAACGGCGAGCCGTAGCGCTAAATCGGGCATGAA
+AATCATCAGGTACAGCTTTAACCCAACGCACGGCGATGTCACCAGGTAAATTCGCATTTACGCCTAACGT
+CCACGCAGCGTCTTTGCGCTGCGCGGTCGTTTCGAAATGCACCACCTGCCCGGTACCGTGTACACCGGCG
+TCAGTACGCCCGGCGCAGAAGACGGTGATGGGTTCGTTCGCCACCTGGGAGAGCGCCTTTTCCAGCTTCT
+CCTGCACACTGCGGACTTCATTCTGCCGTTGCCAGCCGTAATACCTACTGCCGTCGTACTCAATGCCCAG
+CGCAATTTTATAAACTGGCGGTTGTTGCTGGTCGGACATTAGTACAGATACTCCTGCACCAGTTTCTCGG
+CGATTTTTACTGCCATCAGCGCGCCGCCAAAGCGAACGTTATCGGCCACCGACCAGAACTGGACTTGCTC
+CGGCATACCGTAGTCATTACGTACGCAGCCAACAGAAAGATGCGGACTACCAGAAGCATCTCCTACCTGA
+GTCGGGAATTCGTTCTCTTCAGAGAGCACAATATCTTCGCCCTGAGCAAACGCATCACGCGCTTCTTCTG
+CCGCCAGCGGACGCAGTGCTTCAAAGTTGACCATCTGGGCATGACCGTAGAATACCGGTGCCTGGACGAC
+GCTTGCCGAAATCATCAGCCCTTCGTCCTGCAGGATTTTGCGTACTTCGTCAACGATACGACGTTCTTCA
+CGCACGCTACCTTCGCTATCCGGCAGTAACGGCAGCATGTTGAACGCCAGCTGACGCCCGAAGAAATCTT
+CTTCGTCAATCGGAATGCCATTGAGTAATTTAGCACTCTGCCCCGCTAATGCATCGACCGCTTTTTTACC
+CTGGGCGGAGGCTGAAATCAGGCTGGTAACGCTGATACGTGATAAACCGCCCTGATCAATTAGCGGTTTC
+AGTGCCGCCAGCAGCTGGCTGGTCAGACTGTCTGGTACGGCGATGACATTCCGGTTGCGGTAATCGGTCA
+GTATAAACGGGTTTACTTCCGGCACCACCAGCGGTACGTCGGGTTCGAGAGCAAACAATCCGCTGCTGTC
+GATCACCAGACAACCTGAGTTGGTCGCTTCTTCAACCCAGGCAGCGGTAGCTTCTTTGCCTGCGACAAAA
+AATGCCAGCTGCGCCTGCGTCCAGTCGAATTCAGCGGCATCCTGCACGGTGATTGTCTTACCACCAAAGC
+GCAGTTGTTCGCCTGCGCTTTCGTTACGTGCCAGTGCATAAATTTCCCCAACCGGGAACTGACGTTCAGC
+CAGCGTTTCAAGCAGGGCTTCGCCCACAGCGCCAGTTGCGCCCAGGACGGCAATGTTCCAGCCTTCAGAC
+ATGGTGGTTTACTCCAGAAATAGCAAAGCTCCCTGCCAATGTTACAGCAGAGAGCATGAAGAAGAGATTA
+ACGTGCCGGATGATGAACGGCGTTAAAACCCAGTTTACACAGCAATGATGCCGCACTGGCGTCATCACAA
+ATTACATACAGAGATGACCATTCACGGCGCTCAAGATAGTTTTTGCGCAGTTTATCGAACTCACCCGGTA
+TCCCGGCGACTTTACGCAGCGGTGCGTCATCGCGGCGCACATCATACACCAAATGCACCAGCCTTTTCAG
+CGTTGGCTGATCGAGCGGGCCATGCAGCGTAATGCGACCAAACTCTGGCGCGGGCAGTAATGTATCCAGT
+GCAACGTGCTGTTCATGCCCAATAAACTTGCTATAAGCTTCAAACACTTGCGTAGTACCGCGTGCTTTAC
+CTTCCAGGGTATAGCCTGCGATATGCGGCGTGCCGATATCCACTTTTTTCAGCAATTCCACGTTAAGTTC
+CGGTTCGCCTTCCCAGACATCCAGCACTACGCTTAACTTCTGGCCTTCGTTCAGGCAGGTCAGCAGGGCG
+GTATTATCGACGACTGCGCCACGGCAGGCGTTAATCAGAATCGCTCCCGGTTTCAGGCTGCGGATCAGTT
+TTTCATCCGCCAGATGCAGCGTTTTGTACGGACCATCTTTAAAGAGTGGCGTATGGAAAGTCAGAATATC
+CGCATGCTGGACTAACTCATTCAGCGAGCGGAAATCCCCCTCATCCCCACGGTCGGCGCGAGGCGGATCG
+CAAAGCAAGGTTGTAATCCCTAACGCTTCCAGTCGCGCCTGTAAACGACGACCAACGTTACCAACGCCAA
+CGATCCCCACGGTACGCTCGTGCAGTGAAAATCCATCGCGTTCGGCAAGCATCAGCAGGGAGGAGAAAAC
+ATATTCCACTACCGCAATCGCATTACAGCCAGGTGCAGCGGAAAAACCAATTCCCGCCTGCTTTAACCAT
+GCTTCATCGACATGGTCGGTCCCCGCGGTGGCAGTGCCAACAAATTTAATGGGTTTTCCTGCCAGCAAAG
+ATTCATTCACTTTCGTGACCGAACGCACCATAAGCGCATCCGCGTCTGCCAGTTGAGCGACGGGAATTGG
+ACGCCCGGGAACCGCGGTCACCTCACCCAAACGGCTAAATAAGTCGCGGGCATAAGGCATATTTTCATCA
+ACAAGGATTTTCACGTTTGTGTTACCTGTATGAGACGAGAGTTAACCAGACAAGTGTGCCATAATCTCGC
+GGCCAGGCATACTTGCGAAGATTTCAGGTATAAGGATACGTAATGATACAACCTATTTCCGGCCCTCCTC
+CTGGGCAACCACCAGGTCAGGGAGATAACCTGCCGTCTGGCGCGGGCAATCAGCCTTTATCCAGTCAGCA
+ACGTACTTCGCTGGAAAGCTTAATGACGAAAGTGACCTCACTGACGCAACAACAAAGAGCAGAACTGTGG
+GCGGGTATCAGGCACGATATTGGTCTGTCGGGAGATTCACCGCTGCTTTCGCGTCACTTCCCTGCCGCTG
+AGCATAATCTGGCGCAACGTCTGTTGGCCGCGCAGAAAAGCCATTCTGCCCGCCAGCTTTTAGCGCAATT
+AGGGGAGTATTTACGTCTGGGGAATAATCGTCAGGCGGTCACGGATTATATCCGTCATAACTTTGGTCAG
+ACGCCGCTGAATCAGCTCTCACCGGAGCAATTAAAAACCATTCTCACCCTGTTGCAGGAAGGGAAGATGG
+TTATTCCGCAACCACAGCAGCGCGAGGCGACCGACCGTCCTTTATTACCGGCGGAGCACAATGCACTCAA
+ACAGCTGGTGACCAAACTTGCGGCAGCAACGGGGGAACCCAGCAAACAGATCTGGCAATCGATGCTGGAA
+CTTTCCGGGGTGAAAGATGGCGAGTTAATTCCAGCGAAACTGTTTAACCATCTGGTGACCTGGCTACAGG
+CGCGTCAGACGCTAAGCCAGCAAAATACGCCGACGCTTGAATCACTACAGATGGCGCTGAAACAACCTTT
+AGATGCCAGTGAACTGGCGGCGTTATCGGCATATATCCAGCAAAAATATGGCCTTTCTGCGCAATCATCG
+CTTTCTTCTGCCCAGGCCGAGGATATTCTTAACCAGCTTTATCAACGGCGGGTTAAAGGGATTGAGCCGC
+GTGATATGCAACCGCTGCTTAATCCTTTTCCACCGATGATGGACACGTTGCAAAATATGGCAACGCGTCC
+CGCGCTGTGGATACTGTTAGTCGCGATTATCCTGATGCTGGTCTGGCTGGTTCGTTAACCCCGACGAAAC
+GACAGTATCGTGACAATAATTCCCAGCACCGCAGAGATCGCCCCGGCAAGAAATACCGAAGAGTAACCAA
+ACATGGTCGCCAGCATTCCCGCAAGCGGCCCGGAGACGCCGAGGGCGATATCCTGAAACGCGGCGTAACC
+GCCCAGTGCGGTGCCGCGAACGTGTGAGGGGACGCGTTTAACCACCTCCACGCCCAGCGCAGGAAAGATA
+AGCGAACATCCGGCTCCAGTTAACGCCGCGCCCGCTAATGCGACCCACGCCCCTGGGGCTTGCCAGAGCA
+GCAACAAGCCCACCGTTTCTACAAGCAGAGAGACGATCGCCACTTTCACGCCGCCAAAACGGTCCGGCAT
+CCAGCCAAACATGACGCGCATCACGACAAATGCGCCGCCAAACGCGGTAAGAGTAAAGCCCGCCATCGCC
+CATCCTTTGCTGGCAAAGTAGAGCGAAACGAAAGTCCCGATAACCGCAAAACCAACGCCTTGTAGTGCCA
+GACCTAACCCTGGTTTCCAGATAAGCCCGACAACGCTCCACAGCGATGGACGTTCCCCCGCCAGGGCCGG
+TACTTTGCGCACTGTGCCGTTACAGGCCCACGCCAGTAAGGGTAATGCCATTGTGGTGAGCGCCAGTGCG
+GCAAAACCGTAATGGCTATGAATCAACAGGCCAAGCGGCGCACCAACAGCGAGGGCACCGTAAATAGCCA
+TTCCGTTCCATGACATCACTTTGCCGGAATGTTTTGGCCCAACGATGCCTAATCCCCAGGTCAGGGCGCC
+CGTCAGTAACTGGCTTTCACCAAAGCCAAGAATCAAACGCCCGACGACCAACAGAGCAAATTTGAACGGT
+GCGGGGACGGGCAAAATCGCCGCCAGCAGCAACGCGCCCCCCGCCAGACCACAAGCTAACATCCCCTGAA
+GCGCCGAACGTTTTGCGCCATATTGATCGGCCAGTCGCCCGGCGTAACCACGCGTCAGCACCGTAGCCAG
+AAACTGAATCCCGACGGCAATGCCGACCATAGTGTTGCCATAGCCCAGTTCATGATGAACAAACAGCGGG
+ATAACCGGCAACGGTAAACCTACGGTCATGTAGGTGAGAAAAACCGCAAAAGCGATGCGGAAGAGCGAAA
+AATTGGCAGAAGATCGTGTTTCGGTTTGGCTTACAGCAGTCATGCATTACTCCAGAATGCAGCGCAAGGC
+GAGGAGTATCCCCGTCTCATCTCTCTGGTTTCAGGGTTACGGTGCGTTGGCAGGATTTAACGCGTACGTC
+TTTTCTGCAGGAAATCGACAAAGCGGGAAGTTTGCCTGGAACTGGCGGCGATTGTCAATGATGTGAAAAA
+GGGAACCATCGGGTTCCCTTTTGCGTTAGTGCCGGAGGCAGCATTGGCGCGTAACGTCGGATGCGGCGCT
+GGCGCGTCTTATCCGACCTACTCCGAATTAATCTTTCAGCTTGCGCATTACCAGCGTGGCGTTGGTGCCG
+CCGAAGCCGAAGCTGTTAGACATAACTGTGGTCAGTTCGCGATCGGTCGTTTCGGTCACGATGTTCAGAC
+CCGCAGCCTGCTCGTCCAGCTCTTCAATGTTGATGCTCGGGGCGATAAAACCGTGTTCCAGCATCAGCAG
+AGAGTAGATAGCTTCCTGTACGCCAGCAGCGCCCAGTGAGTGACCGGTCATTGCTTTGGTTGCAGAAATC
+GCCGGGCTCTTATCGCCGAACACTTCACGGATAGCTGCCAGTTCTTTCACGTCGCCAACCGGAGTCGAAG
+TACCATGAGAGTTCAGGTAGTCGATTGGGGTATCAACACCGTGCATCGCCATCTTCATGCAGCGCACTGC
+ACCTTCGCCAGACGGAGCAACCATGTCTGCGCCGTCAGAGGTTGCGCCGTAGCCAACGATTTCAGCATAG
+ATGTGAGCACCACGCGCCAGCGCGTGTTCCAGCTCTTCAACCACTACCATACCGCCACCGCCAGCGATAA
+CGAAACCGTCACGGTGAGCGTCGTAAGTACGGGAGGCTTTTTCCGGGGTGTCGTTGTATTTAGTAGACAG
+CGCACCCATCGCGTCGAATTCGCAAGCCATTTCCCAGCACAGCTCTTCGCCGCCGCCAGCAAACACGATG
+TCCTGTTTGCCCAGTTGGATCTGCTCTACTGCGTTACCGATACAGTGTGCGGAAGTCGCACACGCGGAGC
+TGATGGAGTAGTTAACGCCGTGAATTTTAAACGGCGTGGCGAGGCAGGCAGAAACGCCGGATGCCATCGC
+TTTGGTGACCACATACGGGCCAACCGCTTTCAGGCCGCGCGGGCCGCGCATTGCGTCAGCGCCGAACACC
+TGAAAACGCGGGGAACCGCCGCCGGAACCTGCAATCAGGCCAACGCGCGGGTTATTCTGGTAAGCTTCCG
+GGGAGAGGCCAGCATCTGCAATTGCCTGCTCCATAGAAAGGAATGCATAAATGGATGCGTCGCTCATAAA
+GCGCACAACTTTGCGGTCAATGAGGCCAGTGGTATCCAGTTTTACGTTGCCCCAGACGTGGCTACGCATG
+CCGGAATCCTTCAGCTCCTGAGAGAAAGTGATCCCTGAACGTCCTTCACGCAGAGATGCCAGGACTTCCT
+GCTGGTTATTACCGATGCTGGAAACAATGCCCAGGCCAGTAATCACTGCACGTTTCATTCAATACCTCTG
+TAAGTCGCACATAGAGTAAGTTTCGAATGCACAATAGCGTACACTTGTACGCCGAACAAGTCCGATCAGC
+CAATTAATAGAGAAATTTGCGCAGCCTGACACACATCGCTAAGATCGAGCCACCGCCTGTAAGACGAGTA
+ACTTACGTGAAACACTACTCCATACAACCTGCCAACCTCGAATTTAATGCTGAGGGTACACCTGTTTCCC
+GAGATTTTGACGATGTCTATTTTTCCAACGATAACGGACTGGAAGAGACGCGTTATGTTTTTCTCGGGGG
+TAACCATCTAGAGGCACGTTTTCCTGAACATCCACATCCTCTGTTTGTGGTAGCAGAGAGCGGCTTCGGC
+ACCGGATTAAACTTCCTGACGCTATGGCAGGCATTTGATCAGTTTCGCGAAGCGCATCCACAGGCGCAAT
+TACAACGCTTACATTTCATTAGTTTTGAGAAATTTCCCCTCGCCCGTGCGGATTTAGTCTTAGCGCATCA
+ACACTGGCCGGAACTGGCGCCGTGGGCAGAACAACTTCAGGCACAATGGCCTTTGCCCCTGTCCGGTTGC
+CATCGTTTATTGCTCGATGAAGGCCGCGTAACGCTGGATTTATGGTTTGGCGATATAAACGAACTGACCA
+GCCAACTGGACGATTCGCTAAATCAAAAAGTAGATGCCTGGTTTCTGGACGGCTTTGCGCCAGCGAAAAA
+CCCGGATATGTGGACGCAAAATCTGTTTACCGCCATGGCCCGACTGGCACGTCCGGGCGGCACGCTGGCG
+ACATTTACGTCTGCCGGTTTTGTCCGCCGCGGTTTGCAGGAAGCCGGATTCACTATGCAAAAACGTAAGG
+GCTTTGGGCGCAAACGGGAAATGCTTTGTGGGGTGATGGAACAGACATTACCCCTCCCCTGCTCCACGCC
+GTGGTTTAACCGTACGGGCAGCAACAAACAGGAAGCGGCAATTATTGGAGGCGGTATTGCCAGCGCGTTG
+TTGTCACTGGCGCTATTGCGTCGCGGCTGGCAGGTAACGCTTTATTGCGCGGATGAGGCTCCCGCACTGG
+GTGCTTCCGGCAATCGCCAGGGGGCGCTGTATCCGCTTTTAAGTAAACACGATGAAGCGCTAAACCGTTT
+TTTCTCTAATGCGTTTACTTTTGCTCGTCGGTTTTACGATTTATTGCCCGTTAAATTTGATCATGACTGG
+TGCGGCGTCACGCAGTTAGGCTGGGATGAGAAAAGCCAGCATAAAATCGCACAGATGTTGTCGATGGATT
+TACCCGCAGAACTGGCTGTAGCCGTTGAGGCAAATGCGGTTGAACAAATTACGGGCGTTGCAACAAATTG
+CAGCGGCATTACTTATCCGCAAGGTGGCTGGCTGTGTCCGGCAGAACTGACCCGTAATGTGCTGGAACTG
+GCGCAACAGCAGGGTTTGCAGATTCATTATCAATATCAGTTACAGGATTTATCCCGTAAGGATGACGGTT
+GGTTGTTGAATTTTGCAGGAGATCAGCAAGCAACACACAGTTTAGTGGTACTGGCGAACGGGCATCAAAT
+CAGCCGTTTCAGCCAAACGTCATCTCTGCCAGTATATTCGGTGGCCGGTCAAGTCAGCCATATTCCGACA
+ACGCCGGAGCTGGCGAAACTGAAGCAAGTGCTGTGCTATGACGGTTATCTCACGCCGCAAAATCCGGCGA
+ATCAGCACCATTGTATTGGTGCCAGTTATCATCGCGGCAGCGAAGAGACGGCGTACAGTGATGAAGATCA
+GCAGCAGAATCGCCAGCGGTTGATTGATTGTTTCCCGCAGGTACAGTGGGCAAAAGAGGTTGATGTCAGT
+GGTAAAGAGGCGCGCTGCGGTGTGCGTTGTGCTACTCGCGATCATCTGCCAATGGTAGGCAACGTGCCTG
+ATTATGACGCTACACTCGTGGAATATGCGTCGCTGGCGGAGAAGAAAGATGAAGCGGTAAGCGCGCCGGT
+TTATGACGATCTCTTTATGTTTGCTGCTTTAGGTTCGCGCGGTTTGTGTTCTGCCCCGCTGTGTGCCGAG
+ATTCTGGCGGCACAGATGAGTGAAGAACCGATTCCGATGGATGCCAGCACGCTGGCGGCGTTAAACCCGA
+ATCGGTTATGGGTGCGGAAGTTGTTGAAGGGTAAAGCGGTTAAGGCGGGGTAATCTGCTCTGGCATTGTT
+TGTCGGATGCGGCGTAAACGCCTTATCCGACCTACGCGTTACCTGTAGGCCTGATAAGACGCGATAAGCG
+TCGCATCAGGCATGGTGCTCCAGACGTCACAACTTACTGCTGTGAGGCCTGCTGAAACAGGTGTTCCCAC
+ATATCGGTCACCAGCGCCTGGTCACGCGGCGACAATTCACCGGCACCAATGGCTTTTTCCAGACTCTGGC
+TAACGGTTGTATGTACCGCCTGAGCGGAGTGGTCGTCACCACTTTCCAGTTCTGCGATGGCTAATGTCAG
+GTGGCCACGCAAATACCCGCTGGCAAACAACTCATCATCACTGGCATGGTCAACCATACCGTCGATTAAT
+GCCAGAATGCGTGATTCAAACTCCGCGATCATCTTCTTTCCTCATTGTAAAACGTGGCGCTGGCTTCAGT
+TGAGCGCTTCCGGCCACGGGAACTGTTCCGCCGTAAGTTCCGGCGTGTGATAATAATTTTGTAGTGCTTT
+AATGAAGCGTGCCGGACGTTCGGGAATGCCGTTTGCCAGATAATCCATCACCTGCGCATGTACCCGCCGT
+TGAAACACCACGCGGTCCGGTTCGAAATCCCCTTCCAGATTGTCGCAGCTAACATTAAACGGATATCCCG
+CTGCCACGCAGAACAACCAGTCCAGCGCCTGCGGCTTCACTTCAACATCTTCAAACTGGCTTTGTGTCTG
+GGCATCGCGTCCGTCCGGGCAATACCAGTAGCCGAAATCAACCAGCTCACGGCGCGCTTTCCCGGCAATA
+CACCAGTGCGAAATCTCGTGGATGGCGCTGGCATAAAAGCCATGAGCGAAGACGATTCTGTTATACGGTA
+CTTCCGCATCAGCAGGAAGATAGATCGGTTCGTCGTCGCCTTTAATCAGACGGGTATTAAATTCATCGGC
+AAAGCAGCTATTAAAAATCTCAATCAACTGCTCATAGTGGTGTGTACTGTTCATTAGTTCATCCCCAACC
+AGTGGAGGATCTCCTGTCCATGGCTATCGTAAAGTAATTTGGCACTCATCACCGCCGAGACGATAACGAT
+CATCGGGCGGATCAGCTTTTGTCCTTTGCTCAACACCAGTCTTGAACCCATGCGCGCGCCGAGGAACTGC
+CCCACCAGCATCACAAAGCCCGTCGCCCAAATCACTTTGCCGCCGAGAATAAACAGCAGCAGACCGCCAA
+TGTTTGACGTTGCGTTAAGTAATTTGGCGTGAGCAGTGGCTTTGGCGAGGTTGAATCCGCACAGCGTAAC
+GAAGGCCAGCGCGTAAAACGATCCGGCAGCCGGGCCAAAGAATCCATCGTAAAAACCGACGCAGCCCCCC
+GCCACCAGCGCAAATGGCAGTCCATACATCCGACGCTGGCGATCTTCTTCACCCAGCTTTGGCATCAGCA
+AGAAATAGAGGCCGATACAAATCACCAGAATAGGCAAAATCTGCCGTAAGACATCGGCCTGAACATACTG
+CACCAGTAGCGCGCCGCTCATTGAGCCGACAAAGGTCATGGCGATATTGAGTTTTTGATCGCTTAAACTA
+ACCACTTTACGGCGAATAAAGTAGATAGTGGCGGAAATAGAGCCACCGCAGGCTTGCAGTTTATTGGTTG
+CCAGCGCGTTAGCGGGAGACATCCCCGCCGCCATCAATGCCGGAATAGTGAGTAACCCACCGCCACCGGC
+AATCGAGTCGATAAATCCCGCCAGCATGGCGACAAAAAAGAGAACTCCCAGCAGCAGCGGGGAAACCATA
+AACAGGCTATTAAACGTTTCCATTAGATCACGTGCTCATCCAGTAGCGCCTGGCAGGAAGGCGGCAACGG
+AGGCGGTGTCTTCTTCTCAGGCTTTGTTGTTCCCGGTTTTGGAGGTTCAAACCAGCTTTGCAGTTCTGCC
+CCGCAACCATCGCCTGGTGGCGGTAAAGGTTGATCCTCACACTCCAGACTATCGGCAGGACAACGTAATC
+GTACATGCATATGCGCGCGATGCTGGAACCAGGGTCGCACTTTGCGCAACCAGTCGCGATCGGTGCCCGC
+ATCAAGGCAAAGTTGTTGCTTAATCGCCGGATTAACAAAAATGCGCGTGACGTCTTTATCCTGGGCGGCG
+AGTTTGATCAAGCTGAAAATTTCTGGCTTCCACAGCGTCGGGACAACGTGTTTACCGTCGCGGGAAACTA
+AATCTAACGCTTGCGGGCGCAAGAGCTGCGCGGAGGTCCAGCGTGTTTTCGGCAGTTGCAGGAAGATATC
+GACATCCAGTCCGGTCTGGTGGCTGGCGTGACCGCCGTTGAAACGACCACCAGCAGGCATCCCCATATCG
+CCAATCAGCACCGTACCCATGCCCAGATTGCTCACCTGGCGACTCAGACGCTGGATAAACATCACCAGAT
+CCGGATGTCCGAAATAGCGACGCTGATCGGTACGCATAACCTGATAATGTTCGGACTGTATCGGCAACGT
+GTCAGCACCGACGATACAGCCATTAGAAAAACTGCCTATCGATTGTGCGCTACCCGGCACAGGTTGGGTT
+ATTTTTTGCCACGGCGTCGCTGCCAGGCTGGCACTACTGGCAAGCAGAGCCAGCAGCGCAATCGCGGTTT
+TGTTCATTTTTTACCAGCGTGGAATATCAGTCTTCACATCGGCATTTTGCGCCCGCTGCCGTAGCAGGTG
+ATCCATCAAAACGATCGCCAGCATCGCTTCTGCGATCGGCACCGCGCGGATCCCAACACAAGGATCGTGA
+CGGCCTTTGGTGATCATCTCAACTTCTTCGCCAAAGCGGTTAATAGTGCGCCCCGGCACGGTAATGCTGG
+AGGTTGGCTTCAGCGCCATATGGGCAATGATTTGCTGCCCGCTGCTGATACCACCAAGAATGCCGCCCGC
+ATGGTTGCTCTGGAAACCGTCTTTGGTGATTTCGTCGCGGTTCTGGCTGCCACGCAGCGCTACCACGTCA
+AAACCATCACCAATTTCCACGCCTTTCACCGCGTTAATGCTCATTAGCGCATGGGCGATGTCGGCATCCA
+GGCGGTCAAAGACCGGCTCGCCAAGTCCGGCGGGGACGCCACTGGCAACAACGGTGACTTTCGCACCAAT
+AGAGTCGCCTTCTTTTTTCAGCGCGCGCATCAGTTCATCTAACGCGTCGATTTTGTCCGGGTCCGGGCAG
+AAGAATGGATTTTGCTCGACCTGAGACCAGTCTTTGATTTCCAGTGGAATGTCGCCCATCTGGGTCAGGC
+AACCGCGAATCTCAATGCCAAATTTCTCGGCGAGATATTTTTTGGCAATCGCCCCTGCCGCCACGCGCAT
+GGCGGTTTCACGGGCGGAAGAACGTCCACCGCCGCGATAATCGCGCAGGCCGTATTTTTGTTCATAGGTG
+TAATCGGCATGACCTGGACGGAAAACGTCCTTAATCGCACTATAATCCTGAGAACGCTGGTCGGTATTTT
+CGATCAACAATCCGATGCTGGTGCCAGTAGTAACACCTTCAAAAACACCGGAGAGAATTTTGACTTGATC
+CGGCTCGCGGCGCTGGGTGGTATAGCGCGATGTCCCAGGGCGACGACGATCAAGGTCATGTTGCAGGTCC
+GCTTCCGTCAGCGGAATGCCTGGCGGAACACCATCGACGATGCAGCCGAGCGCCAGCCCGTGCGATTCGC
+CGAAGGTGGTTACGCGAAAGAGTTGTCCAATTGTGTTTCCAGCCATCACGGCTCCGTTATTGTTGTGTTT
+GCGTGTTTACTTAATCTTTATAAATCGCGAAATGTTCTCGTGCGGCAATAAGCTGCTCTTTGGTGAGCAT
+AAACACACCATCGCCGCCGTTATCAAACTCCAGCCAGGTGAACGGAACATCCGGATATTGTTCCATAAGA
+TGTACCATGCTGTTGCCCACTTCACAAATCAGCACGCCATCATCAGCGAGGTAATCTGCCGCGTTACCGA
+GAATGCGACGCGTCAGTTTCAGGCCGTCGGTGCCAGATGCCAGACCGAGTTCCGGCTCGTGGCGGTATTC
+GTTTGGCAGGTCGGACATATCTTCCGCATCGACGTACGGCGGGTTGGTGACGATCAGGTCGTACTGCACT
+TTCGGCAAGTCACGGAACAAGTCGGAACGAATCGGAATGACGTTGTGGATCAAACCGTGTTCTTCGATAT
+TCTGTTCGGCAACCGCCAGCGCGTCTGGAGAGATGTCCACCGCGTCGACTTCCGCTTCCGGGAAGGCATA
+AGCACAGGCAATGGCGATGCAGCCGCTACCGGTACACATATCTAAAATGTGCTGCGGTTGCTTGCTGATG
+AGTCCGGCAAATTTATTGTTGATCAGTTCACCAATCGGCGAGCGCGGCACCAGCACGCGTTCATCGACGT
+AAAATTCATGACCGCAGAACCAGGCTCTGTTGGTCAGGTAAGCCACCGGAATGCGTTCGTTGACGCGGCG
+GATCACGCGCTCAACAATACGGTGTTTTTCGCTGGAGGTCAGACGCGCGGTGCGCATGTCTTCCGGAATA
+TCCAGCGGCAGGTAGAGTGAAGGCAACACCAGTTGCACGGCTTCATCCCACGGGTTATCGGTGCCGTGGC
+CGTACCAGATATTCGCCGCGCTGAAGCGGCTCACCGACCAGCGCAACATGTCCTGAATGGTTTGCAGCTC
+ATTTACTGCTTCATCAACGAAAATTTTATCCACGTATTCCTCCAGGGCATGATCGCAATAATTTCGGCGG
+CTAGTTTGCCATGAAGATGACGATAAATCAGCATTCACACGCGGTGAGTGAGGAAAAATACGTTTTAAGC
+GATCGATTGTACGGTGAGTCGGGTAAACTGTAGGAAAATTAGAAATAGAGAAAGATAAATGAAAAAGAAA
+ACAACACTTAGCGAGGAGGACCAGGCGCTGTTTCGCCAGTTGATGGCGGGGACTCGCAAGATTAAGCAGG
+ACACGATTGTCCACCGACCGCAACGTAAGAAAATCAGCGAAGTGCCGGTGAAACGGTTGATTCAGGAGCA
+GGCCGATGCCAGCCATTATTTCTCCGATGAGTTTCAGCCATTATTAAATACCGAAGGTCCGGTGAAATAT
+GTTCGCCCGGATGTCAGCCATTTTGAAGCGAAGAAACTGCGGCGCGGTGATTATTCCCCGGAGTTGTTTC
+TTGATTTGCACGGTCTGACGCAGTTGCAAGCCAAGCAGGAGTTAGGCGCATTGATTGCAGCCTGCCGCCG
+TGAACATGTGTTTTGCGCCTGCGTGATGCATGGTCATGGTAAGCATATTTTGAAGCAGCAAACGCCGCTG
+TGGCTGGCGCAACATCCCCATGTAATGGCATTTCATCAGGCACCGAAAGAGTACGGTGGTGATGCGGCAT
+TGCTGGTGTTGATAGAAGTGGATGAGTGGCTGCCGCCGGAATTGCCCTGAATATTTAAAGGTGGATGAGT
+CGGGCGATTTAGCCTTGAATACTGGCGTCTCAACCCTGGCGATAATGAACGTAATAATCGGGCATTAATT
+GAAAAACGTAAGCAGTTTTCCGACAGCCTTCTGTGGGCTAATGGCATTGACCCTTCAGCGGGGCTTGAGG
+ATGACGACCTGCTGCAAGCGCTTATCGACGAATTACTCACCCCCATCGACGGTTATCTGGCACCTTTCGC
+TCCCGTGATGGCGAATATTCTAAAAAACTGGATGACCGCATGACATAACGGACAACGGGGCCTGATGGCC
+CCGTTGTGTGGTGTATACGCTACAGTTCGTTGAGCGTGTACTGGAAGCGGCAGGTGGAATCAATGGGCTG
+GCGGCTGCTGGTATCAACATGCACCACCATGTCGTGCAGTTGTTTGTCAGTGATGGGATGCCTGTTTGGG
+CGCCACCGTAACATTAGCATTATCACAGCCTGATGATGAAAACGTGATCATTTGCGCAACCCAGCGACAG
+TAAGCGCCCTCTTCATTCATTTGCGAGCCATCACATAGTTTGCCGTCTTTCATCAGATAGGTTGAAAGCG
+TTTTTTCAATTACTCCGCCCGTCGATTGCAAAGACAGTGTTTTCGTTTTATTGATATAGTTTTCATCCCA
+TGAAACATCATACGGCGTAACTGACACGGTTGGGCACACGGACACGGTTGCATTTGGTCCATAATAGATA
+TCTTTATCAACAGAACCGACCACAACCTGGCTGGTGGCTCTGATACTCACTAACCACGGGCAGCCTCCCA
+CATCACCATCGACGGTAATATCCAGAGGCAGCTTGAGACATTCCCAGCGGCTGTCTTTGGCTTCCAGTGC
+CTCCATGCCCGGACAAAATGAATTATTTACAGTTGTCCCATCTTTTACCGTAATCGTCGGCGCAGGAGAA
+CTGCCCGTTCCTGTCCATGTGCGATTGGGTAAGTTGCCAAGCGTCATAACATAATTACTTTGATAATAGG
+TACCGTAGTAAACACTCGAAACCTCAGCAACATCAAGATACAGTTCGACCTGACTATTCCAGCCAAACGT
+AGCATAGTAGATATACACATTACGAAATGTCTGCCCCATCCCGGCCCGACTACCGAGCATAAAAACCATC
+AGGATCAAAAGACGAAACAGCAAGTTAGTTTTTTTCATCTTATATGTACTCAAACGTTGCGGTTAAGGAG
+GCGGTAAAATCCCCCATCGTCACTTCCCGGCCGCTTTTCGCCTGGAGCCAGGCATTAAAATTCAGATTGT
+TATTGCCGTTACTCAGCACAAAAGTTGCCCCGCTGGTATTGTTAATCAGCACCGGTGTTCCGTCGGTTTT
+TTCCATGCCAATTCCGACACCTTGCGCCTCTGAAGAAGCATCCAGCGCCAGAAAACCGGGCTGTTCGCTG
+TCTTCCGTGCCAGTCAACGTAACCCGGACTTCATACTCGGCTGGCCCTTTACAATCTTTCAGTTGAAACA
+CCACTGGCACCCGCGCCGACTGCCCGGTCACCATCAGGTCTTTACGGCTGATGGTGGGAAAATGCACCTC
+CGCCAGCGTTTCGCCCTGGACCACCAGCGTGCAGGATTTACTGAGTAAATTGCCGTAGAAATGCAGGTTG
+TCAGCCGCCTGAACATGGGGCGTCAGCAGCACCGTCGCCAGTACAGCCGCGCAGAGAGATATCCGTTTTA
+GGTTCATTGGTAATCCACCTGTAATGTTGCGTAGGCAGAAAAGGTTCCGTCGCTGAGCGCCGCATCATTG
+GCTTTCACCGGCACAGCTTGCAGCGTTGGCGGCGTTGACGGGTCAATTTTCAACGGTGTTCCCAGCTTAA
+ACGGCTGGCCGTTTTGCTGTAGCTCAATCCCCAGGCCGCTAACGTCCGTTTCAATGGCGGAATCATCATA
+AGGGGTTTGGCTGCCCGTCCAGGTCAGGCTCATCTCCCAGGCGTCGTCGCGCACATCGGGGTCACATGTG
+ATGGTGTAAGGCACATCCTGACGGAAATTATCGCCGTTAATGTTGTCGATAATGACGTTGCGAAACTCAA
+CTTCGATCGTCTTACCATCGCTGATAGTACAGGCGGGCGGCGAAACCAGCGTGCCATGAAAAGTAACGTC
+GTTAATCGCGGCCTGCGCCAGGCCAGCAAAACCGTAAATTAAGCACCATGCGAGTCGTTTCATTGGTAGT
+CCACCACCATGGTCATGGTCGCATTAAACTCCGATGCCATCAGTTCCACACCGCTCTGCTTCACCGGAAC
+GGCTTCGAAGTCTGGCTGTGTATTGATGTTGAACGGCAGCCAGCTACTGTTACCCACTGCCACCAGCGAA
+TGGTCAGCGGCATTCTGAATACGAATGCCAAAACCGCTGATTCCAGTACTCAGCACCGTTTCGCCGTTGA
+TGGTCGTGGTGGTGGCCTGAAGCTGCATTTGCAGGTCGTCGCTGACACTGTTTGAGCAGTTCAGGGTGTA
+GCCCACTGGCTGACGGTAGTTGGCACCATCAATACTTTTAATAATCACATTGCCGAACTCCACCGCGCTT
+CCCTTTACCGAACAGGGCGGCGGCCCATCCACCAGCACGCGCAACGTCAAATTGACGATTTTGCCGCCCG
+CCATTGCCGGGAAAACGGTCACGCCACAGGCCAGCAATAGCGCGGCAGATCCGGTCAGAAAGAACGCTTT
+CATGTTGCTTCTCCCGTTATCAACCTTTGCTGCTTTGATCTTCATCCACCTTGCAGGTGTTCCCTTCACA
+ACGGAAGATCAGCGGCATGCGCGCGCCGTAGTCGTTGATATAGGTCAGCACCGGGGCGCTCGCCATTTTT
+GCCTTTAACGGTTGTGACGTTTTCGGTGGCATCACCAGCGGTTTAAACCCGGCGGCAGTCAGCCCTTTCT
+TCTGTGTGCTGGCATCGCTGATGATGACGTGGTACGGCGTCGGGTTATTGACGGTATAGTCCTGGCCGCT
+GCGCGTGAGTGTGACCTTAAACTGCCACGGTTTTCTCATGTCAATCTTTTCCAGCGCCTTTGGTCGCCAG
+AACAGCTTGATGCGCGTTTGCAACGCAATTTGCAGGGTGTTGGCTTTCCCGGACTTTGGCGGGATCTCAC
+GCACGTTGTAGTAGAACAGGCTTTCTCGGTCGGACGGCAGCGTGTGAATGTCCGGCAGCGCCTGAATCTT
+CACCTGGCCGTTCATCATAGCGTCAATACGCTGCACCGGCGGCAGTACTGCCAGCGGCGAAGTGATTTTG
+TTGCCCTTCTCGTCTTCCAGCCAGCTTTGCGCCAGGTAAGGCAGCTTTTCGTTGTTGTTACGCAACGTCA
+CGCTGATCGATTTATCGCTTTCGTTAAACACCAGACGGGTGCGATCCGGGGTGACCGATGCATGCGCCGT
+CAGGCTGGCGGTGGTAAGCAGTGCCATCAGCGCTGTGCTGACGAGCATTGGACAGGATAATTTATAAGAC
+ATTGATCGTTCCTTAATCAGATTATTGAGTTGCTGAAATTGACGTCGGCGCTTCCGTTGGTGTGACTTGC
+CGCGTCTGGTCCTGAATAACAGGCTTAATTTCTGGCGCTGAAGAATCAGGGGCTGCCGTTCCCTTTTGTT
+CACACGGCAACAACAGGCCGCTGAACAAATCGGCAGGTAGCGGCTTCGGCAATACGATCTCGCATTGTGC
+GCTGCCTTCCCAGAACACCATCATATGCTCGCCCGCATTGACCCCCGCCAGATAGACATTGCCTTCATCA
+TCCACAATGCCAACCTGCTGCTGCTCGTCATTTTTCACTTCCGCGCCAAACGGCGGGTAGCTACCGTCAC
+GCAACCTCAGTACCGCCATCGCTTTTTGCCCGCTGATCACTTTGAATTTGCGATAGCCGATTGCGCCTTC
+CGTCAGAGTCGCCTGCACCACCGACTGGGTGGCTTCCGCATCTTCCGGCAAGTTGTTTAAATCGATATAC
+GCCTGATTGCGATAGTAGTTGTTAATATCGGCGACCACCGCCTTGCCAAACATATTGGTGTACACCGGCG
+CGCCGTTGCTTTCGACCGGCACGTTGGCAATCCCGTCGGCGTCAATCAGCAGGCGCGTGCCGCCCATATT
+CTGGGTACGGTGCAGCGCCCCACCATGCGCGGTCAGCGTTGCCCCGCCCTGTAAGGCGATCCCAGCCGAA
+CGGTATTCCCCTTCATGGTAGTTGGCGCTGAGATCAACCTTCGCCAGCGAACCGTCGTGGCTCAGATAAC
+CATCCACGCTGCCGTGCTGCTCGCTGGTGCCAACGTTAACCTGGTAGTGCGTTGCGTCATCGACGCGCTT
+AAAGTAACCGACCTGGCTGCTGTCCGACCCGCTGCCGTAGGAACCGTTGTAGGTCACGGTGCTGCTGTCG
+CTCCACGGAATGCTCATACTGAGGTACATCCCCTTATCCGCATTATCGTCATATTCGTAGCGATAGCCGG
+TCACCGAGATGCTCATGTTGCGAATGCTCCCCATATTAAAATAGTGGGAAAACATCAGGTTATAGTTTGT
+CTGTTCCGGGCGATCCCAGTAAGTACGATGGGAGTAGTTGAGATAGATCGAGACACCCGCAGCGGCAAAG
+TTCTGGTTATAGGTGATCGTATACATCTCTTTGTCGTTACCGGTCCGCGCCATGTCCGACTGGTTCGCGT
+CCAGATACTCGCTCATGGTCATGAAGTTCTTTTCAGAAAAACGGTAGCCTGCAAAGGTGACGCGGCTGTT
+GAGTTCGTCAAAGTCTTTGGCATAGCTCACGCGAAAGGAGTTGCCGTCCAGTTTTCCTTTGCCGTATGCG
+CTGTCATGATCCAGGTTGACGTGCGAGTGAGTCACATCGAACGCCAGCGCGCCAAACTGTGCGAGGTCGC
+GCCCCACCCCCATCGCCGCCGACTGATAGTGTTTATCTGCCAGCGCACCACCGTAGAGCGACCAGCCATC
+TGCCACCCCCCATGACGCTTCTCCGCCGGAGAAAAAGCCGCCTTCGGTCTTGTGGTTCCAGTCTTCCGGA
+CGCCCCATCATCACTTTGTAACGCACCTGCCCCTGGCGCGTGAGGAATGGCATAGATGCGGTCGTAACGT
+CATATTCCTGCACCTGACCATTCTGTTCTTCAACGCGGACGTGCAGTGTGCCGGAGACGGAGTCGCCGAT
+ATCCTGAATGCGGAATGGCCCGGCTGGAACCTGGGTTTCGTAAAGTACCCGGCCCATCTGGCTAATGGTG
+ACTTTTGCACTGCTGTGCGCCACGCCGGAAACATCCGGTGCATAGCCGCGCAGGTTGGGCGGCAGCATCT
+GGTCATCGGTGCTGACGCTGCTGCCGATATAGTTAAAGCCGTCGAAAATATCGGAATTGAGATAATCTTC
+CCCCAGCGACAGCTTCGCTTTTAAAGAGGGCAAGGCTCGCCAGGCATAATAACGACTCCAGTCCCAGTGT
+TTACTCGTTGTGCTGTTACTGCTGTCATCGTCGTCATCGTTGCTGCGGGTGTGCTGATAATCACTTTGCC
+AGTCTGCACGGAAACGCCATGCCCCCAGGTTCGCCCCAACGGTACCGTTGCCGCTGATATCATGTGAGTC
+CTCGCCCCCCTGCTCCTGGTGGCGAGTTTGCGCATTGAGGCTGTAGTCGGCAATCAGGCCAGGAATACCG
+TCATCCCAACGTGAGGGAGGATCCCAGTCGCTGCTGGTATATTCGAGGTAAGCCTGTGGCACTGTCAGCA
+GCAACGCCGACTGGCTTAAATCATTCTCGACTTCCATCCCGTCTAATTGACCTGGTTTAAGGCATTCATC
+GTTGTGCGTCCACTGCAGGCTTTTTGCTATCCCTTCTTTCAGCCCCAGCGCCGCCACTAACTCAGGTGTC
+AGGCAGGCATAGTTTTTTGTTGGATCGTTTTCAGAGACGTACCAGTTAATGTCGTATTCATCAGAAAGGG
+GTTGTTTATTTATAAATACACGTAAATTATATTTACCCGCGTCGACATACCCTTTTTTTGAAAACTTACC
+GAGATCAATTTTCGTATCGCCCTTTAACTCAAGGAAACGGGGGTCAAATTGAATTGAATCATCAGCCCAT
+GCATTGACTGACCCACCAGAGATTGCCAGCGCAATATAGCAGGCGATTCCCCGCAGCCGAAAATTTGAGT
+GATTAGGCATACACATATCCGTTTGTGAAACAGTCGTAAATCTGTTGCGTGTTGAATAACCCCACAGCAG
+AACGCTGTGGGGTTGTCACATCAGAGATAGGTAATCTGGAATGTGGTCAGGGTTTCGAACTGGCCGAGAT
+CCGGCGCATCGGTTTCACCCACCAGCCAGGCTTTAAAGTTCAGCGTTTGCTTGTCTTTACCCTTGCTGGT
+TGAAGTATCCATCACGATTGGCTGAACAATCTTTTCGCCCACTTTATAACCTTTGCCATGGGTATCGCCG
+ATTACCAGGCTCACGTGGTTCATGGCAACACCGCTGTCAACATTGAATAACGCATAGTTATCTGCGTTGG
+CTGGCCCCGCGTAGTTAATGCCGGTGAACGTGGTCTCCATGTTTGTTTCAGTGGTAAACACGCAATCCTG
+TAAACGGATCTGGAAATCTTTCGGTGTGGTAGTGCCACCGCCGGTCAGTTTAGCCGCACCGATGTCACCC
+ATATCGACTTCCAGTTTGTGATCGTCTGGAACGATAGAGCACGGGGAGTCTTCAATGGTGCCGTAGAAGC
+GCGCGGTACCGTTGTTGCCTGCTGCAAAAGCAGAACTGGAAACAACTGCGCCCATGACCATCGCCGCAGC
+AATGGCTGTTTTGGCAAACTTACTCATTATTTGTCCTTAAATCATTAAGAGTTATAATATAAACACCTGA
+CATAAAATTAATATATATTATGCCCGATATTTATAGTTAGCCATTGAACATATACACTCCAATATAATCA
+TAGAATGTAAACAAGTATTCTCTGGTGTGTCTGTATGTTGGTCTTATCTATAAAAAAACTCAATTTAGTA
+ATACTTAAACACTTTATGTAGATTTTATTAATTAATACATGGCCAAAATACTTTCACCACGTTACAACAA
+AAAAACATGCGAATTATCAACAAAAAAACAAACCATTATAATCAACAAAAATGAATTGCTTATAAAGCAC
+ACTAAAAAAATTATAATGACCTTACCATTATTTATTGCTAAAATTTAATATTAATTAAATCAATAAATAT
+ATATTCAAGACACAAAACCATTATCTTCTTTATTTTATTACGGGATTCAATAATGGGAAAATATAATAAC
+TATCGAGAGTTGTTAAATATTAACAACATTTAGACAAGAAAAAGAATGATTGTATGACGGAGAAACTGCC
+CGGTGTACGCGCACGTAACCGGGCATTGATTGCTTAAATTGCTTTTGCCATCTTCAAATTACAAGGGCTC
+ATTTGCCAGTTGAATTGGCCTTTTCCGCTTTCATCAAGCGTTACGCTGGCAATCGCTGAAGTGGTAAACA
+TAGGCGGCGTTTCGCCCGGACATAACTCGGCAACCAGATACCCAACTAACGGTAAGTGGGAGATCACCAG
+TACCGAAGCAACACCTTCATTGGTCAACGCCTGCAAATAGGCACCGACCAGACCAACATCGCCGCAGGGC
+GTTAACTCCGGCAGAACTTCTGCACTGGAAGGCAGGTTCAGACAATCCCCTACTTCTTCCAGTGTTTGCT
+CGGCTCGCAGGAACGGGCTCACCAGAACGCGTTCGATTTCCACTTTTTGACCTTTCAGCCAGTTCGCCAT
+CAGGCGAGATTCGTCACAACCGTTAGTGGTCAGAGGACGAACCGAATCACTGGCGGCATCGAGGGCTGCG
+TCGCCGTGACGCATGATAAAAACTTGCATATTGCACCGCTTTTGTTAACCAGATTCGCCCGTTTTCTTTC
+ATCTGAAACCAGAGAAAGAAAACGGTGGCCGGCATTGTGCCTTATCCATTCACCGAATGAAACGCTGTTT
+TTTACCTCAATGGCGTAAGTATAGTCAATATGCGTTTACATTTTGAGCAACACTCCGCCATTCAGCGCGG
+ATTCATATAACTTTGACCTTCTTATTGCAGGTCAGTTGCAGTTGTTTTCCAAAAACTTTCCCCACGCTCG
+CTCATCTCAACGAAACGATTGCAAGGGGTAAAACGGGAACCATACTGCGTGGCCAGTCGTTGCATTATTG
+CAACCACTTCGCCTGCGCCGAGAGAATCGATATAGCGGAACGGTCCACCGAGAAATGGCGGAAAACCAAT
+GCCAAATACCGCGCCAATATCCCCGTCACGCACGCTACGGATAACCTGCTCGTCCAGACAACATACTGCT
+TCATTCAGCATCAACATCACACACCGTTCAGCAACCTGCGGTGCGGAGAGTCGCCCCTGCCCTTGTGCGC
+CAATGAGCGGGTAAATGGCGGGATCGACCTGTTTTTTGCTTTTACGCCCTTTCTGACCATAAAGATAGAA
+ACCCCGGCCATTTTTTCTGCCTTTGCGATCGTCGTTCAAAATTGAAGAAACAACATTTGCAGGCGCGCTA
+AAACGTTCTCCATAAGCAGCTTCCAGTACAGGCATAATTTTAGTCCCGGTGTCGATTCCTACCTCATCCA
+AAAGTTGGATTGGGCCTACCGGAAACCCAAATTTCACTAGCGCGGTATCGATATGCTCAATACGCTCGCC
+TTCGGTCAACATGCGGATAGCTTCATTGATGTAAGGCGCTAAGATGCGATTGACGTAAAACCCGGCTTTG
+TCACGCACGACAATTGGCGTTTTGCCCTGTTTTTTCGCCAGTTTTACCGTGGTGGCGATGGTTTGCGCCG
+ATGTACTCGCATGAGGAATAATCTCCACCAGCGGCATTTTTTCCACCGGACTGAAGAAATGCAGGCCAAT
+AACTTGCTCAGGTCGCGCAGCGTGAGCGGCGATATCGCCAATCGGTAAAGATGACGTGTTCGAAGCAAAG
+ATGGTATGAGTAGCGCAATTTTGCTCCACTTCCGCCACCATCTGTTGTTTTAATTCGAGATTTTCAAACA
+CCGCTTCAATAATCAGATCGCGATGGGCAAAGCCGCAATAGTCCGTCGTTCCGGAGATTAATGCCAGCTG
+TTTGTCACGTTCGCTGGCTTTGAGATGACGACGGCGAACTTTGCCCTCCAGCTGATCCCAACTGTACTTC
+AGCGCATGATTTATGCCCTGCGGGTTGATATCTTTAATTCTGACCGGAAGCCCCGCTTTACAAGCAGTGA
+CATAAGCAATACCGCCGCCCATCAAGCCACCACCTAAAATCCCCACGCTGTTTAATGGCGCAGGCGGCGC
+ATCACTGCCGGGATCTTTTTTCACTTCCGTACTGGCAAAAAAGATATTGCGCAGCGCCTGCGATTGCGGC
+GTCATCGCCAGTTCGCCAAACGCCCGTGCTTCAGCGTCATAGCCGCTGCTGGTGCCCTGCGCTAATCCCG
+TTTCGACAACCTCCAGGATGCGTTCTGTCGCCGGATAGTTACCTTGCGTTTTGTGTTCTGTTTTCTTACC
+GACCATTTTGAACAGCAGCGCACGACCTAACGGCCCCGCCAGAATACGCTCGCGTACAGGTAGAGGGCGT
+GAAGATGGGCGATCCTGCTTTGCCAGCTCAACAGCGGCTTCCAGCAATATGGAGTGCGGAACGACGTCAT
+CCACCAACCCCAGCTTTACTGCCTGTTTCGCCCGAAGTTGTTTTCCGGTGAGGATCATCTCTAATGCTGT
+GCTGACACCTATCAGGCGCGGTAAACGCTGGGTACCGCCTGAACCGGGTAACAATCCAAGTTGTACTTCA
+GGCAAACCGAGCACCGTTTTAGGATCGTCAGTACAAACACGACCGTGGCACGCCAGCGCCAACTCCAGCC
+CGCCGCCCAGGCAAGCGCCATGAATAGCCGCGATAACCGGAATGGGCAAAGCATGAATCTCCGCCATTAA
+CTGTTGCCCCTGCCGCGCCAGTACTTCCGCTTCTTGCGCCGTTTTGCAGTTGCCGATCATGTTGATGTCT
+GCGCCAGCAATGAAGTTGTCTGGTTTCGCGGAGACAAACACCACGCCACGCAACTCTTTGTTTTCACGGA
+GTTGCTTAATAATGGCGCGTACCTGCGAGGCAAATTCCGCCTTCAGGGTATTCATTTTCTCACCCGGTAC
+GTCGATGGTGATGATAGCAATGTTGTCCAGACGAACATTAAGAGTAAACGCTGATGCCATTTCCATTATT
+CCGCCTCCAGAACCATTGCTGCGCCAAGCCCACCCGCAGCACAGGCGGTCACTAAACCAAATCCACCGCC
+ACGACGGCGAAGTTCATGCAATGTCTGGGTAATCATCCGCGCGCCGGTCGCTGCGAAGGGATGCCCATAA
+GCAATCGAACCGCCAAGCACGTTAAATTTGCTCTCGTCCACTTCGCCAGTGGCATGTGCACGCCCCAGTA
+CGTCGCGAGCAAAACGTTCGCTACCCAGCAACTGAATATTGGCCAGCGTCTGGGCGGCAAAGGCTTCGTG
+CATATCGATCAATGTCAGATCGCCCATCGTCAATCCGGCACGTTCCAGCGCCAGCGGTGTTGACCAGGCT
+GGACCGAGCAACATGTCCTGCCAGACATCTATCGCAGTAAATGCGTAGCTGCGCAGATACCCCAGCGGTA
+CCAGCCCTAATTCTTTCGCCCGGGATTCAGTCATCAGGATCACCGCTGCCGCGCCATCGGTCAGCGGCGT
+ACTGTTCGCCGCCGTTACCGTCCCGTGTTTACGATCAAACGCCGGACGCAGCTTTGCGTAATCAGCAAGA
+GAGGAATTACCGCGAATATTGTTGTCTTCGACAAGCGGTTGTTTATAAGGGGGGATAAAGGCAGTCATCA
+CCTCTTCTTTGAGTTTACCTTCTGACCACGCCTGAGCGGCACGCTGATGCGAACGGTGCGCCAGTGCATC
+TTGCTGTTCTCGGGTGATGCCGTAGGTTTTCGCCATTTGCTCTGCGGTGTCCCCCATCCGTAATCCAGTG
+GAGTATTCCGCCACTGCCGGAGGCACCGGCATTAAGTCACGCAAACGTAAGCGAGAAAAAAGTTTCAGGC
+GCTGGCTCATTGTGCGGGCTTTGTTGACATCAACCAGCACGCGCGCCAGTTTTTTACTGACGCCAATTGG
+CAATACGGAAGAGGAATCTGCCCCACCGGCAATCCCCGCTCGAATAGTTCCCGCCATCAGGCTTTCTGCG
+ACGTTTGCAACCGCCTGGAAACTGGTAGCGCAAGCGCGGCTAACGCTGTAAGCATCGGTATGCACATTCA
+TTCCAGTGCCAAGAACAATTTCACGGGCAATGTTGGGCGCTTCCGGCATTTGCACAACCTGACCGAAGAC
+CAGTTGTTCAATCACTTCAGCGGGGATCTCGGTGCGTGCCAGCAGTTCGCCTACCACCATCTTCCCTAAA
+TCAACCGCGGGAATGCCATGAAAAGCCGTCGCCTGTCGGGCAAAAGGCGTACGTAAACCGCTAACAATGG
+CGATACGATCGCCCTGGCGGGTAACCAGCGGTAAAACCTGACCCATAACACTCCCCTGTAAAAAATAAAT
+AAAGTGGTCTGACCTGATCATAGTCTTAACCATTTTTTTACATTTAGCCAAGTGGAGAAAAGGGAAAGTG
+GGAGCTATGACACAGAGAGAAAAGAAGAAGAGAAAAGAAAACGCCCCTGCCAGCAACTGACAGGGGCGTA
+TGTACCCGAGAGGAATTAACGCAGACCCAGCTGGAAGATCAGCATTTCAGCTTCGCAGGCAAAAGTGAAA
+TCGATATCCAGGCGCACACCGTCAGACTCTTCAGTGAAAGTCGGGGTGATTTTGCACGGTTCGGATTCCA
+CGCTACGGGCTTTTTCAGTCAGCGCTGCCAGCGTTTGTTCTGCTTCTGCGCGGTTTGCAAACACACGGCT
+GTAAGACGCGGTGCAGTCGGAGTTGTCCATAATGGTGCCAACATCCATACAGCAGCAAACCGGGGTTTCA
+TCAGCACTACATTTACTCATCGTTGATTTCCTCTGTATGTGCACCCAAGGTGCCAGATAAACGTTGTGGA
+TATTTTACGCTTCCGGAAAGTGCTGCTCCAGTTGTTAATTCTGCAAAATCGGATAAGTGACCGAAATCAC
+ACTTAAAAATGATCTAAAACAAAATTCACCCGAATCCATGAGTGCGCCACCTCCCAATTTTGCCAGCTGG
+ATCGCGTTTCTTAGATCATATCCGAAAAAAGATAGAAACATACTTGCAACATTCCAGCTGGTCCGACCTA
+TACTCTCGCCACTGGTCTGATTTCTAAGATGTACCTCAGACCCTACACTTCGCGCTCCTGTTACAGCACG
+TAACATAGTTTGTATAAAAATAAATCATTGAGGTTATGGTCATGAGCCAGAAAACCCTGTTTACAAAGTC
+TGCTCTCGCAGTCGCAGTGGCACTTATCTCCACCCAGGCCTGGTCGGCAGGCTTTCAGTTAAACGAATTT
+TCTTCCTCTAGCCTGGGCCGGGCTTATTCAGGGGAAGGTGCAATTGCCGATGATGCAGGTAACGTTAGCC
+GTAACCCCGCATTGATTACCATGTTTGACCGCCCGACATTTTCTGCGGGTGCGGTTTATATTGATCCGGA
+TGTAAATATCAGCGGAACGTCTCCGTCTGGTCGTAGCCTGAAAGCCGATAACATCGCGCCTACGGCATGG
+GTTCCGAACATGCACTTTGTTGCACCGATTAACGACCAATTTGGTTGGGGCGCTTCTATTACCTCTAACT
+ATGGTCTGGCAACAGAGTTTAACGATACTTATGCAGGCGGTTCTGTCGGTGGTACAACCGACCTTGAAAC
+CATGAACCTGAACTTAAGCGGTGCGTATCGCTTAAATAATGCATGGAGCTTTGGTCTTGGTTTCAACGCC
+GTCTACGCTCGCGCGAAAATTGAACGTTTCGCAGGCGATCTGGGGCAGCTGGTTGCCGGTCAGATTATGC
+AATCTCCTGCTGGACAAACTCAGCAAGGGCAAGCATTGGCAGCTACCGCCAACGGTATCGACAGTAATAC
+CAAAATCGCTCATCTGAACGGTAACCAGTGGGGTTTTGGCTGGAACGCCGGAATCCTGTATGAACTGGAT
+AAAAATAACCGCTATGCACTGACCTACCGTTCTGAAGTGAAAATTGACTTCAAAGGTAACTACAGCAGCG
+ATCTTAATCGTGCATTTAATAACTACGGTTTGCCAATTCCTACCGCGACAGGTGGCGCAACGCAGTCAGG
+TTATCTGACGCTGAACCTGCCTGAAATGTGGGAAGTGTCGGGTTATAACCGTGTTGCTCCGCAGTGGGCA
+ATTCACTATAGCCTGGCTTACACCAGCTGGAGTCAGTTCCAGCAGTTGAAAGCGACCTCAACGAGTGGCG
+ACACGCTGTTCCAGAAACATGAAGGCTTTAAAGATGCTTACCGCATCGCGTTGGGTACCACTTATTACTA
+CGATGATAACTGGACCTTCCGTACCGGTATCGCCTTTGATGACAGCCCAGTTCCGGCACAGAATCGTTCT
+ATCTCCATTCCGGACCAGGACCGTTTCTGGCTGAGTGCAGGTACGACTTACGCATTTAATAAAGATGCTT
+CAGTCGACGTTGGTGTTTCTTATATGCACGGTCAGAGCGTGAAAATTAACGAAGGCCCATATCAATTCGA
+GTCTGAAGGTAAAGCCTGGCTGTTCGGTACTAACTTTAACTACGCGTTCTGATAACGCGTTAGCTTAATA
+AGAAAAAAGGTGAGTCGCAAAACTCACCTTTTTTGTTTGTTTCTTATTCAGAATCGATATCTTTTAAATC
+ATCCTGAATCGCTTGTGCGTTCGGATTTTCCTGCGGTTTGAGTTCACCGCCATTAGCGATGAAATCATGA
+CGCTGGAAGTACGCTTCACGCACCATAATATAAGGATCGGACGACTGACGCAGCAGACCGTCGGAATCTA
+ACAACTGCGCACGAGTTTCTATCCCTTCAAGCGTCCATTTACCCACAGACATCGGCCAGGTCAGCCAGGA
+AAGAACCGGGTAAAGACTATCCGCCATATCACCACCGTCATCACGCAACGTGAAGCTACCGTAGAACGGT
+AACTGAACGTACGGCCCATAACCCACACCATAATGACCAAGCGTACTACCGAAGCGGTGAGGTTCAGTCC
+GTTGCAGTTTCGGGTTCGCCATCCCTGCAACATCAATAAAGCCGCCCATTCCCAAAATGGTATTCAGGAA
+AAAGCGGGTAAAGTGGACCATCCCCTGATAAGGGTCGCCCTGCAAGAAGTAGTTAACCATCACCGCAGGT
+TCTTCAAGGTTGCCGGTAAAGTTGCTCAAACCGTTACGCGCAGGTTGCGGAACATAATCACGCCAGGCAA
+CAGCGACCGGTCGAACAATATACGGGTCTAATACATTGAAGTTGAAGTTGTACATAGTGCGGTTAAACCC
+TTCTAACGGGTCAGAACGCCCTTGCTGATCTGTACCGGAACTCGCACACCCCACCAGAAGCGTAGTTCCC
+AGAGCAAGCGCCGACAGGCGAAGCTTCATAAATGTCTCCCTGTTTTTTTATGGCTTATGCAGTTTGCCAT
+CCATGACGGAACGATACCGTATCCGCCTGTTTAGGTGTGGGCGATTGTAACAGCACGTCAACTGATGTCC
+AGACGCCCTGATTTGCTGATTTGATCATAGCCTGGTAATCGTCGCCCTGTAGGCTACTTGATTCAATAGA
+AACAGAAAAAGGCAAACGCGGCCTTTTCTACATTTTCAGAGTAACTCCCGCCAGTTGCGAGCAAAAAAGC
+CGCTACGCTTTAGCTATACGTGCTAATTCAAGAGAAGAGACCATGGACAACGACAAAATTGATCAACACA
+GCGACGAAATTGAAGTTGAGAGCGAAGAAAAAGAGCGCGGTAAAAAAATAGAAATAGATGAAGACCGACT
+CCCCTCCCGGGCGATGGCAATTCATGAGCATATCCGCCAGGATGGTGAAAAAGAGCTGGAACGCGACGCA
+ATGGCGCTACTGTGGTCAGCCATTGCGGCGGGCCTGTCGATGGGCGCTTCGCTACTGGCAAAAGGGATAT
+TTCATGTCGAACTGGAAGGCGTGCCGGGCAGCTTCTTGCTGGAGAATCTCGGTTATACCTTTGGTTTTAT
+TATCGTCATAATGGCCCGCCAGCAATTATTTACCGAAAACACTGTAACTGCGGTACTACCCGTCATGCAA
+AAACCGACAATGAGCAACGTCGGCTTACTTATGCGGTTATGGGGCATCGTGCTGCTGGGTAATATTATCG
+GGACAGGTATTGCTGCGTGGGCATTTGAATATATGCCTATCTTCAATGAAGAAACTCGCGATGCATTTGT
+CAAAATCGGCATGGATGTGATGAAGAACACCCCCAGCGAGATGTTTGCCAACGCGATCATTTCCGGCTGG
+CTGATCGCCACTATGGTATGGATGTTTCCTGCAGCGGGTGCGGCAAAGATTGTGGTGATTATATTGATGA
+CCTGGCTTATTGCCCTGGGTGACACCACCCACATCGTTGTCGGTTCTGTAGAAATCCTCTATCTGGTGTT
+TAACGGTACGCTGCACTGGAGCGATTTCATCTGGCCCTTCGCACTACCTACTTTAGCGGGGAACATCTGC
+GGCGGCACCTTTATCTTCGCGTTAATGAGTCATGCACAGATTCGTAACGACATGAGCAACAAGCGCAAAG
+TAGAAGCACGTCAAAAAGCAGAACGTGCGGAAAACATTAAGAAAAATGATAAAAACCCGGCATAAATGGC
+GAGGGTTTAAGCAATCGAGCGGCTGTGTACTTACCCCGTAGTCCATTAGCGGGTATACTCATGCCGCATT
+GTCCTCTTAGTTAAATGGATATAACGAGCCCCTCCTAAGGGCTAATTGCAGGTTCGATTCCTGCAGGGGA
+CACCAGATACCCTTCAAACGATATCTACCTTCACCCCGTAAAAGATAAGTTTGGCAGCACATTTGCCCTA
+TCTACTCATTTTTCCTGCAACAGGTTGAAATCTCAACACGGTCAGAAAACGCTGATGACTAAACAGCCCT
+GGGCTGGGCGATGTAACCATCACACACAATCCTGATCGCGAAATATGGCGTGACTTGATACTTCACTCCA
+CAATGCTTTCCTTGATGAATTCGCAGGCCCGTGATACACGGGACAGGTCGCTGAATTACGACAATGCCCT
+GGAAATCAGCGAGCCGTGTATCCGGAGTACATTTGAGCGACTGTACCAGAACATGAATGAGGCGTTTGGA
+TTAGGCGATTATTAGCAGGGCTAAGCATTTTGGTATTATTATTTTCCGGTTGAGGGATATAGAGCTATCG
+ACAACAACCGGAAAAAGTTTACGTTTATATTGCGTTTATATTGCTGAAGGTACTGGCGTTTCCATCACTA
+TTTGCTCACGTTTTTTACTCAGGAAGAAAATGCCAAATAGCAACATCAGGCAGACAATACCCGAAATTGC
+GAAAAAAACCGTCTGGTAGCCTGCGTGGTCAAAGAGTATCCCAGTCGGCGTTGAAAGCAGCACAATCCCC
+AACGAACTGGCAATTTGAAAACCAATCAGAAAGATCGTCGACGACAGGCGCTTATCAAAATTTGCCACGC
+TGTATTTGAAGACGGATATGACACAAAGTGGAACCTCAATGGCATGTAACAGCTTCACTAATGAAATAAT
+CCAGGGGTTAACGAATAGCGCGCAGGAAAGGATACGCAACGCCATAATCACAACACCGATAAGTAATGCA
+TTTTTTGGCCCTACCCGATTCACAAAGAAAGGAATAATCGCCATGCACAGCGCTTCGAGTACCACCTGGA
+ATGAGTTGAGATAACCATACAGGCGCGTTCCTACATCGTGGGATTCGAATAAACCTGCATAAAAGACAGG
+AAAGAGTTGTTGATCAAAAATGTTATAGAAAGACCACGTCCCCACAATAAATATGACGAAAACCCAGAAG
+TTTCGATCCTTGAAAACTGCGATAAAATCCTCTTTTTTTACCCCTCCCACATCCGCCGCTACGCACTGGT
+GTTCCTGCTCTTTAAAACGCATGTTGATCATCATAAATACAGCGCCAAATAGAGAGACCAACCAGAAGTT
+GATATGGGGACTGATACTAAAAAATATGCCAGCAAAGAATGCGCCAATAGCATAGCCAAAAGATCCCCAG
+GCGCGCGCTGTTCCATATTCGAAATGAAAATTTCGCGCCATTTTTTCGGTGAAGCTGTCAAGCAAACCGC
+ATCCCGCCAGATACCCCAGACCAAAAAAGAGCGCCCCCAGAATTAAACCTACAGAAAAATTGCTTTGCAG
+TAACGGTTCATAAACGTAAATCATAAACGGTCCGGTCAAGACCAAGATGAAACTCATACACCAGATGAGC
+GGTTTCTTCAGACCGAGTTTATCCTGAACGATGCCGTAGAACATCATAAATAGAATGCTGGTAAACTGGT
+TGACCGAATAAAGTGTACCTAATTCCGTCCCTGTCAACCCTAGATGTCCTTTCAGCCAAATAGCGTATAA
+TGACCACCACAGCGACCAGGAAATAAAAAAGAGAAATGAGTAACTGGATGCAAAACGATAGTACGCATTT
+CTGAATGGAATATTCAGTGCCATAATTACCTGCCTGTCGTTAAAAAATTCACGTCCTATTTAGAGATAAG
+AGCGACTTCGCCGTTTACTTCTCACCATTCCAGTTCTTGTCGACATGGCAGCGCTGTCATCGCCCCTTTC
+GCCGTTACTGCAAGCGCTCCGCAACGTTGAGCGAGATCGATAATTTGTCGCATTTCTCTTTCATCTGTAG
+ATAATCCCGTAGAGGACAGACCTGTGAGTAACCCGGCAACGAACGCATCTCCCGCCCCCGTGCTATCGAC
+ACAATTCACAGACATTCCAGCAAAATGGTGAACTTGTCCTCGATAACAGACCACCACCCCTTCTGCACCT
+TTAGTCACCAACAGCATGGCGATCTCATATTCTTTTGCCAGCGCGCATATCTCCCGATCGTTCTGTGTTT
+TTCCACTGATAAGTCGCCATTCTTCTTCCGAGAGCTTGACGACATCCGCCAGTTGTAGCGCCTGCCGCAA
+ACACAAGCGGAGCAAATGCTCGTCTTGCCATAGATCTTCACGAATATTGGGATCGAAGCTGACAAAACCT
+CCGGCATGCCGGATCGCCGTCATCGCTGTAAATGCGCTGGTACGCGAAGGCTCAGCAGACAACGCAATTG
+AACAGAGATGTAACCATTCGCCATGTCGCCAGCAGGGCAAGTCTGTCGTCTCTAAAAAAAGATCGGCACT
+GGGGCGGACCATAAACGTAAATGAACGTTCCCCTTGATCGTTCAGATCGACAAGCACCGCGGATGTCCGG
+TGCCATTCATCTTGCTTCAGATACGTGATATCGACTCCCTCAGTTAGCAGCGTTCTTTGCATTAACGCAC
+CAAAAGGATCATCCCCCACCCGACCTATAAACCCACTTGTTCCGCCTAATCTGGCGATTCCCACCGCAAC
+GTTAGCTGGCGCACCGCCAGGACAAGGCAGTAGCCGCCCGTCTGATTCTGGCAAGAGATCTACGACCGCA
+TCCCCTAAAACCCATACTTTGGCTGGCATTTTTTTCCCTTAAATTCATCTGACTTACGCATAGTGATAAA
+CCTCTTTTTCGCAAAATCGTCATGGATTTACTAAAACATGCATATTCGATCACAAAATGTCATAGTTAAC
+GTTAACATTTGTGATATTCATCGCATTTATGAAATTAAGGGACTTTATTTTTATAAAAGTTAACGTTAAC
+AATTTACCAAATTTGCTTAACCAGGATGATTAAAATGACGCAATCTCGATTGCATGCGGCGCAAAACGCA
+CTAGCAAAACTTCATGAGCACCGGGGTAACACTTTCTATCCCCATTTTCACCTCGCGCCTCCTGCCGGGT
+GGATGAACGATCCAAACGGCCTGATCTGGTTTAACGATCGTTATCACGCGTTTTATCAACATCACCCGAT
+GAGTGAACACTGGGGGCCAATGCACTGGGGACATGCCACCAGCGACGATATGATCCACTGGCAGCATGAG
+CCTATTGCGCTAGCGCCTGGAGACGAGAATGACAAAGACGGGTGTTTTTCAGGTAGTGCTGTCGATGACA
+ATGGTGTCCTCTCACTTATCTACACCGGACACGTCTGGCTCGATGGTGCAGGTAATGACGATGCAATTCG
+CGAAGTACAATGTCTGGCTACCAGTCGGGATGGTATTCATTTCGAGAAACAGGGTGTGATCCTCACTCCA
+CCAGAAGGAATCATGCACTTCCGCGATCCTAAAGTGTGGCGTGAAGCCGACACATGGTGGATGGTAGTCG
+GGGCGAAAGACCCAGGTAACACGGGGCAGATACTGCTTTATCGCGGCAGTTCATTGCGTGAATGGACTTT
+CGATCGCGTACTGGCCCACGCTGATGCGGGTGAAAGCTATATGTGGGAATGTCCGGACTTTTTCAGCCTT
+GGCGATCAGCATTATCTGATGTTTTCCCCGCAGGGAATGAATGCCGAGGGATACAGTTATCGAAATCGCT
+TTCAAAGTGGCGTAATACCCGGAATGTGGTCGCCAGGACGACTTTTTGCACAATCCGGGCATTTTACTGA
+ACTTGATAACGGACATGACTTTTATGCACCACAAAGCTTTTTAGCGAAGGATGGTCGGCGTATTGTTATC
+GGCTGGATGGATATGTGGGAATCGCCAATGCCCTCAAAACGTGAAGGCTGGGCAGGCTGCATGACGCTGG
+CGCGCGAGCTATCAGAGAGCAATGGCAAACTCCTACAACGCCCGGTACATGAAGCTGAGTCGTTACGCCA
+GCAGCATCAATCTATCTCTCCCCGCACAATCAGCAATAAATATGTTTTGCAGAAAAACGCGCAAGCAGTT
+GAGATTCAGTTGCAGTGGGCGCTGAAGAACAGTGATGCCGAACATTACGGATTACAACTCGGCACAGGAA
+TGCGGCTGTATATTGATAACCAATCTGAGCGGCTTGTTTTGTGGCGGTATTACCCACACGAGCATTTAGA
+CGGCTACCGTAGTATTCCCCTCCCGCAGGGTGACATGCTCGCCCTAAGGATATTTATCGATACATCATCC
+GTGGAAGTATTTATTAACGACGGGGAGGCGGTAATGAGTAGCCGAATATATCCGCAGCCAGAAAAACGGG
+AACTGTCGCTCTATGCCTCCCACGGAGTGGCTGTGCTGCAACATGGAGCACTCTGGCAACTGGGTTAACA
+TAATATCAGGTGGAACAACGGATCAACAGCGGGCAAGGGATCCGCGTCTCTCTTCCCCCTTCACGACCTT
+CAATAATATGCAATGCAGCTTCCCGCCCGATAATGTCATGTGGAAGCTGAATTGTGGTCAGCGGCGGTAA
+AAACAGATGCCCGACGCCAACCAGATTATCAAAGCCCATTACGGCGACATCCTGCGGGATACGTACCCCC
+TTCGCCAGAAGAACCTGATAAGCCACAAAGGCTGCGCGATCGTTACCACATATCAGAACATCAAAATCTG
+GTTTGCCAGATTGGAAGTGGGCATTGAGTAAACTTTCGAGATCGGTGTAGTGATCATCACCTGTTGCCAT
+GTAAAATTGTTTCACCTCAGCCAGATCTCGTCCAGCATCACGCCAGGCCTGCTCAAATCCCTGCCGACGA
+TACCCTGTTGCCAACGCACTTTCCGGTAGCCAGAAGCATAACGGTTGACGATAGCCCGCCGCGAGCAAAT
+GCAGTGTTGATTCATATTGTGCAGTGTAATCATCAGGGATATAACTGGGTAACGCTGGGTCATCCGCCAC
+ACAGTTCGCCAATACAATATTTTCACCATACAGAGACTCAGGCAGCGTGATATGTCGCAGCCCCATTGTA
+GTATAGATAATGCCATCCGGACGGTGGGCAAGCAGCTGACGTGCCGCGCGGGCAGCGTCATCTTCAGAAA
+AAATATTGATTAAAAAACTATTCCAGCCGAACTCGCTGGCGGTTTGCTCAATGGCAAGCAGAATATCAAC
+AGAGAAAGGAGTGGTAGCAGTGTCCTGTGCCAGCACGGCGAGAGTCGACGGCTTACGTCCTTGAGCGCGC
+ATTTTACGGGCGGAAAGATCAGGAACATAATTCAGGGTCTGGATTGCCTGCAATACGCGGTCACGCGTTG
+CAGGACGCACAGATTCTGCATTATGCATCACCCGGGAGACTGTCATCATCGACACTCCCGCCAGGCGTGC
+GACATCCTTTAATGAAGCCATACCCAAGCCGTTTGCCGTAAAACGGGCACTGTAGCAGAAACAGACGTCA
+CTGGCGAGATCCAACGATATTCTCGACGCCCTATCACCCGACACGGCAATACAATAAAAAGTAACAATAA
+TTCCCGGACAATTGTACCCAATTTCGCCTCTGTTCTCGCCAACGAGTCACCATGTAGGCAAGTAGGTAAA
+ACATGCCAACCTGGAGAAGAAGATATAAATATGGATCATTGTGCTGCCGCTGTATCCCGACATCAGCCCG
+GAAATTATTGCGATTGCTATCGGTTCCGGTGCGATTGGCTGCACGATCGTTACGGACTCGCTTTTCTGGC
+TGGTGAAGCAATATTGCGGCGCTACGCTCAATGAAACATTTAAATACTATACGACAGCGACATTTATCGC
+TTCAGTCATCGCTCTGGCGGGCACATTCCTGCTGTCATTTATCATCTAAGCGCAAAGAGACGTACTATGG
+AAAACGCTAAAATGAACTCGCTCATCGCCCAGTATCCGTTGGTCAAGGATCTGGTTGCTCTCCAAGAAAC
+CACCTGGTTTAATCCTGGCACGACCTCATTGGCTGAAGGTTTACCTTATGTTGGCCTGACCGAACAGGAT
+GTTCAGGACGCCCATGCGCGCTTATCTCGTTTTGCGCCGTATCTGGCAAAAGCATTTCCTGAAACGGCTG
+CCACTGGGGGGATTATTGAATCAGAACTGGTTGCTATTCCTGCTATGCAAAAACGGCTGGAAAAGGAATA
+TCACCAGCCGATCGCCGGGCAATTGCTACTAAAAAAAGACAGCCATTTGCCGATTTCCGGCTCCATAAAA
+GCACGTGGCGGGATTTATGAAGTCCTGGCCCATGCTGAAAAACTGGCTCTGGAAGCGGGTTTGCTGACAC
+TTGAGGATGATTACAGCAAACTGCTTTCCCCGGAGTTTAAACAGTTCTTTAGCCAATACAGTATTGCTGT
+GGGATCAACCGGAAATCTGGGGTTATCAATTGGTATTATGAGCGCCCGCATCGGCTTTAAAGTAACGGTG
+CATATGTCTGCTGATGCCCGCGCCTGGAAAAAAGCGAAACTGCGCAGTCATGGCGTTACTGTCGTGGAAT
+ACGAGCAAGATTATGGTGTTGCTGTCGAGGAAGGACGTAAAGCAGCGCAGTCTGACCCGAACTGTTTCTT
+TATTGATGACGAGAATTCCCGCACGTTGTTCCTTGGATATTCCGTCGCTGGCCAGCGTCTTAAGGCACAA
+TTTGCTCAGCAAGGTCGCATCGTCAATGCTGATAACCCTCTGTTTGTCTATCTGCCGTGTGGTGTTGGTG
+GTGGTCCTGGTGGCGTCGCATTCGGACTTAAACTGGCGTTTGGCGATCATGTTCACTGCTTTTTTGCCGA
+ACCAACACACTCCCCGTGTATGTTATTAGGCGTCCATACCGGATTACACGATCAGATTTCTGTTCAGGAT
+ATTGGCATCGACAACCTTACCGCTGCCGATGGCCTTGCGGTTGGTCGCGCATCGGGCTTTGTCGGGCGGG
+CGATGGAGCGTCTGCTGGATGGCTTCTATACCCTTAGCGATCAAACCATGTATGACATGCTTGGCTGGCT
+GGCGCAGGAAGAAGGTATTCGTCTTGAACCTTCGGCACTGGCGGGTATGGCGGGGCCTCAGCGCGTGTGC
+GCATCAGTAAGTTATCAACAGCTGCACGGTTTCAGCGCCGAACAACTGCGTAATGCCACTCATCTGGTGT
+GGGCGACGGGAGGTGGAATGGTGCCGGAAGAAGAGATGAATCAATATCTGGCAAAAGGCCGTTAATAACG
+TTTCAACGCAGCATCGCCATCCTTTCCCTGGGTGAGCGATGCTGCCGATGACGCAGACTTAAGATTCTGC
+CGTTTTACCTGCTATAGCCTCCTCTTTTTCCATCACCCAACGCCTTTCGCTGTAAACGGCGGTTTCGCAA
+ACCAAACAAAAACCGTAAGTAAGATAAAAGCAATAGCCGCCATACGGAAAATCTCATTTGCAGAAATAGA
+AAGTGACTGCTGAGTTATTTCATTATTAATTTCATTAAGAACTCCTGAAAGCGAACCATAGTATTTATCC
+ATAATTTGTGACGATGAATTAAACACGGGGTTAAATTGATCGATGGTTGCTGTCAACTGACTATGGTGTA
+ACGATTCGCGGCGTCCCCACAGTGTCATTGTCAACGACGTACCAACTGATCCTGACAAGGTGCGAAAAAA
+ATTACTCATACTCGAGGCATTGGCAAATTTATTATCTGGCAAGCCTGAAAACGAAATCGTTGTTAAGGGT
+AAAAAGAAACAGGCAACGGCGAATCCCTGAAAAAACTGTGGCAAAATGATGCCTGTAAAATCAATCGTTG
+GCATAAATGTCACAGAACGCCAGTAATAGCAAACCGCATACATCAAAAAACTAAATGTCACCAACAACCG
+CATATCAATTTTGTTGCCATAACGTCCTATCAAAGGTGATATTAATAGCGGCATGATACCGATGGGCGCA
+TAGGCAAGTCCGGCCCATATCGCATTATACCCCATCGTTTCCTGGAGTAACTGCGGCATAAGAACTATCG
+CTCCAGAGTAAAATAAATACGCGCATGTGATACTCACAATACCAATGGTGAAATTACGGGACTTAAACAA
+ACTGAGGTCAAGAATCGGATTCTCTGAGGTCGACTCCCAAATGACTAAAGAAATCAGAGAAATAACTGAT
+ACTACTGTTAGTATTATTATTGTACTCGAGTTGAACCAATCCAGATCGCGCCCTTTATCAAGCATAATTT
+GCAAGCCACCAACACCGAGCACTAACAGGGTCAGTCCTGGTAGATTCATTTTGACCGGTGAAGTCTCAGT
+TTCTCGTCCTTTAAGTAAGGTTAAGCATAATGTCAGGACGATAATCCCCATAGGGACATTGATTAAAAAT
+ATCCAACCCCAGCTAAAGTTATCACAAATATAACCGCCCAATATCGGCCCACATATCGGCGCGATAATCA
+CGGTCATAGACCATAATGCCAGAGCAAATGTTCTTTTTTCTGGTGGATAATTCCTTAATAATAAACTCTG
+TGACAGTGGAATTAACGGCCCCGCCATTAATCCCTGAACGACTCTAAAAAATATCAGCACATCAAGATTG
+GTCGATAAACTACACATTAAGGAAGACAGCGAAAAAAAAGTGACTGAAAGTAAAAATAACCTTAATTCGC
+CTATTCTTTGTGCCAGCCTGCCGGTAACAGGGATCGCAATGGCATTTGCTACGCCAAACGAGGTGATAAC
+CCAGGTGCCTTCGTCTGTTGATGCTCCCAGAAAGCCAGATATTGTCGGTATTGCGACGTTAGAAATAGTG
+GAATCCAACATTTGCATAAACGTCGCTAATGACAATGCAATAGTGACGCACCATAACGTCCCACCGGTTA
+ATGGTGCAGGAGTTGATTTAGTGATTGCCATTAAAGTTGTCCATTATGCGAAATAATGTTGCTAATTTCT
+TTTTCTATCGGACTGGTATCGATAACTAAAGCCTTACTGGTATAAGCAGGCATGGACGTCACGGTTGAAG
+CCAGATCGGGCATCTCGGCAATGTCTTCATTCTTCGTATCAATAGTAGCAGTCATCGATAAACCAATGCG
+CAAAGGGTGTTCCATGAGTTCTTTTGGATCCAGAGAAACTTCAACCGGTACACGCTGAACGATTTTGATC
+CAGTTCCCTGTCGCATTTTGTGCAGGTAATAAGGAGAACGCATTGCCGGTTCCCATATTGATCCCTGTCA
+CCCGACCATGAAACACAACATTTTCACCATAAAGATCGCTGATAATATTGACCGATTGACCAATCCGTAC
+ATCCGTGAGTTGTGTTTCTTTAAAGTTGGCATTAACCCACATTTGACGCGCCGGTACGACAGCCATTAAT
+GATTGTCCGGGACTCACTGTTTCGCCGACCTGAACACTTCTCTGGGCAATATAACCGGTAACCGGACTCT
+TAATATCCGTACGTTTAAGCGCCAACCAGGCTTCTTTGGTTGCATCTGCAGCTTCAATGACTTGTGGCTG
+ACGGTTTAATGGTGTGTTCATTACTAAAGCTTTATTCGCTTTATAAGCCTGGATAGCAGCATTCAATGCC
+GCTTTGCTACTTATTAACGTATCTTTGGTATGCTCCAGCGCTTCTTTTGAAATAACCCCTTGCTTCGCTA
+AAGGCACACGACGGTTATAATCTTCTAAAGATTGTTGATACTGAATACGTGCTGAAGCGACTTCGGCACT
+GTATTGTTTATCCTGTAAGTATAGTTTATTCGTTTGCCGAACAATATTTGCCAGATTATTTTTAGCTTTA
+TTGAGTGCGATAGTGGCATCAGTTTTATCCAGTGAAACTAAAATGTCACCTTGTCGAACGTAGTTCGTAT
+CTTTATGATTAACGACAGTGACACTGCCTGAGACTTGTGCAGAAATTGGATCTGCATTTCCCGTGACATA
+GGCGTCATCTGTACTAATCATGTCTTTTAATTCCATTGACCAATAGGCATAGACACCTGAAAACGCAATA
+AATAAAACTACCGCTAACAAAGCAAAATATTTTCTTCTGTCAGAATGTTTTTTATTTGAATTAATCTGTT
+CCACTATTATCTCTCATTTCGCATAGATGAAATTTATGAATTGAATGAAAAGAGTATTCATTCCTCATAT
+CAAACACAGTGCATGTTTTGCACATTATCCCGGGAACGTTGGAGGGCTAATTTAAATGAAGTGCAAAAAA
+AACAACAGAGGACTAAACCGCGGCTTTTGCAATACAATTCTTACGCCTGTAGGATTAGTGAGAAAACTTA
+TAGTGCTCATTTGAAACTATAAATCATCGGTATCATCCCTGATTTTATTGTTGACATTTTATTTATGCCG
+ACTATTTATATGGTATACTTGTCGAATTATCTTAAAGGAAGCTCAAATTTTCTTATTTTTATTGAGAAAA
+TGAGATGATACCTTATGTCTGTATTACTACAGGGAGAAGGGAAATGCTTCATTGCAAAGGGAATAATCTA
+TGAACGCAATAATTATTGATGACCATCCTCTTGCTATCGCAGCAATTCGTAATTTATTGATCAAAAACGA
+TATTGAAATCTTAGCAGAGTTGACTGAAGGCGGAAGCGCCGTTCAGCGGGTGGAAACACTTAAGCCTGAT
+ATCGTCATCATTGATGTCGATATCCCCGGAGTTAACGGTATCCAGGTGTTAGAAACGCTGAGAAAGCGCC
+AATATAGCGGAATTATTATTATTGTCTCCGCTAAAAATGACCATTTTTACGGGAAACATTGTGCTGATGC
+TGGCGCTAATGGTTTCGTGAGTAAAAAAGAAGGCATGAACAATATCATTGCAGCTATTGAAGCTGCAAAA
+AATGGCTACTGCTATTTCCCCTTCTCTCTCAACCGGTTTGTTGGAAGTTTAACGTCCGACCAGCAAAAAC
+TCGACTCCTTATCGAAACAAGAAATTAGTGTCATGCGGTATATTCTTGATGGCAAGGATAATAATGACAT
+TGCTGAAAAAATGTTCATCAGCAACAAAACTGTCAGCACTTATAAAAGTCGCTTGATGGAAAAATTAGAA
+TGCAAATCACTGATGGATCTTTACACATTCGCACAGCGTAACAAAATCGGCTAACCACATGAAGTTTTTA
+CCCTATATTTTTCTTCTCTGTTGTGGTCTTTGGTCGACCATAAGTTTCGCAGACGGAGATTACATCGAAT
+ATCGTGGCATCAGTAGTAACAACCGTGTCACACTTGATCCACTACGTCTGAGCAACAAGGAATTACGTTG
+GCTCGCGAGCAAAAAAAATCTTGTGATTGCAGTACACAAGTCCCAAACAGCTACGTTGTTGCATACCGAT
+TCGCAGCAACGGATTCGTGGTATTAATGCTGATTATTTAAATCTTTTAAAAAGAGCGTTAAATATCAAAT
+TAACACTCCGGGAATACGCAGATCATCAAAAAGCAATGGACGCGCTGGAAGACGGTGAAGTTGATATAGT
+GTTATCACATTTAGTTGCTTCGCCGCCTCTTAATGATGACATTGCTGCAACTAATCCTCTGATAATTACC
+TTTCCGGCGCTGGTCACTACCCTTCACGATTCAATGCGACCGCTTACCTCATCAAAACCAGTAAATATTG
+CTCGAGTAGCAAATTATCCCCCAGACGAGGTAATTCATCAATCATTTCCAAAAGCAACAATTATCTCTTT
+TACAAATTTATATCAGGCATTAGCATCCGTCTCAGCCGGACAGAATGATTACTTTATTGGTAGTAACATC
+ATTACCAGCAGTATGATTTCCCGTTATTTTACTCACTCCTTAAATGTAGTGAAGTATTATAACTCACCGC
+GTCAATATAACTTTTTATTAACCAGAAAAGATTCAATCGTTCTTAATGAAGTACTCAATCGATTTGTTGA
+TGCTTTAACAAATGAAGTTCGCTATGAAGTATCACAAAATTGGCTTGATACAGGAAACCTGGCCTTTCTG
+AACAAACCATTAGAACTCACTGAACATGAAAAACAGTGGATTAAGCAGCATCCCGATTTAAAGGTGCTGG
+AAAATCCTTACTCGCCACCCTATTCTATGACAGATGAAACTGGCTCAGTTCGAGGCGTGATGGGTGATAT
+TCTTAATATTATTACCTTGCAAACAGGTTTAAATTTCTCTCCGATCACCGTTTCACACAATATTCATGCT
+GGGACACAGCTTAACCCCGGTGGATGGGATATATTGCCCGCCGCTATTTATAGTGAAGATCGAGAAAATA
+ATGTTTCATTTGCTGAAATCTTCATAACAACGCCTTACGTTTTTGTCATGCAAAAAGCGCCTGACAGTGA
+ACAAACATTAAAAAAAGGAATGAAAGTTGCCATTCCATATTATTATGAGCTTCATTCGCAATTAAAAGAG
+ATGTATCCGGAGGTAGAGTGGATAAAAGTCGATAACGCCAGCGCTGCATTTCACAAGGTCAAGGAAGGTG
+AACTTGATGCTCTGGTCGCGACACAGTTAAATTCGCGTTACATGATCGACCATTACTATCCTAATGAACT
+TTATCATTTTCTTATTCCCGGCGTTCAGAATGCATCACTTTCGTTTGCTTTTCCTCGCGGAGAACCGGAA
+CTTAAGGATATTATTAATAAAGCACTGAATGCAATTCCCCCAAGCGAAGTTCTGCGCCTGACCGAAAAAT
+GGATTAAAATGCCCAATGTGACCATTGACACATGGGACCTCTATAGCGAGCAATTTTATATTGTTACGAC
+ATTATCCGTTTTATTAGTTGGCAGTAGCCTTTTATGGGGATTCTACCTGTTACGCTCAGTTCGTCGTCGT
+AAAGTTATTCAGGGTGATTTAGAAAACCAAATATCATTCCGGAAAGCGCTCTCGGATTCCTTACCGAATC
+CAACTTATGTTGTAAACTGGCAAGGTAATGTCATTAGTCACAATAGTGCATTTGAACATTATTTCACTGC
+TGATTACTATAAAAATGCAATGTTACCATTAGAAAACAGTGAATCCCCCTTTAAAGATGTTTTTTCTAAT
+ACGCATGAAGTCACAGCAGAAACGAAAGAAAACCGAACAATATACACACAGGTTTTTGAAATTGATAATG
+GCATCGAGAAAAGATGCATTAATCACTGGCATACCTTATGTAATCTGCCAGCAAGCGAACATGCTGTTTA
+TATTTGTGGTTGGCAAGATATTACCGAGACGCGTGATTTAATTCATGCACTCGAAGTAGAGAGAAATAAA
+GCGATCAATGCAACTGTCGCAAAAAGCCAGTTTCTGGCAACAATGAGTCACGAAATAAGAACACCAATAA
+GCTCCATTATGGGCTTCCTGGAACTTCTGTCGGGTTCTGGTCTTAGCAAGGAACAACGGGTGGAGGCGAT
+TTCACTTGCCTACGCCACCGGACAATCACTCCTCGGCTTAATTGGTGAAATCCTTGATGTCGACAAAATT
+GAATCGGGTAACTATCAACTTCAACCACAATGGGTCGATATCCCTACTTTAGTCCAGAACACTTGTCACT
+CTTTCGGTGCAATTGCTGCAAGCAAATCGATCGCATTAAGTTGCAGCAGTACGCTTCCTGAACGCTACCT
+GGTTAAGATCGACCCTCAGGCATTTAAGCAGGTCTTATCTAATTTACTGAGTAATGCTCTCAAATTTACT
+ACCGAAGGGGCAGTAAAAATTACGACCTCCCTGGGTCACATTGATGACAACCACGCTGTTATCAAAATGA
+CGATTATGGATTCTGGAAGTGGATTATCGCAGGAAGAACAACAACAACTGTTTAAACGCTATAGCCAAAC
+AAGTGCAGGTCGTCAGCAAACAGGTTCTGGTTTAGGCTTAATGATCTGCAAAGAATTAATTAAAAACATG
+CAGGGCGATTTGTCATTAGAAAGTCATCCAGGCATAGGAACGATATTTACGATCACAATCCCGGTAGAAA
+TTACCCAACAAGTGGCGGCTGTCGAGGCAAAAGCAGAACAACCTATAATACTACCTGAAAAGTTGAGCAT
+ATTAATCGCGGATGATCATCCGACCAATAGGCTATTACTCAAACGCCAGCTAAATCTATTAGGATATGAT
+GTTGATGAAGCCACTGATGGTGTGCAAGCGCTACACAAAGTCAGTATGCAACATTATGATCTGCTTATTA
+CTGACGTTAATATGCCGAATATGGATGGTTTTGAGTTGGCTCGCAAACTCCGTGAGCAAAATTCTTCCTT
+ACCCATCTGGGGGCTTACAGCCAACGCACAGGCTAACGAACGTGAAAAAGGGTTAAATTGCGGCATGAAC
+TTATGTTTGTTCAAACCGTTGACTCTGGATGTACTGAAAACACATTTAAGTCAGTTACACCAGGTTGCGC
+ATATTGCACCTCAGTATCGCCACCTTGATATCGAGGCCCTGAAGAATAATACGGCGAATGATCTACAACT
+GATGCAGAAGATTCTCATGACTTTCCAGCATGAAACGCATAAAGATCTACCCGCTGCGTTTCATGCACTA
+GAAGCTGGCGATAACAGAACTTTCCATCAGTGTATTCATCGCATCCACGGTGCGGCTAACATCCTGAATT
+TGCAAAAGTTGATTAATATTAGCCACCAGTTAGAAATAACACCTGTTTCAGATGACAGTAAGCCTGAAAT
+TCTTCAGTTGCTGAACTCTGTAAAAGAACACATTGCAGAGCTGGACCAGGAGATTACTGTTTTCTGTCAG
+CAAAATGACTAAATAGCGGCTCCCACAATGTTCAAATGTGGGAGCTATTTACCAGCACATCTTACATTTA
+TGATGAGAACTCCTGGCGAATTTGTTCCCCATGCTGGTCGAGCGTTGCCGCTCCCGGCATAACATGCGGG
+TCCGCGCAGCCGCTGATTTTTATCGGATTACCCGGCATCATTATTCCCCCGGCTTCAATCAACATATTTC
+TCGCCTGAGTTTGTGGTAAATTAATGGCCTCAGCCACACTTAATAACGGCGCGACGGGCACACCAACTTC
+ATGTATTCTGGCTAACCAAACTTCAGCTGCCTGCGTTTTTAACGTCCGCTCAATATATTCTTTAAGAATA
+GCCTGGTTTTGTACGCGTAAAATATTGCTGCTAAATCGGGGATCATTAACCAGTTCTGTAAGCTCCAGTG
+CCTGGCATAACACAGAAAAAAGCTTGTCATTACCACAACAAATCGTAATCGGCTTATCCTGAGTATCGAA
+AACATCAAAAGGTGCCATGTAGGGATGGCGATTTCCCAGGCGTTGTGGTGACTTCCCAGTCGCGATATAT
+GCCATCAGTCCATGCTCCAGAAAACTCAGAGTGGCATCAAACATCGCTATATCGACATGCGCCCCTCTCT
+GGCTCTTTTCGCGGCCATAAAGTGCACTCACTATTCCACTGAATAAATAAACACCGCCACAGAGATCCGC
+AAGAGAGGTACCAACGCGCACTGGCGGAGCATCAGGGTATCCTGTTTCCATCATTATCCCGCTCATTGCC
+TGAATGATGGTATCGTAGGCAGGAGCATCTTTTAGCGGACCGGTATGTCCGAAACCTGACGATGAAGCAT
+ATATAAGGCGCGGGTTGATTTCTTGTAACCTTTCCCATGAAAACCCGAGTTTTTCCATTGTACCTGGACG
+AAAATTCTCAGCTAATACATCAGCTTGTTTAAGCATATTTATAAATATACTTTTATCGTGATCATTCTTT
+AAATCAAGAACCACACTCTCTTTGCCATGATTAATAAAACTGTAATAGAGTGACTGTCCATCCACATAGG
+GACCAAATGTGCGGGTATCATCACCATGACCCGGCGGCTCAACTTTAATTACCCTTGCACCCATATTACA
+AAGAAGTTGAGTTCCGAAAGGCCCATTAAGGACATGCGTCATATCGATAACTAATAAGCCTTCAAACGGC
+CCTTTGCATTCATTATTTGTCATTTGCTTATGCCTTGAAAAAAGCCGAAGGTGAAAAGACACTTCGGCAT
+TTATGTAAAATCAATAACATGATTAATTATGAAACCAGTCGACTGACATAAATCCACAAAGGAGCCGTGA
+CGACAAAACCCAGTACGCTCACAGCCAATGACGCTGTACCAGTGCGGGTGTAGACATTAAACCGGCTGGC
+AATAATGATTCCGGAGAATGCCGGCGGTAATGCGCCTGCCAGTACCATCATCTGCAAATGTTCGCTATTC
+AAATGACATGCCATACCGACGAGAAGCAGCGCCAGTGGCATCAGAATCAGCTTCAGGAAAGTGTTATAAG
+CAATTTCGGCACTGAACTCGAATTTATGTGCAGCCAGAGTCAACCCCGCAGCGAATACCGCTACCCCTGA
+GTTAGCCTTCGCAATCAGATTAAAGGTTGGGTCCCATGCTGCCGGAATTTTTACCCCAACCAGCACCAGG
+ATCGTTGCCAGAACAGGTGCCCATACTACTGGCTCCTTTGCCGCAGAAATTAATGCGCTCAGATTACTAT
+TCTTCTTACCATCCGCTCCTGAGGAAGGATTCAGCAAATACAGACCAATAGGAATAGTAATTGCGTTAAC
+AATAATAGAAATAATTGCTACCACTAAACCTGTTGATACGGAATCACCATAAATAGGGTCGAGAACTGCA
+AACCCCAAGAATCCGATGGTAGGTGAGCCTGCAATTAATGCACATACTGCTGCTTCTGCATGGGTACGTT
+TAAAAAATTTGTAGCAACCAAACCAGGAGAAAAAGAAACATCCGACAATAACCACAAGTGATACAAGGGT
+CAGGCGAGTGTCCGCAAAAATCATTTCCCTGTTTGCCCGGGTAATAGAAACAAATAGGGCCGCAGGAAGA
+GCGTAGTTTAATACCAGTTTATTAAATGCCCGAGCTTGATCTTCTGAAAAAGTTTCTCGTCTGCCGCTAA
+AATAACCCAACAGCATGATTACGATAATAGGCAATAAATCGCCAATAAAAAATGTTAGCATAATAGTATT
+TCCGATAAGGGTCCCCTCACCATCGCATAATAAGTTGGCAAGAGGAGACGATGTCAGTATTTAATTACCA
+GCGACTTGTTTTGGGTTAAGTTTGGTAATATGGCCACTTTCAGTTCCTGCTGCTGGGTCGATGACCACAT
+TAATAATGGTCGGTTTGCGCGACTGAATTCCGGTGGTTAAAGCATGACGAAGTTCATCTGTCGTGGTGAC
+GTTATAGCCAAGGCCACGAAACGCATCCATTAATTTGTCATACCTTGCATGGTGCAACAGATCCGTTGGC
+GATGGTGCACCAGCGCCGCTGAGATCAACACCGTCTCCTCTGTAGATGCCGCCATTATTAAAAATAACGA
+TCGTCACCGGCAGGTTATATCGACAAATCGTTTCAATCTCCATCCCACTGAAACCAAAAGCACTATCACC
+TTCAATGGCGACAACCGGAGAACCAGAGGTCACGCTAGCACCGATGGCATAGCCCATACCGATGCCCATG
+ACACCCCAGGTGCCACAATCCAGACGACGACGTGGTTTATACATATCAATAATATTTCGTGCATTATCCA
+GGGTATTTGCCCCTTCATTAACTAAATAAATATCCTGGTTCTCGCGCAAAACATCGCGCACAGCACTCAA
+TGCATTAAAGTAATTTAATGGTTGGGTATCTGTACTTAACTTTTCATGCATTTTTTGTGCATTTTGCTGC
+TTGTGGATATTTAAAATATCGCGCCACACCAGTGGAGTCGTAAATGTGTTTTGTTTCAATTCTGCCAGCA
+TACCTTGCATACTAGATGCAATATCGCCAACGACTGGCACAGCAATGGGGCGGTTGCTGTCAATTTCCTG
+CGGTTCAATATCCAGTTGAATAAACTGTGTATCTGCCGCCCATCCTTTTTTACCGTGTGCCAGTAACCAA
+TTCAGTCGTGCACCAACAAGCATGACAACGTCAGCATTTGCCAGGGCAAACGAACGCGCAGCTGCCGCAG
+AAAGTGGATGCGTATCTTCGAGGATCCCTTTCGCCATAGACATTGGCAGGAATGGAATCTGGGCACTTTC
+AATAAATTCACGAAGCTGTTCATCAGATTGTGAATACGCCGCGCCTTTGCCAAGGATAATTAATGGTCGT
+TCAGCTTTTGCTAAAAGCGAAATTGCGCTAGTGACTGACTTCGGGCATGGCAATAATGCTGGCGACGGAT
+TTTCAACTTTAACAATCGTGGTTAACGCTTCGTCTTTTTCCATCGTCGCGGCCAGGACATTTGCTGGCAA
+ATCAAGATAAACACCGCCAGGACGACCCGATACTGAGACCCGGATAGCGCGTGCCAATGCAATGCCAAGA
+TCCTGCGGCTGATTAACGCGAAATGCTGCTTTGGCATACGGTTTTGCCGCATTCATTTGGTCCAGCTCTT
+CATAATCACCTTGCTGGAGATCGACGATCGCGCGGTCGCTGGAGCCGCTAATCATGATCATCGGAAAACC
+ATTTACCGTTGCATTGGCCAATGCGGTCAAACCATTGAGGAATCCTGGCGCAGACACTGTCAGGCAGATC
+CCTGGTTTTTGGGTAAGAAAACCGCTTGCTGCAGCGGCATAGCCTGCCGACTGCTCATGACGAAAACCAA
+TATAACGAATGCCTTCCGCCTGGGCATGGCGCGCCATATCCGTCACAGGAATACCTACAACACCATAAAT
+AGTGTCAATATTATTCTGTTTTAATGCTTCAACGATGATATGCATACCATCTGTCATTTGAAGTTGATCT
+GACATGATTAATAACCTCGAAATTTTTATAAATTGGGAGCCAGAAGCCCCCGTTAATATCAGATGGCGTG
+GTTTTGCTTCATTGCAGCAATTTCATCGTCGCTATAACCCAGCTCCTGCAATACAGCAGCGGTATGTTCA
+CCTAATAGCGGCGCAGCTTTAATATCCGGCGTAAAGGCAGAGAATTTCATTGGACAACCAACTGTCAGAT
+ATTTTCCACGCAACGGTTGTTCCACTTCGACAACACTGCCACTTTGGCGCAAAGAGGGATCAAGTGAAAT
+TTCTTTCATACTTAAAACCGGTGCACAAGGAATATCAAACTGAGTCAAATAGGCCACAGCTTCATGTTTA
+TCAATAGTGACAGTGTATTTTTCGATTTCAGCAAAAATATCGAAAATATGTGGCTGTCGGGCATGGGCTG
+TACTGTATGCCGGATCGGTAATCCATTCTGGTTTGCCGATGGCTTTACAGGTGTTTTCCCAGTTTTGCTC
+CTGAATAGTGAAATAAATATAGGCGTTAGGATCGGTTTCCCAGCCTTTACATTTCAGGATCCAGCCAGGC
+TGACCGCCACCACCCGCATTACCACCGCGGGGAACTGCATCACCAAATGTGCCATTCGGATACTGCGGGT
+ATTCTTCCAGATACCCCAACTTATCGAGACGCTGCTGGTCGCGTAATTTCACGCGGCAAAGGTTCAACAC
+GGCATCCTGCATTGACATGGTGACTCGTTGCCCACGCCCCGTTTTTTCGCGATGCAGCAAAGCAGCAAGT
+AAACCGATCAGCAAATGCATTCCTGTGTTGCTGTCACCCAACGCTGCAGCGCTTACCAGCGGCGGACCGT
+CCCAAAAACCTGTAGTAGATGCCGCGCCACCCGCTGCCTGAGCAACGTTTTCATAGGCTTTTACATTCAC
+ATAAGGCGAACACTCATCAAACCCTTTGATCGAACCAAAAATCAGACGTGGATTGATTTCTTGAATATGC
+TCCCAGGTGAAGCCCATATGATCAATGGCCCCTGGATGAAAGTTCTCGACTAAGATATCAGCTTCGCGGA
+TCAGCTTTTCCATTACCTCTTTGCCTTCCGCTGTTTTGGTATTTAATTCAATAGAACGTTTGTTACTGTT
+AAGCATGGTGAAGTAAAGCGCATCGATATCAGGAATATCTCGCAGCTGGTGGCGCGTTACGTCACCAACG
+CCGGGACGTTCAATTTTAATGACGTCAGCGCCAAACCAGGCCAGCATTTGAGTACAAGATGGGCCAGATT
+GCACACCGGTGAAATCGAGAACTTTAATTCCTTGAAGTGGAGTTGACATAGCAATACCTATTAGTTAATT
+AAATATGTGTTAATTTAGCGTTTATTTAAGGCATAACGCCTCTATAAATAATCTGCAAAATATCGTCGTA
+GCTGCACTCGATATTTTTAAATTCCTGTATCAAGTGCTGAAAATCATTTCATCGCTACTTCCAATTCCTT
+TCTGCATGGTAAGTAGTGAGGACGAAAAGAAGAATATAATAAATATTGGTTCGCGGTAATCAGAGAGAGC
+CGCGACATTTGTGATGTTATTCTTACAACTGTAAGAAGTGTCAGTGATGTACAAGTAAGGGTATGATTAC
+ACTATTTAAAGCGTACCATAAAATATAACATAATAAATGATTTGTGATAATATGGGATTATTGCGGTTTA
+CTTTGAGGAAGATAAAATGCGAGTTTATAGAACCGCGAGCGCCAAATAATTTTATGACCACAACCTGTCG
+TATTGTGGTCATAAAAAATTGTCGACTGGAGGGAGTTAAATCCTTTACCTCAATATATTGCCTGTCAGGT
+TTAGTTCACAAACAGTGCTTCGCTATCAACGATGATTCCATCTTCCGCACCTTTAAGCGCCAGGTTTGCC
+TCGTAGTATTGCTTTTTATCAAGCAGTTTCTGCGCATCAGCAAGTGCATTACGAGTCTGTTTAAGCGGCA
+TCAAATATTGGTTTTCCATTACACCAACACCGGCCAGGCGAAGCTCTTCCATTGCACCCTTTTTATCCCC
+TTTCGCCATTTTTTCGTTGGCAATTTTTATCGCGGCTTCTTTTTCGGGTGTCGCTACATAACTCTCAGAA
+ATTCCGACAGATGCATTAATGACAATATATTGGTCATCATTGACGTTGGTCTTTTTACCTGGCTTAGCGA
+ACTTTGCCCATTCGGTACTATCATCTGACAGCAAAGCGGAAGCTTCATTGGTCAGTTCTTTTGCCTTTTC
+CGGATCGCCATGAAACAGAGCCAGGCGCGCTACCTGCACGTCACGCATCGCATATAAACCTGGTTCAGAG
+ATACGCTCTGCTGCTGCCGTTTTCTGGTTTTGCTTAACTGCTGAGTTTGCTGTTGTGCCGCTACCGGTGC
+ATTATCACAGCCCATACAGTTGAAGATGCCAGAATTGCTGTGACCATCGTAGCCATAATTAAACGTTTCA
+TACTTACCTCATTCTGTAACAGTTTTAGAAAACGCCGCCATCATATTGGGTGAGCATGAAATGAGAAATC
+AGAGAGCAACGGACATTTTGAAAGGGTTATCTTACAACTGTAGTTATTATCGCAAAGCCGCTTTTAGTCT
+TACAGTTGTAGGAATCTGCTTCCTGTCGCAGAGAACTATTCTTATATACCACAAAGATATGTCATTTATT
+ATATCGATGTAAATACTGATTAATTAAATATAAATACAGCCATAACGTCGTAGGTTTTCAGTGAACCATT
+TTCAGGATATTTTCTATGAAAGTAAACTTAATGCTTTTTAGCTTATTTTTATTTGTCTCTATTATGGCAT
+GCAATGTTTTTGCATTTTCTATTTCTGGTGGTGGTAGTGAGGCGAGCTATAAAGAGACAGAAAAAACGTC
+AGTGATGACGACAACGCATTCTACAAAACTTCAGCCATCACAGGCGATTTTGTTTAAGATGAGAGAAGAT
+GCACCACCATTAAACCTCACAGAAGACATCACGCCTACTTATCCGACAAAGGCGAATTATCTCATTCATC
+CTTTGCGATAGCGTCTGTCACCTGGCAGGTGAACAATCATGTCTGATGCTGATGTGAACACCTGCCCAAA
+TGAGCCATCCTGACCCACTATCGCCTGCCATACCCCACCATAAAGCGAATCATCAAGCCACAAGCCGGGG
+CAAGAAACATAAATATCCCCGTCACCAGTTCATTACCGCCAGTTAACCACATGGTGAAGTAATAAATGAG
+TGCAGCGAGGATCACCATGCCGAAGAAAGAAGAGATCGCCGATACCATGTTCAGTACCTGACCGATGTAT
+CCGCTTACGCAGACAATACACAGGGCGAGAAACATCCATAAATAAATCATAGCTCAACCTCCTGCCGCGC
+TAAAAAACCTGTAACTTCAGTCACTTTAATAGTAAGACAATCCTTAACCTCTGGCAATTTTTGCTAAGCA
+TCAATGAAAACAGCACGTTAAATGCAACGCTATTGCGTGCGGAAAACTTTTTACTTTGCACGATTAATAA
+TCAGTAGCTGAAAGCAGTCAGCCAGTGATAAAGTAGAGCCACCGCATTCATGCTCCTCGTGGTTATGTCC
+TGACTAGTCTTTACACTCTTTACAGGAACCATTGTCGTACATGATGGCCCAACCAATTGAGTGTACCGCT
+GTCGACATGGAATCTTCTGCGATACAACAATTCGTATCTACAGAAGGTAACTATGTTTCCAAAATGCAAA
+TTTTCCCGCGAGTTTCTGCATCCTCGCTACTGGCTCACGTGGTTTGGGCTTGGTGTACTCTGGCTTTGGG
+TACAGCTTCCTTATCCTGTTCTCTGCTTTCTCGGCACGCGTATCGGCACAATGGCGCGACCATTCCTGAA
+ACGTCGTGAATCTATCGCCCGTAAAAACCTGGAACTTTGTTTCCCGCAGCATTCTGCGAAAGAGCGCGAG
+AAGATGATTGCCGAAAACTTTCGTTCACTCGGCATGGCGCTGGTAGAAACCGGCATGGCATGGTTCTGGC
+CCGACAGTCGCGTACGTAAATGGTTTGATGTGGAAGGGCTGGATAACCTTAAACGCGCACAAATGCAAAA
+TCGCGGCGTAATGGTTGTCGGCGTCCATTTCATGTCGCTGGAACTGGGCGGTCGGGTAATGGGACTTTGC
+CAACCAATGATGGCCACCTATCGCCCGCATAATAATCAGCTGATGGAATGGGTGCAGACCCGTGGTCGCA
+TGCGCTCTAACAAAGCGATGATCGGCAGAAATAATCTGCGCGGCATTGTCAGTGCACTGAAGAAAGGTGA
+AGCGGTATGGTTTGCTCCCGATCAGGATTATGGTCGTAAAGGCAGCTCCTTCGCGCCGTTCTTTGCGGTG
+GAAAATGTCGCCACAACCAATGGCACGTATGTCCTTTCACGTCTCTCTGGCGCAGCCATGTTAACCGTAA
+CGATGGTAAGAAAAGCAGATTACAGCGGATATCGTTTGTACATCACCCCAGAGATGGAAGGCTACCCGGC
+AGATGAAAATCAAGCCGCTGCCTATATGAACAAGATTATCGAAAAAGAGATCATGCGCGCACCGGAGCAG
+TACCTCTGGATCCACCGTCGCTTTAAAACGCGCCCGGTGGGAGAATCGTCGCTATACATTTAACAAACTG
+CTCTTACTCTTTCCCTCCTCAAATCAGCCATAATAACCTCATGGTTTTTATGGCTTTTTTCTTAAGGTTT
+TTTCCTTCGCTGAATCTCTAATTATTACCGTCAGAAATTAAACTGTCGCCGATATGAGACACCTGTAAGT
+TACTAAAAGTAAATAAGAAAATGCCTCTTGTCTCGTTTCAGTTTTAGGCGTACATTAGCGCCGTCTGGAG
+CAGTTTAGCTCAGAATTCTGGGGTGATGCCCACGGTAAAATACAGGACGTTTAAGGTCGTTTTGCCCGGT
+GTCAACTCACTGTATCAGGTGTAATGAAGTCATTCAGGCGTAACAGTAATTACGCGGAGAGATGTAAAGT
+GAAATATTTCTTTATGGGCATTTCTTTTATGGTCATCGTTTGGGCCGGTACTTTTGCCCTGATGATCTAA
+AAGCAAACTGTGCAATGAAAAACAGGAGCCATCAGGCTCCTGTTTGCATTTTTGAGGTCGGTGTTTATTC
+CGCGTTTTCGTGAATATGTTTGCTGCTGGCGGGTAGTAAACCATCGGCACGGAACATCGCTTTAATCCCA
+CGAATCGCCTGACGAATACGGTCGCGGTTTTCAATCAGTGCAAAGCGAACATGCGTGTCGCCGTAGTCGC
+CAAAGCCAATCCCCGGAGAGACACAGACCTTCGCTTCGTTCAGCAGCTTCTTGGCAAATTCCAGCGAGCC
+CATAGCAGCATATGGTTCCGGGATTTTCGCCCAGACATACATCGAAGCCTTCGGCATTTCGACCATCCAG
+CCCGCTTCATGCAGCCCTTTAACCAGTACATCACGGCGGCGTTTGTACTGTTCGGCAATGTCGCGCACGC
+ACTGTTGATCGCCCTCCAGCGCCGCAATCGCTGCCACCTGCAACGGCGTAAAGGTGCCGTAATCGTGATA
+GCTTTTAATACGTGCCAGCGCGCTGACCAGCGTTTTGTTGCCAACCATAAAGCCGATACGCCAGCCCGCC
+ATGTTGTAGCTTTTCGACAGCGTAAAGAACTCGACCGCCACATCGCGTGCACCCGGCACCTGCATGATTG
+ACGGCGCTTTCCAGCCATCGTAGACGATATCGGCATAGGCCAGGTCATGGACCACCAGCACATCGTAGCG
+TTTCGCCAGCGCCACAACCTTTTCGAAGAACTCCAGCTCCACGCATTGCGCGGTTGGATTCGACGGGAAG
+CCGAGGATCATCATCTTCGGTTTCGGATAACTTTCGCGAATGGCACGTTCCAGTTCGTTGAAGAAATCGA
+CACCTTCCACCAGCGGCACTGAGCGTACCTGCGCCCCGGCAATCACCGCGCCGTAAATATGAATGGGGTA
+ACTTGGATTCGGCACCAGCACTGTGTCACCGTGATCCAGTGTCGCCAGCATCAGATGCGCCAGGCCCTCT
+TTCGAACCAATAGTGACGATGGCTTCTGATTCCGGGTCGATTTCAACGTCGTAGCGATCCTGATACCAGC
+GGGAAATGGCGCGACGTAACCGCGGAATGCCGCGTGAAGTGGAGTAACCATGCGTGTCCGGGCGCTGGGC
+CACCGTACATAATTTTTCGACGATATGCGGCGGAGTCGCACCGTCCGGGTTACCCATACTGAAATCGATA
+ATATCTTCGCCGCGCCGACGCGCAGCCATTTTCAGTTCAGCGGTAATGTTAAAAACGTAGGGCGGGAGAC
+GATCAATACGCGTAAAGCGACGTTCAGGGCGAGTGTCAGCCATAATTTCCTCAGATTAACGTTAGCGCCC
+GGACCGTCCGAGCGACGTCGCCACGATGGTGGCTGTTTTGAAAATAGCCTGATTAATTTCTGTCTGTCCA
+GCGTTTTAGAACATTTTTATCAATGGCTTTAAATGAGGAACTCCACTTCAAAAACAGGAAATTTATCTAC
+GCTAACAAGAAAATTACCACTCATTTTATTAACATTATAATTTCAATAAATTTACCAACCAGATGTGCAT
+TATCAAGAGATGCATTGCTAATACACCATTTATCTTTCAATCCCCTTTTAAAATTGTGGTTTTTCCTCAA
+AAACGGCCTGCTGGTCATCAGCCTTCAGGTTACCTATCATAGAGGTTTAATCCTTATTCAGAGTCACCCG
+TGCACGAAATATTCAACATGCTGCTGGCGGTCTTCGATCGGGCCGCGTTAATGCTTATCTGCCTGTTTTT
+TCTCATCCGTATCCGCCTGTTTCGCGAACTGTTGCACAAGTCGGCACACTCACCGAAAGAGCTGCTCGCC
+GTTACCGCCATTTTCTCGCTGTTCGCCCTGTTCAGCACCTGGTCCGGCGTTCCCGTAGAAGGCTCGCTGG
+TGAACGTACGTATTATCGCGGTGATGTCAGGCGGAATTCTGTTTGGCCCGTGGGTGGGCATCATTACCGG
+CGTGATTGCGGGTATTCACCGTTATTTAATTGACATCGGCGGCGTAACGGCGATCCCCTGCTTTATCACC
+AGCATTCTGGCGGGTTGTATATCGGGCTGGATCAACCTGAAAATCCCCAAAGCACAGCGCTGGCGCGTCG
+GTATTCTCGGCGGCATGTTGTGTGAAACGTTGACCATGATTCTGGTGATTGTCTGGGCACCAACTACCGC
+ATTGGGGATCGATATCGTCTCTAAAATCGGGATTCCAATGATCCTCGGCAGCGTCTGTATCGGCTTTATT
+GTGTTGCTGGTACAAAGTGTTGAGGGAGAAAAAGAGGCCAGCGCCGCGCGGCAGGCCAAGCTGGCGCTGG
+ATATCGCCAACAAAACGCTGCCGCTGTTTCGCCATGTCAATAGCGAGTCATTACGCAAAGTCTGCGAAAT
+TATCCGCGATGACATTCACGCCGATGCGGTGGCGATGACTAATACCGATCATGTGCTGGCCTACGTTGGC
+GTGGGTGAACATAACTATCAGAATGGCGATGACTTCATTAGCCCGACTACCCGCCAGGCGATGAATTATG
+GAAAAATCATCATTAAAAACAATGATGAAGCCCACCGCACACCAGAGATTCATTCCATGCTGGTGATCCC
+ATTGTGGGAGAAAGGCGTTGTGACCGGAACGCTGAAAATTTACTACTGCCACGCGCATCAGATAACCTCG
+TCATTACAGGAAATGGCGGTCGGTCTGTCACAAATCATCTCCACGCAACTGGAGGTTTCGCGCGCTGAGC
+AGCTGCGTGAAATGGCAAATAAGGCAGAGCTTCGCGCCCTGCAAAGCAAAATTAATCCCCATTTCCTGTT
+TAACGCTTTGAACGCTATTTCATCGTCAATCCGTCTGAATCCGGATACTGCTCGCCAGCTGATCTTTAAT
+TTGTCGCGCTATCTGCGCTATAACATTGAATTAAAAGACGATGAGCAAATCGATATCAAAAAAGAGCTGT
+ATCAAATTAAAGACTATATTGCCATTGAGCAGGCCCGCTTTGGCGACAAGCTGACGGTTATCTATGATAT
+TGATGAAGAGGTGAATTGCTGCATTCCCAGCCTGCTGATCCAGCCGTTGGTGGAAAACGCCATTGTCCAC
+GGTATCCAGCCTTGCAAAGGTAAAGGCGTTGTCACCATCAGCGTTGCTGAGTGCGGTAATCGGGTACGCA
+TTGCGGTGCGAGATACCGGGCACGGCATCGATCCAAAGGTGATTGAGCGGGTCGAAGCGAACGAAATGCC
+GGGCAATAAAATTGGCCTGCTGAATGTCCATCATCGCGTGAAGTTATTGTATGGCGAGGGGCTGCATATC
+CGCCGCCTGGAACCAGGAACGGAAATTGCGTTTTACATTCCTAACCAACACACCCCAGTCGCCTCACAGG
+CTACGTTATTGCTTTGAGCCGGAGTGATATTGTGAAAGTCATCATTGTTGAAGACGAATTCCTGGCACAA
+CAGGAACTGAGCTGGCTAATTAAAGAGCACAGCCAGATGGAGATTGTCGGCACCTTTGACGACGGTCTGG
+ACGTGTTGAAGTTTTTGCAGCATAACCGCGTTGACGCCATTTTTCTGGATATCAATATTCCGTCGCTGGA
+TGGTGTGTTGCTGGCGCAAAACATCAGCCAGTTCGCCCATAAACCGTTTATTGTGTTCATCACCGCGTGG
+AAAGAACATGCGGTAGAAGCGTTTGAACTGGAGGCGTTTGACTATATTCTCAAACCGTATCAGGAGTCAC
+GCATTACCGGGATGCTGCAAAAACTGGAAGCAGCCTGGCAACAACAGCAGACCAGCAGTACGCCTGCCAC
+GACGGTAACGCGTGAGAATGACACCATTAATCTGGTGAAAGATGAGCGAATCATCGTCACGCCAATTAAC
+GATATCTATTACGCCGAAGCGCACGAGAAAATGACCTTTGTCTATACGCGACGTGAATCCTACGTAATGC
+CGATGAACATTACCGAGTTTTGCAGCAAGCTGCCGCCGTCGCATTTTTTCCGCTGCCATCGCTCATTTTG
+TGTCAATCTGAACAAAATACGCGAAATCGAACCGTGGTTTAATAACACCTACATTCTGCGGCTGAAAGAT
+CTGGATTTTGAAGTGCCGGTCAGCCGCAGCAAAGTTAAAGAATTCCGCCAGTTAATGCATCTGTAATCGG
+GAACTTTCATGAAAGCACCAGGCTTGCCCGCCGATCAACAATTTTTCGCCGATCTGTTCAGCGGCCTGGT
+GCTTAACCCGCAACTACTGGGGCGCGTCTGGTTTGCCAGCCAGCCTGCCTCATTGCCAGTGGGCAGTTTA
+TGTATTGATTTTCCCCGTCTGGATATCGTGCTACGCGGCGAATACGGCAACCTGCTGGAAGCAAAGCAGC
+AGCGAATGGTGGAAGGAGAAATGCTGTTTATTCCGGCGCGCGCGGCTAATTTACCGATCAACAACAAACC
+GGTGATGCTGTTAAGCCTGGTGTTCGCACCGACCTGGCTTGGGTTATCGTTTTACGATAGCCGCACCACG
+TCGTTGTTGCATCCTGCCCGCCAGATCCAGCTTCCCAGCCTGCAACGCGGTGAAGGTGAAGCGATGCTTA
+CCGCCCTCACCCATCTTAGCCGTTCGCCGCTGGAGCAGAATATCATTCAGCCACTGGTGTTAAGTTTGCT
+GCATCTTTGCCGTAACGTGGTGAATATGCCGCCGGGCAATTCGCAGCCGCGCGGCGATTTTCTCTATCAC
+AGCATTTGTAACTGGATTCAGGATAATTATGCCCAGCCGCTCACCCGCGAGAGCGTGGCGCAGTTTTTTA
+ATATCACGCCAAATCATCTGTCAAAACTGTTTGCTCAGCATGGAACAATGCGTTTTATCGAATATGTGCG
+TTGGGTACGAATGGCAAAAGCGAGGATGATTTTGCAAAAATATCATCTGTCGATTCATGAAGTGGCGCAG
+CGTTGCGGGTTTCCGGATAGCGACTATTTTTGTCGCGTTTTCCGGCGTCAGTTTGGTCTGACGCCGGGAG
+AGTATAGCGCACGTTTTCAGGGCTAACTTCAGAAGGTTAATTCCGTTTCCAGCAGCGTCAGAATACTTTG
+TGCATCTTGCGCGGCAAACAGCGACTGGCGGAAGTTTTTATTCACCAGTTTACGCGCCAGCTGCGAGAAG
+ACTTTCACATGATTCATCCCTTCGTTAGCGCCCAGCGTCAGCATGATCACCAGTTCGACTTCGCCCATTT
+CTGACTGCCAGTCAACCGGTTTCACCAGCCGGGCAATGCTGATACTGGAATGACGGATCCACTGAGATTT
+GGTGTGCGGGATCGCCACGCCAAAACCAACGCCAGTAGTAACAATCTCTTCCCGCTGCCAGACATCCTCT
+TCCAGCTCAAACGGATGTTCAGTACGCCCGTTAACGCCAAGGTTGCCGCACAGGAACTGGATCGCCTGCT
+CTTTATTGCTAAAAGCCTGATCAACAAAGATATTCTCCAGCGCCAGCAGTGGGCGAACGTCTTCTTCCGG
+CGTAAAGCCGGTGAGTAACGCTTCAATTTCCTGCGCACTGCGGCATTCACATGCCTGACGCGCCAGTTCC
+CGACACGCCTCGCTATCCAGTTGACGAAGCTGGCTTTTCACTGCCGGAATACGCGGGCTACTCATGCTTA
+GCTCATCCAGGCCCAGCCCTAGCAGTAGCGGCAGATAACGACTTTCACCGCCCAGTTCACCGCAAATACC
+TACCCATTTGCCGCGCTGATGCGCAGCGGTAACAATCTGCTGCAACATGCGCAGGAACGATGGCGTAATC
+GGGTTATACAGCGGCGATACGCGCGGGTTATTACGATCGACTGCATACAGATACTGGGTCATATCGTTAG
+AACCGATACTGAAGAAATCGACCTCATCGCAGAAGTGGTCGATGATGTAGCACACCGACGGCACTTCCAC
+CATGATACCCAGCGTAATCGTCTCTGCATGACGCAGGCCATCGCGCTTAAGCTCAACGATCGCTTTTTGG
+AGCTCACCCTTCACCCATAAGATCTGATCGAGACTGTGGACCATTGGGATCATCAACTGGGCGTTGCCGA
+AACTGGCAGCGCGCAAAATCGCCCGCAATTGAGTACGGAACAGGCCAGCAAATTCCGGGTAAATACGTAC
+CGCGCGATAGCCGAGGAACGGGTTCTCTTCCTGGGGAATGTTGAGGTAAGGAATGCTTTTATCGCCACCG
+ATGTCCATCGTGCGGAAGATAATCGGCTTGTCGCCCGCCGCCAGTAGCACCTGCTGGTACGCTTCAAACT
+GTTCCTGCTCGTCCGGCGCGCTGTCGCGATCCATATAGAGCATTTCGGTACGAAACAGCCCAACGCCTTC
+CGCGCCGTTGGCAAACGCGCCTGGGGCTTCCAGAGCTGTGCCAATATTCGCCGCAATATCAATACGCTTT
+TTATCACGGGAATAGGCCAGCTGCGCGGCAGCTTGCGCCTGTTGTTTTTGGCGTTTATCCGCCAGCGTCT
+GCGCCACCTGGTAATAACCGCTCACCGCATCGTTGGGATTAATTGCCAGTACGCCGCACTGGGCATCAAG
+CACTGCAGGTTGCCCGGCATAACGGGCAATCGCATCCAGCGGCAGGCCGCTCAGTACCGGGATCGCCGAA
+GCGCGGGCCAGAATCAGGGTATGCGAGGTGCGCCCGGTTTTCTCCAGAATCATGCCCGCAAGATTTTTTA
+AATCGAGGCTCAAAAACTGGCTTGGGGTTAAATCTTCAGCCACCAGAATGGTCGGTTTTTCAAGCACCAG
+ATTATTGCGCGGTTTTAGTTCCGGCCAGGTGATATGCAGCAACTGTTCGCTGATATCGCGAATGTCGCTG
+ACCCGCTCGCGCAGATAATCGCTGGCAGAAGCAGAAAGTTTGGCACAAATCTGCTCCATATTGCTGATGA
+TCGCCGCCCCCAGCCCCTGATGCTGTTCTGCCATCAGGTGACGGATATTGCCTGCAAATTCATCATCCTG
+AATCAGCGACAAATGGGCGCTGAGGATAGTTTTGCTTTCGCCGTCACGCTCACGCAATTGCTGGTTCAGT
+TGCTCGGCAAGCGTTGCCAGACTGTGCTCCAGTAGGGTGGAATCTTGCGCACTCGCAGGGATCACCCGAT
+AACTGTCGAGGCTGTCGCTCTGTAACAGGGTCAGTGTACCCACGCCAACGCCGCTTGCCAGCACGTTGCC
+GTACAGTAAATCCGGGTTCAGGCGGCTTAATGAACGCGGCAGCGGATGCGCCGTCAGTTCTGCCAGCGTC
+GGCTGGACGCTATCGCTGTCGATAAAGCGCACCTGGATATACTCTTCCAGCACTCGCCGCGCCTGCTCTT
+CATCGCTACCGCTAATGTTCAGGCTGCAACTGTCATTAAATAAAGTGCCAGTGCCAATCAGCGCCAGCGA
+GCTTTTCGCATCGGCCTTTGCGTTCTGGCGATGGTTAATAAAAGTGATTTCGCTTTGCCACTGGCTGCAC
+TGCTCTTTAAGTTCCCACGCCGGACGAGCATGTAGACCGTTAGGCAAAGGACAGAGAAATTGAATCGTTA
+ACATAACCGCTCCGGGTTAATCAGGAGATCATCTGAAATCCGTCAGTTGAACAACCGTCTCACGCGTAAG
+ACGTTGAATAAGGGCAGATAAAAGTTGCTCCATCTGCAAAATGTCACGGCAGTCGGCAATCGATGCGGCG
+CAATGTCCGTGGCGGGTTGCAGGCCCCATCACCACTGTGGGTACGCCAGTGCCGGTTAAATGCACCGCCC
+CGCCGTCCGTTCCGCCGTTGCTGAACATATCTGACTGCAACGGTACGCCAATTTCTGCCGCCACGGTTTC
+GATCCAGGCGGTAAGTTTTGGCGGCGCAATCAGTGACTTGTCGCTTAACACCAGCATCGGCCCGTTACCA
+ATCTGGCGATGGTTAGCTGCGCCATAATCAAAGTTTTTCGCCCAGCAGGCAGTATCAAGCACAATGGCGA
+CATCCGGCGACACCGCGCGGGTGGCAGTTTGCCCGCCGCGTAATCCCACCTCTTCGCTGGAACTTGCCAC
+CAGCCACACTTCCGCAGGCAGTTCGGCGTCGTGCAGCTCACGCAGTAACGTCACCAGCAGATAGCAACCG
+AGGCGGTCATCAAAGGCTTTCCCCATCACTCGCTGGTGAGGGAGAACCTGAAAAGTGGTATCGAAGGTGA
+CGCGATCGCCTGGACGAATTCCCGCCTGCATCACTTCGTCACAGGAGCGCGCGCCAATGTCCACGCGCAT
+GGCGCTGACGTCATTCCCCTGCCGGTCGCCGTCAAGCAGGCCTGGAATTTTGCACTCTTCACGGGTAGTG
+ATACGCACCGACTGAAGCTGGCGGGCAGCCATGCGTACATTGCCAACCGGCAACACATCGATCGCCCCTT
+CGCGGGAGATGCTGCGCACCATAAATCCCACTTCGTCCATATGCGCACAGATCATCACCTTCGGACCTGT
+CGACTCATTGAGTCGGATCAGCACCGATCCCAGCCCATCAAATCGCACTTCTTTTTGCAGGCGATCCGCT
+TCTTCCAGCAGGATCTGCCGTACTTCCTGTTCCGAGGAGGCGATCGCATCTGCCTCGCTCAACGCTTTTA
+AGAGCGATAAATCCATTATGCCTCTCCCGTGAGCAACACTGTTTTCGGCATGGCGTAGAGCACTTCTGCG
+CCTTGCGGGGTGACCAGCACGACATCTTCAATGCGCACGCCCCCTTGTCCTGGCAAATAAATCCCTGGCT
+CCACGGTCAGTAACATACCTGGCTGTAGCGTCGTAGTGTCCCGCGGTGAAAAACGCGGTTCTTCATGGAC
+TTCAATACCGATAGCATGACCGGTGTTATGGCCGAAAAACTTGCCATAACCGGCCTCGGTAATCACGCGG
+CGCGCGGCATCGTCAACCTGCTGGCAGCGCACGCCGGGGCGAATTACAGAGATTGCCGCGAGCTGTGCCT
+GCAGGACAATCTGATAGACGTTAAACAGCGGGTGAGATTCGGCGCTCACCCCTTCGCCATTCACCAGCAA
+GGTGCGCGTCATATCAGAGCAGTAGCCCTGATACAGCGCACCGAAATCGAGAGTGACAAACTCGCCCGCT
+GCAACAATCTTGTCGCTGGTTTTACCGTGCGGCAGCGCCCCACGCCAGCCACTGGCGATAATGGTATCGA
+AAGAGGCTTTTTCTGCGCCCTGCCGGCGCATAAACCACTCCAGTTCAGCGGCTATCTCGCATTCGCTCAT
+CCCCGCCTGAATAAAGCGGCGAATATGCTCTGCGCCACGATCGGCAATCCCGCAGGCAAGGCGGATTTTC
+TCCACCTCTTCTGGCGTTTTGATTTGCCGCAGCACATCCGGCGTGGCGCTAACCAGTTTCGCATTGAGTT
+CGAACTGCCAGCGGTGCGCGGTTTCCCAACTCACCTGCTGGCCTTCAAAACCGAGCGTTTGCAACTGCTC
+ATCGGCAATGATTTGTCTGACGATGGTGGCAAGCGTGTGCATCGCGTCGAGCAAATGCAGCTGGTAACCT
+TGCGTGCGGGCTTCTACATCCGCGTAATAGCGCGAATCCACCAGAATGTGCGCACTTTCACGGCTAATCA
+CCACATAACCTGATCCGGTGGAGATCCCCAGATGCGGCTGTTTGTTCTGCCGTGAGGAGAGAAGCACCGC
+ATCCAGTTGTTGCGCCTTAAGCCAGTCGCGCAGCGAAGCGAGTAATGTCATCTGGATTTTTCCTTCTTAC
+AGGCTATCGATTAACAATTTGCCTTTACGGAACATCATCAGACGCAGGAACACCACCATCAGCGCAGTTA
+TGACTGCCCCCAGCGCGATCCCCGCCATGTAGACGCCGAGGTTAGTGACCAGCGGCCATGCCCAGATAGC
+GGACTCCGGGAACCATTGCACTGCGCCCAGCCAGACTGCGGCGGTTGAGCCGACAATCGCGCCAACCATA
+TACGACGGAATGGCGGTGATAGGGCTTTCCAGTGCAAACGGAATCGCACCCTCACTGATCCCCATAAAGG
+CAAGGAACATCGCGGTCTTACCCTGCGGATAAAGCTGGGCGTTGAACAAGCGTTTGCCAGTTAAGCGACG
+ATCGATAATGGTCGCCAGACCCAGACCAATCGGCGGAATAACGATAGCGATAGAACGTGCAGTGACCGGT
+AATACGTGGTCAGTGGTAAAGCTGAAGGCAACGAAACCTGCCGCTTTGTTGATCGGGCCACCAAGGTCGA
+TTGCTGTCGCCGCGGCGATCCCCATTGCGTACATCAGCGCGCCCTTCTCACCTGCAGCGGTCAGCACGGT
+ACGGATACCGCCGTTGATCCAGCCACCAAAGGGGGTGATGACGTAGTACATCGCCAGCATGACAAAAATG
+GCGGAAAGAATCGGTAGCAAAAATGTGGTTTTGAACGCTAACAGGAAATCCGGTAACTGGATTTTCTGGT
+TCATCCATTTCACAAGGTAACCGGCAACGATAGAAATAATCAGCGCACCAATGAAGGTGGACGGCACCGG
+CGAAGAGGTCGCCCATTGCATCGTGCTGGGATCGAAGTTCAGCAGTTGCGTCGGCTGGGTAGACATCAAG
+CCGCCGATAAAACCAGCCGGGAACGCCAGTTTGCCACCGATAGAGTTCGCCACAAAAGCAGCAAACATCG
+GAATGGCAAAACCAAACAACACACCGCCGAAGGACTGCGACAGCCAGGCAAATTTCAGTAAGGAGAGGTC
+GAAACCGGAGAATTTCCCGCTATTAAGAGCATCCATGATGCCGATATCAGCAGGAATTTTAAGCCAGCTA
+TAAGCAATCAGCTGACTGAAAGCGAGGATCACACCGCCCATAATTAAGGTCGGCACCATGCGTGAAATCC
+CTGACATCACATGCTGCGGGAGTTCAACCCAGAAGCTGGATTTAGAGGCCTGCGGATTCTTAACTGCCGC
+TGCCGCACCGGATGCGCCATGCACAACGGTTGCACTGCGTTTTTTAATGGCCATAACAATTATCCCTGTC
+GAATATTACTGTTGTTCAGAGGCAATCATCTCTTCGATTTCTTTGATGATTCCCGCAGCGTTTTTAATTG
+CGTCCTGCAAAGTGATTTCATAAACGTCGCGTGATTCGAAACGCTCGTTATCTTCCGGGGTAACTGCCAC
+GGAGTGGATGATGATGGTCGCTTCGGCGATATCCTGCGCCGTCAGGCGATTCTGGATACCGTCCGCGCCC
+TGGGTTTCAATTTTCACTTCATAACCGGCTTCTACCGCCGCTTCTTCCAGCGCCTGAGCGGCCATAAAAG
+TGTGAGCCAGGCCCATTGGGCAGGCACATAAGGCAATCAGTTTCTTACTCATCGTTAATTCCTCGTTCAG
+TGATAGTTGACGAGTGAAATTATGAACGTGCAAAACAAATCGCCGTTACCAGACAAATAATGCATTTACT
+GGAGAATTAATCCCGCTGTACGGAAGTGTGACGCAGGTCGGCCTTGTGAGGGGGACACAAAGAAAATTTA
+ATTAACTGTATGATTTAAAAGATTATCGGGAGAGTTACCTCCCGATATAACAGGAAGGATTTAGAGAATG
+TGACCTAAGGTCTGGCGTAAATGTGCACCGGAACCGAGAAGGCCCGGATTGTCATGGACGATGAGATACA
+CCGGAATATCATGGACATATTCTTTAAAGCGCCCTTTATCTTCAAATGCGGCGCGGAAACCAGAGGCTTT
+GAAGAACTCAAGGAAGCGCGGCACGATACCACCCGCAATAAACACGCCGCCAAATGTCCCGAGATTGAGC
+GCCAGATTGCCGCCAAAACGGCCCATAATGACGCAAAACAGCGACAACGCGCGGCGGCAATCGGTGCAGC
+TGTCAGCCAGCGCGCGTTCGGTAATATCTTTTGGCTTGAGATTTTCTGGCAGGCGGTTGTCGGCTTTAAC
+AATTGCGCGATACAAATTCACCAGTCCAGGGCCAGAAAGCACGCGTTCCGCCGAAACATGACCAATTTCC
+GCACGCAATATTTCGAGGATAATGCCCTCTTCTTCACTATTCGGCGCAAAATCAACGTGACCGCCTTCTC
+CTGGCAAGCTTACCCAACGCTTATCGACATGGACCAGATGCGCAACCCCAAGCCCTGTTCCGGCACCGTA
+AACCGCAATAGGCTTACCTTCTACCGGTTCTGCGCCACCAAACTGAATCAGATGCTCTTTTTTCAGCATC
+GGGATCGCCATCGATACAGCAGTAAAATCGTTAATAATTTCCAGATGGCTAAAACCGAGATTCTTTTTCA
+TTTCGGCAATTGAGAACGCCCAGGTATGGTTGGTCATTGCCACCCAGTCACCGGTAATTGGGCAAGCGAT
+GGCAATACAGCCGTCTTTCACCTCGACCTTATGTTCTTCAAGATAAACGCGAATGACCGCTTCGAGGCTG
+GGGTAATCAAGCCCTGAATAGGTCTTAGCCTGCGAGATTTCACCACTGGCAATATCACACAGAGCAAGAC
+GTGCGTTGGTGCCGCCCACATCACCGACTAATGCATACTTTGTCATTCTTCAACTGCTCCGCTAAAGTCA
+AAATAATTCTTTCTCACACTGTAAATACCTGGGGGCATAACAACAACGCCGGAAAGGCAGGCTCCCTGTA
+AATATCGATCTGGGTCACACAATTACTTTATCGTTTCAGCACCAATTGCAGCGATGCCTTTTTGCAAGCT
+GGGCAAACTAAGTATCTGACCCCGCATAAGGAATAGAACATGCTCCATCCGCGAGCCAGAACCATGTTGT
+TATTATCGCTCCCCGCCGTGGCAATTGGGATTGCGTCCAGTCTTATTCTGATTATGGTGATGAAAATCGC
+CTCGGTATTACAGAATTTGCTCTGGCAACGACTGCCGGGAACTCTGGGGATAGCCCAGGATTCACCTCTC
+TGGATCATCGGTGTATTAACGCTAACGGGTATTGCGGTGGGGTTGGTTATCCGTTTCAGCCAGGGTCATG
+CCGGACCAGATCCCGCCTGTGAACCGCTTATCGGCGCACCGGTTCCGCCCTCTGCGCTACCAGGACTTAT
+CGTAGCATTAATTCTCGGTCTTGCTGGCGGCGTCAGCCTGGGGCCGGAACATCCGATCATAACCGTCAAT
+ATCGCCCTTGCCGTCGCCATTGGCGCTCGTCTGTTACCGCGCGTCAACCGAATGGAGTGGACTATTTTAG
+CCTCTGCCGGAACCATCGGCGCGCTGTTTGGCACACCTGTTGCGGCGGCATTGATATTTTCGCAAACCTT
+AAATGGCAGTAATGAAGTTCCGCTATGGGATCGTCTCTTTGCGCCGTTAATGGCGGCAGCAGCTGGTGCA
+CTTACTACCGGATTATTTTTCCATCCTCATTTTTCACTGCCCATTGCGCATTACGGACAGATGGAAATGA
+CCGATATTCTCAGCGGTGCAATTGTCGCGGCGATTGCCATCGCAGCAGGGATGGTCGCCGTATGGTGCTT
+ACCACGGTTGCACGCGATGATGCATCAAATGAAAAATCCGGTGTTCGTGCTGGGTATTGGCGGACTTATT
+CTCGGTATTCTGGGGGTTATTGGTGGACCGGTTTCGCTGTTTAAAGGGCTGGATGAGATGCAGCAGATGG
+TGGCAAATCAGGCTTTCAGCACCAGCGGTTACTTTTTGCTGGCGGTGATAAAACTTGCCGCCCTGGTCGT
+TGCTGCCGCCAGTGGCTTTCGCGGTGGGCGAATCTTCCCGGCAGTGTTTGTCGGCGTGGCATTAGGGTTG
+ATGCTTCATGAGCACGTTCCCGCCGTTCCAGCGGCAATAACCGTTTCCTGCGCTATACTCGGCATCGTGC
+TGGTGGTAACACGCGATGGCTGGTTAAGTCTTTTTATGGCGGCAGTCGTTGTACCCAATACCACATTGCT
+ACCGCTGCTCTGTATCGTCATGCTCCCGGCATGGCTGTTATTAGCAGGTAAGCCGATGATGATGGTCAAT
+CGTCAGAAGCAACAGCCACCCCACGATAACGTTTAGCAAAAAATGCTCTCCTTTATGATTTAAGAGTTAT
+GGCGATGATACGGCGCTTTACCTCCCCGTAATATTGCGTTAACAGGCCGCTGACGGCTTCGATCGTGAAG
+GAGAATAACAATGTTCAGGTCACTGTTTCTGGCGGCCGCCCTGATGGCATTTACCCCGCTTGCGGCAAAC
+GCAAGTGAAATCACCCTACTGCCATCAATCAAATTACAAATTGGCGATCGCGATCATTACGGTAATTACT
+GGGACGGTGGTCACTGGCGCGACCGTGACTACTGGCACCGCAATTATGAATGGCGTAAAAACCGCTGGTG
+GCGTCATGATAATGGCTACCATCGTGGCTGGGATAAGCGTAAAGCGTATGAGCGTGGCTATCGTGAAGGC
+TGGCGCGATCGTGACGATCATCGTGGAAAAGGCCGCGGACATGGACACCGCCATTAAACGCATCCGTCAA
+TGGAGCACAATGCCTGATGCGACGCTAGCGCGTCTTATCAGGCCTACAAACCAGCTCTTTAACGCGTAGG
+GCGGATAAAGCATTTACGCCGCATCCGCCAATGGTGCCAAATGCGACGCTCATTCAACTACAATCCCAGT
+GCCGTTCCTACCAGTAACCAGATATTCAGCGCCACTACCAGCACCACAATCACCCAGCCTGTCTGTTTTA
+CGCGTTTACTGTTCACCAGATCGCCCATCAACTTGCTGTCACTGGTGAAAATCAACAGTGGAACCAGCGC
+CAGGGCGATACCAAAACTTAACAGCACCTGACTCATAACCAGAATCCGTGTCGGATCTAATCCCATCAGA
+ATGACGATAAATGACGGCAGCATGGTGACTGTACGACGCACCCACAGCGGGATATGAAAGCGAATGAAGC
+CCTGCATCACTACCTGCCCCGCCAGCGTCCCCACCACCGTTGAAGACAGTCCGGCAGCAACCAGGCTTAA
+TCCAAAGACCGTTGCCGCAGCATGGCTTAACAGCGGTTGCAGCGTCAGATAAGCCTCATCAAGATCGGCA
+ACACCAGTATGACCAGAAAAGTGGAACGCCGCCGCAGCTGTAGCCATCATCGCCAGATTGACAAAACCGG
+CAATCGTCATGGCGATAGCCACATCCCATTTGGTGGCGGAATAACGTTGTTGACGCGAACCGCCATGTAA
+ATGCTGAGTGAGCGAAGAGTGCAAATAAATCACATGCGGCATAATCGTCGCCCCTAACACGCCCGCTGCC
+AGGAAGACCGCCTCCGAAGTAGGTAAACTCGGGATCACCATTCCTTTACCCAGCTGCGCCAGGTTAGGCT
+GGGAGAAAATCAACTCGACAATGTAAGCCGCGGCAACAAACAACAGTAACCCGCCAATCACTTTCTCCAG
+CGGTTTTTGCCCGCGACGTTGCAGCATTAAAATAAGGAAAGTCGCGATCCCCGTCAGCACCGCGCCCTGC
+AACAACGAAACACCAAGAATGAGTTTAAAACCGATCGCCGCACCAATAAATTCCGCCAGGTCGGTTGCCA
+TCGCAATAATTTCTGCCTGAACCCAATAGAACCACACGACGGGACGCGGGTAGTGATCGCGAATCTGCTC
+CGCCAGATTTTTACCGGTGGCAATCCCCAGTTTGGCCGAGAGGATTTGAATCAGCATCGCCATCAGGTTA
+GCCCAAACGACAACCCACAATAACTGATAGCCGAAGCTGGCACCCGCCTGAATATTGGTCGCAAAGTTAC
+CGGGATCGATATAACCAATCGCCGCAATGAACGCAGGTCCCATTAATGCGAGCCTCATCTTGCGCGCCGC
+CCGTCCGCTGCTACTCTCAACGCGATAGTTCGTCATCTTGTGCCTCTAAAACATAGCCTTTGCTATGTTT
+TATGCTACGTTAAATGAGAATGATTATCAAATTCATTTAAATGGGTTGTGATGATTTCTCTGATAGACCA
+GGATTATGACTACGAAAAGATAGATGACTCGAATGTTATGGTTATGTTTAATATTAGCACATTTACATAA
+CCTTCCGCTTCCATACACAACATAGCAGAAATGTATGACAGATCACTATTTTTGAAGCTTGTCACAGGAC
+GTCATTATAGTGTGTGTCAGATCTCGTTTTCCTTAACCATGTTACATAGAATGTGCACGGAAATTTAACC
+TGCCTCATATTTGGAGCAAATATGGACCGCGTCCTTCATTTTGTACTGGCACTTGCCGTTGTTGCGATTC
+TCGCACTGCTTGTAAGCAGCGACCGCAAAAAAATTCGTATCCGTTATGTTATTCAACTGCTTGTTATCGA
+AGTGTTACTGGCGTGGTTCTTCCTGAACTCCGACGTTGGTCTGGGCTTCGTGAAAGGCTTCTCCGAAATG
+TTCGAAAAACTGCTCGGTTTTGCCAACGAAGGGACTAACTTCGTCTTTGGTAGCATGAATGATCAAGGCC
+TGGCATTCTTCTTCCTGAAAGTGCTGTGCCCAATCGTCTTTATCTCTGCGCTGATCGGTATTCTCCAGCA
+TATTCGCGTATTGCCGGTGATTATCCGCGCAATTGGTTTCCTGCTCTCCAAAGTCAACGGCATGGGCAAA
+CTGGAATCCTTTAACGCCGTCAGCTCCCTGATTCTGGGTCAGTCTGAAAACTTTATTGCCTATAAAGATA
+TCCTCGGCAAAATCTCCCGCAATCGTATGTACACCATGGCAGCAACGGCGATGTCCACCGTGTCGATGTC
+CATCGTTGGTGCATACATGACCATGCTGGAGCCGAAATACGTCGTTGCGGCGCTGGTACTGAACATGTTC
+AGCACCTTTATCGTGCTGTCGCTGATCAACCCTTACCGTGTTGATGCCAGTGAAGAAAATATTCAGATGT
+CCAACCTGCACGAAGGTCAGAGCTTCTTCGAAATGCTGGGTGAATACATTCTGGCAGGTTTCAAGGTTGC
+CATTATCGTTGCCGCGATGCTGATCGGCTTTATCGCCCTGATCGCCGCGCTGAACGCACTGTTTGCCACC
+GTGACTGGCTGGTTTGGCTACAGCATCTCCTTCCAGGGCATCCTGGGCTACATCTTCTATCCGATTGCAT
+GGGTGATGGGTGTTCCTTCCAGTGAAGCACTGCAAGTGGGCAGTATCATGGCGACCAAACTGGTTTCCAA
+CGAGTTCGTTGCGATGATGGATCTGCAGAAAATTGCTTCCACGCTCTCTCCGCGTGCGGAAGGCATCATC
+TCTGTGTTCCTGGTTTCCTTCGCTAACTTCTCTTCAATCGGGATTATCGCGGGTGCGGTTAAAGGCCTGA
+ATGAAGAGCAAGGTAACGTGGTTTCTCGCTTCGGTCTGAAACTGGTTTACGGCTCTACCCTGGTGAGTGT
+GCTGTCTGCGTCAATCGCAGCACTGGTGCTGTAAGACCATACATAAAAAAGCCGGGGATAATTCCCCGGC
+TTTTTTACGCCTGTTAATCAGCTAATGGCTGCGGACGACCAATTAAATATCCTTGCAGATATTGCACCCC
+AAGTTTATGCAATAGCGCCTGCTGCTGTGGCGTCTCGACAAACTCCGCGACCACACTCAATGACTTCGCT
+TTCGCCAGATCGGTAATTGATCTCACAATCATCGCATCCAGCGTGTTCGTGACGATATCTTTCACAAAGA
+CGCCATCAATTTTGATGATATCAGCCTGCAAACGCTTTAACCGTTCGTAGTTGGCATATCCGGTGCCAAA
+GTCATCAATCGCAATCCGGAAACCAAACTTATGCAGCTGCTCGATGTTGTACATGCTGCTTTCTGCGTTA
+GAAAACGCCTGCTCCTCGGTGATCTCAAGAATGACCGCCTGCGGGGAGATGTAATAACGCTTAAACAGAC
+GAATAATCCGCCCGGCAATATTCTTTTGCAGCAGCGTGAGCGGCATTAAATTGACTGAAAAGCGTGGACC
+TTTTTTGTCGCAAGGGTGTGTTGCCAGCCACTTCAACAAGGATTCCAGCACTTGCAAATCAAAACGCGCG
+CTAAGGTTAAACTGAGCAATAAGGGGCAGAAACTTATCCGGGGTCATAATGCCGCCGTCATACTTCAGTC
+GCGCGAGGATCTCATCATAACCTTCACCCTCTTTGTTGCGAATTGGCTGGGCGTAGAGCAGCAAATCACC
+CTGATCTAACGCCGTGCGAATGGTATTCAGCAATAGCACCTGTTTAGTGGTTTGCCCGGAAACCATCTCC
+TCTCTGCTATCCAGCGCCAGCACATGATGATGTGCGCAGGATTGCTCCGCCAGCCAGCTTAACTGCCCCA
+ACAAGGGTTGCAGGGTTTCCTGATTTCCATCAAAACGCCCCCAGGCAGCACCATAGCCCATATCCAGCCC
+GGTATTGTTCCAGTGAATTTGCCGACTATTCAGGATGTTAACCATATGCTGGAGTCGCCCTTCCGTTTCC
+GGCCCGCTCAGCACTAACAGCAGTTCACTACCCGGCAATTGATACAACTTTTCGTTTTCCTGCATCAACG
+GCAGCAGCGTACGGTAAATTGAGCGGATACAGTGAACGCGCATTATTAAGCCGTAATGACGACTCATAAA
+CTCAAGATTATCAATGCGCAGGCAGCAAAAACTCTTGCCCGCCTCTTGCTCCGGCGCTTGCTCCAACGCA
+CGAAAGTTGGGTAGAAGCGTTAACGGATCGGTCAGCGCCTGCAAATGCCAGCGGCGGTTAAGCCATTCAC
+TACGATGATAAATACGCACCATATAGAGCAGGCAAACACTAAAGGAAATCAGTACTGCGAGAATAAATGC
+CAGCGAATATTCGGTTAGTACCCCTTGCAAAAAGTTCTGGTTGTAATTCAGAAGGCAAAGCGTTGAAACA
+GCCCAGGTGAGATTTAAAAACGGATAGCGAATCTTACCGACACCGAGGGTAAAGATGATAAAGAAAACAG
+GTACCAGGTAACCGGCAATAAAGTCATTTTCATACGGTGTGCACATCAGAAGTAGCAGCACGCTAAGAGC
+TGCCAGCCAGCTTAAGGTAAATGCGCGTTTCTCTTTGCTCAACGACGGAGCGATATCCCTACGCCACAAT
+ATCTGTGCAAAGTGGGGACTTACAATCATGCGGGTGAGATAGTAAAAAAGCATGTTGTAAATCAGCACTG
+CGGTGAAAAGGCTTAGCAAATCAACGACCGTGAAAATGGCATCCGCATCGCCGAAAAAGGTAGATATCTT
+TAGCGGAAAATCAAAGAAATTTCCCACAAGATACATGCTGCATTTGATGCCAATCGGCGCCACCAAACCA
+AGCCAGAACAGACGTTGCCAGACGTATCGGCTGGTCAATCCATAACGCCAACGCGTCCCCAATTGCCAGC
+GTAATATTGCACAGGCACACAGGACTGCAAACGCCTGGCTGCCGATCATGACGGCGGTCTGTAAAAAAGA
+GAGATGCAGGTTCCACAGATTGGTGCAAAACATCCCGCATAAAATGGGAACGACACCACGCCAGCCAAAG
+ATAAACAAGATTGACAGCATTACGCACAGTGGCATCCACGCCAGAAAGATATAATTGGAATGGATAACAG
+CAAGTGGCGAAATTAAACGGGATAGCTGAATAAGTACCACGGTGAGCGTAAACGCTAGTGTGAATATCTT
+GATATTTTTTATCAGGTTATGCTCCACAAACATGAGTACACTACTCTCACTGATCGGGGTTTTCAGGCAC
+ACAAATAATAAGTTTATTCGCATCGCGAAGCAAACAGGGGCCAGCCTGTTGCTGTTTTTTCAGTCAGTGA
+TGCATTCACCACACGGCACTGCCAGGATATAGACTGTATTACAAAAGCGGCAAAAGGCAGAGACAAAAAA
+CCCCCGCTTTGCAGCGAGGGTTTGAAATTTGGTGGAGCTAAGCGGGATCGAACCGCTGACCTCTTGCATG
+CCATGCAAGCGCTCTCCCAGCTGAGCTATAGCCCCACGAGTCGTTTACGTACCAAATTTGCTGGGTGCAA
+AATTTGGTGGAGCTAAGCGGGATCGAACCGCTGACCTCTTGCATGCCATGCAAGCGCTCTCCCAGCTGAG
+CTATAGCCCCATCACGTAAAGCTTGTCGAGTTGACGGGCGGCATCATATGAATTCCGCCCGAATGTGTCA
+ACGGCAAATTGCCACGTGTAGTTTCAATCGCTGAAAAATCAGGCAAATGAACAATTTTGGAAAACCGCTC
+GCATTCAGTAGTTATTCATGTCACGGTTTCCTGTAAAGTGGTGTTATAAAATGAACTACTAATAGACCCA
+CATACATTCAGGGAATTGTTATGTTCAAGGAGAGGATGACGCCAGATGAACTTGCCAGACTGACCGGCTA
+TAGCCGCCAGACCATTAATAAATGGGTACGCAAGGAAGGCTGGACAACGTCACCAAAACCAGGCGTCCAG
+GGTGGCAAAGCTCGACTGGTTCACGTCAATGAACAGGTTCGTGAATATATTCGCAATGCTGAACGTCCAG
+AAGGTCAGGGAGAAGCGCCAGCCCTTTCTGGTGATGCGCCGCTTGAAGTGTTGCTGGTGACACTGGCGAA
+AGAGATGACGCCAGTTGAACAAAAACAGTTTACATCCTTGCTTCTGCGGGAAGGGATTATCGGATTGTTA
+CAACGCTTAGGGATTCGCGATAGCAAATAATATGAAAAGATTACGCAATAAAATGACCACCGAAGAACTG
+GCTGAATGCCTCGGCGTGGCTAAACAAACTGTTAACCGTTGGATCAGAGAAAAAGGCTGGAAAACGGAAA
+AATTTCCCGGCGTGAAAGGCGGTCGTGCCAGACTTATTCTGGTCGATACGCAAGTTTGCGAGTTTATTCA
+GAACACGCCAGCCTTCCATAACACACCGATGCTTCTGGAAGCCGAAGAACCCCTTGCCGAATACGCACCG
+GGTATTCGCACTCCTGCTTATCGGCAAATCATCAGCGCAATAGACAACATGACTCACAGTGAGCAAGAAA
+AAGTTGCGCAATTTTTGTCACGCGAAGGAATTCGTAATTTTCTTGCTCGTCTCGACATAGATGAATCAGC
+ATAAATAAAAAACGGCAGGGGTATCTCTCCTGCCGTTTATCTTTTATGCGCTAATTACTGCTGATTTTCG
+CGTTCAGCAATAAAAGCCAGCGCTTTGTTGATACGCTCGATACTGCGGGTCTTACCGATTGCGTGAACGG
+TAACATCCAGCGCCGGAGACTGCCCCGCACCGGTTACGGCGACACGCAGCGGCATACCAACTTTACCCAT
+ACCCACTTCCAGCTCATCCGCCGTCGCCTGAATAGCGTGATGAACGTTTTCAGCGGTCCAGTCAGTAATC
+GCAGTCAGTTTGTCACGAACCACTTCCAGCGGCTGACGCGCTACCGGACGCAGATGTTTTTTCGCGGCGT
+CGGCATCGAACTCAGCAAAATCTTCGTAGAAATAACGGCAGCTCTGTGCCATCTCTTTCAGCGTCTTGCA
+GCGTTCGCCCAACAGTTTCACCAGATCAGCCAGCTGCGGGCCGTTACGGGTATCGATATTTTCCTGCTCA
+ATGTGCCACTGTAAGTGAGTAGCAACATACTCCGGCGGCAACGCGTTAATGTAGTGATGGTTCAGCCACA
+GCAGCTTGTCGGTGTTGAACGCACTGGCAGATTTGCTGACGGCATTCAGAGCGAAGTATTTAATCATCTC
+TTCACGAGTGAAGATTTCCTGATCGCCGTGGGACCAGCCCAGACGCACCAGATAGTTCAGCAGTGCTTCT
+GGCAGATAACCATCATCACGATACTGCATTACGCTGACCGCCCCGTGACGTTTGGACAGTTTTTTACCGT
+CATCGCCGTTGATCATAGAAACGTGCGCGTAAACCGGTACCGGCGCTTTCAGAGCCTTAAGAATGTTAAT
+CTGGCGCGGTGTGTTGTTGATATGGTCTTCGCCACGGATAACGTGGGTGATTTCCATATCCCAGTCATCG
+ACAACCACACAGAAGTTATAGGTTGGGGAACCATCGGTACGGCGGATAATCAGATCATCCAGCTCCTGGT
+TGCTGAACTCGATCGGACCACGGATCTGATCGTCAAAAACAACAGAACCTTCCTGCGGGTTAGCAAAACG
+TACGACACACGGCTCATCATCAGCGTGATGCTCATGACTGTGGCGGCAGCGACCGTCATAACGCGGCTTC
+TCACCTTTCGCCATTTGCTCTTCGCGCAGCGCTTCCAGGCGCTCTTTAGAGCAATAGCATTTATAAGCTG
+TGCCCTCTTCCAGCATCTGATCGATCACCGCGTTGTAGCGATCAAAACGTTTGGTCTGGTAGTACGGACC
+TTCATCCCACTCCAGGTTCAGCCAGTTCATGCCATCCATAATGGCTTCGATAGCTTCCGGCGTGGAACGC
+TCAAGATCGGTGTCTTCAATACGCAGCACGAACTCACCGCCGTGGTTACGTGCAAAAAGCCAGGAGTAAA
+GAGCAGTACGCGCACCGCCAACGTGCAGATAGCCTGTTGGGCTTGGCGCGAAGCGAGTTTTGATTTTCAT
+GAAATGGCCTTACGTTTAGAAAGATGCCGACAACCGGCAAATCCTGGAAAAATTGAGTGGGCGATATTCT
+ATCACTCCCGCCTGATTCCTCAATGTAGTTCGGGTTGCAACCTTACGCATTATTGTTTTCGTTGACAAAT
+TGCGCAACACGGTCTGTTTTGCGATCATCTTGCTTAAATTTACGACGAACGAACAATTTCTTTAGAAAAT
+GCGTTGACTCATTTTGAACTCTCCCTATAATGCGACTCCACACAGCGGGGGTGATTAGCTCAGCTGGGAG
+AGCACCTCCCTTACAAGGAGGGGGTCGGCGGTTCGATCCCGTCATCACCCACCAACTACTTTATGTAGGC
+TCCGCCGTGTAGCAAGAAATTGAGAAGTGGGTGATTAGCTCAGCTGGGAGAGCACCTCCCTTACAAGGAG
+GGGGTCGGCGGTTCGATCCCGTCATCACCCACCACTTTCTCGCCAGCTAGATTTCTTGTAACAACGTGAA
+GTACCGAAGTGGGTGATTAGCTCAGCTGGGAGAGCACCTCCCTTACAAGGAGGGGGTCGGCGGTTCGATC
+CCGTCATCACCCACCACTTCGGGTCGTTAGCTCAGTTGGTAGAGCAGTTGACTTTTAATCAATTGGTCGC
+AGGTTCGAATCCTGCACGACCCACCAATGTAAAAAAGCGCCCTAAAGGCGCTTTTTTGCTATCTGCAATT
+TGCGAAATTGCCTGATGCGCTTCGCTTATCAGACCAACTATGTCCGGCAGTTCCCGTGCCTCTCATCTAC
+TGCGCCAACGCCGCCAGCAGTTTAACCAGCGCGGGCGTCACCTGCTGCGTTTCATAAACAATATATAAGT
+CTGCCGGGATGCGTTCTTTGAGCGGACGGAATATGACACCGGGCCAGTTCATCTGCGCGTAGCTGTCCGC
+TATCAATGTGATACCAATACCCATACTGACCATGGCGAGTACCGTTTGCGGTTCATTAACTTCGCGAATA
+ACAACCGGTGAAAATCCCACCTGCTGGCAAACTCGCTGCAAAAAATCCCAGTCAGTGTACACGGGCGGCA
+TTGTAACGAAATACTCGTCACGTAGCGCTTCCAGCGGGACGGTGGAAAATGATGAGAGATGATGCTCTTC
+AGGCATCGCCACCAGAAACGCCGATTCATGCAACCGTAAGCTGGTAAAACCAGTCGGTGGTTCTGTCGCC
+ATTCGCCAGATCCCGGCATCAAGTTCGCGGCGTTCCAGCAAGGCCATTTGCATCGCTGGCATCTTTTCGC
+GAAACAGAACTTCAACGTTAGGATTTTCTCTAAGGAATCGCCGCATAACCGGGCGCATCCGTCCCCACAT
+TGCCGTTCCCACAACCCCGAGTTCAATCCGCCCTGCTTCTCCCCGACCTATTTGTTCAACCCGAGCCAAT
+ATATTATTTGCATTCACCAGCAATCGACGCGATTCTTCCATCAAGATTTTGCCCGCGTGTGTCAGTACGA
+CGCTGCGCGAATGGCGAATAAAAAGCTGCGTGCCGAGTTGATTTTCCAGCTCTTTAATATGAATACTGAG
+CGGAGGCTGAGACATATTTAAACGCGCTGCTGCGCGACCAAAATGCAACTCTTCCGCTACGGCAAGAAAA
+TAACGGAGCAACTTAAGATCTGTTCTATATACGCGTTCCATAATTAAGTGCTCCATATAAAAAATATATC
+GTATTAAATTATCATGGCATAAAGTATTTCACCACCAGATATCCGACATACATAAACACGATGGATAATA
+TACCCGGCAATACATTTGGAACAGGAATAGGTAATCGCACGATTGTAAACAAAGCACCAATGCCAAAACC
+AACGCCAGAAGAAAATAAAATATCTTTCACTAATTAACCTTTATCATAAAAGCAGCCCCAAGGAACAGAG
+CTGCGAATCCTTTTAATGTGTAACTGAACGATGCGTTATCTTTTCAGGGTCATGGTTATATTTAAACCCA
+AAGAAAAATATCACTGCGAGGAAAAGAGCATACCCTGCAAACATCAGCCAAATGGTATGCCAATCTTTTA
+CGCCATCCACCGAGAAGTAATCCACTGCCATACCGCTCAGAATCGAGCCAACCCATGCGCCGACGCCATT
+TACCATCGTCATAAAAAGGCCCTGGGCGCTGGCACGAATGCTGGAATCAACTTCCTGTTCGACAAAGACC
+GAACCAGAAATATTGAAGAAATCGAATGCACAACCGTAAACAATCATCGACAGCAACAGCAAAATAAACC
+CGGTTGGTGATGGATCGCCATAGGCAAAGAAGCCAAAGCGCAGCGTCCACGCCACCATACTCATCAGCAT
+GACGGTTTTAATACCGAAACGCTTCAAAAAGAACGGTATCGTCAGAATGAAACCGACTTCAGCCATCTGT
+GAAACTGACAGTAAAATGGACGGGTATTTCACCACGAAGCTATCAGCAAACTCAGGATTACGGGCGAAAT
+CATGCAGGAACGGGTTGCCAAAAACGTTGGTAATTTGCAGCACCGCGCCCAACATCATGGCGAAGAGGAA
+AAAGATAGCCATGCGTGGATTTTTAAACAGCACGAAGGCATCCAGACCCAGCTTGCTGGCAAGCGATGTA
+GTCGCTTTTTTCTCCGCAACCGGAATCTTCGGCAAAGTCAGCGCATAAGCCGACAGCAGCAATGACGCAC
+CGGACGCGATATACAGTTGCAGACTACTCAATTCCAGATGCAGCAAGCTTACTGCCCACATGGCGACAAT
+GAACCCCACCGTACCAAAAACGCGAATGGGCGGGAAAGCGGTCACCGGGTCAAGCCCTGCCTGGGCAAGA
+CAGGAATAAGAGACGCTGTTCGATAACGCAATAGTCGGCATAAACGCCATCGCATTGACTAACATCACCC
+AAAACATCATATCCGGATCAGTTACGGATGCCGCATAAAAAAGTACGCCCGCACACACCAGGTGACACAG
+CATGTATGCACGTTCTGCACGCAGCCATTTGTCTGCGATGATCCCCATTATACCAGGCATAATAATCGCG
+GCGATCCCTTTGGAACTGTAAACCATGCCAACATTAGCGCCGGTGAAATGAAGGGTATTAATCATGTAAG
+AACCGAGGGTAACCAGCCAGCTCCCCCAGATAAAATATTGCAAAAAGGACATTACCTTTAAGCGCAAAGC
+GATGCTCATAATCGTTTCCTTGTCGCATCATATGGCCTCACTCAGTAAGGCCGTTTATTGTTGTTTTACT
+CAGGCAATTTTGCGCAGAAAGCCGCAAATAAGATTAATAAAGTTTTGCTTTGAGAGTTCCGCTGCTGCCA
+GCGTTTGGGCATGAGAAAGCTTCACGTCACTCAGACCTTCCGCCATGTTGGTAATCGCAGAGACCGCAAC
+GACTTTAAGTTCGCAATGGCGAGCTGAAATAACCTCAGGCACCACAGACATACCAACAACATCCCCACCA
+ATAATTTGCATCATGCGAATTTCCGCCGCAGTCTCGAAATTCGGCCCCGGATACGAGACGAACACGCCCT
+CCGTCAGAGGGAACCCCTCTTCTTTCGCCACTTTTTGTAACAGTGCGCGGTATTCCGCATCGTAGGCATT
+CGCCAGCGAGAAGAAGCGCTCACCAAAACGTTCATCATTAAGACCCACCATCGGCGTTCCCGGCATGGTG
+TTGATGTGATCTTTCAATGCGACCAGACTGCCGGCCCCCACTTCAGGGCGCAGTGAGCCAGCCGCATTGG
+TGCAGAACAGCAACTCACAGCCCAGCAACTTAAAGGTACGGATTGCATCCGTCATGATGGTCATCCCACG
+ACCTTCGTAGAAATGTCCGCGACCTTTCATACACGCCACTGGCACCCCCTGGAGATAACCCAGCACCAGC
+TCACCCGCATGACCGTGTACGGTACTTACCGGGAACCCAGGCAGCTTTTCGTAGGAAATTGCGACCGCGT
+TCTCAATCTGATCGGCCAGCGCGCCCAGCCCGGAACCTAAAATAAAGGCCACTCGTGGCGTGAAATCAGG
+TTTATAAGTCTTGATAATATCTACGCAATACAGTGGGTTATGAGAAAACTGAGCCTGATACATATATATC
+CTTTTTTTGTAGGGTGGAATCTAACGCCTTTTTATAACGAGATTGCCCTACCTCATACCAATACACTTTT
+TTCATGTATCCGATAGTTATTCGATATCGATATATTTATATTTTTTCACTATTAATAGGCTGAAAAAACT
+GTATTGGTAGTCTCCTTTCCCTTGCATTAACAATATGCCGCTTTTAATCAACCTTTTATTAAGCAATCAA
+CTAATAACGATCGGCATAGGGAATTATGCTATGAAAAAACATCTTTTTACTCTGACACTCTCTTCTGTAT
+TGGCGATACCAGCAGTATCCCATGCAGAATTTAAAGGCGGTTTTGCTGATATAGGTATTCATTATCTTGA
+CTGGACTAGCAGAACCACTGAGAAATCGTCGACCAAATCACACAAAGATGATTTTGGATATCTGGAACTG
+GAAGGCGGCGCTAACTTTAGTTGGGGAGAAATGTACGGGTTCTTCGACTGGGAAAACTTTTATAATGATC
+GTCATGATAAACCGGGTAGCGAGCAGCGTTATACATTTAAAAATACCAACCGTATTTACCTGGGTGACAC
+CGGATTTAATCTCTACTTGCATGCGTATGGCACCTACGGTTCTGCGAATCGTGTGAATTTCCATGACGAT
+ATGTTCCTTTACGGGATCGGCTACAATTTCACCGGCAGCGGTTGGTGGTTCAAACCGTTCTTTGCAAAAC
+GCTATACAGACCAAACCTATTATACCGGCGATAACGGTTATGTCGCCGGTTGGGTTGCAGGTTACAGCTT
+TATGCTGGGCAGTGAGAAATTCACCCTCACCAACTGGAACGAGTACGAGTTTGATCGTGATGCCACCTAC
+GCGGCAGGTAATGGCGGCAAAGAAGGTCTGAACGGTGCCGTCGCACTTTGGTGGAATGCAACTTCACACA
+TCACCACAGGGATTCAGTATCGTTATGCGGATGACAAACTGGGCGAAGATTTTTACCAGGATGCGATAAT
+CTACTCCATCAAATTTAATTTCTGATTGATTACTGCCGGAGCTCCCGGCAGTATGAATTCACTCTATATC
+TGATACAACGGATCCCCTTCCCGCCCAGCCATTAGCGCATTGCCCTGGTCTCGTACTACGTCCCATAACG
+CTTCAGCGGCGGTGGAAAGTGAACGGTTCTTCCTGCGCACCAGCATCAACTGGCGTTCAACCACTGGCGT
+AATGCGCTTTACCACCAGTGGGCTACCTTCAGGCAATGGTAGCGCCAGTGCGGGAAGAATACTGATGCCG
+ATGCCTGCGGCTACCATCGGGAACAGCGTCGCCGGATGACCAATCTCCTGCACAATATTCGCCTGAATAC
+CGTTGCGCGCCAGCGCTGCGTCAATCAGCGGTCGGCTGCCTGACGCGTAATCCTGCAACACCAATTTCGC
+TCCCTGTAATGCCTGCCAGGGGACATAATCTTCCACGGCCAAAGCGCTATCGCGATGGCAAAGCAGAAAG
+AAAGGCTCGGAAAGAATCGCTTCACATTGCAGATCGCCCACTGGGCCTGGATCGATGACGATGCCAAAAT
+CGACATCTCCCTGGCGAATACTTTCCATCACCCACTGCTGCGGACGATCGTGCAGGACAAACTGAATATC
+TGGATAGCGGCGATGGCTTTCAGCAATGCATTGCGGAATAAGATGCGCGGAAATGGTCTGGCTGGCAGCG
+ACCCGAACTTTTCCGCTCAGTTGTTGCCCCATACGCCCGGTATCGCGCAACGTGCTGTTAAGTTCATCCA
+GCAGTCGCTCAAGACGCAAAGCCAACTGCTGCCCTGCATCTGTAAGCACCACTTCACGCGTGGTTCTGTC
+CAGCAGGCGAACACCAGTATGATTTTCCAGCTCCTTCACACTGTGACTCACTGCCGACTGGCTCAGGCCG
+ATACGCTCTCCTGCACGACTAAAACTTTTCTCCTGCGCTACTGTGACGAAAACCTTTAATTGCTTTAAAG
+AATAATTCATCTGTTTTTTTCATGAATGGATGCAATAAATCAATTTTATTTCTCAAACTGGAAGAAGCAC
+AATAGAACCATCGATCATCTGGAGTCTTTATGAAACTTTTTCGTATCCTCGATCCTTTCACCTTAACCCT
+GATCACGGTGGTGTTGCTGGCCTCTTTCTTTCCGGCCAGAGGCGATTTCGTCCCCTTCTTTGAAAATCTG
+ACCACTGCAGCGATTGCTCTGCTGTTCTTTATGCACGGCGCGAAGTTGTCGCGTGAGGCGATTATTGCTG
+GCGGTGGTCACTGGCGACTGCATTTGTGGGTAATGTGCAGCACCTTCGTGCTGTTTCCGATTCTGGGCGT
+GCTGTTTGCCTGGTGGAAACCGGTAAATGTCGACCCGATGCTCTACTCCGGTTTTCTCTACTTGTGCATT
+CTCCCCGCGACCGTGCAGTCTGCAATCGCCTTCACGTCAATGGCGGGCGGTAACGTCGCGGCGGCGGTTT
+GTTCTGCGTCAGCATCCAGCCTGCTGGGGATTTTCCTTTCACCATTGCTGGTTGGTCTGGTGATGAATGT
+TCACGGTGCAGGGGGCAGCCTTGAGCAGGTTGGTAAAATTATGCTGCAACTGTTGCTGCCATTTGTGTTG
+GGGCATCTTTCCCGGCCTTGGATTGGTGACTGGGTGTCGCGTAATAAAAAATGGATTGCGAAAACTGACC
+AGACGTCCATTCTGTTGGTGGTTTATACGGCATTCAGCGAAGCCGTCGTTAACGGTATCTGGCACAAAGT
+TGGCTGGGGATCATTGCTGTTTATCGTGGTGGTCAGTTGCGTTCTTCTGGCTATCGTGATTGTAGTTAAC
+GTCTTTATGGCACGCCGACTGGGCTTCAATAAGGCAGATGAAATTACTATCGTCTTTTGTGGTTCGAAAA
+AGAGTCTGGCAAATGGCATCCCGATGGCAAACATTCTGTTCCCCACATCGGTGATCGGTATGATGGTGCT
+GCCCCTGATGATTTTCCATCAGATCCAATTGATGGTCTGTGCGGTGCTGGCGCGTCGATACAAACGCCAA
+ACCGAACAGTTACAGGCGCAGCAGGAAAGCAGCGCCGATAAAGCTTAAAGCGGACGCTTCAGGGGCTGGA
+CCAGTTGCGTCAGCCCCTCGATTTTAATCAGCAGCGTGATTTGCATTAGCTCACCGAGCTTCCCTGCCGG
+GAACTCATCTTTGCGGGCAAACCACAGCAGATACTCCTCCGGCAGGTCGATTAAGCGACGCCCTTTGTAC
+TTGCCAAACGGCATTATCGTATTGGCTATTTCAATCAGCTGCTCTCTTTCCATCTCAGCTACCCAGCAAA
+TGCAGCATTTCCGTTTCGTCGATGACTTCAATGCCCAGTTCCTGCGCCTTCGCCAGTTTAGATCCTGCAG
+CTTCACCCGCTATCACCAGATCGGTTTTCTTCGACACGCTGCCCGCGACTTTCGCCCCCAGTTCGACCAG
+TCGAGCTTTAGCGTCATCACGCGACATCTGGCTTAAGCTGCCCGTAAGCACCACGGTTTTACCAGCAAAC
+GGACTGTCAATCTCTTCCGCATTGATAACGATCGGCTCAGGCCAGTGAACACCTTCCGCCAACAGCTCGC
+TGATGACATTGCGGTTGCTTTCTTCGGCAAAGAAGTTGTGAACGTGGGAGGCAACGACAATTCCAACATC
+AGGCACCTTTTGCAGCTCTTCAATCGACGCGGCTTCCAGCGCTTCCAGCGTGCCGAAATATGCCGCCAGA
+CCTGCTGCGGTAGCCTCGCCGACTTCACGGATGCCAAGTGCATAGAGGAAGCGGGCAAAGGTGGTTTCTT
+TCGCTTTTTCCAGCGCGTTAACCACGTTTTGTGCCGATTTCGGCCCCATACGCTCCAGTCCGGTCAGTTT
+GCCTGCGGTAAGTTTGAACAGATCCGCCGGAGTGTGGACATATTCTTTTTCAACCAGTTGATCGATGATT
+TTGTCGCCCATTCCGTCAACATCCATCGCACGGCGGGAAACAAAGTGTTTCAGAGACTCTTTACGCTGCG
+CACCGCAAATCAGGCCACCGGTACAGCGGGCAACCGCTTCACCTTCCACACGCTCGACGTCAGAACCACA
+TACCGGACAATGCGTCGGGAATACAACCTCACGGGTATCTTCCGGGCGTTCAGAAAGCACGACGTTAACC
+ACCTGCGGGATCACATCGCCTGCGCGGCGAATCACCACTTTATCGCCAATGCGTAAACCAAGACGTTCGA
+TTTCGTCAGCATTATGCAGTGTAGCGTTACTCACCAACACGCCAGCAACATGGACAGGTTCCAGACGCGC
+AACAGGCGTAATCGCGCCAGTACGCCCAACCTGAAACTCGACGTCACGCACAAAGGTCATCTGTTCCTGC
+GCCGGGAATTTAAACGCTACCGCCCAGCGCGGGGCACGCGCGACAAAGCCAAGCTGCTCCTGCTGTGCCA
+GTGAGTTGACCTTAATCACCACGCCGTCGATATCAAAGCCCAGCGTCGGACGGTCTTCTTCTACTTTGTG
+GTAGAACGCCAGCACTTCTTCCGCCGATTCACAAAGCGTTACCCGATCGCTGACCGGCAAACCCCACTTT
+TTAAATTGCAGTAAACGGCCAAGATGAGTATCCGGCAGCTCGCCACCTTCCAGAACACCGACGCCGTAGC
+AGAAGAAAGTGAGCGGTCGCTTCGCTGTAATACGCGGATCAAGCTGACGCAGTGAACCAGCTGCCGCATT
+ACGTGGGTTAGCAAACACTTTCCCGCCCGTGCGTCGCGCATCTTCGTTAATCTTTTCGAACCCCGCCTGC
+GGCAGGAACACTTCACCACGCACTTCCAGACGCGCCGGGATATTCTCACCGTGTAGCTTCAGCGGAATGG
+CGCGAATAGTACGCACATTAGACGTGATATCTTCCCCGGTGGTGCCATCGCCACGAGTCGCGGCACTGAC
+TAAAACGCCATTTTCATACAGAATACTGACGGCAAGACCATCCAGCTTCAGCTCACAGCACCAGGTGACT
+TTCTCGTTGCTTTTCAGACGGTCCTGCACTCGTTTGTTGAAGGCAAGAAAGCTTTCTTCATCAAAAACGT
+TATCCAGCGACAGCATTGGCACTTCATGGCGGATCTGGCTGAAAGCCGCCAGCGGCGCAGCACCTACACG
+TTGGGTAGGCGAATCAGGCGTAATCAGTTCTGGATGTTTGGTTTCCAGCTCGCGCAGTTCGCGCATCAGC
+CTGTCGTATTCAGCGTCGGGAATTTCCGGCGCATCCATCACATGATAAAGATATTCATGATGGCGAAGCG
+TCGTTCGCAGTTCTGTCAGTTGTTGTTCGATTGATTCCATATCGCACCATCAATGCTAAAAACCCCCGAC
+AAGCGGGGGTTCGAAGAGGAGTTAATTTGCCTTAAGTGTATCAGACGTTGGCGTCTTTGACTTCGCGGAT
+GATGTCCTGGTACTCGCGCAATTTCTGCGGAGTCATCATACGGCGCTGATCGTCAAGCACTACACCGCCC
+ACTTCATCGGCAATATGCTGCGCAGATTGCAGCATCAGCTTAAAGTTCTGCAGCTCGTCACCGTAAGACG
+GTACCTGCATAAAGATAGTGACACCCGGAGTAGTGAAATCCTTCATTTCAGGATCAAAGGTTCCCGGTTT
+CACCATATTCGCCAGGCTGAATAACGCCGGGCCGCTGCCATCCGGGCTAAGATGACGATGGTAAATGTTC
+ATATCGCCAAAAATGAAGCCCGCTTGTTGAATGCTGTTAAGAAGCAGTTCACCGTTTAACTCGCTACCGT
+GATGCGCCGCGACGTTCATGATAATCACCGCCTCTTTGCGCTTCGGTTTATCCGTAACTGGAGCCGGTTC
+CGCTACAGGCTCAGGCTGTGGTGCCGCTACGGGTTCTGCAGGCTGGAAAGCCTGTTGTGCCGGTTGCGGT
+GCTGAATGCACTGGCTGCGGCGCTGACGCGACCTGTGGCGAAACAGGCTGCTGCAACGGCTGTTCAGGCT
+GCGGCTGATAGGCAGGCTGCTGCACAGGTTGCTGCACCGGCTGCGTTGGACGCGGAGCATGTTGCGGCGG
+TACCTGCGCTTCAGGCGGCTGCTGGACCGGTTGACGCGGCTGCGCAGACGCATAAGGCGGTTGGTACTGG
+TGTTGCGGCGACGGACGAGCAGCCTCATGCTCCTGGGCGTTAGCCGGGGCATGATTCACGCGGTGAACAC
+GAACCTCACCAACGCCCTCATCATCTTCGACATCCTCGTCATAAGAATCGTCGTCACGTTTTGACTTCAT
+TCGTTTTAATGGCCGATCGCGGAACATAGAAGATCGTTCTTTACGGCTGGTCCAGAAACCATGTACCAGT
+AAAGCGATTATGGCGATCGCGCCAACAATGATTAATATCAGACGCAAATCCTGCATCATTATATTCTCTG
+TTGTTCTAACACCTTGCCACCACGGCAAACATTTACTCACTAAGAGTATTTGCCGATTACCTCAAGTGCA
+AGTGCACTATTAACTTTCACAGCACAAAGATAGATGAAATCGTGCTTTTTGCTGTTTTTTCGAACATATC
+CTAACTGTCCATTGCGCAATTACCCGGTAAAATACGCAGAATTTTCCTGGGATTGGTCAAAAGGAGCTCA
+TCCTGATTATGGTTTCATCATTCACATCTGCCCCACGCAGCGGTTTTTACTATTTTGCGCAAGGCTGGAA
+GCTCGTCTTGCAACCTGGGATTCGGCGTTTCGTTATTTTACCGCTGCTGGTCAATATTTTGTTGATGGGG
+GGCGCATTCTGGTGGCTCTTTACGCAACTCGATGTCTGGATCCCGACGCTCATGAGTTATGTTCCGGACT
+GGTTACAATGGCTGAGCTATCTGTTGTGGCCCCTGGCTGTCATCTCTGTGCTGTTAGTGTTTGGCTATTT
+CTTCTCAACGATTGCTAACTGGATTGCTGCTCCGTTCAACGGTTTATTGGCTGAACAACTGGAAGCAAGA
+CTGACTGGCGCTACACCGCCAGATACCGGAATTTTCGGTATCATGAAAGATGTGCCGCGAATCATGAAAC
+GCGAATGGCAAAAATTTGCCTGGTATCTGCCGCGCGCAATTGTATTGCTAATTCTTTACTTCATCCCTGG
+CATTGGGCAAACCGTCGCGCCGGTACTGTGGTTCCTGTTTAGCGCCTGGATGTTAGCCATCCAGTATTGT
+GATTACCCCTTCGATAACCACAAAGTGCCGTTTAAAGAGATGCGCACCGCCCTGCGCACACGCAAAATCA
+CCAATATGCAGTTTGGTGCTTTAACCAGCCTGTTTACGATGATCCCGCTGCTTAATCTGTTCATTATGCC
+CGTTGCCGTTTGTGGCGCGACGGCGATGTGGGTCGATTGCTATCGCGATAAACACGCCATGTGGCGGTAA
+CAATCTACCGGTTATTTTGTAAACCGTTTGTGTGAAACAGGGGTGGCTTATGCCGCCCCTTATTCCATCT
+TGCATGTCATTATTTCCCTTCTGCATATAGATATGCTAAATCCTTACTTCCGCATATTCTCTGAGCGGGT
+ATGCTACCTGTTGTATCCCAATTTCATACAGTTAAGGACAGGCCATGAGTAAGATTTTTGAAGATAACTC
+GCTGACTATCGGTCACACGCCGCTGGTTCGCCTGAATCGCATCGGTAACGGACGCATTCTGGCGAAGGTG
+GAATCTCGTAACCCCAGCTTCAGCGTTAAGTGCCGTATCGGTGCCAACATGATTTGGGATGCCGAAAAGC
+GCGGCGTGCTGAAACCAGGCGTTGAACTGGTTGAACCAACCAGCGGTAATACCGGGATTGCACTGGCCTA
+TGTAGCTGCCGCTCGCGGTTACAAACTTACCCTGACCATGCCAGAAACCATGAGTATTGAACGCCGCAAG
+CTGCTGAAAGCGTTAGGTGCAAACTTGGTGCTGACCGAAGGTGCTAAAGGCATGAAAGGCGCAATCCAAA
+AAGCAGAAGAAATTGTCGCCAGCAATCCAGAGAAATACCTGCTGCTGCAACAATTCAGCAATCCGGCAAA
+CCCTGAAATTCACGAAAAAACCACCGGTCCGGAGATCTGGGAAGATACCGACGGTCAGGTTGATGTATTT
+ATTGCTGGCGTTGGGACTGGCGGTACGCTGACTGGCGTCAGCCGCTACATTAAAGGCACCAAAGGCAAGA
+CCGATCTTATCTCTGTCGCCGTTGAGCCAACCGATTCTCCAGTTATCGCCCAGGCGCTGGCAGGTGAAGA
+GATTAAACCTGGTCCGCATAAAATTCAGGGTATTGGCGCTGGTTTTATCCCGGCTAACCTTGATCTCAAG
+CTGGTCGACAAAGTCATTGGCATCACCAATGAAGAAGCCATTTCTACCGCACGTCGTCTGATGGAAGAAG
+AAGGTATTCTTGCTGGTATCTCTTCTGGAGCAGCTGTTGCTGCGGCGTTGAAACTACAAGAAGATGAAAG
+CTTTACCAATAAGAATATTGTGGTTATTCTGCCGTCATCGGGTGAGCGTTATTTAAGCACTGCATTGTTT
+GCCGATCTTTTCACTGAGAAAGAACTGCAACAGTAATGCCAGCTTGTAAAAAATGCGTAAAAAAGCACCT
+TTTTAGGTGCTTTTTTGTGGCCTGCTTCAAACTTTCGCCCCTCCTGGCATTGATTCAGCCTGTCGGAACT
+GGTATTTAACCAGACTAATTATTTTGATGCGCGAAATTAATCGTTACAGGAAAAGCCAAAGCTGAATCGA
+TTTTATGATTTGGTTCAATTCTTCCTTTAGCGGCATAATGTTTAATGACGTACGAAACGTCAGCGGTCAA
+CACCCGCCAGCAATGGACTGTATTATGCTCTTCGTGCGTCGCGTCTGTTAAAAACTGGCGCTAACAATAC
+AGGCTAAAGTCGAACCGCCAGGCTAGACTTTAGTTCCACAACACTAAACCTATAAGTTGGGGAAATACAA
+TGTTCCAGCAAGAAGTTACCATTACCGCTCCGAACGGTCTGCACACCCGCCCTGCTGCCCAGTTTGTAAA
+AGAAGCTAAGGGCTTCACTTCTGAAATTACTGTGACTTCCAACGGCAAAAGCGCCAGCGCGAAAAGCTTG
+TTTAAACTGCAGACTCTGGGCCTGACTCAAGGTACCGTTGTGACTATCTCCGCAGAAGGCGAAGACGAGC
+AGAAAGCGGTTGAACATCTGGTTAAACTGATGGCGGAACTCGAGTAATTTCCCGGGTTCTTTTAAAAATC
+AGTCACAAGTAAGGTAGGGTTATGATTTCAGGCATTTTAGCATCCCCGGGTATCGCTTTCGGTAAAGCTC
+TGCTTCTGAAAGAAGACGAAATTGTCATTGACCGGAAAAAAATTTCTGCCGACCAGGTTGATCAGGAAGT
+TGAACGTTTTCTGAGCGGTCGTGCCAAGGCATCAGCCCAGCTGGAAACGATCAAAACGAAAGCTGGTGAA
+ACGTTCGGTGAAGAAAAAGAAGCCATCTTTGAAGGGCATATTATGCTGCTCGAAGATGAGGAGCTGGAGC
+AGGAAATCATAGCCCTGATTAAAGATAAGCACATGACAGCTGACGCAGCTGCTCATGAAGTTATCGAAGG
+TCAGGCTTCTGCCCTGGAAGAGCTGGATGATGAATACCTGAAAGAACGTGCGGCTGACGTACGTGATATC
+GGTAAGCGCCTGCTGCGCAACATCCTGGGCCTGAAGATTATCGACCTGAGCGCCATTCAGGATGAAGTCA
+TTCTGGTTGCCGCTGACCTGACGCCGTCCGAAACCGCACAGCTGAACCTGAAGAAGGTGCTGGGTTTCAT
+CACCGACGCGGGTGGCCGTACTTCCCACACCTCTATCATGGCGCGTTCTCTGGAACTGCCTGCTATCGTG
+GGTACCGGTAGCGTCACCTCTCAGGTGAAAAATGACGACTATCTGATTCTGGATGCCGTAAATAATCAGG
+TTTACGTCAATCCAACCAACGAAGTTATTGATAAAATGCGCGCTGTTCAGGAGCAAGTGGCTTCTGAAAA
+AGCAGAGCTTGCTAAACTGAAGGATCTACCGGCTATTACGCTGGACGGTCACCAGGTAGAAGTGTGCGCT
+AACATTGGTACGGTTCGTGACGTTGAAGGTGCAGAGCGTAACGGCGCTGAAGGCGTTGGTCTGTATCGTA
+CTGAGTTCCTGTTCATGGACCGCGACGCGCTGCCCACTGAAGAAGAACAGTTTGCTGCTTACAAAGCAGT
+GGCTGAAGCGTGTGGCTCTCAGGCGGTTATCGTTCGTACCATGGACATCGGCGGCGACAAAGAGCTGCCA
+TACATGAACTTCCCGAAAGAAGAGAACCCGTTCCTCGGCTGGCGCGCTATCCGTATCGCGATGGATCGTA
+AAGAGATCCTGCGCGATCAGCTCCGCGCTATCCTGCGTGCCTCTGCTTTCGGTAAATTGCGCATCATGTT
+CCCGATGATCATCTCTGTTGAAGAAGTGCGTGCACTGCGCAAAGAGATCGAAATCTACAAACAGGAACTG
+CGCGACGAAGGTAAAGCGTTTGACGAGTCAATTGAAATCGGCGTAATGGTGGAAACACCGGCTGCCGCAA
+CAATTGCACGTCATTTAGCCAAAGAAGTTGATTTCTTTAGTATCGGCACCAATGATTTAACGCAGTACAC
+TCTGGCAGTTGACCGTGGTAATGATATGATTTCACACCTTTACCAGCCAATGTCACCGTCCGTGCTGAAC
+TTGATCAAGCAAGTTATTGATGCTTCTCATGCTGAAGGCAAATGGACTGGCATGTGTGGTGAGCTTGCTG
+GCGATGAACGTGCTACACTTCTGTTGCTGGGGATGGGTCTGGACGAATTCTCTATGAGCGCCATTTCTAT
+CCCGCGCATTAAGAAGATTATCCGTAACACGAACTTCGAAGATGCGAAGGTGTTAGCAGAGCAGGCTCTT
+GCTCAACCGACAACGGACGAGTTAATGACGCTGGTTAACAAGTTCATTGAAGAAAAAACAATCTGCTAAT
+CCACGAGATGCGGCCCAATTTACTGCTTAGGAGAAGATCATGGGTTTGTTCGATAAACTGAAATCTCTGG
+TTTCCGACGACAAGAAGGATACCGGAACTATTGAGATCATTGCTCCGCTCTCTGGCGAGATCGTCAATAT
+CGAAGACGTGCCGGATGTCGTTTTTGCGGAAAAAATCGTTGGTGATGGCATTGCTATCAAACCAACGGGT
+AACAAAATGGTCGCGCCTGTAGACGGCACCATTGGTAAAATCTTTGAAACCAACCACGCGTTCTCTATCG
+AATCTGATAGCGGCGTTGAGCTGTTCGTCCACTTCGGTATCGACACCGTTGACCTGAAAGGCGAAGGCTT
+CAAGCGTATTGCTGAAGAAGGTCAGCGCGTGAAAGTTGGTGATACTGTCATTGAATTTGATCTGCCGCTG
+CTGGAAGAGAAAGCCAAGTCAACCCTGACTCCGGTTGTTATCTCCAACATGGACGAAATCAAAGAACTGA
+TCAAACTGTCCGGTAGCGTAACCGTGGGTGAAACCCCGGTTATCCGCATCAAGAAGTAATTCTTGCCGCA
+GTGAAAAATGGCGCCCATCGGCGCCATTTTTTTATGCTTCAGCCAGAGGCGGCAAAATCAATTCATCGCT
+CTCATGCTGCTGGGTATAGCGCATCACTTCCAGTACGCGCAACCCCGCGCGGTGTACCGCATCGGTTAAC
+GCCTTCCCTTTCAGCAAACCACTGATAAGCTGAGCACAAAACAGGTCGCCAGTCCCTTTCAGGTCAGTTT
+TAACCCGGGAATGGGAAATGACATTCACGCTGTCGGCACTGACCACCACCACCTGCATCTCCTGATTTTC
+TTCATTGCCGGAGGCGCTGGTAATCACCACCCACTTTAATGTGTCTGAAAGCAGACTTTTTGCGGCAGCA
+ATGGCACTGTCGAGATCGCGGCAATCTTTACCGGTCAGGATTTCCAGCTCAAAGATATTGGGGGTAATTC
+CCTGTGCCAGCGGCAGTAAATATTGTCGATACGCCTCGGGAAGGTCAGGTTTGACATAAATTCCGCTATC
+AATATCGCCAATCACCGGATCGACCATGATCAATAGGTCAGGATGGTCTTTGCGTAGCGCAGTCAGCCAC
+TCGGCAAGGATTTTGATTTGCGATGCCGTTCCCATATAGCCCGTGGTTACAGCACGAAGTTGGCGCAGCG
+CATCACGCTCCTGAAGCGCACGCAAATAACCGCTAAACCATTCATCCGGAATCGCACCACCGTAGAAAGT
+GTCATAATGCGGCGTATTGCTCAGCAATACCGTCGGCACGGCAAAGACATTCAGGCCGTTCTGTTTGATA
+GCAGGCACCGCAATGCTGTTGCCTACGCTGCCGTACACTACCTGCGACTGCACGGCAACGATATCCGCCT
+GCAGTGCCCTGCTCTTATCGTTAAACAACAACAAACTACTCATTTAATTTTTTCTCCTTGCCGATGATCC
+TCATCGTATTCCAGCCGAAACTTTACCTGATTCTGGCAGTCAAATCGGCTATTACAAAACAAGGATAAGG
+TAATTCAGTGAAGAAAATCATTTGTCTGGTCGTTACGCTGCTAATGACACTCCCCCGCTTATGCGAAGTT
+AACGGCCCATGAAGAAGCCCGTATCAACGCCATGCTGGAGGGATTAGCACAGAAAAAGGATTTGATATTT
+GTGCGCGACGGTGATGAACATACCTGCGATGAAGCGGTTTCTCATCTGCGCCTGAAGCTGGGCAATACCC
+GTAATCGCATTGATACAGCCGAGCAGTTTATTGACAAGGTGGCCTCGTCGTCATCGATTACCGGGAAGCC
+GTATATCGTGAAGATGCCCGGTAAGAGCGATGAGAACGCACAGCCTTTTTTACATGCGTTAATTGCGCAG
+ACGGATAAAACGGTGCCTGCGCAATAATCTTAAATCCCCGCCCCCTGGCTAAAATGCTCTTCCCCAAACA
+CCCCGGTAGAAAGGTAGCGATCGCCACGATCGCAGATGATCGCCACCACCACCGCGCCAGGGTTAGCTTT
+TGCCACCCGCAGTGCTCCGGCAACCGCGCCGCCGGAGCTTACGCCGCAGAAAATCCCTTCCCGCACTGCC
+AGTTCGCGCATGGTGTTTTCCGCATCGCGCTGATGAATATCCAGCACCTCATCCACCAGAGAAGCATTGA
+AAATCCCCGGCAGATATTCCGCAGGCCAGCGGCGAATGCCGGGAATACTGCTGCCTTCTTCCGGCTGCAG
+GCCAACAATGGTCACCGGTTTGGATTGTTCGCGCATAAAGCGTGACACACCGGTGATAGTGCCGGTTGTT
+CCCATGCTGGAGACAAAATGGGTAATGCGCCCGCCGGTTTGCTGCCAGATTTCCGGCCCGGTGGTCGTAT
+AATGTGCGTAGGGGTTATCGGGATTATTGAACTGATCGAGCAACTTTCCTTCGCCGCGATTCGCCATCTC
+CAGCGCCAGATCGCGTGCGCCTTCCATGCCCTGTTCTTTGGTGACCAGAATCAGTTCTGCACCGTAGGCA
+CGCATCGCCGCACGGCGTTCCTGGCTCATGTTGTCGGGCATCAGCAATTTCATGCGATAGCCTTTAAGCG
+CCGCAATCATTGCCAGCGCAATGCCGGTGTTACCACTGGTGGCTTCGATCAGCACATCACCCGGTTTAAT
+CTCGCCGCGCTTTTCCGCCTCGACAATCATCGAAAGCGCCGCACGGTCTTTTACCGATCCCGCCGGGTTA
+TTGCCTTCCAGTTTTAACCACACTTCACTGCCGTTATCCGGCGCCATTCGCTGCAACTTCACCAGAGGCG
+TATTGCCTATTGTTTGTTCTAATGTATTCACGATCTCTGTCCATACGTGGTGTTGCCTGATGCGACGCTT
+ACGCGTCTTATCAGACCTACAGGTTACAAAACCTTGCCATTAAAAAGCCCGGATCGCGGGAAGCGCCTCC
+GGGCGTTTAACATTCACTCAACCTATCAGGCGCTTTGTGCGAGAGCAAGTTCCTCATCGCGGGTTTCAAT
+ACGCTCATCGCCGTTATACAGCCGCGCATGTTGCAGACCAACGTATAAACGATCGCCACGCTGCGGGGCA
+TCGTCGCCATGCATCACGACCGTCAGCGGTTCGTTGTACCACCCCAGCGGCTGCACCACTAATTGGGTGT
+AGTGACCTTTCGGGCTGGCTTCCAGTACCTGTACGGGTAGCGGCGAATCGAGGCTGGTACGGCGGCTGAT
+ATCCACTTCCCACGGGCGCAGGAAGAGATCCACCGGCCCCTGATACGCGGGGGTGTATCCCAGCGGCCAG
+CGATGTGCGCCAACGTGGAACTGCCCGCCGCGAATGGTTCCCTGCAGGCGGTTTACCTCGCCCATAAACT
+CCAGCACAAAACGAGTCGCCGGTTCACGCCATACCTGATCCGGTGCGTCAGCTTGTTCAATATTGCCCTG
+ACTCATCACCACTACACGATCAGCTACTTCGGTCGCCTCTTCCTGGTCGTGGGTCACGAACACGCTGGTG
+AATTTCAGTTCTTCATGCAGTTGACGCAGCCAGCGACGCAGCTCTTTACGCACCTGCGCATCCAGCGCGC
+CAAACGGTTCATCAAGCAGCAAAATTTGCGGTTCCACAGCCAGCGCGCGTGCAAGCGCCACACGCTGTTT
+CTGGCCGCCGGAAAGCTGCGCCGTATAACGATCCGCCAGATGCGCGAGCTGCACCATCTCCAGCAATTTT
+GTCACTTTCGCTTTGATCGCCGCCGCATTCGGGCGTTCACGCCGTGGCAACACCGTCAGGCCAAAAGCGA
+TATTGTCAAACACCGTCATATGGCGAAACAGCGCGTAATGCTGGAACACGAAACCGACTTTACGGTCCCG
+CGCGTGCAGACGGCTCACGTCGGTACCGTGAAAGCGAATATGCCCACTGGTTTGATGCTCCAGCCCGGCG
+ATAATGCGCAGCAGCGTAGTTTTCCCGGAACCGGACGGCCCAAGCAACGCGACCATCTGACCAGAAGGAA
+TATCCAGTGAGATATCGTTCAGCACCTGGGTGCGACCAAACGACTTCTTAATATTGGCAATCTCAATGCT
+CATGATGTTCCTCCTGCTGCGCGCGTTTTTCCTGGTTCTCCAGGCGCCACTGCAACATACTCTTTAAAAA
+CAGGGTGATAATCGCCATCAGCGTCAACAGCGCCGCGGCGGTAAAGGAGCCGACGGTGTTGTAGTCCTGC
+TCCAGCAATTCAATCTGTAACGGCAGCGAAAGTGTTTCGCCGCGAATCGAGCCAGAAACCACCGACACCG
+CGCCAAACTCGCCAATCGCGCGGGCGTTGGTCAGCACCACGCCGTAAAGCAGCGCCCAGCGGATGTTCGG
+CAGCGTGACGCGACGGAACATCTGCCAGCCGGACGCGCCAAGCAAAATCGCCGCTTCGTCTTCCTGGCTG
+CCCTGACTTAACATTACCGGTACCAGTTCGCGCACCACAAACGGACACGTCACGAAGATGGTGACCAGCA
+CCATACCCGGCCAGGAGAACATAATTTGCAGATTATGTTCATCCAGCCAGCCGCCCAGCGGGCCGTTAGA
+GCCGTAGAACAGCAGATACACCAGACCAGCAACCACCGGCGACACGGCAAACGGAATGTCCAGCAGCGTC
+AGCAATAGCTGGCGTCCGGGGAAGTTAAAGCGCGTCACCAGCCAGGCCAGCAGAATACCGAACACCAGGT
+TTACCGGTACGGCAATCAGCGCGATCATCACCGTCAGCCAGATGGCGTGCAGCATGTCCGGATCGGCCAG
+ATTTTGTAACACCGGCATCAGTCCTTTGCTGAACGCCTGTACGAAGATATAAATCATCGGCACCAGCAGG
+ATGAACGCCGATACCAGCATCCCGATGCCAATCAGAAACCATTTGCCCCAGTTAATCGGGCGCGCGTCAT
+AACGCTTCAATTGTGTCACTTCCGCCATTAATGACCTACCACACGCCGACCAAAGCGACTTTGCAGAGTG
+TTAATTGAGAACAGCAACAGCAGCGATGCCGCGAGGATCACCGAGGCAATCGCGCTCGCCGCCGGGTAAT
+CAAACTCCTGTAAGCGAACAAAGATCATCAGCGACGTCACTTCTGTTTTCCAGGCGATATTCCCGGCGAT
+AAAAATCACCGCGCCAAACTCACCGAGGCTGCGGGTAAACGACAGCGCCACACCCGCCACCAGCGCCGGA
+GATAGTTCCGGCAGCACCACTTTGCGAAAACTCTGCCAGCGTGTTGCGCCGAGCGTTTCTGCCGCCTCTT
+CATATTCCGGGCCTAACTCTTCCAGCACCGGCTGCACGGTGCGCACCACAAACGGAATGCTGGTAAAGGC
+CATCGCCACCGCAATCCCCAGCCAGGTATAGGTGACTTTGATATCAAACTTCGCCAGCCATTCACCGTAA
+AAACCGTTCACGGAAAAGAGCGAGGCCAGCGTTAAACCGGCGACTGCCGTTGGCAGCGCAAAGGGTAAAT
+CCATCAGCGCATCAAGCAGCGTGCGACCCGGAAAGCGATAGCGGGTTAAGATCCACGCCATCAGCAGACC
+GAAAACGCCGTTAAAAATCGATGCCACAAACGCCGACAGCAGCGTCACTTTATAGGCTGCGACCACCTGC
+GGGTTGGTGATCACCTCCCAGTACTGCGCCCAGCTCATCTGGGCCAGTTGCATCACCAGCGCGGAGAGCG
+GCAGCAGCAAAATCAGGCACACAAACAGCAGACTGGTGCCGAGGCTTAAGGTAAAGCCCGGCAGCACGCG
+TCTTGAAGAAACGGCAAACATTACTTACGCCCCGCCGCTAACAGCTTGTCTAACTCGCCGCCGCTGGTGA
+AGTGGGTTTTCATCACTTCCGGCCAGGAGCCAAATTTGTCTTCCACGCGGAACAGCTCGGTCTGCGGGAA
+TTTATCTTTCAGTTTGTCCATGACTTCCGGGTTATTTACGCGGTAGTAATAGTCGGTGATGATGGTTTGC
+GCCTGCGGGCTGTAGAGCCAGTTCAGGTAGGCTTTTGCCGCTTTTTCCGTGCCGTTGGCCTGCACATTTT
+TATCGACCCACGCCACCGGGAATTCCGCCAGAATGTTGGTTTTCGGAATCACCACTTCAAAGCCCTGCGC
+TTCATACTGTTTACGGATGTTGTTCACTTCCGACTCGAAGCTGATCAGCACATCGCCCAGGCCGCGCTCG
+GCAAAAGTGGTGGTCGCGCCACGACCGCCAGTATCGAACACTTCAACGTTTTTCAGGAACTGGGTCATAA
+ACTGTTCGGTTTTGGCTTTATCACCACCGTCGGCTTTGTCCGCTGCGCCCCATGCCGCAAGGTAGGTATA
+ACGCGCGTTACCCGACGTTTTCGGGTTCGGGAAAATCAGCTTCACGTCAGAGCGTACCAGGTCGTTCCAG
+TCGTGGATATTCTTCGGGTTGCCCTTACGCACCAGGAAGCCCATGGTGGAGTAGAACGGCGAGCTATTAT
+TCGGCAGGCGCGACTGCCAGTCCGCTGGGATCAGCTTGCCTTTATCGTGCAGGATTTGTACGTCGGTCAC
+CTGGTTATAAGTGACAACGTCGGCTTTTAAACCCTGCAAAATTGCCAGCGCCTGTTTTGATGATCCGGCA
+TGAGATTGTTTAATCGTCAGTTTGTCGCCACCGTTATCTTTTGCCCATTGTTGCTCAAACGGCGGGTTCA
+GGGCGGCAAACAGCTCGCGGGAGACGTCATAAGAACTGTTCAGCAGTTCCGTTGCCTGTACATGGCCCGC
+CAGTAGCAGAGAAGCAACCAGCACGAGTGAGTTCTTTTTCAGTAAGTTAACGGCCATTGCGCACCCTTAT
+AAATTTAATGACTTTCTAATAGCCATCATATTTATAACGGACGTGAAAGGAGTAACGGTTTTATATACCG
+TTTGGTGATTTGGAAGTTGAAAAGGGAATAAGACGAAATCCTCCCCACAAATGCAGGGAGGAAACAGAGG
+TGAATCAGATGCCGACGCTAACCGTCTCCGGCAGTGTGCTGCCGCCATCAATCACATTCTGTGTACCGGT
+TAAATAGCTGGATTCATCCGATGCGAGGAAGGCCGCCAGTTCGCCGACTTCCAGCGGATCGGCGAGGCGA
+CGCATCGGGATTGCTTTCGCCATTTCAGTCAGCACCGATTCTGGATCTTCCGGGTTCGACTGGCGGGCAA
+TGCTTTCCGCCATTGGCGTGCGAACGTATCCAGGGCAGATGGCGTTAACGCGAATACCAGACTGCGCGTA
+CTCCACCGCCAGCGATTTAGTCAGGCCAACAATCGCCGCTTTCGTTAAGGCGTACGCCGTTTCGCCCGGG
+TCTGCCACCATATCGCCAGTGACTGAAGACATCATCACAATCCGGCCATCTTTGCGGGCAATCATCTCCG
+GCAGCACCGCCTTCGTGACGTTCCATACGCCTTTTATATTGATATCAATATGGAAATCGCGATCTTCATC
+GCTCATATCAAGGAAACTGCCCAGACGACAAACGCCTGCGTTATTCACCAGAATATCAATGCGCCCTTCT
+TTTTCCTTAGCGCGCTTAATAGCTGCGGCTACCGACGCCGGGTCACGCACATCGGCGACAACCGCCGTAC
+AGCGATGACCACGGCCACACAGTTCGTCCGCCAGCTTTTCGATCTCAGGGGAGATATCCAGCAAGATTAG
+GTTTGCGCCATGACGCGCAAAAGTTCTGGCAATTCCTTCGCCAATTCCCTGCAATGCGCCCGTAATCAGT
+GCTGTCTTGCCCGTGAGTTTACCCATTTTAATGCTCTCCTTGTTAATACAGAGCGTTACACTCCATTCCC
+TCTGAAAATACAGGATAAACAAAATATTGCTGCGGATCAGCTCACTAATTCAGGAAAATCTCAATTTAGT
+CGCTGCTTTATGCAGCACCTCAAGCGTTACGTCAGCGCGCAATCATTTTCAGTGACATCACATGAGTAAT
+ATTCGGACTTAATGATTCCTTTGTGTCTATCAAATCGGGATATATGATCCCATTTATCTGCAATTATTTG
+ATCGCAAATATTAAGGTCACCACCGATGCAACTTGAAAAGATGATTACCGAAGGCTCGAACGCCGCCTCG
+GCTGAAATTGACCGCGTATCAACGCTGGAAATGTGCCGGATTATCAACGATGAAGATAAAACCGTACCAC
+TCGCCGTTGAGCGCGTACTGCCGGATATCGCCGCGGCGATCGATGTTATCCACACCCAGGTAAGCGGCGG
+CGGCCGTCTGATTTATCTCGGTGCGGGAACATCCGGTCGTCTGGGGATTCTGGATGCCAGCGAATGTCCG
+CCGACCTACGGCGTGAAACCGGGCCTGGTGGTTGGTTTGATTGCTGGCGGCGAATATGCCATTCAGCACG
+CGGTGGAAGGCGCAGAAGATAGCCGGGAAGGTGGTGTTAATGATCTGAAAAATATCGGCTTAACCGCGCA
+GGATGTGGTGGTTGGTATTGCGGCCAGCGGACGCACGCCTTATGTGATTGCCGGGCTGGAATACGCGCGC
+CAACTCGGCTGCCGTACAGTGGGCATTTCCTGTAATCCGGGGAGTGCCGTTTCATCCACCGCAGAGTTTG
+CTATTACGCCGGTAGTTGGTGCCGAAGTTGTTACCGGTTCTTCGCGAATGAAAGCAGGCACGGCGCAGAA
+ACTGGTGCTCAACATGCTCTCCACCGGGCTGATGATTAAATCCGGCAAAGTGTTCGGCAACCTGATGGTC
+GATGTGGTCGCCACCAACGAAAAACTGCATGTGCGCCAGGTCAATATCGTCAAAAACGCTACCGGATGTA
+ATGCCGAACAAGCGGAAGCGGCGTTAATTGCTTGCGAGCGCAACTGTAAAACGGCCATTGTGATGGTACT
+GAAAAATCTCGATGCCGATGAAGCTAAAAAATGCCTGGATCAACACGGCGGTTTTATTCGCAAGGCTCTG
+GAAAAGGAATAACCCATGGCTAAAGAGATCAGCAGTGAACTTCTGAACACCATTCTTACCCGGGTCGGCG
+GACCGGGAAATATCGCCAGTTGTGGTAACTGTATGACGCGCCTGCGTCTGGGTGTACATGACAGTTCATT
+GGTTGATCCCGATATCAAAACGCTGGAAGGCGTGAAGGGCGTCATTTTGACCAGCGATCAGGTGCAGGTG
+GTTTTTGGGCCAGGCAAAGCGCATCGTGCCGCAAAAGCCATGAGCGAGCTGCTGGGCGAGGCACCGGTAC
+AGGATGCCGCAGAAATCGCCGCCCAGAATAAACGCCAGTTAAAAGCCAGACAAACTTCCGGCGTGCAACA
+ATTTCTCGCCAAATTCGCCACCATCTTCACGCCGCTGATCCCCGGTTTTATTGCCGCCGGTCTGCTGCTG
+GGGATAGCGACGTTAATTGCCACGGTGATGCACGTTCCGGCAGATGCTCAAGGCACGCTACCCGATGCGC
+TGAATTTTATGAAGGTGTTCAGCAAAGGCCTGTTCACCTTCCTGGTAATTCTGGTGGGCTATAACGCGGC
+CCAGGCATTTGGTGGCACGGGCGTAAATGGCGCAATTATCGCTGCGCTCTTTTTGCTCGGTTATAACCCC
+GCAGCAACCACGGGTTACTACGCCGGATTTCACGATTTCTTTGGTCTGCCCATCGATCCGCGCGGCAATA
+TTATCGGCGTGTTGATTGCCGCATGGGCCTGCGCCCGCATCGAATGCATGGTGCGCCGCTTTATGCCGGA
+CGACCTCGACATGCTGTTGACCTCATTAATCACCCTGCTGATCACCGCTACGCTTGCGTACCTGATCATT
+ATGCCGCTGGGCGGCTGGCTGTTTGAAGGTATGTCATGGCTGTTTATGCACCTGAACAGTAATCCGCTCG
+GTTGTGCGGTTTTAGCCGGGCTGTTCCTGATCGCCGTGGTATTTGGCGTGCATCAGGGCTTTATTCCTGT
+TTATCTGGCGTTAATGGACAGCCAGGGATTCAACAGCTTATTTCCCATCCTTTCAATGGCAGGCGCAGGC
+CAGGTGGGCGCGGCGCTGGCGCTCTACTGGCGGGCGCAACCGCACAGTGCATTACGCAGTCAGGTCCGCG
+GGGCGATTATTCCCGGTCTGCTTGGCGTTGGCGAACCGCTGATTTACGGTGTCACCCTGCCCCGCATGAA
+ACCGTTTGTTACCGCCTGTTTAGGCGGCGCGGCGGGCGGTTTGTTTATCGGGCTGATAGCCTGGTGGGGT
+CTGCCGATGGGCTTAAATAGCGCCTTCGGGCCGTCTGGTCTGGTGGCGCTGCCGCTGATGACTTCCGCGC
+AAGGCATCCTTCCGGCAATGGCGGTTTACGCTGGCGGTATTCTGGTGGCATGGGTTAGTGGGTTTATTTT
+CACCACACTCTTTGGCTGCCGTAACGTCAATCTGGACTGATTATGAAACGGACAATGCTCTATCTTTCTC
+TGCTGGCTATTAGCTGTAGCGTCAGCGCCGCAAAATACCCTGTTCAGGCAGAAAGTAGTTGATCAAGTGT
+ATGCGGCGTTAAAGCAGTAATAAAAAGGCCAGTCAGTTGTGTTACTGCCTGGCCTTTAATCAATGAATCA
+GAAACGCTTACAGCGCCATCAGCTTGTCCAGCGACGGTGCGAAGTAATAGCCGCCGGTTACCGGTTTGGT
+AAAACGCAACATCGCATCACGCTTACCATCTGTATCGCCAAACATGCTCAGCAGTTGCTGCTCAATGTTA
+TGCAGACGCGCGCAGTAGGCGCAGAAGTACAGACCGTGAGTGCCACTGGCGGTGCCGTACGGCAGGCTCT
+GACGAACAATCTTCAGCCCTTTGCCATCTTCTTTCAGATCAACGCGGGTCAGGTGAGAGGTTTCCGGACG
+TTCGTCGCCGTCAATCTCTTCGTTGGCCTCTTTGGTGCGCCCGATCATCATCTCTTGATCGTGAACGCTC
+ATCCGATTGAGCTGCTTCAGGTTGTGCTCCCAACGCTGCACAAACACATAGCTGCCGCCCGCATCCACGC
+CGTCTTTGATAACAGCCACTTCGCGGCGCGTCTCTTCACCCGCCGGGTTTTCTGTACCGTCAACAAAGCC
+GCTCAGGTCACGCTCTTCAACCCAACGGAAGCCGTGGATCTCTTCTTTCACTTCAATGCAGTCACCAAAG
+GCTTCCATCGCCGCCTGAGCGACAGAGAAGTTCACGTCGTGACGCAGAGAAAGAATGTGGATCAACACAT
+CGAACTGGGTCGTCGGTGCAAGACCTTTACCGTAGCCCGGAAAATCTTTCAGCTCTTCGGCCCCAACGCC
+GCCGCTCAGAGCGCGCCAGGTATTGTTACCAAAGGCAACCACCGCACCAAGATGCGCGTCCGGGAATTTC
+GCTTCAAAAGTTGCCAGTTTGTCGGCAAATGTTTTACTGGCCGCACGCAGGGCGTCAACTTCCCCTTTCA
+CGTTGGCTTCGATCCAAATCGCCGCGCGGCAATGTTCTGGCAAAATGCCACTCTGAACCTGAGACATTGT
+TCCTCCTGAAAATAATAATGCCACGCAATCCGTGGCATTGTTGGGCGCTATTTTACGTGTTTTTTCGCGG
+CGGCGGTTTGTTCAGACGCAAATTAACGCCGCCAGATAATTTTACTGACTTTCCAGTTTTTCAGGGTATC
+GTCCGAAGGCATTAACCCTTCAGGGCCACTCCATTCCCCGCTGAACTGGTAGCTAATATGTTGACTGCCT
+TCGGCTTTACATTCGACGGCACGATTATCATCACTGTCGGCCTTTTGGCAATTGCCAAATGCTTTGCTGT
+AAAGGTCACTAAACGGTGTACCGATTTTAACACCGGTGTCAGCAGGAATATCGCTATCCAGCACATCAAT
+ACGGCTGATCGTGCCTTGATCGCCGTTAATCACCATCGCCACGTTGTCGCCTTTCATCACTTCAAAAAAG
+CGCACCACGTTGCCGTTCGCGGTTTTCATTCCGCTGCGCAGGCGATAATCGCCATCAAGCGCATCAGCAA
+TAGCTTGTTCTTGCAGTGGTGTGGACGCCGTTAATTCACCCACGCCCTGCTCGCTCACTTTGGTGGATGA
+TCCAAACCAGTTCCACGGGTTAGCGGCCGACCAGTTAACTGACGACATCGTGGAACAGCCGGTCAGCATC
+AACGGCATAGCGCATAACATTAAACGCAGCGATTTCATGTCACTTCCTTTGGTTATTCAATAACGTTGCT
+TGGAGTGCAAATTCACCAAAAAGTGCCGTTATTCTTTTTCTTCATTAAAACAAGCGCGTAAACGTCGATT
+GGTCAGCAGCCAGATTAACGCCACGATATCCGCCACTACCAGCGCCAGACCGATACCGCTAACGGATTCA
+CCGTTCAGCCACAGCCACGGTTGCCAACAAAGTAAAACCACTTGCGCCAACAGCAACAGAAAATAGAGCA
+CATGCCAGATACGGGGAAATGAAGCCCGCCGACCACTCAGCAAAAATGCCAGCACCGCCGGAATACCGGG
+AATCAACCCCAGCCAGAAATTATCGTGATCGGGATAAAACAGATTTAGCAGCGCAGTACCCTGCTCGCGC
+GACGCTCCGGCAATGACAAACAGCACCCAGGTTCGCGCCTGAAGCAATAGCACAAGCCAGAAGAGCAAGG
+GTAAACGCAGGCGACCGTGCGCATCATAATGGACAGGATGAAACTCAGTACTCTTCATCTTCAATCAAAC
+GCTTACCCAGACTCAACACGTCGGCGTGTTCATATCCCAGGCGTTCATACATTCCGAGCACCATGTCGTT
+ATCTTCCGGCACGTTGATCTGAATTTTCGGACAGCCGCGAGCAATCAGCTTTTTCTCCAGCCGATTAAGC
+AACGCATTAGCAATCCCACGCCCACGAAACTCGGGATGCACGCCAAGATAATAAGCAGACCCGCGATGCC
+CGTCATAACCGCCCATCACCGTTCCGACCACTTCACCGTTCACCTCAGCGACCAGAAACAAACTGACGTC
+ATGGTTCATCTTACGCTCAATGTCCATTTCCGGATCGTTCCACGGACGCAGCAAGTCGCAACGCTCCCAA
+AGGGTGATGACCTCTTCGAAATCTTCCTGGTGAAATACGCGTATCTCCATGGTATTCGTTACCTTTTTGC
+GGGTTAAAAGGCTGATTATGGCGTGAACGGTCGAATTAGCCAATATCTGACGAAAATCGGTTGAAAAAGT
+GGCATAATGGGGAGTTGTCAACTATTGAAATGAAAAGTAAAACAATTCTCAACAGCAAACCGTCGTAACG
+GATTACGCGATACGATATAACATCTGGAACTTTATTATTACAACTCAGGCCGTATGAGCACTTTTAAACC
+ACTAAAAACACTCACTTCGCGCCGCCAGGTGCTGAAAGCCGGTTTGGCTGCCCTGACGTTATCAGGAATG
+TCGCAAGCCATCGCCAAAGAAGAACCGTTAAAAACCAGTAACGGACACAGCAAGCCGAAAGCAAAAAAAT
+CTGGTGGCAAACGTGTCGTTGTTCTCGATCCAGGCCACGGCGGGATTGATACCGGAGCGATCGGACGCAA
+CGGTTCGAAAGAAAAACATGTGGTGCTGGCAATTGCCAAGAATGTCCGTTCCATATTGCGTAATCATGGC
+ATTGATGCGCGTTTAACGCGTTCTGGCGATACGTTTATCCCACTGTACGATCGCGTGGAAATCGCCCATA
+AACACGGCGCAGACCTGTTTATGTCAATTCACGCCGACGGTTTTACCAACCCGAAAGCTGCCGGTGCTTC
+GGTATTTGCCCTCTCTAACCGTGGGGCAAGTAGCGCAATGGCGAAATACCTGTCTGAACGCGAAAACCGC
+GCCGATGAAGTTGCCGGTAAAAAAGCGACTGACAAGGATCACCTATTGCAGCAAGTGCTGTTTGATCTGG
+TGCAAACCGATACTATTAAAAACAGCCTGACGCTCGGCTCGCATATTCTGAAAAAGATTAAGCCGGTGCA
+TAAACTGCACAGCCGCAATACCGAACAAGCCGCGTTTGTGGTGTTGAAATCGCCGTCGGTTCCGTCGGTG
+CTGGTGGAAACCTCGTTTATCACCAACCCGGAAGAAGAGCGGCTGTTAGGCACTGCAGCGTTTCGCCAGA
+AAATCGCCACAGCGATTGCCGAAGGCGTGATCAGTTATTTCCACTGGTTTGACAACCAGAAAGCACACTC
+GAGAAAGCGGTAAGTGATGAAACCCGACGCACACCAGGTTAAACAGTTTCTGCTCAACCTTCAGGATACG
+ATTTGTCAGCAGTTGAGCGCCGTCGATGGCGCAGAATTTGTCGAAGATAGCTGGCAGCGCGAAGCTGGCG
+GCGGCGGGCGTAGTCGGGTTTTGCGTAATGGTGGTGTTTTCGAACAGGCAGGCGTCAACTTTTCACATGT
+CCACGGTGAGGCGATGCCTGCTTCCGCCACCGCTCATCGTCCGGAACTTGCCGGGCGCAGTTTCGAGGCG
+ATGGGCGTTTCACTGGTAGTGCATCCGCATAATCCGTATGTCCCCACCAGCCACGCGAATGTGCGCTTTT
+TTATTGCCGAAAAGCCGGGTGCAGAGCCCGTCTGGTGGTTTGGCGGCGGCTTCGATTTAACCCCTTTCTA
+TGGTTTTGAAGAAGACGCCATTCACTGGCACCGCACCGCCCGTGACCTGTGCCTGCCATTTGGCGAAGAC
+GTTTATCCGCGTTACAAAAAGTGGTGCGACGAATACTTCTACCTCAAACATCGTAACGAACAGCGCGGCA
+TTGGCGGGCTGTTCTTTGATGATCTGAACACGCCAGATTTCGACCACTGTTTTGCCTTTATGCAGGCGGT
+AGGCAAAGGCTACACCGACGCTTATTTACCAATTGTAGAGCGACGAAAAGCGATGGCCTACGGCGAGCGC
+GAGCGCAATTTTCAGCTCTACCGTCGCGGTCGTTATGTCGAGTTCAATCTGGTCTGGGATCGCGGCACGC
+TGTTTGGCCTGCAAACTGGCGGGCGCACCGAGTCGATCCTGATGTCAATGCCGCCACTGGTACGCTGGGA
+GTATGATTATCAGCCAAAAGATGGCAGCCCGGAAGCGGCTTTAAGTGAGTTTATTAAGGTCAGGGATTGG
+GTGTAACTCCCTCACCCCCACTCCCGCATCCGCTGATGCAGCGTCAGTGACGGCTTCTCGGCAAACAGTT
+GCTGATAATCCGTGGCAAATTGCCCAAGATGCCAGAATCCCCACTGCATGGCGGCGTCTTTTACCGTTGT
+GCTTTGTGACCACGGACTTATGAGTTCGCGGCGCACGGCGTTCAGGCGAATACGTTTCAGCCACGCGTTC
+GGACCAATGCCCAAAATGGCGTGAAACGCGTTTTGTAGCGTGCGGCGGCTGACATGCAGTTGATTACACA
+AGTCCAGCACCGTCACCGGTTCGGACATATTTTCCAGCACATATTCACGGGCGCGGGAAAGCAATCGACG
+GTAACTCTGATGACTGATGCTTTCCGCCGTCACCATTGGCTGCGCTTCTTCCAGCATCGCCCCCATCGCC
+ATTAGCAAATTATCCCCCAGCACTTTTCGCACTGCAGGCTGATGGAGATTTTCCGGGTTTTCGCAAAACG
+TCGCCAGCGCCTGTTGGACAAAGCCCCACAGAGCGGCTTTATGCTGCTCTTTCACTTCCAGCGCCGACTG
+GCTACGCAGCATATGTAATACCCGATCCGGATTATGCAAAAAGTTAGCCTGACGAGTGATGACATCTTCA
+GAAAGCACTACGCCAAGGATCGTGTAATCGTCCGGCGTACTTAATTCAAACTCGGTTCCACCAGGGCGCG
+TCGCAATTTCTGCGCTTCCCAGACATTGCGAACCGATAAATCCCTGCTCACCGCGCGTCGCCGGAATGCC
+AAACCAGAACGAGTTCGGCCAGACCAGGCACGACTGACGCAGCGCCAGACCAGTGTATTCACGAAAAACC
+TGAATATCATCGAGTAGAATTTCCGTAAATTCACCATGAAACTTGCCCGGATGCAGTTGATCGTAAATCT
+GCTGCCAGGCGGTAATTGTCAAAGCATGTTCATAGACGTCCGTTGTCTGTCGTTGATGAACATTATCCAC
+TTCGACCTTCGGCGTGAGCTTCAGGTTTTCGGGTAAGGGTTCATGATAAAGATGGTGCAAATTGGCTGTA
+CGGGTCTTTTTCATGATGTTAATGCCGGGTGTTGTAGGACACCCGGCACCTCCGACAGGTTAATGGGGCT
+TGAGACGGTAACGACTACTGCGTTTACGTAACGTCCCGGCAGAAAAGAGCTGTTCGAGCGCATTTCTGGC
+TTTTTCCAGCGGCCAGCCAAAGTGGGCAGCCACTTCTCCTGCCGTCATTCCCTGACGTACTGATGTTAAC
+AGCGCCAACAACTCGTCAGCAGATTCCGCGACGATAACTGGCGCGTCGGGTTCCTTTACGGGTTGCTTCG
+GCTGGCGGTTAAAGCCAGTAACCAGCCACTGGGTGTCATCGTCTGGCCGACCGATCTCCTTACGGCTGAT
+GACACGCCCGGTACGCATCGCGGCAGCACAACCTGCGTCCAGCGCCGCACGACACGCCGCCAGATCGCCT
+TCCACCACCAGCGTTAGGCGACCAGGGTCAAGCACTTCGTGACTGAGCAGACGAACGTTAGCTGCTTTGA
+GCATGGCATCAGCTGCATCTATCGCGGCGACCATGCCGTCCACTTCCAGCAATCCCAGTGCATTGATCAT
+CGGCAACCTCCGTTACGCACGCTGGATTGGATTACGCGCGATTTCCAGCACTGCATCGGTAAAGGCGTTA
+CAGGCTGCTTTACACGCGGCCTGGCTACCGGTTAAAAATGCTGCCGAGTAGTTGGTTTCAGACGGTGGCG
+GGACATAGGTCACCAACTGCACGTCGGCAGATTTCAACGCTGCATCAATGCCGTAGGTCGCTTCCAGCGG
+CGGTGCCACCAGATACGCCATCGGATCGCCAAGCGTGATCCCGGCGGTTGATGAGAGATAAGAACCGGTA
+CGCGAAACTACATGTGCCAGGAAGGCTGTGTTTTCTGCGTCATTTGCCCACTGGAAAGCAGCGCCATTTT
+CAATATTCGCAACCATCGCATCCAGACCAGCACGCACTTCCGCCGGGTTTGGTCCACCAAGCATAATCAG
+CACCTCACCGGCAGTCGGTGACGGGCCGTGTGCAGCGCCCGCATACAGCGAGCGACCATATACCACTTCG
+ACCATCGCCTGCTTGGTCGCTTCGTCAGCCGCAATGTAGGTGACGTCATCTGAATCAGCAGAAATCAGCC
+CGAGGCTACGAATATGCGGCGGCAATTTCAGTTCACGTGCAAATTCGGCGTTAACGGAGGCAATCACCCG
+CATGGCGGTTACCGACGGTCGAATCAAATCTAAAGCTGGCATGATGCCTCCTTATCGGGTCATGTTGATG
+CCGGATGCTTTCTGCTCCAGCATACGTTTCGCCAAATCCACAATGACGGCTGCGGCTTCAACCGGCGGCG
+TGCCGCCCTGGTGAATGTTAGAGATACAGGTGCGATCGGCCTCAACGGTGGTCGCCATACGCGGCGAATA
+AACGGCGTAGCAGGAGAGGCTTTCTGACTGCCCCAACCCCGGACGTTCGCCAACCAGCAGGATCACTACT
+TTCGCACCGAGGATCTCACCGATCTGATCTTCAATCTTCACGCGACCATAACGTACAAAGAATGGCGTAC
+CGACTTTCAGCCCGGCTTGTTTCAGGCCCGCCATCAGCGGCGGCAGGATCTCTTCGTAGTTCACGGTGAT
+CGCATCAGTTGACAGGCCATCAGAAATAACGACCTGCACGTCCGGATTAGCAACACACTGTGCTTTCAGC
+GCTTCAACAGCTTCTGCACACAGGCGGCGGCCCATATCCGGGCGAGTCAGATAGAGATTTTTGTCGCTGA
+TTTCGGAGCGGACTTCCAGCAAGCCCTGCGCTTTCACCCACTCTTCCGGTACTTCTTTCAGTACGGTATC
+TTTCGAACGAGAGTGATCGGCCAGGAAACGCAGCAACGCCTGGGTACGCGGACGCGGACCGGCACGACCG
+GTACAAACGCGGGCCACGGTGCTGCGACGCAGTTCTGTTAATACGTCCGCGCGATGTGGGTTTTCCACAC
+CAATCCACGCTTTTGCTTCCGCAGAACCTAAATCCAGCGCGCAGCTTTCCGAGGTCACCGGTGCCGCACA
+GTTGGTGGTGGCGCACTTTGCTTCTGACGGCGCGGGGGCCGCTTGTCCCATTGACGCCATCACGCTGCGT
+ACAATTTCTTCAATCTGTTTTTGATCCATGATGTGTTATCTCCGCGTCATCAGAAGAACAGTGACGGATC
+GCCCGCCCGTTTGGTCAGGCGACCGTTTGCCATAATGCCCATGCTTTCCAGCCAGCGTTCAAACTCCGGT
+GACGGACGCAGATTCAGTAACTGACGCACAGTGGCAGTGTCGTGGAATGCGGTGGTCTGATAGTTGAGCA
+TGATGTCATCGCCCAGCGGCATCCCCATGATGTAGTTACAGCCTGCGGTGGCGAGCAGGATCATCAGGTT
+TTCGTTGAGGTTCTGGTCAGCGTCAGCGTGGTTGGTGTAGCAGCAGTCACAGCCCATAGAGATGCCGCTC
+AGCTTGCCCATAAAGTGATCTTCTAAGCCTGCGCGGATAATCTGGCGGTCGTTGTAGAGATACTCCGGCC
+CAATAAAACCGACCACGGTGTTGACGATAAACGGATCGTAATGACGCGCCAGCCCATAGTTACGCGCTTC
+CATCGTCACCTGGTCTGCGCCGAAGTTAGCGCCAGCGGATAGCGCCGAGCCTTGTCCGGTTTCGAAGTAG
+AGACAGTTTTCCCCGGCGATACGGTTGAACTCCGCGCCCACTGCGCGTGCTTCATCGAGCATCGCCAGCT
+CTACACCAAACTCTTTCAGCCCTTTTTCGCTGCCGCAGATACTCTGGAAAATCAGCCCGCCTGGTGCGCC
+ACGACGGATCGCTTCGATCTGGGTGGTGACGTGCGCCAGTACGCAGCCCTGAGTTGGGATGTTGAATTTG
+TCGATCACGCCATAAATGGTATCCAACACGCGGCTTAAGTTTTCCACGTCGTCAGTCACCGGGTTAACGC
+CAATCACCGCATCGCCCACCCCAAAGGAAAGCCCTTCGTAGATTTGCGCGGCGATACTTTGCACGTCGTC
+ACGGGTATCGTTCGGCTGCAAACGGGCGCTAAAGGTGCCCGGAATACCGATGGTGGTATTGGCCTTTTTG
+ATCACCGGCATTTTCTTCGCGCCGTAGATCAGGTCCGCGTTGGAGCAAATCTTCGCTACCGCCGCCACCA
+CTTCCGAGGTCAACCCTTTGCGAGTAAAGGCAATGTCGTCAACGCTGGTTTCGTCGCTCAGGACGTATTC
+ACGCAGTTCGCTGATGCTCCAGTTTTTAATCTGGTTGTAGGCCGTTTCGTTAACGTCGTCCTGAATCAGC
+CGCGTCACGCAGTCATCTTCATAGGCAATCACCGGATTATTGCGGATGTCTGCTACGGTCATTTCCGACA
+ACACCTGCTTTGCCGCCACGCGCTCCTGTGAGCTTGCCGCAGCAACGCCCGCCAGCACATCCCCCGAACG
+CAGTTCGTTGGCTTTAGCCAGCACCTCTTTTACATCCTTAAACTGATATACATTGCCGAACAATGTGGTC
+TTTAGTTTCATAAGTCGTTCCCTCAGGAAGGAAATGCGAGTGATTTCACCGTCACCGGCACAACCGATCC
+GCCAAAAAGAGGCGTACCAATGTCGATATAGTCCCCCGCGCGGACAATCACTTCGTCAATGACTGCCAAC
+GGGAGTTGTTGTAGCTGTGGGCGCAACAACATGCCCAGAGCTTTACCAAAGTCCTGCCCGGCCACCACCA
+GCAGGGGATGCGGATTCGGAAAACGCGCGACGAAATCGACCAGCGCGTTGATGACCGTCAGTACCGCGGC
+GTAACGCACAGGCAGCGAGGCGGGAAGCGCCAGCACGTACGCGTCAGTTTTGGGGCAAAGATCCAGTTGA
+ATCAGCGCCTGTTGCCAGGCACTGACCAGATCCGTTTCATCAATCGGGATCGCCACCGGCAAATTGCGCA
+GCGGCAGTTGTACGCCCTCCAGCCAGATTGTGCTGCCAGAGAGCGAAAGGGTATGTGCACCCGCGCCAAT
+CACCGTGGCGCGCACGGTTTGCGCCGGAAACTGCACGTTCATCTCACGCAGACGCGGATGGTCATGCAGC
+GCCGTTGCCAGAAGCGGGCCGATATCGGCAAAACAGAACGGGTCGGCGGGCTGGTGGCGATAACATTCGC
+CCACGCCGCCAGAAAGCGTAATGATTTCGGGCGTAACACCTGCGGGCAGCAAACCGGTTTGCATCAATGC
+CTGCGCGAGCGGCGAGAGCGTTCCGTCAATCACTTCGACAATCAGCTCTGCCATCCGGCGGGTAACCTGC
+ACCAGCTGCCCGCCGGTCAGCGAACGGGCGTCAGTACCGGCACCGAAGCACTCATCCACAATCATCTGCC
+CCGGTTTATGAGCGTAAACCACGCGCCCCTGGCTGTCGGTTTCCAGCAGGCGACCGCCGACGTTGAGGCA
+GGCAGTGCCGCTGATTTTTCCGGCATCGAACAGGGCGTAGTTCGCGGTGCCACCGCCGATATCAATATTC
+AGGACCCGACACAGCCGTTGTTCAGAAAGGGTTTGCGCCCCGGCACCGTGTCCGGCGATCACGGATTCAA
+GATGCGGCCCGGCGCTGGCGACGACAAAATCGCCCAGCGACCGGGAGAGCGCCATCACCGCCGGGCGAGC
+GTTGCGGGTTTTTGCGCTTTCACCGGTGATAATGATGGCACCAGAATCAACGCTTTCCGGCGCAATGCCC
+GCAGCCTGATATTGCTTGAGGATTAAGGTTTTCAGTTCCGCTTCTTTTAAACCACCCTGTTTATCGACAG
+GGGTAAAGAACACCGGGCTTTGCCAGCTAATTTCGCGTTTGATGAATTCGTAGCGCGGCACCTGCGACAC
+CGCCGCACGGTTAACCAGCTCCAGGTGGGAGAAAATTACCTGGGTGGTGGTGGTGCCGATATCGATACCG
+ACGCTCAGTAGCTGGCGAGTGTTCACGATTGCGCCTCCGCTTCGGTTTTAGCCGCGCTCGCGTCTTCTTT
+AGGTACCAGCATCATCGCCACGCCAATCGCCGTGACGCCGCCGATCAATTTGCCGACAATCATCGGGAAG
+ATCATGGCGTTCATGTTGGCAGCCGCGAAGCCTAAATGGTCGCCCAGCGCGAAAGCAGCGGAAACGGCGA
+AGGCACAGTTGATGACTTTGCCGCGGGTATCCATCTGCTTCATCATGCCAAACATCGGGATGTTGTTGGC
+AAGCGTTGCCACCATGCCGGCTGCCGCGATGTTGTTCATATTCAGCACCTTACCGACGCTCATCAGCGGT
+TTTTCAAACCAGCGAGTCAGCAGCAGCACCATCGGATACGCCCCTAACAGAACGCAGGAGATCGAGCCGA
+TAACTTCAATGGCGCGCATCACTTCACCGGGTTTATCGCCAGGGGCCATAAAGATAGGATCAAGGCCCGG
+GATCAGTTCCCAGCCAAGGAGGAATTTCACTACCGCAGCGGCAAGACCGAGGGTGATCAATGCAACGAGG
+AATTTGGCGAAGATCTGGAAGCCGTTGATCATTTTTTCCGGGATGAATTTCAGCCCCAGCGCCACCAGCA
+CCGCAACGATAAGTACCGGGATCATGTTCATCAGGATCAGCGCAAAGGTGAATTCCACTGGCTGACCGTT
+GATCTGCACACCGGAGTACATAGCCACCAGACCACCGGCAATACAGCCAATCGGAATGGTCACAATGCCC
+GCCAGCACGCCGAGCGCCAGATAACGACGGTCAGAAGGTTCGATAATGCCGAGCGCCACCGGAATGGAAA
+ACACAATCGTTGGCCCCATCATCGACCCGAGAATTAACCCAGAGTATAGCCACGCTGCTACGTCACCGCC
+CGCCAGCTCTTTGGCGAGGAAGAAGCCGCCCATATCGCACGCCAGCAGTGTTCCGGCGAACATTGATGGG
+TTTGCGCCGAGCATTTCGTAAACCGGGATAATCACCGGCCCGAGTACGTGGGCCAGTACCGGTGCCAGCG
+CGGTCATACCAACCATCGCCAGGCCCAGTGCGCCCATCGCCATAAAGCCTTCTTCGAACTGACCGCCGGA
+TCCTTCGATACTTTTACCGAACTTACCGAGGAAACGAGCAGAACCGCCGAACTGCGACAGGATCCTGTCT
+ACGGCAGCTATCAGCATAAAGAACATCATGATGTACATGATGATTTCGTTAATTCCCATCGCCTTTACTC
+CCTGTTAGTTGTTATTTATTGGCGGATGCGGCGTGAACGCCTTATCCGCCCTACATGTGCAATCCCGAAG
+GCCAGATAAGACGCGGCAAGCGTCGCATCCGGCAATTGCACCGCGCCACTGGCGGATGCGGCGTGAACGC
+CTTATCCGCCCTACATGTGCAATCCCGTCGGCCGGATAAGACGCGGCAAGCATCGCATCCGGCAATTGCA
+CCGCGCCACTGGCGGATGCGGCGTGAACGCCTTATCCGCCCTACATGTGCAATCCCGTAGGCCGGATAAG
+ACGCGGCAAGCGTCGCATCCGGCATTTATTGCGCCGCTGCGTACAGGCCGACAATCTGCTCGAGGCTGGC
+GGTACGCGGGTTACTGCGCAGACAAATATCTTCCAGCGCGGCCTGTGCCCATGCGCCGTAATGCGCAGAT
+GTCGCACCAACATCGCCCATTCGTTTACCAATCCCAACTTCCGCTATCAGCTCACTTACCGCATTAATAG
+CGTCACGATCGTCGGATTTTTTAGTTCGCAGCGCCCGACCAACCTGACTAAAGCGTTCACGACAGACCAT
+CCGGTTGAACTCCATCACCGTTGGCAGCAACATGGCGTTCGCCAGACCGTGCGGAATATGCAGCGCCGCC
+CCTGGCTGATGCGCCATCGCGTGGCATAACCCAAGCCCGGCGCTGGAAAACGCCATTCCCGCCATACATG
+AAGCCAGCAACATGCTCTCGCGGGCGACAAGGTCGTGACCGTAGCCCACCGCTTTCGGCAGCGATTTGCC
+AATCATCGCAATGGCACCAATCGCCAGGCTGTCGGTAAACGGTGTAGCGTTCAGCGCGCTGTACGCTTCA
+ATGGCATGGGTTAACGCATCAATGCCAGTCATCGCCGTGACATGCGACGGCACGCCTTCGGTCAACGCGG
+CGTCGAGAATCGCCACATCCGGCATCAGCGAGGCATGGGCTAACACCTGTTTGCGCCCGCTTACCGCATC
+GATAATCACCGTCACGTTAGTCGTTTCAGAGCCGGTTCCGGCGGTCGTTGGAATGGCAATCAACGGCAGG
+CGCGGTTGCAGAACGCTGGTTTCTGACATTTCTGCCAGCGTGCTATCCGGGTTCGTCACCAGCAACGCCA
+CGGCTTTCGCCGCATCCAGCACCGAGCCGCCGCCAAACGCGATCACCCCGTCACAACCTGATTCACGCAA
+CTGCGCCACGGCTGCACACACGTCGGTGATGCACGGTTCGCCCACCGGACATGGCCAGAGCGTCATGGCG
+ATACCTTTAACGGCCAGGCTACGTGTCAGCCCGGCGGTCATCCCTGCCTGATGCAAAAAGCTGTCTGCCA
+TCACGAACAGATGTTTCAACCCACGCGTTTGCGCTTGCTGCCCGCAACTGCTCACCGCGCCCGGACCGCA
+AAGCGTCACCGGTGGAACGCTAAATGTTTTTACCCGTTGCAGATTCAGGGTATCGAACGCCTGAAAAAGC
+GCCGTTTGCAATTCACTTTGCATAGATCCCCTCCGCTTTCTCTCGCCCACTACTGGCGATTGCCAGCGGG
+GTCATAAACAAACTGTGCTGCGGTAAATGCACCTGTAACGCCGGAAATTGTTTGCAAAACAGCGCCGCTA
+CGCCCGGTTGCATACAGGAACCGCCCGCCAGCCATAAATCCGTAATGCCCTGCCCTTCAATATGCCGGGC
+CACAATGTCCGCCATTTTTTCGTACACCGGTTTCACCGCGGGCCAAATCTCGTCACCGTGACCGCGTTTG
+TACTGCTCTGCCTCTTCCAGCGAAATACGGCGATTTCCGGCGAGAGTCAGAGAGATGTGATGTCCGCCGG
+TGGCTTCATCCGCCGAGTACGTCACTTTGCCCTTTTTCACGATGGCAATGCCGGTAGTGCCGCCGCCGAT
+ATCCACTACACCGGCGTTGTCCAGTTGCAGCAGATCCGCAACTGCGGTTGGCTCATCCAGCACATGGCTC
+ACTTCCAGTCCGGCAGACTCCAGCACGTTGATGGAAATACGCGGGTCCGTACCAGGAGGAAATGAGGTCG
+CCACATGGCTAAAACGGCGACCGAATTGCTGCTCAAGGGTGTCGAGATGGCGACGAACAATGGTGACCGC
+ACCGAAGAAATCCCAGACGATGCCGTCGCGGACCACATCGGCCCAGTCGAGGCATACCGCCACCGGCTGA
+CCGTCGCGGTCGACAACCATCGACACCACATCGCAAGTGCCCAGATCCACCCCCAGCCACAGCGGAGATT
+CCGTCGCGGCAGGCGTCTGGTTACACAGCGTTGCCGCCGTTTGCAGACGTGGGGTGAGCCATTGTTCGTC
+GTGCGCCATCGGTTACTCCTTAAACAATGCGAAACGCATCGACTAATACACAGCGACGCAGACGGACAAA
+CGTCCGCGCGCTGGTTACCCCTTCACCGGTTGGCGTGGTGATGGTCATGGTGGTCCAGCCTTCCCCGCCC
+AGCCCCAGCCCGGCAATGCACGGTCCGTTCTTAACGAAAATGCTGGTATCAATGGCGTTCGCCATCTGGT
+TCATGTTTTCGATATTGCGCGAGTGCATTGCCGCCGTGTGGTGGCAACCGCCTTCCAGTTTCACCGCCAG
+CGCAATGGCATCCGCCACGTTGGCGACGCGCACGACGGGCAGCACCGGCATCATCAGTTCGGTCACGGCA
+AACGGATGTTCTGCGGTGGTTTCTACAAACAGCAGTCGCGTTTGTTCCGGAACTTTAAGGCCGATTGCCG
+CCGCGATTTTCGCCGCATCGCGACCAACCCAGTCACGGCTGACGGTGCCTTTTCCGCGCTCGTCGATATT
+TTTCAGCAACACCGATTGCAGTTGCTGCGCCTGCTCTGCGGTCAGTTTCACCGCATGCTGGCCTTCCATC
+AGACGCATCAGTTCATCGGCTACGCTATCAACAACAATCAGTACCTTTTCGTCGGCACAAATGATGTTGT
+TATCGAAAGAAGCGCCTTTGACGATGGACTGAGCAGCACGGGCGAGGTCGGCGGTTTCATCCACCACTAC
+CGGCGGGTTGCCAGCGCCTGCGGCAATCAGACGTTTATTGGTGTGTTTACGCGCCGCTTCTACTACCGCT
+TCGCCACCGGTCACCACCAAAAGGCCGATGCCCGGAAACTTGAACAAGCGTTGGGCGGTTTCGATATCCG
+GATTTGCTACGGTAACCAGTAAGTTTTCCGGCCCGCCTGCGGCAACAATCGCCTGGTTGAGCAGCGTAAT
+CGCCCGCTGGGAGACTTTTTTCGCCGCCGGATGCGGGGCAAAAATGACGCTGTTGCCCGCGGCAATCAGG
+CTGATGGCGTTGTTAATTACGGTTGCCGCCGGGTTAGTGGAAGGCGTCACCGAAGCCACTACGCCCCAGG
+GTGCGTTTTCAATTAAAGTCAGGCCGTTGTCGCCAGTCAGCACCTGTGGAGAGAGGCACTCAACGCCTGG
+TGTGCCGCGCGCCTGAGCGACGTTTTTGGCAAATTTATCTTCAACGCGCCCCATGCCGGTTTCACTGACG
+GCAAGTTCCGCTAAATCTCTGGCGTGTTTTTCGCCTGCTTCACGAATGGCAGCAATGGCTAACTGGCGCA
+TTGCCACGCTTTTTAACCCTTGCTGGGCGACTTTGGCTGCCGCAACGGCGTCATCCAGGGACGCGAAAAC
+GCCCATCTCATGAACGGCGGCGGGCGGCGTGTCACTGCTTTGCATTTTCAGCAGTACCGCTTTCACCACC
+TGTTCAATATCCTGTTGATTCATGATGTTCTGCCTTATTTGTGGAAAATGACCTGACCGCCAGACACCAC
+CTCATCGACAATGCCAATCACGCACAGATCGACCGGTGACGTTTCGCTTTTATGCGCCTGGCGGGCGGAA
+CTGCCACTCACCAGTAACACCCACTCCCCGGTTCCCGCGCCAATATTGTCGATGGCGACGGCGCATTGCC
+CGTCAGGATTACCTTGTGGATCAATCATTTCCACCATCAGCAATTTGTCATGCGCCAGTCCGTGATGGCG
+TACGGTACAAACAATTTGTCCAGTGACGACTGCCAGTTTCATACCCGCCTCCGTGGCGTATTTCAGGTAA
+AAGCTCCCCCTACCCTCCGCAGAAGGTAAAATGAAAAAGGAGAGAGCGTGACGCCCGAATCGACGTCACA
+CAAGGTGATTACAGGTTGCTGCTATCGCCTTTCAGGCCGATCGGGAAGACTTCTTCCAGGTCGCCGTGCG
+GACGCGGGATAACGTGTACAGATACCAGCTCGCCGATACGCTGTGCCGCTGCGGCACCGGCATCGGTCGC
+GGCTTTACAGGCTGCAACATCACCACGAACCATGGCAGTACACAGGCCGCCGCCAATCTGCTTAACACCA
+ACCAGCTTGACGCGCGCAGCTTTAACCATCGCGTCAGAAGCCTCAATCAGTGCAACCAGGCCCCGGGTTT
+CGATCATTCCTAATGCTTCCATTGTGCTTTCCTCTTTATCAGGGTCCAGAACGGGACCGTTCATTCAACC
+AGTGTTTGTAAACTGCTTTCGCGGTTCACTTCTGTCTGACGCGGCACAGCTGCCACCAGCGCCAGTTCGA
+TAATTTCCTGCACGCTACAACCACGAGAGAGATCGTGCATCGGCGCGGCAAGTCCTTGTATCAATGGCCC
+GACGGCACGATATCCGCCAAGTCGTTGTGCGATTTTGTAGCCAATATTTCCTGCCTCCAGCGACGGAAAA
+ACCATCACATTGGCTTTGCCCTGTAACGGGCTGGCAGGCGCTTTTTGCGCCGCCACTTCCGGCACGAAGG
+CGGCGTCAAACTGCAACTCGCCATCGACAACCAGCTTTGGTGCGCGCTCACGGACGATTTCTGTCGCCTG
+CTGGACGTTGGCAACGCAGGGGTGACGGGCACTACCGTTGCTGGAAAACGACAGCATCGCCACGCGCGGT
+TCTTCTCCGGTGATGGCGCGCCAGGTTTCGGCGCTGGCAAGCGCGATATCCGCCAGTTGTGCCGCCGTCG
+GCTGTGGCACCACGCTGCAATCGGCAAAGCCCAACGCCGGACCGCTGTACTGTGGCAGCATCAGGAAAAT
+GGATGAGAGCGTTTTACAGCCTGGCTGCAAGCCGATAATGCGTAATCCGGCACGCAGCACATTCGCCGTG
+GAAGAGAGGTTGCCCGCGATACAGACATCCGCTTTACCGGCGCTGACCATTGCGGCGGCGAACATCAGCG
+GGTCGGTAAGTTTTTCCAGCGCATCCGGCGGCGTTTTTTCGCCCGCGCGGGCCAGCCAGCGATGAGCAAA
+TTCTTCCCGCATTGCGAGGTTGCCATGCGGATCAATCACCTGTAGCCCGTCCATCGCCACGCCATGACTG
+AGCGCAAACTGACGAAGTTCAAACGGATTGGCGACCAGAATGGGCGTTGCCAGACCTTGTTGATGTAAAT
+ATTGCGCAACTTTCAGCACACGTTGATCTAACGCATCCGGAAAAACTACTCTGGCGGGCGCTCGCAACGC
+CAGTTCACGACAACGTTCAATAATCATTGCGTTTCCCCCAGTCGTTGTTGGATCTGCTTCACCGTTAGCG
+GCTGCTTCGTTACGCTCAGGATCATCATCACGTAGACCGTGCTGGAAAGGCGGTTCAGCGCCTGCAAAAT
+GTCCGGGCGTAATACTTCAAAGCTGCGGGTGATAAAGACCTGCGCCGCGACGGTTTCGGTTTCCCGCACT
+TTGGTGCGTAACAGATTCAGCAACGCCGCATCGCACCCGTGGCTGGCTTCCGGCACCAGATGATCGTGGT
+CGAGATAACGCAGCGGCTGGTGAGAAAGCCGATGCAGATCTTCGTCAGAAAGCCCGACAATCGCTTGATC
+GCCCAGCGGTTCCCCCAGCGCATCGGCACGCATAATGTTGCCAAGACGCGAACGGATATCCGCCAGCCAC
+GGCTGCCACGGTTCCGCCAGTTCAATTTGCAGCCACACTGCCAGCGCAATGGTGCTGTCGAGAACAGCGC
+GAAAAGCCAGGCGCGGATCGCTTTTGGCAACCATTTTTTCCGCCGACAGGTGAGTCAGCGTATCCGGCTT
+TTTTGCCACCGGCTGGCGGCACAGTTCGCAGCACGCCTGCGGATGTTCATCGCTACTGGTCAGCCCGTGA
+ACGGGCTGCGGCTGCTGCTGTTCATCGTCAACAAACAGGCGGCCCTGCTCGTCAATAAACTTGATGCGCA
+GATGGCGGCTTTCCAGTAACTCCCGGGCAGAGGGCGTCAGGCGACTGTCCGCAGGGAGATGGATCTCTGC
+GCCTTCGCTGAGCGTATGGTTCGCTCTTAGCCATGCTTCGGTGATGAAATCTTTCATAGGGATTGCCAGT
+TAGCCGGCCAGGCGACATACAGGAATTTCACGCTGGATGTCGTACCAAATTCGATGCTGGAGCCTTTCGG
+GATAAACATCACATCGCCCGCTTTGGCGATCATAGTTTCGCCTTCGTGGCGAACATGCAGCTCCCCTTCC
+AGCACCATGTCGATTTCGTCGTAGTTCAGGGTCCACGGAAAGAAGGCGTTCTCCCACTGCATGAAACCAG
+CGGCCATACTGCTGCCGTCGTCTCCGGTCACGAGATCAGTCAAGCCTACGCAGTGCGGTTGTGCGCCGTC
+GAAACGACCAAACTTGACGCTGCTGCCATCAATAACTTTGATGCCGCCTTTGCCGGTCACCGATTTAAAG
+CTCGGCTGCAGTGCACCCTGTTCCAGCGACTGTTTTTCCTTCATCACTTTTTCCATCAGCTGCGCGACCA
+GGCTTTCGGTAAACTGACCTTCCGGCAGTTGGGCGATAATGGTTTCACGGATGCGCTGGCTTTCGGTTTT
+ATCGGCTGATGCGCTGGCGGGAACAGACGCCGTTACCGGGATCGATTCATCACATTCGGTGATGGTAAAA
+CCCAACAGATCAGCCACTTCACGAGCTTCCGGGGTAATAATGCTGGCGCGCAGAACCACGGACATTGCCA
+GTTCGCCGCGCGCGTGTGCTTCACGAATATCATTCGCTGTGATGAGTTTTTTCACCTGCTTCCTCCTGTT
+TGGTGAGAGATGCCAGATAATCCACCAGTTGCTGCACGCTTTGCGGGTCGTGGCTGTTTAGCTCGAAAAT
+CGGCTCTTCGAAGCCCGTCTCAAGCAATAACTTTCGCGTTGCGGCGACGTCAGCATCTGGCATGTCCGTT
+TTACTGATGACGGCGATTTGCCGTTTGCTGACGCCAATATCCAGCAACCCGGCAGGCAACCGACTTTCCG
+GGTCATTCGCGCCGTGGACATAGATCAGCATGTCCACATCCTGTAGCGTGGTAATTAAGGCGTGATACCA
+GCGGGGATGGCTAAAATATTCACCCGGCGTATCAATATCGCCATTATCATTAAATTCCACGGTCTGTGTT
+TTTCTTGCGAGGGTATAATTCCCCTGCAACGCATTAAATAACGTTGTTTTTCCTGCCCCGACGGTACCCA
+CAAACGCAATTCGTTTCATGAATGCCTCGTATTAACTTTTGGTCATTTCACAAAGCGTATAATTTAATAA
+GCGTCCTAAACCACTGACGGTTTGTGATAACGCTTCTTCTACTGCGCCCACCGAGCCATAAATCACCAGC
+GCGCCGCTAAAACGGTCGAGAAAACCGATATGCACATCGGCGGCTTTCAACGCTAAATCACCGGCGATCA
+TCGCCGTTTCTCCGGGAGTTAGCGTCATAATGCCGATTGCGCCCGCATCCGGAACGCCGATTTTCTTCGC
+CAGTTCCTCGCCGGGATGCGCGATGAGATGCGCCAGTGTGACCTGTTTACCGGGCACAAATTCCTGAATG
+ATGCGTTCTTTATCCATGAGTCGCCGCCTGTGAAAAACTTTCGTGTATCGTGACAATTTTTCGTCAGAGT
+AAATAACAAAATTCGGCAAGCGCGTTTAAAAGGTGAGGTAGATCACTAAGAATGGAGAGATATTTGCTGT
+GGTGCATAAACTTTCATATGCAACGCATGAATATAAATAAAATAATATCGAGATATTTTATATACTGATT
+TTTTTATTATTCGCAAACTCAGTAATAAACTTTACTAATATATTGCAGCTAAACCGCTTACCCTGAATAT
+TCAGGGTAAGCGTGAGAGTTAAAAAAGAATTACAGCGGTTGGGTTTGCGCTTCAACCACGGCCAGCGCCA
+CCATGTTGACGATACGACGTACAGATGCGATCGGCGTTAACACGTGAACCGGTTTCGCCACGCCCATCAG
+CACCGGACCGACAGTCACACCTTCCGAGCTGGAAACGCGCAGTAAGTTGTAACTAATGCGGGCAGCTTCC
+ATGTTCGGCATCACCAGAATATTAGCGGAACCTTTCAAAGGGCTGTCCGGCATACGGTCGTTGCGAATCG
+CTTCCACCAGCGCTGCATCGCCGTGCATTTCACCATCAATCATCAGTTCTGGCGCACGTTCCCTGACCAG
+TTCCAGCGCCTGACGCATTTTGCTCGACGACGGGCAGTCAGAAGAACCAAAGTTGGAGTGCGACAACAGA
+GCCACACGCGGCTCAATACCAAAACGACGAACAGTTTCTGCCGCCATCAAGGTGATCTCCGCCAGCTCTT
+CTGCATCAGGCTCATCATTGACGTAGGTATCGGCAATAAAGGTGTTACCACTCGGCAACAGCAGCGCGTT
+CATTGCACCTGCGGTGTGAACGCCATCGCGATAACCAAAGACATTTTTCACCACGCTAAAGTGTTCATGA
+TAATCGCCCACCGTACCGCAAATCATTGCATCGGCTTCGCCACGCTGAACCATGATCGCGCCGATCACTG
+TCGGGTTACTGATCAGCGCACGCTGCGCCTGCTCCTGAGTGACACCGCGACGCTTCATGATCTGGAAGTA
+TTCGGTCCAGTACTCTTTAAAGCGCGGATCGGATTCGTTATTGACGATCTCAAAATCAACGCCCGCCTTG
+ATCTGCAAGCCCAGTTTCTGAATGCGCATTTCGATCACGTTCGGACGACCAATAAGGATCGGTTTCGCCA
+GTCCCAGCGTTACCAGTTCCTGAGTGGCATGCAGAACGCGCGCCTCTTCCCCTTCCGGCAGAACTACGCG
+CTTCGGCGCTTTGCGAGCCTGGGAGAAAATCGGCTTCATAAACAGGTTGGTTTTGTAAACGAACTCTGTC
+AGCTTGTCGATGTAGACGTCGAAATCAGCAATCGGACGCGTCGCCACGCCCGACTCCATCGCCGCTTTCG
+CCACCGCAGGAGCGATCTTAACGATCAAGCGCGGATCAAACGGTTTTGGAATGATGTATTCCGGACCAAA
+GCTCAGATCCTGATCGCCATACGCTGAAGCCACCACTTCACTCTGTTCCGCATGGGCCAGTTCTGCAATC
+GCGCGTACCGCCGCCAGTTTCATCTCTTCGTTGATGGCGGTTGCGCCAACGTCCAGCGCGCCACGGAAGA
+TAAACGGGAAGCAAAGGACGTTGTTCACCTGGTTCGGGTAGTCGGAACGGCCGGTACAGATGATGGCATC
+CGGACGCACTTCTTTCGCCAGCGGCGGCAGAATTTCCGGTTCCGGGTTCGCCAGCGCCAGGATCATTGGC
+GCACGGGCCATTTTCTTCACCATTTCCTGGGTCAGCACTTTCGGGCCGGAACAGCCGAGGAAAATATCCG
+CGCCTTCAATCACATCATCGAGGGTACGTTTACCGTCATCCACCACCGCGTATGCGGCTTTGGTTTCCGC
+CATGTTTGGCTCACGGCCCTGATAGATAACGCCTTTTGAATCGCAAACCACGATGTTATGTTTTTGCAGA
+CCCAGCGCTATCAGCAGGTTCATACAGGCGATTGCTGCGGCACCCGCGCCAGAAACCACCATCCGCACGT
+CGGAGATGTTTTTCTCCACCACGCGCAAGCCGTTGAGGATGGCGGCAGTGCTGATAATTGCCGTGCCGTG
+CTGATCGTCGTGGAATACCGGAATATTCATCCGCTCGCGCAGTTTCTGTTCAATATAGAAACATTCTGGC
+GCTTTAATGTCTTCGAGGTTGATGCCGCCGAAGGTCGGTTCGAGCGCAGCGACGACTTCAATAAATTTGT
+CCGGGTCGAGTTCATCAACTTCAATGTCAAATACATCAATCCCGGCGAATTTCTTAAACAGAACGCCCTT
+GCCTTCCATCACCGGTTTGCCTGCCAGCGCGCCAATGTTGCCTAACCCCAGCACCGCCGTACCGTTAGAG
+ATCACCGCTACCAGGTTACCGCGCGCGGTATATTTGTAGGCTTTTAACGGGTCTTTTTCGATTTCAAGAC
+AAGGTGCGGCAACGCCTGGTGAGTAGGCCAGCGCCAGATCGCGCTGCGTTGCCAGAGGCTTGGTTGGAGA
+AACCTGGATTTTCCCTGGAACTGGAAATTCATGGAAATCAAGTGCACTTTGTTTTAACTGGTCATCCATT
+TGGTTGTTCCTTTCACGTAACGTTCACAAATAAAGTGTGTGGGCAACAGCCCCTGTCCACAACGTGGCGC
+ACATTATTACCCTGCCGGAGTCTACAGACTTTGAGCAAGTCCAAACTCTCACCATTAATATAATGTTTTG
+GTAATAATCCTATAACACTGATGTTACCTGCTTAATCCAGCAATACCATGCCTGTCTGCTATGCTTTTTT
+GATGCGTTTAGCGAAATTTCTCAGAAGTGTGAATTAACGCACTCATCTAACACTTTACTTTTCAAGGAGT
+ATTTCCTATGAACGAGTTAGACGGCATCAAACAGTTCACCACTGTCGTGGCAGACAGCGGCGATATTGAG
+TCCATTCGCCATTATCATCCCCAGGATGCCACCACCAATCCTTCGCTGTTACTCAAGGCTGCCGGATTAT
+CACAATATGAGCATTTAATAGACGATGCTATCGCCTGGGGTAAAAAAAATGGCAAGACCCAGGAACAACA
+GGTGGTCGCAGCGTGTGACAAACTGGCGGTCAATTTCGGTGCTGAAATTCTCAAAATCGTACCCGGTCGC
+GTGTCAACAGAAGTTGATGCACGCCTCTCTTTTGATAAAGAAAAGAGTATTGAGAAGGCGCGCCATCTGG
+TGGACTTGTATCAGCAACAAGGCGTTGAGAAATCGCGCATTCTGATCAAGCTGGCTTCGACCTGGGAAGG
+AATTCGCGCGGCAGAAGAGCTGGAAAAAGAAGGTATCAACTGCAACCTGACGCTGCTGTTTTCTTTTGCA
+CAGGCGCGGGCCTGTGCAGAAGCAGGCGTTTTTCTGATTTCGCCGTTTGTCGGGCGTATTTATGACTGGT
+ATCAGGCACGCAAGCCGATGGACCCGTATGTGGTGGAAGAAGATCCAGGCGTTAAATCAGTACGCAATAT
+CTACGACTACTATAAGCAACACCACTATGAAACCATTGTGATGGGCGCGAGCTTCCGTCGCACCGAACAA
+ATCCTCGCCTTAACCGGCTGCGACCGACTGACTATCGCACCGAATTTGCTGAAGGAGCTACAGGAAAAAG
+TTTCGCCAGTGGTACGTAAATTAATCCCACCTTCTCAGACGTTCCCACGCCCAGCTCCCATGAGCGAAGC
+GGAGTTCCGTTGGGAGCACAATCAGGATGCGATGGCGGTAGAAAAACTGTCTGAAGGCATTCGTCTGTTC
+GCCGTTGATCAACGCAAACTGGAAGATCTTCTTGCCGCCAAACTATAAACCAGCCACGGAGTGTTATATG
+TCCCGAAAAGACCTTGCCAATGCGATTCGCGCACTCAGTATGGATGCGGTACAAAAAGCCAATTCTGGTC
+ATCCCGGCGCGCCGATGGGCATGGCTGATATTGCCGAAGTGCTGTGGAACGATTTTCTTAAACATAACCC
+CACCGACCCAACCTGGTATGACCGTGACCGCTTTATTCTTTCCAACGGTCACGCGTCGATGCTGCTCTAC
+AGTTTGCTGCATCTGACCGGTTACGACCTGCCACTGGAAGAACTGAAGAACTTCCGTCAGTTGCATTCGA
+AAACCCCTGGTCACCCGGAAATCGGCTATACGCCAGGTGTTGAAACCACCACCGGTCCTCTTGGACAAGG
+TTTGGCGAACGCCGTCGGGCTGGCGGTAGCAGAGCGTACGCTGGCGGCGCAATTTAATCAGCCGGATCAT
+GAAATTGTCGATCACTTCACCTATGTGTTTATGGGCGACGGCTGCCTGATGGAAGGTATCTCTCACGAAG
+TCTGTTCGCTGGCGGGCACGCTGGGGCTGGGCAAGCTGATTGGTTTTTACGATCACAACGGTATTTCCAT
+CGACGGTGAAACCGAAGGCTGGTTTACCGACGATACGGCAAAACGTTTTGAAGCCTATCACTGGCATGTG
+GTCCACGAGATCGACGGCCACGATCCGCAGGCGGTGAAGGAAGCGATCCTTGAAGCGCAAAGCGTGAAAG
+ATAAGCCGTCGCTGATTATCTGCCGTACGGTGATTGGCTTTGGTTCGCCGAATAAAGCAGGTAAGGAAGA
+GGCGCACGGCGCACCACTGGGGGAAGAAGAAGTGGCGCTGGCACGGCAAAAACTGGGCTGGCACCATCCG
+CCATTTGAGATCCCTAAAGAGATTTATCACGCCTGGAATGCCCGCGAAAAAGGCGAAAAAGCGCAGCAGC
+GCTGGAATGAGAAGTTTGCCGCCTATAAAAAGGCTCATCCGCAACTGGCAGAAGAGTTTACCCGTCGGAT
+GAGCGGCGGTTTGCCGAAGGACTGGGAGAAAACGACTCAGAAATATATCAATGAGTTGCAGGCGAATCCG
+GCGAAAATCGCTACCCGTAAGGCTTCGCAAAATACGCTTAACGCTTACGGGCCGATGCTGCCTGAGTTGC
+TCGGCGGTTCGGCGGATCTGGCTCCCAGCAACCTGACCATCTGGAAAGGTTCTGTTTCGCTGAAGGAAGA
+TCCGGCGGGCAACTACATTCACTACGGGGTGCGTGAATTTGGTATGACCGCTATCGCCAACGGCATCGCG
+CACCACGGCGGCTTTGTGCCGTATACCGCGACGTTCCTGATGTTTGTTGAATACGCCCGTAACGCCGCGC
+GGATGGCGGCACTGATGAAAGCGCGGCAGATTATGGTTTATACCCACGACTCAATTGGTCTGGGCGAAGA
+TGGTCCGACGCACCAGGCTGTTGAGCAACTGGCTAGTCTGCGCTTAACGCCAAATTTCAGCACCTGGCGA
+CCGTGCGATCAGGTGGAAGCGGCGGTTGGCTGGAAGCTGGCGGTTGAGCGCCACAACGGACCGACAGCAC
+TGATCCTCTCAAGGCAGAATCTGGCACAGGTAGAACGAACACCGGATCAGGTTAAAGAGATTGCTCGTGG
+CGGTTATGTGCTGAAAGACAGCGGCGGTAAGCCAGATATTATTCTGATTGCCACCGGTTCAGAGATGGAA
+ATCACCCTGCAAGCGGCAGAGAAATTAGCGGGAGAAGGTCGCAATGTTCGCGTGGTTTCCCTGCCTTCGA
+CCGATATTTTCGATGCCCAGGATGAGGAATATCGCGAGTCGGTACTGCCTTCAAATGTTTCTGCCCGCGT
+GGCAGTAGAAGCGGGTATTGCCGATTACTGGTACAAATATGTTGGTCTGAAAGGGGCAATTGTCGGGATG
+ACAGGTTATGGGGAATCTGCTCCGGCGGATAAGCTGTTCCCGTTCTTTGGCTTTACCGCCGAGAATATTG
+TGGCAAAAGCGCATAAGGTACTGGGAGTGAAAGGTGCCTGATGGTGATCGCCGGATGCTGATTGTCGGAT
+GTGACGCTGGTGCGTCTTATCCGGTCTACATGTCCCCGCCATTTTGTTTAACGGGTGATCCACAACGTGG
+GCCAGGCGTCTGGCCCATGCCAGTTATCGCAGGTGGGTTCTGCGGCGTAACGCACCAGGCGAAAACGCTG
+ACCGTCAAAGCGCCAGCGCGCCTGAATGCCACAATCGCTTAATCCGCGCCCTTTTGCTAAGGTCACCAGT
+TCACGCGATTTTTCATCGAATGTTGCGTTCATCAGTTCCAGTTCATTGGTCTCCTGACCGTTGTTGAACG
+GCAAACGCAACCGTACCGGGCGCGAGGCCAGCGGCTTTTTACGCGACACAATCCATGCCAAATCAATGGT
+GTTATAGGCCCCTGCCTCACAGCTAATCATCATCAGCGCTTTATCATCGGTCAGCGCAGTGACATTCACC
+TCACGACGTAACGGATCAAGCGAACAGCGCAGACCATTCATCCGCCAGTTTCCATAATCCAGCAAATCGT
+TACGTTCTTCGCGTGAGAGTGGCGTCGGCGTTGGGTTAACCACCGCGACCTCTTTCAGCGCAGGCGCTGG
+CGGTACGCTGAGCGGCGGTTCGTCCCCTTTCTTTATCCACGCGGTCTCACTGCCAACGCGCTTTTGCTGG
+GCATCAATAAACAACAACGCCGCTTTTAAGCCACTCAGAGAAATAGTCTGATTGCCGTCGCGTAAGGTGA
+TCGCCCTCCCTTCCTGAATCATCTGCAAAAACGCGGTGATGGTTGCCGTATCATCGGTTACTAATAACCA
+TGGTGAAATCCGCCACTTGTCACCACTTAACGCCAACGGCTCACCATCTAACAGCAGCCGTGGCGCTATC
+TCCCCTTCTGACGCATCCGGCGGCTTCAACCCGCCGCGCTCAATACGTAAAACGGCATCGGTATGCGCCC
+CGGCGCTGCGGCTCAGGGTCATCACCAGTCCATTATGATCGCCCGTATTGCGCGCTACACAGAAATTTTG
+ATTATTACAGGTGACCTGCCAGTCGGAAAACGCCCGTTGCGCTGGTGCCGCCCACACCAAAGACATCGGC
+AACAAAACGAAAAAAAAGAGAAGGAAAATGCGATATCGCATGGACGGTACGACCCCAGAAGTTCAAACAA
+ACAGCACAAGTCGTATCTTCGTTGCGCAGGTAGCGCGGCTCAATCGGATTTGTCGGATTGAGCCAATAAT
+AAACAACGAAATATTATTGTTATTTTTCAGTCCATTAAATGTGACATTTGCAAATAGTTAAGCAATAACA
+CCGTCTTACCGTCACGTATCTCGCCGGTTTTAATCATCTCCAGCGCCTGGCTGAACGGCAGCTCAAGCAC
+TTCAATATCTTCATCTTCGACACCACCACCGGCGTTAGCGCGCTGGCTGTCACTGTATTCGGCGATAAAA
+AAGTGGATTAGCTCAGTCACACCGCCTGGCGACATATACAGTTCAAATAATTTGCGGACTTCGCCAACTT
+CATAGCCCGTCTCTTCAATCGCTTCCTTGCGAATGCACACTTCCGGTTCGTCGTTATCCAGCAGCCCGGC
+GCAGGTTTCAATCAGTTGCCCGCTTTCATTGCCATTAACCCAGGTAGCGACGCGGAACTGGCGAATCAGA
+ACCACGGTCTTTTTCTTCGCGTTGTACAGGAGGATCGTCGCACCATTACCGCGATCGTAAACTTCACGTT
+TATGGCGGATAACTTCGCCATCTTTGCGCGTGAGATCGTAAGTAATGTTGTGCAGGGTGAAATAGTTATC
+GGAGAGAATTTTGTCTTTAACGAGGGTGATTTGTTGCGTCATACCGACTCCACAGCGCGAAATGAACAAT
+TATCTTACGCTGTGAAGTCGGGTTTGTCTGCGCAGGCTATCAGTGAGATTTGACTGATTTTACGCCCAGC
+CAGTCAATGATCCCCTGTGCCGCATGACGTCCTTCTGCCATTGCGGTAACCACCAGATCCGCACCACGCA
+CGGCGTCACCACCGGCGAAGATTTTCGGATTCGTGGTCTGGTAACGGTACTGGCTTTCCACATCCGCGAT
+GATGCGGCCCCATTTGTCTACCGTTACACCGTGCGACTCCAGCCACGGCATCCCGTGCGGATTGAAGCCA
+AACGCCATAATCACCGCATCGGCTGGCATGACAAATTCACTGCCTTCCACCGGCACTGGACGCCGACGCC
+CCTGGGCATCCGGCTCGCCAAGACGCGTGCGCAGGAAACGAATCCCGCAGACGTGACCTTGTTCATTCAG
+TTCAAGCGCCACCGGCTGGACGTTAAATTCGAAGTTGGCCCCCTCTTCACGGGCGTTCTTCACCTCTTTC
+TTCGAGCCTGGCATGTTAGCTTCATCACGACGATAAGCGCAGGTGACGTTACTCGCGCCGTGGCGCAGCG
+CAGTACGCACACAGTCCATCGCGGTGTCGCCGCCGCCCAGTACCACGACGTTAAGTCCGGCAGTATTGAT
+AAACGGCTCTTCCGGTAGCTCTTCGAGTCCCATCACCTGTTTAGTATTGGCGATGAGGAACGGCAGCGCG
+TCATAAACGCCCGGCGCATCTTCATTGGGTAAACCCGCTTTCATGGAGCGGTAAGTGCCTACGCCAACGA
+AGACCGCGTCGTATTGTTCCAAAAGCGAATTCAAAGAGACATCTTTACCCACTTCACAATTGAGTTCGAA
+GTGAATCCCCATCGCGCTGAAGATTTCCCGACGGCGTGCCAGCAGGGATTTATCCAGTTTGAAAGAAGGA
+ATGCCGAAAGTGAGCAAGCCACCGATTTCTGGATGGCGATCGTACACCGTCACCGCCACGCCATTGCGGG
+TCAAAACATCCGCACAGGCCAGCCCTGCCGGACCCGCACCGATAATCGCCACCCGCTTGTCCACTTTGGT
+GACATGGCTTAAGTCAGGACGCCAACCTTTCGCCAACGCCTGATCTGAAATGTAGCGTTCAATGTTACCG
+ATAGTTACTGCGCCGTGCTCATCGCGAATAGTACAGGCACCTTCACACAAACGGTCTTGCGGGCAAACGC
+GTCCGGTAATTTCCGGCAGGGTGTTGGTCTGGTGAGAAAGCTCGACGGCGGCGTCGATGTTTCCGGCTTT
+CACCAGTTCAATCCACTGCGGTATATGGTTATGCAGCGGGCAGGTCCATTCACAAACGCTGTGCTCGCCG
+CACTTAAGGCAGCGCGAGGCTTCCCGTTGTGCCTGATCGGCACGGAATGGCAGATAAATTTCATCAAAAC
+CGGTTTTGCGCGCTTCAATCGCCAGTTTATCTGGCTCGCCACGCGCGGGCGTTGCCTGCATTTGCTCGAC
+TTTACTCATTACCGGCATTTCTTGCGCCGCGGTACTGGCATGCCACGGTTGTTGTTCCTGACGTGCGGTG
+CGCAAGCGGCGGGATTTCGCCATGCCGGAGAGTGCGGCGTCAGTGACCAGTTGCAGCGCGTCCGCCGGGC
+AATTTTCGACACAGGCAGGACCGTTTTCGCGCCCTGCACAAAGGTCGCATTTATGCGCCGTGGCTTTTAC
+TTTTCCTACCGCAACGGGTGTCAGAACGATTTGCATCGTACCAAATGGACAGGCCACCACGCAGGATTTA
+CAGCCAATACACTTTTGCTGATTGACCTGAATGCTGTCATCAACGTGGCTGATTGCGCCATTAGGGCAGC
+TACGGGCGCAGGGCGCATCTTCACAATGGTGACAGGTCACTGCACTACGTTGCTGCTGATGTTTGATAAC
+CGTAATTCGGGGATGAAAATGGTGTTGGCTCAGGACATGTTGCTCGTCATTGTGAGCCATGACACAGGCG
+ATTTCACAAGCATGACAACCCAGACATTGCTGACTGTTGGCCATAATAAAACGATTCATAACGACCTTCT
+TTTTTGGTTGTAAAAACCTTATTCTTTATATGAGTGTTGTTATTACCCGACTTACAGGGGAATCGGCAAT
+GTTCATGTGCCCAGAATAAGTAACTATTTCGCTATAAACTGTGGCAGATCAAATAATCCCATCACTGACT
+AAATTGCGTTTCAGCGAACTGGAACATTAATGATTTTTTGTGGAGAAGACGCGTGTGATTGTTAAACGAC
+CCGTCTCGGCCAGTCTGGCCCGGGCCTTTTTTTACATTGTGCTGCTGTCGATTCTTTCCACGGGTATCGC
+TCTGCTAACGCTGGCGAGCAGTTTGCGCGACGCTGAGGCTATCAATATTGCCGGATCGCTGCGTATGCAG
+AGTTACCGCCTGGGCTACGATTTGCAAAGTGGCAGTCCACAACTCAATGCACATCGCCAGTTATTTCAGC
+AGGCACTGCATTCACCGGTATTAACCAATCTCAACGTCTGGTATGTGCCAGAGGCAGTAAAAACCCGCTA
+TGCGCATCTGAATGCCAACTGGCTGGAGATGAATAATCGGCTCAGCAAGGGTGATTTGCCGTGGTATCAG
+GCCAATATTAATAATTATGTTAATCAGATAGACCTGTTCGTACTGGCTTTACAGCACTACGCTGAACGCA
+AAATGCTGCTGGTGGTGGCGATTTCCCTGGCTGGCGGCATCGGTATTTTCACGCTGGTCTTTTTTACTTT
+GCGTCGCATACGCCATCAGGTGGTTGCCCCGCTGAATCAGCTGGTTACCGCCAGTCAGCGTATTGAACAC
+GGGCAGTTCGACTCGCCGCCGCTGGATACCAGCCTGCCGAATGAGCTTGGCCTGCTTGCAAAAACCTTTA
+ACCAGATGTCGAGCGAGCTGCATAAATTGTACCGTTCGCTGGAGGCGTCAGTAGAAGAAAAGACCCGCGA
+TCTCCACGAGGCCAAGCGTCGTCTGGAGGTGTTGTATCAGTGTTCGCAGGCGCTAAACACCAGCCAGATT
+GATGTGCATTGTTTCCGCCATATTTTGCAGATTGTTCGCGACAATGAAGCGGCTGAATATCTGGAGTTAA
+ATGTCGGTGACAACTGGCGGATTAGCGAAGGGCAGCCAAACCCGGAATTGCCGATGCAGATTTTACCGGT
+GACAATGCAAGAGACGGTTTACGGCGAACTGCACTGGCAAAATAGTCACGTTTCATCATCAGAACCGCTG
+CTTAACAGCGTTTCGTCGATGCTGGGACGCGGTTTGTACTTTAATCAGGCGCAGAAGCATTTTCAGCAGT
+TATTGTTGATGGAAGAACGTGCGACCATCGCCCGCGAATTGCACGACTCACTGGCTCAGGTACTTTCTTA
+CTTACGTATCCAGTTGACGTTACTGAAGCGTTCGATACCGGAAGATAACGCCACCGCACAAAGTATCATG
+GCCGATTTTTCCCAGGCGTTGAATGATGCTTATCGGCAGTTACGCGAGCTGTTGACTACTTTCCGCCTGA
+CGCTGCAGCAGGCGGATCTCCCCTCCGCGTTGAGGGAAATGCTGGATACGTTACAAAATCAAACCAGCGC
+CAAACTGACCCTCGACTGCCGTCTGCCAACCCTGGCGCTGGATGCGCAAATGCAGGTGCATTTGTTGCAA
+ATAATTCGCGAAGCGGTGCTGAATGCGATGAAGCACGCCAACGCCAGCGAAATCGCCGTTAGCTGCGTCA
+CCGCGCCGGATGGCAATCACACAGTCTATATTCGCGACAACGGGATTGGCATCGGTGAACCGAAAGAACC
+CGAAGGCCATTATGGTCTGAATATCATGCGCGAACGCGCGGAAAGATTGGGTGGGACGCTGACTTTTTCA
+CAACCTTCCGGCGGCGGCACGTTAGTGAGTATTAGCTTTCGCTCTGCGGAGGGTGAGGAAAGTCAGCTGA
+TGTAATGCCTCTTATTGACCAAAGAATAGTGGCACTTAAGGTTCAGTATAAAAGGGCATGATAATTTACA
+TTAACTCCTTTTTTTCTCCACGATTGGCTCGTACCTTGCCGCTACAGTGAAGCAAGCCAAGCCTACAACG
+ATACGCAGAAACACGAGGTCCTCTTTTAATGGCGAATTTCTTTATTGATCGCCCCATTTTTGCCTGGGTG
+CTGGCAATCCTGTTGTGTCTGACAGGTACCCTGGCGATTTTTTCATTGCCCGTTGAACAATACCCCGATC
+TCGCGCCACCGAATGTGCGAGTGACCGCTAACTATCCCGGCGCATCGGCCCAGACGCTGGAAAACACCGT
+GACCCAGGTTATCGAGCAAAATATGACCGGCCTCGATAATCTGATGTATATGTCATCTCAGAGCAGCGGC
+ACCGGTCAGGCATCTGTCACGTTAAGTTTTAAAGCAGGCACCGATCCGGACGAAGCCGTGCAGCAAGTAC
+AAAACCAGCTGCAATCAGCCATGCGAAAGTTACCGCAGGCGGTGCAAAATCAGGGCGTGACGGTGCGTAA
+AACCGGCGATACCAACATTCTGACCATTGCCTTCGTCTCTACCGATGGTTCGATGGATAAACAGGATATT
+GCCGATTATGTTGCCAGTAATATTCAGGACCCGTTAAGCCGCGTGAATGGCGTCGGGGATATCGATGCCT
+ATGGTTCGCAATATTCCATGCGTATCTGGCTGGACCCGGCGAAACTCAACAGTTTCCAGATGACGGCTAA
+AGATGTCACCGATGCCATTGAATCACAGAACGCGCAGATTGCGGTTGGGCAACTTGGTGGTACGCCTTCC
+GTCGATAAGCAGGCGCTCAACGCCACCATTAACGCCCAGTCACTGCTGCAAACACCAGAACAGTTCCGCG
+ATATCACCTTGCGGGTGAATCAGGACGGCTCAGAGGTAAGGCTGGGCGATGTCGCCACCGTCGAAATGGG
+GGCGGAGAAATACGATTATCTTAGCCGCTTCAATGGTAAGCCAGCCTCCGGGCTGGGGGTTAAACTGGCC
+TCCGGCGCGAACGAAATGGCGACAGCGGAGCTGGTGCTCAATCGTCTCGACGAGCTGGCGCAGTATTTTC
+CACACGGACTGGAATACAAGGTGGCGTATGAAACCACCTCGTTTGTTAAAGCCTCCATTGAAGACGTGGT
+GAAAACGCTTCTGGAAGCTATCGCCCTGGTTTTCCTCGTTATGTATCTGTTCCTGCAAAACTTCCGCGCC
+ACGCTGATACCCACTATCGCCGTGCCAGTGGTGTTGATGGGAACCTTCTCCGTGCTTTACGCCTTCGGTT
+ACAGTGTCAACACCTTAACCATGTTCGCGATGGTGCTGGCGATCGGTCTGCTGGTGGATGATGCCATCGT
+GGTGGTGGAAAACGTCGAACGTATTATGAGTGAGGAAGGACTCACTCCTCGCGAAGCCACACGTAAATCG
+ATGGGGCAGATCCAGGGGGCACTGGTCGGGATTGCGATGGTGCTTTCGGCGGTATTTGTGCCAATGGCCT
+TCTTCGGCGGCACCACCGGTGCCATCTATCGCCAGTTCTCTATTACCATTATTGCGGCGATGGTGCTGTC
+AGTACTGGTAGCGATGATCCTCACTCCTGCTCTGTGTGCCACGCTACTTAAGCCACTGAAAAAAGGTGAG
+CATCACGGGCAAAAAGGCTTTTTTGCCTGGTTTAACCAGATGTTTAACCGCAACGCCGAACGCTACGAAA
+AAGGGGTGGCGAAAATTCTCCACCGTAGCCTGCGCTGGATTGTGATTTATGTCCTGCTGCTTGGCGGCAT
+GGTGTTCCTGTTCCTGCGTTTGCCGACGTCGTTCTTACCGCTGGAAGACCGTGGCATGTTTACTACCTCG
+GTACAGTTGCCCAGCGGTTCAACCCAGCAACAGACCCTGAAAGTCGTTGAGCAAATCGAGAAATATTACT
+TCACCCATGAAAAAGACAACATCATGTCGGTGTTTGCCACCGTGGGTTCTGGCCCTGGGGGTAACGGGCA
+AAACGTGGCGCGAATGTTTATCCGCCTGAAAGACTGGAGCGTACGCGACAGTAAGACCGGCACCTCGTTT
+GCCATTATCGAGCGTGCAACGAAGGCGTTTAACAAGATTAAAGAAGCTCGCGTTATCGCCAGCAGCCCGC
+CAGCAATTAGCGGTCTTGGTAGTTCTGCGGGTTTTGATATGGAGTTGCAGGACCACGCTGGAGCGGGTCA
+CGATGCGCTGATGGCAGCACGAAACCAGTTGCTGGCGCTGGCAGCGGAAAACCCGGAGCTAACCCGTGTG
+CGCCATAACGGCCTCGACGACAGTCCGCAGTTGCAGATTGATATCGACCAGCGTAAAGCTCAGGCGCTGG
+GCGTTGCTATCGACGATATTAACGACACACTGCAAACCGCCTGGGGTTCTAGCTATGTGAATGACTTTAT
+GGATCGCGGTCGCGTGAAGAAAGTCTATGTGCAGGCAGCTGCGCCGTATCGCATGCTGCCAGATGACATC
+AATCTCTGGTATGTCCGAAATAAAGATGGCGGCATGGTGCCCTTCTCTGCTTTCGCGACCTCACGCTGGG
+AGACAGGCTCGCCGCGTCTGGAACGCTATAATGGTTATTCTGCGGTTGAGATTGTTGGGGAAGCCGCACC
+GGGGGTCAGTACCGGTACGGCGATGGATATTATGGAATCGTTAGTGAAGCAGTTGCCAAACGGCTTTGGT
+CTGGAGTGGACGGCGATGTCGTATCAGGAGCGGCTTTCCGGCGCGCAGGCTCCGGCGCTGTACGCCATTT
+CCTTGCTGGTGGTATTCCTGTGTCTGGCGGCATTGTATGAAAGCTGGTCGGTGCCGTTCTCGGTAATGCT
+GGTCGTGCCGCTGGGGGTTATCGGCGCGCTGCTGGCAACCTGGATGCGCGGGCTGGAAAACGATGTTTAC
+TTCCAGGTGGGTCTGTTAACGGTCATTGGTTTATCGGCGAAAAACGCTATCCTGATCGTCGAGTTTGCTA
+ACGAGATGAACCAAAAAGGCCACGACCTGTTTGAAGCGACGCTCCACGCCTGCCGTCAGCGTTTACGCCC
+GATTCTGATGACCTCGCTGGCATTTATCTTCGGCGTATTGCCAATGGCAACCAGCACAGGTGCCGGTTCC
+GGTGGTCAGCATGCGGTGGGTACTGGCGTAATGGGCGGGATGATTTCGGCCACTATTCTGGCTATTTACT
+TCGTGCCGCTGTTCTTTGTGCTGGTGCGCCGCCGCTTCCCGCTGAAGCCGCGCCCGGAATAAGCAATAAA
+AAAGGCGACATGCCAATGTGTCGCCCTTTTCAACTTTCCGATTAAGAACCTGCTCAGCGGGTTCTTGCTG
+TTTGTACTTTGTCTCAGGAATTACTTACGAAGCATAACTTCGATAAAGTCTTTCCAGTTCCCCAGTTCAC
+GTTCAATCATAACAACCTCTCTTATAATTATGGGTATTCTACGGAAACAATATACCGTGGTGAAGCTAAT
+TTACTCGATTGCTGTGATGACTACCTCCGGGGGACAAACCTTATGTAAATACTATGGTCCTGCGGTGATG
+ATTTGTATGTGATGCACCGCAACATTTCGAGATATTCATACGGCATCTAATACTGATTTAATTCTGGTTA
+AAATACAGACAGATAACAAGATGAATATTCTTAATGTTTACGTTAAAAATGTTTAATGTTATTTAATGGT
+TGTTAATTTGAATACTTCGATAATGTTATATTTCCTGATAATCATTTGCAGGCAAAATGTTTTCACCTTT
+AAATGAGTATTTATTCTCATAAATCGAAAAAGGATTCATTATGGTTACACTTTACGGCATCAAAAATTGT
+GACACCATTAAGAAGGCTCGCCGTTGGCTGGAAGCTAATAACATCGACTATCGTTTTCATGATTACCGCG
+TCGATGGATTGGACAGCGAATTATTGAACGGTTTTATCAACGAATTAGGCTGGGAAGCGTTACTCAACAC
+CCGTGGTACAACCTGGCGTAAACTGGACGAAACCACCCGCAATAAAATCACCGATGCGGCCTCTGCGGCG
+ACATTAATGACTGAAATGCCTGCAATTATCAAACGTCCATTGCTCTGCGCGCCTGGTAAGCCTATGCTGC
+TGGGTTTCAGTGAATCCAGTTATCAGCAATTTTTCCATGAGGTGTAGTCTATGTCGTGCCCGGTTATTGA
+GCTGACACAACAGCTTATTCGCCGCCCTTCCCTGAGTCCTGATGACGCAGGATGCCAGGCTTTGTTGATT
+GAACGTTTGCAGGCGATCGGTTTTACCGTTGAACGCATGGACTTTGCCGATACGCAGAATTTTTGGGCAT
+GGCGTGGGCAAGGTGAAACATTGGCCTTTGCCGGGCATACCGACGTGGTGCCGCCTGGCGACGCCGATCG
+TTGGATCAATCCGCCGTTTGAACCAACCATTCGTGACGGCATGTTATTCGGGCGCGGTGCGGCAGATATG
+AAAGGCTCGCTGGCGGCGATGGTAGTAGCGGCAGAACGCTTTGTCGCACAACATCCCAACCATACGGGGC
+GACTGGCATTTCTGATCACCTCTGATGAAGAAGCTAGTGCCCACAATGGTACGGTAAAAGTCGTCGAAGC
+GTTAATGGCGCGTAATGAGCGTCTCGATTACTGTCTGGTTGGCGAACCGTCGAGTATCGAAGTGGTAGGT
+GATGTGGTGAAAAATGGTCGTCGCGGATCGTTAACCTGCAACCTTACCATTCATGGCGTTCAGGGGCATG
+TTGCCTACCCACATCTGGCTGACAATCCGGTACATCGCGCAGCACCTTTCATTAATGAATTAGTGGCTAT
+TGAGTGGGATCAGGGTAATGAATTCTTCCCGGCGACCAGTATGCAGATTGCCAATATTCAGGCGGGAACG
+GGCAGTAACAACGTTATTCCAGGTGAACTGTTTGTGCAGTTTAACTTCCGCTTTAGCACCGAACTGACGG
+ATGAGATGATCAAAGAGCAGGTGCTTGCCCTGCTTGAAAAACATCAACTGCGCTATACGGTGGATTGGTG
+GCTTTCCGGGCAGCCATTTTTGACCGCGCGCGGTAAACTGGTGGATGCGGTCGTTAACGCGGTTGAGCAC
+TATAATGAAATTAAACCGCAGCTACTGACCACAGGCGGAACGTCCGACGGGCGCTTTATTGCCCGCATGG
+GGGCGCAGGTGGTGGAACTCGGGCCGGTCAATGCCACGATTCATAAAATTAATGAATGTGTGAACGCTGC
+CGACCTGCAGCTACTTGCCCGTATGTATCAACGTATCATGGAACAGCTCGTCGCCTGATGAGTGGTTCCG
+CAAGAGGAAATAAGCATGGACTGGCTGGCTAAATATTGGTGGATTCTGGTGATTGTCTTTTTGGTAGGCG
+TCCTGCTGAACGTGATTAAAGATCTCAAGCGCGTCGACCATAAGAAATTTCTCGCCAACAAGCCGGAGCT
+TCCCCCGCATCGTGATTTCAACGATAAGTGGGACGATGACGACGACTGGCCGAAAAAGGATCAACCGAAG
+AAGTAAGCTAAGTGGCCGGATAAGGCGTTAACGCCGCATCCGGCCATGATGCCTGATACAGTCTTATCAG
+GCCTACCCGGCTATTATTACATCATTTCAATCACATCATCATCGCCAGGCTTACCGCCACTTAGCGCTTC
+GTCGAAATAATGTTTCGGAATGGTATAACGCAAGTGATCCAGGGCTAATTGCATACTGCGATTGTCGATC
+GCATGGCCTAAATCCTCCACGATATCCAGCGTCACATCGCCACCGGCACTGATTAACGCTTCCTGCGCCG
+CAACCGCATGCGCCAGATCGATAACCGGATCTTCACCGCCATGAATCAAGTGAATTGTTGTGGCTGTAGA
+CGCGGTTTCCGGCAGGCTCGCGTAGCGTCCGTTGAAGGCAATGACGCGCGAAGCAAGGCCCGGTTCGGCT
+TTAATGCTCTCCAGCGCCATAATCGCGCCTTGTGAGAAACCGATTAGCGCCGTGGCATTAGCCCCTACTC
+CGCTTTGTTTCTGCCAGTAGCGCACCGTCTCAATAAACGTCGGCATGATGGCATTCACACGCGCCTGGCG
+ATTATCTTCCGTAATACCCTGCACCGAAAACCACTGACGCCCCGCCGGATTACCGCTCGGCTCCGCGCCA
+CCGACACTCACCACCAGCGCATCAGGAAACAGCGGCGCAAACCAGCTACCTATTTCCCCCATTGCCACCG
+GGTTATCCCCGACACCGTGGAAAAGCAGTAACAACTGTTGTGCTGGTTTATCCGGGCTTTGAACAACAAA
+ATGGTCATGTTTCATGGCGAACTCCTTAACTGATGTCATTAATTTTACGCCGCTGACTCACAATGACCAT
+GGGAGAAAATTGAAGGAGTCAGTGAAAAAATTGCCATTGCGTTATGCGATCGCGCAGACGCTCAGTGCGA
+ACATCATCAAGTGCGAATAGCGCCTGCGCGGCCTCTTCCCGCTGGCGAACCAGTAACAGCTTACGGCCTG
+AAAGTTTAAGTGTGGTACATAACTGCGCGTCACTGGCGTTTTTCTGTAAACGCCCACGCAGCGCCGGTAA
+TGCCATTTCGCTGGTTTGTAACAGACGCATTAAGCAACCTAACGACGTTAATAGCGGACGATGAGCGAAA
+GCAAAACCGGCCAGTTCAAGCCAGTCGTCGTCAGAAAGGACGGCATCGTTTAGTGGATCAACGGGAAGCG
+TTTCGCCATTCCACTTTGCGAGAGCTTGCGCATCGCGACGTAAACGGTAATGCTCACCTTCAGCCAGTTG
+TTTACCCGCATCACTCATCGGTAACAGCGCCATCGCCGTATAGCAACCGCTGCTGGCTTCACGATGATTA
+CCCATTCGCACCAGCACAAAACCGCAGCGTTGCCAGAAACGCCATAATTCCCCGGTGTAACCAAAACTCA
+CCGAAAGATAGTCGAGGTCATGCGTATATTGCAAAGCACCAGCAATCAGTTGCTGACCTGTGCCTTCCCG
+CTGACGAGCCGGATGAACTGCTATCCGGCTAACCCGCCTTCCGCGCAATGTCGCCGCCAGTGGATTGCTG
+CCGTGCGCCGCCAGCGACTGGGCCACCAGATTACCCCGCGGGCGACGAAAACCTGCCCATACCGCCTGAC
+TGAGTTCTTGAGATAATCCGCCCTCATCCACCAGCCACAGCGCCCCGGCAATCGCTTTTTCGCCAGCCGC
+CTGTAAAAAATGTTGCCCTGGTGCATCCATCATGCGGCGTAAATCCAGCGGCGAAGTCCGGTAGTGCGCA
+CCAGACAATAATTGATAAACCTTTAACGGCGTTTGTGGCTCGCTTCGCCATAACGTCTGTTCAAATGCGG
+AAATGACGATATTGCCTTGTGGTGTGTGGGTGAAGTTTTCATCGTCAAAAACCAGTGCCTCACTAACCAT
+TTTTTCCAGCGGGCATCCCTGCGCCCAACGGATCGGCTGTTGCAGTTCAAAACGGTGTAAATGCGGAAAG
+CGAGCGCAAAATTTCAGCAAAAAACCACGTCCCGTGCCTTCGTAGCCCTGCACCGTAGTGGTTAACAACG
+TTCGAGGAAAACGCGATACCAGTTGATGCAACAACGGCGCAGGTATGGCTGCGGCTTCATCGACCACCAG
+CCAGTCGGCTTGCTCATCGCTGGCTAACAAGGCATCCGGCGCAATAAAGCGAAACTTCTCGCCCGCAAAT
+TGTGCCAGTACATCCGTTGCCGCTTTTGCGGGCGCGGTGACAATCGCACTGCCCGCAATACGAGAAATGA
+GTTGCCCTGCCAACGCCGACTTACCGCGCCCACGCGCAGCAGTTACCGCTGCCACGCCCGGCGGCATGGT
+CAGTAACTGCTGTAAGAGTTGCTGTTGTTCTGGTTGTGGTGCGCCGGTAGCGGGGTGCCAGTCAGTACGG
+GGAGTAAAATGCGCCAACGAGAACGGCTGGTTTTGCCGCCAGAGGATAGCGTCGTTATTCGCCGTAAGTA
+CACGTTTGAGGTGCAGGACAAAATGCGGCGTCGCAATAGGGTCAGGGCAATCACTCCAGCGCAGCGAGTC
+GGCATCAGGTTGGTTTTCCCACTCATCCCATACAGGGAGTAACAACACCAGCCAGCTTCCCGCTTTCAAC
+GTTCCGCTAAGTGCCGCAAAGGCAGCGGCATCAAAGCCTTGGCGGGCGTCGAATACCGCATGCCGGAACT
+CGCGCCCAAGTAAAGTTTGTAGCGCCGAGGGTGAACAGTGGTTTTCAGCATCTGGCTGCGGCGAAATCCA
+CAGCCAGTCGCCAGGTAAGGCATCACGCAACTTAAGCGCATGATCAAAACACCAACCCTCTTCCCCGCTC
+AACACCAGCAAGCGGCGGATCCCTTCACGTTTCATTTGCGCTGTTAATGTGTGAAGCGCAGTCAGTTCAG
+CCATCCCTGCCCCGGAAGTTAAATGCTTTTACCAAAAGTATTGCATTGTGCCGGATCGCCGCTGTCGAAA
+CCACGTTTAAACCAGCTGTAGCGTTGCTGAGAAGTGCCATGCGTGAAACTGTCTGGTACTACTCGCCCCT
+GACTTTGCTGTTGTAAACGGTCATCGCCGATGGCCTGCGCCGCGTTCAGCGCCTCTTCCAGATCGCCGGT
+TTCCAGAACACCTTGCTGCTGCATACTATGCCCCCAGACACCGGCAAAACAGTCGGCCTGGAGTTCCATA
+CGCACAGATAAGCGGTTTACTTCCGCCTGCGTCGCGTTTTGTTGCAGTTGACGAACTTTCGGCTCGATGC
+CTAACAGTTTCTGCACATGATGACCGACTTCATGAGCGATAACGTACCCCTGGGCAAAATCGCCATCCGC
+GCCAAGTTTGTCTTTCATGTCATCATAGAAGGAGAGATCGATATAAACTGTGCCATCCGCCGGGCAATAG
+AATGGCCCCATTATGGACTGGCCCGCCCCGCAGCCGGTACGCGTCATTCCACGGTACATGACCAGCTTCG
+GTTGCTGATAGGTTTTACCCATCTTCTCGAATTGCTGTCCCCAGGTGTCTTCCGTGGTTGCCAGAATCAC
+CGAGGTGAATTTTGCGGCTTCGTCTTCATTAGGGCTAATTGACCGCGTTGATTGCTGTTGGGAAACCGGC
+TGTCCGGTCATCAACCCGGTTAAATCAACGCCATAGTAGCCTGCAACCAGCACGACTATCAGTAAAATCA
+GCCCGCCTTTACCGCTTGGCAGGCGAAAACCGGGACCGCCCATTGACGGACCGCCGGAGCTATTGCGCCT
+GTCTTCAACATTGTCACTTTCACGTCGCCCTTGCCAACGCATAGATACCTCAACATTATATTCATTATAG
+AAATGATCGTAGGTGGTTCAGAGGAAGATTACCACAGGAAAGCGGGATGAAATGGCGGAGGAATGAGCGT
+TCAATGCACATCTTATGAGAGCGGTTGTCTTGCCGTGCCAGCAGCACGGCAAGATGATGAACAGAAAAAT
+CAGTCCAGCTGTACACCCAGGCGGCGGGCAACGGCTTCATAGGCTTCGATCAGGCCACCGAGGCTCTGGC
+GGAAACGGTCTTTGTCCATTTTCTCCAGCGTTTCTTTGTCCCACAGGCGGCTGCCGTCCGGGGAGAACTC
+ATCGCCCAGTACCACTTCACCTTTGTACAGGCCAAACTCCAGCTTGAAGTCGACCAGAATGAGACCAGCA
+TCATCGAACAGTTTTTTCAGCACGTCGTTCGCTTTGTAGGTCAGCTCTTTCATACGCGCCAGGTTCTCTT
+TGCTCACCCAGCCAAAGGTTTCGCAGTAAGATTCGTTGACCATCGGATCGTGCATGGCGTCGTTTTTCAG
+GAACAGATCGAACAGTGGCGGGTTCAGCTCAATACCTTCTTCGATTCCAAGACGTTTCACCAGAGAGCCA
+GCAGCACGGTTACGCACGACACACTCAACCGGCACCATATCCAGCTTTTTCACCAGACATTCGGTATCGG
+AGAGCAGACGCTCCATTTGAGTCGGGATACCCGCTTCAGCCAGTTTGCTCATAATGAAGTAGTTGAACTT
+GTTGTTCACCATACCTTTGCGATCAAACTGCTCAATGCGCGCGCCATCCCCTGCTGACGTATCATTGCGG
+AATTCGAGCACCAACAGGTCCGGGTTTTCCGTGCTGTATACGGTTTTCGCTTTACCACGATACAACTCAG
+CTTGCTTTTGCATCTTTATCACTCCTGGGTGTGAATTAACGTTTTAAAATCTTTTGCTGTCTGGTGTGCC
+GGATGTTTTATCGGATGCGGCGTGAACGCCTTATCCGACCTACGTCCGACAAACAAATTTCGTGCGAATT
+ACCGCTAAAATCGCGTTTTTCTGTCGACGCACACGTTTGCGTATCATATCAGAAAAAAGGGCCGGATGAC
+TCCAGCCCTGTATTTTTACTTGCTAAACGCAGCCTGGAAGACAGCTACCAGCGCGTCGTTCTGACTCTGA
+GTCAGAGTATGACCTTTCGGATCGATGAACTGTAGGCTGCTGCGGTTATCTAAATCGCCAACCTGCAGTT
+TATAGTCACCGGATGCCAGACCTGGATCGCTCGCGCCCAGTTCGTGCCATTCGCTGTCAGACAGCGGCTT
+ATAAGTTACGGCCATGTTGCCCTGCGAACGGGTGCTGTCGGTCACTTTCATGCCCACTTTTTCCAGCGCA
+GCTGGCAGACGTTGCCAAACCACATTGAACGGCCCGCGTACGACCAGCATTGGTAAACCGGTGTCATCAG
+CTGCACTTTGTACGTCCATAGTGGTGGAGGCACGGTTTTGCGCAGCGTTCGCGGCGTCAGTGGCAGATTT
+ATCCAGACCGGCGGAAATAACGTTCATCATCTCCGTGCTGTAACGCTGCATGGAAGCCGCGTCTGCAACC
+GGTTTGCCCGCCTGTTCCAGGTTCAGCAGTTTAACCGTAACCGCCTGCTGATAACCCTGCGGCTTAACAG
+AGATTTGATAACGACCACGATACTGCTCGTCTTCGTCCAGACGGTTCCATTGTACCCAATCGGTGGTCAG
+TGTCTGACCAGCATCATCACGTTGGGTGATGGTGTAGTTTTTCGCCTGCAGCACGCTAACCACCTGCGGC
+CACAGAGTATTGCCACGACCATTTTCCACCAGCAATGAAGCGGTATCGCCCGTGAACTGGGTACGCGCGC
+CAGAAACCAGTGCCAACGGCTGGGCTGGTGGACGAATGTCCAGCGCCTTACCGACAGCACCACTACCGTT
+GGTCACCGGGATTGCATAATCGCCGGAGGTCACCGGCAAAATCATTCCAGCCGGGGCATGAAGCTCCGCA
+AGCGGTGCCGCTTCCAGGTAGGCTTCATCACCACTGACCTGACGCTTATAGCGTGAGTCAGAACTACAGG
+CAGCGAGTAATAAAACAAGCGAAACACCCGCAACCTTTGCCAGGCGCGACTTTTGAACAGAGTAAGCCAT
+CAAATCTCCCTAAACTTTACAGCAAACCGGCATGCTTAAGCGCCGCTCTGACCGTCTCACGACCACTGTC
+GGTGATTGGTGTCATTGGCAGGCGCAGCGTATCGGTCGCCACAAGACCCAGTTCCTTACATGCCCATTTC
+ACCGGGATTGGATTGGGTTCGACAAATAGTTTGTTGTGTAATGGCATCAGACGCTGATTAATAACGCGTG
+CCTCGGCAAAATGCCCTTCTGCTGCCAGTTTGCACATCTGGGCCATATCACGCGCTGCGACGTTAGCCGT
+AACGGAAATAACCCCATGACCGCCTAATTGCATGAAGTCCAGCGCGCTCGCATCATCGCCGCTCAGCAGA
+ACAAAATCATCTGAAACCAGCTCTTTGATCTGGTTTACACGCGTTAAGTTCCCTGTTGCCTCTTTGATTC
+CGATAATATTTTTTACTTTCGCCAGACGGCCCACCGTTTCCGGGAGCAGATCGCAGCCAGTACGGGACGG
+CACATTATACAGAATTTGCGGCAGGTCAGTATGTTCAGCGATGGCTTTGAAATGCTGATACAAACCTTCT
+TGCGACGGACGATTGTAGTAAGGGGTTACCGTCAGGCAGCCGACGATACCGCTGTCATTGAAGCGCTGCG
+TCAGGCTAATGGCTTCCGCAGTAGCGTTAGCACCGGTCCCGGCAATCACCGGAATGCGCCCGTCAGCCAG
+CTCCAGCGTCATCATCACCACATCAGCATGTTCGTCATGATTTAAGGTAGCGGACTCGCCAGTGGTGCCA
+ACAGAAACGATCGCCAAAGTACCGCTGGCGACATGATAATCAATCAGTTTTTTCAAGCTAGCCCGACAGA
+CATTACCTTTTTCATCCATCGGAGTAACAATCGCGACAATACTTCCCGTGAACATGGGCCATCCTCTGTG
+CAAACAAGTGTCTCAATGGTACGTTTGGTATGGCATTAAAAGCAAGCAGACAGAACCGTTCTGATTGTTG
+TATGCATGTTTTTTTTATGCTTTCCTTAAGAACAACTCACCCCTTGAAGGAATAACCAGTTTGACACTGT
+CATCGCAACATTATCTGGTGATCACTGCGTTGGGTGCCGATCGCCCTGGAATAGTGAACACCATCACCCG
+TCATGTCAGTAGTTGCGGCTGTAATATTGAAGACAGTCGCCTGGCGATGCTGGGAGAAGAGTTCACGTTT
+ATCATGCTGCTTTCCGGTTCATGGAATGCCATTACTCTGATTGAATCAACGTTACCGTTGAAAGGTGCCG
+AGCTGGATCTTTTAATCGTGATGAAGCGCACGACGGCGCGTCCGCGTCCGCCAATGCCAGCATCTGTCTG
+GGTTCAGGTCGATGTGGCAGACTCCCCGCATTTAATTGAACGCTTCACAGCACTTTTCGACGCGCATCAT
+ATGAACATTGCGGAGCTGGTGTCGCGCACGCAACCTGCTGAAAATGAAAGGGCTGCGCAGTTGCATATTC
+AGATAACTGCCCACAGCCCCGCATCTGCGGACGCAGCAAATATTGAGCAAGCGTTCAAAGCCCTATGTAC
+AGAACTCAATGCACAAGGCAGTATTAACGTCGTCAATTATTCCCAACATGATGAACAGGATGGAGTTAAG
+TAATGAATCCACTGAAAGCCGGTGATATCGCACCGAAATTTAGCTTGCCGGATCAAGACGGAGAACAAGT
+TAATTTGACCGACTTCCAGGGACAGCGTGTTCTGGTTTATTTCTACCCGAAAGCCATGACCCCCGGCTGT
+ACCGTACAGGCCTGCGGCTTACGCGATAACATGGATGAGTTGAAAAAAGCGGGCGTTGATGTGCTGGGTA
+TCAGCACCGATAAACCCGAAAAACTCTCCCGTTTTGCGGAAAAAGAGCTGCTTAACTTTACGCTCCTGTC
+TGATGAGGACCACCAGGTGTGCGAACAATTCGGCGTCTGGGGTGAAAAGTCCTTCATGGGCAAAACCTAC
+GATGGTATTCATCGCATCAGCTTCCTGATTGACGCTGATGGCAAAATCGAACATGTCTTTGACGATTTCA
+AAACCAGCAATCACCACGACGTTGTGCTGAACTGGCTGAAAGAACACGCCTGATTACTTTGCTCCATTCC
+GTGCTGGCTGCGCTTGCGGCCAGCACATCTCAAATCTTCTCACTGCCCTGCAACACTCGTTTAAAATTTT
+TTCGCTGAAGGTCAGTCTTGCGCGATTTGCCCATCAGGCCAGGCGTGAATCACGGCTTTGATCAGCGTCG
+CCAATGGAATAGCGAAGAATACGCCCCAGAATCCCCACAAACCACCGAAGATCACCACCGATAAAATAAT
+CACCAGAGGATGCAGGTTAACCGCTTCGGAGAACAACACCGGTACTAACAGGTTGCCGTCCAGCGCCTGA
+ATAATCAGATACACCGCGAAGCAGCTCCAGAATTCCGTGCCAGCACCAAACTGGAATAGCGCCACGCCAA
+CCACCGGAATGGTCACCACAAATGCGCCAATGTACGGAATAAGTACCGAGAAGCCGACCAGCACCGCCAG
+CAGCAGCGAATAGTTCAGCCCAAAGAGCAAGAACCCCAGCCAGGTGGCGATCCCTACCACGATCATCTCC
+AGCACTTTGCCGCGGATATAGTTGGTGATTTGTTGATTCATCTCCTTCCACACCTGTCCTGCCAGTCCAC
+GGTTGCGCGGCAGCACCCGGCGAACGGCGTTCAGCATCTGCTCTTTGTCTTTCAGCAGGAAGAAGACCAT
+CAATGGCACCAGCACCAGATAGACGGCAATGGTCAGCAAACCAACCAACGAGGCGAGGGAAATTTTCACC
+ACCGAATCGCCCATGGTCAGCATCCTACTGCGCATATTTTCAGCCATTGCATCAATAATGCCCGCATCCA
+TTAACGCCGGATAGCGGCGCGGCAACGTGGCGGCAAAGTCAGAAAGCTTATTGAGCATCCCCGGCATATC
+GCGGATTAAGTAGATGCCCTGCTGCCAGGCGATAGGCAGTACCACGAACGCCATCAGTAGCAGGATGCCC
+ACAAACAGGATCAGCACGATAGATGTCGCCCAAGGGCGGGAACAGCCAATAGACTGCAGGCGGACAGTCG
+GCCATTCCAGTAAATAGGCCAGCACAATAGCCACCAGCAACGGCGCGAGTAGGCCGCTAAAGAAAAAGAT
+AATGCCAAAACCAGCAACCAAAATAACCAGCAAGGCAATCGCTTCCGGGTCGCTAAAACGGCGGCGATAC
+CATTGCATCAACATTTCGAGCATACAGACCTTCCCTGAACCTCAAGAGCGGGATTGCGATCCGCAATTGT
+ATCGAAATGTCACAAAAAAGACTTCGCTTTTTATGACGGATTCAGGAAACTGAAAAGTCATTTGAGTGGG
+CTAATCTTCGCCGTTACACTCAAAGGCGGCGCGGTGGGAACGATATTTCACAGTATCGGTCAAATGACTA
+TCTCCAGAAATACAGGATAGAGGTTATGTTCAGGCAGTTGAAAAAAAACCTGGTTGCAACCCTCATTGCT
+GCTATGACCATTGGTCAGGTAGCCCCGGCGTTTGCCGACAGCGCAGACACCTTGCCGGATATGGGAACCT
+CCGCAGGAAGCACACTTTCCATTGGTCAGGAAATGCAGATGGGCGACTATTATGTCCGCCAGTTACGCGG
+CAGCGCGCCGTTAATTAATGATCCGCTGTTAACGCAATACATTAATTCGCTAGGAATGCGTCTGGTTTCG
+CATGCCAATTCGGTTAAGACACCGTTTCATTTCTTTCTGATCAACAACGATGAAATTAACGCCTTTGCTT
+TCTTTGGCGGCAACGTGGTGCTGCACTCTGCCCTGTTCCGTTATTCCGATAACGAAAGTCAACTGGCTTC
+AGTTATGGCGCACGAAATCTCCCACGTCACCCAACGTCACCTGGCGCGAGCGATGGAAGATCAGCAGCGC
+AGCGCGCCGCTGACCTGGGTCGGCGCGTTAGGTTCTATTTTACTGGCGATGGCCAGTCCGCAGGCGGGGA
+TGGCGGCGCTGACCGGTACACTGGCGGGAACGCGCCAGGGGATGATCAGTTTCACCCAGCAAAATGAACA
+GGAAGCGGACCGCATTGGTATTCAGGTGCTGCAACGCTCGGGATTCGATCCGCAGGCGATGCCGACCTTC
+CTCGAAAAATTACTCGATCAGGCGCGTTACTCTTCGCGCCCGCCAGAAATTCTGCTCACTCACCCACTAC
+CGGAAAGCCGTCTGGCTGATGCCCGTAACCGTGCCAATCAGATGCGCCCGATAGTGGTGCAATCGTCAGA
+AGATTTCTATCTGGCAAAAGTGCGCACACTGGGGATGTACAATTCAGGGCGTAACCAACTCACCAGTGAT
+TTGCTGGATGAATGGGCGAAAGGAAACGTTCGTCAGCAACGAGCGGCGCAATATGGTCGTGCTTTACAGG
+CGATGGAAGCCAATAAATACGACGAAGCGCGTAAAACGCTGCAACCGTTACTGGCGGCAGAACCTGGCAA
+CGCATGGTATCTCGATCTGGCTACCGATATCGATCTTGGGCAAAACAAAGCCAATGACGCTATCAATCGC
+CTGAAAAATGCCCGCGATTTGCGCACCGATCCGGTGTTGCAGCTCAACCTGGCGAACGCTTATCTGCAAG
+GGGGGCAACCACAGGAAGCGGCCAATATTCTGAATCGCTACACTTTTAACAATAAAGATGACAGCAACGG
+CTGGGATTTACTGGCACAGGCGGAAGCCGCACTAAATAACCGCGATCAGGAACTGGCTGCGCGAGCAGAA
+GGTTATGCGCTCGCCGGGCGACTCGATCAGGCTATTTCCTTGTTGAGTAGCGCCAGTTCGCAGGTGAAAT
+TAGGCAGCCTGCAACAAGCGCGTTACGATGCGCGCATCGACCAGTTGCGCCAGCTGCAGGAACGCTTTAA
+GCCTTATACCAAGATGTAATTCGCATTAAAGGAAGAACAATGACCAAACAGGTAAAAATCTACCATAACC
+CACGCTGTTCAAAGAGCCGGGAAACGCTGAACCTGCTGAAAGAAAACGGCGTGGAGCCAGAAGTGGTGCT
+CTACCTTGAGACACCCGCCGATGCGGCAACGCTGCGTGATTTGCTGAAAATGCTGGGGATGAATAGCGCT
+CGTGAATTGATGCGCCAAAAAGAGGATCTTTATAAAGAACTGAACCTGGCTGACAGTTCACTTAGCGAAG
+AGGCGCTGATTCAGGCGATGGTGGATAATCCGAAGCTAATGGAACGCCCGATTGTGGTCGCGAATGGCAA
+AGCACGGATTGGTCGTCCACCGGAGCAGGTACTGGAAATCGTGGGTTAAGATGTGCTCCATCGCTAGTTG
+AAGCACATTGCCGGATGCGACGCTTGCCGCGTCTTATCCGGCCTACGAATACTATGGATTAACTTCGCGT
+AGGTCGGATAAGGCGTTCGCGCCGCATCCGACAATAAACACCTTATCTACAACTTCAGAATTTCTTTCAC
+AAAAGGAATGGTCAGCTTGCGTTGCGCGGTAATCGACGCACGATCCAGCTGATCCAGCGTCATAAACAAC
+GTGCGCATTTCTCTGTCGAGCCGCTTCAGCAAGAAACGCCCCACATCTTCCGGCAGTTCAAAACCACGCA
+AACGCGCGCGTAACTGTAGCGCCTGCAACTTATCTTCATCAGAAAGTGGCTGCAATTTGTAGATCTGCCC
+CCAGTCGAGACGCGACGCGAGATCCGGTAATCCCAGATTCAACTGCCGCGGTGGACGATCGCCGGTGATC
+AACAACCGTGTTTTGCCCGATTCCAGAATTCGATTGTAGAGATCGAAAATCGCCATCTCCCACAACTCAT
+CGCCGGCAATACACTCAATGTTGTCAATACAGACCAGCGACAAATGCTCCATACCGTCGAGCACTTCCGG
+AACAAACCAGGTGCGTTTATCCAGCGGGACATAGCCCACCGCATCGCCACGCTGTGACAATTCCGCGCAA
+GCCGCGTGCAGCAGATGGCTGCGCCCCGCGCCTTCGCGTGCCCAGAGATAGATGTAACCGCTATGTTCCT
+GACGCAGCACGTTTTGCAGCGCGGCCAGTAAAGAGGAGTTATCCCCCGGCCAGAAACTTGCAAAGGTTTC
+GTCGTCAGGAAGATAAAGTGGCAAAGAGAGCTGTGCCGGTGTGTTCAGAGATACCTCAACCAGGATTTCA
+CAAAATCGCGAGAAGTTTACCACAGAATCCCATGATGTTTGAACCGGGCAGCAACACTGCCCGGTCGGTA
+CATTATTTGTCTGTTATATCCGCGTCTTCTGCGTCCAGCACCACTTCTTCAGGGCGCAGCATACTAATCA
+GTTTGAAGATCAAACTTAAGCCGATACCGACGATGGTCGCCAGCGCCATACCTTTCAGCTCCGCCGCGCC
+AATGTTTACCTTCGCGCCACTGACGCCGATGATCAAAATAACGGAAGTCAGGATCAGGTTCTGTGCTTTG
+TTGTAATCCACTTTCGATTCGATCAACACACGAATACCGGAAGCACCGATGACCCCGTAAAGCAGCAGCG
+AAACGCCGCCCATCACCGGCAATGGAATCATCTGGATAGCAGCAGCCAGTTTACCGACGCAGGAAAGCAG
+GATAGCGAAAATCGCCGCACCGCCGATAACCCAGGTACTGTAAACACGGGTGATCGCCATCACGCCAATG
+TTTTCTCCGTAAGTGGTGTTTGGTGTGGAACCAAAGAAACCGGAGATCACGGTCGACAAGCCGTTAGCAA
+ACATCGAACGGTGCAGACCTGGATCGCGCAGCAGATCTTTTTTGACGATATTAGCCGTTACGACCAGGTG
+CCCTACGTGTTCGGCAATAACCACTAACGCCGCTGGCAGAATAGTCAGAATGGCAAACCACTCGAAGCGC
+GGCGTATAGAGGGTCGGCAGCGCAAACCAGTGAGCATTAATAATCGGCGTGGTATCGACAATTCCCATTG
+CGAAAGAGAGCGCGTACCCCACCAGCACGCCAATTAAAATCGGGATAATTGCCAGGAAACCACGAAACAG
+CACGGAACCTAAAACCGTGACCGCCAGGGTGGTAATAGAGATGATGATGGTTTTGGAGTCTGGCGTTTGC
+CCTTCAGCCGGGAGTAAACCCGCCATACCGGCAGCTACGCCCGCCAGCTCCAGACCGATGACGGCAACGA
+TTGCGCCCATTGCCGCAGGTGGAAACAGCACGTCCAGCCAGCCGGTCCCCGCTTTCTTCACGATAAAAGA
+AACCAGGCAGAACAGCACGCCGCACATAATAAAGCCGCCCAGCGCAACTTCATACCCCAACGGCAACAGT
+AACAATACCGGTGAAATAAAGGCAAAGCTGGAACCAAGATAAGCCGGAATTTTCCCTTTACAGATGAAGA
+GATACAGCAGTGTTCCTATACCGTTAAATAACAGTACAGTCGCCGGGTTAATATGAAATAAGACGGGCAC
+CAGGACGGTTGCACCAAACATGGCGAACAAATGTTGCAAACTAAGCGGGATTGTCTGTAAAAGTGGCGGT
+CTTTCACTCACCCCGATAGCACGGCGCGTCATAGTATTATCCTCTGTATTATGTGTTATAGGCGCTTTAC
+TCAAAAAAAAGCCGACTCTTAAAGTCGGCTTTAATTATTTTTATTCTTTATTTCGTACCAAAGATTTTGT
+CACCGGCATCGCCGAGGCCCGGAATAATGTATCCGTGCTCGTTCAGTCCCTGGTCAATCGATGCAGTATA
+CAGTTCGACGTCCGGGTGCGCTTTTTCCAGCGCAGCGATACCTTCTGGTGCAGCTACCAGCACCAGAACT
+TTGATGCTGCTGCAGCCCGCTTTTTTCAGCAGGTCGATGGTCGCGATAACGGAACCACCGGTTGCCAGCA
+TTGGGTCAACGATCAGCGCCATACGCTCATCGATGTTAGAAACCAGTTTCTGGAAGTACGGTACCGGCTC
+CAGCGTTTCTTCATTACGGTACATACCGACGACACTGATGCGCGCACTCGGAACGTTTTCCAGCACACCG
+TCCATCATCCCAAGACCCGCACGCAGAATTGGCACAACGGTAATTTTCTTACCTTTGATCTGGTCGATTT
+CTACCGGGCCGTTCCAGCCTTCGATAGTGACTTTTTCCGTTTCGAGGTCGGCGGTCGCTTCGTAAGTCAG
+CAGGCTACCCACTTCGGAAGCGAGTTCGCGAAAGCGCTTGGTGCTGATATCTTGCTCACGCATCAGTCCC
+AGCTTGTGTTTGACGAGTGGGTGTTTGACTTCCACGATCTTCATACTCTTTCTCCTTTGAGGGGCAGCCA
+CAAAAAAAATCGACGGATTATACCTCCTTTCTTCAAGGCGGCAATATTATTTTCGTTGACTTTAGTCAAA
+ATGATAACGGTTTGAGATAAAGTTATTTTATATTCAAATGGTTATGGAAGAAGATTATTCCATCCGAAAA
+CGATCCTTTGCCCTGGTACAAGTATTCTTTCGCCGCGCGCCTGGGGAAAAGACGTGCAAAAAGGTTGTGT
+AAAGCAGTCTCGCAAACGTTTGCTTTCCCTGTTAGAATTGCGCCGAATTTTATTTTTCTACCGCAAGTAA
+CGCGTGGGGACCCAAGCAGTGACCGATAAAACCTCTCTTAGCTACAAAGATGCCGGTGTTGATATTGACG
+CGGGTAATGCTCTGGTTGGAAGAATCAAAGGCGTAGTGAAGAAAACGCGTCGTCCGGAAGTGATGGGCGG
+TCTGGGCGGCTTCGGTGCGCTGTGTGCATTGCCGCAAAAATATCGTGAACCTGTGCTGGTTTCCGGCACT
+GACGGCGTAGGTACCAAGCTGCGTCTGGCGATGGACTTAAAACGTCACGACACCATTGGTATTGATCTGG
+TCGCCATGTGCGTTAATGACCTGGTGGTGCAAGGTGCGGAACCGCTGTTTTTCCTCGACTATTACGCAAC
+CGGAAAACTGGATGTTGATACCGCTTCAGCGGTGATCAGCGGCATTGCGGAAGGTTGTCTGCAATCGGGC
+TGTTCACTGGTGGGTGGCGAAACGGCGGAAATGCCGGGGATGTATCACGGTGAAGATTACGATGTCGCTG
+GTTTCTGCGTTGGCGTGGTAGAAAAATCAGAAATCATTGACGGCTCTAAAGTCAGCGACGGCGATGTGCT
+GATTGCACTCGGCTCCAGCGGCCCGCACTCGAATGGCTATTCGCTGGTGCGCAAAATTCTTGAAGTCAGC
+GGTTGTGATCCGCAAACCACCGAACTTGATGGTAAGCCATTAGCCGATCATCTGCTGGCACCGACCCGCA
+TTTACGTGAAGTCAGTGCTGAAGTTGATTGAAAAGGTCGATGTGCATGCCATTGCGCACCTGACCGGCGG
+CGGTTTCTGGGAAAACATTCCGCGCGTATTGCCAGATAATACCCAGGCAGTGATTGATGAATCTTCCTGG
+CAGTGGCCGGAAGTGTTTAACTGGCTGCAAACGGCAGGTAACGTTGAGCGCCATGAAATGTATCGCACCT
+TCAACTGCGGCGTCGGTATGATTATTGCCCTGCCTGCTCCGGAAGTGGACAAAGCCCTCGCCCTGCTCAA
+TGCCAACGGTGAAAACGCGTGGAAAATCGGTATCATCAAAGCCTCTGATTCCGAACAACGCGTGGTTATC
+GAATAATGAATATTGTGGTGCTTATTTCCGGCAACGGAAGTAATTTGCAGGCAATTATTGACGCCTGCAA
+AACCAACAAAATTAAAGGCACCGTACGGGCAGTTTTCAGCAATAAGGCCGACGCGTTCGGCCTTGAACGC
+GCCCGCCAGGCGGGTATTGCAACGCATACGCTCATCACCAGCGCGTTTGACAGTCGTGAAGCCTATGACC
+GGGAGTTGATTCATGAAATCGACATGTACGCACCCGATGTGGTCGTGCTGGCTGGTTTTATGCGCATTCT
+CAGCCCGGCGTTTGTCTCCCACTATGCCGGGCGTTTGCTGAACATTCACCCTTCTCTGCTGCCGAAATAT
+CCCGGATTACACACCCATCGTCAGGCGCTGGAAAATGGCGATGAGGAGCACGGTACATCGGTGCATTTCG
+TCACCGATGAACTGGACGGTGGCCCGGTTATTTTACAGGCGAAAGTCCCGGTATTTGCTGGTGATACGGA
+AGATGACATCACCGCCCGCGTGCAAACCCAGGAACACGCTATTTATCCACTGGTGATTAGCTGGTTTGCC
+GATGGTCGTCTGAAAATGCACGAAAACGCCGCGTGGCTGGATGGTCAACGTCTGCCGCCGCAGGGCTACG
+CTGCCGACGAGTAATGCCCCCGTAGTTAAAGCGCCAGCTCTGCCGCTGGCGTTTTTCAATTCACCTGTAA
+ATCGCAAGCTCCAGCAGTTTTTTTCCCCCTTTTCTGGCATAGTTGGACATCTGCCAATATTGCTCGCCAT
+AATATCCAGGCAGTGTCCCGTGAATAAAACGGAGTAAAAGTGGTAATGGGTCAGGAAAAGCTATACATCG
+AAAAAGAGCTCAGTTGGTTATCGTTCAATGAACGCGTGCTTCAGGAAGCGGCGGACAAATCTAACCCGCT
+GATTGAAAGGATGCGTTTCCTGGGGATCTATTCCAATAACCTTGATGAGTTCTATAAAGTCCGCTTCGCT
+GAACTGAAGCGACGCATCATTATTAGCGAAGAACAAGGCTCTAACTCTCATTCCCGCCATTTACTGGGCA
+AAATTCAGTCCCGTGTGCTGAAAGCCGATCAGGAATTCGACGGCCTCTACAACGAGCTACTGCTGGAAAT
+GGCGCGCAACCAGATCTTCCTGATTAATGAACGCCAGCTCTCCGTCAATCAACAAAACTGGCTGCGTCAT
+TATTTTAAGCAGTATCTGCGTCAGCACATTACGCCGATTTTAATCAATCCTGACACTGACTTAGTGCAGT
+TCCTGAAAGATGATTACACCTATCTGGCGGTGGAAATTATCCGTGGCGATACCATCCGTTACGCGCTGCT
+GGAGATCCCATCAGATAAAGTGCCGCGCTTTGTGAATTTACCGCCAGAAGCGCCGCGTCGTCGCAAGCCG
+ATGATTCTTCTGGATAACATTCTGCGTTACTGCCTTGATGATATTTTCAAAGGCTTCTTTGATTATGACG
+CACTGAATGCCTATTCAATGAAGATGACCCGCGATGCCGAATACGATTTAGTGCATGAGATGGAAGCCAG
+TCTGATGGAGTTGATGTCTTCCAGTCTCAAGCAGCGTTTAACTGCTGAGCCGGTGCGTTTTGTTTATCAG
+CGCGATATGCCCAATGCTCTGGTTGAAGTGTTACGCGAAAAACTGACTATTTCCCGCTACGACTCCATCG
+TCCCCGGCGGTCGTTATCATAATTTTAAAGACTTTATTAATTTCCCCAATGTCGGCAAAGCCAATCTGGT
+GAACAAACCACTGCCGCGTTTACGCCATATTTGGTTTGATAAAGCCCAGTTCCGCAATGGTTTTGATGCC
+ATTCGCGAACGCGATGTGTTGCTCTATTATCCTTATCACACCTTTGAGCACGTGCTGGAACTGCTACGTC
+AGGCGTCGTTCGACCCGAGCGTGCTGGCGATAAAAATCAATATCTACCGCGTAGCGAAAGATTCACGCAT
+CATCGACTCGATGATCCACGCCGCACACAACGGTAAGAAAGTCACCGTGGTGGTTGAGTTACAGGCGCGT
+TTCGACGAAGAAGCCAACATTCACTGGGCGAAGCGCCTGACCGAAGCAGGCGTGCACGTTATCTTCTCTG
+CGCCGGGGCTGAAAATTCACGCCAAACTGTTCCTGATTTCACGTAAAGAAAACGGTGAAGTGGTGCGTTA
+CGCACACATCGGGACCGGGAACTTTAACGAAAAAACCGCGCGTCTTTATACTGACTATTCGTTGCTGACC
+GCCGATGCGCGCATCACTAACGAAGTACGGCGGGTGTTCAACTTTATTGAAAACCCATACCGTCCGGTGA
+CATTTGATTATTTAATGGTGTCGCCGCAAAACTCTCGCCGTCTGTTGTATGAAATGGTGGACCGCGAGAT
+CGCCAACGCGCAGCAAGGGCTGCCCAGTGGTATCACCCTGAAGCTAAATAACCTTGTCGATAAAGGCCTG
+GTTGATCGTCTGTATGCGGCCTCCAGCTCCGGCGTACCGGTTAATCTGCTGGTGCGCGGAATGTGTTCTC
+TGATCCCCAATCTGGAAGGCATTAGCGACAACATTCGTGCCATCAGTATTGTTGACCGTTACCTTGAACA
+TGACCGGGTTTATATTTTTGAAAATGGCGGCGATAAAAAGGTCTACCTTTCTTCCGCCGACTGGATGACG
+CGCAATATTGATTATCGTATTGAAGTGGCAACGCCGCTGCTCGATCCGCGCCTGAAGCAGCGGGTGCTGG
+ACATCATCGACATATTGTTCAGCGATACGGTCAAAGCACGTTATATCGATAAAGAACTCAGTAATCGCTA
+CGTTCCCCGCGGCAATCGCCGCAAAGTACGGGCGCAGTTGGCGATTTACGACTACATCAAATCACTCGAA
+CAATCTGAATAACCCTATGCCAATACACGATAAATCCCCTCGTCCGCAGGAGTTTGCTGCGGTCGATCTT
+GGTTCAAACAGTTTTCACATGGTCATAGCCCGTGTGGTAGATGGTGCCATGCAGATTATTGGCCGCCTGA
+AACAGCGGGTGCATCTGGCGGACGGCCTGGGGCCAGATAATATGTTGAGTGAAGAGGCAATGACGCGCGG
+TTTGAACTGTCTGTCGCTATTTGCCGAAAGGCTACAAGGGTTTTCTCCTGCCAGCGTCTGTATAGTTGGT
+ACCCATACGCTGCGTCAGGCGCTGAACGCCACTGACTTTCTGAAACGCGCGGAAAAAGTCATTCCCTACC
+CGATCGAAATTATTTCCGGTAATGAAGAAGCCCGTCTGATTTTTATGGGCGTGGAACATACCCAACCGGA
+AAAAGGTCGCAAACTGGTTATTGATATTGGCGGCGGTTCTACAGAACTGGTGATTGGTGAAAATTTCGAA
+CCGATTCTCGTTGAAAGCCGCCGGATGGGTTGTGTCAGCTTTGCCCAGCTTTATTTTCATGGCGGGGTCA
+TCAATAAAGAGAATTTTCAGCGCGCTCGCATGGCGGCAGCACAAAAACTGGAAACGTTAACCTGGCAATT
+TCGAATTCAGGGCTGGAACGTGGCAATGGGCGCTTCCGGTACCATAAAAGCCGCCCATGAAGTGTTAATG
+GAAATGGGCGAGAAAGACGGGATAATTACCCCGGAACGTCTGGAAAAACTGGTAAAAGAAGTTTTACGGC
+ACCGTAATTTCGCATCGCTGAGTTTACCAGGTCTTTCCGAAGAGCGGAAAACAGTCTTCGTTCCTGGACT
+GGCGATTTTATGCGGTGTGTTTGATGCTTTAGCCATCCGTGAACTGCGCCTTTCTGACGGGGCGTTACGC
+GAAGGCGTACTGTATGAAATGGAAGGACGTTTCCGTCATCAGGATGTGCGTAGTCGCACTGCCAGCAGCC
+TCGCCAACCAGTATCACATCGACAGCGAACAGGCCCGACGGGTGCTGGATACCACTATGCAAATGTACGA
+ACAGTGGCGGGAACAGCAACCGAAGCTGGCGCATCCACAACTGGAGGCGCTACTGCGATGGGCCGCCATG
+CTGCATGAGGTCGGGTTGAATATCAACCACAGCGGTTTGCATCGCCACTCCGCTTATATTCTGCAAAACA
+GCGACTTGCCGGGTTTTAATCAGGAACAGCAGCTGATGATGGCGACACTGGTGCGCTATCACCGTAAAGC
+GATTAAACTCGACGATCTGCCGCGCTTTACCTTGTTTAAGAAGAAACAGTTCCTGCCACTGATTCAGCTA
+TTGCGCCTTGGCGTATTACTCAATAATCAACGTCAGGCAACCACCACACCGCCAACATTGACGCTGATTA
+CTGATGACAGTCACTGGACACTGCGTTTCCCGCATGACTGGTTTAGTCAGAATGCGCTGGTACTGCTTGA
+TCTGGAAAAGGAGCAAGAATACTGGGAAGGCGTGGCTGGCTGGCGGTTGAAAATTGAAGAAGAAAGTACA
+CCAGAAATCGCCGCTTAATGCTTTGCGGGCCGACGAGAAATGTCGGCCCGCATTATTCAGGCACTTTCGC
+GAATGGGTTCGATTTCATTCAGCGTATCAATTAACGGTTGCGGCTTACCAATAAGATAACCCTGCATATA
+ATCAATCCCCAAAGAGAGCACCGCCTCGCGGATCTCTTCGTTTTCAACGTACTCTGCCACTACCCGCATT
+TTCTTCATTCGCGCCAGGTGGCAAATCGACGCCACTATCTGATAATCCAGACTATTTGACACAATATTGC
+GGATAAAACTGCCGTCAATTTTAAGCAGATCGGCATTCACATTTTTAAGCCGCGCATAGCTGGCGTAGCC
+GGTGCCGAAATCATCAATCGCAATCTGGCAGCCTAATTCCTGAAGATGCTGCAAGGTGATTTGCGCCTGC
+TTAACATTGGTCAGAGCATTACTTTCGGTGACTTCAAAAATAAGTTGCCACGCTTCAATCTGATATTTAG
+CCAGCAGCTGACTGACTTCAACAGGAAAACGAGCCTGACATACCGAGGTTGGAGACAGATTAATAGCAAA
+ACGGTGAGCAGGCATCTTCGCTCTGTTTTCAGCCATAAATTGCAGCGTATGCTCAATGACCCACATGTCG
+ATACTCGACGATAAACCAAATTCGTGCGCGACCGGTAAGAAGCTATCGGGGCTGATCAGCTCATCATTCT
+CACCCTTCATGCGCAGAAGAATTTCATGGTAAACATCACCACGCATACCGGTAATCGGCTGGGCCATCAG
+GAAAAAATGGTTGTGTTCCAGCGCCTGCTGTAGTCGATTCATCATCGCGACTTTATCTTTCAATTCGCGT
+TGCAAATACATTGCTCCGCGACGCTGCATATTTTCCGGGGCGTTGGTCACGATGGAAAGTTCGGCCACCG
+TATTTAGCTCTCCCAGCAGCAGATAGATATGATTCACTGGCGAGCGCACATAGCAGTAACTGACGCCAAT
+CTGCGGTTGCATCGGCATTCCATCCCAAAAGAAACGAAATTGCTTGAGATGGCTATCCAGTGCGGTAATG
+CGCTCCTGGTGCGATTCTGTATTCAGCCGCAGCGCGAGATCGTTACCCGAAAGCTGATAAACATCTTCAC
+CCGGTTCCAACAATGGTGACAGCCAGTGAGAAAGTTTTTGCTTGTATTGAATCCGCAGCATGATGCCATA
+ATTCTTAACCAGCATTTCCATGCCAGGGATGCGTAAATAACAAAGCGCAGACCAGGGGGCATCACGTAAC
+GCGCGATTCAGGGCGCGAACATTTGGCAGATGAACCACCGGGTCCACATACGCAAGCCGCTGAATGCGTC
+TGACTACCGCTCGCTGACGGGTTGCCAGTACAGCCATATAATTGACAATAAAAGAGAATACCAGATAACT
+GGAGGAGGTTATGGTCAGCTGCGTGGTATAGCCAGGATAAATGGGAATGTAATTTTGATAGCTGTGGATG
+CTGATCATCAACACGACCGCCCAGAGCAATGAAATCAGCTTATAACCATAGCGCATCGCTCCCCACATCA
+TCAGGGGCAGCAATAATGACAAGGTGTAATTGGTGCTAAAAATCGTGCTTTTTTCATTTAACGGCATGCA
+TAACAGCAACAATAAAGCACCTAATGCCAGTAGCCAGATTGCGAACTCTTTTTTGGTAACTTTGGCATCA
+ACCTGCTGTTTTAATTGCGAATAATAGCTACGTAAATAAAACGGATTTCGCACCACCCGAATGATGAAGT
+AGCACAGCGGGACACCAATCAGATTACCCACCAGCAAGGCCTGATAATTGATTAAGGTCCCGAGGTTAAA
+GGGCATGACGCCGACCAGATTTTCTCTGCTCGCCAGTAATCCAACAAACGCAGCAAACTGGAAAAGTATC
+AGAAACAGCGTTGCAGGAAACACAATCTGCCAGAATAGTCGCTGGGAAATTAAACGGCTATCACCATGTG
+AAACGTTGTTACGCCGGGGAGTAAAAACCCTGTAACCGCCCCAACAGAGAATGATAATGATAATAAAATT
+AGCCGTTAATGAGAGCGTTTCGTAAAAACCCAGCTCTGCATATTTGCGGACAAAAATCCCTAAGGCGATC
+CCTGGCAATGCCGCCCAGCTGAAAAACATCATCATGCTGATCATCAGTGCCAGTGGCAGATAAAAGAGAA
+AAACTTCACCGGAAGAAATATGCGCGAAAGTATTAATGTGGGCGAAAATGGGCAAGATTAAAGAAGGCAG
+GAACAGCGGAAGCCCCCACCATTTATCACGTATTTTTATATAAGTTGCATTCAGTTTCATAGATGCTCAG
+CAGAATCCCCCACATCCTGAAGGAGGTGTATTCAGACAGGCATCCCACCTGACTTCGAATGATGATTATT
+CATCACTATAGAGAGCAATGATTCTAAGTGTCATATGAAAGTTCCAATTGATATATATCAAACAAAATAA
+CCCTGATTAATGAATTATTACGTTTATCATGTTAACTCATCATTATTACATCATCATTGTAAATAATTAA
+ATTAACTTCCATAACATTAAAATATGTATCCACTGACGCTTTTTTACATAACGAAGAATTGACCATTTTG
+TCCTGTTGTGCCTTAATGTAAGTACCGTCCACGGCGTGGGACATACTTCAAGGAACCTTTTGTGAGTCAG
+GCAACCAGTATGCGAAAACGACACCGATTTAACAGTCGCATGACCCGTATCGTACTGCTCATCAGCTTTA
+TCTTCTTCTTTGGCCGTTTTATCTACTCGTCCGTCGGTGCCTGGCAGCACCATCAGAGCAAAAAAGAAGC
+TCAGCAATCCACACTCTCCGTCGAATCACCGGTACAACGTTAGCGGTTACCTTCTCCACTCTCACAGAAC
+ATAACGGCACCTCGCTGTCGGATGCTTTTGCTCTTTGAGATTATCAAAGCGGCAGATATTCTTTCATCTT
+AAATTTTACGTCTTTGTTCTGACTGAAGTTCATCCTGTTCGGCTGCGAAATAAATACATCATTAATACAT
+ATGTTGTGATGATGTATTTTTATAAATTATTTCCCGCATGAATTTTAATAAATTTAATCTATTCCTTTAT
+ACGCAATACATTTACTTTCCTCTTTTGATGATCTTAAATGTCTCATTTTTCGTAATGTGTATAACAAGGA
+ATAGTGATGAAATTTAAAAAATGTCTTCTGCCTGTGGCAATGTTAGCGTCATTCACTCTGGCAGGATGCC
+AGTCAAATGCTGATGATCATGCTGCCGATGTTTATCAAACCGATCAACTGAATACCAAACAAGAAACTAA
+AACCGTTAATATTATTTCCATTCTTCCCGCAAAAGTTGCCGTAGACAACGCCCAAAATAAACGGAACGCA
+CAAGCCTTCGGCGCGCTTATTGGCGCTGTCGCTGGCGGTGTTATCGGCCACAACGTCGGGTCTGGCAGCA
+ATTCCGGAACGACGGCAGGTGCAGTTGGCGGCGGAGCTGTAGGCGCGGCAGCGGGTTCGATGGTGAATGA
+TAAAACCTTAGTGGAAGGTGTTTCTTTAACATATAAGGAAGGCACCAAAGTGTATACCTCCACCCAGGTG
+GGTAAAGAGTGCCAGTTTACGACAGGTTTAGCCGTTGTTATTACCACGACGTATAACGAAACGCGTATTC
+AGCCAAATACCAAATGTCCTGAAAAGAGCTAATAATCAGGAGGAGTCATGAAGAAAGTTTTTCTTTGCGC
+CATCTTAGCCTCCTTAAGCTATCCGGCTATCGCCTCATCATTGCAGGATCAACTCTCGGCTGTCGCAGAA
+GCGGAACAGCAAGGTAAAAATGAAGAGCAAAGGCAGCATGACGAATGGGTCGCGGAGCGCAACAGGGAAA
+TCCAGCAAGAGAAGCAACGTCGCGCAAACGCCCAGGCCGCGGCTAATAAAAGAGCGGCAACGGCAGCGGC
+GAATAAGAAAGCTCGTCAGGATAAACTGGACGCCGAAGCCACTGCGGACAAAAAACGCGATCAAAGTTAT
+GAAGATGAGCTACGCAGCTTAGAGATTCAGAAACAAAAACTGGCGCTGGCGAAAGAAGAAGCCCGCGTCA
+AGCGCGAAAACGAATTTATCGATCAGGAACTGAAGCACAAAGCTGCGCAAACCGATGTGGTGCAATCTGA
+AGCTGACGCAAACAGAAATATGACTGAAGGCGGTCGCGATCTGATGAAAAGCGTGGGTAAAGCAGAAGAG
+AACAAATCGGACAGCTGGTTTAACTAAGCGATGTCAGTAACTTCAAGCCTATGATTCGTGAGTATAAAAA
+ACCCTCTGTAGTAACAGAGGGTTTTGTTCATTCATAGTGCAGGGTTCAAATCATTCCCACTCAATAGTCG
+CTGGCGGCTTGCCGCTGATGTCATACACCACGCGGGAAATACCGTTCACTTCATTGATAATACGGTTGGA
+AACGCGGCCGAGGAAGTCGTACGGCAGATGTGCCCAGTGTGCGGTCATAAAGTCGATGGTTTCGACAGCA
+CGCAGAGAGACAACCCAGTCATACTTACGACCATCGCCCATTACGCCAACGGAACGTACTGGCAGGAAGA
+CGGTGAACGCCTGGCTGACTTTGTCGTACAGGTCCGCTTTACGCAGTTCTTCAATGAAGATGGCGTCAGC
+ACGGCGCAGCAGGTCACAATACTCTTTCTTCACTTCCCCCAGAACACGAACTCCAAGGCCTGGTCCCGGG
+AACGGGTGACGGTACAACATGTCATACGGTAGGCCCAGCTCCAGACCAATCTTACGCACTTCGTCTTTGA
+ACAGCTCTTTCAGCGGTTCAACCAGGCCCATCTTCATCTCTTTCGGCAGCCCACCCACGTTGTGGTGAGA
+TTTGATGACGTGTGCTTTACCGGTTGCAGAAGCAGCAGATTCGATAACGTCAGGGTAGATGGTGCCCTGC
+GCCAGCCACTTCACGTCTTCCAGTTTCAGCGCTTCTTCATCGAATACTTCAACGAAAACGCGACCGATGA
+TTTTACGTTTTGCTTCCGGATCGTTTTCGCCAGCCAGCGCTGACAAGAAGCGATCTTCTGCCGGTACGTG
+AACAATATTCAGACCAAAGTGATCGCCAAACATATCCAGAACCTGCTCTGCTTCGTTGAGACGCAGCAGG
+CCGTTGTCGACGAATACGCAAGTCAGGTTTTTACCGATAGCGCGGTGCAACAGCATTGCGGTAACGGAGG
+AATCCACGCCACCAGAGAGGCCGAGGATGACTTTATCGTCGCCCACTTGCTCGCGGATGCGGGCTACAGC
+GTCGTCGATAATTTTCGCTGGCGTCCACAGGGCTTCACACTGGCAGATATCACGCACAAAACGCTCCAGC
+ATGCGCATACCCTGGCGGGTGTGAGTCACTTCCGGGTGGAACTGTACGCCATAGAAGCGTTTTTCTTCGT
+TGGCCATGATGGCAAACGGGCAGCTTTCGGTGCTGGCTACGGTGACGAAGTCGGACGGGATAGCGGTAAC
+TTTATCGCCGTGGCTCATCCAGACGTCCAGCAGCGGTTTACCATCTGCGGTCAGCGCATCTTCGATACCG
+CGAACCAGTGCGCTGTCGTTTACGACTTCAACCTGCGCGTAGCCAAATTCACGTTCATTAGAAGCCTCAA
+CGTGACCGCCCAACTGCATCGCCATGGTCTGCATACCATAGCAAACGCCGAATACCGGTACGCCTGCTTC
+AAAGACATACTGCGGCGCACGCGGGCTGTTTTCTTCAGTAGTACTTTCCGGGCCGCCGGAAAGAATAATG
+CCGCTTGGATTGAAGTCACGAATTTGTGCTTCTGTCACATCCCACGCCCACAGTTCGCAGTAAACACCCA
+GCTCACGCACGCGGCGCGCAACCAGTTGAGTGTACTGAGAACCGAAGTCCAGAATGAGGATGCGATGCTT
+ATGAATGTTTTCCGTCATTGACGCTTATTCCGAGGCAAGTGAAACAGATAATATAAATCGCCCGACATGA
+AGTCGGGCGAAGAGAATCAGGAGCCCAGACGGTAGTTCGGGGACTCTTTAGTAATGGTCACGTCGTGAAC
+GTGGCTTTCCTGAATACCCGCACCGCTGATACGTACAAACTCCGCTTTAGTACGCAGTTCGTCGATAGTA
+CCACAGCCGGTCAGGCCCATACAGGAGCGCAGGCCGCCCATCTGCTGGTGAATGATCTCTTTCAGGCGAC
+CTTTATAGGCTACGCGGCCTTCGATACCTTCCGGCACCAGTTTGTCGGCAGCGTTGTCGCTCTGGAAGTA
+ACGGTCAGAAGAACCTTTGGACATCGCGCCCAGGGAACCCATACCACGGTAAGATTTGTAAGAACGGCCC
+TGGTAGAGTTCGATTTCACCCGGAGATTCTTCAGTACCTGCCAGCATGGAACCTACCATCACCGCGCTTG
+CGCCAGCAGCGATAGCTTTAGCGATATCGCCTGAGAAACGGATACCGCCGTCAGCGATAACCGGAATGCC
+GGTACCTTCCAGGGCTTCTACTGCATCAGCAACGGCGGTGATCTGCGGAACACCGACACCAGTCACGATA
+CGCGTCGTACAGATAGAACCAGGGCCGATACCCACTTTAACGGCACTGCAACCGGCTTCTGCCAGCGCGC
+GGGCACCTGCAGCAGTTGCCACGTTGCCGCCGATGATTTGCAGGTCAGGATATTTAGCGCGAGTTTCACG
+GATACGCTGCAGAACACCTTCAGAGTGACCGTGAGAGGAGTCGATCAGCAGAACGTCAACGCCTGCGGCA
+ACCAGCGCATCAACACGCTCTTCGTTACCAGCGCCCGCGCCAACCGCTGCACCTACACGCAGACGGCCTT
+GTTCGTCTTTACACGCGTTCGGTTTACGTTCCGCTTTCTGGAAGTCCTTCACAGTGATCATGCCGATCAG
+GTGGAATTCATCATCAACCACCAGCGCTTTTTCAACGCGTTTTTCGTGCATTTTTGCCAGCACCACTTCA
+CGGGCTTCGCCTTCACGCACGGTTACCAGACGCTCTTTCGGCGTCATGTAAACGCTAACCGGCTGGCTCA
+AGTCGGTCACAAAACGCACGTCACGACCGGTGATAATGCCGACCAGTTCGTTTTCTTCGGTAACAACCGG
+GTAGCCAGCAAAGCCGTTACGCTCGGTCAGTTCTTTCACTTCACGCAGCGTCGTGGTTGGCAGTACGGTC
+TGCGGATCGGTTACCACGCCAGATTCGTGTTTTTTCACACGGCGAACTTCTTCTGCCTGGCGTTCAATGG
+ACATGTTTTTGTGGATAAAGCCGATACCGCCTTCCTGAGCCAGAGCAATAGCCAGGCGCGCTTCCGTTAC
+GGTATCCATTGCTGCGGAAAGCATAGGGATATTCAGACGAATAGTTTTCGTCAGCTGGGTGCTGAGGTCA
+GCAGTATTCGGCAGAACGGTAGAATGAGCAGGAACGAGGAGAACGTCGTCAAACGTCAGAGCTTCTTTAG
+CGATACGTAGCATGGGCAATATCTCGACCAGAGTGGTTAATAAATATTGCCGCGGCATTATACAGAGCGT
+AACCGATTGCATCTACCCCTTTTTGCAAAAAATGCTTGCTATCCCCGGAGGGCGGGTTACTATCGACTGA
+ATAACCTGCTGATTTAGAATTTGATCTCGCTCACATGTTACCTTCTCAATCCCCTGCAATTTTTACCGTT
+AGCCGCCTGAATCAAACAGTTCGTCTGCTGCTTGAGCATGAGATGGGGCAGGTGTGGATCAGCGGCGAAA
+TCTCTAATTTTACACAACCAGCCTCCGGTCACTGGTACTTTACGCTTAAAGACGATACCGCGCAGGTGCG
+CTGTGCGATGTTCCGAAACAGCAACCGCCGGGTCACCTTCCGCCCACAGCACGGGCAACAGGTTTTAGTT
+CGCGCCAATATTACGCTCTACGAGCCGCGCGGTGACTACCAGATTATCGTCGAAAGTATGCAGCCTGCCG
+GTGAAGGGTTGCTGCAACAAAAATACGAACAGCTTAAAGCGAAATTGCAGGCTGAAGGTCTGTTCGATCA
+GCAATACAAAAAAACACTTCCCTCCCCTGCGCATTGCGTCGGTGTGATCACCTCAAAAACCGGTGCTGCG
+CTACATGATATTTTGCATGTGTTAAAACGTCGCGATCCTTCTCTGCCGGTGATCATCTACCCCACCGCCG
+TTCAGGGCGATGACGCGCCGGGGCAAATTGTTCGCGCCATTGAGCTGGCGAATCAGCGAAACGAGTGCGA
+CGTGTTAATCGTCGGGCGCGGCGGCGGTTCGCTGGAAGATTTGTGGAGTTTTAACGACGAACGCGTAGCG
+CGGGCGATTTTTGCCAGCCTCATTCCGGTAGTAAGTGCCGTCGGGCATGAAACCGATGTGACGATTGCCG
+ATTTTGTTGCTGATTTGCGTGCGCCAACGCCGTCTGCCGCCGCTGAAGTAGTGAGCCGCAATCAACAGGA
+GTTACTGCGTCAGGTGCAGTCTGCGCAGCAGCGCCTCGAAATGGCAATGGATTATTATCTCGCCAACCGC
+ACGCGTCGTTTTACGCAGATCCATCATCGCTTACAGCAACAGCATCCGCAGCTCCGGCTGGCACGTCAGC
+AAACTATGCTCGAACGTCTGCAAAAGCGGATGAGCTTTGCGCTGGAGAATCAGCTTAAACGCGCGGGTCA
+GCAACAGCAGCGATTAACACGGCAACTCGTCCAGCAAAATCCGCAGTCGCGTATTCATCGCGCGCAAACG
+CGCATTCAGCAACTGGAATATCGTTTAGCAGAAACCCTGCGCGCACAGCTTAGCGCCACGCGTGAACGTT
+TCGGTAATGCAGTAACACACCTCGAAGCCGTAAGCCCACTGTCAACGCTGGCGCGCGGTTATAGCGTCAC
+CAGCGCCGCTGATGGCGCGCTGTTAAAACAGGTTAAGCAAGTGAAAGTGGGTGAGACACTGACCACACGA
+CTGGGAGATGGTGTGGTGATTAGTGAAGTCAGCGCCGTAACAAAAACCCGCAAATCACGTAAAAAAACGT
+CTAATCCGTAGACCGGATAAGAGGCGCCAGCATCGCATCCGGCAATAACTCCCAGGCTACGCCAGATCCG
+CCATGCTGGTTACTGGAAGCAGGTCACCAGACCCGGTTTATTTATTAGCGTGATACTACAATCCTGTGCT
+CCGGTACCTTCGTCCATCCCACACTGTTGAGAGGACAAATAAGGAAAACTGGGTGAAGACGGCCATCCCA
+GTGAATTAAAAACAGTATGCAACAACTCTAATTCATTGTATGTCGGTGCATTTTCTATGCTGCCACACTG
+CCTTGCGATATCCCATTTACTGGCATCAATGATATGTGCAGAAGCCCAGTTTTCGTAGTTAATAATCGGT
+GAGGATACGGGATTAGCCCCGGACGGCAATTCCGTCGTTAACAACGGTCGATGTAGCGATTTACTATTCA
+CCACTACCGTGTCTGCCATATGTCCCCAAAAGTGCGCCGATGAAACATTTGGGCTGGTTGGCACCGTAAA
+AATAGCGTCCAGCGTGTCTGTCGCGGAAGCGTAATTAGCCAGAGTAACCGTCAGTGGCATTTTATAACCA
+GGGGTATTATCCTGGCGGAGCGAAAAACTTGCCGTCCCATCCGCGCCTGTCATGCCACTAATGGTATTAC
+CGCTTTCACTCAGCGTAATAGCCGAACCAGATAACGGCTGAACGATGAGATCGTCCATCGCCACTACATT
+GCCATACAACGTTGCCCCAGCGTTACGCGGCGATGCCTCACCACGTTTCAAAGTAAATTCAACATTCGGC
+ACCGTATTCCCGGCGCTGTCTTTCACCGTCACGGTAACGGACATGGCTTCGCCTTTTTTCACTTTCGCCG
+CCTGGCTGTCAGCATCAAACGCTGTTGAGGTCAGTGTGACGCTGGAAACGGTTGAACGCGCGTTAGCCAG
+GCAAGGCTGAAATGATTTTGTTGAACCCGTATACAGCGTGCCATTTCTCAAATCAACCGACTGGTCTTTA
+CCATCGGCGGATTTATCCTCTGCCCACCAGGTGTAATACGCAGGCCAGCCAGTTTCAGTGACAAACGTGT
+TATTCGGATAACGCGCAGACAACGAACTTAAATCATTGAATAGTGGCTGCCTTGCTACTTCACAAGGGCT
+CACACTCGCATCTGATTTCTGTGTTGGGGTAAAGTACGGCCAGTCTTCATTATTGTTATTGATCTTGCCG
+ACGCCAGAAGTCGATGTCAGTTCACTCCACAATTTCGGGCGTTCAAATACCGCACCATTCACTGCCGTCA
+AGGTTGCTGGCATATGCCCCCAGTAGTTAGCCTTCGCAGAATCCGGGCTGGTCACTACCGTGAATATCAG
+GTCCTGATTAGCCGTAACCTGCGGATTTCGCGCCAATGAAGCTGTAAACGGCGTTACCAGACCAACGGTG
+TTATTTTGGGTAACGTTGAACGTTATCGTGCCATCACTGCCGGTGAAGCCGCTCCATGCCGACGTATTCT
+GGTTGAAGGAGATACGCGCCGATGTCGGGGTGACTTCATCTAAAATGAGATCATCTACGGTATTGGAGGA
+TACAGAGATCCCTGAACGGCTTTTCGCCTGCACGCGCTTGAGCGTAACACCTTCGCCGCCAACAGGATTA
+CCATTGGCATCTTTGATCGTCACCACGATGGGAAGCATCTCACCTTTTTTCACAGATGACGTGGGGGTAC
+CACCATTGCTGGCAGTTCGGCCCTCATCATAGGCAGTCGATGACAGCGTAAGGCTTGCTGGTGCCGAATG
+TGGCTGCGTCAGACAGAGCATTAAAGCGTATCCATTAATAGTCGTCGTCGATTGTCCCGTTTTCAAATTA
+ATGACGCCGTAATACCACGTCAACGCGTCAGTGGTGCTCATTTCATAAGTCCACCAATTTCCACTTCCGG
+CAGTTATAGGCAACCCCAAATCTGTCAGTATTGTCCCGCCTGGATGATCATTATATAGCCCCTGTAACTC
+ATTGAGACGCGGCTGATACTCAACCGGGCAATCCGGCGTAACTTTATTGGTATAAAAAAGGTATGACCAC
+GACTCATTATTATTACTTACCGAGGACCCCAAGGTCGCTTCTGCTGCCAGTAGCGGTCGTTTAAAGGTCA
+CCCCCGCCCTACTGGTAAACGTGTCGGGCATATGACCCCAGTATTTTGCTTTCGGTGAGTTCGGACTGGT
+TATCACAGTGAAAATAACATCCATCGTGGCACTTTTTGTGGTGTCGCGCATCAATGTTGCAGTGAGCGGA
+GTTGCCAGCCCATAAGTCTCGTTTTGCGTCACATCAAAAGTCGCTTTACCATCACTTCCTGTCGTCAGAA
+GTGCCTGTGCCCCATTATTATAGAGTGACATGTTTACTCCGGCAGGGGTGACCGGCACGATAGTAAGATC
+ATCATACGTAGAATCTAGCCTGTTTTTTGCACGATCCAACGCAGTCCCGCGTATGAGATTAAAGTTTGCG
+CCTGGCAACAGATTTCCTCCGCTATCCCGCACAATCACCGTCATCCGGATCGCCGTACCTTTCGCCGCCG
+TTGCACTAGGGCGACCATCGTTGCTGGCCGTTTTCTCCGCATCCAGTGCCGTGGAGGTCATCTTTATAGA
+AGCTGCCACTGCATGAGGGTTTACCAGACAGGACACAAATGCCACGGTGTTTGATAATGCCCTGGAGCTT
+GATCCATTCGATAAATTAATAGACTGATCGTACCAGACGTTCGCGTAGGCAATTTTATCGTAAGCCCACC
+AGGTGTTAGTCAGCGGAAGGCCTAAATCGGTCCCTATCGCACCATTAGGATGTTCACTGTATAACTCTTG
+AAATTCGCTTAATAACGGTTGATAAGGTTCGCCGCAGTCTGATTTGCTGACATCATTTTTTGCTGCCGTA
+TTCAAAGAAAGCCATGATTCATTATTAGCCATGGTTGACTGTCCCGCTGGATGCTCGGCAGTAAGCAATG
+GCCGCTTAAAGGCAATTCCCGACCGGGTAGTAAACGTTTCAGACATATGCCCCCAGTAACTTGCCAGTGG
+CGTATCCGGGCTGGTTATGACGGTAAACATGACCGGTAATTTGTTGGATTCTATCGTCAGCTGATACAAC
+TGGGCGTACATATTGGTTACCAGGCCCATAGAATCATCTTGTTTTACCGTAAAGGAGGTAGTCCCGTCCG
+CGCCAGTCACCCCATAAAGCAGGCTTGAAGAACTATTCATCCTCGCAGAAGCGCCTGCCGCGTTAATTAC
+CGTAATCGACTTATTTATCATCTCGGCATTTTGACGGTTCTTCGAGCCTTCACGTCTGAGAATAAAGGGG
+ACATTGGGCACGCTATTTCCCTGCGCATTTTTAGTCACCACGCGAATCACCGCGTCTTCGCCTTTTTTCA
+CTTTCAACGCACTCAAGGTGTCGTCAACTTTGACAAATTGCGCCGTATCATTCGCCTCAACAATGATCTG
+ACTGGCAACGGCGACAGGCGTGGTCCGGCAGCTCAGTAATGCACCACCAGATGAGGGCATCTGCGTTTCA
+TCTCCTGTCTTCAGCGAAACGACATCATACGTAAAGGTTTGAGTGAACGTATCTGCAACGGTATTCGAGA
+TATAGAACCTCGACACTGGCCAGCCAATAGCATCATGTAATGCGCTACTCCCCTGGTGCGCATAAATGGC
+CCTAAGTTCATTGTCAGTTGGAACATACTCCGCGCCACAACCATTTATCGAGGTATCGTTAGCCTGGCCC
+GACGGGAACGTAGACCAGGCCTCCCCCTCTTCCACCAGGGTACCGATACTGGTGGTAGCACTATTCTCGT
+CCCTCAGTAAAGGCCTTCGATAAATAAGACCGTCATCGCCTGTCGCCGTTTCAGCCATATGCCCCCAGAA
+TTTGGCTTTTGGCGAATCCGGGCTGGTAAGCACCGTAAAGACAACGGGAAGCGTCGATTTAGTGCTGCTG
+GAGGAATCCAACGCTGCCGTGAGTTCTGTTTTTAGCCCGGTAGTCTGGTCTTGCTTCAATGTGAAAGTGG
+TGATGCCATCAGCCCCCGTCACGCCATAAATAACCAGGGTCGTTGAAAGAAAATCATCTTGAGTATTTCC
+CCAGGCATCCGTTACCGCCAGCGAAGCAATCGACGTCGTAGTTGACACATTGGCCCTGTTCACGCTGGTG
+TTTCGTTTGAGGGTAAATGCGGTATTTCCCACAGGGTTACCCTGCGCATCTTTAGTGGTCACTCGTAATA
+CGGCTTCTTCGCCTTTTTTCGCTTTGACAACATTATTCGTACTGTCAAATTTTGTGGGGTCTGCAGCTTC
+AAGAACAATTTGGCTTGCCTTAACAATCGGCGTCGTCTGGCAGGTAAGCAGTTCTTTTGTGGCAGATGGA
+ATTATCGAACTGGTGCCTGAACTGAGATTGACGGCCTTGAAGTCACGCTGTTCCAGGCTACTACTACCTG
+TCGTGCTGGAAAGGTAACTTGAGGCGACGGGCCAGCCCTGAACCGTTTTCATCGCATTGCCGCGGTTGGC
+TTCATACAATGACTCCAGCCCGGCCTGGGAGGGAACATATTCACTACCACAACCATTAGAGGATGTGCTT
+ATAGCCTGGGTTTGGGTAAATTGCGCCCAGTCTTCATTCTCTTCTGCAATCGCTGTTCGACCCGACGTAC
+TGGATAACTCTTTCAACAATAATGGGCGTTTAAAGACCGTTCCATCTGCAGCCGTCACTGTTTCAGGCAT
+ATGCCCCCACATTTTCGCCTTATCGCTGTCCGGACTGGTTACAACGGTAAAAATGGTATCGAGGGTCGCT
+TTTTTCGTTGTATCTGAATAGAGCGTAGCGGTCAGCGACGTTTTCGTGCCATGGGTATCCGGGCGGGTAA
+TAGTGAGAATTTTAGTTCCGTCGCTGCCGGTTATGGCGCTGTATGCTGCAGCGGTATTATTAAGCGAAGT
+TTCGTCCGCCAGGCCACCATTGACCACAACCGGCGCAACCAGCGCATCACCGCTACCAGCAACGTGTTTT
+TCCTCTGAGCGGGTATAACCATCGCCACGTTTCAGGGTAAAGGGTATATCACCCAATGGATTGCCCTGCG
+CATCTTTTACCGTCACCTTTACCTGTAGCGTTTCGCCTTTTTTCAGCTTCGCCGCATTTGCAGCCGCGTT
+CCACTGCGCCGGATCTACCACTTCCAGCGTAATGCTGCTGGCAGGATTGTTAGCCGTCGTCAGGCAACTG
+ACATAAACCGCCGTGCTACCGCCAACGGTCCGCGCCCCATCGTTGAGGGCTATGGTGTAATAATGCGGTA
+CCTGATCTGCGGGCGAACTGCTCCAGTAGGGCTGACGCTGCGTTGGCCAGCCGTGTACTGTCTGTACACC
+GTTACCGTTATTGGCATCATAGAGCGCACTAAGCTGAGAACGGCGTGGGAGCATATTGGCGCCACAGCCA
+CCTTTACTGGTGCTGGAGGCGTTGGCCTGGCTGACTCGCGACCAGACTTCGTTATTTTCCGTTAATGTGC
+CGTCCGGACTGAACACTTCCGCAGCCAGTCGGGGTCGGGCAAAGGTTAAAGCATCGACGGTAATCGTCTC
+ATCCATATGCCCCCACATCTGCGCGCCAACCGCATCCGGACTGGTGAGCGTAGTGAAAATCACATTGTAA
+TTAACAGTATTGGGAATATAGGAGTTCACAGGCACAATATTTAGCGGCGTCGATAAGCCCACACCTTGCG
+ATTGCTTAATTTCCACAGTCGCAAAACCCTGCGCATCCGTAGTACCGGCATAGACTAAAGACGGTTGCGA
+TGTTCCGTAGAGTGTGCCATTCATCTCGATTGCGCCGCGGGTTGGATCATCAAAACCTGTAGTCTGCCCC
+TGACGATTTTTCCCCATATCTTTAGTGATGGTGAACGCGGTATACGGCACGGGTGCATTATTCAAGGCAT
+TAAAGGTGCGTACCGTCATGGTGATCGTGTCACCCACTTTGGCCTGCGCTCTGCTGCCTGCGGAAACATC
+ACGATCGGTGGTCGCGGCAATCTTGGCGACCATCTCATTGCCCGAACAAGAGAGATAGTTTTGCTTAAAG
+CCGGAATAGGTGTCGATGTTGCCCGTGGCCAGGTTTACCGACGCGTGCGACGTCTCTTCCACCGCACTAA
+GATACGCTTTTTGCAACGTTGGCCAGCCATATTCGGTGCCGATAGCATTGGCTGGATGAGCGGCAAACAA
+ACTGTGCAATGAACTTTGGCTCGGAATATGACCTAAACCACACTCAGCCTGCATACTGCTATTCTGATCA
+AACAGCGCCCAGTCTTCGTTATTTTCCCGCACCGATCCCAGTTCGTTGTCGGTTTCATCCGCCAGCCGTG
+GGCGTTTAAAGATATTGTTCGCTTCAATAATGCCCAACATATGGCCCCACATCCGCGCTTTGTCGGTATC
+GGGGCTGGTGATCACCGTAAAAATAACGTCTTTCTCATCCGAGGCAGTAAAATCACTGCGCATTCTCGCG
+GTGATGTGAGTTTTCACCCCCACGCCGCCTGGCTGGGTCAGCGTCAGAGTGGCCTCTCCGTTAGCATCAG
+TGATCCCTTCATAGGTATGGGCGTCAACTTTGCGAACGTTACTGCCGCCATCAATTTGTACCGGATGCGT
+CTCCCACGCGGCGTCAGTTTGATTCTTACGGTTAATGCCGTCATCCAGATGCAGCGAAAAGTAGTAGTAA
+GCCAGCGGCTGATCGTTGTTCTTGCTATCGGTAATCGTCAGACGTAAAGAAGCCTCTTCCCCCACCTTTA
+CTTTCATCGCTTTTATCGTCGAATCATAGCTGCCCGGCGTCAGTACCAGCTTCGGTTCAACATCGGGCGC
+TTCTTTATCGACACAGCTCACAATAAACGTCGTATCGTCCGGTTTTTGCGCTTCGCTGCGGTTCGAAACA
+TCCGCCGCATGGTGCTGGCCGCTCATCCCCGCCAGTGATGACCAGTAGAAATTACCCTGCATCGGCCAAC
+CAGCCACATCCTGCACTGACGTTGGCACCACCGTCGCCAGCGCACCGAACTGACGCATTCCGGGCAAAAT
+GTCGCAATGTTTATCCGCGCCGCTCCAGGTAAAGGTGGACCAGGTTTCATTGTGATCGTTAACCGTACCG
+TCTTCATTATCGACTTCCGCCGCCAGTTTTGGTCGACTAAAAGTGTAATCACGGGCCTTCAGCGTATCGG
+GCATATGACCCCACATTGTAGCCTGCGGGACATCCGGGCTGGTGAGGACGGTAAAGATCACTGCCGTTTC
+ACTGGCCTGAGCAATACCCGCGAGGCTCGCGACCAACGGCGTTTTTACACCAGGGCCGTTGGCCTGGGTG
+ACCGTAACCGTGGCAACACCATTCGCATCGGTAGTACCACGATATTCCGTCGCGGTGGTGGTTAATTCGG
+TCGTGCCCAGTTTTACAGGCGCAGTATTGTTCACCACACCCTGGCGGTTTTCAGCATCTTTGCGTTTGAT
+AACAAAAGGAATATTCCCCACAACATTACCGACGCAATCTTTGGTGGTGACCGTTAACGTGATACTGCCG
+CCAACCGTCATTTTCGCCGCACCTGAGGATTCGTCATAGCCCGCAGCGCTGACGGAAATAAGGTCACCCT
+GCGCGGGCGCAATCTTCAGCGTCACTTTCTGATCGGCGAGCGTCAGAACACTTTCATAGGGATAGCCCGT
+CGAGGTGAGTAAATATAACAGCGGCATGGTCTGCTGGGGATCAGGCTGCGCCCAGGCGACCAGCGAACGC
+CCGGCAAGGCCCTGAGCGCAAAACGAGCGATCTGCGACTGGCTGTGGGTCCAGTAAGGTGCCCGGCGTCG
+CGGCATCCGCCCAAACTAAAGATATTGCCGGTGGCGTTTGGTTTTCCCAACGTGGGGTGGCAATGATATC
+GCCTTCTCTGTCTTGCGGATTGGTGACGAGCAATTTAGAGACGCTAACATCCGCGCTGAATTCACTCGGT
+TTAGCGGTAAACGCTACATCATGCGTCTTTGCAGGATCGAGAAAGACACTGCCCTGGTAGACGGGTATGC
+TGGCGCTGTCGGCAGTAGGCACGGTACCGTTAAATTCGCCGACCGTATCTGAAGAGTCTTGCCATGCAGA
+TTCTGCCCATGACCACCCAGGCAGCATTGCGCTTATCAGCAATGCGCATAACACAAGGATTTTATTCAGG
+GTCAGGGACATGACAGAAACTCCACCGGTTGTTAAACGGACGCTTGTCGCATCAACATATTTTGCTTAAT
+CCGGGATTAAGCAAAATATGCGGAAACAGCATTCCCTTGCGGGAATGCTGCTGAGTACGCGTTATTTGTG
+TTTGTAAATAATGTGAAGTTTGTAACCCTGTACCCCGTCGCCGTTGGTCGGGATGGAAAGTGCCTCTTTT
+CCATCGCGCGCAGGGCCGTTAAGGTTGGTTCTGGCTTCGTCGTTGGTCGCAGGGATGACCAAATTGTTAT
+TATCGAAGCTTGAGTTAACGATGCCACCCGAAGTGCCAAGCTGTTGGCTGCTGCCAGAAAGTACCCAACG
+GAAGTCATAATTGGCGGTGACGTCAGCATCGGTACCCGCATCAAACTTGCCATTTTTGTTCTCATCCGAG
+TACAGTTTGGCCACGTAGGTTTTGCCAAGTTCGATTGGCGTGCTACCGTTGATAAGGTTGATACTGGTAC
+CATCAACAAAGATGGCGACTTTCAGGTTCTGGTTAACCACCGGCCCCGGTGCAACGTTATCGCTGTCGCT
+TCCGCCGCCGCTGGCAGTAGAAACGTCATAAAGATGCAGCGCAGTCCCGACGTTTGGCGTACCGGTCTGC
+GTGGTTGGCGTAATTTCAATACCGATATAGCGACCACGGTCGGCATCGGTAAGAGTGTAACTGGTCACCT
+TCGTTGCCAGCTCTTTTGGATCCCCCCCCTGCGCATCCTTGTAGCTCATCCAGCGGATAGTATCGATAGT
+TTTCGCGTTATCGCCCAATCCTCCAAGATCCACGTCGCCTTCGGTATCACCAATTTCCCAACTTACGGTT
+AATTTATCACCCGAGTAAAGACGCTTGTCCGTTTCACTGCCTTGCGGGCGAGCGCCTTTTAGATCAGAAG
+TCAACGTTACACGGTCGGCATCTGTCGTAGCACTTCCCCCTTCCGAATAGAGCCACGGAATGGTCCCCTG
+GAAAATATTGGTTTCGCCGCTGTCGACCCAGGCACTGTCTTCAGCCAGCGCCACAGGTGCCACACAATAA
+CCTGCCAGTGCCAGCGCTAATGCGATCCGGGTCAGACCGCGTCTTTTATCCTGCTTCATTGATGCTCTCC
+TTAATGAACCTTCAGCGACTGGCCGACTGGCCTTACGCCAATCTTATTTTTTGGTATACAGCACGCGTAA
+ACCGTACCCCTGCAAGCCATCTCCCGCTTGTGCGCCATAGGTTTGCGCCGCTTCACGGTTAGTGGCCGGA
+ATCACAATGTCCTCATTGGAAGTGTTCGCCTGTGCACCCACTTCACCATTGATGCTCTTGCCGGTAAATT
+CCCACTTGTAGTCGTACTGCGCCATCTCTTCGTCAGTCAGTTTTTCGACCTGCTGGAAGACACCGTCTTT
+ATTGTTGTCGCGCCATAAAACAAATCGATAAATGTTGTTAAGCGGCAACGGTTCTTTATCTTTACCTATC
+AGGTTGCTGGGTTTAGCCGCCCCCACTCGATAGATAAAAGCATTTAGCCCACCAATTTCTGCCCCGAGGA
+AAGTGACATCCACATAGTTACTGTCATCGTAGGGCGCGGCTTTTGCTTTCCAGCGATAGGTGCCGGGTAA
+GGTACTGGAGAGGGTGACAGTGCCCTTTTCTTTATCTTGTTTAGCGATAAAAACGCAGGGGTTGTCGGTC
+GAGCAAGGCTTGTTGGTTAACGTCACTCGTTTGTCCTGCGCGTCGTAAAGCTGCGGCGTGAGGTTATCTT
+CCGGCAGCGCATCGCCATTGCGGTCGGTGTTATCGCCAAAGCTGTCGGTTACATCGAGATCCATCACTAC
+ACCATCTACACCATCGGCCTGTGCGCTGGCTTCGTGGCTGTGATTGCTCTTATCCGGGACATTGGCGATG
+TTGTTAACGATGAGCTCAATTTTACGGTCCTGTTGAACGGTGATTTCCACCACACCGGAGCTCTGCCGAT
+TGCCTTTTTCATCTTCCAGCGCCAGGCGTACCCGCCAGGTGTTGAGTTTTTCTTGTTCGGCTTGATCGGA
+ACTGTACTGCCAGGCAGGCAGCACCAGGTTCCAGTGGTTATTGTTACCCTCTGTCAGAGTATTCTCTTTG
+ATAACCGGCATCACCAGCGTGCGGGCAGCATTGTTTTTCGCCTGCCAGGAGGCAGCAACGATTTTGTAAT
+GATGATTAATGAGTGCGTTAATGGTCCACTTACATTTTTCCAGACCGACGGCTTCTTCGGGCGTATCTTT
+AATCACGCACTCGGGATGTTCATTCGTGACGTCGGCTTTCAGCCACAAAGTGACATAGAGGGGATCTTTC
+TCTTTGTATTCCAGAACAATAAAGTTGTTACGTTCAACAAAGTCATGACGGCTACCCATGAGCGAGTGAG
+CCGCGCTCACTTTGTCAGGATCAAGCTGGTCTTTGAGCGGGACGCCAAACTGGTAGTTCAGCGTTGCGTT
+AACAGAAAGATCGGTATTATCGCCAGTGCCAGCTTTGAAATCTGTACCGACAACAATGAGCGGAACGGGC
+TGGTATTTCACACCCAGCGTGACAGCGAAGGGATCTTTCTCCAGACTATCGGTACCAAAAAGCGCGACTT
+CATTCCCATAATATTGTTCGAAGACAATTTTTCCGCCAAGCTGCGGGTAAGCGGGTAGCCAGGCTTCAGC
+GCGAATATCCCAGCCGCGCGCAGGGCGTTCTTCATAAAAGTCGAAATCTTCAGAGTCTTTCCAGTCAGAA
+AGTGGGTGATAATAGTTGCCTGAGAATTTTAAATAATCCGTCCAGGCTTCGGCGCCTAAACCTAAACGGC
+GATGTCCACGGGTAAAGTCATAATCATAAAATATATTTCCACCCAATAGATATTTATCAAAATTATACCT
+TACCCCAAGGCCAATATTCCCGATCGTACGATCTTCTTTTCGTTGCGCAGAAAATTGGCTGAAATAAACA
+GTGGTTTGATTATCGTACCAGGGAACAAAATAATCGATGGAACTGCCATCCAGATCGCCACCCTGACCAA
+TGGAGAGGTTCGAACGGACCTTACCGTAGGGAGAGAGTGTGTCTTCAATATAAGATTGTGCGGTTGAGGT
+GATTTGACTTTGCAGATAGCTTCTGGCCTGAGATTCCAGCGCCTCAGGGGTCAAGTTTTCAAACCCTTGC
+GTGGCGGAGTTGATGACGTAATCGGCTCCGCGCTCTTTCAGCGATTTACCCTTGTTGGTTTGTTCATCCT
+GTTGTGCTGCCTGGCTACCTAAATCAGGTAACGATTCGTTTTGCTTAACATTTATCTCTGGCGCCGCGAA
+AGCAGCACCAGAGATAAATGTTAGAATAATACAGCGTTTCCATCGCAGCATGCACTTTCCCTGTGACAAT
+GATACAGTCAAAAATAAGCTTTAATATTGTATCCCTGATTATTCAGAAAGGCATGTCATAAAGAGTAAAT
+ATATTCTTAATTATTTAAATTAGTGATTTCACTCAAATACATTAGTTATTCCACTAATAACAGATTGTTT
+ATCATTCATATATTAAATATAAATGATAAAACAATACATTCACATGATATTAAGCAATAATAAATTCAAC
+GCGTTTTTTAGATATTAAACCGTGCCCATGTTGGCAGAAATAATCCACAGCACCACAAGCTTTTAACACT
+TGTAACGCCTGATGACACTCAGGGCAAAGTGCCTGGACGGTAAAGTCTTTGTCGCAAGTTGCACAGTGAG
+CAGTCTCGCCATTGCGTTCGAGAGGGGTTTTGCAGGTTGGACAGTTGAGTGCCATAAATACTCCTCGCGT
+GTTATTCGGCTTCCCTCTCCGTGTGGAAAGGGAAACCAGATAAGTGATTACTTACTTTTCTTGATATGCT
+TCATCAGACGCTTACGTTTACGCATCTGGGTTGGCGTCAGGGTGTTACGCTTGTTCGCATACGGGTTTTC
+CCCTTCTTTGAACTGAATACGAATCGGCGATCCCATTACGTCCAGCGATTTGCGGAAGTAGTTCATCAGG
+TAACGCTTGTAGGAATCAGGCAGGTCTTTCACCTGATTGCCGTGAATCACCACAATCGGCGGGTTATAAC
+CCCCGGCGTGGGCGTATTTCAGCTTCACACGACGACCGCGTACCAGCGGTGGTTGGTGATCTTCAACAGC
+CATCGTCATGATGCGCGTCAGCATAGAGGTCCCCACACGACGGGTGGAGCTGTCATACGCTTCACGTACT
+GATTCAAACAAGTTACCAACACCACTGCCGTGCAAGGCAGAGATAAAGTGCACACGAGCAAAATCGATAA
+AGCCCAGACGGAAGTCCAGCGTCTCTTTCACCTGCTCTTTCACTTCCTGGCTCAGGCCGTCCCACTTGTT
+CACTACAATCACAAGTGAGCGCCCACTATTGAGAATAAAGCCCAGCAAGGAGAGATCCTGATCGGAAATA
+CCTTCACGCGCATCAATCACCAACATCACCACGTTGGCATCTTCAATGGCCTGCAACGTTTTGATTACCG
+AGAATTTCTCTACCGCATCGGTGATTTTGCCGCGTTTACGTACGCCAGCGGTGTCAATGAGCACATACTC
+ACGTCCGTCGCGTTCCATTGGAATGTAGATACTGTCACGCGTCGTGCCAGGCATGTCGTAAACAACAACG
+CGCTCTTCACCAAGAATACGGTTAGTGAGTGTAGACTTACCTACGTTCGGACGACCCACAATCGCCAGTT
+TGATCGGCAAACTTTGCGGGTCGAAGTCGTCTTCCTCTTCTTCTTCGCCGTTCTCTTCCGCTTCAAATTG
+CGCCCAGTATTCGGCGTCTTCGTCGACTTCTTCTTGCGGTGCGAGATCTTCCATCCACGGCAGCAGCACG
+TGCTCCAGCAGACTTAATACGCCACGACCGTGAGACGCGGCGATCGGGTAGATTTCACCTAAACCAAGCG
+CGTAGAAATCAACCACTGCCTGATCGGGATCCAGACCGTCAGTTTTGTTTGCCACCAGGAAGGTCGGTTT
+TTCACGGGAGCGCAGATGTTTGGCAATCGCTTCATCCGCAGGCATCAGGCCCGCGCGCGCATCCACCATA
+AACAGTACGACGTCCGCTTCTTCAATCGCCAGCAGCGATTGTTCCGCCATACGTGTCTCTACACCGTCTT
+CGGTGCCATCAATCCCGCCAGTATCAATACAAATAAACTCGCGGCCTTCAATTTCTGCACGACCGTACTT
+ACGGTCACGAGTCAGACCCGGGAAATCCGCAACCAGCGCATCTCGGGTGCGAGTTAGACGGTTAAATAAC
+GTGGATTTTCCTACGTTAGGGCGCCCGACAAGCGCGACCACAGGTACCATGTTTAAAGCCTCATTTTTAT
+AAATCATCAGACAACGCACGCTATATTCGTGTCGTTGTTAAAAACAGGAAAACGGCCCCTGTCCAGGAGC
+CGTTTTCAAAGTGAACGACAGAGACGATTAACGTGTAATAGAGTACACGGTTCCGTCTTTTGCCTGGATC
+AGCAGTTTGCCGTCAGCAGCAACCGGTTCAGTCTGGAAACCGGAACTATCAACTTTTTGCTGGGCAACGA
+AACGACCATCTTCGACGTTAATCCAGTGCAGATAACCTTCACTGTCGCCTACCACCAGGTTGCCATTATA
+CAGCACCGGAGAAGTCAGCAGGCGATGCAGCAGATCGCTTTGTGTCCACAGCGTAACGCCGCCATCAATG
+GTCAACGCCATCACCCGGTCATTTTGATCGACCAGATAGATGCGATTGCCGTCGACGATGAAATCATTCA
+CCGAACCCAGTTCGCGTTTCCACATAATCTGACCGCTGCGCAGATCAAGCGCCGTCAGGTTACCATTATA
+GGCCAGCGCGAAAACAACGCCGTTAACAACGACGGGAGTCGTGTCAACATCGCTCAGACGGTCAATTTCG
+GTAGAACCGGTCGCCTGGGAAATACGCTGCTGCCAAATCATCTGGCCCTGTTCCATCAGCACTGCGCTGA
+CGCGACCATTATCGCCACCCACGACGGCCGCACCAAAAGCCGTTGCCGGCGCAGACTCGCCACGCAAAGA
+GAGCGAAGGCATATCGAGGTTAACTGTCCATTTGACAGCGCCGTCAGCTTCGTTCAGCGCTTGTAACTGA
+CCGTTACTGGTGTGGATTAACACCAGACCGTCGCTGACCACCGGGCGCGAAAGTGCTTCACCCGCGACTT
+TAGTTTGCCATGCCACAGTACCATCGCTGGTATTCAGCGCGTAAACCTGCGCCTTTTCGGTGCCAATGTA
+GACATGCCCACCAGACACGGTCACGCCGCCAGAAAGTAATGCAGGATCTTTAGAGAACCAGCCATCTTTC
+TCGGCCAGGTTGACAGACCAGATTTCTTTGCCGTCATCCGCATTCAGCGCTTTTACTAAACCAGCGCGGT
+CCGCTGCATAGACAACGTTGTCCGCCAGTGCCGGATGAAGATTGGAATAGAAGTTGCCAATGCCGCTACC
+AACGGAAGTGCTCCACACAGTAGTCGGCGTAAACTGGTTTTCAACGGTTGGCAATGGGGACATCTTTACC
+ACATCTTCTTCGCTGTTAAACAGCGAACAGCCGCTTAAAAGGGTAACGGAAAGCAGTCCTGGCAGCAGTA
+ATTTACGCAATTGCATCGGGTCCCTCTCAGATGGACAAATTATTAATTTTCATCTGCATCATTTCGCTCA
+GTGCCGGGGTAACATCGCTTTTCACGCCTGCTTCCCATGCACTACGCGCACCTTGCTTATCACCTTTGCT
+CAGCAATGCTTCACCACGCAGGTCGGCAACAATGGCAGCCCACCCTTCACCTTTGATGGTATCAAGGGTT
+TTTAACGCGGCATCAGCCTGCTTGAGCTGTACCTGAACGCGAGCAAGACGCAGATTTATCACGGCTTTGA
+GATTTTCATCGCTCGTGTCTGCCAGCCCCTGTTGTAACTGGGCGGCAGCTTTCTCTAGTTCATTTTTGTC
+AACAAATTGCTGCGCAAGTTCCAAAGAAGCCAGCGCACCATAAGTATTTTTATTTTCAGCAGCAAATTTT
+TCCGCCGCTGGGATGCTATCCGGTTTGCCTTCGCTCACTGCGGTAACCGCATTTTGATAGGCAAGAGAAG
+CGGAGCGTGCAGAATCAACCTGATGGCTGTTCCAGTAGCGCCAGCCAATCAGTGCGCCAACGCCCAAAAT
+CACCCCAACAGCCAGTGCTTGGCCATTTTCAGCAAAAAAGCGTTTAACCGCTTCAACCTGGTCGTTTTCG
+TTCTCGTAAATTTCCACGCTGTCCTTCTCCTTCCTTAACCCAGTAACGTGCGCAAATGCGCGGCTACGCT
+ATCCTGCGCAACTGCAGTTTGCTCACCAGAGCGCAAATCCTTCACTACTGCTGTGCCGTTAGCCACTTCA
+GACTCACCCAGCACCACAGCAACGCGGGCACCCCATTTATCAGCACGGGCAAACTGTTTCTTAAAGTTGC
+CGCCGCCGTGGTTGGTCATCAGTTTCACGCCCGGTAATTCATCACGCAGACGCTCTGCTAATGCCATAGC
+CGCAGATTGTGTGTCAGCACCTGAAGCCACCAGGTATATATCGACAACAGGATCGGCTTTAAATTCCGGA
+TTAACGGCCTGAACTAACAATACAAGACGTTCGAGGCCCATCGCAAAACCGACTGCCGGTGTTGCACGAC
+CACCCAGTTGTTCCACCAGACCGTCATAACGACCACCTGCACACACGGTGCCCTGGGAACCGAGGCTGTT
+AGTCACCCACTCGAAAACGGTACGGTTATAGTAATCCAGACCGCGCACCAGACGCTGGTTTACGGTGTAA
+GCGATCCCCGCGCTCTCAAGCAGTTTGCACAGACCGGCAAAGTGCTCACGAGATTCCTCGTCCAGATAAT
+CGCCTAATGCCGGAGCGTCGTTGAGAAGCGCCTGCACTTCCGGATTTTTTGAATCCAGTACGCGCAACGG
+GTTAGTGTACATGCGGCGTTTGCAGTCTTCGTCCAGCTTTTCTTTATGCTGCTCAAGGAATGCCACCAGC
+GCATCGCGGTAATTCGCACGAGCTTCCAGCGAACCGATAGAGTTCAGCTCAAGAGTTACGTGCTCGGAAA
+TACCCAGCGCGCGCCACCAGCGGGCAGTGAGCATAATCAGTTCGGCGTCGATATCCGGACCTTGCAGACC
+GAAAACTTCGCAGCCCAACTGATGGAACTGACGATAACGCCCTTTCTGCGGACGCTCGTGACGGAACATA
+GGCCCGATATACCACAGACGCTGTTCCTGATTGTACAGAAGACCATGCTCGATGCCGGCGCGTACACAGC
+CCGCCGTCCCTTCAGGGCGCAGAGTCAGGCTGTCGCCATTGCGATCCTCAAAGGTGTACATCTCTTTTTC
+AACCACGTCGGTGACTTCACCAATCGCACGTTTGAATAGCGGGGTCTGCTCTACAATCGGCAAGCGGATT
+TCACTGTAACCGTAGCTGCCGAGCACGTTTTTCAGTGTGCCTTCAATGCGCTGCCAGATGGCCGTTTCGC
+CAGGCAGGTAATCGTTCATGCCGCGAATGGCTTGAATGTTTTTTGCCACGTTTATTCTCTTTCTGAATAT
+AAAAATGAACCCTCAACGCTTCCCTCAATGTTTCGGGAGCCATGCGGGTTCAATCATACACGGGAAGCGA
+GGCGCTTCCCATCACGTTATTATTTTTCAACCTGCTGAACGTCAATTCGACGCGCTTCGTCCAGCTGACT
+GGCTTTCGCACGAATGCGCGCTTCCAGCTGATCGATCATATCGTTGTTGTCCAGACGGTCTTTGCGCACG
+CCATCTTCATAGAGGCCGCTTTTCTTGTTGCCGCCGGTGACGCCGAGTGTAGAAACCAGCGCCTCACCAG
+GGCCATTCACCACGCAGCCGATAATCGAAACGTCCATCGGAGTGATGATATCTTCCAGGCGTTGCTCCAG
+CGCGTTAACCGTACCGATAACATCAAATTCCTGACGCGAACAGGTCGGGCAGGCGATGAAGTTGATCCCG
+CGCGAACGGATACGCAGCGATTTCAAAATATCGAAACCGACTTTGATCTCTTCGACCGGATCGGCCGCCA
+GCGATACGCGCAGCGTGTCGCCGATGCCTTCAGACAGCAGCAGACCTAAACCAATAGCGGATTTTACTGC
+CCCGCTACGCGCACCACCGGCTTCGGTGATCCCCAGATGCAGCGGCTGATCGATTTGTTTTGCCAGCAAA
+CGATAAGACTCAACAGCGAGGAAGACGTCAGACGCTTTCACGCTGACTTTGAACTGATCGAAGTTCAGGC
+GATCGAGATGATCAACATGACGCATGGCAGATTCCAGCAACGCCTGCGGCGTCGGTTCGCCATACTTTTC
+TTGCAGATCTTTTTCCAACGATCCGGCATTAACGCCAATACGGATCGGAATGTTTTTATCGCGCGCACAG
+TCAACCACCATGCGAATACGCTCTTCATTACCGATATTGCCAGGGTTAATACGCAGACAATCGACGCCGT
+ATTCCGCTACTTTCAGCGCAATGCGATAGTCGAAGTGGATGTCAGCCACCAGCGGCACGTTAACCTGCTG
+TTTGATGAGTTTGAACGCTTCTGCCGCGTCCATCGTCGGTACGGAGACACGGACGATATCAGCGCCAACA
+CGTTCCAGCGCCTTGATTTGATTGACCGTTGCTTCGACGTCTGTCGTACGCGTATTGGTCATGGACTGTA
+CGGCGATGGGAGCACCATCGCCAATCGGCACATTCCCAACGTAAATACGTGTTGATTTTCTACGTTGAAT
+TGGAGCCTGGTTATGCATGAAAAATCTCCCGCGTTACCCGTCTGTTACTGCGCCGGTGATTGTTCGGCAT
+TGAGGGTCAGACGCGCAACCTGGTTAGTTCTGATAAAACGACTCAGATCGACAGGTTTCCCTTGATACTG
+GATCTGTACTGCGGCTGGCGCACCAATTTTCAGTTTGTACGGTGCCTGGCCGGTTAAGTTCAAATTACCG
+TCTTTACGCTGCATACCGCTAAACAGTTTTTTACCGGTAGCATCGGTGACTTCCAGCCAGCAATCGGCAG
+TAAAGTTCATCACCAGCGCATTCGGGTCAACCGCCGGCGTGGTCACGCCAGCCTGATCGGTTGGCAACGG
+CGCAGCGCCATCTGGTGTTGTTGTTGCCGCTGGTGCCGGAGTCGCAGCGGTATCAACATTTGCCTGCGAA
+GGTGGAACAACCGCATTCTGTTGCGGATCAACAGCTGGTGCTGGCGCAGTTACGGCAGGTGTTTGCGTGT
+TGGTTGCGGTGGTATCCACAGGTGATGTCGGCGTGGTCGCCATAGCCTGATCTGTGGTTGTCGACGTATC
+TAACGGTACACTCTGGCTTTGATTATTATTCAGTTCCGCAGAAGATTGATCGGCCATAGTGGTGATCTCT
+TCCTGCTGAGCTTTGTGGTCTTGCCACCACCAGGCACCGCTCAGGCCAATAACCACAAACAACACCAGCC
+AGGTGAAGGTCATCAGCCAGCCGTCACGTTTTTTGCGGCGTTTACCGAGGGAAAAACTCTGCATCGGCGC
+AACTTTTGCAGCCCGTAGTGGAGCCTGCTTTTCCAGCCCTGGCTGCAGTTCTTCTTCTGGAATATGTACC
+AGACGCGCATAAGAGCGGATATATCCGCGCAGGAATGTTGAAGCAAGATCGGCGGGTGCCTTATCTTCTT
+CAATGTCGCGTACCGTGGAAACCTTCAGGCAAAGTCGCTCGGCAACGGCCTGTTGACTAAGTCCTAGTTG
+TTCGCGAGCATTACGCAGGCGAGCGCCGGTAGTAAGTGCTTCATTTTGGTCGTGCGTGGCTTCAGTATTC
+ATTCGCTGCAGGTACGTTTAAATGAGAATTGAGATGCCGGTGAACCATCATGCCCACCCACACCGCGAAA
+CATCCGTTAAGTTAACCGTTATCATACAGTATAAGACCGTCTGTGTGCTCGTGACAAAGCCCACATTCGC
+TAAGGCTAACTTACTGTTGCATCGTTACATACTGCCTTAAAGTCAGCAAAAACGCACCGTTAATATTGAC
+CAGACAATTGCAACTTAATACTTCATTCATAAAAGATTACGCCACGGTACATAAAGTAACCGTGGCGTAA
+TGGCTATCAGACCGCTTTAATGTCGATGGCTTCACCCTGCATCCGCTTACGCAGAGTACGTTTCGTACGG
+TCGATAACATCGCCCGCCAACTGACCACAAGCAGCATCGATATCATCACCACGAGTTTTACGCACAATAG
+TGGTGAAACCGTAGCTCATCAGCACTTTTGAGAAACGGTCGATACGGCTGTTCGAACTGCGTCCATACGG
+CGCGCCCGGGAACGGGTTCCACGGGATCAGGTTGATCTTACACGGCGTATCTTTCAGCAGTTCTGCCAGT
+TGGTGCGCGTGTTCAGTGCCGTCGTTAACGTGGTCAAGCATCACGTATTCAATAGTGACTCGGCCCTGAT
+TGGCGTTGGATTTCTCCAGATAACGGCGCACCGCCGCAAGGAACGTTTCGATATTGTACTTTTTGTTGAT
+CGGCACAATTTCGTCACGAATTTCGTCGTTCGGCGCGTGCAGGGAAATTGCCAGCGCTACGTCGATCATA
+TCGCCCAGTTTATCCAGCGCCGGAACCACACCGGAAGTGGAAAGCGTGACGCGACGTTTTGACAGGCCAA
+AACCGAAATCATCAAGCATGATTTCCATCGCCGGAACGACGTTGTTCAGGTTGAGCAGCGGCTCGCCCAT
+ACCCATCATCACTACGTTAGTGATTGGGCGCTGACCGGTGACTTTTGCTGCGCCGACAATTTTCGCCGCA
+CGCCACACCTGGCCGATAATTTCCGATACCCGCAGGTTGCGGTTAAAGCCCTGCTGGGCGGTGGAACAGA
+ATTTACACTCCAGCGCACACCCCACCTGCGAAGAGACGCAGAGCGTGGCACGGTCGTCTTCCGGGATATA
+CACCGTTTCAACGCGCTGATCGCCAACGGCGATCGCCCATTTAATGGTGCCGTCAGATGAACGCTGTTCT
+TCAACCACTTCCGGTGCACGGATTTCCGCCACCTCTTTCAGTTTGCCGCGCAACACTTTATTGATGTCGG
+TCATCTCATCAAAGTTGTCGCAGCAATAGTGATACATCCACTTCATCACCTGATCGGCGCGGAAGGGTTT
+TTCACCTAAATCTTTAAAAAACTCCCGCATCTGCTGACGGTTGAGATCCAGCAGGTTGATTTTTCCATCT
+TTCGTGGTGACGTTTTCAGGTGTGACTAATTGTTCAGACATATGCTATTCCGGCCTCGTTATTACACGTT
+ATGGCCCCTGGAGGGTTGAAAAAAGAAACGCCCCGGTGAGCGGCTGCTCGTCCGGGGGCGCTGCATTGTA
+CAAATTCTGGCGCACGGATGCCACGTTTGCACGCGGCATTTACGAAATTATTAACGGGTGCGCGGGCACA
+CTTCGCCTTCGCCGAAGAAATAAGCGATTTCGCGAGCGGCAGACTCGACGGAATCAGAACCGTGGGTACC
+ATTTTCGGTCAGGCTGTCAGCGTAATCAGCACGCAGAGTACCGGCCAGTGCGTTTGCCGGATTGGTCGCG
+CCCAGCAGATCGCGGTGACGCTGAACAGCATTTTCACCTTCCAGCACGGAAACAACGATCGGGCCAGAAG
+TCATGAATTCAACCAGACCATCAAAGAACGGTTTTCCATCGTGTTCAGCATAAAAGCCACGAGCCTGTTC
+AACGGTCAGGTGCAGCATTTTGGTGCCGACAATTTTGAACCCTGCAGCTTCAAAGCGCGCAAAGATACTA
+CCAATCACGTTTTTTGCTACCGCGTTCGGTTTGATGATGGAAAAAGTACGTTCAATAGCCATTTTTACCT
+CTGTAAATTGTTCTGTTGTTGTCTGTACCAGCGTACGAGATGGCGCGGATTATAATGAGCAACAGAGCCG
+TTGACTATTGATGAAGGTAACATTTTTTTAAAATAAACCCAGTTTAAGCAACAATCAGGGACAAAATAGA
+CTATTGCATGACAAATTTCACTGTCGCTATTTGCCCCACGTCATCCATCACCAGCAATTGATAATCGCCT
+TTATCCGTCAAATGCAGGGTCACGTTGCGCCCACGTTCAGTTAACGGTTCGCCGTTCAGAAACCACCAGC
+GTTCACCTGCTCCTCCACTTGATTGCAACGGCAAAGTCGCTGCCGCTGCGCCCGGTAAACGTTTAATAAT
+CGCGCCATCGCGCACACCTGTTAGCTGCAGCGGGAGTTGTGCATCGTGACCGTATGGCGGGCAAATTGTC
+GAGGCCGGTGGCAAGCGCACAGCGCGACGTTCTGATGCGGGCAGCCAGGGTTCCAGCGGTAGCGGCCAGA
+CATTTATCATTTCTTGTCGCGCCTGAGGGCAATCAGCGGCAACACGTTTGCCGTTTTCATCCAGCCAGAT
+GGGGAAACGAATGCCATTAATGCCTTCCTGCTCCGGCAGTAATAGAGTTGGCGGCTGGCTCCCGTCCAGC
+AGCCAGGTTGCCAGGCGGCGGCGACAGTTACCGTCACCTTCCGGCAAAGACTGTCCGCCCGGCCAGCAGA
+TAACGCCACGACTTACAGAGTCAGGACGTGGGTCTTCCGGAAAATTCACACTGCGCGACAGTAAGATATT
+ATTAACCTGATTCAACAGCGGTATGGCACTGGCAAAGCCAAACTGACCAACAACGGGCGTGCCGTCCGGT
+CTGCCAGTCCAGATCCCAATGACATAGCGAGCGTTAACCCCAATCGCCCAGGCATCACGATAGCCATAGC
+TGGTGCCCGTTTTCCATGCCAGTGGGGCGACGCGCGGCAAGGCACCATCCGGCAAGGGTTGCGCTTCATC
+AGCCATAATCCGGCGAATGATCCACGCAGCCCCCGACGACATTAAAGGCCGTTCAAGCAGCGGATCGTCA
+GGCTGTAAGCGCAATTTACCTGCCTTGCCGTGGCGAGCAAACGCGGTATAGGCCGCCGCCATATCTTCCA
+GTTTTGCACCAGCGCCGCCGAGAATGAGCGAAAGATTCGGCGCAGCACCGTTGGGCAGATACAACGGCAA
+TCCAACATTGCGTAATTTTGCCGCAAACCGTTTCGGTCCATAGGCTTCCAGCACCTGCACAGCTGGTAAA
+TTCAGCGAGCGCACCAGCGCCTCGCTCATGCTGATCGGCCCATGAAAACCGCTGTCAAAGTTGCCAGGTC
+GGTAATCACCGGTACGCCGGGGGACGTCTTGCAACAGAGATGCCGGGTGGATCAAGCCTTCATCCAGCGC
+CAGACCGTAAACAAACGGTTTGAGCACCGATCCTGGCGATCGGATCGCATTGACCATATCAACATGACCA
+AAGCGTGAATCATCGTTGAGATCAACCGAACCCACCCAGCCGCGAACACGCATATCGGTATGATCAACCA
+CGATCATCGCCAGTGAGCTGCGCGGTGGTAATCGTCCTTTCCAGTTTTGCGCCAGTTCTTCCAGACGTCG
+TTGAAGACCGGCATCCAGCGTAGTAACGATTTTGTCGCTTTTGCTTTTACCGAGCATCATGCGCGAAAAC
+AGCGGTGCCAGTTGCGGCATTTGTCGGGGTGCCAGCCAGATGGGTTCTTCCCTTGACTCTTTTACCCGCT
+CATGGGACCACACACCTTGCACGGCCATCCGTTCGAGCACTTTATTACGCGCGGCTTCGGCACGCTCCGG
+CCAACGATCCGGGCGAAGACGGCTGGGCGCTTGCGGCAAAACCGCCAGCATTGCCGCCTCGGAATAGCTT
+AAATTCGCAGGCGATTTCCCGAGGTAAGCCCAACTTGCCGCACCAATCCCCTGCAACGTACCGCCAAACG
+GGGCACGGTTAAGATACAAGGTCAGAATTTCACGTTTAGACAGATGCCATTCCAGTTGCAACGCGCGCCA
+GAGCTGGCGAATTTTGCCGCCAAACGTTTTGGGGTGAGGATCAAGCAGGCGCGCCACCTGCATGGTGAGC
+GTGCTGCCGCCGGAAATGACCCGACCCGACGTGAGATCTTGCCAGGCTGCACGCGCCACCGAGAACGGAT
+TCACCCCCGGATGCTTCCAGAACCAGCGATCTTCATAATTGATCAGCGCTTCAAGGTAACGTGGAGAAAC
+ATCTTCGATTGTTACCGGATAACGCCAGATGCCGTCAGCATCGGCGAAACGCCAGAGTGGCGTACCATCC
+TGCGCCACCACCACGCGTGCAGGATTCACTTCTTGCAATGGCAGAGGCCAGAGTTTATCTGCTGCCCATG
+CTGCCAGAATGATGATAAAAGGCGCGGCTGCCAGCATTATCCAGCAGCCGCGTTTGGTTAACAGGCGAGG
+CATTTACGGTCTGACTATCAACAGATCGTCAGCCGCACCAGTCGCCCGCCATTGAGGAACATACATTGAT
+TCCACCATAGGCTGCGGCACCTGATACGTTCCCGGCGTCACCGCCCGCGCCAGATACACCAGCGTTACCG
+GTTGATATTCATCAACGGCAACCGCCGCCACAAAGCGATCGTCACGGAACTCTATGTGCTTAATGCTCGC
+CTGCTGCATCTGGTTCAGCAAGTTCTGCACTTCACCACCACTTTGCTCCAGGCTGGCGCTGCCGTTCGCC
+AGATTCTGGTTTTCCAGTTCCAGCCCCGCAGGCAACAGATCCACGACTAACGCATCCGGTACACTGTTAC
+TGGCTTTAACCTGCAACCACACCAGCACCAGATCGCCGCTACGTAAAGAGTCCAGCGATTTGCTCTTACC
+GTCAGTACCCAGAATATGACGCTCAATTTGCAGCACATTGCTCGCCGGTAAAGGTGCGGATTGCGGATAA
+CCGCTGGCATCCACACGCAGCCATAACGGCTGATCGCCACTGTTGGTCACCTGCAAGGTGGCAAGTTGAT
+CGCTATTCAGATTGCTGGTTTGCGCTTTCTCGCCTGTCAGCGGCTCAGCAGAGAAAGTGGTTTGCGCCTG
+CCATTTGCCCGGTAAATCCTGAAGAGTACGGGCAGCCAGGAACAACGCGTTACTTTCCTGCGTCGATAGC
+CAGCGTTCACCGAACGCCTGCTGCGAAAGTGTGTTTAACAGGGAGTACTGCTCATCGGGTAGCAGTTTGT
+TCTCTTCCAGCAATGAGAGCATCAACGCGCTGTCGCGCAGTGGACTACCGTAATCACCCAGCCATATCCG
+CTCATCACTATTACGCGGCGTTTTCAGCGCCAGCGCAATCGCTTCTTCACCACGCGTCGCATCACCCATG
+ATTTTCAGCGCAACGCCAAGTTGCAGCAGCGGTAAACCAGAAGCGGCATCTGCACGATGCTCCCAGATTT
+CACGCAGCGCACCCAGTGGTGCTTTTTGCTGACGGGCCAACACCAGCGCAGCGTAAGACTGTACGGCGAA
+TTTACTGGCTTTGAGATTATCAGCGTACGGGATCGATATCATGCCCGGATCTTGTAAATAGCGCAGCAGA
+CGCTCATTACCCCGGTTAATGGCGTCTGTCGGCACGCTGTAACCCTGTTCGCCTGCGCGGACCAGGAAAT
+CCATCACGTAAGCCGTCAGCCAGTACTCTTCGTCACCGTTTTTATCCCACAGCGCAAAGCCGCCGTTATC
+ACGTTGCATTTGCAGCAAACGGGAAATGCCGATATCGACCGATGCACGGCGTTTCTCATCACTGTCGCCT
+TTGATGCCCAACGCCTGCAGTTGGGCTGCATTGGTATAAAGTGACGGGAACAGGCCGCTGGTGGTTTGCT
+CGAGACAGCCGTACGGATACGCTTTTAACTCTTTGATATAACGTGCGATGTTCAGCGGTGGTTTGCCGCT
+CAACAACAATTGCCCTTCCAGCGTAACAGGCGAGAAGTTTTGCAATCCATCAGCCGGGAGCGCCCAGGTT
+TCACCAGGCTGTAACGCCGTACCGTAATTGACCGTTTGTGCCGGGAATGCCGGACGGACGCCGATTTTCC
+ACTGCTTATGCTGATCGGCAACGGTTTCCCCCGGTAACGCTAACCCGCTAATGGTGGCCTGAATGTCTCC
+ATCGCCATAACCCGGCAATGCACGCACCGGGATAAACAGCGTAGTACGCACCCCTGGCGCTAATTCAACA
+GGTGCGGGGGAATTACTCACCAGTTCAAGCAAGCCACTGGCGGTCAGAGCAACATTAAGTTTTTGCGGTT
+TATCGGTAAGATTAGTGATATCCAGCGTCAGGCGCGAGGTATCGCCACTCGCCATAAAGCGCGGCATGTT
+CAGTTCAGCAATCACCGGTGCGGCAACAATCACTTTGCTTTCGTTGCTTCCGAAGTCATCTGCCGTCCAG
+GCTTGCGCCATGACGCGCAATTCACCGTTAAAATCGCCAATTGGCAGTGTAACCGAGCCTTCGCCCTGTT
+CATTGAGCGTTACCGGCAGCGGCTGCTGCGCGACAATATTGACGTGATTGACCGGCGGTTTACCACCACG
+TTTCAGCTCATCACCATCACCACCAAAACGCAGAGCTGCCAGACGCCCCTGACCTTCAATGACCTGACCG
+TAAATATCGTAAATGTCTGCGCCATAGCGTTTCTGACCAAAGAATGCCTGCCACGGATCTGGCGTGACAT
+AATCAGTAATATTCAGCACACCGCTATCAACGGCAGACACCAGCACATTCACCTGTTTTGGCATCTCACC
+ATTTTTATTGCTGGCTTTAATTTTCACGGTTAATGGCTGATTGGGGCGCATTTTGGTGGGGGTTTCCAGC
+GCCAGATCGAGGCGACGGTTTTCATCACCAAGCGGCAGATGCAACACCCCAACCGCGCGTTTTGGCGTCG
+CGGAGCGAGATTTATCGCCAGGACGTACCACCAGCGTACTTAAATACAGATCATGACGATTCCAGGTTTT
+ATCGACCGGAATCGTCAGATCCAGCCCTTGAGCCGGAACATCAATCTCTTGCCACCACAGCGGCCCTTCA
+CTGGACTCGACCATCGCATAACCTTTACCCGCCGTTGGCGCGGCAATATGCAACTTAATGGTATCGCCAG
+GGCGATAGCTGGCTTTATCCAGTTTCAGCGTGACACGGTCGGGTCGCACTGCACCACCCCCGTCGCTGTT
+ATCCTGCCAGCTATAACCAGCCCAGAAACGCACACTACTGACCGCTTCATTCGGCGCTTTAACTTCCAGA
+CGATAAGCGCCCCACTCTACCGGGAAACTGACCTTACCGGTTTCGTCCGCTTTCAGATCCAGAGTTTGTT
+CATTTTCGATCAGATCTTTTTGATCAAACTGTGACTGCCAGCCTTCATATTCCGACCAGTTCCAGTAGTA
+ATCGCGGCGTTCGCGAATCAGGCGCACCTGCAAGCCCGACACGGCTTTTTTCACGCCTTGCGCATCGCTA
+TAAACGATGTCAAAAGCGGCGTTACTGCCTTCATCAACAATGGGCTGTTTCACCGTGCTGTCGGTGCGAT
+AATCGTAAACCGATTTCGAGGCGAACTGCGGACGGATCCCCGGCAATGCATCGGCAGGCCAGATAGCCTG
+CTCAGCACGGCGCGTCACCGGGCGACCGCCCGATTCCAGCAAACTACCCTGGAAAATAACCTGTAATGGG
+GAATGCGTTTCCTTCCACTGGCTTTCTGTAGAAACTTCGCCGCGCCCTTTATCATCCAGCGTCAACTGAA
+CTTCATCCAGCGTGCGGGAAAGATTTTCGGCAGCTATATCTCCGAATTCAAAACCAGGTAAGGCTGACAC
+AGCTTCACGCAGTGGGCGCAGGAAAAGTTGCCCTTGCAAAATATTACCATTAGCAGGCGCACCATACAGG
+TAGTACCCCACCACGGAGAATTTCACTTCATCTTTCGGCGTTAGCGGGGTTTTCTCACCGGTCAGATTCA
+GCGCCATGCGCTCTGGCATAAAATCTTCGACGTGGAAATCCCACATCCGGTACTGGTTATCGCCCGTGTT
+AGCGCGAATATGCCACATACCGGTTGCCGCATTGCTATCGAGTGGCCAGGTAAAGTGGTAGAGGCCATTC
+TCCGGCTGACTAACGACGCTCCTGAGTACCTGCCCGTCGGGTTTAATCACGTCTAACTTGATGGGTTGAT
+CGGGCAATGCTTTACCGTCTGCATCACGCAGCAAACCATTGAGGATGACCGTTTCACCCGGGCGATAAAG
+ATCGCGCGGGCCAAACATGAAAAACTGTTTGCTATAGCCCGGCGCGCCAGCAATGTTAAATTCCGCTAAG
+TCCAGCGCCGGGAGTTTTAAATCGAGTAGCGTTGTCTGACCGTCTTTACGCGCCAGCAGTAATGCCGCGT
+TTTTATCATTTTCCAGCTGCACATGCCCCTGAGCATCACTGGTTGCCTGAGTCAGAGTCTGCCCTTTCTC
+ATTTAATAAAGAGACTTCTATTCCTTGCTGGGCCGCGCCGTTTTCCAGACTTTGGGTAAAGATATCCAGA
+CGATTGTGATAACGGTGAGCTGAAACGCCGATATCACTTAACGTAAACAGCGTCGCGGGATTACTGTAAT
+CGTAACGTCCAGCCTGATTCATCACAGCCAGATACACGCCTGCCTGCTGAAGCGGTTTGATATCGCCCAG
+CGGCAGCAATAATTTTTCACGGGTGTTACGCGCAGGATTGAGATCAAACCGTCCAGTGTAGACCAGATCC
+GCCATCTGCAGCAGTTTGTCTGACTGCCAGTTCGCCAGCGAATTGCGGTATTCCCACTGGCTAATGAAAG
+CGGGCAGTGATTCTGGTTTCACACGGAAGAAGTTAACATCGACATTGTTAACGTTAAGCGCCATTACCGG
+CAGCCCTTCAACGACCTTACCAGGAAGCAACGAACCACGACTGGCAAAACCGACGCTGGGTTGGATATCG
+CGGGTAGTTATAGTTTTTTCGTCATCTTTACTAAAGGTTGCGTTATTGAGCGCTTTGACCTCCTTGCCAA
+TAGTGACGATCAAATCACGTTTCGGTTCGAGGTGGCGTAAACGCAGCTCTTTAAGATTATGTGACAGCTC
+CCAGGCACCATCCACTTTGCCGCTTTTTTTATCGACGACATGAATAACGCGTGAGAAATCCTGATCCGGG
+TCGAGAGGGATGGAGAACGTCAGCACCAGCGTGGCTGCGCCATCGAGTTGAACTTCAGAGAGATCCAGCA
+ATGTCAGCGCCTTACCGGCACTCTGTTGGGCCAGTTTTTGTCGCTCCGGCGCGGAAAGTTTTGCTGAACT
+CACGTTTTCTGAAGAGGCCGCTTTAGTAACTTCAGAAGGCGCATCTTTTTTCACCGCTGTTGGCGCGTTA
+TCGTTGTTGTCGCACCCTGCCAGCGCCAGCATTAGCATGCAGGCGGCTACGCGTAACTTTTTCATTTTTC
+ATCCCTGCCACAATGGCCCGTTAGCAACGTCGAATAATTATTATGCGTGAGAATTTACGTTATGTAATTC
+AGTATCACGCCCATACAATCCGAATTTTAGTGAGAATTGTGGCTCAGACAGCCAAATCAGCCTCTTTTGC
+TTGTCGCTTTTCACTAAACATCCGACAATTTAGCCTAACCCCGGCAAAAATGGAGATGCCTATGTCCACG
+ACATGGTTTGTAGGAGCCGACTGGCTCGCCGAACATATTGATGACCCGGAAATTCAGATTATCGATGCCC
+GCATGGCGTCGCCTGGACAGGAAGATCGTAACGTTGCTCAGGAGTATCTGAATGGACATATTCCAGGCGC
+AGTGTTTTTTGATATCGAAGCGCTTTCTGATCACACTTCCCCGCTTCCGCACATGCTGCCGCGCCCGGAA
+ACGTTCGCCGTGGCGATGCGTGAATTAGGCGTTAACCAGGATAAGCACCTGATTGTCTATGACGAAGGTA
+ATCTTTTCTCAGCCCCACGAGCATGGTGGATGCTGCGCACCTTTGGTGTAGAGAAAGTGTCGATTCTGGG
+TGGTGGACTTGCAGGCTGGCAGCGTGATGATCTGCTATTAGAGGAAGGCGCAGTAGAGCTGCCGGAAGGA
+GAGTTTAACGCCGCGTTTAATCCTGAAGCCGTGGTGAAAGTAACCGATGTATTATTGGCAAGCCATGAAA
+ATACGGCGCAAATTATTGATGCCCGCCCGGCTACACGTTTTAACGCAGAAGTTGATGAACCTCGCCCAGG
+TTTACGTCGCGGACATATTCCCGGTGCATTGAACGTTCCGTGGACGGAACTGGTACGTGAAGGCGAACTA
+AAAACGACCGATGAACTGGATGCGATATTTTTTGGTCGCGGTGTCAGCTACGACAAACCAATTATCGTCA
+GCTGCGGTTCTGGTGTAACAGCAGCCGTGGTTTTGTTGGCACTTGCGACGCTGGATGTGACAAACGTGAA
+ACTGTACGACGGCGCATGGAGTGAATGGGGCGCACGGGCAGATTTACCGGTTGAGCCCGTAAAATAAGCT
+TTTTACAGGCAATAAAAAACCGCCGAATCTGGCGGTTTTTTATTGCTGGTCTGGTTCGCGGCCTTTCCAG
+CAGGTTGTATTACCGTAGTAATGCAAGCGCGTCTCAGCGGACACAATACTCGCCAGTAACTCTCTTTTTG
+TCAAGTAAAAGAGAGTTATTATTGTTCTGTTAGTGTATTATCCACTGCGGCCCTTTCCGCCGTCTCGCAA
+GCGGGCGCTGGCTTAAGGAAAGGATGTTCCGCGACCGTTAGGGCAAGCGCGTCTCAGCGCTTGCTATCGC
+GGCAATATCGCCAGTGGTGCTGTCGTGATGCGGTCTTCGCATGGACCGCACAATGAAGATACGGTGCTTT
+TGTATCGTACTTATTGTTTCTGGTGCGCTGTTAACCGAGGTAAATAATAACCGAAGTCTCTTCGGCGACA
+ATTTACTGGTGGTTAACAACCTTCAGAACAGCAAGTAAGCCCGAATGCCGCCCTTTGGGGCGGCATGTTT
+TAAATTATCCGGTTCTGTTTAAAGTCACGCAAAAAACCACCCCAGCGACGTTCATAGAATGGCGCAATAT
+GTTCGGTAATAAAGTGGCTAATACCTTTTTCCCCTTTTTTCACCTGACAAATATCGATGGGTTCATCGCC
+AGGTAATGTATCGGTCGCTACACTTCCCGCCGCCTGAATAATTTCTTCGATATCACCATCGGCTTCAATG
+CCAATAAGTAAATTAGGCTGTGCCTCTTCGTTCTCTTTAATTGAACAAATAAAAGCACGCTTCACCGGCT
+TAATGGTTTTAAATAAGGTGGTAAGTGAATCAATCATTTGCGCTGGCGGCTCTGCGACCTCCGATAATAT
+CAGCGATTCACCGCCTTCCAGTACTTCCTGGCTACTCAGCGGATTCCCTTCTTCACCAATCAACAAACTG
+ATTTCACGCGGCATAAACTCTTTACCGGTTGGCAGTTTGGCATTAAGGAAGAGCGTTTCGCCAAGGGTCA
+TCTCAAACAATGTGCGAACGGGCATTACGACAAATGCCTGTTCGTCTTCAACCGCCTGTTGAAGTGCTTC
+TAACGAGGTAAAAAAAGGAATGACGCTGGTGCCGTCTTCTTTTTCCCAGTGCTGTAAATCAAGTGCGCTA
+TCTTCAACCACAGCCTCGCCCTGTGCCGCCGTACCAGGCACCCAGACGGTGGATTCCAGTAGAGTACGGA
+AAAAGGCCGGGCGGTGCGCCGGTTCGGTTGCTGCTTTTTCCAGCAGGTCTTCAAGTTCGTTTTTTGTTTC
+GGACATAAGAACCATAATTCATTCAACGTTCGGGGCGTAAGTGCCTGATGCGCTACGCTTATCAGGCCTA
+CAAGGGAACCGCAATATATTGAATTTGCAATACTTTGTAGGCCGGATAAGGCATTTACGCCGCATCCGGC
+ATATTAGTTTACGCCGTTAACAGATTAGCAATCGTGCGCACACCAAGTCCCGTAGCACCCGCAGACCACT
+GTTCAACCGGCGCTTTACGGTAAGTCGCCGAGCAGTCGATATGCAGCCAACCTTGCTGATAGTTCTCAAC
+AAAGTGCGACAGGAAACCCGCCGCTGTGCTCGCGCCTGCCGGATACGCCGCGCTTCCGGTGTTGTTCAGT
+TCGGCAAAGTTAGACGGCAATTGATTGCGGTGGAACTCCGCCAGCGGCAGACGCCAGAACGGTTCATTCT
+CCTGCGCGGCACTCGCCAACAAGCGACCGGCAAGCGCATCGTCAAAACTGAACAGCGCGTGATAATCATT
+ACCCAGCGCGGTTTTCGCCGCCCCGGTGAGGGTCGCCGCATCAATGATCAGTTCCGGTTTCTGCGCACTG
+GCATCAATCAGGCCATCGGCCAGCACCAGACGCCCTTCGGCATCGGTGTTCATCACTTCAACTTTTTTAC
+CGTTGCGATAGGTAATAATATCGCCCAGTTTGAACGCGTTGCCGCTGATCAGGTTATCCGCACAACAGAG
+GAACAGCTTCACGCGCTTGTTCAGTCCGCGCGTAATGGCAAATGCCAGCGCCCCGGTAACCGTTGCCGCG
+CCGCCCATGTCCGACTTCATCGAGTCCATAAACGCAGTCTGTTTGATGCTGTAGCCGCCGGAATCAAAAG
+TGATGCCTTTACCAACCAGGCACGCGTACACTGGCGCTTCTTTATCGCCAGTTGGGTTGTAATCCAGCGC
+CAGCAATACCGGAGAACGTTCTGAACCGCGCCCGACCGTGTGCAGCCCCATATAACCTTGCTCACGCAGA
+TCTTCGCCTTTGGTGATCCGGTAAGTCACACGATCCCCTGCGACGTTGCTGATCAGATCAACAGCACGCT
+GTGCCAGTTGCGATGGCCCCAGCTCTTCTGCCGGTGCGTTGATGGTGTCACGCACCCAGTCGATGATCAT
+CAGGCGGTTATCCAGTTCCTGACGCTGGGCATCGTCCAGATCCGGCCACTCCACTTTACGTATGCCTTTC
+GGGGCTTTGTAACCTTGCCAGAATGCCCAGCAGCGATCCGCATCCCAGCCTTCACCGCTTAACTGAACAT
+GCTTGATGCCCAGACCGTCAATCTTGCGCGCCGCACGCTGGATCAACCCCAGATCGTCTGCCCCGTTCAA
+ATGCAGGGTAATGCCATCATTATTAATGCTGTAAGTCGCTTTTTCTCCCCAACGTGCGTCGGCAGGTTGG
+GGAGAGAGGGTAATCTTCATCGCTTCTGTCATTTTAGTTATCCTTATTCGTTTAACAGCAAAACGGGCTA
+CCCCCAGGCAGCCCGTTCATTTACTCGGCCTCGTCAAGCCAGACCAACAAAATCGCTTCGAGGATTTTCT
+CGTTGGATGCCTGCGGGTCGTCGTCGAAATCTTCCAGATCGCAAATCCACTGATGCATATCGGTGAATCG
+AACCGTTTTCGGATCAAGATCGGGATACGCATCGTACAGTGCTTCGCCAATTTCGCGGCTATCCGTCCAC
+TTAAGTCCCATACTAACCTCTGTTAATGCTCACGCGCATGGTTGATAGTGTAACGCGGGATTTCGACCAC
+TAAATCTTCGTCGGTAACGCGCGCCTGGCAGCTTAAACGGCTTTCCGGCTCCAGTCCCCAGGCTTTGTCC
+AGCATGTCGTCTTCCTGCTCTGAGCTTTCCGGCAGCGAGTCAAAACCTTCACGAACGATGCAGTGGCAGG
+TGGTGCAAGCACAGGATTTTTCACAGGCGTGTTCAATCTCGATACCGTTACGCAGCGCAACGTCGAGAAT
+GGTTTCACCACTATTCGCTTCCAGAACAGCGCCATCAGGGCAGAGATCCTGATGAGGCAAAATAACAATC
+TTTGGCATATTAAACCTCGTCCACGGAATGGCCTTTCAGCGCACGACGAACCGACTGGTCCATGCGGCGA
+GCGGCGAAATCCTGGGTTTGTTTGTCTACGTTTTTAATCGCTTGTTCGATGGCGTCAACATCATCGCCCT
+GCGCCACTTCACTCAGGTGAGCGGCAGCATCGTCAATGACCTGACGCTCTGCGGCGCTTAACAGCGCGGC
+ATCAGCAGCCAGCGCGCCGTGCAGACTTTCCAGCACACGCGCCGCTTCTACTTTTTGTTCTGCCAGCATT
+CGGGCTTTTACGTCCTGCTCGGCATAGCTCATTGAGTCTTTAATCATCGAGGCGATTTCGCTGTCGGTCA
+GGCCATAAGAAGGTTTGACCTGAATAGACGCCTCAACGCCGGTGGATTTCTCCATCGCCGTCACGCTCAA
+AAGACCGTCGGCATCGACCTGGAACGTCACGCGAATATGCGCGCCGCCAGCCGGTAGCGCCGGGATACCA
+CGCAGTGCAAAACGCGCCAGCGAGCGGCAGTCCTGCACCAGTTCACGCTCACCCTGCATTACATGGATAG
+ACATCGCCGTCTGACCATCTTTAAAGGTGGTGAAATCCTGGGCGCGAGCCACCGGAATCGTGGTATTACG
+CGGAATCACTTTCTCCACCAGGCCGCCCATCGTTTCGAGGCCCAGCGACAGCGGGATCACATCCAGCAAC
+AGCATTTCGCTGTCCGGCTTGTTACCCACCAGAATATCCGCCTGAATCGCCGCGCCAATAGCGACGACTT
+TATCCGGGTCGATAGAAGTCAGCGGTGGACGACCGAAAAATTCGCCTACTCGTTCACGCACCAGCGGCAC
+GCGAGTAGAACCGCCCACCATCACCACTTCCAGCACTTCATCAGCTTCTACGCCCGCATCTTTCAGCGCG
+CGACGACAAGCCAGTAAGGTTCGTTTTACCAGTGGCGCGATCAGTTCATTGAATTGTTCACGGCTGATTT
+CGCCCTGCCAGCCCGCAACGTTAACGGTCACAGAGTCCGCATCGCTCAGCGCGATTTTGGCCGCAATGGC
+AGCATCGAGCAGTTCACGCTGAACGCGGTTATCGCTACGATCAGGAATGCCCGCCTGCTCGCGAATGTAA
+TCCGCCAGCAGATGGTCGAAATCATCGCCGCCGAGCGCGGAATCACCACCGGTCGCCAGCACTTCAAACA
+CGCCGCGACTTAAGCGCAGAATGGAAATATCAAACGTCCCGCCGCCGAGGTCATAAACAGCGATCACGCC
+TTCCTGGCCGGAATCCAGCCCGTAGGCAATAGCCGCAGCGGTCGGTTCATTAAGTAAGCGCAGAACATGC
+AGCCCCGCCAGACGCGCCGCGTCTTTGGTGCCCTGACGCTGGGCATCGTCAAAGTACGCCGGAACGGTGA
+TAACGACACCATCCAGCTCGCCTGCCAGGGCTTCAGTTGCCCGCGCCGCCAGTGCTTTGAGGATGTCCGC
+AGAAACGCGCACCGGGTTCAGCAGCCCCGCCGCCGTTTCAATCATCGGCAGGCCATTTTCGCTGGCCTGG
+AATTGATAAGGCAGATGCGGATAGCGTTGCTGGATATCAGCCAGCGAGCGCCCCATCAGGCGTTTAACAG
+AACTAATGGTGTTGGCGGTGTCGAGCGCTGCGTTAGTACGCGCGTCATAACCCACCGAATGCCCTTGCTG
+TTGATAGTGAACAACAGATGGCAGCAGGTGACGGCCTTCATGGTCAGCTAACGTTTCGGCCTGACCGCTG
+CGCACTGTTGCCACCAGCGAGTTGGTTGTGCCCAGGTCAATACCGGCCGCCAGGCGACGCTGATGCGGCG
+CAGCACTCAAACCAGGTTCACTAATTTGTAATAAGGCCATGTTTAGCTTCCAGAAATTAAAAATCGAGCA
+GTTTTTCTTCGAGTTGTTCGGCACTGCTCCGCAGTTTATCGAGAAAACGCAGCTTACGCACGGTATCCGC
+CGCCGCGTCCCACGTCTCGTTGTCTAACTGTTCAACCATCAACTGATGGCGGGTATCAAACATCTTTTTC
+ACACGTTTGATAAAGCTTTCCAGCCGCGCTTCATCTTTCGCCTGTTCGATCTCGTCCAGTTCTTCGCGCA
+GTTCCAGCTGTTCCATCAGGAACGCGGTGTCGCGCACAGTATGCTGCTCGCTGGCGAGATCAAAACCGTG
+CAAAGAAAGCAAATATTCCGCGCGCATTAACGGATGACGCAGCGTTTGCCAGGCCTGGTTAATGGTCGCG
+GATTGCTGTACGGCGGCGAGTTGTTCCGCCTGGCTTCCGCTGGCGAATTTATCAGGATGATACTGACGTT
+GTAGATCCTGAAAACGCAGGCTCAGCGCCTGGGTATCGAGTTGATAACGGGCAGGCAAGCCAAAGAGGGT
+GAAGTAATCCATAACATTCTCAGGGCTGCGATCCGCCGCGATAACGGCGAATCAGGTAAAACAAACCCCA
+CGCGCAGGCGACCACGGTGGGGTTATCGGTATGCGCATCAAACGTGGAAGCTTTCGCCGCAACCACACTC
+ATCTTTGACGTTCGGGTTGGTGAATTTAAACCCTTCGTTAAGGCCTTCTTTGACGAAGTCCAGCTGCGTA
+CCGTCCAGAAATTGCAGGCTTTTGCCATCGACCACGACTTTCACGCCTTTGTCTTCAAACACGATGTCTT
+CCGGCGTCGGTTCGTCAACAAATTCCAGTACATAAGCCATACCTGAACACCCGGAGGTTCTCACGCCCAG
+ACGCAGGCCAAACCCTTTACCGCGGTTAGCCAGAAAGGTATTTACTCGCGCTGCTGCACTGTCGCTCAGT
+GTAATCGACATAACCAAACCTCAACTCTTATTTTGCTTCACGTTTGCTTTTATAGTCCGCAATGGCGGCT
+TTGATCGCGTCTTCTGCCAGAATAGAACAGTGAATTTTCACCGGCGGCAGTTCAAGTTCTTCAGCAATAT
+CGGTGTTTTTGATCGCCTGTGCTTCGTCGAGAGACTTCCCTTTCACCCATTCGGTGACCAGGGAGCTGGA
+AGCGATAGCGGAACCGCAGCCGTAAGTTTTAAAACGCGCGTCTTCAATGATACCTTCATCGTTGACTTTA
+ATCTGCAACTTCATCACGTCGCCACAGGCCGGTGCACCCACCATGCCGCTGCCGACGTTCTCGTCGTTGT
+TGTCAAAGGAACCCACGTTACGCGGATTCTCGTAATGGTCGATAACTTTTTCGCTGTAAGCCATTATAAA
+TTCTCCTGATTCCGATACCGATTAATGATGAGCCCATTCGATGCTGTTCAGATCCACGCCCTGCTTGTAC
+ATTTCCCACAGCGGAGAAAGGTCACGCAGACGACCGATGGATTTACGAACTAACTCGATGGTGTAGTCGA
+TCTCTTCTTCAGTAGTAAAACGACCTAAAGAGAAACGGATAGAGCTATGTGCCAGCTCGTCGTTCAGCCC
+CAGCGCGCGCAGCACGTAGGACGGTTCGAGGCTTGCTGACGTACAGGCGGAACCTGAAGAAACCGCGAGG
+TCTTTCAGCGCCATAATCAGCGACTCACCTTCAACGTAGTTGAAGCTGACGTTGAGAATGTTCGGCGCAC
+CGTGTTCCAGGTCACCGTTCAGGTAAACTTCTTCGATATCTTTGATGCCGTTCCACAGACGGTTACGCAG
+GCCGCGCAGACGTTCCATCTCGGTCGCCATCTCTTCTTTTGCGATGCGATAGGCTTCGCCCATACCGACG
+ATCTGGTGAACAGGCAGAGTGCCGGAACGCATACCGCGCTCGTGACCGCCGCCATGCATTTGTGCTTCGA
+TACGTACGCGCGGTTTACGACGCACATACAGCGCACCAATACCTTTCGGGCCATAGATTTTGTGACCGGA
+GAAAGACATCAGGTCAACTTTCAACTGGCTCAGGTCGATAGGCAGTTTGCCCACGCTCTGGGTTGCATCA
+ACGTGATAGATAATGCCACGAGCACGGCACATTTCGCCGATAGCCGCGATATCCTGCACCACGCCGATTT
+CGTTATTTACGTGCATGATGGAAACAAGGATGGTGTCGTCACGCATCGCTGCTTCGAGTTCTTTCAGGTC
+GATAATGCCATTACGCTGCGGTGCCAGGTAAGTGACTTCAAAACCTTCGCGCTCCAGCTGACGGCAGGTA
+TCCAGTACCGCTTTATGTTCGGTTTTACTGGTGATGATGTGCTTGCCTTTTTTCTGATAAAAGTTGGCTG
+CACCTTTGATCGCCAGGTTGTCAGATTCGGTTGCACCAGAGGTAAAGACGATTTCACGCGGATCAGCGCC
+GACCAGATCGGCAATCTGATTACGGGCGATATCTACCGCTTCTTCAGCCTGCCAGCCGAAACGGTGAGAA
+CGGGAGGCCGGGTTACCAAAGGTTCCGTCCATCGTCATAAACTGCATCATTTTCTCGGCAACACGCGGGT
+CCACCGGCGTGGTTGCGGAGTAGTCGAGATAAATCGGTAATTTCATTGCTCTATAAACTCCGTACATCAC
+TCAATGCAAGGAATCAGGCTACCGGCTGGATGTACGACCGTGTTTACGGAGTATTTAGCACTCCGGCCTG
+ATTCTGAATTCTTTTTATTAAGCGCGTAACTTAACGTCGATCGCGTCTTGTGTGCGGGTGCGTGGCGCGT
+CGTGAGTATGCTGACGACCAGACACATCCAGCACTTCCTGGTTATTAACCAGTTCGCCTAAAGTAATGTT
+ATTGAGAAAACCGGTAAGACGGTCGCTCAAATCACGCCACAGCGCGTGGGTCAGGCATTTATCGCCGCCC
+TGGCAGCCGCCTTTACCCTGACAACGGGTGGCATCTACAGATTCGTCAACGGCGCTAATCACCTCGCCAA
+CGGCGATGCTGCTGGCATCTTTGCCTAACAGATAACCACCGCCTGGTCCACGTACGCTGGAAACCAGACC
+ATTTTTACGCAGACGGGAAAACAGTTGTTCCAGATAAGAAAGGGAAATTCCCTGACGTTCGGAAATATCA
+GCCAACGGTACCGGGCCCGCTTCAGAGTTGAGCGCAACGTCAAGCATTGCGGTCACGGCATAGCGCCCTT
+TAGATGTCAGTCTCATGTCTTACTTCACCTCAAACTCGCCCCTGCCCGGGGTTTTTTATTGTAAAAGTGG
+GGGTATTGCATAGCAGGGTCAAGTCTGACATTCCCGAGTAAATTGGTCAACTATTTACTTGACTGATTTA
+GTCGGGTATTTAACCTTCAGTGCCATTTTTTATCGTGGCGTTTGTACCTGTTGTCGGATGCGGTGTGAAC
+ACCTTATCCGACCTGGGATTCCGTGCACTTACAGGCCTGATAAGACGCGTTAAGCATCGCATCAGGCAAC
+CACTGTTATTCGGCCTTGTTACCTTTATTCTGCTGCTCAATAGAAGCCAGAATCCCGCGCAGGATATTCA
+ATTCCTGGCTTTCCGGGCGTGCACGGGTAAACAGACGGCGCAATTTATTCATCACCTGCCCCGGATGGTT
+TTCACGGATAAAACCGGTTGCCAGCAGCGTTTGCTCCAGATGACCATAAAAACGCTCCAGATCATCGACC
+AGCGGATACGGCGTCTCTTCATGCTCGACCTGCTCGCCATTTTCCTGAGTTGCCAGCCAGGCCATGCGCA
+CTTCATAGGCAATAACCTGAACCGCCATCGCCAGGTTCAGCGAACTGTATTCCGGGTTAGCCGCAATCGC
+GACATGATAATGGCATTTCTGCAACTCTTCATTGGTCAAGCCGACGCGCTCGCGACCAAACACCAGCGCC
+ACCGGGGTATTTGCCGCTTCAGCGACGCTTTTCAGACCGCATTCGCGCGGGTCGAGTATCGGCCACGGCA
+GCGTGCGGGAGCGAGCGCTGGTGCCCACCACCAGACTACAACCGGCTAACGCTTCGTCGAGCGTATCGAC
+GATGTGAGCATTACCAATCACATCGCTGGCCCCTGCTGCCAGGGCAATCGCCTGGGAGTCTGGTTTCACT
+AGTGGATTAACCAGCCACAGATTGGTTAATCCCATTGTTTTCATGGCACGGGCAACAGAACCCATATTGC
+CGGTGTGTGACGTCTCCACCAGCACAATTCGAATATTTTGCAGCATTGTCTTTCTTCATCTAAAGATTAT
+TCACGCATCTTATCATAAAACGAAGACAGATGCCGATCTCGCTGCTATACTCTGCGCCGTTTTCCCGTTC
+TTTAACATCCAGTGAGAGAGACCGATGCATCCGATGCTGAACATCGCCGTGCGCGCAGCGCGCAAGGCGG
+GTAATTTAATTGCCAAAAACTATGAAACCCCGGACGCTGTAGAAGCGAGCCAGAAAGGCAGTAACGATTT
+CGTGACCAACGTAGATAAAGCTGCCGAAGCGGTGATTATCGACACGATTCGTAAATCTTACCCACAGCAC
+ACCATCATCACCGAAGAAAGCGGTGAACTTGAAGGTACCGATCAGGATGTTCAATGGGTTATCGATCCAC
+TGGATGGCACTACCAACTTTATCAAACGTCTGCCGCACTTCGCGGTATCTATCGCCGTTCGTATCAAAGG
+CCGCACCGAAGTTGCTGTGGTATACGATCCTATGCGTAACGAACTGTTCACCGCCACTCGCGGTCAGGGC
+GCACAGCTGAACGGCTACCGTCTGCGCGGCAGCACCGCTCGCGATCTCGACGGTACTATTCTGGCGACCG
+GCTTCCCGTTCAAAGCAAAACAGTACGCCACTACCTACATCAACATCGTCGGCAAACTGTTCAACGAATG
+TGCAGACTTCCGTCGTACCGGTTCTGCGGCGCTGGATCTGTCTTACGTCGCTGCGGGTCGTGTTGACGGT
+TTCTTTGAAATCGGTCTGCGCCCGTGGGATTTCGCGGCAGGCGAGCTGCTGGTTCGTGAAGCGGGCGGCA
+TCGTCAGCGACTTCACCGGTGGTCATAACTATATGCTGACCGGTAACATCGTTGCTGGTAACCCGCGCGT
+TGTTAAAGCCATGCTGGCGAACATGCGTGACGAGTTAAGCGACGCTCTGAAGCGTTAATGACTCAGGCGG
+GTGATATCACTCACCCGCCCTCGCCTTTCAGGCGCTATTCCGAAATACTTCCTCACCGCTTTACTTTCTT
+TCGTCACTCTCCCACCATCTTTCCCCGATTAATGGATGATAAAGAAGTCGCAAGGAAAGATTATGGCGCT
+GCCAGTGAACAAACGCGTTCTCAAAATTCTGTTTATTCTCTTTGTTGTTGCCTTCTGCGTTTATTTAGTG
+CCGCGCGTCGCCATCAACTTCTTCTATTATCCTGACGATAAAATATACGGTCCCGACCCCTGGTCGGCGG
+AATCCATCGAATTTACGGCTAAGGACGGTACTCGTCTGCAAGGCTGGTTTATTCCTTCTTCGACGGGCCC
+TGCTGACAACGCCATCTCAACCATCATTCATGCTCACGGCAATGCCGGAAATATGTCCGCCCACTGGCCG
+CTGGTCAGTTGGTTACCCGAGCGTAATTTCAACGTTTTTATGTTTGATTATCGCGGGTTTGGTAAATCAA
+AAGGCACGCCGTCCCAGGCCGGATTGCTGGACGATACGCAAAGTGCCATCAATGTGGTGCGCCATCGCAG
+TGATGTAAACCCACAACGGCTGGTGCTGTTCGGGCAGAGTATTGGCGGGGCGAATATTCTGGATGTTATT
+GGTCAGGGTGATCGTGAAGGCATACGTGCGGTGATCCTCGACTCCACCTTTGCCTCTTATGCGACCATCG
+CCAACCAGATGCTCCCCGGCAGTGGCTACTTACTTGATGAGAGTTACAGCGGCGAAAATTACATCGCCAG
+CGTCAGCCCGATCCCGCTTTTACTCATTCACGGTAAAGCTGATCACGTTATCCCATGGCAGCACAGCGAA
+AAGTTGTATAGCCTGGCAAAAGAGCCAAAACGGTTGATCCTAATCCCGGATGGCGAACACATTGATGCTT
+TTTCCGATCGTCACGGCGATGTTTATCGCGAACAGATGGTGGATTTTATCCTTAGCGCATTGAATCCGCA
+GAACTAACCCATGATCGCTAGCACGATAATCATTCACAAAACCACCTTAAGACATGCTAATCCACTGATC
+AGAACAGTTTAAAATGAGAAAAATTCTGTGATGCTTGCCAACATTTCTGATGATTAGCATTCCCTTCGCC
+ATTTCCCTGAGCAAACTTTAGCTATTCTTATCAATTATGCTTATGGGAGATCTACAGATGATGCCTACGC
+TTGCTCCACCATCTGTCCTTTCGGCTCCCCAGCGCCGCTGCCAGATCTTGCTGACGCTCTTTCAGCCGGG
+GTTGACCGCCACCACGGCAACTTTCAGCGAGCTTAATGGTGTGGATGATGATATTGCCAGTCTTGATATC
+AGCGAAACAGGACGGGAGATCCTGCGCTATCATCAACTCACACTGACTACTGGTTATGACGGCAGCTACC
+GGGTTGAAGGTACAGTGCTTAACCAACGTTTGTGTTTATTTCACTGGCTACGACGTGGTTTCCGTCTGTG
+TCCGTCATTTATTACCAGCCGATTCACCCCCGCCCTGAAGAGTGAACTGAAGCGGCGCGGAATTGCGCGT
+AACTTTTACGACGATACCAATCTACAAGCGTTAGTGAATCTCTGCTCTCGACGGCTGCAAAAACGCTTTG
+AAACGCGCGATATTCATTTCCTGTGTCTGTATTTGCAATATTGTTTGTTGCAACATCACGCTGGAATTAC
+GCCTCAGTTTAATCCGCTCCAACGTCGCTGGGCGGAATCCTGCCTTGAATTTCAGGTAGCGCAGGAAATT
+GGACGCCACTGGCAGCGTCGGGCACTCCAGCCTGTACCGCCTGATGAGCCACTGTTTATGGCTCTACTGT
+TTTCCATGTTGCGGGTTCCCGATCCACTGCGGGATGCGCATCAGCGGGACAGACAACTGCGTCAGTCTAT
+CAAACGTCTGGTAAACCATTTTCGTGAGCTGGGAAATGTTCGTTTTTATGATGAACAGGGGTTATGCGAT
+CAGCTTTATACCCACCTCGCCCAGGCGTTAAATCGCAGTTTGTTTGCCATCGGTATTGATAACACTCTGC
+CGGAAGAGTTCGCCCGCCTGTATCCACGCCTGGTGCGCACCACCCGCGCGGCGCTGGCCGGATTTGAAAG
+TGAATACGGCGTCCATCTTTCTGATGAGGAAAGCAGTCTGGTCGCGGTGATTTTTGGTGCCTGGCTAATG
+CAGGAAAACGACCTGCATGAGAAACAGATTATTCTATTGACCGGGAATGATAGCGAGCGAGAAGCGCAGA
+TTGAGCAGCAGCTACGCGAACTAACGTTACTGCCGCTCAACATTAAACATATGTCGGTAAAGGTATTTTT
+GCAGACAGGCGCTCCGCGCGGCGCGGCACTGATTATTGCGCCTTATACCATGCCGTTACCGCTCTTTTCA
+CCACCGCTGATCTATACGGACCTGACGTTGACAACACATCAACAGGAGCAGATCCGCAAAATGCTCGAAT
+CAGCATGAGGGAACAACTTTCGGGCGCAAAAACATTGCCGGAAGCGCCACCAGCGCCATCACCCAGAACA
+CGCCGTGGCCGAGATATTGATACAGGAAACCGGCGAAAACGGTCATGATGGCGATACTGCCGCCCATCGC
+GACGGCAGAGTAAACCGCCTGTAAACGGATGACTTCGCTACCCTGGCGAGCAGCAATATAGCGCATGGCA
+GCCAGGTGGCAGACCGTGAAGGTACCGCAATGCAGAATTTGCACCACTATCAACCACGGCAACGCCGTCG
+TTGCTCCCATAATGCCCCAGCGCACTACGCCGCAAATCGCCGAGATCAACAGCATATCGCGTGCACTACA
+ACGGCGGAAAAGTTTATTACTCAGCGCAAAGATAATGACTTCCGCCACCACGCCCAGCGACCACAAATAC
+CCCACCGCCGAGGCCGAGTAGCCAGCTGCCTGCCAGTAAATGGCGCTAAAACCGTAATAGGCCGCATGTG
+CCCCCTGCAATAAACAAACGCAGGCCAGAAAGCGCCAGTTCTGGCGAACCAACGCCAACCACGCAGACCA
+GCCGGTGCTCTCCTGCTGGCGGCTTGCCCCTTGTGGCTGAATCGTCGGACGGATGAGAAAGCCGAGCAGC
+ATGGATGCCACGCCCAACGTCAACAGCGCGAGGATCACCCGATAATCAAACATACTGACCAGTTTGCCCG
+TCAGCGCCGAGCCAATGACAAACGCCACCGAGCCCCACAGTCTCACTTTGCCGTAATCAAGCGGGAACTG
+CTTTTGCCACGTATTCGCCAGTGCATCGGTCAACGGTACCAGCGGTGAGAAAAAGAGGTTAAAGCCAATC
+ATCACCAGCATCAGCCACGCTACGTGCGCCCCCGCCCAGAAGGCGACAGCAAAGAGAAGTGTCAGCAGTG
+CCAGCACGCGCAAGGCGGAAATCAGGCGGGAAGGATCGCTGACGCGGGGCGCGATGAGCAAACTCCCGAG
+GAAACGGGCAACCAGACCCGCCCCCAATAACAGGCCGATGGTTTCTGGCGTTAAACCAATCCCTTTAAGC
+CAGACGCTCCAGAAAGGTAGAAAAATGCCGTAACTAAAAAAGTATGTGAAATAGCCGAGCGCCAACCAGC
+GCGTGGATTGCAAAACCATGAGTCCCTCCCGTCAGGAGGCGTTAGTCTGGGGTTAATCGAATGTTGGTGC
+AAGTTGAAAAATAAGAATATTCGAGCCTGCTTCCTGACGGTTATCCTGCATATCAGGAAATGACAAAAAA
+GAGCGTCCCACAACACAACATGTAAAAAAGAACGATGAAACAGGTGAAAATCGCAATTTATTGAACTGAC
+AAACTCATGTGAGACGGATAAGGCGTGCATGTCGCATCCGGCAGGAAACAATAAGCACATTGTCAGCCAT
+CTGCGTTATGCCGTTATACCAGAAACGAATATCTCAACGCCTGGGCGTGGCGAGGTACCAGAGTGTGTAT
+TACGTTTAAATCACATCATCTTGCAAAGGGATTGGTTATGAACTCACTACGTTATTTTGATTTTGGCACT
+GCCCGCCCCGTTTTATTATTAATTGCCCGTATCGCCGTGGTCTTAATTTTCATTATTTTTGGTTTTCCCA
+AAATGATGGGCTTTGACGGTACGGTCCAATATATGGCCTCGCTGGGCGCGCCAATGCCGATGCTGGCAGC
+GATTATTGCGGTAGTTATGGAAGTGCCCGCCGCGATATTAATCATACTTGGCTTTTTCACCCGTCCGCTG
+GCGGTGCTGTTTATTTTCTACACGCTGGGAACTGCGGTGATTGGTCATCATTACTGGGATATGACTGGCG
+ATGCGGTTGGGCCAAATATGATTAATTTCTGGAAGAATATCAGCATTGCTGGCGCATTCCTGCTGCTGGC
+AATTACCGGGCCGGGGGCAATTTCTCTCGATCGGCGTTAGGAAAGATGCCGGATGCGGCGTAATGAACTG
+CACCCCAAATGTTGGACATAATCTGACATCTGAAGGTGCAGTTTATGAAACATTCATTTGAAGTAAAACT
+TGCCGCTGTAAATCATTACCTGGCTGGTCATGCAGGCATCATTTCTACGGCAAAACTCTTTCAACTTTCT
+CACACCAGCCTCTCACACTGGATTAATCTTTTTCTTCTTCACGGTCCTCGGGCACTGGATTGCAGACACA
+AGCGTAGCTATTCTCCTGAAGATAAACTTTGCGTGGTTCTTTATGCTCTCGGGCATTCTGAGTCTCTACC
+CCGGGTAGCTGCCCGGTTTAACATTCCCAGCCACAACACGGTTAAAAACTGGATAAAAGGCTACCGCAAA
+TCTGGTAATGAGGCCTTTATCAGGCGCAGGAAGGAGAAAAGCATGACCCGTTCTGATGATACCCATGAAA
+ACGAGGCAAACATGACGCCGGAAGAGATGAAGAATGAGCTGCGTTATCTTCGCGCAGAAAATGCATATCT
+GAAAGCCATGCAGGAGCATCTTCTGGAAAAAAAGCGCCAGGAGCTGGAGAAAAAACGAAAGTCATCCAGA
+GCCTGAGGTACGGACACTGCCAGTCTGACCTGTTAAAGGCCGCAGGGCTGGCCAGAAGCACGCTGTACTA
+CCAGCTGTCACTGCAGAAGGCTAAGGACAAGTATGCTGATGTGAAACAGCTCATAGCCTCCATCTTCCAT
+GAACACCGGGGATGTTATGGGTACCGGCGGATCCATTGTGAGCTTCAGAAAAGAGGTCTTAAGTTCAGTG
+GCAAAACGGTGAGAAAACTGATGCAACAGCTCGGCCTGAAGTCTCCTGTGCGCCTGAAGAAATACCGGTC
+TTACCGGGGAAATATGGGACTCGCTGCAGAAAATATCCTTCAGCGACAGTTCAAAGCGGAAGCTCCCTGT
+GAGAAATGGGTGACAGATATCACCGAATTCAGGGCTGGCGGACAAAAACTGTACCTGTCCCCGATACTTG
+ATTTGTTTAACGGGGAAATCGTGGCGTGGGAAACGGCCTGCAGGCCTACAGAGGAGCTGGTGAAGCGGAT
+GTTAAATAAGGGTCTGGAAAGCCTTGCTGAAGGGGAGAAACCGCTGCTCCACAGTGATCAAGGATGGCAT
+TACCGGATAAAAAGTTATCAGTCCGCCCTGGCGGACAGAGGGTTAGTGCAGAGCATGTCGCGCAAGGGCA
+ACTGCCTTGATAATGCGGTAATGGAGAACTTCTTTGGTCACCTGAAAGAAGAAATGTACTATCGCCGGGA
+CTACAGAAATGTAGAAGAGCTGGAAAATGCCGTTAACGAATACATAACTTACTGGAATCAAAAAAGAATA
+AAACTCAGTCTTGGGGGACTCAGCCCGGTAGAATACCGGACTGAGTATCAAAAAGCCGGTTAACTGAAAC
+TGTCCAGGTTTTGGGGTTCAGTTCAGTAAACGCCTTATCCGGCCTACCGCTCCAACACCGATTGTAGGCC
+TGATAAGACGCAGCAAGCGTCGCATCAGGCATCGTGCACCGAGTGCTACAAAATCGAAATTACCCCGTAG
+GCCTGTGCATCCGGCATTTTATAAATTACAGCAACGCAACCCGCAACGACATCTCTGAAATTGTTGATTC
+CCCTGGTGCAAGCGCAATGAGGTCACCACCTTCCGGACGATGATGGTCATCCGGCGCATGGCTCATCGGT
+TCCAGACAGAAGAAATCAAACGCATATCCTTTATCAAACGCAGGGTCTGAAACAAAGATGAAATAACACT
+GTGCAGGTGGCGTCGTTTCCATGATGATGGCATAACCCTCCTGCGGCTGCTCGATGCGGGCCTTACCATT
+CCATCCGGCAAAACCATTGTTTACCCACTGGCGCGGCAACGGCGCGAGCTGGTTAAAATCCAGCTCCTGC
+GGTAGCTGCTCGCAAAACTCACCCGCCAGCCACTGCTCCCGCTCCAGCCAGTAACCGCTCGCCTGTGCCT
+GAATCCGCGTTTGCGGCGACAACGGAAAATAAGGATGCCAGCCGGTACCAAATGGCAGCGTCTCTGCCCC
+TTGATTGGTGACAGCGAGCGTCACCGTCAGCGTATCCGCCGTTAAATGAAATGCCTGGCTTACCCGATAG
+TGATAAACACCGCTGAGATGTTCATACACCAGACACAAGCTATCATCGCTGCGCGAGACACATTGCCACT
+CGCCCAACCAGCCATCGCCGTGTAGATAGTGCGCATCCCACTCAACATTCGGTTGCAGTTGATACTCACG
+CCCCTGCCAGACAAAACGGTTGCCGCTCACCCGGTTTGCAAATGGTACCAGCGGAAAACAAGAGGCATCG
+GTTGCCACACCGCTTTTTTTACCAGGACGTAGCAGCGGCGTCGTATCGCGCCAGAAGCCTTCGATTACGC
+CGCCCTGATCAGAAACGTCCAGCTTTAGCGGCCCGTGAGATAAGGTATAGATGGTCATCCGCAGACTCCT
+TAATCCGGGAAATTAATCACAACTTTCCCGCATTTGCCGCTTGCCATCAGTGCATAAGCATCTCCCGCCT
+GTTCCAGCGAGAAGCGGTGGGTAATGGCATTACGCGGCCACAGTTTCCAGTCCGTTAAATCGTGGGCGCA
+TTTTTCCATATGGAACAGACTGGTCACCCAGGAGCCGATAATCCGCCGTTGATGGTGCATCAGGTCAGCG
+CTAACCTCGAACTCGACTTTTCCGGTTTCGCCAATGTAAACCACTCGCCCCCAGTCGGCGGTAGATTGCA
+ATGCCAGCAAGCGCCCCGCAGCATTACCGGAACAATCAAGCGCAACATCCGCACCGCCATGAGTGAGTTC
+AGCGATGATCTGCGGCAGACCTTCGGTGGTCGCTAAATAGCCGTGATCCATCACCCCTAGCTGTTTCGCC
+ATCGCCAGACGTTCCGGCAACATATCAACGCCGATGATCCTTTTTGCACCACGACCTTTCGCCAGCATCA
+TCGCCATCATGCCGACCGGCCCCAGACCGACCACCAGTACGTTATCACTGCCGGAAACTTCGCCGCGCAA
+AATCCCTTCATACGCTGTACCAACGCCGCAACTAATAAACGCACCATCTTCGTAACTCAGTGCATCCGGC
+AGGAGGATCAGATCTTTTTCTTCCGCCAGCAGGTATTCAGCATGGCCGCCGTCACGCTGCCAGCCGTAAG
+CCGCTTTTCCTTCGCCAGTACAAGAGATAGGAAAACCACGACGGCAGTTCGGGCAAAAACCACAGCCAGA
+AATATGATACACCAGCACACGGTCGCCCTCTTTAAAATGGCGGCAGCCTTGCCCCATCGCCACAATCTGC
+CCGCACGGTTCATGACCGTTGATAAATCCCTGGTATAACGGTTTATCGGGTGCCGCCGCCGTAGCACGGT
+GCTGGTGGTAGATATAGTGGACATCGCTTCCGCAAATCCCGGAGGATTTCATTTTGATCAGTACCTGGTT
+AATCCCCGGCGTCGGCACCGCAACTTCCCGCAGATCGACGGTCGAATTTCCTGGTAAATAAGCTGCCAGC
+ATCGTTTTCATAAATCCCTCATTAACAATACGATTAATTTTCATCCCTGCCGCACCCGCGCCAGGGGCGT
+TAAGGTTTAGCGTTTCGCTTTACTGCTACGCTGGGTCAGCAAGATATTCGCCAGCACCGCCACCACGATG
+ATGACGCCGCGCACCACCTGCTGGAAAAAGGAGTTAATCCCGAGCAGCACCAGACCGTTACCGATTAGCG
+TAATCACCAGTACGCCAAGCAGCGTACCGAACAACGAGCCGCGACCGCCGGAAAGCGCCGTACCGCCGAC
+AACGACCGCGGCGATGACGTCAAACTCCAGACCGTTTGCGGCACCTGCGTTACCGGAACCGAGGCGCGCC
+GCCAACAAAATGCCGGTCACCGCCGCTAATAATCCCGAAAGGGTAAAAATAAGAATGCGTACCCGACGAA
+CGTTAATACCGCACAACTGCGCTGCAGTGGCATTACCGCCAACAGCAAAAACCGAGCGCCCGAAGGCGGT
+TTTGCGGCTAATGAACACAAACAGCGCAAATAACACCATCATGATCAGCGCGGATACCGGCACCCCGAGA
+AATTGTCCGCCCAGCCAGTCCAGCACTTCGTTTTCGTTAATTGGCACTGGCAAGGCGTTCGTCATAAACA
+GCCCCATTCCGCGCAGGGCGCTCCATAAACCCAGCGTGGCAACAAAACTTGGCACGTTAAACACGCCGCG
+CAGCACCCCGGCGAGCGTTCCCATCAGCGCACCTAACAGCAACACCAGCAGACAAGCAATCGCCAGCGGA
+ACGTCAAATTGCAGCAAAAACGCCAGGCACACTGAAACAAAAGCCACCATCGGCCCAACGCTGACATCAA
+TTTCACCGGAGATAATAATCAGCGTCATCGCCCAGGCGGCGATCCCAATGGTGGCGGCATCGCGCAGCAC
+GTTCATCTGGTTATTCAATGAGATAAAGCCAGGCGCATTCAGGGAGAAGACCAGATAAAGAATGGCAATC
+ACCACCAGCAAACCGATCTCATTAATATGGCGACTGACAAATTGTTTGAGCGAGACGCTCTTGCCCTGCG
+GCAATGGTAATGACGAAGCAGACATCTTCAGGTTCCTCGGTAAAATTCATCAGTGCACAGACAGAATGGC
+GGACATCAGCTCATCCACATTGACCGGAGAGTGAAACTCCTGCGAGAACGTACCGTGCTGTAACAACAGA
+ATGCGGTCGCACACCAACGGTAACTCCTCCACTTCACTGGAGATAAACACCACGCTTTTTCCTTCGGCAG
+CCAGCTCGCGGACAATACGGTAAATCTGCTGTTTGGCTTCGATATCGACGCCGCGCGTTGGCTCGTCGAG
+CAACAAAATCTGGCTGGCGGCATAGACCCAACGACCGATCACCACTTTTTGCTGATTGCCGCCAGAAAGC
+GTGCCGATGGGCGTTTCGCTACTGGCGGCCTTGACCGTCATCCGCTGCATCACCTCTTCGGTCAGGCGGC
+GGATGGTGGACCATTGCAGCACACCGTTGGCGCTGATTTTTTGCCGATTGGTCAGCACTGTATTTTCGTC
+AACGCCCAACCAGGGAATGATCCCCGCTTCTTTGCGGTTTTCTGGCGTATAGCCAATGCCGCGTTTCAGC
+ATGTCGCCGTAATCGGGGCGCGTGATTTTCTCGCCGTTGATAACAATTTCGCCCTGTTCATACGTCTCCA
+GCCCAACAATCGCCTTCAGCAATTCACTGCGCCCTGCCCCCAGCAGACCAGCAATGCCGAGCACTTCGCC
+ACGACGTAGTGTAAAACTGATATCCTCCAGCTTGGGCTTATGGCGTAACGCACGGACTTCCAGCACAGCT
+TGGTCCATAATTTCCTGAGGGGCAACCGGCGCAATATCAACGTGATCGCGCCCGAGCATTAGCGACACAA
+TATGATGCGTAGAGGTGTTTTCGAGCATCACATCGCCCGCCACCTGACCATCGCGCATAACGGTGGCACA
+GGAGGCAATGCGGCGAATTTCTTCCATCCGGTGGCTGACATAAATCACCGCCACGCCCAGTGCCGACATC
+TTTTTCACCGCGCTGATCACCAGTTCAACTTCCGCACTGGCAAGCGAGCTGGTGGGTTCATCAAGAATGA
+CCACGCGCGGCTCGCCCTTCATCACCCGCGCAATTTCCACCAGTTGCTTTTGCGCCGGGCTTAGTGTTGA
+AACAAGTTGTTCAGGACTAACGTCAACGCCCAACGCCTGCAAGCAACGTTGGGCGTCCTGCGCCATTTGC
+AGGTAATCAATCATGCCGTTGCGGCGGGGCCACTGACCGAGGCAGAGGTTTTCCGCCACTGTCAGCCCTT
+CCACCAGACTTAACTCCTGATAAACCGCACGAACCCCCAGTTCAGCGGCACGGCGAGTCAGCGTAGCTTC
+GTCACCTTCCAGTCGCGTCTCGCCAATCCAGATATCACCGCTATCCGGACGTTCGCTACCGGTCAGCATT
+CGAATGAGGGTCGATTTTCCCGCACCGTTTTTGCCTAACAGCGCGCGAACTTCGCCTTTATTGAGCGTGA
+AGTTAACGTTATCCAGCGCAACGACGCCGGGGTAACGCTTATTTCCTGCCACCACTTTTGCTACCGGGAC
+TGCCTCTGTTGCCGTGAACATAGGGACCTCTGCGAATCAGCGATTAGGGCAGACCATCAACGTGCGTTGC
+CAGCCACTGTTTACCGTCTTCCGTTTTGGTATAGAGATCGATTGGCACCTGAATCACTTTTTCACCGTCG
+GCTTGTTTATTGATAACCTTCAATGTTTGCGCGAAAACAGCATTGCCCATTTTCTTACCGGAAATATCCA
+CCACCGCTTTCAGCACCTGGTTGTTTTCCAGCTCCTGAGCAATTTCAGTGGTCATATCAGAACCGAAAAC
+AGCAATTTTTCCGGCCTGATTTTGATTACGTACCGCTTTTACCGCGCCGAGTGTCGCTCCGCCCGATTCC
+CCCATAATGGCGTTGAGATCCGGCGTGGAGATAATCAGTTTTTCACCGACAGAAATCGCTTTATCTAAAA
+CAGTCCCTTCCTGATTAGCGACAATTTGCGCGCCGGGAACGCGGGTTTTTAATACTTCTTCAAACCCTTT
+ACGACGTTGCACACAAACTTCAAAGGCTTCGCAATTGATGACGGCAATTTTCGGCTGGTCAATTTTGTTG
+GCAATAAAATAATCGGCGGCTGCGTTACCCAGTTTTTTACCAAATTCCAGCGGGTCACCAACCAGATATG
+CCGAGACATATTTATCGACACCCTTTTGATTAATACAGGTGTTGTAGCAAATCACCGGAATACCCGCTTC
+ACTGGCGCGACGAACGGTACGGCTACTGCCATTTTCAGACACTGCCGATAAAATAATGGCATCGACATTA
+CGCGCCACGAGGGTATCAACAAAGGTACTTTCTTTCGAAATATCGCCCTGAGCGTTAGTTTCAATTAATT
+GTACCTGTACTGAAGAATCTTTTGCCGCATCCTGAACGCCCTGACGCACTCCGGCGTAATATCCCTGGGT
+ATCAAGGTATATTGCGCCAATAGTCATTTCTTTATCAGAAGCCCTGGCAAATAGTGCGCTACCCAATAGC
+GTAGCCATTAATAATAAATTACGGGTTCTTGTCATTTTTTTAGGCATAGTGCCTCCTGTAGGGTTTTTAT
+TTACAACGGCTTATTTTAATTATTTGAGCGTGAGCGGCAGCGCGTGCCGCTCAAATATTACAGTTAATAG
+GGTTTAGTGAACGTAGCTAAAAATAAAAGGCATCACGGTGGTGAATAATGCCGCTTTCGGCCAGGCTGGA
+TTAATCGCCATCAATTCAGCGCGAGCAGATTCATAGTGCGCAACCTCCCCTAATCCCGCGGCCGCCAGCA
+TCGCCACCATCAGGCATTTTTCTTTATGCTGCTGTTGTAAATCGCTATACAGCGACAACAAGTCAGGCTG
+CGAGACGGCAAAGAAATCCGCTTCGATACTGGTTTTCGCCATCTCTTTCGCCCACTGTTTCATTTCACTA
+AACAGTTGCTGTGCGGTGTGTTGTTCGCCCAGCAGTCGCAGCGCCATTCCTTGCCAGAAGAGATAATCAA
+CCGGCTGATCGTTGTAATAACTGTGGATGTTAATGGTGCGATCGCCGGTCGCCGCCAGACGTAAACAACG
+CGTCGCTTCAGTTTCATCGCCCTGCGCGTTGGCGCATACTGCCTGCCAGAACCAGATGTCGTTGTCAGTT
+TGCCCCGGTAAACGGCCTTCGCTTAAATTCTCCGGATAATGCAGCGCGGCATGAAGCAGTTCGCTGGCCT
+GCTGCGGCTGTCTGGCATCAAGATGCTGCCAGGCGCGTAATAACTGGTTGAGGATAAACTGGCTGGTGAC
+CTTCCCTTCCCCACCTTCCCACGGGTGGAATTTGCGCGTGGCGAGAATGTCCGCCGCTTTGTCTGCCTGA
+CCAGTGAGATGCCACAAATTGAGCAGTTCTGCGGTCATGTCGTCGCGTTTCAGCGCAATTTCCAGATTAT
+TTTCCAGACGCGCCAGTCGTTTCTCCGGTGTGACACCGCTTAACTTATCCAGCAAATCCCGTTCGAAAAG
+CAGACGTGCATCCTGCAGCGCAAGCTGATAAGCATTATCAAGATAACGCGCGGCCAGCTCATAATCGTGC
+TGCTTATTCCACGCATGGATCGCCAACCCGCGCCAGCCGTCGGCAAACTCCGGCGACATCTCTACGCAAC
+GCTGCCATAAGGCAATGGCTTTGCCGTAGCTACGCTTGTTGTAGTAGAAGCAGGCCAGTAAATGCCGGGC
+AAACCAGCACTCTTCGATACTCTCCAGCGCCGCCACTTCTTCCAGCGTATTCGGGAAACGGACAAACTGC
+GGGAAGGCATCAATAGCTTTTGCGACCAGTTCTCCGCGTTCAGCTTTTGGTAGCAAACTGGCTTGCAGGT
+AAAGCGGTAGCGTGCGCTGACAGTCCAGTGCGTTCAGCATCTCTGCCGCCAGGGCGGGCATGCCCCAGTT
+AATCAGTTGCCCGGCGGTCATCAGGGCGTTAACGTCGCGTCCCTGACAAAGACCTCGCCACTGCGCGAGG
+GCTGATTCGCTACGACCATCGAACCAGTTCAGCCACCACAGAGTGGCGTTCAGCGGATAATCACGCAGCA
+GTTTCTCGCGCTGCAAACGCGCGTTGTCCTGACGACCACTTAACACCAGTAGCAGGTTATGCAGGCAAAG
+CACTTCCTGATTGGTTGGGCAGGCGCGAAGACTTTGTTGGCAAAAATCCAGACCAGTGTCGAAGTTACCA
+TTACGCGCCGCCAGTCGTGCCAGACCATAATAGCCACCGGCTTTACTGTTGCCGCTCCAGACCGCACGCC
+AGAAATCCTCTTCGGCTTGTTGATATTGCCCCTGACGTTCGTAAGCACTGGCGCGAATCAAACTCGCCTG
+TCCGCACTGCGGATTTTTGTTCAGCGCATGTGCGCGTTTCAGCGCCTGAGTGGCATACGCCACCGCTTGC
+GGGAAATCGGCGCGGTTATATTCCAGCATTGCCAGCGCCAGGTTACAGCGATAATCCAGCGGATCCAGCG
+CCACGCCGCGCAGATAGTAATCGAACGGTGAACGGCTCGCGTGATGATATTGCTCCAGATGTTGACCGAT
+AAACCAGGCTTCATCTGTACTGGTAATGTCTTGTGCTGCCAGTGGCGCTTTGGCAACGTCCGGCAACGGC
+AACGCTTGCGGCTGATGTTCATCATAACTCAGTACAATATTGCCGTCGGCATCGGAGAGCTCAATGGTCA
+GCCTTTCAGGATTGATACCGTGCAACACGCCCTGGATGGCGGTCGCTGGTGTCAGGGCCACGGCATCATC
+GAGCAACGCGTTGCATTTGCCGATTTCGCGGATCGCCAGGCGGTATCCGTTCAACGGAGAGATGGCATAC
+AGCCCCCACTCAATCCCCCGCTCACTACGCTGGAGTTTTATCACCGCATCGCGGGAGGCATTTTGCACCA
+TGCCCAGAGAATGATAAGGCAGGAAATACTGCTCGAAACGCTTCTCCTCGTATGCATCAAGCCAGGTAAA
+ATCAGGCTGGTTATCGGCAAAAATACCGGTCATCAGTTCGATATACGGGCCGTTATTGTCAGTCAGGCTC
+TTATCCCACGCCTGGCCAAATTCACTGTGTCCCCAACTCCACTGTTTTTTACCTGGCGCAATATGGTGGT
+TGGCAACGTGCAGCAAACCGCCATCTTCATCGTGACACCACGCGCCAACAAAATCGTACTGTGATTTTTC
+AGCCATATATGAGGTTGGAACGGGCACATTTTTATAGCGAGAAATGTCCACTCCGGCGGAGTAGTCCACT
+TTGTAGTAAGTGCCGGTGGCGATGGGGAAAGCGGAGACGGCCCGTTTGCCGTGATCAAACACCGCAGTCA
+CATCCGGTGGGAAAACGCTCTGATGCCCTTCACCCCCTTTCACTGCCGGGTTGGCCCACCACAAGAAATG
+ACGCGGCGTGGCGTTGCCGTTATAGACGCGACTGGCGATTTCCAGCGCCGCCCGGTCAGGGCGCAGGGTG
+AAACCTGTCATCACCTGTAAACCGTGCATCGGCTCCGTTTCGCCGACCCACACCGTCTGTGCGCCGTCGT
+CATGGGCGTCGAGGGTGAAATCAACGGGCATAAAGGTGGTCGGGCGATGGTGTTGCGGCCAGTTAAACTC
+AATCCCGCCGGAGATCCACGGCCCCAGCAGTCCCACCAGCGCCGGTTTAATGACTTCATTGTGATAAACA
+AAATCGCGCTGTTTCACTTTATCCCACGCGCGATGCACCCGACCGCCCAGTTCCGGCAGGATCATCACTT
+TGATGTAGTCGTTTTCCAGCCACACCGCCTGCCAGGATTTCAGGGTTTTCTGCTCGCTCAGCGTATCGGT
+CACGCCGTAGGGATAAACCGCGCCGGACGATCCCTGATAAACGCGATTTTCCAGGAACATGGGATGTATA
+TCCTGCGGCCCGGTTTCATAGGTCGGGATCTCAACGCGCTCTTGCCACACTTTTACTGGAGTCATGGTGC
+CCTCAATATTAACAAGACATACTGAATTAAAAGATTTGTGGCAGTGTATTGAACAATCTGGCACTGTTTT
+CGCGGAATAATCACGCAATTAACTAAACAGGGTTTAGTGAAGATGAGAGCCTGCATTAACAATCAACAGA
+TTCGCCACCATAACAAATGCGTGATTCTGGAACTGCTGTACCGGCAAAAGCGCGCCAATAAATCAACGCT
+GGCCCGGCTGGCGCAAATTTCGATTCCGGCGGTCAGTAATATTTTGCAGGAACTGGAAAGCGAAAAACGG
+GTGGTGAATATCGACGATGAAAGTCAGACGCGCGGACATAGTAGCGGTACATGGCTGATTGCGCCGGAAG
+GTGACTGGACGCTGTGTCTGAACGTGACGCCCACCAGCATTGAGTGTCAGGTCGCTAATGCCTGTTTAAG
+TCCGAAAGGCGAATTTGAACGCTTTCAGATTGACGCTCCAACGCCGCAGGCGCTGCTGTCCGAAATCGAA
+AAATGCTGGCATCGCCACCGTAAATTGTGGCCGGACCGCACCATCAATCTGGCTCTGGCAATCCACGGTC
+AGGTTGATCCAGTGACCGGCGTGTCGCAAACCATGCCGCAAGCGCCGTGGGCAACACCGATTGAGGTGAA
+GTACCTGCTGGAAGAGAAGCTGGGTATTCGGGTAATGGTCGATAATGACTGCGTGATGCTGGCGCTGGCG
+GAGAAATGGCAAAATAATTCGCAAGTGCGTGATTTCTGCGTAATCAACGTTGATTACGGCATTGGCTCGT
+CGTTCGTGATTAACGAGCAAATTTATCGCGGCAGTTTGTATGGCAGTGGACAGATTGGCCACACCATCGT
+TAATCCGGATGGCGTCGTCTGCGACTGCGGGCATTATGGCTGCCTGGAAACCGTCGCCTCGTTAAGTGCA
+TTAAAAAAACAGGCGCGGGTATGGCTAAAATCACAACCGGTTAATACTCAGCTTGATCCTGAAAAATTGA
+CTACCGCGCAGTTAATCGCTGCCTGGCAGAGTGGAGAACCGTGGATCACCAGTTGGGTTGACCACAGTGC
+CAACGCCATTGGTTTGAGTCTGTATAACTTCCTCAACATCCTCAATATTAATCAGATTTGGTTGTACGGT
+CGCAGTTGTGCCTTTGGTGAGAACTGGCTTAATACCATTATTCGCCAGACGGGATTTAACCCGTTCGACC
+GCGACGAAGGACCGAGCGTGAAAGCGACACAGATTGGCTTTGGGCAATTAAGCCGTGCACAACAGGTACT
+GGGAATTGGCTATTTGTATGTTGAGGCGCAGTTACGGCAGATTTGATGGCGCGATAACGTAGAAAGGCTT
+CCCGAAGGAAGCCTTTTTTCAACAGATTAACCGTTTCGCTTACGCGTAAACCGGGTAACGTGCGCAGATG
+TCGAGAACTTTACCTTTGATGCGCTCGATAACGGCTTCATCATTGATGCTGTCCAGCACGTCACACATCC
+AGCCAGCCAGTTCTTTCGCTTCGGCTTCTTTAAAGCCACGACGGGTAATCGCCGGAGTACCTACACGAAT
+ACCGGAAGTCACAAACGGGCTCTTCGGATCGTTCGGTACGCTGTTTTTGTTCACGGTGATGTTAGCACGG
+CCCAGAGCGGCGTCTGCTTCTTTACCGGTCAGGTTTTTATCAACCAGATCAACCAGGAACAGGTGGTTAT
+CAGTACCACCAGAAACCACTTTGTAGCCGCGTTCGAGGAACACTTCTACCATCGCTTTGGCGTTTTTCGC
+GACCTGCTGCTGGTAAGTTTTGAACTCAGGTTCCATTGCTTCTTTCAGAGCAACCGCTTTACCGGCGATT
+ACGTGCATCAACGGACCGCCCTGACCACCAGGGAAAACGGCAGAGTTCAGTTTTTTGTACAGCTCTTCGC
+TACCACCTTTCGCCAGGATCAGGCCGCCGCGCGGACCCGCCAGGGTTTTGTGAGTGGTGGTAGTAACAAC
+ATGAGCATGAGGAACCGGGTTCGGGTAGACGCCAGCAGCAACCAGGCCCGCAACGTGCGCCATATCAACG
+AACAGGTAAGCACCGATGCTGTCAGCGATTTCACGCATTTTCGCCCAGTCAACCACGCCGGAATATGCAG
+AGAAGCCACCGATAATCATTTTCGGTTTGTGTTCTTTGGCTTGTTTTTCCAGATCGGCGTAGTCGATATG
+ACCGGTAGCATCGATACCGTAAGGAACGATGTTGTACAGTTTACCGGAGAAGTTAACCGGAGAACCGTGA
+GTCAGGTGACCGCCATGCGCCAGATTCATACCCAGAACGGTATCGCCTGGTTCCAGCAACGCGGTGTAGA
+CCGCAAAGTTAGCCTGGGAGCCGGAGTGCGGCTGGACGTTAGCGTAGTCAGCGCCGAACAGTTCTTTCGC
+ACGATCGATCGCCAGTTGTTCAACGATATCAACATACTCGCAACCGCCGTAGTAGCGTTTGCCCGGATAA
+CCTTCAGCATATTTGTTGGTCAGCTGAGAACCCTGCGCCTGCATTACGCGCGGGCTGGTGTAGTTTTCGG
+AGGCGATCAGTTCGATGTGCTCTTCCTGACGTACTTTTTCCTGCTCCATAGCCTGCCACAGTTCGGCATC
+ATAATCGGCAATGTTCATTTCACGCTTTAACATCCGCATCTCCTGACTCAGCTAACAATAAAATTTTTGG
+CCTTTATAGGCGGTCCTGTTGGACAACGGCGAACAGTATAACCGAATCATTGTGCGATAACAGGTCTTGA
+CAAAGGAATTTACGCAAACGATTACCTTCAGGCTACGCAAGGCTTTGGAGAATAAAGAGCTTGCAACCGG
+AAACGGATTTCTTTTCAGGTTTGTGATGCAAATTTTTCACTTCATCACATTCTTTCTGAAAAACACCAAA
+GAACCATTTACATTGCAGGGCTATTTTTTATAAGATGCATTTGAGATACATCAATTAAGATGCAAAAAAA
+AGGAAGACCATATGCTTGACGCTCAAACCATCGCTACAGTAAAAGCCACCATCCCTTTACTGGTGGAAAC
+GGGACCAAAGTTAACCGCCCATTTCTACGACCGTATGTTTACTCATAACCCAGAACTCAAAGAAATTTTT
+AACATGAGTAACCAGCGTAATGGCGATCAACGTGAAGCCCTGTTTAACGCTATTGCCGCCTACGCCGGCA
+ATATTGAAAACCTGCCTGCGCTGCTGCCAGCGGTAGAAAAAATCGCGCAGAAGCACACCAGTTTCCAGAT
+CAAACCGGAACAGTACAACATCGTCGGTGAACACCTGTTGGCAACGCTGGACGAAATGTTCAGCCCGGGG
+CAGGAAGTGCTGGACGCGTGGGGTAAAGCCTATGGCGTCCTGGCTAATGTATTTATCAATCGCGAGGCGG
+AAATCTATAACGAAAACGCCAGCAAAGCCGGTGGTTGGGAAGGTACTCGCGATTTCCGCATTGTGGCTAA
+AACACCACGCAGCGCACTTATCACCAGCTTCGAACTGGAGCCGGTCGACGGTGGCGCAGTGGCAGAATAC
+CGTCCGGGGCAATATCTCGGCGTCTGGCTGAAGCCGGAAGGTTTCCCGCATCAGGAAATTCGTCAGTACT
+CTTTGACTCGCAAACCGGATGGCAAAGGCTATCGTATTGCGGTGAAACGCGAAGAGGGTGGGCAGGTATC
+CAACTGGCTGCACAATCACGCCAATGTTGGCGATGTCGTGAAACTGGTCGCTCCGGCAGGTGATTTCTTT
+ATGGCTGTCGCAGATGACACACCAGTGACGTTAATCTCTGCCGGTGTCGGTCAAACGCCAATGCTGGCAA
+TGCTCGACACGCTGGCAAAAGCAGGCCACACCGCACAAGTGAACTGGTTCCATGCGGCAGAAAATGGCGA
+TGTTCACGCCTTTGCTGATGAAGTTAAGGAACTGGGGCTGTCACTGCCGCGCTTTACCGCGCACACCTGG
+TATCGTCAGCCGAATGAAGCCGATCGCGCTAAAGGTCAGTTTGATAGCGAAGGTCTGATGGATTTGAGCA
+AACTGGAACTTGCGTTCAGCGATCCGACAATGCAGTTCTATCTCTGCGGCCCGGTTGGCTTCATGCAGTT
+TGCCGCGAAACAGTTAGTGGATCTGGGCGTGAAACAGGAAAACATTCATTACGAATGCTTTGGCCCGCAT
+AAGGTGCTGTGATTTGATGTTGCCGGATGGAAACATCCGGCAACCCTTGACCCGTTTTAAATCGCCGCAT
+CATCCTCTTCACCGGTACGGATACGAATGACCCGTGCCACGTCGAAGACGAAGATTTTACCGTCACCGAT
+TTTGCCGGTTTGCGCCGTGCGAATAATGGTATCGACACAGGTATCGACAATGTCGTCCGGTACGACAATC
+TCAATTTTCACTTTCGGCAGAAAATCCACCATATACTCCGCACCGCGGTACAGCTCGGTATGGCCTTTCT
+GGCGGCCAAAACCTTTCACCTCAGTGACCGTCATGCCGGTAATACCGACTTCAGCCAGTGCTTCGCGAAC
+ATCGTCCAGCTTGAAGGGTTTAATAATCGCATCAATCTTTTTCATGCTATTCCTTGAAAAGGTCGCCTGT
+CTTTTGATCTGCTAAACGTAACACATAACGCCAATTCATTCCTTGAAATCGTTTGCATCCAGCTCGTGTC
+GGGATAGCAGTTTATAAAATTCTGTCCGGTTGCGCCCCGCCATTCTCGCCGCGTGGGTGACGTTGCCTTT
+GGTAATTTGCAGCAGCTTACGCAAATAGTTGAGTTCAAACTGATTACGTGCCTCAACAAAGGTTGGCAGC
+GCCGTATTTTCACCCTCCAGCGCCTGCTCCACCAGCGCATCACTAATCACCGGAGATGAGGTCAGCGCCA
+CGCACTGTTCAATCACGTTGACCAACTGGCGCACATTACCCGGCCAGCTCGCGGTCATCAGGCGTTTCAT
+CGCATCGGTGGAGAACGCGCGGACAAACGGTTTATGTCGCTCTGCCGCCTGGCGCAACAGGTGATTTGCC
+AGTAGCGGAATGTCTTCTGTGCGCTCCGCCAGGGCCGGAATTTTCAGGCTGACAACGTTGAGGCGGTAAT
+AGAGGTCTTCACGGAATTCCCCGCGCGTCATCGCTTTTGGCAGGTCGCGGTGGGTCGCAGAAATAATCCG
+CACGTCGATATCAATATCGCGGTTACTGCCCAGCGGGCGCAATTTACGCTCCTGCAACACGCGCAGCAGT
+TTGACCTGCAACGGTGCGGGCATATCGCCAATCTCATCGAGAAATAGCGTACCGCCTTCCGCCGCCTGGA
+ATAAACCTTCGCGATTGCTGACAGCGCCAGTAAACGCGCCACGCGCATGACCAAACAGCTCCGACTCCAG
+CAATTGCTCGGGCAATGCGCCACAGTTAATAGCAATAAATGGTTTGCTGTTGCGCGGGCTGGCGTTGTGG
+ATAGCCTGGGCGAAAATCTCTTTCCCGGTGCCGCTCTGGCCGTTAATCAAAACGCTAACGTCTGATTGCG
+CCACCAGCCGCGCCTGTTCCAGCAAACGCAGCATCAGCGGGCTGCGGGTGACAATCGCCTCGCGCCAGCG
+TTCGTCGGTGGCTGGCGCGGATTGTTCCAGCGCATCGTCAATTGCCTGATATAGCGCATCTTTATCGACA
+GGCTTGGTGAGAAAACTGAACACGCCCTGCTGTGTTGCAGCAACGGCATCAGGAATAGAACCATGCGCGG
+TAAGAATAATTACTGGCATTCCCGGCTGCACTTTCTGGATTTCAGCAAACAGCTGCATACCGTCCATTTC
+ATCCATCCGCAGGTCGCTGATGACTAAATCTACTTTTTCGCGATTAAGTACCCGCAATCCTTCAGCACCA
+CTTTCCGCCGTGACCACACTGTAGCCTTCGCTGGTCAGGCGCAGGCCAAGCAGTTTCAGCAATCCCGGAT
+CGTCATCGACCAGTAATAAATGCGCAGGTTTATGGCTCATCAGGAGTGACCTCATCGGTGGATGGCGCGG
+GCTTTTCACTCTCGTGCGGCGTATCCGGCGAGAAATTTCCAGCCGGTTTGCGGGTCGAGAGCTGGCGTTC
+AATATCGGTCAGGTTTTCCAGCTTGCGGGCAGTGAGTTCCAGTTGCTGTTGTAGAACGTGATGTTGCTGG
+CGCAAAGTATCCAGCTCGCTGTCGCTGGACTGCTGGAGTTTGCTGTAGCGTTGGCGCTCTTCCGCCAGTT
+GCAGTTGCAGCGCCTGACCGTCGCGCCAAAGTTGATACAGTGGGCGAACCTGTGCCGGGATCTCGGTACT
+TAGCGCATCAATGCGCGCGACCAGCTGGCGGCGCTCATACGGCGTAATTTTGGCGTCGGCGAGCAAAATC
+CCTTGTTTAAAGGTATTTTGCCAGTTGCCGTCGTCATATTGGCGGGCTTGCTGACGCGACTGCGCAGGCA
+TTAAACGATCAGCACAATCCATCGCCCGCAGCCAGTAAAGCGGATTGGTTTCGGTTGATTTACCTTGCAG
+CGCCCAGATGTCGCTACATTCAGTAGAAAGATAGTCAGCCAGTTGATAAACCGGAATTTTTTCTTCTGCT
+GGCGTATCAATGGCTGGCTTATTGTGACTCTGCACGCAACCCAGCAATGCCAGACATGGCAGCCCTGCCA
+GCCACAGCCGTCGGGGCAATAATCGTTGAAAAATGTGTCGCATATTCACCAGACTTAAAGCCTATCCCAG
+TGGGCGTAATTGTTGCAGGCAGTTTGGACATGGACAGCGCGGAGAAACCGGAGCGTACATGTCGTACGTG
+AAGATTTCGAGCACTGCCCGGGGCCAAACTGGCAAATAAAATAGCCTGATGGGATAGGCTGTTAGCATTA
+TTTCGTGTTTTTCGACGACGGTAATTCAATGCGGAAACAAACATCTTGCCCGCTCTCGTCGACCAGATAC
+AGTTCCCCTTGCATACGGCGAATACAATCCCTGGCAATGCTTAATCCCAGACCGCTGCCCTTCACCGCCC
+CTTTTCGCTGGTGGCTTCCCTGAAAAAAGGGTTCGAAGATCATGGCGCGTTCCTCTTGCGGAATGGGCGT
+GCCTGTATTGATGACATCAATATAAACCCGCGCACCATGTAAACTGCTGCGAAGGCAAATGTTACCGGAT
+TCAGCCCCGTAGTGCACCGCATTGGAGTAAAGATTATCCAGTACGCTCATCAGCAGCATTGGCTCCGCCA
+GGCAAGCTGTTGCTTTGAGATCAACGTCGGTATGCATCATTTTAGCCCGTGCGGGCAGGCTATGAGCAGA
+AACCACTGTCTCCACCAGCGGTGCTAACTCAACATTCTCCAGTTCCACCGCACTGTCCGCCTGTTTACGG
+TTGTAATCAAGCAGTTGTTCGATCAGCTTTTGCAAATTGCGGCTGCTGCTATCAAGAATGCTCACCACCT
+CTTTTTGCTCTGGCGTAAGCGGCCCGACAACCTGATCAGCCAGTAATTCAGTGCCCTCGCGCATACTCGC
+CAGTGGCGTTTTTAATTCATGAGATAAATGTCTTAAAAATTGATGGCGTTGGGATTCCAGCCATGACAGG
+CGCTCACTTAACCAAAGAATACGTTGCCCAACCGAGCGTAACTCGCTCGGTCCACTGAACGAGACGCTAT
+TGCCCAGAGAACGCCCTTCCCCCAGCCGGTTGATCATGCGCTCGATATTTTTCACCGGACCGATAATCAT
+CCTCGTGAAAAGCAGTACCATCACCAGACTCACCAGAAATAGCACCAGCGATTGCCAACCAAAATATTGC
+CCACGTTCGGCGATTTCACGCTGAAGTTGCTGCCCACGAGAGAACACCACTGTGCGCGTGGCCTGCACCA
+TTTCGGTATTGGCACTGGCAAAGGCTTCCAGACGCGCGGCGGCAGCAGCATCGGGACCGCTGTTGTTACA
+CTGAAGTTGAGCCAGATTGTTCAAATCCTGACGTAATGCCTGGTAGAGTTTATCGTCCGGCAGCACGCCT
+GCGTGGGCATCGAGCATTTCGCTGTAACGCTTGCGCTGGCTTTGATAAACCTTCGCAAGCGTAGGGTCGT
+CCAGCACGCAGTACTGACGATAGCTGCGCTCCATCTCCAGTGCCGCGTTGGTCATCGCTTCACTGCGCCG
+GGCATCAATAAGCGTAGTGCGGTTAACCAGCGCCGCCTGATCGCTAAGTGCATTCAGGCTTTGCCAGGCT
+TGCCATGCCAGCACCAACAGGGGCAGCAGAATCAGCAAAAATGCCAGCATTACCAGTTGTCGTAATGAGC
+GGGGAAAAACGGGCCAGCGTTTCAAGGCGTTACTCTCGTCAGACGCGAATAGCCTGATGCTAACCGAGGG
+GAAGTTCAGATACAACAAAGCCGGGAATTACCCGGCTTTGTTATGGAATAAGGCGGTGCCTAACTCGACG
+TTTCGCCCGATGGTTGATATAGCTACGCTGATATCAGAAGTTGGACGGCAGGCACCTTGTTGTGCGTCAT
+TCGAATTTTATGTAGCACGTCCCGAAGGGGCTGACATAAGTCGGCGAATGAGCCACTGCTTACTATTATG
+CAGTAACTGTGCCAATAAAGAAAATAGTTTGGTAACATACTGATTATACGCTGCTTTGAGGGGGTTATGG
+CTTCTCCGCTATTTGAATGTAAATCAGCCACTGTGTCGCTAAAAAGAGACAACTTAAGATAAACTTATTA
+GATAATATTAAAATCAATGAGTTAAGTGTCACCAAAAAGCGACACGACAAACCACCCATTGTCGTGATTT
+ACAGACACAAAAAAGCTCCCGAAGTTGGGAGCTCATAATAGCGGTTGGTGCTTAATGCCGGATGCGGCGT
+GAATGCCTCATCCGGGCTGCAATACCAATGGGTTGACGACTTACCCCAACTGCTTACGTGCATTGCGGAA
+AATGCGCATCCATGGGCCATCCTCGCCCCAGTTTTCCGGATGCCAGGAGTTGCTGACAGTACGGAAAACT
+CGTTCCGGGTGCGGCATCATAATGGTGACTCGACCACTTTCAGTCGTGACCGCCGTAATACCGTTCGGTG
+AACCGTTCGGGTTAGCCGGGTAGGTTTCAGTGACTTTGCCGAAGTTATCGACATAGCGCAGTGCCACCAG
+CCCTTTGCTTTCCAGTGCCGCCAGATGCGCCGCATCGCGCACTTCAACGCGCCCTTCACCGTGAGAGACA
+GCAATCGGCATCTGCGAGCCCACCATCCCCTGCAACAGCAGCGACGGGCTTTGGGTTACTTCTACCAGAC
+TGAAACGCGCTTCAAAGCGATCGGAGGTGTTACGCACAAAACGTGGCCACAACTCGCTACCCGGGATCAG
+TTCACGCAGATTAGACATCATCTGGCAACCGTTACATACCCCCAGCGCCAGCGTTTGCGGACGATGGAAG
+AAGGTTGCAAACTCATCGCGTACACGGTCATTGAACAGGATAGACTTCGCCCAACCTTCACCAGCGCCCA
+GCACATCACCGTAGGAGAAACCACCGCACGCTACCAGGGCGTGGAAACCCTCCAGGCCCGTGCGTCCAGC
+CAGCAGATCGCTCATATGCACGTCGATAGCATCGAAGCCTGCACGGTGGAAAGCTGCCGCCATTTCAACA
+TGGGAGTTCACGCCCTGCTCACGCAGCACAGCAACTTTCGGACGCGCGCCAGTGGCAATAAACGGTGCTG
+CCACATCTTCGTTGATATCGAACGACAGTTTCACATTAAGGCCCGGATCGGCGTCGTTTGATTTCGCCTG
+ATGTTCCTGATCGGCACACTCCGGGTTGTCACGCAGGCGCTGCATCTGCCAGGTAGTTTCTGCCCACCAG
+ACACGCAACGTGGTGCGGCTTTCGCTAAATACAGTCTGCCCGTTGGCGGTAATCACAAAACGGTCACCGG
+AAACCGCCTGCCCAACATAATGGACGCAATCAGCAAGCCCATGCTGTGCCAGTACCGCTTCAACGGCTTC
+ACGGTCAGCGGCTCGCACCTGAATCACCGCACCCAGTTCTTCGCTAAACAATGCAGCCAGACGATCGTCA
+CCCAGAGTGGCGATATCTGCGTCAATGCCACAATGACCAGCAAACGCCATTTCCGCCAGCGTCACCAGCA
+GGCCACCGTCAGAGCGGTCGTGATACGCCAGCAGCTTACGCTGTGCAACCAGCGCCTGAATCGCGTCATA
+GAAGCCTTTCAGTTGGGCAACATCGCGTACATCTGCCGGTTTGTCGCCAAGCTGACGATAAACCTGCGCC
+AGTGCCGTTGCGCCCAGCGCGTTATTGCCTTTGCCCAAATCAATCAGCAACAGTGCGTTATCTTCGGTAG
+AAAGCTGCGGCGTAATGGTGTGACGTACATCTTCCACGCGGGCAAATGCGGAAATCACCAGCGACAACGG
+CGACGTCATTTCGCACTCTTCGTTACCTTCCTGCCAGCGGGTTTTCATCGACATAGAGTCTTTACCCACC
+GGTATCGTCAGGCCCAGCGCCGGACAAAGTTCTTCGCCCACAGCTTTAACGGCTTCATACAGGCCCGCAT
+CTTCACCAGGGTGGCCTGCCGCCGCCATCCAGTTGGCGGAAAGTTTAATGCGTTTGATATCGCCAATTTG
+TGTTGCGGCGATGTTGGTTAGCGCTTCACCGACTGCCAGACGGGCAGAAGCGGCGAAATCCAGCAGCGCA
+ACTGGCGCACGTTCGCCAATTGCCATCGCTTCGCCATAGTAGCTGTCGAGGCTGGCGGTAGTGACCGCGC
+AGTTAGCGACCGGCACCTGCCACGGCCCCACCATCTGATCGCGCGCCACCATGCCGGTTACGCTGCGGTC
+ACCGATGGTCACCAGGAAAGTTTTCTCCGCCACGGTCGGCAGATGCAGCACGCGTTTCACCGCGTCAGCG
+ATGGTGATCCCTTCACGGGCCAGCGCGTCGCCTTTCGCTTTCAGCGTTTGTACATCGCGGGTCATCTTCG
+GCGTTTTGCCAAGCAGTACGTCCAGCGGTAGATCAATCGGCTGATTATCAAAATGACGATCGTGCAAAGA
+AAGATGCAGTTCTTCGGTCGCTTCACCAATCACCGCGTATGGCGCGCGCTCACGCTTACACAGTTCGTCA
+AACAGCGGTAACTGATCGGCAGCAACCGCCAGCACGTAGCGTTCCTGGGATTCGTTACACCAGATTTCCA
+GCGGGCTCATGCCCGGTTCGTCGCTCAGGATATCGCGCAGTTCAAATTTACCGCCGCGCCCGCCGTCGCT
+CACCAGTTCCGGCATGGCGTTAGAAAGACCGCCTGCGCCAACGTCGTGGATAAACAGGATTGGGTTGGCA
+TCACCAAGCTGCCAGCAACGGTCGATCACTTCCTGGCAGCGACGCTCCATCTCCGGGTTGTCGCGCTGTA
+CGGAAGCAAAGTCGAGGTCGGCATCAGACTGACCAGATGCCATGGAAGACGCCGCGCCGCCGCCAAGACC
+GATGTTCATTGCCGGGCCGCCGAGAACGACCAGCTTCGCACCAACGTTGATCTCGCCTTTTTGTACGTGA
+TCGGCGCGAATGTTGCCGATCCCACCCGCCAGCATGATCGGTTTGTGATAACCGCGCAGCTCTTCGCCAT
+TGTGGCTGTTCACTTTTTCTTCATAAGTACGGAAGTAGCCGTTCAGTGCCGGACGACCAAATTCGTTGTT
+AAACGCCGCACCGCCCAGCGGGCCTTCGGTCATGATGTCCAGCGCGGTAACAATGCGCTCAGGTTTACCG
+AAATCTTCTTCCCACGGCTGTTCGAAGCCAGGAATTCGCAGGTTGGATACGGAGAAACCAACCAGACCAG
+CTTTCGGCTTTGCGCCACGTCCGGTGGCACCTTCATCGCGGATTTCACCGCCGGAACCGGTCGCCGCGCC
+CGGCCACGGAGAAATCGCCGTCGGGTGGTTGTGAGTTTCGACTTTCATCAGAATATGCGCCGGTTCCTGA
+TGGAAATCGTAGCGGCCCGTTTCGTGGTCAGCAAAGTAGCGGCCCACTTCAGAACCTTCCATTACGGCGG
+CGTTATCTTTATAAGCAGAGAGAACGTGATCCGGCGTGGTTTCGAAGGTGTTTTTGATCATCTTAAATAG
+CGATTTCGGCTGCTGTTCACCATCGATAACCCAGTCGGCGTTAAAAATTTTGTGGCGGCAGTGCTCGGAG
+TTCGCCTGGGCAAACATATACAGTTCGATGTCGTTCGGGTTACGACCAAGCTTTGTGAAAGCATCCTGCA
+AATAGTCAATTTCATCTTCCGCCAGTGCCAGGCCAAGACGCAGGTTAGCGTCGATTAGCGCCTGACGGCC
+CTGCCCCAGCAAATCAACGCTGGTGACCGGAGTCGGTTGATGGTGTGCAAACAGCTGCTCTGCATCATCT
+AAAGCAAAAAAGACCGTTTCCATCATGCGGTCGTGCAGTTCAGCGGTAACCTGCTGCCATTGTTCATTGG
+TCAGCGTACCGGCTTCTATATAGTAAGCAACGCCGCGCTCAAGGCGGTTTACCTGTTGCAGCCCGCAGTT
+ATGGGCAATATCGGTCGCTTTCGAAGACCAGGGAGAGATGGTGCCAGGACGCGGGGTCACCAGCAGGAGT
+TTGCCTTGCGGGGCGTGGCTGGCGAGTGCCGGGCCATATTTCAGCAGGCGTTCAAGTTGTGCGTGCTCAT
+CATCGTTTAACGGCGCATTGAGGTCAGCAAAATGGACATACTCGGCGTAAATAGTGTGAACCGGGAGCCT
+GGCAGCCTGAAAACGTGCCAGCAGTTTGTTGATTCGGAATGCCGACAATGCAGGCGAACCACGCAGAATT
+TCCATCATAAGTCTCTCGTCTTCTAAGCTTTCGGTGTACCCAAGGGGGGGAAACGGGCGTCATTATAAAG
+AATCTGATGCGCTGACGAAACCGTTTGCGTGGAAATAAAATCACCATCGTGAATTAGCAACGCGTGCCGC
+CAATGGCTGTAATAAGTTGCCATCTGGCGCAGGTTTACGCAAAATGCCGCTCATTTATGAGTAAACCTTT
+CACTATTATTACGTTTTTTCAAGCTGGGACGCGCACGACACAGAGAATTAACTAATTGAAAAAATTAAAG
+ATTAATTATCTGTTCATCGGCATTCTGGCACTGCTGCTCGCGGTCGCTCTCTGGCCATCCATTCCCTGGT
+TTGGTAAAGCCGACAACCGTATCGCCGCCATTCAAGCGCGGGGAGAGTTGCGTGTGAGCACCATTCATAC
+TCCCCTGACTTATAACGAAATCAACGGGAAACCTTTTGGCCTGGATTACGAACTGGCGAAACAGTTTGCC
+GATTACCTCGGTGTAAAACTGAAAGTGACCGTGCGGCAGAATATCAGCCAGCTGTTTGACGACCTCGATA
+ATGGTAACGCCGACCTGCTGGCGGCAGGACTGGTCTATAACAGTGAGCGGGTAAAAAATTATCAGCCTGG
+TCCTACCTATTATTCCGTGTCACAACAACTGGTTTATAAAGTCGGTCAGTATCGCCCACGTACGCTGGGC
+AACCTGACGGCGGAGCAACTCACCGTTGCACCGGGTCACGTGGTGGTTAACGATCTCCAGACCCTGAAAG
+ACACAAAATTCCCGGAATTAAGCTGGAAGGTAGACGACAAAAAAGGCTCTGCGGAATTAATGGAAGATGT
+TATCGAAGGAAAACTCGATTACACCATTGCTGATTCTGTCGCCATCAGCCTGTTTCAGCGCGTTCACCCG
+GAACTCGCCGTAGCGCTCGATATCACCGATGAACAACCGGTGACCTGGTTTAGCCCGTTAGATGGCGATA
+ATACCCTTTCCGCCGCTCTGCTCGATTTCTTCAATGAGATGAATGAAGACGGTACGCTGGCACGCATTGA
+AGAGAAATACCTGGGGCATGGCGATGATTTTGATTACGTCGATACGCGCACATTTTTACGCGCCGTCGAT
+GCGGTACTGCCGCAGTTAAAGCCCCTGTTTGAGAAATACGCCGAAGAAATTGACTGGCGTTTGCTGGCCG
+CTATTGCTTATCAGGAATCGCACTGGGATGCGCAGGCCACTTCACCGACGGGTGTGCGCGGCATGATGAT
+GCTAACCAAAAATACCGCGCAAAGCCTCGGCATTACGGATCGTACCGATGCCGAACAGAGCATCAGCGGC
+GGCGTGCGTTATTTGCAGGATATGATGAGTAAAGTGCCGGAAAGTGTGCCGGAGAACGAACGGATTTGGT
+TTGCCCTCGCCGCGTACAATATGGGCTATGCGCATATGCTGGATGCCCGCGCCCTGACGGCAAAAACCAA
+AGGGAATCCTGACAGTTGGGCTGACGTAAAACAGCGTCTGCCTTTACTTAGCCAGAAACCCTATTACAGC
+AAGCTGACTTACGGCTACGCTCGTGGGCATGAAGCCTACGCTTATGTCGAAAATATTCGTAAGTATCAGA
+TTAGCCTGGTGGGTTATCTGCAAGAGAAAGAGAAGCAGGCTACAGAAGCGGCGATGCAACTGGCGCAGGA
+TTATCCGGCGGTATCGCCTACGGAGTTGGGCAAAGAGAAATTTCCTTTTCTCTCGTTTCTTTCCCAGTCG
+TCATCAAACTATTTGACCCACTCTCCCTCTCTGCTATTTTCCAGAAAAGGGAGTGAAGAGAAACAAAATT
+AATCTGTCGAGGATTGCGCTTTTTTCTGCGCTTTAATTTCCTGGCGGCGCATGCGAAAGAAGTCACTGAG
+CAACGCCGCGCACTCATCCGCCAGTATTCCTTCCGTAATTTCCACCCGGTGATTCATACCCGGATGATGT
+AGCACATCCATTAAAGATCCCGCAGCGCCAGTTTTCGCGTCACGCGCACCAAAGACCACGCGACCAATGC
+GACTGTGGATCATCGCTCCGGCACACATTACACAGGGTTCAAGCGTGACATACAACGTGGCGTCGATCAG
+ACGATAATTTTGCATCACCAGACCGCCCTGCCGTAGGGCCATGATTTCTGCATGTGCGGTGGGATCATGT
+CGACCAATCGGACGGTTCCAGCCTTCGCCAATAACACGATTGTTATGCACTAATACCGCGCCGACCGGTA
+CTTCCCGCTCATCCCAGGCACGCTTCGCCAGCGTCATTGCATGACGCATCCAGTATTCGTGGCTAAATTC
+GACTTCAGACAAAAAGAAAACTCCGGTTATAAAAGCGCGGCGCATTATACACGGACGCTATGCTTTACTC
+TATTCCAGTTGCTGGAGTTCACCGCGCGGGGTTACTCGCCAGCGATGCTGACAGAAATAAAGCAGCGGGT
+TGTCCTGATTACTGTCGCTATAGCCACTGTACAGCCGCAGCGGCGTGCCGATTTTGCGCTCCAGTTGCGC
+GACCTTTTCATGTCCCAGACAACGCATCGTCAATACCCAACCACCATAGCCACGCTGAATCTGACTGGCG
+ATAAGATTAACCCGCGGCAGCCAGGGCGTATCGAAATAAACCGCTTCAACCAGCGGCTGCGGAGAGCCGG
+TAATCAACCAGATATCAGCATCGGAACTTAACAGGTAGGTGGTTAATCGCTCCTGAACCAGCGGAAAGGC
+GGTAACATTGTCACGAAACCAGCGTACGAAATCGGCCTGCAACGCCTGCAAACGCGCTTCATTGTGACCA
+AAAGTGCATCCCCACAGAAGCAGACTCATCGGCCAGCGTGCCGCACGACCTTTTATCAATAACGCAATGG
+CTATGATCGGCAACAGCGGCAGAACAAGTAACGCATTCAGCGGTTGGCGACGCAGTAAATAACGCAAAAA
+ACTGCCGAACATATCCTGCTGATGCAATGTTCCATCTAAGTCAAAAAACACCACACGACGCTCGTGAGTT
+GCCAAACCATACTCCTCTGGACTGAAACATCCTGATTAATTTTCGCTACTACATAGCCTAACAGATAGAT
+CATCACTTTTCCGGCAACAATCGACCGCATCATGGCTAACTGGAATTTTTAATTCATGGCAATTAGCGGC
+AATGGAATATAAAATTCACTCGCGTGTGTCTCATATTGCCTGTTGTCGCCATTATTTCATCGCGAGGAAA
+GATATGAACGGCTTACTTCGTATCCGTCAGCGTTACCAGGGGCTTGCCCAGAGTGATAAAAAACTGGCGG
+ATTATCTGCTGCTACAACCTGATACGGCGCGCCATTTAAGCTCTCAGCAACTGGCCAACGAAGCCGGAGT
+CAGTCAGTCCAGCGTCGTGAAGTTCGCGCAAAAACTCGGCTATAAAGGTTTTCCGGCACTAAAGTTGGCG
+TTGAGTGAAGCGCTGGCAAGCCAGCCGGAATCTCCCTCCGTGCCCATTCATAACCAAATCCGCGGTGATG
+ATCCGTTACGGCTGGTCGGCGAAAAACTGATTAAAGAAAATACTGCCGCTATGTACGCAACGCTAAACGT
+TAATACTGAAGAGAAACTGCATGAATGCGTAACAATGTTGCGCTCTGCGCGGCGGATAATTCTGACCGGT
+ATTGGCGCTTCGGGTCTGGTGGCGCAAAACTTTGCCTGGAAGCTGATGAAGATTGGCTTCAATGCTGCCG
+CAGTGCGCGATATGCATGCGCTACTCGCTACAGTACAGGCGTCGTCCCCTGACGATCTGTTATTAGCCAT
+TTCCTACACCGGTGTACGACGCGAGTTAAACCTGGCGGCAGATGAGATGCTGCGAGTGGGCGGAAAAGTG
+CTGGCTATTACCGGCTTTACTCCCAATGCCCTGCAACAGCGTGCTTCTCATTGCCTGTATACCATTGCCG
+AAGAACAAGCGACAAACAGTGCTTCAATCTCTGCTTGTCACGCGCAGGGAATGTTAACGGATTTGCTGTT
+CATTGCGCTGATTCAGCAGGATCTGGAACTGGCACCAGAACGTATTCGTCATAGCGAAGCGCTGGTGAAA
+AAACTGGTCTGAGTAAAGAATGCGCGTATAATGCCCGCCCGGTTTGTGTTGTTTTGAGAGTTTCCTTATG
+GCGCTGTTAATCACTAAAAAATGCATCAATTGTGATATGTGTGAACCCGAATGCCCGAATGAGGCGATTT
+CGATGGGTGAACATATCTACGAGATTAACAGCGATAAGTGTACCGAATGCGTAGGGCACTACGAGACACC
+AACCTGCCAGAAGGTGTGTCCGATCCCCAATACTATTGTGAAAGATCCGCAACATGTCGAGACGGAAGAA
+CAGTTGTGGGATAAATTTGTGCTGATGCACCACGCGGATAAAATTTAATATTCTGCTCTGGAAGTAGAGT
+GTTAATTATTTTATAGAAAAATCTTAACGCCATTATATTTATTTAAATGATGATATTAGCATAATCATTC
+ACTAAGTTAATTTATATAGTATCTGCCCAGACACTTATTTATAGTTATTAAAGGCGCGTCCGATTGGTTC
+ACCGGACGCACCTTAAGTACGTTTCCTTGTGTTATAAGAACAAAAGGAGCAGCTGTAAAACAGCAATGAT
+GATTTTGATGACCCGTTTAATCAGGTATCGGCAATCAGTCATTCGTTTTTCCTTAAACAAGGAATGCAGC
+CGTTCAGATTAGCCCTTACATCTCCCCAAAACTGAACGTGCGAGTTATTGGAATCGAGTGCTGCACTCCA
+CACCAGAGCTTTGACGACACCACTCGTTTCAATGGGGGAATTCAGTGGCATGGTGTAAAGCACAGCAAAA
+TTGCCAATAACGAAACCGATTTTAATGTACTTATCAAAAAGCGGTCACGTTAATCTTTTCATCAATGTCG
+ATTTCTTCGTAAAGGCTCGCGTTTTTTATGTCAGAGATTGCAAGTTGCTTGTACAGGTCAACGAAATTGA
+TCCATAATCATTTTCGTTGGAATCGTGTGCTGCACAAAATTAAAGTTAAAAAGTAAAACCCCCGTTCCTT
+ACCAGTTCGGGGGTTTTACTTTATAAAGAGAACGGTATTATTTTAACTTTCAATAATTACCGTGGCACAA
+GCATAGTGGCGCTCATCGGCAAGCGTTACATGCATATTTACAACGCCGAGCTTTTCCGCCAGTTTTAATG
+CCTCACCCCATAGCCGTAGCCGTGGTTTGCCGAGCTCATCATTGAATACTTCAAACTGATTAAACGCCAG
+ACCATTGCGGATCCCTGTGCCAAATGCTTTTGCCGCCGCTTCTTTCACAGCAAAACGCTTCGCCAGAAAA
+CGCACTGGCTGGTGGTGCGTTTTCCAGATTTCCCATTCGTTATCGCTTAATACGCGGCGTGCCAGGCGCT
+CACCGGATCGGGCGATCACCGCTTCTATGCGAGCGATCTCTACAATATCCGTACCTAAACCTAATATTGC
+CATTAGCCACGCGCTTCCAGCATCAGACGTTTCATTTCTGCCACCGCATCTTTCAGTCCGGTCATCACTG
+CACGACCAATAATGGCATGACCGATATTCAGTTCATGCATCTCAGGGATGGCGGCAATGGCTTTCACGTT
+GTGATAGGTCAGACCGTGTCCGGCGTTAACTTTCAGACCGAGACTAGTGGCAAAGGTCGCGGCTTTGGCG
+ATACGCGCCAACTCTTGCGCCTGTTCGGCGTCAGTTTTGGCATCAGCATAGCAACCGGTGTGGATCTCGA
+TAAACGGTGCGCCAACCTCTGCCGCAGCTTTGATCTGCTCTTCATCGGCGTCGATAAACAGAGAAACCTG
+GATCCCGGCATCTGCCAGACGTTTGCAGGCATCGCGCATTTTTTCACGCTGCCCTGCGACGTCCAGGCCG
+CCTTCGGTTGTGACTTCCTGACGCTTTTCCGGTACCAGACAGCAAAAATGTGGCTTCGTCTCAACGGCGA
+TCGCCAGCATCTCTTCGGTCACCGCCATCTCCAGATTCATGCGGGTATCCAGCGTCTGGCGCAGGATGCA
+CACATCGCGGTCGGTAATGTGGCGGCGATCTTCACGTAAATGCACGGTAATGCCGTCCGCTCCCGCCTGC
+TCAGCAATAAACGCCGCCTGCACCGGATCCGGGTAAGCAGTACCGCGCGCGTTACGCAGCGTTGCAATAT
+GGTCAATGTTGACGCCTAACAGTAATTCAGCCATGACAATCCTCATCATTCATAATGTGTTTTCACCGTT
+CGCTTAGGCATAAACTGCCGGAACAGTTCCCTGCTCTTTAATGGTTTACCGCCAAGATACGGCTTAAGCG
+CCATGCGGGTAAAGCGTTTCGCGGCGCGCAGTGTGTCTGCGTCAGGAAATTCCCGCGCGTTTAACGCTTT
+TAACTGCCTTCCGGTGAACGTTTTATTGTCGATAACGACGCTTGCGATAAACCCTTTTTCTTCGCGATAA
+CGATACGTCATGGTGTCATCTACCGGCTCGCCGCTACCCGCACAATGGGTAAAATTGACGCCATAGCCCA
+GATGCCCGAGCAGTGCCAGTTCAAAGCGGCGCAACGCGGGTTCTGGCGTACCAGTGACCCCGGCAAGAGA
+CTGAATGCAGTGCAAGTAATCGAAAAAGAGTTCAGAGAAGCGCGTCTCGTATTCCAGTACGCGGGAGAGA
+AGTTCGTTGATGTACAAACCGCTGTAAAGCGTGATACCGCTTAATGGCAGCGCCAGCGAGACAGCTTCAG
+CACTGCGCAGCGTTTTGACTTCGCCACGCCCGCCAAAACGTAGCAAGAGAGGGGTGAAAGGCTGTAATGC
+CCCTTTCAGAGTAGAGCGTTTAGAGCGTGCGCCTTTGGCAACCAGACGCACGCGACCCGATTCCTCCGTG
+AAGACGTCCAGCATCAGGCTGGTTTCGCTCCACGGGCGACTATGCAGGACAAATGCGCGCTGCCAGCCTT
+CCATCGGAGTTACTCTTAAAGATCGTCAACATAACCGAGACTGCGCAGTGCGCGTTCGTCGTCGGCCCAA
+CCGGATTTCACTTTTACCCACAGCTCAAGGTGAACAGGCGCTTCGAACATTTCCTGCATGTCTTTACGCG
+CTTCAATCCCGATGGTTTTGATCTTGGCCCCTTTGTTGCCAATGACCATCTTCTTCTGCCCTTCACGCTC
+AACGAGAATCAAACCGTTGATGTCATAACCGCCGCGTTCGTTAGAGACGAAACGTTCGATCTCCACGGTC
+ACGGAGTACGGCAGTTCAGCGCCGAGAAAACGCATCAGTTTTTCGCGGATAATTTCAGACGCCATAAAAC
+GCTGTGAGCGATCGGTGATGTAATCTTCCGGGAAGTGATGGGTCGCTTCAGGCAGATGCTTACGCACGAT
+TGCCGCGATAGTGTCGACATTCAGCCCGGTTTCGGCAGAGATCGGCACGATATCGAGGAAGTTCATCTGG
+CTTGCCAGGAACTGTAAGTGTGGCAGCAGATCGGCTTTTTCCTGCACGTTGTCCACTTTGTTCACCGCGA
+GGATTACCGGCGCTTTGCCATCACGCAGCTTGTTGAGCACCATTTCATCGTCCGGCGTCCAGCGGGTGCC
+TTCTACGACAAAAATCACCAGCTCAACGTCGCCAATGGAGCTGCTCGCCGCTTTGTTCATCAGACGGTTA
+ATAGCGCGTTTTTCTTCCATATGCAGGCCTGGGGTATCAACGTAGATCGCCTGATACGCGCCTTCAGTAT
+GGATCCCCACAATGCGGTGACGAGTTGTTTGCGCCTTGCGGGAGGTAATGGAGATCTTCTGCCCCAGCAG
+TTTGTTCAACAATGTGGATTTGCCAACGTTCGGACGTCCGACGATAGCAATAAATCCGCAGTAACTTTTA
+TCGATGCTCATTCCAGCTCCAGTTTTTTCAACGCCTGTTCGGCGGCAGCCTGCTCAGCCTTACGACGGCT
+TGAACCTGTGCCAACCACCGGTTCACTCAGGCCGCTGACCTGGCAGTGGATAGTAAATTCCTGATCGTGC
+GCTTCGCCACGTACCTGGACTACCAGATAAGTCGGCAGCGGCAGATGGCGACCCTGCAAATATTCTTGCA
+AGCGCGTTTTCGGATCTTTTTGTTTATCTCCTGGGCTAATTTCGTCCAGACGGGTTTGATACCAGTTGAG
+GATTAATTTCTCGACGGTTTGAATATCACTGTCGAGGAATACGCCACCAATTAATGCTTCGACGGTGTCG
+GCGAGAATTGACTCACGACGAAATCCACCGCTTTTAAGTTCACCTGGCCCTAAACGTAAGCACTCGCCTA
+ACTCAAATTCGCGCGCCAGTTCTGCCAGCGTATTGCCACGGACCAGCGTGGCGCGCATCCGGCTCATATC
+GCCTTCATCGACACGAGGGAAACGGTGATAAAGCGCGTTGGCGATAACGTAGCTCAGAATAGAGTCGCCT
+AAAAATTCTAAACGCTCGTTATGTTTGCTGCTGGCGCTACGATGGGTTAATGCCTGCTGCAACAGTTCCT
+GATGATTAAAAGTGTAGCCCAGCTTCCGTTGAAGCCGATTAATTACGATGGGGTTCATGCGATACCAATA
+AATAAATGCGTCAACAATTCAGCACACGAAACAGACCTGATATACATAGCTCTGCTAACTGCTTCGCTGC
+AGTTTAGCGGTATATGGGGACCAACGCTGTTTCGTGTGCCGTGGCAACCTGGAGGTGCCAACCTTAAACT
+TCGGGGGAATATTCTATACACAACGACGGGGGATGTCGTTAGCCACGGGAGATTTATCTCATAAATAATT
+CACGTTGTCGCCATAACGGCGACAACGTGAACGAAGATGGGCTATTAATGGATGCCGCCAATGCGACTTA
+AGCGCACACCTGTCGGCCATTCGCCTTCTTGCTTATCGAAACTCATCCAGATAGCCGTTGCCCGACCGAC
+CAGATTCGCTTCCGGCACAAAGCCCCAGTAACGGCTGTCCGCGCTGTTGTCGCGGTTATCGCCCATCATG
+AAGTATTGCCCCGGCGGTACAATCCAGGTTGCCAGTTGTTGCCCTGGCTGCTGGTAATACATCCCCACCT
+GGTCCTGCGCAATCGGCACTGTCAGAATGCGGTGCGTCACATCACCCAGTGTCTCTTTACGCTCGGAAAG
+ACGAATTCCATTTTCTTTGGTTTCGTTTTTCGGCACTTCAAAGAATCCGCTGGTCGCTTCCCCACCATTA
+CGGCGTGAGAAGGTCTGAACGAAATCGCTCGGTTCCACGTTTGAGTAGGTGACCGGCAGCGCGTTTTCAC
+ATGCCTGACCGGAACTGCATCCCGGTTGAATCGTCAGCTCTTTTGAGACCGGATCATAAGTGACTTTATC
+GCCCGGTAAACCCACCGCGCGCTTGATGTAATCAAGCTTTGGATCTTCCGGATATTTAAAGACCACGATA
+TCGCCGCGTTTCGGATGACCGGTTTCGATCAGTGTTTTCTGGTAAATAGGATCTTTAATGCCATAAGCAA
+ACTTCTCTACCAGAATAAAATCACCGATTAACAGAGTCGGCATCATCGAACCTGACGGGATCTGGAACGG
+TTCATAAATAAACGAACGCACAATCAATACGATAGCCAGCACCGGAAAAACAGAAGCACCAGTTTCCAGC
+CAGCCAGGCTTCGGCGCAACCTTTTTCAGTGTTGCTTTATCCAGTGAGTCACCGGCAGCCGCCTGCGCCG
+CTGCCTGACGTTCCCGCCGTTTAGGTGCGAAAAAGAATTTATCCACGCACCATAAAATGCCCGTCACTAG
+TGTGGCAATCACCAGAATCAGGGCAAACATATTCGCCATGCCAACTCCTAAGGGTTATTTGTTGTCTTTG
+CCGACGTGCAGAATGGCGAGGAACGCTTCCTGCGGCAGCTCGACGTTACCGATCTGCTTCATGCGTTTCT
+TACCTTCTTTCTGCTTCTGCAGCAGCTTTTTCTTACGGCTGATATCGCCGCCATAACATTTAGCCAGTAC
+GTTTTTACGCAGCTGTTTCACGGTGGAGCGCGCAATGATGTGCGTACCAATCGCTGCCTGAATAGCGATA
+TCAAACTGCTGGCGTGGGATTAGATCTTTCATCTTCTCCACCAGCTCGCGACCGCGGTTTTGCGAATTAT
+CACGGTGGGTGATCAACGCCAGCGCATCAACACGTTCACCGTTGATTAATACGTCTACACGTACCATGTC
+GGACGCCTGGAAGCGTTTGAAGTTGTAATCCAGAGACGCATAACCACGCGAGGTAGATTTCAGGCGATCG
+AAGAAATCGAGCACCACTTCCGCCATCGGGATCTCGTACGTCAGCGCCACCTGATTACCGTGGTAAACCA
+TATTGGTCTGCACGCCGCGTTTTTCTACGCACAGCGTAATAACGTTGCCGAGATATGCCTGCGGCAGCAG
+CATGTGACATTCTGCAATCGGCTCGCGCAGTTCGTAGATGTTATTTACCGCTGGCAGCTTGGATGGGCTG
+TCGACGTAGATAACTTCTCTTGACGTGGTTTCAACTTCATACACTACGGTCGGCGCAGTGGTGATCAGAT
+CCAGATCGTATTCACGTTCCAGACGTTCCTGGATGATCTCCATGTGCAGCAGACCGAGGAAGCCGCAGCG
+GAAACCAAAGCCCAGCGCGCTTGAGCTTTCCGGCTCATAGAACAGTGAGGCATCGTTCAGGCTGAGTTTA
+CCCAGCGCGTCACGGAAGGCTTCATAGTCGTCGGAACTTACCGGGAACAGACCGGCGTATACCTGCGGTT
+TGACTTTCTTAAAGCCAGGCAGCGCCTTTTCTGCCGGATTACGCGCCAGCGTTAAGGTATCGCCTACTGG
+AGCGCCGTGGATATCTTTAATCGCACATACCAGCCAGCCTACTTCGCCACATTTCAGTTCAGTGCGGTCA
+ACCTGTTTTGGCGTAAAAATACCCAGACGGTCGGCGTTATAGGTCTGCCCGGTACTCATGACTTTCACTT
+TGTCGCCCTTACGCAGGGTGCCGTTTTTAATACGGATAAGTGAAACAACGCCCAGGTAGTTGTCGAACCA
+GGAGTCGATAATGAGTGCCTGTAACGGGCCTTCCGGATCGCCTTCCGGCGGCGGAATGTCGCGCACCAGA
+CGTTCGAGAACGTCCTGCACGCCAACGCCGGTTTTCGCTGAACAGCGCACCGCGTCAGTGGCGTCGATGC
+CGACGATATCTTCAATTTCTTCCGCCACGCGTTCAGGATCAGCTGCCGGCAGGTCAATCTTGTTCAGTAC
+CGGCACCACTTCGAGATCCATTTCCATGGCGGTGTAGCAGTTTGCCAGGGTTTGCGCTTCTACGCCCTGC
+CCGGCGTCGACCACCAGCAATGCACCTTCACATGCAGCCAGCGAACGAGAAACTTCATAGGAGAAGTCTA
+CGTGGCCCGGGGTGTCGATAAAGTTAAGCTGATAGGTTTCGCCGTCAGACGCTTTGTAGTCCAGCGTCAC
+GCTTTGCGCTTTGATGGTAATGCCACGCTCACGCTCAAGATCCATGGAATCGAGAACCTGCGCCTCCATT
+TCACGGTCAGACAGGCCACCGCAGATCTGGATAATACGGTCAGACAGCGTCGATTTACCGTGGTCAATGT
+GAGCTATGATCGAAAAGTTACGTATATTCTTCATAAAGTATGATTATTGTGCCTTAATGCCCGGTTAACC
+AGGCTTTTAGAAGTCGCTGTTCTGAGCTTAACGTCTGTATTAATAGAAACGCCGCATTCTACACTACAAC
+ATTGAGGCGAGGAAATGTTCATACCGTATGGATTGTGGTATCTGGAAACGTCCTCGCATTTGTTATGCAA
+AATGCAACAAAGCCAGTGAAATCACTGGCTCGCGTCTTCCGAAGATGTTTCAAATCGCACAAGGCCAGGC
+GGCAAGGCCACGCTTAAGATGATCGGTTGCCATTCTGCCCGGGCAGCAAACTTACGCGAGTAGCCGCGCG
+CAATCAGGAACCCGCCAAAACCGCCGAGGATCGCACCACATAATGCTGCGACGTCAGAAGCAAAGAGTAG
+CTGAAATAGCGAAGCGATGAGGAATAATCCCACCAGCGGCGACATATAAACCAGTAATGCGGAGCTAAGC
+AGGCTGCCTTCGGCGATTCCTAATTCTACTTTTTGCCCCGGCACTAACGGCTCATCACAGGGTACGACAA
+TGGTATGCGTGGTTTGCGGGCCAAGTTTATTCAACACGCGGCTACCGCAACCGGCGCGTGAAGCGCAGCT
+GCTGCATGAGGCTTTAACATCACAACTGACCAGCGCCTGCCCGTTTTGCCAGGAGACGACGGTAGCCCAC
+TCTTTGATCATTGCGCTGCCCCGAACTTAATATTCTCGGCAATGCGTTTCGCCGTTTGCGGCGGCAGTTC
+ACCGACAATGGTGATTTCGGCGTTATCACGTACGCTTGTACTGACGGTTCTGCGTCCGGTGCGCAACATC
+TGATCGCTGCTCGATGGCGTAGCGCGGTTAACGTTTACCGAGAAGCTGAATAATCCGTCGGAATAGAGAC
+GTGATTCGATAGGCATGTTGTCCATCGTCGGTAGCGGACGTCGACTACTGGAAACTTCGCTAAAACCCTG
+TGGCAACCAGGTTGGCGTCCAGCTGAATTTAGCTTTTTCACCTACAGGAACAGAAAGCAACGGCGGCAAA
+TTTGCCTTCGCCAGCGTCTGCATACTGCTGCTGATATCCTGATTGACGTTAAAAGCAATCACGCGAAATT
+GTTCCAGCGTTTCACCATCGCGATCAAGGAGATCAACCCGCATCGGTAATTTCGATTCGGTGTCCATCCA
+CACAATGTAGCTGTAGCGTGTGCCATCACGGGCGACTACGCGAATGACTTCGCAAAGACGATCAGCAATA
+CGCGTGCGTCCCACGGAGATAAAGTCGTAGTAAGGAGAAAGGCGTTTGAAATCGGTATAAATGAGCGATG
+GCAGAGAATCAACAATGTAATCGCCATTAAGCGTGAACGGTTCAAGGCCCGGCTCAAAGTAGCTGATTTC
+ATTGCCGCGCTGTACCACTTCCCGGCGCGGGCCATCCATTTGCAACAGCTGTGCAAGCGGACGGTTATCG
+AGGCGTGCATGTCGATAACGCAGAGACTCAACACCCTGTTTATTGATGCTGATGAATGACAGCTCGTAAT
+TCAGTGACTGACTGGCCAGGTTCATCTGCTGTAATAACGCCCCGGACGCGGGAGTGGCCGAGGCGTTAGC
+AGAGAATAACAGGCTACCTGTCACTAATGACATGGCAAACCAAAGTTGCTTCATTACTGCGATTGCGTTC
+CTAAAGTTTGAATTCCTGGCACCTGTACAGCGGCTTGCTGAGTTTGTGCCTGCTCAAACTGAAGCTGTTC
+AGAGTGGAGTCGGCGTTGCAGTTCGTAATCCTGCAACATTGCATTAATGCGACGACGCTGCTCCTGTACC
+TGCTGCTGTTGACCATTATTTGCGGTCGCTTCAGAAGGTACTCCCAGACTAACCGGGCTGGCTTTACCCA
+TCATCGGCAGTGTATTAAATACTGGCGTTTCGGGCTGCTGGGACGTTTCAGATTGCCCATTATAGTGCTG
+GACGCCAACGATAACTGCAAGCGATACGCATGCTGCTACGCCCATTTGGGTAAGCTGTGCCGCCCACGGA
+CGTACTTTCTGCCAGAATGGCATTTTCTGCCATTGATGCGGCGCAGGCTGGGCTTCCGGGATCAATGTCG
+CCGGTTGACGTACTGGCTCTTCTTCAATGGCGGCCATCACACGTGAAGAGATATCGAAATGGAGCACCTC
+GGGAGTATCACCCCGCATTGAGTCACGGATCAAGTGATAGCTTTCCCAGGTTTTCTGCATTTCTGGGTTA
+TGAGCCAGTTCGTTAAGCAGCTCACTATCCAGCGTTTCGCCATCCATTAAAGCGGAAAGTTGTTCTTTCT
+GCATGCCTAATACCCTTATCCAGTATCCCGCTATCGTCAACGCCTGATAAGCGGTTGAACTTTGTTATCA
+ATAGCTTCCCTCGCTCGGAAGATACGTGAACGCACCGTACCTACCGGACAATCCATGATAGCGGCTATCT
+CTTCATAGCTCAGGCCATCCAGCTCCCGCAAGGTTATTGCCATGCGTAAATCTTCCGGGAGGGACTCAAT
+AGTTCGGAAAACTATCTGTCTCAGTTCTTCTGACAACATTAAGTTCTCAGGGTTCGAAATTTCTTTCAAC
+GCGCCGCCACTTTCGAAGTTTTCAGCTTCAATGGCATCCACATCACTGGAAGGTGGACGACGCCCCTGAG
+CAACCAGGTAATTTTTCGCTGTATTTACAGCAATCCGATACAGCCATGTATAAAAAGCGCTATCTCCCCG
+GAACGAATCCAGCGCACGATAGGCTTTAATAAAAGCTTCTTGTACCACATCGGGAACATCACCCGACGGC
+ACATAGCGGGAAACCAGACTCGCCACTTTATGCTGATAGCGCACTACCAGTAAGTTAAAGGCTTTCTGAT
+CTCCCTTCTGGACCCGTTCAACCAGGACCTGGTCCGTTAACTGCTCGCTCATCCGAGGTAAAGTCTCCCC
+AAACCAAATTTCCACGCGCTATCGAAACGCCACTCCATTAGCTGCAATTTGAGCAAGCAAAGGGTTAGAG
+TGTCTCGTTTTTGTAAAGTTCCGTAACGCATCTGTTTTTGTTTGTCATGCTGTAGACGGATCATTATCTA
+TCATTATAAGTCTACAGAATCTGAACATCGCATTATCTGTGTAGAAATGCCCATTTAACTGCCTGAAGAG
+TAACCCAACGGCCTTTTTATTTCACCACCTAATCCTCCACCAGCCAGTAACTTCTCGTTTTCTCGCCGCC
+CTGAGGCAGCGTGTTTAGTCACTGTAACAAATATTAAAATAGCAGGTGTTTATTCGCACAACATGATGTT
+ATGCTGACCAAACCGTGTTTAGTAAATTAAACAAAGAAAATGAATACTCTCCCTGAACATTCATGTGACG
+TGTTGATTATCGGTAGCGGCGCAGCCGGACTTTCACTGGCGCTGCGCCTGGCTGACCAGCATCAGGTCAT
+CGTTCTAAGTAAAGGCCCGGTAACGGAAGGTTCAACATTTTATGCCCAGGGCGGTATTGCCGCCGTGTTT
+GATGAAACTGACAACATTGACTCGCATGTGGAAGACACATTGATTGCCGGTGCTGGTATTTGCGATCGCC
+ATGCAGTTGAATTTGTCGCCAGTAATGCACGATCCTGTGTGCAATGGCTAATCGACCAGGGGGTGTTGTT
+TGATACCCACATTCAGCCGAATGGCGAAGAAAGCTACCATCTGACTCGTGAAGGTGGACATAGTCACCGT
+CGTATTCTTCATGCCGCCGACGCCACCGGTAGAGAAGTAGAAACCACGCTGGTGGGCAAGGCGCAGAACC
+ATCCGAATATTCGCGTGCTGGAGCGCAGCAACGCGGTTGATCTGATTGTTTCTGACAAAATTGGCCTGCC
+GGGCACGCGACGGGTTGTTGGCGCGTGGGTATGGAACCGAAATAAAGAAACGGTTGAAACCTGCCACGCA
+AAAGCAGTGGTACTGGCAACCGGCGGTGCTTCAAAAGTTTATCAGTACACCACCAATCCGGATATTTCTT
+CTGGCGATGGCATTGCTATGGCGTGGCGCGCAGGCTGCCGGATTGCCAATCTCGAATTTAATCAGTTCCA
+CCCTACCGCGCTGTATCACCCACAGGCACGCAATTTCCTGTTAACGGAAGCACTGCGCGGCGAAGGCGCT
+TATCTCAAGCGCCCGGATGGCACGCGTTTTATGCCCGATTTTGATGAGCGTGGCGAACTGGCTCCGCGCG
+ATATTGTCGCCCGCGCCATTGACCATGAGATGAAACGCCTCGGCGCGGATTGTATGTTCCTCGACATCAG
+CCATAAGCCCGCCGATTTTATTCGCCAGCATTTCCCGATGATTTATGAAAAATTGCTCGGGCTGGGGATA
+GATCTCACGAAAGAACCCGTGCCGATTGTGCCTGCTGCACATTATACCTGCGGTGGTGTAATGGTTGATG
+ATCATGGGCGTACGGACGTCGAGGGTTTGTATGCCATTGGCGAAGTGAGTTATACCGGCTTACACGGCGC
+TAACCGCATGGCCTCGAATTCATTGCTGGAGTGTCTGGTCTATGGCTGGTCGGCGGCAGAAGATATCAGC
+AGACGTATACCTTATGCCCACGGCGTCAGTACGTTACCGCCGTGGGATGAAAGCCGCGTTGAGAACCCTG
+ACGAACGGGTAGTAATTCAGCATAACTGGCACGAGCTACGTCTGTTTATGTGGGATTACGTTGGCATTGT
+GCGCACAACGAAGCGCCTGGAACGCGCCCTGCGGCGGATAACCATGCTCCAACAAGAAATAGACGAATAT
+TACGCCCATTTCCGCGTCTCAAATAATTTGCTGGAGCTGCGTAATCTGGTACAGGTTGCCGAGTTGATTG
+TTCGCTGTGCGATGATGCGCAAGGAGAGCCGTGGCCTGCATTTCACGCTGGATTATCCGGAACTGCTCAC
+GCATTCCGGTCCATCGATCCTTTCTGCCGGCAATCATTACATAAACAGATAAAAAGCCTGGGTCAGCGCC
+GTATACGCTTCGGAATAGTTCTGGTCTGGCCCACGAATGACTAAGCGATCGCTAAAGCATTCTCCCGCCT
+GCGGGGAGAATGCCAGCAGCACCCGATGCGGCAGTCGCGCTTCGTTTTCCGCCACATCCGTCCGCAAACG
+TAAATGCCAGCCCATACTTAATGCCAGTTCAGTAAAACCATTACCAATCTGCTCTGGCAGCACCACGCAG
+AAAAATCCCTCTTCGGTAATGCACTCCGCCGCACAAGTCAGCAACGATGGGTGATCAAGCGTAGTGGTAT
+AGCGAGCCTGTTCCCGTTGAGGTGTCGCGCACTCTACTCCCTGCTGATAGTAAGGTGGGTTGCTGATGAT
+TAAATCGAAGCGTACTGTCTGCTGTGTGATCCACTGCAGAATATCCGCCGTATGGACGTTAATCCGCTCT
+GCCCACGGGGACTGGTTGATATTTTCCTGCGCTTGCGCGGCAGCTTCACTTTCCAGTTCAACTGCATCAA
+TCATCACGCTGTCATCTGTTCGCTGCGCCAGCATTAATGCCAACAACCCGCTACCCGCGCCGATATCAAG
+GCAACGTTTTACCCCAGCCACAGGTGCCCATGCGCCCAGCAAAATGCCATCCGTTCCCGCTTTCATCGCA
+CAGCGATCGTGAGCAACAAAAAACTGTTTAAAAGTAAATCCATTACGACGAAACACGGATGTAGACTGTG
+ACATGAAAATAAAACCTTGCAGGAAAAACGGCGATAGCACCGGGTGAGAACAATACCCGAGAAGCGATAT
+CCATACAAACAGATGAAGATTGCAGCCGTAACGTCTATAATCAGCGCCCCACACAGAGGTAGAACATGAC
+TGTAACGACTTTTTCCGAACTTGAACTCGACGAAAGCCTGCTGGAAGCCCTCCAGGATAAAGGTTTCACT
+CGCCCGACCGCCATTCAGGCTGCCGCCATTCCGCCTGCGCTCGATGGCCGTGATGTACTCGGTTCTGCGC
+CGACAGGCACCGGTAAAACGGCGGCGTATCTGCTGCCAGCGTTGCAGCACCTGCTCGATTTCCCACGTAA
+GAAATCCGGTCCGCCGCGTATTTTGATCCTTACCCCGACTCGCGAACTGGCGATGCAGGTGGCCGATCAT
+GCCCGCGAACTGGCGAAACATACGCATCTGGATATTGCCACCATCACCGGCGGCGTGGCCTATATGAACC
+ACGCAGAAGTGTTCAGCGAAAACCAGGACATTGTGGTCGCCACGACCGGACGTCTGCTGCAATACATAAA
+AGAAGAGAACTTCGATTGCCGCGCGGTTGAAACGCTGATCCTCGACGAAGCAGACCGTATGCTGGATATG
+GGCTTCGCCCAGGATATCGAACATATTGCTGGCGAAACGCGCTGGCGTAAACAGACCCTGCTCTTTTCGG
+CAACGCTGGAAGGCGATGCGATTCAGGATTTTGCCGAGCGTCTGCTGGAAGATCCGGTGGAAGTTTCTGC
+GAATCCGTCCACCCGTGAGCGCAAAAAAATTCATCAGTGGTATTACCGCGCCGATGATCTTGAGCATAAA
+ACCGCGTTGCTGGTGCATCTGTTAAAACAGCCGGAAGCGACCCGCTCAATTGTGTTTGTGCGTAAGCGTG
+AGCGTGTGCATGAGCTGGCAAACTGGCTGCGCGAAGCAGGCATCAACAACTGCTATCTCGAAGGTGAGAT
+GGTACAAGGCAAGCGTAACGAAGCGATTAAACGCTTGACCGAAGGCCGCGTAAACGTACTGGTTGCTACC
+GATGTTGCCGCGCGCGGTATCGACATTCCTGACGTCAGCCACGTCTTTAACTTCGATATGCCGCGCAGTG
+GCGATACTTATTTGCACCGTATCGGACGTACCGCGCGCGCCGGTCGTAAAGGCACCGCGATTTCGCTGGT
+GGAAGCCCATGACCATCTGCTGCTGGGCAAAGTTGGTCGCTATATTGAAGAGCCAATTAAAGCTCGCGTA
+ATTGACGAGTTACGCCCGAAAACGCGTGCGCCAAGCGAGAAGCAGACCGGCAAGCCATCGAAGAAAGTGT
+TGGCTAAACGTGCCGAGAAGAAAAAAGCTAAAGAGAAAGAGAAGCCGCGGGTGAAAAAACGCCATCGCGA
+CACTAAAAATATTGGTAAGCGCCGTAAACCAAGCGGAACGGGCGTGCCACCGCAAACGACAGAAGAGTAA
+TCTCAATGCCGGGTTTAAGCCCGGCATTGTTTTTATCCCGGCAAAAAACACTCTTCAACACACTGAATAA
+AAGTGTGCATCGCCGGGCTAACCGCTTTTCCGGCATGGTGAGCGCACATTGCCGTAATGGTCTGCGACTG
+TTCGCCAAAAGGCAATTCAATTAATTCTCCGCACTCCAACTCTTTTACCACCGCAAAACGCGGCAGGTAA
+CTGACTCCGATATTTGCCGCGACACAACGCTTGATGCTTTCGATACTTATAAGCTCAATGGTGTTTTCCA
+CCGTGATCCGCCGCTGGCGCAGCGTGCTCTCAAATATCTGCCGGAAGACACATTGTGGTTCGTTGATAAT
+AAAGCTACAGGCGTTATGTCTTCCCGGCTCAGTAAAATCGACATCTGCAATTTGCGGTGAAGCCACCAGC
+GCCAGCGGTTGTTCACCCAACTCTCGTCGGTTCAGAGCATCATCATTCCCTACGCGATAAAAAACCCCGA
+CATCGGCCTCATCATTCAGTAGCGCATCACGGATCACGTAACAGTTCAGCGACTGCAACGATAAACGCAC
+TTTTGGAGCGCGTTGCCGAAAACGCTGCAACACCTGCGGCATTCGATAAGAGAGCAACGTTTCGCCTGAA
+ATAACGCGTAGTTCCCCGTCCGGATCCGACTCTTTTTTAGCAGCCTCACGAAGCGTATCCATCACTCGGG
+TAAGTTCATAGATGTGCGGCAGCAGCTTTTTTCCTTCGCGGGTAAGGCACATTCGTCGACCAATTTTCTC
+AAACAATTGTACCGAGAACTCCTGCTCAAGCTGCTGAATATGAAAAGTCACCGTCGATTGTGTGCAGCAC
+AATTTTTGCGAAGCTCGCAAAAAGGAACCCTCTTCCACCACGGTTTTAAGTGTAATAAAACGGCGCAGAT
+CCATAACCCCAAACCTATCGAAAATATCGAATTTAGAATGTAAAAACATTCATTTTTTTAAATGTTCCGT
+GTCGGGTACTGTCTACCAAAACAGAGGAGATAACAAGTGACACCGACCCTTTTAAGTGCTTTTTGGACTT
+ACACCCTGATTACCGCCATGACGCCAGGACCGAACAATATTCTCGCCCTTAGCTCTGCTACGTCGCATGG
+ATTTCGTCAAAGTACCCGTGTGCTGGCAGGGATGAGTCTGGGATTTTTGATTGTGATGTTACTGTGTGCG
+GGCATTTCATTTTCACTGGCAGTGATTGACCCGGCAGCGGTACACCTTTTGAGTTGGGCGGGGGCGGCAT
+ATATTGTCTGGCTGGCGTGGAAAATCGCCACCAGCCCAACAAAGGAAGACGGACTTCAGACAAAACCAAT
+CAGTTTTTGGGCCAGCTTTGCTTTGCAGTTTGTGAACGTCAAAATCATTTTGTACGGTGTTACGGCACTG
+TCGACGTTTGTTCTGCCGCAAACACAGGCGCTAAGCTGGGTAGTTGGCGTCAGCGTTTTGCTGGCGATGA
+TTGGGACGTTTGGCAATGTGTGCTGGGCGCTGGCGGGGCATCTGTTTCAGCGATTGTTTCGCCAGTATGG
+TCGCCAGTTAAATATCGTGCTTGCCCTGTTGCTGGTCTATTGCGCGGTACGCATTTTCTATTAACGAAAA
+AAAGCGGAAGAGGTCGCCCTCTTCCGCTTAGTAACTTGCTACTTAAGCCTTACAGGCTTTCAGTAAAGGT
+ACGAGCGATAACGTCGCGCTGCTGTTCCGGAGTCAGAGAGTTAAAGCGAACTGCATAACCGGATACACGG
+ATGGTCAGCTGCGGATATTTTTCCGGATGCTTAACTGCATCTTCCAGAGTTTCACGACGCAGAACGTTTA
+CGTTCAGGTGTTGACCACCTTCAACGCGAACTTCTGGTTTCACTTCTACTGGAACTTCACGGTACTCAAT
+GTCACCCAGTTTGCTTACTGCAACCACTTCGTCTTCTGCAAAACCTGCTTTCGCAACGATGCAACGCGCT
+TCGCCTTTTTCGCTGTCCAGCAGCCAGAAAGAGTTCAGCAGATCGTCATTAGCGGCTTTAGTAATCTGGA
+TACCTGTAATCATGTGATGCCTCCCCGGCAAAATTATTTGATTTGTTCAGCCTGTCGCGGCCAATTGGTA
+AAACCATTGTTGCTTGAGTGTATATATACTCCTCAAACACCCTTGATTCTTTGATTTAAATCAATAAAAA
+CCACATATCGAATGTGGTCACAAATGGATTTTATTGTTTTACATCAACTTATGCAGGTGTGAAATTTTAC
+CAATTTACATTTTTTTGCATGTCTTTTTGTCTATAAAATGAGCATGATTTTGTTCTGTAGAAAGAAGCAG
+TTAAGCTAGGCGGATTGAAGATTCGCAGGAGAGCGAGATGGCTAACGAATTAACCTGGCATGATGTGCTG
+GCTGAAGAGAAGCAGCAACCCTATTTTCTTAATACCCTACAGACCGTCGCCAGCGAGCGGCAGTCCGGCG
+TCACTATCTATCCGCCACAAAAAGATGTCTTTAACGCGTTCCGCTTTACAGAGTTGGGTGACGTTAAAGT
+GGTGATTCTCGGCCAGGATCCTTATCACGGACCGGGACAGGCGCATGGTCTGGCATTTTCCGTTCGCCCC
+GGCATTGCGACACCGCCGTCACTGCTGAATATGTATAAAGAGCTGGAAAATACTATTCCCGGTTTCACCC
+GCCCTAATCATGGTTATCTTGAAAGCTGGGCGCGTCAGGGCGTTCTGCTACTCAATACTGTGTTGACGGT
+ACGCGCAGGTCAGGCGCATTCCCACGCCAGCCTCGGCTGGGAAACCTTCACCGATAAAGTGATCAGCCTG
+ATTAACCAGCATCGCAAAGGCGTGGTGTTTTTGTTGTGGGGATCGCATGCGCAAAAGAAAGGGGCGATTA
+TAGATAAGCAACGCCATCATGTACTGAAAGCACCGCATCCGTCGCCGCTTTCGGCGCATCGTGGATTCTT
+TGGCTGCAACCATTTTGTGCTGGCAAATCAGTGGCTGGAACAACGTGGCGAGACGCCGATTGACTGGATG
+CCAGTATTACCGGCAGAGAGTGAGTAAATTTGCGGGAAAATGCCGGATGGCAGAGTTGCCACCCGGCTGA
+TTTATCAGGCTTTATTCTGACGCCACCATTCGCCAAGAAGAACGCCGGTTGCGACAGAGATATTCAGCCC
+GGCAACGTTGCCAGTACCATCAATCTTCACGCGCAGATCGTTCGGATCGCGTGCGGCATCCGGTAACCCT
+TCATATTCCTGACCCAGCACCAGTACCATTTTCGCTGGCAGACTGGTTTTGAACAGCGGTTTACCCTGCT
+CGCTGGAAGTTGTCACTACGGTGTAACCCGCCTGACGGAAATCATCCAGCACGTTAACAATGTTGTCGCC
+AGTAATCGGCTGAACGTGCTCTGCGCCGCCTTCTGCGGTACGGATAGCCGCCCCAGACTCCAGCAGTGCT
+GCATCCTGCACCACAACACCTTTCACGCCGAAGTGCGCACAGCTACGCATCATGCCGCCCAGGTTATGCG
+GGTTAGATTCGTTTTCCAGGGCCAGTACACAATCCTGCGCGCCTGCCTGGCTTACCCACTGCTGCACGGT
+TGTACCGTTACGCTTTTTGATCAGGAAGCAAACGCCGCCGTGATGTTCCGTGCCTGACGCTTTTGTCAGT
+TCCGCTTCATCCACCACATGGTACGCTTTGCGGTTTGCCGCCATCCAGCGCAAGGCTTCTTTAAAACGTG
+GCGTTACGCTCTGGATAAACCAGGCGCGAACAATCGCTTCCGGACGGCTCTGGAACAGTGCCTGACAGGC
+GTTTTCGCCGTAGACGCGGGTTTCTTCCGCACGCTGACGACGCAAAACTTCCGGATCAATAAAACTTTTA
+CCACTGATGCCACCGTGATCGGCCTTTTCCGGCGTCTCATCACCCGGCGCGCGGGAAACCGTGCGCCACG
+GCGAATCTTCCCACTTGCGGTCACGGTGCTGACTCTGTTTGTCATCGCGGGCGGGGCGACGGCCACCGTC
+AGCACGAGATTTTCCTGGACGCCCGCCCCCTTTCCCGGTACGCGGGTTGTGGGTACGTTTATCAGAATCA
+TCATCACTGCGGACATACATCACTTTGACCTTGCCGCTTTTACCTTTCATTTCATCGTTCATGCTTTTCT
+CCACCAGCGCTGCGCGAAGCGCGCAGATTACCCGAAGTGCGCGCGGTTCGCCATGATTTCGTTCCAAAGC
+CTGTGTCTATCATACCCATTGAATAAAACAGATTGTTGTCTGGAACAATGTCCCCGATAATATGTAACAT
+ATTAGAAACATACCGGCGTCGTTGCCGATAAGTCTCCTTACTCATCCCGAGGTTAGTTATGAATACCGTT
+TGTACCCATTGTCAGGCCATCAATCGCATTCCCGACGATCGGATCGAAGATGCGGCAAAATGCGGACGCT
+GCGGTCACGACTTGTTTGACGGAGAGGTGATTAATGCGACCGGTGAAACGCTCGACAAATTGCTGAAAGA
+TGATCTACCTGTGGTGATCGACTTCTGGGCGCCGTGGTGCGGCCCCTGCCGTAACTTCGCGCCAATTTTT
+GAAGATGTTGCGCAAGAGCGTAGCGGTAAAGTGCGCTTTGTGAAAGTGAATACCGAAGCTGAACGTGAAT
+TGAGCAGCCGCTTTGGAATTCGTAGTATACCGACGATCATGATTTTCAAAAATGGTCAGGTTGTCGACAT
+GCTTAATGGCGCAGTACCGAAAGCGCCGTTCGACAGCTGGCTGAACGAATCTCTTTAATCTTACCGGGGC
+GCATCTTGTGCCCCGTTTTCTCCTCTGCGACAATGGCGTTTTTTCGACGCTCTCTTATGACCGAAAACGC
+TGTTCTCCAGTTACGCGCCGAGCGTATTGCGCGTGCAACACGTCCTTTTCTTGCCCGCGGTAATCGCGTT
+CGTCGCTGCCAACGCTGTCTTTTGCCAGAGAAATTATGTCTCTGTTCGACAATTACCCCAGCACAAGCAA
+AAAGTCGCTTCTGTTTGCTGATGTTCGACACCGAGCCAATGAAGCCCAGTAATACCGGGCGTCTGATTGC
+TGATATTTTGCCTGATACCGTTGCGTTTCAATGGTCGCGTACCGAACCCTCGCAAGATTTGCTGGATCTG
+GTGCAAAACCCGGACTATCAGCCAATGGTGGTCTTTCCCGCTTCGTATGCTGATGAGCAACGGGAAGTGA
+TCTTCACACCACCTGCCGGTAAGCCTCCGCTATTTATCATGCTCGATGGTACCTGGCCAGAAGCTCGCAA
+GATGTTTCGTAAAAGTCCGTATCTGGATAATCTTCCCGTCATTTCCGTCGATCTTTCTCGGCTTTCTGCC
+TATCGCCTGCGTGAAGCCCAGGCTGAAGGCCAATATTGTACTGCCGAGGTAGCCATCGCACTGTTAGATA
+TGGCCGGCGATACCAGGGCGGCGACAGGGTTAGGCGAGCATTTTACCCGCTTTAAAACACGCTATCTGGC
+AGGAAAAACGCAACATCCGGGAAGCATCACAGCAGAACAGTTAGAAAGCGTTTAAAATCATTCGGTCACT
+TCTGCGGGAGACCGATATGAGTCAGCGAGGACTGGAAGCACTACTGCGACCAAAATCGATTGCGGTAATT
+GGCGCATCGATGAAACCCAATCGCGCAGGTTACCTGATGATGCGTAACCTGCTGGCGGGAGGCTTTAACG
+GACCGGTACTCCCGGTGACGCCAGCCTGGAAAGCGGTGTTGGGTGTGTTGGCCTGGCCGGATATTGCCCG
+CTTGCCCTTTACACCCGACCTTGCGGTTTTATGTACCAATGCCAGCCGTAATCTTGCTCTTCTGGAAGAG
+CTCGGCGAGAAAGGCTGTAAAACCTGCATTATTCTTTCCGCCCCGGCATCGCAACACGAAGATCTCCGCG
+CCTGCGCCCTGCGCCATAACATGCGCCTGCTAGGACCAAACAGTCTGGGCTTACTGGCTCCCTGGCAAGG
+TCTGAATGCCAGCTTTTCACCTGTGCCGATTAAACGCGGCAAGCTGGCGTTTATTTCGCAATCGGCTGCT
+GTCTCCAACACCATCCTCGACTGGGCGCAACAGCGTGAGATGGGCTTTTCCTACTTTATTGCGCTCGGCG
+ACAGCCTGGATATCGACGTTGATGAATTGCTCGACTATTTGGCGCGCGACAGTAAAACCAGCGCCATCCT
+GCTCTATCTCGAACAGTTAAGCGACGCGCGACGCTTTGTTTCGGCAGCCCGTAGTGCCTCGCGCAATAAA
+CCGATTTTGGTGATTAAAAGCGGACGTAGCCCGGCGGCTCAACGTCTGTTGAACACCACGGCAGGAATGG
+ATCCGGCGTGGGATGCAGCTATTCAGCGTGCCGGTTTGTTGCGGGTACAGGACACCCACGAACTGTTTTC
+GGCGGTGGAAACCCTTAGCCATATGCGCCCGCTGCGTGGCGACCGGTTGATGATTATCAGCAACGGTGCT
+GCGCCTGCCGCGCTGGCGCTGGATGCCTTATGGTCACGCAATGGCAAGCTGGCAACGCTAAGCGAAGAAA
+CCTGCCAGAAACTGAGCGATGCACTGCCAGGGCATGTGGCAATCTCTAACCCGCTCGATCTGCGCGATGA
+CGCCAGCAGCGAGCATTATGTCAAAACGCTGGACATTCTGCTCCACAGCCAAGATTTTGATGCGCTGATG
+GTTATTCATTCGCCCAGCGCCGCTGCTCCCGCAACAGAAAGCGCACAAGTATTAATTGAAGCGGTAAAGC
+ATCATCCCCGCAGCAAATATGTCTCTTTGCTGACGAACTGGTGCGGCGAGCACTCCTCGCAAGAGGCACG
+ACGTTTATTCAGCGAAGCCGGGCTGCCGACCTACCGTACTCCGGAAGGAACCATCACTGCTTTTATGCAT
+ATGGTCGAGTACCGACGTAATCAGAAGCAACTACGCGAAACGCCGGCGTTGCCCAGCAATCTGACTTCCA
+ATACCGCAGAAGCGCATCTTCTGTTGCAACAGGCGATTGCCGAAGGGGCTACGTCGCTCGATACCCATGA
+AGTTCAGCCCATCCTGCAAGCGTATGGTATGAATACTCTCCCTACCTGGATTGCCAGTGATAGCACCGAA
+GCGGTACATATTGCCAAACAGATTGGCTATCCGGTGGCACTGAAATTGCGCTCGCCGGATATTCCACATA
+AATCGGAAGTTCAGGGCGTCATGCTCTACCTACGTACAGCCAATGAAGTCCAGCAAGCGGCAAACGCTAT
+TTTCGATCGCGTAAAAATGGCCTGGCCGCAGGCGCGGGTCCACGGCCTGTTGGTGCAAAGTATGGCTAAC
+CGTGCTGGCGCTCAGGAGTTGCGGGTTGTGGTTGAGCACGATCCGGTTTTCGGGCCGTTAATCATGCTGG
+GTGAAGGCGGTGTGGAGTGGCGTCCTGAAGATCAAGCCGTCGTCGCACTGCCGCCGCTGAACATGAACCT
+GGCCCGCTATCTGGTTATTCAGGGGATCAAAAGTAAAAAGATTCGTGCACGCAGTGCGCTACGCCCATTG
+GATGTTGCAGGCTTGAGCCAGCTTCTGGTGCAGGTTTCCAACTTGATTGTCGATTGCCCGGAAATTCAGC
+GTCTGGATATTCATCCTTTGCTGGCTTCTGGCAGTGAATTTACCGCGCTGGATGTCACGCTGGATATCGC
+GCCGTTTGAAGGTGATAACGAGAGCCGGCTGGCTGTGCGCCCTTATCCGCATCAGCTGGAAGAATGGGTA
+GAATTGAAAAACGGTGAACGCTGCTTGTTCCGCCCGATTTTGCCAGAAGATGAGCCACAGCTTCAGCAAT
+TCATTTCGCGAGTCACCAAAGAAGATCTTTATTACCGCTACTTTAGCGAGATCAACGAATTTACCCATGA
+AGATTTAGCCAACATGACGCAGATCGACTACGATCGGGAAATGGCATTTGTAGCGGTACGACGAATTGAT
+CAAACGGAAGAGATCCTCGGCGTCACACGTGCGATCTCCGACCCTGATAACATCGATGCCGAATTTGCCG
+TGCTGGTTCGCTCGGATCTCAAAGGGTTAGGCTTAGGTCGACGCTTAATGGAAAAGTTGATTACCTATAC
+GCGAGATCACGGACTACAACGTCTGAATGGTATTACGATGCCAAACAATCGTGGCATGGTGGCGCTGGCC
+CGCAAGCTCGGGTTTAACGTTGATATCCAGCTCGAAGAGGGGATCGTTGGGCTTACGCTAAATCTTGCCC
+AGCGCGAGGAATCATGAGTAAGGTACTGGAAATGTTGACCACTTAATCGGGACTGGTGTTATTATTGCCC
+GCTTATGTCGTCTGCATTGCACAGAGGACCCTTCAATGAACAGAGAAGAAATGCACTGTGATGTTGTCAA
+AATTTAAGCGTAATAAACATCAACAACACCTTGCCCAACTACCCAAGATTTCTCAATCAGTTGATGATGT
+CGATTTCTTTTACGCTCCCGCCGACTTCCGGGAGACGCTGCTGGAAAAAATAGCCAGCGCGAAGCAGCGC
+ATTTGCATTGTCGCCCTGTATCTCGAACAGGATGACGGTGGCAAAGGCATTCTGAACGCGTTGTATGAGG
+CTAAAAGGCAGCGTCCGGAACTGGATGTGCGGGTGCTGGTCGACTGGCATCGTGCACAACGTGGACGCAT
+TGGCGCTGCGGCATCTAACACTAACGCTGACTGGTACTGCCGCATGGCGCAGGAAAATCCGGGCGTAGAT
+GTTCCGGTTTATGGCGTTCCAATCAATACCCGTGAAGCCCTTGGTGTTCTGCACTTTAAAGGCTTTATCA
+TCGACGATAGCGTACTTTATAGCGGTGCCAGCCTGAACGATGTTTACCTGCATCAGCACGATAAATATCG
+CTACGACCGTTATCATCTGATCCGTAACCGTAAGATGTCAGACATTATGTTTGAATGGGTTACACAGAAT
+ATTATGAATGGCCGCGGCGTTAATCGTCTGGATGATGTTAATCGGCCAAAAAGCCCGGAAATCAAGAACG
+ATATTCGTCTGTTCCGCCAGGAGCTGCGTGATGCCGCTTATCATTTCCAGGGCGATGCCGACAACGATCA
+GCTTTCCGTAACGCCGCTAGTGGGGCTGGGGAAATCGAGTCTGTTGAACAAGACCATTTTCCATCTTATG
+CCTTGTGCCGAGCAGAAACTAACCATCTGTACGCCATACTTCAACCTGCCAGCAATCCTTGTGCGCAATA
+TTATCCAGTTGCTGCGCGAAGGGAAAAAGGTCGAAATTATTGTTGGTGATAAAACCGCGAATGACTTCTA
+CATTCCGGAAGATGAACCTTTCAAGATAATTGGCGCATTGCCTTATCTCTATGAGATCAATCTGCGTCGT
+TTCCTGAGCCGTTTGCAGTATTACGTCAATACTGACCAGCTAGTGGTTCGGTTATGGAAAGATGACGACA
+ACACCTATCACCTGAAAGGGATGTGGGTTGATGATAAGTGGATGTTGATCACCGGTAATAACCTGAACCC
+GCGCGCCTGGCGTCTGGATCTGGAAAACGCCATTTTGATCCACGATCCACAACTGGAGCTTGCGCCGCAG
+CGAGAGAAAGAACTGGAGCTGATCCGCGAGCATACCACCATCGTTAAGCACTATCGCGATCTGCAAAGTA
+TTGCCGATTATCCGGTGAAGGTTCGTAAACTCATCCGCCGTTTGCGCCGTATCCGCATCGACCGATTAAT
+TAGCCGCATCCTGTAATCACAACCCCGTCCTGTACGGGGTTTGTTTTTTGGAGGCCACGTTTTGCGTATT
+CTTTTTGTCTGTTCGCTATTGTTACTTTCTGGATGCAGCCATATGGCTAACGATAGCTGGAGCGGGCAGG
+ATAAAGCTCAACACTTTATCGCCTCGGCGATGCTTTCCGCCGCCGGAAATGAATATTCACAGCATCAGGG
+GATGAGCCGGGATCGCAGTGCCATGTTTGGATTGATGTTCTCTGTCAGTCTGGGGGCGTCAAAAGAGCTT
+TGGGATAGCCGCCCTGAGGGGAGCGGCTGGAGCTGGAAGGATTTTGCCTGGGATATCGCCGGTGCAAGCA
+CCGGCTATACCGTCTGGCAACTGACCCGTCACTAAAGCCGCATCCCTTTTCCTTTACGGTGCAATGTTAG
+TGAAACCAGAAACGCCACCACGGCCATCAAGGTCACATACCAGAAGAAGGCTGTTTCCATTCCTATTGAT
+TTCAGCGACAACGCTACGTACTCCGCCGAACCACCAAATATAGCATTGGCGACCGCATATGACAGACCAA
+CGCCTAATGCGCGAACCTGTGCCGGGAACATCTCAGCCTTCAGTATTCCACTGATTGAAGTATAAAAACT
+CACTATCAGCAGGGCGCACATCACCAGACCAAAAGCGGCATAAGGCGAGGAAACGTTCTGCAATGCTGAG
+AGAATAGGAACGGTAAAAATGGTTGCCAGAGAACCGAAACATAACATTGAGGTACGGCGACCAATCTTAT
+CCGACAGCGCGCCAATAAGTGGTTGAATAAGCATGAATACAAACAATGCGGCAGTCATAATGCCACTCGC
+CACGTTGGCATGCATTCCCGCAGTATTTACCAGATACTTCTGCATATAAGTGGTGAAGGTATAGAAACAA
+AGGGAGGCCGCAGCGGTAAAACCGAGAACCATGATGAATGCACGGCGATTGCGCCATAATCCTTTCAGAG
+ATCCAGCTTCTTTTAAAGCGCGTGTTTCTTGTTGTGAAGTTTCATCTAACTGACGACGTAACCACAACGC
+CACAACAGCTAACACAGCCCCTAACGCGAAAGGAATACGCCATCCCCACTCTCTGAGTACAGCGTCTTCC
+ATGGTGTGTTGTAAAACCACGACAACCAGTAGAGCTAGCAGTTGCCCGCCGATCAACGTCACATACTGAA
+ATGATGCGTAAAAACCTTTGCGCCCTTCAACGGCAACTTCACTCATATAGGTGGCGCTGGTGCCATATTC
+TCCGCCAACGGATAATCCCTGGAATAAACGAGCAAGAAGCAATAATGCCGGAGCCCAGGTACCGATTGTT
+TCGTAGCCTGGCAAACAGGCGATAACCAGTGAGCCGAAACACATCATACACACCGATAATAGCATCGATT
+TTTTGCGACCATGTTTATCGGCTATGCGGCCAAATAGCCAACCGCCTATTGGGCGCATCAGAAATCCCGC
+AGCAAAAACACCTGCTGTTTGCAGTAGTTGAGTCGTCGTGTTCCCGGAAGGGAAGAAGATGTGGGCGAAG
+TAGAGTGAACAGAACGAGTAGACATAGAAATCGAACCACTCGATCAGATTACCTGAAGAGGCCCCAACAA
+TTGCCCAAATACGGCGACGAGTATCACTACTTGTCAGTTTGCTGTCTGCCGTTACAGTACTTTCAGCCAT
+GCCATTATGTCTCCTGCCGTAATCCGATGCTTTTGTCGGTCGCTTTTGTTTATTTTTTGGTAAGAAAAAT
+GTTATACATTTGTTGCATATCATTATGCAACCTTAACCATGAATTTAGTTAGCAGGAAAATGGTTATTAA
+GGAGCTTAAGGATAGATTTCTGGTAAGGAGGAAGTATGGAAGTGGGCAATTTGGGGAAGACGTATTCGCT
+GTTGAATCTGGCTTATGTGGGAGCGTAGATACTGTTACGGCCAGCAAGTTTTTTCCTGGTCCAGTCTCCC
+GGATTGCAGGCATGCCAGACACAGCGCCGTCAGGCGCTGTTGTTTCATCCCTTCCGCGATTTTTACGCAG
+CTACCGGATTATGCCGTGACGCATCGAACGGCACGCCTGACTTCAGCACTCCATACGCCACCTGTGCCAG
+CTTGCGCATTATCGAGCCGAGAATCACCTTTCCTTTCTTGCCATTAGCTGCCAACGCCCGTCCCCACTCA
+GTCTTACTGGTGGCTACCATTGCAGGCATATACAACGGCCTGCGAAGCGACACATGTCCGGCTTTACTCA
+ACCGGCTTGCCCCTCTCACACTACTGCCTGATTCATAACGCCGTGGTGTCAGACCCGCAAAAGCGGCGAA
+CTGTCTGGCATGGGCAAAACGGTCCTTCAGACCATGTAAGCCAGCAATACCGCAGATGTTTTCTCTCCGA
+TACCCGGGATGCTTTCCAGCAGTTTCCTGCGGTGTTTCATATCCGGATCATCGTCTGTCAGGTCTTTTAT
+CTGCTTCTCAAGACGCTTCAGCTCTGCTTCAAGCCACAGAAGGTGAGCATCAATGCTCGGCCTCTGGACT
+TCCCGCGCCGTTTCAGTGCGTTTCAGTTCCTGCCTGTGCATATCTGTCAGCGCCTGGTGGCGTACTACCA
+GGGCATGCAACGCGCGTTCAAGCGGGTGATGCGCTTCCCAGGCTGCAGGGCGCTTCTGACGACAGAACTC
+TGCCAGCATGCGGCATCCACGGTATCAGTCTTGTTACGCAGTCCTTCACTCTGAGCGAAAGCTTTACCCA
+GTGCAGGATTAATGACTGACACTATGTAGCCAGCATCGTAAAGGCACTCTGCGACAGGTTCCATATAGGT
+GCCGGTCGCTTCGATGCAGATATGCGCATGGTCAATCTTGTGACATTTCAGCCAACTCACCAGCTCATCG
+TGCCCTTTAGTAGTGTTAGCGAATTTTTTGGTGCGATGACGACCATCAGGACGCAACACATCGACATCCA
+GTTTCTCTTTAGCGGTGTCGATACCGATATAATGAAGTTCATGTTCCATAGTGAAACCAACCTTGCAAAT
+ACGGATTACCGGGAAAACCGGTCTATGATACTGTCCGGTTTATCACTTCGGGAGAAAGGCAGTCCGCCGC
+ATAAATCTACCATACAGGTTAGAACCCAAGGCCGGATACGGCATGCGGACTGCAGGCAGAGAAAACTGGC
+CGATTTTCTCTGCACTGGAGGGATAATACAAGGTCGGATAAGATGCGGCATGAACTGAACCCCAAAACCT
+GGACAGTTTCAGTTAACCGGCTTTTTGATACTCAGTCCGGTATTCTACCGGGCTGAGTCCCCCAAGACTG
+AGTTTTATTCTTTTTTGATTCCAGTAAGTTATGTATTCGTTAACGGCATTTTCCAGCTCTTCTACATTTC
+TGTAGTCCCGGCGATAGTACATTTCTTCTTTCAGGTGACCAAAGAAGTTCTCCATTACCGCATTATCAAG
+GCAGTTGCCCTTGCGCGACATGCTCTGCACTAACCCTCTGTCCGCCAGGGCGGACTGATAACTTTTTATC
+CGGTAATGCCATCCTTGATCACTGTGGAGCAGCGGTTTCTCCCCTTCAGCAAGGCTTTCCAGACCCTTAT
+TTAACATCCGCTTCACCAGCTCCTCTGTAGGCCTGCAGGCCGTTTCCCACGCCACGATTTCCCCGTTAAA
+CAAATCAAGTATCGGGGACAGGTACAGTTTTTGTCCGCCAGCCCTGAATTCGGTGATATCTGTCACCCAT
+TTCTCACAGGGAGCTTCCGCTTTGAACTGTCGCTGAAGGATATTTTCTGCAGCGAGTCCCATATTTCCCC
+GGTAAGACCGGTATTTCTTCAGGCGCACAGGAGACTTCAGGCCGAGCTGTTGCATCAGTTTTCTCACCGT
+TTTGCCACTGAACTTAAGACCTCTTTTCTGAAGCTCACAATGGATCCGCCGGTACCCATAACATCCCCGG
+TGTTCATGGAAGATGGAGGCTATGAGCTGTTTCACATCAGCATACTTGTCCTTAGCCTTCTGCAGTGACA
+GCTGGTAGTACAGCGTGCTTCTGGCCAGCCCTGCGGCCTTTAACAGGTCAGACTGGCAGTGTCCGTACCT
+CAGGCTCTGGATGACTTTCGTTTTTTCTCCAGCTCCTGGCGCTTTTTTTCCAGAAGATGCTCCTGCATGG
+CTTTCAGATATGCATTTTCTGCGCGAAGATAACGCAGCTCATTCTTCATCTCTTCCGGCGTCATGTTTGC
+CTCGTTTTCATGGGTATCATCAGAACGGGTCATGCTTTTCTCCTTCCTGCGCCTGATAAAGGCCTCATTA
+CCAGATTTGCGGTAGCCTTTTATCCAGTTTTTAACCGTGTTGTGGCTGGGAATGTTAAACCGGGCAGCTA
+CCCGGGGTAGAGACTCAGAATGCCCGAGAGCATAAAGAACCACGCAAAGTTTATCTTCAGGAGAATAGCT
+ACGCTTGTGTCTGCAATCCAGTGCCCGAGGACCGTGAAGAAGAAAAAGATTAATCCAGTGTGAGAGGCTG
+GTGTGAGAAAGTTGAAAGAGTTTTGCCGTAGAAATGATGCCTGCATGACCAGCCAGGTAATGATTTACAG
+CGGCAAGTTTTATTTCAAATGAATGTTTCATAAACTGCACCTTCAGATGTCAGATTATGTCCAACATTTG
+GGGTGCAGTTCAGCAGCGTCGCATCCGGCATTTATTCCGCACCAACGCAAAAAAGCCCAGTCTTCCGACT
+GGGCTCTTCGCTAAATTTGATGCCTGGCAGTTCCCTACTCTCGCATGGGGAGACCCCACACTACCATCGG
+CGCTACGGCGTTTCACTTCTGAGTTCGGCATGGGGTCAGGTGGGACCACCGCGCTAAGGCCGCCAGGCAA
+ATTCTGTTTCATTAACCCGCTTGTCGCCGGTTAATCTAATCTGTATCAGGCTGAAAATCTTCTCTCATCC
+GCCAAAACATCTTCGGCGTTGTAAGGTTAAGCCTCACGGTTCATTAGTACCGGTTAGCTCAACGCATCGC
+TGCGCTTACACACCCGGCCTATCAACGTCGTCGTCTTCAACGTTCCTTCAGGAGACTCTAAGTCTCAGGG
+AGAACTCATCTCGGGGCAAGTTTCGTGCTTAGATGCTTTCAGCACTTATCTCTTCCGCATTTAGCTACCG
+GGCAGTGCCATTGGCATGACAACCCGAACACCAGTGATGCGTCCACTCCGGTCCTCTCGTACTAGGAGCA
+GCCCCCCTCAGTTCTCCAGCGCCCACGGCAGATAGGGACCGAACTGTCTCACGACGTTCTAAACCCAGCT
+CGCGTACCACTTTAAATGGCGAACAGCCATACCCTTGGGACCTACTTCAGCCCCAGGATGTGATGAGCCG
+ACATCGAGGTGCCAAACACCGCCGTCGATATGAACTCTTGGGCGGTATCAGCCTGTTATCCCCGGAGTAC
+CTTTTATCCGTTGAGCGATGGCCCTTCCATTCAGAACCACCGGATCACTATGACCTGCTTTCGCACCTGC
+TCGCGCCGTCACGCTCGCAGTCAAGCTGGCTTATGCCATTGCACTAACCTCCTGATGTCCGACCAGGATT
+AGCCAACCTTCGTGCTCCTCCGTTACTCTTTAGGAGGAGACCGCCCCAGTCAAACTACCCACCAGACACT
+GTCCGCAACCCCGATTAGGGGCCAACGTTAGAACATCAAACATTAAAGGGTGGTATTTCAAGGTCGGCTC
+CATGCAGACTGGCGTCCACACTTCAAAGCCTCCCACCTATCCTACACATCAAGGCTCAATGTTCAGTGTC
+AAGCTATAGTAAAGGTTCACGGGGTCTTTCCGTCTTGCCGCGGGTACACTGCATCTTCACAGCGAGTTCA
+ATTTCACTGAGTCTCGGGTGGAGACAGCCTGGCCATCATTACGCCATTCGTGCAGGTCGGAACTTACCCG
+ACAAGGAATTTCGCTACCTTAGGACCGTTATAGTTACGGCCGCCGTTTACCGGGGCTTCGATCAAGAGCT
+TCGCGTTACCGCTAACCCCATCAATTAACCTTCCGGCACCGGGCAGGCGTCACACCGTATACGTCCACTT
+TCGTGTTTGCACAGTGCTGTGTTTTTAATAAACAGTTGCAGCCAGCTGGTATCTTCGACTGATTTCAGCT
+CCACGAGCAAGTCGCTTCACCTACATATCAGCGTGCCTTCTCCCGAAGTTACGGCACCATTTTGCCTAGT
+TCCTTCACCCGAGTTCTCTCAAGCGCCTTGGTATTCTCTACCTGACCACCTGTGTCGGTTTGGGGTACGA
+TTTGATGTTACCTGATGCTTAGAGGCTTTTCCTGGAAGCAGGGCATTTGTCACTTCAGCACCGTAGTGCC
+TCGTCATCACGCCTCAGCCTTGGTTTTCCGGATTTGCCTGGAAAACCAGCCTACACGCTTAAACCGGGAC
+AACCGTCGCCCGGCCAACATAGCCTTCTCCGTCCCCCCTTCGCAGTAACACCAAGTACAGGAATATTAAC
+CTGTTTCCCATCGACTACGCCTTTCGGCCTCGCCTTAGGGGTCGACTCACCCTGCCCCGATTAACGTTGG
+ACAGGAACCCTTGGTCTTCCGGCGAGCGGGCTTTTCACCCGCTTTATCGTTACTTATGTCAGCATTCGCA
+CTTCTGATACCTCCAGCAACCCTCACAGGCCACCTTCACAGGCTTACAGAACGCTCCCCTACCCAACAAC
+ACATAGTGTCGCTGCCGCAGCTTCGGTGCATGGTTTAGCCCCGTTACATCTTCCGCGCAGGCCGACTCGA
+CCAGTGAGCTATTACGCTTTCTTTAAATGATGGCTGCTTCTAAGCCAACATCCTGGCTGTCTGGGCCTTC
+CCACATCGTTTCCCACTTAACCATGACTTTGGGACCTTAGCTGGCGGTCTGGGTTGTTTCCCTCTTCACG
+ACGGACGTTAGCACCCGCCGTGTGTCTCCCGTGATAACATTCTCCGGTATTCGCAGTTTGCATCGGGTTG
+GTAAGTCGGGATGACCCCCTTGCCGAAACAGTGCTCTACCCCCGGAGATGAATTCACGAGGCGCTACCTA
+AATAGCTTTCGGGGAGAACCAGCTATCTCCCGGTTTGATTGGCCTTTCACCCCCAGCCACAAGTCATCCG
+CTAATTTTTCAACATTAGTCGGTTCGGTCCTCCAGTTAGTGTTACCCAACCTTCAACCTGCCCATGGCTA
+GATCACCGGGTTTCGGGTCTATACCCTGCAACTTAACGCCCAGTTAAGACTCGGTTTCCCTTCGGCTCCC
+CTATTCGGTTAACCTTGCTACAGAATATAAGTCGCTGACCCATTATACAAAAGGTACGCAGTCACCCCAT
+TAAGAGGCTCCCACTGCTTGTACGTACACGGTTTCAGGTTCTTTTTCACTCCCCTCGCCGGGGTTCTTTT
+CGCCTTTCCCTCACGGTACTGGTTCACTATCGGTCAGTCAGGAGTATTTAGCCTTGGAGGATGGTCCCCC
+CATATTCAGACAGGATACCACGTGTCCCGCCCTACTCATCGAGCTCACAGCATGTGCATTTTTGTGTACG
+GGGCTGTCACCCTGTATCGCGCGCCTTTCCAGACGCTTCCACTAACACACACACTGATTCAGGCTCTGGG
+CTCCTCCCCGTTCGCTCGCCGCTACTGGGGGAATCTCGGTTGATTTCTTTTCCTCGGGGTACTTAGATGT
+TTCAGTTCCCCCGGTTCGCCTCATTAACCTATGGATTCAGTTAATGATAGTGTGACGAATCACACTGGGT
+TTCCCCATTCGGAAATCGCCGGTTATAACGGTTCATATCACCTCACCGACGCTTATCGCAGATTAGCACG
+TCCTTCATCGCCTCTGACTGCCAGGGCATCCACCGTGTACGCTTAGTCGCTTAACCTCACAACCCGAAGA
+TGTTTCTTTCGATTCATCATCGTGTTACGAAAATTTGAGAGACTCACGAACAACTCTCGTTGTTCAGTGT
+TTCAATTTTCAGCTTGATCCAGATTTTTAAAGAGCAAATATCTCAAACATCACCCGAAGATGAGTTTTGA
+GATATTAAGGCAGGTGACTTTCACTCACAAACCAGCAAGTGGCGTCCCCTAGGGGATTCGAACCCCTGTT
+ACCGCCGTGAAAGGGCGGTGTCCTGGGCCTCTAGACGAAGGGGACGTATCAGTCTGCTTCGCAAGACGCC
+TTGCTTTTCACTTTTTATCAGACAATCTGTGTGAGCACTGCAAAGTACGCTTCTTTAAGGTAAGGAGGTG
+ATCCAACCGCAGGTTCCCCTACGGTTACCTTGTTACGACTTCACCCCAGTCATGAATCACAAAGTGGTAA
+GCGCCCTCCCGAAGGTTAAGCTACCTACTTCTTTTGCAACCCACTCCCATGGTGTGACGGGCGGTGTGTA
+CAAGGCCCGGGAACGTATTCACCGTGGCATTCTGATCCACGATTACTAGCGATTCCGACTTCATGGAGTC
+GAGTTGCAGACTCCAATCCGGACTACGACGCACTTTATGAGGTCCGTTTGCTCTCGCGAGGTCGCTTCTC
+TTTGTATGCGCCATTGTAGCACGTGTGTAGCCCTGGTCGTAAGGGCCATGATGACTTGACGTCATCCCCA
+CCTTCCTCCAGTTTATCACTGGCAGTCTCCTTTGAGTTCCCGGCCGGACCGCTGGCAACAAAGGATAAGG
+GTTGCGCTCGTTGCGGGACTTAACCCAACATTTCACAACACGAGCTGACGACAGCCATGCAGCACCTGTC
+TCACAGTTCCCGAAGGCACCAATCTCATCTCTGAAAACTTCCGTGGATGTCAAGACCAGGTAAGGTTCTT
+CGCGTTGCATCGAATTAAACCACATGCTCCACCGCTTGTGCGGGCCCCCGTCAATTCATTTGAGTTTTAA
+CCTTGCGGCCGTACTCCCCAGGCGGTCGACTTAACGCGTTAGCTCCGGAAGCCACGCCTCAAGGGCACAA
+CCTCCAAGTCGACATCGTTTACGGCGTGGACTACCAGGGTATCTAATCCTGTTTGCTCCCCACGCTTTCG
+CACCTGAGCGTCAGTCTTCGTCCAGGGGGCCGCCTTCGCCACCGGTATTCCTCCAGATCTCTACGCATTT
+CACCGCTACACCTGGAATTCTACCCCCCTCTACGAGACTCAAGCTTGCCAGTATCAGATGCAGTTCCCAG
+GTTGAGCCCGGGGATTTCACATCTGACTTAACAAACCGCCTGCGTGCGCTTTACGCCCAGTAATTCCGAT
+TAACGCTTGCACCCTCCGTATTACCGCGGCTGCTGGCACGGAGTTAGCCGGTGCTTCTTCTGCGGGTAAC
+GTCAATGAGCAAAGGTATTAACTTTACTCCCTTCCTCCCCGCTGAAAGTACTTTACAACCCGAAGGCCTT
+CTTCATACACGCGGCATGGCTGCATCAGGCTTGCGCCCATTGTGCAATATTCCCCACTGCTGCCTCCCGT
+AGGAGTCTGGACCGTGTCTCAGTTCCAGTGTGGCTGGTCATCCTCTCAGACCAGCTAGGGATCGTCGCCT
+AGGTGAGCCTTTACCCCACCTACTAGCTAATCCCATCTGGGCACATCCGATGGCAAGAGGCCCGAAGGTC
+CCCCTCTTTGGTCTTGCGACGTTATGCGGTATTAGCTACCGTTTCCAGTAGTTATCCCCCTCCATCGGGC
+AGTTTCCCAGACATTACTCACCCGTCCGCCACTCGTCAGCGAATCAGCAAGCTGATTCCTGTTACCGTTC
+GACTTGCATGTGTTAGGCCTGCCGCCAGCGTTCAATCTGAGCCATGATCAAACTCTTCAATTTAAAAGTT
+TGATGCTCAAAGAATTAAACTTCGCAATGAATTACGTGTTCACTCCTGAGACTTGGTATTCATTTTTCGT
+CTTGCGACGTTAAGAATCCGTATCTTCGAGTGCCCACACAGATTGTCTGATAAATTGTTAAAGAGCAGTG
+CCGCTTCGCTTTTTCTCAGCGGCGCGGGGTGTGCATGATACGCTTTCCCGCTACAGAGTCAAGCATTTAT
+TTTTGCTTTCTCTGCCGAAGTTCTCAGGAGAACCCCGCTGACCCGGCGGCGTGTTTGCCGTTGTTCCGTG
+TCAGTGGTGGCGCATTATAGGGAGTTATTCCGGCCTGACAAGCAAAAAATATAAAAACTTTATTGTTCGC
+TCATTTTTCAGGCAAAACATCTTTAATATAGTCTTTTCCGTCTAACTTATAGACAAAAACGAGCCCCGAA
+GGCTCGTTTTATCATTACTGGACGGCGACGATCCGGTCTTCATTAACTTCCAGGCGAATAACTTTACCCG
+GAACCAATTCACCAGACAGTATTTGCTGTGCCAGCGGGTTTTCGATCTGCTGCTGGATAGCACGCTTCAG
+AGGACGTGCACCATAGACCGGATCGTAACCGTTCTCGCTCAGCAGTTTCAGCGCCTCGTCAGAAATGTGG
+ATTTCATAACCACGTTCTTCCAGACGTTTGTACAGACGTTTCAACTGAATCTGCGCAATCGACGCAATGT
+GTTGTTCACCCAGCGGATGGAAGACGACGACTTCATCGATACGGTTAATGAATTCCGGACGGAAGTTATG
+GCTTACCACACCGAGCACCAGCTCTTTCATGTGCGCATAATCCAGTTCACCAAAACGTTCCTGAATCAGA
+TCGGAACCGAGGTTAGAGGTCATAATGACGACCGTATTACGGAAGTCGACCGTTCTCCCCTGCCCGTCAG
+TCAGACGCCCATCATCCAGTACCTGCAACAGAATGTTGAAGACATCCGGATGCGCTTTTTCCACTTCATC
+CAGCAGGATGACGGAATACGGACGACGACGCACCGCTTCGGTCAGATAGCCACCTTCTTCATAACCAACA
+TATCCCGGAGGCGCACCAACCAGACGAGACACCGAGTGTTTCTCCATAAACTCGGACATATCGATACGGA
+CCATCGCCTCGTCGCTATCAAACATAAAGTTCGCCAGCGCCTTACAAAGCTCTGTTTTCCCCACACCCGT
+TGGGCCGAGAAACAGGAATGAACCAATCGGGCGATTTGGATCCGCCAGCCCCGCACGGCTACGACGAATA
+GCGTTAGATACCGCATCAACCGCTTCGTTCTGACCAATAACGCGATGGTGCAGTTCTTGCTCCATACGCA
+GCAGTTTTTCGCGCTCGCTTTCCATCATGCGAGAAACAGGGATCCCCGTCCAACGCGCCAGCACTTCAGC
+AATTTCGGCATCGGTCACTTTATTACGCAACAGACGCATAGTTTTGCCTTCGAGCTGCGTTGCGGCTTCC
+AGTTGCTTTTCCAGTTCCGGGATTTTGCCGTATTGCAGTTCAGACATCCGCGCCAGGTCACCCACACGGC
+GAGCCTGTTCAATAGCAATTTTCGCCTGTTCCAGTTCCGCTTTAATGGTCTGCGTACCAGAAAGCGAGGC
+TTTCTCTGCTTTCCACTCTTCTTCTAACTCGGAGTACTGACGTTCTTTGTCGCTCAGTTCTTCGTTGAGC
+ATATCCAGGCGTTTTTTACTGGCTTCATCAGACTCTTTCATTAACGCCTGTTGTTCCAGTTTGAGCTGGA
+TGATACGACGATCGAGTCGGTCGAGTTCTTCTGGTTTTGAGTCAATCTGCATACGAATGCTGGATGCTGC
+TTCATCGATCAGGTCGATGGCTTTATCCGGCAGCTGACGGTCAGCAATGTAGCGATGAGACAACGTCGCC
+GCTGCAACAATTGCCGGGTCAGTAATTTGCACATGGTGGTGCAGCTCATAACGTTCTTTCAGGCCACGCA
+GAATAGCAATGGTATCTTCAACAGAAGGCTCGGCAACAAACACTTTCTGGAAACGACGTTCCAGCGCAGC
+ATCTTTTTCGATGTACTGGCGATATTCGTCAAGCGTCGTGGCACCTACGCAGTGCAATTCACCACGCGCC
+AGTGCAGGTTTCAGCATGTTTCCGGCGTCCATTGCGCCATCGGCTTTACCCGCGCCGACCATGGTATGTA
+ATTCGTCGATAAACAGGATGACGTTGCCTTCCTGTTTAGCAAGATCGTTAAGTACGCCTTTTAAACGTTC
+TTCAAACTCACCGCGATATTTCGCCCCAGCCACCAGCGCGCCCATATCCAGCGCCAGTACGCGGCGGCCT
+TTCAACCCTTCGGGCACTTCGCCGTTGATAATACGCTGCGCCAGACCTTCAACGATGGCAGTTTTACCGA
+CGCCGGGTTCACCAATCAATACCGGGTTATTTTTAGTACGACGTTGCAGCACCTGAATGGTACGGCGAAT
+TTCTTCATCACGACCAATCACCGGATCGAGTTTGCCTTGTTCGGCTCGTTCGGTAAGGTCGATGGTATAT
+TTTTTCAAAGCCTGACGTTGGTCTTCAGCACCTTGATCGTTCACGCTTTCACCTCCACGCATTTGTTCAA
+TCGCTTGAGTAATGTTGGCGGTGGTCGCCCCTGCTGCTTTCAGGATGTCGGCCAGCGTGCCGCGAGACTC
+AAGTGCCGCCAGAACGAATAGTTCTGACGAGATAAAGTTATCACCACGTTTTTGCGCCAGCTTGTCGCAA
+AGATTAAGAACGCGCACCAGATCCTGTGATGGCTGGACATCACCACCAGTACCTTCAACCTGCGGTAAAC
+GATTTAATGCCTGATTGATATCTGTGCGCAACTGGCCAGCATTTATGCCAGCGGATGTTAATAAAGGACT
+AACCGAACCCCCTTCCTGATTCAGCAGGGCGCTCATTAAATGAAGTGGTTCGATGAATTGGTTGTCGTGC
+CCGAGTGCAAGTGATTGGGCATCGGCAAGAGCAAGCTGGAATTTATTAGTAAGACGATCCAGACGCATAA
+CTCCTCCCATAACGGATCAAAGTTGCTACTGGAGATTAAATGAGGTCATCCCTCAATTATTCAAGGTTAT
+TGACCAGATTAATGTGAAAAGAAAATCACGCGTACCGGATCGTCTTGATTCTTTAGGTTATATCAGCCAA
+ATGAAACTTGCCATACGACCGGTGGTCTTGTCGCGACGATAAGAGAAGAAAGTCTCATTTTCCGTATATG
+TACAACGGTCGCCGCCGAAAATTTGTTCAACACCAACGCTCGCCAGACGCTGCCGGGCAAGCTGATAAAT
+ATCCGCCAGATACTTATCACCATGCTGAATGAAAGCTGTACTCGATTTGGCGTCTACTACCATAAACGCC
+TCGCGAACCTCCGCCCCCACTTCGAACGCACGTGGCCCAATTGCCGGCCCTAACCAGGCGAGAATATTTT
+CCGGATTATCAGCAAAACAGGAAACCGTCTCTTCCAACACGCCTGCGCACAGTCCACGCCAGCCAGCATG
+AGCGGCGGCGACCTCCGTTCCCGCACGATTGCAAAACAGCACAGGGAGGCAATCGGCAGTCATCACTGCG
+CAAACCGTGCCGGGCGTATTGCTATAAGAGGCATCTGCTCGTTTTGAGGCATAAGGCTCACCAGTAAGCT
+TAAGCACATCTTTGCCGTGTACCTGCTCAAGCCAGACCGGTTTAGAAGGCAAATTGCCCGCAGCAAAAAG
+TCGCTTGCGATTCTCCTCAACGTGATCCGGGTTATCACCACAATGAGCGCCAAGGTTGAGAGAGTCGTAA
+GGCGGCAAGCTCACGCCGCCGATACGGGTAGAGCTACAGGCCGCAACACCTTTTGGCAGCGGCCACTGCG
+GGACAATCAGCTTACTCATAACCAGTCCACTTCATCCTTATGCTCTTCGAAATCGGCGCGCATCACCTCA
+ATCAGCTCCACCATATCTTGTGGAATAGGCGCATGCCATTCCATTTCGATACCGGAGATCGGGTGATAAA
+GACGCAGCATGGTTGCATGAAGCGCCTGGCGGTCAAACTTACGCAGCGTGGAGATAAACGCTTCCGAAGC
+ACCTTTTGGCGGACGCGGACGGCCACCATAAACCGGATCGCCCACCAGCGGATGAGTGATATGGGCCATA
+TGCACGCGGATCTGGTGCGTACGTCCAGTTTCCAGACGCAACCGCAGACGCGTGTGCACACGGAAGTGTT
+CCATGATGCGATAGTGAGTGACCGCCGGTTTACCCATCGGATGCACCGCCATGTGAGTACGTTTGGTCGG
+GTGGCGGCTGATTGGTTCATCTACTGTACCGCCAGCGGTCATATGACCAATTGCCACCGCTTCATACTCA
+CGAGTAATTTCACGCCGTTGCAAAGATTCGACTAAACGCGTCTGAGCCGGAACGGTTTTTGCCACAACCA
+TCAGGCCGGTGGTGTCTTTATCCAGACGATGGACGATGCCCGCACGCGGTACATCGGCAATGGGCGGATA
+GTAATGAAGCAACGCATTCAGTACCGTACCATCCGGGTTACCCGCGCCAGGATGTACCACCAGGTCGCGC
+GGTTTATTAATGACGATGATATCTTCATCTTCATAGACGATATCCAGCGGGATATCCTGCGGTTCAAAAC
+GCGCTTCTTCTTCAATCTCAGCGTTGATGGCAACCTGCTCGCCACCCAATACTTTTTCTTTTGGCTTATC
+ACACACTTTGCCGTTAACCAGCACACGCTGGTCGAGGATCCATTCTTTTATCCGCGAACGTGAATAATCC
+GGGAACATTTCGGCCAAAGCCTGATCTAAGCGTTGACCGAGTTGGTTTTCGGACACCGTTGCAGTGAGCT
+GTACTCGTTGTGCCATATATACTGCTTCTTCGTTTATCGTTGGGGTTTTACGGCTTTGCCGTTTAATATA
+GTGTGCTATTGTAGCTGGTCTTAACCGGGAGCAGGAACAGAGAATCTCCCGTATTACATTTTGAGGAAAG
+TCAAAACGTCATGACGCGCATGAAATATCTGGTGGCAGCCGCCACACTAAGCCTGTTTTTGGCGGGTTGC
+TCGGGGTCAAAGGAAGAAGTACCTGATAATCCGCCAAATGAAATTTACGCGACTGCACAACAAAAGCTGC
+AGGACGGTAACTGGAGACAGGCAATAACGCAACTGGAAGCGTTAGATAATCGCTATCCGTTTGGTCCGTA
+TTCGCAGCAGGTGCAGCTGGATCTCATCTACGCCTACTATAAAAACGCCGATTTGCCGTTAGCACAGGCT
+GCCATCGATCGTTTTATTCGCCTTAACCCGACCCATCCGAATATCGATTATGTCATGTACATGCGTGGCC
+TGACCAATATGGCGCTGGATGACAGTGCGCTGCAAAGGTTCTTTGGCGTTGACCGTAGCGATCGCGATCC
+TCAACATGCACGAGCTGCGTTTAGTGACTTTTCCAAACTGGTGCGCGGCTATCCGAACAGTCAGTACACC
+ACCGATGCCACCAAACGTCTGGTATTCCTGAAAGATCGTCTGGCGAAATATGAATACTCCGTGGCCGAGT
+ATTATACAGAACGTGGTGCATGGGTTGCTGTCGTTAACCGCGTAGAAGGCATGTTGCGCGACTATCCGGA
+TACCCAGGCTACGCGTGATGCGCTGCCGCTGATGGAAAATGCATACCGTCAGATGCAGATGAATGCGCAA
+GCTGAAAAAGTAGCGAAAATCATCGCCGCAAACAGCAGCAATACATAACAGAAACCTGAAACACAAAACG
+GCAGCCTTGAGCTGCCGTTTTTTTATTCTGTTAGTTGTGAAACTGAAGCGATTTAGTCACTATCGATCTC
+ATCAAATATGGCTCGCTTTGAGATATTCCTCAAGTAAAAAAACACCTCTTCCTGCGATTTCTCACAAAAA
+AGATTCGTTGACAAAAAGTGACAAAATTATGAGATTTCCATCACACATTTTGACATCAGGAACGTTATGC
+TGAATTCACCAAGACGGGAAGACAAGAGGTAAAATTTATGACAATGAACATTACCAGCAAACAAATGGAA
+ATTACTCCGGCCATCCGCCAACATGTCGCAGACCGTCTCGCCAAACTGGAAAAATGGCAAACACATCTGA
+TTAATCCACATATCATTCTGTCCAAAGAGCCACAAGGGTTTGTTGCTGACGCCACAATCAATACACCTAA
+CGGCGTTCTGGTTGCCAGTGGTAAACATGAAGATATGTACACCGCAATTAACGAATTGATCAACAAGCTG
+GAACGGCAGCTCAATAAACTGCAGCACAAAGGCGAAGCACGTCGTGCCGCAACATCGGTGAAAGACGCCA
+ACTTCGTCGAAGAAGTTGAAGAAGAGTAGTCCTTTATATTGAGTGTATCGCCAACGCGCCTTCGGGCGCG
+TTTTTTGTTGACAGCGTGAAAACAGTACGGGTACTGTACTAAAGTCACTTAAGGAAACAAACATGAAACA
+CACACCGTTTTTCTTCGCATTCTTTTTTACCTTCCCCTGAATGGGAGGCGTTTCGTCGTGTGAAACAGAA
+TGCGAAGACGAACAATAAGGCCTCCCAAATCGGGGGGCCTTTTTTATTGATAACAAAAAGGCAACACTAT
+GACATCGGAAAACCCGTTACTGGCGCTGCGAGAGAAAATCAGCGCGCTGGATGAAAAATTATTAGCATTA
+CTGGCAGAGCGACGCGAACTGGCCGTCGAGGTGGGAAAAGCCAAACTGCTCTCGCATCGCCCGGTACGTG
+ATATTGATCGTGAACGCGATTTGCTGGAAAGATTAATTACGCTCGGTAAAGCGCACCATCTGGACGCCCA
+TTACATTACTCGCCTGTTCCAGCTCATCATTGAAGATTCCGTATTAACTCAGCAGGCTTTGCTCCAGCAA
+CATCTCAATAAAATTAATCCGCACTCAGCACGCATCGCTTTTCTCGGCCCCAAAGGTTCTTATTCCCATC
+TTGCGGCGCGCCAGTATGCTGCTCGTCACTTTGAGCAATTCATTGAAAGTGGCTGCGCCAAATTTGCCGA
+TATTTTTAATCAGGTGGAAACCGGCCAGGCCGACTATGCCGTCGTACCGATTGAAAATACCAGCTCCGGT
+GCCATAAACGACGTTTACGATCTGCTGCAACATACCAGTTTGTCGATTGTTGGCGAGATGACGTTAACTA
+TCGATCATTGTTTGTTGGTCTCCGGCACTACTGATTTATCCGCCATCAATACGGTCTACAGCCATCCGCA
+GCCATTCCAGCAATGCAGCAAATTCCTTAATCGTTATCCGCACTGGAAGATTGAATATACCGAAAGTACG
+TCTGCGGCAATGGAAAAGGTTGCACAGGCAAAATCACCGCATGTTGCTGCGTTGGGAAGCGAAGCTGGCG
+GCACTTTGTACGGTTTGCAGGTACTGGAGCGTATTGAAGCGAATCAGCGACAAAACTTCACCCGATTTGT
+GGTGTTGGCACGTAAAGCCATTAACGTTTCTGACCAGGTTCCGGCGAAAACGACGTTGTTAATGGCGACC
+GGACAACAAGCTGGTGCACTGGTTGAAGCGTTGCTGGTACTGCGCAATCACAGTCTGATTATGACCCGTC
+TGGAATCACGTCCGATTCACGGTAATCCGTGGGAAGAGATGTTTTATCTGGATATTCAGGCCAATCTTGA
+ATCAGCGGAAATGCAAAAAGCATTGAAAGAGTTAGGGGAAATCACCCGTTCGATGAAGGTATTGGGCTGT
+TACCCAAGTGAGAACGTAGTGCCTGTTGATCCAACCTGATGAAAAAGTGCCGGATGATGTGAATCATCCG
+GCACTGGATTATTACTGGCGATTGTCATTCGCCTGACGCAATAACACGCGGCTTTCACTCTGAAAACGCT
+GTGCGTAATCGCCGAACCAGTGCTCCACCTTGCGGAAACTGTCAATAAACGCCTGCTTATCGCCCTGCTC
+CAGCAGCTCAATCGCCTCGCCGAAACGCTTATAGTAACGTTTGATTAACGCCAGATTACGCTCTGACGAC
+ATAATAATGTCGGCATAAAGCTGCGGATCCTGAGCAAACAGTCGCCCGACCATCGCCAGCTCAAGGCGGT
+AAATCGGCGAAGAGAGCGCCAGTAGTTGCTCAAGCTGAACATTTTCTTCTGCCAGGTGCAGCCCATAAGC
+AAAAGTAGCAAAGTGGCGCAGAGCCTGAATAAACGCCATATTCTGATCGTGCTCGACAGCGCTAATACGA
+TGCAACCGAGCGCCCCAGACCTGAATTTGCTCCAGAAACCATTGGTATGCTTCCGGCTTACGTCCATCAC
+ACCAGACCACAACTTGCTTTGCCAGGCTACCGCTGTCCGGGCCGAACATCGGGTGTAACCCCAGCACCGG
+GCCATCGTGCGCCGCCAGCATGGCCTGTAATGGTCCATTTTTCACCGATGCCAGATCAACCAGAATACAA
+TCTTTCGGTAAAGGCGGTAATTTGCCGATAACTTGCTCAGTAACGTGGATGGGCACACTAACAATCACCA
+TTCCGGCATCGGAAACAATATCAGCCGCTCGATCCCAGTCATGTTGCTCCAGAATCCGCACCTGATAACC
+CGAGAGTGTCAGCATATTCTCGAACAGACGTCCCATCTGACCGCCACCACCGACGATAACCACCGGGCGC
+AGTGACGGACAAAGCGTTTTAAATCCTTTGTCGTTTTCACTGGAGTAAGATTCACGCATCACCCGACGCA
+AAACATCCTCAATCAGATCTGGCGGTACACCCAGAGCTTCCGCCTCTGCACGACGCGAGGCCAACATAGA
+TGCCTCGCGCTCCGGAACATAAATAGGTAGTCCAAAGCGGCTTTTCACCTCGCCCACTTCAGCAACCAGT
+TCCAGACGCTTCGCTAATAAATTCAGCAGCGCTTTATCGACTTCATCAATTTGATCGCGTAATGCGGTCA
+ATTCAGCAACCATAATAAACCTCTTAAGCCACGCGAGCCGTCAGCTGCCCGTTCAGATCCTGATGAATTT
+CACGCAGCAAGGCATCGGTCATTTCCCAGCTAATGCAGGCATCGGTTACGGATACACCGTATTTCATTTC
+ACTGCGCGGTTGCTCGGAAGACTGATTGCCCTCGTGGATATTACTTTCGATCATCAGACCAATAATTGAG
+CGATTGCCATCTTTGATTTGAGCAACCACGGATTCTGCCACCGCAGGCTGACGGCGATAATCTTTATTGG
+AATTACCGTGGCTGCAATCTACCATCAGAGACGGGCGCAGTCCCGCCTGTTCCATCTCTTTTTCACATTG
+CGCAACATCCGCAGGGCTATAGTTTGGCGCTTTACCACCGCGCAGGATCACATGCCCGTCCGGATTCCCC
+TGAGTTTGTAGCAACGCAACCTGCCCTGCCTGGTTAATGCCAACAAAACGGTGCGGCTGGGCGGCGGCAC
+GCATAGCGTTAATTGCCGTTGCCAGACTGCCATCGGTGCCGTTTTTAAAACCAACCGGCATGGAAAGCCC
+GGAGGCCATTTCACGGTGAGTTTGCGATTCCGTTGTACGAGCACCAATTGCTGACCAGCTAAACAGATCG
+CCCAGGTATTGCGGGCTATTCGGATCTAACGCTTCCGTCGCCAGTGGCAGTCCCATATTCACCAGCTCAA
+GCAGCAATTTACGCGCGATCTGCAGCCCGGCTTCTACATCAAAAGAGCCATCCATATGGGGATCGTTAAT
+TAACCCTTTCCAGCCGACAGTGGTACGGGGTTTTTCAAAATAGACGCGCATTACCAGATAGAGGCTATCG
+CTGACCTCTGCGGCAAGGGCTTTAAATCGACGAGCATATTCCAGAGCAGTTTCCGGATCATGAATGGAAC
+AAGGACCACATACTACCAGCAGACGAGGATCGCGCCCGGCGATAATATCTGAAATGGTTTTACGCGAGTC
+AGCAATCTGGGCTTCTTGTTGCAAGCTTAATGGAAAAGCGGCCTTCAGTTGTTCCGGAGTCATTAAAACC
+TGTTCGTCGGTAATATGTACGTTATTCAGCGCGTCTTTCTGCATGATGGCGATCCTGTTTATGCTCGTTT
+GCGATAGTTGATCCTCAGCGAGGATGACGTAACGATAACACATAAAGTAAAGTTTTCAATCCATATTTCG
+TACATATTTCTTTACATAAGCAATTTATTCGCGCTTTTTCCCCTTATTTCTGTATAAATAAATTTACACC
+AGCTTTAAAAACAATCCGCTATGCTTTGAAAAAGGAGAAAGAAATGATGAAAAAATTTATCGCCCCCTTG
+TTGGCTTTACTGGTTAGCGGATGTCAGATTGATCCTTATACTCACGCGCCAACCTTGACCAGCACCGACT
+GGTATGATGTTGGTATGGAAGATGCGATATCGGGCAGCGCCATTAAAGATGACGATGCATTTAGCGATTC
+ACAGGCGGATCGCGGTCTATACCTTAAAGGATATGCCGAAGGGCAAAAGAAAACTTGCCAGACCGATTTT
+ACTTATGCCCGGGGACTTTCTGGTAAAAGCTTTCCTGCCAGCTGCAATAATGTTGAAAATACAAGCCAAC
+TGCATGAAGTATGGCGAAAAGGGGCTGATGAAAATGCCAGCACAATACGATTAAATTAATTACCCCCCCA
+AAATCAATTAAGCATGAGATTTTACTCATTATGTTTTATTTCTCACATTGATGACGACCGCATGAAAGGA
+TGATATTTTAATGAGCATTCTGAAAAAATATCGATGCATTTCGAGCGAAGATGGTGAGGATCCCTGAATG
+CGTTTTTCTCACCGACTGTTCTTACTGCTGATTCTCCTGCTGACGGGAGCACCAATACTCGCTCAGGAAC
+CTTCTGACGTTGCGAAAAACGTGCGTATGATGGTTTCCGGTATTGTCAGTTACACCCGCTGGCCTGGGCT
+ATCAGGGCCACCAAAGTTATGTATCTTTTCATCTTCACGTTTTAGTACCGCCTTACAAGAAAATGCTGCT
+ACATCTTTACCTTATCTGCCTGTCATCATTCATACTCAACAAGAGGCGATAATTTCAGGCTGCAATGGTT
+TTTATTTTGGCAACGAGTCACCGACATTCCAGATGGAATTAACCGAACAATATCCGTCAAAGGCGTTATT
+ATTAATTGCCGAACAAAATACCGAGTGCATTATTGGTAGCGCCTTTTGTCTGATCATCCACAATAATGAC
+GTCAGATTTGCCGTAAACCTGGATGCCTTATCGCGTAGCGGTGTAAAGGTCAACCCGGATGTCTTAATGC
+TCGCACGGAAGAAAAATGATGGATAACGATAATTCTCTTCATAAGCGCCCCACGTTTAAAAGAGCATTAC
+GCAACATCAGCATGACCAGCATATTTATCACTATGACGCTGATCTGGCTGCTGCTTTCCGTGACGTCAGT
+GCTAACCCTGAAACAATACGCGCAAAAAAACCTGGCACTGACAGCAGCAACAATGACTTACAGCCTGGAA
+GCAGCTGTCGTTTTTGCCGATGGCCCTGCAGCAACTGAAACACTGGCAGCGCTGGGCCAGCAAGGCCAAT
+TTTCAACTGCAGAAGTGCGTGATAAGCAGCAAAATATTCTGGCATCCTGGCATTACACCCATAAGGAACC
+AGGCGATACTTTCAGCAATTTCATAAGCCACTGGCTCTTCCCTGCCCCCATCATTCAGCCGATTCGCCAC
+AATGGTGAAACCATTGGCGAAGTACGCTTAACTGCTCGCGACAGTTCAATCAGCCATTTTATCTGGTTTT
+CGCTCGCTGTCCTGACCGGTTGTATTCTGCTGGCATCAGGCATCGCAATTACCCTCACCCGCCATTTGCA
+CAATGGCCTGGTGGAAGCGCTGAAAAATATCACCGATGTCGTACATGATGTGCGTTCTAACCGCAATTTT
+TCCCGACGAGTTTCGGAAGAACGTATCGCTGAGTTTCACCGCTTCGCTCTCGACTTCAACAGTCTGCTGG
+ATGAAATGGAAGAGTGGCAGCTTCGTTTACAGGCCAAAAATGCGCAGCTTCTACGTACCGCGCTACATGA
+CCCATTAACCGGGCTGGCTAACCGCGCAGCGTTTCGTAGCGGCATCAACACGTTGATGAACAATTCCGAT
+GCCCGAAAAACGTCGGCGTTACTATTTCTTGATGGCGATAATTTCAAATATATCAATGATACCTGGGGTC
+ATGCGACGGGCGATAGAGTCTTGATTGAAATAGCAAAACGGTTAGCTGAATTTGGCGGGCTGCGACATAA
+AGCATACCGCCTGGGCGGCGATGAATTCGCTATGGTGCTCTATGATGTACAGTCGGAATCTGAAGTGCAG
+CAGATATGCTCAGCACTGACACAAATTTTTAATCTCCCGTTTGATCTTCATAATGGCCATCAGACTACCA
+TGACATTAAGCATTGGTTACGCGATGACTATTGAGCACGCCTCTGCGGAAAATTTACAAGAGCTTGCCGA
+TCACAATATGTATCAGGCCAAACACCAGCGTGCCGAAAAGCTGGTGAGATAACAAGGATATATCGATATG
+ATAAAGCACCTGCTAGCACCCCTGATTTTCACCTCGCTAATACTTACTGGCTGCCAGTCCCCTCAGGGAA
+AGTTTACTCCTGAGCAAGTCGCCGCTATGCAATCTTATGGATTTACTGAATCCGCCGGCGACTGGTCGCT
+GGGCTTATCAGATGCCATTCTGTTTGCAAAAAATGACTACAAATTGCTCCCGGAAAGCCAGCAACAGATC
+CAAACCATGGCAGCCAAATTGGCCTCGACAGGGCTAACACATGCCCGTATGGATGGACACACCGACAACT
+ATGGTGAAGACAGTTACAACGAAGTCTTATCATTGAAACGGGCGAATGTCGTGGCCGATGCATGGGCTAT
+GGGTGGACAAATTCCGCGCAGCAATCTCACCACTCAGGGTTTAGGAAAAAAATATCCCATAGCCAGTAAC
+AAGACCGCCCAGGGCCGCGCCGAGAACCGCCGCGTCGCAGTGGTGATTACAACCCCTTAAAACACGAGCA
+AACAGACAAAAAAAGGGCCAGCCAATTGGCCAGCCCTTCTTAACAGGATGTCGCTTAAGCGAAATCTTAG
+TTAAGACGCTCTTTGATACGAGCAGCCTTACCAGTACGCTCACGCAGGTAGTACAGTTTAGCTTTACGAA
+CAGCACCACGACGTTTGACAGAAATGCTGTCAACTACCGGAGAGTGAGTCTGGAAGACACGCTCAACGCC
+TTCGCCGTTGGAAATTTTACGAACAGTGAATGCAGAGTGCAGACCGCGGTTACGAATAGCGATAACCACG
+CCCTCGAATGCCTGCAGACGTTTTTTGGAACCTTCAACAACCCATACTTTCACTTCCACGGTATCACCCG
+GACGGAAGGAAGGTACGTCCTGCTTCATCTGCTCTTGTTCAAGTTGCTTAATAATGTTGCTCATAATTTA
+ATCTCTTATCCTGGGTAAACTGATATCTCGGGGGCTTACGCCATCCCATCATGTTTATGTTGCTGTTGTG
+CGTGTTCCGTTTTGAACTCCGCCAGCAACCTTGCTTGCTCTTCAGTCAGAGCCAGGTTTTCCAGAAGTTC
+AGGTCTTCTAAGCCAGGTACGGCCCAGCGACTGTTTCAAACGCCAGCGACGTATCTCGGCATGGTTGCCC
+GACAGTAACACTGGCGGAACTTCCATCCCTTCTAACACCTCAGGCCGCGTATAGTGCGGGCAATCCAGCA
+ATCCTTCAGCAAAGGAATCTTCCGTTGCCGAGGCTTCATGTCCCAGTACTCCCGGAATAAACCGGGAAAC
+GGAGTCAATCAGCGTCATTGCTGGTAACTCACCACCACTGAGAACGTAATCGCCGATTGACCATTCTTCG
+TCAATTTCGGTTTGGATCACGCGCTCATCTATACCTTCGTAGCGACCACACACCAGAATCAATTTTTGAT
+TCGTTGCCAGTTCGCTGACGCCCGCTTGATCAAGCTTGCGTCCCTGTGGTGACAGATAAATCACCTTTGC
+GCCTTCACCCGCCGCGGCTTTTGCTGCATGAATGGCGTCCCGCAAGGGTTGCACCATCATTAACATCCCC
+GGTCCGCCGCCGTAAGGACGATCGTCCACGGTACGGTGCCGGTCATGCGTGAAGTCGCGAGGACTCCAGC
+TCTGGATGCTCAGCAGGCCATTTTTAACTGCCCGGCCAGTTACCCCGTAATCGGTAATTGCGCGGAACAT
+TTCAGGAAACAGGCTAATTATGCCAATCCACATAGCGCCGTCTTTTACCGTTTATCCGGTGGTTTAAAAA
+CCAGGATCCCAATCTACTTCGATTGAACGTGTAGTGAGATCGACTTTCTTGATAACCTGCCCATCGAGGA
+ACGGTACGAGACGTTCCTTGATACCAAACGCATCTTTCAGGTTTGCCTTAATGACGAGAACGTCATTAGA
+TCCGGTTTCCATCATATCTACGACTTTACCGAGATCGTAGCCTTCAGTGGTTACTACCTGGCAGCCCATC
+AGGTCTTTCCAGTAGTAGTCCCCCTCTTCAAGCTGAGGCAACTGCGATGAATCCACGACAATTTCACAAT
+TCGTCAGCAGGTTCGCCGCATCACGATCGTCAACGCCTTTCAGCTTGATGATCATGTCCTGATTGTGGTG
+CTTCCAGCTTTCCAGCTGGACTTGCTGCCACTGACCCGCCTTCTGGATAAACCAGGGCTGATAGTCAAAA
+ATGCTTTCGGCGTCTTCGGTGGAAGAAAACACTCTGAGCCACCCACGAATACCGTAAGACGACCCCATTT
+TTCCCAAAACGATGGGATCAACAGGTGCTTGCGCGGTGAGTTGTTTGCTCATCATGACCACCGTGACAGA
+TTAAGCTGCTTTGTTTACTTCTTTGATCAGCGCAGCAACGCGATCAGAAATAGTTGCGCCCTGGCCAACC
+CAGTGAGCGATGCGATCCAGATCCAGGCGAGTGCCTTCTTCTTTTTCGCTAGCGATTGGGTTGAAGAAAC
+CAACGCGCTCGATGAAGCGACCGTTGCGTGCATTACGGCTGTCAGCGACAACAACCTGGTAGAACGGACG
+CTTTTTAGCGCCGTGACGTGCTAAACGAATAGTTACCATAACATCCTCTTGTGTGAATAAAACAACCGGA
+CCCCATCGAGGAACGGAGTCCGGTGTCATATTAAAAGCCCGAAAATTTTACTGATTTCTGGAGAAAATGC
+AATCAGCAGTTAATAACTCTATCGCATAAGGTCATTTAGCGACCAGGAAATCCCGGCGGCATCATCCCTT
+TCATGCTTCTCATCATCTTCGCCATCCCGCCCTTTTTCATTTTCTTCATCATGCGCTGCATGTCGTCGAA
+CTGTTTCAGAAGACGGTTAACGTCCTGCACCTGCATACCGCAACCGGCAGCGATACGACGCTTACGCGAA
+CCTTTGATGATTTCTGGCTTAGCGCGCTCTTTCATCGTCATCGAGTTGATGATGGCTTCCATACGCACCA
+GCACTTTATCGTCCATCTGTGACTTGACGTTATCCGGGATCTGCCCCATGCCCGGCAGCTTGCCCATCAG
+GCTAGCCATGCCGCCCATATTTTTCATCTGGCGCAGCTGCTCAAGAAAGTCGTTGAGATCGAAGCCGTCG
+CCTTTTTTCAGCTTGCTGGCTAATTTCTCTGCCTGCGCGCGGTCAACCTTGCTTTCGATATCTTCGATCA
+GTGACAGTACGTCGCCCATGCCGAGAATACGGGAGGCAATACGGTCCGGATGGAATGGCTCCAGCGCCTC
+GGTTTTCTCGCCAACACCGAGGAACTTGATCGGTTTGCCAGTGATGTGACGAATAGAGAGCGCCGCACCG
+CCGCGGGCATCGCCGTCCACTTTGGTCAACACTACACCGGTAAGCGGTAACGCTTCATTGAATGCTTTTG
+CCGTATTGGCCGCATCCTGACCGGTCATGGCATCGACCACAAACAGGGTTTCAACCGGATTAATCGACGC
+ATGGACTTGTTTGATCTCGTCCATCATCGCTTCGTCAACGTGCAGACGACCGGCAGTATCCACCAGCAGC
+ACGTCGTAGAATTTCAGTTTGGCTTCTTTCAGCGCCGCGTTAACGATATCTACCGGCTTCTGACCAACAT
+CAGAAGGGAAGAAATCAACGCCCACCTGCTCTGCCAGCGTCTCAAGCTGTTTGATTGCCGCCGGGCGATA
+GACGTCGGCAGAAACCACCAGCACTTTCTTCTTGTGCTTCTCGCGCAGGAACTTACCGAGTTTACCAACG
+CTGGTTGTTTTACCGGCACCTTGCAGGCCCGCCATCAGCACGACCGCAGGCGGTTGCGCAGCCAGGTTCA
+GGGTCTGGTTCTCTTCGCCCATCGCCGCAACCAGTTCGTTACGGACAATTTTGACGAACTCCTGCCCCGG
+CGTCAGGCTCTTATTAACTTCATGACCAACCGCTTTCTCTTTTACGCGATTGATAAACTCACGCACTACC
+GGCAGAGCGACGTCCGCCTCCAGCAGCGCCATGCGCACTTCGCGCAGCGTATCTTTTACGTTGTCTTCAG
+TGAGGCGTCCACGGCCACTGATATTGCGCAGCGTGCGCGACAAACGATCGGTTAAATTATCAAACATTGT
+CTCTCGCCTGGGGTGGAAACGGTTGGCCGCAATCGCGACACATCATCAGTATTTTGCCGCAGTATAACAT
+GAAGGCGTCTTTGTTGTTATGCAACGGTTGGAGCAGCGTTCACCTGACGCTATACTGCTTCTCTTTCTTA
+TTGCTCAAACTGTCGACATTACTATGCCCGTTTTTGCTCTGCTCGCGCTTGTCGCCTACTCCGTCAGTCT
+TGCGCTGATTGTTCCCGGTCTGCTGCAAAAAAACGGCGGCTGGCGGCGCATGGCTATTATTTCTGCGGTC
+ATCGCGCTGGTCTGCCACGCAATCGCTCTGGAAGCCCGCATCCTGCCCGACGGTGATAGCGGACAAAACC
+TCAGCCTGCTGAACGTTGGTTCATTGGTCAGTTTGATGATCTGTACGGTAATGACCATTGTGGCTTCTCG
+CAATCGTGGCTGGTTGTTGCTACCCATTGTCTATGCCTTTGCGCTTATCAACCTGGCGCTGGCGACCTTC
+ATGCCCAATGAATACATCACCCATCTGGAAGCAACGCCGGGGATGCTGGTGCACATTGGCTTATCGCTTT
+TTTCCTATGCCACGCTAATTATCGCTGCCCTGTACGCGCTGCAACTGGCGTGGATTGATTACCAACTGAA
+GAACAAGAAGCTGGCGTTTAACCAGGAAATGCCTCCATTGATGAGTATCGAGCGTAAAATGTTCCATATC
+ACGCAGATTGGCGTGGTGCTGCTAACGCTCACTCTTTGCACTGGCCTGTTCTACATGCACAACTTATTTA
+GCATGGAAAATATCGACAAGGCCGTGCTCTCTATCGTGGCGTGGTTTGTCTATATTGTGCTGCTGTGGGG
+ACATTATCATGAAGGATGGCGTGGACGCCGCGTCGTCTGGTTTAACGTTGCGGGTGCAGTCATTCTGACA
+CTGGCCTACTTCGGCAGCCGAATTGTCCAGCAGTTAATCAGCTAACCCCAGAAAAGGAGTTTCCCCTGGA
+ACACATTTCTACTACTACGTTGATCATTATTCTGATCATCATGGTGGTCATTTCAGCCTATTTTTCCGGT
+TCAGAAACTGGAATGATGACACTCAACCGCTATCGCCTGAGACACATGGCGAAGCAAGGTAATCGCTCGG
+CAAAACGCGTCGAAAAATTACTGCGCAAGCCAGACCGCCTGATAAGCCTGGTGTTAATCGGCAATAATCT
+GGTCAATATCCTTGCTTCCGCACTCGGCACTATTGTCGGGATGCGCTTGTATGGCGATGCTGGCGTGGCA
+ATTGCGACTGGCGTGCTGACCTTCGTAGTGCTGGTTTTTGCTGAAGTATTGCCGAAAACCATTGCCGCAC
+TGTACCCGGAAAAAGTCGCCTATCCGAGTAGTTTTCTACTGGCGCCGCTACAAGTCCTGATGATGCCGCT
+AGTCTGGTTACTAAATGCCATCACCCGAATTTTGATGCGTATGATGGGTATTAAAACCGATATCGTAGTC
+AGCGGCTCTTTGAGTAAAGAAGAGTTGCGCACCATCGTGCACGAATCACGCTCACAAATTTCCCGTCGCA
+ATCAGGATATGCTGCTGTCGGTGCTCGATCTGGAAAAGATGACCGTCGATGACATCATGGTGCCGCGCAG
+TGAAATTATCGGTATTGATATCAACGATGACTGGAAATCGATTCTGCGCCAACTCTCCCACTCACCTCAC
+GGGCGCATCGTGCTCTACCGTGATTCGCTGGACGACGCCATCAGTATGCTGCGTGTGCGTGAAGCCTGGC
+GACTCATGTCGGAGAAAAAAGAGTTCACCAAAGAAACCATGCTACGCGCCGCGGACGAGATCTATTTTGT
+CCCGGAGGGTACGCCGCTCAGCACACAGTTGGTGAAGTTTCAGCGCAACAAAAAGAAAGTCGGACTGGTC
+GTCAACGAGTATGGAGACATTCAGGGACTGGTGACGGTCGAAGATATTCTCGAAGAGATTGTCGGCGATT
+TCACCACGTCGATGTCGCCAACACTTGCCGAAGAGGTCACGCCGCAAAACGACGGTTCGGTGATTATTGA
+TGGCACTGCCAACGTGCGAGAAATTAACAAAGCCTTTAACTGGCATCTACCGGAAGATGATGCTCGTACT
+GTTAACGGCGTCATTCTGGAAGCGCTGGAGGAGATCCCGGTAGCAGGCACCCGCGTGCGTATAGGCGAGT
+ACGATATCGATATTCTCGACGTACAGGACAATATGATTAAGCAGGTAAAAGTTTTTCCTGTAAAACCGCT
+GCGCGAGAGTGTGGCGGAGTAACGAAAACGGCCCGGCATTCGCATGCTGGGCCGTGATTTATTACGAAAG
+CAGAAATTAAGCTTTTGCTTTCGCTACAGTCACCATCGCCGCACGAATCGTACGACCGTTCAGCGTATAA
+CCTTTCTGCATAATGCCCAGTACGTTACCTGGCGCAACGTCATCAGATTCCACCATTGCGATGGCCTGAT
+GCACATTTGGGTCCAGTGGGACGTTGGTTTCGGCGATCACTTCAACGCCAAACTTACGCACAACATCCAG
+CATCGACTTCAGCGTCAGCTCAATACCTTCAACCATCGCGGACATATCCGGGTTAGCTTTATCAGCCACT
+TCCAGCGCACGATCCAGGCTATCAATCACCGGCAGCAATTCGTTGATGAATTTCTCCAGCGCGAATTTGT
+GGGCTTTTTCGATATCCAGTTCAGTACGACGACGCAGGTTTTCCATTTCGGCTTTTACGCGCAAAATGCC
+GTCACGTTCACGGGTCTGGGCTTCAGCCAGCTGAGCTTCGAGATTCGCAATTTTTTCATCGCGCGGATCC
+ACCTGCTCAGCAGAAGCTTCTGGCTCAACTGCCTCAATCTCTTCGTGCTGATCCATGATAATTTCTTCCG
+GGGCTTGCCCCTCAGGCGTTTTCTGTTCTTTACTACTCATGAATTTCTCCGCGTTTTTTTCGCATTCATC
+TCGCTAACTTCGCTTATTATGGGGATCAGTTTCAGGGTTTCAAGGGAAGCACTCACATTGTCATCAATCT
+TCGCAACAAGGACCTCGGAAAAATGAATAATCATTTCAAGTGTATTGGCATTGTGGGACACCCACGGCAC
+CCCACTGCACTGACAACACATGAAATGCTCTACCGCTGGCTGTGCACAAAAGGTTACGAGGTCATCGTTG
+AGCAACAAATCGCTCACGAACTGCAACTGAAGAATGTGAAAACTGGCACGCTCGCGGAGATTGGGCAACA
+GGCTGATCTCGCGGTTGTCGTTGGCGGCGACGGTAATATGCTGGGCGCGGCGCGCACGCTCGCCCGCTAC
+GATATTAAAGTTATTGGAATCAACCGTGGCAACCTGGGTTTCCTGACTGACCTTGATCCCGATAACGCCC
+AGCAACAATTAGCCGATGTGCTGGAAGGCCACTACATCAGCGAGAAACGTTTTTTGCTGGAAGCGCAAGT
+CTGTCAGCAAGATTGCCAGAAACGCATCAGCACGGCGATTAACGAAGTGGTACTTCATCCTGGCAAAGTA
+GCGCATATGATTGAGTTCGAAGTGTATATCGACGAGATCTTTGCGTTTTCGCAGCGTTCCGATGGACTGA
+TTATTTCGACGCCAACAGGCTCCACCGCATATTCCCTCTCTGCGGGCGGTCCTATTCTGACACCCTCTCT
+GGATGCGATTACCCTGGTGCCCATGTTCCCGCATACGTTGTCAGCACGACCACTGGTCATAAACAGCAGC
+AGCACGATCCGTCTGCGTTTTTCGCATCGCCGTAACGACCTGGAAATCAGTTGCGACAGCCAGATAGCAC
+TTCCGATTCAGGAAGGTGAAGATGTCCTGATTCGTCGCTGTGATTACCATCTGAATCTGATTCATCCGAA
+AGATTACAGTTATTTCAATACATTAAGCACCAAGCTCGGCTGGTCAAAAAAATTATTCTAATTTTACGCC
+AGCCTCTTTACTGTATATAAAACCAGTTTATACTGTACACAATAACAGTAATGGTTTTTCATACAGGAAA
+ACAACTATGTTGGCACAACTGACCATCAGCAACTTTGCTATCGTTCGTGAGCTTGAGATTGATTTTCATA
+GCGGCATGACCGTAATAACTGGCGAGACCGGCGCGGGTAAATCTATTGCAATAGATGCCCTCGGCCTTTG
+TCTCGGTGGTCGCGCTGAAGCCGACATGGTGCGTACCGGCGCTGCTCGTGCCGACCTGTGCGCCCGTTTT
+TCTCTGAAAGATACGCCAGCGGCCCTGCGTTGGCTGGAAGAAAACCAGCTTGAAGACGGGCATGAATGTT
+TGCTTCGTCGCGTAATCAGCAGCGATGGTCGCTCCCGTGGTTTCATCAACGGTACAGCTGTTCCTCTGTC
+ACAACTGCGCGAACTGGGTCAGTTGCTGATTCAGATCCATGGTCAGCACGCTCATCAGTTACTCACCAAA
+CCCGAGCACCAAAAATTCCTGCTTGATGGCTATGCCAATGAAACCTCTCAGCTCCAGGAAATGACCGCAC
+GTTATCAGTTGTGGCATCAAAGCTGCCGTGACCTCGCGCATCATCAGCAGTTAAGTCAGGAACGCGCCGC
+CCGTGCGGAGCTGCTGCAATACCAATTAAAAGAACTTAACGAATTTAATCCGCAGCCTGGAGAGTTTGAG
+CAAATCGACGAAGAGTACAAACGTCTGGCGAACAGCGGTCAATTGCTGACCACCAGCCAGAATGCATTGG
+CATTAATGGCTGACGGTGAAGACGCAAATCTGCAAAGTCAACTTTACACGGCTAAACAACTGGTGAGCGA
+ATTGATTGGCATGGACAGCAAACTGTCCGGCGTACTTGATATGCTGGAAGAGGCTACCATCCAGATTGCT
+GAAGCCAGTGATGAACTACGCCACTACTGCGATCGTCTGGATCTCGATCCCAACCGACTGTTTGAACTTG
+AACAGCGCATCTCAAAACAGATTTCGCTGGCACGTAAACATCACGTCAGCCCTGAGGCATTGCCACAGTA
+TTACCAGTCGCTACTGGAAGAACAGCAGCAACTGGACGATCAGGCCGACTCACAAGAAACGCTCGCGCTG
+GCGGTAACGAAACATCATCAGCAGGCACTGGAAACGGCGCGCGCGTTACACCAGCAACGCCAGCATTATG
+CAAATGAGTTGGCACAGCTGATCACCGATAGTATGCATGCACTCTCTATGCCACATGGGCAGTTTACGAT
+CGATGTTAAATTTGACGAGCATCACCTGGGCGCTGACGGCGCTGATCGTATTGAGTTTCGGGTAACCACC
+AACCCAGGTCAGCCAATGCAGCCTATTGCCAAAGTCGCATCCGGTGGTGAGTTGTCCCGCATCGCATTGG
+CAATCCAGGTCATTACCGCGCGTAAAATGGAAACCCCGGCACTGATTTTTGATGAAGTGGATGTAGGGAT
+TAGCGGCCCAACAGCGGCAGTTGTCGGCAAACTGCTACGTCAACTTGGCGAATCAACTCAGGTGATGTGT
+GTTACCCACCTGCCACAAGTCGCGGGATGTGGTCATCAACACTATTTTGTCAGCAAAGAAACCGATGGTG
+CGATGACAGAAACGCATATGCAATCCCTGGATAAAAAAGCGCGGTTACAAGAGTTGGCGCGCCTGCTTGG
+TGGCAGTGAAGTCACACGTAACACACTGGCGAATGCGAAAGAACTGCTTGCGGCGTAAACTTTTTTCCTG
+CTTCACGGTCAGAGTAAACAGCAAAACGCCGTAAGACCGGAAAGCAAAAGGTTTTAAAGTGATGAAAGGT
+CTATTATCATCGGCATATTACAGATGAGCCACGTACTGCTCGGGCCCGAAAAGGAATCAAATCACTATGC
+GCTGTAAAACGCTGACTGCTGCAGCAGCAGTACTATTGATGTTGACCGCAGGCTGTTCCACTCTGGAGCG
+AGTGGTTTACCGTCCTGACATCAACCAGGGGAACTATCTGACCGCTAACGACGTATCCAAAATACGTGTT
+GGCATGACGCAACAACAAGTTGCGTACGCATTGGGTACACCGCTGATGTCCGATCCATTTGGTACAAATA
+CCTGGTTCTATGTCTTCCGCCAGCAACCTGGTCATGAAGGTGTAACGCAGCAAACGCTGACGCTGACCTT
+TAACAGTAGCGGTGTGTTGACCAACATTGATAACAAACCTGCGCTGAGTGGTAACTAATAATAAAGTTGC
+TCTCAAAGACGTTAAAAAAGGTGCTCAATGAGCACCTTTTTTAACGTCTGTTATTTATTCGCTGATTTTT
+CTGCTCGTTGCCTGCGAAGCTCTTTCGGATCGGCAATGAGAGGACGATAAATCTCCACCCGATCGCCATC
+ATGCACAATATCGCTGAGTTTTGCCGGACGGCTGTAAATGCCGACTTTGTTTTTAGTTAAATCGATATCG
+GTACGCAATTCCAGCAAACCACTGGCGCGAATAGCTTCTTCAACCGTCGCGCCCTCCTGCAACGTCACGC
+GCTGCAGGTACTGCTTCTCAGGTAGCGCATAAGCCACCTCAACGGCAATTTTACCTGGCACTGTAGACCT
+CTTTTGCACGAACAGTAAAAGCCTGCACCATATTAGCTGCCAGCTCTTTAAACACACGACCAAAGGCGAG
+TTCAATCAACTTATTGGTAAACTCAAAGTCGAGATGAAACTCAATACGGCACGCGTCCTGGCTCAACGGC
+GTAAACTTCCAACCGCCGATCAATTTCTTAAACGGTCCATCAACCAGACTCATGAGAATACTTTGATTAC
+TGGTCAACTGGTTGCGGGTTGTAAACGTTTTGCTGATCCCAGCCTTAGACACATCTACCGCAGCAGTCAT
+CTGCCCAGGAGTGGACTCCAGAATCCGACTTCCGGTACAACCCGGCAAAAACTGAGGATAAGACTGAACG
+TCATTCACTAACTGATACATTTGCTCCGCGCTGTAGGGCACCAGTGCGGTCCGACTAATCTGAGGCATAA
+CAATTTCCATCAACAAAAATCCAACAAATAATATCATTTATCCTGCTGTAAAAAAAACGCTATCCCGGCG
+CTGGGTAACATCGGGTTCATGCTAAGATAGAGCCTTGTCCCCCGCAGGATTGATATGGGGTGTTTTCGAT
+TTCAGATTACCGATGATTCACGACGCTTATGACGAAGAAAAAAGCACATAAACCTGGTTCAGCGACCATC
+GCGCTTAACAAGCGCGCCCGTCACGAATACTTTATCGAAGAAGAGTTCGAAGCGGGACTTGCCCTGCAAG
+GCTGGGAGGTTAAATCCCTGCGCGCAGGAAAAGCCAATATCAGCGACAGCTATGTCCTTCTGCGCGACGG
+AGAGGCATTTCTGTTTGGCGCTAACATCACGCCAATGGCTGTGGCCTCCACGCATGTGGTGTGCGATCCT
+ACCCGTACCCGCAAGTTACTTCTCAACCAGCGCGAACTGGACTCATTGTACGGTCGCGTCAATCGAGAAG
+GCTATACCGTAGTGGCGCTCTCCCTGTACTGGAAAAATGCCTGGTGCAAAGTGAAAATCGGCGTCGCCAA
+AGGTAAGAAACAGCACGATAAACGTTCAGATATCAAAGAACGCGAATGGCAGGTGGATAAAGCGCGTATC
+ATGAAAAATTCCCACCGTTAAACCTATATAAGCGATACTAATCAAATCCTCACCGCGCCTCCCTATCCGG
+TGGCGCGAATGAACATCTTATCGACTGTCAAATCTGACACAGATGTAGCCATCCCATTGCTTAATCGAAA
+AAAAATCATACTATGCAGGCGCTAATTCCAGGATGATAACGCCTTTTGGGCTAGTCATGCTGCTCATAAA
+TCTGGTATACTTACCGTTACACATTGGGGCTGATTCTGGATTCGACGGGATTTGCGAAACCCAAGGTGCA
+TGCCGAGGGGCGGTTGGCCTCGTAAAAAGCCGCAAAAAATAGTCGCAAACGACGAAAACTACGCTTTAGC
+AGCTTAATAACCTGCTTAGAGCCCTCTCTCCCTAGCCTCCGCTCTTAGGACGGGGATCAAGAGAGGTCAA
+ACCCAAAAGAGATCGCGTGGAAGCCCTGCCTGGGGTTGAAGCGTTAAAACTTAATCAGGCTAGTTTGTTA
+GTGGCGTGTCCGTCCGCAGCTGGCAAGCGAATGTAAAGACTGACTAAGCATGTAGTACCGAGGATGTAGG
+AATTTCGGACGCGGGTTCAACTCCCGCCAGCTCCACCAATCATGATTGGACGGTGTAAGGACTACACCAA
+CAAAAACAGGAAGTTATAAGTCTCAGCAGGACACCGACCAGACGGTGAGGAGACAAAAAAGGATACGCAA
+CGGAGTCGCGACTCCCTATGACATTAAAGCCCGCTGATGCGGGCTTTTTTATTGGTCCTGACCCGCCCTG
+AATAGAATTCATCCAATTACAGTCCAGACATATACAGTATCCCTCAGCTCAGTATCAGCTTCTCGACAAA
+TGGTCACTGTTATTTACCCGTTGCCAGAAAGAGAATAATTTGCTCCCATAGCCAGCCTTCCCGGAATCTG
+TATATTCATTAATATTGTTATCGATTCCATCAAGTAACATAGGTTGGATGCGATTGATCTTACTCACATT
+AGTCGACACGGAACTCAGTAAGTTGAACTCTGAAAAAGCAGTTTAAATAGCATTTAAACAAATGCCACCA
+GTTCGAAAAAGAGTATAAGCACACTTAATATATTGTTTTAATTATTCATTTCCTTTCAACCCAATTCTTA
+TCCCTCACATTATTTGTTATTAATTTGTTGTTTTTGATCACAATAAGAAAACAATATGTAACTTTTATGC
+GCATTTTTCAGAAATGTAGATATTTTTAGATTATGGCTACGAAATGAGCATCGCCATGTCACCCTACATC
+TCATAAGAGGATCGCTTCTGATGAATGCACTGACCGCCGTACAAAATAACGCTGTCGATTCAGGCCAGGA
+CTATAGCGGATTCACTCTCATCCCGTCGGCGCAATCCCCGCGTCTGCTGGAACTCACCTTCACCGAACAG
+ACGACCAATCGGTTCCTCGAACAGGTTGCCGAGTGGCCCGTGCAGGCGCTGGAGTACAAATCGTTTCTGC
+GTTTTCGGGTAGGCAAAATTCTCGACGATCTGTGTGCGAATCAGCTGCAACCGCTGCTGTTGAAGACCCT
+GTTAAACCGCGCTGAAGGTGCGCTGTTGATCAATGCGGTGGGTATCGATGATGTCGCGCAGGCGGATGAG
+ATGGTGAAGCTGGCGACGGCGGTGGCGCATCTGATTGGTCGCTCCAATTTTGACGCCATGAGCGGTCAGT
+ATTACGCGCGTTTCGTGGTGAAAAATGTTGATAACTCAGACAGCTATCTTCGTCAGCCGCACCGCGTAAT
+GGAGCTGCACAACGACGGCACTTACGTCGAAGAGATCACTGATTACGTGCTGATGATGAAAATCGACGAG
+CAGAACATGCAGGGCGGTAACTCGCTGCTGCTGCATCTCGATGACTGGGAACATCTGGGCCTCTTTTTCC
+GCCATCCGCTGGCGCGCCGTCCGATGCGCTTTGCCGCGCCGCCGAGCAAAAACGTCAGCAAAGATGTCTT
+CCATCCGGTGTTCGATGTCGATCAGCAGGGCCGCCCGGTGATGCGCTATATCGACCAGTTTGTCCAGCCG
+AAAGACTTCGAAGAAGGCGTGTGGTTGAGCGAGCTTTCCGATGCCATTGAAACCAGTAAAGGCATTCTTT
+CTGTACCCGTTCCCGTTGGCAAATTCCTGTTGATTAACAACCTGTTCTGGCTGCACGGTCGCGACCGCTT
+TACTCCGCACCCGGATCTGCGCCGTGAACTGATGCGTCAGCGTGGCTATTTCGCTTACGCCACTCACCAC
+TACCAGACGCATCAGTAAGCGCAAAGGAATTGAGCGGATGTATGATTTTGTGATTATTGGCGGCGGCATC
+ATCGGCATGTCGACCGCCATGCAACTGATTGATGTTTATCCGGATGCCCGCATTGCGTTGCTGGAAAAAG
+AGTCCGGCCCGGCCTGTCACCAGACGGGCCACAACAGCGGCGTGATCCATGCCGGAGTCTATTACACGCC
+CGGCAGCCTGAAGGCGCAGTTTTGCCTGGCGGGGAACCGTGCCACTAAAGTCTTTTGCGATCAAAACGGC
+ATTCGCTACGACAACTGCGGCAAGATGCTGGTCGCCACGTCTGAACTCGAAATGGAACGGATGAATGCGT
+TATGGAAACGCACGGCGGCAAACGGAATCGAGCGCGAGTGGTTAAACGCCGAGGAGCTGCGCGAGCGTGA
+ACCGAATATCACCGGGCTTGGCGGCATTTTTGTGCCGTCCAGCGGCATTGTCAGCTACCGCGAAGTGACG
+GCGGCGATGGCAAAAATCTTCCCGGCCAGAGGTGGTGAGATTATTTATAACGCCGAAGTCAGCGCCCTCA
+GTGAGCATAAAAACGGCGTGGTGATACGTACCCGTCAGGGCGGTGAATATGAAGCATCGACGCTGATTAG
+CTGTTCCGGGCTGATGGCTGACCGGCTGGTGAAAATGCTCGGCCTCGAACCGGGCTTTATTATCTGCCCG
+TTCCGCGGCGAGTATTTCCGCCTTGCGCCGGAGCATAACCAGATTGTTAACCACCTGATTTACCCCATTC
+CCGACCCGGCAATGCCATTTTTGGGCGTGCATCTCACCCGCATGATCGACGGCAGCGTGACCGTCGGGCC
+AAACGCGGTGCTGGCTTTCAAACGCGAAGGCTATCGTAAGCGCGACTTCTCATTTAGCGACACGCTGGAA
+ATTTTGGGCTCGTCGGGGATTCGCCGAGTGCTGCAAAACCATCTACGCTCAGGACTGGGCGAGATGAAAA
+ACTCGCTGTGCAAAAGCGGCTATCTGCGGCTGGTGCAAAAGTATTGTCCCCGGCTTTCGTTAAGCGATCT
+CCAGCCCTGGCCCCCCGGTGTGCGGGCGCAGGCAGTATCGCCGGACGGCAAGCTGATTGACGATTTTCTG
+TTTGTCACCACCCCGCGCACGATCCACACCTGTAATGCGCCCTCCCCGGCAGCGACATCAGCAATTCCTA
+TTGGTGCGCATATTGTCAGCAAGGTACAAACGCTGTTGGCAAGCCAGAGTAACCCCGGACGCACGCTGCG
+AGCGGCACGTAGTGTGGATGCCTTACACGCCGCATTTAATCAATAACCTTTGAAAACAGGATGTAGCGAT
+GAAACTTAACGACAGTAACTTATTCCGCCAGCAGGCGTTGATTAACGGGGAATGGCTGGACGCCAACAAT
+GGCGAGGTCATCGACGTCACCAATCCGGCGAACGGCGACAAGCTGGGTAGCGTGCCGAAAATGGGCGCTG
+ATGAAACCCGCGCCGCTATCGACGCCGCCAACCGCGCCCTGCCCGCCTGGCGTGCGCTCACTGCCAAAGA
+ACGCGCCAACATTCTGCGCAACTGGTTCAATTTAATGATGGAGCATCAGGACGATTTAGCGCGCCTGATG
+ACCCTCGAACAGGGCAAACCACTGGCTGAAGCGAAAGGCGAAATCAGCTACGCCGCCTCATTTATTGAGT
+GGTTTGCAGAAGAAGGCAAACGTATTTATGGCGACACCATTCCCGGTCATCAGGCCGATAAACGCCTGAT
+TGTTATCAAGCAGCCGATTGGCGTCACCGCGGCTATCACGCCGTGGAACTTCCCGGCGGCGATGATTACC
+CGTAAAGCCGGTCCGGCGCTGGCGGCAGGCTGCACGATGGTGCTGAAGCCCGCCAGTCAGACGCCGTTCT
+CTGCGCTGGCGCTGGCAGAACTGGCGATTCGCGCGGGCGTTCCGGCTGGCGTGTTTAACGTAGTCACCGG
+TTCGGCGGGCGCGGTCGGTAACGAACTGACCAGCAACCCGCTGGTGCGCAAGCTGTCGTTTACCGGCTCG
+ACCGAAATTGGCCGTCAGTTAATGGAACAGTGCGCGAAAGACATCAAAAAAGTGTCGCTGGAGCTGGGCG
+GCAACGCACCGTTTATTGTCTTTGACGATGCCGATCTCGATAAAGCCGTGGAAGGCGCGCTGGCCTCGAA
+ATTCCGTAACGCCGGGCAAACCTGCGTCTGCGCCAACCGCCTGTATGTGCAGAACGGCGTGTATGACCGC
+TTTGCCGAAAAATTGCAGCAGGCGGTGAGCAAACTGCACATCGGCAACGGGCTGGAGAAAGGCGTCACCA
+TCGGGCCGCTGATCGATGAAAAAGCGGTAGCAAAAGTGGAAGAGCATATTGCCGATGCGCTGGAGAAAGG
+CGCGCGCGTGGTTTGCGGCGGTAAAGCACATGAACGCGGCGGTAACTTCTTCCAGCCGACCATTCTGGTG
+GACGTTCCGGCTAACGCCAAAGTGTCGAAAGAAGAGACGTTTGGCCCCCTCGCCCCGCTGTTCCGTTTTA
+AAGATGAAGCCGATGTGATTGCGCAAGCCAATGACACCGAATTTGGACTTGCAGCCTATTTCTACGCCCG
+TGATTTAAGCCGCGTCTTCCGCGTGGGCGAAGCACTGGAGTACGGCATCATCGGCATCAACACCGGCATT
+ATTTCCAATGAAGTGGCCCCGTTTGGCGGCATTAAAGCCTCGGGTCTGGGTCGTGAAGGTTCGAAGTATG
+GCATCGAAGATTACTTAGAAATCAAATATATGTGCATCGGTCTTTAACTGGAGAATGCGAATGAGCAGCA
+ATAAAGAGTTAATGCAGCGCCGCAGTCAGGCGATTCCCCGTGGCGTTGGGCAAATTCACCCGATTTTCGC
+TGACCGCGCGGAAAACTGCCGGGTGTGGGACGTTGAAGGCCGTGAGTATCTTGATTTCGCGGGCGGGATT
+GCGGTGCTCAATACCGGGCACCTGCATCCGAAAGTGGTTGCGGCGGTGGAAGCGCAGTTGAAAAAACTGT
+CGCACACCTGCTTCCAGGTGCTGGCCTACGAGCCGTATCTGGAGCTGTGCGAGATTATGAATCAGAAGGT
+GCCAGGCGATTTCGCCAAGAAAACGCTGCTGGTTACGACCGGTTCCGAAGCGGTGGAAAACGCGGTGAAA
+ATCGCCCGCGCCGCCACCAAACGTAGCGGAACTATCGCCTTTAGCGGCGCGTACCACGGGCGCACGCATT
+ACACGCTGGCGCTGACCGGCAAGGTGAATCCGTACTCTGCGGGCATGGGGCTGATGCCTGGGCACGTTTA
+TCGCGCGCTTTATCCTTGCCCGCTGCACGGCATCAGTGAAGATGACGCTATCGCCAGCATTCACCGAATT
+TTTAAAAATGATGCTGCGCCGGAAGATATCGCCGCCATCGTGATTGAGCCGGTTCAGGGCGAAGGCGGTT
+TCTACGCCGCGACGCCAGCCTTTATGCAGCGTTTACGCGCGCTGTGTGACGAGCACGGGATCATGCTGAT
+TGCCGATGAAGTGCAGAGCGGCGCAGGGCGTACCGGCACGCTGTTTGCGATGGAGCAAATGGGCGTTGCG
+CCGGATCTTACCACCTTTGCGAAATCGATCGCGGGCGGCTTCCCGCTGGCGGGCGTCACCGGGCGCGCGG
+AAGTGATGGATGCCGTCGCTCCAGGCGGTCTGGGCGGCACCTATGCCGGTAACCCGATTGCCTGCGTGGC
+AGCGCTGGAAGTGTTAAAGGTATTCGAGCAGGAAAATCTGCTGCAAAAAGCCAACGACCTGGGGCATAAG
+CTGAAAGACGGATTGCTGGCGATAGCCGAAAAACACCCGGAGATCGGCGATATACGCGGGCTGGGAGCGA
+TGATTGCCATCGAGCTGTTTGAAGATGGCGATCACAGCAAACCGGACGCCAAACTCACCGCCGAGATCGT
+GGCGCGTGCCCGCGATAAAGGCCTGATTCTTCTCTCCTGCGGCCCGTATAACAACGTGCTGCGCATCCTT
+GTACCGCTCACCATTGAAGACGCTCAGATCCGTCAGGGTCTGGAGATCATCAGCCAGTGTTTTGCTGAGG
+CGAAGCAGTAGATCCGTACCCATGCCGGAGGCGACGCTGCGCGTCTTGTCCGGCCTACGCGAATCCAGGT
+CGGATAAAGCGTTTACGCTGCATCCGACAATCTGTATGTGAACAGGAATAAATCTATGTCGGCCGGATAA
+GGCGGAGCCGCTCTCCGGTAAAAAGAATCAATAACAATTACACGCGTGACCCGACGCGGGAAATGTCGGG
+GCGCTCTCCCAAGTGACACACTTTCGAGAGGATTCAGGATGGGGCAATCATCGCAACCACATGAGTTAGG
+CGGCGGGCTGAAGTCACGCCACGTCACCATGTTGTCTATTGCCGGTGTTATCGGCGCAAGTCTGTTTGTC
+GGTTCCAGCGTCGCCATCGCCGAAGCGGGCCCGGCGGTATTACTGGCCTATCTGTTCGCCGGATTACTGG
+TGGTTATGATTATGCGGATGTTGGCGGAAATGGCAGTTGCCACGCCCGATACCGGTTCGTTTTCCACCTA
+TGCCGATAAAGCCATTGGCCGCTGGGCGGGCTATACCATCGGCTGGTTGTACTGGTGGTTTTGGGTACTG
+GTTATCCCACTTGAAGCCAACATCGCCGCCATGATCCTGCACTCGTGGGTTCCAGGCATTCCCATCTGGT
+TATTTTCCCTCGTCATTACCCTCGCCTTAACCGGCAGTAATTTATTAAGCGTTAAAAACTACGGCGAATT
+TGAGTTCTGGCTGGCGCTGTGTAAAGTCATCGCTATCCTGGCCTTTATTTTCCTTGGTGCAGTCGCAATT
+AGCGGTTTTTACCCGTATGCCGACGTGAGCGGTATTTCAAGATTGTGGGATAGCGGCGGCTTTATGCCCA
+ACGGCTTCGGTGCGGTATTAAGCGCGATGTTGATCACCATGTTCTCGTTTATGGGCGCAGAAATTGTCAC
+CATTGCCGCCGCGGAATCCGACACGCCGGAAAAACATATTGTCCGCGCCACCAACTCGGTTATCTGGCGT
+ATCTCTATTTTCTATTTGTGTTCTATTTTTGTCGTTGTGGCATTAATCCCGTGGAATATGCCAGGGCTGA
+AAGCCGTTGGTTCTTATCGCTCGGTTCTGGAATTGCTCAATATTCCTCATGCGAAATTAATCATGGACTG
+CGTGATATTACTTTCCGTAACCAGTTGCCTGAACTCGGCGCTGTATACCGCTTCCAGGATGCTCTACTCC
+TTAAGCCGTCGCGGTGATGCTCCCGCGGTAATGGGTAAAATCAACCGCAGTAAAACCCCGTACGTAGCGG
+TGTTACTCTCCACCGGCGCGGCATTCTTAACGGTGGTGGTGAACTATTACGCGCCTGCGAAGGTGTTTAA
+ATTTCTGATCGACAGCTCCGGCGCTATCGCCCTGCTGGTTTATTTAGTCATCGCCGTTTCACAATTGCGG
+ATGCGCAAAATTCTGCGAGCAGAAGGAAGCGAAATTCGCCTGCGGATGTGGCTTTATCCGTGGCTCACCT
+GGCTGGTAATCGGTTTTATTACCTTTGTGTTGGTAGTGATGCTATTCCGCCCGGCGCAACAGTTAGAAGT
+GCTCTCCACCGGCTTATTAGCGATTGGGATTATCTGTACCGTGCCAATTATGGCTCGCTGGAAAAAGCTG
+ATAATGTGGCAAAAAACACCCATTCATAATACGCGCTGATAATGATCAGGAGTCACACCATGACCATTAC
+CTCTCTGGATGGCTATCGCTGGCTGAAGAACGATATTATTCGCGGCAATTTTCAGCCGGATGAAAAATTA
+CGGATGAGTTTGCTGACATCGCGTTATGCACTTGGCGTCGGACCGTTGCGGGAAGCGCTTTCGCAACTGG
+TGGCAGAACGACTGGTCACGGTGGTGAATCAAAAAGGGTATCGGGTGGCGTCTATGTCAGAGCAGGAGCT
+GCTCGATATTTTCGACGCCCGCGCCAATATGGAAGCGATGCTGGTGAGTCTGGCGATTGCCCGCGGTGGC
+GATGAATGGGAGGCAGACGTTCTTGCGAAGGCGCATCTGCTCAGTAAGCTTGAGGCCTGTGACGCCAGTG
+AGAAAATGCTTGATGAGTGGGATCTACGTCATCAGGCGTTTCATACTGCAATTGTGGCGGGCTGTGGTTC
+TTACTATTTGCTGCAAATGCGTGAACGGTTGTTTGATCTGGCAGCGCGTTATCGATTTATCTGGCTGCGG
+CGAACAGTGCTTTCGGTGGAAATGCTGGAAGATAAACACGATCAGCACCAGACCCTGACTGCGACGGTAC
+TGGCGCGAGATACCGCGCGCGCCAGTGAGTTAATGCGCCAGCATTTACTGACGCCAATTCCCATTATCCA
+GCAGGCGATGGCTGGCAATTAACTACTCTTCAGGAATACGCAACACTTGCCCCGGGTAAATTTTATCCGG
+GCTTTTTAGCATCGGTTTATTCGCTTCGAAGATTTTATTGTACAGATTAGCGTTACCGTAGACCTGTTTG
+GAAATGGCACTCAGAGTGTCGCCAGACTTAACGGTATAAAACTGGCTGGCAGTGGCTGGTGTCGCCGTTT
+TCACCTGATCATCGACACTGGCAATACCGGAAATATTCCCCACCGCAACAAGGATTTTCTCCTTCGCCTC
+CTGACTTAAGCCGTCACCAGTGACCGTCGCTTTGCCGTCGGCAATTTGAATGTTCACTTTATCGGCATCA
+GGTATACCGGTTTTGTTCAGATGCTCCTGCACCTTCTTCGCCTGATCGTCTTTATCGTGCTGACCTGTAA
+CCGCGTCCCAGAGTTTTTCTCCGGCATCTTTCACAAAATTGAACAGACCCATAGCTACCTCATTCGTTAA
+CGGAAACACTCAGAAAGTGTAGCAGAGGAACGCGGCGCGTTAACGCCGCGGGGGTGAGCCCAGGTTTAAT
+CGCGGGTTTGCACCCAGAACGCGTGAATCAAACCGGGGATATAGCCAAGCAGTGTCAGCAGAATATTAAT
+AATGAACGCCCAACCGAACCCTTTACCGAGCAGCACGCCGAGCGGCGGCAGAATGATGGTGATGACGATT
+CTCCAGAAACCCATATGTACTCCCTATAAGAAAATTACTCATTGTTTAAAAAGAGATTTTATCTCTTAAG
+CGTAGTAATTTTAGCGGAGCCTGCCAGTTTCAACTTACGCTTTTACTCTCATTTACGCGGCTGATGCTGG
+TATATGTTGCACAATTAGTTTAGAGTTTACTTAATTTAGATAATACTTAAATAACTATGACTGAACTCGC
+ACAATTACAGGCCAGTGCCGAACAGGCAGCGGCCTTATTGAAATCAATGAGCCACCCTAAACGATTGCTG
+ATTCTGTGTATGCTTAGCGGTTCCCCCGGCACCAGCGCGGGAGAGCTGACGCGCATTACCGGACTGAGTG
+CCTCTGCGACATCACAGCATCTCGCTCGTATGCGGGGCGAAGGGCTTATCGACAGCCAACGGGATGCCCA
+ACGCATTCTATATTCCATTAAAAATGAGGCGGTAAATGCCATTATCGCCACCCTGAAAAATGTCTATTGT
+CCGTAAGGAGTCACTATGGCTTTGACAACCATTTCGCCGCATGATGCACAAGAATTAATCGCACGCGGCG
+CAAAGTTAATCGATATTCGTGATGCTGATGAATATCTTCGTGAACATATTCCTGAAGCAGATCTAGCTCC
+ATTATCCGTACTGGAACAGTCAGGTCTTCCGCCTAAATTACGTCGCGAGCAAATTATATTCCACTGCCAG
+GCAGGTAAACGCACCAGTAATAACGCCGATAAATTAGCAGCGATTGCCGCCCCCGCAGAAATCTTTTTAC
+TCGAAGATGGGATTGATGGCTGGAAAAAAGCAGGATTGCCAGTAGCGGTAAATAAATCCCAACCCTTGCC
+GTTAATGCGCCAGGTGCAGATCGCCGCGGGTGGTTTAATATTAATCGGCGTTGTACTGGGTTATACCGTA
+AATAGCGTTTTCTTCTTATTAAGCGGCTTTGTTGGTGCTGGGTTACTGTTTGCAGGAATTAGTGGTTTTT
+GTGGAATGGCAAGGTTGTTAGATAAGATGCCGTGGAACCAACGAGCTTGAGAAGCGACGCCGGACGCGCC
+ATAGCAGCGACATCCGGCCTCAGTAATTAGATCAGGAAATCGTCGAGAGATTTACCTTCTGCCAGCGCCT
+GAGCGATTGGCTTCGGTGTACGGCCCTGACCGGTCCAGGTTTTAGTTTCACCGTTAACATCGATGAATTT
+ATATTTCGCCGGACGCGGCTGGCGTTTTTTACCAGCGCGTGGTGCCGCAGCAGAGCTATTACCCAATAAC
+TCTTCCGGGTTAATTCCGTCAGCTTTCATCAGCTCCAGCCAGGTGCTAATTTTTTCCTGGCGCTCTGCCA
+GTTCACGCTGCTGTTGTTCTTCTTCTTCACGTCTTTCTTTAGTGACAACCCTGAATTTTTCGAGCATTTC
+TTCAAGAACGTCAATGGAGAATTCGCGAGCCATCGCACGGAGGGTGCGAATGTTATTTAAACTTTGTAAC
+ATTACGGACATAATAAAGAAAACCTTTTAACCCAAAACAAAAAAGTATTTCGTCGCGTAGTGTAAGCGAT
+CACTTATTATATTTCCACAAAATTTAATCTATTTACAGTCCTGCACGAGATTATTTCAGCTGTTATTTTC
+TGAAACTCTCAGAATAATTTCAAGATTATATATTAGCCATTTTGATGAGTAATTTCGGTTATTGGTGAAC
+AGAGCTGCTCTCTCTGCTCGATAATTCCGCAAGCCTGACAAAACCAAAGTGAATAAAAATGCAACTCAAC
+CGAATAAAAGAAAACATCTATCACTGGTGCTTTCTGCTGTCAATGTACATTATCTGGCATAAAAAATGCT
+GAAAATGACCCGGTCACTACATACACCGAATTCTCTACGCTTATAGCGTTACCTCACCCCCAAACCTTCA
+TGAGTGAAAATAAAGGTAAACACATATCCAATTGATTTAATTAAAAATAAATCATACCGGCATGTAAAAA
+TCCACAATGTACAAAAAACGCGCCGTTACGGAATATTTTATCTACAAAAACAGATTAAATAAAAATTTTT
+CACTAATTGATTAGTCATAGCCAGCGATATACGCTATGCGAAAATGCAGATGGCAATGAGATCCGCTGCT
+TTCATCTCCATTAACATCCCATTACGCTTTTATTAAGGAGCATTAGCATGTTCTCACCGCAGTCACGCTT
+GCGTCATGCAGTTGCAGATACGTTCGCGATGGTTGTTTACTGTTCTGTCGTGAACATGTGTATTGAAGTT
+TTCCTCTCCGGAATGAGCTTCGAACAGTCTTTTTATTCCAGATTGGTAGCGATTCCGGTGAACATCTTAA
+TTGCATGGCCATACGGTATGTACCGCGATCTGTTTATGCGCGCGGCACGCAAAGTTAGCCCGTCGGGCTG
+GATAAAAAATCTGGCGGATATCCTGGCTTATGTGACGTTCCAGTCACCGGTGTATGTGGCGATCTTGTTA
+GTGGTGGGCGCAGACTGGCATCAGATTATGGCGGCAGTCAGTTCAAACATCGTTGTTTCGATGTTGATGG
+GGGCGGTTTATGGCTACTTCCTCGATTATTGCCGCCGACTGTTTAAAGTCAGCCGTTACCAGCAGGTAAA
+AGCCTGACCCTTCTTTTCGCGACTGGCATCGCCAGTCGCGTCTTTAACTGGCTTCGCCAAATAAACCATT
+CAAATAACGTTCAAGCGCAACACGCGAACTAAAGCCATGCGGGATACCGTAATGCTCATGACGTTCACCC
+GCTAAATAGAGCGGAAATTGCTGGTAATGATCGCAAGTTTTAATATCGGAAGCGGGTTCAGCCAGTGTTG
+AACTACGTTCTTTTAATGTTGGATGAATCACCAGGTCGGTACGTCCCATTCGCGCTTCGCGATTAACATA
+GACATAATTTTCCCCACGGCGGTAACCATACGCTTTCTGGGTTACCACATCGACAGTAAAACCGACTTTT
+TCAAGTACGCGCGCCACCTCGTCTGGTCGTAAATACATATTTGATCCTCGTTATTATCAACCGCGGGCCT
+ACCTTACCTGATTGCGCATTCACAACGCTTTCAGAAAAGTCCATAAAGCCGCGATGAACCTCAGTTAAGA
+AAATTATGGTCTACACTGAAAATTACATCGAATTCTAATGGGGGATCATATGTTTAACCGACCGAACCGC
+AACGACGTTGATGATGGCGTGCAGGATATCCAGAATGATGTCAATCAATTAGCTGACAGTCTCGAATCTG
+TATTGAAGTCCTGGGGCAGCGACGCCAAAGGGGAAGCCGAAGCCGCTCGTAGTAAAGCGCAGGCTCTACT
+GAAAGAAACCAGGGCGCGAATGCATGGTCGTACTCGCGTCCAGCAAGCCGCGCGCGATGCCGTTGGCTGC
+GCGGATTCTTTTGTTCGTGAAAGCCCCTGGTGTAGTGTGGGTACAGCGGCAGCGGTGGGTATTTTTATCG
+GCGCACTGTTAAGCATGCGCAAATCGTAGTGCACAAATGATAATAAATACGCGTCTTTGACCCCGAAGCC
+TGGCTTCGGGGTTTTTTAGCTTAAGGCTTTACGTAATTGTTGTGCTACCTGTCGCGCCATACCTTCGTTA
+ACGATATTAGTAAACGAAAGCAGTAATCCACCTTCCCCACTTGAACGGATACGCCAGTCGCTAAGTGCCT
+GCACCGCAAGGCCTGCAGCATTGGCTTTACGCGCATGGGCAATATCATCGCCTATCATTCTGATCACCAT
+CTGGATACCACCTTTCTGCGGCACAACCTGAAATCCTTGCTGCGTCAACGCTTGCTCAATCCATTGCCGA
+CGTTGAGCATAATGCTGACGCATTTTCTTCAGATGCCGCCAGAAATGCCCCTCGCGAAGAAAGTCTGCCA
+GTGTGTTCTGCCATAGAACAGGTACCGCACATGGAGCCAGTGACGCCTGGTGGCGGAATTGTGCAATTTG
+CTTCACCGGCACCACCAGCCACGCACAGCGCAATGCAGGAAATAGCGCTTTGCTGAATGTTCCGGCATAA
+ATTACCCGCTGCGGTGCGTCGAGACTTTTTAACGCCGGTAACGGCTTACCGTGATAGCGAAACTCACTGT
+CATAATCATCTTCAATAATCCATGCCTGACTACGATCTGCCCATTCCAGTATCTGATGCCTGCGCGCTAA
+AGAGAGCGCCACACCCAGCGGACTTTGGTGTGCTGGTGTTATCAGGGCAAAACGCGCATCAGGATAATTT
+TGTATTCCGCTTGTGATATCCAGTCCATTGTCATCAACCGGCACAGGCAAAATTTCCACATCATGGCGAG
+TGACAATCGGGCGAATCAGTGGAAAGCCGGGATCTTCTATCCACATCCCGTTTCCCGGTTTCGCCAGCGC
+GTGCAGAATTAAAGCTATTGAGGCCGCATAACCGTGAGTGATAAAGACCTGCTCTGGCTGACAATCAATC
+CCACGTGAAACGCGTAAGTAATCAACTATTGCCTCGCGCAACGCCGCCTCACCGCAGACATCGCCTAACG
+CCAAATCAAAGCGCGTCTGGGTACGAAGGCGACGCCCCATCACCCGCGCCCACAGCTCTCGCGGAAAGAG
+ATCGAGTGCGGGTAATCCCATTTGAAATGGCAACGGTTGCTGACTTTCACCGGCAAAAGCTACAACTTGT
+ACAGTAGATTGTTGCGGATATATCCGCTCACTGACAAATGTGCCAGCCTGTCCCCGCCTGATCAGCCATC
+CTTGCGCCACCAGCTCAGCATACGCATTTTCGACAGTGGATCGAGACACCCCCAGCTCCTGCGACCAGGT
+ACGACTTGAAGGCAGCCTTGCGCCGGGTTTCAGTTCCCCTTGCTCAATAGCCGTTTTTAACTGACGGGCG
+ATATCCTGATAGCGCGGCATATGGTCTGCTTTTTTAGGTAATTTATGGCTCTCTTTAGCAGTCCATTATA
+GTGCTACATTGCGGGCGTTAATAAGAGGAGAAACTGTATGACTACATTACGTCAGCCTTACTACGAACTT
+AGCCCGGCAGTGTATAACGCACTAGTGCAGGCCAAAACGGCACTGGAAAATAGCACGCTGGATACCACGT
+TGATGGAGTTAGTTTATTTGCGCGTCTCGCAAATCAACGGCTGCGCATTTTGTCTGGAGATGCACAGCAA
+AGCATTGCGCAAATCCGGCGTGCCACAGCACAAACTGGACGCCCTGGCAGGTTGGCGCGTAAGCCATCAT
+TTTGATGAACGCGAGCGGGCGGCGCTGGCATGGGCGGAATCGGTAACCGAAATTGCCAGAACCCATGCGG
+AAGACGAGGTTTATCAGCCTTTGCTTGAGCATTTCAGCGCAGCAGAGATCAGCGACTTAACGTTTGCCAT
+CGGGCTGATGAATTGTTTTAACCGTCTGGCCGTTTCCATGCGGATGTAACTTCTTGATGCCGGGTATTTG
+CCCGGCAAAAAAACACAAAATCCCCTACCCCGTTGAGCCATTCATCGGTGGCGTAATCAATCTAAAATTC
+CCATATCTTGTGTGGTTGAATCTTTTTTCAACTACATCTAGTATCCCTGTATCAACAGAGAGACAACCCG
+ACGCGTATCATCGCGCCGTATCTTCATTTTAAACGGAAATACGAATCATGCGCATTACTATTTACACTCG
+TAACGATTGCGTCCAGTGCCACGCCACCAAACGGGCGATGGAAAACCGGGGCTTTGATTTTGAAATGATT
+AATGTCGATCGCGTTCCTGAAGCGGCAGAAGCGCTGCGTGCTCAGGGCTTTCGTCAGTTGCCGGTTGTGA
+TTGCAGGCGATCTTAGCTGGTCTGGTTTCCGCCCGGACATGATCAATCGTCTGCATCCAGCGCCACACGC
+GGCCAGTGCATGAGCCAGCTCGTCTACTTTTCCAGCAGCTCCGAAAATACGCAGCGTTTTATCGAACGTT
+TAGGGCTGCCCGCGGTGCGCATCCCGCTCAATGAGCGGGAACGGATTCAGGTAGACGAGCCTTACATCCT
+GATCGTGCCCTCTTACGGCGGCGGCGGTACGGCTGGCGCGGTGCCACGACAGGTCATTCGCTTTTTAAAC
+GACGAGCATAACCGGGCGTTGCTGCGCGGCGTTATTGCTTCGGGTAATCGCAACTTTGGTGAGGCATATG
+GCCGCGCCGGAGATGTGATTGCCCGGAAATGCGGCGTGCCGTGGCTGTACCGCTTTGAACTCATGGGTAC
+GCAAAGCGATATCGAAAACGTTCGTAAAGGAGTAACCGAATTTTGGCAACGACAACCGCAGAACGCCTGA
+CGCAGGAAACAATGGATTATCACGCTCTGAATGCGATGCTTAACCTTTACGATAGCGCAGGTCGCATTCA
+GTTCGATAAAGACAGCCAGGCAGTAGACGCCTTTATGACGACGCATGTGCGTCCGAACAGTGTGGCCTTC
+AGTAGCCAGCAGCAGCGCCTGAACTGGCTGGTTAACGAAGGTTACTATGATGAAAGTGTCCTTAATCGCT
+ACTCTCGCGATTTTGTCATTACGCTGTTTGCCCACGCGCACGCCAGCGGTTTTCGTTTCCAGACATTCCT
+CGGAGCATGGAAGTTTTACACCAGCTATACGTTGAAGACATTCGACGGTAAGCGTTATCTGGAAGATTTT
+GCCGATCGCGTCACGATGGTGGCGCTGACGCTGGCACAAGGCGATGAAACACTGGCGGCGCAGCTCACCG
+ATGAGATGCTGTCAGGACGCTTTCAGCCAGCCACGCCAACATTCCTCAACTGCGGTAAGCAGCAGCGCGG
+CGAACTGGTTTCCTGTTTTCTGCTGCGTATTGAAGACAATATGGAGTCGATTGGCCGGGCAGTAAATTCC
+GCACTGCAACTGTCGAAACGCGGCGGCGGCGTAGCATTTTTGCTGTCGAATCTGCGGGAAGCGGGCGCGC
+CAATTAAACGTATTGAAAATCAATCTTCTGGCGTAATTCCGGTGATGAAAATGCTGGAAGACGCATTTTC
+CTATGCCAACCAACTCGGCGCTCGTCAGGGGGCTGGGGCAGTCTATTTACATGCTCATCATCCCGATATT
+CTGCGTTTTCTCGATACAAAACGGGAAAATGCCGACGAAAAAATCCGCATTAAAACACTGTCGCTGGGCG
+TGGTGATCCCGGATATCACTTTCCATCTGGCAAAAGAGAATGCGCAGATGGCGCTGTTTTCGCCCTATGA
+CGTAGAGCGAGTTTATGGCAAGCCGTTTGCCGATGTCGCCATCAGCGAACGCTATGACGAACTGGTTGCC
+GATGAACGCATTCGCAAAAAATACCTCAACGCCCGTGATTTCTTCCAGCGACTGGCAGAAATCCAGTTTG
+AGTCCGGCTATCCCTACATCATGTATGAAGACACGGTTAACCGTGCTAACCCTATCGCCGGGCGCATAAA
+TATGAGCAATCTCTGCTCAGAAATTTTGCAGGTTAACAGTGCCTCAGAGTATGACGAGAATCTCGACTAT
+GCCCGTACAGGCCATGATATTTCCTGCAATTTAGGTTCGTTGAATATTGCCCACACCATGGATTCCCCCG
+ACTTTGCCCGCACGGTAGAGACTGCCGTACGCGGTTTAACGGCGGTGTCAGATATGAGTCATATCCACAG
+CGTACCGTCCATCGAAGCCGGAAATGCCGCCTCACACGCCATCGGTCTGGGGCAGATGAATTTACACGGT
+TATCTGGCACGAGAAGGCATCGCTTATGGGTCGCCGGAAGCACTGGATTTCACCAATCTCTATTTCTATA
+CCATCACCTGGCACGCACTGCGTACCTCGATGTTGCTGGCGCGCGAACGCGGTGAAACCTTCGCCGGGTT
+CAAACAGTCACGCTATGCCAGTGGTGAATATTTCAGCCAATATCTGCAAAGTAACTGGCAACCGAAAACG
+GCGAAAGTTGGCGAACTGTTTGCCCGTAGTGGTATTACGTTACCTACCCGTGAGATGTGGGCGCAGCTGC
+GCGACGACGTGATGCGCTATGGCATATACAACCAGAATCTCCAGGCGGTTCCGCCAACCGGTTCTATCTC
+TTATATCAACCATGCCACGTCGAGTATTCATCCGATTGTGGCGAAAGTAGAGATACGCAAAGAGGGCAAA
+ACAGGACGCGTTTACTACCCTGCCCCATTTATGACTAACGAAAATCTGGCGCTGTATCAGGACGCTTACG
+AAATCGGCGCAGAAAAGATCATCGACACCTACGCGGAAACGACTCGCCATGTCGATCAGGGGCTGTCGCT
+GACGCTGTTGTTCCTCGATACCGCCACCACTCGCGATATCGACAAAGCGCAGATTTACGCCTGGCGCAAG
+GGTATCAAGACGCTCTATTACATTCGCCTGCGTCAGATGGCGCTGGAAGGCACTGAAATTGAAGGCTGCG
+TCTCCTGTGCACTTTAAGGAATATCTATGAAACTCTCACGTATCAGCGCCATCAACTGGAACAAGATATC
+TGACGATAAAGATCTGGAGGTGTGGAATCGCCTGACCAGCAATTTCTGGCTACCAGAAAAGGTGCCACTG
+TCGAACGATATTCCTGCATGGCAGACATTAAGTGTCGTAGAACAACAACTAACAATGCGCGTTTTTACTG
+GCCTGACGCTGCTCGACACGCTGCAAAATGTTATCGGCGCGCCCTCGCTGATGCCCGATGCACTCACCCC
+CCATGAAGAGGCGGTATTATCAAATATCAGCTTTATGGAAGCGGTTCATGCCCGCTCTTACAGTTCAATT
+TTCTCGACGCTGTGCCAGACCAAAGATGTCGATGCCGCCTACGCCTGGAGTGAAGAAAACGCGCCGTTGC
+AGCGAAAAGCACAGATTATTCAGCAACATTATCGCGGTGATGATCCGCTGAAAAAGAAAATCACCAGTGT
+GTTTCTTGAATCTTTTTTGTTCTATTCCGGTTTCTGGCTGCCGATGTATTTTTCCAGCCGCGGAAAGCTA
+ACCAATACCGCAGACCTGATCCGTCTGATTATCCGGGATGAAGCAGTCCACGGTTACTACATCGGCTATA
+AATATCAGAAAAACCTGGAAAAGATCTCCCAGGAACAGCGTGAAGAGTTGAAGAGTTTCGCCTTCGATTT
+GTTGCTGGAACTCTATGACAACGAGTTGCAATACACCGATGAGCTGTACGCCGAAACCCCGTGGTCTGAC
+GATGTAAAAGCGTTTCTCTGTTACAACGCCAATAAGGCGTTGATGAATCTGGGCTACGAACCGCTATTTC
+CCGCAGAAATGGCGGAAGTGAATCCGGCAATCCTCGCCGCACTTTCGCCGAATGCCGATGAAAATCACGA
+TTTCTTTTCCGGTTCAGGCTCTTCATATGTGATGGGAAAAGCGGTCGAAACAGAAGATGAAGACTGGAAT
+TTCTGAGGGGGTTATTTTCAAAAATATCACTACCCGCTGCAGGGAAATAATTCCCGCCAAATAGCTTTAT
+ATCACGTAAATAATTTGTGGTGATCTACACTGATACTCTGTTGCATTATTCGCCTGAAACCACAATATTC
+AGGCGTTTTTTTGCTATCTTTGACAAAAAATATCAACTTTTCTCGATTTGCTCTCAGCCCTTATATCATG
+GGAAATTCCGGCGATTTGCTCACATCAATATTCATGCCACATTTGCCCTCAGGGGTTGCCTCAGATTCTC
+AGTATGTTAGGGTAGAAAAAAGTGACTATTTCCATTGGGTAATGTATCGACATAAACAAATAACAGGAAT
+CTTTCTATTGCATGGCAATTAAATTAGAAATTAAAAATCTTTATAAAATATTTGGTGAGCATCCACAGCG
+AGCTTTCAAATATATCGAACAAGGACTTTCAAAAGAACAAATTCTGGAAAAAACTGGGCTATCGCTTGGC
+GTTAAAGACGCCAGTCTGGCCATTGAAGAAGGCGAGATATTTGTCATCATGGGATTATCCGGTTCGGGTA
+AATCCACAATGGTACGCCTTCTCAATCGCCTGATTGAACCCACCCGCGGGCAAGTGCTGATTGATGGTGT
+GGATATTGCCAAAATATCCGACGCCGAACTCCGTGAGGTGCGCAGAAAAAAGATTGCGATGGTCTTCCAG
+TCCTTTGCCTTAATGCCGCATATGACCGTGCTGGACAATACTGCGTTCGGTATGGAACTGGCCGGAATTA
+ATGCCGAAGAACGCCGGGAAAAGGCCCTTGATGCACTGCGTCAGGTCGGGCTGGAAAATTATGCCCACAG
+CTACCCGGATGAACTCTCTGGCGGGATGCGTCAACGAGTGGGATTAGCCCGCGCGTTAGCGATTAATCCG
+GATATATTATTAATGGACGAAGCCTTCTCGGCGCTCGATCCATTAATTCGCACCGAGATGCAGGATGAGC
+TGGTAAAATTACAGGCGAAACATCAGCGCACCATTGTCTTTATTTCCCACGATCTCGATGAAGCTATGCG
+TATTGGTGACCGAATTGCCATTATGCAAAATGGTGAAGTGGTGCAGGTTGGTACACCGGATGAAATTCTT
+AATAATCCGGCGAATGATTATGTCCGAACCTTCTTCCGTGGCGTCGATATTAGCCAGGTGTTCAGTGCGA
+AAGATATTGCCCGTCGTACACCGAACGGCTTAATTCGTAAAACCCCCGGCTTCGGCCCGCGTTCGGCACT
+GAAATTATTGCAGGATGAAGATCGCGAATATGGCTACGTCATCGAACGCGGTAATAAGTTTGTCGGCGCT
+GTGTCTATCGATTCGCTTAAAGCCGCGTTAACGCAGCAGCAAGGTCTTGATGCGGCGCTGATTGATGCGC
+CGTTAGCGGTCGATGCACAAACGCCTCTTAGCGAATTGCTCTCTCATGTCGGACAGGCACCCTGTGCGGT
+GCCCGTGGTCGACGAGGACCAACAGTATGTCGGCATCATTTCGAAAGGAATGCTGCTGCGCGCTTTAGAT
+CGTGAGGGGGTAAATAATGGCTGATCAAAATAATCCGTGGGATACCACGCCAGCGGCGGACAGTGCTGCA
+CAATCCGCAGACGCCTGGGGTACACCGGCGACTGCACCGACTGACGGCGGTGGCGCTGACTGGCTGACCA
+GTACGCCTGCGCCAAACGTCGAGCATTTTAATATTCTCGATCCGTTCCATAAAACGCTGATCCCGCTCGA
+CAGTTGGGTCACTGAAGGGATCGACTGGGTCGTTACCCATTTTCGTCCCGTCTTTCAGGGCGTGCGCGTT
+CCGGTTGATTACATCCTCAACGGTTTCCAGCAATTGCTGCTGGGTATGCCCGCGCCGGTGGCGATTATCG
+TTTTCGCTCTCATCGCCTGGCAGATTTCCGGGGTCGGAATGGGCGTGGCGACGCTGGTTTCGCTAATTGC
+CATCGGCGCAATCGGTGCCTGGTCACAGGCAATGGTTACCCTGGCGCTGGTGTTAACCGCCCTGCTGTTC
+TGTATCGTCATAGGTTTGCCGTTGGGGATCTGGCTGGCGAGAAGTCCGCGAGCGGCGAAAATTATTCGTC
+CACTGCTTGATGCCATGCAGACCACGCCCGCGTTTGTTTATCTGGTGCCAATCGTCATGCTGTTTGGTAT
+CGGCAACGTGCCAGGCGTGGTGGTGACGATCATCTTTGCGCTGCCGCCGATTATCCGTCTGACGATTCTG
+GGAATTAACCAGGTTCCGGCGGATCTGATTGAAGCCTCGCGCTCATTCGGTGCCAGCCCGAGCCAGATGC
+TGTTCAAAGTTCAGTTACCGCTGGCGATGCCAACCATTATGGCGGGCGTTAACCAGACGCTGATGCTGGC
+CCTTTCTATGGTGGTCATCGCCTCGATGATTGCCGTCGGCGGGCTGGGTCAGATGGTACTTCGCGGTATC
+GGTCGTCTGGATATGGGGCTTGCCACCGTTGGCGGCGTCGGGATTGTGATCCTCGCCATTATCCTCGACC
+GCCTGACGCAGGCCGTTGGGCGCGACTCACGCAGTCGCGGCAATCGTCGCTGGTACACCACTGGCCCTGT
+CGGTCTGTTGACCCGCCCATTCATTAAGTAACTCTGCACTTGCCCGGTGACGCCGGGCATTATCACCCTG
+CCAAAAAAAGGAATAACAATGCGACATAGCGTACTTTTTGCGACAGCGTTTGCCACGCTTATCTCTACAC
+AAACTTTTGCTGCCGACCTGCCGGGCAAAGGCATTACTGTTAATCCGGTTCAGAGCACCATCACCGAAGA
+AACTTTCCAGACACTGCTGGTCAGCCGCGCGCTGGAGAAATTAGGTTATACCGTCAATAAACCCAGCGAA
+GTGGATTACAACGTTGGCTACACCTCGCTTGCTTCCGGCGATGCAACCTTCACCGCAGTGAACTGGACGC
+CACTGCATGACAACATGTACGAAGCTGCCGGTGGCGATAAGAAATTTTATCGTGAAGGAGTATTTGTTAA
+CGGCGCGGCACAGGGTTACCTGATCGATAAGAAAACTGCCGACCAGTATAAAATTACCAACATCGCGCAA
+CTTAAAGATCCGAAGATCGCCAAACTGTTCGATACCAACGGCGACGGTAAAGCGGATTTAACCGGCTGTA
+ACCCAGGCTGGGGCTGCGAAGGTGCGATCAACCACCAGCTTGCCGCGTATGGACTGACCAATACCGTGAC
+GCATAATCAGGGGAACTACGCAGCGATGATGGCTGACACCATCAGTCGTTACAAAGAGGGTAAGCCGGTG
+TTTTACTACACCTGGACGCCGTACTGGGTGAGTAACGAACTGAAACCGGGGAAAGATGTGGTCTGGTTGC
+AGGTGCCGTTCTCCGCACTGCCGGGCGATAAAAATGCCGATACCAAACTGCCGAATGGCGCGAATTACGG
+CTTCCCGGTCAGTACCATGCATATCGTTGCCAACAAAGCCTGGGCCGAGAAAAACCCGGCAGCAGCGAAA
+CTGTTTGCCATTATGCAGTTACCAGTGGCAGATATTAACGCCCAGAACGCCATTATGCATGACGGCAAAG
+CCTCAGAAGGCGATATTCAGGGCCACGTTGATGGCTGGATCAAAGCCCACCAGCAGCAGTTCGATGGCTG
+GGTGAATGAGGCGCTGGCAGCGCAGAAGTAATTTTTATTCGGGCGGATAAGGCGTTTTTGCCTCATCCGC
+CGCTCTGTACACAATGCCTGATGCGACGCTGGCGCGTCTTATCATACCTACAAACCACACCGCACATTTC
+AACAATCTATCTTTCATCCCATATTCATCAACATCCGCTATTATTGATTTCCAGCTTAATCATCACCTGA
+TGAACAAAAATAATGACTAAACCTAATCATGAGATTAGCCCGGCGCTGATCGTGTTGATGTCTATCGCCA
+CCGGTCTGGCGGTAGCCAGTAACTATTACGCCCAGCCATTGCTCGACACCATCGCGCGTAACTTTTCCCT
+TTCCGCCAGTTCGGCAGGCTTTATTGTTACCGCCGCGCAGTTGGGCTATGCCGCAGGTCTGCTGTTTCTT
+GTTCCCCTCGGTGATATGTTTGAACGCCGCCGCCTGATTGTCTCGATGACCTTACTGGCAGCAGGCGGCA
+TGTTAATCACTGCCAGCAGTCAGTCGCTGGCGATGATGATCCTCGGTACAGCATTAACCGGTTTATTTTC
+AGTCGTGGCACAAATTCTGGTTCCACTGGCAGCGACGCTGGCTTCACCGGACAAACGCGGCAAAGTGGTT
+GGCACCATTATGAGCGGTCTGCTATTGGGGATCTTACTCGCACGGACCGTTGCCGGATTGCTGGCGAATC
+TCGGCGGCTGGCGCACCGTCTTTTGGGTTGCTTCGATGTTAATGGCACTGATGGCGCTGGCATTATGGCG
+TGGTCTGCCACAAATGAAATCAGAAACCCACCTCAACTACCCACAGTTGTTGGGTTCCGTTTTCAGCATG
+TTTATCAGCAATAAGATCCTGCGCACCCGCGCGTTGCTGGGCTGCCTGACCTTTGCCAACTTCAGCATTC
+TCTGGACCTCAATGGCCTTTTTGCTTGCCGCTCCACCTTTTAACTACAGCGATGGTGTAATTGGTCTGTT
+TGGGCTTGCGGGAGTTGCCGGAGCGTTGGGCGCTCGTCCGGCGGGCGGTTTTGCCGATAAGGGCAAATCG
+CACCACACCACAACTTTCGGTCTGCTGCTGCTGTTACTTTCATGGCTGGCAATCTGGTTTGGTCACACTT
+CCGTACTGGCGCTGATTATCGGCATCCTGGTGCTGGACCTCACCGTGCAGGGCATGCATATCACTAACCA
+GACGATAATTTATCGAATACACCCTGATGCGCGTAATCGCCTGACCGCAGGTTACATGACCAGCTACTTT
+ATTGGCGGTGCCGCTGGTTCGCTAATTTCAGCCTCAGCCTGGCAACATGGCAGTTGGGCTGGCGTGTGTC
+TGGCTGGCGCGACGATTGCCCTGGTTAACTTACTGGTCTGGTGGCGAGGTTTTCATCGTCAGGAAGCCGC
+AAATTAAGCAATCAGCAACCGTTTTCGTGGCTTTACACTTATAAGGGTGTTAAGAAGCCCATCAGTCTGA
+TAAGGTTAAGATATTCATTCAGTCTATTTATAATATTAACAATCGTTAAGCGTACACTCTATGGAAAGCC
+CTACTCCACAGCCTGCTCCTGGTTCGGCGACCTTCATGGAAGGATGCAAAGACAGTTTACCGATTGTTAT
+TAGTTATATTCCGGTGGCCTTTGCGTTCGGTCTGAATGCGACCCGTCTGGGATTCTCTCCTCTCGAAAGC
+GTTTTTTTCTCCTGCATCATTTATGCAGGCGCGAGCCAGTTCGTCATTACCGCGATGCTGGCAGCCGGGA
+GTAGTTTGTGGGTTGCTGCACTGACCGTCATGGCAATGGATGTTCGCCATGTTTTGTATGGCCCGTCACT
+GCGTAGCCGTATTATTCAGCGTCTGCAAAAATCGAAAACCGCCCTGTGGGCGTTTGGCCTGACGGATGAG
+GTTTTTGCCGCCGCAACCGCAAAACTGGTACGCAATAATCGCCGCTGGAGCGAAAACTGGATGATCGGCA
+TTGCCTTCAGTTCATGGTCATCGTGGGTATTTGGTACGGTAATAGGGGCATTCTCCGGCAGCGGCTTGCT
+GCAAGGTTATCCCGCCGTTGAAGCAGCATTAGGTTTTATGCTTCCGGCACTCTTTATGAGTTTCCTGCTC
+GCCTCTTTCCAGCGCAAACAATCTCTTTGCGTTACCGCAGCGTTAGTTGGTGCCCTTGCAGGCGTAACGC
+TATTTTCTATTCCCGTCGCCATTCTGGCAGGCATTGTCTGTGGCTGCCTCACTGCGTTAATCCAGGCATT
+CTGGCAAGGAGCGCCCGATGAGCTATGAGGTTCTGCTGCTTGGGTTACTGGTTGGCGCGGCGAATTATTG
+CTTCCGCTATCTGCCGCTGCGCCTGCGTGTGGGTAATGCCCGCCCAACCAAACGTGGCGCGGTAGGTATT
+TTGCTCGACACCATTGGCATCGCCTCGATATGCGCTCTGCTGGTTGTTTCTACCGCACCAGAAGTGATGC
+ACGATACACGCCGTTTCGTGCCCACACTGGTCGGCTTCGCGGTACTGGGTGCCAGTTTCTATAAAACACG
+CAGCATTATCATCCCAACACTGCTTAGTGCGCTGGCCTATGGGCTCGCCTGGAAAGTGATGGCGATTATA
+TAACCCACAAGAATCATTTTTCTAAAACAATACATTTACTTTATTTGTCACTGTCGTTACTATATCGGCT
+GAAATTAATGAGGTCATACCCAAATGGATAGTTCGTTTACGCCCATTGAACAAATGCTAAAATTTCGCGC
+CAGCCGCCACGAAGATTTTCCTTATCAGGAGATCCTTCTGACCCGTCTTTGCATGCATATGCAAAGCAAG
+CTGCTGGAAAACCGCAATAAAATGCTGAAGGCTCAGGGGATTAACGAGACGTTGTTTATGGCGTTGATTA
+CGCTGGAGTCTCAGGAAAACCACAGTATTCAGCCTTCTGAATTGAGTTGTGCTCTTGGATCATCCCGTAC
+CAACGCGACGCGTATTGCCGATGAACTGGAAAAACGCGGTTGGATCGAACGTCGTGAAAGCGATAACGAT
+CGCCGCTGCCTGCATCTGCAATTAACGGAAAAAGGTCACGAGTTTTTGCGCGAGGTTTTACCGCCGCAGC
+ATAACTGCCTGCATCAACTCTGGTCCGCGCTCAGCACAACAGAAAAAGACCAGCTCGAGCAAATCACCCG
+CAAATTGCTCTCCCGTCTCGACCAGATGGAACAGGACGGTGTGGTTCTCGAAGCGATGAGCTAACGCGTC
+ATCTCGCTCAAAAATCCAGATTTATAAAAGAAAAAATAACCGGCCAGCATCGCAACATGCTGGCCTTTTT
+GGCAAGCAGGTCGGCTCAGCCGATGAGTTAAGAAGATCGTGGAGAACAATATGAGCGCAAATGCGGAGAC
+TCAAACCCCGCAGCAACCGGTAAAGAAGAGCGGCAAACGTAAGCGTCTGCTCCTCCTTCTCACCTTGCTC
+TTTATAATTATTGCCGTAGCGATAGGGATTTATTGGTTTTTGGTACTGCGTCATTTCGAAGAAACCGATG
+ACGCATACGTGGCAGGGAATCAGATTCAAATTATGTCTCAGGTGTCTGGCAGCGTGACGAAAGTCTGGGC
+CGATAATACCGATTTTGTAAAAGAAGGCGACGTGCTGGTCACTCTCGACCCGACAGATGCTCGCCAGGCA
+TTTGAAAAAGCCAAAACTGCACTGGCTTCCAGCGTTCGCCAAACCCACCAGCTGATGATTAACAGCAAAC
+AGTTGCAGGCGAATATTGAGGTGCAAAAAATCGCCCTCGCGAAAGCACAAAGCGACTACAACCGCCGTGT
+GCCGCTGGGCAATGCCAACCTGATTGGTCGCGAAGAGCTGCAACACGCCCGCGACGCCGTCACCAGTGCC
+CAGGCGCAACTGGACGTCGCTATTCAACAATACAATGCCAATCAGGCGATGATTCTGGGGACGAAACTGG
+AAGATCAGCCTGCCGTACAACAGGCTGCCACCGAAGTACGTAACGCCTGGCTGGCGCTGGAGCGTACCCG
+TATTGTCAGTCCGATGACCGGTTATGTCTCCCGCCGCGCGGTACAGCCTGGGGCGCAAATTAGCCCAACG
+ACGCCGCTGATGGCGGTCGTTCCAGCCACCAATATGTGGGTGGATGCCAACTTTAAAGAGACGCAGATTG
+CCAATATGCGTATCGGTCAGCCGGTCACCATCACCACCGATATTTACGGCGATGATGTGAAATACACCGG
+TAAAGTGGTTGGTCTGGATATGGGCACAGGTAGCGCGTTCTCACTGCTTCCGGCGCAAAACGCCACCGGT
+AACTGGATCAAAGTCGTTCAGCGTCTGCCTGTGCGTATTGAACTGGACCAGAAACAGCTGGAGCAATACC
+CGCTGCGTATCGGTTTATCCACGCTGGTGAGTGTCAATACCACTAACCGTGACGGTCAGGTACTGGCAAA
+TAAAGTACGTTCCACACCGGTCGCGGTAAGCACCGCGCGTGAAATCAGCCTGGCACCTGTCAATAAACTG
+ATCGACGATATCGTAAAAGCTAACGCTGGCTAATCCAGAGGTGCGTGTGATGCAACAGCAAAAACCGCTG
+GAAGGCGCACAACTGGTCATTATGACGATTGCGCTGTCACTGGCGACATTCATGCAGGTGCTGGACTCCA
+CCATTGCTAACGTGGCGATCCCCACTATCGCCGGGAATCTGGGCTCATCGCTCAGTCAGGGAACGTGGGT
+GATCACTTCTTTCGGGGTGGCGAATGCCATCTCGATCCCGCTTACCGGCTGGCTGGCAAAGCGCGTCGGG
+GAAGTGAAATTGTTCCTCTGGTCAACCATCGCCTTTGCTATTGCGTCGTGGGCGTGTGGTGTCTCCAGCA
+GCCTGAATATGCTGATCTTCTTCCGCGTGATTCAGGGGATTGTCGCCGGGCCGCTGATCCCGCTTTCGCA
+AAGTCTATTGCTGAATAACTACCCGCCAGCCAAACGCTCGATCGCGCTGGCGTTGTGGTCGATGACAGTG
+ATTGTTGCGCCAATTTGCGGCCCGATCCTCGGCGGTTATATCAGTGATAATTACCACTGGGGCTGGATAT
+TCTTCATCAACGTGCCGATTGGCGTGGCGGTGGTGTTGATGACACTGCAAACTCTGCGCGGACGTGAAAC
+CCGCACCGAACGGCGGCGGATTGATGCCGTGGGGCTGGCACTGCTGGTTATTGGTATCGGCAGCCTGCAG
+ATTATGCTCGACCGCGGTAAAGAGCTGGACTGGTTCTCATCACAGGAAATTATCATCCTCACCGTGGTGG
+CGGTGGTGGCTATCTGCTTCCTGATTGTCTGGGAGCTGACCGACGATAACCCGATAGTCGATCTGTCGTT
+GTTTAAGTCGCGCAACTTCACCATCGGCTGCTTGTGTATCAGCCTCGCGTATATGCTCTACTTCGGCGCG
+ATTGTTCTGCTGCCGCAGTTGTTGCAGGAGGTCTACGGTTACACGGCGACGTGGGCAGGGCTGGCCTCTG
+CGCCGGTAGGGATTATTCCGGTGATCCTGTCGCCGATTATCGGCCGCTTTGCGCATAAACTGGATATGCG
+CCGACTGGTAACCTTCAGCTTTATTATGTATGCCGTCTGCTTCTACTGGCGTGCCTATACCTTTGAACCG
+GGTATGGATTTTGGCGCGTCGGCCTGGCCACAGTTTATCCAGGGTTTTGCGGTGGCCTGCTTCTTTATGC
+CGCTGACCACCATTACGCTGTCCGGTTTGCCACCGGAACGACTGGCGGCGGCATCGAGCCTCTCCAACTT
+TACGCGAACGCTGGCGGGGTCTATCGGCACGTCGATAACCACGACCATGTGGACCAACCGCGAGTCACTG
+CACCATGCACAGTTGACTGAGTCGGTAAACCCGTTCAACCCTAATGCTCAGGCGATGTACAGTCAACTGG
+AAGGGCTTGGTATGACGCAACAGCAGGCATCAGGCTGGATTGCCCAGCAGATAACCAATCAGGGGCTGAT
+TATTTCCGCCAATGAGATCTTCTGGATGTCAGCCGGGATATTCCTCGTCCTGCTGGGGCTGGTGTGGTTT
+GCTAAACCGCCATTTGGCGCAGGTGGCGGCGGAGGCGGTGCGCACTAAGTACAACTAAGCCAGTTCATTT
+GAACTGGCTTTTTTCAATTAATTGTGAAGATAGTTTACTGACTAGATGTGCAGTTCCTGCAACTTCTCTT
+TCGGCAGCGCCAGTTCTTCGTTGCTGTTGATGCGCACGTCACGTTCCAGAATGTTACGCGCAATATCCTG
+CGCTTCCTGCAACGAGTGCATCTGGTAAGTGCCACACTGGTAGACGTTCAGTTCCGGGATCTGATTCTGA
+TCCTGCACTTTCAGCACGTCTTCCATTGCCGCTTTCCAGGCATCAGCGACACGCTGCTCATCTGGCGTAC
+CAATCAGACTCATATAAAAACCGGTGCGGCAGCCCATTGGCGAGATATCGATAATCTCTACACCATTACC
+GTTAAGATGGTTACGCATAAAACCAGCAAACAGGTGCTCCAGGGTATGGATCCCTCTTTCTGGCATCACT
+TCTTTGTTCGGCACGCAGAAGCGCAGATCGAACACGGTGATTGCGTCGCCATGCGGGGTGTTCATTGTTT
+TCGCCACCCGAACTGCAGGCGCTTCCATCCGGGTATGATCGACTGTGAAGCTATCTAACAACGGCATTTA
+GCCACCTCCGGTAATTTTTTTAAAAATTTTCTGAACTCTTTCTTCCCAGGCGAGTCTGAGTATATGAAAG
+ACGCGCATTTGTTATCATCATCCCTGAATTCAGAGATGAAATTTTGGCCACTCACGAGTGGCCTTTTTCT
+TTTCTGTCAGGCGTGTTTTTCCAGCCACACCGCAAACGGTTCGGTATCAGCGGCTTCCATTTCCTGCTGA
+CGGCGTTCAGACGCCTCGCGCTCGGCGACAAAATCCTCTTCGCGCAGAATTTCCAACGGCTCTTCACGCA
+GCAGATTACGGTACGCTTCAGCAAACGCTTTGCCTGTTCCGCCAATACCAGTATCAATCATAGACCTTAA
+GATACGGGCAGAGAAAGTCAGATCGGGATTATCGAAGCAGGCGACCAGTTCATCACACACTTTCTGATAC
+GCTTCGCCGCCGTTAATGCTATCCAGCGTTTGCGCGACGCGTTTCAGATCGCGGAACAGATCTTTACCCA
+CCTGCGGTAACGGGAACTGCGCAGTTTCGCAGCCGATACCCAGCGTCAGGCCCGGTTTGCGACCTTCGAG
+GATCACCCGGTTCCAGTTAACGCGTGTACAGGCAAGTTCGCTACTGCTCATTTCCGGCGCATCAGCCAGC
+GCACACCAGACCATAAACAGGTCGAGGAATCGCACCTGTTGTTCATCTACACCAATCGGCGAGAACGGGT
+TGATGTCCAGCGAGCGGACTTCAATATATTCAATGCCGCCACGTAACAACGCATCAGAAGGCGACTCACC
+ACTGCGGGTAACGCGTTTTGGACGAATCGGCGCGTACAGTTCGTTTTCAATCTGCAGCACGTTGCTGTTG
+ATTTGCAGCCGCTTACCGTCTTTCTCAATACCAATCTTCGCGTACTCTTCCGATGGCGTTTTGATTGCCT
+GTTTAAGGCCCGCCACGTACTCGTAGAGATCATTGAAGGTGATACCAAGATTGCTTTGCGATTTATTGGT
+ATAGCCAAGATCGCTCAAACGAAGAGAGGTCGCATACGGCAGGTAATACATACCGCACTCGGTTTTCTCA
+AACGGCAGCGACGTTGGTTTTCCTTGCAGGAAAGAAGAACAAATCGCTGGAGACGCACCAAACAGATAAG
+GAATGACCCAACCGAAACGATAGTAATTGCGGATAACGCGGAAATAGCCCGCAGAAATTTTCTCTTTGGC
+ATCAGCGCCCGAGATATCACCGCACTTCGCTTGCCAGAATGCCATTGGCAAAGAGAAATTATAGTGCACG
+CCGGAAATGGTTTGCATCAGCGCGCCGTAGCGATTTTTCAGCCCTTCACGGTACAGCGTTTTAAAGCGAC
+CGGTGTTAGAAGTGCCGTACTGTGCCAGTTCGATGTCCTGACCTTCTGCGATATAGCATGGCATACTTAA
+CGGCCACATCCGCTCATCGCCCATATTGCGCGCCGTATAGCGATGCAGATCGCGCATAAAGGTCAGCATA
+TGTTCAATATCACCATCCACTGGTGTAATAAATTCCAGCAATGCTTCCGCAAAATCGGTAGTAATCCATT
+TATGGGTCAGTGCAGAACCTAATGCTTCAGGATGACCTGTTGTTGCCAGTGTGCCATCAGCATTAACACG
+CAAAGTTTCGCGCTCCAGCCCACGCTGTATCCCCTTTAACGCCTGAGGATGTTTTTCCAGCCAGGCCAGC
+GCCTGTGATACGTCCGGGATCAAATTGACCTCCCGCCTGTCAAAATCGTTTTAATTAGCATAACTGTAAT
+GGTGACCATATGTGCAGGCCTACAATTAGTGCCACCACATCATGCCCTGAACGGTAGCTGCTGCAACTGC
+AACATAGCGTAACGCTTTACCAAGGCACAAAAAAAAGATTACCGGTCCCCACGAGATGCGCATCCATCCC
+GCTAACAGACACAGTAAATCGCCAACCACGGGCATCCAGCTTAATAATAGCGTGACTGCACCATAGCGTT
+TCAGCCAGCCGGTAGCTTTCTCTTGCCAGCGCGATGTTTTACGCAATGGAAAGAAACGCCCAAGGATAAC
+GTTAGTTAACCCTCCAAGGCTATTACCCATTGTTGCTGTTAAAACTAAAACCCAGGGATGACTGATCCCG
+GAAAGCAACATTGCCACCAGCACGACTTCGGAGTTGCCGGGTAATAGTGTAGCGCTGAGAAAACTACTGG
+CAAACAACGAGAAAAGCGATAACGCTTCACTCACAGCAAGCGAACATCCACAGCGTCCATGCCTGCTGCA
+CGGGCCGCCTGAATACCGAAATCGGCATCTTCAAAGACCACACACTGCGTCGGTTGCACGCCCATACGCT
+GCGCGCACAACAAAAATGTGTCTGGCGCGGGTTTATGGTGTTTGACGTGATCGGCAGCGACGACGGCGTC
+AAAATAACGGCGTAATCCCAGGTGCGCCAGCAATGCCTCAGCGATGGCGCTTTCACTCCCCGTTCCTACA
+GCCATTGGGCGACGACCATGCCAGCTTTTCACCACTTCAACAAGAGGAAGCGGTTCGACACTATCCAGCA
+GCATACTTCTTACTGCTTCTGTTTTTTCACGCGCTAACGCATGCGGGTCGAGATCGGCCTGATTCAGCTC
+AATAATCGCCTGAGCAATACGCCAGGTGGGCGAGCCATTAAGCGCAATCATCGCCTGAACGTCGTACTGA
+AGACCGTAGTGCCCTAATACTTCGCGCCACGCTTTACGGTGCGTAGGCTCCGTATCCAGGATGGTGCCAT
+CCATATCAAAAATTAAACCTGCATAACGCTCGTACATGGTCTTCTCGCAAGTCGAAAAATATGACGCTAC
+TTTAGCGTAATTGCTTGATTTTGTCGCTGATGGAGAAGGAGAAGAAAATTCAGGAAATGGATAAAGTAGT
+TATTTAGAAATGAGATATTTTTGAAGGAAATTTTTTGGAGAAGATGGTGCATCCGGGAGGATTCGAACCT
+CCGACCGCTCGGTTCGTAGCCGAGTACTCTATCCAGCTGAGCTACGGATGCATCGGAAAAATTTATTTTA
+CTGCTGATATTGATATCGCTACTAAAGCCATATCAAGTAAGAGATGGTGCATCCGGGAGGATTCGAACCT
+CCGACCGCTCGGTTCGTAGCCGAGTACTCTATCCAGCTGAGCTACGGATGCATCGGGAAATTTATTTTAC
+TGCTGATATTGATATCGCTACTAAAGCCATATCAAGTAAGAGATGGTGCATCCGGGAGGATTCGAACCTC
+CGACCGCTCGGTTCGTAGCCGAGTACTCTATCCAGCTGAGCTACGGATGCATCGGGAAACTTACTTTACT
+GCAGATTTTTTGATACCGCCACTAAAGCCGTATCAAGTAAGAGATGGTGCATCCGGGAGGATTCGAACCT
+CCGACCGCTCGGTTCGTAGCCGAGTACTCTATCCAGCTGAGCTACGGATGCAAATGGCGGTGAGGCGGGG
+ATTCGAACCCCGGATGCAGCTTTTGACCGCATACTCCCTTAGCAGGGGAGCGCCTTCAGCCTCTCGGCCA
+CCTCACCACACGCCTCTTACGAGTGCTTCGAAGAACTTGTTTATCGCTCATCGTCGCTGCGTGGCGCACA
+TATTACTTTCTGAGACTTATAAGTCAAACAATTTTTCCCACACTTTTATCGTTTGCACACTTCACGCTCA
+ATTAGTCTGTAAAAACGTCAAAAAGAGTGTTTTATCAACAGAAAAACGGAGGTCTGACAGATAGCAGTAA
+TGCAAAAAATGGAGACTTAAGTTGAATGAACGGGAGTAAAGTGAAAAGACAATGGAGTGAAAGAGAAATT
+TTGAGGGTGCGTCTCACCGATAAAGATGAGACGCGGAAAGATTAGTAACTGGACTGCTGGGATTTTTCAG
+CCTGGATACGCTGGTAGATCTCTTCACGGTGAACAGAAACTTCCTTCGGGGCATTTACGCCAATACGTAC
+CTGGTTGCCCTTTACCCCTAAAACTGTCACGGTGACCTCATCCCCAATCATGAGGGTCTCACCAACTCGA
+CGAGTCAGAATCAGCATTCTTTGCTCCTTGAAAGATTAAAAGAGTCGGGTCTCTCTGTATCCCGGCATTA
+TCCATCATATAACGCCAAAAAGTAAGCAATGACAAACACATTACATCTAAGCAGTCATGGCATTACATTC
+TGTTAAACCTAAGTTTAGCCGATATACACAACTTCAACCTGACTTTATCGTTGTCGATAGCGTTAATGCG
+AATGCCGTGAAGCGAGTCCACGGCATTGCCTGACGCTTATATTATTGCAATTTCGCGCTGACCCAGCCTT
+TCACACTGGCTAACGCTGCAGGTAAGGCCGCAGCATCCGTACCACCGGCTTGCGCCATGTCAGGACGTCC
+ACCACCCTTGCCGCCCACCTGCTGAGCGACCATACCAATCAGTTCCCCTGCTTTCACACGATCTGTGACG
+TCCTTAGATACGCCTGCAATCAGAGAAACCTTACCTTCGGCTACCGTTGCCAGCACGATAATTGTCGACC
+CCAGCTGATTTTTTAAATCGTCAACCATGGTACGCAACATTTTCGGCTCAACACCGCTAAGCTCGCTAAC
+CAACAGCTTAACACCATTAACATCAATTGCCTTACTGGAAAGATTTGCGCTCTCCTGTGCGGCAGCTTGT
+TCTTTAAGCTGTTGTAACTCTTTTTCCAGCTGACGCGTACGTTCCAGTACTGAACGCACTTTATCAGCCA
+GATTATTGCTATCGCCTTTCAGCAGATGCGCGACTTCGCTTAAGCGCTCACTGTCTGCATGAACGGTGGC
+GATAGCGCCTTCTCCGGTTACCGCTTCGATACGACGAACGCCTGCAGCAGTACCCGATTCAGAGATGATG
+CGGAACAGACCAATATCACCAGTGCGGCTGGCGTGAGTACCGCCACACAGCTCGGTGGAGAAATCGCCCA
+TGCTCAGCACGCGTACGCGCTCATCATACTTCTCGCCGAACAGTGCCATCGCACCTTTCGCTTTTGCCGC
+TTCGAGATCCATGATGTTGGTTTCGATCGGCAAGTTACGGCGAATCTGTGCGTTCACCAGGTCTTCGACC
+GCACGAATCTCTTCTGGTTTCATCGCTTCGTTGTGTGAGAAGTCGAAGCGCAGCACTTTGTCGTTAACCA
+GTGAACCTTTCTGCGATACATGAGTACCCAGAACCTGGCGCAGCGCAGCGTGCATCAGGTGCGTTGCGGA
+GTGATTCAGACGAATACGGGCGCGACGAGCCTCATCAACATCAGCCTGCACAGCGTCGCCTACTTTCAGA
+GAACCCGCAGCAAGTTTACCGATGTGGCCAATCGCCTGGCCGTATTTCTGCGTATCTTCCACCGCGAAGG
+AGAAGTTAGCGCCTTTCAGTTCGCCTTTATCACCAACCTGACCGCCGGATTCCGCATAGAATGGCGTTTG
+ATCCAGCACGACCACAGCTTCCTGGCCTGCATTGATGGCATCAACCGCTTTACCATCAACAAACAGCGCG
+GTCACTTTGCCGTTCAGTTCCAGATGGTCATAGCCTTTAAATTCAGATGCACTGTCAACACGGATCATTG
+CGTTGTAATCGGCACCAAAGCCGCTGGCTTCGCGCGCACGACGACGCTGCTCTTCCATTGCTGCTTCAAA
+ACCAGCTTCGTCAACTTTGATGTTGCGCTCACGACAAACATCAGCCGTCAGGTCAACCGGGAAGCCGTAG
+GTGTCGTACAGGCGGAAAGCAGTTTCACCATCCAGCGTATCACCAGAAAGTTTTGCCAGCTCTTCATCCA
+GCAGCGCCAGACCGCGCTCCAGAGTACGGGCAAACTGCTCTTCTTCAGTCTTCAGCACCTGCTCAACCTG
+CGCCTGCTGGCGTTTCAGGTCTTCACCCGCAGAGCCCATAACGTCGATCAGCGGACCAACCAGTTTGTAG
+AAGAAGGTTTCTTTCGCGCCGAGCATATTGCCGTGACGCACTGCGCGACGAATGATACGACGCAGTACAT
+AACCACGGTTTTCGTTGGACGGCATTACGCCATCCGCGATCAGGAACGCACAAGAACGAATGTGGTCAGC
+GATTACGCGCAGCGATTTATTGCTCAGATCGGTTGCGCCAGTGACTTTCGCTACCGCCTGGATCAGCGTG
+CGGAACAGGTCGATGTCATAGTTAGAGTTAACGTGTTGCAGCACCGCAGCAATACGCTCCAGACCCATAC
+CAGTATCTACAGACGGTTTCGGCAGCGGTTCCATCGTGCCATCGGCCTGGCGGTTGAACTGCATGAAGAC
+GATGTTCCAGATCTCAATGTAGCGGTCGCCGTCTTCTTCCGGACTTCCCGGAGGGCCGCCCCAAATGTGG
+TCGCCGTGATCGTAGAAGATTTCGGTGCACGGGCCGCACGGACCAGTGTCACCCATCTGCCAGAAGTTGT
+CAGATGCGTATGGCGCACCTTTGTTATCGCCGATGCGAATAATACGTTCGCGCGGGATCCCTACTTCTTT
+TTCCCAGATTTCGTAGGCTTCGTCGTCGCTTTCATAGACGGTAACCCACAGACGCTCTTTCGGCAGGGCA
+AACCATTTTTCGCTGGTCAGCAGTTCCCATGCAAACTGAATGGCATCGTGTTTGAAATAGTCGCCGAAGC
+TGAAGTTGCCCAGCATTTCGAAGAAGGTATGGTGACGCGCGGTGTAACCGACGTTTTCCAGGTCGTTGTG
+TTTACCACCCGCACGCACGCAGCGTTGGGAAGTGGTAGCGCGGGAATAATTACGCTTGTCGAGCCCAAGG
+AACACATCCTTGAACTGGTTCATCCCGGCGTTGGTAAACAACAGAGTTGGGTCGTTATGGGGTACCAGGG
+AGCTGCTGGCAACTACCTGATGTCCCTTACTATGGAAAAAGTCGAGAAACGCCTGACGGATCTCAGCGGT
+GCTCTTGCTCATAATTATCCTGAAATCAAGCTAACGAAATATCGCTACCAGCCGTTGCGTGTCGTTAACC
+GCCCGGCTGGTAACTGAAAAGTGGGAATAAGATAAGTTTTCTTGACTGGGAAGTAAAATCCCGTATGCGT
+TCAGTCGGCAAAATTTCGCCAAATATCCTGGATATCTTCCATCAGATAGCCACGATAGAGCAGAAAACGC
+TGGATCTTAACTTTTTCTGAAAAGACAGTTGGCAAAGGTTCGCCATATTTTCGCGTCGCCTGATCGCGCG
+CCAGTGCGCACCAGTCGATGTCACATTCACGCATCGCTTTTTCTGTCGCTTCGCGGGAAATACCTTTCTG
+ATTCAGTTCCTGACGAATACGCGCAGGTCCATAACCTTTGCGGCTACGGCTGGCGATAAAGCGCGCAACA
+AATCGGCTGTCATCAAGATAGCCATGTTCATGGCACCAGGCAATAACGCGCTCGTAATCTTCTGCCGTGG
+CATCAATCTCTTCCGGGCCATTTTTGCCCATAATCGGTGCCGCGAGTTTACGTCGCAGTTCTTGCTCACT
+GTGATCGCGCACCGCCAGAATGCGTACCGCACGATCCAACAGGCGAGCATATGCCGGGCGACGGGATGTT
+GATTCTGTCATGGCATATCCTTACAACTTAAAAAAGCAAAAGGGCCGCAGATGCGACCCTTGTGTATCAA
+ACAAGACGATTAAAAATCTTCGTTAGTTTCTGCTACGCCTTCGCTGTCATCTACAGAGAAATCCGGCGTT
+GAGTTCGGGTTGCTCAGCAGCAACTCACGTACTTTCTTCTCGATCTCTTTCGCGGTTTCTGGGTTATCTT
+TCAGCCAGGCAGTCGCATTCGCTTTACCCTGACCGATCTTCTCACCTTTGTAGCTGTACCACGCGCCTGC
+TTTCTCGATAAGCTTCTCTTTCACGCCCAGGTCAACCAGCTCGCCGTAGAAGTTGATACCTTCGCCGTAG
+AGGATCTGGAATTCAGCCTGTTTAAACGGCGCAGCGATTTTGTTCTTCACCACTTTCACGCGGGTTTCGC
+TACCCACCACGTTTTCGCCCTCTTTCACCGCGCCGATACGACGGATGTCGAGACGAACAGAGGCGTAGAA
+TTTCAGCGCGTTACCACCGGTAGTGGTTTCCGGGTTACCAAACATCACACCAATTTTCATACGGATCTGG
+TTGATGAAGATCAGCAGCGTGTTGGACTGCTTCAGGTTACCCGCCAGCTTACGCATCGCCTGGCTCATCA
+TACGTGCCGCAAGGCCCATGTGAGAGTCGCCGATTTCGCCTTCGATTTCCGCTTTCGGCGTCAGTGCCGC
+CACGGAGTCAACGACGATAACGTCTACTGCGCCAGAACGTGCCAGGGCGTCACAGATTTCCAGTGCCTGC
+TCGCCGGTATCCGGCTGGGAGCACAGCAGGTTGTCGATATCGACGCCCAGTTTACGTGCGTAGATTGGGT
+CCAGCGCGTGTTCAGCATCGATAAACGCACAGGTTTTACCTTCGCGCTGCGCTGCGGCGATCACCTGCAA
+CGTCAGCGTGGTTTTACCGGAAGATTCTGGTCCGTAGATTTCGACGATACGGCCCATCGGCAGACCACCT
+GCCCCAAGCGCGATATCCAGTGAAAGCGAACCGGTAGAGATGGTTTCCACATCCATGGAACGGTCTTCAC
+CCAGGCGCATGATGGAGCCTTTACCAAATTGTTTCTCAATCTGGCCCAGTGCTGCCGCCAACGCTTTCTG
+TTTGTTTTCGTCGATAGCCATTTTTACTCCTGTCATGCCGGGTAATACCGGATAGTCAATATGTTCTGTT
+GAAGCAATTATACTGTATGCTCATACAGTATCAAGTGTTTTGTAGAAATTGTTGCCACAAGGTCTGCAAT
+GCATACGCAGTAGCCTGACGACGCACCGCATCACGGTCACCGCTGAAGCATTCCCGCCGGGTAATGCCTT
+CACCACGGGCAGTGGCAAAAGCAAACCAGACGGTGCCGACAGGCTTCTCTTCACTGCCGCCATCCGGCCC
+GGCGATACCACTAATAGACACGGCGTAATCAGCACGAGCCGCTTTCAGTGCGCCTATCGCCATTTCCACC
+ACGACGGGTTCACTCACCGCGCCATGCTGCGCCAGCGTCTCTTCGCGCACGCCGATCATCTGCGCTTTGG
+CTTCGTTACTGTAGGTGACAAATCCGCGTTCAAACCAGGCGGAACTGCCGGCAATATCGGTAATCACTTT
+CGCTACCCAACCGCCGGTACAAGACTCAGCAGTTGTTACGGTTGCGCCACGGGCTTTCAGCGCCTGCCCA
+ACCTGTTCGCTTAACTGCATCAGTTCACTGTCAGTCATCACAACCTCTGTCAGTCAAAAATTTATGCCGG
+ACAAGATAACACTTTCGTCAGGAAGATGGTGTTGGCGTAGCAATTTTACGAGGAGGATTCAGAAAAAAGC
+TGATTAGCCAGAGGGAAGCTCACGCCCCCCTCTTGCAAATAGTTACTGCACGCGCGCCAGCGCCACGGCT
+TGTCCTAACTGCCAGACCGCCATTGCGTAATGGGTGCTGTGGTTATAACGGGTAATGGTGTAGAAGTTCG
+GCAGACCGTACCAGTACTGGTAGCCGGTGCCAACATCCAGACGCAGCAGGCTGGCTTGTTGATGGTTGCC
+CAGCGGCTGCTGTGGCGTTAAACCTGCCGCGGCAAGCTGCGAAATGCTGTACCTGGTTTTGAAGCCATTT
+GGCAAGCCTGGCGCCTGACCGTTTGCCATTACCGCGACCTGATCGCCTTTCACCCAGCCGTGCGCTTTGA
+AATAATTCGCCACGCTACCGATCGCATCAACCGGATCCCACAGGTTGATATGCCCGTCGCCGCTGAAATC
+TACCGCGTATTGTTTGTAAGACGACGGCATAAACTGACCGTAGCCCATCGCCCCGGCAAAGGAACCTTTC
+AGATTGAGCGGATCGTCCTGCTCGTCGCGCGCCATCAGCAGGAAGGTTTCCAGCTCGCCAGAAAAATACT
+CCGCGCGGCGTGGGTAGTTAAATGACAGCGTTGCCAGCGCATCGAGGATGCGAGTTTTCCCCATCACGCG
+CCCCCAGCGGGTTTCAACGCCGATAATCCCGACGATAATTTCCGGCGGTACACCATACACCTGCCACGCG
+CGATTCAACGCATCTTCATACTGATTCCAGAAAACCACACCGTTCTGCACGTTGTCCGGCGTAATAAATT
+TTTTGCGATAACGCAGCCATGCGCCGTTCGGACCTGATGGCGGTTTCACCGATGTGGTTGGTGCCTGGTT
+ATCCATCAGCCGCAGTACCGAATCCAGACGTTTCGCCTGGGAGAGAATTTCCTGCAACTGCTGACGATCG
+AAACCGTGTTTGTTCACCATTTTGTCGATGAACTGCTGGGCATTCGGGTTATTGGCGAAATCACCGCCCA
+TCTGCATCACATTGTGCTGCGGCTCAAGCAGGAAGCCGCCAGACGGCGTTCCGGTGGTCGTTTCAGTCTC
+AGTAGGTTTTGGCTTGCTGCTACAGGCGGCAAGCAACACAAAAAGGGGAAGCAATGTTACATAACGACGC
+TTGAACATGAGGGGTCCATTTAACAGATTCAACCAGGGGCAAGTATGGTAAAGCATCCCGCCCCGCACAA
+GGAAGCGGTAGTCACTGCCCGATACGGACTTTACATAACTCAACTCATTCTCCTTACTACCTTCTTTATA
+CAAACTTTCAAAATAAAATATTTATCTTTCATTCTGCGATCAAAATAACACTTTTAAATCTTTCAATCTG
+ATTAGATTAGGTTGCCATTTGGTAATAAAACAATAAATACTGAAGGAGAGAACAATGATAGAAACCATTA
+CTCATGGCGCAGAGTGGTTCATCGGGCTGTTCCAGAAAGGCGGAGAAGTGTTTACCGGGATGGTAACCGG
+CATTCTTCCGCTGTTAATTAGCCTGCTGGTTATCATGAACGCATTGATTAATTTTATCGGTCAGCATCGT
+ATTGAACGATTTGCTCAACGTTGCGCCGGTAACCCTGTTTCCCGTTACCTGCTGCTACCGTGCATTGGTA
+CGTTTGTCTTTTGTAACCCGATGACCTTAAGTCTTGGTCGCTTTATGCCGGAAAAATACAAACCCAGCTA
+CTACGCAGCGGCCTCTTATAGCTGCCACTCAATGAATGGCCTCTTCCCCCATATCAACCCTGGCGAACTG
+TTTGTTTATCTTGGCATTGCCAGCGGTCTGACGACGCTGAATCTGCCACTTGGCCCACTGGCAGTGAGTT
+ATCTGCTGGTTGGTTTGGTCACCAACTTCTTCCGCGGCTGGGTAACCGATCTGACCACCGCTATTTTCGA
+GAAAAAGATGGGCATTCAACTTGAACAAAAAGTTCACCTGGCAGGAGCAACATCATGACACGCATTCGGA
+TCGAAAAAGGAACGGGTGGCTGGGGCGGCCCGCTTGAGCTGGAAGCCACGCCGGGCAAAAAAATCGTCTA
+TATCACCGCCGGTACCCGGCCTGCGATTGTTGACAAACTGGCACAGCTTACTGGCTGGCAAGCTATCGAC
+GGATTTAAAGAAGGTGAACCCGCGGAGGCGGAAATTGGTGTCGCGGTAATCGACTGTGGCGGCACATTAC
+GCTGCGGCATCTATCCGAAACGGCGTATTCCCACCATTAATATCCACTCGACGGGCAAGTCCGGCCCGCT
+GGCGCAGTACATTGTGGAAGATATTTATGTCTCTGGTGTAAAAGAAGAAAACATCACTGTAGTGGGTGAG
+GCGACACCACAACCCTCTTCCGTGGGCCGTGACTATGACACCAGCAAGAAAATCACCGAACAAAGCGATG
+GTTTACTGGCGAAGGTGGGAATGGGTATGGGTTCTGCCGTTGCCGTGTTGTTTCAATCTGGTCGTGACAC
+CATCGACACTGTATTAAAAACCATTCTGCCGTTTATGGCGTTCGTCTCGGCGCTTATCGGCATCATTATG
+GCTTCCGGTCTTGGCGACTGGATTGCCCACGGTCTTGCTCCGCTGGCGAGCCATCCTCTGGGGCTGGTCA
+TGCTGGCGCTCATCTGCTCCTTCCCGCTGCTTTCACCTTTCCTCGGCCCAGGCGCAGTTATCGCACAGGT
+TATCGGCGTATTGATTGGCGTGCAGATTGGTCTCGGCAATATTCCGCCGCATCTGGCTTTACCTGCACTG
+TTTGCCATCAACGCGCAGGCGGCCTGCGACTTCATCCCGGTCGGTTTGTCGCTGGCGGAAGCTCGTCAGG
+ACACGGTTCGCGTCGGTGTCCCTTCTGTTCTGGTGAGCCGCTTTTTAACCGGCGCGCCAACTGTACTGAT
+CGCCTGGTTTGTCTCCGGTTTTATCTATCAATAGAGGCTGAAACATGACCGTTATTTATCAGACCACCAT
+CACCCGTATCGGCGCGAGTGCCACTGACGCCCTCAGCGACCAGATGCTCATCACCTTTCGTGAAGGCGCG
+CCTGCGGATCTCGAAGAGTATTGCTTCATTCATTGCCACGGCGAGTTAAAAGGTGCACTCCATCCCGGTT
+TGCAATTTACGCTCGGGCGGCATCGCTATCCGGTGACCGCCGTTGGCAGCGTGGCGGAAGACAACCTTCG
+CGAACTGGGTCATGTCACCCTGCGCTTCGATGGTTTAAGCGAAGCGGAATTTCCGGGCACTGTCCATGTG
+GCAGGCCCTGTACCCGACGATATCGCGCCGGGATCGGTTTTGAAGTTTGAATCTGTTAAGGAGTAAAAAA
+TGAATCAGGTTGCCGTTGTCATCGGTGGTGGGCAAACCTTAGGCGCGTTCCTGTGCCACGGTCTGGCTGC
+CGAGGGGTATCGCGTGGCGGTTGTCGATATTCAGAGCGACAAAGCCGCAAATGTGGCACAAGAAATTAAC
+GCCGAATATGGTGAAGGAACAGCGTACGGTTTTGGTGCTGACGCCACCAGCGAGCAAAGCGTTCTGGCGC
+TTTCTCGTGGGGTAGATGAAATCTTTGGTCGCGTGGATTTGCTGGTCTACAGCGCCGGAATAGCAAAAGC
+AGCCTTTATCAGCGACTTCCAGCTCGGCGATTTTGACCGTTCGCTACAGGTGAATCTGGTGGGTTATTTC
+CTGTGTGCCCGTGAATTTTCGCGTTTGATGATCCGCGACGGGATTCAGGGTCGCATTATTCAGATCAACT
+CGAAATCCGGCAAAGTGGGCAGCAAACACAACTCTGGCTACAGCGCAGCGAAATTTGGTGGCGTCGGGCT
+GACTCAATCACTGGCGCTGGATCTGGCGGAGTACGGCATTACGGTGCATTCGCTGATGCTCGGTAACCTG
+CTGAAATCGCCTATGTTCCAGTCACTGTTGCCACAATACGCGACCAAGCTGGGTATCAAACCGGAGCAAG
+TCGAGCAGTATTACATCGATAAAGTACCGCTCAAACGCGGCTGCGATTATCAGGATGTGCTGAATATGCT
+GCTGTTCTACGCCAGTCCTAAGGCGTCGTACTGCACTGGTCAGTCGATCAATGTCACCGGCGGTCAGGTG
+ATGTTCTGATCAACAGCGGAGATCTTTTAAGGATCTCCGCGCGACTAATAGAATGCCTGATGCGCTACGC
+TTATCAGGCCTACAGGACTTCCGCCACTACATTACGGAGAAGTTATGGTATCCGCACTCATCACCGTCGC
+CGTTATCGCCTGGTGTGCGCAACTGGCCTTAGGCGGTTGGCAAATTTCTCGTTTTAACCGTGCCTTCGAC
+ACGCTATGCCAGCAAGGGAGGGTTGGCGTGGGCCGTTCCAGCGGGCGCTTTAAACCGCGGGTCGTGGTCG
+CTATTGCGCTGGACGATCAGCAGCGCATCGTCGACACCTTGTTTATGAAAGGACTGACCGTCTTCGCCCG
+ACCGCAAAAAATTCCCGCAATTACCGGCATGCATGTGGGTGATTTACAGCCCGATGTGATCTTTCCCCAT
+GATCCACTATCACAGAATGCTCTATCATTGGCGCTTAAACTGAAACGTGGATAATTTCGTTGTGAATGTT
+ACTTGCTTGCGAAGTTATCATTTTGAAACCTAAATCAGGTAATCACGCCCATGAAACCTCGTCAGCGTCA
+GGCCGCCATTCTGGAGTATCTACAAAAGCAGGGTAAATGCTCGGTTGAAGAATTGGCGCAATACTTTGAC
+ACCACAGGCACAACCATTCGCAAAGATCTGGTCATTCTGGAACATGCCGGAACCGTCATTCGTACTTATG
+GCGGCGTGGTGTTGAACAAAGAGGAATCCGATCCGCCTATCGATCATAAAACGCTTATCAACACCCACAA
+AAAAGAGCTGATTGCAGAAGCTGCCGTTGGTTTTATTCATGATGGCGACTCAATAATTCTTGATGCTGGC
+AGTACCGTGTTGCAGATGGTGCCTCTGCTATCGCGCTTTAATAACATCACGGTGATGACCAACAGCCTGC
+ACATCGTCAATGCGCTATCCGAACTGGATAACGAACAAACTATCCTGATGCCAGGCGGAACATTTCGCAA
+AAAATCGGCCTCATTTCACGGGCAACTGGCAGAGAATGCCTTCGAGCATTTCACCTTCGATAAATTGTTT
+ATGGGCACCGACGGCATCGATCTCAATGCGGGCGTAACCACCTTTAACGAGGTCTATACCGTCAGTAAGG
+CGATGTGTAATGCCGCGCGCGAAGTGATTTTGATGGCTGACTCATCGAAGTTTGGTCGTAAAAGCCCCAA
+CGTGGTTTGTAGTCTTGAAAGCGTCGATAAGCTGATTACCGACGCAGGTATCGATCCAGCGTTTCGTCAG
+GCGCTGGAAGAAAAAGGGATCGACGTGATCATAACCGGAGAGAGCAATGAGTGAAGCACTACTGAACGCG
+GGACGTCAGACGTTAATGCTGGAGTTGCAGGAAGCAAGCCATTTACCGGAACGTCTGGGCGATGATTTCG
+TTCGCGCCGCCAATATCATCCTGCACTGCGAAGGCAAAGTGGTGGTTTCGGGAATTGGCAAATCGGGCCA
+CATTGGTAAGAAAATCGCCGCAACGCTTGCCAGCACCGGCACTCCTGCCTTTTTTGTCCATCCGGCAGAG
+GCATTGCACGGCGACCTGGGGATGATCGAAAGCCGCGATGTGATGCTGTTTATCTCTTACTCCGGTGGCG
+CGAAGGAACTGGATCTGATTATTCCGCGTCTGGAAGATAAATCTATCGCGCTGCTGGCGATGACCGGCAA
+ACCGACGTCACCGCTGGGCCTGGCGGCGAAAGCGGTGCTGGATATCTCCGTAGAACGCGAAGCCTGTCCG
+ATGCACCTTGCGCCGACCTCCAGCACCGTGAATACCCTGATGATGGGTGACGCGCTGGCGATGGCGGTCA
+TGCAGGCGCGCGGATTTAACGAAGAAGATTTTGCCCGCTCCCACCCTGCTGGAGCACTGGGCGCTCGCTT
+GCTGAATAAAGTGCATCATCTGATGCGCCGTGATGACGCTATCCCGCAGGTAGCGTTAACCGCCAGCGTG
+ATGGATGCGATGCTGGAACTTAGCCGCACCGGTTTAGGTCTGGTGGCAGTGTGCGATGATCAACGACTGG
+TGAAAGGCGTCTTTACCGACGGTGATTTACGTCGCTGGCTGGTTGGCGGCGGCGCACTCACCACGCCAGT
+TAATGAAGCGATGACGACAGGCGGCACCACATTACAGGCACAAAGTCGCGCCATCGACGCCAAAGAGATC
+CTGATGAAGCGCAAAATCACTGCCGCACCGGTAGTGGATGAAAACGGCAAACTCACCGGCGCAATTAACC
+TGCAGGATTTCTATCAGGCCGGGATTATTTAATCCTTCAGCCCCAGACGTTTCGCCAGCCGATGCAGGTT
+GGCGACGTCGGTTTCCAGCATCCGCGCACAGGCGGCCCAGTTGTGATGATTTTGCGCCAGTGCCTGACGA
+ATGGTTTCACGCTGGAACGCTTCTGTCGCTTCACGCAGGTTTTGCTTAACAACGGGCACCGCCGCCGCTT
+CTGGCGGCGGCAACGTCACCTCAGGAAAAGCAAAATGTTGCGCCTCAAGAATCACTTCATCGCCGCTGCG
+GGTGGCTCTCGCCAGCACTACCGCCCGATGAATAGCATGTTCCAGTTCACGAACGTTCCCCGGAAAATTG
+TAGTGTTGCAGTAAATTTCGCGCTCCGGCACTTAATACCACTCGGGAGAGCCCCAGCCGCAAACGACACT
+GCTCGCAGAAATACCCCGCCAGCAGAATGACATCATCGCCCCGCTCACGCAGCGGCGGCACTGAAAGTGG
+AAACACGCTCAGGCGGTGGAACAAGTCAGCGCGAAATCGCCCTGCCAGTACCTCTTCGCGTAAGTCACGG
+TTAGTCGCCGCCAGCACGCGCACATCGACCCGCAAACTGCGGTCATCGCCAACGCGTTGAATATCGCCAT
+ACTGCAACACCCTCAGCAGCTTGGCCTGCAATGCCAACGACAACTCGCCGATCTCATCGAGAAACAGCGT
+ACCGTTATCCGCCATTTCAAACTTCCCGCTGCGGTTACTGATAGCACCAGTAAACGCCCCTTTCACATGC
+CCGAACAACTCACTTTCCGCCACACTTTCCGGCAGTGCGGCACAGTTGAGATAGACCAGCGGATTCACCG
+CCCGTGGCGAGGCTTCATGAATCGCTTTCGCCACCAGCTCCTTACCGGTTCCCGTCTCACCGCTAATTAA
+AACGTTGAGATCGGATGCCGCCACAATCTCAATCTCTTTTTTCAATTGCGTCATGCCTGGCGACAGACCA
+ATCATCTGCGTCTGTTTCACCGCTTCAAACGGCGCGGCATCGCCTGGCAGCATATTCTGGCTTTCCAGTT
+GTTCAATCAGCAATGCATTGCTTAACGCTCCCGCCGCCAGTGCGGCAATCAGCCGTAGCTCTTCGTCGCT
+GAAAACATCGAACTGATCGGGCTGCATCCCGTCGAGCGTCAAGGCACCGATCAGGTTTTGCCCGGCAAAC
+AACGGCAAACCAACGCAGGCGTGAACCTTCAGACTCTCCTGCCCTGGAATCAAACCGTCATAAGGATCGG
+GCAATTCGCTGTCTGCGGGAAAGCGCACCACGTCCCCGGCGCGGGCAATCGCTTCCAGCCGTGGATGACC
+TTCCAGCGCAAAGCGTCTACCGAGTACATCCTTCGCCAGCCCGTCGATGGCAAGCGGAATAAACTGCCGC
+GAGTCGTAACGTAGCAACGCAGACGCATCGCACTCCAGCACCTGACGCAGCGTGGTGATCAGGCGCTGAA
+AACGATCCTGATGACCAATCCCACGCTGCAATTCGATGGCGATATTCGCCAGCACATCAACGGAAAAACT
+CATCTTTGCCTCACTGTCAATTTGACTATAGATATTGTCATATCGACCATTTTATTGATAGTCATTTTGA
+CTACTCATTAATGAGCACAATTTTATTTATAGAGTAAAAACAATTAGATAAAAAACTGGCACGCAATCTG
+CAATTAGCAAGACATCTTTTTAGAACACGCTGAATAAATTGAGGTTGCTATGTCTATTGTGGTGAAAAAT
+AACATTCATTGGGTTGGTCAACGTGACTGGGAAGTGCGTGATTTTCACGGTACAGAATATAAAACGCTGC
+GCGGCAGCAGCTACAACAGCTACCTCATCCGCGAAGAAAAAAACGTGCTGATCGACACCGTCGACCATAA
+ATTCAGCCGCGAATTTGTGCAGAACCTGCGTAATGAAATCGATCTGGCGGATATCGATTACATCGTAATT
+AACCATGCTGAAGAGGACCACGCCGGGGCGCTGACCGAACTGATGGCACAAATTCCCGATACGCCGATCT
+ACTGTACTGCCAACGCTATCGACTCGATAAATGGTCATCACCATCATCCGGAGTGGAATTTTAATGTAGT
+GAAAACTGGCGACACGCTGGATATCGGCAACGGCAAACAACTCATTTTTGTCGAAACGCCAATGCTGCAC
+TGGCCGGACAGCATGATGACTTACCTGACAGGCGACGCGGTGCTGTTCAGTAACGATGCTTTCGGTCAGC
+ACTACTGCGACGAGCATCTGTTCAACGATGAAGTGGATCAGACTGAGCTTTTCGAGCAGTGCCAGCGTTA
+CTACGCCAATATCCTGACGCCGTTCAGCCGCCTGGTAACGCCGAAAATTACCGAGATCCTGGGCTTTAAC
+TTGCCAGTCGATATGATAGCGACCTCTCACGGCGTGGTATGGCGCGATAACCCGACGCAAATTGTCGAGC
+TGTACCTGAAATGGGCGGCGGATTATCAGGAAGACAGAATCACCATTGTCTACGACACCATGTCGAATAA
+CACCCGCATGATGGCTGACGCTATCGCCCAGGGGATTGCGGAAACCGACCCACGCGTGGCGGTGAAAATT
+TTCAACGTCGCCCGAAGCGATAAAAACGAAATCCTGACCAATGTCTTCCGCTCAAAAGGCGTACTGGTCG
+GCACTTCTACGATGAATAATGTGATGATGCCGAAAATCGCCGGGCTGGTGGAGGAGATGACCGGATTACG
+CTTCCGTAACAAACGCGCCAGCGCTTTCGGCTCTCACGGCTGGAGCGGCGGTGCGGTGGATCGTCTTTCC
+ACGCGCCTGCAGGATGCGGGTTTCGAAATGTCGCTTAGCCTGAAAGCCAAATGGCGACCAGACCAGGACG
+CTCTGGAGTTATGTCGTGAACACGGTCGCGAAATCGCCCGTCAGTGGGCGCTCGCGCCGCTGCCACAGAG
+CACGGTGAATACGGTGGTTGAAGAAGAAACCTCTGCCGCCACGACGGCTGACCTCGGCCCACGGATGCAA
+TGCAGCGTCTGCCAGTGGATTTACGATCCGGCAAAAGGCGAGCCAATGCAGGACGTTGCGCCAGGAACGC
+CGTGGAGTGAAGTCCCGGATAACTTCCTGTGCCCGGAATGCTCTCTCGGCAAAGACGTCTTTGACGAACT
+GGCATCGGAGGCAAAATGAGCAACGGCATTGTGATCATTGGTTCGGGCTTCGCCGCCCGCCAACTGGTGA
+AAAATATTCGCAAACAGGACGCCAGTATTCCATTAACTCTGATTGCCGCCGACAGCATGGATGAGTACAA
+CAAACCTGACCTCAGCCATGTTATCAGTCAGGGGCAACGTGCCGACGACCTTACCCGCCAGACGGCAGGT
+GAATTTGCCGAGCAGTTTAATCTACGCCTGTTTCCGCACACCTGGGTAACGGATATCGATGCCGAAGCCC
+ATGTGGTGAAAAGTCAGAATAATCAGTGGCAATACGACAAGTTAGTGCTGGCAACCGGTGCCAGCGCCTT
+TGTCCCGCCAGTGCCCGGGCGTGAGTTAATACTGACGTTAAATAGTCAGCAAGAGTATCGCGCCTGTGAA
+ACACAACTGCGGGATGCCCGACGCGTGTTGATTGTTGGCGGTGGTTTGATTGGTAGCGAACTGGCGATGG
+ATTTTTGTCGGGCAGGCAAAGCGGTCACGCTAATCGACAACGCTGCCAGTATTCTGGCGTCGTTAATGCC
+ACCGGAAGTCAGCAGCCGCTTGCAGCATCGGTTGACGGAGATGGGTGTTCATCTGCTGTTGAAATCTCAG
+TTGCAGGGACTAGAAAAAACAGATTCTGGCATTCTGGCAACGCTGGACCGCCAGCGCTGCATCGAAGTGG
+ATGCGGTAATTGCCGCCACCGGACTGCGCCCGGAAACCGCCCTGGCACGACGCGCCGGGCTGACGATTAA
+TCGCGGCGTTTGCGTCGATAGTTATCTGCAAACCAGTAATGCCGATATTTATGCGCTGGGCGATTGCGCG
+GAAATTAACGGTCAGGTATTGCCGTTCCTCCAGCCGATTCAACTTAGCGCGATGGTGCTGGCAAAAAATC
+TTCTCGGCAATAACACGCCGCTGAAACTCCCGGCGATGCTGGTGAAAATCAAAACGCCGGAATTACCGCT
+GCATCTGGCAGGCGAAACCCAGCGTCAGGATTTACGCTGGCACATTTATACCGAACGCCAGGGAATGGTG
+GCGCGCGGCGTTGACGATGCTGACCAGCTTCGCGCCTTTGTGGTCAGTGAGGATCGGATGAAAGAGGCAT
+TTGGATTGTTGAAAACGTTGTCGATGTAGGCGAGCTACAGTGCCCCAAATGTCGGATGCGGCGCTGACGC
+GTCTTATCCGACCTACAGGGAACGCATGTGTTGATCACATAATACGTTTATGTCGCATTGCACTGTCCCA
+AAATGTCGGATGCGACGCTGGCGCGTCTTATCCGACCTGCGGGGACGCACGTGTAGGCCGGATAAGGCGT
+TTACGCCGCATCCGGCAATGGTGTCCAAATGCAACACGCTTTATCCGTTCTGGACTTCCCCTGCCAACCA
+ACGCGCCGCAACAATAACCCCCTGCCCCAGAGACAATCCACCATCGCCCGCCGGTAAACTCTGCGGGAAG
+AGCAACGTAAAATCAGCAAGATAATGCGCCAGACGTGCACGCAGCAAACGGTTATGAATAACTCCGCCGC
+TAAATACCAGCGTAGTGATACCCCGCATCGTGGCCTGCTCACGCATCAACGCGGCAAAACCCTGCGCCAG
+CGCATCATGAAACGCCCACGCGCGTTGATTAACCGGAGCCTGCCAGCTCAGCCACTGCTGCCAGAAAGTG
+GCGAGATCCAGTTGATTGTCCACCAGCGGCATCGTCACCGGATGCGTCACGCCGTGGCACGAAGCCGCCA
+TCGCCTCCAGCGCACAAGCCGCTTCACCTTCATAACTTAACGTGGCTGGCGCACAGCCCAGCGCCGCCGC
+TACGGCATCGAACAAACGTCCACACGACGATGCCAGCGGCGCGTTAATTCCACGCTCAATAGCCCGCGCC
+AGCACGCTCCAGTTTTGCTGTTGCACACTTGCCGTTTCAGAGTAATTCTGCCACTCCGGCACAAAGCGCA
+GGCACTGCGCCAGCAGGTTTCGCCACGGCTGCTTCGCAGCCAAATCGCCCCCCGGAAGCGCCACCGCGGG
+CAAGCCGCCCAGGTGCTGGCATTCACGATAGTTCACCCGCAAGCACTCGCCCCCCCATAAAGCGCCGTTC
+TCCCCCATACCAATACCGTCGAGCGTCAACGCAATGACATCTCCGCCATCCAGAGGCCAGAGGTGTTCTG
+CCAGACACGCCGCTGCGTGGGCATGATGATGCAGCACCGTTTGCGTCGGCAGATTCATCTCACGCGCCCA
+CTGGCTGGAGACATAGCCCGGATGCGCGTCATGCACAACGTATTGCGGAGTGAAATCGTAGATGTTTTGC
+ATCAGGCGTAACGCTTCGCGCCACTGCATCTGGATGCCATCGTCACTTAAATCGCCCAGATGCTGACTCA
+ACACCGCTTGTTCGCCGCGCACCAGGCAGAAGGTGTTTTTCAGATCCGCGCCGAGACACAGCACAGGCGG
+AACATTTTTAAAGCCCGGAGGCAAAGCCAGCGCATCCGGCACATACCCCCGCGAACGGCGCAGCATTTCG
+CCGCTTTCGCGCACCACCGAATCATCCATCCGCTGCACGATGTCGCGGTTATGTATCAAGAATCCGTCGG
+CAATGCCCTGCAAATCCGCCAGCGCCTGTTCGTTGCTGATAGCCGGTGGTTTACCGCTCAGGTTGCCGGA
+GGTCATCACCAGCGGGCATTGCAGTTCCTGTAACAGCAAATGCTGGAGCGGGTTCGCAGGCAACATTACC
+CCGACTTCGTTAAGGTCAGGGGCGATATCATCACAAAGCTCAGGTACATATTTTTTATCCACCAGCACAA
+TCGGCGCGGCGGGCGTGGTAAGCAACTGGCGCGCAGCGTCTGGTAAACCGTCAGCCACTGGCAACATGAC
+CGCCAGCGGTTTCGCCGGGCGATGTTTGCGCGCCCGAAGTGTCGCCACCGCGTTACTGTTACGTGCATCG
+CAGGCAAGATGAAATCCGCCAATCCCTTTGATGGCGACAATGTTGCCCATTTTTAACTGTGCGATAGCTG
+CCTGTAATGCCGCCTCTTGTTCTGCATGTTCACCATGACTTACCCATTCAAGATGGGGGCCACACTCCGG
+GCAGGCCACCGGCTGGGCGTGGAAGCGACGATCGAGCGGGTCACGGTACTCTTTGTCACAGGCCGGACAC
+AGCGGAAACGCCGCCATCACGGTAAACGGGCGGTCGTAAGGCATGGCGCGAATAATGGTGAAACGCGGAC
+CACAGTGAGTACAGTTGATAAACGGATAACGCCAGCGTCGTTCGCCTGGGGTATTCATTTCGGCAAGACA
+AGCAGGGCAAGTCGCGGCATCGGGAACAATTTGCGTATTCATGACGCCACCCGCGCTCTGGCGGATGGTG
+AACTCAGTGGGCAGTTGTGACCAGATAAACGGCTCACGCTCGACGCTATCAATACGCGCCAGTGGCGGGC
+AGTGCTGATGCAATTGAACAAGAAACGTTTCCGGATCTTCCAGCAGCCGGACTTCTACGCCATCGCCGTC
+ATTACAGACATCGCCGTGAAGATTTAATTGCTGTGCCAGTTGCCAGACAAACGGACGAAAACCGACGCCC
+TGCACTTTGCCACGAATACGCAGTTGGACACCGCAAGATGTGTTTTTTGCCATTGAGTTATTCCCGCCAT
+CATGAATTGCGTAACCCGCCCTGCCGGACACGACAGCGTCGCATCCGGCAGTCACAGGTCGGCGATACTG
+CCCGCTTCGTATTCTACGAATATTTCCGGGAATTCCTTTGATACCAGAACAGTTCTGTAAGATTTTTAGA
+ACATCAGCGCCGTGCGGCGGCGTTTTTCTGCGCTCAGTTGTTCAAGTTTATTACGATCGACACAAATCAG
+CGCATGGGTCGGGCAAGCCGCCATACACGCCGGGCCGTCTTCACGATGGTTGCACAGGTCGCATTTATTG
+GCTTCGGCTTTGTCAGCCCGTACATTCAGCCCTGCGCCGCTGTTGCGAATCACCGGACGCACCACCACTT
+CCATCGCACCATACGGGCAAGCCACAACGCAGGTTTTGCAACCAATACAACGTTCCTGCATGACATGAAC
+AAACCCTTTATCACGGCTGATAGCACCATTCGGGCAGACGTTAGCGCACGGTGCATCTTCACACTGACGG
+CAGACTGTCGCCGTGGAAATGTTCACACCTTTAATGACATGGATTCGCGGTAAAAAAGTTTCCGGGGTCA
+GCGATGCACAGTCCTGATTTTCCTGATGAGAAACCACGCACGCCACTTCACAGGTACGGCAACCAATACA
+TTTACTCGCGTCAGCAATGATGAAACGGTTCATCAAATTCTCCAGCAATGACAGTTAATGCGCCGATACA
+CTCACAAATCATGCCAGTTTTTAATTTACTGTTATTTAAGGAAATTAAATTCTGTACTACAGGAAAAACG
+ATGTCATCGACACTAGTGACGATGACATGTGATGACAATGTTTATCGCGAAAGAGCAATGAGTGAGCCGC
+GGCGGATTAGTTTTCCGCTGAAGGTTTTCGGCGGTGAGAAATCCCCGCCATCGAGCATAAAAATCAGCCG
+TCCAATAATTTCCTGAATCATCTCAGTCACCGGAATTTTTACGCTGGAGAGCGCCGGAACGATGTAGGGG
+GCAATAGCGATATCATCGAATCCGATAACTGACACCTGCTCTGGCACCGCTACGCCGCGCTCGTGTAACG
+CTTTGATCGCACCTATCGCCATATCGTCGTTACTGGCAACTAACGCGCTAAATTTAGCCCCACGTTCGAG
+CAACGTTTCTACCCCTTCGGCACCGCTGGCGGGCGTCCATTTACCGTTAGCGATAAGTTTTTCATTGAAC
+GCAATACCATGCTGCGCCAGCGCGTCTTTATATCCGGCAAGACGTTCAATGCTGGTGGGGGAATCCATCG
+AGCCGGTAAGGAAAGCAATCTCCTGATGTCCGGCGGTTATCAACTCTGCCACGGCGTTAAAGCTGGTCTG
+TTTATGATCGCACCAGACGCTATGGCTGCTGTTTTTGCGCAGGCGGCGATTAAGCACCATTATCGGCTGA
+CTGTGTGCGTCAATGATGTCATCAATCTCATCCACGCTTAAAAAGCGCGGGTAAATCATGATGGCGTCGC
+AGCGCAAATCCAGCAGATACTGAATCGCCTGGCGCTCTTCTTCGGCGCTATGTTTACCATCTGCCAATAG
+CAACTGTCGCCCTTTCTCTTCCGCCATTCGCGCGGCATGAAACAGTAATTCACTAAAATAAATGCCATGG
+TAAAGCGTGTTGGTCACTACCAGCCCCAGCGTCTGAGTACTCTTCGCCGACAGATTGCGCGCCAGCAAGT
+TTGGACGGTAACCGCTCTCTTCTACCGCCTGAAACACGCGATCTTTAGTCTCCTGGCTGACGTAGCCATT
+ACCTGAAAGCACGCGGGAAACGGTCGCTTTTGAAACCCCGGCGCGCTTCGCCACTTCCAGCATCGTCGTC
+ATCATTTTCATCCCTTTACACGCAATCAACGCAGTGTACTGCACCGTTTGCCGATTGTCCTTGCGCAATC
+AGCGGGAAAAATATTCAGGTGACCGGTTTCACAAATATAAAAAATGAACAATTAACTCTCTTGCTTATTA
+AATGACAACTATTCATGATTTTGTGAAACCGGTTTCCTAATTCCGTTTCAGCATCGGCATTTTTCCGTCA
+CGTCGACTGATAACAACTACATCTACCCTACTGATAACAGGATAAAATCCGATGGCCAAAAATTATGCGG
+CGCTGGCAAGCTCGGTGATAACGGCACTGGGCGGCGTTGATAACATCTCGGCGGTCACGCACTGTATGAC
+GCGTTTGCGCTTTGTTATCAAAGATGACCAGCTTATCGACAGTCCGACGTTGAAAACCATCTCCGGCGTG
+CTCGGCGTGGTACGTAGTGACAACCAGTGTCAGGTGATTATAGGTAATACGGTTTCGCTGGCCTTTCAGG
+AAGTCGTCAGCCTGCTGCCGGGAGATATGCAGCCCGCACAGCCCGTGGGTAAACCCAAACTTACGCTACG
+TCGCATAGGTGCGGGGATCCTCGATGCGCTGATCGGCACCATGTCACCGCTGATCCCGGCGATTATCTGC
+GGATCGATGGTCAAACTGCTGGCGATGATCCTCGAGATGAGCGGCGTGCTGACAAAAGGATCGCCGACCT
+TAATCATTCTGAATGTGATTGGTGACGGTGCTTTCTTCTTCCTGCCGCTGATGGTCGCTGCTTCTGCCGC
+CATCAAATTTAAAACCAATATGTCGCTGGCGATTGCCATTGCGGGTGTGCTGGTACATCCGAGTTTTATT
+GAGCTGATGGCGAAAGCGGCACAGGGTGAACATGTTGAATTTGCCCTGATTCCGGTCACCGCGGTGAAAT
+ACACCTACACAGTGATCCCGGCGCTGGTCATGACCTGGTGCCTGTCATATATCGAACGCTGGGTGGACAG
+CATTACGCCAGCGGTGACGAAAAACTTCCTCAAGCCGATGCTGATTGTGTTGATTGCCGCACCGCTGGCA
+ATCCTGCTGATTGGCCCGATTGGTATCTGGATCGGTAGCGCCATTTCGGCGCTGGTTTACACCATTCATG
+GTTATCTGGGCTGGCTTTCAGTCGCCATTATGGGCGCGCTGTGGCCTCTGCTGGTAATGACAGGGATGCA
+CCGCGTCTTTACGCCAACCATCATTCAGACCATTGCCGAAACCGGCAAAGAAGGGATGGTCATGCCGTCA
+GAGATCGGCGCTAACCTGTCGCTGGGCGGTTCATCACTGGCGGTGGCATGGAAAACGAAAAACCCGGAAC
+TGCGCCAGACGGCGCTCGCAGCGGCGGCATCAGCCATTATGGCGGGGATTTCCGAACCGGCGTTATACGG
+CGTGGCGATCCGCCTGAAACGTCCGCTTATCGCCAGTCTTATCAGCGGTTTTATTTGCGGCGCGGTTGCC
+GGTATGGCGGGGCTTGCCAGCCACTCAATGGCAGCGCCGGGGCTATTTACCAGCGTGCAGTTCTTCGATC
+CGGCGAATCCAATGAGCATCGTCTGGGTGTTCGCCGTCATGGCGCTGGCGGTCGTGCTGTCGTTCATCCT
+CACACTGTTGCTCGGCTTTGAGGATATTCCTGTTGAGGAAGCGACTGCCGAGGCGCGAAAGCATCAGAGC
+GTACAACCGACCGTCGCCAAAGAAGTAAGTCTTAATTGAGGATGAAAATGTCAGTATTTCCAGAAGGTTT
+TTTATGGGGCGGCGCGCTTGCCGCCAACCAGTCTGAAGGTGCGTACCGTGAAGGTGGCAAAGGGCTGACC
+ACCGTCGATATGATCCCACACGGCGAGCATCGAATGGCGGTGAAACTGGGACTGGAAAAACGTTTTCAGT
+TGCGCGATGACGAGTTTTATCCCAGCCATGAAGCGACGGATTTTTATCATCGTTATAAAGAAGATATCGC
+CCTGATGGCAGAGATGGGATTCAAGGTTTTCCGTACCTCAATTGCCTGGAGCCGCCTCTTCCCGCAGGGC
+GATGAACTGACGCCAAACCAGCAGGGCATTGCTTTTTACCGCGCGGTATTTGAAGAGTGTAAAAAGTACG
+GTATCGAACCGCTGGTCACGTTATGCCACTTCGATGTGCCGATGCATCTGGTCACCGAATATGGCTCCTG
+GCGTAACCGCAAGCTGGTAGAGCTTTTCAGCCGCTACGCCCGGACCTGCTTTGAAGCATTTGATGGTCTG
+GTGAAATACTGGCTTACCTTCAATGAAATCAACATTATGTTGCATAGCCCGTTCTCCGGCGCGGGTCTGG
+TGTTTGAAGAAGGGGAAAATCAGGATCAGATGAAATATCAGGCTGCGCATCACCAGCTGGTTGCCAGTGC
+GCTAGCCACCAAAATCGCCCATGAGGTTAACCCGCAAAATCAGGTGGGTTGTATGCTGGCGGGCGGTAAC
+TTCTACCCTTACAGCTGCAAGCCGGAAGATGTCTGGGCGGCGCTGGAGAAAGATCGGGAAAACCTGTTTT
+TTATCGATGTGCAGGCGCGGGGCGCGTATCCGGCTTACTCTGCCCGCGTATTCCGCGAAAAAGGGGTAAC
+CATCGACAAAGCACCGAGCGATGATGAGATCCTGAAAAACACCGTCGATTTTGTCTCTTTCAGCTATTAC
+GCCTCGCGCTGCGCCTCGGCGGAGATGAACGCCAACAACTGCAGTGCGGCGAACGTGGTGAAATCGCTGC
+GTAACCCGTATCTGCAAGTGAGCGACTGGGGCTGGGGTATTGATCCACTCGGTCTGCGTATCACCATGAA
+TATGATGTACGACCGTTATCAGAAGCCACTGTTTCTGGTGGAAAACGGCCTGGGCGCAACAGATGAATTT
+GCTGCCAATGGCGAAATTAACGACGACTATCGCATCAGCTATTTACGCGAACATATCCGCGCAATGGGCG
+AAGCGATTGCAGACGGCATTCCGCTGATGGGCTACACCACATGGGGCTGTATTGATTTAGTTTCCGCCTC
+TACGGGTGAAATGAGCAAACGCTACGGTTTTGTCTACGTAGACCGTGACGACGCAGGCAACGGCACGCTG
+ACGCGCACGCGTAAGAAATCGTTCTGGTGGTATAAAAAAGTGATTGCCAGTAATGGTGAAGATTTAGAGT
+AAGTAACCGTGCCGGATGCGGCGTGAACGCCTTATCCGGCCTACAAGGCCCGATAAGCGTTGCGCATCGG
+GCAATCTGGGGTTTGGCATCAGTCAAAAATCAAAGAAACCATTCCGGCTTAACGCCAAATCGGGCTGAAA
+GTGCCTTAATGTGGGATATCGTCAGGGATCGTTGTCCAGATAAAATCTGACTGACCAGGGATTTAGAGCC
+GATTTCGTTCTTCAAATCCGCATAGGTCAGATTATGTTGATCAATCAGCGTACGAAGTAACGCCACGCCA
+ACCGGCATTGCTGCAACGGCTTTGTCGAACTCTGCAAACTTTTCGTTATTGTTTTCATATTCTGCAATGC
+GGCTCGCCAGAAAGTCGATAAGTGGATTGGTGTCATCTTCTTCAATCAAATATTCGACCAGTTCCAGTGC
+TTCACGATAATCATCTTCTGAGTCACTGCCTCCCAGAAAGGGGACTGCATTGACCAGTTCTCTTGTTGCT
+TTAACAGCGCGTACAGCATTAGCAGTCATTCTTTGTTCTCTCTGTAGTATCGTGTCAGACGCTCACTTTC
+CTAAAATGCCAGTTTTGATCGGCATCATAAGGCATGGTCAGGAGAGGTTTCAGCGCCCGCTTTTGCGCGT
+ATTCGCTGTCACTCATTGGCAGATATTCGGTAAAGCTGGTGGCCTGTGCAGGCAGCACTAAGCTCAATAA
+AAAAGCGCACATCCCTGTCCTGATGTTCAATTCCCTGAATTCCTTACTGAAAAACTACTCTTCTTCCGCC
+GCTAACTGCGCGAAGCCGCCATTTCCTTCCCAGCCTTCTAGCCGCTGATACACCGTTTCCACCGCATCTT
+TAATCTGCTGAGTCATCGGGTAGTAAAAGCCGACGATATCCGGCTGGATGCCAAGGAAAATCACTTCGCC
+AATATCTTCTTTCAACTGGTCGATAAGATAGTTCAGCGGCATGTTATGGGTAGTCATCATAAACATCTCG
+GCGATGTCAGCCGGGTCGATGATGCGGATCTCGCCAGGGTTTAGCCCCATATCCGTGGCGTCGACAATAA
+GCAGCCGTGTCGGGCGCAGTTCGCGAATAGCGACAATGTCGTTTTCCGGTGCGCTACCGCCGTCAATCAC
+TACCCAGTTACCTTTCGGCGCGGCAGCGCACTTTTCCGCCAGTAGCGGGCCTGCGCCATCATCGCCCATC
+ATGCTATTGCCAACACAGAGTAAAACGTCAGTCACGCAGTCTCCTCACCATCAAATAGATGGCGTTTTCC
+TGATGAATATCATGCAGCATACTTAACAGCATTGTACTCCATTCCTTCTGCTGCGAAGTTTGCGCTGCCC
+GGGCTTTATCGAATGCGTTGGCCAGCATCGGCACATGGTTAATGTCGATGACGATCTCACCATATTTCGG
+CACGCCTTCCATTTTTCGGCGGGCTTCGCTGCCCGCCTCCAGAGTGGCAATCCATGCCAGATATTCATCC
+CACGGGCAGGTGAGCGCCGCTTCCAGGCAATCGATAACCCCAAGGTGGTGACCAATCGCCAGGCTGTAAT
+AGACCACCTGCTGCGCCTCGGCGGGCGTAGCATCGTTCTCATCAATGAATTTACGGCTCAGTTGACTGAA
+CACCACCTTTTCACTCATCGGATACGCGCCTCTTCAACAACATGATTCAGATGGCTGACAATCTCGTTCA
+GACGCGGATCGTTTTCCGCTTCCAGCCAGCGTGCAACCTGTTCTTCGCCCTGCCCTAACTGTGTCAGGAA
+GTCATCGGCAATCTGACGACCGTAACGATAACCCGCCAGTCGGCGTGCTTCGCGATCTACTTTCACGCGC
+AGCGGCTGCACCATATCGCCATGCAGAATCTCCGCCGGTTGTTCATCCTGCTCACCCGGCCCACGGGCGT
+GAATTTTCTGCTCCAGCAGGCCGAGCGCCATCGCAAAGCCGTACAGCGTGGCGGCAGGCGTTGGCGGGCA
+GCCAGGGATATAAACATCCACTGGAACGATTTTATCCGTACCGCCCCACACGCAGTAGAGATCGTGGAAG
+ATCCCGCCGCTGTTACCGCAGGCTCCGTAGGAGATACAGATTTTCGGGTCCGGCGCGGACTGCCACGCAC
+GCAGCGCAGGGGATCGCATTGCACGGGTGACCGCGCCGGTAAACAGTAAAATATCCGCATGACGCGGTGA
+CGGAACGACTTTAATGCCGAAGCGTTCTGCATCGAACAGCGGCGAAAGCGTGGCGAAAATTTCGATTTCG
+CAACCGTTACAGCCGCCGCAGTCCACGCGATAAACGTAGGCAGAACGTTTGATTTTTTTCAGTAACGACG
+CCTTCATGCTGGCGATGGATTCATCCACCGTCATCGGGACCGGAATGCCGTTGGCGTCACGGGGGCCTAA
+TAAATTGCTCATCAGATGGCCTCTTTCATATGGCGAGTCAGTTCAATACGGTCGGACGGCACCAGGCATT
+TCTGGCGCTTACATTCCGGGCAAGTCTCAAAGCTTTCGCGGTGGTTTTCCGCGCGGCTGTCGCCGTTGTG
+CTTAAGCAGCGCAATGGCGTAGTCGATCTCTTTCTGGACGGCGAAAGGACGATTGCAGACGCGGCAGTTG
+CACAGCGCGAAGCGGGACTGTTGCAGGAAGTCTTCTTTCTTCCACACCGCCAGTTCGTATTCTTGCGACA
+GCTTAATCGCCGCCGTCGGGCAGACTTCTTCGCAGCGTCCACAGAAGATGCAGCGTCCAAGATTGAACTG
+CCACGCCAGCTCTCCTGTGGCGAGGTCAGTTTCAACCGTTAAGGCGTTTGACGGGCAGGCATTGACGCAG
+GCCGCACAGCCGATGCACTGCTGCGGGTTCTGCTCTGGCTTACCACGGAAGTTTTTATCAACCGCAATCG
+GCTCCAGCGGATAAGACGAAGTCGCCGTGCCGGTTTTGATGACTTTTTTGATAAAGGTAAACATGGCGAT
+TCCTTATTTCAGCGGCGAGTTTTTACGCTCAATGCTGTAGCGCTCGAGTTCTTTGTATGGCACCACTTTG
+CTCTTCTTCTTACGTACATCGACCACGGTCATGCGGTCGGTACAGGAGTAGCAAGGGTCCAGGCTACCGA
+TAATCAGCGGCGCATCGGAAACGGTGTTGCCGCGCAGCATATAACGCAGGGTCGGCCAGTTCGCGTAGGT
+CGCGGCACGGCAGCGCCAGCGGTACAGCTTCTGGTTGTCGCCGGTCATGCTCCAGTGGATATCGTCGCCG
+CGCGGCGCTTCGGCAAAGCCCAGCGCGAAACGGTGCGGAATGTAGGTAAAGCCTTCCACCATCAGCGGAC
+CACCCGGCAGGTTATCCAGACCGTAGTCGATCATGTTCAGCGCGGTATAGACTTCGTTGATACGCACTTT
+CAGACGGGAAATAACGTCGCAGCCCTGCTCGCTGTGGACTTCCATTGGCAGCAGGCCATAACCAACAAAC
+GGGTGATCGGCGCGGGTATCGCGAGCGTGTCCGCTGGCGCGGACCATCGGGCCAACGTTACTGAAGTCGC
+GGGCAATTTCCGGGTCCAGACGACCAATGCCGACGGTGCGCTGTTCCATGTTCGGTGTGCTCAGCAGCAC
+ATCCACCAGCTCCTGCACTTCACGACGCATCTGTTGTGCCAGCTGGCGGGTCTGGATCATGTCGTCTTTC
+AGCAGATCGCGACGAATCCCGCCGATCAGGTTCAGGCCGTAGGTTTTACGTGCACCGGTAAGGATCTCTG
+CCATTTTCATGGAGGTTTCACGCACGCGGAAGAACTGCATAAAGCCGGAGTCGAAGCCGGTAAAGTGACA
+GGCGAGGCCGAGGTTGAGCAGATGCGAGTGCAGGCGTTCTACCTCCAGCAGAATGGCGCGGATCATCTGC
+GCACGTTCTGGTACCTGAATACCCATCGCGTTTTCCACCGACGTGGTGTAGGCGGTGCTGTGAGCAAAGC
+CGCAGATCCCGCACACACGGTCAGAGAGGAAGGTCACTTCGTTGTAACCCATGCGGGTTTCCGCCAGTTT
+TTCCATGCCGCGATGGACATAGAACAGGCGGTAGTCGGCGTCGATAATGTTTTCGCCATCGACGAACAGA
+CGGAAGTGACCCGGTTCGTCGGAAGTAACGTGCAGCGGACCAATCGGCACGACGTTGTTTTTCTTGTCGC
+CCAGTTCGTTGATGAACTCGTAGGTTTCAGCATCGGTAGTCGGTGCCGGACGTTGACGATAATCCATGCT
+GTCTTTACGCAGCGGATAAAGTTCATCCGGCCAGTCATCCGGCAGCACCAGACGACGTTCATCCGGCAGC
+CCTACCGGAATCAAACCGTACATATCGCGCACTTCACGCTCGCCCCATACCGCCGCCGGAACGCGCGGCG
+TTACGGACGGATATTCCGGTTTGTTGGCGTCAACTTCAACGCGCACGGTTATCCAGCATTTGGTGCCCTT
+CTCCATCGACAGCACGTAATAAACGGCGTAATGACCATTCAGTTTGCGTTCGTCGTTACCAAACAGCACC
+GACAGCCAACCCCCTTGTTTGTAGTAGAGAAACTCCACCACTTCCGGCAGGTAGTTCACCTTCACGGTGA
+TGGTTAGCTGATCTTTGGTCTGCCAGGCGTGGTCCAGCACGACGCCAGGAAATGCCTCATTCAGCGCGGC
+GAGATAATGTTGACCTAATTTTTCTTCAGACATGCTCAAACTCTCTTTAATCACGCCGCCAGCAAGGAGA
+CGAACGCTAAAAATGCAAAACCAAACCCGGCCCAGGTAATGCGCGGAGTAATATCAAGACGCAGACGGGC
+CATGCTGTTTTCGAACAGCGCGATAACCAGGACGCCAACCACCAGTTTGACGATGGCAATCACCAGCGCC
+AGCAGCAGCCCACCGACGGTGAAGGTTTCTATTTGTCCCCACGGAATAAACACCCCCACGAACATCTGCA
+ACACCACCAGCTGTTTCAGGCTGATGCCCCATTTCATGACGCCAAAGCCGCTGCCGCTATACTCAGAGAG
+CGGACCTTCCTGCAACTCCTGCTCGGCTTCCGCCAGGTCGAACGGCAGTTTGCCCATTTCGATAAAAGTG
+GCGAACGCACAGGCACAAAGCGCCAGCACCAGCGGGATGCTCTGGCTCAGTGGCCAGTGATAAACGGTGT
+CGGTGATGTTGCTGATGTTGGTGGAACCGGCAACCTGTGCGGCGACCCACAGACCAAGCAGCAACATCGG
+TTCAACCAACACGCCAAGCATCGCTTCACGGCTCGCGCCGATAGCGGTAAACGGGCTACCAGTATCCAGA
+CCAGAAATGGCAAAGAAGAAACGCGCGATGGCGAAGAGATACAGTAAGGTGATCAAATCGCCAAGTTGCG
+GCAGCGGAGAACCGACGGTCACCACCGGCAGCGCAGTGGCGATAGTCAGCATGACGCCCACCATCACATA
+CGGCGTCAGGCGGAACACCCAGCCGGAGGCATCCGGGCCAACGCTCTGGCGGCCCAGCAGTTTGATAATG
+TCGCGATACTCCTGCAACACGCCCGGCCCGCGACGGTTATGCAGACGGGCACGCGCCACACGGGTAATAC
+CGGAGAGCAGCGGCGCAACGGCAAATAGCACCAGCGCCTGAATTAACGGATATAAAACACTCATTCTCAG
+GCTCCTCGTGAAACAATAATCACCACCAGCACCGCCAGTTCAACCAGCGCCATCCGGCGGAACAGCAACG
+CACTCCCCTCGCACTGCCAGCCCGGCACCAGCGACACCGGATTCAACCATTTGCGTAGTTTCAGCACCGG
+CGCAAACGCCTGTTTCACCGGCATGGCAAAACCGTGAGCGGTAATCACCATTGATTTTTCATGATCGTAG
+CCGCACACCCAGGCCGCGCCGCGGGAACGCGACGGCAAACGATCGCCTTTGCAAATCGCCATAATGATGA
+ATGGCAGCAGCGGGCAGGCAATCAGCAGCAACGTGATCATCGGTTGAGAAACGGTGGTGTTAGCAGGCTC
+CAGCGGCAGAGGTACAGCAGCAGAGAGCATCGGCAGTAGCCACGGCGCAGCAACACCGCCAATTACGCAG
+CAAATCGCCAGTGCCACTACGCTTACGCTCATCAGGAGCGGCGCACAGGTGGCGTTTTCGGCCTCTTTGG
+TACGCGGCGCGCCGAGGAAAGTAACGCCATAAACTTTCGCCATACACATCACCGCCAGCGCACCGGTAAT
+TGCCAGCCCCACGGCGAGCAGCGGCCCGAGAAGACGGGCAACAAACGCGCCACTATTGCTCAGTTTGAAG
+AAGGATTGATAGATAACCCATTCCCCGGCAAAACCGTTCAGCGGCGGCAGCGCAGCCATTGCCATCAGCC
+CGACTAACATGGCGATGGAGATAACCGGCATTTTCTTGCCAATACCACCGAGTTTTTCGATATCGCGATG
+ACCGGTACGGAACCAGACGCTCCCCGCACCAAGGAACAGTACGCTCTTGAACAGGCTATGGTTAAGCAGA
+TGGTACAGACCACCAACCAGACCAAGGGCAATCAGCGCCGGTTGTTCGAGCGCGATACCCGTTACGCCAG
+CGCCCAGCCCCAGCAGGATAATGCCGATATTCTCCAGGGTGTGGTAAGCCAGCAGACGCTGGATATTATG
+TTCCATCAGCGCATACAGACCGCCGACGAATGCGGTGATCATGCCGAGTACCAGCAGTGCGATCCCCCAC
+CACAGCGGTGCATTACCGCCCAGCAGTGACAGAGTTAAAATGCCCAGCAGGCCAATTTTCATGACTACCG
+TGGAAAACAGCGCGGCAGCTGGCGCAGAGGCGTTAGCATGTGCCTGTGGCACCCAGCCGTGCAGCGGAAT
+AATCCCGGCCAGCAGGCCAAAGCCAATCACACCGAGCAGCCAGATATCGGAACCGAGCGGCAGCTGTTGC
+ATACGCATATCCAGCAGGCGCAGATCCAGCGTACCGTAACGCTGCCACAGCAGCCAGCAGGCAATCGCCA
+GCAGCAGAGTGCCAAGACGCCCCAGCGCAAACCACAGTTTGCCCTCTTTGCTGTTGCTGGTGAGGAACAC
+CGCACACAGGGCCATGATTTCGGCCATTACCACGAACATGCCGAGGTTGCTGGCGATGACGGCACAGACG
+GCGGCAGCCATCAACATATTGATCTGCAAGCCGTTGCATTTCACCTGCGCGTGGCGATGCCAGTCAATGT
+TGTAGAGGCTGACAAACAGACCGCACAGACCGAGCGTAATCAGCCAAATCGCGTTAAGCGGAGAGATTTG
+CACATCGTAGCTTACCAGCGACAGCGCACCGCTCACGCCAACCGCGCCAGTCAGCACAGTGAAGCCCGCG
+GCTGCCGTATACAGGCTACCCACCGCGCCGCCAATTCCGGCTATCCAGCCACTTAGCGCTTTTTGAAAAG
+AAAAGAGAAATGCCAGAACAGCGGCGGCGACAAACCACGCCACGCCGCTATTGATCAGGGAAATTGCGCT
+CATTTAGCCTCTCCACTTTGAGCCTGCTGAAACAAGGTGAGATCGCCAAAGTCCGTGTTAAAAGTCAGCT
+CACGCTTACGTTTGCTGACGCGGGCGATATCGGTGTTATCCACCAGATGCAGGGCTTTAGTCGGGCACAT
+CCGCACGCAGGCCGGACCTTGTTCATCAAAGCTACAAAGGTCACATTTGACGGCGATCGCGCGAATACCT
+GGCACCCAGTCAAGCAATGTGCTGACACGCGCCGGAGCAGGCGGTGCCGGTGGCGCTTTCGGGGTATTGG
+CGTTTGCCGGAATATCCAGCGGACGGCTGCCGGAAAATTCAATTGCGCCAAACGGGCAGGCGATACCACA
+CAGTTTGCAGCTTACGCACAGACTTTCATTCAACTGCACAGCACCATCAACACGAGTGATGGCGTTAACC
+GGGCAGACCACCGCGCAGGGTGCATCTTCACAGTGATGACAGAGCTGCGGCGCAGATTCTTTTTCATTTA
+GCATCACTCGCAGGCGCGGCATTGATTGCAGGCCGTGCTGGCGATGCGTCTCTGAACAGGCAGCCTCACA
+AGTGTGGCAGCCGATACAGAGCGTGGAGTCAGCAATTACAAAACGATTCACCAGGCATTCCTCAGGTGAT
+TGTCATTTTTGACGAAAACATGCCGATGAAATGTCATTTTCGACACTCATCGACACGCCCATCCCCAAAC
+AGGCGTAACGCCTGCAAAACGGGCAAAGCCTCAGCTCATGCTACCGGGCTTTGTCCCTTTACCAGTTGGC
+TTAAATTCACCGGCACATTGTTTTCAATGGCGGTATATAAGCTGTCGTAAACGCCAGCGATTTTTTCGAG
+ATAGTGTTCCAGAGCTTGTTCGCGATCGCGGATGTTGACCTTGCCATCAATCATGCCGTCAATGCTCAAC
+TGCGCCTGCGCAATCCGCTGTTTGTCTTCGCCATCTTTTGTTTCGACGTAATACTCGATGGTGTGGCTGT
+TAAAGCCATCCGCCAAGGTGACGTAAATGCGAAAATGTTCAAAAAGGACGAAACAGAGTTCTTTGTCCGG
+CGCGCAGCTCATGGCGTGATGCAGGCGCGCTTTCGATAACGTGATCCCCTGAACCAGCGAATTGCAGTAG
+ATGTGCCACTGGTCCTGTAGGCGACGATGCCGCTGTGCGATGTAATCGGCTTTCTCGCTTATTTCCCAAA
+TAGTCATTGTCAGGTTACCCGTTTAACAGAGATGCCAGCTTTAAGCATTTTCTGTGCCAACTTTTAATTC
+ATTGTTATTAAAGCGATTTCTAAGCTAAAGATGAATTTCGTCGCCGTGTCGACGTGTCATTTCGACATCA
+TCGACATTATTCACCGCAGGGATAATCAACACTGGCACAATTATTGCTTGTAGCTGGCAATAGTTAATGG
+GAGGCGATATGCACGAAATAACCCTCTGCCAACGGGCACTGGAATTGATCGAACAGCAGGCCGCAAAACA
+CGGCGCAAAACGCGTAACTGGGGTCTGGCTCAAAATTGGCGCATTTTCTTGTGTCGAAACCAGCTCTCTT
+GCCTTTTGTTTTGATCTGGTTTGCCGCGGCAGCGTGGCGGAAGGTTGTAAACTGCACCTCGAAGAACAAG
+AGGCCGAATGCTGGTGTGAAACATGCCAACAGTATGTGACGCTACTGACCCAGCGCGTCCGCCGCTGTCC
+ACTGTGTCATGGTGACATGCTACAGATTGTGGCAGACGACGGTTTACAGATTCGGCGGATAGAAATAGAC
+CAGGAGTGAGCGATGTGTACAACATGCGGTTGCGGTGAAGGCAACCTCTATATTGAGGGTGATGAACATA
+ACCCTCATTCCGCGTTTCGTAGCGCGCCATTTGCCCCGGCGGCACGCCCGAAGATGAAAATCACCGGCAT
+TAAAGCGCCTGAATTTACCCCCAGCCAGACTGAAGAAGGCGACCTGCATTACGGTCATGGCGAAGCGGGC
+ACTCACGCGCCGGGCATGAGCCAGCGTCGGATGCTGGAAGTCGAAATTGACGTGCTGGACAAAAATAACC
+GTCTGGCTGAACGCAACCGCGCGCGCTTTGCTGCCCGCAAGCAACTGGTGCTCAACCTGGTTTCCAGCCC
+TGGTTCCGGTAAAACCACCCTGCTGACGGAAACCTTAATGCGCCTGAAAGACAGCGTTCCGTGCGCAGTT
+ATTGAAGGCGACCAGCAAACCGTGAACGATGCCGCGCGCATTCGTGCTACCGGCACGCCAGCGATTCAGG
+TGAACACCGGTAAAGGCTGCCATCTTGACGCACAGATGATTGCCGACGCCGCGCCGCGCCTGCCACTGGA
+CGATAACGGTATTCTGTTTATCGAAAACGTCGGCAACCTCGTGTGCCCGGCCAGCTTCGATCTCGGTGAA
+AAACACAAAGTGGCGGTGCTTTCCGTTACCGAAGGTGAAGACAAACCGCTGAAATATCCGCATATGTTTG
+CCGCCGCCTCGCTGATGCTGCTCAACAAAGTTGACCTGCTGCCGTATCTCAACTTTGACGTTGAGAAGTG
+CATCGCCTGCGCCCGTGAAGTCAATCCAGAAATTGAAATCATCCTTATTTCCGCCACCAGCGGCGAAGGG
+ATGGACCAGTGGCTGAACTGGCTGGAGACACAGCGATGTGCATAGGCGTTCCCGGCCAGATCCGCACTAT
+TGACGGCAACCAGGCGAAAGTCGACGTCTGCGGCATTCAGCGCGATGTCGATTTAACGTTAGTCGGCAGC
+TGCGATGAAAACGGTCAGCCACGCGTGGGCCAGTGGGTACTGGTTCACGTTGGCTTTGCCATGAGCGTAA
+TTAATGAAGCCGAAGCACGCGACACTCTCGACGCCTTACAAAACATGTTTGACGTTGAGCCAGATGTCGG
+CGCGCTGTTGTATGGCGAGGAAAAATAATGCGTTTTGTTGATGAATATCGCGCGCCGGAACAGGTAATGC
+AGTTAATTGAGCATCTGCGCGAACGTGCTTCACATCTCTCTTACACCGCCGAACGCCCTCTGCGGATTAT
+GGAAGTGTGTGGCGGTCATACCCACGCCATTTTTAAATTCGGCCTCGACCAGTTGCTACCGGAAAACGTT
+GAGTTTATCCACGGTCCGGGTTGCCCGGTGTGCGTACTGCCAATGGGTAGAATCGACACCTGCGTGGAGA
+TTGCCAGCCATCCGGAAGTCATCTTCTGTACCTTTGGCGATGCCATGCGCGTACCAGGGAAACAGGGGTC
+GCTGTTGCAGGCAAAAGCACGCGGTGCCGATGTGCGCATCGTTTACTCGCCAATGGATGCGTTGAAACTG
+GCGCAGGAGAATCCAACCCGCAAAGTGGTGTTCTTCGGCTTAGGTTTTGAAACCACCATGCCGACCACCG
+CCATCACGTTGCAACAGGCAAAAGCCCGCGATGTGCAGAATTTTTACTTCTTCTGCCAGCACATTACGCT
+CATCCCAACACTGCGCAGTTTACTTGAAGAGCCGGATAACGGTATCGACGCGTTTCTTGCGCCCGGTCAC
+GTTAGTATGGTTATCGGCACTGATGCCTATAATTTTATCGCCAGCGATTTTCATCGTCCGCTGGTGGTCG
+CTGGTTTCGAACCCCTTGATCTACTGCAAGGCGTGGTGATGCTGGTGGAGCAGAAAATAGCGGCCCATAG
+CAAGGTAGAGAATCAGTATCGTCGGGTGGTGCCGGATGCCGGTAACCTGCTGGCGCAACAGGCAATTGCT
+GATGTGTTCTGTGTCAACGGCGACAGTGAATGGCGCGGCTTAGGCGTGATTGAATCTTCTGGCGTGCACC
+TGACGCCGGATTATCAACGATTCGATGCCGAAGCACATTTCCGCCCGGCACCGCAGCAGGTCTGCGATGA
+CCCGCGTGCGCGTTGTGGCGAAGTCTTGACGGGCAAATGTAAGCCGCATCAATGCCCGCTGTTTGGTAAC
+ACCTGTAATCCTCAAACCGCGTTTGGTGCGCTGATGGTTTCCTCCGAAGGAGCGTGCGCCGCGTGGTATC
+AGTATCGTCAGCAGGAGAGTGAAGCGTGAATAATATCCAACTCGCCCACGGTAGCGGCGGCCAGGCGATG
+CAGCAATTAATCAACAGCCTGTTTATGGAAGCCTTTGCCAACCCGTGGCTGGCAGAGCAGGAAGATCAGG
+CCCGTCTTGATTTGGCACAGCTGGTAGCGGAAGGCGACCGTCTGGCGTTCTCAACCGACAGTTACGTCAT
+TGACCCGCTGTTCTTTCCTGGCGGTAATATCGGCAAGCTGGCGATTTGCGGCACCGCCAATGACGTTGCG
+GTCAGTGGCGCAATTCCGCGCTATCTCTCCTGTGGCTTTATCCTCGAAGAAGGATTGCCGATGGAGACAC
+TGAAAGCCGTAGTGACCAGCATGGCAGAAACCGCCCGCGCGGCAGGCATTGCCATCGTTACTGGCGACAC
+TAAAGTGGTGCAGCGCGGCGCGGCAGATAAACTGTTTATCAACACCGCTGGCATGGGCGCAATTCCGGCG
+AATATTCACTGGGGCGCACAGACGCTAACCGCAGGCGATGTATTGCTGGTTAGCGGTACACTCGGCGACC
+ATGGGGCGACTATCCTTAACCTGCGTGAGCAACTAGGGCTGGATGGAGAACTGGTCAGCGACTGCGCGGT
+GCTGACGCCGCTTATTCAGACGCTGCGTGACATTCCCGGCGTGAAAGCGCTGCGTGATGCCACCCGTGGT
+GGTGTAAACGCGGTGGTTCATGAGTTCGCGGCAGCCTGCGGTTGTGGTATTGAACTTTCAGAAGCGGCAC
+TGCCGGTTAAACCTGCTGTGCGCGGCGTTTGCGAACTGCTGGGACTGGACGCCCTTAACTTTGCCAACGA
+AGGCAAACTGGTGATCGCCGTTGAACGCAACGCAGCAGAGCAAGTGCTGGCGGCGTTACATTCCCATCCA
+TTGGGAAAAGATGCGGCGCTGATTGGCGAAGTAGTAGAACGTAAAGGTGTTCGTCTTGCCGGTCTGTATG
+GCGTGAAACGAACCCTCGATCTACCGCACGCCGAACCGCTTCCGCGTATATGCTAATAAAATTCTAAATC
+TCCTATAGTTAGTCAATGACCTTTTGCACCGCTTTGCGGTGCTTTCCTGGAAGAACAAAATGTCATATAC
+ACCGATGAGTGATCTCGGACAGCAAGGGTTGTTCGACATCACTCGGACACTATTGCAGCAGCCCGATCTG
+GCCTCGCTGTGTGAGGCTCTTTCGCAACTGGTAAAGCGTTCTGCGCTCGCCGACAACGCGGCGATTGTGT
+TGTGGCAAGCGCAGACTCAACGTGCGTCTTATTACGCATCGCGTGAAAAAGACACCCCCATTAAATATGA
+AGACGAAACTGTTCTGGCACACGGTCCGGTACGCAGCATTTTGTCGCGCCCTGATACGCTGCATTGCAGT
+TACGAAGAATTTTGTGAAACCTGGCCGCAGCTGGCCACAGGTGGGCTATACCCCAAATTTGGTCACTATT
+GCCTGATGCCACTGGCGGCGGAAGGGCATATTTTTGGTGGCTGTGAATTTATTCGTTATGACGATCGCCC
+CTGGAGCGAAAAAGAGTTCAATCGTCTGCAAACATTTACGCAGATCGTTTCTGTCGTCACCGAACAAATC
+CAGAGCCGCGTCGTTAACAATGTCGACTATGAGTTGTTATGCCGGGAACGCGATAACTTCCGCATCCTGG
+TCGCCATCACTAACGCGGTGCTTTCCCGCCTGGATATGGACGAACTGGTCAGCGAAGTCGCCAAAGAAAT
+CCATTACTATTTCGACATTGACGATATCAGCATCGTCTTACGCAGCCACCGTAAGAACAAACTCAACATC
+TACTCCACTCACTATCTTGATAAACAGCATCCCGCTCACGAACAGAGCGAAGTCGATGAAGCCGGAACCC
+TCACCGAACGCGTCTTCAAAAGTAAAGAGATGCTGTTGATTAATCTCCACGAGCGGGACGATTTAGCCCC
+CTATGAACGCATGTTGTTCAACACCTGGGGCAATCAGATTCAAACCTTGTGCCTGTTACCGCTGATGTCT
+GGCGACACCATGCTGGGCGTACTGAAACTGGCGCAATGCGAAGAGAAAGTCTTTACCACTACCAATCTGA
+ATTTACTGCGCCAGATTGCCGAACGTGTGGCAATCGCTGTCGATAACGCCCTCGCCTATCAGGAAATTCA
+TCGTCTGAAAGAACGGCTGGTTGATGAAAACCTCGCCCTGACCGAGCAGCTCAACAATGTTGATAGTGAA
+TTTGGCGAGATTATTGGCCGCAGCGAAGCCATGTACAGCGTACTTAAACAAGTTGAAATGGTGGCGCAAA
+GTGACAGTACCGTTCTGATCCTCGGTGAAACTGGTACAGGTAAAGAGCTGATTGCCCGCGCGATCCATAA
+TCTCAGTGGGCGTAATAATCGCCGCATGGTCAAAATGAACTGCGCGGCGATGCCTGCCGGATTGCTGGAA
+AGCGATCTATTTGGTCATGAGCGTGGGGCTTTTACCGGTGCCAGCGCTCAGCGCATTGGTCGTTTTGAAC
+TGGCGGATAAAAGCTCACTATTCCTCGATGAAGTGGGCGATATGCCGCTGGAGTTACAGCCGAAGTTGCT
+GCGTGTATTACAGGAACAGGAGTTTGAACGTCTCGGCAGCAACAAAATCATTCAGACGGACGTACGTTTA
+ATTGCCGCGACTAACCGCGATCTGAAAAAAATGGTCGCCGACCGAGAGTTCCGTAGCGATCTCTATTACC
+GTCTGAACGTATTCCCGATCCACCTGCCGCCACTACGCGAGCGTCCGGAAGATATTCCGCTGCTGGCGAA
+AGCCTTTACCTTCAAAATTGCCCGTCGTCTGGGGCGCAATATCGACAGCATTCCTGCCGAGACGCTGCGC
+ATCCTGAGCAACATGGAATGGCCGGGCAACGTGCGTGAGCTGGAAAACGTCATCGAGCGAGCGGTATTGC
+TAACACGCGGCAACGTGCTGCAGCTGTCATTGCCAGATATTGCTTTACCAGAACCTGAAACGCCGCCTGC
+CGCAACGGTTGTCGCCCAGGAGGGCGAAGATGAATATCAGTTGATTGTTCGCGTGCTGAAAGAAACAAAC
+GGCGTGGTTGCCGGGCCTAAAGGCGCTGCGCAACGTCTGGGGCTGAAACGCACGACTCTGCTGTCACGGA
+TGAAGCGACTGGGAATTGATAAATCGGCATTGATTTAACAGATGTGGTTATACTCGATCAACATTCAATG
+AAAGGAGGCAGTATGGCAGTTTCAGCAAGAAATCAATTAACCGGAACAGTTAGCGCAGTAGCAATGGGCG
+CTGTGAATGATGAAGTAGAACTGACGCTGGCAGGTGGTGCAAAGCTGGTGGCAATTGTGACTCACAGCAG
+CCAGCAAGCGCTGGGTCTGGCGAAAGGGAAAGAAGCGATTGCCCTGATTAAAGCCCCGTGGGTCACGCTG
+GCAACGGAAGACTGTGGACTGAAATTCTCTGCTCGCAACCAGTTTGCTGGCAGCGTGTCGACAATCACCG
+AAGGCGCAGTGAACGCCACTGTCCATATCAAAACGGATGCGGGTTTTGAAATTGTGGCAGTGGTAACAAA
+TGAAAGTCAGGATGAAATGAAACTCACCACTGGCTCGCGCGTTATTGCATTGATCAAAGCATCAGCCATC
+CTGATTGCCACCAAAGCGTAAGCGCCGTATTTGCCGGAGAGTATGGCTCTCCGGCAGATTTATTTCTTTG
+GACGATATTTTTCTGGCAACTCCGGCACCGGACGCTTGTCATCGATGAGATGACGCACGGTTAAGATCGG
+ATGACGCCACAGCATTCTCGGCCCGGCCCAACGCATAATCTGTTTCATCTCTTCACGCTTTGCAGGCTGG
+TAACAGTGCACCGGACACTGCTTACAGGCTGGTTTCTCTTCGCCGAACACACATTTATCCAGCCGCTTTT
+GCGCGTAAGCAAACAACGCCTCGTAATGCTCCGGCTCTGCTGACGCCTGCGGGCATTTCGCTTGATAAAG
+ATCGATCATTTTTTTAATCGTCAGTTTTTCACGAGAGATACGCTTGCCGGACATGCTGCCTCCATACTCT
+TAAGGTGCATTTATATTACAACTTAATTTTAAAGGGGACTATGTCTCTGAAGGAGGAGGTTTCTTCAACC
+GACGAATTTGGCGATCTTGTTTCATCGTCATCACGCAAAAGCTGCAAAGCAGCATTTTTCGCGGAACCGA
+CATCAAGAACTCACCTTTCGCGTCTTCCCCTGAAATGATTAACTCCGGTATCATGTGCGCCTTATGTGAT
+TACAACGAAAATAAAAACCATCACACTACATTTAACATCAGGGAGCCGGACTTAACCCCATGAGTACAAT
+AGAAAATTTCGACGCCCATACGCCCATGATGCATTAGTATTTCATCATTGATTAATATAGCTTTTTTATT
+GAATAAGATCAAAAACCACGTTTTTACTTACACTTTTGTAATCTCATGATATGTAGATATTATTTTTTTC
+ATGATATTTGATTCAATTCGTCCAGCGAATATTTTATGAATATATACTCACCGTCGTAAATATATCTATT
+AATACACAATAAATTAGAATGTGAGGTTATGATAAAGGTTACAGGGATAGACATCATTACTGATTTACCA
+TTTACTCTGAGAAAACATCATACATATCGCATCTTCATAAGACCATGTATTGGTTAATTTAAAAATCTCA
+TAACTTGATTATTCAATACAGGTATGTGAAGCTTGAAATTAATAAATTTATTAGTGAACGGGCATAGTTC
+CATGCCTCTTTATTATAAATCAAGGTGATGAATGACGAGAGATAGCGTTCGGTCTAAAGAAGAAGGTGAA
+AAGATTATTAGATTCCTTCGAGTTATGTCTGCTGCTGTTGAATATTTCGGCAGTAAAACAAAAGCTAAAG
+AGTGGTTGGATAAACCTTCTCGTGCTTTATCTTATAAAAAGCCTATCGAGTTAATATCTTCTGAATCAGG
+AGCATAGACTGTATTGAATTTAATAGGGCATATGTCTTATGGAGTATACTCTTGATATCTAAGGCAGTAT
+TAGCCTGCTTCGGATGAAGTTTAAAATAATCGCTAAACACGTAATAGACTCACGAAAGGATATGTTATGT
+CACGTAACTGTGAATCTCCAAAAGGAACATTAGTAATAGATCTATCAACAAAGAACAAGGAGATAATATC
+GCAAGCTGCTGCAATGGAACAAATCGACTTAAACGATTATATAGTCAACCAGCTATTACTTAATTCGCTA
+AGAGTTATATTTGGAAGTGGTAATGTTACAAGTGATGACATAAGGAATATTGATAACATTATCAAAAATT
+CTCCCTCACCAGACGAAGATATGCTTAATGCGATTTCGATGTATAATGAAACCTTTAAAGAATTAATTAA
+ACCTGAAAGATTAGATAAAAGAGATAAAGCTTCAAAGAGAAAACCATCCTATGGTAAGGCAGCCCGAGAT
+AATTTAGCTAAAGGAGTACCTATTTATTACACAACAGGAGGAATACCGAAAGGGCTAATAATAAAAGAAT
+ACCCCTCTGGGAAGAAAGAATTAGTAGATTTCTCCTCTGGTAAAGAGGTATATATCAAGGATTACAAAGG
+ATGATAGCCATTGAGTAGCCCCATTGTCTATTTCATAACGAGCTTAAGATATGGATGTTTCCAGTCACCT
+TTCTTGAGCTTGCGGCGAGAAACGAATCCATCATGCTCTAAAGCACAAATACCAGAGTGTGCGGCAACAA
+AATCATATACAGCCCTACTCTCTTCGCCTTGTAGCATATGAGCGAGAAGCTTGCGTCGCATGACATCAGA
+GCGCCACCTTATCTTCGCCGCAGGATCTTTGTAAGTACAGTTGAAGATCTGTCCGACTGCATTTCTCACA
+CATAGGCCATAGCGGTTTGTTTTACCCGTAGACAAATAATAATCGATTAATTCATTAAGATCATATTTAA
+GCGGTTCCAACAATGTTCGCCAGCGAAGAAGTATTCGCCGGGTTTTGATTTCACCATAGGACTTATACAG
+AAGCTGTACAGTCTTGCTTTTACGGCTTAAATTTACATGACCTGCACTAAACACAGCAGAATATCTAAAT
+TGCTTAACTAAACCCTCGCTTATTTTTAATACCTTGGCGATATATTTAGTTTCAAGGATATGGAGGTTCT
+CATCTGATACACCAATCTTTGTTAACTCATCGCGCAGAATTTCAAGCTGACAACTTTTAATGTCATAGTT
+ATATCCTTCTTCAAGGCATCCCCACTTCATTCCTTTTGGTAATCCCTGAAAGCCTGTACCATTTTCAAAA
+GAACGCCCTCCTACCTTAGCTGTTTTGTAGGGTTGCCTGTATGAGATAACTAGGGGATTATCATCTACCT
+TACGGCAATCAGTCTCTGCAAGATGAGAAATAAAGTTGAAATAATAACTCTTGTTTTTAGGCGAAGGATT
+ATCGTTACAATAGGTTAAAAGCTTATCTATGTTTATTTTAATCTCATCGAGATTTGCATAAACATTTTTC
+ACCAACTCTCTGAATTGTTTATCAGGAATATCTCTTTTGGATGTCAGGTGCTTTAATTTTTTATTATTGA
+AGAGTAGCTCATTTAAGGAATACTCTTTTTTATTATATATATCGCCTAATGATACATAACGTATATCCTT
+GTTAAGTTTGCTCTCTTAGAACAGTTCAGAAAGAAACTTTTTGGACAAGGCAAATTCTCTGCATTTATGC
+CTGTTAAAATCATGTCGAAATATCTTAATGAGACCAGCATTCTCAATCTCTTCCAGGGCACGAGAATAAC
+CAAGGTTCCGCTCTTGATCGAAAACAGAAGAGGCTATTTTTAAACCTATACTCTTTGGAATTGGGACAGA
+GTAAGTCCATTTCTTATCATCTTTCTCCTGATACTTTAGTTTCTTTCTTTTGATAGTTGTACAGCAGGCA
+ATTAAATGCTGTAGAAATTTGGCAATTTCTTGATAATAAATACGAGATCGTCGTCTATCACTTTCATTAT
+CAAATGGGATTGAAAAACCATATTTCTAAACTTAATAAAAGTCATCCTATCTGTGAATATTTTTGCTTCT
+GCAACAGTTGTTCTTTTCATAATATTTTGCTTTTTTTATATATTTAAAATAAATTGGAGGTAATTTTTAA
+ATGTTCTACATGTATAAATCCATCAGGGAAACCTCGATAAACCTTTTAAAAGCTAGTACCATCTGAAAAA
+AATCATCATGATCTTAATATTTCATCCTGTAGTCATAGATACTTATCTTTATTCAATGAGACAAGATAAA
+AATAGAGATATAACCTGTTTTGAGCTAACACCACTTTTTTGGGGGGTATTTTTGATCTTGAAGTTTCATC
+TACAACATATTTATCTTAATCTAAATAAGGTTGCAATGCATGAATCTTAGCAAATATTTCAAGGATCGCG
+CTATCACTTTTTTGATTTCCCCCTACTATAGCCCATATATCTACTATATATATACATCTCATCATATATA
+TACATGTCATAGCCTCCATAAAAAAAATCTATATCTATGTTATCAGCGTGCGTGAGCACGTAGTATGTTG
+AAGATGTTAAGCTTCAACATACATATCAAGTAAGGTCCATTATTCTGACTGGATTTTTTATCAGAATAAA
+CGCTGATCTAATGGGAGTGTTCTCTGAACAAAGGCAATATCTCCATTTATAAATTTCTTGTACTGATTAA
+GATCTTTGTAAGTGTCTTCGTGGATTAAGAACACAGGCCTGCTACCTCTAATCTGAGACATGTTTATTGA
+TAGAAAAAATTCGAACATTTCTCCCTGAACTAAAGGTGTAGCCTCTGCTTTATTTGGTCCTTCCCACACA
+ATAGCCAGCCCTATGCAGTTATGTTTATTGTATTTAACCTTACATACGGTTTCATATATACCCGTGATCA
+TTGAAGATACTTGATTTTTCAGCAACAGAAGATCATGCTGTCCAACATGAAAATATTCATTACTGAGCAA
+CAAAAAGCTGAACTTGAACGCCTTCATGATTCCAGTAGTGACGGGCGAGTCAGAGATCGTATTAAAGCCA
+TTCTTCTGGCTTCCGAAGGCTGGAGTTCTGCCATGATTGCTCAGGCTTTACGCCTGCATCAGACAACGAT
+TGATCACCATATCAGCGAATTCCTGAATAAAGGAAAACTGAAGCCCGAAAACGGCGGCTCAGACAGCAAA
+CTCAGTGCTGAACAAACGGCCTTTTTAATCAGCCAGTTATCCGATAATTTATTTCACCATACCCGCGATG
+TTATTGCGTTTGTCACCCGGACATGGAACATCATTTTCAGCATTCCGGGGATGAATAAGTGGCTGCATCG
+TAATGGTTTCACCTACAAAAAACCGTCAGGCGTCCCCCATAAATTCAGTGAAGAGAAACAAAGGCAATTC
+ATTGAATATTATAAGGAACTGAAAACAACTGTGGGTGATGAGCCGATTCTTTTTATTGATGGAGTCCATC
+CGACTCAGGCCACTAAAATCAGCTATGGCTGGATACGCAAAGGCCAGAAAAAAGCAGTAAAAACAACAGG
+CAGCCGCACACGCCTGAATATCATGGGGGCGCTGAATCTGAAAGCACTGACGTCACCGCTAATCTGCGAA
+TATAAAACCATTAATGAATATAATGTATCCCGTTTTTTCAATGAGATACGAAAGGTTTATCCTGATTATA
+ACCAGAAAATCCACGTTATTCTGGATGGAGCAGGTTACCACCGTTCACAGTTAGTGAAAGACTGGGCGGA
+AGTGGTAAATATCAGGCTGCATTACCTTCCCCCTTACAGTCCAAACCTGAATCCGATAGAAAGAATGTGG
+AAATTAATGAACGAACATGCCCGGAATAATCGCTACTTCAGCAGTACGCGAGAGTTCAGGGAAGCAATAT
+CTGTCTTTTTTAACCAGACACTGTCGGATATAGCGGACTCACTGACATCCCGAATTAACGATCACTTTCA
+GGTGCTCACACCCGCATCTTGAGGTTTATTGAGTATATAATAGAATAACACTTTATAAAAAAGGGTGAGT
+TAACCACCCTTAATAAATCATTAAAACCCTCTAAGATCTTATAGCTGAAATAACTATTCTAAGTCTTCCT
+CATCAACATCACTATCATAAGGAAAGAGTGTAACTTCTTCCTCTGGTATAATCGGCTCGCAGGCCTGAAG
+TTTATCGTTATCGACAAAACTGGTAGCCATAATACTGTTCTTGAAATTATTGTCACTTATCCATTCAGAA
+TTCCAAACATGCTCATGAGGCCTATCGTGAACGCCAGAAACGATAGAGCAAAGCGTCTCTTTATATTCAA
+TATCTCTGTTAATATGATAGGAGATACGTTGCAGCCAGATATCTAAAATCCCAGTACCTAAGATAGGTTT
+AAACTTATCTTTGATCTGTTTGAGCAACTCTAATTTCTCTACGTCATTATCTACAAACTTTAATACATTA
+CTCAACACTAACGCACAAGATGAAAATGTTCTTGGATTATTAATCATTAGATCAGAAATAATACTGACTA
+TCGCTCGAACCTCCTCCTTTATGCTACTCATGCGTTCTAAACGCTTATTTATCTTAGCAAGATAGGCTTC
+AAGCTGACCTGAATTTTTATACTTACGAGAAAAGATAACAAGCTTCAAAAGAGTCTTTTGAATAGTTGTG
+GCATTAACACTTCTTCCAAATACCATCAACGCTTCTTGTTTATCTGGTTTCATTGAACCAAGGACTAAAT
+CTTCAGTAAGTGAAGTTTTAGAAGCATTAAGCTGTAGCCCTAACCCTTGCAGAATAACAGTTAGATGTCT
+CGCTATCGCCTCTGCATCCTCTTTACTATTTGTGAAGATTCTATAATCGTCTCGATATCGAATGATATGA
+TAGTCATTGATATTCTGGCTTTCGAGTTTCTGCCCAAGCAACTCATCAGCATAACCAAGAACGATTTCCG
+CAATAAAATCCATAAGGGCAGAACCTTGAGGAATGCCGTTAGTCTGCCCCCATCGCATCTGTCGTAAGGC
+ATAATCAATTTGGTCTCCAAGATTTCTACCTGCTCCTCTTGCTGCTTTAGCATCTTCTTTTGTGTAAATT
+GCCCAAGGTATGGAATGGGTATAAATTGATGGATAAAAATTTGCGATATCAGTACTGAACAGGTATTTAA
+ACTGAAGAGATTTATTGATAGATTCTTGTTCAACATCACGCCACCATCCTGATACAGCTTTTGCCTTATC
+AGAAACTCCATCTTCTTCAGATTCTCTTGGAAGGCTTGCACACACAATTTTTGTATTGCTTTGGAACTCA
+CCAAACCTTTCAAGCAAGAGTTGCCATGATTCATCTTCCGTTATTTTATGGACAAGATGAACGTAAATTG
+CAGGATGAATTAATTCGAATGGTCGCCAACAATAGTGGCCATCTTTATTCGTTTGTAAGATATAGTTGTC
+AACGACGGATGAAAAGTGATCCACTTATATCTCCACCAACGGCCCAATATTGATCCACCGTTTTACTCAG
+GATTAGCTTCTGCTATAACCCCGGCCTTTCGTTTCTGTCTGAGTCGATAGCTTTCTCCTTTGATTTGAAC
+GACATGTGAGTGGTGTAAGATACGGTCCAGCATCGCTGAGGTCAGTGCTGCATCACCGGCGAACGTTTGA
+TCCCACTGCCCGAACGGCAGATTGGATGTCAGGATCATTGCGCTCTTTTCGTAACGTTTAGCGATGACCT
+GGAAGAACAGCTTTGCTTCTTCCTGACTGAACGGCAGATAGCCTATTTCATCAATGATGAGCAGGCGGGG
+GGCCATTACTCCACGCTGAAGCGTCGTTTTATAACGGCCCTGACGTTGTGCCGTAGATAACTGAAGTAAC
+AGATCTGCTGCTGTTGTGAAGCGAACTTTGATACCTGCACGGACTGCTTCATAGCCCATCGCTATTGCCA
+GATGGGTTTTCCCCACACCTGATGGCCCCAGTAATACGATATTTTCATTACGTTCTATGAAGCTGAGTGA
+GCGTAACGACTGGAGTTGCTTCTGCGGTGCTCCGGTGGCGAATGTGAAGTCATACTCTTCGAACGTTTTC
+ACCGCCGGGAAGGCTGCCATTCGGGTATACATCGCCTGTTTACGTTGATGACGTGCCAGTTTTTCTTCAT
+GAAGCAGATGCTCCAGGAAGTCCATATAACTCCATTCCTGGTCTACTGCCTGTTGTGACAGCGCAGGCGC
+TGCGCTTATAAGGCTTTCCAGTTGCAACTGCCCGGCGAGCGCCATCAGTCGTTGATGTTGCAGTTCCATC
+ATCACGCCACTCCTCTGCAGAATGAGTCGTACATGGAGAGTGGATGATGCAGGGGGTGTTTGTCGAAGTT
+CACCAGATTTTCACTAGGATGCACGTCATACTCTTTTTTCTCCGGAGGCAGTGCCAGCATGGACTGCTGC
+TCTTCGAGCCAGCGATCGCAGGGACGGGCCTGGATTGTTTCATGCTTTCGTTGGTTAGCGACATCGTGCA
+GCCAGCGCAGACCGTGGCGGTTGGCTGTTTCAACATCGACAGTGATCCCCATCGGGCGCAGGCGAGTCAT
+TAGTGGGATGTAAAAACTGTTACGGGTGTACTGCACCATCCGTTCCACCTTACCTTTAGTCTGTGTGTAG
+TGGCACACTGAATTTGGCCACCTGAACAGAGGTGATATGCTCACCTCAGAACAACACAGGTGCTCCAATG
+AAAAAAAGAAATTTCAGCGCAGAGTTTAAACGCGAATCCGCTCAACTGGTTGTTGACCAGAACTACACGG
+TGGCAGATGCCGCCAAAGCTATGGATATCGGCCTTTCCACAATGACAAGATGGGTCAAACAACTGCGTGA
+TGAGCGTCAGGGCAAAACACCAAAAGCCTCTCCGATAACACCAGAACAAATCGAAATACGTGAGCTGAGG
+AAAAAGCTACAACGCATTGAAATGGAGAATGAAATATTAAAAAAGGCTACCGCGCTCTTGATGTCAGACT
+CCCTGAACAGTTCTCGATAATCGGGAAACTCAGAGCGCATTATCCTGTGGTCACACTCTGCCATGTGTTC
+GGGGTTCATCGCAGCAGCTACAGATACTGGAAAAACCGTCCTGAAAAACCAGACGGCAGACGGGCTGTAT
+TACGCAGTCAGGTACTTGAGTTGCATAACATCAGCCATGGTTCTGCCGGGGCAAGAAGCATCGCCACAAT
+GGCAACCCTGAGAGGCTTCAGAATGGGGCGCTGGCTTGCCGGCAGACTCATGAAAGAACTGGGACTGGTC
+AGTTGCCAGCAGCCTGCGCACCGTTATAAACGAGGTGGTCGTGAACATGTCACTATCCCGAATCACCTTG
+GGCGGCAGTTCGCAGTGACAGAGCCAAATCAGGTATGGTGCGGCGACGTGACGTACATCTGGACGGGGAA
+ACGTTGGGCATACCTTGCCGTTGTTCTCGACCTGTTTGCAAGGAAACCGGTAGGTTGGGCAATGTCGTTC
+TCTCCGGACAGCAGACTGACCATCAAAGCGCTGAAAATGGCCTGGGAAATCCGCAGTAAACCAGCCGGGG
+TAATGTTCCACAGCGATCAGGGCAGCCACTATACAAGTAGGCAGTTCCGGCAGTTACTGTGGCGTTACCA
+GATCAAACAGAGTCTGAGTCGACGAGGAAATTGCTGGGATAACAGCCCGATGGAGCGCTTCTTCAGGAGT
+CTGAAAAACGAGTGGATACCGGTGACGGGTTACATGAACTTCAGCGATGCTGCCCATGAAATAACGGACT
+ATATCGTTGGGTATTACAACGCGCTCAGGCCGCACGAATATAACGGTGGGTTGCCACCAAATGAATCGGA
+AAACCGATACTGGAAAAACTCTAAAGCGGTGGCCAGTTTTTGTTGACCACTACAGTGCCCTGAAGGGGCG
+ACACAGTCGGGGAGAGAAGCCCATCTCCTTGCCGAACTGCCACAGCGAAGGATGGAACCGGTGCTGACCG
+GTCTGATATGCGTCACGTTGCAGAACCACAGTTTTCATATTGTCATACAACACTTCGCGCGGCACACCAC
+CAAAGAAGCGGAACGCATTACGATGGCAGGTCTCCAGCGTGTCATAACGCATATTGTCAGTGAATTCGAT
+GTACAGCATTCGGCTGTATCCGAGAACAGCAACGAACACGTGAAGCGGTGAGCGACCATTACGCATAGTG
+CCCCAGTCAACCTGCATCTGTCGTCCGGGTTCAGTTTCGAACCGAACGGCAGGCTCCTGCTCCTGAGGAA
+CCGAGAGAGAACGAATGAATGCCCTGAGAATGGTCATTCCGCCACGATATCCCTGGTCTCTGATCTCGCG
+AGCGATTACCGTTGCCGGGATTTTGTAAGGATGAGCATCGGCGATGCGTTGACGAATATAATCCCGGTAT
+TCATCCAGGAGTGAAGCAACAGCAGGTCGCGGCGTATATTTTGGCGGCTCAGATTTTGCCTGCAAATAAC
+GTTTAACCGTATTGCGGGAGATCCCCAGTTCTCTGGCAATCGCCCGGCTACTCATTCCCTGCTTGTGCAG
+GATTTTAATTTCCATAACTGTCTCAAAAGTGACCATAAACTCTCCTGAATCAGGAGAGCAGATTACCCCC
+TGGATCTGATTTCAGGCGTTGGGTGTGGATCACTATTGCACCGTTCGTGACAATAGTTAACATTATCGAA
+ATCGCATGCTTTTTTGTAACCGATATCATTAATACCGTTTTGCTTTTGTTCGAGAGCATTTTTCACTGCG
+AGCAGAAGAGGCGCAAAGTCAAAATAAGCAGGAAGTGCAAAACTACAATAGCTCTTGTGCTTCAAGAAAA
+AGCTTCTTGCGCTCTCTGCTGTCATTGCGGTAATCAATGTCATGAATACTAACCCTAATTATTACTTTTG
+AGTCTCTATTAAACACTCCTTTGAACTTAATGTCTTATGTTGAGCCACTAAAACGCATCAATGGTCACAA
+TTCTGCTCATCAGTTTTCACTCAATAGTATCAGAGATATACTATTACCCTTCTTACAACGCTTATTTATT
+GGCCAACCATCATCCCATTGATAAATGATCTATCAATGGGATGATAGAACCGCTTTTATTCGAAGCGTTG
+TTCGCGCATCTCATCCTCCTGCTGCTCTTGCAACTTTTCATGTTCTATCCAATCGTTTAATTTCTCGGAA
+ACAATTCTAGCTGCCGCAGCAATATCTGTACGCTCATGCTCTATTAATCTACTAATAGTATTTGCTCTGG
+GTTGCATTACGTTAACTCGACTTCCCCACCAAGATGTCGGTGTTACGCGATAAGCGAATTCTTCCAGTAC
+GGCCTTTGGCACAGGAGCTGCTTCAAGGAAGCGAATCGCTGAAACCTGCATTGTGACCTTATCCAAATCA
+TCCCCCACAGACCAAAGGCGGATACCCTTTGCGAGAGGTGCCCATACATTAATATCGTTTCGAGTAAGAC
+ACCATTCGATCAATACATTCACGTCGATATTCGCGATAGGGGACTCTGTCACATCATCATAATGGATAAA
+ATGAATACGTCGTTGTTGCTGTTCTTCTGTCCCTTCAAAAATACGAGAGAGGAACGCTTCTGGCATTGAT
+GCCGCAGTCATCTTTATAGTGTCTTCAAACGAATGAATACAGCCATACTGTTCATCAACAACAGCAAAGA
+TCGTATTTAACCACTCTAACTTCCCCGCCTCGTTGCCTTCGAGACGCAATATGGCACCAACAACACATTC
+CATGCCGTAATCCATTCCCCCAGCGGAATCATTGTGCTCTCTTTTGAACCTCTGGATTGCAGCTTTCAAT
+CCTATTTGAAGCAGATCAAAGCCAAGAGTACTCGAACCGTCTTTCTGGTCACTTAACTTCATGCTTAAAG
+CTTCCAAAATAACATCATCGCCATTTGGCATACTTAAAAGCCTGTGAGCAAGATCAACAATGCGCGGCTC
+TGGCAAATGAGCGTATTGGTCTCCCCAAAGAATTTGTCCATACATTGACGGCATGATGTCGGGGTCATCT
+AAAAGAGCCAAACAGCGATCCAAGTCAGTTTCAGTGAATTCTCGCCAAGGATGTAAATAAACAATTCCGT
+ATCGCAACTCAGGATGACGCACACATTGATCGAGAAATTCTTGGGCTAATATTGAATCAATAGTATCTGT
+CTCGTCGATAAAGCCACGGATAACTGCAAAATCCTTTTGAGAACCGGTTTGTATATCCAAATAAGCAACG
+AGTTGTTGCCAACACTCCCGTAGGTCAAGTGCCCCTCTTGCTAAACCTTGACCAAATTTAACACGGTAGG
+GCATCCCCCCCACCAAGAACAGATTAGGCCCCAACTCATCAAGCGTATGCTGAGATGACGCGAAATCCTG
+CCCCAATTGATAAGCTTTAGAGTCAAGGTATGTCCTAAGATTAGCGAACTTATTAGGTTCATCAGGAGAA
+GTATCGGCACTAAATGCCAAATAATCGCGTCCGTTACTTAATACATAAGCCATTATTTCCGGAACCAAGT
+CATGTGGTTCTAACTCACTCTCCAGAGCGACAAGATCGCTTGGCAACGGCTCTAAATCTTCGATATCTCT
+GCGCTTGGTGTAATCAAAATATATCGTTGAACGAACGGCCTTCCATCCTTCAACCCACGGATAGTAAGAA
+TGTAATTTGTGAGCAGCATCAATGAGCATTGTCCTGGCAGCCTCTTGACGCCATATTGATCGAAAAGCCC
+TCGCTAAAAGCTGCCGCGCAGTTTCCTCAACCGCAGGAATTCCGCAAGTTCCTGCATTAACCGCAACTTC
+AATGAATGCACTACGCCATTCAACAAGTTCTTCATAGGTTGGTTGAAAACCATAATCTCTTGGTCGTGCA
+CCAAACTCATTAGCCCCGAACCCCGTCCAAGGTGGGCCGCTGAGGGCTGTTGAAAGCATCATAAGGCCCA
+ATTCTTTGCGTCCAACGACGTCTGATGAAAGGCATTGTTTCAAAATTGCAAGGCGCTGGTCTAAAGAGGC
+CTGTGTACCAGACAGGTATGGCTGATAAAGCCTCTTGATCTTACCCCGTACAGAGTCATGGTTGTTGTTT
+TCAACCTCATAATCTACCGCATGAATTAGCAGCCTGACGCAACGTTCAAAAGTTTCCGGTTCATATGCCA
+ACGATTGCAGGAGATTGAACATAGTTGTCCGTCGTAGACTGTAACGCCGTTCCATACCTTTAAAGTCAGA
+TGAAGTAAGCTCTTCTTCAATCCTGTTGAGAAGTGTTTCAGGCGCAACCGGACCGATGTATGCCAACATT
+TGTATTGATGCATCATCCAACTCAGTTCCTCGTCCAAGCAAATCTCCTGGTTGAAGCCACGCTTCAACGA
+TTTCTTTCGCTACAGCGTGTTCATGGAGCAATCCTAGCCGGTGTGCGAATGATATTAATAAACGTTGGCG
+ACCGGGAGCTTCAAAGGTGTCTCTGAGTTCATGAACGGGGATGCTATCAAGTGCCGATGCAGCTAGCTTG
+TTTGCAATAGCATGAGGTAGAACAGCCCGCCAATTAGCTCTTTTCTGGATAACGTGACGGTTCAGTAAAT
+TAGTAACTGTTTTGAATAACTGCCTGTAGGAGTACCCGCCGAGTGAGCCTAACGCCTCCAATTCGTTAAT
+CCCGCCTTCACTGGTTGAGATGGAGAAGGAATACACTAAGGACAATATTTCAGCTTGTTCCCGCAGATCA
+TCATCGGGATCATTACGCTGCTCAAAAAGGCGGTTAAACAACTGTGCATCAGACAATTGAGCTAGACTTT
+CACCCTCTTCTACCCTCTCTGCTATTGCCAAGGATACACGTGCATTCCCATCAGCAAACGCTGCTATTCT
+ACGGGCATTGTGATGGCCTATACGGGGGAAGCGACGAATCAAAAGCTGTTCAGCTACCTCCGGTCCAAAC
+GCCTCTATGCGGATTACCTCGGTTGTTTGCGGTTTATCGTCCCTAATATCGTATTCGATGGTAATAAGTC
+TTACCTTGTTACCTACGGCTGATATCTTACCTGCCAATAAAGAGTGTAGTGCTGATGGGCAATTATCGAG
+GATCATAATAGCTCGTCGATCTTCGACAATAAGCCGCTCCAGCATAGCCGTTGCCGAGGGGGCTGGGTCA
+GCACCTGTATCAACATAGATTACAGAGGTTCTATCTAGAGGGTCAGATCCAACCGATTCATCAAAAAGTG
+CCTGAACGATCCGAGTCTTACCTACACCAGACAATCCTGTTATGCGAATAGCTTTTTTAGTAGAACGGAT
+TAGTTCTCGCATCGGATTGATAGCATCTTCAATGCTAAGCTTCTGCCCTTGCCCTGATGGAAGAGTGACC
+GTGACTCCAGGAGCTAAGATTAGAGTGTCTACGACGCCATTGGGAGGATTACTCCACGCACCGTATGGCT
+GCCAGCCTGAATATCCCTGTCCGAGTATCCCTTTTACCCACAACATAACTGACGGATGCTGGCGTAACCA
+TTGAGTCAGTTTCGAGCGATCAAAGAAGTCGAGATGGATATTGCCATTATTTGGCTCATCCTTAACTGCT
+TCCTGCATTGCTTGCAGGCGTTTCATCTTAGAAATAGGAGAACAATCATCACTGAGGCAGACAATTACGT
+ATCCTCCTCTTTTAGAAACTTGCTCAGAGATTAACGGTAGTAATCCTTGTTCAGTTTCCATTTCATTCTT
+GATCGCGGACGCACTCATCGAAGGCTTCTTGGCCTGAAAGATCGTGTCGGGCCTCTCGATAAACCCTGTA
+CTTAGTTTGTCGATAGGAACCTGAACATGAACGTCAATTCCTCCGTCTGGTGCATTGATGGAACCAGACC
+AATTAACCCATGCGGGACTGTGGCCATGAGCTGCTACCTCTGCCTCAGCAAGACGAGCAGTCAACTCTTC
+AAGTTGACTATCGGTGAGTCGGAGTAATTCATCTTTCTCAATGTCAAAGATCGCCACATCCAAACCTTAG
+TAAAATTATTACGGCCACAGTCAGATTTAGCCTCCTAGTCTAACTAAAGTTGAAAGAGTTGTCCGCTGAA
+CTGCCCATAACCATAGAAAAACGTTGAAGTTATTGGGAAGCGTCGGCTTAGGCAATATCGTTAATCATGC
+CCGCAACTGGCTTAACGCCAGCATGCAGATGGGATTTAGCTCTAATCTTCAATGAATGACGGTCTAAACT
+GACTCAGGTAAAGGGGGAGGCATCTACCTCCCCTGTGATTTGCTCTTACTGTGATAGTTCCTTTTCACTC
+AGAAAACGAGCACGACGGTTACAGGTCACTTTTGTTCTGGCTTGCCGAATGCTTGATTTAGCCAACATTG
+CAGGATTAACAAAGTGTTCATCTAAGCATTGTCGGGCAATCGCGAAGTCGTAGGCTAAACTCAACTCTCG
+CATTACATTACCCGCCTGAACTCTTGCTCCTCGTTCAACAATACTGTTAACCAACTCCACCACATCCTTA
+CGCGTAACAGCCATAGCTTCCATATGCCCCAGCACTCTGATGGCATCGCCTTCCAGAGTTCTCCGGCACT
+CTTTCTGGCCTTTAACTTTGCGTGCGCCACGGATCAGCTTACCATCAGAGTCTTTACGGTCCTCAATCCT
+CTCCGTCAGATATAACTCGACTACATCTTTGACTGTTACAGGCTTCTGCTTAACTTTCTGCTTTTCGAGT
+TTAAGCTGCTTCTTTTCCTCATCCAGCTCAGTTCTGGGACATCGCCCCTGCTTTCTGATTATCTTCAGTT
+CGTGTAACCTAACGCGGGCATCAGCCAGAGTGGTCACAGGATAATGGCCTATCAAGATCTGTTTATCTTT
+ACCTGTTATTGGACTGGTATAGCGGTAGAAAAATGTGCAGATTCCCATTTTTCCACGCGTAACACGAAGG
+CCTCTATTTTCGCCCGTATCTGCCAGAGTCATGCCGAGCTTCATGGTATCTATACCGCGAGCGGTTAGAG
+GTTTATTAGGTTGTTTTTCAGACACAGAAACTCCATGTAACTGGTTGATATTAATGATGTAAATCTTATA
+AGTGTAGGTTGTTTTCGAATTCAGGTTATCACCAGACTCTTACATTGAAAACCTACACTTTGACCTACAC
+TTTTTTTTGAGATTTGGTGATTTTTCATGAGACAACGTGACACCACAAAAGATTGTAAATCTCTTAAAAA
+GTATTGTTTTTCAATGAAATGGAAATCATAAGTCCATGAGTACACCTGAAAATTTCGACGCCCATACGCC
+CATGATGCAGCAGTATCTCAAGCTGAAAGCCCAGCATCCCGAGATCCTGCTGTTTTACCGGATGGGCGAC
+TTTTATGAACTGTTTTATGACGACGCAAAACGGGCGTCGCAACTGCTGGATATTTCACTGACCAAACGCG
+GTGCTTCAGCGGGAGAGCCAATCCCGATGGCGGGGATTCCCTACCATGCGGTGGAAAACTACCTCGCCAA
+ACTGGTGAACCAGGGCGAATCGGTTGCTATTTGTGAACAGATTGGCGATCCGGCGACCAGCAAAGGGCCG
+GTCGAGCGCAAAGTTGTCCGTATCGTTACGCCGGGCACCATCAGCGATGAAGCACTGTTACAGGAGCGCC
+AGGACAATCTGCTGGCGGCTATCTGGCAGGACAGTAAAGGGTTCGGCTACGCAACGCTGGATATCAGTTC
+CGGTCGTTTTCGCCTGAGCGAACCGGCGGACCGCGAAACGATGGCGGCAGAACTGCAACGTACGAATCCA
+GCGGAATTACTGTATGCGGAAGATTTCGCCGAGATGTCGCTGATTGAAGGTCGCCGCGGCCTGCGTCGTC
+GCCCGCTGTGGGAGTTTGAAATCGACACCGCTCGCCAGCAATTGAACCTGCAATTTGGCACCCGAGATCT
+GGTCGGTTTTGGTGTGGAGAACGCACCACGCGGACTTTGTGCTGCCGGTTGTCTGTTGCAGTATGCGAAA
+GATACCCAACGCACGACCCTGCCGCATATTCGTTCTATCACTATGGAACGTCAGCAGGACAGCATCATTA
+TGGATGCCGCGACGCGTCGTAACCTGGAAATTACTCAGAACCTGGCCGGCGGTGCGGAAAATACGCTGGC
+TTCAGTGCTCGACTGCACTGTAACGCCGATGGGTAGTCGTATGCTGAAACGCTGGCTGCATATGCCAGTG
+CGCGATACCCGCGTGTTGCTTGAGCGCCAGCAAACTATTGGCGCATTGCAGGATTTCACCGCCGAGTTAC
+AGCCGGTACTGCGTCAGGTGGGCGACCTGGAACGTATTCTGGCGCGTCTGGCGTTGCGTACCGCTCGCCC
+ACGCGATCTGGCCCGTATGCGTCACGCTTTCCAGCAACTGCCAGAGTTGCGTGCGCAGTTAGAAAATGTC
+GATAGTGCACCGGTACAAGCGCTGCGTGAGAAGATGGGCGAGTTTGCCGAGCTGCGCGATCTGCTGGAGC
+GAGCAATCATCGACACACCACCGGTGCTGGTACGCGACGGTGGTGTTATCGCATCGGGCTATAACGAAGA
+GCTGGATGAGTGGCGCGCGCTGGCTGACGGCGCGACCGATTATCTGGAGCGTCTGGAGGTCCGCGAGCGT
+GAACGTACCGGCCTGGACACGCTGAAAGTTGGCTTTAATGCGGTGCACGGCTACTACATTCAGATCAGCC
+GTGGGCAAAGCCATCTGGCACCGATTAACTACATGCGCCGCCAGACGCTGAAAAACGCCGAGCGTTACAT
+TATTCCGGAGCTGAAAGAGTACGAAGATAAAGTTCTCACCTCAAAAGGCAAAGCACTGGCTCTGGAAAAA
+CAACTTTATGAAGAGCTGTTCGACCTGCTGTTGCCGCATCTGGAAGCGTTGCAACAGAGCGCGAGCGCGC
+TGGCGGAACTCGACGTGCTGGTGAACCTGGCGGAGCGGGCCTATACCCTGAACTACACCTGCCCGACCTT
+TATTGATAAACCTGGCATTCGCATTACCGAAGGTCGCCATCCGGTAGTTGAACAAGTACTGAATGAGCCG
+TTTATCGCTAACCCGCTGAACCTGTCGCCGCAGCGTCGCATGTTGATCATTACCGGTCCGAACATGGGCG
+GTAAAAGTACCTATATGCGCCAGACCGCGTTGATTGCGCTGATGGCGTATATCGGCAGCTACGTACCGGC
+GCAAAAAGTCGAGATTGGCCCGATTGACCGTATCTTTACCCGCGTAGGTGCCGCGGATGATCTGGCTTCC
+GGGCGTTCAACCTTTATGGTGGAGATGACCGAAACTGCCAATATTTTACATAACGCCACCGAATATAGTC
+TGGTGTTGATGGATGAGATTGGGCGTGGAACGTCCACTTACGATGGTCTGTCGCTGGCGTGGGCGTGTGC
+GGAAAATCTGGCAAATAAGATCAAAGCGTTGACGCTGTTTGCTACCCACTATTTCGAGCTGACCCAGTTA
+CCGGAGAAAATGGAAGGCGTCGCCAACGTGCATCTCGATGCACTGGAGCACGGCGACACCATTGCCTTTA
+TGCATAGCGTGCAGGATGGCGCGGCGAGCAAAAGCTACGGCCTGGCGGTTGCAGCTCTGGCGGGTGTGCC
+AAAAGAGGTTATTAAGCGCGCACGGCAAAAACTGCGTGAGCTGGAAAGCATTTCGCCGAACGCCGCTGCT
+ACGCAAGTGGATGGTACACAAATGTCTTTGCTGTCCGTACCGGAAGAAACTTCGCCTGCGGTCGAGGCAC
+TGGAAAACCTCGACCCGGATTCACTGACTCCGCGTCAGGCGCTGGAATGGATTTATCGCTTGAAGAGTCT
+GGTGTAATAATAATTCCCGATAGTCTTTTGCTATCGGGAATATTAACAACAACTGACGAATCAAATAAAA
+ATACCCTGTATAATAGGAAAGCTTATTTTACAGGGTAAAACCATGCCATCTACACGCTACCAAAAAATCA
+ACGCCCATCACTATCGCCATATATGGACCGTTGGTGATATTCATGGTGACTATCAATTATTACAATCCCG
+CTTACATCAACTCTCTTTTTGCCCTGAAACCGACTTACTTATTTCGGTAGGCGATAACATCGATCGTGGG
+CCCGAGAGTCTTAACGTGCTGCGCCTGTTAAACCAGCCCTGGTTTATCTCCGTCAAAGGCAACCACGAAG
+CGATGGCGCTTGATGCATTCGAAACTGGCGATGGAAATATGTGGCTTGCCAGCGGTGGTGACTGGTTTTT
+CGATTTAAATGATTCAGAGCAACAAGAGGCAATAGATCTGTTGCTGAAATTCCATCACCTTCCACATATT
+ATTGAAATCACTAACGACACCATAAAATATGTCATCGCACATGCAGATTATCCGGGGAAGGAGTATCAGT
+TTGGCAAAGAAATAGCGGAGAGCGAATTACTCTGGCCTGTTGATCGTGTGCAGAAATCACTTAATAGCGA
+ATTACAAAAAATAAACGGTGCCGACTTCTTTATATTTGGTCATATGATGTTTGATAACATTCAGACGTTC
+GCTAACCAGATTTATATAGATACCGGATCGCCGAAAAGCGGGCGGCTGTCATTTTATAAAATAAAGTAGT
+CTCATGCTTCTTCTGTGAAGCATGAGTAACCCGGCGTTATTGCAGGTCATTATTCATTTTTCGCTACCAG
+CAAAGAGAGATCCTTCTTCGCCAGCGCGCGGCTGGCACTCTCCGGCAGACCGTCGTCAGTAATGATCTGA
+TCAAACTCGCTTAATGGTAACGCCAGCCATGTCGCCACCTGTCCATATTTCGTCGCATCACAGACCAAAA
+CTCGCTGGCGGCTGGCACTGGCAATCGCCCGTTTCACCGTGACTTTATCTTCTGCTGGCGTAGAGATCCC
+CCGCACACTCCATGACGATGCAGAAATAAAAGCCTGATCAATCATCAGGCTACGCAGCATGGTCGCAGCG
+GCTTCCCCAACACAGGAACGGTTTTCCCGACACACTGCGCCGCCAGTGTGAATAATTGTGCAATTACTGT
+TGTCGAGCAAGTAGTCCGCAATAACGAAGTCGTTAGTAACCACTGTGAGTGGCTCCATGTGAGTCAGATG
+CTGTGCAATCGCTAACGTGGTCGTTCCCGCATCCAGATAGATACAACGTCCCGGCTGAACAAGACTTGCC
+GCCAGCTTGCCAATAGCCGCTTTTTGCGTCATTGCCAGCGCAGTTTTTACCTGATGAGAAGGTTCATGCG
+CCACGCGTCCCGGAGACTGGACGCCCCCGGACACCAGCACAACGGCTCCCTGCTGCTCCAGTTTTTGTAA
+ATCCCGACGAATAGTCATATGTGACACATTCATTCTGTCCGTTAGTTCAGCAATACTGACAATGCCTTTT
+TCAGCTACCATCTCAAGGATGATTTGGCGACGCTCTACGGGTATCAACTTTTGCTCCTTCCTTTGTCCTG
+CGGACATTCTACGCTATTTGCCTGCGAAACGTGCGCGGCGCAACTAACGCTTAGTTCACATAAAATAACA
+CACAATGTTAATTTTTGTGAATCAGCTCACCATATCGTTATCTTTCCGCGCTTATATTCACAACATCAAA
+CAAAATATCACTTAAATTAACAAGGAGAGCAGATGAAAACGGGATCGGAGTTTCATGTCGGTATCGTTGG
+CTTAGGGTCAATGGGAATGGGAGCAGCACTGTCATGTGTCCGCGCAGGTCTTTCTACCTGGGGCGCAGAC
+CTGAACAGCAATGCCTGCGCTACGTTGAAAGAGGCTGGTGCTTGCGGAGTTTCTGATAACGCCGCGACGT
+TTGCCGAAAAACTGGACGCTCTGCTGGTGCTGGTGGTCAATGCGACCCAGGTTAAACAGGTGCTGTTTGG
+TGAAAAAGGCGTTGCACAACATCTGAAACCCGGTACGGCAGTAATGGTTTCTTCCACTATCGCCAGTGCT
+GATGCGCAAGAAATTGCTACCGCTCTGGCTGGATTCGGTCTGGAAATGCTGGATGCGCCGGTTTCTGGTG
+GTGCGGTAAAAGCCGCTAACGGTGAAATGACTGTCATGGCCTCCGGTAGCGATATTGCCTTTGAACGACT
+AGCACCCGTGCTGGAAGCCGTTGCCGGAAAAGTTTATCGCATCGGAGCAGAACCGGGACTGGGTTCGACC
+GTAAAAATTATCCACCAGTTGTTAGCGGGTGTACATATTGCTGCCGGAGCCGAAGCGATGGCGCTTGCAG
+CCCGTGCGGGGATCCCGCTGGATGTGATGTATGACGTCGTGACCAATGCCGCCGGAAATTCATGGATGTT
+CGAAAACCGGATGCGTCATGTGGTGGATGGCGATTACACCCCGCATTCAGCCGTCGATATTTTTGTTAAG
+GATCTTGGTCTGGTTGCCGATACCGCCAAAGCCCTGCACTTCCCGCTGCCGTTGGCCTCAACAGCATTGA
+ATATGTTCACCAGCGCCAGTAACGCGGGTTACGGGAAAGAAGACGATAGCGCAGTTATCAAGATTTTCTC
+TGGCATCACCCTACCGGGAGCGAAATCATGATCAAGATTGGCGTTATCGCCGATGATTTTACCGGCGCGA
+CGGATATCGCCAGTTTTCTGGTGGAAAACGGTCTACCAACGGTACAAATTAACGGTGTTCCAACAGGTAA
+AATGCCGGAAGCAATCGACGCACTGGTGATCAGCCTGAAAACGCGCTCCTGTCCGGTGGTTGAAGCCACA
+CAGCAATCGCTGGCGGCTCTGAGCTGGTTGCAACAGCAAGGTTGCAAACAGATCTATTTCAAATACTGCT
+CTACTTTCGACAGTACGGCGAAAGGGAATATCGGCCCAGTTACCGATGCATTAATGGATGCTCTCGACAC
+ACCGTTTACGGTCTTCTCTCCGGCCCTGCCAGTCAACGGACGTACGGTTTATCAGGGGTATTTGTTCGTA
+ATGAATCAACTGCTGGCCGAATCCGGAATGCGCCATCACCCGGTAAATCCCATGACCGACAGCTATCTTC
+CCCGTCTGGTTGAAGCGCAATCCACAGGGCGCTGCGGCGTCGTTTCAGCACATGTTTTCGAACAAGGTGT
+GAAAGCCGTTCGTCAGGAGCTGGCTCGCTTACAGCAAGAGGGCTATCGCTACGCGGTGCTTGATGCGCTG
+ACCGAACACCATCTGGAAATTCAGGGGGAAGCCTTGCGCGATGCCCCACTGGTAACGGGCGGTTCTGGTC
+TGGCGATTGGCCTGGCCCGGCAGTGGGCGCAAGAAAACGGTAACCAGGCTCGCGAAGCAGGGCGTCCGCT
+CGCTGGGCGCGGCGTAGTGCTCTCCGGTTCATGCTCTCAAATGACCAACCGCCAGGTGGCACATTACCGT
+CAAATTGCACCAGCCCGTGAGGTTGATGTGGCACGCTGCCTCTCAACCGAAACTCTGGCCGCTTATGCAC
+ACGAGCTGGCAGAGTGGGTTCTGGGCCAGGAAAGTGTACTTGCTCCACTGGTTTTTGCCACCGCCAGCAC
+TGACGCATTGGCAGCAATTCAACAGCAATACGGTGCACAAAAAGCCAGTCAGGCAGTGGAAACACTGTTT
+TCTCAACTAGCGGCGCGGTTAGCAGCGGAAGGCGTGACACGCTTTATTGTCGCAGGCGGTGAGACCTCCG
+GCGTAGTCACACAGAGCCTGGGCATAAAAGGTTTTCATATTGGCCCAACCATTTCCCCCGGCGTGCCGTG
+GGTAAACGCACTGGATAAGCCTGTCTCACTCGCCCTTAAATCTGGCAACTTCGGTGATGAAGCCTTTTTT
+TCACGAGCCCAAAGAGAGTTTTTATCATGAGCGATTTCGCAAAAGTAGAGCAGTCTTTGCGAGAGGAGAT
+GACGCGGATTGCCAGTTCATTCTTTCAGCGCGGATATGCAACCGGTTCGGCTGGCAATCTGTCGCTGCTT
+TTACCTGACGGGAATTTACTGGCGACACCGACAGGTTCATGCCTGGGCAATCTCGATCCGCAGCGGCTTT
+CCAAAGTCACCGCGGATGGCGAATGGTTAAGTGGTGACAAACCCTCGAAAGAGGTGCTCTTTCATCTGGC
+GCTGTATCGCAACAATCCGCGCTGTAAAGCGGTAGTGCATTTGCACAGTACGTGGTCGACGGCGCTTTCC
+TGCCTGCAAGGGCTGGACAGCAGCAACGTTATTCGTCCGTTCACACCATACGTGGTGATGCGGATGGGAA
+ATATCCCGCTGGTGCCTTATTACCGACCGGGCGATAAACGCATCGCACAGGATCTGGCGGAACTGGCAGC
+AGACAATCAGGCTTTTTTACTGGCAAATCATGGCCCAGTGGTTTGCGGTGAAAGCCTGCAAGAAGCCGCC
+AACAATATGGAAGAGCTGGAGGAAACGGCAAAGCTGATTTTTATTCTCGGTGACCGCCCGATCCGTTATC
+TGACCGCAGGTGAAATTGCGGAATTAAGGAGTTAATGCAATGCCTCGTTTTGCAGCTAATTTATCCATGA
+TGTTCACCGAAGTGCCTTTTATTGAACGCTTCGCCGCAGCGCGAAAAGCCGGGTTCGATGCTGTGGAGTT
+TCTGTTTCCCTATGACTACTCCACCCAGCAAATCCAGCAGCAACTGGTGCAAAACCATCTGACACTGGCG
+CTGTTCAATACCGCTCCCGGAGATATTAATGCGGGAGAATGGGGATTATCCGCCCTTCCCGGACGTGAGC
+ACGAAGCACGCGCAGACATCGACCTGGCACTGGAATATGCATTGGCGCTCAATTGTGAACAAGTCCATGT
+GATGGCAGGCGTCGTGCCCGCTGGCGAAGATGCTGAACGGTACCGGGCAGTATTTATTGATAATCTCCGC
+TACGCTGCCGACCGCTTTGCGCCACACGGCAAGCGAATATTGGTTGAAGCACTCAGCCCCGGCGTTAAGC
+CTCATTATCTCTTCTCCAGCCAGTATCAAGCACTGGCTATTGTTGAAGAGGTTGCGCGAGATAACGTATT
+TATTCAACTGGATACTTTCCATGCGCAAAAAGTAGATGGCAACCTGACACATTTAATCCGCGACTACGCC
+GGGAAATATGCGCACGTACAAATTGCCGGACTACCTGATCGACATGAACCGGACGATGGAGAAATCAACT
+ATCCGTGGCTGTTCCGCCTGTTCGATGAAGTGGGATATCAGGGCTGGATCGGTTGTGAATACAAACCTCG
+TGGCCTCACCGAAGAAGGGCTTGGCTGGTTTGACGCCTGGCGCTAATTCGCTCAATCCCTAATTACAACG
+TACCCATACATCCCCCCATCTACGGATGGGGTAGGTTAACTATAACTTTCAGACAGGGTTTCCCATGTCC
+ACAATTACATTGTTATGCATTGCGTTAGCTGGCGTAATCATGCTGTTGCTACTGGTCATCAAGGCAAAGG
+TACAACCATTCGTTGCTCTGCTCCTCGTCAGCCTGTTAGTCGCACTTGCGGCGGGTATACCGGCGGGCGA
+AGTGGGTAAAGTGATGATCGCCGGGATGGGCGGTGTACTTGGTTCCGTCACTATTATTATTGGTCTGGGC
+GCTATGCTGGGGCGTATGATCGAACACTCTGGTGGTGCAGAGTCACTGGCTAATTATTTCAGTCGCAAGT
+TAGGTGACAAACGAACTATCGCTGCGCTGACTCTGGCAGCGTTCTTCCTCGGTATTCCCGTCTTCTTTGA
+TGTCGGCTTTATTATTCTTGCGCCAATCATTTACGGTTTTGCCAAGGTTGCCAAAATATCACCACTCAAA
+TTTGGCCTGCCTGTCGCTGGGATCATGCTCACTGTTCACGTGGCGGTACCGCCGCATCCAGGCCCTGTCG
+CCGCAGCGGGGTTACTCCACGCAGACATCGGCTGGCTAACCATCATCGGTATTGCGATTTCTATTCCCGT
+AGGGATTGTTGGCTACTTTTGCAGCGAAAATAATCAATAAGCGCCAATATGCGATGTCGGTCGAGGTACT
+GGAACAGATGCAACTGGCTCCGGCCAGTGAGGAAGGCGCGACAAAATTAAGCGATAAAATAAATCCACCG
+GGCGTCGCGCTGGTCACCTCGCTAATTGTTATTCCTATCGCGATTATCATGGCGGGTACGGTTTCTGCAA
+CACTGATGCCGCCTTCGCATCCCCTGCTTGGTACGCTACAGTTGATCGGCTCACCAATGGTAGCTCTAAT
+GATTGCGCTGGTGCTGGCATTCTGGTTATTGGCTTTACGTCGCGGCTGGAGCTTACAACACACCAGCGAC
+ATTATGGGCTCTGCCCTTCCCACTGCGGCGGTAGTGATTTTGGTTACTGGTGCTGGAGGGGTATTTGGCA
+AAGTGCTGGTGGAATCGGGCGTCGGTAAAGCCCTTGCCAACATGTTACAAATGATTGACCTGCCTCTGTT
+ACCAGCCGCATTTATTATTTCACTGGCGCTGCGTGCATCGCAGGGGTCAGCAACCGTAGCAATCCTGACA
+ACCGGCGGGTTACTCTCAGAAGCGGTGATGGGATTGAATCCAATTCAGTGCGTATTGGTGACGCTGGCAG
+CCTGCTTTGGTGGGCTTGGCGCGTCACATATTAATGACTCAGGGTTCTGGATTGTGACCAAATATCTGGG
+GTTGTCGGTAGCAGACGGTCTGAAAACCTGGACAGTGTTAACGACCATTCTCGGTTTTACCGGATTCTTA
+ATTACCTGGTGCGTATGGCTCGTCATCTAATAATCCAGATAAGATATGATGTATCGTTTAAGTGCCTGAT
+AAAGGTGTAATGTATGCCAATATTAACCTCGGTAATATCTCGCTACCGAGGTTAATTTTCACTTTGCAAT
+ATAATTACAATCTCTTGCAAGTTGATTTTATCTTAGTAATAAGAACCGACCAATCTTATTGCCATTTCGA
+TATTAGCAGGCATAGATGCGTCGTAGCCATACATATGGCCATATTTCGGACGTAATACTTCAGTTACTTT
+CTTAATAATTGCTTCGCGCTGGGCTCGCGCAAAATCAGCATGATTATTTGCCGTTTTATTCATAAATTTA
+CCAAAACTTTCTTCTTTTCTGACTTTAATTGTCGTATCCCTAAGATCATTAAGAAACTGGCGTTGAAATT
+TGAAATCATCGTGTGAACCAATATTACCATGCCCGCCAATAAAATATTTCCAGTCAAGCATTTCAACCTG
+ACGCAAATTACTGTCATGGTAAACCAACGTATCCGATACGGCGAAGCCCATCATCGGCAGTTGGTCAGGA
+TTCAGGAGATCCGGGCTGTGAGCTACTTTTTCCTGTTTTAGCAACCATACAGAATGGTCGTCGGTATGTC
+CTGCTTTAACAAATCGGTGTAATTCAATGGTCTGCTTTTCAAATTTAAACTGGTCATCTTTTTTACTTAA
+AACCTGAGTGGCGACGGGTAAGCGACTGCTCATAAATTGCATTTTTTCAGCAGTGGCTTTACTGGCAATA
+ATACGCAGATTCACGCCTTCTTTCTTCGCCTCATCGTTCCAAAATGGACTATCGCCAATGTGATCCACAT
+GGTAATGAGAATAAACCAGCGCTGTTACGGGTAATGGAGTCACATCACGAATTGCCTGTAATAAATATTT
+ACCGCGACCCTCCGGAGCATCAAACAGCAAAACCCCTTTATCTCCGACATAAAACGTAGTGGAATAAAAA
+TAGCGTTGAACATAATAAGTTCTCTCGCCAATTTTTTGTAAAATATAAGGCTGAGACATATTTCTTTCAA
+AAAGGTTATTGAGTTTATCGCTTGGCGATATTATTTTTTCCGCTGAAGGTTCAACATAACTTGCATTAAC
+TGTAGACGAATTTGCAGTCGAAATTTCCGTTTGAGCAAAAACACTACCAGATATAAGAGAAGAGGCTAGA
+ATTGTATATATTTTAATGCCTTGCATACGTAGTCCTTTATTAATGTGTTGTTGATTTATAGCATCTCTGA
+ACAGACTGTTATTTTAGATATTACTACGTTACGAGATTCATTTTTCTTCGAATATTATGTTTATCTCATT
+CAAAAAATATGTTCATCATTTGATGGTTTAAATAATATCTGCAAGGCATAATACTCCACATCTTTAAAAC
+CTGCCTCAAAAAATCATTCATTAGTAAAAAGGATATTTATATGCAAAACATAGCTGTGGTTTATTATTCA
+GGATATGGTCACACTAAACTGGTTGCTGAAAAAGTGGCACAAGGCGCCCATGCAGATTTAATTTCGATTG
+ATAACGAAGGAAATATCACTGAGCAGGAGTGGGAAAAACTGGACGCAGCCGATGCCATTATCTTCGGTGC
+TCCCACCTATATGGGCGGTGCGCCATGGCAATTCAAGAAATTTGCTGATGCCAGTTCCAAAGCGTGGTTT
+ACACGTAAATGGCAGGATAAAGTCTTCGGGGGTTTCACCAACAGCGCCAGCCTGAATGGCGATAAACAAG
+TTACGCTGATCTATCTGCAAACGCTGGCTTCACAGCATGGCGGTCTGTGGGTGAGTTTAGGTCAGGCTCC
+TGCCAATGTGCTTGCGTCAACCAGGGAAGATGTAAACAATCTGGGCGGTTCAGTCGGTTTGCTGGTGCAA
+TCTCCAGCCGATGCGGGTGCAGACCAAATCCCTACGGGCGATCTGGATACAGCCGTGAAATATGGTGAAC
+GCGTGGCGACAATTACTGCGCGCTTAAAATGATGATTGCCGAATGTGACGCTGACGCGTCTATCCGGTCT
+TCTACATCTAAAAAGTGCCGTCCCCTGGTCAGTCAGATAAAGTTTTAACGCTGTATCCGATAACAGTTCA
+ACATGTACCATGTACCAAAAGAAAAAAGGCCAGCCTCGCTTGAGACTGGCCTTTCTGACAGATGCTTACT
+TATTCGCGGAACAGCGCTTCGATATTCAGCCCCTGCGTTTGCAGGATTTCGCGCAAACGGCGCAGGCCTT
+CAACCTGAATCTGGCGAACACGTTCACGGGTGAGGCCAATTTCACGACCTACATCTTCCAGTGTTGCCGC
+TTCGTACCCCAACAAACCGAATCGACGTGCCAGCACTTCACGCTGTTTGGCGTTCAGCTCGAACAGCCAT
+TTGACGATGCTCTGCTTCATATCGTCATCTTGCGTGGTATCTTCCGGACCATTCTCTTTTTCATCGGCCA
+GGATGTCCAGCAATGCTTTTTCGGAATCACCACCCAGCGGGGTGTCTACCGAGGTAATGCGCTCGTTAAG
+ACGAAGCATACGGCTGACGTCATCAACTGGCTTATCCAGTTGCTCTGCGATCTCTTCCGCACTTGGTTCG
+TGGTCCAGCTTATGGGACAACTCACGTGCGGTTCGCAGGTAAACGTTCAGCTCCTTTACGATGTGAATCG
+GCAAACGAATAGTACGGGTTTGGTTCATAATCGCCCGTTCGATCGTCTGGCGAATCCACCAGGTTGCGTA
+TGTTGAGAAGCGGAAACCACGTTCCGGGTCAAACTTCTCTACCGCGCGGATCAGCCCCAGGTTGCCCTCT
+TCGATCAGGTCCAGCAACGCCAGACCACGATTGCCATAACGGCGGGCAATTTTTACCACCAGACGCAAGT
+TACTCTCGATCATCCGGCGGCGAGAGGCGACATCTCCACGCAGTGCGCGACGCGCAAAATAAACTTCTTC
+TTCGGCCGTTAACAGTGGTGAATAACCAATCTCACCAAGGTAAAGCTGAGTCGCGTCCAGCACACGCTGT
+GTGGCTCCCTGCGATAACAGTTCCTCTTCGGCCAAATCGTTATCACTGGGTTCCTCTTCTACTAAGGCCT
+TTTCGTCAAAAACCTCAACTCCGTTCTCATCAAATTCCGCATCTTCATTTAAATCATGAACTTTCAGCGT
+ATTCTGACTCATAAGGTGGCTCCTACCCGTGATCCCTTGACGGAACATTCAAGCAAAAGCCTGGTTCCGC
+CGATTTATCGCTGCGGCAAATAACGCAGCGGGTTTACGGATTTCCCCTTGTAACGAATTTCAAAATGCAA
+GCGTGTTGAACTGGTTCCGGTGCTACCCATGGTTGCTATTTTTTGCCCCGCCTTCACTTCTTGTTGTTCC
+CGGACCAGCATTGTGTCGTTATGGGCGTAGGCACTCAGGTAATCATCATTATGTTTGATGATAATCAGAT
+TACCGTAGCCGCGCAGCGCGTTACCGGCATAAACAACGCGGCCATCCGCGGTCGCGATAATTGCCTGTCC
+TTTGCTGCCTGCGATATCAATCCCCTTGTTGCCCCCCTCAGAAGCGCCAAAGGTTTCGATCACTTTGCCC
+TCAGTCGGCCAGCGCCAGGTGGAGATAGGCGTACTGGTTGATGTACTGCTGACAGTCGGCTCGGTTGTGC
+TTGCTGTTGGTACCGTTACAGGCGCTGTGACCGTGGTCGCAGTTGGCTTGTTGTTCGGCAACATTTTGTT
+AGCACTCTGTTCACCCGAAGACTCAGAATACGTAATTGTCGGTTGCGACGCAACAGCAACGGTGGAATTT
+TGTGCAGGCTTGATCACAACTCCTTGCTCTGCTGCGTCGGCCTGGGTAATGGCATTTCCGCCTGTGATTG
+GCGTACCGGAAGCATTACCCACCTGTAAGGTCTGACCGACGTTCAGCGCGTATGGTGCCTGAATATTGTT
+GCGCTGAGCAAGGTCACGGAAATCGTTGCCAGTAATCCAGGCGATATAGAAAAGCGTGTCGCCTTTTTTC
+ACGGTGTATGTACTGCCGCTATAACTGCCTTTCGGAATGTTCCCATACTGACGGTTGTAGACGATTCGTC
+CGTTTTCCATCTGTACCGGCTGCTGAGCTACTGGCTGCACAGGCTGGATTTGCGGTTGTTGAGTAGCCTG
+AATTTGTGGCTGCTGTACCGGCTGAATTTGCGGTTGCTGCGCTGTAGACGTCGTCCCCATTTTCGGCGGC
+GGCGTAATCAACATACCAGAATTGGTATTTGCGGGCGCATTGCCATTAACGGAGCTGACCGGTGCCGGTG
+GATTTGAAGTGTCAGAACAGCCTGCCAGCCATAGCGAAACCAGTGACAATGCCGCAATGCGGCGAACGGT
+GAATTTTGGGCTTCCCGCGCTCATTTATCCCCCAGGAAAAATTGGTTAATAACCAGTGACATAATTACCG
+TGCAAGGCACCATACTGAACACTGGAAAAGATGTTCACGATACGCTGACTTGCGGCAAAATAACCAGGAA
+AAATCCAGGTATTTCCTCACGTTTTAAGCCAGCTCACCCTTCACTAAAGGGACAAAGCGCACGGCCTCCA
+CGGTATCGATAATAAATTCGCCTCCCCGACGACGCACCCGTTTTAAATACTGGTGCTCCTCCCCTACGGG
+TAAGACGAGAATCCCGCCTTCGTCCAGCTGCGTCATTAGCGCAGTTGGAATTTCAGGCGGTGCCGCCGTA
+ACAATGATAGCGTCAAACGGCGCGCGTGCCTGCCAACCTTGCCATCCATCGCCATGACGGGTTGAAACAT
+TATGTAAATCAAGATTTTTCAGGCGGCGACGCGCCTACCACTGCAAGCCTTTAATCCGTTCAACCGAGCA
+AACATGTTGGACAAGATGCGCCAGGATTGCAGTTTGATATCCCGAACCAGTGCCAATTTCCAGCACCCGC
+GACTGCGGCGTCAGCTCGAGTAATTCGGTCATTCGCGCCACCATATACGGCTGCGAAATTGTCTGCCCCT
+GACCTATCGGCAAGGCGATATTGTCCCAGGCTTTTTGTTCAAACGCTTCATCAACGAATTTTTCACGCGG
+CACGGCGGCAAGTGCATTCAGCACCAGCTCATCCTGAATACCTTGCGCACGTAATTGATCCAGAAGTGCT
+TGTACGCGTCTGCTTACCATTGCGTGCCAACTCCCACGCTGTTTAACCAGTCTGAAACCACATCTTGCGC
+GCTATGCGCAGTTAAATCCACATGCAGCGGCGTGATGGAAACATAGCCCTCATCTACCGCAGCAAAATCG
+GTCCCCGGACCGGCATCACATTTACCGCCCGGCGGGCCAATCCAGTACAGCGTATTGCCGCGCGGATCTT
+GCTGCGGGATCACCTGATCTGCCGGATGTCGTGTACCGCAGCGCGTCACGCGAATACCTTTGATTTGATC
+CAAGGGTAAATCCGGAACGTTAATATTAAGAATACGCCCGGTGCGCAGCGGCTCTTTACACAGTGCGCGC
+AAAATTGAGCAGGTTACCGCCGCGGCAGTGTCGTAATGTTTATGCCCGTCAAGCGAGACGGCAAGCGCCG
+GAAAACCTAAATGACGGCCTTCCATCGCGGCCGCTACCGTACCGGAATAAATAACATCATCCCCCAGATT
+CGGCCCGGCGTTAATTCCGGACACAACAATGTCCGGGCGCGGGCGCATCAGAGCATTTACGCCAAGATAG
+ACGCAATCGGTCGGGGTTCCCATTTGCACAGCAATATCACCATTTTCAAAGGTAAACGTGCGCAGGGAGG
+ATTCCAGTGTCAGAGAATTAGAAGCGCCGCTGCGGTTACGATCGGGGGCGACCACCTGAACGTCAGCAAA
+CTCACGCAAGGCTTTCGCCAGCGTTTGTATACCGGGTGCATGTACCCCGTCATCATTACTCAGCAATATG
+CGCATAATCACCTGTTGTGTTGATAAGTTCCCTGACAACGCTGGTTGCAAAACTTCCCGCCGGAAGCCAG
+AAACGGATTTCTACGGTGACATCATCCCACCAGTTCCAGCTTAATTGTTGCGGATACAGCAGCATCGCTC
+TGCGCGCGGCTTCAACTTTTTCGCGCACCAGTAAGGTTTGTAATTCAGTTTCTTCGGCGACAGCTGCTTG
+TTCGAATGCCAGCGCTTCACGCTGAGTTCCCCACTCGCCACTGCCCGGCAATGCGGCGGTTATCATCAGC
+ACTTTATCGTTGACGCGACGCTGTAATTCCGCCAGTTCTTCGGTGGTTGCGACAAACCAGCTACCACGTC
+CGGCTAATTGTAGCGCATCGCCGTCAACAACTTGATTAACGTCTGCTTTTTTGAGGCGCTCAGCAACAAT
+CTGATTAAACAACGCACTGCGGGCTGCCGACAACCAAAAACTACGTTTATTGCGATCGCGCACCGGAGTA
+TTGGTTTGCGCCCAGCGCAGCGCACCCTGCAAGTTGCTACCGCCAATCCCAAAACGTTGGGCACCGAAGT
+AGTTCGGTACACCTTTTACGCAAATATCGATCAGACGTTGTTCAACGTCATCGCGATTGCTCACTTCGCG
+TAGTACCAGGGTAAAGGCGTTACCTTTCAGCGCCCCTAAACGCAGCTTGCGCTTGTGCCGCGCATACTCC
+AGCACCTGGCAGCCTTCCAGTTGAAAGGCGCTCAGATCGGGCATCTCTTTGCCCGGCACGCGAGCGCATA
+ACCACTGTTCCGTAACAGCATGTTTATCTTTTTGCCCAGCGAAGCTGACTTCACGGGCATGAATTTTCAG
+GAATTTCGCCAGTGCATCCGCCACAAAACGGGTATTGCAGCCGTTTTTGAGGATTCTAACCAGAATATGC
+TCACCTTCACCATCAGGCTCAAAGCCCAAATCTTCCACCACCACAAAGTCTTCCGGATTGGCTTTCAGCA
+GCCCGGTGCCTTGCGGTTTACCGTGGAGGTAAGTGAGATTATCAAACTCAATCATTTTGTTGCCTTAATG
+AGTAGCGCCACCGCTTCACAGGCAATCCCTTCCCCACGTCCGGTAAATCCCAGTTTTTCCGTAGTAGTGG
+CTTTCACGTTAACATCATCCATATGGCAGCCGAGATCTTCGGCAATAAACACGCGCATTTGTGGAATGTG
+CGGCAACATCCTCGGTGCCTGAGCGATGATAGTGACATCGACGTTGCCGAGGGCATAACCTTTCGCCTGA
+ATACGACGCCAGGCTTCGCGCAACAGCTCGCGGCTGTCGGCACCTTTAAATGCCGGATCGGTATCCGGGA
+ACAGCTTGCCTATATCTCCCAGCGCCGCCGCGCCAAGCAATGCATCGGTCAACGCATGGAGCACCACGTC
+GCCATCAGAATGCGCCAGCAGCCCTTTTTCGTAAGGAATGCGTACGCCACCAATGATAATTGGGCCTTCA
+CCGCCAAAGGCGTGTACGTCAAAACCGTGTCCAATTCGCATTATGTATTCTCCTGATGGATGGTTCGGGT
+GAGGTAAAATTCGGCCAGCGCCAAATCCTCCGGGCGCGTTACCTTGATGTTATCCGCGCGGCCTTCAACA
+AGTTGCGGATGAAAACCGCAATATTCCAGCGCCGAGGCCTCATCGGTAATGGTAGCGCCTTCATTTAGAG
+CGCGCGTCAGGCAGTCATGTAACAGCTCACGAGGGAAAAATTGCGGCGTCAGCGCGTGCCATAAGCCGTT
+GCGATCAACGGTATGAGCAATGGCATTTTTGCCCGGTTCGGCACGTTTCATCGTATCGCGCACCGGCGCA
+GCGAGGATCCCTCCCGTGCGGCTGGTTTCGCTCAACGCCAACAATCGCGCGAGGTCATCCTGATGCAGAC
+AAGGACGAGCGGCGTCATGCACCAATACCCACTGCGCGTCGCCAGCGGCTTTCAGACCTGCCAGCACGGA
+ATCGGCACGCTCTTCACCACCATCAACAACCGTGATTCGTGGATGATTCGCCAGAGGAAGTTGTGCAAAG
+CGGCTATCGCCAGGACTTATGGCAATGACGACACGTTTCACCCTGGGATGCGCCAGCAGCGCATGCACCG
+AGTGTTCAAGAATGGTTTGATTACCGATTGAGAGATATTGCTTAGGACATTCCGTTTGCATTCGGCGGCC
+AAATCCGGCCGCCGGAACCACGGCGCAAACATCCAAATGAGTGGTTGCCATGTTAATTCCCGGGCTGATT
+TATCGATTGTTTTGCCCCGCAGACTGTGCGCGCTTTGACGCGTCAGGCACCAGACGATAAAACGTTTCGC
+CCGGCCTGGTCATGCTGAGTTCATTACGCGCACGCTCTTCGAGCGCCTCCTGGCCGCCATTGAGATCGTC
+AATTTCGGCAAAAAGCTGATCGTTTCGCGCTTTAAGTTTCGCGTTTGTAGCTTGCTGTGCCGCCACATCA
+TTATTGACGCGAGTATAGTCATGTATACCGTTCTTACCGAACCACAGCGAATACTGTAGCCAGACCAGAA
+TAGCCAGCAACAGCAGCGTTAGTTTACCCATCCTGCCCCCTGAAAAACGGCATCTTCATCCCATGCATCC
+GAAGACGACTCTACATCCTCTGTTGGGGATACCGCGACAACGCGGGCAAATGTACCACATTTGTCCATTG
+TTACGTATACCCAGGGCGTGCAGAACATAATCTCATTATTAGTTACGGATTGAATTATGAACAGAATAGA
+GAGGAAAGAACAATTAACCCAGTAGCCACATAAACAGCGCACCAAACATAATGCCAACCGTCGCCAGAGT
+GAAAACAATACTGTAGCGTAGCTTTCCGTCCATCAATGAATGCAGTGCAATCCCCACCACCACTGCGACG
+GGCATCAGCGCCAGAAAGAAAGGCCAGGTGTAGATAAAAAAGAGCAGCGTGTTAGAGCCATAAATCAACA
+TCGGAATTGCCAACGCGCACAGCCACGATAAAAAACCAACCACAGCGCCTGGCAGCGACCATGTGGTGTC
+TTCAACCTCAGTAAGGCCGTCGTTATTTGTTAATGTAATGTTGTGGCTGTTACGCATATCTGATCCTGTT
+ACTTTGACGAACCGGGCATGAAAACCCGGTGGTGTCTCAGGATCTGATAATATCGTTCTGTCTCAACAGA
+TCTAATAATTGCTGTACCAAATTTGTTACTAATTGTTCACCATTGAGATGAATTTCTGCCGATTCAGGCG
+CTTCGTAAACGGAATCTATTCCCGTAAAGTTGCGCAGTTCACCGGCACGCGCTTTCTTATATAAACCTTT
+TGGATCGCGGGCTTCGCAAATCGCCAGCGGCGTATCGACAAACACTTCGATAAAGCGCCCTTCTCCTACG
+CGTTCGCGAACCATCTGGCGTTCGGCGCGGTGTGGCGAGATAAATGCGGTCAGCACCACCAGTCCGGCTT
+CAACCATCAAATTCGCCACTTCACCGACGCGACGGATATTCTCTTTACGGTCGGCATCGCTAAAACCGAG
+ATCGCTGCATAATCCGTGGCGAACGTTGTCGCCATCCAGCAGATACGTACTGACGCCAAGTTTATGTAAC
+GCCTCCTCCAGCCCCCCCGCGACGGTTGATTTACCGGAACCAGAGAGGCCGGTAAACCACAGCACAACAC
+CACGATGACCGTGGTGCTGTTCGCGTTGTTGCGGAGTTACTGGGTGGCTATGCCAGACGACGTTTTCGTC
+ATGCAGCGCCATTATTTATCTCCCAGTAAATCGCGCGCACCCCAATGCGGGAAATGGCGGCGAACCAGGG
+CATTCAATTCCAGTTCGAATGCACTGAATTCAGATGGCGCAGCAGTTGCCTGGCTAACTGGTTCGTGCAC
+CATACCGGCACCTACGGTCACATTACTCAGGCGATCGATAAAAATCAGCCCACCGGTAACCGGGTTTTGC
+TGATAACGATCTAACACCAGTGGCTCGTCAAAGGTGAGATCTACCAGGCCGATGCCGTTCAGCGGCAGGT
+TTTCAACTTCGCGTTGGGTAAGGTTATTGATATCAACCTGATAACGAATGCCATCAACACGAGCACGCGT
+CTTCTTACCGGCAATTTTGATGTCATAACTCTGGCCCGGGGAAAGCGGCTGTTCCGCCATCCATACCACA
+TCCACCGACGCGCTCTGCACAGCCGGTAACGCTTCGTCTGCCGCCAGCAGCAGATCGCCACGGCTGATGT
+CGATCTCATCCGTCAGCACCAGGGTGATCGCTTCTCCGGCAAAGGCTTCTTCGCGATCGCCATCAAAAGT
+CACGATCCGCGCGACGTTTGATTCCACACCAGAGGGCAGCACTTTGACACGTTGCCCGACTTCCACGCGA
+CCGGATGCCAGCGTTCCGGCGTAGCCACGAAAATCGAGATTCGGACGGTTAACGTACTGCACCGGGAAGC
+GCATTGGCTGAGCATCCACCACTCGCTGGATCTCCACGGTTTCCAGCACTTCTAGCAGTGTCGGACCGCT
+GTACCACGGCATACTTTCACTTTGCGAAGCCACGTTGTCGCCTTCCAGTGCGGAGAGCGGCACAAAGCGG
+ATATCCAGATTACCCGGCAGCTGCCCGGCAAAAGTCAGATAATCTTCACGAATACGGGTGAACGTCTCTT
+CACTGTAATCCACCAGATCCATTTTGTTGATCGCCACGACCAGATGTTTGATCCCCAACAGTGTGGAGAT
+AAAACTATGACGACGGGTTTGATCGAGCACGCCTTTACGGGCATCGATCAGTAAGATCGCCAGTTCACAT
+GTCGATGCGCCAGTCGCCATATTGCGGGTGTACTGCTCGTGCCCTGGGGTGTCGGCGATAATAAATTTAC
+GCTTCTCGGTAGAGAAATAGCGGTAGGCCACATCAATAGTGATGCCCTGTTCGCGCTCAGCTTGCAGGCC
+GTCCACCAGCAGTGCCAGATCCAGCTTTTCGCCCTGGGTGCCGTGACGCTTACTGTCGTTATGCAGCGAT
+GAGAGCTGATCTTCGTAGATTTGGCGGGTATCGTGTAGCAGGCGACCAATCAGGGTACTTTTGCCGTCAT
+CGACGCTACCACAGGTCAGAAAACGCAGCAGGCTTTTATGTTGTTGCGCAATCATCCAGGCTTCGACGCC
+GCCTTCATTGGCGATTTGTTGTGCAAGTGCGGTGTTCATCTTAAAAATACCCCTGACGTTTTTTCAGCTC
+CATAGACCCCGCCTGGTCGCGGTCAATCACGCGGCCCTGACGTTCACTGGTGGTGGAAACCAGCATCTCT
+TCGATGATCTCCGGCAGTGTTTGCGCATTTGACTCCACCGCGCCGGTCAGCGGCCAACAGCCCAGTGTGC
+GGAAACGCACCATCCGTTTTTTAATCACTTCGCCCGGTTGCAGATTGATACGGTTGTCATCAATCATCAT
+CAGCATACCGTCGCGTTCCAGAACCGGACGTTCCGCAGCGAGATACAGCGGAACAATGTCGATATTTTCC
+AGCCAGATGTATTGCCAGATATCCTGCTCGGTCCAGTTAGAGAGCGGGAAGACGCGGATGCTTTCGCCTT
+TGTTAATTTGCCCGTTGTAGTTGTGCCACAGCTCCGGGCGCTGATTTTTCGGATCCCAGCGATGGAATCG
+GTCACGGAAAGAGTAGATTCGCTCTTTAGCGCGGGATTTCTCTTCGTCACGGCGCGCACCACCGAAGGCG
+GCATCAAAACCGTATTTGTTCAGCGCCTGTTTCAGGCCTTCAGTTTTCATAATATCGGTATGTTTCGCGC
+TGCCGTGTACGAATGGATTAATACCCATCGCCACGCCTTCCGGGTTTTTATGCACCAGCAGCTCGCAGCC
+GTAGGCTTTCGCCGTACGATCGCGGAACTCATACATCTCGCGGAATTTCCAGCCGGTATCGACATGCAGC
+AACGGGAAAGGCAGCGTACCTGGATAAAACGCCTTGCGCGCCAGATGCAGCATGACGCTGGAATCTTTAC
+CGATAGAGTAGAGCATCACCGGATTTGAGAATTCTGCCGCCACCTCGCGAATAATGTGGATGCTTTCCGC
+CTCCAGTTGCCGCAAGTGGGTAAGTCGTTTTTGATCCATAACCGTTCCTTTGCAATACCGCTATTTTCTT
+GCCATCAGATGTTTCGACTATAGGGAGCGTAAGAGAACGAATGAAATTACCAATTAGAATGAGTAGTTCC
+TTAACGGAATAACGATTTGGCAAAGCTAATATCAAAAAGTGCTTAAGGCACCGGATTTCGGGCGTTTAGG
+AAGATTTGAAATTGTTTTAGCGCAGCAGCAGTTTCATACTATGGCGGTAAAAAAATTTGCATGGTATTTA
+AGGACTCACTATGTTTTCCGCATTGCGCCACCGTACCGCTGCCCTGGCGCTCGGCGTATGCTTTATTCTC
+CCCGTACACGCCTCGTCACCTAAACCTGGCGATTTTGCTAATACCCAGGCACGACATATTGCTACTTTCT
+TTCCGGGACGCATGACCGGAACTCCTGCAGAAATGTTATCTGCCGATTATATTCGCCAACAGTTTCAGCA
+AATGGGTTATCGCAGTGATGTTCGGACATTTAATAGTCGGTATATTTATACCGCCCGCGATAATCGCAAG
+AGCTGGCATAACGTGACGGGAAGTACGGTGATTGCCGCTCATGAAGGCAAAGCGCCGCAGCAGATCATCA
+TTATGGCGCATCTGGATACTTACGCCCCGCTGAGCGATGCTGACGCCGATGCCAATCTCGGCGGGCTAAC
+GTTACAAGGAATGGATGATAACGCCGCAGGTTTAGGTGTCATGCTGGAACTGGCTGAACGCCTGAAAAAT
+ACGCCTACCGAGTATGGTATTCGATTTGTGGCGACCAGCGGCGAAGAGGAAGGAAAATTAGGCGCTGAGA
+ATTTACTCAAGCGGATGAGTGACACCGAAAAGAAAAATACGCTGCTGGTGATTAATCTCGATAACTTAAT
+TGTTGGCGATAAATTGTATTTCAACAGCGGTGTAAAAACCCCTGAAGCAGTAAGGAAATTAACGCGCGAC
+CGGGCGCTGGCAATTGCCCGCAGCCATGGAATTGCCGCCACCACAAATCCAGGTTTGAATAAAAACTATC
+CGAAAGGCACCGGGTGTTGTAATGACGCAGAAATATTCGACAAAGCCGGTATTGCTGTACTTTCGGTGGA
+AGCGACTAACTGGAATCTTGGCAATAAGGATGGTTATCAGCAACGCGCAAAAACAGCCGCATTCCCTGCA
+GGAAATAGCTGGCATGACGTAAGACTGGATAATCAACAGCATATTGATAAGGCACTTCCTGGAAGAATAG
+AACGCCGCTGCCGTGATGTTATGCGGATAATGCTACCGTTGGTGAAGGAGCTGGCGAAGGCATCTTAATG
+GGTTTGAAATGATTACTCCCTTGCCTGCAGGAAATCAATGCCACCAGAAACAGAGTATAAAAAAGGGTGC
+AGGAGACCAAACCATCACAATTCAGTACGCGGGGTTTTACCCCCGCGTGGTGGCTACTTCTTCGATTCGT
+AAGCGAGAACTGCCTTAAACTCCATACCACGTTCTCTGATACTCAACTCACACAACGAGTCGCCTACCAT
+CAGCGTGAATCCCAGTACTGTACAACACAGTACGATGATTGCCACAAGGGCATATTTTGTCAGCATGTCT
+TGCCTCCCTGCAAAGAAGAGACTAACATTCGAATTGTTTGGGTTCGAACGTAAGCCTCAGGTTGATAGAA
+ATATCGCCAGGGGCTTTTGTCCGTCTGGAACCTCGCGAATGCTCAACGCCAGACGGCCTCAAGCACCCAA
+CGCCATTCTATGCCTGTTGATTCTTCCTGCGGCGTTCACGTTTAAAATCAGGAATCCTGCTCGCAAAATA
+AAAACGCCCCCATCTTTTCAGACAGAGGCGTTTAATTTATCCGGCAATATTTACCCTTCGTGTAATCCAC
+ATTCCCTTTTCAAGCCAAAGAAACGCGTTTCTTCTTCCGCCATGCCGGGTTCCCATTTACGGGTTGTATG
+GGTATCTCCTACCGATAAATATCCTTCATCCCATAATGGGTGATATTTCAGGCCATGTTTTTGCAGGTAC
+TGATATATCGTCCGATTATCCCAGTCAATAATCGGCAGCACCTTAAATACGCCACGCTGAATTGCCAGCA
+CCGGTAAATTGGCGCGGCTGCCGGATTGTTCACGGCGCAGGCCAGCAAACCAGGTTTGCGCATTCAGTTC
+TTTCAGCGCCCGGTTCATCGGTTCGACTTTGTTGATGTCATTGTACTTTTCAATGCCTTCAACGCCCTGC
+TCCCACAGTTTGCCGTAGCGTGCTTCCTGCCAGGCGGCGCTTTCGGTAGCACGGTACACTTTCAGGTTGA
+GCTTGAGTTTGTCCGTTAACTCGTCAATAAAGCGGTAGGTTTCCGGGAACAGATAGCCGGTATCGGTGAG
+GATCACTGGAATATCCGGGCGAATCTGATTCACCAAATGCAGACTCACCGCCGCCTGAATGCCAAAGCTG
+GAAGAAAGTACATATTCACCGGGCAGATTATCCAGCGCCCAGGCTACGCGGCCTTCAGCGTCCAGTTTTT
+CCAGTTGGGCGTTAGTTTCCGCCAGCGCCAGAATCCGGTCTACCTTTGGCAGTTCGTTCAGGGCGTTTAG
+ATCGAGTTTGGACATAAGTTCCTCACTGTTTGCCTTGCCTGATGCAACGCTTACACATCTTATCAGGCCT
+ACAAGACCGGGCTGATGGTTAATCCCACAAATCGCGCGCCGGATCGAGCACCGGGCGAATGATGCCCGCA
+CGCACCGTAAAGTCGCCGAAGCCTTCACCCACTTCGCGCTCTTTCGCCCAGCGCCCTATCAGTTCATCAA
+GCGACGCCAGGATTTCCGGCTCGGTGATGTTTTCTTTATACATCCGTGGGATACGTGTCCCAATGCGGTT
+GCCGCCAAGATGCAGGTTGTAGCGACCCGGCGCTTTCCCCACCAGACCCACTTCCGCCAGCATCGCGCGA
+CCACAACCGTTCGGGCAGCCTGTTACACGCATCACGATATGCTCATCGCTGACACCATGTTTCGCCATTA
+AATTATCGATGTTGTCGATAAAAGACGGCAGGAAACGCTCCGCTTCCGCCATCGCCAGCGGGCAAGTCGG
+GAATGACACGCAGGCCATTGAGTTTTCACGCTGCGGCGTGACGGCATTCATTAACCCGCTTTCTTTGGCG
+ATCTTCTCGATCTTCGCTTTCTCGCTTTCCGGCACGCCGGCGATGATCAGATTCTGGTTCGCCGTAATGC
+GGAAATCACCTTTGTGGATCTTCGCGATCTCCAGCAAGCCGGTTTTCAGCGGACGTCCCGGATAATCAAG
+AATGCGACCATTTTCGATAAACAGCGTCAGGTGCCAGTTATCATCAATGCCCTTAACCCAGCCAATACGA
+TCTCCGCGTCCGGTAAACTCATACGGGCGAATCGGCTCGAATTTGATCCCCGCGCGACGTTCAACTTCCG
+CTTTAAACGTCTCAACCCCCACGCGCTCCAGCGTGTATTTGGTTTTGGCATTTTTACGATCGGTTCGGTT
+ACCCCAGTCACGCTGAGTTGTCACGACGGCTTCCGCCACCGCCAGCGTATGCTCCAGCGGCAGATAGCCA
+AACTCACTCGCCGTGCGGGCGTAGGTTTTCTTGTTGCCGTGTTCGATGGAAAGCCCACCGCCCACCAGCA
+GGTTAAAGCCCACCAGCTTGCCGTTTTCGGCGATCGCCACGAAGTTCATGTCGTTGGCGTGCAGATCGAT
+ATCGTTCTGCGGCGGGATCACTACCGTGGTTTTGAACTTACGCGGCAGGTAGGTCTGACCAAGGATCGGC
+TCTTCATCAGTAGTGGCGACTTTTTCCTGATCGAGCCAGATCTCCGCATACGCGCGGGTACGAGGCAGCA
+GATGTTCAGAAATTTTCTTCGCCCATTCATATGCTTCCGCATGCAGCTGCGACTCGTAAGGGTTCGAGGT
+GCAGAGTACGTTACGGTTCATGTCGTTGGCGGTCGCCAGCGCATCAAGACCGACCGAGTGCAGCATCTGG
+TGCACCGGTTTGACGTTCTTTTTCAGAATGCCGTGGAACTGGAATGTCTGGCGGTTGGTCAGGCGAATGC
+TGCCATAGATGGTGTTTTCACCGGCAAATTTGTCGATCGCCTGCCACTGTTTAGTGGTAATCACCCCACC
+CGGCAGACGACAGCGAAGCAGCATCGCGTGGCGCGGCTCCAGCTTCTGTTCAGCACGTTCGGCGCGAATG
+TCGCGGTCATCCTGCTGATACATGCCGTGGAAGCGGATCAGCAGGAAGTTATCGCCCTTAAAGCCGCCGG
+TCAGACCGTCGTTTAAATCTTCCGCAATGGTGCCGCGCAGGTAGTTGCTTTCAAGCTTCATGCGCTCGGC
+GTCTGTCAGTTTTCCTTCGACCACTAAAGGCCCTGGATGTTTTTCGCTCATTAGTAGACATCTCGCTGAT
+AACGGCGCTCTACGCGCAGCTCACTTAAAAATTCATCCGCCGCTTCGGTGTCCATGCCACCAAATTCGGC
+AATCACTTCCAGAAGTGCCTGCTCAACGTCTTTCGCCATGCGATTAGCGTCGCCGCAGACATAAATGTGG
+GCACCGTCATTGATCCAGCGCCACAGCTCTGCGCCCTGTTCGCGCAGTTTGTCTTGTACGTAAATTTTTT
+CTTTTTGATCGCGCGACCAGGCGAGATCGATGCGCGTCAGCACGCCTTCTTTGACGTAACGCTGCCATTC
+CACCTGGTAGAGGAAATCTTCCGTAAAGTGTGGGTTGCCAAAGAATAGCCAGTTTTTACCCGGCGCTTCG
+TCGGCAGCACGCTGCTGCATAAAGGCACGGAACGGCGCGATGCCGGTGCCAGGGCCAATCATGATCACCG
+GGGTTTCCGGATTGGTTGGCAGGCGGAAGTTGTCGTTATGTTCGATAAATACGCGGACTTCACCCTCTTC
+TTCCACACGATCCGCGAGGAAGCTGGAGGCACCACCGGCACGGGCGCGGCCTTCCACGTCGTAACGCACC
+ACACCAACGGTAACGTGCACTTCGTTCTCGACTTCCGCCTGCGAGGAGGCGATGGAATACAGGCGCGGGG
+TCAGCGGGCGCAGCAGATTAATCAGCGCTTCGGCATCCAGTTGCGCCGGAGAGAAACGCACCATGTCGAC
+AATCGGCGTCGTCGCGGCGTAATGCTGTAACTTCGCTTTATCGCCCACCAGCGGCAGCAGCGTTTCGCTG
+CGGGTAAGCGTGGCATAGTTCTCAACAATGTTGGCGGTGTTGACGGTCAGTTCGAAGTGCCACTGTAGCG
+CTTCGTTCAGAGGCAACGTTTTGCCCTCGACGGTGACAGGTTCATCGCCTTTCAGCCACAGCAGTTCGAC
+AAGTTCTTTCACCAGTGCCGGATCGTTCTGATACCAGACGCCCAACGCGTCACCCGGCTGGTAACGCAGG
+CCAGAGTCACCTAAGTCAATTTCAATGTGACGAACGTCTTTTTCAGAGTTACGCCCGGTAATTTTCTGGT
+TAACAGAGAGGCTGGCCGCCAGCGGCGCGTCTTTGCTATACGGGCTGGTGTGGATTTCATTTACCGTGCC
+AGTAGCGACGGATTGCGAAGGTGCCGCGACAGGCGCACGCGATTTAAGCGCATCAACCACGCGGGCGCGC
+CACTCGCTGGCAGCAGCCTGGTATTCAACGTCGGCATCGACACGGTCGAGCAGGCGTTCACCGCCCAGTT
+CCGCCAGCTTACTGTCAAAATCTTTCCCGGACTGGCAGAAAAATTCATAAGAGCTATCGCCGAGGCTAAA
+CACGGCAAACGCGGTGTTTTCCAGCTTTGGCGCTTTTTTGGAGAACAGGAACTTATGCAGCGCGACGGCT
+TCTTCCGGCGGTTCCCCTTCCCCTTGCGTTGACGTCACCACGATAAGCAGTTTTTCGCTGGCGATTTGTT
+TGAATTTATAGTCGCCCGCGTTCACCAGCTTAACGTTCAGTTTTGCCGCTAATAAATCATCGCGTAATGC
+TTCAGCAACCCGACGCGCATTGCCAGTTTGCGAGGCGGAGATAATAGTTATACCCGGCATTTCTGCGGCG
+GGCGCTGGCGTCGCTGCAAGCGCAGCAGGCTGCTGGTTGAGCACGCCCCAGAAATAGCCAGAAACCCAGG
+CAAGCTGGGTAGGAGTTAAATCGGTCGTGGCCGCCTGAAGGCGTGCCAGTTGCTCCGGGTTCAACGGAAG
+CAACGCGGAAGGTGGGACCTGTGTCGTCATGCGTTGTTATGTTCCAGTAAGCAAAGCTGTTTCTGCGCCC
+TGTCAGCGCCCATAAAACAGAAGAGAAGGTAAGGTTAACGGGGTAAACGGTGTGGATTAAAGACGGGATA
+GCGATAACTAATAACCAAATCGACTAACCTGTTTTAGCAATAGTCTTTAACAACAAAATAGATTAACCAA
+CCCAATGAAAAACAAATGAATATTGCCCATCAATAAGATAAATCAGCGATTTTGCGCAACAAAGTCGTTT
+TAGATAATGCGAAAAAACAGCCTTTCCGGTACTCTACGGCGGTTTTATCGTCATGTAGAGAAATTATGAT
+GTCCACCACGTTATTTAAAGATTTCACCTTCGAAGCCGCTCACCGCTTGCCGCACGTCCCACAAGGGCAT
+AAATGTGGTCGCCTGCACGGGCATTCCTTTATGGTGCGACTGGAAATTACCGGGGAAGTCGATCCGCATA
+CGGGCTGGATTATCGATTTCGCTGAACTGAAAGCGGCGTTTAAACCAACTTATGAGCGCCTCGATCACCA
+TTATCTCAATGATATTCCAGGTCTGGAAAACCCAACCAGCGAAGTTTTAGCAAAATGGATTTGGGATCAG
+GTTAAACCCGTTGTGCCGCTGTTAAGTGCGGTGATGGTAAAAGAAACCTGCACCGCAGGTTGTATCTATC
+GCGGCGAATGATAAGAGTGTGTCGGCGGTCAATTTCCCTTAAGTAACGCTATGTTAGGGTGTTGTGTTCT
+GGATATCTGGGGCATGACATGGAAGACGACTGCGACATTATTATTATCGGTGCCGGAATTGCTGGCACCG
+CTTGCGCGTTACGCTGCGCGCGAGCGGGTTTATCCGTTTTGTTACTGGAACGAGCGGAGATTCCCGGCAG
+CAAAAATCTTTCCGGCGGGCGGCTATACACCCATGCGCTCGCGGAACTCCTCCCGCAATTTCACCTGACC
+GCGCCCCTTGAACGACGCATCACTCACGAAAGTCTTTCTCTGTTAACGCCAGATGGCGCAACGACGTTTT
+CCAGCTTACAGCCCGGCGGTGAATCCTGGAGTGTATTACGTGCACGATTCGATCCGTGGCTGGTTGCCGA
+AGCCGAAAAAGAAGGTGTCGAATGCATCCCCGGTGCGACGGTAGATGCACTGTATGAAGAAAACGGCAGG
+GTGTGTGGTGTCATTTGTGGTGACGATATTCTTCGCGCCCGTTATGTGGTGCTGGCAGAAGGTGCCAACA
+GCGTCCTCGCGGAACGCCACGGGTTAGTGACTCGTCCTGCTGGCGAAGCGATGGCATTGGGGATCAAAGA
+AGTGCTGACGCTGGAACCATCCGCTATTGAAGAACGTTTTCATCTGGAGAATAACGAAGGCGCAGCGTTG
+TTGTTCAGCGGCGGGATCTGTGATGACTTACCCGGCGGCGCATTTCTTTATACTAATCAACAAACGCTCT
+CGTTAGGGATTGTTTGCCCGCTCTCCTCCCTTACGCAAAGTCGTGTTCCGGCAAGCGAGCTGCTGGCTCG
+CTTTAAAACGCATCCGGCAGTGCGCCCGCTTATCAAAAACACGGAATCACTGGAGTATGGTGCGCATCTG
+GTGCCAGAAGGTGGCCTGCGCAGTATGCCGGTGCAATACGCCGGTAACGGCTGGCTGCTGGTGGGCGATG
+CGTTGCGCAGTTGCGTCAATACCGGAATTTCCGTGCGCGGTATGGATATGGCGCTAACTGGCGCGCAGGC
+GGCGGCACAAACGCTGATAAGCGCCTGCCAGCACCGCGAGCCGCAAAATCTGTTTCCGCTTTATCATCAC
+AACGTAGAGCGCAGCCTGCTGTGGGATGTTCTACAGCGTTATCAGCATGTTCCGGCGCTTTTGCAACGCC
+CTGGCTGGTATCGGGTGTGGCCTGGGTTAATGCAGGATATTTCCCGTGATTTATGGGATCAGGGGAATAC
+ACCTGTTCCACCGCTGCGACAGTTGCTCTGGCGTCATTTACGTCGTCACGGCTTGTGGCATCTGACGGGC
+GATGTTATCAGGAGTCTGCGATGTCTGTAGCCCGTAATCTCTGGCGCGCTGCCGATGCGCCGCACATTGT
+TCCAGCTGACTCCGTTGAGCGCCAGACGGCACAACGGTTGATTAACGCCTGTCCGGCAGGTCTTTTTTCG
+CTCACACCTGAAGGTGGCTTACGTGTTGATTATCACGGCTGCCTGGAGTGTGGCACCTGCCGTTTGCTGT
+GCGACGAATCAACACTACAACAGTGGCGCTATCCGCCTTCCGGATTCGGCATCACCTACCGCTTTGGATA
+AATAATAAGGATAATTTATGCCCCTCTTACACCTGCTCCGCCAGAATCCGGTGATTGCTGCCGTTAAAGA
+TAATGCCAGCCTGCAACTGGCAATCGACTCTGAATGCCAGTTTATTTCCGTGTTGTACGGCAATATCTGC
+ACCATTAGTAATATCGTTAAAAAGATTAAGAACGCCGGGAAATATGCTTTTATTCATGTTGATTTGCTGG
+AAGGCGCGTCAAATAAAGAAGTGGTGATTCAGTTTTTGAAACTGGTAACCGAGGCGGACGGAATTATCAG
+TACCAAAGCCTCAATGCTGAAAGCAGCAAGAGCGGAAGGTTTTTTCTGTATTCATCGACTGTTTATTGTT
+GATTCGATTTCGTTTCACAACATTGATAAGCAAGTTGCGCAATCGAATCCGGATTGTATTGAGATCCTGC
+CAGGCTGCATGCCTAAAGTGCTGGGCTGGGTGACGGAGAAAATCCGCCAACCGCTGATTGCTGGCGGGCT
+GGTGTGCGATGAAGAAGATGCGCGTAATGCGATTAACGCGGGTGTTGTGGCGCTTTCCACCACGAATACC
+GGGGTCTGGACGTTAGCGAAAAAATTGCTTTGACGGGATACTCGTAACGAGTTGAATTTGTGTGATTTGT
+AGGCTGCACGCCACATCCGACATTCAGCGCCTGATACGACGCTTGACGCGTCTTATCAGGCTTACAAGTC
+CCCAGCCCAGAACCGTAGGCAGGATCATCCGGCAGCACGTTATTGGCAATCTGCGTGAATGGTTGTCACC
+AGTGCCTCCAGCACCGCTTTCCAGTCATCAACCACGCCAACATCTGCCTGTGAAAATACCGCCGCGCTGG
+CGTCATGATTAATCGCCACCACAAACTTGCTATTGCGTACGCCCGCCATTAACGCTGCTGCGCCGGAAGC
+GCCAACAACAATACACACCTCAGGTGCCAGCAGATGTCCGGAAATACCAATCACTTTTTCGGCATCAACG
+CCACCGTTCATCACTCGTGCCCGACTGTAGCCCACTTCGGCTCCCATCTTTTCTGCCAGCATAGCGATTT
+CCTGGTTATCTGCCTCTCCGCCCTGCCCCACCACCAGCACCCGTCTGGCCTCAGCTAATGGGTCACGGGT
+AACATTTTTCAGATTTTCGACGCTGATAAGCCAGTCTGGAAGCGCGCCGGGGACAATGTTCAGTTGCTGC
+ATCCCAGAGGGCAACGTGGCGTTTTTATCTGCTCCCGCCTGACGTGCCAGCGAAAGGCATAGCGGGCGTT
+TTTCTGTTTGCAACGTCGCCGTTAGCGCATTTCCCCAGTGAGATTTGCGCACGCTTGCGGTTGATATATC
+GAATGAAATCACCTGGCAGATACTGGCGCCATGTACACGCCAGGCCAGTCGGGTAGCCAGTTCATCGCCA
+AACGCGCCCGGAGGAAAGAGGACAACCTCCGCAGGCGTTCGTTGCCACTGTTCCACCAGCGCATCCAGCA
+CCTGTTCCGCAATCATCGGCTGTGGTTCTATTTGCCAGTGTGCCAGGGTACAACCGCTGAAATCCTGCGC
+CGCCAGCCAGCTCGCTATTGCGGCATGGTCCTGATTTATTGTCACAATTGCGATATTCATGGCTGCATCC
+TTTGGCGTAAATAGTCCTGCCATAGCTTTTGCGCTTTTTCTGCTACCGTTTGCCCATCAATCAGCGTCGC
+TCCGCGTCGTTGCTCTGCTCTTGCCAGTTGCAGACACTGCATCGCTGGCAATTCGGCAGCAACAGTTTTA
+CGGATAATTTCTGCTTTCCCCGCAGCCATTCGCTGGCGCATTCCCGGTACTGGCAAGGCCACTTCACCAC
+ACTGGCGCACGGCAATCACCGCAGGCAAGCGAACCCGGCAACAGCGCAACCCATGTTCAGTACGCTGTTC
+GAGGGTGATAAACGGCGCGTCGAGAGTGAAACGCTCCACCTGGGTGAAACAGGGCCAGCCCAGCATTTCC
+GCCAGCAAAAATGGCGTTTGCCCATTCTGCCCTTCGCTGCTTTGGCAGCCAGTAATTATCAGCTCCAGCG
+GATTCTGGTACTGCCATTCGGCAATATGGCGAGCGACAAATTCCGGCGCAAAGCGCAGATCTGCCGCCGT
+CTCCAGCAATACAGCTTCCTCAAACCCAAGAGCCATAAGATAGCGCAGCCAGTGCAACGCCCGTTCATCC
+CCCATGCTCAACGCGGTTAAAGACATCGACGTACCGTTTTTTCTCTGCGTCAACAGCAGCGCGGCGGCAG
+CCTGTTCATCAGCACCGAGTAAACTTCGCAGAAGCGAAACATCCGGTCCGCTATTACCCTGAGCCGCCGC
+CTGCCACTCTTTTTCCGCCAGCATTCCGGCATCCGGTTCGGCTTTAAACGCTAACAGAATGTTCATTCGC
+ACCTCCTGCATTTCCCGCCGCCACCAGCGGGAGTGCTTTGGTTTCTGGTGCCCATAGCCAGGTCACAACA
+AAACCAACCAACAACACTGCCGCCAGGAGCAATAAGGTGACTTGCATTCCCCACTGCGCCAGCACCCACG
+GCAGCAGGCCAGTACTTACCGCCGCGCCAAGTCGACTCATGGCGGTGGCAAAACCGACGCCCAGCGAGCG
+AATGTCAGTAGGAAAACTTTCCGCAGGCAAAATGCCCACCAGATTACTGACTGCCGAAATGGTGGTGCTG
+AAGAGAACAAAAAGCAGCAGGGTTAATGAACTGCCGGAAGGCAAACAGGCCATCACGACCAGCGTTGCCG
+CCAGCAGCAAAAAACTTCCCAGCAAAAATTTGCGATGTGCCAGCAGGTGCGTCAGAACTAATCCCAGCAG
+CGCGCCCACAATTAACAACGCATTAAGCATCAGGCTAGCGGTCAACGCATCTTCCAGACCAATAGTTTGG
+GCGATAGTTGGCAGCCAGGTATAAATCACAAACCATGGGATTACGAGGCAGACAAAGAAGACGCTGTTAA
+ACGCCGTGCGCCGCCAGTAGCGCGAAGAGAACAAGGTTTTGATGTGTTTATGGGTCGCCGTTGCCACTTC
+ATCGCCCAGTAAAACATGCGGGCCAAAATAGCGATGAACGATAGCGTGAGCTTCTGCAAAACGCCCCTGG
+CGCAGTAGCCAGCGTGGCGATTCCGGCGTGCCCCAACGTAGCAGCGTAATCAGCAAGGCTGGTAACGCCG
+CTGATGCCAGCAGCCAGCGCCAGGCCTCCGGGCTTTCGGAAATAAAGTGATGTCCGGCAATACTTGCCAG
+CACATAGCCTACGGTCCACACCACACTGAATGCGCCCAGCAAAATACCGCGATGGCGGCGCGGGGAAAAT
+TCAGCCAGCAAGGTGTGACCGACTGAGTAATCGCCTCCCAGACCAATGCCGATCAAAATGCGCAATCCAA
+TAAGATGCTCTGGCGTGGTGGCAAAAAATTGCAAGAACGAAGCGAGCGTAATCAGCATAAAACTGAAGGT
+GAAGATTTTTTGCCGCCCGATATGGTCGGAGATCCACCCCAAAACCAGGCTGCCAAGAAACAAACCAAGT
+AACGCCGAGCCGCCGATCATTCCCGCCATAAACGGCGTCAGTTGCATGGCGGGCGTAAGCTGAATAATGG
+CGTAACCAATAACGCCGAGGACATAACCGTCGGTCAGGTGTGCGCCGAAAGTGAGCGCAGCAATTCGACA
+GTGAAAACGGTTAAGCGGTAAATCATCCATTCGCACCGGTGAAGTGTTCATCTTTACCCCTTCATTGTCC
+GGTAATAAGAACGGCTTCTCGCCTGAGAAGCCGAAAAGGCAACGCCCCGTCATCGCGGAACGCTGCCTGA
+CACATTATTTTTCAATCGGATAGATAGTACCCGTGTTCATAATGCCATTAGGATCGAACTGCTTTTTCAG
+CCCTTCCAGCAACGCCCACGCGCTGCCGTGTTCCAGTTTGCTCCAGTGAACGCGATGTTTACCGATACCG
+TGGTGGTGCACCATCGAACCGCCGAGACGAATGGTTTCTTCGCAGATGATTTTGTTGAGCGGATTGTGGT
+ATTTGTCGATTTCCTCTTCCGGCTTACAGTCAACGACGTTGTAGTCGTAGACGAAGTACATGTTGGTGCC
+GTTCTGATAGCTATGAGAGGAGTGACCGCCCAGCATGGTGATGTCGTCGGCGTGCGGGAACTCGGTACGA
+ATACGGTTAATAACGCTTTCGTAGATTTCGTGAATGCAGCTCCAGCAGCCGGACACTTCAGTGGTAAAGC
+CCATGTTGCCGGTTTTGAGGATCTGCACACGTTCGGCAGCTACTTTATCCGGTCCCCAGTTCAGGTTGTT
+AAACCAGGTTTCGATCAGCTTGCTGTCCACGCGCTGGCACTGCGGGTAGCGCGCCACGATTTCAGCAATC
+CCTTCACCCGTCGCCTTCGCAATGCGAGGGTTACCTTCAGCCATAAAGATCAGCACACATTTGCCGTCGG
+CAAAATGGGTGAAGTGTTGGGTGCCATCTTCAGCATCATACAAACGAGCAATCGACGGACGATACCCTTC
+CACCATGATTTCACGCAGGATGTTGAAGCCGGTTTTCATGTCTTCCAGCACATAGCCATAGAAGAGATTG
+TTTTCCGGCGTAAATTTGAAGATTTTCACTGTGACTTCAGTGATATAGCACAGTGCACCTTCGTTGCCGA
+TGATGATATGACGAATGTCCGGGCCAGCCGCGCGACGTGGCACGTTTTTAATGCGTGTGACGGTGCCATC
+TGCCAGCACCGCTTCCAGACCAACGACCATATCCTCGATTGCGCCGTAGAGTGTGGAAAACTGCCCGATA
+CTGCGGGTCGCCACCAGGCCGCCCATCTGCGCCAGCGGCTTTGACTGCGGAGAATGCCCCGTGGTGTAAC
+CTTTTTCACGCAACGCGTTTTCCAGCACCTCCAGCGGAACGCCACATTGCGCCGTGGCCTGCATATTCTC
+AATATCAATATTAATGATTTGATTCATGGCGGAGCCGTCGAGCACCACCGAGTTTTCCACAACGGTTTCC
+AGCCCACCTTCGGTGGCGGAAGCACCGGTACGTGGCACACCGTTAATTTTGTGCGCATTCATAAAATTCA
+GCACACGGGATACTTGTTCTGTGGAACCGAGTTTTACGACCGCTGCCGGAATTGGCAAAGTATAAATGCC
+ATGAATATCCGGAAATTTACGAAAACGGTCAATACTGTTCTTCTTTAATACTGTTTCATCGGTAATTACG
+CGATCTGCACCAACAATTTCCTTTAGCTGGTCGACAATCGCTACGCGAGATAAAGACATAGTAATTCCTT
+CCTGATAATAAAAATGGAATATTCATTAATAAGAGAAAACAGAAACCACCGTTATGAATTAGCGCACTAA
+ATAACCGCCATCAACCACTAATAAATGTCCGTTGACATAATTCGATGCCGGACTTGCGAGGAATACGGCT
+GCACCCATTAAATCCTGAGTATCACCCCAACGGTTTGCCGGAATATGATCAAGAACACGCTGGTTAGTTT
+CTGGATTACTACGGGTCGCCAGCGTAATATCGGTTGCATAATAACCAGGAGCAATACCATTCACCTGAAT
+ATTATATTGGCCTAATTCATCGCAATAGGCTTTGGTGAATCCGGCAAGAGCATGTTTAGTGGCAGAATAA
+GCAGGTGACCATTGACCACCTAAGTAAGAGAACAATGAACAGATATTAATGATTTTACCGCTTTTCTGCG
+GGATCATAATTTTTGCCGCTTCGTAGCTTAACTCGAATGCGGCGGTCAGGTTCACGTCAATCATCGGGTC
+CCAGTCGGCACGACCAAAGTCCAGCACCTTATTCAGCTTACAAATACCGGCATTGTTAACCAGAATATCT
+ACGGTACCGAAGCGCTCACAGCAGGCAGCGATAATCTTCTGCGGCGCGCCTTCTGCGGTGATATCCACCT
+GCATAAAATCAACTTCGACACCCTGTTTTTCAATCATTTCCTTTGTTTCGCCGTTATCTTTGACGAAACT
+AGGAATAAAGACATTTGCGCCAGCTTTGGCCAACGCCATGGCAAATGCCTGGCCTAAACCGCTATTCCCG
+CCGGTAACAATTGCTGTTTTACCTTTCAGGGAGAAAAAATCCATTGAGAACGCATTGAGAGATTCGATTG
+ACATAGTTAGCTCCAATTTCCGTAAGGCAAAAAAAAGAAAGGTAACTTCCCCCGCAAGAGGGAAGTTACC
+TTTCTCATTATCTCTGGTAACTGGAGATAATTTTTAGCATAAGGACATAACTGCTAATGTGATCGTAATC
+ACAGTGTGATGTTAGTATTGTCAAATAATTTAAAAAAGCAGAAGCGTGATTACTCTCACACAACACCTCT
+GCTTTCCATGTTATTTCTTATTGCAATTACTAGAGACCTGAGAAAAGTAATCCACCTGAAAGGGCGGCTT
+ACTTTTCTCTTTTTTTTGTCTATTACAAATGGGAATACGATATGCAACACAACTCATATCGCCGTTGGAT
+AACCCTCGCGATAATTAGTTTTAGCGGCGGCGTTAGTTTCGACCTGGCTTATTTACGTTATATTTATCAA
+ATTCCCATGGCAAAATTTATGGGATTCAGCAATACCGAGATAGGTTTAATAATGAGTACCTTTGGTATTG
+CGGCCATTATTTTCTATGCCCCTAGCGGCGTTATTGCCGATAAATTTTCACATCGCAAAATGATTACTTC
+CGCGATGATCATTACCGGATTACTGGGTCTGTTAATGGCAACATATCCACCGCTGTGGGTAATGCTCTGT
+ATTCAGGTCGCCTTTGCGATAACGACGATTTTAATGCTGTGGTCGGTGTCGATTAAAGCCGCATCGTTGC
+TGGGCGATCATAGCGAGCAAGGGAAAATTATGGGCTGGATGGAAGGGCTGCGCGGCGTCGGTGTAATGTC
+GCTGGCGGTGTTTACCATGTGGGTCTTTTCTCGCTTTGCACCGGATGACAGCGCCAGCCTGAAAACGGTC
+ATTATCATCTACAGTGTGGTTTACATTCTGCTGGGCATTTTGTGTTGGTTTTTTGTTAGCGATAACAACA
+ACCTGCGCAATACCAATAACGAAGAAAAACAGTCATTCCAGCTTAGCGACATCCTGGCCGTTTTGCGCAT
+CAGCACCACCTGGTATTGCAGCATGGTGATTTTTGGTGTCTTCACCATCTACGCCATTCTGAGTTACTCC
+ACCAACTATCTGACCGAAATGTACGGCATGTCACTGGTGGCGGCGAGCTACATGGGGATTGTGATCAACA
+AAATCTTCCGCGCGTTATGCGGCCCACTTGGCGGCATTATCACCACCTACAGCAAAGTGAAATCCCCTAC
+CCGCGTGGTCCAAATCCTTTCCATCATCGGTTTGCTGGCATTGACAGCCCTGCTCGTCACGAACTCTAAC
+CCGCAATCGGTCGCGATGGGGATTGGCTTGATTTTATTACTGGGATTCACCTGTTACGCCTCACGCGGGC
+TGTATTGGGCCTGCCCTGGCGAAGCGAGAACACCGTCTTACATTATGGGCACCACGGTAGGTATTTGTTC
+GGTGATTGGATTTCTGCCGGATGTCTTCGTTTACCCGATTATCGGCTACTGGCAAGACACCCTGCCCGCT
+GCAGAAGCCTACCGCAACATGTGGCTAATGGGCATGGCGGCGCTTGGCATGGTGATCATCTTTACCTTTT
+TGCTGTTCCAAAAAATTCGTACTGCTGATAGCGCCCCCGCAATGGCTAGCAGCAAGTAAGCCAGGAAAAT
+TACAGGAGAAAAATCATGTCGAAAAAATACATCATAGGGATTGATGGCGGAAGTCAGAGCACAAAAGTGG
+TGATGTACGATCTGGAAGGTAATGTGGTTTGCGAAGGCAAAGGCTTATTGCAGCCGATGCACACGCCAGA
+TGCCGATACCGCAGAACATCCTGACGACGATTTATGGGCATCACTATGTTTTGCCAGTCACGATTTGATG
+AGCCAGTTTGCCGGAAATAAAGAAGATATTGTCGGCATTGGCCTGGGCTCAATCCGTTGCTGCCGTGCGT
+TATTGAAAGCCGATGGTACGCCAGCCGCGCCGTTGATTAGCTGGCAGGATGCACGCGTTACACGCCCTTA
+CGAACACACTAATCCTGACGTGGCCTATGTCACCTCTTTTTCGGGTTATCTGACACATCGCTTAACCGGC
+GAGTTTAAAGACAATATCGCCAACTATTTTGGTCAGTGGCCGGTGGATTATAAGAGCTGGGCATGGAGTG
+AAAATGCCGCGGTAATGGAAAAGTTTAATATCCCCCGCCAGATGCTTTTTGACGTGCAAATGCCGGGCAC
+TGTTCTTGGGCATATCACACCACAAGCTGCGCTGGCGACACATTTCCCGGCTGGGCTGCCGGTTGTTTGT
+ACCACCAGTGATAAACCGGTAGAAGCTCTGGGAGCCGGGTTACTGGATGATGAAACGGCGGTAATTTCTC
+TTGGCACCTATATCGCGCTGATGATGAACGGCAAAGCACTGCCGAAAGATCCGGTCGCGTACTGGCCGAT
+TATGTCTTCTATTCCGCAAACATTGCTGTATGAAGGTTACGGTATCCGCAAAGGCATGTGGACAGTGAGC
+TGGCTGCGCGACATGTTAGGCGAGTCGTTAATTCAGGATGCCAAAGCACAGGATCTTTCACCGGAAGATT
+TGCTCAACAAAAAAGCGTCTTGCGTGCCACCTGGTTGTAATGGGCTGATGACGGTACTGGACTGGCTGAC
+CAATCCGTGGGAACCGTACAAACGCGGAATTATGATCGGCTTTGATTCCAGTATGGATTACGCATGGATA
+TATCGTTCGATACTGGAAAGCGTGGCGCTGACGCTGAAGAATAATTACGACAATATGTGTCATGAAATGA
+ATCACTTTGCAAAGCATGTGATCATTACTGGCGGCGGTTCGAACAGCGATCTGTTTATGCAGATTTTTGC
+CGACGTGTTCAACCTTCCGACACGCCGAAACGCCATTAACGGTTGTGCAAGTCTGGGGGCTGCGATCAAT
+ACGGCGGTAGGTCTGGGGCTATACCCGGATTACACAACGGCTGTCGATAAAATGGTTCGCGTGAAAGATA
+TCTTCATACCGATTGAGAGCAATGCCAAACGCTACGACGCGATGAATAAAGGCATTTTCAAAGACCTAAC
+CAAACATACTGATGTGATCCTGAAAAAATCGTATGAAGTGATGCATGGGGAATTGGGGAATGCGGATTCG
+ATCCAGAGCTGGTCGAATGCGTAAGTGAGATAAACAGTGCCGGGTAGATGATTAATCCCGGCATATTCAC
+GTTTCCACTACAAAATACCGGGTAACCACTGCTGAATATTGTTCTCTCCTGAGCAGCGTTTATGCTTTAA
+TTGCTAAACCGATTTAATTTGTTTAGCAGTTAGTATATTGGAGCCTTTATGAGCACAAGAGTATGGGTAC
+TCGGTGATGCGGTTGTTGATTTATTACCCGAAAGCCAGGGGAGACTACTACAGTGTCCTGGTGGGGCGCC
+TGCTAATGTTGCAGTCGGTATCGCAAGGCTGGGGGGGGAAAGTGCCTTTATTGGCAAAGTTGGCGATGAT
+CCTTTCGGTCGCTTTATGTATCAGACACTGAGTAAAGAAAATGTTGATACACGTTATATGTCTCTTGATC
+CTCAACATCGCACCTCAATTGTGGCTGTAGGACTTGATGAGCAAGGAGAAAGAAACTTTACCTTTATGGT
+ACGCCCAAGTGCCGATCTTTTTTTACAACCTGATGACCTTCCTACATTTGGGCCGGGTGAATGGCTCCAT
+CTTTGTTCCATTGCGCTCAGTGCAGAACCTTCCCGAAGTACCGCATTTCTGGCTATGGAGAAAATACGTC
+AGGCTGGCGGAAACATCAGTTTTGATCCCAATATCCGCAGCGATCTCTGGCAGAGTGAAGCGCTATTAAG
+AAAATACCTTGATCGCGCGCTTTCGCTGGCGAATATCGCTAAATTGTCCGAAGAAGAGTTGCTATTCATC
+AGTGGCGAAAGCCAGGTTCAGCAAGGCGCATATTCATTAGTACAACGTTATTCGTTGACTTTATTGCTTA
+TCACACAAGGAAAAAATGGCGTACTTGTGTATTTTCAGGGGCAGTTTATCCACTATCCCGCCAAACCTGT
+TTCTGTCGTCGATACGACCGGGGCAGGAGATGCTTTTGTCGCTGGATTACTTGCAGGTCTGGCTGATTCT
+GGAATACCAACAAATACCAGACAGCTTGAACGAATCATTGCACAAGCTCAGATTTGTGGTGCTCTGGCGA
+CCACGGCTAAAGGCGCGATGACCGCCTTACCCCGACAACACGATCTCCCTTCACAATAGTGATCCTGCTG
+TTGTATCTGTAACCCGATTTGTCGTGCCTGTCACATTTACTAAATCGGTTTAGCGAAAATAATTGCTCTG
+GCTAAAAAGTCAGCTTTATTATCAACACCTAAACCGGTTTAGCATTTTAGCAATTTTTATAATTCTCTGA
+TGGGACGCGACAAATTATGTATAAAAAAACAACTTTGGCAGTGTTAATTGCTTTGCTGACCGGTGCTACA
+ACGGTACATGCGCAAACGGATATTAGCAGTATCGAATCTCGACTGGCGGCGTTGGAACAACGTTTAAAAA
+ATGCGGAATCCCGCGCCCAGGCGGCAGAAGCAAGGGCCAAAACAGCTGAATTACAGGTTCAGAAACTGGC
+TGAAACACAACAACAAAATCAGCTAACAACTCAAGAAGTAGCACAGAGAACAGTTCAGCTCGAACAGAAA
+TCCGCAGAAAACAGTGGTTTTGAGTTTCATGGCTATGCCCGTTCCGGGTTACTGATGAATGATGCCGCTT
+CCAGTAGCAAAAGTGGGCCGTATCTGACTCCCGCAGGTGAAACTGGTGGAGCTGTTGGCCGTCTGGGAAA
+TGAAGCCGATACCTATGTCGAGTTAAATGTAGAACATAAACAAACACTGGATAACGGTGCGACCACACGC
+TTTAAAGCAATGTTGGCTGACGGACAAAGAGATTACAACGACTGGACTGGCGGCTCCAGTAACCTGAATA
+TCCGACAGGCTTTTGCCGAACTGGGCGCATTACCAAGTTTTACCGGAGCATTCAAAGACAGTACTGTCTG
+GGCTGGTAAACGCTTTGATCGCGACAATTTTGATATTCACTGGTTAGACTCCGATGTCGTATTTTTAGCG
+GGAACGGGCGGCGGTATCTATGACGTAAAATGGAACGATACATTCCGCAGTAACTTTTCTCTCTACGGAC
+GTAATTTCGGCGATCTTGATGATATCGACAATAACGTTCAGAACTACATCCTCACCATGAATCATTATGC
+AGGCCCCTTCCAGTTGATGGTTAGCGGATTACGGGCAAAAGATAATGATGATCGAAAAGATGCCAATGGT
+GATCTCATTCAAACTGATGCTGCAAATACTGGCGTACATGCGTTAGTTGGTCTGCACAATGACACTTTCT
+ATGGCCTGCGTGAAGGGACGGCAAAAACAGCACTGCTATATGGCCATGGCCTGGGTGCGGAAGTCAAAGG
+GATTGGCTCCGATGGCGCTCTGCTGTCTGAGGCGAATACCTGGCGCTTCGCATCTTACGGCACAACACCT
+CTGGGAAGCGGTTGGTATGTTGCGCCAGCAATTCTCGCACAAAGCAGTAAAGATCGTTACGTCAAAGGCG
+ATAGCTACGAATGGGTGACCTTCAATACACGTCTGATCAAAGAGGTAACACAGAATTTTGCTCTGGCCTT
+TGAGGGTAGCTATCAATATATGGATCTGAAGCCAAAGGGGTATCAAAACCACAACGCCGTAAACGGCAGC
+TTCTATAAACTCACCTTTGCTCCAACTCTAAAAGCTAACGATATCAATAATTTCTTTAGCCGTCCGGAGC
+TTCGCCTGTTTGCCACCTGGATGGACTGGAGCAGCAAACTTGATGATTTTGCCAGCAATGACGCTTTCGG
+CAGCAGTGGTTTCAATACTGGCGGAGAGTGGAATTTTGGTGTCCAAATGGAAACCTGGTTTTAATACCAG
+ACAGCCTCACGGATGTGAGGCTTTTACTGAAATAACAATGAATTAGAGGGTTATATGGATTTCGATAAAA
+TCGCCCAATCGTTGCTTCCTTTATTAGGTGGTAAGGAGAACATCGCCAGTGCAGCACATTGCGCCACTCG
+CCTACGGCTGGTACTGGTTGACGACACACTTGCCGATCAACATGCCATTGGCCAGATTGATGGAGTGAAA
+GGTTGTTTTCGTAATTCAGGGCAAATGCAAATCATCTTTGGCACCGGCGTGGTTAATAAAGTCTATGCTG
+CCTTTATTCAGGTTGCAGGTATTAGCGAATCCAGTAAAGCAGATACCGCTCGACTCGCCGCTCAAAAACT
+CAATCCTTTTCAGCGAATAGCACGGCTACTTTCTAATATTTTTGTCCCCATCATTCCAGCCATTGTTGCT
+TCTGGTTTATTAATGGGGCTCCTGGGAATGGTGAAAACATATGGCTGGGTGAATGCCGATAATGCGATTT
+ATATCCTGCTGGATATGTGCAGTTCAGCCGCATTTATTATTCTCCCCATCCTTATTGGCTTTACTGCTGC
+TCGTGAATTTGGTGGAAATCCTTATCTTGGCGCGACATTAGGAGGGATTCTGACTCACCCGGCACTCACA
+AATGCCTGGGGCGTTGCTGCGGGATTTCAGACAATGAACTTCTTCGGTTTTGAAATCGCCATGATTGGCT
+ATCAGGGAACGGTTTTCCCCGTGCTTCTGGCAGTATGGTTTATGAGCATAGTGGAAAAACAGTTACGCAG
+GTTTATCCCTGATGCTCTGGATCTCATTCTGACGCCATTTCTGACTGTCGTCATTTCTGGCTTTATCGCT
+CTTTTGATTATTGGTCCGGCAGGACGAGCGTTAGGTGACGGTATCTCTTTCGTTCTCAGCACGCTGATTG
+CACACGCAGGCTGGTTAGCAGGGTTGTTATTCGGCGGGCTATATTCAGCGATTGTTATTACGGGTATTCA
+TCATAGCTTCCACGCAATTGAAGCAGGACTTTTAGGTAACCCTGCAATCGGTGTTAATTTCCTGCTGCCT
+ATTTGGGCAATGGCAAACGTTGCGCAAGGCGGTGCATGTCTGGCGGTATGGTTTAAAACCAAAGATACAA
+AAATTAAAGCAATCACCCTACCCTCGGCCTTTTCCGCAATGTTAGGGATTACTGAAGCCGCTATTTTTGG
+TATCAACCTTCGTTTTGTTAAACCTTTTATTGCGGCCTTAATTGGTGGCGCTGCCGGCGGTGCCTGGGTT
+GTCTCTGTTCACGTTTATATGACTGCCGTTGGTCTGACCGCAATACCCGGCATGGCAATCGTTCAGCCAA
+CATCGTTGGTTAATTATATTATTGGAATGGTGATTGCTTTCGCTGTCGCTTTTAGCCTCTCTTTATTACT
+CAAATACAAAACGGACGAGGAGTAATGTCGATGCCTTCACAAATGCCCGCGATTTTACAGGCAGTGATGA
+AAGGTCAGTCCAAAGCACTGGCAGATGCCCACTATCCTTGTTGGCATCTCGCTCCAGTCACCGGACTAAT
+GAACGATCCAAATGGCTTTTGTTGGTCTGGAGGCCGCTATCATCTGTTTTATCAATGGAATCCACTGGCT
+TGTGATCATAAGTACAAATGTTGGGGGCACTGGAGTTCGACGGATTTATTGCACTGGCAGCATGAACCAT
+TAGCGCTAATGCCCGATAAAGAGTACGACCGTAATGGTTGTTACTCAGGAAGCGCGGTTAATAATCAGGG
+CGTTCTCACACTTTGCTATACCGGTAATGTTAAGTTTGATGATGGCAGCAGAACGGCATGGCAATGCCTG
+GCCACCGAAAATAACCAGGGCGGGTTTGATAAACTAGGCCCTGTCATACCGTTACCTGATGGTTACACCG
+GACATGTTCGTGATCCAAAAGTCTGGAAGCACAACAGCCAATGGTACATGGTGCTTGGCGCGCAAGATAA
+AGAGAAACGGGGGAAAGTGCTGCTGTATTCCTCTGTCGATCTCTATACCTGGTCTTTTCATGGAGAAATT
+GCTGGTAACGGTCTGAATGAAATAGATAACGCAGGATACATGTGGGAATGTCCTGATTTTTTCGCCCTTG
+ATGGTGAATACATTCTCCTCTGTTGCCCCCAGGGAATGGTGCGCGAACATGAGCGCTATCTGAATACTTA
+TCCCTGCGCCTGGCTACATGGACAGTTTGATTACGAGACAGGCAAATTTACGCATGGCGCTTTCTCAGAG
+CTGGATGCGGGATTTGAATTCTATGCACCACAGACGATGGAAGCCCCGGACGGGCGACGATTGCTGGTCG
+GCTGGATGGGGGTTCCTGATGGCGAAGAGATGTTGCAGCCAACCAGAAAGCATCATTGGCAGCATCAAAT
+GACCTGTTTTCGCGAACTCTCATTCCAGCAGGGAAAATTGTTTCAGATGCCAATCAGGGAACTCGCGCAA
+CTGCGTGAAGCTGAACACTTCTGGCAAGGAAAAGCGGATCATGCGCCGCATGTCGAAATTGAACGCCTGG
+AAATGGACATCATTCCGTCGGGTGAGCTGTATCTGAATTTTGGCAATGCGCTGGCACTGCATCTTAATGA
+CGATGGTATTCAACTACAGAGGAGAAGCCTTGCAGGGCAAGAGAAATTAACTCGTTACTGGCGAGGAAGC
+GTAACGTCACTGAAGATTCTCTGTGACAGTTCCAGCGTAGAGATATTCATCAATAATGGTGAAGGTGTAA
+TGAGTAATCGTTATTTTCCCCATCATCCAGCTTCGCTGATATTACAGGGTGAGTCTGACGTCACGTTACG
+CTACTGGTCGCTACGCGCCTGCATGGTAGAATGAGGGTTTTGAATTACGGATCCTCGTCGTGAGAAAAAC
+CAAACGCGTTACTATTAAAGACATTGCTGAACTGGCGGGAGTGTCGAAAGCAACCGCCAGTCTGGTTCTC
+AATGGTCGTGGCAAAGAGTTACGTGTTGCGCAGGAAACGCGTGAGCGTGTGCTGAGTATTGCCCAACAGC
+AGCATTATCAGCCCAGCATTCATGCCCGCTCATTACGGGACAACCGCAGTCATACCATTGGTCTCGTCGT
+TCCTGAAATCACTAACTACGGATTTGCAGTATTTTCCCATGAACTGGAAACATTGTGTCGGGAAGCGGGC
+GTCCAGCTCCTCATATCCTGTACTGATGAAAATCCTTCACAGGAAACAATGGTGGTGAACAATATGATTG
+CCCGCCAGGTTGATGGGTTAATCGTCGCATCCAGTATGCTGCATGATAATGACTATCAAAAACTTAGCGA
+GCAATTACCTGTTGTGTTGTTCGATCGCCACATGAACGGCAGTACATTGCCATTGGTCATTACTGACTCT
+GTTTCTCCCACCGCCGCTCTGGTGGCAGATATTGCAAGGAGTCACCCGGATGAATTCTATTTTCTGGGCG
+GACAACCCCGTTTGTCACCGACTCGCGATCGACTGGAAGGATTTACACAAGGCTTGCAGCAAGCCGGAGT
+AACGCTACAACCTGAATGGATTATTCACGGTAATTATCATCCGAGCTCAGGCTATGAAATGTTTGCCGCG
+CTATGCGCTCGTTTAGGACGTCCCCCTAAAGCCTTATTCACTGCCGCTTGTGGATTACTGGAAGGCGTTC
+TGCGCTATATGAGCCAATATAATTTACTCGACAGTAAAATACACCTGGCGAGTTTTGATGATCATTACTT
+GTATGATTCACTTTCGGTAAGAATCGACACAATACAACAGGATAATCGCCAACTTGCTTTTCACTGCTTT
+GAACTTATTTCGCAACTGATTGAAGGTGAAACGCCATCCCCATTACAGCGTTATCTTCCTGCCAGTCTAC
+AAAAACGCTACCGATAATCCCGTCACTATCTTGCATCGCCCCTGTAAAACGGGGCGATTATTTTCATCCT
+GAACGTTAAATATTAATGATGAATAATCAAATCAGGCAATATTCAAATATTTATGTGTCTGCATCGACAA
+ACGCCAGTTGCGCGCAATGCAGGTATCGATACATAAACGCGTAGCATCTTCCTTCTGGCTAATTGGCTGA
+AGTGCAATGACTCGCGGTTTATCATCGGTCAGCGTCGCCAGCAATTCATCCAGTGCTTCAATATCACGTA
+CGCGTCCTACTGGGTGTTTGATTTCGTTGGCTCGCTCCAGGGCTTGTGACAACACTTCATAGCCACCGCG
+CATATTTAGCTTTGGTGATACGGTAACCCAGGTATTCGGTGTGCAGCGTACTTCATGAGTACCACTGGTT
+TCGATCTGGCAGCTAAAACCGTTCTTTTCGAGCAGGTCAGTCAGTGGCAGCAAATCATGAATGCAAGGCT
+CACCACCCGTAATCACCACATGACGCGCGGTGTATCCCTGACGGCCAATGACAGCCAGCAAATCTTCACT
+GCTCGCCGCCCCCCACTTATCACTCTCTTTGGTCTTCGCCAGAATGCTGAAAAGGGAGACTTCCCGATCC
+TCAAGCTTTTCCCAGGTGTGTTTGGTGTCGCACCAGGCACAGCCAACCGGACATCCCTGTAAACGAATAA
+AAATGGCGGGGACGCCGGTAAAGTAACCCTCACCTTGCAGGGTCTGGAACATCTCGTTAATCGGGTACTG
+CATAGCATTCTCTGTGAAGTGGATAATTGTTAATTATTGCAGATCCTGCCACAACAATCATGTCTTATTA
+ACATTCTGTTACAGGCAGGTTTGATGCAAAAATTGGCTCAGATCATTAAGAATAAAATGAAGCGGCGTAT
+TATGTTTTAAGGAATTAATTAAAAGGAATTTAACCATGCTCAGAATATTCATCGCAATTATATTTATTTT
+CAATTTATCAGGCTGTGGATATAACGATATTCAAACCTATGATGAGCAGGTTAACGCCTCCTGGTCTGAG
+GTATTGAATCAATATCAACGTCGCGCCGATCTTATTCCTAATCTTGTCGCCAGCATTAAAGGTTATTCCA
+GCCATGAACGAGATGTACTGGAAGCCGTAACATTGGCTCGTAGCCAGGCTAATCGCGCCAGTAGCGATCT
+TCAGCAAACTCCGGGAGATGAACAAAAATTACAAACCTGGCAACAAGCTCAGGCGCAGGTGTCTCGCACT
+CTCGGTCAGTTAACGATAATTAGTGAACGTTACCCTGAGCTAAAGGCCCAGGAACTCTATCAAAATTTGA
+TGGTACAGCTCGAAGGAAGTGAAAATCGAATTGCCGTTGCGCGAGGAAGATATATTAAAGCTATTGAACA
+ATATAATGTCACTATCCGCAAATTCCCCGCAGTGTTAACCGCAAAGGTCATGGATTACACACCAAAGAAA
+AATTATTTGCCGGATGATGTCGCCGCTGTGAGTAAAGCCCCGACAATAGATTTTAGCCAGAATACTAATG
+CTCATTAAGCGGGGAAGTCCTGTGCGAATTTTTATCTTCCTTATGGCTTTCTTCTGTTCATCTGTGTTTG
+CCACACAAATTCCAGTGCCTGAATCACCCAGGTATGTGAATGACTTAACCGGTAAATTGACGAACGATGA
+AGTAAATACTTTGACCAATCAGATTAAAGAGCTGACGCAAAAAAGCCACGCACAACTGGTCGTGTTAGTG
+GTTGAAACAACGGGCGATGAAACCATCGAGCAGTACGCTACGCGGGTATTCGATAGCTGGAAACCAGGTG
+ATAAAGACCGCGATGATGGCGTTCTACTGTTAGTCGCCTGGCAGGATCATACCGTGCGTATTGAAATCGG
+TTACGGACTGGAAGGCGTTATTACGGATGCGCAGTCTGGGAAAATTATTCGCAACAGTATTATTCCGGCA
+TTTAAAAATGGCGACCTGGCTGGCGGCTTGCAAAAGGGAATAAGCGATATTGATAATCGTCTGACGGGGA
+ATAATTTAGCAACGATAACACCGACCGATCACCCTTTGCCCTTTAACGGTTGGTGGGCTTTGTTAGTCTG
+GGCAATAGTACTGACCTTTATTTCCGCCAGAGGATATTTCAAAACGCTGGGACTAATTTGCTTCACAGCT
+ATTGTACTGGCCTTTGTTTTACCTATAGCAGGTTTCAGCGGAAGCTGGGGAGTACTCGCAACATTACTCT
+GCTTCGCTACACCGTTCCTGGCTGTCGCTATCGCTTTTACCCCCTTCGGCAAAAAGGTTCGGGATTCGAT
+GCGTAGTGCCAACCGACCGTCACGTTACGAAAGAAGTAACTCGGCCTCCTGGCGTTCTTCATCATCGTCG
+TCATCTTCCTCTTCATCCTCTTTTGACAATGATAATTTCAGCGGCGGCGGCGGTTCATCTGGCGGCGGTG
+GCGCCTCCGGGCGCTGGTAACAAAAGGAATTGAAATGCGTATTTTTCTCTTACTTCTGATGCTATATGGT
+TTCCAGGCATTAGCTGAACAATTGCCTTCAGTAACTGACTTAACCGGGACATTAACGACAGAAGAACAAA
+CTGCTTTAAATCAACAATTACAGACTCTCGAGCAGCAAAACCACTTCCAGGTGGCCGTGTTGGTTACGCC
+GACCACAGGGGGCAAAAACATTAAACTTGCAGCCTCTCAGAGCTACGGGTTATATCACTGGAAACCCGTT
+GGAGAGAAGCGGTACGGCGAAGGTATCTTAATTCTCGTCGTTTGGCCGGAAGGGCTGGCGTCAATGAAGA
+TTGGGCATGGACTGAAAGAGATGCTGCCACCGGAACAAGCTGCGCAAATTGTTCATTACCATATGCAACC
+GGAATTCAAAAAAAATAATCTCTTCTCCGGGTTAACGCAGGGAATTGAAGGCATCGCACAGTTTACCTAT
+ATAAAAGCGAATCTTAGCCCTTTGGATGCTTTAGCCAATCATCTGTTTGCTAATCCGCAACGCTCGCTGC
+CATGTCTTGCCTGGACATTACTGATGATCGTTGCCATCGTTGTCCTCTGGCGATTTACCAGCCGTCCCGG
+GCCTGGCATATGGATGATATCGATGATTACTCCTATGGTCTGGTTTTTCTTCTTTCAGGATGATGTCATC
+ATTCGGCGGGTATCGCTCGTTTGTTTTAGTTTATTTTTCGCAGCAACCTGCTGGCAGCGTATCGCGGTAA
+TTTTTCATATGTATCGCGTATTTCCTATGATGCTGGCCCCAAAAAATAAAAACGCTAAAGTGAAAAAACA
+AAAGACGACTCAGCAGGTTTCTCAATCCGAACGAAACTCATTGTTTGTCGTGCTGCTGATAATTGTTGTG
+GGATGGTGCCTGGTATTCGCCAGTAATAAAGATATAGCATTCATCTCAACAATTATTGGGCTAATTGATC
+ATTTTATCGGCCCAATAACCATTGCTGGCATCGTTCTGCTGATCATTGTGGCCAAATTTACTGGCAATCT
+TAAACTGGGATCAGGACATAAAAGCAACAGGAAAACGGGGAATCGTAATGCTCATTCTCGCTCTTCGTCG
+AAAAATTCTTTCCGCGGTGGCGGCGGTTCTTCAGGAGGCGGCGGTTCATCCGACCGTTGGTGATCGTTAT
+GCGTATAATCCTTTTTCTACTCACTTTATGGTGCCTTCCTGTGCTTGCCCAGCAAATTGCTGTGCCGGAG
+CTGCGCCAACAGGTGACCGATATTACTGGTACCTTAAGCACGTCTGAACAACAATCACTAACACAACAGC
+TGCAGGATATTACACAAAAAACACGGGCACAGGTCGCTGTATTAATAGTGCCATCCACCGGAGACGATTC
+TATTGAACAATATGCTACAAGAGTTTTTGACAATTGGCGTTTAGGAGATGCCAAACGCAATGATGGGATA
+CTGATCATTGTTGCCTGGTCGGATCGCACTGTCCGCATCCAGGTAGGTTATGGGCTGGAAGAAAAGGTAA
+CCGACGCTCTGGCTGGAGATATCATCCGTAGCAACATGATACCCGCATTTAAACAACAAAAATTAGCTAA
+GGGATTAGAGTTAGCTATAATCGCTTTGAATAACCGACTCACTTCACAACACCAATATTCGGTTAATCCT
+TCAGAAAGTGAATCAGCATCTTCCAGCGATCATTACTACTTTGCTATTTTTTGGGTATTTGCAGTGATGT
+TCTTCCCTTTCTGGTTTTTTCATCAAGGCAGTAATTTTTGTCGCGCATGTAAAAGCAGTGTCTGTATTTC
+AGCAATCTATCTTTTAGATTTATTCCTGTTCTCCGATAAAACTTTTTCCATTGCTGTATTTTTCTTCTTT
+TTTACTTTCACCACCATTATGGTCTTTACCTGTTTATGTGTACTTCAGAAAAAAGCATCTGGTAGAAGTT
+ATCATTCAGACAACAGCGGTTCCGGTGGTGGCTCAAGTGGCGGCGGATTTAGCGGCGGGGGCGGTTCTTC
+TGGCGGTGGCGGCGCGTCCGGTCGCTGGTAACTCAACCATAAAAAATGCCAGCCCGAAGGCTGGCATTTT
+TAAATCAGATAAAGTCAGACTTATGCCTGGCCTTTGATCTCTTTACGACCGTTGTACGGTGCTTTTTCGC
+CCAGAGCTTCTTCGATACGAATCAGCTGGTTGTATTTAGCAACACGGTCAGAACGGCTCATAGAACCAGT
+TTTGATCTGGCCTGCAGCAGTACCAACAGCCAGGTCAGCGATGGTAGCGTCTTCAGTTTCGCCAGAACGG
+TGAGAGATAACTGCAGTGTAGCCAGCGTCTTTCGCCATCTTGATTGCAGCCAGAGTTTCAGTCAGAGAAC
+CGATCTGGTTGAATTTGATCAGGATGGAGTTAGCGATACCTTTTTCGATACCTTCTTTCAGGATCTTGGT
+GTTGGTTACGAACAGGTCGTCACCAACCAGCTGGATTTTGTCGCCCAGAACTTTGGTCTGGTATGCGAAA
+CCGTCCCAGTCAGATTCGTCCAGACCGTCTTCGATGGAAACGATCGGATACTGTTTGGTCAGTTCTTCCA
+GGAAGTGAGTGAATTCTTCAGAGGTGAACGCTTTGTTGCCTTCGCCAGCCAGAACGTATTTACCGTCTTT
+GTAGAATTCAGAAGCTGCGCAGTCCATCGCCAGAGTGATGTCTTTGCCCAGTTCATAACCAGCAGCTTTA
+ACAGCTTCAGCGATAACAGCCAGAGCTTCAGCGTTGGAACCCAGGTTCGGCGCATAGCCACCTTCGTCAC
+CAACAGCAGTGTTCATGCCTTTCGCTTTCAGAACTTTTGCCAGGTGATGGAAAACTTCAGAACCCATGCG
+GATGGCTTCTTTCACAGTTTTCGCGCCAACCGGCTGAATCATGAATTCCTGGATATCAACGTTGTTGTCA
+GCGTGCTCACCACCGTTGATGATGTTCATCATCGGAACCGGCATAGAGTATTTGCCCGGAGTGCCGTTCA
+GTTCAGCGATGTGCTCGTACAGCGGCATACCTTTAGCAGCTGCAGCAGCTTTGGCGTTAGCCAGAGATAC
+AGCCAGGATTGCGTTCGCGCCGAATTTGGATTTGTTTTCGGTGCCGTCCAGGTCGATCATGATCTTGTCA
+ATGCCAGCCTGATCTTTAGCATCTTTGCCAATCAGCGCCTGAGCGATCGGGCCGTTTACCGCAGCAACAG
+CTTTGGTTACGCCTTTACCCAGGAAACGGGATTTGTCGCCATCGCGCAGTTCCAGAGCTTCACGGGAACC
+AGTAGAAGCACCTGACGGAGCAGCTGCCATACCGACGAAACCACCCTCCAGATGTACTTCGGCTTCAACA
+GTCGGGTTACCACGGGAGTCGATGATTTCACGACCGATGATTTTTACGATTTTGGACATTAGGTTTTCCT
+CAAGTCACTAGTTAAACTGAAACTCCAGACAAACAACGCGTACCCAGGGTACGCGTTGCCGTTCTAACTT
+TTTTACTTACTTCGCCTGACGTTTCTGGAACTCGCTGGCGGCTTTCACAAAGCCTGCAAACAGCGGGTGA
+CCATCACGTGGAGTAGAAGTAAACTCCGGATGGAACTGGCAAGCCACGAACCACGGATGATTCGGAACTT
+CGATGATCTCGACCAACTGATCATCCCCGGAACGGCCCGCAACGCGCAGACCTGCATCTTCAATCTGTTT
+CAACAGCATGTTGTTGACTTCGTAACGGTGACGATGACGCTCAACAATTGTCGGCGCATTGTACAGCTGG
+CGAACCAGGCTATCGTCAACCAACTGGCACTGCTGTGCGCCGAGACGCATGGTACCGCCGAGATCGCTCT
+TCTCGCTACGAACTTCAACGTTGCCGTTTTCATCGCGCCACTCGGTAATCAGCGCCACAACCGGGTACTT
+ACAGTCTGGCACAAATTCCGTAGAGTTGGCGTTCTCCATGTTGGCAACATGGCGAGCGTAATCAATTAAC
+GCCACCTGCATACCCAGGCAAATGCCCAGATAAGGAATATTGTTCTCACGCGCAAAACGCGCGGTCGTAA
+TCATGCCTTCTACGCCACGATAGCCGAAACCGCCAGGTACGAGGATTGCGTCCAGACCTTTGAGGATTTC
+AACGCCGCGCGTTTCAACATCTTGTGAATCGATCAGTTTGATGTTGACGCTGACACGATTCTTCAGCCCA
+CCGTGTTTCAGTGCTTCGATCACGGATTTGTATGCATCCGGCAGCTCAATGTATTTGCCGACCATACCAA
+TGGTGACTTCACTTACCGGATTCGCTTCTTCGAAGATAACCTGTTCCCATTCGGACAGATTCGCTTCCGG
+GCAGTTTAAGCTGAATCGTTTACAAATATAATCGTCCAGCCCCTGAGATTTCAACAGGCCCGGAATTTTA
+TAGATGGAATCGACGTCTTTCAGAGAAATAACCGCTTTTTCCGGAACATTACAGAACAATGCAATCTTCG
+CACGTTCGTTCGCCGGAACGGCGCGATCTGAACGACAAATCAGGATATCAGGCTGGATACCGATTGAAAG
+CAGCTCTTTTACAGAGTGCTGAGTCGGTTTGGTTTTGACTTCACCAGACGCTGCCATGTACGGCACCAGC
+GTCAGGTGCATAAACAGGGTGTGCTCACGGCCAATTTCAACAGCCATCTGGCGAATCGCTTCGAGGAACG
+GCAGGGATTCGATATCACCTACAGTACCGCCGATTTCGACCAGTACTACGTCATGACCTTCGCCGCCTTC
+CAGCACGCGCTCTTTGATAGCGTTAGTGATGTGCGGAATAACCTGTACGGTTGCGCCGAGATAGTCACCG
+CGGCGTTCTTTACGCAGAACGTCAGAGTAGATACGCCCCGTGGTGAAGTTGTTGCGGCGGCTCATTTTGG
+TACGAATGAAACGCTCGTAGTGCCCCAGGTCCAGGTCGGTTTCAGCGCCGTCTTCAGTAACGAACACTTC
+CCCGTGTTGGATTGGGCTCATAGTACCGGGATCGACGTTGATGTACGGATCCAGTTTCATGATGGTCACA
+TTGAGGCCACGGGCTTCAAGAATGGCTGCGAGGGAGGCTGCGGCAATGCCTTTACCCAGAGAGGATACGA
+CCCCGCCGGTCACAAAAATATAGTTCGTTGTCATGCTGAACCTGAGAAGTTAGGTTGAAAAGACGATGGA
+ATAACCAGGACGGGAAAGCAGTATACCCGAACATGACCTGTGCCACAAACTTTCATTATCCCTCCTCTTC
+GCCAGCGCACTATTGAAATCAGGAGTGAGAAAATAGCCCCTTTGGGGTAAATGTTTTTGACGCAAATCAA
+GCGCTTGTCATTTAAAAAATGACACAAATCGCGCTTGACCGCGTAATTCCCTTAGAGATCAATTTCCTGC
+CGTTTTACCTGTTGCCAGACTTCTTCCATTGTTTCGAGGTCAACACCTGTCATTTCCAGTCCACGCGCGG
+CAACAATACGCTCCACTTCGCGAAAACGACGCTCGAATTTTTCGTTCGCTTTTTGCAATGCGATTTCCGC
+TTTTGTCCCTAAATGACGAGCCAGATTGACCGTGGCAAACAGCAGGTCACCCATTTCCTCCTCCAGTTTA
+GCCTGGTCGACAACAGCCTGCCGCGCCTCGTACATCACCTCGTCGATCTCTTCGTAGACTTTATCGACTA
+CCGGACCAAGCGTCGTCCAGTCGAAACCAACGTTGGCGCAACGTTTCTGAATTTTTTGCGCACGCATTAA
+AGCCGGTAAACTACGAGGAATATCGTCCAGCGCCGAATGCTGCGCTTTCTGCGCGCGCTCTTCGGTTTTG
+ATTTGCTCCCAACGGGCAAGCACTTCACTACTATTTTCGGCAGAACTGTCAGCAAAAACATGCGGATGGC
+GACGCTCTAATTTATCGCTAATAGCAGCGCAAATATCATTAAAGTCAAAGCGCCCTTCTTCCTGAGCCAT
+TTGTGCGTAAAACACCACCTGGAACAGCAGATCGCCCAGTTCACCGCGCAGATCGTCAAAATCTTCACGG
+GCGATGGCGTCCAGCACCTCGTAGGTTTCTTCAAGGGTGTAAGGCGCAATGGTGGCAAATGTCTGCTCTT
+TATCCCACGGGCAGCCGTTTTCCGGGTCGCGCAGGCGCTGCATGATGGTGAGCAAACGGTCGATTTGATT
+CATTGAATTATCCTGAAAATTGCGGGTCCGTCAGGTGGAAACCTGTGACCAGAATAGAAGTGAGTTAGTA
+ACACCTACCCAATCAGCACGTTAATTTTGGCTTTAATGAGTTGTAATTCCTCTGGGGCAACTGTTCCTTT
+CTTCGTTGCTCCTCTTGCCCGCCAGGCGATTCTTTTTACCTGATCAGCTAACGCTACGCCATCACGTTCC
+TGACCGGATAGAACAACTTCGAACGGATATCCTTTTGATTGCGTTGTACAAGGAACACACAGACACATAC
+CTGTTTTGTTGTTGTACATGAACGGACTCAGGACAACAGCCGGACGATGTCCGGCTTGCTCGCTACCTTT
+TGTCGGGTCAAAATCAACCCAAATCAGATCGCCCGTATCGGGTACGTATCGGCTTACCATTACCAGACTT
+CCTTATCTTTCGGCTCCCCCCAGTCGATATTCTCGTGGAGGTTTTCCGGCGTGATGTCGTTGACCAGTTC
+AGCAAGCGTAAATACGGGCTCTTTACGCACTGGCTCAATAATTAATTTGCCATCCACCAGGTCAATCTTC
+ACTTCATCATCAATATTCAGATTGAGCGCCTGCATTAACGTAGCCGGGATCCGCACCGCCGGTGAATTTC
+CCCAACGCTTTACGCTACTGTGGATCATAACCCTTTCCTCAAACCGCGATCATATGTAGATACAGTATAT
+ATCAATCTACATTGTAGATACGAACAAGTTTCGGCCTAACTCCCGTGCAACCGACGCGCGTCGATAACAT
+CCGGTACCTGGTTGAGTTTACCCAGCACGCGACCCAGCACTTGCAGGTTGTAAATCTCAATGGTCATGTC
+GATGGTCGCCAGTTGCTGTTTGGTGTCGCTACGGCTGGCAACGCCAAGTACGTTCACCTTCTCGTTGGCG
+AGAATGGTCGTGATATCACGTAACAACCCACTACGATCATTAGCCACCACGCGGACCACCAGCGAATATC
+CGGCGGAGTAGCTCTCGCCCCATACCGCGTCAACAATGCGTTCTGGCGCATGGGAGCGCAGTTCCGCCAA
+TTGTTCGCAATCGGCGCGGTGTACTGAAATACCGCGCCCTTGGGTAATGAAGCCGACAATCTCATCTCCA
+GGAATCGGCTGGCAGCAGCGCGCGATGTGGTGCATCAGGTTACCGACCCCTTCTACCACCACACGACCGT
+TATCTTTACTGCGGTTTTGCGGCGTGTAGCTTTTTTGCTGAAGCTGTTTCAGCGCGGCGGCGTCCTGCTC
+TTCGGCACTCGGCTTATTAAATTGCGATTGCAGGAAGTTCACCATCTGATTGAGACGGATATCCCCGCCA
+CCAATCGCCGCCAGCAACTCGTCGACATCATTGAAGTTGTAACGCGGCAGCAGATGTTTTTCTGCTTCTT
+TCAGGCTGATCCCCAGATGTTCCAGCTCGTCGTCAAGGATTTGCCGCCCAGCCAGAATGTTTTTGTCACG
+GTCCTGTTTACGGAACCAGGCGTGAATTTTCGAACGCCCACGGCTGGTTGTGACGTAACCGAGGTTTGGG
+TTTAACCAGTCACGGCTGGGGTTCGGCTGTTTCTGGGTGATAATTTCAATCTGGTCGCCCATCTGCAGCT
+GGTAGGTGAACGGCACAATGCGCCCGCCAATTTTTGCCCCGATGCAGCGGTGTCCGACATCACTGTGGAT
+GTGGTAAGCGAAGTCCAGCGGCGTTGATCCCGCAGGCAAATCAACGACATCACCTTTCGGCGTAAAGACG
+TACACTCGGTCGTCAAAGACCTGACTACGTACTTCGTCGAGCATTTCGCCGGAATCAGCCATCTCTTCCT
+GCCACGCAATCAGTTTACGCAGCCAGGCAATCCGGTCTTCATGTCCCGAACGTGCGCCGCCAGCAGCCGC
+GCCCTCTTTATATTTCCAGTGCGCAGCAACACCCAACTCTGCATCTTCATGCATCTGTTTGGTGCGGATT
+TGGATCTCAACGGTTTTGCCACCCGGCCCCAGAACCACGGTATGAATGGACTGATAACCGTTTGGTTTCG
+GGTTAGCGACGTAATCGTCAAACTCATCCGGCAGGTGGCGATAGTGAGTGTGCACTATCCCCAGTGCGGC
+ATAACAATCCTGTAAACGCTCGGCGACAATACGTACCGCACGCACATCAAACAGCTCATCGAAGGCGAGG
+TTCTTTTTCTGCATTTTGCGCCAGATACTGTAGATGTGTTTCGGACGGCCATACACTTCAGCTTTAACGC
+CTTCAGCTTTCATCTCAGCGCGCAGATGGCCGACAAACTCTTCGATATAGTGTTCGCGGTCGAGACGGCG
+TTCATGCAGCAGTTTTGCGATGCGTTTGTATTCGGTCGGGTGGAGATAACGGAAGCAGTAATCTTCCAGC
+TCCCATTTCAGTTGCCCAATCCCAAGACGGTTCGCCAACGGCGCGTAGATATTGGTGCACTCTTTTGCCG
+CCAGTACACGTTCATCTTCCGGCGCATCTTTTACTTCGCGCAGATGAGCAATACGCTCCGCCAGTTTGAT
+GACTACGCAGCGAAAATCATCGACCATCGCCAATAACATCCGGCGAACGTTATCGACCTGTTCGGAGGAA
+ACAGAATCAGTGTGCGTCGCTTTCAGCTGGCGGATCGCCGCCATATCACGCACGCCGTGAATAAGGTTAA
+CGACCGACTTACCGACGCTATCACGCAGCACATCTTCGCTGACTACGTTGGCATCGGCCAGAGGGAACAG
+CAGCGCCGCCCGCAGCGTGTCAATGTCCATACTTAATGTCGAGAGGATCTCCACCATCTCAACACCACGC
+CACAATAACAGACTGGCATCCGGATGCCCCTGCGTCTGTTGCAGACAATACGCCCAGGTTTCGGCTAAGC
+ACTCACACGACTTCTGGCTGGTAATACCCAGACTTGCGATCCATTTTTCCGGATCAAATTCACCAGCCTT
+ATTGATATGTGCACTTCTTACCGCAACCATCGTCCTCTCCTTTAGGGACCAGACCTGCCGAAATCGGCAA
+ATCGTAACTATTTAACGCGCGAGAAAAGTACCATCGATTCCAGATGTCCCGTGTGTGGGAACATATCCAG
+CATCGCCAGTCGCGCAATGGTATATCCTGCTTTTAATAACGCTTCGCTATCCCGAGCCAGCGTTGCAGGG
+TTACAGGATACATAAACTATACGAATAGGTTCCAGTTTTATAATTTGCTGCATAACACCTGCGGCACCTG
+CTCGCGCCGGGTCCAACAACACTTTATCGAAGCCGTTTTTCGCCCACGGCTGCTTTGTGACATCTTCTTC
+AAGATTTTCGTGATAAAACGTCACATTCTGTAAGCCATTAAGACGCGCATTCTGCTGGCCTTTTTCCACC
+AGCGCCGGAACACCTTCTACACCCACCACACTGGCAGCTTGTGTCGCCAATGGCAGTGTAAAGTTGCCCA
+TACCGCAGAACAGATCCAGTACGCGATCTTCAGGTTCCACATCCAGCCATTCCAACGCACGCGCTACCAT
+TTTCTGGTTCACACCCGCATTGACCTGAATAAAATCGCGCGGGCTAAAAGTTAAGCGCAACCCATTTGAG
+TCATACCAGGGCATCTCACCAGAGACGGTTTCGAGTATCTCACTATCGGGGGCGAGATACAGATCCAGGC
+CTTCAGAATGCGAAAAGCATTCCAGTTTTTCGCGATCTGCCGAACTTAGCGGTGCGGTATGGCGCAAAAT
+CATTAGCGTGCCGCTGGTTGCCTGTACCAGTTCAACATGACCAAGATGGCGCATAGCTTGTAAGCTGCCC
+AGGCATGCCCTGACTTTGGGCAGCAATGCTTCAAGTTGGGGCACTAAAATGGGGCATTGTTTCACGTCGA
+CAATGTCACTGGAGCCCGCTTTGCGAAACCCCATCTGAAGTTGCTGTGTTTTCGGTAAGTAGTTCAGACT
+TAAACGCGCGCGACGGCGATAGCCCCAGGGAACATCGGCGATCACTTCAGAGACTTCGTGTTTCATTAAT
+CGGGCGAGTGCCGCACTTTTGCTTCGCTGCTGTAAATCCACACTGGCGTGTTGTTGCTGACAGCCGCCGC
+ATACGCCAAAATGAGGACAGCGTGGCGTTTCGCGTTCCGGGCTATCGCTTAACCGACGTACGACTTTAGC
+GCGGGCATACTGTTTTTTATCTTCAGTAACAGTAACTTCCGCGTTTTCCTGCGGCAATAATCCGGGGATA
+AATAATGTTTTGCCGTTATGTCGCGCCACACCCTGACCAAAAGAGTCGAGGTCGTTGACTGAAACGGTTA
+TGATCTGACGCGTCGTCGTGCGTCGTTTTGCAGAGTAGAATTGCGCCATTGGCGAGACTTTCTCAATTTA
+ACAGTGTGACCTTAATTGTCCCATAACGGAACTCCATGACCAACTACAGCCTGCGCGCACGCATGATGAT
+TCTGATCCTGGCACCGACCGTCCTTATTGGTTTATTGCTGAGTATCTTTTTCGTCGTGCATCGCTATAAC
+GACTTGCAGCGTCAACTGGAAGATGCCGGTGCCAGTATTATTGAGCCGCTTGCAGTTTCTACTGAATATG
+GCATGAGCCTGCAAAATCGCGAATCTATCGGTCAGTTAATAAGCGTACTGCATCGTCGCCATTCCGATAT
+TGTTCGCGCGATTTCGGTTTATGATGAAAATAACCGACTCTTTGTCACCTCCAATTTTCATCTTGATCCC
+TCATCAATGCAGCTCGGCAGCAACGTGCCGTTTCCTCGCCAGCTCACTGTCACTCGTGACGGCGATATTA
+TGATCCTCCGCACGCCGATTATTTCTGAAAGTTACTCCCCCGACGAATCGCCCAGTAGCGATGCCAAAAA
+TAGTCAAAATATGCTGGGATATATTGCGCTGGAGCTGGATCTTAAATCGGTTCGCTTGCAGCAATATAAA
+GAGATCTTTATTTCCAGCGTGATGATGCTGTTTTGTATCGGTATTGCGCTTATTTTTGGCTGGCGCTTAA
+TGCGCGATGTAACCGGTCCGATTCGCAACATGGTGAATACCGTCGACCGCATCCGTCGCGGGCAACTCGA
+CAGCCGGGTGGAAGGATTTATGCTCGGCGAGCTGGATATGCTGAAAAACGGTATCAACTCGATGGCAATG
+TCGCTGGCGGCTTATCACGAAGAGATGCAACACAATATCGACCAGGCGACGTCCGATCTGCGTGAGACGC
+TGGAGCAAATGGAGATTCAGAACGTTGAGTTGGATCTGGCGAAAAAGCGCGCCCAGGAAGCGGCGCGTAT
+TAAATCCGAGTTTCTGGCAAATATGTCACACGAGCTGCGTACACCACTGAATGGTGTTATTGGCTTTACC
+CGCCTGACGCTGAAAACAGAATTAACACCAACGCAGCGCGATCACCTGAATACGATTGAACGTTCGGCAA
+ATAATTTGCTGGCAATTATTAATGATGTTCTCGACTTCTCGAAACTGGAAGCCGGTAAGCTGATTCTGGA
+AAGTATTCCATTCCCACTACGCAGCACGCTGGATGAAGTCGTTACCCTGCTGGCACATTCTTCTCACGAT
+AAAGGGCTGGAACTGACGCTCAATATTAAAAGCGACGTGCCTGATAACGTGATCGGCGACCCACTACGAT
+TACAGCAAATCATCACTAACCTGGTAGGGAATGCAATTAAATTCACCGAGAATGGCAACATTGATATTCT
+GGTAGAAAAACGTGCGCTGAGTAATACCAAAGTGCAAATTGAAGTGCAGATTCGGGATACCGGCATTGGT
+ATTCCTGAACGCGATCAATCGCGCTTATTCCAGGCCTTCAGACAGGCTGATGCCAGTATTTCCCGCCGTC
+ATGGTGGCACCGGGCTGGGGCTGGTGATTACACAAAAACTGGTTAATGAAATGGGCGGCGATATTTCGTT
+CCATAGCCAGCCGAATCGCGGTTCAACTTTCTGGTTCCACATTAATCTCGATCTGAACCCGAACATTATT
+ATCGAAGGGCCATCCACCCAGTGCCTCGCTGGTAAGCGCCTGGCCTATGTCGAACCAAACTCCGCAGCAG
+CACAATGCACGCTGGATATTTTAAGTGAAACGCCGCTGGAAGTGGTTTATAGCCCAACGTTCTCCGCGCT
+GCCTCCCGCGCATTACGACATGATGTTATTAGGCATAGCGGTGACCTTCCGCGAGCCGCTAACAATGCAA
+CATGAGCGATTAGCGAAAGCAGTATCGATGACCGATTTCCTGATGCTGGCACTTCCTTGCCATGCACAAG
+TCAATGCTGAAAAACTTAAGCAAGATGGTATCGGCGCGTGTCTGCTGAAACCATTAACACCTACGCGCCT
+GTTGCCTGCCCTGACGGAATTTTGTCATCACAAACAAAACACGCTTTTGCCTGTAACCGATGAAAGTAAG
+CTGGCAATGACAGTCATGGCGGTTGATGACAACCCCGCTAACCTGAAACTTATCGGCGCATTGCTGGAAG
+ATATGGTGCAACATGTGGAACTTTGCGATAGCGGGCATCAGGCGGTTGAACGGGCGAAACAGATGCCGTT
+CGATTTAATCTTAATGGATATTCAAATGCCGGACATGGACGGCATTCGGGCATGTGAGCTCATCCACCAG
+CTCCCGCATCAGCAGCAAACGCCGGTTATCGCGGTAACGGCGCATGCGATGGCCGGGCAAAAAGAGAAAC
+TGCTTGGCGCGGGGATGAGTGATTATCTGGCCAAACCGATCGAAGAAGAGCGATTGCATAATTTGCTGTT
+GCGCTACAAGCCTGGCAGCGGTATTTCCTCTCGCGTCGTGACGCCCGAAGTCAACGAAATTGTGGTCAAC
+CCGAATGCGACCCTCGACTGGCAACTGGCACTACGCCAGGCAGCAGGAAAAACCGATTTAGCGCGCGATA
+TGCTGCAAATGTTACTCGATTTCCTGCCTGAAGTTCGCAACAAAGTTGAGGAACAGCTGGTTGGAGAAAA
+CCCGGAAGGCCTGGTTGATTTGATTCATAAACTGCATGGCAGTTGCGGCTATAGCGGTGTACCGCGTATG
+AAGAATCTCTGCCAACTGATCGAACAACAGCTACGTAACGGTACTAAAGAAGAAGATTTAGAGCCGGAGC
+TGCTGGAACTGTTGGACGAGATGGATAATGTAGCGCGCGAAGCCAGCAAAATTCTCGGGTAATGGACGTC
+TTGTCGAGTAGCAACCGGATTTTTATGACGCTGGTTTCAGATTGGTGACAAGTGCCTGTGTTTATGCCGG
+ATGCGGCGTTAACGCCTTATCCGGCCTGCAAAACCAATTAAATTCAATGAATTAAAAAATGATGTAGCCC
+TGATACGTAGCGCAACAGGCAATTTTGCGTTTGGCATCAGTCTCAAACCGGCTCCAGATAGAGCCGGTTT
+TGGTTTTCTGTCTTAACGCACCATGCACGGACGCTTGTTATCGAACGTCCAGCCGGGGATCAGGTACTGC
+ATTCCCATCGCATCGTCACGCGCGCCAAGCCCGTGTTTCTGATACAGCTCGTGCGCTTTCATCACTTGAT
+CCATATCGATTTCTACACCCAGCCCCGGTTTTTCTGGCACCTGAACCAGACCGCCTTTGATCTCTAACGG
+TTCTTTGGTCAGGCGCTGATTACCTTCCTGCCAGATCCAGTGCGTATCAATCGCGGTGATTTTACCCGGT
+GCGGCAGCGGCAACATGGGTAAACATCGCCAGGGAAATATCGAAGTGGTTGTTGGAGTGTGAACCCCAGG
+TCAGGCCAAATTCATGACACATTTGCGCCACACGTACCGAACCTTGCATCGTCCAGAAATGCGGATCCGC
+AAGCGGGATATCAACGGATTGCAACGAGAGCGTATGGCCCATCTGCCGCCAGTCGGTGGCGATCATATTG
+GTTGCGGTCGGCAGGCCAGTTGCGCGACGGAACTCTGCCATCACTTCACGCCCGGAGAAACCTTGCTCCG
+CACCACACGGATCTTCTGCATAAGCCAGCGAACCTTTCAGGTATGTACCGATTTTAATCGCTTCGTTCAG
+CGACCAGGCACCGTTAGGATCGAGCGTAATACGCGCCTGCGGGAAACGTTGCGCCAGTGCCACAATAGAT
+TCGGCTTCTTCTTCCCCGGCCAGTACACCGCCTTTCAGTTTGAAATCGTTGAAGCCATATTTTTCATACG
+CCGCTTCCGCCAGGCGCACCACCGCATCCGGCGTCATCGCTTCTTCATGACGCAGGCGATACCAGTCGCA
+TGAGTCATCCGGCTGGCTTTGATACGGCAGCGGTGTAGCTTTGCGATTACCGACGAAGAACAGATAACCG
+AGCATTTCGACTTCGCTACGCTGTTGACCATCGCCCAGCAGCGATGCCACGTTTACCCCCAGATGCTGCC
+CCAGCAGATCCAGCATTGCCGCTTCTATCCCGGTAACTACATGAATAGTGGTACGCAAATCAAATGTCTG
+CAAACCGCGCCCACCGGCATCACGATCGGCAAAAGTATTACGCACCAGCGTCAGAACGTTTTTGTATTCA
+CCCAGCGTTTTACCCACCACCAGCGGAATCGCATCTTCCAGCGTTTTACGGATTTTCTCGCCGCCGGGAA
+TTTCCCCTACGCCAGTGTGACCGGAATTATCTTTGATAATCACAATATTACGCGTGAAGAACGGTGCATG
+TGCACCACTCAGATTCATCAGCATACTGTCATGACCCGCCACCGGGATGACCTGCATTTCAGTAACAACA
+GGCGTCGTAAATTGAGAACTCATATTTATGTCCTTTTTCAGAATCAATGACGGCCGAAAACGGGACGTTT
+ACGGTCAAAGGTCCAGCCGGGGATCAGGTACTGCATCGGGCCTGCGTCGTTACGCGCACCGCCAGGCAGA
+CGTTTATAGGCCTCATGTGCCTTTTGTACCTGTTCCCAGTCCAGTTCCACGCCCAGACCGGGCGCATCAG
+GAACGGCAATTTTTCCGTTTTTAATCTCCAGCGGATTTTTGGTCAGACGACAATCGCCCTCCTGCCAAAT
+CCAGTGGGTATCGATAGCGGTAGGATTACCCGGTGCCGCCGCGCCCACATGGGTAAACATCGCCAGAGAG
+ATATCAAAGTGGTTATTAGAATGGCAGCCCCAGGTCAGCCCCCAGTCGTCGCAAAGTTGCGCCACGCGGA
+CTGCACCGGAAAGCGTCCAGAAGTGCGGATCGGCAAGTGGAATATCTACCGCATTGAGCATCACCGCATG
+ACCCATTTCGCGCCAGTTGGTGGCGATCATGTTGGTCGCGACGGGCAAGCCGGTCGCCCGTCGAAACTCC
+GCCATCACTTCACGACCGGAGAAACCCTGCTCAGCGCCGCACGGGTCTTCCGCATAGGTAAGGACATCAT
+TCAGCCCTTTGCACAGAGAAATGGCTTCATCAAGCAGCCAGGCACCATTGGGATCAACGGTAATCCGCGC
+ATCAGGGAAGCGTTTCTTCAATGCACGAACAGTGTCGATTTCTTGCTCGCCAGGTAACACGCCACCCTTA
+AGTTTGAAATCTTTAAAGCCATAGCGATCCTGTGAGGCTTCCGCCAGACGCACAACGGCTTCGCTGTTCA
+TCGCTTTCTGATGCCGCAACTGATACCACTCATGGTTGCCCGGCGTATTTTCCAGATAAGGAAGATCGGT
+TTTGGTCCGATCACCGATATAAAACAGATAACCGAGAACGGTAATAGCATCACGTTGCTTGCCTGGCCCT
+AACAGTTCGCAGACCGGAACATTCAGCGCCTGACCTAACAGGTCAAGCAAGGCGGCTTCCAGCGCCGCCA
+CGGCATTAACGCGCAATTCAAAAGTCCAGGCACCTTTGCCGAAGGTATCAAAATCGGCTGCCTGATTACC
+TTTATGCGCCTGCTGAACCACTTTATTCAGGCGCGCAACTTCCTGGCCCAGCACCATCGGAATAGCCTTG
+ACCAGTGTTTGATAAATCACCTCTCCGCCCGGCGCTTCACCAATGCCGGTATGCCCGGCATTATCGGTGA
+GTACCACAATATTGCGGGTGAAATATGCGTTATGTGCACCACCAATATTAAGCAACATGCTGTCATGTCC
+GGCGACCGGAATGACTTTCATATCAGTAATAACAGGACTGGATTGTGTCGTCATCTTATTGCCCCGCGAC
+AGGTTTCAGCTCAATACGCTTGATATCGCCCACCAGCACCAGGTAGCTGAGTACCGCGATTAAGGCATGA
+ACACCAACATAAATCAGCGCCCCATTAAAGGAGCCAGTCGTGCCAACGATATAACCAATTGCGATTGGCG
+TGACGATGCCAGAAATGTTACCAAACATGTTAAACAGGCCACCGGAAAGACCGCTGATCTCTTTTGGCGC
+AGTATCAGCCATGACAGCCCAACCCAGCGCACCGATCCCCTTACCGAAGAAGGCCAGCGCCATAAAGCCG
+ATGATCATCCACTCAACGTTGACGTAGTTGCAGAACACCATCACCATCGACAGCAACATGCCCATCACGA
+TCGGTGTTTTACGCGCAATGTTCAGTGAACCCGTGCGACGCATCAGCCAGTCGGAAATAATCCCACCCAG
+CACACCGCCGATAAAACCGCAAACCGCCGGAACGGAAGCCACAAAGCCCGCTTTCAGAATCGACATCCCG
+CGCGCCTGCACCAGATAAACCGGGAACCAGGTAATAAAAAAGTAAGTCAGGGCGTTGATACAGTACTGAC
+CGATATAAACGCCGATCATCATCCGTGACCCGAGCAGCTGTTTGATCTGCCCCCACTTCACGCTGAACGG
+CACTTTAACTTTGGTGTTTTGCTGATCCATATTGATCAGCGCGCCACCCGCGGCGATGTACTCCAGCTCT
+TTCTGATTTACGCCCGGATGTTGATTTGGCTCGTGGATGACTTTCAACCAGATAAAGCTGATGACAATGC
+CCAGACCGCCCATAAAGAAGAAGACGTGTGACCAGCCCACTTCATGAGTCAACCAGCCCATAATCGGCGC
+GAAGATAACCGTTGCGAAGTATTGGGCGGAGTTAAAAATCGACACCGCCGTTCCCCTTTCCTGCGCCGGA
+AACCAGGCCGCAACAATGCGGCTGTTGCCAGGGAAAGAGGGCGCTTCAGCAAGCCCGACCAGGAAGCGCA
+GTGTAAACAGGGCAACGATAATGCCGAATCCACTAAAGATATCGACGAAGCCTTGCAGCAAGGTAAACAT
+CGACCAGATAAAGATCGACCAGAAGTAGACGCGTTTTGAACCAAAACGATCCAGCAACCAGCCACCAGGG
+ATCTGCCCGATAACATACGCCCATGAGAAGGCAGAGAACACATAGCCCATTCCCACGGGATCAAGGCCGA
+TATCTTTGGCCATTTCCGAACCGGCAATAGAAAGCGTAGCGCGGTCGCCGTAGTTGAAGGATGTGACGAT
+AAACAACATCACCACTATCCAGTAACGAGCATTCGTGCGTTTTTCCACACTGCTCGCAGCCTGACTTAAA
+GAACTCATTGTTGCACTCCTGAAAATTCGCGTTAGCCACGCTCACTCTGGACTGCGACATCGCCAGGAAA
+TCAGAGGTGACGTAGGGTGTTTTTGCCGTTTTTATAGGTCGTTCGCCGAATACGGCGCGTGTTTATATCT
+GGCAATAGCAGTATAAAAAGCGCGCCATAGCGGCTCACCGTGCAACAACACAACATTAATGCGTTCAATG
+AGGCCCGATTTTGGCATTAGCCCTGGACGGTGGAATCCACTTCACGGAAATGAAAACAAGAACAAGAAAG
+GAAGGGTTAAAACGAAGAAATAAAGAAGAGTATGAAATGGATCGCTTGACTCCAGGCAAACGCCAGTAAA
+AATCCGCGCTATGAAGCAGTTTTTACTGGCATTTGCCTGAAAAGATTCGATTCAGCACCGCTAAAACGGC
+ATTTACCGCTCGCTGAACATATCAGGACAACATCGTGCCCCAATGTTCAACCCACGGATTTGATTCCGTT
+TCCGGTTCCGGGTTCTCACTGGCGTCAATCAACAGCATTTCGCCAACCCGCTGAGCGCTCTGTTCCTGCA
+ACAAGGCATCGAACTGTTTGCCGCCATTGCAGAAATTCACATAACTACTGTCGCCGAGCGCAATCACGCC
+ATAACGCAGATTCGGCTGGAAGCCCAGACTATCTTTGATTCCCTGAAAGAGTGGCACAATACTATCAGGA
+AGGTCGCCCTGCCCGGTCGTGGACGTAACCACCAGAACATACTTATCCTGATAGGGCAGCCAGTCGCTTA
+ATTCAGGATCTTCAAATACCGTTGCTTTGTGGCCCTGCGCGGTCAGAATCGCTTCCGCTTCTTCGGCCAC
+TAACAGTGAATTCCCGTACATGGTGCCGACAAAAATACCAATTTCCGCCATACCGTTTTCTCCCTGGATT
+AGGAACTTATCTCTCCATCCTGACCCGATGGCGCACTGAACTCAACCCTTTCATTTTCAGGAAGCAGACC
+GCGCCAGCCAAATTGTGATAATGCCTGCATCCAGGTGTCGTCCAGGCCCGCGTGAATAGCCAGCGGCTCG
+CCAGTAAAAGGATGCGTCAATGACAACTGACTGGCATGCAGCATTAACCGCTGAAGGCCAAAATGCTCAG
+CACCGCTGCGATTCTGGCGTAAATCACCATGTTTGCTGTCGCCAATAATCGGGTGCCGCAAATGGGCAAG
+ATGGCGACGAAGCTGGTGCTTGCGTCCAGTTTTCGGCTCCAGTTCCACCAGGCCGTAGCGCGTGGTCGGG
+TAACGTCCAGTCGCTACCGGCATTTCTACGGTCGCCAGACCGCGATAATGCGTCACTGCTGGCTGCGGGC
+CTTTATCTTCGCGGGCAAATTTATCAGCGATTTTGTCCAGTTCTTCCACCAGTGGATAATCCAGCACCGC
+TTCTTCCATCAACCAGCCACGCACAATCGCATGGTAACGTTTCTGGATTTGGTGCTGTTCAAACTGTTGT
+GCCAGCAGCCGTCCGGCTTCGCTGGATAATCCCATCAACAACACACCAGAAGTTGGTCGGTCCAGACGAT
+GAGCAGTAAAAACATGCTGGCCTATCTGGTCACGCACGGTTTGCATGACCACTACTTTCTCGTCGCGATC
+CAGCCAGCTGCGGTGAACCAGCCAGCCGGAGGGTTTATTTACCGCAACCAGCCATTCATCCTGATAGAGT
+ATTTCCAGCATTAGCTCGCATCATCCGCAAAAAGAGCATCCAGTTTTTCCAGCTCTGCCAGAATAAGCGC
+GCGTTGCGGGTAGTCCGTCGCCAGCGCCATTTCATAATAAGGCGCAACAGCAAAAGCGCCCGGTAACGGC
+TGGTTGTTATCTAACAAATCGTGCATTCGCGGGATCAGCACCCACTGCAACCACTCCAGTGGTTCCATGG
+TGTCCATAAAGAACGGTTGAGTACTGTTAAATTGATGCGGCAGGGGTTCATCGTTTCGCCAGTGCTGATG
+TTCACGCAGTAACGCTTCAAGCGCCTGCAACTGGAGACGAACGCGGTCATGAGTGGTCATAAAGCAACCT
+CAATAAGAAAAACTGCCGCGAAGAATAGCAGGAATAAAAAAAGGGAGCACTGTATTCACAGTGCTCCCGG
+TTCGTTTCGCAGCATTCCGGCTACTTTTATTGCTCCCTGCTCATCCTTGACAACTTTTCCTCTGGCCTTG
+CGGCCAATCGTTCATCCTGAACTATTGCTTCCTGCTCACACCACCCCGATGTGATACTTCATCCTGAAGT
+GTTCCTGGCCTTCCTGACCCACCGAATCATCCTGACCGGTTCTCATTCTCCATCCTGGAGGTGTCCTTTA
+ACGCGTCCTGCGTCATCCTCTTCGCTTCATCCAGAAGCCTTTCCCTGAAACACCATCCTGGTGTGTCCTT
+CAGAAGTGTCATCATCCTGATGTTCACTTCGTTGTCTGACTCCCTGTCGACGAAGATAGAATCGTCTTTT
+TCTCGAAGTCTTACAAGGCGCTTACAGACAATGCCTTAAGGAAAATTTCATATGAAAGTTAAGAATTAAC
+AAGCAACATGTTGTTTTTAAATGAGAATAACGATTCTTATCTTTTTAAGTATTCGCTTATTTCCTGGCGA
+TCTCCTACAGAGTCTGTAAGAGATCTCTCACAACCAGATGGGGTATTTGGATTACAGAAGAGGCTTAAGT
+TGATTAAGGAATTCCGCAAGATTTGAGGCTAAATGCGTCCGTTTACGTGTTCCCAGCGTCTCTTTGCACA
+CTTCACCGGAGAGATTACACACCGAGATGACCTCTAACTCTTCTTCCAGCGTCGCGATAAATAGCGTGGG
+CGGCAGTTTTAGCCTTTTCTGAGTCACCAGATGACCAATCAGATTTTCCTGCACCCGACGGAAGTCGTCT
+TCACTCCAGGTTTGCAGCAATGTCAGTTTGATATCGCCAAACTGCGCGTGCATATCCCCGGCAAACTGAG
+TCGTATAAAAGGTATGAATCGTGGGTTGTATCACAATATCAAAAGCGCGTTCAACCGCGTTTACATTTTG
+TTCCCCGGTAAACGGCTGGGGTTGCCAGTATACGGCATCTTCGGTAGTTGAAATAATGCACGGTGAAGGA
+ACGCCGTACAGTTCCTCACTTAACGGCCAGCTTTTATGCTCTTCATGCCACGCATCGCAGTAGCGTGCAG
+TAAAATCTTTCAGGGCTTGTGCGGTCAAATCGTCCACTAATTTCTCTCTTCACTTAAACCAGATACACTT
+GTCGTTTAGTTTATCTGGTTTATGACGGTGAAACATGTCTTCTTATGCAAACCATCAGGCACTTGCGGGC
+CTGACACTTGGAAAATCAACCGATTACCGGGATACCTATGACGCCAGCCTACTGCAAGGCGTACCACGCA
+GCCTGAATCGCGACCCGCTGGGTCTGAAAGCGGATAACCTGCCTTTTCACGGTACGGATATCTGGACGCT
+GTATGAACTTTCCTGGCTGAATGCGAAAGGTTTGCCGCAGGTCGCTGTCGGTCATGTTGAACTTGATTAC
+ACCAGCGTAAATCTGATTGAGTCGAAGAGTTTTAAGCTCTATCTCAACAGTTTTAACCAGACGCGTTTTA
+ATAACTGGGATGAGGTGCGCCAGACGCTGGAGCGCGACTTAAGCACTTGCGCCCAAGGTAAGGTTAGCGT
+GGCGTTATATCGTCTTGATGAACTGGAAGGCCAGCCGATAGGTCATTTCAATGGCACCTGCATTGATGAC
+CAGGATATCACTATCGATAACTATGAATTCACTACTGACTATCTGGAGAATGCCACCAGCGGTGAAAAAG
+TAGTGGAAGAGACGCTTGTCAGCCACCTGCTGAAATCAAATTGCCTGATCACCCATCAACCAGATTGGGG
+ATCGATCCAAATTCAGTATCGTGGACGCCAAATTGACAGAGAAAAACTGCTGCGTTACCTGGTTTCTTTC
+CGTCATCACAACGAGTTCCACGAACAGTGCGTGGAACGCATCTTTAATGACCTGTTACGCTTCTGCCAGC
+CAGAGAAATTGAGCGTTTACGCACGTTATACCCGTCGTGGCGGTCTGGACATTAACCCGTGGCGCAGTAA
+TAACGATTTTGTCCCATCGACCACAAGACTGGTTCGGCAATAAATTTTTTCTCAATTTTGCGTGCTGGAT
+TCACGCAGAAGGTTGTGAAAGGTCAGCAGGCAGGGCTATTGTAATCAAAGGGAATGACGATATTCGTCCC
+ATAAGGAGTTTTTCTTGATTACACATATTAGCCCGCTTGGCTCCATGGATATGTTGTCGCAGCTGGAAGT
+GGATATGCTTAAACGCACCGCCAGCAGCGACCTCTATCAACTGTTTCGCAACTGTTCACTTGCCGTACTG
+AACTCCGGTAGTTTGACCGATAACAGCAAAGAATTGCTGTCTCGTTTTGAAAATTTCGATATTAACGTCC
+TGCGCCGTGAACGCGGCGTAAAGCTGGAACTGATAAATCCCCCGGAAGAGGCTTTTGTCGATGGGCGAAT
+TATTCGCGCTTTGCAGGCCAACTTGTTCGCGGTTCTGCGTGACATTCTCTTCGTTTATGGGCAAATTCAT
+AACACCGTTCGTTTTCCCAACCTGAATCTCGACAACTCCGTCCACATCACTAACCTGGTCTTTTCCATCT
+TGCGTAACGCTCGCGCGCTGCATGTCGGTGAAGCGCCAAATATGGTGGTCTGCTGGGGCGGTCACTCAAT
+TAACGAAAACGAGTATTTGTATGCCCGTCGCGTCGGGAACCAGCTGGGCCTGCGTGAGCTGAATATCTGC
+ACCGGCTGTGGTCCGGGAGCGATGGAAGCGCCGATGAAAGGTGCTGCGGTCGGACACGCGCAGCAGCGTT
+ACAAAGACAGTCGCTTTATTGGTATGACAGAGCCGTCGATTATCGCCGCTGAACCGCCTAACCCGCTGGT
+CAACGAATTGATCATCATGCCAGATATCGAAAAACGTCTGGAAGCGTTTGTCCGTATCGCTCACGGTATC
+ATTATCTTCCCTGGCGGTGTGGGTACAGCAGAAGAGTTGCTGTATTTGCTGGGAATTTTAATGAACCCGG
+CCAACAAAGATCAGGTTTTACCATTGATCCTCACCGGCCCGAAAGAGAGCGCCGACTACTTCCGCGTACT
+GGACGAGTTTGTCGTGCATACGCTGGGTGAAAACGCGCGCCGCCATTACCGCATCATCATTGATGACGCC
+GCTGAAGTCGCTCGTCAGATGAAAAAATCGATGCCGCTGGTGAAAGAAAATCGCCGCGACACTGGTGACG
+CTTACAGCTTTAACTGGTCAATGCGCATTGCGCCAGATTTGCAAATGCCGTTTGAGCCGTCTCACGAGAA
+TATGGCTAATCTGAAGCTTTACCCGGATCAACCCGTTGAAGTGCTGGCTGCCGACCTGCGCCGTGCGTTC
+TCCGGTATTGTGGCGGGTAATGTAAAAGAAGTCGGTATTCGCGCCATTGAAAAGTTTGGTCCTTACAAAA
+TCAACGGCGATAAAGAGATTATGCGTCGTATGGACGACCTGCTACAGGGTTTTGTTGCCCAGCATCGTAT
+GAAGTTGCCAGGCTCAGCCTACATCCCTTGCTACGAAATCTGCACGTAATCTCCCCTCCCCCGGTGACGT
+TTGTTGCCGGGTTTTCTCATTTTTGGTCACTTACTCATCAACTCATTTCATTTGTTATATGAATGTTTCT
+TACTACCCTCACGCGACAAATATCACCACAGTTAATATGTCATACAATTTATGTTGAAACGCAAACGTTT
+CCCTATTTTCATAAACCATATTTTATTGCCATGAAAAAGAAATTATCGCCATGATTGACTAAAAGTATTG
+ATTTTTTCAGTTCAACCTACATATATTGCGCGCCCCGTAAGAAGTCAGATGTCGTTTAATGGGTAAATAT
+TGCCCTTAAATTCTCTTTTACTTTTGATTTACAGAGTAAAGCGTTGTGATTATCTATCTTCCAAGTAGAT
+TATTGTATTTGGGATCAAGATCACTGATAGATACATAACTTGTGTGTATCTTTCCGCCCTCAAATTATTA
+CGGTGGAAAATGATTAAGCCATCGCCGATAGACAGATTTCATTTTTACGGTCAGGCACCTTCCCGGGCTG
+AACTGGCTAAAAGCTGAATTATTTGCATTCCTCCAGGAGAAATAGATGGAAACGACTCAAACCAGCACGA
+TTGCGTCGAAAGACTCTCGTAGTGCCTGGCGCAAGACAGACACCATGTGGATGCTGGGCCTTTACGGCAC
+GGCAATCGGCGCGGGCGTGCTGTTCCTGCCAATCAACGCTGGTGTTGGCGGTATGATCCCGCTGATCATC
+ATGGCTATCCTTGCGTTCCCGATGACGTTTTTTGCTCACCGCGGCCTGACTCGCTTCGTACTGTCTGGTA
+AAAACCCGGGCGAAGACATCACCGAGGTTGTAGAAGAACACTTTGGTATTGGCGCAGGTAAACTGATTAC
+TCTGCTCTACTTCTTCGCTATCTACCCGATCCTGCTGGTTTATAGCGTGGCAATCACCAATACAGTTGAA
+AGCTTCATGTCTCACCAGCTGGGTATGACGCCACCGCCGCGTGCGATTCTGTCGCTGATCCTGATCGTGG
+GTATGATGACCATCGTTCGCTTCGGTGAGCAGATGATCGTTAAAGCGATGAGTATTCTGGTATTCCCGTT
+TGTTGGCGTACTGATGCTGCTGGCTCTGTACCTGATCCCGCAGTGGAACGGCGCAGCACTGGAAACGCTG
+TCTCTGGACACTGCATCTGCAACCGGAAACGGTCTGTGGATGACACTGTGGCTGGCAATTCCGGTAATGG
+TGTTCTCGTTCAACCACTCTCCGATCATCTCTTCTTTCGCCGTTGCGAAGCGTGAAGAGTACGGCGATAT
+GGCAGAACAGAAATGCTCGAAGATCCTGGCATTCGCACACATCATGATGGTGCTGACCGTGATGTTCTTC
+GTCTTCAGCTGCGTACTGAGCCTGACTCCGGCAGACCTGGCTGCGGCTAAAGAGCAGAACATCTCGATTC
+TGTCTTACCTGGCTAACCACTTTAACGCGCCGATCATCGCGTGGATGGCTCCGATTATCGCGATTATCGC
+TATCACCAAATCCTTCCTCGGCCACTACCTGGGCGCACGTGAAGGCTTCAACGGTATGGTGATTAAATCT
+CTGCGTGGTAAAGGTAAGTCTATCGAAATCAACAAGCTGAACCGTATCACTGCGCTGTTCATGCTGGTAA
+CGACCTGGATTGTTGCCACCCTGAACCCGAGCATCCTGGGTATGATTGAAACCCTGGGCGGCCCAATCAT
+CGCGATGATCCTGTTCCTGATGCCGATGTACGCAATTCAGAAAGTACCGGCAATGCGTAAATACAGCGGT
+CACATCAGCAACGTATTCGTTGTCGTGATGGGTCTGATTGCAATCTCCGCAATCTTCTACTCTCTGTTCA
+GCTAAGTCCTTTCGCGCCGCTTTCGGGCGGCGCTTCCTCCGTTTTAACGCGATGTATTTCCTATGATTAG
+CGTATTCGATATTTTCAAAATCGGCATTGGCCCTTCCAGTTCTCATACCGTTGGACCAATGAAAGCGGGT
+AAACAATTTACCGACGATCTGATTGCCCGTAACCTGCTTAAAGACGTGACCCGCGTGGTGGTTGACGTGT
+ACGGCTCGCTCTCTCTGACCGGTAAAGGCCACCACACAGATATCGCCATAATTATGGGTCTGGCGGGTAA
+CCTGCCGGATACCGTGGATATCGATTCCATCCCTGGTTTTATTCAGGATGTGAATACTCATGGTCGCCTG
+ATGCTGGCAAATGGTCAGCATGAAGTGGAGTTCCCGGTTGATCAGTGCATGAACTTCCATGCCGACAACC
+TTTCTCTGCATGAAAACGGTATGCGCATTACCGCGCTGGCGGGCGATAAAGTCGTTTACAGCCAGACTTA
+CTACTCTATTGGCGGTGGCTTTATTGTTGATGAAGAACATTTTGGTCAGCAGGATAGCGCACCGGTTGAA
+GTTCCTTATCCGTATAGTTCCGCTGCCGATCTACAAAAACATTGTCAGGAAACCGGGCTGTCACTCTCTG
+GCCTGATGATGAAAAACGAGCTGGCGCTGCACAGCAAAGAAGAGCTGGAACAGCACCTGGCGAACGTCTG
+GGAAGTCATGCGTGGCGGTATTGAGCGCGGTATTTCTACCGAAGGCGTGTTACCTGGCAAACTGCGCGTT
+CCACGCCGTGCTGCGGCACTACGCCGGATGCTGGTCAGCCAGGATAAAACCACCACTGACCCGATGGCGG
+TTGTTGACTGGATCAACATGTTTGCACTGGCAGTGAACGAAGAGAACGCTGCTGGCGGTCGCGTGGTGAC
+TTGCGCCGACTAACGGTGCGTGCGGGATTATCCCGGCCGTGCTGGCGTACTACGACAAGTTTATCCGCGA
+AGTGAACGCTAACTCACTGGCTCGTTACCTGCTGGTAGCCAGCGCCATTGGTTCTCTTTATAAGATGAAC
+GCCTCGATTTCTGGTGCCGAAGTCGGCTGCCAGGGTGAAGTCGGCGTGGCGTGCTCAATGGCGGCGGCTG
+GTCTGGCAGAACTGCTAGGCGCAAGCCCGGCGCAGGTATGCATCGCGGCGGAAATCGCCATGGAGCACAA
+CCTCGGTCTGACGTGTGACCCGGTCGCCGGGCAGGTACAGGTGCCGTGCATCGAGCGTAACGCCATTGCG
+GCAGTGAAAGCAGTAAACGCTGCACGTATGGCGCTGCGCCGTACCAGCGAGCCGCGCGTCTGCCTCGATA
+AAGTTATCGAAACTATGTACGAAACAGGTAAAGATATGAACGCCAAGTACCGCGAAACCTCTCGCGGCGG
+CCTGGCAATGAAAATCGTTGCCTGCGATTAATCGCTCTCCAGAGGCCTCTTTTTGCGAGGCCTCTTCCCG
+ATTTCTCATCCAGCCATAGCCTGTTCTGGCATCGAATGTTACCCTTATCGCCTGATCTTTAAGGGGGTTA
+TCGTGGCTGTTCATTTGCTTATTGTCGATGCACTGAATCTTATTCGTCGCATTCATGCCGTTCAGGGTTC
+ACCCTGTGTCGAAACCTGCCAGCACGCGCTCGATCAGCTCATTATGCACAGCCAGCCAACCCACGCGGTC
+GCCGTTTTTGATGATGAAAACCGCAGTAGCGGCTGGCGTCATCAGCGTTTACCAGATTACAAAGCGGGTC
+GACCGCCAATGCCGGAAGAGTTGCACAACGAGATGCCTGCATTACGCGCCGCCTTTGAGCAACGCGGCGT
+CCCGTGCTGGTCCGCCAGCGGCAACGAAGCCGATGACTTAGCCGCCACGCTGGCGGTCAAAGTGACACAG
+GCCGGGCATCAGGCAACGATTGTTTCGACAGATAAAGGCTACTGTCAGTTACTTTCACCGACATTACGTA
+TTCGTGATTACTTCCAGAAACGTTGGCTGGATGCGCCATTTATCGATAAAGAATTTGGCGTTCAACCGCA
+GCAGTTGCCCGATTACTGGGGGCTTGCGGGGATCAGCAGTTCAAAGGTACCGGGTGTTGCGGGGATCGGA
+CCAAAAAGCGCCACACAGCTACTGGTCGAGTTTCAGAGTCTGGAAGGGATATATGAGAATCTGGATGCGG
+TTGCCGAAAAGTGGCGCAAAAAATTAGAAAACCATAAAGAGATGGCGTTTCTGTGCCGCGATATTGCCCG
+CTTACAAACCGATTTGCATATCGACGGCAATTTACAGCAATTGCGGTTGGTAAGGTAACGGCGTGCCGGA
+TGCAAACGATTATCAACACATTGAATTTAATGCACTTATATGCCGGATAAGACGCGGCTAGCGTCGCATC
+CGGCATTATCACATCAGCGCATTTACCAGGCGGTATGGTAAAGCTCTACAATATCCTCAAGCGTTGCTTC
+ACGCGGGTTGCCACCGGTACAAACATCATCCAGTGCCGCCTGCGCCAGTGCCGGAATGTCTTCCTTGCGT
+ACACCAACATCACGTAAATGTGGCGGAATACCGACATCACGGTTGAGAGCAAACACCGCTTCAACAGCGG
+CATTACGCGCCTCTTCCAGGCTCATACCTTCCACTTTCACGCCCATAACGCGCGCGATATCGCGGTACTT
+CTCACCGGTAAAGTCAGCGTTATAGCGCATGACATGCGGTAACAGGATGGCGTTCGCAACACCGTGTGGC
+GTGTTGTAAAACGCGCCCAGTGGATGCGCCATACCATGCACCAACCCTAACCCAACATTCGAGAATCCCA
+TACCCGCAACATACTGCCCGAGCGCCATTTCTTCTCCGGCATCCTTATCACCAACAACCGATCCTCGCAG
+CGCCCCAGCAATGATTTCAATCGCTTTAATGTGCAGCGCATCGGTTAGCGCCCACGCGCCACGGGTAATA
+TACCCCTCAATAGCATGAGTGAGCGCATCGACACCCGTCGCGGCTTTCAGCGCTGGAGGCATACCATCCA
+TCATGTCAGCGTCAATAAACGCCACCTGCGGGATATCATGCGGATCAACGCAAACAAACTTGCGCCGTTT
+CTCTTCGTCAGTGATCACGTAGTTAATGGTCACTTCTGCCGCAGTGCCTGCTGTGGTGGGGATTGCCAGA
+ATCGGTACACTGGGTTTATTGGTCGGGGAAAGCCCTTCCAGGCTACGCACATCGGCAAACTCCGGGTTGT
+TGCTGATAATGCCAATCGCTTTACACGTATCCTGTGGAGAACCACCACCAATAGCGATCAGGTAATCCGC
+GCCGCTATTCTGGAATACATCGAGCCCTTCTTTGACGACAGTAATTGTTGGGTTAGGTACTACGCCGTCG
+TAAATCGCCCATGCCAGTCCTGCCGCATCCATCTTATCGATCACTTTCGCCACCACGCCGCATTGCACCA
+GCGTTTTATCGGTGACGATCAGCGCCTTCTGATAACCACGGCGTTTCACCTCATCGGTTAAAGACCCAAC
+AGCCCCCCGACCAAACCATGCCGTTTCGTTCAGAATCATTCTGTTAGCCATCATCCTTCTCCTTGTTGCT
+TTACGAAATTACTCTTCAATCCGTAACCCGTAGGTTTTGAATTTCTCCAGCACTACGGCAATCTCTTCAT
+CGCTCAGCACTGGCACCGGGTCCGTAATCGCCAGGGTCGTCAGGTAAAGTTGTGCCAGCACTTCAACTTC
+ATGCGCCAGCCATAACGCTTTCTCCAGATTCGCCTCACAAGCGATAAGCCCATGATGTTGTAACAAAGTT
+GCCTTACGATTTTTGAGAGCCAGCGCAACATGTTCAGAAAGTTCGCGTGTTCCAAAGGTCGCATAAGGCG
+CGCAAGGAATAGAATTACCGCCAGCCGCCGCAATCATGTAGTGAATCGCGGGGATCGGTCGGTTAAGAAT
+GGAAACTGCCGTACAATGAACGGCATGATTGTGAACAACCGCGTTGGCATCCGGTCTGCTTTGATAGGCC
+GCCATATGGAAACGCCACTCGCTTGAGGGGAGTTTTCCTTCCTCATGTTTGCCGTTGCCATCAATAAAGA
+CAATATGCGACTCCGTCAGTTTTTCATATGGAATACCTGTAGGCGTAATCAGCATCCCATCCTGATAACG
+TACACTGACGTTACCCGCTGTCCCCTGGTTCAGCCCCAGGCGAGTCATTTCCAGGCAAGTGTCAATAATC
+TGACGAGCAAGTTTATTTCGTTCCATTAGCTACCTCTCTCTGATTCAAAACAGGGCAATAATGTTGTTCC
+TTTCACACTATTGAATTAGCCGTTTAATTACCCACCATCTTCTTCCTGATTAACCAGAAAGAAATTCACA
+AGCTTATATTTTGTGACCTGGTTCAACTAATCACAGTAAATAACTGCAAGTTCTCTTTTTATAACTCCAT
+TAAAAATGACCGCTCTTAAAAATATTTATCAAAACGGTCATTTTTCTACTCCTCCCTGCCAGGAATGCCC
+GTTTTCGGCACAAACAATTAATACGGTCATCTGGTTTGTGTTTTTTATGATTTATTTTCTGAAACGGGCA
+TGAAATTTCGATTATTAAAGTGATGGTAGTCACATAAAGTCACCTTCCAGCTAATAAGTGTGACCGCCGT
+CATATTACAGACCGTTTTTTATTTGAAAATGAATCCATGAGTTCATTTCAGACAGGCAAATATTCACTGA
+TATGAAGCCCGAACTCGCTGGTTTTGCACTTTTGAAAACATAACCGATTACGTGCTTAAGCTTCTGAACC
+TAAGAGGATGCTATGGGAAACACATCAATACAAACGCAGAGTTACCGTGCGGTAGATAAAGATGCAGGGC
+AGAGCAGAAGTTACATTATTCCATTCGCACTGCTGTGCTCACTGTTTTTTCTTTGGGCGGTAGCCAATAA
+CCTTAACGACATTTTATTGCCTCAATTCCAGCAGGCTTTTACGCTGACAAATTTCCAGGCTGGCCTGATC
+CAATCGGCCTTTTACTTTGGTTATTTCATTATCCCAATCCCTGCCGGGATATTGATGAAAAAACTCAGTT
+ATAAAGCAGGGATTATTACCGGATTGTTTTTATATGCCTTCGGCGCTGCATTATTCTGGCCCGCCGCAGA
+AATAATGAACTACACCTTGTTTTTAGTTGGCCTATTTATTATTGCAGCCGGATTAGGTTGTCTGAAAACT
+GCCGCAAACCCTTTTGTTACGGTATTAGGGCCGGAAAGCAGTGGTCACTTCCGCTTAAATCTTGCGCAAA
+CATTTAACTCATTTGGCGCAATTATCGCGGTTGTCTTTGGGCAAAGTCTTATTTTGTCTAACGTGCCACA
+TCAATCGCAAGACGTTCTCGATAAAATGTCTCCAGAGCAATTGAGTGCGTATAAACACAGCCTGGTATTA
+TCGGTACAGACACCTTATATGATCATCGTGGCTATCGTGTTACTGGTCGCCCTGCTGATCATGCTGACGA
+AATTCCCGGCATTGCAGAGTGATAATCACAGTGACGCCAAACAAGGATCGTTCTCCGCATCGCTTTCTCG
+CCTGGCGCGTATTCGCCACTGGCGCTGGGCAGTATTAGCGCAATTCTGCTACGTTGGCGCACAAACGGCC
+TGCTGGAGCTATTTGATTCGCTACGCTGTAGAAGAAATTCCAGGTATGACAGCAGGCTTTGCCGCTAACT
+ATTTAACCGGAACCATGGTGTGCTTCTTTATTGGTCGTTTCACCGGTACCTGGCTCATCAGTCGCTTCGC
+ACCACACAAAGTCCTGGCAGCCTACGCATTAATTGCTATGGCACTGTGCCTGATCTCAGCCTTCGCTGGC
+GGTCATGTGGGTTTAATAGCCCTGACTTTATGCAGTGCCTTTATGTCGATTCAGTACCCAACAATCTTCT
+CGCTGGGCATTAAGAATCTCGGCCAGGACACCAAATACGGTTCGTCCTTCATCGTTATGACCATCATTGG
+CGGCGGTATTGTCACTCCGGTCATGGGTTTTGTCAGTGACGCGGCGGGCAACATCCCCACTGCTGAACTG
+ATCCCCGCACTCTGCTTCGCGGTCATCTTTATCTTTGCCCGTTTCCGTTCTCAAACAGCAACTAACTGAA
+CATATTTTCCGAATAAAGTGAGGAATCTGTAATGAAAAAAATCAGCTTACCGAAAATTGGTATCCGCCCG
+GTTATTGACGGTCGTCGCATGGGTGTTCGTGAGTCGCTTGAAGAACAAACAATGAATATGGCGAAAGCCA
+CGGCTGCACTGCTGACCGAGAAACTGCGCCATGCCTGTGGAGCTGCCGTCGAGTGTGTCATTTCCGATAC
+CTGTATCGCGGGTATGGCTGAAGCCGCTGCTTGCGAAGAAAAATTCAGCAGTCAGAATGTAGGCCTCACC
+ATTACGGTAACCCCTTGCTGGTGCTATGGCAGTGAAACCATCGATATGGATCCAACCCGCCCGAAAGCCA
+TTTGGGGCTTTAACGGCACTGAACGTCCCGGCGCTGTTTACCTGGCAGCGGCTCTGGCAGCTCACAGCCA
+GAAAGGCATCCCGGCATTCTCCATTTACGGTCATGATGTTCAGGATGCCGATGACACATCGATTCCTGCC
+GATGTTGAAGAAAAACTGCTGCGCTTTGCCCGCGCCGGTTTAGCAGTCGCCAGCATGAAAGGTAAAAGCT
+ATCTGTCGCTGGGCGGCGTTTCGATGGGTATCGCCGGTTCCATCGTTGATCACAACTTCTTTGAATCCTG
+GCTGGGAATGAAAGTCCAGGCGGTGGATATGACCGAACTGCGTCGCCGTATCGATCAGAAGATTTACGAC
+GAAGCCGAACTGGAAATGGCGCTGGCCTGGGCTGATAAAAACTTCCGCTATGGCGAAGATGAAAATAACA
+AACAGTATCAACGCAATGCCGAGCAAAGCCGCGCAGTTCTGCGCGAAAGTTTACTGATGGCGATGTGTAT
+CCGCGACATGATGCAAGGCAACAGCAAACTGGCCGATATTGGCCGCGTGGAAGAATCACTTGGCTACAAC
+GCCATCGCTGCAGGCTTCCAGGGGCAACGTCACTGGACCGATCAATATCCCAATGGCGATACCGCTGAAG
+CGATCCTCAACAGTTCATTTGACTGGAATGGCGTGCGCAAACCGTTTGTCGTGGCGACCGAAAACGACAG
+TCTTAACGGCGTGGCAATGTTAATGGGCCACCAGCTCACCGGCACCGCTCAGATATTTGCCGATGTCCGT
+ACCTACTGGTCACCAGAAGCAATTGAGCGTGTAACGGGGCATAAACTGGACGGGCTGGCAGAACACGGCA
+TCATCCATTTGATCAACTCCGGTTCTGCTGCGCTGGACGGCTCCTGTAAACAACGCGACAGCGAAGGTAA
+ACCGACGATGAAGCCGCACTGGGAAATCTCTCAGCAAGAGGCTGACGCTTGCCTCGCCGCTACCGAATGG
+TGCCCGGCGATCCACGAATACTTCCGTGGCGGCGGTTACTCTTCCCGCTTCCTTACCGAAGGCGGCGTCC
+CGTTCACCATGACTCGTGTCAACATCATCAAAGGCCTGGGACCGGTACTGCAAATCGCGGAAGGCTGGAG
+CGTGGAATTGCCGAAGGATGTGCATGACATCCTCAACAAACGCACCAACTCAACCTGGCCAACCACCTGG
+TTTGCACCGCGCCTCACCGGTAAAGGGCCGTTTACGGATGTGTACTCGGTAATGGCGAACTGGGGCGCTA
+ACCACGGAGTTCTGACCATCGGCCACGTTGGCGCAGACTTTATCACTCTTGCCTCCATGCTGCGTATCCC
+GGTATGTATGCACAACGTTGAAGAGACCAAAGTGTATCGTCCTTCTGCCTGGGCCGCGCACGGCATGGAT
+ATTGAAGGCCAGGATTACCGCGCTTGCCAGAACTACGGCCCGTTGTACAAGCGTTAATACATGACTCCCT
+GATGTGATGCCCGGTCGCTCCGGCTACCGGGCCTGAACAAGCAAGAGTGGTTAGCCGGATAAGCAATGTT
+ATCCGGCTATATTGCAGGAGCGATTATGAAACAAGAAGTTATCCTGGTACTCGACTGTGGCGCGACCAAT
+GTCAGGGCCATCGCGGTTAATCGGCAGGGAAAAATTGTTGCCCGCGCCTCAACGCCTAATGCCAGCGATA
+TCGCGATGGAAAACAACACCTGGCACCAGTGGTCTTTAGACGCCATTTTGCAACGCTTTGCTGATTGCTG
+TCGGCAAATCAATAGTGAACTGACTGATTGCCATATCCGCGGTATCGCCGTCACCACCTTTGGTGTGGAT
+GGCGCTCTGGTAGATAAGCAAGGCAATCTGCTCTATCCGATCATTAGCTGGAAATGTCCGCGAACAGCCG
+CGGTAATGGACAATATTGAACGGTTGATCTCCGCACAGCAGTTGCAGGCTATTTCTGGAGTCGGAGCCTT
+TAGTTTCAATACGTTATATAAGTTGGTGTGGTTGAAAGAAAATCATCCACAACTGCTGGAACGCGCGCAC
+GCCTGGCTCTTTATTTCGTCACTGATTAACCACCGTTTAACCGGCGAATTCACTACTGATATTACGATGG
+CCGGAACCAGCCAGATGCTGGATATCCAGCAACGCGATTTCAGTCCGCAAATTTTACAAGCCACCGGTAT
+TCCACGCCGACTCTTCCCTCGTCTGGTGGAAGCGGGTGAACAGATTGGTACGCTACAGAACAGCGCCGCA
+GCAATGCTCGGCTTACCCGTTGGTATACCGGTGATTTCCGCAGGTCACGATACCCAGTTCGCCCTTTTTG
+GCGCTGGTGCCGAACAAAATGAACCCGTGCTCTCTTCCGGTACATGGGAAATTTTAATGGTCCGCAGCGC
+CCAGGTTGATACTTCGCTGTTAAGTCAGTACGCCGGTTCTACTTGCGAACTGGATAGCCAGGCAGGGTTG
+TATAACCCAGGTATGCAATGGCTGGCATCCGGCGTGCTGGAATGGGTGAGAAAACTGTTCTGGACAGCTG
+AAACTCCCTGGCAAATATTGATTGAAGAAGCTCGCCTGATCGCGCCTGGCTCAGATGGAGTGAAAATGCA
+GTGTGATTTATTGTCGTGCCAGAACGCTGGCTGGCAAGGCGTAACGCTTAATACCACGCGGGGGCATTTC
+TATCGCGCGGCGCTGGAAGGGTTAACCACGCAATTACAGCGCAATCTACAGATGCTGGAAAAAATCGGGC
+ACTTTAAAGCCTCTGAATTATTGTTAGTCGGCGGAGGAAGTCGCAACACATTGTGGAATCAGATTAAAGC
+CAATATGCTTGATATTCCGGTAAAAGTTCTCGACGATGCCGAAACGACCGTCGCAGGAGCTGCGCTGTTT
+GGTTGGTATGGCGTAGGGGAATTTAACAGCCCGGAAGAAGCCCGTGCACAGATTCATTATCAGTACCGTT
+ATTTCTACCCGCAAACTGAACCTGAATTTATAGAGGAGGTGTGAAATGCTGAAAACAATTTCGCCGTTAA
+TTTCTCCCGAACTATTGAAAGTGCTGGCAGAGATGGGGCATGGAGATGAAATTATTTTTTCCGATGCTCA
+CTTTCCCGCCCATTCGATGGGACCGCAGGTGATCCGCGCTGATGGCCTGTTGGTGAGCGACTTGCTCCAG
+GCGATTATCCCGTTATTTGAGCTGGACAGTTATGCACCACCGCTGGTGATGATGGCGGCGGTAGAAGGTG
+ACACTCTCGATCCTGAAGTAGAACGACGTTATCGTAATGCGCTTTCACTACAAGCCCCCTGTCCTGACAT
+CATCCGCATCAATCGTTTTGCGTTTTATGAACGGGCGCAAAAAGCCTTTGCGATCGTTATCACAGGCGAA
+CGAGCGAAGTACGGGAATATTCTTTTAAAAAAAGGGGTAACACCGTAATCTCATACCGGTACGCCCGCAT
+GACGCGGGCGGTTATCGAATGATGGGGTGAAAAATATGAAAGCGGCACGCCAGCAAGCGATAGTCGACCT
+GCTGCTGAACCATACCAGCCTGACCACGGAAGCTCTCTCTGAACAGCTAAAGGTCAGTAAAGAAACCATT
+CGTCGCGATCTCAATGAATTACAGACGCAGGGTAAAATTCTGCGCAATCATGGGCGCGCTAAATATATCC
+ACCGTCAAAATCAAGACAGTGGCGATCCCCTTTCACATCCGGCTGAAAAGCCATTATGCGCATAAAGCAG
+ATATCGCGCGCGAGGCGCTCGCGTGGATTGAAGAAGGGATGGTGATAGCCTTAGACGCCAGTTCAACTTG
+CTGGTATCTGGCACGCCAGTTGCCTGACATCAACATCCAGGTCTTCACCAATAGCCATCCGATTTGCCAT
+GAACTCGGTAAACGCGAACGCATTCAACTGATCAGTTCCGGCGGCACACTTGAGCGCAAATATGGTTGTT
+ACGTCAATCCCTCGCTGATTTCCCAGCTTAAATCGCTGGAAATCGATCTGTTTATTTTTTCTTGTGAAGG
+GATCGATAGCAGCGGCGCACTGTGGGACTCCAATGCCATCAACGCTGATTACAAATCAATGTTATTAAAA
+CGTGCCGCGCAATCGTTGTTATTGATTGATAAAAGTAAATTTAATCGTTCAGGGGAAGCCCGCATCGGGC
+ATCTGGATGAGGTAACGCACATTATTTCTGATGAGCGCCAGGTTGCAACTTCTTTGGTAACAGCCTGACG
+GAAAGGGTAGCAGGCCGGAGACGACGCCCCGGCCTTGCCTGTTATCGCTCGTCGCGACGACCACCCACCG
+CAGCCCAGATACGGCGGACGTGCACCGTCACTTCTTCGCGATCGTGATACAACTGCCGCGCCTGAATCTG
+AGCATTTATGCCATGTTCATCAAGCTGTGCCTGAATATACGCCAGATTGTGTGACACTTCTTCGTAGCGT
+TTTTTCATCGGCAGTTTGAGATTGAAGATAGTTTCACGGCACCAGCCATTAACCAGCCACTGCGCCATTA
+ATGCCGCAACTTTCGCCGGTTTTTCAACCATATCGCATACCATCCAGGAGATATTGCTGCGTGTCGGACG
+GAATTTGAAACCGTCTTCCCGCAGCCACGTCACCTGCCCGGTATCCATCAGACTTTGCGCCATCGGGCCG
+TTGTCGACGGAATAAACCCACATGTTGCGCTTCACCAATTGGTAGGTCCAGCCGCCTGGGCAAGCGCCCA
+AATCCACCGCCCACATCCCGTTCGCCAGGCGTTCATCCCACTCATCCGCGGGAATAAACACATGAAATGC
+CTCTTCCAGTTTGAGCGTGGAACGACTCGGCGCATCTGCCGGAAATTTCAGGCGCGGAATGCCCATATAG
+AACGGCGAATTATTGCTGCTGTATGAGTAACCAGTATAGCAACAGCCTGGTGCAATAAAGAATACATGCA
+CAACCGGACGCTTCGGCGTTTCATAGTTCGCCAGCACCCCCGCATCACGCAAGGCAGCGCGTAGCGGCAC
+GGTGAATTTACGGCAGAATTTCAGCAACTCTTTGCTTTCGTTGGTATCGGCAACTTCAACACGCAGTTCA
+CCGCCCTTCTCTACTACGCCCTGTAACATGCCAACAATGGGGGTAATACGATCTTCTGGCGGCAAATGCT
+GCAGGAGTTCCCCCACTACAAACCACTGGCGGGCAAAAATTAATGAACTGAACGGCAGCTCACGGATTAA
+CTTATCGCCATCATCAGGTTGATAACATTCATAAATCACATAACCCGCATTCTCTTTCACGCGGGCAAAA
+CCGAAAATTTCCCGCTGGCCGGCTTTATCGGTAATTTCTGCGGCGCACTCTTTTTCAAAGCCCGGACGGC
+ACAGCAATATAACCTTATTCATGACTTACGCCCTTGCGCTTTAAACGGATAGCACCAACTAACATTAACG
+CCCAGCCCGCAAGGAAGCTCACGCCGCCAACCGGTGTGACAAACGCCCACAAACGCAGATGGGACAGCGC
+CAGGCAATAAAGGCTGCCGCTGAACAGCACCGTGCCTAACGCGAGGAAAACGCTACTCCAGTAAAACCAG
+ATACTGATGCGACGCTGCATTGCCACCGCCAGACCTAAGATCGCCAGCGTATGAAACGCCTGGTATTCGA
+GGCCGGTCTGGATCCAGCCCATCTCAACGGCCCCCATGGTTTTACTTAACACATGCGCGCCAAAAGCGCC
+CAGAGCTACAAAAATGAAGCCGCTAATGGCGGCGAAAATCAGCATAAAACGGCTGGTCATGGTCGTACCC
+TACGTAAATTATTGTTCATAACGAAAGCGGAATTTTTCTTGTTCAGCAGCGGCTTTCGCCAGGATCCATT
+GGCGAAAGGCGGCTATTTTACCCAGTTCTGCCTGGCTGTCATGACAAACCAGATAAAAAGCGTTTTTACT
+GACCAGAACATCATTAAACGGGCAAACAAGACGTCCGGCCTCGATTTCAGATTGCGCCATCACGTTATTT
+GCCAGCGCCACTCCCTGCCCGTGGATAGCCGCTTGCAGCACCATGGCGCTATGGCTAAAAATTGGCCCTT
+GCTGAACGTTGATATGATTTAACCCCAACTGTCGGGTATATGTCTGCCAGTCACGGCGTGACGCATCATG
+TAATAACGTATGTTTAGCCAGATCTTCCGGGGTCTTCAAGGGTTTTTCGCCAGTCAGCAGTAGCGGCGAG
+CACACCGGCAATAAATATTCGGCGTACAGTTTTTCCACCCGTAGCCCCGGCCAGTTGCCCCGACCATAAA
+ATATCGCCACATCAACATCATCCGCCAGCTTATCTTCCTGACGATCAACCGCCTGGATTCGAACGTCAAT
+TCCCGGATAAGCTGAATTAAAGCTGGAAAGTCGCGGAACCAACCAATGAATGGCGAAACTGGGGAGTAAA
+CTGACCGTCAACGCCCCCTTAGCGCTACGGGCCTGGAGTTTACGCGTCGCTTCGGTTAATTGCGAAAATA
+TCTCTTTGATATCGAGGAAATAGCTTTGCCCTTCCTCGGTCAGCAGGAGTGAACGATTACGGCGGCGGAA
+CAGTTTTAGCCCCAGAAAATCCTCAAGAGACTTGATTTGATGACTTACTGCGGCCTGGGTCACAAAAAGC
+TCTTCTGCTGCGCGAGTGAAACTTAAATGGCGTGCTGCGGCATCAAAAACTCGTAAGGCATTTAGCGGTG
+GTAATCGTTTAGACATGGCTTTTAAACTTTGATGTTAAATGAATTTAACAATTAGATTACACTGTGTAAC
+CTATTAGTTTTTTTAATCTGAGCCATTATAAATTGTCCGTTGAGCTTCTACCAGCAAATACCTATAGTGG
+CGGCACTTCCTGAGCCGGAACGAAAAGTTTTATCGGAATGCGTGTTCTGGTGAACTTTTGGCTTACGGTT
+GTGATGTTGTGTTGTTGTGTTTGCAATTGGTCTGCGATTCAGACCATGGTAGCAAAGCTACCTTTTTTCA
+CTTCCTGTACATTTACCCTGTCTGTCCATAGTGATTAATGTAGCACCGCCTAATTGCGGTGCTTTTTTTT
+ACCTTGCGATCGCGAATTACTGATCCAGTTCGACCATCTCTTTCACGTCGGTACGGTTGATCTGCTGTTT
+GTTGCCATTAGCGTCTTTATACGAAATCATACCGGTATCGTTATCAGTCTGTGGTTTGCCGTCAGAGACG
+ATGGTACGTCCGTCATTGGTGTGCATCACATAGTTCGAACCGGAACAGGCGCTCAGGGCAAAAGTCAGCA
+TACAGGCAGAAATAATTGCGGCAGTCTTTTTCATCATCTTCTCCTTAAAGCGATTAATAAATCTTAATAG
+TATTGATTAACAGGCTAAAATTAACGCCTAACACTATTCAGCATATGTTACTGACGCGGCTTCGCCAGGA
+TATCCAGATAATTCTGATGGTTAGCACTCTCCTTGTATCAAAGTGAATTTTGCGTCACGATCGGTGCATC
+AAGCCGAGGAGTACCATGAACGTTTTTAATCCCGCGCAGTTTCGCGCCCAGTTTCCCGCGCTACAGGATG
+CGGGCGTCTATCTCGACAGCGCCGCGACCGCGCTTAAACCTGAAGCCGTGGTTGAAGCTACCCGACAGTT
+TTATAGCCTGAGCGCCGGAAACGTCCATCGCAGCCAGTTTGCCGAAGCCCAACGCCTGACCGCGCGTTAC
+GAAGCTGCGCGGGAAAAAGTGGCACAATTACTGAATGCATCGGATGACAAAAATATCGTCTGGACGCGCG
+GCACCACTGAATCCATCAACATGGTGGCGCAATGCTATGCCCGTCCGCGTCTGCAACCGGGCGATGAAAT
+TATTGTCAGTGTGGCAGAACACCACGCCAACCTCGTCCCCTGGCTGATGGTCGCCCAACAAACGGGGGCC
+AAAGTGGTGAAATTGCCGCTTAATGCGCAGCGACTGCCGGATGTCGATTTGTTGCCAGAACTGATTACTC
+CCCGTAGTCGGATTCTGGCGTTGGGCCAGATGTCGAACGTCACTGGCGGTTGCCCGGATCTGGCGAGAGC
+GATTACTTTTGCTCATTCAGCCGGGATAGTGGTGATGGTTGATGGTGCTCAGGGGGCGGTGCATTTCCCC
+GCGGATGTTCAGCAACTGGATATTGATTTCTATGCTTTTTCAGGTCACAAACTGTATGGCCCGACAGGCA
+TCGGCGTGCTGTATGGCAAACCAGAACTGCTGGAAGCGATGTCGCCCTGGCTGGGCGGCGGCAAAATGGT
+TCACGAAGTGAGTTTTGAAGGCTTCACGACTCAATCTGCGCCGTGGAAACTGGAAGCAGGAACGCCAAAT
+GTCGCTGGCGTCATAGGATTAAGCGCGGCGCTGGAATGGCTGACAGATTACGATATCAACCAGGCCGAAA
+GCTGGAGCCGTAGCTTAGCAACGCTTGCAGAAGAAGCGCTGGCGAAACGTCCAGGCTTTCGTTCATTCCG
+CTGCCAGGATTCCAGCCTGCTGGCCTTTGATTTTGCGGGTGTTCATCACAGCGATATGGTGACACTGCTG
+GCGGAGTACGGTATTGCCCTGCGCGCCGGGCAGCATTGCGCTCAGCCGCTACTGGCAGAATTAGGCGTAA
+CCGGCACACTGCGCGCCTCATTTGCGCCATATAATACAAAGAGTGATGTGGATGCGCTGGTGAATGCCGT
+TGACCGCGCGCTGGAATTATTGGTGGATTAATGACAAACCCGCAATTCGCCGGACATCCGTTCGGCACAA
+CCGTAACCGCAGAAACGTTACGCAATACCTTCGCACCGTTGACGCAATGGGAAGATAAATATCGCCAGTT
+GATCATGCTGGGGAAACAGCTTCCGGCTTTGCCAGAGGAGTTAAAAGCGCAGGCTAAAGAGATTGCCGGA
+TGCGAAAACCGCGTCTGGCTGGGATATACCGTGGCTGAAAACGGCAAGATGCATTTCTTTGGCGACAGCG
+AAGGGCGCATTGTGCGCGGCCTGTTGGCGGTGTTGTTGACTGCCGTTGAGGGGAAAACCGCCGCCGAATT
+GCAGGCACAGTCGCCGCTGGCATTGTTTGATGAGCTGGGATTACGTGCGCAACTTAGCGCCTCACGCAGC
+CAGGGGTTGAATGCGTTAAGCGAGGCGATTATCGCTGCGGCGAAGCAGGTTTAAGCACAGAACCAGGTCG
+GATAAGACGTTCGCGTCGCATCCGACCTGATTGTTTACCCCTGACGCGCCGCTTTCGCCATCATCTTCTT
+CAGCGCATGAGAAACCGCAACAAAGCCAAAAGTGGCGGTCACCATCGTCGCCGCGCCAAATCCTGAGGCA
+CAATCCATCCGCTTTGGCCCTTCCGCCGTGGCTTTCATCGCACAGACGGTGCCGTCTGACTGCGGGTACA
+CCAGCGCTTCGGTAGAGAACACGCAATCCACGCCGAGCTTACCTTTACTGTTTTTCACTACGCCAAAATC
+GCTTTTCAGGCGCTCGCGCAACTTCGCCGCCAACGGGTCCTGAATCGTTTTCGCCAGATCGGTAACCTGA
+ATCTGCGTCGGGTCAATCTGCCCACCAGCGCCACCGGTCGTGACCAGCGGGATTTTATTGCGCCGACAAT
+AAGCAATCAGCGCCGCTTTGGGCCGTACACTATCAATAGCATCAATCACGTACGAATAACCGGCATTCAT
+ATATTGCGCTACGTTATCCGGCGTCACGAAGTCATCCACCACCGTTACACGGCACTCCGGGTTAATCTGG
+CGAATACGCTCCGCCATTACTTCCGCTTTTGCCAGCCCGACGTTATCGCGCAGAGCGTGAATTTGCCGAT
+TGGTATTGGTGACGCACACATCATCCATATCGATAAGCGTGATTGCGCCAATCCCCGTGCGCGCTAGCGC
+TTCCGCCGCCCAGGAACCGACACCACCGATACCAACCACACAAATATGCGCGTCAGCAAACAGTTGCAAT
+GCTTTTTCACCATACAGACGCGCTGTGCCACCAAAACGCTGACGCCATGCATCACTAATTACCACAGACA
+TAGCACCTCAGAATTAAAAAGGGTGAGGTTACCCCTCACCCTGTCATATCCGTAAAAACGGCATACAGAA
+TATCACATCAGCCGCTAAAGACGTTACCTGCGCCCGGGGCGGTTTTCAGCACCCAGACACGTCCATAGTG
+GTTGTACCAACCTGCGCGGTGTCCGGCTTCCGGCCCGATCCCTTGATAGATATCGAAGTGTTGGCCTTTG
+ATTGCGCCACCGACATCCAGCGCCACCATCAGACGCAATTCGTACTGACCGTTAAATTTGCCGTTATTAT
+CCAGCAGCGGCACTTCTGCCAGCAAGGTAGTACCTGGCGGAATAATTGAACGATCGGAGGCAACAGAAGC
+ACGGCCAACCAGCGGCACCGCACTTGCCCCTTTCACCGGTGCAAAAGATTGCGGTTTAAAGAAGACGAAA
+GACGGGTTCTGTTCCAGCAGCTCGCGAACCTCAGCTTCACTGTGTGTTTCGCCCCAGTGACGAATCGCCT
+GCATCGACATATCTTCTTTTTTCACTTCGCCACGGTCGATCAACACCTTACCAATGCTGCGATAGGCATG
+ACCGTTTTTCCCTGCATAGCTGAAAAAGTTAAGCGGACTGCCATCACCAAAGTCGATATACCCGCTACCC
+TGCACATCCATAATGAAGTTATCCATCAGGGAGTTACTGTAAGCGAGAATATATTTATCACTCAGAGCTC
+CTGCGTAGATCTCCGCACGAGACGGCAGACGACCACGTTTTGGCGGCATACGGTAAATCGGATACTGGAA
+CTCGCCCTGACGGGTATGGCGCGCCTGAATTACCGGCGTGTAATAGCCTGTAAACTGCACGTTACCATAG
+TTGTCGACACCTTCCATCTGCCAGGCATCAATGCCGAACTGGCGCATATTGCGGGTATCACCGCCTGCGC
+GCAGCCACTCTTGCACCGCGTTATAAACATTACTCTGGTTGCCATACAGACGCGGTGACGAATTACGGAT
+ATGGTTAATTTGCTCGGCAAAATCACCGGCATTAATCGGCGCGCCAACGGCATCTGGCTGGTTCACCAGA
+GAGAAAGGCTGGGTAAATTTCCCGTCTTTATATTGCTGTCCGCGATCGGTTGGTTTGGAAGAGCAGGCGG
+CAAGCATTGCCACAACCGTGCCCATAAGAAGGTACTTTACCCAACGTCCTTTCATTGTTCTCTTCTTCAG
+GTTAAAAAATAAGGCGCAACGAAGATAACAAACCACCGCGTTTAATGAAATGAGCAGCCTCTCCCTGACG
+CAAATTTTGCACAAAAAATAGGCTTTAGTGATTTGTTTTTGTTCAAAATCATGCCAAATCCGTGATCGGG
+GTAAAAAAAAGGTTGCATGAAAACGCGAGCAGAGTATAGTGCGCATCCACGGACGCGGGGTGGAGCAGCC
+TGGTAGCTCGTCGGGCTCATAACCCGAAGGTCGTCGGTTCAAATCCGGCCCCCGCAACCAATTAAAATTT
+GATGAAGTAAAGCAGTACGGTGACGCGGGGTGGAGCAGCCTGGTAGCTCGTCGGGCTCATAACCCGAAGG
+TCGTCGGTTCAAATCCGGCCCCCGCAACCAATCAAAATTTGATGAAATAAAGCTGTGCGGTGACGCGGGG
+TGGAGCAGCCTGGTAGCTCGTCGGGCTCATAACCCGAAGGTCGTCGGTTCAAATCCGGCCCCCGCAACCA
+ATTTATTAGAATGCTGACAAACCGCAAAGCTACTATTGGCTTGCGGTTTTTTCGTTTTTACGCTTCCTTA
+CCCGTTTCAGTGAAGCCTGAGACAATGAGTAAACCGTTAATATCCCTCCATCAAAGCCATCCATCTTATT
+TATATATTAAACATATACCCCATTAATGAATTTTATATATTCTATAAATCAATTTATTTTGGTTATGTTA
+ACATTTCAATATCACAACAGGGCGCTACGCTTATATAATCATTGTACAAAAAGCACACAACTTTTTAATT
+AGTAGAAAAATTAATAATTTTTTGTGAAAGCCCGGACAATAAGTTTAATGAATATCTTAATAGACTCTCA
+TACTACCCAATTTCTTAAAAGTGCAAATTTGTGAAGCTTATCCTGTTATTATTTTAAGTTTCATGCCAAA
+TTCTCTCACCAGATAATGCCGCCCTCTTCCGAAAAATAATCAAGAGGCCAAGCAATATCTAAAATGATAC
+AACTGTATCTATTCCCCTGAAAAATACATTATTCATTTGTATATTTTCCTCATCATTGCTTTTTATTTAA
+ATCATCCGATAATCCCCTGAATATAATTATGTCAATAACCATCAGAAAAAGTGGATGATGAGGAAAAGGA
+TATGGCCGACAGTTTCCAGAATGAAGTTCCCGCCGCTCGTGTAAATATCAAGCTTGATCTGCATACAGGC
+AATGCTAAAAAGAAAGTTGAACTCCCCCTCAAGCTTCTTGCCGTAGGCGATTACAGTAACGGAAAAGAGC
+AACGTCCGCTGTCCGAACGGGACAAGGTTGATATCAATAAAAACAACTTCAACAGCGTCATGGCTGAGTT
+TTCGCCTGCGGTTAATTTAACAGTAGAAGATACGCTAAACGGAAACGGTAATGAACAAAATTTCGCGCTT
+GAATTTAAAAGCCTGAAGGATTTTGAACCCGAACAGGTAGCAAAAAATATTCCGCAACTTCGTGTATTAC
+TCGCTATGCGCAATTTACTACGTGACCTGAAATCCAATCTGCTGGATAACGCAACGTTTCGCCGTGAACT
+GGAAAATATCCTGAAAGACCCGACGCTCAGTTCAGAACTGCGTGATGAACTGGCGAAAATTGCGCCGCAG
+GAGAACGTTTAACCCGAACGCGTATTCAGGTTAAACCGGAGAAGAAAGGATCACTGAAAAGGAAATGCTG
+ATGTCTGTACAACAAGAACATGCCACCTCTGAAACTGCAACACTCACCACCACTGAGTCCGGCGGCGTTT
+ATCAGTCCCTGTTCGATAAAATTAATTTAACCCCGGTCTCTTCCATTCAGGAAATAGATTTATGGCAAAA
+CAGCGAAACGCTGGCTGATGCCTCACCCGATGAGCGCGTGACGGCGGCGATTCACGTTCTGCTTTCCTGT
+CTGGCGAAATCAGGCGAGGACGTGGTCAAGCTCGACAAGAGCCTGCTGGATTTTCATATCGACGATCTGG
+ATCAGAAAATCAGTAAACAGCTTGATGCGGTCATGCACCACCCTGAATTCCAGAAAGTCGAGTCGCTGTG
+GCGTGGTACATGGTTCGTCGTACAGCGCACTGATTTTCGCAAAAATGTCAGAATTGAATTGCTGGATATC
+AGCAAAGAGCATCTGCGTCAGGATTTTGATGATTCACCGGAAATCATTCAGAGTGGTTTATATCGCCATA
+CATACATTCAGGAATATGATACGCCGGGTGGCGAACCTGTAGCCTCATTAATATCCAGCTATGAATTTGA
+TAACAGCCCGCAGGATATTGCCCTGCTGCGTAATATTTCCAGAGTGTCTGCCGCTTCCCATATGCCTTTT
+ATCGGTTCTGTCGGGCCGAAATTCTTCCTTAAAAATTCGATGGAAGAAGTCGCCGCGATTAAAGATATCG
+GCAACTACTTTGACCGCGCCGAATATATTAAATGGAAGTCGTTCCGCGATACCGATGACAGCCGCTACGT
+GGGATTAGTGATGCCGCGCGTGCTGGGTCGTCTGCCCTATGGGCCGGACACGGTGCCGGTACGCAGCTTT
+AACTATGTGGAAGAAGTCAAAGGCCCGGATCACGAAAAGTACCTGTGGACAAACGCCTCGTTCGCCTTTG
+CCGCCAATATGGTGAAGAGCTTTGTGAATAATGGCTGGTGTGTGCAGATCCGTGGTCCACAGGCAGGTGG
+CGCAGTGGCCGATCTGCCGATCCATCTTTACGATCTCGGCACCGGCAATCAGGTCAAAATTCCGTCCGAA
+GTGATGATCCCGGAAACCCGCGAATTTGAATTTGCCAACCTTGGCTTTATTCCGCTCTCTTATTATAAGA
+ATCGCGATTACGCCTGCTTCTTCTCGGCAAACTCCGCCCAGAAACCGGCGTTGTATGATACCGCTGACGC
+CACTGCCAACAGTCGTATTAACGCCCGTTTGCCCTATATTTTCCTGCTGTCCCGCATTGCGCATTACCTG
+AAAATTATTCAGCGCGAGAATATCGGCTCCACCAAAGACCGCCGCGTGCTGGAACTGGAGCTTAACACCT
+GGATCCGCACGCTGGTGACGGAAATGACCGATCCGGGTGATGAACTGCAGGCGTCTCACCCGCTGCGCGA
+CGGCAAGGTTATCGTGGAAGATATTGAGGACAATCCGGGCTTCTTCCGCGTCAGACTCTTTGCCGTGCCG
+CATTTCCAGATCGAAGGGATGGACGTCAACCTGTCACTGGTTTCCCAGATGCCGAAAGCGAAAGCCTGAT
+CGGGCAGTGGTGTGATATGAAAATTCATCGACCACTGTGGGCTGAGGGGACATTCCTGTCCTCTCAGCAG
+TTTCAGCAGCAGGCCCGCTGGGAAGCGTTCAGCAATGACTGTATTGCGCAGCTTTGTATTCGCCATCCGT
+GGGGGATCGCAAACGTGCTCTTTGACCGGGATGCCCTGACGCCCGGAAAGCTGAAAACGCAGGCAGTACG
+CCTGCGTTTTGCTGATGGCACGCTGATCGATTCAGACGTGAGTGACGTTCTGCCGCTCGCCTGCGATCTG
+CGCGCGCTGAAGAACGACAGCGCGATTGTTTTGCTGGCGCTGCCGCTTGCACATGGTAACGGCGGTAATC
+TCGGTCAGGGTGAGCAGACTGAAAGACCGCTGCGCTATCGTCAGGAATGGCAAAAGGTGCAGGATATCTA
+CGGCAGTGACAGTGAAGATATGGCCGTTGAGCGTCATGCGCTGTCCCTGCGCTTTGCTCATGATAACAAT
+CAGGATTACATCACCTGCCCACTGGCGCGTCTGGTGCGGGATGTTCAGGGCAACTGGACACAGGATGAGA
+GCTATATTCCGCCGTTACTGGCGTTTAACGCCCATGACGGGCTGGTACAGCGTCTGGACACATTGCTGTT
+GCAGCTACGGGCGAAGTGCCAGCGTCTGATGGCGATGCGCCGGGAAAGCAACCAGCGTATGGCGGACTTT
+GCCGTCGCCGATGTCTCCCTGTTCTGGCTGCTTAACGCGCTGAATTCCGCCGAGCCGGTGCTGAGCGATT
+TCCTGCGCTACCCGGCTGTCCACCCCGAACTGGTCTGGCGGGAGCTGGCGAGGCTTGCCGGTGCGCTGCT
+GACGTTTTCCCTTGAGCATAACGTCAGCGCCGTTCCGCCCTATGTCCACGAATCGCCGTCCACCGTCTTT
+CCGCCCCTGTTCTCCCTGCTCAGCGAGCTGCTGGAAGCCAGCCTGCCGTCGCGGGTGATCGCGCTGGATC
+TGGCGTCCCTGCCGGGCAACCGCTGGAAAGCCGACCTGCACGATCCGCGCCTGCGGGAAGAGGCCGATTT
+TTATCTGTCCGTTCGTTCCTCACTGCCTGCGCATCAGGTACTGCATCAGCTACCGCTGGTCTGCAAAATC
+GGTGCGCCCGATGATGTCACGCTGCTTATCAACGTGGCGCTGAACGGTGTTCAACTGGTGCCGCTTACCT
+CGGTTCCGGCGGCGCTGCCGCTGCGGCTGGAGAACCAGTATTTTGCGCTGGATATGCACAGTGACGCGGC
+TAAATCGATGCTGGAGTCCGGGAGCTGCATGATTTATGCGCCGGGAACCATGGGCGACCTGAAACCTGAA
+CTGTTTGCGGTGCTGCGCACATGAAAAAAGATATGGATATCAATATCGATGCGCTGCTGCGCGACACGTT
+TCTGACGGTGGTGGAACTGCGTCAGGGAACCACCGTGCGTCACGGTATCGAGCTGTATCGCCACTGTCAG
+CGGCAGGTGGAACTGGTCCGCGAACGTCTGAAAGATGCCGGATTCAGTCGGGAGAACGTGGAGCACATAA
+CTTACGCGCAGTGCGCCCTGCTGGACGAAACGGTGCTCAGCCGTAGTGGCATGGACGACGGTCAGGCCAT
+CTGGATGAAAAACCCACTCCAGTCGCATTTCTTCAACACCCTGCAGGCCGGTGAGCTGCTGTACGAGCGG
+ATGAAGCAGGTGCTACAGGAACCCGCCCCCGCGCAGGCCGTGCTGACCTGCTTTCACCGTGTCCTGCTGC
+TGGGATTTCGCGGGCGTTATCAGGATCCGGCAGCCCCGGAACGCGACCAGCTTATTTCGACGCTCAACGG
+GCAGGTCGCGCCATTTGGTGTGCTGCCGGAAACGGCGGTACTGAACGTGCCGTTATCCACCCGTCAGCAC
+CCTTTGCTGCATTCGCCATTTTTCTGGCTGGTAACACTGGCGCTGCTACTGGCGGGCGTCTGGTGGGGGC
+TACACCACTGGCTGAATGTACTGGTGGATGAACTGCTGCCGCAAAGCCTGCGTTAAAGGGAGTCGTGAGT
+GAGGAACACGCTGAAACAGGCCATCGTGCTGTGGGGAATGGTGTTACTGCTGGTGCTGTGGTCAGTGTTT
+ATCAGTCCGTCTGGCGTGCTGAGATGGGCCGGTGCGGCGGCTATCGTTCTGGCGGTTGCTGCGTTGTTGA
+TTTATCGGCGCAGGCAGGCGTGGACGGAGATGACCGGCGATGCCGGGTTGTCATCGCTGCCGCCGGAAAC
+CTACCGACAGCCGGTAGTGCTGGTCTGTGGCGGTCTGTCGGCGCACCTGTTCACTGACAGCCCGGTCCGC
+CAGGTTTCAGAAGGGCTGTATCTGCATGTTCCTGATGAAGAACAGCTTGTGGCGCAGGTGGAGCGATTGC
+TGACCCTTCGCCCGGCGTGGGCATCGCAGCTTGCCGTGGCGTATACCATCATGCCCGGCATACACCGGGA
+TGTGGCGGTTCTGGCCGGACGGCTGCGACGGTTCGCCCACAGTATGGCGACGGTGCGTCGTCGGGCAGGC
+GTAAACGTCCCCTGGCTTCTCTGGAGCGGGCTGTCCGGCTCGCCGTTGCCGGAGAGAACGAATTCACCGT
+GGTTTATCTGTACCGGCGGCGAAGTTCAGGTAGCAACATCCGCTGAGACCACCACGCCCGCGCAGTGGAT
+TGCACAATCTGGCGCACAGGAACGCAGTCAGCGACTCTGTTACCTGCTGAAAGCTGAAAGCCTGATGCAG
+TGGCTGAATCTTAATGTGCTGACGGCACTGAACGGCCCGGAGGCGAAATGCCCGCCACTGGCGATGGCCG
+TGGGGCTGGTCACCTCGTTGCCAGCGGTGGATAACAACCTGTGGCAAGTGTGGATCACCGCCAGAACCGG
+CCTGACGACGGATATCGCGGACACCGGCACAGACGCCACGCTGCCGTTTCCGGATGCTCTGTTACGGCAG
+TTGCCGCGCCAGTCGGGCTTTACCCCGCTGCGGCGGGCCTGCGTGACCATGCTGGGCATTACCACCGCGG
+CGGGTATCACCATGTTGTGCCTGTCAGCCACGGCAAATCGCCAGTTATTACGGCAGGTCGGTGACGATCT
+GCACCGGTTTTATGCCGTCCCGGTGGAGGAATTTATCACCAAAGCCCGTCACCTGTCGGTGCTGAAAGAC
+AATGCGACCATGCTCGATGGGTATTACCGGGAAGGAGAACCACTGCGCCTCGGTCTGGGGTTATACCCCG
+GCGAACGCATCCGCCAGCCGGTATTACGCGCCATTCGCGACTGGCGTCCGCCTGAACAAAAAATGGAGGT
+GACGGCTTCGCTTCAGGTTCAGACCGTGCGTCTTGACAGTATGTCGCTGTTTGACGTCGGACAGGCCCGC
+CTGAAAGACGGCTCGACAAAAGTGCTGGTGGATGCGCTGGTGAACATCCGGGCAAAACCGGGCTGGCTGA
+TCCTCGTGGCCGGATATACCGACGCCACCGGCGATGAAAAAAGCAATCAGCAGTTATCGCTGCGGCGTGC
+CGAAGCGGTGCGCAACTGGATGCTGCAGACCAGCGACATCCCGGCCACCTGTTTTGCCGTACAGGGACTG
+GGCGAGAGCCAGCCTGCGGCGACCAACGACACGCCACAGGGCCGGGCAGTCAACCGGCGTGTCGAAATCA
+GTCTTGTTCCGCGTTCTGACGCCTGTCAGGACGTGAAATAAAACATACCGCCGGAAGAAGGCGGTGCTTC
+AATCACACTAACAAGGAGAGTAATTCTCATGGCTATTCCTGCTTATCTCTGGCTGAAAGATGACGGCGGC
+GCGGATATCAAAGGTTCCGTGGACGTTCAGGGGCGCGAAGGTAGCATCGAAGTGGTGGCGCTGGATCACG
+ATGTGTACATCCCGACCGACAATAACACCGGCAAACTGACCGGTACCCGTACTCACAAGCCCTTTACGTT
+TACCAAAGAAATCGATGCCTCCAGCCCGTATCTCTACAAAGCTGTGACCACCGGACAGACCCTGAAAACG
+GCAGAATTTAAGTTTTACCGCATCAACGATGCCGGTCAGGAAGTGGAGTACTTCAACATCACGCTTGATA
+ACGTCAAGCTGGTCAGAGTCGCTCCGCTTATGCACGACATCAAGGATCCTTCCAGAGAGAAGCATAACCA
+CCTGGAACGTATTGAGTTCCGCTACGAGAAAATCACCTGGACTTACAAAGACGGCAACATCATTCATTCC
+GACTCGTGGAATGAGCGTCCTTCCGCCTGATAACTGCGGCAGACAGGAAACTGTCTGCCTTTCTGTTGTG
+TGCTTTGTCCAGTGCCGCAGGCACCGGTACTGAGCAAAGCATACCCACAATCTGGTGAAACCTGATGGGC
+CTGAGTGAGGTAACGGCTATGGGCGGTAGCGTGCCTGAACGCGGATCGCAGGAATACAGAACACGATAAG
+GAAACCCTTCTATGACAGGAAATCACCCCGCCGCGCTGCTGCGTCGCCTTAACCCATACTGTGCACGGGC
+GCTGGACGCCGCCGCCTCGCTGTGTCAGACCCGCGCCCATGCGGAAATAACCATTGAACACTGGCTGCTG
+AAACTGCTGGAGCAGGGAGAAGGCGATATCACGGTGATTGCCCGCCGCTATGAATGGGATATCGACACGC
+TCTGGCAGTCTCTGCTGGCACATCTGGACACCTTACCCCGCCCGGTCCGCGAACGTCCTCAACTTTCTGA
+ACCGCTGGCAGCGCTTATCCGACAGGCGTGGCTGATAGCGTCACTGGAAGGCGACGATCCACAAATCCGC
+AGCCAGCATCTGCTGATGGCGCTGACAGAAAAACCGATGCTGCCCGCCTGTAATGACCTGTGGGTATTGC
+TGAGTCTGAGCCGCGTGCAGCTTGAGCGGCTGCGTCCCCTGCTGGATGCGCAGTCGGATGAATGTCCGGC
+ACGTCAGCCACAGGTCACCGAACCGCTGACCTCTGCACTGCCGGAGACGGCAACGGCGGACGCACCGGCA
+AAAACGCTGACGGAGAAACAGGATGACGCCCTGCTGGCGGTGCTTAACCGCTTTACCGAAGACGTGACGG
+AAAAAGCCCGCAGCGGGCGAATCGACCCGGTATTCGGGCGCGACACGGAAATTCGCCAGATGGTCGATAT
+CCTCTCCCGTCGCCGCAAAAACAACCCGATTCTGGTGGGAGAACCGGGTGTTGGCAAAACCGCGCTGGTG
+GAAGGGCTGGCGCTGCGTATCGCCGAAGGCAACGTGCCGGACAGCCTGAAAACGGTGCATATCCGCACGC
+TGGATTTGGGGCTGTTGCAGGCCGGGGCGGGTGTTAAAGGTGAATTTGAACAGCGGCTGAAAAACGTGAT
+TGACGCGGTGCAGAAATCGCCGGAGCCGGTGCTGCTGTTTATTGATGAAGCCCATACCATTATCGGCGCG
+GGGAATCAGGCAGGCGGCGCGGATGCGGCGAACCTGCTGAAACCGGCGCTGGCAAGGGGCGAACTGCGCA
+CCATCGCCGCCACAACGTGGAGCGAATACAAACAGTATTTTGAGCGCGACGCCGCGCTGGAGCGCCGCTT
+CCAGATGGTGAAAGTGGACGAGCCGGATGATGACACCGCCTGCCTGATGCTCAGGGGGCTGAAAGCCCGC
+TATGCGCAGCACCACGGCGTACATATGCTGGACAGCGCCATTCAGACCGCCGTGCGCCTGTCGCGCCGCT
+ATCTGACCGGACGCCAGTTGCCGGACAAGGCGGTTGATTTGCTGGATACCGCCGGGGCAAGAGTCCGCAT
+GAGCCTCGACACCCTGCCGGAACCGTTGACGCAGCTTCATGCGCGACTGGCGGCTCTGGATATTGAGCGG
+GAAGCGATTGAGCAGGACTGCGTGTTTTATCCCGAAGCCAGCCCGGAGCGGCTGGCGGAACTGACCGATT
+TGCGTGATGAGCTACAGGCAGAAGCCGGGCATCTGGAAGCGCAGTATCAGCAGGAAAAGGCACTGGCGCA
+GCAGATTATGACGTTGCGTCAGGAAGGGACAGACAGCACTGAACTGCAACAGCAACTGCGAACGCATCAG
+GGCTTTGCACCGCTGCTGGCGCTGGATGTGGACGCCCGCGCCGTCGCCACGGTGGTGGCGGACTGGACCG
+GCATCCCGCTCTCTTCCCTGCTCAAAGACGAGCAGAGCGACCTGCTCAGTATGGAAAAGAGCCTTGAAAA
+CCGCGTGGTCGGGCAAAGCCCGGCGCTCTGCGCCATCGCACAGCGGCTGCGGGCGGCTAAAACCGGCCTC
+ACGCCGGAGAACGGCCCACAGGGGGTATTCCTGCTGACCGGCCCCAGCGGCACCGGTAAAACCGAAACTG
+CGCTCACACTGGCCGACACCCTGTTTGGCGGTGAAAAATCCCTTATCACCATTAATCTTTCGGAATATCA
+GGAACCGCATACCGTTTCCCAGTTGAAAGGTTCGCCTCCGGGCTATGTCGGCTACGGTCAGGGCGGCGTG
+CTGACCGAAGCGGTACGCAAACGCCCTTACAGCGTGGTGCTGCTCGACGAAGTGGAAAAGGCGCATCGCG
+ACGTGATGAACCTGTTCTATCAGGTGTTCGACCGGGGCTTTATGCGCGACGGCGAAGGGCGGGAAATCGA
+CTTCCGTAACACCGTGATTCTGATGACCGCCAATCTGGGCAGCGACCACATCATGCAGCTGCTGGAGGAA
+AAACCGGACGCCACGGACGCAGACCTGCATGAACTGCTGTACCCCCTGCTGCGAGACCATTTTCAGCCTG
+CACTGATGGCGCGCTTTCAGACGGTGATTTACCGCCCGCTGGGACAGGAGGCGATGCGCGCCATTGTGGA
+AATGAAACTGGCGCAGGTGGCCCGCCGTCTTCACCAGCACTATGGGCTGGAAACGGAAATCAGTAACAGC
+CTGTACGACGCCCTGACCGCCGCCTGCCTGCTGCCGGACACCGGTGCGCGTAATATCGACAGCCTGCTGA
+ACCAGCAAATCCTGCCGGTCTTAAGCCAGCAGTTGCTGGCGCAGCAGGCCGTGCATCATAAGCCTGCCCG
+ACTGCGGCTTGACTGGGATGATGAAGACGGGATTGTGCTGGAATTTGATGAGAAATAATGGAGGCTCTTA
+TGAACGTACAGTTCTTCGACCACGCACACCACAAGCTCAAAATTCGCGGCCTGCAAAGTCCGGTGGACGT
+GCTGACTTTTACAGGCCGCGAACAGCTCAGCGCCCCGTTCCGCTACGACATTGAGTTTACCAGTACCGAT
+AAAGCCATCGCGCCGGAGTCGGTGCTGATGCAGGACGGCGCATTCAGCCTGAGCGCCCCGCCCGTACAGG
+GAATGCCGGTGATGACGCCCCTGCGCACCCTGTACGGCGTCATTACCGGCTTTAAGCATCTCTCCTCGTC
+ACAGGACGAAGCCCGCTATGAAGTGCGTCTTGAACCCCGTATGGCGCTGCTGGCCCGCAGTCGCCAGAAC
+GCCATTTACCAGAACCAGACGGTGCCGCAAATCGTCGAAAAAATCCTGCGCGAGCGGCACCAGATGCGCG
+GTCAGGACTTCGTGTTTAACCTCAAAAGCGAATACCCGGCCCGCGAACAGGTGATGCAGTACGGTGAGGA
+CGACCTGACGTTTGTTTCACGCCTGCTGTCAGAGGTGGGTATCTGGTTCCGCTTTGCCACCGACGCCCGG
+TTGAAAATCGAAGTTATCGAATTTTACGACGACCAGAGCGGCTACGAGCGCGGGCTGACGCTGCCGCTTC
+GCCATCCTTCTGGGCTGTTTGATGGTGAAACGGAAGCCGTATGGGGGCTGAACACCGCGTACAGCGTGGT
+GGAAAAAAGTGTCTCCACGCGGGACTACAACTACCGTGAAGCCACGGCGGAAATGACCACAGGCCAGCAT
+GACGCCACCGGGGGCGATAACACCACTTACGGCGAAGCCTACCACTATGCCGACAACTTCCTGCAACAAG
+GCGATAAAGAGGCAGCGGAAAGCGGCGCGTTTTACGCCCGTATCCGCCACGAACGCTACCTGAATGAACA
+GGCCATTCTCAAAGGCCAGAGCACCAGTTCACTGCTGATGCCGGGGCTGGAGATAAAAGTTCAGGGCGAC
+GACGCGCCTGCGGTGTTCCGCAAGGGCGTACTGATTACCGGCGTGACGGCCAGCGCGGCGCGTGACCGCA
+GCTATGAACTGACGTTTACCGCTATCCCGTACTCAGAACGCTACGGCTACCGTCCGGCGCTAATCCCCCG
+CCCGGTCATGGCCGGAACGCTCCCGGCGCGGGTCACCAGCACGGTGAAGAACGATATCTATGCCCATATC
+GACAAGGACGGGCGCTACCGGGTCAACCTCGACTTTGACCGCGATACGTGGAAACCGGGTTATGAAAGCC
+TGTGGGTACGCCAGTCGCGCCCGTATGCGGGAGACACCTACGGCCTGCACCTGCCGCTGCTGGCGGGAAC
+GGAGGTCAGCATCGCCTTTGAGGAAGGCAACCCGGACAGGCCGTATATCGCCGGGGTAAAACACGACTCG
+GCGCACACCGACCATGTGACCATCCAGAACTACAAGCGCAACGTGCTGCGTACCCCGGCGAACAACAAAA
+TCCGGCTGGATGACGAACGTGGCAAAGAGCATATCAAGGTCAGTACCGAGTACGGCGGCAAGAGCCAGCT
+AAACCTCGGTCATCTGGTGGACGCCGGGAAACAGCAGCGCGGGGAAGGCTTTGAACTGCGTACTGATCTG
+TGGGGTGCGGTGCGGGCAAAGAAAGGGATTTTTATCAGCGCCGACGCGCAGGACAAGGCGCAGGGTCAGG
+TGCGCGAAATGGCTCCGGCGATGGCAATACTGGATGGCGCACAGTCACAGATGAAGTCGCTGTCCACTGA
+TGCGCAGACGGCGAATGCCGATCCGGCAGATCTGTCATCACAGATAGCGCTGTTGCAGCAAAGTGTAAAA
+GATCTGACTCAGGCTGCGATCCTGCTAAGCGCACCCAAAGGCGTGGCGATCGCCAGCGGAGAGCACCTGC
+AACTGGCGGCATCGAAAAACCTGATCGCGAACGCAGGAAATCACGCTGATATCGGTGTTGTGAAGAATAT
+GTTTATCGGTGTGGGTCAGGCGCTGAGCGTGTTTGTGCGCAAAGCGGGCATCAGGCTGTTTGCCAACAAG
+GGGGCGATCTCGGTACAGGCACAGAACGATCTGATGGAACTGTTGGCACAGAAATCGATAGTGATCACCA
+GTACGGAAGATGAGATCAAGATCACCGCGAAGAAGAAAATCACCCTAAACGGCGGTGGCAGCTACATCCG
+GCTGGATGCCTGCGGGATAGAAGCTGGAACGCCGGGAGAATATAACGTTAAGGCGGGATATTATGGGCGT
+AAGCCGAAGGCGAAGCTGACACCGGAACTGATGGCGTTTCCTGTAATATCTGCGAAATTTGATGAGCAAG
+TTAGAGTAATTGATGATGACGGAAAATTCATTGCTAATGTACCTTACTATATAGAAGACAGCATAGGGAA
+TATCTATAAGGGGTTTACTGATTCTGCCGGGTGCTGTGAAAGAATTTTCACGGAAGAAGCTGATAACCTA
+AACGTACTTCTTGGTATTAAGGCGCTGGAAAAATGGTGATATCTGAGAATACAGTAGGAACAAATGATAT
+ACCTGATTCAAATCACGATATATTAGGACCCTTAATGCCTGCAAGAGGTTTCTTTTTTATAGTTATCGAT
+GAACCGGGAAAAGATGGCTTTCTTGTCAGAAAAATATATGCTTCACCAAATAGCCCCTACCTGACAAAGA
+TGAATCTGGATCCTCTTAGATTATTATCAGAAACAGAGCCTGAACGCTATGGGTTGATGCCAAAAGATTA
+TTCAGCACCCACTACTGTAGCAGAACATGTTATGGGGAACAACAAATCCTCGTTGATTTCTACAAGCTCT
+ATATTTCCTGATGGCTCTCCGAGATTTGAGGGGAAAACCATATTTATTGATGTTCACAAAGCAAAAAATG
+CCGGGTTGAAGTTAATCTCGACCGCAGAGATTATTACTGCTCTTGAGGAGTATAAGAAACAATACCCTCA
+TTTGGCTAAGCGTGTTGAAAAAATTTCAGGCTATGTTGATGATATTGATAAAGAGGTCTTGATCGAAGGT
+AGAAAAGTACCAGCACAAACAATTTTTACACCAGAGTCTCTAAAAACGACTCAAAACATTGTTAAGGCCG
+GGCGTGTCGTACAGGTTTTTAGTATTTTTTTCACTGCATATGATTTAGAACAGGCAACTGAAAAATCGTT
+TGAAACAAAAAGCATAAAACCTATAGGTGCAGAAGCAATAAGGCAAATTGGAGGATGGGGAGGAGCCGTA
+GCTGGTGCTAAAATTGGAACAGTGATAGGCGCGTCCCTGGGTGTTACTACTGGGCCAGGAGCAGTGGCTA
+CCGGGATTATTGGCGGGATTGTTTTTGGTGCAGCTGGTTATTTTGGTGCAGATTGGGTAGCGGATTATAT
+AGATGAAAACTAATTGGATAGAGCACATGAAGAATTTGCTCGTTAAAAAACCTGAAGTTAAAGATTTTTT
+TTCAAAAGATAAATTCCCACTCAATTTAGTTGATGGGTCTTATCCAATATTTATTTCACTGAAAGATCGA
+GGGATATACGCTGCGCACTCAATATTTATTTGCTCGGATGATGAGCTTCATGCAATAAAGGAACATTTAT
+CTAATATATTTAATGTAAATAAAGATGCTATCGGAAACGAAGGGGTCATTTACGATAGTGGCATTGTACA
+CCACCCCCTCTTTAGAGATGCTATTGAGATACAAAAAACATACTCTTTAATTTACACATTCACTAAATCA
+TTCAAAGGGAATTTGATTGATTTAGTGACGAACTCTTCTTTTTTTGTTGAAACTATTAAATCTGCTGGAA
+TAAAAGAACCTGTGCCATGGGATGTTTTTCCTGAGTTGGAACCCGATACTTTCGGTAGCTTACAAGGAGA
+ACTTGAGTTCTGGTGGGAGAGTATCTGGTCTCCGTTCTGGCACAGTCTATCACCTGATGAAAGAAACGAT
+TTCTTAGTGAAAAATAATGCGACACCACAATGGCGAGAGTTCATTGAGTTTCATTGTTGATTTATTTTTA
+ATGACGAAAATATTTCTATCTATACAGGGAAATAATGATGAATATTCCTGCCCTAAACTTTGACCACTCA
+CACCACAAGCTCAAAATTCGCGGCCTGAAAAGCCCGGTGGACGTGCTGACGTTTACGGGCCGGGAACAAC
+TCAGCGCACCCTTCCGCTACGACATTGAATTTACCAGTACCGATAAAACCATCGAGCCGGAGTCGGTGCT
+GATGCAGGATGGCGCATTCAGCCTGAGCGCCCCGCCGGTACAGGGCATGCCGGTACAGACTGCCCTGCGC
+ACCCTGCACGGCATCATCACCGGCTTTAAACTTCTCTCCTCGTCACGCGACGAAGCCCGTTACGAAGTGC
+GTCTTGAACCCCGTATGGCGCTGCTTACCCGCAGCCGTCAGAACGCCATTTACCAGAATCTGACGGTACC
+GCAAATCGTCGAAAAAATCCTGCGCGAGCGGCACCAGATGCGCGGTCAGGACTTCGTGTTTAACCTCAAA
+AGCGAATACCCGTCCCGTGAACAGGTGATGCAGTACGGTGAGGACGACCTGACGTTTATTTCACGCCTGC
+TGTCGGAAGTGGGTATCTGGTTCCGCTTTGCCACCGACGCCCGGCTGAAAATTGAGGTTATCGAGTTTTA
+CGACGACCAGAGTGGCTATGAGCGCGGGCTGACGTTGCCACTGCGCCATCCTTCAGGGCTACACGACGGA
+GCCACGGAAGCGGTATGGGGGCTGAACACCGCGTACAGCGTGGTGGAAAAAAGCGTCACCACGCGGGACT
+ACAACTACCGCACCGCCACGGCGGAGATGATGACAGAGCAGCATGACGCCACCGGGGGCGATAACACCAC
+CTACGGCGAAGCCTATCACTACGCCGACAACTTCCTGCAAAAAGGCGATAAAGAGGCAGCGGAAAGCGGC
+GCGTTTTACGCCCGTATCCGCCACGAACGCTACCTGAATGAACAGGCTATTCTCAAAGGTCAGAGCACCA
+GTTCACTGCTGATGCCGGGGCTGGAGATAAAAGTTCAGGGCGACGACGCGCCAGCGGTGTTCCGCAAGGG
+CGTACTGATTACCGGCGTGACGGCCAGCGCGGCGCGTGACCGCAGCTATGAACTGACGTTTACCGCTATT
+CCGTATTCAGAGCGCTATGGCTACCGCCCGGCGCTTATCCCCCGCCCCGTAATGGCCGGCACGCTCCCGG
+CGCGGGTCACCAGCACGGTGAAGAACGATATCTATGCCCATATCGACAAGGACGGGCGCTACCGGGTCAA
+CCTTGACTTTGACCGCGATACGTGGAAACCGGGTTATGAAAGCCTGTGGGTGCGCCAGTCGCGCCCGTAT
+GCGGGAGACACCTACGGCCTGCACTTGCCGCTGCTGGCGGGAACGGAAGTGAGTATCGCCTTTGAGGAAG
+GCAACCCGGACAGGCCGTATATCGCCGGGGTAAAGCACGACTCGGCGCACACCGACCATGTGACCATCCA
+GAACGACAAGCGCAACGTGCTGCGCACCCCTGCCAACAACAAAATCCGGCTGGATGATGAGCGCGGCAAA
+GAGCATATCAAGGTCAGTACCGAGTACGGCGGCAAGAGCCAGCTAAACCTCGGTCATCTGGTGGACGCCG
+GGAAACAGCAGCGCGGGGAAGGCTTTGAACTGCGTACCGATCTGTGGGGCGCGGTGCGGGCAAAGAAAGG
+CATCTTTATCAGCGCCGACGCGCAGGACAAGGCGCAGGGTCAGGTGCGCGAAATGGCTCCGGCGATGGCA
+ATACTGGATGGCGCACAGTCACAGATGAAGTCGCTGTCCACTGATGCGCAGACGGCGAATGCCGATCCGG
+CAGATCTGTCATCACAGATAGCGCTGTTGCAGCAGAGTGTAAAAGATCTGACGCAGGCGGCGATCCTGCT
+AAGCGCCCCCAAGGGCGTGGCGATCGCCAGCGGCGAGCACCTGCAACTGGCGGCATCGAAAAACCTGATC
+GCGAACGCAGGAAATCACGCTGACATCGGTGTTGTGAAGAATATGTTTATCGGTGTGGGTCAGGCGCTGA
+GCGTGTTTGTACGCAAAGCGGGTATCAAACTGTTTGCCAATAAAGGGGCGATCTCGGTACAGGCACAGAA
+CGATCTGATGGAACTGTTGGCACAGAAATCGATAGAGATCACCAGTACGGAAGATGAGATCAAGATCACC
+GCGAAGAAGAAAATCACCCTTAACGGCGGTGGCAGCTACATCCGGCTGGATGCCTGCGGGATAGAAGCGG
+GAACGCCGGGAGAATATAACGTTAAGGCCGGATATTACGGGCGTAAACCAAAGGCGAAGCTGACGCCGGA
+GTTGATGGCGTTTCCAGTGATTGAGAGCGGGGAATTTAATGCTAAGTTCCTTTTTACTGATGATGATGGT
+CTACCTTATGCCAACACAAAATATATTGCATGTTTTTCTGATGGCACTCAAAAAGAAGGTATTACTGATG
+AGAATGGGTATACAGAAAATTTTAATACTGATTCCAAACAAACAATTGATGTCAGATTATTGAATCAAAA
+TATAGACATGATATTGGGAGGCGTGCATGAGTAATGATAGAGGTAGTTCAAGTGGTGAAAATCAGAAAAC
+TGAACAATGCATACAGGAATTTCAAGTTACGAATCAATTCAAGAAAATGATGAAGGAGTCTCTAGAGGAA
+CAAAAAAAGGTAATTGATAAAAGGGTAAAAACATTAACGCACTGGAGTGATGAAGCAGAAGATGAATTCA
+GGAGAATATTTGGCGTGCCATCTGAAAAAATAATAACCATAAAATTTAAACTGAACGGAGAAGTAACAAA
+AGAAACAAAAAGTGCGCGAGCAGTTATTCAAGAAGCCGTGGACAGAATGAAATTTATATGTGATAAATTA
+TCTGCTGATAAAGGGGAGTGCAAAGAAGTTACTTTTATAGATAAATATCTTGATAGTAATGATAATTACT
+ATGATAAAGATGTTACTAAGTGGAAGTGTGGCAATTTTGTAAATTCTACGGACAATGATGCTTATACTGC
+TAACGTCACCCCTGATCATATTATAGGTGTTTCTCCAGACAAATATGTAGATGTAGTGACAATAAGAATA
+GGCCAGCGGTTTGTATGTAAACCAATGACAGGAAAGGATTCTAAAGTTTCATCACTTTGCCATGAATTAA
+CACATTTAGTCAGATATGGCCCCAACGGTATGTATGGCGGTATGCAATCAGAGGATATGCCTGTTGATAA
+AGAGCTCCAGAATGCGAAAGAGTATGACATCTTTGCTGATAAATTAATAAAAAATAAGGATATGATACTC
+TTTGAAAATGCATATAATATTGAACGTTATTTTGAAATAGATTAATTACTCATATCCATTTGCTAATCTT
+ATCGTTTATTATATGTAATTATAAATTTATCGTTAAGCTTGACATAAGTGAGTGCATCTATGTTCTTAAC
+AAATACATCGCGTTTTTTATTTTTATTTTTATTTCTTATGCACAAGAATAAATTATATGCATATGATAAT
+TTCTCATTCAATGCGGATGTACATTATGGTTATGGTAAGCTATTATGGCATGATAAAAAACCAGTCATAT
+ACCCATTGGCATCCTTATCTGATTATACTTATTATAACGAATTCGACCCATTTGAAACGATTTATTATGT
+GGGGCAATACTATAAAATTAGCTTAAATGAGAGTAAGCGAATTCAAGAACAAAAGGACATTTACGCACAT
+CTTCAATTAAAACATAATAAATCATTAATTACAGCAAATGTAACGTTACATAATAAAAGTAATAGTTCGT
+ATTATGTTCATCGGATGAATTTACCAGCAAGCATCCATGAATCACCTTACTCTCCTTTGTGCAGTGGTTC
+TTTTTTAATCGTAACAAATAACATACGGTTAGATTATATAAGAAAAATTACATGCCGATTTGATTTGTGG
+ATGAAAAAATCTGACTGGATAGAAATATCACCCGGAGAAAAACTCTCATACACAGTAAATTTGAATGACT
+ATTATGCTTTTCTCCCTGCAAAGCATCAATATGATATAGGAACTGTAGAGTTCACATTGGTAAATAGTAA
+TTGGTTCTTAGAACAGCATATTTATGATCTTTTTTTTGCTATTGTGGATGAAAGACACTATAAGCAGTGT
+AAAAACACTTCTGGCATTGTTAGGAAGTATATCTATAAGTCGTGGCAGTTATGTGAGACTTATCGTGGGA
+GGTGGAGCCCTTTACAGGAACTCATGAATCGATTTCATTATGAAGGAGGGAGTGAAAATATATTTCAAAT
+AAGAACAAATCAAGAAAATATAAACATTAATGGAGATAAAATTAAATCTCTTTATTCATCGATGCAGTGA
+GCTTAATTTTTGTGGGTATATTTATTAAACACGTATGCACGGAATATAAAACACATTCCTCTCAAAAACA
+TTAATAACAATACTGAAAGAATTTAAGAATTCACATGGTTTTAAATTAAGCTTTAGATGATATTTCTGTA
+TAAAAAAGCAAGATGTATTTTAATTAGTGCGTACCTAAGTTGGTAGTGAATTACTTACATAGTTTAAACA
+TCCTGATATTCATTACATTTATATTTCAGAATAATGGATTATTACAATGCCTGTCAGACTTAACACTATT
+CCTGATGCTGAACCCTATCCCGCACCGCCAGCCCACATTAAATGGTTGTCAGCCTTATTACTGATGCTGT
+CTGTGGGCGTGGCCCTGACTTCATTATTCGCCAGCGATGAACTGGCAAAAAACGGCCCGCATTTCTGGGG
+GCTGGCCTGCGGTGTGCCTGCCTTTATCTGGTCACTGGTTGCTTCAGTTCGCTGGCTGTTCTTTATCACG
+CAGTACATTCGGGCTGATGCCTGGAATAAGCGCCGGGAAGAGGTGATTTTGCAGGAAACGCGACGGGGAC
+GACGGGCGTTACAGATACTTAGTTTTTCCGTACAAACCGCGCTGAATGGTGATTCCGTTGCAGAAACTAC
+AACAGCATTTCTGGCGCGTCAGCAGGTGTTGAATACTTACGCTGATTTGCGCGGAGAAGATACCGTGCGT
+CGCAGTGTCATTCCCGTATTAACCAATAAACCGGTTACCGGGCGTTTATCCGAAATTATTTCCCGCCTTT
+TTTTTGATATCAGACCGCAATTGTTTCTGCTGCCCCCTGATTTTCATATCAACGTACTACTGGAAATTGA
+TGCGCCGCTTTCAGGGGCCTCCGTGAGAACTATCTGGCAGGACGAATGGCAAAAAGCCGGACTCCCGGAA
+GCCCGTCTGTTTTCTGCCCCGGAGCCGGGGCTGGCCGCCGTGGACGACTGGCTGGACAACTTTATTCAGG
+AAAAGGCCGTACTGCTGGTGATTTCCGTGCGTCTGGAACCGAAGAACCCGGAACGGACGGCAGAATCCGC
+CACCGCGCTGTTGCTGGCAAACCGGTTGACGCAAACCGCGCTGACGCCGCTGGCCCTGCTGCATCGTCCT
+GAACGTATCACAGATACAGAGATGATGGCGTCAGGCATTGCACAGGCGCTGGACTGGATGCCGGTGCAGC
+CAGATGCCATATCCGGTATGTGGACTGCCGAACTGGACAGGGAACAGCGTGCCGCGTTGTTAAGCCTGAA
+CCAGCCGTTTGCTCAGGAAGCCCTGATGTACGAGCTGGATGCCTTTCTGGGGCGCTCCGGACCGGCTGCG
+CCGTGGCTGTCCGTCGCTGCGGCAACGCTGGCGGCAATACAATCACAACACCCCCAACTGACGCTCAGCG
+GCGTTCAGGGCGGGCATTATTCATGGGCGACCGTGGTGTCGCCATTCGTTTCCCCACAGGAGGCATCATA
+GTGGTTCCAGGATTAAACCGTCTCCGGCCCCGTTCGGTTTCAGGGCCTGCCATCGTCATGACCGTGGCTG
+TTGTGGTTGCGCTTTGCACGTTTATTCACCGTAAACCGGCATTGCTGGGCGTTGAACCGGGTAGCTCACA
+GCAAATGTACTGGATGGCTGGCGTGATTGCCGCTGGCGTGGTCTTTCTGATTATCATGGGGGTTTATCAT
+CTGCTGAACCGCCACGCTGCCGTACAGAGCTTTGAACTCCGCAGACAGCTTGCCGCCGGGGATGACTATC
+GGGCGGTGACGACAAAGAAAGCCGACAGACGTCATCCGGCAATGGTGGAACTCGCCGCCTTCCTGCGCGA
+CCGCTACGGCCCGTTCTGGCGGCGTAAAATCCGCCTGCTGCTGGTGACCGGCGAGCCTGAACAGGCAGAG
+GCCATCGCGCCGGGGCTGACCGGGCAACACTGGCTGGAGGGCGACCACACGGTGCTGATATATGGCGGCA
+GGCCATCAGCGGAGCCTGATGTCACACTGCTGGCCGCCTTAAAAAAACTGCGCCGCAGCCGTCCGCTGGA
+CGGCATCATCTGGCCACTGACAGAAGAACAGAGCCGTCAGACAGCGCAACTCGACAAAGGCTGGCGCGAG
+CTGGTCAACGGCAGTAAGCGACTCGGTTTTCAGGCCCCACTCTATTTGTGGCAGGTCTGTGACAACGGTG
+ATTATCAGACCGGACGCCCTCTGCAAAGCGTCGGCTGCCTGCTGCCGGAACGCTGTACCCCGGAACAACT
+GGCTGCAATGCTGGAAGCACAAACCCTGCCACTGACGGAACAGGGCATGTCGCAGCTGCTGGCCGATAAC
+CGCCATGATTTTCTGCTGCGTCTGGCCCATACCCTTGCAGAGCGGGGTATCGCTCACTGGCAAAGCGTTC
+TGAAACCGCTGCTGGCAGGCGGCGCATTTTCCTCCCTGCGTCTGCGTGGCCTGATGTTCAGCCCGCCGCT
+TGCCGCCGTACCGGAGGCCGCACCTCATGCGTGGCTGCCGTCGCCGGTCTGGGCAGGCATCACCGGCGAT
+AACGCGCGGGGCCGCGCGGTGGGCTTTCCGTGGCTGCGTACCGCACTGATGTCCGCTGTCTGCGTGCTGG
+TGATATGGGGAGCCGGAATGACGACCTCGTTCTTCGCCAACCGCGCGCTTGTTCAGGAAACCGGTATCCA
+GACGGCACGTGCGCTTGATACCCGCCTGCCGCTGGCAGAACAACTGGTGGCGCTGCATACCCTGCAGGGC
+GAACTGGAGCGCCTGCAATATCGTATCCGCGAAGGTGCGCCGTGGTATCAGCGTTTTGGTCTTGAACGTA
+ACCAACAACTGCTCGCCGCCGCCTTTCCCGGCTATGCACAGGCGGCAAACCGGCTGGTGCGCGACGTGGC
+CGTTGACCATCTGCAACAGCAACTTAATGCCTTTGTCGCGCTGCCGCCCAACAGTCCTCAGCGTACCGCC
+ACCGGTGAACAACGCTATAAGCAGCTTAAGGCATTGCTGATGACTTCCCGCCCGGAAAAGGCCGACGCTG
+CCTTTTTCAGTACCACGCTGATGGCGGACGGTCTGCGCTACGAGAATATCCCGGAAGGTGTGCGGCAGAG
+CGTGTTGCCGTCACTGCTGACCTTCTGGACGGCGAACCTGCCGGAACACCCGCAGTGGAAAACATCGCCG
+CCACCGGAACTGACCGGCGCAGTGCGTAAAATCCTGCTGCGCCAGATTGGTGTGCGTAATGCCGAAAACA
+CCCTCTACCAGAACGTGCTGCAACAGGTGTCCCGCAACTACGCCGATATGACGCTGGCGGACATGACCGG
+GGATACCCTCACCGAATCTCTTTTCAGTACGGAACAGACGGTGCCGGGGATGTTCACCCGTCAGGCGTGG
+GAAGGACAGGTCAGGGAAGCCATCGAGCAGGTGGTGACGGCGCGGCGCGAGGAAATCGACTGGGTACTCA
+GCGACCGCCAGCAGGATACCTCTGCGGATATCTCGCCGGATACGCTGCGTAACCGTCTCACCTCACGCTA
+CTTTACCGACTTTGCCGGAAGCTGGCTGGCGTTTCTCAACAGCATTCACTGGAAAAAGGAAGACTCGCTC
+TCCGGCATTCTCGACCAGTTGACACTGATGGCCGATGCCCGTCAGTCGCCACTGATTGCGCTGACGGACA
+CCCTCGCGTGGCAGGCGGCGGCAGGCAGGGAAAACCGTGGTCTGTCAGACTCGCTGGCGAAATCGGCACA
+GGAACTGTTTAACGGCAAGGAGAAAACGCCGCAGCAATCCCGTGAAGGTGACGTGCCTGTCGGGCCGCTG
+GATAAAACCTTCGCTCCGCTGCTGCGGTTGCTGGGCGATAAGGCCGGAGGCGGCGACAGCCAACTGAGCC
+TGCAGACCTACCTCACCCGCGTCACCCGTGTGCGTCTCAAACTGCAACAGGTGACCAACGCCCCCGACCC
+ACAGGAGATGACCCAGCAACTGGCGCAGACGGTTTTACAGGGCAAAACCGTTGACCTCACCGACACCCGC
+GACTACGGACGGTTAATCGCCGCCAGTCTGGGCGAGGAATGGAGTGGCTTCGGTCAGGCGCTGTTCGTCC
+GCCCGATGGAACAGTCGTGGCGGCAGGTGCTGACGCCTGCGGCGGACAGCCTGAACCGCCAGTGGCAGCG
+GGCGATTGTCAGCCACTGGAATCAGGACTTCGCCGGTCGCTATCCGTTCAAAGCCTCACAAAACGATGCC
+TCTCTTCCCCTGCTGGCGCAGTATCTGCGCGATGACGGGCGCATCAACCAGTTTATAGCCGCCAACCTTT
+CCGGCGTACTGAAACGTGAAGGCCGCTACTGGGTGGCTGACGCCATGAACACGCAGGGGCTGACGGTTAA
+CCCGGACTTTATCCGCGCCCTGAACCGCCTGCGCGACGTGGCCGATACCGCCTTTGCCAGCGGCGATGCC
+GGAATACATTTTGAACTGCGGGCAAAACCGGCGCGTGACGTGATGAAAACGCATCTGGTGATTGACGGAC
+AGGAGCTGGAATATTTCAACCAGAAAGAACGCTGGCAGCGTTTTAACTGGCCGGATGAACAGTGGCAACC
+CGGCGCATCGCTGAGCTGGACCAGCACTCAGGCAATGGAACGAATACTGGCGGATTACCGGGGAAGCTGG
+AGCCTTATTCGTCTGCTGGAACAGGCGCAGGTGACACCGGTGGACAGCAGCACCTTTAAAGTGGTGTGGA
+AAGCGCAGGACGGCCTGCCGCTGAATTACCTGCTGCGGGTTGAACAGGGCAAAGGGCCACTGGCGCTGCT
+GGAACTGAAAAACTTCCGCCTGCCGGGACAGGTGTTCCTGACCGGCAGGAGTATGAAGGATGCGGAAGAA
+TACGGAGAAGACGCCGATGAGTGAACTGTTGCAAAAGCTGACCCGTAGTTGTTTTGCCGACCGGGACGCA
+CTGGACTCGGCGCGAACACAGGCGGCACTGTGGCAGACGTGGCTGCTGCCGGTGACGGCAGATACGCCGG
+TCGGGGAAGACCCCGGCTACCACGACGATTTCCTGCGTATCCGCGACGAAATGAACAAACTTTCCGGCGC
+GGATACGGACCTTATCTGCCAGCTTGCCGAATCCCTGCTGCTGACGCAGGCAAAAGACGTGCGCATCGCC
+ACTTACTACATCTGGGCGCGACTGCACCGCGATGGCGAACGCGGACTGGCTGAGGGGCTGGCGCTGTTAG
+CCGGACTGGTGGAACGCTTCGGTGCGCAACTGCTGCCCTCGCGCCCGGCAAGCCGAAAAATGGCGCTGGA
+GTGGCTGGCAGGGGAAAAGATGCTCGACAGCCTTGCCCGCTACCCGGAAGTGGCAAAAGAGGATTTTGCG
+AACATTGTTGCCGCTCTTAATCAACTGACGGTTTCCTTCACTGCATGGCCCGAAGACCAGCATTCCCCCT
+CCCTGATGCCGCTGATTAACGCGCTGGAATCACGTCTGGCGCAGTCGGGTGGGATGAACGCGGTGGTGCC
+GCAGAACAGCAGCGGCGTTCCGGCACCGTCTTCCCCGGTGGATGCGCCACAGGTACAGACCATCACTTCC
+GGGCGCGACCTGCTCGACCAGGCGAAAGTGCTGGCCCGTTATCTGAACGAACAGCCGCAGGGCTGGCTTT
+CAGCACACCGGCTGATGAAAACCCTGCGCTGGGACACGGTGCATGAACTGCCGCCGGATGTGGACGGAAA
+AACCCGGCTGGCCCCGCCGCGCACAGAATCACGCAACCAGCTTAAGCGGCTGTATGCTCAGCAGAACTGG
+ACGGAACTGCTGGAGCAGGCCGACCTGATGTTCAGCTCCGGCGTCAGCCATTTCTGGCTGGATATCCAGT
+GGTATCTGCATCAGGCGCTGGCCAAGGCGGGCGCACCGTGGGACAGATGGACTGCGGTTATCCGTCAGGA
+TCTGGCGCAGCTGCTGGAACGCCTGCCAGGGCTGGAAAATCTGGCATGGAACGACGGCACGCCGTTCGCC
+GATGAGGTGACGCGCAACTGGATAGCGCAGCAGGTCATGATGCGGGAAGACGGCGCATGGCTTGCGGGGA
+AAGCCGCTGTACCGACAGACGACGCCACAAATGACGTACTGGCGCTGGAGCCGGAAGCACTGGCGATGGC
+AGACAGTCAGGGCGTGGAAGCGGCGCTGGGCTGGATACAGACCCGTCCGGGCATCACCACGGCACGACAG
+CGCCTGTTATTGCGGCTGCTGATGGCACGGGTGGCGGAACAGTACGGTAAAAACGAGATGGCGCTCCTGC
+TGCTGGAAGAACTGGATACCGCCGCACAGGGAATAACGCTGACGCAGTGGGAGCCAGAGCTGCTGTTTGA
+GGTAAAAGCCCGACAGCTGAAACTGCTGCGTCTGCGGGCGCACCGCTATGCGGATAAAGCCCTGCTGAAC
+CGAAAAATGGAAATTCTGCTGGGAACGCTGGTGGCAATCGATCCGGTACGGGCAGCGGTACTGTGTGATA
+CGCAACATAAGGACTGATGGCAATGGGAACAGGCTACTTTCTGGTCAGGGGGGACAAAACCACCTGCGGC
+GGCAAAATTATTGAAGGCGCGGACGACCATACGATCATGGGTATTCCGCAGGCACGGGATATGGACCGGG
+TCACCTGCGGCAGATATCCGGGAATGTTTATTATTGTGGGTGGCGTTCCTGAAACAGATATTCACGGCAG
+GCTGATGGCGGGGACGCTGGACAGTCAGAGCAGTTGCCCGTGTAAAGCACGGTTTATTGCGTCAATGATG
+GATGATACCTATGAGACGGATGACGGGGGGAACGAGCCGGAACAACATGCGCAGTCGGCGAAAAAGGATC
+TGACTTCTGGTTCTGATTCATCCTCTGATGATGTAAAACTGGATTACAGAATTAAATTATCAGGTAATAA
+GATACTGACGCCACTGAATATACCTGATTATAAAGAAATGATTAGCGGTGGTAGTACGAAGAATACAGAA
+AAAATAGATTTTACCATCACAAATAAAGGCGATGAGACTGAAGCGCTTTCTCTGGAAGTGCTTGATGGTA
+ATGAAGTGATTTATAGTGAACGGCAGACCGGTAAATATTGTGATAAGGGAGAGCATGCCTGGCAATGGGA
+TGGTTACAGTAATCAAGGCATACTGGATACAACTAAGATAAAAAGCAAATCACTACTTGTAAGACTGATT
+GCTTTATGTGGTGATATGATGATAAAAGTTGATTATCCATTGAAAACTTCTGCGAATGAGGAAGATTGGG
+TTGATGTAAAAGTAGACAAGAATCAAAAAATAGTTGATGTCAGTTGGCGAGTAGAATTTGAAGATGATGG
+TGTGAGTCATAAAGATGATCGTATTGCACCTGTAGGGTTTGAAAAATTAAAGCAACTTGCCAAAGATGGA
+ATGGAGTATTATTGGGCACGAAATGGAATGAGGAATCCCGGAATTGGCAATAATATTACTACTCCGCACG
+GTAAATATAATGTAAATATCTCTGTATCAATAAATATTGACCCAGCCATGGATTCTTTTGATTTAATTGA
+GGAGCAAGATCTAGAAAGCGTCAGGTCTAGTGCTTTTATGGGACGTATGAACATTTATTTCAATAGAGGG
+TATTATGAATATGGCCGTGGGTATAAGAAAGGCGCAGATCCTGTTTTTAAGGCTGGATTAGAATTTAAAC
+TTGATGTAGCCCATGAGACTGGTCATATGATATTAAAAAGTTACGGTGGGAATACGTATTCATGGGAGCA
+TAAAGGGACCTCTAATCTTGTACCACCTCAATATGCACTGCCTCATTCAGTTTATCCAGGGACTGGCGAG
+ATAGATTTAATGAAATATTATGATGGGCATATATACACCAGTGATCTATATGCAAGGTCGGTTGCTGTCG
+AAAACGATGTATGTGCAATGATATGGTTATCTCGAGTGAAATTTCATGATTAGATTAATATTCTCTTTTT
+TATTATGCACACTGTGTGCTGGATGTTTATCTCAACCATTCCATTCTTGTTCCATTGTCATGGTAAATAC
+ATGCAAAGTATCTATTAGTATTTCGACAGTTAATAATTCAACACATTATGATGGTAAAGTAAGAGAGAAT
+TTCCATCTTGATGTCGGAGAGCGAAAGCCAATTGTATACTTTATTTACACAGGTAGGGAGTCAGATGTTT
+TTAATAAAAATCCTGTGAATATTGTGTCTGAACTTAGTATTTTGATATCTGATAGTAATAATTCTAAAAC
+TTTATCTGGATATCATATCTCCTCTTTATTGAAGAAATCCTCATCTAGTATGGAGTCCGATTTTTCTTTT
+GAAATAAATGATCCATCTATATGTCCTTAGGATTCTGAAAATAAAAAATTCTAATCTCACTACTCGTTGG
+TATTAATTTCAATAAAAGGAAGATAAATCCTCCGATGGACGACCTGACCCAACGCTACTATGAAGCCGAA
+ATGCGCTACCTGCGTGAAGCGGGTAAAGAATTTGCGCAGGCTTACCCCGACCGTGCTGCGATGCTTAATC
+TTGATAAACCCGGCGCACGCGATCCCTATGTGGAGCGCCTGTTCGAGGGCTTCGCTTTTTTAATGGGCCG
+CCTGCGCGAAAAGCTGGACGACGACCTGCCCGAACTGACCGAGGGGCTGGTCAAGCCTGCTGTGGCCGCA
+CTACCTGCGAACCATCCCGTCGCTTTCCGTGGTCGAACTGACCACGGATCACCAACAAATGAAGCAAAGT
+GATACGCTGAAAGAGTTTCAGGTGCTATCCCGTCCCATCGGCGAACGCAGAACCCGCTGCGTCTACAGTG
+CCACGCGTGATATCACGCTGCATCCGCTGGCGTTGCCGGACGTGTCATTGCAATATGAACCGGACGGACG
+CTCGGTTATCCGTCTGCGCTTTGCGTGCGGCCCGCTGGTTGGTGACTGGTCGCAGATCGATTTATCCCGC
+CTGCCGCTCTATCTCAATGCCGACAGCCCGGTAGCCTGTGCGTTGCACCGGGCTTTAACGCTTGGCACGC
+AGCAGTTCTGGCTGCGTCTGCCGGGGCAGGAACGCCGTGTGCTGGACGCGCACTTTTCCCCGATGGGTTT
+TGATGACGATGACCGACTGTGGCCGAAAGGTGAGTCAGCGTTCAGCGGCTACCAGTTGTTGCTGGAATAT
+TTCACCTTCCGTGAGAAGTTTATGTTTGTGGCGCTGAACGGGCTGGAGAACGTCATCTGGCCGGAAAGGA
+TAACCGGCTTTGAGATTGACGTGGTGCTGGCGGAAAACTGGCCTCATGATTTGCCGTTTAATACCGACAA
+TCTCCGCCTGCACTGCGTGCCGGTCATCAACCTGTTCCCGCTCGAAGCCGATCCGTTACACCTTTCGCCG
+CTGGAAAACGAATTTCTGCTGCGCCCGATGCGCATTCAGGACGGGCATACCGAGATTTATTCCGTCGACA
+ACATTATTTCTTCGCGCCATACCGGCAGTCAGGCGTATGTCCCCTTCTCCAGCTTTCGTCACCGGGGCGG
+GATGCTGCGCCACGATGCGCCGGAACGCTATTACCACACGCGGGTAAAGCGCGGCCCTTCCGGCCTGCAT
+GACACCTGGCTGATTCTGGGCGGCGATGCGTTTGATACTGACCGGATGCTGGAGGATGAAACGCTCTCTT
+TAAACCTGACCGGTACTAACGGGCAGCTTCCCCGTAAGGCTTTACAGAGCACGCTGCTCGATACGCCAGT
+TCATGCCTCACAGAACGTCCTGCGGGTGCGCAACCTGTGCGCTCCGACGCAGCCCTGCTATCCCCCTGCG
+CGTGACCGCTTCCACTGGCGGGTGCTCAGTCACCTTGGTTCTAACTTTTTATCGATGATGGATAACGCCG
+AAATTCTGCGCGGCACGCTGGCACTGTACGACTGGACCGAAAGCGAGATGAACCGCCGTCGTCTGGAGGC
+GATTGTCGACGTTCAGCACAGCCTGATACAGCGTTTTGAAAGAGGCTTTCTGCTGCGTGGCGTGGATATT
+CAGGTGACGCTGGACAGTAACGGCTTTGCCGGAGAAGGTGATATCACGCTGTTTGGTGAACTGCTGCACC
+GCTTTTTCGCACTGTATGCCGATATCCACTTATTCACTCAACTGACCTTAATTCTGCAACCCACAGGAAA
+GTGCCTGCAATGGACAGAGCATCACAGCCAGCGCGTACCGGGCTGACCGACCGGCTGGCCCCGGATATTG
+CGCGAATCAATTTTTACCGTTTTTGCCAGTTGCTGGAACAGAGCCAGCAGAACGCGCCGCTGGGCAGTAC
+CGACAGCCCCGCCACCGATGCGGTGCGCTTTCGTCCTCATCCAGGTATGGGCTTTCCGGTCAGCGAGTTA
+AAAAACGTTGAACGTGACGTGGGCAATCCCGACGCGCCCCCCACGGTGCGCACCACTTTTCTCGGCCTGT
+ACGGCGTGGATTCGCCGCTGCCAACCGCCTATCTGGACTACATTACCCAGCGTCATGACGGACATGACGC
+GGTGATGGCGTTTCTCGATATTTTTAACCATCGCTTTATCACCCAGTATTACCGCATCTGGCGCAAATAT
+AACTACCCGGCGTCGTTTGAAGCAGGTGCCGTGGATGACATTTCCCGTTGTCTGCTGGGACTCATCGGGC
+TGGGTATTCCCGGCAGCGAGAACCATATCGCCACGCCGGTATCCCGTTTTCTGGCCCTGCTCAGCGTGAT
+GCGCCTGCCGACGCGCACGGCGGAAGGCGTCACGGCACTGGTAGGGCTGCTTGCCCCGCTGACCAAAGCG
+ACGGTGGTGCCTCACGATCCGCAGCCTGTAATTCTCCCGGCCCCTGCGGGTCTGTCAAAAAATTCACGCA
+TCAGCCTGAAAACGCGAACGCTGCTGGGGCGTACCGGTACCGACGTCAACAGCCAGTTGCTGCTGAAACT
+GTATACCGAAGATGCCGCAGAAGCACGTGGCTGGCTGCCCGGCGGGCAACTGCACAGCGATTTGCTGGTG
+CTGCTGCGCGTTTATCTGGGCTGGCGCTGTCAGGCCCGTCTGCAACTGACGCTGCCCGTCAGCCTGTTGC
+CTGCTGCCAGACTGGGAAAACAGCGTGTACAGATTAGCCGTACCGGCATCCTTCGCGCCTCCTTTGCCGC
+GCCCGCGACCGGAACAGTGACGGTCAGTCTGGGGCGTTATCAGGGATTAATACCCGCTTTTTCCATTCGT
+AACAGGGAGAGTATGACTCATGTTTCCTATTCGTTTTAAACGTCCGGCGCTGCTCTGTATGGCGATGCTG
+ACGGTTGTTCTGAGCGGCTGCGGGCTGATTCAGAAAGTGGTGGATGAATCGAAAAGCGTGGCCTCAGCCG
+TTTTCTACAAACAAATCAAAATACTGCATCTCGATTTCTTCTCCCGCAGCGCCCTGAATACGGATGCGGA
+AGATACGCCGCTTTCCACGATGGTGCATGTCTGGCAACTGAAAACCCGCGAAGATTTTGACAAGGCGGAT
+TACGACACCCTGTTTATGCAGGAAGAGAAGACGCTGGAGAAGGACGTACTGGCAAAACACACCGTCTGGG
+TAAAACCGGAAGGCACGGCATCCCTGAATGTGCCGCTGGATAAAGAGACGCAGTTTGTCGCCATTATTGG
+GCAGTTTTATCACCCTGATGAAAAAAGCGACAGCTGGCGTCTGGTGATCAAAAGGGACGAACTGGAGGCC
+GACAAGCCGCGCTCGATTGAACTGATGAGAAGCGACCTGCGACTGCTGCCTCTCAAGGATAAATAACCGA
+TGGCGACACCTTCCTTATATGAAATGCTGACGTTCAGTTTCAGCGGCGAGTTACCGCTGGAACAGGTCAG
+TGAGCGGGATCAGCTTATCCTTTCCGTGATGGACAATATGCAACGCATTATCAACTGTCGGGCAGGCACA
+CTGGCGCATTTGCCGGATTACGGTCTGCCGGATCTCAGCCTGATCCATCAGGGTATGGCTGCGGGTATTC
+ATAGCCTGATGCGCCAGATTGAAGAAACGCTGCTGCGTTATGAACCACGCCTGAATCAGATACAGGTGGA
+GTTACTGCCCCAGCCCCGTCCGGGGCATCTTAATTACCTGATCCACGCGCAGCTTCCCGATACCGGCTGG
+ATACGCTTTGATGGCGTATTTTCTCCGGAAGGACGAATTGTTCTGCGTCATCTCAAACAGCAGGAGCGGG
+CGTACTGATGGCAAGTAACGCGAATTTTATCAGCCAGTTCGTCATGGGCGGCGATCCCTGTACGTATAAG
+GAATCCGGTGAACTGCAGGCTGAAATGAGTAAACTGACTCACCCGGCCCGGCCAGACGTGGACTGGCGCC
+AGGTGGAAAAACTCAGCCTCGCGCTGTTCCGGCAAAATGGCGTGGAACTACAGACGCTGGTCTGTTACGT
+ACTGGCGATAACCAGACGGCAGGGGCTGGCAGGGATGGCAGACGGACTCGGTTCACTGGATATACTGCTC
+CAGCGCTGGGCTGACTTCTGGCCGGTACAGGTACATTCCAGAATATCACTGCTCGGCTGGGTCACAGAAA
+AAATGCAGCAGGCACTGAGAACGCTGGATATTCAGTATCAGGATCTGCCGCAGATCTACCGTTGTGTACA
+GCATCTTTCCGCCATCGAAACCACGCTGCAACAGTGTGAACTGTGGCATATGACGAAACTGGATCTACTG
+GCCGGGCAGTTTCGCAATACCGCATTGCGTCTGGAACGGCTGGCGCCTCAGGGAGCGGAAACCACTATCA
+CTCCCCCTGAATTACCCCGCCGGGAAATGAATCAACCGAAAAAGTCAGAGGAAAGTCCACAGCCGGTTTT
+TGCAACCAGATCCGTTCAGCAAAACGATAAGGATGCCAGTCCACCCGTTCCATCCCCTGAAATCTCCCGG
+CAGCGGACATGGCCGATATTTATGGCCGGAATGGTTGTGATGGCCGGTCTCGGCGGAACAGGATTATGGG
+GCTGGTCGCAGCTTAATCAGCCGGACGCGCTAATCCAGCGAATACAACTGTCTGTCATGCCGTTGCCGCT
+GTCGCTGGAGAGCGGCGAACTGGCAAAGCTGGATGTAAAGGATAAGGCGCTGCTGGCTCAGGACAGAACA
+ATTGCGGCAAGTCAGATGCAACTGGAGCAGTTAAACAAATTGCCTGCCCGCTGGCCACTGGAGCAGGGAT
+ATCGCCAGCTACGCCAGCTTGATGCCCTGTGGCCGGATAATCCTCAGGTCAGGGCGCTGAACGCGCAGTG
+GCGCAAACAGCGGGAGCTGAGCGCCCTGTCTGCTGAGGCACTGAATGGCTATGCTCAGGCGCAGAGCCAG
+CTACAGCGCCTGTCGGCGCAGCTGGATGCACTGGATGAACGTAAGGGGAGATATCTGACCGGTTCGGAAC
+TAAAAACGGCGGTGTACGGCATCCGGCAGTCGTTAAAGGAGCCGCCGCTGGAAGAACTGCTTCGGCAACT
+GGAAGAGCAAAAACAGACCGGAGAGGTTTCGCCAACGCTGTTGACGCAAATTGATACCCGGTTAAATCAG
+TTGTTGAATCGCTATGTCATTTTACTGGATACGAAGGTGGAACAAAGTCAGTAAACATCGGGGGATTTAT
+GTACCAATAAGGGATATGTGACCTTGCCATTTTTTAAAGGAGTCTCTGTGTACAAAAAAAGAGAGGAACA
+GGCCATTCGATCTACTCGTTGATTCACATCAGATAATGAGTGTATATTTCGGTAGATAGCTTGGGTTCGG
+GAACAGTGAATACCTTAAGTTTCAAAAGATTGGATTAACCTCTTGACTGTGGCCCCCGCAACCAATTTAT
+TAGAATGCTGACAAACCGCAATGTGTTCTACAAATTGCGGTTTTTTTGTATTTAAAATCTTTGTTCGCTG
+AACTCACAACACGTTTTTTATCTCCCTTCCTGCGAAGTAATCAATTATCGACTGGGCAACGTGTATCCCG
+GTTTGCTGGTATGACTCAACGGTGGCGGCCGCGATATGCGGCGTTGTAATGATATTTTTGGCATGTAGCA
+GTGGGCTAAATTGCGCCAACGGTTCAGAGCTAAACACATCCAGCGCCGCAAACACATTTCGTTCTTCAAT
+CACCTGAAGTAAAGCGCCCTCATCCAGCAACTTTCCCCTTGCGACATTGATGATCAGAGCACCATTGCGC
+ATCATCGACAAATATTTATGACTAATGAAGTTCTCCAGCCCAGAAGAAAAAGGCAAAAGAACAATGATGA
+CATGCGACTGCATAAAGATATCTTCAATTGATACAAACTGAACTCCAGCTTTGTCAGCAACCTGATAGTC
+GGGTTGTTTGTCAAAAGCTAAAAGCTCAACATCAAAACCGGATAACCTTTTCGCCAGAGTTTTACCTATA
+TTACCGTAGCCAACCAGGCCAATCCGTTTCCCTTGTAATTCACAGCCATGCGACTCACCCCAGTAGCCAT
+TTTGCATCGCATGATAGCTGCCAGGGATATTTCTCATGCTCGCGAAGATAAGTCCAATGATAAATTCCGC
+AACCGCATTTGAATTAATCCCAACCGCATTATTGACAACAATACCGGATTGCTGTGCCGCACGAAGATCA
+ATATTGTCTATCCCCGTCCCGAATCTCGATATTATTCTCACACCAGGCAGCAATGATAGCGTGTCCGCCT
+GATAACCATCTTTTCCGGCGATGACCGCGCAAATAGATTCTCGTAATGCAGTGGATTCTGATTTAAGCAG
+ATGCTCCATATTATTCTTAATAATAAGATTAAAATTATTCTCTCTTAGCAACTTGCTGGCGGAAACACAG
+CGTGCTGAAAAGCTGGGGACGGTGACCAGAACATTTTTCATAGCGGACACTCACTTCAAAGAACGCCACC
+CCAAAAGATGGCGTGACCGGTTACTGTATTTATATTTTGAAATTATGAATTTGCTTTAATGCCGAGTGCA
+CCTCCTGGATGATATAAGCCGAAATCAGCACGAGTAAATTTTTTCAATTCAGAGAGTGCAAGCGCCACCG
+CATCACCAACAACCAGAACAACAGTCGACGAGCATGACGGTGCTAAACCTAAATTATCCGCCTCACTTTT
+GACGGGGATTTCAACAGATAAATCACAACTTATCGCAAGCGATGAGTGATGACTGCAGGTAAAAGAGATC
+AAATAATTACCCATTTTTTTCAAACTAGGCAGTGTCGCCAGGATTTCCGCCGTCTCACCACTGTTTGAAA
+TAAGAATAACAACATCGTCTTTCGCCACCATTCCAAGGTCGCCGTGTACCGCTTCCGTACCGTGAACAAA
+AAACGAGGGAGTTCCGGTACTGGCAAAAGTTGCTGCGAGTTTTCTGGCAATAATACCGGACTTACCAACA
+CCAATAAAAACAACTTTTCCCTGACAAGATTGTAATACTTTAATTAAATTAGCGAATTCAGAAAGTGGGG
+AATCAATAACCTCTTCTACTGCTTTAAGTTCGTTATGCATAAAATGTTTAATGAGATAGATAAGATCCGT
+GTTATTCATTTTTATTCTCCCTGATTAATATTTTTAATTACACTCACAAGACGCGTAAGCCCCATATATA
+ATTTTTCTCGACCGCAGGCCAGGTTCAGACGAAGGTAGCCCTCCCCCTCCGTTCCATAGACATGCCCCGC
+CATAATGCCCACTTTGCCTTCATGAATTAATCGACTGTAGAATTCATCAAAAGGATAACCAATAGCAGAA
+CAATCTATCCAGGAAAAATAGCAACCATCAGCTGGCCTTACGATCAATTCTGGAATATTTTCATTCAGAT
+ACTGCTGGGTGAATTGAATGTTAGAGGCAATATGTGCCTTTAATGACTTTAACCATCCCTCACATTCGTT
+ATAGGCAATAATAGTTGCAATTATATTCAGTACTGATGGGGAGTTTACAAAATCGCGATACCTCGATATC
+GTTCTGAACTTATGATTAAAATTATCGTCAGTTGAAATCATATACGATCCTGTTAGAGCAGGAACATTAA
+ATGTTTTCGATATCGAGTTAAATACTACTACTTTTTCTTTTTTTATTTTAAGCGCGGATGTAAAGCTACG
+ATTAAAAACAAAATCACTATGGATTTCATCTGAACATAACCAGACATTATGCCTTGTACAGCTTGCAGCG
+ATTTTATGCAGTTCTTCTTCCGACCAGACTGTTCCTGTCGGGTTATGAGGATTACATAATAACATCATCT
+TTGCGCTTTTAATCTTAAGATCAAAATCTTGCCAGTTGATAGCGTAGCCCCCCTCATTTTTTATAATCAA
+AGAGGCTGTCAGAATATTTCGCTCGCTATGTTTAATTACATCAAAAAATGAATTATAGACAGGTGTAAAA
+ACGAGAATATTATCACCATGCGATGTCAATAACTCTATTGCTTTTGCAATAGAGTACATCACACTGGGGC
+TATAGGTTATCCATTCAGGTTTAATATCTGTTTGATATTGTTGATAATACCAGTTTACTATCGCATTCAG
+ATATTCACCATGTTGCCAACGACTGTACCCTAAAATCGGGTGTTCCAGGCGTTTTTTTAATGCTCTGGTG
+ATAGCGTCTGGTATCGGAAGATCCATATCTGAAATAGAGAATGGTAGTACATCTTTTACACCAAATCTGT
+CCTCGCAAAAGTCCCATTGGGTACAATATGTTCCTTTGCGGGAAACAGGAGTATTAAAAACATCCATCAG
+TATATCCCCATATAGTTATCCATATCCCGACGCAGGGCGATGACTTTAGTGCCGATAATGACTTGTAGGG
+TATTTTGATCAAGTTTAACAACCGCAATCCCGCCAGCTCTTTTTATTGCAGCCTCGTCAATCAATCCCAT
+ATCTGCGATTGTTAAACGTAAACGAGTTACGCAATTATCCAGTGACTTAATATTCTCTTTACCACCAAGT
+GCCTTAACCATCTGCTCCGCCGCTTGCAGCTCTGATTTATCAGGAGTTGGGATATCCGCTATAGCCGTAT
+CTTCGTGAGCGTTCAGCGTGACAGGACTGGACTCTTCACGGCCTACGGTCATCAGGTTAAATTTAAGAAT
+GGTCCAACGGAACACAAAGTAATAAATGAAGAAATAGGCCACTTCGACACATACCGCGATCGGCCAACCT
+GTTCTTGTGCCACGCAATACGCCAAAGCTAATAAATTGAATCAGATCACCAGTAAATCCCATCTTCACGC
+CCATATATGGCAGAACCATGTTAGCGAATCCATTCATAAAGGCATGGAAGACAAACAGCAGTGGACTGAC
+AAATAAGAACAGAAACTCAATCGGTTCGCTGACGCCGCCAATAATCACCGTAAGCACCCCGGAAATAAGC
+AATGCTTTGATAGCCTTTCTGTTTTGAGCATGAGCAGTGCGATACATCGCCAGCGCGGCACCAGCCAGAC
+CATACTGAATCATCAGTTTGCCCTGCTCCATTTTCCCCGCCAAATCCAGCGGAATGACCGCATTCTCTTT
+GACGTATGCCATAAACATGTTCAGGGTGCCGTAATATTCTTCACCGCCAATCACAGCCGAACCGCCGATT
+GGCGTAAAGCGGAACACTGACGTCACCAGATGGTTTAAGCCAAAAGGAATCGTCACACGTTCGGCAACTG
+CATAGAAGAAATAACCAACAGGACCGGAAGTTGATATCCAGTGGCCAATGAGCATGAAGAGATTGAAAAA
+TGGCGGCCAGATAAAAGGAATGATCAGACCAAATCCACTCATCACAATCAGTGTAATGATAGGCACCAGA
+CGTGGGCCGCTATAAAAACCTAATGATTCTGGAATGCGTAAATTAACGATCTTTTTATACATGCTGGCGA
+CTAATAACCCAGCAACAATTCCCCCCAACACGCTGGTATTGTAGGACTGGATCCCCAGAATGATGGTTTG
+CCCATGTGTCGACATTTGGTCAGCAACGACCAATAAGTCGTGCTGTTTAAGATAAAAGTTCGTTCCCAGA
+TGCATCGCCATAAAACCAATTAAGCCAGAAAAAGCACCATAGGCTTTATCCTCTTTATCTTTTAATAATC
+CTAAGGGAATCGCTATCGCAAACAATACAGGTAAATTAACAAAGGCAAACAAACCAAGACTAACAATGAA
+ATCAAGTATGGTTTTAATTATTGGAATAGCCAGAAATGGAATTAACTTTGCCATATCATCACTGGCTAAA
+CCACTTCCCAGCCCTAGCATCATGCCACATACACTTAGCAGAGCAATGGGATACATAAATGCCTTCCCCA
+GGCTCTGAAAAAAACTCCAGGCTTTCTTTTGTTTCATGTGGGTTATCTCATATAAATGTTATATATAATT
+AGTCCATTAATACTTTGGTACGAATAGAGAGATATAGTTTTTCTTCTAAAATTAATTCATATTTAAAAGT
+GGCATACAGATACCGTTCAATTTCATGAATTGCGCGCTGTAACAGGATGTCCTTTTCAAGAAACTGTTCA
+TAGATATCACCAATATCTTTCTGTTTTATTTTTTCATTGCATAACACGCGACTTGAAAAATATTTAAGGT
+GCATCATAAATCTGGAATAGTTAAATGAACTTCTGTCCACCTTTCTGTTATAAACAACTTCAATAAGCCC
+CGTGATTATTTGCGACAACTCAATAATCCGTACTGATTCATAATCAACTGAATTTTCATAATTATTTAAA
+ATATGCAATGCTATAAAACCAATCTCATCATCAGGAAGTTGAACGCTGAATTGCTCATTAATGATAGTTA
+ATGCATCGCGACTTATCGCATACTCTGCTTTGTACAACGCTTTGATTTCATCAAGGAAAACATTATTAAT
+TTGTATACCTGAAACGACTCGGGATATTGCATTCGAAATGTGATCCGCAAGAATCAATAGTAGCGATGGA
+TTGAGATTTTTTTCGAGATTTTTCTCCGCATATTGCACTATTTTTTCGGCAACAAACACATACTCAATAT
+CTACATGTTCAATCAATTTATAAAGTTTGTTTTTTTGTTCATTTCTGACATAAAAAATCCGGTTAGCCGG
+ATGCTCAGGGACCGACATTCCATATTTTTTGTTGTAACCGACGCCAGGCCCAGAAATGATAACCTCCTGT
+CCATTCATCGATGCCTGTACACAATTATTGTTCATGACTTTTTCGATGATCATTCCATGGCTCCAAAAAA
+AAAGGCAAGGCACGTCAGAAGTAATAACTACTTCAAACATTGCCTTGCCTGATTTAACAGTTACAAGATG
+ATTAACTAATGCGTATACATTACACGGAATTGTGCTTAATTAAAGAGATGGTCGGCTTATTTTTCAAGCC
+GACATTCAAATATCCGACATCAGTCACAAAACCAGCGTCTAATATTCAGGTAAATGTTATTTATTCAACG
+AAATATAAATTCATTGAATAAATAAAAACATTATCCCCTTCTCGCCAGCGTCGCCCCATCGGCAAAATAC
+GCTTTAATTCCCGCAAGAATAGACTCCGCAACTTCCTGCTGGAAAGTCGCCGTTTTCAGTTTACGCTCTT
+CCTCAACGTTACTGATAAACGCCGTTTCGACCAGAATGGAGGGAATATCTGGTGCCTTTAGTACGGCAAA
+CCCGGCCTGTTCAACTTGATTTTTATGCAGCTTGTTGATTTTACCGAGCTTATTCAGCACCGCTTTACCA
+AACTTAAGGCTGTCGGCAATGGTCAGCGACTGCACCATATCGAACATGGTGTGGTCGACATAGCGGTCAC
+CGCTTTTGCTTACGCCACCAATCAAGTCCGAGGCGTTCTGGGTTTGTGCCAGATATTTTGCCGCAGTACT
+GGTTGCGCCTTTGGTTGAGAGCGCAAACACCGATGAACCGCTCGGCTGGCGACTGGTAAAGGCGTCGGCA
+TGGATAGAAACAAACAAGTCAGCGCGCTGTTTCTGGGCTTTTGCTACGCGCACTTGCAACGGAATGAAGA
+TGTCTTCATTGCGCGTCATGTACACCTTCATATTGCCCTCTTTCTCGATCAGAGAGCGCAGACGGCGAGC
+TATTTGCAATACCACGTCTTTTTCGCGCGTTTTGTATTTCCCCACCGCACCGGAGTCTTCGCCACCGTGG
+CCAGGGTCAAGCATAATGACAATCGGACGATCCCGCCCAGCTTTACCCGGTTGTGGACCACTTTGTGCTG
+GCGGCACCTGCTTTTCGAGGTCGCCTTTGTTGTAATCCTCCAGCAGCGCCAGCAGCGGGTCCTGCATATC
+CTGTGCATTGGCCGGATAGAGGTCCATCACCAGACGCTCTTTAAACCCGGCGACCGGCGCAAGGGCAAAC
+AGCTGCGGTTTTACGTTTTGCTTTAATTCAAAAACCATACGTACGGTTTGCGGGTCAAATTGCCCGACGC
+GCGCCGACTTGATGAACGGGTCGTCAGCGCGGATTTGCGCAGCCATCCCCTTGAGCACCGAGTTCAGGTT
+TACATCTTCGATATCCACCACCACGCGTTCAGGATTACTCAACGCGAACTGCTTATATTTCAGCTGACGA
+TTTGATTCTACCGTCACGCGGGTGTAGCTGGACGCAGGCCAGACGCGCACCGCCACGACCTGGCTGACCG
+CAGCCAGGCTGACCTGACTTACGCTCAATAGCCACATGGCACCCGCGCCTTGCAGTAAACGACGACGGCT
+GATTGCAGTGTTGGATCCTGACATGCCTCTCCCGAGCAAAAGAAATCTAAGCTGTGTAACAAGTAAACGA
+CCAATTTGACCGGAAACTTTAGCGAAAGACGCATAATCTGTCATCTATAAAACGGTAAACATTCTTTTTA
+TATTCACGGTATTACTGATAAAAAACTCGCTCCCGCATAAAATTTACACTTGCACCCTGCGAAAAAACAG
+AATAAAAATACAATAATTTCGAATAATCATGCAAAGAGGTATACCGTGGTAAAGGAACGTAAAACCGAGC
+TGGTCGAGGGATTCCGCCATTCGGTTCCCTATATCAATACCCACCGGGGAAAAACGTTTGTCATCATGCT
+CGGCGGTGAAGCCATTGAGCATGAGAATTTCTCCAGTATCGTTAATGATATCGGGTTGTTGCACAGCCTC
+GGCATCCGTCTGGTGGTGGTCTATGGCGCACGTCCGCAGATCGACGCAAATCTGGCTGCACATCACCACG
+AACCGCTGTATCACAAGAATATACGTGTGACCGACGCCAAAACACTGGAACTGGTGAAGCAGGCAGCGGG
+AACATTGCAACTGGATATTACTGCTCGCCTGTCGATGAGTCTCAATAACACACCGCTGCAGGGCGCGCAT
+ATCAACGTCGTCAGTGGTAATTTTATTATTGCCCAGCCGCTGGGCGTCGATGACGGCGTGGATTACTGTC
+ATAGCGGGCGTATCCGGCGGATTGATGAAGACGCGATCCATCGTCAACTGGACAGCGGTGCAATAGTGCT
+AATGGGGCCGGTCGCTGTTTCGGTCACTGGCGAGAGCTTTAATCTGACCTCGGAAGAGATTGCCACTCAA
+CTGGCCATCAAACTGAAAGCTGAAAAAATGATTGGTTTTTGCTCTTCCCAGGGCGTCACTAATGACGACG
+GTGATATTGTCTCCGAACTTTTCCCTAACGAAGCGCAAGCACGGGTAGAAGCCCAGGAAAAGAAAGGCGA
+TTACAACTCCGGTACGGTGCGCTTTTTGCGTGGCGCAGTGAAAGCCTGCCGCAGCGGCGTGCGTCGCTGT
+CATTTAATCAGTTATCAGGAAGATGGCGCGCTGTTGCAAGAGTTGTTCTCACGCGACGGTATCGGTACGC
+AGATTGTGATGGAAAGCGCCGAGCAGATTCGTCGCGCAACAATCAACGATATTGGCGGTATTCTGGAGTT
+GATTCGCCCGCTGGAGCAACAAGGTATTCTGGTACGCCGTTCTCGCGAGCAGCTGGAGATGGAAATCGAC
+AAATTCACCATTATTCAGCGCGATAACACGACTATTGCCTGCGCCGCGCTCTATCCGTTCCCGGAAGAGA
+AGATTGGGGAAATGGCCTGTGTGGCAGTTCACCCGGATTACCGCAGTTCATCACGGGGCGAGGTTCTGCT
+GGAACGCATTGCCGCTCAGGCGAAGCAGAGCGGCTTAAGCAAATTGTTTGTGCTGACCACGCGCAGTATT
+CACTGGTTCCAGGAACGTGGATTTACCCCAGTGGATATTGATTTACTGCCCGAGAGCAAAAAGCAGTTGT
+ACAACTACCAGCGTAAATCCAAAGTGTTGATGGCGGATTTGGGGTAAGCGATGGAAATCGCCGGATGCGA
+CATGCATAACATTCATAGGCATGATAAGACCCACATGCGTCGCATCAGGCAATTACGTTTATCCCCGTGA
+ACTAAACAACGCCGCCAGACCACTGCGCCGCTCGGTGCGCGTGGCAATTGCCGCACTTAAAATGCGCTCA
+TCGGCATACAGCGACAGACGGCGACGCGCGCGGGTCACCGCGGTGTAAACCAGCTCTCGCGTTACTACCG
+GCGTGCGTTGACTCGGTAAAATCAACGCCGCATGGTCGAACTCCGATCCCTGCGATTTATGTACCGTCAT
+CGCCCACGTCGTTTCGTGCTCTGGCAAGCGACTCGGTTGCACAGACTTAATATTGCCGTCCGGCATCGCA
+AACCAGACGCGCGTCCCCTGCCCGCGATCCAGCGCAATACCAATATCGCCATTAAACAACCCAAGCGCGC
+TGTCATTACGGGCAATCATCACCGGTCGACCTTCGTACCAACGAGAGTGCGGATGACGATGAATTTTGCG
+CTTCTGTTGCATAAACTGCTCAATTCGCTCATTCAGTCCAGCCACGCCAAACGGCCCTTCCCGCAGGGCG
+CACAAAAGCTGGTACTCATTGAACGCCTGAATGATTAAATCCGGCTCGGCACGCGCTTGCAGCAGATCCA
+GATAACGTCCGTAACCCGCAAGAGCTTCCTCAAGCATCGCAATATAATCTTCGCCGCTCTGTAAAAGTCG
+TTTTTCGATATCAGTAAAATCCTGCTGAAAAACGGTTTTCACTGCCGTTTTATCACCACGGTTAATCGCC
+GCAGCTAACTGACCAATGCCAGAATCGCTGCCGAAACGATAGCTTTTTTGCAGCAGGCAGAGGCTGTCGC
+GCAAAGATGCCGCTTCTGTGCCAGTTCCTGCCGGAACGTGGCTTCCCGTCAGGCGGCTCAACTGCCCGGC
+ACGCTCGGCGGTAAAGCCGGCGTTGGCATAAGCGCAGATATCGCCCAACACTGCCCCAGCCTCAACCGAG
+GCCAGTTGATCACGATCGCCGAGAAAGATCACTCGCGCATGATCGGGCAAGGCGTCGATCAGTCTCGACA
+TCATAGGCAGATCGATCATTGACGCTTCATCTACCACCAGCACATCAAGATGCAGCGGGTTACCGGCATG
+ATGACGTAAACGCTGGCTACCCGGCTGCGCACCCAGCAATCGGTGCAAAGTGCTGGCATCTTCCGGAATG
+CGTTTCTTTTGTTCATCGGTCAGCGGTAATTGTCGCAAAGCCTTGCCAAGAGATTCGGTTAAGCGCGCGG
+CAGCTTTACCCGTTGGTGCAGCCAGACGGATACGGCAGCGTTCTCCGTCGGCCATTTGAATTAAGGCTGC
+CAGCAACTTCGCTACGGTGGTCGTTTTACCGGTGCCAGGACCGCCGGAAATCACCGAAATCCGCCGCGTC
+AGCGCCACTGCCGCCGCAACTTTTTGCCAGTTAATTTCATCGCTTACTGGAAAAAGTTTGTCCAGGGTTT
+GCGCCAGTAGAGCTTCATCAACCTCAATGGCATGATTCACTTCGTTGAAAAAGCGTGCCACTGTGCGCTC
+GTTACACCACATGCGATTCAAATAAAGACGATCGCCACAGAGGATCATCGGCGTTGGTTCATCTCCCCGG
+CTGACCGCTTGTGAAGCCAGCAAGCATTCTTCCCAATTTTGTAGCTCACCGATTTCACTGACACAGGTCG
+CCAACAGCGGATGCGATGCCTCGTTATTTTCCAGTCGTGAAAGCGGCAAACAAACGTGTCCCTCTCCGGC
+ATCATGACTTAATAGTGCCGCCGCGAGGGTGACGGCAGGATGTTCATCTCCCGCCACGGTCAGGGCAAAC
+TGCACGTCCAGCGGGCGTATCTGTTTGTGCTCCACAGCTTCCAGTAATTGCTTTTGCAATTTCATTACGC
+CTCCTCCAGGGTCATACCGGCAAACATCTCATCCATCAGGTCAATCAACCCGGCGTTGGGTCGGGTCGCG
+TAGATCCCTTGTTGCGGATGTTCTTTATCAACGCCGCGCAGGAACAGATAAATAACGCCGCCAAAGTGGC
+GCTCATAGTCGTAATCAGCAATACGATGGCGCAGATAACGGTGCAGCGCCAGGGTATAAAGCTGATATTG
+CAGATCATAGCGGTGTGCCTGCATTGCCGCTGCCATAGCCTGTTGGGTGTAAGCCGAACTGTCTTCACCC
+AACCAGTTGGATTTATAGTCGAGCAGGTAATAACGCCCTTCGTGGCGGAACACCAGGTCAATAAAGCCTT
+TTAACATTCCACGTACCTGCATGAACTCCAGCGGCGGGCAGCCAGCGGATAGCGGGTCAAACTGGCGAAT
+TAGTGCATCAAGCTGGCTGGCGATAAGCGGTTCACTAATCGGCAGGTAAAACTCCATCTCCACCTGTTTA
+TCGCGATCGGAAAGCTGATTCAGGCTAACACCCGTTTCATTGAGAGGTGCCTGGAGGACAGCCGTGATCC
+ACTCAGTCAACACCGGTTCCCACTGCGGTTCAAAGCCGCCGAGCTCCAGTTTTTCCTGTACCCAGTTCGG
+GTCAACCGGCTGGGTAAAATCGAGGTCTTCAAACAAACTGTGCAAGAATGTCCCCGGTGACGCACCGCGC
+GGGAACTGATGCGGTGTTAACGTCGGTTCTTCAACGACGCTGACCACGCCTGCGGCATCAACATCCAACC
+GTGGCATCAGATCCTGAGCGATACCGTGACCACGCTGCTGCAAACCGGAGTAGCTGGTGACACGCCAGTT
+ATCGCCGGGCAATCGTTGTAGCGTCCTCGCATTCAGTTCTGCAGTTAATGCATCATTAACCTGCCAGGGC
+TGGTTATCACCAGTTTGTGCCGTTTGCCAGGCAATATCATCATCGCATAACGCTTCAATACAGGTGCGAA
+GCCCTGCCGCATCTTGCGGTTCCCCTTTTTGCAGCAAACGCCCGAGCGCACTTTGGTGGACGTCGGTATC
+ACCTTTTTTATCGCCACGACGGCGCACCAGCGGTGCAACGCCGAGACTGCAATGCCAAACCGAACGCGTC
+AGCGCCACGTAAAGCAAACGCAGATCTTCCGCCAGACGTTCGGCCTCCGCGAGGTCGACGCTTTCTGGCG
+CAGCATTAAGATCCAGAACAGCCTCAAACGAGTGGCGATCGTGATAAAACGCCTGATCCTGGACGCGGAA
+ATTGGTGATAAACGGCAGCCAGACCAATGGATATTCCAGCCCTTTCGATTTGTGGATCGTGACAATCTGC
+ACGAGATGTTTATCACTTTCGAGACGCATTTGTTGGCTGGAGGCATTACTGTCTGGCTCGAGGATATGTT
+GCGATAACCAGCGTACCAGCGCATGTTCACTTTCCAGCTGCGTGCCGGCTTCTTGTAGCAATTCGCTGAT
+ATGCAAGATATCGGTAAGACGCCGCTCACCGCCTGCTGTTGCCAGCAAGTTTTCTGCAATGTTACGCGCC
+GACATCAGCGCCCACAGCATCGGCATAACGCCACGTTTGCGCCAGATTTGCCGATAACCATCGAACTCTT
+CGACTACCGCATCCCACGCATGTTCGTCATTATTCAGCGTTTCAATATCCAGCGCATTCAGCCCCATCAT
+TGACGTTGCCAGCGCACTGCGCAGGGTGTTCTCACGTTCGGGTGTCATCACCGCCTGCAACAGCCAAAGC
+ATCTCCTGTGCTTCCAGAGTTTCAAAAACACTGTCGCGGTTCGAAAGGTAAACGGAAGGGATTTCCAGCA
+ACGTTAAGGCATCGCGCACCTGGGCGGCCTCCTGGCGGCTGCGCACCAGCACACTGATGTCCGAAGCACG
+TACCGGACGTGCATCATCGCCGTTCATCAGCAACGCTTCCCCGCGCTGCCCAGCCTGTAACCAGTCGCGG
+ATTTGCGCAGCACATACCTGCGCCATGGTACTTTGATAGTCGCCAACGCCGCAGCTTTCGCCTTCCATCA
+GCCACATTTTCATCGCAGGCTGCGTTTCACCTTTAAACACAAAACGTAACGCCTGATTTTTCCCGGCTGA
+TTTCACAGGAATAAACGGTATTTCGCGAAACATGAACGCGTCATCAGTCTGGCTGAAAAGCTTGTTCACA
+CTATTCACCATTCCCGGTGCGGAACGCCAGTTGGTGTCTAAAGTGTAGTGGGCGTGAACTTCGCTACGCG
+CCTTCATATAAGTGAAGATATCCGCACCCCGGAATGCATATATGGCCTGCTTCGGGTCGCCAATCAGCAA
+CAATGCGGTTTCCGGCTGATGGTGCCAGATACGGCGAAAAATTCGGTACTGCTGGGGGTCGGTATCCTGA
+AATTCATCGATCATTGCCACCGGGAATCGCGTACGGATCGCCGCTGCCAACACCTCGCCGCTTTCGCTAC
+GCAGCGCGGAATCGAGCCGACTTAACATGTCATCAAAACCCAATTCGCCACGGCGGCGTTTTTCACGCGC
+TACTGTTTCGCGGATCTCAGCCAATGCGCGAGTGATCACCAGATCGCGGATCGACAATGGTTCTGCAAGC
+AGTTGATCGATCGCCTCAAACAGTGGATGTCGCGGGGTTTCCCCCCCGGCTTTCGTGCGATCTTCTAAGA
+AACGCTGAGAGAATTTTTCCAGCGACTCTGGCAACTGATAACTGTTGGTCTCTTCTTCTGCCCAGGCGCT
+GATCTTGTCGATCCATTTAGCCTGATTGCTACGGTTAAACTTGCGTCGATCAATACCAGAAGATTCGATC
+AGCGCATCCAGTTCACCCACTGCGTCGCGCCACTGCTGTTTTACCGTATCAATACACGCCACAATTTGCG
+CGTGGCGGGAAGCCAGCGTTTCATCATCGGGCGGCGGTGCTTTGATAACCGGTGCTTCGCCTTGCAGATA
+ACGATTAATATCGCGCAGCAACGCCTGCGGCCCTTTCCAGGTTTCAAAGACCACCTGGGCAATTTCACGC
+GTCAGCGGGTAGCAGTGGCGACGCCAGAAATCGGCGCAGGCCTGGTAGCGTAGCAGAGACTCATCTTCAA
+TCAGCTGCTGCTCAAACAGCATGCCGGATTCAAAGGCATTCAGGTTGAGCATGCGCTGGCAAAAACCGTG
+AATAGTAAAGACTGCCGCTTCATCCATCTGCCGTTCGGCTAACAACAACCACTGCGCGGCTTGCGCTTTA
+TCGTCGATCTCTTCCAGCAGACGTGCATACAGCGGATTGTCAGTGGTTTCACGCAGGCAGGCGATACGCA
+ACTCGTGAATATTGCTACGGATACGACCGCGCAATTCTGCCGTGGCAGCCTCGGTAAAGGTGACCACCAG
+CAGTTCTTCAACGGTCAGCGGGCGGGGAAAGGCGGCGGAACCGCCTAGCCCAAGTAACAGGCGCAAATAG
+AGCGCTGCAATCGTAAAGGTTTTGCCTGTGCCGGCAGAGGCTTCAATCAGGCGCTCACCCTGTAAGGGCA
+AGCGCAAAGGATCTAGTGTCTCGGCGACATCACTCATTCTTTTCACTCATCAGGGGCATTGTTTGCTGCA
+ACGCGCTGACGTTCTCCCACACTTTCCAGCCTTCAGGATGCACATATTCGGCTTTCCCGTTCTGGCTGCC
+GGAAATCTGCGACAGAATAGCCATACCTTGCGGCTCGACCACCGCCTGATGGAAGAAATCAGCAAGTTTT
+TGCGGCGTCAGCAGTTTTATCTGGGCCACGATTTTATCACGCGAATCGAAGCGCATATTGCCGCGATCGA
+AATCTTTACTTAACTTCGATGCTTCTTCGCCGAGCGTTTGCGGTGCCTGCAGCATCTGGGTTATTACCGC
+CTGCTGGATTTGCGCAAACTCTTCTGGCTTCATCGTCCGCAATTTTGCCTCTGCGGTTGGGAAAAACGCC
+TTGTAACGCTCCCACAAGAATGAAGGCTGTTTATCATTGCTTTGCAAAAGGAAGCCCATGCCCCACTGAC
+GCCCCACGCTCATTGGAAACGCAAACACGGCATAGCCCAACTGTTCTTCGGTACGCAACTGATTGTAGAA
+CCACGGCTGTACGATCTGCCCCAACAGAGAGCTATAGGCTGAGCTGGTGTATTCATCGTAGCCAGTCGGT
+ACAAATATCGCTGCCAGTGCGGAGTCGGTGCTGTTACCAGCTTTTTCAAAGATGACGGATTGTTTTTTAT
+CGACCACGACATCTTTGTTACGACACCACTCTGAACCATCAGCGCCCAACTGTTTTTGCACATGGCGTGC
+CAGCGTTGTTGCCTGGGCTTCAGTCATGTTGCCGATAACCATAAACTCTGGTCTAGCCCCTGATTTTAAG
+GCGTCGCGATAGGCCAGCACCTCTTTCAACGTAATGGAGGGCAAAATTTTGCGCCGTTCATCTCGCGAGA
+AGTACGGCACTTGCGAGAGCATCTGCGCGGGCATAATCGCCTGCTCAAACGCTTTGCCCTTTTCTGCGGA
+ATCCATCATCTGGTTATACCAGGACTTCGCCTGCTCAAGCTGATCTTCCGTAGCGGTATAGCTAAAGTAG
+CCCTCCAGCAGAGCCTGGAACAGCTGCGGCAGGCGCTGAGTGTAACCATTGGCATTAACCATAAGGCCGT
+TGTTAGCATTGGTGGAAAAACTTATGCCACCAACCGACGCCTGGTTGCTTAACTGATCAAGCGCCAGCCC
+TGCGAGATAATCATTGAGCGCAAACATCACCTGATTGCGGGCGCTGTCCATGGCTTTCGGATTACGCAAA
+ATCAGGCTGACATCAGCTTTGGGCTCACTGGCAAAATAACGGCTTGGCGCATACACCACGCGCAGATTCG
+ACTCATCAACAATCAACTCTGGATGGTCGTATTTCTTCTCTGACTTAATCAGCGAGAAATCGTCAGGAAT
+ATAGGGGTTAAGCTCCGGTAAGGAGAGCGCAATATTGGCGGCTTTTTTCTGCCAGTCCGCGAAAGTTTGT
+TCGCTGATTTTATCGACTTGATACGGCGCATCGACAAAATAAGCCGTTTTATTGTGCGGCTCTTTCGGGC
+TGATATACCAGATACGCGCATTCTGCGGCGTCATCATCGCCAGACGTTCTTTTACTGCTTTAGCATCGTA
+CCGATCGGCAATATTGACTGCATCCAGTGTATGCTCAACAGGAACGCGAATCATGGTATCAGCCAGCCAT
+TCGACGTAATCCATATCACGGGTGATTGACGGATAACGGAAGTCGATATCCAGCACATTCGCCAGTTCAT
+CGAAGTATTGTTTATCGATCCCTTTTTCACGTAACAGATTGAGATAGCTAAAAATGGCCGCCACAACCTG
+ATCGCGATTCGCCAGACCTTTATCGGTTAAAGACGCAGAGATCGCTAATACGCCGCTGTTGCCGTTGACG
+ATAGGATCGGAATTGGCGCTAATACCCTCAACTAATCCCTGCTTTTGCAGCCAGTCAGAAAGTGTACCAG
+GGCTGCGATTACCAATCAGATAGGTAATCAATTCATCCGTTTTACTACGGAACTTCGCTGAATTGTTATC
+GATGCGAAACTCAACGCGCAGAACTTTACGCGGCAACGCCGGGACGTAATGAATGATAATGCCCTTTTGC
+GCGTCGGTGACTACCGGCACGGTGATTTCCGGTTTTTTGCTCTCTTTGTTCGGCACGCGACCAAAGGTGT
+CCGCCGCCATTTTCGCCAACTCCGGCAACGGTTTATTGCTGTAAATAACCGCCTTCATCAGATTGGCGGA
+ATAGTACTTCTCGTGGAAATCTTTCAGCGCCTGCTGTACCGGATTACCTGGTTTGTCGCTTAAAGTTTCG
+AGGTTACCACCAGAAAACTTTGAACCGGGGTGTGCCGGGTTAATGGTTTCTGCGCTGACCTGTGCCATGC
+GCATCCCGTCACGCGTACGCGCCATGGTTAATTCGGCATTCACTGCATTACGCTCACGTTCGGCGTATTT
+CTTGTCGAGCAAGGGTTCTGCAATAGCATCGGCCAGGCGGTCTACCGCACCGGGTAAGGCATCGTTCTCA
+ACTTCCAGATAGAAAGCCGTGCGATACGGTGCCGTGCTGGCATTGTGACTGCCGCCGTGCATTTTGAGAT
+ATTCGGCCAGACTGTCAGCCTGCGGGTACTTTTTCGACCCCATCAGACTCATATGTTCAAGGTAATGTGC
+CAGCCCCTGGTACGCCTCAGGATCTTCCAGCGACCCAACGGGCACCACCAGCGCCGAGAGCGATTTAACT
+GCCTGCGGATCAGAAACCAGTAAGACCACCATACCGTTATCCAGACGTATAGCCTGATACTGGCGGTTAT
+CTTTATCACTTTTACGGATGGTTTCCTGAATCGGCTGCCATCCCGTTTCTGCCTGACTTAAGGGTGCCCA
+GAGGGCAACAAACAACAATAATGCTTTGAACCAGATGCTGCGGGGCATTCACGGACCTCATAATCAACTT
+TATTTTCTGGCCAGATTCAACACGTTAACGCAAATCATCTGCCAGAATTTAATCTTGTGCTGCACGAGTC
+AGCCTATGTCTATATAACCATCAGTCCGTGACTGGTGCGCATCATAAAGTAAGCGGATAGATTGCGCAAT
+TTTTATACAATACTCATGACTGATTAAAGCGAAACAGCGGTAACAGGAAACGTTGCGACTGTTCAACGAT
+AGCCTCCATTGTCTCTGGTGTTAATTGCCGCCAGAGCCGTTGATACCAGATATCATCACCTTCGCCACGC
+ACCATCATGTTGCCTTCGTAAGCCTGAAGGAATTTCGTACGGGCTTTTTGCAACGTGGAATCGTCATCCA
+GCATGGCATCGTTTTGCGCGTCATAACAGGTTTTTAGCCACGCGCCGCCACTTTCAGGTAACACCAGCAA
+TGGCGCGGACATTCCTTCACGATACCCTTCAATCAGCTGTGAGAGGTAATGTAAAGCCTGTTCGGCTGCA
+AGCGGCGGAAAACGCCACTCGCCGTCTTTGCGTAGAAAAAGGCGACTTTCACCATTACCACCGCTGGCAC
+AGTAGACAAGGTGTTCCAGCCAAAGTTGCATTCCCTGCGCCACACTTAATAAAGAGGGACGCCAGCGCAA
+CAGGCCATCCGGCTGCACCTGCGGCAACCAGCCAGTTATCTGCACACCGTTGCAGGCGAGATCAATCTCC
+ATACTCTGCCCTGGCTGGCGACAGGCAATGACTCTGTCGGCAAGTTGCTGCATCTCCTGACACTGCGTTT
+CCCAGAAAATTTCACCAAAGGCACCATACGGCAAATCACCTGCCGCCCGGAATCGGCGGAACAAGCGTTC
+GGCATCATCCTGCTCAACCAGTACATTTAATAACTGCTGGTTGATTTGATAACGACTAAGCCCTTCAAGA
+ATAAAAGGTTCGGAGTCGGGGATTTCGCTGTCTTCGGTACGGAAGTTCACCTGCAAACGCATCTGGAAAA
+ATGCCCGCACCGGATGTGCCCAGAATCGTTGTAGCGTTTCCAGCGGCACGGTTTCCGGTAAGGTAAATGG
+CAGCGGCTGAACAAATTCAGAATGTGCTTTACCAGCCTGGCTGGCCGCAGGTAGCCATTCACGAGCATAG
+CTTTGTCGTTCGCCTGGCTGGTAGTTTTGTGGATCAAACGGCATTCGGGTATGGAGGCAAGTAAGATGCG
+CTTTTACCCTTGCCTCGCTTTCATCACAGTTGAGCGCTTCATCGCCCGGTAGATAATGGCTTTGCCCGAT
+GTAGTCAATCAGTTCCTGCACCAGTACCGACGGGAAACGTTCACTGTTATCCTGAATGGAACGCCCGATA
+TAGCTGATATAGAGTTTTTGCTGCGCGGAAATTAACGCTTCCAGGAACAGATAGCGGTCGTCATCGCGAC
+GGCTACGGTCGCCACGCTTCGGTTTCTGGCTCATCAGATCAAAGCCCAATGGCGCAAGCTGACGTGGATA
+AACGCCGTCGTTCATTCCCAGCAGGCAAACCACTTTGAACGGAATTGAACGCATTGGCATCAGAGTACAA
+ATGTTAACCGGTCCGGCGAGAAAACGCTGGCTGATACGTTCTTGATCCAGGCGCAGTGCCAGTTCATCAC
+GCAATAGTGACAGCGGCACCGCGTCGCCATACTGCGCACCTAAACCTTCGGCGATAATCGCCTGCCATTG
+TTGTTCGATCAGCGTCATCGCCGCTTCGGTTTCCGCATCCGGCAGGAAAAAGGCGTTGAGCATATCGCGA
+CAAACCGGCAACCACTCTTCCAGCGGACGCTCCTGCGCCAGCCCGCGACGCCAGATATTTAGCTGCATTA
+GCAGTGAAGCCAGATGCCCCACCAGTTCTGCAATTAAGCCGCTCGATTCATCATAAGGTAGAACCGATTG
+CCACTCGCCCTGCGCGCTCTCCATCGCGTAGCCCAGCAACATGCGCGTCAGGCCAAACCGCCAGGTGTGT
+TGACCGGTAGCGGGAAGTTCCAGCTCGCGAACGTTGTCGTCATCTATCCCCCAACGAATTCCGGATTCGT
+TGACCCACTGACGTAAATAACGCAGCCCTTCTTCGGTGATGTCAAACCGCGCTGCCAGCACCGGCACATC
+CAGTAATGCCAGCACGTCTTCCGACACAAAGCGGCTGTCTGGCAGCGATAACAGGCTGATAAACGCTTCA
+AGTACAGGATGCGACTGCCGCGCCCGACGGTCGGAAATGGCGTAAGGCAGGTAACGATCCGCAGGTGCGC
+TACCAAACACAGCCTGAATAAACGGACTGTAGCTGTCGATATCAGCCACCATCACGATGATGTCGCGCGG
+AGTAAGTGTCGGGTCTTCCTCCAGCATCGCCAGCAGGCGATCGTGTAAAACTTCAACTTCACGCTGCGGG
+CTATGGCAAACGTGGAAGGTGATACTGCTATCCAGTGGATCAAGCGGGCGTTTGTTATCGCTACGGGAAA
+ACTCTTCGATGTTCACACCAGCAACGGCGCGGTTTTCCAGTTCCAGAATGTCAGACTGAATATTATGCAG
+CAGGTTATCTGGCGTCACATCGACAAAAGCGTCCAGCTCCTGGCTGCTCTCCAGGTCAGAAAGGAGATAA
+ATGTAGTCGCGCCCAAGCTTGCCCCATGAAGCCAGCAGCGGGTTGCCGACATCCTGTTCACCATCGCTGT
+TAAAGAGCTGCCCGGCATTTTCGCTGTCGCGAAATAGCGGTAATTCGCGATCTTCAAAACTGTGTCGGCG
+CTGGCGAGTCAGTAGTTTCGCCAGATAAGCTGGATCTTTAATGTCGCCCCAGTAATAACGGCAGGGGTTG
+GTAAACAGGAGATGGATTTCAATATGTTTACCCAGCGCCTGTAGCGCCTGGAGATAAACAGGCGGTAACG
+CGGAAATACCGCATATAAAGACGCGCGAAGGTAACCCCGGCGGGCAGGTCGTCGCGGACTCCAGCGTTTC
+GATAAAGCGCTGATAGAGATTGGCGCGGTGCCAGCGCGGTTGCCCAAGTTCGTCGGTATATTCCACCAAC
+GCCTTCCACAACGGCGCTTGCCAGGCCTGTGCTTCTCCCAACCCTTCTACCAGATGTCCTGTTTCCCACT
+GTGCCAGCCAGTCCGGACGATAGACCAGATACTGGTCAAACAGGTCCGCCGCTTTTGAAGAAAGCTGGAA
+CAGTTTTCGCTTGTCACTATCGTCAGTCAGATAATGCCGCAACAGGGTAAAGTCTTCGCGCTCCAACAGT
+TGCGGCAGCAGAGTCATCAGTTTCCAGCTCATGCTCTGTTTGTTAAAGGCGCTCTCTTTGGGGATCTCCG
+GTAATACCCGGACGAACATATCCCAGATAAAGCTCGCTGGCAGCGGAAAATCAATGTTTGCCGCAATACC
+AAACTTTTGCGACAGGGTCATTTGCAGCCACTGTGCCATACCAGTACTTTGCACCAGAATCATCTCTGGT
+TCGAAAGGATCGTCCAGTCGTTCGCGTTCGACAATAAACTCCATCAACGCTTCCAGCACGTCCAGACGAT
+TGGAATGGTAGACCCTTAACATAGCGGCTCCTGACTACTGACGATTCGGGCAATGCAGGCGGGTCATCTC
+GCCTTCTCTGCCCCCGGGTGAAACTAGCGTAACGCTGATGCTGACACATCCCGCCTGCGATGTCTGCATT
+CGGTTGACCTGCCAGTTAGCAGGTGGCGAAATCGCGCGCAGTTGCGTTTGCTGCCAGCCATGCCGCCAGA
+GCTGTTGGTACTGGTTTCTGCTGGCAAGACTGTTCATTAATGTTCGCTGGAAACCCGATAACGCAGTGAC
+AATCATCACCATCAACACCATCGCCAACATTACCTCCGGCAGACTAAAGCCTTGTTGATTCCTCAGGGAA
+GCTGACATAACGCCCTCTCTTTCAGCGGACAAAAATCGCTCCAGCCGCGTGGCGAAAAAACAATGTTTCC
+ATCGATGACTTCGCCTGTTCGCCACAACGAAACGCCTTCATAACCAGCAATCAATAAGGCTTCATTATCT
+GCCAGTAAACGCAGACAAACCCGGGCACCGGTGGCAGCATACAGTAAGCACTGAACTGCGGGCAGCGTCT
+GCCAGGAGTGCATTTTTCCCCACTCCAGCGCCGACTGAACGATGGCCTGGCGGCGCAATGACTGACTTTC
+CATGCTCACGCGAGAAGCAAAACTGCGATCCTGCTGACTCATTCCTTGCAATAGCAAGCTACCCAAAATC
+AGCAGCATCAGGACCAGAGCCAGTGACGAAACACCCTTTTCGCGGTTCACAGGTTGGATCCTGTCACGCT
+ATAGCTGGCATCCACCACGGTTTGCGGATCAGCCTTGCTGGCAGCGTGCATATTAACCGTCAACACCGGC
+GAGAAGTCGCTGACATCCTGACGTACGACCTGAAAAGTGTCGATAATGATGGCATCCGGATTAGTGACTT
+TATCCCAGCCCTTACCTTCACAGGATGTCGCACCGCGTAGCGTTTCCAGCACATGCTCCTTCAGACGAAA
+TCCAATCTGGTCGGACTCTTTTACCGGTTCGCGATCCCAGATACCATTACTGTTCGCATCCCACTGCACA
+ATGACACAGTCACCCTGTCCGACAATTTCCAGCCCTTCGCCCGTACAGCTGCCATGGCAATAACCCGCCC
+TCTGGAGATGCTTCGCGACGGTAAATACCCGCAGCCAGATTTCATCTTCCAGCGCCAGCTTACGGGTGTT
+CGTTAAACTTTCACGCTGTAACGCAGGCAGAAAGCGTGCAGCCCCCAGCAACAATACGCTACTGATCGCC
+ATAGCAATCAACACTTCCAGCAGAGAAAAACCTTGCTCTTTTACAGGCATCCTTCTGTTTCTCCTTGCTG
+ACAAAGCCGGAGTCTTCCCCACGGCGAAACCACCAGCCACCACTCGCCCGTTGAGTTTTTGAAGCGAATA
+TGCCCGGCCCATGCGGTATTGCGCAGGCCAAAGAAAGCAAGCGAAGGTGTCAGGTCGCTCATTTCGACTT
+CGGGCCAGCGCGGCACAAAGACCAATGGTGAACTGCCATGACAGGTATTCGCCCCAGCAACGGAACTCAC
+AAGGCACCATAACGTCCCCTCCCTGATAAGACTGATACTGTGGTCGCGGTTATGCCAGTTGGCATCTTCA
+CGTAAATAGAGCAAATAGTCCCGCGCCTGGCTGGCGGTTTGCCAAAGCCGTTGCGACTGCTGCCAGTATT
+GCCAGCCATAGAGCCCACTTGCGCTTAGCATGACCAGAATCAGCATCGCGACCAGCGTTTCAATCAGCGT
+ATAACCACGTTGTGTTTTCATGCCGGCAGTATGGAGCGAGGAGAAAAAAAGACGAGGGCCAGTTTCTATT
+TCTTCGGCGCATCTTCCGGACTATTTACGCCGTTGCAGGACGTTGCAAAATTTCGGGAAGGTGTCTCGAA
+GAATTTAACGGAGGGCAAAAAAAACCGACGCACACTGGCGTCGGCTCTGGCAGGATGTTTCGTAATTAGA
+TAGCCACCGGCGCTTTAATGCCCGGATGTGGATCGTATCCTTCAATCTCAAAGTCTTCGAAACGGTAGTC
+GAAGATGGATTCGGGTTTACGTTTGATAATCAACTTCGGCAGCGGACGCGGTTCGCGGCTTAATTGCAGA
+TGAGTTTGATCCATATGGTTGCTGTAGAGATGCGTGTCGCCACCGGTCCAGACAAAATCACCCACTTCCA
+GATCGCACTGCTGCGCCATCATATGCACCAGTAACGCGTAGCTGGCAATGTTGAACGGCAGGCCGAGGAA
+GACGTCACAGGAGCGCTGATAAAGCTGGCAAGAGAGTTTGCCGTCTGCCACATAGAACTGGAAGAATGCA
+TGGCACGGTGCCAGCGCCATTTTATCCAGTTCGCCTACGTTCCACGCTGAAACAATAATGCGACGGGAAT
+CCGGGTCGTTTTTCAGCTGGTTCAGTACAGTAGTGATCTGGTCAATATGACGACCATCCGGCGTTGGCCA
+GGCGCGCCACTGTTTACCATACACTGGCCCGAGGTCGCCGTTTTCATCGGCCCATTCGTCCCAGATGGTG
+ACATTGTTTTCGTGTAGATAAGCAATGTTAGTGTCGCCCTGCAGGAACCACAGCAGTTCGTGGATGATGG
+AACGCAGGTGGCAACGTTTAGTTGTCACCAGCGGGAATCCATCCTGCAGGTTAAAACGCATCTGATGACC
+AAAAATGGAAAGCGTTCCGGTTCCGGTACGGTCGTTTTTCTGTGTGCCTTCGTCGAGCACTTTTTGCATC
+AGTTCTAAATACTGTTTCATGGTTCCTCAGGAAACGTGTTGCTGTGGGCTGCGACGATATGCCCAGACCA
+TCATGATCACACCCGCGACAATCATCGGGATGGAAAGAATTTGCCCCATGCTGATGTACTGCACCCAGGC
+ACCAGTAAACTGCGCGTCGGGCTGGCGGAAAAACTCAACAATGATGCGAAACGCGCCGTAACCAATCAGG
+AACAAGCCTGAGACAGCTCCCATTGGGCGCGGTTTACGAATATACAGGTTGAGGATAATAAACAGCACCA
+CACCTTCCAGCAGCAGCTCGTAAAGCTGTGATGGGTGGCGCGGCAGCACACCGTAAGTGTCGAAAATGGA
+TTGCCACTGCGGGTTGGTTTGCAGCAGCAAAATATCTTCTGTACGGGAGCCAGGGAACAGCATGGCAAAC
+GGGAAGTTCGGGTCAACGCGGCCCCACAATTCACCGTTAATAAAGTTGCCCAGGCGCCCAGCACCAAGAC
+CAAACGGAATGAGTGGGGCAATAAAATCAGAGACCTGGAAGAAGGAACGTTTAGTACGGCGGGCGAAGAT
+AATCATCACCACGATAACGCCAATCAGGCCTCCGTGGAAGGACATGCCGCCGTCCCAGACACGGAAAAGA
+TACAGCGGATCGGCCATAAACTGCGGGAAATTGTAGAACAGAACATAACCAATACGTCCACCGAGGAAGA
+CGCCGAGGAAGCCCGCATAGAGTAAGTTTTCAACTTCATTTTTGGTCCAGCCACTGCCCGGACGATTCGC
+CCGTCGTGTTGCCAGCCACATTGCAAAAATGAAACCCACCAGATACATCAGGCCGTACCAGTGAAGCGCC
+ACGGGTCCTATTGAGAAAATGACCGGATCAAACTCCGGAAAATGCAGATAGCTACTGGTCATCTGTCACC
+ACAAGTTCTTGTTATTTCGCTGAAAGAGAACAGCGATTGAAATGCGCGCCGCAGGTTTCAGGCGCTCCAA
+AGGTGCGAATAATAGCACAAGGGGACCTGGCTGGTTGCCGGATACCGTTAAAAGATATGTATATGATCCG
+CGCTATAACCCCCCGCGAATCAGCCCGCCCATGCCGCGACGCTCCATAAAGGCAGCAACCTGATGGCGAA
+CTTCGGTCGCCAGTTGCGCTTCCAGACTACGCTGCGCAAGATTTTCTGCTTCAGCAAAATCAATGCGCCG
+CAGCAGGTATTTTACGCGCGCTACAGAACGTCCGTTCATAGACAGATGGCGATACCCAAGCCCAATGAGG
+ATTGCCACGCACATGGGATCGCCCGCCATTTCACCGCACAAACGGAGATCGATTCCATGTATTTCCGCTT
+CCCGGGCGATCATCGCCAGAGCTCGTAACATTGCAGGATGAAGACTGTCATAAATGTTCGCCACCCGGGT
+ATTGTTGCGATCAACGGCCAGGATGTATTGCGTCAGATCGTTGGTGCCAACAGAGATGAAATCGACCCGC
+TTTGCCAGATGCGGCAGCATAAATACCATTGACGGCACTTCCAGCATGATGCCGATACGTGGTTTGGGAA
+TTTCGTAACCGATCATCTCCTCGACTTCACGTCCGGCACGTTCAATCAGGCGGCGTGCTTCGTCAACTTC
+ATCGAGGCTTGTGACCATCGGCAACAGAATATTCAGGTTGCCCGTAGCGGCATTAGCACGCAGCATCGCC
+CGCACCTGGATCAAGAAGATCTCCGGCTGATCGAGCGTAATGCGAATCCCACGCCAACCCAGGCATGGAT
+TCTCTTCGCTGATCGGCATGTAAGGCAGCTGCTTATCTGCTCCGACATCCAGCGTACGCAAGGTGACGGG
+TTTATCATTAAACATTTGCAGCATCCCCTGATACTGCGCCACCTGTTCTTCTTCCGACGGAAAACCACTT
+TGCAGCATGAATGGGATTTCAGTGCGATAAAGTCCTATGCCATCAATACGGCTGCCCAGTTTTTCTTCAT
+GTTCCGGGCTTAAACCGGCATTGAGCATGACTTTAATGCGTTCGCCGCTTTTTAACTGGGCGGGTAAATT
+GACGTCATCTTCCGCCAGACGGCTAAGCTCGATCTCTTCACTAATTAGCCGCTGATATTCTTGCAGCAGT
+ACCGGTTCCGGATCGACCAGCAATTCACCGCGATAACCATCGACGATCAGCGTCCGACGATGCAGTACCG
+AAGGCTGAATATCCGCGCCCATCACGGTAGGTATCCCCAGCGCACGTACCATGATCGCAGCATGGGAGTT
+GGCAGCGCCATCGCGCACGACAACACCGACTAAGCGATCCTGGGGCAGCTCAGCAAGCGTTGTCGCTGAC
+AGTTCATCTGCCACCAGAATGAAACGTTCCGGCCAGGCGTTCGGCCCTTGATTAGCGTCATCAAGATGAA
+ACAGCAATCGCTGACCCAGCGCACGTAAATCGCCAGCCCGCTCTTTGAGATAGTTATCGCTTAGCGCGGC
+AAACTGTTCGGCAAATTTTTCAATGACCGTTTTTACCGCCCACTCTGCCACCGAGCCTTTATCAACCTCG
+GCAAACAATTCGCGACGCAGCCGGGTATCCGAAAGCAGGTGTGAGTAAAGATCGAAAATAGCCGCCGTTT
+CTTTTTGTGCACCGGCAGCAAAGCGTTTGCTATAGCGGCGAAACTCGTTAGCCGCCTCTTCCAACGCCCC
+GGTCAGTCGTTCGCGTTCCAGAGCCGGATCCAGCGTTGATGCCTGATACACCTGTTCCATTAAAGGTAAC
+GTGGCATCCTGCCAGCCTTCGGCAATCGCCACACCAGGTGCTGCCGGTAATGCACGGATTCGCGTCTGGC
+GATATTGCCCAAACAAGGCAGTCAACTGCGACTGAGAAAGAATAGCTGCCATCTGGGTGGCAAGCGTCAC
+CAGGAAGGATTCTTCACTTTCGTCATACTGGCGCAACTCTCGTTGCTGTACCACCAGTACACCAAGCAAC
+TGGCGACGTTGAATAATTGGTACGCCTAAAAACGCGCGGAAACGTTCTTCTTTTACGGAGGGGATGTATT
+TGAAGCTGGGGTGCTTTTGCGCATCTGCAAGGTTTATCGGTTCCGCCAGCCTGCCAACCAGGCCGACGAT
+CCCTTCATCAAACGCGAGCGTTACAGTGCGACCGCGTGGTTTTTTCAGTCCCCGGGTCGCCATCAGGTAG
+TAACAACGTCGATCATGATCGGCCAGGTAGACCGAACAGACCTCGGTATCCATCGCAAGACAGATGTCGG
+TAACCAGAATATTTAACGCCTCATTCAGGCGTGGTGCGCAGGCTACCTTTTCGACTATTTCGCGCAGGCG
+AGTGAGCATAATTGGCGTGACTTAACCTCTTTTACGTCGATAAGCAGATGCGTTTTGTGGTTTTGGCGTA
+TTTTCCTGCAGTGACATCACCACACTCGCGAACTCTTTCATTACCCTACGGTAGACATCACGTTTAAATG
+ACACCACCTGTCTGACTGGATACCAGTAACTTACCCATCGCCAGCCGTCAAACTCTGGTGTACTGCTGGT
+TTGCATATTGATTTCTGCATCGCCGCTCACCAGCTGCAAGAGAAACCATTTTTGTTTTTGGCCGATACAA
+ACCGGCTTCGTGTCCCAACGCACCAAACGTTTCGGTAATTTGTAGCGCAACCAGTTACGCGTTGAAGCAA
+GGATTCGAACGTCTTTGCGGCTTAATCCTACTTCTTCAAACAATTCACGGTACATCGCCTGCTCTGCGGA
+TTCTCCGGGGTTGATTCCGCCTTGCGGAAATTGCCAGGAGTGCTGACCAAATCGCCGGGCCCACATTACC
+TGCCCCTGGCGATTACAAATCACGATACCTACGTTTGGGCGGTAGCCATCGTCATCAATCACCGGACTAC
+CTCAAAATAAAGCTTTATATACGAATGATTGTTTCATACTCCAGGAAGACGGTAAACCACTCTCTGCAGG
+GCATTACACACTAATAACAATTGAATAACTCACAGTTATGTGCAGAGTTATAAACAGAGGAAGGGGTGGA
+TAGCCGTTTTTATTCACCTTTTCTGTGGATAGAGTTGTGAAGAACTACGGAATTACTACGGGAAAACCCG
+GAGCATTCTGAATAAGACAGATATAGAGATTTTAAAATATTCATTATCAGTCAATGCATTACATGTGATT
+TGAGTAATAAAAAAGAGTAATTCGTGACCCAGGTCACACCTCTCATTTACGTGTTGGCGAAAGATCAACC
+AATGCCGTATTTATCCACAGAATGTGCCACTAAGTTAAGCACTGAACCACTAAAAACTGGAGTTTCGTCG
+CACGTCAAGGCTGTAAATGGAAACAGTAGTGGAGGTTTTTCACAGTTATCCCAGCTTTCTGTGGATAACA
+TGGTGTAAGATCCTGTTTATTTTCAGTGACCAGATTTGGAAAACCCGTTGCAGTGTTGCGCAACTCGTTT
+ACCGGCAACCTAAAAAGCAATATAAATCAGAGAATTGAACAACGCATGTGGAAAAAGTTACACTGCGAAT
+ATTCAGCACATAATTGCTGTTTGTTTTTTAACCAAGGTATCATGACATGTCCCAACCTCGCCCACTGCTC
+TCTCCTCCCGAAACTGAAGAACAATTGTTAGCGCAAGCACAACAACTTTCTGGTTATACATTGGGAGAAC
+TGGCGGCACTTGCCGGGCTGGTTACGCCGGAGAATTTAAAACGCGATAAGGGCTGGATTGGCGTGTTACT
+GGAGATCTGGCTAGGTGCCAGCGCAGGGAGTAAACCTGAGCAAGATTTTGCTGCTCTGGGCGTGGAACTT
+AAAACTATCCCTGTGGATAGTCTTGGTCGTCCACTGGAAACAACATTCGTTTGTGTTGCCCCGTTAACGG
+GCAATAGCGGGGTGACCTGGGAAACCAGCCACGTGCGCCGCAAGCTCAAACGCGTGCTGTGGATACCGGT
+TGAAGGCGAGCGCAGCATCCCGCTGGCAAAGCGTCGCGTAGGATCACCGTTGCTGTGGAGCCCGAATGAA
+GAGGAAGACCGACAGTTACGCGAAGACTGGGAAGAATTAATGGATATGATTGTTCTCGGTCAAATTGAGC
+GGATCACCGCTCGTCACGGGGAATATTTACAGATACGACCGAAAGCAGCGAATGCGAAAGCGCTGACCGA
+AGCTATTGGTGCCCGGGGCGAACGGATTCTGACGCTGCCGCGCGGATTTTATTTGAAGAAGAATTTCACC
+AGTGCGCTACTGGCCCGTCATTTTCTGATCCAGTAGCCATCGCTTTGACCTGCCGCTTTCCGGGCATATA
+ATTACCGCTTCATTTTTTTGGCAGGGCTTTTTAGATGTTATTTGCATGGATAACCGATCCTAACGCCTGG
+CTTGCGCTCGGTACACTGACGCTGCTGGAGATCGTTCTTGGGATCGACAATATTATTTTCCTTTCTCTGG
+TGGTGGCAAAGCTTCCCACAGCACAACGTGCTCATGCGCGCCGTCTGGGGTTGGCGGGAGCCATGGTCAT
+GCGTCTGGCGCTGCTGGCATCCATCGCCTGGGTTACGCGCCTGACGAATCCGCTTTTTACAATATTCAGT
+CAGGAAATTTCCGCCCGTGATTTGATCCTGCTTCTGGGTGGCTTGTTCCTTATCTGGAAAGCCAGCAAGG
+AAATCCACGAATCCATCGAAGGTGAAGAAGAAGGGCTGAAAACACGCGTTTCATCATTCCTCGGCGCGAT
+CGTGCAGATTATGCTGCTGGATATTATCTTCAGCCTCGACTCGGTGATTACCGCTGTGGGTCTGTCAGAT
+CACCTGTTTATTATGATGGCTGCCGTGGTGATTGCCGTAGGCGTGATGATGTTCGCCGCGCGCTCGATTG
+GTGATTTTGTCGAGCGCCATCCTTCGGTAAAAATGCTGGCGCTCTCTTTCCTGATTCTGGTGGGCTTTAC
+CCTGATTCTGGAAAGTTTCGACATCCACGTACCGAAAGGTTACATCTACTTCGCGATGTTCTTCTCTATT
+GCGGTTGAAAGCCTCAACCTGATTCGCAACAAAAAGAATCCGCTCTGATACTCCGTACGCTCTCCTGCGG
+GAGGGCGTACTCACTCCTGTTACCCTCACAGTTTAAGATTTTCCTGCTTTCAAGATATATAACGTCGGTT
+TATAAACAGACTATTATCATAGGTGGGCCAAATGAGGATAACCGGATGAAAAAATGGGCAGTAATAATTT
+CTGCAGTCGGACTGGCGTTTGCTGTTTCCGGGTGTTCCAGTGATTACGTCATGGCGACCAAAGATGGCCG
+TATGATTTTGACCGATGGAAAACCTGAAATTGATGATGATACCGGGCTGGTGAGTTATCACGATCAGCAA
+GGTAACGCGATGCAAATTAACCGTGATGATGTTTCGCAAATTATTGAACGTTAACAAATAAGGTCAGCAT
+CCGGCTGGCCTTAAGATTTTTCTCTTTCCCTTTTCCCTTCCCTCTGCCATTTTTATATTCCTTATGTCGT
+GATTATAAAAAGGAAACGGCTATGCAATATCACCGTATACCCCACAGTTCGCTGGAAGTCAGCACGCTGG
+GGCTTGGCACGATGACGTTTGGTGAACAGAACAGCGAAGCCGACGCCCACGCACAACTCGACTATGCCGT
+CGCTCAGGGCATTAACCTTATCGACGTTGCCGAAATGTACCCAGTACCTCCGCGCCCCGAAACTCAAGGG
+CTAACCGAAACCTACGTCGGCAACTGGCTGGCGAAACATGGCAGCCGCGAAAAGTTAATTATCGCCTCCA
+AAGTGAGCGGACCGTCGCGCAATAATGACAAAGGCATCCGCCCGGATCAGGCGCTGGATCGGAAGAATAT
+CCGCGAAGCGCTGCATGACAGCCTCAAGCGTCTGCAGACTGATTACCTCGATCTCTATCAGGTGCACTGG
+CCGCAGCGCCCAACCAACTGCTTCGGCAAACTCGGTTATAGCTGGACAGATTCTGCGCCTGCGGTTTCGC
+TGCTGGATACGCTGGACGCACTGGCAGAGTACCAACGCGCGGGAAAAATTCGTTATATCGGCGTGTCGAA
+CGAAACTGCATTTGGCGTAATGCGCTACCTGCATCTGGCGGACAAACACGATCTGCCGCGTATTGTCACC
+ATTCAGAACCCCTACAGCCTGTTAAACCGCAGTTTTGAAGTAGGTCTGGCAGAAGTCAGCCAGTATGAAG
+GGGTCGAACTGCTGGCCTATTCGTGCCTGGGTTTCGGCACACTGACCGGGAAATATCTCAATGGTGCAAA
+ACCCGCTGGCGCACGTAATACGCTCTTTAGTCGGTTCACCCGCTATAGCGGTGAGCAAACGCAAAAAGCC
+GTCGCGGCGTATGTTGATATCGCCAGACGTCATGGCCTGGACCCTGCTCAGATGGCGCTCGCATTTGTAC
+GCCGTCAACCGTTTGTTGCCAGCACTCTGCTGGGCGCAACCACGATGGAGCAGCTGAAAACTAACGTCGA
+AAGTTTGCATCTGGAGTTGAGCGAAGACGTATTAGCTGAAATTGAAGCGGTGCATCAGGTTTATACGTAT
+CCTGCACCATAAGATTAACGCCGGTTAAAACCGGCGTTAAATATTAATGACGGCGCTGCCAGATCCACAG
+CGCCGTTATTGCCAGCGCAAACAGCGCACCGAAGCCAATGCCAATGGGCACGACCGGGATGCCTACCATT
+ACCGCCAGCGAGTAAATGCCCAGCATCAACAACATGGCGCTGTTTTCGCCAAGGTTTTGTACTGCAATCG
+CATTCCCCGCCCCGACGCTTTTTTTACCCCGCTCCTGTAGCAACGCATTGAGCGGAACGACAAAAAACCC
+CCCCAGCACGCCAATCAGCATCAACAAAGCATAGGCTGGCAGCAGCTCGTGTTGCAGGGAGAAAATCAGT
+ACCACCACGCCAATCAAAATCCCGGCTGGCATACAGCGTGACACGGTTTCCAGCGTAACTAACTTCGCTG
+CCGCACCTGCACCAACCACGATACCAATCGCTACCATCGCGTTGAGATAGGTCGGCGTAGCGTTATCGGT
+AATACCCAGCGCCACCGGTACCCACAGCACCAACAGGAAACGCAGCGTGACACCCGCTCCCCAGAATAAA
+CTGGTGCCCACCAGCGAAAAACGCGTTTCACCATTGCGCCATAGCGAGGTGCAGGCATTCAGGAAACTGC
+GGGTCATGCTGATGAGATTCCAGGACTGCCCCGGACGCGCCGCCGCCAGTTTGGGAATGTAGATATTGGC
+AACGACCGCGCCACCGTAGGCCAGTGCGCATGCGGCCAGGGCAACCAGAATATGCCAGTCAGCCAGAACA
+CCACCAGCTACGGAACCGAGCAAAATCGCCGCTATGGTAGACGCTTCCATTAAACCGTTAGCTTTTACTA
+ACTTACTACCCGTGGTTAATTCGCCGAGAATACCGTATTTCGCCGGTGAATAGGCTGCAGCACCAACACC
+CACCAACGTATAGCCGAGAAACGGATTGATACCAAAGCAGATACTGGCTGCGCCCAGTAGCTTCAGGCCG
+TTGGCAAACATCATCACCCGGCCTTTGGCGAAGCTATCCGCCACCTGCCCGACAAACGGCGCAAAAAGAA
+TGTAAGCACCTACAAACACCATTTGCAGGATGGGCTGGCTCCACTCCGGATAGAACTGCGCTTTCAGTAA
+CGCCAGAGTGGCAAACAGTAGCGCATTATCGCCAAACGCAGAGAGAAACTGCGCCACGATAACCGCTTTC
+ATCCCCTTCGACCACAACGAAGTGTTAGTGTGCACTGACTCACTCATCGTGTTGTTCCGCTTCGTCTACC
+CAGCTTTTCAAAGTGACAAAGTCAGGTTTGCCGCTGCCAAGTAATGGCATCTGTTTCAGATAGCGAATAT
+CGCGCGGTACAGCAAGCTCCGGCACGCCGTGCTCGCGGGCATACTGTTGTAACTTATCGCGCATCAGTTC
+GTTATCTGTGGTGAAAAGCACCAGTGCCTCGCCTTTGCTGGCATCGCTCTTAATCGCAGTGGCATGGACT
+TTATCTGGCGAAACACCAAGTGCCAGTTGTTCCACCATTTCCAGCGACACCATTTCGCCTGCAATTTTGG
+CAAAGCGTTTTGCGCGGCCCTGAATCTGCACAAAGCCCTGCTCGTCAAAACGCACAATATCGCCAGTGTC
+ATACCAGTCGCGCTCCATTTCGCCGCGAACATTCTCGGCGGTGGGCACTTCCAGTACACCTGGCTTCTCC
+ACCCGCAGATAGCCGTTCATTATGTTCGGCCCTTTCAGTTGCAGGCGTCCGCCCTCTTCGATACCAGGAA
+CCGACAACAGGCGCGCATCCATTCCTGGTAGAATACGCCCTACCGTACCGGGTTTCGCCGCCATCGGTAC
+GTTGATAGAAACGACAGGCGCGCATTCGGTCACACCGTAGCCTTCAAGGATGCGCAGGCCAAATTTATCC
+TGCCAAAGCTGTTTAGTACTTTCTTGTAGTTTTTCTGCGCCTGCCACCACATAGCGTAGACGATAGAAGT
+CATACGGGTTGGCAAAGCGCGCGTAGTGACCGAGGAAAGTCGAGGTACCGAACAACACGGTGCAACTGCG
+GTCATACACCAACTCCGGCACAATGCGGTAATGCAGCGGGCTTGGATAAAGGAACACTTCTGCACCTGTG
+AGCAGTGGCGTAAACAGGCCTACCGTCAGCCCAAAGGAGTGAAACAGCGGTAACGCCGACATAAAGCGAT
+CGTTGGTGGTGAAGTCGGCAATCGTTTTAATCTGCTCGACGTTCGCCAGAATGCTTTTATGGCTATGGAC
+GACCCCTTTCGGATGGCCTTCAGAACCGGAGGTAAAGAGGATCAGCGCCTCTTCTTCCGGCTGCTGTTTT
+ACCTGTGCCAGACGCGGCATCAGCAAATGAGCGAAAATCCACACTTTGTCGGCAGTGGTGACATCTGCTT
+TTAAATCTTCCAGATAGACCCAGCGCACCTGAGTAAGTTGCTCCGGCAGATGCCAGAGTTTGCCTTTATC
+GAGAAACTGACGGGAAGTGAAGATGGTTTTGATTTCAGCCGCCGTAATAGCACTGGTCAACCCTTTTACC
+CCGGCGGTGTAGTTCATCATTGCGGGAATGCGGCGACGGGCGATGGCCCCAAAAATCACTGCCGCACTGA
+TGCCTGCATTGGGCAGCATTAAGCCGATGCGTTCGCCTTCAACACTGTATTTTTCAAGGATGCGTCCAAC
+AAACAGCGTTTTCGTAAGCAATTTGCGATAGGAGTCCGGGGTAAAGTTAACGTCTTCGACACATTTCTTC
+CCGGCTCCGAAGCGGTACATTGCGCTCAGTAAAGATTCGTACAGCGTTTCACGCGGGCGCACCGCCATAC
+GCGCTTCCATCATTATTTGATGCAGCATTTCGCCAGCGATTTTGCGACGGTCACGGGCACGCGGCGCATC
+CGGCATCTCCACCTGCGTTGGTGGCAAAATATGCAGAGTAATTTGCGGGAACAAGCGACGTTTAACCAGA
+CCTTTCAGGCGGCTGAAGTGCGTAAGTTCCGCCCCTTCAATACGCACAGGAATAACCGTTGCACCAGACT
+TCGCCGCGACAAATCCCGCGCCATCGTAGATTTTCATCAGCGAGCCAGTGGTGGTGATGCGTCCTTCAGG
+GAAAATCACCACTGGTCGTCCCTGTTCCACCAGACGTACCAGATGTTTAATCGCCATAGGTTGCGTCGGG
+TCGAGAGGAACAAAGTCGATAAATGATTTCAGCCAACGCATATACCACTGTTGGCTTATTGAGGTGTAAA
+CGGCAAATACCGGACGTACGGGTAAAAACAATGCCAGCAGTATGCCATCAATAAAAGAGACGTGATTAGG
+CGTAATTAGAACGCGCTCGCCCTTCAGTGCCTTGGTGTCACCCGTAACGCGAACGCGATACAAAACACGG
+CACAAATTTCGAAAAAAGCTAAAAAGCATTCCAACTCCCTTTGCTCTGATTCAGTAAAAGCGAATGGAGG
+GAGATTACACGAGATAAAGAACGCGAGCGACAGTAAATTAGGTGCGAAAAAAAACCTGCGCATCCGCGCA
+GGTTGGTGCAAGAGACTGGGTACGAAGAGCGTACCGAATAATCTCACCAATCAATACCTCTGGGATCTTG
+ATTGTGGTCTGCACAACGACTCTTCGCCAGCGAGAAAACGCAAAGGAATGAAGGGAAATGCAACGAGGTG
+TGTAAATTGTCGGTTACTGTTACAGATTGATGACCGGCAAAAAAAAACCTGCGCATCTGCGCAGACTGGT
+GTAATTCATGTGCTCAACCCGAAGTTGACTTCACCTATCAATACCTCTGGGATCACCACTTTAGCAACCT
+GAAGCCAAACGCCACCAGCGGTCAATCGCAACAGCGTTTCGCAAAGTGTAACCAAAGGTTTGCAATCTCT
+TTTTTTGTCTTACTTATTTGCGTTTGGCTCACATTCCCACAATGAAAACACGCCGCCCCTTGAACCAACG
+GGCGTTTTCCGTAACACTGAAAGAATGTAAGCGTTTACCCACTAAGGTATTTTCATGGCGACCATAAAGG
+ATGTAGCCCGACTGGCAGGCGTTTCAGTCGCCACCGTTTCCCGCGTCATTAATAATTCACCCAAAGCCAG
+CGAAGCTTCCCGGCTTGCTGTGCATAGTGCAATGGAGTCTCTTAGCTATCACCCGAACGCCAACGCCCGT
+GCGCTGGCGCAGCAGACCACTGAAACGATCGGTCTGGTCGTTGGTGATGTTTCCGATCCGTTTTTCGGCG
+CAATGGTGAAAGCGGTCGAACAGGTGGCTTATCACACTGGTAATTTTTTATTGATTGGCAACGGTTACCA
+CAACGAACAAAAAGAGCGTCAGGCCATTGAGCAACTGATCCGCCATCGCTGTGCTGCGCTGGTTGTCCAT
+GCCAAAATGATCCCGGATGCCGATTTAGCCTCATTAATGAAACAAATGCCCGGTATGGTGCTGATCAACC
+GTATCCTGCCTGGCTTTGAAAACCGTTGTATTGCTCTGGACGATCGTTACGGTGCCTGGCTGGCAACGCG
+TCATTTAATTCAGCAAGGTCATACCCGCATTGGTTATCTGTGCTCTAACCACTCTATTTCTGACGCCGAA
+GATCGTCTGCAAGGGTATTACGATGCCCTTGCTGAAAGTGGTATTCCGGCCAATGACCGGCTGGTGACAT
+TTGGCGAACCAGACGAAAGCGGCGGCGAACAGGCAATGACCGAGCTTTTGGGACGAGGCAGAAATTTCAC
+TGCGGTAGCCTGTTATAACGATTCAATGGCGGCGGGCGCGATGGGCGTGCTCAATGATAATGGTATTGAT
+GTACCGGGTGAGATTTCGTTAATTGGCTTTGATGATGTGCTGGTGTCACGCTATGTGCGTCCGCGCCTGA
+CCACCGTGCGTTACCCAATCGTGACGATGGCGACGCAGGCTGCCGAACTGGCTTTGGCGCTGGCGGATAA
+TCGCCCTCTCCCGGAAATCACTAATGTCTTTAGTCCGACGCTGGTACGTCGCCATTCAGTGTCAACTCCG
+TCGCTGGAGGCAAGTCATCATGCAACCAGCGACTAACCGCAGTTAAAGCAATTCCAGCGCCAGTAATTCT
+TCAATGGTCTGGCGACGGCGAATCAACCGCGCCTGACCATTATCAAACAGAACTTCTGGTAACAGCGGAC
+GGCTGTTGTAGTTGGATGACATTGATGCGCCATATGCCCCTGTATCATGCAGTACCAGATAATCACCCGC
+CTTCACTTCCGGCAAGGCGCGGGTTTCGACATTTCCCCCTTCCTGCTGGGTAAAGACATCGCCCGATTCA
+CATAACGGCCCGGCGACGACGGTTTCCACCGTTGGTGCGTGTTCCAGAGAACGACCATCAGCTGCCAGGG
+CACTGATATGGTGGTAACTACCGTACATTGCCGGGCGCATCAGATCGTTGAACCCGGCATCAACCAGCAC
+AAAGTGGCGGCTACCCATTTGTTTGACGCTCCGCACTTGAGTAATTAATACGCCAGCCTGCGCTACCAGA
+AAGCGACCCGGTTCAATTTCCAGTTTCACAGGATGGCCCAAATGGCGGGCGATTTGCTCACGCGCGGCAT
+TCCACAGACCATAATAATGTTCGGTATCAACCGCCTCTTCACCCTGTTGATAAGGAATAGAAAGCCCACC
+GCCCGCAGAAATAGCCTGTAAATCCTGACCGAATTCGAGGACCTGACGCACCATAGCACCACATACCTGT
+TCCAGATGGGCATAATCGACGCCAGAACCAATGTGCATGTGAATGCCGACCAGCTGTAGATGATGACGTT
+GTATCACGTCCAGTGCGGCGGGCAGATCGGTGTACCAGATACCGTGCTTGCTGTTTTCGCCACCGGTATT
+GGTTTTTTGGCTATGCCCGTGACCAAACCCCGGATTAACACGCAGCCATACCCGATGCCCTGGCGAAACC
+TGACCCAGTTGGTCGAGCATATCAACAGAACCCGCATTCACCGGAATTTGCAATTCACTGACGCGTTCAA
+GCGTCGCCTGATCGATAACATCTGCCGTAAAAACAATATCATCGGGGTGCGTTTGCGGATTGTAACCCGC
+CGCCAGTGCACGCTCTATTTCGCCTAACGAGACGGAATCCACTTTTACGCCCTGCTCACGCATTAAGCGC
+AAAATATGAATATTGGAACAGGCTTTCTGTGCAAAGCGCACCACATCAAACTGTTTCAGCGCTGCAATCT
+GCCGACGAATAATTTGCGCATCGTAGACCCACACCGGGCAGCCAAATTCTGCGGGCAAACGCAGCAGATT
+TTCGGCGGTGAGATCGGTATCAGTGCTGAACAGTGAATGTGGCATAACAAACTCCAGATAAGTGCTTTTT
+TATGATTACGCCACATCATAAAAAGAATAAAAAATATCGATTTATGTCGAGTCTATGCAAAAATGATATG
+GATTACCGGATTGCGAGAGAGCGCTAATGGCCGCCGTTAACTTACGTCATATTGAAATTTTTCATGCGGT
+AATGACCGCCGGAAGCCTGACTGAGGCGGCACACCTGCTACACACCTCACAGCCAACCGTCAGCCGCGAA
+CTGGCGCGCTTTGAGAAGGTGATCGGGCTGAAATTGTTTGAGCGCATACGTGGACGATTACATCCTACCG
+TGCAAGGACTGCGTCTGTTTGAAGAAGTGCAACGATCCTGGTACGGACTGGATCGCATTGTCAGTGCCGC
+AGAAAGTCTGCGCGAGTTTCGCCAGGGAGAACTGTCTATTGCCTGCCTGCCGGTCTTTTCGCAATCTTTT
+TTACCGCAGCTCCTGCAACCCTTTCTGGCACGTTATCCCGATGTCAGCTTAAACATCGTGCCCCAGGAAT
+CACCGCTACTTGAAGAGTGGCTCTCGGCCCAGCGTCATGATTTAGGACTCACTGAAACGCTCCATACGCC
+TGCGGGAACAGAACGTACCGAATTACTCTCTTTAGATGAAGTGTGTGTGTTACCTCCGGGCCATCCGCTG
+GCGGTAAAAAAGGTATTAACGCCGGATGATTTTCACGGTGAGAACTACATCAGCCTTTCCCGTACTGACA
+GCTATCGCCAGTTGCTGGATCAATTGTTTACTGAGAATCAGGTTAAACGACGCATGATCGTAGAAACCCA
+CAGCGCCGCGTCAGTCTGCGCAATGGTACGGGCGGGGGTAGGCGTTTCGGTGGTTAACCCGCTCACCGCA
+CTGGATTATGCGGCAAGCGGTTTAGTGGTGCGGCGGTTCAGCATTGCGGTTCCATTCACCGTCAGCCTGA
+TCCGCCCCCTGCACCGCCCGTCATCAGCGCTGGTGCAGGCGTTTAGTGAGCATTTACAAGCGGGATTACC
+GAAACTGGTCACTTCTCTTGACGCTATTTTGTCGTCAGCTACGACAGCATAAAAGCGACAGCATCCTCGG
+CATGGATCGCCGCGGTATCAAACACAGGCAGAACACTGCGCTCTTCTGGCACCAGTAAACCAATTTCTGT
+GCAGCCAAAAATGACGCCCTGTGCGCCCTGTTCTGCAAGGCGAGCAATCACTTGCGCATAATAAGCGCGT
+GACGCTTCGGTAAATTGCCCCAGACACAGTTCTTCAAAAATAATCTGATTAATTTTTGCCCGTTCATCCG
+CTTCAGGAATAAGACAGTTGATGGAAAATTGTTCCGTCAGCCGCCCGCGATAAAAATCCTGTTCCATGGT
+GTAACGTGTACCCAGCAGCGCCACACGAGTCATTCCTGCCCCGGTAATTGCACATCCAGTGGCATCCGCT
+ATGTGTAAGAAAGGCAGAGAGCAACGAGACTCAATGGCATCCGCCACTTTATGCATCGTATTGGTGCATA
+ACACAATACCTTCTGCGCCCGCCCGCTGTAAGCCAAGCGCCGCCTCAGCCAGAATATCCCCGGTTTTGTC
+CCACTCACCGCGACGCTGGCACTCTTCTATTTCATGAAAATCGACGCTATGTAGCAGCACTTGTGCAGAG
+TGAAGCCCACCAAGCCGCTGTTTAATGCCTTCATTTATCAGACGATAGTAAGGAATAGTGGATTCCCAGC
+TCATTCCTCCCAGCAAACCAATTGTTTTCATTCCTCTCTCCTGATGTGTGTTACCGCAACAAGGCTGAAT
+AAGGAACGAGACAAACGCCTCAACGGCCAGGTGCCTAATCTCTATTAACGAAAAAAGGGCCGGATGTACA
+GCACATCCGGCCCGTGAAATCAGACGCCGATATTTCTCAACTTTTCGCCTGCCATCAGTTTGCGCTCGAT
+ATGTTCCAGCGTGACATTTTTGGTTTCCGGAATGAGCCAGAAAGTGATGCCCACAAACGCAATGTTCAGC
+GCAGTGTAGAGCCAGAACGTACCGGCAGCGCCAATGCTATCAAGCAGTGTCAGGAAGGTCGCGCCGATAA
+TCATATTCGACACCCAGTTTGTCGTCGTTGAGCAGGTGATGCCAAAATCGCGGCATTTCAGCGGCTGAAT
+TTCAGAGCACAAGATCCACACCACTGGCGCGGCGCTCATCGCATAACCGGCAATACACATCATCGTCATG
+CCAACAGAGAGCCAGGACAAGCCACTGGAAGCCGTACCGTTATCAAACTGCATCAGGCAGTAACCCAGCA
+CCAGAGTGCCTAACGCCATCACGCTGAAACCAATTTTCAGAGCCGGCTTACGCCCTGCTTTATCTACCGT
+AAAGACCGCAATGAAGGTAGCGAACATAAAGGTCAGCCCCACGACCAGAGTCGCAATCATCTGTTGTTCT
+GTGGTCGTAAAGCCCGCCATTTTGAAGATACGTGGCGCGTAGTACATGATGATGTTCATACCGGTAAACT
+GCTGCATCGCCTGCAACAACATACCGAGAAATACAGCACGACGGACGTTACGGTTGATCTTAAACAGTGC
+CCAACCGCCCTGTTTTAACTTCAGGCTTTCACGAATTTCGTTGAGTTCTTCTCGCGCTTTTTCCGACGTA
+TCGCGCAGCATACGCAATACTTCTTCCGCCTCAATATGACGCCCCTTTTCCGCCAGCCAGCGCGGGCTAT
+TTGGCAGGAAGACCACCAGAATAATCAGCAGAACTGCTGGTAAAGCAAGAACCCCCAACATTGCGCGCCA
+GTTACCGCTATAACTGAACGCTGTATCGGATAAAAACGCCAGCACGATGCCGAGAGTGACCATCAACTGG
+TACATGCTGATCATCTTACCGCGAACGTTTTCACTTGCCATTTCAGAAAGATATAGAGGAGCGGTGTAAG
+ACGCGATCCCGACAGCAATGCCCAACACCACACGAGCGGCGATTAACATCTCTACGCTGGTCGCAAAAGC
+GGACCCTATCGAACCGAGTACAAACAGGATGGCCCCCGCCATCAGGCTGTATTTACGCCCCAGGCGGAAC
+GACAGCCAACCATTAAACAGCGCACCAATTGCTGCGCCGAGCATCATGCTACTGACCACCCATTCCTGCA
+AACGACTGGTCAGCACAAAGTGATCGGTAATGAACGGCAACGCTCCGGCGATTACGCCGATATCAAGACC
+AAATAACAATCCTGCGACCGCAGCAGCTACCGAAACAAACATATTCATACGCCGCATATCCCGCAGAGGA
+CGTGGCGTTAAAGCAGATTCCGTATTGATAGTAACCATTTTTTCCTGCCAGCAGAGAGTAAGACATAGTG
+AAAAAATACGTGAACAATTCACACAGGTGTCAGGTCGGAAATAGCATAAATATGGATTAAATTGCTACGA
+CATGTCGTTATGTGATGGATATTCCAATTTTCAAATTAAGTTGAATTATTGAGATTATTATTAACTACCT
+AATTTTAAAGCAGATAAAATTCATAAAGTTCATTAATTGATAATTGATATGGATTATTTCATAACCATGA
+TATGGATTATGATGATCTACAGGTATAAAAAACCCTGCCATGCGGCAGGGTCATAAAAGTAAGAGGAATG
+AATTAACGCGCCAGCCAACCGCCATCCACAGCAATGGTATAACCATTTACATAATCTGAAGCGCTGGAGG
+CAAGAAACACTACCGGCCCCATCAGGTCACTCGGCAGTCCCCAACGGCCAGCTGGAATGCGGTCGAGAAT
+TTCCGCGCTACGTTGTTCATCTGCCCGCAGTTGTTGAGTATTGTTGGTCGCCATGTAACCCGGAGCTATC
+GCATTAACATTAATGTTGTGTTTAGCCCATTCATTCGCCATCAATCGCGTCACGCCCATCACGCCGCTTT
+TTGATGCGGTATAAGAAGGCACACGGATCCCGCCCTGGAAGGAGAGCATTGACGCGATATTGATAATCTT
+GCCGCCATTGCCTTGCGCGATAAAGTGTTTCGCCGCTGCCTGAGACATGAAGAATACGCTCTTGATATTC
+AGGTTCATGACATCGTCCCAGTCTTTTTCGCTGAATTCGAGAGCGTCTTCGCGGCGAATCAATCCGGCGT
+TATTCACCAGGATATCAATATGACCAAACTCAGCTACCGCGCGATCCAGCAGTGCTGGAATGCCATCAAT
+CTTTCGCAGATCGGCGGTCAGGCTTAAAAAACGACGCCCCAGCGCCGTGACCTGCTTGATGGTTTCAGTC
+GGTTCAACGATGTTAATGCCAACAATGTCACAGCCCGCTTGCGCCAGCCCCAACGCCATCCCCTGGCCCA
+GCCCAGTATCACAACCAGTGACGACCGCAACTTTACCTTCGAGAGAAAATGCACTTAAAATCATAACAAT
+ACCTTATTCGTTTATGCCCACAACTAGCGCAAATCTTTAACGGCCACATGGTCCATATCATCAAAAACCT
+GGTTTTCACCGACCATGCCCCAGATAAAGGTATAAGCTTTGGTTCCGACGCCGGAATGGATCGACCAGCT
+CGGGGAGATCACCGCCTGCTCGTTATGCATCACAATGTGACGCGTTTCTTGCGGTTGCCCCATCATGTGG
+AAAACGCAGGCGTCATCATCCATATTGAAATAGAAATAAACTTCCATCCGGCGCTCGTGGGTGTGACACG
+GCATGGTGTTCCACAAGTTACCTGGAGCCAGCTCCGTCAGCCCCATACTCAATTGGCAGGTTTCCAGCAC
+ATCCGGGACAAAATATTTGTTAATCGTGCGACGGTTACTGGTGAGGTTATCGCCTAACGTGACTGGAGAT
+ACTTCGTCCGGTGTGACTTTTTTGGTGGGATACGTCGTATGCGCGGGTGCGCAATTGTAATAAAACTTCG
+CCGGAGTGGCGGTATCAATACTGGCAAAGACAACTTCTTTTGCACCTTTACCAACATACAGGGCGTCGCG
+GTGACCGATTTCATAGCATTGACCATCGACAGTAATCGTACCGGCACCGCCAATATTGATAACACCTAAC
+TCGCGACGTTCAAGGAAATAGCTTACGCCGAGTTGTTTACCAACTTCCCCGCCAACGGAAACCGTTTTAG
+TTACCGGCATAATGCCGCCAACAATAATACGGTCAATGTGGCTGTAAACCATGGTGTACTCATCGGCGAC
+AAATACCTTTTCAACCAAAAATTCATTGCGCAGCCCCTGGGTATCCAGCGTTTTTGCGTGCGCACTGTGG
+ATGCTCTGTCTTACGTCCACATCAACCTCCGATAATCAGTGAAGCGTGAAAATAGAAAACAATAATAAAA
+CACTGTTTCGTTTTCTCTATGAGGGGATGATATGCCCATGGGATAGGGTTTTCAATTAAAAATAAAACAA
+TGTTTCATTTTCAAGTTAAGGATTAAAAAAAGTGCAGTGTCGATCACGAATATGTCATGAGAATGGAAAA
+ATCAGGGAGCCCTGAAAAGGTATGTCGACTCACCAGCCATCATTATTCAACAGATTAATGACGGCAGATA
+TTTATCGGTAAGGAGGAAATGCAGAGCTACTCGTCACGTTCAATGGTCAATGCCACACCCTGGCCCCCGC
+CGATACAAAGCGTTGCCAGTCCTTTGCGGGCATTACGTTTCACCATTTCATGAACAAGAGAAACCAGGAT
+TCGGCAACCGGAAGCGCCTATCGGGTGACCGAGTGCGATCGCACCACCATTGACATTGACCCGACGCTCA
+TCCCATTCAAGCATCTTGCCAACCGAAAGCGCCTGTGCAGCAAACGCTTCATTAGCCTCGATAAGATCGA
+CATCAGCCAACTGCCAGCCAACACGCTCCAGGCAACGGCGGGTCGCATACACCGGCGCAATTCCCATCAA
+TGCCGGATCCACACCAACGCTGGCAAATGCGCGGATGCAGGCCAGCACGGGTAAATTCAACGCTCGTGCT
+TTGGCTTCGCTCATCATCATTACTGCAGCTGCCCCATCGTTTATGGATGATGCATTACCCGCTGTCACAG
+AACCGAGACTATCAAATGAAGGATTTAAACGGGCTAAGCCTTCTGCGCTGGTGTCAGTGCGTGGCTGTTC
+ATCGGTATCAACAACCAACGTCTGTCCGTTACTTTGGGTTATTACCGGGACGATCTCATCTTTAAATCGT
+CCGGCGTCAATCGCCGCTCGCGCTTTTTGTTGCGAGCTAAGTGCGTAAGCATCCTGCAACTGACGGCTGA
+TGCCATATTCGCGAGCCAGATTTTCGGCGGTGACACCAATATGATAATCATTGAAGGCATCCCACAACCC
+ATCATGCACAAGACTATCAACCAACTGGCTATTGCCAAGCTGTGCGCCGGTGCGGCTATCAGTCAGAACA
+TGTGGTGCGCGGCTCATGTTTTCCTGGCCACCGGCGATGACAATATCAGCCTCGCCACACTGTATCGCCT
+GAGTAGCCAGATGCAGTGCTTTAAGCCCGGAACCACAAACGTCATTAATAGTGATTGCAGAAACGCTATT
+AGGAAGACCACCTTTAATAGCCGATTGTCTTGCCGGATTCTGCCCTGCCCCTGCAGTCAACACCTGACCA
+AGAATCACTTCATCCACCGCATATGCAGGAACGCCGGTACGTTCTATTAACGCTTTGACGACCAGGCTGC
+CAAGTTCCACGGCGGAATGACCCGCTAACGCACCACGAAAGCAGCCGATAGGTGTCCGTAACGCCCCGAC
+AATCACAACGTCTTTCATCACAACCTCGCACCAATTAACAGTGCAATAGTAAATGATTGTTAATTACAGT
+TATCTTAATTGTTTAAAAAAAGTGACTATTATCACAAAGGAAATACGCCTGAGTAGTAGTCAGAGACATA
+ACTGGCACGTAAGGTTTGCAACCACTAACTCACCAATAGAGAGGTAGATAGGGCGTTAATCTCCCATACT
+TAACCTGGTTTATGGTAAATTGCCCTCCATTTTGTTTAATTTGTAGATGATACGTTCAGATAATGTCTAA
+TATTTGGTCAAAAGAAGAAACTCTGTGGAGTTTCGCGCTCTACGGCACAGCCGTTGGTGCAGGCACGCTC
+TTCCTTCCTATTCAGTTAGGTTCGGCGGGGGCTGTGGTCCTGTTTATTACTGCTCTGGTCGCCTGGCCTT
+TAACATATTGGCCACATAAAGCCTTATGCCAGTTCATCCTCTCATCGAAAACATCAGCAGGTGAAGGGAT
+AACGGGCGCGGTAACACACTACTATGGCAAGAAGATTGGTAATCTGATTACCACGCTGTACTTCATCGCC
+TTTTTTGTCGTCGTGTTGATATATGCAGTGGCAATTACCAACTCACTTACGGAACAGCTGGCAAAGCATA
+TGGTTATTGATCTTCGCATCCGTATGTTGGTGAGTCTGGGGGTTGTATTAATCCTGAATCTCATTTTTCT
+GATGGGACGCCATGCAACCATTCGGGTAATGGGATTTTTGGTATTCCCATTGATTGCCTATTTCTTATTT
+CTTTCTATTTACCTGGTCGGTAGTTGGCAACCTGATCTATTAACAACCCAGGTAGAGTTCAATCAGAATA
+CCCTTCACCAGATATGGATATCGATTCCCGTGATGGTTTTCGCTTTTAGCCATACGCCCATTATTTCTAC
+GTTTGCCATAGACAGACGTGAAAAATATGGCGAACATGCTATGGATAAATGCAAAAAAATTATGAAAGTC
+GCTTATCTCATCATCTGCATAAGTGTATTGTTCTTTGTCTTTAGCTGCCTGCTTTCTATTCCACCTTCGT
+ATATTGAAGCGGCTAAAGAAGAAGGGGTTACCATTTTATCGGCGCTTTCTATGCTGCCGAACGCCCCAGC
+ATGGTTATCAATTTCCGGGATTATTGTCGCAGTAGTTGCGATGTCGAAATCATTCCTGGGTACGTACTTT
+GGCGTTATTGAAGGTGCCACAGAGGTCGTCAAAACAACATTACAGCAGGTTGGTGTAAAGAAAAGTCGTG
+CATTTAACCGCGCACTATCAATTATGTTGGTATCGCTGATTACCTTCATTGTTTGTTGCATTAACCCGAA
+CGCGATTTCGATGATTTACGCGATCAGCGGCCCGCTCATTGCCATGATACTTTTCATCATGCCTACGCTG
+TCAACGTATCTCATCCCGGCGCTTAAACCCTGGCGTTCCATCGGAAATCTGATTACGCTGATCGTGGGTA
+TCCTGTGCGTATCGGTAATGTTCTTTAGCTAATATCCGTTGTGGATGGTTCAAAATTGCTTCAATTTTGA
+ACCATCCCAGTTTTCATAATGTTCATTTGTTATTATTCCGCCCTATCACTTCTCTCGTAATATTATATAA
+TTATCAGCTAGTTAAACACACAAAGAGTTCTGAACATCTTAAATAAGACTATTTAAGATACATGACGATT
+GCATTGCGTAAACGCTTTTTATTTACAAAAAATGGGGAAGTATTACGGCGATTGCGAAAAGTCTGAAGCG
+CTTGAATTAAGATAATATAGAAAATCAGATACAACAAAAATGGCAGGTAGATGATGTGAAGATAAATTGG
+AGCGGGCGAAGGGAATCGAACCCTCGTATAGAGCTTGGGAAGCTCTCGTTCTACCATTGAACTACGCCCG
+CTTCGAGATGCGTAAGGCATTATAAACCTTACGCTCTCCTTAGCAAGTACCACGCTGCTGACTGCTGATT
+AATTCACCATCAGCATTTTGGCTTGCTGCCCTGAGGCGGCAAGTAACGTAGCGGATCAATTGCCGTTGCA
+CGGTAACGAATCTGGAAATGCAGGCGAACAGATGCCGCATCAGTGCTCCCCATAGTGGCGATTTTTTGCC
+CAGCTTTCACGCTTTGCCCATTATTTACCAGCATCGTGTCATTATGAGCGTAAGCCGTAATGTAATCTTC
+ACTGTGTTTAATCATGATGAGATTACCGTAGCCACGCAGCTGGTTACCCACATACACCACCTTTCCTGCA
+CCCGCGGCGTAAATAGGTGTACCTCGTGGAGCTGAGATATCAATCCCTTTATTGCCGCCATCTGCTGTCG
+AATACGGCATGATAACTTTCCCTGTCGTTGGCCATAACCAACAACGTTGCCCTACTGGCGGCCAGGAAGA
+TTTCGGTACCGCTGATGACGGTGTAACCGATGCGGTTTTGGTCGTTGATTTGGCGGTTGATTTACGTGTA
+CTACTGCTACTTTTCGCCCCACCCAGTTTTAGTTTCTGACCTACTTCAATGGTGTAAGGGGGGGAAATGC
+CGTTCAGTCGCGCCAGTTCTTTTACGCTGGTTCCCGTGGTGCGCGAAATACGATATAGCGTATCCCCCCG
+TTTCACGGTGTAAACGGAGCCGGAATACGTTCCTGTATCGGATGATTTGCTACCCGAACAGCCCGCCAAA
+AGCAGCCCAACCGATAACAACATCACGATACCCAGAGATTTTTTATTCAGGCGTCCCGCACTCAAAATCT
+TTCCTCGCTTAAAAAACAAGACGCCATATCATAGCAGCCAGCCTCTTGATACCCAATCTCTTGCTTCTGG
+AAAAACGATGTAATAGAGAAAGAGGTTAATTTCATTTGGCAAAGGGAAGTATCATCAGCAAAATATTTGC
+TGTAGTGGTATCGAAGTTCCTGACTTTTACCCTATTTCCCACCTTGATGCGTAATAATCCTAATTTATCA
+CATTGATTTTATCGCCACTCATATTGATACGTATCACTGTCCCTATTCAGAGTCCTGTTTCGTATCATAT
+CTGTGTTTTTTTAACGTCATCACACTTCCTTCCTCCCCTCACGCATATAGTCGTTTCTGGCGTAATTCTT
+GCCTGCTAAGACTAAATCTTTGCCATAAGAACCAAATGTTCAAACCGAGGGGATTTCTATGGAAGCGCGG
+GAAGCAACCGCTACGGGTGAATCATGCATGCGCGTCGATGCCATTGCTAAGGTCACCGGGCGGGCACGAT
+ATACTGACGATTATGTTATGGCGGGCATGTGTTACGCGAAATATGTACGTAGTCCTATCGCACATGGTTA
+TGCCGTAAGTATTAATGATGAACAAGCCAGGAGTTTGCCGGGCGTCCTGGCGATTTTTACCTGGGAAGAT
+GTGCCAGAAATCCCATTCGCCACGGCAGGGCATGCCTGGACACTTGACGAAAACAAGCGCGATACCGCCG
+ATCGCGCACTGCTAACTCGCCATGTTCGTCATCATGGCGACGCCGTTGCCATCGTCGTGGCCCGCGATGA
+ACTCACGGCAGAAAAAGCGGCGCAATTGGTCAGCATTGAGTGGCAAGAATTACCCGTTATCACCTCGCCA
+GAAGCGGCGCTGGCAGAAGACGCTGCACCAATCCATAACGGTGGCAATTTACTGAAACAAAGCACGATGT
+CGACGGGTAATGTCCAACAAACAATCGATGCCGCCGACTACCAGGTACAGGGGCACTATCAGACTCCCGT
+TATTCAACATTGTCATATGGAAAGCGTGACATCGCTGGCATGGATGGAGGATGACTCGCGAATTACCATC
+GTTTCCAGCACCCAGATCCCGCACATTGTTCGCCGCGTGGTTGGTCAGGCGCTGGATATTCCCTGGTCAT
+GCGTACGAGTCATCAAACCGTTTATCGGTGGCGGTTTTGGTAATAAACAGGATGTACTGGAAGAGCCAAT
+GGCGGCATTCCTGACCAGCAAACTTGGCGGCATTCCGGTGAAAGTTTCCCTTAGCCGTGAAGAGTGTTTC
+CTCGCAACCCGTACCCGCCACGCTTTTACTATTGACGGGCAAATGGGCGTGAACCGCGACGGAACATTGA
+AAGGTTATAGTCTGGATGTTCTGTCTAACACCGGCGCTTATGCATCTCACGGGCACTCCATTGCTTCTGC
+TGGGGGGAATAAAGTCGCTTACCTTTATCCTCGTTGTGCCTACGCTTACAGTTCAAAGACCTGCTATACC
+AACCTCCCCTCGGCTGGTGCGATGCGTGGTTATGGCGCGCCACAAGTCGTATTTGCCGTTGAGTCTATGC
+TTGATGATGCCGCGACAGCGTTAGGTATTGATCCTGTTGAAATTCGTTTACGCAACGCCGCCCGCGAAGG
+AGATGCTAATCCGCTCACGGGAAAACGTATTTACAGCGCAGGGTTGCCGGAGTGTCTTGAAAAAGGCCGG
+AAAATCTTTGAATGGGAAAAACGCCGTGCAGAGTGCCAGAACCAGCAAGGCAATTTACGTCGTGGCGTTG
+GCGTCGCCTGTTTTAGCTACACCTCTAACACCTGGCCTGTCGGCGTAGAAATAGCAGGCGCGCGCCTGTT
+GATGAATCAGGATGGAACCATCAACGTGCAAAGCGGCGCGACGGAAATCGGCCAGGGTGCCGACACCGTG
+TTCTCGCAAATGGTGGCAGAAACCGTGGGAGTTCCGGTCAGCGATGTCCGCGTAATTTCGACACAAGACA
+CCGACGTTACACCATTCGACCCCGGCGCATTTGCCTCACGTCAGAGCTATGTTGCCGCGCCTGCGCTGCG
+CAGTGCGGCACTGTTATTAAAAGAGAAAATCATCGCTCACGCCGCAGTCATGCTACATCAGTCAGCGATG
+AATCTGACCCTGATAAAAGGCCATATCGTGCTGGTTGAACGACCGGAAGAGCCGTTAATGTCGTTAAAAG
+ATTTGGCGATGGACGCTTTCTACCACCCTGAACGCGGCGGGCAGCTCTCTGCCGAAAGCTCCATCAAAAC
+CACCACTAACCCACCGGCGTTTGGCTGTACCTTTGTTGATCTGACGGTCGATATTGCACTGTGTAAAGTC
+ACCATCAACCGCATCCTCAACGTTCATGATTCGGGCCATATTCTTAATCCGCTGCTGGCAGAAGGTCAGG
+TACACGGCGGAATGGGGATGGGCATTGGCTGGGCGCTATTTGAAGAGATGATCATCGATGCGAAAAGCGG
+CGTGGTCCGTAACCCCAATCTGCTGGATTACAAAATGCCGACCATGCCGGATCTGCCACAACTGGAAAGC
+GCGTTCGTCGAAATCAATGAGCCGCAATCCGCATACGGACATAAGTCACTGGGTGAGCCACCCATAATTC
+CTGTAGCCGCTGCTATTCGTAACGCGGTGAAGATGGCTACCGGTGTTGCAATCAATACACTGCCGCTAAC
+GCCAAAACGATTATATGAAGAATTCCATCTGGCAGGATTGATTTGAGGATAACATCATGTTTGATTTTGC
+TTCTTACCATCGCGCAACCACCCTTGCCGATGCCATCACCCTGCTGGCTGACAATCCGCAGGCCAAATTG
+CTTGCCGGTGGCACTGACGTACTGATACAGCTTCACCATCACAATGACCGCTATCGCCATATTGTTGATA
+TCCACAATCTGGCAGAGCTTCAGGGAATAACACAGGCGGAAGATGGCGCGCTGCGAATCGGCTCCGCGAC
+AACATTTACTCAGCTCATTGAAGATCCCGTAATCCAACGCAATCTCCCGGCGTTATGTGCTGCGGCTGCA
+TCAATCGCCGGGCCGCAGATCCGTAATGTCGCCACCTACGGCGGAAATATTTGCAACGGTGCCACCAGCG
+CAGATTCTGCCACGCCAACGCTAATTTATGACGCGAAACTGGAGCTCCACTCCCCACGCGGTGTTCGTTT
+CGTCCCGATTAATGGCTTTCACACCGGGCCGGGCAAAGTGTCTCTTGAGCATGACGAAATCCTTGTCGCC
+TTTCATTTTCCGCCACAGCCGAAAGAACACGCGGGCAGCGCACATTTTAAATATGCCATGCGCGACGCAA
+TGGATATTTCAACAATTGGCTGCGCCGCACATTGCCGACTGGATAACGGCAATTTCAGCGAATTACGCCT
+GGCATTTGGTGTTGCCGCGCCAACGCCGATTCGCTGCCAACATGCCGAACAGACTGCACAAAATGCGCCA
+TTAAACCTGCAAACGCTGGAAGCCATCAGCGAATCAGTCCTGCAAGATGTCGCCCCGCGTTCTTCATGGC
+GGGCCAGTAAAGAGTTTCGTCTGCATCTCATCCAGACGATGACCAAAAAAGTGATTAGCGAAGCCGTCGC
+CGCGGCGGGGGGAAAATTGCAATGAATCACAGCGAAACAATTACCATCGAATGCACCATTAACGGGATGC
+CTTTTCAGCTTCACGCCGCGCCAGGAATGCCGCTTTCGGAACTACTCCGAGAACAAGGGCTTCTTAGTGT
+CAAACAAGGTTGCTGCGTAGGCGAATGCGGTGCCTGTACGGTGCTGGTCGACGGCACAGCAATAGACAGT
+TGCTTATTCCTTGCGGCCTGGGCTGAAGGAAAAGAGATCCGCACGCTGGAAGGTGAAGCGAAAGGTGGAA
+AACTTTCTCATGTCCAACTGGCTTATGCGAAATCCGGCGCAGTGCAATGCGGGTTTTGTACGCCGGGCCT
+GATTATGGCTACCACGGCGATGCTGGCAAAACCACGCGAAAAACCATTAACCATTACGGAAATTCGTCGT
+GGACTGGCGGGAAATCTTTGTCGCTGCACGGGGTATCAGATGATTGTAAATACAGTTCTGGATTGCGAGA
+AAACGAAGTAAAAGGATATCCGGCCTGAATTCAGGCCGGATTCTCAGAGGTTATGTGTTTAACAACTCAT
+ATTTCTTAATCTTGCGATAGAGCGTAGCAATGCCGATGCCCAGTTCATCAGCAACTTCCTTCTTGCTGTT
+ATGACGTGAAAGCGCCTCGCGGATCATTTGCTTTTCCATCTCCTCCAGCGCCGTGCCGCCCGCATCATCG
+AGTGACAGGTGCGCCTCACTGACCTCTGTTACATCACTTTGCTCCGTTGTGCCATTATTCAGCAGATTTG
+GCGGCAATAGCGTGCTGTCGATAACTTCACCTGAAGGAACAACGTTAACCAGATATTCCATCAAATTGCT
+TAACTCGCGCAGGTTTCCGGGCCAACGATGCTTACGCAATATTTCGACGACATCAGGAGCAATGCCAGGA
+TAAACCGATCCCAGACGACGGGTATGCAGATGTAAAAAGTAATGCACCAGTAATTCAATATCTTCCTGAC
+GTTCACGCAGCGGTGGAAGAGTTATCGGGATAACATTAAGTCGGTAGAAGAGATCTTCGCGGAATTTACC
+TTCGGCAATGAACTGGGCCAAATTCTGATTAGTTGCAGAAATGATGCGGATGTCGACTTGTATTGGGCTA
+CTGGCACCAATCGGCAGAATTTCACGCGCCTCAATAGCGCGCAGTAATTTAGCCTGCAACATTAATGGCA
+TATCACCAATTTCATCGAGAAACAGCGTGCCCGTATTCGCCGCCTGAATCAACCCTGTTTTACCGTTGGC
+AGAAGCGCCAGTAAATGCGCCTTTAACATAACCGAACAGTTCGCTCTCCAGAAGCTGTTCCGGAATCGCG
+GCACAGTTGATAGCAATAAAGGGTTTATTCCGTCTTCCGCTCAACTTATGGATTGCACGGGCGACGACTT
+CTTTACCCGTGCCGCTTTCACCAACCACCATAACGCTGGATGGGCTGGGTGCAATACGGCTAATGAGTCG
+TTTTAATTGCCGCATAACACGGCACTCGCCAACCAATTGTTCAATATGCGGTTCATCAGGTGCATTTGCT
+ACAGAAAAACTGGTATGCGATTGGTGAAACGCCATTAAAAATAGTTGTCGGCCCTGGATGTTATGCAACT
+GACCAATGATTAATTCACTTTTATCATCCCACGAAACAATATGTTGCATATGACCATGGGTAAAATTACT
+CTCAAATGTTAATGGTCTGAAACGAACAGGTTTTCCAATAATATTATTTTGTACAACACCGAGTGTTTTT
+AAAGCTGTCTGATTAACAAACTGAACACGATTATCAGCATCAACCACTAACACGCCCTGATCCATATTAT
+CGATCATGGTCGCGAATATTTTACTGATGTTATCTCCTGGTCCCTGATCCTCCAGAAGTTTAGAAACAAA
+AATGGTGGATATATGGCGAACGTAATCGGAAAATTCGCGTAAATTATCACTGATATGTTCTTGTTGCTCG
+TGGGTAACGGCAATCAAACTTATCACCCCAACACAACGATCCTGTAAAATGACAGGCGTACCCAGAAATG
+CTTTTTCGCGGCAATTTTCTTTACTATCGCAACCTTCACAAAGGGGATCGAAGCGAGACTGTGTCACAAC
+TTTTTCAGTTTTCGTTTCCAGGACGTGGCGGAGCAGGCGTGAGTTGCCGCTCAACTGGCGGCCAAGAAAC
+TTCCCATACGCGCCCGTTCCGGCGACGCGACACAAGTTTTCATCAACGATCTCAACCTCAAGCTGCAAAA
+CGCTGGCAAGCATTCTGGCAAAACGCTGAATTGTCGGTTGAATTTGCATCAATACTGACTGCGTAGTCGC
+AAGCTCCATAGCTTTACCTTCCAGACTTACTTAAAAGTCGATCATTGAAGACGTTGATGGTTCACAGATC
+ATGATGATATTAACTCAGGCGAAATTGGCTTTGATAAAAACATAAGATTTTTATCACTTTCTAATAAAAT
+TATGGAAGAGATATCACATTTCTATATCAATATGAGAATTACAGCGGCAAGTTTATCAAACTGAAGAGAG
+ATACCCTGCCTCTTTATCTTATTTCTGATACTTAGCAGCAAATAAATAACGCGATAAAAAAAGCCAAACG
+TTTTCGTATTTTACAAACAACCGGAAGCTGGCATCAATTTGTGATCAACCCCACACATTATCCGTCAAAT
+TAGTCTTTTGCAGCCCCGAGGATAATTCTGGCACACTTATTGTTAGTCCCAGGTATAGCTGTGAAAACAC
+CAATCACTTTGGCAAGTCACAGTGAAATAAACCACTTTGCCTGTCATTCCACTACCGGGACTTTATGATG
+AAAACTGTTAATGAGCTGATTAAGGATATCAATTCGCTGACCTCTCACCTTCACGAGAAAGATTTTTTGT
+TAACGTGGGAACAGACGCCAGATGAACTGAAACAAGTACTGGACGTTGCCGCCGCGTTAAAAGCACTGCG
+TGCTGAAAACATCTCAACCAAAGTCTTTAATAGTGGATTAGGTATTTCCGTATTCCGCGACAATTCCACC
+CGTACCCGCTTCTCTTATGCTTCCGCGCTTAACCTGCTCGGCCTTGCACAACAAGATCTTGACGAAGGTA
+AATCACAAATCGCTCACGGCGAAACCGTGCGTGAAACCGCCAATATGATCTCCTTCTGCGCTGACGCTAT
+CGGTATTCGCGACGATATGTATCTGGGCGCAGGCAACGCTTATATGCGTGAAGTTGGCGCTGCACTTGAT
+GACGGCTACAAGCAGGGTGTGCTGCCGCAGCGTCCGGCTTTAGTGAACCTGCAATGCGATATTGACCACC
+CGACTCAGTCTATGGCTGACCTGGCATGGTTGCGTGAACACTTTGGTTCGCTGGAAAACCTGAAAGGCAA
+AAAAATCGCCATGACCTGGGCCTACTCCCCAAGCTATGGCAAACCGCTCTCTGTACCACAAGGCATCATA
+GGTCTGATGACCCGCTTCGGTATGGATGTCACCCTGGCCCATCCGGAAGGCTACGACCTGATCCCGGATG
+TCGTTGAAGTTGCTAAAAACAATGCTAAAGCCTCCGGTGGTAGCTTCCGTCAGGTCACCAGCATGGAAGA
+AGCCTTCAAAGACGCAGACATCGTTTATCCGAAGTCATGGGCACCTTACAAAGTGATGGAAGAGCGTACT
+GAATTGCTGCGTGCGAACGATCACGAAGGCTTAAAAGCACTGGAAAAACAGTGTCTGGCACAGAACGCGC
+AACACAAAGACTGGCATTGTACTGAAGAGATGATGGAACTGACCCGTGATGGCGAAGCCCTGTACATGCA
+CTGCCTGCCAGCTGATATCAGCGGCGTATCCTGCAAAGAAGGTGAAGTGACTGAAGGCGTATTCGAAAAA
+TACCGTATCGCTACCTACAAAGAAGCCAGCTGGAAGCCTTATATCATCGCCGCGATGATCCTGTCCCGTA
+AATACGCCAAACCAGGTGCACTGCTCGAGCAACTGCTGAAAGAAGCGCAAGAACGCGTGAAATAACCCCT
+CGGGCCGATCAGCTGGTCGGCCCTCTATTTCCAGAGGCCAAAAGGATAGGATATGTCCGTTTTCTCATTG
+AAGATTGATATCGCCGATAACAAATTTTTCAACGGCGAAACATCACCGCTTTTTTCGCAAAGCCAGGCAA
+AACTGGCACGCCAGTTCCACCAGAAAATTGCTGGTTATCACCCAACACCGCTTTGTGCGCTGGACGATCT
+CGCAAACCTGTTTGGTGTAAAGAAAATTCTCGTCAAAGACGAATCAAAACGATTCGGTCTGAACGCCTTC
+AAAATGCTCGGCGGTGCGTACGCCATCGCTCAATTATTGTGTGAAAAATATCATCTTGATATCGAAACGC
+TGTCATTTGAGCACTTGAAAAATGCCATCGGCGAAAAAATGACTTTCGCGACTACCACCGACGGCAACCA
+CGGGCGCGGTGTGGCATGGGCAGCACAGCAACTCGGACAGAATGCGGTGATTTACATGCCGAAAGGTTCT
+GCTCAGGAACGCGTTGACGCCATTCTAAACCTCGGTGCCGAGTGCATCGTCACGGATATGAACTATGACG
+ATACCGTTCGCCTGACCATGCAACACGCGCAGCAGCACGGCTGGGAAGTGGTACAGGACACGGCATGGGA
+AGGTTACACCAAAATCCCAACCTGGATCATGCAAGGCTACGCAACACTGGCGGATGAAGCCGTCGAGCAA
+ATGCGTGAAATGGGCGTCACCCCGACACACGTTCTGCTGCAAGCCGGTGTCGGTGCAATGGCCGGTGGTG
+TGCTGGGTTATCTGGTCGACGTCTATAGCCCGCAAAATCTGCACAGCATTATTGTTGAACCTGACAAAGC
+TGACTGTATTTATCGCTCCGGCGTCAAAGGCGACATCGTCAACGTTGGCGGTGATATGGCCACCATCATG
+GCGGGCCTGGCCTGCGGCGAACCTAACCCACTGGGCTGGGAAATCCTACGTAACTGCGCCACCCAATTCA
+TCTCCTGCCAGGACAGCGTTGCCGCATTAGGTATGCGCGTGCTGGGTAATCCGTATGGCAACGACCCGCG
+CATCATCTCCGGTGAATCCGGCGCTGTCGGTTTGGGCGTTCTCGCAGCGGTTCATTATCACCCGCAACGT
+CAAAGCCTGATGGAAAAACTGGCGCTGAACAAAGATGCCGTGGTGCTGGTTATCAGCACTGAAGGCGACA
+CCGACGTGAAGCACTACCGCGAAGTTGTCTGGGAAGGCAAACACGCTGTAGCACCTTAATCACCCTATTG
+GAACTGCTCCCTGCAAAACGGGGAGTAAAAAATCTGGAGAAAAATAATGGCTAAGAATATTCCATTCAAA
+CTGATTCTTGAAAAAGCAAAAGATTACCAGGCAGACATGACTCGCTTCCTGCGCGATATGGTTGCTATTC
+CCAGTGAAAGCTGCGACGAGAAACGCGTAGTACATCGTATTAAAGAAGAGATGGAAAAAGTCGGCTTCGA
+TAAAGTTGAAATCGACCCAATGGGCAACATTCTCGGTTATATCGGCCACGGCCCGCGTCTGGTGGCAATG
+GACGCTCATATCGATACAGTCGGCATTGGCAACATCAAAAACTGGGACTTCGATCCGTATGAAGGCATGG
+AAACCGACGAGCTGATCGGTGGTCGTGGTACTTCCGACCAGGAAGGCGGCATGGCGTCTATGGTATATGC
+CGGAAAAATCATTAAAGATCTCGGTCTGGAAGATGAATATACCCTGCTGGTCACCGGTACTGTGCAGGAA
+GAAGACTGCGACGGTCTGTGCTGGCAATACATTATTGAACAATCCGGCATTCGCCCGGAATTTGTGGTCA
+GTACCGAACCAACCGACTGCCAGGTATACCGTGGTCAACGCGGTCGTATGGAAATTCGCATTGATGTTCA
+GGGTGTTAGCTGCCACGGTTCGGCACCAGAACGTGGTGATAACGCCATTTTCAAAATGGGTCCAATTCTT
+GGCGAATTACAGGAACTGTCTCAACGTCTGGGCTATGACGAATTCCTCGGCAAAGGTACGCTGACTGTTT
+CTGAAATCTTCTTCACCTCCCCAAGTCGTTGCGCTGTAGCAGACAGCTGCGCAGTTTCAATCGACCGTCG
+TCTGACCTGGGGCGAAACCTGGGAAGGCGCGCTGGACGAGATCCGCGCTCTACCTGCAGTACAGAAAGCT
+AACGCGGTTGTTTCTATGTACAACTACGACCGCCCGTCCTGGACTGGCCTGGTTTACCCAACCGAATGCT
+ACTTCCCGACCTGGAAAGTGGAAGAAGATCACTTCACCGTTAAAGCACTGGTGAATGCTTATGAAGGGCT
+GTTTGGTAAAGCGCCTGTCGTTGATAAGTGGACCTTCTCGACTAATGGCGTATCCATCATGGGTCGCCAC
+GGCATTCCGGTCATCGGTTTTGGCCCTGGTAAAGAACCGGAAGCGCACGCGCCAAACGAAAAAACCTGGA
+AATCTCACCTGGTAACCTGTGCCGCTATGTACGCTGCAATCCCATTAAGCTGGCTGGCAACCGAATAATT
+ACTCTTCACTTATTCCCCTCCGGTTCGCCGGAGGTTTTTTGGAGTTTGCTATGCGCGTATTGATAAAAAA
+CGGCATTGTTGTTAATGCAGATGGACAGGCGAAGCAGGATTTGCTGATTGAAAGCGGGATTGTTCGCCAG
+TTGGGTACCGATATTTCGCCGCAACTCCCTTGCGAAGAAATTGATGCCTCTGGCTGTTACGTTTTCCCTG
+GCGGCGTGGATGTCCATACGCATTTCAATATTGATGTCGGCATCGCGCGCAGTTGTGATGATTTTTTTAC
+CGGTACCCGCGCTGCTGCGTGTGGCGGTACAACAACCATTATTGACCATATGGGATTTGGCCCAAATGGC
+TGCCGGTTACGCCATCAACTGGAAGTTTATCGCGGTTATGCCGCCCACAAAGCAGTCATCGACTACAGCT
+TTCACGGTGTCATTCAACATATTAATCACGCTATCCTCGACGAAATTCCGATGATGGTTGAGGAAGGACT
+GAGCAGTTTTAAACTCTATTTAACCTATCAATATAAACTCAACGATGATGAAGTGTTGCAGGCATTACGC
+CGCTTGCATGAGTCCGGCGCGCTGACCACCGTACACCCGGAAAATGACGCAGCTATCGCCAGCAAGCGGG
+CGGAGTTTATCGCCGCAGGGTTAACCGCGCCGCGTTATCATGCCTTGAGTCGACCTCTGGAATGCGAAGC
+GGAAGCCATCGCCCGCATGATTAACCTGGCACAAATTGCCGGTAACGCCCCGCTCTATATCGTGCACCTG
+TCTAACGGCTTAGGTCTGGATTATCTGCGTCTTGCCCGTGCGAATCACCAGCCAGTCTGGGTTGAAACCT
+GCCCACAATATCTCCTGTTGGACGAACGCAGTTACGATACAGAAGATGGCATGAAGTTCATTCTTAGCCC
+ACCGCTGCGTAACGTACGCGAGCAGGACAAACTGTGGTGTGGCATCAGCGATGGTGCGATTGACGTGGTG
+GCAACCGATCACTGCACCTTCTCGATGGCTCAACGCCTGCAAATTTCTAAAGGCGATTTCAGCCGCTGCC
+CAAATGGCTTACCCGGTGTGGAGAACCGCATGCAACTGCTGTTCTCCAGTGGCGTGATGACGGGACGTAT
+CTCACCGGAGCGTTTTGTTGAGTTAACCAGTGCAATGCCCGCCAGGCTGTTTGGCCTGTGGCCACAAAAA
+GGATTATTAGCGCCCGGTTCCGATGGCGACGTGGTGATTATAGACCCACGTCAGAGCCAACAAATTCAGC
+ATCGCCATCTCCACGACAACGCTGACTACTCGCCATGGGAGGGGTTTACCTGTCAGGGCGCGATTGTCAG
+AACCTTATCCCGTGGTGAAACGATTTTCTGCGACGGCACCTTTACAGGCAAAGCCGGGCGAGGTCGTTTC
+CTGCGACGCAAACCGTTTGTCCCTCCCGTGCTCTAACCACTGCCAGGGATCTATACACAATCAAGAATGA
+TGAGTGAGGAAAAATGAGTAAGAAAATTGTTCTCGCCCTGGGCGGGAATGCGCTGGGCGATGACCTGGCT
+GGGCAAATGAAAGCGGTAAAAATTACTTCTCAGGCAATTGTTGATTTAATTGCCCAGGGACATGAGGTCA
+TCGTCACTCATGGCAACGGGCCACAGGTGGGCATGATTAACCATGCCTTTGAAGCTGCAGCAAAAACTGA
+AGCGCACTCGCCAATGCTGCCGATGTCTGTCTGTGTTGCCTTAAGCCAGGGTTATATTGGTTACGATCTA
+CAAAACGCCTTAAGAGAAGAACTGCTTTCTCGTGGCATTAATAAACCTGTAGCAACGCTGGTTACCCAGG
+TCGAAGTCGATGCTAACGATCCGGCATTCCTCAACCCGACCAAGCCGATCGGTTCGTTCTTTACCGAGCA
+AGAAGCAGAGCTACTGACAAAACAGGGTTACACTCTGAAAGAAGATGCGGGTCGCGGCTATCGTCGTGTC
+GTTGCTTCGCCAAAACCGGTTGATATCATTGAAAAAGAAACGGTTAAAGCTCTGGTAGATGCCGGACAGG
+TGGTGATCACCGTTGGCGGTGGTGGTATCCCTGTTATTCGTGAAGGTAACCATCTGCGTGGTGCCAGCGC
+GGTTATCGATAAAGACTGGGCCAGCGCCCGTTTAGCAGAAATGATCGATGCCGATATGCTGATCATTCTG
+ACTGCGGTAGAAAAAGTGGCCATTAACTTCGGAAAAGAGAATGAACAGTGGCTCGATCGCCTGTCGTTAA
+GTGATGCTGAACGCTTTATCGAAGAAGGTCATTTTGCGAAAGGTTCTATGCTGCCTAAAGTGGAAGCTGC
+CGCCTCGTTTGCTCGCTCTCGCGCAGGTCGTGAAGCACTGATTACCGTATTGAGCAAAGCGAAAGAAGGG
+ATTGAAGGCAAAACCGGAACGGTGATTTGTCAGTAATTTAAAGGCCGGATGGGTAATACCATCCGGCCAT
+TTTCATTTAAGCCACTTCCAGCACTTCTTTTGTCGCTTTAACGCCCTGATGCATCAACATCATTAACGCC
+TCAAGTACGCCGCCGCCAATCGCCCGGGCTTTATCAGAAACGCTGGTGAAATCAGCCGTTTCACCACGAG
+GATCGATATCACCAATTTTAAAACCACCGACCACGGCCAGTCCGTCGTTCAACAAGCCACGCACCATCCC
+CGTCAACGGTGCTTTAATTTCATGCTCACCAATCCAGGCAATGACATCGCCCTCTTTCACCAGATCGCCT
+AATTTCACGTTGGATCGCATAATGCCTGCAGCAGGAGCACGGATCACCCGTCGGGTGGTATGCCCCATAA
+TATTGCCGGGAACACCGGTATTCTCCTGCGCACAACCAGAGTAAATCACCTGACCGAGCCAGTGCCCGCG
+ATTTGTTTCAATTACCGCATGACAATCCTTCCCTGCAGTAAAGCCCGGCCCAAGCGCGATTGTTACTGGT
+GCCATATCTGCCCGCGTTCCCAAATTCTGTTTCGCCAGAATAGCGTCCACCACGCAAAGCGGTTTCAGTT
+CATCAAGCAATGAACAGGTGGGATCTACCATCACAGGGATAAATCCGCGTTCGGTAAGTTTCATCGCTTC
+CGCAGAGCTGGTTGCCAGGCGGGCGGTGACGCCTTCGACCGTCATTTCGCCATCGAACACGGCCTGGGCA
+AACGCCACGGTACAACGAATCACTGTCGGTTTTTCCACTTCCAACATGATCACTTTAAAACCCGCATGAT
+ACAGACGTAGCGCTACACCACTGGCGATATCCCCCGCACCACGAATCACCACCAGCTGGTGTCCGGAAGG
+ATGAGAAGGCTTCATCATCAGCCCACCCGGCGCGTTATTTTTCACCTGTAATATTTCTGCCAGCACGCTG
+ATGGCGATCTCCTGCGGCGTTTCCGCACCTATGTTGTAACCAACGGGCGCATGTAAACGGGCAATATGTT
+CTTCAGCCACGCCTTTCTCACGCAATTGGCGCAGGAAAAGCTGAACCTTGCGGCGACTTGCCAGCAACCC
+CAGCCATGCAATGGGTTGTTCAATGAGTTTGTCGAGGGCTTCACGATCCTGATTATTCGTGGCAATCAGG
+ACAAAATTATCAGGGCGAATATCCAGTGCTTCCACTGCCGCACCAAACGACTCAGCATGGAGAAGCGTGG
+TTGATGGTGGGAATAGTTCAGGATTGAGGCTTTCGCGATAAATATCAGCAACGGCGATATCAAATCCTAA
+TAGCGCCGCACTCTGGGCTATCGCCCGGTTGACATGCCCCGCACCAATCAACACCAGACGTGGACGCATA
+CCATGGACGCTGATAAATACTGACATTGCACCTCCACAATCTGACCCGACAGCATCCGCACCGTTACGAG
+CCATACGTCCATGGAATAATCGCGGCTTACGTTCCTGCAATGCCTGAAGCGACTCTTCAATCACCTTCCG
+TTCAACCATTCCGCCACCAATTGTACCGACGATAGAACCATCGGCGCGCACTAACATTTGTGCAGAATGG
+CGGGGGGTTGAGCCTCGGCTATCAACAATTTGCGCCATCGCAAACGGACAATTTTGCTCTTCGAGTTTTG
+CAGCCTCTGTGAAAATATTCATACCAACCTCAATGGATATCCTTTCAGTAACCCGGAATACCCGGGCCGC
+TAATTCACAAATCTGCGCGCGATTGCAGGATGTTCTTGTATATCGCCCAGCCAGATTGCCTCTACGTTGT
+GTTGTTGCAGCGGTTGAAGGAGCTCGCTTTGCGCAATCGCATTCTCACATTGAGAAAAACGGTTAATGAA
+CCAGACTCGCCGACAACCTTGCGGTACGTTTTTAAACGCCCCCTGAGGGTGGCGAACCAGCGCAACGAGA
+TCGCTCAGTTGCAAGGGTGCATCAGGTGTTAACCCAGTAATATCAGCAAACTGCGACCAGCGATGGACAT
+TTTCTGTGCTCACTTTCGCACCCAAAATATGTCCTCCCATCACAGCAATCACGCAGCAACTGCTTTTAGG
+TATGCAAGGTTCGTGCTCATCAGGCGCTTTTAACGGCATTCCACGCGAGCCATCTGCCTCAATGAGAATT
+ACGTCACACTCTGGTCGTTGTACCAGTGCATCAATCGCTTCTGGCGTAAATCCCTGCACTTTTCCCTGGT
+TCGCTTTCCAGCAGTGAAAACAAAATGAAATGGGGGATATAAAAGACGCATGAGGAAGCATGGCGGGATC
+ACGACAGAAAACCACGGGCCAGTGAGATGTTGGCATAAACATATGTGTCGTCGTAGTGATTAATACACGC
+CTGCCACTCGCCTGGAACAGTTCTGCCAGCCAAAAAAGCAAGCTGGTTTTCCCCCCAGCACCAACAATAG
+AAATCACAGTGGGACGTTTCTGCGCGCCTAAATCAATGAATAATGCCGATGGGTCAATTATACTTTTCAC
+GCGTCTTTATGGACCTCTCTGGGATAAATTACCCTCAACGTAATCCATCAGGAAGTAACGCAATTATCAG
+GCGTTATTAGCTCCTGTAAATAATGGAATCACTATGTCAGCCATCGACTGTATAATTACCGCCGCAGGAT
+TATCATCAAGAATGGGGCAATGGAAAATGATGTTACCCTGGCAACAGGGAACAATTCTTGATACAAGTAT
+CAAAAATGCGTTGCAGTTTTGTAGCCGAATTATTTTAGTCACCGGCTATCGTGGTAATGAACTGCACGAA
+CGTTATGCGAACCAGAGCAATGTCACTATTATCCACAACCCAGATTATGCGCAGGGTTTACTGACATCAG
+TAAAGGCCGCAGTACCCGCGGTGCAAACAGAACATTGTTTTCTCACCCACGGAGATATGCCAACCCTCAC
+CATCGATATTTTTAGAAAAATCTGGTCGTTACGAAATGATGGCGCAATACTGCCACTCCATAATGGCATC
+CCCGGCCATCCGATTTTAGTGTCAAAACCATGCCTGATGCAGGCAATCCAGCGACCCAATGTCACCAATA
+TGCGTCAGGCACTCCTTATGGGAGAACATTATTCCGTCGAAATAGAAAATGCAGAAATAATTTTAGATAT
+TGATACTCCGGACGACTTTATTACAGCGAAGAAAAGGTATACTGAAATTTAGAAAACGTAGTTAAACGAT
+TGCGTTCAAATATCTAATCCCTCCAGCACTCTTTATCATAATGATAAGGAATCACTGATTTTGAGAAAAG
+AGAAAAAGTGATAAATGGGCTGGCAATAATAATTTTCAGGAGTGATTTTAATTCTCATTTGGCACCTGTG
+AGTTCATTCACAAAAAGCCATTAAGTTTCGAGCCGCCTCACATTTTTTTATATTTCCCGCCAAACCTGGC
+AAGAGTGGTGCGATTGTTGCTCTATCCCCCTAAACCACCGGATTTCTCAACACCGGTCACTCAATGATAT
+CTGTATAAGCTAAGGAGAGGGTTATGGGGGATATTATGCGTCCCATTCCGTTTGAGGAACTTTTGACGCG
+CATATTTGATGAATACCAACAACAACGCTCAATCTTTGGTATTCCCGAGCAACAGTTTTACTCACCCGTA
+AAAGGTAAAACTGTTAGCGTCTTCGGTGAAACCTGTGCCACTCCCGTCGGCCCTGCCGCTGGCCCGCACA
+CGCAACTTGCGCAAAACATCGTCACCTCCTGGCTGACTGGCGGACGCTTCATCGAACTAAAAACCGTCCA
+AATTCTTGACCGCCTGGAGCTGGAAAAGCCCTGTATCGATGCCGAAGACGAGTGCTTTAACACCGAATGG
+TCTACCGAATTTACCCTGCTTAAAGCCTGGGATGAATACCTCAAAGCCTGGTTTGCCCTGCACCTTCTCG
+AAGCGATGTTCCAGCCTTCTGATTCCGGTAAATCGTTCATCTTTAATATGAGCGTCGGTTACAACCTCGA
+AGGTATTAAGCAACCGCCGATGCAGCAGTTCATCGACAATATGATGGACGCATCTGACCATCCGAAATTC
+GCTCAATACCGCGATGCACTTAATAAGCTACTCCAGGATGAGGCATTTTTAGCCCGCCACGGATTGCAGG
+AAAAACGCGAAAGCTTGCAAGCCTTACCCGCTCGCATCCCCACCAGCATGGTACAAGGGGTTACCCTCTC
+CACCATGCACGGCTGTCCTCCGCATGAAATCGAAGCCATTTGCCGCTACATGCTGGAAGAAAAAGGGCTC
+AACACCTTTGTGAAACTCAACCCGACCTTACTGGGGTACGCGCGTGTTCGTGAGATCCTCGATGTCTGCG
+GTTTCGGTTACATCGGCTTAAAAGAAGAGTCATTTGATCACGACCTCAAGCTGACGCAAGCACTGGAAAT
+GCTGGAACGCCTGATGGCACTGGCAAAAGAAAAATCACTCGGCTTTGGCGTAAAACTGACTAACACTCTC
+GGCACCATTAATAACAAAGGCGCACTGCCCGGTGAAGAGATGTATATGTCAGGCCGTGCGCTGTTCCCGC
+TCTCCATCAACGTTGCAGCAGTTCTCTCTCGCGCCTTTGACGGCAAACTGCCCATTTCTTATTCCGGTGG
+TGCCAGTCAGCTGACTATCCGCGATATTTTTGATACTGGTATTCGCCCTATTACTATGGCAACCGACCTG
+CTGAAACCTGGCGGCTATCTGCGCTTAAGTGCCTGCATGCGCGAGCTGGAAGGCTCAGATGCCTGGGAGC
+TTAACCACGTTGACGTCGAACGACTGAACAGACTGGCAGCAGACGCGTTAACCATGGAATACACCCAGAA
+ACACTGGAAGCCAGAAGAGCGTATTGAAGTGGCTGAAGACCTGCCGCTGACCGATTGCTACGTTGCCCCC
+TGTGTTACTGCCTGCGCTATCAAGCAAGATATTCCGGAATACATCCGTCTGCTTGGCGAACACCGCTATG
+CCGACGCGCTGGAACTCATCTATCAACGCAACGCCCTGCCCGCCATTACCGGTCATATTTGCGATCACCA
+GTGCCAATACAACTGTACCCGCCTGGATTACGACAGTGCGCTGAATATCCGCGAACTGAAAAAAGTCGCG
+CTGGAAAAAGGTTGGGATGAATATAAGCAACGCTGGCACAAACCAGCCGGTTCTGGTTCACGCCATCCGG
+TTGCCGTGATTGGTGCAGGTCCGGCGGGTCTGGCAGCAGGTTACTTCCTTGCCAGAGCGGGCCATCCGGT
+TACGCTGTTTGAACGCGAAGCCAATGCGGGCGGCGTGGTGAAAAATATCATTCCTCAGTTCCGTATTCCT
+GCAGAGTTAATTCAGCACGATATCGATTTTGTTGCCGCTCACGGCGTAAAATTTGAGTATGGCTGCTCAC
+CCGATTTGACCGTTGAACAGTTAAAAAATCAGGGCTTCCACTATGTTCTGATTGCCACCGGCACTGATAA
+AAATAGCGGTGTGAAACTGGCGGGCGACAACCAAAATGTCTGGAAATCACTCCCCTTCCTGCGTGAATAC
+AACAAGGGCACCGCGCTCAAGCTGGGCAAACATGTGGTCGTTGTCGGGGCGGGTAACACCGCAATGGACT
+GCGCTCGTGCGGCGTTACGCGTTCCAGGCGTAGAAAAAGCAACGGTCGTTTACCGTCGTTCACTGCAAGA
+GATGCCAGCATGGCGCGAAGAGTATGAAGAAGCGTTGCACGACGGCGTGGAGTTCCGTTTTCTGAATAAT
+CCGGAACGTTTCGATGCTGATGGCACCTTAACCTTGCGCGTTATGTCGCTTGGCGAACCTGATGAGAAAG
+GTCGTCGCCGTCCGGTTGAAACCAACGAAACAGTAACGCTGCATGTAGACAGCCTGATCACCGCCATTGG
+TGAACAGCAGGATACTGAAGCCCTGAATGCAATGGGCGTGCCGCTGGACAAAAACGGCTGGCCAGACGTC
+GACCATAATGGCGAAACACGTCTGACTGACGTCTTTATGATCGGCGACGTACAGCGCGGACCATCCTCCA
+TTGTCGCTGCTGTCGGAACCGCGCGTCGGGCGACCGATGCCATCCTGAGTCGGGAAAATATCCGTTCCCA
+CCAGAACGATAAATACTGGAATAACGTCAATCCGGCGGAAATCTATCAACGTAAAGGCGATATCTCTGTC
+ACTCTGGTGAACAGTGACGATCGTGACGCGTTTGTCGCGCAGGAAGCCGCTCGCTGCCTTGAATGTAACT
+ACGTTTGCAGCAAGTGTGTGGATGTCTGCCCGAACCGCGCCAACGTATCCATTGCGGTCCCAGGCTTCCA
+GAACCGTTTCCAGACGCTGCATCTCGACGCCTACTGCAACGAATGCGGCAACTGCGCCCAATTCTGCCCG
+TGGAACGGTAAACCGTACAAAGACAAAATCACCGTCTTCAGCCTGTCGCAAGACTTTGATAACAGCAGCA
+ACCCAGGCTTCCTTGTGGAAGATTGCCGGGTACGCGTACGTCTGAATAACCAAAGCTGGGTGTTAAACAT
+CGACAGCGAAGGTCAGTTCAACAACGTACCACCGGAGCTGAACGATATGTGCCGCATCATTAGCCATGTC
+CACCAGCATCATCATTATCTGCTGGGCCGCGTGGAGGTGTAATCATGTTGATTCTGAAGAATGTCACCGC
+AGTGCAGTTACACCCGGCGAAAGTGCAGGAAGGCGTTGATATCGCCATCGAAAATGATGTGATTGTCGCT
+ATCGACGATGCCCTGACGCAATGCTATCCCGATGCCAGCTACAAAGAGATGCATGGTCGGATTGTGATGC
+CGGGAATTGTCTGCTCGCATAACCATTTTTACTCGGGGCTTTCCCGCGGAATTATGGCAAACATCGCCCC
+CTGCCCGGATTTCATCTCAACGCTGAAAAATCTCTGGTGGCGGCTCGATCGCGCCCTTGATGAAGAGTCG
+CTCTATTACAGCGGACTGATTTGTTCCCTGGAAGCGATTAAGAGCGGATGTACATCGGTTATCGATCACC
+ATGCCTCTCCAGCCTATATCGGCGGGTCGCTCTCCACATTGCGCGACGCATTTTTAAAAGTTGGCCTGCG
+CGCGATGACCTGTTTTGAAACTACTGACCGTAACAGCGGCATCAAAGAGTTGCAGGAAGGTGTAGAAGAA
+AACATCCGCTTCGCCCGTCAGATTGATGAGGCGAAGAAAGCAGCAACCGAGCCGTATCTGGTGGAAGCAC
+ATATCGGCGCTCACGCGCCGTTTACCGTACCGGATGCCGGTCTGGAGATGCTGCGTGAAGCCGTGAAAAG
+CACAGGTCGTGGTTTGCATATTCACGCTGCGGAAGACCTTTACGACGTTTCCTACAGTCACCATTGGTAC
+GGCAAAGACCTGCTGGCACGACTGGCGCAATTCGATCTCATCGACAGCAAAACGCTGGTCGCTCATGGGC
+TGTACTTGTCGAAAGATGACATCGCCCTACTCAATCAGCGCGATGCGTTCCTGGTGCATAACGCCCGTTC
+AAACATGAACAACCATGTCGGCTACAACCATCACCTTAGCGACATCCGCAATCTGGCGTTGGGAACGGAC
+GGCATTGGTTCGGACATGTTTGAAGAGATGAAATTTGCCTTCTTTAAACATCGCGATGCGGGTGGCCCGC
+TGTGGCCTGACAGTTTTGCCAAAGCACTGGCTAACGGCAACGAACTGATGAGCCGCAACTTTGGCGCGAA
+ATTTGGGCTTCTGGAAGCCGGTTACAAAGCCGATTTAACCATTTGCGATTACAACTCGCCGACGCCGCTG
+CTGGCAGACAATATCGCCGGGCATATCGCTTTCGGTATGGGCTCAGGCAGCGTTCACAGCGTGATGGTCA
+ATGGTGTGATGGTCTATGAAGACCGTCAGTTTAACTTCGATTGCGATTCCATTTATGCGCAAGCCAGAAA
+AGCCGCTGCCAGTATGTGGCGTCGGATGGATGCGCTGGCATAAATAACAGCTCCCCTCTTCTTTCAGAGA
+AGAGGGGAAATTAAGGAAAGACGATGATTGAACAATTTTTCAGACCCGACTCAGTCGAACAGGCGCTGGA
+ACTGAAGCGCCGCTACCAAGATGAAGCCGTCTGGTTCGCCGGGGGCAGCAAACTCAACGCTACACCAACC
+CGTACCGATAAAAAGATTGCCATTTCCTTGCAGGATCTGGAGCTGGACTGGATTGACTGGGATAACGGTG
+CACTACGAATTGGCGCAATGTCTCGCTTGCAGCCACTGCGTGATGCGCGATTTATTCCTGCAGCACTGTG
+TGAAGCCCTCGGTTTTGTTTACTCACGCCATGTTCGTAATCAGTCGACCATTGGTGGTGAAATCGCCGCC
+CGGCAGGAAGAGTCGGTGCTGCTTCCCGTCCTGCTGGCACTGGATGCTGAACTGGTTTTTGGCAACGGCG
+AAACGCTGTCAATCGAGGACTACCTGGCCTGCCCATGCGATCGCCTGTTAACCGAAATTATCATTAAAGA
+TCCGTATCGCACCTGTGCGACTCGCAAAATTAGCCGTTCTCAGGCAGGTTTAACCGTCGTGACGGCAGCC
+GTTGCAATAACAGACCACGACGGTATGCGAATTGCGCTGGATGGCGTAGCCAGTAAAGCACTGCGTCTGC
+ATGATGTTGAAACTCAAAATCTGGAAGGCAATGCACTTGAACAGGCTGTCGCCAACGCCATTTTCCCGCA
+GGAAGATTTGCGGGGCAGCGTGGCCTATAAACGCTATATCACGGGAGTTCTGGTAGCCGACCTGTATGCC
+GACTGCCAACAGGCTGGGGAGGAAGCCGTATGATCATCCACTTTACTTTAAATGGCGCGCCTCAGGAGCT
+AACCGTTAATCCAGGCGAAAACGTGCAAAAGCTGTTGTTTAACATGGGAATGCACTCTGTACGCAACAGT
+GATGATGGTTTTGGGTTTGCCGGTTCTGACGCAATTATCTTTAACGGTAATATCGTTAACGCGTCCTTGC
+TTATCGCCGCACAGTTAGAGAAGGCAGATATTCGTACCGCAGAATCTCTGGGCAAATGGAATGAGTTAAG
+TCTGGTTCAACAGGCCATGGTTGATGTTGGCGTGGTGCAGTCTGGTTATAACGATCCAGCTGCGGCTCTG
+ATTATCACCGATCTTCTCGATCGCATCGACGCACCTACCCGCGAAGAGATCGACGACGCACTCTCAGGTC
+TGTTTAGCCGCGATGCTGGCTGGCAGCAATACTATCAGGTCATTGAACTGGCGGTTGCACGTAAAAATAA
+TCCGCAGGCCACCATTGATATCGCTCCGACTTTCCGTGACGACCTTGAAGTCATTGGCAAGCATTATCCT
+AAAACTGATGCCGCGAAAATGGTGCAGGCGAAACCCTGCTATGTTGAAGATCGAGTAACGGCTGACGCCT
+GCGTCATTAAAATGTTACGTAGCCCACACGCTCACGCACTGATTACTCATCTGGATGTCAGCAAAGCTGA
+AGCCTTACCGGGCGTCGTTCACGTTATTACTCACCTGAATTGCCCGGATATTTACTATACCCCGGGTGGT
+CAGAGCGCACCGGAACCGTCACCGCTTGACCGCCGAATGTTCGGCAAGAAAATGCGTCACGTCGGCGATC
+GCGTTGCTGCGGTAGTAGCCGAAAATGAAGACATTGCGCTCGAAGCACTGAAGCTCATCGACGTTGAATA
+TGAAGTGCTTAAGCCGGTAATGTCGATTGACGAGGCAATGGCGGAAGATGCGCCTGTCGTGCACGATGAA
+CCGGTGGTGTATGTTGCTGGTGCGCCAGATACTCTGGAAGATGATAACAGCCATGCAGCCCAGCGCGGCG
+AGCATATGATCATCAACTTCCCGATCGGTTCTCGCCCACGCAAAAATATCGCTGCCAGTATTCATGGTCA
+TATTGGCGATATGGACAAAGGCTTTGCCGATGCCGATGTGATCATTGAGCGAACCTATAACTCAACGCAG
+GCGCAGCAGTGCCCGACTGAAACACATATCTGCTTTACCCGTATGGACGGCGATCGTCTGGTGATCCACG
+CCTCCACCCAGGTACCATGGCACTTACGCCGCCAGGTCGCGCGCCTCGTGGGCATGAAACAACATAAAGT
+TCATGTCATTAAAGAACGTGTAGGCGGCGGTTTTGGTTCCAAACAGGACATCCTGCTGGAAGAAGTGTGC
+GCCTGGGCAACCTGCGTGACCGGGCGTCCGGTACTGTTCCGCTACACCCGTGAAGAAGAGTTTATTGCTA
+ACACCTCTCGTCACGTCGCGAAAGTCACCGTCAAACTGGGCGCGAAAAAAGATGGTCGCCTGACGGCAGT
+GAAGATGGATTTCCGCGCCAACACGGGTCCTTACGGTAACCACTCACTCACCGTACCGTGTAACGGACCG
+GCGCTGTCGCTGCCGTTATATCCATGCGATAACGTCGATTTTCAGGTCACCACCTACTACAGCAACATTT
+GCCCAAATGGTGCTTATCAGGGTTATGGCGCACCGAAAGGTAACTTCGCTATCACCATGGCATTAGCGGA
+ACTGGCTGAACAGTTACAGATCGACCAACTGGAAATTATCGAACGTAACCGGGTACACGAAGGGCAAGAG
+CTGAAAATTCTCGGTGCAATCGGTGAAGGTAAAGCGCCGACCTCCGTTCCTTCCGCCGCCAGCTGCGCAC
+TGGAAGAGATCCTGCGTCAGGGTCGCGAGATGATCCAATGGTCTTCACCAAAACCGCAAAATGGTGACTG
+GCACATCGGTCGCGGCGTCGCCATTATCATGCAGAAATCGGGTATCCCGGATATCGATCAGGCTAACTGC
+ATGATCAAACTGGAATCGGATGGCACCTTTATCGTTCATTCCGGTGGTGCGGATATTGGTACTGGTCTGG
+ATACTGTGGTGACCAAACTGGCAGCAGAAGTGCTGCACTGCCCACCGCAGGACGTGCATGTTATCTCTGG
+TGATACCGATCATGCACTGTTTGATAAAGGCGCATATGCCTCGTCCGGTACTTGCTTCTCGGGTAACGCT
+GCGCGTTTGGCAGCGGAAAATCTGCGGGAGAAAATCCTGTTCCACGGCGCGCAAATATTGGGTGAGCCAG
+TGGCAGATGTTCAACTAGCAACGCCGGGCGTCGTTCGCGGCAAGAAAGGCGAAGTTAGTTTCGGAGAGAT
+AGCCCATAAAGGCGAAACCGGCACCGGCTTTGGTTCACTGGTGGGAACTGGCAGTTATATCACGCCTGAT
+TTCGCCTTCCCGTATGGCGCAAACTTTGCTGAAGTTGCCGTCAACACGCGTACGGGTGAAATCCGCCTGG
+ATAAATTCTACGCCTTGCTGGATTGCGGTACACCGGTCAATCCAGAGTTAGCGTTAGGACAAATCTACGG
+TGCCACCCTTCGTGCAATCGGCCACAGTATGAGCGAAGAAATCATTTATGACGCCGAAGGTCACCCGTTA
+ACGCGTGATTTACGCAGTTACGGCGCACCGAAAATTGGTGACATTCCGCGTGATTTCCGCGCTGTGCTGG
+TGCCGAGCGACGATAAAGTCGGCCCATTCGGGGCGAAATCGATCTCGGAAATCGGTGTAAATGGCGCCGC
+TCCGGCGATTGCTACCGCAATTCACGATGCCTGCGGCATCTGGTTACGCGAATGGCATTTCACACCGGAG
+AAAATACTCACCGCGCTGGAAAAAATATAAGTAATAAATGGCCGCTTCGGCGGCCTGTTTCTCTGTTTGA
+ACGATGACTAAATAGTGACTGCGAAAATGAGATAAGCCGTTCTCAAGGCGTCCTGCGCCCCAAATTCGTG
+GGAATTTATTTTACTAATTCAGATGATCAAATTTACTTTAAAAGGAGTGAAGGGATGTCTGATATAAACC
+ATGCAGGTTCTGACCTTATATTTGAACTGGAGGATCGCCCTCCCTTTCATCAGGCTCTCGTAGGTGCCAT
+TACCCATCTGTTGGCAATTTTCGTTCCGATGGTAACCCCCGCGTTAATCGTGGGTGCGGCCTTACAGCTT
+TCCGCTGAAACAACTGCCTATCTTGTTTCTATGGCGATGATCGCCTCTGGTATTGGTACCTGGTTACAAG
+TAAACCGCTACGGCATCGTCGGTTCTGGTTTACTTTCAATTCAGTCAGTCAATTTTTCATTTGTTACGGT
+CATGATTGCGCTGGGTAGCAGCATGAAAAGCGACGGTTTTCACGAAGAGTTAATCATGTCGTCGCTCCTC
+GGCGTCTCTTTCGTTGGCGCATTTCTGGTTGTCGGCTCTTCTTTTATCCTGCCCTATTTACGTCGGGTTA
+TTACGCCTACCGTCAGCGGCATTGTGGTGCTGATGATCGGCTTAAGCCTGATTAAAGTTGGCATTATTGA
+TTTTGGCGGTGGTTTTGCAGCTAAAAGCAGCGGTACGTTCGGCAATTACGAGCATCTCGGCGTTGGCTTA
+TTGGTTTTGATTGTGGTGATCGGCTTTAACTGCTGCCGCAGTCCGTTGCTACGCATGGGTGGGATCGCCA
+TTGGGCTATGTGTCGGCTATATCGCATCGTTATGCCTGGGCATGGTGGATTTCAGCAGTATGCGCAATTT
+GCCGTTAATCACCATCCCGCATCCGTTCAAATACGGCTTTAGTTTTAGCTTCCATCAGTTCCTGGTGGTT
+GGCACGATTTATCTGCTTAGCGTGCTGGAAGCTGTCGGCGATATCACCGCCACGGCAATGGTTTCCCGCC
+GTCCCATTCAGGGGGAAGAGTATCAGTCCCGACTGAAAGGCGGCGTGCTGGCAGATGGTCTGGTTTCTGT
+TATCGCCTCCGCTGTCGGTTCATTACCATTAACCACGTTTGCGCAAAATAATGGGGTTATTCAGATGACT
+GGCGTCGCTTCACGTTATGTCGGGCGAACCATCGCGGTAATGCTGGTTATCCTCGGCTTATTTCCGATGA
+TTGGCGGCTTTTTTACGACCATTCCCTCGGCAGTTCTGGGAGGCGCAATGACGTTGATGTTTTCCATGAT
+TGCCATCGCAGGGATTCGCATCATCATCACCAACGGTTTAAAGCGCCGAGAAACACTTATTGTCGCCACT
+TCTTTAGGTTTAGGACTTGGCGTCTCCTACGATCCCGAAATTTTTAAAATATTGCCAGCCTCTATTTATG
+TATTAGTTGAAAACCCTATTTGTGCTGGCGGGTTAACTGCGATTTTATTAAATATTATCCTCCCTGGTGG
+CTACCGACAGGAAAACGTTCTGCCTGGTATTACCTCAGCGGAAGAGATGGATTAACAGTAAAGGAGTCAA
+TGATGTCAGGAGAACACACGTTAAAAGCGGTACGAGGCAGTTTTATTGATGTCACCCGTACGGTCGATAA
+CCCGGAAGAAATTGCCTCTGCGCTGCGGTTTATTGAGGATGGTTTATTACTCATTAAACAGGGAAAAGTG
+GAATGGTTTGGCGAATGGGAAGACGGAAAGCATCAAATTCCTGACACCATTCGCGTGCGCGACTATCGCG
+GCAAACTGATAGTACCGGGCTTTATCGATACACATATCCATTATCCGCAAAGTGAAATGGTGGGGGCCTA
+TGGTGAACAATTGCTGGAGTGGTTGAATAAACACACCTTCCCTACTGAACGTCGTTATGAGGATTTAGAG
+TACGCCCGCGAGATGTCGGCGTTCTTCATCAAGCAGCTTTTACGTAACGGAACCACCACGGCGCTGGTGT
+TTGGCACTGTTCATCCACAATCCGTTGATGCGCTGTTTGAAGCCGCCAGTCATATCAATATGCGTATGAT
+TGCCGGTAAAGTGATGATGGACCGAAACGCACCGGATTATCTGCTCGACACTGCCGAAAGCAGCTATCAC
+CAAAGCAAAGAACTGATTGAACGCTGGCACAAAAATGGTCGTCTGTTGTATGCGATTACGCCACGCTTCG
+CCCCTACCTCATCTCCTGAACAGATGGCGATGGCGCAACGCCTGAAAGAAGAATATCCGGATACATGGGT
+ACATACCCATCTCTGTGAAAACAAAGATGAAATTGCCTGGGTGAAATCGCTTTATCCTGACCATGATGGT
+TATCTTGATGTTTACCATCAGTACGGCCTGACCGGTAAAAACTGCGTCTTTGCTCACTGCGTCCATCTCG
+AAGAAAAAGAGTGGGATCGTCTCAGCGAAACCAAATCCAGCATTGCTTTCTGTCCGACCTCCAACCTTTA
+CCTCGGCAGCGGCTTATTCAACTTGAAAAAAGCATGGCAGAAGAAAGTCAAAGTGGGCATGGGAACGGAT
+ATCGGTGCCGGAACAACTTTTAACATGCTGCAAACGCTGAACGAAGCCTACAAGGTATTGCAATTACAAG
+GCTATCGCCTCTCGGCATATGAAGCGTTTTACCTGGCCACGCTCGGCGGAGCGAAATCTCTGGGCCTTGA
+CGATTTGATTGGCAACTTTTTACCTGGCAAAGAGGCTGATTTCGTGGTGATGGAACCCACTGCCACTCCG
+CTACAGCAGCTGCGCTATGACAACTCTGTTTCTTTAGTCGACAAATTGTTCGTGATGATGACGTTGGGCG
+ATGACCGTTCGATCTACCGCACCTACGTTGATGGTCGTCTGGTGTACGAACGCAACTAATAATAAAACTT
+TAACATCCTCGTGAGGACATCATTATGTCTGGAGACATCCTACAAACACCGGACGCACCAAAGCCACAGG
+GCGCGCTGGATAATTATTTTAAAATTACCGCTCGTGGCAGTACCGTTCGTCAGGAAGTACTGGCTGGCTT
+AACGACCTTTCTGGCCATGGTTTATTCCGTTATCGTCGTTCCGGGAATGCTGGGCAAAGCAGGTTTTCCT
+CCCGCAGCTGTGTTTGTTGCCACCTGTCTGGTCGCGGGCTTCGGCTCGTTGCTGATGGGGTTATGGGCCA
+ATTTGCCAATGGCGATTGGTTGCGCTATTTCCTTGACGGCGTTTACCGCATTCAGTCTGGTACTCGGGCA
+ACAAATTAGCGTTCCTGTCGCACTGGGCGCAGTCTTTCTGATGGGCGTCATCTTCACCGCTATTTCCGTA
+ACCGGTGTGCGTACCTGGATCTTACGTAATTTGCCGATGGGGATCGCTCACGGTACAGGTATCGGTATCG
+GCCTGTTTCTGCTGCTGATTGCTGCTAACGGTGTGGGAATGGTTATAAAAAACCCGATTGAAGGCTTGCC
+AGTGGCGCTCGGTGCCTTTACCTCCTTCCCGGTGATGATGAGCTTACTGGGGCTGGCGGTCATCTTCGGT
+CTGGAAAAGTGCCGCGTACCCGGCGGGATCTTGTTGGTGATTATTGCAATTTCGATCATCGGCTTAATCT
+TTGACCCAGCGGTGAAGTACCACGGTCTGGTGGCGATGCCAAGCCTGACTGGCGAAGATGGTAAGTCTCT
+GATTTTCAGCCTCGATATTATGGGCGCACTCCAGCCAACTGTACTTCCGAGTGTACTGGCATTGGTGATG
+ACCGCAGTGTTCGACGCCACTGGCACCATCCGTGCCGTCGCCGGTCAGGCGAATTTGTTGGATAAAGACA
+ACCAGATCATCAACGGCGGCAAAGCCCTGACCAGTGACTCAGTAAGTTCAATATTCTCCGGCCTGGTGGG
+CGCAGCGCCCGCGGCGGTTTATATCGAATCAGCGGCAGGAACCGCCGCCGGGGGGAAAACCGGTTTAACC
+GCAACCGTGGTTGGTGTGTTGTTCCTGATGATTCTGTTTTTATCACCGTTATCGTTTCTGATCCCCGGTT
+ATGCCACAGCTCCCGCACTGATGTACGTGGGTTTGCTGATGTTAAGCAACGTCTCGAAGCTGGATTTCAA
+CGATTTTATTGACGCAATGGCTGGCCTGGTGTGTGCCGTGTTCATCGTTCTGACTTGTAATATCGTTACC
+GGTATTATGCTGGGCTTTGTAACACTGGTGGTGGGTCGCGTCTTTGCGCGCGAATGGCAAAAGCTGAATA
+TTGGTACGGTGATCATTACTGCCGCACTGGTCGCGTTTTACGCGGGTGGTTGGGCAATCTAATAGATTCT
+CCGCGCCTTTCCGCGCGGAGATTTCTTTCAGAGAGGATTCTCACCGCTGGCAACAATACGCTGCTGGCGG
+ACTCGCCTGAGTTCTCTTTCAGTCAGCAACTGCAGCGCCTGTGTCGGGCAAGATTCAACGCAGGCTGGCC
+CCTCTTCCCGCTGTTCACAGAGATCGCATTTCACGATTTGTTGCCGGGTATCCCCCGGCAATGACTGAAT
+GGTGATCATTCCAAACGGGCACGCACTGACGCAACTCTGACAGCCAATACAACGGGCAGAATTTGCCTGC
+ACCACCTGCTCGCCCATCGTCAGCGCCCCCACGGGACAAGCGCCAACACAAGGGGCGTTTTCACACTGAT
+GGCACATCACCGGCGCACTGATGCTATCCAGCCGTTGTACCTTCAGCCGGGGTAAAAAGATATCGGCATT
+CAACTCCTGTTCTGAAGGGTGAGCGACCACACAGGCCACTTCACAAGTACGGCAGCCAATACAGTCAGCC
+GGATTAACGATAATTAACGATTTCATCACGATGCCTTCGTATCAAACAGAGTTAACATATCGCGCGCCGC
+CTGCCTTCCTGCGGCCATTGCAGTGACAACCAGATCCGCGCCATGAACTGCATCACCACCAGCAAAGACT
+TTTTTCAGATGCGTCTGGGTGGGTAAATACCCGACGTCGCCGGTTTGAATCAGGCCCCATTTATCGAGTT
+TAATTCCGCTGCCCTGCAACCACGGCATGGTATGTGCCTGGAAACCAAAGGCCATAATGAGAACATCGGC
+GGGCAATTCAAACTCTGAACCCGCAACCGGACGAGGACGACGGCGGCCATCCGGCCCCGGCTCACCCATA
+GCGGTACGAATCAGGCCCACCGCCGTTAAGCGTCCATCTTCATCACAAGCGATATATTGCGGCTGAACAT
+TGAACTGAAACTCAACACCTTCCTCGCGGGCATTGACCACCTCTTTGCGCGAACCCGGCATACTGACTTC
+ATCACGACGATACGCACAGGTCACGCTGGCAGCATTAAGGCGGATGGAAGTCCGCAAACAATCCATTGTC
+GTATCGCCACCGCCCAATACCACAACTCGCTTACCTTCCACATCCGTCAGCGGATACTCTGCAGACTCCG
+GCAATCCCATGAGCTGGCGGGTATGGGCGGTCAGGAACGGTAACGCCTGAATGACACCAGGCGCATCTTC
+ATGCGGCAGATCTGCTCGCATCATCCCGTAAGTCCCCACGCCGAGGAAAACAGCATCATATTCCGCCGTT
+AATTCGTTGAAAGAGATATCGCGGCCAATTTCACAGTTGAGATGGAAATCGATTCCCATTGCGATGAATA
+TCTCTCGCCGCTGGCTTAATACCGTTTTATCGAGTTTGAAAGGAGGAATGCCAAAAGTCAGCATACCGCC
+AATTTCTGGATGGCGATCAAAGACATCAACCTGAACTCCCGCGCGCGCCAGAATATCAGCACACCCTAAT
+CCTGCAGGTCCAGCGCCAATCACCGCCACTTTTTCGCTACGGGGAACAACTTTGCTGACATCGGGACGCC
+AGCCCATCGCCAGCGCAGTATCGGTGATGTAGCGTTCCAGATTACCGATAGAGACTGCGCCAGAGTGATC
+TTTCAAAGTACATGCGCCTTCACAAAGACGGTCCTGTGGACATACCCTGCCGCAGATTTCGGGTAAGGAA
+CTGGTCTGGTGGCAAAGTTCTGCCGCTTCAATAATCTTTCCTTCCTGTACCAGACGGATGTAATCCGGAA
+TAGCGTTATGCAGCGGACAATGCCAGTTGCAGTTAGCTTTTTCGGCACAATAAACACAGCGGTCACTCTC
+ATAAGTCGCTTGTTGTGGATCCAGCCCGCAATAGATTTCGCCAAAGTGGGTTTTCCGTTCACTCGCTGAA
+ATTTTATCTGCGCCTTTACGCGAGTTAACGGGGAGCAACGCTGCACTGCGAGATGGCTGAGCGTCTGATG
+ACGCTTTTCCTGCTGCCGTTTTGCGCTGGCGGGCCACCTTTATCTGCTGCAACCCTTTATCGTCCATCAG
+CCGTAACGCCTGTGTTGGGCAGACGTCAATACAGGCTTGCGTGCCGGAACTGCGCTGGTTACAAAGGTCG
+CATTTCTGTGCAATCGTATCGACCATCTCAACGACGCCAAAGGGGCAAGCGATTGCGCATCTTTTACAAC
+CAATACATTTTTGCTCGTCCAGTTGTACGCTATCGGACTGGAAAGTCAGAGCATAAACCGGACAAGCCGT
+AACGCAGGGGGCATTGTTGCAATGATGGCAGGCCACCGGATTCGCAGCCTGGCCCTTCCCAACAATGTGG
+ATACGGGGTCGAAAGTCACTGTGACTCAGCGGCCAGTTTTCTTGATTGTGTGCTACCGCACAGGCAATTT
+CACAGGCATGGCAGCCTATACATTCCGCAGCTTCAGCAGCGATAAACTTATTCATTTGCATCCCTTTCAT
+TTAATGAGTTATGTCTTCTCAAATTTCGCGATGCAATAAACGGGCATATATTAGGTAGCATGACCGTTTT
+AATTATAATTTTGCAACTGAGTTCAAATTATTGCCCCTCAATCTATGCCGCTTTCATTATTTCAACATTG
+CCGATCAAAAGAATGCTATCCAGATAAAAACGATTAAATGCGAGAGTGCGACATGCCAGAATGATTAATG
+AAATATCAATATGAGAAAATTACAGATAATTCCATTGTCAGGTTCTCTTCTCATTTTCGTGGTTTAACCA
+CGATTATGTGATTGCCTCCGCAATTCCTGTCTCTAACTCCCCTTCCTCGCAAAAACTGGCACTCCACGAG
+CATGTGTTTAGACAGTTTCATGAACGTAAACGGTTGCTTTTTACTCTGGCGGGCGAAAGGAGAAACACTG
+ATGAGCGCCATAGATTCCCAACTTCCCTCATCTTCTGGGCAAGACCGCCCAACTGATGAGGTTGACCGCA
+TATTATCACCAGGAAAGCTGATCATACTCGGTCTGCAACACGTCCTTGTCATGTACGCAGGTGCAGTCGC
+TGTTCCTCTTATGATTGGTGACCGACTCGGCCTATCAAAAGAAGCTATTGCGATGCTCATTAGCTCGGAT
+CTCTTTTGCTGCGGGATCGTCACATTATTGCAATGTATCGGTATCGGCCGCTTTATGGGGATCCGCCTGC
+CGGTGATTATGTCGGTGACCTTCGCCGCTGTAACACCAATGATAGCCATTGGTATGAACCCGGATATCGG
+CCTGCTGGGGATATTCGGTGCCACTATCGCCGCGGGTTTTATCACCACATTATTAGCGCCACTTATCGGT
+CGCTTGATGCCTTTATTCCCGCCACTGGTTACCGGTGTGGTTATTACTTCTATCGGGCTTAGCATCATTC
+AGGTGGGTATTGACTGGGCCGCCGGAGGTAAAGGGAATCCGCAATATGGTAATCCCGTTTATTTAGGTAT
+CTCCTTTGCCGTCTTAATTTTTATCTTGCTCATTACTCGCTATGCGAAAGGATTTATGTCCAACGTCGCC
+GTATTACTGGGGATTGTATTTGGCTTTTTACTTTCGTGGATGATGAATGAAGTCAATTTATCCGGGCTAC
+ATGATGCTTCATGGTTTGCGATTGTCACGCCGATGTCATTTGGTATGCCGATTTTCGATCCCGTTTCCAT
+TCTGACCATGACTGCCGTGTTAATCATCGTGTTTATCGAGTCGATGGGGATGTTCCTGGCACTGGGTGAA
+ATAGTCGGTCGTAAACTCTCTTCACACGATATTATTCGCGGGCTGCGTGTCGATGGTGTAGGGACAATGA
+TAGGCGGAACGTTTAACAGCTTCCCCCACACGTCATTTTCTCAAAACGTTGGCCTGGTTAGCGTGACGCG
+CGTTCATAGCCGCTGGGTGTGTATTTCTTCGGGAATTATATTAATCCTGTTTGGCATGGTGCCAAAAATG
+GCGGTGCTGGTGGCCTCGATTCCGCAATTTGTGCTGGGCGGCGCGGGGCTGGTGATGTTCGGCATGGTAC
+TGGCGACAGGGATTCGAATTCTGTCGCGCTGTAACTACACCACTAACCGTTACAACCTCTATATTGTGGC
+GATCAGTCTCGGTGTTGGCATGACGCCAACGCTCTCTCACGATTTCTTTTCTAAGTTACCGGCCGTACTG
+CAACCGTTGCTGCATAGCGGCATTATGCTCGCAACCCTTAGCGCCGTTGTGCTGAACGTTTTCTTTAATG
+GCTACCAGCATCATGCTGACCTGGTGAAGGAATCCGTCTCTGATAAAGATTTAAAAGTCAGGACAGTACG
+TATGTGGCTTCTGATGCGCAAGCTGAAGAAAAATGAGCATGGAGAATAATATGAATCTTTTAATGCGCGC
+TATATTTAGTCTGCTGTTGATTTTTACTCTCTCTATTCCTGTCATTTCTGATTGTGTTGCAATGGCCATT
+GAAAGTCGCTTCAAATATATGATGCTGCTTTTTTAAATGGTTTTTACCTGTCGACATCCGCTCAAAATGG
+GCGGTTGTCGATAAACGCTCACTTGGTTAATCATTTCACTCTTCTATTATCTATAATGATGAGTGATCAG
+AATTACATGTGAGATATTATGCAAACGGAACACGTCATTTTATTGAATGCACAGGGAGTTCCCACGGGTA
+CGCTGGAAAAGTATGCCGCACACACGGCAGACACCCTCTTACATCTCGCGTTTTCCAGTTGGCTGTTTAA
+TGCCAAAGGGCAATTATTAGTTACCCGCCGCGCCCTTAGCAAAAAAGCATGGCCTGGCATGTGGACTAAC
+TCGGTTTGTGGGCACCCACAACTGGGAGAAAGCAACGAAGAGGCGGTGATCCGCCGTTGCCGTTATGAGC
+TTGGCGTAGAAATTACGCCTCCTGAATCTATCTATCCTGACTTTCGCTACCGCGCCACCGATCCGAATGG
+CATTGTGGAAAATGAAGTGTGTCCGGTATTTGCCGCACGCACGACCAGTGCGTTACAGATCAACGATGAT
+GAAGTGATGGATTATCAATGGTGTGATTTAGCAGCGGTTTTACGCGGTATTGATGCTACGCCGTGGGCGT
+TCAGTCCGTGGATGGTGATGCAGGCGACAAATCGCGAAGCCAGAAAACGATTATCTGCATTTACCCAGCT
+TAAATAAAAAACCCCGACGGTTGCCGGGGTTGTGAGCATAACGTAATGCTTATTTTACCGGACGCATCGC
+CGGGAACAGAATAACGTCGCGGATGGTATGGCTGTTGGTGAACAGCATTACCATACGGTCGATACCAATT
+CCCAGACCTGCTGTCGGCGGTAAGCCATGTTCCAGTGCGGTGACATAATCTTCGTCGTAGAACATCGCTT
+CGTCGTCACCTGCATCTTTCGCGGCAACCTGATCCAGGAAGCGCTGCGCCTGATCTTCCGCGTCATTCAG
+CTCGCTAAAGCCGTTACCGATTTCACGCCCACCAATGAAGAACTCAAAGCGGTCTGTGATTTCCGGGTTA
+ACGTCGTTACGACGCGCCAGAGGAGAAACTTCTGCCGGATATTCAGTAATGAAGGTCGGCTGGATCAGAT
+GTGCTTCTGCCACTTCTTCGAAGATCTCGGTAACGATACGGCCCAGACCCCAGCTCTTCTCAACGTGGAT
+GCCGATAGATTCAGCAATCGCTTTCGCAGAGTCGAAGTTGTCCAGATCCGCCATGTCAGTTTCCGGGCGA
+TATTTCTTGATCGCTTCACGCATGGTCAGTTTTTCGAACGGTTTACCGAAGTCCAGCGTTACGTCGCCGT
+AGGTCACTTCCGTCTTACCGAGAATATCCTGTGCCAGAGTACGGAACAGCGATTCGGTCAGCTCGATAAG
+ATCTTTGTAATCTGCGTAAGCCATATAGAGTTCCATCATGGTGAACTCTGGGTTATGACGTACGGAAATA
+CCTTCGTTACGGAAGTTACGGTTGATTTCGAATACACGCTCGAAGCCACCGACCACCAGACGCTTGAGGT
+ACAGTTCCGGCGCGATACGCAGGTACATGTCGAGATCCAGCGCGTTATGGTGAGTGATAAACGGACGCGC
+AGCGGCACCGCCAGGGATCACCTGCATCATCGGCGTTTCAACTTCCATAAAGCCGCGGTTCACCATGAAC
+TGGCGAATACCAGAGAGGATCTGCGAGCGCACTTTAAAGGTGTTGCGGGATTCATCGTTAGAGATGAGAT
+CCAGATAACGCTGACGATAGCGCGCTTCCTGATCCTGCAAGCCGTGGAATTTATCCGGCAACGGACGCAG
+TGCTTTGGTCAGCAGACGCAGCTCGGTACAGTGGATAGACAGTTCGCCGGTTTTGGTTTTGAACAGTTTA
+CCTTTCGCGCCGAGGATATCGCCGAGGTCCCATTTTTTGAACTGCTCGTTGTAAACGCCTTCCGGCAGAT
+CGTCACGGGCAACGTACAACTGAATGCGACCGCCAACGTCCTGCAGGGTAACGAAAGACGCTTTACCCAT
+AATACGACGGGTCATCATGCGGCCAGCAACGGCGACTTCGATGTTCAGCGCTTCCAGTTCTTCGTTCTCT
+TTACCGTCGAATTCTGCGTGCAATTGGTCAGAGGTATGATCGCGACGGAAATCGTTCGGGAAGGCAATCC
+CCTGCTCACGCAGGTTCGCCAGCTTCTCACGACGCGTTTTCAGTTCATTGTTAAGATCGACTACCGCGTC
+AGCGCCCTGTGCGTGTTGTTCAGACATGTTGGTTCCTCATAACCCTGCTTTCAAACTTGCTTCGATAAAT
+TGATCCAGGCTGCCGTCCAGCACGGCCTGCGTGTTGCGGGTTTCTACCCCGGTACGCAGATCTTTAATGC
+GGGAGTCATCAAGGACATAAGAACGAATCTGGCTGCCCCAGCCGATGTCGGATTTGTTATCTTCCATCGC
+CTGTTTCTCGGCATTTTTCTTCTGCATCTCCAGTTCATAAAGCTTCGCTTTCATCTGCTTCATGGCCTGG
+TCTTTGTTCTTGTGCTGGGAACGGTCGTTCTGGCATTGGGTCACGATCCCGGTTGGGATGTGAGTAATAC
+GCACCGCAGATTCGGTACGGTTAACGTGCTGACCGCCCGCGCCGGACGCGCGATAAACGTCGATGCGCAG
+ATCTGCCGGATTGATTTCGATATCGATATCATCATCAACTTCCGGGTAAACAAACGCTGAACTAAACGAC
+GTGTGGCGACGACCGCCGGAGTCAAACGGGCTCTTACGCACCAGGCGGTGAACGCCGGTTTCTGTACGCA
+GCCAGCCATAAGCGTAATCGCCGGAGATTTTGATCGTCACGGATTTAATACCCGCCACTTCACCTTCCGA
+CTCTTCGATGATTTCAGTTTTGAAACCACGCGATTCAGCCCAGCGCAGATACATACGCTCAAGCATGCTC
+GCCCAGTCCTGTGCTTCCGTACCGCCAGACCCCGCCTGAATATCGAGGTAGCAGTCGGCGCTGTCATATT
+CGCCAGAGAACATACGGCGGAACTCAAGCTGCGCCAGTTTTTCTTCCAGGGCGTCGAGTTCAGCAACGGC
+TTCGTTAAAGGTTTCTTCGTCGTCAGCTTCTACAGCCAGTTCCAGCAGACCAGAAACATCTTCCAGCCCC
+TGTTTCATTTGGTCGAGGGTGTCGACAACGGCTTCGAGGGAGGAACGCTCTTTACCCAGCGCCTGTGCGC
+GTTCGGGTTCGTTCCAGACATCCGGCTGTTCCAGCTCGGCGTTTACTTCTTCCAGACGCTCTTTCTTGGC
+GTCATAGTCAAAGATACCCCCTAAGAACGTCGGAGCGTTCCGTGAGGTCCTGAATGCGATTATTTACCGG
+ATTAATTTCAAACATGGTCTGATTTCTTTTATTGAGCTAGTCAAAATGCGGTGATAAGAGCGGGATTGTA
+CCCAATCCACGCTCTTTTTTATAGAGAAGATGACGCTAAATTGGCCAGATATTGTCGATGATAATTTGCA
+GGCTGCGGTTGCCGCGAAACTCGTTGATATCGAGCTTGTAAGCCAGTTGCACTTCGCGCACGCCGTTATC
+CGGCCAGAGGGCGGTATCGACATTAAAAGCAATACCATCCAGCAGCGGACCGCCGCCGACCGGCTCGACC
+ATGACTTTCAAATGACGCTCGCCCACCAGCCGCTGTTGCAGCAGACGGAAATGACCGTCAAACAGCGGCT
+CCGGGAACATCTGCCCCCACGGGCCAGCATCGCGCAGCAGCTGCGCCACTTCCATGGTCATTTCGGCCGG
+ACTTAACGGACCGTCCGACACCACTTCGCCTTGCAATAGCGAAGGGTCCAGCCACTCAGTAACCAGTTCG
+CCAAACCGTTGTTGAAAGAGTTCGAATTTATCCTCTTCCAGCGACAAACCCGCCGCCATCGCATGACCGC
+CAAACTTCAGCATCATGCCGGGGTAAAGCGTGTCTAGCCGCTCCAGCGCATCGCGCATATGCAGCCCCTG
+AATGGAGCGACCGGAACCTTTCAGCGTACCGTCGCCCGCAGGCGCAAAGGCGATAACCGGACGGTGAAAA
+CGCTCTTTGATACGCGATGCCAGAATGCCAACAACGCCCTGATGCCATTCAGGGTGATACATTGCCAGCC
+CACCTGGCAGCGTGTCGCGGCTACGTTCCAGCTTCTCGCACAGAGTGAGCGCTTCAACCTGCATTCCCTG
+TTCGATCTCTTTACGTGTTTGGTTTAGTGCATCGAGTTCATTCGCCAGCACACGCGCTTCGCCAATGTTG
+TCACACAACAACAGCGCCACGCCAACGGACATATCGTCCAGTCGCCCGGCAGCATTGAGACGTGGCCCCA
+GCGCAAAACCTAAATCGCTGGCGGCGAGTTTTTGTGGATCGCGATTGGCCACTTCCAGCAGCGCTTTAAT
+CCCCGGACGGCACTTTCCGGCACGGATGCGACTCATCCCCTGCCAGGTCAGAATGCGATTATTAGCGTCC
+AGCGGCACGACGTCCGCCACTGTCCCCAACGCTACCAGATCCAGCAGTTCTGCCAGATTAGGAATTGCGA
+TGCCGCGCTCATCAAACCAGCCCTGATCGCGCAAAAAGGTGCGCAGCGCCAGCATCAGATAAAACGCCAC
+ACCCACGCCTGCCAGTGATTTCGACGGGAAATTACAGTCGCGCAAGTTAGGGTTAATGATCGCTTCCGCT
+GCGGGTAATGTGTCGCCTGGCAAATGGTGATCGGTAACAATAACCGGAATGCCCAACGAACGAGCGTGTT
+CAACCCCCGCATGGGAGGAAATACCGTTATCCACCGTGACAATTAACTGCGCGCCACGGGCATGAGCCTG
+ATCGACTACTTCCGGGCTTAAGCCGTAACCGTCTTCGAAACGGTTTGGAACCAGGTAGTCGATATTGCTG
+CAACCAAGCGAGCGCATCGCCAGCACGCTTAGAGCCGTGCTGGTGGCACCGTCGGCGTCGAAATCACCGA
+CCACAATAATCCGCGTGCCTTCGCGAAAAGCGTTGTAAAGGATCTCAACGGCCTTTTCGACGCCGCTCAG
+TTGCTGCCAGGGCAGCATGCCTTTAACACTGCGTTCCAGTTCCTGCGCGCTACGCACACCCCGGCTGGCA
+TATAAACGGCGCAGCAAGGGAGGCAATTCAGCGGGCAAGTCGGCCGTTTCATCGACTTCTCGGCGACGAA
+GTTGTATCTGTTGTTTCACGCGAATTATTTACCGCTGGTCATTTTTTGGTGTTCGTCGAGGAATTCTTTC
+ATGTCTTTCGGCGGCTGGTAACCCGGAACAAGTGTGCCATTGCTCAGCACAACTGCCGGAGTACCGCTAA
+CGCCAAGCTGGACGCCAAGTGCGTAATGGTCGGCAATATCCACGTCGCAGCTGGCTGGTGCGACGCTTTT
+ACCTGCCATCACATCATCAAACGCTTTGTTTTTATCTTTCGCACACCAGATAGCTTTCATTTCTTTCTCT
+GCATCGCTGTCCAGCCCCTGGCGCGGGAAAGCAAGATAACGCACGGTGATCCCCAGCGCGTTATAGTCTG
+CCATTTGCTCATGCAGTTTGTGGCAGTAACCACAGGTAATATCAGTAAACACGGTGATGACGTGTTTTTC
+CTGCGGCGCTTTATAAGCGATCATCTCTTTTTCAAGCGCATTCAACTGCTTTAACAGCATCTTATTGGTG
+ACATTGACCGGAGCCGTGCCACTAACGTCATACATTGGCCCCTGAATGATATGTTTACCATCATCGGTGA
+TGTACAACACACCGCTGTTAGTCAGAACTGTCTTCATGCCAGCTACGGGCGCGGGCTGAATATCGCTGCT
+TTTGATGCCCATTTTGGCTAACGTTTGTTGAATTGCCGCGTCATCAGCCTGAACAAAGCCTGAAAACGCT
+GCCAACAAGGTAAATAACATAAAACCTTTCTTCATAAATTTTCCTGTTCTTTTCAGACATCACGCCCGCG
+GGTGATGCTGTTGATGAAGTTGCCGCAGACGCTCGGTAGCGACATGCGTATAAATTTGCGTGGTGGAGAG
+ATCGCTGTGGCCCAGTAGCATCTGCACCACGCGCAAATCCGCACCATGATTTAATAAGTGAGTGGCAAAA
+GCGTGACGCAACACATGCGGTGACAGCTTTTCGCTGTCGATACCCGCCAGCACGGCATAATGTTTAATGC
+GGTGCCAGAAGGTCTGTCGCGTCATCTGCTGCGCACGCTGGCTGGGAAACAACACGTCAATTGACACACC
+ATTCAACAGCCACGGACGCCCATGTTCCAGATAGGTTTCCAGCCAGTAAACCGCCTCTTCACCTAACGGC
+ACCAGGCGCTCTTTGTTGCCTTTACCAATGACCCGCACTACGCCCTGACGCAGGCTGATATCACTCATTG
+TCAACCCGACCAGTTCAGAGACACGCAGTCCGGTAGCATACAACACTTCAAGCATGGCTTTATCGCGTAG
+CTCCAGTGGCTGATCAATTAATGGTGCCTGTAATAAACGTTCGACCTGCGCTTCGCTTAAATCTTTTGGC
+AAACGCTGGGGCAATTTCGGTGAAGCGAGATGCGCACTGGGATCATCTTCACGAAACTTTTCGCGATAAA
+GATACTGGAACAATCGGCGCACTGCACTCAGCAAACGCGCTGAGCTGGTGGCTTTATACCCGCCCTCCAG
+CCGTTCTGCCAGTAATGCCTGCAAATCGTCACTTTGCGCCGTCGCCAGCGTCAACCCGCGGTGATGCAAC
+CACTCCACCATCATTGACAGATCGCGACGGTAAGCGTTCAACGTATTTTCAGCCAGATTTTTTTCCAGCC
+ACAGAGCATCAAGAAACTGCTCGATGCGTGCCAGATCCTGTTTCACTTGCGCCCCTTATGGTCACTCATT
+TGATCCATTATGCCTTATTGTGCCGTGACTAAAGCGATTCTGATACACTAGCCGCAAAAGCCACAGCAGA
+ATCGAGAAGCTTACGTTATGAATATGGGTCTTTTTTACGGTTCCAGCACCTGTTACACCGAAATGGCGGC
+AGAAAAAATCCGCGATATTATCGGCCCAGAACTGGTGACCTTACATAACCTCAAGGACGACTCCCCGAAA
+TTAATGGAGCAGTACGATGTGCTCATTCTGGGTATCCCGACCTGGGATTTTGGCGAAATCCAGGAAGACT
+GGGAAGCCGTCTGGGATCAGCTCGACGACCTGAACCTCGAAGGTAAAATTGTTGCGCTGTATGGGCTTGG
+CGATCAACTGGGATACGGCGAGTGGTTCCTCGATGCGCTCGGTATGCTGCATGACAAACTCTCGACCAAA
+GGCGTGAAGTTCGTCGGCTACTGGCCAACGGAAGGATATGAATTTACCAGCCCGAAACCGGTGATTGCTG
+ACGGGCAACTGTTCGTGGGTCTGGCGCTGGATGAAACTAACCAGTATGACCTTAGCGACGAGCGTATTCA
+AAGCTGGTGCGAGCAAATCCTCAACGAAATGGCAGAGCATTACGCCTGATGTCACTGACGGCTTAGCACA
+TATGCTTTGCCGTCATCTTTATCTTTGCGTCTCTTGTTGTAACAATATCCGCCGTAAATCCCGCCATTCG
+GCTTCGTCCATGCTGTCAGCTGCCAGCCATAAATGTTGCCGTTTTCCGCTGTCAGAACGTAAACGCAGCA
+TCATGCCGCTCTTAATCATCCACGGCGCTTTGACGATGCTCCACTCCTGCCCTTGCCAACGCAAACGCCC
+GTCCATCAACAAGCGAATTTCCCCCTGGCGAGCATTAATACGCCGCTGGCTGCGAACGCAATCAAACACC
+ACCAGCGAAAGTAACACCATCCATAACGGGGTGTAACTGAGCGGCCAGGGAATGAGTAAAATAACAGCGG
+CAACCAGCCCATGAATCAGCAAGGAAAGCCACTGTGCGCGCCAGGAGACGCGCAAATCAGATTGCCACAG
+GACCACGTTCCCGGTTCCGTGTCTGGATGAGTCGGACCATCATTTCCAGTTCTGCATCGGCCGGTTTACC
+GTGATTCATCAGCCAGTTAAACAGGTCCGGATCGTCACATTCCAGCAGACGAATAAAGATGCGTTTTTCG
+TCATCGCTTAAGCTGTCGTACTCATGTTCGAAAAACGGCATGATTGAAATATCGAGTTCGCGCATACCAC
+GGCGGCATGCCCAATGAATGCGGGCTTTGTTGTTAATGTCCATCTTCTTCCTGTCTCACGAAAATCCAGT
+ACCCGGCTATTGTAACGTGTTTTTCGACTTCTTTTACGGGAATATCAGTAAACATAATCGCGATCGCGAA
+ATTAATTCACAACAATTCAAGGGCTTCATTTTTTTGGAAGTCGCCTCGCAGAAGGCACAGATCGCGTAGT
+GAAAGCACTTGCATTGCCTCATAGCTCTTTTACCATTAGTTATTAATACGCCGTTAAGCAACTCAGGACT
+CTATTATGGCTTTTACACCTTTTCCTCCCCGTCAGCCTACGGCTTCTGCCCGTTTGCCACTGACGCTGAT
+GACGCTTGATGACTGGGCGCTTGCCACTATTACTGGCGCGGACAGCGAAAAATATATGCAAGGCCAGGTG
+ACAGCAGATGTCAGCCAGATGACTGAAGATCAGCACCTGCTCGCCGCCCATTGCGACGCCAAAGGTAAAA
+TGTGGAGCAATTTACGTCTGTTCCGCGACGGCGATGGCTTTGCATGGATTGAACGGCGCAGCGTGCGTGA
+ACCGCAGCTGACTGAACTGAAAAAATATGCGGTGTTCTCTAAAGTGACCATCGCGCCAGACGACGAGCGT
+GTGCTGCTTGGTGTTGCCGGTTTTCAGGCGCGCGCCGCGTTGGCAAATCTCTTTAGTGAACTACCTTCGA
+GAGAAAAACAGGTAGTCAAAGAAGGCGCGACCACGTTGCTATGGTTTGAACACCCGGCAGAACGTTTCCT
+GATCGTAACCGATGAAGCTACTGCCAATATGCTGACCGATAAACTGCGCGGTGAAGCGGAACTGAACAAT
+AGCCAACAGTGGCTGGCATTAAACATTGAAGCGGGTTTTCCGGTGATTGACGCCGCCAACAGCGGGCAGT
+TTATCCCCCAGGCGACCAACCTCCAGGCGCTGGGCGGCATCAGCTTTAAGAAAGGCTGCTATACCGGACA
+AGAGATGGTGGCGCGAGCAAAATTCCGTGGTGCCAACAAACGCGCGCTCTGGTTGCTGACGGGTAGCGCC
+AGCCGACTGCCGGAAGCGGGTGAAGACTTAGAGCTGAAAATGGGCGAGAACTGGCGTCGTACCGGTACGG
+TGCTGGCTGCGGTCAAACTGGAAGATGGTCAGGTTGTGGTGCAGGTTGTCATGAATAACGATATGGAACC
+GGACAGCATCTTCCGCGTGCGTGACGATGCGAATACATTGCGTATCGAGCCACTGCCATATTCGCTGGAA
+GAGTAAATCTCTGTATCGCATCAGGCATTTATCGCCTGATGCGACACTGGTGTGTCTTTTCAGGCCTACA
+AAGGCACGCCAATTACGCCTGCCCAATATACAAATAGATCGCCAGAAAGTGGCACACACTACCGCCGAGC
+ACAAAGCCGTGCCAGATGGCATGATTGTATGGAATGCGCTTGCAGACGTAGAAAATCACCCCGAGCGAAT
+AAACCACACCGCCTACCGCCAGTAAGGTAACGCTGCCCGCCGCGAGCTTAACTGCCATTTCATAAATTAC
+CACCAGCGACAGCCAGCCCATCGCCAGATAGGTCACCAGAGATAAAATTTTGAATCGGTGCGCGATGGTC
+AGTTTAAACAGAATACCCAGCAATGCCAGGCTCCAGATAACAATCATCAACCCGCGCGCTAACGGAGAAT
+CCAGCCCCACCAGCAAAAACGGCGTATAGGTTCCGGCAATCAACAGATAAATGGCACAGTGGTCAAATTT
+CTTCAGCCACATTTTTGCCCGTTGATGGGGAATGGCGTGATAGAGCGTCGAAGCGAGGAACAGCAGGATC
+ATACTGCCGCCATAGAGGCTGTAACTGGTTATCGCCGTGGCGCTGGCATTGAGATCCACCGCCTGAACCA
+GTAGCAACACCAGCCCAACGATACCAAACACCAGCCCAATGCCGTGACTGACGCTGTTGGCAATTTCCTC
+TGCCAGCGAATATCCCTGCTTAATGAGGGGCTTCTGAACCATAACTTACTCCGGAAAAACGTACACGCAC
+ATGTATACCTCTCCAGCGTAACTGAGAATAGTTCCAGTGAACACCTGTTAGCTAAAATAAATTCTGATTT
+GAGATTAATCTCCGAAAAATCATGAAATTAAATGCGAAATTTCAACTAACAGGCGTGAGTTCAATTTAAA
+GACATTTAAATTCAATCACATAAAACTGTGTCTGGTCGGGATAGATGTCGGCAATGACCTTTTTCAGTTC
+AGTCAGGGTCATATTTTCCTGCTCTGCATGTTTTTCCGTCAGCGTATCCAGCGTTACGGTTGAGGTTGCG
+GTGACTTCAATCGTGCAAAAATAACCGTCATCTTCAAAACGTCCGACACGAAGCACATCACCCGTTTTGA
+AGTGCGATTCAGACTCGTCGCGGATGGTGATGGTTTTACGCCCAGCCAGAATGTCATCCTGGAAACGTTG
+AAAAAAAGTGATGTCGTTTGGCTGCATGGTACTATTTCCTGTAAGAATTGACTCATCTGGAGCCTATGAT
+AGTGAAAAAACTCACCTTACCGAAAGATTTCTTATGGGGCGGCGCAGTTGCCGCTCATCAGGTCGAAGGC
+GGCTGGAACAAAGGCGGCAAAGGGCCGAGCATTTGTGACGTTCTGACCGGTGGCGCACACGGCGTGCCGC
+GCGAAATCACCAAAGAAGTTGTGCCTGGCAAATACTATCCAAACCATGAAGCCGTTGATTTTTATGGTCA
+CTACAAGGAGGACATCAAGCTATTTGCCGAAATGGGCTTCAAATGTTTTCGTACTTCCATCGCCTGGACG
+CGCATTTTTCCAAAAGGCGATGAAGCTCAGCCAAACGAAGAAGGGCTGAAGTTCTACGATGATATGATCG
+ATGAACTGCTGAAATACAACATCGAACCGGTGATCACCCTCTCCCACTTTGAAATGCCGCTGCATCTGGT
+GCAGCAATATGGTAGCTGGACCAACCGTAAAGTGGTTGATTTCTTTGTCCGTTTCGCGGAAGTGGTATTT
+GAACGCTATAAGCATAAAGTCAAATACTGGATGACCTTCAACGAAATTAACAACCAGCGTAACTGGCGTG
+CACCGCTGTTCGGTTACTGCTGCTCCGGCGTGGTGTATACCGAGCATGAAAACCCGGAAGAGACGATGTA
+TCAGGTGCTGCATCACCAGTTTGTCGCCAGCGCCCTGGCGGTGAAAGCCGCGCATCGCATCAACCCGGAG
+ATGAAAGTCGGTTGTATGCTGGCGATGGTGCCGCTCTATCCTTACTCCTGTAACCCGGACGATGTGATGT
+TTGCCCAGGAGTCGATGCGCGAACGTTACGTCTTTACCGATGTGCAGTTGCGTGGCTATTACCCGTCCTA
+TGTGTTGAACGAGTGGGAACGCCGCGGATTTAACATCAAAATGGAAGACGGCGATCTGGATGTACTGCGC
+GAAGGCACCTGCGATTATCTCGGCTTCAGCTATTACATGACCAACGCGGTGAAGGCCGAAGGCGGCACCG
+GCGATGCGATCTCTGGTTTTGAAGGCAGCGTACCGAACCCGTATGTTAAAGCGTCTGACTGGGGCTGGCA
+GATTGATCCGGTTGGTCTGCGTTACGCGCTTTGCGAGCTGTATGAGCGTTACCAGAAGCCGCTGTTTATT
+GTCGAAAACGGTTTTGGCGCTTACGACAAAGTGGAAGATGATGGCAGCATCAATGACGATTACCGCATTG
+ACTACCTGCGCGCCCATATTGAAGAGATGAAAAAAGCGGTGACTTACGATGGCGTGGACCTGATGGGCTA
+CACGCCGTGGGGCTGCATCGACTGTGTGTCGTTCACCACCGGGCAGTACAGCAAACGCTACGGCTTTATC
+TATGTGAATAAACATGACGACGGTACTGGCGATATGTCGCGTTCACGTAAGAAGAGCTTTAACTGGTACA
+AAGAGGTGATTGCCAGCAACGGCGAGAATCTGTAATTAGCCGATGTGCCTGATGTGCTCCGCTCATCAGG
+CCTGGCACTCTTTTAATATATTGAGCTCGCAATATTTTATATTACGCCTCAGCCGAAACACACAAAGCGC
+ACTTTATTAACAAGCGAAAAAGGCGCCGAAGCGCCTTTATAAGATAGTCGAATCAGTAAATTACTGGTAT
+TCGCTAATCGGTACGCAGGAGCAGAACAGGTTACGGTCGCCGTAAACATCATCCAGACGTTTCACGGTCG
+GCCAGTATTTGTCTGCCACACCTGCCGGGAATACTGCAACTTCACGACTGTACGGATGCGCCCACTCGGC
+GACCAGTTCGCTCTGAATGTGCGGCGCGTTCACCAGCGGGTTATCTTCCAGCGGCCAGACACCGGCTTTC
+ACCTGGTCAATTTCTGCGCGGATAGCCAGCATCGCATCGATAAAGCGATCCAATTCCACTTTGCTTTCAG
+ATTCAGTCGGTTCAACCATCAGCGTACCCGCCACCGGGAACGACATGGTCGGCGCGTGGAAACCGTAGTC
+GATCAGGCGCTTGGCAATATCCAGCTCGCTGATGCCGGTTTCTTCTTTCAGCGGGCGAATATCGAGAATA
+CATTCGTGCGCCACGCGACCGTCGCGACCGGTATACAGCACCGGGAAGGCATCCTGCAGACGGCTGGCAA
+TATAGTTGGCGTTAAGAATTGCCACCTGGCTTGCTTTTTTCAGCCCTTCTGCGCCCATCATGCGGATGTA
+CATCCAGCTGATTGGCAGGATAGAGGCACTACCGAACGGTGCCGCAGAAACCGCGCCCTGACGGGTTAAC
+ATGCCTTCGATTTGCACCACGCTATGACCCGGTACAAACGGAGCCAGATGCGCTTTCACACCGATCGGTC
+CCATACCCGGACCACCACCGCCATGCGGAATGCAGAAAGTTTTATGCAGGTTAAGGTGGGAAACGTCCGC
+ACCAATAAAGCCCGGCGAAGTGATGCCAACCTGGGCGTTCATGTTCGCGCCATCAAGGTAAACCTGACCG
+CCGAACTGATGCACGACTTCACACACTTCACGGATCGTTTCTTCATACACGCCGTGGGTGGAAGGATAGG
+TCACCATGATACAGGAGAGGTTATCGCCCGCCTGTTCCGCTTTCGCGCGCAGATCAGTCAGATCGATGTT
+GCCGTTTTTATCACACGCCACAACCACCACCTGCATTCCTGCCATATGCGCGGAAGCCGGGTTAGTGCCG
+TGAGCAGAGGCCGGGATCAGGCAGATATCGCGATGCCCTTCGTTGCGGCTTTCATGATAATGACGAATCG
+CCAGCAGGCCCGCGTATTCGCCCTGTGCGCCAGAGTTCGGCTGCATACAAACGGCGTCGTAACCGGTCAG
+TTTCACCAGCCAGTCAGCCAACTGCGCAATCATCTGCTGATAACCTTCGGCCTGTTCCGGCGGGCAGAAC
+GGGTGCAGTTCGGCAAATTCCGGCCAGGTGATCGGGATCATCTCGGCGGCGGCGTTCAGTTTCATGGTGC
+AGGAACCCAGCGGGATCATCGCCTGATTCAGCGCCAGATCTTTACGCTCCAGCGAGTGCATATAGCGCAT
+CATTTCGGTTTCGCTGTGGTAGCGATTAAACACCGGATGGGTGAGGATTTCGTCGTCGCGCAGCATCGCA
+GCCTGAATAGAGCGACTGTCGTGAGCCACGTCTTTGTCCAGTGTGTCGATGTCCAGCCCGTGGTTATCGC
+CCAACAGCACGCTGAAAAGCTGCATCACGTTTTCGCGCGTGGTTGTTTCATCAAGGGTGATCCCAACCGC
+GTTCAGAATATCACTACGCAGGTTGATTTCACCCGCTTCGGCACGCGCCAGCACGCCCGCTTTGTCGGCC
+ACTTCCACACACAAAGTATCGAAATAGTGCGCATGGCGCAGCTTCAGGCCTTTTTTTAGCAGGCCCGCCG
+CCAGGATATCGGTCAGACGGTGGATGCGGTTAGCGATACGTTTCAGGCCAACCGGACCGTGGTAAACGGC
+ATACAGACTGGCAATGTTTGCCAGCAGTACCTGGGAAGTACAAATGTTGGAGTTCGCTTTCTCACGACGA
+ATATGTTGCTCGCGAGTCTGCATCGCCATGCGCAGAGCGGTGTTACCAGCTGCATCTTTCGATACACCGA
+TAATACGGCCCGGCATTGAGCGTTTGTATTCGTCTTTCGCCGCAAAGAATGCCGCGTGTGGGCCACCATA
+GCCCATCGGTACGCCAAAGCGTTGCGCCGAACCAAAAACAATATCCGCGCCCTGTTTACCCGGCGCAGTT
+AACAGCACCAGCGCCATAATATCGGCGGCAACGCTGACCACAATTTTGCGTGATTTCAGTTCGCTAATAA
+GCGCGGTGTAGTCGTGAATTTCACCAGTAGTGCCGACCTGCTGTAACAGCACGCCGAAGACGTCCTGATG
+GTCGAGCACTTTTTGCGCGTCATCGACAATCACTTCAAAACCAAAGGTTTCGGCACGAGTACGGACCACA
+TCCAGCGTTTGCGGATGAACGTCAGAAGCAACAAAGAAGCGGTTGGCATTTTTCAGTTTACTGACGCGTT
+TCGCCATCGCCATTGCTTCGGCGGCAGCGGTGGCCTCATCCAGAAGAGAAGCCGAAGCCATATCCAGCCC
+GGTCAAATCCAGCGTTACCTGCTGGAAGTTGAGTAGTGCTTCAAGGCGGCCCTGGGAGACTTCAGGTTGA
+TACGGAGTATACGCGGTATACCAGCCCGGATTTTCCAGCATGTTACGCAGGATAACCGGCGGTAGCTGCA
+CGGCGGTGTAACCCATGCCGATGTAAGACGTGAAGCGTTTATTGCGACTGGCAATAGCCTTGAGTTCTGC
+CAGTGCGGCGTATTCGGTCGCCGGTGCGCCAACCTGCGGTGGTGTCGCAAGCTGAATATCTTTCGGCACA
+ATCTGGCCGGTCAGCGCGTTTAACGATTGTGCACCAACGGCATTCAGCATTTCTTGCTGTTGCGCGGCGT
+CCGGTCCGATATGGCGTTCAATAAAAGCGCCGCTGTTTTCAAGCTGGCTTAACGTCTGTGTCATGAGCGA
+TGGTTCCTGAAACGTGCAGTGAATTGTGAACCTCTCTCCTTGCGAAGAGAGTGAGGGTGAGGCGTAAATT
+TCCTCACCCTGATCCTCTCCCGCAGAAGAGGAATAAAGCCGTTACTCGTCTTCTAACAATGCTTCGTATG
+CGGTTGCATCCAGCAGTGATTCCAGTTCGCTTTCATCGCTGGCTTTGATTTTGAAAATCCAGCCGCCTGC
+ATACGGTTCGCTGTTCACCAGTTCCGGAGAATCGCTCAGTGCATCGTTTACCGCCACGATTTCACCGCTT
+ACTGGCGCATAAATATCTGACGCCGCTTTTACCGATTCGGCAACCGCGCAGTCATCGCCCGCGCTAACCG
+TTGCGCCCACTTCCGGTAGGTCAACAAACACCATATCGCCTAACAGCTCCTGAGCGTGTTCGGTGATGCC
+AACGGTGTAAGTGCCGTCGGATTCTTTACGCAACCATTCGTGTTCTTTGCTGTATTTCAGTTCTGCTGGT
+ACGTTGCTCATCAATCAATCTCCAAAAAAGTAAATCACGCGACGGCTTTGCCGTTACGCACAAAAACAGG
+TTTCGTCACTTTAACCGGCATTTCACGGTTGCGAATTTGCACAATCGCCGTTTCACCAATACCTTCCGGC
+ACGCGCGCCAGCGCAATGCTATAACCCAGCGTTGGGGAGAAAGTACCGCTGGTGATAATGCCTTCATGCT
+GGTTGCCCTGCGCATCAGTAAAACGTACCGGCAGTTCATTACGCAGCACGCCTTTTTCGGTCATCACCAG
+ACCAACCAGTTTTTCTGTGCCATGTTCACGCTGCGCTTCCAGAGCTTCACGACCGATAAAGTCACGATCT
+GCCGGTTCCCAGGCGATAGTCCAGCCCATATTGGCGGCTAAAGGAGAAATAGTTTCGTCCATCTCCTGGC
+TATACAAATTCATGCCCGCTTCCAGACGCAGCGTGTCACGCGCGCCCAGGCCACATGGCTTAACGCCAGC
+TTCCACCAGCGCGCGCCAGAAATCGGCCGCTTTTTCATTGGGCAGCGCAATTTCGTAGCCCGCTTCACCG
+GTGTAACCGGTGGTGGCAATAAACAGATCGCCCGCCTGCACGCCAAAGAACGGTTTCATCCCTTCCACCG
+CCTGACGCTGGGCGTCATTAAACAGTGTGGCAGCTTTTGCCTGCGCATTCGGCCCTTGTACGGCGATCAT
+GGAAAGGTCATCACGAACAGTAATTTCGATGCCGAAAGGTTCTGCGTGTTGGGTAATCCAGGAGAGGTCT
+TTTTCGCGGGTGGCGGAGTTAACAACGAGGCGGAAGAAATCTTCAGTAAAGTAGTAGACGATGAGATCAT
+CTATCACACCGCCAGAGGCATTCAACATCCCCGAGTAAAGGGCTTTGCCGCTTTTGGTGAGCTTCGCCAC
+ATCGTTCGCCAGCAGATAACGTAGAAACTCCCGGGTGCGGCTGCCGCGAAGATCGACGATGGTCATATGT
+GACACATCAAACATTCCGGCATCGGTACGTACCGCATGATGTTCGTCGATTTGCGAACCGTAATGCAGCG
+GCATCATCCAGCCGTGGAAATCCACCATGCGAGCGCCGCAAAGCGTGTGTTGTTCGTACAAAGGAGTCTG
+TTGTGCCATCTTGTCCTCATTGAATAAGCGGGGCTGACAACTTTTCCATGGCGAAATTATCACCACGAAA
+CCCAGCATCGGAGCCACTCCCGGTCCCCAACGCAATCGTTCTCTTTTGCCTGAACTTACCACCGAAACAG
+ACTGTTAACCATAAGGTAAAATTGATCATCACATTAGCTTATGGTTAAAAAATGCAAAAATCGCAACAGA
+ATAAAAAACCAAAAAACACATCAGTTTCTATACAAAGATGATTTGATGAGAAAGTTAATTTGAATAAGAC
+AATATTAAGCGCTAAAAAAATGTCAAAAAACACTAAATCAAAAATCCATAACATTAGAAAATATAATGCG
+AAAACGGAGGTTAAATTAGTTTATTTCAAATGAGGAAAATCTCCCGGCGAAAAAACCGGGAGATGAAAGT
+GTGATGGGTATCAAATAAACAGCAGAAGAGAAATATTTAACGCAGCCATTCAGGCAAATCGTTTAATCCC
+ATTGCCTGACGAATAAGTTGTGGCTTAACGCCAGGAAGCGTATCAGCCAGTTTCAGACCAATATCACGCA
+GCAATTTTTTCGCCGGATTGGTACCGGAAAACAGATCGCGGAATCCCTGCATACCAGCCAGCATCAGCGC
+CGCACTGTGCTTACGGCTACGCTCATAGCGACGCAGGTAAATGTACTGCCCGATGTCTTTACCCTGACGA
+TGCAACCGTTTCAGTTCAGCAATCAGCTCTGCAGCATCCATAAAGCCGAGATTTACCCCCTGCCCCGCCA
+GCGGGTGAATAGTATGCGCGGCGTCGCCCACCAGCGCCAGACGGTGTGCGGCAAACTGGCGCGCATAACG
+CCCCGTTAGCGGGAACACCAGGCGCTCACTTTCAACCTTGCATAAGCCCAGGCGATTATCAAAAGCGATA
+TTTAACGCGCGATTAAATTCGTCTTCGCCTGCCTGCTGCATCCGCTGCGCTTCCTCTGGCGACAGTGACC
+AGACAATCGAGCAAAGATGCGGATCGCTAAGCGGCAAAAAGGCCAGAATGCCTTCGCCATGAAAAACCTG
+CCGCGCCACCGCATCATGCGGTTCTTCCGTGCGAATGGTCGCCACCAGCGCGTGATGCTGATAATCCCAG
+AAAGTCAGCGGAATATCGGCTTTGTTGCGCAACCAGGAATTAGCGCCGTCCGCGCCAATCACCAGACGCG
+CCGTTAACATGCTGCCATCTTTCAACGTCAGGAAGGTTTCATTTTCTCCCCAGGCGACCTGCTGTAATTC
+TGCGGGGGCCAACAGAGTGATATCTGACGACTGCTGCGCTTTGTTCCACAGCGCGTAGTGAATCACTGAG
+TTTTCAACGATATGCCCAAGATGGTTATAGCCCATGCTTTGATCGTCAAACGAGATGTGACCAAAACTGT
+CTTTGTCCCACACTTCCATACCGTGATAGCAACTGGCTCTGCGGGAGAGAATCTCCTGCCAGACGCCAAG
+ACGAGTCAGTAATTTTTCGCTGGCGGCATTGATAGCCGAAACGCGCAGTTGTGGTGGTGCATCCGCCGCC
+AGAGGTTCCGGTACGCGCTGCTCCAGTACGGCAACGCGTAAGCCGCTACCCTGTAAGCCGCAGGCAACCG
+CCAGCCCGACCATGCCGCCGCCAACAATGGCTACATCAACACTTTGCATTGTTTATTCCTTAAAACCGCC
+TTCAACGCGCCACCCAACCAAGAGTGCGCTGCGCCAGCACATCGCGTGCCGGGGTAAATAATTCCATCGT
+CATCAGCCCGATGTTGCGCCCGACAACCAGCGGCGTCCAACGGTTGGCAAAAAGATGTACAAGGCTGTCC
+GTGACGCCGATGGTTGCTTCGCGATCGCTCTGTCGACGCTGCTGATAACGGCACAATACGCCGTAATCAC
+CCATGTCTTCTCCGCGTTCCTGCGCCTGAGTCAGGGTTTCCGCAAGGCTCATGACATCACGCATACCGAG
+GTTAAATCCTTGCCCGGCGATGGGATGCAGAGTTTGCGCCGCATTGCCCACCAGCACGGTACGATGGGTA
+ATAGGTTTGGCGGCGCGGGTTAGCGCTAGCGGATAAGCACTGCGTTTACCGGCATGAGTAATTTTCCCAA
+GTCGCCAGCCAAAGGCCGACTGGAGTTCACGGCAAAACTTCTCGTCGCTCCACGACAGCACCTCTTCGCG
+CCGTTCCAGTGGATGACACCAGACCAGCGAACAGCGTCCGTCAGACATCGGCAACATCGCCAGCGGGCCA
+TGTTTCGTGAAGCGTTCAAAAGCGCGGCCTTCGTGCGCAACGGAAGTCGCAACGTTAGCAATCACAGCCA
+GTTGTTCGTAAGGCTCCTGCTGCCAGTCAACGCCGCACACAGTGGCTAACGCTGAATGGGTGCCATCAGC
+GGCTACCAGCACGCAGCCCGTCAGCGTCTCGCCACTCTCCAGCGTCACTTCAACGAGGCTCTGAGTACGG
+GCAACGTTAGCCACGCGATCAGGGCAATGCAGCGTTACGCCAGGTGCTTTGCGCAGCAATGCAAACAGCC
+GTTGCCCGACATTGTGCAATTCGACAACCTGCCCCAGCGCCGCCAGTTGGTAATCTTCTGCGGCGAGGGT
+GACAAATCCAGCGTGACCACGATCGCTGACATGCACTGTGGTGATGGCAGTTGCGCAATCAGCCAGAGAT
+TGCCAGACGCCGATGCGCGCCAGTTGCTGACAAGTACCCGCCGCCAGCGCAATAGCCCGTCCATCAAAGC
+CCGGATGAGCATGTGACTCTGGCGCAGTCGCTTCAATCAAATGTACCGGCAGCGCCCCGTGACTTAACCG
+GGAAATAGCCAGCGCCAGCGTCGCGCCCGCCATGCCGCCACCGACGATGATTACGCTCATTGCTTTCTCG
+CAGCAGCCATCAACGCTTCGATTTCTTCCGGCTTTTTCACCACGCTGGCGGTGAGGTTTTCGTTGCCGGT
+TTCGGTAATCACAATGTCGTCTTCAATACGAATGCCGATACCGCGATACTGTTCTGGCACGTCTGCATCC
+GGCGCAATATAAAGACCTGGCTCTACGGTCAGAACCATGCCCGGTTCAAGAATGCGCGAGCGCTCCTGGC
+CATAAACGCCAACGTCATGAACATCCAGACCTAACCAGTGGCTAAGGCCATGCATAAAGAAAGGACGATG
+GGCATTCTGAGCGATCAGTTCATCAACATCACCTTTCAGGATGCCGAGTTTTACCAGGCCGCTAACCATG
+ATGCGCACCACTTCACCAGTGACTTCCTGAATGGAAGTTCCCGGACGATACAGGCGCAAGCTGGTTTCGA
+GAGATTCCAGCACAATATCGTAGATTTCACGCTGGGCCTGGGTGAATTTGCCGTTGACTGGGAAGGTTCG
+GGTAATATCACCCGCGTAACCTTTGTATTCGCAACCCGCGTCAATCAACACCAGATCGCCGTCGCGCAGT
+TCACACTCGTTTTCGGTGTAGTGCAAAATGCAGCCGTTTTCACCGCTGCCGACAATGGTGTTATAGGAAG
+GGTAACGCGCACCGTGGCGGTTAAATTCGTGGTGAATTTCGCCTTCCAGATGGTACTCGAACATCCCCGG
+ACGGCATTTTTCCATCGCCCGTGTATGTGCCAGGGCGGTGATTTCTCCCGCGCGGCGGAGTACGGCAATC
+TCTTCTGGCGATTTGAACAGGCGCATTTCATGGACCATGGGACGCCAGTCGATCATCGTTGCTGGCGCGG
+TGAGATTTTGTCGCGAGCCTTTACGCAGTTTTTCCAGTGCACTGTTCACGATTTCATCAGCATATGCATA
+TTCGCCCTGAGCATGGTAAACCACATCCAGGCCGTTAAGTAGTTGATAAAGTTGCTGATTGATTTCGCTG
+AATGCCAGTGCGCGGTCAACACCCAGTTTCTCTGGCGCGGCATCCTGGCCTAAGCGACGACCAAACCAGA
+TCTCTGCCGTCAGGTCGCGAACGCGGTTAAACAAAACGCTGTGGTTATGAGTGTCGTCGCTTTTAATCAG
+CACCAGCACCGCTTCCGGTTCGTTAAAGCCGGTGAAGTACCAGAAGTCACTGTTCTGACGATAGGGGTAT
+TCGCTGTCGGCGCTACGTGTTACTTCTGGTGCAGCAAAAATCAGCGCGGCGCTGCCGGGTTGCATTTGCT
+CTACCAGGGCCTGACGGCGACGCTGAAATTCTTGCCGGGATATATCACTCATAACACTCTCCTTACGTTT
+TTTGTTTTTAGTGTAGAGTCGGTTTTTGTACTTCTGGCGCAGTCGGTTGCGGATGAGTAAAGGTGTCGTG
+GCATAACAGCGCGGCAACACGGACGTACTCGATGATCTCTTCAAGCGACATTTCAAGCTCTTCCTGATCT
+TCGTCTTCGTCGTAACCCAACTGTGCGATGTTACGCAGATCGTCGATGGCTTCACCGGTTTCGCCGGTCA
+CTTTGTCCAGCTTCGGTTGCGTAACGCCAAGACCAAGCAGGAAGTGATTAACCCAACCTGCCAGCGCATC
+AGCCCGATCGAAAACGCTGACGTCATCGCCATCAGGCAGATAAAGCTGAAAAAGGAAGCCGTCATCCTGC
+AGGGCATCGCTGGTGGCAGAGTGCATTTTGCGCAGTGCCTGTGCCAGCTCATGACCGAAAGCCATGCCTT
+CGTTCGTCAGGTCGTGAAGTAGCGGCAGCCATGAGCTGTCATCGTTACCGCCACATATCATCCCACTGAT
+TAAACCATGCATCTCAGCAGGGGTCAGACCCGTCCCTTGTTGGTTCAGATACTGGTTCATTTCGTTGTAA
+CCAGGCATTTCGTTCTGTATAGACATAAGCATTCGTCGTCAAAGGGAGGAATATTCATGATATGCTACCA
+CTTTGGGCCCTGGTGGACCAGAAAAGGGCTTGTCTCTTCTCATCAGGGTAGCTATAGTGTCGCCCCTTCG
+CAGACCATGGGTCTAAAGACGAAGGCAGCGCAGTCAATCAGCAGGAAGGTGGCATGTCTGCACAACCCGT
+CGATATCCAAATTTTTGGCCGTTCACTGCGTGTGAACTGCCCGCCTGACCAAAGGGATGCGTTGAATCAG
+GCAGCGGACGATCTGAACCAACGGTTGCAAGATCTGAAAGAACGCACTAGAGTCACAAATACTGAACAGT
+TGGTCTTCATTGCCGCATTGAATATCAGCTATGAGTTAGCGCAAGAAAAAGCGAAGACTCGTGACTACGC
+GGCAAGTATGGAACAGCGTATTCGGATGCTGCAGCAGACCATAGAACAAGCGTTACTTGAACAAGGTCGC
+ATCACCGAAAAAACTAACCAAAACTTTGAATGACACTTTTCGGTTTACTGTGGTAGAGTAACCGTGAAGA
+CAAAATTTCTCTGAGATGTTCGCAAGCGGGCCAGTCCCCTGAGCCGATATTTCATACCACAAGAATGTGG
+CGCTCCGCGGTTGGTGAGCATGCTCGGTCCGTCCGAGAAGCCTTAAAACTGCGACGACACATTCACCTTG
+AACCAAGGGTTCAAGGGTTACAGCCTGCGGCGGCATCTCGGAGATTCCCTTCTTATCTGGCACCAGCCAT
+GACGCAACTACCAGAACTCCCACTGACATTATCCCGACAAGAAATCCGCAAAATGATTCGGCAACGTCGT
+CGTGCGTTAACGCCGGAACAACAGCAGGAAATGGGTCAACAAGCCGCTACCCGGATGATGACTTATCCCC
+CGGTGGTGATGGCACATACGGTCGCTGTATTCCTCTCTTTTGATGGCGAACTCGACACCCAGCCACTCAT
+AGAACAACTCTGGCGCGCCGGTAAGCGCGTATATCTTCCAGTTTTGCATCCCTTTAGTGCCGGTAACTTG
+CTGTTCCTGAATTACCATCCGCAAAGCGAACTGGTGATGAACAGGTTGAAGATCCATGAGCCAAAACTGG
+ATGTGCGTGACGTGCTACCCCTTTCCCGATTAGACGTGTTGATCACACCGCTGGTCGCCTTTGATGAGTA
+CGGTCAGCGCCTGGGAATGGGCGGTGGTTTTTATGATCGGACCTTACAAAACTGGCAGCACTATAAAATG
+CAACCGGTGGGTTATGCGCATGATTGTCAGTTGGTGGAAAAACTCCCCGTTGAAGAGTGGGATATCCCTC
+TTCCTGCGGTGGTTACACCGTCGAAAGTCTGGGAGTGGTAAGGGCGACACACCTGCATCGCCCTGATTGA
+CATCGTTGATTCTTTAACCTAATTTAGTGAGTAAGGGTAAGGGAGGATGACTCCTCCCCTGAGACTGACT
+GTTAATAAGCTGGGAAACTTATGAGTAACAGTACAATCAGTATGATGACAAGTCGCATCATAACCCTTCT
+CCTTCAAGCCCTCGCTTCGGTGAGGGCTTTACCGTTACAGCCCCATGCTGCCCTGCCATCGTAAATCCCC
+ATTAAATAAACACAACGCATTGATCTGACTTTGATTTATTTTCTGGAGCAGACTCGCAATGTAGAATGCG
+CAATGCGGCAACGGTGTGGAGAAGGGATAAAAAAAACGGGCAAGTCAGTGACCTGCCCGTTGATTTTCAG
+AGAAGGGGATTTAGTACAGCAGACGAGCGCGAATGGTACCCGGAATAGCTTTCATTGCCTGCAGCGCTTT
+TTCGGCAACGTCTTCGTCGGCTTCAATATCAATAACTACATAACCCATCTGGGCGGAAGTTTGCAGATAT
+TGCGCGGCGATGTTGACGCCCTGCTCGGCAAAAATTTTGTTGAGCGCAGTCAGCACACCCGGACGGTTTT
+CGTGGATGTGCATCAGACGACGACCACCGTGCAGTGGCAGCGAGACTTCCGGGAAGTTCACCGCAGAGAG
+CGTTGAACCATTATCAGAATACTTGATCAATTTACCCGCAACTTCCAGACCGATATTCTCCTGCGCTTCC
+TGAGTCGAACCGCCAATGTGTGGCGTCAGAAGGACATTGTCGAATTCACACAGCGGAGAGGTAAATGGAT
+CGCTATTGGTCGCCGGTTCCGTCGGGAATACGTCGATTGCCGCCCCCGCCAGATGTTTGCTCGCCAGCGC
+GTCACACAGCGCTGGAATATCCACCACAGTACCGCGCGAAGCATTAATCAGCAGCGAGCCGGGTTTCATT
+AGCGAAATCTCTTTCGTGCCCATCATATTTTTGGTGGACGGATTCTCTGGTACATGCAGACTCACCACAT
+CGCTCATATTCAGCAGGTCAGAAAGATGCTGTACCTGAGTGGCGTTGCCCAGCGGCAGTTTGTTTTCAAT
+ATCATAAAAGTAAACATACATTCCCAGCGATTCAGCCAGAATGCCCAATTGCGTACCAATATGACCGTAG
+CCGATGATACCCAGCTTTTTGCCGCGCGCTTCAAAAGAACCCGCCGCCAGTTTGTTCCACACGCCACGAT
+GCGCTTTAGCATTGGCTTCCGGCACGCCGCGCAATAGCAGCAGCAGTTCGCCAATCACCAGCTCCGCAAC
+AGAGCGCGTATTTGAGAACGGTGCGTTAAATACCGGGATCCCGCGCTTTGCCGCCGCATCCAGATCAACC
+TGGTTTGTTCCTATACAGAAACAGCCAATAGCGACCAGTTTTTCTGCGGCGTTGATCACGTCTTCAGTCA
+GATGGGTACGGGATCGCAGGCCGATGAAGTGGGCATCGCGGATGGATTCTTTTAATTGTTCATCATCCAG
+CGCGCCTTTGTGAAATTCGATGTTGGTGTAACCAGCTGCACGAAGGCTTTCCAGCGCCTTTTGGTGCACG
+CCTTCTACCAGCAGAAACTTAATCTTGTCTTTCTCCAGCGATACCTTTGCCATTTACCCAATCCTGTCTT
+TTGAAATGTTGTGTGCGGATTTGCATCCGCCTTTCAACATATCAAAAAATAATATTGCGGCAATATGAAC
+GTTTGCGTCGCGATGTTGAGGAAATATCACGCAAAAGTATTTCTTGGATGAATATGCTGGTTTAGAAGAT
+TTATTTAGAGCAATCGACAATTGCCAGGTAAAAACGTGACACATGTCACTAAATTTAATGAAGAGAATTT
+TTTTAACGGGGGAGGTTCCCCCGTCAGATCATTTCACAATAGTTTTGACACCGTCAGGTGTGCCAATCAG
+CGCAACGTCCGCGCCACGGTTAGCAACAAACCAACAGTCACCACGCCAGGAATCGCATTTATGGCGTTTT
+CCATCGCTATCGGGTCCAAGGATTTCCATGCCGTGGACGTCGAGGATCACGTTGCCGTTATCGGTCACTA
+CGCCCTGACGGTATTCCGGACGACCGCCCAGTTTCACCAGCTGGCGCGCCACTGCACTACGTGCCATCGG
+GATAACTTCTACTGGCAGCGGGAATTTGCCCAGAATATCAACCTGCTTGGAAGCGTCTGCAATACAGATA
+AATTTTTCCGCAACCGAAGCAATGATTTTTTCACGGGTCAGCGCCGCGCCGCCGCCTTTGATCATTTGCA
+TGTGGCCGTTGATTTCATCTGCGCCATCAACGTAGATGCCAAGGCTGTCGACTTCGTTGAGATCAAAAAC
+GTGAATGCCGAGGCTTTTCAGTTTTTCAGTGGAAGCATCTGAACTGGAAACGGCCCCTTCAATCTGGCCT
+TTCATTGTACCGAGTGCGTTAATAAAGTGTGCGGCGGTGGAACCTGTACCTACACCAACAATGGTGCCGG
+GCTGAACATACTGAAGTGCCGCCCATCCTACTGCTTTTTTCAATTCATCCTGCGTCATGATCGTTTCGCC
+TGTGGTATGAAATTTCACACGCATTATATACAAAAAAAGCGATTCAGACCCCGTTGGCAAGCCGCGTGGT
+TAACTCATCCATAAAATATCGCGCAATGGCGGGCATCCCCTTTCGCCCCGCAAGTAAAGCATACAACGGT
+CTGGGTATGCCGCTCCACGGTGCAAACAGGCGCACCAGTTCCCCGTTCGCAAGCCCCTGTTTACAGGCAA
+ACTGAGGCAATAACGCCACGCCATTCAACACAACCAGGGCGCGAACTCGCTGAGCGAAATGCATTAGCGC
+AAATCCCTGATCTTTTAAGCTGCGCGTTAACCACTGATACAAATGTTACCCACCAACGGCTTCGGTATAT
+GCAACCCGACACAAAATTGTGTCATAGTGCAGGAAAAAGCATTTACCAGGAGCAGACAACAGCAATGAAA
+CGCCCGGACTACAGAACATTACAGGCACTGGATGCGGTGATACGTGAACGAGGATTTGAGCGCGCGGCAC
+AAAAGCTGTGCATTACACAATCAGCCGTCTCACAGCGCATTAAGCAACTGGAAAATATGTTCGGGCAGCC
+GTTGTTAGTGCGTACCGTACCGCCGCGCCCGACGGAACAAGGGCAAAAACTGTTGGCGCTACTACGCCAG
+GTGGAGCTGCTGGAAGAAGAGTGGCTGGGCGATGAACAAACCGGTTCGACTCCGCTGCTGCTTTCACTGG
+CGGTCAACGCCGACAGTCTGGCGACGTGGTTGCTTCCGGCACTGGCTCCTGTGTTGGCTGATTCGCCCAT
+CCGCCTCAACTTGCAGGTAGAAGATGAAACCCGCACTCAGGAACGTCTGCGTCGCGGCGAAGTGGTCGGC
+GCAGTGAGTATTCAACATCAGGCGCTGCCGAGTTGTCTTGTCGATAAACTCGGTGCGCTCGACTATCTGT
+TCGTCAGCTCAAAACCGTTTGCCGAAAAATATTTCCCTAACGGCGTAACGCGTTCGGCATTACTGAAAGC
+GCCAGTGGTCGCGTTTGACCATCTTGACGATATGCACCAGGCCTTTTTGCAGCAAAATTTCGATCTGCCT
+CCTGGCAGCGTACCCTGCCATATCGTTAATTCTTCGGAAGCGTTCGTGCAACTTGCTCGTCAGGGCACCA
+CCTGCTGTATGATCCCGCACCTGCAAATCGAGAAAGAGCTGGCCAGCGGCGAACTGATTGACTTAACGCC
+AGGGCTATTTCAACGCCGGATGCTCTACTGGCACCGCTTTGCTCCTGAAAGCCGCATGATGCGTAAAGTC
+ACTGATGCGTTGCTCGATTATGGTCACAAAGTTCTTCGTCAGGATTAATCCATCAAATAACGCCTGATAG
+CACATATCAGGCGTTATCCTCACTTCTTTTTGTATTCCTTGAATCACATCACAAAATAGACAAATCTCAG
+GCGGCAAAAAACGACGTCTGAATGCATTTTTTTGCTGGCGACAAACCCACGTAAAAAGCTCACCGTAAGC
+GCAAATACCCTCATTTTGATTGCGTTTTATGGAGCAAATAATGTCTAACGTGCAGGAGTGGCAACAGCTT
+GCCAACAAGGAATTGAGCCGTCGGGAGAAAACTGTCGACTCGCTGGTTCAGCAAACCGCGGAAGGGATCG
+CTATCAAGCCGCTGTATACCGAAGCCGATCTCGATAATCTGGAGGTGACGGGTACTCTTCCTGGTTTGCC
+ACCCTACGTTCGTGGCCCGCGTGCCACTATGTATACCGCCCAACCGTGGACCATCCGTCAGTATGCTGGT
+TTCTCGACAGCAAAAGAGTCCAACGCTTTTTATCGCCGTAACCTGGCCGCCGGGCAAAAAGGTCTTTCCG
+TTGCGTTTGACCTTGCCGCCCACCGAGGCTACGACTCCGATAACCCACGCGTGGCGGGCGACGTCGGCCA
+AGCGGGCGTCGCTATCGACACCGTGGAAGATATGAAAGTCCTGTTCGACCAGATCCCGCTGGATAAAATG
+TCGGTTTCTATGACCATGAATGGCGCAGTGCTACCAGTACTGGCGTTTTATATCGTCGCCGCAGAAGAGC
+AAGGTGTTACATCCGATAAACTGACCGGCACCATTCAGAACGCTATCCTCAAAGAGTACCTCTGCCGCAA
+TACCTATATTTACCCGCCAAAACCGTCAATGCGTATTATCGCAGACATCATCGCCTGGTGTTCCGGCAAC
+ATGCCGCGATTTAATACCATCAGTATCAGCAGTTACCACATGGGTGAAGCGGGTGCCAACTGCGTGCAGC
+AGGTAGCATTTACGCTCGCCGATAGGATTGAGTACATCAAAGCAGCAATCTCCGCCGGGCTGAAAATTGA
+TGACTTCGTCCCTCGCCTGTCGTTTTTCTTCGGCATTGGCATAGATCTGTTTATGAACGCCGCCATGTTG
+CGTGCGGCACGTTATTTATGGAGCGAAGCGGTCAGTGGATTTGGCGCACAGGATCCGTATAACAACGTTA
+TCCGCACCACCATTGATCATTGTGCACATCCTATGTGTCGGGATTATCTGCATCGCTATCTGGAAAATGC
+GTCCGGCGGACATATTCACCACGATCTTAGCCACGTCTTCGACTTACACCGTAATTTAATTGCAACCGGA
+TCGATGCTGGGTTAATGGTTTGTCCCGTCACGATCTTCAGCAATATGCTGAAGCATCGTGGCGGTATAAC
+GATGATTTCTGATTGAATAAAGATATTCCTGCATATACATCGGCCTGTGCGGCGCATCAAAATATTTCAG
+CGTTGTCGGATTCACCAGTCGCCAGGCAAAATGCGGGATCACCGTCAGAAAATGTCCCCGCTCCACGGCG
+CTGATTTTGGCCATAAAACTGTAGGGACGATAAATAATGGTTGGATTGATCCCACAAGGACGCATATTCG
+CATCAATCATTGTTTCGAAATTGGCCCGATTCTGAAAGCGCATTTGTAGCCAGGGCAGCTCCTGAAGCAG
+CTCTTGCTCTTGTCGCTCTTCATAACGGCGAGAAACGAGAAAGCCCAATCGCAGCGGCGGTAGTTCACTG
+ATAGTCAGGTTTTCCAGTTCCTGAACTCGTGCAGATACATGCTGTGGGGAGATTATAAAATCTAACTGAC
+GGTCAAAAAGATTATCGATAACGCCATTTTCGCTGAACTCAACTGGCTGGGCGGTCACGCCTTCGTACTT
+ATCTCCGAGACTAATCAACTGATCAAAAATAATGGTCGGATAAGTATTATCTATGCCTATCACAATGTCT
+CGTGAACGACGTCCTGAGTTATGGATTTCATTATCAATCGCAGAAAGTCGTTGATAAACCGGGAACAGTT
+TTTGATACAGTTCCTGTCCGGCTTTATTGAGGCTGATATTATTATCTTTGCGGGTAAATAGCGTATAGCC
+AATTTGTTCTTCCAGCGCGGCAATGCTTTTGCCAAATCGCGAAGCCGTCATATGGATTTTTTCTGCCGCC
+CGGGCAATATTATTGGTTTGCGCTAATAAAATGAAATTGCGCATCTTTTTCGAAATAAAAATGTCCATCC
+CCCCTCTCCCGCATCCTTGTCCGCTTAACCGTTTCAGTCAGCCTATCCTTGATGAAACCGCGAGCAAAGA
+TAGGTGATTACGTCATGGTTTTACAGAAAAAGGAGGCAATATCGGGTAAAGGCATTAGCCCGACGAATAC
+GTCAGGCTACAAGTATTAATGTGCAGCAGGTGTTTTAGCGGGGGGTTGATCCACAGGTTCTAACTGGAAG
+ACCACATCGACCTGATCATCAAACTGAATAGCGGCCTGCTCGTAAGTTTCCTGGGCGGACACCGGCGCGG
+CATCGGCTTTCATCATCCGCACCATTGGGCTGGGCTGATAGTTGGAAACATGGTAGCGCACGCTATATAC
+CGGCCCCAGTTTACGATGAAAGCCGTTCGCCAGTTCCTGCGCCTGATGAATCGCGTTATCAATCGCTGCC
+TTACGCGCTTTGTCTTTATAGGCATCCGGCTGCGCCACGCCCAGCGACACAGAACGAATTTCGTTAAGTC
+CCGCCTTCAGCGCGCCATCCAGCAAGGAATTCAGTTTGTCTAACTGACGGAGCGTGACTTCCACCGTTCT
+CACAGCACGGTAGCCTTTCAGGATACTTTTACCATCCTGATAATCATAATCTGGCTGGGTGCGTAAGTTC
+GCTGAGCTGATATCTTTTTTCGCGATCTGATTGAGTTCAAGGAAGGAAATGTATTGTGCGACGCGCTCAT
+CCGCCTGTTTCTTGGCAGTAGCGGCATCCTTCGCGGCCACGTTAACTTCAATCGCAAGAGTGGCAATGTC
+TGGCACCGCATCCACGCTTGCCGTACCGGAGGTGACAATATGCGGTCCATCCGGCAATTCGTTAGCCTGC
+GCTGCCATCCCGCTAATACCCATTAATGCCGCCAGGGCGATAACTTTGAACTTCACGTTAGTCTCTCCGT
+GTTAATTGACTTGCCCAAAATTCAGGACCTCTGGAGGCAAGCTTAGCGCCTCTGTTTTATTTTTCCATCA
+GATAGCGCCTAACTGAACAAGGCTTGTGCATGAGCAATACCGTCTCTCGCCAGCTGCAAGGCAATAAACC
+ACATAACACATCCCACTACCAGATTGATAATGCGCTGTGATTTTGCCGTGCGCAGGCGCGGTGCCAGCCA
+GGCTGCGAGAATAGCCAGACCAAAGAACCACAGGAAAGAGGCGCTAATTGTTCCGAGCGCAAACCAACGT
+TTTGGTTCCACATCAAGTTGCCCGCCAAGGCTGCCCAGCACAACAAAAGTATCCAGGTAAACATGCGGAT
+TCAGCCAGGTCACTGCCAACATGGTGGCGATAATTTTCCATCTGCCTTGTTTCAGGACTTCGGCACTGGC
+TAACTCAATGTTACTGCTCATTGCTGTTTTAAAAGCGCCAAAACCATACCACAGCAAGAAGGCTACGCCG
+CCCCAGGTGACCAGCGCCAGCAACCACGGCGACTGCATCAATAACGCGCTGCCACCAAAAATCCCCGCAC
+AAATCAGGACCAAATCGCTGATAGCACAAAGTAAGGCAATCATAATGTGGTACTGACGACGAATGCCCTG
+ATTCATCACAAAAGCATTTTGTGGACCGAGCGGTAGGATCATAGCTGCGCCAAGTGCAAGACCTTGAAAG
+TAATAAGAAAACACGTTGGATATTCCGAATTAAGTATCTGATGCAGAGACTATATCGCGGGATTGTTATT
+AGCGGAAATTGATAATATTAATTGGCAATCAGAAAAACTAATAAGAGAGAGGCCAGAGAGTATTATCTGG
+CCTCAGCGTTGATTACGCAGCTTTGTCTTCTTTCACCCGCTTAAAGTTCACATCCATTTGCGGGTACGGG
+AAGCTGATACCGGCGGCATCAAATTCACGTTTAATACGCTCCAGCACATCCCAGTACACGTTTTGCAGAT
+CGCCGCTGTTGCTCCAGACGCGGACCACGAAATTAATCGACGATGCGCCAAGTTCGTTCAGACGCACAGT
+CATTTCGCGATCTTTCAAAATGCGATCTTCAGACTGGATAATATCGGTCAGGATCTGCTTAACCTGATCG
+ATATCGGAATCATACGCCACGCCAATAATAAATTCGTTACGGCGAGCTGGCTCGCGGGAGAAGTTAATAA
+TATTCCCGGCAATAATTTTACCGTTCGGAATAACGATAATTTTACCGTCTGCAGTACGCATGGTGGTGGA
+GAAAATCTGCACACTCAGCACAGTACCGGCTACGCCGCCGAGGTCAACATATTCTCCGGCACGGAACGGG
+CGGAACATGACAAGTAACACGCCAGCGGCCAGGTTAGACAGTGACCCCTGCAAAGCCAGACCAACAGCTA
+AGCCTGCGGCACCGAGTACAGCAATGACTGACGCTGTTTGTACGCCCACGCGCCCCAGTGCAGCGATTAG
+CGTAAAGGCGATAATTCCGTAACGGACTAATGCAGAAAGAAAATCAGCAACAGTGGCATCGATTTTACGG
+GAGATCATCAGGCGATTCACCGCGTTGGAAATCATCCGCGCGATAATCAAACCAACGATGATGATCGCGA
+GTGCCGCCACGATGTTTACTGCATAACTTAGCAGCAGCGCCTGGTTAGCCACCAGCCAGCTTCCCGCGCC
+GTTTATGCTATCGACAACATTCAAATCTTCCATTCAATATTCCTTTTCAACTGACTCAAAATGGAGAAAT
+ACACTCCGCCGCCTTATGACGGGCAGTCTGACAAGGGTAAACAATAAAGCATAATTTTGCCAAATAGATC
+ACAGATTTCTCATCTGTATCACCTTGCTTTTGGCGAAAAAAAGACTTTTGGCGAAAAAAAGACCGCAGAG
+CGGGCCTTGAGATAAGCAGAAAGGAATATCTTACAGAACGTCGATCGCGTTCAGTTCCTGGAATGCTTTT
+TCCAGACGAGCGATCATCGAAGTCTGACCGGCACGCAGCCATACGCGCGGATCGTAGTATTTCTTGTTCG
+GCTGATCTTCGCCTTTCGGGTTGCCCCAGCTGGCCTTGCAGGTAAGCTTCGTTTTCTTTGTAGTAGTTCA
+GAACACCTTCCCAGGTTGCCCATTGGGTATCGGTATCGATGTTCATTTTCACTACGCCGTAGCTTACGGA
+GTCTTTGATTTCCTGAGCAGTAGAACCGGAACCACCGTGGAAGACGAAGTTCAGGCTGTTGTGCGGCAGG
+TTGTGTTTCTTAGAAACATATTCCTGAGAGTCGCGCAGGATGGTCGGAGTCAGAACCACGTTACCCGGCT
+TGTAAACACCGTGTACGTTACCGAAGGACGCAGCGATGGTGAAACGCGGGCTGATTTTGCTCAGCTCGGT
+GTATGCGTAATCAACGTCTTCCGGCTGGGTGTACAGTGCAGAAGCGTCCATGTGGCTGTTGTCCACGCCG
+TCTTCTTCACCACCGGTGCAACCCAGTTCGATTTCCAGAGTCATGCCGATTTTGGACATGCGCTCCAGGT
+ATTTAGAGCAGATTTCAATGTTCTCTTGCAGAGATTCTTCAGACAGGTCAATCATGTGAGAAGAGAACAG
+CGGCTTACCGGTAGCAGCGAAGTGTTTTTCACCCGCGTCCAGCAGACCGTCGATCCACGGCAGCAGTTTC
+TTCGCGCAGTGGTCGGTGTGCAGGATAACCGGAACACCATAATGTTCAGCCATCTGGTGAACGTGATGCG
+CACCAGAGATCGCACCCAGGATAGCAGCGCCCTGCGGAACGTCAGATTTCACGCCTTTACCAGCGATAAA
+AGAAGCACCACCGTTGGAGAACTGAACGATAACCGGCGCTTTAACTTTAGCTGCGGTTTCCAGTACGGCG
+TTGATGGAGTCAGTACCGACGCAGTTTACTGCTGGCAGTGCGAAGTTGTTTTCTTTTGCTACCTGGAAAA
+CTTTCTGTACGTCATCACCAGTGATTACGCCAGGTTTTACGAAATCAAAAATCTTAGACATGTCTCTTGT
+CCTGTATCGTCGGGCCTTATACTCGTCATACTTCAAGTTGCATGTGCTGCGTCTACGTTCGCTCACCCCA
+ATCACTTACTTATGTAAGCTCCTGGGGATTCACTCTCTTGTCGCCTTCCTGCAACTCGAATTATTTAGAG
+TATGAAAAAGTGCGTGCTCTAAAAGCGCGCTGAAACAAGGGCAGGTTTCCCTGCCCTGTGATTTTTTACT
+TCTTAGCGCGCTCTTCGAGCATCGCTACTGCAGGCAGTACTTTACCTTCTACGAATTCGAGGAATGCGCC
+GCCGCCAGTGGAGATGTAGGAGATTTTGTCAGCAATGCCGAACAGGTCGATTGCTGCCAGAGTGTCGCCG
+CCGCCAGCGATGGAGAACGCTTCGCTGTCTGCGATAGCGTTAGCCACGATTTCAGTACCTTTGCGGAAGT
+TCGGGAATTCGAACACGCCAACCGGACCGTTCCACAGAATGGTTTTCGCATTCTTCAGGATTTCAGCCAG
+TTCCTGAGCGGAAGCATCACCGATATCCAGGATCTGCTCGTCAGCTTTCACATCGTTAACAGATTTCAGG
+GTAGCCGGTGCAGTTTCAGAGAACTCGGTTGCTACGCGAACATCAGACGGAACCGGGATGTTGCAGGTGG
+TCAGCAGACGTTTAGCTTCGTCAACCAGGTCAGCTTCGTACAGGGATTTACCCACATCGTGGCCTTGTGC
+CGCGATAAAGGTGTTAGCGATACCACCGCCAACGATCAGCTGGTCAGCGATTTTAGACAGGGAGTCCAGA
+ACGGTCAGTTTGGTAGATACTTTAGAACCACCAACGATAGCCACCATCGGGCGAGCAGGTTCTTTCAGTG
+CTTTACCCAGCGCGTCCAGTTCAGCTGCCAGCAGCGGGCCTGCGCACGCAACGTCAGCGAATTTACCGAT
+ACCGTGAGTAGAAGCCTGCGCGCGGTGAGCAGTACCGAATGCGTCCATTACGAACACGTCACACAGTGCA
+GCGTATTTTTTGGACAGAGTTTCGTCATCTTTCTTCTCGCCTTTGTTGAAGCGAACGTTTTCCAGAACAA
+CCAGTTCACCTTCAGCAACGTCAACGCCGTCGAGGTAATCTTTAACCAGACGAACCGGGTTAGACAGTTT
+GTCTTTCAGGTAGTTAACAACCGGCAGCAGAGAGAATTCTTCGTTGTACTCGCCTTCGGTAGGACGACCC
+AGGTGGGAAGTTACCATCACTTTTGCGCCTTGTTTCAGGGCCAGTTCGATGGTCGGCAGAGAAGCACGGA
+TACGCGCGTCGCTAGTTACTTTCCCGTCTTTTACTGGTACGTTCAGATCCGCACGGATAAATACACGTTT
+CCCAGCAAGATCCAGATCGGTCATCTTAATTACAGACATGGTGAATCCTCTCGTTGATTCTAAAAGTTTT
+GCAGACGCTGCTTGCGTCTTACCTGAAAGCAACAGTAGCCATAGCTAACGTCGTGTCGAGCATTCGGTTA
+GCAAAGCCCCATTCGTTATCGCACCAGACCAACGTTTTGATCAGGTGTGCGCCACTGACCCGGGTTTGAG
+TGCCATCGACAATGGCACTGTGCGGATCGTGGTTAAAATCTACAGAGACCAACGGCAATTCCGTATAGTC
+AACTATACCATGAAATGCACCTTGTGCTGCTTTTTGCAGCAACAGGTTGACTTCATTGGCTTTTACAGGT
+TTCTTCACCGTCACGCTTAAATCGATTGCCGTCACATTTATGGTTGGCACACGTACCGCAATCGCCTCAA
+AGCGATCGTTAAATTGCGGAAAAAATCGTGTGATACCGGCGGCCAGTTTAGTATCGACCGGAATGATCGA
+CTGACTGGCTGCCCGAGTGCGACGCAGGTCTGGATGGTATGCATCAATAACCTGTTGATCGTGCATGGCG
+GAGTGAATTGTGGTCACAGTGCCGGACTCAATACCGTACGCATCATCTAACAATTTGATGACGGGAATTA
+TGCAATTCGTGGTACAGGAAGCGTTAGAAACGATGCGGTGTTCCGCACGAAGTTGATCCTGATTGACGCC
+ATAAACAACGGTCGCGTCGAGATCGTTACTGCCAGGATGTGAAAAGAGCACTTTTTTAGCCCCGGCGGCA
+ATGTGTGCTTCACCATGCTCGCGGGAGCCATATACGCCGGTGCAGTCGAGGACTACATCAACGCCAAGTT
+CACGCCAGGGGAGCGATTGCAGTGAACGTTCATGCAATACACGGATGGCGTCATCACCAACAAAAAGTTG
+ATCGCGTTCCTGTCGTACTTCCCATGCAAAACGGCCATGGCTGGTGTCATATTTCAACAAATGCGCCATA
+CCCGCAGCATCCGCCAGTTCGTTGATTGCCACCACGGTAATTTCCGCACGGCGTCCGGATTCATACAAAG
+CACGAACCACATTACGCCCGATGCGACCGAAGCCATTTATCGCTACGCGTACGGTCATAGATCTCCTGCA
+AGGTTTTCCCTGAGCAAATTTGCCAGACAGAGTAATCCAGCAAATCGTTCGGGGAAACCTTACCTGTCGC
+AAACTGCGACTGATTGGTTAATTGTCGAACATTTAATCGACTGAAACGCTTCAGCTAGGATAAGCGAAAC
+GTGGAATAAAAGGAATGATTGTCCAGTCAAAGAAGACAATTATCTGACTTACGTCACGTTTTCAGCCCCG
+CCCCTGCGGAATTTATTCCACTTTGCAGAATCACGAATAAGCGTAGCAAAATCTTTTCGTTGTGCCGTCA
+CAAACCCTGACTTATATCAGAATATGACTGATGCAGCGTCGATATTATCCGCAATACGTCCGAGTTTCGG
+AGTACTCCAATGATGACATTGCCCTACCCATATTCTTCCTCCGCACGTTTTTACGCGCTGCGCCTGCTCC
+CCGGGCAGGAAGTTCTCTCCCAATTACGCGCCTTCGCGCAACAACAACAACTCCACGCCGCGTGGATTGC
+AGGTTGTACCGGCAGTCTGACTGACGTCGCCTTACGCTATGCCGGGCAAGAAAACACTGCCCTGCTAAGC
+GGTAAGTTCGAAGTCATCGCATTGAACGGCACGCTGGAACAGAGTGGTGAACATCTTCATCTCTGCGTTT
+CCGATCCACACGGCACGATGCTTGGCGGTCATATGATGCCCGGCTGTACCGTGCGGACCACGCTTGAACT
+GGTGATCGGCTGCCTTGAGGAACTGGCGTTTAGCCGCCAGTCTTGCGCGCTTTCTGGTTACGACGAGTTG
+CATATTTCCCCCCGTTAAATAACTACTTTCAGTGAGGTTTTCTTATGGCGCGTCGCCACTTTTCCAGTCA
+GGCATTGGTGTTGATCGTTATCTCTATCGCCATCAATATGATCGGCGGGCAACTGGCCAGCATGGTCAAA
+TTACCTATTTTTCTCGACTCCATCGGCACACTTATTAGCGCGGTACTGCTTGGTCCGGTGATCGGGATGC
+TGACCGGTTTACTGACCAATTTACTCTGGGGATTGCTGACCGACCCGATCGCCGCCGCATTTGCGCCCGT
+CGCGATGGTCATCGGCCTGGTCGCCGGTTGGCTGGCGCGAGCGGGTTGGTTTCGCACCCTGCCAAAAGTC
+GTTGTTAGCGGCGTGATTATTACGCTTGCGGTAACGGTCGTCGCTGTACCGCTGCGTACTGCGCTGTTCG
+GCGGCGTGACAGGAAGCGGAGCCGATTTGTTCGTTGCCTGGATGCACTCGATGGGGCAAAACCTGGTGGA
+GTCGGTGGCGATTACGGTGATAGGCGCGAACCTGGTCGATAAAATTCTCACAGCGGTGATTGTCTGGCTT
+TTACTGCGTCAGCTGCCGATTCGCACCACGCGCCATTTTCCTGCAATGGCTGCCGTGCGCTAAATGCATC
+CGTTTACATCCTTAACGCTGTGGGCGCTGGCGGCCTGCACCACGCTTATCCTGCCCACACAGACAATATT
+GCCAGTCTATAGCGCGGCGACCTTTTTCTGCCTTATTGCGCTAAAGGCCACGCGGCGGCGGGCAAAATAT
+GTCGTCTGGCTGATGTTCTCGCTGGGGGCTGGATTGTGGCTGGTGCACGGTGGCTGGCTGACAGAATGGC
+TAAGCGGCACGCCACGCTCTCCAGAACGGTGGGCGCATGCTATTACGCTCTGGTTGCGGATTCTGGCGAT
+TGTTTCAACCTCACAGTTGTGGATGCAGTACGTCCCCGTGCAACGTTTTATCCGCGCTTTGTTTGCTTCT
+CGCCTGCCGCCGGGCGTCGCTTATCTGTTTGCCGGGCCGTTATTGGTCGTTGAGCAGTTAAAACGGCAAT
+TGGCGATTATTCATGAAGCGCAGCGCGCCCGCGGCGTGCCGCTGGATGAGGGCTGGTATCAGCGTTTACG
+TGCGATGCCCGCGTTAATTATTCCGCTAACACACAATGCGCTAAACGATCTTGCTGTCCGTGGTGCGGCG
+CTGGATATGCGGGCATTTCGAATCAACAATAGGCGCACTACGTTATGGGCACCAGCCGATAGCACCCTAC
+AACGCGTAGCACGTTACACCATGATATTGCTAATGCTGGCTGAATTCGGAGCGTGGATATGGTTACGTTA
+GAACAGTTTCGCTATTGCCCGACACACTCAACGCATCCTCCGTTCTGTTATGACTTTCACTATGTCAAAC
+CGGGGATGGTCGCCATCTTTGGTGACAACGGCAGTGGCAAAAGTACGCTGGCGCAGCTGATGGCGGGCTG
+GTATCCGGACTTTCTACCAGGAGAGATAACCGGCACGGGGACGCTTCTCGGTACGCCCATTGGGCGTCTC
+CCGCTTAATGAACAATCCGCCACCATCCAGCTCGTCCAGCAATCGCCCTATTTGCAGCTCTCCGGCTGTA
+CCTTTAGCGTGGAAGAAGAAGTTGCCTTTGGGCCAGAAAATCTGTGTCTTGCTGAAAAAGAGATTATGGC
+GCGGATTGACGCCGCCCTGGCCCTGACCGAGTGCCAGCCGTTGCGCCATCGTCACCCGGCAACACTCTCC
+GGTGGAGAGACACAGCGTGTGGTCATCGCCTGCGCCATCGCGATGCAGCCAAAGCTCTTAATTCTTGATG
+AAGCCTTTAGCCGCCTGACGCCGCAGGCCCGCGAAATGCTGTTGCAGCGCTTACAACACTGGGCGCTTGA
+ACGTGGTTCGCTGATTATTCTTTTTGAACGTCATCACACACCTTTCCTGAACCACTGCCAGCAAGCGTGG
+CAATTGCAAAACGGAGCGCTCCAGCCACTATGTTAACGTTAAATCAGATATCTTATCGCTGGCCTGGCGC
+GGCAACGGATTGTCTTTGCGACATTTCTCTGCAACTCAAACAAGGTGAATGGTTGGCGCTGACCGGCGAC
+AATGGCGCGGGAAAATCGACGCTGTTACGAGTAATGGCAGGTCTTCTTACGCCCACAGCCGGTACGGTTA
+TGCTGCAACAACAAGCGATGAAAAACCTGAAAAACCGCCAGCGCGCGGCAAAGATTGGCGTACTGTTTCA
+GGACGCGGAAAACCAGCTTTTTCACAGCACTGTTGCTGACGAGATCGCATTTGGTTTGAAACTGCAAAAA
+TGCCCGGCGGATGAAATCACTCAACGTACCAATGCTGCCCTGCAATGCTGCCAGTTAGCAGACACTGCCA
+GCGCGCATCCGTTAGATCTGCATAGTGCGCAGCGACGGATGGTCGCCGTCGCCAGCCTGGAAGCACTCTC
+TCCACCCCTATTGCTACTGGACGAGCCGAGTCGGGATTTTGACGAAAATTGGTTGAGCGTGTTTGAAAGC
+TGGCTGGAAAAGTGCCGCCAGCGAGGCACGAGCGTCGTAGCAATCAGTCATGACGCCGCATTTACCCGGC
+GTCATTTCTCTCGTGTGGTGCGACTGGAAGATGGTGTAATCAGGAACGTTAATCCATCAGACGATATTCA
+CCCGTAGCGGTCATCATTAAGGTCAAATTTGCAGGCAGACTCTCTTCCAGCACCCGGCGAACATTCGGCC
+CGTCGGTACGGTCATAAAAGGCTTCTGCGTCTGCCAGCGATAACCCTCCCGCCAGCTTGCGCCCCACCAG
+ACGCTCCCGCAACGCAGATGCGGGAGCTTTGATAAAGATCGAGAAATCACAAAATTGCGCAAGCTGGCAC
+CACTTCTCGTCGTCCAGCAACAACCAGTTTCCTTCGACGATGACGAGTGGTGCGGTAACGTGCAGCGCAT
+CTTCAACAGGATCATGCTTTTGTCGATCGTACTGCGGCCACGTACAATCCCCTTCCACAACCCGGCACAG
+ATTTTCCGCCAGTTTCGCAACGTTGAATGTCTCTGGTGCGCCTTTGAAGGGGCGCAATTGATGCGCATCC
+AGCCAGCTATTGTAATGGTGAAAACCATCCATCGGCAGTGTCTGAATAGCGGGCAGTTCCGGGTCTTGTT
+GTGCGAGATATTCCCAGAAGGTGGTTAGGGTAGATTTACCCGTCCCCGGCGGAGCGCAAAGAAAAACCAC
+CGTACGCCGCTGCGGATTTACTGTCTGTAAGGCCGCCAGCATACGCAGCAACGGTTTATGTACATTTTCA
+ATCTCTTCGTTCTGGTACTGTGCCTGTATCTTCAGCCCATTCACCGTTAATTCAATTTTCACGGCGTTAA
+TTCCTTTAAGGTTGTCGTTACTGCCAGCGTCAGCGCCGTTTTGACCATCCCGCTAAAACGCGCCTCTGAC
+CAGACGGCGAAATCGGCGAACTTCATCGCTTTCAACGCGTCATAGAGCGTCGCATTGCGGGTTATGCTAT
+TGACGTTGCTGATAAAATCCCAGGCCATGTCATCGGCAAATCCGGGCATTTCATTCTGTTCGTTCAGGTA
+ATGCCAGAACTGGGAAAAATGCGTGATATCGGCGTACAGCCATTTATCCATTTTCCCCAGCGCATAAATC
+AAACGCAGCGCAACATCAATATCGTCAAGCGGGCCGCTTTGGGCGAGTAACGGCTTCACTGCATATTCGA
+CGATCTCTTCATCGTTATCGACAAACAGCGACGGCAGAAACTGGCGTATCCCCTGGAGCAAAATAGAATG
+CGCAGTTTTCATAAATGAAAATAAATTGTCCTGTGCATCCAGTTGCTCAAGCACATCATCTTCTGTCAGC
+GTCGCCATTGGTCTTCCGATAGATCACCATCAATGCAGGGAGTCTATTATATTACACGTTTGGTCCGCGC
+CGCCGATCAGTAATGTCTGCGTCCGCACCCCATTCGCCGTCTGTTGGATACCGTTCACCAACTCGCCGCC
+CGTCACGCCCGTAGCGCTAAAGAGGATATCGTTCCCCCTCGCCGATAACCACTCGCCCACGAAAAGCAAC
+GTCGTTTAATGCCTGGCGCATCGCGGTGACCGCAAGGCCATCAATTTTATTTTTGTCGCCACAGCCGGTT
+TGCGGCCAGGCAGCCAACGCTGCCTGTTCCGTAACGCGAAATAATGGCCACGCCAGGGACATCATTGCGT
+GGCCTCCCCAATATCAACGCCAAATTGTGCCAGCAGATATTTCTCGGCCTGTTCATTCCAGATACCGTGC
+GTTTTCTCAACCAGCCGCGCCAGCTCTTTAAACAGCGGATCGGTTTTGCCTTTTTCGGCAAAATCGGCAA
+TGGCGGTCAGCGGCATGGTCACGCCGTTATAAATGAGTTTTTTACCGCCAGGGATATCCGGCAGATTGAG
+CACGGTTTCTGGCACCGCATCCAGGCCACCGATATGGGTCACCATAAACGACGGCTGTAACTGCCCCGTG
+GCGCTAAGGGCAATCGCCTCTTTCATGTCGTCCGTGGAACCGCCGGACGTGCCGACAATGTGTGTACTGT
+TGTAATGGACGTTGTAGAAATTAAACGGCACTTTGAAGTTTTTATCCGTCGGACCGGCAAAGAAGTTCAG
+GCAGCCATCTTCAGCCAGTAATTCATCAGCCATCTCGACGACTGAAGGCACCGCTGCATAGACAAATACG
+TCATCAAATCCGGCATCATCCGTCAGCGCCCGCAGCGTCTGGACCGGATCGCTCATCCCTTTGGTATTCA
+TATACACCAGCTCAATGCCTTTACTGGCCGCCAGTTCCACCGGCAGCAGCTTTTGTACCTGCGTCAGGCG
+TTTGTCGTCGATATCGACTACCACCACCCGCGCCGGTTGTATGCCGCCGTTAATAGCGTAATCGATAGCG
+CCAATTCCCATCGGGCCTGCACACGCCAGTAGCGCAATATTGCCGCCAGGTTTGACGCCCATGCGATGCT
+CATAAACATATTGCGTGGTGTGATAATTGGCATGATAAGCGCCAATAATGCAGCACATAGGCTCTGCCAG
+CGACGCCGCAGCAAAATAAGAGCCGTGATAGGGTAATACGCAGCCCAAATTAATGGCGATTTCGGGAATA
+ATCATATAGGTGGCGTTACCGCCAAAATATTCGTAGCTGTAGCCCGCTGAATACCCGCCTGGTAACCCCA
+TCGCCGGTTGCAATACAAAACGCTGGCCTTTTTTATATTTGCCAGTGAGATTTTTACCCACTTCGACAAT
+AACCCCAGCACATTCATGCCCGGTAATGACCGGATGATTTTCTAAATCGTCGGGGACGCGTTTATGTTCA
+CTACCGAGTAACGCCGCTTTCCAGGTGGATAAACAAACGCTGTCAGAAATTACATTCACTAACAGTTCAT
+TATCGGTAATTTCTGGCAGCTCAAATTCGCGCAGACGGACATCCCGCTTGCCATAAATAGCAGCAACTTT
+GGTTTTCATTTTTACCTCTGTAATCAGTGTTTATGTTCAGCGGTTAATTGATTAAATAAAGTGTCGAGTT
+TTGGATCGCCAATATAGTTATTAATCAGTATCAGCGGTTTATCCGTCACACGTTTCACGCGCCCTTCCAG
+ACTGGCATGAGTAACAACGATATCCGCATCCGCAGGCACGTTTTCTATCGCGTAATGTTTTACTTCAATT
+GCCAGCCCCGCTTTTTCCAGACGTTTACGGAAGGTGGTTGCGCCCATCGCGCTGGAGCCCATCCCCGCAT
+CGCAAACAAAGGCGATACGCTTAACCCGGCTTAACGAGAATGCCCCCTCTTGTTTCATCGCCTTAACCGC
+ATTGGCTGACTGAGCAAACTCATCTTCGCTCTTCGTTTCCACCGTTTTTTCCATCTTCAGTATCAGCGAA
+GTGATAGCAAAGGACACCAGGGTACCTACCGTAACACCGGCAATTGTCGCCAGGAACGAGCCTTTCGGCG
+TCAGTGCCAGGTAAGCAAAGATAGACCCCGGACTTGGGCCAGCCACCAGACCACCGTCCAGTAAGTTAAA
+CATCCAGGTGCCAGACATACCGCCCGCAATCATGGCAATAATGGTCAGCGGCTTCATCAGCACATACGGG
+AAATACAGTTCGTGGATCCCACCGAGGAAGTGAATAATCATCGCCCCGGGCGCAGAACGTTTACTCATCC
+CTTTACCAAACAAGGTAAACGCCAGCAGCAGCCCCAGACCAGGACCTGGATTGGATGCCACCATAAAGAA
+GATGGATTTACCGTTAACCGAAGCCTGTTGCATTCCCAGCGGATAATAGACGCCCTGATCGATCGCATTA
+TTAAGGAAAAGCACTTTCGCCGGTTCATTGATGACTGACAGCAAAGGTAGATAACCCGCATGTACCAGCG
+CCTCAATACACTCTTTGACGAAAGTATTAGCAATTAACACCGCCGGGCCGATAACTTCAAAACCCAGCAG
+ACAAAGGAGCATCCCCGCGATACCTAATGAGAAGTTATTGATAACCATCTCAAAACCAGCAGGTATGCGT
+TTTTCCAGCGACTTGTCGATATATTTAATCACCAGACCACCGAGCGGCCCCATAATCATTGAGCCAAGGA
+ACATCGGGATTTCAGCGCCGACGATCACACCAATCGTACCAATTCCGCCCATGACCGCGCCGCGTTTACC
+GCCGACCAGATGACCACCGGTAGAACCAATCATCACGGGCAATAAATAGGTAATCATCGGACCAACAATT
+TTGGCGAAATGTTCATTCGGCAGCCAGCCGGTGGGAATAAATAATGCCGTTATAAATCCCCAGGCAATAA
+AAGCACCGATATTGGGGATGACCATTGCAGTCAAAAAGCCCCCAAAAGCCTGGACCTTTGCACGAGCAGA
+CTTGTTTTCCATAATATTATCCTGTAGAGGAGAGAGTAATTATCCGCGGCTGATAATGCCCGCTAATTGT
+TTTTCTGATGATGCTGTTAAGAGTTGTTCGAGTATTTCTTCTTCGCACAGTAATTCACTTAACGCCTGAA
+TAGCGCCAATGTGCGAATCGGCATCGGCAGCAGAAAGCCCGATGAGTAATTTAATTGGTTCGTCATTCCC
+CGGAAAATAAACACCTTGTTTAAGTAATGTCAAAGACATCCCGGTTTTAAGCGCCCCACATTCCGGTCGT
+GCATGAGGCATTGCCACGCCTGGTGCGAGAATATAATAAGGGCCATTGTTAATGGTGGAACCTTTAATTG
+CCTGAATGTAATTCTCGCTGATATAGTTTTTATCCAGCAATGATACCATCGAGAAATCGATAGCTTCCTG
+CCAATCTTTTGCTGAATGTATAACTGAGATTGATGACTCTGGAAAATAATCAATAAGCCGCATAAATTAT
+CCTTATTTTATTTTTAGGGTACAGTCCGGCGGTAAAAATAAAATACGCGTACAAATTAACGAAAGCAATT
+GGACACATGAAAGGAGAAACTCCACGAGCAAAAATAACAAAATATTAAATAACAACAACATGAAATAAGC
+TTTTAAAAAGTCAATTATAAATCTGTTAAGTAAACTACAAAATCAACAAATTATTCATCACTATATTTGT
+GATACACATCTCTATTTTCTTATTGAATGTTCGAAAACATACTTATTACGTTTATTATTTTTTCGCTCAT
+CCCCTTTATAAATTCTGAATTATCGGCTGTTGTCTGTTTTCTCATCACCCCATGTGACATATTCCTATAC
+TTTACTCAAGGAAGATTCATATGAAAGCACCTGTTTCATTAACCTCATTTCGCCCACAAAAATCTCTTGC
+TATCGCCATTGGCGTGCTTGCCGTGGTTGTGCTGCCATTTCTCTCGTATTACACCGTTAATGAAGGTGAA
+CGCGGCATTTTGCTGCGCTACGGAAAAATCGTAAAAGTTGCCGAGCCGGGGCTGGGTTTTAAGATCCCTT
+TTATGGAAAGCGTAGAGAAAATTTCCACGCGTAATCAGGCTGTGGTCTATCAGGGATTACAGGCCTACAG
+CCGCGACCAGCAACCGGCACAAATGACAGTATCAGTCAGCTTCCACATTAAACCTTCAGAAGCAGGCGCG
+GTTTATACCACCTACAACACCATTGAAGCATTAAAAGATCGTCTGATTGTCCGTCAGTTGCCAACTCAAC
+TGGAGAACGTTTTCGGACAATATACCGCCATCAGCGCCGTACAGGATCGCACAAAACTGGTTCAGGATCT
+GCAAAATGCCATGCGCAAAGCCGTTGTTGGGCCAGTGGTAATTGACGGGGTCCAGATTGAAAATATTGAT
+TTTTCTGACGCTTATGAAAAGTCGATTGAAGACCGAATGAAAGCAGAAGTCGCCATTGCCACGCGTAAGC
+AAAATCTGGAAACGGAGAAAATCCAGGCGCAAATAGCGGTAACTCAGGCCCAGGCGGAAGCAGACAGTAA
+ACTAGCGGCAGCCAAAGCAGAAGCGGAAACTATTCGCGTAAGAGGCGCGGCAGAGGCTGAAACTATTCGT
+TTAAAAAGTGCGGCTGAAGCAGAAGCTATCCGCCTGCGCGGTGAAGCTCTGCGGGAGAATCCCGGACTTG
+TTGCCCTCACCACTGCTGAGCGTTGGGACGGTAAACTGCCCGATACCATGATCCCCGGCAGCACAGTTCC
+GTTTATCTCTACTAAGTAAAAAAAGGGCCGCTTTCGCGGCCCTTGAGACTGATACCAAAGACAAAACTGC
+CTGATGCGCTACGCTTATCAGGCCTACATACTTCCTGCAATATGTTGAATTTGCAAAATCTTGTAGGACG
+GATAAGGCGTTCACGCCGCATCCGGCATAAACAACGCGCACTTTGCCAACAATCTGAAGGGCCGCATTTG
+CGGCCCTTCTCACAAAACATCTTACCGATTACAGCAGCGCTTTTGCTTTCGCAACAACGTTGTCAACGGT
+GAAGCCGAACTCTTCAAACAGCTGCTCTGCCGGAGCAGATTCACCGAAGGTGGTCATGCCGACGATAGCA
+CCGTTCAGGCCAACATACTTGTACCAGTAGTCAGCAATGCCAGCTTCCACCGCAACACGAGCGGTAACCG
+CTTTCGGCAGTACGGATTCACGGTAAGCCGCGTCCTGCTTGTCGAATGCGTCGGTAGACGGCATGGAAAC
+CACGCGCGCTTTCACGCCTTCGGCAGTCAGTTTTTCGTAGGCGGCAACAGCCAGTTCAACTTCAGAACCG
+GTCGCGATGAAGATCAGTTCCGGCTGACCAGCACAGTCTTTCAGCACATAACCACCGCGCGCGATGTTTG
+CCAGCTGCTCTTCAGTACGTTCCTGCTGCGCCAGGTTCTGACGGGAGAGGATAAGCGCAGTCGGGCCGTC
+CTGACGCTCAACGCCGTATTTCCACGCTACTGCGGATTCAACCTGGTCACACGGACGCCATGTAGACATG
+TTCGGGGTCACGCGCAGAGAAGCGATCTGTTCTACCGGCTGGTGAGTCGGGCCATCTTCGCCCAGACCGA
+TGGAGTCGTGGGTGTAAACCATCACCTGACGCTGTTTCATCAGCGCAGCCATACGTACGGCATTACGTGC
+GTATTCCACGAACATCAGGAAGGTTGAGGTATACGGCAGGAAACCACCGTGCAGGGAGATACCGTTAGCA
+ATCGCGGTCATACCGAACTCGCGAACACCGTAGTGGATGTAGTTACCTGCAGCATCTTCGTTGATTGCTT
+TAGAACCAGACCACAGGGTCAGGTTAGACGGAGCAAGGTCAGCGGAGCCGCCGAGGAATTCCGGCAACAG
+CGGACCGAACGCTTCGATAGCATTCTGAGACGCTTTACGGCTGGCGATTTTCGCCGGATTAGCCTGAAGT
+TTAGCAATGAACTCTTTCGCTTTCGCGTCGAAGTCAGACGGCATTTCGCCTTTCATACGGCGGGTAAATT
+CAGCGGCTTCCTGCGGATAAGCTTTCGCGTAAGCAGCGAATTTCTCGTTCCATGCGGACTCTTTCGCCTG
+GCCTGCTTCTTTCGCATCCCACTGAGCATAGATTTCAGACGGGATTTCGAACGGCGCGTATTTCCAGCCC
+AGCTGTTCGCGGGTCAGGGCAATTTCAGCGTCGCCCAGCGGCGCACCGTGGGAGTCGTGGGTACCGGCTT
+TGTTCGGGGAACCGAAACCGATGATGGTTTTGCACATCAGCAGGGACGGTTTGTCAGTCACTGCGCGCGC
+TTCTTCTACTGCGCGTTTGATGGATGCCGCGTCATGACCGTCGATATCGCGAATAACGTGCCAGCCGTAA
+GCTTCGAAACGCATTGCGGTGTCGTCGGTAAACCAGCCTTCAACGTGACCATCGATAGAAATACCGTTGT
+CATCGTAGAACGCAATCAGTTTACCCAGCTTCAGCGTACCCGCCAGAGAGCAAACTTCGTGGGAGATGCC
+TTCCATCATGCAGCCGTCGCCCATGAAGGCGTAGGTGTAGTGGTCGACGATGTCGTGGCCCGGACGGTTA
+AACTGCGCCGCCAGCGTTTTTTCTGCAATCGCCATACCGACTGCGTTGGCAATACCCTGACCCAGCGGAC
+CGGTGGTGGTTTCTACACCTGCGGTGTAACCCACTTCCGGGTGACCCGGAGTTTTAGAGTGCAGCTGACG
+GAAGTTTTTCAGTTCTTCCATCGGCAGATCGTAACCGGTGAGGTGCAGCAGGCTGTAGATCAGCATGGAG
+CCGTGGCCGTTGGACAGCACGAAGCGGTCACGGTCAGCCCAGGACGGATTCTGCGGGTTGTGTTTCAGGA
+AATCACGCCACAGGACTTCGGCAATGTCAGCCATACCCATAGGGGCACCCGGGTGACCGGATTTGGCTTT
+CTGTACTGCGTCCATGCTCAGCGCACGAATAGCATTGGCAAGCTCTTTACGTGAGGACATTTTGACTCCA
+GATCGGATGATGAAGGGCACGCCCTTAACGACTTGACGACAGCGCGTTTTGGGCTACGCCGGAAAATTTG
+CCAACAATTTACCGCAAGCCGCGCGTCATGTACATGGAACATCCTTTTGCCGCTTCAGAAATCTCTGGAT
+CATGCTCGCATGTTGCGCAATCCACTCGCCCGTCCGCTGCGCTTTTCCTTATACTGAGACTGAGCGTCGA
+TTCACCTGCAAACGGCGCATTTTTAGAATAATCCTGACCTTGTGCGGAAGAGAAAACATGAAAATTCGCG
+CCTTATTGGTAGCAATGAGCGTGGCTACGGTGCTGACCGGTTGCCAGAATATGGACTCCAGTGGACTGCT
+CTCATCAGGAGCGGAAGCTTTTCAGGCTTACAGTTTGAGTGATGCGCAGGTGAAAAAACTGAGCGATCAG
+GCATGCCAGGAGATGGACAGCAAAGCGACGATTGCGCCAGCCAATAGCGAATACGCTAAACGTCTGACAA
+CTATTGCCAATGCGCTAGGCAACAATATCAACGGTCAGCCGGTGAATTACAAAGTGTATATGGCGAAGGA
+TGTGAACGCCTTTGCAATGGCTAACGGCTGTATCCGCGTCTATAGCGGGCTGATGGATATGATGACGGAT
+AACGAAGTCGAAGCGGTGCTCGGTCACGAAATGGGGCACGTGGCATTAGGCCATGTGAAGAAAGGAATGC
+AGGTAGCACTTGGTACAAACGCAATTCGCGTTGCGGCGGCCTCTGCAGGCGGAATTGTCGGCAGTTTGTC
+ACAATCACAACTGGGAGACCTGGGCGAAAAGCTAGTCAATTCGCAATTTACCCAACGTCAGGAATCAGAG
+GCCGATGATTACTCCTACGACTTGCTGCGCCAACGCGGTATCAGCCCGGCAGGTCTTGCCACCAGCTTTG
+AAAAACTGGCGAAACTGGAAGAAGGCCGCCAAAGCTCAATGTTTGACGACCATCCTGCATCCGCCGAACG
+CGCCCAGCATATTCACGATCGTATGAGCGCGGATGGAGTTAAGTAAAGCCAGGTAGTGCCGAACGTAGGT
+CGGATAAGGCGTTCACGCCGCATCCGACATTAATGACACATCACCCGTGCGCCTCTTATCTGGCGCTTAC
+TCGCCCTTTTTCGCCGCCTGAATATACAGCATCTCCAGCGCCAGCGTCGCCGCAGCCAGAGCGGTGATTT
+CCGACTGATCGTATGCCGGAGCCACTTCCACTACGTCCATCCCAACGATGTTGAGATCTTTCAAGCCGCG
+TACCAGTTTAATGGCGCGATCGGAGGTCAGGCCGCCAATTACCGGCGTACCGGTGCCTGGTGCAAAAGCA
+GGATCCAGGCAGTCGATATCAAAGGTCAGGTAAACCGGCATATCACCCACAATCTGTTTCACCTGGGCGA
+TAATGTCATCCACGCTGCGATCGTTCACCTGGCAGGCGTCCAGCACGGTAAAGCCGTTGTCTTTATCAAA
+CTCGGTACGAATACCAATCTGCACGGAATGATTCGGGTCGATCAGACCTTCTTTCGGCGCGGTATAGAAC
+ATGGTGCCGTGGTCAAATTCACAACCGTTAGCGTAGGTATCGGTGTGGGCATCAAAGTGTACCAACGCCA
+TTTTGCCGAAATGCTTCGCATGAGCGCGCAGCAGCGGCAGCGTAACAAAGTGGTCACCACCGAAGGAGAG
+CATACGCTTACCGGCAGCCAGCAGCTTCTCGGCGTGCGCCTGCAGCTTCTCGCTCATCTCACGGGCATCG
+CCGAAGGCATATACCAGATCACCGCAGTCCACGACGTTCAGGCGCTCACGCATGTCGAAATTCCACGGGA
+AGCGGTTGTGTTCCCAGGCCAGATTCGTCGAAACCTGACGGATCGCTGCCGGACCGTGGCGACCACCCGC
+ACGACCAGAAGTGGCCATATCGAACGGCACGCCAGTAATCACCCAGTCAGCATCGCTGTCATATGGCTGG
+AAGTTCATCGGCAGGCGTAAAAAACCAAAGGCGTTGGAAACCAGTGAGTTATCGTATTGATGACCTAAGG
+TGCTCATGGATGGACTCCTATTACAAAGTCGATATAAAAAAACCCTTCCGCGTCGTTAGGCCCGACGAGG
+AAGGGTTGGATTTGTGAAACACAAGTTTGTGCTAATTATCGCCTTAAATGGGCGAGGCATCAAGCGAGGT
+TGCTATTTCCGACACGGTGGCGGCGCATAGCCATTGTTATCTGCCGGAAAGGCTTGTCCAGAGCACGGCG
+GCAGCGCGTTTTTCGCCGGGCCTTGTAATTCAAAGGCGGCAAAGCCGATTACACCGGTATTACGCACATC
+GCCTTGCGCCGAATTGGCTGCGTAGGAATCAGCAACGTTGGCGAACTGAAAAGCCGCTTCGGTATGTTTA
+TCTTTGCGGAATCCTTTAATCGCTAACGAATCTCCGGCATTCACAATATAACCGTTGTTATTCAGCGAAC
+CTTGCTTGCCGTTCAGCACATCCAGGCCATCAACCGTAGCAACGATCTCGTAGTTGGTGTTACGACTGTA
+ATTACGGACATATAATTGATAATTCATTCCGACTCTGGCATGGACAATATAGCGTGGTTCATTATTGGAT
+GAATCATAAACCCGCGTAATAGGTAGAGAATTAAAATTACCATCGCGAATAGCATATTCCAGTTCGTTAA
+TACGAATGCTATAAACGCGGTCGTAGCCGGAAGGAACATTAGTCGAATAACTAATAACGATCATCTCTGC
+CGGATCGCGCCAGGCTCGTTCAGCAGATACGCCCTGAACCGTTGAGTGCACATCCCCACCCCAGGCGGTG
+CCGACATTACCCGATGCACTGCTATTATACTGCGCATTACTGGAACAACCGGCCAGCAGCACGATTAATG
+CCACCAACGCGCTACGTACTTTCCATTTTTTCATAACCGTTCCCTCTGCATTTAATTAATGCAGCGATTG
+TAGGGAGATTATTTAATAAGAAAAGCAGCTAAATTATTTTTAAGAATATATAAAAAGAAAGCGGGGCGAT
+TTACTTAAATAAATCGCCCCGCCAGCGGAATAATCTTAATTATTCATCTTCAAGATAGGTATAACCGTAC
+AAACCTGCCTCGAACTCTTCAAGGAACTGTTGTTGCAGTTCAGCATCAAGATCGGTTTTCTTCACCTGAT
+CGCGGAACTGGGTTAACAGCGTTTTCGGATCGAGCTGCACATATTGCAGCATGTCCGCCACGGTATCGCC
+TTCGTCAGACAGTTCTACCTCTACGCTACCATCAGGGAAGACGAACACGTCAACCGCTTCGGTATCACCG
+AACAGGTTGTGCATGTTGCCGAGGATCTCCTGATATGCGCCGACCATAAAGAAACCGAGCATCGGCGGAT
+TCTCCGGATCGTACTCCGGCATAGGCATTGTCGTGGCAATACCGTCACCATCAATATAGTGGTCGATAGC
+ACCGTCTGAGTCACAGGTAATATCCAGCAGCACAGCGCGGCGTTCCGGCACTTGATCCAGCCCTTCCAGC
+GGCAGAACCGGGAACAACTGGTCGATCCCCCACGCATCCGGCATCGACTGGAACAGCGAGAAGTTGACGT
+ACATTTTGTCCGCCATACGTTCCTGCAACTCGTCGATAATCGGACGATGAGCACGGTTTTGCGGATCCAG
+CTGCTTTTGCACTTCATGGCACATGCTCAAATAAAGCTGCTCAGCCCATGCGCGTTCTTGCAGGCTAAAG
+GTGCCGGAAGAGTAGCCGATATGAATGTCGTGCAGATCCATCTGGCTGTCGTGTAACCATTCACGCAGAG
+AACGGCGAGTTCCCGGTTCGTGCATTTCCTGCCAGGTTTCCCACATGCTTTGCAGGGCGCGCGGTGCGTC
+TTCTGCAGGCGCGGTCGGCACCGTGTATTCGTTACGTTCCACGCCGATGATATTCGACACCAGCACGGTG
+TGATGCGCAGTCACCGCACGACCCGATTCGGTGATTACCGTCGGATGTGGCAGACCATTTTCTTCACACG
+CATCACCAATCGCCCAGATGATGTTGTTGGCGTATTCATTGAGGCCGTAGTTTACGGAGCAGTCAGACTG
+CGAACGGGTGCCTTCATAGTCCACGCCCAGACCGCCGCCGACGTCGAAGCACTGAATATTGACGCCTAGC
+TTGTGCAGTTCCACATAGAAACGCGCGGATTCACGAACGCCTGTCGCGATATCGCGAATATTCGCCATCT
+GCGAACCGAGGTGGAAGTGCAGCAGTTGCAGGCTGTCGAGACGCCCGGCTTCACGCAGCGTTTCAACCAG
+TTGCAGTACTTGAGTCGCCGCCAGGCCAAACTTCGATTTTTCCCCGCCGGAGGACTGCCATTTACCCGAG
+CCCTGCGACGCCAGACGTGCACGCACGCCCAGACGAGGAACGACATTCAGACGTTCTGCTTCATCCAGCA
+CAATGGCAATTTCTGACATCTTCTCAATGACCAGATAGACCTTGTGGCCCATCTTCTCGCCAATTAATGC
+CAGGCGGATATATTCGCGGTCCTTATAACCGTTGCAGACGATGACGCTACGGGTCATGCCAGCATGTGCC
+AGCACCGCCATCAACTCGGCTTTGGAACCGGCTTCCAGGCCCAGCGGTTCGCCCGAATGAATCAGGGACT
+CAATCACCCGGCGGTGCTGGTTAACTTTGATCGGATAAACGAGGAAGTAATCGCCGTTATAGCCGTAGGA
+TTCCCGCGCTCGTTTGAACGCGGCGTTAATGGAACGCAAACGGTGCTGCAGGATCTGTGGGAAACAGAAC
+AGTGCAGGCAGACGCTGACCCTGTGCTTCGCGAGTTTTCACTAACTGCGCGAGATCGACGCGAGCTTCCG
+GGACGTCCGGGTCCGGGCACACGCTGATGTGGCCCAGCTCGTTAACGTCATAGTAGTTATTGCCCCACCA
+GGCAATATTGTAAGTACGCAGCATCTTGCTGGCTTCCTGGGAGCTCATTGCAACCTCCTGCATGGAGCGT
+AGTACACCGTGTTCGCCCGCTGACGAAGGCAAACCCATAGACATGTCGTCAGACATAGCGAACCTCAAAT
+TATTTTATTAAGTGTAAAACAGTTAACGACTATCGCAGCCTGGAACTGCGATAACAACCCATAAGCACAT
+GGATTTTCCAGCAGTGAATGCTGACGCTCCAACTGCGCAACCGGTTTCTTTTTCATAACATTATTAAGCA
+CATAACCGAACGTAAGTGTGACAGTTCGGCGAAACCACGAGAAAACTCTTGTTTTTACAAGAGCGCCCTT
+GTTCAGTCCTCAGTAGCTGTAACCAGCTCTTGAATCCTGAGAAGCGCCGAGATGGGTATAACATCGGCAG
+GTATGCAAAGCAGAGATGCAGAGTGCGGGGAACGAATCTTCACCAGAACGGTGAGACAGGTTAAGCAGCA
+GACAACGGTTCATTATTTCGTATCACCTCCACGGCCGCCTGTTAAGACGAACCCACAAGCCAAAACTCTG
+TTTTCAACCCGGCTGGAAGTGGCAACACGAAAGAAACGTCGTGTGCTTTTTATTTAAGCCGCGCGCCGCG
+TTTTATACCCCACAATGGCAGAAAATTGCAAAAGATAAATACGCAGAATGCCAGCATTGTCAGGAAAAAT
+TTCCAGCCACGTTTTTAACAGAATGAGACACGATTCAAAAAAAAGTGGAAATTGGGTGAAGAACTGACCT
+AAAATAGCCATCCAGATGTTAATCCATCCATACCGATTAACACTCAGACTGCCAGTGTTTTTAACCTGCA
+GAGTCGTGGTAGGATCCGCTACCACAGAAAATCCACACAACAGTTTGAGCTAACCAAATTCTCTTTAGGT
+GATATTAAATATGGCAAAACACCTTTTTACGTCCGAGTCCGTCTCTGAAGGGCATCCTGACAAAATTGCT
+GACCAAATCTCTGATGCCGTTTTAGACGCGATCCTCGAACAGGATCCGAAAGCACGCGTTGCTTGCGAAA
+CCTACGTAAAAACCGGCATGGTTTTAGTTGGCGGCGAAATCACCACCAGCGCCTGGGTAGACATCGAAGA
+GATCACCCGTAATACCGTTCGCGAAATTGGCTATGTGCATTCCGACATGGGCTTTGACGCTAACTCCTGT
+GCGGTTCTGAGCGCCATCGGTAAACAGTCTCCTGACATCAACCAGGGCGTTGACCGTGCCGATCCGCTGG
+AACAGGGCGCGGGCGACCAGGGTCTGATGTTTGGCTACGCAACTAATGAAACCGACGTGCTGATGCCAGC
+ACCTATCACTTATGCACACCGTCTGGTACAGCGTCAGGCTGAAGTGCGTAAAAACGGCACTCTGCCGTGG
+CTGCGCCCGGACGCGAAAAGCCAGGTGACTTTCCAGTATGACGACGGCAAAATCGTTGGCATTGATGCTG
+TCGTGCTTTCCACTCAGCACTCTGAAGAGATCGACCAGAAATCGCTGCAAGAAGCGGTAATGGAAGAGAT
+CATCAAGCCGATTCTGCCCGCTGAATGGCTGACTTCTGCCACCAAATTCTTCATCAACCCGACCGGTCGT
+TTCGTTATCGGTGGCCCGATGGGTGACTGCGGTCTGACTGGTCGTAAAATCATCGTTGATACCTACGGCG
+GCATGGCGCGTCATGGTGGCGGTGCATTCTCTGGTAAAGATCCATCAAAAGTGGACCGTTCCGCAGCCTA
+CGCAGCACGTTATGTCGCGAAAAACATTGTTGCTGCTGGCCTGGCCGATCGTTGTGAAATTCAGGTTTCC
+TACGCAATCGGCGTGGCTGAACCGACTTCCATCATGGTAGAAACTTTCGGTACTGAGAAAGTGCCTTCTG
+AACAACTGACTCTGCTGGTACGTGAATTCTTCGACCTGCGCCCATACGGTCTGATTCAGATGCTGGATCT
+GCTGCACCCGATCTACAAAGAAACCGCAGCATACGGTCACTTTGGTCGTGAACATTTCCCGTGGGAAAAA
+ACCGACAAAGCGCAGCTGCTGCGTGATGCTGCCGGTCTGAAGTAATCTTTCTTCACCTGCTTTCAAAGGC
+CAGCCTCGCGCTGGTCTTTTTCTTTTACCTCACCGCGGTGGACAGGCATTCACGCCGCATCCGGCAAAAA
+AACCGCCCGCACAATAACATCATTCTTCCTCAACACGTTTTACCGCAAATTATCATCACTACTGAAACCG
+ATTACACCAACCACGCCAGCCAAATATTTGTAATATTTTCATATTATTATTCAGCCTTCACAGTTGTTAC
+ATTTTTTTTCAGTAAAGTCTTAATTGCAGATAACAACCTTTAATCTATGATGATATAACTCAATTATTTT
+CATGCACTTAAATCATAACTAAGATAAATGTTAGTGTAAGCGATTACACTGATGTGATTTGCTTCACATC
+TTTTTACGTCGTACTCACCTATCTTAATTCACAATAAAAAATAACCATATTGGAGGGCATCATGCCTGAC
+GCTAAAAAACAGGGGCGGTCAAACAAGGCAATGACGTTTTTCGTCTGCTTCCTTGCCGCTCTGGCGGGAT
+TACTCTTTGGCCTGGATATCGGTGTAATTGCTGGCGCACTGCCGTTTATTGCAGATGAATTCCAGATTAC
+TTCGCACACGCAAGAATGGGTCGTAAGCTCCATGATGTTCGGTGCGGCAGTCGGTGCGGTGGGCAGCGGC
+TGGCTCTCCTTTAAACTCGGGCGCAAAAAGAGCCTGATGATCGGCGCAATCTTGTTTGTTGCCGGTTCAC
+TGTTCTCTGCTGCTGCGCCAAACGTTGAAGTACTGATTCTTTCCCGCGTTTTGCTGGGGCTGGCAGTGGG
+TGTGGCCTCTTATACCGCACCGCTGTACCTCTCTGAAATTGCGCCGGAAAAAATTCGCGGCAGTATGATC
+TCGATGTATCAGTTGATGATCACTATCGGGATCCTCGGCGCTTATCTTTCTGATACCGCCTTCAGCTACA
+CCGGTGCATGGCGCTGGATGCTGGGTGTGATTATCATCCCGGCAATTTTGCTGCTGATTGGTGTCTTCTT
+CCTGCCAGACAGCCCACGTTGGTTTGCCGCCAAACGCCGTTTTGTTGATGCCGAACGCGTGCTGCTACGC
+CTGCGTGACACCAGCGCGGAAGCGAAACGCGAACTGGATGAAATCCGTGAAAGTTTGCAGGTTAAACAGA
+GTGGCTGGGCGCTGTTTAAAGAGAATAGCAACTTCCGCCGCGCGGTGTTCCTTGGCGTACTATTGCAGGT
+AATGCAGCAATTCACCGGGATGAACGTCATCATGTATTACGCGCCGAAAATCTTCGAACTGGCGGGTTAT
+ACCAACACCACCGAGCAAATGTGGGGGACAGTGATTGTCGGCCTGACCAACGTACTTGCCACCTTTATCG
+CAATCGGCCTTGTTGACCGCTGGGGACGTAAACCAACGCTAACGCTGGGCTTCCTGGTGATGGCTGCTGG
+TATGGGCGTACTCGGTACAATGATGCATATCGGTATCCACTCTCCGTCGGCGCAGTATTTCGCCATCGCC
+ATGCTGCTGATGTTTATTGTCGGTTTTGCCATGAGTGCCGGTCCGCTGATTTGGGTACTGTGCTCCGAAA
+TTCAGCCGCTGAAAGGCCGCGATTTTGGCATCACCTGCTCCACTGCCACCAACTGGATTGCCAACATGAT
+CGTTGGCGCAACGTTCCTGACCATGCTCAACACGCTGGGTAACGCCAACACCTTCTGGGTGTATGCTGCT
+CTGAACGTACTGTTTATCCTGCTGACATTGTGGCTGGTACCGGAAACCAAACACGTTTCGCTGGAACATA
+TTGAACGTAATCTGATGAAAGGTCGTAAACTGCGCGAAATCGGCGCTCACGATTAATCTCCTCAGGCTTC
+CTCCCATCATGGAGGAAGCCACCTCTTGCAGTCATCTTTTCTTCGCTCTATCCTCTGCCGCTATGAAAAC
+ATCCCGTCTCCCTATCGCCATCCAACAGGCCGTTATGCGTCGCCTGCGGGAAAAACTCGCCCAGGCCAAC
+CTGAAGCTAGGGCGTAACTACCCGGAGCCAAAACTCTCTTACACCCAGCGCGGAACCTCTGCCGGAACAG
+CCTGGCTGGAAAGCTATGAAATTCGTCTCAATCCCGTTTTGCTGTTGGAAAACAGTGAAGCCTTTATTGA
+AGAAGTGGTGCCGCACGAACTGGCACATTTGCTGGTATGGAAACATTTCGGCCGCATAGCGCCACATGGC
+AAAGAGTGGAAGTGGATGATGGAAAGCGTGCTGGGCGTTCCCGCCCGCCGTACGCATCAGTTCGAACTGC
+AATCCGTGCGCCGCAACACCTTCCCCTACCGCTGCAAGTGCCAGGAGCATCAGCTTACCGTACGCCGTCA
+TAATCGCGTAGTTCGTGGCGAAGCCGTCTATCGCTGTGTTCACTGCGGCGAACAGCTGGTTGCGAAATAA
+CCACCTGAACTATCAGGAACTTTCCTGATCTGGCTGATTGCATACCAAAACAACTTTCGCTACGTTGCTG
+GCTCGTTTTAACACGGAGTAAGTGATGTACCATTATTTGTCTATTGCTGCGGTGGTACTGAGCGCAGCAT
+TTTCCGGCCCGGCATTGGCCGAAGGTATCAATAGTTTTTCTCAAGCGAAAGCCGCGGCGGTAAAAGTCCA
+CGCTGACGCGCCCGGTACGTTTTATTGCGGATGTAAAATTAACTGGCAGGGCAAAAAAGGCGTTGTTGAT
+CTGCAATCGTGCGGCTATCAGGTGCGAAAAAATGAAAACCGTGCCAGCCGCGTAGAGTGGGAACACGTCG
+TTCCTGCCTGGCAATTCGGTCACCAGCGCCAGTGCTGGCAGGACGGTGGACGTAAAAATTGCGCCAAAGA
+TCCGGTCTATCGCAAGATGGAAAGCGATATGCATAACCTGCAGCCGTCAGTCGGTGAGGTGAATGGCGAT
+CGCGGCAACTTTATGTACAGCCAGTGGAATGGCGGTGAAGGCCAGTACGGTCAATGCGCCATGAAGGTCG
+ATTTCAAAGAAAAAGTTGCCGAGCCACCAGCGCGTGCACGCGGTGCCATTGCGCGCACCTACTTCTATAT
+GCGTGACCAATACAACCTGACACTCTCTCGTCAGCAAACGCAGCTGTTCAACGCATGGGACAAGATGTAT
+CCAGTTACCGACTGGGAGTGCGAGCGTGATGAACGCATCGCGAAGGTGCAGGGCAATCATAACCCGTATG
+TGCAACGCGCTTGCCAGGCGCGAAAGAGCTAACCTACACTAGCGGGATTCTTTTTGTTAACCCCTACCCC
+ACGCGTACAACCGCGTGGGGAGACGACGCGGATTTTTAACTATGCGTATCCCCCGCATTTATCATCCTGA
+ACCACTGACCAGCCATTCTCACATCGCGCTTTGCGAAGATGCCGCCAACCATATCGGGCGCGTACTGCGT
+ATGGGGCCGGGACAGGCGCTGCAATTGTTTGACGGCAGCAACCAGGTCTTTGACGCCGAAATTACCAGCG
+CCAGCAAAAAAAGCGTGGAAGTGAAGGTGCTGGAAGGCCAGATCGACGATCGCGAATCTCCGCTGCATAT
+TCACCTCGGTCAGGTGATGTCGCGTGGTGAAAAAATGGAATTTACTATCCAGAAATCGATCGAACTCGGT
+GTAAGCCTCATTACGCCACTTTTTTCTGAGCGCTGCGGCGTTAAACTGGATAGTGAACGTCTGAACAAGA
+AGCTCCAGCAGTGGCAGAAGATTGCAATTGCTGCCTGTGAGCAGTGTGGCCGTAACCGGGTGCCGGAAAT
+CCGTCCAGCGATGGATCTGGAAGCCTGGTGTGCAGAGCAGGATGAAGGACTGAAACTGAATCTTCACCCG
+CGCGCCAGTAACAGCATCAATACGTTGCCGTTACCGGTCGAACGCGTCCGCCTGCTGATTGGCCCGGAAG
+GCGGTTTATCGGCAGATGAAATTGCCATGACTGCCCGCTATCAATTTACTGATATCCTGTTGGGACCTCG
+CGTTTTGCGTACTGAGACAACTGCGCTCACCGCCATTACCGCGCTACAAGTGCGTTTTGGCGATTTGGGC
+TAACGGAGAAGAATAATGATCAAGCTCGGCATCGTGATGGACCCCATCGCAAACATCAACATCAAGAAAG
+ATTCCAGTTTCGCTATGTTGCTGGAAGCACAGCGTCGTGGTTACGAACTTCACTATATGGAGATGGCCGA
+TCTCTATTTGATCAATGGTGAGGCTCGCGCTCGTACCCGTACTTTGAGCGTCGAACAGAACTACGATAAA
+TGGTACGAGTTCACGGGTGAGCAGGATCTGCCGCTGGCCGATCTCGATGTGATCCTGATGCGTAAAGACC
+CGCCGTTTGATACCGAGTTTATCTACGCGACCTATATTCTGGAACGTGCCGAAGATAAAGGGACGCTGAT
+CGTTAACAAGCCGCAGAGCCTGCGCGATTGTAACGAAAAACTGTTCACTGCCTGGTTCTCTGACTTAACA
+CCAGAAACGCTGGTCACACGCAATAAAGCGCAGCTAAAAGCTTTCTGGGAAAAACACAGCGACATCATTC
+TTAAGCCGCTGGACGGTATGGGCGGCGCGTCGATTTTCCGCGTGAAAGAAGGTGATCCAAACCTCGGCGT
+GATTGCCGAAACCCTGACTGAGCATGGCACTCGCTACTGCATGGCGCAAAATTACCTGCCAGCCATTAAA
+GATGGCGACAAACGCGTGCTGGTAGTGGATGGCGAGCCGGTGCCGTATTGCCTGGCGCGTATTCCGCAGG
+GGGGCGAAACCCGTGGCAATCTGGCTGCCGGTGGTCGCGGTGAACCTCGTCCGCTGACGGAAAGTGACTG
+GAAAATCGCCCGTCAGATTGGGCCGACGCTGAAAGAAAAAGGGCTGATTTTTGTTGGTCTGGATATCATC
+GGCGACCGTCTGACTGAAATTAACGTCACCAGCCCAACCTGTATTCGTGAGATTGAAGCAGAGTTTCCGG
+TGTCGATTACCGGAATGTTAATGGATGCCATCGAAGCACGTTTACAGCAGCAGTAACCCACCTTAGCGAG
+AAGGATCTCGTTGAGACTCTGAGTGACAGCGCCCTTCTTTCCACGCATACTGGGCGCTGTTGCTTTTTTG
+AACCAGGAAACAGAACCTCTGACAATGAATTTACAGCATCACTTTCTTATTGCCATGCCTGCTCTCCAGG
+ATCCGATTTTCCGTCGTTCCGTGGTCTACATTTGCGAACATAATACCAATGGTGCAATGGGGATCATCGT
+CAACAAGCCGCTGGAAAATCTCAAAATTGAAGGGATTCTGGAAAAGCTGAAGATCACGCCGGAGCCGCGT
+GATGAATCAATCCGTCTGGATAAACCGGTTATGCTCGGCGGTCCGCTGGCTGAAGATCGCGGGTTTATTT
+TGCATACTCCGCCCTCCAATTTTGCTTCCAGCATTCGCATTTCAGACAACACAGTGATGACCACTTCCCG
+CGATGTGCTGGAAACGCTCGGCACCGATAAACAACCGTCTGACGTATTGGTGGCTCTGGGTTATGCCTCC
+TGGGAGAAAGGTCAACTGGAACAAGAAATTCTCGATAACGCGTGGCTAACGGCCCCGGCAGATCTGAATA
+TTCTGTTCAAAACGCCGATTGCGGACCGCTGGCGCGAGGCGGCAAAACTGATTGGTGTGGATATTCTCAC
+CATGCCTGGTGTGGCAGGACACGCCTGATGAGTGGAACCTTACTCGCCTTCGACTTCGGCACCAAAAGCA
+TTGGCGTAGCGGTCGGCCAACGCATTACCGGCACCGCTCGCCCTTTGCCTGCAATTAAAGCGCAGGACGG
+TACGCCGGACTGGAACATTATCGAGCGTTTACTGAAAGAGTGGCAGCCGGACGAAATTATCGTCGGTTTG
+CCGCTGAATATGGACGGCACCGAACAGCCGTTAACCGCCAGAGCGCGTAAATTTGCCAACCGTATTCATG
+GTCGTTTCGGTGTTGAAGTAAAGCTCCATGACGAGCGTCTTAGCACCGTGGAGGCACGTTCCGGTCTGTT
+TGAACAGGGCGGCTATCGGGCGCTCAACAAAGGCAAAGTCGACTCTGCCTCTGCGGTTATTATTCTCGAA
+AGCTATTTCGAGCAGGGATATTAAGGCGATTTACTAGCGCACAGATTTCTGACAATGTGCTCGTTGTTTC
+ATGTTGGATGCGGCGTAAACGCCTTATCCAACCTACAGTGAGTGCGAATTCAAAGTTACGCTTCCCTTGT
+AGGCCCGATAAGCTTGCGCATCGGGCATATTTACAATTCGTATCAGACACAGCAACGTCACAAGCGCCCT
+TCTTTCACCCGCTGCTGATAACTCTGCTGAAACGTTATCATCCCCACCTGCTGCCCGGTTTGAATAACAT
+GCGGTAACTGGTGGGTTTTCCCTTCACGAATCAAATTCCCCACCGCGGGTGTGTTAATCAGTAATTCAAA
+CAGCGCCACGCGTCCTTCCTGTTTATCCACTTCCAGCTTTTGTGACAACACCGCCCGTAAACTACCTGCC
+AGTTGATTACGCACGGGATCTTTTTCCTGCGCCGGAAACGAATCCACCAGTCGCTCAACTGCCTGCGCTG
+CGCCGCGCGTGTGTAATGTCGCCAGCACCAGATGCCCGGTTTCTGCCGCCGTCAGCGCCAGACGGATTGT
+CTCGCTATCACGCAGCTCTCCGAGCAAAATCACATCAGGATCTTCCCGCAATGCAGCCCGCAATCCCGAT
+GCGAACGTCATACAGTGCAAACCAATCTCCCGCTGTTGGATCAAACATCGCTGACTGGTATAGAGATATT
+CCACAGGATCTTCCAGCGTCAGAATATGCGCATCGGCATGTTGATTGAGATAGCCAACCATCGCCGCCAG
+CGTGGTAGATTTGCCGCTCCCCGTCGCCCCCGTCACCAGAATCAGGCCATTCTCGCTCTTGAGTAATTCC
+GGCAATACCGGTGGTGCGCCAAGCTGTTCGAGCTGCGGGCAGTGCGAAGGTAACAGCCGTAACGCCAGAG
+AAATACCTTGCCGTTGTGCGAACGCACTGCCGCGCAATCGCTGGTTTTCCGCCAGCGACACAGCAAAATC
+CAGCTGACCATTCTCCAGCAATATTGCCCGCTGATCGTCATCCAGCCACTCCCACAGTAGCTCTTCGACG
+TCCGGCGCGTCAAACGGCGCAGCTTCCATTCTCCCGCGAATACGCCATCGTGCGGGCCAGGCGCTGCACA
+GGTGTAGATCCGAGACGTTATGCTTTACACTAAGGGCCACAATTTCTTCCATATTCATACTAAGATCCTC
+GGAAAATGAACGATATTGCGCATAACCTGGCACAGGTCCGGGACAAAATCTCAGCGGCTGCAACGCGTTG
+CGGCCGTTCTCCAGAAGAAATTACGCTGCTTGCAGTCAGTAAAACAAAACCTGCGAGCGCCATCGCAGAA
+GCCATTGATGCCGGGCAGCGTCAATTTGGTGAAAACTACGTTCAGGAAGGGGTAGATAAAATTCGCCACT
+TTCAGGAACTGAGCGTAACAGGATTAGAATGGCATTTTATTGGCCCGTTGCAGTCTAATAAAAGCCGCCT
+GGTGGCAGAGCATTTCGACTGGTGTCATACCATCGACCGTTTGCGCATCGCTACCCGTCTGAACGACCAG
+CGCCCGGCAGAACTTCCCCCTCTTAACGTACTGATTCAAATTAACATTAGTGATGAAAACAGTAAGTCCG
+GGATTCAACTGGCTGAACTGGACGAGCTGGCAGCTGCGGTCGCTGAACTACCGCGTTTACGTCTGCGCGG
+GCTGATGGCAATCCCTGCGCCTGAGTCAGAATATGTAAGGCAGTTTGAAGTTGCACGCCAAATGGCTGTA
+GCATTTGCCGGACTGAAAACGCGCTACCCGCATATCGACACGCTCTCTCTGGGAATGTCGGACGATATGG
+AAGCCGCCATTGCGGCAGGTAGCACGATGGTTCGTATCGGCACTGCAATTTTTGGTGCGCGTGATTACTC
+TAAAAAATAAGGAATTAAAGGAACGCCATGAATACGTTGACTTTCCTGCTTTCAACGGTCATTGAGCTGT
+ATACCATGGTGCTGTTATTACGCATCTGGATGCAGTGGGCTCATTGTGATTTTTACAACCCCTTCTCACA
+GTTTGTAGTGAAGGTAACGCAGCCGATTATCGGGCCACTGCGCCGCGTTATTCCGGCAATGGGCCCCATT
+GATAGCGCCTCGCTGCTGGTTGCCTATATTCTCAGTTTCATTAAAGCCATCGTGCTGTTTAAAGTGGTGA
+CCTTCCTGCCAATTATTTGGATTGCCGGTTTATTGATTCTGCTGAAAACCATCGGCCTGCTGATTTTCTG
+GGTCCTGCTGGTGATGGCGATTATGAGCTGGGTAAGCCAGGGTCGTAGCCCGATTGAATACGTGCTGATT
+CAGCTGGCCGATCCGCTGCTGCGCCCGATTCGCCGCTTGCTACCGGCAATGGGTGGGATTGATTTCTCGC
+CGATGATCCTCGTTCTGCTGCTGTATGTCATCAATATGGGTGTCGCAGAAGTCTTGCAGGCGACCGGAAA
+TATGCTGCTGCCGGGGCTGTGGATGGCGTTATGAGTGCCGTAACAGTTAATGATGACGGTCTGGTTTTAC
+GGCTCTATATTCAGCCAAAAGCCAGCCGTGATTCTATTGTCGGTTTACATGGCGACGAGGTAAAAGTCGC
+CATTACCGCGCCGCCGGTTGACGGCCAGGCCAACAGCCATCTGGTGAAGTTTCTCGGTAAGCAATTCCGG
+GTTGCCAAAAGCCAGGTGGTGATTGAAAAAGGCGAACTTGGCCGCCACAAACAAATTAAAATCATTAATC
+CGCAACAAATCCCGCCAGAAATCGCGGCGTTAATTAATTAGGTATCCTATGCAAAAAGTTGTCCTCGCAA
+CCGGCAATGCCGGTAAAGTGCGTGAGCTGGCGTCGCTGCTTAGCGACTTCGGTCTTGATATCGTTGCCCA
+AACAGACCTCGGCGTAGATTCCGCTGAAGAAACCGGCCTGACCTTTATCGAAAACGCGATTCTGAAAGCG
+CGCCATGCGGCAAAAGTGACCGGTTTACCGGCAATTGCCGACGACTCCGGTCTGGCGGTAGATGCGCTGG
+GTGGCGCGCCGGGTATTTACTCCGCGCGTTATTCCGGTGAAGACGCGACCGATCAAAAGAATCTGCAAAA
+ACTGCTGGAAACAATGAAAGACGTACCGGACGACCAACGTCAGGCGCGTTTCCACTGCGTGCTGGTATAT
+CTGCGTCACGCGGAAGATCCCACTCCGCTGGTATGCCACGGTAGCTGGCCAGGCGTGATTACTCGTGAAC
+CAGCGGGCACTGGTGGCTTTGGTTATGATCCAATCTTCTTCGTACCTTCCGAAGGGAAAACCGCTGCCGA
+ACTGACCCGCGAAGAAAAGAGCGCCATTTCCCACCGTGGTCAGGCGTTGAAACTGCTGCTGGACGCTTTA
+CGTAATGGTTAAATTACCGCCGCTGAGTCTCTACATTCACATCCCGTGGTGCGTGCAGAAATGCCCGTAC
+TGCGATTTCAACTCTCACGCGTTGAAAGGAGAAGTGCCGCACGACGATTATGTTCAGCATCTGCTTAACG
+ATCTGGACAACGATGTGGCTTACGCTCAGGGCCGTGAAGTAAAGACAATCTTTATTGGCGGTGGTACGCC
+GAGCCTGCTTTCCGGCCCGGCGATGCAAACGCTGCTGGACGGCGTACGTGCGCGTTTGCCGCTGGCAGCG
+GATGCAGAAATTACGATGGAAGCGAATCCTGGTACGGTTGAAGCCGATCGCTTTGTTGATTATCAGCGTG
+CTGGTGTGAACCGCATCTCCATTGGCGTACAGAGTTTTAGCGAAGAAAAGCTGAAACGACTTGGGCGCAT
+TCATGGCCCGCAAGAAGCGAAACGAGCGGCAAATCTGGCGAGCGGTTTAGGGTTACGTAGCTTTAACCTC
+GATTTGATGCATGGGCTGCCGGATCAATCACTGGAAGAGGCGCTAGGCGATCTGCGCCAGGCTATTGAAC
+TGAATCCGCCGCATCTTTCCTGGTATCAACTGACCATCGAACCTAATACGCTGTTTGGCTCTCGCCCTCC
+TGTACTGCCGGACGATGACGCGCTGTGGGACATTTTCGAACAGGGGCATCAGTTATTAACCGCAGCGGGT
+TATCAGCAATATGAAACTTCCGCTTACGCCAAACCCGGTTATCAGTGCCAGCACAATCTCAACTACTGGC
+GCTTTGGTGACTACATCGGTATTGGCTGCGGCGCGCATGGCAAAGTGACCTTCCCGGATGGGCGCATTCT
+GCGTACCACCAAAACGCGTCATCCACGTGGTTTTATGCAGGGGCGGTATCTGGAAAGCCAGCGTGATGTC
+GAAGCCGCAGATAAACCATTTGAGTTCTTTATGAATCGCTTCCGTTTGCTGGAACCTGCGCCGCGCGTGG
+AGTTTAGCCAGTATACTGGCCTTTCAGAAGAGGTTATTCGCCCTCAGTTAGACGAGGCTATCGCTCAGGG
+TTATCTCACAGAATGTGCGGATTACTGGCAGATAACGGAACATGGGAAGTTGTTTTTAAATTCGCTGCTG
+GAGCTTTTTCTGGCTGAGTAAATTTGTATTGCCGGATGCGGCGTGTACGCAACATCCGGCTACAACTCTT
+GCGTCATCGCAAAAATTACTTAATCACCCCATTGCGCCGCAATTGTTCGGTATCTTTTTTCCAGCGTTCA
+TTAGCCTGGTTGATATCGTCAATTTTCATCAAAATCGTGACTTTTTTACTGTTTATTTCTGAAACTTTCA
+TCGTTAACGGATATTGCCCTTTTTCGAGCGTTATCCAGTCATCCTGCAATTTACGGCTAAGTTTTTGTGA
+TTGCAGAAAAGTCTGTCGCCGTTGTTCGTTGATATCAAAATCTCGTTTCTGCTGAATTGGCACTTCATAA
+CACTCTTCACTCTGTTTATGACATGCCGCAATCGCCGGTTGATAAACCTCTTTGTCATATTTAACCGCGA
+ACGCCTCACTATCGTTCTGTTTATTAAAATCATCACGCTGTTGGTGAATTTTTTTAAAGGCGTCTTCACG
+GGTCATTTGCTTACCGTTTGCATCTTTTCCCCAATATGCATCCGCTGCTTTCTGCGCCGCCACCATTTGC
+TTATCAAGCGCTTTTACATCCTTTTTCAGTGCAGGAATCGAGTTATTCTGGTTATTCAATGCAGACTCAA
+GCTGACTAAAGCGATAATTGAAATCTTCGCTATTCACGATCAGATATTTATTATTGGTTTTGATATCGTC
+AACCACCCGCCCACGATCGCTGGCTGCCGCCTGAAAAGAGTAAAAGTTCACCGACCAGCCAGACGCGGGC
+GTTCCTTTACTGGTTAACATCGCCGAGAATTTCACCGGTTTATCTTTCGTCCAGGTCTGTTCGAGCAGCT
+CGTAATCTGCCAACTGACCGACCCAGGTATAGAGATCGTCACTGGAAGAGACATCGCCTTCCGCTGACCA
+GGTGGCCTGATTACCCTTAGCATCAAGATTTTTTAAGGTGATGACATCAAGCTTGAGAATGCCGTGATAC
+TGCTTTTTGAATTGATCTTTTAAGATATTTTCAGTTGGCGGTTCACCATCTGCCCGGACATTACCAGTCA
+TCAACATAAGCAGCGCCGTACCAACAATCCATTGCTTTTTCACCCGAAAACCCTCGCGCGGAATAATTTA
+TTCTGGTGATTATCATTAGGGTAATAAAAATTGGCAATGGACGTGAGTCTGAAGTGAATAAGCCCCGGCA
+CGATACCGGGGCGAAGTGATTAGTACTGATTGAAGATCTGCTGGATCTGCTGCGGATCTTTAGTTTGCGT
+CAGAGCCAGTTGCAGCAGAACGCGCGCTTTTTGCGGGTTCAACGTGCCAGAGGCGACGAAGCCGTATTTC
+GCATCATCCACTTCGGCATCCTGAGTGGTAGCGCCCGTCGGTACGCGGGAAGAACGCACTACTGCAGTGC
+CGTTTTTCGCAGCGGTTGCAAGGGTGTCAAATACGGTTTTATACAGGTTGCCGTTACCCACGCCAGCGCT
+AACGATGCCATCATAGCCCGCATCTACCAGTGCTTTAGCCGGAAGATCGGATGCGTTAGCGTAGTTATAA
+ACAATGCCGACTTTCGGCAGTTCATTCAGCTTAGAGACATCGAACGGCGTGTCGCTGGTGTGCTTACGTG
+CCGGGGTACGTTGGTAATCAATCTTACCGTTGTGAATGTAACCCAGAGGACCGTAGTTAACAGACTTGAA
+GGTCGCTACGTCGGTGGTGTTGGTTTTGGTGACATCACGGCCATCAAGCACGGTGTCGTTCATCACTACC
+AGTACGCCACGATTAGCGGAGGCTTTATCAGCTGCGGTCACTACCGCGTTATACAGGTTGAATGGACCGT
+CTGCGCTCATAGACGTGGACGGGCGCATTGCACCGACCATCACCACCGGTTTGTCGCATTTCACCGTCAG
+GTCGAGGAAGTAAGCGGTTTCTTCCATCGTGTCGGTACCGTGGGTAATGACGAAGCCGTCAGTTTTATCG
+CAGTCGGTGTTAATTTTTTTCGCCAGTGTCAGCCAGACATCATCGTTCATGTCCTGGGAGCCAATATTCA
+CTACCTGCTCGCCTTTAACGTTCGCAATGTCCTTCAATTGCGGCACCGCATTAACCAGATTTTCTACGCC
+AACTTTACCCGCTGTGTAGTTAGATTTGGTTGCGGAGTCACCACCACCGGCAATGGTCCCGCCGGTTGCT
+AAAATGGTGATATTGGGTAATGCCAATGCTGCACCACTAAAACCCATAACCAGTGCGGCAAGTGCCGTCT
+TTTTGAAAAACTCCATTTCATTCCTCCAGTTACGTGAACGCTACGCATTATCCCTTAGCTTTGCATGGGA
+AATTTGACGTTAAACAATTTACAACGTGAATATATTTTGGAGATCTACAAAGTTAGAGGCAGGTAACAAA
+ACGAAGAATTAAACGGCATAAAAAAGTATTATGCCGTCTTAAAATAGAGGATTATTTTAAATTCCCGACC
+AGGGCTTTGCGGCTATCTTCCAGAGTCACAACGCGGCTACAAACATCTTTGCCAAACTGCTGGAAATCTT
+TTTCCTGCTTTTTCCACTCGGTTTGGATTGAGGATTGCAGACCGCCCAGGCTTCCCAGCACGTTCTGTAA
+TGGGTTACCGCCGCTTTTCAGCACCGCTTTCGCGCCCATTTCATTAATGCTGTCCTGTAAAATTCCGCCC
+ATTGCCTGATTCACTAATTGCTGGCCTTCGGCACGAACCTGATCAATGGCTTTATAGTGAAACGTCAGGC
+CATCGCTGCGCGTTTCGATAATGCGGTTCATCTGCTCTTTCAGCTGCGCATCAAGTTTGGTCAGACGGCT
+GCGCATTTTGCTGCTTTCGCCCATCTCCTGAACGATAATTTTATCCAGCGCAATACGGGCTTTCTCGACG
+CGGCTTTTCGCGCCTTCATCAATCCACGGCAGGGTGCTACGTAGTTCAGCCTGATAATCCTTCGCCTGCT
+CGCGCTGGGCGGCATTCAGGGAATATTGCTTACCGTTATACATCACGTTGCCGTCTGGCGTGATCACCAG
+ATTGCCGTTTTCGCCCTTCACCTGCACGGTTTGCGGGCTGACAATCACATCGTCACGCGGCGTGACGCTG
+CACTGGTAGTCGGCGTGAGCGGTCATTGCCGTCACTGAAAGTGCTGCCGCCAGCAGCATTTTGCGCATCA
+TAGTCTTCCCTCAAGAACAAATCAGGCCAGCATTTGCTGGCCCCAGATTGATAACAAAGTGCGCGTTTTC
+CATGCCGGATGCGGCGTAAACGCCTTATCCAGCCTACTCGATCGTGCATCTTTGTAGGCCTGATAAGCGT
+AGCACATCAGGCAGTTTTGCATTTGTCATCGCCCGTATGCTTTCTTAGTCCCACCAAACGTCGAAAAGTT
+CGCTGGTGCGTACCTCTTCCAGTTTGCGTTCTTCCAGCCACTTACGCACAATCGCCTGATGCTCTTCGGT
+GCATTTGCCGATTTCCTGCATGCAGATCAAACCTTCCCAGGCCAGATATCCGCTGCCGTCAAAGGCCAGT
+TTGTTCGGTTCGATAACCTCGTTAATAAAGTCATCAACGGTTTTATCAATCTGTTCTTCCGATGTACCTT
+CCGGGAATCGCCATGCCACCGAAAATCCTAATTCCTGGAATTCGTCGATGTGCATTTTTTTACGCAGACG
+ACGGCTACGGTTCTTTGCCATTATTTCACCCTCTCGAACATTAAGTCCCATACTCCGTGACCAAGACGAT
+GACCACGTTGTTCAAATTTCGTCACCGGACGTGATGCCGGACGCGGTACGTAATCATTGCTCTCTGACAG
+GTTTTTATAACCGTCAATAGAAGACATCACTTCAAGCATATGTTCCGCATAAGGTTCCCAGTCGGTCGCC
+ATATGGAATATGCCCCCCAGCTGCAGTTTGCTTTTTACCAGCTCGGCAAACGGCACCTGAATGATACGGC
+GTTTATTATGGCGCGCTTTGTGCCACGGGTCAGGGAAAAAGAGCTGCACCATGCGCAATGAATTGTCAGG
+AATCATTTTATGCAGCACTTCAACCGCATCGTGACACATCACGCGCAGGTTGCTTAAGCCCTCTTCATGC
+GCAGAAGCCAGGCACGCACCAACGCCCGGTGAATGCACTTCAATGCCGAGGAAGTCCTGCTCGGGGCGAT
+CTTTAGCCATTGCCACCAACGACGCGCCCATGCCAAAACCAATCTCAAGCGTCACCGGCGCTTCACGGCC
+AAAAAGCGCAGGGAAATCCAGCATATCTTCGCTGAACTCAACGCCCATCACCGGCCAGTAGTTTTCCAGC
+GCATGTTCCTGGCCTTTGGTCAGTCGCCCCTGGCGGCGCACAAAACTACGGATACGGCGCAGCGGGCGGC
+CGTTTTCATCAAATTCCGGTGAGATGACGTCGTTTTTCATAAAGATTTAGTCGCTTGTGAAAGTGTTCTG
+AAAACGGGCATTATCCAAAGTTAGTTGCCGGATGCAAGCATGATAAGGCCGTGGCTGCGGAAAGTTCCGG
+TTTACACCCTGCCGTCGCTGTGCTGCAATCTTGCCCCCAACAACAGTGAATTCGGTGACCATGCAAGCGT
+CGCAATTTTCAGCCCAGGTTCTGGACTGGTACGATAAATACGGGCGGAAAACGCTGCCCTGGCAAATTGA
+CAAGACGCCCTACAAAGTATGGCTCTCAGAAGTGATGTTGCAACAAACTCAGGTTGCGACCGTTATCCCC
+TATTTTGAACGCTTTATGGCGCGCTTCCCAACGGTGACCGATCTCGCCAATGCGCCGCTCGACGAAGTTC
+TCCACTTGTGGACCGGGCTTGGCTATTACGCCCGCGCGCGCAACCTACATAAAGCGGCACAACAAGTGGC
+GGCCTTACACGGCGGTAAATTCCCGGAAACCTTTGAGGAAGTTGCAGCACTGCCGGGCGTCGGGCGTTCC
+ACCGCAGGCGCGATTCTCTCGCTTTCTCTGGGTAAGCACTTTCCGATTCTCGACGGTAACGTCAAACGCG
+TGCTGGCGCGCTGCTATGCTGTAAGCGGCTGGCCCGGGAAAAAAGAGGTCGAGAATAAACTATGGAGTTT
+GAGCGAGCAGGTGACGCCCGCGGTTGGCGTGGAACGGTTTAACCAGGCGATGATGGATTTGGGCGCGATG
+ATTTGTACGCGCTCTAAGCCGAAATGCTCGCTCTGTCCGCTACAAAACGGATGTATTGCCGCCGCCAACA
+ATAGCTGGTCGCTTTATCCGGGCAAAAAACCGAAACAGACGCTGCCAGAGCGCACCGGCTACTTTTTGCT
+GTTACAGCACGAAGATGAAGTATTGCTGGCGCAGCGTCCGCCGAGCGGATTGTGGGGCGGTTTATACTGT
+TTCCCGCAGTTTGCCGATGAAGAAAGTTTGCGGCAGTGGCTGGCGCAACGGCAGATTGCTGCCGATAACC
+TGACACAGCTGACCGCGTTTCGGCATACCTTCAGCCATTTCCACTTAGATATTGTGCCTATGTGGCTTCC
+CGTGTCGTCATTCACCGGCTGCATGGATGAAGACAATGCGCTCTGGTATAACTTAGCGCAACCGCCGTCA
+GTTGGCCTGGCGGCTCCCGTGGAGCGTTTGTTACAGCAGTTACGCACTGGCGCGCCGGTTTAGCGCGTGA
+GTCGATAAAGAGGATGATTTATGAGCAGAACGATTTTTTGTACTTTCCTGCAACGTGAAGCAGAAGGTCA
+GGATTTTCAGCTGTACCCCGGCGAACTGGGAAAACGCATCTATAACGAGATCTCCAAAGAAGCCTGGGCG
+CAGTGGCAGCACAAACAAACCATGCTGATTAATGAAAAGAAACTCAACATGATGAATGCCGAGCACCGGA
+AGCTGCTGGAGCAGGAGATGGTCAACTTCCTGTTCGAGGGTAAAGAGGTGCATATCGAGGGCTATACGCC
+GGAAGATAAAAAATAAAAACAGTGCCGGAGCACGCCTCCGGCAACTTGCATAAAAACAAACACAACACGC
+ACCCGGAATGATGAAAAAATATCTCGCGCTGGCTTTGATTGCGCCGTTGCTCATCTCCTGTTCGACGACC
+AAAAAAGGCGATACCTATAACGAAGCCTGGGTCAAAGATACCAACGGTTTTGATATTCTGATGGGGCAAT
+TTGCCCACAATATTGAGAACATCTGGGGCTTCAAAGAGGTGGTGATCGCCGGTCCTAAGGACTACGTGAA
+ATACACCGATCAATATCAGACCCGCAGCCACATCAACTTCGATGACGGTACGATTACTATCGAAACCATC
+GCCGGGACAGAACCTGCCGCGCATTTGCGCCGGGCAATAATCAAAACGTTGCTGATGGGGGACGATCCGA
+GTTCGGTCGATCTCTATTCCGACGTTGATGATATTACGATTTCGAAAGAACCTTTCCTTTACGGTCAGGT
+GGTGGACAACACCGGGCAGCCGATTCGCTGGGAAGGTCGCGCGAGCAACTTCGCGGATTATCTGCTGAAA
+AACCGTCTGAAGAGCCGCAGCAACGGGCTGCGTATCATCTACAGCGTCACCATTAACATGGTGCCGAACC
+ACCTTGATAAACGTGCGCACAAATATCTCGGCATGGTCCGCCAGGCGTCACGCAAATATGGCGTTGATGA
+GTCGCTGATTCTGGCAATTATGCAGACTGAATCTTCCTTTAACCCGTATGCGGTCAGCCGTTCCGATGCG
+CTGGGATTAATGCAGGTGGTACAACATACTGCCGGGAAAGATGTGTTCCGCTCGCAGGGGAAATCCGGCA
+CGCCGAGCCGCAGTTTCTTGTTTGATCCTGCCAGCAATATTGATACCGGCACCGCGTATCTGGCGATGCT
+GAACAACGTTTATCTCGGCGGAATTGATAACCCAACATCGCGGCGTTATGCCGTCATCACCGCCTATAAC
+GGCGGCGCAGGCAGCGTGCTGCGAGTCTTTTCGAATGATAAGATTCAGGCTGCCAATATTATTAACACCA
+TGACGCCGGGCGATGTTTATCAGACGCTGACGACCCGCCATCCCTCTGCGGAATCTCGCCGTTATCTTTA
+TAAAGTGAATACCGCGCAAAAATCTTACCGCCGCCGATAATTCCACTAACCGCCCCTGACGATGCTCAGG
+GGTAAAAATGTTATCCACATCACAATTTCGTTTTGCAAATTGGGAATGTTTGCAATTATTTGCCACAGGT
+AACAAAAAACCAGTCCGCGAAGTTGATAGAATCGCATCATCTCGCACGGTCAAATGTGCTTTTTCAAACA
+CTCATCCGCATCACGATGTGAGGAAATTAACATGAATCTTAAGCTGCAGCTGAAAATCCTCTCTTTTCTG
+CAGTTCTGTCTGTGGGGAAGTTGGCTGACGACCCTCGGCTCCTATATGTTTGTTACCCTGAAGTTTGACG
+GTGCTTCTATCGGCGCAGTTTATAGCTCACTGGGTATCGCCGCGGTCTTTATGCCTGCGCTGCTGGGGAT
+TGTGGCCGACAAATGGTTAAGTGCGAAATGGGTCTATGCCATTTGCCACACCATTGGCGCTATCACGCTG
+TTCATGGCGGCAGAGGTCACTACGCCGGAGGCGATGTTCCTTGTGATATTGATTAACTCGTTTGCTTATA
+TGCCAACGCTTGGGTTAATCAACACCATCTCTTACTATCGCCTGCAAAATGCTGGGATGGATATCGTTAC
+TGACTTCCCGCCAATCCGTATCTGGGGCACCATCGGCTTTATCATGGCAATGTGGGTGGTGAGCCTGTCC
+GGCTTCGAATTAAGCCACATGCAGCTGTATATTGGCGCAGCGCTTTCCGCCATTCTGGTTCTGTTTACCC
+TGACTCTGCCGCATATTCCGGTTGCTAAACAGCAAGCGAATCAGAGCTGGACAACCCTGCTGGGCCTCGA
+TGCATTCGCGCTGTTTAAAAACAAGCGTATGGCAATCTTCTTCATCTTCTCAATGCTGCTGGGCGCGGAA
+CTGCAGATTACCAACATGTTCGGTAATACCTTCCTGCACAGCTTCGACAAAGATCCGATGTTTGCCAGCA
+GCTTCATCGTGCAGCATGCGTCAATCATCATGTCGATTTCGCAGATCTCTGAAACCCTGTTCATTCTGAC
+CATCCCGTTCTTCTTAAGCCGCTACGGTATTAAGAACGTAATGATGATCAGTATTGTGGCGTGGATCCTG
+CGTTTTGCTCTGTTTGCTTACGGCGACCCGACTCCGTTCGGTACTGTACTGCTGGTACTGTCGATGATCG
+TTTACGGTTGCGCATTCGACTTCTTCAACATCTCTGGTTCGGTGTTTGTCGAAAAAGAAGTTAGTCCGGC
+AATTCGCGCCAGCGCGCAGGGGATGTTCCTGATGATGACCAACGGCTTCGGCTGTATCCTCGGCGGCATC
+GTGAGCGGTAAAGTGGTTGAGATGTACACCCAAAACGGCATTACCGACTGGCAGACCGTATGGCTGATTT
+TCGCAGGTTACTCCGTGGTTCTGGCCTTCGCGTTCATGGCGATGTTCAAATATAAACACGTTCGTGTCCC
+GACAGGTACACAGACGGTTAGCCACTAATTACGCAAAGAAAAACGGGTCGCCAGAAGGTGACCCGTTTTT
+TTATTCTTACTTCAACACATAACCGTACAACCGTTTCATGCCATTCGCATCGGTTTCGCTATAGACACCT
+TGCAACTCCGGCGAAAATCCCGGCAACAAATTCACGCCTTCTTCCAGCGCAAGGAAATAACGTTGAACCG
+CCCCACCCCAGACTTCCCCGGGTACCACGCAAAGCACGCCAGGTGGATAAGGCAACGCCCCTTCTGCCGC
+AATTCGCCCTTCGGCATCACGAATCCGCACCAACTCCACTTCACCGCGAATATAAGCGCTATGCGCATCC
+TGGGGATTCATCACCACTGACGGGAAACTCTGCTGGCGGAACATCGCTTTTTGTAGGTCTTTGACGTCGA
+AACTGACATACAGATCGTGCATCTCCTGACACAACTGACGCAGGGTGTAGTCGCGATAGCGCACCGGATA
+TTTGTTATAAACGCTCGGCAACACCTCAGCCAGCAGCGAGTCATCCTCAATATGCTGTTCAAACTGCGCC
+AGCATCGCCACCAGTTGTGCCAGCTTCTCGTGGCTTTCCGCCGGAGTTAATAAGAACAGAATGGAGTTGA
+GATCGCACTTCTCCGGCACAATGCCGTTCTCACGCAGGTAGTGCGCCAGAATCGTCGCCGGAACGCCAAA
+GTCGCTATATTCGCCGGTTTCGGCATCGATACCCGGCGTGGTGAGTAACAGCTTGCACGGATCAACAAAA
+TACTGATCCGCGGCATATCCTTCAAAGCCGTGCCACTTCGCCCCCGGCTCAAAACTGAAAAAACGGCGGT
+CGCTGGCTAACACTGACGTCGGATAATCCTGCCACAATTTGCCATCAACAACAGGCGGGATAAACGGGCG
+GAACAGCTTACAGCGCGCAAGAATAGCCTTGCGCGACTCAATACCCAACTCAACGCACTCAGCCCACAGC
+CGACGCCCACTCTCCCCTTCATGAATTTTGGCGTTAACGTCCAGGGCGGCGAACAGCGGATAGAACGGGC
+TGGTAGAAGCATGGAGCATAAAGGCATTATTCAAACGCTTATGCGGGCAAAAACGCGCCTGTCCACGGAT
+ATGGTTATCTTTTTTATGGATCTGCGACGTCTGTGAGAATCCCGCCTGCTGTTTGTGCACCGACTGGGTC
+ACAAAGATCCCCGGATCGTTTTCGTTAAGTTCTAACAGCAGCGGCGAGCTATCCGCCATCATCGGGATAA
+ACTGTTCGTAACCGACCCACGCGGAATCAAACAGAATGTAATCACACAGATGCCCAACGGTATCGATCAC
+CTGACGGGCGTTATAGACAGTGCCGTCATAGGTTCCCAGCTGAATAATCGCCAGGCGAAACGGGCGCGGC
+AGGTCGGCTTTTTCTGGCGCAACGTCGCGAATTTGCTGGCGCAGATACTCTTCATTAAAACAGTGCGCAT
+CAATACCGCCAATGAAACCAAACGGGTTACGTGAAGCTTCCAGATAGACCGGCGTCGCCCCCGCCTGAAT
+CAACGCGCCGTGATGATTCGACTTATGGTTGTTACGGTCGAAGAGCACCAGATCGCCACGCGTTAACAGC
+GCATTCGTCACCACTTTATTCGCTGCCGATGTGCCGTTCAGCACAAAATAGGTTTTATCGGCATGAAAGA
+CTTTGGCTGCAAATTTCTGCGCATCTTTCGCCGATCCTTCATGAATAAGCAGATCGCCCAATTTTACGTC
+AGCGTTACACATATCGGCGCGAAAGATGTTCTCGCCAAAGAAATCGTAAAAATGGCGTCCGGCAGGATGC
+TTTTTAAAGAACGCACCATGTTGATGTCCAGGGCAAGCAAAGGTGCTATTACCCATCTCAACGTACTGCG
+TCAGCGTGTCATAAAACGGTGGCAGCAAATTCTCTTCATACTGACAGGCTGCGGATTCCAGCTCCAGCCA
+CTGCTGCTCGTTGCCGTTGATTACCGCCGTAACGCCCGCAGGTAATTCAACAGCATGTTCGGAATACAAA
+AACACCGGTAGATGAAAACCGGTGCGCTTAAGCAACGCAAGAATGCCACTGCGACTATCCGCAGCGGTAA
+TGACGACTGCCGCGACGTCCGTAAAATCAGTATCTCCCAACGCTACCACGCAGCGATGAGTAGAAAGTCG
+GGATACCAGTTCACTACTGGCGGCAATATTCATTGATTTCATAAGCGCAAAACCCGTTTCGGGGAAGTAA
+GAATACCGGACAAGGTGGAAAACCCTGCCCCATGAGATATGGGTCAAACTGGTCACCAGCTCCGACCGCC
+AGACATCAGTAAAAGCAGAAACGCTCTGATTTTACTGTTGTCCTGCAGTGAGCGTGCGTTGACTTCACCG
+CATGAGCAGTAGCATAAAAAGAGAAGAGTTTCGCGCGAAACGGCGATAAGCGAGAGAATGTAAGGAGGTG
+GCGTGCATCGGGCAAACTCCGTACAGAGAGGAGAAAATTCGCGCAATCATGGCACCTTTCGCTAAAGCGT
+GCAAGCCAGGACTTTGCGAACAAACAAGCCATCGACGGCGCCAAAAGTTCATAATAAGAAAATCAAACAA
+TACAGCTAACAGGAACTCTTGTGGTCATCGGCCCTTTTATCAACGCAAGTGCAGTCTTACTGGGTGGCGT
+TTTCGGCGCACTCCTTAGCCAACGCTTACCGGAACGTATCCGCGTCTCCATGACATCAATTTTTGGTCTG
+GCATCGCTGGGGATTGGTATTTTACTGGTGGTGAAATGCGCCAACCTTCCGGCGATGGTTTTAGCAACCT
+TACTCGGAGCATTAATCGGCGAAATTTGTCTGCTGGAAAAAGGCGTCAATACAGTGGTCGCCAAAGCGCA
+TAGTCTGTTTCACCACTCGCGTAAGAAGCCAGCGCATGAATCTTTTATTCAGAATTTTGTCGCGATTATT
+GTCCTGTTTTGCGCCAGCGGCACCGGAATCTTCGGGGCGATGAACGAAGGGATGACCGGCGATCCGAGTA
+TTTTAATCGCCAAGTCATTTCTTGATTTCTTTACGGCGATGATCTTCGCCTGCTCGCTGGGTATTGCGGT
+GTCGGTGATTAGCATTCCATTACTGATCATCCAGTTAACACTGGCGTGGGCTGCCGCGCTGATATTACCG
+CTGACCACACCGTCGATGATGGCAGACTTCAGCGCCGTAGGCGGTTTATTGCTGCTGGCAACCGGATTAC
+GCATCTGTGGCATTAAAATGTTCCCGGTGGTCAACATGCTTCCAGCACTCCTTCTGGCAATGCCGCTTTC
+CGCCGCCTGGACCGCCTGGTTTGCCTGACAATGCGTGCAATAGCGGCAAAGTGATGATAGATTGTGCAGT
+CTGCACTAAATTGAAGAAATTTGATTGACGAGACGAGGCGAATCAGGTTTAATGCGCCCCGTTGCCCGGA
+TAGCTCAGTCGGTAGAGCAGGGGATTGAAAATCCCCGTGTCCTTGGTTCGATTCCGAGTCCGGGCACCAA
+ATTCATATCAACGGACCTCCACGGAGGTCCGTTTTTCATTCCAGGACGCCACGATTTAAGCGTCCTGCCT
+CCAAATCAATTCTACCGAACTCAACCAGATTCCCCCCACATCAACCTCATTGTGTGGGTATAATTGTGGG
+CATACCCCAGTTCGACAGAATTTGTACCCTCTTTAACGCATTCAGAAGGCTGAACTATGGCACTGACTGA
+CGCAAAAATCCGGGCAGCAAAGCCTACTGACAAGGCTTATAAACTCACTGACGGGGCTGGCATGTTCCTG
+CTGGTACATCCTAATGGTTCCCGTTACTGGCGTCTCCGTTATCGTATTCTGGGTAAGGAGAAGACTCTGG
+CACTTGGTGTGTATCCAGAAGTTTCTCTCTCCGAAGCTCGTACAAAACGGGATGAGGCCCGAAAACTGAT
+TTCAGAGGGGATTGACCCTTGCGAACAGAAAAGAGTTAAAAAAGTAGTCCCTGATTTACAGCTCTCTTTT
+GAACATATTGCACGACGCTGGCATGCCAGTAATAAACAATGGGCACAATCACACAGCGATAAAGTACTCA
+AAAGCCTCGAGACACACGTTTTCCCCTTTATCGGCAACCGGGATATCACAACTCTCAATACCCCGGACCT
+GCTTATCCCTGTTCGTGCTGCAGAAGCAAAACAAATTTATGAAATCGCTAGTCGTCTGCAGCAAAGAATA
+TCTGCTGTAATGCGTTACGCCGTACAGTCTGGCATCATCAGATATAACCCGGCTCTGGATATGGCTGGTG
+CATTGACCACGGTAAAACGCCAGCATCGCCCCGCCCTGAATCTTTCACGCCTGCCTGAACTTCTGTCGCG
+TATTGACGGTTATAAAGGCCAGCCTGTCACCCGGCTTGCCGTTATGCTGAATTTACTGGTTTTTATTCGT
+TCCAGTGAACTCAGATATGCCCGCTGGTCTGAAATTGATATTGACAATGCCATGTGGACTATTCCAGCCG
+AACGCGAACCTCTGCCTGGCGTAAAATTCTCACACCGGGGCTCCAGGATGCGGACACCACATCTTGTGCC
+ACTCAGTAAACAGGCTGTAGCCATACTGACAGAACTTCAGACATGGGCAGGTGAAAATGGTCTGATATTT
+ACGGGTGCACATGACCCGCGTAAACCAATCAGTGAAAATACTGTAAATAAAGCCCTGAGGGTGATGGGGT
+ATGACACAACCCAGGAAGTCTGTGGCCATGGATTCCGGGCGATGGCGTGCAGTGCATTGATTGAATCAGG
+TTTGTGGTCCCGCGATGCTGTGGAACGTCAGATGAGCCATCAGGAACGTAACGGTGTACGTGCTGCTTAC
+ATTCATAAAGCAGAACATCTGGAAGAACGCCGCTTGATGCTACAATGGTGGGCCGATTTTCTGGATGCAA
+ACAGAGAAAGATTTATCAGTCCATTTGAATATGCAAAGATTAATAATCCATTAAAACTGTAATCATCCCG
+GGCAAATACCCTGGAACTACTCCAGGATTATTTTCTTTGTTAAAAAAAGACAAACGGTGTTGACTGATGT
+ATTTACTGTTTACCTGATTGCTCCCTGCATGGGGATTATCAGAATCCGCGGTTATTCATTATTTATATAT
+TCAATAAAAAAAGTAACCTCATAAAAAATCCCGCACTCACAGGGTGATGCGGGATAACTGACGTAAGGAA
+TGCTGCCGGGATTTGGTGGTCCCTTGTGCTGATACGAATGCAGATTCTATTTTATACATAATACTTTTCA
+GTACAAGCGACTGTATTACAGTTTGCCATATATGATTACCTGTGATCCGGAAGAATAAGTGGTTGCAGTT
+TCAGACTGTCCGCCGGTACAAGTTCGCTCAGAATAACCAACCTGAGTTGCAATATCGACAATGTACTCGC
+CCTGCTAGCGCATTTGCTTTACCATCTAAAAGTCTTCTTGCTCAGTATGTTGATGTCCTTTCTGATGTGA
+GAACCTCTAGGAAACAACATGTTGGATGGTTCGAGACAATCCAAATGGTGATTTACCGTCTTATATCATT
+GGCGCTGACACCCCGGCGTTCCAGTTCGTCAATACGAGGAGAACATCCGTCAAGGCGGGGTAATAAAGCT
+CTCAAGCGGTCATTGTTCCTGACAGCCTTCGCTGCACTCATAGCCCCAATATCCAAGGCCTACTACACAC
+ACAAAATGAGGCAGGGAAAACGACATAACTAGGTGTTTATCGCCCTAGCAAGACAACGCAGAGACGTTCT
+GTTCACCATAATATCTGACGGAGCTTTATATACCCAGTAGGCATAATGAACATGCTTAAAAACTGAACAG
+GAGATCCCCGGAGTATGCCTGTATGTCATCAATTTCTTTGCAGGTGTAATATACCTTTTACACCTGCGGC
+CCCACTTCTAAATTTTATGCTGAATTTCAGAAAAGAAATATTCAATGTTCTAATTTTTGTGATTAACAAC
+AATGCAAATAAGACACAATAACTTATGCCCAAGTCACTTGATGAATTAAGCCATGCTGAAAACTGGTTGA
+ATCACAGATTATAAAGGCAGAAATCAAGAATAAATGATTTCTTCGGTAAAAAAATGCTGTTCTGTCAATT
+ACCGTACTATCGTACAGGGCTGCCCCCATGATGAAGAACGTGGCTAAAACGATAGGAAAAAGACTGAACG
+GCATGCTCCATGGTGTATCAAATGGAAATGAGGAATCAATGAACAATAAGATCAGGATGCTGAGAATAAA
+AGCCAGACAATACTGCAACCGGGAGCGTTTTAAGCCAAGAGAGATACTCCACTATGAGAAACTGAATATG
+CTATTCTGAAGTTTCCCACCATGACCGGGGAGGGCACATAGAAATACTCTATTTTTACCTTTGCAGAATT
+CTGAATGACGTAATGCAAATTACGACGGAATGGTTATAATAATATAACTGTGAACTCACATATGAATCAC
+TGCACAATATAAAACCGAAGGAGTATCAACTTCACCATTATTTGTCCGGAATCTCAACAAGTTCATGGAA
+CTAAAACGGGAATGTATACTCGAGCATTTTTAAGAAAAGTCACTTACATAGACTGGCAAACAAGATTACT
+ATACAGTCTTTCTATATTCTTTAATAAACGAACATAGCTCAATAGCCTGACCAAAGTAATAACCTTGAAA
+ATAATCAACTCCCAGCAACATTAATTTATTTACTAACTCCATATTTTCAACTCCTTCCGCGATAGTTTTT
+ATATTTAACTTCTTGGACAATTCAAGAATTGTTTCTATAATGTAATGAGACTGTTTACAACGTTCTAAAC
+CCTGTGTAAACATCTTATCTACTTTTATAAAGTCCACTGTAAAACATTCTAGATAAAATAAATTTGAATA
+CCCCGTACCAAAATCATCTAAAGCAAATTGCACACCCGATTCCTTTAGACAATGAAAGGTGGATATGGTT
+TTGCTATCCATAGTAAAAAAATACTGCTCCGTTAATTCAAGAACTAATGACAGGTTATTTTTTTTTGCAA
+CTCTTATACAGGTAGATATGAATTTTTTATTATGCAATAGAGATGGAGTGACATTTAAGTGAAGAATAAA
+ACCCTCACCATTAAATTTATTTTCACCATCAAAATTAACAACCACTTCATTGATTATAGAACAAGTAAGC
+TCAGACAGAATCCCAGCTTTCTCCATATTATCTATAAAACTATCTGGATAAATTACTCCTCTATCAGAGG
+TATGCCAACGGACAAGCAACTCGCCACCAATAATTTTATGGTTGCTGGCACAAACAATAGGCTGAATGTA
+TGGTTTGAATTCTCGTTTCTGTATTGCCTGCAATAAACTATCAGAACCCGATGTGACGTCACCTCTGATA
+TCATTAAACACTTGAAGTACTCCTTTATTTCTTTGTTAATCAGCAAGACTACATCAATATATATTATAGA
+ATATCAACGGATAATACAGCACTACCATCAAACCCTCCGGCAACGGGGTTTGCGTCCTGAAAACGTACTG
+TAATCGGCACCTGATATGTTCCTTGATTTACTTCCAGAATTTTAGATGAACTGTCATTATCAAAATTCAG
+AGAACAGCTACCAGAACCACATTTTGTTTTGTTATTGACCCCATCGACGATATCGGTACCTTTAAGAGAT
+AGTGATACCTTTGCCGGGGCATTACAAGTAAGAGAAAAATTAACCTTTTTCTCCACACCTGATTTTGCTT
+CATCCGGAGTAATATTATCACCCATATTAACACTCAAACTTTGTTCACCAACATTACACTTTGAGCTTAT
+CGTTATGCTGATGCCTTTAGAGTCTACCGGAGAAAAAGATTTCATGGATACAGGAAATTCTCGCCAGCCT
+CCGCCATTTTTACCGTCATAATTCCCTTTATTCTCTTCATATGCAACTTTTACTGGTAACTGTATAGAAT
+AAACCCCCGGCCATGCAGTGCCCCTGTCTATTTCAATATTCACCCCACTGACAGATGCAACCCCAAAATC
+ATAAGTTCCCCCGACATCCCTGCATCCGTATGTATTTACCCATGTATGGTAACCTACAGACGTTACAACT
+GTTTTGACACCTGCAGTTTGAGTGCCCGAAACCTCCAGTTCGCTGGTTATTCGATATTTTAGTCCGTCAG
+GGGTTGTCTGCCATGCTTCCGGATACTGTATCCAGTATCGATAAGTTCCATCAAGCGTTACAAAAGTATC
+CATATTTTTTGCAGCTCTTTTTATTACAGTTGACAAGCCCCCCGCCTGTAAATTGAGAGGAAAAATCCCG
+GATGTATTGCCATCAAAACTGACATTGACTGAGGCACTTGGTAGAGTATTACTCGCCCAAAGGAGGTTAC
+AGTAGCTTTCGGCTTCTGCAGATAATGGGAGTAAAGAAAAGAAAGATATTCCCAATATTTTTTTGACATA
+TTTCATATGTAATCTCTAAAAACTAAACTCACAAATAAACTATGTTTATAAGTGCACTGGCACTAAACTC
+CCCGCTATTAATTGTAACACCTTCAGCCTTATATATTTTTGCTGTAAACGTGAACGTCGTCCTCTCAACA
+TTTTTTTCAGAGAGCGCATTAATAACTTCGTATCCATACCCGGATGAGCCACTACCTAAGATAAGATGGT
+TTCCAGTTCCCTCCCCCCCCTGATAAAGTTCAATTCCAAGTCCATCAATATTTGTCGCCAGAACATTATC
+TTTCCCGGTCATACTCTGTCCAGTCATCTTTACATATGCCTCGCCCTGATGATATGGACAATAAACCGGG
+AAACTAACTACTTTGATATGTTCCTTTGTGTCAAGTTCACTCACCCTGATATTACCAAAATCAACATCAA
+CAGGATTACTGTTATTTATCTGGCATGGCGGAATTATAATCGTTCCCGTGATGTTGATTGGAATATCAAC
+TGCCCATAAATCAGATAAAAAGGAAAGGAACGTTAATAAAAAGACTGTTATTCTCAAATCTTTCTCCTGA
+TATAAAACAAGGAGGTAACAAGATGGTTATTAAGACACAACGAGATAATAATGATGCCAGCGTACTGTGC
+CTATTCATACATTATATTCAAATGCATTACCCCCCTGTTACTGTCAGATGTTTTATGCGCAGTAACAGGC
+ATTTGTGTTTTAGCTATCTTTTGATATTGAGCTTCATTTATATAATAAGTGATCTGATTATCACCATGTT
+GTAAATTCTTTCTACTTAATCCACCGTTTCGCCATGCGGATAGCAGAATTTGATCTTTGCCTGTTTTCAA
+CACAGCGCTTTGCTTCACAACAATATTCCCATGCTCTGTTGACTGGCGTTCCGGTATGTCAGAATGCCCA
+TCACCACAACGTGATACCTTAAGATTGAGTACATATCTCCCTTTATCTTTCTGCAGGGGGAAGTTAACTT
+CTGGCGTATCCAGTATGCACGGAGATGACACTAATGCACCTTTGACGTTCAGAGCTCCTGTCCGCCCATT
+GTGCTCAGTGACCCACTGATGACGGCTTTCATCTGCTACGAAAAAATCATCCCGCGTCAACAATTCATCC
+GCCTGTGAGACACCGTTCATACTGCAACTCCCCAGCACAACTGCCAGATAAAATCCTATCGTTGCCCTGT
+TCATCTCCGACACCTCCGGACAATTCTTTTTCCTGCTTTCTTATTTCTTCACTGCGGTACAGCGGCTACC
+ACCACAGGAGAACTGCAGCACCGGACGTCCGCCGTAGTCATTGATGTAACTCAGGTATGGTGTGTTGTAT
+GTTCCTGATTTCACCATCTGCGTTGACTTCGGTGCCAGCATCACAGCATCAAATTCACCTTCTCTGGCCT
+GCTTTTCGCTGCCGCCAATGCCAATTACAGTCACGTAATACGGTGTCGGATTATCAATCCGATACCCTCC
+GCTGGTCTTATTCAGCACCAACTGATCCTGCCATACCGCATTGGGCTTTGCTTTAATGGATTCAGGCCGA
+TAAAACAGTTTTATTTTTGTCTGCAGGGCTATCTGCAACACATTTGCCTTATCGCTTTTAGGGGGAATTT
+CCCGAAGACTGAAGTAAAAAAGGGATTCCCTGTCCTGTGGCAGGCGACTGATGTCAGGTGTACTGGTCAG
+ACGAACCATACTCTTTGAGCCGGGTTCCAGACGCTGTACTGGCGGAGTGGCAATAATCGGGCCTGTGGTG
+ATTTTTTCTTTCTTTTCATTCTCCACCCATGCCTGGGCCAGATAGGGAAGCTGTTTGTTATCATTGGCGA
+TATTCAGTGTCATCGATTTCTCATCGCCATTAAAAATCGCACGTGTGCGGTCCAGGGAGACAGCAGCCTG
+GGCTGCAGGTACTGCGCTCAGACACGCTACCGCCATCAGCGTTTTTTTCAGCGCCGGTTTCATTTTCTGC
+ATATTTTCTGCTCTCTGTTTCTTTACATTTTTCTGCCGGGATATACAGACGATCGCCGGCGTGTATAACG
+TCACTTCACCTGACGACAGGGCAGCAGCAACTGTTGTGCCGGGTCCGGATGTGCCGGGATGTCCACCACA
+CACTGTGTCCGGCCGTCCCAGCCGACGTTCAGGGTTTCTCCCGGATTCACTCCGCTCAGCCAGGCCAGAC
+CGCTGTCTGCCACCATCCCCAGTTCACGGCCTTTCGCATTTGTCACGCTGGCACCAAAGGGCGGATAGCT
+GTTATCAGACATCCGCAACACAGCAAACAGACGGCTACCTTTCAGAACTTCGAACTCACGATAACCAATG
+GCCCCTTCCGTCAGAACCGACTCCACCACCGAGCGGGTGGCTTCCATATCTTCCGGCAGCTTGTTCAGGT
+CTACTGATGTGGTGTTGCGGTAATAACTGCTCACATCCGTCACCACACCAATTCCCCACCGGTTGGTATA
+AACCCGACCACCGTCAACCGGCACACCTCCGACACCATCGGTATCCACCAGAAGACGGGTTCCTCCGTTC
+ATTCCTCCGGCATGTAACGCGGCTCCTTTCATCGTGACCGTCGCCCCCCCCGATGCACTCATCCCGAATG
+AGCTGTATCCGTTCTCCACGGCAGAGAAACTGGCTGACAGATTTGTCAGGGAACCGTTATGGTTGTAATA
+GGCACTCATTTGCCGTTGTGACGGCTGACCACCGCCACTGTTCACGCCGGCATTCAGGCTGTAACTGCTC
+AGGCCGTTATTCAGTGTGTCGCTGTAACCCACCGTATTGGTGTAACGGTCGTTGCTCATGCTGCCGCTGT
+AGCTGGCCGTACCGGTTCCCCACGGCACGGACAGACGAACAAACGCCGAATCGTTATCCCGGTTCAGGTA
+TTTCGAACGGGATGCAGATATCCCCAGCGCGATATTCTTAAAGCTGAACGCATCGAAGTAGCGGTTCACC
+GACAGCGTGTAATAGTCAGATGTCCGGCGGTCCCAGTAAGTCTGATGGCTGTACTGCAGATTGACCGATG
+CCTTCCAGTCCTCGAAGTTCTTGTTGAGTGTGACGGTGTACAGCTCCTTCTCACGTCCCGTAAAATCATT
+CCGGTAACGGGCATTGAGGTACTGGTCCATCGTCATGTAATTGCGTTCAGAGAAGCGGTAACCCGCAAAA
+GTGATATCCGTATTCACTTCATCAAAACGTTTGGAATAGCTCAGACGCCAGGATTTTCCCTGTTTTGTGT
+CATAACCCGGTATACGGGCCACGGACTGGGTTACGTCAGCGGAAACAGTGCCGAACTTACTCAGGTCCCG
+GCCCAGCCCCACAGCCAGAGCGTTATAATCCCCGGCAACAATACTGCCTCCATAAAGCGACCACGTGTTA
+CTGATACCCCAGGATGCCTCACCGGCAGCAAAGACCGGACCCTCCATGGTGTGCTCATAGGTACGCGAAC
+GACCGGAAACCAGCTTGTAACGAACCTGGCCCGGACGGGTCAGATACGGCACATATGCCGTGTCCACCTG
+GAACGTTTTTTTCCGCCCGTCCTGCTCGATAACTTCAACATCCAGGCGGCCACGCACGGAGCTGTCCAGG
+TCCTGAATGGTGAACGGACCTGCCGGCACAGTGGAGTCATAGAGTATGCGTCCCTGCTGCGAAATCACGA
+CACGCGCATTCGTATCCGCAATCCCTGAGACCTGCGGTGCATAACCGCGCAGTTTTGGCGGCAGCATGCG
+GTCATCACTTTCCAGACTGGCACCAGTGTAGCGCCAGGAGCTGAAAATCTCAGAATTGATGTAGTTCTCA
+CCCAGTGTGAGATTTGCGCGCCAGCGCGGGATGGCGCGGTACATGTAGAAACGGCTCCAGGTGAACTGGC
+TGTCCGTCCCCTGCGCACTGCCGGTGGTGTGATTCAGGTTGCCCTGATAGTCCGCACGCAGACGCCAGGC
+ACCGAAGTTAGCCCCCGCAGTTCCGTTATAGTTCAGCGACTGGGACTGTTTCCCCTGATGCGGCTTATTC
+ACTGTCCCGTTGATGTTGTAGTCAAACAACAGTCCGGGAATACCGTTATCCCAGCGGGACGGCGGCAGCC
+AGGAGGCATCGGAATATTCCAGCCAGGCCTGTGGCATATTGATGTACAGCATCCCTTCTGCTGGATTCGG
+GCGTATCTCCACTCCGGATAACTGTCGGAAATCCGCACATTGTCCGTTATTCCAGTACGTAACTTTTTCC
+TGTGACGCCTCAGTCAGTCCCATCCGGCTGACTATCTCCGGTGTCAGGCAGGGTTCTGGTAACGGTTTCT
+CGTTATCCGAATCCGAAAAAGGTGGTTCAAGAAACGCAATCTGAAATGCCGATGGTGAAATATCCTGACC
+ATTCACCCTTATTTCCATCTGATACTGTCCGGGCATAATATAGCCGGCCCGGGAGAACCGGGAAAAATCA
+ATATTCTGTCTGTCTGCGGCATCCAGAACATCCGTATTAAAATCGACGGCATAGACAGGCACTCCTGCCA
+GAGAAAGCATCAATGAATACGTAATAAAATTGATGGTAAAAGTCGATTTATTTTTTTTCATTATATGCAG
+CCGATTTAATACAAAAACACTTTGAAGGGCGCAACCAACCCTCTTCAACATTCAGGAATGTATTATTAAC
+GCTGTCGCTGATAGCAGTGAGCCCGGCTACTCCGGTTGTATTTATTCGTAGTCCAGTTTAAAACGCAATG
+CAGCGTAGTAATCGCCAGCCTTTAATGGATAACCATTTCTGACAATGCGAAGAGAATAATCAAGCCCGTC
+TTCATTCCCCCTGAGAATTAAAGGTGGCATGCTTTTTCCTGCTCTCGCCGGATATCCGTAATTATCCATA
+ATCTGCAGATTTATACCTTCAGCCTGACCTGTCAGCGAGAATTTGTCCGGTGTTTCTCCGGGAATGCCAT
+CAAAAGTCACACGCACCCGGGTTGCCGTATAGACCTGCTTTCCTGCACCTGTAAGCTCACAGTTGCGTAG
+CCGTAGCCGGAATTTCTTCTCGGGACCGGCAGGACTGTTCTGTAAGTCCCTGAGTGGCGTGGTTCCCATA
+TCAATTTCCTGCCAGGCATCCTCCATGGACAGCGTACAGGCAGGAGCGATGACCTGCCCTTTAAAGCTGG
+CCCGCCCATCCCACCAGACGTGTTCTTCTCCCCAGTACTCGGGCAAAGTCATCCCCGGTGGTGGAAAAGA
+AGCTGATGGCAGGGCTTGAGCCACTGCACACCAGAGAAACAGTACCGAAAGGATCATGCGTCGTAACATG
+CAGTCGTCCTTAATCTTATCGGTAAGACCTGGAACTGAAATCCCAGGGTCTGTGTATGAGATGGTTAAAA
+CCGGATAATGTTACTTACTGATAACTCAGATTAAAGTTAGCAACTGCAGTGAAATCGCCTTCTTTGACTT
+CAGTACCTGCGGCGCTGGATTTTTTAACCCAAGTCGTATATTTCAGCGTGTTATCGCCATCCTGCAACTG
+AGTTGCATTGCTTGATGTTGTACCATCAAATTTAACCATAGAACCATCTGAGGCGGATACAACAACAGCA
+GTACCGGTATCACCAGCAGTACCAAGCTCATCAGTATGACCATTAACAGGCGTACCGGAGAATGTGACAC
+TTACTGTTTTTTTCGCTGTAGGATCAGTAAAATCACAATTGACCAATTTAATATCTAAATCTTTCTTGAC
+TGAGATACCGTCGTTTTTCAAATGCGATTTAGAAATCTGACCAAAATCAATTGTCTGATCTGCTGATTCC
+GGAGCAATACCACATGGCGCATCAATTACAGTTCCTTTAAAATTAACAACACCTTGCCCTTGATTGGCTG
+CATGTGCAACAGCACACAATGAAAAAGCAATAGCAATCCCCAAAGTTGATTTTAACATAAAGATAACACT
+CCTATTACTAGACTACTTTCTACCACTAAAAATTATCTTCTATAAAATTTGGAAGCCTGAGCAACCGCAT
+TACTTATCTTAATAAACTTTTTTACACTGATTGAAAAATAACTCTGTGCGACATTGTTCCTTTCACATGC
+TTCTTTTCTGGTCTTGCCATGAACAAAGTAATCTTCCATAGCCATAATGGTTTTTTGACTATTTATTGAT
+GAGATCTCAACAAGGCACCTGAAATGTTCAATAGACATACTACCTGGAGAGGTATATCTATCCTTAGATA
+ACAATCCCATTCCATTACGTAATAACATCCCTTACACCCACACCCATGCAAGAAAACAAATAAATAGAGT
+TCTTTTTTCCATTTTACACATAAAACAGGAACACAAAAAAAGCATATAATTTCATCAATAAGAAATAATA
+AAGATTTTTATGGTGTTTTTTTATTTTTATTAGAGACAAAATCTACATAATGAGAAAAATTCAGAATATT
+AAACCATTTTTTGTAAAAATCAAATTTTAAAAAAAACCGTAAAAACAATAAGTTGTTTTATATCAATTTA
+TTAAAATTAATTAAAAATATTAATTCATACTATCAAAGATAGACTTTTCTTTAGCTGTAGAAACTAAGAA
+AAATTCTTATATCAATAAATTAAATAAAAATCATTAAAATTAATTTATAATACAGGTAAGCACGTTATGT
+ATATAACTGACCCCAATTAATATTCAGCTTTTACGGTTGTGCCGCATAACCTGCTGAGTGATGAAGGCCT
+GATATTCTTCCATGGTGCTGAAGGAGTTACTGCCCCGCAGTATCAGTGCCTGACAGATACGCCTTTTTAG
+ATGTCTGTGGGCACTTTTAACCGAGCCATTTTCGTGGCCCCAACCGGCATTATCGTGTACGCCCTGCATT
+CCGTAGTGCTGACAGAGAGCAGCATAGCGCTCAGTCAACTCGCGGCCTCCATCTTTTGCCTTGTTGTTTC
+CATGCCGCCCTCAGGCTGTCCGTTTTATGTTCTGCCGGCACTCCCCCCAGTTGTCCGAGGGCTTCCTGCC
+AGACCTTCAGCCAGAGCAGAGAAGCTCTCACCAGCCAGCACAACTCGCATTCAGCTCCAGTGGCTCCATT
+CCAGACGGAAGTTATACAACATATGCACCAACAACTTACCGGCGATAGTGACCACCACACCTTTCAGTTT
+GGTAAAGTCCAACAGGCCTCGCAGACCGGGCTGATGCCACTGGCGGAACATGACCTCCTGCTCTGCACCA
+GACTGTAATTTCCATTCGCACCCCCGCCGTTGCATTGTTCTTCGAAAGCTGTTGGGATACTGGCCGGGAT
+ATTTATCCTGTAGCATCTCCAGCAGAGTTGTTGGTGTCAGAACAGGCCTCTCTTTCAACAGAGGAACAAG
+CATGCTGTCCCACACTGCTTCCAGAGGATCTTTGCGTGTGCTCCAGTGCCGAACACTATTTTTTGCCCTC
+TGGCCTTTTTCGATCCGACGACCAGAACGGACTGAGATACCCGCTTTCATGGCCGAGATATGCTGGGTTA
+TACCTTTCTTACGCTGAGTAATATAGTAACTGACCTGAGAAGTATTGAGCGTCACGCCATTTTCTGTTGG
+ATCATGTACATGACACTCCGGTTACAAAACTGGCCAGAATAATCAGCGCCAGGCGAACTGAGTTATTGTA
+GTCTCATAGTCGAATGGAGGGCGGAGAGTGGAGAGTGGAGAGTGGAGAGTGGAGAGTGGAGAGTGGAGTG
+AAATATCAACAGATGTAGCCAGTGCTCCACCACTTTGTGAACAAAACTCTGGATGTTCCCCACTCTGGAA
+GTAATGCTTCGATTATCTGCACTATTTTATCCCTGCTGAAATTTACTGAATCGGTGCAGAAACTTACAGC
+AGTACCCGGGACTGGTACCAAGACTGGGGGGCTCCATAATTTCTGTGCTGGATAGACTGATATTTAATTT
+TTATAATGCTCCTTGCTAAGACCGTATTTTTTCATTCTGAGATAGAGTTTTTTCCGCGGGATTTGTAAAT
+ATTCAGCAACCTCATTGATACGCCCCTGATGGATATTAAGCGCCTCTGTGATTATCTGTCGCTCAGCGTC
+CTCCACTCGCCTGTCAAGCGGTGCCGGGGTTCCGACGTGCATCAACGGGTTTGCTGTTTCTGCCAGCGGT
+AATATTCCTACAGTAAACAGTTCTGCTGCATTGGCCAGCTCTCGCACATTATTTGGCCACATGCGGCGCA
+TCATCTCTTTGAGCATCTCTTTTCCCACTTCCGGAACAGGATGGTTAAGCCGTTGACATGCCTTACAAAG
+GTAGTGGCGAAACAGTGGTTCAATATCGTCGGGGCGTTGAGTTAATGGCAGGCAAGCGATTTGTGTCATT
+GCAAAGCAGTAATAGAGCTCCGCGATGATATGGTTGCTGGCGGCCAGCTCGACCAGCGAGGTGTCTCCAA
+TACCAATCAGGCGAAAAGGTCTGTGTTCCTGGCTTTGTAACTGAACCAGATGGTACTGCTGTTCACGCGT
+CAGGTGTTCAGGATGGCTGAGCACTAATGTTCCCCCCTGAGCCAGCGCAATGAAATCATTAAGCTGTGGT
+GCATTGTCTGGTGTCAGCTCGCGGTAGACAAATTCGCCTTGTGCATTACGTCCAAATTGGTGCAGATAAC
+GTGCACCGGTCATCCGTCCTGTGCCAGGGGCACCGTAGAGCCAGACGGCAATATCTGTCTCAGACAACTG
+CTGTAAACGTCGCCGATACTGATTTATCCATTCACTTCTCCCTATCAACTCCACCTGCAATGTCTGTTGG
+CAATACTGACGACGCGCAATGATTGATTGACGCTGGCGTAGTGCCTCTTCAACCAGAGAAAGCAATTTGC
+CGGGATCGACCGGTTTTTGCAAAAAATCCCACGCGCCTTTTTTCACCGCATCAACTGCCATTGGCACATC
+GCCGTGCCCGGTGATAAGCAGAATGGGGAGCTGTTGATCATCCTGGTGGAATAACATCATCAAATCGATA
+CCAGAGCAGCCAGGCATACACACATCACTTAGCACAATGCCTGGCCAGTCTGGTTGTATCCACGCCTGTG
+CCTCAAAAGGATTGTTACAGGCAAAAACACGATAGCCCGACTGTTCAAGTAACTGTGTGTAGGCGTCCAG
+CACGTCAGCATCATCATCAATCAGCAGAATCGAATATTCACTACTTAGCATCTTCCACATCCGTTAGTCT
+GAATTGCAGTACCACACAGGCATTCCTGGTCATCGTTGATGCCAGCCGCAATTCCCCTTTCATTTGCTCC
+ATCAACGACACACAAATTGAAAGACCAATACCCAGTCCTACTTCTTTACTGGTGGTAAACGGCTTCAATA
+ACGAAGGCAACAATGCCTCAGGCCAGCCCGGGCCATTATCGCCAATGAATACGTTCAGCGTTTTACCCTG
+CATTTGCCAGTTAACGGTAATGACAGCGCCTTGCCCACAAACATCAAGCGCATTCGCCAGTACGTTAACC
+AGTACCTGCTGGGTTCTGACCTCATCGCCTGAAACTGTGGCTGTACCTTGCGGCAGAACAAGCGTAGCTT
+GCAGAGAGCGATGACGCATGGCTAGAAGTTCCCAGGCCGCACTGAACATCTGTGCTAAATCAACGGCATG
+GAGTGATGTTTCCAGTTCGGCGCGCCGGGTAAACTGCCGTAGTGAACGGATAATGGCGTCAATACGACTA
+ATCACCCCTTCGGCTTTACCAAGCATCATGCTGGCCTGTTCTTTCTGGGTCTGTTCAATGGCCCTGCGGG
+CTGTAAACAGATACATTGACAGTGCATTTAGCGGCTGATTGATCTCGTGGGCCAGCGTGGTCATCGTTTG
+CCCGACTACCGCCAACTTTGCTGTCTGAATCAGTTCATCCTGGGTGGCACGCAGATCGGCTTCTATCACC
+TTTCGATCGGTAATTTCTTGTTCAAGTTGCTGTTTTTGCACATTGAGCTGCCCGAGAGTATGGCGTAATA
+ATCCTGCAATTCTCCCCAGTTCATCATTCCCATAAACAGGAATAGTCGTTTCCGTGCCTCCCAGACCAAT
+TTGCACAACGGCCTGATTCAGTAGGGTAAAGCGTTTCACCAACCGTGAGCGGATAAAATAATGGTTGAAT
+ACCCATGCCAGCAGTAACGCCAGTGCTGTCGCCACTAGGATCAGCCCACCGCTAACGCGAACAATTTGTT
+CCATTCGTTGATTAAACATCTGCATTTGTTGATGAGTACTGCCAAGCTGCGCTTCCAGTAACGTTCTGAA
+GCGACCCAGTGTCGCTTCCCTGGTGCGACTGGCATCCTCTAAGGCTTTTTGGGCGGCGACATATTCACGC
+ATCGTATCCGGCATTTTATTTTTTACGATTCCCATATCCAGCAATTCATCGATAGTCTGCCTCAGGGTAA
+TGGTGCCAGGCCAGTCATCCAGCATACGTATATTTTCATCTGCCGTTTTTTTCAGATTTTCAAAATAACG
+GAGATGAGTTTCCACCTGTGTGTCGTCATCACGTCCTGATTTGAGCTCATTGAGTCTGTCACGCAGATCG
+TCAACAATCTGATTTTCAATGCGTGCCAGGGTATAAACCTGCTGCTGTTCATTTTGCACTTCACGAGATC
+GCTTCAGATATTGCGCCGTATCGCCCTGTCGGGAGGCGATTTGATCCAGCAGCGTTCCCTGCTGCCAGGT
+GAAATCCTGCACTAAAGAATTAAGCTCGGTAGTAAAGTCATCGTGTAACCAGTCAATCCGCGCTGATAGC
+TCACTCACCTTTTCCCGTAGTAAAAACATGTTGTAAAGCGCACGATCCAACTCGGATAACAGTGATCGAC
+TGTCCCGCAAAATGACCGTCAGTTGTTGGCGTTCCCGGGATGACAGTCCCCGACTAAGCCGTTCTATGGT
+GTCGAGATGCTGAATAATCTGGGTACGAAGTTGCAATCGCACCGTGGTGTTGGGAGCCTGCAAAAATTCA
+TTTAGCTGGTCTACCACCAGATTCAGGTTCCCTTCAATAAGGAAAGCAGAGTGAATACGGGGAAAATACT
+CATCCAGCGAGTAACGAATTTGTGAGCTTTGTTCGTGCCATGAATACAGACTGACACTACTGACAATCAG
+GGTCAGTAGTGCCCCCATCAGAAATGCGCAACGTAAGCTGGTACTGATACTGACCTGTCTTAAACGCTGC
+CACAGCGTTATGTTTTTCATTTCAGCTCTTCCAGTTTTTTTATCGCCAGGCGCTGGTTATTCAGAAACCA
+GAGTTGCCATTTCATCATTTGCTGCTCGGTAAAACTTTTGTTATCGAACTGTGCCAACCAGACGGGATCT
+TCACTGCTGGCCGCTGCAACGGGCACTTGTGTTAACAGTGCACGTATTTCTGGTAATGGTTTCTTCAGGC
+GTGCCTCGGTACTGTGCAGCGCTCGCCAGGCATCTTTTAGCTGTGCTAACCGAAAGCTAATTGCCGTATC
+AAACAAGCGCTGCACCAGACTCTGACGTTTCAGGATAAGGTGATAATTCAGCGGGGGTTGATTCATCAGG
+AGCTGTTGTTGCGTTGCCCGCGGATTGTCTGCGGCAAGTGGTGTCACCGGATATTTTCCTGTATTGGCAT
+CGGCCAGAATACGCTGTCCTTTCGGACTTAACAGGTAGTGAATAAAGCGACGGGCTGCATCGGCGTGTGG
+GCTTTTCTTGAGAATTGCAACGTAGGTGGGAGATACCGCAGACCGGGGGAAATAGGTAAAAGAGAGATGG
+GGGTCATTTAACAGTAAATTAGCATAGTTATCGATAACGGGGCCGGCAACGCCGAGTCCGCTTTTTATTT
+TATCGGCTACGCCAAAACTGCGGGAGGAGATTGTCACCAGGTTTCCTGCACTTGTCAGCAACGTTTCCCA
+TCCTTTCACCCAGCCTTTTTGCTGTAGTAATGACTCAACCATTAAATGGTTAGTATCTGAACGCGACGGA
+CTACTCATCAATAAAGCGTCCTGATAGATCGGCAAAGCAAGATCGTCCCAGTCAGCAGGGGCAGGAAGGT
+GTTTTACAGAAAGCGCAGGACGATTAATAAGCAGACCAAAACCTGATATTGCTACTGCAACGGAGGTTGC
+ACGGATCGACTCCGGCACCAGGTTTTGGCTTTCTGCGGGTGCATCATCAAACGGGGCCAGTTTCTGGTGC
+TCCTGAAGGTGCTGGAGCAGCATTGGTGATGAGGTCAGGATCAGATCGACGTTTTCTACGTTGGCCGTAT
+AAAGCAACTGTTCCAGTGAGGCACTGGTGCGGTTAAGCGTACGGATCATTACCGACTCAGGCTCTGTTTG
+CCAGCGCTGTATTATCCACGCGGTAGCTCCGGGTGAGAATGTGGTGGCCATCACCAGTTCATTTCGTTGA
+GCCCTGACGGCCCCGGTATCCATCAACAACAGTAAAAGAATCATGGTTTTGATGCCGATTTCGCACCAGC
+TAAAAAATCGGTTTGTGATCCAGGTCATAAATATTAATACACCGCAAAAATCGCATTGAGACAAAAATTA
+CCCGTTTCAGACACTTCGTCTGATAACACATCTGCTCAAAGAGAGCGTTAATATATTAATCAGTGATTAC
+CCGATAATCAGCATGAGATTTGTTAATATCCGCACATGCTAACAATAAAACAGATAAAGCATAAATCTAC
+CCTGTCTATGCATCAATAAAATGGGTCAAAAACATGCTTTGATTTTATTAATTTGTGTCAATTGTGACAC
+ATTTTTTCAGTTTGATGTTTCATCTCAATTATATAACTCTCATTGTCAGAATACTCCAGGTGTTCATATC
+AATATAAAATACAGGTGAAGACATGTTATCAATATTTAAAACGGGGCAAGCGGCGGATAGTGTTCCGGCG
+GAGAAAATTCAGGTGACATATCGTCGCTATCGTATGCAGGCGTTACTTAGTGTATTTCTGGGGTATCTTG
+CATACTATATCGTGCGTAATAATTTCACCTTATCGACGCCTTATCTTAAAGAGCAATTAGATCTCAGCGC
+CACACAAATTGGCGTACTGAGTAGCTGTATGCTTATCGCCTATGGTATCAGCAAAGGAGTGATGAGTAGC
+CTTGCCGATAAAGCCAGTCCGAAAGTCTTTATGGCGTGTGGGCTGGTGTTATGTGCCATCGTTAACGTTG
+GCCTGGGATTCAGCACCGCATTCTGGATTTTTGCGGTATTGGTTATTCTGAATGGTCTTTTCCAGGGAAT
+GGGCGTTGGTCCTTCTTTCATCACTATTGCTAACTGGTTCCCTCGCCGGGAGCGTGGTCGGGTTGGTGCT
+TTCTGGAATATCTCTCATAACGTCGGTGGTGGTATTGTTGCACCCATTGTTGGTGCCGCTTTTGCCCTAC
+TCGGCAGCGAGCACTGGCAAAGTGCGAGCTATATCGTTCCGGCCTGCGTGGCCATCGTTTTTGCGGTAAT
+TGTGCTGATTCTCGGTAAAGGTTCCCCACGTCAGGAAGGTCTACCCTCTCTGGAAGAGATGATGCCGGAA
+GAAAAAGTCGTCCTGAATACCCGACAGACGGTAAAAGCACCAGAAAACATGAGTGCCTTTCAGATTTTCT
+GCACTTATGTATTACGCAATAAAAATGCTTGGTATGTCTCACTGGTTGACGTATTTGTATACATGGTACG
+CTTCGGGATGATTAGCTGGTTGCCTATTTATCTGCTGACGGTGAAACATTTTTCTAAAGAACAAATGAGC
+GTCGCGTTTTTATTTTTTGAATGGGCCGCAATCCCTTCCACGCTACTTGCCGGTTGGTTGTCAGACAAAC
+TGTTTAAAGGGCGTCGTATGCCATTGGCGATGATTTGTATGGCGCTGATTTTCATTTGCCTGATTGGCTA
+CTGGAAAAGTGAATCACTGTTTATGGTGACAATTTTTGCTGCCATTGTTGGTTGTCTGATTTACGTTCCA
+CAATTTCTGGCTTCTGTTCAGACTATGGAGATCGTGCCCAGCTTTGCTGTTGGCTCCGCGGTAGGTTTAC
+GTGGTTTTATGAGCTATATCTTCGGTGCATCTCTGGGCACCAGCCTGTTTGGTATTATGGTCGATCATAT
+TGGCTGGCATGGCGGATTTTATCTTCTTGGCTGCGGTATTATTTGTTGCATCATTTTTTGCTGGTTATCA
+CATCGTGGTGCAATTGAACTTGAACGTCACAGAGCCGCATATATAAAAGAACACTGATTACCTTCCCCAG
+GGCCATTTCCCTGGGGAGTGGAGCATATTATGATTTATAAGATATCTGGCAATCAGAGATTAATATGGAG
+ATTTTATAAAACTGATGACAATAAATGGAGGTGGTATTGTCATGAGAAAAATGGATATCTTATTTCTCAA
+TCAGATAACGCATATAATTCGCAATTGTTATGCATTAAAAATGCTAAAAAACAGGGGTACTCAGACGAAT
+CAGTCTTGCCACTTTTTCTACATATTTCCTACATTCAGGAAAAAGGCTGGAAATGGTATCAATATTATGA
+CTGTGGATATATCGTAAAACAAGCATCTGTTTTCTTTCCGACATACCAAGCATGTATCATTGATGCTGAA
+CAAGAATGTATTGGTATACTAGTTCAACTGTCTGAAAAAACTTGAGCCGCCCCTTGAAACGCCAGACAGT
+GGATGTATCTTAAAATAAGAGATAGGCTTGGATATATGTCTAACACTAGTTCTAATTTTGATATAACTGG
+AACTTTGCTGGGGCAGGAGCTTCGTAAACGTAAAACTCCTCAGAAAAAAAATTGCCATTACTCAGCAGAC
+AACGGAGCCTGGCATGACGGTGTCCCATGTGGTGCATTTGCATGGTATTCAGCCCAGTCTGTTGTTTAGT
+GGAAAAAACAATACCAGGAAGGAAGTCTCACTGCTGTTGCTGCCGGAGAGGATGTTGTTCCTGCCTCAGA
+ACTGGCTGCCGCTATAAAAAATAAAAGAGTTACAGCTCTTGCTGGGTAAAAAAACATGGAAGTTGAGATC
+CTCAAAAAAGCCGCGGAGTACACCACTCTACTGTAGTTGCGCAAAGTCGGAGTGGACGATAATGTGATCG
+TCTATAAGGGCAACGCTATCATAGTCTTGTTCTGGCGCGTAAAAAAACGCGCTTACCTTAACGATAAGCG
+CGCCGCTGTTCAGGCCTTGAGTGGTTATTCAATTCCTGTGGTGACTGTAAAAGTGCGCGTTTGCTGCGGT
+GCAACCTGAATCAGCGTTCCATTACGTTGCGCGGCAAGATACCCCTCAGGCCGACAGGTTGCAGGTAATG
+CAAAGGCGGCTACCTGTTGCTCGCCGTTATAAAGGATCCAGCGTGTCACATAATTTAGTTCGGCACTGGA
+GAAACGAGTAACAAACGTGGTGCCATCGGGAGCGATCATGCGAAACTCTGGCTGATCTGTATAAGCGTCC
+AGTTTGTCTGCAAAGAAGACAATTTCTGGATCATAAAATTCCGGTTGATTCAGCGTCGACAGAGAGGCTT
+CTCCCTGCATAATCCGTTGATTAAACGCCAGCCACTGAGCGGTGGGATTAACATGCGAAGGCACTGATTC
+ACGCAATCTTAATATTTCGTCCGGTATATTCTGGCTGAATATAGCATTTGGTATATATGCATAATTCATA
+TGGCACATATATTGTAGTGGCATATCTACAGAAGCCAGATTGGTTACGGCCATCTTAATATCGAACAGTG
+TAGAGGATTTGTGAAGGACCACTGTTGGTTGAGCCAGATAATGATGACCGAAACCCATTACATACTCGTA
+ACGTCCGGTAAGGCGTAATATATCTCCCTCTAATTCCATCCATGCTTCATCCATCGCGGCACAGGCCATT
+TCACCGTGTAGCAGATGAGTATCTTCCGCAGATGGGCAGCCATTAGCCAGCAAACCTGAATGAAAGGCAA
+AACAGCCATAGGTCTCTATCACCTCTGTCGCCGGTTTAGGCTGGCGAAACATATTGCACATGGTGAGACT
+GTGTCCATCAAATTGCGCATCCCAAATCATCTGCCCCATCCAGGGAAGAATAATTAAATGTCCACGACTG
+TTTGCAATTTTAAGCCCCTCGACACCACTGTCATAGCGAAAAGACGTGACAGTAAAATCACTATTTTCCA
+GCAAGATACGAGGTTTTTCGCCAAAAAGCGCCCGCCACAAATAAATACGCGTACTCATAACGATTCTCCT
+CAGGACTCTGTGACTTCAGCCAGTGCGGTACGTACTTTGCTTTCACGCCAGAAGTAGACACCGACATAGA
+CAAAACAGAGCATAGAAACCAGGAATGAAAGCTGTAGTGAGTGGAACATATCTGCAATATATCCCTGAAT
+TGCCGGAACCACCGCTGCGCCAACAATAGCCATAACAATGACTGCTCCTGCCATTTCTGTATGTTGGTTA
+TCAACTGTATCCAGTGTTCCTGCATAGATCGTCGCCCAGCAAGGGCCAAACAAAACACTTACCAGGACGG
+CGACATAGACCGCGCTGAAACTTGGAGCCAGTGCAACATATGCCAGAAACAGCGCCCCTATAACGGAATA
+GAGAATCAGGACTTTTTCCGGATTAAAACGAGTCATAAGGATGTTGGCTATAAACTTGCCAATAAAGAAG
+CAGGCAAAGCTGTAGACCATGAAGTTTGAAGCATCACGTTCGTTGATATCGCCCAACTCCAGCGCCAGAC
+GGATGGTAAATGACCATACTGCGACCTGCATACCCACATAAAGGAATTGAGCCACAATACCACGACGAAA
+GCGCGAATTTTTAGCCAGATAGCGCAGCGTATCCATTGCTGACGGGCGTTTATGGTGACTTGTCTGTGCC
+ACTTTACAGGTTGGGAAGCGGGTTAAAAGGAACAACACCATGACCACAACCAGAATCATAATCATATACT
+TATACGGTTCAAGGGTGTTCTCTAACATCAGCACCTTAAAGTTGTGAATTTGCCCGGCGTTCATTCCGGA
+CATCTGCTTCTCAAGGCTTTCCCCCTCGGAGAAAACCAGATATTTGCCCAATAAAATACCAGACGCAGCA
+CCAATCGGATAAAAGGTCTGGCTGATATTGAGCCGCAATGTGGCGTAGGCTTTTGGACCAATCATCGAAC
+TGTATGTGTTCGCTGCAGTTTCAAGGAAGCTCAGGCCAATCGCAATCGCAAAAATAGCCGCAAGGAACAT
+AGTGTAGGTTGCCATATGCGAGGCAGGGAAAAAAAGTGTACAACCACCAATATACAGCGTCAGGCCAATT
+AAAATTGCCACCTTATAACTGGTCTTTTTAATCACAAGGGATGCTGGTATTGCAATTAAAAAATAACCGC
+CATAAAATGCGCTCTGCACCAATGCTGAAGCAAAGTTACTTAGCGAAAATACACTTTTGAATTGAGTGAT
+TAATATGTCATTTAATGCAGCTGCGCATCCCCATAGCGGGAATAAACACGATAACAAAATAAACTGGAAC
+AAGGGAGTCTTATTCAGATACCCATCAGGCATCTGAATGATGTTTTTATCGTTCATAGTGCTACCTTTAA
+CTGTGCAGGATGATTATTCGTTTAATGTTAAAAATTCATTAAATTGTTCAATGCTCGGATAAGATGATTG
+CGTACCTTTCCCTGTGACGCTGAAAGCGGCAAAGAGAGCGGCTTTTTTCAAAGCGGCTTCAACATCACCG
+CTTTGAACATAATAATGGGAAAAGCAACCAATAAATGCATCACCAGCGCCACTAGTATCAACAGCATTTA
+CTTTGAATGCAGGAACATGGACTTCCTGATCGCGGGTCATCCATAATGCGCCTTTTTCGCTCATGGTAAC
+AATAATATTGTTCAGCCCTTTATCAACTAACGAACGCGCAGCCAAACGAATATGATCATAAGTATCAACC
+GACATACCGGTTAATATTTCCAGTTCTGTTTCATTCGGGATAAAGAAATCACATTTGCAGGCATAAGACA
+TATCTAACTCACGCAATGCCGGAGCCGGATTTAATAACACTTCAATACCATTTTTCTTACCAAACTCAAT
+CGCGTGGTAAACTGTTTCCAGTTGAACTTCCAGTTGTAAAACGATCAATTTGCATTTTTTCAGATCTTCT
+GCAGCTCGATCGATATCTTCCGGGGAAAGAAATTTATTCGCCCCCTTAATTATTAAAATACTATTGCTCG
+AGTTAGCATTAACAAAGATCGGCGCAACACCACTGCTGGTACAGGGGACTTTCTCAACATAAGTGGTATT
+AATTCCCCAAGATTCAAGATTACGAATAGTATTATCCGCAAAAATATCATCACCTACTTTAGTCAGCATC
+AGGACTTTTGAATTCAATTTAGCCGCCGCCACCGCTTGATTAGCACCTTTCCCACCACATCCGATTTTGA
+AGGCAGGTGCTTCCAGAGTTTCTCCTTCTTTAGGCATCTGATTAGTGTAAGTAATGAGATCCACCATATT
+GGAACCAATAACTGCAATGTCCATTTCACTACCTCTTATAAACTTTCGCATAACAATGGTATTTAAATAA
+CATTATCATGTTACTTTTGCATCATTTGTGACTGAGATCGCGATTAGCACATCAACCCGATGTTTATTTA
+ATAGACTTCCAGTCTTATCACTCAGGCCAACACTATCTAATCATAAGCAACCTAACAGGATTAATACCGA
+AAACTCAGCAGGCTATACCCTTTTCATTTCAAAGGGTCGGTCGTATAGTATGGTAACTAAAACAATGTTT
+ACTAATGCCATAATGTTATTTTTATAACATTTTTCGGAGGAAGAATTGATGGAAACGAAGCAAAAAGAGC
+GTATCCGACGTTTGATTGAAATACTTAAGAAAACCGACAGAATCCATTTGAAAGACGCGGCACGAATGCT
+GGAAGTTTCTGTAATGACTATTCGTCGTGATCTCCATCAGGAAGATGAACCTCTGCCATTGACCCTACTG
+GGTGGCTATATTGTAATGGTGCATAAACCCGCACCATCCATGCCAGTAATCCAGGACGTTCCGAGAAATC
+ATCGTGATGACTTACCTATTGCAATTCTGGCCGCCGGAATGGTTAATGAAAATGATCTGATCTTCTTTGA
+TAATGGCCAGGAGATACCGCTCGTTATAAGCATGATCCCGGATGCAATCACCTTCACTGGCATCTGTTAC
+TCACATCGTGTCTTTGTTGCGTTGAATGAAAAACCTAATGTGACAGCAATACTTTGTGGTGGTACGTATC
+GTGCCAGAAGTGATGCTTTTTACGATGCCAGTAACTCTTCGCCATTAGACTCTCTCAATCCGCGAAAAAT
+ATTTATTTCCGCCAGCGGTGTACATGATCACTTTGGCGTCAGCTGGTTTAATCCCGAAGATCTTGCCACT
+AAGCGTAAAGCGATGGCCCGTGGACTACGGAAAATTTTGCTCGCCCGCCACGCCTTGTTTGATGAAGTAG
+CCTCTGCCAGCCTCGCACCGCTCTCTGCATTTGATGTTCTGATTAGCGATCGTCCGTTACCGGCAGATTA
+TGTTACGCACTGCCGGAATGCTTCTGTAAAGATCATTACACCTGATTCAGAAGACGAATGACTTACTGAA
+AAAACACCGTACTCTTGTTAAACATCGTCGGATTGGACTGATTACGTTGCACTTTCATCACATATTCCAG
+CTTATCAATTTGGCTTATCATCTACTCCAGACGCTGGTCATCATTGACCAATAGTCTGATATGGCTTTTG
+TCGCGGTCCTGAATCGGCAGGCAGAAAATGACTTCAACGTTAAAAGGGCGACGGGAAAAAGCCCACAAAG
+GTGAGTCATTACGCCCGGATAATAAACAGGCTCCTCCCTGTTATGGAATCCGTTGTATTGTCCATAATGT
+CTGGGTTTTTAATGCACACTGGATAACAACCGGACGAATCTTCAAATATCACTGGTGCTGACAGCCGGTT
+TGAATTCATCTCACAACCCTGCATAGAGCGAATCTCCTGCCTGCGCGTCACTCCACTCCATGGTATCAAC
+TTCACACTCTTTATCTGCGGCTAGTTTCAGTCACCAGATAAGCATCGACTATGAAAGGTGAGCCATGACA
+ACATAACGTTGGTAACGCTCTGATGCCTTAACGGAAGATGCCTGCCACCACAGGGAATGTAAACGACTGA
+AGTGTGGCCTTTAATGCCGTGAACGGCTCATGGTCTCCTGGCACGGTTGCCGCCCCAACCTGTAACAACA
+TTCCACAGTACAATGTCTGTCAGAGCCGGAGCCTCCCATGCCTGTTGTAGTAACTCTACCAGTTACGAAC
+ATCCTTCCTCAAAAGTGTTGTCGTATCTCGCATGGAAGAAAAGATCCTGACTAAGCAGCAACACACAACG
+TATTGCGGAACCTGCATGTTTTTCCTGTAACTAGTGTATTACGACATATGGTAATAGCTACCTGTGTGGT
+TTCGCTGGATAACAAGGGGATTTATTCGCAAGTAAAATGCCTGATAAAATACACGAATCTAGTAATCATC
+AATATTTACTCTGGTCGAATGAAGTGTGAAGTGGATTGCCAGCAGATGCGGCCAGTGATCCACCGCCTGC
+TGAACAAAACGCCGGATTTCCCCCGGCTCTGAAAGTAAGGCTTCGGTTATTTGCACTATTTTATCTCTGT
+TGAATTTGGTTAAGTCGGTGCAGACTCATCAACACAAGTACGGTTCGATGCAAACAGCTGTGACTGGCAA
+TATGAAAGGAATGATGAATCAGTCAGGATGACAAAGTGCCGGCTGACCGGAGGGGACGCAGGAAGATTCA
+CGGGGGGACCAGCACCAGGGAACAGCGCCACATCCCGGGTGGTACTGCTTTGATGCGCCCGGTGACACAA
+AGCCCGGATTGTTCCAGACATCCTGAATCAAACGTCCCAGATTAGGGGCGTCGAAATATGCCTCTCTGAC
+CATTATATTCCGGCGTACAGGTAGCAGGTCAGAAGTGACAATGCGTCACCTGACGTTAAAAGTCACTACA
+CCCAAGATGACGTTCAACAGCACCATGCGATTCAATGTAAGCCCGGGCTGTCTGTTCCAGTACACCAGGC
+TCAGCGTTGTATGTGTTAGCTGCATCAAATACCAACGACAGCACTTCAGGATACACAACCAGATGTGTAA
+TGGAGTTATCTTCACCCAATACTTTTCCCCACGCCTGCTCAATCAGATTTCTGAGAACCACCACCTCACG
+ACTCTTACACCAGACATCGTTATTAAGTAGCAGCACCATAAGATAAGGAGTGGTATCGTTAGCCACAGTC
+TCCCTGCTCCAGAGATAATATAAAGGGGTGGGCTCAACAGATTTATCTCTACGTCGCTTACACTGCAAAT
+ATTCAGAAATGAGTCTATGCAGTTCACCAGTAAAATCAGCCATCAGAGAGGGAATGGCCTTATTAAGGCC
+CTGCCCTGGTATTAATTTAAATTGTAATAATTTAATTTCAGGATGTGTGGCTGCAGCCCGATACAGAGTT
+GCAAGGACACACTTTGTAGTGGTCAACAAAAACTGGCCACCGCTTTAGAGTTTTTCCAGTATCGGTTTTC
+CGATTCATTTGGTGGCAACCCACCGTTATATTCGTGCGGCCTGAGCGCGTTGTAATACCCAACGATATAG
+TCCGTTATTTCATGGGCAGCATCGCTGAAGTTCATGTAACCCGTCACCGGTATCCACTCGTTTTTCAGAC
+TCCTGAAGAAGCGCTCCATCGGGCTGTTATCCCAGCAATTTCCTCGTCGACTCAGACTCTGTTTGATCTG
+GTAACGCCACAGTAACTGCCGGAACTGCCTACTTGTATAGTGGCTGCCCTGATCGCTGTGGAACATTACC
+CCGGCTGGTTTACTGCGGATTTCCCAGGCCATTTTCAGCGCTTTGATGGTCAGTCTGCTGTCCGGAGAGA
+ACGACATTGCCCAACCTACCGGTTTCCTTGCAAACAGGTCGAGAACAACGGCAAGGTATGCCCAACGTTT
+CCCCGTCCAGATGTACGTCACGTCGCCGCACCATACCTGATTTGGCTCTGTCACTGCGAACTGCCGCCCA
+AGGTGATTCGGGATAGTGACATGTTCACGACCACCTCGTTTATAACGGTGCGCAGGCTGCTGGCAACTGA
+CCAGTCCCAGTTCTTTCATGAGTCTGCCGGCAAGCCAGCGCCCCATTCTGAAGCCTCTCAGGGTTGCCAT
+TGTGGCGATGCTTCTTGCCCCGGCAGAACCATGGCTGATGTTATGCAACTCAAGTACCTGACTGCGTAAT
+ACAGCCCGTCTGCCGTCTGGTTTTTCAGGACGGTTTTTCCAGTATCTGTAGCTGCTGCGATGAACCCCGA
+ACACATGGCAGAGTGTGACCACAGGATAATGCGCTCTGAGTTTCCCGATTATCGAGAACTGTTCAGGGAG
+TCTGACATCAAGAGCGCGGTAGCCTTTTTTAATATTTCATTCTCCATTTCAATGCGTTGTAGCTTTTTCC
+TCAGCTCACGTATTTCGATTTGTTCTGGTGTTATCGGAGAGGCTTTTGGTGTTTTGCCCTGACGCTCATC
+ACGCAGTTGTTTGACCCATCTTGTCATTGTGGAAAGGCCGATATCCATAGCTTTGGCGGCATCTGCCACC
+GTGTAGTTCTGGTCAACAACCAGTTGAGCGGATTCGCGTTTAAACTCTGCGCTGAAATTTCTTTTTTTCA
+TTGGAGCACCTGTGTTGTTCTGAGGTGAGCATATCACCTCTGTTCAGGTGGCCAGATTCAGTGTGCCACT
+ACACTTTTGCCAGAGGGCGTTACAGGAAAGCTTAACGTTTGATTCTGTATACATAATAAATCACCTTACA
+ACAGGTCAAAAACCGCTGTAGCCAGAGTTACGCTGGCCTGATGCCTTAGTACCGGGCTTCGTCAGATAAT
+CCAGACGCTCCAATAAGCGCTGATACTGCTCAGGGAAATCAGGATCATGAATATCCAGGATGTAACGTCC
+ATTAGCAGGGAAATGAATAATGCAGCCCCCTGGATTAACAATGCAGAAATCGTCCTGAGGCACTGATAAA
+TACGGAGAGGACTCTCGCGTATGGTTGGTTGACACCACAGTGCGGATTTGGCGAATCCGCGATCACGGTG
+CGATTTCGCACCACAGTACACAATCAATACCCCGGGTTTTATTCAGGTAAGCAGGACTGCGGATATCCGG
+TGTCGCGCCTTTGTGTCACGAACGGGGTGGGTGCGAAACACCAGATAAAATGCAGGTTCCGATACATCTG
+AACGCCCTGAGCAGGTCGGGCATTTCGGATTAAGTACTCGCACCTCCGCAGTCCTGAAACAAGTCTGGCT
+GGTAGCTGTAAACAGACTTCGTACATACCGCTCTGCAATAAATCCCCGTACCACAGGCCTCACAGAATTT
+CTTCCCATGAAAAAACTGCTCACACATCACACAATGCCACTCCAGCACGACCGGTAATGGCGATAAAAAC
+ATCGCCATATCCTCAATGTAAGGGTGGGACTTTTCCGGATTCAGCACCACGCAGGCCGCCTTCTGTTGCG
+CGCTCAGGGCATGTAAATCATGCTCAAACCACGCCCCCTGAGCATCTGTCTGCAAAATCAACCGGCCACG
+ACAGGAAAGGCAGAAACACTGCCGGATATTTCTGCTGAGCGCAGAGTCGGCACTGATAATGTGTTCACCC
+GGCGTCATCCCCAGCCCCGTTTTTATACCGTTCATTCAGCCACTCCCTCCTCACTGAAGTGCCCGGTATG
+GCAGTGAGTGCAGTACCGCTCCCCATAATAATCGTGATGACATTGTCTGCAGTGCCAGCTGGCTTTACGC
+ACCACGGGTAAGGCATCCGGTACGAATTGCTGCAGACATTTAATCAACTGTATTTCTCTGCGCTCCGGCC
+TGACATAAGGGCACTCATGACCATACTCAGTCAGCCCGTCGTCAGCGTGTTCAAACCCGGGACATTCAGT
+GTCGTATTGCGGGTGGTATCTGAGTGCACTGCCGCAAAGGTGGCAGGTGTAGCGGGCATAAGGTGCGGCC
+TGTGCAGTACGTGCGCCGGTCAGACGTCCGTTGCCATCAAATGCAATAAAGGATTTTGCGTACATCGTCA
+TATTCCTCAGCCGCCAGACGACACGCAGGCAACAGCCGTCCCGGTACGGGCAGCGTGCTCAGGTGTGAAT
+GGCGGCTCAGTTAAAATCTGGACTGGGGTTTGGGTAAAGCAGGCTGGTTGCTTTTACAGCACTGTGGTTG
+TCACACAATGGCCCACTGACGTAAAAAACAGTCAGCAAGCAGAGATGGACATCGGAGGATGTGCTGTATC
+GGTTGCCGGAAGGAATGGTAAAGAATGTGCCATGGTTAAATCTCCGTATGGTTCATACGGAATAGCCATG
+TCGTAAAAAATGCGCAGAGTCCCTGAAGTGGCCTCCGGAACCGACTGTAACAATTAGCGCCAGCCCGTAG
+TTGTCGTTCAGGGTCTTACACCAGAGAATAAGTCTCCGGCAGGGGGCTGCCCAGTCGCGGTCGATGTCAC
+GAACGGTGCAATAGTGATCCACACCCAACGCCTGAAATCAGATCCAGGGGGTAATCTGCTCTCCTGATTC
+AGGAGAGTTTATGGTCACTTTTGAGACAGTTATGGAAATTAAAATCCTGCACAAGCAGGGAATGAGTAGC
+CGGGCGATTGCCAGAGAACTGGGGATCTCCCGCAATACGGTTAAACGTTATTTGCAGGCAAAATCTGAGC
+CGCCAAAATATACGCCGCGACCTGCTGTTGCTTCACTCCTGGATGAATACCGGGATTATATTCGTCAACG
+CATCGCCGATGCTCATCCTTACAAAATCCCGGCAACGGTAATCGCTCGCGAGATCAGAGACCAGGGATAT
+CGTGGCGGAATGACCATTCTCAGGGCATTCATTCGTTCTCTCTCGGTTCCTCAGGAGCAGGAGCCTGCCG
+TTCGGTTCGAAACTGAACCCGGACGACAGATGCAGGTTGACTGGGGCACTATGCGTAATGGTCGCTCACC
+GCTTCACGTGTTCGTTGCTGTTCTCGGATACAGCCGAATGCTGTACATCGAATTCACTGACAATATGCGT
+TATGACACGCTGGAGACCTGCCATCGTAATGCGTTCCGCTTCTTTGGTGGTGTGCCGCGCGAAGTGTTGT
+ATGACAATATGAAAACTGTGGTTCTGCAACGTGACGCATATCAGACCGGTCAGCACCGGTTCCATCCTTC
+GCTGTGGCAGTTCGGCAAGGAGATGGGCTTCTCTCCCCGACTGTGTCGCCCCTTCAGGGCACAGACTAAA
+GGTAAGGTGGAACGGATGGTGCAGTACACCCGTAACAGTTTTTACATCCCACTAATGACTCGCCTGCGCC
+CGATGGGGATCACTGTCGATGTTGAAACAGCCAACCGCCACGGTCTGCGCTGGCTGCACGATGTCGCTAA
+CCAACGAAAGCATGAAACAATCCAGGCCCGTCCCTGCGATCGCTGGCTCGAAGAGCAGCAGTCCATGCTG
+GCACTGCCTCCGGAGAAAAAAGAGTATGACGTGCATCCTAGTGAAAATCTGGTGAACTTCGACAAACACC
+CCCTGCATCATCCACTCTCCATCTACGACTCATTCTGCAGAGGAGTGGCGTGATGATGGAACTGCAACAT
+CAACGACTGATGGCGCTCGCCGGGCAGTTGCAACTGGAAAGCCTTATAAGCGCAGCGCCTGCGCTGTCAC
+AACAGGCAGTAGACCAGGAATGGAGTTATATGGACTTCCTGGAGCATCTGCTTCATGAAGAAAAACTGGC
+ACGTCATCAACGTAAACAGGCGATGTATACCCGAATGGCAGCCTTCCCGGCGGTGAAAACGTTCGAAGAG
+TATGACTTCACATTCGCCACCGGAGCACCGCAGAAGCAACTCCAGTCGTTACGCTCACTCAGCTTCATAG
+AACGTAATGAAAATATCGTATTACTGGGGCCATCAGGTGTGGGGAAAACCCATCTGGCAATAGCGATGGG
+CTATGAAGCAGTCCGTGCAGGTATCAAAGTTCGCTTCACAACAGCAGCAGATCTGTTACTTCAGTTATCT
+ACGGCACAACGTCAGGGCCGTTATAAAACGACGCTTCAGCGTGGAGTAATGGCCCCCCGCCTGCTCATCA
+TTGATGAAATAGGCTATCTGCCGTTCAGTCAGGAAGAAGCAAAGCTGTTCTTCCAGGTCATCGCTAAACG
+TTACGAAAAGAGCGCAATGATCCTGACATCCAATCTGCCGTTCGGGCAGTGGGATCAAACGTTCGCCGGT
+GATGCAGCACTGACCTCAGCGATGCTGGACCGTATCTTACACCACTCACATGTCGTTCAAATCAAAGGAG
+AAAGCTATCGACTCAGACAGAAACGAAAGGCCGGGGTTATAGCAGAAGCTAATCCTGAGTAAAACGGTGG
+ATCAATATTGGGCCGTTGGTGGAGATATAAGTGGATCACTTTTCATCCGTCGTTGACAGTCGACCCCGAT
+TACTTTTTTCAGGAAGCCCGCTGCATTTCAGGATGATGCCACATTCTTTCTGTTCTCGTTTGGCCAGGTA
+GCTGAGGGCATAGCGTAAGGCATTCACCGCTTTGTGATCTGAATAGTGAATGACGTGGTTAATGTTTACC
+GGATAATTTTTATTAAACCGGCACCAGTGATAGTAACCATCCCCCCCGGTAACCCGCCTCCAGATATCTC
+CCATCAATCTGGATACCAGATACGAACTCCTGTGGCTCTGACCGTTCAGATAGCCCACAAAATGAATGTG
+AAGCCCTTTACGTTCCGTATATTCCATTACCCAGGCATACCCGACCAGTTTCTCTCCCACTTCGTTAATC
+AGTCGCAATATCTCCGCGCACATGGCGTACCTGCAGGCACACCTGTAGCTGAGGGTGTTTTTTCGGTAAG
+CAAAATCCATTCTGAACGGTAACAGTTTCGAATATACCCCGAATAATGAATCCAGATGCTGGTTAAAGTG
+TGTCAGAAGCTGGGGATCCATTTCGTAACCGGGATTGGTGTTGTAAGTCTTCATGTTTCTGCCTCGTGTT
+CTGTAACACAGGAAGAAGCGCTGGCGTAATTTTTGAAGAAAACGTTATCACACGAAGACGTGCAAGTTCA
+CAACTTCCCGGGCGCCACAGAGGAAGTGAGACCACACCCGGGTATCAGAACCATACAGAGAACGGCATAC
+GTGACAGTCAGTCACAGCGCAGATAATATCTGAAGTGATGTCATTGTGACGACTGTACTTCATCAGAAAC
+ATTTATCAGGTAACATATTTCCAGACTGAAGCGGGAACACGATCGTACAGTTTGTTCATGGTCAGTTCTG
+CCAGCCGGTGATCGACCGCAGAGTTGAAGGCTTCCATCTCCGCTGGAGTAAGCTTATAACGCGTGTGGGA
+AATCACTTTTTCTAGTGTCTCCCGGGATGAACAACGGCGAAACTGATACAGCCAGTCTTCTTTGGTCTTA
+ACTTCCATTATCCTCTCGTTATTTTGTGCTGTGATTAACGTTAACATAATACCATCAGAATAACGTATTC
+TGACGTCATCCCGGAAGTCTTTCCACTTCCCTGTTTCTCCGGTAAAAAATATTTTTAATACTGAAGGTAT
+AAAGCCATAACCAGATATTGCAATTAACGTAGCGTTACACATATCAACGTACTACATGAGTAACAGAGGT
+ATAGGATTGAACAACACTCCGGAAGACTTTTTAATGACATGAGGCATACTCTTTTACGTATTACTACCAA
+AACTCATCAGGTGAGCAGCAGGAACAGATCATTAACAGTAATTCCTTAATCACCGTTATCCACAGTATCA
+ACACTGGCGAAGTCATACTCTTATTTAGCCAGAAACACTTACACAAACGCACAAAAGCAATGGCGGACCC
+AGAATAGTCTCCACACAACAGGCATTACTTAACAAAGTACGTTACAGTCAGTGTGTGTACATTACAGATT
+TATATTCTGGTGTTACGGGATTACATTGCAGCAGAGAGAGTTAAGGACAGTGTTACAAGTACTACAGAGA
+ATATCGCTGCACAGATACTTCTATGTGATAGACTTCTACAGGACTTGGTTACAAGGTGTATTTACGAGGT
+AGAGGTAGAGGTAGAATTACATGATAGAATTACAGGGTTCATTTACACGGTAGAATTACATAAATATACT
+TCTATAAATAATACTAATTAACCTTTATTATTTTTTAATGGTACATGAACTGTATGTAGCTGTAACGATA
+AACAAATCACCCAAAACGAAAAATACTGGTTATCATAGTTCAGAGAACTCATACGAGTGGCAGCTTTCCC
+CTGAGCAATGCTTCATTTTCGGTGGTTCTGTGTGATAGAGTTATGCTGACTACAGTGGCAGTAACACTAC
+TTTCCACTACACGAGGATAAAACCAGTCAAAAAATCAATTATATGAATTAAAAGTATTTTTTATGAAATG
+TTATGCATATCAACCAGTATGATTAACAGAAAATTTCATCATGACAACACGTATAACTTTCAACATGACC
+AGTGATGAGACGCTGCGAATTGTGGATGAGTACTGCCATACCCACAAACTTTCGCGCTCTAAGGTAATCG
+ACGCATTACTCAGCGCCACAGCACCTGTCCTTAACGATATTAACTGTTATTATCAACTTGCAGGCAAACT
+GCAGTCACGCTTATTAAATGGAGTGTATCAACGGGATCTTCCCCACAAACGCAATGTCGTCAGTGCAGAG
+AAGTATTGTCTGGAGATCTGGGAAAACAAACTTTTCACCAAAAGAATCCTGGAGTTTGACTATTCAAATG
+GTGTTCTGTACGCGCTGAAACATAAAAGACACTATCGCCGGGATAAGATGATTGGAAGGGTTGAAAGTCG
+GTATATCAAAGACATTTGCGAATACCAGATGCAACTATCCGGGGAGAAGACGAAATATGCCTGTTTTATT
+TATATAGAAAGAACAATATACAATCACGATAATCCACCTGATGAAACACCTGTAAAATCGGCTGTTGGTA
+ATGCAGTCATCCTGCTGGCAAAGGATGTGATATATAACGAGTACTTTTTTGATCTGCGGAAGTCATTTTT
+CGTGAGCGTTAAAGATCTGATGGCCTCTGGCACAAAAGGTATTCCGGAGACACAGAAATATCCTGACGTT
+TATTGCTGGATCCCGCTTTTCTCCATAAATTACGGCGTGGTCATTACCCCGGTCTATAAAATTGATCCCC
+TGAAACCCGTAACGGTAAAAAAACCGGATAAGATCACTGTTGTTTGTAATTACAGAGAATAATCTCAGCC
+TTCTCCGCTCACCGCAACAGTGTTTACCTCGCTTTATCTTCCGTTCAGTCAATACAAACCACCGCTCTGG
+CAGGTACAGGGCGTGGTTTCTCTCCGGTACTCCCCTGCGCAGTAATAATCATCACTGAAAATACTGATTC
+CGTCACGACAAAACGCCATCCCATATTCCGGCAACACAAAATCATCTTCCGTTTATACCGGCTTCACTGA
+CAAAACAGACAACCTGTATTGCCTGTACACAACCGTTTCTCTCCTGGCAGGAATATTCCCCTACTGATTT
+TTTACGTTTCTCCCCGGTTGTTATGCCGGTGAAGGTGGTGCGTTGTTTTCATCATCAACGCCGGTTGAGA
+TTAACAACATCCGGAGGAGATTTTTATGACCACCCCAGTTTCGCTGATGGATGACCAGATGGTCGATATG
+GCGTTTATCACTCAGCTGACCGGCCTGACCGATAAGTGGTTTTACAAGCTCATCAAGGATGGGGCCTTTC
+CTGCGCCCATCAAACTCGGCCGGAGCTCCCGCTGGCTGAAAAGTGAAGTGGAAGCCTGGCTACAGGCGCG
+TATTGCACAGTCCCGTCCGTAATTTTTAACCACTGCCCCTTCACCCACAGCAGACGCAATCTCCGGCCTG
+CCGGCGGCGTTCTGCTGCCTGTTATCCCCCGTAAGGAATATGAAAATGAAACCACAGTATCAGACCCGTT
+ACGAGCTGCTCCACGAAAGCTACCAGAAATGGCTGACCGGCTTCACCCGGCACGCCGTATCCTGGGGCGT
+GTGTCATCCGAATATCCACTACTTCCATAATCTGACGCCCGGGTGGGTGTCATTCAATGGTGAAAAACCG
+GAGATTGCCATCGTCCCCCGGAGTCTGCACCGGCTGATTTATGGCTCTGACAAACGGGCCACGCCGCCCC
+TGGATGATGATCTGGTGGTGAACTTATGCACCAGCGAACATCTGCTGGTTCATCATCCGATGCTGGAAGG
+CATTCTGCTGTCTGAATGTGAACGTCTGAGGCAGCGTTCTCTGGCAAATAAACTGATCAGCCTCTTCCGT
+CAGTTTGGTGGCACTGAGTTGCGCCTCAAACTGGTCTGGCTTTGCTGGCTTGATTTAATGACCGGAAACA
+GCCTTGACGACTGGACGGAGAACCTGAAACGGAAATCAGAAAAAGAGCTGGGGGAATGGATCATCGACCG
+TCAGAAGCAGAACGCAGCACTGGCGGATCTGATGGATCAGTACGTGCTCCTGGCATACCGCACAACGGTT
+GACGATAACCGTAACTGATGCCGGTTGCTTCCGGAAGGTGCGGCAAAATACGGGAATGCTGCTCCCGGCC
+CCGCATGCTCACCTGCAGAGCGGGGGCGTCGTCATACTGAGCCATGACGGATGTCTTAAGGGCATCCTGT
+CACTGCTGAGCTGGCATGCTGCGGTACATGCCTCTCCTGGTGACAATAAGTACATGGCGACAGCGCTCCC
+TGAACCGCGGAAGAGATGTACACGGCCGGACGCCGTCAGTGTATACGGGTAGACGTTCCATGCTGCATGA
+CTACATCCGGCCCGGATGTCAATGAGTCCGTCAGGAACGCTTCGCTTCGAAACCCGGCCTGGATACCAGC
+GCCGGCATGCCGGGAAGAAGTTGATATGGTGGTTGCAGGGCAACAGCAATCCTGAATCAACTGCTGCATC
+ACTCAACCACGCTGAATATCAAAGGAGAGCGTGACCAGTTAAAAGAGAAACGCAAATCTGTAGTGCTGCA
+CAAAAACACAACATCAGTCAGTGAGGATGAAATGGTGAAAAGCAGACAGCATCAGTATTGAAAATATCCT
+GGCTGGCATGAAAATGGCCCGGCCCGTGGCGTTGACATATTCTCTCCTGAGCATCCTGAATGACTGCAGT
+TACTGTGGAAAAGTAAGCAGTCTCCACCCACGGCACCACTTAACAGACATTCAGTAACTCCCCCCGGACT
+TTCTATGATGCATTATCGGTGCACTGAATACAGGAGAGTGCGCTTAAAACCGCAGACCGCATTGCGGGTG
+TTACTGCATGACTGCCTGGCGGTATTGTGAGATGTCGGCAGGAACCGATGTCTGCGCAGGGGGAACTTCC
+GTGATCGGGATAAGTGCAGAAGAAATCAGATCACGACGTAAACCTGCAGTGCCTGACGCTGCAAGTGGCA
+TTAACCATGGGACGTTGCCGATCCCGGATTGCGGAAACAGGAGCACTATTTTCTGCCGCGGGGAGTACCT
+CTGGCAGTAAATCCGGCTCGCTCATCTGACCGTCTCTCTCCCGGAAAAGACCAGAAATGAGATCGTCACC
+TCAACAGCAGGGAAGATGTCTTGACAGACTGGTTATATTGCATACGATTTATGAAGAAAAAGACAGCAAA
+TATGGAGGCTATAGCGGAGAACACCCTACGAAATTCCTGCGGAAAACGATTGAAAAAACGATCAGATTCG
+ATTCGTTTTTATATGCTTTTTGGGCACGTGGCGATGACGAACTGTTGCATGTGCAGAGGAGAATGCACCC
+GGAAGCACCAGAATCATCCAGAAAGGCAGAACGATTACGCATCAAACCAGGAGACAGCAATATCAGGATA
+ACATACTGATTTAAAATGAATTTACAGCAATACGTGAAAACATTTTTTACTTAAAGGAGACAGATGCGCT
+GAAGACAGTGCAGGTATTTTTATATAAAAATGAGAAGGTTACGGGATGTCTATCCGGCACACTATGACCG
+GAGAATATCAGTCAGGCTTAAAAAGACAATAAATACAGTGAGTTAAATACACAGAGAAAACGAAAACGTA
+GTATCAGAGGGTACATCTTACAACAGAGACTGAATTTCCGGTTTTTCATAACCGGCACATTCCGGAAAGA
+GCAGGCTAACCGGAGGCTTTCTGACACCAGTCCCTGGCAGTTTAATCTGTACATCATGTACGGATGTTTT
+GTTCGCATTTTTAAAATCGGCAAAAATGCGAGAAGAGCAGCTATATTGTGGATGAACTGAAAAGTGCCAG
+GGAGCAACAAAAAAGGCGTGATGAGCGTGCTGATGGTTCCGTCCTGCTGAAACTGTCCGGAAAAATCCAC
+AAACAGCTTGAAAGTATTGCCCGAAGTCGTGGTGTCCCCCCAAAAAAAATGCTGAATGAAATGATTGAGC
+AGGCGCACCGGGATTTTGTGGCAAATGAGCAGCATAAGACCCGGAGTTAAAGACGGCAGGGTCCCCGGTT
+ACCAATTCTGCAGCGTACTCAACAAATGTATCCGGCCCTTACCTGTGAGGGACACGAAAATTATACATTG
+AGCATGAGTGGATAATCCCGGGTGAGAGTCTCCCGTTTTTACACTATTCACTAAAGGTGAGGCATATCAT
+TCAGTCTCTCTGAATTCTTCATTTCAGTAACTTCAGCTACCGTCGTTTCATCTCTCCCACGAACCGGAGC
+CGCAACTTGTTGCATCACAGGGCTGACAAGTGAACTAAAATCCGCACCTTAATATTCTGACTGGCTGCGT
+ACATTCATTGCATGAAGCGGCCGGAGCGGCTGAGCTGAAGGTCCGTTGTGAGCGAAGAGCGGACGTTATG
+AGTAGCTTGCTAGTTAAGTTTATTAAGTTAAGATATTGTGTTGCCGCAGTAGCTTGCTCAAGTGAGGAAC
+GTAAAGTTCCTGCTCGAAATGCTGGGAACAAGGTTTTAGTAGGTTAACCATATAAACTAAAAAAATTTAA
+CGAGGTTAGAATGAGGCGGTTTTGTACTGTACTGGTTTTGTTAAGTATGGCTTATTTCATTATAGGTGGT
+TTATTTGCGTATTTAAATAAATTGGAACTGCCAATTTATTTAAATGGGATGGCTATTGTAGGTTTTGTAA
+TGACTATTGTTTGCATCTATTCATTGTCGAAGCCTGCTATTACACAGTCAGATTTAGAACAGCTTGAGGC
+CACTTCATTAGAGTCCATAACTAAGACTATTAGTGAGTTAAAATCCCTAAAAACGAATAAAAACTCAACT
+CAAGAAGAAATCTTAGATCTTGAGAAAAAAAGAAAGGAAATGGAGCTTTTAGTAAAGAAAGCCAGTATGG
+CATTGTTTTTCCGTGAGCAACTTAATTACCATGAAAGACGTATACTTTCAGAAATAAAGGGAAGTGAAAC
+CCTCAACCATAGTTTGTCAGAGATAAAAGAAATAAAAGGCAAACTTAAGGCATTGGATGAAGAAATTGCA
+TGTGATCCAGAAGTTGAGTTTCTGCGTTCAATACTTTTGGAAGCAAGCAGGCGAACGCCAACACTCGATG
+AGCTAACAGAGGGTATGCCATTTATATTTAGAATTATGGCTCGCTCAACACAGTTAATACTTGGGAATAA
+GATATAAAACCTGTTGCATACATTTACATCACAATTGCTCATAGTTTCATATCGAGCAATTGTGGGTGAA
+AGTTATTCACAATCAATTGGTTATTGAGCGTGGGAATCTTGAGCCTTACACTCTGCTAACCAGATAAATC
+TCTAATTCATCGGTCATTTTTTAGTACATCCCAGTCAAGATGATTATTCGGCGTTAGAATTTTTGAGGGC
+TCAACATAATCGGCATCAATCCCCTCATCACCAATTCCAGTACGGCAAAATTCAATCCCCATCGAGTTGC
+ATATTATATTCATGGCTTCAAATAATGCCGAAGGCATTCTATGCCCTGCTATTACTCGTCGAACTGGTTT
+ATCTAAGTAAAACCACTCATTCGTTTGCAAAATCCTAACTTCCTGTTCGTATTCCCATTCTCGATATTTA
+GAGGATAAAACTTGGTTAGCAAGTTCATCAGGACTATAAATATTGGGCATTGCTAAATTTGCAAATACAC
+CTCTATATTCAATTTGTTTAATACTGTGATGATTGTCTGGGATTTCAATTTCGATAGCGCAACCATCAAC
+CCCCCCAGCATAGTGAGCCCAAAGTAAATGAGACTCATATGTAGCTGAAAGAGAACAAACCTTAAGCCGT
+TTCTTTTCTTCTATTATCTGCTGAATTTCTTTTTTATAGTCGTAACCATCAGATGTTTGATGAGAGAAAA
+CAAACATCCCTTCCATTGGGTCATTCAACATTTTCCAGTCAGAGCAAAAAAGCCTACGATTAAAAATTAT
+ATCTAGGGTAAATGCTATTTGAGAAGCCGACCTAAATTTATATGCTCTCATAATTTTTTGATTCCTTATC
+TAACACTAATAACTGAGACAGGTGGGGAATTTAAAAGACAGTAGATGATATCATATAGACTGACATTTTT
+TGTTGTGTATTAGATAATGTTAGCAATGTCCGCTCCTGGCACAGAGCGGACTGTCAGATTAGATTCAGAC
+CTGTACTCATTAGCTGATACAAATCAGCCACATATACCTGCATTCCAAATAATTTCAGACAGATATTATC
+GTTGTGAATCCCCCGCCACCTTTCCGGTGCGCGAGGTTTTGTCTTTTTTCACCGGGAATACATGTATGAA
+TCCGTCTGATGCCATTGAGGCAATTGAAAAACCGCTCTCCTCCCTGCCTTACTCACTTTCCCGTCACATC
+CTGGAACATCTGCGCAAACTCACCAGTCACGAACCCGTGATTGGCATTATGGGGAAAAGCGGGGCCGGTA
+AATCCTCACTCTGTAATGCACTGTTTCAGGGGGAGGTCACCCCGGTCAGTGATGTTCACGCCGGCACCCG
+GGAAGTGCGGCGCTTCCGTCTGAGTGGCCATGGTCACAACATGGTTATCACTGACCTGCCCGGGGTGGGC
+GAGAGCCGGGACAGGGATGCAGAGTATGAAGCCCTGTACCGTGACATTCTGCCTGAACTTGACCTGGTAC
+TGTGGCTGATTAAAGCCGATGACCGTGCCCTGTCTGTGGATGAGTATTTCTGGCGACACATCCTGCACCG
+GGGACATCAGCAGGTGCTGTTTGTGGTGACGCAGGCCGATAAAACGGAGCCCTGCCATGAATGGGATGTG
+GCCGGCATTCAGCCTTCTCCCGCACAGGCACAGAATATTCGCGAAAAAACGGAGGCGGTATTCCGTCTGT
+TCCGGCCCGTACATCCGGTTGTGGCCGTATCGGCCCGCACCGGCTGGGAACTGGATACGCTGGTCAGTGC
+GCTCATGACAGCGCTTCCCGACCATGCCGCCAGTCCCCTGATGACCCGCCTGCAGGACGAGCTGCGCACG
+GAATCTGTCCGGTCTCAGGCCCGTGAACAGTTTACCGGTGCGGTGGACCGGATATTTGACACAGCGGAGA
+GCGTCTGTATTGCCTCTGTTGCACGCACGGTTCTGCGTGCCGTCCGTGACTCGGTGGTCTCTGTTGCCCG
+CGCTGTATGGAACTGGATTTTCTTCTGAACACTCTGCCAGGGGAAATGCCTGATTACATTGCGTTAACCA
+ACTGAAAACATGACCCCCCCCTCATACCCACCTCTTTCTCTTGCGTGACCTCCCTGCTGTTAATAGAATA
+AAACGATCGATAAAACAGGTATCGATCGTTACTATCGATCATTTATAGTGGTTAATGGTCTGCGAAAAGG
+CAGTTGAATCTCTTCATCATGCAGAACGGAATTGCACAAAACGGACTGATACTTCTCTGGCGGATGAGAG
+AGGGGAAGCATTTATGTCCGGGAAAAACCACTTTATCTGACCATGCTGTTTTGTACCTGCCGGTATCCAC
+ATTTGTGGGTACCGGCTTTTTTATTCACCCTCTGTAAGGAAAAGCTGATGAAACGACATCTGAACACCAG
+CTACAGGCTGGTATGGAATCACATTACGGGCACCCTGGTGGTGGCCTCCGAACTGGCCCGCTCACGGGGA
+AAACGCGCCGGTGTGGCGGTTGCACTGTCTCTTGCTGCTGTCACATCAGTCCCGGCACTGGCTGCTGACA
+CGGTTGTACAGGCGGGAGAAACCGTGAACGACGGAACACTGACAAATCATGACAACCAGATTGTCCTCGG
+TACGGCCAACGGAATGACCATCAGTACCGGGCTGGAGTATGGGCCGGATAACGAGGCCAATACCGGCGGA
+CAATGGATACAAAATGGCGGTATCGCCAACAACACTACTGTCACCGGTGGTGGTCTTCAGAGAGTGAATG
+CCGGAGGAAGCGTTTCAGACACGGTTATCAGTGCCGGAGGAGGACAGAGCCTTCAGGGGCAGGCAGTGAA
+CACCACTCTGAACGGCGGTGAGCAGTGGGTACATGAAGGCGGGATTGCAACGGGTACCGTCATTAATGAG
+AAGGGCTGGCAGGCCGTCAAATCCGGCGCAATGGCAACCGACACGGTTGTGAATACCGGCGCGGAAGGGG
+GACCGGATGCAGAAAATGGTGATACCGGGCAGTTTGTTCGCGGAAATGCCGTACGTACCACTATCAATGA
+GAATGGTCGTCAGATTGTGGCTGCTGAAGGAACGGCAAATACCACTGTGGTTTATGCCGGCGGCGACCAG
+ACTGTACATGGCTACGCGCTGGATACCACACTGAACGGCGGTAACCAGTATGTGCACAACGGCGGTACAG
+CGTCTGGCACTGTTGTGAACAGTGACGGCTGGCAGATTGTCAAGGAAGGTGGTCTGGCGGATTTCACCAT
+CGTTAACCAGAAAGGCAAACTGCAGGTGAACGCCGGTGGTACAGCCACGAATGTCACCCTGAAGCAGGGA
+GGCGCACTGGTCACCAGTACGGCGGCAACCGTCACCGGCAGCAACCGTCTGGGCAATTTCACGGTGGAAA
+ACGGTAATGCTGACGGTGTTGTTCTGGAGTCCGGTGGTCGCCTGGATGTACTGGAGGGCCATTCAGCCTG
+GAAAACACTGGTGGATGACGGCGGTACCCTGGCAGTGTCTGCCGGTGGTAAGGCAACAGATGTCACCATG
+ACATCCGGTGGTGCCCTGATTGCAGACAGTGGTGCCACTGTTGAGGGGACCAATGCCAGCGGTAAGTTCA
+GTATTGATGGCATATCCGGTCAGGCCAGCGGCCTGCTGCTGGAAAATGGTGGCAGCTTTACGGTTAATGC
+CGGGGGACAGGCTGGCAACACCACTGTCGGACATCGTGGAACACTGACGCTGGCTGCCGGGGGAAGTCTG
+AGTGGCAGAACACAGCTCAGTAAAGGCGCCAGTATGGTACTGAATGGTGATGTGGTCAGTACCGGCGATA
+TTGTTAACGCAGGAGAGATTCACTTTGATAATCAGACGACACCGGATGCCGCGCTGAGCCGTGCTGTTGC
+AAAAGGCGACTCCCCGGTAACGTTCCATAAACTGACCACCAGTAACCTCACCGGTCAGGGTGGCACCATC
+AATATGCGTGTTCGCCTTGATGGCAGTAATACCTCAGACCAGCTGGTGATTAATGGTGGTCAGGCAACCG
+GCAAAACCTGGCTTGCGTTCACAAATGTCGGAAACAGTAACCTCGGGGTGGCAACCACCGGACAGGGTAT
+CCGGGTTGTGGATGCACAGAATGGTGCCACCACAGAAGAAGGTGCGTTTGCCCTGAGTCGCCCGCTTCAG
+GCCGGCGCCTTTAACTACACCCTGAACCGTGACAGCGATGAAGACTGGTACCTGCGCAGTGAAAATGCTT
+ATCGTGCAGAAGTCCCCCTGTATGCCTCCATGCTGACACAGGCAATGGACTATGACCGGATTCTGGCAGG
+CTCCCGCAGCCATCAGACCGGTGTAAATGGTGAAAACAACAGCTTCCGTCTCAGCATTCAGGGCGGTCAT
+CTCGGGCACGTTAACAACGGTGGTATTGCCCGTGGGGCCACGCCGGAAAGCAGCGGCAGCTATGGCCTCG
+TCCGTCTGGAGGGTGACCTGCTGAGAACAGAGGTTGCCGGTATGTCACTGACGACAGGAGTGTATGGTGC
+TGCAGGCCATTCTTCCGTTGATGTTAAGGATGATGACGGCTCCCGTGCCGGCACGGTCCGGGATGATGCC
+GGCAGTCTGGGCGGATACCTGAATCTGGTACACACGTCCTCCGGCCTGTGGGCTGACATTGTGGCACAGG
+GAACACGCCACAGCATGAAAGCGTCATCGGACAATAACGACTTCCGCGCCCGGGGCTGGGGCTGGCTGGG
+CTCACTGGAAACTGGTCTGCCCTTCAGTATCACTGACAACCTGATGCTGGAGCCACAACTGCAGTATACC
+TGGCAGGGACTTTCCCTGGATGACGGCCAGGATAACGCCGGTTATGTGAAGTTCGGGCATGGCAGTGCAC
+AACATGTGCGTGCCGGCTTCCGTCTGGGCAGCCACAACGATATGAACTTTGGTAAAGGCACCTCATCCCG
+TGACACCCTGCGCGACAGTGCAAAACACAGTGTGCGTGAACTGCCGGTGAACTGGTGGGTACAGCCTTCT
+GTTATCCGCACCTTCAGCTCCCGGGGGGACATGAGCATGGGTACAGCCGCAGCCGGCAGTAACATGACGT
+TCTCACCGTCCCAGAATGGCACGACACTGGACCTGCAGGCCGGACTGGAAGCCCGTGTCCGGGAAAATAT
+CACCCTGGGCGTTCAGGCCGGTTATGCCCACAGTGTCAGCGGCAGCAGCGCTGAAGGTTATAACGGTCAG
+GCCACGCTGAATGTGACTTTCTGATAATCAGGTCACTCCCCTTCAGGCCCCGGTCATCATGACCGGGGCC
+TTTTACTTACAGGGAGCAACAGATATGCCGGGTTGTACATCACGTTTATTGCCCGAAGGCCCTTTCTCAC
+GCAACCAGGCTCTTGCCGTCACAACGGCTTACCTTAATGTGCTTATTGAAGATGACCAGGGAACGCATTT
+CCGGCTGGTGATCCGCAACGCTGAAGGCCAGTTGCGCTGGCGGTGCTGGAATTTTGAACCTGATGCCGGA
+AAACAGCTAAATCCGTATCTCGCCAGTGAGGGAATTCTCAGGCAATAAACGTCATTCACTTGATCCATCA
+GGCCGCGTCTTCTCCGGAAGACGCGGCTTTTTCATTTATACCGCTTAATCATTCATAAGGAGCCAATTAT
+GCGATTAGCCAGCCGTTTTGGTTATGTAAATCAGATCCGCCGGGAGCGCCCGCTGACACGCGAAGAACTG
+ATGTACCACGTCCCGAGTATTTTTGCGGAAGACCGGCACACCTCCCGCAGTGAACGGTATGCGTACATTC
+CCACCATCACCGTCCTGGAAAATCTGCAGCGGGAAGGCTTTCAGCCGTTCTTCGCCTGCCAGACCCGTGT
+GCGCGACCAGAGCCGCCGGGAATATACCAAACATATGCTGCGTCTGCGACGGGCCGGACAGATAACCGGT
+CAGCATGTGCCTGAAATTATTCTGCTCAACTCCCATGACGGTTCATCCAGCTACCAGATGTTACCCGGAT
+ATTTTCGTGCCATCTGCACCAATGGCCTGGTCTGCGGTCAGTCGCTGGGAGAAGTCCGGGTGCCACACCG
+GGGAAACGTGGTGGACAGTGTGATTGAAAGTGCTTACGAGGTGGTGGGGGTTTTTGACCGGATTGAAGAA
+AAGCGTGACGCCATGCAGTCGCTGGTCCTGCCGCCACCGTCACGCCAGGCGCTGGCACAGGCGGCACTGA
+CTTACCGTTATGGTGACGAACATCAGCCCGTCACCACCGCCGACATTCTGACGCCACGACGCCGGGAGGA
+TTACGGTAAGGACCTGTGGAGTGCTTATCAGACCATCCAGGAGAATATGCTGAAAGGCGGGATTTCCGGT
+CGCAGTGCCAGAGGAAAACGTATCCATACCCGTACCATTCACAGCATCGACACCGACATTAAGCTCAACC
+GGGCGTTGTGGGTGATGGCAGAAACACTGCTGGAGAGCATGCGCTGATGCCTTTTCCCTGAAAGCGCAGT
+CCTGACTCACTTCCGTCCCTGCCTCCGGACATTCTTCCATTCATTTACTTTTTATAAGGAATAATCTCAT
+GACAACCGTTACGCATAATTCCACCACACCTTCTGTTTCCGTAACCGCTGCATCAGGGAATAACCCACCT
+CAGCTGGTTGCTACTCTCGTCCCTGATGAACAGCGCATCAGCTTCTGGCCGCAGCATTTTGGCCTCATTC
+CACAGTGGGTGACCCTGGAGCCCCGTGTCTTCGGCTGGATGGACCGTCTGTGCGAAGACTACTGTGGTGG
+TATCTGGAATCTGTACACCCTGAACAACGGCGGGGCATTTATGGCACCCGAACCGGATGACGATGATGAC
+GAAACATGGGTACTGTTCAATGCCATGAACGGTAACCGCGCTGAAATGAGCCCGGAAGCCGCCGGTATTG
+CTGCCTGTCTGATGACGTACAGCCATCATGCCTGTCGTACGGAGAATTATGCCATGACGGTCCATTATTA
+CCGGTTGCGGGATTACGCCCTGCAGCATCCGGAATGCAGCGCCATTATGCGCATTATCGACTGAATGGAG
+GCAGGGACAATGCAGCAGCTTTCCTTTCTGCCCGGAGAGATGACGCCCGGCGAGCGCAGTCTCATTCTGC
+GGGCCCTGAAAACCCTGGACCGCCATCTTCATGAACCCGGCGTGGCCTTCACCTCCACCCGTGCGGCACG
+GGAATGGCTGATTCTGAACATGGCGGGACTGGAGCGGGAAGAGTTCCGGGTGCTGTATCTGAACAACCAG
+AATCAGCTGATTGCCGGTGAAACCCTCTTCACCGGCACCATCAACCGCACGGAAGTTCATCCCCGGGAAG
+TGATTAAACGCGCCCTGTATCACAATGCCGCAGCCGTGGTGCTGGCACACAATCACCCGTCCGGTGAAGT
+CACCCCCAGTAAGGCAGACCGCCTTATCACGGAACGTCTGGTACAGGCACTGGCCCTGGTGGATATCCGG
+GTACCGGACCATCTGATAGTTGGTGGCAGTCAGGTTTTCTCTTTTGCGGAACACGGTCTGCTTTAACCCG
+TCACCGTCACAACCACATCACACCTGTTTTCACTTTTATCTTCTGTCTTCAGAGGTATCACACTATGAAA
+ATCATCACCCGTGGTGAAGCCATGCGTATTCACCGTCAGCATCCGGCATCCCGTCTTTTTCCGTTCTGCA
+CCGGTAAGTACCGCTGGCACGGCAGTGCTGAGACGTATACCGGTCGTGAAGTACAGGATATTCCCGGTGT
+GCTGGCCGTGTTTGCTGAACGCCGTAAGGACAGTTTTGGCCCGTATGTCCGGCTGATGAGCGTCACTCTG
+AACTGAGTCAGGAGAAATGATGAGCCGAATTATCGCTGCCACCGGACCATTCTTAACTGATTTCTGTGAG
+GACTTTATCGTGTCAGACACACTGCCCGGGACAACGCATCCCGACGACAATCACGACCGCCTCTGGTGGG
+GACTGCCCTGCACCGTGACGCCCTGTTTCGGGGCACGTCTGGTGCAGAAGGGTAACCGGTTGCATTACCT
+TGCCGACCGCGCCGGTATCAGAGGCCGGTTCAGCGATGCAGATGCATACCACCTGGACCAGGCCTTTCCG
+CTGCTGATGAAACAACTGGAACTCATGCTCACCAGCGGTGAACTGAATCCCCGCCATCAGCATACCGTGA
+CACTGTATGCGAAGGGGCTGACCTGTGAAGCCGACACCCTCGGCTCCTGTGGTTACGTTTATCTGGCTGT
+TTATCCGACGCCCGAAACGAAAACGTAAACCACCGGAATAACCCTCTGCTCCAGCCTAGTGTTTTCACCA
+CGCCACTGTCCCGTTTTTTATCTCTACATATCAGGAAAATCTTCAGTATGAACACATTACCCGACACACA
+CGTACGGGAGGCATCGCGCTGCCCGTCTCCCGTCACCATCTGGCAGACACTGCTCACCCGACTGCTGGAC
+CAGCACTACGGCCTCACGCTGAATGACACACCGTTCGCCGATGAACGTGTGATTGAGCAGCATATTGAGG
+CAGGCATTTCACTGTGTGATGCGGTGAACTTTCTCGTGGAAAAATACGCGCTGGTACGAACTGACCAGCC
+AGGATTCAGCGCCTGTACCCGCTCTCAGTTAATAAACAGCATCGATATCCTCCGGGCTCGCCGGGCAACA
+GGCCTGATGACCCGCGACAATTACAGAATGGTAAATAACATTACCCAGGGTAAGCATCCGGAGGCGCAAC
+AATGAAACTGGCCCTGACACTGGAAGCCGACAGCGTTAACGTGCAGGCGCTGAACATGGGGCGAATTGTC
+GTTGACGTCGATGGTGTTAATCTCACTGAACTGATTAACAAGGTCGCTGAAAACGGTTATTCACTCCGTG
+TGGTGGACGACTCCGACCAACAGTCAACCTGCACACCACCACCGTTAACAACCCTTACCGGCATACGCTG
+CAGCACCGCACATATCACGGAAACAGACAACGCCTGGTTGTACTCGCTGTCACACCAGACCAGTGACTTC
+GGCGAATCAGAATGGATTCATTTTACAGGTAGCGGATATCTGTTACGTACCGATGCGTGGTCATACCCGG
+TTCTGCGGCTTAAACGCCTGGGGCTGTCAAAAATGTTCCGCCGTCTGGTTGTCACACTTATCCGGCGTTA
+TGGCGTCAGTCTCATTCATCTGGATGCCAGCGCTGAATGCCTGCCGGGTTTACCTACTTTCAACTGGTAA
+CCAGAAACAACATGAAATCATTAATCACTGAAACAGCGCTGGATATCCTCATTGCGTGGCTGCAGGACAA
+TATCGACTGCGAATCGGGAATTATCTTTGACAACGATGAGGATAAAACGGATTCGGCAGCACTGTTGCCC
+TGTATCGAACAGGCCCGGGAGGATGTCCGTACTCTTCGTCATCTGCAGCTTCTGCACCAGAACCGGTAAA
+TATCACTCACCATACTTCATTCCACTGACGTCAGCCTGAACAGGGCTGGCGTTTTCGTTTATAAACCAAA
+AGGGAAACCGATAATGTCAGACATCACAATCTCCCGTCCGGAAGTGGTCACCGGGCATACGGACGTTATC
+TGCTCAACCAGTATCCGCCACATTCTGGCTGTACGAAAGAGTACACTGCTGCAAATCGACACACTTATCC
+GGCAACTGGCTGAAATATCAGCAATGACAGAAAGTATTGGCGGTAAAGCCGCCCCGGACTGGGCCATGAA
+ACAGGATTTTCGCTGCGGCTGCTGGCTGATGGAGAAACCGGAAACCGCAATGAAAGCCATCACACGCAAT
+CTCGATCGCGAAATCTGGCGTGACCTGATGCAACGTTCAGGGATGCTTTCCTTAATGGATGCACAGGCCC
+GTGATACATGGTACCGGTCACTGGAGTACGATAATTTTCCGGAAATCAGTGAAGCGAACATTCTGAGCAC
+ATTTGAACAACTACACCAGAACAAGGATGAGGTGTTTGAGCGAGGGGTGATCAACGTCTTCAGGGGACTG
+AGCTGGAATTACAAAACCAATTGCCCCTGCAAATTTGGCAGTAAAATTATCGTCAACAACCTGGTGAGGT
+GGGACCGGTGGGGGTTTCATCTTATCACCGGGCAACAGACTGACCGACTCGTCGACCTGGAAAGAATGCT
+ACATCTGTTCAGCGGCAAACCGATCCCCGACAACCGGGAAAACATCACTATTCGTCTGGATGGTCACATC
+CAGTCCGTTCAGGGTAAAGAGCGCTATGAAGACGAGATGTTCATCATTAAATACTTTAAGAAGGGATCTG
+CACACATCACTTTCAAAAGGCTGGAGCTGATTGACAGAATTAACGATATAATAGCCAGGCACTTTCCTTC
+TGTGCTCTCAGCCTGACCCCGAGTTTGATTCCCTTTCGATATCAAAAGGGACTGCGGGTACAAAAGAGGG
+TACATCTTTCACCAAACCAAACAAAATAAACTAATATCAACATGATAGAAGCATTCTTCGATTCCGAGTC
+CGGCACCACTAATTCTTAAGAACCCGCCCACAAGGCGGGTTTTTGCTTTTGGATCTTTATATAAAATAAA
+CTTGGGAGCATAACGCCATCAGGTCTTAAACACTCCCGAATCATCAATAAACATCCCCCGCTAACAAAAC
+ACAGTTCAGTTCACATAACATCCCTGTTATCCCACACATATCTGCTGGCCGAACGACGCCAGTGCGCGTA
+CGGAGGCAAGAGCAGCCCTGCACATGGCAGCGCTTGTGGTAACCTGGTTTAATCCGGTGAAAGAGGCGTT
+TTACATGCATCTGCCAGCATCCGGAAAAACCAAAAAAGTGGCGCTGGTTGACTGTATGCGTAAATTGCTG
+ACCATCCTGAACGCAATGCTCAGAAAGAACGAAGAGTGAAATGAATCGTAGCATCATGTTGCTCCATAAT
+TTTTACGTTCAAGACAGTTGATTATCGGCGCATATGACTCAAAAAGAGCCTGATGATTGCCTCTTTTCCA
+TAGGCTCTTTCTCTGAAGTGAAGGAAGGCCCGGAAGAAAGCACTCGCTGGCATACGTGACTCCAGCTCAA
+CCGGAGATAATCACCATTGTTATTTTTCTATTTAATAATAATCTCCTGAAAAATAGATATAGCAAAAATA
+CAATCCGGCCAGATTTAATTCCGCATTCATTACCAGAAATAATCAACACCATAACTATCATATCATTCAA
+TAGTCACCGCTAAAATTTTATTATTTTCCTCTTCTTTACATAGAAATTGTCAACCTGTTTATTATGCCGC
+ACTTAAATAGTTAATCACAAAACAACATCACCATTATTTGCGTGTTTTATTTATTAATAACATAGTCATA
+CGTTCTTTTTTTACAAGGAAATAATCAATTGATAAATTGTTTTTGGTCTTAATAGTCAAGTTGGAAACAT
+TTTAATAAATGATAAAAATCCTAAATTCCTTGTTCATAATGTAGGGGTGTGTTAAATAGGTGGGCAAAAT
+TTGGTTCCCCTTCTCGCCTGTAATATTGCAGCATCTTCGCACCTCCATGAGACATTGCGACTTAATAAGA
+AGGTGATAAGTCCTGCATATAAGCATGGACTGACCATGGTTTTATATTCATTAAAAATTTTGTTACAACC
+CATTGATTTAGCATAAATAAATTATAGTGGGTTCGGGTTTGTTGTGACTGTGGCATTATTTCCGTGCAAA
+GGAGCTGATATGTCTGAAAGACATTTACCTGATGACCAGAGCAGTACTATCGATCCATATCTAATTACCT
+CTGTTCGCCAGACTCTGGCAGAACAAGGCGCAGCATTACAAAACTTGTCTAAACAACTGGATTCCGGGCA
+GTACCAGCGTGTCCTTAATTTGATAATGAACTGTAAAGGTCACGTTATTCTTTCGGGAATGGGTAAATCA
+GGGCATGTCGGTCGTAAAATGTCAGCGACGCTGGCCTCTACGGGTACGCCTAGTTTCTTTATTCATCCTG
+CAGAAGCTTTCCATGGCGATCTGGGCATGATTACGCCTTACGATCTTCTGATCCTTATTTCTGCCAGCGG
+TGAAACGGATGAAATCCTCAAGCTAGTTCCTTCACTGAAAAATTTCGGCAACCGAATTATCGCCATTACC
+AATAATGGAAATTCCACGCTGGCGAAAAATGCTGATGCCGTGCTGGAACTCCACATGGCGAATGAAACCT
+GCCCGAATAATCTTGCACCAACAACGTCTACCACGCTGACGATGGCGATCGGCGATGCGCTGGCGATTGC
+CATGATCCACCAACGCAAATTTATGCCGAATGATTTTGCGCGCTATCACCCGGGCGGTTCATTAGGTCGT
+CGCCTGCTGACCCGCGTTGCTGATGTCATGCAGCATGATGTTCCTGCGGTACAGCTGGATGCGTCATTTA
+AAACCGTGATTCAACGTATCACCAGCGGATGCCAGGGAATGGTGATGGTAGAAGACGCAGAAGGTGGGCT
+AGCGGGCATTATCACCGACGGTGACCTGCGTCGCTTTATGGAAAAAGAGGATTCTCTGACATCCGCCACG
+GCGGCGCAGATGATGACGCGTGAACCGCTGACGTTGCCAGAAGAAACCATGATCATCGAAGCGGAAGAAA
+AGATGCAAAAACACCGCGTCTCGACGTTATTGGTGACCAACAAGGCGAACAAAGTCACTGGTCTTGTGCG
+CATTTTCGACTAATTAAGCAACAGGGCGCGAGAGTTTAGTCTCTCATTGAATATGCGCCCCACTGAAACT
+CTGATAATCGTTACATGTTGATAAAAGTGAAGTCTGCCGTATCCTGGATGCGTGCTCGTTTGTCTGCCAT
+CTCACTGGCTGATATCCAAAAACACCTGGCGAAAATCATCATTCTGGCACCGATGGCAGTGCTGCTGATC
+TATCTGGCTATCTTCAGCCAGCCTCGCTATATGAGCGAGTCGAAAGTTGCCATTAAACGCTCAGATGATT
+TAAACAGCGGCAGCTTAAATTTTGGTCTGCTATTGGGTGCCTCTAACCCGAGTTCCGCAGAGGATGCGTT
+ATATCTGAAAGAGTACATCAACTCTCCAGATATGCTGGCAGCGTTAGATAAGCAACTGAATTTTCGCGAA
+GCGTTTAGCCACAGCGGGCTCGATTTTCTTAATCGTCTTAGCAAGGATGAAACCGCAGAAGGCTTCCTGA
+AGTACTACAAGGACCGTATCAACGTCTCGTATGACGATAAAACCGGATTGCTCAATATTCAGACGCAGGG
+CTTTAGCCCGGAGTTTGCGCTTAAGTTTAACCAGACCGTGTTGAAAGAGTCAGAGCGCTTTATCAATGAG
+ATGTCACATCGCATTGCGCGTGACCAGCTCGCCTTTGCGGAAACGGAAATGGAAAAGGCACGCCAGCGTC
+TGGACGCCAGCAAAGCGGAATTGCTCTCTTATCAGGACAACAACAACGTTCTGGATCCCCAGGCACAGGC
+ACAGGCGGCGAGCACGTTAGTGAATACGCTGATGGGCCAGAAGATCCAGATGGAAGCGGACCTGCGGAAC
+TTGCTGACGTATCTGCGTGAGGACGCTCCGCAAGTTGTGAGTGCGCGTAATGCGATTCAGTCATTGCAGG
+CACAAATCGACGAAGAAAAAAGCAAAATCACAGCGCCGCAGGGTGACAAGCTAAACCGTATGGCGGTGGA
+TTTTGAAGAAATCAAATCAAAAGTAGAGTTCAACACCGAGCTGTACAAACTGACCCTGACCTCCATTGAA
+AAGACCCGTGTAGAAGCGGCTCGTAAGCTCAAGGTGCTGTCAGTGATCAGTTCGCCACAGTTGCCGCAGG
+AATCGTCTTTTCCAAATATCCCTTATTTGATCGCCTGCTGGTTACTGGTGTGCTGCCTGCTGTTCGGCAC
+CCTGAAACTGTTGCTGGCTGTTATTGAAGATCACCGAGACTAACGCTGTCGCTGAATGAGTTTGTGATGA
+AATTATTTAAATCAATTTTACTGATTGCCGCCTGTCACGCGGCGCAGGCCAGCGCGGCCATTGATATTAA
+CGCTGACCCAAACCTTACAGGAGCCGCGCCGCTTACCGGTATTCTGAACGGGCAACAGTCGGATACGCAA
+AACATGAGCGGCTTCGACAATACTCCACCACCCGCACCGCCGGTGGTAATGAGCCGTATGTTTGGTGCTC
+AACTTTTCAACGGCACCAGCGCGGATAGCGGTGCGACGGTAGGATTCAACCCTGACTATATTCTGAATCC
+GGGTGATAGCATTCAGGTTCGCTTGTGGGGTGCGTTCACCTTTGATGGTGCATTACAGATTGATCCCAAA
+GGTAATATTTTTCTGCCAAACGTTGGTCCGGTGAAAGTTGCCGGGGTTAGCAATAGTCAGTTGAACACTC
+TGGTTACATCAAAAGTGAAGGAAGTGTACCAGTCCAACGTCAACGTCTACGCCTCCTTATTACAGGCGCA
+GCCAGTAAAAGTGTACGTGACCGGATTTGTGCGTAATCCTGGTCTGTATGGCGGTGTGACGTCTGATTCG
+TTACTCAATTATCTGATCAAGGCTGGCGGCGTTGATCCAGAGCGCGGAAGTTACGTTGATATTGTGGTCA
+AGCGCGGTAACCGCGTGCGCTCCAACGTCAACCTGTACGACTTCCTGCTGAACGGTAAACTGGGGCTTTC
+GCAGTTCGCCGATGGTGACACCATCATCGTCGGGCCGCGTCAGCATACTTTCAGCGTTCAGGGCGATGTC
+TTTAACAGCTACGACTTTGAGTTCCGCGAAAGCAGCATTCCCGTAACGGAAGCGTTGAGCTGGGCGCGCC
+CTAAGCCTGGCGCGACTCACATTACGATTATGCGTAAACAGGGGCTGCAAAAACGCAGCGAATACTATCC
+GATCAGTTCTGCGCCAGGCCGTATGTTGCAAAATGGCGATACCTTAATCGTGAGCACTGACCGCTATGCC
+GGCACCATTCAGGTGCGGGTTGAAGGCGCACACTCCGGTGAACATGCCATGGTACTGCCTTATGGTTCCA
+CTATGCGTGCGGTTCTGGAAAAAGTCCGCCCGAACAGCATGTCGCAGATGAACGCAGTTCAGCTTTATCG
+CCCATCAGTGGCTCAGCGTCAGAAAGAGATGCTGAATCTCTCGCTGCAAAAGCTGGAGGAAGCATCACTT
+TCTGCCCAGTCATCCACCAAAGAAGAAGCCAGCCTGCGAATGCAGGAAGCACAACTGATTAGCCGCTTTG
+TGGCGAAAGCACGCACCGTGGTTCCGAAAGGTGAAGTGATCCTCAACGAATCCAATATTGATTCTGTTCT
+GCTTGAAGATGGCGACGTCATCAATATTCCGGAGAAAACATCGCTGGTTATGGTTCATGGCGAAGTGCTG
+TTCCCGAACGCGGTGAGCTGGCAGAAGGGTATGACCACCGAGGATTACATCGAGAAATGTGGTGGCCTGA
+CGCAGAAATCGGGTAACGCCAGAATTATCGTCATTCGTCAGAACGGTGCAGCCGTCAACGCAGAAGATGT
+GGATTCACTCAAACCGGGCGATGAGATTATGGTTCTGCCGAAATATGAATCGAAAAACATTGAAGTTACC
+CGTGGTATTTCCACCATCCTCTATCAGCTGGCGGTGGGTGCAAAAGTGATTCTGTCTTTGTAAGGAGTTG
+AAATGAGCAAAGCTGTTATTGTCATCCCGGCTCGTTATGGCTCATCGCGCCTGCCGGGTAAGCCACTGCT
+CGATATTGTTGGTAAACCGATGATCCAGCATGTTTACGAGCGTGCGTTACAGGTGGCGGGCGTTGCGGAA
+GTTTGGGTGGCAACAGACGATCCGCGTGTTGAACAGGCCGTGCAGGCATTTGGCGGGAAAGCCATCATGA
+CGCGCAACGATCATGAATCCGGCACCGATCGGCTGGTCGAGGTGATGCATAAAGTCGAGGCAGATATCTA
+CATTAACCTGCAGGGTGACGAACCAATGATTCGCCCGCGGGATGTAGAAACGCTGTTACAAGGAATGCGT
+GATGACCCCGCATTGCCAGTGGCAACGCTATGCCACGCGATTTCTGCCGAAGAAGCGACCGAGCCAAGCA
+CGGTAAAAGTGGTGATAAATACCCGCCAGGATGCGCTTTATTTCAGCCGTTCGCCTATTCCGTATCCGCG
+TAATGCTGAAAAAGCGCGCTACCTGAAACACGTTGGTATTTACGCTTATCGTCGCGATGTGCTGCAAAAC
+TACAGCCAGTTACCGGAGTCCATGCAGGAGCAGGCAGAATCACTGGAGCAACTGCGGTTGATGAGCGCGG
+GGATCAACATCCGCACATTTGAGGTTGCCGCAACCGGTCCGGGCGTCGACACCCCAGCATGCCTGGAAAA
+AGTGCGCGCCCTGATGGCACAGGAACTGGCTGAAAACGCATGATTGGCATTTTCTCGTCCGGTATCTGGC
+GTATTCCGCATCTGGAGAAATTTCTGGCGCAACCGTGCCAGAAACTTTCTCTGCTGCGCCCTGTTCCGCA
+AGAAGTTGATGCTATCGCCGTGTGGGGACATCGTCCCAGCGCGGCGAAACCAGTCGCCATCGCCAAAGCA
+GCGGGAAAACCCGTCATTCGTCTGGAAGATGGATTTGTGCGTTCGCTGGATCTTGGCGTCAATGGCGAGC
+CGCCGCTTTCTCTGGTGGTGGATGATTGTGGCATTTACTACGATGCCAGCAAGCCTTCAGCACTGGAGAA
+ACTGGTACAGGATAAAGCCGGAAATACAGCTCTGATAAGCCTGGCCAGAGAAGCGATGCACACCATCGTG
+ACCGGGGATTTGTCGAAATATAACCTGGCACCTGCGTTTGTGGCTGATGAGTCAGAACGTTCAGACATCG
+TTCTGGTTGTCGATCAGACATTTAATGATATGTCAGTGACGTATGGCAATGCTGGCCCGCATGAGTTTGC
+TGCCATGCTGGAAGCTGCGATGGCGGAAAATCCTCAAGCCGAAATTTGGGTGAAGGTGCACCCAGATGTA
+CTCGAAGGAAAGAAAACAGGCTATTTCGCTGATCTGCGCGCCACGCAACGAGTACGTTTGATTGCCGAGA
+ATGTCAGCCCGCAGTCGCTGTTGCGACACGTTTCCCGGGTTTACGTCGTGACATCCCAATACGGCTTTGA
+AGCCTTGCTGGCAGGAAAACCAGTAACATGTTTCGGCCAGCCCTGGTATGCAGGCTGGGGCTTAACCGAC
+GATCGCCATCCGCAGTCTGCTTTGTTATCTGCCCGACGCGGTTCTGCCACGCTGGAAGAACTTTTTGCCG
+CAGCATACCTGCGTTACTGTCGCTATATCGACCCGCAAACAGGAGCAGTAAGCGATCTGTTTACCGTACT
+GCAATGGCTGCAATTACAGCGCAACCATCAGCAACAGCGTAATGGCTATTTATGGGCGCCAGGCTTAACG
+CTGTGGAAGTCAGCGATCCTGAAACCTTTCTTGCAAACGGCAACAAACCGGCTGAGTTTTTCACGTCGCT
+GTACTGCGGCGAGCGCCTGCGTGGTATGGGGTGTAAAGGGAGAACAGCAATGGCGAGCCGAAGCGCAGCG
+AAAATCACTGCCGTTATGGCGAATGGAAGATGGTTTTCTGCGTTCATCCGGACTTGGCTCTGACCTCTTG
+CCGCCGCTATCGTTGGTCCTAGATAAACGCGGGATCTACTATGACGCCACGCGCCCCAGCGACCTGGAAG
+TGCTGCTTAATCACAGCCAGTTAACACTGGCACAGCAGATGCGAGCTGAGAAGTTGCGGCAACGGGTGAA
+ATTACAGATGTGTGATGTAGAATACCTCTTTGAAATTGAAATGAATCTAATGAAAACACTTTTGCTCTAT
+ATAAATATATACCCGTGATTATTGAAGATGCTTGATTTTTCAGCAACAGAAGATCATGCTGTCCAACATG
+AAAATATTCATTACTGAGCAACAAAAAGCTGAACTTGAACGCCTTCATGATTCCAGTCGTGACGGGCAAG
+TCAGAGATCGTCTTAAAGCCATTCTTCTGGCTTCCGAAGGCTGGAGTTCTGCCATGATTGCTCAGGCTTT
+ACGCCTGCATCAGACAACGATTGATCACCATATCAGCGAATTCCTGAATAAAGGAAAACTGAAGCCCGAA
+AACGGCGGCTCAGACAGCAAACTCAGTGCTGAAAAAACGGCCTTTTTAATCAGCCAGTTATCCGATGATT
+TATTTCACCATACCCGCGATGTTATTGCGTTTGTCAACCGGACATGGAACATCATTTTCAGCATTCCGGG
+GATGAATAAGTAGCTGCATCGTAATGGTTTCACCTACAAAAAACCGTCAGGCGTCCCCCATAAATTCAGT
+GAAGATAAACAAAGGCAATTCATTGAATATTATGAGGAACTGAAAACAACTGTGGGTGATGAACCAGTTC
+TTTTTATTGATGGAGTCCATCCGACTCAGGCCACTAAAATCAGCTATGGCTGGATACGTAAAGGTCAGAA
+AAAAGCAGTAAAAACAACAGGCAACCGCACACGCCTGAATATCATGGGGGCGCTGAATCTGAAAGCACTG
+ACGTCACCGCTAATCTGCGAATATAAAACCATTAATGAATATAATGTATCCCGTTTTTTCAATGAGATAC
+GAAAGGTTTATCCTGATTATAACCAGAAAATCCACGTTATTCTGGATGGAGCAGGTTACCACCGTTCACA
+GTTAGTGAAAGACTGGGCGGAAGTGGTAAATATCAGGCTGCATTACCTTCCCCCTTACAGTCCAAACCTG
+AATCCGATAGAAAGAATGTGGAAATTAATGAACGAACATGTCCGGAATAATCACTACTTCAGCAGTACGC
+GAGAGTTCAGGGACGCAATATCTGTCTTTTTTAACCAGACACTGCCGGATATAGCGGACTCACTGACATC
+CCGAATTAACGATCACTTTCAGGTGTTCACACCCGCATCTTGAGGTTTATTGGGTATAGATAATGGTGGC
+ATTAATTGCATCAAATATAATTGCATATTCTGATGTAGTCATGGGATTTGTCATGAACTTAACTGACATA
+GTTAAAACAAAATTATCTTAGGGAGAACCTTTCTTTTTTAAAATAATTATAAACTAATCATTCACGCCCC
+ATTTTTAATACTGATAAATTCGATTTTCGATCAATTTCATTTGCCATTGGTTCAATAAGTTGCATTTTTA
+CTATCGCTGCTCGTGCACTCCAATTCAGATGCTGATAAAAGCTCGCATTTAATTGCGTCAAATGTAATAA
+AGAGTTTCTAACACGATTGAAGGTTAAAGTGCACACGGGATCTTGTTTTTGCCAAAATGATGATAGCGAG
+CCTTTTGTAGTCAATCGAGAAATATCATATAGGGCTCGTCCCAAACATATTGTTGGAACATGATGCAATA
+GTGCAGAAAATCCCACAGTACTGTTAATGGTTACGACTCCCTTTAAAAATGGATAGAGTTTAGGCAAAGG
+TATTTCGAAACCATAAAAAATCCTATTATCTAAACAATACACTGAAATCAATCGTTCAATACACTTATGG
+TAACTAACATATCCCCGATCCATAGGATGATGTTTAAATAATAGAACATCTTCTTCACTTGCGTGTTTTG
+CAAACGAAGAAACAATATTCTCAATCATCTGTTCAATACTATCAAAATCTGAATGTTCTCTTATCTGAAA
+ATCCTCTGAAACTTGTAAAGGAACCAAGAAGATATGTCCCGCATGATGTTTTTTCAAAAATTCCAATAGG
+CTTTTATCTGTTCGTAAGTGACGGTATTTAACATATGCTCCTTTTATCCATCCCATCGTTTCTTGCCACA
+AACTCCAAGGGCGGTGATTAACAAAATAAGGGTAGCGATAGTGTTTCAGTGCTTTATTAATATGATAGTA
+ACTAGCATACCATGCTCTCATAGCAAATGTTTTACCAACCGTCATTGGAGCTTTGAATTCATTCGACCAC
+ATTAAATATGGTAACCGCTCCCTTTGTTCATACCACTGGCTAAATGCATTAACACCACCTGGCTCCAGAG
+TTACAAAATCCGGGCGTAAATACCCCTCTTCAAATACCCAAAACGGTATATTTTTTTTAGCACAAATATG
+GTGTGCAACACGATGGTAATAACGGCAATCACCGTAACAAATTACTAAGTCAATTGCATTCTTTTTTAAT
+ATCTGTCGAAAGAAAGCATCCCATTCCTCAGGTGTATCATAATAGTTTATTTTATCTCCTACACAAGGCC
+AGCATTCATCACCACCATTGAAATTAACTTTTATAACATAGTGTCCGGCTAAAGAAAGATGCTGGCTTAA
+TATCTTATAAAAAGGTCCTAAAGGCCCTTGTAACAACAAAATATTCACTTACACATAATCTCATTAAGGC
+AAAATAAAGTTATTCTATTTTAGTGATTGAAATAAATAATTAAATTTAATCCGCCAGCGTCTCCAACGAT
+TTAGACCTACGACTGGAGTCTTATTTTGCCCTGCCATAAGATGAATTAATTGTTCAGAACTACACCAAAG
+ACCAGTTTTCCAATCGATATATCGTGGATATTTAGTTAATGTAATATACACTAACGCACTTAGTGTTAAT
+GTACGCTGACGTCTCGTTGGAGGATATATGTCTTGTGTCAACCCCCATCCACTATAAAAAGGTTGTCCCC
+AAGTAATAACATTCACTCCCTGAACTAAGGCTTCGAATCCACTCAGCGAAGTCATTGTATGCAACTCATC
+AATGTGAGGGTAAAGAGAGGCCAGTTCAATATCTATTACCAAGCTGTCAACACATTGAGATTGACACTTT
+GCTGAAACAGCACCCTTTCTATTACCGGAAATCACATCTGGATGTGGCTTAAAAAGAATATGTGCATTTG
+GTTTAGTTTTTCGTACTGCCCATAATAATTGTTCATTACTACGGATAAATGGGCTTCCATATAAAATTGA
+TGCATCTCCATCCACCTGTCCTACTACTAGCACCAACTCGCGGCCATCTTGTGGTGGGTGGAATTCGTGA
+GATACACCTACGTTATATTTACTCACTCTGGATGTTCGTAATAGCCTTAGCAATGCATTGCCCCGAATCA
+ATATTTTATTATCCAAAGGATATGTATTAAGCAATTGTTCCAACTTACTTGGTCTAAAGCTATTAAAATA
+TATTCCTACAGGATCAATACAAAGTGATGAGGGTCGACAAAAATTTGAACCCAACCCATTGGAACGAATA
+AAGCCATCTTCAACACGAATAACAGATTGTAACTCTGGATAACTATTTCCCCAGACTAAAACATGCTCAT
+CATCTTTAAGATGTGGAGGCAAAGAACTCACAAAACAAAGCTCTTTGGCTAAATGAGCACAGAATGTACG
+CATAAATGAGCGTTTCCATAGAGAGAACCCGACCAAATAGAGGCGCCGCCAGCGTGTAGCTTCAACTTGC
+TGGTGCGCAATGATATCAATGACATCTTCGACCTCACAGCATTTCTCTAGGATAGGATCAAAATAGTAAG
+GATAACGAATCAATGCAGCAGCAACTAATTGAGGTAATGAAATGGAGGAGAAACCATAGACTGACATTGC
+CTCTTGTCGGCGAGCACACTTTTTGCTGTCATGAGTTAACCCCCAACCAGCATAGAATGGCATGCCAAAA
+CAGTATACCTTTTTACCCAAGAGCAATGCTTCAAACCCAACTTGAGAAGAAACGGTATATACCGCATCAA
+CAGTATTGAGCAACTTATGTGGATGTATAGAATCACTCACCACCTCTACTTCAGCTAATATAGGCTCGCG
+ATTGACCAAGCTCGCTAGCACACCTCTTTTTTTGCTAAAACGCGTATCTGGGTGCGTACGCAACAATATG
+CGCGCATTAGGGTGATTACGACGTGCTGCAACAACCATTGCCAGAAAATCGTCTTCACTAGCCATGGCCC
+CCTGAATGGATAAATCACCTAGAACCTGATCGACCAACAAGATACGAGGTTTTGAATCACTCACAAAAGA
+AATAAAATTATGAGAGGGGGAGCTATCGTTAATCAAAGGTTGAGTGTTGGTTGATAAATATATCGAGGCA
+TTATCCGAATTACAAATTATGCTATTGTCATTATCAAAAGTACTATCTTGTGCGTAGCAGTTATATTTGG
+TGATACCCAAACGTACGATATTTTTGATCAAATGTTCTGCACGTTCTATCAACTGTCTATCAATAGGGGA
+AGCAATTAAATTCTCTAGCTGACTAGGTTGTCTGGCATCATAATATATACCTATTGGGTCTGCGATCAGA
+GACACGGCTTTCCCAGTTCGCCCTGGATGACCAATATATCCTATAAAACCATCTTCCAATTGCCAGTAAG
+GAGCACTCCATTTTTCGGCTATGCTTTTTATTTTTCTTGTGTTATCTTTCTGACCCCAGCCTATAAAGAC
+ACTATTTTTATCAGGGGTTTGTTGTTTTTTTAAATAACGCAATTCCATATTTAGGATGGATTGTATATAA
+TATTTCTTAGCTAAAATCCCTTTTGAATTTGTATATAAAATCATATTAAACAAAATTAAATTAAAAAAGT
+TAAACTCAATAACTAAAAAACAGGGCTCAATAAAGATAGTGAAATATATTGAAATTAACGCTCATGTATC
+ACACATAAACAATTCATACAATATAATTTATTCAATGTTTAAATTAATAAAAACACTATCATCCCAAATG
+TATATCAATAACATATGGGAATTCAATCATGTAGTTTTAACTTAAAATTAAGGTTAGTAAGTTCTTATTC
+ACAAACACATTTAAATTTGACCATGAAAAAATCTAAACATCCGTAAATATCCCTATAAACAAGAATACTT
+ACATATCCTTACAGAATTATATCCAGAAGATAACCTATAAGAGTATATCAGGAAGACAAGACATTATTCT
+CAGCGGCTAAATTACTTATCGTATCGTCACTAAAAAATGATATCAACATATCAAGTTGTTCTTTGTTTGG
+ACTTGAAGTCACATGTTTGTCTGATGAATGATGATTTAGGATAAATAAACCACCTTTTTCTACTATTGCT
+TGACTTATGCTCTCCAGATCAAACGAGTCAGCTAAATAATCCCCACATTCTAGATATATCTTAGTAGGCT
+CATTTCTTCGTATAATTTCGGCAACGGGAATAAAATTTTCACCACATTTATTAATTGATTGAAACCATGA
+AGGATCTTTATGAAGAGAGGCTGCTTCAAGAGATGTCTGAGGATTTATAGATATAACGCCCCCTAGATTC
+AATTCTAAACCTAATCTTAATGCAGCGTACCCTCCCATGGAGCCCCCCACTATATATATTTTCCTATTAT
+CTAACTTGTATCTATTTGAAATTAGGAAAATTACTTCCTTATAAACATTGATCTTTTGATTTTCATGCCC
+ACAATACCATGTATTTTCTGTGTCGTTAAGAAATAGATATGCTGTTGAACCATCCCATTTCTCAGTGTCA
+TCCCAGAACCAAGAATATCTGTTGTAAGTTTTTCGTTGTGAATATCCACTAAGAAGCACCACTAACCGCT
+CTGCATTAATTGATGGATATAATAAATAATCAATGTATTTATACGTGTGTTCATATTTTTTTAGGATATA
+CTCTCTATCAAAAGGCATCTTTGAATATATTTTTTTGTATACCAATTTTACCACTGAATCCTTTAATGGA
+AGCCGGTTACGTATCTTATCTAAAGATGGTGAATATACTTCCCACGACCTATATATTTTCAGATAGTCTT
+GGTAATTAAGCTCAGGACTACCGTTATCATTCATGTAATTTTCAGCTGTAAAGTTAATAATTTCTTGAGT
+GTTCATAAACTTCATTCAAAATAGAATATATGATCCTTAACCTTCCACCTTTAAGATGAACTATTAAGAC
+TTTATTTAAATTATGTATATACTTTATTTTCTTAGCAAGAGAATAAATTTCTTCATCTTCAAATAATACA
+ATTGAGTATCCGGATAATAAAATACTGTAGATTTCATCAACTATGATTATAAATGATTTTTCTTCAATTG
+CAGAATATGATATATGACGATGTTTAAAATTTTTCAGTTCCTGATGTTCACAAATAGGCATACGTAAACT
+ACAAATATACCATGGTTTTCTTTTTAAATTTCTGAGTACGGCAAATAAGGTCTTAAAAGAGAATTTTTTG
+AGCAATTGAAAAGTCCGATATTATGCTGTTTTAGCTGTTTATATGCTTCTCTAATATTTTTTATCTGAAC
+GCACGTAAAATTATCAATAGGAGATGTTTTTTTTTCAGAATAGAATCGTGGTTTACTACGTGGATACTGT
+AAATCGACACCAAGCAAGTAGATATTCTTTGCTCCAAGAAACGCAGCTAGTTGTATTGATAGCATTGTCG
+TTGTACAACCAAAGTAAAAACCATTCGCGAGATTGAAACTAAATCCATCTCGGCCAATCGCTCTGACATA
+GTATGTTCCATCAATAAGGCCAGGAGCATCATGCTTTATTAATTCCTGACGAAATACCCGTACAGTACTC
+TTATGAACTTTTTCTGTAGCAATTAGATATTTATCATCATCAATTAAAAACCTCTCATCACTAACAGTAT
+AGTAATGAATATTTAGCCCATACATTTCTGTCAATAATGGAGTGGCATTCATTCCTATTACAATTTTTCC
+ATTTAACTTATCAGCTATTTCAGATGTATTTGCCGAATGCCCATTTGCAACAATATATATATCTTTTCCA
+AACTCTTTATTCTTTAAATTTTTGATTTTCATATTTCACCATTGTAAATTTGCAATAGTCTGGAAATAGT
+TTTACCTGGGAGAAGGAAGCTATTATAATATGATAGACTACTATGTTGAATTTTAATTATTTCATCTCTA
+TTGTTAATCAGCTCATTTAATTTATGTGTGACATTTTTATTATTCATGATAATAAAAGGTGGAGCACTGT
+CAGCTTCAGCAACCTGCTCAAGAAAAGTATTACTAAGGCAATCGCTGTTATTAATAACAACATTCCCAGC
+AGCAAGACCTTCAAGTGAAATCTGGTGATATGAACCTGTAACTATTTCATCAATAGTAATATGACAACTC
+CTACGTAGTTCAAATAAGGTATGCGGCGATAACTTATCAGGTATAACTAACTCGATATCATCTTTTTTAC
+TGATTAAATTTAATGCATTTCTCAATTCTGTTGATGTTTTATCATTCCATCTTCCTCCCACTCGGTTATG
+ACTTGGACTAAATATTATTCTTATTTTATCAGTAATGGGAGTAGGTGATAGGTTCGGCTTAAATGGTACA
+ATATTTAATAGTGGAATAAAATCTTGATAAAGCCTAGGGTGGTATTGAGCAACAACAATTTTACGGAAAA
+AATCGATTCCCATTGACTCATAATTATAAAAAAATAAAGGCCCCTCTCTTAATGGAGAGTGTACATGATA
+TATAAATTTACATTGTTTGCAGTTAGACAAGATTAGATTAATTATTTCATGGCTTAAATCATTATGAATA
+TGACAGACATCAGCTTTGCTCACTACATCAATTAATAATGGCTTAGTATTTTGATTTATTATTATACTGG
+AACCGATAAATTTTCCACAGAGATCGCCAGGATAATCACGCTCTATGAAGCAAACAGATTGCACTGTATC
+AAGTTTATTTAACTCATCTGAAAAACGATTTGGGCTTCCTGCGAGTGGCGTTTTAGATATATGTACAATA
+TTCATCAATTCTCAATCTCCAACCTGAAGCCTTCAAAACTAACTTCAGATATGAAATAACTTATATTTTC
+TTGCATGATAATATTTTCATAACGCTGCATTATTGATTCACGACATAGGATATATTCAATGTTTTTTGAC
+AAAATAGAAACAAAGTCATAAAAACTTTTCCTTTGACCAATTATAGGTAACTTCCCTCTAAGCTTGATAT
+AAACATCACAATCACTTTCATTTATAGAATCTATATTTTCAATATATGGTACATGTCCAAAACACGGAAC
+CAGCAAATCGAATGGTTTAGCACCATGAATTAAAATGATATTATGAATAGCATCAATGAGTTGGTTAGTC
+GTGCAGAATGTATATATCTTCTTCGCTTTATTTAATGAAATACTATGCTTGCTATGGATAATGCATACAT
+CAATACCTTTCGACCATTTTAAACAACGTTCAATTTCTTGAGTCGACACATTTTCAGTAAAAATACAATG
+AATATTTAAAAAAGGAGATGTCGATTTTAAAAACAAAGGAAGATTATTGGCAGGATCAACTATAAAAATA
+TTTTTATATCCTGAGAAAGGTGATGTATTCCAAGGCGAGTTTTGGATTTCTCTCATATCAAGATAGTTAC
+TTAGTGACTTCTCATTTACATTCAGAAGAAATATGTTATTATCCCTGAATCCAATAAAGTCATTTTTGTA
+TGAGATGATATTTGAATAAATTGGTTCATTTTTCGGAAGTGAACTTTTTCTAACCTTAACCAAAAGTGAT
+GAAAAATCATAATTTATTGGTTTACAGCCACAGTCAGTTTTAATTGACAACCCAACTTTTCCATCTAATA
+CAATATCTCCAAAAACATGTTTTCCTCCGTGATTACCATCATTATTATGACTGTTATTACTAGCAACTTT
+TTTTACAATCTTTGCATCTGCAAAAAAAGCCTTTGGATTATTAATTAACTTTCTAAATTTCCTTATGACA
+ACATTTTTCTTCATAACATACTCTGATACAAACAATTATACCGATGCGAAACCGTTTCCCACGTAATTAG
+ATTATGTGCTTTATAATTTTCAATTTCATTCTTAAATAAAGACTTCGCCATTAATATTTTATTTATATCA
+CTAGTGAGGTTGTAATCAAGGAGAAACCGAGTATCCAATAGATCTTCAGCCATACCACTACGAGATGAAA
+AAACTAAACAACCTGCTGCAAGAGCTTCAGGTAGACATGCAGGGCCTCCTTCATAGGGAGACGTAATTAG
+AACCATATCAATAGCACTATAAATCCTTATAATATCGTAATAGCTAGTTGGATGTATTACATAGATCTGC
+TTGCTTCTTTTTTCAAGCCTTTTAGGCCAGCAATTACCAACCAAATATAGCCTTATATCATTAGGTAAAC
+CAGCTAACAAATCAAATAAATAGGCGTCCCCTTTTCGGCCATCACTATAATATCTACTTATAACAGCAAC
+ATTAAATGTAAAATGAGGTTTCTTTTGCTGTCTTAGCTGTAATCTTTCATCATAGCCATGTGGTATTAAT
+ACACGCTTCTCCCCCAGAAATGAGCACTGTTCAAATGAATTTTGGTTTAAAAAAACAACTTTTTTAAATA
+GCGAAAGTTTTTGAAAAAGTTCTTCCATTGAAGAATGTTGCCTAAAATCAAAAGGGTCAAAATGTAATGT
+TACCAGAGATTTTTCCGGGATTTGCTCTATATCACATTTTTGTGGGCGATGAAAATGATAAATATCTGCG
+TATGATTTGGGTTCAATACTAACCGTATGTTGAAAGCAGGATAAGGAATTTTCTTTTATTCTAAAAATAA
+AATCTCTAAATATAGATGACTTTACATTCGTACTCATTACATGATTGATTAATACAGTCATATCAAACTA
+TTTTACATCCTAAAAAAGTTCTGTTTAGCTAGCAGAACTGCTGAAAACTCTAATTTTGATTCTATTTTAA
+GTATAAATCATACATTATTCTAACTACCTAACTCGAACTATTAATAAGGAGAAAGTTGAAAGTGCCAATC
+ATAATAACAATCGCCTGAGCAACCAAGATACGTATCTACCAGAATTGCCATGTAATGATTAAGACTTAAT
+CATTATAACAACTTCTATTTAATTATTCTTTTTTAAACATTTCTTTATGATTAATTTTTCTTTCTGACAC
+TACGCCCTAATTAAACTGGATGGACTACCGGGTATCAGACTTGATGCCAAGCGTAGTTACACTGGTATCG
+ATATTTCAATATTATCTTAAAGATACAATGTAATCGCAACTATCTGGTGATGAAAACTACTTAATTGTAA
+AATTTAAACGAGGAGCAATAATAACAAAAGCCCCCATTAAAGCTATCATAACCAGATAACAACATACTTT
+TGTATGCTAATTAAGTTTTAAGAAATCCACTGCACACATTTCCTTCCCATCATCCACTCATGAGTTTTCT
+TGTGAAACTAAAAATGCAAATAAAAATTTCCACAAATACACTACTTTGTATTTCTATATATCTATAGAAT
+ATCTTCTAAGGGATAGAACCTTATATCGAGCACTTATTATGCATAGATATAAATAAAAGATTTATATTGA
+TTTCTTTAATGTATCAACTAATTAAAACATGACGGGATACATTTTATTTTAGCACGGAATATTTTTCTAC
+AGCAATTATTTCAAAACCCATATGAATATATAGCTTATAGCTTATAGCTTATAGCTTATATTTAAAATTT
+TTACTTACATTTAATTAAATATAATCCAATATGGATTATATTAATTTTTATAACCCCCGTATACGCTTAA
+AAAATTTGAAACACCAAAAAACATATTACATATCTCGAATTGCCATCATAAATTATATTTTTGTTAATTT
+CATTTTTAAGTTAAAATTATTTTATTTTTATATTCACATATGGCTTCATCTATGTTATCAAAACGGATCA
+CACGATTCTCATCATAAAAAACAAAAGCCATATCGCAGTAATCTTTTAGAGAATTCAAATTATGTGAAAC
+CATTATGAAACACGATTTTCCCCTCTTTGAATTAAAAACATCAAGACATTTTTCTTTAAATCTCATGTCA
+CCAACAGCTGTTACCTCATCAACCAAATAATAATCAAAATCAAATGCCATACTAAGACCAAAACCAAGCC
+GAGAGCGCATACCTGAAGAATAAGTTTTTATCGGCATATCAAAATATTTTCCCAACTCTGAAAAACTTTC
+AACAAATGCTACTTTATCTTGTAGCTCATTTTTCCTTGAATATAATCTAGCAACAAATTTCACATTCTCT
+CGTCCTGTCAGACTTCCTTGAAAACCGCCTGAAAGGCCAACAGGCCACGATATTGTTTTTTGAGTTATTA
+TTTCCCCTTTGTCAGGACGATCTATACCTCCAATTATTCGTAAAAGAGTAGACTTTCCTGCTCCATTGCG
+GCCTATAAGCGCAATACTTTTCCCTGTAGGAAATTCAATACTTAAATTTTTAAAAACATAATGCCGCCCT
+TTTGGCGTACGATATGATTTAGTTAAACTTTCAATTTTTATCATGATGTTAACATGTATTCTTCACGAGA
+TGAATATAGCGCCAATCCTAAAAACAATAATATTAACGTGCTTATAAATAAGTAATATAAACTAACCCCT
+TCAGAGACATAACCTGTAACAACGGATTCACGACAAAGCTCTACCACATGAACAATGGGATTCCATAATA
+TATATCCCCAATAACCTTTTGGTATTGCATGTAATGGAAGCATAATACATGATACAAAATATAATGGCTT
+GAGTATTATTGGTAGAAACTTCTCTGTTTCTGGAAAAGTTTTCCCAATTACCATAAAGATCAACCCAATT
+CCACATGAAAATAAAGCCAGTAAAATCCATGCGCTAAACAACAGCAATATATTATATATTTTAAATTGCT
+CCCCTATTATTAACAATAAACTCATCAAAACCAGATATACTATGCTATAAATTAGCACTTCTAATATTGC
+TCTAGCTATAATTGTATCTATAGGCCTTACTGGCCTGTAATTAAATAAGCCTTGGTTTGCCTCAATTGCC
+CCTATAGACCGCGTAGCAATATTGCTAAATATAAAATAAGGAATTATTCCATTTATTAAAAATACAGGAA
+AGGAAATATCTGGCATTGTGCGATGCATAAAAAAACCAAAAATTGCCAGCATTATTAGAAGATGAGCAGC
+TGGTTCTAATACAGCCCATAAATAACCCAAGCGATATTTGCCAAACCTAGTTCTAAGCTCACGTAAAAAT
+AGAGCATGAACGGCGGCTTTCTGGACTTCAAATCCACTTCTTGCCATTTGATGATGTGCTCCTAATCTCT
+TCAGGTACGCTACCGCCCTTGGCTTAACAGCTACCAATACACTGGAGGTAATGCTTATTTGTAACTGGAT
+AAAATTTACTCAGACGGTTTGACCTTTTTAATAGCCGAAAAAAATTTCAGCAGAAATTATTTCCGCAGGG
+ATAAATAGATCTATTTCCGTCTAGTTCTTCTAATCCATTCTTCAGGCATAAATGTATTCGGTCTTCTGGT
+AATTTCAGAAAACTGGCCGTTTTAGAATGTAGAGTTAATTTCTCAGGAAATTATTTTTTGTTATTACTGT
+TAACTACTTGATTATAATACCACCTATGTATTTTATGCGTAACAATACCTGCAATCTGTTTCAAACCAGA
+ACGCACGCGATTGATTACCAACAAATTGTTCACTAAGAAACTATTTCCCTATTTAAAATTCACTCATGTA
+CTTCTTATTTATATCTACAGCCCCCTCTTTACAGTCACATTTGTGATTTACATCACATTTAAACGGTGTT
+ATTTAAGCCCCTTTAATAATTCCGTGAGTAATTATTTTCGTCAATTAAAATATACATCTTGATTATTTCG
+TGTATTTATTTTAACCAGCGTTACAGCCAGCATTATCCCTCAGTAGATATACCTGAGCAGACATTTCTTA
+AAATCGACGAATAGTTTCCCTGGAAATTATTATGCTTACTTGAAATTCCCTTTCTGATTATCTCCAGTAA
+TTTTACTAATTTCCAGGCTACACAAAATACAGATCACATAAGAATTATCCTATATGTTTTGACCTATCAA
+TTGTTACTCAATGATTTATTACAACTATTAATAATCATAATGTGTCAAAACACTTAAGCACCTTTACAGT
+CTGAGAAAGGTGTCGATTAACGAAGGCTACATGGTGAAAAACAGGTTCCTTCAGTGTTACCGAATATTCC
+GTGGTGGTCTGGAGGGAGATAATTCTTGCTACATCGGAACTCAGCCCGGTGAGCGGGTTTGACAGTTCCG
+CACTCACCATTGGGCTAAGGGTTATCAGGTGGGGTTAAGGAAATGGCAATACCTACCCCCGTCCAAATTC
+CAGTCGCTGCACATTCACCATCCCAGGCTTCTCAGCAGCACTGACATCAATTTGTGTCACCCGCAGCGCA
+TATTTTTCATCCAGTGCGTTTAACCAGTTCAGCAGATCATTAAATACCACAGGATCTATCCAGACCTGGA
+TATTCTCCCCGCGCTCGGCTATTCGCTTAATGGCCACAGAATGCGCGGAAGCGCTGTCGCTGATGACCCG
+CGATACCTGTGCTGGCGTTGTCGTGCCGGATTTTCGCGCCGCAATAATATCCGGCGCGGCGCTCTTCAGT
+CGCGCGTTCATCGCCACCAACTGCTGCAACATCGTCTCCTGTTGCTCAATCCGTTCGCTCAACGGCTGCC
+AGATGAGAACGTAATATCCGGCGCTAAACAGGAACACTACCGCTGCCAGTAACATGCCTTTTTCACGCGG
+AGAACGCCCCGCCAGGTGTTGTGTCAGCCAGTGTTCGCCACGGCTTAACTGGCGTTCACGCCATTGCTGA
+AAATAGTGAATAAATTTATCGCGTAACATGTTATTTCCTCCGCAACGTTACGCCGCCGGAAACCGCATCA
+CCCTCTTTCTGTAACGCGTCCTGTTGCACAACATAATCTGCCGCCAGTGCACTACGCAGTTTGTCGAAAC
+TGGCAAAGTTCGCGGCCCGCAGCTGGAGGTGAAGCGTCTGGCGTTTTTGATCAAAGGTGAAACCACGCAT
+CTCGATGTCGGAAAGTGACGCCGTTTTCAGAGTACTGGCGATCGCTGACAATTCTGCGAGCAGCCGGGTA
+TCGTCGGCCTGTGGGCGATATTTTTTCAGCGCCATCGTCACCTGAGAGCGTAAATTCACAATCCGCTTCT
+GCTCCGGGAATAGCGTTAAGAACTGTTTCTCCGCCTGGGTGCGGCTTTGCGCCACCTGTTCGCTGACGCT
+CCATAACGTCACGCCCCGTTCCACTACCAGCGCAACCAGAATCAGCAATATCGGCAGAATCATCACCCGC
+CAGCGCGCCCACTGTTTTCGGTAGCTGACACGAGGCTGCCACGGCCCTGTTAGCAGGTTCCCTTCCGGTT
+CGCCATAAGTGGTAATGGCGGGCAGAGCCGTAACGGTCAGGCGTTCGGCGTCCGCACCAGCCCATGCAGA
+CAGTTCTTCCGGTGCAATGCCGACCACGGTTAGCGAAAGCGGTAAATCCTGCTCATTGAGCTGGGCGTGG
+AACATGACCGGAGCCAGCGCCAGCCCGGCACTCCATCCCCGGCATTCATCGATGCGGCAGATAACCCGTT
+GCGCATCGCCAGCCATAAACCCACAAGGAATGGACATCCAGTCCGGCGCGACGATAGCGCGGGTGATGCC
+GTTTGCCTGCAACCACTGCGCAATGTTGCGCATATGCTGCTGGTGAATCACAGCTACGGTTGCCAGTTGC
+TGGTCGATTTTCAACGGGGCGAAATGCAGTTCATCGATATCCTGGTTCAGCTCTTCTTCCAGCAAGGCGG
+GCAGAATCGTCGGTATCTGCTTGCGGGGCACATCAGGCAGTTCAACCTGCCAGACGCTGATCCATTCGCC
+GGGAATGTAGAGTCGAATCGCATCAGTTTGCAGCCATTGCTGGAGACATTCATCAGCAACGTCAGGCCAG
+ATGCCGCACTCCACGTCGGCGGTACGACGCTGCCAACGGATGGGAGCGGAAGCGCAAAGCGGGAAAAAAA
+TCTCAAGCATGGAACTCACTCACTTTCTCCTGTCTGATGCCAGAGAACAGAAAAGTGTTGTGGGCCCATG
+CGGACAATTAACGAATTCATCGTCAGTTCAATCTCATTCACGGTGATATCTGAACGCAGCCAGAAGTAAT
+TGCTGTCCACGCTCAGGACGGTTTTTAGCTGTTTTTTAGTACGCTCATCGACGTCTGCAAGTAGCGGCTG
+AGCAAGAAACTGATCGACATCTTCCCAGCCCTTCGCCGGACGTTGTTGTAATAACGCCCGCGCCTGAACA
+GGGCTTAACCACGGGTCAAACAGCGCCTCAAGAATCACACTTTGCGTGACATCTAATGTATTGATGTTGA
+TTTGCTGGCGGGCCATCGGCAGCGCACAGACCAGCGGTTTCAGTTTTTGATAAAGCCCGGCGTCCATTCC
+CTGTACCACGCGCATTTCGCTGATATCCGCCAGCGGTTGATTAGCGGCGTAGAACGGCACCGAGCGGGCG
+AGATACTCGCTGTCTTCACGCCCCAGACGCGTCTGCACGCTGCGGTCCTCGTCAATAAACTCCCACAGGC
+TTTCGGCTATCAGTTCGGCCCGATAAGCAGGCACATCCAGGCGCGAGATCAGGGCAATCAGTTGTTGTAC
+CGCGATAGGACGCGACGCCGTTGTCGGCTGAGCGAGGGCATTCAGGTTAAAGCAGGCCTGGGCGTCACGC
+AGGGTGACGGCAATTTGCCCCTGCGGCAGTGGGAAAAAACGCGGGCCAGAAGCCCACGGCTGTGCCAGAT
+GCACACGCTTTTCATTTTTCAGGCTCAGACTGAGTGCGCTCAACGCCAGGCTTTCTGCACTGGCGCTGTA
+CCACAGCGCCTGCTGGTACTCCTGCTGGCTGCGCGTTCGCCCAAGTTGTTGCTGCATCCGCCCGGAAAGC
+GTGATGGTCACCAGCATCATAACCGCCAGCAATACCAGCACCACGACCAGTGCCATTCCGCGTTTTGGTG
+GTAAGGTGATCATGATAATTGCGGCCCGCGTAACAACCAGATGCGTTCAATTTCGCCCCATTGCGGCGAA
+TGCAGGGTTATGCGTACTGCCACAGGAACCGCCTGCACTGATGACCAGCTCTCCTGCCAGCGCGTGCCGT
+CGTAGAACTGCAAACGGAGCGAATCCGCCGGGATTAATTTTTGCGTTGTTGGCTTCACGCTGCCTGCCGC
+ATCGGTCAGTGGCCAGGCTAACCGTTCGAGATAACCACCATGAATGCGGTAACCGACGGTGAGCAGATTA
+CTGCGCGGCAGACGCATCAACGGATTAACCACGCCGCCACGTACAAAACGCATCCCTTCACTCTCAGACG
+CCAGCACGCCAGCGCCCGCCAGTAACGCTGGTTCACGCTGGCCCTGATCGCCTCTTACCGGACGCGGCAT
+CATTTGTGTCAGATCGTGGTTCAAAAAACTCATCGTTTGCTGCATGAGGTTTAGTTTTTGATCGTGTCCG
+GCGACGGCGCTATTCACGCGTGTAACGCCGTTTGTCACCTGTTGCGCCATCAGTGCCAGTGAGGCAAAAA
+TGGCTATCGCCACCAGCATTTCCAGTAACGTGAAACCAGCGCTAGCTCTTCTCACTGTTGGCCTCCCACG
+GCGCTAAACCAGGCGCGTCGTGACTGAATCACCGACGAAAAGTCTTCGTGACGGCTGACTTCAATATCCA
+CTGCCTGAAGTAGCGCGTTACCGGTATTCAGCGGTGTGGTTCGCCAGTACCAGCGGCTTCCTGCCATATC
+ACTCTCGCCCTGGTGCCTGACCGCTCGTTGTTCACGGGTCATCAGGTAAAGCAGCGCAGTCTGGTTTTCA
+GCTACCCAGCCCGCTACCGTTTTCTCCTCAAGGATTTGCTGATTACTCAGCGCACCGCTGGCAATCTGTA
+ACACCGCCGTGGCAGCCAGCGCAAAAATCGCCAGCGCGAGCATCACTTCCAGCAAGGTAAATCCGCGCTT
+CATGGCATCCTCTCATCACATTGATTGAGGGATAACGCGCCATCGTGCGCCAGCTTTACCGCCCAACATG
+CGTTTTGCGCCGCCGAGTAGAAGCGCAGCGTAAACGGCGTGGCGGGTTCAAAAGGCGAAAAACGGATCTG
+CGGCGTCTTCTTTTTCGCCTCTTTTTGCAACTCCAGTTCAATATCGTGCAGCGTCAGGCGACGACGTTGC
+AGCTCCAGCGCATATTCCTTCTGCCAGATATCACTGCCGGGTTGTAACAGCATCTGCACCTGTTTCGGCA
+CCGTAACCTGTGCCGATAACCGGGTCGCAGAAACGGGCAACCACTGCCCCTGACGACGCTGCATAAACTG
+GTATCCCGGCGGGTCGATTAACACACCGAGTGTCTGCCCTTCAATCACTGCCCTGTCCTTAAACTGCGCA
+AAGCGAGTCAGAAAATCCTGCGCCGCTTTTTTCGCGGGCGATTCAGAATCGGTCGCAAACGTCTGTACCA
+CGCCCGCACTGGCAAGGCCGATAAGGAAAATCACCAGCATGATTTCCAGAAGTGTGAATCCGCGTTCAGG
+CACTGCTTACTGAAACTCCTGCAAATTCCAGTTACCGATATCTGCGCCAGCGCCTTCCCCATTTTCCTGA
+CCATCCGCCCCCAGGGTGTAAACATCAAACAGTCCTTTTTCACCCGGGCTGAGATACTGATAATCATTGC
+CCCACGGATCTTTTGGCAGTCGTTTAATGTACCCACCGGTACGGTAGTTACGGGAATCCGCCATATTGGC
+CGGTTGCTGGATCAGCGCCTCAAGCCCCTGTTCTGTGGTCGGATAACGCCCGTTATCCAGTCGGTACATA
+TCCAGCGCATTCTCCAGCGCCACGATATCGCTGATGGCTTTTTGCCGATCCGCTTTCTCTTTGTTGCCCA
+ACAGGTTAGGCACCACCAGACTTGCCAGGACGCCAAGAATAACAATCACCACCATCACTTCCAGCAGGGT
+AAAACCTGCCCGTGGTTTTTGTGTGCGGGATAACGAATTCATGTGATAACTCCGTAAATTACATTCCAAC
+CATATTGTTCAGTTGCAGCATCGGTTCGAGGATGGCGATGACGATAAACAGCACCACGCCCGCCATCATC
+ACCACCAGCGCCGGCTCAAACAGCCCTAACGCCAGCCCCACCTGGGTATCAAATTCCCGTTCCTGGTTGA
+CCGCGGCCTGTTCAAGCATGGTTTCCAGCTCGCCGCTCTGTTCGCCGGAGGCGATCATGTACAACATCAT
+CGGCGGGAACAGGCGCAGATCCGCCAGCGCGGCGCGCAGGCTGCTTCCTTCGCGGACGCGATCTGCCGCC
+AGCAGCAGTTGTTGCTCGACATAACGATTTGCCGACACGGCGGCGGCGGTCTGAATGCCTTCCAGCAGCG
+GAACACTGCTGGCGGTGAGGATACTTAATGTGCGGGAAAAACGCGCCGTATTCAGTCCGCGCGCAACACG
+CCCCGTCACGGGCAAACGCAGCAAGGTTTTATCCCAGCGCAGGCGCATCGCAGGATTTTTGAGTAGCCGT
+TGCCCCAGCACCAGAAGCCCCAGCAAACCCGCCAGCCAGTACACGCCGCTGGTCTGTAACGTGTCGCTCA
+TGGCGATGAGCATTCGGGTGGAGGCAGGCAGCGCGTGTCCGAGATGATCAAACTGTTCGATAATTTCCGG
+CACTACTGCCGTCAGCAAAATAGTGACCACGCCCGTTGCCACCACCAGCAGTACCAGCGGGTAGAGCATG
+GCCTGCAGCAGGCGTGATTTCAGACGCTGCCGCTGTTCGGTGTAATCCGCCAGGCGATTGAGCACCACGT
+CGAGATGTCCGGATTTTTCTCCGGCAGCGACCATCGAACAAAACAGGGAGTCAAAGACGCGGGGATGTTC
+GCGCAGGCTGTCCGACAGGGTATAACCTTCCTGAATCCGGCTGCGCAGCGCCATTCCGAGGCTTTTTACA
+TGCAGTTTTTCACTTTGCTCACTGACCGCCTGTAAGCAGGTTTCCAGCGGCATTGCTGCCTGTACTAACG
+TTGCCAGTTGGCGTGTGAACAGCGCCAGATCTGCCGCCGCCACGCGACGATGTGCGTGTCGCCGACGCTG
+CAACATTCCCCCTGCCGAAGCATTCAGCCGGGCTTCAATGTGCACGGGAATGAGATCTTTACCGCGCAAC
+AACTGGCGGGCATGACGCGCGGAATCCGCCTCAATCATTCCTTTGGTTTTGCGACCATTACGCTCCAGCG
+CCTGATAGTAAAACAGTGCCATTACGCCTCCATGGTTACCCGCAGAACTTCATCGAGAGAGGTTTCTCCG
+GCGAGCACTTTCTCAATGCCGTTGCTGCGGATACCCGCAGAGTGTTGCCGGACATAACGTTCCAGCTCCA
+GTTCCCCGGCCTGACGGTGGATCAAGTCACGCAATGTGGCGTCCACCACAATCAGTTCATGGATCGCGGT
+ACGTCCGCGAAAACCTTTGTGATTACAGGCGGGGCAACCCTGCGGATGGTACAGCGTGACGGCATGCGTA
+TCGGAGATCCCCATAAGGCGTTTTTCTTCGTCGGTGGCAGGCGCGGCCTGACGGCAGTCGGAGCACAGCG
+TGCGGACCAGTCGCTGCGCCATCACGCCCGTCAAGCTGGAAGAGAGCAGGAAAGGCTCCACGCCCATATC
+CTGCAAACGCGTGATCGCCCCCACCGCCGTGTTGGTATGCAGCGTGGAAAGTACCAGGTGTCCGGTCAGT
+GAAGCCTGAACAGCGATTTCTGCGGTTTCGGTATCGCGGATTTCACCGACCATCACCACATCCGGGTCCT
+GACGTAAAATCGCGCGCAGGCCACGGGCGAAGGTCATGCCGACGCGGGTGTTAACCTGTGTCTGACCGAT
+CCCTTCAATCATGTATTCGATAGGGTCTTCAACCGTGAGAATGTTACGCGAGTGGTTGTTCAGCTCCTGC
+AATCCAGCATACAGCGTGGTGCTTTTGCCGGAACCGGTCGGCCCCGTCACCAGAAAAATGCCGTGCGGTT
+TGTGTAACAGCTGGCGCAACTGCGCAGTCAGTTCGAGACTTAAACCCAGACGCTCCAGCGTCAGGCGAGC
+CTGGTTTTTGTCCAGCAGTCGCAGCACCACCCGTTCCCCCCAGGCGGAAGGCATGGTGGAGACACGCACG
+TCAATCGCCCGACCGCCCAGCAGCAGCGCAATGCGCCCATCCTGCGGTACGCGTTTTTCGGCGATATCCA
+GCCGTGCCATCACCTTAATACGCGATACCAGCAGCGAGGCCAGTTTACGACCGGGGCGCAACATTTCATG
+TAATGTGCCGTCAACACGAAAACGGATCACCAGGCTCTTTTCAAACGTCTCAATGTGGATATCCGAAGCG
+CCTTCTTTGATTGCCTCTGCCAGCATGGCGTTGATCAGTTTGATGATTGGCGCATCGTCGTCACTTTCCA
+GCAGATCTTCCGTTTCCGGTAGTTCTTCTGCGAGAGTAAAAAAGTCCTCAGCAGAACCGAGATCTTCCAT
+CAGCTGGCGGGCCTCGGAAGAGTCCCGCTGCCAGACCGCATTCAGCCGCTGTTCAAATTCGGCCTCGTCG
+ATTTGCCTCAGCGTAAAGGGCGCGTTCAGCCCCCGTTGTAGCTCCTGCAAAACAGAGAGCGACAACGGAT
+GAACATGGAGGATCTCCAGCGACGCTTCGCACCATGCCACCAGGCTAAACCGACGGCTGAAACTGTAGGG
+CAGACGCACGGTGTTAGCGGTGGTTTCCTGTGCTACAGGCACCATTAACGCGTTCTCCCGGCATTAAGGA
+ACGCACGAACTTCTGGCGGTAAGGCCTGATTTTGCGCTGGCAGTACCGGCTGCGCGGTGTGCGGCATCAG
+GCTCAAGCCTTGCTCATCGCGATAGATCTGTTCGGCGCGCATATAGTTATATTTGCGCTGCGACACGCCG
+TCTGCCGCCATACCGTCACGCAGAATGGTCGGGCGGATAAATACCATCAGGTTACGTTTTTCTTTTTTAT
+CCGCCGTCGATTTAAACAGGTTACCAATCAACGGGATATCGCCCAGCAATGGCACTTTCGCCACGCTTTC
+TCCCGCCTGATCGTCCATCAGACCGCCAAGCACGATCAGCTCACCATCGTTTGCCAGCACGGTGGTTTTC
+AGTTTGCGCTCGCCAAACACGACGTCGAGACTGGTCTGTCCTTCCACCTTCGAGACTTCCTGCTCAATCA
+CCATCTGTACCGCGTTTCCTTCGTTAATCTGCGGCGTGACTTTCAGCATGATGCCGACTTTTTTCCTTTC
+TACTGTATTGAAAGGATTGCTGTTATTGGAGCCAACGGTAGAGCCGGTTAATACCGGAACGTCCTGACCC
+ACCATGAAGAAGGCTTCCTGGTTGTCCAGCGTGGTGATGCTCGGCGTGGAGAGCACGTTAGAGCTGGAGT
+CGTTTTTAACCGCCTGCACCAGCGCCATCCAGTCGCCTTTCACCACACCAACCGCCGTACCGCTAAAGCC
+GGAAAGAAGCTGGGCGAGCGTGGAGAGATCGCCGTTGGTATCCGGGTTAATGGTGGTAGCGCCGTTTTCA
+CTGATTACCGTCGAGCCTTTCTGCGGTTTTGCCTGAGAAATGGCTGCACCCAGCGTGCCAATAGGGATCT
+GCGTACCGTTAGCAAACTGCATTAATCCGGCATCTTTCGACGCCCACTGCACGCCGAAATTGATATTGCT
+GCCTTCGGCAACTTCCACGATTAACGCCTCGACATGCACCTGAGCACGGCGAATATCCAGTTGTTCAATC
+ACGCTTTGCAGCGACTGCATGATGTCCTGCGGCGCGGTAACAATCAGGGCATTACTGTGTTTGCTGGCGG
+CGATGGAGACAACCTCACGCCCGCTACCGACGGTGCCTTCCGCCTCTTCTTTAGCCGCCGTGAGCGTGCC
+GCTGACCTGCTTCAGTACATCGACCAGATCTTCGGCTTTGCTGTATTTGAGATAGAAAACCTGGCTGTTG
+CCGCTGCGCTCCATTTCTGAGTCCAGCCGACGGATCAGGCGGCGCATTTTGTCCCGCGTGGCCGGGTCAC
+CACTGACAATCACACTGTTGGTGCGTTCGTCGGCGACAATTTGAGATTTCAGCGTCGCAGGCTGGTTCTC
+GCCGCTGTTTTTCGTCAGGCTTTCCAGCACGCGGGCAATTTCCGAGGCTGAAGCGTTATCCAGCGGGATC
+ACCTCTTCGGTGCGATTACCTGCGTGATCCACGCGCTGGATCACTTCTGTCAGGCGCTCCACAACTGAGG
+CGCGTCCGGTAAGCATAATCACGTTGGAGGGATCGTAATTAACAACGTTGCCTGAGCCTGCGCTGTCAAT
+CATCTGGCGCAGAATCGGTGCCAGCTCGCGTACCGACACATTACGTACCGGCACGACTTTGGTGACCATT
+TCATCGCCCGCGTAGTTGTCGCTGCCTTCACCGACCAGCGGCAGCGGCTCGACTTTCGCAGCGCTGGATT
+TCACCACCTTCAGCACGTCGTTTTCCATCGGTACGACGGCATACCCCTGTGCTTCCAGCAGGTTAAGGAA
+TAGCTGGTAATACTGGCGTTCATTGAGCGGGGTCATAGTGCGAATACTCACTTTCCCCTGAACGCCCGGC
+CCCATAATGATGGTTTTATTAAGGTTAGCGCCGACGGTTTCGATGAACGATTTCAGGTCGGTATCTTTAA
+AATTAGCGGTGAAAGTGGCTTCTTCCGCCCAGACCGGTGAACTGCATAATGCCGCTGCCAGCACCAGCGG
+CAGTAAACGCTTTTTTGTTTTGAGGCCAGTTGTCTTCTTACGCCAGACCGACAACGTAATATCACGCCAA
+AACACGATGAATGATTCTCCTGGATTAAATGCGGTTAGCGCAGCGCGATGGAAATGTCGTAGCGCGCACC
+CTTGCGTAAAACCGTAAGTTGAATGGAATCCATTGAAGGTAACTGCCGCATCAGAGCAATCATTGCTCGT
+GGATCAGTGAAATCCTGCTGATTTAGCGCAATGGCGATATCGCCTTCCTTAAAACCGCTGGCATCGAACA
+GAGAACGATCTGCCCCCGGTTTCACTGCATAACCGACAATCCCCTCCTTACGCACAGGCGTAAGCTGGAT
+ATAGTTAAAAATTTTCTGCGGATCTTTCGCCAGTGCCTGACGCACGGCAGCCGGGATCTCAACTGGCGCA
+CTGACAGCAGGTTCAGCAACAGCTTGCTTTGCTTCGTCACTGACAGCTTTTTTGTTGGTCACGGCAACGG
+TGGAACGCTCCTCTTCAGCCAGGCTCAGGCGCTCTATTTTTCCCTGATAGCGCAGCATCACATGGTCGCG
+GTTGATTTCCTCAATCACTGCGTTGTGCGAGCCAAGCGTTTCACCCTGCAAATAGACCTGCTGTTTACCA
+CCTTCTTCAATAACCGCGCCGGGTCTGGCACCAAAGGCGATCCCACGCAACACCACATTAAGACGCGTTT
+CGGCCACAGGTGCAGGTTCGGGTTGTTTTACCGGCGTGGCGACGGGCTGATATTTGCCAAACCAGTTTTG
+CTGGCTGATTAATTGCACGTCATTTTTATCGAACGCTTTTGCATCCGCACGGAGCGGTTTATTCGCCGAT
+GGGGAAACCGCCGTATATTCCGCAGAAAAGGAGAAATAGCGCCAGAGTGAATGCGCCACTTTTGCAGAAA
+TAATAAGCAGCATCAGCCAGAACATCCCGCGTGCAATTTTGCGCAGATGCTCTTTGTCTGTATTAAGAGA
+TTGTCTCTGGTTAAGAGTGTGACGAATTTTTGTCAGCCATTGAATGAGATAAATTCGTGCGTCACGAAAA
+ATAACCCGCGCCAATTTATATCTACCCGACGTTATGCTTTGACTATTCCACAGGTGGTACGATCCAGTTT
+CCGCTGATACTGGTTACCTGTACGTGTATCATTAATCGTTATGCTGTAATTAATTCCCTCGGTGATCATT
+AATTTCACCGTTGGGTCAGCGCACATTTGTCGTTGATAGCTGGTTAAAAAGGCGTCAGGTGTCTGCGTGG
+TCTGAGTACCCGATTCGCTGATAATGGTCATTTTTACCGTCGTGCCACTACTTTGCGCCAGCACTAAGGT
+ATATCCCGCAGATTTAATCGGCAGGTTTTGGCTGATATTTTGCGCCTGTTTTTTCGCCAGTAAACTGGCA
+TTTTCATTATGGCTGGCACAGCCACTTAATAATCCTGTAACGCTCAACAATAGCGATATTAATACCCTCC
+CTGGCATTTGTTTTATCGACATGGTAAATAATCTCTAAGGTTATTAATAAGAGTTAAAATGTCACTTTGA
+TAATGACGTGGTTATCATTAAAACAATGCCTGTAGATAAAGTGTTGCTATACCGCCCAGACTTAAACACG
+GTCCAAAAGGCAGTGTGGTTGATCCTCTTTTTGTAATAACGGCATATATCAGGCCGCAGCATGAGGCGAT
+TAAAGCAACATTGGGCAGTGATAATGCCCCCACCCAGCCACCTAACGCAGCGAAGAGTAATACATCGCCC
+ATGCCTAATGCTTCTTTACGCAGAACTATTCCGGCTATCCAGCGCAGGGAGTAAAAAGTGATAAATCCCA
+CCAGTACGCCGGTAACTGCGTCTTGTAGCGTTAACGGACTCTGTTGCGCCCATGCTGCAATCAGCCCGGT
+CCACAATACGCCCTGAGTAAAAACATCGGGCAGCCATTGGTTGTCGAGGTCAATGACGCTCGCGGCAATC
+AGCCAGGCGGATAATATCATCACCGCCAGCCCCCATCCACTTTCTGGCCACACCAGACTCGCTAGCAAAA
+AAGCGAGTGCTGTCAATAACTCAACCAGCGGATAACGCTTGCTGATTTTCGCCTGACAGTCGCGGCAGCG
+CCCTTTGAGCATCAACCATGAGAGCAGCGGAATATTGTCACGAACGCGGATGGTCTGCTGGCAATGCGGA
+CAGTGCGAACGCGGTAGCGCAAGGCTTATTTTTGACTGCGTACTCGGCATTTCACCGTGAAACTCCGCCA
+TTTGTTGGCGCAGCATGATGGGGTAACGCCAAATCACCACATTCAAAAAACTGCCGATAATCAATCCTCC
+GACGGTAGCCAGGACGGGCATCGCCGCGGGGTATTGCTGAAAAACATCAAAAAACATGGTTAAAGGTTAT
+TTGTTGTAACTTGCCGGATGCGGGCCTGCAGATGTATGCCATATGGCTTTCCTCCAGGCCCGATAAGATG
+GCGCAACCCGGTGCGCCTTATTTCATGCCGGATGCGGCGCGAGCGCCTTATCCGGGTTATTCAGCAGGCA
+TCGAATACTCGGTAACTTTATTAATGGTTTCCGGCCCTTGCTGCGGTTTCGGCAGATTAAGCGCCGCCAG
+CGTCTCGTAAGCCGACTGGCTCACACCGCCCTCGAAGTTCATCTCGCTCGCTCCCGGCAACTGGTAAGCA
+TTCGCGCCCGGATTCCATTTCTTAAAGAACGCCGAAAGATCCGTCTGGGCGACCCAGGAGGCACACAGCA
+TCAGCGTGTCGGCAGCGTTACCGTTGGATTCGGCACAGTAATTTCTTTCTCCAAACTTGGTTTTGCCAAC
+CTCATCGCCGCGCGCTTTACGGTGCATCAACTGGAACAGGTTCCAGCCTTTCATCCCTTCACGCTCGCTG
+TAGAACTTAGGCAGGTTACCTTCTGGATACCACTTCGTGATATCAAAGTTTTTCTCTGCCCATTCCTTCA
+GCTGCGCGTACATCAGCAGACGGTCACCCGCACCGCCGCGTGCCCATGCCTGGTTGTTGCTCTCCTCCAG
+ATATTCCGGTGCGACGGTAATATCGTCAGCGACACGGTTCATCTTGCCGAGATAGCGATCCTGCATGTAC
+AGCGCCAGCACGTTGTTCGCTACTTCGGTCGCGCCCGGTACAGTCAACGGCGTTTCGGCGGCGTTGTGAC
+CAGCTTCGTGCCAGATCAGCCAGTCGTTCAGCGGCGTCGTCGGCAGCGTGGTGCTGTTCGTCGAGAAGCT
+GCTGTTCATTACCGGATAACCAGAGTGCGCATCACCGATGGAGATCTGCACATCGTTGGTGAAACGATGC
+TTGTGCCCCGTCAAGTTTTTATAGGTAAACATCCGGTGCTTACCGTCTTCATCATTACGACCGTAGAAGT
+CATTCATCGAGCTGGCAAAGGTATCCAGTTCCTCAGCGAATTGTTCCTGACCGCCCTTGTAATTGCTGGC
+CTCAAGGTTCTTCTTCGGCGTGGTGTAGACGAAAGCGTCTGACTCCAGCTCGCCCAACGGCGCAGGGGAG
+TTCAGAGCGTTTTTCCATGCGCCATCTTTATAGAACGGCGCTTTCACCACACCAGTAAAGGTGAATTCGG
+CTGACTCATTCTGTGGGCTGTTGCCCTTGATATAAATCAGACCACCGTAAGGAACCGTAAACTTCACCTC
+ACCATTGGCTTTCAGCTCATAGGTTTTCGTCACTTTTGGCGGACGGTTCAGAGCGACTTCATGCTTCTCA
+CGTCCGGTAAGGTCGTCGGCCAGCGCCACGGTGACAGTCACAGCAACTGATGCAGTAGACTCAATGGTGA
+CCTCTTTCTGAGCCGGAGCCCACAGGCCAGTAGACTGCATGTTACCCGCAAACCATTTGGTCGGATTCGA
+GTACAGGCTGATGGTTTCAGTAACCTTCTCACCTTCTGCCGATACCGCTCCCGGATACTTCTCGACATCA
+ACTTTGATGTTCAGATCCCACCAGGAACGACCCAGCATCAGGCGCGTCAGCGGTTTTTCCATATAGTTGA
+GCGGATAGCTCGGGTTCATCATGCCCGCTTTATTAACGCTCTTCTCGCCGTAGATCATGTTGTTATCGAC
+CAGCGATTTTTTCAGCTCATCAGAACACTGCGTGCCGCCAGTATAGGCATCGTTGGCGTAGCAGTTCAGG
+AACTCGGTGAACGTTTTAAAGCCCAGCTCGTCATCCTTGTCGTTTTCATAACGATATTCAATTTTATTCC
+ACAGCCAGACCGACATGTTCTGGTACAGACGTTCCAGATCGACGCTGCTCAGACGCTCACCTTTGCGACC
+ATTGGTCCGGAAGTAGAGCTCATGCTGATACAGACGCTGAATGTTGGTGCCTAAATCCGCAGCCTGCACC
+ATCGCTTTTGCCGTGTCGGCGTTAAGGCTTAGTTGCGTATACTGTGGAACATACATGCCACCAGTAACCG
+GAACCCCCGTGCCAGGACGATATTCCAGACAGTTGACCTCGTAGTGGTAAGTTGGGTCCTTACACTCCTT
+TAATCCAGGAAACTTCTCAAAGATTTTTGCCTTCGCAGCCTTCAGAGAATCCTCTGTTTTATGATCGGCC
+TCATCAATAAAGGCATAACGCGTTTCCTGTTTGCCATCTACATCTTCCAGCCAGCTGGCAACTTCCAGCT
+TCGGTTTGTCATCAGGTTTGTTTTCTACCTGATATTTCCACTTAACTTCCCCTGTCTTACTATCGATGGT
+GTACGGCAGCGCACCATCTACGGCAGGATAACGTTCATAGACCCAAATGCCCGTTGCGCGCTGCTGACGA
+ACGCGGTTCGGATACCCTTGCGGATCGTTATTTACTACCGACTTGTTCAGTGCCATCGACAGACCTGCGG
+CATCAAGCAGACGTACAAAGCCAGACGCGCTCTCTTCCTTAAGATTGCTCATCACGTTTTCCATGATCAG
+CACCGATCCACCTTTGTTCAGATAGGCGATCAGATCGGTCACATCCTGCTGAGTCAGCTTCGGTTTGCTG
+GTATCTGCTCGCAGCGGGATTGCATAAGGATCGTTACCAACCTGAGTCACATATTCAAAGCCGTTAAGGA
+TCAGCAGCGGCATTTCCTGCGGGTCGAGATCGCCATAGCTACTTAAATGCTCAACAGAGATACCCGCAAA
+ATCCGGATGAAAGCCGAACTCAGCGCTGTTTCCTGTAACCTGACCATGACGTTTGAAATAGACAGTATCC
+AGGTTGGTACCTACGGTCATGCTGGCTTTCGCGTCCGGCGTCCATTTATCGTCGGACAGATAGCGCAACA
+CGTTCTGCATAAAGTGCTTCATATCATTAGAATCACTGTTACGCGTACACTGACCGTTTTTATCAACACC
+GCCTTCCCAGCTGTAACCGTTCGGACAACGCAAAATGCTGTTGTAGTGCGGGTTACCGATAACCATCAGT
+TTGCCCTCACCGACTTGCCCCAGCGAAATAAACGGCAGGTTAAAGGTGGCGGTATCGCGCGTAACGTTTT
+CCGGCTCAACGAGAGAAGGCGCTTCCGTAATGTACGCCAGCTCGTTTTTATCCCAGGCGCGTTTTTCGCC
+GAAGGCCAGCCAGTAGTTTTTATCATTACGCGCCATCAGAATCGGGAATGCCGCGTTGGAGATATTCACC
+ACTGCCTGACCGCGCGCATTACCGGTGCTGCCATAGAAGTTGGTAGAGTCATGGAATACATGGAACTTGC
+TGACAGATTTGTAGTTCGTATCCACCCCCCACAGCTTGTTAATAACGCCCTGAATCTGGCCGTCATTAAC
+ATTGCGTGCTGTCAACGAGAACCAACGCTGAGAGTTGCAGCCCCCAAGGGAGTCACAAATCGCCGTATCA
+ATCTCTTTAGCCTGCCCGGATTCAAACTGCTCAAGAAATTCGTTTGTCCGCTCAAAGGTTTGATCGCCTT
+CGCTCAACGCCTCGCCATTGGATAACGAGAGATTGATAATCTCGTTGATTACGTTGGGATACTCGGCAAA
+GACCTTGCGCACTACGTCCGGCACTTCACGCTCATCATTTTTTCCGGCCTGGGAGTAACGATGAATAAGC
+TGATCAATATTCGCGCCGCGAACTTCGTCACCCAGTTCAGTCAACGCAATGGTCGACTTATTGCCGCGCA
+CTGAGCCCAGTTCAAAGGTGTCGATACCAAAGGAGATGGTTTCGCCCCAGCTGAAGTTGAATTTGCCGTT
+TTCGCCAGTTACGCCACGGCCTGAGCTGGTGTAGTAATTTACGCCAACCACACCATTGCCCATGCTATCC
+ACCAGTCGGCCTTCGGAAAGAATGATTTCAGTGGGTTGATACTGATAAAACTGTTCCGCGTTAGCCGACA
+CGAAGGACGCGTTCAGATCCGGTTTTGTTCCCGGCGTGGTGACAGGCACGACCGGTGAGGTATGAGTGGA
+TGGCGCTTTATCGGTCGCAGCATTGTTTTCCACCTCTTCATTGACCAGCTTTTTGAACTCTTCCGGTGCC
+AGATCGATTTGCTTATACAGCGAGTCGAAACGTTTACTCTCGATCACCGAGGAGAACGTCAGGCAAACCT
+GTTCTGTATCCGCCGGACAGCTGTTACTGGACGTTACCAGCGAAACCGCATTGCTTTTCTTGTCATCGGA
+AGCTGCCAGTTCTTGCGCGTCCTCAAGACTAAACGACACTTTTTCAACCGCACGCAGGCTACGCGCAGCT
+TCTGACTGGGTGTCGAAGGTAGCAATTGTCGTGTTGTTCCCTGCCACACAGGTGACTTTGTCGCCTGGCG
+TAAAGGTAAAGCCATCGCTGGATTCACCATTACAAGTAGCACCAGTTATCCGCTGGCTTCCGCCCAGGGT
+CAGATAACCCGTTTTCGTAGGAACAGGTTCTGGCTCCGGTTCTGGTGTTGGCTCAGGATCAGGTGTCGGT
+TCCGGCGTAGGTTCTGGGTCCGGCGTTGGCTCAGGCGTCGGCTCCGGGTTTGGTGTTGGATCAGGTTTCA
+CTTCCGGCAAAGACCCTGTTCCAGAATCTACAGGCGGCGTATCGGAGGAAGATCCGGAGCCACCGCCATC
+ACAACCGGCTAACAGGGTTGCACTCAAAATAGCCGCTAAAAGCGATTTCTTATATTTAAATTTCTTATTC
+ATTAATAACGCAAGTGACAAAACAAAGTTAAAAGATTCGTAACCGGGGAAATAGTTTTATGCTTTATCTT
+CTTTAATAACTTCCTCCATTCTTAAGAAAACGGCATCATTGATAGAAAAACAGGTGAAATTTATAAGAAT
+AACCCCTATTCGATGTCTGGCTGGTTATTTTTACGAAATTTCAATAAACAAAAAATCAACAACTTTTCAC
+AACGTAACTATATAAATTTGTTGGTAGTTTTAACGATTAAGATTGCAAAAGCAACAGATAGAACGGTGTT
+TGCTCATCAAGCGAACATAATTAATACTGACTTGTTTTGCGTGATAAAAAAACAGATGTTCTCACGCTTT
+TAATTATTTAGCAGGTTATCTGAACGCGAAACATTATTGCCACATGGATAATAAAGCGGGAAATAATTTT
+CCATTAATAAGACAGAGTAATGTAAACGAAGCCGGATGATATTAACGATCATCCGGCTTTATTGACTTAC
+GAAACTAACATCCCGGTAAACACATACGCCTGCAACAGCGTGATAATGCCGATCACACTGGCAAAGATCA
+GACTGTGCTTCACGGTGTAGCGGAACAGTTCAGATTCTCGGCCCACCATGCCCGTCGCGGCGCAGGCCAC
+GGCGATAGATTGCGGGGAAATCATCTTGCCAGTTACGCCGCCGCTGGTATTTGCTGCCACCAGCAGAGTG
+TCAGAGACGTTGATTTGCTGCGCCGTGGTCGATTGCAGTGAACCAAACAGGGCGTTAGAGGAGGTGTCCG
+AGCCGGTAAGGAATACGCCCAGCCAGCCGAGAAACGGTGAGAAAAACGGGAACATCACGCCTGTACCTGC
+CAGTACCAGCGCCAGCGTGGTGGACATGCCGGAATAGTTGGTGACGAAGGCGAACGCCAGCACCATGCCA
+ATCGACAATATCGGCCACTTCAGACTAATTAGCGTTTCGGCAAAGACGCCAATCCCTTTCTTGATGCCCA
+CGCCGAGGATGAAGATAGAGATAATCGCCGCAATAAAAATAGCGGTGCCGCCAGCCGAGAGAGGGTCGAA
+TTTAAACACCGCATCCATTGGCGTTGGTTGGGCGACAATGGGTGCCGCTTTCAACACTTGTTGATGCAAA
+TGAGGGATCTGGAAATTAATCACCAGTGAATAAAACGCGCCGCCCGGAGCAAATAACGCTTTAAACGGCT
+TCATGGTCCAGATGGTGACCAGCACCGTTAAGATTAAAAACGGTGACCACGCACGAATGATTTGCCCCAG
+ACTATATTCTGAAGGCACGGGACCGCCAGAAGATGGTTTATTCACCACCATCGCACCTGCGGATTGTCCC
+ATGCTGATTGCCGTTTCGGTATTTTTCGGCCGCCAGACTTTAAGGAATAAAGCGAGTGAGACGATACTCA
+CCAGCGCCGAAGTAATATCCGGCAGTTCCGGACCAATATAGTTAGAGGTAAAGAACTGCGTGACAGCGAA
+GCTTCCCCCAGCAACCAGCGCCGCTGGCCACGTCTCTTTCACCCCTTTCCAGCCGTCCATCATTGCTACC
+AGCCAGAACGGCACAAGAACCGACAGGAACGGTAACTGACGTCCCGCCATTGCGCCAATGTGGAACGGAT
+CGATTCCCGTTACCTGACCGGCGACCAGAATCGGCACGCCCAACGCACCAAACGCCACCGGCGCAGTGTT
+GGCAATCAGACACAGCCCCGCCGCGTATAACGGTTTGAAGCCCAGGCCCACCAGCAGCGCACCGGTAATC
+GCCACCGGCGCACCAAAGCCAGCCGCCCCTTCCAGCAGCGCGCCAAAGGAGAAACCAATCAGTAACACCT
+GCAAACGCTGATCGTCAGTGATGGAGATAACCGAGCTGCGGATAATATCGAACTGACCGCTGGCAACGGT
+TAATTTATAGAGGAACACCGCCGCAACAATAATCCACGCAATAGGCCATAATCCATAAATAAAGCCATAG
+CCCGCAGCAGCAAATGCCATATCAATCGGCATTTTAAAGGCGAATATCGCAATCAGAATAGATAATATAA
+GGGTTATTGCTCCGGCGACATGTCCTTTCAGACGTAATACCGCGAGTGCAACGAAGAAGAATATTATCGG
+GATCAGGGCGACCAGAGCGGATAGCCCCAGTCCTCCCATCGGCATATACATTTGGGTCCAGGTAACCATA
+TTGTTCAGTCTCTTATTATCTTTATATGCTTGATATACTTAAGGTTGTAATAAGCAAAAGAGGACTGAAC
+TGTAAAATATAGGCGTTATACTTTACAGCAACAGTACGCTGCTAACGCAATTGCTACCTCTGGCATAACA
+AGTATATCGGGTAAGGGTTTCTGTTCCGCACACGCAGGCGCAGAATATCGTTAAGATGTCCATATTGTTG
+TTTTAGGCCCGCTAGTAATGCGCTACGGGTATTTAATATTGTTAAACCCTGATAATCGCTCCGGTTATTT
+CCGGGATAAATGTACTACCGCAGTTACTATCATAGCCCCGACAATAAAACTTGCCGGGGCTTTTTTGACG
+CTATTAATGACTTTCTTTTTCGCGTAAACGCCAGGCGTGTAATAACGGTTCAGTATAGCCGTTTGGCTGT
+TTCACGCCGAGGAAGATTAAATCGCTGGCAGCTTTAAAAGCACACGAGTTAGCGAAATTCCCCGCCATCG
+GACGATAAGCCGGATCGCCAGCGTTTTGCTGATCAACCACTTTCGCCATATTCTCCAGCGACGCCTGCAC
+CTGTTCTTTGGTCAGAATACCGTGGCGTAACCAGTTGGCGATATGCTGGCTGGAGATACGCAACGTTGCA
+CGGTCTTCCATCAGCGCCACATTGTGAATATCCGGCACTTTTGAACAACCAATCCCCTGCTCCACCCAGC
+GCACCACGTAACCCAGAATCCCCTGTACGTTGTTATCCAGCTCTTGTTGGATCTCTTGTGCCGACCAGTT
+AGCGTTTTCAGCCACCGGAATAGTCAGCAGATCGTCCAGCAGCGGTTCAAATTCAGCATTGAACTCGCTC
+TGGGCAATGTTGGCTTGCACGCTCTGTACGTTGGTTTGATGGTAGTGCAGCGCATGGAGCGTAGCAGCGG
+TTGGTGACGGAACCCAGGCCGTGTTCGCCCCGGCACGCAGTTGGTCGCCCTTCTGGCTGTACATGTCTGC
+CATCAGGTCCGGCATTGCCCACATGCCTTTACCAATTTGCGCTTTACCGCGCAGCCCACAGAACAGACCG
+GAAAGCACGTTATTACGCTCGTAGGCTTTGATCCAAGGCGTCGATTTCATCTGATTTTTACGCAGCATCG
+GGCCAGCTTCCATCACCGAATGCATTTCATCGCCGGTACGGTCGAGGAAACCGGTATTGATGAACGCCAC
+GCGGTTGCGCGCCTGAGCGATACAGCTACGCAAGTTCAGCGAGGTCCGACGTTCTTCATCCATAATGCCC
+ATTTTCAGGGTATTCGGTGCCATACCGAGCATTGTCTCAATGCGGGTAAACAGTTTGTTGGCGAACGCCA
+CTTCCTGCGGACCGTGCATTTTCGGTTTCACAATATAGACGCTGCCAGTGCGCGAGTTTTTCTGCACTTT
+TAAATCATAGAGGGCAATCGCGCCAGTCATGACGCCATCAAGAATGCCTTCCGGGATTTCATTGCCTTCG
+CTGTCCCAAATCACAGGAATGGTCATCAAATGACCCACGTTGCGGATAAACAGCAGCGAGCGTCCGTGCA
+GAGAAATTTCAGAGCCATCGGCGGCGGTGTAATGACGATCGTCATTCAGTTTACGCACGATTTGCCGACC
+GTTTTTTTCCATTTTCTCTTGCAGAGTCCCCTGCATCAGGCCCAGCAGGTTGCGATACAGCAGGATTTTA
+TCTTCCGCATCAACCGCCGCGACCGAATCTTCGCAGTCGAGAATGGTACTGATGGCCGCTTCGACGATAA
+CATCGTTGATATGCGTCGGATCGTCTTTGCCAATCCGCCCGTTGGCATCAATTTGCAGTTCAATATGCAG
+ACCGTTATTTTTCAGCAAAATGCAGGTCGGCGCAGCGGCATCGCCACGGTAACCGACAAACTGCGCCGGG
+GTACGTAACGTGGTTTCTTTACCATTTTTCAACTGGATGCGTAATTGTTTATCGACCACCTTAAACGCCA
+CCACATCCTGATAGCTGCCGTTTTCCAGCGGTAGTGATTCATCGAGGAAACGCCGAACCCAGGCGATAAC
+CTGCTCACCGCGTTGCGGATCGTAGCCGCTGACCATCGCCCCTTCCTGCGGGATGATGTCGCTGCCGTAT
+AACGCATCGTACAGTGAGCCCCAGCGAGCGTTCGCCGCGTTCAGCGCGTAGCGGGCGTTCATTGCCGGAA
+CCACCAGCTGTGGCCCCGCCTGGCTGGTGATTTCGCTGTCAATGCCCGTGGTTTCCACCGTCACGCGCTC
+CGGTTGTGGCACCAGGTAGCCCAGTTCACGCAGGAAAGATTTATAGGCCGCTTTATCTTTAACCGGCCCC
+GGATTGCTGCGATGCCACTCATCAAGCGCCGCCTGAATGCGATCGCGTTCTGCCAGCAACTGACGATTTT
+CTGGTGCCAGATCGTGAACGATCTCATCAAAATTGCGCCAGAACGCCGCAGTGTCCAACCCTGTTCCCGG
+TAAAACTTCTTCATCCACAAAACGTTTAAAATTGGCGTTAATGCGTAAACGGCCCTGGGTTATGGTTTGA
+CTCATTGTTTATCTCCTCGTTTTCGCTTATTTCGCCAACACCGCTGCTGCCGCTTTCGCGACCTGCGCAT
+CCTGTGCTCCGGTTAAACCAGAAACGCCCACGGCACCAATAATTTGCCCATCCACAACAACCGGTACGCC
+ACCTTCCAGCGACGTCAGTAACGGCGCAGTCACGAACGCGGTACGTCCGTTGTTCACCATCTCTTCATAG
+CCCTTAGTTTCACGACGCCCCAGCGCGGCGGTACGCGCTTTCTCCTGGGAGATGTAAGCCGCAATCGGCG
+CGCAATCGTCCATGCGACTTAACGCCAGCAGATGACCGCCGTCATCGGCAACAGCAATGGAAACAGACCA
+GTTATTTTTCTGCGCCTCTTCCTGACCTGCGGCAATAATTGCACTCGCCATTTGCTGGCTAAGAATGACT
+TTAGTTTTCATTTTGTTATTCCTTTTCAAGGGCTTGTTCTACAATTTCAATCCAGTGACGCACAGAGGTA
+CGACCGGCGCTCGCCAGATGCGTCTGGCAACCAATGTTGGCGGTGACGATCATTTCCGGTTTGCCGCTTT
+CCAGCGCATTCATTTTGTTATCCCGCAGCTGGCGCGCCAGATCGGGATGCGTTAACGCATATGTTCCCGC
+TGAACCGCAGCACAGATGGCTGTCGGGAACGTCCGTTAAGGTAAATCCAAGACGAAGTAACACTTTTTCC
+ACTTCGCCATTCAGCTTTTGCGCATGTTGTAGGGTACACGGGCAGTGGAAGGCCAGTTTTTTATCGCCGC
+GAATTGCCAGTTTTTCCAGCGGTTCCTCGCGCAGAAGTTCGACTAAATCGACCGCCAGCTCACTAACCTG
+ACGCGCTTTATCGGCATACAACGCATCGTTTTTCAGCATCTGCCCATACTCTTTGACAAACGCGCCGCAG
+CCGCTGGCAGTCTGCAATATAGCCTCGGCACCTGCTTCAATCGCGGGCCACCAGGCATCAATATTATTTC
+GCGCCCGCGCCAGCCCTTTCTCTTGCGCATTAAGATGATAGTCCACCGCGCCACAACAGCCTGCTTCGTT
+AGCTGGCATGACGCTGATCCCCAGACGATCCAGCACTCGCGCAGTTGCCGCGTTGGTGTTGGGCGAAAGC
+GTAGGCTGGGCGCAGCCTTCCAGCATTAAAACCCGACGCTTATGGCGCAGCGGTGGACGCGGTTTAGCTT
+TCACGGTTTCAGCAGGCAGTTTTGCTCTGACCTGTTCCGGTAAAAACGGTCGCAGCACCAGCCCTACCTG
+CGTCAGCGCACGGAAGACCGCCGGACGCGGCACTACCTGGCGCAATCCTTCGCGCAGCATTCGCTCCGGC
+AGTGGGCGTTTCACTTTCTGCTCGACAATATCACGCCCGATATCCAGCAAATTGTGATAGCGCACACCAG
+AAGGACAGGTGGTTTCACAATTGCGGCAAGTGAGGCAGCGATCGAGATGCTCCTGTGTTTTAAGCGTGAC
+GTCGTTGCCTTCCAGCACCTGTTTAATCAGATAGATGCGCCCGCGCGGCCCGTCCAGTTCATCGCCCAGG
+AGCTGATAGGTTGGGCAGGTTGCGGTACAAAATCCGCAGTGAACACAGGCGCGCAGGATGCTGTCGGCTT
+CCAGCGCCCGCGCGTTCTGCCGCATCTCTTCGGTTAATTGGGTTTGCATAGCCTGCTCCTTAAAGCTCCG
+CGTACATGCGACCGGGATTAAACACGCCGCAAGGGTCGAGCTGCTGTTTAAGCTGCTGGTGATAGCGGAA
+TAAAGGAGCCGGTAGCGGGGCAAAACCACCATCTCCGGCACTAAAGCGGGTCGCATGACCGCCAGCGTTG
+CGGGCGATGCGATGGATTTGATTGTCATCGGCTGTCGATTTCAGCCAGCGTAGCGCCCCGCCCCAGTCGA
+TCAGTTGCTCGCCGGGTAAATCTATCATCGGCGCATCGCTGGGTAAGGAAATGCGCCATAAGGTACCTGG
+TAACGAGAAGAACGGCAGTTGTTGTTCACGCAATTGCTGCCAGAACTGACCCACAACCTCTTCGCCCCCC
+AGCAGTTCACGCGCTGCTTTTACCGATCCTTCGCCGCCCTCAAGGCGGATCCACAACGCATTGTCGAAGT
+AACATAAGCCACTAATGGGTAATGGCTGGAGTTGCCACTGGGCGATTTCATTCATGGCTTCTTGCAGGCT
+GATTTCCCGACGCAGACTCAGGGTGGCGCGTGGTCGCGGTAACACTTTCATCGAGATTTCAGTGAGCACA
+CCCAGACAACCGTAGCTTCCGGCCATTAACCGTGAGAGATCGTATCCGGCAACGTTTTTCATCACTTCGC
+CACCAAAACGCAGATGTTTTCCAGTGCCGGTAATGATGCGCGTGCCGAGGACAAAATCGCGGACCGAACC
+GCTCCACGGGCGACGCGGCCCCGCCAGCCCGCAGGCGACCATCCCGCCCCAGGTGGCTTCTTCACCATAA
+TGTGGCGGCTCGCAGGGGAGCATTTGCCCGGCGCTCTCCAGCGCCGCTTCAATCGCCACCAGCGGCGTTC
+CGGCACGAGCGGTTATCACCAGCTCGGTCGGGTCGTAATTAACAATGCCGCGATGACAACGCACATCCAG
+CGTTTGCCCGGTGACAGGACGACCTAAAAAGGCTTTGCTATTGCTGCCCTGAATCACCAGCGGCGTTTTA
+TCGCTAATCGCCTGATTCACCTGCTCCAGCAGCGCCTGGCTGTAATCACACTCGCGTAGCATCAGAAACG
+CTCCAGTTCAGGGAAAGGTAAATGACCGTGATGCACATGCATGGCACCAAATTCAGCACAGCGGTGTAGC
+GTGGGAATGTTTTTCCCAGGGTTCAGCAAACCATCGGGGTCAAACGCCGCCTTGACCGCATGGAAGGTCG
+TGATTTCATCGCTGTTGAACTGGGCGCACATTTGATTGATTTTTTCGCGCCCGATGCCATGTTCCCCACT
+GATGCTGCCGCCAACTTCAACGCAGAGTTCGAGGATCTTCCCGCCCAGCTCTTCCGCGCGGGCAAATTCA
+CCGGGTTCGTTGGCATCGAAAAGGATTAACGGGTGCATGTTGCCGTCTCCGGCATGAAAGACGTTGGCAA
+CGCGTAAATCATATTGCTGCGATAAACGGGCAATGCCTTCCAGTACGCCAGGCAGCGCGCGGCGTGGGAT
+GGTGCCATCCATACAGTAGTAATCCGGGGAAATGCGCCCCACTGCCGGGAAGGCGTTCTTGCGGCCGGCC
+CAGAAACGTACGCGCTCTGCTTCGTCCTGTGCCAGACGGACGTCAGTCGCGCCCGCTTTCAACAAGATGT
+CGTTAACTCGCTCGCAGTCTTCCTGTACGTCAGACTCCACGCCGTCCAGCTCGCACAATAAAATCGCTTC
+GGCATCGACGGGATAACCGGCATGTATAAAATCTTCCGCCGCGCGGATCGACAGGTTATCCATCATCTCC
+AGCCCGCCGGGGATAATGCCATTGGCGATGATGTCACCAACTGCAAGTCCGGCTTTTTCTACCGAGTCAA
+AGCTGGCTAACAGAACCCGCGCCACGGGCGGCTTCGGCAACAGCTTCACCGTTACTTCGGTGGTCACGCC
+GAGCATACCTTCCGATCCGGTGAACAGCGCCAGCAGGTCAAAACCAGGCGAATCCAGCGCGTCCGATCCC
+AGCGTCAGCGCCTCGCCGTCCAGCGTTTGCACTTCAATTTTCAGCAGGTTATGTACGGTCAGACCATATT
+TCAGGCAGTGGACGCCACCGGCATTTTCCGCCACATTGCCGCCAATTGAACAGGCGATTTGTGAGGACGG
+ATCCGGCGCGTAATAGAGATTATGCGGCGCAACGGCCTGGGAGATCGCCAGGTTACGCACGCCCGGCTGC
+ACGCGCGCACGGCGACCAACGGGGTTAATGTCGAGGATCTCTTTAAAGCGCGCCATCACCAACAACACAC
+CTTTTTCCAGCGGCAGCGCGCCACCAGAAAGCCCGGTGCCTGCACCACGGGTCACCACCGATACACGCAG
+GCGGTGACAAACAGCCAGAATCGCTGTCACCTGTTCCATTTGCTTAGGCAGAACAACCAGTAATGGACGC
+GTGCGATACGCGCTCAACCCGTCACACTCGTAAGGAATGATCTCCTCATCGGTATGCAGGATCTCCAGTC
+CAGGGACATGCTCACGCAGTGCCATCAGTACCGATGTGCGGTCGACATCGGGTAAAGCGCCATCAAGACG
+CTCTTCGTACAAGATGCTCATGAGTAGGGTTCGCTTTGTTGTGTTGTGTGGCAGCTGATTTTTTCGCGCT
+GCTTCTGTGAACAGTTATTAAGCGGGCTTTTCGTTTTCGTCTATCTCTTTAGCTACCGGTCAGACCATTT
+TTTTTCCAGCTCTGTGACCTTGTCTTGGTTAACTTAATGTTAAATTGATGTAACATAATCACTTGCGTGA
+TGTGCGTGTTTTGCGAGTTAAGAACAGAAAAATTGGTCCTACCTGTGCACGAGGTCCGGGAATGAAAGAT
+GAACGTCGCCCTATTTGCGAAGTGGTTGCAGAGAGTATCGAACGGTTAATTATCGACGGCGTACTGAAGG
+TCGGTCAGCCGCTTCCCTCGGAACGTCGACTGTGTGAAAAGCTCGGCTTCTCACGCTCCGCACTGCGTGA
+AGGGCTGACCGTGCTGCGCGGGCGCGGGATTATTGAAACGGCGCAGGGTCGCGATTCTCGTGTCGCACGG
+CTTAATCGGGTGCAGGACACCAGCCCGCTGATCCATCTGTTCAGTACGCAGCCGCGAACGCTGTACGATC
+TGCTCGACGTTCGCGCATTGCTGGAGGGTGAATCGGCAAGGCTTGCGGCAACGCTGGGAACCCAGGCTGA
+TTTTGTTGTGATAACCCGCTGTTATGAAAAAATGCTCGCCGCCAGTGAGAACAACAAAGAGATTTCGCTG
+ATCGAACATGCGCAGTTGGATCACGCTTTCCATCTCGCCATTTGTCAGGCTTCTCACAATCAGGTGTTGG
+TGTTTACGCTGCAATCATTGACCGATCTGATGTTTAATTCAGTGTTTGCCAGCGTAAATAATCTCTACCA
+TCGACCACAGCAAAAAAAGCAGATCGATCGCCAGCATGCGCGGATCTACAACGCGGTGTTGCAGCGGCTG
+CCGCACGTCGCCCAGCGCGCAGCGCGCGATCATGTGCGGACCGTGAAAAAGAATCTCCACGATATCGAGC
+TGGAAGGCCACCATTTGATTCGCTCGGCGGTGCCGCTGGAGATGAAGCAGGGGTGACTGCCATCAAATCT
+GCTTTTCATACAATCGGTAACGCTTGTACGGCTCCGCCCCAATGCGTTCCAGCATGTTATTCATGCCTGT
+ATTGGTTTCGAGGATCCATGACATCTCCAGCGCATCGATCTTCCGGCGGGCAAACGGATCGCGTAAGGCT
+TCAATCAATAACAACGCAATCACCGGGCCGATGCGGCTAAACTGATACTCGTCCCGCACGCCCATCAGCG
+GTACTCGCGCAGTTCGCACACCGCTGACTTTTAAACGCCACAGCAATTTTGCCCAGCCGAAGGGAAAGAG
+CGATCCGTTCAGATCGGCAATCGCCTCGTTGATGTTTGGCAAGCCGACAATAAACGCGCAGGGTGCAGAA
+TCAATCTCAGCGATGTAGATCATATCGTCCGGCACCAGATATTTAAGTTGATCGCCCATGGTCGCGAATT
+CATGTTCGGTAAACGGCACAAATCCCCAGTTTTGCTGCCAGCCAGAGTTGAAAATCTCACGCAGGATCTG
+CATCTCTTCGGCAAACCGCTGGCGATTGATGCAGCGAATGGTCACCTTCTTACGCACCTGATCCATCAGT
+TTTTTTAGCGCCGGAGAGAAAGTGAGATCGGTTCGCTGCATCCACCACGCCAGTAAATCAATGCCTTTGT
+GATAACCCAATTGTTCAATATGCGCGGCATACCACGGTTTACCGTGCGGCATCATCGCACAGGGTGGTGT
+ATCGAAACCTTCAATCAGTAATCCGCTTTCCTGATTGATATTCAGGCTGAAAGGACCGCTGATCTTACTT
+GCACCTTGTGACTTCAACCACGCTTCCGCTGCGCCAAACAACGCGGCAAAAACCTGCGGATCATCAATGG
+CGTCAATCATGCCGAAATGACCGGTATCTTTGCCGTAACGCTCGCGGTGCAAGGTATCTATTTGCGCGGT
+AATACGCCCGACTATCTGCCCCGCTTTTTTTGCCACCCACGCCTGCCAGATGATATGGTCCGTCCCCGGA
+TTTTTCGCAGACAAATGCTCGTTGCGTTCAATGAATAAAGGGGGTATCCAGTTTGGATCGTCGGGATAAA
+GTGATGACGGAAAAGCGATAAATGCCTTAAGGTCATTTTTATTAATTACTTTTTCAATTTTAATCATCAG
+CAGATCGCATTCCATAGTTCTGTGGGTAACAAATAATTAACGGTGACAAACAGGTTGCAACAGCAACGAA
+CGGCACCTTAATAATCAACCCAATGAATACAAACGACGAATAAATAGTATTTATTAATGATTACGATAAG
+GTCAGAGACTACACAGAAGCGCCACAATGCCTTTTGTCGATTTAAGGCGACCGGACAAGGCTTCTTCTTA
+ATATATTCATAAATTAAATATCATTCACAATAAAAACAAAAAAACTCAAACTCATTATTTAAATCAATGT
+TCAATATCACACCAATGAAAATACTATCTCATTTATCTTTTATGCCTATATAATCCACCGCATTATTGTC
+ATTTTATTTTTGATATCCAATTTTTTCGTGGTGTATATGTCTAATAAAATCTTTACGCATTCCCTACCTA
+TGCGCTATGCCGATTTTCCAACGCTGGTTGATGCTTTGGACTACGCCGCTCTGAGTAGCGCTGGAATGAA
+TTTTTATGACAGACGTTGCCAACTTGAAGATCAACTGGAATATCAGACGTTAAAAGCGCGTGCCGAAGCT
+GGTGCGAAGCGGTTGTTATCGCTAAACCTGAAAAAAGGCGATCGCGTGGCGCTGATTGCCGAAACCAGTA
+GCGGGTTTGTAGAGGCTTTTTTTGCCTGCCAGTATGCCGGCTTAGTCGCCGTCCCGTTGGCGATTCCAAT
+GGGCGTCGGTCAGCGGGATTCCTGGAGCGCCAAACTCCAGGGTTTACTGGCAAGTTGCCAGCCCGCAGCC
+ATTATCACTGGTGATGAGTGGTTGCCACTGGTCAATGCCGCGACGCATAACAATCCCGAATTACATGTTT
+TAAGCCACGTCTGGTTTAAGGCATTACCGGAAGCCGATGTTGCGCTTCAACGTCCAGTTCCAAACGATAT
+CGCCTACCTCCAGTACACCTCCGGCAGCACCCGTTTTCCCCGTGGCGTCATTATCACCCATCGCGAAGTG
+ATGGCTAATCTACGTGCTATAAGCCACGATGGCATTAAATTACGCCCTGGCGACCGCTGCGTCTCCTGGC
+TTCCTTTCTACCATGATATGGGACTGGTCGGCTTTCTCCTGACCCCCGTCGCCACGCAGCTTTCAGTAGA
+TTATTTGCGCACTCAGGATTTTGCCATGCGTCCTCTGCAATGGCTTAAATTGATCAGTAAAAATCGCGGC
+ACCGTTTCCGTTGCGCCGCCGTTTGGCTATGAATTGTGCCAGCGCCGCGTGAATGAAAAAGATCTCGCTG
+AACTGGATCTTTCCTGCTGGCGCGTCGCTGGTATTGGTGCAGAACCCATCTCCGCAGAACAACTCCATCA
+ATTCGCTGAATGTTTCCGTCAGGTCAACTTTGACGATAAAACTTTCATGCCGTGCTACGGACTGGCAGAA
+AATGCGCTGGCTGTCAGCTTCTCTGATGAAGCTTCCGGGGTTGTGGTTAACGAAGTGGATCGCGACATCC
+TCGAATATCAGGGCAAAGCCGTCGCGCCGGATGCTGAAACACGCGCCGTATCGACTTTCGTCAACTGCGG
+TAAAGCGTTGCCGGAACATGGCATTGAAATCCGCAATGAAGCAGGTATACCTGTCGCGGAACGTGTGGTA
+GGCCATATTTGCATCTCCGGCCCTAGCCTGATGAGCGGTTACTTTGGCGACCAGATTTCACAAGACGAGA
+TTGCCGCGACGGGCTGGTTAGACACCGGCGACCTCGGTTATCTGCTGGACGGTTATCTGTATGTCACCGG
+ACGCATTAAAGATCTGATTATTATTCGTGGCCGTAATATCTGGCCGCAGGATATTGAATATATTGCGGAA
+CAGGAACCGGAAATTCATTCTGGCGATGCGATTGCTTTTGTTACCGCCCAGGAAAAAATCATTTTGCAGA
+TCCAGTGTCGGATCAGCGATGAAGAACGTCGCGGGCAGCTTATCCACGCGCTGGCAGCACGGATCCAAAG
+CGAATTTGGCGTTACCGCGGATATCGATCTGTTGCCACCCCACAGTATTCCCCGAACGTCCTCCGGCAAG
+CCTGCCCGTGCGGAAGCGAAAAAACGTTATCAGAAGGCTTATGCTGCAAGCCTTCATGTGCAGGAATCCC
+TGGCATGAATCAAACTGTCGCGGTGACGGGCGCTACCGGGTTTATCGGTAAATATATTATCGATAACCTG
+CTCGCCCGCGGCTTTCACGTTCGCGCATTGACGCGTACTGCCCGTGCTCACGTCAATGACAATCTCATCT
+GGGTGCGCGGTTCTCTGGAAGATACTCATTCACTTAGCGAACTGGTTGCCGGAGCCAGCGCGGTGGTCCA
+TTGCGCCGGGCAAGTGCGCGGGCACAAAGAAGAGATTTTTACCCGCTGTAACGTTGACGGCAGCCTGCGC
+CTGATGCAAGCGGCAAAAGAGAGCGGCTTTTGCCAACGTTTTCTGTTTATCTCTTCGCTGGCGGCGCGCC
+ATCCCGAACTCTCCTGGTACGCAAATTCCAAACACGTCGCCGAACAACGGCTGACTGCAATGGCTGATGA
+AATTACGCTGGGCGTTTTTCGCCCGACAGCCGTGTATGGTCCCGGCGATAAAGAGTTAAAACCGCTGTTT
+GACTGGATGCTGCGCGGCCTGCTGCCACGACTTGGTGCGCCAGATACACAACTCTCTTTCCTGCACGTCA
+CCGATTTTGCGCAAGCAGTGGGTCAGTGGTTAAGCGCCGAAACTGTACAGACGCAAACCTATGAATTATG
+CGATGGCGTCGCTGGCGGCTATGACTGGCAACGCGTACGACAGCTTGCCGCCGAAGCCCGTTGTGGTTCT
+GTGCGGATGGTTGGCATTCCTCTGCCGGTACTCACCTGCCTTGCGGATATCAGTACTGCGTTGAGTCGCC
+TGGCAGGTAAAGAACCTATGCTGACCCGCTCGAAAATTCGTGAATTAACCCACGCCGACTGGTCGGCAAA
+TAATAACCGTATTTCTGAAGATATTAATTGGTTTCCCGGGATTAGCCTGGAACACGCATTACGCAACGGG
+CTATTTTGATTGTCTTGTTTAAAGGTGTGTTAACGTTTCTATGGTAAATCGTGAAATAGTAATGGATTAC
+ATCCTTTCCTGTTTACAGGATTTGGTCGAAAACGGTGTGGAAATTAAGCCCAACAGCGATCTCGTCAACG
+ATCTTGGCCTGGAGTCGATCAAAGTGATGGATCTCTTAATGATGCTGGAAGACAGATTCGATATTTCCAT
+TCCTATTAATATTCTGCTGGATGTCAAAACCCCTGCGCAATTAATGGAAACACTACTTCCATGGCTGGAG
+AATAAATAATGGGGCTATACGATAAATATGCGCGTCTTGCTGGCGAGCGACTGCAATTTAGTGACAACGG
+GTTAACGCCGTTTGGTACCTGTATTGATGAAGTGTATTCCGCCACCGAAGGCCGGATCGGCAATAAAAAA
+GTGATTCTGGCCGGGACCAATAATTATCTCGGTTTAACCTTTAATCATGATGCCATCGCCGAAGGTCAGG
+CAGCGTTAGCGGCCCAAGGCACCGGCACCACCGGTTCTCGTATGGCAAACGGCAGTTATGCGCCGCACCT
+GGCGTTAGAGAAAGAGATTGCCGAGTTTTTCAATCGCCCTACCGCTATCGTTTTTTCAACCGGTTATACC
+GCTAATTTAGGCGTCATCAGCGCACTTGCCGACCATAACGCCGTGGTGTTACTGGATGCCGACAGCCACG
+CCAGTATTTATGACGCCTGTTCTCTCGGTGGCGCGGAAATTATTCGTTTCCGCCATAACGATGCTAAAGA
+TCTGGAACGGCGCATGGTTCGCCTCGGTGAACGGGCGAAAGAGGCGATTATCATCGTTGAGGGCATCTAC
+AGCATGCTCGGTGACGTTGCGCCGTTAGCGGAAATTGTTGATATCAAACGTCGTCTCGGTGGTTATTTGA
+TTGTCGATGAAGCGCATTCGTTTGGCGTGTTAGGCGCAACGGGGCGCGGACTGGCTGAAGCCGTTGGCGT
+TGAAGATGATGTGGATATTATCGTTGGTACTTTCAGTAAAAGTCTGGCCTCGATTGGCGGTTTTGCTGTC
+GGTTCGGAAGCGATGGAAGTGTTGCGCTACGGCAGCCGCCCGTATATTTTTACCGCCTCTCCTTCTCCGT
+CCTGCATTGCGACCGTGCGCTCGTCGTTAAGAACCATTGCCTCACAACCAGAGCTGCGGCAAAAGCTGAT
+GGATAACGCCAACCATCTGTATGACGGTCTGCAAAAACTGGGTTATGAGTTAAGTTCACATATTAGCCCG
+GTAGTGCCGGTAATAATCGGTTCGAAAGAGGACGGTTTACGCATCTGGCGCGAGCTTATTTCGCTGGGCG
+TTTATGTGAATCTTATCCTGCCACCTGCCGCGCCTGCAGGCATCACTCTGCTGCGCTGTAGCGTAAACGC
+TGCCCACAGTCATGAGCAAATCGATGCCATCATTCAGGCATTTGCTACTCTGAAGCAGTAATGTGAGCCC
+GCCGTGGTGTTGCGCCACGGCGGGTTTAATGTTGTCTGTCATACCAATACACCAGGCTCAACGCCATCAG
+CACAAACGCTACCGGTAAACCGAGCGCGGTAACAGGTGCGCTCAACGCAAATAGCAACCCCAGATTGACC
+ATGATTTGATAGCTGATCCAGGTGAGTAAGCCCACGATGACGCCTACAGCGAGACGGCTACCCATCCCTG
+GCGAGCGCGGGGCGCTAAAGGTGAACGGCACAGCCAGCAAAATCATCGCCAGGGTCAGGATCGGTTGCCC
+CAGTTTTTCCCACAGTGCAAGGCGGTAATCGCTGCTGGGTTGCCCGGTTTCCTGCAAATAATGGATGTAA
+TGATTAAGCTGACGGACAGAAAAAGTATTCCCCGGCATCGATAACTCTTCAAGATCCATACTGGTGAAGG
+CCGATTGCCAGGCAAGATTATCTGATGTTTCCAGCGTTTCTTTGCCATTCAACCATTTTTTATGATTCAC
+ACCATGCAGGATCCACGTTTTGTCGTCTTCAATGGAGGCACTGCGTGCAAAAATGTAGGATTCGAGCGAG
+AGATCGTCGCGATAATGAAATATCTCCACGCCCACAGGCTGGCCCTGCTCGTTCAGCGATTTCACCGTCA
+CAAATTCATTACCGCGCCTGGCCCAAAGCATATTGCCGGTAATGTCATCGTCCTCCCCCAACGCGGTGGC
+AGTCGATTTGATTTGCAGCGCCTGTTGCTGCAATGGCGACGCCACCCACTCATCTATCGCGCCTAACGAA
+ACAGTCCACAATATCCCGGCAACCAGCGCCACCAGTGCAATACGGAAGATAGAAAACCCAGTGCTGCGAA
+TGGCGGTAAGCTCACTGTTTTTCGATAACTGCCCCAGGCCAACAATCCCTCCCAATAATGCGATAAACGG
+CGAAAGTTCGACCAGTGTACGCGGTAAGGTCATCAGCACCACCAGCACCGCCTGAGTCCAGCGATAACCG
+CCCGGGCTGACATCATCCAGTTCGTTAATCAGGTTGAAGGTGGTAAAAAGCGGCAGCAATAGCCCTGCGG
+CGGCGGCAAAACCGAGAAAGAGATGACGGATTAAATAGTGACTGAAAACATTCATCGGGAAAATTTCTGC
+AGCAAAGAGAAGTCGCGTGCGACCAGCATCAGCAGGCCCATTAGCATGAGTCCGGGTACTAACCACAAAC
+CAGGAATGAGGGGAATCGCACCGTTAGCCACCAGCGTACGGCAGACGTCGCCGCCATAAAAAATGGCAAC
+AAACAGCAACGTCAGTGGCAATAACGTTGAAAATCGCCCTTGCCGCGGTTTTACCCGACTTAATGAAATG
+GCCAGCAGCGCCATCAACAATGCGGTCAGGCCACGGCTTTGTCGCCATTGCAGTTCGGCATGATCGGCAG
+GAAAGGCGGAGCGCGCCAGCTCCGTGACCGATTTTGCTTTGCGTTTGACGTTAGGGCTTTGATCCAGCGG
+ATTCAGATGCAATTGCAGATTACGGTAGATCTGTTCGTTGTCGTCACGCCCCTGATGATCGAGAAGATAG
+GCGGTCCCGTTGTGCAACATAACGGTCGGTTTCTCGGGAGATGGGTCAACCACATCAACCGAACGGGCGC
+GGAAAATGCGGGTTCGATTGGCAGTAGAAGTATAAATCAGCGCGTCAGTCAGGCGATTATTATCCTGATC
+AACCGTCTGCGAAAGGATCATTCGTCCGTTATCGTTAGTGTTAAATTTCTTTGCCCGCAACTGGCGAACA
+TCCAGCTCCGACTGTGACTGTTGCTCCAGTTGATAAATCTGCGCATAAGCCCACGGCCGACCATACATCG
+ACAGAAGGGTGACAAAAATACTTAGCGGTATCGCCAGATAAAGAACGGCTTTGTACAAGCGTCCCGGACT
+GCCCCCCGCCGCAGAGATAGCGGTAATTTCCGAGTCGGTATACATCTGCCCTAGCGTCACGCCAACTGAC
+ACATACAGACCAACAGGTAACAACATCTCCAGTGCAATCAGCACTTTGTAGAAAACGATATCCAGCACAA
+CATCAAGAGCTAAGGTCCCATTTGCCGCTTCGGTCAGATAACGCTGTGCGGAGTAGCTGGCGAAAATAAA
+GATCAGAAAACCGACGATAATCAGCACCAGACGGCGCGTACCACGCATGATGTAGTGTTCAACCAGCTTC
+ATCTCACTAACACCCTCAATCCTTTGAATTTTTTATTCATTGATCAGTTTCTGCGCCAGCGCAATGACAT
+GATCTACCTCTTCCGGCGTCAGGCTGCCGTCCTTTGCCCACTGAATTTGCCCGTCTTTATTCAGCACCAG
+AATGGTTGAACTCTGCTCCGGCAACCGCCAGGCAACGCGTCCCAGTCCATTGCCGTCAATAACGAATTGC
+GCCCACGGATAGCGGCGTTTATTTTTTTCGATTTTGCCAACGACAAAATAGCCAGTACCAAAGATGGCAT
+CATCGGTGTTCACAATGGTGGTGGGCTGAAAACGATCCTGCGGAAAGTTTGCCGCTTCAACCGCTTTAAT
+TAACAGTGAGTTCTTTTTCTTCGCCGACTTACGCCCGGCGATATACTGGATAATGCGGACTTTTCCCGCC
+AGCTGTGTGCTGTTCCACTTTTGGTAGTGAATTTCGTCGTCGCTATTCAGAAGCAGCTCGCCGCCTTCCT
+GGATATAAACGGGGGTAACCGTTTTGCCAGTGACGAAATTGTGTGCCTGCACACCCTGGGCTAAGAGCAT
+GATAATCAGCGCAATAATCAAACGAGATGACATCATTGCTCCGGTTATAGCGGAAAACGCGAAATCAGCA
+GCTCTAAGCGCTGGCGAATATCGCTATCCAGCGCCACCGGTGCATCATACGACTGGCGGTTTTCCATATC
+ATCCGCCACCATGTTGTCGTGTTTATCCCCCATCAGGCCATTAATGGCGGCGAGGAAGCGGGAAATCTGT
+AACGCTTCTTTATTTTCAGGATCAAGCGATCTTAAGGTGTCGTAATAAGAAACCTGCTGGCTGATGATTT
+TTCGCACATCATGAAATTCCCTGCCGGTGAGTCGCGGTTTGGCAATTATCTCTTTCAGGGTATGCATTTG
+CTTTTGCCGATAGGCAATAAAACCGCTTACGATTTCTAACTGGCTATGGCGTAATGAATAGTTCACCAAC
+GACCAGACCGGAGAGCTTAAATAAACACGTAACAGGTTGCCGTAATACGACACAATATTTTTCTTACCGT
+TACGAAAGCCGTCCTGAAAACGCCCCAAAAAAACGGTCGTTTTGCCGAATAAAAATCCGGCCTGATGCTT
+CTTTAAATACAGCCGTTGCGCAAAACGCAGGTGCTTGTAGCGCGCTCGCATGTATTTAAATTGTTTGCGC
+TCATCAGCAGTCAGCTCATCGCCTTTGGCCTGTTTGCATATTAAACGCAGTAACTCCTGGCGATTGACGC
+CATTGAGCCAGAATTGCAGGCATAACGCGTAATTATCATGGATGATTTCGGTGGTACAACTTAGTGCGAT
+AGTCGGCGGCAAACTGACCTGTGCATCAACGACATCATCTTCTTCAATCGCAACAAATAGACGCTCGCTA
+GCCTCAAGCGGGAAATATTTTCTCATCATCAGGATTTCTCTCCGGCTGCGTTATAAAGCAAGGAATGGCG
+CTGAAAAAATGCCTTTAAGGTTGGAATTAGCGAGAGCACCACATCCAGACATTGACCGCCGAAATAAGCA
+AACGCTGCTCCCAGCACGCCAAACAGATGACAGAACATGAACAGCAATACGATGTAGCCGATTGAGGCGA
+TGGTTTGCGCCACTAGAAAAGCGCGCTGTTTTCCCGCCATCAATAGCAATGACTCCTGTGGGAAGCCCAG
+CATCGAAATCACAATTGCGCCCAGCATCACCTGAATCAGGTCATACGCTTCGAGATACTTAACGCCAAAC
+ACCAGCGAAATAAGCGGCTTGCCGACGATCAACACCGCGAGCGCCACCAGAATACCGATTCCGCCCGCCA
+GTAAACCTGACTTCACGCCTAACAACCACGGTCTGGTGGTGCGCGGATCTAAACGCATCACCTCTGGGTA
+AAAACTTTTGCCCAGTAAACCCGCTGGCGTTCCGGCGGCGTCGAAGAATGTCATGGCGATTTTAAATAAC
+CCGGCGGCAGCGGGTCCTAACACGATCCCCACCAGCACTGTGCTGCACGAGTTACGCGCCGACCAGATGG
+AGTGGGCAATGTTGGTTGACCAGACAAAACTCCACGCGCCTTTAATGTGTCGGGCAGACTCAAACAGATT
+CAATTTGAAGGCGTTATGGATATTTCTGCGGCGTAATTCGCGCGCGGCAAACCACCAGTACATGGTGCCG
+CCAACCAGATTCGACACGTACCAGGCAATAACAAAACCCGCAAAACCAAAGTCAAAATACCAGGCTACGA
+CGCTCCCCGCTGCGCGCAGAAAAGGTTTCGTCGCTTGCTGTACAGCAATTAGATCGAAGCGATCTACCGC
+ACGCAGAATGCCGGTCGGCGTGGAGGAAGCCATTGAAGGAATGAGCGTGCAATACAGCGCTGCCAGCCAA
+AAGCTTTGGTCATCCAGACCTAATGAATGGGAAAGAAAAGGGAGTAAGGCAATGCCGCCGACAATCGCCA
+CCGCGCCGCTGACGATATCCAGCGAGAAGGAAAATGAGACGACATTGCGGAATTGCTGCGGATTATTGTT
+GGTTAATGCTGGTGTTCCGTACTGAACCACCAGCTGCCATGTCTGAAACTTAATAAAATCGCTGATCGAC
+TTGGCGTACGATTGTACAATCACCAGTACGCCAAACATGGCGGGCGTCATCCCTTTACCGGCACACGAGA
+GCGCCAACAGACCCAGTAAAGCGCTCACGACATTACTGGAGCCTAACCAGGCGCTATTGCGAATAATGGT
+GCGAAACGCGCCATCTGCAAACCAATGTTTGATGTTAAAACCCGCCAATTCAGCCTGACCTTATCGTTGA
+TAGTAAAAAGTATCCCGCCAGCCTTAAGTTAAACTTCGGCGGTCAGAAACGATGGCAACCAGAGAAACCG
+CCTTCTGTGCCTGTTCCAGCACTTCGCTGTAAGGCGCTCTGGAATCAATCTCAAGAATTTTTGTGCCGTT
+ATAGCCAATCGTCGACATGACGCCGATTTTGTCCTGCAATTCGGCATAGTCATGGTCAGGCTTGCGGGAA
+ATGGCAGTATCAATATCAATCCCCAAACGAATGATTAATTCAGGACGATATTGCGCCATTTGTTGGTATA
+AACGCCGTTCGCGCTGCGCCAGAAACATGCTGATTTTCCCGGTCGCACGTTCGACGCCGATCCCCGGTCC
+GTCATAATAAAAGCCCGAAATTTCAGCCTGCGGGAAGCGATCGCTGACCACCAGAACGCCACTTTGCGCC
+AGTCGCTGAACCTTGCGTAGATTCGCCATTCTTCGCAGCGAGAAGCAGTACATAATCACCGCCGCCCATA
+GCGCCGGAGATTTGGTTTTCATGCTTTGGGTTTTCGAGGATTTGGCCGCCAGTCGCCGTTCCAGCCAGAC
+GCCAACCAACGGCAATCGTTTGATTTTGTCGCCGTCTTCGCCGGAGAGCAGCCCCAGATAGCGGCGCTCG
+GTTTGCCAGTGTTGTTGCAGCGATTTCACCAGGTCGGTGGTCAGTGTGGATTTACCGGTGCCATCACACC
+CGACCACCGCAATCAGCCCCGGAATGTAGTTGGGCTGCGGCGCGGTTGTACTATTAACAGTTTGTGTTTG
+TAGTGCGTCCATTCGTTAAATCATCCCCTATCCATTTTGGTGATCAGGAAAGCGCAGCGTGAATTGCGCG
+TAGTGACGCTTGCAGAATTTCATCGGCTGGTTGCCGACCATCCAGTTCAAGGATCTTTGCGCCATTGAAT
+GTCAGTTGCGGCGTAACGGCGATTTTTTCCTGTAACGCTGCCAGTTGGTGGTCAGGTTTACGCGCAAACG
+CGGTTTGTTCATCAATGCCAAGACGAATCAACAATACGGGCAAATAAGACGCCATCCATTGGTACAGCTT
+CAGCTCGCGCTGCCTTAACATTTTTATCCAACCGTTACCGCCCGTGGTTTTTGCCAATTGCGGGCCATCA
+AAGCGAAAACCCGGCACTTCAACCTGCGGGTAGCGGTCGGTGATGAGCAGATAGCCTTGCTGGTTTTTAC
+ACAACATTTTGTGAAACTTGTACGCCCGCCAGCAGGAAAGCAGATAGATAACCAGCGCAGTAATATTGCC
+AGGCGGTGTGGAGGGTTTATCGTGCACATGTGCCGCTTTACTTCGCAGATAACGCCCAAAAGGTGCGCCA
+ATAACAGGGAGCTGTGAAATCCATTCGCCAATTCGCCCGGACGATTGCCCGAGATAAATGTGTTCTGTTG
+GCATTCTTGCTGCCAGTTCATTTACCAGGCTTGCCGTGAGGGTCGATTTACCTGAACCATCACATCCTAC
+AATGGCAATAACACGCACTGGCGTGGAATTAATTATTGACATATTACGTTGATTCACGAAAAACCCGGCA
+GCAAATAATGTATTGAATATTACGTGGTCCGTGCTCAGAATATCCGTTCAAACTTATTGTGACAATGGTT
+AATTGTGACATTGACCTGAATTACGCTTTCATAAAAACATATTAACCAAATAAATATTTTTAATGGACAT
+TTAAATTAAAGGATATATTCATGCAGTCAATAACACCTCCATTAATTGCCGTTATTGGTAGCGATGGTTC
+AGGCAAGTCAACGGTGTGTGAACATCTCATTACCGTTGTCGAAAAATATGGTGCAGCCGAAAGAGTTCAT
+TTAGGAAAACAGGCCGGAAATGTCGGTCGTGCAGTGACAAAATTACCGTTGATGGGAAAATCCTTACATA
+AAACAATTGAACGAAATCAGGTGAAAACAGCAAAAAAATTGCCAGGACCAGTTCCGGCGCTGGTAATTAC
+AGCGTTTGTCGCCCGTCGCTTACTGCACTTTCGTCATATGCTTGCCTGTCGTCGTCGCGGGTTAATTGTT
+CTAACCGACCGTTATCCTCAGGACCAAATTCCTGGCGCTTACGATGGTACAGTGTTCCCACCTAACATTG
+AAGGTGGTCGTTTTGTCTCATGGCTGGCAAGCCAGGAACGTAAAGCGTTTCACTGGATGGCGAGCCATAA
+ACCTGATCTGGTCATCAAACTCAATGTTGACCTTGAAGTTGCCTGCGCGCGTAAACCCGACCATAAACGG
+GAATCGCTGGCGAGGAAGATTGCCATAACGCCACAGTTAACCTTTGGCGGTGCACAACTGGTTGATATCG
+ATGCTAATCAGCCACTGGAAAAGGTGCTGATTGATGCAGAAAAAGCGATTACGGATTTTATGACCGCGCG
+TGGTTATCACTAGTCAAAAATGGAAATGCCCGATCGCCAGGACCGGGCATTTTCAGGAAGGTTAAATCAA
+CTGCAATGCTATCCAGTACAACCCACCAGAAAGAAAAATCGCCGCCGGTAAAGTAAACACCCACGCCATC
+AGGATGCTGGTTACCGTTTTACGCTGTAACCCACCGCCGTCCACCACCATCGTCCCTGCTACTGCAGACG
+AGAGTACGTGTGTTGTGGAGACGGGCATCCCAATATAACTGGCAAGGCCGATAGACACTGCCGCCGTCAT
+TTGTGCCGCCATGCCTTGCGCATACGTCATGCCGCGCTTACCAATCTTCTCACCGATGGTCATCGCTACA
+CGACGCCAGCCAATCATGGTGCCGATGCCGAGCGCCAGTGCTACCGCCATGATGATCCACACCGGTGCGT
+ACTCAATGGTGCTTAACATATCGCTGCGCAGTTTTTTCAGCAGGTTCTGGTCTTCTTTACTGACGCCTGG
+CAGTTTCGCCAGCTTCGCGGAGGTATCAGAGATGCACAGCATAATGCGGCGCAGCTGGCTGCGCTGACTC
+ACGCTTAACGGCTCGTAACTTTCCATATTGCCTGGCAGCATCGTTTTAACGCGCGCAATCGCATCAAAGG
+TATTTGCCGGATGACAGTGAAACTCCGTCACTTGCGCGCCATCAGTCGATGCCGCAGGCAATGGAGGTTC
+CATCGCAATCAACTTCTGCGGCAGTTCAGGATGCTGTTGCAGATAGTGTTCAAAGTTGGTGACGGCATCG
+CGGGTACGGGTAATTTCATAGCCGGACGCATTCATATTGACGACGAAACCAGCAGGGGCAATCCCCACCA
+GTACCAGCATCACCAGGCCGATCCCTTTCTGCCCGTCGTTCGCGCCGTGCGAAAACGCCACGCCCGCAGC
+GGAAACAATCAGCGCAATACGCGTCCAGAATGGCGGCTTACGTTTGCCTTTTTTCTTTTTGCGATCTTCC
+GGAATGCGGTGAATACGGTCACGCTTTTTCGTCCCGCTCCAGAAACGGCGCAGCAGGAAAATCAGACCAC
+CCGCAATGACCAGGCCGACGATAGGGGAAACAATCAGCGAGGAGAAAATTTTGGTCACTTCACGCAGGTT
+TAACGCATCCATCACCGATGAGCCGGTTAACAGCGCGTTGGTTAAACCGATGCCGATAATCGCACCAATC
+AAGGTGTGCGAACTGGAGGCCGGTAAACCAAAGAACCACGTTCCCAGGTTCCAGATAATCGCCGCCAGCA
+GCATGGAAAAGACCATCGCCAGGCCGTGAGTTGACCCCATATTCAGCAACAAATCGGTTGGTAACATATG
+GACAATGGCATAGGCAACGCTAAGTCCGCCCAATAACACGCCAAAAAAATTAAAAAATGCCGCCATCACC
+ACAGCAAGTTGTGGTTGCATGGCACGAGTATAAATAACGGTTGCCACCGCATTCGCCGTGTCATGAAAAC
+CATTGATTGCTTCGTAGAACAACACAAATGCCAGAGCAAGTAATAACAAAAGCCCTGTGTATATATCAAG
+GCCAACAAATAAATTTAGCATATATTAGATTACGCCATTTTGAATTTACGAACGGACGCATTATCAGTGA
+CTTTAACGGCATGGGCAAAGTGAAATATCATTTTTTAACGATAAAAAGAGTGTTATTTCTTGTGTATCAG
+ACAATAAGCATTCATTCAAAACCTTTAGAAATAATCAAAACACAGGTATTCCACTGGTTAATATATTCAC
+ATATGAAATGAATAAATATTGGAATATATAAATATTGAATATTTTGATTAATCCCCGTACTGATTATTCT
+TCATAATCAGTACGGGGTTGCTACAACATGTATTACTTTTTCACCACAATTAACGGTTCAATATCACTCT
+CTTTTTTGATGACCAGTGATTCATCACCGCGCAAACACGTCCCACCGTAGTTGCCGCCAACGGTGAAGGT
+ACATACCTGAATGTATTTACCGTCCACTTTCGGCAAACACCACAGTTGCTGATAGATGTTTTTCTGCTCG
+GCAAATTTACCGCTGGTTTTGTCCAGCACCTCTTCATGATGGCTGACCAGGTCGATATTGCTACCACAGC
+GACCAGCGATCGGTTTCACTGCATAACCGGTTTTCACCAGTTCATCATTCACGGAGAAATCGGTATCCAG
+CAGGTAGCGATGGTGCGGGAACAGCGACCAGAGGATCGGCAGAATCGCTTTGTTGCCGGGGATCACCGTC
+CACAGCGGCTCAAAGACCAGCACTTCCGGGCGCAGCAATACGTCGATAAGACGCACTTCATTTTGCGGAT
+GACCGGTACGGATCGGCACCGCAGCAAACTCACGGTCGCTAACTTCACGAATCTGATCAAACGCGGTCTC
+CCACGCCCAGGTTTTCCACACGCAGTTAACCAGTCGCCCTTCCCCATCAATCAGTTGCCCGGCAGCATCC
+CAGCCCAGTTCATCCAGCCCGCGCAAGATACGCGTTTCAAAGCCCGCCTGGTGCAGCGCCTGCTCCATAA
+ACTGCGCGTGATAGTTTTCCTCGATATCTTTGTCCTGCATGATATGGACAAACGGACGTGCACGACTGTG
+TTTCCAGGCACCAGCCAGTTCGTTAATCAGCCCTTCCGCCGGATTGAAGCCGTTGCCTTTATAGCCCTGC
+TCCGCCCAACGTTCGAGGATCAAGCCCGCTTCGGTATGACAGGAGGCGGAATCGGCGTTGTATTCGTAGA
+CCTTCAGGCCACGTTCGTCCATACAGAAATCCATACGACCGGTGATCATATGGTGACGGCGACGCTGCCA
+GGAGAGACGCAAACGTGGCCAGAGGATTTTCGGAATGTCGAACAGCGCCAGCAGGTTGTCATCTTTCAGC
+ACCTTGTCGGTGGCGTGAAGATACATCAGGTGCAGCTCGTTGGTGGCTTTAATCAGCTCCTGCTCTGCGC
+TCTCGGTAATGGTGTAGTAATGATACGGATCCTGATTGATCACCTGACCGTTGGCCTGTGCATAGGCGTT
+TTGCAGCGGATCTTTTTCATCCAGCCATTTACCGTCAAACTGGCCTTTGTTTTCCAGACGCGCCCCGCTG
+ATTTTCAGCAGTTCGCCTGCAATTTCCGGCTGTGGCAAGCTGTATTCGGTATCTTCCGTCTGGATCATCC
+AGCCCAGAATGGTGGTGTCATCAAACGTGTCTTTAAGGGTATAGCCGCCGTTTTCGACCACCATCTCCAG
+CTCGCGCGTCCACTGTTGCCCTTGCGGCAACGGGGAATGAATCACGTTCTGTTCCGCAATACGGACTTTG
+TTGCCATGCAATTGGGTAATGATGGCGACATGGCCAGTGTCTTTAAATTCACCGCCTTTATCCCAGATAA
+GAAGCGCACCCGCGACCGGCGCACGCGGCGAGCCGTTAGGAAATGCCTGCAATGGCAGGATGTTGTCATT
+AATCACTTCACGCAGGAAGCGCAGCGAGAAAATCTCCCACGCCATACCCACGTCAGTGAAGACCACACCG
+TAATTCAGAAAGAGAAAACGGCGAGCAAATTCAACGCATTGCCATTTGTGGCCCATATATTCGTCGTCGA
+TATAGCTACGGAATACGGCGTCATCTTCGTATTCCTGCGGATCGAGAGAACTGTAATCTGAAGAGTAGAT
+TGCTACCCCACCTGGGGCGTAGCCCAATAATGTCCCGAACGGGGCATCCTGGCTGGTCGTTCCTTTGCTC
+ATCACTTTACCTTTAACAATACAACCTAAGCAGTTGGCGTAATTGTTGTGCTCTGATTACCTGCTCAGCG
+ACATTAACCGGACAGAGGTCAGACTAATCATACACCTCATCGCAGCGGCTGGCGCAAAGGGTTAAAAAAT
+TCACATTCTGTACAGCAAGTGACCTGCTACACTGCTTCAACACTACCACTCAGAAGGCAACTCACTATGA
+CAGACAATACTTATCAGCCCGCGAAAGTCTGGACGTGGGATAAATCCGCTGGCGGCGCGTTCGCCAATAT
+CAATCGCCCGGTTTCTGGTCCGACGCATGAAAAAACGCTGCCGGTGGGCAAACATCCACTGCAACTCTAT
+TCGCTGGGAACGCCAAACGGACAGAAAGTAACGATTATGCTTGAGGAGCTGCTGGCGCTGGGCGTTACTG
+GTGCAGAGTACGACGCCTGGCTGATTCGTATTGGCGATGGCGATCAAATTCTCCAGCGGCTTTGTCGAAG
+TGAACCCAAACTCGAAGATCCCGGCATTGCGCGACCATACCCATAATCCACCGATCCGCGTGTTTGAGTC
+TGGATCGATTCTGCTTTATCTGGCGGAGAAATTTGGCTACTTCCTGCCGCAGGATCTGGCAAAACGGACT
+GAAACGCTGAACTGGCTGTTCTGGTTACAGGGCGCGGCACCGTTCCTCGGCGGTGGTTTTGGTCACTTTT
+ACCATTACGCGCCGGTGAAAATTGAGTACGCCATCAACCACTTTACCATGGAAGCCAAGCGCCTGCTCGA
+CGTGCTGGATAAGCAACTGGCGCAGCACAAGTTTGTTGCGGGCGATGAGTACACCATTGCGGATATGGCG
+ATCTGGCCGTGGTTTGGCAACGTGGTGTTAGGCGGCGTGTATGATGCCGCAGAGTTTCTTGATGCGGGAA
+GTTATAAACACGTACAACGCTGGGCGAAAGAAGTGGGCGAACGTCCGGCGGTGAAGCGTGGGCGTATTGT
+TAACCGCACCAACGGGCCGCTGAACGAGCAGTTGCATGAGCGCCATGACGCCAGTGATTTCGAGACGAAT
+ACGGAAGATAAGCGTCAGGGGTAAGTCGCAACATTGGCAGGCTTATCGCTATGTAGCCGGATAAAGCATT
+TACGCCGCATCCGGCTTTAATCATCACGCGCTGGTAATGTCGTAATCCATTTGGCGCAGTGCGTCTAATG
+TGGCTTTGGCTTCATCTTCGTCGATGATGCTCATGGCAAATCCGACGTGTACCAGCACCCACTGGCCCAG
+CAGATCGGCAGGGTTACCTTCACAAATCAGGGCGATATTCACGTCGCGCTTGATACCACATACTTCAACC
+TGCGCAAGCTGGTGAATATCTTCACCGACAGCCAGCACCTGGCCTGGAACGCCAATACACATTGTTAACT
+CCGGTTATTCAACTTCAATACTTTTGACGATTAGCGAATCGCCGGTATCGACACGCAACCGCTCGCCGTG
+ACAGATCGGACACTGCGCATCGTGCTGATGAATCTCCACCACCTGGCTACAATCCCAGCACCAGGCCTGG
+GCGGGTTTATAGACGATATGTAAATCGCACCCTTGCGCCACCGTTCCGTGGCAGACAATTTCAAAACTAA
+AACGGACGGCGCTCTCCTCAACGCAGGAGAGCGCGCCAATTTCCAGCCACACGGCGGTGACGCGCTTAAC
+ATCGTGCTGCTCCGCCTGCCGTTGGATAATTTCAACGGCGCTCTGGCAAAGCGACAACTCATGCATTTTC
+GCCACTCCTGCGGCCAAACAGCAGGGCGCGACGCCCTGCGTGTGGTACATCCGGAGTGCTGACTGGCAGC
+GAAAGGATCATTCGGGCGCAGTCATCCGTCAGGCGTTGGCCCACTTCAATCGACATGCTGTGCGAAAGCG
+GCGACATCAGCGAACAGGAGAGATATTGAGAAACACCGTCCAGTTCGCCAACGGTAAAGGTCATAGTGCC
+ATACGGCAGTTGCAGACCAATTTTTTCACTCACTTTGCGCAGCGGCCAGAGTTGATCCGGGCCGGGGAAG
+ATAACGGCACTCAGCATCCACGGGGTGATCACACACCCCGTCCACTGACCTTCGAACAGCGTAAAGTCAG
+AAACATACACCGGCATTGAAGGATGCAGAAAAGAGAGATCGTGCATCGAACGCCGGGCAATTTCTTCAAA
+CGCTGCCTGTACTTGCGCCTTCGGGGAGGTCTGGAAACCTGTTATCTCTTCAGTCATGAATCGCCTCCCG
+TGGGATAGCTTCCACGCCTGATTCGCGCAGCGCAGCCAGAACCTGCTCAAGCGCAGGTTCAATCATCGCT
+TCGACCGTCGGCGTTAAGCCGATGTGTGGCTCCAGTGATTCCGGGATCACGCCGACCAGGGTCAGCTTTT
+TCGGAAACTCGCCGGTGAAGCGCAGGGCCGACAATACGTCGGCCAGGCCAAGCTGATGCGGAGAGATTTT
+GTTGGTAAACAACGCCGGAACTTCTTCATCCCGCAGGATCATCATCGTTCCCGGCGCGTTCTTTTTCGAC
+ACAATGGCATCCGCAATAATCAGATGATCGCGATTTGCCATGTCGCCAAGCAGCTCCATTCCCGCCGTGC
+CGCCATCGAGGATCTCAACATAATCCGGCAGAATGTATCGTTGCTCTAACGCTTCGACAATCCGCACGCC
+GATGGCTTCATCGGTCAGCAAAATATTGCCGACCCCTAAGACTAAAATACGCATTACAGAACCTTCACTG
+AAACCACTTCGTTGCCGTCAGCATCCACTACGTGTACCGCACAGGCCATGCACGGGTCGAAGGAGTGAAT
+GGTACGCACCACTTCCAGCGGTTTATTCGGATCGGCAACCGGCGTACCCACCAGCGACTGCTCGTAAGGA
+CCGACGTCATCATTGAAGTTACGCGGACCAGAGTTCCAGGTTGATGGAACAACCGCCTGGTAGTTGCTGA
+TGATACCGTCTTTAATAACCATCCAGTGAGAGAGCATACCGCGCGGTGCTTCGAGGAAACCTACGCCTTT
+GAACTCACCCGTTGCCGGAATGTTCGGCTTCACAAAGGTGGTGTGATCGCCTTTGCCGATATTGGTGATC
+AGTGCACTGTATTGATTTTGCAGGATATCCTGCAATTCACAGCAGTGAACGGTACGACCAATAATACGGC
+CTAGCGTGGAGTGCAGCTGCGCCACTTCCAGCGTGTTGCCCGTCAGTTTCTGATAAATCGCAACGATTTC
+ATTCAGTTTGTTCTGGGTAGACTCGCGTCCTGCCGCCAGTTTCACCAGCATGTTAGCCAGCGGCCCCACT
+TCTACCGTTTTGCCGTAGAAAGTCGGTGATTTCACCCAGGAATATTTACCGTCGTCAGACCAACCATCAT
+AAGCCGGAATGGTGGTACCTTCCCACGGTGCCTGCGGCGCTTCGTCTTTATACCAGGAGTGCTTCGCGCT
+TTCCTGAATCCCTTTGATCAGGTATTCATCGGAATGAGAAGTGATCGGACGATACGAGGACAGATCCGCA
+TTCTCAATGTAGCCGCCCGGGAACAGGAAGCTGCCGTTTTTGCTGTCGGTAGGGAATTCTGGCACGCTCA
+GGTAGTTCACCGCACCTTTACCGCGCGTCAGCCATTCCGGGTAGAACGCGGCGATAACTGCGGTATCAAC
+CTTGTAAACCTGCTCAACAAAGTCGCTCAGTTTATCGATGAAAGACTTGATGTACATCAGGCGCTCAAGG
+TTCAGCACGCCCAGACCGTCGAGGTTGATTGGGTTAGCGACCCCACCTACCGCCAGGTTCTGAATGTGCG
+GCGTTTTACCGCCCAGCAGCGCCACGACGCGGTTAGCGTCACGCTGGCACTCCAGCGCCTGCAGGTAGTG
+CGCTACCGCAATCAGGTTCACTTCCGGCGGCAGTTTCATCGCCGGGTGCCCCCAGTAGCCGTTGGCGAAA
+ATACCCAATTGACCGCTGGCAACCAGATCTTTGATCTTGTTCTGAACGTTGGTGAACTCTTCCGGGCTGT
+TCAGGTGCCAGGTCGAAACGCCTTTCAGCATTTCGGAGGCTTTGGTCGGATCGGCTTGCAGTGCAGAAGT
+GATGTCCACCCAGTCCAGCGCCGAAAGCTGATAGAAATGAACAATATGGTCATGCGTGGTGTGCGCAGCC
+AGAATGATGTTACGGATGTATTGCGCGTTAACCGGAACGTCGATATTCAGCGCGCTCTCTGCCGCACGGA
+CAGAAGACAGCGCGTGAGTGGTAGTACATACGCCACAGATACGTTGCACAATCATCCATGCATCGCGCGG
+ATCGCGGTTTTTCACGATCTCTTCCATGCCGCGCCACATGGTACCGGAAGCCCATGCTTTCGAAACGACG
+CCATTTTCGATTTCGCAATCGATGCGTAAATGCCCCTCAATACGGGTTACCGGATCAATAGTAATTCTCT
+GGCTCATGCTTTGCTCGCCTCATGACGATTATGATCGTTTTGTTTTAAAGGAGGAAGTATCGGCAGTAGA
+CGAATGAGTACGATGTAAGCGCAAATCTCAATAGCCACAAAACCAATAGAAATCAACAGTTCTTCCCAGG
+TCGGGAAGTAGGCGTAACCGCCGCCCGGGTTGAATGCCACCAGCGAATAGGTCAGACGCCAGGTTGCACA
+ACCTAACAGCGCGCTCAGTGCTGACAGGAACAGCATGCGGGAATCATTACGCAGCTTCGCCACACGCAGA
+ACGACCAGCGGGAAGAGCATCAGCAGGACTTCAATCCAGAACATCACGGAGTAGAAGTCACCGGCAAACG
+CTAACGACAGCTTGTCGCGATAGATAAGCTCGCCAAAGCGCAGCACGATGAAAATCGCCAGCAACACACT
+GATGGTGTTGGTCAGCTTAACGAACAGACTCTTTTCATCCGGACCGTTGCCACGCAGACCCGCCTGCACC
+AGCGAACCTTCAAAGATGACAATTGAGAAGCCCATGATGAACGCCGTCAGCAGCGAGAACAGCGGCAACA
+TTTCATAGCTTTGCCACAGCGGATGCACCTTGTAGCCCGCCGAGATCATCAGCGACCCCATTGAAGACTG
+GTGCATGGTCGGCAGCAGCGCGCCAAGTGCAATGATGAAGAACATCACCTTGTTCAGACGCTGTAGCGAC
+ACCTTCCAGCCCAGACGTTCAAACAGTGCCGGAGCAAACTCCAGTGCCATCACGCCGATGTAGATGGTCA
+TACAGACCGCCGTCTCGAACAGTACCGAGTTCACGTTGAAGTGACCCGGAATGTAGAAGTACGGCAGGTT
+CCAGTAGCGACCCACGTCGATGGTGATCGACAAGCCACCCAAGGAGTAACCGAACAGACTCGCCAACAGC
+GCCGGACGCACCAGCGGATGGTATTGCCCACGGTTAAAGACGTATACTGCCCACGCCAGCGCCCAGCCGC
+CACAGGCAAAGCCGGTACCGATCAGCAGGTCAAACGCGATCCACACGCCCCACGGGAAGCCGCCGTTCAG
+GTCAGAAACAGAGCCCAGACCGAACACCAGACGCTTCACAATCAGGAGCATACAGATGACGATTAACGGT
+CCAAAAATCATGACCGGTTTACTGATGATTTTGCCGCCCAGCGGTTGTGGATCATGACTCATGATCGTCT
+CCTCCGTCGTGATGGTCGTTTTTGGTGTTGCGACGAACCAGCACGGTTAAGCCCGCCAGCACAGCCAGTG
+GTAGCATCATGCCTTTATACAGGGTGTGTTGAATATTTTCGGAACGCGCACCGGTAGAAAGATCGTCCAG
+TTTCGGCAGGTCGAGATTTTCATAAGGCACACCCGTCAGTACCAGAACCTGAGTACCGCCGCCCTCTTTC
+TCGCCGTACAGATGCGGATAATATTTCGGCACCGTGTGCAGGTAAGTGTCGCCAGATTTCAGTGTCTGAC
+GCGGATAGTGGTATTCGCTGCCAGGCTTCAGCGCCAGACGTTTTTTCGCCTCCGCCATCAGCTCTTCACG
+CGTACCAAAAATCACCGCGCCCGCCGGACATACTTCTACACAGCCAGGCAGACCGCCTTTATCGAGACGT
+TCCACACCTTTCTGGTTGCACAGCTCGCACTTATGCAGCGCACCAAACGGGTTGTTGTAGTCGTACTTCG
+GCACGTTGTACGGACAGGCAACCATGCAGTAACGGCAGCCGGTGCACACATCTTTGTCGTAATGGACAAT
+GCCGGTTTTCGGATCTTTTTTCAGTGCAGAGACCGGGCACACAGAGACACAGTTCGGATCGACGCAGTGC
+ATACACTGTTTCTTAATGTACGCGTAGCCGTTCTCCTCCTGGTCTTTGTTGACCCCTGTGCCGCTGGTCC
+ACACCTGAATGATGTTATTGGTGTACGGCGACAGTTTGTCGTTGTTCGACCAGGTCTGTTCCCCTTGCGG
+GTTACGTTCAGGGAAATTGATATCCTGACACTTGGTGACGCACGCCTGGCAGCCAACGCACAAGGTCGAG
+TCGTACAACATCCCCAGCGATCCCGGAATTGGCGGGCGGTTTTCAGCAGCCGCATGACTGACAGACGGCA
+GCGCGCCCGTCAGCAATGCCCCGCAGGAGGCTGCTTTAATAAAATTACGTCTGTTCACGGTTATTCTCCC
+CGTGAGTCAGCGTTATCTTTCTTTTGCTGACGACCCAGTTCACGCACCGCCATCACGCTGACACCGGCAA
+CCAGCCCAACCACACCGCCGAGCAAACCAATAGCGCCTGCCGAGACGTTGCCGCCTTCTTTAGCGTTAAC
+ATCCGGTTTCTGTGAACGCGGAGTCTGGTTTTCGACGTTGGCAAGCTGATGGATGCCTTTATGGAAGCCG
+ATACCTTCTTCGTTACAGCCATAGCACGGGTGACCAATCGCCACCGGCCACACACCGCCAACATCGCAGA
+ATTGCAGCGTTGAGCAGTTGCCGTAAGTTTCTGGCCCTTTACAGCCGAGGTGGTACAGGCACCAGCCTTC
+GCGGTGGCCTTCATCACCGAACTCTTTGGCAAAACGACCAGCATCGAAGTGCGGGCGACGTTCGCAGTGT
+TCGTGAATCAGACGGCCATAGGCGAAGGTCGGACGGTTTTTGTCATCCAGTTTCGGCGGCTTGCCGTAAG
+TGATGATGTGCGCGACGGTCGCGAGGACGTTGTGCGGGTTCGGCGGGCAGCCAGGAATGTTGATTACAGT
+TTTGCCCGGCAGAACTTCTTGCAGGCTGACTGCGCCAGTTGGGTTAACTCCAGCTGCGGCAACACCGGCC
+CACGCAGAGCAGGAACCGATAGCGATAATGGCTGCTGCGCCTTCCGCCGCTTTGCGGATGTGATCCACAA
+TCGGCTCACCGGCAACCATGCAATAAATACCATTATCTTTTAATGGGATGGAACCATCCACCACTAACAC
+ATACTGCCCTTTGTACTTCTCGAGAGCGTTATGTTTGTTCTCTTCGACCTGATGACCGAAGGCGGCGGAA
+AGCACTTCGTGATACTCCAGAGAGATAGTCTCCAGCACGAGGTTTTCTACCGTTGGATGCGTTGCACGAA
+GCAGAGATTCCGTACAACCGGTACACTCCTGCGCGCCAATCCAGATAACTGGCGGACGCTGCGGGTTAGT
+AACCGATTCGGCCATCTCTGCAGCGGCTTTGCTACTTAACCCCATGGTGGCGGCTAATGCTGCACAAAGC
+TTCATGAAATCACGACGGTTAATGCCGTGAGAATGGATGAGGGTGTTATCTCCAGTCATTTATAGTTATT
+CCGTTGCGAAGACTTGGCATATATTTTGCCTCAATCGCAAAATCAATAATGCGATCGATGCGCCATTTAC
+CACACATTTATTATGGTTATCGATATCATGATACTGCGGCGGGGCACTAAAACGAAGGGAAGAAGCATTA
+GTGTAATTAATTAAAGCAAGATAATACGTATGTTTGATCAATTTTCGAGGCGATAACCGGCCATAAAAAA
+GCGCAACGTAGAACAGGAATTATTCTCACGAAAGAAATCCATTACCATCTCTTTATCCAGTCCATAGCGG
+CGCGTCAGAATACCCGCTTCCCAGGCGCTAAGCTGGCGATCTCCGGTCTTTTCGTACATCCGGTGTGAGT
+AGCCTAATACAAAACCGCGTTTATAATCGGCACAGAATTTTGTCACATTAACCGCACTGTCGGCATGCGT
+TGCTTTTAATCCCGCCATTAAGCCTTTACCAAAATGGTTATTCATCGTTCACCTCATTCGCTATATATTG
+TCATATATAGCGATATTTTAGGCAAAGAACGACATTTGCGCACGCTATTTTTTCATGCTTGTTTAAGACG
+TAATCCTGTAAGAGATAAACCCATCAGGAGAGATATTTATCGAACCATTTCAGCGTCCTTTGCCAGGCAA
+GATCGGCGGCAGATTTGTCATAACGGGGCGTGGAATCATTATGGAATCCGTGATTAACCCCCGGATAGAT
+ATACGCCTCATAGACCTTATTATTGGCTTTCAACGCCGCCTCGTAAGCAGGCCAGCCCTCGTTGATTCGG
+GTGTCCAGTTCCGCGTAGTGCAACAGTAAAGGCGCTTCAATCTTCGCCACATCGGCAGTGGGTGCCTGAC
+GACCATAAAACGGCACCGCGCAGGCCAGTTCCGGATACGCGACAGCCGCCGCGTTCGATACGCCACCGCC
+ATAGCAAAATCCGGTAATACCCACTTTGCCTGTCGCTTGCGGATAGCGTTGCATAAACTCAATTGCGGCA
+AAGAAATCATTCATCAGTTTGGTTGGATCAACCTGCTGTTGCAGCTCACGACCTTTATCATCATTACCCG
+GATAACCTCCAACGGAACTTAAGCCGTCAGGTGCCAGGGCGATATACCCCGCCTTCGCCACTCGCCGTGC
+CACATCTTCGATATACGGATTCAGTCCACGATTCTCATGCACCACCACTACGGCTGGCGTTTTGCCGCTC
+ATCTTTGCGGGCTTCACCAGATAACCCCGCACCTCGCCGTGACCATTTGGCGAAGGATACGTGATGTACT
+CAGCAACAATTTCCGGGTCGGTAAACTCTACCTGAGTCGCCAGCGCATAATTTGGCTTGAGCAAATCAAA
+CAACGCTAATGCCGTCATCCCGCCTACCGCATACTTCGCCGCAAGGTTGAGGAACTCACGTTTCGAGATT
+TTCCCGTGAGCGTAATAGTCGTAGTAATCCAGCAACTCTTGTGGGAAATCTTTGGCGGTTAAACGCGGCA
+TCATTGCACTCCTCAGTTGGTGTTTTTTTAAGCAAAGCATAAGCACGTGTTTTTGCCCAGTTTTTCGTCA
+CTCTGTGAGCCAGACTACGGGATACGCGCTGGCGAATCGCTAAACTAGAAACATTGTTTCGAAATTGAAC
+GGTGGAAAGGAGAGGTCATGGTCTGGTTAGCGAATCCCGAGCGTTACGGGCAGATGCAGTACCGTTATTG
+CGGAAAAAGCGGTTTACGCCTGCCCGCGTTATCGCTCGGTTTATGGCACAATTTCGGTCACGTTAACGCG
+CTGGAATCACAGCGTGCGATCCTGCGTAAAGCGTTTGATTTGGGCATTACGCACTTTGATTTAGCCAATA
+ATTACGGGCCGCCTCCAGGAAGCGCAGAAGAGAACTTTGGTCGTCTGCTGCGCGAGGATTTTGCCGCTTA
+TCGCGATGAACTGATTATCTCTACCAAAGCCGGATACGATATGTGGCCCGGCCCTTACGGCTCTGGCGGT
+TCACGTAAATATCTGCTCGCCAGCCTCGACCAAAGCCTGAACCGTATGGGGCTTGAGTATGTCGATATCT
+TTTACTCTCATCGCGTCGATGAAAATACGCCGATGGAAGAAACCGCCTCTGCGCTGGCTCATGCGGTACA
+AAGCGGTAAGGCGCTGTATGTCGGGATCTCCTCTTACTCGCCAGAGCGGACGCAAAAAATGGTCGAGTTA
+CTGCGCGAGTGGAAAATTCCGCTGTTAATTCATCAACCTTCGTACAATTTACTGAACCGCTGGGTGGATA
+AAAGCGGCCTGCTGGATACCCTGCAAAATAACGGCGTGGGCTGCATTGCCTTTACTCCTCTGGCTCAGGG
+ATTGCTGACCGGAAAATATCTCAACGGTATTCCGCAAGATTCACGGATGCATCGTGAAGGGAATAAAGTT
+CGTGGTCTGACGCCGAAAATGCTCACCGAAGCCAACCTCAACAGCCTGCGCTTATTGAATGAAATGGCAC
+AGCAGCGTGGACAATCAATGGCGCAAATGGCGTTAAGCTGGTTGCTGAAAGATGAGCGAGTGACGTCGGT
+ATTGATTGGTGCCAGCCGCGCGGAGCAACTTGAGGAGAACGTGCAGGCGCTGAATAATCTGACATTTAGC
+ACCGAGGAGCTGGCGCAGATTGATCAGCATATCGCCGATGGCGAGCTGAATCTGTGGCAGGCGTCTTCCG
+ATAAATGACCTGTTAATAACGGGCGCGAGAACCGCGCCCGAATCAGATCAGTGATTATGACGAGTCAGTC
+GGTCAAGATAGCCCATCACAAATGCAGAGAGCACAAACGTCAGATGGATAATGACGTACCACATCAGTTT
+GTTATCCGGGACATTTTTCGCATCCATAAAGACGCGCAGTAAGTGAATGGAAGAAATTGCCACAATCGAC
+GCTGCTACTTTGTTTTTCAGCGACGTTGCATCCATTTTCCCCAGCCAGTTCAGCTTCTCTTTGTTCTCGG
+AGATATCCAGTTGTGAGACGAAATTCTCATAACCGGAAAACATCACCATCACCAGCAAACCGCCAACCAG
+TGTCATATCCACCAGCGACAGCAACACGAGGATCAAATCTGATTCCGCCATCGAGAAGATATTCGGCAGT
+ACGTGAATAATCTCCTGGAAGAACTTCAGCGCCAGGGCAACTAACGCCAGCGAAAGGCCAAAGTACACGG
+GGGCAAGCAGCCAGCGAGAAGCATACATTGCATTTTCAAGAAAACGTTCCATACATTCCTGTCGTGTAGT
+TAAAACGGGCAACAGTATATCGCAATTGAGTAAACAGCACGCAACAGCAAATCAACATATACGTTAAACC
+TTTGTCGCATAAATCCGAGGTTTAGGGATCTTCCTGGTTCCCTTATCAACGCATCGAGAGCGTCTACCCT
+TAAAGGACGTTGAACCTGAAGGGAGAAAAACAATGTCTCATTTAAAAGACCCGACCACGCAGTATTACAC
+TGGTGAATATCCCAAACAGAAACAACCGACGCCAGGCATCCAGGCGAAGATGACACCGGTACCGGATTGC
+GGCGAGAAAACCTATGTTGGTAGCGGTCGCCTGAAGGATCGTAAAGCACTGGTGACAGGGGGCGATTCCG
+GAATCGGTCGCGCTGCCGCCATCGCTTACGCGCGTGAAGGGGCTGACGTGGCGATCAGTTATCTTCCCGT
+GGAAGAAGAAGACGCTCAGGATGTGAAAAAGATCATTGAAGAATGCGGACGCAAAGCCGTTCTGCTGCCA
+GGCGATTTAAGCGATGAGAAATTTGCCCGTTCGCTGGTTCACGAAGCGCATAAGGCCTTAGGCGGGCTGG
+ATATTATGGCGCTGGTCGCCGGGAAACAGGTTGCCATTCCTGATATTGCAGACCTCACCAGCGAACAGTT
+TCAAAAGACCTTTGCCATTAACGTTTTCGCGCTGTTCTGGCTAACCCAGGAAGCGATCCCCCTGCTACCG
+AAAGGTGCAAGTATTATCACCACTTCGTCAATCCAGGCATACCAGCCAAGCCCGCATTTACTGGACTATG
+CGGCTACGAAGGCGGCAATTCTGAACTACAGCCGTGGCCTGGCAAAACAGGTCGCAGAGAAAGGTATTCG
+GGTGAATATTGTTGCGCCAGGCCCGATCTGGACAGCACTGCAAATTTCCGGCGGGCAAACGCAGGATAAG
+ATCCCGCAGTTTGGTCAGAAAACGCCGATGAAGCGTGCGGGGCAACCGGCGGAACTGGCCCCTGTATATG
+TTTATCTGGCAAGTCAGGAGTCGAGCTACGTCACCGCAGAAGTGCATGGCGTGTGCGGAGGCGAGCATTT
+AGGCTAAAAAAATGCCCGGTTGTGAAAAGCAACCGGGCATCATTTTTATTTCGCTTTGGCAGTTTCTTCG
+CCGACCAGACCTATCTTCAGGTAACCCGCCTGATGCAGCGTATCCATTACCTTCATCAACGTCTCGTAAT
+CGACGGTTTTATCCGCTCGGAAGAAGATGGTGGTGTCTTTCTTGCCTTCGGTTAACGCATTCAACGCCGT
+AATCATTGTTTCATCGGTGACCGGATCGTTACCGATAAACATCGAGTTGTCTGCCTTCACCGACAGATAA
+ACCGGTTTTTCCGGGCGCGGCTGCGGCGTGCTGGTAGAAGCAGGCAAGTTCACCTTCACATCTACCGTCG
+CTAACGGTGCCGCCACCATAAAGATAATCAGCAGAACCAACATCACGTCGATAAACGGCGTCACGTTGAT
+ATCATGCATTTCGCCGTTATCGTCGAGGTTTTCGTTAAGATGCATTGCCATCGGACATTATCCTGCGCGT
+AATTTTTGTGCAACACGAACCGGATGCGCAGCGGCGCTGGCTTCCAGATCCAGGTCACGGCTTTGCAGCA
+ACAATACCTGCGCTGCAACATCACCCAGCATCGCTTTAAAGCCGCCAATCTGGCGTGCAAATACGTTATA
+GATAACGACCGCCGGAATCGCTGCCACGAGGCCGATTGCCGTTGCTAACAGAGCTTCTGCGATACCCGGC
+GCAACGACTGCCAGGTTAGTGGTCTGCGTTTGCGCGATACCAATAAAGCTGTTCATGATGCCCCAGACCG
+TACCAAACAGACCAACGAACGGCGAAATCGCGCCGATGGTTGCCAGATAGCCGTTACCGCGGCCCATTTG
+ACGACCTACTGCGGCGACCCGACGCTCCAGACGGAAGCTGGTACGTTCTTTAATACCTTCGTTATCGTCG
+CTGCCTTCTGACAGTTCCAGCTCATTCTGCGCTTCATTGAGCAAATGCAGGCTTAAGCTTTTGCTACCAA
+AATCAGCGGCGATATCGTTGGCCTGGTTTAAGGAACGCGCTTCAGCCAGCAGTTGCTGCTCGCGCTTAAG
+GCGACGCTTCTGATTGAAGAACTCTACGCTCTTACTGAAGAAGATTGCCCAGGTGACTACGGAGGCCAAA
+ATAAGCCCAATCATCACGCACTTAACGACAATATCGGCGTGCTGATACATACCCCAGACGGAAAGGTCCG
+TCTGCATTAAATTATTACCCACTGTGTATCTCCAGGACGCAAGTCACAAAATCTGCGCATAATAATATCA
+AAACGACGTCGAATTGATAGTCGTTCTCATTACTATTTGCATACTGCCGTACCTTTGCTTTCTTTTCCTT
+GCGTTTACGCAGTAAAAAAGTCACCAGCACGCCATTTGCGAAAATTTTCTGCTTTATGCCAATTCTTCAG
+GATGCGCCCGCGAATATTCATGCTAGTTTAGACATCCAGACGTATAAAAACAGGAATCCCGACATGGCGG
+ACAAAAAGCTTGATACTCAACTGGTGAACGCAGGACGCAGCAAAAAATACACTCTCGGCGCGGTAAATAG
+CGTGATTCAGCGCGCTTCTTCGCTGGTCTTTGACAGTGTGGAAGCCAAAAAACACGCGACGCGCAATCGC
+GCCAATGGCGAGTTGTTTTATGGACGGCGCGGAACGTTAACCCATTTCTCCTTACAAGAAGCGATGTGCG
+AACTGGAAGGTGGCGCAGGCTGCGTGCTGTTCCCCTGCGGGGCGGCGGCGGTTGCTAATTCTATTCTTGC
+TTTTGTCGAACAGGGCGATCATGTGTTGATGACCAACACCGCCTATGAACCGAGTCAGGATTTCTGTAGC
+AAAATCCTCAGCAAACTGGGCGTAACGACATCGTGGTTTGATCCGCTGATTGGCGCAAATATCGTTAAAC
+ATGTGCAGCCAAACACTAAAATCGTGTTTCTGGAATCCCCAGGCTCCATCACCATGGAAGTCCACGACGT
+TCCGGCGATTGTTGCCGCCGTGCGCAGTGTGGTGCCGGATGCCATCATTATGATCGATTACACATGGCCG
+CCCGGTGTGCTGTTTAAGGCGCTGGATTTTGGCATTGATGTTTCCATTCAGGCAGCCACCGAATATCTGT
+TGGGGCATTCAGATGCGATGATTGGTACTGCCGTATGCAATGCCCGTTGCTGGGAGCAGCTGCGGGAGAA
+TGCCTATCTGATGGGGCAGATGGTCGATGCCGATACCGCCTATATAACCAGCCGTGGCCTGCGCACTTTG
+GGTGTTCGCCTGCGTCAACATCATGAAAGCAGTCTGAAAGTGGCTGAATGGCTGGCAGAACATCCGCAAG
+TAGCGCGAGTTAACCACCCTGCTCTGCCTGGCAGTAAAGGCCACGAATTCTGGAAACGAGACTTTACAGG
+TAGCAGCGGGCTATTTTCCTTTGTGCTTAAGAAAAAACTCAATGATGAAGAGCTGGTGAACTATCTGGAT
+AACTTCAGTTTATTCAGCATGGCCTACTCGTGGGGCGGTTATGAATCGTTGATCCTGGCAAATCAACCAG
+AACATATCGCCGCCATTCGTCCACAAGGCGAGATCGATTTTAGCGGGACCTTGATTCGCCTGCATATTGG
+TCTGGAAGATGTCGACGATCTGATTGCCGATCTGGACGCCGGTTTTGCGCGAATTGTATAACATTGCCAC
+TTTTGGACAATTTTGCAGACATTTTATTGTGAAAAGTCTTAAATTGTTGCGTCCGGGATCAAGGCGTCCC
+GGACGATTCAGGAGTACAATAGGCAGATAAAGGCTTAAACGCTGTTCCACAGGAAAGTCCATGGCTGTTA
+TTCAAGATATCATCGCTGCGCTCTGGCAACACGACTTTGCCGCGCTGGCGGATCCTCATATTGTTAGCGT
+TGTTTACTTTGTCATGTTTGCCACGCTGTTTTTAGAAAACGGCCTGCTGCCCGCCTCATTTTTGCCAGGC
+GACAGCTTGTTGATATTGGCTGGCGCATTGATTGCCCAGGGGGTTATGGATTTTCTGCCTACGATTGCGA
+TTCTGACCGCCGCAGCAAGTCTGGGCTGCTGGTTAAGTTATATTCAGGGGCGCTGGTTAGGGAATACCAA
+AACGGTGAAAGGCTGGCTGGCACAGCTTCCTGCTAAATATCACCAGCGCGCCACCTGCATGTTTGACCGC
+CACGGTCTGCTGGCGCTGCTGGCTGGACGTTTTCTTGCATTTGTCCGTACGTTGCTGCCAACCATGGCGG
+GAATTTCCGGTCTGCCAAACCGCCGCTTCCAGTTTTTCAACTGGTTAAGCGGATTGCTGTGGGTCAGCGT
+GGTAACCAGTTTCGGCTATGCCTTAAGTATGATTCCGTTCGTTAAACGCCATGAAGATCAGGTAATGACG
+TTCCTGATGATCCTGCCAATTGCCTTGTTAACCGCTGGCTTGTTGGGCACGCTGTTTGTGGTGATTAAAA
+AAAAATACTGTAACGCCTGACGATTTTCCCCGTTCCCGGTTGCTGTACCGGGAACGTATTTAATTCCCCT
+GCATCGCCCGCATTATTGCCGCATCTTCCCCCGGCGTCACACCAAAGTAACGTTTAAACTCACGGCTAAA
+TTGCGATGCGCTTTCGTAACCGACGCGCATCGCTGCCGCACTGGCTTTCATGCCGTCGTGGATGATCATC
+ATCCGCGCCTTATGCAGACGGTAATTCTTCAAATACTGCAACGGTGAGGTGCTGGTGACAGACTTAAAAT
+TATGGTGGAACGCCGATACGCTCATGTTGGCTTCTGCCGCCAGTTGCTCGACGCTCAGGTTTTCGGTGTA
+TTTATTCTCAATCCGTTTCAGCACGCGGCTAATCAGGCTGAAGTGAGTCTGGCGACTGACCAGCGCCAGT
+AACGCGCCGCCGCAAGGTCCGGTCAGCACGTAGTACAGAATTTCGCGGATGATCTGTTTGCCGAGAATAC
+GCGCATCCAGTGGTCGCTCCATCACGTCGAGTAACCGCTCCGCCGCGCATAAAATCTCTTCTGATAACGT
+GGCGGAGTTAATCCCGCTGGCTGCCATCGACGGCTGGAAATGCTCATCTTCGCCAATGTCCATCAACAGT
+TCCTGTAACTGCAAAATATCGACATTGAGACGCACCCCTGCCAGCGGCACCTCTGACGTGGCATAGGTTT
+CGCACTCAAACGGCAACGGCACCGTCAGCAGCAGGTATTCATTGGCATCATAACGAAACACGCGTTCATT
+GATATAACCGATTTTATGTCCGGAAAAGAGAATTATGATGCCTGGCTCGTACATCACCGGTGTGCGTGCG
+AAAGGCGTCTCGCCATACAACAAACGCACATCGGGCAACAGTTCTGACAAACTATTTTCTTTATTTTTCA
+GTTTATTAACTTTATCCGCCAGCAAGCGGCAAATCTCTTCACGTTTCATATCGCGTAATTTCTTAGGAAT
+AATGCGGCAATTTGATTGTGCGCAATTTTGTAGCATTTCTCCAGCACTCTGGAGAAATAGGCAAGACATT
+GGCAGAAATGAGCATTGAGAGGTACGGCGCTGGCGACCACAATGAAAAACATCAGGCAGACCGATCTCTG
+CCCTCATATTGACCCAGCAAAGGGAGCAAGTAATGAACAACTTTAATCTGCACACCCCAACCCGCATTCT
+GTTTGGTAAAGGCGCAATCGCTGGTTTACGCGAGCAAATTCCTCACGATGCACGCGTATTGATTACCTAC
+GGCGGCGGCAGCGTGAAAAAAACCGGCGTTCTCGATCAAGTTCTGGATGCCCTGAAAGGCATGGACGTGC
+TGGAATTTGGCGGTATTGAGCCAAACCCGGCTTATGAAACGCTGATGAACGCCGTGAAACTGGTTCGCGA
+ACAGAAAGTGACCTTCCTGCTGGCGGTTGGCGGCGGTTCTGTACTGGACGGCACCAAATTTATCGCCGCA
+GCGGCTAACTATCCGGAAAATATCGATCCGTGGCACATTCTGCAAACGGGCGGTAAAGAGATTAAAAGCG
+CCATCCCGATGGGCTGTGTGCTGACGCTGCCAGCAACCGGTTCAGAATCCAACGCAGGCGCGGTGATCTC
+CCGTAAAACCACAGGCGACAAGCAGGCATTCCATTCTGCCCATGTTCAACCCGTATTTGCCGTGCTCGAT
+CCGGTTTATACCTACACTCTGCCGCCGCGTCAGGTGGCTAACGGTGTAGTGGATGCCTTTGTGCACACCG
+TGGAACAGTATGTTACCAAACCGGTTGATGCCAAAATTCAGGACCGTTTCGCAGAAGGCATTTTGTTGAC
+GCTGATCGAAGATGGTCCGAAAGCCCTGAAAGAGCCAGAAAACTACGATGTGCGCGCCAACGTTATGTGG
+GCGGCGACTCAGGCGCTGAATGGTTTGATCGGCGCTGGCGTACCGCAGGACTGGGCAACGCATATGCTAG
+GCCACGAACTGACTGCGATGCACGGTCTGGATCACGCGCAAACACTGGCTATCGTCCTGCCTGCACTGTG
+GAATGAAAAACGCGATACCAAGCGCGCTAAGCTGCTGCAATATGCTGAACGCGTCTGGAACATCACTGAA
+GGTTCCGACGATGAGCGTATTGACGCTGCGATTGCCGCAACCCGCAATTTCTTTGAGCAATTAGGCGTGC
+CGACCCACCTCTCCGACTACGGTCTGGACGGCAGCTCCATCCCGGCTTTGCTGAAAAAACTGGAAGAGCA
+CGGCATGACCCAACTGGGCGAAAATCATGACATTACGCTGGATGTCAGCCGCCGTATATACGAAGCCGCC
+CGCTAAGCTTTTTACGCCTCAAACTTTCGTTTTCGGGCATTTCGTCCAGACTTAAGTTCACAACACCTCA
+CCGGAGCCTGCTCCGGTGAGTTCATATAAAGGAGGAACGTATGGCTAATCCAACCGTTATTAAGCTACAG
+GATGGCAATGTCATGCCCCAGCTGGGACTGGGCGTCTGGCAAGCAAGTAATGAGGAAGTAATCACTGCCA
+TTCAAAAAGCGTTAGACGTGGGTTATCGCTCGATTGATACCGCCGCGGCCTATAAGAACGAAGAAGGTGT
+CGGCAAAGCCCTGAAAAATGCCTCAGTCAACAGAGAAGAACTGTTCATCACCACGAAACTGTGGAACGAC
+GACCACAAGCGCCCCCGCGAAGCCCTGCTCGACAGCCTGAAAAAACTCCAGCTTGATTATATCGACCTCT
+ACTTAATGCACTGGCCCGTTCCCGCTATCGACCATTATGTCGAAGCATGGAAAGGCATGATCGAATTGCA
+AAAAGAGGGATTAATCAAAAGCATCGGCGTGTGCAACTTCCAGATCCATCACCTGCAACGCCTGATTGAT
+GAAACTGGCGTGACGCCTGTTATTAATCAGATCGAACTTCACCCGCTGATGCAACAACGCCAGCTACATG
+CCTGGAACGCGACACACAAAATCCAGACCGAATCCTGGAGCCCATTAGCGCAAGGAGGGAAAGGCGTTTT
+CGATCAGAAAGTCATTCGCGATCTGGCAGATAAATACGGCAAAACCCCGGCGCAGATTGTTATCCGCTGG
+CATCTGGATAGCGGCCTGGTGGTGATCCCGAAATCGGTCACACCTTCACGTATTGCCGAAAACTTTGATG
+TCTGGGATTTCCGTCTCGACAAAGACGAACTCGGCGAAATTGCAAAACTCGATCAGGGCAAGCGTCTCGG
+TCCCGATCCTGACCAGTTTGGCGGCTAACGTGCAAATTCTCCCGGTGGCGGTAATGTTCCGCTACCGGAC
+TTTTCAGAAATCATTTATTCCCCTCGCGTCCCGCCCGTTGCTACTCTTCCTTGTTCAGGAATGCCAAATA
+TAAGGACATCATCATGCAGAGCCGGAAGCTCTTAAAGGAACAACTCATCTACACCCGGGATAAACGCAAC
+GGAGAGGTGAAAAACAGATGAAAATAATACTTCTGTTTTTAGCAGCCCTGGCAAGTTTTACCGTACAGGC
+ACAGCCCCCCTCACAGACCGTAGAACAAACAGTCCGGCAGATTTATCAGAACTATAAATCAGATGCCAGT
+ACGCCTTATTTTGGTGAAACCGGAGAGCGAGCGATAACTTCTGCGCGTATTCAACAGGCGCTTACCCTGA
+ACGACAATCTTACGCTGCCGGGCAATATTGGCTGGCTGGATTATGATCCGGTTTGTGATTGTCAGGATTT
+TGGCGATCTGGTGTTAGAAAGCGTAGCGATAACCCAACCTGACGCCGATCATGCCGATGCCGTTGTGCGC
+TTTCGTATCTTTAAAGACGATAAAGAAAAGACCACGCAGACACTGAAAATGGTGGCGGAAAATGGTCGTT
+GGGTCATTGACGATATTGTCAGCAATCATGGCAGCGTCTTACAAGCGGTTAATAGCGAGAATGAAAAAAC
+GCTGGCCGCTATAGCTTCGTTGCAAAAAGAACAGCCGGAAGCCTTTGTTGCCGAACTCTTTGAACATATT
+GCTGATTATAGCTGGCCGTGGACGTGGGTGGTTTCCGACTCTTACCGCCAGGCGGTCAATGCCTTCTATA
+AAACCACCTTCAAGACTACCAACAATCCCGATGAAGATATGCAAATAGAACGGCAATTTATTTACGACAA
+TCCGATCTGTTTTGGCGAAGAGTCGCTATTTTCACGCGTTGATGAAATCCGTGTCCTGGAGAAAACCGCC
+GATTCCGCCCGCATTCATGTTCGTTTTACGCTGACCAATGGCAACAACGAAGAGCAAGAACTGGTTTTAC
+AGCGGCGCGAAGGTAAGTGGAAAATCGCTGATTTTATCCGCCCGAACAGCGGCAGCCTACTTAAGCAGAT
+TGAGGCAAAAACCGCCGCCAGATTAAAACAATGAGCTGAATTAAATAACAATTAGCCGGAACAATAAATA
+AAAGGGAACACTATATGAAAACGATTTTCACCGTGGGAGCTGTTGTTCTGGCAACCTGCTTGCTCAGTGG
+CTGCGTCAATGAGCAAAAGGTCAATCAGCTGGCGAGCAATGTGCAAACATTAAATGCCAAAATCGCCCGG
+CTTGAGCAGGATATGAAAGCATTACGCCCACAAATCTATGCTGCCAAATCCGACGCTAACAGAGCCAATA
+CGCGTCTTGATGCACAGGACTATTTCGACTGCCTGCGCTGCTTGCGTATGTACGCAGAATGATAAAAAAA
+TCCCCGGCAGCATTCTGTTACCGGGGATATTTTTTAACGTCCAACCGCCGCTTTAGGGCGTTTCTTCGCA
+CCAGCATTCTGCAGGCGAGATTGCGTAGACGACGCTTTTTTTGCCGTAGCAGGCATCTGACGCTGGGTCG
+CCATCGGCGTATGTTTAGTCAACGCCGGACGGGTATTGCGGTTCTGGCGACGAGCCTCGCGCATCTCTTC
+AATGGTTGGCGCAGGCACTAAGCAATCGCGACGGCTGCCAATCAGATGCTTTTTGCCCATCGCTTCCAGC
+GCCTGGCGGATTAACGGCCAGTTTGCCGGATCGTGGTAACGCAACAACGCTTTATGCAGGCGACGCTGCT
+TGTCGCCCTTCGGTACAAAGACGTCTTCACTTTTATAATCAATCTTCGCCAGCGGGTTTTTCCCGGTGTA
+ATACATGGTGGTGGAGTTAGCCAACGGCGACGGGTAGAAGTTCTGTACCTGGTCGAGACGGAAGCGATGC
+TTTTTCAGCCACAGCGCCAGATTCACCATATCTTCATCACGCGTACCGGGGTGCGCAGAGATGAAATACG
+GGATCAGATACTGCTCTTTACCTGCCTGTTTCGAGTAGGTATCGAACAGCTCTTTAAAGCGGTCATAGCT
+GCCCATGCCCGGCTTCATCATCTTCGATAACGGCCCTTCTTCGGTATGTTCCGGGGCAATCTTCAGATAA
+CCGCCGACGTGATGGGTCGCCAGCTCTTTGATATAGCGCGGATCTTCCACGGCGATGTCATAACGTACGC
+CTGAGGCGATGAGGATTTTTTTAATGCCTTTCAGATCACGCGCACGGCGATAGAGGTTGATCGTCGGTTC
+GTGGTTAGTGTCCATATGCGGACAAATATCCGGGTAAACGCACGACAAACGGCGACAAGTTTGCTCGGCG
+CGTGGCGATTTGCAGCGCAACATATACATGTTGGCAGTTGGCCCACCGAGATCAGAAATCACGCCCGTAA
+AGCCTGGCACGGTGTCGCGGATCGCTTCAATCTCGTTGATGATCGAATCTTCCGAACGGCTCTGAATAAT
+GCGACCTTCATGCTCGGTAATAGAGCAGAAAGAGCAGCCGCCAAAGCAGCCGCGCATAATGTTGACAGAG
+AAACGGATCATTTCGTAAGCCGGAATACGAGCATTGCCATAGGCCGGATGCGGCACGCGCTTGTACGGCA
+GCGCAAAAACGCTGTCCATCTCTTCGGTAGAGAGCGGAATAGCAGGCGGGTTGATCCACACATAGCGGTC
+GCCATGTTTTTGCATCAATGCGCGGGCGCAGCCTGGGTTGGTTTCATGGTGCAGAATACGCGAAGCATGG
+GCGTACAGCACTTTATCGCCCTTCACTTTCTCGAAAGAAGGCAGCAATACGTAGGTTTTTTCCCACGGTT
+TCGGGCGCGGCGGCTGCACGGTTACGGCTTTCGCTTCCTGCTTTTTCGGCGCAACAGGTTTGTTATCCGC
+GCACGGCAGATCTTCGCCATACGGATGCGGGATCGGGTCGATTTTCCCAGGAGTATCAAGACGGGTGGAA
+TCCACACCGCTCCAGCCTGGCAACGCCTCTTTTACGATAATCGCGGTATTACGCACATCGCGGATTTCAC
+TAATCGGCTCACCCATCGCCAGACGGTGCGCCACCTCCACCAGCGGACGCTCACCGTTACCGAACATCAG
+CATGTCGGCTTTGGAATCCACCAGCACGGAACGGCGCACGGTATCGGACCAGTAATCATAATGCGCGGTA
+CGGCGCAGGCTGGCCTCAATACCGCCGAGGATCACCGGTACATCTTTCCACGCCTCTTTACAACGCTGGG
+TATAAACCAGTGTGGCGCGATCCGGTCGCTTACCCGCGACATTATCTGGCGTGTAGGCATCGTCATGACG
+TAAACGGCGATCGGCAGTATAGCGGTTGATCATCGAGTCCATGTTGCCAGCAGTAACACCGAAAAACAGA
+TTCGGTTTACCCAGACGCATAAAGTCGTCTTTGTTGCTCCAGTCCGGTTGGGCAATGATCCCGACACGAA
+AGCCCTGCGCTTCCAGCATACGACCGCAAATCGCCATCCCGAAGCTTGGGTGATCGACATACGCGTCGCC
+AGTAACCAAAATGATGTCGCAGCTATCCCAGCCAAGTTGATCCATCTCTTCACGAGACATCGGCAAAAAC
+GGTGCCGGTCCAAAACAGGCGGCCCAGTACTGCGGCCAGGAGAACAGGTCGCGATCCGGTTGGATCAGGG
+AGATAGAGCTCATTTTGCTTCCAGAAATGGTAAAAAAATAATCAAAGGCCGGGGATTATACGCTGTATCA
+CGCGCGGAAATGAAGTGATGTTGATGAACGGTGGCGAAATACCCTGGTGAGGTTTTTCACTGCCCGACTT
+GGGCAAGCACATTTAAGGCTGGCGGTATCGTGGCAACTGCCGCTACTATTTATGCCGATCAGTAACGTTC
+AAATCATATTGCACGACGATCGGCTATCCGAGGACACCCACAGTAAGGCAAGGTATGGAACAGGTTATTA
+CAAAGCGCCGCTATTACGATATTGGTCTACAGATTGAAGAGCTGCTGTATTCAGGCGTATTCAAAGCCGG
+AGAACGCTTACCTTCAGAACGTGAACTGAGCGAGCGGTTTAATACCAGCCGAACTACCATTCGTGAAGCC
+ATTATTATGCTGGAACTTAAAGGCGTACTGAATGTGAAGCAAGGGTCAGGGATTTTCTTTGTCGACTCCA
+CTGATAAGCTCAACCAGAAATCATTAATGCCCTATTCAGAAATTGGCCCGTTTGAATTGTTGCAGGCGCG
+TCAGGTGATTGAGAGCAATATTACTGGTTTTGCAGCCAGCCAGATTAGCTTTAACGAGTTACAAGAGTTA
+AAGAAAATCATTAGCTTGCAGGAAAACGCTATCGCTGCGGAAAGTGATAAATTTGAAGACCTGGATCACC
+GATTTCATAGCATTATTGCCGAAGCGACGCAAAATCGGGTACTCATCAAACAAGCCGCTGAATTATGGCG
+GGCAGTTCGTACAGAAAACCCCCGCTGGAAGAAACTTAACTACAAGTACCTGCATGAAAAGCATTTGCGT
+CTGCAATGGCTGGAAGATCACCGGGCTATTTTCCTGGCTCTGCAACAGAAAGATTCAGAGCTCGCCAGGG
+AAGCGTCCTGGAGACATCTGGAAAACAGCAAAAATGAACTGATCAAAATCTTCAAACAAGACGCTTCCAT
+CAGCGATTTTGATGACTTTTTCTTCGCTCGTTAACCTTCATGAGTCCAGAGCTGGCGGGAAAAATAACGC
+CGGCTCTGCCTTCCGCCCTCCACTGGTACACGCTCTCTTTTCAATTGGTCTAATAAATCGACTATCATCA
+GATATCTTAGATTAGCGGCAATTATCCCAAAAACTGACCTCTAAAAAACTTTCCTTTCATTTTATTCATA
+TAACTCATTGATACAGATATAAATAATGCCTTGTTGTTCTGTTTCGTACTTTTACCTTTCTCTGCAAGCG
+TGATGCATCTCTCTGTTTTTGGTCTAGTGAATTATGTAAATTGGTATACACACAAGCCACCAGGAGTAAG
+AGCATAATGTCAGGGAACGAAAGTATCGCTGCCGCCCACTATGATCAGGTAACCACCTGGCCTCGGGACG
+GGTTACAGGCAGATATTGTCCATATTGGTTTTGGCGCTTTTCATCGCGGACACCAGGCTGTCTACACGGA
+TCTCACTAATCAACTTTCGGACACCCGCTGGGGGATCTTTGAGATCAACCTGTTTGGTGATGCTCAACTG
+ATCGAAAACTTAAATGCGCAAAATGGGCTGTTTTCGGTTGTGGAAACATCTGCATCGCAATCTACCTCAC
+GCCTTGTGCGTTCGGTGGCTGGCGGTATTCATACCCCCAGAGATGGCATTGCCGCAGCAATCCATAAACT
+GGCTGAACCTCAGGTAAAAATCGTTTCATTAACCATCACCGAGAAAGGTTATTGCCTCGATCCGCAAACA
+CGTTCACTTGATCTCACCAATGGATTAATCCAACACGATCTACAAAACCCGGATGCGCCTCAGTCGGCTA
+TTGGCTTGATCGTCTGTGCTTTGCAACAACGTAAAGCGGCAGGGCTCGCCGCTTTTAGCGTGCTCTCCTG
+CGACAACTTGCCAGACAATGGGCATCTGACGCGAAATGCTGTTCTCGGTTTTGCCCGACAACTGGACCAG
+CCCCTGGCTCAGTGGATCGAAGAAAATGTCTCATTTCCAGGCACGATGGTCGATCGCATTGTTCCGGCAA
+TGACCGAATCGCAATTCGCCTTACTGGAAACTAAAACCGGTTATGCCGATCCCTGCGGGATCGTCTGCGA
+ATCATTTCGTCAGTGGGTGATCGAAGATAATTTTGTGCATGGGCGACCACAATGGGATAAAGCAGGCGCG
+ATGTTTGTCAGCAATGTTCAGCCTTATGAAGAGATGAAGTTACGCATGTTAAACGGTAGCCATTCATTTC
+TGGCCTATAACGGCTCACTGGCTGGCTATGAATTTATCTGGCAATGCATGGAAGACGCTGATTTTCGTTC
+CATTACCCGCCAACTGATGATTAATGAACAAGCCCGAACGCTTAATCCAGACTTAAATATCGACGCCCAG
+GAATACGCCGACCTGTTAATTGAACGCTTTAGCAACCGTAATGTTGCACACCGTACCGGGCAAATCGCTA
+TGGACGGTTCGCAAAAGCTTCCCCAGCGAGCGCTGACTCCCTGGCTGAAATTGCATCAGCAAAAACAAAA
+CAATGCTGTTCTGTCACTGCTCGTTGCTGGTTGGTTGCATTATGTCATTGAAGCTGTTGAGAAAAGCCAG
+TCTGTCGCTGATCCAATGAGTGAACAATTTCAGGCGCTAATAAAGGAACAACAAGACGCATGGCAACAGG
+CGCTCGCATTACTGCACCTTAGCGCCATATTTGGTGAATTAAGCAACCATCAGCCATTTATAAATGAAAT
+AAAAATCGCCTTTGCGAATATAAAAAACAAAGGCATCAAGGCCACCATCAGCCAATTATTATCGGATGAG
+CAGAAATGAAAACATTAATTTGTCAGCAGCCTGGCGTTATGGAATATGTGGAAAAGGATATTCCTACACC
+AGCAGATAATGAAGTGCTGTTAAAAATCAAAGCTGTGGGTATTTGTGGTACTGATATTCACGCTTTTGCC
+GGCAGACAGCCTTTTTTTAGCTACCCACGTGTATTAGGTCATGAAATATGCGCCGAAGCGGTTTCGCGAG
+GCAGCCAGTGCCAAACAGTACAATCAGGCCAGCGCTATTCCGTCATCCCATGCATTCCGTGTGGCGAGTG
+CGCAGCCTGTCGGGAAGAGAAAACGAACTGCTGCGAACGTGTTTCGCTGTATGGCGTGCATCAGGATGGG
+GGTTTTAGTGAGTACCTTGCGGTACGTGAAGACAATCTTGTGCCTCTCCCTGACGAGGTCAGCGACAGTG
+CCGGAGCATTGGTTGAATGTTTCGCCATTGGTGCACATGCCGTTCGTCGGGCAGAGATCAAGGCTGAACA
+AAACGTACTGGTGATTGGCGCTGGGCCAATCGGTCTGGCTACCGCGGCCATCGCCAGGGCTAAAGGGGCG
+CATGTTGTTGTTGCTGATATTGATTGTCAACGTCGCCAGCACGTTGTGGATCATCTGGCGATTAATGCCT
+TCAATCCCACGCAGGAAGATTTTATTGCCGCGCTTCGTGAGGCCTTTGGAGGCGAACTGGCTTGCGTAGT
+ACTGGATGCGACGGGAAATAAAGCTTCAATGAGTCATGATGTAAATCTTATTCGTCATGGCGGCAAAATT
+GTTTTCATCGGTTTGTACATTGGTGAACTTGTTATTGACGATCCGACCTTCCATAAAAAAGAGACAACGT
+TACTCAGCAGCCGCAATGCCACACGGGAAGATTTTGCGTTGGTGATTGAACTGATGCGCAGCAATAAAAT
+TCACGAAAATTTAATGAAAAACCAGGCGTTCAATTTCTTTAGTGTTGGCGAAGATTACCAGCGTAACGTT
+GTAGAAAATAAAAATATGGTCAAGGGTGTGATCACTTTTTAAGGGAACAAATATGACAACTGTTTATGTC
+AGTGAAGAAAATTTAAAATCACTGGTGCACCACAAATTACATACCGCCGGGCTGGATACCGACACCACAC
+AACAGGTGACAGATGTTTTAGTACATGCCGATATTACAGGTGTGCATTCACATGGTGTTATGCGTGTCGA
+ACATTATTGCACCCGCCTTGCTGCCGGAGGGTTAAATAAAGCCCCGCAGTTTAGCATTGAGCAAATTTCA
+CCATCAGTGGCTATTCTCGACTCTGACGACGGAATGGGCCATTCGGCATTAATTAGCGCCACTGAGCACG
+CCATTAAACTGGCCCAGGAAGAGGGTCTCGGTTTTGTTAGCGTAAAAAACACGTCTCACTGTGGCGCGTT
+ATCTTATTTTGCAGAGATGATCACCAACAAAGGATTGGTTGCTATCGTAATGACGCAAACCGATACCTGT
+GTGGCTCCCCATGGCGGTGCCGAGCGCTTTTTGGGAACTAACCCCATCGCCTTTGGTTTCCCGGTGGAAA
+ACAGCCATCCGATGATTGTTGATATGGCAACCAGTGCCACGGCTTTCGGCAAAATACTTCATGCAAAGGA
+AACAGGAAAACATATTGGTGAAGGGCTGGCGATAGATAAAGACGGTTATGGCACCACTGATCCGCATAAG
+ATTGAAAACCTGCTACCTTTCGGCCAACACAAAGGTTCAGGCATTGCGCTGGCTATTGATGCACTGACTG
+GCGTGCTGATGAATGCGAATTTTGGTAACCATATTGTTCGCATGTATGGTGATTATGACAAGATGCGTAA
+GCTGGCAAGTTTGGTTATTGCCATCGATCCGAAAAAGCTCGGCAATCCTGTTTTTGCAAAAACCATGGCG
+CAAATGGTCACGGAGCTGCATGCCGTTAAACCGGCTCCCGGTGTCGAAAAAGTGTTAGCGCCGAACGATC
+CGCAAATGCACTACAAAGAAAAATGCCAACAGGAAGGTATTCCGGTTCCGGCAGGAATATTCCATTATCT
+GGCAGAGAATTAATCACTATTTTTTATTATAACGATAGAAAAGCGCTGTATTTATCGTTTCTGTTATATT
+AACCAGGAGCAGGATATGAAAGCACTTCGTCCTCTGACGGCATCGCTTATGCTGTTAACCAGTTGTTTAT
+TAATATCTAATACCACACTGGCAAAAACAACATTAAAACTGAGTCATAATCAGGATAAAAGCCATGCTGT
+CCATAAAGCATTAAGCTATTTAGCGGATAAAACCGAAGAGTATTCTAATGGTGAATTAGTTATTCGCATT
+TACCCAAATGCGACATTAGGTAATGAGCGTGAATCACTGGAATTAATGAACTCCGGTGCATTACAGATGG
+TTAAGGTTAATGCTGCATCACTAGAATCATTTGCCCCGGATTACAGCCTTTTCAGTCTGCCGTTCTTATT
+CCGCGACCGTGATCGCTATTATCGTGTTCTGCAAAGTGATTTAGGTAAAAAAATACTTAAGTCATCAGAA
+AGCAAAGGTTTTGTTGGTATTACGTACTATGACGGCGGTGCGAGAAGTTTTTATTCCAATAAACCGATTA
+CAAAACCTGAAGATTTAGCGGGAATGAAAATCAGGGTTCAACAAAGCCCCAGCGCCATTGCAATGATGAA
+AGCACTCGGTGGTGTCGCTACCCCGATGGCGCAAGGCGAACTCTACACCGCACTTCAGCAAGGTGTGGTT
+GATGGCGGAGAGAACAATACCGTTGTCTATTCCGATATGCGTCACGCCGAAGTCGCAAAAGTCTATTCAC
+GTGATGAACACACCATGGTACCTGATGTGTTAATTATCAGCACCGACGTGTTGAATAAACTTGGTGATAA
+AGAGCGCACGGCATTATTAAAAGCAGCCGATGAGTCAATGATGCAGATGAAGGACGTCATCTGGCCTGCG
+GCTGAAAAAGAAGCCTACGACAAAATGAAAGGGATGAACGCAACAGTTGTTGATGTTGATAAATCCGCTT
+TCAAAGAACGCGTCAAACCGTTATACGATGAATTCAAGGCGAAAGATGCACAATCCGCCAAAAACCTTGA
+GCAAGTAGAAAGTATGTAACCCTAATGGGCAGGTAATTCCTGCCTTTTCATGGAAGACTTATGCGAACAC
+TCACTCATATTCTTAATAAGATCCTTGCCGGATGTTGCTGCATTATTCTCGCCATTATGGTGTTCTGCGT
+AACCTGGCAAGTTATTGCACGTTTTATTTTTAACGCTCCCAGCACTGTGCTTGATGAGTTCACCCAGATT
+TTATTTATGTGGATGATTTTACTTGGCGGTGTATATACTGCGGGGTTAAAAAAACATCTGGCCATTGATT
+TGTTGGCTCAAAAACTTCCGGCTGCATCTGTTCTGACGCTTGACAGTTTTATCCAAATTATTATTACGGT
+CTTTGCGGTTATTTTCATGATCTATGGCGGGAATATTGTTGTTGAAAAAGCACAACATGTTGGACAAATC
+TCTCCTGTATTAAAATGGCCGATGGATAAGGTTTATTGGGTTATGCCTGCCAGTGGGCTTATTCTGGTCT
+GGTATTCAGTGATGAATATCATCGACAACTATCGCAAATGGAATTCTCATTAACGAGGGAAGTATGGACA
+TTGAATATATCTACCCCGTCTTAATTTTATTTGGCAGTTTTGTCATCATGCTGGCAATCGGTGTGCCAAT
+TACTTTTGCGATTGGTCTTTCTTCGCTGTTATCTATTATTACTGCCTTACCACCCGATGCCGCCATTTCT
+GTGATTTCGCAAAAGATGACTGTGGGGCTGGATGGCTTTACGCTATTAGCCATTCCCTTCTTCGTGTTAG
+CCGGAAACATTATGAATACCGGTGGTATAGCCAGACGACTGGTTAACCTGGCGCAAGCATTAGTTGGGCG
+TCTTCCTGGCTCACTGGCTCATTGTAATATCCTCGCGAATACACTGTTTGGTGCGATTTCAGGTTCAGCC
+GTTGCGTCAGCCGCCGCGGTAGGTGGAATTATGTCTCCACTGCAGGAAAAAGAGGGCTATGATCCGGCGT
+TCTCTGCGGCGGTTAATATTGCCTCTGCACCTATTGGCCTGATGATCCCACCAAGCAATGTGTTGATTGT
+CTATTCACTCGCCAGCGGAGGGACTTCTGTTGCTGCGTTGTTCTTAGCCGGATACTTGCCAGGCATTCTC
+ACCGCTGCTGCTTTAATGTTTGTGGCGGCACTTTATGCGCGACGTAACCATTATCCGGTGGCCGAACGTA
+TCAATTTTCATCAATTTTTGCAGGTATTCCGCGAATCAATTCCCAGCCTGATGCTTATTTTTATCATTAT
+TGGCGGTATTATCGCAGGGGTATTCACGCCCACGGAAGCATCGGCAATTGCGGTAATTTATAGTTTAGTC
+CTGGCAATGATTTACCGTGAAATCACCATCAAGAAACTCAATGACATCCTGTTAGATTCGGTAGTAACCA
+GTTCAATTGTTCTGTTACTGGTAGGCTGCTCGATGGGGATGTCATGGGCCATGACGAATGCTGATGTTCC
+TGAGTTGATCAACGAACTGATTACCCGCGTTTCGGATAACAAATGGGTCATTCTATTTATTATTAATATC
+ATTCTGTTGATCGTCGGTACCTTTATGGATATCACGCCGGCGATCCTGATATTTACACCTATTTTCCTGC
+CGATCGCCCAGCATCTGGGGATTGATCCGATTCACTTCGGCATCATTATGGTTTTCAACTTAACCATTGG
+CCTTTGCACACCACCTGTCGGCACCATTCTGTTTGTGGGGTGCAGCATTGGTAAGGTCAGTATCGACAGG
+GCAATAAAACCATTACTGCCGATGTTTCTGGCATTGTTTGTAGTAATGGCAATTATTTGTTATTTCCCGC
+AGCTTAGTCTGATGCTGCCAGGATTATTTTCGACCTGATACACAATGAAGACTGCATACTGAGTAATTTT
+CAATGCCCCACCACTCTGTGGGGCATTGAATTGGTCCATTACGGTACCGGATTGACCAACAGTTGCCCAA
+TCGAACCACGGTCCGCCATTTCCAGCGTCTGACTGTTGAAGTAGAACGGGAAGTGCGCCCAGGAAGGCTG
+ACCGAAATAAACAAGCAGCTCCACTTGTCCGTCAACCCAAACGGTATCTTTCCAGCCTCTGTCTTCCGGG
+AACGGCATCGCGCCATTCACGTTACGGATCTGGAACATCACGCCTTCTATATGGAACGCTTGCGGCTCGT
+CCGCGCGTACCGTCCAGCGTTCCCACGTTCCTTGCTGCGCGGTGACATCAATACGGTTGACGTCCCACAG
+CTGTCCATTAATACCCGGGTCATCACCCAGACTTATATCGCGACTGCGAATCGGCGAACCAGCCATGATT
+TCAGTTGGCAGCAGGCGCATCGGAAGACTGTCTGTGACCAGCGGCAGAAGGCCGGTTGGGCGCAGCGTTA
+GCACCAGGGTAGAAACCAGAATACTGGATGGCTCAAAGAAGCCGCGAATACGATCAACAATGCTCGCCGC
+TTCGCCACAGGTGATCGACACTTCATCACCGTTGCTCATATCCACCAGAATCTCACGGCGCTCGCCCGGT
+GCCAGCGAAAGTTGCTTCACCGATACAGGAGCAGGCAGGAATCCCTGATCGCCAGAAATCACATGTAACG
+GGCGACCATCGCTCATCTGTAGTTGATAGCGACGAGAGTTCGACGCGTTCAGCAGTCGCAAGCGCACCCA
+GCCACGCGAGACTTCAACGTACGGGCTTTGCACACCGTTAACCAGCAGCGTATCACCAACAAAGCCGCCG
+CTTCCCGGTTCGTTGTATTCTGGCGTACCAAAGTTATCCAGCCGTTTATCCTGGATAATGACCGGAAAAT
+CATCCACACCATAATGGTTGGGGATAGGCAGCGATTTGCTGACTTCATCTTCCACCAGCCACATTCCGGC
+AAGGCCGTTATAGACCTGCTGAGCCGTGCGGTTGGGAGTATTGGCGTGATACCACAGAGTAGCTGCGTTC
+TGGCGAATGGGCAGTACGGGTGCCCAGTCAGCGTTTGGCGACATCATCCGTGCCGGACCGCCCATCAGCG
+GGCCTGGTACCTGTAGCCCGGCCACCGTCATTGAGACATTTTCTGTCAGGCGGTTGCTGTAAATAAGCTT
+AACATCGTCGCCCTTCCAGACGCGGATAGTCGGCCCCAGGTAACGACCATTGATTCCCCAAACCGACGCG
+CGTGTCCCTGGCGTAAATGACCAGTGCGCACGTTGTACAGTCATAAACAGCGGTTGCCCACGGCGAGATT
+CAAGCAGCGGCGGAACGGGTAGCGGTTGCTGTTGCCCGGCTGCGCTGGCCTTCAGGGGAACAGCGCCTGC
+ACAAAGTGCAATCCCCGATGCCTGAATGAACTGACGCCGACTGAGTGACATATTTGCTCCATGTAAAACT
+GGCTAAAGTAATACCGTGCAGGAAAGTGTTCCCCGCAAAAATACAGATTGCCGACTTAAACTTTTCCGGC
+GGCTTCGCGCTCTGCGACTTCTTTATCGAGCTCGGCGATTTTTTGTTCCATTATCGAACGACAATGGGCA
+GCCAGCTCACGAACCTGATCTTTGCCATACTGACTGACGTCAATTGGCGGCAGCATTTCGACAATCACCA
+GACCGTTGTGCAGTCGATTAAGATTAATCTTATTCGAAGTTGTAGAGACGCACACGGGAATAATCGGGAC
+GCCCGCAGCAATTGCCGCGTGAAATGCCCCGGTTTTGAACGGTAGCAGGCCGCGACCACGGCTGCGGGTT
+CCTTCCGGGAACATCCAGATGGAAATACGGCGTTTTTTGAAGTGATTCACGACTTCCGCAATAGTGCCGT
+GAGCTTTAGTGCGATTGTTTCTGTCGATCAATAAGTTGCCGGTTAACCAGTACAACTGCCCGAAGAAGGG
+GATCCACAGCAAGCTCTTTTTACCTACCGTCACCGTCGGCGGTTGTACGATGTTCGATGCTGTCACCATG
+TCATAGTTGTTCTGGTGGTTAGCGATATAGATAGCATTGCCGTAACTTTCAGCATCCGCAGGTTTGCGGC
+ACTCAACTTTCAGGCCGAACAGCGGTGCAAGACGACCAAACATATGCCCAAAGGTGGCCACATGTTTCGG
+GTTACGCGGGCTGAAAAGGCAGTAAATGGAGCCGAATACACAGACTAAGATGCTGTAAATCACGGTAATA
+ATAAGACGAAAGATATATAGCATAACACCCTCTGAAGGTCTGAGAGACTGGCATTGTACGTCACCTGAAA
+TCAGGTTAGGGCATTGTTAAAAGCCGCTCTCTGGAAAAGCGTATTGTTAATCGCAACGCATGAATAAACA
+ACGGTTTCAAGGGAATTTTTATCGTTTCCGGGGGTTGAATACGCTGCCGGATGACGACTTAACGTTTCAT
+CCGGCGTTCCTTGCAAGCGGGAGGAAACAGCGCCCTCCCCGGCATATTACTCTTCGCTATCACCGCTGCT
+GGCACGGCGAGGAGAGTCGATCTCAACACGATCGATACGCTGCAAACCGCGCATCAACGTACCGCGGCGT
+CCACGTTCGCCAGTGACTTTCTGTAGCTCTTCCGGACGCAGTTTAATTTTGCGTTTCCCAACATGAATGG
+TCAGCGTGCTTTGCGGCGGCAGAACGTACAGTTGCGCCAGACCATCTTCTCCACGCGCGGCTTCTGCCGA
+TGGAATGTTGATAATCTTGTTGCCTTTGCCCTTCGACAGCTGCGGCAGATCGCTTACCGGGAACATCAAC
+ATACGGCCTGCCTGAGTGATTGCCAGCAGCATATCGGAAGCATCTTCAATCACCACCGGCGGCATAACAT
+GGGCATTTTCCGGTAAGGTGATCAAAGCCTTACCTGCACGGTTACGCGCCACCAGATCGTTAAAGGTGCA
+GACGAAACCGTAACCCGCATCGGAAGCCATCAGCAGTTTCTGATCGTCGCTTTCCATCAGCATATGGTCA
+ACGGTCGCTCCAGGCGGCAACGTTAATTTGCCGGTGAGCGGCTCGCCCTGACCACGCGCCGACGGCAGCG
+TAATCGGGTCGATGGCATAGCTACGACCGGTGGAATCAACAAACACTACCGGTTGGTTGCTCTTACCTTT
+CACCGCCGCTTTGAAGCTATCGCCCGCTTTATAATTCAGGCCCGGCGCGTCGATATCATGGCCTTTAGCG
+CTGCGTACCCAGCCCATCTGCGACAGCACAATGGTGACAGGTTCAGACGGCAGCATGTCGTGCTCGCTCA
+TCGCTTTCGCTTCTTCGCGTTCCTGCAACGGCGAACGACGTTCGTCACCGTAGGCTTGCGCGTCTGCCTG
+CAGTTCTTTCTTCAGCAGGTTATTCATTTTACGCTCGGAAGCCAAAATGCCCTGCAACTGGTCGCGCTCT
+TTTTCCAGCTCACTCTGCTCACCGCGAATCTTCATCTCTTCCAGTTTGGCAAGATGACGCAGTTTCAGTT
+CGAGGATCGCTTCCGCCTGGGTTTCCGTAAGGCCAAACCGCGACATCAGCGCCGGTTTCGGTTCATCTTC
+ATTACGAATGATCTCAATCACTTCGTCGATATTGAGAAACGCCACCAGCAAACCTTCGAGGATATGCAGG
+CGCTTGAGGACTTTCTCCAGACGATAGTTCAGTCGGCGGCGCACGGTATCGCGGCGGAACACCAGCCATT
+CGGAGAGAATTTCCAGCAGGTTTTTCACCGCCGGACGACCATCCAGACCGATCATATTGAGGTTAATACG
+ATAGCTCTTTTCCAGATCGGTGGTTGCGAAGAGGTGGTTCATCACCTGATCCATATCCACGCGGTTGGAA
+CGCGGCACAATCACCAGACGGGTCGGGTTCTCGTGGTCAGATTCATCGCGTAGATCGTCAACCATCGGCA
+GCTTTTTGTTGCGCATTTGCGCAGCAATTTGCTCCAGTACGCGCGCACCTGAAACCTGATGCGGCAATGC
+GCTAATAACCACCGCGCCATCTTCTTTCTTCCAAACCGCGCGCATACGCACTGAACCACGTCCGTTCTCG
+TAGATTTTACGAATCTCGGCGCGCGAAGTGATAATTTCCGCTTCAGTCGGATAATCCGGCCCCTGCACGA
+TATCCAGCAGCTGATCGAGCGTGGTTTTCGGCTGGTCGATTAAGGCAATTGCCGCCTGTGCCACTTCACG
+CAGGTTATGCGGCGGAATGTCCGTTGCCATCCCGACGGCAATACCGGTAGTGCCGTTAAGCAAAATGTTC
+GGCAGGCGGGCAGGCAGCATTTTCGGCTCCTGTAAGGTGCCGTCGAAGTTTGGCACCCAGTCAGCCGTCC
+CCTGTCCAAGCTCGCTTAATAGCAACTCAGAATATTTCGACAAACGGGATTCGGTGTAACGCATTGCCGC
+GAACGATTTCGGATCGTCCGGCGCGCCCCAGTTCCCCTGACCATCAACCAGCGGATAACGGTAAGAGAAC
+GGCTGCGCCATCAGGACCATCGCTTCATAACAGGCGCTATCGCCGTGCGGATGGTATTTACCCAGTACGT
+CACCGACGGTACGGGCCGATTTTTTAAATTTGGCGCTGGCATTCAGGCCCAGCTCAGACATCGCATACAC
+AATGCGGCGCTGAACAGGTTTCAGACCATCACCAATAAACGGCAACGCACGGTCCATGATCACGTACATG
+GAGTAGTTTAAGTAGGCGTTTTCCGTAAATTCATGTAGCGCAAGGCGCTCTGCCATATCGCTCATTAATT
+CTGATTCCTCAACTTATTCGCCAGCCTTCAAAGGGGCAATATTGCCGGAGATACTACATTATCTGCCGCG
+TCGAGTCACAGGAGATCAGCGTGAATAGCGCCGCCGGACGTGCTCCGGCGGCGATAAAGGCATCAATGTG
+TCTTGATATACAACTCTTTGCTGTAGACATAATCCTGGGGATTATGCAGCGGAAAACCGCCAACGTAGGG
+TTTAAGTAGTTTGATTAACGGCTGATAGTAGATAGGAATCAGCGGGGCCTGCTGGTTGATGATCACTTCT
+GCCTGCTGATACAACGCATTACGCTTTGTCGCATGAGTGATCTGCGTGGCCTGGTTTAGTAAGGCGTCAT
+ACTGCGCGTTTTTCCAGTGGCCGACGTTTTCTTCACTATCGCTTTTGAGCGTGTTCAGGAAGCTGGAAGT
+ATCATTATACGTCGCATCCCACGACTGCCGAGACAGCATGAAATCACCGGCTCGTCGGGCATCAAGATAG
+GTTTTCCACTCCATTGTGCGCAGCGTCACCTGTGCACCCAGCCATTTTTTCCATTCGGAAGACAACGCTA
+TCGCGGTCTTTTCATGCAGATCGTACTTGTTGTAGAACAGCTCAAAGCGTAGCGGATGAGAGGCGTCGTA
+TCCCGCCTGCTTCAGCAAGGCTTTTGCCATCGCGACGCGCTCACTCATTGGCTTTTGCAGTTCATCGAAC
+GTCGTCGCGCTAAAGCCTTTTACCTCTGGCGGCGTCAGCGTGGTTGCGGGCGTCCTCAACCCCAGTACCT
+TTTGCGCAATAAGCTGTCGATCAACCGTAAGATATAGCGCCCGACGCACCCGCACATCGTTAAATGGCGG
+TTTCTCAAGGTTGAAGTTGTAATATTCGCTGTTCAGACGCGGAATAATTCGTAGCTCGCCAGGCAGTGAT
+TTTTCAATGGCGGGAATTTGCTGCGCCGGAACCCAGGTGAGATCGACCTCTCCCGCGCGATAGCGGTTAT
+AGCCGGTGACCGAATTATCCAGCGCCAGATACTCAACCTGTTGCAATACTGTATGTTGCGCATCGCGGTA
+CTTTGGATTTTTGCGTGCAGTAATCTTTTCGTTAACTACCCACTGATCAAGCACAAAGGCACCGTTGTAA
+ACCATGTTCTCTGGCTTACTCCAGCTATCGCCATGTTTAGCGATGACATGATGAGGAACCGGGAACAGCG
+TCGGCCAGGCGAGCATCGTCGTGAACCAAGGAACTGGCTGCTCAAGCGTAACTTCAAGAGTACGATCATC
+CATCGCTTTGACACCCAGCGATGTAACATCTACTTTACCCGCAACAATAGCCGCGGCATTGTTAATGTGC
+GCCTGTGCCAGATAGCCAGCAAAAGGGCTTGCCGTTTTCGGGTCAACCGCACGTTGCCAGCCGAGGACAA
+AATCCTCTGCTGTCAGAGGCTGACCGTCTGACCACTGCAAACCGCTACGTAGATGGAAAATATAGCGCTT
+GCCGCCGTCCAGTATCTCCCAGCGTTCAGCCTGAGCGGGCTGCACCTGGCCTTCACCGTCCATCCATACC
+AGACCTTCAAACAGATCCAGCACAATCTGCGCGGCAGTATTCTCCTCCACCTTTTGCGGGTCGAGCGTGC
+CTGGGTCGCTATGATTGTTGTAACGAAAGACTTGTTGCGGGGCGAGCGGTGTGTTGGCGGGAACGTCAGC
+AGCGTAGAGAGGAGCCGCACTTACCAGGCTGACCAGCCATAATAAATTTCGCGTATACATGGTATTCCTT
+ACCGGAGAAATTATAAGCCCAACAACAATACGCCTGTGGCATTGTTCGCTCAAACTTATCGCGAGTGATT
+TGGCTCACACTCCGGTAAAGATTCCCCATCACGCTAACGGTACATAAACATCCGTTTCCAGTCGCTGCTC
+TGTCATCCCTTCGGCAAGATTGGTGTAGTGAAACAGGATCGGGGCTTTGCGCATTTTTTCGCCGCTTGCC
+GGAAGCCAGTGGCGAATGATGCCCCATATCGTGTGTGAAATATCGTCCAGCTCGCCAACATGGCGGGCCA
+CAGCATAACGTCCACCGGTAAGTTCACCATTACTTACGCCATAACGATTATCGGGGATCGGTTCGCTAAC
+GCTGCCGCAGATATCAAAGCGAAACGCTTCTGGTGCGGTGGTGGCAGGGTCGTCCCAGGCGACGCCAAAA
+GTCTGGCTTTGGTTAACAGGAGAAAGCCCCGTCTCTTTACGCCACATGATAAATTTCGCCACGCTGTAGT
+TGAGCAACTCAGGGCTACAGCGGTGCGGCAACATCGCCACAGGGATTGATGGGAAATCGATAATATTTAC
+ATCCAGTGTCAGGTTTGTCATTTTGCCTCCCTGCGAAATTATTCCCGGGAACGCGTCCCGGGAGCGGTAA
+CAATTACGGATTTACTTTGCGGATCTGTTTGACGTCAATTTCAACAGAGTTCCAGTCTTTATCGACTTCA
+CCCTGAATCTCAACCGTATCTTTCGGCGTCACCGTCACGCCGTTCCAGCGTTTGTGATCGATATCCACAT
+TGATAGTACCGCTGGCATCTTTGAACACGTAGAGATCGTCAGAGATGCGTTCAACGATATTGCCGCGCAG
+GGTTACCCAGGTGTCGTCACGCAGGGATTTTGCGCTTTCTACGGTCGTTACGCTGCCGTTCGGCCCCTGG
+AATCCTCCGGCCTGACTTTGCGTTGCCGATGGGCCAGAAAAACCTCCCTGCTCTGCTGCCATCACCGGTG
+CACTGCACAGGGCCATTACTGCGATTACTGCTGCGAATTTTTTCATGTTTATTACTCCCTTTAATGTCTG
+TTTCCGAGCATTTAACAAGATAGTCCTTAACAACTTCTTAAGGGAAAAAAATAAAATTTAATGCTGTACA
+GAGCGCGTTACAACACGGTTTACTGGCAGCAAATACGGTTATCGCAGGGATGAAAAAATGCGAATTTTAC
+TGATAGAAGATGACATGCTGATTGGCGACGGCATCAAAACGGGCCTTAGTAAAATGGGTTTTAGCGTCGA
+CTGGTTTACACAAGGTCGTCAGGGAAAAGAGGCGCTATATAGCGCGCCTTATGATGCGGTGATCCTGGAT
+TTAACCTTACCAGGCATGGATGGTCGCGATATTTTGCGCGAATGGCGAGAAAAAGGTCAGCGTGAGCCGG
+TATTGATCCTGACCGCGCGCGATGCGCTGGCGGAACGTGTAGAAGGGCTGCGCCTGGGAGCTGACGATTA
+TCTGTGTAAACCTTTTGCGTTGATAGAAGTCGCCGCCAGGCTGGAAGCTCTGATGCGCCGAACCAACGGC
+CAGGCCAGCAACGAGCTGCGCCACGGCAACGTCATGCTCGACCCCGGCAAACGTATCGCCACACTGGCTG
+GCGAACCCTTAACGCTGAAACCAAAAGAATTTGCCCTGCTGGAATTACTGATGCGTAACGCTGGTCGGGT
+ACTGCCGCGCAAACTGATTGAAGAGAAACTGTATACCTGGGACGAAGAGGTCACCAGTAATGCCGTTGAA
+GTGCATGTGCATCATCTGCGACGCAAACTCGGCAGTGATTTTATTCGTACCGTTCATGGTATTGGCTACA
+CATTAGGTGAGAAATGAAATTTACCCAACGTCTTAGTCTGCGAGTCAGGCTGACGCTAATCTTTTTAATT
+CTGGCCTCGGTGACCTGGCTGCTTTCCAGCTTTGTCGCCTGGAAACAAACAACGGATAACGTCGATGAGT
+TGTTCGACACCCAACTGATGCTGTTTGCCAAACGGTTAAGTACGCTCGATCTCAACGAAATCAACGCGGC
+GGATCGCATGGCACAGACGCCAAATAAATTAAAACACGGTCATGTTGATGACGATGCGCTGACCTTTGCC
+ATCTTTACCCACGACGGCAGAATGGTCCTTAACGATGGCGATAACGGAGAAGATATTCCTTATAGCTATC
+AGCGGGAAGGTTTTGCTGACGGGCAACTGGTCGGTGAAGACGATCCCTGGCGTTTTGTCTGGATGACCTC
+ACCTGATGGCAAATATCGCATCGTTGTTGGTCAGGAATGGGAATACCGCGAAGACATGGCGCTGGCGATT
+GTTGCCGGGCAATTGATCCCGTGGCTTGTCGCACTGCCGATTATGTTAATCATCATGATGGTACTACTGG
+GTCGTGAACTCGCGCCGCTGAACAAACTGGCGCTGGCACTACGTATGCGTGACCCAGACTCGGAAAAACC
+ACTAAACGCGACGGGCGTACCCAGCGAAGTGCGCCCACTGGTTGAGTCGCTAAATCAACTGTTCGCCCGC
+ACACATGCGATGATGGTTCGTGAACGACGCTTTACCTCCGACGCAGCTCACGAACTTCGTAGCCCGTTAA
+CGGCGCTGAAAGTGCAAACCGAAGTTGCGCAGCTCTCTGACGATGATCCGCAGGCGCGGAAAAAAGCGCT
+GCTCCAATTACATTCCGGGATCGATCGCGCTACTCGTCTGGTTGATCAACTGCTCACGCTATCGCGGCTG
+GACTCACTGGATAACCTTCAGGACGTCGCGGAGATCCCGCTTGAAGATCTCCTGCAATCGTCGGTGATGG
+ATATTTACCACACGGCGCAGCAGGCGAAAATTGACGTGCGACTGACACTCAATGCCCACGGCATCAAACG
+CACCGGACAACCGCTGTTGCTAAGTTTGTTGGTACGAAACCTTCTGGATAACGCCGTGCGCTACAGTCCA
+CAGGGCTGCGTGGTGGACGTCACGCTGAATGCCGATAATTTCATCGTGAAGGATAACGGCCCCGGTGTGA
+CGCCAGAGGCACTGGCGAGAATTGGCGAACGCTTCTATCGCCCACCCGGACAAACCGCTACCGGCAGTGG
+ACTTGGGCTTTCAATTGTCCAGCGAATCGCCAAGCTGCATGACATGAATGTTGAGTTTGGGAATGCGGAA
+CAAGGTGGATTTGAGGCGAAAGTAAGCTGGTAAGGGTAAGACTTTTGCTAAATTCGCAAAAGACTTTGCA
+CATTTTGCTAATTTCACCGTACCGCTCTGTGACGTACTATAGTCGGCAAACGTCTCACCTTAAGGTTAAA
+AAATGAGCAACATCCTGATTATCAACGGCGCGAAAAAATTCGCCCACTCCAATGGTCAACTGAACGACAC
+CCTGACCGAAGTCGCGGATGGCACACTGCGCGACCTCGGGCATGATGTCCGCATCGTTCGCGCCGACAGC
+GACTACGATGTCAAAGCGGAAGTAACAAACTTTCTCTGGGCTGATGTGGTGATCTGGCAGATGCCAGGCT
+GGTGGATGGGCGCGCCGTGGACAGTGAAAAAATACATTGATGATGTATTCACCGAAGGTCACGGGACGCT
+GTATGCCAGCGATGGTCGTACCCGCAAAGATCCGTCGAAAAAATACGGCTCCGGCGGCCTGGTACAGGGC
+AAAAAATATATGCTTTCTCTGACCTGGAACGCACCAATGGAAGCCTTCACCGAAAAAGATCAGTTCTTCC
+ACGGCGTTGGTGTTGACGGTGTGTACCTGCCGTTCCATAAAGCAAACCAATTCCTTGGCATGGAACCGCT
+GCCGACATTTATCGCTAATGACGTGATAAAAATGCCTGATGTTCCCCGCTATACTGAAGAATATCGCAAG
+CATCTTGTGGAAATTTTTGGTTAACTAGAGCTCTGGCTTTAGAAGGAGTTAACCATGATTACAGTAATCG
+CAGAAATCCGTACTCGTCCTGGTCAACATCACCGTCAAGCAGTGTTGGATCAGTTTGCTAAAATCGTTCC
+AACCGTACTGAAAGAAGAAGGTTGCCACGGCTATGCGCCAATGGTGGATTGCGCTGCTGGCGTGAGTTTC
+CAGTCTATGGCACCGGATTCTATCGTGATGATTGAGCAGTGGGAAAGCATCGCGCATCTTGAAGCGCATC
+TGCAAACCCCGCACATGAAAGCATATAGCGAAGCCGTAAAAGGTGACGTGCTGGAGATGAATATTCGTAT
+CCTGCAGCCGGGGCTTTGACATTTCTAAAAAGAGGCCGGTGCTGCTACCGGTCTCAGCCCAGATTAGCCA
+TTCTTTCTTCCCGTTTTCAGTCCTCGATGGAAATCGTTAATTCGCTTAATGGTTTTAACCGCACGCTGCG
+GCACTGCGGAAGCTACCGACCAGACAATCATTTCCAGACACAACAATACCGTACCATGTAGCGGCGTTTT
+CCCTTTTTCATCCCCGCGCGGAACATGAATCACGATACTGGCGTCTTTGCTAAAACGCGAATCCAGCGCG
+TTTGTCAGCAAAATAACAGGGATCCCCAGCCGCCTCGCCTCACGAAGCGTTGTCAGCCCTTCCCGGTGCG
+CAGATTTTTGCGCCATCATGATCAGAACATCGCCACGTTGAAGCGCGATCAGTTGCTCGGCAAGGCCAAT
+CCCCGTACGGTTTAGTGCCGTGGCAGGCAAACCTATGCGGTTGAATAGTCGTGCGGTATAGTCCGCCAGA
+ATACCCGAAGCGCCAATGCCAAAAATTGCGACTTGCCGTGCCTGCACCAACAACGCTACAGCTTGCGCAA
+GCGCGTGGCGGTTTTCAGGCTCTGACAGGACATTACAGGTATACAAATGCCCTTCAAGAACAAAGTCGAT
+TGCGGTGTTAACATCGCTCGTCAAGTTACTCACCGTCGTAGACATCTTTTCGCTGGAACTAAGGGCTGGA
+CCAAGCCACTGTTCCAGAGTGCGTTTCAGATCACGCAGCCCGGCAAACCCCAGGGCCTGTATAGCCCTGA
+TAACTGTGGCATCGGAAGTGTTCAACGTGGCCGCAATTTCCATCGCCGTTTGCTCGAGTACCACTTCACG
+ATGCTCATTAATGTAGCTGGCGACAGCTCTTAACCCAGGCGTTAACTGACTCGCGCGAGTGCGAAAACGC
+TCACCAAAAATATCAACCCGCGCTTTATCTTTCTGGATCATTTAGCCTCCGGTAGAGGTCGCCCTGCAAT
+TTGTGATTGTATCTGCGCAGCCATCAGCCCCAGTGATGCAAAGGAGTTAGAAATTGCCTCTTCACGAGAA
+ATCAGCACATAACGCCCGGAACGACAGGCAGTCAGAAACTGACACCATCCCGGCATGACTTTTTCCATTG
+CTGCCAGCTCATCCTGAGGTTTACCACCGGTGTCACCGCGCCAGGTTGCAAAAACAAAATCGGCATCCAG
+TTCAGGTAAACGCTCCGCGCTCACATCCATTCGCCCACCTTCAGGAATGCTCTCAATCAGCGGCGGAAAA
+CGAAAACCAGCATCGCGTAATACCCGCCCCAGCGAATGATAGCTATGCATCACATTAATTTTTCCCTGGT
+TTGCCTGAATCACCGATACCGTTATTTTTTGGCTGTCCAGCGTCGCCTTCAGCGCATTGATTTGTGCCTG
+ATAGCGGCGTTCAAGTATCGCCAGCTGCGACTGCGTTCCTGTAAGTTCTGCCAGCTTGCGATAGATTTCT
+GGCGCGCCCCCTTTGAGATGATCAATGCTCACCGTGGGCGCAATTTTTTCAAGTTGTTCAATGGGCGTAT
+TACGGGTCGGTTCTGTGATGATCAAGTCAGGCTTTGCCGCCACAATCGCTTCAATATCAATATCAGCGGT
+ACCAATAAAGGCGATCGATGAATTATCAAAGTCGACACCTGTCAATAACGCGCCAGATCGAATGAAATGG
+CTACCGTCAGGCCGAGTTCGCCCGTGGCTGGCGACAGGAGGTACACCGAGCTCAATCAGAGGAATAGTGA
+TATCAAGATCGTGTAAAGAGACAATTCTCTTTGGATGAGCAGGAACAGTGACTTTGCGCCCTAAATCATC
+AGTAAATACCTGAACAGGTTCTGTTGCACGGGAAAAAAATGACAACAGTATCAGCAGAGAAAAAAATAAA
+CGCATATAACTCCCGTTAAAAACTGTTCCTGCGCTGCCAGAGCAGTAGCAAAAAAAATGGTCCACCAATC
+AGTGAGATAATGATTCCGGCAGGCAGTTGCAAAGGCAAAAAAGCCAAACGACCAATGCTATCCGCCAGAA
+TAACTAACAACGCCCCCGATACCGCGCTCCCCAGCAGTAATGTCGTCTGCCCGCCACGTAGCATAAAACG
+TGATATATGGGGTGCTATCAATCCGACAAAACCGATGTTACCAACACACGAAACGCAGACGGCTGTCAGG
+ATTATGGGTGCGGCGACACGTAACAACGCCAGACGAGAACTATTCACCCCTAACCCGGTTGCAACCTGAT
+GACCAAGCAGAGCGATATCCGCCGTCCTGGCGGTGAACAGCAATAAAAGAGCGGCTGGCAACATCCAACA
+GGCTGAAATACCGACTAACATCCAGTTAGCTGCATGCAGGCTTCCCGATAACCACATCAATGCAGTTTGT
+ACATCTCGAACATCTGCAGTGGTCATAAATACACCGATACCGGCGACGAAAAACCAGGAAACACCAATAC
+CAATCAGAACAAATCGCGGGCGGGAAATATCGCGCGCACAAAAAATCACGATTAAAGCCACCAACAGGCC
+ACCAGCAAGACCAGCCACTGGACGCCAGAACACTCCCAGCATTGGAAACTGGAAAATCAGCCACAGCACA
+GCCACGCTACATCCTTCTTTGACGCCGATTAACCCAGGATCGGCAAGGCCGTTACGTGCAATGGATTGCA
+TTGCGGCCCCTGCCATACCTAACATGGCCCCGCATAGCAATGCCATGATGACTCTCGGCAAGCGAATATC
+CTGCACAATATAACGTGCGTCTGTGCTTACGTTTTCTGGAGCAAACAACGCTCGTCCTACTTCCGATGCC
+GGGACAGAAAAAGAACCCTGCATCAGACCGAATATCAGTATTCCAACCGCAAACAGGAACAGCCCACCAA
+GCAACAGCAGATTTTTAGGGCGTACCAGTGTCGAAAACTTACCAACACGTAGTGGGCGTAGCCCGACGTT
+CATTATCCGACTCATTTGAACATCCTCGTCGCCATAATGACAAAAACAGGCGCACCAACTAACGCCGTCA
+TGACACCGGTCGCTAACTCATGGGGTGTGAAAAGCGTACGGGCAATAATATCTGCCAGTAATAACAAAAG
+TGCGCCGACACAAGCTGAAAGAGGGAGCAGAACGCGCAGATCCGCTGATACCAGACGCCGGACAATCTGC
+GGTACTAGCAGGCCGACAAAACCAATGGGGCCAGCAATCGATACGGCTGCGCCACAGAGCAACGCGATCG
+CAAGCAGGGTGAATGTTCGCGTGCGGAATACAGAGACGCCCAGCCCCTGCGCCATGCGATCGCCCAGTGC
+CAACATGTTAAGGGAGGGTGCAAGGTAAAGGGCTAACACAAATCCCCCCAGAGAAAACCAGGCGGACGTA
+CCCAGCGTCGCCCAATCCTGCCCCGCTAAATCACCTGCTAGCCATGTCCGCATCGCCAGCAGTGTTTGTT
+CGTCAAGAATCAGGATTGCAGCCGTTATTGAGGACACGAACGCCGATAGCGCCACGCCGCATAAAGTAAC
+TTTCATTGGCGTTAACCCTGAACGCCCTGCGGAGGAAAGCAGCAATATCAACAGGAACAATAACGCGCCC
+CCCGTAGATGCCAGCAGTGGGCGTCCAATCGGAAAGGCCAGTCCAAGCGCACTGGCGGCAACGACAGCAA
+GAGCGGCTCCGGCATTTAAGCCTAAAATATGTGGCTCCCCCAATGGGTTACGAATGACAGCCTGCAACAA
+AGCACCAGCAACTCCAAGAGAAGCACCGGTAAGCAATGCTGCCGCTAAACGCGGCAAACGGAGTCTTACA
+ATTACGTTGTGATCGAAGTTTTGCGGTTCAAAATGAAGAAATGCCTGCAACACCGTTTGTGGTGCAATAA
+ATCGGGCACCAATCCCTGGATATACCACGCATCCCACCAGCAGTAAGGCGAGGAAAATTACAGTAACCAG
+CCCTGTGCGCATCATACTTTTTCTACACCACGAAACGGCATGAAGAACGGCTTTCCCGTCAGAGGATTTA
+TTGATGCGTGAACATCAACGTCAAAGACCGCTTTTACCAGCTCAGGCGTGCAATGCTCCCCCTCATTCAA
+CACACGCACCACTTTCCCCTGGCGTAAAAATATCAACGTATCGCCATAATTGACGGCAAAATTCAGATCA
+TGCAACACCACGACGACTGTACGCCCGTGATGACGTGTTAAATCATGTAATAACTCAAGAATTTCAACCT
+GATACCGTAAATCAAGCCAGGTTGTGGGTTCATCCAGCAGGATATAAGGCGTCTTTTGCGCCAACACCAT
+CGCAATCCAGCAACGCTGGCGCTGCCCACCAGAGAGTTTTTCAACAGGTAAATGTGCAAACTCCTGCGTA
+CCCGTTAATTTCAGGGCCTCTTCTACCGCCAGCTCATCGGCGTCGCTCCATTGACGAATGAAATTCTGCC
+AGGGAAAACGCCCACGCGACACCAGTTCATAAACGGTTAAGCCCTCCGGCAATAATGGCGACTGCGGCAA
+GATCCCAAGTCTACGGGATAACGCTTTCGTTGGTTGCTCGTGAATCGCTTTGCCATCAAGCAATATCGAA
+CCGCCCATGGGTTGCAAGATACGTGCAATGGTGCTGAGCAACGTCGACTTTCCACAGCCGTTTGCCCCAA
+CCAGAACGGTCATTTTTTCTGTGGGAACGGAGAAAGAAACACCATCAACAATGATCTTCTTGTGATACCC
+GGCAGAAACATTGTCGAGGATCAGCCCCTGCCCTTTTGCGTTATGTGCCACGTGTACGCCAACTTAATCA
+AAGACAAACAAAAATAAAACTCATTCTCCTTTGAGAGTTTGACGCCACAAAATGTAGTAGTCAAGCAGTT
+AAAAGCCACACAAAAACAAGGTAAATAACAGGTGAAATATTTTTAAAGATAAAAATAAAACCATTAAATA
+TTAATAAATTACCATCAATTGAATTGCATTAACCTCTCATAAAAACACATGTAGCAATTTTTTATTATTT
+CTCATTTACTACTACATCACCGCATGGTTGAATGATTCTCAATTACATATCCGATGGTGAAATAACAAAC
+GGATAGTGCTTAGTGAGCAACAAGAAACAATTTTCACTCACGACAATCCGTGAGTTTTTGGGATAACAGA
+CTAAATGGCTAAGTTCACACCTTCATTCTCAGGAATCAAAGGTCGGGCGCTCTTTTCACTGCTCTTTGCA
+GCACCAATGATTCATGCAACCGACACTGCAACGACCAAAGATGGCGAAACAATCACTGTTACAGCGGATG
+CAAATACCGCAACTGAGGCGACCGATGGTTATCAACCTCTGAGCACTTCCACGGCGACATTAACCGATAT
+GCCGATGCTGGATATCCCGCAGGTGGTCAATACGGTTAGCGATCAGGTTCTGGAAAATCAGAATGCGACG
+ACGCTGGATGAAGCGCTTTATAACGTCAGTAACGTGGTACAGACCAATACATTAGGCGGAACTCAGGACG
+CCTTTGTACGTCGTGGGTTTGGTGCTAACCGGGATGGCTCCATCATGACCAACGGCCTGCGAACTGTACT
+TCCTCGCAGTTTCAACGCCGCCACAGAACGTGTGGAAGTGCTAAAAGGTCCGGCCTCCACGCTGTATGGC
+ATTCTCGATCCTGGTGGATTGATTAACGTCGTGACCAAGCGCCCGGAAAAAACATTCCATGGTTCTGTCT
+CAGCCACGTCCTCCAGTTTTGGCGGAGGCACTGGGCAACTTGATATCACAGGTCCCATTGAAGGCACTCA
+GCTGGCATACCGCCTGACGGGGGAAGTGCAGGATGAAGATTACTGGCGAAACTTCGGTAAAGAGCGCAGT
+ACATTTATTGCCCCGTCACTCACCTGGTTTGGTGATAATGCAACAGTAACTATGCTCTATTCCCATCGGG
+ACTATAAAACTCCGTTCGATCGTGGAACGATTTTCGACCTTACGACGAAACAGCCCGTAAACGTTGATCG
+AAAAATACGTTTTGACGAACCGTTTAATATTACAGATGGTCAGTCCGATCTGGCGCAACTCAACGCAGAA
+TATCATCTCAATAGCCAGTGGACAGCGCGCTTTGATTACAGCTACAGCCAGGATAAATACAGCGATAATC
+AGGCGCGTGTTACCGCGTATGATGCAACGACAGGAACACTGACACGGCGTGTTGATGCAACTCAGGGATC
+TACCCAGCGTATGCATGCTACTCGTGCGGATCTGCAAGGGAATGTTGATATTGCCGGATTCTATAATGAG
+ATTCTGGGTGGGGTGTCATATGAATATTATGATCTTCTGCGTACAGATATGATTCGCTGTAAAAAAGCTA
+AAGATTTCAATATCTACAACCCTGTTTATGGTAATACCAGCAAATGTACAACGGTTTCGGCGTCGGACAG
+TGATCAGACGATCAAACAGGAGAGCTACTCAGCGTATGCACAGGACGCACTCTATCTGACCGATAACTGG
+ATTGCCGTCGCCGGGATCCGCTATCAGTATTACACGCAGTATGCGGGTAAAGGCCGTCCTTTTAATGTCA
+ATACTGACAGCCGCGATGAACAATGGACTCCCAAACTGGGGTTGGTCTACAAACTGACGCCATCGGTATC
+CTTATTTGCCAATTATTCGCAAACATTTATGCCGCAGTCGTCAATTGCCAGCTACATTGGCGATCTTCCA
+CCGGAATCATCTAATGCTTACGAAGTCGGGGCAAAATTCGAGCTATTCGATGGTATCACCGCAGATATTG
+CGCTGTTTGATATCCATAAACGTAATGTGTTGTATACCGAAAGTGTTGGTGATGAAACCATTGCCAAAAC
+GGCAGGCCGTGTTCGTTCAAGAGGGGTAGAAGTCGACCTTGCGGGAGCATTAACTGAAAACATTAATATC
+ATTGCCAGCTACGGCTATACCGATGCTAAGGTTCTGGAGGATCCTGATTATGCAGGGAAACCATTGCCGA
+ATGTTCCTCGTCATACCGGTTCGCTATTCCTGACCTATGACATTCATAACATGCCAGGCAATAACACACT
+GACGTTTGGCGGTGGTGGACATGGCGTAAGCCGTCGTTCGGCAACCAATGGGGCTGACTATTATCTGCCA
+GGCTATTTCGTTGCCGATGCCTTCGCTGCATACAAAATGAAATTGCAGTATCCGGTCACACTGCAATTAA
+ACGTCAAAAACCTGTTTGATAAAACGTATTACACCTCTTCCATCGCCACAAATAATCTGGGCAACCAGAT
+TGGCGATCCTCGTGAAGTGCAATTCACGGTGAAAATGGAATTTTGATCAAAAAAGCCCGGTATACACTTG
+TATACCGGGCTATTTTTTATTCTTCTGGCGGGAGGATTATCAGACCTCAATCTCTGCCATGTCGCCTTTC
+TCTTGCAACCAGTTACGGCGATCTTCCGAGCGTTTCTTCGCCAGCAGCATATCCATCATCGCGTCAGTAC
+GCTGATCGTCTTCATCATCGATAGTCAACTGCACCAGACGGCGAGTGTTCGGATCAAGCGTGGTTTCACG
+CAATTGCATCGGGTTCATTTCCCCCAGACCTTTAAAACGCTGGACATTTGGCTTGCCTTTCTTGCGTTTT
+AATTGCTCAAGTACGCCCTCTTTCTCTTCTTCCGTCAGCGCGTAATAAACCTCTTTCCCGAGATCAATAC
+GGTAGAGCGGTGGCAGTGCGACGTAAACGTGACCGTGTTTCACCAACGCGCGGAAGTGTTTTACAAACAA
+AGCGCAGAGCAGCGTGGCAATGTGCAGACCATCAGAGTCAGCATCCGCCAGGATACAAATCTTACCGTAA
+CGCAGCTGGCTGAGATCGTCACTGTCAGGATCGATACCGATCGCTACCGAAATATCGTGCACCTCCTGCG
+AAGCCAGCACTTCGTCGGAAGAGACTTCCCAGGTGTTAAGGATCTTACCTTTCAGTGGCATGATCGCCTG
+ATATTCGCGATCGCGCGCCTGCTTGGCAGATCCGCCTGCGGAGTCACCTTCCACAAGGAACAGCTCAGTA
+CGGTTAAGGTCCTGCGCGGTACAATCAGCCAGTTTGCCAGGCAGCGCCGGGCCGCTGGTCAGCTTTTTAC
+GCACCACTTTTTTAGCCGCACGCATACGACGCTGGGCGCTGGAAATCGCCATCTCTGCCAACAGCTCCGC
+CGCCTGAACGTTCTGGTTCAGCCACAGGATGAAGGCATCTTTCACCACGCCAGAAACAAATGCCGCGCAC
+TGACGCGAAGAGAGACGCTCTTTGGTCTGCCCGGCAAACTGTGGATCCTGCATTTTTACTGACAGCACAT
+AGGCGCAGCGATCCCAGATATCTTCCGCCGACAGCTTCACGCCGCGCGGCAGAATGTTGCGATATTCACA
+GAACTCGCGCATCGCATCCAGCAGGCCCTGACGCAAGCCATTAACGTGCGTACCACCCTGCATCGTTGGG
+ATCAGGTTGACGTAGCTTTCGGTCAGCAGTTCACCGCCTTCCGGCAGCCACAGTAGCGCCCAGTCCACCG
+CTTCAGTATCGCCAGCGAAATTACCGATAAACGGTTTTTCTGGCAGCGTCGGTAAACCGTTTACCGCTTC
+CGCCAGGTAATCATTCAGACCGTCCTGATAGCACCAGCGCTGTTCGGTGTTGTTGATCTCATCTTTAAAG
+GTGATCTCAACACCAGGGCACAGTACCGCTTTGGCTTTCAGCACATGTGTCAGGCGTGAAACAGAAAAAC
+GCGGGCTGTCAAAGAAGGTTTCATCCGGCCAGAAGTGCACGCTGGTACCGGTATTGCGTTTACCGCAAGT
+GCCGACAACCTGTAAATCTTGCACCTTTTCGCCATTTTCAAAGGCGATGTTATAGATCTGACCATCGCGG
+CGTACGTTAACTTCTACGCGCTTCGACAGGGCGTTAACCACCGAAATCCCCACGCCATGCAGGCCGCCAG
+AGAACTGGTAATTTTTGTTAGAGAATTTACCGCCCGCGTGCAGACGGCAAAGAATCAGTTCAACCGCCGG
+TACCCCCTCTTCCGGGTGAATATCTACCGGCATCCCGCGCCCATCGTCAATCACTTCTAACGACTGGTCG
+GCATGTAAGATTACATCCACGCGTTTTGCGTGGCCCGCCAGTGCTTCATCGACACTGTTATCAATAACTT
+CTTGCCCCAAATGGTTAGGGCGAGTGGTATCGGTATACATCCCCGGACGGCGGCGAACCGGCTCAAGCCC
+GGTGAGTACCTCAATGGCATCAGCGTTATAAGTTTGCGTCATGGTTTAAGTTAGCAATTCGAGTTGATCG
+TCAGAGATGGTGCAGACCAAGAAAATCGACGATCGGGTTGAAATAATCTTCGAAGCCCGTGAATGCGTGG
+TTGCCGCCTTCTATGACAGTCTGGCGGCAGGAAGCGTAGTACGCCACCGCCTGGCGGTAATCCAGCACTT
+CATCTCCCGTCTGTTGCAGCAGCCAGATCAAATCCGGCGCTTCCAGCGGGTCAATCTGCATGACTTTGAG
+ATCGTAAATATGGCGTGACTCTAGCACATATTGCTGCCCGGTGTAGGGGTTCTCGTTCTGACCGAGATAG
+TCCGTCAGCAGTTCAAACGGGCGCACCGCCGGGTTGACCACCACTGCGGGCAGCATAAAACATTGCGACA
+ACCAGGTGGCGTAATATCCCCCCAGTGACGAACCGACAATACCCAGCGAATCGCCGCCATGTTCCAGGAC
+AATGGATTCCAGCAGTTCTGCCGCGTCAGAAGGATACGGCGGCAACTGCGGAATGATCATCTCTACGTCA
+GGGTGATGTTCCGCCAACCAGTTTTTTAACAAGCTCGCTTTTGCAGAGCGCGGCGAGCTGTTGAAACCGT
+GTAAATAAAGAAGCGTAGACATCAGTAGCCTTCTGAAGCGGTATCAGGTTGGAAACGTGTGTCCGCCAGG
+CGATGCACCTCGGTGGTCAGCGTGCCATCAGCATGTAACTCGAGAGTACGCCAGCCGGGCGCGATGGTGT
+CCAGCGTAAAGTTAGAACAGTGCGGCTTAAACTGCACACAGGTCGACGGCGTTGCCAGCAAGCGGCGACC
+GTTCCAGTCGAGATCCAGCTCCTGATGAATATGACCGCACAGCAAGTATTTGACGTGCGGAAACTTCGCC
+AGCACGGTATCCAGTTCGCCCGCGTTACGCAGGCTGTGTTGATCAAGCCAACTACAACCCGCAGGTAGCG
+GATGATGATGCAGCAGCAGCAACGTATGGCGTTCTGGCGCATCGGCCAGTTTACGTTCCAGCCACTCAAG
+CTGAAACTCGCTCAGCTCACCGTGCGGCACGCCAAACACCTGGCTATCCAGCAACAGGATTTGCCATTGC
+TCACCAATAAACACCCGCTTCGCCGGGGAGATACCCGCATCCTGTAACGCGCTGTACATCGCGGGCTGGA
+AATCGTGGTTGCCCGGCAGCCAGACGCAGGGCGCACGAAAACTTGCGATGCCTTCAGCGAAATGCTGATA
+GGCCGCAGAGGATTGATCCTGCGCTAAATCACCTGTCGCGACAATCAGGTCGAATTCGTGCTGGTGTGGC
+CGAATCGCCTCCAGCACCGCCTGGTAGCTTTCCCAGGTGTTTACCCCTAACAGGGCTTCGTGCTTTTGTG
+CAAACAGGTGAGTGTCGGTAATTTGTAAAATCCTGACTCTGGCCTCACCAGCCAGAGGAAGGGTTAACAG
+GCTTTCCAAATGGTGTCCTTAGGTTTCACGACGCTAATAAACCGGAATCGCCATCGCTCCATGTGCTAAA
+CAGTATCGCAACCAGTCCGCTAAAAACTGATTAATTTGATGCTTTTCGTCGCGTTGATGCAACTTTTTAT
+TAGGATAATCATACCGCGCTTTGAAGCGAAAAATCTGCTGGCTTGAACACACTTCAGCCACCATCGCGTC
+ATGATACAGACGCACCGTCATTGACGGAAGGCTCCAGTAACTGATCGCGGGCGCAGTCTGTTCTATTGTC
+ACCAGGGTAGTGTATCGGGTCGATTCCACAATCGTCAGCCGATATTGTGCGTTTGCCACCTGATAGCTTA
+CAGTTTCGCCGGGTGCGTCATTGCGCGGTAACAAACGGCGCAATTGTGAAAAGTTCATCTCGCACAGGCG
+CATCATTTCAGGAAAGTCAGGTGTGTAACGCTTCATTTATGCCCACTCATTTTTTAACGCTTGATGATGC
+AGCTGCAGCCATTGCAAAGCGATGACCGACGCTGCGTTGTCGATTTTCCCCTCTTCTACCCACTGGTATG
+CCTGTTCCCGGCTTACCACATGAACGCAAATATCTTCGTTTTCATCAGCCAGACCGTGAATACCGCTTGC
+GGTCGTGGCGTCCACTTCGCCCACCATAATTGACGAACGCTCACTGGTGCCCCCCGGGCTTGCCAGGAAA
+CTTAACACCGGTTTAGTCCGTTTGACTATCAGTCCCGCCTCTTCAATCGCTTCGCGACGGGCAACATCTT
+CCACACTTTCACCCTCTTCAATCATCCCGGCAACCATCTCCAGTAGCCAGGGGGTTTCGCTGGTGTCGTA
+CGCGGCAATCCGAATCTGCTCAATCAGCACAACTTCATCACGTACTGGGTCAAAGGGTAGCAAGACTGCG
+GCGTGACCGCGCTCAAAAATTTCCCGCCGTACCTCATGACTCATTTGCCCGTTGAATAGACGATGACGAA
+ATCTATAAAGATCTAATGAAAAAAAGCCGCGATAAAGTGTTTCTCGTGCAATAATTTCTACATCGTTTTT
+GCCAAATGTAACGGGCAGGTTGTCTGGCTTAAGCATTGTTAATGTCCTGGCACTAATAGTGAATTAAATG
+TGAATTTCAGCGACGTTTGACTGCCGTTTGAGCAGTCATGTGTTAAATTGAGGCACATTAACGCCCTATG
+GCACGTAACGCCAACCTTTTGCGGTAGCGGCTTCTGCTAGAATCCGCAATAATTTTACAGTTTGATCGCG
+CTAAATACTGCTTCACCACAAGGAATGCAAATGAAGAAATTGCTCCCCATTCTTATCGGCCTGAGCCTTT
+CTGGGTTCAGTTCGTTGAGCCAGGCCGAGAACCTGATGCAAGTTTATCAGCAAGCACGCCTTAGTAACCC
+GGAATTGCGTAAGTCTGCCGCCGATCGTGATGCTGCCTTTGAAAAAATTAATGAAGCGCGCAGTCCATTA
+CTGCCACAGCTAGGTTTAGGTGCAGATTACACCTATAGCAACGGCTACCGCGACGCGAACGGCATCAACT
+CTAACGCGACCAGTGCGTCCCTGCAGTTAACTCAATCCATTTTTGATATGTCGAAATGGCGTGCGTTAAC
+GCTGCAGGAAAAAGCAGCTGGGATTCAGGACGTCACGTATCAGACCGATCAACAAACTTTGATCCTCAAC
+ACCGCGACCGCTTATTTCAACGTGTTGAATGCTATTGACGTTCTTTCCTATACACAGGCGCAAAAAGAAG
+CGATCTACCGTCAATTAGATCAAACCACCCAACGTTTTAACGTGGGCCTGGTAGCGATCACTGACGTGCA
+GAACGCCCGCGCACAGTACGATACCGTGCTGGCGAACGAAGTGACCGCACGTAATAACCTTGATAACGCG
+GTAGAGCAGCTGCGCCAGATCACCGGTAACTACTATCCGGAACTGGCGGCGCTGAATGTCGAAAACTTTA
+AAACCGACAAACCACAGCCGGTTAACACGCTGCTGAAAGAAGCCGAAAAACGCAACCTGTCGTTGTTACA
+GGCGCGCTTGAGCCAGGACCTGGCGCGCGAGCAAATTCGCCAGGCGCAGGATGGTCACTTACCGACTCTG
+GATTTAACGGCTTCTACCGGGATTTCTGACACCTCTTATAGCGGTTCGAAAACCCGTGGTGCCGCTGGTA
+CCCAGTATGACGACAGCAATATGGGCCAGAACAAAGTGGGCCTGAGCTTCTCGCTGCCGATTTATCAGGG
+CGGAATGGTTAACTCGCAGGTGAAACAGGCCCAGTACAACTTTGTTGGTGCCAGCGAGCAACTGGAAAGC
+GCGCATCGTAGCGTCGTACAAACCGTACGTTCCTCCTTCAACAACATTAATGCTTCTATCAGTAGCATTA
+ACGCCTACAAACAAGCCGTAGTTTCCGCTCAAAGCTCATTAGACGCGATGGAAGCGGGTTACTCGGTTGG
+TACGCGTACCATTGTTGATGTGTTGGATGCGACCACCACGCTGTACAACGCTAAGCAAGAGCTGGCAAAT
+GCGCGTTATAACTACCTGATTAACCAGTTGAATATTAAGTCAGCTCTGGGTACGTTGAACGAGCAGGATC
+TGCTGGCACTGAACAATGCGCTGAGCAAACCGGTTTCCACTAATCCGGAAAACGTTGCCCCGCAAACGCC
+GGAACAGAATGCTATTGCTGATGGTTATGCGCCTGATAGCCCGGCACCCGTCGTTCAGCAAACATCCGCA
+CGCACTACCACCAGTAACGGTCATAACCCTTTCCGTAACTGATGACGACGACGGGGCTTCGGCCCCGTCT
+GAACGTAAGGCAACGTAAAGATACGGGTTATCTGCCGCATTCTTCCCCCTTCTCGCTTCAATTTCGACCA
+GCCATCCTCTATTCTGATGGGTATTTACCACTGGTCCCGGAAGACAAAAATGAAACGGACAAAATCCATA
+CGCCACGCATCGTTCCGCAAAAACTGGAGCGCACGCCATCTGACACCAGTCGCTCTCGCGGTTGCCACTG
+TTTTTATGCTGGCTGGCTGTGAAAAGAGTGATGAAACAGTGTCTCTCTATCAAAATGCTGACGACTGTTC
+AGCTGCAAACCCAGGCAAAAGCGCCGAATGTACCACCGCGTACAACAATGCGCTGAAAGAAGCCGAACGT
+ACTGCGCCGAAATACGCCACCCGTGAAGACTGTGTTGCTGAATTTGGTGAAGGTCAGTGCCAGCAGGCAC
+CAGCCCAGGCTGGTATGGCACCAGAAAACCAGGCGCAGGCCCAGCAATCCAGCGGAAGTTTCTGGATGCC
+GCTGATGGCCGGTTACATGATGGGGCGTCTGATGGGCGGCGGCGCGGGATTTGCACAGCAGCCGCTGTTC
+TCCTCGAAAAACCCGGCCAGCCCGGCTTACGGTAAATATACCGACGCGACGGGTAAAAACTATGGCGCAG
+CCCAGCCAGGCCGCACCATGACCGTACCGAAGACGGCAATGGCACCAAAACCGGCGACCACCACCACCGT
+TACCCGTGGCGGTTTTGGTGAATCTGTTGCCAAACAAAGCACTATGCAGCGTGGCGCAACCGGCACCTCT
+TCTCGTTCAATGGGTGGCTGATACCGATGGAAAGAGTCAGTATTACCGAGCGCCCGGACTGGCGCGAAAA
+AGCCCACGAATACGGTTTCAATTTTCACACCATGTACGGCGAGCCGTACTGGTGTGAAGATGCTTACTAC
+AAGTTGACCCTCGCTCAGGTTGAAAAGCTGGAAGAAGTCACCGCCGAACTGCACCAGATGTGCCTGAAAG
+TGGTGGAAAAAGTGATCGCCAGCGATGAGCTGATGACCAAATTCCGCATACCAAAACACACCTGGAGTTT
+TGTGCGCCAGTCATGGCTGACGCACCAGCCATCTCTTTATTCGCGTCTTGATCTGGCGTGGGATGGCACT
+GGCGAACCTAAGCTTCTGGAAAATAACGCCGATACGCCAACGTCACTATACGAGGCGGCGTTCTTTCAGT
+GGATCTGGCTGGAAGATCAGCTTAACGCCGGTAACTTGCCGGAGGGCAGCGACCAGTTTAACAGTTTGCA
+AGAAAAGCTGATCGATCGCTTCGTTGAGCTGCGTGAACAGTATGGCTTCCAGTTGCTGCATCTCACCTGC
+TGTCGCGACACGGTGGAAGATCGCGGAACCATTCAGTATTTGCAGGACTGCGCGACGGAAGCTGAAATCG
+CTACCGAGTTCCTCTACATCGACGATATCGGGTTAGGTGAAAAAGGTCAGTTCACGGATTTACAGGATCA
+GGTGATTTCCAACCTGTTCAAGCTGTATCCGTGGGAATTTATGTTGCGTGAGATGTTCTCCACCAAGCTG
+GAGGATGCAGGCGTACGCTGGCTGGAACCGGCGTGGAAGAGCATTATCTCCAACAAAGCGCTTCTACCGC
+TACTGTGGGAGATGTTCCCGAATCACCCGAACCTGCTGCCCGCTTATTTTGCGGAAGATGATCATCCGCA
+AATGGAAAAATATGTGGTTAAACCGCTCTTCTCCCGTGAAGGCGCAAACGTGTCGATCATTGAGAACGGC
+AAAACCATTGAAGCAGCGGAAGGTCCGTATGGCGAAGAAGGGATGATTGTTCAGCAATTCCACCCGTTAC
+CGAAATTCGGCGACAGCTATATGCTGATTGGTAGCTGGCTGGTGAACGATCAACCTGCCGGAATTGGCAT
+TCGTGAAGACCGTGCATTGATCACCCAGGATATGTCTCGGTTTTATCCGCATATTTTTGTTGAGTAACAC
+AGCATAATATTGCCCCGATAAGCGGGGCAATCTCTTATAATCCACCATTCATAATTCCCATCAATATATA
+AACACATGCATATCCAACCTTTATTTAACATTAATACTCAATTTAATGTTAAATCGTCATATGCAAGCGA
+TATTGTAATTAAAGTAAGTGAATACATCACAACATAACTATTTGATATTATTTAAATACTTTACTTTTAT
+CTCACCAGATTTAAATTTAATAATTAAAAAACAATGTTGCAGGGATCACACTACACAGTATTGAACATTG
+TGATTGATATATTGCCCCCCTACTATCCATTAAACATAAATATTTGTTTCACCGAATAACAACATATTTA
+AAAGAAACACAAAAGCATTCTCACTCTTTATTGAATTAATATTTATATTCACGTAACGAATTTATTAGCA
+CCCTCTCAACAGTCGATATTCATCATTATTATATATTTGCGTTATATAAGGAGATATATCCATGTTTGAT
+AAATATAGAAAAACACTCGTAGCCGGAACTGTGGCGATAACCCTGGGTTTGTCAGCATCGGGGGTGATGG
+CTGCGGGTTTTAAACCAGCGCCGCCTGCCGGGCAACTGGGTGCGGTCATTGTCGATCCCTACGGCAATGC
+ACCACTGACCGCTTTGGTTGACTTAGATAGCCATGTTATTTCTGACGTCAGAGTTACCGTCCATGGGAAG
+GGCGAAAAAGGCGTAGAAATCAGCTATCCCGTGGGTCAGGAATCACTAAAAACTTACGATGGTGTACCGA
+TTTTTGGTCTTTATCAGAAATTTGCTAACAAAGTGACCGTTGAGTGGAAAGAAAACGGCAAGGTCATGAA
+AGATGATTATGTGGTGCACACTTCGGCCATCGTCAATAATTACATGGATAACCGCTCTATCTCCGATTTA
+CAACAGACCAAAGTTATTAAAGTCGCACCGGGTTTTGAAGATCGCCTCTATCTGGTTAATACCCACACCT
+TTACCGCCCAAGGTTCCGATCTCCACTGGCATGGTGAGAAAGATAAAAATGCCGGTATCCTTGATGCGGG
+TCCGGCAACTGGCGCACTCCCTTTTGATATCGCGCCATTCACCTTTATCGTCGATACGGAAGGCGAATAC
+CGCTGGTGGTTGGATCAAAACACCTTCTACGATGGTCGTGACCGCAACATTAACAAACGTGGTTATCTGA
+TGGGTATCCGTGAAACGCCACGCGGCACCTTTACCGCTGTACAAGGTCAGCACTGGTACGAGTTCGACAT
+GATGGGGCAGGTGCTCGAAGATCACAAACTACCGCGCGGATTTGCTGACGCTACTCATGAATCCATTGAG
+ACGCCAAATGGCACGGTACTGTTGCGCGTAGGTAAGAGTAACTATCGTCGCGATGACGGCGTACACGTCA
+CCACCATTCGTGACCATATCCTCGAAGTCGATAAATCTGGTCGCGTTGTCGATGTATGGGATCTGACCAA
+GATCCTCGATCCGAAACGCGATGCACTGCTCGGCGCGCTGGATGCAGGTGCAGTTTGCGTTAACGTTGAC
+CTTGCCCATGCAGGACAACAGGCAAAACTGGAACCAGATACACCGTTCGGCGACGCTCTGGGTGTAGGGC
+CAGGCCGTAACTGGGCGCACGTTAATTCCATCGCTTATGACGCAAAAGATGACTCAATTATTCTCTCTTC
+TCGTCACCAGGGTGTTGTGAAGATTGGTCGTGATAAGCAAGTGAAATGGATCCTTGCACCCTCTAAAGGT
+TGGGAAAAACCGCTGGCCAGCAAGCTGCTGAAACCGGTTGATGCTAACGGTAAGCCAATTACCTGTAACG
+AAAATGGCCTGTGCGAAAACTCAGACTTCGACTTTACCTACACCCAGCATACCGCCTGGATTTCCAGCAA
+AGGAACGCTCACCATTTTTGATAATGGCGATGGTCGTCATCTGGAACAACCTGCCTTACCAACCATGAAA
+TATTCCCGCTTTGTGGAATATAAGATTGATGAGAAGAAAGGCACCGTTCAGCAAGTGTGGGAATACGGTA
+AAGAACGTGGCTACGATTTCTATAGCCCAATCACCTCCATCATTGAATATCAAGCCGACCGTAACACCAT
+GTTTGGCTTCGGTGGTTCTATTCATTTGTTCGATGTCGGGCAGCCAACCGTCGGTAAGTTGAACGAAATC
+GATTACAAAACCAAAGAAGTGAAAGTGGAAATCGACGTGCTGTCAGATAAACCCAATCAGACTCACTATC
+GTGCATTGTTAGTCCGTCCACAACAGATGTTCAAATAATTAAGAAGGGAATAAAAATGTCGAAATTAGGG
+ATCTCATCACTATTTAAAAGCATACTGCTTACCGCAGCTTTGGCTGTTTCATTTACCGCTTCTGCATTTA
+CCGAAGGCACGGATTACATGGTTCTGGAAAAACCTATTCCGAATGCAGACAAAACGCTGATTAAGGTATT
+CAGCTACGCCTGCCCGTTCTGTTACAAGTACGACAAAGCGGTTACCGGTCCGGTATCGGAAAAAGTGAAA
+GATATCGTTGCTTTCACGCCGTTCCATCTGGAAACCAAAGGTGAATACGGCAAACAAGCAAGCGAAGTCT
+TTGCGGTCTTGATCAATAAAGATAAAGCAGCAGGCATTTCCTTATTTGATGCTAACTCTCAGTTTAAGAA
+AGCCAAGTTTGCCTACTACGCGGCTTATCACGACAAAAAAGAACGCTGGTCTGACGGTAAAGATCCGGCT
+GCTTTTATCAAAACCGGTCTGGATGCCGCAGGTATGAGTCAGGCGGATTTTGAAGCGGCACTGAAAGAAC
+CAGCGGTTCAAGAAACACTGGAAAAATGGAAAGCCTCTTATGATGTCGCCAAAATCCAGGGGGTTCCAGC
+CTATGTCGTTAATGGTAAGTACTTGATCTACACCAAGAGCATCAAATCCATCGACGCGATGGCAGACCTT
+ATCCGTGAGTTAGCAAGCAAATAACAGGGAAACAGGCTATGGGTATTAAGGGAATGTGGAAAGATCTTCG
+CACATCACCAGTTGACACACTGGTCAGATGGCAGGAGCAACGCTTGTTGTGGTTGTTAATGGCCGTTGCG
+ATGGGCGCGTTAATTATCCTGGCGCACTCTTTCTTCCAGATCTATCTCTACATGGCACCCTGTGAGCAAT
+GTGTATACATTCGCTACGCCATGTTTGTGATGGTTATTGGAGGATTGGTTGCAGCGATCAACCCAAAGAA
+CATCATCCTAAAGCTAATTGGCTGCGTGATGGCATTTTACGGCAGCATTTTGGGGCTGAAGTTTTCGCTC
+AAACTGAACGATATCCACCATGCAGTACATAATCCGGATCCCGATTCACTGTTTGGCGTACAGGGTTGCT
+CTACCGATCCAACTTTTCCCTTTAACCTGCCGCTGGCACAGTGGGCACCAAATTGGTTCAAGCCTACCGG
+GGATTGTGGCTATGACGCACCAATCGTTCCTGATGGCGTCACACTGAGCAGCACGCAACAGTGGTTTGTG
+GAAATGTATCAGCAATCTGAAGGCTGGTATCTGCTACCACCATGGCATTTTATGAATATGGCTCAGGCTT
+GTATGCTGGCTTTTGGTATGTGTCTGGTGCTGCTGGTCATTATGAGTGGCGCATGGGCACTTAAAATCAT
+CAGAGGCTAACTCAGCAACACCCGAAGCCAGTCATTCTGGCTTCGGGTTCTTTTATTAACCTATCTGCAC
+CGACAGCATACTTAAACTGCCCATTTCTATACCATCGACCGGAATGGTAATTGGCTCCTGCCCATCCCAC
+GCACCTAACACATACAACAACGGCAGATAGTGCTCTGGCGTTGGGTTCGATAACGCGCCACCTTCATGGT
+CGAGATAATTCACCAGAGGATGTTGTTCCACCGGCCCTTGCCACGTCAGATTCGCTTTCACATACTCATT
+AAACGACGTCGCCCACGGATACGGTGAACTATCACCGTGCCACTTCACCGTACGCAGGTTGTGCACCACG
+TTACCGCTGGCGACCAACATTATTCCTTCATCCCGCAGCGCTGCCAGTTTGCGCCCCATTTCGAAATGCC
+AGGCGGCAGGTTTGCTACTGTCGATACTCAACTGCACCATCGGAATATCGGCGTCAGGATACATCTTAAT
+CAGCACACCCCAGGAACCGTGGTCAAAGCCCCAGGCTTCTTTATCCAGTGTGACAGGCACTGGCGCTAAC
+AGCTCAACCAATCGCTGAGCCAAAGCCGGTGATCCAGGAGCAGGATAATGTGTATCGTACAGGGCCTGCG
+GGAAGCCACCAAAGTCATGAATCGTGGGCGGCGTCTCCATCGCGGTCACTCCTGTTCCACGGGTAAACCA
+GTGAGCCGAAACCACCACTATTGCTTGCGGGCGTGGCAATGTCATCCCCAACGTCTGCCAGCTGCGGGTA
+TACAAATTATCTTCCAGCACGTTCATCGGACTACCGTGACCTAAAAACAATGCTGGCATACGTGTTGAAG
+ACATGATGATATCCTTAACTAAAGGTGTCATTTTGATATCCTCACAATACGCTTGTTCGGCGGAGTAAGA
+ACCCGGATAACAATGATGATGATCATCAGTTATTTTGACGATCTGCCTGAAAGTGAAGATTTATAAGGAG
+TTGTCGATGTCAGTACCTCTCATTCTGACCATACTGGCGGGGGCAGCCACGTTTATTGGCGCGTTTCTCG
+GCGTTCTCGGGCAAAAACCCTCGAACCGCTTACTGGCGTTTTCGCTAGGATTTGCGGCGGGGATCATGTT
+GCTCATCTCATTAATGGAAATGCTTCCTGCCGCATTAGCCGCCGAAGGAATGTCACCTGTGTTGGGTTAT
+GGAATGTTTATCTTCGGTCTGCTTGGCTATTTTGGCCTGGACCGCATGTTGCCACATGCGCATCCGCAGG
+ATTTAATGCAAAAATCGGTGCAGCCGTTGCCAAAATCGATCAAGCGCACAGCCATTCTGCTCACTCTCGG
+CATCAGTCTGCATAACTTCCCGGAAGGGATTGCCACCTTTGTCACGGCGAGCAGCAACCTGGAGCTGGGC
+TTTGGCATCGCACTGGCCGTTGCGTTACACAATATTCCTGAAGGTCTGGCGGTTGCAGGCCCGGTTTACG
+CGGCAACGGGGTCTAAACGCACCGCGATTCTTTGGGCGGGGATTTCTGGACTGGCAGAAATTCTTGGTGG
+TGTGCTGGCGTGGTTAATCCTCGGTAGCATGATTTCCCCGGTGGTCATGGCGGCAATCATGGCGGCGGTT
+GCAGGAATTATGGTGGCGCTCTCGGTTGATGAATTAATGCCGCTCGCCAAAGAGATTGACCCTAATAATA
+ACCCCAGCTATGGCGTACTATGTGGAATGTCAGTGATGGGATTCAGTTTAGTGCTGCTACAAACGGCGGG
+AATTGGTTAAAAGCAACATCAGAAGTTGTCCAGCGCATGGACAACTTCTGCCAGCTTCACTAAAGCCTTA
+TTCTACCTTTTCGGCTGTCTCTTCTCTCGTACTGTTTAAGTATTTGTTCCGCGCTTCAAGCAGTGCGTCT
+CTGTCCTGGCGAAACGCCCGACAATAACGTTTCAAATGCAGGAAATAACCCACAACAACAAGAGCAATCA
+ATACAATCCAGTACCAGGCGATAAACATCCTTTTACCCTTAATATTTAACAATACTAAACATTTAGCGCA
+TAAATTTCACATATCCTTTTTCGGATATATTCATATGGTCGCATAATAACGGAACAATTATATGATTTTG
+ATCATAATGAAAAAGAATGCCTGATATTAATGAAATTTTCTCATAGAAAGAGAAGCGGAATTAACATCTT
+GCATAGCAGGGAAAAATAAAAACCGAAGCCTGCTACAACTTCGGTTTCTTGATTAAGGCAGTAAATTAAG
+CAGCGGTTTTCAGCTGGCTTTACGCTCATGTGCCTGACGGTATGCCACCAGGTCTTCAATAGTCACGAGC
+GCCATATTGTGTTTATTGGCAAACTCAATGCACTCTGGTGCACGCGCCATCGTGCCATCGTCATTAGTCA
+GCTCACACAGCACACCAGCCGGTTTAAAGCCTGCCAGCGTCATTAGATCAATAGTTGCTTCAGTATGACC
+GCCACGCGTCAGTACTCCACCTGCCTGCGCGCGAAGTGGGAAAACGTGGCCCGGGCGATTCAGATCAGAA
+GGTTTTGCGCCATCGGCAATCGCTGCGCGAACGGTCGTAATACGGTCAGCGGCAGAAACACCGGTAGTCA
+CACCTTCAGCTGCTTCAATAGTCACGGTAAAACCGGTGCCATAGGCGCTGGTGTTATTTTCTACCATCAT
+TGGCAGATCGAGTTGTTTACGGCGATCTTCAGTAATGCACAGGCAAACAATACCGCTACCGTGGCGAATG
+GTCAGCGCCATCTGCTCAACGGTCATGGTTTCTGCCGGGAAGATCATATCGCCTTCGTTTTCACGGTCTT
+CATCATCAAGCACCATTACACCGCGTCCTTCACGCAGCGCAGCCAGTGCATTTTCAACACGTTCGAAAGG
+CGTACCAAAAGAGGAAAGTAGCGTCTGATTCATGGTAAAAAAACCTCACTAAAATTATGGTTACCAGAAT
+CAGGGCAGTCTTAGGAGTGGCGGCATATAGCCAAAATAACGTGAGCGGGTCCATGCCCGACAGAATCGTT
+ACTCTCTCCCATCCGGACTCTAACCGTCGGCCCCGGAATTACACCGGATCTGCTGTCCTTTGAGTTCGCA
+CCCAAAGCGCTCGCGGGCTTTCAACTGAGTTGATTTACCGCCGGTGGGGAATTTCGACCCCGACCTGAGA
+ATAAGCGGATTCACTATAACGCTAATGATTAGCGGCAGCAACGCATAGCTTCACATAATTCTGGTTTATG
+ACTTACCCTTATCGCACTACAATGGCACTCAACACCTATCAGTACAGGGAAACTACAATGATTGACCCGA
+AAAAAATTGAGCAAATCGCTCGCCAGGTTCACGAATCAATGCCTAAAGGAATCAGGGAGTTCGGGGAAGA
+TGTGGAGAAAAAAATCCGCCAAACCCTACAAGCGCAGCTGACACGTCTCGATCTGGTAAGCCGCGAAGAA
+TTCGACGTTCAGACGCAAGTCCTGTTACGGACTCGTGAAAAACTGGCGTTACTGGAGCAGCGCATCAGTG
+AACTGGAAGCGCGCAATAATTCGGTAGCAGATCTTCAATCTCCTCCGGCTATCCCGCCTATTGATAAAGC
+AGAATAAAGCAACACAAAAACGGGCCAGACGGCCCGTAATATCAGTGTTCTAATTCAAGTTCTCTGGTTT
+GCATCATTTGTTGGCAATACCAGGCATAACGTGCGCAAAACCAGGTTCTATGTTCTTCATCCATGTTACC
+AGTAACGGCCAGAATATCGACCGGGCGACCTTCTGCGTGCATTCTGGCAAAACTACGCGCCAGGAAATCG
+AAATTATTTAAAGAATTAAGACTATGATCCATAAGCACATCCTCCGGTTATCGCATACCTTTTAAGGCCA
+TATGCTTTTTCTGATTTCAGTATTCCCCAATCAGTGTAGTGCCTTTAAACATAACGTGCGTAAATATATT
+GTCCCCGATCACACTTTTTAGTGAAAAATAAAAAACCATATTAAAAGACTTTCTCTTCCAGAACTTCTCT
+AACATGTGTTATTATTAACAAAGATAAATGTAAGCAAGAAAACTATCCTAAAGTAAATATTGCGTCACTA
+AATGGACATTGGAGTGACATATGATTTTATTCGCCGACTATAACACCCCTTATCTTTTCGCTATTTCCTT
+TGTACTGTTGATCGGCCTTTTAGAAATTTTTGCGCTTATCTGCGGTCACATGCTCTCCGGTGCACTTGAT
+GCACATCTTGACCATTATGATTCCATAACCACAGGTCATATTAGCCAGGCACTTCATTATCTCAATATCG
+GAAGATTGCCAGCTCTCGTCGTTCTTTGCTTACTGGCTGGTTTTTTTGGTCTTATTGGCATCCTGTTGCA
+GCATACCTGCATCATGGTCTGGCAATCACCACTCTCGAACCTGTTTGTGGTTCCTGTCAGTTTACTGTTT
+ACGATTATTGCGGTGCATTATACCGGTAAAATAGTTGCGCCCTGGATTCCACGCGACCAGAGCTCAGCTA
+TTACAGAAGAAGAATATATTGGTAGCATGGCGTTAATTACCGGTCATCAAGCCACTTCAGGTAATCCCTG
+CGAAGGAAAACTCACCGATCAATTTGGCCAAATACATTATTTACTACTGGAGCCTGAAGAAGGAAAAATT
+TTCACTAAAGGAGACAAAGTGTTAATTATTTGCCGACTTTCTGCAACTCGATATTTGGCGGAAAACAATC
+CCTGGCCCCAAATATTGTAATTTATTAATCAAAAGGAAATTTAATAATGGATGATATTGTTAATTCTGTG
+CCCTCCTGGATGTTTACCGCGATTATTGCCGTATGCATTCTGTTTATTATTGGAATTATTTTCGCCAGGC
+TCTATCGTCGCGCTTCGGCAGAGCAAGCTTTTGTTCGTACTGGTTTAGGTGGGCAAAAAGTGGTAATGAG
+CGGTGGCGCAATCGTGATGCCGATCTTTCATGAAATAATCCCCATCAATATGAATACTCTGAAGCTGGAA
+GTCAGCCGCTCAACCATTGATAGCCTGATTACGAAAGATCGTATGCGCGTCGATGTCGTTGTCGCTTTCT
+TTGTGCGGGTAAAACCGTCAGTGGAAGGTATTGCCACCGCCGCCCAGACGCTGGGGCAACGCACCCTGTC
+GCCTGAAGACTTACGTATGTTGGTTGAAGATAAATTTGTCGATGCCCTCCGTGCAACAGCTGCGCAAATG
+ACCATGCATGAGTTACAGGATACCCGCGAGAACTTCGTGCAGGGAGTACAAAATACCGTTGCTGAAGATC
+TGTCGAAAAACGGCCTGGAACTGGAAAGCGTTTCACTTACCAACTTTAACCAGACGTCGAAAGAACATTT
+CAATCCTAACAACGCCTTTGACGCCGAAGGTTTAACCAAGCTGACGCAGGAGACGGAGCGCCGTCGTCGC
+GAACGTAACGAAGTTGAACAGGATGTAGAAGTTGCGGTGCGTGAGAAAAACCGTGATGCGCTTTCGCGGA
+AGCTGGAGATTGAACAGCAAGAAGCGTTTATGACGCTTGAGCAGGAGCAGCAGGTTAAAACCCGTACCGC
+TGAGCAGAATGCGAAAATTGCGGCTTTTGAGGCCGAGCGTCGTCGGGAAGCAGAGCAGACGCGAATTCTG
+GCTGAACGACAGATTCAGGAAACGGAAATCGACCGCGAACAGGCCGTCCGTTCCAGAAAAGTTGAAGCTG
+AACGTGAAGTTCGCATTAAAGAGATCGAACAGCAGCAGGTCACCGAAATCGCCAACCAGACGAAATCGAT
+CGCTATTGCCGCCAAATCGGAACAGCAGTCACAAGCGGAAGCGCGTGCCAACCTTGCACTTGCAGAAGCG
+GTAAGCGCCCAGCAAAACGTAGAAACCACTCGCCAGACCGCAGAAGCCGATCGTGCTAAACAAGTTGCCC
+TAATCGCTGCCGCGCAGGATGCAGAAACCAAAGCGGTTGAACTGACCGTGCGGGCGAAAGCAGAGAAAGA
+AGCCGCAGAGATGCAGGCGGCGGCGATCGTTGAGTTAGCCGAAGCAACACGCAAAAAAGGCCTGGCGGAA
+GCAGAAGCGCAACGTGCGCTGAACGACGCTATCAACGTACTTTCTGACGAGCAAACCAGCCTTAAATTCA
+AGCTGGCCTTGTTGCAGGCGCTACCTGCGGTAATTGAGAAATCCGTGGAACCAATGAAGTCCATTGACGG
+TATCAAGATTATTCAGGTCGATGGATTAAACCGAGGTGGTGCTGCGGGGGATGCGGCATCAGGCAGCGTT
+AGTGGCGGAAACCTGGCAGAACAGGCATTGTCTGCCGCCCTTTCTTACCGCACACAGGCACCGCTGATTG
+ACTCCTTGCTCAATGAAATTGGCGTTTCAGGCGGCTCACTGGCGGCATTGACTTCCCCCTTAACCTCAAC
+AACTCCCGTCGAAGAAAAAACAGAGTAAACCCTCTTCTATGAATAATCCCTGGCCCAAAAAGCCGGGGAT
+TTTTTATATCTGCGTTCCGCTAAAAGGTGCAAATGATCAGGCTGTTGCAGCGTTTTGCGTGACTGCTCGG
+GGAAGGCAAAACTGCCTCTGGGAAAGCGTTGCGCGGAGTCCGGCGCTCATCAACAATCGGGGAGTCAGCA
+AGGGGCTGAAACGGGAAAGCCCCTCCCGAGGAAGGGGCCTTATAGAAGAAAGGGTTATGATGAAGTTCGT
+CATCATACTGGTTGTGTTGTTACTGTTAAGTTTCCCGACTTACTAACAACTCATCAGAGGGGGGAGAAAT
+CCTCCCTTACCCTTGTTCCTTTACTTTAGGTTGAAAAAACAACAGCGTCAATAGGTCTATCCGGCACAAC
+GCGAGAACTGTGAAGCGCTTTCCGGTTAGCCTTTTTTATCCTGTTGGATCTTCTTGATAATGTTAGTGGT
+CGAGCAACCGTCTTCAAAGTTGAGCACCAGCACTTCGCCACCATTGGCCCAGACTTCTTTACTCCCGGCA
+ATCTCTTCTGGTTTATAATCGCCGCCTTTCACCAGCAGGTCTGGCAGGATCCCGGCGATCAAGCGCTGCG
+GCGTGTCTTCTTCAAACGACACCACCCAGTCGACCGCTTCCAGTGCGCCCAGCACAATCATACGCTGTTC
+GAGCGGGTTAACGGGGCGGGAATCCCCTTTCAGCCGTTTGGTGGAGGCATCGCTGTTGACGGCGACAATC
+AAACGGTCACCCAGTTTACGGGCATTTGCCAGATAAGAGACGTGTCCGGCGTGCAGGATGTCAAAGACGC
+CATTGGTCATCACCACTTTTTCACCGCGTTTACGCGCTGCCGCTACAGCAAGCTTCAGTTCCTCTTCGGT
+CATCACGCCAAAGCCGGTATCTGCACGTCCACGTACTGCGTTTTCCAGCTCGATCGGCGAAACCGTGGAT
+GTCCCCAGTTTGCCGACCACCACACCAGCCGCCGCATTGGCAAAGAAGCAGGCTTCTTCCAGCGAATTAC
+CCGCTGCCAGCGTTGCCGCCAGGACGCCAATCACCGTGTCGCCCGCACCGGTAACGTCATACACTTCCTG
+CGCCTGGGTTGGCATATGCAGCGGCGCTTTACCCGGTTGCAGCAGCGACATACCCTGTTCGGAACGGGTC
+ACTAACAGAGCCGAGAGTTCGTAATCGGCAATCAGTTTCATGCCGCGCTCAACAATCTCTTCTTCGGTCT
+TACATTTACCGACAACAGCTTCAAATTCCGAGAGATTCGGCGTTAACAGCGTAGCGCCGCGGTAGCGCTC
+AAAATCGGTACCTTTTGGATCAATCAGCACCGGAACGCCCGCTTTACGCGCCAGTTGGATCATCTGCTGC
+ACGCTTGCCAGCGCACCTTTGGCGTAGTCAGAGAGCACCAGCGCGCCAATCGAACTCAGCGCCTGATTAA
+TCCGCTCGTGCAGCGGCTGCGGATCAACCCCTTCGAAACCTTCTTCAAAATCCAGACGGATCAGCTGTTG
+GTTGCGGGAAAGTACCCGTAATTTGGTGATGGTCGGATGCGTCGGTACAGAAACGAAGTCGCATTTGACG
+TTGACGTCGGCCAGAGATTTACTCAGCGCGCGCGCCGCATCGTCAATGCCCGTCAACCCGACCAGGCGTG
+CATTAGCACCGAGAGAAGCGATATTCATCGCCACGTTAGCCGCGCCGCCCGGACGTTCTTCGATGGTATT
+CACTTTAACCACGGGCACCGGCGCTTCCGGCGAGATACGGCTGGTGGGACCGTACCAGTAACGATCCAGC
+ATCACATCACCAACCACCATCACTCCTGCACGTTCAAACTCTGGCAGCGTTACTTTCATTCCTGTCTCCT
+GAGAGATTCAAAATTTGCGCGCGATAATACCATACTTCATTCTTCCACCAGCCACTTCTGCCAGCTTACC
+CGCACCTGTTCACGCTCTGCGGTGAAGCAATCCTCCGGCACATGGCCCGGCAATTCCTGTAATGCCAGAT
+GATGAAGTTCATCGCGCAGCGTAGTGTAAGCACGGGTCAGCGCCATCGCTTCCTGCTCTTCCATAATGTC
+GTTTTGCGCCAGCAGTTCCAGAATACGCACGTTGTCTGACCAGCGCGTTAACTTCGGTTTTTCATGAGCG
+TAGCGCAACACCAGATATTGGGTAATAAATTCGATATCGGTAATTCCGCCTTCATCGGCTTTGATATCAA
+AGCGATCGCGATGTTTATTACCGAGATGAGCGCGCATTTTCTCGCGCATTTCCCGCACTTCCGTTTGCAG
+AGTTTTACCTTCTCGCGGCAGCGTCATAATCTCGCGACGCACCGCGTCAAAGTGCGCGGTGAGCTGCGGA
+TCGCCGTACACTACACGCGCACGCACCAGCGCCTGATGTTCCCACGTCCAGGCCTCGTTTTTCTGATAAT
+CAGCAAATGCTTCTGCGGATGTCACCAGCATTCCCGCCGCCCCGGATGGACGCAGTCGAGCATCCACTTC
+ATACAAAATGCCGGAAGAGGTTCGCGTACTGAACAGATGCATAATGCGTTGCGCCAGACGCAGATAAAAC
+TGTCGCCCGTCGATTTCCCGCTCGCCGTCAGTCATCGCATCCATTGGGCAATCATGGAGGAAGATCAGGT
+CAAGATCGGAACTGTAGCCTAACTCCCAGCCGCCCAGCTTGCCGTAGCCGACCACCGCAAAACCACGCCC
+TTCGCGCTCGTTCAGGTGATTCGGTTTACCGTAGCGGGCAACCATTTGAACCCACGCCTGCTGAACGACG
+GCATCTATCATAGCTTCCGCCAGCCAGGTTAAGTGATCGCTCACTTTCATTACCGGTAGCGTACCGGCGA
+TATCCGCTGCCGCAATGCGTAACAGTTGCGCCTGTTTGAACTGACGCAGCGCCTCAAGCTGTTGTTCTTC
+GTCATCTTCCGGCACGCGCAGCAAATACTGGCGCAGTTCATCACGGTAGGCATCGGTCGCCGTCGGCTGG
+TAGAGAGTGTTTGGATCGAGCAGTTCATCCAGCAATAACGGATAGCGCGCCAGCTGGCTGGCAATCATCG
+GCGATGCGGCACACAGAGAAATCAAATGCTTAAGCGCCGCAGGAAATTCACTGAGCAATTCTAAATAGGT
+GGTGCGGGTAACAATCCCCACCAGCAAGGCCGTAATACGCGACAGCGTTACAGCAGCGTCTTCACGTGTA
+CAGACATCTCTTAGCAGATGTGGCATCAGATGGTCGAGCACCTGACGTCCGCGTGGCCCGATTGTGCGCT
+TATCCAGCTCTTTGCGGAAATCGGCAATCAGCGTCAGCACCTGTTTGCGATCGTCCTCGCTAAGATGCGC
+CAGCACTGGTGTAGTGTCATCTTCCTGCAACGCGTCCTGCCACAGCTCACGCCACTGTTCCGACAGCGAC
+TCTTCCTGAGTTTCACTTTCGTCGTCGCCAATCAATTCATTAAACACCCGGCGCACATTGGTCATATGTC
+CGGTCAGCGCCCCAGTCAGTTGCTGCCAGTCAGCAAAGTCCATCGCCCACGCCAGCCGCGCACGGTTAAG
+CTCATCAGAAGGAAGCGTCTGGGTTTGTTCGTCGTTAATGCTTTGCAGCAGGTTTTCCAGACGCCGCAGG
+AACAGATACGCCACTCGCAATTGTTCAGCATCGTTTTCAGAAAGCAGATGCAGCTCGGCAATAGCGCTGA
+GCGTTGGCAGTAAAGAGCGCGATTGCAGCGACGGCTCGCGCCCGCCGCGAATAAGCTGGAATACCTGGAC
+GATAAATTCAATTTCACGAATGCCACCCGCGCCAAGTTTGATGTTGTCGGTCAAACCGCGCCGACGCACT
+TCACGGGCAATCATCCCTTTCATGTTGCGCAGCGACTGAATCACGCTGAAATCGATGTAACGACGGAAAA
+CAAACGGGCGCAGCATCGCACGCAACTCGTTAGCATAGACGCCTTCGCTATCGCCCATAATCCGCGCCTT
+GACCATCGCGTAACGCTCCCAGTCGCGCCCCTGCTCCTGGTAATAATCTTCCAGTGCCGCAAAGCTCAGC
+ACCAGCGGGCCACTTTCGCCAAACGGACGCAGTCGCATATCCACGCGATAGACGAAGCCATCCTGCGTTG
+GTGATCCAGCACTTTAATCAGCCGCTGCCCCATGCGGGTAAAAAACTGGGCGTTATCCAGTTCCCGGCGT
+CCGCCCTGCGTACAACCATGTTCCGGCCAGGCAAAAATCAGATCGATATCTGATGAGAAATTCAGCTCCC
+CACCGCCCAGCTTACCCATGCCTAAAATCAGCAGCGGTTGCGCTTCGCCCTGCGCATTGCACGGCGTTCC
+CCATTCGCGGCAGCAGGCGTCATACAGCCAGTCACGCGCCGCAACAATCAGCGTCTCCGCCAGATGGCTG
+AGCTGCTGCAAAATGCTCTCTTCAGTAACCAATGCCAGCGTTTGCACCCAGGCGATGCGCACCATAATGC
+GCCGCCGGAATAGCCGCAGCTCGCGCATTAACCCGGCTTCGTCACTCACATTACTGAGCGCCTCCTGCCA
+CCATGCAGCGTAATGCTGCCATTCGTCGGCCTGCGGCGGTTGGCTTTCCAGTTCCGTCAGCCACTCTGGA
+TGCGCAATCACGCTGTCCTGCACAAAATCACTGAAAGTAAGTACTGACTTCGCCTGTGCGCTAAGTGATT
+CCTCGGCTAAAGGCTCTGGCAGCCGCTCAACAACGGTCTGCCAGTACTGCTGTAACGGTGAAGAGAGCGG
+CTTCATAAGCGATTTTATCCTTGCCTGATTAACGTTTTCCGCTGTGCAACCAGAACGGTTCCTGATTGTT
+TGCCTCATTACGGAAATGTTCAATTTCAATGCGTTGCCCGGTCACAATAGCGTGACGCAGCCCCTGCCAG
+TTCTCCAGCCAGGCTTGAGCCACGACAGGATCATAGTAACCCGCCAGCAACAGTATTGAGTCAATATCAC
+GCGTCAGACGTGGCAACTGGTCACGGTAGCGATCGCCTAACGGCTGGCAGAAAACGCTTTTCAGTTCAGC
+GGCATGGCGGGAAAGATGGATATCGGCAAAGCGTTTGAAGGAATCGCTCATTTTACTCTGCGCTTTGGCA
+TCTAAAAACGGCTGCCAGGCTTTGCTTACCAGCCATTCGGTCAACGCCAGCTTCGCCATTGCCGTTTCGG
+TAGAGTAGACCGCCGTCACGGCAGAAACCGCTGAAGCGATGGTCGCTTCGCATTGAGTCAGTAAATCACG
+TAAGTGAGTGCTCGCTTTACGCGGCACAATGCCACCGAACAGCATCAGCGTATGACGGACCAGGCCAATG
+GCTGCCAGCACCTGCTCTTTCGCCGCATCATTGCCGCGTACCCATAGTTCTTCATGATACTGCCATTGCG
+CTAACGCCAGCTCGAGCGCCGCTTCCAGCCCCTGCTCGACATCCGCTTTTGCCGCAACATGTAAAATGGT
+GGTCGGTTTGATTTCACGCGCCGGATTGCCCTGCGCCAGATGATAGCCACGCGCCGCTTTGCTCAGGCTG
+CCCTGGCGTAATCCGGTTTGCGATACCAGTTGGTTCGCCAGTTTCAGCACCGCGCGCGTGTCGCCGCTAA
+GCAGTTCCAGTTCCAGCTCGCAGATAGGTTCAGCAAATTCACCCGCTTTCACTTCCCCCTGGTCGAGGGC
+GATTTCAATTTGGCTACCATCAACCTCTACCAGCCACTTTTCGCGATAAAAATCGGTGCTGAACAGCGGT
+TGTACGCGGGAAGCGAGATCGGCAGGCAATTCGCCGTTCGGCCAGACTTCCGTCGGTAACTGCGCCAGAT
+CGAGCGTCGGTTCGCTCAACGCCACGTTATATTCCGGGCGCTGGTGTAAGCCGCCTGTCACTCTTCCTGC
+AACTTTCATGGTCATCTCATAGCGACCGTTTTCGCCACGAATACGCAAGCCCATGTCGTGCCCACGCAGC
+CAGTTATCCAGCGTTTCGTAGTAAATATTCAGCAACTGCACGGGGTCATGGTGCTCGCCGCCCAGCGTAT
+TGAGATGGTCACGCAACGCCTCAACGGCACTGTGATTAACAATAAACTTTAATTCGATTTCCTGAGCCAT
+AGCCTTTACTTATCGGTTATGTCACATAAGTGACGATGAACGGCGAACTTAATGCGATCTTTTTTGTCAG
+TAGATAGTATTTTGCGCCAAATTGCCATGCAACGGGCAATTTGACGGGCGTAAAAGTTTGAAGCAGTGGC
+AAGACCTGACACAGAGGATTCCGATTGATGTCGAATGCTTTGCGTAGCGACACTGATGCCACTACTATCG
+TTCCACTTTCCATGACAATAACGACAGCCTGATGCCAAAATTACGCCTGATCGGATTAACTTTACTCGCA
+CTTAGCGCCACTGCCGTCTCACACGCTGAAGAAACGCGCTATGTTTCTGATGAACTGAATACCTGGGTCC
+GTAGCGGTCCGGGAGACCATTATCGCCTCGTGGGCACGGTTAACGCCGGCGAGGAAGTGACCTTATTACA
+AACTGACGCCAACACCAATTATGCCCAGGTGAAAGACAGCTCTGGTCGTACTGCCTGGATCCCGTTGAAA
+CAACTTAGCACGGAGCCAAGCCTGCGTTCCCGTGTGCCAGATCTGGAAAATCAGGTCAAAACCCTGACCG
+ATAAACTCACCAATATCGATAACACCTGGAATCAGCGCACCGCAGAAATGCAGCAAAAAGTGGCGCAGAG
+CGACAGCGTGATCAACGGGTTAAAAGAAGAAAATCAGAAACTGAAAAACGAGCTGATTGTCGCGCAGAAA
+AAGGTCGATGCCGCCAGCGTGCAGCTGGATGACAAACAGCGCACCATCATCATGCAGTGGTTTATGTATG
+GTGGCGGCGTGCTGGGGCTTGGCTTGCTGCTCGGTCTGGTACTGCCGCACCTGATCCCAACGCGCAAACG
+CAAAGATCGCTGGATGAACTAAATCGCCTTCTTCGTTGCACTGTCTTATTATTAGGAATTGTGTATTTGA
+CGAAGGGATGATGGCGTGAAGATTTATCTGGTCGGTGGTGCTGTTCGGGATGCATTGTTAGGGCTACCGG
+TCAAAGACAGAGATTGGGTGGTGGTCGGCAGTACGCCACAGGAGATGCTCGACGCGGGCTACCAGCAGGT
+AGGCCGCGATTTTCCTGTTTTTCTGCATCCGCAAACGCATGAAGAGTATGCGCTGGCACGTACTGAACGG
+AAATCCGGTTCCGGTTACACCGGTTTTACCTGCTATGCCGCACCGGATGTCACGCTGGAAGATGATCTTA
+AGCGTCGCGATCTGACCATTAATGCGCTGGCCCAGGACGATAACGGCGAGATTATCGACCCGTACAACGG
+TCTGGGCGATCTGCAAAATCGTCTGCTGCGCCATGTTTCCCCCGCTTTTGGCGAAGATCCGTTACGCGTA
+CTGCGCGTGGCGCGTTTTGCTGCGCGTTATGCCCACCTCGGTTTTCGTATTGCCGATGAAACTCTGGCGC
+TGATGCGCGAGATGACCCATGCGGGTGAACTGGAACACCTGACGCCTGAACGGGTATGGAAAGAGACGGA
+AAGCGCCCTCACCACCCGCAATCCCCAGGTGTTCTTCCAGGTACTGCGCGATTGCGGCGCACTGCGCGTT
+TTATTCCCGGAAATTGACGCCCTGTTTGGCGTTCCGGCCCCTGCCAGGTGGCATCCGGAAATCGACACCG
+GTATTCATACCTTAATGACGCTCTCAATGGCGGCGATGCTGAGTCCGCAGGTCGATGTCCGTTTCGCAAC
+GTTATGCCACGATCTCGGTAAAGGACTGACGCCACCAGAACTTTGGCCGCGTCATCATGGTCATGGCCCG
+GCGGGTGTGAAGTTAGTGGAACAACTATGCCAGCGTCTGCGCGTGCCAAGTGAAATTCGCGATTTAGCCA
+GACTGGTGGCTGAGTTTCACGATCTCATCCACACCTTCCCAATGCTGAACCCAAAAACCATCGTCAAACT
+ATTTGATTCCATCGACGCCTGGCGTAAACCGCAGCGTGTCGAGCAACTGGCGCTGACCAGCGAGGCTGAT
+GTGCGCGGCAGAACCGGTTTTGAATCAGCCGACTACCCGCAAGGCCGCTGGTTGCGCGAAGCCTGGGAAG
+TGGCACAGTCAGTGCCGACAAAAGCCGTCGTTGAAGCGGGATTTAAAGGTGTGGGGATTCGCGAGGAGTT
+GACCCGACGGCGGATTGCGGCGGTAGCCAGCTGGAAGGAACAACGTTGTCCAAAGCCTGATTAAGCACTT
+GAATTTCAATTTATTGCAAACACCGGCCAGGTCGGATAAGACGCACAAGCGTCATATCCGACACTATTCC
+TCAATCAAAAGAACACGACATACACCGCAGCCGCCACAATAAAGCGATAAATGGCGAAAGGGATAAACGA
+AATGCGCTTAATCAATTGCAGGAAGGTTTTAATCGCTATCAGCGCCACCACAAAAGCGGTGATAAACCCA
+ACGGCAAACATCGGGATATCGCCGGTTGTCAGGAAGCCCCAGCTTTTGTAGAGATCGAGCGCCGTTGCGC
+CCATCATCATCGGCACCGCCAGCAGGAACGAGAACTCAGAAGCCGCATAACGGCTCACACCCATCAGCAT
+CCCACCTGAAATGGTCGCCCCGGAGCGAGAGAAACCCGGCCACAGCGCCAGACACTGGAAACAGCCAATC
+ATAAACGCCTGACGATAGGTCATATCATCAAGACCCGGCGCACGCGGCTCTTTCGGCTTCAGGCATTCAG
+CGGCAATCAGCAACAGACCGCCAACGACCAGTGCATACATCACATTTATCGGGTTAAACAATGATTTAAT
+CGTGTCGTGGAACAACAGCCCCAGTACCACCGCCGGAATCATCCCCAGCAAAATGTGGATCAGCGTTAAA
+CGGCCTTTGCTTTCTCCTTCGTGCTGCAACGGGCGACCAAAGTGAATACCAATAAGGCCAAACAGACGTC
+GCCAGAACATGACAACCACTGCCAGAATTGATCCTAACTGGATCACGACTTCAAAGGTTTTCGCCGTGTC
+GCCCTCAAACCCCAACAAGTGACCGACAATAATCATATGGCCCGTGCTGGATACCGGCAGAAATTCTGTC
+AATCCTTCGACCACACCCAATATTGCCGCTATCAGCAGCGAGTGCATATCGCTCATCAATAAACCCCTAA
+ATTATAAAAATGTAACGCTTGTCCGAACTACTGCAGTATGACCAGGTTATAACCGTTTGGTTTAACAGCT
+GTAAAATTAATTATTTTCTTTCAGATTATTGCCACGCTCAATGATGACGCCAACATTCGCCGCCCGCGCC
+ACTGCGCCTGGCTTGCTGAGTTTGATACGCACCCACGGCGAGTTGAAGCGTGCTAACAGCAGCTCCGCCA
+CCTCTTCAGCCACGCGTTCCACCAGCGCAAAACGCGCCCCCTCGACGTGGCTGACCACCGTTTCTGCAAT
+GTCAGCGTAACTGAGGCAATCCGCCACATCATCACTTTTCGCCGCTTTACGGTTATCCCACGCCATTTCG
+ATATCGAACACTAACTTCTGTTCGATGGTCTGTTCCCAGTCGTAAACACCAATAGTGGTGATTACCGAAA
+GTTGCTCTATAAATACAATATCCATCACGTCCTGCCTGCTTTTTGGCTAACCGGATACCACTTCCGGCGA
+AATGTGCGTATTATCCACAGATTCATCGTTGAACACGAATTTTCAAAACGGAACAGCTTATGAGTGCAAT
+CGCGCCTGGAATGATCCTCATCGCGTACCTCTGCGGCTCCATTTCCAGTGCCATTCTGGTTTGCCGCTTG
+TGTGGGCTGCCCGATCCGCGAACCAGCGGCTCCGGCAATCCTGGCGCAACCAATGTGTTACGTATCGGTG
+GCAAGGGAGCAGCCGTAGCAGTACTGATTTTCGACGTTCTGAAAGGAATGTTGCCTGTCTGGGGCGCGTA
+TGAATTAGGTGTCAGCCCCTTCTGGCTAGGCTTAATTGCCATCGCCGCCTGTCTTGGACACATCTGGCCC
+GTTTTCTTCGGTTTTAAAGGAGGAAAAGGCGTTGCTACCGCTTTTGGTGCCATCGCACCAATTGGCTGGG
+ATCTTACCGGAGTAATGGCGGGAACCTGGTTACTGACCGTGTTATTAAGCGGCTATTCGTCGCTTGGGGC
+AATTGTCAGCGCACTGATTGCCCCGTTTTATGTCTGGTGGTTCAAGCCACAATTCACCTTCCCGGTTTCG
+ATGCTCTCTTGCCTGATCCTGCTGCGTCATCATGACAACATCCAGCGTCTGTGGCGTCGTCAGGAGACAA
+AAATCTGGACGAAATTCAAAAGAAAGCGCGAAAAGGATCCCGAGTGATTTCTGGTGGATCTACATAACCT
+GATAGCCTTCGTCGGGCTTGCCCAGCCGTTGCTGGCACCATGCCGCCAGAAATTCCACGCAGACACGTAA
+TTTCATGCTGCGATAGAGCGGCTCCCGGTAAACAGCCCAGATATTGGCGCTTTGTGCATACTCCGGCAAT
+ACTCGCACCAGTTTGCCACTCTCCAGAAACGGCAACACATCCCACTCGGAACGCAGCATAATCCCTTTGC
+CCTCCAGCGCCCATTGCAGCACAATCTCGCCGCTATTGGAGGAAAGATGCCCGCTAACCTTCACCGATTT
+TTTCTCCTGACCGTTCCCCAACTCCCATATTCCGTGGGTCATATCGCGCTCTTTGGTCACCAGACAGTCA
+TGACGACTTAATTCCTGTAATGATTGTGGCTGCGGATATTTTTGCAGATACTCAGGTGCTGCGCATAATA
+TTCTTTTATTTTTCGTTAACAGATGCGCAATATAATAATCAGGAATTTCGTCATTAATACGAATATCCAG
+ATCAATATTATCCTGCACTAAATCAATTTGCCGATCGAACAATTCAAAATGCACCTGTAACTCAGGATAA
+TTGCGCATCAGTTCGGTAATAGCTGGCGCAATATGGCTGCGCCCAAAACCAAAACTACAGCCAATACGAA
+TCATCCCCTCCGGGCGCGTTTTGATTTGCGTGACGTCATCGACCAGTCGCTGATATTGGGTGAGGATTTC
+CAGCGCATGCTCGTAACAACGTTGGCCACTTTCAGTCAGCGCCACGCCGCGGGCGGAGCGGTTCAGCAGC
+GTTGTTGCCAGCGTATTTTCAAGGATTTGGATCCGCTTGGTGACAAATGCAGGCGTCTGCCCAAGCGTCG
+CCGCTGCAGCACTAAAACTCCCGCTGTGGACGATTTCTACCAGTACCTGCAAATCTTTGGCTAAAGGCCA
+GCTATTCAGCATCGTTAATTATCCGCAGTTGTGATAAGCGCAGTGTATTTCGCAAAACATTGCCATTCCC
+TGCTCTGGCGCAATATTCATTCTTATTTTCGCGTTGATTCACGAACTGTGAATTACATATTCACGGCGGC
+AAAAAATATAAAACCACATTTTTAGTGGTAGTTTGTGGCGGTGAATTTTTCCAGACAAATACATAAACTG
+GAGTTGCCATGATGAGCGAAAGTAATAAGCAACAGGCAGTGAATAAGTTGACGGAGATTGTCGCTAACTT
+TACCGCCATGATTTCTACCCGAATGCCCGATGACGTGGTGGATAAACTAAAACAGCTAAAGGATGCCGAA
+ACGTCGTCGATGGGGAAAATCATCTACCACACGATGTTCGACAACATGCAAAAAGCAATCGACCTGAATC
+GTCCTGCCTGTCAGGACACCGGGGAGATTATGTTCTTCGTTAAAGTCGGTTCCCGCTTCCCACTGCTTGG
+CGAGCTGCAAAGCATACTCAAACAAGCCGTGGAAGAGGCAACCGTCAAAGCGCCACTGCGTCACAATGCG
+GTAGAAATTTTTGACGAAGTAAATACCGGCAAAAATACCGGTAGCGGCGTACCGTGGGTCACCTGGGACA
+TCATCCCCGACAATGACGATGCGGAAATCGAAGTTTACATGGCAGGCGGCGGCTGCACGTTGCCTGGTCG
+TTCGAAAGTGTTAATGCCGTCGGAAGGCTACGAAGGCGTAGTGAAATTCGTCTTCGAAAATATCTCCACC
+CTCGCCGTAAACGCCTGTCCACCGGTACTGGTGGGCGTGGGCATCGCCACCTCGGTGGAAACCGCCGCCG
+TGCTCTCGCGAAAAGCCATTTTGCGCCCGATTGGCAGCCGCCACCCCAATCCGAAAGCGGCAGAGCTGGA
+GCTACGCCTGGAAGAAGGACTCAACCGTCTGGGGATTGGTCCACAAGGGCTGACTGGCAACAGTTCAGTG
+ATGGGCGTACATATCGAATCTGCCGCCCGCCATCCGTCAACCATCGGCGTTGCTGTTTCTACAGGCTGCT
+GGGCGCATCGTCGCGGCACACTGCTGGTTCATGCCGATCTCACCTTTGAAAATCTGTCTCACACCCGGAG
+CGCGTTATGAAAAAGATCCTGACAACCCCGATCAAAGCTGAAGATCTGCAAGATATTCGCGTCGGCGATG
+TGATCTACCTGACCGGTACGCTGGTGACCTGCCGTGACGTTTGTCACCGCCGATTGATCGAACTGAAACG
+TCCGATCCCTTACGATCTCAACGGCAAAGCGATTTTCCACGCTGGCCCCATCGTGCGCAAAAACGGCGAC
+AAATGGGAGATGGTGTCCGTCGGCCCGACAACCAGTATGCGTATGGAAAGTTTTGAACGTGAATTTATCG
+AGCAGACCGGCGTGAAACTGGTGGTCGGCAAAGGCGGAATGGGGCCGCTGACCGAAGAAGGCTGCCAGAA
+ATTCAAGGCGCTACATGTGATTTTCCCGGCAGGCTGCGCAGTACTGGCGGCAACCCAGGTGGAAGAGATT
+GAAGAAGTGCACTGGACAGAACTCGGGATGCCGGAGTCACTGTGGGTCTGCCGGGTCAAAGAGTTCGGCC
+CGCTGATTGTCTCTATTGATACCCACGGCAACAACCTGATAGCCGAAAACAAAAAGCTGTTCGCCGAACG
+CCGCGATCCCATCGTGGAAGAGATCTGCGAGCACGTCCATTACATCAAATAACCCTCCCGGAGAGGCTCG
+CCCCTCTCCTTTTTCGCAGGCATAACACGATGAAACCTTCCACTGAATGGTGGCGATACCTTGCGCCGCT
+GGCGGTCATCGCCATTATTGCTCTAATTCCGGTTCCCGCAGGGCTGGAGAGTCATACCTGGCTCTACTTT
+GCTGTTTTTACTGGCGTGATCGTTGGACTGATCCTCGAACCCGTGCCGGGTGCCGTGGTGGCGATGGTGG
+GTATCTCCATTATCGCCATTCTCTCTCCCTGGCTGCTGTTCAGCCCCGAACAGCTCGCTCAGCCAGGCTT
+TAAATTCACTGCAAAATCCCTCTCCTGGGCGGTTTCTGGTTTTTCTAATTCGGTTATCTGGCTGATTTTC
+GCCGCCTTTATGTTTGGCACAGGCTATGAAAAAACCGGGCTTGGACGCCGCATTGCGCTGATTCTGGTGA
+AAAAGATGGGACATCGCACGCTGTTTCTCGGCTATGCGGTGATGTTCTCCGAGCTTATCCTGGCACCTGT
+AACACCGTCCAACTCGGCGCGCGGTGCGGGGATTATCTATCCCATCATCCGTAACCTGCCACCGCTCTAT
+CAATCACAACCAAACGACAGCAGTTCGCGCAGCATTGGCTCGTACATCATGTGGATGGGGATTGTTGCCG
+ACTGCGTGACCAGCGCCATTTTCCTGACGGCGATGGCACCTAACTTGCTGTTAATTGGCCTGATGAAAAG
+CGCATCTCACGCCACACTGAGTTGGGGCGACTGGTTCCTCGGGATGTTGCCGCTCAGTATTTTACTGGTT
+CTGCTGGTTCCCTGGCTGGCTTACGTGCTGTACCCGCCGGTACTGAAGTCTGGTGATCAGGTGCCGCGCT
+GGGCAGAGACGGAACTGCAGGCAATGGGCCCGCTCTGTTCGCGTGAAAAACGGATGCTGGGGCTGATGGT
+AGGCGCGCTGGTGCTGTGGATTTTCGGCGGTGATTATATCGATGCCGCGATGGTCGGTTACAGCGTGGTG
+GCGCTGATGCTGCTTCTGCGCATTATCAGTTGGGACGACATTGTCAGTAATAAAGCCGCGTGGAACGTTT
+TCTTCTGGCTGGCCTCGCTTATCACCCTCGCTACCGGACTCAACAACACCGGTTTTATTAGCTGGTTTGG
+CAAACTGTTAGCAGGCAGCTTAAGCGGTTATTCGCCAACGATAGTGATGGTGGCGTTGATTGTGGTGTTT
+TATCTACTGCGCTACTTTTTCGCCAGCGCCACGGCGTATACCTCCGCTCTCGCGCCGATGATGATTGCCG
+CCGCGCTGGCGATGCCGGAAATCCCGCTGCCGGTATTCTGCCTGATGGTTGGCGCGGCAATTGGTCTGGG
+GAGCATTCTTACGCCATACGCCACCGGACCCAGCCCGATTTACTACGGTAGTGGTTATCTGCCAACGGTG
+GATTACTGGCGACTGGGGGCAATTTTTGGGCTGATATTCCTCGTATTGCTGGTGATTACCGGCTTACTGT
+GGATGCCCGTGGTGTTGCTTTAAGTGAGGACGGTGCCGGAAGTGACTCTCCGGCACCTAATAGTTTTACG
+CGGCCGGTAACTCTGCCAGCGGCCAGCGCGGACGCACGCTAACGCCGAGATCCGCCGTCGCGCCTGCTTT
+AAACCGCACCATTCCGGCATAGGCGATCATCGCGCCGTTATCAGTACAAAATTCCGGACGCGCGTAGAAC
+ACTTCGCCACGGCGTTTTTTCATCATTTCAGCCAGCTTCGCCCGTAACGTGCGGTTAGCACTCACGCCGC
+CTGCCATTACCAGTCGCTTAAAGCCTGTCTGATCCAGCGCTCGCTTACACTTAATCATCAACGTATCGAC
+CACCGCATCTTCAAAGGCGCGGGCGATATCAGCACGCGTCTGGTCGTCGGTGCCGTTATCACGAATGGTA
+TTTGCCGCGAAGGTTTTCAGACCAGAAAAGCTGAAATCCAGCCCCGGACGGTCGGTCATCGGACGCGGGA
+AGACAAAGCGCCCGGCAGTACCCTGAGCCGCCATTTTCGACAGTAATGGCCCGCCAGGGTAATCCAGCCC
+CAGCAGCTTCGCGGTTTTATCAAACGCTTCACCGGCGGCATCATCAATAGACTCACCGAGCAGCTCGTAC
+TGACCAATGCCAGTCACGCTGATTAACTGCGTATGACCGCCGGAAACCAGCAGCGCGACAAACGGAAATT
+CCGGTGGGTTATCTTCCAGCATCGGCGCTAACAGATGCCCTTCCATATGGTGTACCGGGATTGCCGGAAC
+GTCCCAGGCAAACGCCAGAGAACGCCCCACGGTCGCGCCAACCAGCAGTGCGCCGACTAATCCTGGGCCT
+GCGGTATAGGCCACAGCATCAATGTCTTTTGCCGTTAAACCAGACTCTTTCAGCGCCTCCTGGATCAACG
+GTACGGTTTTACGCACGTGATCGCGGGAGGCCAGTTCAGGCACGACGCCGCCGTAGTCAGCGTGCAATTT
+CACCTGACTATACAATTGGTTGGCTAACAAACCTTTTTCATCGTCGTAAATGGCGATGCCGGTTTCATCG
+CAGGAAGTTTCAATACCCAGTACACGCATGACTTGTTTTACCTCGCTTTATTACCGCGCAGTGTAGGACC
+AATGCGGGTTGATGTAAAACTTTGTTCGCCCCTGGAGAAAGCCTCGTGTATACTCCTCACCCTTATAAAA
+GTCCCTTTCAAAAAAGGCCGCGGTGCTTTACAAAGCAGCAGCAATTGCAGTAAAATTCCGCACCATTTTG
+AAATAAGCTGGCGTTGATGCCAGCGGCAAACCGAATTAATCAAAGGTGAGAGGCACATGCCGGTAATTAA
+AGTACGTGAAAACGAGCCGTTCGACGTAGCTCTGCGTCGCTTCAAGCGTTCCTGCGAAAAAGCAGGTGTT
+CTGGCGGAAGTTCGTCGTCGTGAGTTCTATGAAAAACCGACTACCGAACGTAAGCGCGCTAAAGCTTCTG
+CAGTGAAACGTCACGCGAAGAAACTGGCTCGCGAAAACGCACGCCGCACTCGTCTGTACTAATTCCCCGA
+GAGCGTTGCTCTCCGATCAGACCGAGTTGTAGTTGTAAGGCCGTGCTTCCGAAAGGAATGCGCGGCTTAT
+TTTCGTTTATGAATTGCTAAAAATCGGGGCCTATGGCTGGACGAATCCCACGCGTATTCATTAATGATCT
+GCTGGCACGCACTGACATCGTCGATCTGATCGATGCCCGTGTGAAGCTGAAAAAGCAGGGCAAGAATTTC
+CACGCGTGTTGTCCATTCCACAACGAGAAAACCCCATCATTCACCGTTAACGGTGAGAAACAGTTTTACC
+ACTGCTTTGGATGTGGCGCGCACGGCAACGCGATCGACTTCCTGATGAACTACGACAAGCTTGAGTTCGT
+CGAAACGGTCGAAGAGCTGGCAGCAATGCACAATCTTGAAGTGCCATTTGAAGCAGGTAGCGGCCCCAGC
+CAGATCGAGCGCCATCAACGACAAACGCTTTATCAGTTGATGGACGGTCTGAATACGTTTTACCAACAAT
+CTTTACAGCAACCTGTTGCCACGTCTGCGCGCCAGTATCTGGAAAAACGCGGATTAAGCCACGAGGTTAT
+CGCCCGCTTTGCGATTGGTTTTGCCCCCCCTGGCTGGGACAACGTCCTGAAGCGGTTTGGCGGCAATCCA
+GAAAATCGCCAGTCATTGATTGATGCGGGCATGTTGGTCACTAACGATCAGGGGCGCAGTTACGACCGTT
+TCCGCGAGCGGGTGATGTTCCCCATTCGTGATAAACGCGGTCGGGTGATTGGTTTTGGCGGACGCGTGCT
+GGGCAACGATACCCCCAAATACCTGAACTCGCCGGAAACGGACATTTTCCATAAAGGCCGCCAGCTTTAC
+GGTCTTTATGAAGCGCAGCAGGATAACGCTGAACCCAATCGTCTGCTTGTGGTCGAAGGCTATATGGACG
+TGGTGGCGCTGGCGCAATACGGCATTAATTACGCCGTTGCGTCGTTAGGTACGTCAACCACTGCCGATCA
+CATACAACTGTTGTTCCGCGCGACCAACAATGTCATTTGCTGTTATGACGGCGACCGTGCAGGCCGCGAT
+GCCGCCTGGCGAGCGCTGGAAACGGCGCTGCCTTACATGACAGACGGTCGTCAGCTACGCTTTATGTTTT
+TGCCTGATGGCGAAGACCCTGACACGCTGGTACGAAAAGAAGGTAAAGAAGCGTTTGAAGCGCGGATGGA
+GCAGGCGATGCCACTCTCCGCATTTCTGTTTAACAGTCTGATGCCGCAAGTTGATCTGAGTACCCCTGAC
+GGGCGCGCACGTTTGAGTACGCTGGCACTGCCATTGATATCGCAAGTGCCGGGCGAAACGCTGCGAATAT
+ATCTTCGTCAGGAATTAGGCAACAAATTAGGCATACTTGATGACAGCCAGCTTGAACGATTAATGCCAAA
+AGCGGCAGAGAGCGGCGTTTCTCGCCCTGTTCCGCAGCTAAAACGCACGACCATGCGTATACTTATAGGG
+TTGCTGGTGCAAAATCCAGAATTAGCGACGTTGGTCCCGCCGCTTGAGAATCTGGATGAAAATAAGCTCC
+CTGGACTTGGCTTATTCAGAGAACTGGTCAACACTTGTCTCTCCCAGCCAGGTCTGACCACCGGGCAACT
+TTTAGAGCACTATCGTGGTACAAATAATGCTGCCACCCTTGAAAAACTGTCGATGTGGGACGATATAGCA
+GATAAGAATATTGCTGAGCAAACCTTCACCGACTCACTCAACCATATGTTTGATTCGCTGCTTGAACTGC
+GCCAGGAAGAGTTAATCGCTCGTGAGCGCACGCATGGTTTAAGCAACGAAGAACGCCTGGAGCTCTGGAC
+ATTAAACCAGGAGCTGGCGAAAAAGTGATTTAACGGCTTAAGTGCCGAAGAGCGATCGGGAAGCCCCCGA
+CAGCCGCACTGAGAGGCAGCGGCAAATATATAAGTACGCCCTCGTAATTATCGTTGGCGGTAAACAACCG
+TTGGATTTCAGCGTTAACAGCTGAAGGACATCGGGTCAATCGCCCAACACCAACCTCATGAAATAAGTGT
+GGATACCGTCTTATGGAGCAAAACCCGCAGTCACAGCTGAAACTTCTTGTCACCCGTGGTAAGGAGCAAG
+GCTATCTGACCTATGCCGAGGTCAATGACCATCTGCCGGAAGATATCGTCGATTCAGATCAGATCGAAGA
+CATCATCCAAATGATCAACGACATGGGCATTCAGGTGATGGAAGAAGCACCGGATGCCGATGATCTGATG
+CTGGCTGAAAACACCGCGGACGAAGATGCTGCCGAAGCCGCCGCGCAGGTGCTTTCCAGCGTGGAATCTG
+AAATCGGGCGCACGACTGACCCGGTACGCATGTACATGCGTGAAATGGGCACCGTTGAACTGTTGACCCG
+CGAAGGCGAAATTGACATCGCTAAGCGTATTGAAGACGGGATCAACCAGGTTCAATGCTCCGTTGCTGAA
+TATCCGGAAGCGATCACCTATCTGCTGGAACAGTACGATCGTGTTGAAGCAGAAGAAGCGCGTCTGTCCG
+ATCTGATCACCGGCTTTGTTGACCCGAACGCAGAAGAAGATCTGGCACCTACCGCCACTCACGTCGGTTC
+TGAGCTTTCCCAGGAAGATCTGGACGATGACGAAGATGAAGACGAAGAAGATGGCGATGACGACAGCGCC
+GATGATGACAACAGCATCGACCCGGAACTGGCTCGCGAAAAATTTGCGGAACTGCGCGCTCAGTACGTTG
+TAACGCGTGACACCATCAAAGCGAAAGGTCGCAGTCACGCTGCCGCTCAGGAAGAGATCCTGAAACTGTC
+TGAAGTATTTAAACAGTTCCGCCTGGTGCCGAAGCAGTTTGACTACCTGGTCAACAGCATGCGCGTCATG
+ATGGACCGCGTTCGTACGCAAGAACGTCTGATCATGAAGCTCTGCGTTGAGCAGTGCAAAATGCCGAAGA
+AAAACTTCATTACCCTGTTTACCGGCAACGAAACCAGCGATACCTGGTTCAACGCGGCAATTGCGATGAA
+CAAGCCGTGGTCGGAAAAACTGCACGATGTCTCTGAAGAAGTGCATCGCGCCCTGCAGAAACTGCAGCAG
+ATTGAAGAAGAAACCGGCCTGACCATCGAGCAGGTTAAAGATATCAACCGTCGTATGTCCATCGGTGAAG
+CGAAAGCCCGCCGTGCGAAGAAAGAGATGGTTGAAGCGAACTTACGTCTGGTTATTTCTATCGCCAAGAA
+ATACACCAACCGTGGCTTGCAGTTCCTTGACCTGATTCAGGAAGGTAACATCGGCCTGATGAAAGCGGTT
+GATAAATTCGAATACCGCCGTGGTTACAAGTTCTCCACCTACGCAACCTGGTGGATCCGTCAGGCGATCA
+CCCGTTCTATCGCGGATCAGGCGCGCACCATCCGTATTCCGGTGCATATGATTGAGACTATCAACAAACT
+CAACCGTATTTCTCGCCAGATGCTGCAAGAGATGGGCCGTGAACCGACGCCGGAAGAACTGGCTGAACGT
+ATGCTGATGCCGGAAGACAAGATCCGCAAAGTGCTGAAGATCGCCAAAGAGCCAATCTCCATGGAAACGC
+CGATCGGTGATGATGAAGATTCGCATCTGGGGGATTTCATCGAGGATACCACCCTCGAGCTGCCGCTGGA
+TTCTGCGACCACCGAAAGCCTGCGTGCGGCAACGCACGACGTGCTGGCTGGCCTGACCGCGCGTGAAGCG
+AAAGTTCTGCGTATGCGTTTCGGTATCGATATGAACACCGACCACACGCTGGAAGAAGTGGGTAAACAGT
+TCGACGTTACCCGCGAACGTATCCGTCAGATCGAAGCGAAGGCGCTGCGCAAACTGCGTCACCCGAGCCG
+TTCTGAAGTGCTGCGTAGCTTCCTGGACGATTAATCGGTAGGCCGGATCAGGCGTTACGCCGCACCCGGC
+ACTAGTCCCTCTGCACAAACGCCACCTTTTCGGTGGCGTTTTTTATCGCCCACGCACTACCAGCGCCTGG
+TCCAGCTCGCGATACGCTTCAACCAGTTTCTCCAGTGAAACGCGACTTAAACCACTGGGATTTGGCAGCA
+CCCAAATCTGCGTCGAACCAATGGTGAGCGTTTGTTTCCCCCACTGTGCACCGCGCTGGCTGAATCCCTG
+TTCATATGCTTGTTTGCCCAGAATCGCCAACGCCTGCGGCTGATAATCTTCTATTTTTTCAATTAGCTTA
+CGCCCGCCTGCGTGCAGCTCCTGCTTTGACACTTCATTGGCTTGCACCGTTGGACGGTCTACCAGTTTGG
+TGACGCCACAACGATAATCCAGCAGATGCTGTGCCTCCTGCGGCTTCAACTGACGGTCGGTAAACCCGGC
+CTGATATATCACCTTCCAGAAGCGGTTTGCCGGATGAGCAAAGGGAAAACCCGTTCCGGCGGATGAAAGA
+CCAGGGTTGATACCGCAAAACACGACCCGTAACCCTGGAGCCAAAATATCCTCAACCATATTTACTCCTT
+TCTAACATCACCAGGAAAAGTATAACGGATTGAAAATACATTGTTTATAAAAACAGCAGGCGCGCGGTAA
+TGGCTGGATTGCGACACGGAGTTACTTTATAATCCGCTACCATGGCCCCTTAGCTCAGTGGTTAGAGCAG
+GCGACTCATAATCGCTTGGTCGCTGGTTCAAGTCCAGCAGGGGCCACCAGATATAGCAAAGGCTGACGAG
+AAATCGTCAGCCTTTTTCTTTTTATATATCAGTTACTTTGCGTGCCAGTAAGCCGCCGCGCGTACCCGCT
+GTGGGTCATACTGTTCCGCTTCAAAGCGACGGCTTAAATTCTTAACGACTTTGCCTTCGCCGGTTATCCA
+GATGAAGTAATCATCGGCAGGGATTTGCATCTGCGCCAGACGCGCATCTACCGCCTGCTCATCATGTGCC
+AGCCATTCGATATTAAAACCATCAAGGTGCGCGAGATAATCCTGACAGGCGTTATCCCGCACGCTAACCA
+GCGCACTAACTTGCGGTTTAACGGCAAGTTTGCTCAACGTTTCCAGGCGGCGGCGCAGTGCGGGCATTCC
+GGATTCATCGCAGACATACAGCTGATACGCGTAATCTTCCGGCACCACCAGCGAACCGCGCGGACCTGCC
+ACCGTAAGTTTATCGCCCGGTTTCGCCTGCATCGCCCAGCCGCTGGCGACCCCACCGTCGTGAATAAAGA
+AATCGATCGCCAGTTCATGGCGTAGTTCGTCATATAGCGGCGTATAGTCACGCGACGGTGGGCGTGGTCC
+TTCCGGCCAGACGATGCCCTCTTCCGTTACCGTTGGCGGCACAAAGTGAGCGTCAGGTTGAGGAAAGAAG
+AGTTTGCTGTGATCGTCAAAGCCGCGCGACGTAAAACCGTCCAGCGCCTCGCCGCCGAGGACAATGCGCT
+GAAAACCGGCGCTGATGCGCTCAACGCGTAACACAGTCAGTTCACGGAAGCGCAGATCATTGCGAACGCG
+CTGCGGGTAGCGGGGGGAGTTATTCATTGTTATCGCCTTCGTGATGGTAATCAGATATATCTAAATAATT
+TTCGTAAATGATAATGATTGTTAATCATGATAAATGCAAGCGATTTGTAGAACTGATATATCTGTAGTCT
+GATAAGACGCGCAACCTCTTATCAAGCATCATTGCTCAATGTCGGATGCGGCGTGAACGCCTTATCCGGC
+CTACGTGTGAGATGAGTCCACATTTAAAAATCATTTTTATTCTTGCAAGAGTGCTCATATCAGATATAAA
+TTAGATATATCTAATTAAGCAAAAGGAGGCTGATATGAGCCATCATCACGAAGGGTGTTGTAAACATGAA
+GGCCAGCCACGCCATGAGGGCTGCTGCAAAGGTGAGAAGTCAGAACACGAGCACTGCGGACACGGTCACC
+AGCATGAACACGGTCAATGCTGCGGTGGTCGCCACGGTCGCGGCGGCGGTCGTCGGCAACGTTTCTTTGG
+TCACGGTGAATTACGTCTGGTGATTCTGGATATTCTCTCGCGCGATGACAGCCACGGTTACGAATTGATT
+AAAGCGATTGAGAATCTAACCCAGGGGAATTACACCCCAAGCCCGGGCGTCATCTACCCAACGCTGGATT
+TTCTGCAGGAGCAGTCGCTGATTACCATCCGCGAAGAGGAAGGTGGTAAGAAGCAGATTGCACTGACCGA
+ACAAGGCGCGCAGTGGCTGGAAGAAAACCGCGAACAGGTAGAGATGATTGAAGAACGCATCAAAGCGCGT
+TGCGTTGGCGCTGCGCTGCGCCAGAACCCGCAAATGAAGCGGGCGCTGGATAATTTTAAAGCGGTGCTGG
+ATTTACGCGTCAACCAGAGCGATATCACTGATGCACAAATAAAAAAGATCATTGCGGTGATCGACCGCGC
+CGCTTTTGATATTACGCAACTGGATTAATCACCGATTGCCGGATCCGGCATACCGATTAATGCAGCACCG
+TCACCGCGTCTTCCAGTCGGCTGGCGCGGTGTTTCACCATCGCCGACACCTGCGCACTCTCTTCCACTAA
+CTCGGCGTTTTTCTGGGTGATCAGGTTAAGCTCATCCACTGCACGGGTCAGGCTGGAAAGCCCATCGGCC
+TGTTCCAGCGTTGAATGGCTAATCTGAGCTATCAACTGGGTGACGTTTTTTACCTGTGCCACAATATCTT
+CCATCGTCCGTCCGGCGGCGTGTACCTGCTGCGAACCAGATTGCACTTTATCAGCACTGGCATCAATCAG
+CTTGCGAATATCGTTGGCAGCATTGGCGCTGCGGCTGGCTAAATGACGCACTTCCCCTGCCACCACTGCA
+AAACCTTTGCCTTGTTCGCCGGCTCGCGCCGCTTCCACCGCCGCATTCAGGGCCAGGATATTGGTCTGAA
+ACGCAATATCGTTAATCAGCGAAGTAATGGTGCCAATGCGCTGGGTACTGTCGGCGATATCGTCCATTGT
+CTTGATCACCGTAGTCATCGCCTCCCCGCCCTGCACTGCCGCATTACTGGCGGTGATAGAAAGTTTATCG
+GCAGCCGACGCCGTGGCAGAGTTCTGTTTCACCGACGCCGCCATTTGGTTCATGGTCGCCACCGTTTGCT
+GAACGTTATCAACTGTCTGCTGGGTATGTTCGTTCAGTTCATCGGTGCCTTTCGCCAGCGTCTCACTGCC
+ATTTCTGACACTGGACACCTGGCTTGAGACATCGTTAATTAGCCAACGGCACATCAGGCCAAGCTGCCCT
+ACCGCGCGTAATGTCAGCCCCAGCTCATCGCTGCGATTCAGATGCTCAACACTATTACGCTCTCCGGTCG
+CCACCTTCAGTGCCTGACGGGCGACATTTTCTATCGGGCGGACAATCTGCCATTCAAAACAGGCGCTTGC
+CAACAATACCACTAACGCACAGAGGATATACGTCACCACCGGGGCAGCAACAAACCAAAGCATGACCGCC
+AGCAAGATAAACATCAGGGTCATCACGCCACGCGCCCGCCAGCGAAGCGGTAATGAAGGCAGTTTTCCCA
+GCCAGCCTTTACGCACCACCAGGCCTTTATGAATACGCTTACTGGTCCGTCCGGCGTTCAACGCTTTGTA
+CAGCGGCTCCACCGCCGCGATCTCTTCATCCGTCGCCCGGGTACGAATCGACATATAGCCACTGATTTTT
+CCCTCGCGCACCATCGGTACCGCATTGGCCCGCACCCAATAATGGTCGCCATTTTTGCGGCGATTTTTCA
+CGATGCCGCTCCAGGGCTCCCCTTTTTTCAGGGTGAACCACATATCCGCAAACGCCGCTTTTGGCATATC
+CGGGTGACGCACCATGTTGTGCGGCTGCCCTTGTAACTCTTGCAAGGTAAAGCCGCTCACCTGCACAAAA
+GTGTCATTAGCATGAGTGATATAGCTTTTCAGATCGGTAGTGGACATCAGAGTGGTATCGTCCGCCAGCG
+GGGTATTTTGCTGGGTGACATACGGATGAGAAGACATGTTCGCGTCCTGTGCAGGTTATATGGTTGTTAA
+CTTCTTGTCAGAGTTTATGTCGGCCCCGCTGCGGTTATCTTTAACTGATTAATTTGATTTAGATCGCAAT
+TTGCGATTAAAGCATAAATCTAATCCCTTGATTTAAAATACTTTCACTCTGTTACTATACGAAAACGTTA
+ATTATCTTACCCAAAAATCAGGCAGTTGTTGCCCTGAAAGTGTGCATTTGCGCAGCAATCGCCAAATCCA
+TACCCGACAAAAACCGTGCAAAACAACAACAGATGTTAACAAATAGCATTAAATATTGCACAAATGATAA
+CCACATTTGTGTTTATCCCGATTTTCGCGATCGCAGCCGGAGTGGCGCAATCCCTGCAATACTTAAATCG
+GTATCATGTGATACGCGAGCCTCCGGAGCATATTTTGAACAGGTTACCTTCGAGCGCATCAGCTTTAGCG
+TACAGCGCCCACGCCCTGAATCTCATTGAAAAGCGAACGCTGGATCATGAGGAGATGAAAGCACTTAACC
+GAGAGGTGATTGAATACTTCAAAGAGCATGTCAATCCGGGGTTTTTAGAGTATCGCAAATCTGTTACCGC
+CGGCGGGGATTACGGAGCCGTAGAGTGGCAAGCGGGAGGTTTAAATACGCTTGTCGACACCCAGGGACAG
+GAGTTTATCGACTGCCTTGGAGGTTTTGGAATTTTCAACGTGGGGCACCGTAATCCAGTTGTGGTTTCCG
+CCGTACAGAATCAACTTGCGAAACAACCGTTACATAGCCAGGAGCTGCTCGATCCGTTACGGGCGATGCT
+GGCGAAAACCCTTGCGGCGCTAACGCCCGGTAAACTGAAATACAGCTTCTTCTGTAATAGCGGCACCGAG
+TCCGTTGAAGCAGCGCTGAAGCTGGCGAAGGCTTATCAGTCACCGCGCGGCAAGTTTACTTTTATTGCCA
+CCAGCGGCGCGTTCCACGGTAAATCACTTGGCGCGTTGTCGGCCACGGCGAAATCGACCTTCCGCAAACC
+ATTTATGCCGCTGCTGCCAGGGTTCCGTCATGTACCGTTTGGCAATATCGAAGCCATGCGCACGGCCCTT
+AGCGAGTGCAAAAAAACCGGTGATGATGTGGCTGCAGTGATCCTCGAACCGATTCAGGGCGAAGGTGGCG
+TAATTCTGCCGCCGCCGGGCTATCTCACCGCCGTGCGTAAGCTGTGCGATGAGTTCGGCGCACTGATGAT
+CCTCGATGAAGTACAAACGGGCATGGGGCGCACGGGCAAGATGTTCGCCTGCGAACATGAGAACGTACAG
+CCGGACATCCTGTGCCTGGCAAAAGCCCTCGGCGGCGGCGTGATGCCGATTGGCGCAACCATCGCCACTG
+AAGAGGTGTTTTCCGTTCTGTTCGACAACCCGTTCCTGCATACCACCACCTTTGGCGGCAACCCGCTGGC
+CTGTGCGGCGGCGCTGGCGACCATCAATGTGTTGCTGGAGCAGAACTTACCGGCTCAGGCTGAACAAAAA
+GGCGATATGTTGCTGGACGGTTTTCGTCAACTGGCGCGGGAATATCCCGATCTGGTACAGGAAGCGCGTG
+GTAAAGGGATGTTGATGGCGATTGAGTTTGTTGATAACGAAATCGGCTATAACTTTGCCAGCGAGATGTT
+CCGCCAGCGCGTCCTGGTGGCCGGAACACTCAACAACGCTAAAACGATCCGCATTGAACCGCCACTGACA
+CTGACCATTGAACAGTGTGAACAGGTGATCAAAGCGGCGCGTAAGGCGCTGGCGGCCATGCGAGTCAGTG
+TCGAAGAAGCGTAATATCAAATCGGATGGCGATTCGACGTCGCCATCCGATCTTTTTATACGATACGTAC
+GCCCGCAGGCATCATCCGCTCCGGCGTTAACAGCACGCTTTCACTGCCGTCATCGGTTTCCGCACACAAC
+AGCATGCATTCCGACGTTTCACCGCGCATTTTCGCTTTTTGCAGATTGCATAAGACCACCACTGTTTTTC
+CCATCAGCTCTTCTTCGCTGTAGTACGGCACCAGGCTGGTCACGGTTTGCAGCGTTTTTTCACCCACATC
+AACCTGTACGATGTACAGCTTGTCGGCGTTTTCATGGCGTTTCACTTCCACAATCTTTCCGACGCGCATT
+TCCAGACGTGCAAAATCAGCGTAAGCCACGGTTTCCATTGCTTCCTCCCTTCGAGTAAAATTTTACTAAA
+CTATAGCAAAAGTTTTTCTCAATCCTGTAGGCTAAAAATAGAGAATGCAGCCGTGATCACATTTGTAAGC
+CGCTGTGTTACCGTTACAGCGTCAAAGAAACGCGCTTTATTTACTGAAAACAGGTGACCCGATAAGCACT
+TCCTCTACAATGGGGGCGCACATCAGGGAAAGTAAAAAAGGTAAACATGGCAACATTAAAAGACATCGCA
+ATCGAAGCTGGCGTATCCCTGGCGACAGTATCCAGGGTCTTAAATGACGATCCAACATTGAATGTGAAAG
+AAGAGACGAAACATCGCATTCTCGAGATCGCCGAAAAGCTGGAGTACAAGACCAGCAGCGCCCGTAAGCT
+ACAGACAGGCGCAGTCAACCAGCACCATATTTTGGCTATCTACAGCTACCAACAAGAGCTGGAGATCAAC
+GATCCTTACTATCTGGCGATCCGCCACGGCATTGAAACCCAGTGCGAAAAGCTGGCGATCGAACTGACCA
+ACTGTTATGAACACAGCGGTTTGCCAGACATTAAAAACGTCACCGGCATTTTGATTGTCGGCAAACCCGC
+GCCCTCCCTGCGCGCCGCTGCCAGCGCATTGACCGACAATATCTGTTTTATCGACTTTCACGAACCCGGC
+AGCAATTACGATGCGGTAGATATCGATCTGGCACGCATCAGTAAAGAGATCATCGACTTCTATATCGATC
+AGGGCGTTAATCGCATTGGTTTTATTGGCGGCGAAGACTTGCCTGGCAAGGCGGATATTCGTGAGGTCGC
+CTTTGCGGAATATGGCCGACTGAAACAAGTGGTACGCGAAGAGGATATCTGGCGCGGCGGTTTTTCCAGT
+TCGTCGGGCTACGAACTGGCGAAACAGATGCTGGCTCGGGAAGACTACCCGAAGGCGCTTTTTGTTGCTT
+CCGATTCTATTGCTATTGGCGTACTGCGGGCAATTCATGAACGTGGTCTGAACATCCCGCAGGATATTTC
+ACTTATCAGCGTTAACGACATCCCCACCGCGCGATTTACCTTTCCGCCGCTCTCAACCGTACGCATCCAC
+TCCGAGATGATGGGAAGCCAGGGCGTTAATCTGGTGTATGAAAAAGCTCGCGATGGTCGCGCGCTGCCGC
+TGCTAGTCTTCGTTCCCAGCAAATTAAAACTCCGCGGCACGACCCGTTAAATCCCCTTACACACTGTCCG
+GCAATCGTTTTTGCCGGACAGTGCTGCCGTTTATTTTCGTGATCCAGTTAAAGTAAATGCATTTATCCGC
+TACTTTTTAGTAAAATTTTTACTAAACTCCCCAGCAATTACACAAACTACCATCACCATGAATGGTTCCG
+ATTTCTCTCTACCGGGAGGCCCTATGAATCGCTGGGAAAACATTCAGCTCACCCACGAAAACCGACTTGC
+GCCGCGTGCGTACTTTTTTTCATATGATTCTGTTGCGCAGGCGCGTACCTTTGCCCGCGAAACGAGCAGC
+CTGTTTCTGCCCTTAAGCGGTCAGTGGAATTTCCACTTTTTTGACCACCCGCTGCAAGTACCAGAAGCCT
+TCACCTCTGAGTTAATGGCTGACTGGGGGCATATTACCGTCCCCGCCATGTGGCAAATGGAAGGCCACGG
+CAAACTGCAATATACCGACGAAGGTTTTCCATTCCCCATCGATGTGCCGTTTGTTCCCAGCGATAACCCA
+ACCGGTGCCTATCAACGTATTTTCACCCTCAGCGACGGCTGGCAGGGTAAACAGACGCTGATTAAATTTG
+ACGGCGTCGAAACCTATTTTGAAGTCTACGTTAACGGTCAGTATGTGGGGTTCAGCAAGGGCAGTCGCCT
+GACCGCAGAGTTTGACATCAGCGCGATGGTTAAAACCGGCGACAACCTGTTGTGTGTGCGCGTGATGCAA
+TGGGCGGACTCTACCTACGTGGAAGACCAGGATATGTGGTGGTCGGCGGGGATTTTCCGCGATGTTTATC
+TGGTCGGTAAACAACTCACGCATATTAACGATTTCACCGTTCGTACCGACTTTGACGAAGCCTATTGCGA
+TGCCACGCTTTCCTGCGAAGTGGTGCTGGAAAATCTCGCCGCCTCCCCTGTCGTCACGACGCTGGAATAT
+ACCCTGTTTGATGGGGAACGCCTGGTGCACAGCAGCGCCATTGATCATTTGGCAATTGAAAAACTGACCA
+GCGCCAGCTTTGCTTTTACTGTCGAACAGCCCCAGCAATGGTCAGCAGAATCCCCTTATCTTTACCATCT
+GGTCATGACGCTGAAAGACGCCGACGGCAACGTTCTGGAAGTGGTACCACAACGCGTTGGCTTCCGTGAT
+ATCAAAGTGCGCGACGGTCTGTTCTGGATCAATAACCGTTATGTGATGCTGCACGGCGTCAACCGTCACG
+ACAACGATCATCGCAAAGGCCGCGCCGTTGGGATGGATCGCGTCGAGAAAGATCTCCAGTTGATGAAGCA
+GCACAACATCAATTCCGTGCGTACCGCTCACTACCCGAACGATCCTCGTTTTTACGAACTGTGTGATATC
+TACGGCCTGTTTGTGATGGCGGAAACCGACGTCGAATCGCACGGCTTTGCTAACGTCGGCGATATCAGCC
+GCATTACCGACGATCCGCAGTGGGAAAACGTCTACGTCGAGCGCATTGTTCGCCATATTCACGCGCAGAA
+AAACCATCCGTCGATCATCATCTGGTCGCTGGGCAATGAATCCGGCTATGGCTGTAACATCCGCGCGATG
+TACCATGCGGCGAAGGTGCTGGATGACACGCGACTGGTGCATTACGAAGAAGATCGCGATGCTGAAGTGG
+TCGATATTATTTCCACCATGTACACCCGCGTGCCGCTGATGAATGAGTTTGGTGAATACCCGCATCCGAA
+GCCGCGCATCATCTGTGAATATGCTCATGCGATGGGGAACGGACCAGGTGGGCTGACGGAGTACCAGAAC
+GTCTTCTACAAGCACGATTGCATTCAGGGACATTATGTCTGGGAATGGTGCGACCACGGGATCCAGGCGC
+AGGATGACAATGGCAACGTCTGGTATAAATTCGGCGGCGACTACGGCGACTATCCCAACAACTATAACTT
+CTGTCTTGATGGTTTGATCTATTCCGATCAGACGCCGGGACCAGGCCTGAAAGAGTACAAACAGGTTATT
+GCGCCGGTAAAAATCCACGCGCTGGATCTGACTCGCGGCGAGTTGAAAGTCGAAAATAAACTATGGTTTA
+CCACGCTTGATGACTACACCCTGCACGCAGAGGTGCGCGCCGAAGGTGAAACACTCGCGACGCAGCAGAT
+TAAACTGCGCGACGTTGCGCCGAACAGCGAAGCCCCCTTGCAGATCACGCTGCCGCAGCTGGACGCCCGC
+GAAGCGTTCCTCAACATTACGGTGACCAAAGATTCCCGCACCCGCTACAGCGAAGCCGGGCATTCTATCG
+CCACTTATCAGTTCCCGCTGAAGGAAAACACCGCGCAGCCAGTGCCTTTCGCACCAAATAATGCGCGTCC
+GCTGACGCTGGAAGACGATCGTTTGAGCTGCACCGTTCGCGGCTACAACTTCGCGATCACCTTCTCAAAA
+ACGAGTGGTAAACCGACATCCTGGCAAGTGAATGGCGAGTCGCTGCTGACCCGCGAGCCAAAGATCAACT
+TCTTCAAGCCAATGATCGACAACCACAAGCAGGAGTACGAAGGACTGTGGCAACCGAATCATTTGCAGAT
+CATGCAGGAACATCTGCGCGACTTTGCCGTTGAGCAAAGTGATGATGAAGTGTTGATCATCAGCCGCACG
+GTTATTGCCCCACCGGTGTTTGACTTCGGGATGCGCTGTACCTACATCTGGCGCATCGCTGCCGATGGTC
+AGGTTAATGTGGCGCTTTCCGGCGAACGTTACGGCGACTATCCGCACATCATTCCGTGCATCGGTTTCAC
+CATGGGGATTAACGGCGAATACGACCAAGTAGCATATTACGGACGTGGACCGGGCGAAAACTACGCCGAC
+AGCCAGCAGGCTAACATCATTGATATCTGGCGCAGTACCGTCGATGCCATGTTCGAGAACTATCCCTTCC
+CGCAGAACAACGGCAACCGTCAGCATGTCCGCTGGACGGCACTGACTAATCGCCACGGCAACGGTCTGCT
+GGTGGTTCCGCAGCGCCCCATTAACTTCAGCGCCTGGCGCTATACCCAGGAAAACATCCACGCTGCCCAG
+CACTGTAACGAGCTTCAGCGCAGTGATGACATCACTCTGAATCTCGACCACCAGCTGCTTGGCCTCGGCT
+CCAACTCCTGGGGCAGCGAGGTGCTGGACTCCTGGCGCGTCTGGTTCCGTGACTTCAGCTACGGCTTTAC
+GTTGCTGCCGGTTTCTGGCGGAGAAGCTACCGCGCAAAGCCTGGCGTCGTATGAGTTTGGCGCAGGGTTC
+TTTTCCACGAATTTGCACAGCGAGAATAAGCAATGAGGATCATCGATAACTTAGAACAGTTCCGCCAGAT
+TTACGCCTCTGGCAAGAAGTGGCAACGATGCGTTGAAGCGATTGAAAATATCGACAACATTCAGCCTGGC
+GTCGCCCACTCCATCGGTGACTCATTGACTTACCGCGTGGAGACGGACTCCGCGACCGATGCGCTATTTA
+CCGGGCATCGACGCTATTTTGAAGTGCATTACTACCTGCAAGGGCAGCAAAAAATTGAATATGCGCCGAA
+AGAGACATTACAGGTAGTGGAATATTATCGTGATGAAACTGACCGTGAATATTTAAAAGGCTGCGGAGAA
+ACCGTAGAGGTCCACGAAGGGCAAATCGTTATTTGCGATATCCATGAAGCGTATCGGTTTATCTGCAATA
+ACGCGGTCAAAAAAGTGGTTCTCAAAGTCACCATCGAAGATGGTTATTTCCATAACAAATAACAACTACG
+GCGGCAAAAGGAGTTTGCCGCCACCGCTACCCTACTCATTTTCGGAGATGTGTTATGTCTGATACCAAAC
+GTAATACAATCGGCAAATTCGGCTTGCTCTCGCTGACTTTTGCCGCCGTTTACAGCTTTAACAACGTTAT
+CAATAATAATATTGAGCTTGGACTGGCCTCGGCACCGATGTTTTTCCTCGCGACGATTTTTTATTTTATT
+CCCTTCTGTCTGATCATTGCAGAATTTGTTTCGTTAAATAAAAACTCGGAAGCCGGTGTCTACGCGTGGG
+TAAAAAGTTCGCTGGGCGGGCGTTGGGCATTTATTACTGCCTATACCTACTGGTTCGTAAACCTGTTCTT
+TTTCACCTCGTTGTTGCCGCGCGTTATTGCTTATGCCTCGTATGCCTTCCTCGGCTACGAATATATTATG
+ACACCGGTTGCCACCACCATTATCAGTATGGTGCTGTTCGCCTTCTCCACCTGGGTTTCCACCAACGGGG
+CGAAAATGCTGGGGCCAATCACCTCCGTCACTTCAACGCTGATGCTGCTGTTAACGCTCTCCTACATTTT
+ACTGGCAGGTACGGCACTGGTTGGCGGCGTACAGCCTGCCGATCCGATCACCGTTGACGCGATGATCCCG
+AACTTCAACTGGGCGTTCCTCGGCGTGACCACCTGGATCTTTATGGCCGCAGGTGGCGCGGAGTCCGTCG
+CGGTGTACGTTAACGACGTCAAAGGCGGTTCGAAATCGTTCGTTAAAGTGATCATCCTCGCCGGGATTTT
+TATCGGCGTACTGTATTCCGTCTCCTCGGTGCTGATTAACGTCTTCGTCAGCAGCAAAGAGTTGAAATTT
+ACTGGCGGATCGGTACAGGTATTCCACGGCATGGCGGCGTATTTTGGTCTACCGGAAGCACTGATGAATC
+GCTTTGTCGGTCTGGTGTCCTTTACCGCGATGTTCGGTTCCCTGCTGATGTGGACGGCAACGCCGGTGAA
+AATTTTCTTCTCCGAAATTCCGGAAGGCATCTTTGGTAAGAAAACCGTCGAACTGAACGAAAACGGCGTT
+CCGGCGCGCGCAGCGTGGATCCAGTTCCTGATCGTCATCCCGCTGATGATTATCCCGATGCTCGGTTCCA
+ATACCGTGCAGGATCTGATGAATACCATTATTAATATGACCGCCGCAGCGTCCATGCTTCCGCCGTTATT
+CATCATGCTGGCTTACCTGAATTTACGTGCCAAATTAGATCACCTGCCACGCGATTTCCGTATGGGTTCC
+CGACGCACCGGTATTATCGTTGTTTCAATGCTGATTGCGATATTTGCTGTAGGGTTTGTCGCTTCGACAT
+TCCCGACTGGCGCGAATATTCTGACCATCATTTTTTATAACGTCGGCGGTATTGTTATCTTCCTCGGCTT
+TGCGTGGTGGAAATACAGTAAATATATAAAGGGATTAACGGCTGAAGAGCGCCATATTGAAGCGACGCCA
+GCCAGCAATGTTGATTAAGCAGAATAATAAAAAATGAGCAGGCATTTTCCCTCTTCCTGGATGGGGAGAG
+GGAAAATAGTTTCTGCCTTTATATTTTTATAATTACAACGATAAAAGGCTGTACTTTTTCTTTAGCTCAT
+GGATTAACACAATGAAATTAATCACTGCACCATGCAGAGCATTACTTGCTCTGCCGTTTTGCTACGCCTT
+TTCTGCGGCCGCTGAAGAAGCACGTCCGGCAGAACATGACGACACAAAAACACCCGCAATTACCTCGACA
+TCTTCTCCTTCATTTCGTTTTTACGGCGAATTAGGGGTTGGTGGGTATATGGATTTAGAGGGTGAGAATA
+AACATAAATACAGCGACGGCACCTATATTGAAGGTGGCCTGGAGATGAAGTACGGCTCCTGGTTCGGCCT
+GATTTACGGCGAAGGCTGGACCGTGCAGGCCGACCACGACGGTAATGCCTGGGTGCCTGACCATAGCTGG
+GGCGGTTTCGAAGGTGGGATTAACCGTTTCTATGGCGGTTATCGTACCAATGATGGCACCGAAATCATGC
+TCAGTCTGCGTCAGGATTCCTCGCTGGATGACCTGCAATGGTGGGGCGATTTCACGCCCGATCTGGGCTA
+CGTCATTCCCAATACCCGCGACATTATGACTGCGCTGAAGGTACAGAACTTAACCGGCAACTTTCGTTAT
+AGCGTCACCGCCACACCAGCCGGACATCATGACGAAAGCAAAGCCTGGCTACATTTTGGCAAATACGATC
+GCTACGACGACAAATACACTTATCCGGCAATGATGAACGGTTACATCCAGTATGACCTTGCAGAAGGTAT
+CACCTGGATGAACGGTCTGGAAATCACCGACGGCACAGGCCAACTCTATCTCACGGGCCTGCTTACCCCT
+AACTTTGCCGCTCGCGCCTGGCACCATACCGGACGCGCCGACGGGCTGGACGTACCGGGAAGCGAAAGCG
+GGATGATGGTGAGCGCCATGTATGAAGCGTTAAAAGGCGTTTTTCTCTCCACCGCTTACACCTACGCCAA
+ACATCGCCCTGACCACGCTGACGATGAAACCACCTCTTTCATGCAGTTTGGTATCTGGTACGAATACGGC
+GGCGGACGTTTCGCAACGGCTTTTGATAGCCGCTTCTACATGAAAAATGCCTCTAACGATCCCAGCGACC
+AACTCTTCCTGATGCAATATTTTTACTGGTAATAAGGACAGTAATCTCATGAAAATAAAAACTATTTTAA
+CGCCAGTAGCCTGTGCTCTGCTGATGAGCTTTTCCGCCCATGCCGCTAACGCTGACAATTATAAAAACGT
+GATTAACCGTACTGGCGCGCCGCAGTACATGAAGGATTACGATTACGACGATCACCAGCGTTTTAATCCG
+TTTTTCGATCTCGGAGCCTGGCATGGTCATCTGTTGCCAGACGGCCCGAACACCATGGGCGGCTTTCCGG
+GCGTTGCGCTGCTGACGGAAGAGTACATCAACTTTATGGCCAGCAATTTCGACCGCCTGACCGTCTGGCA
+GGACGGTAAGAAAGTCGACTTCACGCTGGAGGCATACAGTATTCCCGGCGCGCTGGTGCAAAAACTGACA
+GCAAAAGATGTGCAGGTCGAAATGACTCTGCGCTTCGCCACGCCGCGCACATCACTACTGGAAACCAAAA
+TCACCAGCGATAAACCGCTGGATCTGGTGTGGGATGGCGAACTGCTGGAAAAACTGGAAGCGAAAGAAGG
+GAAACCGCTTTCCGATAAAACCATTGCTGGCGAATACCCTGACTATCAGCGCAAAATCAGCGCCACCCGT
+GATGGCCTGAAAGTCACCTTTGGCAAAGTGCGCGCCACCTGGGATCTGCTGACCTCCGGTGAATCAGAAT
+ATCAGGTGCATAAATCCCTGCCAGTGCAGACTGAAATCAACGGCAATCGCTTTACCAGTAAGGCGCATAT
+CAACGGGTCGACGACGCTCTATACCACCTATTCCCATCTGCTGACCGCTCAGGAAGTTAGCAAAGAGGAA
+ATGCAGATCCGCGATATTCTGGCGCGTCCGGCGTTTTATCTCACCGCCTCGCAGCAACGCTGGGAAGAGT
+ATCTGAAGAAAGGGTTAACCAATCCGGATGCGACGCCGGAACAGACGCGCGTCGCGGTGAAAGCCATCGA
+AACACTCAACGGTAACTGGCGCTCACCGGGCGGGGCGGTGAAATTTAATACCGTCACACCGTCGGTGACC
+GGACGCTGGTTCTCCGGCAATCAGACCTGGCCGTGGGATACCTGGAAACAGGCGTTTGCGATGGCGCATT
+TCAATCCGGAGATCGCCAAAGAGAATATCCGCGCGGTCTTCTCCTGGCAGATCCAACCTGGCGACACCGT
+GCGTCCACAGGATGTGGGATTTGTCCCCGACCTGATTGCGTGGAACCTTAGCCCCGAGCGTGGCGGCGAT
+GGCGGCAACTGGAACGAACGCAATACCAAGCCCAGCCTTGCCGCCTGGTCGGTGATGGAAGTGTACAACG
+TCACCCAGGATAAAACCTGGCTGGCAGAGATGTACCCGAAACTGGTGGCCTATCACAACTGGTGGTTACG
+TAACCGCGATCATAACGGCAACGGCGTGCCGGAATATGGCGCGACCCGCGATAAAACCCACAACACTGAG
+AATGGCGAGATGCTGTTTACAGTGAAAAAAGATAACAAAGAAGAGACGCTGTCTGGGCTGAACAACTACG
+CCCGCGTGGTGGAGAAAGGCCAGTACGACAGTCTGGAAATCCCGGCACAAGTTGCTGCGTCGTGGGAATC
+AGGTCGTGATGACGCCGCCGTCTTTGGGTTTATCGACAAGGAACAGCTGGATAAATATGTCGCTAACGGC
+GGCAAACGTAGCGACTGGACGGTGAAATTCGCCGAAAACCGCAGTCAGGACGGAACGTTGCTGGGCTACT
+CGCTATTGCAGGAGTCGGTGGATCAAGCCAGCTATATGTACAGCGATAACCATTATCTGGCGGAGATGGC
+AACCATACTCGGTAAGCCGGAAGAGGCCAAACGCTATCGCCAGTTGGCACAGCAGCTCGCGGACTACATC
+AACACCTGTATGTTCGACCCGACTACCCAGTTCTACTATGACGTGCGCATTGAAGATAAACCACTGGCGA
+ACGGCTGCGCGGGCAAACCGATTGTTGAGCGCGGTAAAGGGCCAGAAGGCTGGTCGCCGCTGTTTAACGG
+TGCGGCAACGCAGGCCAACGCCGACGCGGTGGTGAAGGTGATGCTCGATCCAAAAGAGTTCAACACCTTT
+GTCCCGCTGGGAACGGCGGCGTTAACCAACCCGGCTTTTGGCGCTGATATCTACTGGCGCGGGCGCGTAT
+GGGTAGATCAGTTCTGGTTTGGTCTGAAAGGAATGGAGCGTTACGGTTATCGCGATGATGCCCTGAAACT
+GGCGGATACGTTCTTCCAGCACGCCAAAGGGTTAACCGCCGACGGCCCGATTCAGGAAAATTACAACCCG
+CTGACTGGCGCACAGCAAGGCGCACCAAATTTCTCCTGGAGTGCCGCGCATTTGTATATGTTGTATAACG
+ATTTTTTCCGTAAGCAGTAATTTTTCCCGATGCCGGACGACTGTATTACCGCCGTCCGGCATGACGAACG
+GGCGTATTCTTTTTGAATCCCATCACAAACCCCGCACTCCCCTTTTCCCTTTTCTCCGGCGACGGCTAAA
+TTAGAACTCATCCGACCACATAACAATTATTTTACATACTGGACAATTTTATGAGCTATCCGTCGCTGTT
+TGCCCCGCTGGATTTAGGTTTTACCACGTTAAAAAACCGCGTGTTGATGGGTTCAATGCACACCGGGCTG
+GAGGAATACCCGGACGGTGTCGAGCGGCTGGCGGCGTTTTATGCTGAACGCGCCCGTCACGGCGTGGCGC
+TGATCGTTAGCGGCGGTATTGCACCTGATTTAACAGGCGTTGGCATGGAAGGCGGTGCAATGCTCAATGA
+CGTCAGCCAGATCCCACACCATCGCACCATTACCGAAGCCGTACATCAGGAAGGCGGCAAAATTGCCTTA
+CAAATTTTGCATACCGGGCGCTACAGCTACCAACCGCATCTGGTCGCCCCCTCCGCATTGCAGGCCCCCA
+TCAACCGTTTCGTGCCCCATGAGTTAAGCCATGAAGAGATCCTGCAACTGATCGACAATTTCGCCCGCTG
+CGCGCAACTGGCGCGGGAGGCCGGATACGACGGCGTAGAAGTGATGGGTTCCGAAGGGTATTTGATCAAC
+GAGTTTCTGACGCTGCGCACCAACCAGCGTAGCGACCAGTGGGGCGGCGATTACCCTAACCGGATGCGCT
+TTGCAGTTGAAGTGGTGCGAGCAGTGCGCGAACGCGTCGGCAATGACTTCATTATTATCTACCGTCTGTC
+GATGCTCGACCTGGTAGAAGGCGGCGGGACTTTTGCAGAAACGGTAGGGCTGGCGCAGGCCATTGAAGCG
+GCGGGCGCGACCATTATCAACACCGGCATTGGCTGGCATGAAGCGCGAATTCCGACCATTGCCACGCCCG
+TGCCGCGCGGTGCCTTTAGCTGGGTCACGCGCAAACTGAAAGGCCACGTCTCGCTGCCGCTGGTGACCAC
+CAACCGGATTAACGATCCGCAGGTTGCCGACGACATTCTCTCGCGCGGCGATGCCGATATGGTATCGATG
+GCGCGACCGTTTCTTGCTGATGCGGAGCTGCTGTCAAAAGCGCAATCGGGGCGAGCCGATGAGATCAACA
+CCTGCATTGGCTGCAATCAGGCCTGTCTCGATCAGATCTTTGTCGGCAAGGTCACCTCGTGTCTGGTGAA
+TCCTCGCGCCTGCCACGAAACCAAAATGCCGATCCTTCCCGCCGTGCAGAAAAAAAATCTGGCGGTGGTC
+GGCGCAGGTCCGGCGGGGCTGGCGTTTGCCATCAATGCGGCGGCGCGTGGTCATCAGGTAACGTTGTTTG
+ATGCACATAGCGAGATCGGCGGGCAGTTTAATATCGCCAAACAGATCCCCGGCAAAGAGGAATTTTACGA
+AACATTGCGCTACTACCGCCGGATGATCGAAGTGACTGGCGTGACACTGAAACTTAATCACACCGTGACC
+GCAGATCAGTTAAAGGCGTTCGATGAAACGATCCTCGCCAGTGGGATCGTACCGCGCATTCCGCCCATCG
+ACGGGATCGATCATCCGAAGGTGTTGAGTTATCTCGACGTACTGCGCGACAAAGCGCCGGTAGGCAACAA
+CGTTGCCATCATCGGTTGTGGCGGGATTGGTTTTGATACGGCGATGTTTTTAAGTCAGCCGGGTGAGTCC
+ACCAGCCAGAACATTGCCGAGTTCTGTAATGAGTGGGGAATCGACAGTAGCCTGCAACAGGCCGGAGGTT
+TGAGTCCGCAAGGCATGCAAATCCCCCGTAGCCCACGGCAGATTGTGATGCTCCAGCGCAAAGCCAGCAA
+ACCAGGACAAGGGTTAGGCAAAACCACCGGCTGGATCCATCGCACCACCCTGCTCTCACGCGGCGTGAAA
+ATGATCCCAGGCGTAAGTTACCAGAAGATCGACGATGACGGGCTGCATGTAGTGATCAACGGCGAACCGC
+AAATTTTGGCGGTAGATCATGTGGTGATCTGCGCAGGGCAAGAGCCAAACCGCGCATTGGCGCAACCGCT
+GATTGATAGTGGGAAAACTGTGCATTTAATTGGCGGCTGCGATGTGGCTATGGAGCTGGACGCACGACGG
+GCAATTGCCCAGGGAACACGGCTGGCGCTGGAGATTTAAATTGTGCATTGAAGTGCCGGATGCGCCGCTT
+GACACGTCTTATCCGGCCTGGGGGTAACGTGCTAATCGTAGGCCGCATCCGGCACGTCGCGTTAATCAAT
+AAACAATGCAGGGGAAATGCCGAATCGCGTTGCCAGTTTTTTAGCGTGTTCCAGCGTTAATTTTCTCTTC
+CCGTTCAAAACGCGTGACACCATAGATTTACTGCCAATTTCCGGCAGATCGGAAAGGGTTAAACCATATT
+GATCCATAAGGGTACGAATCACGGCTATACCGCCAGGCATGGCTTGAGCCATGGCATTAAATTCCGCAAA
+TTCGGGCGCTGATTCTTCCCACGCGGTTATTTTGGCACACGCCAGATCCAGCAAGGGGTTTTCAGGATCG
+TTGAGCAGCAGATGATCTACCAGTTCCAGCGCCTGGGTGTATTGTTCCTCGTTCTGAATACCCGCCAGAA
+AAGGTGCCACAGCAGTTAGTTTTTCTCCTGCTTGCAAGATGTCGGCAATCGCAATCATTTTTTCCCCTTA
+GTACGATGAACGGCGGTAAAGAAATCGTATTCTTTATGCGTCATAACTTCACGTATGTAGCATAAACGTT
+GAACAACGCTAAACAAGAGAATGTAGAGGATGGTGACAGGGATTTTTTGTTTTATGGAAGCGCGATTCCA
+GAACTGGGCAGACATTGCCGGATGCGACGCTTGCCGCGTCTTATCCGACCTGGGGGTAATGTGCTGAACG
+TATGCCAGATAAGGCGTTTACGCCTTATCTGGCAGGTAGCTGCCAATCTTACCGACGACGCCCCAGCTTC
+ACTGCTTTCAGCACCACAAATTTATTATTCGTCGCAATAGTGGTGCAGTTGCCGAAAATTTTCTTCAGTT
+TGTGGAAGTAATCCAGGTGACGGTTGGCAACGATATACAGCTCGCCGTTGATTTTCAGGCAGCGGCGGGC
+ATGGTGGAACATCTCCCAGGCGACGTTATCGGTCAGCGCATGTTGCTGATGAAACGGCGGGTTGCAGAGC
+ACAGCATTAAAGCGGAAAGGCTCCACGCCGGAGAGCGCGTTATTGATCATAAACTCGCAGCGATCCAACG
+CCTCGGGCATGTTGGTTTCAACGTTTAACCGGCTGGAAGCAACCGCCATCGGCGATTCATCGACAAACAC
+CACTTTCGCCTGCGGGTTTTTATCAAGCAGCGTCAGACCAATAACGCCATTACCACAACCGAGATCGACA
+ATCTCACCTTCGAGATTCTCTGGCAGATGCTGCATAAAGAAGCGCGCGCCAATATCCAGCCCGGTGCGGG
+AGAAGACATTCGCATGGTTGTGGATAGTCCAGTCAGTGCCTTCCAGCTTCCAGCTAACGGTCTGCGGTGC
+ATCAACCAGCGGCGGCTCGTTGAAAGTGCAGTTAATCAGGCGCGCTTTCTTCCATGCCAGTGTGGTGGTG
+GTCGGACCGAGCACTTTTTCGAACAGTTCCAGCGTGGAGGTGTGAATGTCACGGGCTTTAGCACCGGCAA
+TAATACGTGTATCCGGCGTGACCACTTTGCGCAGCGCACGCAGTTGTTGTTCCAGCAACGCCAGTGTTTT
+CGGTACTTTGATCAGTACCACGCCCGGCTGTTGCGGGTAGTCGGCGGTGCTGTCGAGAAACTTCACGCTC
+GATTCATCAATCCCGTTGAGGCGTAAATTCTCGCGCGTGGCCAGTTCACTGATGTATGAGTCGCCAATGC
+TGTACGGCTTATGTTCCGCCAGCGCACAACTTAACGCACCAAAGGCATCATTCAGGATCAACACCGGGCC
+GCGGATTTCTGTGTCGTCCAACTGTTGCAGCAAATATTCATCCGCCGCTTCCCACGCCTGTAGCGGGTTA
+ACGTCATCCGTCGCCGGAAAACGTTGTAGTGTCAGTGAACGGAAACCGTTGTCTAAGTGGCTCATCGGCC
+CTCCTGAATGATAAAATTTCGACGTTGCCCCTGAAAAGGGTGCGTGAGTATACCCTTTTTCTCTTTTTCG
+TGGGCGGTTATGAGCAATCTTACTTATCTTCAGGGTTATCCCGAGCAGCTACTTTCCCAGGTGCGAACGC
+TGATTAACGAACAGCGTCTGGGCGATGTGCTGGCAAAACGCTATCCGGGAACACACGACTACGCCACCGA
+TAAAGCCCTCTGGCAATATACTCAGGATCTTAAAAATCAGTTTCTGCGCAATGCCCCGCCGATCAATAAA
+GTGATGTATGACAACAAGATCCACGTGCTGAAAAACGCGCTCGGGTTACATACCGCTGTCTCGCGTGTGC
+AGGGCGGCAAGCTGAAAGCAAAAGCAGAGATCCGCGTCGCTACCGTGTTTCGCAACGCGCCGGAACCGTT
+TTTGCGCATGATCGTGGTGCACGAGTTGGCGCACCTGAAGGAGAAAGAGCATAACAAAGCGTTCTATCAA
+TTGTGCTGCCATATGGAGCCGCAGTACCACCAGCTTGAGTTCGACACCCGGCTGTGGCTAACGCAGTTGT
+CGCTTGGGCAGGACAAAATCTGAAAATGATGTCAGGCGTTATCTTTTCTTCCTATAGCGCCTAAAATCGA
+CCTCCCCCCTTTCGTTAAGGATAACGACCATGCAGCCCCGCCTTCTTCTCCGTATTTGTTTTTCTCGCCG
+GACTCTTAAGATTGGCTGTTTATTGTTGCTTATAGCAGGAGCGACCCTTTTTATTGCCGATCGCGTAATG
+GTCAACGCCAGCAAACAGCTGACCTGGAGCGACGTCAACGTCGTTCCGGCGCGTAACGTGGGCTTATTGC
+TGGGGGCCAGGCCGGGTAATCGCTACTTTACCCGACGTATTGATACCGCAGCAGCGTTGTACCACGCCGG
+AAAAGTGAAATGGCTGTTAGTCAGTGGCGATAACGGACGTAAAAATTACGATGAAGCGTCAGGAATGCAG
+CAAGCCTTGATCGCTAAAGGCGTACCGGCAAAAGTGATCTTCTGCGACTATGCCGGATTCTCAACGCTTG
+ATTCGGTGGTGCGTGCCAACAAGGTGTTTAGTGAAAATCATATCACCATTATCTCGCAAGAATTTCATAA
+CCAACGCGCCATCTGGCTGGCAAAACAGTATGGTATCGATGCTATCGGTTTTAACGCGCCAGACCTCAAT
+ATGAAGCACGGTTTATATACTCAACTGCGGGAAAAACTTGCCAGAGTCAGCGCGGTGATTGATGCGAAAA
+TCCTCCATCGCCAGCCGAAATATCTCGGGCCGTTGGTTATGATTGGGCCGTTTAGTGAGCATGGCTGTCC
+GGCGAAAGAATAATGCGTATCTGCGCACGTCGAAGATAAAAAAGGCGTGCTACAGTGACGAGAGAATCCC
+TTTATGGAGTATCCACGCGTTATGATACGTTTCGCTGTGATTGGTACGAACTGGATCACTCGCCAGTTCG
+TCGAGGCCGCCCATGAGAGCGGTAAATACAAGTTAACCGCCGTTTATTCCCGCAGTCTTGAACAGGCCCA
+GCACTTCGCCAATGATTTTTCTGTCGAGCATCTGTTTACGTCGCTGGAAGCGATGGCAGAAAGCGATGCC
+ATTGACGCGGTGTATATTGCCAGCCCGAATTCCCTGCACTTTTCCCAGACACAACTTTTCCTTAGTCACA
+AAATTCATGTGATTTGCGAGAAGCCACTGGCGTCGAATCTGGCGGAAGTGGATGCCGCCATTGCCTGTGC
+GCGGGAAAATCAGGTGGTGCTGTTTGAGGCATTTAAAACCGCCAGCCTGCCGAACTTTCATCTGTTGCGC
+CAGGCGCTGCCGAAAGTCGGCAAACTGCGTAAAGTCTTTTTCAACTATTGCCAGTATTCCTCGCGGTATC
+AACGTTACCTGGATGGTGAGAATCCCAACACCTTTAATCCGGCATTCTCTAACGGTTCAATTATGGATAT
+CGGCTTTTACTGTCTGGCGTCAGCGGTGGCATTATTCGGTGAACCGAAAAGCGTGCAGGCAACCGCCAGT
+TTGTTGGCAAGCGGCGTAGATGCCCACGGCGTGGTGGTGATGGATTACGGTGATTTCAGCGTTACGTTGC
+AGCACTCAAAAGTGAGCGATTCTGTCCTGGCAAGCGAGATTCAGGGCGAAGCGGGATCGCTGGTGATTGA
+AAAACTCTCTGAATGCCAGAAAGTCTGCTTTGTACCGCGTGGCAGCCAGATGCAGGATCTCACCCAGCCA
+CAGCATATTAATACCATGCTCTACGAAGCAGAGCTGTTCGCTACCCTGGTGGATGAGCATCTGGTGAATC
+ATCCAGGGCTGGCGGTCAGTCACATCACCGCCAAACTGCTGACTGAGATCCGCCGCCAGACTGGGGTGAT
+TTTTCCGGCAGATAACGTAAAACTATAATTGCCAAAGTAAAACAGTGTAAAAGGTATGTAACAGACCATT
+GACTGACTGAATGGTCTGTCATACTTTGTTACCTGCAAAGGGGAGTAACTTCATTGCCGGTCGATCGTCA
+TTACGATGTGTGAAAAACCACATCCGGTCACCGGGCAACCCGAAAGGAATACGCAGACGTATTCCTTTTT
+TGTTGTAAGTGAGACCTTGCCGGAAGGCGAGGTCTATGCATAAAAAGCAGCGGCTGACGTCTTCCGACGT
+TGGCCGTTTTTTTATGTGTAAGGAACTTCTATGAATACTGTCGGCACGCCGTTGCTATGGGGCGGATTCG
+CTGTTGTTGTCACCATTATGCTGGCTATCGACCTGTTGTTGCAGGGGCGTCGTGGGGCACATGCCATGAC
+CATGAAACAGGCTGCGGCCTGGTCGCTGGTCTGGGTGACGCTGTCGTTACTGTTTAACGCCGCTTTCTGG
+TGGTATCTGGTGCAAACCGAAGGTCGCGCCGTTGCCGATCCACAGGCACTGGCCTTCCTCACCGGTTATC
+TGATTGAGAAATCGCTGGCGGTCGATAACGTCTTTGTCTGGCTGATGTTGTTCAGCTATTTCTCTGTTCC
+GGCGGCATTACAACGTCGCGTGCTGGTGTATGGCGTGCTCGGGGCGATTGTTCTGCGTACCATCATGATC
+TTCACTGGTAGCTGGCTGATTTCACAGTTCGACTGGATCCTGTATATCTTCGGTGCCTTCCTGCTGTTTA
+CCGGCGTGAAGATGGCGCTGGCTCATGAAGATGAATCAGGCATTGGCGACAAACCGCTGGTGCGCTGGCT
+ACGCGGTCATTTGCGCATGACCGACACCATCGACAACGAGCATTTCTTTGTGCGTAAGAATGGTTTGTTG
+TATGCCACGCCGCTGATGCTGGTGCTGATTCTGGTGGAGTTGAGCGACGTGATTTTCGCCGTGGATAGTA
+TTCCGGCTATCTTCGCCGTGACCACCGATCCGTTTATTGTGCTGACCTCAAACCTGTTTGCGATCCTCGG
+CCTGCGTGCGATGTATTTCCTGCTGGCAGGTGTGGCAGAGCGTTTCTCGATGCTCAAATATGGTCTGGCG
+GTGATTCTGGTGTTTATCGGTATCAAGATGCTGATTGTCGACTTCTACCATATTCCGATCGCCGTCTCGC
+TGGGCGTGGTGTTTGGCATTCTGGTGATGACGTTTATTATCAACGCCTGGGTGAACTATCGGCATGATAA
+GCAGCGGGTTGGATGATTTTTAATCTGCCTAAGCCGTGTACCCTGTCATCAACATGAGCACCGTTTTCTC
+CCTCTCCCCAAAAGGGGCGAGGGGACTGACCGAGTACTTTTTTGACGTTGTCATCAGTCTGGAAGCCGCA
+CGTTGGGCTTTATTTTTATGTCAAATAAATGTAACCATTAAGTTGCAAAATATGACCTCTCTTTAAAATC
+CAGCATTTTTCGCTTCCCGAAGCTGTAACTTTCCTTATACTCGACCTTGCAAACACTTTGTTACATCCTG
+AAAGATGCGTCGACAGAACGCACCAGGGATGTGCGACAACACAATGAAAGGATCGAAAAATGACTACGCA
+ACGTTCACCGGGGCTATTCCGGCGTCTGGCTCATGGCAGCCTGGTAAAACAAATCCTGGTCGGCCTTGTT
+CTGGGGATTCTTCTGGCATGGATCTCAAAACCCGCGGCGGAAGCTGTTGGTCTGTTAGGTACTTTGTTCG
+TCGGCGCACTGAAAGCCGTTGCCCCCATCCTGGTGTTGATGCTGGTAATGGCGTCTATTGCTAACCACCA
+GCACGGGCAGAAAACCAATATCCGTCCTATTTTGTTCCTCTATCTGCTGGGCACCTTCTCTGCTGCTCTG
+GCCGCAGTAGTCTTCAGCTTTGCCTTCCCTTCTACCCTGCACTTGTCCAGTAGCGCGGGTGATATTTCGC
+CGCCGTCAGGCATTGTAGAAGTAATGCGCGGGCTGGTAATGAGCATGGTTTCCAACCCCATTGACGCGCT
+GCTGAAAGGTAACTATATCGGGATTCTGGTGTGGGCAATTGGCCTCGGTTTCGCACTGCGTCACGGTAAC
+GAGACCACCAAAAACCTGGTCAACGATATGTCGAATGCCGTCACCTTTATGGTGAAACTGGTGATTCGCT
+TCGCACCGATCGGTATTTTTGGTCTGGTTTCTTCTACCCTGGCAACCACCGGTTTCTCCACACTGTGGGG
+CTACGCGCAACTGCTGGTCGTGCTGGTTGGCTGTATGTTACTGGTGGCGCTGGTGGTTAACCCATTGCTG
+GTGTGGTGGAAAATTCGTCGTAACCCGTTCCCGCTGGTGCTGCTGTGCCTGCGTGAAAGCGGTGTGTATG
+CCTTCTTCACCCGCAGCTCTGCAGCGAACATTCCGGTGAATATGGCGCTGTGTGAAAAGCTGAATCTGGA
+TCGCGATACCTATTCCGTTTCTATTCCGCTGGGAGCCACCATCAATATGGCGGGCGCAGCAATCACCATT
+ACCGTGTTGACGCTGGCTGCGGTTAATACGCTGGGTATTCCGGTCGATCTGCCCACAGCGCTGCTGTTGA
+GCGTAGTGGCTTCTCTGTGTGCCTGTGGCGCATCCGGCGTGGCGGGGGGGTCTCTGCTGCTGATCCCACT
+GGCCTGTAATATGTTCGGTATTTCGAACGATATCGCCATGCAGGTGGTTGCCGTCGGCTTTATCATCGGC
+GTATTGCAGGACTCTTGCGAAACCGCGCTGAACTCTTCAACTGACGTGCTGTTCACTGCGGCAGCTTGCC
+AGGCGGAAGACGATCGTCTGGCAAATAGCGCCCTACGTAACTAATACTTAGCCCCTTTCGTCTACGGCGG
+AAGGGGTTTTCTCCACTTTAAACGGATCAATTCCCCTTCTCTGCATACGCCAGAAACGAATGATATTCAG
+GCCATTCATTAGCAGAAAACTCCCCTCAATCATCGTGCCGCCTATCGACCCCGCCCAGAAGTTGTGAATC
+ACCCAGCAACACGTTGAAAACCACATTACGCAGCGCATGGTCAGCCCTTTACAGCGGAACAGCGCCCAGG
+TACTGACAATCGTGCCGATTACCGGCAGTAGTTCGACAGGATGATGGAACTTCGCGAGGCCAATTCCGCC
+AGTCAGCACAATAAAAATCGCCATTACCCATAAGCTGCGCGTGCGTAAGGTAATCAATGTACGAATGGCA
+TTAAGGATGGCACTGGCACCGGCAGGATAGGTGCCCAGAAGAAAAAAATGTACGCCAATAACGGCGCTAT
+AGACCGAAAGCTGCTTTTTGAAGCGACGTTCGTCACGATTGAAAAATGTTGTGATACCAATCAGAAAGGC
+GATGACACCCACGCCCTGGGCCAGCCAATACGCGGTCATGATAAATCCTTAGCAGGTATGGAAAAGCAAA
+CGGCGCTTCACATTATGAAACGCCGTTTTTTATTAACAACTCATTTCGACTTTATAGCGTTACGCCGCTT
+TTAAAGATCGCCAGTTCACGGAAGTCGTTACGCTCGTTGCAGGTTTGCTTACCGTTGGCAAACTCAACGA
+TGGTATCGATAAATTCTTCCAGCAACTGTGGCATCGCTTTACCGTGGATCAGCTGACCCGCGTCAAAGTC
+GATCCAGTGTTTTTTCTTCGCCGCCAGTTCACTGTTGGTGGCGATTTTCACCGTCGGCACAAATCCACCA
+TACGGCGTACCACGACCAGTACTGAACAGCACCATATGGCAGCCCGCACCCGCCAGGGCGCTGGTCGCTA
+CGGCATCGTTACCCGGCGCACTTAACAAGTTCAGCCCCGGCGTTTTCAGACGCTCGCCGTAACGCAGCAC
+GTCAACCACGACACTGGAACCCGCTTTCTGGGTACAGCCGAGGGATTTGTCTTCCAACGTAGTGATACCG
+CCCGCTTTGTTCCCCGGTGATGGGTTTTCGTAGATCGGCTGGTCATGGGCAATAAAGTACTGCTTGAAGT
+CATTGACCATGGTGACCAGTTTTTCAAACGTTGCTTCGTCACGGCAATGGTCCATCAGCAACTGCTCTGC
+ACCAAACATCTCCGGCACTTCGGTCAGTACGGTAGTACCACCGTTAGCAATCACGTAGTCAGAGAAACGC
+CCCAGCATCGGGTTAGCAGTAATACCAGAAAGACCGTCAGAACCGCCGCACTCCAGACCAAACTTCAGTT
+CGCTGAGTTTGCCCGGCTCGCGCTTGTCGTTGCGCATCACGTTATACAACTGATGCAAATGCGCGATCCC
+GGCCTCGATTTCATCATCCTGCTGTTGGCAGATCATGAAATGAACGCGTTCAGGATCGATATCGCCCAAC
+GTTTCACGGAATGCGGCAACCTGGTTGTTTTCACAGCCCAGACCAATCACCAGCACTGCACCCGCGTTCG
+GGTGGCGCACCATGTTTTGCAGCATGGTGCGAGTATTGATGTGATCGTCGCCCAGTTGTGAGCAGCCGTA
+GGTGTGGCTGAAGAGGAACACGCCGTCGGTACCTTCAGCGTTGTTGGTCTCTTTCAGGAAACGATTTTGG
+ATCTGCCGCGCGATGCCGTTAACACAACCCACGGTTGGCAGGATCCACAGCTCATTACGCACCCCGACAT
+CGCCGTTCGCGCGACGATAGATCTGCACTTCACGATCTGCCGCTTGCGCAGGCAGATCCTGAAAATCAGG
+TTGATAGCGATACTGATCCAGATCGCTCAGATTCGTGCGCGTATTGTGGGCGTGAACGTGTTCCCCCGCC
+GCAATATCCGCCAATGCATAACCAATCGGCAGGCCATATTTAATGACGTTGGCCCCTTTTGCGATATCCG
+TTAACGCAAATTTATGTCCACGAGCAACATCCTGGCGCAGCGTAACAGTCTGGTTATCGACACTGACTTC
+TGTGCCTTCAGCCAAATCCGCTAAAGCAACCGCGACGTTATCCAGCGCATGGATCTTGATGTATTGCATA
+TCAACCCCAGACCTTAGTTCAGTTCAATGGCGAAGTAGTCACGCGCATTGTTAAAGCAAATATTTTTCAC
+CATCTCGCCCAGCAGGTTGATGTCCGCCGGTGCTTCGCCTGCTTCCACCCAGCGACCGATCATCTGGCAC
+AGAATGCGGCGGAAGTATTCGTGACGGGTGTATGACAGGAAGCTACGGCTGTCAGTCAGCATACCGACAA
+AGCGGCTCAGCAGACCGAGCTGCGCCAGTTGGGTCATCTGACGTTCCATACCGTCTTTCTGGTCGTTAAA
+CCACCAGCCGGAACCGAACTGCATTTTGCCCGGCATACCTTCGCCCTGGAAGTTACCGATCATGGTGCCC
+AGCACTTCGTTATCGCGCGGGTTCAGGCAGTAGAGAATGGTTTTCGGCAGCAGGTTTTCTTCGTTCTGCT
+TGCTCAGCAGCTTAGACAGCTCTTCCGCCATCGGACGGTCGTTGATGGAGTCAAAGCCGACATCCGGCCC
+CAGCAGTTTAAACTGACGCAGGTTATTATTACGCAGTGCGCCAATGTGGTACTGCTGTACCCAGCCGCGA
+CGTGCGTATTCAGCGCCGAGGAACACCAGCACCGCAGTTTTGAACTGTGCCACTTCGTGCTCGCTCAGGG
+TTTCGCCTGCCAGACGGCGCGCGAGGATGCTGTCCAGTTCCGCTTCGTTCGCTTCAGCAAACATCACTAC
+ATCCAGCGCGTGGTCAGAAACTTTACAGCCGTGAGCGGCGAAGTGATCCAGACGTTTAGTCAGGGCAGTT
+TGCAGGTCAGCAAAGCGGCGAATGTCGGTATCGGAAACTTCGCCCAGCTTCGCCATGTAGTCGTTAAAGG
+TCGCCTGTTCAATGTTAAAGGCTTTGTCCGGACGCCAGCTCGGCAGCACTTTAATGGTGAAAGAGCCATC
+TTTGGCGATCTCTGCGTGATGCTCCAGAGAATCGATCGGGTCATCGGTGGTGCCGACCATTTTCACGTTC
+ATCTGCTGCATGATGCCGCGTGCAGAGAAATTATCCTGCGCCAGCAATTCGTTACATTCGTTCCAGATTT
+CATCGGCAGTTGACGGAGAAAGCAATTTGCCAGTGATACCAAACGGACGACGCAGTTCGAGGTGCGTCCA
+GTGGTATAACGGGTTGCCGATAGTATGCGGAACAGTCGCCGCCCAGGCGTCAAATTTTTCACGGTCAGAC
+GCATCACCGGTGCACAGACGCTCGGCCACACCGTTGGTACGCATAGCGCGCCATTTGTAGTGATCGCCCT
+TCAACCAGATGTCATACAGGTTTTTAAAACGATAGTCTTCCGCAATCTGCTGCGGCGGCAAATGGCAATG
+GTAATCGAAAATCGGCTGGTCTTTTGCGTAGTCGTGATACAGACGGCGGGCAAATTCGGTATCTAACAGG
+AAATCTTCAGTCATAAACGGAGTCATTTTCGTCTTCCTCTCAACGAGTGAGCTAGCTTGCTTATGGTGCG
+ATGCTGACAAAGTTATCACACCAATTTCCAGAGTCCGAAGATATTTTCGTGAGTTAGATCAATAAACGTA
+GTTAAAAAAATTACTCTCAAAGTGGTAAATCTCGCTGCAGGCCGCGCCAGTACTGGCCTCGTGGTCGTCA
+GGTAATGTCCCTACAAATATTCGCACATTTGTGATGGCTCTCACCTTTTAAAGTTGTATGACAAGTTATC
+TTTCTGCCGTCGCAAATCATAAGTCGACGGAATGCAAATTGTCGATTCATTCATTTGTTAGATGAATCGG
+GTTAACCGGTACGGAAGCCGAATTAGCACGAAACTTTCATGGCAACGTTCGGGGCGTGCCGGTTTTTTTT
+CGGTTACCCGGTCGTAACTAACATCTTCAGCCTCTGGCGGGATGATGGCCGCGCTTCCTGCGGATATAAC
+AAAACGATGAGGTTTTACATGCGTAAAATTAAAGGGTTACGTTGGTATATGATCGCACTGGTGACGCTCG
+GCACCGTGCTTGGTTACCTGACGCGTAACACTGTGGCGGCAGCTGCGCCAACTCTGATGGAAGAGTTAAA
+CATCTCCACCCAACAGTATTCCTATATCATCGCAGCGTATTCTGCTGCTTATACGGTCATGCAACCGGTA
+GCGGGTTATGTACTGGATGTGCTGGGTACGAAAATCGGTTATGCAATGTTTGCTGTACTGTGGGCCGTGT
+TCTGTGGTGCAACCGCGCTGGCAGGTAGTTGGGGTGGCCTGGCGGTTGCTCGTGGTGCGGTCGGTGCCGC
+GGAAGCCGCGATGATTCCGGCGGGTCTGAAAGCCAGCTCCGAATGGTTCCCGGCGAAAGAGCGTTCCATC
+GCGGTAGGTTACTTTAACGTAGGTTCTTCGATTGGTGCGATGATTGCGCCGCCGCTGGTGGTATGGGCAA
+TCGTGATGCACAGCTGGCAGATGGCATTTATCATCTCCGGTGCGTTGAGCTTTATCTGGGCGATGGCATG
+GCTGATTTTCTACAAGCATCCGCGCGACCAGAAACATCTGACCGATGAAGAACGCGACTACATTATTAAT
+GGTCAGGAAGCCCAGCACCAGGTTGACACAGCGAAGAAAATGTCCGTTGGTCAGATCCTGCGCAACCGTC
+AGTTCTGGGGTATCGCGCTGCCGCGCTTCCTGGCAGAACCGGCATGGGGTACTTTTAACGCGTGGATCCC
+GCTGTTCATGTTTAAAGTTTACGGCTTTAACCTGAAAGAGATCGCGATGTTTGCCTGGATGCCGATGCTG
+TTTGCTGACCTCGGTTGTATCCTCGGTGGTTACCTGCCGCCGCTGTTCCAGCGTTGGTTTGGTGTGAACC
+TGATCGTTTCCCGTAAGATGGTCGTAACGCTGGGTGCTGTGCTGATGATTGGCCCGGGTATGATCGGTCT
+GTTCACCAACCCGTATGTCGCGATTATGCTGCTGTGTATCGGTGGTTTTGCTCACCAGGCACTGTCTGGC
+GCACTGATTACGCTCTCTTCTGACGTGTTCGGTCGTAACGAAGTGGCGACGGCGAACGGTTTAACCGGGA
+TGTCCGCATGGCTGGCAAGTACGCTCTTTGCTCTGGTGGTTGGTGCACTGGCTGACACCATCGGCTTTAG
+CCCGCTGTTCGCAGTACTTGCGGTATTCGACCTACTGGGGGCACTGGTTATCTGGACGGTATTGCAGAAC
+AAACCGGCGATTGAGGTGGCGCAGGAATCACATAACGATCCCGCACCGCAACATTAAGACTTAACGTAAG
+TTGTAATGACGAAGCCGCCTGTTCAGGCGGCTTCGTTGTTTAGTTGTTTCTGGTCTGCGAGGTCAATTGA
+TCGTCGGCAATGACGGGGTAAAGATGACCGACAATTTACCCATATAATATCCCGCCTGTTTTGCCGTCAC
+GTTAAATTTGTCGACCACCAGCGTCAGCGGAGTGGGAACACACATCACAGCGTAACGGATGCCTGGAAGC
+ACCACCGGGCGGACATGTTTAAGATTGATGTTGGTCCAGACCATGCTCTCATTGTTGCGCACATCAATTT
+GCCCACCTGATTCCGGGTCATACATTTTGACACGGTAATCAATACGCTCCCCTTCATCCGTTGAGCTCGC
+GCCCTGACGATAAATCGAAAACGCACCATTACTGCGTCCTGCCGCCGTTTTTCCCTCATCTTTTAGCAAA
+ATTTCATAGCTAAGACCGTTACCGTTAAAGCCATCGTACAGGCACATATCCAACATCGTCAGATCTTGCG
+CGTAGTTGTTGCCGTTAACGCTGCCTGTTGGATGCAAATCCAGTTGTACGCGTGGCGTGGCGTGGGCGAA
+CTCCGGGAAGAACACGTCGATATGGTTGGGATCGAGGGTGTTCAGGGTAATATCTGCAAAATAGTCCACT
+GAAGGGCTATTTGAGTGCAGCTTAACCTGCCCTTTCCAAACGCCGCCAATCGGCAACTTCTTCATTTCTG
+CCTGCTCAAGGTAAAGCGTAAGAAACTTCTTATCAGCATAATGTGGGGTTGAATCCCCTGATACGTAGCA
+TTTATACCGATTTGAGTCCCTGAGATCCGTTTGTGCAACGTATCCTTCACACCCTGGAATCCCGTCATCG
+ACATAAGCTTTTTTAAATCCTTTGAGCGTAATCGGCCAACGCATACCACTGCGCTGCTCCGTTAAATAAA
+TTTGTACTGTCGAGAAATTACCAGAGTCCGAGCAAGTTTGCTGGATATTGGGATATGAACATTCATACCA
+CATATACGCGTTATTCCCGGGGGATTCTTCCTCGTTCCAGAAGTAATAATCCGCTCGGCCAGCGGCCAAA
+TCATAAGTAATTTCAGCCGTCACATTTGGCGTAGCGTGCCCCCCCGCGACCATGCCAAATAAACATAAAA
+TCACGGCAATTAATCGATTTCTCATGGTGCAACCTCCCTTTGCGCCGTCTGGACGTTTCCACGTAATTTA
+GGCTGTTTCAACTGTGCCTGAACCTGAATAGATTCCGGCAATTGTGAATAACTCACCACGCTACAATTCA
+CATCCCCGCTATAGCGAATGCTGGCGCGTTTCTTCAAAACATTCAGCGGACATTTCAGGAACTGCTGCCC
+GGAAAGCAGATACAACTCTTTTTCACCACTGCTGATCTCAAGTGTAAATCCACCATCTTCAGCCACCAGT
+AACATGGCGCTATTCAGACCCACCAGCGGGAATTTCTCTACCGATGCGGGCAATAACAAACGACCGATAT
+AGTTGTAATTAAAGCTGGCAGACACCTCGCGATAACGTAATTTGCCCGGCAACAGCATTAACTCGCGATT
+TCCCGCGCCGTTAATGATGTTGGTTGTTCCTTGCTGGTTACCCTGATTACTGTCGTTAACTTCAACAAAG
+CCAGACTGAAATCCAGGATAGGGGAATAACACGCTGTCGCTTTGACCAAGCTGCAATGTTCTGCTGCCAG
+CCACCCGCGCTTCGAGTTGCAGACCCTGACTCTGTTCATCCTGTTCAGAGAAACCTTTCACATCCACCAA
+CACCGCTCCCAGCAAATCATCTGAGCCGCTGGCCCCCACATTGATGCCATAGCGACTCACCGCCAGCGTG
+GAGCTGTATGTCCCGGTGAAGGCCGAGAGATGATCATGGTTCTGGCGATCATAACTGTCTGAGACAGTAG
+CGTAGACATTTCCATATTGGCCATCCCAACGCCCGTTAACCGCGCTGTTTATGGTATCGGTGTTCAAACC
+GCCGACGGTCACGCCAAGCTCTTTATGGCTGAATGAGTCGTTATAAAAGGTATGCGATAACTGCCATGAC
+GTTTGATCGCCATCCTGATCGCTATAACGATAATCCGTAGAAACATTGGTTGAATGGCTGTTGTTATTGC
+TGTCCATCGTTGGCGTATCAGATAACGAAAACGACAAGTACAAGCCGTTGTCATCGTTATCGCCACCGTT
+GTCGTTACGATGGAAAACCCCAAGGGAAGTACTCAAAATCCAGTCACGCATCACAAAAGCGCGAGAAGCG
+CTAAGTTGTACGGTCTCGGAAATGCTTTGAGCCGAAGTCTGGCGAAGATAGTTATTTTCAAAGCTCTGCT
+GTTTGTCCCAGCGCAAACTATCATCAGTGTTATTTTGTGTGCGGGTATAACCCAGCATCATATTCCAGCC
+GACAAAATTCTGTGAAACCGTCGCGGAAATACTTTCATAACAGCTTAAGGCGTTGTAGCTCTCTCTGTTG
+TCGGTTGTACAAGCATCACCGTCAGAGTTGGTCCGATAAAAGCCCAACGTCGGCCATCCCGGATGACTCC
+AGTTGGCCTGTTGCATATCGCCTTTGCCGCCGTCATCGTTACGGAACACGCTGGCACTGATAGCCAGATT
+CCCCGCCCCGCCTAAATCCGCCGTCCAGTTATTGCCTAACTCGAAAGCACTTACATCATCGGCATTCGCC
+AGCCCTGCGTAGAGCTCATATTGCGGATGTAATGGCAGGCGTACGCCTAGCTGATAAGCAGAACTTTCAT
+CATCAGAAACCTGCGATGTGGTTTTACCTGCCTGCAAGAACCACTGGGCATTTCCGTCTGTCAGACCGCC
+GGTTTTGGTAAACGGTACAAGCTCGGTGCGGGTGAGTTGGTTATTTTCATAAACTTTTAACGCCACGCTG
+TAGCTGCCTGGCGGAAAGGAACTGGTATCAATAAATTGCGAACCACTATTGAGGTAAAACGATCCCAACA
+ATTGTTCATTACGATAAGCATCAACACGAGAATTGCGCGAAAGCAGGATCATTACCGGCGTACCCTGCTG
+GCTTTGCGTCTGGTTTAAATAACTGAGTGTCGACCCGATACGCATTCCGTCTATTGCACCGAGTGGCAGG
+AAGTTAAAAGTAAAGTTTCCACCTTGCGCATTAAATAATGTGCGGTTGTCCATCCGCCCCGCCTGCACAT
+AATAACGGCGTAAAAAATCATAGCGGTAATAGAGATCGCTGACATCGACATTGTTGTCGCTGACATCATC
+TGCATCATAACCGTCGAAATTCCAGTGCGCACCAATATAGCTATTTTCTGTTATTCCCAGTGCGCCATTA
+CCCTGAATTGACAACGATTGGTAATCATCCTGAACCAGCACATTAATATCTTGCTGATGTATAAAAGCGT
+TAACCGTATTTTTGTCTGGATTTAAATACAATGACTTCGAGTTAAACGCAGAACTCCATTGCGGATTAAG
+AAATAGCGTTGCTGAACTTTCTTCATCATTGTAGATTATTTCTACTGTCTCAGTATTAAGAATAACCGCA
+TCCTGAATCAGTACGTACAAAACCACAAGCCAGTTCACCGTGGCGAGCTAAGGGTTGCGATAGTTTTTCT
+TTCACTGTATGAGCGATTTTTTGATCGTCAGTGCTCAATTCAAGTTTGCTGTATAAACTTGATGAATCAA
+GAAAGGTTACGGTATCAAGATTAACCATCGCATAATATTTACCGAGACTTTTCCCTGCAAAATAAACCTC
+GATATACTCCTGCTGTCCCTGAGCAATAACCTCAAAACCAGCGGGAATTTTTGTTAATGTTGCCTTTGCC
+GGGCTGAGACTCGCCAGGATCAAAAGAGCCAGTAATTTTTTGTCCATGGCTGTCCTGTAATCCATAATAA
+ATACTAAAATAGTTAAAAGAAGGGAGGACTTGCCTCCCTTTATTGCATGTTAATTCTGTTATCCAGATTA
+GAGAGCCTGGGACAGATAAATGCTAACTACGCCACGGTAGATACCCGTTTCCAGAACACCTTTGGTAGCC
+TGGGAAAACATCAGTGGTTTAGCCAGCGAACCGTTAGTTAACGCATCGGAAGCAAAGATTTTCGTTGCGG
+TAAACGTGGTTGCCGCATCAGCAGCAATCACTTCACCACCCCAGGTTACGGTCAGCGGAACAATTTTGCT
+GGCGTCCACGCTCTGAACCAGTTGCGCAGGCGAAACTAACTGCATTTTCACGTCTTTGGTCGTGTCATTT
+GACCAGATTTTAGTCATTAACTGGTAAGATTGCAGACCCTGACCTGGCAGATATTGCATTTCTACTGCCT
+TCGGCAGTGCAGTATTATCGGTCTGCGTCATATCCAGAGCAGCATCAACGTTAGCAGTAACAGTGATATC
+TTTTTGTACTGCTAATGCAGAACCTGCAACGGAAAACATTGCCGCTACCAGAAGAGATTTTGCGAATACC
+TTTTTCATTACTATTCCTTGGTTTATTACAATGATAATTAATGGACCGCCAGCTCAAACTCGCCATTGTC
+CTTGGTGATCCAGTTATTATATTTGACAACGATTTTATCGTAGCCAGATATGCTTTCTAAAACTCTTTCC
+TGACCAGGGAAAATGTTTTTATTTACGGTCTGTGTTCTGCACTCCGCAGAACCACTATTTTTACAATAGG
+CAATGGTTAATATCTTCAGACGTTGATTGCCATTATTGATTAGCTTTTTATCGGCGTTAATATCTAACTT
+TGCCACAGGCTGCTGAGGTGGCACGCTGACAACAATCCCCCAAATTAAGTTAACCGTTAATTGCATGGAG
+AGATCTTTTTTATTATCTGTTGCATCATCAATGCTGGGTACAGCTTCAAATTTAACCCGATAGTTTTTTT
+CCTTTTGCTCAGGTTCCATTGCCACAAAACGTACGGTTTTGCTACTACCGCCAGGCAAAGCAAATTTGGG
+CGGCATTATCACAAGTTGGTTTGCATCGCCTGAAGTTACTTCGATTTCTTTTTCTTGTGGTGTTGATGGA
+TTATCGATACGAAATACGGTTGCCTTTATATATTGGACTTCATTCGTTTTCGATATTACACGAACACTTC
+CTTCTCCCTGACTGTTTATAGATACAGACATAGGATATACAGTCATATTAGATTGTGCGAAAAATGATGT
+GCACAGAAGTAAGACAGGCCCGAGCCGTAATAATCGATTAATTTTCGCCACCATTTAATCAGTTTAAATT
+ATTTCATAAAAAGTTGGCGCATTAGAAATCATACTATTTTTCAAGTCAACACAAAAAAGCATCTTTAGAT
+AAAATTATTTATTCTCAAAAAAATACAACCTACTGAAAAATATGTTTTTTCACAATTCAACATAATCAAT
+TTTAGGAATATATTAATATTCATAACATCAATAAATAATATTATTTCAATCATTCGATTTATATTTTAAC
+AATGGCATACGCATGCATAAAGTGGTATGATAACTTTGTCCGCATTCCACTCCTGGAGACGCATATGGAA
+ATCACTGAACCACGCCGTTTGTATCAACAACTTGCCGCTGATCTGAAAGAGCGCATCGAACAGGGCGTCT
+ATCTGGTAGGTGATAAACTGCCTGCCGAACGCTTTATTGCCGATGAAAAAAACGTCAGCCGCACCGTGGT
+TCGTGAAGCCATCATCATGCTGGAAGTTGAAGGCTATGTCGAAGTGCGTAAAGGTTCAGGTATTCATGTG
+GTTTCCAACCAGCCGCGCCATCAGCAATCGGCTGACAATAATATGGAGTTTGCCAATTACGGTCCGTTTG
+AGCTACTGCAAGCCCGCCAGCTCATCGAAAGTAATATTGCCGAGTTCGCGGCAACTCAGGTAACGAAACA
+GGACATCATGAAATTGATGGCCATCCAGGAGCAGGCGCGCGGCGAACAATGCTTCCGTGATTCCGAGTGG
+GATTTGCAGTTCCATATTCAGGTAGCCCTGGCGACGCAGAACTCCGCCCTGGCGGCTATCGTTGAAAAAA
+TGTGGACCCAGCGTAGTCATAATCCGTACTGGAAAAAACTGCACGAACACATTGATGCCCGTACCGTCGA
+TAACTGGTGTGATGACCACGATCAAATCCTCAAGGCGCTGATTCGCAAAGATCCTCATGCTGCTAAGCTG
+GCAATGTGGCAGCACCTGGAAAACACCAAGATCATGTTATTTAACGAAACCAGCGACGATTTCGAGTTCA
+ATGCCGACCGCTATCTGTTCGCCGAAAACCCGGTGGTGCATCTCGATACAGCCACCAGCGGCAGTAAATG
+AAATTCCTGTCCGACAGGCGCTACAGTGCGCCTGTTTGTCTCGTCGGTAAGCGAAAAGTATAAAGTGTCA
+GCCTGTGTAAATCCTCTCGCCTCCCTCCCCTGCATTCAGCAAAATCAGACTCCACGGACATGTAATTTTG
+ATAACGAACAACGTTGACCTTTGTTACAATTAGATTCAATTTGAATTTATGCTTTTGAATGCTTTCTTAT
+CTCACGATTTAACAGGGAATAGTTCAGGCTGTGTTGATGTATCAAACCCGCAGAACATACCAAGACAGCA
+ATAACATTGCGGTAGTGCATCATTTAAAACCAGCGTGGCGTTAACCGATTCACCAGGAATAATGAATGGA
+ACTTTTGACCCAATTGCTGCAAGCCCTGTGGGCGCAGGATTTTGAAACCCTGGCCAATCCGTCGATGATT
+GGCATGTTGTATTTTGTCTTGTTTGTCATTTTGTTCCTTGAAAACGGCTTGCTTCCGGCGGCCTTTTTAC
+CGGGCGACAGTTTACTGGTACTGGTCGGCGTATTGATTGCGAAAGGCGCGATGGGCTATCCGCAAACGAT
+TCTGCTGCTGACCGTTGCCGCCAGCCTCGGCTGCTGGGTCAGCTATATTCAGGGGCGATGGCTGGGCAAT
+ACCCGCACCGTACAAAACTGGCTATCTCATTTACCCGCGCATTATCATCAACGCGCACACCATCTTTTTC
+ATAAACACGGTTTATCGGCGCTGTTAATTGGTCGCTTTATTGCGTTTGTCAGAACACTGCTGCCGACGAT
+TGCCGGGTTATCAGGGCTGAATAACGCGCGCTTTCAGTTCTTCAACTGGATGAGTGGTCTGCTGTGGGTA
+TTGATCCTGACAACTCTGGGTTACATGCTCGGCAAAACGCCGGTATTTTTAAAGTACGAGGACCAGCTGA
+TGTCATGCCTGATGCTGCTCCCGGTGGTGCTGCTGGTGTTTGGCCTGGCAGGTTCTCTGGTTGTGTTATG
+GAAAAAGAAATATGGAAATCGGGGGTAAGGGATGCAAATACCTCGCATGTCACTTCGCCAGCTAGCCTGG
+TCCGGCGCTGTTTTACTTCTGGTCGGCACGCTGTTGCTGGCCTGGTCCGCGGTTCGCCAGCAAGAGTCTA
+CGCTGGCGATTCGTGCCGTTCATCAAGGCACAACGATGCCAGACGGTTTTTCAATCTGGCATCACCTTGA
+CGCTCACGGCATTCCTTTCAAAAGTATCACCCCCAAAAACGACACTCTGTTAATTACCTTTGACTCCAGC
+GACCAGAGCGCCGCCGCAAAAGCGGTCCTCGACAGAACATTGCCCCATGGCTACATCATTGCGCAGCAGG
+ACAATAATAGTCAGGCAATGCAGTGGCTGACCCGGTTGCGGGATAACTCTCATCGCTTCGGATAACTTCC
+TGTTATCCGAAACAGATCACTCACTTTGGTGATTTCACCGTAACTGTCTATGATTAATGGGGCGGTGGTT
+AACACGACCGCTTCGTTGTCTGGACAATCGTTCCTTTGTAATAGGTCCGAATCACAATGGAAGGTTCAAG
+AATGAAATACCGCATCGCTTTAGCTGTTTCTCTCTTTGCTCTTAGTGCCGGTAGTTATGCCACTACCCTG
+TGTCAGGAAAAGGAGCAAAATATCCTTAAGGAGATCAGCTATGCCGAAAAACACCAAAACCAGAATCGTA
+TTGACGGTCTGAATAAAGCCCTGAGTGAAGTCCGGGCCAACTGTTCAGATAGCCAGCTGCGTGCCGATCA
+TCAGAAGAAAATCGCAAAGCAGAAAGATGAGGTGGCGGAACGCCAGCAAGATTTAGCCGAGGCGAAGCAA
+AAAGGCGATGCAGATAAGATTGCCAAACGCGAACGGAAACTGGCAGAAGCGCAGGAAGAGCTGAAAAAGC
+TGAAAGCGCGCGACTACTAACTCACAATAGTCACTACTTACTCACCTGGAGAAAACTATGTCGAAAGAAC
+ACACTACGGAACATCTGCGTGCTGAGTTGAAATCCCTTTCCGATACGCTGGAAGAGGTGCTTAGCTCATC
+TGGCGAGAAGTCAAAAGAAGAGTTGAGTAAGATTCGTAACAAAGCGGAGCAGGCACTGAAACAGAGCCGT
+TATCGCCTGGGTGAAACCGGTGATGCCATTGCCAAACAAACCCGTGTCGCGGCGGCGCGTGCCGATGAGT
+ATGTGCGTGAAAATCCGTGGACGGGCGTGGGCATTGGCGCAGCAATCGGTGTAGTGCTCGGCGTTCTGCT
+GTCGCGTCGTTAATTATGGCGGACACTCATCACGCGCAAGGGCCCGGTAAAAGCGTTCTGGGCATCGGGC
+AGCGAATTGTTTCCATCATGGTTGAAATGGTGGAGACACGTCTGCGGCTGGCGGTGGTGGAGCTGGAAGA
+GGAAAAAGCGAATCTCTTTCAACTTTTACTGATGCTGGGCCTGACGATGCTTTTCGCTGCATTTGGTCTT
+ATGAGCCTGATGGTGCTAATTATCTGGGCGGTTGATCCGCAATATCGCCTGAATGCGATGATTGCCACCA
+CCGTGGTGTTGCTGCTACTGGCACTGATTGGCGGCATCTGGACGTTACGTAAATCGCGTAAGTCTACGTT
+GCTGCGCCACACGCGCCATGAGCTGGCAAACGATCGGCAGCTGCTCGAGGAGGAGTCCCGTGAGCAGTAA
+AGTCGAACGTGAACGACGTAAGGCGCAACTGCTTAGCCAGATCCAGCAACAACGGCTGGATCTTTCCGCC
+AGTCGTCGTGAATGGCTGGAGGCAACAGGCGCTTACGATCGTCGCTGGAATATGCTGTTGAGTCTGCGCT
+CCTGGGCGCTGGTTGGCAGTAGCGTGATGGCTATCTGGACGATTCGCCATCCTAATATGCTGGTCCGCTG
+GGCCAGACGCGGTTTTGGTGTATGGAGCGCCTGGCGTCTGGTGAAAACAACCCTCAAGCAACAACAGCTT
+CGCGGTTAACTTCCTCTCTGGCCGGAGAAATTCCGGCCTTATCCCTCAAATTTTTTGAAAATATTTGACA
+GTTTTCCTTGCTAACAATCACGCTTCGTCACGTTTATGATTCTCTCCATCGACAGCAACGACGCTAATAG
+CGCGCCCTTGCACAAAAAAACAATCAGCAGCCTAAGCGGCGCAGTGGAGAGTATGATGAAAAAATTAGAA
+GATGTTGGTGTACTGGTAGCGCGTATTTTAATGCCGATTCTGTTTATTACGGCAGGCTGGGGAAAAATTA
+CTGGCTACGCGGGTACCCAACAATATATGGAAGCAATGGGCGTCCCCGGCTTTATGCTGCCGCTGGTGAT
+TCTGCTTGAGTTTGGTGGTGGTCTGGCAATCCTGTTCGGTTTCCTGACACGTACCATAGCCCTGTTTACT
+GCGGGCTTTACGCTGCTGACGGCATTTTTATTTCACAGCAACTTTGCAGAAGGCATGAACTCGCTGATGT
+TTATGAAAAACCTGACGATTTCTGGCGGATTCCTGCTGCTGGCAATTACCGGTCCAGGCGCATTCAGCAT
+CGACCGCCTGCTGAATAAAAAGTGGTAAGCACGCGCTATACTTAACGATAAAAAACGAGGGGGAAGCTCC
+TCGTTTTTGCTATTGGAGGATAGAAAAATGGGTCAACTGATTGACGGCGTCTGGCATGACACCTGGTACG
+ATACCAAATCCACCGGCGGTAAATTTCAACGTTCAGCTTCCGCATTTCGTAACTGGCTCACTGCCGATGG
+CGCGCCAGGCCCCACTGGCAAAGGCGGTTTTGCCGCAGAGAAAGATCGTTATCATCTCTATGTTTCACTC
+GCCTGCCCGTGGGCACACCGCACGCTGATCATGCGTAAGCTCAAAGGACTGGAACCGTTTATTTCCGTTT
+CCGTAGTGAACCCGCTGATGCTGGAAAACGGCTGGACCTTTGATGACAGTTTTCCGGGAGCAACCGGCGA
+CACGCTCTATCAACATGAATTTCTGTATCAGCTTTATCTCCACGCCGATCCACACTACAGCGGACGAGTG
+ACTGTTCCCGTGCTGTGGGACAAAAAAAACCACACCATCGTCAGCAACGAATCAGCAGAAATCATACGCA
+TGTTCAATACCGCGTTTGATGCGCTGGGTGCGAAAGCTGGAGATTACTACCCACCAGCCCTGCAACCGAA
+AATTGACGAACTTAACGGCTGGATTTACGACACCGTTAACAATGGCGTGTATAAAGCCGGTTTTGCCACC
+AGCCAGCAAGCCTACGACGAGGCGGTGGCGAAAGTGTTTGAATCGCTGGCGCGACTGGAACAGATTTTAG
+GTCAGCACCGTTACCTGACCGGCAACCAGCTAACCGAAGCCGATATTCGCCTGTGGACCACGCTGGTGCG
+TTTTGATCCAGTGTATGTGACCCACTTCAAGTGTGATAAGCACCGCATCAGCGATTACCTGAATCTGTAT
+GGCTTCCTGCGCGATATCTACCAGATGCCGGGAATTGCCGAAACAGTCAATTTCGATCACATCCGTAATC
+ATTACTTCCGCAGCCATAAGACCATCAACCCTACGGGGATTATTTCAATTGGTCCGTGGCAGGATCTCGA
+TGAACCGCATGGACGAGATGTTCGCTTCGGTTAAAAAAAGGCACCTTACGAGGTGCCTCTGATAATTAGC
+TAAGTACGTGTTGTTCATATCGGATGCGGCGTAAACGCCTTATCAAACCTACAAAACATTTATATTCAAT
+ATGTTGCAATGACCGCGCAGGCCAGATAAGCGTAGCGCATCTGGCAATTTTGCGCTTGCCCTTATCCTTC
+ACAGCGCCTTATTAATTCATCGCGATAATATTTACTGCCATTTCATTCACGTCTATTCTTAATTTGCTGC
+TTTAAAAACAAGTGATTGAGCAAAATTGAGGCAAAAATGGACTGGTATCTGAAAGTACTAAAAAATTATG
+TCGGTTTCCGGGGTCGTGCGCGGCGCAAAGAGTACTGGATGTTTATTCTGGTCAACATCATCTTTACGTT
+CGTGCTGGGGCTACTGGATAAAATGTTAGGCTGGCAACGTGCCGGTGGCGAAGGCATCCTGACGACAATC
+TACGGTATTCTGGTGTTTTTACCATGGTGGGCAGTTCAGTTCCGCCGCCTGCACGACACCGACCGCTCGG
+CGTGGTGGGCACTGCTATTCTTAATCCCGTTCATCGGCTGGCTTATTATCATCGTCTTTAACTGCCAGGC
+GGGTACGCCAGGCGAAAACCGCTTTGGACCAGATCCGAAACTGGAACAAGAATAATAATTAAGCACCTTG
+TAAAAGGTGCTTAATCGATTATTTTCCGCTAAAAAGTTTGGGAATTTCCCGCAGACACCAGGATTTCGCC
+TCCCCCATACTGTCACGACGCCAGGCCATAATAATATCGATCTCGCTGGTCGATTCCGGGCTGACGACAC
+GCAACCGCCCTTCCGCAATATCTTTTTCGACCATCGGATACGGCATCGTCGCCACGCCAAGCCCCGCCAG
+TAATGCCTGACGTTTATCTTCAATTGTGCTCACCGTTAAGCGCGGCTGTTTGTCCAGCAACTGTACGGTC
+AACACCGGGCGCTCACGAGCGGTATCCGCCACCGCAATTCCACGATATTTCACGCGCGTCACTTCAGATA
+ACGGTTCCGGCTCCTGATGAATCGGGTGATCCGGCGCGGCAACATAGACGTTCATTAAGGTATAGAGTTT
+GCGCGAGTTGATCTCCGACGAGGAACGAAAATGCATATCCGGCGCGATAACGATATCCGCCCGCCCCTGC
+TCCAGCCGTTCCCACGCCCCCGCCAGCACTTCGGTGATGATTGCCAGTTGGGTATTGGCTTTTGCCGCCA
+GTTTGTCGATTAACGGGAAAAAGGCAGGTGTCGGTACCAGCGCCTCGGTCACAATGGTGAGATGCGTTTC
+CCAACCACGCGCGAGGGCTTCCGCATCGGTAGTCAGTTTATCTGCGGCTTCCAGCAAAACGCGCCCTCGT
+TCCAGCAACATCCTCCCGACATTGGTGAATTTGGTGCGATGGCCCGAGCGGTCAAACAGCACCACATCCA
+GCTCTTCTTCCAGTTTTTGCATGGTGTAGCTAAGTGCGGAAGGCACGCGTCCCAGCTCATCCGCCGCCGC
+CGCAAAACTGCCCCGGCGATCGATCGCATCCATAACCCGTAGTGCTTCCAGCGTTAATGCCCTTTCTTTG
+GCCATTTCGTTCTCATTCAGGAAATTTGAACATACCGGGCAGAATATCTGGCTAACAATGTAGCGTCCAG
+CCCCTTACCATAAAAGGAAGTAAAGAGAGGTCAAGAATTATGATTACTACCCGAACTGCCAGGCAGTGTG
+GACAAGCAGACTACGGATGGTTGCAGGCCCGGTATACTTTTTCCTTTGGACACTACTTCGACCCGAAATT
+GTTAGGCTATGCCTCCCTGCGCGTGCTTAACCAGGAAGTGCTGGCCCCAGGTGCCGCCTTTCAGCCGCGA
+ACCTATCCCAAAGTCGATATTTTAAATGTGATTCTGGATGGAGAAGCTGAGTATCGCGACAGCGAAGGCA
+ATCATGTTCAGGCCAGCGCCGGTGAGGTGTTGCTGCTCTCTACCCAGCCGGGTGTCAGCTATAGCGAACA
+CAATCTCAGCAAAGACAAACCGTTAACGCGAATGCAGCTTTGGCTGGATGCCTGCCCGCAGCGAGAGAAT
+CCGCTGATTCAAAAGCTGGCGCTTAATATGAGCAAGCAGCAATTAATCGCCTCGCCAGAAGGTGGGATGG
+GAAGCCTGCAATTGCGCCAGCAAGTGTGGCTGCACCATATCGTGCTCGACAAAAGCGAAAGTGCGAATTT
+CCAGTTGCATGGGCCACGCGCGTATTTGCAATCGATTCACGGGAAATTTCATGCGCTTACGCATCATAAA
+GAGAAAGCGGCACTAACCTGCGGTGATGGGGCGTTTATTCGTGACGAGGCTAACATTACGCTGGTTGCCG
+ATTCCCCACTGCGCGCTTTGCTGATAGATTTGCCTGTCTAGTTGTTTTTACAGGGAGATGATGATGAGTA
+AAAAATCGGCCAAAAAGCGCCAGCCAGTGAAGCCCGTGGTGGCGAAAGAACCTGCTCGTACCGCCAAAAA
+TTTTGGCTATGAAGAGATGTTGAGCGAGCTGGAAGCCATCGTCGCGGATGCTGAAACGCGTTTAGCCGAA
+GATGAAGCTACCGCGTAAAGACAAGTTGCCGGATGCGGCGTAAACGCCTTATCCGGCACAATACCCAAAA
+CCTGGCGTTTATCTGGCCTTGCTCGCCATAATCTCGATAATCTGCCGATCCGTTTGCTGCATCGAATGGC
+TTGCTAACGCACACAGGTTGGCAATCGACTGCTCAACATCATGCGCCACAATCCCTTCATTACCGGTTAC
+GGCGGTATCATCCAGCGCCATTAACACCGCTTTCCACGCAGCCGAAGCACTGGTCGAAACCTTCATCGCG
+CAGCTGTTCGATGCACCATCGCAAATCATGCCACTGACATCGCCGATCATACTGCTGATCGCCATCGAGA
+TGGTTTCATAACGCCCATCCACCAGCCATGCCATCCCGGCAGCGGCCCCCATTGCTGCGGTCGTTGCGGC
+ACACAGCGCAGACAAACGCGGTAACTGGTTATGGATGTAAATCGCGCTCAAATGCGAAAGCATCAGCGCA
+CGCGCCAGCCGTTCATCATCCGCTCCGAAGTGTTCTGCTACCACCACCACGGGCATTGTTGCGGTGATCC
+CCTGGTTACCCGAGCCGGAGTTACTCATTGCCGGAAGCGTAGCGCCGCCCATACGCGCATCGGATGCCGC
+GCTGGTACGAATCACAATGGATGAAGAGAGATCTTTCGCCAGCAAACCGCGCGCGCACTGTTTTTCCAGC
+GTCGCACCAATATGCAGCCCCCAGTTACCGCTCAAACCTTCCTGCGATAACGCACAATTTAACTTCGCAG
+AATCGAGAATAAAGCGGATCGCCGCAAACGGGACTTCATTGACGAACTTCAGGATCTCAGCCAGCGTCGT
+CCTGGAAAGCACCGTCAGCGGCGACTCTTGCTCGCCCTCTGTCACACACGCCTGCTGGGTAAACACCACA
+CCATTGTGCGTCTCAATATGCACAATGTTGGTATGCCCGCCGACGATGGTGACACACGCCCACTTCTCAC
+CGTTCCAGACTTTGGCGCGTGAGAAGAGGATTTCATCGCAAGGTTCCTGGATCTTAACTGAGACTTTCCC
+CGCCGCCAGCAGTGCTTTGGCATCGGAAATTGCCTGCGCAGTTGCGTCTTTCAGCACTTCCAGCCCGGCG
+TTAGCATTTCCACCTAACGCTCCCAGCGCCGCCGCAATTGGCAGCCCCACCATTCCTGTACCAGGAACGG
+TGACACCCAGACCGTTCTTCATCAGATTTGGCGAAACCCAGGCTTCTACACGTTCAACCGGACCTTCCAG
+TTCAGCCGCAGCAACCGCCGCCGCCAGCGCCAGTGAAATCGGTTCAGTACACCCCAGCGCCGGTTTTACT
+TCCTCCTGAACGGCGAGGATGTAACGCTGCCATAACGGATTTAAAGTCGAATCAAACATATTAAAAACCT
+TAAAATTTCAGGTAAATCAAGAAAATGCCAGGAACGGAGAAACACAAAGCAACAAACCAGTGACGATAAT
+CAGGTACAGAGACATCCCTTTGTATTTGTGCAATGCCGGTACTTTGTAAACCAGCCACGCCGGGATCAGG
+CACCCTACCATGCCGAAAATCGGGCTACAGATAGAGGTGAAGCTCAACACCGGGGCGTTCAGTACGATGG
+CGCTCCAGGCCAGCAAAATGGCGAAAATCATTATGCCGCGCTGAACGAGATTTTCGTTAATCTTCTCGGC
+AGGTATCTTGCGACGCAGGATGTTCATTACGATCCCTTGCGTTGCTTCGCGAAAGCCTAAATAGACGCCA
+AAGAATGCAGTCATTACAGCAAAGATATTGAGAATAACGCTGACCACTTTCACCCACGCTGCGCCGTCAC
+CGCTAATAAACTGTGCGGCAATCGCCAGCGCGGAAATATTCTGCTCGTAGGCTTTTACCGCTTCGTCATG
+TCCCATCGCCAGCGTGAATGACACGGCGTAGAAAAAGACGGTGACAAACAAAATGCCAAACGCGATATTC
+ATTGCCCGCAATGCTTTATGCCGCGCCACTTCAATTGATTTTTCCCGCGAACGATAAGAGATCACCATCG
+GGCTTAACGTCTGGATAAACAGAATCGACGTCAGGGTAAACGGCAGCGTAATAATGGCGTTTTTCACCAG
+CAGCCCCAGCGGCGGTAGCGAACCGACGTTATACAGATGCCACATTCCCACCATCGACACGCCCAGCGCC
+GCGACCACCAGCAGCTTGGTCAGCACCATGCCGGTCGAAATTTTGAATAACAATTTCTCGCCGCGTGAGG
+AGATCGCCACCAGAATGCAAATCAGTACCAGACCATAAAAGGGACTGTCTGACAGCAACCCTTCCGTCAC
+GCCGAAGGTATGCAGGTAGGAAGCACTATCGTTGGTGATGGCGGTGGAATAGACGAACATCCAAATCACC
+AGCATTACGAAATAGAGTGCACCTAACAGGATGCCCCAGTTTTTACCTAAATAACCGCTGATGACGCTCG
+GGTAATCTTTACACTCCGGTGATTCTGCCAGCGTATTAATAAACAACCGCTGAAACAGATACATTGCCGG
+GTAACCAATCACCGATGAGAGCAAAAATACCCACAATCCCATCAAACCGACCTGCACCGGGAGAAAAACA
+ATCCCCGCGCCAATCGCCATCCCGATACTCATAATCACCCAGCCGGTGTCAGTACTGTCGAATTTGATCG
+CTTCTCGCCACTCGCTCTCACTCATTCCAGCACGACCCGCCGGGGTCGAAGCGTCTGCAATGACGCCTTT
+ATTCGATGCAATTTCCATAATTTCTCGCTCAATATTTTGTAGGGCTTATTATTTTTTTCCGAGCCGCATC
+AAGGCGATATGCGGTCTACGTTTTTGCAGGCGAGTTATTAGAATAAAGAAATGATACGCGTGAGATCAGA
+GAAAATCTTCACAATCAAGACTTTTAAATAGCAATTGTGGGTAATAATTTTCTATTAAATTGAGTTAATA
+GAAATAATTATTCTCTATTTGCGGCAGATCACAATAAAAAAGGGTGCACATTTTGTGCACCCAAGAATGA
+TAGCTGACAGCAATGTCAGCCGCAGACCACTTTAATAGCCAGTCCTCCGCGTGATGTTTCGCGGTATTTA
+TCGTTCATATCTTTGCCGGTTTCATACATCGTCTCGATCACTTTATCGAGTGAAACACGCGGTGCCGAGG
+TGCGGCGCATCGCCATCCGCGCGGCGTTTACTGCTTTCACGGCATTAATGGCATTACGTTCAATGCACGG
+GATTTGTACCTGTCCGGCAACCGGATCGCAGGTCAGCCCAAGGTTATGCTCCATCGCGATTTCCGCCGCA
+TTGCATACCTGCGCCGGACTGCCGCCCAGTAGTTCAGTTAACCCTGCCGCCGCCATTGAACAGGCCACGC
+CAATCTCCCCCTGACAGCCGACTTCCGCGCCAGAGATGGAGGCGTTCATTTTATACAGCGCGCCAATTGC
+CCCGGCTGCCAGAAAATAGCGGGCAATTGACCGCTCATTTACCGGACGACGGAACTTATCGTAATAAGCC
+AGCACTGCCGGAATAATGCCGCACGCACCGTTAGTCGGTGCCGTTACCACGCGCCCGCCAGCTGCGTTTT
+CTTCACTAACCGCCAGCGCGTACATGTTGATCCAGTCGATGACATTCATCGGATCGTTAGAGATGTTATC
+GCTGGAAACCAGTTGACGACGCAGCGCTACGGCACGGCGCGGCACATTGAGCGGACCAGGCAGCACGCCT
+TCAGTATTCATTCCACGTTCAATACCGTCATGCATCACTTGCCAGATACGGGCAAACCCTGCGTCAATTT
+CCGCTTTACTGCGCAGCGCCAGCTCGTTGTGCATCATCAGGCCAGATATAGACAGGCCGTTGTAATCACA
+CATTTTCAGCAGTTCACCTGCTGAGTGGAAATCGTAAGGTACGGGTGTTTCGACATCGTGCGACAGGCCG
+AAGTGTTCTTCTTCGACAATAAACCCGCCGCCGACAGAGTAATAGGTTTTGCTTAATAGCTCTTCCTGTC
+CCTTCCAGGCAGTGATCCGCATTCCGTTCTCATGGCGAGGCAACATTTCGGGATGGAAGATAATGTTCTT
+TGCTACAGGAAAATCAACAATATGCGCGCCAGAAGCCACCGGCAACCGCCCGGTGCGCGTCACTAACTCT
+ATAAATGCAGGGATCTCATCAATGACAACATCCTGCGGACTGTTTCCTGCCAGTCCCATGATGATGGCGA
+CATCCGTGGCATGGCCTTTGCCCGTCAGTGACAACGACCCGTACAGATCGACCACAATATGGCTCGTCGC
+GGTTAATAAGCCGCTACTTTCCAGCCGATCAATAAAACTTTTTCCGGCATTCATTGGCCCCACTGTATGC
+GAACTGGAGGGACCAATCCCAATTTTGAAAATATCGAATGCACTAATCATATCCACACCCTCGGATTGCC
+GTTCAGTGAAGTGGAGCGGAACGACCTAGCGACCGTCCCGCTCACGAGGCCTTACGCACTACGTACTGCG
+ATGGCTTCAATTTCCAACTTCACATCTTTCGGCAAACGCGCGACCTGCACACAGCTCCGGGTCGGGTAGG
+TCGCCTGATGTTCATCGAAGAACTGCTTATAGACTTCATTGATGGTGGCAAAATCATTCAGATCGGTGAT
+GAACACGGTCATCTTGATGATATCGCCCACACTCAGCCCGGCAGCAACCACGATCGCTTTGACGTTTTCG
+AGGCTTAAACGCGCCTGATCTTGCACATCAGCCGGGATCTCACCGGTCTGTGGGCAAACCGGAATTTGCC
+CGGAGGTGAAGACCATGCTGCCTAAATCAACGCCCTGAACATAAGGGCCGATTGCGCCTGGGGCACGTTG
+CGTTTCGATAATCTTTTTCATACATCCTCCGGCGTCAGAGCGCCTGGGTAAAGGTACGTGAAATAACATC
+CTGTTGCTGTTCACGGGTCAGTGCGTTGAAGCGCACGGCGTAGCCAGAGACACGGATTGTCAGGTTAGGA
+TATTTTTCCGGGTGCTCGATGGCATCCAGCAGCATTTCCCGATTCATTACGTTGACGTTGAGGTGTTGAC
+CGCCTTCGACATCCGCTTCGTGGTGGAAATACCCATCCAGCAGGCCGACAAGGTTCGTTTTACGTATCGG
+ATCTTCTTTGCCCAGCGCCGCAGGGACGATGGAGAAGGTGTACGAGATCCCATCTTTGGCGTAGGTGAAT
+GGCAGTTTCGCCACCGACGTCAATGAGGCTACGGCGCCTTTGCGATCACGACCGTGCATCGGGTTAGCGC
+CCGGCGCGAACGGTGTTCCGGCGCGGCGACCGTCCGGCGTGTTCCCGGTTTTCTGACCGTACACCACGTT
+AGAGGTGATAGTCAGAATCGATTGGGTCGGCACAGCATTGCGATAGGTTGGCAAAGCTTTAATTTTCTTC
+ATAAAGCGTTCAACCAGATCGCAGGCAATGCTGTCTACGCGCTCGTCGTTGTTGCCATACTGCGGATATT
+CGCCGTCAATCTCGAAATCCACCGCCAGGCCGTTTTCATCACGGATTGGTTTCACACGAGCATATTTGAT
+GGCAGACAGGGAGTCCGTTGCCACCGACAGGCCCGCGATGCCGCACGCCATGGTGCGATAGACATCACGA
+TCATGTAGCGCCATCAGCGAAGCTTCGTAGCTGTACTTGTCGTGCATGTAGTGAATGATATTCAGCGCGC
+TGATGTACTGTACCGCCAGCCAGTCCATGAAGTGGTCGAGGCTATCCATCACTTTGTCGTAGTCCAGCAC
+GTCATCCATCAACGGAGCCGTTTTCGGGCCAACCTGAATCTTCAGCTTCTCGTCCATTCCGCCGTTGATT
+GCGTACAGTAGCGTTTTCGCCAGGTTAGCGCGTGCTCCAAAGAACTGCATTTGCTTACCAATCACCATTG
+GGCTGACGCAACAGGCAATCGCGTAATCGTCGCTATTGAAGTCAGTACGCATCAGATCGTCGTTTTCATA
+CTGCAAAGAGGATGTGACGATAGACACCTGCGCGGCATATTTTTTGAAGGCAATCGGCAAGGCTTCCGAC
+CACAGAATAGTCAGGTTAGGTTCCGGTGCAGGCCCCATAGTGTGCAGGGTGTGCAAATAGCGGAAGGAGT
+TTTTGGTCACCAGGGTTCGACCGTCCAGCCCCATCCCGCCGATCACTTCCGTCGCCCAGATCGGGTCGCC
+GGAGAACAGCGAATCAAATTCCGGCGTACGCAAGAAGCGCACCATACGGATCTTCATGATGAAGTGGTCG
+ATCAGTTCCTGTGCCTGCTGCTCATTGAGTACGCCTGCTTTAAAGTCGCGCTCAATGTAGATATCGAGGA
+ACGATGCCGTGCGCCCCAGCGACATCGCGCCGCCGTTTTGCGATTTCACTGCCGCCAGGTAAGCGAAGTA
+GAGCCACTGCACGGCTTCTTGTGCATTCTGCGCCGGACGGGAGATATCAAAACCGTATTTCGCCGCCATT
+TCCTGAATCTGCAACAGCGCACGACGATGTTCCGCCAGCTCCTCACGCAGACGGATCGTAGCTTCGAGAT
+CTTCGCCTTTTTCCAGACGGGACTGGAGATCGGCAAACTGCAGTTCGCGTTCACGTACCAGATAACTGAT
+GCCGTAAAGCGCCACGCGGCGGTAGTCACCGATGATACGCCCACGACCATAACCATCTGGTAAACCGGTC
+AGTACACCAGATTTACGGCAGCGCAGCATATCCGGTGAGTAAACATCAAATACGCCCTGGTTATGGGTTT
+TACGCAGATCGGTAAAGATGTATTCAAATTCGCTATCCATTTCACGACCATACGCGTGGAATGAACTTCT
+AATCATATTAATGCCGCCGAACGGATGCAGTGCACGCTTTAATGGCGCATCCGTTTGCAGACCCACTATT
+CTTTCCAGCGGCTGGTCAATATATCCTGCATCATGAGCGGTAATTGTGGTGGCAATATTGGTATCGAAAT
+CCAATGGCGCGTGAGTCGCATTTTCGATACGGATGCCTTCCATGACTTTTTCCCACAATTCCGTGGTGGC
+AGGCGTCGCTTCGGCGAGAAAAGATTCATCGCCTTCATAAGGAGTATAGTTATGTTGAATAAAATCGCGG
+ACATTAATTTCGTTTTTCCAGTCCGTACCTTTAAAGCCAAGCCATGCGTCGGCGTACAGCTTATCGCTGG
+TATCAATATCTACCTTCATGAAAAATAATCTCTCTACAATACTTCAACTAAATTATGCAAATTCTGCGGG
+CGCGTTCACTTTGCCTAAATGAATGGCATCCAAAGCAATCATTTTTTCTTCGTTAGTCGGAATTACGGCG
+CAAATGACACGCGCATTTTCACTGGAAACAATTCGCTCTCCAAAAGAGTTAGAGCGATTATTCATTTCTG
+TATCAATCTCTACGCCTAATACAGCTAAATGTTCCATGACCAGACGACGAATTAAACTTGAATTCTCTCC
+TATTCCGCCGGTGAATATAATTCCATCCAGGCGATGTAATGAAGCAGCGTGTCCGGCAATATGACGGGCA
+ATTCGGTGAACAAAGGTTTTAATTGCCAGTTGCGCGCGTTCGTGACCTTCATGCCAGGCTTTTTCCAGAA
+CACGTAAATCCGAAGAAAGGCCGGAAATACCTAATAATCCCGACTCTTTATTCACTACGCGTTCCAGGTC
+CCCCAGGCTCTGGTTGGTTTGGCTGGCGACCCAGGACATCGCCCCGAAGTCGACATCACCACTGCGGGTA
+CCCATCATCAAGCCTTCCAGCGGCGTCATTCCCATGGAAGTGTCAACACTCTGACCGTTGCGAACCGCGC
+AGATTGACGCGCCATTGCCAAGATGCGCCACAACCAGGCCGGAGTCATCTTCCGCCAGATTCAGCAGAGA
+ATGCGCGCGCTGGGAAACATAGCGGTGCGACGTGCCGTGGAAACCATAACGGCGTACACCTAACTCTTCA
+TAATATTTCCACGGCAGGCCGTATAAATAAGCTTCCGGAGCCATCGTCTGGTGGAAACTGGTATCAAATA
+CCGCCACCTGAGTTACGCCCGGGAATAATTGCTGCGCCGATTCAATACCACTTAAATTGGCGTAATTATG
+CAGGGGTGCCAGTGGAGAAACGCGACGGATATTATCAATGACTTCATCGGTAATAATGGCGGACTCGGTA
+AAAATACTGCCGCCGTGAGCGATGCGGTGGCCAATTAAGGCCACATTGTCATTTAAATTACGTTTTTCCA
+GTTCAAATGCAATTGCCTTCAATGCACCTTCGTAGCTGTGGTGAGCCAGCGGTGCTGGCTCTCCCCCATT
+TACGGATAAGAATGCATTTTCCGAGTTAATACCGTCGGCAATACCTGACATTAATACTTCACAGTCGCTG
+GCATTGAGTACGGAAAACTTAATCGAAGACGAACCACAGTTAATAACCAAAACAACCGGAAATTCATTCA
+TCTCTTTTCTCATCCTGAGTTACGGATTAAAACAGTTTGTATACGATGTTCAGGATGGTCAGCAGACCAA
+TCACGGTAACAAACACGTTATCCAGACGACCACGGTATTTCGCCAGAGACGGCGCTTTACGGATGGCATA
+CATCGGCAACAGGCACAGCAGTGATGCGATAATCGGTGCGCCCATGGCTTCAATCAGGTCGAGGATGTTC
+GGGTTGGCGTAGGCAACAACCCAGGTGGAGCCCATAATGAAAATCATGCTGATAGTATTCAGTTTACCCA
+GCGACACTTTGGTTTTGTCACCTTTATAACCGAACTTCAGAATCAAACCATTCAGCCCTTCCAGCGTCCC
+CAGATAGTGACCGAAGAAAGATTTGAAAATAGCCACGAGTGCGATGATGGAAGCGGCATATTCCAGTGTA
+ATCGCAAACGTTGTTTTGGTACCGGTCATGGACGCAAAGTGGTTAGCCAGATAAGAAAGCACTGGAATAT
+TCTGCGCTTTCGCTTCAGCCATATTCGCCGGAGACAGCGTAAACAGGCAGCTAAAGGCAAAGAACATCAC
+CACTGCAACCATCAGCATACTGGCGCGAGAGATGATTTGTGAACATTTACGCTCGGTGAAGTCGCGACCA
+AAATCTTTCTCGTACTCTTCACGTTTAGAAACCACGAAGGAAGAGACGATTGGCGAGAAGTTAAAGGAGA
+AAACCATGATGGAAATCCCCAGCCAGACGGTGATCAGGATACCGTCATGACCAGTTAACGACAGCGAACC
+GAGGTCAACCTGGTCGATAACTGCAGAGTTCCAGTAAGGGATCAGCGAAAGAGAAATCAGCACCAGGCTG
+GCGATAAACGGCCATACCAGATAGCTCATCACTTTAACCATCAGATCCTTACCAAACCAGATGACGAAAG
+CCATCAGCAGCAACAGGAACAGCGCCACAAAGCCGCGATTCAGCGGTGCAAAGCCGAGCTGGTTTTCCCA
+GAACGTCATAAAGGTATTGGTAATAGTAACGCCATAAATCCACAACAGTGGGCAAATCGCGAAGAAGTAC
+AGGAACGTGATAACCACGCCGCCAGTTTTACCAAAATGCTCTTCCACCGTTTCCGTAATGTTGCCGGAAG
+GGTTAGAGCCAGAAAGACACAGACGCGCCAGTGCCCGGTGGCAATAAAACGCGATGGGGTATGCTAATAC
+CAACATCAGAAGAATCGGGATCAGTCCGCCAAAACCTGCGCGGATAGGGAAGAACAGCACCCCGGCGCCG
+ATTGCCGTACCAAACAAGCCTAACGTCCATGTGGTATCTGATTTACGCCAGGACGATTGTTTTGTCTGGC
+TGGATACAATGCTATCTGAAGTACTCATATCCTATCCTCAACGAATTAATTAAGCGTCAACGAAACCGGT
+AATTTGAGAGACGCGAGAAAGATCGATATTGCCGCCGGAAATAATACTGACGGTTTTTCTGTTTTGAATA
+TATTGGTCTAATTTACCGCTTAATAATGCAGCACATGCCAGAGCGCCTGCGCCTTCGGTGACGACTTTAT
+TGCGCTGAATTAAGGCAATCATACTGTTTCTGATTTCGTCTTCGCTGACCAGCACGATGTCATCGACTAA
+TTCACGAACGATTTCGTAAGTTAAATTACCCGGGCGGGAGACATCACAACCATCCGCCAGGGTGCCGGTA
+GTTCGGTGCGTAGTTATTTCTCCGGAGTGGAAAGAAGCCGCCATGCCGTGAACGTTTTCAGACTGTACGC
+CAATAACACGGATGGTCGGGTTGATAGATTTAATTGCCACCGCAATACCAGCAATTAAACCGCCGCCGCC
+AATTGGCACAATCACGTTATCGACATCATAGAGATCTTCCATAATTTCCAGACCAATCGTTCCCTGGCCA
+GCAATCACTTTCGGATCATCGTAAGGTGGGATAAAAATACGGCCTTCCATTTCGACAATTTCGCTCACTT
+TAGCAATAGTGTCGTTGAAGTTATCACCATGCAAAACGACTTCTGCGGAGTAGTCGCACGTTGCCGCGAC
+TTTGGATTTCGGCGCACCTTTTGGCATCACCACTTTACCGTCAATACCCAGCATCGCACAGGAGAGCGAA
+ACCCCTTGCGCATGGTTGCCCGCAGAGCAGGCCACTACACCTTTACGTTTTTCCGCATCAGTCAGTGAAC
+TTAATTTATTAAATGCGCCACGAATTTTAAATGAACCGGTACGCTGCATGTTTTCGAATTTGAGGAATAT
+TTCACCTTTGCAACGTTCACTAAAATAGTTGGAGCGAGGCATACCTGTTTTATAAATTCGCCCAGCCAGT
+CGTTGTTTTGCTTCAATGATGTCATCAATAGCAACCGGGAGATCGTATGTAATATGCATTATAAAACCTC
+TTAGCCTGAATTAAATATGTAGGTAACCGTAACCGACACCTGCAAAACAGACAGGTGGATTATTTATGTT
+TAAATTAAAACAAATAACTAATCAACTTCAATTAATTGCCTTCGTCTACACCCATTATAAGATGAATACT
+CTTTGGCTAATTCCACCAAAACCGATGCTGCTTTTTTAATACGATAATTTTTCGACCATACCGCGGCATA
+TTGTGCCACAGGTAATGTTTCTTCAACCGGAATAGTAATAAATTGATTAGAACCAAAAGGTGATGTCATA
+TCACAAGGAATTACAGTTAAGAAATCAGCATTGAGAACAAGATTATAAATTGTCACGACTGAGTCGGTTT
+TAACGATGTTTTCAATACTGATGCCATTTCTTTGTAACGTAGTAAGTAGTTCGCTGTAGTACCCCATATT
+GGTTTGTGGCAACACCCACTGTTCGTTCTTCAACGACTCCAGCGTGGTGGTGCCGGTGCATGTTCGGGAC
+TTACTGGCTACCAGCACAAACTCGGACTCGAACAGCGGCTCAACATGTAAATCCTGAAGCTTCATTTCTG
+CGCTTAACGTACCAATCGCAAAATCCAGTCGACCGTCGCGGATTGCCGGTAAGAACGAAGACAGTTGCGC
+TTCATACATAGAAACCTGCGCTTTCGGGAACACCTCTTTGAACTTGTTGATCATCCCTGACATAAAAGTA
+AAACCAATCAATGAAGGAAAACCAAATGAGACTTCCACCACCGCCTCAGAAGACATACCGCTTATCTCAT
+TAACCATATTTTTCATTTCACGGGTAATGGATTCGGAACGGGAGAGTAACAATTGACCGGCAGGTGTTAA
+TGTTACACCGGTATTTTTCCGCACCACTAACTCCACCCCAAAATAATCTTCAATATCGTTAATGATTTTA
+CTGACGGCCGGTTGAGTTAACCCTAACTCTTTTGCAGCCGAGCCGATAGAACCACTTCTAATAACTTCCT
+GAAAGACTACCAGGTGCTGCGTTTTCGGAAGAAGAATAGTGCTCATAACGACCTACGTTAATTACCTCAT
+TGACGGTATGAAGTGTATCAAAATGAAATGAACAGGATATGTGCGACCACTCACAAATTAACTTTCAATA
+CTTTCCATGGCATCGTTACCACAATTAAATACCTTTAAGTATCAACAAGTTAAAGCATGAAAATCAGCAT
+AAACCCTGATTTTTGTCAAAAAAAATGACGGGGATAACCATATTTTATGGCGATAACATCATTCTTTATG
+TGGTTAATAAAAAAAAGGGGCTGAGACTATATTTCAAGCAATTACCGGATAATTACCAGGCAAAATTTGA
+GTTAAATTTAATGAGTAAGTTCTCAAATTTTATTATAAACAAACCATTTTCAGCGATAAATAATGCGGCA
+CGTCACATTTTTTCACGCTATTTGTTGGAGAACAAACATTTATTTTATCAATATTTTAAAATTTCGAATA
+CAGGTATTGATCATCTCGAACAATTGATTAACGTCAACTTTTTCTCTTCTGACAGGACGTCATTTTGTGA
+ATGCAATCGTTTTCCATAAATTCTTCTCCCCTCATAGGCAACGAATAGCATTTTGTGTTGAGGATCACAA
+AACGAATAATTGCTGGTCGCCGCGATAAGGTCAGACGAAGTCAACAAGGAGGATTTTCGCTGTGCTTTAC
+ATCAGCGTAGGCCATAGAATGTTGCTTCGTTGACTGTAATGCCGGGTAAATGAGCATTTTTTGATAGTGC
+GAAAGAACCCTGCGAGGAAAATAAGCATCTATTATTGTTTGTCATGATGACAAGGCTGGCATCAATGAAA
+GGCTTCTCAATTGCACATATTTTTCACCCTTCAATGCACGCAGTGGTTAACAATCACAATAGAAATATTG
+ATTATTGGACGGTAAAAATTTAGGTTATAACGCCCAAATGATTCAACGATCGGACAATACCTGCGAACTT
+ACAATTAATGAGAGAAATATATGTATAATTACGACCTTTTAAATGCAATATAGACTTAATAACTTCTTAC
+AAAGTCTGTTATTAATACCGTAGATATTCATCTTACCCTGGGCACCAAAAGCAAAAACCCGCCGAAGCGG
+GTTTTTACGTAAATCAGGTGAAACTGACCGATAAGCCGGGTTCTGTCGTGGACAGTCATTCATCTAGGCC
+AGCAATCGCTCACTGGCTCAAGCAGCCTACCCGGGTTCAGTACGGGCCGTACCTTATGAACCCCTATTTG
+GCCTTGCTCCGGGTGGAGTTTACCGTGCCACGGACTGTTACCAGCCGCGCGGTGCGCTCTTACCGCACCC
+TTTCACCCTTACCTGATCCCGCTTACGCGGGCCATCGGCGGTTTGCTCTCTGTTGCACTGGTCGTGGGTT
+TCCCCCCCAGGCGTTACCTGGCACCCTGCCCTATGGAGCCCGGACTTTCCTCCCCTCCGCCCGTCTCCCC
+CGAAGAGGACGACGACGAAGCGGCGACTGTCTGGTCAGCTTCGGCGCGCAGTATAGAGGGTTTGCGCGCC
+CTTGTCACCCCGCGTTGCGCATTCCAATCGCCAGTGTCGCGGCGATATTACGTGAAGCACGGCAGATATT
+GTCATAAGCTCCGCGGAATGCTTCGTCTAACGTACCAATGCTGGTCAGTACGCTGAAGACCGCATCAATG
+CCATGCTGATGTACAACGCCAACATCATTGGTCAGGCTACCCGCAATGCCAATCACCGGTTTATGGTACT
+TCTTCGCCACGTTTGCGACACCAATCGGCACCTTGCCGTGAATACTCTGGCTATCAATACGCCCTTCACC
+GGTGATCACCAGCGTACAATCGTGAATATGTTCCTCCAGATTCAGCGCCGTCGTGACGATTTCAATACCA
+CTTTTCAGTTCTGCACCAAGAAACGCCATCAGCGCCGCGCCCATACCTCCCGCAGCTCCTGCGCCGGGGA
+CATCTTTCACATCAACATGCAGCGCTTTTTTAATAACATCGGCATAGTGAGAGAGGTTATTGTCCAGCTC
+GACAATCATCGCCTCACTGGCTCCCTTTTGTGGGCCAAAGATGCGCGAAGCACCACTGTCGCCGACTAAC
+GGGTTGGTGACATCACAAGCGACGCGGATGACACAATCTTTTAAGCGCGGATCGAGACCGGAAATATCAA
+TATCATTCAGAGTATTAAGACTACCGCCGCCAAAACCAATTTCATTGCCGTTGGCATCGCATAATTTCGC
+CCCCAGCGCCTGTACCATGCCTGCGCCGCCGTCGTTGGTGGCGCTGCCGCCAATGCCGATAATAATGTTT
+GTCGCACCGCTCTCCAGCGCCTGCAGGATTAACTCGCCAGTACCGCGTGAAGTGGTCACGAGTGGATCGC
+GTTTTTCCGCAGGTACCAGTTCCAGCCCACTGGCCGCCGCCATTTCGATAAACGCGGTTTTGCCATCGCC
+GGAGATCCCCCAACTGGCATTCACTTTCTCGCCCAGCGGCCCTGTAACCCAGGCGTGACGTTCAGCCCCC
+TGGGTGGCTGCAATCATCGCTTCCACCGTTCCTTCACCACCGTCGGCAACCGGAACAGAAACATACTGTG
+CATCAGGAAAAATTTCCCGAAATCCTTTTTCTATCGCCTGCGCAACCTCGCTGGCAGATAAACTTTCTTT
+ATAAGAGTCTGGGGCGATTACGATTTTCATACCTATGCCTGTTACCACATGACGCCGGAGGGCGTTTCTC
+TTATTCGGCCTGGATTCCAGGCCCGGATTGCAATACGCCATCCGGGCACGACGTCATTAGCGAGTAACTT
+CGACTTTCGCCAGTTTTTCGTAGTAGCACGCCAGGGCGCTATGATCCGCCGTTCCTAAACCATCTGCACG
+CAGTGCCTGCATCATCTCCATAACCGCAGCTGTGAGCGGCAGTTGCGCGCCGACGCCGTGAGAAGTATCC
+AGCGCATTCGCCAGATCCTTAATATGCAGATCAATACGGAAGCCCGGTTTGAAGTTGCGGTCCATCACCA
+TCGGCGCTTTGGCATCCAGCACGGTACTGCCCGCCAGCCCACCGCGAATTGCCTGATACACCAGATCCGG
+GTTAACGCCCGCTTTGGTTGCCAGCGTTAACGCTTCTGACATCGCAGCAATATTCAGCGCCACAATGACC
+TGATTTGCCAGTTTGGTGACGTTACCTGCACCGATTTCCCCGGTATGCACCACGGAACCCGCCATCGCTT
+TCATCAAATCATAGTATTTGTCGAAAATAGCCTTGTCGCCGCCCACCATCACTGACAGCGTACCGTCGAT
+GGCTTTCGGTTCACCGCCGCTCACCGGGGCGTCCAGCATATCAATGCCTTTCGCTTTCAGCGCTTCGCTG
+ATTTCACGGCTTGCCAGCGGTGCGATCGAACTCATATCGATCAATACCGTACCTGGCTTCGCGCCTTCAA
+TAATGCCATTCTCACCCAGCGCCACCTCTTTCACATGAGGGGAGTTTGGCAGCATGGTTATGATGACGTC
+GCACTGTTCAGCGATCGCTTTAGCCGTAGAGGCTGTTTCTGCACCGGCAGCAATCACGTCAGCGATAGCT
+TCTGGGTTACGGTCAGCAACCACCAGCGAGTAACCTGCTTTCAGAAGGTTTTTACTCATTGGTTTACCCA
+TAATCCCCAGGCCAATAAAACCAACTTTCATAGTCATATCAATCATCTCTCTTATTGCGGTGGTGGTTAT
+TTTTTAAAGGTATCAGCCAGTTTCTGAGTGGCAGAGCGGAAGACGCCGAGATCGCTGCCGACGGCCACAA
+ACGTCGCGCCCCATTCCAGATAACGACGCGCATCAGCCTCGACTGGTGCGAGTATGCCGCTGGGTTTGCC
+ATGCGCGCTGGCACGGTTAAAAATGTGCTGAATTGCTTTTTGTACATCCGGGTGCGAGGCATTGCCGAGA
+TGGCCTAATGCCGCAGCCAGATCGCTGGGGCCGACGAAGATGCCGTCTACACCTTCGGTAGCGGCAATAG
+CATCGACGTTATCTACGCCCTGCTGACTTTCTATCTGGACCAGAATAGTGATGTTCTTGTTCGACTGAGC
+GAAATAATCCGCCACGGTGCCAAACATATTGGCGCGGTGAGAAACGGAGACGCCGCGAATGCCTTCCGGT
+GGGTAACGAGTTGATGCCACCGCCTGCTCTGCTTCCTCTTTTGTTTCTACAAAAGGAATCAGGAAGTTAT
+AGAAACCGATATCCAGAAGACGCTTAATAATTACCGGCTCGTTGGTCGGCACTCGCACTACTGGCGCGCT
+GGCGCTGCCTTTCAGGGCCATTAACTGCGGAATAAACGTGGAGATATCGTTTGGCGCATGTTCACCATCC
+AGCACCAGCCAGTCAAACCCAGCCAAACCAAGAACTTCAGTGCTAATCGGGTTAGAGAGAGCTGACCAGC
+AACCAATTTGTACCTGTTTCGCAGCCAGTGCGGCTTTGAATTTATTCGGGAAAACATCGTTATTCATCGC
+TTATACCTTTGCTTATTTCTGCAATTCCATACGTTTAATGTCGCCGACTACGAAGAGGTAGCAGACCATC
+GCCATCAGCGCTGAACATCCCACAAAAACCAGTGCTGCATTGAAGGAGTGCAGTTCACTTACCAGGTAGC
+CAATCACCAGTGGAGTGACAATGGAGGCAACATTGCCAAAGACGTTAAAGACGCCGCCGCAGAGGCCAAC
+AATCTCTTTCGGCGCGGTGTCAGAAATCACTGGCCAGCCCAGCGCACCAAATCCTTTGCCAAAGAAAGCC
+AGCGCCATCAGCATGACCACCAGCGTGGTGTTGTTGGTGTAGTTACATAAGATGATGGTGGAAGCCAGCA
+ACATTCCCAGCACAATTGGTAGCTTACGTGCCAGGGTCAGGGACAAACCGCGTTTGATCAGATAATCCGA
+GAAGACACCTCCCAGCACGCCGCCCGCAAAGCCACACAGTGCCGGAATCGAGGCGACCAGACCCACTTTC
+AGAATCGACATGCCTTTTTCCTGCACCAGATAAATTGGGAACCAGGTGAGGAAGAACCAGGTGATGGTGT
+TGATAAAATATTGTCCGAAAAATACGCCCAGCATCATGCGGTTAGAGAGCAATTGCTTGATGTAATGCAG
+TTTGGGTCCGCTTGCTGCCGCACTGCCCGGCTTTTTGTGGTCCATATCGACCACCGCGCCATTTTCCGAG
+ATAAACTTCAGCTCTTCCGCAGACATACGTGGGTGATCTGTCGGGTTATGAATCAACTTGATCCACAGCG
+CCGTCAGCACAAAACCAATCACCCCCATAACGGTAAAGACGTGCTCCCAGCCCCAGGCGAAAGTCAGCCA
+GCCAAGCAGCGGCGAAAAGAGCGCCAACGAGAAATATTGCGCCGAGTTAAAGATGGCGGAGGCAGTACCA
+CGTTCTTTCGTCGGGAACCAGGCGGCGACAATACGGGCGTTCGCCGGGAATGATGGCGCTTCCGAGAACC
+CCAGCATAAAGCGCATAAAGAACATGGAGATCCCAGCCCAGGCCAGCGGAAACATATCGACAAAGCCTTG
+CAGGAAGGTGAACAGCGACCAGAAAAAGAGGCTGTAAGTGTAAACTTTCTTCGAGCCAAACTTATCAAGC
+AGCCAGCCGCCGGGAATTTGCATCAGCAAGTAGGCCCAGCCAAAAGCAGAGAAGATGTAACCCATCGAAA
+CCGCACTTAACTGCAACTCTTTTGCCACTTCGGTACCAGCAATAGACAGCGTTGCACGATCGGCGTAGTT
+AACGGCGGTAACAATAAAAATAATCAGTAATATTAAATAGCGGGTATGCACGCCTTTCTTTTTTTCGTCA
+ACGGTGTCCAGCATCATTTTATTTACCTCGGGTACTTATGCTGATTTTTATTATTATGGGGAAGGTGTTA
+TTTATGAGTTTCATTTATGCCGTTACGACAATGAACTCGGGAATTAGTATAAGCAGCGCGAGAATAATAA
+TCATTGTGCAAATGCTAATTTAATTAATACTATTTAAATATTATTTTGAGCATATGCACATAAGGTTGCG
+CGCTAAAGCACAGATTTGCGCTTTACCTTGCCGGGAGGTACTGCAATCCCTGAAATGATTGACATTGATC
+ACATTTCTGCATTTAAACTCCTGACATTCTTATTTCACCCAATGAAGTTATTTATTTTTAAATGAGACCA
+GGTCCTCATTTTAATAGTCCCTGGCTGGAGAATATTGCACAATGGCCAACATCAAAATCAGACAAGAAAC
+GCCAACTGCGTTTTATATAAAAGTTCACGACACAGATAATGTGGCAATTATTGTTAATGATAATGGCCTG
+AAAGCAGGAACGCGTTTTCCGGATGGGCTGGAATTAATTGAACATATTCCCCAGGGGCATAAAGTCGCAT
+TGCTGGACATTCCGGCTAATGGTGAAATTATTCGTTATGGCGAGGTGATTGGTTACGCCGTGCGCGCAAT
+CCCACGCGGAAGCTGGATCGACGAATCAATGGTTGTACTACCGGAAGCGCCGCCGTTACATACGCTGCCA
+CTGGCAACCAAAGTCCCGGAACCCTTACCGCCGCTGGAAGGATACACCTTTGAGGGCTATCGCAATGCCG
+ATGGCAGCGTGGGCACCAAAAACCTGCTCGGCATCACCACCAGCGTCCACTGTGTGGCAGGCGTGGTGGA
+CTACGTAGTAAAAATCATTGAACGCGATCTGCTACCGAAATACCCGAACGTCGATGGCGTGGTGGGGCTG
+AATCATTTGTACGGTTGTGGCGTGGCGATTAACGCACCCGCGGCAGTTGTACCTATTCGTACCATTCACA
+ATATTTCGCTGAACCCTAACTTTGGCGGCGAAGTAATGGTGATTGGTCTGGGTTGTGAAAAGTTGCAGCC
+TGAACGCCTACTGACTGGAACGGATGATGTGCAAGCTATTCCAGTAGAAAGCGCCAGCATTGTCAGTTTG
+CAGGATGAAAAGCATGTCGGTTTTCAGTCCATGGTCGAGGATATTTTGCAGGTCGCCGAATGCCATCTAC
+AAAAACTGAATCAACGTCAGCGAGAAACCTGTCCGGCTTCAGAACTGGTTGTCGGCATGCAGTGCGGTGG
+CAGCGATGCGTTTTCTGGCGTAACGGCAAACCCGGCGGTTGGGTATGCGTCTGATCTATTGGTGCGCTGC
+GGCGCAACGGTGATGTTTTCAGAAGTCACAGAAGTGCGTGACGCGATACATTTGCTGACACCACGCGCTG
+TGAACGAAGAGGTCGGCAAACGGCTGCTGGAGGAGATGGAGTGGTACGATAACTATCTCAATATGGGAAA
+AACCGATCGCAGCGCCAACCCTTCGCCGGGGAACAAGAAAGGCGGTCTGGCAAATGTGGTGGAGAAGGCA
+CTCGGCTCCATTGCTAAATCGGGTAAAAGTGCAATTGTTGAAGTGCTGTCGCCCGGCCAACGCCCGACTA
+AACGCGGATTAATTTACGCCGCGACGCCAGCCAGCGATTTTGTCTGTGGCACGCAACAGGTGGCTTCGGG
+TATCACCGTGCAAGTGTTTACGACCGGTCGTGGTACGCCGTACGGCCTGATGGCGGTACCCGTCATTAAA
+ATGGCGACCCGCACCGAGCTGGCGAACCGCTGGTTTGATTTAATGGATATTAACGCGGGCACTATCGCTA
+CCGGCGAAGAAACCATTGAAGAAGTGGGCTGGAAGTTGTTCCACTTTATTCTCGACGTCGCCAGCGGGAA
+GAAGAAAACTTTCTCGGATCAATGGGGACTGCATAACCAGCTGGCAGTGTTTAACCCGGCACCGGTGACC
+TGATTTCTTTTGGAACGTCCCTCGCAAAACATGGCCTTCGTGCCATGTTTTTATTGTTTAAAGTCCACAC
+ATCCATTAATAATGCATTTGCATTACCTTAGTTCAAGCTTATAATTTGAGCAGAAAACAGGCTGTAAAAG
+GACAGTAAATAATGCCCGCTAATGCTCGCTCTAACGCTGTACTGACCACTGAATCAAAGGTCACTATACG
+CGGACAAACAACTATCCCCGCGCCAGTGCGTGAGGCCTTAAAACTGAAGCCAGGCCTGGACAGCATTCAT
+TACGAAATTCTGCCTGGTGGGCAAGTATTTATGTGCCGACTGGGAGATGAACAGGAGGATCATACTATGA
+ATGCATTTTTGCGTTTTCTGGATGCAGATATCCAGAACAACCCGCAAAAAACTCGTCCATTCGACATTCA
+ACAAGGAAAGAAACTTGTCGCTGGCATGGACGTCAACATTGACGATGAGATTGGCGACGACGAATAATGG
+ATTTTCCACAAAGGGTTAATGGTTGGGCGCTATATGCTCATCCCTGTTTTCAGGAAACCTACGATGCTTT
+AGTTGCCGAAGTCGAGGCATTAAAGGGAAAAGATCCTGAAAATTATCAGAGAAAAGCTGCCACAAAGTTA
+TTGGCGGTGGTCCATAAAGTGATTGAGGAGCATATCACGGTCAATCCATCATCACCGGCATTCCGTCATG
+GCAAGTCGTTAGGCTCTGGGAAAAATAAAGACTGGTCACGGGTAAAATTTGGTGCTGGTCGCTATCGTCT
+CTTCTTTCGTTACAGTGAAAAAGAGAAAGTCATCATTCTGGGATGGATGAACGATGAAAACACGCTGCGC
+ACCTACGGTAAAAAAACAGATGCCTATACCGTATTCAGTAAAATGTTAAAAAGAGGACATCCTCCTGCCG
+ACTGGGAAAGCCTCACCCAAGAGACAGAAGAAAGCCATTGATGGTGTTCACAATGCCCGCCGAACGCATT
+GGTGTTGACCAGCGGGCATCCTTTCTCATTCCCCGACCAGAATCACTTCAACCCCAGCCTTTCTCAGTCC
+TTCCAGACTATCCGCAGGAATGCCTTCATCAACAATGATCATGTCGATACGTTGAGTATCAATGATCTTA
+TGTAAACTAGAACGATTGAACTTACTGGAATCGGTGACCACGATGATCCGTTCCGCAACTTCGCACATCC
+GACGGTTTAAACGGGCTTCATCTTCATTATGCGTGCTGACGCCGCGCTCCAGATCGATCGCATCTACACC
+AAGAAACAGCATATCGAAGTGGTAATTTTGCAGCGATTGCTCAGCCTGATCACCGTAAAAAGATTGCGAC
+TGACGGCGCAAATGCCCCCCGGTCATCAGCAGCTCAACGCCTTCCGCTTCCAGCAACGCATTAGCCACGT
+TCATACCGTTGGTCATCGCAATTACGTCGGTGTGCTTGCGCATCAGACGAGCAATCTCAAAAGTGGTGGT
+CCCGGAGTCGAGGATCACCCGATGACCAGGCTGAATCAACTCAACGGCAGCTTTCGCAACGCTGCGTTTC
+ATCGCGGTGTTCAGCGCGCTTTTATCTTCCACTGATGGCTCGACTGACGGCGTTGTGCTATCGCAGATCA
+ACGCGCCACCATAGGCACGCACAGCGATCCCCTGCTTTTCCAGAAACGCCAGATCGTTGCGGATCGTCAC
+AGTAGATACACCATACAACGCCGATAGATCATTAACTTGCACACTTCCTTGCTGGCGCAGGCGTTGAATG
+ATCTGCTCTCGTCGCTCACTGGTGCCTGTCACTCGCTTCTCACCTGAAGCGTCGGTATTACTCATAGTAA
+GTCCTTTCGTAAAACTTTCGTTTCATTTCGTTTTGCCTATTAACGCCTTTCTATTAAGCAAATGCAAGCC
+CACCTTACCCATTGGCGCAAGCTACTCTCGTTTCAGTGGCTTTCATTATGTTTCTTTTGTGAATCAGATC
+AGAAAACTATTATCTTTCGTTTTATTTTTATCTCACCATGACGCAGTATCAACTGAAACAAAACGAAAGA
+TTAATGTCGCAGTAATCTGAACTGGAGAGGAAAGTGAAACATCTGACAGAAATGGTGAGACAGCACAAAG
+CGGGCAAAACAAATGGGATTTATGCCGTTTGTTCCGCACATCCGCTGGTGCTGGAAGCTGCAATCCGCTA
+CGCCAGTGCAAACCAAACGCCGTTACTGATTGAAGCAACCTCCAATCAGGTGGACCAGTTCGGCGGTTAT
+ACCGGAATGACGCCCGCCGATTTTCGCGGCTTTGTTTGTCAGCTCGCCGACTCGTTGAATTTCCCGCAGG
+ATGCGCTGATTCTGGGTGGTGACCATCTGGGGCCAAACCGCTGGCAAAACCTGCCTGCCGCTCAGGCAAT
+GGCCAATGCCGATGATTTGATTAAAAGCTACGTGGCGGCAGGATTCAAAAAAATTCACCTTGATTGCAGC
+ATGTCCTGTCAGGACGATCCGATTCCCTTAACTGATGACATCGTGGCTGAACGCGCCGCCCGTCTGGCGA
+AAGTGGCGGAAGAAACCTGTCGTGAACACTTTGGCGAAGCCGATCTGGAGTATGTCATTGGTACCGAAGT
+GCCGGTACCTGGCGGCGCGCATGAAACCTTAAGCGAGCTGGCGGTCACCACGCCGGATGCCGCCCGCGCC
+ACGCTGGAAGCCCATCGTCACGCCTTTGAAAAGCAAGGTCTGAATGCCATCTGGCCACGCATCATTGCCC
+TGGTGGTTCAACCCGGCGTCGAATTCGATCACACCAACGTTATTGATTATCAGCCAGCCAAAGCCGCTGC
+CTTAAGCCAGATGGTCGAAAACTACGAAACGCTGATTTTCGAAGCGCACTCTACCGATTATCAAACGCCG
+CAATCGCTGCGCCAGCTGGTGATTGACCACTTTGCCATTCTGAAAGTTGGCCCGGCGCTGACCTTCGCCC
+TGCGTGAAGCTCTGTTCTCTCTGGCGGCGATTGAAGAAGAACTGGTGCCAGCGAAAGCCTGTTCCGGTCT
+GCGTCAGGTACTGGAAAACGTGATGCTCGACCGCCCGGAATACTGGCAAAGCCACTACCACGGTGACGGC
+AACGCGCGTCGTCTGGCGCGTGGTTATAGCTACTCGGATCGCGTGCGCTATTACTGGCCGGACAGCCAGA
+TTGATGACGCTTTCGCTCATCTGATTCGTAATCTGGCGGATTCACCAATTCCGCTGCCGCTGATCAGTCA
+GTATCTGCCGCTGCAGTACGTGAAAGTTCGCTCCGGCGAGCTGCAGCCAACGCCACGGGAACTCATTATC
+AACCATATTCAGGACATCCTGGCGCAGTACCACACAGCCTGTGAAGGCCAATAAGCAAAACAAAGAGGAA
+CACGCTATGCCAAATATTGTTTTAAGTCGGATTGATGAACGCTTGATTCACGGTCAGGTCGGCGTTCAGT
+GGGTCGGATTTGCGGGGGCAAATCTGGTGCTGGTAGCCAACGATGAGGTTGCCGAAGATCTGGTACAACA
+AAACCTGATGGAAATGGTACTGGCAGAAGGGATCGCCGTACGTTTCTGGACGCTGCAAAAAGTCATCGAC
+AACATTCATCGCGCCGCCGATCGACAGAAAATCCTGCTGGTTTGTAAAACACCGGCCGATTTCCTGACGC
+TGGTGAAAGGTGGCGTTCCGGTGAATCGCATTAACGTTGGCAATATGCACTACGCCAATGGCAAGCAACA
+AATCGCCAAAACGGTTTCTGTGGATGCGGGTGATATCGCAGCATTTAACGACCTGAAAGCCGCTGGGGTG
+GAATGCTTCGTTCAGGGCGTCCCAACAGAGCCTGCTGTGGACCTCTTTAAATTACTTTGAGGGATTCATC
+ATGGAAATCAGTCTGTTGCAGGCATTTGCGTTGGGCATTATCGCCTTTATCGCTGGCCTGGATATGTTTA
+ACGGCTTAACCCATATGCACCGCCCGGTGGTTCTCGGCCCGTTGGTCGGGCTGGTACTTGGCGATCTGCA
+TACCGGTATTTTAACCGGCGGTACGCTGGAACTGGTGTGGATGGGGCTGGCCCCTCTGGCGGGCGCACAG
+CCGCCTAACGTGATTATCGGTACTATCGTCGGCACGGCGTTTGCCATTACTACTGGCGTGAAACCCGATG
+TCGCGGTCGGTGTCGCCGTACCTTTCGCTGTCGCAGTACAGATGGGGATTACCTTCCTGTTCTCGGTGAT
+GTCCGGCGTGATGTCCCGATGCGACCGGATGGCGGAGAACGCCGATACACGCGGCATTGAACGCGTGAAC
+TATCTGGCATTGCTGGCACTCGGCACGTTCTATTTTCTCTGCGCTTTCCTGCCTATCTACTTCGGCGCGG
+AACATGCAAAAACCATCATTGATGTCCTGCCGCAACGATTAATTGATGGCCTCGGCGTCGCGGGCGGCAT
+CATGCCAGCAATCGGTTTTGCCGTGCTGCTGAAAATCATGATGAAAAACGTCTACATCCCCTACTTCATC
+CTGGGCTTTGTTGCCGCGGCCTGGCTCAAGTTACCGGTGCTGGCTATTGCTGCCGCTGCGCTGGCGATGG
+CGCTGATCGACCTGCTGCGTAAATCTCCTGAACCGACTCAACCTGCGGCACAGAAAGAGGAATTTGAAGA
+TGGCATCTAATCAAACCACCCTGCCGAACGTCAGCGAAAATGAAGAAACACTGCTGACTGGCGTCAATGA
+AAACGTGTATGAAGATCAGAGCATTGGCGCGGAGCTGACGAAAAAAGATATCAACCGCGTCGCCTGGCGT
+TCCATGCTGTTACAGGCTTCTTTCAACTACGAACGTATGCAGGCTTCCGGCTGGTTGTACGGTCTGCTGC
+CTGCTCTGAAAAAGATCCACACTAATAAACGCGACCTGGCGCGCGCCATGAAGGGGCATATGGGTTTCTT
+CAATACCCATCCGTTTCTGGTGACGTTTGTTATCGGCATTATCCTTGCGATGGAGCGTTCTAAGCAGGAC
+GTTAACAGTATTCAGAGCACCAAAATTGCCGTCGGTGCGCCGCTCGGCGGGATTGGCGATGCGATGTTCT
+GGCTAACGCTACTGCCGATTTGTGGCGGGATAGGTGCAAGCCTCGCGCTACAAGGCTCTATTCTTGGCGC
+TGTCGTCTTTATTGTGCTGTTCAACGTGGTGCACCTGGGGCTGCGTTTTGGTCTGGCGCATTATGCTTAC
+CGCATGGGCGTGGCGGCGATTCCACTCATTAAAGCAAATACCAAAAAAGTCGGCCATGCGGCATCTATCG
+TTGGGATGACGGTAATCGGCGCGCTGGTGGCAACCTATGTTCGTTTAAGCACCACGCTGGAAATCACCGC
+GGGCGACGCAGTGGTTAAGTTACAGGCTGATGTTATCGACAAACTGATGCCAGCCTTCTTACCGCTGGTC
+TACACCCTGACCATGTTCTGGCTGGTACGCCGCGGCTGGAGTCCGCTGCGCCTGATTGCGATTACCGTGG
+TTCTCGGCATCGTCGGTAAATTCTGGCATTTCCTTTTAATACCAATGAGGTATTAGATGTTAAGTATTAT
+TTTGACCAGGGCATGGCGGATTTGCCAGCGGCATGGAAAAAGCAATGAAGCAAATTCTCGGTGAGCAATC
+GCAGTTTATCGCCATCGATTTTCCGGAAACCTCAAGCACCGCGCTGCTTACATCGCAGCTTGAAGAGGCC
+ATCGCCCAACTGGATTGTGAAGACGGCATTGTTTTTCTGACGGATTTGCTGGGCGGCACGCCGTTTCGCG
+TAGCTTCAACGCTGGCGATGCAAAAACCGGGCTGTGAAGTGATCACCGGCACCAATTTGCAACTGCTACT
+GGAAATGGTGCTGGAGCGCGAAGGGTTAAGCGGTGAAGAGTTCCGTGTGCAGGCGCTGGAGTGTGGACAC
+CGTGGGCTGACCAGTCTGGTGGACGAGTTAGGCCGCTGCCATGAAGAATGTCCGGTCGAGGAAGGAATAT
+GACACACGTTCTGCGCGCCAGAAGGCTGCTGACTGAAGAGGGATGGCTCGATGACCATCAGTTGCGTATT
+GCTGACGGTGTAATCGCAGCAATCGAACCGATTCCAGTGGGCGTGACTGAACGCGATGCGGAACTGCTCT
+GTCCCGCTTACATCGACACCCATGTACACGGTGGTGCGGGCGTTGATGTAATGGATGACGCGCCGGATGT
+GCTCGACAAGCTGGCAATGCACAAAGCACGCGAAGGTGTCGGCAGTTGGTTACCGACCACCGTAACCGCG
+CCGCTTAATACCATTCATGCGGCGCTGGAACGTATTGCTCAACGTTGCCAACGCGGCGGACCTGGTGCGC
+AAGTGCTGGGGAGTTATCTCGAAGGACCGTACTTCACGCCGCAGAATAAAGGCGCGCATCCACCGGAGCT
+GTTCCGCGAGCTGGAAATTGCCGAGCTGGATCAATTGATTGCCGTTTCTCAGCATACCTTGCGCGTGGTG
+GCGCTGGCACCGGAAAAAGAAGGGGCATTGCAGGCCATCCGCCATCTTAAACAGCAAAACGTACGGGTGA
+TGCTGGGGCATAGCGCGGCGACCTGGCAACAAACCCGTGCCGCGTTTGATGCTGGTGCCGACGGCCTGGT
+GCATTGCTATAACGGGATGACAGGTTTACATCACCGCGAACCGGGAATGGTTGGCGCGGGATTAACAGAC
+AAGCGCGCCTGGCTGGAACTGATAGCCGATGGTCATCATGTACATCCGGCGGCAATGTCGCTCTGTTGTT
+GCTGTGCGAAAGAGAGGATCGTACTGATCACCGACGCGATGCAGGCAGCCGGGATGCCGGATGGTCACTA
+TACGTTATGTGGTGAAGAAGTGCAGATGCGCGGTGGCGTTGTCCGTACCGCGTCCGGTGGGCTGGCGGGC
+AGTACGCTGTCTGTCGATGCGGCAGTGCGCAACATGGTCGAGTTGACGGGCGTAACGCCTGCGGAAGCCA
+TCCATATGGCGTCGCTGCATCCGGCGCGAATGCTGGGTGTTGATGGTGTTCTGGGATCGCTTAAACCGGG
+CAAACGCGCCAGCGTCGTTGCGCTGGATAGCGGGCTGCATGTGCAACAAATCTGGATTCAGGGTCAATTA
+GCTTCGTTTTGATGGTTTGCTCCTTTATTAGGCCTTCACTTCCCCCGTAAGGCCTTTCTTTTTCTTTCGT
+TTTGATCTGTGCAGCGGTGTCGGATGCGACGCTAATGCGTCTTATCCGACCTACGGTTGGTGAGCGTAAG
+GCCGGATAAAGTATTTACGCCGCATCCAGCAATCCCTTTTACTTCCCTTACCTTTTCTTTCAACGATCAC
+AGATTTCGTTTTATTTCCTTTTTCTCCATTGAACTTTCAGTTTCTTTTCTATAGATTTTAACCAACGAAA
+GAAATCACCAAGTGAAACGAAACGAAAGGCAAGCGAAAGCGACAACGCCGACGTCAAGTTCATCAGACTA
+AGGATTGAGTTATGCCAGAAAATTACACCCCTGCTGCTGCCGCAACCGGTACATGGACTGAAGAAGAGAT
+CCGCCATCAGCCTCGCGCATGGATCCGTTCACTCACCAACATTGACGCGCTACGTTCCGCGCTCAATAAC
+TTCCTTGAACCGTTACTGCGCAAAGAGAATCTGCAAATCATCCTGACCGGAGCCGGAACATCGGCATTTA
+TCGGTGACATCATCGCGCCGTGGCTCGCCAGCCATACCGGTAAAAACTTCAGCGCCGTACCGACCACCGA
+TCTGGTCACCAATCCAATGGACTACCTGAACCCAGCTCATCCGCTACTATTGATCTCCTTCGGTCGATCC
+GGCAACAGCCCGGAAAGCGTCGCCGCCGTGAAACTGGCAAATCAATTTGTACCAGAATGCTATCACCTGC
+CGATCACCTGCAACGAAGCGGGCGCTCTTTACCAAAACGCGATCAACAGCGACAACGCGTTTGCCCTGCT
+GATGCCCGCAGAAACGCACGATCGCGGCTTCGCGATGACCAGCAGCATTACCACCATGATGGCCAGCTGC
+CTCGCGGTTTTCGCACCTGAGATGATCAACAGCCAAACCTTCCGCGACGTGGCGGATCGTTGCCAGGCGA
+TCCTGACCTCACTGGGCGATTTCAGCGAAGGTGTGTTTGGTTACGCACCGTGGAAACGGATCGTTTATCT
+CGGCAGCGGTGGCTTACAGGGCGCAGCACGCGAGTCGGCGCTGAAAGTGCTGGAACTGACAGCGGGTAAA
+CTGGCGGCCTTCTATGATTCCCCGACCGGATTCCGTCATGGACCGAAATCGCTGGTCGATAACGAAACGC
+TGGTGGTGGTGTTTGTCTCCAGCCACCCTTACACCCGTCAGTATGATCTTGATCTGCTGGCAGAACTCCG
+CCGCGATAACCAGGCAATGCGCGTAATCGCCATCGCCGCGGAAAGCAACGACGTTATTACCGCCGGTCCA
+CATATCATCCTGCCGCCGTCCCGTCACTTTATCGACGTTGAGCAGGCATTTTGCTTCCTGATGTACGCCC
+AGACATTTGCACTGATGCAGTCGCTGCACATGGGTAATACGCCGGATACCCCATCAGCCAGTGGCACCGT
+TAACCGCGTGGTGCAAGGCGTAATCATTCATCCGTGGCAGGCATAAGAGGATCGCATTATGAGCATTATC
+TCCACCAAATATCTGTTACAGGACGCCCAGGCCAATGGCTACGCGGTGCCTGCCTTTAACATTCATAACG
+CCGAGACGATCCAGGCGATCCTCGAAGTGTGCAGTGAAATGCGATCGCCGGTGATCCTCGCCGGGACGCC
+GGGGACCTTTAAGCATATCGCGCTGGAAGAGATCTACGCCCTGTGTAGCGCCTATTCCACGACCTATAAC
+ATGCCGCTGGCACTGCATCTTGATCACCACGAATCGCTGGATGATATTCGCCGTAAAGTCCACGCAGGCG
+TGCGCAGCGCGATGATCGACGGCAGTCATTTCCCGTTTGCCGAGAACGTGAAGCTGGTGAAATCGGTTGT
+CGACTTCTGCCACTCCCAGGATTGCAGCGTGGAAGCAGAACTGGGCCGCCTCGGCGGTGTTGAAGATGAC
+ATGAGCGTTGACGCCGAAAGTGCATTCCTGACCGATCCACAAGAAGCTAAACGCTTTGTCGAACTGACTG
+GCGTCGACAGCCTGGCGGTAGCGATTGGTACGGCGCACGGCTTATACAGCAAAACGCCGAAGATTGATTT
+CCAGCGGCTGGCGGAAATTCGTGAAGTGGTGGATGTTCCTCTGGTGCTGCATGGTGCCAGCGATGTCCCG
+GATGAATTTGTCCGTCGCACTATTGAACTTGGCGTAACAAAAGTGAACGTTGCCACAGAATTAAAAATAG
+CCTTCGCTGGCGCGGTTAAAGCCTGGTTTGCGGAAAATCCGCAGGGTAATGATCCTCGTTATTATATGCG
+CGTCGGAATGGATGCGATGAAAGAAGTTGTCAGAAATAAAATTAATGTCTGTGGTTCAGCGAATCGAATT
+TCAGCATAATCATTAGTTTTTTATGATTTATCCCAATGTACTTCCCGATTAATATCGGGGAGTGCCTTAA
+TGGTAAAGGAGATAACTAAACCTTAATAAATACATCAGTACAATATCGCAACAATAATATATTTAAAAAG
+ATTATATTATTCAACTTTATGGTGAGGATTACACAATGAGCAGTCCAAATATTCTCTTAACCCGTATTGA
+TAACCGTCTGGTTCACGGTCAGGTTGGCGTGACCTGGACATCCACCATCGGTGCGAATCTGTTGGTAGTC
+GTGGATGATGTTGTCGCTAACGATGATATTCAACAGAAATTAATGGGTATTACCGCAGAAACCTACGGCT
+TTGGCATTCGTTTCTTTACTATCGAAAAAACCATTAACGTCATCGGCAAAGCTGCACCACATCAGAAGAT
+CTTCCTGATTTGCCGTACGCCACAAACGGTACGTAAATTGGTAGAAGGTGGTATTGACCTGAAAGATGTC
+AACGTCGGCAATATGCATTTCTCGGAAGGGAAAAAGCAAATCAGCAGTAAAGTTTATGTCGATGACCAGG
+ATCTCACGGACTTACGTTTTATTAAACAACGTGGCGTGAATGTTTTCATTCAGGACGTCCCTGGCGATCA
+AAAAGAACAAATCCCTGACTAAATCTAAAATCGCCTTAATATTGGTTTGAGGTAATAAAAATGCATGAAA
+TAACCCTACTCCAGGGATTATCCCTGGCGGCGTTAGTTTTCTTTCTGGGGATTGATTTTTGGCTGGAAGC
+CTTATTTTTATTCCGCCCGATAATCGTTTGTACCCTTACAGGTGCTATTCTCGGTGATATTCAGACTGGC
+TTAATTACCGGTGGCCTGACAGAGTTGGCTTTCGCCGGATTAACCCCTGCAGGTGGTGTTCAGCCGCCCA
+ACCCTATTATGGCGGGTCTGATGACCACTGTCATTGCATGGTCTACGGGCGTTGATGCCAAAACGGCAAT
+TGGTCTTGGCCTGCCGTTTAGTTTGTTAATGCAGTACGTCATTCTGTTCTTCTATTCCGCTTTCTCATTA
+TTTATGACCAAAGCCGATAAATGCGCAAAAGAGGCGGATACGGCAGCGTTTTCCCGACTTAACTGGACAA
+CGATGCTCATCGTCGCTTCAGCGTATGCGGTGATTGCTTTCCTCTGTACTTACCTGGCACAAGGGGCGAT
+GCAGGCGCTGGTGAAAGCGATGCCCGCCTGGCTGACCCACGGCTTTGAAGTGGCTGGCGGTATTCTGCCT
+GCTGTTGGTTTTGGCTTGCTGCTGCGCGTGATGTTCAAAGCACAATATATCCCTTACCTGATCGCCGGTT
+TCCTGTTTGTTTGCTACATCCAGGTCAGCAACCTGTTGCCGGTTGCCGTACTGGGCGCAGGCTTTGCGGT
+GTATGAGTTTTTCAATGCGAAATCCCGGCAGCAAGCGCAACCGCAGCCCGTTGCCAGTAAAAATGAAGAA
+GAGGACTACAGCAATGGGATCTGAAATCAGTAAAAAAGATATCACCCGTCTGGGCTTTCGTTCGTCACTG
+CTACAAGCAAGCTTTAACTACGAAAGGATGCAGGCGGGCGGTTTTACCTGGGCGATGTTGCCGATCCTGA
+AAAAGATTTATAAGGACGACAAACCGGGCCTAAGCGCGGCGATGAAAGATAACCTCGAATTTATTAATAC
+CCACCCTAATCTGGTCGGATTCCTGATGGGGTTATTAATTTCGATGGAAGAAAAAGGAGAAAACCGCGAC
+ACCATTAAAGGCCTCAAAGTGGCGCTGTTTGGCCCAATCGCCGGGATTGGCGATGCGATTTTCTGGTTTA
+CCTTGTTGCCAATTATGGCGGGGATTTGCTCATCGTTTGCCAGTCAGGGGAACCTGTTGGGACCGATTTT
+GTTTTTCGCCGTTTACCTGCTTATCTTTTTCCTGCGCGTCGGCTGGACCCACGTCGGTTATTCAGTCGGC
+GTGAAGGCTATCGATAAAGTGCGAGAGAACTCGCAGATGATTGCCCGTTCGGCAACCATCCTCGGGATCA
+CGGTAATCGGCGGGCTGATCGCTTCGTATGTGCATATTAACGTGGTGACGTCGTTTGCCATCGACAGTAC
+CCACAGCGTCGCGCTGCAGCAGGATTTCTTCGATAAAGTCTTCCCGAATATTTTACCGATGGCCTACACC
+CTGCTGATGTATTACTTCCTGCGGGTGAAAAAAGCGCATCCGGTGCTGTTAATCGGCGTGACGTTTGTTC
+TTTCTATTGTTTGTTCTGCATTCGGCATTTTGTAAATGGAACGAGGCACCGCATCTGGCGGTGCCTCTTT
+ACTTAAGGAATTTCATCCTGTGCAAACCCTTCAACAAGTTGAAAACTATACGGCATTAAGTGAACGTGCC
+AGCGAATATTTATTGGCCGTGATCCGTCGCAAACCGGATGCCGTGATTTGCCTGGCGACCGGAGCCACGC
+CATTACTGACGTATCATTATCTGGTAGAAAAAATCCACCAGCAGCAGGTTGATGTCAGCCAGCTCACCTT
+CGTGAAGCTCGACGAATGGGTGGATCTGCCATTAACGATGCCTGGTACCTGCGAAACTTTCCTTCAACAG
+CATATCGTGCAGCCGCTGGGGCTACGTGAAGACCAGCTCATCAGTTTTCACTCCGAAGAGATAAATGAGA
+CAGAGTGCGAACGGGTAACGAACCTGATTGCGCGCAAAGGCGGTCTGGACTTATGCGTTCTCGGATTGGG
+GAAAAACGGTCATCTTGGGCTGAACGAACCGGGAGAAAGCCTGCAACCGGCCTGCCATATCAGTCAACTT
+GATGCCAGAACACAGCAACATGAGATGTTAAAAACCGCGGACCGTCCCGTGACTCGTGGGATCACCTTAG
+GCCTGAAGGATATTCTCAATGCCCGCGAAGTTTTGTTACTGGTGACTGGCGAAGGAAAACAGGATGCGAC
+AGAACGTTTTCTCACGGCTAAAGTCTCCACCGCTATCCCGGCTTCATTTTTATGGCTGCATAACCATTTC
+ACATGCGTGATTGATGAAATGTGTCGTCGTTAACTCGCCAGGTAAAGGCGTTGCAACGCTATTCCTGCTG
+CGACGCCTGTAATCACTCTCCCTGCTGCTCCAGCGCATACTTATACAGCGCATTTTTCTTCACGCCGTGA
+ATTTCTGCTGCCAGCGCCGCCGCTTTTTTCAGCGGCAGTTCTGCCTGCAACAGCGCCAGCGTGCGCAGGG
+CATCGGCGGGTAAGTCTTCTTCCTGTGCTTTATGGCCTTCGACAATCAGCACCATTTCGCCTTTGCGACG
+GTTTTCATCTTCTTTGACCCACGCCAGCAGCTCGCCAACGGGCGCGCCGTGAATGGTTTCCCAGGTTTTG
+GTCAGCTCACGCGCCAGAACCACGTAGCGGGATTCGCCTAATACCGCAACGATATCTTCCAGGCTATCTA
+ACAGACGGTGGGTAGATTCATAAAAAATCAGCGTGCGCGGCTCCGCTTCAATAGCTTTTAGCGCATCACG
+GCGGCCTTTTGATTTGGCAGGTAAAAAGCCTTCATAACAAAAACGATCGGATGGTAAACCCGCGGCGCTT
+AACGCAGTGATAGCAGCACACGGCCCTGGTAGCGGCACCACGCGAATCCCCGCTTCACGACAGGTACGCA
+CCAGATGGTAGCCAGGATCGTTAATTAGCGGCGTTCCGGCATCGGAAACCAGCGCAATGTTTTGCCCCTC
+TTGCAGTTTCGCCAGCAGCGTTTCGGCTTTTTGTTGTTCGTTATGGTCGTGCAGCGCAAACAACCGGGCA
+TTAATCCCAAAATGTTGCAGCAATAAACCGGTGTGACGCGTATCCTCGGCGGCAATCAGATCAACGGCCT
+GTAATACCTCTAATGCACGCTGGGTGATATCAGCCAGATTGCCGATTGGCGTCGGTACAATGTAAAGCTG
+GCCCTGAGAATTATCCGCCGATTGGTGTTGTTTCATTGTGTCGTCCGTATTGCCGATTTAATATTGAGCA
+TTGCGTAAAAAAAATATCACTGGATACATTATGGTACCCTCAACATTTTCTCGTTTGAAAGCCGCGCGTT
+GTCTGCCTGTTGTTCTGGCAGCCCTGATTTTCGCCGGTTGTGGCACCCATACTCCCGATCAGTCCACTGC
+TTATATGCAGGGCACGGCGCAGGCTGATTCTGCCTTTTACCTGCAACAGATGCAGCAAAGTTCTGATGAT
+ACCAGGATCAACTGGCAATTACTCGCCATTCGTGCACTGGTGAAAGAAGGTAAAACCGGACAGGCGGTGG
+AGTTGTTTAACCAACTACCGCAAGAACTGAACGATTCTCAGCGTCGCGAGAAAACACTGCTGGCGGCAGA
+GATTAAACTGGCGCAGAAAGATTTTGCTGGCGCGCAAAACTTGCTGGCGAAAATCACACCTGCAGATTTA
+GAACAAAACCAGCAAGCGCGTTACTGGCAGGCAAAAATCGATGCCAGCCAGGGGCGTCCTTCCATTGATT
+TACTGCGCGCGTTAATTGCTCAGGAACCGCTGCTCGGCGCGAAAGAAAAGCAGCAGAATATTGACGCCAC
+CTGGCAGGCGCTCTCCTCCATGACTCAGGAGCAGGCGAATACGCTGGTGATCAACGCCGACGAAAATATT
+CTGCAAGGCTGGCTGGATTTGCAGCGCGTCTGGTTTGATAACCGTAACGATCCTGACATGATGAAAGCTG
+GGATCGCCGACTGGCAGAAACGTTATCCGAACAACCCGGGCGCGAAAATGCTACCAACGCAGTTGGTTAA
+CGTAAAAGCGTTTAAACCAGCATCGACCAACAAAATCGCCCTGCTGTTGCCGCTGAATGGCCAGGCAGCG
+GTATTTGGTCGCACTATTCAGCAAGGCTTTGAAGCGGCGAAAAATATCGGCACTCAGCCAGTGGCGGCCC
+AGGTAGCAGCCGCACCTGCCGCAGACGTAGCAGAACAACCTCAGCCGCAAACCGTGGATGGCGTTGCCAG
+CCCGGCACAAGCTTCGGTTAGCGATCTGACCGGTGAACAGCCTGCGGCCCAGTCGGTGCCTGTAAGCGCC
+CCGGCGACAAGCACCGCAGCGGTAAGCGCACCCGCAAATCCATCCGCAGAGCTGAAAATCTACGATACCT
+CATCACAACCACTTAGCCAGATCTTAAGCCAGGTTCAGCAGGATGGTGCGAGTATTGTGGTCGGTCCGTT
+GCTGAAAAATAACGTTGAAGAGTTGCTGAAGAGCAACACCCCGCTGAACGTGCTGGCACTGAACCAGCCG
+GAGAACATCGAAAACCGCGTCAATATTTGTTACTTCGCGCTTTCACCGGAAGACGAAGCGCGCGATGCAG
+CGCGTCATATTCGTGACCAGGGTAAACAAGCGCCGCTGGTGCTGATCCCACGCAGTTCATTGGGCGATCG
+CGTAGCCAATGCGTTTGCGCAAGAGTGGCAGAAACTGGGCGGCGGCCCCGTTCTGCAACAAAAATTTGGT
+TCCACCAGCGAATTACGCGCGGGTGTTAACGGCGGTTCGGGTATCGCTTTAACGGGTAGCCCGATTACTC
+CCAGAGAAACAACCGACTCCGGCATGACGACCAACAATCCAACGCTGCAAACCACGCCAACCGATGATCA
+GTTCACCAATAATGGCGGTCGTGTCGATGCGGTGTACATTGTGGCAACGCCGGGTGAAATCGCTTTTATC
+AAACCAATGATCGCCATGCGTAACGGTAGCCAGAGCGGTGCAACGCTGTACGCCAGCTCCCGCAGTGCGC
+AAGGGACCGCTGGCCCGGATTTCCGCCTGGAGATGGAAGGCTTGCAGTACAGCGAAATCCCGATGCTGGC
+AGGCGGTAATCTGCCGTTAATGCAGCAGGCGCTCAGCGCGGTGAACAACGATTATTCGCTGGCTCGCATG
+TATGCGATGGGCGTCGATGCCTGGTCGTTGGCAAATCATTTCTCACAAATGCGCCAGGTTCAGGGTTTTG
+AAATCAACGGTAATACCGGAAGCCTGACGGCAAACCCGGATTGCGTGATTAACAGGAAGTTATCATGGCT
+ACAGTACCAACAAGGTCAGGTAGTCCCCGCCAGTTAACCACCAAACAGACCGGCGATGCGTGGGAAGCAC
+AAGCGCGTCGCTGGCTGGAAGGCAAAGGACTACGGTTTATCGCCGCTAACGTGAACGAGCGTGGCGGCGA
+GATCGATCTGATAATGCGTGAAGGCCGGACCACCATTTTTATCGAGGTGCGTTACCGCCGCTCTGCGCTT
+TATGGCGGCGCGGCAGCCAGTGTGACCCGCAGCAAACAACACAAATTATTACAGACTGCCCGCTTGTGGC
+TCGCGCGTCATAATGGGAGTTTTGATACTGTGGATTGCCGGTTCGATGTGGTAGCCTTCACCGGGAATGA
+GGTTGAGTGGATTAAGGATGCCTTTAATGACCACTCATAATTAAGGTTTAAGGATTAGCGTGCAAGAAAG
+AATTAAAGCTTGCTTCACTGAAAGCATTCAAACTCAAATTGCGGCGGCAGAGGCGCTTCCGGATGCCATC
+TCCCGTGCAGCCATGACGCTGGTTCAGTCTCTGCTCAATGGCAACAAAATCCTCTGTTGTGGTAATGGAA
+CTTCCGCTGCCAATGCACAGCATTTTGCTGCCAGCATGATCAACCGTTTCGAAACGGAGCGGCCCAGCTT
+ACCTGCCATTGCACTAAATACTGATAATGTTGTCTTAACGGCAATTGCCAACGATCGCTTACATGATGAA
+GTGTATGCAAAACAGGTGCGGGCGCTGGGCCATGCGGGAGATGTATTGTTAGCCATTTCCACCCGTGGCA
+ACAGCCGCGATATTGTAAAAGCGGTAGAAGCTGCCGTTACGCGTGATATGACCATTGTGGCATTAACCGG
+CTATGACGGCGGTGAACTTGCAGGTTTGTTAGGGCCACAGGATGTGGAGATCCGCATTCCTTCGCATCGT
+AGTGCTCGCATTCAGGAAATGCATATGCTGACGGTAAATTGCCTGTGCGATCTGATCGATAACACGCTTT
+TCCCTCACCAGGATGTTTAAGGAGAATACATGAAGGCATTATCGCCAATCGCAGTCCTTATTTCCGCGCT
+GCTGTTGCAAGGTTGTGTTGCCGCTGCCGTAGTGGGTACTGCTGCTGTGGGTACCAAAGCCGCAACTGAC
+CCACGCAGTGTCGGCACCCAGGTAGACGATGGTACCCTGGAAGTGCGCGTGAACAGCGCATTGTCGAAAG
+ACGAACAAATTAAGAAAGAAGCGCGCATTAATGTAACGGCCTATCAGGGCAAAGTGCTGCTGGTTGGGCA
+GTCACCAAACGCTGAACTTTCGGCTCGCGCCAAACAGATTGCTATGGGCGTAGACGGTGCCAACGAAGTG
+TATAACGAGATTCGTCAGGGCCAGCCGATTGGTCTGGGCGAAGCGTCTAACGATACGTGGATCACCACCA
+AAGTACGTTCGCAGCTGTTAACCAGCGGCCTGGTGAAATCGTCCAACGTGAAAGTGACCACCGAAAACGG
+TGAAGTGTTCCTGATGGGGCTGGTGACTGAACGTGAAGCGAAAGCGGCGGCAGATATTGCCAGCCGGGTA
+AGCGGCGTGAAGCGGGTAACTACGGCGTTTACGTTTATTAAATAGCAGCCCTTGTAATGCCTGATGCGAC
+GCTTGCAGCGTCTTATCAGGCCTACAACGATGCAAACCGTAGGTCGGATAAGGCGTTTACGCCGCATCCG
+ACATGTTTTCCCTCAAATCAAACCAACAGCGCCAGCCCGCCGACAATCACACCAGACACTGCCACCATCG
+CCCCCGTCAGCCATAAGGCTTTCGTCGGGAACGCTTTGCGCAGCATAATCAGTGACGGCAAACTCACCGC
+CGGGAGCGTCATCAACAATGCCAGCGCCGGAGCAGTTCCCATACCTGCCAGCATCATCGTTTGTACAATC
+GGAATTTCTGCTGCCGTGGGAATGACAAACAAGCATCCTGCCACCGCCATCGCCACCACCCACATCAGGC
+TGTTATCGACAGCACCATCGGCATGGGGGAATAACCAGACGCGAGCGGCACCCAACACCAGTACTGCAAG
+GATGTAAACCGGGATCGTACTCCAGAAAAGCGTCCATAGCGCCCTGCCCCAGCGGCTAAAAAATCCTCCC
+TGTGCTTCCGGTATGTCAATTTCGACCGGTGCCTGCGTTTGCGGTGTTTCACGCACCCATTTTTGCACCA
+GCGTCGCAATCAGCAACACCATCACCAGCCCCGCCACCAGACGAATCGCCGCAAAATCCCAGCCGAGGAC
+GAACCCCATAAACACCAGCGTCGCCGGGTTTAACAACGGATTCCCCATCCAGAATGCCAGCGCACCGCCC
+ATCGACACCTGTTGGCGACGCATTCCCGCCGCGACCGGAGCCGCACAGCAGGTACACATCATACCCGGCA
+GCGAAAACAGCGTTCCCAGCAGCGTGCCGCGAAAGCGCGATTGCCCAAGCGTACGCAACAACCAGTCACG
+CGGGATCAGCACCTGAATCAACGAACCGAGGATCACCCCCAGCACCGCCGCTTTCCATACCGCGAGAAAA
+TAGATCATCGCGTAATTCAACGCCGCCTGCCACGGATTAGCATCCGCCTGCGCAAGGATAGATTTACCGA
+TACTGTGGGTTTCGGCAGCAGTAAACGCTTTGCCGTAGTAAGGTTGCCATTTCACATACCAGAGACCGGC
+AATGACAACGAGAAAGAAAAGCGCGGGTTTCCACCACTGAATGGGCGTTGCCGCCTGAGATGAAGACTGA
+CCAGTCATAGCATTCCCCAGGAATAAGTTATGATAATTGAGCGCGTGAATATTACGCTCACTATCAATTC
+TTGGGAATAATTATTCAGCTCTTTTGCGTAATTCTGAAGAGCTTAAAATCGTCACACCTTCATGCTCAGG
+CCGCATCGCCTCTGCCAGCATGACCCGCGCCACGTCTCTCGCATCAATGGATTTCCAGTTACCGGGTAAC
+AAACGGAACAGCGGCGCAAAAAGCGTTTCGTTCATCCGCTGTTTGCTACGATCGCCCAGTAACATCGACG
+GGCGAGCAATGGTCAATTTCGGCCAGTTCTGGGCGATTAATGCTTCTTCCATCTCCCCTTTGACGCGGTT
+ATAGAAAAACGGCGAGTGGGCATTAGCACCCATAGCACTGACCACCAGCATATGCTGCGCACCGAGCCGC
+CGCCCGGTTAATGCGGTATCCACCACCAGCGTGTAATCGGCATGAATAAACGCCTCTTTGCTCCCCGCTT
+CTCGCCGCGTGGTGCCGAGACAACAAAACACAATGTCGATGGGATCGGTGACTTGCGCCAGCGCGTCAGT
+CAGTTGCGGATCATGGGGATTAAACACCCCGGGCATATCGCCCAACGGACGTCGCGTCGGCGCGGCTATG
+GCGTTAACTTTCGGTTCGTTAATCAACATCCGCAGCAGGTGACCGCCCACCAGCCCCGTTGCGCCTGTAA
+TCAGTACCTGACTCATCTTCGCTCCTTTACAGAATTGTCTGCCTTGCGCTCCCCGGCTCATGCACCAGGC
+TTAATAGACCATGAGGTAATTATCCCCGATTGTGGGAAATTCGCCTCATCCAATGCAACAACGCGGAGGA
+AGCATGAGTAAGAAAATTGCCGTTTTAATCACTGATGAATTTGAGGATTCAGAATTTACTTCACCCGCAG
+ACGAGTTCCGTAAAGCCGGACACGAAGTGATTACCATTGAAAAACAAGCGGGTAAAACGGTGAAAGGCAA
+AAAAGGAGAAGCCAGCGTGACCATCGATAAATCCATCGATGAAGTGACGCCAGCGGAGTTTGATGCCCTG
+CTGCTACCGGGCGGTCATTCACCGGATTATCTGCGTGGCGACAACCGTTTTGTCACTTTCACCCGTGATT
+TTGTGAATAGCGGCAAACCTGTTTTCGCCATCTGTCACGGTCCGCAGCTGCTGATCAGCGCCGATGTGAT
+TCGGGGGCGCAAACTGACTGCCGTTAAACCGATCATTATTGATGTTAAAAACGCGGGCGCGGAATTTTAC
+GATCAGGAAGTGGTGGTCGATAAAGATCAGCTGGTTACCAGCCGAACGCCGGACGATCTGCCAGCGTTTA
+ACCGCGAGGCGTTACGCCTGCTCGGTGCCTGAGTTACGTAGCCAGATCATTTTTTTACCAAAGCCCAGCG
+TGTTGTCGGTGAATTTGATTTCATCAAGCCGGATTTCCCACACCGGGGCCGACAGCATTCTGGCAACCGG
+AAAGCGACGATTGTACGCCTGGCGCGCAAGGTCGCTTTCCTCACCTTCAAGCCTGCGGATCTCGCCTTTA
+AATTGCACGCCGCGAATTAACGCTACCGTTTTCGGCTGACCGTTTACCGTTCCGGCAACTGCCGCCTGCG
+GCCCACTCATCTGCGCGTGGCGCGTTTTTTCTTCCGTCAAAATGTAGAAGGCGACTTTCTGCGCATCAAA
+AAGATAAAAGGCATTAGCGCACCAGAGTTCCCCTTCCTGCTGCACACACCAGGTGACAACATGTTGTTTT
+GCCAGCCAACGGCTGATGGCGGTGAGTGTTTCCATAGCTGTTCTCTTTTATACTGTGGGCCTGACCTTAA
+CATGCGACGCAGACGATGACACCCTGGTTTCTTTACTTGATCCGTACCGCCGACAATAAGCTTTATACCG
+GGATCACCACAGATGTCGAACGCCGCTATCAGCAGCACCAAAGCGGCAAAGGGGCGAAAGCACTGCGCGG
+GAAAGGAGAACTAACGCTGGCGTTTTCCGCGCCAGTGGGCGATCGTTCGCTGGCACTACGGGCGGAATAT
+CGCGTTAAGCAACTGACCAAACGGCAAAAAGAGCGTCTGGTAGCGGAAGGTGCAGTGTTTGCAGAACTGT
+TGAGCAGCCTGCAAACCCCGGAGATTAAAAGCGATTGAAGTGCTCGTGATACTCAACCAGACCAGTTACA
+CCGTTCAGCGCGTCATCCGCTAAACGATGTACCTGGAAGGCACTTTCAGTGCCCGGCCAGCGGCAACGCA
+GATCGTGATGTGCCGCCAGTTCAAAGCCGAAACGGCTGTACAGCGCCGGATCGCCCAGCGTCACCACTGC
+GGCATAGCCGAACTCATTAAGCGAATCGAGTCCTTCATAGACCAGTTGGCGTGCCAGCCCCTGTCCACGG
+TATTTTTCATCTACCGCCAGCGGTGCCATGCCGACCCATTGCAGGTCTTCGCCCTGCACATCAACCGGAC
+TAAATGCCACATAGCCAATGACCTGACCTTCGTCATCTGTCGCCACCAGCCCCAGCGTCAGAAAGCCATC
+TTCACGCAGATCGTGAACCAGCTTCGCTTCCGCATCACTTTCGAATGAACGACGCAGCAGGGCATCAATA
+CCCGGCGCATCAATGGGAATTTCTACTCGAATTAGCATGGTTCACCTACCGATGTCTGTTTGGTTTCAGG
+CGCGGTTTTCATTCCCGCCTCAACAAAATCCGCCAGTTGCAGCAGCATCATGCGTAAGGCTTTCGGCATT
+TGCTCCAGTTCAATGGCGTCCATCAGGTTTTTCACATACAGCCCCAGCTCCGTATCGCCTTCAATCACCA
+GCCGACGCTGGAAGAAGAGCGTATCCGGATCTTGTTTACGCGCCGCAATCATCAGCAGATCGCTGGCGTC
+GGCACTAAAACTCACATCAGCTTGCGCGTTCTGGCTAACGACCAGTTTGCCATTCACCACCGAGGTAAAC
+CATTGCAGGTCAATATCACGCACATGAATACTTAACCAGCGGCCTTCGAGAAACTCCAGCTCGCCATCAT
+CCAGCGCCTGACGGAATTGCCAGCTTAAGACCTGCTCTAGAACCTGGCGTTTTAGCGCAAATGGCGTCAG
+TTTTACCGGTACACTCAACAGAGATGGCCCCAAATGCACAATACGGGAACGCAGTTTATCCAACACGAGT
+TTTACTCCCTGTTTCAACAATCATCCTATTTTGCCATATCAGAAAAATAACATAGCGGTATAAATCAACA
+ATTCCATATGAAATTGCTGCTACCACCAATACAACTTTAACTGCCTTAAATCAAAAATTGTCGCAGCAAG
+GTTAACTAAAATCCCAGTTCGTTAACATTTTTGCGTTTTGATAGCGCAACCTTCAGGAAAAATTATGGAG
+CTGCTCTGCCCTGCCGGAAATCTCCCGGCGCTTAAGGCGGCCATCGAAAACGGCGCAGATGCTGTTTATA
+TCGGGCTAAAAGATGATACCAATGCCCGTCACTTCGCCGGCCTTAACTTTACCGAGAAAAAATTGCAGGA
+AGCGGTGAGTTTTGTCCATCAACATCGCCGCAAACTTCACATCGCGATTAACACTTTTGCGCATCCGGAC
+GGTTACGCCCGCTGGCAGCGCGCCGTGGATATGGCGGCGCAGCTGGGTGCCGACGCGCTGATCCTCGCCG
+ACCTCGCCATGCTGGAGTACGCCGCCGAGCGTTATCCGCATATTGAGCGCCACGTATCGGTGCAGGCTTC
+GGCGACCAATGAAGAGGCGATTAACTTTTATCATCGCCATTTTGACGTTGCCCGCGTGGTGCTGCCGCGC
+GTGTTGTCGATTCATCAGGTAAAACAACTGGCACGGGTCACACCTGTACCACTGGAAGTCTTTGCTTTCG
+GCAGCCTGTGCATTATGTCGGAAGGTCGTTGCTATCTGTCGTCGTATTTGACGGGTGAATCGCCCAACAC
+CGTGGGTGCGTGTTCTCCGGCCCGTTTCGTGCGCTGGCAACAAACGCCGCAGGGGCTGGAATCCCGCCTG
+AACGAAGTGCTGATCGACCGTTATCAGGACGGCGAAAACGCAGGTTATCCGACGCTGTGTAAAGGGCGTT
+ATCTGGTGGACGGCGAGCGCTATCACGCGCTGGAAGAACCAACCAGTCTCAATACCCTTGAGCTGCTGCC
+GGAGTTAATGGCGGCGAATATCGCTTCGGTGAAAATTGAAGGCCGCCAGCGTAGCCCGGCGTATGTCAGC
+CAGGTGGCGAAAGTCTGGCGTCAGGCTATCGACCGTTGTAAGGCCGATCCGCAAAACTTCGTGCCGCAAA
+GCGCGTGGATGGAGACTCTCGGGTCGATGTCCGAAGGCACGCAAACTACCCTTGGCGCGTATCACCGTAA
+ATGGCAGTGAGAAAAGCAATGAAATATTCCTTAGGGCCGGTGCTATGGTACTGGCCAAAAGAGACGCTGG
+AAGAATTTTATCAGCAGGCCGCCGCCAGCAGCGCCGACGTGATTTATCTTGGTGAAGCGGTCTGTAGCAA
+ACGCCGGGCAACCAAAGTTGGCGACTGGCTGGAGATGGCAAAATCGCTCGCCGGAAGTGGCAAGCAGATT
+GTGCTCTCCACGCTGGCGCTGGTGCAGGCATCCTCCGAACTGGGCGAACTGAAACGCTATGTTGAGAACG
+GTGAGTTTCTGATTGAAGCCAGCGATCTCGGCGTGGTGAATATGTGCGCTGAACGCAAACTGCCGTTCGT
+CGCCGGGCACGCGCTGAACTGCTACAACGCGGTGACGCTGAAAATATTGCTCAAACAGGGCATGATGCGC
+TGGTGTATGCCGGTGGAGCTTTCCCGCGACTGGCTGGTGAATCTGCTTAATCAGTGCGATGAACTGGGCA
+TTCGCAACCAGTTTGAAGTGGAAGTCTTGAGCTACGGTCATCTGCCGCTGGCCTACTCCGCCCGCTGCTT
+TACCGCGCGTTCGGAAGACCGCCCGAAAGATGAGTGTGAAACCTGCTGCATTAAATATCCGAACGGGCGC
+AACGTACTTTCGCAGGAAAACCAACAAGTGTTTGTACTCAACGGCATTCAGACCATGAGCGGCTACGTTT
+ACAACCTCGGTAACGAGCTGGCATCCATGCAGGGGCTGGTCGATGTGGTCCGCCTGTCACCGCAGGGTAC
+TGACACTTTCGCAATGCTCGATGCCTTCCGCGCTAATGAAAATGGCGCTGCGCCACTACCGTTAACGGCA
+AACAGCGATTGTAACGGCTACTGGCGGCGACTGGCCGGGCTGGAGCTGCAAGCGTAAGTATATAGCTCAC
+TTTGTTAACAACTTTAACTACTCTTTAATGCAGTATTAAAGATTAATCGGTAACAAAGTGAGCTGTTATG
+ACTGATAAAACCATTGCGTTTTCGCTACTCGATCTGGCCCCCATCCCCGAAGGTTCTTCAGCGCGGGAAG
+CGTTCTCCCACTCTCTCGACCTCGCTCGTCTGGCTGAAAAGCGCGGCTATCATCGCTACTGGCTGGCGGA
+ACACCACAATATGACCGGCATTGCCAGTGCTGCAACGTCGGTGTTAATTGGCTATCTGGCGGCGAATACC
+ACCACGCTGCATCTGGGGTCTGGCGGCGTGATGTTGCCTAACCACTCACCGTTGGTGATCGCCGAACAAT
+TCGGCACGCTCAATACGCTCTATCCGGGGCGAATCGATTTGGGGCTGGGCCGCGCGCCGGGTAGCGATCA
+GCGAACCATGATGGCGCTGCGTCGTCATATGAGCGGCGATATTGATAATTTCCCCCGCGATGTCGCGGAA
+CTGGTGGACTGGTTTGACGCCCGCGATCCCAATCCGCATGTGCGCCCGGTACCAGGCTATGGCGAGAAAA
+TCCCCGTGTGGTTGTTAGGATCCAGCCTTTACAGCGCGCAACTGGCGGCGCAGCTTGGTCTGCCGTTTGC
+GTTTGCCTCACACTTCGCGCCGGATATGTTGTTCCAGGCGCTGCATCTTTATCGCAGCAACTTCAAACCG
+TCGGCACGGTTGGAGAAACCGTATGCGATGGTGTGCATCAATATTATCGCCGCCGACAGCAACCGCGATG
+CCGAATTCCTGTTTACCTCAATGCAGCAAGCCTTTGTGAAGCTGCGCCGCGGCGAAACCGGGCAACTGCC
+GCCACCGATTCAAAATATGGATCAGTTCTGGTCGCCGTCCGAACAGTATGGTGTGCAGCTGGCGCTGAGT
+ATGTCGCTGGTGGGCGATAAAGCGAAAGTGCGTCATGGCTTGCAGTCGATCCTGCGCGAAACCGACGCCG
+ATGAGATTATGGTTAATGGGCAGATTTTCGACCACCAGGCACGCCTGCAGTCGTTTGAGCTGGCGATGGA
+TGTGAAGGAAGAGTTGTTGGGGTAGTGTGTTTTAACGTAGGAAGCCTTATCCGAGATGGCAACGCTGTTC
+TACGTAGGCCTGATAAGCGAAGCGCATCAGGCATTGTGTAGGCAGCAGAAATGTCGGATAAGGCACCGCT
+GATTACTGATACACCGGCAGCACATTAAAGCTCGATAAGATATGGACCAGTGCGTTGCCAACGCCAAATA
+CCAGAATCAGCATAATCATCGGCTTGCCGCCCCAGACACGGAATTTCGGGCTACCAAAGCGTTTACGCGA
+TGCGCGGGCCAACAGCGCCGGAACAATTGCCGCCCAGATGGTAGCCGCTAAGCCAGCATAACCAATGGCG
+TACAGGAATCCGTTCGGGAACAGAAGCCCCCCCACAACAGGCGGGGCAAAGGTCAGCAACGCTGTTTTCA
+AGCGGCCCATAGCCGAGTCATCGAAACCAAACAGATCTGCCAGATAGTCAAACAAACCCAGCGTAACGCC
+GAGGAACGAACTCGCTACCGCAAAGTTTGAGAACACAACCAGCAGCAGATCCAGGCTACGGCTGTTCAGC
+ACGCCGCTTAACGCCTGTACCAGCACATCAATATTACCGCCCTTCTCGGCGATGCCGATAAACTCCGGAC
+GAGGGATGTTGCCCATCGTCGCCAGCAACCAGATGGTATACAGCGCCAGCGCCATCAGCGTACCGTACAC
+CAGGCATTTCACGATGGTTTTCGGATCTTTGCCGTAATACTTCATCAGGCTCGGCACGTTACCGTGATAA
+CCAAAAGATGCCAGACAGAATGGCAGTGTCATCAGCAGATACGGCGCATAAGACGCATTGCTTTCGGCGA
+CGTTGAACAAGGTCGTTGGCTGTACATGCCCCAGCAGGCTGCCGAAGGTGAGGAAGAAAGTAATGACTTT
+CGCCCCCAGCACAATTGCTGTCATCCGGCTGACAGCTTTCGTACTCAACCACACCACGAACGCTACCAGC
+AGTGCAAAACCAAATCCAGCTGCCCGTGCAGGGACGTTCAGCGACATCTCCGCGAAGGTGTGATGCAGAA
+TCGAACCGCTGGCAGAAATATAGGCGTAAGTCAGGATATAGAGCACAAAGGCAATGGAAATGCCGTTGAC
+TACGTTCCAGCCTTTGCCCAGCAAATCTTTGGTGATGGTGTCAAAGCTAGAACCGATTCGATAATTCAGG
+TTAGCTTCCAGAATCATCAAGCCGGAATGCAGCATACAGAACCAGGTAAAGATCAGCGCCGCCATTGACC
+AGAAGAACCACGCCCCGGACATGACCACAGGCAGAGAAAACATCCCTGCGCCAATAATGGTGCCGCCGAT
+AATCACCACGCCGCCAAGCAGCGACGGTGACGTTTGGGTGGTGGTTAGTGTTGCCATGAGGGCTTCTCTC
+CAGTGAAAAATAGTGCGACTGTGTTGTTATGCATTGCACTGTACCAGTACATGAGTACAAAAAACAGAAA
+AAAAGCCCCGATGGTTAAAATCGGGGCTGTATATATTATTTTACAGATTGTGTTCGCTGTTCAGCGATGA
+TTACGCATCACCACCGAAACGACGACGACCGGTAGAGTCATCACGACGCGGAGCGCGGCCTTCACGACGT
+TCGCCGCTAAAACGACGACCATCACCACGACCACCTTCACGGCGTTCACCGCTGAAGTTACGACCGCCTT
+CACGACGTTCGCCACCGAAACCACGACCACCGCCACGACGCTCACCGCCAGTATGCGGCTGTGCATCGCC
+CAGTAACTGCATGTTCATCGGCTTGTTGAGAATGCGAGTACGCGTAAAGTGTTGCAGCACTTCACCCGGC
+ATACCTTTCGGCAGTTCGATGGTGGAGTGAGAAGCAAACAGCTTGATGTTACCGATGTAACGGCTGCTGA
+TGTCGCCTTCGTTAGCAATCGCACCAACGATATGACGAACTTCAACACCATCATCGCGGCCCACTTCAAT
+ACGGTACAACTGCATATCGCCAACATCACGACGTTCGCGACGCGGACGATCTTCACGGTCGCCACGCGGG
+CCACGGTCGTTACGATCGCGCGGACCACGGTCATCACGGTCACGGAATTCACGTTTCGGACGCATCGGCG
+CATCTGGCGGAACAATCAGAGTACGTTCACCCTGTGCCATTTTCAGCAGTGCGGCGGCCAGAGTTTCGAG
+ATCCAGCTCTTCACCTTCTGCCGTCGGCTGAATTTTGCTCAGCAGTGCACGGTATTGATCCAGATCGCTG
+CTTTCCAGCTGCTGCTGTACTTTAGCGGCGAATTTTTCCAGACGACGTTTGCCCAGCAGTTCTGCGTTCG
+GCAGTTCAACTTCCGGAATGGTCAGCTTCATGGTGCGTTCAATGTTACGCAGCAGACGACGCTCACGGTT
+CTCAACGAACAGCAGCGCACGGCCAGCACGACCCGCACGACCGGTACGACCGATACGGTGAACGTAAGAC
+TCAGAATCCATCGGGATATCGTAGTTAACCACCAGGCTGATACGCTCAACGTCCAGGCCACGGGCCGCAA
+CGTCGGTCGCAATCAGGATGTCCAGACGACCATCTTTCAGTCGTTCCAGTGTCTGCTCACGCAGCGCCTG
+GTTCATGTCACCGTTCAGCGCGGCGCTGTTGTAGCCGTTACGCTCAAGGGCTTCTGCCACTTCCAGAGTC
+GCGTTTTTGGTACGAACGAAGATAATCGCCGCATCAAAATCTTCCGCTTCCAGGAAACGTACCAGTGCTT
+CGTTTTTACGCATACCCCAGACAGTCCAGTAGCTCTGGCTGATGTCAGGACGGGTCGTCACGCTGGACTG
+AATGCGCACTTCCTGCGGCTCTTTCATAAAGCGGCGGGTAATGCGACGAATCGCTTCCGGCATGGTTGCA
+GAGAACAGAGCGGTCTGATGACCTTCCGGGATCTGCGCCATAATGGTTTCAACGTCTTCGATGAAGCCCA
+TGCGCAGCATTTCGTCAGCTTCATCCAGAACCAGACCGCTCAATTTAGAGAGGTCCAGAGTGCCACGTTT
+CAGGTGGTCCAGCAGACGGCCCGGAGTACCGACAACGATCTGCGGCCCCTGACGCAGGGCGCGTAATTGC
+ACGTCATAACGTTGGCCGCCGTACAGGGCAACCACGTTTACGCCGCGCATGTGTTTAGAGAAATCCGTCA
+TTGCTTCAGCAACCTGTACCGCCAGTTCGCGGGTCGGTGCCAGCACCAGAATCTGTGGTGCTTTCAGCTC
+AGGATCAAGATTCTGCAGCAGAGGTAAAGAGAATGCTGCAGTTTTTCCGCTCCCCGTCTGGGCCATACCC
+AGGACGTCGCGGCCATTCAGCAGATGTGGAATACACTCTGCCTGAATTGGAGATGGTTTTTCGTAACCCA
+GATCGTTAAGGGCTTCAAGGATAGGAGCCTTCAGGCCCAGATCTGCAAAAGTGGTTTCGAATTCAGCCAT
+GTAGTACGTGTGCCTCAAAATTAATGGCGGCCAGTCTACATAACTCATCATGAAATTGATCAGCAATTTT
+CATTGAAAAGTGTGAACCGGCTCAAAGTAGGTGTATTAACGAACAACAACGCCCTCACCCGTTAAGGTGA
+TGGCAATAAAAAAAGATTACGGGCTGATGTGTACGTCAGCTATTGCTGGTCCGATTCTGCCAGGTCATCT
+TGGTCCTGGCCCAGGAGCGATAATTCCAACAATGCGTATCGGTGCTCAACAAAGTTATGAACGTTGTTGG
+CAACCGCCAGTTTGAACAGTGCCGTGGCGCTGTCCAAATCCCCCAGACTTAGGTAGTACTTACCTAAATA
+GAAGTTGGTTTCACTGAGATGCTCAGCGAGCGAGGTGTTATCCGTTGCGTCCGCCTTGAGCCTTTCCATT
+AACGTTTGTTCGCTAATGTTGCCCAGGTAGAACTCGACAATGTTCCATCCCCACTGTTCCTTATCCGATT
+TTTCGAAGTGCTGTTTCAACACTTCTTTAGCCTGCTTCTCATCGAGCTTCTGCTCGGCGAGATAAAGCCA
+CAGACTACGGAAAGGATCATTGGGATCGTCTTGATAAAACGCCAGCAGATCATCTTGCGCTAACTTGTCA
+CGACCGCCGTAATATAATGCGATCCCGCGATTCAAGTGCGCGTAGTTGTAAGTTGGATCAAGCTCAAGTA
+CAGAATCAAACGCTTCATAGGCAGCATCAAAATTGCCTGCCTGCGTTAAATATATGCCTAAGTAATTGAA
+TACTTCAGGCATATCCGGTCGGATTGCCAGCGCTTGCGAAAAATCGTTACGCGCTAATGCCCTCAGACCG
+AGACTATCATACAACACTCCGCGCTCATATAAAAGCTGTGCGCGTTCGTCATCGGTTAAAGCCCGACTGG
+CAAGGATCTGTTCCATACGTGCCAGAATCACTTCCTGCTGTAAAGTCGGTTGCAATGGTACCGCGAGGAC
+TTCACTTTTACGCCAGGAAGTATTACTGCATCCTGCAAGCGTAAGTGCTGTCGCAACGAAACACCAGCGC
+AAAAAAGGCTTCATTTCCCACTCCCGAAGACCACGGTTGAATGAACGTCCTGTTCCCGGTTGCTAACAAG
+GCGTCCTGCCCGGTTAAAAGCCCCCCGCCGCAGCGGAGGGCAAATGGCAACCTTACTCGCCCTGTTCAGC
+AGCCGGAGCTTCCGGTGCTGCAGCAGGTTGAGACTGCTCAGTCGCTTCTTTAATGCTCAGACGGATACGG
+CCCTGGCGATCAACTTCCAGCACTTTCACCGGTACTTCCTGACCCATCTGCAGGTAATCGGTCACTTTCT
+CAACGCGTTTATCAGCGATTTGAGAGATGTGGACCAGACCTTCTTTACCGCCACCAATGGCAACAAATGC
+GCCAAAGTCAACGATACGGGTCACTTTACCATTGTAGACGCGGCCCACTTCGATTTCTGCAGTGATCTCT
+TCGATACGACGAATCGCGTGTTTCGCTTTCTCGCCGTCGGTCGCTGCGATCTTCACAGTACCGTCATCTT
+CAATTTCGATGGTGGTGCCGGTTTCTTCGGTCAGAGCACGGATTACAGAACCGCCTTTACCGATAACATC
+TTTGATCTTGTCCGGGTTGATCTTGATGGTATGGATACGCGGTGCGAACTCAGAGATATCGCCACGCGGC
+GCGTTGATCGCCTGTTCCATTACCCCCAGGATATGCAGACGCGCACCTTTAGCCTGGTTCAGTGCAACCT
+GCATGATCTCTTTGGTGATACCTTCAATTTTGATATCCATCTGCAATGCAGATATACCGTCACGGGAACC
+CGCAACTTTGAAGTCCATATCGCCCAGGTGATCTTCGTCGCCCAAAATGTCAGACAGTACAACGTAGTTG
+TCGCCTTCTTTCACCAGACCCATTGCGATACCCGCAACGGCAGCTTTGATTGGCACACCTGCGTCCATCA
+GCGCCAGAGACGCGCCGCACACGGAAGCCATAGAAGAGGAACCGTTGGATTCGGTAATTTCAGACACAAC
+ACGTACGGTGTACGGGAATTTGTCCATATCCGGCATTACTGCCAGCACGCCGCGCTTCGCCAGACGACCG
+TGACCAATTTCACGACGCTTCGGAGAACCGACCATGCCGGTTTCGCCTACGGAGTACGGAGGGAAGTTGT
+AGTGGAACAGGAAGGTATCGGTACGTTCGCCCATCAGTTCATCAAGAACCTGCGCGTCACGAGCAGTACC
+CAGCGTTGCGGTAACCAGCGCCTGCGTTTCACCACGGGTGAACAGCGCAGAACCGTGAGTACGCGGCAGC
+ACACCAGTACGCACATCCAGACCACGGATCATATCTTTTTCACGACCGTCGATACGCGGTTCGCCTGCCA
+GTACGCGGCTACGAACAACATTTTTCTCGATAGCGTGCAGAATTTCACCCAGTTCGTTTTCGTCCAGGGT
+TTCGTCTTCAGCAAGCAGTGTCGCGATGGTTTCAGATTTGATGACATCAACCTGCGCATAACGCTCTTGT
+TTGTCGGTGATGCGGTAAGCATCGCTCAGACGAGCTTCAGCCAGCGCAGCAACGCGCGCGTTCAGCGCTT
+CGTTTACCGGCTCCGGCTGCCAATCCCAACGCGGTTTACCGGCTTCTTTCACCAGTTCATTGATGTTCTG
+AATAACAACCTGCTGTTGTTCATGACCGAACACCACTGCGCCCAGCATTTGGTCTTCGCTCAGCAGTTCA
+GCTTCAGATTCAACCATCAGCACGGCAGCTTCTGTACCGGCAACAACCAGGTCCAGTTTGCTCTCTTTCA
+GTTCGTCCTGAGTCGGGTTCAGTACGTACTGGTCATTGATGTAACCTACACGGGCAGCACCAATCGGGCC
+ATTGAACGGAATACCAGACAGAGACAGTGCTGCGGAAGCACCAATCATCGCGACGATATCCGGGTTAACC
+TGCGGGTTAACAGAAACCACGGTGGCGATAACCTGAACTTCGTTGACGAAGCCTTCCGGGAACAGCGGGC
+GAATCGGGCGGTCAATCAGACGCGCGATCAGGGTTTCGCCTTCGCTTGGGCGGCCTTCACGACGGAAGAA
+GCTACCCGGGATACGACCAGCAGCGTAGGTACGCTCCTGATAGTTAACGGTCAGTGGGAAGAAGTCCTGA
+CCTGGTTTGGCTTTTTTCTGACCAACAACGGTAACAAATACCGCGGTGTCATCCATGCTAACCATAACAG
+CGGCAGTAGCCTGACGAGCCATCATGCCGGTTTCCAGAGTCACGGTGTGTTGGCCGTACTGGAATTTACG
+AACGATCGGATTAAGCAATGTAATATCCTTTCTCTTTCTTAGACAGTACCTTACGGTACTGGTGTTAATA
+CCCGATCTTCTGCGCATCCTCGCGACTAATGACAACCCTAACCCAGCTCTATGTGGGTAAAGCCTCTCAT
+TAGCCGCGCGAACCTCTGCAACGGAAGATCATTCATAGCAACAATACATTAGTTTCCAGTGAATTGCTGC
+CGTCAGCTTGAAAAAAGGGGCCACTCAGGCCCCCTTTTCTGAAACTCGCAAGAATTAGCGACGCAGACCC
+AGGCGCTCGATGAGCTGGGTGTAACGTGCTACGTCTTTACGTTTCAGGTAGTCGAGCAGTTTACGACGCT
+GAGAAACCATGCGCAGCAGACCACGACGGCTGTGGTGATCTTTTTTGTGCTCTGCAAAGTGGCCCTGCAG
+GTGGTTGATCTGTGCGGTCAGCAGTGCTACCTGAACTTCGGTAGAACCGGTGTCGTTTGCGTCACGACCA
+AACTCAGAAACGATTTTAGCTGTTGCTTCAGTACTTAGAGACATTTTAAAACTCCAAAGTATATAGAATG
+AAAGGACGCCGATCTCTAATTCAGCGATCCCAGTGTACGTTACGCAAAGTGTTAAACAATTTACGCGACG
+TTAAGCGGCAGTATTCTACTCGTAGCGACCTGTTATCGCAAGACGGTTAACATTACGCCGGGTATTCAAC
+CACCAGGCGACGAGGCGCAACGCGGCCTTCATCGTCAATTTCGCCCATACCGATAAACTTGCCGTTCTCA
+CCCTCTGTAACGCGAACCAGTCCTTCCAGCGGCGCACCGGATGTACGAACTGGGTTACCATTTTTGAAGT
+AAACAGAAGACGTTAACGGAAGATTCACCACCGGGTAGTCCGAAGCTGGACTGTCCATTGGCATCAGTAA
+TGGATCAAGTAACTCCGCAGCCGGAATATCCTGCTGTTCGGCTTGCTCAACCAGTTCACGCAGATGTTCC
+AGGGTCACCATCCGTTCAACCGGATATTTACTTACCGCCAGACGACGCAAGTAAATAACATGCGCGCCAC
+AACCGAGTTTTTCGCCGAGATCGTCAATGATAGTGCGGATATAAGTGCCTTTTGAGCAGTGAATTTCCAG
+CTCCAGCTCATTGCCTTCATGGCGAATAAACAGCAATTCATAAACGGTAATCGGGCGCGCTTCACGTGGA
+ACTTCAATGCCCTGACGCGCGTATTCGTACAGTTTTTTGCCCTGATATTTCAGTGCTGAATACATCGAAG
+GGATCTGTTCGATATCGCCACGGAAGGTATCCAGCGCCGCCGCCAGTTGCTCTGCACTAAAGGTTACCGG
+ACGTTCTTCAACGATTTGTCCGTCGGCATCAGAAGTATCGGTACGCTGCCCAAGACGCGCAATGACCCGA
+TAGCGTTTGTCGGAGTCCAGCAGATACTGGGAAAACTTCGTCGCTTCCCCGAGGCAAATTGGCAACATGC
+CGGTCGCCAGCGGGTCCAGCGCACCGGTATGCCCGGCACGGTTGGCGTTATAAATCCGTTTCACTTTTTG
+CAGCGCATCGTTGCTGGACATCCCCTGCGGTTTATCCAGCAACAAAACGCCGTTAATGTCGCGACCGCGA
+CGACGAGGACGACTCATTAGTCCTCCTTGCTGTCGTCCGGGTTAACACGACGTTCTTCGTCATGTTTGAC
+CACGCTGGTCACCAGGTTTGACATGCGCATCCCTTCAACCAGAGAGTTGTCGTAGAAGAAGGTCAGTTCC
+GGCACGATACGCAGGCGCATCGCTTTCCCCAGCAGGCTGCGGATGAAACCAGAAGCTTCCTGCAACGCTT
+TGATGCCCGCTTTAACCGCGTCTTCATCTTTGTCGTTGAGGAACGTCACATATACTTTGGCATACGCCAG
+GTCGCGAGACATTTCGACACCGGAAACGGTGGTCATCATGCCCAGACGAGGATCTTTAATTTCACGCTGC
+AGGATGAGAGCGATCTCTTTTTGCATTTCCTGCGCTACGCGCTGCGGGCGACCAAATTCTTTCGCCATAA
+TAAATTCTCCTGACAAAAAAGGGGCTGTTAGCCCCTTTTTAAAATTAATTTCAGGTGGAAGGGCTGTTCA
+CGTTGGCCTGATAAGACGCGCCAGCGTCGCATCAGGCAATCCATGCAGGATGCGACATAAACGCCTTATC
+CCGCATGGAACCCTAAAAACCTTAAGCGATAGTACGTTGGATCTCGATGATTTCGAATACTTCGATCACA
+TCGCCAGTGCGGACATCGTTGTAGTTCTTAACGCCGATACCACATTCCATACCGTTACGGACTTCGTTAA
+CGTCATCTTTGAAGCGTCGCAGGGACTCCAGCTCGCCTTCGTAGATAACCACGTTGTCACGCAGAACGCG
+GATCGGGTTGTGACGTTTAACCACACCTTCGGTAACCATACAACCTGCGATGGCACCAAATTTCGGTGAT
+TTGAACACGTCACGAACTTCCGCCAGACCGATAATCTGCTGTTTCAGTTCCGGAGACAGCATACCGCTCA
+TCGCCGCTTTCACTTCGTCGATCAGGTTATAGATGACGGAGTAGTAACGCAGATCCAGGCTTTCCGCTTC
+AATCACTTTACGTGCAGAGGCATCAGCACGTACGTTGAAGCCAACCAGGATGGCGTTGGACGCCGCAGCC
+AGGGTAGCGTCGGTTTCGGTGATACCACCTACGCCAGAACCGATGATCTTCACTTTAACTTCGTCAGTAG
+ACAGTTTCAGCAAGGAGTCGGAAATTGCTTCCACAGAACCCTGTACGTCTGCCTTCAGGACAATATTCAC
+TTCGTGAACTTCGCCTTCGGTCATGTTGGCGAACATGTTCTCGAGTTTAGATTTCTGCTGACGCGCCAGT
+TTAACTTCGCGGAATTTACCCTGACGATAGAGTGCAACTTCACGCGCTTTCTTCTCGTCACGTACAACGG
+TAACTTCATCACCCGCAGCCGGTACGCCGGACAGGCCAAGGATTTCCACCGGAATGGACGGACCCGCTTC
+CAGCACTTCCTGACCCAGTTCGTTACGCATTGCACGAACACGACCGTATTCGAAGCCACACAGAACGATA
+TCGCCCTTGTGCAGAGTACCTTCACGTACCAGAACGGTAGCAACCGGACCACGACCTTTATCGAGGAAGG
+ATTCGATAACCGCACCGCTCGCCATACCTTTACGTACCGCTTTCAGCTCCAGAACTTCCGCCTGCAGCAG
+GATAGCATCCAGCAGTTCATCAATACCGGTACCCGCTTTTGCAGATACGTGTACGAACTGGCTTTCGCCG
+CCCCACTCTTCTGGCAGGATGCCGTACTGGGAGAGTTCGTTCTTAACGCGATCCGGATCGGCTTCTGGTT
+TATCGATTTTGTTCACAGCAACCACCACCGGAACACCCGCCGCTTTCGCGTGCTGGATAGCTTCGATGGT
+CTGCGGCATTACACCGTCGTCTGCAGCAACAACCAGGACTACGATGTCCGTTGCCTGCGCACCACGTGCA
+CGCATTGAAGTAAACGCGGCGTGCCCCGGGGTGTCCAGGAAGGTGATCATGCCGTTTTCAGTTTCAACGT
+GGTATGCACCAATGTGCTGGGTAATGCCGCCCGCTTCGCCAGAGGCCACTTTCGTTGAACGAATGTAGTC
+CAGCAGAGAGGTTTTACCGTGGTCAACGTGACCCATGATGGTCACAACCGGCGCGCGCGGTTCAGCCGCA
+GCACCCGTGTCACGGTCGCTCATTACCGCCTCTTCCAGCTCGTTTTCACGACGCAGGATAACTTTGTGGC
+CCATCTCTTCAGCAACCAGCTGTGCGGTTTCCTGATCGATAACCTGGTTGATGGTTGCCATTGCGCCCAG
+TTTCATCATCGCTTTGATGACCTGAGAGCCTTTAACCGCCATCTTGTTCGCCAGTTCGCCAACGGTGATG
+GTTTCGCCGATCACAACGTCACGGTTAACGGCCTGAGCTGGCTTCTGGAAGCCTTGCTGCAGCGAAGAAC
+CTTTACGTTTTCCGCCCTTACCGCCACGTACTGCTGCGCGAGCTTCTTCACGATCAGCTTTTGATTCAGC
+GTGTTTGTTGCCCTTCTTCGGACGCGCTGCTTTCGCGTTACGACCACGGCCACGGCCGCCTTCGACTTCA
+CGATCGCTTTCGTCTTCTGCCTGGCGAGCATGTTGAGAAGTAGTGACGTGATAATCGCTGGAATCTTCAG
+TCGGTTCTGCGTTATCAGTCCATTTGTTTTCTTCCGCCATACGACGTGCTTCTTCAGCAACGCGACGTGC
+TTCTTCTTCGAGTTTACGACGCGCTTCTTCTTCGGCTTTACGCTTGAGCTCTGCAGCTTCCTGCTCACGG
+CGGGCTTTTTCAGCCTGGGCGTTTTTAGTCATATCGTCTTGTTGATTGCTCACTTTGTCTTTTTCCGCAG
+CTTCACGTTTCGCTTGTTCAGCAGCTTCACGCTTAGCTTGTTCTGCGGCCTCACGTTCAGCTTTTTGTTG
+CGCCTCACGTTTGGCCGATTCTTCTGCCTCACGACGGGCTTGCTCTTCCGCTTCACGCTGCGCTTGCTCT
+TCCGCAGCAAGGCGTTCAGCCTCTTGCGGATCGCGTTTCACAAAGGTGCGTTTCTTGCGGACTTCGATTT
+GTACCGATTTGCTTTTTCCACCGGTACCAGGAATGTTAAGGGTGCTGCGTGTTTTACGTTGCAGCGTCAA
+TTTGTCCGGGCCTGAATTTTTCTGATTCAGGTGGTCAATCAAAGTCTGTTTCTCTTGTGCAGACACAGAG
+TCGTCAGCAGACTTCCGGATACCTGCATCAGCAAATTGCTGTACCAGGCGTTCCACGGAGGTCTGTCGCT
+CTGCGGCCAGCGTTTTAATCGTTACATCTGTCATGCTGTTCCTTCCTGCTACAGTTTATTACGCTTCGTC
+ACCGAACCAGCAAATATTACGGGCAGCCATAATCAGTGCTCCGGCTTTTTCGTCGGTCAACCCTTCGATA
+TCAGCCAGATCATCAATGCCCTGTTCGGCGAGATCTTCCAGCGAACAAACGCCACGGGCGGCCAGTTTGA
+ATGCCAAATCACGATCTACCCCTTCAAGGTTCAGCAGATCGTCACACGGTTTGTTATCACCGAGGCTTTC
+TTCCTGGGCCTGTGCAATGGTGGCCAGTGCATTTTTAGCACGCTCGCGCAGTGCTTCAACGGTCGGCTCA
+TCAAGGCCTTCGATTTCCAACAGCTCTTTCATCGGCACATAGGCCAGTTCTTCCAGCGTCGAGAAGCCTT
+CTTCTACCAGAACAGTCGCGAAGTCTTCATCGATGTCGAGATATTTGGTGAAGGTGTCGATCGCTGCGTG
+CGCTTCCGCCTGATGCTTAGCCTGCAGGTCGTCAACGGTCATCACGTTGAGTTCCCAACCGCTCAGCTGC
+GAAGCCAGACGCACGTTCTGACCGTTACGGCCAATCGCCTGCGCCAGGTTACCGGCTTCAACGGCGATAT
+CCATGGTGTGTTTATCTTCATCCACCACGATAGAAGCAACGTCTGCTGGTGCCATTGCGTTAATCACGAA
+CTGCGCCGGGTTATCATCCCACAGGACAATATCGATACGCTCTCCGCCCAGTTCAGTAGAAACCGCCTGA
+ACACGCGCGCCACGCATACCTACGCAAGCACCTACCGGATCGATACGTTTATCGTTGGTTTTCACCGCAA
+TTTTCGCACGAGATCCCGGGTCGCGAGCCGCTGCTTTAATTTCAATCACTTCTTCGCCGATTTCCGGCAC
+TTCAATACGGAACAGTTCGATCAGCATTTCCGGCTTGGAGCGGGTGACGAACAGCTGCACGCCACGCGCT
+TCCGGGCGAACGGAATAGAGCACGCCACGAACGCGGTCACCAGGGCGGAAGTTTTCACGCGGCAGCATAT
+CTTCGCGCAGGATCACGGCTTCAGCGTTGTTGCCCAGATCCAGAGAGATGTTGTCGCGGTTTACTTTTTT
+CACCACGCCGGTGATGATTTCACCTTCGTGTTCACGGAACTGATCAACCACCATCGCACGTTCGGCTTCA
+CGCACTTTCTGCACGATAACCTGTTTTGCCGTCTGGGTAGTGATACGGTCAAAGGTAACAGACTCAATCT
+GATCTTCAACGTAATCGCCCAGGTTCAGGCTTTCATCTTCATAACGTGCGGCTTCAAGGGTGATTTCCTT
+GGTCGGCTGGGTGACTTCATCAACAACTAACCAGCGACGGAAGGTGTCAAAATCACCGCTTTTGCGATCG
+ATCTGTACGCGAACGTCGATTTCTTGTTCATATTTTTTCTTTGTTGCTGTCGCCAGCGCGCTTTCCAATG
+CTTCGAAAATCTTCTCGCGAGGTAGCGCCTTTTCATTGGATACGGCTTCAACTACAGCCAAAATTTCTTT
+GTTCATCGCGGGCTTTTCACCTCATCCAGACTATTAAAAGTGGGGAACCAGGTTCGCCTTCTGGATATTA
+CTCAGCGCGAACACTTCATCTTTACCTTCGACGGTAACTGTGATCATTTCACCGTCTACCGCTTTGATAA
+CGCCCTGCCATTTACGACGGTTTTGTACCGCCATACGGAGAACCAGAGTCACCTCTTCTCCGACAAAACG
+GGCGTAGTGTTCAGCCGTGAACAGTGGGCGATCGAGACCCGGTGAGGAGACTTCCAGGTTATAAGCAACG
+GTGATGGGGTCTTCAACATCCAGCACAGCACTTACCTGGTGGCTCACATCAGCACAATCATCAACATTGA
+TGCCATCTTCACTATCAATATAGATGCGCAGTGTGGATGTGCGACCGCGAATAAATTCGATGCCAACCAG
+TTCAAAACCCAGGGCCTCAACTGGCGCAGTAATCATCTCTGTTAATTTTTGCTCTAATGTGGACAAGCCC
+ACCCCCAAGACATAAAAAAAGGGCCTAAAGCCCAGTTATTCTGTAGTCAGATAACAAAAAACCCCGATAA
+ATCGGGGCTTTATATAACTGAACCCTATAACCGCAACTGCGGTCTGGAGCACTTTCCAGAAGGATTTTTT
+CAAATCCCACTACGAAGGCCGAAGTCTTCACAGTATATTTGAAAAAGGACTCTAAGGGAAAGTGGTTGCG
+GGGGCCGGATTTGAACCGACGACCTTCGGGTTATGAGCCCGACGAGCTACCAGGCTGCTCCACCCCGCGC
+CTGAAACGTGGCAAATTCTACTCGTTTTGGGTAAAAAATGCAAATACTGCTGGGATTTGGTGTACCGAGA
+CGGGACGTAAAATCTGCAGGCATTATAGTGATCCACGCCACATTTTGTCAACGTTTATTGCTAATCACGT
+GAATGAATATCCAGTTCACTTTCATTTGTTGAATACTTTTACCTTCTCCTGCTTTCCCTTAAGCGCATTA
+TTTTACAAAAAACACACTAAACTCTTCCTGTCTCCGATAAAAGATGATTAAATGAAAACTCATTTATTTT
+GCATAAAAATTCAGTGAGAGCAGAAATCCAGGCTCATCATCAGTTAATTAAGCAGGGTGTTATTTTATGA
+CGACGATTCTCAAGCATCTCCCGGTAGGTCAACGTATTGGTATCGCTTTTTCCGGCGGTCTGGACACCAG
+TGCCGCACTGCTGTGGATGCGACAAAAGGGAGCTGTTCCTTATGCATATACTGCAAACCTGGGCCAGCCA
+GACGAAGAGGATTATGATGCGATCCCTCGTCGTGCCATGGAATACGGCGCGGAGAACGCACGTCTGATCG
+ACTGCCGCAAACAACTGGTGGCCGAAGGTATTGCCGCTATTCAGTGTGGCGCATTTCATAACACCACTGG
+TGGACTGACCTATTTCAACACGACGCCGCTGGGCCGCGCCGTGACCGGCACCATGCTGGTTGCTGCTATG
+AAAGAAGATGGCGTGAATATCTGGGGTGACGGCAGCACCTATAAAGGAAACGATATCGAACGTTTCTACC
+GTTACGGTCTGCTGACCAATGCTGAACTGCAGATTTACAAACCGTGGCTTGATACTGACTTTATTGATGA
+ACTGGGTGGCCGTCATGAGATGTCTGAATTTATGATTGCCTGCGGTTTCGACTACAAAATGTCTGTCGAA
+AAAGCTTACTCCACGGACTCCAACATGCTTGGTGCAACGCATGAGGCGAAGGATCTGGAATACCTCAACT
+CCAGCGTCAAAATCGTCAACCCAATTATGGGCGTGAAGTTTTGGGATGAGAGCGTGAAAATCCCGGCAGA
+AGAAGTCACAGTACGCTTTGAGCAAGGTCATCCGGTGGCGCTGAACGGTAAAACCTTTAGCGACGACGTA
+GAAATGATGCTGGAAGCTAACCGCATCGGCGGTCGTCACGGCCTGGGCATGAGCGACCAGATTGAAAACC
+GTATCATCGAAGCAAAAAGCCGCGGCATTTATGAAGCCCCTGGGATGGCATTGCTGCACATTGCGTATGA
+ACGTTTGTTGACCGGTATTCACAACGAAGACACCATTGAGCAGTATCACGCGCATGGTCGTCAGTTGGGC
+CGTCTGCTGTACCAGGGACGTTGGTTTGATTCCCAGGCGCTGATGCTGCGGGACTCTCTGCAACGCTGGG
+TTGCCAGCCAGATCACTGGTGAAGTTACTCTGGAGCTGCGCCGCGGGAACGATTATTCAATCCTGAATAC
+CGTCTCAGAGAACCTGACCTACAAACCAGAGCGTCTGACGATGGAAAAAGGCGACTCGGTGTTCTCGCCA
+GATGATCGTATCGGTCAACTGACCATGCGTAACCTGGATATCACCGATACCCGCGAGAAACTTTTCGGTT
+ATGCCAAAACTGGCCTGCTCTCCTCCTCTGCCGCTTCAGGCGTGCCGCAGGTGGAGAATCTGGAAAATAA
+AGGCCAGTAATTCGACATCAACCCTGCCCTTCAGGGGTGGGGTTACCTTGATTATCCTCTGTAAACTCCT
+TTCTGAGCATCACATAATCGAAAACATCATGGTTTGCATCCACAACCCGTGAGTCTCCTTTATAGTGTGC
+AATCACTTCCTCAAGCGTTTGCGGCTGTTCCGGCTTTGTTACCCCCATCCACGCATTAATAAGGTAATTA
+TTGTAAGCTGTCGAAAAGATGTTGTTTTCCGTTGTGCGATCCACGCCATCCCCAAGAACGGGGCTATACC
+AGATAAACATCGGGACATGATATGCCTGCTGGCTAGCCTCCCTGCCTCCATGAAAATAGACGTTCTTCTT
+CGTAGGGTCGCGTTCCAGGCCGTGGTCGGCAAAATACATGACCGAGGCGCGGCGATCTTTTAATAATTCA
+AAAACCTGACCTAGCAAACTATCTGTGTAATGAATGGAGTTGTCATAGCAGGCATCCTGATCGTCCTGCG
+GTTGAAACACGGCGCTGGATTGCGGATAGGCGCTACAAGCCGGTTCATGGCTTCCATTTAAATGAAGAAC
+AATCAGTTTTTTTTGCTGCGTCTTTTGCTGTAACGCTTGCGATAAATGCGGCAACAACAATTCATCAAAT
+CCTCTGACATAGACTGTTTCCATGGCGCGCATGGCGATACTGGTAACTGCTGTACCATTCTGCCGAAAAG
+CGGATTGCGAGCTTAGCCAAAAAGTCTGAAATCCTGCTTGATTAGCCATATTAATAATGTTGTCCGGGTA
+ATTATGAATGTCATGACTCAAAACAGAATCAGCAGTTAAAGAAAGGGGAACCGACAGCGCAGTGTAAGGT
+GCACCGCTTATTGCTTGATTAAACAGTTTGATCTGCTTTCTTTGTGCTTCGACTTGCGGTGTCGTAGAGC
+GTGTAATCCATACAAAGACATATTGTCGACACGTACAGACTCCCCCACAATCAACACGTAGGTATCAATA
+CCTGTATCCCTGACTGATAGTTGAAAATACGGCACCGTGTTTGCAATTGAGAGTAATCTTTGATGCTCTT
+TCGCTGCTAAAGCAAAATAATTGAGATTGAAAAACGGCGTATAGGTAGCAAATCGCGACGCTAGTATATA
+TGGACTGAACGCCTCTTTATTTTTTGCATCTTTATAAGCAAATTGACAAGCGGAAAATAAACTGCCCGAA
+ATGACAATCAGCAATAATATTCCTGTCACTTTTTTTGTCGGCAAGGAAACATCATATTTTATTATTACTG
+CCAAAAAAAGAAGGGATAAAAAGGTAAAAGCACATAGATAAGGGATATACATTCCCAGCATTTTGACAAC
+TTCATCCGGATCACTCTGCAGCACACTAATCGCAAATCCATCATTGAAAGTTGTACCAAAGATACACCAT
+GAATAAAGGCTAATACTCATATCTGCCGCAGTCAGTAACACAAATGGTACGGCAATAAGCAGGCGAAGCG
+GAAGGGATAATATACGTTTAACAACCAGGATGGTCAGAACGAAGAACAGCAATCGCTGAACCATATGCGC
+TCCGGAAGAAGCGACTAAGTTCGTAATACCAAAAACAATAACACAAAGATACAACAACCAATGAGATTTA
+AAACTTTTAACAAATTTGTTGAATACTGTCATCCGGAAATCCAAGTTCACAACCAATATAAACAATTATC
+AACAATGTTCAATTTTATATCAGACATGTTTTTCAATTCTGATCCATATCAGACCGAAACACTGTTAGAT
+TTTTTCTTTTTAAATGATGCGGCCATTGCGTTCTCAGTAATTAAATAACATTATCAATGCGTCTCTAAAC
+ATTACGCAGAACGTAGCCATCAGTAGTTATACTGACAGGGGCAGGATGGTTTATCGAGAAGTAAACATAT
+CCGTATTCGTACCGGAAATGGAGTTGACACAATAAAGTGCCAATTATGTCAGCAGAAGGGAAAAGCTTAT
+AACTAAGGCATACCGGCACCATCGTTTCAAGGTACCAGCTACGAGTAAAACAACTGGACGAGATACAGAT
+ACCTGACAACCATTCCTCAGACCAGGACCAAAACGAAAAAAGACGCTTTTCAGCGTCTTTCTGGAATTTG
+GTACCGAGGACGGGACTTGAACCCGTAAGCCCTATTGGGCACTACCACCTCAAGGTAGCGTGTCTACCAA
+TTCCACCACCTCGGCACGGATACTACTTTTTAGTTCGGGATATCGCTGGTCGGCTTAGCTGGAGCAGCTG
+GCTGAGTTTGTTCGGTTTTCGCCGGCGCACTCAGGTTTTCCCATTCGCTACCTTTATTGGTTTTGTTGCT
+ATTGATGTTACCCAGCACCAGACTGATGATGAAGAATAACGTTGCCAGCAGCGCTGTCATGCGGGTCATG
+AAGTTACCAGAACCACTTGAACCAAACAGCGTAGCGGAAGCGCCTGCTCCGAAGGAGGCTCCCATATCAG
+CGCCTTTACCTTGCTGCAGCATGATCAGACCAACAAGGCCAATTGCCACAATAAGGAAAACTACTAAAAG
+AGCTTCGTACATAATCAACCTGTTCCTTGCGGAGTTGCCGCGTACCAATGCTTCAACCAATAAAGCGGGA
+GTTTTTAATCTTTCCCACTGAAGCGGGTGTGAATACTAACCAAAGCGAATGACCTTCGCAAGGGCAATTT
+TATTGCATTGTATCAACTGCGGAAAAAAACAGCAAAACCGATGTGTTCGCTGAGAAAAAAGGCGACAATC
+GCCGCCTTTTTAGCCAGTTATCTAACGCTTTAAACGGCTTTTACTGCATCGGCGATGCGGTGTGCAAATT
+CAGTCACCTGCGCTTCGTCTTCGCCTTCCACCATCACGCGAATTAACGGTTCGGTGCCGGATTTACGCAA
+CAGCACACGTCCACGGCTACCCAGCGCCGCTTCAACTTCTGCGGTCACAGCTTTGACTGATTCATGCTCC
+AGCGGATCGCCGCTACCTGCGGTGTAACGCACGTTTACCAGGATTTGCGGGAACATTTTCATGCCGCTGC
+AAAGGTCGTGCAGGCTCATATGATTACGCGCCATCGCCGCCAGCACCTGCAAACCAGCAACGATGCCGTC
+ACCGGTAGTGGTTTTATCCAGCAGGATCACATGACCGGAATTCTCTGCACCGATACGCCAGCCTTTCTCC
+TGCATTTTTTCCAGTACGTAGCGGTCACCCACTTTCGCGCGCGCAAATGGAATTCCTAACTGTTTCAGCG
+CCAGTTCAAGCCCCATGTTGCTCATCAATGTACCCACAGCGCCACCACGCAGCTGGCCCTGACGAAGACC
+TTCACGCGCGATGATATACATGATCTGATCGCCATCGACTTTATTGCCTTCATGGTCAACCATAATCACG
+CGATCGCCGTCGCCGTCGAAGGCAATACCGAGATCCGCTTTTTCAGCCAGCACACGAGCCTGGAGCGCGC
+GAACGTCGGTAGCCCCCACTTCGGCATTGATGTTTACACCGTTCGGCTCACAACCGATAGCGATAACGTT
+CGCTCCCAGTTCACGCAGCACGTTCGGCGCGATGTGATAAGTCGCACCGTTTGCACAATCCACCACAATC
+TTCAGTTCACTGAGGCTAAGTTCGTTTGGGAACGTGGCTTTGCAAAACTCGATATAGCGACCCGCAGCAT
+CAACGATACGGCTGGCTTTACCCAGTTCTGCCGAATCAACACAGCTGATCTCTTTTTCCATTTCCGCTTC
+GATGGCCTCTTCTACTGCATCCGGTAGTTTGGTGCCGTCGATAGAGAAAAATTTAATGCCATTATCGTAG
+AACGGGTTATGCGATGCAGATATCACAATTCCGGCCTCTGCGCGGAAGGTACGCGTCAGATAAGCCACGG
+CCGGTGTTGGCATCGGACCAGTGAAGAGTGCGGAAAGGCCCGCAGCCGCCAGACCCGCTTCCAGTGCTGA
+CTCCAGCATGTAGCCAGAAATACGCGTGTCTTTACCAATGATGATCTTACGGGAGCCGTGGCGCGCCAGC
+ACTTTACCCGCGGCCCAACCCAGCTTAAGCACAAAATCAGGGGTGATCGGCGCATCCCCTACACGACCAC
+GAATCCCATCGGTACCGAAATATTTACGATTACTCATAGCGTTTGTTTTCCTTTGCAGACAGAGTGGCTT
+CCACCACCCGCATCGCTTCTACGGTTTCTTTGACGTCATGAACACGAATGATATGCGCGCCTTGCATAGC
+GGCAATGACCGCACAAGCCAGACTACCGCTCAGACGCTCGGACGGCCCCACGTTCAGCAGCTGCCCAATC
+ATCGATTTTCGTGACATACCCACCAACAGCGGCAGGTTGAAATGGTGAAATTCAGCCAGGCGCGCCAGTA
+ATGAATAGTTATGGGAGAGATTTTTACCGAAACCGAATCCGGGGTCGAGCAACAATTTCTCTTTTGCGAT
+ACCCGCCTGCTCGCAACGTGCTATTTGCTCAATAAAATAGCGATTCACTTCTGCAAAGACATCGTCATAT
+TTCGGGGCTTCCTGCATGGTCTTTGGATTTCCCTGCATATGCATCAGACAAACCGGTAAACCGGTTTCTG
+CAGCTGCCTCCAGAGCCCCTGGTTCGGAAAGGGAGCGGATATCGTTAATAATGTGAGCGCCAACTTTCGC
+TGACTCACGGATGACTTCTGGTTTGGATGTATCGACCGAGATCCAGACTTCGAAGCGTTGAGCAATTGCC
+TCAACCACAGGAATAACACGTTGCAACTCTTCTTCAACGCTAACTTCCGCCGCTCCTGGGCGCGTGGACT
+CGCCACCAACGTCAATGATCGTCGCGCCAGCGTTGATCATCAGATTCGCATGTTTCACCGCATCTATCAG
+CGAGTTATGCGTACCGCCATCCGAAAAGGAATCAGGCGTGACGTTGAGGATCCCCATTACGTGAGGATGG
+CTAAGGTCCAGTGAAGTACCCTGGGCAAAGAGTTTCATGATGTTATCCCTGGTATGAATTGATAAGAAAA
+AACCCCGGAGCACGCCCCGGGTTTTTCGGTACAAATACAGTCATCTGATACGGGAACTTACTTGTCGCCT
+AACTGCTCTGACATGGTGTTACCCGGGTTCGGCGTACGCGGTTCATCAACCGGACGAGGAGCCTTTGGAC
+TACCATTGTCGCCAGAATTGTTAGAAGCGCCTGGTTCTTCCCAGCCCGCTGGCGGACGTACATCGCGACG
+TGCCATCAGGTCATCAATCTGCGGTGCGTCGATAGTCTCATATTTCATGAGAGCATCTTTCATCGCATGC
+AGAATATCCATATTGTCGGTCAGAAGCTGACGCGCACGATTATAGTTACGCTCAATCAGTGCTTTCACTT
+CCTGGTCGATGATACGTGCAGTTTCATCGGACATATGTTTCGCTTTCGCTACGCTACGGCCGAGGAACAC
+TTCACCTTCTTCTTCCGCGTACAGCAGTGGACCCAATTTCTCAGAGAAGCCCCACTGGGTCACCATGTTA
+CGTGCCAGGTTGGTCGCAACTTTAATGTCGTTGGACGCCCCGGTAGAAACATGTTCCGGTCCGTAGATGA
+TCTCTTCCGCCAGACGACCACCGTACAGCGTGGAGATCTGACTTTCCAGTTTCTGACGGCTGGCGCTGAT
+TGCGTCGCCCTCAGGCAAGAAGAAAGTCACACCCAGCGCACGACCGCGTGGGATAATCGTCACTTTGTGC
+ACCGGATCGTGTTCCGGCACCAGGCGACCGATAATCGCATGGCCTGCTTCGTGGTAAGCCGTCGATTCTT
+TCTGCGCTTCCGTCATCACCATGGAGCGACGTTCCGCACCCATCATGATTTTGTCTTTCGCTTTCTCGAA
+CTCAACCATCGACACAACGCGTTTATTGCCACGAGCTGCGAACAGTGCCGCTTCGTTCACTAGGTTTGCC
+AGGTCAGCACCGGAGAAACCAGGAGTACCACGGGCAATGATTGCCGCGTCGATATCGGGTGCCAATGGTA
+CGCGACGCATGTGAACTTTCAGGATCTGCTCACGACCACGAACATCTGGCAAGCCAACCACAACCTGACG
+GTCGAAACGGCCAGGACGCAGCAGGGCCGGGTCAAGAACGTCCGGACGGTTAGTCGCGGCGATAACGATG
+ATACCTTCGTTACCTTCGAAGCCATCCATCTCAACCAGCATCTGGTTCAAAGTCTGTTCACGTTCATCGT
+GACCACCGCCCAGACCTGCGCCACGCTGGCGGCCTACGGCGTCGATTTCATCGATAAAGATGATGCACGG
+TGCCGCTTTCTTCGCCTGTTCGAACATATCACGAACACGGGATGCACCCACACCGACGAACATTTCTACG
+AAGTCAGAACCGGAGATAGTAAAGAACGGAACTTTTGCTTCGCCTGCAATCGCTTTCGCCAGCAGCGTTT
+TACCGGTACCCGGAGGACCGACCATCAGGACGCCTTTCGGGATCTTACCGCCGAGTTTCTGGAAGCGGCT
+CGGCTCGCGCAGATACTCAACCAGTTCAGCAACTTCTTCTTTTGCTTCGTCGCAGCCCGCAACGTCAGCA
+AAGGTCGTTTTGATCTGATCTTCCGTCAGCATGCGCGCTTTGCTCTTACCAAACGACATGGCACCTTTGC
+CTCCGCCGCCCTGCATTTGACGCATGAAGAAGATCCAGACACCAATCAGCAACAGCATCGGGAACCAGGA
+GATGAAGATAGAAGCCAGCAGGCTTGGTTCTTCAGGCGGTTCACCGACAACCTTGACGTTCTTGGTCAAC
+AGGTTATCCAGTAATTTCGGATCCTGAACCGGAATGTAAGTGGTATAACGGTTACTATCTTTCTTGGTAA
+CGTTGATTTCACGTCCGTTGATACGCGCTTCACGAACCTGGTCGTTATTGACCTCTTGTAGGAAGGTAGA
+GTAATCCACCTTACGGCCATTAGACTCGCTGGGCCCAAAGCTCTGGAATACTGACATCAGCACAACGGCA
+ATGACCAGCCAGAGTATTAGGTTTTTCGCCATGTCACTCAAGGGATTAACCTCTTATTACAACTGTGTTA
+AAAACAGCGTCAGGATACTCTATATCCAGCATCTTTCAAACTTTCGTCTGAAATCTCCCGGTTAGGGTTT
+ACGCCCGGTCGCTACAATATACACTTCCCGCGAACGTGCACGAGAAGAGTCCGGCTTACGAACTTTGACC
+TTCGTAAACAGGGAGCGAATTTCCCTTAGATACTCATCGAAACCTTCGCCCTGGAACACCTTCACAACAA
+AACTGCCACCTGGCGCCAATACATCACGACACATTTCTAGCGCCAGTTCCACCAGATACATGGCACGGGG
+GATATCCACCGCCGGTGTTCCGCTCATGTTTGGTGCCATATCGGACATGACAACCTGGACTTTGCTGTCG
+CCAACGCGCTCCAGCAGTGCTTTCATCACCAGTTCATCACGAAAATCGCCCTGAAGAAAGTCCACACCAA
+CGATAGGATCCATAGGTAAAAGATCGCAAGCGATGATGCGGCCTTTGCCGCCAATTTGGGTGACCACATA
+TTGTGACCAACCACCCGGAGCAGCACCAAGGTCGACAACCGTCATTCCCGGTTTAAAGAGTTTGTCACTT
+TGCTGTATTTCATCAAGTTTAAACCAGGCACGGGAACGTAACCCCTTTTTCTGTGCCTGTTGAACATATT
+TATCGCTAAAGTGTTCCTGAAGCCAGCGGCTGGAGCTGGCAGAACGCTTCTTACCTGTCATTTAACTTTC
+CCATGGGGATAACTCATCGTAACCAATTGCGTAAATTTTTACGCGCCTATTTGGTGATATATGGGAGATG
+GCGGTAGAATGACCCGTTTTCAATCCCAACGTAAGCAAAAAATACGATGAATCTGAGTACTAAACAAAAA
+CAGCACCTGAAAGGTCTGGCACATCCGCTCAAGCCAGTTGTTCTGCTTGGCAGTAATGGTTTGACCGAAG
+GGGTGCTGGCCGAGATTGAACAAGCGTTAGAGCACCATGAACTCATCAAGGTGAAAATCGCCACCGAAGA
+TCGCGAAACTAAAACCTTGATCGTGGAAGCTATCGTGCGCGAAACCGGCGCCTGTAATGTACAGGTCATC
+GGTAAAACGCTGGTGCTTTATCGCCCAACTAAAGAACGTAAAATCTCGCTGCCACGCTAAGATTATCCTA
+AAGTTACACACATTCGCTGTGTAAAACGAGGGGTTTTCCGCAGGCAGGAGAGCAAAATGCCACGCTCTGT
+TCGTTGATAAAAGGCCGCATAGCGGCCTTTTTCCTTTCTTTACAATACATCAACATCTTGAGTATTGGGT
+AATTCTTACAGGTATTCCACCTTAATTACTTCAAATTCTACTTCGCCGCCCGGCGTTTTGATGACCACAA
+CATCATCTTCTTCTTTGCCGATCAGGCCACGAGCAATAGGCGAGTTTACGGAAATCAGGTTTTGTTTAAA
+GTCAGCTTCGTCATCGCCAACGATGCGATAAGTCTGTTCTTCGTCAGAATCGAGATTCAGCACCGTTACG
+GTAGCACCAAAAATAACGCGCCCATTGTTGGGCATTTTGGTGACATCAATCACCTGCGCGTTCGACAGCT
+TGGCTTCGATGTCTTTGATACGGCCTTCGCAAAAGCCCTGCTGTTCACGAGCTGCGTGGTATTCGGCGTT
+TTCTTTCAAGTCGCCATGCTCACGCGCTTCCGCGATAGCAGCAATGATTTCAGGACGGCGCACAGATTTC
+AGAAAATCCAGCTCTTCGCGTAATTTTTCAGCGCCGCGTAAGGTCATCGGAATAGCTTGCATTTGTTATA
+CCTCTTGAATATTCCTGATGGGGCAAGTCTTCACCCACCCCGGCTGTTCGGCCTGCCCGGCATAACTCCT
+CACCGGGACCAGAAGCAAAAAAATACCGACCCGGGTACAAGTCCCAGGTCAGCTACAATTCACATTTTGA
+TAGTCATTTTACCCTGGAGTTCCCGAAGGGTCATCGTTTACTTTATAGGGCGTTGCGCCGTAGTATGACG
+GCTCGATTCCAGGTTGTTAGCGCGAGATTATGCGATTTTCCAGATTTATCATCGGATTGACCAGCTGTAT
+AGCGTTCAGTGTTCAGGCCGCAAATGTTGATGAGTACATTACTCAACTCCCCGCAGGTGCCAACCTTGCC
+CTGATGGTGCAAAAAGTCGGCGCGTCGGCCCCCGCTATTGATTACCACAGTCAGCAGATGGCGCTACCCG
+CCAGTACGCAGAAAGTGATTACTGCGCTGGCGGCGTTGATTCAACTCGGCCCCGATTTTCGTTTTACCAC
+GACGCTTGAAACCAAAGGCAATGTGGAAAACGGCATACTTAAGGGTGACTTAGTAGCGCGATTTGGTGCC
+GACCCGACGTTAAAACGTCAGGATATTCGCAATATGGTCACGACTTTGAAAAAATCTGGCGTCAACCAAA
+TCGATGGCAATGTGTTGATAGATACCTCCATTTTCGCCAGCCACGATAAAGCCCCCGGCTGGCCATGGAA
+TGACATGACACAATGCTTTAGCGCTCCGCCTGCCGCCGCCATAGTTGACCGCAACTGTTTCTCCGTCTCG
+CTCTACAGTGCCCCAAAACCTGGTGATATGGCTTTTATACGCGTGGCATCTTATTACCCCGTTACGATGT
+TCAGTCAGGTACGCACCCTCCCCCGTGGTTCTGCCGAAGCGCAATACTGCGAACTGGATGTCGTACCTGG
+TGACCTGAACCGCTTTACGCTAACGGGATGCCTGCCACAACGTTCTGAGCCGCTCCCGTTGGCTTTTGCC
+GTGCAGGATGGTGCCAGCTATGCCGGGGCAATTCTGAAAGATGAGTTAAAACAGGCGGGTATCACCTGGA
+GCGGAACGCTGCTGCGCCAGACTCAGGTTAACGAACCTGGAACGGTAGTTGCCAGTAAACAGTCGGCCCC
+GCTGCACGATCTGCTTAAGATTATGCTGAAAAAGTCGGACAACATGATTGCCGATACGGTTTTCCGCATG
+ATCGGCCATGCGCGCTTCAATGTGCCTGGAACATGGCGGGCCGGATCGGACGCCGTGCGTCAGATCCTGC
+GCCAGCAAGCCGGTGTCGATATCGGAAACACCATTATTGCCGATGGTTCAGGGCTTTCGCGGCATAACCT
+GATTGCCCCCGCCACCATGATGCAGGTGCTGCAATATATTGCCCAACACGACAATGAACTTAACTTTATC
+TCCATGCTGCCGCTGGCGGGCTATGACGGCTCTTTGCAGTACCGTGCAGGTCTGCATCAGGCGGGCGTGG
+ATGGAAAAGTCTCAGCGAAAACCGGTTCGTTGCAGGGGGTATATAACCTGGCGGGATTCATTACCACAGC
+GAGCGGGCAACGAATGGCGTTTGTGCAATATCTTTCTGGCTATGCTGTAGAACCGGCGGATCAGCGTAAT
+CGCCGTATTCCGTTAGTGCGTTTTGAAAGCCGTTTGTATAAAGATATTTATCAGAATAATTAGCCTAAAG
+AGAAACCCCGGCACATGGCCGGGGTTTTGCTGATTAACGCTTGTAAATGAACTCAACGCCTTCTTCGTCG
+TCTTCGTCCCAGTCGTCATCCCAGTCCTCATCATCCTCTTCAGCAATCTCTTCAAGCTGCTGACGGTGAT
+AATCATCCCACATGAATTCGACTTTCTCTGGCTGTTTCGCTTCTTCAGCCTGCACGACCGGGTTTTCAAT
+GATAAAGGTCATCACATCCCAGCAGAGATCTTTCACGCCCAGTCCGCTCGCCGCAGAGATCAGATAATAT
+TTATCTTCCCAGCCCAGCGCTTCAGCGATCGCTTTCGCTTTCTCTTCGGCTTCTACCTTATCCAGCAGAT
+CGATCTTGTTGAAGACTAACCAACGCGGTTTCGCCGCCAGATCCTGGCTGTATTTTTCCAGCTCACTGAT
+AATAATACGCGCGTTTTCAACCGGATCGGTGCCGTCAATCGGATCGATATCGATGAGGTGCAACAGGACG
+CGGCAACGTTCCAGGTGCTTCAGGAAGCGAATGCCCAGACCTGCGCCTTCTGCAGCGCCTTCAATCAGTC
+CTGGAATATCGGCAACAACGAAGCTCTTTTCGTTGTCCATACGCACCACGCCCAGGCTTGGTACCAGAGT
+GGTAAACGGATAATCCGCCACTTTCGGTTTAGCCGCCGATACCGCACGAATAAAGGTCGATTTACCCGCG
+TTTGGCATCCCCAACATACCGACGTCAGCCAGCAGCATCAGCTCCAGCAGCAGCTCACGCTTATCGCCCG
+GCGTACCGTTAGTTTTCTGCCGTGGTGTACGGTTAACTGACGACTTGAAACGGGTATTGCCCAGACCGTG
+CCAGCCGCCCTTAGCAACCAGCAGACGCTGACCGTGTTTGGTCATATCGCCCATGGTTTCACCGGTACCC
+TGGTCGATTACACGCGTACCTACCGGTACTTTAATCGTGACGTCTTTACCGCGCTTACCGGTACAGTCTC
+GGCTTGCACCGTTCTGACCGCGCTCTGCACGGAAAGATTTTTCAAAACGATAATCGATAAGCGTGTTCAG
+GTTCTCGTCGGCTTCCATCCATACGTCACCACCATCACCGCCGTCGCCGCCATCCGGGCCGCCTTTCGGA
+ATATACTTTTCGCGGCGGAAGCTCACGCAACCATTACCGCCATCACCTGCAACGACCAGAATCGATGCCT
+CATCAACAAACTTCATTTTATTCTCCGTAAATCATTCGCCTGCGCGGGGTTGCGATACCACCGTTGTATG
+CTTACGTAATCCGCCCCAAATACGATGACCAATGGCGGAATACATCGCGCCCGCAACCACGACAAACGCA
+CCGAGATAACCTAAAAGGTTTAACATCGGTCTGGCGAAGAAATCGGGCCAGGCCAGTGATAAAAGATCTG
+AAAAAAACAGCGTAAACAGTGGGGTGAGCGTGATGATCGCGCTCACCTGCGCTGCCTGCCAGCGAGCCAT
+CGCTTCCGCCAGGGCGCCATATCCTACCAATGTATTCAGTCCGCAAAAAATTAAACATGCGAGCTGCCAG
+TGGCTAAGCTGCGCTATCACTCCAGGATCTGCCAGAGGGAAGAGCGCAATTGTACATAAAGTGTACAGTA
+AAAACAGGATCTGCGGTGAGGCCAGCCGACGCAATAAAACCTTTTGCGCCACGCCATAACTCACCCAAAC
+CGTCGCCGCACCGACCCCAAAGATAACTCCCCAGGTGTAATCGGTGAGCTTTGTAAATATCTCGACCAGA
+CTGGTGTTAAAAAACATCACCAGGCCGCTCAGGAGCATCAATGCCCCTACAACCTGAGTACTGCGCATTT
+TCTCTTTCAGGATAAATACGCTGGCAACCATCATGCCAACTGGCGAGAGTTGCCCAATCACCTGCGAAGC
+GGTCGGACTCAGGTATTGCAAGGATGAGCTGAACAGGATGAAGTTCCCAAACAGCCCGGCAGTCGCCACT
+GCTAACAAAATCAACCAGCGTGGCTTACGAAACACGCGTAATGGCGGCAACCGCTTCTTCACCGCAAGAA
+TGGCACCAAGGCCAATACTCGCCATCAAGAAACGGTAAAACACGATTGTCGGAGGTTCCATCACCTCCAG
+CACCTGCTTCATTGCGATTGGCAACGCCCCCCAGCAAATTGCTGTGGTGAGCGCCAAAAGAATGCCAATG
+CCTGCCTGCTGCTTCATACCGTATTCCCTGCAAAGCGCATTTGCGGATTAACGTCGCACCATGCGCATTT
+TTACCGGTTATCGAATGTAAAAAGCCCCGCAACGTGTTGGGGGGACTTTCATCCGTTACCGGGACGCGAA
+AAACTTATTCAGCTTCGATGCTGATAAATTTACGGTTTTTCGGGCCTTTAACTTCGAATTTCACTTTGCC
+GTCTGCTTTAGCAAACCGAGTGTGGTCACGACCGTAACCTACGTTAGCGCCAGCGTGGAATTTGGTACCA
+CGTTGACGAACGATGATGCTGCCCGCCAGAACGGATTCGCCACCGAAACGCTTAACGCCCATGCGTTTAG
+CTTCTGAATCGCGACCGTTACGTGTGGAGCCGCCAGCCTTTTTATGTGCCATTTGAAATCTCTCCTCAGG
+TCTTAGGCGCTGATGCCAGTAATTTTCACATCAGTGAACCACTGACGATGGCCCTGCTGCTTACGATAGT
+GTTTACGACGACGAAACTTAACGATTTTAACTTTCTCGCCACGACCGTGAGCAACAACTTCAGCTTTGAT
+TACGCCGCCATCAACGAAAGGAACGCCGATTTTGACTTCTTCACCGTTTGCGATCATCAGCACTTCAGCG
+AACTCAACAGTTTCGCCAGTTGCGATGTCCAGCTTTTCCAGGCGAACGGTCTGACCTTCGCTTACTCGGT
+GTTGTTTACCACCACTTTGGAAAACCGCGTACATATAAAACTCCGCTTCCGCGCACACCTTTTCAATGAT
+TCAGAGTGCGCTATAAATATTCACAATAGGGCGCGAATATTACGCAAAACGCACGCCTTTGACAAGTGCT
+ACAGTCAATACACGAAGAAAAAAAACACAACTTGTACGGTAACGTTTATCTGTGCCATTTTTTCAGTACA
+ATCACCCTATATTCCTAACCATAAACCCTAAGTTGCCTTTGTTCACAGTAAGGTAATCGGGGCGAAAAGC
+CCGGCTTTTGCGATGAATTTAGAAAAAATCAATGAGTTAACCGCGCAAGATATGGCGGGTGTTAATGCGG
+CAATCCTTGAGCAGCTTAATTCCGACGTCCAACTGATCAATCAGTTAGGCTATTACATCGTCAGCGGCGG
+CGGTAAACGTATTCGTCCGATGATTGCTGTACTGGCTGCACGAGCTGTTGGCTATGAGGGAAATGCGCAT
+GTCACCATTGCTGCCCTGATCGAGTTTATCCACACGGCGACTCTGCTACACGACGACGTTGTGGATGAAT
+CAGATATGCGCAGGGGTAAAGCTACCGCCAACGCCGCATTTGGCAATGCCGCCAGCGTGCTGGTAGGCGA
+TTTTATTTATACCCGCGCGTTCCAGATGATGACCAGCCTCGGTTCACTCAAAGTGCTGGAAGTCATGTCA
+GAAGCCGTAAACGTCATCGCAGAAGGTGAAGTTCTGCAACTGATGAACGTTAACGATCCGGACATCACTG
+AAGAAAACTACATGCGCGTTATCTACAGCAAGACTGCGCGTCTGTTTGAGGCTGCCGCGCAGTGTTCCGG
+GATTCTGGCTGGCTGTACGCCGGAGGAGGAGAAAGGCCTACAAGATTATGGGCGCTATCTCGGCACTGCT
+TTCCAGTTGATCGACGATTTACTCGATTACAATGCCGATGGCGAACAGTTAGGTAAAAACGTCGGCGACG
+ATCTGAACGAAGGTAAACCGACGCTGCCGCTGCTGCATGCGATGCATCATGGCACACCAGAACAGGCACA
+GATGATTCGTACCGCCATCGAACAGGGTAACGGTCGCCATCTTCTGGAACCGGTTCTGGAAGCAATGAAC
+GCTTGTGGATCTCTTGAATGGACGCGTCAGCGTGCCGAGGAAGAAGCAGACAAAGCCATCGCAGCGTTAC
+AGGTGCTCCCGGACACCCCGTGGAGAGAAGCACTCGTCGGCCTCGCGCACATCGCTGTTCAACGCGATCG
+TTAATCCCCTCCCCTCATCCCGCGCAGTGCGCGGGATGATTCCAGTAAATTCCATAAAACACTTATTCAG
+CTCTATAACTCCTGAAAAACGGGGCTGTGTATCTTTATATATTCTGAATATTCACACTCTTTACAGGAAC
+TTTTTAGAGCAATAGGCCATCAGGAGTATAGTGATGCTCGACTGAAACAGAAGAAGTGTTCTGAATGAAA
+GCGACTAACTTAAGGAGTGAGGAAAGATGGAAAGTAATTTCATTGACTGGCATCCCGCTGACATCATTGC
+AGGTTTGCGCAAGAAGGGAACGTCAATGGCGGCGGAGTCTCGCAGAAATGGTTTGAGTTCCTCAACGCTG
+GCGAACGCATTATCACGCCCATGGCCGAAAGGAGAGATGATTATTGCGAAAGCCCTGGGAACTGACCCCT
+GGGTTATCTGGCCATCACGCTACCATGATCCGCAGACCCATGAGTTTATCGACAGAACGCAGTTGATGCG
+TAGCTACACTAAACCGAAAAAATGAGTGGCCTGGCGGTAGCCCCGCGAACGGGGCTGCCAGCTCTCAGAC
+AATTACTCGCCTTTCACACGCTCAATATTTGCACCTAAAGCGCGTAGTTTGTCTTCAATGCGTTCGTAGC
+CACGATCGATGTGATAAATACGATCAACCACCGTCGTCCCTTCCGCAATACAGCCAGCCAGCACCAGGCT
+TGCTGATGCACGCAGATCGGTTGCCATAACCTGTGCGCCAGAAAGTTTTTCAACACCGTGACAAATAACG
+GTATTGCTTTCGATTTCGGCGTGCGCGCCCATACGGCTCAGCTCTGGCACATGCATAAAGCGGTTTTCAA
+AGACCGTTTCGGTGATGAATCCGGTCCCTTCTGCCACCAGATTCAACAGCGTGAACTGGGCCTGCATATC
+GGTAGGGAATGCCGGATGCGGCGCGGTACGTACGTTAACAGCCTTCGGACGTTTGCCATGCATATCCAGG
+CTAATCCAGTCTTCGCCGACTTCGATGTCCGCTCCAGCGTCACGCAGTTTCGCCAGCACGGCGTCCAGAG
+TATCTGGCTGCGCGTTACGGCAGATAATTTTGCCGCGAGAGATCGCCGCCGCCACCAGGAAAGTACCGGT
+TTCGATACGATCCGGCAGCACGCGATAGACACCGCCGCCTAAACGTTCCACACCTTCGATGACGATACGA
+TCGGTGCCCTGACCGCTAATTTTCGCACCCAGCGTAATCAGGAAGTTCGCGGTATCGACGATTTCCGGTT
+CACGCGCTGCGTTTTCAATAATCGTGGTGCCTTCCGCAAGGGTTGCAGCACACATGATGGTCACCGTTGC
+GCCAACGCTGACTTTATCCATCACGATATGTGCGCCTTTCAAACGACCATCGACGGAAGCTTTAACGTAA
+CCTTCTTCCAGTTTGATGGTCGCGCCTAATTGTTCGAGGCCAGAAATGTGTAGATCAACCGGACGTGCGC
+CGATCGTACAACCGCCAGGCAGTGAAACTTGCCCCTGACCAAAGCGCGCTACCAGCGGCCCCAGCGCCCA
+GATAGAAGCACGCATGGTTTTAACCAGATCGTAAGGTGCGCAGAATACATTAACGTCGCGGGCATCAATA
+TGCACAGAACCATTACGTTCTACTTTCGCACCCAGCTGGCTTAGCAGCTTCATTGATGTATCGACGTCTT
+TTAGTTTCGGGACGTTCTGGATCTCTACCGGTTCTTCCGCCAGTAGTGCGGCAAAAAGGATAGGCAGAGC
+AGCATTTTTAGCGCCGGAAATTGTGACTTCGCCCTGGAGCTTCGTTGGCCCCTGAACACGAAATTTATCC
+ATTTAGTTTGTTCTCAGTTAACAATTCATATCCGCTACCGGCGAATCGCCCATAGCTCAAAAGCCGTTCA
+GTTTGCGATCGCGCGCCCACTCCGCAGGGGTATACGCTTTGATCGACACAGCATGAATGCGGTTATCCGC
+AATATATTCCATCAGCGGGCCATAGACCGTCTGCTGTTTTTTAACCCGACTCATGCCGTCAAACAACTCA
+CCCACGGCAATAACCTGAAAGTGGCTGCCATCGCCGGAAACGTGGACTTCCTGGAGGGAGAGAGCGTTCA
+TCAACACGCTCTGAATTTCATTATTTTCCATGGGATCTTCAATCATCAGTTAATAAATCAGCGAAACATC
+TTAGAGCAAAGTTGCGCTGGCATAAATAAGCAAAAAGCCTCGCTGATAAATCAGACAAGGCTCGACTTGC
+AGGCAGGTTTGCCGGACAGGCGGTTAACGCCATATCCGGCCTGAAAAAATTTAACGAGGCAGAACATCAG
+CAGGCAAATTATACAATTTCGCCAGGGTATACACTTTGTCGTTTACCCCCTGAAGCGTCACATTGTTGCC
+CTGCTTTTTCGCCAGATCGATAAGATGGAGCAGCAGTGCCAGTCCACCCGTATCCACGCGAGACACACGG
+CTAAGATCGATGCTGGTAATCCCCTTCACCGCTTCCTCACGTATTTCCCAAAGCGGTAGCAGAACGTCCT
+GATCCAGCTCTCCGGATAACGCCAGCGTGTCACCCGTCTGCATCCAGCTCAGTGACTCGCTCATTATTTT
+TTCTCTTCCAGAGTGATTTTCTGTTGAGAAATCGATTTCAGTTGCGCAGTCAGGCCATCGATACCTTTGG
+TACGCAGCAACGTTCCCCACTCGTTTTGTTTGGTGGTGATCATACTGACGCCTTCAGCAATCATGTCGTA
+AGCCTGCCAGTTGCCCGTCTGGGAGTTTTTACGCCACTGGAAGTCCAGACGCACCGGCGGGCGGCCATTC
+GGGTCAATAATGGTAACGCGAATCGGCACAATGGTTTTATCACCCAGCGGCTGTTCTGGCGCAATCTGAT
+AGGTTTGACCGTGATACATCGCCAGCGCCTGACCGTAAGCCTGCTTCAGGTACTCACGGAAAGCGGCAAA
+GTAAGCATCACGTTGAGCTGGGGTCGCACTCTTGTAATACTGGCCCAGCACCAGCGCACCGGCGTATTTC
+ACCTGTACGTATGGCAACAGTTCCTGATCAACAATGGTACGCAGATAATCCGGGTTGGCCCGAATTTGCG
+GTTGCTCATTCTTCAGGCGATCGAACGTTTTCTGCGCCGCCTCGTCCATCAGCTTATACGGATTGGTCTG
+GTCTGCCGCGGTTGCCGCACTCAGCGGTGCAATCACCAGCAAAGCGACCATCATTAAACGTTTAAACATG
+CGTCGGTTCTCCTGAAATTATTTCGTTGTACCCACAGGTTCAGTGGTTTCATTATTACCTGGTGCAGCAG
+CTGGCGCATCGCCACTATTCTTATTGTCATCGCCTTTACTACCGTAAAGGAACTGACCAATGAGATCTTC
+CAGCACCATCGCAGACTTGGTGTCCTGAATTGTATCGCCATCCTTCAGGATAGCAGTCCCCAGTTCCGGG
+TCTTCAAAACCGACGTTTAATGCCAGATATTGTTCCCCCAGCAGGCCGGAAGTACGAATGCTCAGCGAAC
+TGGTATCAGGAATGTGGTTATAACGTTGTTCAATTTCCAGCGTTACGCGCGGCAGATAGGTTTTCGGGTC
+CAGCGTAATATCCGCCACCCGGCCCACAACAACGCCACCAATGCTGACCGGAGAGCGGGCTTTCAGGCCG
+CCAATGTTATCGAACGTCGCATAAAGCGTATAGGTCGGTTCAGTACGTATAGACGTCACGTTCGCTGCCT
+TCAGGCAAACAAACAGCGCCGCAAGCAGTGCTGCTAATAAAAAGATACCCACCCAAATTTCATTTTTTTT
+CGTTTGCATGAACTCAATTCCCAAACATCAATGCGGTCAGCACAAAATCCAGCCCCAGAACAGCCAGAGA
+CGAGTGGACAACGGTGCGAGTGGTTGCCCGGCTAATCCCGGCAGACGTCGGGATGGCGTCGTAGCCGTTA
+AACAACGAAATCCACGTCACCGTGATGGCGAACACCACGCTCTTAATCAGACAGTTGACGAGATCCATAC
+GCCAGTCGACGGCATTTTGCATTGCCGACCAGAAGAACCCACTATCAATGCCTTTCCAACTGACGCCGAC
+CAGCGATCCGCCCCAGATCCCCACGGCGACGAAGATAACCGTCAACAGTGGTAATGAAATAACTCCAGCC
+CAGAAACGGGGAGAAATAACCCGACGCAGCGGATCCACCGCCATCATCTCCATACTGGAGAGTTGCTCTG
+TAGCGCGCATCAGGCCGATTTCTGCGGTTAGCGCCGAACCAGCACGCCCGGCAAACAACAACGCGGCAAC
+CACCGGCCCCAGTTCACGCAGTAGCGATAACGCCACCAGCATACCCAGACTGGTTTCCGCACTATAAGTG
+GTCAGAACCAGATAACCTTGCAGCCCCAACACCATTCCGATGAACACGCCAGAAACAACAATAATCAGCA
+TCGACAGGACGCCGACATTATAGAGCTGGCGCACCAGCAGCGGTGCATGTTTGCGAAATTCCGGTTTGCC
+GACCAGCGCATTGAATAACATTAACCCGGCCCGCCCGAACGTTCTCAGGGTTTTAATCCCTTTATGTCCG
+AGCGACGCCAGCGCATTTAACAGCATGAGTGGCTTAACTCCCTGGTAAAAGATCAGCGTGATAATCGCCG
+GCAGGATAGCGGAACGGAACAGGCCCGTCAGCTATCCCGTCCAGAAACTGACGTACGCGCGGATCAGGAT
+TCGCCTGCAACGCCTGGGCACTGCCATGAGCGACAATTTTTTTGTCCGCCAGGATCCAGGCGTGATCCGC
+AATACTTAACACTTCCGGCACATCGTGAGAAACCACCACACAAGTCACGCCCAGCGCGCTGTTCAGCTCA
+GAAATCAGCTTCACCAGCACGCCCATGGTAATGGGATCTTGCCCAACAAAGGGCTCATCAAACATGATGA
+GATCCGGCTCCAGCGCAATCGCACGTGCCAGCGCTGCACGCCGCGCCATCCCACCGGAAAGTTCAGAAGG
+CATAAGTTTAGCCGCTCCACGCAGCCCCACGGCCTCCAGCTTCATCATCACCGTACTATGCAACAATGGC
+GCGGGAAGTTGGGTATGTTCCCGCAGTGGATAGGCGACGTTGTCAAATACGTTCATATCAGTGAACAACG
+CCCCGGACTGAAATAACATGCTCATCCGTTTGCGCACTGTATACAGGCGCGAACGAGACATCGCCGGAAT
+ATTCTCACCATCGAAAAGGATCTCACCATGATCTGGTGCGATTTGCCCGCCAATCAGACGGAGTAGCGTC
+GTTTTACCGATGCCCGATGGCCCCATGATCGCCGTGATCTTCCCTCGCGGCACGGTCAGGGAAATATTAT
+CGAAGATGCAGCGATTGCCACGCGTAAAACTGACATCGCGCATATCGACTAAATTCGCCACAGACTGCTC
+CATAATTCACCCTTCGTCTTGCGTTGATTTTCTAAGCATGGCGCTCAATTTAACCTTGAACCCAACATAT
+TTACAGAATATTACCTGCCGTGGTTAGCGAAAGCTGGCATTTGTTTTACTTTTTAGCCGCATAAAGTCAA
+AATTAAGAATCTGTTACGGCTTTCTGAAAATCTTCAGCGGACCGGCGAGTATACCTGAAGAAAGGGCGTT
+AGATGCTTTTAGCTACGGCACTGTTAATTGTTGGTTTACTTTTGGTCGTTTACAGTGCCGACCGCCTGGT
+TTTTGCCGCGTCTATTCTTTGCCGAACCTTTGGCATCCCGCCGTTGATCATCGGCATGACGGTGGTCAGT
+ATTGGTACATCGTTACCAGAAATCATCGTCTCGCTTGCCGCGTCTTTGCACGAACAACGCGATTTAGCCG
+TTGGTACAGCCCTCGGCTCAAACATTATCAATATATTGCTGATCCTCGGTCTGGCTGCGCTGGTTCGTCC
+TTTTACCGTCCATTCTGATGTTCTACGCCGTGAATTACCCTTAATGTTGTTGGTCAGCGTGGTGGCCGGT
+TCCGTACTCTATGACGGACAACTTAGTCGCAGCGATGGTATCTTTCTCCTCTTTCTGGCTGTGCTATGGC
+TGCTGTTCATTGTTAAACTTGCACGTCAGGCTGAACGTCAGGGGACTGACAGCCTGACCAGAGAGCAGCT
+TGCAGAGCTGCCGCGTGAAGGTGGATTGCCCGTCGCATTTTTATGGCTCGGCATCGCACTGATCATTATG
+CCAGTGGCCACGCGGATGGTAGTTGATAACGCCACGGTGCTGGCGAATTACTTTGCCATTAGCGAGTTGA
+CGATGGGTCTGACGGCAATTGCTATCGGAACCAGCCTGCCGGAACTGGCAAACGAATAGCGGGGGTTCGC
+AAAGGTGAAAACGACATTGCGGTCGGAAATATCATTGGCGCAAACATTTTTAATATTGTCATCGTGTTGG
+GTTTACCCGCGCTGATAACGCCAGGAGAGATTGATCCACTGGCGTACAGTCGTGACTACAGCGTGATGTT
+GCTGGTGAGCATTATTTTTGCGTTGCTGTGCTGGCGGCGCTCCCCGCAACCGGGCCGTGGTGTAGGGGTA
+TTATTAACTGGCGGATTTATCGTATGGCTGGCAATGTTGTACTGGTTATCGCCAATACTCGTTGAATAAC
+TGGAAACGCATTATGTCGCACGTAGAGTTACAACCGGGTTTTGACTTTCAGCAAGCAGGTAAAGAAGTCC
+TGGCGATTGAACGTGAATGCCTGGCGGAGCTTGATCAATACATCAATCAGAATTTCACGCTTGCCTGTGA
+AAAGATGTTCTGGTGTAAAGGGAAAGTTGTCGTCATGGGGATGGGGAAATCGGGGCACATCGGGCGCAAA
+ATGGCAGCAACATTTGCCAGCACCGGTACACCTTCATTTTTCGTCCATCCTGGCGAAGCCGCGCATGGTG
+ATTTAGGCATGGTCACCCCACAGGATGTGGTGATTGCTATCTCTAACTCAGGTGAATCCAGCGAAATCAC
+GGCCTTAATTCCAGTGCTTAAGCGTCTTCACGTACCGTTAATCTGCATCACCGGTCGCCCGGAGAGCAGC
+ATGGCGCGCGCCGCAGATGTGCATCTGTGTGTTAAAGTAGCGAAAGAAGCCTGTCCGTTAGGGCTGGCAC
+CGACCAGCAGCACAACCGCCACGCTGGTTATGGGCGATGCCCTCGCTGTCGCGCTGTTAAAAGCACGCGG
+CTTTACTGCTGAAGATTTTGCGCTCTCACACCCAGGCGGCGCACTGGGTCGTAAACTTCTGCTGCGCGTA
+AACGATATTATGCATACGGGCGATGAGATCCCGCATGTTAAGAAAACGGCCAGTCTGCGTGACGCATTGC
+TGGAAGTTACCCGCAAAAATCTTGGTATGACTGTCATTTGCGATGACAATATGATGATTGAAGGCATCTT
+TACCGACGGTGATTTACGCCGTGTCTTCGATATGGGCGTGGATGTTCGTCAGTTAAGTATTGCCGATGTG
+ATGACGCCGGGGGGAATACGCGTGCGCCCAGGCATTCTGGCCGTTGAGGCACTGAACTTAATGCAGTCCC
+GCCATATCACCTCCGTGATGGTTGCCGATGGCGACCATTTACTCGGTGTGTTACATATGCATGATTTACT
+GCGTGCAGGCGTAGTGTAAAGATTCAAGGATAAACAACAATGAGCAAAGCAGGTGCGTCGCTTGCGACCT
+GTTACGGCCCTGTCAGCGCCGACGTTATGGCAAAAGCAGAGAACATTCGTCTGCTGATCCTCGACGTTGA
+TGGCGTACTGTCAGATGGCCTGATTTATATGGGCAATAACGGCGAAGAGCTGAAAGCGTTCAATGTTCGT
+GACGGTTATGGCATTCGTTGTGCGCTCACCTCTGATATTGAAGTCGCTATCATTACCGGGCGAAAGGCTA
+AACTGGTAGAAGATCGTTGTGCCACATTGGGGATCACTCACTTGTATCAGGGGCAGTCAAACAAACTGAT
+CGCCTTTAGCGATCTGCTGGAAAAACTGGCGATTGCCCCGGAAAATGTGGCTTATGTCGGCGATGATCTC
+ATCGACTGGCCGGTAATGGAAAAAGTGGGTTTAAGCGTCGCCGTGGCCGATGCGCATCCACTGTTGATCC
+CGCGCGCCGATTACGTAACGCGCATTGCTGGCGGTCGTGGCGCAGTGCGAGAAGTTTGCGACTTATTACT
+CCTGGCGCAGGGCAAACTGGATGAAGCCAAAGGGCAATCGATATGAGTAAAGCCAGACGTTGGGTTATCA
+TTGTGCTATCACTGGGGGTTCTGGTGATGATCGGCATTAATATGGCCGAAAAAGACGATACCGCCCAGGT
+GGTCGTCAACAACAATGATCCCACCTATAAAAGCGAGCATACGGACACGCTCGTCTATAACCCAGAAGGG
+GCACTAAGCTATCGATTGATTGCTCAACACGTTGAATATTATTCCGATCAGGCCGTTTCGTGGTTTACGC
+AGCCGGTACTTACCACGTTTGATAAGGATAAAATCCCGACATGGTCCGTAAAAGCAGATAAAGCCAAGCT
+GACCAATGACCGGATGCTCTATTTATATGGACACGTTGAAGTCAATGCACTCGTGCCGGACTCTCAACTT
+CGCAGAATCACGACGGATAACGCGCAGATCAATCTGGTGACGCAGGATGTTACCTCTGAAGACCTCGTCA
+CGTTATACGGAACAACATTTAACTCCAGCGGTCTGAAAATGCGCGGCAACTTACGCAACAAGAACGCCGA
+GCTGATTGAAAAGGTTAGAACATCCTATGAAATTCAAAACAAACAAACTCAGCCTTAATCTTGTGCTTGC
+CAGCTCACTTCTGGCCGCCAGCATTCCGGCATTTGCCGTAACCGGAGACACTGATCAGCCGATCCACATT
+GAATCGGACCAGCAATCTCTTGATATGCAAGGCAACGTGGTTACCTTTACCGGCAATGTCATCGTCACCC
+AGGGCACCATCAAAATTAATGCCGACAAAGTGGTCGTTACCCGTCCGGGCGGCGAACAAGGTAAAGAAGT
+GATTGACGGCTACGGTAAACCGGCAACGTTCTACCAGATGCAGGACAACGGTAAACCCGTTGAAGGTCAC
+GCTTCCCAGATGCACTACGAACTGGCAAAAGATTTTGTCGTTCTGACGGGTAATGCTTATCTGCAGCAGG
+TCGATAGCAACATTAAGGGCGATAAGATCACTTACCTGGTGAAAGAGCAGAAAATGCAGGCTTTCAGCGA
+CAAAGGCAAGCGCGTAACCACCGTTCTGGTGCCGTCGCAGCTGCAGGACAAAAACAATAAAGGCCAGACC
+CCGGCACAGAAGAAGGGTAATTAATTCGTTATGGCAACATTAACTGCAAAGAACCTTGCAAAAGCCTATA
+AAGGCCGTCGCGTGGTAGAAGACGTCAGCCTGACCGTCAACTCCGGGGAAATTGTCGGTCTGCTGGGGCC
+AAACGGTGCCGGTAAGACCACCACTTTCTACATGGTTGTTGGCATTGTGCCGCGCGATGCGGGCAACATC
+ATTATTGATGATGACGATATCAGTCTGCTGCCTCTGCATGCACGCGCGCGCCGCGGTATCGGCTATCTGC
+CGCAGGAAGCCTCCATTTTCCGTCGCCTCAGCGTTTACGATAACCTGATGGCGGTACTGCAAATTCGTGA
+TGACTTGTCTGCTGAACAACGTGAAGACCGCGCGAACGAGTTGATGGAAGAGTTTCACATTGAGCACCTG
+CGTGACAGCATGGGGCAGTCACTCTCCGGGGGTGAACGTCGCCGTGTAGAAATTGCCCGCGCACTGGCTG
+CGAATCCGAAATTTATTCTGCTCGACGAACCGTTTGCCGGGGTTGACCCGATCTCGGTTATCGACATTAA
+ACGCATCATTGAGCACCTGCGCGACAGCGGCCTGGGCGTACTGATCACTGACCACAACGTGCGTGAAACA
+CTGGCGGTTTGTGAACGCGCTTATATCGTCAGTCAGGGGCATTTGATCGCCCACGGCACGCCTACAGAAA
+TCTTACAAGACGAACACGTTAAGCGTGTATACCTTGGGGAAGACTTCAGACTCTGATAGGGTAGAAGTTT
+GCGACGTTTTAGCAGGAGAGTACGATTCTGAACATGAAGCAAGGTTTGCAACTCAGGCTTAGCCAACAAC
+TGGCGATGACGCCACAGCTCCAACAGGCAATTCGTCTGTTGCAGTTGTCGACGCTGGAACTTCAGCAGGA
+GCTACAGCAGGCGCTGGAGAGTAATCCGCTGCTTGAGCAAATCGATACTCATGAAGAAATCGACACCCGC
+GAAACGCAAGACAGTGAAACACTGGACACCGCCGACGCGCTCGAACAAAAAGAGATGCCGGAAGAGCTGC
+CGCTCGATGCCAGTTGGGACACCATTTACACCGCTGGTACACCATCCGGCACCAGCGGTGACTACATTGA
+CGACGAGCTGCCGGTCTATCAGGGCGAAACGACACAGACCTTACAGGATTACCTGATGTGGCAGGTCGAG
+TTGACACCGTTTTCCGACACTGACCGCGCTATTGCTACCTCTATCGTCGATGCCGTTGATGACACCGGTT
+ATCTGACTGTCCCGCTGGAAGATATTCTCGAAAGTATGGGCGATGAAGAGATTGACATCGACGAAGTTGA
+AGCCGTCCTTAAGCGGATCCAAAGGTTTGATCCGGTCGGTGTGGCGGCAAAAGATCTGCGTGACTGCCTG
+CTGATCCAACTCTCCCAATTCGATAAGACCACGCCATGGCTGGAAGAGGCCAGACTGATCATTAGCGATC
+ATCTCGATCTATTAGCCAATCACGACTTCCGCACTTTAATGCGCGTCACGCGTCTGAAAGAAGATGTGCT
+GAAAGAAGCCGTCAATCTGATCCAGTCGCTCGATCCGCGCCCCGGGCAGTCGATCCAGACTGGCGAACCT
+GAATATGTCATTCCAGATGTGCTGGTGCGTAAGCATAACGGTCACTGGACGGTAGAACTCAACAGTGACA
+GCATTCCGCGTTTGCAAATCAACCAGCACTACGCCTCGATGTGCAATAACGCGCGCAACGATGGTGATAG
+CCAGTTTATCCGCAGCAATCTGCAGGATGCCAAATGGTTGATCAAGAGTCTGGAAAGCCGTAACGATACG
+CTACTGCGCGTGAGTCGCTGTATCGTTGAACAGCAGCAAGCCTTCTTTGAGCAAGGCGAAGAATATATGA
+AACCGATGGTACTGGCTGATATCGCCCAGGCCGTCGAGATGCATGAATCGACGATATCTCGCGTGACCAC
+GCAAAAATACCTGCATAGTCCACGAGGCATTTTTGAACTGAAGTATTTCTTTTCCAGTCACGTCAATACC
+GAGGGCGGCGGCGAAGCTTCCTCCACGGCGATTCGTGCGCTGGTGAAGAAATTAATCGCGGCGGAAAACC
+CAGCGAAACCGTTGAGCGACAGCAAGTTAACCTCTTTGCTGTCGGAACAAGGTATCATGGTGGCTCGCCG
+CACTGTTGCGAAGTACCGAGAGTCTTTATCCATTCCGCCGTCAAACCAGCGTAAACAGCTCGTTTGACCC
+AACCGATAAGGAAGACACTATGCAGCTCAACATTACCGGAAATAACGTCGAGATCACCGAGGCACTGCGC
+GAATTTGTTACAGCCAAATTTGCCAAACTTGAGCAATATTTTGACCGAATCAACCAGGTCTATGTTGTTC
+TGAAAGTGGAGAAAGTCACCCACACCTCAGATGCAACACTGCATGTAAACGGTGGTGAAATTCATGCCAG
+CGCGGAAGGTCAGGACATGTACGCTGCCATTGATGGCTTAATTGATAAGCTGGCACGCCAGTTGACCAAA
+CATAAAGATAAACTGAAACAACACTAATTGTCCGGGCAATTAGCATGTGCATGGCGGCCTGTTGTGCGGC
+ACAACGGGCCATTTGTACGGTTAATGCTCCGAGCCTGTTCCACTGTTTGAGTGGGCAGGTTCTTAGGTGA
+AATTATGACAAATAATGATACAACTCTACAGCTTAGCAGTGTTCTTAACAGGGAATGTACGCGAAGCCGC
+GTCCACTGTCAGAGCAAAAAACGCGCCCTGGAAATCATCAGCGAGCTGGCGGCGAAACAACTTAGCCTGG
+CGCCTCAGGTGGTTTTTGAAGCTATCCTGACGCGGGAAAAAATGGGCAGTACCGGTATCGGCAATGGTAT
+TGCCATTCCGCATGGCAAACTGGAAGAAGATACTCTGCGTGCCGTTGGCGTTTTCGTTCAGCTCGAAACG
+CCTATAGCTTTCGATGCCATCGACAACCAACCGGTAGACTTACTTTTTGCCCTGCTGGTGCCGGCAGACC
+AAACTAAAACGCACCTGCATACTCTGTCGCTGGTGGCGAAACGTCTGGCGGACAAAACCATCTGCCGCCG
+TTTACGCGCAGCCCAGAGCGATGAAGAGCTGTATCAAATCATTACGGATACCGAAGGTACTCCGGATGAA
+GCGTAGTTATTCGGTAATGTCTCTTTTAGACGTTGTGAGGAGAAACAGTACATGGTACTGATGATCGTCA
+GCGGACGTTCAGGTTCAGGTAAATCTGTCGCCCTGCGTGCGCTGGAAGATATGGGTTTTTACTGCGTGGA
+TAACCTTCCCGTAGTGTTGTTACCCGATCTGGCTCGAACTCTGGCCGATCGAGAGATTTCTGCCGCCGTC
+AGCATTGATGTTCGTAATATGCCGGAGTCACCAGAAATATTCGAACAGGCGATGAGTAACCTGCCTGACG
+CTTTCTCACCGCAACTACTGTTCCTGGATGCCGACCGTAATACCTTAATTCGTCGTTACAGTGACACGCG
+CCGACTGCATCCGCTTTCCAGCAAAAACCTGTCGCTGGAAAGTGCTATCGACAAAGAAAGCGATTTGCTG
+GAGCCTCTGCGTTCGCGAGCGGATCTGATTGTCGATACCTCAGAAATGTCCGTTCACGAGCTGGCAGAAA
+TGCTGCGTACCCGTCTGCTGGGTAAACGTGAACGTGAACTGACCATGGTCTTTGAGTCTTTCGGCTTCAA
+ACACGGTATCCCTATCGATGCAGATTACGTCTTTGACGTGCGCTTCTTGCCGAACCCGCACTGGGATCCG
+AAACTGCGCCCAATGACAGGTCTTGATAAACCTGTCGCCGCGTTCCTCGACCGCCACACAGAAGTACACA
+ATTTTATCTACCAGACGCGAAGCTATCTTGAGCTATGGTTACCTATGCTGGAAACCAACAACCGTAGCTA
+CCTGACGGTCGCCATTGGTTGTACCGGCGGGAAGCACCGTTCGGTGTATATTGCAGAGCAACTGGCAGAC
+TACTTCCGCTCGCGCGGTAAAAACGTCCAGTCACGCCATCGGACGCTGGAAAAACGTAAACCATGACCGT
+CAAGCAAACTGTTGAAATCACAAACAAGCTGGGCATGCATGCCCGGCCTGCAATGAAGCTGTTTGAATTA
+ATGCAGGGTTTTGACGCTGAAGTGCTGTTACGTAATGACGAAGGCACCGAGGCTGAAGCCAACAGCGTTA
+TTGCGCTGCTGATGTTGGATTCTGCCAAAGGACGGCAGATTGAAGTTGAAGCGACCGGTCCACAGGAAGA
+GGAAGCACTGGCCGCCGTTATCGCCCTCTTTAACTCTGGTTTTGATGAAGATTAATCTTCATCACTTTGA
+CATTCAAATCCCTTCAAGCTCCCCCGGCAATAAGAAAAGCGCGTACTGAAATCGTTATCAATCAACGTCG
+ATTGTACATTTCGTGCGCTTTTTTACTTTCAGAAGAACCTTAAGAAAACCTTAAGAAGCATTGTTTAGAT
+TTCGTTTAAGTTAATCGACCATACTGGAGATCGTCAGAAAATATTTCCAGGAGATGGCATGATTCGCTTA
+TCTGAACAAAGTCCCCTGGGCACCGGAAGACATCGGAAATGTTATGCGCATCCGGAAGATGCCCAACGCT
+GTATCAAGATTGTCTACCATCGTGGCGATGGTGGCGATAAAGAGATCCGCCGTGAGTTAAAGTACTACGC
+GCATCTTGGTCGCCGGTTAAAAGACTGGAGTGGAATACCGCGCTATCACGGTACCGTTGAGACGGATTGC
+GGAACCGGTTATGTCTACGATGTGATTGCCGATTTCGACGGCAAGCCTTCCATTACGCTGACCGAATTTG
+CAGAACAATGCCGTTACGAAGAAGACATTGCACAACTGCGCCAGTTACTGAAACAGCTGAAGCGTTATTT
+GCAGGATAACCGTATCGTGACGATGTCGCTGAAGCCGCAGAATATCCTCTGTCACCGCATCAGTGAGTCA
+GAGGTTACCCCCGTCGTCTGCGACAACATTGGTGAAAGCACATTGATTCCACTGGCGACCTGGTCGAAGT
+GGTGTTGTCTGCGTAAGCAAGAGCGGTTATGGAAACGATTTATCGCCCAACCGGCGCTGGCTATTGCCCT
+GCAGAAAGATCTGCAACCTCGTGAGAGCAAAACGCTGGCCCTCACTTCGCGCGAAGCTTAATCAAGCTGG
+TGTTGTTGCATAAACGGCTCACCGCCTAACTGATACATCTGCCGTAAAATCCACGCCTGACGGCTACGCA
+CGTAGCCCGATGGCGCGGAGACTTTGAAACGAAGTGGATTAGGTAATACAGCTGCCAGCAATGCAGCTTC
+CGACCGGGTAAGTTTGCTCGCGGGTTTGTGGAAATAACGTTGTGCCGCAGCTTCGACGCCAAACACACCG
+TCGCCAAATTCGGCGATATTCAGGTAAACCGTCAGGATACGCTTTTTGCTCCAGACTGTTTCTATCCCCA
+GCGTTAATCCGGCTTCCAGCCCTTTTCGAACCCAGCTACGCCCATCCCATAAAAAGAGATTTTTGGCTGT
+CTGCTGAGAAATCGTTGAAGCACCGCGAATACGGTTTTCATTGCGCTCGTTGTGCGCCAGGGCTTGCTCA
+ATGGAAGCGACATCAAAGCCCCAGTGCTCAGGAAATTTCTGATCTTCTGCGGCAATCACCGCCAGTCCCA
+TCCACGGCGAGATTTGATCCATACTGACCCAGTCAGAATGTGCCACGTAACGAAAATTGCCATGCAGCCA
+GGCGCTGACTTGCCGCTCGACCATTACCGCTGAGAAAGGAACAGGCGCAACGCTAAACAACGCGATGCCC
+CCGCCCCAGAAAATGGCGAGGACAACCATTAACCGCAGAAGAAAACGGCGAACGAAACTAAACACCGTTA
+AGCGGCTTTTACTCATTCAGCCAGAACCAGCACGCGGGAAACCAGCTTATCAATGCCGCTCGCCGCTTCT
+GCAATGTTCTGCGCCAGCATATATGCCGGGGTGGTGACAATCTTATTGTCTTCATCAACCACGATATCAT
+CGACAGGACACGGCACATGCTCCGCGCCCATCTCTTCCAGCACTTCTGCGGTATCGATATCAGTACCGAT
+GGTCAAACGCAGCGGGAAATCGAAAATTTTCGGCAGTATCGCCGGTGCTATACACATAAAACCAAGCGGT
+TTTCCGGCCTGATGCATCGCTTGTGCCAGCGCCTTTAATTCACGGTCAACGGTGCATTCGCTACCAAGAC
+TGGCAAAATTGCTTAAATTCTTCGCCGCGCCAAAACCCCCCGGCACAATCAACGCATCCAGTTCAGCGGC
+ATCGGCCTGGGCCAGAGGACGGATTTCACCGCGCGTTATTCGTGCCGCTTCAATCAGCACATTGCGCGTT
+TCCGTCATCGCTTCACCAGTTAAATGGTTGATAACATCAACCTGCTGCTTATCCGGTGCAAAGCAGACCG
+CCTGCGCACCGCTGCGTGAAATAGCTAACAACGTCAACACCGCTTCATGAATTTCAGAACCGTCATAGAC
+GCCGCATCCGCTCAGAATTACGCCAATTTTCTTCATTGTGATCTTCCTTTCGCAATTGACTGAAACACAT
+TAATTTTTTTAATAAAAATGCTACGCATCACACATTTAACTGATTCATGTAACAAATCATTTAAGTTTTG
+CTATCTTAACTGCGTGCGGCCTGAAAAACAGTGCTGTGCCCTTGTAACTCATCATAATAATTTACGGCGC
+AGCCAAGATTTCCCTGGTGTTGGCGCAGTATTCGCGCACCCCGGTCTAGCCGGGGTCATTTTTTAGTGGC
+TTTTGCCACCCACGCTTTCAGTACTTCTACGTCGTGACGCCACTCTTCTTTCATCTCTTCAATCCATTCA
+CCGACGTTATCTTCCCAGGCGGGAAGGTCAGGAGACTGAATTTGCTGACCCAGCTGTTGCAGATGGCGTA
+ACCCCACTGACCCCGCCGCACCTTTAATTTTATGCCCTTCCTCAACAATGCCTTTTTTATCCTGCGCCGT
+CAGATTCGACTCCAGCACGCTGACATAGCCCGGCATCATTCTCTCAAACACCGCTAACCCGTCGGTGATC
+AGCTTCGGTCCTACAAGTTCGAGATACTGTTCCAGCATGGGAATATCGAGCAATGCTTCTGATTTACTGT
+TCTCTTCTGTCGTCACCGTACTCTCCTCATCATCCTGGGTATCCCAGAATTTCTTGATCATCGCGGTTAG
+CGCCGGAACAGAAAGCGGCTTACTCAGCACATCATCCATTCCAGCATTGAGGTACTCTTGTTTGTCTTTC
+AGCACGTTAGCGGTTAAGGCCACCAGCGGCGGTAAATCCTCGCGCGGATAACGCTTCGTCAGTGCACGAG
+AGATATCCAGCCCGGTCATATCTGGCAACTGAATATCCAGCAACACCAGGTCGTATTCGCCCGGTTTAAA
+CATCTCCAGCGCCGCCTTGCCGGTCATGGCGACATCAACGCTGTTACCTAACTTTTCCAGCACAGAGCGC
+GCGACAATCACGTTCAGTTCAATGTCTTCCACCAGCAGCACATTCAGCGCCGGTAAAGGCATATCGTCTT
+CATCAAACGCATCATCAACCTCTTCTGCTACCGACGGTGCGTGGATCGTCAACGTAAAGGTTGAACCTTT
+GCCCTGTTCGCTGGTAACCGTAATATCGCCGCCCATATTTTTCGCCAGACGACGAGAAACGGCCAGACCA
+ATACCGGTGCCGGTGGCAGGTTTACCGCCATGACTGTCTTTCACCTGGTAATACATGGCAAAGATTTTAT
+CCAGCTCATCCTGCGGAATGCCGATACCAGAGTCTTCCACTTCAAAATGCAGCATATCGCCTTCATCGTA
+GCGCACGCGCACGGTAACCTGGCCTTGCTGAGTGAATTTGACGGCGTTACTGATGAGGTTCCACAAGATC
+TGCCGTAAACGCGTCCCGTCGGTAATGACCTGATGCGGTAATGGCAGCGTCGGCTCCAGATTAAAGCGCA
+ATCCTTTTTGTTGCGCCTGCAATGCGGAGAGATTTTCCAGATCGGCAAGGAAGCTGGTGAAATCAACCGG
+TTGATTATCAAGCTGGACCTTGCGCCGTTCCATCTTATCCATGTCGATAATATCGTTGAAGATATTCCCC
+AGCGTGACAGCCGAAACATGGATGGTTTTGAGATATTTTTCCTGCTCGGCGGTGAGTTCAGTATCCAGCA
+GAATGCGGCTCAGGCCGACGATACCGTTCAGCGGTGTACGCAATTCGTGACTGATGGTGGAGATAAACGT
+CGTTTTGTCGCGGCTGGCGCGTTCAAGCGCATCCTGATACCGCTTACGCTCGGTAATGTCGCGACCAAAG
+CCCATCAAACCGTGACGTTTACCCACGCGGTCGTAGTACGGTACTTTACGGATTTCAAAGCAGGCTTTGC
+GTCCGTCGGGATAATCCAGCCACTGCTCATAGGTCAGTGACACATTATGACGGAACACTTTTTCATCGGT
+TTCAATGACTTTCGCAGCGGCTTCCGGTGAGTAAACATCAGCAGGTTTCAGGTGAACCAGTTGTTTTTCG
+CTTTTTCCGGTCAGCAGCTCCATCGCGCGGTTACAGCCGGAAAACTCTTTATCTTCGTTACGATAAAAAA
+CCAGGTCGGGTGAAGCGTCAAGGAAGGAACGTAAGAATGAGGATTGCTGCTCGAGCTGAATTTGTGTCTC
+TTCGCGCTCTTTGATTTCAATTTTCAGTTGGCCGAAGGTTTCCTGCAGTTCTGCTTCCGCTTTTTCACGA
+ACGGCGATTTCCTGATTTAGCTGGGCAATATTATCTTTTAACTGAACGTTGAGGCTCAAATCGCGCTCGC
+GCATCTCCTCCAGTTTTTGCACCAGTCGTGACAGACGTTGTCGTGACTCCTCCAGTTGCTCGACGACCAC
+CGATAGAAAGTAGACCGCCCACGGCGTAATCAGCAAACCAAAGAAGATAGAACGAATAACATCAATGCTT
+TCGACCTGGCCATGCAGCACCATGGTTACCGCCATTTGTACCACAATGGCAAGAACGACGAGGGCCAGCG
+CCAGCAACATTGAGAAGCGCACCAGACCTAACTTCATCATCAGGTCAACATAATACTGCGCCAGCAGACG
+AATTTGCTTCATTAGGGAATTCCTTCACGACAACCTGCCCCAATAATACCCAATTCTGACAGTTACGTTA
+TAAATTGTGTGAGAAATGCGGAATTCCCCTCAATGGCCTACGCCGTTGGAGGTAGCCACGGACGTCCCAG
+CGCCGATCCCTGTACGCCATGTTCATTCAGATAACGATCCAGCCCGACCATTCCCGTCCATCGATTTTCG
+CACCACAGCGGAGCAAGCAGCGTCGGGCGACGGGCGCTGGCGGAAATGCGGTGGTAGATCACTTCCGGTG
+GCGTATGGCGAATCATTTCTCCGGCAGTGAGCGTGTAATCCTCCAGTTCAATTCCGTTCAAACGCCCCGC
+TTCCCAGGCTTTCGCCATAATGCTGCCTTTCACTATATGCAGCGGATGCAGCTTTATGCCGTCCACGCCG
+GTTTCAACCACTCGCTCCAGCGTTTGCAAACATTCAGCCTGCCCTTCGCCAGGCAGGCCAACAATTAAGT
+GAGAACACACCTTCAGCCCACGCTCACGCGCCAGCTGCGTCGTGCGCTGATAGCAGGCAAAATCATGACC
+GCGATTGATGCGATGCAGTGTTTTGTCGTGGGCGGTTTGTAGCCCCAGCTCCAGCCACACTTCGTAGCCC
+TGGTCCTTATATTCGCAAAGCAGATCCAGCACCGCATCCGGCACGCAGTCCGGGCGGGTACCAACACACA
+AACCGACAATATTGGCCTGGCTCACCGCCTGCTGATACATCGAACGCAGCACCTGAACTTCCGCAAAGGT
+GCTGGTATACGCCTGAAAGTAGGCCAGATAGCGTTTAGCGCGGTTAACTAAATTCGCCTGGTGCGCCAGT
+TGCTCGGCAATGGAACGATGCTGCTGCGCTTCATCGGCAAACGAGGCAACATTACAGAATGTGCAGCCGC
+CACGCCCGATGGTACCGTCACGGTTAGGGCAGCTAAAACCGCCATGCAGCGTCAGCTTATGCACCTTTTG
+CCCATAACGACGGGTGAGATCACCACCAAACATATTGACTAATTTCTGTAACTGCATAATCTGATTGACC
+GCGCCTTGAAAAGAGGCCAAAGCCTGCCATTTTTAGCCCAATTCGGCGATGACCTGGATCAATCGTCCCG
+GCCTGCTTTTATCAACTGCATAATCAATCAAAATTACCGAAATTTCATGCACAATCACATAAATCACTTT
+TGCTTATCTTGTGTCAGATTTTTTTATCTCCTTATGGATTTTAGGCAAAAACAGTAGCATGAAACGTTAT
+TACCAATTAAGGCAGTATAAAATGCTGGTTTTCTCGTCAGTTCAAGGCAGGATAAGGGTTAACACGCCTT
+TATGACAGTCAGGTATTGGCTGTTTCTCTAACGACGCCCCTTTTAGCCTTAAATAGAAAATCCAATTTAA
+TTTCAGATAATTAATAAAGAATTTTGCGCTAAAGCACATTTCTGTACCAATAAGCTTGCCATTTGACCTG
+TATCAGCTTTCCCGATAAGTTGGAAATCCGCTGGAAGCTTTCTGGATGAGCAGCCTGCTCATCATATTTA
+TGCAGTAATTGAGATCCCCTCTTCACCGTATTAACCGATGCGAAAAGGACAACAAGGGGGCGAATGCGAG
+GCGCGCGTATGACACGCAAACCCCGTCGCCACGCTCTTACTGTGCCCGTGCGCAGCGGTTCGGAAGTGGG
+GTTCCCGCAGAGCCTGGGGGAGGTTCACGATATGTTGTACGATAAATCCCTTGAGAGGGATAACTGTGGT
+TTCGGCCTGATCGCCCACATAGAAGGCGAACCTAGCCACAAGGTAGTGCGTACTGCAATACACGCACTGG
+CCCGCATGCAGCACCGTGGCGCGATTCTCGCCGATGGTAAAACCGGTGACGGTTGCGGCTTGCTGTTACA
+AAAACCGGATCGTTTTTTTCGCATCGTTGCGCAGGAGCGCGGCTGGCGTTTAGCAAAAAACTACGCCGTC
+GGGATGCTCTTCCTGAATAAAGATCCTGAACTCGCCGCTGCCGCACGCCGCATCGTTGAAGAAGAGCTGC
+AACGCGAAACGTTGTCGATTGTGGGCTGGCGTGATGTCCCCACTAACGAAGGCGTGCTGGGTGAAATCGC
+CCTCTCCTCTCTGCCACGCATTGAGCAAATTTTTGTGAACGCCCCGGCAGGCTGGCGTCCGCGCGATATG
+GAGCGCCGTCTGTTTATCGCCCGCCGCCGCATTGAAAAGCGTCTCGAAGCCGACAAAGACTTCTACGTCT
+GTAGCCTGTCGAATCTGGTCAATATTTATAAAGGTCTGTGTATGCCGGCGGATCTGCCGCGCTTCTACCT
+GGACCTCGCTGACCTGCGTCTGGAATCGGCCATCTGCCTGTTTCACCAGCGCTTTTCCACTAACACCGTA
+CCGCGCTGGCCGCTGGCGCAGCCGTTCCGCTACCTCGCGCATAACGGTGAAATCAACACCATCACTGGTA
+ACCGCCAATGGGCGCGTGCGCGTACCTATAAATTCCAGACGCCGCTGATCCCTGACCTGCACGACGCCGC
+GCCGTTCGTCAACGAAACCGGCTCTGACTCCAGTTCCATGGATAACATGCTGGAACTGCTGCTGGCAGGC
+GGGATGGATATCATCCGCGCCATGCGTCTGTTAGTACCACCCGCCTGGCAGAACAACCCGGATATGGACC
+CGGAACTGCGTGCCTTCTTTGACTTTAACTCCATGCATATGGAGCCGTGGGATGGCCCGGCAGGCATCGT
+GATGTCTGACGGTCGTTTTGCCGCCTGTAACCTCGACCGTAACGGTCTGCGTCCGGCGCGCTACGTCATC
+ACCAAAGATAAGCTCATCACCTGCGCCTCTGAAGTCGGTATCTGGGATTATCAGCCTGACGAAGTGGTCG
+AAAAAGGCCGCGTGGGGCCAGGCGAACTGATGGTTATCGACACCCGCAGTGGGCGTATTCTGCACTCGGC
+AGAAACCGATGACGATCTGAAAAGCCGCCATCCATATAAAGAGTGGATGGAGAAAAACGTCCGCCGACTG
+GTACCGTTTGAAGATCTGCCCGATGAAGAAGTGGGTAGCCGCGAACTGGACGACGACACGCTTGCCAGCT
+ACCAGAAACAATTTAACTACAGCGCGGAAGAGCTGGATTCCGTGATCCGCGTGCTGGGCGAAAACGGTCA
+GGAAGCGGTCGGTTCGATGGGCGACGACACTCCGTTCGCCGTGCTCTCCAGCCAGCCGCGCATTATTTAC
+GACTACTTCCGCCAGCAGTTTGCTCAGGTAACCAACCCGCCAATCGACCCGCTGCGTGAAGCGCATGTTA
+TGTCGCTCGCCACCAGCATTGGCCGCGAAATGAACGTCTTCTGCGAAGCAGAGGGACAGGCGCACCGTTT
+AAGCTTTAAATCGCCGATTCTGCTCTACTCCGATTTCAAACAGCTCACGACGATGAAAGAGGATCACTAC
+CGCGCAGATACGCTGGATATCACCTTTGACGTCACTAAAACCACGCTCGAAGCGACGGTGAAAGAACTGT
+GTGACAAAGCCGAAAAAATGGTACGTAGCGGCACCGTGCTGCTGGTGCTCTCCGACCGGAATATCGCGAA
+AGATCGCCTGCCGGTTCCGGCTCCGATGGCGGTTGGCGCGATCCAGACCCGTCTTGTCGAGCAAAGCCTG
+CGTTGCGATGCCAACATCATCGTAGAAACCGCCAGCGCCCGTGATCCGCACCACTTCGCCGTGTTGCTGG
+GTTTCGGCGCGACGGCTATTTATCCATACCTTGCCTATGAAACGCTGGGCCGCCTGGTAGACACCCACGC
+GATTGCCAAAGATTATCGTACCGTGATGCTCAACTATCGTAACGGCATCAACAAAGGCTTGTACAAAATC
+ATGTCCAAAATGGGCATCTCCACCATCGCCTCTTACCGCTGCTCGAAACTGTTTGAAGCGGTCGGTCTGC
+ACGATGATGTCGTGGGCCTGTGCTTCCAGGGGGCGGTTAGCCGCATTGGGGGGGCTAGCTTTGAAGACTT
+CCAGCAGGATCTGCTGAATCTGTCGAAACGAGCCTGGCTGGCGCGTAAGCCCATCAGCCAGGGCGGCCAG
+CTGAAATACGTGCACGGCGGCGAATACCACGCCTACAACCCGGACGTGGTGCGCACGCTGCAACAGGCGG
+TACAGAGCGGCGAGTATAGCGACTATCAGGAATACTCGAAGCTGGTTAATGAGCGTCCGGCAACCACGCT
+ACGCGATCTGCTGGCAATTACGCCGGGTGAAAACGCGGTCAACATTGCTGATGTTGAACCGGCAAGCGAA
+CTGTTTAAACGCTTCGATACCGCCGCGATGTCTATCGGCGCGTTAAGCCCGGAAGCCCACGAGGCGCTGG
+CGGAAGCGATGAACAGCATCGGCGGTAACTCAAACTCCGGCGAAGGCGGTGAAGACCCGGCGCGCTATGG
+CACTAACAAAGTGTCGCGCATCAAGCAGGTGGCGTCCGGTCGCTTTGGGGTTACTCCGGCGTATCTGGTC
+AATGCCGACGTCATTCAGATAAAAGTCGCCCAGGGCGCGAAGCCGGGTGAAGGTGGTCAGTTACCGGGTG
+ATAAAGTCACTCCTTACATTGCCAAACTGCGCTATTCGGTGCCGGGCGTGACGCTGATCTCCCCGCCGCC
+GCACCACGATATCTACTCTATTGAGGATTTAGCGCAGCTGATTTTCGACCTCAAGCAGGTCAATCCAAAA
+GCGATGATCTCCGTGAAGCTGGTTTCCGAACCGGGCGTAGGCACCATCGCGACTGGCGTGGCAAAAGCTT
+ATGCCGATTTAATCACCATCGCAGGCTATGACGGCGGCACCGGCGCAAGTCCGCTTTCATCGGTGAAATA
+CGCAGGCTGTCCGTGGGAGCTGGGGCTTGTTGAAACCCAACAGGCGCTGGTTGCCAACGGCTTGCGTCAC
+AAGATCCGTTTGCAGGTCGATGGCGGCCTGAAAACGGGTGTCGATATCATCAAAGCAGCGATTCTTGGCG
+CGGAAAGTTTTGGCTTCGGCACTGGCCCGATGGTAGCGCTTGGCTGTAAATATCTGCGAATTTGCCACCT
+GAACAACTGCGCCACGGGTGTAGCAACTCAGGATGACAAACTGCGTAAGAATCACTATCACGGCCTGCCG
+TTCAAAGTGACTAATTACTTTGAGTTTATCGCCCGTGAAACCCGCGAGCTGATGGCACAGCTGGGGGTAA
+CGCGTCTGGTGGATCTGATTGGTCGCACCGACCTGCTGAAAGAGCTGGACGGTTTCACCGCCAAACAGCA
+GAAACTGGCACTGTCGAAGCTGCTGGAGACTGCTGAGCCGCATCCTGGTAAAGCGCTCTACTGCACCGAA
+AACAACCCGCCGTTTGATAACGGCCTGCTGAACGCGCAGTTGCTGCAACAGGCAAAACCGTTTGTCGATG
+AACGCCAGAGCAAAACCTTCTGGTTCGATATCCGCAACACCGACCGTTCTGTCGGCGCATCGCTTTCAGG
+CTATATCGCCCAAGACGCGCGGCGATCAGGGGCTGGCTGCCGATCCTATCAAAGCGTACTTCAACGGCAC
+CGCAGGCCAGAGCTTCGGCGTGTGGAACGCGGGCGGCGTGGAACTGTACCTGACCGGTGATGCCAACGAC
+TATGTCGGTAAAGGCATGGCGGGCGGCTTAATCGCCATTCGTCCTCCGGTTGGCTCAGCCTTCCGCAGCC
+ATGAAGCGAGCATTATCGGCAACACCTGCCTGTATGGCGCGACCGGTGGTCGTCTGTATGCCGCAGGCCG
+CGCGGGTGAACGTTTCGGCGTGCGTAACTCCGGTGCTATCACCGTGGTAGAAGGCATTGGCGACAACGGC
+TGTGAATATATGACGGGCGGTATTGTCTGTATTCTGGGTAAAACCGGCGTTAACTTCGGCGCGGGCATGA
+CCGGTGGCTTCGCTTACGTTCTCGATGAAAGCGGCGATTTCCGCAAACGCGTTAACCCGGAACTGGTCGA
+GGTCTTAAGCGTTGACGATTTGGCGATCCATGAAGAGCATCTGCGTGGTCTTATCACCGAGCATGTGCAG
+CATACCGGTTCCCAGCGCGGTGAAGAGATTCTGGCGAACTGGTCAACCTTCGCCACTAAATTTGCGCTGG
+TTAAACCGAAGTCCAGTGATGTAAAAGCACTGCTGGGTCACCGTAGTCGTAGCGCAGCAGAGTTGCGCGT
+GCAGGCGCAGTAAGGGGTAGCAACAATGAGTCAGAATGTTTATCAATTTATCGACCTGCAGCGCGTTGAT
+CCGCCAAAGAAACCGCTGAAGATCCGCAAAATTGAGTTTGTTGAAATTTACGAGCCGTTTTCCGAAGGCC
+AGGCCAAAGCGCAGGCTGACCGCTGCCTGTCGTGCGGCAACCCATACTGCGAGTGGAAATGCCCGGTACA
+CAACTACATCCCAAACTGGCTGAAGCTCGCCAATGAGGGGCGTATTTTTGAAGCGGCGGAACTGTCGCAT
+CAGACCAATACCCTGCCGGAAGTGTGCGGACGTGTCTGCCCGCAAGACCGTCTGTGCGAAGGTTCCTGCA
+CCCTGAACGATGAGTTCGGCGCAGTGACCATCGGCAACATTGAGCGCTATATCAACGATAAAGCGTTCGA
+GATGGGCTGGCGTCCGGATATGTCCGGCGTGAAACAGACCGGTAAAAAAGTGGCGATTATCGGCGCAGGT
+CCGGCGGGTCTGGCGTGCGCGGATGTCCTTACGCGCAACGGCGTAAAAGCGGTTGTCTTCGACCGTCACC
+CGGAAATTGGCGGCTTGCTAACCTTCGGTATTCCGGCCTTCAAGCTGGAAAAAGAGGTAATGGCGCGCCG
+CCGTGAAATCTTCACCGGCATGGGTATTGAATTCAAACTCAATACCGAAGTGGGCCGCGACGTACAGCTG
+GACGATCTGCTGAGTGATTACGATGCCGTGTTCCTTGGCGTCGGGACTTATCAGTCAATGCGCGGCGGGC
+TGGAAAACGAAGATGCCGATGGCGTGTACGCAGCGCTGCCGTTCCTTATCGCCAACACCAAACAGTTAAT
+GGGCTTTGGCGAAACTCGCGAAGAACCGTTCGTCAGCATGGAAGGCAAACGCGTGGTGGTCCTTGGCGGT
+GGCGACACTGCGATGGACTGCGTGCGCACGTCTGTACGCCAGGGGGCAAAGCACGTTACCTGTGCCTATC
+GTCGTGATGAAGAGAACATGCCGGGTTCCCGCCGCGAAGTGAAAAACGCGCGGGAAGAAGGTGTTGAGTT
+CAAATTCAACGTCCAGCCACTGGGGATTGAAGTGAACGGCAACGGCAAAGTCAGCGGCGTAAAAATGGTG
+CGCACAGAAATGGGCGAACCGGATGCCAAAGGCCGTCGCCGCGCAGAGATCGTGGCAGGGTCAGAACATA
+TCGTTCCGGCAGATGCGGTGATCATGGCGTTTGGTTTCCGTCCACACAGCATGGAATGGCTGGCAAAACA
+CAGCGTCGAGCTGGATTCCCAAGGCCGCATCATCGCTCCGGAAGGCAACGACAACGCTTTCCAGACCAGC
+AACCCGAAAATCTTTGCTGGCGGCGATATCGTCCGAGGTTCCGATCTGGTGGTGACCGCTATTGCCGAAG
+GTCGTAAGGCGGCAGACGGCATTATGAACTGGCTGGAAGTTTAAGCTCTGTCCCAGCGCCGCCTCCTCAG
+AAAAGAGTCGGCGCTGAAATTCTCCTTTCTTTCTGGAAAGCGCCTCGCATAATCTGAAGAAAACCAATGT
+AATACGCTCATCTGGATTGTTACCGGTAGATGCCCGGCGTATAGCTGATTCCATTATTCAACGCAGCGCC
+ATATAAAGGGACAGATAATGGAATCGCTCTCAGAGAGAACCTCAACAGGCTACCAGCAAATCCACGACGG
+TATTATTCACCTAGTCGATAGCGCCCGGACGGAAACGGTACGTAGCGTTAACGCGCTGATGACCGCGACA
+TACTGGGAAATTGGCCGACGAATTGTCGAATTTGAACAAGGTGGCGAGGCCAGGGCTGCGTATGGTGCGC
+AGCTAATCAAGCGACTATCAAAGGATTTAAGTCTAAGGTATAAGCGTGGGTTCTCTGCAAAAAACTTACG
+CCAAATGAGGCTTTTTTACCTCTTTTTTCAACATGTTGAAATTCGCCAGACAGTGTCTGGCGAATTAACA
+CCATTGGGAATTCCGCAGACACCATCTGCAGAATTCCCATCGGCAAAGATTTGGCAGACGCTGTCTGCCA
+AATCTTTCCCCCTGCCCTGGTCCACCTACGTCCGTTTACTTTCTGTTAAAAACCCTGATGCCCGCAGCTT
+TTATGAAAAAGAGACGCTCCGCTGTGGTTGGTCTGTCCGCCAGCTAGAGCGGCAAATTACGACCCAATTT
+TATGAGCGAACACTACTGTCACATGACAAATCAGCCATGCTGCAACAACACGCTCCTGCCGAGATGCATA
+TTCTTCCGCAACAGGCGATACGCGATCCCTTTGTGCTCGAATTTCTGGAGTTGAAAGATGAATACTCAGA
+ATCTGATTTTGAGGAGGCGCTGATCAACCACCTGATGGATTTCATGCTGGAACTTGGGGATGATTTTGCC
+TTTGTTGGTCGGCAGCGAAGGTTACGCATTGATGACAACTGGTTTCGGGTCGATCTGCTGTTTTTCCACC
+GCCGTTTACGCTGCCTGCTAATCGTCGATCTAAAAGTGGGCAAATTCAGCTATAGCGATGCCGGACAGAT
+GAATATGTATCTCAACTACGCCAAAGAGCACTGGACACTACCGGATGAAAATCCGCCCATCGGTCTGGTT
+CTCTGTGCAGAGAAAGGAGCCGGCGAAGCGCATTATGCACTGGCTGGTTTGCCTAACACCGTTCTGGCGA
+GCGAATATAAGATGCAACTACCTGATGAAAAACGACTCGCGGATGAACTCGTTCGAACACAGGCGGTGCT
+AGAGGAAGGCTATAGACGCCGTTAATTTCAGCGGTTTCGAATTCTGCAGACAGTGTCTGCAGAATCTTTA
+AAACGAACTAAGTTTTAAGCCATTAAATCAGCCTTAACCTTCACCACAACCTTTTTAATCTCATCAGGTT
+CGCCGACAACGCATCCTGGTTTATGCGGTTCTCCCGGCATAAACACGGCGAACATTCCCGGTTTTAAGAT
+GATGGCTTGCTCGTTCTCAATGGCGCTGCAAAGCTGGTAATCATCCTCATGGTGGAACTCTTCACACTCA
+CGCGCAGTGCCTGCCGTGCCAAACAGAATCCGTTCCTCACCGTTTAATAACAGCTGGATATCAATGTATT
+GCTCGTGCAGCTCCGCTTTTTTCTCAACGGGCGATTGAGTGTTAAACGTCATGACATTCATAAAGATATT
+GTCGCCCTGTAATTCGTAACGACCCGGTGCTTTTTCTTGCGGCCTGGCGGCTAAGGCTAGTGTTAACGCG
+TCCTGTAACGCAGGATGCAATCCGGCAGACGGTAACGACTGTACTTCACCCATTATCATAATTTTTCTCC
+CTGGGCCAACAACGCAGCCCCAAGTAAACCTGCATCGTGGCGGTAGTGCGCCGCCAGTAAATCAACATGA
+AATGCCGCTGGCTCCTGCGCCAGATACGTTTCCACCAGCGCCAGATACCCTTCTGCCAGACCAACGCTGC
+CACCGACCACCACGCACTGGCAATCAGTTGTGGCTTTAATATCAGCGATCAGCCTTGCAAGCGTACGTGC
+GGAGCGGTGAATCAGTTGCTGCGCCTGCTCATCACCCTGCCCGGCGCGCGTGAAAATAGTTTTCGCATTC
+GCACCAGCCAACTCCCCCTGCGCTGCCGTTGCAATGCCGCGACCAGAAGCAATCGCTTCCACGCAACCTG
+TGCGTCCACAGCCGCAGACTGGACCATGCGGATCGGCAAGCGTATGCCCGATATGCCCCGCCAGACCGCC
+AGGGCCGGTACGCAGTTTACCGCCGCTCACTACACCGCCGCCAACGCCGGTGGAAACAGTGATAAACACC
+ATATCGGTTATATCGCCATCCAGCGCCTGATACTCCGCCCATGCTGCGGCCTGCGCATCATTAATGGCAA
+TGGTCGGCAAATTGGTAAGTTGCTCCAGCGTTTTGACTAACGGAAAGTGTAACAATCCACCGAGATTATG
+CGGATTCAGCGCCAACAAGCTGCCGTCGCGAATAATTCCGGTTGAAGCGATGGCAACCCGCTGCGCATGT
+GCTTGCAACGGAGAGACTAATGCGGATAAGGCATCACGCAGCGCCTGCGGAGTCTGGCTGGCAGGCGTAG
+GAAGTTCTCGGCGATCGCGGATCTGCCCGTCAGCGCCAATCAGCGCGGCGGCAAGTTTAGTACCGCCGAT
+ATCAATCGCCAGTGTGGTCATAGCACCGCCTTTTTCATCGCTGTGTTGTACCACTGACAAATGTGTTCAA
+GACGCGTAATGGCAGAACCGACCGTCACCGCCCACGCGCCGTGGCGCATCGCATCCGCCGCCTGAGCAGG
+CGTGTTGTAACGCCCTTCGGCAATCACCCGGCATCCGGCGTCGCTCAACGTTTTCACCAGCGCCAGATCC
+GGCTCTTCTGGCGTTTCAGGCGTGGTATAGCCAGAAAGCGTAGTGCCAATAATTTCGGCTCCCAGCTTTT
+GGCATGCCAGGCCGTCTTCCGGCGTTGAGCAGTCGGTCATCGCCAGTAAACCGTGATGGTGAATACGTGC
+CAGCAGCGTTTCAACTGGCACCGGACGCGGTCGGTCGGTGCCGTCAATCGCGATAATGTCCGCGCCCGCC
+TGCGCCAGCGCATCAACATCTTCAATATAGGCCGTGATGCGTACCGGAGAATCCTCCAGATCGCGCTTCA
+CAATCCCAATAATCGGCACGCTCACCACCGCACGCGTGGCTTGCAGATTTGCCACACCTTCAATACGAAT
+GGCGACCGCGCCCGCCTGCTCTGCCGCTAATGCCATGGCAGCGACGATTTCGGGTTTATCGAGCGGGCTG
+TCCGGAACCGGCTGGCAGGAGACAATCAGGCCACCGTTAGCAGCGATTTTTTGATCCAGTTGTGCAAGTA
+ACGACATACATCTTCCCTTAGCGAAAGGCCCGGTACAGAGACCGGGCAACAGGATTAACTTTTGGTTTTG
+ACTAAATTGTTTTTGGCGCTGCCAAATGGCACGGCACCGCTAAATGGTTTGCCGTCGATAGCGTCATGAG
+TACGCAATGCTTCCGGGCGCAGCCAACGCTGAACACGAGAAGGCATATCCAGACCAATCAGCAGGATCAC
+CACAAATGTCAGACTGAACGAGAGCGATGCCAGCGCAGTACCCAGATCCAGACGTTGAGCGATCAACGCG
+CCGATGATTGGGGCCAGTGCACCACCCAGTGCGCCAACGTTGTAGGTAAAGCCCAGGCCCGCTGCACGCT
+GGTCGGTATCGAAATAACCGCCAATCAGTTTCGGTAAGATCCCGGCGATCCCTTGTCCAAGCATTTGCTG
+GAAGAACAGTAACAGACCGAGCACCCAGACGTTTGCGCCGCCAATCGCAAATACCGGAATAATCAGCAGC
+TGCGAGGCCAGCAGACTACAAACGTACGCTTTGCGGGTTCCCAGCCAGTCACCGAGGAAGCCCCCGACGC
+AGCACCCCACCGCCGCGCCAAAGCCACTAAAGAACAGCACATTGGCGACAGTATGCGGGTCATAAGCCAG
+ATCGGTTTTCAGATACGTTGGCAGCAGCGCCTGAATCGGCCATGAGTAGAGGAAAGCAAACAACACGACC
+ACCATCAGCATTACGCCCGTTGGCCAGCGTTTGCCCGTACTCTGCACCATAAAGCTGATAAAAATTGCGG
+CGCATAACAGCCCAAGAACAGCGACGATCGCGGCATTTTGCAGGTTACCGGCGAAGCAGAACCACAGCGC
+AGTAGCCGCCGCCAGTGTCATTACGATATTGGCAATGCGATGTTCACCACGGTAGAGAATGTCTACCATC
+GTGCGTACTGGTGCTTTACCCCCGTGTTTCTCTTTCCAGTCTTCCGCTTCCGGGATGTTTTTACGCAGCC
+AGAGAGCAAAGATGATTGGCAAAATGCCGATAAAGAACAGCGCACGCCAGCCCCAGACCGGAACCACCAG
+ACTATAGACCTGAGCGGCAACGACGGCCCCCACTGAGAAGCCTGAAATCAGAAAACCACTGGCTTTGTTA
+CGCAGATGCTTTGGCCAGCTTTCAATGACATAGGTGGCGCTGGAACCGTATTCACCCGCCATCCCCATGC
+CGATGACCAGACGAGCGATAAACATGGTGATGTAGCCTGGCGCAAAGCCGCAGGCCAGCGTCCCGGCCGA
+GAAGAGAACGATGCTGGTGACCATTGCCAGACGACGCCCGTAGCGGTCACCCATAGCGCCGAGCATCAGG
+CCGCCGAACCAGCGAGAGATAAAGGCTGCGGAGATCAGACTTGCCGCCTGCACCGTCGTCAGCCCGAATT
+CACCCTGTACTTCGGTGAGTACCAGGGCGATTAAAACGAAATCAAAACCGTCAAGCAGATATCCCAACCA
+GGCAGCGGAAAATGCCCGCCATTGTGCGCGGTTAAGATGGCGATACCACGGGATATTCTGGGTTGTAGTA
+CTCATTGTGAGTCTCCCGCGGTGGGCGATGCCCACACGCTTTGGTATGAAAATTGTAGGGTACAGATGCG
+TTTATTTCCCCTCACCCGGTAGGGGCGAGCGAGGGGAAACAACTCACCCGCGCTCTTGCATCAACTGCTG
+GGCCAGCGCCTTCAGTTCTGGCAGATATTTTTCATCTACCGGACCAAACGGTTTGCGGCACAGCGGCACA
+GAAACGACATCCATATAATGCAGGACAGTTTTCAGGCCGCGGAATACGCCCGTTTTGATCAGTAAATCAA
+TGACTTTGTTGCACTCAGTTTGCAGTTTCTGCGCGGTCTGGATATCGCCTTCTTTCAGCGCCTTCACGAT
+CCCCTGATAACGCCAGCCCATGATGTTGTAAGTGCTGCCGATACCGCCGTCTGCGCCCGCCAGAAGACCA
+GAGGCGAAGATTTCGTCGTAACCGTTATAGAGCACCAGATCAGGATGTTCACGACGGATCTGCTCCATCT
+GATAGAGATCGCCAGAGGTCTGTTTCAGCGCACCTACACCAGGCAGCGTAACCAGGGTGTTGATCTGATC
+CAGGGTCAGTTTTACCCCGCTCAGGGCTGGAATGTTGTACACCACCATCGGCAACCCATCCGCCGAATCA
+ATAATTGCCCGATAGTGATCGCAGTGTTCTTCAAAGCTGAAAGGATAGTAGAACGGCGTGACGGCGGAGA
+CGGCATCGAAGCCATAACGTTTAGCCGATGCCGCAAGTTGTTGGCTTTCGGCGGTGCTGACGCAACCGAC
+GTGGGCGATGAGTTTAATCTTACCTTTCGCCTCTTCAGCGACGATTTCCAGTACCTGTTCACGCTCTGAA
+AGGCTCTGTACAAAGGCTTCGCCTGTCGAACCCCCCACGTACAAACCGTCGATGCCCTGCTGAATATTGA
+ACTGAACCAGGCGGCGCAGACTCGCTTTATCCAGTGCTTGTTGTTGGTCAAAAGGAGTCAGGAGTGCAGC
+CATTACGCCACGTAAATTCGTTGCCATAAATACCTCTGAAGTGATGCTTGTCTGATAAACGATATACCTT
+TATACCTGTTATACCAGATCAATTAAGCAACACCCCATACAGAAAGCTTATAATGCGATCTGCTTCACTA
+AAGTGGCATTATTTCTTTTTGTTGGTGGTCTGACCGAAGGCGTGCCAGGTAGCAGAGACGCTGTTGAGAT
+GCGATTGCAACGCGCGATCGGCTTCGTCAGGATCATGACGGCGGATCGCGTCAACGATCGCAATATGCTG
+TTGATAGCTAACGTTGTTATGCTCATGCAGAGCCTGATCGGCCACGGTTGGACGTGCGGCGATTAGCCAG
+TCGAGCAGGGCAACGTGGATCGCCATGAAGATTGGGTTACCAGGGATCTCCGCCAGAACGCGGTGGAAAT
+CAACGTCTGAGCGAATGAATGCCGCGTTGTTATCCAGCGACTGACTGTTGATTTCCAGTGCTTTTGCCAG
+CAAATCGATTTGCTCATCGGTGGCGTGTTCAGCCGCATAGCGCACCAGGCTGGATTCAAAGAACAGACGT
+AATTGTTCGAAATGGGCAATCCCACCAGGATGAGAAAGGAAATCTTTCGCCATGCCGGAAAGCTCGCCGA
+TGATGGTGTCCGCAGAAGGACGTGAGACGCGGGCACGTTCGCCGTTGTTTATTTGCACCAGACCTTTGCG
+TTTTAACGCTGCCAGCGCTTCGCGCACCGAAGGACGCCCGACGTTAAAGAACGCCATCAGTTCGCGTTCA
+GACGGTAATTGTTCACCTTCGCCAAATTCACGACGGCGGATCATCTGTTCCAGCTCTTCTTCCACCATTT
+CGGAGAGTTTTTTACGCGCCAGCGGGCGGCTGCGCAAGTTGCGCCCGATAGTGGTAGTAGAATCTTCAGC
+TTGCGGATCAAATGCGTTCATAGGACTCATTCAGGAAAATGCGTTAGCGGATAATAACGACGCTATCGTA
+GCACAGTATCAAAGTCAGGCGAAAAGATGACAGATAGCAAAACAGGCCACATGGGCCTGTTTTCATTTTA
+CTTCACAACGCGTAATGCCGGTCGACCACCGCGTGGTGGCTGCGGAGGTTCATCGTCAGGATGAGTTTCA
+TCATCGTGATCTGGCTTGTCGCCATCGATAACCGACATAACGGTTTCGTTGTCTGCCGATGCCTCTTCAT
+CATTCATGATGCTGGCATCTTCATCGTAGGCAGCTTCAGGCTCAAACATCGTGCCTGCACCATTTTCACG
+GGCGTAGATAGCCAGCACGGCAGCCAGCGGCACAGAAACCTGACGCGGAATGCCACCAAAGCGCGCGTTA
+AAGCGCACCTCATCATTCGCCAGTTCCAGATTGCCGACAGCACGCGGCGCAATGTTGAGTACGATTTGCC
+CGTCACGCGCATATTCCATAGGAACCTGCACGCCTGGGAGCGTCACATCCACCACCAGGTGCGGCGTGAG
+CTGGTTATCCAGCAACCACTCATAGAATGCACGCAGCAGATAGGGACGACGTGGTGTTAGCTGTGACAAA
+TCCATACAGATTAACTCCGGCCCAGACGCATTTCACGTTCTGCTTCAGTTAAAGAAGCAAGGAAAGAGTC
+ACGTTCAAAGACGCGGGTCATATAGCCTTTCAGCTCTTTCGCACCCGGGCCGCTGAACTCGATGCCCAGT
+TGCGGCAGACGCCACAGCAGAGGAGCAAGGTAGCAATCGACCAGGCTGAACTCATCGCTCAGGAAGTACG
+GCTTCTGACCGAAGACCGGCGCAATCGCCAGCAGTTCTTCGCGCAGTTGCTTACGTGCGGCATCGGCTTC
+AGAAGCTGAACCGTTGATGATGGTGTTCATCAGCGTGTACCAGTCTTTTTCGATGCGATGCATGTACAGA
+CGGCTTTCACCGCGAGCTACCGGGTAAACAGGCATCAGTGGCGGATGCGGGAAACGCTCATCCAGATATT
+CCATAATGATGCGAGATTCCCACAGGGTCAGCTCACGATCCACCAGGGTCGGAACGCTCTGATTCGGGTT
+GAGGTCAATCAGATCCTGAGGCGGATTGTCCTTTTCCACGTGTTCGATCTCGAAACTTACACCTTTCTCA
+GCCAGCACAATGCGGACCTGATGGCTATAGATGTCAGTAGGACCGGAAAACAGCGTCATTACCGAACGTT
+TGTTGGCAGCGACAGCCATGAAAACCTCCAGGTATAGTCAGAATTTTTACTGCTACCAGCCACCAGGTGG
+CCAGTCAGAAGTTGTGTTACCCAGTAAGGAACGACTCTCTTTGTTCGAAAATCAAACAAAAAATGAGCAA
+TACCCGACATTTGGGCAGAAAATTGGATGATAGTTTACCAGATTTTGCGACCTTTGTGGTGAGTCGATGC
+CGGAAATGGGGAAAAAGAGATGCGCTTTAGTCTGAAATAGTTGACTTAGTCCCTTATTGGCGATGTGGTT
+TTTGTTTTACCTGTCTGTCAGGTGGCAGCAAAAAGCAACTTTCCATTTTTTACGCTGATGCAGATTTTAG
+CCATAAAAAAACCCGCCGAAGCGGGTTTTTTCGCAAATTGTTTTCTGCCGGAGCAGAAGCCAATTAACGT
+TTGGAGAACTGCGGACGACGACGTGCTTTACGCAGACCGACTTTCTTACGTTCAACCTGACGAGCGTCAC
+GAGTAACGAAGCCAGCTTTACGCAGTTCAGAACGCAGGGACTCGTCGTATTCCATCAGAGCGCGGGTGAT
+ACCGTGACGGATCGCACCAGCCTGACCAGAGATACCACCACCTTTAACGGTGATGTACAGGTCCAGTTTC
+TCAACCATGTCGACCAGTTCCAGCGGCTGACGAACTACCATGCGAGCAGTTTCACGACCGAAGTACTGTT
+CCAGAGAACGTTGGTTGATTACGATTTTACCGTTGCCCGGTTTGATGAAAACGCGAGCTGCGGAACTTTT
+GCGGCGACCAGTGCCGTAGTATTGATTTTCAGCCATTGCCTATAATCCCGATTAGATGTCAAGAACTTGC
+GGTTGCTGTGCCGCGTGGTTGTGCTCGTTACCCGCGTAAACTTTCAGTTTACGGAACATAGCACGACCCA
+GCGGGCCTTTTGGCAACATGCCTTTAACCGCGATTTCAATCACACGCTCAGGACGGCGAGCAATCATCTC
+TTCAAAGGTCGCTTGTTTGATACCACCGATGTGGCCGGTGTGGTGATAGTACACTTTGTCAGTACGCTTG
+TTGCCGGTTACAGCAACTTTGTCAGCGTTCAGAACGATGATGTAATCACCGGTATCTACGTGCGGAGTGT
+ATTCCGCTTTGTGCTTACCGCGCAGGCGACGAGCCAGTTCAGTAGCCAGACGGCCCAGAGTTTTACCGGT
+CGCGTCAACAACATACCAGTCGCGTTTTACGGTTTCTGGTTTAGCTGTAAAAGTTTTCATTAAAAGCTTA
+CCCAATAAATAGTTACACGTTGGTGAACACCCAAACGTCTTCAATTGTTGAGGTTCACACGACAAAGTCC
+GGCAAACCTACCCCTTCGAATAGCCTATGCCAGCACACAAAAAGTTTCGGGAAAAAAAACTTTCTTGTAA
+CGTGGGGTCGCAGGATTATAGAGAAGTCGGGGTCAAAGATCGACCCCTTTTTGTGATTTGTGGCAGGTTT
+TACCCCGCCAAATGCTCGCGCTTCAAATACTCTTCGCTTTGCATCTCTTGCAGACGTGACAGGCAACGCT
+GGAACTCAAACTTCAGCCGCTCGCCCTGATAAATTTCATACAGCGGCACTTCTGCACTCACCACTAATTT
+GACATGGCGCTCGTAAAACTCATCCACCAGCGCAATAAAGCGTCGCGCTTCGCTCTCCATCAACCGCGTC
+ATAACTGGTACATCAAACAACATGACCGTGTGAAAGAGGCGTGAGAGCGCAATATAGTCATGCTGACTGC
+GGGCGTCGACGCACAGCGTAGTAAAAGAAACCGCCAGCGTCTGGTTCTCGACGCCCATTGTCGCCAATGG
+CCGATGGTTGATTTCTAACGTCGGTGAATTTTCTCGTTTCGCCCCCGCCAGCGCCAACCATAGTTTATCC
+ATTTGCGTCCGGTTTTCATCGTTGAGTGGCGAAAGCCACAGATGCGCCTGAGTGAGTGTACGCAGTCGAT
+AATCAACACCAGCGTCCACGTTCATTACATCACAATGCTGTTTAATGGCATCGATTGCAGGCAAAAAACG
+CGCACGTTGCAGGCCATTTCGATAAAGTTCGTCCGGCGGAATATTTGACGTCGCTACCAGGGTAATACCG
+CGGGCGAACAGGGCTTTCATCAGACCGCCAAGTAGCATGGCATCGGTAATATCAGAAACAAAAAATTCGT
+CAAAACAGAGCACGTCAGTTTCTGCTTTAAAGCGATCGGCAATAATTTCCAGCGGATCGGTCTGCCCCTG
+CAAAGCAGTTAGCTCTTCATGTACCCGCAGCATAAAACGGTGAAAGTGCAGACGCTGTTTCCGCTCTCCC
+GGCAGGCTTTGATAGAAAAGGTCCATCAGCCAGGTTTTCCCGCGTCCTACACCGCCCCACATATATAAGC
+CACGCACTGGCGTATGCTTTGTGTCTTCGCGTTTACCCCACAGCTTACCGACCCGCGCCATTAGCCCACT
+CGTCCTGGGGGCTGGAGGCGTGCTATTGATGAGTTCCTGATAAATAATTTCCAGGCGGCTGACGGCCTCT
+TTTTGAACGTCGTCGGGTTGATGGCTGCCTTCATTGAGCGCCTTCAGGTATTGCGATGTTGGGGTAATGC
+TTTGCATGATCTTATTGTTATTCCTTGAATAATCGGTGCGCCGTTGTTCACGGTTGACGAAAAAAAGGCC
+GTTCTACACTACGCGATATGCAGTCGGGATTCCACTTCTGTGGAATTAACGGTTATAGTGGCATAATCAG
+CCGCAGGCATGGAGCCTGAAGCCAACACCCTACGGAAACAAAAGACAACGGGAGATGTTCATGACCTGGG
+AATATGCGCTAATTGGGTTAGTCGTCGGCATCATTATTGGTGCTGTGGCCATGCGTTTTGGTAATCGTAA
+ACTACGCCAGCAACAGGCGTTGCAGTACGAACTGGAAAAGAATAAAGCTGAACTGGACGAGTATCGCGAA
+GAGCTGGTTAGTCACTTTGCCCGCAGCGCGGAATTACTGGATACCATGGCGCACGACTATCGCCAGCTGT
+ATCAGCACATGGCGAAAAGCTCCAGTAGCCTGCTGCCGGAACTGTCTGCGGAAGCAAACCCGTTCCGTAA
+TCGTCTGGCAGAGTCTGAAGCCAGCAACGATCAGGCACCGGTGCAGATGCCTCGCGACTATTCTGAAGGC
+GCATCCGGCCTGCTGCGTACTGGCGCGAAGCGCGACTAATTTATTTTTCGGGCGCAGCCATTGCGCCCTC
+CTCTTCTCTCCCTCCCCGACTATCATTTAATCTGGTGTCTCATTGTTAGCCGTCTGAAAATTCAATAACA
+TCAAACTGTTTTGAATCTCTTTTCTTATCATTCAGGTACGAGAGCAGGAATAATGAAAAAACAAACCCAG
+CTGTTGAGTGCATTAGCGTTAAGTGTCGGGTTAACTCTCTCGGCGTCATTTCAGGCCGTCGCGTCGATTC
+CAGGCCAGGTTGCCGATCAGGCCCCCCTCCCCAGTCTGGCTCCAATGCTGGAAAAAGTGCTTCCGGCAGT
+GGTGAGCGTACGGGTGGAAGGAACGGCCAGTCAGGGACAGAAAATCCCGGAAGAATTCAAAAAGTTTTTT
+GGTGATGATTTACCGGATCAACCTGCACAACCCTTCGAAGGTTTAGGCTCCGGTGTCATCATCAACGCCA
+ATAAAGGCTATGTGCTGACCAAAAACCATGTGATTAATCAGGCACAGAAAATCAGTATTCAGCTCAATGA
+TGGGCGCGAGTTTGATGCAAAACTGATTGGTAGCGATGACCAGAGCGATATCGCCCTGTTGCAAATTCAA
+AACCCGAGCAAATTAACGCAAATCGCTATTGCCGACTCCGATAAATTGCGCGTCGGTGATTTTGCCGTGG
+CGGTCGGTAACCCATTTGGCCTTGGGCAAACCGCCACCTCTGGCATTATATCCGCATTAGGCCGCAGCGG
+GTTGAATCTTGAAGGTCTGGAAAACTTTATCCAGACAGATGCTTCCATTAACCGCGGTAACTCCGGCGGT
+GCACTGTTAAACCTTAACGGTGAGTTAATTGGCATCAACACTGCAATCCTTGCGCCTGGCGGCGGTAGCG
+TCGGGATTGGATTTGCCATTCCCAGTAATATGGCGCGAACACTGGCGCAGCAGCTTATCGACTTTGGAGA
+AATCAAACGCGGCCTGTTAGGCATCAAAGGCACCGAGATGAGTGCCGATATCGCCAAGGCCTTCAACCTT
+GACGTGCAGCGTGGCGCGTTTGTCAGCGAAGTGTTGCCAGGTTCTGGCTCGGCGAAAGCGGGCGTCAAAG
+CGGGCGATATTATTACCAGCCTCAACGGCAAACCGCTGAATAGCTTTGCTGAGTTGCGCTCTCGTATCGC
+GACCACCGAGCCGGGCACGAAAGTGAAGCTTGGCCTGCTGCGTAACGGCAAACCACTGGAAGTAGAAGTG
+ACGCTCGATACCAGCACCTCTTCGTCGGCCAGCGCTGAAATGATCACGCCAGCGCTGGAAGGTGCAACGT
+TGAGCGATGGTCAGCTAAAAGATGGTGGCAAAGGTATTAAGATCGATGAGGTTGTCAAAGGAAGCCCAGC
+TGCTCAGGCTGGCTTGCAAAAAGACGATGTGATCATTGGCGTCAACCGCGATCGGGTGAACTCGATTGCT
+GAAATGCGTAAAGTGCTGGCGGCAAAACCGGCCATCATTGCCCTGCAAATTGTACGCGGCAATGAAAGCC
+TCTACCTACTAATGCGTTAATGTCGTAAACCGGGCATCAGGCTGACGTGTGATGTCCGGTTAACTCGTGG
+TATGCTGCTGCCGTTCCCTTTTTTAACGATGCCTCCATCATGTTTGTGAAGCTCTTACGTTCCGTTGCGA
+TTGGATTAATTGTCGGCGCTATTCTGCTGGTTGCCATGCCTTCGCTGCGCAGCCTTAACCCGCTTTCCAC
+TCCGCAATTTGACAGTACCGATGAGACGCCTGCCAGCTATAATCTGGCGGTTCGCCGCGCCGCGCCAGCG
+GTGGTTAACGTTTATAACCGCGGTTTGAACACCAACTCTCACAACCAGCTTGAGATCCGCACCCTGGGAT
+CTGGTGTAATCATGGATCAACGCGGGTATATCATCACCAATAAACACGTGATCAACGACGCCGATCAGAT
+CATCGTCGCCTTACAGGATGGACGTGTTTTTGAAGCGTTACTGGTTGGCTCTGACTCTCTAACCGATCTG
+GCGGTGCTGAAAATTAACGCCACAGGCGGTTTACCAACGATTCCGATCAATCCACGCCGCGTACCGCACA
+TTGGCGATGTGGTTCTGGCGATCGGTAACCCGTACAACCTCGGGCAGACCATTACCCAAGGGATTATCAG
+TGCCACGGGTAGAATCGGTCTGAACCCGACCGGGCGGCAAAACTTCCTGCAAACCGATGCTTCCATTAAC
+CACGGTAACTCTGGCGGCGCGCTGGTGAACTCGCTGGGCGAACTGATGGGCATTAACACGCTGTCGTTTG
+ATAAGAGTAACGATGGCGAAACGCCGGAAGGTATCGGCTTTGCGATTCCTTTCCAGTTAGCGACCAAAAT
+TATGGATAAACTGATCCGTGATGGCCGTGTGATCCGTGGCTACATTGGCATTGGTGGACGTGAGATCGCC
+CCATTACATGCGCAGAGTGGCGGCATGGATCAACTGCAAGGGATCGTAGTTAACGAAGTGTCGCCTGATG
+GCCCAGCGGCAAATGCAGGCATCCAGGTCAACGATCTGATTATCTCTGTGAATAACAAACCGGCCATCTC
+TGCTCTGGAGACGATGGATCAGGTGGCAGAAATTCGCCCTGGTTCGGTGATCCCGGTTGTCGTGATGCGT
+GACGATAAACAGTTAACATTGCAGGTCACCATTCAGGAATATCCGGCGACCAACTAAGGTCAGCGTAAAA
+AAACAAAAACCGGAGTCTGTGCTCCGGTTTTTTATTATCCGCTAATCAATTACTTATTAACGAACTCTTC
+GCCCAGGGCGATATCTTTCTTCAGCGTATCCAGCATACCTTCCAGCGCGTTCTGTTCAAATGCGCTCAGA
+GTACCGATAGATTTACGCTCTTCCACGCCGTTTTTACCCAGCAGCAGCGGTTGAGAGAAGAAACGAGCGT
+ACTGACCGTCGCCTTCAACGTAGGCACATTCGATAACGCCTTGTTCGCCCTGCAGTGCGCGAACCAGAGA
+CAGACCAAAACGTGCAGCTGCCTGGCCCATAGACAGGGTTGCAGACCCGCCACCGGCTTTCGCTTCAACC
+ACCTCAGTACCCGCGTTCTGGATACGTTTGGTCAGATCAGCCACTTCCTGCTCGGTAAAACTAACGCCAG
+GAACCTGTGACAGCAGCGGCAGAATGGTAACACCAGAGTGACCACCAATAACCGGCACTTCAACTTCGCC
+TGGCTGTTTGCCTTTCAGTTCCGCAACAAAGGTGTTGGAACGAATGATATCCAGCGTGGTAACGCCGAAC
+AGTTTGTTTTTGTCATAAACACCGGCTTTTTTCAGCACTTCAGCAGCAATCGCAACTGTAGTGTTAACCG
+GGTTAGTAATAATACCAATGCACGCTTTCGGGCAGGTTTTCGCAACTTGCTGTACCAGGTTTTTCACGAT
+GCCGGCGTTAACGTTAAACAGGTCGGAACGATCCATACCCGGTTTACGCGCTACGCCTGCAGAGATAAGA
+ACGACATCTGCACCTTCCAGCGCCGGAGTCGCATCTTCACCTGAAAAACCTTTGATTTTCACAGCAGTAG
+GGATATGGCTCAGATCGACAGCCACACCGGGAGTCACTGGAGCGATATCATACAGAGAGAGTTCTGAACC
+TGAAGGCAGTTGGGTTTTTAACAGTAGTGCAAGCGCCTGGCCAATACCGCCAGCAGCGCCGAGGACTGCG
+ACTTTCATCCTAAACTCCTTATTATATTGATAAACTAAGATATGTTGCTCCGCTGCCGCGACCTTAATCC
+ACAAAATTGCCGTTTACAATGACCACATCTCAAGAATGTGTAGTCACGCAAGTTTAGCGTTTATGCATTT
+AATTGCCGTAATCAGGAACCTAACTTACGTAATTAACAGTCACTTATGCATTAGCGCAACATTCCAACAG
+GTGGTGACAATATACCCTACCGCTCAGCCAAAACAATATCAATTTGATAACAATTAATTTACTTTTAAGC
+AGAATTTGCAGGCCGTGACGCAGGCATGTTTCTCAATAACGAAATTTGATAAAATCCCGCTCTTTCATAA
+CATTATTTCAGCCTTCTTCAGGGCTGACTGTTTGCATAAAAATTCATCTGTATGCACAATAATGTTGTAT
+CAACCACCATATCGGGTGACTTATGCGAAGCTCGGCTAAGCAAGAAGAACTAGTTAAAGCATTTAAAGCA
+TTACTTAAAGAAGAGAAATTTAGCTCCCAGGGCGAAATCGTCGCCGCGTTGCAGGAGCAAGGCTTTGACA
+ATATTAATCAGTCTAAAGTCTCGCGGATGTTGACCAAGTTTGGTGCTGTACGTACACGCAATGCCAAAAT
+GGAAATGGTTTACTGCCTGCCAGCTGAACTGGGTGTACCAACCACCTCCAGTCCATTGAAGAATCTGGTA
+CTGGATATCGACTACAACGATGCAGTTGTCGTGATTCATACCAGCCCTGGTGCGGCGCAGTTAATTGCTC
+GCCTGCTGGACTCACTGGGCAAAGCAGAAGGTATTCTGGGCACCATCGCTGGCGATGACACCATCTTTAC
+TACCCCTGCTAACGGTTTCACCGTCAAAGAGCTGTACGAAGCGATTTTAGAGCTGTTCGACCAGGAGCTT
+TAATCTCTGCCCCGTCGCTTCTGGCGGCGGGGAAAATGTTGCTTTTGCCTATCAACCCCCTGCTTTCCCC
+TGCGATTCATTTAACGAATAGTGCGTTTTACTGCGACATATCATTCACACAATGAATACATATAGTAAAA
+AAGCACATTATGCAAAATTCATTATCTAATTGAAAATACTATAATTAACAATAAATGATCGTGTTTTTAA
+TTCTTTTTTGTTATTAAAATTCACATTTTTAACACTTAGTATCAACTGAAACAGTTAGCGTGGTATTAAT
+TAGTTCAATAATTAGTGTATACTTGATTTTGTGATATGGGTCACGAAACAAAGGCCCAGCTAAAAGATTA
+TGTCGAGGTAAAAATCATGAAAATCAAAACCACTGTTGCTGCATTAAGCGTACTTTCTGTTCTCTCTTTC
+GGTGCATTCGCCGCCGACTCCATTGATGCTGCACAAGCACAAAATCGTGAAGCAATCGGGACCGTATCCG
+TAAGTGGTGTGGCGTCTTCGCCAATGGATATGCGTGAAATGCTGAACAAAAAAGCGGAAGAGAAAGGCGC
+AACGGCCTACCAGATTACTGAAGCTCGTAGTGGTGACACCTGGCACGCTACGGCTGAACTGTACAAATAA
+ACCCTCATCGTCTTGTCCGACGATATTGCCCCCGGTTCGGGGGCTTTTTTTGCGCTAATGACGAACATTA
+AAACGCAAATGCCCTTCCAGCTCTTCCTCTGCCTCATCAAACAGCAATATTAACGCGCCAAAACGGCGAC
+GCGTTTTCTCTCCCAGATGAACAAATTCAATCTCAAGTGGTAGCGGCAGGACATCGTTCATTAACACATC
+CCATAGTGAGTCGAGATCGCGTACCTTATCTTTCGCCAGACCAAAGGTTTGGCTAAAGTCACGATAAAAA
+TCCTCCTGACTCTCAATCTCATCAAAATCAAAGGTATAAATATTCATCTGTTGCCACCGTCACGTTTCGC
+GGCGAGTTCTGCCGTTCATCGCTAAGTATAGCCATGAAAAAACCGACGCTTCAGGCGTCGGTTTTGACTT
+AACTATCGGTCAACGCATGTTGATACTTATGGAGCATACCCGTAAGCCGATGTACTGGTTCCGTCACCTG
+CGGTGGCGCTTGCCAGATGCGTAGCTTTTCCTGGTAGATTTTCAGTTCTTCCAGCAACTGGCCAAAGTAC
+CGACGACGTTTATCATCGCTACGGGCAGATATCACATGGTCTGCTGTGCGGCGCATTTGTCGGTGAAACG
+CCGATAAATCCTCGTTAACCGGGATCGGCGCATCACGCAGGCGCTGGTGCGCGATAATCATCGTCAGCGC
+CAGGCGAAATTTCGGCAAATCCCCTGGGAACTTATTCATCAGCAAAAACAGCTGCTGATAAAGTGCCGGG
+AGGTGATTCTCTTTACGACGTGCCACATTGGTAGTCATCGCGGAAACAGCGGCAGAAACAAACTGATTAA
+GCAGTACACGTCCAGTCCTGTCGCGCGATTTATCCCGCACCAGCAAAATAACGGTGAACGCGAGCACACA
+GCCGACGATTTGCCCTAATGCGCTGTCGAGAAACTGACTGAAATGGAAAGTCATCGGGTTATCCAGCACG
+ATAATGTTTATGGTGCTGGCCAACGCCCCCATCGAGCCCAATCTCCGTTTCTGTACTTCTATACCGAGGA
+AGAATCCCAGCACTGCCAGGCTAATACACAGCAGCAACATGCTCTGTTGGGTATTAGGGATAATCACCAA
+AAAGTAGAGCAGCCCTAACGGTAGCGCTGCCAGCGTCCCGTAGATAAAGTCGATCGCCACCATGCGTGGA
+TTCGGCAAACGCATTGCCAGTGACGTCACTACCGCAATCATCACCATTGCACCACTGCCGGAAGTCCAGC
+CCGTCCACAGCCAGAAAAGCGTGCCCAGAATGCAAGAAAGTGTGGTTCGCCAGAAGTTAACCATTGCATG
+ATGACGTTCGGCTGACTCTACTTTTACTTCCGGTTCGCCTTGCAGGATCTCTTCTTCGGTGGCGTTGATT
+TTTGTGTTACTGATAACGCCGCGCTTGAGAAGTTGATAACGCGTTGCCGCCGCGACCCAGCTATAAATGG
+TGACAGGCGTTTCCCGTTCCCCGGTCCAGGCGATAACTCTCCGCAGGCGTTTGAGCTGCTTGTGGACGTC
+CTGCGCAGTTTCTACCGGTGTGTCAAAAAATTCGCGAAAAGTATCAGTGATCAATTCCGGGCGCGTATTC
+TGAATAAGATAAGTTTCGCAGGATTGGGTAATCAGCGTCAGCGATAGCGTATTGATCGCTTTTAAACGTC
+GATTGGCCCGCGCCCAGCGGGAAGATTCCATATTCAGGTTGCTGCGCATACCTTGTAACGCCGTAGTACG
+TCGCACCAGATCGCCCCAGGCTTTATCGACAACTTCACCATCGCCATGCTTGATACAGAGTTGCATTAAT
+TGATATTGCGCGACCAGCAAACTTTCCAGCTCTCGATCCACTTCTTGTTTGATCGATCGCGGAGAAAAGA
+GCAAATCCGCCATAATTGCACACACAATACCGATAACGATCTCGCTACAACGTTCGACGGCAAACTGCGG
+CGTAAGCAATGGTTCCGGCTGAATGGTGATCACAATGATCAGCGCGGTATAACCGGCCAGCCCCCACGCA
+TACGAGTTTTCTATTCGTACCAGCGAGGATATCCAGGTACAAAAACCGGCCCAGATACAGCACACCAGAA
+TCATCAATAATGGTGCTCGGATCATCGCAATGATGATTACCAGTCCGGCAATACAGCCAATAAATGTGCC
+GATGATGCGCAAAAAGCCACGATAGCGAATAGCGCCAGAATACGGTTCACCTCCCGCAGCAAAGGCCGGA
+CCGGCGGCAACAATCGCCGCTGTCAGTACCGCCCAGCGTGGCGTTTCCAGCTGGAAGTGAAAGCCAACAA
+ACAGCGCCAGTACAATGGCGGTCGCCAGTTTTACCGCAAAGCGAATATGTTGATTAGCAATGGAGAAAAT
+ACCCATCGTGATTAACCAAACTCACGCAGGCGATGAGCCATTTTACGGAAGAACGAATCCTGACTTTCGT
+CGCGATCTTGTTTGCCAGTGACTACCACCGTAGCAGTGGTGCCCGCAGGCCAGATGTTCTCTTGCTGGTT
+GTCGAGACGAATACGTACCGGAACACGTTGCGCCAAACGTACCCATTCAAGGTTAGAGTCGATGGTCGCC
+ATCCCTTTGTCGTCACGCGTGCTGCTGGCATTGGTGACCCCTGCGGCAACACTATCAACAGTCCCTTTCA
+GCACTTTGTTACTGCCAAGCGGCGTGATCTCCGCACGATACCCAGGGCGCACCCCTTCCAGCTTAGTTTC
+TTCCATATAGGCCAGTACATAGAAGGAGTTCTGTTTCACCAGCGCAACCGCCGTTGATCCTCGAGTAATA
+AACTCACCGGTATAGACGTTGAGGTTGGTCACCCAGCCATCTGCTGGCGCGCGGATGACTGTACGTTCAA
+GATCCAGTTTTGCCAGATCGCGGGTCGCCTGCGCTTTCGCTAACTGATGCAGAACTGTTTGTAGTACGTT
+GTTGGCCTGGTCGATCTCTTCGCGAGACATCGCCTGCACACCGAGACGGTTACGACGTCCGGCCTCCTGG
+CGTTTCTCCTGCGCCAGTACCTGATAATAAGCAACATCGGCTTGCGCTTCCTCAAGCGCCTTTTGATAAC
+GCGGCTGGTCGATGGTGAACAGTACCTGTCCTTTTTTCACCAGCTGGTTATCATGAACATTCACCTGGGT
+AATGAGTCCAGAAACGTCCGGCGCGATCGCAACGACGTCAGCGCTAAAGCGCGCGTCACGCGTCCACGGG
+GATTCGGTGTAATAGACCCAGGCATTAAAAATTGCGATGAAGGCCAGAATGACTAATACGACCGTGATGG
+CCGTACGGGAGAATTTTCTTATTAGTGTTTTCACTTCAACCTCAAACGAACAGTCGCGATATCAAATAAA
+ACAAGCAGCAATAGAGCGCGGTGTTGAACAACGCCGGATGCCAGACAAAGTCGTAAATACCTGTTGGCAC
+AAGTACCCGGCGCACCAGCCAGAAAATCGCCAGTGATAAAAGCAATTCGAAAAATATCGGTGGGAAGGAC
+AGCCCAAACACCACGATAACGGGAAACAGACTCATGTTGACCTTGGTTGTATAGAGAGAGCAGGCGTTAT
+TATTTTCAGCATCTGTCGCCGCAGAGAAGGGCATGGAAAGCCGGGCGAGAGCAACATTGCTGTAGATTGA
+TATTTAATATATTAACGTAACTGTTATGCTGTTATCTATATTATGTGATCTAAATCACTTTTAAGTCAGA
+GTGAATAATGGAACGACTAAAACGCATGTCGGTGTTTGCCAAAGTAGTTGAATTTGGCTCTTTTACCGCC
+GCCGCCAGACAGCTACAGATGAGCGTTTCGTCCATCAGTCAGACGGTGTCAAAACTGGAAGATGAGTTAC
+AGGTAAAGCTGTTAAACCGTAGTACACGCAGCATTGGCCTGACTGAAGCCGGCAGAATTTACTACCAGGG
+CTGCCGTCGGATGCTCCATGAAGTGCAGGATGTTCATGAGCAACTGTATGCCTTCAATAATACCCCCATC
+GGGACGCTACGCATTGGCTGTTCTTCAACTATGGCACAAAATGTTCTCGCCGGGCTGACAGCAAAAATGC
+TGAAAGAATACCCAGGTTTGAGCGTCAATCTGGTTACCGGAATTCCTGCCCCCGACCTGATTGCCGACGG
+TCTGGATGTGGTGATCCGCGTCGGCGCGTTGCAAGATTCCAGCCTGTTTTCCCGCCGTCTGGGCGCGATG
+CCAATGGTGGTGTGCGCCGCAAAAAGCTATCTCACACAATACGGCATACCGGAAAAACCCGCCGATTTAA
+GTAGTCACTCATGGCTTGAATACAGCGTGCGACCCGACAATGAATTTGAACTGATCGCACCGGAAGGGAT
+CTCGACTCGCCTGATCCCGCAAGGGAGATTTGTGACTAATGATCCGATGACGCTGGTCCGCTGGCTGACG
+GCGGGTGCCGGGATCGCCTACGTGCCGTTGATGTGGGTGATCAACGAGATCAATCGCGGGGAACTGGAGA
+TCCTGCTACCACGTTACCAGTCAGATCCACGCCCGGTTTATGCGTTATATACCGAAAAAGATAAGCTGCC
+GCTGAAGGTACAAGTCGTGATCAACTCGCTAACGGATTATTTTGTTGAGGTCGGTAAATTGTTTCAGGAG
+ATGCACGGGCGCGGGAAAGAGAAGTAATTAATATTGTACTGTTACGTTGTACAAACCTGTGCCAACGGGT
+TCCCCTCACCCTAACCCCAGAGGGGCGAGGGGACCGTTCGTACACGGAGAAGGATTAATTATCCTTCTGA
+AAATACTGAAATTATTACGCAGTACCGCCAACAGTCAGGTTATCAACTTTCAGCGTTGGCTGGCCCACGC
+CAACCGGCAAACTTTGCCCTTCTTTACCGCAGACACCCACGCCGTTATCCAGTTTCAGGTCGTTGCCAAC
+CATCGAAATCTGCTGCATGGTTTCGATACCGGAACCAATCAACGTTGCGCCTTTCACCGGCTTAGTTACT
+TTACCGTTTTCAATAAGATACGCTTCTGAGGTGGAGAAAACGAATTTGCCGGAGGTGATATCCACCTGGC
+CGCCACCAAAGTTCGGTGCATAGATACCGTACTCAACGGATTCAATAATTTCCTGCGGGGTCGATTTACC
+CGGCAGCATATAGGTGTTGGTCATACGCGGCATGGGCAGATGAGCGTAGGATTCACGGCGACCGTTGCCA
+GTCGGCGTCATCCCCATCAAACGCGCGTTGAGTTTATCCTGCATGTAGCCTTTCAGAATGCCGTTCTCAA
+TCAGCACGTTGTACTGGCCTGGCGTACCTTCGTCATCAATCGCCACCGAACCACGGCGATCGACCATCGT
+GCCATCATCAACCACGGTACACAGTTCTGAAGCCACCAACTCCCCGACCTGTCCACTAAATACTGAAGTG
+CCACGGCGGTTGAAGTCGCCTTCCAGACCGTGACCCACCGCTTCATGCAACAGCACGCCCGGCCAACCTG
+CGCCAAGTACTACCGGCATGGTGCCCGCTGGTGCAGCAACGGCAGAAAGATTGACCAGCGCCATACGCAC
+TGCTTCTTTTGCCCACGCATCCGCACGGACTTCGCCGTCGAGATCAGCAAGGAAGAACTCATAACCAAAA
+CGACCGCCGCCACCACTGGCACCGCGTTCGCGTTTGCCATCTTCTTCGACCAAAACGCTCACGGAAAGAC
+GCACAAGCGGACGGACATCCGCCGCTAGTGTGCCGTCGGTGGCCGCAACCAGAATTAATTCATAGACACC
+ACTGAGGCTGGCAGTCACTTCCTGTACGCGCTTGTCCGCTTCGCGGGCAACCTTATCGACGCGACGCAGG
+ATATCCAACTTCTCTTCACGGCTCATGCTTTGCAGCGGATCTACCGAGGTATATAACGGGCTATGCTCTA
+CCGCGCCCAGCGTCTGTACTTTGCCATCACCACTATCACGGACGATGGTGCGCGCCGCTTGTGCACTCTG
+TTCCAGCGCCAGCAGGCTGATTTGGTCAGCATAAGCAAATCCGGTTTTTTCACCACTGATTGCACGCACG
+CCAACGCCCTGATCGATGTTGTAAGAACCATCTTTAATAATACGGTCTTCTAAAACCCAGGATTCGTGAT
+AGCTCGACTGAAAATAGAGATCGCCATAATCAAGGCGACGTTCGGCCAGTTGACCGAGGATCGCGAACAA
+GTCCTGATGTTTCAGGCCGTTCGCCGCTAGCAATTGTTCACTTACCAGGTTCAGACTCATCGTTTTTGCT
+ACTCGTTAGTTACTGCAGTAGAGGATTTTTTACGGCTGCCGGATGCGGCGTGAACGCCCTGTCCGGCCTA
+CGGTTATGTTCTGGCTCGTTGGCCTTTGGCAACGATTATCATATGAGATTGGGGCAATTACGCGCCCTCG
+TCAAATCATTGCGCTTTTTCTTTGCGCGGTTGTCGCAACACTTCGTTGATTTGCGGATCGTCCAGCGGAC
+CCGAAATGTGATAGCGCAAAATGGAGACTTTGCTCCACAGCGGTCCCAGCACTTTACTGGCGGCAAACAC
+TGCCGCGCCAACAATGGGGTTAACCGCAAAGGCCGCAGCCACGCCGACCGTCGCAGAAATCTCTGGTGCG
+ACAACCGCTTCCATATTCAGGTCGCGACGTACCAGATTTACCGACCCTTTCATAGCGATGTCCGCTTCCA
+GGCCATCCACCAGCGTGTCGTCGGTGTGCATAACGCCGTCTTTAATCCACGCGGTGCTGCGAATGGAGTC
+AAAATAGAACCCTTCGCCAAAAGTGTCTCTGAAATCAAAACGCAGCTTACGCATCAGGGCATCTACGCTC
+AATAAGCGCAGCAATTGCCCGGCATGTCCGGTATTGATTTCGGTAATTTCGCCTTTACCCAGTTGAGTAT
+GAATGATGCCATTCAACGTCGCCTCATCTGGCTGCCAGGGTGCTTTGCGCCAGTGTAAATCGTAATCCAC
+ATTAAATGACGACTGGCGTATGGGCGTCGTGACACCAAAAAATTCTGCGGCGGCATCAATTTTCTGCCCG
+CGCAGTTTTCCTTTCAGCGAGGTACGTTCATTCCCCGGATTGTTAACCCATTCACCATCGGCAGTGAGCC
+GCGAAAAACCAGTATCAATCAGTCCATTAGTCAGCGTTAACGTATCGCCAGAAATGGTGATATCACTGTC
+AATACGACCGAATTTTTGCCCCCAGAACCAGCACTCTGCGCATCGTATTTGTGCGTCTGGCCAGCCACGG
+AAGTTAATGCGTTCCGTTGTCGGGAAAGGTGATGACTGTGTTGAATCACCACGAGTTTTCGCCACGCTTG
+GGTTGTAATAAAGATATTTGATATTCGCCAGCCACGGTGCGTTATTACGCATCGCCAGCGTGGCGTTGAT
+TTCACGCCCTTGCGCCTCAACCAGGGTGCCATTTGCCGTCGGTTGCGAAACAATACTCAGGTTATTCCAT
+TGCTGATTTCCCAGCGACAACATAGGCGTACGTAACGTTATGTGTTGTGGGAAACTCGCTGCACCACCGA
+CACTCTCCGCCGCGCCTTTCTGGAACAGGGCCAGCCACTCGGCACCATTCATCGGCGGCATATTGAGTTC
+AACGCCACTTTGTTCCGGCAACGGCGGGAGCGTTTTACTGTCTGCCGCCCAAATAGCACGATCGAGCGTC
+AGCTTTTGACCGAGCAACCAGCGGCTATTGAAATGGTTATCCGCACCAGCCTGTCCGGTTAATTCAAAGC
+TGTTGAGATTGCCATCAACCTTAACGTTTACCGGTAGTGGTTCACCCGCAGGTTTGGCTAACGGTGAAGG
+TAAGTGACTGCTCACATTCTTCAAATCGCCGTTCAGCTCTACGTTATACGTCGCGCCAGCATGATAAGGC
+AGCTCAATGCCCACTTTACCATCCCACGCCACGCTGCCACTTAATGCTTCGTTCACCGCTGCAGGCAGAA
+CGCCGGTTTTCGCTGGTTGCCAGTTACCGTTGAGATTCACCGCGACCTGGTAGGCTTTTGCCCCTTCTTT
+GGTGGAAAAATCCACGTTCAACGGCTGATTAAACCAGCTTGCTGTCAGTGGTTCACTTTGCAGATCGCCA
+TTGATAAAGCTGAATTTACCGCTCAAATTTTTCAGGGTGCTGTCGAGTGGTTTGATAAACAGACTGTTAT
+TACGCAGCGTCACTTCCCCTTTCGCGGTTACCAACTCGCCGTTCAGCGGGATATCAAGATGTAAGCGAGC
+ATTCACATCGCCGTCGAGTTGGAGTTCTTGCAGGGTCGCACCCAGAGAATCTTTCAGCGGTGTCTCATCA
+AAGTAAGGGCCAACGGCTTTACCCGGACCTTTAATGTCAGCGTCAATCAGCAGTTTTTCTTTCGAGTAGT
+CAGGGATCACTGCGGTGAGATTACTCGCGCGCACGCCGCCCAGATTAACGCCATCGGTTTTCATCCATAA
+ACCGTCGTTAATAAAGTCCAGTTCAATATCAAGGTTAGTTAATGCAGGCCAGTCCGGCTGGAAGGCAAAC
+TTCGCGTTGCGCAGCGGTACCAGCACTTCAAACTGACCTTCGTTGTGTTTATAGGGGAAGAGTTGCGGAT
+TACCACCATAAACCAGCGTCGCGTTATCCGCTTCACCGCCCTGAATAGCGCCACTTAAGTAATCAACCAG
+GTCTTTACCCATCAAGTTTTCCGGGAAATAGCGCCAGGCTTGTGAACCATCATCGGTACTGATGCCAGCC
+AGAATACCCAGCCAGGGTTCATCGTTAGCAGGTTGCAGGTAACGAAAACCGCCGCGCGCATGGACGGCTT
+TGGCTTTAACGTCAATATTACGCCCATCCAACTGGAAACCTTTGTCATTGTTCAGCCAGCTTATCGTTGC
+CTGGCCGTCGGCGATTTCCAGTGGCGCACGGAATACCGTTTCGTAAGGCATCTTTGCCTGCTTCATCGAC
+GCGGTAAGCAAACCATTTTCTACGCTGCCGGAAAGCGTCCCGGAGAAGTGTTCCGCACCCGGTAATAATT
+TCCATTGCTTCCAGGCCAGATCGCTCCACGATGCCTGAAAACGGGTCTTGTCTGCAGCCTGAAGCGGGAT
+ATCCAGCGCCAGAGTGTTAATCTTGCCGCTCGGTTGTGTGGAGCGCCAAACATCACCCAGTGCAGGTGAA
+AGTTTCGCGACCAGCGGGCGTACGCCCTCCAGGCCTGCCAGCTCCAGATTACTGGCACGAATCCGGAGTT
+CGTCACTGCGTTTATTGTCTTTGCCGCCAACGTCCTGTTCCGGTATCCAGGCCAGCGTCAATGCTCCGCT
+CGGCCAGGGTTTGCCGTCCATCGTGATCCGTGTATCGGGAATAGAGAACTGCCATCCCGGATTTTCACGC
+GTAATATGCGCAGTCAGATTATCCACCGACAGCGTATGTGTTTCCTTCTCGCCCAACCAGCTGGCACCGC
+CCTGTTTCAGCCAGACGTCACCGCCGGTTACATCGCCTTTGTCGATCGTCATCCAGCCTTCAAGGGAGAA
+CTGTGCCGTTTCCAGCGCAATATTGTCCTGCATCCATTTACCGAGCCACGGCTTCAGGTCGATGTCATCC
+GCCTGGAGCCAGACGCGACCATTGCTTAACAACCCCTCATCATCGCGCAAATCCATACGCACCTGCATCA
+CGCCGTGCTGTCCGGTAAGGCTGGAGAGGCTTACCAGGCCTTCCGCACGGTGTCGACGTGGATCGTTCAG
+CCAGGTGAGCTGTGGGATCGCCAGCTCGGCGCGCTGACCGGATGGCGTCAGGAAACTGACTTCACTGTCG
+CGGAGATCGAAATGGTCAAATTGACGAAGAAACAGATCGCTGATGTGACTGGCTTCCAGGCTATCATTAC
+CACCGCCGCTGGTGATAGGAGTGTTGGTGCGAAAACGCAGCTGCCAGAAAGTGAGGTCGCGAAACTGCCA
+GCGCATATGTAACAGGCTCTGCCAGACATCCAGCGCCAGAGTAACGCGTTTAACCGAAAATTCGCCGCCA
+TCTTTTAGTTCTGCACGGATGTCGTGCGCTTCAAGCGTCGGACCAAAATTCTGCCAGCTGGCTGAGAGCT
+GACTGGCTTCTACCGGCATGCCAGTCGCGGATTCTATTTTGTTGAGGATTTCCGGACGCCAGGCGTCAAG
+ATGCGGTAAAGCAATACGCAGGCCGCTAACCAGCAGGGCAGCGATCACAACGAGCGCGGCTCCAGTAAGC
+AGTAAAATCCCCGGCAATCGCCTCACCCGTCACTCCTTGTCTGCTAAAAATGTGACTCAAAAACCCTTTG
+CCGGATGGCGGCCCAGCATCTGTTTACATCATTACGACGTCAAACTGCTCCTGGTTATAGAGCGGTTCAA
+TTTGTACTTTAACCTGTTTGCCAACGAAAATTTCCACTTCCGCCAGCGAGTGTGACTCTTCGCCTTTCAA
+GGCTTCGGCTACTGCCGGAGAAGCATAGACCAGGAAACGGTCGGAGTCGTAAGCATGGTGGACACGAACA
+ATCTCGCGCATGATTTCATAGCATACCGTTTCCACGGTTTTCACCGTTCCGCGACCGTGGCAGGTTGGGC
+ATTCGTTACACAGTACGTGCTCAATGCTTTCGCGGGTGCGTTTACGCGTCATCTCCACCAGCCCCAGCGC
+CGAAAAACCATTAACGCTGGTTTTCACCCGATCTTTGCTCAGCGCCTGCTCCAGCGAGTGCAGCACGCGG
+CGACGGTGATCTTCATTATTCATATCGATGAAATCAATAATGATAATCCCGCCCAGATTGCGCAACCGTA
+ACTGGCGAGCGATAGCCTGCGTCGCTTCAATATTGGTATTGAAAATGGTGTCGTCCAGATTGCGATGACC
+GACAAACGCTCCGGTATTGATGTCCACGGTGGTCATCGCTTCGGTCTGGTCGATAATCAGATAACCACCG
+GATTTCAGTTCTACTTTGCGTTCCAGCGCTCGCTGAATTTCGTTTTCGACATCAAAGAGATCGAAAATCG
+GCTGGCGTCCGGTGTAATGCTCCAGCTTGCTGGTCATCTCGGGAATGTACTCCGAGGTAAACTCCAGCAA
+TGCTTCGTAAGTCAGGCGTGAGTCAACGCGAATGCGGTCGAGTTCGGCGTCGGCGAAATCACGCAGAACA
+CGCTGCGCCAGCGCCAGTTCTCCGTACAGCTGATAACGGGTCTGCGGGCGTTTTTTACGCTCCATAACTT
+TGGTCCAGACGCGTTTCAGATAAGCGGCATCGGAGGCCAGTTCAGCCTCGCCAACCCCTTCCGCTGCAGT
+ACGGATGATAAACCCGCCCTGCTCGTCGCAATACTCTGCGACCACTTTTTTCAGGCGTTCACGTTCTGAT
+TCGCTTTCAATTCGTTGGGATACCCCAACGTGAGAAGCCCCTGGCATAAACACCAGATAGCGAGAAGGCA
+GCGTGATATCGGTGGTCAGGCGCGCACCTTTAGTGCCAAGCGGATCTTTCACCACCTGCACCATCAGATC
+TTGCCCCTGACGGACCAGTTCCGAGATGTCGCGCACCGTGAATTGCTTTTGTTCTTCACCCGCCACACAT
+TCAGTGTGCGGCATGATGTCAGATGCATGAAGAAACGCGGCTTTATCCAGCCCAATATCTACAAAAGCCG
+CCTGCATACCCGGAAGTACACGACTTACACGACCCTTGTAGATATTGCCTACTATTCCGCGTCGCGCCTC
+ACGTTCAATATGAATTTCCTGCAGAATACCGCCATCAATATACGCCACTCGAGTTTCCGAAGGCGTTACG
+TTTACCAACAATTCAGCCGTCATGTTTATCCCTTTTCTCACGCAGTGCGTTAAAATTACTTAATAATTCA
+TACGTTTCAACCAGCGGTAAGCCGACTACGGCGTGAAAGCTGCCATTTATCTTCCTGACAAAACAGCCAC
+CCAGCCCCTGAATACCGTATGCACCTGCTTTATCTAACGGTTCGCCGCTGGCGACATAGCCCGCGATGTC
+TTCGTCTGTTAACGTTCTGAAAGTCACATCTGTGACCACCAGGCAATCGAGAATGTGCTGGCTGTCAGCC
+AACGCCACTGCCGTCATCACCTGATGGGTCTGACCCGATAATTTGCGCAACATCTGCGCCGCATGCTCTG
+CGTCGCGCGGTTTCTCGAGCACTTCTCCGTTCAGGATAACGATAGTATCCGCACCCAGCACCGGGAGATC
+CTGCGCCGTTTGCGCGACACCCGCCTGTGCTTTCTCGCGCGCCAGACGCACAACATACTGCTGCGCGCTC
+TCCTGCGGCTGACGCTGCTCCTCAATGCCCGTAACAATACGTTCAAAGGTCACGCCAAGTTGCGCAAGTA
+ACTCCTGACGACGCGGAGAACCGGAAGCTAAATACAGAGAAGTCATAGAAACCTTTATTGCACTGCAAAC
+TGCTGACGGACTTTACGCATCAGCAAGAAAATCCACGGCCAGAGCACCCCATTGACTACACTACTCCAGA
+ACACTTCCGGTCTGAAAGAGACGTTAATCACTAAAAACTCTGCCCAGAAAACAATAATATCCACCACCAG
+CGAAAGCAACATGACGACCAGCGCCTGCTGCCATAATGCGAGGTTGCGGAAAAGCTGGTATTTCAGCGCC
+ACCAGGTAAGCAATGATGCTCATCGCCAATACGCGTACGCCAAGCGTCGAGCCGCTGATCAGATCCAGTA
+TGGCACCCATCACAAAACCTGTGCCCACATTTACGCGATGGGGCAAGGCCAGGATCCAATACAACAAGAT
+GAGTAACACCCAGTTTGGCCGGAAAACAATCAGGTTATCCGGCCAGGGCATGATCTGCAGCAACAGCGCA
+ATGAGGAAAGAGAGCCAGATTACCCAGCGTCCCTGGCTACGATAGCTCGCCACTATTGTCCTCCCGGCGC
+ACGCGCAGGCGGTTGAGCACCACTTTGCGGCGGCGTAGCCCTTTGTGGAGAGCGATTAGCAGCGGGCTGT
+GTGGGCGCAGCAGGCGCAGTAACTGCATTTCCTGTCGCCGGTTGCTGCGGAGTCGGCTGAGTGATCCCCG
+TTGCCGGTTCAGGTAACTTTGGCCCCATCGCGTCTGGCGAAGGCAATACCTGCGGCATCATCTGCATCAA
+ACGTTCATTAGCAACACGATGCACCTCTTCCGGCGTCATCGGGTTAGCGCCGTTACGATCCGCGCCCCAC
+AGCAGCAGCAGATAACGCAAACGTTGCAGTCCTGCAGTCGGACGCGCCTGAATCACAGTATAAGCGCGCT
+GGGTATCGAGTTTTACGGAAGAGACAACCGCGACCGGATAGCCTTCCGGGAAACGACCGCCCAGACCGGA
+AGTCACCAGCACATCACCAACACGAATGTCCGTATTCGCTGGCAGATGCTCAAGCTGCAAATCATCCGTA
+CAACCGTTACCGGCTGCAATTACGCGGATATCGTTGCGCAGCACCTGGATTGGCAGCGCGTGGGTCGCAT
+CACAAATCAGCAGCACGCGGCTGGTCAGTTTAGCGACGGCCACCACCTGACCAACAACACCTTTGTCGCT
+GATAACCGGCTGGCCTTCATAAACGCCATTAACGCTACCTTTATCGATAACAACTTGATCGCTATAAGGA
+TCGTTAACCGTGGAGATAACCTGAGTCACCATTTTCTGCTCATCCTGACGCAGCGGGGAACCCAGTAGCT
+CGCGCAGACGCGCGTTCTCCTGTTTGTATTGTCCAAGCATCAGCAGTTCACTGTTTTTCAGCAACAGTTC
+CTGACGTAACGCCCGGTTTTCAAGTTCTAGTTGGTCACGCGAGGCCAGCGTCTGCGATACGCCATCCAGC
+AATTCACGAGGAGCATTGGAAACAAAGTAGAAAGGACTGACGGCGGTATCCATATAAGTACGGATTTGAC
+TGAACGTCCCCAGGCGGCTGTCGGCAATAATAATGCCGAGCGCCACCAGCACCGCCAGAATAAGGCGAAT
+CTGTAGCGACGGGCCACGGCTAAAAATTGGCTTCATAAGTTATGCGTATTCTCGTATCAGACCAGGCAGG
+GTAAACAGACACTTCCCCTGCCTGCATCCGATTACTCTTCGCTGAACAGGTCGCCGCCGTGCATGTCGAT
+CATTTCCAGCGCTTTGCCGCCACCGCGCGCCACACAGGTCAGCGGGTCTTCAGCAACAACGACTGGAATG
+CCGGTTTCTTCCATTAACAAACGGTCAAGGTTACGCAGCAGTGCGCCACCACCGGTAAGCACCATGCCAC
+GCTCGGAGATGTCGGAAGCCAGTTCCGGCGGGCACTGTTCCAGTGCAACCATTACCGCGCTCACAATACC
+GGTCAGCGGTTCCTGCAGTGCTTCGAGGATTTCGTTGGAGTTCAGGGTAAAGCCGCGTGGAACACCTTCT
+GCAAGGTTACGGCCACGAACTTCGATTTCACGTACTTCATCGCCCGGGTAAGCCGAACCGATTTCGTGCT
+TGATACGTTCTGCGGTGGCTTCACCGATCAGAGAACCGTAATTACGACGTACATAGTTGATGATAGCTTC
+GTCGAAACGGTCACCACCAATGCGCACGGAAGAGGAGTAAACCACGCCGTTCAAGGAGATAACAGCAACT
+TCAGTAGTACCACCACCGATATCAACCACCATAGAACCGGTCGCTTCAGAAACCGGCAGGCCAGCACCAA
+TTGCGGCAGCCATCGGTTCTTCAATCAGGAAGACTTCACGGGCACCAGCGCCCTGCGCGGATTCACGAAT
+TGCGCGGCGTTCAACCTGGGTCGCGCCAACCGGCACACAAACCAGAACGCGCGGGCTTGGACGCATAAAG
+CTGTTGCTGTGCACTTGTTTGATGAAGTGCTGGAGCATTTTTTCAGTCACGAAGAAGTCGGCGATAACGC
+CGTCTTTCATTGGGCGAATGGCAGCAATATTGCCCGGCGTACGGCCCAGCATCTGCTTCGCGTCATGACC
+TACTGCAGCTACGCTTTTCGGTGAACCGGCACGATCCTGACGAATGGCCACCACGGAAGGCTCATTCAAT
+ACGATGCCTTGTCCTTTTACATAAATGAGGGTATTCGCAGTACCCAGGTCAATGGACAAGTCATTGGAAA
+ACATGCCACGAAATTTTTTCAACATACTAAGGGATAATCCTGAAAGCTGGGGCGGAAAAGAAAATCCGCT
+TACTTTACCAACCACACGCAGCAGCGACAAGGCGCAAAAATCATCTGCTACGGTGAAAATTAGTGCAGTT
+CGTTTCCTTTGTTACAAATCTCTGCCTGAGTCCAGAAAGGCTTAATGCATCAGCAGCATTCCTCGCCTGT
+TTGCAACCGCGTAAGGTCATTCATCTGCATATGTGCTGCAACAATCTGGCGAGCAGACAAGCACACTCCC
+ATGAGACGCAGCGCGCGTTATTCTACGTGAAAACGGATTAAACGGCAGGTTAAACCGAGTATCTTTGTGA
+ATATTTTTTCACGTTAGTATCAAGTGGCTGTGAGGACGCGAAAAAATCCCCTTGCCCACCTGTAACACCG
+CGCTGAATCAGGGTCTGCCACTCGCTTCGCGAACGCACGCCGGTGGCGTAAACCTGGGTGCTGGTCCCGG
+AGCAGGCTTCCACCAGGCTTTGAACCAGCAGTTGGTTCTCCGTTCGCTTCTCAATGTTTCTGACCAGCCC
+CGGATGGAGCTTGAGTAACTCAACATTAAGTTCTTTGATCCAACTGGTGCTTACCAGCGTCAAACCAGCC
+TGGTTGACGGCTACCCGTACCCCTAAAGCATTCACTAAACGAATAACAGGTTGTAAGCGACTGATATGTT
+GACCAACATCGGCCTCTGCAAGTTCAATAATTATGTGTCTTCGTTGCGATTTTTCACATTGCATTAACGT
+ATCGCGCAGCCAACGCTGAAAACGCGGGCGAATCAGCGACTCAACGGTAACCTGAATCGCCAGATTTTCC
+TCTGGCCAGTAACGCAATAGTGGAATAAGACGGCTGATTTGCAGGCGGTCATACTCTTCCGATAAACCAA
+ACTGCAAGACCATCGGCATATACTCTGCCGAGCTAACCTCTTCATTACCATCGAAAATGCGGCACATGAG
+TTCACGATGATGAACCCGGCCTTCGCGAGTAACCGCCGGTTTTTGATAAAGGCGCGGGCCGCCGCGACTG
+AGCATTTGCTCGATAAGCGTACGCCAGCGAACATTACCGCGTCCTTTTTCAGGCAACGAGTCATCGTAAA
+TAGCCCAGCTATTGCCGCCCTGCAATCCCGCATTACGCGTGGCAGACTCTGCATGTTCCATTACCTGCTC
+GGTATCCTGACCACTACGCCAGGCACAGATACCAATGTGGATCATATCGTCGCGATCGAGCATTTTATTG
+TTCGGCAAGGTATCGACGGCTTTGATTAACTGACTGGCGATGCTCTCTGCCTCTTTTAACGTCCGGTGCG
+GTAACAGCGCAGCAAAATCACTGCGGTGGTAACGCGCCAGCAGTGCGCCAGGGTAGCGCATCATAAATGT
+CGATAGCAGATTCGTCAGAGAGAAGAACTGTTCTTCAACCTGGCTGTGCCCCCAGGTATCACTCAACATA
+TTGAAATCCGGCAGACGAATCATCATCACGATCCCGTGGGTACCTACTTTCTCTTGATCTTCCAGTAACG
+TTGCTAACTGATTATCGAAAAAGAGTCGGTTATTGAGGCCGGTTTTCATGTCCTGGGCGGCATAAGAGCG
+GATCAGCGTATCAAGACGGCTGTGTTGTTCGCGTGCGTTCTGAATTTCACAAAGCAGCGTATCCAGCGCA
+CTGCTGGTTCTGGGCGGCCATTCATAGATGGTTCCCAACACATTAGAGCCACGCTCACCGTTTAAGATAC
+GAGTAGCCCGGGTTTCCAGCAATTCTTGCCCGGCAAGTTGCCGTTGTAACCAGCGTACCGCCAGGAAGAG
+CATAAGAATGATAAAGCCAATCGCCCCCGTGAGCGGCGCGGTAGTCATTAAAGAATGGAAATAGTTGCCC
+ATCGGATCCTGATAAACCAGACGCAGCGACATCCCCGGATGCTTTATCAACGGAACGCTCAGTTCACGAA
+ACAGATCGTTGGTGCCAACCGGACGATAACTACCATTTCTGGCCAGGGTATAAACCTGCTTATCACCATG
+GAGCAGGTCTACACGAACGATATCTGCCGACATCATTAATTCGGTAATTTGTGGCCTTAATGTGCTGAAG
+TCATTCGACACTAGGTGGGTATCAATCGCCGTCGCCACCGCCTGAACACGATGACTAAACTTATACTGAA
+TGGCGTTGTAGAAACTTAGCGAACAGCCCAGCAAAGTCACAAAAATTGTTAACCCGGTGAGCAGCGTGAC
+AAAGGCCGAAAATTTCGTCGTTAATCTCATCCTTGTGTTAACTCCGATAGTGAGGAAGCGGGCATACTAG
+CAAATCAGATTTATCTCGCAATTTATTGCGCTTCATCGGCTTTGCTTTTCCATTAGCGAGTATAGTCTTC
+AGAAATTATTTTCCAATCCATCATGCACATGAGGACCACTTATGCAGGCGTTACTTTTAGAACAGCAGGA
+CGGCAAAACTCTCGCATCAGTACAGACTCTGGACGAAAGTCGCCTGCCGGAAGGCGATGTCACGGTTGAT
+GTTCACTGGTCGAGCCTGAACTACAAAGATGCGCTGGCGATTACCGGTAAGGGAAAAATCATCCGTAATT
+TTCCGATGATTCCTGGGATCGATTTTGCCGGAACTGTACGCACCAGCGAAGATCCGCGTTTTCATGCCGG
+TCAGGAGGTGTTACTCACTGGCTGGGGCGTTGGTGAAAACCACTGGGGTGGGCTGGCGGAACAGGCGCGA
+GTGAAAGGTGACTGGCTGGTTGCCATGCCGCAAGGGCTGGACGCGCGTAAAGCAATGATTATCGGTACTG
+CCGGTTTTACCGCCATGCTGTGTGTGATGGCGCTGGAAGATGCCGGTGTTCGCCCGCAGGATGGGGAGGT
+TGTCGTGACGGGTGCCAGTGGTGGCGTCGGCAGTACCGCCGTGGCGCTGCTGCATAAGTTGGGTTATCAG
+GTCGTTGCTGTTTCCGGTCGCGAAAGTACCCATGAATATCTGAAAAGTTTAGGTGCCAGCCGTATTCTTC
+CTCGCGATGAGTTTGCCGAATCCCGTCCTCTGGAAAAACAAGTCTGGGCTGGGGCAATTGACACCGTTGG
+CGACAAAGTGCTGGCAAAAGTGCTGGCGCAAATGAATTACGGCGGCTGCGTGGCGGCCTGTGGTCTGGCG
+GGTGGTTTTACTCTGCCAACCACGGTCATGCCATTTATTCTGCGTAATGTCCGTTTGCAAGGGGTGGATT
+CAGTAATGACGCCACCAGCACGCCGCGCACAAGCCTGGCAGCGACTGGTCGCCGATTTACCGGAATCATT
+CTATACCCAGGCGGCAAAAGAGATATCTCTGGCAGAGGCACCGAAGTTTGCCGAGGCCATCATTAATAAC
+CAGATCCAGGGTCGCACGCTGGTGAAGGTTAACTAACCATTTAGCAGGGAATAATAAGAGAGGGAACTCA
+TTTTGAAATCATTATTCAATCGGTTAACGGGAAAAGCGGTTAGCCGGACAGCTTTCGTCGAACATCTTGG
+TCATGAAGTTGTACAACATCATCCAAACTGGAAAGTCATGATTTCGACTGACCATAAATTGATGCGCATT
+GATACTCCACCAAACAGCCATTATTGATACGCCTCCGTCGCCTGTTAGGTTTATGGTGCTTTGCCTTGGC
+GACGCTACGCTTAATCTGTTACTGATTTCTGGTACCATGGGGGGAATAATCTGATTTTATTTGATTACAA
+ATTAACCACTTAAACCTATTGAATGCGGAACATTGTCAGTCGGTTAATTTTGCGTGCTTTAGCATTCACA
+TCTATCCAGACGATGAAGTGAAAATTGCGTAATCCTCAGCAACCGCTGCGTAATGTCGTCTATCTTGTCG
+CGATCCTGGCATCCCTACATTATTTGTGGTCTGTGAAGATTATCTCATTGCAGCCCCTCATCTTCGCAGG
+GCTGGCTTTACAGCTTTTCACCTTACGTTATAAGAAGTTCCGTCGATGATGGCGCTAATTTCGTGAATTG
+TGCGGCTTGTTGCAAATTACACGGTGTTGAAGGTTATTTACATGTTAGCTGTTGATTATCTTCCCTGATA
+AGACCAGTATTTAGCTGCCAATTGCTACGAAATCGTTATAATGTGCGACCTCGTCCTCCCTGACGCAGTT
+TTTGCGCTGCGGAAAAGGTGACATTGGCGCAACGAAGGTATATTTTGTTTTTTGCCGGAGGATAGCAGCA
+GATCGCTGCACAATGTCCGTCAAGTCTAACATTGACACTCTGGGGCAAAATAGACCGGCGTCCCGGCCTG
+CTGGAATTTATCGCTATGCATACAGCTGTCGGGGCATACGCTTTACAGACGGCGGTGAAACGCCTGTCAC
+AATCACACTAAACAAAGAGTACGGAACCCACTCATGGATATTCGTAAGATTAAAAAACTGATCGAGCTGG
+TTGAAGAATCAGGCATCTCCGAACTGGAAATTTCTGAAGGCGAAGAGTCAGTACGCATTAGCCGTGCAGC
+TCCTGCCGCAAGTTTCCCTGTGATGCAACAAGCTTACGCTGCACCAATGATGCAGCAGCCAGCTCAATCT
+AACGCAGCCGCTCCGGCGACCGTTCCTTCCATGGAAGCGCCAGCAGCAGCGGAAATCAGTGGTCACATCG
+TACGTTCCCCGATGGTTGGTACTTTCTACCGCACCCCAAGCCCGGACGCAAAAGCGTTCATCGAAGTGGG
+TCAGAAAGTCAACGTGGGCGATACCCTGTGCATCGTTGAAGCCATGAAAATGATGAACCAGATCGAAGCG
+GACAAATCCGGTACCGTGAAAGCAATTCTGGTCGAAAGTGGACAACCGGTAGAATTTGACGAGCCGCTGG
+TCGTCATCGAGTAACGAGGCGAACATGCTGGATAAAATTGTTATTGCCAACCGCGGCGAGATTGCATTGC
+GTATTCTTCGTGCCTGTAAAGAACTGGGCATCAAGACTGTCGCTGTGCACTCCAGTGCGGATCGCGATCT
+AAAACACGTATTACTGGCAGATGAAACGGTCTGTATCGGCCCTGCTCCGTCAGTAAAAAGTTATCTGAAC
+ATCCCGGCAATCATCAGCGCCGCTGAAATCACCGGCGCAGTAGCAATCCATCCGGGTTACGGCTTCCTCT
+CCGAGAACGCCAATTTTGCCGAGCAGGTTGAACGCTCCGGCTTTATCTTCATCGGCCCGAAAGCAGAAAC
+CATTCGCCTGATGGGCGACAAAGTATCCGCAATCGCGGCGATGAAAAAAGCAGGCGTTCCTTGCGTACCG
+GGTTCTGACGGCCCGCTGGGCGACGATATGGATAAAAACCGCGCCATTGCTAAACGCATTGGTTATCCGG
+TGATTATCAAAGCCTCCGGCGGCGGCGGTGGTCGCGGTATGCGCGTAGTGCGCAGCGACGCTGAACTGGC
+ACAATCCATCTCCATGACCCGTGCGGAAGCGAAAGCAGCTTTCAGCAACGATATGGTTTACATGGAGAAA
+TACCTGGAAAATCCTCGCCACGTCGAGATTCAGGTACTGGCTGACGGTCAGGGCAACGCTATCTATCTGG
+CGGAACGTGACTGCTCCATGCAGCGCCGCCACCAGAAAGTGGTCGAAGAAGCACCGGCACCGGGCATTAC
+CCCGGAACTGCGTCGCTACATCGGCGAACGTTGCGCTAAAGCGTGTGTTGATATCGGCTATCGCGGTGCA
+GGTACTTTCGAGTTCCTGTTCGAAAACGGCGAGTTCTATTTCATCGAAATGAACACCCGTATTCAGGTAG
+AACACCCGGTTACTGAAATGATCACCGGCGTTGACCTGATCAAAGAACAGCTGCGTATCGCTGCCGGTCA
+ACCGCTGTCGATCAAGCAAGAAGAAGTTCACGTTCGCGGCCATGCGGTGGAATGCCGTATCAACGCCGAA
+GATCCGAACACCTTCCTGCCAAGTCCGGGCAAAATCACCCGTTTCCACGCACCTGGTGGTTTTGGCGTAC
+GTTGGGAGTCTCATATCTACGCGGGCTACACCGTACCGCCATACTATGACTCAATGATCGGTAAGCTGAT
+TTGCTACGGTGAAAACCGTGACGTGGCGATTGCTCGCATGAAGAATGCGCTGCAGGAGCTGATCATCGAC
+GGTATCAAAACCAACGTTGATCTGCAGATCCGCATCATGAATGACGAAAACTTCCAGCATGGTGGCACTA
+ACATCCACTATCTGGAGAAAAAACTCGGTCTTCAGGAAAAATAATTTGTGACGCGCGGTGTTTCCATCGC
+GCTTAGCAAAGAACGTAATCAACGCCGGGCCTGTTAATGCTACCCGGCGTTTTTATTGCCGTTAACTAAC
+GGTAGCCTGCAATTTCCGCTTTCAACGCGCTAATTTCAGCATCGCCATCAACAATTCCCAGCTCAAAGCA
+GTATTTCTTTGTTTCCCCTGGCTCAATAAAGGGCAGACGCCCCTGCGCTCGTTCTTTATCACGACCGTCA
+GGAAAACTATTACTGACCTCCAGTCCCATAACATATTCACCCGCGCCTAAATTTTTCCACTGGATAAAGT
+TGGGTAGCTGCATGGTGTCGAATTTCTCGTAAATTCCCCACCCCAGTTCAGCGTTCACCAGCGCAACTTT
+ACTCATCCCCTGACTGTCGCTATTCAACGTGAGATAGTAAACCTGCTCGTCAAAACCGGGCTGTGGGGTA
+CAAATCTCCAGATGACTGGTTAACCCTTCCGCCGCATGCGGGGTTCGTGGCGTTACGCTTTTAGCCGACA
+GCAAGATTTCTGCCTGTGGCGATAATAAAGGCCAGCCGTAATTAAAGTGATAAAGAATTTGCAGCGGCTG
+GCGGGTGAAACCATGATTAGTCACCTTGTCTTCAATGCGCAGCACATTTTCGCCATAACGGCAGCGAATG
+GTCCTTTCCAGCGTCAGATTTTCACCGAACAATCGTGTTTCCCGTACTTTGCCATTGATGACAAATTCAA
+TGCCGTCGTCGGTCCGTTCTGTGCGATACCCCACCTCTTCTGCTGGAGTCGCAGCCAAACGCCCATGTAA
+CCCCAGCGTTTCTCCGTTATCCTCACAGGGCGTGCCAATGTAGCTAAGTCCGCAGGTAGTCAGTAACCCC
+GCGTAGAAGCTACGTAAAAACCCGTTGCCCTGAGACTCAAAAAAAGCGGGGGCGACAATGCCGTTGGGGG
+TGATAAAAGAGAGCGCAGTGTCCTTGTAGCTGGCCCATGCAATATCCAGCGCTCGATCTTTTACCACCGT
+AAATGCCAGTCCCGCACCAGTACGGACATCAAACGCTTCTGTCCCCTTTGCTCTGCCACTACGTAACTCA
+TAGTGTTTAATTCCGGCAACCTGCGAGAGATCGCCAATCCACGACCAAATTTCGTTTTTCATTGTGCTGC
+TTCCCGAATGGACATGTCATGGCGCTGGATGAACGTTTCGATTTCCATAAGGCGAGACGTTCCCTCCATT
+GGGCCACGTCGGGTTACCGCCAGTGCACCGCAGGCGTTGGCATATTGTAATGCCCGATGGGCGTCAAACC
+CTAGCTGGCGGCAGGCAATCCACGCGCCACCAAAGCAGTCTCCCGCACCGGTCGGGTCAACTTCTTCCAC
+CGGATAGCTCTCAACATGAAACTGCTCATTCGCGGAGTAGTAACTGGCACCTTGATTGCCGCGCTTCACA
+ATCACCTCTTTAACACCTTCTTCAAGAAAACCAGCGATTGCACGCTCCGGCGTCGAGTGTGGCGACAAGA
+GCAACACTTCTCCCTCGCTGGGCATATAGATATCTGTTAACTCAAGAACAAAGTGGAGGGCGTCACGCAT
+TTCTGGAATATCAAGCATTTCTTTACGAATATTCGGGTCGAAAGAAATAACGCCACCATTTGCTTTAACG
+ATGGTTACTGCTTTTTTTACTGCGTCTACCATATGGAATGAAAACAGGGATGAACCCATAATATGAAAAT
+GGGTACAATCCTTCAGAATATTTTCATCAACATGCTGTGCCGATAATTTACCGCAAGCGGCATTCTTGAT
+ATTAAAAATAAAATCGCGATCGCCAGAGTTATGATAAGTAACAAAGGCACTACCGGTGGCTTCCAGAGGT
+AAGACTGAAATCCCCCTGATGTCCACACCGTCAGCAGCCAGACGATGTATATTAATATCACCAAAGCCAT
+CATTCCCCACGCAGCTAATGATGCCGCACGGGACGCCAAGACGTGTCACCTGGTCGATAAAAATAGCGGG
+CGCACCACTGGGATAAGGGCCGTTCCAGATACCTGGTTGATCAAATGGCTGGCCGATTTTACTCGCCATA
+ATTTCAACCAGAATTTCTCCAATTGTGAAGACCTTACTCATATGATTAATTCCTTGAAATGATTAGCTGC
+GTTTTCTTTTATTTCTTACGTCAAAATAAACGGCTACAAGAATGACTAATCCTTTAACCACCATCTGGTA
+AAAATAAGGAACATTCATTAAGTTCATGCCATTATTAATAACGCCGATGGTTAATGCGCCGATCACCGTC
+CCCACCACGGTTCCATAGCCGCCGTTCAGGCTGGTGCCTCCCAGTACAGCTGCGGCAATAGCATCCAGTT
+CGTAGCTCAACGCGGAATTCGGTTGCCCGGAATAGAGGCGTGAGGCAAGGATCATCCCGCTGATACCTGC
+CAGCACGGCTGTAATCATAAAGACTTTAATTTTCAAGCGGGTGACATTTATCCCTGAATAAATTGCTGCT
+TCTTTATTACCACCAGTGATATAAATTTTTCGTCCAAAGGTTGTTTTAGTAAGAATGAAGTGGTTTATCA
+GCAATAAGATGATTAATATCCATATAGGAATAGGTATATAGAGAAATTCTCCATTCCCCAGCGCCAGAAA
+GGCATCATCTTTAATCATGATGGGCATACCATCGGTCACTATATAAGCGATACCACGGAAGATCCCCATA
+GTAGCAACGGTGACAATAAACGACGGGATCCCCGCTATGGCCGTCAAGCCACCATTTATCATCCCCAGAG
+CCAGTGCTGCAATAATGGATAATGGGACCAATAAAATAAATGGAATTCCCCATGAAGCCCCAAGCGCAGC
+AAATGTGCCAATCAATGCAATGGTTGAACCAACCGATAAATCAATATCGCCAAGCAAAAGTACGTAAGTC
+ATTCCATAGGCGGTAATTGCAATTATCGAAACCTGAAGAATAATATTAGTAATGTTATTGGCGGTAAAAA
+AACTGTCATTAATAAAACTGAACAGAATGATTAACACCACCATTCCACTGAGGATACCACCATATTGCCT
+GAAGACTTTTTTAAAATTATTTGCAATGGGAATTTCCGAAGGTTTCGGACTGGCAAGAGTTTTCTCTGTC
+ATTTAACGTACTCCTGTTGCAGCGGTCATTACCTGTGTCTGCGTTAAATTTTCACATGAATAAATATCGG
+CAATCGTTTTATTACGCATTACCACCAGACGATCGCTAAGTGCCATGACTTCTGGCAGTTCAGAGGACAC
+CAGAATAATTGCTGTCCCTGCCGCAGCCAGTTGACGTATCACGTTATAGATTTCAAATTTTGCGCCGACA
+TCCACTCCGCGCGTTGGCTCATCGAGCAATAAAATACGCGGAGTTTTCTCCAGCCACTTCGATAACACGA
+TTTTCTGTTGATTACCGCCGCTCAGTGCTCCCACTGCCTGATGCACAGAACTCACTTTAGTGTTCATTCT
+GGCAATTGATTGCAGCGTCTTCGCCTCTTCTTGTCGGTGATTGATGAGTCCCATCCGCGAAGCGTTATAT
+TGAAACGCCACATGGTGCGTGTTCATATTGACGTCGTGCATCAGCACTAACCCTTCTTCCTTGCGGTTTT
+CGGTCACAAAAGCAATGCCATGATCAATAGCCTGTTTGGGATTAGCGATCCTGACTTCCTTACCATCAAT
+CAACACAGTCCCGTGATACGAAACGAGGCCAAATAGCGCCTTCATCACATCGGAACGCCCGGCCCCCACC
+AGGCCAAAAAATCCGAGGACTTCCCCCGGACGCACAGCGAAACTGACCTCTTTAAAAAGCGAAGGATGGG
+AAAGATTTTTTACTTCCAGTTTTGCAGGAACATTTTCATCCGGTTTTTCCCCAAGACGTGCTGGCCAAAT
+ATTTTTCATTTCCCGACCAACCATTTGGGCAATCAAGTGCTGGATATCACTGTTTTTCTTTTCATGCGTA
+GCGATATACTCACCGTCGCGGATCACCGAAATATCATCTGAAATCCGCATAATTTCATCCATGCGATGAG
+AGATATAAATAACCGCACAGCCTCGCTGCTTTAATTTTTCAATAATGTTAAACAGGATCTCCGCTTCATT
+ATCACTTAGCGAAGATGTCGGTTCATCCATAATCACGACATCCGCTGCATAGCTTAAGGCTTTAGCAATT
+TCTACCAGTTGCCTATGTGCCATCGACATATTGCCGACCATTTCCAGAGGGTCTAGTGGGATGCCCAGTT
+CCGCGAGGAGGTTCTGGCAATCTGCGAGCATTTTTTTATCGTTAATGATGCCAAAACGTCTCGGTTCATT
+ATTGGCATAAATATTTTCCGCCACGGTCATATTATTACTCAGGCTCAGTTCCTGAAAAATAATCGCAATC
+CCTAACTGGCGAGAATGCTGCGGATTATTAATGGTGATGGTTTCACCACGTAGTGTTATCGTTCCCTGGG
+TTGGCGGATAAACACCGGCCAGTATTTTCATTAATGTCGATTTACCGGCACCATTCTCGCCTAATAAAGT
+ATGCACCCGCCCTTTACGTAAAGAGAGTGTAATATCTTTTAATGCCTGAACATGACCAAATGTCTTCGCA
+ATATGCGAAACATCAAGAATAACATCCGTCATAATGACCTCGGTGTCACAACAAAACGCCAATAACGTTT
+TGTTGTGAGGTGAAGATATTTACTATTTACCTGTATAAACGCCGGGTTGTACCGGGATCATTTTTTCTAC
+CGGTTTACCATTGAGGTGATCAACAGCGGCATCAATGGCTTTAGCACCCATTTGATCGGGATATTGCCGA
+ATCACGGCCGCAAACGTTTTTTCACTGTCAACGGCATCACGCGCTTCTTTCATGCCGTCAAAACCAATGA
+TTTTGATGTTGTCGTTATGCGCAGATTTTGCTGCGATAACCGCTGCCAGCGCCGCATCATCACCAAAGCC
+AAACAGACCATTCAGGTTAGCATTTGCCTGCATAATGTTTTGCGCAGTCGTTAACGCTTCAGCCCGCGTA
+ATACCAGGCTGTTCAGCAACAATTTTAATATCCGGTGTATCGCTTAACCCTTTCTTAAAACCATCAACGC
+GCGCAACCACCGATTGTAGTGCCGGATAAGAAATAATGGCTACAGTACCTTTACCATGCAAAAGTTTACC
+CATTAACTTGCCTGCTTCAACGCCTCCCGCATAGTTATCGGTCGCAACATGCGATACGACCGGAACGCCT
+TCCGCAGCGACGTCAACGGTGATAACGGGAATACCGGCCTTATCGGCTTTAATTATCGCTGCCTGGACGC
+CTTTCGAATCGACCGGAGAGATAATAATGGCATCCACTTTTTTAGTAATAAAATCCTCAACATCAGAAAG
+TTGTTTGTTTAAATCCTGATTGGCAATAGAGACACTTAAATTGACATTGTCTTTTTTTGCCTCTTCTTTC
+ATGGCATTCGCAAGATCAATATAGAAAGGATGTTGTTGTGTTAATAATGACGCACCAATTTTATACTCTT
+TTGCCAACGAACTTTGCGAGAACAATGCCAGGCTCACCAACATAGCTGAACCAAGTAATTTAATATTTTT
+CATAAACAATCCTCATTATTTTTGTAGGGTACAACGTCTTAAATTTTTCCTTCACTACCACAGACGCCAA
+TAATACGAGTTACGACTTCTTTCATGGCGGCCTTTGCGGGCTGCATATAGTGACGTGGATCATTTGCCGC
+AGGATTGTTGTAGAAATATCCTTTTAACGCATCGGCAAACGCAATTTTCAATTCTGTCGCGACATTCACT
+TTACAAATACCGCGACGAATACAGTGCTGAACGTCCTGTTCCGATAAGCCCGAAGCACCATGCAACACCA
+GCGGAATCTCCACTCGCTGACGAATCTGTTCCAGCCGCACAAAATCCAGTCGTGGTTCATGCGCATATAA
+ACCATGTGCTGTGCCGATTGCTACCGCCAGGGAGTCAATTTGGGTACGTTGAACAAACTCTGCAGCTGCG
+GCTGGTGAGGTATAAGCGGAATCTTTTTCATCCACCCGCAGATCGTCCTCCTGGCCGCCAAGACGCCCTA
+GCTCGGCCTCAACGCTAACATCAAAGCGATGGCAAAAGGTGGTAACTTCTTGCACTCGCGCAATGTTGTC
+TTCAAATGGCAAATGGGAGCCATCAATCATGACAGAACGGATCCCTGCGCGAACCTTGTTAAAAATGTCA
+TCACTCTCTTCATGATGGTCGAGATGCAGGACTAACGGCAGGTTGTACTCGCGAGCCAGCGATTGTACTA
+ACGAAATTAAACTTCCCACGCCACCATAACGATATGTACCGGGTGTTCCCGCCAGCATAACGGGAGAGCG
+AAGTTGTGCAGCGCTCTCAACAACTACCTGTAAAGTTTCAAGGTTATGAATGTTGAAAGCAGGGACGGCA
+TATCCCTCTGACTGGGCTTTTTTCAGCATGTTTTTGCTTGAAATAATATACATCGCAGCTCCTGTTATTG
+GTCGTTCGCCTTACAAAATGAAGAAAGAGAATCTTTACTTTCATTTTGAAAGCAAACTAGCACAGCAAAA
+GCAGCAAAAAGCGTGATGCATGTCGAAAATCATCAAAATAACTTACAAAAAATAACTTAATTTATTTTTC
+ACTTTGCAAGTGAAACCAATGGAAACCCTGCATAAATATGAATATATTCATTTATTTTTCAATGTATTAA
+GCTATTTTCGTTGCAATTTTTGCCCCCTGATTTTCTTTTCGAATTGTCGATATGATTGAAGGATAACTTT
+CAAAGAAAAATACAAGGGGCTATAGTGTTACGCATTAAAGGCCAATGAAGAGTGTTAACGTGCCGAGAAA
+ATCGTCTAACCTACTGAAACGCAGATTAAAAATTGCAGAAATTGTTGCCTCCCAGGGTGAAATCAAAGTT
+GATGACTTATCTGCGCAACTTGGTGTCTCTGGCGTGACGATCCGCGGCGATCTCAGTTATCTGGAGCAAC
+AGGGATATTTAAAGCGATCATTTGGCGGTGCTATTGCGACACCACTCTCCTCTGAACCAGAAGCGATACA
+ACCGATCGCGCCATTGTCTCTGGCACAACAAATGGAAATAGCACGACATTGCGCACGATTAATTCGCGAT
+CGTGACACGCTATTTCTTGGACATGGGACAATCTGCCGTAAGATCATTCCATTGCTCAGCGAAGTGAAAA
+AACTGCGTCTGATCACCAACGATCCCGAACATGCGCTGCTGGCAAATCAGTTTATTGATGGCGAAATAAT
+ACTGGCTGGCAGTGAAATGCTGCGCCCCGACACCGCACTGGCCGGAAAACAGCTTGAACAGGCACTTCAG
+CATTTCACCATTACACATAGCATTCTGGAAATCAGCCATCTGGATGCTGATGGTACTTTAAATATCAACG
+TTCCCAGACTCGCCGCTGCCTGGCAGCTCTGTTTCGATCATGCCCAGAATAAGACGGTTATCGTTGCCGC
+CGATCCTGCGCCATCAACGGCTGCTATCGGGCATTTGCATCAGGCAGAAAATGTGATCGTCAGCCGCAGC
+ATTAACGAACAATATCAGCAACAATTGCAGTCGGCTGATTTCGTTATCCTTTATACCAGTAATGAGTGCT
+TTACCTGGTCCAATCGCGAAAGGCTTCAGGAATGAGAGGGGTTTTGTGACAATAACTATCTGCGCTATGG
+GCGAATTGCTGGCCGAGTTTTTGTCCCGCAACCCACATCAAAAATTCACTCAGCCTGGGGAGTTTATCGG
+GCCATTTCCCAGCGGTGCGCCAGCAATTTTTGCTGCTCAGGTGGCAAAACTGTCCCATCGGGCCATCTTC
+TTTGGATGTGTTGGTAATGATGATTTTGCCCGACTCATTATAGAGCGTCTCCGTCATGAAGGTGTCATTA
+CCGATGGGATCCATGTTATGAACAATGCCGTCACAGGTACGGCGTTCGTGAGTTATCAAAATCCCCAGCA
+GCGGGATTTCGTCTTTAATATCCCTAACAGCGCCTGCGGTTTGTTTACTGCCGAGCACATTGATAAGGAT
+CTGCTTAAACAGTGTAACCATCTGCATATTGTGGGCTCATCGTTGTTCTCATTTCGCATGATCGATGTCA
+TGCGTAAAGCAATAACGACGATCAAATCGGCTGGCGGCACCGTTTCTTTCGATCCCAATATTCGCAAAGA
+GATGCTGAGCATTCCTGAAATGGCGCAGGCTCTCGATTATTTGATTGAATATACGGATATTTTTATCCCC
+AGCGAAAGCGAACTCCCTTTCTTCGCGCGTCACAAAAATCTGTCAGAGGAACAGATTGTTAGCGATCTTC
+TCCACGGCGGCGTAAAACATGTGGCGATAAAACGCGCCCAGCGTGGGGCCAGCTATTACAAGCTTAAAAA
+CGGTACATTACACGCCCAGCATGTTGCAGGTCACGATATCGAAATTATCGATCCAACGGGTGCAGGCGAC
+TGCTTTGGCGCAACGTTTATCACTCTTTTCTTATCCGGTTTCCCGGCACACAAGGCGCTGCAATATGCAA
+ATGCCAGCGGCGCGCTCGCCGTAATGCGGCAAGGTCCGATGGAAGGGATATCCTCACTGGCAGACATTGA
+AGACTTTTTGCAGCAGCACTGAACGGCAATTTTCTGTCAGATCATTTTCCCTGCCTGAAGACTTGCCGTA
+GAATTGCCCGTTTCTCGTATCCCCCCATGAGGAGGACCCCTTCCGTGGACACTCGTTTTGTTCAGGCCCA
+TAAAGAGGCGCGCTGGGCGCTGGGGCTGACCCTTTTGTATCTGGCGGTATGGTTAGTATCCGCTTACTTA
+CCTGGCGTTGCCCCCGGTTTTACCGGCTTTCCGCGCTGGTTTGAGATGGCCTGCATCCTGACGCCGCTGC
+TGTTTATTGGACTGTGCTGGGCGATGGTGAAATTTATCTATCGCGATATCCCACTGGAGGATGACGATGC
+AGCTTGAAGTAATTCTACCGCTGGTCGCCTATCTGGTGGTGGTGTTCGGTATCTCTGTTTATGCGATGCG
+TAAACGGAGCACTGGCACCTTCCTTAATGAGTATTTCCTCGGCAGCCGCTCTATGGGCGGTATTGTGCTG
+GCGATGACGCTCACCGCGACCTATATCAGTGCCAGTTCGTTTATCGGCGGGCCTGGAGCTGCTTATAAAT
+ACGGCCTGGGCTGGGTATTGCTAGCGATGATTCAGCTTCCTGCAGTCTGGCTTTCGCTCGGTATTCTCGG
+CAAGAAGTTCGCAATTCTTGCGCGCCGCTATAATGCGGTGACGCTGAACGATATGCTGTTTGCCCGCTAC
+CAGAGTCGTCTTCTGGTATGGCTGGCGAGTTTGAGTTTGCTGGTTGCGTTCGTTGGTGCGATGACCGTGC
+AGTTTATCGGCGGTGCGCGCCTGCTGGAAACCGCGGCGGGTATTCCTTATGAAACCGGGCTGCTGATTTT
+CGGTATCAGCATTGCGTTGTATACCGCCTTTGGCGGCTTTCGCGCCAGCGTGCTGAACGACACCATGCAA
+GGGCTGGTGATGCTGATTGGCACCGTTGTGCTGCTTATTGGCGTGGTACATGCCGCAGGTGGTTTAAGTA
+ATGCGGTAGACACGCTGCAAACCATCGATCCGCAACTGGTTACGCCACAAGGCGCTGACGATATTCTGTC
+GCCTGCCTTTATGACGTCGTTCTGGGTACTGGTGTGCTTTGGCGTTATAGGCCTGCCGCATACTGCGGTG
+CGCTGTATCTCTTATAAAGACAGCAAAGCCGTACATCGGGGGATCATTATCGGTACGATTGTAGTCGCAA
+TCCTGATGTTCGGTATGCATCTGGCCGGAGCGTTAGGTCGGGCGGTGATCCCCGATCTCACCGTACCGGA
+TCTGGTGATCCCAACGTTAATGGTAAAAGTGCTGCCACCGTTTGCTGCCGGGATCTTCCTGGCTGCGCCT
+ATGGCTGCGATCATGTCGACAATTAACGCCCAACTGCTGCAAAGTTCCGCTACGATCATTAAAGATCTCT
+ATCTGAATATCCGTCCGGATCAAATGCAAAACGAGACGCGTCTGAAGCGGATGTCGGCGGTGATCACGTT
+GGTTCTCGGTGCGTTGCTGCTGCTTGCCGCCTGGAAGCCGCCAGAAATGATCATCTGGCTGAATTTGCTG
+GCCTTCGGTGGGCTGGAAGCCGTTTTCCTGTGGCCGCTGGTGCTGGGTCTTTACTGGGAACGCGCCAACG
+CCAAAGGCGCGCTAAGTGCGATGATCGTTGGCGGCGTGCTGTATGCCGTACTCGCGACGCTGAATATTCA
+GTACCTGGGCTTCCACCCTATCGTGCCCTCGTTACTACTAAGTTTGCTGGCTTTCCTGGTCGGAAACCGT
+TTCGGTACATCCGTCCCGCAAGCTACCGTTTTGACTACTGATAAATAAAGAGTTTTGCCATGCCTTGGAT
+CCAACTGAAACTGAACACTACCGGCGCGAACGCGGAAGATCTTAGCGATGCGCTGATGGAAGCGGGTGCC
+GTTTCTATCACTTTTCAGGATACCCACGATACGCCAGTATTTGAGCCGCTGCCGGGCGAAACGCGCCTGT
+GGGGCGACACCGATGTGATTGGTCTGTTCGACGCTGAAACCGATATGAACGACGTGGTGGCGATTCTGGA
+AAACCATCCGCTGCTCGGCGCGGGCTTCGCGCATAAAATCGAACAACTGGAAGATAAAGACTGGGAGCGC
+GAATGGATGGATAATTTCCACCCGATGCGCTTTGGTGAACGACTGTGGATCTGCCCAAGCTGGCGTGATG
+TGCCGGACGAAAACGCCGTCAACGTGATGTTAGACCCAGGGCTGGCGTTTGGTACGGGTACCCATCCAAC
+TACCTCTCTGTGCCTGCAATGGCTCGACAGCCTCGATTTAACCGGTAAAACAGTCATCGACTTTGGCTGC
+GGTTCCGGCATTCTGGCTATCGCGGCGCTGAAACTGGGTGCAGCAAAAGCCATTGGTATTGATATCGATC
+CGCAGGCGATCCAGGCCAGCCGCGACAACGCTGAACGTAATGGCGTTTCTGATCGTCTGGAACTCTACTT
+ACCGAAAGATCAGCCAGAAGAAATGAAAGCCGACGTGGTGGTCGCTAACATCCTTGCAGGTCCATTACGT
+GAACTGGCACCGTTAATCAGCGTCCTGCCAGTTTCAGGCGGTTTGCTGGGCCTTTCCGGTATTCTGGCAA
+GCCAGGCAGAGAGCGTTTGCGAAGCTTATGCCGACAGCTTCGCTCTGGACCCGGTCGTGGAAAAAGAAGA
+GTGGTGCCGCATTACCGGTCGTAAGAATTAACCTTCGCATCGCCGTATGGCGACGCAGAGCGAAGTGCGA
+GCGATGTCACAAAAGGCACGTTAATTTGCCGATTATTTACGCAAATTTGCGTGCCAAAATTTTCATTCAT
+AAAGAAAAATTGAGAACTTACTCAAATTTCTTTGAGTGTAAATTTTAGTCACTATTTTCTAATATGATGA
+TTTTTATGAGTAATTATCGCGCTACGCTCATTTTAAATGCAATTCTTTGATCCATCTCAGAGGATTGGTC
+AAAGTTTGGCCTTTCATCTCGTGCAAAAAATGCGTAATATACGCCGCCTTGCAGTCACAGTATGGTCATT
+TCTTAACTCATGCGCATCGGACAATATCAGCTCAGAAATCGCCTGATCGCAGCGCCCATGGCTGGCATTA
+CAGACAGACCTTTTCGGACGTTGTGCTACGAGATGGGAGCCGGATTGACAGTATCCGAGATGATGTCTTC
+TAACCCACAGGTTTGGGAAAGCGACAAATCTCGTTTACGGATGGTGCACATTGATGAACCCGGTATTCGC
+ACCGTGCAAATTGCTGGTAGCGATCCGAAAGAAATGGCAGATGCAGCACGTATTAACGTGGAAAGCGGTG
+CCCAGATTATTGATATCAATATGGGTTGCCCGGCTAAAAAAGTGAATCGCAAGCTCGCAGGTTCAGCCCT
+CTTGCAGTACCCGGATGTCGTTAAATCGATCCTTACCGAGGTCGTCAATGCAGTGGACGTTCCTGTTACC
+CTGAAAATTCGCACTGGCTGGGCACCGGAACACCGTAACTGCGAAGAGATTGCCCAACTGGCTGAAGACT
+GTGGCATTCAGGCTCTGACCATTCATGGCCGTACACGCGCCTGTTTGTTCAATGGAGAAGCTGAGTACGA
+CAGTATTCGGGCAGTTAAGCAGAAAGTTTCCATTCCGGTTATCGCGAATGGTGACATTACTGACCCGCTT
+AAAGCCAGAGCTGTGCTCGACTATACAGGGGCGGATGCCCTGATGATAGGCCGCGCAGCTCAGGGAAGAC
+CCTGGATCTTTCGGGAAATCCAGCATTATCTGGACACTGGGGAGTTGCTGCCCCCGCTGCCTTTGGCAGA
+GGTTAAGCGCTTGCTTTGCGCGCACGTTCGGGAACTGCATGACTTTTATGGTCCGGCAAAAGGGTACCGA
+ATTGCACGTAAACACGTTTCCTGGTATCTCCAGGAACACGCTCCAAATGACCAGTTTCGGCGCACATTCA
+ACGCCATTGAGGATGCCAGCGAACAGCTGGAGGCGTTGGAGGCATACTTCGAAAATTTTGCGTAAACAGA
+AATAAAGAGCTGACAGAACTATGTTCGAACAACGCGTAAATTCTGACGTACTGACCGTTTCTACCGTTAA
+CTCTCAGGATCAGGTAACCCAAAAACCCCTGCGTGACTCGGTTAAACAGGCACTGAAGAACTATTTTGCT
+CAACTGAATGGTCAGGATGTGAATGACCTCTATGAGCTGGTACTGGCTGAAGTAGAACAGCCCCTGTTGG
+ACATGGTGATGCAATACACCCGTGGTAACCAGACCCGTGCTGCTCTGATGATGGGCATCAACCGTGGTAC
+GCTGCGTAAAAAATTGAAAAAATACGGCATGAACTAATTCAGGTTAGCTAAATGCTTGATTAAAAAGGCG
+CTACTCGGCATGGGGAAGCGCCTTTTTTATAGGTGTCACAAAGGGAGTGACCATGAGAACAGGATGTGAA
+CCGACCCGATTTGGTAATGAAGCAAAGACCATCATCCAGGGTGATGCATTAACCGAACTTAAAAAGCTCC
+CCGCCGAAAGCGTCGATCTGATCTTTGCCGACCCACCGTATAACATCGGTAAAAATTTTGATGGTCTGAT
+CGAAGCCTGGAAAGAAGATCTGTTTATCGACTGGCTGTTTGAAGTGATTGCAGAGTGCCACCGCGTTCTG
+AAAAAGCAGGGCAGCATGTACATCATGAACAGCACGGAAAACATGCCCTTTATCGATCTCCAGTGCCGCA
+AGCTTTTTACCATCAAAAGTCGCATCGTCTGGTCATATGACAGTTCAGGAGTGCAGGCGAAAAAACACTA
+CGGCTCCATGTACGAACCCATCCTGATGATGGTGAAAGACGCAAAGAACTACACATTCAACGGTGATGCT
+ATTCTGGTAGAAGCCAAAACCGGATCGCAGCGCGCGTTGATCGATTATCGCAAAAATCCTCCACAGCCTT
+ACAATCATCAAAAAGTACCGGGTAACGTCTGGGATTTTCCTCGCGTGCGTTATTTGATGGATGAATATGA
+AAACCACCCGACGCAAAAACCGGAAGCCTTACTGAAACGCATTATTCTCGCCTCTTCCAACCCAGGCGAT
+ATCGTTCTCGACCCGTTTGCCGGTAGCTTTACTACCGGTGCCGTAGCCGTCGCCAGCGGGCGAAAATTCA
+TTGGTATTGAGATCAACAGCGAGTACATCAAAATGGGGCTTCGACGGCTGGATGTCGCGTCGCATTACTC
+TGCGGAAGAACTGGCGAAAGTGAAAAAAAGAAAGACCGGCAACCTGTCAAAACGAAGCCGGTTAAGCGAA
+GTTGACCCCGATCTCATTGCAAAGTAAAGGAAGTGTAAGCCTGGTTTTCAGATTATTCATTTCGTGTATA
+TTTCCTGCCAGACTTGGTTAAACATGCACAGGCTCAGGTAATGATTCGCAAGTATTGGTGGCTCGTCGTT
+TTCGCTGTCTTCGTTTTTCTGTTTGATACTTTACTGATGCAGTGGATTGAACTGCTGGCAACAGAAACAG
+ACAAATGCCGCAATATGAACTCAGTTAATCCACTAAAACTGGTTAACTGTGACGAACTGAATTTTCAGGA
+CAGAATGTGAATTTATATGACACTTAATTCATTCGTTTTATGAATTAATTTCGTTATGTTTTCATCTGGC
+ATGAACATTCTTAATACGTTATCGACCAGTGCGGGTGCTTGTTTATAAAGGTCATAACACGCCATATTCA
+TTAACCAGTTTTGAACAATTCCGCTGAAGGCACCATCAATAATAATCATCACAACATCTAAATCGAGATT
+ATTTGCTACACAACCTTGTTGCTGACACGCCTGCAATACTTCGCGGAGAGTCTGCGGATTAAAGCCCATC
+TTTTCGCGTATCACTCCCTCGGCCAGCATCTCATCATTAAATTCACATTTGTGATATAAGATTTTCAGCA
+ACGCCTGCTGGCGGGGAATTTTGGCAATATATTGCAAACCGACAATCAATTTTTCACGCAATTGCTGAAA
+CGGGTCATGCTCTAACCCAGCGGTCAAGTAATCCTGGATTAACTCCCGCAATGAAGGCTGTTGCAACCAC
+ATCTCATTAAACAGTTGAGTCTTGTTTTCGAAGTGCCAGTAGATAGCGCCACGCGTAACGTTAGCAGCGT
+CGGCAATGTCGTTGAGCGTCGTCTTGCTTACGCCATGCTGCGCAAACTGGGCGATGGCAGTTTCAATCAG
+TTCTTGCCGGGTCTTCAGGGCTTCAGCTTTGGTTCTTTTTGCCATGATTAATTATTCAGGAAATAAATAT
+ATTCAACACAGGATGAGAAAATAGCGAAGGTTAATCTATCACCTAATGTGTATTTATACGAGAGGCTAAT
+ATTGCGTTGCTATAAATCGTCAAATAAATGATATGTATTATTTACCTAAAATATATTCACCCTACCTATA
+TATATTTCAATTTACGAGGTTTTAATTCTACTTCTTTAAATCCGCGTCAAAATAAAACAATAGGATATTA
+ATCTTTTTTTGTGTTTATGTGCCTTGAGTCGCCAGTATTCATAACTATTCCTTACATCGACGAATGATAA
+TTTGTAGGATAGCGAACTGTATTTTTCTTTCTGCGAGTTAACGCATTGCCTTTTTGGGCAAATAACGCGC
+TTTTGGTTTTTTGAGGAATAGTAATGACGAAACATGCCAGGTTTTTCCTCCTGCCCTCCTTTATTCTGAT
+CTCCGCGGCTTTAATCGCCGGTTGTAACGATAAGGGAGAAGAGAAAGCTCACGTCGGTGAACCGCAGGTT
+ACCGTTCATATTGTGAAAACGGCCCCGTTAGAAGTTAAGACTGAATTACCAGGCCGCACCAATGCTTACC
+GTATAGCCGAAGTTCGCCCACAGGTTAGCGGGATCGTACTGAATCGCAATTTCACTGAAGGCAGCGATGT
+GCAAGCAGGCCAGTCCCTGTACCAGATCGATCCCGCGACCTATCAGGCAAGTTATGACAGCGCGAAAGGC
+GAACTAGCGAAAAGTGAAGCCGCCGCCGCCATCGCGCATTTGACGGTAAAACGTTACGTTCCGCTCGTGG
+GTACGAAATACATCAGTCAGCAGGAGTACGACCAGGCCATTGCTGATGCTCGCCAGGCCGATGCCACCGT
+GATTGCCGCAAAAGCCACTGTTGAAAGCGCTCGCATCAATCTCGCTTATACCAAAGTGACTGCGCCTATT
+AGCGGACGTATCGGCAAATCGACTGTGACCGAAGGCGCTCTTGTCACTAATGGGCAAACGACTGAACTGG
+CGACTGTCCAGCAGCTCGATCCTATCTACGTTGATGTGACCCAATCCAGCAACGATTTTATGAGGCTGAA
+GCAATCCGTAGAGCAAGGAAATTTGCATAAGGAAAACGCCACCAGCAACGTAGAGTTGGTCATGGAGAAC
+GGTCAAACCTATCCCCTGAAAGGTACGCTGCAATTCTCCGATGTGACCGTTGATGAAAGCACCGGCTCCA
+TAACCCTACGTGCTATCTTCCCTAACCCGCAACATACGCTTTTGCCGGGTATGTTTGTGCGCGCACGGAT
+TGATGAAGGCGTCCAACCTGACGCCATTCTTATCCCGCAACAAGGCGTTAGCCGCACACCACGTGGTGAT
+GCAACCGTGCTGATTGTTAACAATAAAAGTCAGGTTGAAGCGCGCCCTGTCGTTGCCAGTCAGGCGATTG
+GCGATAAATGGTTGATTAGCGAAGGTCTGAAATCTGGCGATCAAGTCATTGTCAGCGGCCTACAAAAAGC
+GCGTCCGGGAGAGCAGGTTAAAGCCACTACCGATACCCCCGCAGATACTGCATCGAAGTAAGGCAATCTG
+ACATGGCAAACTTTTTTATTCGACGACCGATATTTGCATGGGTGCTGGCCATTATTCTGATGATGGCGGG
+CGCACTGGCGATCCTACAATTGCCCGTCGCCCAGTATCCAACCATTGCACCGCCTGCGGTTTCTGTTTCA
+GCAAACTATCCGGGCGCTGATGCGCAGACCGTGCAGGATACGGTGACGCAGGTTATCGAACAGAATATGA
+ACGGTATCGATAACCTGATGTATATGTCCTCCACCAGCGATTCCGCCGGTAGCGTGACAATTACCCTTAC
+CTTCCAGTCCGGGACCGATCCTGATATCGCGCAAGTACAGGTGCAGAACAAACTCCAGCTCGCCACGCCG
+TTGCTGCCGCAGGAGGTTCAGCAGCAGGGGATCAGTGTTGAAAAGTCCAGTAGCAGCTATTTGATGGTGC
+CGGGCTTTGTCTCTGATAACCCTGGCACCACACAGGACGATATCTCGGACTATGTGGCCTCTAACGTTAA
+AGATACGCTTAGCCGTCTGAATGGCGTCGGTGACGTACAGCTTTTCGGCGCACAGTATGCGATGCGTATC
+TGGCTGGACGCCGATCTGCTAAACAAATATAAACTGACACCGGTTGATGTGATTAACCAGTTGAAGGTAC
+AGAACGATCAGATCGCTGCCGGACAGTTGGGCGGAACGCCAGCGTTACCAGGGCAACAGTTGAACGCCTC
+GATTATTGCTCAGACGCGGTTAAAAAATCCGGAAGAATTCGGCAAAGTGACCCTGCGCGTAAACAGTGAC
+GGCTCGGTGGTGCGTCTGAAAGATGTCGCACGGGTTGAACTTGGCGGTGAAAACTATAACGTTATCGCTC
+GCATCAACGGAAAACCGGCGGCGGGCCTGGGGATTAAGCTGGCAACCGGCGCGAATGCTCTCGATACCGC
+GAAAGCCATTAAGGCAAAACTGGCGGAATTACAGCCATTCTTCCCGCAGGGAATGAAGGTTCTTTACCCT
+TATGACACCACGCCTTTCGTCCAGCTTTCTATCCAGGAAGTGGTGAAAACGCTGTTCGAAGCCATTATGC
+TGGTGTTCCTGGTGATGTATCTGTTCTTGCAGAACATGCGGGCAACATTGATACCCACCATTGCTGTACC
+TGTCGTGTTGTTAGGGACATTTGCCATACTCGCCGCTTTTGGTTACTCCATCAATACGCTAACGATGTTT
+GGGATGGTACTTGCCATCGGACTTCTTGTTGATGATGCGATAGTCGTTGTGGAGAACGTCGAGCGCGTAA
+TGATGGAGGATAAACTCCCCCCCAGAGAAGCGACGGAAAAATCGATGTCGCAAATCCAGGGCGCGCTGGT
+AGGTATCGCGATGGTACTGTCGGCGGTATTTATTCCGATGGCATTCTTCGGTGGCTCAACAGGGGCAATT
+TATCGCCAGTTCTCTATCACTATTGTTTCAGCAATGGCGCTTTCAGTACTGGTTGCGCTGATTCTCACCC
+CCGCGTTATGTGCAACATTGCTGAAACCAGTCTCTGCCGAGCATCACGAAAATAAGGGAGGATTCTTCGG
+CTGGTTTAACACCACTTTCGATCATAGCGTTAATCACTACACCAATAGCGTTGGCAAAATCCTCGGTTCC
+ACAGGGCGATATTTACTGATCTATGCGCTGATTGTTGCAGGAATGGTGGTGTTGTTTTTACGTCTTCCGT
+CTTCCTTCTTACCTGAAGAGGATCAGGGTGTCTTTCTGACCATGATTCAGTTACCCGCTGGCGCGACGCA
+AGAGCGGACGCAAAAAGTGTTGGATCAAGTGACGGATTACTATCTGAAGAACGAGAAAGCGAACGTTGAA
+AGTGTCTTTACAGTTAACGGCTTTAGCTTCAGCGGCCAGGCACAAAACGCCGGTATGGCCTTCGTCAGTC
+TGAAACCGTGGGAAGAGCGTAGTGGTGACGAAAACAGTGCGGAAGCAGTAATCCATCGTGCCAAAATGGA
+ATTGGGCAAGATCCGCGACGGTTTTGTCATTCCATTTAATATGCCAGCCATTGTTGAACTAGGCACGGCA
+ACGGGTTTCGACTTTGAGTTAATTGATCAGGCTGGGCTGGGTCACGATGCCCTGACCCAGGCCCGTAACC
+AGTTGCTTGGCATGGCGGCGCAACATCCTGCCAGCTTAGTCAGCGTGCGCCCTAATGGCCTGGAAGACAC
+CGCGCAGTTTAAACTGGAAGTTGACCAGGAAAAGGCGCAGGCATTAGGTGTTTCACTTTCTGACATCAAT
+CAGACCATTTCAACGGCGTTGGGTGGGACTTACGTTAACGACTTCATCGACCGTGGTCGCGTGAAAAAGG
+TGTATGTTCAGGCGGATGCCAAATTCCGTATGCTGCCAGAAGATGTCGATAAACTTTATGTCCGCAGCGC
+CAACGGCGAAATGGTGCCATTCTCTGCCTTTACCACTTCACATTGGGTGTATGGCTCTCCGCGACTGGAA
+CGCTACAACGGTCTGCCGTCAATGGAGATTCAGGGGGAAGCCGCGCCAAGAACCAGTTCCGGCGATGCTA
+TGGCGTTGATGGAAAACCTTGCGTCAAAATTACCGGCGGGCATTGGTTATGACTGGACGGGTATGTCATA
+TCAGGAACGTTTATCGGGAAACCAGGCTCCCGCTCTGGTAGCAATTTCCTTTGTGGTTGTTTTCCTGTGC
+CTTGCTGCACTCTATGAAAGCTGGTCAATTCCTGTCTCGGTTATGTTGGTCGTGCCGTTAGGGATTGTCG
+GCGTGCTACTGGCGGCAACACTCTTTAATCAAAAAAATGACGTCTACTTTATGGTGGGCTTGCTAACGAC
+AATTGGCTTGTCGGCCAAAAACGCTATTTTGATTGTTGAGTTCGCTAAAGATCTCATGGAGAAAGAGGGT
+AAAGGTGTTGTTGAAGCGACACTAATGGCAGTACGTATGCGTCTGCGTCCTATCCTGATGACCTCTCTCG
+CCTTTATTCTCGGCGTATTACCGCTGGCTATCAGTAACGGGGCCGGCAGTGGCGCGCAAAACGCAGTCGG
+TATCGGGGTAATGGGCGGAATGGTCTCTGCAACGTTGCTGGCAATCTTCTTCGTGCCAGTGTTCTTTGTG
+GTGATCCGTCGATGCTTTAAAGGATAAATCAGAAACATAAAGGCGCTTTCAGGCGCCTTTTTTATTTTCA
+GTGAACCCCATAAAAATTAATAAGATATTCTTCTTCTCACTCTTTAAAAACTTTCTATAGTTCCCGCTCC
+CTTCACTATTTTTACAATTCACATAAATTGTCATTATTCATTCCGCAAGATTTATAACCTCCAGTGATAA
+AATGGCATTCAGCTCGTTAATAAGAGAGTTAACTTATTAAGCGTTAGCGTTTATTACTGAGGTAACACCA
+TGAAAAGATTAATTCCTGTGACATTGCTCACCGCATTGCTGGCGGGCTGTGCTCACGATTCGCCCTGCGT
+TCCGGTTTATGACGATCAGGGTCGTCTGGTTCACACCAATACCTGTATGAAAGGCACGACTCAGGATAAC
+TGGGAAACGGCTGGGGCTATTGCCGGCGGGGCAGCAGCTGTTGCTGGCCTGACGATGGGGATCATCGCTC
+TGTCGAAATAACTAAACAGGGCGCGGAGCTCCGCGCTCTTTTTAACGATACAGTATCTTTCCATAAGATA
+AAATATTGCTATATTCTGCTGGGTAATTCCCTGCTGATTTAGCATGTTATATCACGTTATTTCGCTGCTT
+TCGAAATAACGCATCAATTTAACTTTCACACATCCCACCAGAAATATACTCACGCTAACAATCATTATTC
+TGCTTAGTAAAAAACGCGTAAATATTTTGCGCCAAAATGTGGCGCATGTTTCATTTTCGCACCATTGCGG
+GGCGCTGTTTTTATTATTTCCTGTCTACACTCAGCTTATTGCGACGCGAAATCGTGCGCAAAAGCTGGCA
+CTACTTTTGCTTATAAGAGGATGGCCACAGACAGGTAAAAGACGTTTCCCAAACGTCCTATAACGATAAT
+TTTCGCCTCACAGGAAGCATTATGAAAAAGATGATGATAGCCACACTGGCTGCCGCCAGCGTGCTGCTTG
+CCGTTGCAAATCAGGCGCATGCTGGCGCGACGCTTGATGCCGTTCAGAAAAAAGGTTTTGTGCAATGCGG
+GATCAGTGATGGATTACCTGGGTTCTCTTATGCCGATGCTGACGGTAAGTTTTCAGGTATTGATGTAGAT
+GTTTGTCGTGGCGTTGCCGCTGCTGTATTCGGTGACGATACGAAAGTGAAATATACCCCGCTCACTGCAA
+AAGAACGCTTCACCGCTTTACAGTCAGGGGAGGTGGATTTGCTCTCCCGTAATACGACCTGGACTTCATC
+TCGCGATGCCGGGATGGGAATGGCATTTACTGGCGTCACTTATTACGACGGCATTGGCTTCCTGACGCAC
+GATAAAGCGGGGCTAAAAAGCGCGAAAGAACTGGATGGCGCTACCGTCTGTATTCAGGCGGGGACTGATA
+CCGAACTCAACGTCGCCGATTACTTCAAGGCAAATAATATGAAGTACACGCCAGTAACCTTCGATCGCTC
+AGACGAATCAGCGAAGGCTCTGGAATCTGGCCGCTGCGATACTCTGGCCTCGGATCAATCACAACTGTAT
+GCCCTGCGCATCAAATTAAGCAACCCAACTGAATGGATTGTCTTACCGGAAGTTATCTCTAAAGAACCAC
+TTGGGCCGGTAGTTCGTCGTGGCGATGATGAATGGTTCTCGATTGTACGCTGGACGCTTTTCGCCATGCT
+GAATGCTGAAGAGATGGGCATCAATTCCCAGAACGTCGATGAAAAAGCGGCTAATCCAGCAACGCCTGAT
+ATGGCACATCTGCTGGGTAAAGAAGGCGATTACGGCAAGGATCTGAAGCTGGATAATAAATGGGCCTTTA
+ACATCATCAAACAGGTGGGTAACTACTCGGAAATTTTCGAGCGTAACGTAGGTTCAGAAAGCCCGCTGAA
+AATTAAACGTGGGCAAAATAATCTCTGGAATAATGGCGGTATTCAGTACGCGCCGCCCGTGCGTTAAGTC
+GGTGTGAGGTAACGAGCGTCGCTACGGCGGCGCTCTCTTCAGCGTTATGCTTTCCGAGGTTTCTATGTCT
+CATCGCCGCTCAACCGTTAAAGGCTCACTCTCTTTTGCCAACCCTACGGTTCGCGCCTGGTTATTCCAGA
+TCCTTGCCGTTGTTGCTGTTGTCGGCATTATTGGTTGGTTATTTCACAACACTGTAACGAATCTCAGTAA
+TCGCGGCATAACATCAGGATTTGCTTTTCTTGACCGCGGGGCCGGTTTTGGCATCGTTCAGCATTTGATT
+GATTATCAGCAAGGCGACACTTACGGACGCGTTTTTATTGTCGGCCTGCTCAATACGCTACTGGTTTCTG
+CATTGTGTATTGTGTTCGCTTCTGTTTTGGGCTTCTTTATCGGTCTGGCGAGACTTTCGGATAACTGGCT
+GCTACGAAAGCTTTCCACAATTTATATTGAGATCTTCCGTAATATTCCGCCATTGCTGCAAATCTTCTTC
+TGGTACTTTGCCGTGTTGCGTAATTTGCCCGGGCCACGCCAGGCAGTGAGCGCACTGGATTTGGTGTTTC
+TGAGCAATCGTGGGCTTTATATTCCGTCGCCGCAGCTGGGAGATGGGTTTCTTGCGTTTATCCTGGCTGT
+TGTTATAGCTATAGTCCTTTCTGTTGGGCTATTCCGCTTTAATAAAACACACCAGATAAAGACCGGACAA
+CTGCGCCGCACCTGGCCGATCGCCGCAGTGTTGATCATAGGTTTGCCTTTACTGGCGCAATGGCTTTTTG
+GCGCAGCACTACACTGGGATGTCCCAGCCTTACGAGGCTTTAACTTCCGTGGCGGGATGGTTTTAATTCC
+TGAACTGGCAGCCTTAACGCTGGCACTTTCGGTTTATACCTCTGCATTTATCGCCGAGATTATCCGCGCT
+GGGATCCAGGCAGTGCCTTATGGTCAACATGAAGCGGCTCGGTCACTGGGATTACCCAATCCGGTTACGC
+TACGCCAGGTCATTATTCCCCAGGCACTGCGAGTGATCATTCCGCCGTTAACCAGCCAGTATCTCAACAT
+CGTCAAAAACTCCTCTCTTGCCGCCGCTATTGGCTATCCGGATATGGTTTCGCTGTTTGCTGGCACCGTG
+CTGAACCAGACGGGGCAAGCCATCGAGACGATAGCCATGACCATGTCGGTCTATCTGATTATCAGCCTGA
+CTATCTCGCTGCTGATGAATATCTATAACCGCCGCATCGCGATCGTTGAACGCTAAGGAGTCATGATGAC
+AAAAGTATTGCTGTCTCATCCCCCGCGCCCGGCGAGCCATAACTCAAGCCGCGCGATGGTGTGGGTGCGA
+AAAAATCTGTTCTCCAGCTGGAGCAATAGCCTGCTGACTATTGGCTGCATATGGTTGATGTGGGAACTGA
+TCCCACCGTTGCTGAACTGGGCATTTTTGCAGGCTAACTGGGTTGGCTCAACGCGTGCCGACTGCACAAA
+AGCCGGTGCCTGTTGGGTCTTCATCCACGAACGATTTGGTCAGTTTATGTATGGGCTTTACCCACACGAC
+CAACGCTGGCGAATTAACCTCGCATTACTGATTGGGCTTGTGTCGATCGCACCAATGTTCTGGAAAATAC
+TCCCGCATCGCGGTCGCTATATTGCGGTATGGGCGGTGATTTACCCACTGATTGTCTGGTGGCTGATGTA
+TGGAGGGTTTCTTGGTCTTGAGCGGGTTGAAACCCGGCAATGGGGCGGGCTGACGCTAACTTTAATTATT
+GCATCAGTTGGGATTGCGGGGGCGCTGCCGTGGGGGATCTTACTGGCGTTAGGTCGCCGCTCCCATATGC
+CGATTGTGCGTATCTTATCGGTCATTTTTATCGAGTTCTGGCGCGGCGTACCGCTGATTACCGTATTGTT
+TATGTCTTCGGTCATGCTGCCGTTGTTTATGGCAGAAGGCACCAGTATCGACAAACTGATCCGCGCGCTG
+GTTGGCGTGATCCTGTTTCAGTCAGCATATGTTGCGGAAGTCGTGCGAGGCGGATTGCAGGCGCTGCCTA
+AAGGGCAATATGAAGCGGCAGAGTCGCTGGCATTGGGTTACTGGAAAACTCAGGGGCTGGTTATTCTGCC
+ACAGGCGTTGAAGCTGGTAATTCCTGGGCTGGTAAATACCATCATCGCACTCTTCAAAGATACCAGTCTG
+GTGATCATCATCGGGTTGTTCGATCTTTTCAGTAGCGTTCAGCAGGCAACCGTTGATCCCGCCTGGTTGG
+GTATGTCGACGGAAGGGTATGTTTTCGCCGCGCTGATCTACTGGATCTTCTGTTTCAGCATGTCACGTTA
+TAGCCAACATCTGGAAAAACGTTTTAACACCGGGCGTACACCGCATTGAGGACACTATGAGCCAAATTTT
+ACTGCAACCTGCTAACGCGATGATTACGCTGGAAAACGTCAATAAATGGTATGGACAATTCCATGTTTTG
+AAAAATATAAATTTAACCGTGCAACCGGGCGAACGGATCGTTCTATGTGGCCCTTCAGGTTCCGGTAAAT
+CGACAACCATTCGTTGTATTAATCATCTGGAAGAACATCAACAGGGACGGATCGTGGTAGATGGCATCGA
+ACTTAATGAAGATATCCGCAATATTGAGCGCGTCAGGCAGGAAGTGGGAATGGTCTTTCAGCATTTCAAT
+CTCTTCCCTCATCTGACCGTGTTACAGAACTGTACCCTGGCACCGATTTGGGTACGCAAGATGCCAAAGA
+AAGAGGCTGAAGCTCTGGCGATGCATTACCTTGAGCGGGTGAGAATTGCCGAACATGCCCAGAAGTTTCC
+CGGACAGATTTCTGGTGGTCAGCAGCAACGTGTTGCCATAGCACGTTCGCTGTGTATGAAGCCGAAAATT
+ATGTTGTTTGATGAGCCAACGTCGGCGCTCGATCCTGAGATGGTGAAAGAGGTGCTGGATACGATGATTG
+GGCTGGCGCAGTCGGGTATGACAATGTTGTGTGTAACACATGAGATGGGGTTTGCACGAACCGTCGCTGA
+CCGGGTGATTTTTATGGATCGTGGGGAAATAGTGGAGCAAGCTGCGCCTGATGAATTTTTTGCGCATCCT
+AAATCAGAGCGTACGAGGGCATTTTTATCGCAGGTAATCCATTAATTGAATGTTAGTTCGAAAAGCAAAA
+AGGCCATCCTTTCGGATGGCCTTTCGCTTGATTTGATGTCTGGCAGTTCCCTACTCTCGCATGGGGAGAC
+CCCACACTACCATCGGCGCTACGGCGTTTCACTTCTGAGTTCGGCATGGGGTCAGGTGGGACCACCGCGC
+TAAGGCCGCCAGACAAATTCTTTTCTAATCTGCCGAACTTTAACCTAAAAAGTGGTGCTGATACCCAGAG
+TCGAACTGGGGACCTCACCCTTACCAAGGGTGCGCTCTACCAACTGAGCCATATCAGCACGCTTAATTTG
+ATGCCTGGCAGTTCCCTACTCTCGCATGGGGAGACCCCACACTACCATCGGCGCTACGGCGTTTCACTTC
+TGAGTTCGGCATGGGGTCAGGTGGGACCACCGCGCTAAGGCCGCCAGGCAAATTCTGTTTCATTAACCCG
+CTTGTCGCCGGTTAATCTAATCTGTATCAGGCTGAAAATCTTCTCTCATCCGCCAAAACATCTTCGGCGT
+TGTAAGGTTAAGCCTCACGGTTCATTAGTACCGGTTAGCTCAACGCATCGCTGCGCTTACACACCCGGCC
+TATCAACGTCGTCGTCTTCAACGTTCCTTCAGGAGACTCTAAGTCTCAGGGAGAACTCATCTCGGGGCAA
+GTTTCGTGCTTAGATGCTTTCAGCACTTATCTCTTCCGCATTTAGCTACCGGGCAGTGCCATTGGCATGA
+CAACCCGAACACCAGTGATGCGTCCACTCCGGTCCTCTCGTACTAGGAGCAGCCCCCCTCAGTTCTCCAG
+CGCCCACGGCAGATAGGGACCGAACTGTCTCACGACGTTCTAAACCCAGCTCGCGTACCACTTTAAATGG
+CGAACAGCCATACCCTTGGGACCTACTTCAGCCCCAGGATGTGATGAGCCGACATCGAGGTGCCAAACAC
+CGCCGTCGATATGAACTCTTGGGCGGTATCAGCCTGTTATCCCCGGAGTACCTTTTATCCGTTGAGCGAT
+GGCCCTTCCATTCAGAACCACCGGATCACTATGACCTGCTTTCGCACCTGCTCGCGCCGTCACGCTCGCA
+GTCAAGCTGGCTTATGCCATTGCACTAACCTCCTGATGTCCGACCAGGATTAGCCAACCTTCGTGCTCCT
+CCGTTACTCTTTAGGAGGAGACCGCCCCAGTCAAACTACCCACCAGACACTGTCCGCAACCCCGATTAGG
+GGCCAACGTTAGAACATCAAACATTAAAGGGTGGTATTTCAAGGTCGGCTCCATGCAGACTGGCGTCCAC
+ACTTCAAAGCCTCCCACCTATCCTACACATCAAGGCTCAATGTTCAGTGTCAAGCTATAGTAAAGGTTCA
+CGGGGTCTTTCCGTCTTGCCGCGGGTACACTGCATCTTCACAGCGAGTTCAATTTCACTGAGTCTCGGGT
+GGAGACAGCCTGGCCATCATTACGCCATTCGTGCAGGTCGGAACTTACCCGACAAGGAATTTCGCTACCT
+TAGGACCGTTATAGTTACGGCCGCCGTTTACCGGGGCTTCGATCAAGAGCTTCGCGTTACCGCTAACCCC
+ATCAATTAACCTTCCGGCACCGGGCAGGCGTCACACCGTATACGTCCACTTTCGTGTTTGCACAGTGCTG
+TGTTTTTAATAAACAGTTGCAGCCAGCTGGTATCTTCGACTGATTTCAGCTCCACGAGCAAGTCGCTTCA
+CCTACATATCAGCGTGCCTTCTCCCGAAGTTACGGCACCATTTTGCCTAGTTCCTTCACCCGAGTTCTCT
+CAAGCGCCTTGGTATTCTCTACCTGACCACCTGTGTCGGTTTGGGGTACGATTTGATGTTACCTGATGCT
+TAGAGGCTTTTCCTGGAAGCAGGGCATTTGTCACTTCAGCACCGTAGTGCCTCGTCATCACGCCTCAGCC
+TTGGTTTTCCGGATTTGCCTGGAAAACCAGCCTACACGCTTAAACCGGGACAACCGTCGCCCGGCCAACA
+TAGCCTTCTCCGTCCCCCCTTCGCAGTAACACCAAGTACAGGAATATTAACCTGTTTCCCATCGACTACG
+CCTTTCGGCCTCGCCTTAGGGGTCGACTCACCCTGCCCCGATTAACGTTGGACAGGAACCCTTGGTCTTC
+CGGCGAGCGGGCTTTTCACCCGCTTTATCGTTACTTATGTCAGCATTCGCACTTCTGATACCTCCAGCAA
+CCCTCACAGGCCACCTTCACAGGCTTACAGAACGCTCCCCTACCCAACAACACATAGTGTCGCTGCCGCA
+GCTTCGGTGCATGGTTTAGCCCCGTTACATCTTCCGCGCAGGCCGACTCGACCAGTGAGCTATTACGCTT
+TCTTTAAATGATGGCTGCTTCTAAGCCAACATCCTGGCTGTCTGGGCCTTCCCACATCGTTTCCCACTTA
+ACCATGACTTTGGGACCTTAGCTGGCGGTCTGGGTTGTTTCCCTCTTCACGACGGACGTTAGCACCCGCC
+GTGTGTCTCCCGTGATAACATTCTCCGGTATTCGCAGTTTGCATCGGGTTGGTAAGTCGGGATGACCCCC
+TTGCCGAAACAGTGCTCTACCCCCGGAGATGAATTCACGAGGCGCTACCTAAATAGCTTTCGGGGAGAAC
+CAGCTATCTCCCGGTTTGATTGGCCTTTCACCCCCAGCCACAAGTCATCCGCTAATTTTTCAACATTAGT
+CGGTTCGGTCCTCCAGTTAGTGTTACCCAACCTTCAACCTGCCCATGGCTAGATCACCGGGTTTCCGGGT
+CTATACCCTGCAACTTAACGCCCAGTTAAGACTCGGTTTCCCTTCGGCTCCCCTATTCGGTTAACCTTGC
+TACAGAATATAAGTCGCTGACCCATTATACAAAAGGTACGCAGTCACCCCATTAAGAGGCTCCCACTGCT
+TGTACGTACACGGTTTCAGGTTCTTTTTCACTCCCCTCGCCGGGGTTCTTTTCGCCTTTCCCTCACGGTA
+CTGGTTCACTATCGGTCAGTCAGGAGTATTTAGCCTTGGAGGATGGTCCCCCCATATTCAGACAGGATAC
+CACGTGTCCCGCCCTACTCATCGAGCTCACAGCATGTGCATTTTTGTGTACGGGGCTGTCACCCTGTATC
+GCGCGCCTTTCCAGACGCTTCCACTAACACACACACTGATTCAGGCTCTGGGCTCCTCCCCGTTCGCTCG
+CCGCTACTGGGGGAATCTCGGTTGATTTCTTTTCCTCGGGGTACTTAGATGTTTCAGTTCCCCCGGTTCG
+CCTCATTAACCTATGGATTCAGTTAATGATAGTGTGTCGAAACACACTGGGTTTCCCCATTCGGAAATCG
+CCGGTTATAACGGTTCATATCACCTCACCGACGCTTATCGCAGATTAGCACGTCCTTCATCGCCTCTGAC
+TGCCAGGGCATCCACCGTGTACGCTTAGTCGCTTAACCTCACAACCCGAAGATGTTTCTTTCGATTCATC
+ATCGTGTTGCGAAAATTTGAGAGACTCACGAACAACTTTCGTTGTTCAGTGTTTCAATTTTCAGCTTGAT
+CCAGATTTTTAAAGAGCAAATATCTCAAACATCACCCGAAGATGAGTTTTGAGATATTAAGGCAGGTGAC
+TTTCACTCACAAACCAGCAAGTGGCGTCCCCTAGGGGATTCGAACCCCTGTTACCGCCGTGAAAGGGCGG
+TGTCCTGGGCCTCTAGACGAAGGGGACGTATCAGTCTGCTTCGCAAGACGCCTTGCTTTTCACTTTCTAT
+CAGACAATCTGTGTGAGCACTGCAAAGTACGCTTCTTTAAGGTAAGGAGGTGATCCAACCGCAGGTTCCC
+CTACGGTTACCTTGTTACGACTTCACCCCAGTCATGAATCACAAAGTGGTAAGCGCCCTCCCGAAGGTTA
+AGCTACCTACTTCTTTTGCAACCCACTCCCATGGTGTGACGGGCGGTGTGTACAAGGCCCGGGAACGTAT
+TCACCGTGGCATTCTGATCCACGATTACTAGCGATTCCGACTTCATGGAGTCGAGTTGCAGACTCCAATC
+CGGACTACGACGCACTTTATGAGGTCCGCTTGCTCTCGCGAGGTCGCTTCTCTTTGTATGCGCCATTGTA
+GCACGTGTGTAGCCCTGGTCGTAAGGGCCATGATGACTTGACGTCATCCCCACCTTCCTCCAGTTTATCA
+CTGGCAGTCTCCTTTGAGTTCCCGGCCGGACCGCTGGCAACAAAGGATAAGGGTTGCGCTCGTTGCGGGA
+CTTAACCCAACATTTCACAACACGAGCTGACGACAGCCATGCAGCACCTGTCTCACGGTTCCCGAAGGCA
+CATTCTCATCTCTGAAAACTTCCGTGGATGTCAAGACCAGGTAAGGTTCTTCGCGTTGCATCGAATTAAA
+CCACATGCTCCACCGCTTGTGCGGGCCCCCGTCAATTCATTTGAGTTTTAACCTTGCGGCCGTACTCCCC
+AGGCGGTCGACTTAACGCGTTAGCTCCGGAAGCCACGCCTCAAGGGCACAACCTCCAAGTCGACATCGTT
+TACGGCGTGGACTACCAGGGTATCTAATCCTGTTTGCTCCCCACGCTTTCGCACCTGAGCGTCAGTCTTC
+GTCCAGGGGGCCGCCTTCGCCACCGGTATTCCTCCAGATCTCTACGCATTTCACCGCTACACCTGGAATT
+CTACCCCCCTCTACGAGACTCAAGCTTGCCAGTATCAGATGCAGTTCCCAGGTTGAGCCCGGGGATTTCA
+CATCTGACTTAACAAACCGCCTGCGTGCGCTTTACGCCCAGTAATTCCGATTAACGCTTGCACCCTCCGT
+ATTACCGCGGCTGCTGGCACGGAGTTAGCCGGTGCTTCTTCTGCGGGTAACGTCAATGAGCAAAGGTATT
+AACTTTACTCCCTTCCTCCCCGCTGAAAGTACTTTACAACCCGAAGGCCTTCTTCATACACGCGGCATGG
+CTGCATCAGGCTTGCGCCCATTGTGCAATATTCCCCACTGCTGCCTCCCGTAGGAGTCTGGACCGTGTCT
+CAGTTCCAGTGTGGCTGGTCATCCTCTCAGACCAGCTAGGGATCGTCGCCTAGGTGAGCCTTTACCCCAC
+CTACTAGCTAATCCCATCTGGGCACATCCGATGGCAAGAGGCCCGAAGGTCCCCCTCTTTGGTCTTGCGA
+CGTTATGCGGTATTAGCTACCGTTTCCAGTAGTTATCCCCCTCCATCAGGCAGTTTCCCAGACATTACTC
+ACCCGTCCGCCACTCGTCAGCGAATCAGCAAGCTGATTCCTGTTACCGTTCGACTTGCATGTGTTAGGCC
+TGCCGCCAGCGTTCAATCTGAGCCATGATCAAACTCTTCAATTTAAAAGTTTGATGCTCAAAGAATTAAA
+CTTCGTAATGAATTACGTGTTCACTCTTGAGACTTGGTATTCATTTTTCGTCTTGCGACGTTAAGAACCC
+GTATCTTCGAGTGCCCACACAGATTGTCTGATAAATTGTTAAAGAGCAGTTGCGACCCGGCTTTCAGCTC
+ACTGTCGCGAGGTGGCGTATATTACGCTTTCCTCTTTCAGAGTCAACCCTGAATTTCAGGATTTTTTCTC
+TTTGTTGTTACGACCATCTTGTGAAGTGTTTCACGTTGTCGTCTCAACGGAGGCGCATTATAGGGATCCC
+AATTTTTTGCACAAGTACTTTTTTGATCTTTTTTTCTGTTTGTTGCTTTTTCACCCTTTTTGCTGCATTC
+GCACACAAAACGGTGCTTTTTTGCATGCTAAAAGACTTGCACAAGGCCAATAATGCACCCAAAGTCATTA
+GTAAATCATTTATTGTTGAGGTAATTATGTCTGATGTTTTACGCCCATACCGCGATCTTTTTCCACAAAT
+CGGTCAGCGCGTAATGATCGACGATAGCAGCGTCGTGATTGGTGACGTTCGTCTGGCTGATGATGTGGGG
+ATCTGGCCACTCGTTGTGATTCGTGGAGATGTACATTATGTACAGATCGGAGCACGCACCAATATCCAGG
+ATGGCAGTATGTTGCATGTCACTCATAAATCCTCGTACAACCCAGCTGGCAACCCATTAACCATTGGCGA
+AGATGTCACTGTTGGTCACAAGGTGATGCTCCACGGCTGCACCATTGGCAATCGAGTTTTGGTTGGGATG
+GCATCAATTTTACTTGATGGTGCAATAGTAGAAGATGATGTGATGATTGGTGCGGGTAGCCTGGTCCCAC
+AAAATAAACGGCTGGAGAGCGGATATCTGTATCTCGGTAGCCCCGTCAAACAGATCCGCCCGTTAAGTGA
+TGAAGAGAAGGCCGGGTTACGCTATTCCGCGAATAACTACGTGAAATGGAAGGACGAATATCTGGATCAA
+GGTAACCAGACCCAACCTTGATCATCTTCACTTTGTTCCTGAATTAAGTTTTCCGCTTCATCTTCCAGGT
+CCCAGCGATGCTGACGAAAACTCGCTAACCACTGTTCTGGCGTATCTCCAGTAAAGCGATACGCCAGACT
+CTCGCCAGAGATCGCACATGTCAGTTGCATACCATTCACGAGAGCGGGAAAACATACACATTTTTTACTC
+TCGTTCCACTCTTCCCTATCCGGAAACTGGATGGCCTGATTCACGCTGACAACTCCTGTTGCAATAGTTT
+GATGACCGGTTCTACATCAGGCAGAACGCCATGCCAAAGAAGGAAGGCATGAGCCGCTTGTGCCACCAGC
+ATTCCTAAACCATCAGCAGTACGCTTTGAGCCTCGCTGCTCACACCATGCCAGAAAAGGAGTTTTTCCTT
+TCTGATAGAACATGTCATAGCAATAAATGCCTGGATGAATGAGCGATGACGGGATCGCCGGAATATCACC
+ACTGATGCCACTGGATGTTGCATTAATAATGAGATCAAACTCATGACCTTCCAGTTCGTCCATACCCAAC
+GCGTGAATACTGCCAGTGTGCGCAAACAATTTAGCCAACTCTTCCGCGCGGGATACCGTCCGATTAGTGA
+TTGTCACCGCACAGTCCAGGGAAAGGAGTGGCAGTAGTACGCCGCGAGATGCTCCACCAGCGCCAATGAG
+CAGAATACGTAAACCTGGACGGATAAAAGACAGACGTTCCAGATCGCTTAACAAACCTATACCATCGGTA
+TTGTCACCCAGCAGGCGTCCATCTTCTAACCGCTTGAGGGTATTAACAGCACCAGCCAACGCTGCCCGTT
+CAGTAAGCTCATCCGCTCTGGCAAAAGCCTCTTCTTTAAAAGGTACCGTCACATTCGCACCTTTACCACC
+AGCACTAAAGAAAGCGTTCAGAGTGTTGATGAAATCATTGATGGGTGCCAACACGCGCCCATAGGGATGT
+TCAATATTCAGTTGCTGAGCAAATTGCTGATGAATGAATGGCGATTTGCTGTGGGCTATCGGATTACCAA
+AAACAGCATAGGTTTCCATTATGTTACCCCTGTCGAAACAGTTCACCCGTCAGGGCATCGCGGATTTCTG
+AAGGATTTAAACGCCCCCCCGTTTCACCAGGCACAACCGGGAACGCCGCGCCAAATTGTGCGCGAACTTC
+GTCTACTGTTCGACAAGGTGGCAATCCACTCAAGTTGGCACTGGTAGAAACCAGCGGTTTACCATAAGCC
+TGGCACAAAGCAACCACCAACGGATGGTCGGTGACTCGTACAGCAAGCGAATCAAAGCGGCCCGTCAACC
+AGCGCGGTGTTGTCGCAGGCGCGGGAAAAACAAAGGTGACAGGACCTGGCCAGCGAGAAAATATAGTTTC
+ACGCTGCGCGTCAGTCAGCATGGTGTCATCAATATAGGGTTTAAGCTGCTCGTAATTTGCGGCGATTAGA
+ATCAGCCCCTTATCAACCGGACGCTGTTTTAACTCCAACAGTCGCATCACTGCTGTTTCGCTATCAGGAT
+CGCACCCGACACCGAAAACGGCTTCCGTTGGATAGGCGATGACACGTTCTTCATTGAGGACATCTATCGC
+AGCTGCGATAGCGTCTCCTTGCAGGTTATTATTCACGTTATTATTCCGCCGAAACCGGCTTTCCACATTG
+TTTACTGGCACAAAAGTGTTTTACACCCTGCGCGGTTTTCTTTTCGATGAGTAGCGGATAATGACACTCA
+GGGCATTCTCCAGCTATGGGTTTGAAGTTAATGGCAAATTGACACTCCGGGTAGCGATCACAGGAGTGAA
+ACGTTTTGCCATAACGGGAGCGGCGCTGGACCAGATGGCCCGTCCGGCATTGGGGGCATGTAATTGCTGT
+TTCGTCCGGTTTATCGATAAGTTCGGTATGTTCGCATTCAGGGTAGTTACTGCAACCAATAAACATACCA
+AAGCGTCCCTGGCGTAATACCAGATTTGCGCCACATGCAGGGCAAACCTGCCCCTCCAGAACTTTGACAA
+TATGTCCATCCGCTGAAGATTTCAGAGGACGGACGTAGTCACACGCCGGATACTGTGAGCATCCAAGAAA
+CGGACCGTGTTTCCCGGATCGAATAACCAGTTCAGCCCCGCACTTTGGGCAGGACTCATTATTACGCACC
+GTGAACAGTGCTGATTTCGCCATAACAACTTATGCTGAATTAAAGAAATGATTAATGCAGCATACCTTCA
+TTCACTTCAAAGAGTAATTCTTCCATTTGCTGGTACGCATTTTCGCAGCCCGGAATATTGAACAACACCA
+TCAGGATTACCCATTTCAGGTCTTCCAGGTCGAACTCTGCGGTATCCAGCGCGAGCACTCGCTCTATCAC
+CATTTCACGGGTTTCAAGGTTAAGCACCTGAATTTGCTCAAGGAAAAGCAGAAAACCACGACAGCTGGCA
+TCCAGCCTTTCACACTCTTCAGGGGTATAAATACGCATGGAGAGTGGATCAGAGGCCAGTTGCATCGGTT
+CTGCCAGTCCTTCCTGATAATCCGCAAGCTTTTCCAGCCAAAGCAGGGCATTGTAGATATCTTCTCGATC
+AAATCCTGCGTCGGTAAGATCCTGTTCAAGTTTGTCTTGATCCACACGCAACTCAGCTTCTGTGTGAATA
+TAGGTTTCAAACAAATACATTAGTACGTCGAACATGGCATGCCCTCCTCAATCGGACATAGCCGCCGGGT
+ACAGCTGCGATCCATCCTGCTAACTCCAGTTCGAGTAGTTGAGTAACTACCTCTGGCACAGGTTGGCCGG
+CACGTTCAGCGACGACGTCAACAGGTGTTACCTCATCTCCTACGTTAGCCAGGAGCTCAGGAAATGGCAA
+TGCCACGTCTTCCTGATCTGGTGAATAAAATGAATTTTCAGGGGCGTCTGGCAACCAGTGCAATCCAAAT
+TGCAAGTTTTCCAGAATTTCTTCCGGTTCCGTCACAAGAATCGCACCTTGTTTTATTAACCAGTGAGGCC
+CTTCGCTTCCCGGATTCCCTATTGGACCTGGCAAAGCAAAAACTTCACGCCCCTGCTCAAGCGCACAACG
+TGCTGTCACCAGCGAACCACTGCGCAAAGCCGCTTCCACCACCAGTACACCTTTACTTAGGCCACTGATA
+ATGCGATTTCTTCGTGGGAAATTGTAAGCAAGGGGTGGAACATCGAGGGGAAATTCCGAGACGAGAGCAC
+CACCTTGCTCAAGTAGACTGGCAGCCAGTGGAGCATGGCGGCGGGGATGAATGGTATTAAGTCCATTCCC
+CAATACAGCAATGCTAACGCCATTTACCTGTAAGGCCGCTTTATGCGCCACACCATCGATTCCACGCGCC
+AGTCCACTCGTAATTGTCACTCCACGCGTCGCCAGAGTTTCGCAAAATAATCGTCCCCATCGCTCGCCAT
+ACCATGAATGCGCCCGACTCCCCACTACGGCAAGCTGAAATGAATGCAACGCGTGCAGTTCTCCTTCAAC
+AAACAGTGCGCCGGGGTAATCTGTCGTCGCCAGAAGTTGAGGAGGATAAAATTCGCTGTCCGCAGGGATT
+AAATGATGGTTGGGTTGCTCCAACCAACAAAGTGAGCTTTCGATACTCTTTCGCGGAAATGAAAGAAAGC
+GTTGTGCCTGCCGCAATGTAAGCCCTGTTTGCTGCAATACAACCGCATCAATATGCGACTGTTTTGCCAG
+CCAGTGAGCTATACGGACCATATCATCGCCATACAAGCTGCTGATGCTCATTAAACGCAGCCAAATTTCT
+GTATCGACCATCCTTATCTCCCTGCCATAAGCAGCCTTAGCAATCTTTGCGATTGGTCAGTGATGCTGTC
+AATCAGAGGGGGATTTGTCTAGAATAGAAGAAATAATCTTTCTAACTCCTGAACACATCTCTGGAGATTT
+ATGTCAGTTTTGCAAGTGTTACATATTCCGGACGAGCGGCTTCGCAAAGTTGCTAAACCGGTAGAAGAAG
+TGAATGCAGAAATTCAGCGTATCGTCGATGATATGTTCGAGACGATGTACGCAGAAGAAGGTATTGGCCT
+GGCGGCAACCCAGGTTGATATCCATCAACGTATCATTGTAATTGATGTTTCGGAAAACCGTGACGAACGG
+CTGGTGTTAATCAATCCGGAGCTTTTAGAAAAAAGCGGCGAAACAGGCATTGAAGAAGGTTGCCTGTCGA
+TCCCTGAACAACGTGCTTTAGTGCCACGCGCAGAGAAAGTTAAAATTCGCGCCCTGGACCGCGACGGTAA
+ACCATTTGAACTGGAAGCAGACGGTCTGTTAGCCATCTGTATTCAGCATGAGATGGATCACCTGGTCGGC
+AAACTGTTTATGGATTATCTGTCACCGCTGAAACAACAACGTATTCGTCAGAAAGTTGAAAAACTGGATC
+GTCTGAAAGCCCGGGCTTAAGGATAAGAATTAACGTGTCAGAATCACTACGTATTATTTTTGCGGGTACA
+CCTGACTTTGCAGCGCGTCATCTCGACGCGCTGTTGTCTTCTGGTCATAACATCGTTGGCGTGTTTACCC
+AGCCAGACCGACCGGCAGGACGCGGTAAAAAACTGATGCCCAGCCCGGTTAAAGTTCAGGCTGAGGACAA
+AGGTCTGCCCGTTTTTCAACCTGTTTCCCTGCGTCCACAAGAAAACCAGCAACTGGTCGCCGATCTGCAG
+GCTGATGTTATGGTCGTCGTCGCCTATGGTTTAATTCTGCCTAAAGCTGTGCTGGAGATGCCGCGTCTTG
+GCTGTATCAACGTTCATGGTTCACTGCTGCCACGCTGGCGCGGTGCTGCACCAATCCAACGCTCACTATG
+GGCGGGTGATGCAGAAACTGGTGTGACCATTATGCAAATGGATGTTGGTTTAGACACCGGTGACATGCTC
+TATAAGCTCTCCTGCCCGATTACTGCAGAAGATACCAGTGGTACGCTGTACGACAAACTGGCAGAGCTTG
+GCCCACAAGGGCTTATTACTACGTTGAAACAACTGGCAGACGGCACGGCGAAACCAGAAGTTCAGGACGA
+AACTCTTGTCACTTACGCCGAAAAGTTGAGTAAAGAAGAAGCGCGTATTGACTGGTCACTTTCGGCAGCA
+CAGCTTGAACGTTGCATTCGCGCTTTCAATCCATGGCCAATGAGCTGGCTGGAAATTGAAGGGCAGCCGG
+TTAAAGTCTGGAAAGCATCTGTCATCGATACGACAACAAAGGCTGCGCCAGGAACAATCCTTGAAGCCAA
+TAAACAAGGCATTCAGGTAGCGACAGGTGATGGCATCCTGAATCTGCTCTCAATGCAACCTGCAGGTAAG
+AAAGCGATGAGCGTGCAAGACCTCCTGAATTCTCGTCGGGAATGGTTTGTACCGGGCAACCGTCTGGCCT
+GATAGTCCACTCTTCTAAGCCCGGTCTTACCGGGCATCTTTATATTTATACTTATGAAAAAACAACGTAA
+TTTACGTAGCATGGCGGCCCAGGCCATTGAACAAGTCGTTGAGCAAGGGCAATCACTGAGCAACATTCTG
+CCACCGCTCCAGCAAAAAGTTTCCGATAAAGATAAAGCTCTTCTCCAGGAGTTATGCTTTGGCGTACTGC
+GTACGCTCTCACAGTTAGACTGGCTGATTAATAAGCTAATGGCCCGTCCGATGACAGGCAAACAGCGTAC
+TGTTCATTACCTGATTATGGTTGGTTTGTATCAACTGCTTTATACCCGCATTCCACCTCATGCCGCGCTG
+GCTGAAACGGTTGAAGGCGCAGTTGCAATTAAGCGCCCGCAACTTAAGGGATTGATTAACGGTGTATTAC
+GTCAGTTCCAGCGTCAGCAAGATGAGTTATTAGCCGAGTTTAATGCCAGTGATGCACGTTATCTGCATCC
+TTCCTGGTTGCTGAAGCGTCTGCAAAAGGCGTATCCCGAGCAGTGGCAATCCATCGTCGAAGCCAATAAC
+CAGCGTCCGCCAATGTGGCTGCGCGTTAATCGTACGCATCATTCCCGCGACAGCTGGCTTGCATTGCTGG
+ATGAAGCAGGAATGAAAGGTTTCCCGCATGCGGATTACCCTGATGCTGTACAGCTGGAAACACCTGCACC
+TGTTCATGCGCTACCCGGTTTTGAAGAAGGATGGGTTACCGTTCAGGATGCTTCAGCACAAGGTTGCATG
+ACCTGGCTTGCTCCACAAAATGGTGAACACATTCTGGATCTTTGCGCCGGCCCAGGCGGTAAAACAACGC
+ATATTCTTGAGGTTGCTCCAGAGGCGCAAGTTCTGGCGGTCGATATTGATGAGCAGCGCCTCTCTCGCGT
+TTACGACAATTTAAAACGCCTTGGTATGAAGGCGACCGTGAAACAAGGCGATGGCCGCTACCCTTCCCAA
+TGGTGTGGCGAGCAACAGTTCGATCGCATTTTATTAGATGCGCCTTGTTCAGCAACGGGGGTGATTCGTC
+GCCATCCGGATATTAAATGGTTACGTCGTGATCGCGATATCCCGGAACTCGCGCAATTGCAGTCTGAAAT
+TCTCGACGCCATCTGGTCGCATTTAAAATCCGGAGGAACCCTGGTCTATGCCACCTGTTCGGTGTTACCG
+GAAGAGAATAGCCTGCAGATTAAAGCCTTTTTGCAACGTACCGCTGATGCCGAACTTTGCGAAACAGGAA
+CACCAGAGCAACCGGGTAAACAAAATTTGCCCGGTGCCGAAGAGGGCGACGGCTTCTTTTACGCTAAGCT
+AATCAAAAAGTGATGAGATAACGGGTCGCGACTGATGAAAATTATCATTCTGGGTGCCGGCCAGGTTGGC
+GGCACACTGGCGGAAAACCTGGTTGGCGAGAACAACGATATTACTGTTGTCGATACCAACGGTGAGCGTC
+TGCGGACCTTACAGGATAAATTTGACCTGCGAGTCGTGCAGGGGCATGGCTCTCATCCACGCGTATTGCG
+GGAGGCAGGTGCCGACGACGCCGATATGCTGGTTGCTGTAACCAGTTCAGATGAAACCAATATGGTTGCC
+TGCCAGGTAGCCTACTCACTTTTCAACACCCCTAATCGCATCGCTCGTATCCGCTCACCAGACTACGTGC
+GCGATGCCGATAAGCTATTTCATTCAGATGCTGTTCCGATTGATCATCTGATCGCACCAGAGCAGTTGGT
+TATCGATAATATTTACCGACTGATTGAGTATCCCGGCGCATTGCAGGTGGTGAACTTCGCTGAGGGTAAA
+GTCAGCCTGGCTGTGGTTAAAGCCTATTATGGCGGCCCGCTGATTGGTAATGCACTTTCGACCATGCGCG
+AACATATGCCACATATCGATACTCGTGTGGCAGCAATTTTCCGCCACGATCGCCCCATTCGTCCGCAAGG
+TTCGACCATTGTTGAAGCTGGTGATGAAGTGTTCTTTATTGCCGCTTCACAGCATATCCGTGCGGTGATG
+AGTGAATTACAGCGACTGGAAAAACCGTATAAGCGGATCATGCTGGTTGGTGGCGGTAATATCGGTGCAG
+GGCTGGCGCGTCGTCTGGAAAAAGATTACAGCGTTAAACTCATCGAACGTAATCAGCAGCGCGCTGCCGA
+ACTGGCGGAAAAGTTGCAGAATACGATCGTCTTTTTTGGTGATGCGTCGGATCAAGAACTGCTGGCCGAA
+GAACATATCGATCAAGTTGATCTGTTTATTGCCGTCACCAACGATGACGAGGCCAATATCATGTCCGCCA
+TGCTTGCCAAACGTATGGGTGCGAAAAAGGTGATGGTATTGATCCAACGTCGCGCTTATGTGGATCTGGT
+TCAGGGGAGCGTGATCGATATTGCGATTTCACCACAACAAGCAACTATTTCTGCGTTGCTTAGCCATGTG
+CGAAAAGCAGATATTGTTGGTGTTTCCTCATTACGCCGCGGCGTAGCAGAAGCTATTGAAGCCGTTGCTC
+ACGGTGATGAAAGCACCTCACGCGTTGTCGGCAGAGTCATTGACGAAATCAAGCTACCGCCAGGAACGAT
+TATTGGAGCGGTGGTACGTGGAAACGATGTGATGATTGCCAATGACAATCTGCGCATTGAGCAAGGCGAT
+CACGTAATTATGTTCCTCACAGATAAAAAGTTTATTACCGACGTCGAAAGACTCTTCCAGCCAAGTCCTT
+TCTTCTTGTAATTAATAAGGCGTCTAATGACGCCTTATTATTTCCCTTTGATTATTAAGGATTAATTAAA
+TCCATTCCTGGCAGGAAAATGGCTTAACATTTGTTAGACTTATGGTTGTCGGCTTCATAGGGAGAATAAC
+ATGAGCATTATTAAAGAATTTCGCGAATTTGCGATGCGCGGGAACGTGGTGGATTTGGCAGTGGGTGTCA
+TTATCGGAGCGGCATTCGGGAAGATTGTATCTTCACTGGTTGCCGATATCATCATGCCACCTCTGGGCTT
+ATTAATTGGCGGGATCGACTTTAAACAGTTTGCTGTCACGCTACGCGAGGCCCAAGGGGATATCCCTGCT
+GTTGTGATGCATTACGGTGTCTTCATTCAAAACGTCTTTGATTTTCTGATAGTGGCCTTTGCCATCTTTA
+TGGCGATTAAGCTAATCAACAAACTGAATCGGAAAAAAGAAGAACCAGCAGCAGCAACACCTGCACCAAC
+TAAAGAAGAAGTATTACTGACAGAAATTCGTGATTTGCTGAAAGAGCAGAATAACCGCTCTTAACAAGCG
+TCTGAAAGCAGAAGGCCAGTGGTAAAAAAGTGATTTACTTTCTTGCCACTGGCCTCCCAGTTCCCCCGAT
+TGCCATGTTTTCCTTTTCGCATGTAACTGCCTTTCCCTTTCTTATTTTTCTCTACTCGCTGTCGGAATAA
+GGGATCATGTAGTAATGCTTCTATCGCATTATCCTTTATCTGCCCTTTAGTATGCTGATATCGGCTCATA
+AAAACTCCAGTTGGTTATTTAACGGCGCGAGTGTAATCCTGCCAGTGCAAAAAATCAACAGCCACTCTTA
+ACGCCACTCGCCCCTTGTTCAAGAGCTTCAAGAATCGAGCAATAAACACTGCTATGGGCGGTCCCACAAC
+AGGTATCATTAAGGCGTTGCAAGGAACGCTGCATACTCTGCAACTCGGCTATACGAGCTTCGACTTCCTG
+CAATCTTTCCTGCACAATGCCTTTTGACTCCTGACAGGTATGGTGTTCAGGATCGATACGGATCGACAGC
+AACTCGCGGATCGACTCCAGACTGAAACCTAGTTGTCTGGCATGGCGGATAAATTTCAATCGCTGGAGAT
+CGCTTTCGGTATACAGGCGAAACCCACCTTCGGTGCGTACTTCATGCTCCATCATCTGCTGCTTTTCGTA
+ATAACGAATCGTGTCGGGTGTTACTTCCGCCATTTTTGCCAGCTCACCAATGCGATACATACATACTCCA
+CTAGTTATCGTTGATTTTGTTCAACAACTTGTCAGCATAATCGCCGCGTAAAAAATCGGTACTCAATCCA
+GCTTGTCGCAGCTTCAATTCCAGTAATGACAATCGACGACTAACCTCTTGATATTGCGGATCATCATGAC
+GGATACCTTTGAGAATATCCAGAAGCTGTATTGCTTCCCTCCTATGCTCAAGTTCTGGCGGTAAGCAACC
+AGCATTCTTCAGCAAGCGATACCCCGCACGTAATTCCGGTGGCACATGAGAATCATCATCCAGTATCAAT
+GGTTCGCCGCTACCTACCAGGTTATCAAACTCACCTTTCGCTTGCGCTTCTGCTATATGACGCTCTGCCC
+ACTGGTCAAGTAACCACATAAATACTCCAGGGGATGAACAAAAAGAGTACAGCTATTGTAGATAAGTGGG
+GATGCTACGGGTATAAAAAAACCCGCCGGGGCGGGTTTTTTTACGTTGCTTCAGATTACTCTGCAGCAGC
+TTCTGCTTTCTCTGAACGATCAACCAGCTCGATGTAAGCCATCGGCGCATTGTCGCCTGCACGGAAGCCA
+CACTTCAGAATACGAGTGTAACCACCGGCACGGCTCGCGAAACGCGGGCCCAGTTCGTTAAACAGTTTTG
+CCACGATCTCGTTATCACGAGTACGGGCGAATGCCAGACGACGATTAGCAACGCTATCAGTCTTGGCAAG
+AGTAATCAGCGGCTCAACTACGCGGCGCAGCTCTTTCGCTTTAGGCAGAGTCGTCTTGATGATTTCATGA
+CGAACCAGTGAACCTGCCATATTGCGGAACATAGCCTGGCGATGGCTGCTGTTGCGGTTCAGTTGACGAC
+CACTCTTACGATGGCGCATGACCTTATCCTTCTCAGTAAAACCTTAACCTGTGATCCGGTTACTCGTCAG
+CGATGCTTGCCGGTGGCCAGTTTTCCAGGCGCATGCCCAGAGACAGTCCACGGGAAGCCAGCACGTCTTT
+AATCTCAGTAAGAGATTTTTTACCAAGGTTAGGCGTTTTAAGGAGCTCAACCTCGGTACGCTGTACCAGA
+TCACCGATATAGTGGATAGCTTCTGCTTTAAGGCAGTTAGCAGAGCGGACAGTCAATTCCAGATCGTCAA
+CAGGGCGCAGCAGGATCGGATCGAACTCTGGTTTCTCTTCTTTCACTTCAGGCTGACGTACATCACGTAA
+GTCAACGAAAGCTTCCAGTTGTTCAGCCAGAATGGTTGCCGCACGACGAATCGCCTCTTCAGGATCGATT
+GTGCCGTTGGTTTCCATTTCGATGACCAGCTTGTCCAGGTCGGTACGCTGTTCTACACGCGCTGCTTCAA
+CATTGTAGGCAATACGCTCCACAGGGCTGTAGCATGCGTCGACCAGCAGACGGCCGATTGGGCGCTCATC
+TTCTTCCGAATGAATTCGGGTAGAAGCCGGCACATAACCACGACCGCGCTGAACTTTGATACGCATGCTA
+ATAGACGCGTTCTCATCGGTCAGGTGGCAGATCACGTGCTGCGGCTTGACGATTTCGACATCACCGTCGT
+GGGTGATATCGGCTGCAGTCACAGGGCCAATGCCAGATTTATTCAAGGTAAGAATAACTTCATCTTTGCC
+CTGAACTCTCACCGCCAGCCCTTTCAGGTTGAGCAGGATTTCCAGGATATCTTCCTGAACGCCTTCTTTG
+GTGCTGTACTCATGTAGTACACCATCAATCTCAACCTCGGTCACCGCGCAACCCGGCATCGATGAGAGCA
+GAATACGGCGCAGTGCGTTACCCAGAGTATGGCCAAAGCCACGCTCTAAAGGCTCAAGGGTCACCTTGGC
+GTGCGTCGAACTCACTTGCTCGATATCAACCAGGCGCGGTTTTAGAAACTCTGTCACAGAACCCTGCATT
+GTGTCCTCTCTTTGGTACTAAGCTTTACTTGGAGTAAAGCTCGACGATCAGGTGTTCGTTAATGTCCGCA
+GACAGATCAGAACGCTCCGGCTTACGCTTAAACGTACCTTCCATCTTGCCAGCATCAACTTCCAGCCAGG
+TTGGCTTTTCACGCTGCTCAGCCAGCTCCAGAGCGGCTTTCACGCGAGACTGCTTCTTCGCTTTCTCACG
+AATGCTTACAACGTCATTCGGACTAACCTGATAAGAAGCGATGTTAACAACACGACCGTTTACCATAATT
+GCTTTATGGCTAACCAGCTGACGTGCTTCTGCACGAGTGGCACCGAAGCCCATACGGTATACAACGTTGT
+CCAGACGACCTTCCAGCAGAGCCAACAGGTTTTCACCGGTGTTGCCTTTCAGACGTGCTGCTTCTTTGTA
+GTAGTTACGGAACTGACGCTCCAGCACACCATAGATACGGCGAACTTTTTGCTTTTCACGCAACTGCACA
+CCATAGTCAGACAGACGCGGTTTACGCGCACCGTGCTGGCCAGGAGCTTGTTCAATTTTACACTTGGTAT
+CGATCGCGCGAACGCCAGACTTAAGGAATAAGTCGGTGCCCTCACGACGGCTCAGCTTGAGCTTAGGACC
+CAAATATCTTGCCATTTTCTTTCTCCAACAAACCTGGAAAACGAGGCGTTATACGCGACGTTTTTTCGGC
+GGACGACAACCGTTATGAGGGATCGGAGTCACATCAGTAATGTTAGTGATGCGGAAACCTGCGGCGTTCA
+GAGCACGAATAGTAGATTCGCGGCCTGGACCCGGACCTTTAACCATAACTTCCAGATTCTTGATGCCGTA
+TTCTTTCACGGCGTCAGCGCAACGCTCTGCTGCAACCTGTGCTGCAAACGGAGTGGATTTGCGAGAACCA
+CGGAAACCGGAACCACCGGCTGTTGCCCAACCCAACGCGTTACCCTGACGATCAGTGATAGTCACGATGG
+TGTTGTTGAAAGAAGCATGGATATGAGCCACGCCGTCAGAGACTTGTTTTCTTACACGTTTACGTGCACG
+AATTGGTGCCTTTGCCATTATTCAATCACCCCGATTATTTCTTGATCGGTTTGCGCGGACCCTTACGGGT
+ACGTGCGTTGGTCTTGGTACGCTGACCGCGAACCGGGAGACCACGACGATGACGCAAACCGCGATAGCAA
+CCAAGATCCATCAGGCGCTTGATGCTCATGCTGATTTCACGGCGCAGATCACCTTCAACGACAAATTTGG
+CAACTTCGTCACGCAGCGTGTCGATTTGTCCTTCAGACAGCTCACTGATCTTAACATCTTCAGCGATACC
+CGCTGCAGCCAGGATGGCTTTAGAACGGGTCTTGCCGACGCCATAAATCGAAGTTAATGCGATTACGGCA
+TGCTTATGATCAGGAATGTTAATGCCTGCTATACGGGCCACTATGCACTCCTACTATTTAATATGTACGT
+TCCATGCTGAAAAGCCCGTTTTCAGGATACTCAAATGGAAACGCACAGACATACAAAAGATTGGCTGGCT
+AATCTAGCCAGCTCAACCCAACTTTGCAAGAAAAATATGCGAAAAAATCAGCCTTGGCGCTGTTTATGCT
+TCGGCTCGGCACTGCAAATCACACGGATGACACCATCACGCTTAACGATTTTGCAGTTACGGCATAATTT
+CTTGACGGAAGCACGAACTTTCATTTTTACTCTCCGTAACTTCTCGGGCGACCAATTATCGGCCGTAGCC
+TTTCAGGTTCGCCTTCTTCAATGCAGACTCATACTGACTGGACATCATCAGAGTTTGCACTTGAGCCATA
+AAGTCCATAATCACGACAACAACGATAAGCAGTGAGGTCCCACCGAAGTAGAACGGTACTTTCATTGCAT
+CACGCATGAACTCCGGGATCAGGCAGATAAAGGTAATGTACAGCGCACCAACCAAGGTCAGGCGGGTCAT
+TACTTTATCGATATACTTCGCCGTTTGCTCTCCCGGACGAATTCCTGGTACAAATGCACCGGACTTCTTC
+AGGTTATCTGCTGTTTCACGCGGGTTGAAAACCAACGCCGTGTAGAAGAAACAGAAGAAGATGATTGCAG
+ACGCATAGAGTAACACATAAAGCGGTTGCCCAGGCTGCAAATACAGCGAAATTGTTGTCAGCCAGTTCCA
+ACCAGTACCGCCCCCGAACCATGACGCGATGGTCGCCGGGAACAGAATAATACTGGAAGCGAAGATTGCC
+GGGATTACCCCCGCCATATTCACTTTCAGCGGTAAATGTGTGCTCTGTGCAGCATAGACACGACGACCTT
+GCTGACGTTTCGCGTAGTTTACCACAATGCGGCGTTGACCACGCTCAACAAATACAACAAAGAACGTCAC
+TGCAAATACTAATACTGCAACCAACAGCAACACGAGGAAGTGCAGGTCGCCTTGACGCGCTTGCTCGATA
+GTATGGGCAATGGCTGGCGGGAGTCCCGCGACAATACCGGCGAAGATAATGATTGAAATACCGTTGCCGA
+TACCTCGTTCAGTGATCTGTTCGCCCAACCACATCAGGAACATGGTTCCTGTGACCAGACTTACAACAGC
+GGTGAAGTAGAATGCAAAGCCCGGGTTAATGACCAGGCCTTGCATACCAGGCATATTCGGCAGACCGGTA
+GCAATACCGATCGACTGGAATATTGCCAGCACCAGAGTACCGTAGCGGGTGTACTGGCTGATCTTACGAC
+GACCAGACTCCCCTTCTTTCTTAATTTCTGCCAACGTTGGATGAACCACCGTCAGTAGCTGGATAATGAT
+CGACGCCGAAATATACGGCATGATCCCCAGAGCAAAGATAGAAGCACGGCTGAGAGCACCACCAGAGAAC
+ATGTTAAACATCTCAATGATGGTGCCTCGCTGTTGCTCAAGCAGTTTGGCAAGTACAGCGGCATCAATAC
+CAGGGATCGGAATAAAAGAGCCAATACGGAACACAATCAGCGCACCGATAACAAACAGCAGTCTGCGTTT
+CAGCTCGCCTAAGCCACCTTTGGCACTTTGAAAATCTAATCCCGGTTGTTTAGCCATCTGCTACTTATTC
+CTCGATTTTACCGCCAGCAGCTTCGATAGCAGCACGAGCGCCTTTAGTAACACGCAGGCCACGAACAGTT
+ACCGGAGTCGTTACTTCGCCAGCCAGGATCACTTTCGCGAACTCGATCTGGATACCGATAATGTTAGCCG
+CTTTCAGCGTGTTCAGGTCTACAACACCGCCTTCTACTTTAGCCAGGTCAGACAGACGAACTTCGGCTGT
+AATCGCTGCTTTACGAGAAGTGAAGCCGAATTTCGGCAGACGACGGTACAGAGGCATCTGACCACCCTCG
+AAACCGCGACGTACGCCACCGCCAGAACGAGATTTCTGACCTTTGTGACCACGACCACCGGTTTTACCGA
+GGCCAGAACCGATACCACGACCCAGGCGTTTACCCGCCTTTTTGGAGCCTTCGGCCGGAGACAGAGTATT
+TAAACGCATCTCTTACTCCTCAACTTTAACCATGAAGGAAACCGCGTTGATCATACCGCGAATAGCAGGA
+GTATCCTCGCGCTCTACGGTGTGACCAATACGACGCAGACCCAGGCCAAGCAGCGTTGCCTTGTGTTTCG
+GCAGACGACCGATTGCACTGCGGGTTTGAGTAATTTTAATAGTCTTTGCCATGGTTTATTTCCCCAGAAT
+TTCTTCAACGGATTTACCACGCTTGGCAGCGACCATTTCTGGAGAATTCATATTTTCCAGGCCATCGATA
+GTTGCACGAACCACGTTAATCGGGTTGGTGGAACCATACGCTTTAGCCAGAACGTTATGAACCCCAGCGA
+CTTCCAGAACGGCGCGCATTGCACCACCGGCGATGATACCGGTACCTTCGGAAGCCGGCTGCATGAATAC
+GCGAGAACCCGTATGAACACCTTTAACAGGGTGTTGCAGAGTACCGTTATTCAGCGCGACGTTAATCATA
+TTGCGACGGGCTTTTTCCATCGCTTTCTGGATCGCTGCTGGAACTTCACGCGCTTTACCGTAACCAAAAC
+CAACGCGACCGTTACCATCGCCAACTACAGTCAGAGCTGTGAAGGAGAAAATACGACCACCTTTAACGGT
+TTTAGATACGCGGTTTACCGCGATCAGCTTTTCCTGCAGTTCGCCAGCTTGTTTTTCGATGTGAGCCATC
+TTACACCTCTACCTTAGAACTGAAGGCCAGCTTCACGGGCAGCATCTGCCAGTGCCTGGACACGACCATG
+ATATTGGAACCCGGAACGGTCAAAGGATACATCTTTGATGCCTTTTTCCAGAGCGCGTTCAGCGACAGCT
+TTACCCACAGCTGCAGCCGCGTCTTTGTTACCGGTGTACTTCAGTTGTTCAGCGATAGCTTTTTCTACAG
+TAGAAGCAGCTACCAGAACTTCAGAACCGTTCGGTGCAATTACCTGTGCGTAAATGTGACGCGGGGTACG
+ATGTACCACCAGGCGAGTTGCGCCCAGCTCCTGGAGCTTGCGGCGTGCGCGGGTCGCACGACGGATACGA
+GCAGATTTCTTATCCATAGTGTTACCTTACTTCTTCTTAGCCTCTTTGGTACGCACGACTTCGTCGGCGT
+AACGAACACCCTTGCCTTTATAAGGCTCAGGACGACGGTAGGCGCGCAGATCCGCTGCAACCTGGCCGAT
+CACCTGCTTATCAGCGCCTTTCAGCACGATTTCAGTCTGAGTCGGACATTCAGCAGTGATACCCGCAGGC
+AGCTGATGGTCAACAGGATGAGAGAAACCCAGAGACAGGTTAATCACATTGCCTTTAACCGCTGCACGGT
+AACCTACACCAACCAGCTGCAGCTTCTTAGTGAAGCCTTCGGTAACACCGATAACCATTGAGTTCAGCAG
+GGCACGCGCGGTACCAGCCTGTGCCCAACCGTCTGCGTAACCATCACGCGGACCGAAGGTCAGGGTATTA
+TCTGCATGTTTAACTTCAACAGCATCGTTGAGAGTACGAGTCAGCTCGCCGTTTTTACCTTTGATCGTAA
+TAACCTGACCGTTGATTTTTACGTCAACGCCGGCAGGAACAACGACCGGTGCTTTAGCAACACGAGACAT
+TTTTTCCTCCGATTAGGCTACGTAGCAGATAATTTCGCCACCAAGACCAGCCTGGCGCGCTGCACGATCA
+GTCATAACACCTTTAGAGGTAGAAACAACTGCGATACCCAGACCCGCCATAACTTTCGGCAGCTCATCTT
+TACGTTTATAGATGCGCAGACCTGGGCGGCTGACACGCTGAATGCTTTCTACAACAGCTTTGCCCTGGAA
+ATACTTCAGAGTAAGTTCCAGTTCAGGCTTGGTGTCGCCTTCAACTTTAAAATCTTCAATAAAACCTTCT
+TCCTTCAGCACGTTGGCGATTGCCACTTTCAGCTTGGAGGAAGGCATGGTGACCGCAGCTTTGTTCGCGG
+CCTGACCGTTACGGATACGGGTCAGCATATCCGCGATCGGATCTTGCATGCTCATCTGTCTTTACTCCCG
+TGATTCAATTGGTGACAATTACCAGCTAGCCTTTTTCAGACCCGGGATTTCACCGCGCATAGCGGCTTCA
+CGGACCTTAATACGGCTCAACCCGAACTTCCGCAGGAAACCATGCGGACGACCTGTTTGACGGCAGCGGT
+TACGCTGACGAGACGGGCTGGAATCACGCGGCAGAGTCTGCAGCTTGAGAACAGCGTTCCAACGATCTTC
+GTCGGAAGCGTTCACATCAGAGATGATCGCTTTCAGTTCAGCGCGTTTCGCGAAGTATTTATCAGCTAAA
+GCTACGCGTTTTACTTCGCGTGCTTTCATTGATTGCTTAGCCATTTAGTAACCCTACCTTACTTGCGGAA
+CGGGAAGTCAAAGGCAGCCAGCAGAGCGCGGCCTTCTTCGTCAGATTTCGCAGTAGTGGTAATGGTAATA
+TCCAAACCACGAACGCGGTCGACTTTATCGTAGTCGATTTCTGGGAAGATGATCTGCTCACGGACACCCA
+TGCTGTAGTTACCACGACCGTCGAAAGACTTAGCGGACAGGCCACGGAAGTCACGGATACGAGGTACAGC
+AATAGTGATCAGGCGCTCAAAGAACTCCCACATGCGTTCGCCACGCAGAGTTACTTTACAGCCGATCGGA
+TAGCCCTGACGGATTTTGAAGCCTGCAACAGATTTGCGTGCTTTGGTGATCAGCGGTTTTTGACCGGAGA
+TTGCTGCCAGGTCTGCTGCTGCGTTATCCAGCAGTTTTTTGTCAGCGATCGCTTCACCAACACCCATGTT
+CAGGGTGATCTTCTCGACCCGAGGGACTTGCATGACAGAATTGTAGTTAAACTCAGTCATGAGTTTTTTA
+ACTACTTCGTCTTTGTAGTAATCATGCAGTTTCGCCATCGTACTACTCCAAATTACTTGATAGTTTCGCT
+GTTAGACTTGAAGAAACGGACTTTTTTACCGTCTTCGAATCTAAAGCCTACACGGTCAGCCTTGCCGGTT
+GTCGCATTGAAGATTGCTACGTTGGAAACCTGAATAGCGGCTTCTTTTTCAACGATGCCACCCGGTTGGT
+TCAGGGCCGGAACCGGCTTCTGATGTTTCTTAACCAGGTTGATACCTTCAACAATGACCTTGCCGGAAGA
+CAGGACATTCTTAACTTTACCGCGTTTACCTTTATCTTTACCGGTTAACACGATAACTTCGTCATCACGA
+CGGATTTTCGCTGCCATGATTCGCTCCTTAGAGTACTTCTGGTGCCAGAGAGATAATTTTCATGAACTTC
+TCACTACGAAGCTCACGAGTTACCGGCCCAAAAATACGCGTACCGATAGGCTGCTCGCTGTTGTTGTTCA
+GAAGAACACAAGCATTACCATCGAAGCGAATGACAGAACCGTCCGGGCGACGAACACCCTTGTTGGTGCG
+CACCACTACCGGCTTCAGCACATCACCTTTTTTGACCTTACCACGCGGAATTGCTTCTTTGATGGTGATC
+TTGATGATGTCGCCTACGCCTGCGTAGCGACGGTGCGAGCCACCCAGAACCTTGATACACATTACGCGAC
+GTGCACCGGAGTTGTCGGCGACGTTCAGCATAGTCTGTTCTTGGATCATTTTAGTGCTCCGCTAATGTCA
+ACTACTACTGAGACCCGAAAATCAGGTCGTTAAAAATCCCCATATCGAGGGCGCGGCATTATAACACCGC
+TTCAAGGATATGGGTAGAAAAAATAAACGGCTCATTTCTGAGCCGTTTATTCGTATCGAGAGAGTGTACT
+GTATTACAGAACCGCTTTCTCTACAACGCGAACCAGCGTCCAGGATTTAGTCTTGGACAGCGGACGGCAT
+TCGCGGATTTCAACCACGTCACCGATACCGCATTCGTTGTTCTCGTCATGTACGTGCAGTTTGGTCGTAC
+GCTTGATGAATTTACCGTAGATCGGGTGTTTCACAAAACGTTCGATAGCAACAACAATGGATTTCTCCAT
+TTTGTCGCTAACAACGCGACCTTGCAGAGTACGGATTTTATCGGTCATTACGCACCCGCCTTCTCGTTCA
+GTAAAGTCTTAACGCGTGCGACATCGCGACGCACTTGCTTCAACAGGTGAGACTGTTGCAGCTGGCCACT
+TGCAGCCTGCATACGCAGGTTGAACTGCTCACGCAGCAGGTTCAGCAGCTCGGTGTTCAGCTCTTCAACG
+CTCTTCTCACGCAGCTCTTTTGCTTTCATTACATCACCGTCTTAGTTACAAAGGTGGTTTTAATCGGCAG
+TTTCGCTGCTGCCAGCTTGAATGCTTCACGGGCCAGCTCTTCCGGAACACCGTCCATTTCATACAGGACT
+TTACCCGGCTGAATCAAGGCAACCCAATACTCCACGTTACCTTTACCTTTACCCATACGCACTGCCAGCG
+GCTTTTCAGTGATCGGTTTGTCCGGGAACACACGGATCCAGATCTTACCTTGACGCTTAACTGCACGGGT
+CATAGCACGACGTGCTGCTTCGATCTGACGTGCAGTCAGACGACCACGGCCAACAGCTTTCAGACCGAAG
+CTGCCGAAGCTAACATCCGTACCCTGCGCCAGACCGCGGTTACGGCCTTTGTGCATTTTACGGAATTTTG
+TACGCTTTGGTTGTAACATCAGCGACGCTCCTTATTTACGGCCTTTACGCTGCTGCTTTTTAGGCTGAGC
+AGCCGGTTTTTCCGGTTGTTCAACAGCAGCCATACCACCCAGGATCTCGCCTTTGAAGATCCACACTTTA
+ACGCCGATTACACCGTAAGTGGTGTGCGCTTCAGAGGTGTTGTAGTCGATGTCAGCACGCAGAGTGTGCA
+GCGGTACGCGACCTTCGCGGTACCATTCGGTACGTGCGATTTCCGCGCCGCCCAGACGGCCGCTAACTTC
+AACTTTAATACCTTTAGCGCCCAGACGCATTGCGTTCTGTACAGCACGCTTCATAGCACGACGGAACATA
+ACGCGACGTTCCAGCTGAGAAGTGATGCTGTCAGCAACCAGTTTTGCGTCCAGTTCAGGCTTACGAACTT
+CGGCGATGTTGATCTGTGCAGGAACGCCAGCGATGTCCGCTACGACCTTACGCAGTTTTTCTACGTCTTC
+ACCTTTTTTACCGATAACGATACCCGGGCGAGCAGTGTGAATGGTTACACGGATGCTCTTAGCCGGACGC
+TCGATAACGATACGAGATACGGACGCTTTAGCCAGTTCCTTAGTCAGGTACTGACGTACTTTAAAATCGC
+TGTCCAGGTTGTCAGCGAATTCTTTGGTGTTCGCAAACCAGGTAGAGTTCCATGGTTTTACAATACCCAG
+GCGAATACCATTAGGATGTACTTTCTGACCCATTGCTAGTCTCCAGAGTCTCAGCGATCGGACACAACCA
+CAGTGATGTGGCTGGTGCGCTTCAGGATGCGATCTGCACGACCTTTTGCACGCGGCATAATGCGCTTCAT
+GCTCGGGCCTTCGTCTACGAAAATTTTCGTAACTTTCAGATCGTCAATGTCAGCGCCATCGTTGTGTTCA
+GCGTTAGCAATGGCAGATTCCAGAACTTTCTTGACCAGTACAGCCGCTTTCTTGTTGGTGTAGGTCAAAA
+TATCCAGAGCCTGCGACACTTTCTTACCGCGAATCAGGTCAGCAACAAGGCGAACCTTCTGAGCAGAAGA
+ACGAGCATGGCGATGTTTAGCGATAGTTTCCATCTCTTCCTCCTACCTTATTTCTTCTTCGCTTTTTTAT
+CAGCAGCGTGGCCGCGATAAGTACGAGTCGGTGCGAATTCACCCAGTTTGTGACCGACCATTTCGTCGGT
+TACAAATACCGGAACGTGCTGACGACCATTATGGACAGCGATGGTCAAACCGATCATGTTAGGAAAGATC
+GTTGAACGACGGGACCAAGTGCGCAGGGGCTTCTTGTCTCCGCTTTCCACCGCTTTCTCTACCTTCTTCA
+GCAAGTGCAGGTCAATAAAAGGACCTTTCTTGAGAGAACGTGGCATGGCTTATCCTCTAAAATTATTTGC
+TACGGCGACGTACGATGAATTTATCAGTACGCTTGTTGCTGCGGGTCTTCTTACCTTTGGTCTGAACGCC
+CCACGGAGTTACCGGGTGCTTACCAAAGTTACGACCTTCACCACCACCATGTGGGTGGTCTACCGGGTTC
+ATCGCGGTACCGCGAACGGTCGGACGAACACCACGCCAGCGTGCAGCACCTGCTTTACCCAGAACGCGCA
+GCATATGCTCAGCATTGCCAACTTCGCCCAGAGTTGCACGGCAGTCTGCTTCTACTTTACGCATTTCACC
+AGAACGCAGACGCAGGGTGACATAAGCACCATCACGAGCAACGATCTGAACGTAAGTACCAGCGGAACGT
+GCCAGCTGACCGCCTTTACCTGGTTTCATTTCTACGTTATGAACAGTAGAACCAACCGGGATGTTGCGCA
+TCGGCAGGGTGTTACCTGGTTTGATTGCAGCATCAACGCCAGACTGAATCTGGTCGCCAGCTTTCAGGCC
+TTTAGGGGCCAGGATGTAACGGCGTTCACCGTCTTTGTACAGAACCAGCGCGATGTTCGCGGAACGGTTC
+GGATCGTACTCAAGACGTTCAACAACTGCCGGGATACCGTCTTTGTTGCGTTTGAAGTCAACAATACGGT
+AAGCCTGCTTGTGGCCACCACCGATATGACGAGTGGTGATACGGCCATTGTTGTTACGACCACCGGATTT
+GCTGTTTTTTTCCAGCAACGGAGCAAAAGGTTTGCCCTTGTGCAGCTCAGGGTTAACCACTTTAACTACG
+TGGCGACGACCCGGAGATGTCGGTTTACATTTAACAACTGCCATTGTATTACTCCTCCGACTTACTCAGC
+GCCGCCAACGAAGTCCAGATTCTGGCCTTCTTTCAGGGTGACGTAAGCTTTTTTCCAGTCGCTACGACGA
+CCGATACGCTGTCCGTGACGTTTAACTTTCCCTTTAACTACCAGGGTGTTAACGACTTCGACTTCGACTT
+CAAACAGTTTCTGCACAGCAGCTTTGATTTCTGCTTTGGTCGCGTCTTTAGCAACTTTGAGTACGATGGT
+GTTGGATTTTTCCATCGCAGTAGACGCTTTTTCAGAAACGTGCGGTGCACGCAGCACCTTCAGCAGACGT
+TCTTCACGAATCATGCCAGCATCTCCTCAACTTGCTTAACAGCATCAGCAGTCATTACGACTTTGTCGAA
+GGCGATCAGGCTAACCGGGTCGATACCAGTTGCATCGCGTACGTCAACCTTGTGCAGGTTGCGCGCAGCC
+AGGAACAGGTTCTCGTCCAGCTCACCGGTGATGATCAGCACATCTTCCAGAGCCATGTCTTTCAGTTTCT
+GTGCCAGCAGCTTAGTTTTCGGCGCTTCTACAGAGAACTTCTCGACAACGATCAGACGATCCTGACGTAC
+CAGTTCGGACAGGATGCTTTTCAGCGCGCCGCGGTACATCTTCTTGTTAACTTTTTGACTGTGGTCCTGC
+GGACGAGCAGCAAAGGTCACGCCACCAGAACGCCAGATCGGGCTCTTGATAGAACCAGAACGCGCACGGC
+CGGTGCCTTTCTGGCGCCACGGTTTTTTACCGGAACCAGTTACTTCAGCACGAGTCTTCTGAGCACGAGT
+ACCCTGACGAGCACCAGCTGCATAAGCAACAACAACCTGGTGAACCAGCGCTTCGTTGAAATCACGACCG
+AAGGTAGTTTCGGAAACAGTCAGCGCGCTCTGCGCGTCTTTCAATACTAATTCCATTGCTATCTCCTTAC
+GCCTTCACAGCTGGTTTAACGATCAGGTCGCTACCGGTTGCACCCGGGACAGCGCCTTTAACCAGCAGCA
+GGTTGCGCTCAGCGTCAACGCGTACTACGTCAAGGCTCTGAACGGTTACACGTTCGTTACCCATCTGACC
+TGCCATTTTCTTGCCTTTGAACACTTTGCCCGGAGTCTGGTTCTGACCGATAGAACCCGGAACGCGGTGA
+GACAAGGAGTTACCGTGAGTAGCGTCCTGGGTACGGAAGTTCCAGCGCTTAACGGTACCTGCGAAACCTT
+TACCTTTAGAGGTGCCAGTTACGTCAACTTTTTTAACGTCAGCAAACAGTTCAACGCTAATGCTCTGACC
+TACAGTGAACTCTTCGCCTTCAGCCAGGCGGAATTCCCACAGACCACGGCCAGCTTCTACGCCAGCTTTA
+GCGAAGTGGCCAGCTTCAGGCTTGGTCACACGGTTAGCTTTTTTAGCACCGGTGGTCACCTGAATAGCAC
+GGTAGCCATCGTTAGCCAGGTCTTTAACCTGAGTAACGCGGTTTGCTTCAACTTCGATTACGGTTACTGG
+GATAGAAACGCCGTCTTCTGTGAAGATACGGGTCATACCCACTTTTTTACCGACTAAACCAATCATTGTT
+TCAACCTCTCAATCGCTCAATGACCTGATTAACCCAGGCTGATCTGCACGTCTACACCGGCAGCCAGATC
+CAGACGCATCAGAGCATCAACGGTTTTCTCGGTTGGCTCAACGATGTCAACCAGACGCAAGTGAGTACGG
+ATTTCGTACTGATCGCGCGCGTCTTTGTTGACGTGCGGGGAGATCAGAACAGTGAAGCGCTCTTTGCGTG
+TCGGCAGCGGGATCGGACCACGGACCTGCGCACCAGTGCGCTTAGCAGTCTCGACGATTTCCGCGGTTGC
+TTGATCGATCAGACGATGATCAAACGCTTTCAGGCGGATACGGATTCTTTGGTTCTGCATGAGACCAGAG
+CTCCAATTATTTTATAAACGAAAATGATTACTCCTCAGACCCATTACGATTGATGGGAGAGTGTAACCGT
+TCTTACGTAGCTCCCCGATTGGGAGCATTGTTAGGTAGCCAAATTCGGCTAACTGAGGTTCAGATTGAAC
+CTGCTGTCAACTACGACAAGCCCGCGCATTATACATACTTAACCACCGAACGCAAGCGTATTGCTAGTAA
+AGTAAACAGCCTTTGGGTTATCTCTCAAGTTCGTTCAGCGCATTTTTGACACGCTCTCTTAAACCGGCTT
+TCTCGTCGCTTTCTTCTACAGTATTTTCTTCGTCTTCAGAAGAAGAGGGGGCATTCTCAACCGCGACGCC
+TGGTTCATCTTCCTCCTCGACGGATTCGACGACGGGGAGTGGCTGTTTTTTGAAAAAATAGTGTTGTGTT
+GATTGTTTAAAAGCGGGCGTTTCAGCATCTACAGTGACTTCTGCTTTTACTATCCAAAGTGCCCATAGCT
+GCCGGGCATACCCACCAACCAACACCATTCCTGCAAACCACAGGCAAATCAGCAATAAACAAATGACATA
+TATTATGGTGCTGTGTTTTTGTCGGGAGAAGATACCAGGGTGACCCGTTTCTTTCTGCTCACGCGCGGCG
+ATATAGAATTCAAACATGTCATTTCCCCTTCACTGTTGTTTCTGGGGAAATATTTGCTTCATCCCGATAT
+AAGTAGGCACTCTCCCCCGCCACCTGCCAGAGATGTACTAACGTTGAAAAGCCAACAACACCGTCAGTTT
+TCAAGTGATGGCTTTTTTGAAATTGCTTTATTTTTTCTACCAACAAGGGACGCCACTCTGCCGAAGATTC
+TGTCGAAATATGCAATGCGCGGTTTAACATCGTTTCCAGCCAGAGAATCTCTTCCTCGCTGCTATCACGC
+GTAATGGTACTCTCCCCTTCCGGCGACATTTTCCACAACAGAAGATAATCACCCGTCCATACCAACTCAA
+ACCATTTATGTGTCAGCGTCCAGGTTTGCTGCCCTACGAGTACATCAACGGTAGCATCACCGACGCGAAC
+GACCACAACAGGCAATTTTTTGTCCCCGACTTTAAGCGATGCGATCCAGGGCAAATTCTGATCTACCAAT
+GTTTGTAAAGAAGCGTTCCCACTTTTACATACCAGCCCCGCTCTTACTGCCTGATCGCACCAGGCCGAAT
+CGGCTGGAACCTCGTACCCCCATACGCCGTATAACACGCTTAGCGCCTCACTATCGCGCATCACCACATG
+AGCAATATCCTTAGTCATATCTTGTTTAACTACTGGCGTTACGGGTATCAGCCACGCAGGAACGGGTAAC
+GGAGCTGTGAAAGAGGACAGCAGTAGCCAACCACAGGTAAGTGCGAGAATGGTTCCACTCATCACCACGG
+CAAGCTGCATTTTCCGGGGGCGCTTATCACCTAATACGCGGTAAATCATTCGCCATTGTTTTGCAGTGAA
+AACGCGGGTCTGCTCGGCTTGCTGTAATAAGCTAATTGTTTCGCCGGCAAGCGCCAGCTTTCTGCGATCT
+CCCCGACATAATAAAGCTATCCGTTTCAGAACTCTGGCGGTTAAAAGGAGATCGGGCTGGTCAATATTCT
+GACCTTCAAGGATGCTTGCCTTAAGCTCGTGCTCCGTCAGACGACCTGTCGAGACAAGTTCAATGCCCTG
+TTTTTTAAAATCACGTTCAACTTTTCGATCGGGTCTGCCGATCAGCAAAAATTGACCGTCAGGAATAAGA
+GATATCGCGCGTTGGAGATCATCAAGTATGCGGCGGTGATTCAGGTGAGCATTTTCAATAATAATAAGAG
+GGCAGCGACTATCAGTTCGATGAAGTGCATGCAGTAATTGACCCGCCATCTCATCTCGCGTCCAGGCGCT
+GTCACGGCAGCCCTGTTCAGCCGCGTTATCGTCGGTAACGATCCATGCGGCCTTACCTTGCCAGGAAACA
+ACGAGGCTTAAAGTAATCACACGGCGATGTTTATCTTTTTGTAGTTGCTGCGCCAGCCAGGTTTTTCCAC
+TTCCAGCCTCACCCAACAAATAGCACAGACGCCAGGTCTGACGTTTCTCACGCAACCAGGAAAGAATGAC
+TTCTCTTCTCGTAGACATAGAACTTCCTGTTTTAATTATTGATTATCCTTAATCATAAAAATAATGTATG
+TATTTATTAATTAAATACATATTACTAATATAAATAAATTTTGCTTGATTCATGCAAGCGGCATTAATAC
+TATTTATACTAACGTCAATATACAACCCACCCAATCTATTTTATTAGAACATACATCGTGCCCACACTAC
+CTTTCCCTTTCCATCTGGCGAATCATAATAAAGATGCTGCCATCAATATATTGATTATATTTATAAGCAT
+AGGGTTGATTATTTTTAATGTGAATTATTTCCATACAACTATAGTTAAAAATGAACAGATCATTAATCAA
+CCAACAAATGCATTTCAGTCTGAATTCAGCCTTGCCGCTTTATGGCGCAACGAAAATCATGCTGGGGTAA
+AAGATGCAAATCCCGTGGCAGTTAATCAGGAAACACCTAAGCTCTCTATAGCGCTTAATGGCATTGTACT
+CACATCGAATGATGAGACTTCTTTTGTCTTAATTAATGAGGGGAACGAACAAAAGCGATACTCCCTCAAC
+GAAGCCCTTGAGTCAGCGCCGGGAACGTTTATTAGAAAAATAAATAAAACCAGCGTTGTGTTTGAAACTC
+ACGGGCATTACGAAAAAGTAACTCTCCATCCAGGGCTACCTGACATCATCAAGCAGCCTGATTCGGAAAA
+TCAAAATGTACTCGCCGATTATATTATCGCCACACCTATACGTGATGGAGAACAGATATACGGTCTTCGA
+TTGAATCCTCGTAAGGGTCTCAATGCATTTACCACCAGCTTGCTGCAACCTGGGGATATCGCCCTCAGGA
+TCAATAATCTTTCGCTGACCCACCCTGATGAGGTTTCACAGGCATTAAGTTTACTGCTAACTCAACAAAG
+TGCTCAGTTTACAATTCGTCGCAACGGCGTACCCCGCTTGATAAATGTTTCCGTCGCGGAACTTACAGGA
+ATGAATGGACAGCGCAATGAAGGGACTCAATAAAATCACCTGCTGCTTGCTGGCAGCACTACTCATGCCT
+TGTGCAGGACACGCTGAGAACGAACAATACGGCGCTAACTTCAATAACGCCGATATCCGCCAGTTCGTGG
+AAATAGTGGGTCAGCATCTTGGCAAAACGATCCTGATCGACCCTTCGGTACAGGGAACCATTTCCGTACG
+CAGTAATGATACGTTTAGCCAACAGGAGTACTACCAGTTCTTTTTAAGTATTCTTGATCTTTACGGTTAT
+TCCGTGATCACACTGGACAATGGTTTTCTGAAAGTGGTGCGCTCAGCTAATGTAAAAACATCGCCAGGGA
+TGATTGCTGACAGTTCTCGTCCAGGCGTAGGTGATGAGTTGGTCACCCGAATCGTACCGCTTGAGAACGT
+TCCTGCTCGTGACCTTGCTCCCCTGCTCCGCCAGATGATGGATGCGGGTAGCGTCGGTAATGTTGTGCAT
+TATGAACCCTCCAACGTTCTTATTCTGACCGGTCGTGCCTCCACCATTAATAAACTGATTGAAGTCATAA
+AGCGCGTTGATGTCATCGGCACAGAGAAGCAGCAAATTATTCATCTGGAATATGCATCAGCGGAAGATCT
+CGCCGAGATTCTTAATCAATTAATCAGCGAAAGCCACGGTAAAAGCCAGATGCCTGCCCTCCTTTCCGCG
+AAGATTGTGGCGGATAAGCGAACCAACTCTCTTATCATCAGCGGGCCGGAAAAAGCACGCCAGCGCATAA
+CTTCATTACTGAAAAGCCTTGATGTAGAAGAGAGCGAGGAAGGAAATACCCGGGTCTATTACCTGAAATA
+TGCTAAAGCCACGAATCTGGTGGAAGTGCTAACCGGTGTTTCCGAAAAGCTGAAAGATGAAAAAGGGAAT
+TCGCGTAAGCCTTCTTCTACTTCTGCGATGGATAATGTGGCCATTACCGCCGATGAACAGACCAACTCGT
+TGGTCATTACCGCTGACCAGTCCGTCCAGGAGAAACTCGCCACGGTAATTGCGCGTCTGGATATTCGCCG
+TGCACAGGTGCTGGTTGAGGCAATCATCGTCGAAGTTCAGGATGGAAATGGACTCAACCTCGGCGTGCAA
+TGGGCGAATAAAAACGTTGGCGCACAGCAATTTACCAATACGGGATTACCGGTTTTTAACGCTGCGCAAG
+GTGTAGCTGATTATAAAAAGAATGGCGGGATCACCAGCGCGAATCCTGCCTGGGATATGTTTAGCGCCTA
+CAATGGCATGGCTGCAGGCTTCTTCAATGGCGACTGGGGCGTATTGTTGACTGCGCTGGCCAGTAACAAT
+AAAAATGACATCCTCGCCACCCCGAGCATCGTAACGCTGGATAATAAACTCGCGTCCTTCAACGTTGGTC
+AGGATGTGCCGGTGCTATCCGGCTCTCAGACCACTTCTGGGGATAACGTCTTTAATACTGTCGAACGCAA
+AACGGTGGGCACAAAACTCAAAGTCACTCCGCAGGTCAATGAAGGCGACGCGGTACTGCTCGAAATAGAG
+CAGGAGGTTTCCAGCGTTGACTCTTCGTCTAATTCGACGCTCGGCCCGACATTTAACACCCGTACTATTC
+AAAACGCCGTGCTGGTTAAAACCGGTGAAACGGTGGTCCTGGGCGGATTGCTGGATGATTTTTCTAAAGA
+GCAAGTGTCAAAGGTTCCTCTGCTTGGCGATATTCCTTTAGTGGGACAACTCTTCCGCTATACCTCGACC
+GAGCGCGCTAAACGCAACCTGATGGTATTTATCCGCCCGACGATTATCCGTGACGATGATGTTTATCGCT
+CACTGTCAAAAGAGAAATACACCCGCTACCGTCAGGAGCAACAGCTGCGAATCGACGGGAAATCAAAAGC
+GCTGGTTGGCTCGGAAGATTTGCCGGTGCTGAATGAGAACACGTTCAACAGTCACGCCCCTGCGCCATCG
+TCACGGTGAGGCATTCTTATGAGAATTCACTCACCGTACCCCGCCAGTTGGGCGCTGGCACAACGAATTG
+GTTATCTCTATTCAGAGGGCGAGATTATTTATCTCGCCGATACGCCATTCGAACGGTTACTCGATATTCA
+ACGTCAAGTTGGCCAGTGCCAGACCATGACCAGCTTGTCACAGGCTGATTTTGAAGCCCGACTGGAAGCG
+GTGTTCCATCAGAATACCGGTGAGTCGCAACAGATTGCGCAGGATATCGATCAATCCGTCGATCTTCTCT
+CGCTTTCGGAAGAGATGCCCGCAAATGAAGATCTCCTGAATGAAGATTCAGCGGCACCGGTTATCCGCTT
+GATCAATGCTATTTTGAGTGAGGCCATCAAAGAAACCGCCTCCGATATCCACATTGAAACCTATGAAAAA
+ACAATGTCGATCCGTTTTCGCATCGACGGCGTTTTGCGGACAATTTTACAGCCCAACAAAAAACTGGCGG
+CACTGCTTATCTCCCGAATTAAGGTCATGGCTCGTCTTGATATCGCCGAAAAACGTATTCCACAGGATGG
+AAGAATCAGTTTGCGTATCGGGCGACGTAACATAGATGTCCGCGTATCCACACTGCCATCCATCTATGGT
+GAACGCGCTGTGCTCCGCCTGCTGGATAAAAACAGCCTCCAGCTTTCATTGAACAACCTAGGGATGACGG
+CAGCGGATAAACAGGATTTAGAAAATCTCATTCAGCTTCCGCACGGTATTATCCTGGTAACAGGGCCGAC
+AGGCTCCGGTAAAAGCACCACGCTCTACGCCATTCTTTCGGCGCTTAATACCCCTGGCCGTAATATTCTG
+ACGGTAGAAGATCCCGTGGAATATGAACTGGAAGGCATAGGACAAACGCAGGTGAATACCCGCGTGGATA
+TGTCTTTCGCTCGCGGCCTGCGCGCCATACTTCGCCAGGACCCGGATGTCGTCATGGTGGGGGAGATTCG
+TGATACAGAAACCGCGCAAATTGCGGTTCAGGCCTCGCTCACAGGCCATCTGGTACTCTCAACACTCCAC
+ACTAACAGTGCATCAGGCGCAGTCACCCGGCTACGCGACATGGGCGTCGAATCATTCCTGCTTTCGTCTT
+CACTGGCAGGGATTATCGCGCAACGTCTGGTTCGTCGTCTGTGTCCGCAATGCCGACAATTCACGCCCGT
+ATCGCCCCAGCAAGCGCAGATGTTTAAATATCATCAGCTCGCGGTGACGACAATTGGCACTCCCGTAGGC
+TGCCCTCATTGCCATCAATCCGGCTACCAGGGGCGCATGGCGATCCACGAAATGATGGTGGTGACGCCGG
+AATTGCGGGCCGCTATTCATGAAAATGTGGATGAACAAGCACTGGAGCGACTGGTCCGGCAACAACACAA
+TGCCTTAATCAAAAATGGCCTGCAAAAAGTGATACGCGGTGACACCTCCTGGGATGAGGTTATGCGCGTC
+GCCAGTGCCACGCTGGAGAACGAAGCATGAATTATCGCTATCGCGCCATGACCCAGGATGGTCAAAAATT
+GCAGGGGATCATTGATGCTAACGATGAACGTCAGGCACGACTGCGGCTGCGTGAAGAAGGGCTTTTCCTG
+TTGGATATTCGCCCCCAAAAAAGTTCGGGAGTAAAAACACGTCGCCCGAGGATCAGCCATAGTGAACTAA
+CGCTTTTCACCCGGCAGTTGGCAACCTTAAGCGCAGCGGCATTACCCCTGGAAGAGAGCCTTGCCGTAAT
+TGGTCAACAAAGCAGTAATAATCGACTGGCTGACGTGTTAAATCAGGTACGCAGCGCCATCCTTGAAGGG
+CATCCCCTTTCCGATGCGTTACAACATTTTCCCACGCTTTTCGATTCGCTCTACCGTACCCTGGTAAAAG
+CGGGCGAAAAGAGCGGTCTGCTGGCCCCGGTGTTGGAAAAGCTGGCTGATTACAATGAAAACCGGCAGAA
+AATCCGCAGCAAGCTCATTCAGTCACTGATCTACCCCTGCATGCTCACTACGGTGGCGATTGTGGTCGTG
+ATTATTCTCCTCACTGCTGTCGTGCCCAAAATTACCGAACAGTTCGTGCATATGAAGCAGCAACTGCCAC
+TGAGTACACGCATTCTTTTAGGTCTGAGCGACACGTTGCAACGTACCGGCCCGACATTATTAGCGACAGT
+ATTTATTGTCGCTGTGGGTTTCTGGCTCTGGTTAAAACGCGGCAATAACCGCCACCGTTTTCATGCCATG
+TTACTGCGCGTTGCGCTCATCGGCCCGCTGATTTGCGCCATTAACAGCGCACGCTATCTCCGCACTTTAA
+GTATTTTGCAATCCAGCGGCGTCCCTCTGCTGGATGGGATGAATTTGTCCACCGAAAGCCTCAACAACCT
+CGAAATTCGCCAGCGCCTGGCAAATGCGGCAGAAAACGTTCGCCAGGGTAACAGCATTCATCTTTCGCTG
+GAACAAACCGCAATTTTCCCGCCGATGATGCTCTACATGGTGGCCTCTGGCGAAAAAAGCGGGCAACTCG
+GCACGTTAATGGTCAGAGCCGCAGATAACCAGGAGACACTCCAACAAAATCGGATCGCCTTAACGCTCTC
+CATCTTCGAGCCAGCACTCATTATTACGATGGCACTGATCGTCCTGTTTATTGTCGTGTCGGTACTCCAA
+CCTCTTCTTCAACTTAACTCAATGATTAATTAAGGAAATCATATGCGCGCAACGGATAAGCAACGCGGTT
+TTACATTACTGGAAATTATGGTGGTAATTGTCATCATTGGCGTACTCGCCAGCCTGGTGGTTCCCAACCT
+GATGGGCAATAAAGAAAAGGCGGATAAACAAAAAGCCGTCAGCGATATTGTGGCGCTGGAAAACGCCCTG
+GATATGTACAAGCTCGACAATCATCGCTATCCAACCACAAATCAGGGGCTTGAATCCTTAGTAGAAGCGC
+CGACACTGCCACCGCTGGCCGCAAACTATAACAAGGAAGGTTATATCAAGCGTCTGCCTGCCGATCCCTG
+GGGCAATGATTATGTCCTCGTTAATCCTGGTGAGCATGGTGCATACGATCTGCTTTCAGCAGGACCCGAT
+GGTGAAATGGGAACCGAGGACGACATCACCAACTGGGGTTTGAGCAAGAAGAAAAAGTAAGTCAGCGATG
+AATCAGCAACGCGGGTTTACCCTGCTGGAGATGATGCTGGTGCTGGCGCTGGTCGCTATCACGGCAAGTG
+TGGTGCTCTTCACATATGGTCGGGAGGATGCCGCCAGCACTCGTGCGCGCGAAACAGCGGCGCGGTTTAC
+CGCTGCACTTGAATTAGCCATCGACCGCGCCACGCTCAGTGGTCAGCCTGTCGGTATCCATTTCTCTGAT
+TCAGCATGGCGCATTATGGTACCGGGCAAAACACCATCAGCCTGGCGCTGGGTTCCATTACAAGAAGATG
+CCGCAGACGAGAGCAAAAATGACTGGGGTGAAGAACTCTCAATTCAACTTCAGCCATTTAAACCTGATGA
+CAGCAACCAACCGCAGGTGGTGATTCTGGCCGACGGACAAATCACGCCCTTCTCTTTGTTGATGGCTAAT
+GCCGGGACCAGTGAGCCGCTCCTGACGTTAGTCAGTTCAGGCTCATGGCCCCTGGATCAAACGCTCGCCA
+GAGATACCCGCCCATGAACAAACAATCAGGGATGACACTGCTTGAAGTCTTACTGGCGATGAGTATTTTC
+ACCGCTGTTGCGCTGACTTTAATGAGCAGTATGCAAGGGCAACGAACTGCCATCGAGCGGATGCGTAATG
+AGACGCTGGCATTGTGGATAGCGGATAACCAGCTTCAGTCACAAGATTCATTCGACGAGGAAAACACGTC
+CAGTTCTGGCAAAGAGTTAATAAATGGCGAAGAGTTAATAAATGGCGAAGAGTGGAACTGGCGCAGCGAT
+ATCCACTCAAGCAAAGACGGCACGCTTCTGGAACACACCATAACGGTGACATTACCCAGCGGTCAGACAA
+CCTCGCTTACGCGCTATCAAAGCATCAATAATAAATCCGGGCAGGCACAAGATGATTAATCGCCAGCAGG
+GTTTCACATTGCTGGAAGTCATGGCGGCGCTGGCGATTTTCTCAATGCTTAGCGTGCTGGCGTTTATGAT
+TTTTTCTCAAGCTTCCGAGTTGCATCAACGTTCACAGAAAGAAATCCAGCAGTTCAATCAGCTACAGCGC
+ACCATCACCATTCTTGATAACGATCTCCTGCAACTGGTCGCCCGGCGGAATCGGAGTACGGACAAAATCA
+TGGTGTTGGGTGAAGAAGCGATTTTTACCACGCAAAGTCGCGATCCGCTGGCCCCTCTCAGTGAAGCACA
+AACCTTACTCACTGTTCACTGGTATCTGCGAAATCATACGCTCTACCGTGCTGTTCGTACTTCTGTGGAT
+GGCAGGAAGGATCAACCCGCCCAGGCGATGCTGGAACATGTCGAGAGCTTTCTTCTGGAAAGTAACAGCG
+GAGAAAGCCAGGAGCTTCCTCTCTCAGTCACGTTACATCTGAAGACTCAGCAATATGGGGCGTTACAGCG
+CCGTTTTGCATTACCTGAGCAGTTAGCGAGAGAAGAGTCGCCAGCTCAGACGCAGGCCGGGAATAATAAC
+CATGAATAATGAACAACGCGGCGTAGCACTGCTCATTGTACTCATGTTACTGGCGCTCATGGCTGCTCTG
+GCTGCAGACATGACGATCAGTTTTCACGGCCAGCTTCATCGAACCCGCCAGGTAAACCATCATTTGCAAC
+GGCAATATGATATTGAGCTGGCGGAGAAACTTGCGCTTGCCAGCCTCACCCAGGACGTTAAAGATAACGA
+CAGACAAACCACGTTGCAGCAGTACTGGGCACAACCGCAACAGTTGCAGCTGGAAAATGGCAATACAGTG
+AAGTGGCAGTTACGCGATGCCCAGCACTGTTTTAATCTCAATGCCTTAGCAAAAATCTCTGACGCCCCGC
+TGGCTTCCCCTGATTTCCCCGCCCAGGTATTCAGTGCCCTGCTGATTAACGCCGGTATCGATCGCGGAAA
+CACCGATGAGATCGTGCAATCAATCGCTGACTATATTGATGCCGATGATTCGCCACGCTTTCACGGCGCA
+GAAGATAACTTTTACCAAAGCCAAACGCCGCCTCGCCATAGCGCCAATCAAATGCTTTTTCTGACCGGTG
+AATTGCGTCAGATAAAAGGCATAACCGAAAACATCTATCAGCGGCTTATCCCGTATGTCTGCGTTCTCCC
+GACCTCGGAACTTAGCATCAATCTTAATATGCTAACGGAGAACGATATTCCGCTCTTCAGAGCATTATTC
+CTCAATAACATCACGGATGCTGACGCTCGGGTCTTATTACAAAAAAGGCCCAGGGAAGGCTGGCTCACCA
+CAGATGCATTTCTTTACTGGGCGCAGCAGGATTTCTCCGGCGTGAAGCCCCTGGTTGCTCAGGTGAAAGG
+GCATCTCTTTCCCTATAGCCGCTATTTTACGCTGAGTACGGAAAGTATCAGCGACGAACAATCCCAGGGA
+TGGCAAAGCCATATTTTTTTCAACCGTAAACAGCAGAGCGCCCAAATCTATCGGCGTACGCTGCAACTCT
+ACTAATCATAAGGATCGTGATGCCTGAATCGTTGATGGTAATACGTTCTTTCTCGACGCTGCGTAAGCAT
+TGGGAATGGATGACGTTCTCCGCAGATAGCGTATCTTCGGTACATACGCTCACAGACGATCTTCCGCTGG
+AGTCGCTGGCCGATCAGCCCGGTGCCGGAAATGTTCACCTTTTGATCCCACCTGAGGGTCTTTTATATCG
+TTCCCTCACGCTGACCAACGCCAAATACAAACTCACCGCGCAAACATTACAGTGGTTGGCGGAGGAGACA
+TTACCCGACGCCAGCCAAAATTGGCACTGGACGGTTGTCGATAAACAAAACGAAAGTGTCGAGGTGATAG
+GCATTCAGTCGGAGAAACTCAGTCGTTATCTTGAGCGTTTACATACTGCCGGACTCAACGTGACGCGGGT
+TTTGCCAGATGGCTGCTATCTTCCCTGGGAAGTAGATAGCTGGACTCTGGTTAACCAGCAAACAAGCTGG
+CTTATTCGCAGTGCCGCACATGCCTTCAACGAACTGGATGAACACTGGTTACAGCATCTTGCTAACCAGT
+TTCCGCCAGAGAATATGCGTTGTTATGGTGTAGCGCCTCACGGCGTTGCAGCGGCCAATCCACTTATCCA
+GCATCCTGAAATACCATCACTGAGTTTGTATTCTGCCGATATTGCATTCCAGCGCTATGACATGCTGCAT
+GGTGTTTTTCGTAAACAGAAAACTGTAAGCAAATCGGGAAAATGGCTCGCCCGCCTGGCAGTAAGCTGTC
+TCGTTCTCGCCATTCTTTCTTTTGTTGGCAGCCGGGGCATCGCGTTCTGGCAAACGCTTAAGATTGAAGA
+TCAACTTCAGCAACAACAGCAAGAAACCTGGCAACGTTATTTCCCGCAGATCAAACACACCCACAACTTT
+CGTTTTTACTTTAAGCAGCAACTCGCTCAGCAATATCCTGAAGCTGTACCGTTGCTCTATCATTTACAAA
+CACTTCTGCTTGAACACCCTGAACTGCAGTTAATGGAGGCGAACTATAGCCAGAGGCAAAAGTCGCTGAC
+CTTAAAAATGAGTGCTAAGAGTGAAGCCAATATCGATCGTTTCTGTGAGTTAACACAGTCCTGGCTTCCG
+ATGGAAAAAACAGAAAAAGATCCGGTCAGTGGTGTATGGACAGTAAGGAACTCAGGGAAATGATTAAATC
+ATGGTGGGCAGAAAAATCCACATCGGAAAAACAGATCGTTGCGGCATTGGCGGTTCTCTCGCTCGGCGTT
+TTTTGTTGGCTTGCGGTGATAAAACCGATAGATACCTACATTGAAGAGCATCAGTCCCACGCGCAAAAAA
+TTAAGAAGGACATCAAATGGATGCAGGATCAAGCGAGCACCCATGGTTTACTCGGTCATCCAGCGCTTAC
+GCAGCCCATCAAAAATATCCTTCTCGAAGAAGCAAAACGTGAGAATTTGACTATCACGCTGGAAAACGGT
+CCGGACAATACTCTGACAATTAACCCTGTCACAGCTCCCCTCGAAAACGTCTCCCGCTGGCTCACTACGG
+CACAGATAACATACGGTATTGTTATTGAAGACCTTCAGTTTACTCTTGCCGGAAACGAAGAGATCACCCT
+CAAGTGTCACGAACGGTGCAATAGTGATCCACACCCAACGCCTGAAATCAGATCCAGGGGGTAATCTGCT
+CTCCTGATTCAGGAGAGTTTATGGTCACTTTTGAGACAGTTATGGAAATTAAAATCCTGCACAAGCAGGG
+AATGAGTAGCCGGGCGATTGCCAGAGAACTGGGGATCTCCCGCAATACGGTTAAACGTTATTTGCAGGCA
+AAATCTGAGCCGCCAAAATATACGCCGCGACCTGCTGTTGCTTCACTCCTGGATGAATACCGGGATTATA
+TTCGTCAACGCATCGCCGATGCTCATCCTTACAAAATCCCGGCAACGGTAATCGCTCGCGAGATCAGAGA
+CCAGGGATATCGTGGCGGAATGACCATTCTCAGGGCATTCATTCGTTCTCTCTCGGTTCCTCAGGAGCAG
+GAGCCTGCCGTTCGGTTCGAAACTGAACCCGGACGACAGATGCAGGTTGACTGGGGCACTATGCGTAATG
+GTCGCTCACCGCTTCACGTGTTCGTTGCTGTTCTCGGATACAGCCGAATGCTGTACATCGAATTCACTGA
+CAATATGCGTTATGACACGCTGGAGACCTGCCATCGTAATGCGTTCCGCTTCTTTGGTGGTGTGCCGCGC
+GAAGTGTTGTATGACAATATGAAAACTGTGGTTCTGCAACGTGACGCATATCAGACCGGTCAGCACCGGT
+TCCATCCTTCGCTGTGGCAGTTCGGCAAGGAGATGGGCTTCTCTCCCCGACTGTGTCGCCCCTTCAGGGC
+ACAGACTAAAGGTAAGGTGGAACGGATGGTGCAGTACACCCGTAACAGTTTTTACATCCCACTAATGACT
+CGCCTGCGCCCGATGGGGATCACTGTCGATGTTGAAACAGCCAACCGCCACGGTCTGCGCTGGCTGCACG
+ATGTCGCTAACCAACGAAAGCATGAAACAATCCAGGCCCGTCCCTGCGATCGCTGGCTCGAAGAGCAGCA
+GTCCATGCTGGCACTGCCTCCGGAGAAAAAAGAGTATGACGTGCATCCTAGTGAAAATCTGGTGAACTTC
+GACAAACACCCCCTGCATCATCCACTCTCCATCTACGACTCATTCTGCAGAGGAGTGGCGTGATGATGGA
+ACTGCAACATCAACGACTGATGGCGCTCGCCGGGCAGTTGCAACTGGAAAGCCTTATAAGCGCAGCGCCT
+GCGCTGTCACAACAGGCAGTAGACCAGGAATGGAGTTATATGGACTTCCTGGAGCATCTGCTTCATGAAG
+AAAAACTGGCACGTCATCAACGTAAACAGGCGATGTATACCCGAATGGCAGCCTTCCCGGCGGTGAAAAC
+GTTCGAAGAGTATGACTTCACATTCGCCACCGGAGCACCGCAGAAGCAACTCCAGTCGTTACGCTCACTC
+AGCTTCATAGAACGTAATGAAAATATCGTATTACTGGGGCCATCAGGTGTGGGGAAAACCCATCTGGCAA
+TAGCGATGGGCTATGAAGCAGTCCGTGCAGGTATCAAAGTTCGCTTCACAACAGCAGCAGATCTGTTACT
+TCAGTTATCTACGGCACAACGTCAGGGCCGTTATAAAACGACGCTTCAGCGTGGAGTAATGGCCCCCCGC
+CTGCTCATCATTGATGAAATAGGCTATCTGCCGTTCAGTCAGGAAGAAGCAAAGCTGTTCTTCCAGGTCA
+TCGCTAAACGTTACGAAAAGAGCGCAATGATCCTGACATCCAATCTGCCGTTCGGGCAGTGGGATCAAAC
+GTTCGCCGGTGATGCAGCACTGACCTCAGCGATGCTGGACCGTATCTTACACCACTCACATGTCGTTCAA
+ATCAAAGGAGAAAGCTATCGACTCAGACAGAAACGAAAGGCCGGGGTTATAGCAGAAGCTAATCCTGAGT
+AAAACGGTGGATCAATATTGGGCCGTTGGTGGAGATATAAGTGGATCACTTTTCATCCGTCGTTGACATC
+AAGCATTTGTCCTTCAGGGAGCAACAATAATGACAATGCTACTGCCGCTCTTCATTCTGGTTGGTTTTAT
+TGCAAGTTATTTTGTTAATGTCATGGCCTATCACCTCTCGCCTTTGGAGGATAAAACGGCGTTAACGTTT
+CGCCAGGTATTGGTTCATTTCTGGCAAAAAAAATATGCCTGGCATGATACAGTGCCCCTGATACTTTGCG
+TTGCTGCTGCTATCGCCTGCGCCCTGGCACCTTTCACGCCCATTGTGACTGGCGCACTCTTTCTCTATTT
+CTGTTTCGCACTCACGCTCAGTGTTATTGATTTTCGCACTCAGCTCCTGCCCGACAAACTCACCTTACCG
+CTGCTCTGGCTTGGCTTGGTATTTAATGCGCAGTCTGGATTAATTGATTTACATGATGCGGTTTATGGCG
+CGGTCGCTGGCTATGGGGTGCTGTGGTGTGTTTACTGGGGCGTCTGGTTAGTTTGTCACAAAGAGGGATT
+GGGCTACGGTGATTTCAAGCTACTGGCCGCTGCAGGCGCGTGGTGTGGCTGGCAAACGTTGCCAATGATA
+CTGCTGATTGCCTCGCTGGGTGGCATTGGTTACGCCATCGTTTCACAACTTCTGCAACGCCGGACTATAA
+CCACTATCGCATTCGGCCCGTGGCTTGCGCTCGGCAGCATGATAAACCTGGGATATCTGGCCTGGATCTC
+TTATTAACCGGGAGGGTTCTCCCTCCCGACACGGCTCAACCTTCTTCGCGAATCTGTGCTTGCAGATAAT
+TTTGCAGTCCCATCTTCTGAATCAGATCAAGTTCCGTTTCCAGCCAGTCGATATGGCCTTCTTCATCGCG
+CAAAATTTCTATCATCATATCGCGGCTGACGTAATCATGAACGCTATCGGCATAACCAATTGCCTCACGC
+AAATTCTTCGCGCCATCCAGCTCAAGTGCCAGATCAGAACGCAGCATTTCCTCAACATCTTCACCAATGT
+TCAGTTTGCCCAGGTCCTGTAAGTTTGGAAGACCTTCCAGAAAAAGAATGCGCTCAATATAACGATCGGC
+GTGTTTCATCTCATCAATGGATTCATGATACTCCACATCATTGAGACGTTTGAGACCCCAGTTTTTAAAC
+ATCCGGGCATGAAGAAAGTACTGATTGATTGCGACAAGCTCATTTCCCAACAGTTTGTTGAGATAATTTA
+TAACTTTAGTATCACCTTTCATTTTTTGACTCCTTCGCTTCCACTCTTTGAAGCGTAGAACGGCTTACGA
+GTAAGTCAAAAAACACACTCCGTTTATGCGGACTCCTTAAACTCCGGCAGTTGCATTAATTCATCCTCCA
+TCACTTCACGCGCGGCCCGGACACATTTACCGCACTGATTGCCGACCGGAATGAATTTTTTTAATTGCTG
+GAACGAGTGGGGGGAAAACTGGCGCACAGCCTGACGAATTTTTTTATCGCTGATACCATTACAAAGACAA
+ACGTACATAGAGACTCCCGTATACTTTCTTCAAAAGTAAATGAAAATAGTTCTTATTTCAATTACAGAAA
+GACTCTTTTTTAAGCAAAGAATAGAAATATGAATAAAAATAATGGGCTACCAAAAGTAGCCCATTGACAA
+AAAATGCGGCGATACCGGAAGGTATCGCCAACACATTTATTGCTTAGTAAACGGCGCGAAGATTTCGCTA
+AATGCGTACTTCGGAGCCTGTTCTTTAGTCAGACCGTGGAATTCCGGAGACAGGTTAGTGCCGCCCGGCA
+GGTCGCGCGCGATTGACCAGATACCAACCATACCGAGATTACGCTTCTGCGCATCCTGCATGACCAGACG
+AGCATCAGAGAGATAGAACACCTCACCCTGAACGTCGTTCACGCCAACCATCGGCGTGGTACCCATCATG
+GCGTCAATTTCTGCATCACTCTTATTGCCATAGAGGCCTTTCAGCTGCGCATGCAGGTTGGCAATCGCAG
+ACGTTGCACACTTACCGTGGATGTTCTGGCCTTCGGTGTTTGCAGACTGACAAATAGCGTTACCGTAGTC
+CATTGTCATCACGTTCACACCCGCCAGCTCAACACCTTTCGCTTTGGCATCGCTCAGGACATTCATCCCT
+TCCGGCGTCAGGCCTGTCGGCAGAATTGGCAAGGTATACCAGATAGCAATATCTTTGCCTTCTGACTTCC
+ATTTATCCTGCACTTTCTTCACAGCAAGGTTACGACGTTCAATAGATGCCTGATCCGCAACCCAGGTGCC
+TTCGATATCGAAGTCCAGGACTCTGAGGTTCAGGTTATCAACGATGTCATAATAATGCTGCATTAGATCG
+TCAACGTTCTTACAGGAAGCTGCCAGCGGGGCATTATTAGCACCACCGATAGACAGCATCACATCACCGC
+CAGCCTCACGCAGAGCTTTGATTTTGCTGTACTGAGCGTAATTCTGCATACCGTAAGCGGTACCCCATGT
+CGGTAGACAGGTGTTCGCATCTTTACTCACCACAAACGCCAGCGTGAAGTGGTTGACGTTATGATTCTTA
+GCCAGCGCAGCCAAATCCGGGATCGTATTCAGCGTAAAGTCGACATACGGTGCATAAACGTGTTTCGGCC
+ACGCTTTCTTCGGCGTACCTACGCGCTCTTTGGTTCCGGTCCAGTCAACAAAAACACGCCACGGGTTGCT
+GTCAGAAGGAGAAACTTTCTGCACTTTACTCTGAGAAATGTAGTTCTCACCGTTAAAGCGAATCAGCGTA
+TCACTGGCATAAAGCGTTTCTGGATTAAACTGCGGCGCATTATTCAGCTCTTCGTTGCTATAGCTCTGAG
+TCTTACCTAACGGCTTCCACGGGCGACTATTGCTACCGGTGGCGTTTTGGTTCGCAACCAGAGCAGGGTT
+GTCACTTTGCGTCCAGAACAGCGCTTCATAAGCCTGCCCATCAACAACAACGCGATCACCTTTCACGTAC
+ACGGTGGAAGCGGACCATGCTTTCGCCGGTTCGTATTTCTTCCACGGGTTATCGCCGCCGGGGACAAAGC
+CCCATGCGTCTTGATCGACAGAGGTTTTATAATGTGCATCGTTATAATCTACGATGCTGTTCGCGCTGTA
+CGCTTTGCTGGCCTGGAAACCATTCGCAATAATGACGCCGCCATTATCAATTTCACAGGTAGTCGGGTTA
+CCGTACTGACTCATTTCCGCAGCGGTAGCTGTACGCACGAGGCGCCATGGGTTATTGGAGTTTTCTACAC
+TGGTGCCACGCGGGCAATCTTCAGAACCAACCCACCAGGCATTCTGATAAACATTACCATTGAAGATAAC
+ATGGTAAATTTCGCTGCCTTCCTGGCCACTCCACGCCTGCAGTGAGTAATCGTTACTGCTATCCGCTGGT
+GTTGATGGCTCGTTGTTATCCGGAGTTGGAGTAACTGGAGTTTCCGGTGTTTCCGGAGTTGGATCAACCG
+GAGTCACAGCACCGCCATTATTATCCGGCTTAACGGAACAGGAGCCTGGGTTACCATACTGAGTGATTTC
+TGTTGCCGTTGCCGCGCGAACATAACGCCATGGGTTGCTGGCATCGTTTTCTTTCGCATCGCCTGGGCAA
+TTTGCCGCGCCCACCCACCAGGCATTCTTATAAATGCCGCCGTTGTAGATAACGTACCATGTAGAAGAAC
+CTTCCTGACCTTTCCAGGCTACGACAGCATAGTTGTCGTTTGACTTATCAGCTGGGGCTGGCTGAACATC
+AGGAGCCGGTTTAACGTCCGGTGCCGGTTTCACATCCGGTGCAGGCTGTGGTGCTGAAGTACAAGACTGT
+GGATTACTGGTTTCTGAGATTTCCGTTGCCGTAGCGGCACGAACATAACGCCATGGGTTGCTGGCATCAT
+TGCCTTTCGCATCACCCGGGCAGTTAGAAGAGGCTACCCACCAGGCATTTTTATATACCGCACCATTAAA
+GACGACATACCAGGTTTGACCGCCCTGCTGTTTATTCCAGGCAACTACAGAAGAATTAGACGGAACAGTG
+CCCTGTGCTGGTGTAGCCGAACCGCCATTAGCAGGCGTATTAGATGCTGGCGTATTTGAATTTGAAGAAG
+ATGAGCTGCCGCTCTTTTCGCAGGAAAGTGTATTGCCAAACTGACTAATTTCAGCAGCTGTTGCGGTACG
+CTTTAAACGCCACGGGTTAGTTGCATCATTTGCTTTCGCTTTTCCCGGGCAATTTGTAGAAGAAACCCAC
+CAGGCATTTTCATAAATTTTGCCATCGAAAATAACCTGATATTTATTACCACCTTGTTGGTTATTCCATG
+CTTCCATTGCCAATGCTGGCAGAGCGGAACACACCAGCCCCATACCAATCATAGATTTAGTAAATATATT
+TAATTTCATTATAATCCCTTGTAACGTAAAAACTGCAAAACAAAAGTCCTACGCAGGAATTATTTACGTT
+TTACGAGAACCCTTCAATATGAATTAAAGTGCGGCATTAAAAATAAGAAAAAAGCCTGACAAATGAAGCA
+TTTTAAAAACAGAAACATTCATATTTAAAATATTAAATTGAATTGATATTTTAAATATGAATAATTTATT
+CGTTCTGACAGTACGAATAAGATATGCAGTCAACAAATGCAAAAAGGGCGCCGAAGCGCCCTTTTCAATT
+CAAAACTAATTAACGTGTAATTAGCCCAGAACTTTAGCAACAACGCCCGCGCCAACGGTACGGCCGCCTT
+CACGGATTGCGAAACGCAGACCGTCGTCCATCGCGATCGGGTGGATCAGGGTAACAACCATTTTGATGTT
+GTCGCCCGGCATTACCATCTCTACGCCTTCCGGCAGTTCGATGGTACCAGTCACGTCAGTAGTACGGAAG
+TAGAACTGCGGACGGTAGCCTTTGAAGAACGGAGTATGACGGCCGCCTTCATCTTTGGACAGAATGTACA
+CTTCAGATTCGAACTTGGTGTGCGGCTTGATGGTGCCCGGCTTAGCCAGTACCTGACCACGTTCGATTTC
+TTCACGTTTGATACCACGCAGCAGAACACCTACGTTCTCACCAGCACGGCCTTCGTCCAGCAGTTTGCGG
+AACATTTCAACGCCAGTACAGGTAGACTTCTGAGTCTCTTTGATACCAACGATTTCAACTTCTTCACCAA
+CTTTGATGATACCGCGTTCTACACGACCGGTAACAACGGTACCACGACCGGAGATGGAGAATACGTCTTC
+GATCGGCAGCAGGAACGGCTTGTCAATCGCACGCTCTGGTTCCGGAATGTAAGAATCCAGGAAGCCAGCC
+AGTTCCAGGATTTTCGCTTCCCACTCTGCGTCGCCTTCCAGCGCTTTCAGAGCAGAACCACGAACGATCG
+GAGTGTCGTCGCCCGGGAAGTCGTACTGAGACAGAAGTTCACGAACTTCCATTTCAACCAGTTCCAGCAG
+CTCTTCGTCATCAACCATGTCGCATTTGTTCAGGAACACGATGATGTACGGAACGCCTACCTGACGACCC
+AGCAGGATGTGCTCACGAGTCTGCGGCATCGGGCCGTCAGTCGCAGCAACTACCAGGATCGCGCCGTCCA
+TCTGAGCAGCACCGGTGATCATGTTTTTAACATAGTCGGCGTGCCCCGGGCAGTCTACGTGCGCGTAGTG
+ACGGGTCGGGGTGTCGTATTCAACGTGAGAAGTGTTGATGGTGATACCACGAGCTTTTTCTTCCGGCGCG
+TTATCGATCTGGTCGAATGCACGAGCAGCACCGCCGTAGGTTTTAGCCAGTACGGTGGTGATTGCAGCGG
+TCAGAGTAGTTTTACCGTGGTCAACGTGGCCGATAGTACCAACGTTAACGTGCGGTTTTGTACGTTCAAA
+TTTTTCTTTAGACACGGCTATATTCCTTACTATAGTGCTCTCCCCTTCAGGAGAGAGCACGGGACTTTGG
+TATTAACCCTTAGGCTTATTTACCACGGGCTTCAATTACGGCCTGAGCAACGTTACTCGGCGCTTCATCA
+TACTTCAGGAATTCCATAGTGTATGATGCGCGACCTTTGGTCAGAGAACGCAGCTGAGTTGCATATCCGA
+ACATTTCAGACAGCGGTACTTCAGCGTGGATCTTAACGCCAGTAACTTCAGATTCCTGACCTTTGAGCAT
+ACCACGACGACGGCTCAAGTCACCGATAACGTCACCGGTGTTCTCTTCAGGAGTTTCTACTTCAACCTTC
+ATGATCGGCTCAAGCAGAACTGGTTTCGCTTTCTTAAAGCCTTCTTTAAAGGCGATAGAAGCAGCCAGTT
+TAAACGCCAGTTCAGAGGAGTCAACGTCATGGTAAGAACCGAAGTGCAGACGAATACCCATGTCTACTAC
+CGGGTAGCCTGCCAGCGGACCTGCTTTCAGCTGTTCCTGGATACCTTTATCAACGGCCGGGATGTATTCG
+CCAGGGATTACACCACCTTTAATGTCGTTGATGAACTCGTAGCCTTTCGGGTTTGAACCCGGCTCCAGCG
+GGTACATGTCGATAACAACATGACCATACTGACCACGACCACCAGACTGTTTCGCGTGTTTACCTTCAAC
+ATCGGTAACTTTCTGGCGGATAGTTTCACGGTAAGCAACCTGCGGTTTACCTACGTTCGCTTCAACGTTG
+AATTCACGCTTCATACGGTCAACGATGATGTCGAGGTGCAGTTCGCCCATACCCGCGATGATGGTCTGGT
+TAGATTCTTCGTCAGTCCATACACGGAAAGACGGGTCTTCTTTAGCCAGACGGCCCAGAGCCAGACCCAT
+TTTTTCCTGGTCAGCTTTGGTTTTCGGTTCAACTGCGATGGAGATTACCGGCTCAGGGAATTCCATACGT
+TCCAGAATGATCGGCGCATCCGGGTCACACAGGGTGTCACCAGTGGTTACGTCTTTCAGACCGATTGCAG
+CTGCGATGTCGCCCGCGCGAACTTCTTTGATCTCTTCACGTTTGTTAGCGTGCATCTGAACGATACGACC
+GAAACGCTCACGTGCAGCTTTCACGGAGTTCAGTACGGTATCACCAGAGTTAACCACACCGGAGTACACA
+CGGAAGAAGGTCAGGTTACCAACAAACGGGTCGGTAGCGATTTTGAACGCCAGTGCAGAGAACGGCTCGT
+CATCACTTGCGTGACGCTCAGCCGGAGTGTCTTTACCGTCGTCCAGGATACCGTTGATCGCAGGTACGTC
+AACCGGGGATGGCAGGTAATCAATTACCGCATCCAGCATCGCCTGAACACCTTTGTTCTTGAACGCAGAA
+CCACAGGTTACCAGGATGATTTCGTTGTTCAGAACGCGCTGACGCAGAGCACCTTTGATTTCTGCTTCAG
+TCAGTTCTTCACCACCCAGGTATTTTTCCATCAGCTCTTCAGAAGCTTCAGCTGCGGATTCGATCAGGTT
+CTGGTGCCATTCGTTAGCCAGTTCAACCATGTCTGCCGGGATATCTTCGTATTCGAAGGTTACGCCCTGG
+TCAGCGTCGTTCCAGTTGATAGCTTTCATTTTCACCAGGTCAACAACACCGGTGAAATGTTCTTCAGCAC
+CAATCGCCAGCTGCAGCGGAACCGGGTTCGCGCCCAGACGGGTTTTGATCTGGTTAACAACTTTCAGGAA
+GTTCGCACCCATGCGGTCCATTTTGTTAACGAACGCAATACGCGGAACTTTATATTTGTTTGCCTGACGC
+CATACGGTCTCAGACTGCGGCTGAACACCACCAACTGCGCAGTAAACCATTACCGCACCATCGAGAACAC
+GCATGGAACGTTCTACTTCGATTGTGAAGTCAACGTGCCCCGGGGTGTCGATGATGTTGATGCGATGCGG
+CTCATACTGCTTAGCCATACCAGACCAGAATGCAGTAGTCGCAGCGGAAGTGATGGTAATACCACGTTCC
+TGCTCCTGCTCCATCCAGTCCATGGTTGCAGCGCCGTCATGAACTTCACCGATTTTATGGTTTACACCGG
+TGTAGAACAGAATACGTTCGGTAGTAGTGGTTTTACCGGCGTCGATGTGCGCACTGATACCGATGTTACG
+GTAGCGTGCGATGGGTGTTGTACGAGCCATTTGTTTCCTCGTTTATCTTTTAGGCGTTCAATTTAAGTAG
+CCCAAAGCGGGCTGCTTACTGGAAGCGCCCGCCTGGTGACTAAAACTCCGAAGGGATTACCAACGGTAGT
+GTGCGAACGCCTTGTTGGCTTCGGCCATACGGTGAACGTCTTCACGTTTCTTAACTGCAGTACCTTTGTT
+TTCTGCAGCATCAGAAAGTTCGTTCGCCAGGCGCAGAGCCATGGATTTATCACCGCGTTTACGAGCAGCT
+TCAACGATCCAACGCATTGCCAGAGCATTACGACGAACCGGACGGACTTCAACTGGTACCTGATAAGTAG
+AACCACCAACGCGGCGAGACTTAACTTCTACAGTCGGGCGCACGTTTTCGAGAGCTACTTCGAATGCTTC
+CAGTTCAGATTTACCAGAGCGCTGAGCCAGGGTCTCCAGCGCGCTGTATACGATAGATTCAGCAGTAGAT
+TTTTTACCATCTACCATCAGGATATTTACAAATTTAGCCAGCAGTTCTGATCCGAACTTCGGATCCGGCA
+GAATTTTACGCTGACCAATGACGCGACGACGTGGCATGGAAATACTCCGTTGTTAATTCAGGATTGTCCA
+AAACTCTACGAGTTTAGTTTGACATTTAAGTTAAAACGTTTGGCCTTACTTAACGGAGAACCATTAAGCC
+TTAGGACGCTTCACGCCATACTTGGAACGAGCCTGCTTACGGTCTTTAACGCCGGAGCAGTCAAGCGCAC
+CACGTACGGTGTGGTAACGAACACCCGGGAGGTCTCTAACACGACCACCACGGATCAGGATCACGGAGTG
+CTCCTGCAGGTTGTGACCTTCACCACCGATGTAGGAAGTCACTTCGAAACCGTTAGTCAGACGAACACGG
+CATACTTTACGCAGCGCGGAGTTCGGTTTTTTAGGAGTGGTAGTATATACACGAGTACATACGCCACGTT
+TTTGCGGGCATGCTTCCAGCGCAGGCACGTTGCTTTTCGCAACTTTGCGAGCACGTGGTTTGCGTACCAG
+CTGGTTAACTGTTGCCATTAAATAGCTCCTGGTTTTAGCTTTTGCTTCGTAAACACGTAATAAAACGTCC
+TCACACAATATGAGGACGCCGAATTTTAGGGCGATGCCGAAAAGGTGTCAAGAAATATACAACGATCCCG
+CCATCACCAGGCCATCTGGCTGGAGTGCTTAACCGTAAGTCTGACGAAATCAGTATAGTCAATGGAAATG
+ATGTCGTTCGAAATTCGACCAGTCAAACCGCGGGCAATAAGGTCTTCGTTCAGAGCATAGACCTTAATGG
+GGGCATTACGCAGACTTTCAAGGTAGCGGTTGCCGTCAACTGCGGCAGTTACGCCATCTTGCAATAATAG
+CAGTTCGTCACCTTCACTGAGCAGACGCAGCAGCGCAGCAAAATCCGTCAGCCAGGGTGAACGATGTAAT
+GTGTGCAGCATAAATGCCTCAAAACCTCAAAATAACATCGTAGTTGGCGAGTTCGCGGCGTAAGGCATCT
+GCTTCGAGCGGCGTGGCTTCGACAACAAAAGGTGTCTGCGGATCTAACCCGCGTTCGCGCAGTGAAGCCG
+CACAAACCCAGCACTGTTCAATGTCATACAGACCCAACAATTTAAAAGTGGCAATGTAATCACGCGCCAG
+CACTGCATCGGGCTTTTGTCCTGGCAGCAGCTGAAAAACGCCATCAGCAATAAAGAAGACGGCCAGATCG
+TCAGTTAATGCGGAAGTTGCGAGTAAAGCATCTAATCCCTCGCGGCCAGCCGCGGTGCCATGAGGCACAG
+TAGAAAAAACAAACGCAATTCGTTTCATCAGAACTGTACCACCCTGTCACAGGTCAGCGAGGCTTCCGCC
+AGCGCGCCAAGTCCGCTTAAGGTAAATCCCGTCTGAAGGTTTGACGAAGCCAGCCCCAGTCTTCCGGCTT
+CCGTTTCATCAACAACGCCACGGCGTAATGCCGCCGCTACGCAGATATTCAGCGCCACACCATGTTGCAT
+ATTCAACTGTTGCCAGCTGCGCACAAGGTCAAATTCGTCGCTTGCCGGTGAGGTCAATTGGTTAGCGTTA
+TAGACCCCTTCCCGATAGAAAAAAACGCTGCTTAACTCATGGCCTTCTGCTATTAGCGCCTGCGCAAACT
+GAAAAGCACTACTCGCCTGTTGCGTACCGTATGCTGGCCCGGTCACCACGATGGCAAAACGCATTACTTA
+TCTTGCCCCTGGAAATCACCGCTCTTGAACTGGCGGATGTAGAGATAGACAGTGTGTTTGGAGATGTTCA
+GGCGGTCAGCAACCTGGTTGATCGCGTCTTTAATATCGAAGATCCCTTTCTCGTAGAGATTTAGCACGAT
+CTGACGATTTTTGGCGTTATTAGAAACATTGCGATCGGCATTCACTTCTTCGATGGTAAACTCCAGCGTT
+TGGGTAACCAGATCTTCAACAGAAGAGGCAAAGTTGACGCTTGAACCGACATCCGGAGTTTCCGGCGGCA
+CAAAAGTGCTCATAATCTGCGAGAAGGGAACATCAAGATTCATATTGATGCACAGCAGACCAATTACACG
+CTGTTCGCGGTTACGAATCGCGATAGTCAGGGACTTCATTAATACGCCGCTTTTGGCGCGAGTAAAGTAG
+CATTTAGAAACGCTGCTATCCGCTCCCGTCATATCGTGCAGCATACGTAGCGCCAGGTCAGTAATTGGCG
+AACCAATCTTCCGGCCTGTATGTTCACCGTTAGCAATGCGAATGGCTGAACATTTTAGATCCTGCAAAGA
+GTGCAAAACGATTTCACAGTGGGAGCCAATAAGCATCGCTAACCCGTCCACCACCGCTTCGTAGGATTTC
+AGAATATCAAAATCGGTCTGGTCAAAAGGACGTTGATCCAGTAAATCCAACTCACTGGTTTCGTTGGTTA
+AAAGCGACCTGGACATGAAAAAAAACACTCCTTTTCAGGAGCCTGTCGTTAACTTTTCAGGGCAGGCTCA
+TTAATGATGCGGGTAACTAAATTAATACAGCGGAGGTTCCGCTTTCCAGCACTAATTATATCCGGCCTGT
+AATAAAAAAACCGCCGCCTGGTCAGGCGGCGGTTCTTAGTGCTTATTTTTTAGCAGAGTCTGCGGCTTTC
+GCATCAGCTTCCGGCTTTGCATCAGCCTTCGGCGCTGGTTTCACATCCAGCAGCTCTACGTCAAACACCA
+GGGTAGAATTCGGTGGGATCCCCGGAACACCCGCTTTGCCGTAAGCCAGTTCTGGTGGAATAACCAGTTT
+GATCTTACCGCCTTTCTTGATGTTCTTCAGACCTTCTGTCCAACCCGGGATAACACCGTCCAGACGGAAA
+GAGAGCGGTTCACCACGGGTGTAAGAGTTGTCGAACTCTTTACCGTCGATCAGCGTACCTTTGTAGTTCA
+CTACAACAGTATCGCTGTCTTTCGGGGCTTCGCCTTTACCGGCTTCTACTACCTGATAAACCAGACCAGT
+GGAAGAGGTTTTCACACCTTTCTCTTTGGCAAATTTCTCGCGGTACTCTTTACCTTTTGCTTCGTTATCA
+GCCGCGTCTTTTTCCATCTTCGCCTGAGCAGAAGACTTCACGCGAGCTTCGAATGCTTGCAGAGTCTGTT
+CGATCTCTTGGTCGGAAAGTTTGCTCTTATCAGCAAATGCATCCTGAACACCAGCGATCAGCTGATCTTT
+ATCCAGTTTGATGCCCAGTTTTTCTTGTTCTTTAAGAGAGTTTTCCATGTAACGACCCAGCGAAGCACCC
+AGTGCATAAGCTGATTTCTGATCGTCATTTTTGAACGCTGCTTTGCTGTCAGCAGTTGTAGCAGGTTTTG
+CAGCTTCAGCAGCAAAAGTGATTGGTGCATGCAGGACAACGGCCATTGTGGTCGGCAGCAGCGTTACTTT
+AAACAGTGATTTCATCCATATCTCCAGGATCGGGGCATCTCACCCCAGGGTTAACTATTATCAGAAGGGT
+ACTATAAAGCGTTGTCGAACAAATCTACATACAGACACGCCCTATTATCATCTATTTGCAGACTCTTTTT
+GTGTTAAATTAGTTTCGATGACCGCGAAATGAGTGCTGTCTCGGGCAGCACAGTTAAGTAGAATCCGCGG
+CGACCATTCGACAAAAGAGGTGAATCATGCAGGATTTATCATTGGAACGCACGCCTGGCAGAGCTCGGAG
+AGCCCGACTGGCTTTTCAGGAAATCACCATTGAACAACTGAACGTCCCGGTGAACCGTTCATGAAATGGA
+CATGGCGAAACTGCGCCGATCATCCTGGATCTGGTGGACCGAGAACGTCAAGAGCCCAACCAGCACGTCG
+AACATCAACGTCGCAGGCTGAAGAAACGCCTCCGCCACATTATTGAGGCGTAAAAAAAGCGGGGATTCCC
+CGCTTTTTTGTCACCTTTTCGATATTAGTGGCAACCGCAACCGCCGTTGCCTTTACCGCCACAGCAGCCT
+TCGCCACCGTGTTCATGACCGTGATCGTGGCCATGACCACCGCAGCAACCGTCGTGGTCGTGATCGTGGT
+GGTGATCGTGCGCGCCGTGAACGTGACCATGAGCCAGTTCTTCTTCGGTCGCTTCGCGAATCGCCACAAC
+TTCAACGTTGAATTTCAGGTTCTGACCAGCCAGCATGTGCTTACCATCAACCACTACGTGATCGTCTTCA
+ACCGCAGTGATTTCAACCGGTACCGGACCCTGGTCGGTTTCAGCCAGGAAACGCATACCTACCTGCAGTT
+CATCAACGCCCATAAATACGTCTTTAGGAACGCGCTGCACCAGGTTTTCGTCGTACTGACCGTAAGCGTC
+GTTCGCGCCAACAGCGACATCAAATTTGTCGCCAACTTCATGACCTTCCAGCGCTGTTTCCAGGCCAGAG
+ATCAGGGAACCGTGACCATGCAGGTAGTCCAGCGGCGCACTCACCGGAGACTCATCAACCAACACACCGT
+CTTCTGTACGTACCTGATAGGCCAGGCTGACCACCAGGTCTTTTGCTACTTTCATGATATCTCCTGAGCA
+TGGGAAGAATAGTGGCGCAGATTGTAGCGGAATTCTGCAGCCGTGTACTCACTAGCTTAAAAAAACTCGG
+CGCATATCGCTAGTCCGGATGAAAAATCCCAATCACTTGCTCATCTTTGCGGACGTGATCGCGGGCTTCT
+TTGTCTGCTTCTCGCATCTGATGTCCACACTTAACACATTCAACGATATCAATATTATTTTCGCGCCACA
+TCGCCATTGAATCCTGTGCCTGACAGGCCGGGCATTTTGCGCCCGCAATAAAACGTTTTCGGATTGCCAT
+CTTTACCCTCTACTCAAATTCATCCCAGCCGTCCAGCTGGCGTCGTTCTTGTTGCATTTCACGCTGGAAA
+ATCTCTTCCAGTTCACGTCGGGCTTCCCTGGCGCGAGAAATTTGTACGGTATCAGCATGCATCGGGATTA
+ACTCCCGCAGCATTCGCATATCCAGGCGGCGAAAATGCAGTTGCGCGCGCTGCGCCTGATGCGGATGCAT
+GCCAAGCGTGACCAGCGTCTTGCGCCCCAGCTCTAACGCACTGGAGAATGTTTCACGGGAAAACTGCGTC
+ACCCCTGCCTGTAATAACTCATGCGCTTCCACACGTCCGCGCGCTCGCGCAAGAATATGCAAATGCGGAA
+AGTGCTGCTGGCATATTTCCACCAGCTTCATAGTGTCTTCCGGCTCGTTACAGGTAATGACGATAGACTC
+AGCGGCCTCTGCACCCGCAGAACGTAAAAGATCTACCTGCGTGGCGTCGCCGTAATAAACTTTGTAGCCA
+TATTTGCGCATCAGGTTAACGGCACTGATATCCCGCTCCAGTACAGTAATGCGCATTTTATTTGCCATCA
+GCAAACGACCAATCACCTGACCAAAACGCCCAAAGCCCACGACAATGACCTGCGGTTTATCATCGTTGAC
+CCATGGTTTTTCGTCTTCTTCTTCCGGTCCGTTAAACTGGCGGGATAGCCATTTATCGACCAGCTTCATC
+AGCAGCGGCGTGGTCATCATGGAAAGCGTCACCGTCACCAGCAACAGCGCCATCTGGTCGCCCTGGAATA
+AGCGTTGTGAAGAAGCGGTAGAAAAGAGGACAAAGGCAAACTCACCGCCCTGACTCAACACGCCAGCAAA
+CTGCATCCGCTCAGAACTGCGCACGCCATACAATCGCGCCAGCAGATACAGCACGAGAATTTTCACCGCC
+ACCAGCACAACCACACTTATCACTACCCACAACAGATGGGTATAAAGCACCCCGAGGTTGAGCGACATGC
+CGACAGAGATAAAGAACAAACCAAGCAGCAAGCCTTTGAAGGGATCGATAGCCGTTTCCAGTTCATGGCG
+ATATTCACTTTCCGCCAGTAGCACACCCGCAATAAACGTACCGAGCGCCATCGACAACCCCAGCGCATCC
+ATAAACAATGCGGAACCCAACACCAGCAGCAGCGTCGCGGCGGTGAACACTTCCCGCACACCAGAAGCTG
+CAATAAAACGGAATACCGGACGCAGTAAATAGCGCCCGCCAATCAGCATGCCGACAAACGCCAGCACCTT
+CATGCCGATCTTCATCCAGTCGAAATGTTCGTCTGCCGAACCCGCCAACAACGGCACTAACGCCAGTGCC
+GGGATCACCGCCAGATCCTGAAACAGCAGTACCGAGAAACCTAACTGGCCGGATTCGCTGCGATTCATCC
+CTTTCTCACGCATCAATTGCAACGCCATTGCAGTTGAAGACATCGCAAGGCCAATGCCACCGACCACCGC
+CGCCTACCATGAGAAATGGGTCAGCATCAATAATCCTGCCAGCAACGCCGCGCTTAACAGCACCTGTGCC
+GCGCCTACGCCAAAAATCGAACGCCGCAGTTGCCAAAGCTTGGAGGGATTCAACTCAAGGCCGATGATAA
+ACATCAGGAATACCACGCCGAGTTCCGAAAAGTGGAGGATCTCATCGACGTCGCTAATAAACCCCAGCCC
+CCACGGGCCAATCGCAATCCCCGCCAGCAAATATCCCAACACTGCACCAATACCCAGCCGCGATGCCAGC
+GGCACCGCAGCCACCGCCGCGAAGAGAAACAGCACTCCTGCGAGTAAAAAATCAGAACCTTCCATCAGCA
+GCCTCCTGGAGACAGCGGATTTGCCAGCCAGTCACCGTAGGCTCTGGCGTGGCTCGCCAGCTCCTGTGCG
+CTTTGCCGTCTCGCCCAGTAAATAATGATGGGGCTTAACCAATGCATCCGGCACATGCCCGCCGCCAGTT
+CAAAGGGGCGCAGAACATCGCTCATCGGGTAGCGATTCAACGCGTCATAACGGTAAGCACTTTCCGGCTC
+CCCGGTGGTAATCACGCTACGCCAGTACTTTCCCGCCAGTTGGTTTCCCCCCGGTCCGCTGGCAAAACCA
+CGGCTTAATACCCGGTCCAGCCACTCTTTCAGTAGCGCCGGGCAGCTATAGGTATAAAGAGGATGCTGAA
+AGACAATCACCTCGTGCTCGCGCAGTAATGCCTGCTCACGAGGGATATCAATAAAAAAGTCGGGATAGTG
+CGCGTAAAGGTCGTGCACGGTAACATTGCTGAGCTGCGTGGCCGGTTTAAGCAGAACCCAGTTTGCCACC
+GAGTCCTGAGATTCCGGATGGGCATACAGCAGCAAAACTTTCGCTGGCTGAGACATCATCCCCCTCCCGG
+TATGGTTTTTGTGTATAGTCGCTGTTTTGGGCTACCATTGCGCCCGGTGCGGCAGCTCGCCCATACATTA
+CATTATCATAATGATAAGTTAACATAGTCTGAACATACGGCGCCTTATGATTGTTTTTTCCTCGTTACAA
+ATTCGTCGCGGCGTGCGCGTCCTGCTGGATAATGCCACCGCCACCATCAACCCTGGGCAGAAAGTCGGCC
+TGGTGGGTAAAAACGGCTGTGGTAAATCTACCCTGCTGGCATTGCTGAAAAATGAAATCAGCGCCGACGG
+CGGCAGCTACACCTTTCCGGGAAGCTGGCAACTGGCGTGGGTGAATCAGGAAACACCGGCGTTACCGCAA
+GCGGCGCTGGAATATGTCATTGACGGCGACCGTGAATATCGTCAACTGGAAGCGCAGCTACACGACGCCA
+ACGAACGTAACGACGGGCACGCCATTGCGACCATTCATGGCAAGCTGGATGCTATTGACGCATGGAGTAT
+TCGCTCCCGTGCCGCCAGCCTGCTGCACGGCCTCGGTTTCAGCAATGAACAACTGGAGCGCCCGGTAAGT
+GATTTCTCCGGTGGCTGGCGTATGCGTCTTAACCTTGCCCAGGCGCTGATTTGCCGTTCAGACTTGCTGC
+TGCTCGACGAACCGACTAACCACCTCGATCTCGATGCCGTTATCTGGCTGGAAAAATGGCTGAAGAGCTA
+TCAGGGCACGCTGATCCTGATCTCTCACGACCGCGACTTCCTCGATCCGATCGTTGATAAAATTATTCAT
+ATCGAACAACAAAGCATGTTCGAGTACACCGGCAACTACAGTTCGTTTGAAGTACAGCGCGCCACCCGTC
+TGGCGCAGCAACAAGCGATGTATGAAAGCCAGCAGGAACGCGTAGCGCATCTGCAAAGTTATATCGACCG
+TTTCCGTGCCAAAGCCACCAAAGCGAAGCAGGCCCAGAGCCGCATTAAGATGCTTGAGCGTATGGAGCTG
+ATTGCCCCCGCGCACGTCGACAACCCGTTCCGCTTTAGCTTCCGCGCGCCGGAAAGCCTGCCAAATCCGT
+TACTGAAGATGGAAAAAGTCAGCGCAGGCTATGGCGATCGCATTATTCTCGACTCGATTAAACTGAATCT
+GGTCCCCGGCTCGCGCATTGGTCTGCTAGGCCGCAACGGCGCGGGTAAATCGACATTAATCAAACTGTTA
+GCCGGGGAACTTGCGCCAGTCAGCGGTGAAATTGGTCTGGCGAAAGGGATCAAGCTCGGCTACTTCGCCC
+AGCATCAACTGGAATACCTGCGCGCCGACGAATCGCCTATTCAACATCTGGCACGTTTAGCGCCGCAGGA
+GCTGGAGCAAAAACTGCGTGACTACCTCGGCGGCTTTGGTTTCCAGGGCGATAAAGTAACCGAAGAAACG
+CGCCGCTTCTCCGGTGGGGAAAAAGCCCGCCTGGTGCTGGCATTAATTGTCTGGCAGCGTCCGAATCTGC
+TGCTGCTCGACGAACCGACCAACCACCTTGACCTCGACATGCGTCAGGCACTCACCGAAGCATTAATCGA
+GTTCGAAGGCGCGCTGGTTGTCGTCTCGCACGACCGTCATTTGCTGCGTTCCACCACTGACGATCTCTAC
+CTGGTTCACGATCGTAAAGTCGAACCGTTCGACGGCGATCTGGAAGATTATCAACAGTGGTTGAGCGACG
+TACAAAAGCAGGAAAACCAGACCGACGAAGCGCCAAAAGAGAACGCGAACAGCGCCCAGGCACGTAAAGA
+TCAGAAGCGTCGGGAAGCGGAGCTGCGTGCGCAAACCCAGCCACTGCGTAAAGAGATTGCCCGTCTGGAA
+AAAGAGATGGAGAAGCTGAACGCGCAACTGGCGCAGGCGGAAGAGAAACTCGGCGACAGCGAACTGTACG
+ATCAAAGCCGTAAAGCGGAGTTGACCGCCTGCCTGCAACAGCAAGCCAGCGCCAAATCCGGCCTGGAAGA
+GTGCGAAATGGCATGGCTGGAAGCCCAGGAGCAGCTTGAGCAGATGCTGCTGGAAGGCCAAAGCAACTGA
+TGGCGCAGATAACAACGACCGATGCCAATGAATTTAGCAGCAGTGCTGAATTCACCCCCATGCGCGGCTT
+TAGCAATTGTCATCTACAAACCATGCTGCCGCGTCTGTTCCGTCGCAAGGTGAAATTCACCCCGTACTGG
+CAGCGGCTGGAGTTGCCCGACGGCGATTTTGTCGATCTCGCGTGGAGTGAAGATCCTGCACAGGCGCGGC
+ATAAACCGCGTTTAGTGGTATTTCACGGGCTGGAAGGCAGTCTCAATAGCCCTTACGCTCACGGTCTGGT
+TGAGGCGGCGCAAAAGCGCGGCTGGCTGGGCGTGGTGATGCATTTTCGCGGATGCAGCGGTGAACCAAAC
+CGTATGCACCGCATTTACCATTCGGGCGAAACCGAAGACGCCAGTTGGTTTTTACGCTGGCTGCAACGCG
+AGTTTGGTCATGCGCCAACGGCTGCCGTCGGCTATTCGCTCGGCGGTAATATGCTGGCCTGTTTGCTGGC
+AAAAGAAGGCAATGATCTCCCGATTGATGCGGCAGTGATTGTCTCTGCGCCGTTTATGCTGGAGGCCTGT
+AGTTACCATATGGAAAAGGGCTTTTCCCGCGTTTATCAGCGTTACTTGCTGAACCTGTTAAAAGCCAATG
+CCGCGCGCAAGCTGGCAGCCTACCCCGGCACACTGCCGATTAATCTCGCGCAGTTAAAATCGGTACGTCG
+CATCCGTGAATTTGACGATCTCATCACCGCCAGAATTCACGGCTACGCTGACGCTATCGACTATTATCGT
+CAGTGTAGCGCCATGCCGATGCTCAATCGGATAGCCAAACCGACACTGATTATTCACGCCAAAGACGATC
+CGTTTATGGATCATCAGGTGATCCCGAAACCGGAAAGTCTCCCCCCGCAGGTGGAGTATCAGCTGACTGA
+ACATGGCGGTCATGTTGGCTTTATTGGCGGTACATTACTTCATCCGCAAATGTGGCTGGAGTCACGCATT
+CCTGACTGGTTAACAACGTATCTGGAGGCGAAATCATGTTGATTCCGTGGCAAGACCTCTCCCCCGAAAC
+GCTGGAAAATTTAATTGAAAGCTTTGTGTTACGTGAAGGCACCGATTATGGTGAACATGAGCGTACACTT
+GAACAGAAAGTCGCCGACGTCAAACGCCAGCTACAGTGCGGAGAAGCGGTGCTGGTATGGTCGGAGCTGC
+ACGAAACGGTCAATATCATGCCGCGCAGTCAGTTTCGCGAATAACCTGCAACCGTCGGCGGACGAGATAA
+TAATGATAGCTAAGTCATGGAGTTACTATGTCTGCCAAACATCCGGTCATTGCGGTAACAGGATCCAGCG
+GCGCGGGGACCACCACCACCAGCCTCGCGTTTCGTAAAATATTCGCGCAGTTAAATCTGCATGCAGCCGA
+GGTGGAAGGCGACAGTTTTCACCGTTACACCCGCCCGGAAATGGACATGGCGATCCGCAAAGCGCGCGAC
+GCCGGGCGGCATATCAGCTACTTCGGCCCCGAAGCGAACGACTTCGGCCTGCTGGAACAAACCTTCATTG
+AATACGGTCAGAGCGGCAAAGGGAAATCTCGCAAATATCTGCATACCTACGACGAAGCCGTACCGTGGAA
+TCAGGTACCGGGGACATTCACCCCATGGCAACCTTTACCGGAACCCACTGATGTACTGTTTTATGAAGGT
+TTACACGGCGGCGTCGTCACGCCACAGCATAACGTTGCGCAGCATGTGGATTTACTGGTCGGCGTGGTGC
+CTATCGTTAACCTTGAGTGGATTCAAAAACTGATCCGCGACACCAGCGAGCGCGGGCACTCACGAGAAGC
+AGTGATGGACTCAGTAGTGCGCTCAATGGAAGACTATATCAACTACATCACACCGCAGTTTTCCCGCACC
+CATCTTAACTTCCAGCGCGTTCCCACCGTCGACACCTCAAACCCGTTCGCGGCAAAAGGTATCCCGTCGC
+TGGATGAAAGCTTTGTGGTGATCCATTTTCGTAATCTGGAAGGGATCGATTTCCCCTGGCTGCTGGCGAT
+GTTGCAAGGCTCATTCATTTCCCACATCAATACGTTAGTGGTGCCTGGCGGCAAAATGGGTCTGGCAATG
+GAATTAATTATGCTGCCGCTGGTGCAACGATTGATGGAAGGAAAGAAAATCGAGTAACGCTGCTATTACG
+CCGGATAAAATACTATCCGGCTTCACAACGGGATAGTTAAATCACGCGGCAACCACTTCATACGAGTGAG
+TAATATTCACCGCTTTTTCCAGCATCAGCGCCACTGAACAATATTTCTCGGCAGAGAGATCAACCGCACG
+CGCAACCGCTGCGTCTTTCAGGTCGCGACCGGTGACGATAAAATGCAGATTAATGTGCGTAAACAGGCGT
+GGTGCCTCTTCGCGGCGCTCAGAGGTCAATTTTACTTCACAATCGACCACATCCTGACGCCCTTTTTGCA
+GGATAGAAACCACATCGATGGCACTGCAACCACCCGCCGCCATCAACACCATTTCCATCGGGCTTGGTGC
+TTTATCGCCTGAGTTGCCGTCCATTAAAATCTGGTGACCAGAGGCGGATTCGCCCAGAAAAGTTAACCCT
+TCGACCCACTTCACTCGCGCTTGCATTTTTGCTACTCCACTGCGTCAATTTTCCTGACAGAGTACGCGTA
+CTAACCAAATCGCGCAACGGAAGGCGACCTGGGTCATGCTGAAGCGAGACACCAGGAGACACAAAGCGAA
+AGCTATGCTAAAACAGTCAGGATGCTACAGTAATATATTGATGTACTGCATGTATGCAAAGGACGCCACA
+TTACCGTGCAGTACAGTTGATAGCCCCTTCCCAGGTAGCGGGAAGCATATTTCGGCAATCCAGAGACAGC
+GGCGTTATCTGGCTCTGGAGAAAGCTTATAACAGAGGATAACCGCGCATGGTGCTTGGCAAACCGCAAAC
+AGACCCGACTCTCGAATGGTTCTTGTCTCATTGCCACATTCATAAGTACCCATCCAAGAGCACGCTTATT
+CACCAGGGTGAAAAAGCGGAAACGCTGTACTACATCGTTAAAGGCTCTGTGGCAGTGCTGATCAAAGACG
+AAGAGGGTAAAGAAATGATCCTCTCCTATCTGAATCAGGGTGATTTTATTGGCGAACTGGGCCTGTTTGA
+AGAGGGCCAGGAACGTAGCGCATGGGTACGTGCGAAAACCGCCTGTGAAGTGGCTGAAATTTCGTACAAA
+AAATTTCGCCAATTGATTCAGGTAAACCCGGACATTCTGATGCGTCTGTCTGCACAGATGGCGCGTCGTC
+TGCAAGTCACTTCAGAGAAAGTGGGCAACCTGGCGTTCCTCGACGTGACGGGCCGCATTGCACAGACTCT
+GCTGAATCTGGCAAAACAACCGGATGCTATGACTCACCCGGACGGTATGCAAATCAAAATTACCCGTCAG
+GAAATCGGTCAGATTGTCGGCTGTTCTCGTGAAACCGTGGGACGCATTCTGAAGATGCTGGAAGATCAGA
+ACCTGATCTCCGCACACGGTAAAACCATCGTCGTTTACGGCACTCGTTAATCCCGTCAGAGTGGCGCGTT
+ACCTGGTAGCGCGCCATTTTGTTTCCCCCGATGTGGCGCAGACTGATTTATCACCCCGATATCAACTATG
+CACTTCGACAAACGCTGGTGCTATGTTTGCCCGTGGCCGTTGGGTTAATGCTTGGCGAATTACGATTCGG
+CCTGCTCTTCTCCCTCGTTCCTGCCTGTTGCAATATTGCGGGCCTTGATACGCCTCATAAACGTTTTTTC
+AAACGCTTAATCATTGGTGCGTCGCTGTTTGCCACCTGTAGCTTGCTGACACAGGTGCTACTGGCAAAAG
+ATGTTCCCCTGCCCTTTTTGCTGACCGGATTAACGCTGGTACTTGGCGTCACTGCTGAACTGGGGCCATT
+GCACGCAAAATTGCTTCCCGCATCGCTGCTCGCTGCCATTTTTACCCTCAGTCTGGCGGGATACATGCCG
+GTCTGGGAACCGTTGCTCATCTATGCGCTGGGCACTTTGTGGTACGGATTGTTTAACTGGTTTTGGTTCT
+GGATCTGGCGCGAACAACCGCTACGCGAGTCACTAAGTCTGCTGTACCGTGAACTGGCAGATTACTGTGA
+AGCCAAATACAGCCTGCTTACCCAGCACACCGACCCTGAAAAAGCGCTGCCGCCGCTGCTGGTGCGCCAG
+CAAAAAGCGGTCGATTTAATTACCCAGTGCTATCAGCAAATGCATATGCTTTCCGCGCAAAATAATACCG
+ATTACAAGCGGATGCTGCGTATTTTCCAGGAGGCGCTGGATTTGCAGGAACATATTTCGGTCAGTTTGCA
+TCAGCCGGAAGAGGTGCAAAAGCTGGTCGAGCGTAGCCATGCGGAAGAAGTTATCCGCTGGAATGCGCAA
+ACCGTCGCCGCTCGCCTGCGCGTGCTGGCTGATGACATTCTTTACCATCGCCTGCCAACGCGTTTTACGA
+TGGAAAAGCAAATTGGCGCACTGGAAAAAATCGCCCGCCAACACCCGGATAATCCGGTTGGGCAATTCTG
+CTACTGGCATTTCAGCCGCATCGCTCGTGTGCTGCGCACCCAAAAACCGCTCTATGCCCGTGACTTACTG
+GCCGATAAACAGCGGCGAATGCCATTACTTCCGGCGCTGAAAAGTTATCTGTCACTAAAGTCTCCAGCGC
+TACGCAATGCCGGACGACTCAGTGTGATGTTAAGCGTTGCCAGCCTGATGGGCACCGCGCTGCATCTGCC
+GAAGTCGTACTGGATCCTGATGACAGTATTGCTGGTGACGCAAAATGGCTATGGCGCAACCCGTCTGAGG
+ATTGTAAATCGCTCCGTGGGAACCGTGGTCGGGTTAATCATTGCAGGCGTGACGCTACACTTTAAAATTC
+CCGAAGGTTACACCCTGACCTTGATGCTGATTACCACCCTCGCCAGCTACCTGATATTGCGCAAAAACTA
+CGGCTGGGCGACGGTCGGTTTTACTATTACCGCAGTGTATACCCTGCAACTGTTGTGGCTGAACGGTGAG
+CAGTACATCCTTCCGCGTCTTATCGATACCATTATTGGTTGTTTAATTGCTTTCGGCGGTACTGTCTGGC
+TGTGGCCGCAGTGGCAGAGCGGATTATTGCGTAAGAACGCCCATGACGCTTTAGAAGCCTATCAGGACGC
+GATTCGCTTGATTCTGAGCGAGGACCCGCAACCTACGCCACTGGCCTGGCAGCGAATGCGGGTGAATCAG
+GCGCATAACACTCTGTATAACTCATTGAATCAGGCGATGCAGGAACCGGCGTTTAACAGCCATTATCTGG
+CAGATATGAAACTGTGGGTAACGCACAGCCAGTTTATTGTTGAGCATATTAATGCCATGACCACGCTGGC
+GCGGGAACACCGGGCATTGCCACCGGAACTGGCACAAGAGTATTTACAGTCTTGTGAAATCGCCATTCAG
+CGTTGTCAGCAGCGACTGGAGTATGACGAACCGGGTAGTTCTGGCGATGCCAATATCATGGATGCGCCGG
+AGATGCAGCCGCACGAAGGCGCGGCAGGTACGCTGGAGCAGCATTTACAACGGGTTATTGGTCATCTGAA
+CACCATGCACACCATTTCGTCGATGGCATGGCGGCAGCGACCGCATCACGGGATTTGGCTGAGTCGCAAG
+TTGCGGGATTCGAAGGCGTAATACAGGCTAAACCATCGGATGAGGTGTTCACGCCGCATCCGACATCTTT
+TGCCTGATGCGACGCTGACGCGTCTTATTTACGCCCCAATCACCTTCGCCACCGCGTGGGCGAAACGATG
+CATCCCTTCATCAATATCCGCATCTTCCACCACCAGCGACGGCGCAAAACGCATCACATCAGGCCCGGCA
+TTCAGCACCATTACGCCTTCCTCTGCACCCGCATACAGGAAATCACGCGCCCGACCTTTGTACTGTGGTT
+TCAGCTCTGCGCCAATCAACAGCCCCATACCGCGAATATCGCTAAACACATCGTACTGCTGATCGATCTT
+CTGCAAATGGTCAACAAAACGCTGGCGTTTCGCCTGAATACCTTCCAGCACTTCAGGGGTATTGATGATA
+TCAAACGCTGCGCCCGCTACTGCACAGGCCAGAGGATTACCGCCGTAGGTGGAACCGTGAGAACCAGGAT
+GAAACGCGGAAGCAATCTCCGCCGTGGTCAGCATGGCGCTAACCGGGAAACCGCCACCTAACGCTTTCGC
+AGAGGTCAGAATATCCGGCGTCACGCAGTAGTGCATATAAGCAAACAGATCGCCGGTCCGCCCCATCCCG
+GACTGCACTTCATCAAACACCAATAATGCCTGATGCTGATCACACAGCTCGCGCAAGCCCTGCAAAAACT
+CTGGCGTCGCTGCCGTCACGCCGCCCTCGCCCTGAATCGGCTCAACCACCACCGCACAGGTATGGTCATC
+CATCACGGCTTTTACTGCGTGAAGATCGTTAAAAGGCACGTGGATGATGTCTGCCGGTTTTGGCCCAAAG
+CCGTCGGAATATTTTGGCTGCCCACCCACCGAAACGGTAAACAGCGAGCGACCATGAAAAGCGTTATGGA
+AGGCAATAATTTTGGTTTTGAACGGGCTATGACGCACACAGGCGTAATGGCGTGCCAGTTTAAAGGCGGT
+TTCGTTAGCTTCCGTGCCGGAGTTCATAAACACCACGCGTTCGGCAAACGTTGCCTCAATCAGTTTACGG
+CCAAGACGCAGCGCCGGCTCATTGGTGAAAACGTTACTAATATGCCACAGAGTTTCGCCCTGGGTTTTTA
+ACGCGTTCACCAGCGCAGGATGGCAATGGCCCAACGCCGTAACTGCAATGCCACCCGCGAAATCGACATA
+CTCCTTGCCCTGTTGATCCCAGATTCGGCTGCCCTGACCTTTTACCGGAATAAACTCTGCCGGAGCATAA
+ATCGGCAGAATCACTTCATCGAAAGTCGCGCGTGTAATTGCTGTTTGTTCAATTGCCATCTCATGATCAC
+CCTGTTACGCATAAATAAATATGAAATTATAATCACAAAATATGCATAAAAAATCACTGAATGGCAATCA
+GAAATCAGCGATGCAGAAAATTAGCCAGCAGTTGATGTCCTTGTTCGCTAAGAATACTTTCTGGATGGAA
+TTGCACACCTTCCAGATCCCACTGGCGATGGCGAATCCCCATAATCTCGCGGGTTTCGCTCCAGGCCGTC
+ACTTCAAAGCACTCCGGTAATGAGTCAGGTTCCACCACCAGCGAATGGTAGCGTGTCACGGTGAGTGGAT
+TTGCCAGCCCCTTAAATACGCCCACACCATTATGTGTAATCGGCGAGGTTTTGCCGTGCATGACCTTTGC
+GGCGCGCACAACTTTGCCGCCAAATGCCTGCGCCATTGCCTGGTGACCGAGGCAGACGCCAAGAATCGGC
+AAGCGTCCGGCATAGTGACGAATAACGTCAAGGGAGATCCCGGCTTCATCTGGCGTACAGGGGCCGGGTG
+AGATGACAATTTTTTGTGGTTTAAGGGCGTCGATATCCGCCAACGTCAACGCATCGTTGCGCTTAACCAA
+CACATCCGCCCCCAGTTCACAAAAGTACTGGTAGAGGTTCCAGGTAAAAGAATCGTAGTTATCAATAAGC
+AGGATCATGGCGGCTCCGGTACGAAAGAACCGCGCTATTTTACTCAGATTCCCCGGCTTCGCTTACCACT
+TTACTAAATATCATCTGCAGCGCGGTGAGATCCCCCATTGCCCCATTCTGATTTGCCTGATTCCAGGCCT
+CTTTTTCGATACCCTGCCAGCTCAGTTGATATCCGGCATGAATCGCCAGTTGCTCGAAGAAGATCCGCTG
+TGCCAAACCACTTCCCACCCGGAAGGGATGCAGCACGTTGATTTCACAATAGTAATGCGCCAGCCGCTCG
+ACGAACTTCGCTTTCTCCAGGCCAACCAGATAACCTTCTTCCTCCAGATCCTGCATCAGGGCATTGCCCT
+CTTTTTCGATATAAGCAAAGTGGCAGAACGGCGTATCGCCCTGATAAATATCAACTTCACGCAGTTGCCC
+TGCCCAGTCGAAAATATCCTGATACAACTGGCGATGAAGAGTAAGCAAATGCGGTAAACCCCGAACCAAC
+GGGCCAAGTTCAATGGTCGCAGCACGTAGCGCTGTCATTTCGTAAGCGACCTGTTCCAGCCGCTGCTGCT
+GGCGGATGTTGAGCTTATTACGCATGATATCGAGACCAGGGTAGAGATATGGGTCACGCCCTTCGCCGAA
+TTTATCGCTCATAGTGCCTCCTCAGCGCTTCAAGGCGCGCTAAAGCCTCTGCGGCAGTAAGAGTGACTAA
+AGGCATCTCGACGCCTTCAAGACGGCGACTGGCCTGGAAATTACGATTACGCTGAAGCTCCCAGAGACGG
+GACTTTTGCTTATCGGTGAGTTTCTTCACTTGATGCCTCCCTGAACGTGTCCATTTGCCACAAGTATAAG
+CGGCAAATCCGGGTTACGCCGGGAGAGCAGAAGCGCGGGCAAGATTGCCCGCGCGAGAAATCATTACGGC
+AGGACTTTAGCGGAAAGGATAACTACCGGTTTTGACGGCACATTCTGGTACGGACCAACGTCATGAGTCG
+GCACCTGGGAAATCTTATCGGCAACGTCCATGCCTTTCACCACTTTACCAAATACCGCGTAACCGAAATC
+ACGCTGACCGTGGTCAAGGAAGGCGTTATCGGCAACGTTGATAAAGAACTGGCTGGTGGCGCTGTCTTTG
+TCAGCGGTACGCGCCATCGCGATGGTGCCACGCGTGTTGCGCAGGCCGTTATCTGCTTCATTTTTGATTG
+GCGGGTTTGGTTTTTTCTGCTGCATCTGCTCGGTGAAACCGCCGCCCTGAATCATAAAGCCAGGAATGAC
+GCGGTGAAAGGTCGTGTTGTTATAAAAACCACTGTTCACATAATCGACAAAGTTTTGCACAGACACTGGC
+GCTTTTTGTTTATCCAGCTCCAGTTCGATGTTACCAGCTGAGGTTGTCAACAATACGTGCGGGTCCCCTT
+TCGCTGCCATTGCTGCGGGAGAAAGAGCAGAAAGAGCGAAAACAGCAGCCATCGCCGCCAGGGTCGATTT
+GAACATGAGATTTCCTTAACAAACAGAGCAGAAAAAAAGCAAGTGAAGAGATTCTAAATAGCCTTCAAGA
+ACAAGGCCATCCCTTTACCTAATTTTACGTATCTGAAATATATGTAACCTGAGGATAACTTTTTATTCCG
+TGATCAAAATCACCTCTTAAAATGCAATTTAGCAACCGATTGCAATAAAACATTTAATCAGATCACAAAA
+TCGCCTAAAATCGCCCGCTCGCGGCATAGCCCGCTATGCCATTTTATTTTTGAACGCAGGCCAATCATGA
+CTAACAGCAATCGCATCAAGCTCACATGGATTAGCTTTCTTTCCTACGCACTGACCGGTGCGTTGGTTAT
+TGTCACCGGGATGGTGATGGGAAATATCGCCGATTATTTCAATCTGCCTGTTTCCAGCATGAGTAACACC
+TTCACCTTCCTCAATGCCGGCATTTTAATCTCTATCTTCCTCAACGCCTGGCTGATGGAAATCGTCCCGT
+TGAAAACGCAGTTACGTTTTGGCTTTCTCCTGATGGTGCTGGCGGTTGCCGGTTTGATGTTCAGCCACAG
+CCTGGCGCTGTTCTCGGCGGCGATGTTCATTCTCGGGGTGGTCAGCGGCATCACCATGTCGATTGGTACA
+TTCCTGGTAACACAAATGTATGAAGGACGTCAGCGCGGTTCACGCCTGTTATTTACCGACTCCTTCTTCA
+GTATGGCCGGGATGATTTTCCCAATGATCGCCGCGTTTCTGCTGGCACGTAGCATTGAGTGGTACTGGGT
+TTATGCCTGCATCGGGCTGGTGTATGTTGCTATTTTTATTCTGACCTTCGGCTGTGAATTCCCGGCACTG
+GGCAAACATGCGCCAAAAACAGATGCTCCGGTAGAGAAAGAAAAGTGGGGGATCGGCGTACTGTTTCTCT
+CTGTTGCGGCGCTGTGCTACATCCTCGGTCAGTTAGGTTTTATCTCCTGGGTGCCAGAATATGCCAAAGG
+TCTGGGTATGAGCCTGAATGACGCTGGCACGCTGGTAAGTAACTTCTGGATGTCGTACATGGTCGGCATG
+TGGGCGTTCAGCTTTATTCTTCGCTTCTTTGATTTGCAACGTATCCTGACCGTACTGGCTGGTCTGGCTG
+CGATTCTGATGTACGTCTTTAACACCGGAACACCGGCATATATGGCGTGGTCAATTCTCGCCCTGGGCTT
+CTTCTCCAGCGCGATCTATACCACCATCATCACCCTGGGTTCACAGCAGACCAAAGTACCGTCGCCAAAA
+CTGGTTAACTTTGTCCTGACCTGCGGGACTATCGGTACTATGTTGACCTTTGTGGTTACCGGCCCGATTG
+TTGAACATAGTGGTCCGCAGGCGGCGCTGCTGACGGCAAACGGTCTGTACGCTGTCGTCTTTGTGATGTG
+CTTCCTGTTAGGTTTCGTCAGCCGTCACCGTCAGCATAACACCCTGACCTCTCATTAATTGTTCATGCCG
+GGCGGCACTATCGTCGTCCGGCCTTTTCCTCTCTTACTCTGCTACGTACATCTATTTCTATAAATCCGTT
+CAATTTGTCTGTTTTTTGCACAAACATGAAATATCAGACAATTCCGTGACTTAAGAAAATTTATACAAAT
+CAGCAATATACCCCTTAAGGAGTATATAAAGGTGAATTTGATTTACATCAATAAGCGGGGTTGCTGAATC
+GTTAAGGTAGGCGGTAATAGAAAAGAAATCGAGGCAAAAATGAGCAAAGTCAGACTCGCAATTATCGGTA
+ACGGTATGGTCGGCCATCGCTTTATCGAAGATCTTCTTGATAAATCTGATGCGGCCAACTTTGATATTAC
+CGTTTTCTGTGAAGAACCGCGCATCGCTTATGACCGCGTACACCTCTCGTCTTACTTCTCTCACCACACC
+GCCGAAGAGCTGTCGCTGGTGCGCGAAGGCTTCTACGAGAAACACGGCATCAAAGTTCTGGTCGGCGAAC
+GCGCTATCACCATCAACCGTCAGGAGAAGGTGATTCACTCCAGCGCCGGACGTACCGTTTTTTATGACAA
+GCTGATCATGGCGACCGGTTCCTACCCGTGGATCCCGCCAATTAAAGGTTCTGATACTCAGGACTGCTTT
+GTCTATCGCACCATTGAAGACCTCAACGCCATTGAATCCTGCGCTCGTCGCAGCAAGCGCGGTGCCGTTG
+TTGGTGGCGGCCTGTTAGGTCTGGAAGCTGCTGGCGCGCTGAAAAACTTAGGCATTGAAACCCACGTTAT
+CGAATTTGCCCCTATGCTGATGGCGGAACAGCTTGATCAGATGGGCGGCGAGCAGCTGCGTCGCAAAATC
+GAAAGTATGGGCGTGCGCGTTCACACCAGCAAAAACACTCTTGAGATTGTGCAGGAAGGTGTTGAAGCGC
+GTAAAACCATGCGTTTTGCCGACGGCAGCGAACTGGAAGTCGACTTTATCGTCTTCTCTACCGGTATCCG
+TCCGCGCGATAAGCTGGCAACCCAGTGTGGTCTGGACGTTGCTCCGCGTGGGGGTATCGTCATCAATGAT
+TCCTGCCAGACTTCCGATCCGGATATCTACGCCATCGGTGAATGCGCAAGCTGGAACAACCGTGTATTTG
+GTCTGGTAGCACCAGGCTACAAAATGGCGCAGGTCGCCGTTGACCATATTCTTGGTAGCGAAAACGCCTT
+TGAAGGTGCAGACCTTAGCGCCAAGCTGAAACTGCTGGGCGTAGACGTAGGCGGTATTGGTGATGCGCAC
+GGTCGCACGCCTGGCGCACGTAGCTACGTTTACCTCGACGAAAGCAAAGAGATCTACAAACGCCTGATTG
+TCAGCGAAGACAACAAAACCCTGCTCGGTGCGGTACTGGTGGGCGATACCAGCGACTACGGCAACCTGCT
+GCAACTGGTGCTGAACGCTATCGAGCTGCCGGAAAACCCGGATTCCCTGATCCTGCCAGCGCACTCGGGT
+AGCGGTAAGCCGTCTATCGGTGTTGATAAACTGCCGGACAGCGCGCAAATCTGCTCCTGCTTCGACGTCA
+CCAAAGGCGACCTGATTGCTGCTATCAACAAAGGCTGCCACACCGTTGCGGCGCTGAAAGCCGAAACCAA
+AGCCGGTACGGGCTGCGGCGGTTGTATTCCGCTGGTCACTCAGGTACTGAACGCGGAACTGGCGAAACAG
+GGTATCGAAGTTAACAACAACCTGTGTGAACACTTTGCTTATTCGCGTCAGGAACTGTTCCATTTGATCC
+GCGTTGAAGGCATTAAAACCTTCGAAGAACTGCTGGCGAAACACGGCAAAGGCTACGGTTGTGAAGTTTG
+TAAACCGACCGTCGGTTCGCTGCTGGCCTCCTGCTGGAACGAATACATTCTGAAGCCGGAACATACTCCG
+CTGCAGGATTCTAACGACAACTTCCTCGCGAACATCCAGAAAGACGGCACCTACTCGGTGATCCCGCGTT
+CTCCGGGCGGTGAAATCACCCCGGAAGGGCTGATGGCAGTAGGTCGTATCGCGCGTGAATTTAATCTCTA
+CACAAAAATCACCGGCTCTCAGCGCCTGGCGATGTTTGGCGCACAGAAAGACGATCTGCCAGAGATCTGG
+CGTCAACTGATTGAAGCCGGCTTCGAAACCGGTCATGCCTATGCGAAAGCACTGCGTATGGCGAAAACCT
+GCGTGGGAAGCACCTGGTGCCGCTACGGTGTTGGCGACAGCGTCGGCCTCGGCGTGGAACTGGAAAACCG
+TTACAAAGGCATCCGTACGCCGCACAAAATGAAGTTCGGTGTCTCCGGCTGTACCCGTGAATGTTCAGAA
+GCTCAGGGTAAAGACGTGGGTATTATCGCCACTGAAAAAGGCTGGAACCTGTATGTTTGCGGTAACGGCG
+GCATGAAACCGCGTCATGCGGATCTGCTGGCAGCGGATATCGATCGCGAAACGCTGATCAAATATCTTGA
+CCGCTTCATGATGTTCTACATCCGTACTGCCGACAAACTGACGCGTACCGCGCCGTGGTTAGAAAACCTC
+GAAGGTGGCATCGATTACCTGAAAGCGGTGATCATTGACGACAAACTGGGGCTGAACGCTCATCTGGAAG
+AAGAGATGGCGCGCCTGCGGGAAGCGGTAGTGTGCGAATGGACTGAAACGGTCAATACGCCGTCTGCGCA
+GACTCGCTTCAAACACTTCATCAACAGCGACAAGCGTGACCCGAACGTGCAGATGGTGCCAGAGCGCGAA
+CAGCACCGTCCGGCAACGCCGTATGAACGTATCCCGGTAACTCTGGTGGAGGACAACGCATGAGCCAGTG
+GAAAGACATCTGCAAAATCGATGACATCCTGCCTGAAACCGGCGTCTGCGCGCTGTTAGGTGACGAACAA
+GTAGCAATTTTCCGCCCGTATCACAGCGATCAGGTGTTTGCGATCAGCAACATCGACCCGTTCTTTGAGT
+CCAGCGTGCTGTCACGCGGGTTGATTGCGGAACACCAGGGCGAGCTGTGGGTCGCCAGCCCGCTGAAAAA
+ACAGCGTTTTCGCTTAAGCGACGGCTTGTGCATGGAAGACGAACAGTTTTCCGTCAAGCATTACGACGCG
+CGAGTGAAAGACGGCGTGGTACAGCTGCGCGGTTAATATTTTAACGGGAGGCGCAATGCCTCCCCTTTTT
+GCATGGTCCTGTAATAACTTTCGGTATATTGCAGGACATTTTTTAAACTTTTTGTTTTATTTTTTGTTTT
+TATTTTTTAAAGGATAATCAAATGTTTACAGACACTATTACTAAGTGTGCGGCTAACGCTGCGCGCATTG
+CACGCCTGTCGGCAAATAACCCGCTCGGCTTTTGGGTCAGCTCCGCCATGGCGGGCGCGTATGTGGGTCT
+TGGGATCATCCTGATTTTCACGCTCGGTAATTTGCTCGACCCGTCCGTACGTCCTCTGGTGATGGGCGCG
+ACCTTTGGTATCGCCTTAACGCTGGTCATTATTGCTGGTTCTGAACTGTTCACCGGACACACCATGTTCC
+TCACCTTTGGAGTGAAAGCGGGCACTATCAGCCACGGGCAAATGTGGGCAATCCTGCCGCAAACCTGGCT
+GGGTAACCTGGTCGGTTCCGTCTTCGTTGCCATGCTTTATAGCTGGGGCGGCGGTAGCCTGCTGCCGGTC
+GATACCAGCATCGTTCACTCCGTCGCGCTGGCTAAAACCACCGCACCGGCAATGGTATTATTCTTCAAAG
+GCGCATTGTGTAACTGGCTGGTTTGTCTGGCTATCTGGATGGCGTTGCGCACTGAAGGGGCGGCGAAATT
+TATCGCTATCTGGTGGTGTTTGCTGGCATTTATCGCGTCCGGCTACGAGCACTCCATCGCTAACATGACG
+CTGTTCGCACTCTCCTGGTTCGGCAACCACAGCGAAGCCTACACGCTGGCGGGCATTGGTCATAACCTGC
+TGTGGGTGACGCTGGGTAATACTTTATCGGGTGCCGTATTCATGGGATTGGGTTATTGGTATGCTACGCC
+GAAAGCGAATCGTCCGGTTGCGGACAAATTTAATCAAACTGAAACGGCTGCCGGTTAATTACTAAGGGGT
+TTTTACGTGGATCATTTGCCTATATTTTGCCAATTACGCGATCGCGACTGTCTGATTGTCGGCGGTGGTG
+ATGTCGCGGAACGCAAAGCAAGGTTGCTGTTAGACGCAGGCGCTCGCTTAACGGTGAATGCATTAGCGTT
+TATTCCACAGTTCACCGCATGGGCAGATGCAGGCATGTTAACCCTCGTCGAAGGGCCATTTGATGAAAGC
+CTTCTCGACACCTGCTGGCTGGCGATTGCAGCGACAGATGATGACGCGCTTAACCAGCGCGTCAGTGAAG
+CCGCTGAATCTCGTCGTATCTTCTGTAACGTGGTCGATGCGCCGAAAGCCGCCAGCTTTATTATGCCGTC
+GATTATTGACCGCTCACCGCTCATGGTCGCGGTCTCCTCTGGCGGTACTTCTCCGGTTCTGGCGCGCCTG
+TTGCGTGAAAAACTTGAATCACTGCTGCCGTTGCATCTGGGCCAGGTAGCGAAATACGCCGGGCAATTAC
+GTGGTCGAGTGAAACAACAGTTCGCCACAATGGGTGAACGTCGCCGTTTCTGGGAAAAACTGTTCGTTAA
+TGACCGTCTGGCGCAGTCGCTGGCAAACAACGATCAGAAAGCCATTACTGAAACCACCGAACAGTTAATC
+AACGAACCGCTCGACCATCGCGGTGAAGTGGTGCTGGTTGGTGCAGGTCCGGGCGATGCCGGGCTGCTGA
+CACTAAAAGGTCTGCAACAAATTCAGCAGGCAGATGTGGTGGTCTACGACCGTCTGGTTTCTGACGATAT
+TATGAATCTGGTACGCCGCGATGCTGATCGCGTTTTCGTCGGCAAACGCGCGGGATACCACTGCGTACCG
+CAGGAAGAGATTAACCAGATCTTGCTGCGGGAAGCGCAAAAAGGTAAACGCGTGGTGCGTCTGAAAGGCG
+GCGATCCGTTTATTTTCGGGCGTGGCGGAGAAGAGCTGGAAACACTGTGCAACGCGGGTATTCCATTCTC
+GGTGGTTCCGGGTATTACCGCAGCTTCTGGTTGCTCTGCCTATTCGGGTATTCCGCTCACGCATCGCGAT
+TATGCCCAGAGCGTACGCTTAATTACTGGACACTTAAAAACCGGTGGCGAGCTGGACTGGGAAAACCTGG
+CGGCAGAAAAACAGACGCTGGTGTTTTATATGGGGCTGAATCAGGCTGCAACTATTCAGCAAAAGCTGAT
+TGAATACGGTATGCCTGGTGAAATGCCGGTGGCAATTGTCGAAAACGGAACGGCAGTCACGCAGCGCGTG
+ATTGACGGTACGCTCACGCAGCTGGGCGAACTGGCGCAGCAAATGAACAGTCCATCGCTAATTATTATTG
+GTCGGGTTGTTGGCCTGCGCGATAAATTGAACTGGTTCTCTAACCATTAATTTAACCAGGGCCAGAGAAG
+TCTGGCCTTTTTCGTTTACAACTCTCTTTATATATTCAGCAGATAAAAACATACCCCCTTAATAAATATT
+GTCTGCTAATGGGTTATATTCACCGTTACAGCGACTTACAAAATTAAATCAATCGCTCACTGACGCTAAT
+TGAATATTCCTGTATCGTTCTTAATGAGCAGTCTGCTTATATTCATATAATCAATGAATATTAATTAATA
+TATAATACATAGGGAATGTAAATGAACAAATTTATTAAAGTTGCACTGGTAGGCGCAGTACTGGCTACGT
+TAACTGCATGTACTGGTCATATTGAAAACCGTGATAAGAACTGCTCTTACGACTACCTGCTGCACCCGGC
+AATTTCTATTTCTAAAATCATTGGCGGTTGCGGTCCGACTGCACAGTAAGCTATTGACAGAAATCGGCTA
+ACGCCGGTTTAATTGCCTGACGCCCTCGGAGTTATCCGAGGGCGTATTTATTTCTGCATTCTTTTCGAAA
+ACATCATGCACAAGATTAAATACTGGCAATACTCTCACGCAAAATCCGCAGCACCGTCTCTTCACCGCTG
+CGATTCGGGTTAATGCGAATCGCGCAATGTTCGAGTTGTGGATTCGCCTGACGAAACGTTCCGGAAAGTC
+GATAAAAGAGCGGCGGGATTTCATATTTCGACTCTGCACCAACCGGGTAAGGCAAGGCACCGAGTTTCTG
+CGCCTCTTCCAGCACTCTGGCGGCAATCGGCTGATGAAACTCCACAATCAATACCTTCGACTGTGCATTG
+GCAATGACGGCGCTTTTCACTTCCGCCACCGCGCCGCCGTTAAGCAAAGCCAGCAACCGTTCAGATACCC
+CCGCCTGCACCGCGTGCATCACTGGCGCGAGCACCAGACCACGCAACACCTCTAATGCCTGCGCCCCCTG
+AATCTGACTGCCGCCGGAATAGAGCGTGGCGCGAATCCGGCTAATAACATCGGCATCGCCTACCACCGCA
+CCAACGCCCTCTGGCCCAAATAGCTTGAAGCAGGAAAATGTCGACACATTCGCCCCGCATTCGCAGCCGA
+TTCGCGCTACCTTCATCACCGCATAGTTGTCATCGGTTAACGCTGGAACACCTGCCGCGCGCAACGTTGC
+CAGCACGTCTGCCAGCACATAGCGGTCCTGCGGCTGCTGGCGCGTATGCTGCACCAGCGCTGCATCAGGT
+TGTTGCTCGTCAACAACCTGCTTCAGTGCCGACAGATCATTGAAATCAGCCGTAATGAGCGTTAGTCCCA
+TCTGCTCAATAATAACCCGTGTCGTTGGGTAAACCGGCGCGTCATGCACCAGAAGACGTTGCCCCGGTTT
+GAGCAAAGCCGCCAGTGCCGCACGGATCGCGCCAGTACCCGCGCCCTGTACCAGCGCCGCAGCCTGTGCG
+TGAAATGCATCAGCCAGCACCTGTTCCACACGCTGGGTAATGCGGGGCTGATTTAGCCCCGGCGTTAAGC
+CCAAATCACCGCAGGTAAGAAACTCGCTGCCAGGAAAATGACGGCAAATCGTGTCCACCAGCGCAAACTG
+CTTTTGCTGCGCCTCAATAAGCGTCAGGCTTTGCAGAGGAAACGTCTTCATAGGTGCCTTCCTTAAGCCG
+GAACGAACAGGCCAAGCCAGTAAAGAACATTCAGCAGGATGCCGGTGATCATTACTGCTACGACCGGTGC
+CGCCATTTTCTGTACCGGACGGCCCAGGGATTCGTTGAGGAAGTAAATGGCAACCGCGATAGAGAATCCG
+GTATAGCCCGCCATTTTGATTGCCGCAAAGATCGAACCGACCAGCAACGCCACTTCCATCAGCATATTCA
+TGGCGTTACGGATGTTATCCGACGCATTACGTACCGACGGGTAGCGCCCCAACCATTTGCCGATCGAACG
+AAGCAGCAAGACTTCCGCCGAAATAACCACTGCGCCTAATACCGCTGCAACCATCGGATTCGGCGAGAGA
+TAGCCCACCGCATAAACAAAGGTAAAGCCCGCAACTGCATACACACCGGTGGCTAACGCGGTGGTGGCAA
+TCAACGGCACAAAACCCAGCCCGCGCATAAATTCTGCCAGTGCCGCCTGGTTGATTAGTGTTTGCGATTG
+TTCCGGCGTTACGCCTGCGGAGTACGCTTTCTCCAGTGTGAAGATCGACACTTCACTACCGGCGAAAATC
+TTCATGCTGGCAACGGCAGCAATCAATGCACCCACGATGGCGATATACGGTAAGTTTTTGATAATCCGTG
+ATGTACGCTCTTCAAACACCGACATACCGCTGGCATCGATATCATTTTCATCACGATGGCGCAGGTCATG
+AGTTATTGCGATCCCCAGCAGCATCACCATGCCAATAAAGATTTCGATGGATTCAGGGTTAAGATGTGGG
+AAATAGCGCACTACCACCACACGAGTCATCAGTACCACCACGGCGGCGATCAGACTTTGCTTCCAGCCAA
+ACTGGTAGAAAATCGCCACCAACGGGAACAGTGCAAAAGCTGAAACCACCGGCGAGCTTAATTCCCCCAG
+GCTACCTAATACATCCACCGGTAGCGCGGTCAGCAGCTGGTTTACTGGCAACAGACAGGTGAGGATCAAT
+ATTCCCCAGATAGCACCAAGACCAAACGCCATCAGGCTGTTTATCGCCAGTACGCCGAGGATATCGGTAG
+GAAGAAAGAGTAACCATGCGTTGAGCAGCCCGGTTTTCAGGGTAAAAGAGATCCCCACCGAGGCCACAAA
+ACCAATGCTCAGACCAAAAGCGATACTCCCCGCCTCGCGACGGTTCATATAGCCTTCAATCAGTTGCGGC
+AGGATCGGGCGGATACCGTCATGAAAAACGGCTGCCGAGCGATGCGCCAGAAGCGATGTCATACCCGTCA
+GGCACGCCACCACGATAATCTGAATGTACAGATCCATAGTCGTGCCTTTTATTTCAGATGGTTAATCAGC
+ATCGGAATCGCGTGTTCGACGTGCTCAACGGAAAGGCCAAACGCCACTTTTCCTTCAGCGACCATTTTGG
+CGATATGCTCGTCTTTCGCTTTAATGCCCGGCTTGGCAATGGTGCAACTTTTGTTATAGCCAATCACCGC
+GATAGCAATCGACAATGCCGCGCCCGCACCGGTATTACACGCGCCGATGTAGTAATCCAGTTGCCCGGAT
+TTCACTTTCATTGCCGCTTCCATGTCGTTGTGAATGAAAACTTCAAAACAGCCAGGAGCCGTCGCTTCAA
+TGGTTTTTTTAATCTGCTCACGCTGTAAGCCTGCAACGCCAATCTTTTTCATGAGTCTGTCCTTATTGGA
+AAAATTGAGAGGGATTTTCACGTAACATCACATCCACATCGGCCTGACTGAATCCTGACTGGCGCAATTG
+CGGAATAAAAGTGGTCAATAAAAAGTCATAGCCATAACCACCGTTGGCTTTTAAATGAGAGCGCCGCGTA
+ATATCCATCGACAGCATGACGCGATTCAGCACCCCACGGTCACGTAGCGCATGGAGCATCGCAATGCGCT
+TTTCGTCCGGGTAGTAACTGTTCTTGCCGATGGTGTCGAACTGCACATACGCGCCGAGATCGATCATCTT
+CAAAATGTTGTCGAGATTGTCTTTCAGATCGCAGTGGCCGACGGTGACGCGCGAAAGATCAACTCCGTGG
+GCTTGCAACAGAGCCAGTTGCTCCAGCCCCATCGTGCTGAACGACGTATGCGTGGAGATCGGGCGTCCGG
+TATGGTTATGTGCCAGCGCGGCGGCAATAAACACCTTCTCTTCCAGCGACGTAATCTTCCCTTCGCTGGA
+GCCGATCTCCGCGATAATTCCGGCTTTCAGGTCAGTGCCATCGATACCCTGCTCAATTTCATCGACCATC
+TCCTGCGCCAGTTCCTGCACGCTGCGGGTCGCCACATGTTCCGGGAAAAACGCGTCCTGGTAATAACCGG
+TACAGGCCACCACGTTGATCCCGGTTTCGCGCATTACATCGAGCATAAATTGCGCATTGCGCCCCATGTA
+ACGGTTGGTCATCTCAATCACATTACGCACGCCCCGGGCCATCAGGTCGTTCATCTCCTGGCAAATGAAC
+GCATACTGATCAAGGCGGCAGTCCACGTTGTTTTTAAAGCCGGAAAGATCAATATGCAGATGCTCATGGG
+CGAGCGTGTAGCCCGTCGGATCAAAACTCATAGGGTGTCTCCTGCAAACCGGAAGGAGGAAAGAAAAGAG
+CGACCATTTTGTGGTGGTGGCGCACGGAAAAATTCACACACGGTAGCCCCCACATCAGAAAGCGTGGTGC
+GCACACCGAGCTGCGTAGCGACCAGTCCTTGCTGATAAACCAGCACTGGCACCACTTCGCGGGTATGGTG
+GCTGTGACCAATGGTCGGATCGTTACCGTGATCCGCCATCACGACCAGGCAATCATCTGGCTGCATCGCC
+TCAACAAGCCTGGCAAGGTTACGGTCAACGACCTGCAAACGTTCGGCATAACGTGCGACGTCTTCTGCAT
+GACCAGCGAGGTCGGTTTCCTGGATATTGGTACAAATAAACGCCGTCGGATAGGTGTTAAATTCGTTGAG
+GGTGATATCCATAATCCGCTGGCTATCCACCAGGTTTTGCCAGCTCACGCCATAAGGATTACTGGCAATA
+TCCGCCACTTTCCCCACCAGCACGGTTGGTACGCCCACTTCATACAGTTTTTGTGGCACCTGCACTTTTT
+CATCGACGCCGTAGCCCATATGTACGACCTGGAAACCGTTGTCATAGGCGCCAGAACGCGGCGCATTGAT
+GCCAATAAAGCGCCCTTCTTTGCTTTCTGCGGCATCGAGGATGCACTGGCTGTCGGTTAACAGGCCACCA
+AATGTAATGACCCGACCGACCTGTACCTGCTCACGCACGATACGACCCATTTTGATTGCGTCGTCAAAAG
+AGATCACAGAGAGATTGGCGGTGATGTTATAGACCTGACCTAAATCCGCCTCGAGATTATCGCCAATCGC
+AACCGCCTGATTGACCCACAGAAATTGCAGATCATCGCCACGACGCTCAACCTGCCAGCCAGCGGAAACT
+AATGCCTGCTCAACACGGTCAATCACATCACGAAAGGGCATCCGCAGCGGCGGTAACGGGCGCGTACCTA
+AAATTTCCTGATGCCCCATAAAGGTATCGCCACCTTCATGTTGCAGCTCTGCCACGCCCCAGGTTGCGGA
+GTCTGACGGCTGCATATCGCCAGGCGCATAACCCAATGCGTTGATTAGCCCTAGCGTCTCCAGCGTTGGT
+AGCTGCAAATGCGGCAACTGGCTCAGGATGTGACCACAGGTATTCGCCCCGGCATCCTGCGGACGCACCA
+ACGTGACATCTTTCATTGCCCCTACGCCAAAGCTATCAATCACTAACACCACAAATCGCGCCATTTACGC
+CTCCAGAGGGTTGCCGAGGCTGTCATAACGACCAACTATTTCTGGTTCGCCACGGTGAATACCGGACACC
+AGCACCACATCACTACGGGTGATAAAAATCTGCGTGCGAAAACAGAGCACCACTGCACTGCTTACCGGAT
+GCTCGCCTGCCAGCGGCAGGGTGTAGTCGATACTGCTGTCATCAACGGCGTTGAGATATGTTTCAGTAAT
+TCTTTGATTTTCTGGCGTAAACACCAGCGCATGTTGCGCGTGACCACGACGGTAGTAACCGCCGCCGTAG
+CAGTAGCTGTCGCCACGGAAATGATGGGAGATTTCACTTAACCAGAGCATCGCGATACGTTCAGGCTGAT
+CGCCCTGTTGATTTGCCGGAATAGTACCCGTCAGCGCATGACCGGGTTCGGTATGAGTCACACCGTATTC
+CGCCAGCAATGGCAGCGACGTGCAGCTGGTCGCTGAAGGCGCGTTCAGTTGCTCAATCGCAATACCAGAT
+TTCGCCAGTTGATCCCGTGCTTGTACCAGCGTGTGAAGATTCGGTGTCGGCAAAACTTTCCCGGCAGCCT
+CATCCCAAAGCAGGCAAGGGAAATGGGTAAGTCCCGCCAAATGTAGCCCCGGCAGATTCTGGATTTCAGC
+AACCACCTCGTGCAGCGAATGCTGTACAAAACCGCTCTCCTGCCCCGGATAAAGAAAATCATCGTCGCTA
+TAAACTTTGAGCAGCACAGACTGCACACGTCCGGTCTTCACCGCTGCCGCAGAAATTTCCCGCGCTTTGT
+CGAGGGTAAACACAGTGATGACGTCGGTTCCCTGTTCAACGGCGTCAGAAACCTGATGACAAGGGATTTG
+TACCAGATGCCCCTGATGCGCTACCGGCAAACCGGCGCGGCGCATGACTCGCGCCTCTTTGTAATCCACC
+GCCACAATGCCGCTGTAGCCCAGAGCCAGCAGTTTTTCTGCCAGCCACGGATTACGACCGAATTGTTTGG
+TCATCAGATACAGTTCAATGCCGTAAAGCCGCGCCGTCTCAATCAGCCGCTTGCCGTTTTCCAGAACTTG
+ATCCACGTCGATCACCCAACTGTCCGGGGCGATCTTGCCCTGCTGCCACAAACTTAGTGCGGCGGAAATC
+AGCGCCGGGTTCTGGCGTTTCAATGCTTCTACAAACATCTTGTTGCCTCGTTTCTGTTCCTTGAATTAAA
+TATTCATTTTTTTGAATATTTAGGTTGTACGACGTGGATTTATCGGGAGCTTCAAACCTCTTCGTTAGCA
+GCCATCCATAATCCATAAAGGTTGGCCAGCAAATAGCCTTCTTCACACGGGTTAACTTCCAGTGCAAATT
+CCTTCAACAACACCTGATGCAATTGCACAACGGCTTGCCAGTGGCTGGATTGCGCCAGTTCCGCCAGCAA
+TTCGTCATCCAGCGGCTCTATTTCTTCACCACGGCGACTACGCATCAGTGCACTCGCCATATGTGTCATC
+GCCATCGTTCCTTGCTCACTGCGCACCGGTAGATGGCACTCTGTTTCCAGTACATTGACGACCTGCATCA
+TGCCTTTGCAAATGTCCTTATCAATAACGCCTGCATCGCAAAGCAGGTTGAGTCTGGTTTCCATATCAGA
+TGCCTTTCGTTTAATAACTGGGTTCCTGTTCCCCACTGACTACTCGCTGTTGATGAGCAAGCAGGGCATG
+TTTATCAACAACTGCATGCAGCAGTTGTTGCATTGGGTAATCATCGACTCGCGTCAGGATCACGGCTTCG
+GTGGCCTGTAAAAATCGCGGATCGTCTGTGAGCGGCGTCGCTTCTAATCCCAGCATGGTCAGTTCGTTTT
+CCGCCACTACGTTCCAGATAACCGCGTCAACATCGCCTTTAACAATGCGTTGTAAACTCTCGTGATAAGA
+GAGATCGACTCGTTCCACATCACTATCGCCAAAAAAGACATCGGTCATGATTTTCTGATCTGCCGAACGG
+TTATCCAGCCCCACGCGCTTCACGTTTGCGGACTCGCCTTTACGGCAAATCAACTGGTGCTCGCCAACGT
+AGGTATGCGGTCCCAACTCCAGCGCGAGGCATAATCCTTTTTGCGTGAGATAACTTTCCGCCGCCAGTCG
+CGAAACCACCGCCATGTCATACACGCCGTTAAGTAAACACTCCACGCGAATATCCGCGCCGCGCATATGC
+GCATAGTAAAAAGGAATGCCATCAAACTGGGCTTTCAATCCGCTCGCCAGGCCTTCGTACAAACGGGTAT
+AGGGCAAGGGCATCGCACATACCACGTTGTTGATATCCACATGAGTCAGCAATGCTTTGTTATCCATCTC
+AACCAGATGACTGCCATTGCGCCCACGGCGTTCAATCCGTATCGCTCCGCTTGATTCCAGCGTTTTCAAC
+GCTGCCTGCGTCAGGCCAACCGATGAACGGCATTCAGTTGCCAGCTCATCTATGGTTTTCAGTCGATTAC
+CGCACTTTTCACCCAACAAATAACGGGCCAGTGTCGTGATAACGACGCCTTCTTTTTTGATAAACGTTCG
+ACGCATAATATATTTTCAATAAAATGAATGTTTATATCTTCAGGAATTTGAAGATAAGGCGCAACAGCGA
+GATGTGGAAACGGCGAGGCGCTTCACATTTTTTCGGATTATTGCAAATGAGGATAAAAAAACCGGGTTTC
+CCCGGTTTTTGGCATTAATGTTAAATTACGGCTTCGCCACAAAACCAATCGCTTCGTACACCGCTTTTAG
+CGTACGGGAAGCGTGTGCGCTGGCTTTTTCTGCGCCGTCTTTCATCACCTGTTGCAGGAAGGCTTCATCG
+TTGCGGAAACGGTGGTAACGTTCCTGCAATTCAGTCAGCATACCGGAAACGGCATCAGCCACTTCACCTT
+TCAGATGACCATACATCTTGCCTTCGAACTGTTTTTCCAGTTCCGGGATGCTCTGGCCCGTTACCGCAGA
+AAGGATATCCAGCAGGTTGGAAACGCCCGCTTTGTTCTGCACATCGTAGCGAACTACCGGCGGCTCGTCG
+GAGTCAGTGACCGCGCGTTTGATTTTCTTCACTACCGATTTCGGATCTTCCAGCAGGCCGATAACGTTAT
+TGCGGTTATCGTCAGACTTGGACATTTTCTTGGTCGGCTCCAGCAGCGACATTACGCGCGCGCCAGATTT
+CGGAATAAACGGCTCCGGCACCTTAAAGATATCGCCGTACAGCGCGTTGAAACGCTGGGCGATATCGCGG
+CTCAGTTCCAGGTGCTGTTTCTGGTCTTCACCCACCGGCACCAGATTAGTTTGATACAGCAGGATGTCCG
+CAGCCATCAGCACCGGATAGTCAAACAGACCAGCGTTGATGTTCTCGGCATAACGCGCAGATTTATCTTT
+AAACTGCGTCATGCGGCTCAGTTCGCCGAAGTAGGTATAGCAGTTCAGTGCCCAGCCTAACTGCGCATGT
+TCCGGCACGTGGGACTGAACAAAAATGGTGCTTTTCTCAGGATCGATACCACAAGCCAGATACAACGCCA
+GCGTATCCAGCGTCGCTTTACGCAGCTTCTGTGCATCCTGGCGCACGGTGATCGCGTGTTGGTCAACGAT
+ACAGTAAATGCAATGGTAGTCATCCTGCATGTTTACCCACTGACGCAGCGCACCCATGTAGTTACCAATG
+GTCAATTCACCTGAGGGCTGTGCGCCACTAAAAACGATGGGCTTAGTCATTTTTCGATTCCTGATTTTCG
+CTATGCGGAAGCCCTAATGCGGGCAGAAGGTCATTTATAGACTGATAAATTACATCAGGCTGGCTGAGAT
+CGATAGCCTCGCCGTAGTTATATCCGTAGGTTAAGCCAACTGATGGGCAACCTGCCGCTTTTGCTGCCTG
+AATATCATTGCGTGAGTCGCCAACAAACAACATCTGTTGTGGAGCAATTCCCATCCGCTCAGCCACCAGT
+AGCAGCGGGTCCGGGTGCGGTTTTTTATTTTGCACATCATCACCACCAATCACCACGCTGAAGTATTTGG
+CGATATCTAAGGCTTCGAGCAGCGGCGCGACGAACGGCGTCGGTTTGTTGGTGACCAGGCCTAGCGGCAG
+GCCTTTAGCCTGCAACGCGCCCAACGTATCGGCAACGTGCGGGAACAAAAACGTCCCCTCTTCGGCAACC
+TCGCCATAGTAGCGATCGAACAGTTTACGCAGGATACGTACCTGTTCTTCTGCCGGAATGTCGTCATCAA
+CGGGCGGTTTACCCATTGTTTTACGCAGAGTCGCACGTTCCTGACGCGCCCAGGTCAATGCGCGCTCCAT
+CAGAATATCTGCGCCGTTACCAATCCAGGTAATAACGCGTTCTTCACCTGCGACAGGCAACTCCAGCGCA
+TACAGCGCCATATCTACCGCAGCAGCAAGACCGGGTGCACTGTCAACCAGCGTACCGTCGAGATCAAAAG
+CGACGCCGCGAATATCTTCAAACTTATTCATGACTTACCTTTGCCAGTTCACTGCGCATTTCATCAATGA
+CTTTTTTGTAGTCTGGCTGGTCGAAGATTGCCGAACCAGCAACAAACATATCCGCGCCCGCCGCAGCGAT
+TTCGCCAATGTTGTTCACCTTCACGCCACCGTCCACTTCCAGTCGAATGTCAAAGCCAGACTCGTCGATA
+CGACGACGTACTTCGCGCAGTTTATCCAGTGTTTGAGGAATGAAAGACTGACCGCCGAAACCAGGATTGA
+CGGACATCAGCAGGATCACATCCAGCTTATCCATCACGTAATCCAGATAACTCAGAGGTGTCGCCGGGTT
+AAATACCAAACCCGCTTTACAGCCATTTTCTTTAATCAGTTGCAGCGTGCGGTCAACATGCTCGGAGGCT
+TCTGGATGAAAGGTAATGATGCTGGCACCAGCGGCAGCGAAATCAGGCACAATGCGATCGACGGGTTTCA
+CCATCAGATGTACGTCGATAGGGGCGGTAATGCCGTAGTTACGCAAGGATTTCAGCACCATTGGCCCAAT
+CGTCAGATTGGGAACATAGTGGTTATCCATGACGTCAAAATGCACGACATCAGCGCCAGCTGCCAGGGCT
+TTTGCGGTATCTTCACCCAGGCGGGCAAAATCAGCCGACAGAATTGAGGGGGCAATCAAATACTGTTTCA
+TCCGCTTCTCCTTGAGAATTATTTTTTCGCGGGTGAAACGACTCCTGGTTTGTACAAAGCCAGCAGTTCG
+TCCACCTTTTTACGTGTGCCGCCGTTGCTGCTTATACTGCGTCGAACTTTGACGACATGCAATTTTGCGC
+GCTGATACCACTCACGCGTTAACATCGTATCGTGATTGGAGATCAGCACCGGAATATGGCGATCAACCAG
+ACCTTCAGCGATCTCCGCCAGATGCGCTTGTTGTTCAAGCGTAAAACTGTTTGTGTGATACGCCGTAAAG
+TTGGCAGTCGCAGACAGCGGCGCATAAGGCGGATCGCAATAGACGACAGATGCATCATCTGCGCGCGCCA
+TGCTATCGGCGTAAGACTCACAATAGAAAAAGGCATTCTGCGCTTTTTCAGCGAAGTGATACAACTCTGC
+TTCCGGGAAATAGGGTTTTTTGTAGCGGCCAAACGGCACGTTAAACTCACCGCGCAGATTGTAACGACAC
+AGGCCGTTGTAACCGTAGCGGTTCAAATATAAAAACAGTACCGCCCGACGGAACGGATCCTGGCTTTTGT
+TGAACTCTTCGCGGAACTGATAGTAAACCTCAGCGCAATTTGTTTCGGGAACAAACAGCTCGCGTGCGGC
+CTGTACGTACTCATCAGTACGCATCTTCACAATGTTATAGAGACTGATCAGGTCGCTATTGATATCGGCA
+AGGATATAACGAGAAAAGTCGGTGTTGAGAAACACCGACCCGGCACCTACAAAAGGCTCAACCAGACATT
+CGCCCTTGGGCAAATGCCGTTTAATATCATCAAGCAGGGGATACTTGCCCCCTGCCCACTTCAAAAAAGC
+GCGATTTTTCTTCATGCTGACTAACTAATTACACCTTCTCCGGCTGTGGAGAAAGCTCCGACAGCATCCA
+GCGCTTCAGGCAACGCCCGCAATGATAAACCATTGCGGGAGATAACCTTGATTACTTCAGGTCGGCCTGT
+ACCTGACGCAGCGGTTTCGCCCACGGGTTTTTGGCCTGGACATCTGCTGGCAATGTAGATACCGCTTTTT
+TCGCCTCTTCTTTCGAAGCATACACGCCAGAAACCAGGACATACCACGGCTGACCATTACGCGTCGTTTC
+ATAGACAACGTAGTTTTTCAGATTCTCTTTCTTCGCCCAACCGTTCAGGTTGTCGTAGTTAGAGGAACTG
+CTCAGCTGCAGAGTGTAATGGCTGGACGGTGCCGATTTCAACGAACCAACATTACCTGCGGTCTTCCCTC
+CAGCGGCTGGTGTTGCCGTGGTTTGCGCCGGGGATGCCGTCTGTACTGGAGCCGTAGTCGCCGTCTCTTT
+TGGTGCTGGCGTAGAAGTCGCAGCCGGTGCCTTTGTGCTCGCCACAGGGGCAGCTGGTTCAGTTCGCTTC
+GGCGTCTGTGCGACTGGCTTCGGTTCCGTTTTCACGGTTGCTTGCGGTTTTTTCGGTTCAATCACCGCCT
+GCTGACGAGCCGGGCGCGTAGTGGCCGGACGTTCAGCGGTTTGCGTTTTCGCCGTGTCACGCGCGATGCA
+TTGCCATTGCGAACAGGCGCGACAGTCGCGGGTTCAGTCGGCAATGTAGAATTGACCGCCACATTGTTCA
+ACTGTTGCTGATTTTGTGGCTGGGTCAGCGCATTGTTCAGGTCACCCTGCACTTCAACACGTTGTTGACC
+ATCCGTTGCCGCCGGGGTTTGCCCTTGAGTCGGCGTAGAAGAGATCGGCGGCAGAGAAACATCCTGCTGA
+GTATTTTCCGCAGACGTGGTTCCCGGCGCTGGCTGCACGCCATTGGCCTGATCGGTCGCATTGCCTGCAA
+GATCAATACTCTTCTCGCCAGACGCGGTTTGATCGCTGGAAGAGGTCGAGGGGGCTTTTAGCGCAGAACC
+GATACCGATGATCAACAGCAGTAGAACCAGAATGCCGACACCCATCATCATATACTGACGAGAAGCGGGT
+TTACTGGCTGCTTTTTTGCGCTTACGCGGACGACGCTCTACGCGCTCTTCATCCACGGTTTCATCTTCGG
+ATTCGTCAATTTCTTCTTCGATTTCCGGTTCCTCATTACGCGCTTTTTGCGCACGAGTCGGACGGCGATC
+GTCAGTGTCATCAAGTTCAATATCATCAAAATTGATCTGCGGTTCGCCACGTTCAGTACGCTCAGAACGT
+TCAGAAGATTGACGAGAACGACCAGTACGACGATCGCTGGGATCGGGTTTCAGCTCGTCTTCTGGTTTGA
+ATTCATCCATTTAACACCCCACTAAAAGGTTAATGCTTACCACGTTGCAATTAACCTGAAGCTAATAGAC
+CGCTTGATAAGCGGCCTGACCTTTCTTGTTGTTACGCTGATTGACAATCGGCAATGGCGTTAAGAACAAG
+CTCGTGCGAAACGCCGCTGCGAACTTCACTCTTACCAATTGCCAACGGAAGAATTAAGCGCATCTCTCCC
+GCAAGGACTTTCTTGTCACGCAGCATATGCGGTAAATACGCCTGCGCGGACATTTCGCGCGGCCCATTGA
+CCGGTAACCCAGCCCGCGTGAGCAGGGTTATAATACGCTGCGTTTCGGCAGAACTAAACTGCCCGAGACG
+TTCCGACGTCCGCGCCGCCATCACCATACCCGCAGCGACCGCTTCACCATGTAACCAATTGCCATACCCC
+ATTTCAGCTTCAATGGCATGACCAAAGGTGTGTCCCAGATTCAGTAAAGCACGTAACCCGGTTTCGCGCT
+CGTCGGCGGCGACAACTTGTGGTTTCAGCTCACAACAACGGCGAATACAGTACGCCATTGCCGGACCGTC
+CAGACGCAACAACGCATCCAGATTCTCTTCCAGCCAGTTAAAAAACGCACCGTCAAGAATAATGCCGTAT
+TTGATGACTTCTGCCAGCCCCGACGCTAACTCACGCGGGGGAAGCGTTTTCAGACAGTCGAGATCCACCA
+CCACTGAAGCGGGCTGGTAGAACGCGCCAATCATGTTTTTACCGAGGGGATGGTTGACCGCAGTTTTGCC
+GCCAACGGAGGAATCGACCTGCGACAGTAACGTCGTCGGGACTTGAATGAAACGTACACCGCGCTGATAA
+CTCGCCGCCGCGAAGCCGGTCAGATCACCCACTACGCCGCCGCCAAGCGCCACCAGAGTAGTATCGCGAC
+CATGCGGCTTTTGTAACAATGCCGTAAAGACGGTATCGAGTACAGCCAGGCTTTTATACTGCTCGCCGTC
+AGGGAGGATAACGCTATCGACGTTAACACCCGCCTGTTCAAGTACGCCGCGGACCTTATCGAGATACAGA
+GGAGCCAGGGTTTCGTTGGTGACCAACATGACCTGCTCGCCCGATTTCAGCGGTAAGAATGAAGCTGGTT
+CATTAAACAAACCAGATGCGATGGTAATTGGGTAACTACGTTCCCCGAGAGTAACGACAATCCTCTCCAT
+AACGCGACATCCACCTTAATTACTGTACCCGCAGACGAGTGTATATAAAGCCAGAATTAGTTGCTTTCCA
+GCATGTGAATAATCTGGTTTGCAACCACTTTAGCGCTTTGATCATCAGTACGAATGGTCACGTCGGCAAT
+CTCTTCATACAGCGGATTGCGTTCATTGGCCAACGCTTCCAGAACTTCACGCGGCGGTGTTTCAACGTGC
+AGCAACGGGCGTTTTTTATCACGCTGCGTGCGTGCAAGTTGCTTTTCGATGGTCGTTTCAAGATAAACGA
+CAACGCCACGAGCGGAAAGACGGTTACGCGTTTCACGGGATTTCACAGAGCCGCCGCCAGTAGCCAGCAC
+AATACCCTGTTTCTCGGTCAACTCATTGATGACCTTTTCTTCGCGATCGCGGAAGCCTTCTTCGCCTTCT
+AAATCGAAAACCCAGCCCACATCAGCTCCGGTTCGTTTCTCAATCTCTTGATCGGAATCGTAAAATTCCA
+TATTGAGTTGTTGAGCTAACTGGCGCCCAATAGTGCTTTTTCCGGCACCCATAGGCCCAACCAGAAAGAT
+ATTGCGTTTCTCTGCCATTTTTTCGGTACTACTAAGACTATTCGTTAATGATAAACCCGCTTCGCTCAGA
+GAGCGCCGCAGGACATGAACTGAAACCTCATAAGATATTGCGAGAGTCAGACTGAAAATTATCTCAATAC
+TCCAGCGGGTTTGGCAACTGAATAAATCACCCATCCCTCTGCATATCTGGTCGCTGCAAGCGCGCTGCCT
+TGCTACCACCGCTCTGGCGATAAATCACCGGGTAAGATTAGCGTAAAAAAGACAGCAAAATGCCGCCTGA
+ATGATAAATCATCATCATGGAACGCAGGCAGCGAAGAGCACCAACTCTCAAATCGGTACTCCTTGTATGC
+TAAATACCTGCGCGCGTCAAATAGATGAAACACGTTCAGCGTAAAAACATTACCGCTTTTACGGCTGTTT
+ACTCACTGGAAACCAGTCGTGGCGTGATAAACACCACTAACTCGCGTCGTTCATCTTCTTTTCCGTCATG
+ACGAAATAATTGCCCGAACCAGGGAATGTCGCCAAGCAACGGTACGCTATCCTGACCCGATTTATTTTTA
+CGGGTAAAAATGCCGCCCAGCGCCAACGTTTCTCCGCTTTTGACCTCGACCTGCGTTTCGATCTCCTGCT
+TATCAATCGCCAGCACTTCGCCATCTGCCTGCTGTAGCACCTGCCCCGGAACGTTCTGGCTGATGTGTAA
+TTTCAGCCGGATACGACCTTTTTGTAACACCGTGGGCGTGACTTCCATCCCCAGGACGGCCTCTTTAAAT
+TCCACCGACGTCGCGCCACTTTCCCCGCTGGAAACCTGATATGGAATTTCGCTCCCCTGTTTAATGCTGG
+CAGGCTGAAGATGTGAGGCCAGCAGACGCGGACTGGCGATAATATCCAGCTGCTGTTTTTGTTCGAGCGC
+GGAAAGCTCAAGATCCAGTAAACGTCCGTTGATGCGTCCAATGTTAAAACCGATATGCGTTGTCGCCGTC
+GCTACGGAGAGGTCGCTGCCAAGCGTGGTGACTTGCCCAACGCCACCAGCTTGTTGCGCATCGGCCAGCG
+TCCATTTCACACCTAACTCACGCAAACTTTTTTCATTAATGGTGACAATATGCGCCGAGAGCTCAACCTG
+CCCGACCGGCAGATCCATTTGCGATACCCACTGTTCAAGCGTGCTTAACGCCGTTTTGTTATCTCGCAGC
+AAAAGGCGATTGGTGCGTTTATCGACGGTCATACTCCCTTTGGCACTCAGTAGCTTCTCCCCCGCTTTCG
+CCAGCTCTCCGGCGTCGGCGTATTGCAGAGTAATATTGCGATTTTCCAGCGGCAGATTTGCCTGCGCCCG
+CGTCTGCTCCGCCTCCTGGCGGGCGATATTGTCATTCTGCCAGGCAACGGAATGCACCGAGAGAATGTTG
+CCCTCCTGGCGCGTTATCAATCCGGCGCTTTTCACTACAGTTTGTAGTGCCTGCTTCCAGGGAACGTCAG
+TTAAATGTAACGACACCGTACCGCTGACGTCTGGCGAAACCACCAGGTTCAACTTCTCCTGTTCAGCCAG
+CGCCTGCAACACCTGAGCTACCGGAACGTCATCCACCATCAGCGTCACTTTTTGCGGCTTTGCCGCCTGT
+ACGCCGGGTATAAGCATCAACAGTAGTGCGGCTATCCATTGCTTCATTTGTATCTCCTTGCCGTTGCCAC
+AACCAGTGTGGCGGTTCGCAGTTTGTCCCGGTTCCCAGCGTTAGTGCGTCTGGCGTCAGCTGTAAGATCG
+TCCAGCCGTTTTCCAGCACATCGTTTTGCTGCACCCGTCGCCATTTTTTTTGCCCATCTTTTATTACACC
+GATGATGCGCTCGCCTCGCCCTACCATCCCCTGATAGCGCCACTGGCTAAGTTCGCTAATCCGGCATAGA
+TCTTCCGGCGGTTTAAAAGGGTCACGCATACCGGTTAAAAGACACAATGCAATGCCTGCTAACAACCAGC
+GTTTAACCCTCATGCGGCGTCTCCAGTTGTAGCGTGAACAAAAGGTCATCACCTTCCACGCTTAACGAAA
+AACGGCTCACGCTGACGTTGCGCTCTGCCAGCCGTGTAAATGCCGACGGCACTGCTTCCCACAGCGTTTT
+CAACGCCAACTCACCTCCCTGCGCGGATGGATGCCAGTAAACCAGTTGCGCGCCGGATAACTGAAAATCC
+AGTGGCGAAAAGGGCAGCGTTTTTTCTTCGCTGAAGGAAGTGGTGTCTACCAGGCGATACAGTGCAGCCC
+ACTGCTGGTGATGATTTGCCCGTAGTCGAATTAATTCATCGCTCTCTTCATGGTGTGTCAATGACAGAAA
+AATGAGCGTAACTAACACCAGCAACCAGACTGCCCAGCAAAACTGGCGGAGGCGGAGTGATGTGGCGAAC
+CACCAGTCAAAGAACATGTTCATCGCTAACCTTCCTTGTTAACTGATACTCAAATTGCCAGCGTCCCTGC
+GCATCCTGCTGCGTGGCCCCCCTCTGATTGAGATGAAAAGAAGCATCCTGGCGGAGTGACGTTTCCAGCG
+CGTTTAACGCGGCAATGCTTGTTGTCAGCCCCTTGATCTCCAGCGTTCCCTGCTGCCAGCTTATCGTTGT
+CAGCCAGGCATGTTCGGGTAAAAGCGCCGCCAGTGCTTCCAGCGCAGATTGCCAGTCGCGGGTAAATTGT
+CGCTGGCGCTGCCTTTGCAAACGCTGTTCGCGTAACTGCTGGCGTTCCAGCAAACGTGGTTTCGTTATCT
+GTAAGCTGCGGGCGAGTTGTTGTTCCGCCTGAAGCAAAACGGCGTTTACGCGTGCTTCGGCATTGCTTGT
+CAGACGCAGTATTAGCGTTATCCCGACGGCCAGCAGCAGAGGCGCAACGAACATCAGCAACCAGAAACGA
+AGAAAAGCAGTCCGGCGTTGCTGTCGCCAGGGCAAAAAATTAATTGGCGGGTTCATCAGTACACCTTCCC
+AAGCGCCAGCCCCAGCGCGATGGCAAAGTCTCCACCTGGTGGCGGTAGCGGCGGCTGACGAACAGAAACC
+GCCTCCCAGGGGTCAAATCCGCCTTCGCCACATAGCGCGACGCTTTCGGGATCAACAGATAACGCTGCCG
+CCAGCTCCTTCGCGCTAGTCATCCCCACCGCCAGTTTGCGCCCCCAGCTATAGCGCGTCGCCCACAGCCA
+CTGTTCGTTATCACGCCAGGCCAGACATTGCTGATGAGAAGGTAAAAAAGGCAGGAATCGCTGTAATGCA
+CTGGCATCCGGAGTGATCGCGCTAACATGAACACGCAACCTTTCTGCCAGAGTAAGCAGCGTTGCCAGCT
+CTTTGCTTTGCGCGGCAGTCACGTTATAGGCGGGACTGAGTGAGTCTTCGCTGTAATCGAAGCGCAGGGA
+GTCCGGATCCATATCCAGTTCACGGGCCATCGTCCCGGACAGCCAGGCCATTTGCTCCCGCTCACCGAGG
+GACATCGACGGGCGTGGAAATGACCGCTGTAATGTGCGACTGGCGGGAAACGCCAACATAATGTGATGAC
+GCTGCGGCAGTTCACGACTCCACGGTAACAACGTGTTAGCCAGCCGCTGCACATCAACAATCCGCCCATC
+TTTGATAATGTCGTTCTCCAGTGGCAACCGCCACCAGCGGTGCAATAAGCATTCTTTTGCGCTCCGCACG
+ATAGCAACCGCTACCGCTTCTTGCTGTTGTAAATGCAAACCAATTTGCCAGTTCTTAAATGCCATTGTGA
+TGATCTCCTTATCACCCGTCACTCTGACGGGTATATCAATGCGTCTGGCTTGCCTTTATACTACCGCGCG
+TTTGTTTATAAACTGCCCAAATGAAACTAAATGGGAAATTTCCAGTGAAGTTCGTAAAGTATTTTTTGAT
+CCTTGCAGTCTGTTGCATTCTGCTGGGAGCAGGCTCGATTTATGGCCTATACCGCTACATCGAGCCACAA
+CTGCCGGATGTGGCGACATTAAAAGATGTTCGCCTGCAAATTCCGATGCAGATTTACAGCGCCGATGGCG
+AGCTGATTGCTCAATACGGTGAGAAACGTCGTATTCCGGTTACGTTGGATCAAATCCCGCCGGAGATGGT
+GAAAGCCTTTATCGCGACGGAAGACAGCCGCTTCTACGAGCATCACGGCGTTGACCCGGTGGGGATCTTC
+CGTGCGGCAAGCGTGGCGCTGTTCTCCGGTCACGCGTCACAAGGGGCGAGTACCATTACCCAGCAGCTGG
+CGAGAAACTTCTTCCTCAGTCCAGAACGCACGCTGATGCGCAAGATTAAGGAAGTCTTCCTCGCGATTCG
+CATTGAACAGTTGCTGACGAAAGACGAGATCCTCGAGCTTTATCTGAACAAAATTTACCTCGGTTACCGC
+GCCTATGGTGTCGGTGCTGCGGCACAAGTCTATTTCGGTAAAACTGTCGACCAACTGACGTTGAACGAAA
+TGGCGGTGATAGCCGGGCTGCCGAAAGCGCCTTCCACCTTCAACCCGCTCTACTCAATGGATCGTGCCGT
+CGCGCGGCGTAACGTCGTGCTGTCGCGGATGCTGGATGAAGGGTATATCACCCAACAACAGTTCGATCAG
+ACACGCACTGAGGCGATTAACGCTAACTATCACGCGCCGGAGATTGCTTTCTCTGCGCCATACCTGAGCG
+AAATGGTGCGCCAGGAGATGTATAACCGTTATGGCGAAAGTGCCTATGAAGACGGTTATCGCATTTACAC
+CACCATCACCCGCAAAGTGCAGCAGGCCGCACAGCAGGCGGTACGTAATAACGTGCTGGACTACGACATG
+CGCCACGGCTATCGCGGCCCGGCGAATGTGCTGTGGAAAGTGGGCGAATCGGCGTGGGACAACAACAAAA
+TTACCGATACGCTGAAGGCGCTGCCGACCTATGGTCCGCTGCTGCCTGCCGCAGTCACCAGCGCCAATCC
+TCAGGAAGCAACAGCGATGCTGGCAGACGGGTCGACCGTCGTATTGAGTATGGAAGGTGTTCGCTGGGCG
+CGTCCTTACCGTTCGGATACTCAGCAGGGACCGACGCCACGTAAAGTGACCGATGTTCTGCAAACGGGTC
+AGCAAATCTGGGTTCGTCAAGTTGGCGATGCATGGTGGCTGGCGCAAGTGCCGGAAGTGAACTCGGCGCT
+GGTGTCGATCAATCCGCAAAACGGTGCCGTTATGGCGCTGGTCGGTGGCTTTGATTTCAATCAGAGCAAG
+TTTAACCGCGCCACCCAGGCACTGCGTCAGGTGGGTTCCAACATCAAACCGTTCCTCTACACCGCGGCGA
+TGGATAAAGGTCTGACGCTGGCAAGTATGTTGAACGATGTGCCAATTTCCCGCTGGGATGCAGGTGCCGG
+TTCTGACTGGCAGCCGAAGAACTCACCACCGCAGTATGCCGGTCCAATTCGCTTACGTCAGGGGCTGGGT
+CAGTCGAAAAACGTGGTGATGGTACGCGCAATGCGGGCGATGGGCGTCGACTACGCTGCAGAATATCTGC
+AACGCTTCGGCTTCCCGGCACAAAACATTGTCCACACCGAATCGCTGGCGCTGGGTTCAGCGTCCTTCAC
+CCCAATGCAGGTGGCGCGCGGCTACGCGGTCATGGCGAACGGCGGCTTCCTGGTGGACCCGTGGTTTATC
+AGCAAAATTGAAAACGATCAGGGCGGCGTGATTTTCGAAGCGAAACCGAAAGTAGCCTGCCCGGAATGCG
+ATATTCCGGTGATTTACGGTGATACGCAGAAATCGAACGTGCTGGAAAATAACGATGTTGAAGATGTCGC
+TATCTCCCGCGAGCAGCAGAATGTTTCTGTACCAATGCCGCAGCTGGAGCAGGCAAATCAGGCGTTAGTG
+GCGAAGACTGGCGCGCAGGAGTACGCACCGCACGTCATCAACACACCGCTGGCATTCCTGATTAAGAGTG
+CCTTGAACACCAATATTTTTGGTGAACCAGGCTGGCAGGGTACTGGCTGGCGAGCAGGTCGTGATTTACA
+ACGGCATGACATAGGCGGAAAAACGGGTACCACTAACAGTTCGAAAGATGCGTGGTTCTCGGGTTACGGT
+CCGGGCGTTGTGACCTCGGTCTGGATTGGCTTTGATGATCACCGTCGTAATCTCGGTCATACAACGGCTT
+CCGGAGCGATTAAAGATCAGATCTCAGGTTACGAAGGCGGTGCCAAGAGTGCCCAGCCTGCATGGGACGC
+TTATATGAAAGCCGTTCTTGAAGGTGTGCCGGAGCAGCCGCTGACGCCGCCACCGGGTATTGTGACGGTG
+AATATCGATCGCAGCACCGGGCAATTAGCTAATGGTGGCAACAGCCGCGAAGAGTATTTCATCGAAGGTA
+CGCAGCCGACACAACAGGCGGTGCACGAGGTGGGAACGACCATTATCGATAATGGCGAGGCACAGGAATT
+GTTCTGATTAAAAAGGCGCTTCAGCGCCTTTTTAAGTTTGCTGACAAAGTGCACTTTGTTTATACCGGAT
+GCGGGTGAACGCGTTATCCGGCCAACAAAAAATTGAAAATTCAATAAATTGCAGGAACTTCGTAAGCCTG
+ATAAGCATTATGCATCAGGCAAACTTCACGCATTTACACTCGCCCCTGCCCTTTCAACCATTCGCGCACG
+AGGAACAGCGCGCTGACATTACGCGCTTCGTTGAAGTCAGGGGCTTCCAGCAAATCCATCATATGCGCCA
+GCGGCCAGCGCACCTGTGGTAACGGCTCTGGCTCATCGCCTTCCAGTGATTCCGGGTAGAGATCTTGCGC
+TACCACGATATTCATTTTGCTGGAAAAGTAAGACGGTGCCATGCTGAGCTTCTTCAAAAAAGTCAGATCG
+TTCGCACCAAATCCAACCTCTTCTTTTAGCTCGCGGTTAGCGGCTTCAAAGACGCTTTCACCCGGATCAA
+TTAATCCTTTCGAAAAACCTAATTCGTAGGATTCAGTTCCCACTGCGTATTCGCGGATCAGGATCAGGTG
+ATCGTCCACAATCGGCACAATCATCACTGCTTCCCGGTTGGTTGGACGCATTCGTTCATAAACACGCCGC
+ACGCCATTGCTGAACTCCAGATCCACGCTTTCGACGGTAAACAGTCGGGAACGGGCTACAGTTTCAACAT
+TCAGAATGGTGGGTTTTTGTAATGATTTGCTCATCGTGGGATCTATGCTGTGAAATCAGCGGTTATTGTG
+CGATATCGGACACGCTTTCGGCAATGTGAATTGCGTGTTATTTACATTTATGTAACTTAATAAATAATCG
+TCCTCAAATCAAATTAAAAGTCAATAGGTTGAAATAACTCCAGGAATTTGCTGATATTCCGCCTTCAGAG
+GGTTTGCTATGATCAGCGGTTACTGTGATGTGCTTAATGATGCTCAAGTTAAACTCCACGCTTGCCGATA
+GCCAACCGCAGAATCATGTATTGTGTCCGGTGCGACTGACCACGCCTGACAGACTAAGTAAGATGGGGAA
+AGCATGAGCACCATTGTGATTTTTTTAGCTGCTTTGCTGGCCTGCTCACTACTTGCGGGATGGCTGATAA
+AAGTGCGATCCAGACGGCGTCAGCTGCCCTGGACCAACGCCTTCGCGGATGCGCAAACGCGTAAACTCAC
+ATCTGAAGAACGTAGCGCCGTTGAAAATTATCTTGAGAGCCTGACGCAGGTATTACAGGTGCCTGGCCCA
+ACGGGAGCCAGCGCGGCACCGATCTCTCTGGCGCTGAATGCCGAAAGCAACAACGTCATGATGCTGACAC
+ACGCTATCACGCGTTATGGCATCTCTACCGACGATCCGAATAAATGGCGTTACTACCTCGATTCGGTAGA
+AGTCCACCTGCCGCCTTTCTGGGAACAGTACATCAACGATGAGAATACCGTTGAACTGATTCATACCGAT
+TCGCTGCCGCTGGTTATTTCACTCAACGGTCATACGCTGCAGGAGTACATGCAGGAAATTCGCGGCTATG
+CCTTGCAACCTGTTCCGTCAACGCAGGCGTCGATTCGCGGGGAAGAGAGCGAGCAAATAGAACTGCTCAA
+TATTCGCAAAGAAACGCACGAAGAGTATGCGCTGAGTCGTCCGCGCGGGCTGCGCGAAGCGTTGCTGATT
+GTCGCCTCCTTCCTGATGTTCTTTTTCTGCCTGATTACCCCGGATGTCTTTGTTCCGTGGCTGGCAGGCG
+GCGCGTTACTGCTGCTGGGCGCAGGTCTGTGGGGGCTATTCGCGCCCCCGGCAAAATCCTCCCTGCGGGA
+AATTCATTGTCTGCGCGGTACACCCCGTCGTTGGGGATTGTTTGGCGAAAACGATCAGGAACAGATCAAC
+AATATTTCACTCGGTATTATCGACCTGGTCTATCCCGCACACTGGCAGCCATACATTGCTCAGGATCTTG
+GTCAACAAACCGATATCGATATCTATCTCGACCGCCACGTAGTGCGTCAGGGGCGATATCTTTCGCTGCA
+TGATGAAGTAAAAAACTTTCCGTTACAGCACTGGCTGCGCAGTACGATTATTGCTGCGGGCTCGCTATTG
+GTGCTGTTTATGCTGTTATTCTGGATCCCGCTGGATATGCCGCTGAAATTCACCCTCTCGTGGATGAAAG
+GCGCGCAGACCATTGAAGCCACCAGCGTGAAACAACTGGCTGACGCTGGCGTGCGGGTTGGCGATACATT
+GCGTATTAGCGGTACGGGAATGTGTAATATTCGCACTTCCGGTACCTGGAGCGCGAAAACCAACTCACCT
+TTTTTACCGTTTGACTGCTCGCAGATCATCTGGAATGACGCCCGCTCATTGCCATTACCAGAATCTGAAT
+TGGTCAACAAAGCGACGGCATTGACCGAAGCAGTTAATCGCCAGCTGCACCCTAAACCGGAAGATGAATC
+TCGCGTCAGTGCCTCATTACGTTCAGCAATTCAAAAATCCGGTATGGTATTGCTTGATGATTTTGGCGAC
+ATTGTTCTGAAGACAGCAGATCTGTGTTCTGCCAAAGATGACTGTGTGCGACTGAAAAATGCGCTGGTCA
+ATCTCGGCAACAGTAAAGACTGGGACGCGCTGGTAAAACGCGCCAACGCCGGGAAACTCGATGGCGTGAA
+TGTGTTATTACGCCCGGTGAGTGCGGAATCGCTGGATAACCTGGTGGCCACCTCTACCGCGCCGTTTATC
+ACGCATGAAACGGCGCGAGCGGCACAATCACTAAACAGTCCGGCCCCCGGCGGATTCCTGATTGTCAGCG
+ACGAAGGCAGCGATTTTGTTGATCAGCCCTGGCCTTCGGCATCACTTTACGACTATCCGCCGCAAGAACA
+GTGGAACGCTTTCCAGAAACTGGCACAAATGCTGATGCATACGCCGTTTAACGCCGAAGGTATCGTCACA
+AAAATCTTCACTGACGCCAATGGTACGCAGCATATTGGCCTTCATCCGATCCCGGATCGTTCCGGCCTGT
+GGCGCTATCTCAGCACCACGCTGCTGCTACTGACGATGCTGGGTAGCGCCATTTATAATGGCGTACAGGC
+CTGGCGTCGTTACCAGCGCCATCGTACTCGCATGATGAAGATTCAGGCCTATTATGAAAGTTGCCTGAAC
+CCGCAACTGATCACCCCTTCAGAAAGCCTTATCGAATAACACGTTTGCGCGGCAGGTTATGCTACCCTGT
+CGCGCAAATTGCTTCACTCTGGAGATTTCCCTCATGCATATCAACATTGCCTGGCAGGACGTAGATACCG
+TTCTGCTGGATATGGACGGCACGTTGCTCGACCTCGCCTTCGATAACTATTTCTGGCAAAAGCTGGTGCC
+TGAAACATGGGGCGCGAAAAACGGAGTTACGCCACAGGAAGCGATGGAATATATGCGCCAGCAATATCAC
+GACGTACAGCATACGCTAAACTGGTACTGTCTTGATTACTGGAGTGAGCAACTGGGTCTGGATATCTGTG
+CGATGACCACCGAGATGGGACCGCGTGCCGTACTGCGTGAAGATACCATTCCGTTTCTTGAGGCACTGAA
+AGCCAGCGGTAAACAGCGAATTTTGCTCACCAATGCGCATCCGCACAACCTGGCGGTAAAACTTGAGCAT
+ACCGGTCTGGACGCACACCTTGATTTATTACTTTCCACCCACACATTTGGTTATCCGAAAGAGGATCAGC
+GGTTATGGCATGCGGTGGCCGAAGCTACGGGTCTTAAAGCTGAAAGAACGCTGTTTATTGATGACAGCGA
+AGCGATTCTCGATGCTGCCGCGCAATTTGGTATTCGTTACTGCCTCGGTGTGACTAATCCTGACTCCGGG
+ATTGCCGAGAAACAGTATCAACGCCATCCGTCACTGAATGACTACCGCCGCCTGATCCCCTCGCTAATGT
+GAAGGAGATGCCATGAAAGAAAAACCTGCTGTTGAGGTTCGACTGGATAAATGGCTATGGGCTGCCCGTT
+TTTATAAAACCCGCGCGCTGGCCCGTGAAATGATTGAAGGCGGTAAGGTGCATTACAACGGGCAGCGCAG
+CAAGCCAAGCAAAATCGTCGAGCTGAATGCCACGCTCACTCTGCGCCAGGGAAATGACGAACGCACGGTG
+ATTGTAAAGGCGATTACTGAACAGCGTCGCCCCGCCAGCGAGGCAGCCTTGCTGTATGAAGAGACTGCGG
+AAAGTGTAGAGAAACGCGAAAAAATGGCGCTGGCACGTAAACTTAATGCCTTAACCATGCCGCATCCGGA
+CCGACGCCCGGACAAAAAAGAGCGCCGCGACCTGTTACGATTTAAACACGGCGACAGTGAATAACTGTCA
+CCTGCAAGAGAGATGATTATGCCGCAACATGACCAATTACATCGCTATCTGTTTGAAAACTTTGCCGTTC
+GCGGCGAACTGGTAACCGTTTCGGAAACCCTGCAACAGATCCTTGAGAATCACGATTATCCGCAGCCCGT
+TAAGAACGTGCTGGCAGAACTGCTGGTTGCGACCAGCCTGTTAACCGCTACGTTGAAGTTTGATGGTGAT
+ATCACCGTACAGCTGCAAGGCGACGGTCCGATGAATCTGGCGGTTATTAACGGTAACAACAACCAGCAGA
+TGCGCGGTGTGGCGCGCGTGCAGGGCGAAATTCCAGAAAATGCCGACCTGAAAACGCTGGTCGGCAATGG
+TTACGTGGTGATCACCATCACCCCGAGCGAAGGCGAACGCTATCAGGGCGTGGTTGGTCTGGAAGGTGAT
+ACCCTGGCGGCCTGCCTGGAAGATTACTTTATGCGTTCTGAACAGCTGCCGACGCGCCTGTTTATTCGCA
+CCGGCGACGTAGACGGCAAACCGGCTGCAGGCGGAATGTTGTTGCAGGTAATGCCTGCGCAAAATGCCCA
+GCAGGACGACTTTGACCACCTGGCGACGCTAACCGAAACCATCAAAACCGAAGAACTGCTGACTTTACCG
+GCAAACGAAGTGTTGTGGCGTTTGTATCACGAAGAAGAGGTGACGGTTTACGATCCGCAGGATGTGGAGT
+TCAAATGCACCTGCTCGCGTGAACGTTGCGCCGATGCGCTGAAAACGCTGCCTGATGAAGAAGTCGATAG
+CATCCTGGCGGAAGATGGCGAAATTGACATGCATTGTGATTACTGCGGTAACCACTATCTGTTCAATGCG
+ATGGATATTGCCGAGATCCGCAACAACGCGTCTCCGGCAGATCCGCAAGTTCATTAATGAGTATGTCCGG
+CAGAGAGGACTCTGCCGGATTTTACGACTAATACACCTGATGCGCTTTGTCACTCATTCAGATTCACATC
+CAGCCTTTCACCATCCACTACAAGATCGCGCCACGCTTTAGGCCTCGTCCCCAGCTTTCCATCCTTCGCA
+GCAGCGAGTAATTTTTCTTTCGTTATTTGGCGCGGAAGTAAACTCATATCAAGCGCGTCCCATTCTTTTC
+TGGCTGAGTCAAAGCCATAGACAATGACTCTGTCATCATTAAAAGCAAACAGGATCCGCTCCGCCTGACC
+ATCACTATTCAGATCTTGCTCGACCAGTACGCAGGCGTCTTTTTCAATACAGGTCATCACGTTATAGCGT
+TCTTTGATTAATGCCGACCAGAATGCCACATCCGGTTTGCCAGAACCTGGTGCAATTAACACATTTTCGG
+CTAATGATTTTTCCGACACCACCTTCTGAAGACTTTGCTCCCCATCTAACGCCATCAACAGATCCCGCGC
+ACGTTTCGGGTCTTTCATAAACCCGGCATCGCTTTTCAGCGACTCAAGCGCCGCACGTCCATAGCGACCG
+CTGTGTTCGAGCATGTAGATAGTTACCTGGTCTGGCGTGTTTTTACCGCTCTGATAACGCGCCATATGAC
+TGTTCACGCTAATGCGCATACTGTCCAGCACCGGCGAATTAAGAAGCACCAGTATCACCAACACCAATAC
+CGAAACCGCAAGGTTCACTTTGCCTTGAAGAACAAGGGGATTTTGCCCTTTACGCCAGACAATGCTGACA
+AAATACCCCAGCGACCACACCAGTAACACCAGCACCGCCAGCGCGCCCTGCAAGCGGTCGACAGTCCAGC
+CGTACTGAGCGACCCGCAGCCATAACGCCCAGGCGGCGACGAACACATACAGCGGAGCAACCAGCAAAGC
+GGTTTTAATCAGGCAACGCAATGGCCCCGTCCAGGGAAGTGACGCTTTTTGCGGATCGCGGACAATAGCC
+ATTAAGATCAATTGCAAAAAGGCCAGCGTTAACAGCAACCCAGCGGCGGAGATGTGGCGAGAAATCGCGC
+TCAGGCCCGTAAACGGCAGGGTGATAATAAACATCAGGGTTAGCAATGATACTAACGGCAGCAACCCCGT
+GGCGATTAACGTGAACAACTTTTGAATAGAGTCGATTAAACGTGACTGTGTTCGCGCGAGGATCACCGCC
+AGCGCGGTAACCAGACCTAACGTGAGATAAATAAACCCGTCGGTTGCAAAAAAGAGCGTTTTGAAAAACG
+TGATGCCAACAAGTTTAAACAACTCACTCCACAGTAAAAGCACCAGCCACGTCAGGCCATTGGCGAGAAA
+AATCACCAGTAATATAAGTACGTTATGCCATACTGACTGGTAAAAGTAGCGATAGCGGCTACTGTCATTG
+CGGATGCGAAGGCTTTGTTGTATCCACGGTAGCAACAACATTGCCATCAGCAGCAGATAGCAGCCAAAAT
+CCCAAAGCGCCTTTTCTGCTCTCCAGTGGTTCATGCCATCAATTTGCCACTTTAGCCAACCGCTCATTCC
+CAGCGTGGCAATAAACACCAGCGCCAGCCATCCCCAAAGGCGCTTCTGTTTAAAGGAGATCACGGAGAAG
+AGTAAAACGGATGAAAACGCGACGGTCGCAGGCACGCCATAAACAATCCAACTGTGATTTTTTCCGGCAA
+GCCAAGCGATCAGCAGGTAGCAAACCAGCCCCTGAAGTAATCCGGTAGCAATCATCCCCCAGCGTGTTGC
+CGGTGAAAGTTCAACGTTATCCATGTTGGTTATCCAGAATCAAAAGGTGGGTTAATTATCGCATCCGGGC
+AGTAGTATTTTGCTTTTTTCAGAAAATAATCAAAAAAAGTTAGCGTGGTGAATCGATACTTTACCGATTG
+AATTTGCATCAATTTCATTCATGAATGCGATTCCACTCACAATATTCCCGCCATATAAACCAAGTTTTAA
+CCTTTTGAGAACATTTTCCACACCTAAAATGCTATTTCTGCGATAATAGCAACCGTTTCGTGACAGGAAT
+CACGGAGTTTTTTGTCAAATATGAATTTCTCCAGATACGTAAATCTATGAGCCTTGTCGCGGTTAACACC
+CCCAAAAAGACTTTACTATTCAGGCAATACATATTGGCTAAGGAGCAGTGAAATGCGCGTTAACAATGGT
+TTGACCCCGCAAGAACTCGAGGCTTATGGTATCAGTGACGTACATGATATCGTTTACAACCCAAGCTACG
+ACCTGCTGTATCAGGAAGAGCTCGATCCGAGCCTGACAGGTTATGAGCGCGGGGTGTTAACTAATCTGGG
+TGCCGTTGCCGTCGATACCGGGATCTTCACCGGTCGTTCACCAAAAGATAAGTATATCGTCCGTGACGAT
+ACCACTCGCGATACTTTCTGGTGGGCAGACAAAGGCAAAGGTAAGAACGATAACAAACCTCTCTCTCCGG
+AAACCTGGCAGCATCTGAAAGGCCTGGTGACCAAACAGCTTTCCGGCAAACGTCTGTTCGTTGTCGACGC
+CTTCTGTGGTGCGAACCCGGATACTCGTCTTTCCGTCCGTTTCATCACCGAAGTGGCCTGGCAGGCGCAT
+TTTGTCAAAAACATGTTTATTCGCCCGAGCGATGAAGAGCTGGCAGGTTTCAAACCAGACTTTATCGTTA
+TGAACGGCGCGAAGTGCACTAACCCGCAGTGGAAAGAACAGGGTCTGAACTCCGAAAACTTCGTGGCGTT
+TAACCTGACCGAGCGCATGCAGCTGATTGGCGGCACCTGGTACGGCGGCGAAATGAAGAAAGGGATGTTC
+TCGATGATGAACTACCTGCTGCCGCTGAAAGGTATCGCTTCTATGCACTGCTCTGCCAACGTTGGCGAGA
+AAGGCGATGTTGCGGTGTTCTTCGGCCTTTCCGGCACCGGTAAAACCACCCTTTCCACCGACCCGAAACG
+CCGCCTGATTGGCGATGACGAGCACGGCTGGGATGATGACGGTGTGTTTAACTTCGAAGGCGGCTGCTAC
+GCGAAAACTATCAAGCTGTCGAAAGAAGCGGAACCTGAAATCTACAACGCTATCCGTCGCGATGCGCTGC
+TGGAAAACGTCACCGTGCGTGAAGATGGCACAATCGACTTTGATGATGGTTCAAAAACCGAGAACACCCG
+CGTTTCTTATCCGATCTATCACATCGATAACATCGTTAAGCCGGTTTCCAAAGCGGGCCACGCAACGAAA
+GTTATCTTCCTGACCGCCGACGCCTTTGGCGTGCTGCCGCCGGTTTCTCGTCTGACTGCCGATCAAACCC
+AGTACCACTTCCTCTCTGGCTTCACCGCCAAACTGGCCGGGACTGAGCGCGGCATCACCGAACCGACGCC
+AACCTTCTCCGCCTGCTTCGGCGCGGCGTTCCTGTCGCTGCACCCAACTCAGTACGCAGAAGTGCTGGTA
+AAACGTATGCAGGCGGCAGGTGCGCAGGCGTATCTGGTTAACACCGGCTGGAACGGTACTGGCAAACGTA
+TCTCCATTAAAGATACCCGCGCCATTATCGACGCCATCCTCAACGGTTCGCTGGATAACGCAGAAACTTT
+CACTCTGCCGATGTTTAACCTGGCGATCCCAACCGAACTGCCGGGCGTAGACACGAAGATCCTCGATCCG
+CGTAACACCTACGCTTCTCCGGAACAGTGGCAGGAAAAAGCCGAAACGCTGGCGAAACTGTTTATCGACA
+ACTTCGATAAATACACCGACACCCCTGCGGGTGCCGCGCTGGTAGCGGCTGGTCCGAAGCTGTAATGATT
+TGAAGCTGGAGAATATCTATCCAGTATCTTATAGAAAGCAAAACGGGAGGCACCTTCGCCTCCCGTTTTA
+TTTACCCTTCTTTTGTCGCACCCTGCGCCCGCGTTACCGGCACTGGCAGCCAGGCGCGAATGGAAAGCCC
+GCCCCGTTCGCTGGTGCCAAGCTCCAGCATCCCGTTATGGTTATCCACGATACGCTGCACAATCGCCAGC
+CCTAATCCCGTGCCGCTAATAGTGCGCGCACTGTCGCCACGAACAAACGGCTGGAACAGGTGCTTACGCT
+GTTCTGGCGCAATACCCGGACCGTCATCTTCTACCTGGAACCAGGCGCGATTCGGCTCCGTGCCGCTGCT
+GACTTTGATCCAGCCATTGCCATAGCGGGCGGCGTTCACCACCATATTCGCTACCGCGCGTTTGATCGAC
+AGCGGGTGCATTTTCACCTCAATGCTACCGGGGTAAAGCGCAGTTTCAATTTCCCGCTCATAGCCACTTT
+CGGCAGCAATAACCTCACCGAGTACTGCGTTGAGATCCGCCATTTCCATCGGCATCTCCTGCCCGGTGCG
+CAGGTAGTCGATAAACTGCTCAATGATGGCGTTGCACTCTTCGATATCTTTATTGATCGATTCTGCCAGG
+TAGCCATCCTGCTCGCTCATCATCTCGGTCGCCAGACGAATACGCGTCAGCGGCGTGCGCAGATCATGGC
+TTACCCCCGCCATCAGCAGCGTGCGGTCATCCGCCAGTTGCTTAACACCAGCCGCCATATGGTTAAAGGC
+GCGGGTAACGGAACGCACCTCCGAAGCGCCATATTCACGCAGCGGCGGCGGAATAATCCCTTTACCCACC
+TGCAAGGCTGCGTGTTCGAGATCGACCAACGGTCGGTTCTGGATACGAATAAACAGCCACGCCCCGCCTA
+TCGCCAATAGCATAATCGCCAACGTATAACGGAACAGCGGGGAGAAATCGCCCTGATGAATTTCGGTTAG
+CGGCACGCGTACCCAGATATTGGGCGACAACCAGGTTTTCAGCCAGACGACAGGCGAACTTTTGTTGACC
+TCGACGCGAACTTCCGTCGGACCGCCCAGTTGCTGCGCCATCTGATGGCTTAAGAATTCATAGTGTTGCG
+CCCAACGCAGACCTGCCTCTTCGGCAGCTTCGTTGGAATAGAGAGAGATCCCCAGCTCACGGTAGATCTC
+CCGACGGAAAGCGGGAGGCACAACCAACTGCGTGCCGTCCTCCAGTTGCAGTTTGTCGGTCATCAACATA
+CGCACTTCGTACGCGAGGACTTTATTAAACTGCTGGAGGCTCGGCAAAATCGCGAAGTTCAGCACCACCA
+GATAAGTCGTCACCAGGCTGACGAACAGCAAGGTGACGATGAGCAATAACGTACGGGCAAATGAACTTCG
+TGGCGAGAAGCGCAATCGCCTCATGCTTTAGAACCGTCCGGTACAAAGACGTAGCCCAGACCCCAGACGG
+TCTGAATGTAACGCGGATGCGCCGGATCTTCTTCCACCATGCGGCGCAGACGCGAAATCTGCACGTCGAT
+GGAGCGTTCCATTGCGGAATATTCACGACCACGGGCAAGGTTCATCAGCTTATCGCGGGAGAGCGGCTCA
+CGCGGATGGCTGACCAGTGCCTTCAGTACCGCAAACTCACCACTGGTGAGCGGCATCGGCTCGTCTTCGC
+GGAACATTTCGCGCGTACCGAGGTTAAGTTTGAACTTACCGAAAGCAATTACCGCCTCTTCCTGTGACGG
+TGCGCCTGGCAGTTCGTTCGCCTGACGACGCAGCACCGCACGAATGCGGGCCAGCAGTTCACGCGGGTTA
+AACGGTTTTGGAATGTAATCGTCAGCGCCAATCTCCAGGCCAACGATACGGTCCACTTCTTCCCCTTTCG
+CCGTCACCATAATGATCGGCATCGGATTGCTCTGGCTACGAAGACGTCGGCAAATCGACAAGCCATCTTC
+ACCAGGTAACATCAAATCCAGTACCATAAGATGGAAAGATTCACGAGTCAGCAGGCGATCCATCTGTTCT
+GCATTAGCGACGCTTCGAACCTGGAAGCCTTGTTCGGTGAGATAACGTTCCAGCAGCGCGCGCAGGCGCA
+TGTCGTCATCAACCACCAGAATCTTGTAGTTCTCTTGCATTGTTTGTACTCCCAAAGGTTCGCAACAATT
+TGTAAGCGTGTATTCTTAAAAAAGCTCACGTTCGTCACCAGCTAAATCTGGTATGAATTTCAGCCTAAAT
+TGTTACAAAGCATATTAAACAGCAGCTTAAGTATACAATTTATTCGGCGAAACATTATTGATTCTGTTGA
+TATGATCACGTTATACCCAATGTGCGCATTATCAAACAGACAAAGGGAATCAACGAGATGAAAACGCCCC
+TGGTTACCCGGGAAGGGTATGAAAAACTCAAACAAGAGCTTAATTATCTCTGGCGTGAAGAACGCCCGGA
+GGTCACAAAGAAAGTGACCTGGGCCGCAAGTCTGGGCGACCGCAGCGAAAATGCTGACTATCAGTATAAT
+AAAAAGCGCCTGCGTGAAATCGACCGTCGCGTGCGCTATCTCACTAAATGCATGGAAAATCTCAAAATCG
+TCGATTACTCCCCGCAGCAGGAAGGCAAAGTCTTTTTTGGTGCGTGGGTGGAGATTGAAAACGACGATGG
+TGTGACTCACCGTTTCCGTATTGTCGGCTACGATGAAATTTTTGGCCGTAAAGATTACATCTCTATCGAT
+TCCCCGATGGCCCGCGCATTGCTGAAAAAAGAAGTCGGCGATCTGGCGGTGGTGAATACCCCTGCCGGGG
+AAGCGAGCTGGTATGTTAATGCTATCGAGTACGTGAAACCGTAAGGAAGAGTCTTAACCTCCTGCCGATG
+GCTGGCATTTTTGCCAGCCAGTCCGTATAACTATCCCCTGATTTTTGATCCGAAAAGATGAACTCAAACC
+ATGATGAATGATTCGTTCTGCCGCATTATTGCGGGTGAAATTCAGGCGCGCCCGGAACAGGTTGACGCTG
+CCGTTCGCCTGCTTGACGAAGGGAATACCGTGCCGTTTATCGCACGTTATCGTAAGGAAATCACCGGCGG
+TCTGGATGACACGCAGCTGCGTAATCTGGAAACGCGTCTGAGCTATCTGCGCGAGCTGGAAGAGAGACGT
+CAGGCGATCCTCAAGTCCATTTCCGAGCAAGGCAAACTCACCGATGATCTGGCGAATGCCATCAACGCCA
+CCCTAAGCAAAACCGAACTCGAAGACCTCTACCTGCCCTACAAACCTAAACGCCGCACCCGTGGGCAAAT
+CGCCATTGAAGCAGGGCTTGAGCCGTTGGCCGATCTGCTGTGGAGCGATCCGTCACACACGCCAGAAGTC
+GCCGCTGCACAATATATTGATGCCGATAAAGGCGTGGCAGATACCAAAGCCGCGCTGGACGGCGCGCGCT
+ATATCCTGATGGAACGGTTTGCCGAAGATGCCGCGCTGCTGGCGAAAGTGCGTGATTATCTGTGGAAGAA
+CGCGCATTTGGTCTCAACCGTGGTGAATGGTAAAGAAGAGGAAGGGGCGAAATTCCGCGACTATTTCGAT
+CATCACGAACCGCTGTCCACGGTGCCTTCTCACCGCGCGCTGGCGATGTTCCGTGGTCGTAACGAAGGCA
+TACTTCAGCTTTCGCTGAATGCCGATCCGCAGTTCGAAGAGCCGCCGAAAGAGAGCTATTGCGAGCAAAT
+CATCATGGATCACCTTGGCCTGCGCCTGAACAATGCCCCGGCGGATAGCTGGCGCAAAGGTGTGGTGAGC
+TGGACGTGGCGCATCAAGGTGTTGATGCATCTGGAAACTGAACTGATGGGCACCGTGCGCGAACGCGCGG
+AAGATGAAGCAATCAACGTCTTTGCCCGTAACCTGCACGATCTGCTGATGGCGGCCCCTGCCGGGCTGCG
+TGCAACGATGGGCCTCGATCCGGGTCTGCGTACCGGGGTAAAAGTGGCGGTAGTCGATGCGACAGGTAAA
+CTGGTGGCAGCCGATACCATTTATCCGCATACCGGGCAGGCCGCAAAAGCAGCGATGACCGTTGCTGCGC
+TGTGTGAAAAGCATAACGTTGAACTGGTGGCGATTGGCAACGGTACAGCTTCCCGCGAAACCGAACGTTT
+CTATCTCGACGTGCAGAAGCAGTTCCCGAAAGTGACCGCGCAGAAAGTGATCGTCAGCGAAGCTGGCGCG
+TCGGTTTACTCGGCTTCCGAGCTGGCAGCACAGGAATTCCCGGATCTCGACGTTTCGCTGCGTGGCGCGG
+TGTCTATCGCCCGTCGTTTGCAGGATCCGCTGGCAGAGCTGGTGAAAATCGATCCGAAATCTATCGGCGT
+AGGTCAGTATCAGCATGACGTCAGCCAGACGCAGCTGGCACGCAAACTGGATGCAGTAGTAGAAGACTGC
+GTAAACGCCGTTGGCGTCGATCTCAACACCGCTTCTGTTCCTCTATTAACCCGCGTGGCGGGCCTGACGC
+GCATGATGGCGCAAAACATCGTGGCCTGGCGCGATGAGAACGGCCAGTTCCAGAACCGTCAGCAACTGTT
+AAAAGTGAGCCGTCTGGGGCCGAAAGCCTTCGAGCAGTGCGCGGGCTTCTTGCGCATTAACCACGGTGAT
+AACCCGCTGGACGCTTCTACCGTTCACCCGGAAGCCTATCCAGTGGTGGAACGCATTCTGGCAGCAACAC
+AGCAGGCACTGAAAGATCTGATGGGTAACAGCAGCGAACTACGTAACCTGAAAGCATCTGACTTTACTGA
+TGAGAAATTCGGTGTGCCGACGGTAACCGACATCATCAAAGAGCTGGAAAAACCGGGTCGCGATCCGCGG
+CCGGAATTTAAAACCGCTCAGTTTGCCGATGGCGTCGAGACAATGAACGACCTGCAACCGGGTATGATCC
+TCGAAGGTGCGGTGACCAACGTCACCAACTTTGGCGCGTTTGTCGATATTGGTGTGCATCAGGACGGCCT
+GGTTCACATCTCTTCATTGTCGAACAAGTTTGTGGAAGATCCGCATACCGTGGTGAAAGCGGGCGACATT
+GTGAAGGTGAAAGTGCTGGAAGTGGATCTTCAGCGTAAACGTATCGCCCTGACCATGCGTCTGGACGAGC
+AGCCTGGCGAAACCAACGCCCGTCGCGGTGGCGGTAACGATCGCCCGCAAAACAACCGCCCGGCAGCCAA
+ACCGCGTGGGCGTGAAGCGCAGCCTGCCGGTAATAGCGCGATGATGGATGCGCTGGCGGCGGCAATGGGC
+AAAAAACGTTAAACGCCCGGACTGGCCCCTAAACCTGCGCGATTAGGCGTTCACGCCGCATCTGGCAATG
+AACGCCTTGCCTGACATAAAAGTGCCGGAGAATATCTCCGGTCTTTTTATTCCACAAGCAAACTCATAAT
+AGATTCCGTTAATATTTATCACTTCATTAACAACTGAAACCTTAATTAAACATTAACCAGCCCTAATAAT
+TCGTCATGCGAATTATATTTTCGCTGCGATATAACCTTGAGCCATATCAACATTGAGTCAGATTATTATT
+CAAACCAACATTCACACACATTTTAAGTATTGCTGATAGAAACCATTCTCATTATCATTGTACTGTTGAT
+TATTTAATCTCTCCTTCGTTGGCAAATCATCTGGTCTCATGTCGCTGTCAAACGCCCCATGAGGTAGTTA
+TCCAGTTAATGAGAAACAAGTAGGCACCTATGCAATACACTCCAGATACTGCGTGGAAAATTACTGGCTT
+TTCCCGTGAAATCAGCCCGGCATATCGCCAAAAACTGCTTTCTCTTGGCATGTTACCTGGCTCCTCTTTT
+AATGTGGTGCGCGTCGCTCCACTCGGCGACCCCATTCATATCGAAACCCGTCGTGTGAGCCTGGTATTAC
+GCAAAAAAGATCTGGCCTTATTAGAAGTGGAAGCGGTTTCCTGTTAATACGGTGATAACAACAATGAAAA
+AATTAACCATTGGCTTAATTGGTAATCCAAATTCTGGCAAGACAACGTTATTTAACCAGCTCACTGGCTC
+ACGTCAGCGTGTAGGTAACTGGGCTGGCGTTACCGTCGAACGTAAAGAAGGGCAATTCTCCACCACCGAT
+CATCAGGTCACGCTGGTGGACCTGCCCGGCACCTATTCTCTGACCACCATCTCATCGCAGACCTCGCTCG
+ATGAGCAAATCGCCTGTCACTACATTTTGAGTGGCGACGCAGACCTGCTGATTAACGTGGTGGATGCGTC
+TAACCTTGAGCGTAACCTGTACCTGACGCTGCAACTGTTGGAACTCGGCATTCCATGCATCGTGGCGCTG
+AACATGCTCGACATTGCCGAGAAGCAAAATATTCGCATTGAAATTGATGCGCTGTCGGCGCGTCTTGGCT
+GCCCGGTGATCCCGCTGGTTTCAACCCGTGGTCGCGGTATTGAAGCGCTCAAGCTGGCGATTGATCGCTA
+TAAAGCTAACGAGAATGTGGAACTGGTGCATTACGCTCAGCCGCTGCTCAACGAAGCAGATTCACTGGCA
+AAAGTGATGCCTTCCGACATCCCGCTGAAACAACGTCGCTGGCTGGGCCTGCAAATGCTGGAAGGCGATA
+TCTACAGCCGCGCCTACGCCGGTGAAGCGTCGCAGCATCTGGATGCCGCCCTCGCCCGTCTGCGTAATGA
+GATGGACGATCCGGCGCTGCACATTGCCGATGCGCGTTACCAGTGCATTTCTGCCATCTGTGATGTGGTA
+AGCAACACCCTGACGGCAGAACCCAGCCGTTTCACCACTGCGGTAGATAAAATCGTGCTCAACCGTTTCC
+TCGGTCTGCCGATTTTCCTCTTTGTGATGTACCTGATGTTCTTGCTGGCTATCAACATCGGCGGGGCGTT
+ACAGCCGCTGTTTGACGTCGGCTCCGTAGCACTCTTTGTGCATGGTATTCAGTGGATTGGCTACACGCTC
+CACTTCCCGGACTGGCTGACTATCTTCCTCGCCCAAGGCCTGGGCGGTGGTATTAACACCGTGCTGCCAC
+TGGTGCCGCAGATCGGCATGATGTACCTGTTCCTCTCCTTCCTTGAGGACTCCGGCTATATGGCGCGTGC
+GGCGTTTGTGATGGACCGTCTGATGCAGGCGCTGGGCTTGCCGGGGAAATCCTTTGTACCGCTGATCGTT
+GGTTTCGGTTGTAACGTACCGTCGGTAATGGGCGCACGTACGCTTGATGCACCGCGTGAACGTCTGATGA
+CCATCATGATGGCACCGTTTATGTCCTGCGGCGCGCGTCTGGCTATCTTCGCAGTATTCGCGGCTGCCTT
+CTTCGGGCAGAACGGTGCGCTGGCGGTCTTCTCGCTGTATATGCTGGGTATCGTAATGGCGGTGCTGACT
+GGCCTGATGCTCAAGTACACCATCATGCGCGGTGAAGCGACGCCGTTTGTCATGGAGCTGCCGGTCTACC
+ATGTACCACACGTTAAAAGCCTGATTATCCAGACCTGGCAGCGTCTGAAAGGCTTCGTTCTGCGTGCTGG
+TAAAGTGATTATCATCGTCAGCATTTTCCTGAGCGCCTTCAACAGCTTCTCGCTGAGCGGGAAAATCGTC
+GATAACATCAACGACTCGGCGCTGGCTTCCGTCAGCCGGGTGATCACCCCGGTCTTCAAGCCGATTGGCG
+TACATGAAGATAACTGGCAGGCAACGGTTGGCCTGTTTACAGGTGCCATGGCGAAAGAAGTGGTGGTGGG
+TACGCTCAACACCCTCTACACCGCAGAAAATATTCAGGACGAAGAGTTCAATCCGGCGGAATTTAACCTC
+GGTGAAGAGCTGTTCAGTGCGGTAGATGAAACCTGGCAGAGCCTGAAAGACACCTTCAGCCTTAGCGTAC
+TGATGAACCCCATTGAAGCCAGCAAAGGCGACGGCGAAATGGGTACCGGGGCGATGGGCGTGATGGATCA
+GAAATTCGGTAGCGCAGCTGCCGCATACAGCTACCTGATTTTCGTCCTGCTGTACGTACCGTGCATCTCG
+GTGATGGGTGCTATCGCCCGTGAATCAAGCCGTGGCTGGATGGGCTTCTCCATCCTGTGGGGGCTGAATA
+TTGCTTACTCACTGGCAACATTGTTCTATCAGGTCGCCAGCTACAGCCAGCATCCAACTTACAGCCTGGT
+GTGCATTCTGGCAGTTATCCTGTTTAACATCGTGGTTATCGGTCTGCTGCGCCGCGCGCGTAGCCGGGTA
+GATGTCGAACTGCTGGCAACGCGCAAATCGGTAAGCAGTTGCTGTGCGGCCAGTACCACTGGCGATTGCC
+ACTAAGGACACGACAATGGCTTCGCTCATTCAAGTGCGTGATTTGCTGGCGTTACGGGGCCGTATGGAAG
+CGGCCCAGATTAGCCAGACACTGAACACTCCGCAGCCAATGATTAACGCCATGCTGAAACAGCTAGAAAG
+TATGGGAAAAGCAGTGCGGATTCAGGAAGAACCTGACGGCTGTCTTTCCGGCAGTTGTAAAAGCTGCCCG
+GAAGGAAAAGCCTGTCTGCACGAGTGGTGGGCGCTGCGTTAACCATACTCCATCACCTGTTTTGAAAAGC
+CCGGTATGCGTTTGCATCCGGGCTTTTTTGCGTGCGGCTTTCCATAAAAATGCAACCCTTGCAGCGCGAC
+GTAAATTCCTCTGAAAGCGTCTCGCAGGGATGAAAACTCGCTAATGCACAGGTGTGGAGTGGCGCGTAGA
+GTCGCGGCATTCAAACAACAGGTGAAGGAACGCCATGAGCAAAAAGCAGAGTTCCACCCCACACGATGCG
+CTGTTCAAACTCTTTTTACGCCAACCGGAGACGGCACGCGATTTTCTTGCGTTTCATTTACCGGCACCCA
+TTCACGCGCTCTGTGATATGAAAACCCTCAAGCTGGAGTCGAGCAGCTTTATTGATGACGATCTGCGTGA
+AAGCTATTCCGACGTGCTGTGGTCGGTGAAAACGGAACAAGGACCAGGATACATCTATTGTCTGATTGAA
+CATCAAAGCACCTCAAACAAACTGATCGCATTTCGCATGATGCGCTACGCCATTGCCGCAATGCAAAATC
+ACCTGGATGCCGGATACAAAACCTTGCCGATGGTGGTGCCATTGTTGTTTTACCACGGTATTGAAAGCCC
+CTATCCCTATTCGCTGTGTTGGCTTGATTGTTTCGCCGATCCCAACCTGGCAAGGCAGCTTTATGCCTCT
+GCATTTCCGCTGATTGATGTCACCGTCATGCCTGATGATGAAATCATGCAGCACCGACGTATGGCACTGC
+TGGAGTTAATTCAAAAACATATTCGTCAACGCGACCTGATGGGGCTGGTAGAGCAAATGGCCTGCTTATT
+AAGTAGTGGATACGCTAATGACAGACAAATCAAAGGGCTGTTTAATTACATCTTGCAAACCGGCGATGCG
+GTACGTTTTAACGATTTTATCGACGGCGTTGCCGAACATTCACCGAAACACAAGGAGAACTTAATGACTA
+TTGCGGAAAGATTGCGGCAGGAAGGGTTTCAGAAAGGTATACGTACCAACGCCCTAAATATTGCCAAAAC
+CATGCTGGACGCCGGAGTTTCTCTTGAGGACGTTCTGCGATTTACCAGCCTGACGGTTGAAGACCTTGCT
+GAAATAAATCATCAATAACGTAAAGGATGGTTTTAATGACAGATGCAGAAAGAGAATATCTTATTATTTA
+CCTGATTGGTTATTTATTGGGTCGACGCCTGGAAGCCCTGGATATCGCCAAAAGAATGCTGTAATCCGGA
+GTCCCTCTTGCGGACATCATGCGTTTTACCGGGGTGTCAGAAGAAGAGTTGGCTGCGGCGAGTCAGTAAA
+GTTCTGTCTCGCCATTTCAAAAGCTGTCTACACCCTCTGCTTCAACGCCACCAGCAGGTGATGAAACTCG
+ACCGGATGCGAAATAAACGGCGCATGGGCCGCTTTGGCGAAAATGTACGACTCGCTGTGCGGCCAGAGTT
+TATCCAGCATCGGCACTACTTTGCGCGGCACCAGACCATCAAGATAGCCATACAATCGCAAAAACGGCAT
+GGACACGTTTTGCAGCGGCAGACGGAGATCGACCGTTTTGAGGATTTCCAGCCCACCATTGAGCACGTCC
+ACCTCCGGCATCGGTAACGCCAGTACGGTTTTCTTCAACGCCCGCGCATCCTGGCGCGCCGTTTCAGTAC
+CCATGGTTTGTAACGCCAGGAACCGCTCCACTGTACGCTGAAAATCATCACTGAGTTGCTGCTGAAATCC
+CGCCAGCACGTCCGGTTTTATCCCCGGCCACTCGTCGCGAGCACTAAAACAAGGTGACGACGCCACGGTG
+ACCAGCGCCAGAACCCGCTCGGGATGGGTTAACGCAATCTGGCTTGCCACCAGCCCGCCCAGACTCCAGC
+CTAACCAAATGGCTTTATCTGGTGCCTGTCGCAGCACGACTTCGGCCATATCAGCAAGTGATAGCGCACC
+AAATCCCCGGCTACGCCCGAAGCCGGGCAGGTCAACAAGGTGCAGCGTAAAATGCGAGCTAAGTTCCTCG
+TCAATGCAACGCCACACTTCGGCATTCAGTCCCCATCCGTGCAGCAGCACAAGATGAACATTCCCCTGAC
+CTTTGGTCTGCCACCAGATGTTATTCATCCGCTATTGTTCTCTTTTTACTTACAAGGATGAACATATGCT
+AACAGTACCGGGATTATGCTGGCTATGCCGAATGCCACTGGCGTTAGGTCATTGGGGGATTTGTTCGGTC
+TGCTCTCGCGCCGCCCGTACAGATAAAACGTTATGCCCACAATGTGGATTACCCGCCACACACTCTCATC
+TTCCCTGCGGTCGCTGCCTGCAAAAACCGCCGCCCTGGCAAAGACTGGTCACGGTCGCCGACTATGCGCC
+GCCATTAAGTCCGCTCATTCACCAGCTTAAGTTTTCCCGGCGCAGTGAAATCGCCAGCGCCCTGTCACGT
+CTGTTACTATTGGAAGTCTTACACGCTCGTCGCACCACCGGGTTGCAACTGCCTGATCGCATCATCAGCG
+TTCCGTTATGGCAGCGCCGTCACTGGCGTCGGGGATTTAATCAGAGCGATTTGCTGTGTCAGCCGTTATC
+ACGCTGGCTACACTGCCAATGGGATAGCGAAGCCGTCACACGAACACGGGCCACCGCGACCCAGCATTTT
+CTTAACGCCCGGCTACGCAAACACAACCTGAAAAATGCCTTTCGCCTTGAATTGCCTGTGCAAGGTCGCC
+ATATGGTGATTGTGGATGATGTCGTTACCACCGGAAGTACCGTCGCAGAGATTGCGCAGTTGCTTTTACG
+CAATGGTGCGGCGACTGTCCAGGTCTGGTGCCTTTGTCGAACCTTGTAGAGCCTCGATGATGGGCGTATT
+ATAACCAACTAAAATAGTCAACTATTAGGCCATTACTATGATCCGTATTTCCGATGCTGCACAAGCGCAC
+TTTGCCAAACTGCTGGCAAACCAGGAAGAAGGGACACAAATCCGCGTATTTGTGATTAACCCTGGCACGC
+CTAACGCTGAATGTGGCGTTTCTTATTGTCCGCCGGACGCTGTGGAAGCCACCGACACTGCCCTGAAATT
+TGACCTGCTGACCGCGTATGTTGATGAGTTAAGCGCTCCTTACCTGGAAGATGCAGAGATCGATTTTGTT
+ACCGACCAGTTGGGTTCGCAGCTGACGCTGAAAGCGCCTAACGCCAAAATGCGTAAAGTGGCTGACGATG
+CGCCGCTGATGGAGCGCGTGGAGTATATGCTGCAATCACAGATCAACCCACAGCTTGCTGGTCACGGTGG
+TCGCGTTTCGCTGATGGAAATCACCGAAGACGGTTACGCCATTTTGCAATTTGGCGGTGGCTGTAACGGT
+TGTTCCATGGTCGACGTCACCCTGAAAGAAGGGATCGAAAAGCAGTTGCTGAACGAATTCCCGGAGCTGA
+AAGGTGTACGCGATCTCACCGAACACCAACGCGGCGAGCACTCTTACTACTAAGTTCTCTCCCCTTTTGT
+CGATTGCCCGATGTGACGCTAAAGCGTCTTATCGGGCCTGTACGTTGCACGAGAGTCTGACGTTAGCGCA
+GAATTACCTCAGCAAATCCAATCTCTTCGTTTCCCCACGATAATATGACCAACCTCTCATAATTTAAATT
+TACCCCGCTCTGGTGATTCTCAAGCACGTAATGTTACCCGTATCATTCTCATGGGCACCAAACACACTCA
+TAACATCTGACTACACTAACTCGTTTTAGGGGTCATCAGCCGTGGTGCCGTAACATCTCTGTTCCCAGTT
+GGGACAACCAGGATTTTCCGTCAGAAACCTGACGTTACCCATAACAAATTAAAGGCCAGGTAAATCATGC
+CATTAGTCATTGTTGCTATCGGTGTAATCTTGTTATTACTCCTGATGATCCGCTTCAAAATGAACGGCTT
+CATCGCTCTCGTCCTCGTGGCGCTTGCTGTTGGATTAATGCAAGGAATGCCGCTGGATAAAGTTATTGGC
+TCCATCAAAGCTGGTGTCGGCGGAACGCTCGGTAGCCTTGCCCTGATCATGGGTTTTGGTGCGATGCTGG
+GCAAAATGCTGGCAGACTGCGGTGGTGCACAACGTATCGCTACCACACTGATTGCCAAATTTGGTAAAAA
+ACACATCCAGTGGGCGGTGGTACTGACCGGTTTTACCGTTGGTTTTGCCCTGTTCTATGAAGTGGGTTTC
+GTGCTGATGCTGCCGCTGGTGTTTACCATCGCGGCTTCCGCGAATATTCCACTGCTGTATGTTGGTGTAC
+CAATGGCGGCTGCACTGTCTGTGACCCACGGCTTCCTGCCACCGCATCCGGGTCCGACTGCAATTGCCAC
+CATTTTCAATGCCGATATGGGTAAAACTCTGCTGTACGGTACTATTCTGGCAATCCCGACCGTGATTCTC
+GCCGGTCCGGTTTACGCTCGCGTGCTGAAAGGTATCGATAAGCCGATCCCGGAAGGTCTGTACAGCGCGA
+AAACCTTCAGCGAAGAAGAGATGCCGAGCTTTGGCGTCAGCGTCTGGACCTCTCTGGTGCCGGTGGTTCT
+GATGGCGATGCGTGCGATTGCCGAAATGATCCTGCCGAAAGGTCACGCTTTCCTGCCGGTAGCGGAGTTC
+CTCGGTGACCCGGTAATGGCTACGCTGATTGCCGTGCTGATCGCGATGTTCACCTTTGGTCTGAACCGTG
+GTCGTTCAATGGATCAGATTAACGACACGCTGGTTTCTTCCATCAAAATCATTGCGATGATGCTGTTGAT
+TATCGGTGGTGGCGGTGCGTTCAAGCAGGTGCTGGTAGACAGCGGCGTGGACAAATACATTGCTTCCATG
+ATGCACGAAACCAACATTTCTCCGCTGCTGATGGCCTGGTCGATTGCTGCCGTACTGCGTATCGCGCTGG
+GTTCCGCAACCGTCGCGGCAATCACTGCGGGTGGTATCGCGGCACCGCTGATTGCAACGACGGGTGTTAG
+CCCGGAGCTGATGGTTATTGCGGTTGGTTCCGGTAGTGTGATTTTCTCTCACGTGAACGATCCGGGCTTC
+TGGCTGTTCAAAGAGTACTTTAACCTGACTATCGGCGAGACCATCAAATCCTGGTCGATGCTGGAAACCA
+TTATCTCGGTGTGCGGTCTGGTAGGCTGTCTGCTGCTGAATATGGTGATTTGATAATACTGATGGCCGGA
+TGCGGCGTGAACGCCTTATCCGGCCTACGATTCGGCATTAATTAGTAGGCCGGATAAGACGCGTCAAGCG
+TCGCATCCGGCATCAACCGCACTCTACTTCTTCTTCGCTGCCGCTCTGCGCCGTCTGTCCAAATCCTTCA
+GCAATTTGTTCACACCATCATCGGCAAACATCGACTCAAGCGTTGCGGAAAGTTTACGTCGCCAGTTTTT
+ATACTGGTAACTGGTGCCGGGAATATTTACCGGATCTGCCATATCCAGCCAGTCTTCCGGCTGTAGCCCT
+AACAGGGCGCTGTTGCTATCGGCGATGTAGCGCTGTAAGCCACGATTCAGCGTCGGTGTCATCGACATCA
+ACGATGCCTTATGCCCGGCACGTTTTGGCAGGCAACCATATTTATGCAGAGCATCCAGCAGCCCTTGCTT
+CGCCAGTTCGCGATCCTGATACAGACCGCGCAGTACCACTTCATCCGGATACAACCCCAGCGTTTTGCCC
+AGCGTTAAATCCCCACTCTCCCAGTAGCCGCGTAGCGTAGGCAGGTCGTGTGTCGCCGCAACCGCCATCG
+ACTGCTCTGGGTACGCTTTCGGTGCGCGGAATGTCTTCTCGTGGTCGTTTTCGAAATAGAGCACTTTGTA
+GGAGTACACACCGCTGCTGCGCAGCTTACCGACAATCTCTACCGGTACGGTACCGAGATCTTCACCAATC
+ACCATACAGCGATGACGTTTACTTTCGAGTGCCAGAATCGAGAGCAGATCATCCACCGGATAGTGAACAT
+ACGCGCCCTGATCTGCCGTCTCGCCATACGGTATCCACCACAAACGCAGCATCGACATCACGTGATCAAT
+TCGTAATGCGCCGCAGTTTTGCATATTGGCACGCAACAGCTCGATAAACGGTTCATAGGCACGCGCGGTG
+ATGATATGCGGGTCCATTGGCGGCAATCCCCAGTTCTGCCCCAACGGGCCGAGGATATCCGGCGGCGCGC
+CAACCGACGCTTTCAGGCAATACAGTTCACGGTCGCACCAGGTTTCTGCCCCACCTTCTGCTACACCAAC
+GGCCAGATCACGATACAAGCCAATCGGCATTTCATAGCCCTGGCTTATCTCCCAGCAGGCGGCAAACTGG
+CTGTAAGCCAGCCACTGCAACCAGAGATAAAAATCGACGTCATCACGATGTTCTTCGCAGAACTGGCGCA
+CTTCTGGTGAATCCACGTTCTGATACATCTCTGGCCATGCTGGCCAGCCCCAGCGCATTTCGTCCTCTTT
+CACTTGCTGGGCATGTAGCGCATCAAAGGCTGCCTGCCAGAACAGGCTGTCGCCCTGCTCTGCAACAAAC
+TGGCGAAACGCGGTCATCTGCTCATCATCACGTTGCGCGAAACCTTTCCACGCCATTCGTAATGCTGTCA
+TTTTTAGGGTGGTAACCGTGGAGTAATCAACCCAGTCGGCATCCCGCGCCTGTTGCAGCGTCTGTTGCGT
+GGTCGGCAACTGCCACCAGGCCTGAGCCTCTTCGCTAAGATGGAAATCTTCAACTGCGTTAACGTCGATA
+TAAATCACATTCAGCCAACGGCGAGAAGACGGGCTGTACGGGCTGGCACTTTCCGGATTTGCCAGATAGA
+GCGCATGAATCGGGTTCAGACCAATAAACGACCCGCCACGTTTTGCCACATCCACCAGCATCGCTTTGAG
+ATCGCCAAAATCCCCAATACCCCAGTTTTTTTCCGATCGCAGCGTATAAAGCTGAACGCAGGCACCCCAC
+AGCTTTTGTTTATTCAGCAACGCCTGCGGTTCGTAACAGCGTTTCGGGGCGACAATCACCCGGCAATGCG
+CGCGCTGGTCGTCTTGGGTAAGCGTCAGCGTGTAATAACCTTCCGGCAGCTTCGTCGGTAGATTGAACGC
+TTTGCCCCCCGTTACATGGCCTTTGTACTGCGTTCCTTCTTCGGTGGTCAGCAGCCAGCTATATTCGCCG
+CTGCCCTCCACCACCATCGGCATTTTTTTGCCGCTGGTATAAACCATGACATTCGGGACTGGCGTTACCG
+CCACTTTCGTGGCGGTACGTTGATGCATCGCGTCAAGCAAACGCCGTTTGGTTTCGGCGCTAATCGACTG
+CGGTTTACCGTGGGCATTGATGTAATTGGGGCTAATACCCGCCGCCAGCGCGGCATTATCCAGACGTTTG
+CTTTCCATCGAGCTTCCTTAGCGTTTTGCCTGCCAGATACGAGCCTGATAATCGCGAATAGAGCGATCCG
+AGCTAAACATACCGCAGCGGGCGGTATTGAGGATCGCCGCGCGAGTCCAGGCCTCCTGGTCGCGGTATAG
+CACATCCACCTGCTTTTGTGCCTCTACATAGGCTGCGAAATCCGCCATCACCAGATACGGATCGCCGCCC
+TGTTTGCCGATACTGTGCAGCATCTGGTCGAAGGCATGCTTATCGCCGTCGCTGTATTTGCCGCTTTCCA
+GCTCTTTCAATACTGCGTCCAGCACCTTATCTTTCTTCCGCCATTTCACCGGGTCGTAGCCTTTGGCCAG
+AATTGCCTTCACTTGTTCCACGGTATGACCAAAAATAAAGATATTTTCTTCACCAACTTTCTCGGCGATT
+TCAACGTTCGCCCCATCCAGCGTACCGACAGTAAGCGCACCATTGAGCGCCAGTTTCATATTGCCGGTAC
+CGGAAGCTTCTTTACCTGCCGTCGAAATTTGTTCGGAGATATCCGCCGCCGGGATCAGTTTTTCCGCCGC
+CGAAACGCAATAATCCGGCAGGAACACCACCTTCAATTTGTCGCCAACCTGCGGATCGTTGTTGATCACG
+TCAGCCACTTTGTTGATCGCAAAGATAATGTTTTTCGCCAGGTAGTAGCCCGGTGCCGCTTTCGCGCCAA
+AGAGGAAGACGCGCGGTACGCGATCAGCCTGCGGGTTTTCACGAATTTCTTTGTACAACGCCAGAATATG
+CAGCAGATTCAGGTGCTGGCGTTTGTACTCATGCAGACGTTTGATCTGAATATCGAAAATCGCCTGTGGA
+TTGATCTCAATACCGGTACGAACTTTCACAAACTCTGCCAGACGGACTTTATTCGCCTGCTTGATCTCGC
+GATATTGCTGACGGAATTTCGCATCATCAGCGAATTTTTCCAGATTGATCAGTTGATCGAGATCGTTAGT
+CCACTCTTTTTTCAGTGATTTATCCAACAGAGCCGCCAGTGCCGGGTTGCACTGTTTGATCCAGCGACGT
+GGGGTAATACCGTTGGTGACGTTATGGAATTTGTTCGGCCATAGCTGGTGATATTCCGGGAACAGATCTT
+TCACCACCAGATCTGAGTGCAGCGCCGCAACACCGTTTACCGCGAAACCGCCAACCACACACAGGTTCGC
+CATATGCACTTGTTTGTCGTGTACCACCGCCAGTTTGGCCCACACTTTTTCATCGCCCGGCCAGGTTTTT
+TCCACCAGCGTTTTAAAGCGAGTATTAATTTCGTTAATAATCTGCATGTGGCGCGGCAGTAAGCCTTTCA
+CCAGTTTCACATCCCAGCGTTCCAGCGCTTCTGGCATCAGGGTATGGTTGGTGTAAGCGAAAGTTTTGCT
+GGTGATGGCCCAGGCGTCATCCCAGCTCATCTGGTGCTCATCGATCAGCACGCGCAGCAGTTCTGGAATG
+GCGATAGTTGGGTGGGTATCGTTCAGCTGAATAACTTCGTACTCCGCCAGTTCGTGCAGTTTACGCCCCG
+CCAGATGATGGCGACGCAAAATATCCGCTACCGAACAGGCACACTGGAAGTATTGCTGCATCAGGCGCAG
+CTTTTTACCGGCAGTATGGTTGTCGTTTGGATAGAGAACTTTGGTCAGTTTTTCCGCGTTGATACCCTGC
+TGTTCGGCGCGCAGGAAATCACCATCGTTAAATTTAGTCAGATCAAACGGATGCGCATGCGTCGCCTGCC
+ACAGACGCAGTGGCTGCGCCACGCCATTACGATAGCCGACAACGGGGAGATCCCACGCTTGACCGGTAAT
+GGTAAACTCCGGCTCCCAGCGTCCATCTTTCGTCACTTTACCGCCAATCCCTACCTGCACATCCAGTGCT
+TCGTTGTGGCGGAACCACGGGTAGTTACCGCGATGCCAGTCATCCGGCGCTTCAACCTGTTTGCCATCGA
+CAAAAGACTGGCGGAACAAACCATATTGATAGTTCAGACCGTAACCCGTCGCAGACTGACCGACAGTTGC
+CATTGAGTCGAGAAAGCACGCCGCCAGACGTCCCAGACCACCGTTCCCCAGCGCCGGGTCGATCTCTTCT
+TCCAACAGGTCAGTCAGGTTGATGTCATAAGCCTTCAACGAATCCTGTACATCCTGATACCAGCCGAGAT
+TCAACAGGTTGTTGCCCGTCAGGCGACCAATTAAAAACTCCATTGAGATGTAGTTAACATGTCGCTGATT
+CGCCACTGGCTTGGCGAATGGCTGAGCACGCAGCATTTCGGCCAGTGCTTCGCTCACTGCCAGCCACCAC
+TGGCGAGGAGTCATTTCAGCCGCAGAATTTAAGCCATAACGCTGCCACTGACGTGAAAGCGCTTCCTGAA
+ATTGCTTATCGTTAAAAATAGGTTGTGACATAGGAGTTCCACTTTTCTTAGATTTTCAACACAACGTTAT
+CGCTAGTTTGCCAGGCTCGATGTTGACCTTCCTCATCCTGCGGGGGATTAGGCAGGGAGGAGTTGCGGGG
+ATGAGCAAGGAAATGTGATCTCGACCACTTAAAGCTAGTGCAATCCACAGGATTAGCAGCAAATCAATGC
+CATACCGCGCAGAAAATCTGTATCTAAGTGCAAAAAATGGCCGTTGCGTATTTTCAAAAAGCGGAAGGTA
+ACTCTATAAATTAAGTAAAGGAGTGAAACAGTTTCACAAGTAAAATATCAAATGTGCTCCATCTCATTCT
+TAATAGATTTATTAAGATCATCTTTTTAGATGGCACTTTCATCAGAAATGAAGAAGAAACCCTTACTTAA
+ATGAAACTGATGAACATAAGGAAAATACCGTACAACCCAGTATTCACGCTGGATCAGCGTCGTTTTAGGT
+GAGTTGTTAATAAACATTTGGAATTGTGACACAGTGCAAATTCAGACACATAAAAAAACGTCATCGCTTG
+CATTAGAAAGGTTTCTGGCCGACCTTATAACCATTAATTACGAAGCGCAAAAAAAATAATATTTCCTCAT
+TTTCCACAGTGAAGTGATTAACTATGCTGATTCCGTCAAAATTAAGTCGTCCGGTTCGACTCGACCATAC
+CGTGGTTCGTGAGCGCCTGCTGGCTAAACTTTCCGGCGCGAACAACTTCCGGCTGGCGCTGATCACAAGT
+CCTGCGGGCTACGGAAAGACCACGCTCATTTCCCAGTGGGCGGCAGGCAAAAACGATATCGGCTGGTACT
+CGCTGGATGAAGGTGATAACCAGCAAGAGCGTTTCGCCAGCTATCTCATTGCCGCCGTGCAACAGGCAAC
+CAACGGTCACTGCGCGATATGTGAGACGATGGCGCAAAAACGGCAATATGCCAGCCTGACGTCACTCTTC
+GCCCAGCTTTTCATTGAGCTGGCGGAATGGCATAGCCCACTTTATCTGGTCATCGATGACTATCATCTGA
+TCACTAATCCTGTGATCCACGAGTCAATGCGCTTCTTTATTCGCCATCAACCAGAAAATCTCACCCTTGT
+GGTGTTGTCACGCAACCTTCCGCAACTGGGCATTGCCAATCTGCGTGTTCGTGACCAGCTGCTGGAAATT
+GGCAGTCAGCAACTGGCATTTACCCATCAGGAAGCGAAGCAGTTTTTTGATTGCCGTCTGTCATCGCCGA
+TTGAAGCCGCAGAAAGCAGTCGGATTTGTGATGATGTTTCCGGTTGGGCGACGGCACTGCAGCTAATCGC
+CCTCTCCGCCCGGCAGAATACTCACTCAGCCCATAAGTCGGCACGCCGCCTGGCGGGAATCAATGCCAGC
+CATCTTTCGGATTATCTGGTCGATGAGGTTTTGGATAACGTCGATCTCGCAACGCGCCATTTTCTGTTGA
+AAAGCGCCATTTTGCGCTCAATGAACGATGCACTCATCACCCGTGTGACCGGCGAAGAAAACGGGCAAAT
+GCGCCTCGAAGAGATTGAGCGTCAGGGGCTGTTTTTACAGCGGATGGATGATACCGGCGAGTGGTTTTGC
+TATCACCCACTGTTTGGTAACTTCCTGCGCCAGCGCTGCCAGTGGGAACTGGCGGCGGAGCTGCCGGAAA
+TCCACCGTGCCGCCGCAGAAAGCTGGATGGCCCAGGGATTTCCCAGCGAAGCGATTCATCATGCGCTGGC
+GGCAGGCGATGCGCTGATGCTGCGCGATATTCTGCTTAATCACGCCTGGAGTTTGTTCAACCATAGCGAA
+CTGTCGCTGCTGGAAGAGTCGCTTAAGGCCCTGCCGTGGGACAGTTTGCTGGAAAATCCGCAGTTGGTGT
+TATTGCAGGCGTGGCTGATGCAAAGCCAGCATCGCTACGGCGAAGTTAACACCCTGCTGGCCCGCGCTGA
+ACATGAAATCAAGGACATCAGAGAAGGCACCATGCACGCAGAATTTAACGCTCTGCGCGCCCAGGTGGCG
+ATTAACGATGGTAGTCCGGATGAAGCGGAACGGCTGGCAAAACTGGCACTGGAAGAGCTGCCGCCAGGCT
+GGTTCTATAGCCGCATTGTGGCAACCTCGGTGCTGGGTGAAGTGTTGCACTGCAAAGGCGAATTGACCCG
+CTCACTGGCGTTAATGCAGCAAACCGAACAGATGGCACGCCAGCACGATGTCTGGCACTACGCTTTGTGG
+AGTTTAATCCAGCAAAGTGAAATTCTGTTTGCCCAAGGGTTCCTGCAAACCGCGTGGGAAACGCAGGAAA
+AAGCGTTCCAGCTGATCAACGAGCAGCATCTGGAACAGCTGCCAATGCATGAGTTTCTGGTGCGCATTCG
+TGCGCAGCTGTTGTGGGCCTGGGCACGGCTGGATGAAGCCGAAGCGTCGGCGCGCAGCGGGATTGAAGTC
+TTGTCGTCTTATCAGCCACAGCAACAGCTTCAGTGCCTGGCAATGTTGATTCAATGCTCGCTGGCCCGTG
+GTGATTTAGATAACGCCCGTAGCCAGCTGAACCGTCTGGAAAACCTGCTGGGGAATGGCAAATATCACAG
+CGACTGGATCTCTAACGCCAACAAAGTCCGGGTGATTTACTGGCAAATGACCGGCGATAAAGCCGCCGCT
+GCCAACTGGTTGCGTCATACGGCTAAACCGGAGTTTGCGAACAACCACTTCCTGCAAGGTCAATGGCGCA
+ACATTGCCCGCGCACAAATCTTGCTGGGCGAGTTTGAATCTGCGGAAATTGTCCTCGAAGAACTCAATGA
+AAATGCCCGCAGTCTGCGGTTGATGAGCGATCTCAACCGTAACCTGTTGCTGCTTAATCAACTGTACTGG
+CAGGCCGGACGTAAAAGTGACGCCCAGCGTGTGTTGCTGGACGCATTAAAACTGGCGAATCGTACCGGAT
+TTATCAGTCATTTTGTCATCGAAGGCGAAGCGATGGCGCAACAACTGCGCCAGCTTATTCAACTCAATAC
+GCTGCCGGAGCTGGAACAGCATCGCGCACAGCGTATTCTGCGAGAAATCAATCAACATCATCGGCATAAA
+TTCGCCCATTTCGATGAGAATTTCGTTGAACGTCTGCTAAATCATCCGGAAGTGCCAGAGCTGATCCGCA
+CCAGCCCGTTGACCCAACGTGAATGGCAGGTCCTGGGGCTGATTTACTCCGGTTACAGCAATGAGCAAAT
+TGCAGGCGAGCTGGAAGTGGCGGCAACCACCATCAAGACGCATATCCGCAATCTGTACCAAAAACTCGGT
+GTCGCCCACCGTCAGGCCGCGGTACAACACGCGCAGAAACTGCTGAAGATGATGGGATATGGGGTATGAG
+TTTAGCCGGATAATGCGCCAGATCCGGCTTACATCTTTACATCATTCAATGCTCACCCGCGTTACGCCAT
+CTGTTTCTATCAAACCAAACCGCACCGGCAAGAAACGCTCCACCACGGCGATATTGGTCAGCAGATGGCA
+TGAGGGATGGGCGACCGTAAATTCCCCCGTACCCGCCAGCGCCATCGGTAGCACCAGTTGGTCGGCGAGA
+TATTCCCCCACCGCCGCCGGGCTTGCCAGGTAGCGTTTCACCTCTTTCACCAACTGTGCCGCGACCACCT
+CGGCACTGACGCGCTTTTCACCGACGACAAAAAAGCGTTCGGTGATATTTTCACTTTCGACTTCAAGCGA
+GACGGTATTACCCGGCCCCTGGTCGCGCGGTAGGCTATGAACAGCCTGTTCATGAAGTGAAAAACTTGCC
+GCCAGTGTAGCGATTTCACGCTCAGCGACATGGCGCGGCACGCCAGCTAATAGCACCTCTCCACGCATCT
+GCACAATGTTCCCGCGCTCGCCAAGTTGCAAGCTATTAAACGATGCCACCGGTGAGACTTCCGTTGCCAC
+CACGCCGCCTCCGGCAGGATAAAAACCGTGACGTAACAGCGTGGTTTGCTGATGAACTCCTATTTTCGCC
+AGCAGCGGCTCCAGCACCCGGCGGATAAAATCCGCAGGCGGGGCCGACGGGTTATCGGTGCCGCCGCTCA
+CTTCAACACGCGAAGGTCCATCGGCAAACCACAGCGCGGGCAGCACCGTTTGCAGCACCAGCGTACAACT
+TCCGGCGCTACCGATAGCAAAGCGGTAATCGCCGCCGCGCACGGTGCCAGGTCGGAAGACCAGACGCTGC
+GACCCCAGCTCAGCGCCTTCCACCGTTGCCCTACAAATTTCCGCAGCCGCTTTTACCGCAGTCAGATGTT
+GGCGCAACAGCCCCGGTTTCGCCCGCCCGGCACGAATGCCGGTGATGGTAAATGGCTGGCCGGTTATCAT
+CGACAGGCTCAGCGCCGAGCGCAGGATCTGCCCGCCGCCTTCGCCCTGTGCGCCATCCAGCGCAATCATC
+CTTTTCATCATTTATCCTTTTACGCACACCACCTGACGCAGGGTATAGATAACTTCCACCAGATCGCTTT
+GTGCCGCCATCACCGCATCAATATCTTTATACGCCATCGGGATTTCGTCGATCACCTCGGCATCTTTACG
+GCACTCCACATGCGCGGTGGCACGGATTTGATCTTCCACACTGAACAGTTTTTTCGCTTTAGTACGGCTC
+ATTACCCGCCCGGCACCGTGGCTGCACGAACAGAACGACTCTTCATTTCCCAGCCCACGGACGATAAAGC
+TTTTCGCCCCCATCGAACCGGGAATAATTCCATATTGACCAGCACGCGCAGACACCGCGCCTTTACGCGT
+CACATAGATCTCTTCGCCAAAGTGCTGTTCTTTTTGCACATAGTTGTGGTGACAGTTGATCTCTTCCATC
+GCCAGCGTTTGTGGCTGTTTTACCGTTTTCTGCGTAACGCTCTGCAACGCCGTTACCACGTTTTCCATCA
+TCGCATCGCGGTTAAGGCTGGCAAAAAGCTGCGCCCAGGCCACGGCTTTCAGGTAATCATCAAAGTATTC
+CGTACCTTCCATAAAGTACGCCAGGTCACGCGATGGCAACGTTTCAAGCGTTTCCTGCATCTCTTTTTGC
+GCCAGATCGATAAAATAAGTTCCGATGGCGTTACCAATTCCGCGTGAACCGGAGTGCAGCATAATCCACA
+CCTGATCCGACTCATCAAGGCAAATTTCAATAAAGTGGTTACCCGTACCCAGTGTTCCCAGGTGTTTATA
+GTTATTAGTGTTAAGGAAACGCGGATATTTTTGCGTTAACCACTGATAACCGGCCTCCAGCTCAGCCCAT
+TTCGCATCGACGTTAACAGGCGGATTTTCCCATGCGCCTTTATCACGTTTACAACGCCCGGTAGTACGTC
+CGTGCGGTACGGCCGTTTCAATCGCCTGACGCAGCTCTGCCAGGTTTTCAGGCAGGTCCGCCGCCGTTAA
+CGCGGTACGCAGTGCGTTCATTCCACAGCCAATATCCACGCCCACCGCCGCCGGAATAATCGCCCCTTTG
+GTCGGGATCACGCAACCAATGGTGGAACCTTTACCCAGGTGTACATCAGGCATTACCGCAATATGTTTGA
+AAATAAACGGCATCTTCGCGGTATTAATAAGTTGCTGACGCGCATCGGCTTCTACCGGCACGCCTTTGGT
+CCACATTTTTACCGGAGCATTTTCAGTGGTCAGTAATTCGTAATTCATTTTGTTTTTCTCTTTTCGTTGT
+TTGCTGTCCTGATAATTGCAACCGTCGTGCCAGAAAATCAAATAAGCATCTTAATTTTTTAATTCATTGT
+TTTTAAAAATATTATATTTTTACGTCCGTAAACGGAGATTTCCCGCAAAGCCGATTTACCGATAATGAAA
+TCTCGTCTTTTATAAGGATATCTAAGATGCGTAAAACAGTGGCTTTTGGCTTTGTCGGAACGGTGCTGGA
+TTATGCCGGGCGCGGCAGTCAGCGCTGGTCAAAATGGCGTCCGACACTCTGTCTATGCCAGCAAGAATCG
+TTAGTTATCGATCGGCTGGAATTATTGCACGACGCCCGCTCGCGCTCGCTATTCGAAACGCTTAAACGCG
+ATATCGCCAGCGTTTCGCCAGAAACAGAAGTGGTGGGCGTTGAGATAGAACTGCATAACCCTTGGGATTT
+CGAAGAGGTTTACGCCTACCTGCATGATTTCGCCCGTGGTTACGCGTTCCAGCCAGAAAAAGAAGACTAT
+TTAATTCACATCACCACCGGTACCCACGTCGCGCAGATTTGCTGGTTTCTGCTGGCAGAAGCGCGTTACC
+TGCCCGCCCGGTTGATACAATCTTCACCACCGCGCAAAAAAGAGCGGCCCGATAGCCCTGGCGCAGTGAC
+GATTATCGATCTCGATTTAAGCCGTTATAACGCCATCGCCAGCCGCTTTGCCGAGGAACGCCAGCAAGCG
+CTTGATTTTCTTAAGTCCGGCATTGCCACGCGTAACTCCCACTTCAACCGCATGATTGAGCAGATCGAAA
+AAGTGGCGATCAAATCCCGCGCACCGATCCTGCTTAACGGCCCGACCGGTGCAGGTAAGTCATTTCTGGC
+ACGACGCATCTTCGAGCTAAAACAGGCGCGGCATCAGTTTAGCGGCGCGTTTGTGGAAGTGAACTGCGCC
+ACCCTGCGCGGCGATACCGCCATGTCGACGCTGTTTGGTCATGTGAAAGGCGCGTTTACCGGGGCGCGGG
+AATCGCGTGAAGGATTATTACGCAGCGCCAACGGCGGAATGTTGTTTCTTGATGAGATTGGCGAACTGGG
+CGCAGACGAACAGGCAATGCTGCTGAAAGCCATTGAAGAGAAAACCTTTTACCCGTTTGGCAGCGATCGC
+CAGGTGAGCAGTGATTTTCAGCTTATCGCCGGAACGGTGCGCGATTTGCGCCAGTTGGTTGCCGAAGGCA
+AATTTCGTGAAGACCTGTACGCGCGAATAAATCTCTGGACCTTCACCTTGCCAGGATTACGCCAACGCCA
+GGAAGATATTGAACCGAACCTGGATTATGAAGTGGAGCGCCACGCCTCACTCACTGGCGACAGCGTGCGT
+TTTAACACCGAAGCGCGGCGTGCCTGGCTGGCCTTTGCGACCTCTCCCCAGGCAACATGGCGCGGTAACT
+TTCGCGAACTTTCTGCCAGCGTCACGCGGATGGCCACCTTTGCCACTAGCGGACGCATCACACTGGATAC
+GGTGGAAGATGAGATCAACCGTCTGCGCTATAACTGGCAGGAGAGTCGCCCCTCCACGCTTACGGCGTTG
+CTGGGCGCAGAGGCAGAAAACATCGATCTCTTCGACCGTATGCAACTGGAACACGTTATCGCTATCTGCC
+GCCAGGCAAAGTCGCTTTCTGCTGCCGGACGTGAACTGTTTGACATTTCGCGCCAGGGTAAAGCCAGCGT
+CAATGACGCGGATCGGCTACGCAAATACCTGGCGCGTTTTGGTCTGACATGGGAAGCAATGCAGGATCAG
+CACAGCTCCAGTTGAATATGATGGTCCTTCAGCACCTGCATCACGCTCGCAGGCGGCATCGTGTCGGTGT
+AGACAGCATCGACCATGCTGATGCTACCCATATTGACCATTGCGTTACGGCCAAATTTTGAGTGGTCGAC
+AACCAGCATAACGTGGCGCGAGTTCTCAATGATGGCGCGTTTGGTGCGAACTTCGTGGTAATCGAACTCC
+AGTAGCGAGCCGTCGCTATCGATGCCGCTTATCCCCAGAATGCCGAAATCAAGGCGGAACTGGGAGATAA
+AATCGAGCGTTGCTTCGCCAATGATCCCGCCATCGCGGCTGCGTAATTCGCCACCGGCAAGAATGATACG
+GAAATCCTCTTTTACCATCAGCGTGTTAGCGACGTTGAGATTGTTGGTCACAATGCGTAAATTGCTGTGA
+TTAAGCAGCGCGTGCGCCACCGCTTCCGGCGTGGTGCCGATATCGATAAACAGCGTCGAGCCATTGGGAA
+TTTGCTCCGCCACTTTGCGGGCGATGCGCTCTTTTTCTTCGGTCTGGGTGGCCTTGCGATCGTGCCACGG
+CGTATTAACCGAACTGGAAGGCAGCGCCGCACCGCCATGATGGCGCAGGATCAGGTTTTGCTCTGCCAGC
+TCGTTGAGATCGCGGCGAATAGTCTGCGGGCTGACGGAGAAGTGCTCCACCAGCTCCTCGGTACTGACAT
+AACCCTGCTGTTTAACCAGTTCGATAATACCGTTGTGACGTTGTGTTTGTTTCATTTCTAAATCCCTGGA
+ATTATTTTCGTTTTCGCGCATTGAGCGAATCAACAAAAGCCATCGCTAAACCCACGGCTAACCCGGCGAT
+GTGTGCTCCGTTCGCCATCGACATCCCAAACAAATCAAACCATCCGGCGACAATCCAGATCAGCGCAAAG
+ATAATTAACCCACGTTGCAGGTAAATGCCACTTTGCGGATCGCGTTCACCACGTAGCCAGACGTAGCCCA
+TCAGCGCATACACCACGCCAGAAAGCCCGCCAAACCACGGCCCGCTGAATTTTTGCTGCACATAGCCGCT
+TAACAGGGCGCTGATAAGCGTAATGACAATTAGCTTACCGCTACCGAGGCGTTTTTCCACCGCACCGCCG
+AGATACCACCACCAGAGCAGGTTAAAGAGGATATGCATCAGCGAGAAGTGCATTAACGCGTGGGTGAAGT
+AACGCCAGAACTCAAACTTCAGCGTCGGATCGAATGGCCAGGCCAGCCATAACATCACTTCCTGATCACC
+GAGAATTTGCATGGCGATAAACACCACCACGCAGGCGATCATCATCACCCAGGTCACCGGACCTGCGCGT
+TCACGCAAGGCAGCAAAGAAGGGATAACGGCGATAATGCAGGCCGCTGCCGGTATGGCCCGCCTGCCAGC
+TGGCCGCCAGATAACGCGGATCTGCCGGGTTTTCGAGAAAACGCGCCAGCTCCGCCCGCACGCGCTCGGC
+CTGGGACTCATCCGCCAGCCAGACATCGCTTTGGTTATGTTGTTGAATCGTGAGGATAACACCCTGCGTC
+GCCATGTAATCAACAAACGCCTGCGCCACGCGGGGGTTAGCAAAAGAGGTAATCATCAACATCGTTGCTG
+TCGCTTATTCCACACAAAAGGGGACAGTATAAAGCGTTACGCGCCGTACGCCACCTCTGCGGGAAACTGG
+CGCTGCCAGGCTTCAAAGCCGCCATCAATGCTATAGACCACATCGTAGCCCTGTTGCAGCAGATACTGCG
+CCGCGCCTTTGCTGCTATTACCGTGGTAACACATCACCATGACTGGCGTATCGAAGTCGTTATCACGCAT
+AAACGCGCCCAATGTGTCGTTGGTTAAATGGAAAGCCTGCGCCGCATGCCCCATTGCGAAACTCTGTGGA
+TCGCGAATATCGACCAGCACCGCCTCTTTTTCCTGCAACTTCTGGTGCGCGTCGGCAACGTTAATACATT
+CGAACTGATCCATGCGTCTCTCTTTCTTTACAAACAAGTGGGCAAATTTACCTCACAGTTTACGTCGAAG
+CGGCAGATAAACGCCATAATGTTATACATATCACTCTAAAATGTTTTTTCAATGTTACCCAAAGCGCGAT
+TCTTTGCTAATATGTTCGATAACGAACATTTATGAACTTTAACGAAAGTGAATGAGGGCAGCATGGAAAC
+CAAAGATCTGATTGTGATAGGTGGCGGCATCAATGGTGCTGGTATCGCGGCAGACGCCGCTGGACGCGGT
+TTATCCGTGCTGATGCTGGAGGCGCAGGATCTCGCTTGCGCGACCTCTTCCGCCAGTTCAAAACTCATTC
+ACGGTGGCCTGCGCTACCTTGAGCACTATGAATTCCGACTGGTCAGCGAGGCGCTGGCTGAACGTGAAGT
+GCTACTGAAAATGGCCCCGCATATCGCCTTCCCGATGCGTTTTCGCCTGCCGCATCGTCCGCATCTACGC
+CCGGCGTGGATGATTCGCATTGGTCTGTTTATGTACGATCATCTGGGCAAGCGCACCAGCCTGCCGGGAT
+CAACCGGTTTGCGTTTTGGCGCAAACTCAGTGTTAAAACCGGAAATTAAGCGCGGATTCGAATATTCTGA
+CTGTTGGGTAGACGACGCCCGTCTGGTACTCGCCAACGCCCAGATGGTGGTACGTAAAGGCGGTGAAGTG
+CTTACTCGTACTCGTGCCACGTCTGCTCGCCGCGAAAACGGCCTGTGGATTGTGGAAGCGGAAGATATCG
+ATACCGGCAAAAAATATACATGGCAGGCGCGCGGCCTGGTTAATGCTACCGGCCCGTGGGTGAAACAATT
+TTTCGACGACGGGATGCATCTGCCTTCACCTTATGGCATTCGCCTGATCAAAGGCAGCCATATTGTGGTG
+CCGCGTGTGCATACCCAGAAGCAAGCCTACATTCTGCAAAACGAAGATAAACGTATTGTCTTCGTGATCC
+CGTGGATGGACGAGTTTTCCATCATCGGCACCACCGATGTGGAATACAAAGGCGATCCAAAAGCAGTGAA
+GATTGAAGAGAGTGAAATCAATTACCTGTTGAAAGTGTATAACACGCACTTTAAAAAGCAGTTAAGCCGG
+GACGATATCGTCTGGACCTACTCCGGCGTGCGTCCGCTATGTGATGATGAGTCCGACTCGCCGCAGGCCA
+TTACCCGTGATTACACCCTTGATATCCATGATGAAAACGGCAAAGCCCCGCTGCTGTCGGTATTCGGCGG
+TAAGCTGACCACCTACCGAAAACTGGCAGAACATGCGCTGGAAAAACTGACGCCGTATTATCAGGGCATT
+GGTCCGGCGTGGACGAAAGAGAGCGTGCTGCCGGGTGGTGCCATTGAAGGCGACCGTGACGATTACGCCG
+CCCGCCTGCGCCGCCGTTACCCATTCCTGACCGAATCACTGGCACGTCACTACGCGCGCACTTACGGCAG
+CAACAGCGAACTGCTGCTCGGCAATGCAGGGGCGATAAGCGACCTCGGTGAAGATTTCGGTCATGAGTTC
+TACGAAGCGGAGCTGAAATATCTGGTGGATCACGAATGGGTCCGCCGCGCCGACGATGCCCTGTGGCGTC
+GCACAAAACAAGGCATGTGGCTGAATGCGGAACAACAATCTCGTGTGAGTCAGTGGCTGGTGGAATATAC
+GCAGCAGAGGTTGTCGCTGGCGTCGTAAGGATGATGCCCGGTTGTGAAGTGCAACCGGGCTATTTGAATT
+CCTTAGACTATTCATTGTGAATAATTGAATAACGGCCCCAGAGATAAAATCGCCAAACTTAAGCACGTTA
+CCCAATCGCCCCACTTCTTCCTATGGCTTCTATTTTTGCTACGCCACTGACAATAATATCCCAACGCAAA
+ACCAAGCTGTGCACTAATCGGGCCAACAAAATCAGTCCACGGCTGCGGCCAAAAAGGGGAAAAATTCAGG
+GGAAGCCAGACAAACGTCAGAAAGAAATTTCGGATATTTTCCAGCAACGCTGATTTCTCTGGAGAAATAT
+AAAGAATGAAGTTCGAGAGAATTAACCAAAAATAGACCGGAGAAAAGACCAGCCAGCAATGTAACCTGTT
+TTTTAATTCAGGAGGCGTTCTGCGGGAGAATTGCCAACCGATGCCACACATTACACTGAAAAAAAGTGCA
+TATTCAACCAATAACTCAAGTTGTAATTCCTGAAGAGAAATACGCACAACCAGGAGCGGAAAGGAGAATA
+TTATTTCCGCCAGAAAAGTTAACGTGAATATAAGTACGGCTAAGGCAATAACCGTCGGCCATACCAATAA
+TGGTACGATAACAAAACCGAGAATTACAGGGGGAATATAAAGCCGGAATTTAATCATTTTTATTTTCCTG
+GTGATTCGGATGATGCGTCATACATCGCGCATAAACACTCATCAATCATCCAGTCGTCTTCCCAGACCTG
+ATAATGTGTGCCCTGTTCGGGCTGATTAAGCAGGTTCTCAATCGCCTGCCGCGCACGTTCTTTCAGGATG
+AATTGATTGTTGAAGGCCCAGGCATTGATTTGGGCGGTAATGGCTTTATCGTCATCATCCTGCTCAAAAC
+GACTATTCTGAATATTCTCTTCCCTGTTATGCCACAGCAAACATGCCATCGATACTGTGGGTTGGTAACC
+GGGTACAGAGATGATGGCATCAAGCAATGGCGAAAGAGCGATATCGGCACGGAAAAACATTTCCAGCTTG
+TACTGTAATTCGACAGCCTCATCCCCGGGTACCCAATCAGTCATATACTGGCAAGCAAATTGCTGCAATA
+TTTCCCGTTCATCCTCACGCCAGTTTTCTTTACTGGCAAGGTTGATACGCCGTAGAGAAAATACTTCGTG
+AATATTGTCAAATTGCCCCTGCGCAACAAACTCCAGTAAACGAGGCAGAAAATAACGAACCTCATCGCTG
+TTTTGCGGATCAGGTCCTGGACTACTATTCCAGGCATTGATTAAGGAATAAGGAATCGCTCGCAACGATG
+TATTCCGTAATGCTTTTTGTTCCTGTTGACTCAGACAATATTCACAACAAACCACAAATTGCTTCGGCGC
+CGGATAACGACGAAAAATATGATATATCTGCTCAATTAATGCCTGCATGGCAGGAGTGGGGTGCATAATT
+ACCCCCTCGCCCGCTGATCGCGTGTAAAGGGTTGATAGACAAAACGAGCATTCGCCGCATTCAGGCGAAT
+AATGGCACTACGAGAGAGGGAAAAGCTGGGCCGAATGCAATAATTACAGTCCCAACAGCTTTCCTCTGTG
+CAATTTTCCACTGAGTAATGACGCGCGTAGAGTTTCAGTTCAGCCTGCTTATCGCGAAATCCGCGTAAAC
+TGTTACCGTTTTGAAATTGCCAGGCTTCTTTAAACACCTGAAAGATATAAACATCCTCAATCCAGGCGTC
+ACATTTTTTAAGCGGACGCTTTGCTATGATCACCCGCTCATCCGGGTTGAGCATCGCCGTAAATTGTACG
+GTGAAGTCATTTGTCGTGTTCAGATCACATTGAACATCTGGTACATCACTGATATAGAGGTCAAATCCAA
+AGTCAGCACCACAGGCACAAAGACGGCTAATGGTGGCGGTATCGAGGGAAAATCCCGGCCATACATTGCT
+GGACGTTAAACCAATATTTAATGTGACATCATATCGAGATAATCCCTCAAGACCGGCAGCACCGGCGAAC
+TTTTCCCCTTCATCCAGGACCTGGTTAATGAGTTGCTGAACAATGCCTTCATCCCAGTATGTTGATTTGC
+TGTTGGCAATCGTAATATCCACGCCAGTGAATGGATCAGTACCGGAGAGGCTTGCAAATAACGTATCAAC
+TAATTCCATTTTTATTATCCAGCTTAATGCAACATTTTATCCATCGGCACATAACCTACATTTTCCACCA
+GGTTTTTCCCCTGTAGAATTAAAAATATTTTTTTGTTTTGCATTCCGTTCATCCCTATTATTGCATTTTA
+TTTTGCGGTGATGGCTAAACCGATTCTGTACCAGCTCAAAAATTACTGATATTCCACTCGCAATATAGCC
+AGTGCATTATAACGACCTGCCGCTGGCACTTTTCCAGTTGTACTAACAGGTAAAGTCAGGAAAGTAACAT
+CAGCAGTTTGTGCAGAAGCAGCCTGGTTTTCCACCAATCTGAACGGAACGCCTACTGATGTTGCCAGGGC
+ATTTAAATCTACGGAGTTTTGCTGACTATCCATAATCATAATACCAACATCAGGATTATCTTGAGCCTGA
+ATAATACTTTGTTTCCCATTGGTATCACGTGTGGCGGAAATGTTACCGTCGAATACCAACGTCATTACCG
+CATCTATATCTTTATTTGTACAATTAATCGGAATAGTTGTTGCTACAGGAGTAACACCAGCGGGCTTCGC
+TCCGGCACCAGCCCGGCTCAATTCACTGGCCCACACATCCGGCATATTAACAGTAAAACTCGTACCCTCA
+TTAATAGTGCAACCTTGCGGAACCTGAATATCCAGGTTACTGATCCAGGCATTAAATAATGGTACTGGCC
+CATGTTCCGTTTGCCGCTGACTGGCATACAATGAAACTAAAAGTACATTATTCAGAGAGACATCAGAGAT
+GATTTTTTTATCCAACCTAATTTTAATATAGCCTTCTGTTCCTGAAGACCAGTAATCTGCTTTACTTCTG
+TCAGCAGGATAATTAGTACTATAGTTCTCGAATGGTACTGTTTTATCTGTCATCGCCCCATTTCTATTGT
+AGAGCTTTATATGTGTTGAAATAGATATTTCATGCGTAACAGGAATAAATATCTCCGCTCCCTGTGGATT
+ACCTGAAGCTCCTGAAGGATCTATTCCTGAAATACCTGAAAAATAAACTTCATAATCATCAAGAGAATTA
+CAGTATGCTTTATATCGACCTATTTTCCAGTTTTGAGATGGTAAAACAGTACCGGCTGAATTGTTGTTAA
+CATCTGAAATAATAACTGTACCAAAATCATAAAAAAAGGTCGCTGGGGTAGTATTGTTTTCTGGAGTCCC
+AGGATAGCAAAATTCACGATCCCGGCCCATTTCAGCATAGGCTACGACATGGCAAACTAAGAATAAAAAA
+ATTATAAAAATAATTTTCACTTTATATCCGGCATAAGTAATCATATTATTTCCTTTTACTAATCCGTTTT
+AACTTGTGAACCTGACACATCCATCTGCAACAGATTCATATTTACTTTCCATGCAGGCAATACATTATTA
+TAAATATCCAATGTCTGCCATGCTATTTCACAAACCCCTTGCGATTTACACCATGATTGTTGGCGATGGC
+TAAATGGTGCGACCATACCACCATCTATAACTTTACCATCAACATGTAGGTTATAGAGTGTCACATATCT
+GGGGCCTGGATTATAAACGGTAACAATTTCATTTTTTCGTGCCCAGCGTAATTTTTGATATGACATATTC
+GGGTCTTCAGACAAATTTGATGGCCGATAGAATATTTTCATACGATTGCGGACTGCTATTTGCAATTGAT
+TATCAGTTTTGACTGAATGACTATTTTCCAACGTTGGTAATGCTGCAACATTCAGTATAAATAAACTTTC
+CCGGTCGGCAGGTAAACTGCCACCAACACGATTAATTCTTATTTTTGTATTTTTGTCAGGCTTCAAAACA
+AACAGTGGCGGAGTTGCGATAAATACCGTTTCAGAATATGAGGGCAAAGATTCAACCGTTCCCGTCAACT
+GACGAGCATCATCAGGGGAGACAGCAACCTTGACTAACATATCTCTGTCTGAAGTGTTTTTGAGTTCAAC
+AGATATTGAGGACTGATTTTCCGGATACGCAAAACGCGTTCCACCGATCACTAAGCCTGCTTGTGCTGTA
+GAGAATAAAAGGGAAAATAATACTATGACTACCTTAATCATAGGTGACAATAAACGATACTGACGCATTT
+GCATCCCCTGGTTGGACATTATTTTTTAATGCTTTGTAAGCCGCAAAAAAATGCAATATATTATCAACTG
+ATGATGTAAGTGAAAAACCCATGCTTTTAACATCATTACTAATACTGCCTTTGTTCTTATCAAAAATCGT
+AAGTGCAAGCCCCTCTACCGAGCCATCTTCCAGCTTATATAAACTGGCATCTTCAGAAACTGTATTGCCG
+GTAAACTTTATATACGCGTTGCCAACATCACTACCACAGCGGGTTAACGTTATGGAAAAATAAACCTTTT
+CAGTAACATCCCCTGCACTCCTTACCGAACTACTGGGTACATCTGGCATATTAACTGTAAAATTTTTTGA
+CTCATCAGAAATAATGCAGGTTTTTTCGGTAATTACCCCTTCAATACGAACCACTCCGGCATGAGTGATA
+TCATCAGCAAAAGAATTTGTTGATATTATAAACAAAAATAAACTAATGAATATCTTCATATCTCCCTCAC
+TGATAATCGATATCAAAATACAACAGAGCATTTGCTTGCCCGGCATGTACATTTTCCTGAGTTGATTTAT
+AGCGAAGTTTAAACGTCAAATTAGCATCACCGTTTTCATTTAACACTAAATCACGAAAACCTGATTCACC
+ATTAATGGCAATCGCCACATCATTGTTATCCAATATTTCTATTCCCAGTCCAGTCGCACTATCTGCACCG
+GCGGAGAGACGCAGTAATGCGCTATTAATAGCATCTGCATCACCAGTAAACCGCACATTGGCGCTCACAC
+CAGAACTATAAACAGTACTTTTTGCAGTCGGGCATCCTTGTACATTAATCGTAAACGTTTGACTCGGAGA
+AACATCACCTACATTTAAAAATTCATTAGCATCATAAGTGCCCATTTTTACCGACTGATCTTTACTTCCG
+GTAGTAATGTCACAGCTTTTTGCCAACAAAATCCCAGTAAATGTAACAACAACTGAATCATTGGCCTGCC
+CTGAGAGCGGAAAAGCAAAAAAAGCGAAAAGAATAAAAAATACAGAATATTTAGAGAATATTAAATTCAT
+TAGCGGCACTCCAGAGTTGCATAGCTAACAGGATTATCCAGTTCTGTTTCAGGGAGCTTGTAATTAGCCT
+GACATTTTTGCTGAACACCGTCTCCCCACTGGATATTAATAACACCTTCTAAAGGCAATCCTGAGAGATA
+AAGTTGTCCATTATCGCCGACAATCCCGGTAATTTGACTACTGTTTTTAATCTGAGCGCTGGCTGTAGCA
+CCGAATGGGACTGATTTATTACGATAACGAACTGTGAACAAACCACGAATACCGATATGAGCAGCAAACT
+CTGCACGAACTAACGCACCTTTTCCCGGAATAACTTCAGTGGAAGTGATATCCAGTTCAGTATGCATATT
+CATTGACATAGGATCTAATGAAATATTATTACGTCTATATTCTGTTGCATAAGGAACAACTGCATATCCA
+CGCCAGTCAGTGGATATTCCTGTCCCCCGCTGAACATCCACATTATTCGCTCCAGGCGCTTTTATCAAAA
+CATTAGTTTCACCTAATGGTTGACTCAACGTAAGACCATTTTCATGTACAACAAGAGCACCACTGATGCC
+ATAGTTTATTTGTTGATTACCTTCATTATCGTAACTGTAGGCGGAATTCAAGGAACCATATGCCCCACGA
+TAATTAACACCAACAGAACCACTACTGCTATTATCCTGATTAGCAAAACCATGTTGTATGTTATAACTGA
+GATTATGCTGCTCCAACAGAGAACCAGATACCCCCGTATATTGGTTTACCTGTCCGTGGTTATCCTGACT
+ATAACCATACGTTGCAGTCATGGCATTCGATGATGAGCGCCCATCATTCGTGGAAGATAACCAATTACTT
+ATAGGTAATGAGACATTTAGCGAGACAATTTTATCCGCATTTGTCCCTGGTGATTTACTGTAATTCCACG
+CAACATTTAGATAGATACCCTTAATACTGGTGTTATAACCAACTTGGTATAAAGAATCTTTTTTATCAGT
+ATTCCAGTATGTTTGCTGACTAGCCGATAAATACATAGACCCGTAGTTACCGAAAGGTTGCGATACACTA
+GCCTGAAATTTTCCACGTTTGCTATAACGCAAGTTATAAAAATCATTCCAGTTATAAACGTAATCTTTAT
+CATCTAACGTTTTTGGATCAACAACAGTCCCTGACATTTGTTGGTATGTCGTATCACTTAAAGTGTAAAA
+GCCCTGGGTTGAATAACGATAGCCAATAATATGGAATGCTGTTCCTGTCTGAACTAACGATTTGGAATAA
+AGAAAACGATAAGATTGCCCTTGATGTTTGCTCCCATCCACAAGCGAACTGTTAGCCTGAGTAACATCAA
+ACGATGTTGCACCAAATACACCCAGATTCAGGCCAAGGCCGAGCGCCAACGCCCGGTAATCCTCAGAGAA
+TTGTGCCCCACCATAAGCCGTAATATCCCAGGGTAAACCCCAAATTAATTCCCCCTGAAATACATAAGGA
+CTTTTCTGGTTATAGCTATTGCTTCGATATTGGCCAACCGTAGTAGAATATTTTAAATGACCTTCTCGTT
+GCAGGATGGGGACAGCGGCATAAGGTACGGTATAGACAGTTTCTGAATTATCAGACTCTTTGATGGTAAC
+TTCCAGATCTCCCGCAGATGATGTCGGGTTAAGATCGCTAATCTCAAACGGTCCCGGCGGCATATAGGTT
+TGATAAATGACATAACCATTCTGTTTGATTGTTACCTGAGCGCGACTTTTCGCAATTCCGCGCACCGTGG
+GAGCGAAACCACTTTGACTATCGGGCAACATATTTTCGTCAGATTCCAGTTTTATGCCACGAATACTAAC
+ACTGTCGAAAACATCTGATGATGACCATGTATCTCCTAGCGTTAATTCACTTCTGAAAGGAATAATAACG
+CGCTGCAACGTACTACTGATATGCTCCAGTTTACCTGCTGAATTACTCCCACGACTCCAGGTTGAATAAT
+CGCGAAAACGCCATGCACCAATATTGATCCCAGCGCGAAGATTTAAATAATAGTTATTTGAAGAGTAATC
+ACCACGATCGTTATTACCAGAAAAGTCATAATTCAGCAAAAAAGCTGTAATACCGTTATCCCACTGTTCT
+GGTGGAATATATCCGCGAGCGTCACGTTTTATTATCGCCTGTGGAAAGGTCAGTTTAAGTCTCTGTGCAT
+CCAGCTCCGGCATGTAATGCACATCGGGAAACCAGATACGCAAATCAAGGCAACTATTTTCAGATGAAGC
+CAAAGCCTGCTCTGGCAGCGCATTTTTGTTAATTCCAAGGCTTAATAAGTCAGCAAGTGAAAGGCAGGGA
+ATCAGTTGATTCTCATCGTCTGCTTTAAAAGTTACAGTACGAGAGAGTAAAGGGGAATCATTGACCCAAA
+CTTCGACTTCATAGCTACCAGGAAGATAAGTCATCCCTTTCTCGAAGCGGGATAAGTCAGCAACAGCTTC
+AGTATCACCCGACAGAAAAGCAGGGTTAAAGCGCATTCCCGCGATTGAACATGCAGGCATAATAACCAGA
+AGAAGCGGCACAACCCGTTTCATCTGCTTTTGTGCCGCCATCCAATATTCGCATCTTTTGAGCTTTAGGT
+TCATATCCCTGACCTGTGTTGCATCTGAACTATTCCGTTGTTACTGCATTATTCCTTTCTGCCGCTCCGT
+CGTAGCGCCAAAGTCATTAATTGTTTGATAAGTAATTTCACCAGCCAACGTCACTGGCGACGAGACCGTA
+ATATCACTTTTCGGTGGTACAAACATATTGGGCAATTTACTCCCTTGTACTTTAATTCCTGTCAGTGTCA
+GGTAATAAGGCGAAGGATTGATAACTTTTAGTTGTTTGCCCTCATACTTAAACCGCAACATATTTCGTGC
+TTTTCCTGGTTGCACAGGTAGATTTTCCGGGCGATAAAATAGCTTGATTTTGTTTTGTAATGCCAACTGT
+AAGGTATTCTTCTGTGTATTTTTCTCATCTGTTGGCGGAATTGCTTTAACATTCATCCAATACAAAGTTT
+CACGATCGGTCGGCAAATTAGTCTTACCAAGAAACATGATACGTAATGAAGCTTCTTTACGCGTTGGTAA
+CATAAAGAGGGGAGGAGTGATAACAAAATCCTGGCTCTTTTTTTCCGTTTTACTGTCATCAACCCATGAT
+TGAATTAAATAACTGGTGTTGTCACCGCTATTTTGCACACTGAGTGTTATTTGCTTACTTTCTGCCGGAT
+AAATCAATCGCGTTACGCCAAGGCCAAACCCGCCCGCGGACGCATTATTAATAAATAATATCGATAGTAA
+AAAAAGAATCCCTGAGCGTATAATATTTTGTGATACTTTTAATTCATCCCTGAATCCATAAACCCATTTT
+TTATTTCCAATAATACATTTCATACAGCATCCTTGTTGATGAAATAACACCTGTTATTCATACTCTATTA
+AATAATTTCAATCTCAGGTTACAACTTTTTGTAACCTGAAATCGTATTTATATTTACTCGTACAGCACCA
+CAAAACTTGCTGTTGACTTAACTACACCAGGTGCAACAGTGCTACCGTTTTGAGCATAACCTGCAGTAAA
+GGCCGCGCTGAAATCATGGGTCGTAGCATTTCCTGGAATTGTATAAGCGGCGGTGGAGGCGCTACCCTCT
+GCCGCAGTAGTATTCAGGTTAATCAGACCATTATTCGTCGTACCTTTGGAGTAAATTCGAATCCCTACAC
+CAGTCGCCCCCGCATTGCCGCTGTTGTCAGCATCCGTTGATCCTTCTACTTCGTTAGCGAGCGTTTTATT
+AGCGCTATCTGCAGTACCGGTAAAACGGAACTCAATTTTCTGATCCTCTGTATTGCTACATTCGGTCAGA
+TTAATATTGAAATCGGTCTGGTTGCTCGCCCCCTGTGCTTCTACGTCGATACCAGTGAAAAGGTTGGAAG
+GCACAACCGGCAGGACAACTTCAATCTGTTTTGAATCGGTTGCGACCTTACAGGTAGCTTTCACTACACG
+GCCAGTAAAGCGGATTTTCCCCCCCATTGAATCAACGTTGTCATCCATATCAGTGAGCCTGGGATAATCA
+ACGGTGCTCCAGTCAGTATCCGCCCCACCAAATTGTGTTGCATCGCCGGGTGCTGCGGTTACCGCAGTAG
+ACATCAGCATACCTGATGCCAGTAATACTGCGGATAAATTAGATAAATTGAATTTCATTTATACCTTTCC
+TTTTGTTAAAAAATCCAAGCAACATTGGTGTTTTTACATTCTGCGTTAATAAGTTATATCTCACAAAAAA
+AAATAAGCTGACGTTGGCTAATTCCAGAAGGTTCTTTAGAAGAGTAATTGAGTGAATAATATTATATATG
+CTGCTTAGTAATGTACCTAAAATAATCCAAAGCCGCAATAAGTGAGTTTATACTCACATATAACACACTG
+ATAATGATAAAATTTATTTTTACGTGGAGTTGTAAGAGGGGCAATAAAACATAAATCACATGAATAATAT
+TAATGCATTCATAATAAATTAATATTATTTGAAATAACAAAATACCAAAAACATTATCATCAATCGTTAT
+TTAATATATATTAATGGTATATATTAAATAGAATAACATACATCAAAGTTATTGTTTATTGTGTATAGAA
+ATACCGTGAGTTCCACTCTGTATTACTTCAGCGGAACACACGGTATTTAGCCGTATTTGAACTTACAATC
+TCACCGGATCAATATGCCAGATATGATCGGCGTACTCTTTGATCGTACGGTCAGAAGAGAAGTAGCCCAT
+ATTGGCAATGTTCAGCATCGCTTTTGCGGTCCACTCTTCCTGACGCTCGTAGAGTTCGTCGACTTTATCC
+TGACAATCGACATAACTGCGATAATCCGCCAGTACCTGGTAGTGATCGCCGAAGTTGATCAGCGAATCAA
+CCAGATCGCGATAGCGACCCGGATCTTCCGGACTGAATACACCGCTGCCGATTTGCGTCAGCACCTGATG
+CAGCTCCTCATCTTTCTCGTAGTATTCACGCGGTTTGTAGCCCTGACGACGCAGTTCTTCCACTTCTTCC
+GCTGTGTTACCAAAGATAAAGATATTGTCAGCACCGACATGATCCAGCATCTCGACATTCGCACCGTCCA
+GCGTACCGATAGTCAGCGCGCCGTTAAGCGCAAACTTCATGTTACTGGTGCCGGAAGCTTCCGTCCCCGC
+CAGCGAAATCTGTTCAGACAGATCGGCCGCCGGAATGATCAACTGCGCCAGGCTAACACTGTAGTTCGGG
+ATGAACACGACTTTCAGCTTGTCGCCAATCTGCGGATCGTTGTTGATCACTTTCGCTACGTCATTGATCA
+AATGAATAATGTGCTTCGCCATGTAATAGGCCGAAGCCGCCTTACCGCCAAAAATATTCACGCGCGGTAC
+CCACTTCGCATCCGGGTCGGCCTTGATGCGGTTATAGCGGGTGATCACGTGCAACACATTCATCAATTGA
+CGTTTGTATTCGTGAATACGTTTGATTTGCACATCGAACAGCGCTTTCGGATTTACCACCACATTCAGCT
+GCTGGGCGATATACTCCGCCAGACGCTTTTTGTTCTCCAGCTTCGCCTGATGCACCGCGTGATTAACCAT
+TGGGAAATCACAGTGTTGTTGCAGATCATTAAGCAGGCTAAGGTCGGTGCGCCAGTTGCGGCCCAGGTGT
+TCGTCCAACACGGCTGAAAGCGATGGGTTCGCTACCGCCAGCCAGCGACGCGGCGTCACACCGTTGGTGA
+CGTTGGTGAAACGACCCGGGAAGATTTTCGCAAAGTCGGCAAATAGCGATTGCACCATCAGGTTAGAGTG
+CAGCTCCGATACACCGTTAACTTTGTGGCTCACCACAACCGCCAGCCAGGCCATACGCACACGACGACCG
+TTGGATTCATCAATGATCGACGCCCGTCCCAGCAGATCGGTATCGTTCGGATACTGTTCCTGCAAGGTTT
+TCAGGAAATAGTCGTTGATTTCAAAGATGATCTGCAGGTGACGCGGCAGAATTTTACCCAGCATATCGAC
+TGGCCAGGTTTCCAGCGCCTCGCTCATTAGCGTGTGGTTGGTGTAGGAGAAGACCTGACAACACACTTCA
+AACGCGTCGTCCCAGCTAAATTGGTGCTCATCGATCAGCAGACGCATCATCTCAGGAATCGACAGCACCG
+GATGAGTATCGTTGAGGTGAATCGCAATTTTATCCGCCAGGTTATCGTAGGTTTTATGCAACTGATAATG
+GCGGCTTAAAATGTCCTGAATGGTCGAGGAAACCAGGAAGTATTCCTGACGCAGTCGTAGCTCACGCCCG
+GAGTAGGTGGAGTCGTCCGGATACAGTACGCGAGATACGTTCTCGGAGTGGTTTTTATCTTCCACTGCCG
+CGAAGTAGTCGCCCTGGTTGAATTTACCGAGGTTAATTTCGCTACTGGCTTGGGCACTCCACAAACGCAA
+CGTGTTGGTCGCGTCGGTGTCGTAACCTGGGATTATCTGATCGTAAGCTACTCCCAGAATCTCTTCGGTT
+TCAATCCAGCGCGTTTTTTTACCTTCCTGCTGAATGCGACCGCCAAAACGGACTTTATAGCGCGTGTTGT
+GACGTTTGAATTCCCACGGGTTACCGTATTCCAGCCAGTAGTCAGGCGACTCTTTCTGGCTACCGTTAAC
+GATGTTCTGCTTGAACATACCGTAGTCATAGCGGATGCCGTAACCGCGCCCCGGCAACCCTAACGTCGCC
+AGAGAATCGAGGAAGCAAGCCGCCAGACGGCCCAGGCCACCGTTACCGAGGCCCGGGTCATTTTCTTCAT
+CAATCAGCTCTTCGAGATTTAATCCCATCGCTTCCAGTGCGCCCTGTACATCTTCGTAAATTCCTAGCGA
+CAACATGGCGTTGGAAAGCGTACGGCCAATCAAAAACTCCATCGACAGGTAGTAAACCTGACGAGTTTCT
+TGCGACAACTGGGCACGGTTTGAGCGTAACCAGCGCTCCACGAGACGATCGCGCACAGCAAATAACGTTG
+CGTTCAGCCATTCATGTTTATTGGCGACGACCGGATCCTTGCCAATCGTAAACATCAGCTTGTAAGCGAT
+AGAGTGCTTAAGAGCTTCTACGCTAAGCGTGGGCGATGAATATGTAAACGGAGCATTCATATAGGCGTTT
+CCTGAAAACTATTTCAAGCGATAGTAAAGCTCACGGTACGACTTCGCCGCGACCTGCCAGCTAAAATCCA
+TTGCCATAGCCTGACGTTGCACAAACCGCCACAGTGAAGGACGGGACCACAGTACAAAAGCACGTCGAAT
+AGCCCGTAACAGCGACCAGGCATTACTATCTTCAAAGACAAACCCACTGGCGACGCCATCTGCAAGGTTC
+TCAAGAGAACAGTCAGAAACCGTATCAGCAAGCCCACCGGTGCGCCGCACTAACGGCAGCGTACCGTACT
+TCAATCCATAAAGTTGCGTTAAGCCGCACGGTTCAAAACGGCTGGGCACCAGAATGACGTCCGCGCCGCC
+CATAATGCGATGCGAAAATGCTTCGTGATAGCCAATCTGAACGCCCACCTGGCCGGGGTATTCCGCTGCC
+GCCGCAAGGAAACCTTCCTGCAGCACCGGATCGCCCGCGCCGAGTAGCGCCAGCTGCCCGCCCTGCTCCA
+GAAGACCAGGTAAGGCTTCCAGCACCAGGTCGAGACCTTTCTGGCTGGTCAGACGGCTCACCACTGCAAA
+AAGCGGCACTTTATCGTCAACCTTAAGCCCCATTGCGATTTGTAACTGGCGCTTATTTTCCGCTTTATCT
+TCCAACGTATCGCGGGTGTAACGCGAGGCCAACAGTAAGTCCGTCTCTGGACTCCAGATTTTCTCGTCCA
+CGCCGTTCAGTACGCCGGAAAGACGCCCTTCACGGTGACGCTGTTGCAACAGACCTTCCATACCGTAGGC
+AAACTGCGGTTCGGTGATCTCGCGAGCGTAGGTTGGGCTGACTGCCGTAATGTGATCGGCATAGTACAGA
+CCGGCCTTCAGGAAAGAGATTTGTCCGTTGAATTCCAGCCCATGAATATTAAAGAATGACCATGGCAATT
+GGATGTCATTCATGTGATGTGCATAAAACATGCCTTGATAGGCCAGGTTGTGCACAGTAAACACCGACTT
+CGCCGGACGCCCGCGCGCCGCCAGATACGCAGGCGCAAGGCCTGCATGCCAGTCGTGCGCATGCACCACA
+TCAGGACGCCAGAATGGGTCAAGCCCGCTGGCCATTTCTGCCCCAACCCACCCCAGCAGCGCAAAACGCA
+ATACGTTGTCGGTATAGGCAAATAAGTTGGTATCGTGATACGGGCTTCCCGGACGATCATAGAGATGCGG
+CGCGTCAATCAGGTATATGCCAACCCCGTTGTAATGACCGAACAACAGCGTGATATGTCCGGCGAAGGTA
+TCACGACGGGATACTACCTGCGCATCGGTCACGCCACGGCGAATATCGGGAAATGCAGGCAACAGTACGC
+GAGCGTCAACGCCGTCTGCGATTTGTGCTGCGGGTAATGCCCCAATAACATCAGCCAGACCGCCGGTTTT
+AAGCAGCGGGAACATCTCTGAACATACATGTAAAACCTGCATTATCGCTCCTGTTTATGCCCTAACTTCC
+GTAGCATTTCGCGCGTTACCAGCACGATGCCTTCTTCTGAACGATAGAAACGACGTGCATCTTCCTCTGC
+GTTTTCACCAATCACCATGCCTTCCGGAATAACACAAGCACGATCGATGACGCAGCGGCGCAGACGGCAC
+GAGCGACCTACCCATACTTCCGGTAACAATACGGCGGAATCAATGTTGCAGAATGAATTCACGCGAACGC
+GCGAGAACAGAACGGACTGCACCACCACCGAACCGGAGATCACACAACCGCCGGATACCAGTGAGTTAAG
+GGTCATCCCGTGGCTACCGGAGCGATCCTGCACGAATTTCGCTGGCGGTAATGATTCATTGTAGGTGCGA
+ATTGGCCAATTGCGATCGTACATATCCAGTTCCGGCACCACAGAGGCCAGATCGAGGTTCGCTTTCCAGT
+AAGCTTCCAGCGTACCCACATCGCGCCAGTACGGCTCGGCATCCGGGTCGGATTGTACGCAAGAGAGCGG
+GAACGGGTGCGCATAGGCCAGACCGGCTTCGGTGATCTTGGGAATCAAATCTTTGCCAAAGTCGTGGCTG
+GAGTTCTCATCGCGATCGTCTTCTTCCAGCAGTTCATACAGATAGTCGGCGTCAAAGACGTAAATACCCA
+TACTCGCCAGAGATTTGCTCGGATCGTTCGGCATTGACGGCGGGTTAGCTGGTTTTTCAACGAATTCGAT
+AATTTTATCGTTCTCATCAACCGCCATAACGCCAAACGCGGAGGCTTCTTCAATCGGTACTGGCATACAA
+GCAACGGTGCAACGTGCGCCTTTTTCGACGTGGTCGATAAGCATACGCGAGTAGTCTTGCTTGTAGATAT
+GGTCGCCCGCCAGGATCACCACGTATTCCGCTTTATAACGGCGGATAATGTCGAGGTTTTGGGTGACCGC
+ATCTGCGGTGCCGCGATACCAGTTTTCCCCTTTCATTCTCTGCTGTGCTGGCAGCAGATCGACAAACTCG
+TTCATTTCTTCATTGAAGAATGACCAGCCGCGCTGGATGTGCTGCACCAGAGTGTGGGACTGGTACTGGG
+TGATCACGCCCATACGACGGATCCCGGAGTTGATGCAGTTAGACAGCGCAAAGTCGATAATGCGGAACTT
+ACCGCCGAAGTGTACGGCCGGTTTTGCTCGCTTATTGGTTAAATCCTTCAGGCGGGTACCACGTCCTCCC
+GCCAGTATCAGGGCAACAGATTTCAATGGCAGCTGGCGCGCCAACATTAAGTGATCGTTCTTCTCTAAAC
+TAACCATGACTAACTCCTTTTTTATCATCTCTGGAACACACACAATCCGTGTGCAGGTCCCTGCCAGACA
+GCCGTAATCACTGGGTTATCCTCTCCAGCGAATGGGGGAATGGCGTGCCACTCCCCAGCAGGTAAAACAA
+TCTCTGTTACCTCAAGCGTGGCATTAATTGCGATCAAAAAGCGATCCGAGAGCAGAATTTGCAGCTGTTT
+CGGCCCGTTTTGCCACTCATCCGTGCTTAAAGGTTGAGCATATCGATTTAGCCAACGGACATTGCCGTCG
+CCTTCTTCCCACCAGCGATTCTCCATCAAAGCGGGAATGCGCTTGCGCAGATGGATTAACGCGGCGGTAA
+ATGCGGTTAAACCACTGCTTGCCTGCGACCAGTCCAACCAGGTTAATTGGTTATCCTGACAGTAGGCATT
+GTTATTGCCATGCTGGCTGTGACCATGTTCGTCACCGGCCAGTAACATCGGCGTACCCTGGGAGAGCAAC
+AACGTTGTTAACAGGGCGTGAATGCTGTCGCGCCGCCGTTCAACCAGATCAAGAGTACCGCCTAACCCTT
+CTTTACCATGATTGTTACTGTAATTGTTGTTGGTCCCGTCGCGATTTTCTTCTCCGTTTGCTTCATTGTG
+TTTATGGTTGAAGCAAACGCAGTCGCGAAGCGTAAAACCGTCATGCGCGGTGACGAGATTAATCGCGGCA
+CTCGGCAGACGATCATTACGTTTAAAAACATCGCTGGAGGCAGCAAAACGCCCGGCAAACGCTCCCAGAG
+GTAAATCATAATGCAGCCAGAAACGACGGGCTGCATCGCGGAAATGATCGTTCCACTCGGCAAACAGCGG
+CGGGAAATTTCCCACCTGATAACCACCAGGAGCGATATCCCACGGTTCAGCAATTAACTTCACCTGCGAG
+AGCACCGGGCAGTTCTGGATAGCGGTAAACAACGGCGCATCCTGACGAAACTCTGGCGTACGGCCCATGA
+CTGCCGCCAGATCAAAGCGGAAACCATCGACGTGGCAGGTTTCTACCCAATAACGCAGGCAGGCGCTGGC
+ATAATCTACCACCGCCGGATGACTCAAATTGAGCGTGTTACCACAACCGGTCCAGTTGTGATAATCGCCG
+TCTTCTCTTATCCAATAATAGCTACGGTTGTCGATCCCACGCAGCGAGAATAACGGGCCGTCGAGGTCCA
+GTTCCGCACTATGGTTGAGCACGATATCAAGAATGACTTCGATACCCGCTTTATGCAGTGCTTTGATTGC
+ATCGCGAAACTCATCCAGCGCCGTTTCTGGCGAGCAGGCATACGCCGGATGCAGCGCAAACATCGCCACC
+GGGTTGTACCCCCAGTAGTTACTAAGCCCCATGCGTTGCAGACGTGGTTCGCTGGCAAATTGTGCCACCG
+GCAGCAACTCCAGCGCAGTAATGCCCAACTGTTTCAAATAGTTGATCATCACCGGATGCCCTAGGGCTTT
+ATAAGTGCCGCGGATCTCGACCGGGATCTCCGGGTGCAGATACGTTAATCCTTTGACATGGGCTTCATAA
+ATGATGGTGCTGCCCCACGGCGTGCGCGGCGGGGCATCATCTTCCCAGTCATAGTGATCAACCACCACTA
+CGCATTTCGGCGCAATGGCGGCGTTGTCGCGATAGTCAGGTTCATTATGACCGGCGTGCAGCAGCGGGTT
+ATCTTTAAACTCCCCGTCAATTTGCCGCGCGCAAGGATCAATCAACAACTTCGCCGGGTTAAAGCGATGC
+CCCTCGGCAGGTTGCCAGGGGCCATGAACGCGATAACCATAACGCAAACCCGGGCGCGCATCCGGCAGAT
+AACCGTGCCAAATGTCGCCACTGTGCCCTGGCAAGTCATAGCGATGTTCCTGGCCATTGGCATCAAAGAC
+ACACAGCTCTACCCGCTCGGCATGAGCGGAGAAAAGTGTGAAGTTGACGCCCTGACCGTCGTAATGCGCG
+CCGAGGGGAGTGGGTTTGCCAATGGCGAGTTGTGTCATTCTGCCTCCCGAACCAGCCAGATAGTGGCCAG
+AGGTGGTAGCGTCAGGCTCAGTGAATGCTGACGACCGTGGCTGGCAATCTCATCGCTGTGTACTGCGCCG
+CCATTGCCTGCATTACTGCCGTGATAGTGCATGGAATCGGTATTGAGGATTTCACGCCATTTACCCGGCT
+GGTTAATACCGAAGCGATAATCATGACGCGGCACCGGTGTAAAGTTACTGGCAACGATGATTTCGTTACC
+CTCTTTATCGCGACGCACAAAGATCAGCACCGAGCGTTCTTTGTCATCCACCACCAGCCATTCAAAGCCG
+TACGGGTCAAAATCCAGTTCATGCATTGCTTTATGGTGGCGGTAGGTGAGGTTCAGATCGCGCACCAGAC
+GCTGGACACCGTGGTGCCAGTTATCGCCGCCTTCCAACAGATGCCAGTCGAGGCTGGCGTCATGGTTCCA
+CTCGCGGCCCTGGGCAAATTCGTTCCCCATGAACAGTAGTTTCTTGCCCGGGAATGCCCACATCCAGCCG
+TAGTAGGCGCGCAGGTTAGCGAATTTCTGCCATGCGTCGCCCGGCATCCGGTCGAGAATCGATTTTTTAC
+CGTGGACCACTTCATCATGCGACAACGGCAGGACGAAGTTTTCAGTGTAGTTGTAGAGCATCCCGAAGGT
+CAGTTTATCGTGATGATACTGACGATAAATCGGGTCGAGCTTCATGTAGTCCAGGGTGTCATGCATCCAG
+CCGAGGTTCCACTTGTACCAGAAGCCCAGACCGCCCATATCCTGCGGACGAGAAACGCCAGGGAAATCGG
+TAGACTCCTCCGCCATTGTTACTGCACCGGAAACCTGCTCACCAAGAATACGGTTGGTATTACGCAAGAA
+TTCAATCGCTTCAAGATTCTCGCGACCGCCAAATTCGTTCGGGATCCACTCCCCCTCTTTACGGCTGTAG
+TCGCGATAAATCATTGACGCCACCGCATCGACGCGCAGTGCATCAATACCAAAACGTTCAATCCAGTAAA
+GCGCGTTACCGACAAGGAAGTTACTGACTTCACGGCGACCATAGTTGTAGATCAGCGTGTTCCAGTCCTG
+ATGATAGCCTTCGCGCGGATCGCTGTGTTCATACAAGTTCGTGCCATCAAATTCGGCAAGCGCAAAGTCA
+TCGGTCGGGAAGTGGCCTGGCACCCAGTCGAGAATCACGTTCAGACCAGCTGCGTGTGCGGCATCAATGA
+AATAACGGAAGTCGTCGCGAGTACCAAAACGGCGGGTCGGTGCATACAGGCCGGTTGGCTGATAACCCCA
+ACTGCCATCGAAGGGATGCTCGTTAATAGGCAGTAGCTCGAGATGGGTAAAGCCCATCCATTTAGCATAA
+GGCACCAGTTGATCGGCCAGCTCGCGGTAGCTCAACCAGAAATTGTTGTCGGTGTGGCGACGCCAGGAGC
+CAAGGTGAACTTCATAAATAGAGATTGGCGCATCAAACTGATTCGCTTTTTTGCGCTCTTCAGTCTGCAC
+AACCTTTTCCGGCAGGCCGCAAATAAGAGACGCGGTTTCCGGGCGCATTTGCGCTTCGAAGGCATAAGGG
+TCGGACTTCAGGCGCAAGTTGCCATTGGCATCAATCATCTCGTATTTATAGAGCTGACCGTTATGCGCCC
+CGGGGATAAACAGTTCCCAGATTCCGCTCTCTTTACGCAGTCGCATCGGATGACGGCGACCGTCCCAGTA
+GTTGAATTGCCCAACCACCGAGACCCGACGGGCGTTTGGAGCCCAGACAGAAAAACGCGTACCTGTGACG
+CCATCCATAGTATCTGCATGCGCGCCTAAGGTTTCATACGGACGTAGGTGAGTACCTTCAGATAATAGCC
+AGGCATCCATTTCCTGGATTAGCGGGCCAAAACGGTAAGGATCATCAATCAGGTTTTGCTGACCATGCCA
+GACAACAGCCAACTGATAGCGGAAAAAATTCTTACGTCGCGGAATGACACCGCTAAAGAATCCCCGTGAG
+TCGAGACACTCCAGTTTTGCGAGTTTGCGCCCGGTTTTCGGTTCAATCACCCACACATCAGTAGCGTCGG
+GTAAAAGGGCACGGACTTCCAGTCCCGCGGTGGTTTTATGCATCCCCAGTACGGAAAAAGGATCCGCAAA
+ATGGCCTGCAATTAGCGCGTTAATCACGTCTCTATCGATACGATCGGACATGCTTGTCTTCCTGTTTTAT
+TGTGTCACCCCATCCAACTGAATTTTTGACTTCTGGTTGTGACATTTTTTTGACCTGAACGGCGCAGCAC
+TCTGTGCATCCTCTCTGCGTCGTCCTCACTTCAGGTAAGGCTGTGAATACTCGTGTATTCCGCCACCCTT
+AAAGAATAGCCAATGCTCTATTTAACTCCCGGTAAATCATGAAACATCTGCGCTTACTCCTGTATTACGC
+ACTAGCAGGGGCGGCATCGCGCCCCAGATTTAATGAATAAAGATTACGCCAGTTGACGAAGCATCCGACG
+CAGCGGCTCCGCGGCCCCCCACAGCAGCTGGTCGCCCACGGTAAAGGCTGACAGGAACTCCGGTCCCATA
+TTCAGCTTACGCAGGCGGCCTACCGGCGTGGTCAGCGTGCCGGTAACGGCAGCTGGGGTTAGCTCACGCA
+TAGTGATTTCCCGATCGTTCGGAACAACTTTCGCCCACGGATTGTGCGCAGCCAGCAGTTCTTCCACGGT
+CGGAATAGACACATCTTTTTTCAATTTAATAGTGAATGCCTGGCTGTGGCAGCGCAATGCCCCGACACGC
+ACACATAAACCATCTACCGGAATTACGGAAGATGTGTTGAGGATCTTGTTGGTTTCCGCCTGCCCTTTCC
+ACTCTTCGCGGCTCTGACCGTTATCAAGCTGTTTGTCGATCCACGGAATCAGGCTACCCGCCAGCGGCAC
+GCCAAAGTTATCTACCGGCAGCTCACCGCTACGGGTTAAGGTTGTGACTTTGCGTTCGATATCGAGAATA
+GCAGAAGACGGGTTCGCGAGTTCATCTGCCACATAGCCATACAGATGGCCCATTTGGGTTAATAACTCAC
+GCATATGTCGCGCACCACCGCCGGAAGCGGCCTGGTAGGTTGCAACGGACACCCAATCAACAAGATCATT
+GGCGAATAAACCACCCAGCGACATCAACATCAGGCTTACGGTACAGTTACCGCCAACAAAAGTCCTGATA
+CCATTATTTAATCCGTCGGTAATGACGTCCTGATTGACGGGGTCAAGAATGATGATGGCGTCATCTTTCA
+TGCGCAGAGATGATGCTGCGTCAATCCAGTAACCTTGCCATCCGCTTTCACGAAGCTTTGGATAGATTTC
+GTTGGTATAATCGCCGCCCTGACAGGTCACAATGATATCGAGGGCCTTTAGCGCCTCCAGATCAAAGGCA
+TCCTGAAGTGTGCCAGTGGTTCCGCCAAAAGACGGCGCAGCCTGACCAAGCTGAGAAGTAGAAAAGAAGA
+CAGGGCGAATGGCGTCGAAGTCGCGCTCTTCAACCATGCGTTGCATGAGAACGGAGCCGACCATACCGCG
+CCAGCCGATAAAACCAACATTTTTCATAAGCGTTTTTTCCTGCAAAGATGTGTGCTGTATAAATGTGCCG
+GTCTCCTCCTGGCACATCTTTCACCATACAAAAAGCAGCCAAAGTCGCAAGTGAAATTAATCAATGATAG
+CGAAGCCATCAGTAATGCGACTTATCCTGCTTTGTTAGCACGCAGAAAGTCCGCGGCAATTATCAGGGAA
+TTTGAGTTATGAATGAAATCATTTCTGCAGCAGTTTTATTGATCCTGATTATGGATCCGCTCGGAAACCT
+ACCTATTTTCATGTCCGTACTGAAACATACTGAACCGAAAAGACGGCGGGCAATCATGGTGCGAGAGTTG
+CTTATTGCTCTCCTTGTGATGCTGGTGTTCCTGTTTGCGGGCGAGAAAATTCTGGCATTTCTTAGCCTGC
+GGGCAGAAACCGTCTCCATTTCTGGCGGCATCATTCTGTTTCTGATCGCCATTAAGATGATTTTCCCCAG
+CGCTTCAGGAAATAGCAGCGGGCTTCCGGCAGGTGAAGAGCCATTTATCGTGCCGTTGGCAATTCCGCTG
+GTCGCCGGGCCGACTATTCTCGCCACGCTGATGTTGTTGTCTCATCAGTACCCGAATCAGATGGGACATC
+TGGTAATTGCTCTGCTACTGGCCTGGGGCGGCACCTTTGTCATCCTGCTACAGTCTTCGCTATTTTTACG
+TCTGCTAGGCGAGAAAGGGGTGAACGCACTTGAACGCCTGATGGGATTGATTCTGGTGATGATGGCAACT
+CAGATGTTCCTCGACGGCATTCGAATGTGGATGAAGGGGTAAGGTTCAAACAGGTGTTGCACACAACCAG
+ACGCGGCACCTGTTTTATTACCTGAACTGATAATGACCTTCGCCCAATCGGATAACCCTTCCCTCTTCTT
+CTGCGCGGTTCAGCCACACACTAATTTGTTCGATGGTTAAACCAGTACAAGACGCCAGCCTTTCAATACT
+TATCGATTCCTTTGCAAGGATCGCCAGTTCCGCCACAAAGAGTTGATAAAAATCGACAGGGGTATGCGCG
+GGCATTACTGCGTAATTTGCGTCATCTTCGTGCAGCGAAAACAGTTCTGGTTGAGCGTTACGGAGTGCTC
+TGTCATACATCAGCCCAGGAACGTCTGGCAGTCTGATCGTCACATTCTCAGCCTGTTCAGCACTCCATGA
+CGCCCCATTTTCTACTAATCGTGAATTGGCTGATTGCATATCCTGATTTGGTTTAACCTGCATAGGCAGC
+CACTGATGTTTTAATGCCTCCATCGCCCCGGTTATCGTTCCACCGGTCATTCCCGCACGTACAACCATTG
+CGCTTTCAGCAAGGCAATAAATATATTTATTCCGCGCCATCGCATTGCCGACGGTGAAACGTACCTCTGG
+GTAAAACGGCGAAATCAACACCAGGTTGCCTGCTATAAGCCCGTCACGCCATTTCACTAACGTACTCGTT
+TTTAACAAGCTATCAGCTAATACGCCAACGGCAGTTCCCCCGACCTCCAGAGCCGAGGCCATTGCACATT
+CATCAATACCTCGCGCACCACCAGAGATAACGCAAATCCCCTGTTGGGCCAGTTTCGCGGCCAGTTGTTG
+GGTATAGCGCAAATCATCAGTCGGAGCATCTCGCGAGCCAACAATAGCCATACCTTCCGCTTGCAGTAAT
+GCTTTATTCCCGCAGCCAAATAAAACGGGAGGTGCATCCGTTCGCAATCGGTTTTTCAAGCGAACGGGAT
+AATCGGCATCTCCGCGGGTTAAGATCCATAAACCGGCGCGTTGCCACTTATCTACCGCCAACGCCAGACT
+ATGACCACGCGCCAGCAAGCCAAGAATACGCTCCTGAGAAATACGCGGATCGCTCCAGCCTGTAAGTTTC
+TCTTGCGGTTGCGGCACCAGAAGCTCGGCGGGACTGATACGTTGGTGCTTCAGCCATAATGCAAACTTCC
+CCCATTCACTATTACTAAGAGGTTTATACTCACTCGCCGCCGCGCGAGAAAAATCGCTGGTTAGCAGGAG
+AGTTGCTTGTGCATTGGCTGAAAGATTCATCAATTTTTTACCGAGGTAGAAGCAAGGGCAAGAGGATAAA
+CCGTCGGGCAACCTGCCTGGCGTAACAGTGCTGTCAGAACTGTCAGCGTCCATGCAGAATCCACGATATC
+ATCAACCAGCAACGCCGGACCTGGCATCAAAGGAGGGGTAATCACAAACGCCCCGTCGAGATTTTGACAC
+TGGTGAAAACGGTTTTGCTGCATTTTCTGCGGTGGATTGTCCACGACTTTTTCAATGGCATCAATAAAAG
+GTAAGCCAAGTTTCGCCGCCAGTCGCCGGGCAAAATCAGGAACCAGGTCGAGGTGCCTTAATGAAGGAAC
+GCAGCATACCCAGGTGGGTTCAGGATGCGGATTCCAGCGTTGGCGAACCATTTCCGCACATGCCTCCACC
+AGCTCATCACTGAAGCGCCCCGTTTTTTTCTCCTGGGCTACCTGCTTTCCCCACCCGGAATCTCCCCAAC
+GAGAAAGGATTCGCCCCGTAGATCCTTGTAAACCCGCAGGCAAGTTCCCTTTAAATCCGTATTGCGTAAA
+AGCCCCAGATGCCACCTGTTTATTGAGATTTAATGGCAGGTCAGCGTGTTTAATAAATAAATTTGCCGCA
+TGGAGTAAGCCGCTATCAATGTCGGGCGACAACAGCGGATGCTGAAGACAACTGCTACATTTACCACAAC
+GTTCGGCACTTGGCTCATCGAGTGCGCGGCGCAGAAATTGCATTTTGCACTCTTTGGTCGTGATATAGCT
+TTCAACGTCTGCCAACTCACTTTTTCTCTGATTCATCAAATGGTTAATTCGTTCATGATCAGGAGAAAAA
+CTGACGATAGTTCTGCGCCATAATTTCTCGGTATACACCACAGGCGATGGATTTTCAGCTACCAATAATT
+TCAGTGCTTTTTCTATTTGCCCATAACGAAGATTCGTCCGTTGTTCAATGCCTCGTAGGGTAAGACCGTC
+ATTCTCGCTAAGTACGTTGAGTATTTCATGAATTTGCGCCTCCGCAGGAAAGGCGCTTTCACGGAAGAAT
+TGATGAATAGCGCGGTCTTCACCACCACAAAGCAATATGCCAACTGCGGAATCTATAGCACGCCCGGCAC
+GCCCCACCTGTTGGTAGTAACCGACAATAGACCCCGGCATCTGATAATGAATGACGAAACCTAAATCAGG
+TTTATCAAATCCCATACCTAATGCCGTCGTCGCGACCAGCACTTTGATTTTATTTGCCAGCAGTGCCTGC
+TCCAGATACTCCCTGGCAGTATTAGAATCTTCCGCACCTCCACAAGTCACGCCGCTGTAATAAGCAAATG
+CACTGATACCATTTTTCCTTAACCAGTCGGCGACAAGTTCAGCATCGCGAGTCGTCAGGGTATAAACAAT
+TCCCGATTTGGAAAACTGAGGGATAACCGTTGCTAACCATGCCAGACGGGATGACTGTTCTCCTAAGACT
+AAGGCATCAAGCGCCAAACTTTCGCGAGCCAGCGTTCCACGCTGAATCACAATGTCACCCAATTGCTGAC
+GGATATCCTCAACGACACGGTTATTCGCTGTCGCGGTTGTACCCAGAATAGGGGTATTCGCAGGCAGTTG
+GCGCAAAATATCTAATATACGTCGGTAATCCGGGCGGAAATCGTGGCCCCAATCAGAGATGCAGTGCGCC
+TCATCGACCACCAGTAAACCGATGCGGTCAGCGACTGGATATAAAACCGTTTCAAGAAAATCCTGATTCG
+CCAACCGTTCAGGTGAAATCAGCAGACAATCTACGCCACCTTGCAGCAACTTATCGCTAATGCGCTGCCA
+TTCTTCCCTGTTTGTAGAATTCAACGTTTCAGCCGTAATACCTAACCGTTCAGCGGCGGCAACCTGGTTA
+CGCATCAGGGCAAGCAAAGGAGAGATGATAATTGTCGGGCCAGCGCCGCGATCGCGGAAGATTTTACTGG
+CGATGAAGTACACGGCACTTTTCCCCCAGCCGGTGCGCTGTACAACCAGTAGTTTTCGCCGCTGATTAAC
+CACCGCATCTATAGCTTCCCATTGCCCTTCCCTGAAAGTAGCGCTGGTGTTACTTAACATCCGCTGTAAC
+AGCAATTCAGCTCCGTGTTTCTCCATCATCTTCTCCCTCGTCCGTTAACGCAGTGATTAGAACGGATAAT
+GTTCCGGTCTTTTTGCGAGAGAGATCAAAAAGATGAAGACAGGAGAAAAGAGAAATGAATTACTGCGAGC
+AAGCTCGCAGTAATTTGTCGCAGTAATTAACTCAACAGCTGGAACGCAATCATCCCAACGATGGCACCGA
+CAGTGCCGAGGATGGTTTCCATCATGGTCCAGGTTTTAAGCGTTTCGGCTTCGGTCGCGCCGGTAAATTT
+ACCGAACAACCAGAAACCCGCGTCGTTAACGTGGCTGACAACAATCGAACCACCGGCGATACAAATCGAC
+AGCGCCGCCATTTGCGCACCAGAGTAGTTCAGTTGTTCAATGACCGGCATTACCAATCCCACCGCCGTTA
+AACAGGCAACGGTGGCAGAACCCTGAATGATGCGCACTGCAGCTGCCAGCACGAAGCAGGTGATGGCAAT
+CGGCAGGCCCATGCCGGTTAACGCTTCGCCCAGTGCCGGACCGACACCAGAGTCAACCAGCACCTGTTTG
+AACACGCCGCCCGCACCAATCACCAGCAGAATGATCCCCGCCGGTTGCAGCGCGTGACCGCAAATCTCCA
+TCACTTTGTCTTTTGGCATACCCTGACGCATTGCCAGACCGTAAATCGCCACCAGGCAAGCAACCAGAAT
+CGCGGTAAACGGATGGCCAATAAACTCGAACCATTCGTAAGCAGTAGAGCCTTCTGGCACAAAACGCGCG
+GCAATGGTTTTCAGCCCCACCAGCACCAGTGGCAACAGGATCAGCGACAGGCTGAATCCGAAGGACGGCA
+TTTTGCCTTCGCCGAGATGCGGTTCGCTGATGTCGTCAGGAATATGCAACTCCACGTAGCGGCTGATGAA
+ATTACCCCACAGCGGCCCGGCAATAATCATTCCCGGAATTGCCGCGCACAGGCCAATCAGGATCATCCAG
+CCAAAGTCGGCGTTCATCTGCGATGCCAGCAGCATTGGCGCTGGCCCAGGCACCAGGAACGCAGCCGCTG
+CCGCCACGCCTGCAAATAATGGGATTACCAGCTTCACCAGGTTCGTGCCGGTGTGGCGCGCCATTGAGAA
+AGCAACGCTAATCAGCAGAACAATCGCCACTTCAAAGAACAGCGGTAGCGCACAAACCAGCCCCGCAAGG
+CCGATGGCATAATGCACGCGGCTGTGACCGAAGGATTTGAGCATTTTGACGGCAATCTGATCGACCGCGC
+CGGTTTCATGTAAGATCTTACCAAACATGGCTCCCAGGGCGACAACCACCGCCAGGAAGCCGAGGGTGCC
+TCCCATCCCTTTTTCCATCGTCGCTGCGATTTTATCGAGCGGCATACCGGAAAAAAGGCCAGCCCCCATG
+GACACCACCATTAAAGCCAGGAAAGCGTGCATACGCGCCTTCATGACTAAAAACAGCAGCAGTAAAACAG
+ACCCTACTGCTGTTAAAACAAGCGTTAATGTAGTCACTACTTATTTGCCTTTTTTAATAACCTCAATGGT
+GCTTGCCACAACACCTTCCAGCGGTTGATCAATATCCACCACCAGTACATCGGTTTCGTCCGCACCCGGC
+TCCTGCAGCGTTTCAAACTGCGTCACCAGCATTTGGGTTTTAAAGAAATGGCCTTTGCGCGCTTTCAGGC
+GGCTTTCAATCACATCAAAATCGCCTTTCAGGTAGATGAAAGAGAGATTAGGATTACCTTCACGCAGCAA
+GTCGCGATAGTGTTTTTTCAGTGCAGAACAGACGATCAGCGATACTTTATTGGTGCGCTGCATAGCAAAC
+GCGGCGTCGTTCAGCGCCTGCAACCACGGTTTGCGATCGTCGTCATTCAGCGGTTCGCCAGACGCCATTT
+TTTCGATATTGCAGCGCGGATGGAGGAAATCGCCATCAAGAAACGCGGCATGAAGTTGATGCGCCACTTC
+ACTGGCGACCGCAGATTTGCCGCTGCCCGATACGCCCATCAAGACGTAAATGTGGTGATCATGGTTAGTC
+GTGCTCAAAGTGGTGCCCCCACAATACAAGAATTAAAAATGTTACGGGTAACTGTTATCGGTAACATTGT
+CCAGCCGGACAATATCAGAAGCAATATCCATCCGTGCCTTAAGTGTATAAGTGTGAGCTACTTCAAATTT
+GTAGGCTTAAATAGATCCGCCCGGTGACAAGGTGAAACCTAAATCTAACATTTTCGGTGTCACAGATTCG
+CCACGAATACGCGCCAGCAGGCGCTCAGCGCCAATGCTGCCCATCCGCTCACGCGGCGTCAGCACACTCG
+CCAGCCGTGGCTCCATCACCTGACCAATGTCATGACCATGGAAACCGGCAATCGCCATATCGTCAGGAAC
+TTTCAACCCCAGACGCTGACATTCAAACGCCGCGCCGACCGCCAGGTCATCATTAGTACAGAACACGCCA
+TCCAGCTGCGGATATTCCCGCCGCGCCTGGCGAATCAGTTCAATACCGGAAGAGTAAGAAGAAGATTGCT
+CAACCATCACGCTATACGGCACCAGGCCTGCATCCAGCATCGCCTGTTCGTATCCCTTCTGTTTGATGAT
+AGTACGTTCGTCGAGGCGTGCGCCGAGATAGGCAATGTGACGATGCCCGCGAGCAATAATGGCGGTGGTC
+ATCTGGCGTGCCGCTTCAAAGTTATCAAAACCGACGGCGATATCGAGGCACGGCGACTTACTGTCCATCA
+ACTCCACCACCGGAATCCCCGCCACTTCAATCATCTTTAAGGTACGCGGCGTGTGGGTACGTTCGGTGAG
+GATCAGGCCGTCGATATTCCATGAGAGCATTGATTCGAGGCGTTCTTGCTCCATTTCCGGTTTATAACCG
+TAGTGCGCCAGCATGGTTTGATAACCGTGCGCGTCGGTGACGCTTTCGATTCCGCGTAATACTTCCGCGA
+AAACCTGGTTGGTGAGAGAAGGTAACAGGACGCCAATCGCCCGGCTGGTGGCGTTAGAGAGTATATCGGG
+CGCGCGATTGGGAATATAACCCAGTTCATCAAGAGCGGCGGCAATCTTGCCGCGTAGAGCGACGGAAACC
+TGCTCCGGGTTGCGTAAAAAACGGCTGACCGTCATTTTGGTCACGCCTACACGGTCAGCCACATCCTGAA
+GTACGGGTCTTTTCTTTTTCATCGTCCTGAAGGTACAAAAGAGATAGATTCTCTTAGTTTAACACGGACG
+CATCAGAACCTTCCCGATTCCTCAGGAAGGTTTGTGAGATAAATTTAGACTGGCGGTAAATCGAACAGCA
+GGATTTCACTGTCGCTATCAGCATGGATGGAAATCGCCTGCTCATCCCAGATTGCCAGACCATCGCTGGT
+CGAGGCTTTCACGCCGTTAATGGTGACATTGCCTTTCACCACCTGGATCCAGACGCGGCGTTCAGCGGCA
+ATCTGATGCACCGACTGCTCATCTTTCACCAGCGCCCAACGATACAGTTCCATATCCTGATGCACTTTCA
+ATGAACCATCACGCGCATCCGGCGAAAGCACCAGTTGTTTGCCCTGCACGGCATCGAAGCGACGCTGTTC
+ATAACGCGGCGTAATGCCGTTTTCTTCAGGCATGATCCAGATCTGATACAGATGCAGACGCTCGGTGCTG
+CTTGGGTTGTACTCTGAGTGACGAATACCCGTACCCGCACTCATAATCTGGAACTCGCCCGCCGGAACCT
+GCTCTTTATTGCCCATGCTGTCCTGATGCTCAACAGTACCTTCCAGCACGTAGGTCAAAATTTCCATATC
+TTTATGCGGGTGAGTGCCGAAGCCCTGCCCTGCTTCAATCACGTCGTCGTTAATCACGCGCAGCGCAGAG
+AAGCCCATAAAATTCGGATCGTAATAGTTGGCAAAAGAGAAAGTATGCCAGGAGTCCAGCCAGCCATGAT
+TTGCATGACCGCGTTCATTTGCTTTGCGTAAGTAGATCATTTGTATTCGCCCCCTGAATGATTTCGATGG
+GCTTAGTGTGGACCCGATCCGCCTGGGATGATAGAGGGTGAAAATTGACCCCTCTGTTCAAAAAAATTGA
+ACTATTCGAGGGGCCATCAAACTTACCTCGCGAGAGTCACTGCGGAGGGAGAAGCTTGCTCAAAACCGCG
+TTCAAGGATTTCCAGATTCGTAAGAACTTCAGATTCCTTGACGTAATTTGGCGCACCGTTGGTGATGGTT
+TGATACAACGCATCATAAACGCGCCCATAATCGCCCATCTCTGGCTTCATCTCTTCTCTTACCGTCACGC
+CCTCGTCATTGACATACTCCAGCACACCGACCGAATCATCCGCTGCGAATCCTGGTTCGCCCGGCATAAT
+ATTAGCCTTCAGGCTGGTTTCCTGCTGGTCGATACCGTATTTAATAAACGAACCTTTCTTACCGTGAACG
+ATAAATTTCGGATAATCGATTTTCACCAGATGGCTGGTTTTGACGATGGCTTTTAGATCGCCATAAAACA
+GCTGCGCTTCAAAGGTGTCGTCCGGATTGGCTTTATTACGCAGGCTGCGGATGTCATAAGCGACGTGATC
+CGGGCGACCGAACAGAGAAATAATCTGGTCCATCGTATGCACACCAAGGCCATAGAACGCGCCATCCTGC
+GGCAGCCCCGGTTTGGTTTCTGCCACCGGGCGGTAATAGTCAAAATGGCTTTCCACTTCGACAATCTCTC
+CCAGCTTGCCGCTTTCAATCGCTTTTTTCGCTGTCAGGAAGCAGGAATCAAAGCGACGATTCTGATACGG
+CGTAACGATCAGCCCTTTGCTTTTCGCCAGTGCAAACAGCTCTTTCGCCTGCGCAATTGTCGGAGTGAAC
+GGTTTTTCGACCAGCACATTTTTCCCGGCTTCCAGCGCGCGCTTCGCGTACTCGAAGTGGCTGTCCGCGT
+GGGTGCAGACGACAACCAGCTTAACATCGGGATCGTTTAGCACTTCGTCGAGATCGCTGGTGAAATGGAT
+ATGGGAATAAATGGGGGCCTGTTCTTCCGGCTTCGCATGGCGGCGAAAAATATGCGCGACATGCCAGCTA
+TCCTTGCGGTTAAGTACATACGGCAGATGGTAACGGGTGGTGCTTTTGCCGAAGCCAATAAAGGCGCAGT
+TAATGACCATGATTTCGTCCTTTTTAAGGTGGTTATTTACACCTTAGCGCAAAGCGGACGTGGTTCCTAC
+TGGAGTGCGCATAACGAACACAAGCACTTCCCGAGGATAAATTGAGAACGAAAGGTCAAAAAAAAAGCCA
+GCACCCGGCTGGCTAAGTAATACTGGAAGCAATGTGAGCAATGTCGTGCTTTCAGGTTCTCCGCGAGGGT
+CTTCCTGATCGCGAGACAATAATAATCATTCTCATTCGCACTTGTCCAACACTTTTTGCAAAAAAATGCA
+TTTGACTCGCATTTGAAAGTCAATGATGTTGAAAGGGACATTTACCCCAAAGAGGACAAAGGAATGAGTG
+AGATAGTAATACGCCACGCAGAAACACGCGATTACGAGGCCATCAGGCAGATTCACGCCCAGCCGGAGGT
+GTATTACAACACGCTACAGGTGCCTCATCCTTCAGAACAAATGTGGCTGGAACGACTCACCGCTCGCCCT
+GGCATCAAGCAGTTAGTCGCCTGTATTGATGGAATCGTCGTAGGCCATCTCACCATTGACGTGCAACAAC
+GCCCACGCCGCAGTCATGTTGCCGATTTTGGTATCTGTGTCGACTCCCGTTGGAAGAACCGCGGCGTCGC
+CAGCGCCCTGATGCGAGAGATGATTGAAATGTGCGACAACTGGTTGCGGGTAGATCGTATTGAACTAACG
+GTGTTCGTCGATAACGCGCCAGCAATTAAGGTCTATAAAAAATTCGGCTTTGAGATTGAAGGGACTGGCA
+AAAAGTACGCATTACGTAATGGTGAATATGTCGATGCGTATTATATGGCGCGGGTGAAGTAAGATAGTGC
+CCTTTTTCTGAGATGGAAAAAGGGTGTCATTCAAAATCGGCATACCTTCCTTTAATGTATTTATTTTCCC
+AATAAATATATGAGATTTACCTCATAATTACTTCCTAAAGTGTAATATTTTATTTTTTAATATATACGCC
+TACAATTTCCTGGAGTAAATAAATAACAATTAACAAGCATAATATTGCCATTGATAAAATAGCATGCCAT
+AAAAGGACTTTTCAGGGATGAGTAATATTGTTTATCTGACAGTAACGGGAGAACAACAAGGAAGCATCTC
+CGCAGGTTGTGGGACTACTGAATCTATAGGTAATCGCTGGCAGAGCGGGCATGAGGATGAAATATTTACA
+TTCTCACTCTTAAATAGTATTACTAATACGGGGCTTGGTTCACAGTTCCATGGTATAACATTTTGTAAAT
+TAATTGATAAAAGCACTCCATTATTTATTAATTCCATTAACAATAATGAACAATTATTTATGGAATTTGA
+CTTCTATCGAATAAATAGATTTGGTAGATGGGAAAAGTATTATTATATACAACTAAGAGGCGCTTTTTTA
+TCGGCTATTCATCACCAGATCTTTGAAAACCAACTGGATACAGAAACAATAACTGTTAGTTATGAATTTA
+TCCTCTGCCAACATCTTATCACTAACACCGAGTTCAGCTATTTGGCACTCCCTGAAAATTATAACCGCTT
+GTTTTTACCAAATTCAAAAAACAAAACAAATAATGGTTTAAAAACGTTAAACAGCGAAGCTGTTGGCAGG
+CTACTTGCTGCTGGTGGCGTATACAATGGGAACATTGAAGGATTCAGAGATACTGCGGAAAAACTGGGTG
+GAGATGCAATCAAAGGCTATGATCAAATACTAAATGAAAAAACAGCGGGCATAGCGATAGCAACAGCATC
+TATTCTTTTAACAAAGCGTTCTAATGTTGATACATATACAGAAATAAATAGTTACTTAGGCAAACTTAGA
+GGCCAACAAAAACTTCTTGATAGTATAGACATAATAGAAATAATATACATTAAGAGACCTTCAAAAGACT
+TAGCTAACTTACGAAAGGAGTTTAATAAAAATGTAAGAAAAAATTTTCTTATCAAACTTGCAAAAACCTC
+CGAAGCATCTGGAAGATTCAACGCCGAAGACCTTTTAAGAATGAGAAAGGGCAATGTTCCTCTAAATTAT
+AATGTACACCATAAACTATCTCTAGATGATGGTGGTACTAATGATTTGGAAAATTTAGCATTAATCGAAA
+ACGAACCATATCATAAGGTTTTTACTAACATGCAATCACGAATAGCTAAGGGAATATTAGTGGGTGAAAG
+CAAAATCACTCCCTGGGCCATTCCATCTGGCTCAATTTATCCTCCCATGAAAAATATTATGGAACCCACA
+AATGATGACTAAAACCCAAATAAATAAATTAAAAAAAATGATGAATGATTTAGACTATCCATTTGAAGCA
+CCGCTCAAGGAATCATTTATTGAAAGTATAATCCAAATAAAATTCAATTCTAACTCAACTAATTGCCTGG
+AGAAGTTATGTAATGAAGTTAGTATTCTCTTTAATAATCAACCTGATTATCTTACTTTTTTAAGAGCAAT
+GGATGGATTCGAAGTTAATGGATTACGATTATTTAGCCTCTCGATTCCAGAACCTTCAGTTAAAAACCTT
+TTTGCCGTAAATGAATTTTATAGAGATAATGATGATTTCATAAATCCTGACTTACAAGAACGGTTAGTGA
+TCGGGGATGATAGCATTTCAATATTTACTTATGACATTAAAAGTAACTTTTTTGAAATTAGAGATAATAT
+TGGCACAGAAAATATATTCAGTTCGTTTAGTGATTTCTCTTCATTCTTAAACGAAATCATGGACAGTTGT
+TCATAATAATAAAAAGGTAACCAAAATCATTGTAAACCATGCCATCTTTTTAGAGTTTACCAGCAGTAAA
+TTTCTTGATCGAAATTTATCAATACAAGCTATAGAAAAACTTACAACGGAACTACACTCCTTAAGTGAGA
+TGGACCGAAGACATGTAGTCGCTATTTAAACTGAAATAGCTAATGGCGATGATGATCTTAGTGACATGTT
+GATTTGGTTAGAATTTTACCCGAATCATAAGATTCTGATATCTTAAATGAGCAAATCCGGTTCGACGTTC
+TGGAAAATAAATCACAAAATATTAGCAGATACTTATTTTGTGACTATACCTTATCCGATGAACTCTTTTC
+AAAACCAGCATTTAATAATATCTTTGACGAAGATGAACGCGTCTTTGCTCAATGTATAACGCAGGAATAA
+TAATATAACGCTAAACAATAATATTTATTATAATTATGATTACTTATCACGACGCATTCGCGAAAGCGAA
+CAATTACCTTGATGATGCAAATCTCCCGGTCGTCATTACTCTACATGGACGCTTTAGCCAGGGCTGGTAT
+TTCTGTTTCGAAGCACGAGAATTTCTCGAAACTGGAGATGAGGCCGCGCGCTTAGCTGGTAACGCACCTT
+TTATTGTTGATAAAGGCAGTGGTGAAATTCATTCTCTGGGAACGGCAAAGCCACTGGAAGAATATCTACA
+GGATTATGAAATAAAAAAGGCTACCTTCGGCTTGCCCTGACAATACGGCCCTCTTCCCACTAAGAGGGCC
+GCTAACCTTAATACCCCGCCGTTAAATCATCCACCGAGCGCGGGTCGGATGCACCGTACAGCTCACCGTC
+CGGCCCAATCATAATGCTTTGTGTACTGCCCATCGCCTCTTTCAGCGCCACTTTCTGACCTTTTGCTTCC
+AGCAGCTTGATCGTATCCGGGCTAAACCCTTTTTCGACACGCAGCTCGTCCGGCAACCACTGATGGTGGA
+AACGCGGCGCATTGGTCGCTTCGGCGACGTTCATTCCATAATCGATGCTATTCACCACCATTTGCAGCAC
+AGTGGTGATAATCCGGCTACCGCCTGGGCTTCCGGTGACCAGCCAGGTTTTACCATCCTTGACCACAATG
+GTTGGTGACATCGACGACAGCGGGCGTTTATTCGGCCCGACGGCGTTGGCATCACCGCCCACCAGCCCGT
+AAACGTTCGGTACGCCTGGTTTGGCGGAGAAATCATCCATTTGGTTATTAAGCAGAATACCGCTCTCGCC
+CGCGACAATGCCCGTACCGAAGGTGGTATTCAGCGTATAGGTCACCGCCACGGCGTTACCGTCTTTATCC
+ACTACTGAGTAATGGGTAGTTTGATTACTCTCATAAGGCGCAAGCTTGCCAGGACGAATTTCGCTGGATG
+GCTTCGCTTTATTGATATCGATTTGATCGGCAATAGATTTGGCATAGGCTTTATTGGTCAGCGCCTGCCA
+CGGTACTTTGACAAAATCCGGGTCGCCAAGATATTCCGAGCGGTCGGCATAGGCGTATTTCTCAGCTTCT
+GCCATGATTTGCATCGCGTCGGCACTGCCAAAGCCGTACTTCTGCATATCGAAGTTTTCCAGAATATTGA
+GGATTTGTACGATATGAATACCGCCGGAAGATGGCGGTGGCATGGAGTAAACCTGATACCCGCGATAATC
+GCCGCTTATCGGTGTGCGTTCGACCGCTTTATATACCGCTAAATCTTCTTTGCTGATCAAGCCACCGTTT
+TTCTGCATCTCCTGGGCAATCTGTTCCGCTATCGTGCCTTTGTAGAATTCATCCGGGCCGTTTTCGGCAA
+TCATCTCCAGGCTCTTTGCCAGGTTCGCCTGCACCAGCTTGTCGCCCTTTTTCAGCGGTTCGCCCTCTTT
+CCAGAAGATAGCTTTGCTGTTTTCGTGGTTCGGCAGCACTTCACTGCCGTAGGTTTTGAGATCGTCAGCC
+AGCGCGTCGTTAACGATAAAACCATCGCGTGCCAGTTTAAACGCCGGTTGCACCACTTTATTCAACGGCA
+TGGTGCCGTATTTATCCAGCGCCAACGAGAAACCCGCTACCGTACCGGGTGTGCCGGAAGCCAGATGCGA
+AGTGAGTGATTTTTTGCTGTCCGGGTTGCCCTGATCATCGAGGAACATATCGCGGGTCGCTTTGGCGGGT
+GCCATTTCGCGGAAATCGATAGCCGTGGTATTGCCATTTTTCGAGCGGATCAGCATAAAACCACCGCCGC
+CCAGATTCCCTGCCTGCGGATGCGTTACTGCCAGCGCGTAGCCCACCGCCACGGCGGCATCAACGGCATT
+CCCGCCCTCCTTGAGGATATCCACCCCCACCTGAGTGGCAGTAGCATCTACAGACGCCACCATTCCCTGC
+TTAGCGCGTACCGGATGAAAGACATCTTCCTCCACACCATAAGAAACAGGTGGCGCGGCTACCGTACTAA
+AACAACTTCCTGTGAGCAGAGCAGCAATGGCCACCCGGCGTAAAAACGTCGGTTTTATCATCGTTATTCT
+CCAGAGATTAAGGGGCAACCCCAGCTAAGCCTGGTATATAACTCTGAATTAATCATCGTTTTGCCGGGAA
+GCGAGTAAACTTAAAGAATATCTTCAGAGGAGGATACGCGATGAAACGACTTCTGCTTTTGACGGCACTC
+CTGCCGTTTGTCGGCTTTGCACAGCCCATTAATACTCTGAACAACCCTAACCAGCCGGGATATCAGATCC
+CCAGCCAGCAGCGGATGCAAACTCAAATGCAGACGCAGCAAATCCAGCAAAAAGGGATGCTGAACCAGCA
+ACTGAAAACGCAAACGCAGCTGCAACAGCAGCATTTAGAAAACCAGATAAACAATAATTCTCAGCGGGTG
+TTGCAGTCACAGCCGGGGGAGCGAAATCCCGCCCGGCAGCAAATGCTGCCCAACACCAACGGCGGGATGT
+TAAACAGCAACCGTAATCCGGATAGTTCGTTGAATCAGCAGCATATGCTGCCGGAGAGGAGAAACGGCGA
+CATGCTGAATCAGCCCAGCACGCCGCAGCCTGACATTCCGTTGAAAACTATTGGGCCGTAAAGTTCGGAC
+CAATCACGTCAATCGCATCGGTACAGATGCAATCCACGCCCCAGCGCAGCAACTCTGCCGCGCGCTGGGG
+TTTATTGACGGTATAAACCAGAATCCGTAATCCGGCATCTTTCAACTGCATCACTCGCGCTTTATCGAGC
+AACTTATGATTGAGATGAATAGAGACGCAGCCCAGTCGCGCGGTCAATTCTCGCCAGTCGTCGCGCCATT
+CATCAAGCAATAAACCACGCGGCAGTTCCGGTGCTGCCTGTTGCGCGGCTTCTAAAGCATCAATCTCAAA
+CGATGACAGCAGCGGCGGCGTCATACCGGTCCACAGTTCGCGTGCCGCCAACGCCACCGTTTTGCCCGTT
+AATGGTCCAGTGCCAGTGGTGGGTTTGATTTCGATATTCGCCATCATCCCGTGTTCGCGGCAGCGTTCCG
+CCACCTGCGAAAGCAACGGCAGCGGCTCACCTTTAAACGCTTTGCTGTACCAACTGCCTGCATCCACGCG
+CAGTAAATCCTGCCAGTTCAGCTCGCCCGCAACGCCCCCACCGTTGCTGGTACGTTCGAGATTGTCGTCA
+TGGAGCAGGAAGATCTCGCCATCTTTCGATAACTTTGCGTCAAATTCGATCATCTTATGACCGTATCTTG
+CCCCGACGTCGATTGCCGCCAGAGTGTTTTCCGGGGCCAGCTTACCGCCACCACGATGGGCGACGATGCG
+GGGATAAGGCCAGTTACTCATACTCGTTGTCCTGTTTCACCATCAAAAAGATGCAGCTGATTTTCCGGCA
+GATGCAGCCACAGCGTGCTGCCTGCCGTCGGGCGCTCCTGATGCGCCAGTCGCACCACCAGCTTCTGTTC
+GCCCCAGCGTCCGTGCGCCAGGTTATCTGCGCCGAGGATCTCCAGCGTGTCCATCACCAGCGGCACACCA
+CCTTCTGCCCGCGAGCTTAGCGCTATATGTTCCGGGCGAATGCCGAGGGTCATTTTACGCCCGGCATACT
+GACGGTAGCCACCGTTTAGCAGCAGCGTAATACCACCATCCAGTTCGAAATGCGTACCTTCGTTATTCAC
+GCGGCCAGCCAGTAGGTTCATCGCCGGGCTGCCGATAAAACTCGCCACAAACAGGCTGGCGGGCTTTTCG
+TACACTTCAACTGGCGTGCCAATCTGTTCGGCGACGCCGCCGTTCATCACCATTACTCGCTGGGCGAGCG
+TCATCGCCTCAACCTGATCGTGGGTAACGTAGAGTGAAGTCGTTTTCAGGCGACGGTGCAGCTGTTGCAG
+TTCAAGACGCATCTGCACACGCAACTTGGCATCGAGGTTAGAGAGCGGCTCATCAAACAGGAATACTGCC
+GGCTCACGCACAATCGCACGCCCCATCGCCACACGCTGACGCTGACCGCCGGATAGCTCACGCGGGCGGC
+GCTTAAGCAGGCCGTCCAGCTCCAGAATGCGCGCCGCTTCTTTAACACGTTCGGCAATTTGTTGCTTGCC
+CATGCCGCGAATTTTCAGCCCCCACGCCATGTTCTCCTCTACGCTCATATGCGGATAGAGCGCGTAGTTC
+TGGAACACCATCGCAATCCCGCGATCTTTCGGCTCCATTTCGGTGACACGCTTGCGGTCGATCCAGATAT
+CGCCCGTCGTTACCCGCTCCAGTCCGGCAACCATTCGCAATAACGTCGATTTCCCGCAGCCAGACGGCCC
+GACCATCACGATAAATTCGCCATCCGCCACATCAAGGGTCAGCGGTTTAATGACCTGGGTTTTGCCATCC
+CAGCTTTTGGTTACTGCCTGTAATTTCAGTCCTGCCATCTTATTTCTCACTATCGACCAGGCCGCGCACG
+AAGGCACGCTGCATCACTAAAACAATCACTACTGGTGGGATCAGGGTTAACAACATCGCCGCCATCACCG
+AGTTCCATTCCGTTGTGCCTTCGCCTGTGGCGATCATCCCTTTAATCCCTGCCACGGTGGTGCCGAGATC
+AACGTCGGTAATAATCAACAACGGCCACAAATACTGGTTCCAGCCGTAAATAAAGGTAATCACAAACAGC
+GCCGCCAGATTGGTTTTGGACAGCGGAAAAACGATGTCGCAAAAGAAACGCATTGGCGACGCGCCGTCGA
+TCCGCGCGGCTTCCACCAGTTCATCCGGTAGGGTCATAAAGAACTGGCGAAACAGAAACGTGGCGGTCGC
+CGAGGCCATCAGCGGCAGCGTTAAACCTGCGTAGCTGTCGAGCATTTTCAGGTTGGCGATGACTTCCACC
+GTCGGGAAGATACGCACTTCAACCGGCAGCATCAGGGTGATAAAAATCATCCAGAAGAAGAGGTTACGTA
+GCGGAAAACGAAACCAGACAATGGCAAATGCCGAGAGCATCGAGACGGTAATTTTGCCGAGCGTAATGCT
+GAACGCCATCACAAAGCTGTTAAGCAACATCCGCCAGAACGGCGCGCTATTCGTGCCTACCCCGTTTACC
+CAGATGTTGTGGATGTTTTCCAGCAGATGTGTGCCGGGGATTAGCGTCATCGGTGCGGCATAGACTTCTT
+GTTTATCCAGCGTCGCCGCGACAAACGCCACGTACAGCGGGAAGAGGATCACCGCGATCCCGAGGATCAG
+CATGGTATGGCTGAATATTGTCAGCCACGGACGGTTCTCAATCATTGGTAACGTACCTTGCCTTCAACAT
+AGCGGAACTGCACCACCGTCAGCACGATGACGAGGAACATCAACACCACCGACTGCGCGGCAGACGAAGC
+CAAATCCAGTCCGGTAAAGCCTTCACGGTAAATCTTATAAATCAGCGTCGTGGTGGCCTGTACTGGCCCG
+CCGGACGTGGCGGCGTCGATCACCGGGAAGGTGTCGAAGAAGGCATACACCAGGTTCACCACCAGCAGGA
+AGAAACTCACCGGAGCGATAAGCGGCAGCGCAATCTTAAAGAAGCGGCGAATCGGGCCAGCCCCATCAAT
+GGCTGCGGCTTCGATCAACGAACGGGGGATGGATTGCAGCGCGGCATAGAAGAACAGAAAGTTGTAGCTG
+ATTTGCTTCCACACTGAGGCAAACACCACCAGGAACATCGCCTGACCGCTGTTTTGCGCGTGGTTCCAGT
+CGTAGCCGAACTCAGCGAGAAAATGGGTGATCAGCCCGCGACCGGGGTTAAACAGAAAGATCCACAATAC
+GGCGGCAACGGCGGGAGCCACGGCATACGGCAGCAGCATCAAGGTTTGATAGAAACGACTGCCGCGCACG
+ATGTACTCCACCAGCGCTGCGAAGAACAGCGATACCAGCAAACCGCTGACGGTGACAAAGGTGCTGAATT
+TTATCGTCGTCCAGAAGGCGTCGAGATAGTAGCTGTCGTGAAACAGCGTGACGAAATTATCCAGGCCGAC
+AAACTGGCTGGAGAAACCAAACGGATCGACGCTTTGTAGCGAGTACCACAACGCTTCGCCCGCAGGCCAG
+ATAAAAAAGATAACGGTGATGATGAGCTGCGGCGCGACCAGCAAATAAGGCAGCCAGCGCGAGCGGAACA
+CCGGACGGGATGATGACATTACAGTTAATTCCTGAACTGTGCCGGATGCGCTTCGCTTATCCGGCCTACA
+CGCGATGCCAGGTCAGATAAGCGAAACGCATCCGACATTACACTGATTAAGACTTCGTCGATTTCTCAAA
+GCGGCGCAGTAACTGGTTCCCACGCTCAACGGCAGTATCCAGCGCCTGCTGTGGTGTCTTCTTACCGGTC
+CACACGCTCTCCAGCTCTTCATCCACAATCACGCGGATCTGCGGCATGTTGCCCAGACGCAAACCTTTGG
+TGAACGGCAACGGTGGCTTGTTCAGCATCTGACGCGTGGCAATATCCGCTCCTGGGTTTTTCTCGTAAAA
+GCCCTGCTCACGGGTCAGGTCATACGCCGCTTTAGTGATTGGCAGATAGCCGGTTTTCTGATGCCACTCG
+GCAGCGTTTTCTGGCTTTGCGAGGAAGTCGAGGAACTTCGCCACGCCGGTGTAGGTTTCTTTATCTTTAC
+CCTGCATTACCCATAGACTGGCTCCGCCGATAATGGCGTTTTGCGGCGCGTCTTTCGCATCGGCGTCGTA
+AGGCATCATGCCTACGCCATAGTTAAATTTGGCGTACTCGCGAATGTTGGCAAGAGAACCGGAAGAGGCG
+GTAGTCATCGCGCAATCACCGTTATAGAACTTCTCGGTGGATTCATCCTTACGCCCAACGTAGCTGAAAT
+CGCCCTTCTTGTTCATCTCTTCGAGCATGGCGATGTGTTTCACCTGCTCCGGCTTGTTGAACTCAAGCAC
+CGCGTCTGTGCCGTCAAAGCCGTTGTTTTTGCTGGCAAACGGCAGACCGTTCCAGGCGCTAAAGTTTTCC
+AGTTGGATCCAGCCCTGCCAGCCGCTGGCGTAGCCGCACTTCATGCCGGAGGCTTTTAGTTTTGCGGCAT
+AGTCCGCCAGATCCTGCCAGGTTTTCGGCGGCTGTTCCGGGTCTAATCCTGCTTTCTTGAAGGCGTCTTT
+GTTGTAATAGAGAACGGGAGTCGAGCTGTTGAACGGCTGGGAGAGTAAGTGGCCGGTTTTGCTGTCGGAG
+TAATAGCCTGAAACCGTCGGCACAAACTGCGACTCATCGAATTGAATCCCTGCCTCTTTAAATACGTCAT
+ACACCGGTTTAATGGCTTTCGACGCCATCATGGTGGCGGTGCCAACTTCATAAACCTGCAAAATAGCCGG
+AGCGTTGCCGGTACGAAATGCGGCAATCCCCGCGCTTAAATTCTGTTCGTAGTTGCCTTTATAGGTCGGT
+ACAATTTTGTAATCCGGGTTTTCGGCGTTAAAACGTTGGGCCAGAGAATCCACCTCTTTACCCAGTTCCC
+CTTCCATAGAATGCCAGAACGGAATGGTCGTCACTGCCTGCGCATTTGCCATTAAAGCCAGTCCGAGCGC
+CAGTGCTGAAGCTGTATAACGTAACGGTTTCATTGATTATCTCTCTTGTTGTACCGAATGCGCGAATTCA
+CGCGTTTTATGCTCGCGGAGTAACATGACATGCTCGAATTACAGAAAAATAACTATTTTGTTACATTTTT
+AAGATAGTAAGGTGTCAGAAAGATGACAAGGCGGTGACGGCGCGGGCGAGGGAAAATGGGAGATGGGGCA
+CGGATAAGCGGAAAAATAGAAGGTCTGAATCAAACTCTACAGATTACTCATCGTTTCATGCCGGATGCGG
+CGTAAACGCCTTATCCGGCCTACAAGATCGTGCAAATTCAATATATTGCAACTCACCCAGTAGGCCTGAT
+AAGCGCAGCGCATCAGGCAATTTTACATTTGTCACCTGTCTCAAAGGAGTCTTTTGACTCCTTATCAATC
+AACGTGTTATTACCCGCCTAAATACGCACTTCTCACCGCTTCATTCGCCAGCAGCGCGTCGCCGGTATCG
+GAGAGCACTACATGACCGTTTTCCAGCACGTAGCCGCGATCCGCCAGCTTTAGCGCCTGGTTGGCGTTCT
+GCTCGACAAGGAAGATGGTCATCCCCTGCTCGCGCAGTTGTTCGATGGTGTCGAAAATTTGCTGGATGAT
+AATCGGTGCCAGCCCGAGCGATGGCTCATCAAGCAACAACAAACGCGGGTTGCTCATCAGCGCGCGACCA
+ATCGCCAGCATCTGCTGTTCACCGCCAGACATAGTGCCCGCTCGCTGAACACGGCGCTCATGCAGACGTG
+GAAACAGTTCATAGACCCACTTTATGCGCTCCTGGAACTGGTCGCGTTCGGCAAAAAAGCCGCCCATCGC
+CAGGTTCTCTTCCACCGTCATCCGCGAGAAGACACGACGCCCTTCCGGGACAATCGCTACCGCTTCGCGC
+ATGATTTTCGCCGTCTGCCAGTCGGTAATGTCTTTATCATCAAACACAATTCGCCCGCTGGTGGCGCGCG
+GATCGCCGCATAACGTGCCGAGCAAGGTGGTTTTCCCCGCCCCGTTCGCGCCAATGAGGGTGACAATCTC
+GCCCTGATTGATATGCAGGCTCACCTCATGCAGCGCCTGGATTTTGCCGTAGTGGGCGCTGACTTTGTCA
+AAGGACAACATGACTTTTTCCATCTTATGCCTCACCTAAATAGGCACGGATCACATCCGGGTTATTACGG
+ATCTGCTCCGGTGTACCGTTTGCCAGCGGCGTCCCCTGATTGACCACGTAAATTCTGTCTGAAATCCCCA
+TCACCAGCTTCATATCATGTTCAATCAACAAGATAGTGGTGTTGTGATGGTTACGCAGTTCGGCAATCAG
+CTCATCCAGCTCTTTCGTCTCTTTCGGGTTAAGACCTGCTGCCGGTTCGTCGAGCATTAAAATCTCCGGC
+TGCGTCACCATACAGCGGGCAATCTCCAGACGACGCTGGTCACCATAGGCCAGGTTACTCGCCTGACGGT
+TGGCATGTTCCAACAAACCAATGCGCTCAAGCCAGGTAGCGGCGCGGTCGAGCGCTTCGCTCTGGGCGCG
+ACGGAAAGAGGGGGTTTTCAACAGGCCGGAGAACAGCCCAGTTTTCAGTTGCTGATGCTGTGCCACCAGC
+AGGTTTTCAATCACCGTCATTTCACGGAACAGACGTACATGCTGGAAGGTGCGCACCACGCCCATGCGGG
+CAATTTGCTGCCCCGGTAAACCTTCCAGGTGCTGATCGCGCAGTAAAATGGTGCCGCCGGTGGGTTTATA
+GAATCCGGTCAGGCAGTTGAAGACCGTGGTTTTTCCGGCACCGTTAGGGCCGATTAACGAGACGATTTCC
+TGCGGGTACAGTTCAAGATTGACGTTGTTCACCGCCAGCAGGCCGCCGAAGCGCATCATCAGACCGTTAA
+CAGATAATAATGTCTGACTCATGCCTGCTCTCCTTTCGCTGCGCCGTTCTTCAGCTTGAGTTGCGGGCGC
+GTCATGGGCAGCAAGCCCTGCGGACGCCAGATCATCATCAGCACCATCAAACCACCAAGCATTAACATGC
+TGTATTCGTTGAAATCACGCATCAACTCGCGCGATACCACCAGCAAAACAGCCGCCAGAATCACTGCAAA
+TTGCGAGCCCATACCGCCGAGCACCACTATCGCCAGCACAAACGCCGATTCGGCAAAAGTGAAGGATTCC
+GGGCTGACAAAGCCCTGACGCGCAGCAAACAGCGTTCCGGCAAAACCAGCAAACGCGGCGCTGATGGTAA
+AGGCAGTCAGCTTGATACGACGCGGGCTTAAGCCCAGCGAACGGCAGGCGATCTCGTCTTCACGCAACGC
+TTCCCACGCACGGCCCAGCGGCATCCGCAGCAGGCGGTTAATGACAAACAGGCTTAACACCACCAGCAGC
+AACGCCACCAGGTAGAGGAAGATGACGCGATCGGAGGGATCGTATTTCAGGCCAAAGAAATTACTGAACG
+TGTCCCAGCCGCCTTCGCGGGCGGTACGGCTGAACTCGAGTCCGAAGAGCGTCGGTTTCGGAATCTGACT
+GATACCGTTCGGTCCGCCGGTAATTTCGGTGTTATTGAGCAGCAATATGCGCACAATTTCGCCGAACCCG
+AGGGTAACGATCGCCAGATAGTCACCGCGCAGACGCAGCACCGGAAAACCGAGCAGGAAGCCCGCCGCCG
+CCGCCATCAACCCGGCAATCGGCAGACAGGTCCAGAAGCCCAGACCGTAATAGTGATTGAGCAGCGCAAA
+AGTGTAAGCGCCGATGGCGTAAAAGCCGCCGTATCCCAGCACCAGCAGACCAGAAAGACCAACAACCACG
+TTCAGCCCGAGACCGAGAATAATGTAGATCATGGTCAGAGTGGCGATATCCACCGTCCCACGCGACACCA
+TAAACGGCCACGCCACTGCAAGCACCAGCAGCGCCACGAGGAACAGTTTCTGCTTCACCGTGGAGCCATC
+AATCGCGGGCAGAATAAACTTCGGCCCGGAAACGCTTTTTAGCCCTTTCTGGAAAGCAGGCCGCACAAGC
+TGGAAGAAAAAGACCACCGCCGTGCCGATAAACACCCACTGCCAACGGATCTCTGAAGCCGTGTCGACCA
+CCAGTTTGGTGCCATCCAGCTCCAGTTGCACGCCCATAAAGACGCCCGCCAGCACAAAGAACATAGCGGC
+AGAGAGCAGCGCCATTGCAATATGCATCGGTTTCATACTTTCTCTACCTCCGGGCGACCCAGAATACCGG
+TCGGCATCACCAGCAGCACCAGGATCAGCAGGGCGAATGAGACCACATCTTTATATTCCGTACTCAGATA
+GGCAGAAGAGAGCGCCTCCGCAATCCCCAGGATCAGCCCGCCAATCATCGCCCCCGGAATGCTGCCAATC
+CCACCGAGCACCGCAGCGGTAAAGGCTTTCATCCCGGCCATAAAGCCGATGTAAGGGTTAATTACGCCGT
+AGAACTGACCGAGCAGCACGCCCGCCACTGCCGCCATCGCCGCGCCAATCACAAAGGTCAGCGCAATCAC
+CCGGTCGGTGTTGATGCCAAGCAGGCTCGCCATTTTCAGATCTTCCGCGCAGGCACGGCAGGCGCGCCCC
+ATACGGGAATAGCGAATGAAAATCGTCAGTGCCAGCATGGCGAGGAAGGTGACAATCCAGATAACCGCCT
+GCATGGTAGTAATAGAGGCAGAGAAGTTTTCGCTATGACCCACTACCCACTGACCGTTAAACAGGCTGGG
+CAGCGCCACGTCGCGCGAACCTTCGGTCAGGCTAACGTAGTTTTGCAGGAAGATAGACATACCGATTGCC
+GAGATGAGTGCAATCAGGCGCTTAGAGTTGCGCACCGGGCGATAGGCTACCCGTTCGATACTCCAGCCGT
+AGGCGCTGGCAATGACGATTGCGCCGACGAATCCCGCCACCACCAGCAGCCAGCCGGTATCAATGCCCAG
+CATCATCAGTGCGGCGATGATCATAAAGGAGACGTAGCTGCCAATCATGTAAACCTCGCCGTGGGCGAAG
+TTGATCATGCCGATAATGCCGTAAACCATGGTGTAGCCGATGGCTATCAGCGCGTAGGTACTGCCCAGCG
+TGACGCCGTTAAACATCTGCTGCAAGAAATACAAAAACTGCTCAGACATAAGGTAACCTTTCTAAACCCG
+CCCGTTTTTCACGAACGGTGGGATGATCACTTGGCTGCCGTGGATGAACCGTCGGCATGCCACTGGAAGA
+CACCAAAATCGAATCCCTTAAGATCGCCTTTTTCATCCCAGTTCAGCGGCCCAATTACGGTGTTTGCACC
+GTTAGCTTTTAAATCTTTCACCAGCGCCAGCGGCTCATCGCTGCCGGTACGTTCAAGGGCAGTTGCCAGA
+GATTGCACCGCCGCGTAGGTGATCCAGACATAGGGCCCGGACGGATCTTTCTTGTCGGCTTTCAGCGCAT
+CAACGATGCCCTGGTTTGTCGGATCCTGGTCATAGCGTTTTGGCATGGTGACCAACATGCCTTCAGCGGC
+ATCACCGGCAATGTTCGACAGCGACGCATTACCGACACCTTCCGGCCCCATAAACTGGGTTTTCAAGCCA
+ACGGAACGGGCCTGGCGCAGCATCTGCCCCATTTCCGGGTAGTAACCGCCGTAGTAAACGAAGTCGATGT
+TTTCTTTTTTCAGGCGGGCGATCAGCGCGGAGAAATCTTTCTCTCCAGCGGTAATGCCGTCGAAGAAGAC
+GACGTTGGCGTTAGCCGCTTTCAGCCCGTCCTGCACCGAACGTGCCAGCCCTTCGCCATACTGTTGTTTG
+TCGTGAATGATGGCGATGCGCTGGGGCTTCACCGTCTCAAGAATGTATTTTGCCGCCGTTGGCCCCTGGG
+AAGAGTCCAGCCCGGCAGTACGCATGATGTATTGATAACCGCGTTGGGTCAGCTCCGGATTGGTCGCTCC
+CGGCGAGATCATCAGAATACCTTCGTCTTCATAGATATCTGATGCAGGTTGGGTAGAGGAGGAACACAGA
+TGACCAATAACATATTTAATGCCGTCGTTAACGATTTTGTTGGCGACCGCAACGGCTTGTTTCGGGTCGC
+AGGCGTCGTCATATTCCACGCCAACCAGTTTATCGCCCTTAATTCCCCCTTTGGCATTAATGTCTTTAAT
+TGCCTGACGCGCGCCGTTAAATTCCATATCGCCCCACTGGGCAATCGGGCCGGACATCGCGCCGACAACG
+GCGACTTTAATATCGTCAGCCATAGCGGTGTGTGAAATTGTCAGTGCAATCATCCCTGCGATGATAGTTT
+TCGCATTCCGTTTCATAGTCAAAAATCCCCATTCGTGATGTTGTGTTGCTTTGTTTTTATGTGTTAACAA
+ATCAGACTGTTCTTTTTTTATACTGCACTGTTTTTACCTGTCTGATTAAGGGTTTAGCGCAGTATTTTGT
+GATGATAGCGATTAAAATCCCTATTTTTCAGTCGATTAAGAACAGATAATATTCTGAATTTATTGATAGA
+TAAACAGAAAAAAGCGCCGTTGTCAGCATAAAATAACGGTACAAAGGGCAGAATAATTCACTACCATTTA
+GGGGATTATGCTGGATATTTTTCATTCTCTAATGTTTTAACTTTGTAATTATTGCTGAAAAAAAATTAAT
+CACCTGCCAAAAGAAATAAAAAAGAGAAAGCCTCCGATTAAATTATTTCGCTACACTGGTTCCACTTTTG
+TGATTTACACGGGTTCCCCATGAAGCTGACCATCATTCGATTAGAAAACTTTAGCGACCAGGACCGGATT
+GACCTGCAAAAGATCTGGCCGGAGTATTCCCCTTCCTCTTTACAGGTTGACGATAACCACCGTATCTACG
+CCGCGCGTTTTAACGAGCGCCTGCTCGCTGCCGTGCGGGTAACCTTAAGCGGCACCGAGGGGGCACTGGA
+TTCTCTACGCGTGCGGGAAGTCACCCGACGTCGCGGTGTGGGGCAATATCTACTGGAAGAGGTTTTGCGT
+AACAATCCTGACGTTTCATGTTGGTGGATGGCGGATGCTGGCGTGGAAGATCGCGGCGTGATGACAGCGT
+TTATGCGAGCACTGGGATTTACGGCACAACAGGGTGGCTGGGAGAAGCATTAATCGTCAAGTTTGATTTC
+AAAAGTGATATTGCCTGATGCGCTACGCTTATCAGGCCTACAATGTGTGCTGCAATTTACTGATTTCTTT
+GAATCTTGTAGGCCGGATAAGGCGTTTACGCCGCATCCGGCATGAAGCAACGTACTCGATATTAGCAATT
+TGGCGGCAACCCAAAGTTGCCGATTAATGATTACTTCGCATCAGTCGCCGTGCCGTTGGCGTGCCAGTCA
+AACACACCGAACTCAAAGCCTTTCAGATCGCCTTTCTCATCCCAGGTCAGCGGCCCCATCACCGTATCAA
+CCGAGTTCGCTTTCAGGTATTTAGCGATCTCCGCCGGATCGTCAGACTGATTCAGGCCCGCTTGCAAAGA
+TTGCAGCGCGGCGTAGGTGGTCCAGACGAACGCGCCGCTTGGGTCCTGTTTTTTCGCTTTGATCGCGTCA
+ACAATCGGTTTGTTCGCCGGAACCTGATCGTAGTTCTTCGGCTTGGTCACCAGCAGCCCTTCTGCTGATT
+CACCCGCAATGTTAGACAGCGAGACGTTAGCCACGCCTTCCGGCCCCATAAACTGGGTTTTCAGCCCTGC
+CGCACGTGCCTGACGCAGGATCTGCCCCATTTCCGGGTGGTAACCGCCGTAGTAAACGAAGTCGATATTC
+TCTTTCTTCAGACGCGCCACCAGCGTTGAGAAATCTTTTTCCCCGGCGGTAATACCATCAAAGAACACCA
+CATTAGCATTGCCTTTCTTCAGGCCGTCCTGCACCGCACGCGCCAGACCCTCGCCGTATTGCTGTTTGTC
+GTGGACGATAGCAATACGCTGCGGTTTCACTTTCTCAAGAATATATTTCGCCGCCGTCGGCCCCTGGTCG
+GAGTCCAGGCCGGTGGTGCGCAGGATCAGCTGATAGCCACGGGCGGTCAGCTCCGGCGCAGTTGCCGCTG
+GGGTGATCATTAAAATGCCTTCGTCTTCGTAGATGTCAGACGCTGGCTGCGTTGATGAAGAGCAGAGGTG
+ACCAATCACGTATTTAATGCCGTCGTTAACGACTTTGTTCGCCACCGCAACCGCCTGTTTCGGGTCACAG
+GCATCGTCATATTTTACGATTTGCAGTTTGTTGCCTTTGATACCACCTTTAGCATTGATATCCGCAACCG
+CCTGCTCTGCGCCAGTAAACTCCTGGTCACCGTACTGCGCCACCGGACCGGACATTGCGCCTACGACGGC
+GACTTTAATATCTTCTGCCAGAGCCATATTGCTGAATGCCAGCGCGATACATCCTGCCAGTAACGCTTTA
+CCCTTTATGTTCATCCTGAGAATCCCCACTCTTCTGGTTATTACGTGTGTTGTGATGTTGTTGTGCAGCA
+CTTTATTTCGTTTTATACGTAGCTACCCGTGCTTTAGCAGCATACTCTGCTAAAACATACCCCATTTTTA
+TGATATTGGAATAGCTATTTTGACAGTTTATTAACAATCTGCGTGGGGATTGGCGTTTTGCCGGAGGGGG
+AATTGATTATTGTAGAGGCCCAAAAAACAAAAACCCCGGACTCTCATCCAGGGTTCTCTGCTTAATAGCG
+GAAATTACGCTTCAATGGCAGCGCGCAATTTTTTCATCGCGTTCTTTTCCAGCTGACGCACACGCTCAGC
+GGAAACACCGTAACGGTCAGCCAGTTCCTGCAACGTGGACTTGTTGTCTTCATCCAGCCAGCGCGCGCGG
+ATGATATCCTGACTACGCTCGTCCAGACCTTGCATCGCATCGGTCAGGCGGTTTGCCGCCTGCTCTTCCC
+AGTTATCATCTTCAATACCGTCGGCAAAGTTAGATGATTTATCCTGCAGATAGAGCACCGGAGCCATCGG
+CTGGCTGTCGGAATCGTCGTCGGAAGACAGGTCAAAGGTCATGTCCTGTGCCGCCATACGTGATTCCATC
+TCACGTACGTCTTTGCTGGTTACGCCCAGTTCACGGGCCACCATCTCGACTTCATCCTGGTTAAACCAGC
+CCAGACGCTGCTTGGTTTTACGCAGGTTGAAGAACAGTTTGCGTTGCGCTTTGGTGGTCGCAACTTTGAC
+GATACGCCAGTTACGCAGAACGTATTCGTGGATCTCTGCTTTGATCCAGTGAACGGCGAAGGAGACCAGG
+CGCACACCCACTTCCGGGTTAAAACGGCGCACTGCTTTCATCAGGCCAATGTTACCTTCCTGAATCAAAT
+CCGCCTGTGGCAGGCCATAGCCCGCATAATTACGAGCAATATGAACAACAAACCGCAGGTGAGACAGGAT
+CAGCGTTTTAGCTGCTTCCAGATCGCCATGGTAATGCAGCTTTTCAGCCAGCGCCCGCTCCTCGTCAGCC
+GACAACATCGGCCACGCGTTAGCTGCCCGGATGTAGGAATCCAGGTTGCCAACTGGGGCTAAAGCTAAAC
+TTTGCATTTTGTCAGTCATTCAAATCCTCTCAATCGATATCTTCTGGCGCTTCAGTGGTAGCAACAACTG
+TGCCAGAGCTTAAGAGCAACGAGGTTATCATTCACTGTTTTATCAGACCGTGATTTTATCCACAAGTTCA
+ATGCAAGCTTGTGAATAAATTACGCACAAAATGTGACATAGAGATAAAATACCGGGAAGAGACAACGGGG
+TCTCTTTCCCTGCTACGGAACCCATTGCAGGGAAAGAGTATAACACGCTTTTATTATTCAGGCGTAAAGT
+GGCGTAAATGTTGTACCGTGGCAAGCCACGCTGCCACCCAGCCAATCATCGAGCATACCAGCAGCAATAG
+CAGGCATTCATCGAACGATAAGCCATTGATATCAAACTTCGTTCCGAAAACCTGTGCCACTTCCGCAACC
+GCCGATGACAAACGCAGCACCAGAATTTCTGACAAAATTAGTGACAACAATGCGCCAGAAAATCCCAGCA
+ATGCGCCACCGTACAGGAACGGACGCAGGATGAAACCATCCGTCGCACCAATCAGTTTCTGCACGTTAAT
+AGAATCACGGCGAGCAAAGATACTCAGGCGCACACTATTACCGATGACGAGGAACACTGCCGCCACCATC
+AATACGCCGATCATTGCCGAAACGCGCCCGACCAGCCCGGTCAACGCCGCCAGGCGGGCAAACCAGCTGT
+CATCCATCCGCACTTCGTCAATGCCGTTAATCTGCGTGATACGATCACGCAGCGTATTCAGTGACTCCGT
+CCCCTGAAAATCGAGTTTCGGGATCACCACCGCCACTGCCGGAAGCGGGTTTTCTTCCAGCATATCCAGC
+GCACCACCAAAACCAGACCAGTTACGGAACTCGCCCAGTGCGTCTTCACGAGAAAGATAATTCACTTTCT
+CCACGCCTTGCTCGGCCTGCAACTGTGCCACCACGCCCGCAGCGGCGTCATCATCCAGCGTTTTTTGCAG
+ATAAACAGTGATTTGCGGTGACGGATAATATTGCGTCGCCGCCTGGTTAACGTTTTTGTACACCATATAA
+CAGACGCTGGGCAGCGTCAGGGAGATGGCGATAACCATCACCGTTAAAAACGTGGCGAACGGTTTGCTTT
+TCAGATCCTGCAATGCGCCGTGGAAGGCATAGCGTACCTGTTCGTTGAAAACGTTGGTTTTGCGATTTAC
+CGGTTTTGGCGAGGATTTCGCGCGTTTCGGCGCGTTACGACCGCCGTCGCCAGAGCCGCCGACCGATTTA
+CGGAAGCGATCCAGACGCCCGCCAAACTGCCGAATGTGATTGATTGCATCGCGCTTATTCATGGCCCACG
+CCTCCATGCAAGTGACCATCGCTCAGGGTGAGCATGCGATAGGAACGTCGCGAAATCAGGTTGATGTCGT
+GCGTTGCCATCAATACGGTTACTCCAACGCGGTTAAACTCTTCAAACAGACGTAAAATGCCTTCCGACAG
+CGCGTCGTCCAGGTTACCAGTCGGTTCGTCCGCCAGCAGTACCGCGGGCTTGTTCACCACCGCGCGGGCA
+ATGCCAACACGCTGTTGTTCACCGCCGGAAAGCTGAATAGGGAAGTTCTTCGCTTTGTCCAGTAGCCCGA
+CTTTATCCAGCGCCGCCGACACCCGGCGACGAATGTCATCACCGCTGGCACCGGCGATAATCAGCGGGAT
+CGCCACGTTATCATAGACAGTACGGTCCATCAGTAGATGGTGATCCTGGAAAATCATGCCAATCTGGCGG
+CGCAGAAACGGAACTTCACGGTTTTTCAGACGCGTGATGTCATGGCCGCTAAACCAGATTTTCCCGGCGC
+TGGGCCGCTCAATCCCACAGATCAGCTTCAGGAGGGTACTTTTCCCTGCGCCGGAATGACCGGTCAGAAA
+CGCCATCTCACCCGGCTGCATATGGAACGTAACGCCCTGCAGCGCCTGTCTCCCACCGAGATAAGCCTTG
+CTGACATGTTCAAAGCGAATCATTGTTAATCCTCTCGGGCAAAAAGTGCCTCTATAAAGTCGTCCGCCTT
+AAACGGACGCAAATCCTCAATACGTTCGCCGACACCAATGTAGCGGATAGGGATACCAAACTGGTCAGCC
+ACCGAGAAAATTACCCCGCCTTTCGCCGTGCCGTCCAGTTTCGTTAGCGTGATGCCGGTTAAGCCAACGG
+CTTCGTGGAACAGTTTGGCCTGGCTTACCGCATTCTGCCCGGTGCTGGCATCAATAGTCAGCATAACTTC
+ATGCGGAGCTTCAACGTCGAGTTTCTTCATCACGCGGACGATTTTCTTCAACTCTTCCATCAGGTGCGAT
+TTGTTCTGCAGGCGTCCGGCGGTATCGGCAATCAGGACGTCGATGTTACGCGCTTTAGCGGCCTGAATGG
+CGTCGAAGATAACAGAAGCGGAATCCGCACCGGTATGCTGGGCAATCACCGGAATATTGTTGCGCTGACC
+CCAGACCTGAAGCTGTTCAACCGCTGCCGCACGGAAAGTATCGCCTGCCGCCAGCATCACCGATTTACCC
+TGCTGCTCAAACTGACGCGCCAGCTTACCAATCGTCGTGGTTTTACCCACACCGTTGACGCCCACCATCA
+GGATCACGAACGGCGTTTTACCTTCAACATTCAGCGGCTCATCGACTTTCGCCAGAATCTCGCCCATCTC
+TTCTTTCAGCAGGCCATAGAGCGCCTCGGCATCACGAAGCTGCTTGCGGGATGCGCCTTCCGTCAGATTG
+GTGATAATTTTACGAGTGGTTTCCACGCCCACATCGGCGATCAACAGCTGTTCTTCCAGCTCTTCAAACA
+GATCATCGTCGATTTTTTTACCGCGGAACAGGCTGATAAATCCGGAACCGAGATTTTCTTTGGTTTTTAA
+CAGGCTGCGTTTCAGGCGCGCGAAGAAACCTTCTTTGGTCGGTTTTTCCTGCTCCTGAGCGATTTCTTCC
+ACCGGCTGCTCTTCTTCTGCCGGAGAAACCACCATTACCGCCTCTTCTGCCGCTTCGGCAGCCAGCGCCT
+GTGCCTCCGGCTCTTCGTCGGTGATTTCGTCTTTAGCCGCTTCTTCTTCCGCCGCTTCGACAATCTCTAC
+GGTTTCCGCTTCGGCCTGCCACTCTTCTGGCGAAACCGCTTCGGCGTTGACGTCTTCCGGCAACGGCAGT
+TCTTCACGTTCGATAGCCACTGGCTCCGGCGTTTCTTCTACGACCGGTTCCGGCTGTGCAACGACTTCCG
+CTTCAGGCTGCGCTTTTTCACTTTCAGCAACCTGTTCAGTAACTTCCACAACGTCGGCAGCAAAAGTTTC
+CGCCTCGGCTTCAGTATGCGCCTGCGGCTGCTCTTCAACGGCGTGTTCAGAAGCCTTCACAGGCTCTTGC
+GCCTGAACGATTTCTTCTACAACTGGTTGTTCATTCTGAACTTCTGTCTCTTTTTCCGGGGTCTGCTCTT
+TTTGACCAAAGCCCAGCCAGGAAAAAAAGCCACGTTTTTTTTCTTTCGCCATTTGCGACTACACTCCTCG
+CTGTTGCTTCATGGCACAGCGTTAACGCTATGTACATAGCAGCTAAAAAAATGATGAAATAGTCTATCAC
+TTAACTTAATTCACATCACCGCCTGCAAGTATGTGTTATCTGGCGGATTGAGCAATTTATCATGAAAAAA
+CCGAATCATTCCGGCAGCGGCCAAATCCGCATTATTGGCGGGCAGTGGCGAGGCCGTAAACTCCCGGTTC
+CTGATAGTCCAGGTCTGCGCCCCACCACCGACCGCGTACGCGAAACGTTGTTTAACTGGCTGGCTCCGGT
+CATTGTTGACGCCCAATGTCTGGATTGCTTCGCCGGGAGCGGCGCGCTGGGGCTGGAAGCGTTATCGCGC
+TACGCTGCGGGGGCCACGTTGATTGAGATGGATCGTGCGGTTTCTCAGCAGTTAATTAAGAATCTGGCGA
+CACTAAAAGCAGGCAATGCACGCGTGGTGAACAGCAACGCGATGTCATTCCTGGCGCAAAAAGGCACACC
+GCATAATATCGTGTTTGTCGATCCACCGTTCCGCCGTGGCTTGTTAGAAGAGACGATAAATTTACTGGAA
+GATAACGGCTGGCTGGCTGACGAAGCCCTGATTTATGTCGAAAGCGAAGTCGAAAAGGGTCTGCCCACTG
+TTCCGGCAAACTGGTCATTACATCGGGAAAAAGTGGCGGGTCAGGTGGCTTATCGGCTGTATCAACGCGA
+AGCACAAGGAGAAAGTGATGCTGATTAATATTGGTCGTTTGTTAATGCTCTGTGTTTGGGGATTTTTAAT
+CCTCAACCTGGTGCATCCCTTCCCACGCCCGCTGAATATTTTCGTTAACGTGGCGCTGATTTTTACCGTG
+CTGATGCATGGTATGCAGCTGGCGCTATTGAAATCCACTTTACCGAAAGATGGCCCGCAGATGACCACCG
+CCGAAAAGGTGCGGATTTTCCTTTTCGGCGTGTTTGAACTGCTGGTCTGGCAGAAGAAATTTAAAGTTAA
+AAAATAACCTTATTGTTCGCCTACAAAGCTGACAAAGCGCGTTCCTTTATAGCTCAGCGTACCTTTATCA
+CCCACTGTCAGGGCGTGGTACTGCTGGGCGTCGAGGCGAAACGTCTGCTCCATTCCTCCGCTTTGCGGTT
+TGAAGCTTGCCTCATAGCGCATACTGGTGCCTGCCGGCGTCACTTCCTGCTGGCGCGAACGGCGATCGTT
+AATCGGTTTTTCCCGCTTGTTGCTCACCACCACCAGCTTTTGCTGGAGCGGTGCCATATCATTATCAGCT
+TTTTCCCGTCGTTGTTGCATAAAACGAAACGATGCGGCGACGATGATTAAGCCAATGATAACAATAAAGA
+AAAGAGGTGGTTTACTCATCTTTATCCCTCATCGGAAAATGCGGAAATAAGCATACCCTGCCAGTTATGG
+TGTTGTCATCCGTCCACCCTCGCCACTAAACTGGAAGCAAGACCGTAGGCATTCCGCTTACGAAAAAATA
+ACGAATTCAAGGAACTAAGATGCTTTGGTCGTTTATCGCTGTCTGTCTTTCCGCATGGCTATCTGTGGAT
+GCATCGTATCGTGGGCCAACCTGGCAACGCTGGGTGTTTAAACCGTTAACCCTTCTTCTCCTGCTGTTGC
+TGGCCTGGCAAGCGCCGATGTTCGACGCCATTAGCTATCTGGTGCTGGCGGGGCTGTGTGCCTCACTGCT
+GGGCGATGCGCTAACCCTGTTGCCACGTCAACGTCTGATGTACGCCATCGGCGCGTTTTTCCTCTCGCAC
+CTGCTGTACACCATCTATTTCGCCAGTCAGATGACGCTCTCTTTCTTCTGGCCTCTGCCGTTGGTGCTGC
+TGGTTCTGGGCGCGCTGTTACTGGCGATTATCTGGACGCGTCTGGAAGAGTATCGTTGGCCTATCTGCAC
+GTTTATCGGCATGACGCTGGTGATGGTGTGGCTGGCAGGTGAACTGTGGTTCTTCCGTCCGACCGCTCCG
+GCGCTCTCTGCGTTTGTCGGCGCTTCGTTGCTGTTTATCAGTAACTTTGTCTGGCTGGGTAGTCACTATC
+GCCGACGCTTCCGTGCGGATAACGCCATTGCCGCGGCCTGCTACTTTGCTGGTCACTTCCTCATCGTCCG
+CTCGCTGTATCTCTGATAAAACTTGACTCTGGAGTCGACTCCAGAGTGTATCCTTCGGTTAATGAGAAAA
+AACTTAACCGGAGGATGCCATGTCGACTCCTGACAATCACGGCAAGAAAGCCCCTCAATTTGCTGCGTTC
+AAACCGCTAACTACGGTACAGAACACCAACGACTGTTGCTGCGACGGCGCATGTTCCAGCACGCCAACTC
+TCTCTGAAAACGTCTCCGGCACCCGCTATAGCTGGAAAGTCAGCGGTATGGACTGCGCCGCCTGTGCGCG
+CAAAGTGGAAAATGCCGTGCGCCAGCTTGCAGGCGTGAATCAGGTACAGGTGTTGTTCGCCACCGAAAAA
+CTGGTGGTGGATGCCGACAATGACATCCGGGCACAAGTTGAATCTGCGGTGCAAAAAGCGGGCTATTCCC
+TGCGCGATGAACAGGCCTCCGACGAACCACAAGAATCACGCCTGAAAGAGAATCTGCCGCTGATTACGCT
+TATCGTGATGATGGCAATCAGTTGGGGGCTGGAGCAGTTCAATCATCCGTTTGGTCAACTGGCGTTTATC
+GCGACCACGCTGGTTGGGCTGTACCCAATTGCTCGTCAGGCATTACGGCTGATCAAATCTGGCAGCTACT
+TCGCCATTGAAACCTTAATGAGCGTAGCCGCTATTGGTGCGCTGTTTATTGGCGCAACGGCTGAAGCTGC
+GATGGTGTTGCTGCTGTTTTTGATTGGTGAACGACTGGAAGGCTGGGCCGCCAGTCGCGCGCGTCAAGGG
+GTCAGCGCGTTAATGGCGCTGAAGCCAGAAACCGCCACGCGTCTGCGTAACGGTGAGCGTGAAGAGGTGG
+CAATAAACAGCCTGCGGCCTGGCGATGTGATTGAAGTTGCGGCAGGTGGGCGTTTGCCTGCCGACGGTAA
+ACTGCTCTCACCGTTTGCCAGTTTTGATGAAAGTGCCCTGACCGGAGAATCCATTCCTGTGGAGCGCGCG
+ACGGGCGATAAAGTTCCTGCAGGCACCACCAGCGTAGACCGTCTGGTAACGCTGGAAGTGCTGTCAGAAC
+CGGGTGCCAGCGCCATTGACCGGATTCTGAAACTGATTGAAGAAGCCGAAGAGCGCCGCGCACCTATTGA
+GCGGTTTATCGACCGTTTCAGCCGTATTTACACGCCAGCGATTATGGCCGTCGCCCTGCTGGTAACGCTG
+GTGCCGCCGCTGCTGTTTGCCGCCAGCTGGCAGGAGTGGATTTATAAAGGGCTGACGCTGCTGCTGATTG
+GTTGCCCGTGTGCTTTAGTTATCTCCACGCCCGCGGCGATTACCTCCGGGCTGGCGGCAGCAGCGCGTCG
+TGGGGCGTTGATTAAAGGCGGCGCGGCGCTGGAGCAGCTGGGTCGTGTTACCCAGGTGGCGTTTGATAAA
+ACCGGTACGCTGACCGTCGGTAAACCGCGCGTTACCGCGATTCATCCGGCAACGGGTATTAGTGAATCTG
+AACTGCTGACACTGGCGGCGGCGGTCGAGCAAGGCGCGACGCATCCACTGGCACAGGCCATTGTGCGCGA
+AGCACAGGTTGCTGAACTCGCCATTCCCACCGCCCAATCACAGCGGGCGCTGGTCGGGTCTGGCATTGAA
+GCGCAGGTTAACGGTGAGCGCGTGTTGATATGCGCTGCCGGAAAACATCCTGCTGATGCATTTGCTGGTT
+TGATTAATGAACTGGAAAGCGCCGGGCAAACGGTAGTGCTGGTAGTTCGTAATGATGACGTGCTGGGTGT
+CATTGCGTTGCAGGATACCCTGCGCGCCGATGCTGCAACTGCTATCAGTGAACTGAACGCGCTGGGTGTC
+AAAGGGGTGATCCTCACCGGCGATAATCCACGCGCAGCAGCGGCAATCGCCGGGGAACTGGGGCTGGAAT
+TTAAAGCGGGCCTCTTGCCGGAAGATAAAGTTAAAGCGGTGACCGAGCTGAATCAACATGCGCCGCTGGC
+GATGGTCGGCGACGGTATTAACGACGCGCCAGCGATGAAAGCCGCCGCCATTGGGATCGCAATGGGCAGT
+GGCACAGATGTCGCACTGGAAACCGCCGACGCGGCGTTGACGCATAACCACCTGCGCGGCCTGGTGCAAA
+TGATTGAACTGGCGCGCGCCACTCACGCGAATATTCGCCAGAACATCACTATTGCGCTGGGGCTGAAAGG
+CGTTTTCCTCGTCACCACGCTGTTAGGGATGACCGGCCTGTGGCTGGCGGTGCTGGCAGATACGGGTGCG
+ACGGTGCTGGTAACGGCGAATGCGTTACGGTTATTGCGCAGGAAATAAAGAGGCTATCAGTCTACGGTCC
+AACAATGCCGGATGCGGCGTGAACACCTTATCCGGCCTACACAGAGCATCGAACTCGTAGGCATGATAAG
+ACGCGACAGCGTCGCATCAGGCATTGTGCACCGTATCGCCAGATGCAGCTTGATGAACTGAACCCCAAAA
+CCTGGACAGTTTCAGTTAACCGGCTTTTTGATACTCAGTCCGGTATTCTACCGGGCTGAGTCCCCCAAGA
+CTGAGTTTTATTCTTTTTTGATTCCAGTAAGTTATGTATTCGTTAACGGCATTTTCCAGCTCTTCTACAT
+TTCTGTAGTCCCGGCGATAGTACATTTCTTCTTTCAGGTGACCAAAGAAGTTCTCCATTACCGCATTATC
+AAGGCAGTTGCCCTTGCGCGACATGCTCTGCACTAACCCTCTGTCCGCCAGGGCGGACTGATAACTTTTT
+ATCCGGTAATGCCATCCTTGATCACTGTGGAGCAGCGGTTTCTCCCCTTCAGCAAGGCTTTCCAGACCCT
+TATTTAACATCCGCTTCACCAGCTCCTCTGTAGGCCTGCAGGCCGTTTCCCACGCCACGATTTCCCCGTT
+AAACAAATCAAGTATCGGGGACAGGTACAGTTTTTGTCCGCCAGCCCTGAATTCGGTGATATCTGTCACC
+CATTTCTCACAGGGAGCTTCCGCTTTGAACTGTCGCTGAAGGATATTTTCTGCAGCGAGTCCCATATTTC
+CCCGGTAAGACCGGTATTTCTTCAGGCGCACAGGAGACTTCAGGCCGAGCTGTTGCATCAGTTTTCTCAC
+CGTTTTGCCACTGAACTTAAGACCTCTTTTCTGAAGCTCACAATGGATCCGCCGGTACCCATAACATCCC
+CGGTGTTCATGGAAGATGGAGGCTATGAGCTGTTTCACATCAGCATACTTGTCCTTAGCCTTCTGCAGTG
+ACAGCTGGTAGTACAGCGTGCTTCTGGCCAGCCCTGCGGCCTTTAACAGGTCAGACTGGCAGTGTCCGTA
+CCTCAGGCTCTGGATGACTTTCGTTTTTTCTCCAGCTCCTGGCGCTTTTTTTCCAGAAGATGCTCCTGCA
+TGGCTTTCAGATATGCATTTTCTGCGCGAAGATAACGCAGCTCATTCTTCATCTCTTCCGGCGTCATGTT
+TGCCTCGTTTTCATGGGTATCATCAGAACGGGTCATGCTTTTCTCCTTCCTGCGCCTGATAAAGGCCTCA
+TTACCAGATTTGCGGTAGCCTTTTATCCAGTTTTTAACCGTGTTGTGGCTGGGAATGTTAAACCGGGCAG
+CTACCCGGGGTAGAGACTCAGAATGCCCGAGAGCATAAAGAACCACGCAAAGTTTATCTTCAGGAGAATA
+GCTACGCTTGTGTCTGCAATCCAGTGCCCGAGGACCGTGAAGAAGAAAAAGATTAATCCAGTGTGAGAGG
+CTGGTGTGAGAAAGTTGAAAGAGTTTTGCCGTAGAAATGATGCCTGCATGACCAGCCAGGTAATGATTTA
+CAGCGGCAAGTTTTATTTCAAATGAATGTTTCATAAACTGCACCTTCAGATGTCAGATTATGTCCAACAT
+TTGGGGTGCAGTTCATTGAACGCCTTATCCGGCCTACAAACCGGTTTCAAGCAGCAACATTGAGAGCGAT
+CGGTCCCCTCGCTCCTCTGGGGAGAGGGTTAGGGTGAGGGCAAAAGGCGGCATCGAAGCCCATCTTCCCC
+CATCAACCGCCTTTACGAATCAAATAACGATAAGGCAGTCCATCCGTCTCTTTAGCAACCAGTTCGTGTT
+CCATAAAGGTACAAAACCCAGGAATATCACGGGTCGTCGCCGGATCGTCAGCAATAATCAGCAACGTTTC
+ACCTGGCTGCATATTGCGCACTGTTTTGCGCACCATCATTACTGGTTCCGGGCAGCGCAGGCCAAGTGCG
+TCGAGTGTGTGGTCAGGGCTGGAAAAGAGATCGGTCATTTTCTTCTCATCACATAAAAAAACGGCGCTAG
+TTTACGCCCTGTGAGTCCGTAAGCAAACCAGGTTAACGATTGCGTGAAAATTAACCATTGCATTGTCAAC
+GTAAAGCAGTATCATGCGGCGGCTCGAAAAAAGGGTCAGCACGTTATTATGTTAAGGTAACAGACGTGTC
+GTACGTATTGGGTTCCCTCACCCCAATGGTTAATCAAAAAGGTACAATATGAACGTTTTCTCGCAAACGC
+AACGCTATAAGGCGTTGTTCTGGTTATCGTTATTTCATCTTCTGGTGATCACCTCCAGTAACTATCTGGT
+TCAGCTTCCGGTCTCCATTTTTGGTTTTCATACCACCTGGGGCGCGTTTAGCTTTCCGTTTATCTTTCTC
+GCTACTGACCTGACCGTGCGTATTTTTGGCGCGCCGCTGGCTCGTCGCATCATCTTTGCGGTAATGATCC
+CCGCATTGCTGATCTCCTACGTCATCTCATCGCTGTTTTATATGGGGTCATGGCAAGGATTCGGCGCGCT
+CGCCCACTTCAACCTGTTTGTCGCCCGTATCGCCACCGCCAGTTTCATGGCCTACGCGCTGGGGCAGATC
+CTCGACGTGCACGTTTTTAACCGCCTGCGTCAGAGTCGTCACTGGTGGCTGGCACCGACAGCGTCCACAC
+TGTTCGGTAACGTCAGCGACACGCTGGCCTTCTTCTTCATTGCCTTCTGGCGTAGCCCGGATGCCTTTAT
+GGCTGAACACTGGATGGAAATCGCTCTGGTCGATTACTGTTTCAAAGTGTTAATCAGTATCGTTTTCTTC
+CTGCCAATGTATGGCGTACTACTCAATATGCTGTTGAAAAGACTGGCAGATAAATCCGAAATCAACGCTT
+TGCAGGCGAGTTAAAGGTTCGTTATCAGAGTTGTGATAAGATGGATGAATGAGCCGTTATGGCCGTTTAT
+CGAAAGGAAGAAGTCAATGCGCAATCTGGTTAAATATGTCGGAATTGGCCTGCTGGTTATGGGGCTTGCG
+GCCTGTGATGATAAAGACACTAATGCTACGGCGCAGGGTTCGGTCGCAGAAAGTAACGCGACCGGGAATC
+CCGTCAACCTGCTTGATGGCAAGTTAAGTTTCTCGCTGCCAGCGGATATGACCGACCAGAGCGGTAAGCT
+GGGAACGCAGGCCAATAACATGCATGTCTGGTCCGACGCCACCGGGCAGAAAGCAGTCATCGTCATCATG
+GGCGATGATCCGAAAGAAGATCTGGCGGTGCTGGCGAAGCGTCTGGAAGATCAGCAACGTAGCCGCGATC
+CGCAGCTGCAAGTGGTAACCAATAAAGCCATTGAGCTGAAAGGTCACAAAATGCAGCAGTTAGACAGCAT
+TATCTCCGCGAAAGGCCAGACGGCGTACTCTTCCGTTATTCTGGGTAACGTGGGTAATCAACTGCTAACC
+ATGCAAATTACGCTGCCAGCTGACAATCAGCAAAAAGCACAGACCACCGCAGAAAACATCATTAATACGC
+TGGTTATTCAGTAAGTTTTAAGATGATGAGGCGGCCTCAGGTATTTCCACCGGAGGCCGTTTTTTTAATC
+GCCACGTCAGTAATAACGCGATTGCGACCAGTCCCGCCGCCGCCAGATAAATCACCGGAACGCCCGCCCA
+ACTCATCACCAGCCCAGCCAGTGGTCCGGTCACGCCAAGCGATAAATCCATAAATACGGTGTAAGTTGCC
+AGCGCCGCCCCCTGATTTTGCTGCGGAACCGCTTTTACCGCCACTACGCCCAATGCAGGGAACACCAGCG
+AAAACCCCGCCCCCGCCAGTAAGACGCCGATTTTCGCCATCCACGGCATAGTTGCCACGCCAACCAGTAG
+CAGGCCGATTATCTCAACGCTAAAGCAAATCATCGCCACGTTTAAGCCGCCGATACGGTTAATGCCGTTA
+GGGAATAACAAACGCGTACCGACAAACGCACAGCTAAACAGCGTCAGCGCGAAAGCCGCACCGTCCCAAC
+CTTTAGCGTCATAAAACAGCGTGATAAAGGTGGCGATAACGCCAAATCCGGCGGAAGCCAGTGCCAGCGC
+CATACCGTACAGCCAGACGCGCCCAAGCACCGCACGAAACGGCAGCGGTTTGCCTTTACTGGCTTTTACC
+GTCGGACGCGGGATCGCCAACAAAATGGCCACCAGTGCCACGCCCATAATGATTAACGCTAACGCCTGCA
+ATCCGCCCCAGTGATAAAACACGACACCTAACGGCGCCCCCATCGCCATCGCCCCGTAAGTGACAATACC
+GTTCCACGAAATTACCCGCCCGATATGTAGCGAACCAACCACGCCAACACCCCACAGGGTCGATCCCGTT
+CCGGCAAAACTTTGCCCAATCCCAAGGATTACGCGCCCAAGGCACAGTAATAACAGGCTGATGACGGGCA
+GACTGGCGGTTAATCCTGCCGTCAGATATCCCAGACCGCTCAAAAAGCAGCCGCATAAACCGAAGACGAC
+AATCTTTTTGGGTCCCAGCAAATCGGCGTAACGTCCGGCATGAGGACGGCTCAGCAAGGTGGCAAAATAT
+TGCAGGCTGATAACCAACCCTGCCCAGAAGGCACTAAATCCCATTACATCATGGACATAGCCCGGTAATA
+CAGCGAGCGGCAACCCGATGGTAAGGTAGCTGGCGAAGTTAAACATGACAATGGAGACAATGCGCAAATT
+CAGGCGCAATCCGTTTAGCGCGGGTTCGGCTACGGGTTCGGGCATGAGGATCACCACATTTTTACAACAG
+TGTTTCATTTTTACCACGTGCTGACGTGAAAATCAGCAGTAAGAATCAGAATATTGCTGGCGTGACTCCC
+GCTACACTTAATACAAAAAGTCACAAGGAAGCCCCAATGGAAACCCCTCAACCCGATAAAACGGGCATGC
+ACATTCTGCTCAAGTTGGCCTCACTGGTAGTGATCCTCGCAGGCATTCACGCAGCGGCAGATATCATTGT
+GCAGCTATTACTGGCGCTGTTTTTTGCCATCGTTCTCAACCCGCTCGTCACCTGGTTTATTCGTCGGGGG
+GTACAACGCCCCGTTGCCATTACGATTGTGGTTGTGGTGATGCTGATCGCACTCACCGCGCTGGTCGGCG
+TACTGGCGGCATCGTTTAACGAATTTATCTCTATGCTGCCGAGGTTTAATAAGGAGCTGACGCGCAAACT
+TTTTAAATTGCAGGAGATGTTGCCTTTTCTTAATTTGCATATGTCGCCGGAGCGAATACTGCAGCGGATG
+GACTCGGAAAAAGTGGTTACCTTCACCACGGCGCTAATGACCGGGCTTTCCGGGGCAATGGCGAGCGTGC
+TTTTGCTAGTGATGACCGTAGTTTTTATGCTGTTTGAAGTGCGCCACGTCCCTTACAAAATGCGTTTCGC
+GTTGAATAATCCACAGATTCACATCGCCGGACTACACCGCGCACTTAAAGGCGTTTCGCATTATCTGGCG
+TTAAAGACGCTACTCAGTTTATGGACAGGCATAATCGTCTGGCTGGGGCTGGAGCTGATGGGGGTGCAGT
+TTGCGCTGATGTGGGCAGTACTGGCGTTTTTGCTCAACTACGTGCCCAATATCGGTGCGGTAATTTCCGC
+CGTACCGCCAATGATTCAGGTGCTGCTGTTTAATGGTATTTACGAATGTATTCTGGTCGGCGCATTATTT
+TTAGTGGTCCATATGGTCATCGGCAATATTTTAGAACCACGGATGATGGGCCATCGCCTGGGGATGTCCA
+CCATGGTGGTATTTCTTTCATTGTTAATTTGGGGATGGCTGCTCGGCCCGGTAGGGATGCTACTTTCGGT
+GCCATTAACCAGCGTGTGTAAAATCTGGATGGAAACCACCAAAGGCGGCAGCAAACTGGCGATTTTACTG
+GGGCCAGGCAGACCGAAAAGTCGGTTACCGGGATGAGGCGACAAGTGTTACGATACGCACTTTCATTTTC
+CATTAAACGTTGGCCCTGATATGTATCGGATAGTTCTGGGGAAAGTTTCGACCTTAAGCGCAGCTCCTCT
+GCCACCGGGTTTACGCGAGCAAGCACCGCAAGGTCCACGACGTGAACGCTGGCTGGCGGGGCGTGCATTG
+CTTTCGCACACGCTTTCCCCGCTACCGGAGATCATCTATGGCGAACAAGGCAAACCTGCATTCGCGCCGG
+AAACGCCGCTATGGTTCAACTTAAGCCATAGCGGTGACGATATCGCCCTGCTGTTGAGCGATGAAGGCGA
+AGTCGGCTGCGATATCGAAGTGATTCGCCCGCGCGCCAACTGGCGCTGGCTGGCGAACGCCGTATTCAGC
+CTTGGGGAACATGCCGAGATGGACGCCGTGCATCCTGATCAGCAACTGGAAATGTTCTGGCGCATCTGGA
+CGCGCAAAGAAGCCATCGTTAAACAGCGTGGCGGCAGCGCCTGGCAAATCGTCAGCGTAGACAGCACCTA
+TAACTCCTCGCTGTCAGTCAGCCATTGTCAGCTAGAAAATTTAAGCCTGGCGATCTGCACCCCTACCCCC
+TTTACGCTCACCGCCGACAGTGTGCAATGGATCGATTCAGTTAACTGATCCGCCCACCCGACTGCCCATC
+TATTGATCCAGAACAGGTAATCAGTATGACGAATACTTAAAATCGTCATACTTATTTCCGCCATCTATTT
+TAATCCATTGGGGTTACCATGTTCTCTACACTCCGCCGCACTCTATTTGCGCTGTTGGCTTGTGCGTCTT
+TTATCGTCCATGCCGCTGCACCAGATGAAATCACCACCGCCTGGCCGGTGAATGTCGGGCCACTAAACCC
+GCACCTTTACACGCCTAACCAAATGTTCGCCCAAAGCATGGTTTATGAACCGCTGGTGAAATATCAGGCA
+GACGGTTCGGTGATCCCGTGGCTGGCAAAAAGCTGGACTCATTCAGAAGATGGTAAAACCTGGACCTTCA
+CCCTGCGTGATGACGTGAAGTTCTCCAACGGCGAACCGTTTGATGCAGAGGCGGCGGCAGAAAACTTCCG
+TGCAGTGCTCGATAACCGTCAACGTCACGCCTGGCTGGAGCTGGCAAACCAGATTGTTGATGTCAAAGCA
+CTCAGCAAAAACGAGCTGCAAATCACCCTGAAAAGCGCCTACTATCCTTTCCTGCAAGAACTGGCCCTGC
+CCCGTCCTTTCCGTTTTATCGCACCCTCGCAGTTTAAAAACCACGAAACCATGAACGGAATTAAAGCGCC
+GATTGGCACCGGGCCGTGGGTTTTACAGGAATCGAAACTGAATCAGTACGATGTCTTCGTCCGTAACGAA
+AACTACTGGGGCGAAAAGCCGGCGATTAAAAAGATCACCTTTAACGTGATCCCGGACCCGACTACCCGCG
+CGGTGGCGTTTGAAACTGGCGATATCGACCTGCTGTACGGAAACGAAGGGTTATTACCGCTCGATACCTT
+CGCCCGCTTTAGCCAGAACCCGGCTTACCACACTCAACTGTCACAGCCGATCGAAACCGTGATGCTGGCG
+CTCAATACCGCCAAAGCCCCCACCAACGAGCTGGCAGTACGTGAAGCTCTTAATTACGCGGTGAACAAAA
+AATCGCTGATTGATAACGCGTTGTATGGTACCCAGCAGGTCGCCGACACCCTGTTTGCCCCTTCTGTGCC
+CTACGCCAACCTCGGCCTGAAACCGCGCCAGTACGATCCGCAGAAAGCGAAAGCGTTGCTGGAAAAAGCC
+GGTTGGACGCTGCCTGCAGGCAAAGACATCCGCGAGAAAAATGGTCAGCCGCTGCGCATTGAACTGTCGT
+TCATCGGCACCGATGCGTTAAGCAAATCGATGGCGGAAATCATTCAGGCTGATATGCGCCAGATTGGCGC
+AGATGTCTCGCTGATTGGCGAAGAAGAGAGCAGTATCTATGCTCGTCAGCGCGACGGTCGTTTTGGCATG
+ATTTTCCACCGCACCTGGGGCGCGCCATACGATCCACACGCCTTCCTGAGTTCAATGCGCGTACCGTCGC
+ACGCTGACTTCCAGGCACAGCAAGGTTTAGCCGACAAGCCGCTGATTGATAAAGAGATCGGCGAAGTGCT
+GGCGACCCATGACGAAACGCAACGTCAGGCGCTGTATCGCGACATTCTGACCCGTCTGCATGACGAGGCG
+GTTTATCTGCCTATCAGTTACATCTCAATGATGGTGGTTTCAAAACCGGAACTGGGTAACATCCCCTACG
+CGCCGATCGCCACCGAAATCCCGTTCGAACAGATTAAACCGGTGAAACCTTAATGTTGCGTTATGTATTA
+CGCCGCTTTCTGCTGCTGATCCCGATGGTGCTCGCCGCCTCGGTGATCATTTTTTTGATGCTGCGCCTCG
+GCACCGGCGACCCGGCGCTTGATTATTTGCGTTTATCTAACCTGCCGCCGACGCCGGAGATGCTGGCCTC
+TACCCGCACTATGCTGGGGCTGGATCAGCCGCTGTATGTCCAGTACGGCACCTGGTTGTGGAAGGCGCTG
+CATCTTGACTTTGGTATCTCATTCGCCAGCCAACGCCCGGTGCTGGACGATATGCTGAATTTCCTGCCCG
+CCACGCTGGAACTTGCAGGTGCGGCGCTGGTATTAATTCTGCTCACCTCCGTACCGCTCGGTATCTGGGC
+GGCGCGCCATCGCGATCGTCTGCCGGATTTCGCCGTCCGTTTCATCGCGTTTCTCGGCGTGTCGATGCCT
+AACTTCTGGCTGGCGTTTTTACTGGTGATGGCGTTTTCGGTGTATCTGCAATGGCTACCCGCAATGGGTT
+ACGGCGGCTGGCAGCACATCATTTTGCCTGCGGTATCCATCGCCTTTATGTCGCTGGCGATTAACGCGCG
+TTTGCTGCGCGCCAGTATGCTGGACGTCGCCGGTCAGCGTCACGTCACCTGGGCACGACTGCGTGGTCTG
+AGCGACAAACAGACCGAACGCCGCCATATTCTGCGCAATGCCTCGCTGCCGATGATCACTGCCGTGGGGA
+TGCACATTGGCGAACTGATTGGCGGGACGATGATTATCGAAAACATCTTTGCCTGGCCGGGCGTCGGGCG
+CTATGCGGTGTCGGCGATTTTTAACCGTGACTATCCGGTGATCCAATGCTTTACGCTGATGATGGTGGTG
+GTTTTTGTGGTCTGTAATTTGATTGTCGATTTGCTCAACGCCGCGCTGGACCCGCGTATTCGTCGTCATG
+AAGGAGCGCACGCGTGAACTTTTTCCTCTCCTCCCGCTGGTCGGTTCGCCTGGCGCTGATCATTATCGCC
+CTGCTGGCGCTGATTGCGCTCACCAGCCAGTGGTGGCTGCCGTATGACCCTCAGGCTATTGATTTGCCGT
+CGCGCCTGCTCTCGCCGGATGCGCAGCACTGGCTGGGCACCGATCATTTAGGGCGCGATATTTTCTCGCG
+GCTGATGGCAGCGACCCGCGTGTCGCTCGGCTCGGTAATGGCCTGCCTGCTGTTGGTGCTGACATTAGGG
+CTGATTATTGGCGGCAGCGCCGGGCTGATTGGCGGGCGCGTTGATCAGGCCACCATGCGCGTCGCTGATA
+TGTTTATGACCTTCCCAACCTCGATTCTGTCGTTCTTTATGGTCGGCGTGCTCGGCACCGGGTTGACCAA
+TGTGATTATAGCCATCGCCCTGTCGCACTGGGCGTGGTATGCACGCATGGTGCGTAGCCTGGTGATTTCA
+CTGCGCCAGCGCGAGTTTGTGCTGGCATCACGGCTTTCTGGCACGGGCCATGTGCGGGTGTTTATTGATC
+ATCTGGCAGGTGCGGTGATCCCCTCGCTGCTGGTGCTGGCGACGCTGGATATCGGTCATATGATGCTACA
+CGTCGCGGGGATGTCCTTCCTCGGTCTCGGCGTGACCGCACCGACCGCCGAATGGGGCGTGATGATTAAC
+GATGCACGTCAGTATATCTGGACCCAGCCGCTGCAAATGTTCTGGCCGGGGCTGGCGCTGTTTATCAGCG
+TGATGGCCTTTAACCTGGTGGGTGACGCACTGCGCGATCATCTGGACCCTCATCTGGTGACGGAGCACGC
+ACACTAATGCCACAACAGATTGAACTCCGTAATATCGCGCTACAGGCCGCGCAGCCGCTGGTGCACGGCG
+TATCGTTAACCCTGCAACGCGGGCGCGTGCTGGCGTTAGTCGGCGGAAGTGGCAGCGGGAAGTCGCTGAC
+CTGCGCCGCGACGCTGGGCATTCTGCCTGCTGGCGTTCGCCAGACGGCGGGGGAAATTTTGGCCGATGGA
+AAACCGGTTTCTCCCTGCGCCCTGCGCGGCATCAAAATTGCCACCATCATGCAGAACCCGCGCAGTGCCT
+TTAATCCGCTGCACACCATGCACACCCACGCGCGTGAAACCTGCCTGGCGCTGGGGAAACCCGCCGATGA
+CGCTACGCTTACCGCTGCCATAGAAGCGGTGGGGCTGGAAAACGCCGCGCGCGTGCTGAAGCTCTACCCG
+TTCGAGATGAGCGGCGGCATGTTGCAGCGCATGATGATTGCGATGGCGGTGCTGTGCGAATCACCGTTTA
+TCATCGCCGATGAACCAACCACCGATCTCGACGTGGTAGCACAGGCGCGCATCCTCGATCTGCTGGAAAG
+CATTATGCAAAAACAAGCACCGGGAATGCTGCTGGTTACCCATGATATGGGCGTGGTAGCGCGTCTGGCA
+GACGATGTGGCGGTAATGTCTCACGGTAAGATTGTTGAACAGGGCGATGTAGAAACGCTGTTTAACGCCC
+CCAAACATGCGGTAACGCGCAGCCTGGTTTCCGCTCATCTCGCCCTCTACGGTATGGAGCTGGCATCATG
+ACTTTACTTAACGTCTCCGACCTTTCCCATCACTACGCGCACGGTGGATTTAGCGGCAAACATCAACACC
+AGGCGGTGCTGAATAACGTTTCCCTGGCCCTGAAAAGCGGTGAAACCGTCGCCCTGCTGGGGCGCAGCGG
+CTGCGGAAAAAGTACCCTCGCGCGGCTGCTGGTAGGGTTAGAGTCGCCCTCACAGGGAAATATTAGCTGG
+CGCGGCGAACCGTTGGCGAAGCTCAATCGCGCGCAACGTAAAGCGTTCCGCCGTGATATTCAAATGGTGT
+TTCAGGACTCCATCAGCGCCGTGAATCCGCGCAAAACCGTGCGCGAGATCCTGCGTGAACCGATGCGCCA
+CCTGCTATCGCTGAAAAAAGCCGAACAACTGGCGCGCGCCAGTGAAATGCTGAAGGCGGTCGATCTCGAC
+GACAGCGTGCTCGACAAACGCCCACCGCAGTTAAGCGGCGGCCAGCTCCAGCGCGTCTGCCTGGCTCGCG
+CGCTGGCGGTCGAACCGAAACTGCTGATTCTGGATGAAGCGGTTTCGAACCTTGATCTCGTGTTACAGGC
+GGGCGTCATTCGCCTGCTGAAAAAGCTGCAACAACAGTTTGGCACCGCCTGCCTGTTCATCACCCACGAC
+TTACGCCTGGTGGAACGCTTCTGTCAGCGGGTGATGGTGATGGACAACGGACAAATCGTCGAAACCCAGG
+TGGTGGGAGATAAATTAACCTTTTCCTCTGACGCCGGACGTGTGCTACAAAACGCGGTATTACCCGCATT
+CCCCGTGCGCCGTCGCACCACAGAAAAGGTTTAACGCAAATGCAACGAGTCACCATCACGCTTGATGACG
+ATTTACTGGAGACGCTGGACAGTCTGAGCCAGCGTCGTGGTTATAACAACCGTTCCGAGGCGATCCGCGA
+TATTCTGCGTAGCGCTCTGGCGCAGGAAGCCACTCAACAACACGGCACACAAGGTTTCGCGGTGCTGTCG
+TATGTGTATGAACACGAAAAACGCGACTTAGCCAGCCGTATTGTCGCCACCCAGCATCATCACCACGATC
+TCTCGGTTGCTACTCTGCATGTGCACATTAATCACGACGACTGTCTGGAAATCGCCGTGTTGAAAGGTGA
+CATGGGCGACGTGCAGCATTTTGCCGATGACGTCATCGCCCAGCGCGGCGTGCGGCACGGGCATTTGCAG
+TGCCTGCCGAAGGAAGATTAACCCCGTAATCACGCCATTGTCCCAATCGTCTTCCTGAATCGCAGCTGTG
+CGATGGTGAAAAACGCGCCGCCAATTGCCATCAGCGTCAGGAACTGCGGCCAGACGATTTCGAATCCGGC
+ACCACGGTAGAGGATGGCCTGCGCGAGGCTAACAAAGTGTGTCGTCGGCATGGTCAGCATAATGTCCTGC
+ACCATCTGCGGCATACTTTCGCGCGGCGTGGAACCACCGGAAAGCATTTGCAGCGGCAGCAACACCAGAA
+TCACCAGCAGCCCCAGTTGCGGCATTGAACGCGCTATCGTCCCCATAAAAATGCCGATTGACGTGGTGGC
+AAACAGACTGAGCGCCACGCCCAGCATAAACAGCGGGATCGAGCCTTCAATCGGTACGCCCAGCACGCCT
+TTCACCATCAGTACCAGCGATAATCCCGACACCACCAGCACCACCAGCCCCATCGACCAGACCTTCGCCA
+TCATGATCTCAAACGGCGTTATCGGCATCACCAGTAAGTGTTCCACCGTGCCGTGTTCACGCTCGCGGAT
+CAGTGCCGATCCGGTTAATACAATCGCCAGCATGGTAATGTTGTTGATGATCGCCATCACCCCACCGAAC
+CACGCGGGATCAAGGTTCGGGTTAAAGCGCATCCGGGTTTCCAGCGATACCAACGGTTCGCTGTTATCAC
+GGTAGCGCGCGACAAAGCTGTTCACTTCACCGTTGATAATATTCTGGATATACCCATTGCCGGTAAATGC
+CTGGCTCATGCGCGTGGCATCGACGTTCACCTGAATATCCGGCTGGCGTCCGGCGAGGACATCACGCTGA
+AAATTAGGCGGAATATTTATCGCGAAGGTATAGCGTCCGGCGTCCAGCCCGGCATCCATCTCATCGGCGG
+TGATCATCTCCGGTGGCAAAAACCACGGGCGATAGAAGCTGTTAACGATCCTGTTCGATAACTGCGATTG
+ATCCATATCGGCAATGGCGATCGGCGCGAGGTTCAACGATCCTGGCGTAACGGTCGCTGACGAATACACC
+GACACCGTAAACGAGAAGACAATCAGCGTCAGCATCGCTTTATCACCGAGCAAACTGCGCAACTCTTTGA
+TACCCAGATTAAAAATATTGCGTAAATGGCGCATCATCCCTCCTGTTTTTTCAGCAGCAGGATGCTTAAG
+CCCATCACCAGCGGGATGGCTATCAGCAACGGGATAAAAAGTTGCCACAAATCAGTCAGATCCAGCGCTT
+TCGAGAACGTCCCGCGGGCGATAGTCAGAAAATGACTGGTCGGGTAAACCTCGCCGATCCAACGTCCTGG
+ACCTTCCAGCGAAGCTACCGGATCGATCATCCCGGAAAACTGCGTCGCCGGGATCAACGTGATAATCGCC
+GTTCCGAAAATGGCGGCAATCTGGCTTTTCATAAAGGTGGAGATCAGCAGCCCCATTCCGGTGGCGATGA
+TGATATACAGCAGCGCCGCCAGGGTGAGCGTCAGGAAACTGCCTTTATGCGGTACGCCAAACACAAACAC
+CGACAGGCCGCAGAGCAGGAAAAAGTTCAGCATCCCCAGCGCGATGTACGGTAGCTGTTTGCCAAGCAAA
+AATTCGCTACGGGTGGTAGGAGTCACGTAAAGGTTGATAATCGACCCCAACTCTTTTTCCCGCACCACGC
+TAAGGGCGCTTAGCATTGACGGGATCATCATCAGCAGAAGCGGGATCACCGCCGGAACAATCGCTGGCAG
+GCTTTTTACGTCCGGGTTATAGCGATAGCGCGTCTCAATGTTCATCAGCACGCTTTGGCTGGAGGGTGTG
+GATTGTCGGCTCGCCACATCCTGTAGCCAGCTCTGGTGCATGGCCTGCACGTAACCTTTTACCGTTTCGG
+CACGACTGGGCATCGCACCGTCGATCCAGACACCGAGTTCCACAGGCGTACCACGCGCGATATCGCGCCC
+GAAATTGGGAGGAATCTCAATCGCCACCGTGATATCGCCCGCACGCATCCGACGATCAAGCTCGTCATAA
+CTGGTGAGCGGCGGCTGTTCGATAAAGTAACGGGAACCGGAGAGATTGAGCGTCCACGCCTGGCTACTGA
+CGGTCTGGTCGCGGTCGAGCACCGCAAAGCGCAGGTTTTCCACATCCATACTGATGCCGTAACCCATTAT
+CAGCATCAGGATCACCGTTCCCATCAGCGCCAGCGTCGAACGGACCGGATCGCGGCGCAATTCCAGTGCT
+TCGCGGCGGCTGTAGCTAAACAGACGACGCAGGCTAAATCCCTGACGCGGCGCGTGGGTGGTGTCGTGTA
+TCACGGGCGGCGCTTCGGCTTCGTTGCTCTGCCCTGCCGCTTCCTGCAAATAGGCGATAAATGCCTCTTC
+CAGACTGGCGGATCCGCGTTTCTCAACCAGTTCCTGCGGTGTACCGTTGGCGAGCACTTTTCCGGCGTGC
+ATCAATGAGATACGGTCGCAACGTTCCGCTTCGTTCATAAAGTGGGTGGAGATGAAGATAGTCACTTTGT
+CCTGGCGCGAGAGATCGACCATCAACTGCCAGAACATATCCCTCGCCACCGGATCGACGCCAGAAGTAGG
+CTCATCGAGGATTAACATCTCCGGGCGATGAATCACCGCCACCGCCAGCGAAAGCCGCTGGCGAATGCCG
+AGCGGCAATGACTCCGGCAGAACATCTTCAACGTCGTTGAGCTTAAAACGCTCGCTCATTTCAGCCACTC
+GCGCGGGAATTTCCGCTTCCGGGATGTGAAACAAACGGGCATGTAACTCCAGGTTTTGCCGCACGGTGAG
+CTCGTTATAGAGCGAAAACGCCTGCGACATATAGCCTACCCGACGGCGAGTATCGATATCTTTTGGATCA
+ACCGGTTGCCCGAACAACCACGCCTCACCTTCGCTGGCGGGCAGCAATCCGGTAAGCATTTTCATGGTGG
+TGGATTTACCGCAGCCGTTCGAACCGAGGAAACCAAAAATCTCCCCGCGTGGAATGCGGAAATTGACGTG
+ATCAACGGCAACGAAGGAACCAAAACGCATGGTCAGATCGCGCGCTTCGATGGCAATCTCTGCGTTTTCA
+GGTTGATACGGTGGGATCACTACCGCCTGATGCGCCTGGCGTTGTGCTTGCGGTAACAGATTTATAAATG
+CTTCTTCCAGCGTGGCGCTTTGCGTTTGCTGCCGCAGCTCTTCGGCGCTGCCGGTTGCCAGCACCTCTCC
+GGCATTCATCGCTACCAGCCAGTCGAAGCGTTCGGCCTCTTCCATGTAGGCGGTGGCGACCAGCACGCTC
+ATATTGCTCTGCCGCTGGCGAATACTGTCGATTAGATCCCAGAACTGGGCACGGGAGAGCGGGTCAACCC
+CCGTTGTTGGTTCATCAAGAATCAACAGTTCCGGGTCGTGGATTAACGCACAGCACAGCCCAAGTTTTTG
+CTTCATCCCGCCGGAGAGTTTCCCTGCCGGACGATCGCGAAACGGTGCTAACCCGGTGCTGGTCAGCAGC
+TCATTAATTCGCACTTCCCGCTCCGCTTTGTCGTGACCGAACAGGCGGGCGAAAAAATCGACGTTTTCAT
+ACACCGACAAGGTGTGGTAGAGATTTTTGCCCAGCCCCTGCGGCATCCAGGCGATGCGCGGGCAGACGTC
+GCGGCGATGCTTCGGGTCGCGCATATCGCCGCCCAGCACCATCACGCTGCCCTGCTCAATGACGCGGGCA
+CCGGAAATCAACGACAACAAGCTCGATTTACCGACACCATCCGGTCCAATCAGCCCGACCATGCAACGGG
+CCGGAATATCGAGTGTGATATTGTTCAGCGCAACGGTTTTTCCATAATGCTGGCTCACGCCCGCCAGTTG
+CGCGACAGGCGGGACGGGAACCAGTTCCAGATGCGTCATTGCGGCAACCTCACCACCAGGTCGTCAGGCC
+ACGGAAGTTCTTCATTCACCCGCACCCACGCTACGCCCGGCAATCCGGTTTTGACATATTCCAGATGCTG
+CTGGAGTAATTCCGGTGGGATACGCGCTTTGACACGGAACATCAATTTCAGCCGCTCATCGCTGGTTTCG
+ACAGTTTTTGGCGTGAACTGGGCGACGCTGGCGACAAAACTGATGGTCGCGGGAATACGCAGATCTGGTG
+CAGCATCAAGAATCAAACGTGCTTCACCGCCCAGTTTCAGCGTGCCCGCCTGTTCGGTTGGCAGAAAGAA
+GGTCATATAGACGTCGCTGAGATCGACCATATTCAGCACCCGACCGCCTGCTGCCAGCACTTCGCCTGGC
+TCGGCAACCCGATACTGCACGCGTCCGTCACGCGGGGCTTTCAGTTCGCTGTCATCGATATCTGCGGCAA
+TGCGCCGTTCAGTGGCTTGTGCCGCTTCGACGCGAGTTTGCGCCTGAATGATATTGGTGCGTGCCGCCTC
+TATAGCGGCTTTAGAAGCAGAAACCTGAGCTTTTGCCGATTCCAGCGCAGCTCGGGCGCTCTCAGCGGCG
+GCGCGGTCGTCATCCAGCTGTTGCGCAGAAATTGCCCCCCGTTGTGCCAGTGAGCGGGAACGCGTATGAC
+GTTTTGCTACGGAGTCCAGTTCTGCCTGGCGTTGATTAACCAGCGACTGTGCGGCACGAGTTTCGCTTTG
+GCGTTGCTCCAGCAAAGCCTGCGCGGCGGCAACGGCACTTTGTGCTTCTTTGATTTGCGCGATGGCTTCC
+AGTCGCTGTTCCTGCAACACGCGAGTATCCATCTTCGCCAGCACTTCACCTTCTCGAACAAACTGGCCTT
+CTTTCACCAGAATGGTGTCGATACGCCCGGCAATTTTGCTGGCGATATCCACTTCCGTCGCTTCAATGCG
+CCCATTGCTGACAGCAAAGCCTTCCGGCACACCCGCCGGGCGCAACAGCAACCACGCCACGACGGCAGCC
+ACCGCCAGTGCCCCGACACCCCACCACGCCAGATGGCGCTTACTCTTATCCATAATCGATCCGCCATAAT
+CCCTGTAAGCAATCGACGCGTGTTACAACTGCCACCGAACGATGTTCAGCGGATTCTTCCATCCGGGATA
+AGAAGGAAATGGCAAATACGACCAGCGCACAGAGCATTGAGCGCCAATGGGGAAAGCTTAGTGAAAACGG
+GTAGTAATGTTGTCATCATCAGCATTCCTGGCCGTAAATGAAACACGCATACTCATAAGTGAAATCAATT
+AAATACTAACAGTTATATTCATGTTGTCTATTTGATTGCCATCAACTTGTGATACATCGCGATGTTCTTC
+CGTTCGCTGGTGTTTTTTCCAAAAATATTCTGTACAGGTTCACAGATTCTGTTGCACAGGTTTCCGTAAC
+AGGGAAACCTGATGACTATCACATAGCGTTATTATCGCCTGATGTGCGAATAAATACCGAATATAAAATA
+ATTTATTCTGAAAAGATGATAGATGATAAAGGTTCGTGGGTTTAATAAAATATTCCCTAAAAGACTCATT
+TAAAACAACAAAATAAGATAAAGATATTAATTCAGAGTTTATCTTAGGATAAATATTTATTTAATAGCAT
+TAACTCACCGCTAAAAGTTGATCCCCATAACGCTAAATCCGATTATAGTGAAGTTACTTTTTTTAATTGA
+TGGCATCTTATAGACATATTTAACTAACTGAAAAGACGAATCATATGTTTTTCGAAGTGTAGCAGAAAAT
+ATATATGGGGTTTAAAATGAATATATATATCGGATGGTTGTTTAAATTAATTCCTTTACTGATGGGTATA
+ATATGCATCGCATTAGGTGAGTTTGTATTAACCGGTTCAGGGCAAAGTGAATATTTCGTTGCAGGGCATG
+TTCTGATTTCTCTTTCTGCGATATGTCTGGCATTGTTCACTACCGCATTTATTATTATATCTCAGTTAAC
+TCACGGCATGAATAAATTCTACAACAGGTTATTTCCCGTTATTGGTTATGCCGGTTCTGCTACAACTATG
+ATTTGGGGATGGTCACTGTTGGCAAGCAATAATGTGATGGCAGATGAATTTGTCGCCGGTCATGTTATTT
+TCGGCGTTGGCATGATTGCCGCTTGTGTATCAACCGTAGCGGCATCTTCCGGACATTTTCTGTTGATCCC
+CAAAAACGCCTCGGGCAGTAAGAGTGACGGTACGCCATTGCAGGCCTATTCTTCAACAATCGGTAATAGC
+TTAATTGCCGTTCCCGTTCTGCTTACTCTCTTTGGTTTCATTTGGTCAGTCATACTGTTACGTAGTGCAG
+ATATCACACCACATTATGTTGCAGGTCACGTACTAATGGGGTTAACGGCAATTTGCGCTTGTCTTATTGG
+CCTTGTCGCCACTATTGTCCATCAAACGCGGAATACGTTCTCAGTGAAAGAACATTGGCTGTGGTGCTAT
+TGGGTTATTTTGCTTGGCTCACTTACCATTATTTTTGGTATCTACGTATTAATCAGTTCAGATGCAAGCG
+CCCGCCTGGCCCCCGGCATTATTCTCATTTGCCTGGGGATGATCTGCTACAGTATTTTCTCCAAAGTGTG
+GTTGTTAGCGCTGGTATGGCGACGCACATGTTCGTTAGCCAACAGAATACCCATGATTCCGGTATTTACC
+TGTCTGTTTTGTCTGTTCCTTGCTGCGTTCCTGGCTGAAATTGCGCAAACCGATATGGCTTACTTTATTC
+CTTCGCGAGTTCTGGTGGGCTTAGGTGCAGTTTGTTTTACACTGTTTTCCATCGTTTCTATATTAGAAGC
+GGGTTCAGCGAAAAAATAATAAAAAAGGCTTCAGATAAGGCGTTGGGCGCCTTATCTGGTTTTATTCAGG
+TTAATCCCTCTGGTATCGAGAGCGCATTTTGCTTCTTATTCTGCCACCAAATCCTGCGCACAAGCCCATG
+CACTCGACCACGCCCACTGGAAGTTATAGCCCCCCAGCCAGCCGGTGACGTCCATCACTTCGCCGATGAA
+GTACAGCCCAGGCACTTTGCGCGCTTCCATCGTCCGTGAAGAGAGTTCGTTGGTGTCCACGCCGCCGAGC
+GTCACTTCGGCAGTGCGATAGCCTTCAGTGCCGTTGGGTTGTACGCGCCAGTCAGTCAATGTGCTAATCA
+GTGTCTGTTGGTCACGCACGTTGAGCTGTTTTAGCGAGACATCCGGGATTTGCCCGAGTTGTTGTAACCG
+TTCAACCAACCGCTTCGGCAGATGAACCGCCAGCGTGTTTTTCAGGCTTTGATTCGGATGTGCATTACGC
+TGCTCATTCAGGAAGGTTTCGAGGTCCACATCCGGTAGCAGATTGATGCTGACAAATTCACCCGGTTGCC
+AGTAGCTGGAAATCTGCAACACCGCCGGTCCAGATAAGCCGCGGTGGGTGAAGAGTAAGTTCTCACGGAA
+AACGGTACCGTTTTCAGCGGTAATCACGGAAGGCACCGCCACGCCCGCCAGCACCTGTAACTCTTCAAGC
+AACGGTTTATGCAGAGTGAATGGCACCAGACCCGCACGGGTCGGCAGCACGTTGAGGCCGAATTGTTCGG
+CAATCTTATAACCAAACGGCGATGCGCCCAGCCCCGGCATTGACAGTCCACCGGTCGCAATGACCAGCTT
+TTCGCAACCGACAGTCATGCCGTTCAGTTCAAGCGTGAAGCCTGTATCATCCTTCGCCACGCTCAGCACT
+TCGCTACGCAATCTGAAGGCCACATTGCCCTTCTCGCACTCATCCACCAGCATGTCGACAATCTGCTGCG
+CGGAGTCATCGCAGAAGAGCTGCCCTAACGTTTTCTCGTGCCAGGCGATGCCGTGTTTATTGACCAGATC
+AATGAAATCCCACTGGGTAAAACGCGCGAGTGCAGACTTACAAAAATGCGGATTCTGGCTCAGATAAGCG
+CCCGGTTCGACATAAAGGTTGGTAAAGTTGCAGCGCCCACCGCCAGACATGAGGATTTTGCGCCCTGGTT
+TTTTACCATTATCGATCAGCAGAACCCGGCGTCCTGCCTGACCTGCCAGCGCAGAACAGAACATACCTGC
+CGCACCAGCGCCTATAATAATGGCATCAAACCTTTCCACGTTGCGCTCCTCTAAGAAAAAACGGGCGTGA
+ATTGTAAAGATTCCTCAGTGGTCGCACCAGCATCAATATTACTAAAAGGAAGTATTTGCCTGAATTATAT
+AAGATAATTATTTTTTGAGTGGAATCCATACAGGAGGCAAATCAAAAAAAGTCTATATTTCACTTTGCCC
+GCGCCGCGAAAGTCACTGATAATGCGCCGCGTTCATGTCCTCAAAATGGCGTAACGTCCTATGCTACATT
+TGTTTGCTGGCCTGGATTTGCATACCGGGCTGTTATTATTGCTTGCACTGGCTTTTGTGCTGTTCTACGA
+AGCCATCAATGGTTTCCATGACACAGCCAACGCCGTGGCAACCGTTATCTATACCCGCGCGATGCGTTCT
+CAGCTCGCCGTGGTTATGGCGGCGGTGTTCAACTTTTTGGGTGTTTTGCTGGGTGGTCTGAGTGTTGCCT
+ATGCCATTGTGCATATGCTGCCGACGGATCTGCTGCTTAATATGGGATCGTCTCATGGCCTTGCCATGGT
+GTTCTCTATGTTGCTGGCGGCGATTATCTGGAACCTGGGTACCTGGTACTTTGGTTTACCTGCATCCAGC
+TCTCATACGCTGATTGGCGCGATCATCGGGATTGGTTTAACCAATGCGTTGATGACCGGGACGTCAGTGG
+TGGATGCACTCAATATCCCGAAAGTATTAAGTATTTTCGGTTCTCTGATCGTTTCCCCTATTGTCGGCCT
+GGTGTTTGCTGGCGGTCTGATTTTCTTGCTGCGTCGCTACTGGAGCGGCACCAAGAAACGCGCCCGTATC
+CACCTGACCCCAGCGGAGCGTGAAAAGAAAGACGGCAAGAAAAAGCCGCCGTTCTGGACGCGTATTGCGC
+TGATCCTTTCCGCTATCGGCGTGGCGTTTTCGCACGGCGCGAACGATGGTCAGAAAGGCATTGGTCTGGT
+TATGTTGGTATTGATTGGTGTCGCACCAGCAGGCTTCGTGGTGAACATGAATGCCACTGGCTACGAAATC
+ACCCGTACCCGTGATGCCATCAACAACGTCGAAGCTTACTTTGAGCAGCATCCTGCGCTGCTGAAACAAG
+CGACCGGTGCTGATCAGTTAGTACCGGCTCCGGAAGCTGGCGCAACGCAACCCGCGGAGTTCCATTGCCA
+TCCGTCGAATACCATTAACGCGCTCAACCGCCTGAAAGGCATGTTGACTACCGATGTGGAAAGCTACGAC
+AAGCTGTCGCTTGATCAACGTAGCCAGATGCGCCGCATTATGCTGTGCGTTTCTGACACTATCGATAAAG
+TGGTGAAGATGCCTGGCGTGAGTGCTGACGATCAGCGCCTGTTGAAGAAACTGAAGTCCGACATGCTTAG
+CACCATCGAGTATGCGCCGGTGTGGATCATCATGGCGGTCGCGCTGGCGTTAGGTATCGGTACGATGATT
+GGCTGGCGTCGTGTGGCAACGACTATCGGTGAGAAAATCGGTAAGAAAGGCATGACCTACGCTCAGGGGA
+TGTCTGCCCAGATGACGGCGGCTGTGTCTATCGGCCTGGCAAGTTATACCGGGATGCCGGTTTCCACTAC
+TCACGTACTCTCCTCTTCTGTCGCGGGGACGATGGTGGTAGATGGCGGCGGCTTACAGCGTAAAACCGTA
+ACCAGTATTCTGATGGCCTGGGTGTTTACCCTTCCGGCTGCGGTACTGCTTTCCGGCGGGCTGTACTGGC
+TCTCCTTGCAGTTCCTGTAATTGTACGCACCAAAACGAGCGGGTCAGTTTACTGGCCCGCTTTTTTTATG
+CGTCATTATTGCTGAATTGCTTAATGCCAAATCATCAATGCAATCAGGCTGACCACCACCAGACCACACA
+ATGCGCTGGTCAGAATAAACTGCCGACGCACCCGCTCACAGCGGCGAATAAACTCATCATCGTGATGATC
+GCGATAACGTTGGGCATAGATATACCAAACGAGACGCACCTGTTTGTTGGGTTGGCCATGTGAGGTAAAA
+AAGCCCCCTCCATCAACATATTGATAGAGCAATGGATCGCAGTTACGCAGTACCACTAACAACGCGCGTA
+GTGATGAGAAATAGCGCGCCATGTTAACAATGCAAACGACACATAAAGCCCAAAATAATGCGACGGTGCT
+TATCATACCTCCTCCCCGGCGACCTGCCCGCGGAGTTCCACCCCGGGGCTACCGCTCCCGATACGCTGCC
+AATCAGTTAACACCAGGTCCTGGAGAAACCGCTTTTGTGGTGACCAACATCCGAGCGGCTCTATAGATAG
+TGTAGGAGATCAGGTTGTTTTTTTTCCAGAAGGTTAACCACTATCAATATATTCATGTCGAAAATTTGTT
+TATCTAACGAGTAAGCAAGGCGGATTGACGGATCATCCGGGTCGCTATAAGGTAAGGATGGTCTTAACAC
+TGAATCTTTACGGCTGGGTTAGCCCCGCGCACGTAGTTCGCAGGACGCGGGTGACGTAACGGCACAAGAA
+ACGCTAGCTGGCCAGTCATCGACAACTTTATGGAAGGAGTAACACTATGGCTTATAAACACATTCTCATC
+GCGGTCGACCTCTCCCCGGAAAGCAAAGTTCTGGTAGAGAAAGCAGTCTCTATGGCTCGCCCCTACAATG
+CGAAAGTTTCTCTGATCCACGTAGATGTAAACTACTCTGACCTATACACCGGGCTTATCGATGTGAATCT
+GGGTGATATGCAGAAACGCATCTCTGAAGAGACACATCATGCACTGACCGAGCTTTCAACCAATGCAGGC
+TACCCAATCACTGAAACCCTGAGCGGCAGCGGCGATCTGGGCCAGGTACTGGTCGATGCAATCAAGAAAT
+ACGATATGGATCTGGTGGTTTGTGGTCACCACCAGGACTTCTGGAGCAAACTGATGTCTTCCGCACGTCA
+GCTGATCAACACCGTTCACGTTGATATGCTGATTGTTCCGCTGCGCGACGAAGAAGAATAATCTTCCCTC
+CACGACGTGTTCCTGAACGCCCGCATATGCGGGCGTTTTGCTTTTTGGCGCGCCTTGTTACCTGATGCAG
+CGTAAACGCCTTATCTGGCCTGCGGTCTACGTACGCAATCAAAACCCCTGCCAATACAACATTTAACACC
+ATCATATTTTCTATCATTAGTGTGATCAGCTGGTTATTTTCTGTTGTAATAGTGTATTAATCTATTCTCC
+GCATCAATATTAAGAATCTCTGACAGATGTAAACTTTTTCGCGCGTTATCCCTTACGCGTTAATACTTTT
+CAGGATGGTATTGGAAGGTTAATAAATATGAATACAACAACACCCATGGGGATGCTGCAGCAACCTCGCC
+CATTTTTCATGATCTTTTTTGTCGAGTTATGGGAGCGATTCGGCTACTACGGCGTGCAGGGCGTACTGGC
+GGTTTTCTTCGTTAAACAGCTTGGGTTCTCGCAAGAGCAGGCTTTTGTCACTTTTGGTGCTTTTGCTGCG
+CTGGTCTATGGCCTCATTTCCATTGGTGGCTATGTTGGCGACCACCTGCTGGGAACCAAACGCACCATTG
+TTCTCGGAGCACTTGTGCTGGCGATTGGCTACTTCATGACCGGCATGTCGCTACTTAAGCCTGACCTGAT
+TTTCATCGCTCTGGGGACTATCGCTGTCGGTAACGGCCTGTTTAAAGCTAACCCAGCCAGCTTGCTTTCG
+AAGTGCTACCCGCCGAAAGATCCGCGGCTTGATGGCGCATTCACCCTGTTCTATATGTCGATCAATATCG
+GCTCGTTGATAGCGTTATCGCTGGCCCCTGTGATCGCTGATAAATTCGGCTATTCAGTCACCTACAACCT
+GTGCGGTGCAGGGTTAATTATCGCATTACTGGTTTACATCGCCTGTCGTGGAATGGTGAAAGACATTGGT
+TCTGAACCCGACTTCCGGCCGATGAGCTTCAGTAAACTGTTGTACGTATTACTTGGCAGCGTGGTGATGA
+TCTTCGTCTGCGCCTGGCTGATGCACAACGTAGAAGTCGCCAATCTGGTTCTGATTGTTCTCTCCATCGT
+CGTCACCATCATCTTCTTTCGTCAGGCATTCAAGCTGGATAAAACCGGGCGCAATAAAATGTTTGTCGCC
+TTTGTCCTGATGCTCGAAGCGGTGGTGTTTTACATTCTCTACGCCCAGATGCCAACGTCGCTGAACTTCT
+TTGCCATCAACAACGTGCATCATGAAATTCTCGGCTTTTCCATCAACCCGGTCAGCTTCCAGGCGCTTAA
+CCCGTTCTGGGTGGTACTCGCCAGCCCAATACTGGCAGGCATTTACACGCATCTGGGTAACAAAGGCAAA
+GATCTCTCGATGCCGATGAAGTTTACTCTCGGCATGTTTATGTGCTCACTGGGCTTTTTGACGGCTGCAG
+CGGCTGGAATGTGGTTTGCGGATGCCCAGGGGCTGACATCGCCATGGTTTATCGTGCTGGTGTACTTATT
+CCAGAGCTTAGGTGAACTGTTTATTAGCGCCCTTGGCCTGGCGATGATTGCTGCCCTGGTGCCGCAGCAT
+TTGATGGGCTTTATTCTCGGGATGTGGTTCCTGACGCAGGCTGCCGCGTTCTTGCTGGGCGGCTATGTGG
+CAACATTTACCGCAGTACCAGACAACATTACCGATCCACTTGAGACGTTGCCCGTCTATACCAACGTGTT
+TGGTAAGATTGGCCTGGTTACGCTGGGCGTTGCCGTAGTGATGCTATTGATGGTGCCGTGGCTGAAACGC
+ATGATTGCGACGCCGGAAAGCCATTAATTATTCTTGCAGAAAGCAGGGTAGCATTATCGCTACCCTGCTT
+TACTTTTACACCGGCGTTCCGGCATAAATATCAAAGCGATGCCCTTTAGTGACTACCGCGTTTGGCGTGG
+CGACATTCGCCAGCGGCGGCGCATAGTCCGGACGCTTCACCACCACGCGTTTGGTTGCCAGCAACCGCGC
+AGGCTCCAACAATCCATCGGCATCAAGATCCGGCCCCACCAGCGACTGAAACACGCGCATCTCTTTTTTC
+ACCAGCGCGCTTTTCTGCTTATGCGGGAACATTGGGTCAAGATAGACCACCTGCGGACGCGGGGTGATAT
+CGCTCAGCGCCGTCAGACTGGAGGCGTGAATCAACTGCAAACGTTCCTGTAACCAGCCGCCGATTTCCGC
+ATCCGCATAACCACGCGCCAGACCATCGTCGAGCAACGCGGCAACCACCGGATTGCGCTCCAGCATCCGC
+ACGCGGCAGCCGACCGAAGCCAGCACAAAGGCATCGCGCCCTAATCCTGCGGTGGCGTCCACCACATCCG
+GCAAATAATCGCCTTTAATGCCCACCGCTTTCGCCACCGCCTCTCCGCGACCACCGCCGAATTTGCGTCG
+GTGCGCCATCGCTCCGCCAACAAAATCAACAAAGATGCCGCCAAGTTTCGGCTCATCACGCTTGCGCAGT
+TCCAGATGCTCCGGCGTTAACACCAGCGCCATCAGGTTGTCTTCATCGTGTTCCAGCCCCCAGCGGGCCG
+CCAGAACAGATAAGGCGCCGTCTCCGGCGCCTGTTTCATCAATTAAGCAGATTTTCACTGAATGTTCAGC
+CCATAATGCCGTAATGCTCCAGCATCGCATCCAGCTGTGGTTCACGACCACGGAAGCGTTTGAACAGCTC
+CATCGGCTCTTCTGAACCGCCACGGCTCAGAATGTTGTCGAGGAACGACTGCCCAGTTTCACGGTTGAAA
+ATGCCCTCTTCCTCAAAACGCGAGAAGGCATCTGCTGCCAGTACATCGGCCCACAGGTAGCTGTAGTAAC
+CTGCCGCATAACCACCGGCAAAAATGTGGCTGAAAGCATGCGGGAAACGGCCCCATGACGGAGACGGTAC
+CACGGCAACCAGTTTCTTGATTTCTGCCAGAGTTTCGAGGATTTTCGCCCCCTGATCCGGACGGAACTCG
+GCATGGAGGCGGAAATCGAACAGGCCGAACTCCAGCTGGCGCAGAATAAACAGCGCCGCCTGGTAATTTT
+TCGCTGCCAGCATTTTATCCAGCAGCTCCTTCGGCAGCGGCTCGCCGGTTTCATAGTGACCGGAGATAAA
+CGCCAGCGCCTCCGGCTCCCAGCACCAGTTTTCCATAAACTGGCTCGGCAGTTCGACCGCATCCCACGGC
+ACCCCACTGATCCCGGAAACACCAGCGGTTTCAATGCGGGTCAGCATATGGTGCAGGCCGTGACCGAACT
+CGTGGAACAGGGTGATCACTTCGTCATGGGTAAACAGCGCCGGTTTACCATTTACCGGGCGGTTGAAGTT
+GCAGGTCAGATACGCGACCGGTTTTTGCAGCGAACCGTCGGCTTTACGCATCTGGCCTACGCAGTCATCC
+ATCCACGCCCCGCCGCGTTTGTTTTCACGGGCATACAGGTCGAGGTAGAAGCTGCCGCGCAGTTCGTCGT
+TCTCGTCATACAGCTCGAAGAAACGTACATCCGGATGCCAGACATCAACATCTTTACGCTCTTTAGCGGT
+GATGCCGTAAATACGTTTCACCACTTCAAACAGGCCGTTAACCGCTTTGTTTTCCGGGAAGTACGGACGC
+AGTTGTTCATCGCTGATGCTGTAGAGGTGCTGTTTCTGTTTTTCGCTGTAGTAAGCGATATCCCACGGTT
+GTAACTCATCGACGCCAAATTCGGCTTTGGCGAAGGCGCGCAGTTGCGCCAGCTCTTTTTCGCCTTGCGG
+GCGCGCGCGTTTTGCCAGATCGGTTAAGAAATCCAGCACCTGCTGCGGGTTTTCTGCCATTTTAGTGGCA
+AGTGATTTGAAGGCGTAGTTTTCAAAGCCCAGCAGTTGCGCCAGTTCGTGACGCAGCGCGAGGATCTCTT
+CCATCACCTTGCTGTTGTCCCACTTACCGGCGTTCGGACCTTGATCGGAAGCACGAGTGCTATAAGCGCG
+ATACATCTCTTCACGCAGGGCCTGGTTGTCGCAGTAGGTCATTACCGGCAGGTAGCTTGGGATATCCAGC
+GTCAGCAAATAACCTTCCAGCTCTTTCGCTTCGGCCTGGGCTTTTGCCGCAGCCAGCGCGCTTTCTGGCA
+TCCCCGCCAGCTCCGCTTCGTCGGTAACGAGTTTGGTCCAGCCCATCGTCGCATCGAGGACGTTGTTGCT
+GTACTGATTGCCCAGTTCAGAAAGACGGGTAGCAATTTCGCCGTAACGCTGCTGTTTCTCTTTCGGCAGA
+CCGATGCCAGAGAGTTCGAAGTCGCGCAGTGCGTTATCAACCGCTTTTTTCTGCGCCGTGTTCAGCGTGG
+CGTAATGATCGCCATCGCGCAGGTCGCGATATGCCTTATACAGCCCTTCATGTTGCCCTACCCAGGTGCT
+GTATTCTGACAGCAGCGGCAGGGTTTGTTCGTACGCTTCACGCAGTTCCGGGCTATTTTTCACCGAGTTC
+AGATGGCTGACCGGGGAGAAGATACGCCCCAGCACATCGTCCACTTCCGCCAGCGGCTGGCAGAGATTTT
+CCCAGGTGTACGGTGCCCCTTGCGCTACTACGCGCTCCACATTTTCGCGGCAGTCGTTCAGCGCCTTAGT
+CACGGCTGGAACGACATGTTCCGGGAGAATTTTAGAAAACGGAGGCAATTCAAAGGGAGTCAGTAACGGA
+TTCGTCATTAGCGCAGTCCTGGTTAAAGAGGTTAAGGAAGCGCTCAACAGGCGCTTTACATAATGTTTGT
+AGCATGGGGTTAAGTGTAGTGAATTTCAATGAGAAACGTTACGCTTTCGCGGCGGCGGCCTCTTTTCGGT
+ATACTGTCCTGATAGGCTTTTGTGCGCCCCGAATACGGGCCGATTTTTACTTACCGGAACACCTTTACCC
+ATGCTCAGTTATCGCCACAGCTTTCACGCTGGCAACCACGCCGACGTCCTTAAACATACCGTTCAGAGCC
+TGATCATTGAGTCGCTGAAAGAGAAAGATAAACCGTTTCTCTATCTCGACACCCACGCAGGGGCCGGGCG
+TTATCAGTTAGGCAGCGAACATGCCGAGCGTACCGGCGAATATCTCGAAGGCATCGCCCGTATCTGGCAG
+CAGGACGATTTGCCTGCGGAGCTGGAGGCGTACATCAATGTGGTAAAACACTTCAACCGTAGCGGGCAGT
+TGCGTTATTACCCCGGTTCGCCGTTGATTGCTCGCCAGCTACTGCGTGAACAGGACAGCCTGCAACTGAC
+CGAACTGCACCCGAGCGATTACCCGTTGCTGCGTTCTGAATTTCAGAAAGACAGCCGTGCGCGCGTCGAA
+AAAGCCGACGGTTTCCAGCAGCTTAAGGCCAAGCTGCCGCCGGTTTCCCGCCGTGGTTTAATCCTTATCG
+ACCCGCCGTATGAAATGAAAACCGACTATCAGGCGGTGGTCAGCGGGATAGCAGAAGGTTACAAACGTTT
+CGCCACTGGCACTTACGCATTGTGGTATCCAGTGGTGCTGCGCCAGCAAATTAAGCGCATGATCCACGAC
+CTGGAAGCGACCGGCATTCGCAAAATTCTGCAAATTGAACTGGCGGTGCTGCCAGACAGCGATCGCCGTG
+GCATGACCGCTTCCGGCATGATTGTGATTAACCCGCCGTGGAAGCTGGAACAGCAGATGAATAACGTGCT
+GCCGTGGCTGCACAGCAAACTGGTTCCGGCAGGCACCGGGCACGCCACCGTAAGCTGGATCGTGCCAGAG
+TAATTGCAGCCATTGCTGGCACCTATTACGTCTCGCGCTACAATCGCGGTAATCAACGATAAGGACAATA
+TGTCATGACTAAACACTATGATTACATCGCCATCGGCGGCGGCAGCGGCGGTATCGCCTCCATCAACCGC
+GCGGCTATGTACGGCCAGAAATGCGCACTGATTGAAGCCAAAGAGCTGGGCGGCACCTGCGTAAATGTTG
+GCTGTGTGCCGAAAAAAGTGATGTGGCACGCGGCGCAAATCCGTGAAGCGATCCATATGTACGGCCCGGA
+TTATGGTTTTGATACCACTATCAATAAATTCAACTGGGAAACGTTGATCGCCAGCCGTACCGCCTATATC
+GACCGTATTCATACTTCCTATGAGAACGTGCTCGGTAAAAATAACGTTGATGTAATCAAAGGCTTTGCCC
+GCTTCGTTGATGCCAAAACCATTGAAGTCAACGGCGAAACCATCACGGCCGATCATATTCTGATCGCCAC
+CGGTGGTCGTCCGAGCCACCCGGATATTCCGGGCGTGGAATACGGTATTGATTCTGATGGCTTCTTCGCC
+CTTCCGGCTTTGCCAGAGCGCGTAGCGGTTGTTGGCGCGGGTTACATCGCCGTTGAACTGGCGGGCGTGA
+TTAACGGCCTCGGTGCGAAGACGCATCTGTTTGTGCGTAAACATGCGCCGCTGCGCAGCTTCGACCCGAT
+GCTCTCTGAAACGCTGGTTGAAGTGATGAACGCCGAAGGCCCGCAGTTGCACACCAACGCCATCCCGAAA
+GCGGTAGTGAAAAATGCCGATGGTAGCCTGACGCTGGAGCTGGAAGATGGTCGCAGTGAAACGGTGGATT
+GCCTGATTTGGGCGATTGGTCGCGAGCCTGCCAATGACAACATCAACCTGGAAGCCGCTGGCGTTAAAAC
+CAACGAAAAAGGCTATATCGTCGTCGATAAATATCAAAACACCAACGTTGAAGGTATTTACGCGGTGGGC
+GATAACACGGGTGCAGTGGAACTGACACCGGTGGCTGTTGCAGCAGGTCGCCGTCTCTCTGAACGCCTGT
+TTAATAACAAGCCGGATGAGCATCTGGATTACAGCAACATTCCGACCGTGGTCTTCAGCCATCCGCCGAT
+TGGTACTGTTGGTTTAACGGAGCCGCAGGCGCGCGAGCAGTACGGCGACGATCAGGTGAAAGTGTATAAA
+TCCTCTTTCACCGCGATGTATACCGCCGTCACCACTCACCGCCAGCCGTGCCGCATGAAACTGGTATGCG
+TTGGACCGGAAGAGAAGATTGTCGGTATTCACGGCATTGGTTTTGGTATGGACGAAATGTTGCAGGGCTT
+CGCGGTGGCGCTGAAGATGGGTGCAACCAAAAAAGACTTCGACAACACGGTTGCCATTCACCCGACAGCG
+GCAGAAGAGTTCGTGACAATGCGTTAAATGTTAAAGGGCTAAGAGTAGTGTGCTCTTAGCCCTTAGCTAC
+GTTTCCGCTATCAGTTCAGAAGCTGAAGCAGAAAGCGGATCAGTTCCAGCAGCGCAATTAACGCCCCAAG
+AACGATGATTGCTTTATCAATCACCCGTTTTCTCCATGCGATGGAGTGAGAATGCATCCGCTTACTCATC
+CATTGCCTGTCACGGCGCATGTCTCATTGTTAGATGACGACTATCTCACTCCGGCCAGAGCATCAGTTAA
+CGGCACCACCCGTACTTCAGACCAGGACTTTGAAAGCGTTTATGCGCATTGCCAGAGTGAAAATGTCTCA
+GAGCTAACTGGATAATCATACAGTACTTGCGGGTTATAAAACCAGCATGTCCTTGCAATAGTTTCAGTAT
+GGTATTAGCATTGATGCGTTAGATGATGGCTATCTCACTCCAGCCAGAGCCACCAACTCAGGGCTGAACA
+GTAAAAAAACCGACGCGAAGTCGGTTTTTTTACGTCCTGATTCAGACCTCCTTTCAAATGAATGCCCAAC
+GCTTAATTCACACCTACACCTTTCTCTACACTTACATATTCGTTAAACCATATGTGTTTTTGACTTGTCC
+GCTTTGGTTTGTAACTCTGGTGGCGCTGGCGCTACACCTCTCTTTCACATCGTAATGAGATACTGATATG
+AGCAACATTACCATTTATCACAACCCGGCCTGCGGTACGTCGCGTAATACGCTGGAGATGATCCGCAACA
+GCGGTACAGAACCGACCATTATCTATTATCTGGAAACACCACCGACGCGCGATGAGCTGGTAAAACTCAT
+TGCCGATATGGGGATTACCGTACGCGCGTTGCTGCGTAAAAACGTCGAGCCGTATGAGGAACTGGGCCTT
+GCAGAAGATAAATTTACTCACGATCAGTTAATCGACTTTATGCTTCAGCACCCGATTCTGATTAATCGCC
+CGATTGTGGTGACGCCGCTGGGAACTCGCCTGTGCCGCCCTTCAGAAGTCGTGCCGGAAATTCTGCCAGA
+TGCGCAAAAAGGCGCGTTCACCAAGGAAGATGGCGAGAAAGTGGTTGATGAGGCGGGTAATCGCCTGAAA
+TAAAGCGGCTATATTCCCCCACAGGTTGTTAGAAAAATGCGCTTTATTTATGTCGGATGCGACGCTGGCG
+CGTTTTATCCGACCTACAAAGTTATGATAATTCGATGAATTGTATGTTATTTGTAGGCCTGACAGTCGTA
+GCGCATCAGGCAATTTTGCTATTTACACAGTACTCCCTGCGTGAGATTCCAATTATCGCGTCCAGCATGG
+TGTATCTGTGAGCTGCTTAGTTATCAGCGATACAGTGCAGCACTGTAAAGATGTACTGGATTATGATTTA
+TCAGTGGTTTACACAATAAATAATTTCAACATACGTTAACCTATTTTATTATTACATATCTAAAACATCA
+CAAAAATATCACTTCACACACTATCAGAGAACATCATACCTTTTTAAAACGAGCATTTTCGATAGTTGTT
+AACGTTTTCTTTTGCGATATGATTATTGCCTTTTTTTGCACTCAAATATTACCAGATGGAAATAAAAGAG
+AAGTCAAAGGTAATTATATCAGGAAGATATGACGCATTATATTTACTGTATGTAGAAGAAAATCCATTCC
+TGTTCTAATTATCCAATTTAAAAATCTTAGCATAAAACAAATGATGAATAAGGAATGTTATGTCAATTGA
+CTTTACCCCAGGTGTAATAAATACATATAACGGTGATATTTATAACTGCACAACAAATACCGATAATGTT
+AAAACGCCAGACACACCGAAGTGGCCTTGTGATAACCGGGAAGAACAACACCCCATTAATGCCCCATTCT
+CTGGAGAATGGATACACCTCTGAACAATTTGATTTAGCGCAACAACGCCAACAAATTAATGCGTGCCATA
+CGAACACCACATATACAAATGCAGACTACTCAAAGTTGAGGCTCAACTTGTAAGTCTTATTAATAACATT
+GAAACGATAAGCTCGACACCACTTCCGCAAAAGACACAATCAATACTTAATCAGATAAATAATATTAGAC
+ACGAAAAGATTAAAAACCTCTGAATATAGATTATGGAACAATGGATACTCATGCCACGCCCAAAAATTAA
+CTGAGCTCAACTAAACAGAAGAGATATAAACATCAGACAGGTTTACGTTACTATCAGGCATATCGCCTCA
+GAATCAGATGAAAACTATAAAGAAATATCTATTATGGTTTTAATATTTGTTGATAAGGATAGTAACATGA
+ACATGACAAAAGGTGCACTCATCCTCAGCCTTTCATTTTTGCTTGCCGCATGTAGTTCAATTCCGCAAAA
+TATCAAAGGCAATAACCAACCTGATATTCAAAAAAGTTTTGTTGCTGTTCATAACCAGCCGGGGTTATAT
+GTTGGTCAACAAGCGCGCTTTGGCGGGAAGGTTATCAACGTTATCAATGGCAAAACGGATACGTTGTTAG
+AAATCGCTGTATTACCGTTGGATAGCTATGCGAAGCCTGATATTGAAGCCAACTATCAGGGCCGACTGCT
+CGCCAGACAAAGCGGCTTCCTTGATCCAGTGAACTATCGTAATCACTTTGTTACCATCCTCGGTACCATT
+CAGGGTGAACAACCTGGCTTTATCAATAAAGTCCCGTATAACTTCCTGGAAGTGAATATGCAGGGCATCC
+AGGTGTGGCATTTGAGAGAAGTGGTTAATACCACCTATAACCTGTGGGATTACGGCTATGGTGCATTCTG
+GCCGGAACCGGGCTGGGGGGCTCCTTACTACACCAATGCGGTGAGTCAGGTAACACCTGAGCTGGTCAAA
+TAACACCACCGAAAGATGCAGATGCTTTCTCAGCATCTGCATCATGCATTACATCAAATTAATACACAGT
+AAGCTAACTATTATTATAAGCCCTGTCCTGTTAATTACCTTTGGCAAACTTATTATAAAGTTAATGTCCG
+TGCCAGGAGTCGGTTATGTTTCTTATAATTACCAGGGATACGATGTTTTTCACCGCGATGAAAAACATTC
+TGAGTAAAGGTAATGTCGTTCATATACAGAACGAAGAAGAGATCGACGTAATGTTGCATCAGAATGCCTT
+CGTCATTATTGATACATTAATGAATAATGTATTTCATTCTAATTTTCTCACTCAAATTGAACGATTAAAA
+CCTGTCCATGTAATTATTTTCTCCCCCTTTAATATTAAACGCTGCCTGGGGAAAGTACCGGTGACCTTTG
+TTCCGCGAACTATCGCCATCATCGACTTTGTCGCACTCATCAATGGCAGTTACTGCTCTGTGCCTGAAGC
+GGATGTGTCCCTCTCGCGCAAGCAGCATCAGGTTCTGAGCTGCATTGCGAATCAAATGACAACGGAAGAT
+ATTCTGGAGAAACTGAAAATATCGCTAAAAACGTTCTACTGCCATAAACACAATATCATGATGATCCTCA
+ATCTTAAGCGGATCAATGAGCTGGTACGCCATCAGCATATTAATTATCTGGTGTGAACGATTGAACAATA
+TAAAGAGGCCCAGCAACAGCCAGACCTCCCGTTAATTATACGTTATGCAGTAACGCCTTCCGGTATCAAC
+GAAGCAATTTGCTTACGCCATTGCGCTTGCTCCTGTTCACCTTCTGTACGTTGACCATAAAGTTGCGCTA
+TCTGCGTACCATCATGGGCAAACAATTCCAGGCTGGTTACGTGGCCATCGCTGGTCGGTTTACGGGTAAC
+CCAGGCTTCAGCAATGCTCTCTTCTAATAGATGAAGGGTAAACGTCGGGTTGAAAATATTCAGCCAACCT
+TTCATTGGCACCACTTTTTCTACCACACCGGTGAAAATCTGTACGCAGCCACGGTTGCCAACAAACACCA
+TGATTTCATTGCCATCCTGCTGTGCAGATTCAAGAATTTGCGCCAACGCACTGTTGGATACTTTGCAGGC
+CAAATCGTCTGCCACCAGATTGAACGCCTGTTGGCGCGTCAGGTTGTGGCGCTTGAGCAACGTAAAAAAC
+TGATGAACGTCGGTCATCGCCCGCCACTCTTGCTCGACCACACTGGCATCGGCTCGCGTTTGAACAACTG
+GCGCATCAACGGCTTTTAACTCAAGCGGCGTATTCTCATCGGTGATAAACCGTGCCAGAAGCTCACTCCA
+TGCCGCCATATCGGTATTGTCGGTGGCATAAACTTTTAGTAATGCATCGCCCTGATGATCAAAGAACTGA
+ATACTCTGGCGTTCGCCACGAGCCGTGTTTTCTTTGATGTGGAAAACACTGGCCCATTGATTGAGAAACA
+GACGTAAATCCAGCGCGCGCGGATTGAGGATCAATCCGGCATGTCCGTTCAAATGCTGGTTTGTGAACGA
+GCCAACTTGCTCATGGACTGCATATTCATTACGACAAATACATTTGGTTTCACCAACGCTTTCCAGCGCC
+GCCAGAATTTCACGAATATCGCCGCGCATCCGCCACGCGTCGTGCGTGACGCGTGCAAATGCCAGTTCTG
+CTTCGCTGATATTCATTAAACCTGCGATGTCACGCGCGTACTTTCCGGGATTTTGTTCTTTTAACTCAAG
+CCAGCGTGTGTAGTGGTTCATTGTCTCTCTTCCTTCCAGATAAATGCCCCGAAATATCGGGGCAGATGAT
+TACCATTGATAACTCACGAAAATTTTTCCGTTACGACCATCCTGTGGGATGCCTTGCGGCGACCAGTACT
+CTTTATCGAAGGCGTTGCCCAATACCAGAGTAGTGGTCATGCCTTTGAGCGCCTGCTGCCCTTGATAACT
+GACGTAGAAATCATTCACACCATAGCCAGGTTGTTTGCTGTAGCTGCTGCTGATATGTGTTGAGCGATCG
+GCAAACGTACCGACCCAACCAACAGAGAAGCCACTGTGAGCGATCGGAATATTCAGGGTACTGGTAACGG
+TATCCGGGTTAATGCTGGAGATATATTCCCCGGTATCGGTGTCTTTGCCGCGGGTACGGTTATAGGCCAC
+ATCAAGGCTAAACAGATCAGTGGTATATTTCGTCATCACATCCCAGCCCCAGATTTTGGCGTTCGGGACG
+TTATACGACATAGTTGTCGCCGCCGCGAAATCGACGGTCGTGGAGATATAATCTTTCGCTTTGGTATCAA
+AGTAGCTGGCTTTAAATTCCAGAGCATCATTGGACAACATCAGGTCATCAAAACGCAGCCCAAAACCGTA
+CTCCTGAGTTTCGTTAGTTTCCGGACGTAAGTTCGGGTTTGGCACCCAATAGTTGGTATAGAAGCGACCA
+ATCGAGAAGTGTTTAGAATCGTTATACATTTCGCCCATCGTCGGGGCGCGGAATGCCTGAGCATATGAGC
+CAAATAACATCAGCCAGTTGGTCGGGTTGATAGTCATCCCCGCACGAGATGACCATTTGTCGGCATCAAC
+ATCTTTGTAGCCGTCGCTGCTACCGCGATAACTGTCATAGCGGGTTCCGCCAAGCAGGGTAATCGGCAGA
+TCGCGTAAGGTGATCTCATCTTGTAGCCAGCCAGAGCTAAAATCGATTTTTGCTTGCGGGAAGCCCGTCG
+TCGCGCCACCCGGATGTTGTTCCTGACGATAATACTCACCGCCATATGTCAGTAAGTGAGAAGCGAAACT
+GTCGGCAAATAGAGTGGAACGGTTCTCCAGCCTTGCTCCTTTTGTTATCTGTTCACGATACTCGCCTGAA
+CTCCCCGTGTTTTGCGCATTAATACGGACTTCCGACCAGTAAATTTTTGCATCTGCATTTAACCAGTCGT
+TACCCTGCGGGGCGAGTTTATAAGAAAGCTGCGCATCGCGTTGAATTGTTGAACGATCGACCATCGGGTT
+GCTGCTATCAGAAGCTTCAACGGTCTGCGGATTTTTTGGTTCACGCGCGTCGTTGTTGTAGTAACGCACT
+AAACCGCTCAGAGACTGGGCTGAATCAATTTGCCAGGTCCCTTTCGCCAGCATGTTATTAATGGACTCGT
+CATTCGGCGCGGTTTCACCATTGCTCTGGCGTAAATCACCCCGATCGCGACTGGACCAGGCCACAATACC
+ATCCAGATTTTCAGTTCGCCCAAACGCGCTCGCGCCTAATCCCAGGCTATGGTCCCCCGTGCCGCCAGTA
+CCAAAGACACGAAAACCACTGCTTTGTCCTTCCTGCAATAAATCTTTTGCATCGACCGTATCGTAGGAGA
+TCACTCCACCCAGCGCGCCACTGCCATACAGTAATGCTGAAGGTCCGCGAACAATCTCAACACGCTTGAT
+CAGCGCCGGATCGAGAAAAGTGCCATTCAGGTGTCCGGTATCCGTTCCCTGGCGAACACCATCGACAAGA
+ACCAGCACGCCGCGATGATCATAGCCACGCATATTTACATCCTGACCGTTGGTTCGTCCGGTACCATCAA
+GAGTAATTCCAGGAACATAACGCAGCAAATCAGTGGCTGAAGTAGCAGTTTGATTTTCAGGAGCGGAAGT
+GTCGATAACGCTGACCATCATAGGCGCTTCGAAGGAACTACGTGCATTCCCCGTTGCCGTAACGGTCATG
+GTTTCAGTAGCAAAAGCAAACGTTGGCAAGGTGGCAGAAACAGCCAAAGCCAACAAACTCAAACGCAACG
+AGGTAAATTGCGGACGTGACATAGCGATTCTCCATGAGGAAAATAAAAAATGCTGGCTGCCTGGGTTAAT
+ACCGGGGTGGCTGGCGAAAAATAAATTTATTTACAATTCAAATGATTAGATATCACCACGGGAAGCTATT
+AGCGTATATATCCCGTAAAATTGCCGAATATTTCTGATAATTCAGCAAAAGCACGCCCTCTTTGTCAGGC
+AAAGTAGTACGCCACGTCTGAAGTGAAGAGTGCTGTGCGTTTTCCCTTACAAAAGATATGATTTTGTTAT
+CCATGATGTCATATTTTGTTAAACTCAAACGTGATAATGAGAATTATTATCGATCAATTTTTTATGATCA
+AGCTTTTTTTAACCGCCATTAACACAATAAACAGGGGGTTATGAAATCTATCCAGCATCCAGAAAACCAT
+CCTGTGTTTATGGCTATCCCCCCACAACCTCATCACAAAACGTTGTCGTTAACAGTGATAATTTTCTCTT
+CTCTTTGCTCTGCAAGCCGCGATATCTCCGGGTTCTCAGCTTTTTCCCGCGCTGAAATTTAATCGGTAAC
+AAGAACATTAGCTGACGAAGCATCTTGATAAAAATCAAAAATAAATACGCTTGTAACGCCGTGCGTATTG
+AATCGACGGTTGTATTTCATATATAACTCAAATGATAATCATGATCATTCTCAATTTGATAAGAGTTCTC
+ACATTATGCCAAGGATCATCACCAGGCCGTTTCTTTTTTCCCCACTAACGTTATGTATTTCAGCCGTGGC
+CTCTGCCGCGAAGACCATGGTAAAACGAAAAAAATTGTTTACGGCATTACTGGCTCTTAGCTGGACTTTT
+AGCGTAACGGCTGCCGAACGTATCGTGGTCGCAGGAGGATCGCTGACGGAGCTAATCTACGCGATGGGCG
+CTGGCAAACGCGTGGTTGGTGTCGATGAAACGACATCCTATCCACCAGAAACCGCCAAACTGCCGCATAT
+TGGTTACTGGAAACAACTCAGCAGCGAAGGCATTTTGTCACTTCGCCCGGATAGCGTAATTACCTGGCAG
+GATGCAGGACCGCAAATTGTGCTCGACCAACTGCGGGCGCAAAAAGTCAACGTCGTCACTCTGCCGCGTG
+TACCAGCCACCCTTGAGCAGATGTACGCCAACATTCGCCAACTGGCAAAAACGTTACAGGTTCCTGAACA
+AGGCGAGGCGCTGGTGACACAGATCAACCAACGCCTGGAGCGAGTACAGCAAAACGTGGCGGCCAAAAAA
+GCCCCGGTTAAAGCCATGTTTATTCTCTCCGCAGGCGGAAGTGCGCCACAGGTTGCCGGTAAAGGCAGCG
+TCGCGGACGCCATTCTTTCGCTTGCCGGAGCAGAAAACGTCGCTACCCACCAGCAGTACAAAAGCTACAG
+CGCGGAATCGCTGATTGCGGCTAACCCTGAAGTGATTGTCGTCACCTCACAAATGGTCGATGGCGATATT
+AATCGGCTACGTTCTATTGCCGGAATTACCCACACTGCCGCATGGAAAAACCAGCGCATTATCACCGTTG
+ATCAAAACCTGATTCTGGGAATGGGTCCGCGTATTGCTGATGTCGTTGAGTCTTTACACCAGCAGCTTTG
+GCCGCAATAAATGGATTTAAATCAGACGAATGAACACAAATAACACCCTGGATCTCACGCCACATTTTGC
+TTTAGACGGTGATCAGCCCTTTAAAGACAGGCGCGCCATGATGCCGTTTCGTGGGGCCATTCCGGTTGCC
+AAAGAGCAACTGGCACAGACCTGGCAAGAGATGATCAATCAAACGGTATCACCACGTAAGCGACTGGTTT
+ACCTACACATTCCTTTTTGTGCGACACACTGCACGTTTTGTGGTTTTTATCAGAACCGTTTTAATGACGA
+TGCGTGTGCTCATTATACCGACGCCCTGATTCGTGAAATAGAAATGGAAGCAGACAGCGTATTGCATCAG
+TCTGCCCCCATCCACGCGGTCTATTTCGGTGGCGGTACGCCTTCCGCGCTTTCAGCACACGATTTGGCCA
+GAATCATCACCACATTACGAGAAAAGCTGCCACTGGCCCCTGATTGTGAAATCACTATTGAAGGCCGGGT
+ACTGAATTTTGACGCTGAGCGAATCGATGCTTGCCTTGATGCTGGAGCAAACCGCTTCTCAATTGGTATT
+CAGTCGTTTAACAGCAAAATCCGCAAGAAAATGGCCCGCACCTCGGATGGCCCAACCGCTATTGCGTTTA
+TGGAAAGCCTGGTCAAACGCGACCGTGCCGCGGTGGTCTGTGACCTGCTGTTTGGTCTGCCGGGTCAGGA
+TGCGCAAACCTGGGGAGAAGATCTGGCTATTGCCCGCGATATCGGTCTCGACGGCGTCGATCTCTATGCG
+CTCAATGTCCTGCCCAATACACCGCTGGGCAAAGCCGTGGAAAATGGGCGTACTACCGTGCCCTCTCCGG
+CAGAACGTCGCGATCTTTACCTGCAAGGGTGTGATTTTATGGACGATGCCGGTTGGCGCTGCATCAGTAA
+CAGCCACTGGGGCCGTACCACACGCGAACGCAATCTCTATAACCTGCTGATTAAACAAGGTGCCGATTGT
+CTGGCCTTTGGTTCCGGAGCCGGCGGTTCGATTAATGGGTACTCCTGGATGAACGAACGCAATCTTCAGA
+CCTGGCATGAATCCGTCGCAGCAGGCAAAAAACCGCTGATGATGATCATGCGTAACGCCGAACGTAACGC
+GCAGTGGCGTCATACCTTGCAGTCGGGCATTGAAACGGCGCGTGTACCGCTGGACGAACTTACGCCACAT
+GCCGAAAAACTCGCGCCGTTACTGGCCCAGTGGCACCAAAAAGGCTTAAGCCGCGATGCGTCAACGTGTC
+TGCGGTTGACCAATGAAGGTCGTTTCTGGGCAAGCAACATTTTGCAGTCTCTTAATGAACTGATTCAGGT
+ACTTAATGCGCCAGCAATTGCGCTTGAAAAACCATAACAGGAGTGATTTATGAGCCATGTCTCGTTACAG
+GAATTTTTGAAAACGGAGCCAGACGGTACGCTGGAGGCGATCGCCGAACAATACAACACCACGCTGCTGG
+AGGTAGTGAAAAATCTGCCCTCTCCGACTGTTGTGTCAGGTGATAAATTCGATACTGTCTGGGATACCGT
+CTGCGAATGGGGCAACGTCACCACGTTAGTACATACTACCGATGTAATACTCGAATTTAGCGGCGAACTG
+CCTTCGGGTTTCCATCGCCACGGCTATTTCAACCTACGCGGAAAGCACGGCATGTCCGGGCATATCAAAG
+CAGAAAACTGCACGCATATTGCCTTGATCGAACGTAAATTTATGGGCATGGATACCGCCTCTATTCTCTT
+TTTCAATAAGGAAGGCAGCGCAATGCTGAAAATCTTCCTCGGTAGGGATGATCATCGTCAGCTCCTGAGC
+GAACAAGTCAGCGCCTTCCATGCTCTGGCAGCATCGTTAAAGGAACACGCCTGATGACACCGTGGCTACT
+CTTTGGCGCAGGCGGAAAAGGTGTGGGTGCCAGAACGCTTGAACTGGCGCTGGCGGAACAACGTCCGGTC
+GTTGCTGTCATTCGTCATGCCGATGCCGCCACGAAACTGGCGCAACAAGGCGTACAGGTTTTTACAGGCG
+ACGCCTGTGATGCCAGCGTAGTCGCGGCTGCTTGCCGCGCAGCTGGCCCGGATGCGCTTATCATCTCAAC
+AATGGGCGGAGCTCAGGATTATCTGGCGCACAGAACAGTGATTGACGAGGCCGAGAAAGCAGGCATCACA
+CGCATGATTCTGGTGACGTCACTGGGATGCGGCGATAGCTGGCCGTTTTTATCAGAGCGGGCAAAGGCTG
+CGTTTGGTCAGGCGGTACGGGAAAAAACGCTGGCGGAAAGCTGGTTGCAAACCAGCCAGCTTGATTATGC
+CATTCTCCGCCCCGGCGGTCTGCTTGATGGTGCGGCAACGGGCAAAGCACAACGGATACAAAATCAGGAG
+TGTCATGGTTTTGTTAACCGTGCTGATGTCGCCGCACATATCCATGAACTGGCAAATGCGCCAGCACTTA
+ACCAGCAGGTCTACAGTCTGATTGAACCGGACCTGAAACCGGCGTGATCCCCCGGCGCGGTATGTCCGCG
+CCGTAATGTCGTAACGGAGTTTTGCGTGCTCAAGGATTCACTCTCTTCCGCCAGGATCTTTATGGGGCTA
+TCACTATTATTGCTAGCTCTGGTGCTGTTTGGTGCCAGTCAGGGAGCGTTAAAGATCAGTTTTGATGCCC
+TTTTTGATGAGGAATACCGCGATATCTGGCTCAATATTCGTCTACCACGGGTTTTGCTGGCGGTGCTGGT
+AGGTGCAGCGTTGGCAACCGCAGGGGTAATTATGCAGGGGCTTTTTCGCAACCCAATGGCTGACCCTGGA
+TTACTTGGCGTCAGTAGCGGTTCTGCATTAATGGTTGGCGTTGCTATTGTGCTGCCCTTCTCCTTCCCAG
+TGGTGCTGGTGCTCTATGAGCAAATGGTGTTTGCCATTGCCGGAAGTTTAGTGGTCTGCACCATCATTTT
+TCTCATCACGCAGCGCCATCGCGATGGCAGCATGATGCAATTATTACTCGCCGGTATCGCCATCAATGCC
+CTGTGCGGCGCAGCGATCGGCATCCTGAGCTATATCGGCGATGAGCAGCAGCTACGACAACTCACATTGT
+GGATGATGGGCAATCTTGGACAGGCGCAATGGCCGACGTTATTGGTTGCCAGTTCATTCATCCTACCGGC
+CATTATCGCAACAACTTGTCTCGCCGGAACGCTGAATTTACTGCAGCTCGGTGATGAAGAAGCCCACTAC
+CTCGGCGTGAACGTGAAGCGTAAACGCCAGCAATTACTGTTAGTGAGCTCACTGCTCGTTGGTGCTGCCG
+TATCGGTAAGCGGTATTATCGGCTTTATTGGCCTGGTGATCCCGCATCTGATTCGCATGACTACCGGGGC
+AAATCACCGCTGGCTAATCCCTTGTTCCGCCCTCGCCGGAGCCTGTTTATTGCTGATGGCAGACACGCTT
+GCCCGCACGCTGGTACAGCCAGCAGAAATGCCCGTGGGATTATTAACCAGCCTGCTTGGTGGCCCTTATT
+TTATGTGGTTGATTCTGCGCAACCGGAGGATCACATGATCAGCGCCCAGAATCTGGTTTATAGCCTTCAG
+GGGCGGCGTCTGACTGATAATGTCTCGCTGACTTTTCCCGGTGGGGAAATTGTTGCCATCCTCGGGCCTA
+ATGGTGCGGGAAAATCTACGCTGCTTCGCCAGCTAACCGGCTATCTTCAACCTGATAGCGGCGAATGTCG
+GTTGTTTAATAAGCCATTAAATGAATGGTCGATTACTGAACTGGCGAAACACCGGGCCGTGATGCGTCAA
+AATAGCCACATGGCGTTTCCATTCAGCGTACAAGAAGTTATCCAGATGGGGCGGCATCCGCATCGTACTG
+GTAATCAGGATAATGAAACAGCACAAATAATGGCGTTATGTGACTGTCAGGCGTTAGCAAACCGCGACTA
+TCGGCAATTATCCGGTGGTGAACAACAGCGCGTGCAATTAGCGCGCCTGCTGGTGCAACTCTGGGAACCT
+ACTCCCTCACCGAAATGGTTATTTCTTGATGAACCAACTTCGGCGCTGGATATTCACCATCAGCAGCACT
+TGTTTCGTTTATTACGCCAGTTAGTTCACGAACGGCAGTTCAATGTTTGCTGCGTATTGCACGATCTAAA
+TCTTGCCGCGCGTTATGCAGACCGTGTTGTATTAATGCAAAAAGGAAAGGTTATCGCAAATGGTAAGCCG
+CAGGACGTATTGACACAGCAGGCGCTGACAATGCTCTACGGCGCGGATATTACCGTACTTAAAGATCCTG
+CCAACCATTCACCACTGATCGTCCTCGATCATTAAAACCAACAGGAGTACCGCACTGGTACTCCTGCGAA
+TAAATAACTATACAGATTAGCTAATTGAAACGCCTTTCACCCCTGCCATACCTTTTAATAATCGCAACAG
+ATCTTCTATCGACGTTGTGGCATGAAGCTGGATATCAATGGCGACCACTTCATGATCTTCATTTTCCTGC
+AACGAAACTAAATCCGTTTTTATTTTTTGCTGCTTAAACCAGTCGAGCATTGATACCGTATTACCGTTCA
+CTAATGTCAGCTGTAAATGGTAATTTTTGTTCATCAGGCGGAAGGTTAATTGATGGAAGACTTCCAGCAC
+CAGCAAGGTCATCACTGAACCATAAATACCCAGTTCGTACATACCGCTGCCAATAACCATACCAATGGCG
+GCGGTCACCCAGATATCCGCTGCCGTCGTCAGACCTACAATATTTTGGTTACGAACGAGAATGTTACCTG
+CACCGATAAACCCGACGCCCGTCACAACCTGAGCAGCAATACGGCTGGGATCCAGTCCGACGTGACCTAA
+AGACAGCACGTCAGCAAAACCATATTTCGAAACAATCATAAACAGGGCGCTTCCCATGCCAATTAATACA
+TGTGTGCGTAACCCTGCTCCTTTGCCGCGCATTTGCCTTTCCATGCCAATAGCGCCACAGGCAATTACCG
+CAAGTATAAGTCGTATAATAAATTCTGCTGTCATATAAAAATGCAAAAAGGAGCAGCAAGATGGCTCAAC
+TTGCTACTCCTTTTTACTTGTACCTTATTAATTCGGCAAGTCATTAGATGCTTGATTTTTGAAGGTATAC
+AAATTTTTCTGCGGGTTTTTCTTGCAGTATTCGATCACTTTAGGAATTTGAGTGAGATCGGTTTCATTTA
+AAGTAACGGTATCGCCACCTTTATATACTGTTTCTTCATGCAGCATCCACCACGCAACTGGTGTCATTGC
+TTTTGGATTCAGATCAATAAATTCCTGGCAGGTCATATCTTTAGCGGATTCATTGGCTGCCAGCGCAGAT
+TGTGCGTTCACCAGTGACAAAGCCGCTACAGCGCCCATAAAAATAAACGCTTTACGGAGAGATGAAATGT
+TCATTTTGTAACCCATTCAATATAGAGATTATATACAAACAGGAGGAATAGCTGCTTTTAAAGAAGATAT
+TCCGGCCTGTTCAATATGCAAGGAAATACGATGTAACGCATTCCCGGAATTACATATCTTTCTTAATTTT
+GTCCCATTCGCCTTTAACTTTATCTTTAAAGCTGGCTTTTTTATCCTGAGTACAAGCCTGAACGATAGCT
+GGGGTTACGGTTGCAATACCCTGAACATCTAAAACCGCATCTTCTGGTTTATCTTTGTTGTTCAGTGCTT
+CAGCAAAACCAACTGCAGTTGGCTGGAAGGATTCGTCCACAGCCAGGAAATCTTCACAGGTCCAGGAATT
+GACCGGTTTTTTGTTATCAGCTGCTTTTTGTGCATCCGCTGCATTGCTCACTACTGGCAGAAGAAGCAGA
+CCACCAAGAATAACGCCTAATACTTTTTTCATCGTAATATCCTCAACTATAAAGTGAAAGAGCCGTCACG
+AATCAATTTCGACACTGAGGTTATAACCTGGTTTTCTGTATATGTCATGTTGATGGAAAATATCAAAATC
+AGATATTTTTATTTCAATACAATGAGTTACAGACGCATCAGATACTGTAATTAGGAAATTTTTATTAAAT
+CGACTGCATTCTTACACGCGTTTTTGGCATAGATTGATAGCAGGGGATTTTCTTCTTAATTTTATAGGGT
+GGTTCTATGTTATATATAGATAAGGCAACAATTTTGAAGTTTGATCTGGAGATGCTTAAAAAACATCGCA
+GAGCAATCCAGTTTATTGCCGTGCTGCTGTTTATCGTCGGGTTGCTGTGTATCAGTTTTCCGTTCGTCTC
+TGGCGACATTTTAAGCACAGTAGTGGGTGCATTATTAATCTGCTCGGGCATTGCGCTTATTGTCGGGCTA
+TTCAGCAACCGCAGTCATAATTTCTGGCCGGTATTATCCGGTTTCCTCGTCGCAGTCGCCTATTTATTGA
+TCGGCTATTTCTTCATCCGCGCACCAGAGCTGGGCATTTTTGCCATTGCGGCATTTATTGCCGGTTTGTT
+CTGTGTGGCAGGGGTTATTCGCCTGATGAGTTGGTATCGTCAGCGTTCAATGAAAGGCAGTTGGCTACAG
+CTCGTTATTGGTGTGCTGGATATCGTCATTGCCTGGATATTCCTTGGTGCTACGCCGATGGTGTCGGTAA
+CGCTGGTTTCCACACTGGTGGGAATTGAACTGATATTTAGCGCCGCCAGTCTGTTCAGCTTCGCCAGTTT
+GTTCGTTAAAAAGCAATAATTATCCCTATTTCCACCTGGATCATAGTCACATTAAGTGACTATGATCCAG
+TTAATACTCTCTTAGCTATACAGTGTTTCAGTTCAATTACGCACTATCATTGAAACAATTGCCTGCTGTT
+GATTATTTCAACCTACTGAATTTAATCTGATTTTTTTTCGTTCCATGGCAAATTAGCCATTTCAAACATT
+ATCATGGCTGATATTTTCCGTGGTCAGGTTTAATGTTTTAAAAGTGCTGTGGGAAAGTGAACAAAGAGTT
+CCGTAAGCGTTGATGCTATGGGCGGTTAAATAAGTAATCCGGGTTCATTTTTTTGCAACTGGCGTTGATT
+ACATTGCATAAATATCCGTGTCTCCAGACGCTATATAAAAACCTGAAGACATGAATGAGTTATTTAATCA
+GGTAATTTCAATGCGTTAAAAGAAAGCTGGCAATCCAATTGCCAGCCTAAGTCGAAACAAGGAGACTCGA
+TATTTAAATCGGATTACATTTTAACTTTAGTAATATTCTTCAGAGATCACAAACTGGTTATTGATAACTT
+ATTCTTGGGCAGTAATCCGCAAAAGTTAACCTTTTGTTTACTAGTTACAAACTGATAACAACCAGGAATC
+TTACTTAGGACCAATATATGGAGTGCGTGATGGATAAATCTGAAGTATTGATTAGTGTTAATAGACGTAT
+TAGTTCACGAAGGGCAAAGTTCTTATAGGCGTTTACTATATTGAACAACGATTCGGACAAGGATGTAAAT
+AATGAAAAGGATGACATGTTCGAAACGATAACGGCTAAGGAGCAAGTTATGATTTTTCTCATGACGAAAG
+ATTCTTTTCTTTTACAGGGCTTTTGGCAGTTGAAAGATAATCACGAAATGATAAAAATCAATTCCCTGTC
+AGAGATCAAAAAAGTAGGCAATAAACCCTTCAAGGTGATCATTGACACCTATCACAACCATATCCTTGAT
+GAAGAAGCGATTAAATTCCTGGAGAAATTAGATGCCGAGAGAATTATTGTTTTGGCACCTTATCACATCA
+GTAAACTAAAAGCTAAAGCGCCTATTTATTTTGTCAGCCGTAAAGAAAGTATCAAAAATCTTCTTGAGAT
+TACTTATGGTAAACACTTGCCCCATAAGAATTCACAACTATGTTTTTCACATAATCAGTTCAAAATTATG
+CAACTGATTCTGAAAAACAAAAATGAAAGCAATATCACGTCAACGCTCAACATTTCGCAACAAACATTAA
+AGATTCAGAAATTCAACATTATGTACAAGCTGAAATTAAGACGTATGAGCGACATCGTCACCCTGGGTAT
+CACATCTTATTTTTAGTAAGGACATAAGCAACTGAAATTGATGGCTGGCATGACGAGGGATGCAGATGCT
+GATTTCAATACCCCCGGTGATTATTGAAGGAGAGACGAAAACGACTTTATTCCCCTGGTATGTGTATCCA
+CCAGTAGAACCCTTCGTTGCCCGAATGCTGGCAGAAACTGTTGGCAGAACGGCAACATTTTTTTTGTCGT
+TGACCTCACCATGTCGATCACTGTGCTTGCATCCCATCTTACTGGCTGACAACCCCACTATGCCGCTGGT
+CTGTAAATCCCTCATATCTCTCCTCGCGCGCAATTTAAAGAACCGTTATTTCTCAAGAATTTTCAGGGAC
+TAAAATGAACAGAAGAAGAAAACTGTTAATACCGTTGTTATTCTGCGGCGCGATGCTCACCGCCTGCGAT
+GACAAATCGGCGGAAAACGCCGCCGCCATGACGCCTGAGGTCGGTGTCGTCACACTCTCCCCCGGTTCGG
+TCAATGTGTTGAGCGAATTGCCCGGTAGAACCGTTCCTTATGAAGTTGCCGAGATACGTCCCCAGGTGGG
+CGGAATTATCATTAAACGCAACTTTATCGAAGGCGATAAAGTGAACCAGGGCGATTCGCTGTATCAGATT
+GATCCTGCGCCTTTACAGGCTGAGCTGAACTCCGCCAAAGGCTCGCTGGCGAAAGCGCTCTCTACCGCCA
+GCAATGCCCGCATCACCTTTAACCGCCAGGCATCGTTGCTGAAGACCAACTATGTTAGCCGTCAGGATTA
+CGACACCGCGCGCACCCAGTTGAATGAAGCAGAAGCCAATGTCACCGTCGCCAAAGCGGCTGTTGAACAG
+GCGACGATCAATCTGCAATACGCGAATGTCACCTCGCCGATTACGGGCGTCAGCGGGAAATCGTCGGTGA
+CCGTCGGCGCACTCGTTACCGCTAATCAGGCAGATTCGCTGGTTACCGTACAACGTCTGGACCCGATTTA
+TGTCGATCTCACGCAGTCGGTGCAGGATTTCTTGCGCATGAAAGAAGAGGTCGCCAGTGGGCAAATCAAA
+CAGGTTCAGGGCAGTACGCCAGTACAGCTCAATCTGGAAAATGGTAAACGTTACGGCCAGACCGGCACGC
+TGAAATTCTCCGACCCGACGGTGGATGAAACCACGGGCTCCGTGACGTTACGGGCGATTTTCCCCAACCC
+AAATGGTGACTTGCTGCCTGGCATGTATGTCACGGCATTAGTGGATGAAGGTAGCCGCCAGAATGTATTA
+CTGGTGCCGCAGGAAGGCGTCACCCACAACGCCCAGGGTAAAGCAACGGCACTCATTCTGGATAAAGACG
+ATGTCGTGCAGCTACGCGAAATCGAAGCCAGCAAAGCCATCGGCGACCAGTGGGTTGTCACCTCTGGCTT
+GCAGGCTGGCGATCGGGTGATCGTTTCCGGTTTGCAACGCATTCGTCCGGGTATCAAAGCACGTGCAATT
+TCCTCCAGCCAGGAAAACGCCAGCACCGAATCGAAACAATAACGTTGCAGGCTTAAGGGGACTTTCATGG
+CTAACTATTTTATTGATCGCCCGGTTTTTGCCTGGGTACTTGCCATTATTATGATGCTTGCAGGCGGTCT
+GGCGATCATGAACTTACCGGTTGCGCAGTATCCGCAGATTGCGCCACCGACCATTACCATCAGCGCTACC
+TATCCGGGTGCCGATGCGCAAACGGTAGAAGACTCGGTCACTCAGGTGATTGAGCAAAATATGAATGGGC
+TTGATGGCCTGATGTACATGTCTTCAACCAGCGATGCGGCAGGTAATGCCTCCATCACTCTGACCTTCGA
+GACGGGGACATCACCTGATATCGCACAGGTTCAGGTGCAAAATAAACTGCAACTCGCTATGCCTTCATTA
+CCTGAAGCGGTGCAGCAGCAGGGAATTAGCGTCGATAAGTCGAGCAGTAATATCCTGATGGTAGCGGCAT
+TTATTTCTGATAACGGCAGCCTCAACCAGTACGATATCGCGGACTATGTAGCGTCTAATATCAAAGACCC
+GCTAAGCCGTACCGCGGGCGTTGGTAGCGTACAGCTCTTTGGTTCCGAGTACGCCATGCGTATCTGGCTG
+GACCCGCAAAAACTCAATAAATATAACCTGGTACCTTCCGATGTTATTTCCCAGATTAAGGTGCAAAACA
+ACCAGATTTCCGGTGGTCAACTGGGTGGCATGCCACAGGCGGCAGACCAGCAACTGAACGCCTCGATCAT
+TGTGCAGACGCGTCTGCAAACGCCGGAAGAATTTGGCAAAATCCTGTTGAAAGTTCAGCAAGATGGTTCG
+CAAGTGCTGCTGCGTGATGTCGCCCGCGTCGAACTTGGGGCGGAAGATTATTCCACCGTGGCGCGCTATA
+ACGGCAAACCTGCTGCCGGGATCGCCATCAAACTGGCTACCGGAGCAAACGCCCTGGATACCTCGCGAGC
+GGTGAAAGAGGAGCTGAACCGTTTATCGGCTTATTTCCCTGCAAGCCTGAAGACGGTTTATCCTTACGAC
+ACCACACCGTTTATCAAAATTTCTATTCAGGAAGTTTTCAAAACGCTGGTTGAGGCTATCATCCTCGTCT
+TCCTGGTCATGTATCTGTTTTTGCAGAATTTCCGCGCCACAATCATCCCGACGATTGCCGTACCGGTGGT
+TATTCTCGGGACGTTTGCGATCTTGTCGGCGGTCGGTTTCACCATCAACACGTTAACTATGTTCGGGATG
+GTGCTGGCGATAGGGTTACTGGTGGATGACGCCATCGTGGTGGTGGAGAACGTCGAGCGTGTCATTGCGG
+AAGATAAGCTACCGCCGAAGGAAGCGACGCATAAATCGATGGGGCAGATCCAACGTGCGCTGGTCGGGAT
+TGCCGTTGTTCTTTCCGCAGTGTTTATGCCGATGGCCTTTATGAGCGGTGCGACCGGGGAGATCTACCGC
+CAGTTCTCCATCACGCTGATCTCCTCCATGCTGCTTTCAGTATTTGTAGCAATGAGCCTGACCCCTGCCC
+TGTGCGCCACCATTCTGAAAGCCGCGCCGGAGGGCGGTCACAAACCTAACACCCTGTTCGCACGCTTCAA
+CACGCTGTTTGAAAAATCAACTCAGCACTATACCGACAGCACCCGCTCGCTGTTGCGTTGTACCGGTCGC
+TACATGGTGGTCTACCTGCTGATTTGCGCCGGGATGGCGGTGCTGTTCCTGCGTACGCCGACCTCTTTCT
+TACCAGAAGAGGATCAGGGGGTATTTATGACCACCGCGCAGTTACCTTCCGGTGCAACCATGGTTAACAC
+CACGAAAGTGCTACAACAGGTGACGGATTATTATCTGACAAAAGAGAAAAATAATGTTCAGTCGGTGTTT
+ACCGTTGGTGGCTTTGGCTTCAGTGGTCAGGGGCAAAACAACGGTCTGGCGTTTATCAGCCTCAAGCCGT
+GGTCTGAACGTGTCGGCGAGGAAAACTCGGTTACCGCGATTATTCAGCGGGCAATGATTGCGCTAAGCAG
+TATCAATAAAGCCGTCGTCTTCCCGTTCAACTTACCCGCGGTGGCTGAACTGGGTACCGCGTCAGGTTTT
+GATATGGAACTGCTGGACAACGGCAATCTGGGGCACGAAAAGCTGACCCAGGCGCGAAACGAGCTGTTAT
+CACTGGCAGCGCAATCACCGAATCAGGTCATCGGGGTACGCCCGAACGGCCTGGAAGATACGCCGATGTT
+CAAAGTGAACGTCAACGCTGCGAAAGCCGAGGCTATGGGTGTGGCGCTGTCTGATATCAACCAGACAATT
+TCCACCGCCTTCGGCAGCAGCTACGTGAACGACTTCCTCAACCAGGGGCGGGTGAAAAAAGTGTATGTCC
+AGGCAGGCACGCCGTTCCGTATGTTGCCGGATAACATCAACCAATGGTATGTACGCAACGCCTCTGGCAC
+GATGGCACCGCTTTCTGCCTATTCGTCTACCGAATGGACCTATGGTTCACCGCGACTGGAACGCTACAAC
+GGCATCCCGTCAATGGAGATTTTAGGTGAAGCGGCTGCCGGGAAAAGTACCGGTGACGCCATGAAATTTA
+TGGCAGACCTGGTCGCAGAACTTCCGGCAGGCGTCGGCTACTCATGGACTGGGCTGTCGTATCAGGAAGC
+GTTATCCTCAAACCAGGCTCCCGCGCTATATGCCATTTCACTGGTCGTGGTGTTCCTCGCCCTCGCCGCA
+CTTTATGAAAGCTGGTCAATTCCGTTCTCGGTGATGTTGGTTGTTCCGTTAGGCGTCGTTGGCGCATTAC
+TGGCCACCGATCTGCGCGGCTTAAGTAATGACGTTTACTTCCAGGTTGGTTTGCTGACCACCATCGGGCT
+TTCCGCCAAGAACGCCATCCTGATTGTCGAATTTGCCGTTGAGATGATGCAGAAAGAAGGGAAAACGCCG
+GTAGAGGCAATCATCGAAGCAGCGCGTATGCGTTTACGCCCAATCCTGATGACTTCTCTGGCCTTTATTC
+TCGGCGTGCTGCCGCTGGTTATCAGTCATGGTGCCGGCTCTGGCGCGCAAAACGCGGTAGGTACCGGCGT
+AATGGGCGGGATGTTTGCCGCAACAGTGCTGGCAATTTACTTCGTTCCGGTCTTTTTCGTTGTAGTGGAA
+CATCTCTTTGCCCGCTTTAAAAAAGCGTAACGTGTAAATGAGAGTAAGGTTGAACGTGAGGGTTCAGCCT
+TACTCTTTCCTGCTAACCATTCACCACTCAACAACCAGCTAACCGTCAGGAATACCAGGCTTAGTACACA
+GCACTGAAAGTAGAAACCACTCCAGCCATTCGTCATCAATTTGAACAGCACAATACTGACCCACATTCCC
+GTAATCGTATGAATTGTTAGCTTAATAATCCCAAACATGCCGAGTCTTTTCCTCCTGAAAATACCTATAC
+CGCCTGGCAAACTGCGAAAGAGAACTAGCCGGTAGCCCGGCAGAAATCATCAGGAAAGAGTTTCACATGA
+AGCAGACGTGAGATCCTGACCAATATTCAAATGCGAAATATGTCAGGAAAAGGTACCCGGCGAATGTTGC
+GAAAACTGATGTGGCGTTACACCATAATATTGTCTAAATGTATTTATAAAGTATGACGTACTGCTATAGC
+CACATTTTTCCGCAATAGTATGCAGAGGTATTTGACGTAACTCGAGTAATCGTCTGGCCATCGACATCCT
+GGAGGCGAGTAATATTTTACTGAAACAGGTATTTTCATCCTGCAACTTTTTTTTGATGAGACTCTCGCTG
+GTATACATTCTTTCTGCGATATCGCGTAGATACCAACGTTTAGCGATATCAAAGCTAATAAGGCGTTCAA
+CTTTTCCTGAAACAGTACTGATACTATTGAAAAGTAAGGGGATCAGTTCTTTTTTATGAGAAAACATTGA
+TAAACAGGAAAGATAGAGCATTTTGCTCAGTATCGGCGAATTGACCCGGGGGTCATTGAAACTATCAAAA
+ATCGCCGTCACCAGCTGTATGGGGGGTGACTGGTTAATTAATAAACGGTCTTTGCTATGCAATCCTAAAT
+TACGTGGCAACTGACGAATATTTTGTAAGTAATGGCAAACTGTCAGCTCTTCGATATCCAGCCGTCGCGT
+ATCCAGTGAACAAAACGCAAAATCGTCTGCCAAATTTTTATCCAGCAGCAGGATACTCTCGTTATGCAAC
+GATATTTTTTGCTGTTCATGATGAATATCGAATGAACGACGAACGAGGATCACCGAGCAGACATGAGCCA
+TGACTATCCCTTATATTTCATTACTGCGATTATTTCAATGTCAGTATACTAATGAAATGACGCCAGACTG
+TTTCTGTGTGCAAAAACTGCCATATTTGGTAGGACCAAATTTTATCCACAAAGTAGTTTTGCATAACAGT
+TAATTGATAATAAGTAAATGCAACACGATTATATTTTCACACAGCGTATAGCTTATGTTTATAAAAAAAT
+GGCTGATCTTATTTCCAGTAAAAGTTATATTTAACTTACTGAGAGCACAAAGTTTCCCGTGCCAACAGGG
+AGTGTTATAACGGTTTATTAGTCTGGAGACGGCAGACTATCCTCTTCCCGGTCCCCTATGCCGGGTTTTT
+TTTATGTCTGAGTAAAACTCTATAATCTTATTCCTTCCGCAGAACGGTCAGTGCCGTAAAAAATCCCTTG
+CGCAGCCATACTTGCCGCCGGGCCACAGTTCGGTAATTCCTGCGCCGATCGCTCCTGATACTCTGTGGGC
+GTCATCCCATAATAATTTCGAAAAACGTAAATGAAATACGACACGCTGTGATATCCACAGGATACTGCAA
+CTCGCTTAATTGAAACCCCATATATAACAATAAGTTGTAAAGCACGCTGCATCCTACACTCAGTAAGCAA
+CTGTGAATATGACGTACCTTCTTCGCGCAATTTTTTCTTTAACAGGCTTGGACTCATCAACAATTCGCTA
+GCGATTCGGGCTAATGTCCACTCATGGGCGATATTATTATTGATGACCGTACAAACTCGTGTTCGCATAT
+TCGGTTGCAACACGTTCAGAAGTAACGGTATAAACTGCGTATCCTCAAGAAAAACAGATAACAACGCAAA
+GATTAATGCCCTTTTACGTAGCATTTCTGCATAGCGAAGATTCTTATTCTGCGATAGTTGCGCAACTTCC
+TGAAAAACAGGAATATCTCTGGTACAGTGATGAACGAGTAATGAAGGAACTTTTTTATGTGCATGAAGTT
+TTAATGCCTCCTCCTTGAGCATCGGGAGAAATAATGAAAGCGTGTCTCTTGAAACTAATACGAAATTCTC
+AACACACTTATCCACTTGAATTTGGCTTGCATCCGCAAAAACCAGATCACCGCCATTAAAATAGCGATAT
+TCACCATTAACCATGGTGAGAATATATTTATGTCTTGCGTACGCAATTAGACAATTACCATGTAGTGGTT
+GCATAGTTGACTTAATATTACATAAACATATTACTGTTTATTAATGTAGCACGCCGCCCTCTTAAGTCAA
+ATTGATTGATAAATAAATTTAAACGAAGCGGGAAAACAGGATGATAATGAGCGATGATACTCGGGCTGGA
+TGACTGGATTTATTATATAAAAAGGGGACTTAAGAACGAAGAGGAATTAATAGTTAGCAAATAATTCATC
+ATCGTAATATTAAGCAGTATCGCTATGCTCCATAACATTCATATAACATATATCTTATCAACACGATGAA
+TAGACAGGTAATATATTATTGCAATTAATAAGTAGCCGAATACCCACCTGTTTTTAAAGGTTGGGCATTC
+GGTTTTTACAACGTGATGTTATCAGGTGTGTTTAAAGCTGTTCTGCTGGGCAATACCCTGCAGTTTCGGG
+TGGTCGCTGAGATATTTCAGGGAGGCTTTGTAGTCTTCCAGCAACAGTTCAGCAAAGTCCATTTCGAAGC
+CGCGACGACACATAATGCGCATCACCACGATGTCGGTGGCTTCACCGCCGAGAGTGAAGGCCGGAACCTG
+CCAGCCGCGCAGACGCAGACGTTCAGAGAGGTCGTACAGGGTGTATCCTGGATCTTCACCATCTTTCAGT
+TTGAAGCAAACCGCCGGGATGCCTTCGTCCGGGCGACCGGTACAGATGAACTCATACGGCCCCAGTTTGG
+CGATTTCATCCGCCAGATAAGCAGCAACCTGGTAGGAAGCGTTCTGTACTTTGGTATAGCCTTCACGACC
+GAGGCGCAGGAATTCATAATACTGTGCAATCACCTGACCCGCCGGGCGGGAGAAGTTGATGGCGAAAGTA
+CCAATCTGACCGCCGAGGTAGTCAACGTTGAACACCAGTTCCTGCGGCAGCGCTTCTTCATCACGCCAGA
+TAACCCAGCCGCAGCCCAGCGGAGCCAGACCGAATTTATGGCCTGAAGCACTGATCGATTTCACACGCGG
+CAGGCGGAAGTCCCAGACGATATCCGGGGCGACGAACGGTGCCAGGAAGCCACCGCTGGCGGCGTCGATG
+TGCATGTCGATGTCGATACCGGTGTCGGCCTGGAATTTATCCAGCGCATCGTGCAGCGGCTGCGGGAACT
+CATAGTTACCGGTGTAGGTCACGCCGAAAGTCGGCACCACGCCGATGGTGTTTTCGTCGCAGGCTTCAAT
+CATGCGTTTCGGGTCCATAAACAACTGACCGGGGCGCATTGGGATCTCACGCAACTCCACATCCCAGTAG
+CGGGCGAATTTATGCCAGCAGATTTGTACCGGACCGCACACCAGGTTTGGTTTATCCGTTGGTTTGCCTG
+CGGCTTCCATACGCTTGCGCCAACGCCATTTCATCGCCATCCCGCCGAGCATACAGGCCTCGGAAGAACC
+AATGGTGTTGGTGCCAACGGCCTGACCATTTTTCGGTGCAGGCGCATGCCACAGATCGGCAACCATGTTT
+ACGCAACGCAGATCGATTGCTGCAGATTGCGGATATTCTTCTTTGTCGATCCAGTTTTTGTTAATGGATA
+AATCCATCAACTTATGGACATTATCGTCGTCCCAGGTCTGGCAGAAAGTGGCCAGGTTCTGACGAGCGTT
+GCCATCAAGATATAATTCATCATTGATAATCTGAAATGCAACATCATCGCGCATTTCGTGCAGCGGAAAT
+CGTTTTGACTCCGCGATAGTAGAAATGGCCTTTGCACCAAAACGTGAATCGAGTAGTTCTGAGCGGAAAT
+CCGTTAACAGCTTCTGGTCCATTTCGAACTCCTTAAATTTATTTGAAGGCAATAAAAAAGTAGGATTTAT
+CCGCAATGGAAGCAAGGCATTACAGGCTTAATTTAAATAACAAAATCCTAAGCAGAAAAACGACCTTTTA
+TAATATAAACATTTAATATGATAATATTAAAAACAGACTTTATTATCGTAATAAAAATCGCCCAAACACT
+CCTGTTCGGGCGATCAAATTAATTATTGTTTATCCTGCATATACGGCGTGTAAACCCCGTTCAGACTGTG
+CAGGAAAGCGACGATATCATCCACATCCTCCTGCGGCAGCTCTTTGCCTACCTGATAGCGCAGCATCAGT
+TTCACCGCCCCGTCCAGCGTCGGCACGTCACCGCGATGGAAGTACGGTGCCGTTAAAGCAACGTTACGTA
+AACCGGGTACTTTCTGACGCAATTTATCACGCTCTTCTTTAGTAACATTCATACGACCAATATCCGCCGC
+CGTAATTTCACCAAAGTTAAAGTCTTTTTTCAGCCCCAACGGTTCAAAGGAACGTCCGCCGAGAATAATA
+CCACCATGACAAGTTGCACATTTATTATCTTTAAATAATTGATAGCCTTTTTTCTGTTGCGCCGTCAGAG
+CATTCTCATCTCCACGCAACCATTTATCAAATGGGGATCCGGCGTAATTAATGTTTTCTCAAATTCAGCA
+ATGGCATCAGTAATATTTTCGCCACTGAAACCTTGCGGATAGACTTCGAGGAACTGCGCTTTAAGCTGCG
+GATCTTTTTCCAGCTTAGCAATAATTTCGTCCCAGGATTTCGACGCCATTTCAATCGGGTTCAACGGCGG
+TCCACCAGCCTGATCCTGCAATGTTGCCGCACGACCATCCCAGAACTGCTCAACGTTAAATACTGAGTTA
+AATACCGTCGGCGCGTTAATCGGCCCAACTGCGCCACCAACACCAATCGATGTTTTTCTACCATCGACGC
+CTCCCGCATTCAACGCATGGCAATGAGCGCATGAAATGGTGCTATCAGCCGATAAACGAGGATCGTGATA
+CAGCGCAAAGCCCAACGCCACTTTTTGCGCATCGGTAGGCAGTTTTTGCGGGATGGGCTGCACCGGTTCA
+TTGCGATGCTCCGGAGCAGTATCATTGCTGGCGTAATATTCCGCGCGCTGTTTTGCAATCCAGGCCAGTA
+TTTCCGCCCGCTCTTCATCACTCACCTTACCCGCCCAGTGTAGCGCGGTATAACGCGTTGGCGGCATAGT
+TTCATACTGCATCACCCATTCAATCTTATTCAGATCGCTTTGCGAAACGGGTTTATTAGCCAGCAGAGCC
+GCACGCACGGCCTCGAGGTTAAAAGATTTATATCCAAGCTTTATGTCGTAATCCATCAACTGTTTCGCGC
+CGGGAATATAATAATAGGCAGGTAATTCTGCCGAAGGCGTATGGCAATAATCGCATCCTTTTTCGCGGAG
+AAAGCCTAAAACCTTATTATTTTCACTGACAGCAGATGCCTGAACATCGGCCTGTTTACTGCGTTTATTA
+TCGTGGTACCACACATAACCAGATAACCCTAAATAGCAAATCGCGACGCCAGCCAGGCCGATCGCGGTAA
+TACGTGAGACCATTTTCATTATTCTTCCCTCACGGTGGTGAGTTATTGTGACCCAGAAAATTTTCCAGAA
+TGCTGCAAACGTCTCTGCGAGACAAAGCCATCATAAAAAACAGGGAGATATGCTTTTTGATAGGAATCAA
+TCAATTACATGAATATAAACTATCAATAAGATAGCCAGTGCCTATTACCCAGATCAGGAATGGCATATCA
+TGATTGCGGCGAGAGCAGGATTGAATGTTCTGAAAATGAAAAACAACACGAAATCCGTATTTTTATAAAT
+TCCATTGATATTAGTGCGTTATATTTTTTGGCAGGTTAATAAACGTGATCCACCGCACGCTTTGTCGCCC
+ACCAGGCGGAGCGAATGACTACCCTTAAAGAAAAGCCCGATAATTAGCGACGAATTTCGGAGGTCGGATC
+CTTATGCTCAATCAGAAAATTCAAAACCCTAATCCAGACGAACTGATGATCGAGGTCGATCTCTGCTATG
+AGCTGGACCCGTATGAATTAAAACTGGATGAGATGATCGAGGCAGAACCGGAACCCGAGATGATTGAAGG
+GCTGCCCGCCTCTGATGCGCTGACGCCTGCCGATCGCTATCTCGAACTGTTCGAGCATGTTCAGTCGGCG
+AAAATTTTCCCCGACAGTAAAACCTTTCCCGACTGCGCACCCAAAATGGACCCGCTGGATATTTTAATCC
+GCTACCGTAAAGTGCGCCGTCATCGTGATTTTGACTTGCGCAAGTTTGTTGAAAACCACTTCTGGCTGCC
+GGAGGTCTACTCCAGCGAGTATGTATCGGACCCGCAAAATTCCCTGAAAGAGCATATCGACCAGCTGTGG
+CCGGTGCTAACCCGTGAACCACAGGATCACATTCCGTGGTCTTCTCTGCTGGCGCTGCCGCAGTCATATA
+TTGTCCCGGGCGGCCGTTTTAGCGAAACCTACTATTGGGATTCCTATTTCACCATGCTGGGGCTGGCGGA
+AAGTGGTCGGGAAGATTTGCTGAAATGCATGGCCGATAACTTCGCCTGGATGATCGAAAACTACGGCCAC
+ATCCCCAACGGCAACCGCACCTATTATTTGAGCCGCTCGCAACCACCGGTTTTTGCGCTGATGGTGGAGT
+TGTTTGAAGAAGATGGTGTACGCGGCGCGCGCCGCTATCTCGACCACCTGAAAATGGAATATGCCTTCTG
+GATGGACGGTGCAGAATCGTTGATCCCTAATCAGGCCTATCGCCATGTTGTGCGGATGCCGGACGGCTCG
+CTGCTCAATCGTTACTGGGACGATCGCGACACGCCGCGTGACGAATCCTGGCTTGAGGACGTTGAAACCG
+CGAAACATTCTGGTCGCCCGCCTAACGAGGTGTACCGCGATTTACGTGCGGGGGCGGCCTCCGGTTGGGA
+TTACTCTTCCCGTTGGCTGCGTGATACTGGTCGTCTGGCGAGCATTCGTACCACCCAGTTCATCCCCATC
+GATCTGAATGCCTTCCTGTTTAAACTGGAGAGCGCCATCGCCAACATCTCGGCGCTGAAAGGCGAGAAAG
+AGACAGAAGCACTGTTCCGCCAGAAGGCCAGTGCCCGTCGCGATGCGGTAAACCGTTACCTCTGGGATGA
+TGAAAACGGCATCTACCGCGATTACGACTGGCGACGCGAGCAACTGGCGCTGTTTTCCGCTGCCGCCATT
+GTGCCGCTCTATGTCGGTATGGCGAACCATGAACAGGCCGATCGTCTGGCAAACGCCGTGCGCAGCCGGT
+TACTGACACCTGGCGGGATTCTGGCAAGCGAGTACGAAACCGGTGAACAGTGGGATAAACCCAACGGCTG
+GGCACCGTTACAGTGGATGGCAATTCAGGGATTTAAGATGTACGGCGATGACCTTCTGGGTGATGAAATC
+GCGCGCAACTGGCTGAAGACGGTGAATCAGTTCTATCTGGAACAGCACAAACTGATCGAGAAATACCATA
+TTGCCGATGGTGTTCCTCGCGAAGGCGGCGGTGGCGAGTATCCGTTGCAGGATGGGTTTGGCTGGACTAA
+CGGTGTGGTACGCCGTTTAATTGGTTTGTACGGCGAACCATAATATTTTTACAGCCAGCCGCTAACTTCC
+TGCTGGCTGTAAAATTATCCTCTTCAGGAGGAGATATTTAACATCATTGCCGCCTGGGTGCGATTTTTGA
+CTTCCAGACGGCGATACAGTGATTCCAGATGCGCTTTTACCGTTCCGGTACTGATATTCAGCGCCCTGCC
+GATCTCTTTATTTGATTCGCCCGCCGCTAACATGGTTAAAATCTCCCGCTGGCGGGCGCTTAACGATTTG
+AGATCTTTAATGTCCTTTTCCGGCGTCGTTCGCCAGTCTCCAGGCAGAAACATCATCCCCATCGCCGCAC
+TATTTACCGCCAACGCAAATGTCTCGACGGTTGAATCACGAGGCACAATGGCCAGCACATTAAAATGAAT
+AACTTCCTGTAACCACCGTTTGTTGCAATCCGTCGCCGTAATTAACACCTTAACCTCAGGAAATTGCACC
+ACGGTTTTTTGCAGCAACCAGTAGCAAAACTCACCATCCTGATCGCCATCGAGCATCACTAAGGCTTCAG
+GGTAACTTTCCAGCTTTTGCCATAACTCGTCTGCCTGACTGGCCCCCTGAATACTCACTCCTGGAATACG
+ATGCTGTAAACTGATTTTCATTCCATGAATAAATATTGACTGCCTGTCAAACATGACTATTTGCATAACT
+GAATCTCCACCTGAATACGTTAAAAAGACTTAAGTAGTGGAAGGGTATTACTCGCGAGAAAAAATAAGAA
+TTCGCCATTTGGCGGTGGCCATTCTACAGAGATGACGCGTAGAAAATAGTTACCGATATAAATAGTTACA
+GCTAAACGCCTGAAATTACATGTCGAGGGCACTATTTAAAACATTTTTGAGGATTTCCTTATATCGGTAG
+TTAGTACGCATGCAATTAAAAATGAAATTCCGCGACCATAAACAAAAATAACAAACGGCAATGAGATAAA
+AATAAGCACAAATAGCCAATACATCTTCTATTCACTTTAAAAGGAATCGCTGAAAAATACGCTCTGTTTA
+AGGGAATTCACCTTTCTCATAAAGCCATTCCGCCCTTTTCCTGCTGAGAAATCGCCACATTCATCATGAC
+AACATTGTGAAACCCGGCATTAGATGTTAGAAAAAACAATAAACAATGCGATATGCGCGCTACTGTTTCG
+TTGTGAACAACAATCGGTCAAAGAAATGGATAAAATTCACGCAATGCAGTTGTTCATCAAAGTCGCGGAG
+CTGGAAAGTTTTTCCCGCGCGGCGGATTTCTTTGCTTTGCCAAAGGGAAGTGTTTCGCGCCAGATACAGG
+CACTGGAACATCAACTTGGCACCCAGCTTCTCCAGCGCACCACGCGACGGGTCAAACTCACGCCAGAAGG
+CATGACCTATTATCAACGAGCAAAAGATGTGTTGAGTAATCTCAGCGAACTGGACGGTCTGTTTCAACAG
+GATGCCACCAGTATCAGCGGTAAATTACGCATCGACATCCCGCCAGGAATCGCGAAAAGCCTGTTACTGC
+CGCGCTTGTCGGAATTTCTCTATCTGCATCCGGGAATTGAGCTGGAACTGAGTAGCCATGACCGTCCGGT
+AGATATTCTTCATGATGGTTTTGATTGCGTGATACGCACTGGCGCATTACCGGAAGATGGCGTTATCGCC
+CGTTCTCTCGGCAAACTGACCATGGTCAACTGTGCCAGTCCACACTATCTGACGCGCTTTGGTTATCCGC
+AAAGCCCCGATGATCTGACTTCACACGCAATAGTGCGTTATACACCGCACCTGGGTGTACATCCGTTAGG
+TTTTGAGGTTGCCAGCGTTAATGGCGTCCAGTGGTTTAAGTCTGGCGGCATGTTGACGGTAAACAGTAGC
+GAAAACTATCTCGCCGCCGGTATTGCCGGTCTGGGATTATTCAGATCCCGCGCATTGCCGTGCGCGAAGC
+CCTGCGTGCCGGGCGGCTTATTGAAGTGTTGCCTGGCTACCGTGCCGAGCCGCTGTCCCTTTCACTGGTT
+TATCCGCAGCGTCGGGAGCTTTCCCGGCGTGTAAACCTGTTTATGCAGTGGCTGGCTGGCGTAATGAAAG
+AGCACCTGGACTGACCGACTATACTTTTTAAGAATAACCACGACAGAAGGACAAAAGAGCGGATGACGCA
+GGAAAACGAGATCAAACGTCCCACCCAGGATCTGGAGCACGAGCCGATTAAGCAGTTGGATAATAGCGAG
+AAAGGCGGCAAAGTTAGCCAGGCGCTGGAAACCGTCACCACCACTGCCGAGAAAGTCCAACGCCAACCGG
+TTATTGCGCACCTGATTCGCGCGACAGAACGCTTTAACGATCGGCTGGGTAACCAGTTTGGGGCGGCTAT
+CACCTATTTCTCATTTTTGTCGATGATCCCCATTTTGATGGTGTCGTTTGCCGCAGGGGGCTTTGTGCTG
+GCCTCCCATCCGATGTTGCTACAGGATATCTTCGACAAAATTCTGCAAAACATTAGCGATCCGACGCTAG
+CCGCCACGTTGAAAAACACCATCAACACCGCCGTTCAGCAGCGTACGACTGTAGGGCTTGTCGGTCTGGC
+AGTGGCGCTTTATTCCGGCATCAACTGGATGGGTAACCTGCGTGAAGCGATTCGCGCCCAGTCACGCGAT
+GTCTGGGAACGCTCGCCGCAAGATCAGGAGAAGTTCTGGGTAAAATATCTGCGTGATTTTATTTCGCTGA
+TTGGTTTGTTGATTGCGCTGATTGTGACGCTTTCTATCACCTCGGTTGCCGGTTCTGCGCAGCAAATGAT
+TATTAGCGCCCTGCACCTGAACAGCATTGAGTGGCTGAAACCGACATGGCGGTTGATTGGCCTGGCGATT
+TCCATCTTCGCCAACTATCTGCTTTTCTTCTGGATCTTCTGGCGGTTGCCGCGCCACCGTCCGCGCAAAA
+AAGCCCTGATCCGCGGAACATTTCTGGCTGCTATTGGTTTTGAAGTGATTAAAATCGTGATGACCTACAC
+CCTGCCATCGTTGATGAAATCACCCTCTGGCGCAGCATTTGGTTCCGTGCTGGGGCTGATGGCATTTTTC
+TACTTCTTCGCCCGTTTGACGCTGTTTTGCGCGGCGTGGATTGCCACCGCCGAATATAAAGACGACCCGC
+GAATGCCGGGGAAAACGCAGCCTTAAAATAGGCCGGATGCGGCGTACGAATTTATTCGGCCTGGCTCCCC
+GTAGGCCGGATAAGATGCGCCAGCATCGCATCCGGCTATAATGCGCACATAACCTCTTGAAACTCTTTCC
+CAGAGCCTCTTTAGCCATCTATTCAGGAGCAAACAATTTCATTCCAACTCATAACCCCAGCATATAAATC
+CAGTTGGTAACTTTTATTTAACCTAAAACCAGTTTAATCCACCATTTATAAAATTATGTGAAGCATTTCA
+TAGAAGAAAAATCACTGGCCTAAACATTATCCCCTTTTTGCATGATTTTTGACCATTTCCGCGATTTGTT
+ACACATTGAAATATCACTTTTGCTGTGCGTAATATGGCTATTCGTTAGCCAAAAAATAAGAAAAGATTAT
+GCAAGCAACAGCCACAACACTCGACCACGAGCAAGAATACACGCCGATCAACTCGCGTAATAAAGTCCTT
+GTCGCCTCTCTCATTGGCACGGCCATTGAGTTCTTCGACTTTTACATTTACGCCACTGCGGCCGTTATTG
+TGTTTCCGCATATCTTCTTCCCGCAGGGCGATCCAACGGCAGCAACGCTACAGTCGCTCGCCACCTTCGC
+CATCGCCTTCGTCGCGCGCCCCATTGGCTCTGCCGTTTTTGGTCATTTTGGCGATCGCGTTGGGCGTAAA
+GCGACGCTGGTCGCCTCGTTGCTAACGATGGGGATTTCGACCGTGGTGATTGGTCTGCTGCCAGGCTATG
+CCACGATTGGTATTTTCGCCCCGCTGCTGCTGGCGCTGGCTCGATTTGGTCAGGGTCTGGGCTTAGGTGG
+TGAATGGGGCGGCGCGGCGCTGCTGGCGACTGAAAACGCCCCACCGCGCAAACGTGCATTGTACGGCTCC
+TTCCCGCAGCTGGGCGCACCGATTGGCTTCTTCTTTGCCAACGGCACTTTCTTGCTGCTTTCCTGGCTAC
+TGACCGACGAGCAGTTTATGAGCTGGGGCTGGCGTGTGCCATTTATCTTCTCGGCGGTGCTGGTCATTAT
+CGGCCTGTATGTTCGCGTGTCGCTGCATGAGTCGCCGGTGTTTGAGAAAGTCGCTAAAGCGAAAAAACAG
+GTGAAGATCCCGCTGGGTACGCTGCTGACCAAACATGTTCGCGTAACCGTACTGGGTACGTTCATTATGC
+TGGCAACCTATACGCTGTTTTACATCATGACGGTCTACTCTATGACCTTTAGTACCGCCGCCGCGCCAGT
+TGGGCTTGGCCTGCCGCGTAACGAAGTGTTGTGGATGCTGATGATGGCAGTTATTGGTTTTGGCGTGATG
+GTGCCCGTCGCCGGATTACTGGCTGATGCCTTTGGTCGCCGTAAAAGCATGGTAATCATCACCACGCTGA
+TCATCCTGTTCGCGCTATTCGCCTTTAACCCTTTGCTCGGTTCTGGCAACCCGATTCTGGTTTTTGCCTT
+CCTGCTGCTGGGGTTAAGTCTGATGGGGCTGACCTTCGGTCCGATGGGGGCGCTGCTGCCGGAGCTGTTC
+CCGACAGAAGTGCGTTACACCGGAGCATCGTTCTCTTACAACGTATCGTCGATTCTCGGGGCTTCCGTTG
+CGCCATATATCGCAGCCTGGTTGCAGACTAACTACGGGTTAGGTGCGGTGGGGCTATATCTGGCGGCGAT
+GGCTGGCTTGACGTTAATCGCCCTGCTGCTGACCCATGAGACGCGACATCAGTCGTTGTAATCAGAGTGA
+AAAGCCTGATGCGCTACGCTTATCAGGCCAGAATTTCCATACAATATATTGAATTAGCAAGGATTTGTAA
+GCCGGAGGCGTTCACGCCGCATCCGGCATGAACAAAGCACACTTTGCCAACAATCTAAATCTGTTTAATT
+GCCGGATGTCAGACATCCGGCAATTATCATCACTTCTTCATCTGCGACAAAATTGTCCGGCACTGATTAG
+CCTCCCCTTCGGAAGGTGAGATCAGTGCCAGCAATGCTGCCGCTGGCGTAACCAGCGTTGCCAGTGCCGC
+CGCAACAGCACCACGGGCAATCAACGGCCCGGCTTTCACCCCAGCCTGCGGATTTTTAAACGTCCCACGC
+ACATACAGCGGCGAACGCAGCGTGATAATGCGAATCCCTTTACTTTCTGGATCGATAGTTAAATCCAGCT
+GTTCCGAAGCAAAACTTGCCGTGCCGGTAACATTGATCAACGCATTCTCGGTATCAAAAGCGAAAACCTG
+CGGACGCGCCACACCGTTGGCAATATCCAGATTCGCTGCCGCGCAGTTCACCCGCACCTCATCATCACCA
+AATATCGCACCGACAATGTAGTTGCCGACATTCAGCCCAACAATCTCCATCAGGTTGCGGCTCACCAGCC
+CGTCATTCATCAACAGTTTCAGGTTGCCGTTACTGTTGCCTAAAAGCGCCGCCACCGAGTTACCGCTACC
+GCGCAGTTCCGCGTCACCGTTCATTTCCCCCAGCGTCTTCTGCATCAGTTCTACATCGGGCATCAGTTCT
+TTCAGTTTCAGTCGACGAGCCTGAATATCTGCCCGCCCCTGCATCGGCTTTTTATCGCCTTCCAGATGAA
+TATTCGCCGCAATGCTGCCGCCCGCTATGCCAAATTTCAGCGGTTGCAGGCGCAGGTCAGCATTTTTGAG
+GATGATATGAGTAGAAAGATCGCTAATCGGCAGGCTGCTGCCATGCTCAATGCGCCGCCCTTTGAAGCGA
+ACATCGGCATCCATAACGTCCCATTTATCGGTTTCGAAGCGGTCATAAGGCAGCACTTTGCCCGCAGGCT
+GAACGCTTTTTTCGCCCTTCTTCTGTTCAGACCGTTTCGACTTTTCTGCCCCTTTCCCGGAATCAACGCC
+AATCAACGGTCCCAGGTCCGCCAGCCGCAATTGCCGCGACTCGACATCACCTTCCAGTTTTGGTCGTGGC
+TTGCCGGTGGTATAGATCAGAGAACCGTGGATATCGCTATCGCCAATGCGCCCATTAAAACCGCGATAAT
+CAAAGACCGACGATTTTTCAGTGTCGATTTTCGCTACCAGCCGACCATCCGTTTCAAACGGCGGTGTATC
+GGGCAGCAGAACGCCCGTCAGTTCATAGAGATCACCCAGCGAATCGCCAGAAAATTTAAGCCGTAAATCG
+ACACCCCCCATCTTCATTGGGTCATTCACAACGCCATCAAAAGCAACACGGGTGTTACCAGAGCGGAAAT
+CAGCCTGTACCGGAAACAGCGTTCCTTCGCCACGCAGCGCCAGCATACCGCCTATTTTTCCCGTACCAGT
+GAGCGGTTCACCGTTATAACGTCCCTGCGCCTTCAGGCCAAAAACGTAATCGCCCACCTTTTCTTTATCC
+GCTTTACCTTTCGATCCGGTAACTTCGCTGAACGGCAGCGGCTTGCCTAACGGATCGACAAAAATTTCCA
+GATCCGCTTTGCTTACTTTATCATCAATGGCGATCCGCCCTTGATCGAAAAGAATATTATCCAGCTGAAA
+CGACCACGCCGACGGCTTTGCATTCGCGTCTTTGTTGTCATCGTTGGCGAGATTAAACGTCCAGTTATTG
+TTCTTTTCGGAGAGGCGAATCAGGCGCGCGTCGGGCTTTTCGAGCTTGATCCACGGCAACCAGACCGTTT
+TGGTCAGCAGCGCCAGCGGGGCCAGCGTCGCTTCTACTCGCGGCAAATGCACCATTGTGACTTCGGGAAT
+ATCCGGTGGATTGCCAAGAATGATGTCTTCCGCGTGTACATGGGGCCACGGCACCCAGCTGCGCCAGCCA
+GTTTCTTGTTTTTGCCGCTCCCACACCACGCCCAGATCGCCACGGATAGCGAACGGACGATTCAACTCCG
+CAGAGACTTTCTGGTTGATGGTCGGTTTGAGTCGATTCCAGTCAAAAGTTGCAATCAAAATGATCGCCAC
+GACAATCAACAACAAGAAAGCCCCTGAAATCGCAGCGGTTATTTTGCCTGCCTTGCTCATCGTTCGCTTC
+CTCATATTCTTCCTGTGCCAGTCCTAAAGATAGTCCAGCCAGGCGGAAAATGAGGCAGCTTATAGCGCCA
+GAACCGCCGTATTCAGCGTTTCTATCGGTGCCGGGCGTGAAAGAAACCAGCCTTGTGCGGCGAATGCGGG
+CGAGTTCTGAACATCACGCCACTCTTCCGGTGTTTCTACGCCCTCGACAATCACCCCGCGACAATAGCGA
+TTCATTAGATGTAAAAGCTGAGAAAAGAGTGTGCGTCCTTCCGGCGACTGACGCAGCATCACAAACAGTT
+CTCGCGCGATTTTGATGTAGTCATAACGCACTTCACTTAGTGCAGAGAAATTTGCCATCCCGGTACCAAA
+ATCATCCAGCCACAGCGGGCCAAATTCACACATCGAGGCAAAGGTTGAATCTTTCGGCAGACGGATGTGT
+TCCACCAGTTCGAAACGCAGCCAGGGAAGATCCTCAATCTGGCGCAGGATTTTTGGTTGCTGACGCAGGG
+CGATGAGCGTAGGGCCATCAATATTGACCGATGCCAGCAGGCCGTGCTCTACAAAGAAGTCGGCTTTTTG
+CGCCAGCAAATCAATCTGCTCTTTCACAACCTCCATCCGATGGCTAACGGTGATTTCAGTAAAATAGCGA
+TCCGGCGGCAGGCGTTGCGAAGGGTTCAAGGGATGCGTGACCACCGTTAATAGCTCCACGGCCATTAACC
+GCCCGCATGTTTGATAGATCGGCTGCCAGGTGTAAGCACGCTCACACTGCAACCAAAAACGCCGTTCCTG
+CAAGCTCTCGATGCTTGCTTCAGGGTTGCTTATTCGCTGGATAACCTGCCTTATCATCAAAGATGTCCTG
+TGTTTAAAAGTGATGCTGCCCGGACTCGACAAAGATTATCGGCGCGCAAGGGCAGAACTTTACCGCCTGG
+CCGGGGTAAATTTCCCCACTCCACAACGGAATCTTTCAGGAATACGTTCTGGCTCAAAAAAATAATGGAA
+CACTGTTTTAATATGGTTGACCAGCAAACCACCACAGCGCAAACTAACGCTAATTTTTTACAGATCAGGT
+TCACGACTATGTCCAAAAAGATTGCCGTGATTGGCGAATGCATGATTGAGCTTTCCGAGAAAGGCGCGGA
+CGTTAAGCGCGGTTTCGGCGGCGATACCCTGAACACTTCCGTCTATATCGCCCGTCAGGTCGATCCTGCG
+GCATTAACCGTTCATTACGTAACGGCGCTGGGAACGGACAGTTTTAGCCAGCAGATGCTGGACGCCTGGC
+GCGGCGAGAACGTTGATACTTCCCTGACCCAACGGATGGAAAACCGTCTGCCGGGCCTTTACTACATTGA
+AACCGACAGCACCGGCGAACGTACGTTCTACTACTGGCGTAACGAAGCCGCCGCCAAATTCTGGCTGGAG
+AGTGAGCAATCCGCGGCGATTTGCGAAGAGCTGGCGAATTTCGATTATCTCTACCTGAGCGGGATTAGCC
+TGGCGATCTTAAGCCCGACCAGCCGCGAAAAGCTGCTTTCCCTGCTGCGCGAATGCCGCGCCAACGGCGG
+AAAAGTGATTTTCGACAATAACTATCGTCCGCGCCTGTGGGCCAGCAAAGAAGAGACACAGCAGGTGTAC
+CAACAAATGCTGGAATGCACGGATATCGCCTTCCTGACGCTGGACGATGAAGACGCGCTGTGGGGTCAAC
+AGCCGGTGGAAGACGTCATTGCGCGCACCCATAACGCGGGCGTGAAAGAAGTGGTGGTGAAACGCGGGGC
+GGATTCTTGCCTGGTGTCCATTGCTGGCGAAGGGTTAGTGGATGTTCCGGCGGTAAAACTGCCGAAAGAA
+AAAGTGATCGATACCACCGCAGCTGGCGACTCTTTCAGTGCCGGTTATCTGGCGGTACGTTTGACGGGCG
+GAATTGCGGAAGACGCAGCGAAACGCGGGCACCTGACCGCAAGTACCGTTATTCAGTATCGCGGCGCGAT
+TATCCCGCGTGAAGCGATGCCAGCGTAAAAGCAGCATATGCAAAAGGCTGGATAGAGTGTTACCCCCCTA
+TCCAGCTCATCCATAAATACCTGATGGTTGTGCTAACTCATCACCATCAGGCATTACTGTACAGGTGGAA
+TATCCGTCACTTCAGGATGTACGTCATCCGTGGCGACAGATGTGGCGGCAGCCGCAGTCGATGGGGCCAT
+GATTTGATCCCAGGCCGCCTGCAACGCTTTCATGTTAAATTCCGGCTCGCCTTTCGGCTGCAGCAGTATT
+AACGCCATATCATTCGACAACTGCTGACGCAGATCCTGATTTAACATCTCCACCGTCAGGCTGTTAAGGA
+AATCCTGACGCAGTTTCTGATATTGCTCCGGCGCGATATCGACGACCTGATTTTGCAACGAACGCATCCG
+CTGCCCCATCAGAATATCGGTATCAGCTCGCGCATAGGCGGCAAACAGTTTCTGCAGCTCCAGTTTCTTT
+TGCGCCACTAACGCATTGAACTCTTCTTCCGGCAGACCTTTATCGCGAACCTTCGCCAGTTCACGCGCCA
+CCAGATTAAGGTTGCTGTTCAGCTTGTCGTTTGGTGATTCGATGTTGATGGCACACTGCGCACGCAGATA
+CAGCACACGACAGTCAAATCCAAGACCGATGTCTTTACTGTTACTGGCGCTTAACGCTTGCTGAACATGC
+CAGAACAGCGCCTCACGGGCTAGGTCCGCACGCCAGTAGCGCAGCAGTGCGGCTGATTCACGAATCGGCT
+GCCACGGCGTATCCCACATGATAGATAGCCGGTCCTGACGCACCGCGTCGGTCATAATACTCACCGCTTC
+CGCACGCAGCGGAGAAAGCGTCGGCACCGGAGCCGGTGTTTCACGTTTGCCTTTCAGTTCGCCAAACGTT
+TTATTGATTTGGTCGACGACCGAGCGCGCATCCACGTTTCCCACCACCAGCAGCGTCATTGCATCCGGGG
+TGTACCATTTCTGATAGAAATCTTTAATCTTTTCCGCTTCAACGGGTTGTTTCAGCGGATCGGCAGGATC
+GTGACCTAACAAGGTTGATCCTTTCAGACGATAACGCCACCAGCCCTCTTTAGTATCGGCAGGCCAGGTT
+GCCACCATGTCCTGACTTTGCAACGCATGGTTGATGGTTTCTGGCGTGATAGTCAGTTTGCCAGTGGCAT
+TTGCCAGATAAGAGAGCGCCTCTTTCAGCAAGTCGTTACGGTTATTGGGCAAACTCAGATTAAACAGCGT
+GGTGTCATAAGAGACAATTACCGGCGGCATCGGGCGTTTAGGGTCGATCCCCTGCTGCCACAATGAACGC
+GCCTGCGCTGCGTCAAGGCCACCGCTTTGCGTTAGCGCAATACGAGGGATGGCGTGACTGTAACCGCTCT
+GTTGTGTACTTTCGGCGAGCGAACCGGTATTAACCAGCAGGCGAATTTCAACACGATCGCTGGGACGTTG
+GGGCGTAGTCAGCACTTGCCACTGTAAACCGTTGGAAAGCGTCCCCTGTTGCCATGCTGGATCAGGCTGG
+AGCGCATCTGCCTGCACATAGCCAGCAGTGGCCATCATCAGCAAACCGCCCGCTAAAAGTCGAATTTTTG
+TGCCCTGCATGTGAACCCCTGATCAACTATCCTGGTAATAAAAAACTGCCCGTTGTCGGTCAGTCTAAAT
+GACGTTAAAAACACTTCGTGTTAGACCGCAAGAACATGAAAATGTCACGGAAGAAGTGAAATAAACCTGA
+ACTCACCCAGGTGGTAAGTTCAGGCACAGGGGTCAATTATGCGCAAACACCCGCACTCGGGGAAGGGAGT
+GCGGGCATAAGTGGTGAGATTAAGAGGATAATTCGTGCGTTTTGCCATCCGGCGCACGATTATTCAGCAC
+ATCGTCCAGTTTTTTGTGGTCCAGTTCTTTCACCCACTTAGCAACGACAATGGTCGCTACGCCGTTACCG
+ACCAGGTTAGTCAGCGCACGAGCTTCTGACATAAAGCGGTCGATACCGAGGATCAGCGCCAGACCCGCTA
+CCGGCAAATGGCCCACCGCAGAGAGCGTCGCCGCCAGCACGATAAAACCACTACCCGTTACCCCTGCCGC
+CCCTTTAGAAGAAAGCAGCAACACGATTAACAGCGTGATTTGGTGGACGATATCCATCTGACTGTTAGTG
+GCCTGGGCGATAAACACCGCCGCCATTGTCAGGTATATCGATGTGCCATCAAGATTAAACGAGTAGCCTG
+TCGGGATGACCAGCCCCACCACCGATTTGCGGCAGCCGAGTTTCTCCATCTTGTCGAGCATACGCGGCAG
+CGCCGACTCGGAAGATGAAGTCCCCAGTACAATCAGCAGTTCTTCACGGATGTAACGGATAAATTTGAAG
+ATACTGAAACCAGTCGCTTTAGCGATTGAACCCAGTACCAGCACCACAAACAGGATACAGGTGATGTAGA
+AGCAGATAATCAGCTGCCCCAGTTGCACCAGTGTGCCGACGCCGTATTTACCGATGGTAAACGCCATTGC
+CCCGAACGCACCAATAGGTGCCAGACGCATGATCATATTGATGATGCCGAAAATGACCTGCGAGAAACTT
+TCGATCACGTTAAAAATCAGTTGGCCTTTGCTGCCCAGACGGTGGAGCGCAAAACCAAACAGTACGGCAA
+ACAGCAGTACCTGCAGAATGTTACCGCTGGCAAATGCGCCAATGACGCTCGCCGGGATGACATCCATAAT
+GAAGGCGACAATGCCCTGGTCTTTCGCCTGATCGGCGTAAACCGCTACCGCTTTCGCATCAAGCGTTGCC
+GGATCGACGTTCATTCCGGCACCAGGCTGCACGACGTTAACGATGATAAGACCAATAATCAGCGCGATGG
+TACTGACAATTTCAAAGTAAAGCAGTGCGACTGCGCCGGTACGACCGACCGCCTTCATGCTTTCCATGCC
+CGCAATGCCCGTTACGACGGTACAAAAGATGACAGGAGCGATGATCATCTTAATGAGCTTAACGAAGCCG
+TCGCCAAGCGGTTTCATTTGCTCGCCTATTTCAGGATAGAAATGGCCAAGGAGAATACCAATGGCTATCG
+CTGTCAGGACCTGAAAGTAAAGGCTTTTAAACAGAGAGGTTTTCATAGGGTGTCCTTTAGTAAAACCACA
+GGTCTTGTAAGGTTATGGGGTACCTGCGGCCTTAAAATAACACCCAGACAACATCACAGAAATGTACCTG
+GATCATAATTGAAACAAAAAGGTTAAAAAGTTTGAGCTGGCTCGCACAAACCAGCACTTTTTAAAGTTTT
+GTAATCAGTTTGGGGTAGTTACTTTTCTTCCAGGTAACTCTCTTCGAAGATTTCAATAGGGAGTGGGCGA
+GCAAAAAGGAAGCCCTGGGCAATACCAACGCCCGCTTTTGCCAGCCAGTCGCGTTGTGCTTCAGTCTCCA
+CGCCTTCGGCAATCATTTGTAGGTTCAGGCTCTGCGCCAGCATGATAATTGCAGCAATCATGCTGCTATC
+TTCCGGCAAACCTTCAACAAACATTTTGTCGATTTTCAGTACGTCGATTGGCAACGATTTCATATGCTGC
+AGCTGACGCAGCCCTGCGTAGCCCATGCCGAAATCATCCAGCGCCACCCGAACTCCGGCATTGCGCAGCG
+GACGGAGGATTGCCACCGCAGCATGAGGATCGTCAATACGTCGGCTTTCTGTCACTTCCAGAATCAGTGT
+TCCCGGCTGAATGCGATAGCGGGTTAACAGTTCCAGCATATCCGCCACCATATTTGGATGCATCAGTTGC
+AGCGCTGAGAGGTTTACCGACAAGGGCAGCATAATGCCGCGCTCTTGCCAGGCAGCAAGCAATCGACAGG
+ACTCTTCCAGCACCCAGTGACCGACGGTAACCATCAGCCCACAGCACTCAATGCGATCGATTAAGCCATC
+GGGCAGGTCCCAACTGCCATCCGGTTGCTGGATACGCAGTAACACTTCCGCACTGACCAGTTTACCGCTG
+GTCATCTCGACCTGTGGCTGTAACCAAATCGCAAACTGATGATTTTCCAGTGCATTAAGGATATCGCTCT
+CTTCCGTCAACCGCTTCTGGGCGGCTTCCATCTGCTGCGGATCAAAGAACTGAATCTGATTTTTGCCTTT
+ATGGCGAGCGGTAAATGCCGCAGAAATAGCGCGACTGTAAAGCTGTTCGGCGGTGAGATCGCCGTAGAAC
+ATCGCCACGCCAATGCTACAGTGCGGACGGAGTTGAATACGTTCAATCGGCAGGCGCTCGCTAATGATAG
+TGAGCACTTGCTGACCTAATGTGATAGCGTGCCACGGTTCCTGTACACCGTTGGCAATGACAGCAAAGTC
+ATAACCGCTAATCTGCGCGAGGATCATGCGTGGCGACAGTACCGATTTGAGTTTTTCCACCAGCGTCAGC
+AGCAGAATTTCTCGTTGCGCCTCTTTCAGCACACCCGCAGTATCACGCAGGGTTTCACAGGTGATGATCA
+TCAGCGCGGTAGTTTGTTTACGCGCCACCACCTGCTCCAGCATCTCCATCAGCAAGGCTTTGTTCGGCAA
+ATCCGACACCGGGAAGCGCATCGCATTTTCGTTCTGTTCTTCATAATGGCGCTGCAGCAATTGCTGGTTG
+AGGTTGTAACTGCGCACCAACATACCGATTTCATCGTCCTGATGCAGACGCGGTAATGCCAGTTGGTGAC
+CAACAAGCTCCTGGGGTGGGATGGCGTTAAGTTCGCGAGCAATATTGCGTAACGGATGCAAAATCAGGCG
+GTTAATGCACCAGCTAATCGCCACCGTCAATATTAACGACAAAAGTAAGTAAATGGTCACTAACGTTGAG
+AGGGTGCTCATCACGAACTTATACATGCGGAAGGAATCCGCCTGTAACACCAGATAGGCAATTGGCTGCG
+GGTTTGCCGGACGTTCCAGCGAGTAAACGCCCAGCGAGATTTGCACCGGTAGCTCAAACAGGCGAGTAAC
+CATTACCGGCACCGGACGCTCTGGAATAAAACTTTTACGCAGCGCCTGGAACTGGTTAGGCAGCACTACA
+TCGGCACGGCTGACCACGCCTGCCGGTTTAATGCTGGCAAGAATAGCTTCCGCTTCGGGAATATCGCCTT
+TCAAAATGGCAGAAGATAAGGGTTCGCGGACAGAGCGAGCAATGCTTTCCAGTTGCGTAGCCGTGTTATA
+GCGATTCTGCTGGACCAGATGGAACAGCAAAACGGTGCAAAAAATAAAAACGAACACCAGGACAACGGCT
+GCCACCATTGCCATCTGCTTGATTGTTAACGAGCGACTTACGCGCAAATTGTCTCCCCCCGGAAATCCCA
+GATTGCCGCCCGAGTATACCCGATCGCAGCGGCATTAAGAGAGGCGCTATCTGAAAACTTACCAGTCGGC
+GTAAGGTATCAGCGGCTGCGGTGGTAAATCCATGTCACCCTGCCATCCGGCGGCGGAATAACGTACGTAG
+AGCAGGAAATGGCTGGGGGCGTAATCTTTTGCCTGCTGGATATCAATTGCCATGCCGACAAACCAGTTGG
+AAGTAACACGTCGTTCAAGTAATGCCCTCGCCGTGTAGCCAAAGCCCTGACTGCTGCCGCCATCGTTGGA
+TTGCCGCGCAGCTTCTTCCTGCCAGTCGGTCGGGATCAGATTCATCAGCGGATAACGCGGCATGGTTTTG
+GTGCGTGAATGCGACCACGAGCCAGACGCCCCCAGCTCCCACGACCAGTTTTCCGTGCGCTCCCGCCACA
+TCACCGGTATGGCAAACGACAGGTATTCCTGCGGACTGTAGTAACCGCCCTGTCCGAGTGAGTAGCCACT
+CAGGTCTTTGTCATAATGCCAGATCATGTTGTTCAGGCCGATTGTGACGCGGCGATTGTTCTGGTTGATG
+ACCTTATAGTAATAGCCCGTCATCCAGCGCACACGCCAGTTATCTTCGACATTTTTACCGGTTAACTGAT
+CACCGCTAAGCGATGCCCAGACGCCGTTTGCTTCACCTTTATCGTAACTCAGACTTAGCCCCACGCCGTC
+GGCACGCACGCCGCCCCATTTTTTCCCGGTATTGCTCGGAGAGTCTTTTTGCCCACCAAAGGCCAGCAAA
+GAACTGGAGATGGGCCGACGGTGGGCGTTAACGGTGTAACCCAGCGGCCCGATATCATCGCTGTAACTGA
+TGCCGCCGACCACATCCACCACGTTGAAGCCCATCGGCGTGGTACCGATATCCCAGCTCCAGACGTCATT
+TCGCCAGCCGACCGCCACGCTGGCACCGGAATCCGACTGGCTGCGGTTGCCGCTACAGTCCTGTAATGTA
+CAGGTGCCCCAGTTGTCATCCCATTTGCCATCGGCATTAGTGGAGAAACTGCCGACGTTCATATTGACGA
+AATCACTGCGAAAGAACATCCGCCCGTCAGAATAGGGCGCGTCCACCTGCAACATAGTGGTGTGCGCTTT
+CAGATCGGAGTAACCACCGGTACCGCTCGAACCCCAGTAATCGTGCTCGAGAGTGACGTTAAGATCCTGC
+TGGCGATAGAGGTCCGCCGCATCGCTGCGCACGCCGCGTTTCAGCCAGTCATCTTTATCGTCGTTACGGG
+TCAGCCGGGTAAAGGTGTCGTTATCCTGCGGACGCGTCGTGGTCACACCGGATGCAACCATGGCGTCTTT
+GTAGGTTTCCAGCGCCTGCGTTGGATCGCCCGCCTGCGCTTCAAACTTCGCACCATCACGCAGTACCATC
+GCGCTTTCCATCGACGGTGGCTGAGATTTTGCCTGCGGGATCAACTTATTAAATGTCTGCTGCGCCGCTG
+CGGTATCGCCAAGCTGCGCCTGTGCCAGCGCCACGCGCCGCTGTGTGTTCAGCGAGGCGTTATCAGTGGC
+AGGCAGTTTCGCCAGCTGGCTACGTGCCGCCGCTTTGTCACCGGCAGCAATATCCACTTCCGTCAGACCA
+AGAATGGCATCGGCGTTAGTTGGCTCCCGCGTCAGAACATTCTGATATGCAGCGCGGGCGGCGGTGTAAT
+CACGTCGCTGCTGCGCCCAGTCAGCCAGCGTCAGATCAATACGCGAGGAAGGCGGTTGCTGGCGCAGCAT
+CGCTTCCGCTTCTGCCTCTTTACCGTTTTCTCGCAGGCGATTAGCGGTTTCCAGCACCTGATCGTTTTGC
+AGTCGATTAACCAGCTCCTGAATATTGCTGTTCCACTGCGCGTGCGGCAGGCTGTTGATATGCGCCAGCG
+CCGCTCTGTCCTGATCATGACCGGAGAGGTACAGCCCGTAAGCGTAAACCTGCTCCGGGTCGTTCGGCTT
+CTGCTGCGCCAGATTGCGCATTAACGTATCGGCCTGGCTGCGTTGTCCGGCTTGCCAGAGATCCTGCGAA
+AGTCGGTAAGTAATCCATACACTGCCGGGGTCCAGCGCCAGTCGTTGCCGCTGAAGTGCTGCCGTCTGCG
+CCCATTTCCCCTGGTTTTCCAGTGCCTCTGCCTGCTGTGCCAGACGGTCGTTTTGCAGGCTGCGTTCGAT
+ATCATCAATGCTGCGCCGCTGGCTGGCAGAGAGCGAGGCGATATACGCTTCGGCTTTTTCTGGCGACTGC
+TGGCGGTAAATATTCGCCAGCCCGCGCACGGCGTTAGTGTTGCCGCTGTCCATACGCAAGGTCTGCTGGT
+AATAGCGTTCGGCGGCGGGATAATCTTTGCGCGCCATCGCCACATCGCCCAGCCCAAGCACTGCATAGCT
+GTCGGTGTTATCGACATTACGTGCCTGCTGGAACAGCCGTTCTGCCCGGTCAGGATTATTGGCTTTCAGC
+GCGGCATCGCCCTGCTGGATCGCCAGCCAGTAGCGGTTTACTTTCAGCAGACTGTTCCATTTGTCGTTAT
+TGCTGTTGTGCGGATCCAGCGCGAGGGCTTTTTCCAGATTCGCCACTGCATTGGCGCGATCACCTTTCTG
+GGAATACGCCTGGCCCAGCGCCCCCAGAGCCTCACTGTCTTTCGGGTTCGCCCGCACCGCCTGTTGTAGT
+TCGGGAATGGCTTTACCCGCCATGCCAGAGTCCACCGCCGCTAAACCTTGCGCACGAGCGCGGAAAGCAG
+GGTCGGCCAGCTGTTTTTGCTGTTCTGCCAGTTGCGATTGTGCAGCAGCTACGCTATCGCCATCGCTAAA
+GATCGAGAGATATTTTTTCAGTGCCTGCACGCTGGCATCGCTGACGGGCATGTCTTTAATCTGCCCGTAC
+CAGATTTTAGAGGCCCCTTCGCGCCCGGCGTTCGATTTCGCCATCTGTTCCAGGACGGCAAAACCTTCAT
+CACGGCGATCGCTACTAAACAGCAATAGCGCCAGATTATTTTGCAGGCCCGTGTTGCCCGGCGTATCCGC
+ATTAATGCGTTTTAGCTGATTAATCGCTTCGCCACGGCGGGCCGGAATTTTCGCCACCGTACTCCAGTAC
+TCGACAGCAATGTCACCTTCCGGCGGCGCACCGTTGAACAGTTTGTTGTAACTCGCCACAGCTTCTTCCG
+CATGACCAGTCGTCGCCTGCAATCTTGCCTGTTGCAGTGCCTGACGACCATCCGACGTGGAAAGCAGCAT
+CGTAGTCCGTGACGATTTATACGCATTTGAACTCGGCGCTAACTGCGACAGCCGATCGAGCTGTTTTTGT
+GCGCCATCAATATCGCCCTGACGTAACAGAGAACGAAAACGGGCAGCAATCACATCCGGGTTATTCGGAT
+CAATAAGTTCCAGCCGATACAACGACTGTTGCACCAGGTCTTCACGATGGGTCGCTTCGCCTAACCGAAC
+TTGCTCCAGCAACTGTTGCTGAGCGGTTGGTGCTGCCTCGACCATCGGCATGACGGCCAGACCGAGGGAA
+AGCGTGAATATGTTTAGTGTGAATTTGCGCATTCCTGGCCCCAGTCAGGTAATAACTCACCTTTTGTCGA
+GAAGCGGAAACGGTGTTGATCCCAGCCTTGTCCAAACAGGGTCAGCACATAGTTGTAATAGGCATCGCTG
+CCGGGAAAGTTATCGGCCACGCGCTGGCGCTGAACGGCCTGCGCATCGCGGTTTTGTAAAAAGGGCAGCA
+TGGCGGCAGAAAAACCGACCGGTCCTTTACCCTGCGCTTTCCCCGTAGCCACATCCACTTTTTCCGGCGG
+ATAACCGTTTTTCTCAGTGAATGTCGCCATCGGTTTAAACCGGTTGAGCATCCGCGCTTTTTGCGGATCG
+CTGTCAGGCATCATGCCTACCCACATGTAAACGCGGATAGCGTCGTAGCTGCTGATCAATGTTTTTTCGG
+CTTTTAGCTGCCAGCCTTTGTCTTTCTCATAGCGCACCCAGTCTGGCGAAAAGCCTTTCGGGGCGGTTTC
+CAGCAATAAACGTTGATTGGTTTCGCGCAGCGTGGTCCACGGCGCGCCAAAGCGGGTGAAATACTGCGCC
+AGCGTCGGCGGCAGGTAGCTGGGGTTAAAACGCCAGCTGTTATCCTCAGCAAAACCCACTTTGCCCGGTA
+ACAACATGGAGCCCAGCCCAGGCACCGTCACCACTTCCTCCCGCGCGATACGTTTTAGCAATGCGCTGCC
+GATGTCGGTATAACGCTGCTCTTTCCACAAACGCCCCGCCTCCAGCAACGACCAGGCCATCCAGACATCA
+CCATCGGAGGCCGAATTGCTGTCCAGCACTTCCCACTTACTGTTCTCTTTCTTGCCCCACAGCCAGGCGG
+GCAAATGTTCTTTTAAAGAACCCTGAGCGAGATTGTTCTGCGTCCAGTCGAGAAGATTATCGAAAGCTGC
+ACGGTCGTTAGCCGCCAGGGCAAAGAACATGCCGTAACTTTGCCCTTCGGAGGTGGTGATTTTGCGCGCG
+TCGCTGGGGTCGATGACGCGCCCTTCCTGACTGATGTAATCCTTTTTAAACTGCTCCCAGGCAGGCCAGG
+TACAGGCTGCCTGAACACTAAAGGCAGCCAGCAGCAGCATCGTCACGAGTCCACTACGCAACACATTCAT
+CTTCAATTACTCGTTATCCGGGTTAAGACGACGACGACTAATAATACGCAGCAGACGCCACAGTACCCAC
+GCCAGCAATATCACACTAATAGCCGCCAGCACCGCCAGCAGAATCGGATGGTTTGCCAGCGCATACCACA
+AGCGCTCGAACCACGGCAGATGACCTACGTAATAAACATCGCCAACACGTAGGCTGTTGATACCGGACTC
+GCGGATCACCGCGACCGAACCGAACATGGTGGCGCGTTTGCCGCTATCGTTCACCGCATCGTTAAGCATT
+TCATAACCGCGTGGGCTATCTGCCAGCAGCGCAATCACGCTGCGCTGGTCGTTATACGGCGACTGGAAGC
+CAATCACCGCCGCCATCGCACCGGAAGAGGTCAGCGTTGACTGGGTTTCTGCCGCGCGATCGCTCTCGTC
+CGGCACAATACCGGGGAACGGGGTCTGGCGCATCGGCGTTTTTACCCAGCTTTCGGTCGCCTGCACCAAC
+AGGTCGATCTGCTTGTCATCTTTCAGTTTGTCCGGGATACCACCGACGATCATGATGTCGGCATCTTTGC
+CCTGAATGGTGCTGCCATCATCGGTCACCGTCAGGTTAATCGCCGGGAAGCCCGTCTGCGCACCGATAAA
+GCCAACGGTATTCAGCAAGGTTTCCATCTGTGCTTCGTTTGGCGTTTTCGGCATCACAGTGATGGTTTGC
+GACAAATCCGCCATCCGGCTGAACGGGAAGCCCGCGTTAGCAAAGGCGCGTAGATCCGGCATCGGGATGA
+AGTGGTAATACTTCGAGAAGTCGATGGTGGAGTCGTCACCAATCACCACATGATTCTGCACCGGCTGGAA
+GGTAATACAGTTATCCACCGAACCGCCCGGCATCGGGTTCATATACTCAAAGTCGAACCGCAACTGGTTG
+GTCGCGCCCAGTTTCAGCGCCGGAATAGAGACATCCGTTTTGCCATCCAGCAAACCTTGTAATACCGGAA
+TACGCAGCAGCAGGCGGTTCGCCTCCTGTTTGCTGCTCAGGTTGAAGGATTGCAGGAACTGGTTATTCAG
+GCTGATATCCATCCGCGAACTGTCTTTCACCGGCGGCATGGTGTAGCGGTAATTAATATCCATATCAATG
+CCGGTACTGCGCATCAGGTAGAGATCCGGCGGCAGGTTTAGCGAAACGTTAATCGCTGCTGGCTCAAGAC
+CGCTGGATTGTAATTGTTCTTCATAGGTTTTCAGTTCACCAAAGGTGACCGGACGATCGGTACGCACCCA
+GTTCGGCGCATCGTACGGTTTACGCGGTAGCAGCGGTTTCACTTCATTCACTACCACACTTTCACCACGG
+AACAGAATGTTACCCTGAGCGATACCTTTCGCTGCCTGCAACAAGTCTTTGTCGTCACGACCAAACACCA
+CCAGCAGTTTGACGTAAGGATTCTGCGGATGGTTAATCATCTCAATCACCGGGGCTTTTACCGCCGGATG
+ATCGCGCAGGAAGTCCGGGCGTTTGTCATTGGTGGCAAAGACAATGGCATTGCGATCCGGCAGTTGGTTA
+TAGAGCACCGGGAAGTTCTGCCCACGCCAGCCAGAACGCGAACCAAACCACGAGGCGACAATGGCAGATG
+CTTGTTGCAGCTCAACATCCGGCGCACCCGCAAAGACCATCGGCAAGGTGTTGGTGCGGTTATCACGCGG
+GTCAAAGAATGGCACCGGGAAGTGTGACAGGTCATTCTTCACATTCAGGGTCTGATAGGTCAGATCCAGT
+CCACTGCTCCGCCCAACATCCAGCCAAAGCGTGGTGCTGGCCGGGTTTTCGCACACGTCCTGATAATGGC
+CGACAAACTCCAGCCGCACACGGTTGAAATCAGTAATAAACAGCGGGTTAATGGGCATTTGTGCCAGCGT
+TTTTTTACCCAACTGTTCTTTGGTCACTGGCAGCACGCCCATCAGTTCATCATTGAGATAAACCTTTAAC
+TGCGACTGGACAGGCAGTAATGATGGCGATGGCGTGTATTCGAGGTTGAGCATCGCCTTCGTCACCACTT
+CATCGCTGCGCATACCAAACTCAATGCTGCCGTTCGGGTTAATGCCACGTAGCACCATGCTGCCCGGCGG
+CGGCGCAATTTGCGCAAAGGTCAGCTTCACATCACGGGAAGGACCGTTCTGCGCCACGACTGGCGCATCT
+GCGCCCTGCACGCCCGGCATCACTTGCCCCACCTGCGGATTTTGCTCCGCCTGGGCGGCTACAGCTGGCT
+CAGCATTGATCAGTGGTTGCGTTGCTGGCGTCGCCTGCGTCATGAAAGAGGGGAACGCACTCATCCCCAG
+AGCCACTGCACAAATCCAGAATATTTTTCTTTTCATCGCGTTATCATCATTGTTGAGCCAAAGCCTGATC
+CGATGGTTGTGCCGTTTCGCTCCGCTCCGGGCGGCGCGGAATAAACGATACAACCCAGGAAACCAGAGAA
+GTCAGCACACGGAATATGCCCTTCACCGAAGAAGGCGCAAATTCCGCCAGATGGCGGTAGCCACGGAAGC
+CGAGCTTCAGAATATCCAGCAGACTTTCCAGCGGCTTATCTTCCGGGTAGCTGTCCTGCCAGAGCGCCCA
+TGTATCCGCACGGGCAAACGTACACTGCACAAAATCGATATGTTGCTGGGTAGTGAGCGGCATTAATTTC
+AGCCCAACTTCATTACCCATCACGCGCGCCACCTGAGCCGGGAAGACGTATTCCTGCTGACCGCGTTTAA
+GCAACAGATTCACTTTCTGCCCTTCCAGAATCTGCGCCTGACCGTTGATCTTGATCCCCAAACCACCGTC
+GGAGAAATCCTGAACGGTACACGAGAAGAGGTGACCATCTTCGCGGGCAATTGCTGCGGGCATCGTCATC
+TCCACGCGGTGCGATCGGCGTACCTGTTTGCTTTCTACCGATACTGCGACTGCGCCGCCGAGAATAATCA
+GGTTGTAGAATACCCACACCATACTGACGACCACGGTGAGCATCTCGGTTGGCGGACCATAGAAGTAGCG
+CCAGATCCCAACCGCTACGCCCACCAGGTTGAGCAGAACAAGGAAGATGTAGGGCCGCGAGATCACCCAG
+TCGACGTACTCTTCTTCCACCAGTCCACCTTTGGCGGTGACGTTAAATTTGCCTTTGTGCGGGTTAATCA
+GCGCCACCAGCGTCGGTGGTGCGATATACCACGCCAGCACTGTTTCGTAGATTTCACTCCAGAAAGAGTG
+GCGATATTTGCCCTGGATCTTCGAGTTAGTCAGGCTGGCATGGATCATATGCGGTAGCACAAACAGGGCG
+ATCATCAACGCTGGCGCGTAGATGATGTAGGCATGAAACAGCAGGAACGCCAGCGGCGCAGTCAGGAAGA
+TCAGCCGTGGAATGCCCGACAAGAAGTGGAACATGGCGTTGACATAGCACAGTCGCTGAGCAAACTTCAG
+CCCTTTACCGGTGAGCGGGTTATCGAGACGGAAGATTTGCACCATCCCGCGCGCCCAGCGAATACGCTGA
+CCGATATGCGCCGAGAGACTTTCGGTCGCCAGCCCCGCTGCCTGCGGAATACGCATATACGCTGAGGTGT
+AGCCACGACGGTGCAGACGCAGAGAAGTGTGCGCATCTTCGGTTACCGTTTCGACAGCAATACCGCCAAT
+CTCATCCAGCGGCTTACGGCGAATCACCGCACATGAGCCGCAGAAGAAAGTGGCATCCCACATATCATTG
+CCGTCCTGCACCAGACCATAGAACAGCGTGCCTTCGTTCGGCGTTTTACGGAAACGCCCCAGGTTGCGTT
+CAAACGGATCCGGCGAGAAGAAGTGGTGCGGTGTCTGCATCATCGCCAGCTGTTTCTCTTTCAGGAACCA
+GCCCATGGTCATTTGCAGGAACGATCGCGTTGGTACGTGGTCGCAGTCGAATATCGACACGAACTCGCCT
+TTGGCATATTTCAGCGCATTGTTGATGTTGCCCGCTTTCGCATGTTCATGAGTGGTACGGGCGATATATT
+TCACCCCCACGTTTTGCGCAAACTGGCGAAACTCTTCCCTGCCGCCGTCATCGAGGATCCAGATGTTCAG
+CTTGTCTTTCGGCCAGTCGATACCCAGCGAAGCGTAAATGGTATTTTTCACCACGTTGAGATCTTCGTTG
+TAAGTCGGGACAAAGATATCCACCGACGGCCACAGCGACATATCTTTCGGCAATGGCACCGGCTGACGAT
+TCAGAGGCCATACGACCTGGAAATAGCCGAGCACCAGCACAATCCACGCGTACGTTTCAGCGAAGAGTAG
+AATAAGCCCGCACACCAGGCTGACCGGATCGTCCCAGTTTAACGTCGAGGTGTAACGCCACCAGATATAA
+CGGCAAGAAACGGTCAGCGACAGCACAATCAGCATCAGCGCCGAGAAGCGCCCCGGCATCCGCCGTACGA
+TCAGCGCTACCCCCCACAGCAGCATCAGGAAGATAAACTGCGCTAGCGGGTTAAACGGCTGAGTAACGCA
+GATTAACGCCAGAATCAGCGAGAAGGTGACGATGATACCAAGGATCAACCGCCGCGCCCCAGCACTCAAA
+TGACCGAGCTCTTTTTTCTCATCAAGATGCTGTGTTTTATGGCTAACGCGCTCAGGCAGCTCGTTCATCC
+ATTGATGGTAACGTCCACGAATATTTTGTAGACCTGAAAATGCCCGCCTGCGCGGTTTCGGCGTTTCTTT
+GCGCGATGCACCGATCAGTAACCAGCATGTTTGAATAAGATAACGGACCGGGTCCAGCGGACGCGGACGC
+GAGGCGTTGATATGCGGATACAGGTTTTTATGTTCTGCGCGAATACGCTGCCAGCGCGGGTGCTCCAGCG
+GAATAAAAATCCAGGCCAGGATCATCCAGAAACAGCCGAGCGTCGCGCTGAAAGCCGACGCACCGTGACG
+ACGATAATCGCGATAACGCCCAATAAGCCGTGCGTTGACCGGCGGGATAAGCAACCACCGGGTCAGGATA
+CTCATGATGCACTCCCGACTGGCGTTTTCAGCCCGGAATAATTCAACAGGCACCAGTTCGCCAGCGTCAG
+TATCTCTTCAGCCGCCAGCGCATCACTGCGATATTCACCGACTGGTTGCTTAGCTGCCAGACATTCAGCC
+ATCGCTTCATCACGATGAACGAGCATCGGCAGCAATCGGCGCTGGCTTTGCAACCAAAGCTGGTAAATAT
+CGTCCTGAACCTGGCTGCCAATACGGAAGTCATTAATCCAAATATGTGCACCATCCGGCAGCGCTTGCTG
+ATGCAATCGGATATGGCAGTTGGCATCCACATTGACGATTGCCAGCGAGTGCTCGCACAAACTCAGCAGC
+TGGTGGGTTATCTGCGAGGCATCACGCGGTAAGTCAATTAAAATCCACTGGTAACGCCCGCTGGCTTTTA
+GTTGCTGTAAGCCGGAGCAAATATCGCTCAGCCGGGTTTGCCAGTGCTGTGGATTTTCTTGTTCTTCAAT
+GGATAACTGACCAAAAGGCAGCAAATCGAGCTGCGAGGTATAGCGCAACCCGGCGTCACGCCAGTCCTGG
+CCATCCAGCATAGCTCTGGCCCAACCCTGACGGTGGGTAAAATCAACGTTAAATGACAGGCGCAACAAGT
+TGTCCGGGCAGGCATCGACCACCAGGACATTTTCTCCCAACATTTGTAATGACCAGGCTAATGCGGCGGT
+GATGGTTGTTGTCCCCACGCCTCCCCGAACCCCCTGCAATCCCAGTACGGCCATTCACCAATCCCCTACT
+TTTGTTGCGCAAACTCTGCCAGCAACGGCCAGCGTTTTAATGCCGCGGCCAACTGTTCGCGTTGGGAAAT
+ATCGGCATAATCAATATCAGGCAGTGAAAATGCCTGCTTTAACGCCAAAATATCATTCTGGAAGATATAG
+CCTATCGCGGGATCAGGCAGAGTATCTGGTTCATTGTTATTCATTTTTCTTGATCCCTATGAAATAACCG
+TACCGTTCATGAGACAATTCTAACTGTGAGCATTTCGTCGGTTTATTGTTTACGGCGAGACGGGAATGTG
+CTCACTTTTTGACTTTCCGTTACGCAACAGAAAAAGTTAAAAACGAAAAGACTAAAATCACATGTCTTGT
+GACCTGCTAAATTGATTCACATGCTAAATCTGATAAGTTTTAATTTCAATGGTAGGTTTATTTCTTAGCT
+TTCGCTAGTAAACTGATAATCAGACAAAATGTTGACATGAGGGACATTGTGGACCCTGTATTCTCTATCG
+GTATCTCATCATTATGGGATGAGCTGCGACATATGCCAGCAGGCGGCGTCTGGTGGTTTAACGTCGATCG
+CCATGAAGATGCTATCAGTCTGGCGAATCAAACAATTGCATCCCAGGCTGAAACCGCACACGTCGCGGTC
+ATTAGCATGGACAGCGATCCAGCGAAAATCTTTCAATTAGATGATTCTCAAGGGCCGGGAAAAATAACAT
+TATTTTCAATGCTAAATCATGAAAAAGGTCTATACTATTTGGCCCGTGATTTGCAGTGTTCTATTGATCC
+CCATAATTACCTTTTTATTCTTGTTTGCGCAAATAACGCATGGCAAAACATTCCTGCCGAGCGGCTTCGC
+TCATGGTTGGATAAAATGAATAAATGGAGCCGGCTAAACCATTGTTCGCTTTTGGTAATTAATTCCGGAA
+ATAATAACGATAAACAATTTTCATTGTTACTTGAGGAATACCGTTCACTTTTTGGTCTTGCCAGTTTGCG
+TTTTCAGGGCGACCAACATTTGCTGGATATTGCTTTCTGGTGCAACGAAAAAGGGGTCAGCGCCCGTCAG
+CAGCTTAGCGTTCAGCAACAAAATGGTTGCTGGACATTAGTTCAACACCAGGAGGCGGAAATCCAACCAC
+GCAGCGACGAAAAACGCATTCTGAGTAATGTTGCTGTACTGGAAGGTGCGCCGCCGCTATCGGAACACTG
+GCAACTGTTCAACAATAACGAAGTCCTGTTCAATGAAGCCCGTACCGCTCAGGCGGCGACGGTGGTCTTT
+TCTTTACAGCAAAATGCGCAAATCGAGCCACTGGCCCGCAGCATTCATACTCTGCGTCGCCAGCGCGGTA
+GTGCGATGAAAATCCTCGTACGGGAAAATACCGCCAGCCTGCGCGCCACCGATGAACGTTTATTATTGGC
+CTGCGGTGCAAATATGGTTATCCCGTGGAATGCGCCACTCTCCCGCTGTCTGACGATGATCGAAAGCGTG
+CAAGGGCAGAAGTTTAGTCGCTATGTGCCGGAAGATATCACTACCTTGCTGTCAATGACCCAGCCGCTCA
+AACTGCGTGGTTTCCAGAAGTGGGATGTGTTCTGTAATGCCGTCAACAACATGATGAATAACCCTCTATT
+ACCTGCCCACGGTAAAGGCGTTCTGGTTGCCCTACGTCCGGTACCGGGTATCCGCGTTGAGCAAGCCCTG
+ACGCTATGTCGCCCTAACCGTACCGGCGATATCATGACCATTGGCGGTAATCGGCTGGTGCTGTTTCTCT
+CATTCTGTCGGATTAACGATCTGGATACCGCGTTGAATCATATTTTCCCATTGCCTACTGGCGACATTTT
+CTCAAACCGAATGGTCTGGTTTGAAGATGATCAAATCAGTGCCGAGCTGGTGCAGATGCGCCTGCTTGCC
+CCAGAACAATGGGGCATGCCGCTGCCTTTAGCGCAAAGTTCTAAACCGGTCATCAATGCCGAGCACGATG
+GTCGCCACTGGCGACGAATACCAGAACCAATGCGACTGTTAGATGATGCTGTGGAGCGCTCATCATGATG
+ACCATCAGCGATATCATTGAAATTATTGTCGTTTGCGCACTGATATTTTTCCCGCTGGGCTATCTGGCGC
+GGCACTCTTTGCGACGCATGCGCGACACCTTACGTTTGTTCTTTGCTAAACCTCGTTATGTTAAACCGGC
+CGGGACGTTACGCCGCACGGAAAAAGCCAGGGCAACCAAAAAATGACTCAATTTACGCAAAATACCGCCA
+TGCCTTCTTCCCTCTGGCAATACTGGCGCGGCCTTTCCGGCTGGAACTTCTATTTTCTGGTTAAGTTCGG
+CCTGTTGTGGGCGGGATATCTTAACTTCCATCCGCTCCTCAATCTGGTGTTTGCCGCGTTTCTGCTGATG
+CCCATTCCGCGCTACAGCCTGCATCGCTTGCGCCACTGGATTGCCCTGCCGATCGGCTTTGCTTTGTTCT
+GGCATGACACCTGGTTGCCTGGCCCGGAAAGCATAATGAGCCAGGGTTCGCAGGTGGCGGGGTTCAGTAC
+CGATTATTTAATCGATCTTGTCACACGCTTTATTAACTGGCAGATGATTGGGGCCATTTTTGTTTTATTC
+GTGGCCTGGTTATTCCTGTCACAATGGATTCGCATTACCGTTTTTGTGGTTGCCATTCTGCTATGGCTGA
+ACGTACTTACCCTGGCGGGACCAAGTTTCTCCTTGTGGCCAGCCGGTCAACCGACGACCACTGTAACAAC
+GACGGGTGGTAACGCAGCGGCAACCGTTGCGGCGACGGGTGGCGCACCGGTAGTGGGTGATATACCCGCA
+CAAACTGCACCGCCAACAACAGCAAACCTTAACGCCTGGCTGAATAATTTCTATAACGCGGAGGCGAAAC
+GTAAATTGATCTTCCCGTCTTCGCTGCCCGCTGATGCTCAGCCATTTGAACTACTGGTGATTAATATCTG
+TTCGCTTTCCTGGTCGGATATTGAAGCCGCCGGATTGATGTCGCATCCACTGTGGTCGCATTTCGATATT
+GAGTTCAAGAACTTTAACTCCGCCACCTCCTACAGTGGCCCGGCGGCGATCCGTTTACTGCGCGCCAGCT
+GCGGGCAGACTTCGCACACTAATCTGTATCAACCGGCAAATAACGACTGCTATCTGTTTGATAACCTGTC
+GAAACTGGGCTTTACCCAGCACCTGATGATGGGACATAACGGCCAGTTCGGCGGTTTTTTGAAAGAAGTT
+CGCGAAAATGGCGGCATGCAGAGCGAATTGATGGATCAAACAAATCTGCCGGTTATTTTGCTGGGCTTTG
+ATGGTTCGCCGGTTTATGACGATACCGCCGTGCTTAACCGTTGGCTGGACGTTACCGAAAAAGATAAAAA
+CAGCCGTAGTGCCACGTTCTACAACACGCTTCCACTGCATGACGGCAACCATTATCCGGGCGTCAGCAAA
+ACAGCGGATTACAAAGCGCGGGCGCAAAAATTCTTTGATGAACTGGACGCCTTCTTTACTGAACTGGAGA
+AATCGGGTCGTAAAGTGATGGTGGTCGTGGTGCCGGAACACGGCGGCGCGCTGAAGGGCGACAGAATGCA
+GGTATCTGGTCTACGTGATATCCCTAGCCCGTCTATCACAGACGTCCCCGTTGGGGTGAAATTCTTCGGC
+ATGAAGGCACCACATCAGGGGGCACCGATTGTCATCGACCAACCGAGCAGCTTCCTGGCTATCTCCGATC
+TGGTGGTTCGCGTTCTTGATGGCAAGATTTTCTCCGAAGACAATGTTGACTGGAAAAAACTCACCAGTGG
+GTTGCCACAAACAGCACCGGTCTCCGAGAACTCAAATGCAGTAGTTATTCAATACCAGGATAAACCGTAC
+GTTCGCCTGAACGGCGGCGACTGGGTGCCTTACCCGCAATAAGAACGAAAAAGGCCGCAGAGTTTCACCC
+CTGCGGCCTGATCCGGACGCAAATTGCCATTACGGCAGCCTGACGCCCGCATGACACGTTACTTCCGCTT
+ATTCAGCCAGTTCACGATCATACTGGCAAGAATGCCAGCAATGACCGGAGCCGCTAAATCATGCCAGAAG
+GCCATGCCCAGTTCTGCGAGCGTCATATAGCCGCCTGTGTTGTAATGACAACGTTTCGCGGCTATTCTTG
+AGTGGTCTAGGTTCAAGATTAGCCCCCGTGGTATTGTCAGGTGCATACCTGCAACGTGCGGGGGTTTTCT
+CTCTCCAGCAACCAATGCCACCAGGGATAAAGCCCCCGCAACATTGCGCCTCACCGGAACCTTTCCGGCT
+TGCCGCTGATTTTACGATTGTTTTTTGCCGTCAGCACCCGGCAATCTTCCTCATTGCGTGATGCCTTCCA
+GCTTAATTTCTTTATTTGCAATAGTTGCAGCTCATATCCGGGCTGACTCCAGACTAGTAGTGAAATGCGC
+AATTTTGTAGAATTGCGCCTCCTCGCGACCTCCCCAGTGAATCTGTTGCCTCATTTTTTACATACTGCGT
+ATTCGACTTCTCCACCTGTTGCGCAAGAGAAACTGGGTTTATTCATTTTTGCGAGGCCGACTTCTTTCTG
+GACAGGACTTTATGCAGCACAACACACTACCGAAACACGATCAGAAATTGCCGTTTACACGCTACGACTT
+CGGCTGGGTTTTATTATGCATAGGCATGGCGATTGGTGCCGGAACCGTGCTGATGCCAGTACAAATTGGC
+TTGAAGGGAATTTGGGTATTTATTACCGCAGCGATCATTGCTTATCCTGCCACCTGGGTAGTACAGGACA
+TTTATTTAAAAACCCTTTCTGAAAGCGATTCCTGTAATGACTACACCGATATTATCAGTCATTACCTGGG
+GAAGAACTGGGGAATTTTCCTCGGGGTTATCTACTTTTTGATGATTATCCACGGGATTTTTATCTACTCT
+CTCTCCGTGGTTTTCGACAGCGCCTCGTACCTGAAAACCTTCGGTTTAACCGATGCCGATCTTTCTCAAT
+CTCTATTTTATAAAGTCGCCATTTTCGCCGTACTGGTGGCGATTGCGTCTGGTGGTGAACGATTACTGTT
+TAAGATTTCCGGACCAATGGTGGTGGTCAAAGTGGGGATTATTGTCGTGTTCGGTTTTGCGATGATCCCG
+CACTGGAATTTCGCCAATATAACCGCCTTCCCGCAAGCCTCCGACTTTTTCCGCGATGTCCTGCTTACTA
+TTCCATTTTGCTTCTTTTCCGCGGTATTTATTCAGGTACTTAACCCAATGAATATTGCCTATCGTAAACG
+GGAAGCGGATAAAGTACTGGCAACCCGGCTCGCGCTGCGTACCCACCGGATTAGCTATATCACGCTCATT
+GCGGTGATCTTGTTTTTTGCCTTTTCGTTTACCTTCTCAATTAGCCACGAAGAAGCCGTTTCTGCCTTTG
+AACAAAATATCTCGGCACTGGCACTGGCCGCGCAGGTGATCCCTGGGCATATCATTCATATCACCTCTAC
+GGTACTGAATATCTTTGCCGTACTGACTGCATTCTTTGGCATTTATCTCGGTTTCCACGAGGCCATTAAA
+GGCATTATTCTCAATCTGTTAAGCCGAATTATTGATACCAGGAAAATTAACTCACTCGTGCTGACTCTGG
+CGATCTGCACTTTTATCGTCATTACGTTGACGATTTGGGTTTCGTTTCGTGTATCGGTACTGGTGTTCTT
+TCAGTTGGGAAGCCCGTTATATGGCATTGTGTCGTGCCTCATTCCGTTTTTCCTGATCTATAAAGTCTCA
+CAACTGGAAAAACTTCGCGGGTTTAAAGCCTGGATGATTCTGCTGTACGGCATTTTGTTATGCTTGTCGC
+CACTGTTGAAGTTGATTGAGTAAACCGGAGCGCATGGCCCCGGTTTTGTGAGTTAACGCTGCGGATTTTC
+ATCCTGATCAACGGCAAAACAGGCTACCAGTTGACCGCCGTAGTCTTTTAGCTGCGGCTGCAACTGGATG
+CAGGGGCCGAAGCGCCGACGACAGCGGGCGTTGAAGGCGCAGCCTGGCGGTGGATTCAGCGGGCTTGGCA
+GTTCACCGGTAAGTTTGATGCGTTCGCGACGATCGTCCGGGTTCAGGCGTGGTGTCGCGGAGAGCAATGC
+CTGAGTGTACGGGTGGCGCGGGTTATTGAAGATTTGGTCCTTCGTCCCCTTCTCCACGCAGCGGCCCAGG
+TACATCACCATCACTTCATCAGCAATGTGCTCCACCACCGACAGATCGTGCGAGATAAAGACATAAGATA
+GCCCCAGTTCCTGCTGCAAATCCATCATCAGATTCAGCACCTGCGCACGCACTGAGACGTCCAGCGCAGA
+AACCGGCTCATCGGCAATCACCACATCCGGGTCGAGCATCAGACCTCGGGCAATGGCGATACGCTGACGC
+TGACCGCCGGAGAACATATGCGGATAGCGGTCGTAATGCTCGGTTTTCAGGCCGACTTTCGCCATCATCG
+ACAGGGCTTTTTCCTGACGCTGTTCTTTGCTTAAGCTGGTGTTGATCAGCAGCGGCTCTTCGAGAATCTG
+CCCAACTTTTTTACGCGGATTCAGCGAACCGTAAGGGTTCTGGAAGACAATCTGGATTTTCTGCCGACGT
+AGCTTCTGCGCCTGCGGATCGTGCTTGAGCAGATCCTGCCCCTGGTAATACAGTTCGCCGCCGGTGGGCG
+TTTCAATCATCGTCAGCAACCGACCGAGGGTCGATTTACCGCAGCCAGATTCACCTACTACTGCCAGCGT
+TTTGCCACGTTCAAGGTTAAACGAAACGCCATCCAGCGCCTTCACCAGACGTTCCGGCGCGAACATGCCT
+TTCTTCACCGGATAATGTTTTTTCAGGTCGATAGCCTGCAACAGCGGTTGTTGCGAGGTGGCCTCATGCG
+TACTCATAGTGTCGGCCTCCCGGCATCATCAAGTGGGTAATGGCATTTGGACTGACGCCCGTCAGCGAGC
+ATATTCAGCGCCGGTTCTTCAGCACGGCATTTGTCAGTGGCGTAGGGGCAGCGCGGGTTAAGCAGGCAGC
+CGTTCGGGCGGTCGTACTTGCCGGGAACGACACCTGGCAACGACGCCAGACGTTCTTTGTCCTGAGCAAA
+TTCCGGCAGCGCACGCAGCAATGCCTGAGTATACGGGTGACGCGGCGCATGGAAGATAGCGTGCGCATCG
+CCCGTTTCTACTACCTGGCCTGCATACATCACGATGATTTTATGTGCCGCTTCCGCCACCAGCGCCAGGT
+CATGAGTGATCAACACCAGCGCCATGTTCTCTTTCTGCTGCAACTCCAGCAGCAGTTCGATGATTTGCGC
+CTGGATGGTCACGTCCAGCGCAGTGGTCGGTTCATCGGCAATCAGCAGTTTTGGTCGACAGGCAATCGCC
+ATGGCGATCATCACGCGCTGGCTCATGCCGCCGGAAAGCTGATGCGGGTAAACATCCAGACGCGATGCCG
+GATCGGGAATACCGACCAGATTCAGCAGGTCAATCGCTCGCTGACGGCGGGTACTTTTGTTGCCGCCCTG
+ATGCACCTTAATCGCTTCCATAATCTGGAAACCCACGGTGTAGCACGGGTTAAGGCTGGTCATCGGGTCC
+TGGAAGATCATTGCCACTTCGGCACCCACCAGGTTGCGGCGCTCTTTTTCTGAGATACGCTGCAAATCCT
+GACCGTTAAACTCCAGCTTTTCCGCCATTACGCGGCCCGGATAATCAATCAGCCCCATAATTGCCAGCGA
+ACTGACCGATTTACCAGAGCCGGACTCACCCACAATCCCGACCACTTCACCCTGTTTTACGCTGTAGCTG
+ATGCGGTCTACGGCGCGGAACGGTGCGCTTTCGTCGCCGAAATGCACCGATAATTTATCTACATTTAATA
+ACGCCATCTCGAACCTCTTACTGCTTCAGTTTGGGATCGAGCGCGTCACGCAGACCGTCACCCATCAGGT
+TAAATGCCAGCACCGTCAGCAGGATCGCCAGACCCGGGAAGGTCACGACCCACCAAGCGCTTTGCGCGAA
+CTGCAACACGTCAGAGAGCATGGTGCCCCACTCCGGCGTTGGCGGCTGCGCGCCCATGCCGAGGAAACCA
+AGAGCAGCCATATCGAGAATGGCGTTAGAGAAACCGAGCGACGCCTGAACAATCAGCGGCGCAAGGCAGT
+TCGGGAAGATGTTAATAAACATCTGGCGCATTGCCCCGGCACCCGCCACGCGAGACGCGGTGACGTAATC
+GCGGTTAACTTCCACCAGCACGGCGGCGCGGGTTAAGCGCACATAATGCGGCAGCGCAACGAAGGTTAGC
+GCCAGCGCGGCGTTACCAATCGACGGGCCGAAAATCGCCACCAGCACCAGTGCCAGCAGTAGACTTGGCA
+GCGCCAGCATGATATCGACCACGCGCATGATGATGTTATCGACCAGACCGCCAAAGTAACCAGCGATCAG
+GCCGAGAATAACGCCCATAATCAGCGATAACACCACTACCAGACAGCCAACCAGCAGCGACAAGCGCGCG
+CCGTACATCAGCCGCGACAGCACATCACGCCCCACGTCATCAGTGCCCAGCAAGTGCGCCATGCTGCCGC
+CTTCCTGCCAGGCTGGCGGGGCGAGCAGTGCATCGCGGAACTGTTCCGCTGGGTTATAGGGTGCAATCCA
+GTTGGCAAAGATCGCGATAAACAGCACGATGACGACGTAAACCAGCCCGACAACCGCGCCTTTGTTGCGT
+TTAAAATAGTGCCAGAACTCCTGTAACGGGGTCATCGGCACCGGTGCGCTAATCACTTTATTTTCAGTAA
+CCTGTGACATGATGTCCCCTTACTTCTTATGACGAATACGCGGGTTCACCACGCCGTACAGCAGATCGAC
+CAGCAGGTTGACGAGGATAATCATCGTCGCCACCAGCAATACGCCGCCCTGCACTACCGGATAATCGCGG
+CGTTGCAGTGCGTCAATCAACCAGCGCCCCAGACCGGGCCACGAGAAGATGGTTTCAGTCAGAATCGCCC
+CCGCCAGCAATGTTCCCACCTGCAGGCCGATAACGGTCACCACCGGCAGCATCGCGTTACGCAGCGCATG
+GACGATAATCACCCGCATCCGGGTAAGACCTTTGGCACGCGCGGTGCGGATATAATCTTCGCCCAGCACT
+TCCAGCATCGAGGAGCGCGTCATACGCACAATGACCGCCAGCGGGATGGTACCCAGCACAATGGCGGGCA
+GGATCATATGGGCGACGGCATCGATAAAGTTACCGTCTTCACCCCAGATGGCGGTGTCGATCAGCATAAA
+ACCGGTTAACGGATTGGAATCATCGAGGAACACCATGTCGCTCACACGACCGGAGACAGGCGTCAGGTTC
+CAGTGCACCGAAACCAGCATGATCAGCATCATGCCCCACCAGAAAATTGGCATCGAGTAGCCGGTCAGCG
+CCAGGCCAACCGCTGTGTGATCGAAAATGGAACCACGTTTAACCGCAGCCAGCACACCAACCGGAATCCC
+GACTGCGGTCGCAAAAATCATCGCGCAGACGCCAAGTTCCAGCGTGGCCTGAAAGCGCGGCACGAACTCT
+TCCCATACCGGAATTCGGCTTTTCATGGAAATGCCTAAATCACCGTGCATTACGCCCCAAATGTAATGGA
+GATACTGCTGCCACATCGGTTTATCTAAGCCGAGTTCAGCCAGCAATTGCGCGTGACGCTCTGGGGAGAT
+CCCACGTTCGCCCGCCATGATCATCACCGGATCGCCCGGGATCATGTGGACAAAGGCAAATGTGAGAAGG
+GTAATACCGATAAACGTGGGGATGACGAGTCCCAAACGTCGGAGAATAAACTGCAACATAACCCGGATTC
+TCTATAGTGACCCGCAGCCTGGAACTGCGTGTCTGTATTGCTCACAAATCAATTCCCGCCCTTGTGGAAC
+AGGGAATGAAGTATTGCTGCCGGATGGCGCTGCACGCAGAGGCACAGCGCCACCGGGTATGCAGATTGTT
+GACAAAGAGCGCTTTGTTTATGCCGGATGCGGCGCAAACGCCTTATCCGACCTACAAAATCGTGCAAACT
+CAATACATTGCAGAGTTTTCGTAGGCCTGATAAGCGGAGCGCATCAGGCAGTTTTGCCTTTGCCATCAGT
+CTTGCATGGCTTTAATTATTCGATAGAGACATTTTCGAAGTGATGTTTGCCTAATGGATCAACCACATAG
+CCTTTAACTTCTTTGCGTACCGGTTCAAACACGGTGGAGTGAGCGATGATCAGTGCCGGAGCCTGATCGT
+GCATCACGACCTGTGCTTGTTTGTACAGTTCAACACGTTTATTGTGGTCGTCGGTAGCACGCGCCGGTTG
+AATCAGATCTTCAAACGGTTTGTAGCACCATTTTGAGTAGTTGGAGCCTTGTTCAGAGGCGGCGCAGCTG
+AACAGGGTGGCGAAGAAGTTATCCGGATCCCCGTTATCGCCAGTCCAGCCCATCATTACCGTCTGATGCT
+CGCCATCTTTCGCACGCTTGAGGTACTCACCCCATTCGTAGGTGACGATTTTGGCCTGCACGCCCACTTT
+CGCCCAGTCTGCCTGAATCATCTCCGCCATGCGGCGAGCATTCGGGTTATACGGACGTTGTACCGGCATT
+GCCCACAGGTCGATGGAGAAACCTTTTTCCAGACCCGCTTCTTTCAGCAAGGCTTTCGCTTTTTCAGGAT
+CGTAAGTGTAGTCCTGAACGTCGTCGTTATAGCCCCACATGGTTGGCGGGATCAGGTTTTTCGCTGATAC
+GCCCGCGCCCTGATAAACCGCTTTGATGATGGCGTCTTTGTTCACCGCGTAGGTCAGAGCCTGGCGAACT
+TTCACGTCATCCAGTGGTTTTTTCTGCACGTTATACGAGAGATAACCGACGTTCAGCCCCGGCATTTCCA
+TCAGGTTGATGGATTTATCCTGCTTCATGCGGGCGATATCTGCCGGGTTCGGGTACGGCATCACCTGGCA
+TTCGTTCTTCTGCAATTTCGCGTAACGCACGGAAGCGTCAGGAGTAATAGAGAAGACCAGCGTATCGATC
+TTCGGTTTGGTGCCCCAGTAGCCATCAAACGCTTTATAGCGAATACGGGAATCTTTCTGGTACTGCTGTA
+ACTGGAACGGGCCGGTACCGATTGGGTTGAGGTCCAGTTTTTCCGGTGTACCGGCTTTCATCATCGCGTC
+AGCATATTCTTTTGACAGAATAGAGGCGAAGTCCATTGCCAGGTCAGCGAGGAACGGCGCTTCCGGGCGA
+GTCAGCACAAACTGAACGGTGTTATCGTCCACCTTTTTCACTTCGCTGATCAGCTCTGGTAAGCCCATGC
+CTTCGAAGTATTCGTAGCTGCCGCCAGAGACTTTATGGTACGGGTTTTGCGCGTTTTTCTGACGATCGAA
+CGAGAACACTACGTCATCGGCATTCAGTTCGCGCGTCGGTTTGAATTCTTTATTGTCGTGCCACTTCACA
+CCTTTACGCAGATGGAAGGTATAGGTTTTACCGTCTTCGCTGACTTCCCACTTTTCAGCGAGGCCCGGGA
+TCACTTCAGTGGTGCCGATTTTAAATTCAACCAGACGGTTATAAAGCGGTACGGAAGAGGCGTCATAGGT
+GGTGCCGGAGGTAAACAGCTGCGGGTTAAACCCTTCCGGAGATCCTTCTGAGCAATAAACCAGAGTTTTA
+GCCTGAACACTTGCTGCGACGGTCATAGCCACCAGGCTGAGACCAAGCTTCAGCATCCCTGACTTTTTCA
+AGGAAATACGCATTATTCTGCTCCAATTGTGATGTTTGTTGTTTTAACCCTTTGCAGTGGGTTGTCGCTG
+CCTGACCTTTTTTGTTTTTTGCCCGGTCGGGTCAACGTTATGAGGTGGGGATGCCGTACTAATTAACATC
+AGTGTAACAGTGCGGATCCTCCATAAAATGCCCCTCGTGACCTACAATCTGTCAACAGAATGTGAAAACG
+TCAATACAGCCAACCGGGATTTACACCAACGGTGAGAATCCACAAACAAAGATTAAAAAAACTTCAAACA
+GCTATTTGCAGCAGAGAAATTTGTGCTACGCCAACACAACCAGAACAATCAGCTTAATATTTAGCAACAT
+TTGGTGATTAAGTTTTATGCATTTAATGAAAAAAATCTGAGGTAAAGGTGGATATCTGAGCGATTAATAC
+CATGAACGCTAAAACGCACAGCGGAAAATGCCAGCGCCAGCCATAAGTAACGCAAAAAAAGATTTAAGCA
+AATATAAAAAAAGACAATGGTTTCTGTCACAAATCCGTTAATGGATAGTGAGATATGGGGCGCAAATTTG
+GCAGGGAAATGTGTGGTGTGTAGATCGAATAAGGCGGTCGCGCCGCATCCGACAATGGGCCGGTACATTT
+GCCTGATGCGACGCTGGCGCGTCTTATCAGGCCTACGTCGAGTCGAACCTCCCCGCCCCGAGTCGAACCT
+CCCCGCCCCCGGAGGTTCTCTTCCTCATGAGCTACAGATGCAAAAAAGTCTGCTCGTTGAGCAGGCTTTT
+CGAATTTGGTCGGTGATAGAGGATTCGAACCTCCGACCCCTTCGTCCCGAACGAAGTGCGCTACCAGGCT
+GCGCCAATCACCGAATGCGGGGCGCATCTTACTGCGCAGATACGCCCTCGTCAATCCCTTAATAGCAAAA
+TGCCTTTTGATCGGCGAGAAAGTCAGCAGGCCTAGTTAGCCGACGCCTCTTTTGCCTGCGGGATGTGACA
+CCAGTTGTTGTTTTCGTTAATTCCACCATCCGGTGAAGTATAGCCAAGACAACCCATGATGGTGTCGTAC
+AGCTCTACATGACGGCGTGGCACTTTCATGTCGGCTTCTTTTTTCAGCTGCGCAAATGCCTGCGCATTGA
+CCGGATTTTCCAGATATTTATCCGACATCCAGACCATCATCGGCACACGGAACTGTTCCGGCGGTGCCAG
+TTCACGCGGCGTGCCGTGCAGGTGCTCGCGTTCATTAATTGACTCACCGTGGTCAGCTGCATAGAACACA
+ATCGCTTTCTTATCGCGAACCTGATCAATCACGCTGGAAATAAAGTGATCCACATAGGTCACCGAGTTGT
+CGTATGAGTTGATCATCTGCGCTTTGGTACAGCCGCTATCAACACCAATACATTCCGGCTTCCACTGCGC
+AAAGCTGCGCGGGTAACGCTGGGTGTAGTTAAAGTGTGAGCCTTTGGTATGCAGAATGATCAGATGCTTA
+CCATCCGGGTTGCGCCCCAGCGATTGCTGCATTTCGTCTACCAGCAACATATCATCTACCGGTTTGCCAC
+GGTTACGTGGCTCCGCACCAATCTGCTCACGATAAGCAATGTTGTCCGCCATCGTATTGCTGTAGAACCA
+CATTTCGCTTTGCATAGCGTAGAGATCAGAACTGAATCCTAACTGCTTCAATACCGCGAAAATGTTCTGT
+TCTTTTAATGTGCGCTGCGGATTATCTTCTGCTCCACCCTGACGTACAAACATGCAACGCAGTGAGAGTT
+TGGTTGCAGTATCACAGGAGTAACCACGGAACGCCGCCAGATTTTTCTCCTGAGCCAGCTTCGGTGTGGT
+ATTGCGTTCATAGCCGAAAATGCCCATATGATCCCAGCGCGTGGTTTCACCAATAATGAAAACGACATAT
+GTATCATCAACGTTTTGTGGAGCCTGGTACGTAAACTTCTTCGCAGGGTTAAGGAGAGAATTGTTATCGG
+AAGATTCATCGACCCGCGCCCAGGCATAAAGACCTAATGCCGAAAGCCAGTTTGATGGCAGATAAGAGTT
+CGCGACGACGCCGCCATAACTCGGCAAATCAACACCTGTCGCCCTCTCCACTTTCTTCTGCTGGATATCC
+AGCAAACGAATCGGTGCCCAAACCATAATACCTGCCAGTACGACGACCGCCAGGCTGCGAATACGTTGCC
+CTGGGGTTCGCAGTTGTCGGAGCAAGGTGTAACGACAGCGGTTATTCCAGATAAGGATAAGAGGCAACGC
+GCTTACGGCGATTAACCAGAGAATAAAGTTCAGACCAACAACTTCTTTTGACAGGTCGATATCGGTGGTC
+ATGACGGATGCGATGATGCCATAACCAATGACTACATTAAGGAAGGTCATGTAATAGCTGGCACCTGCGG
+AAAAGAGCACCACCAGCGATGCCAGAATACGCCAGCTGCGGCGGCCAAACAGCGAAAGAAGACGCAGTAA
+AAAGAAGGTCACCAGTACGGTGGCGGCCAGTTCAACAACAGCAGAAATACCTTTCCAGACGGTAAAATCG
+TGCGCATAGCTGCCGAAGCGGCGGTAAAAAACCGCGCCATTCATAAAAAGGCCAATATAGATTGCAAGCA
+AGAAGCTCAGCTTCTGCTGTGTAATCGATTTGATGTATCTCATGCAAACAAACCCTGGACAAACAGGTGA
+TAACACCCTGCTTAGTGGCTTTTCAGGCCAGGCAGGGGAAAAGTGCGGAGGTAGTCAGATAAGTAAAATC
+TACACGCGCGAATAAGTAGACCACAGCAAAGGGAAAAAGTGTGGGGAAAGAGTGTGCACGAAGCACAAAT
+TTACAAAAATGCAAGTTTGAAAAGAGACTTTAGCGTTACAAAAAGCAGTAAAAAGGGCCAGCTAACTGGC
+CCAAATTTTACGCGTTATTGTTTATACATTTCGTTGATGCGTTTGATGCACACTGAAGCTGAAGCCCAGT
+AGCTCGCGGCAGATGATTAAAGGGAGCCATGCGCCTCACGCAACATTTTCTGCTCTGGCTGGCGAATGGT
+CGTAGAAAGCGCCAGTGACAGAATCAGCAGGGCGAAAATCACGTAGAAAGTCACATAGAATCCGCCAAAC
+AGTGAAGCGATAATCGAACCACAAATGCTGCCGATACCGAAACCGAGGTAAATGACGCCGTAGTTTTTCG
+CCAGGTTATTGAGGCCGAAGAACTCACTAACCAGCGACGGGAACACAGTAATCGTGCCACCAAAGTTAAA
+TGCCACACAGGCAATCGCTGCAAAGAACGTCACTGCATTCAATGGTGCAAACAGCAGGGCCGCCATCCCC
+ACCAGCGCAATCACCTGACCAATGGTGATAACACGGATACGGGCGATTTTGTCAGACAGAATGCCCAGCA
+CCAGACGACCAGAAAGGTTGGCGATGGAAATAACCGTCACAGCATTGGCTGCGGAAATTGCATCAAGATG
+CGCCAGACTTTGAGCGATATCTTTCGCTACACCAATCACATACAGACCACTCATGCACGCAGTCAGGAAC
+ATAACCGCTAACATCCAGTACTGCGGTTTACGCATCGACTCTGCCAGGGTGTAGTCCTTCTCCACCACAC
+CATTGCTGGTTTTCACTTCCTGCTTCGGCGCATCTTTCATTAACGTTGCGCCAAAGACAATCATCACCAG
+TACAATCGCGCCCCAAATAACAAAGGTTTTTTCCAGACCCACCGTTTCGAGCAGGTGCGTGTCGATAAAT
+TTAAAACCCAGGCTGCCCAGACCATAAGAACCGATAGCAAAAGCAGAGATAAGTCCCTTACGCTCCGGAA
+ACCACTTCACGCAGTTAGAGAGCGTCAACAGGTAACCCGCACCATCCGCCAGACCAACCAACACACCGGC
+GCTTAACCACAGCATCATCAGGTTGTTGGAATGTGCTGTCAGGAAGAAACCTAATCCCAGCAAAATGCCG
+GAAGCCATAGTGACGCGTTTAACACCAAAACGTTCCTGCAATTTGCCCGCAACAGAAGACGAAATTGCCA
+GCCCCAGACTTAACAAGCCGAAAGAGAAAGCAACCTGGCTTACAGGAGCCCCCAGCTTGGCAGAAAGCGC
+ACCGTTAAACAGACTCCAGGTATAAACCGACCCCAGAGCAAACTGGGTAATGATAGTACCGATGAGTGTC
+AGCCAGCGAGTACGCTGATAATTTGAAGGTGTCATGGCAGTATTCCTGCAGTAATAAAAAGGAAAAATCT
+CTGCTGACAACCATAACGAAGTGCGCTTTATGCCTGGGGAAAAACGGCATGAAATGCCATCAGAACGGAA
+TGAAATGCATTAGTTCAGGAATGAATGACTCGACAATTATTCGCCAAATTTATTATTTAGTAAGTTAGTC
+CCCACTATCGCCACATTAGTTGTTATTTATGGGTTTCAATTGTATCTATAACGTTAAAATCTGGCGCTAA
+CCCCCATCGTATACAGATAGTCGCTATTGTTAGTGGTATTTTCTGCCTGAGATAGCGCAGCATAGGCAGC
+AATATTTTGATTGAGCAACATATCAGCGCCTACGGTGACATCCAGCCAGTTGCCGTTCTGGTTTGTCGCC
+GTCATCCGGCTCAGGCCTGATTGCGCCTTCCAGATATTCTCGCCAAATTGCTGGTTATAGCTGATTTGCG
+CCCAGGGTCGGAGATCGCCAAGCCGGGAGTCAACACGCCAGCCTAAGGTACTCACGCTGGCATGCCATAA
+CGGATCGGCCAGCGTGGTAGTACTGTCGCCAAACTCGTTATACATCGAGGTGGTTGTGCCATCGTAATGA
+AATGCCGCGACCGGGCCGGTTGTAACCTGCTCATATAAAGGAAAATTCCAGCCCATACTCATACTGCTGG
+TCACATCCACAGGGGTTTCTTCCGCCAGATTGACTTCCAGTCCCAGCGCCCTTTGGCTACTTTGAATACG
+TTGCGACAAAATATCGTTGTAATCAGGTTGATGATCGCTATCCCAGGTGTAACGCTCTGTGGAATGTCCG
+GGTTGCGTATCAACGATATATTCTTGTTGCCAGGCGTAAGCTGTGTTGAGAAAAAAGGCACTGATTACCA
+CGCTCGCAAGCAGGCTTAGCTGCCAGCGACCACCGCTTTTTTTTATGATCATTAACACGACTCCAGAGAA
+GAGCCGAATTCGGCAATATTATTGTCATTGTATGAAGGATATCGGGCATAGTAGCCCTGTATTAAATATT
+GACTTTTTCACCGATGCGTCAAGAAAAGCGGCTGAAATTTTTACGATCGGGTACATAGCGAGGGAAAGTA
+TGGAACGTTGCGGCTGGGTGAGTCAGGACCCGCTTTATATTGCCTACCATGATAATGAATGGGGCGTGCC
+TGAAACTGACAGTAAAAAACTGTTCGAAATGATCTGCCTTGAAGGGCAGCAGGCTGGGTTATCGTGGATC
+ACCGTCCTCAAAAAACGCGAAAACTATCGCGCATGCTTTCATCAGTTCGATCCGGTGAAAGTTGCCGCAA
+TGCAGGAAGAGGATATCGAAAGACTGGTACAGGACGCCGGGATTATCCGCCATCGTGGGAAAATTCAGGC
+AATTATTGGTAATGCGCGGGCGTACCTGCAAATGGAACAGAACGGCGAACCGTTTGCCGACTTTGTCTGG
+TCGTTTGTCAATCATCAACCATAGGTGACACAAGCCACAACGTTGAGCGAAATCCCCACATCTACACCCG
+CCTCCGACGCCCTATCTAAGGCACTAAAAAAACGTGGTTTTAAGTTTGTCGGTACCACAATCTGTTACTC
+CTTTATGCAGGCATGTGGGCTGGTGAATGATCATGTGGTTGGCTGCTGTTGCCATCCGGGAAATAAACCA
+TGATTCGGGAAGTGCAACGTTCAGAACTCCCCGCGATCCTCCAACTGTGGCTGGAAAGTACAACCTGGGG
+GCATCCCTTTATAAAATCGAGTTACTGGCGTGACTGCATTCCGCTGGTGCGGGATGCGTATCTTGCCAAC
+GCGCAAAACTGGGTCTGGGAAGAAGACGGTAAGCTTCTCGGTTTTGTCAGCATTATGGAAGGCCGATTCC
+TCGCAGCAATGTTTGTCGCACCGAAGGCCGTCAGACGCGGTATTGGTAAGGCGCTAATGCAGTATGTGCA
+GCAGCGCCATCCCCATCTGATGCTGGAGGTTTATCAAAAAAATCAACCGGCGATAGATTTCTACCATGCG
+CAGGGTTTTCACATTGTCGATTGCGCATGGCAGGATGAAACCCAACTACCCACCTGGATTATGAGCTGGC
+CGGTGGTTCAAACGCTGTAAGTGTCAGTTCCGGACCGGTGTATTTTTCCAGCCATGCCAGCGCCGTATTA
+CCCGCACAGCCATTCCCCAGCCGCGAGCTGGGGAGATCTTTGGTCAGCACGTTCACTGCGCCGTTTTTAC
+AAATGCCGCCAGCGATTAAATCCAAATCCGGCCATGCGCCTTCGTGAATACAAATCACGCCAGGTTTAAT
+TCCCTCGCTAATGACCGCTCCAGCAAGAATTTGCCCGCGTGAGTTCCACAGCCGAACAGTATCGCCATCT
+TGTATGCCGCGCGTCTGGGCATCGTCAGGATGAATGGTGACAGGCTCACGATTTGCCACCGCGTACAATT
+CGCGCAGAGAACTGTAATTCAGCTGGCTGTGCAGACGATGCGCCGGATGAGCAGAAAGTACCTGCAACTG
+TTCCGGTTCGGCACTGCCCTGCCATTCGTCCGGCGCCAGCCACATTGGATGCCCCGGGCAATCCGGATAA
+GCGTAATCGGCAATACGCTGCGAGAAGATTTCAATCTTACCGCTGGCGGTTTTTAATGGATGCGCCTGCG
+GATCGCGGCGAAAATCGGCGAAGCGAATAAACCGCTCACTGTCCGGGTTTTCCGGCATCTCAATTAACTG
+GTTGGCTTGCCAGAACTCAGCAAATGGTGGCAATTCAACCTGCTGGCTTGCCCCGTGCTGCCGGGCAACG
+TTATAAAACGTTTCCAGCCATTGCAGCTCACTTTTTCCTTCCGTAAAACGTGTATAACCACCCTTCTCCC
+AACGTTCACTCAAGTCGGCAAAAACATCAAAATCATTACGCGCTTCATCGCGTGGCGGCACCACTTGCTT
+CATCGGCACCAGATGCTGATTACTGTAATCACCGGTCATGGTGAGATCATTACGCTCAAAAGAGGTTGTC
+GCAGGCAGAACGATATCCGCGTGTTTCGCCGCAGCCGTCCAGAAGCATTCGGAGATCACCACCAGCTCCG
+GTTTTTGCCAGGCACGGATCAGGCGATTGGTATCCTGATGATGAGTAAAGTTGGCACCACCCGCCCACCA
+GATAAAACGAATATCCGGGAAATGTCGGTCCATACCGTTATGTTGATATGCGCCACCAGGGTTTTCCAGT
+GCTTCAACAATGCGGGCGACAGGGATTTTATCTACCGCATCGGTGCCACCCGGCAAGCTGCCCTGCATGG
+AAGAGAGCACCGCAGCGCGGCGCGTGGGGTTACCACCATTGGCAAAATGGTAAGAAAGACCAAAACCGCC
+GCCGGGTGTGCCGATTTGCCCCAACATTGCCGCCAGCGTGACGAGCATCCAGTGTTTTTGCTCACCAAAC
+TGTTGGCGCTGCATTCCCCAGCCTGCCATCAGCATGGTTGTATTTTGGTGGAAAATAGCCGCCAGCTCGC
+GGATTTTCGCTGCGCCAACACCACAAATCTCTGCCGCCCATTCGGCGTTTTTCGCTATACCGTCACTCTC
+GCCCAGCAAATAAGAGGCGAAGACGGCATAACCTGTGGTGCAACGCGCCAGAAACGCTTCGTCGTGCCAA
+CCATTTTCCACCAGCGTATGGGCGATCCCCAGCATCAACGCAACATCGGTGCCCATGTGTGGTGCCACCC
+ACTCCATTTTATCGCCAAAGAAATCGATGGTTTCCGATCGCATTGGATCAATGCAGATCAGCTTTTTCCC
+GCTGTCACGCAGTGCGGAAAAGTAAGAAAGCCCCTGCTCATCGGATGCATTCCACGCAATTTTCAGCGTA
+TTGAGTGGGTTAGCACTCCACAGCACCACGACATCGCTATGTTCCAGCACCAGCGGCCAACTGGTTTGCT
+GTTGATAAACTTCGCTGCCACCCACGACATACGGCATGATCGCCTGTGCCGCGCCGGTCGAATAATCCCC
+CAGATGCCCAGTATAACCGCCTGCCAGCGCCATATAGCGTTGTAATAATGTCGAGGCCTTATGCAGCACG
+CCGTTTGAACGCCAGCCGTAGGAACCAGCAAAAATCGATGCCGGGCCATAAGCCTCACGAATGCGTTTAT
+GTTGATGGTGAATAAGCTCCAGCGCCTCATCCCAACTCACGCGAACAAATTCATCCTGCCCACGAATGCC
+TTGCGGATTTTCCGGTGACGCAAGAAAGCCTTTGCGCACCATTGGAAATCGCACCCGCGTATTGCTGTGA
+ACCTGGTCGCGAACCGCGCTCTGCAAGGAGTTTTCCATTCCTGTGGCTAACGCGCCACGCGAGCTAAACA
+CGGTTTCGCCGTCGGTTTCAACCAGCATAGGCCCCCAGTGGGCGGCAGTCAGAACGGAATATCGTGAGGA
+TGAGTTGGCCAAACCGAAGACTCCTGAAAGGTTAGATGTATTGAGCAGTTAAATATTACTTACAAATTTC
+CGAGTATTCCCAGGAATAATCTTCATGCTCACGCGGCATAATCTCCCGCCACGGAACCCGTGGCAAAGAA
+TAAAAAGGTTATTAAGGATTAACAATGAAGAAACGTGTTTATCTTATTGCCGCCGTAGTGAGTGGCGCTC
+TGGCGGTATCTGGCTGTACAACTAACCCTTACACCGGCGAACGCGAAGCAGGTAAATCTGCTATCGGCGC
+AGGTCTGGGCTCTCTCGTTGGCGCGGGTATTGGTGCGCTCTCTTCTTCGAAGAAAGATCGCGGTAAAGGC
+GCGCTCATTGGCGCAGCAGCAGGCGCAGCTCTGGGCGGCGGCGTTGGTTATTACATGGATGTGCAGGAAG
+CGAAGCTGCGTGACAAAATGCGCGGCACTGGTGTTAGCGTAACCCGCAGCGGGGATAACATTATCCTCAA
+TATGCCGAACAATGTGACCTTCGACAGCAGCAGCGCAACCCTGAAACCGGCGGGCGCTAACACCCTGACC
+GGCGTGGCAATGGTACTGAAAGAGTATCCGAAAACGGCGGTTAACGTGATTGGTTATACCGACAGCACGG
+GGGGTCACGACCTGAACATGCGTCTCTCCCAGCAGCGTGCGGATTCCGTTGCCAGCGCGTTGATCACCCA
+GGGCGTGGACGCCAGCCGCATCCGTACTCAGGGCCTTGGCCCGGCTAACCCAATCGCCAGCAACAGCACC
+GCAGAAGGTAAGGCGCAAAACCGCCGTGTAGAAATTACCTTAAGCCCACTGTAATCCCTTTCATGTCAGG
+TGATGCAGAAATCACCTGGCATTCTTCAGTTTTCCTTCATCATATTTCAGGCTAAGGTGATCGCCTTATC
+AGTGAATGGAGAGAAGCATGAAGCCGTCCGTTATCCTCTACAAAGCCTTACCTGATGATTTACTGCAACG
+CCTGCAAGAACATTTCACCGTTCACCAGGTGGCAAACCTCAGCCCACAAACCGTCGAACAAAATGCAGCA
+ATTTTTGCCGAAGCTGAAGGCTTGCTGGGTTCAAATGAGAATGTTGATGCCGCATTGCTGGAAAAAATGC
+CGAAACTGCGTGCCACATCAACGATCTCCGTCGGCTATGACAATTTTGATGTCGATGCGCTTACCGCCCG
+AAAAATTCTGCTGATGCACACACCAACCGTATTAACAGAAACCGTCGCCGATACGCTGATGGCGCTGGTG
+TTGTCTACCGCTCGTCGGGTTGTGGAGGTAGCAGAACGGGTAAAAGCAGGCGAATGGACCGCGAGCATAG
+GCCCGGACTGGTACGGCACTGACGTTCACCATAAAACACTGGGCATTGTCGGGATGGGACGGATCGGCAT
+GGCGCTGGCACAACGTGCGCACTTTGGCTTCAACATGCCCATCCTCTATAACGCGCGTCGCCACCATAAA
+GAAGCAGAAGAACGCTTCAACGCCCGCTACTGCGATTTGGATACACTGTTACAAGAGTCAGATTTCGTTT
+GCCTGATCCTGCCGTTAACTGATGAGACGTATCATCTATTTGGCGCAGAACAATTCGGCAAAATGAAATC
+CTCCGCCATTTTCATTAATGCCGGACGTGGCCCGGTGGTTGATGAAAATGCACTGATTGCTGCATTGCAG
+AAAGGAGAAATTCACGCCGCCGGGCTGGATGTCTTCGAACAAGAGCCACTGTCCGTAGATTCGCCGTTGC
+TCTCAATGGCCAATGTCGTCGCAGTACCGCATATTGGATCTGCCACTCATGAGACGCGTTATGGCATGGC
+CGCCTGTGCCGTGGATAATTTGATTGATGCGTTACAAGGAAAGGTTGAGAAGAACTGTGTGAATCCGCAC
+GTCGCGGACTAAGCCGCGACTGCGTGGAGTAAAGCCCGATAATCGCTCGGGCTTTTACTCTTTATTGGGT
+TGCAGTAACTGCTGTAGTCCAGGCCTGATTAAACGCCTGATGTTGTGCCGGTAATGGCGCAATCAGTTTG
+TTATATTCACTTGCCTGCTGTGAAGTCGGGAACTGGATGCCATTTGCGACAAAGCTCACCTGAGTACCTT
+GCTGAGCAATGTAGTCTCCAACCATCACCAGTTGTTGCGTGAAAGTTTGTGCCGCCGGAATCAACGGTTG
+CAATGCATCAGCTGGCGTCGTTACCACTTTGGTGAATGCCTGATCAAAGACCGGTTTCAGGTCATCACTC
+TGTTTTAACGCAGAGTGCGCAGCATCGGCCTGCAACTTCGCATTTTGCAGCTGTTGCGCCAGCACACCCA
+GCGAACCGTTCATTTCACGCAGCGGACCGCTTTGCGTAACGTAATCCTGCGGTACGCGAATTGCGTTAAC
+GCTGTCTACAACCGGGCGCAGACCGGAATCCATCGCCTGATTCACCTGCTGAGAATAACCATACAGAATC
+GCGTAATCAGAGACAAAAGGACCAAACTGTTTTTTCTGATCGGCAGTCAGGGTTGGTAGACGTTCACCGC
+TACGCATCACTGTATTCTGCAGGAAGTCGATAAACGCTTTACGCTGATCGCCTTCTTTATCAAAACACCC
+ACTCAGGCTAACTACCATTAATAACGCCGCAAGAGGCGCAAACCAGCGAGAGCAGGACTTTCCTGTCGCC
+ATTTTCTTACTCCTTTCACCCAAAAAAAGCGCACAACGACACACGCGTGTCTGACGTGACAAGGATAGTC
+CAGGACAGGCTTGCAGGATACCCTTTCTACGTAATCTTCCTGGTAAAATCATGGAGAAAATGAAACAAGG
+TTAATTTGTTGTTTCATTGTTAAAAAATGATATTGCTGTTGCTTTTTTTGTAGCCAGAGATTTACGCCTT
+CGCAGAACGTTAGATTTTCGAAATCTTTACAAACCGGGAGTGGTAAGAGATATATCGGCATTTATCAGAT
+CGTTAGGTGGCTATAAGTCACGCTAAATGACTGGCTGAATCGAATCATAGTCAGAGTATGCCCTGACAAC
+ACCCCGCTGTGTCTGTTTTTCCCGACTATTCTTAATGAGCTTCGATGCAATTCACGATCCCGCAGTGTGA
+TTTGAGGAGTTTTCAATGGAATATAAAGATCCAATGCATGAGCTGTTGAGCAGCCTGGAACAGATTGTTT
+TTAAAGATGAAACGCAGAAAATTACCCTGACGCACAGAACAACGTCCTGTACCGAAATTGAGCAGTTACG
+AAAAGGGACAGGATTAAAAATCGATGATTTCGCCCGGGTTTTGGGCGTATCAGTCGCCATGGTAAAGGAA
+TGGGAATCCAGACGCGTGAAGCCTTCAAGTGCCGAACTAAAACTGATGCGTTTGATTCAAGCCAACCCGG
+CATTAAGTAAGCAGTTGATGGAATAGGCTTTTATCCACTTTATTGCTGTTTACGGTCCTGATGACAGGAC
+CGTTTTCCAACCGATTAATCATAAATATGAAAAATAATTGTTGCATCACCCGCCAATGCGTGGCTTAATG
+CACATCAACGGTTTGACGTACAGACCATTAAAGCAGTGTAGTAAGGCAAGTCCCTTCAAGAGTTATCGTT
+GATACCCCTCGTAGTGCACATTCCTTTAACGCTTCAAAATCTGTAAAGCACGCCATATCGCCGAAAGGCA
+CACTTAATTATTAAAGGTAATACACTATGTCCGGTAAAATGACTGGTATCGTAAAATGGTTCAACGCTGA
+CAAAGGCTTCGGCTTCATCACTCCTGACGATGGCTCTAAAGACGTGTTCGTACACTTCTCTGCTATCCAG
+AACGATGGTTACAAATCTCTGGACGAAGGTCAGAAAGTGTCCTTCACCATCGAAAGCGGCGCTAAAGGCC
+CGGCAGCTGGTAACGTAACCAGCCTGTAATCTCTGCTTAAAAGCACAGAATCTAAGATCCCTGCCATTTG
+GCGGGGATTTTTTTATTTGTTTTTCAGGAAATAAATAATCGATCACGTAATAAAATCTATTATTATTTTT
+GTGAAGAATAAATTTGGGTGCAATGAGAATGCGCAACACCGTAAGAAAGGCGGGAATAATTTCCCGCCGA
+AGACGCTTACTCTTTCAATTTGCAGGCTAAAAACGCCGCCAGCTCATAACTCTCCTGTTTAATATGCAAT
+TCACACAGTGAATCTCTTATCATCCAGGTGAAAAATAAAAGCGTGAAACAAATCACTATTAAAGAAAGTA
+ATCTATATTTCTGCGGCATTCCCAGCCCCCTGTGTTGATTTCCAACGAGTAAGAGGCTAACCTTATGGTG
+TCTATGCATAGAGGGGCCTCACTTTGATTTATAGTCAGGTGGGGCTTTTCTCTGTCTGCCTTTCGGTGAA
+TACCTGAGACAAACAGTCTCAAGCACCCGTGGCTATTCTAGCTTAATAAGTTCGTTTCTTCTCCTTGATA
+TAATCCTAAAAAAATCTCATAAAATTAATATATGAGATAATCTTTATTCATCAGAAGATTATTAAAGGTT
+GCTGTATTATTTAGCGATAAAAAAAGCCTGCCAGATGGCAGGCTATTTAATAACGGCATTATTACTGTAA
+CAGCGAAATATCCGCAACGCGCAGGAATAATTCGCGCAGTTTCTCCAGCATGGTAAGACGGTTGATTCGC
+AATTCTTTGTCATCAACCATGACCATCACTTTATCGAAGAAAGCATCGACCGGTTCACGCAGCTCAGCCA
+GTTCGACCAGCGCATCCTGGTAACGACCTTCCGCAAAGTACGGCTCCAGCTTGTCACGTAGCACCACAAC
+CTGCATCGCCAGTTTAATTTCTTCCGGCTCTTTCAGAGTAGAGGCATTCACGCGATCGCTCAGCACTTCA
+TCAGATTTCGCCAGGATGTTAGATACACGCTTGTTCGCCGCCGCCAGTGCTGCAGCTGCTTCCAGGGTAC
+GGAAGTGCGATACCGCTTTCATACGGGCATCGAAATCAGCCGGACGAGTCGGACGACGCGCCAGTACCGC
+CTGGATGGTGTCAACGGTGTAACCTTCGTCCTGATACCAGGCGCGGAAGCGACCGAGCATAAAGTCGATA
+ACATCATCAACCACGTTGGCGTTAGTCAGCTTATCGCCATACAGACGCACTGCTTCTTCGGTCAGCGTTT
+GCAGATCAAGGTTGAGGTTCTTCTCAACGATAATACGCAGCACGCCAAGTGCGGCACGACGCAGCGCAAA
+CGGGTCTTTGTCGCCTTTCGGATGCTGGCCGATACCGAAGATACCCGCCAGGGTATCCATCTTGTCAGCA
+ATCGCCAGCGCACAGGCTACCGGGTTGGACGGCAGGTCATCACCGGCAAAACGCGGCTGATACTGCTCAT
+TCAGCGCGACAGCTACGTCTTCCGCTTCGCCATCGTGACGCGCGTAGTGCATCCCCATAACGCCCTGGGT
+GTCGGTGAACTCGAAGACCATGTTGGTCATCAGGTCACACTTAGACAGCAGGCCCGCACGGGTTGCGTGG
+TTAACGTCAGCGCCAATCTGTTCAGCAATCCAGCCAGCCAGCGCCTGGATGCGGTCAGTCTTGTCACGCA
+GCGTACCCAGCTGTTGCTGGAACAGCACGGTTTGCAGGCGCGGCAGGTTATCTTCCAGACGTTTTTTACG
+GTCGGTGTTGAAGAAGAACTCGGCATCCGCCAAACGTGGACGAACGACTTTCTCGTTACCGGAGATAATT
+TGCTGCGGATCTTTCGATTCGATGTTGGCAACGAAGATAAAGTTCGGCAGCAGTTTGCCGTCGTTCGCAT
+ACACCGGGAAGTACTTCTGGTCACCTTTCATGGTGTAAACCAGTGCTTCAGACGGCACCGCGAGGAATTT
+CTCTTCGAATTTCGCGGTCAGAACGACCGGCCACTCCACCAGCGAAGCCACTTCTTCCAGCAGGCTTTCG
+CTTAAATCAGCGTTACCGCCAATCTTACGTGCTGCTTCTTCAGCATCGGCTTTAATCTTCGCCTTACGTT
+CTTCGTAATCGGCGATGACTTTCCCGCGCTCACGCAGAATTTCCGGATACTGATCGGCATTGTCGATAGT
+AAATTCCGGCTCGCCCATAAAGCGGTGGCCGCGAATCACGCGATCGGACTGAATGCCCAGAATGGTAGCC
+GGAATGACTTTGTCGCCCAGCAGCAGGGTTACAGTGTGAACCGGACGCACGAAGTGTACGTCAGACGCGC
+CCCAACGCATCAGTTTCGGGATCGGCAGTTTCGCCAGCGAAGTCGCAACCATATTCGGCAGCAGTGCTTC
+GGTGCTTTCGCCCTTCACATGGGCGCGATACAGCAGCCATTCGCCTTTATCGGTAGTCAGACGCTCAGCC
+TGGTCCACGGTAATACCGCAACCACGCGCCCAACCTTCTGCCGCTTTACTCGGTTTACCTTCGGCATCGA
+ACGCCTGAGCAATTGCCGGACCACGTTTTTCGATTTCACGATCCGGTTGCGCCTCCGCCAGGTTAGCGAC
+TTTCAGCGCCAGACGACGCGGAGCAGCAAACCATTGAACGGTGCCGTGTGCGAGGCCAGCGTTATCCAGC
+TCCGCAGTAAAGTTCGCAGCAAAGGACTCAGCCAGGCTGCGCAGTGCTTTTGGTGGCAGCTCTTCAGTGC
+CGATTTCCACCAGAAAAGTTTTCTCAGACATAGCCGCCTCTTACTTATCTTTGTTGCACATCGGGAAGCC
+GAGGGCTTCACGGGAAGCGTAGTATGCTTCTGCCACTGCTTTGGTCAGGGTGCGAATGCGCAGAATATAG
+CGCTGACGCTCGGTGACGGAGATGGCTTTACGCGCATCCAGCAGGTTGAAGCTGTGGGCGGCTTTCAGAA
+TACGCTCGTAGGCTGGCAGCGGCAGCGGATTTTCCAGCGCCAGCAGTTGCTGCGCTTCTTTCTCGTACTG
+CTCGAAGCAGGTGAACAGGAAGTCCACATCCGCGTATTCGAAGTTGTAAGTGGACTGCTCCACTTCGTTC
+TGATGGAACACGTCGCCGTAGGTGGTTTTACCCAGCGGGCCGTCGCTCCAGACCAGGTCGTAAACGCTGT
+CTACGCCCTGAATGTACATTGCCAGACGTTCCAGACCATAGGTGATCTCGCCGGTAACCGGTTTACACTC
+CAGACCACCAACCTGCTGGAAGTAAGTGAACTGCGTCACTTCCATGCCGTTCAGCCACACTTCCCAGCCC
+AGCCCCCAGGCACCCAGCGTCGGGTTTTCCCAGTTATCTTCCACGAAACGGATGTCGTGGATGGTCGGGT
+CCATGCCCAGCTCTTTCAGAGAACCAAGGTACAGCTCCTGAATATTGTCCGGCGATGGCTTAATGACCAC
+CTGGAACTGATAGTAGTGCTGTAAACGGTTGGGGTTTTCGCCGTAGCGACCATCGGTCGGGCGACGAGAA
+GGCTGAACATAAGCAGCCGCCATCGGTTCTGGCCCCAGCGCGCGCAGACAGGTCATTGGGTGAGAGGTTC
+CCGCGCCGACTTCCATGTCCAATGGTTGAACAATGGTGCAGCCCTGGCGAGCCCAGTAATCCTGTAAGGT
+CAGGATCAAGCCCTGGAAGGTCCTGGTATCAAACTTTTGCATATTATTTCGTGCTGGATACGTGTGGATT
+TAAAGGAAGGGATCAGTATACCCGCTGGATGGAAGATATACAGTACGAAACGGGAAAAAGCAGGGCTTAA
+CGCATGGAAAGATGCAAAAAATGGCCATCTGCGTCAAAAGAACAGACAAACTGCTCTTTACGGAAGGTAT
+AACCGCGCATTTCGTAGCTTCCCTGGAACTGTTCGAAGGCGGTGACGTCGATTTTTTGCTCGCCGGTGTT
+ATAACGTTTTGCCGCCTGATCCTTGCATAACGCTTCCATATTCAACGAACGCAGAGGATCAACCTTTACC
+CGTTGTGCTTTCTGCACGGGTGGCGGTGTAGAACAACCCACTAGCGCCATAAGCACCATAAGCGCCATTG
+CCGGAAAGAAAGCGTTCATCATCATTAAATTACCGTCTGGTTTGCAGGTGAGTCTTATTATTTATATCGG
+TATAGTGGCTGATATCTTACGAATTTCCTTAAGCCTCTATAAGCTGTAGTGATAAAACTCAGATTATTCC
+AGTGCGCCAACCGAATGATTTATCGGTCAGACTTTTTTTAACCAGATACAGAGACACAGATGCAGCCCAA
+AATTTACTGGATTGATAACCTGCGAGGGATAGCGTGTTTAATGGTGGTGATGATTCACACCACCACCTGG
+TATGTGACCAATGCTCATAGTGTTAGCCCCGTCACATGGGATATCGCCAATGTTCTGAATTCTGCCTCTC
+GTGTCAGCGTGCCGCTATTTTTCATGATTTCCGGCTATCTCTTTTTTGGCGAACGCAGCGCCCAGCCGCG
+CCATTTCTTGCGCATCGGCTTATGCCTGCTGTTTTATAGCACTGTTGCGCTGCTCTACATTGCGCTATTT
+ACCTCCATCAATGTGGAGTTAGCGCTGAAAAACCTGCTGCAAAAGCCAGTGTTTTACCATTTATGGTTTT
+TCTTCGCGATTGCAGTGATTTATCTGGTTTCACCGCTGATTCAGGTGAAGAACGTCGGCGGAAAAATGTT
+GCTGGTGCTAATGGTGGTGATTGGTATCATCGCTAACCCAAATACTGTGCCGCAGAAAATCGACGGTTTT
+GAATGGCTGCCAATTAACTTATATATCAATGGCGATACTTTTTACTACATCCTTTATGGCATGTTGGGCC
+GCGCTATAGGGATGATGGACACACAGCATAAAGCACTGTCGTGGGTGAGCGCCGCACTGTTTGCGACGGG
+GGTTTTTATTATCTCTCGCGGGACATTATATGAATTACAGTGGCGCGGAAATTTTGCCGATACCTGGTAT
+CTTTACTGTGGGCCGATGGTTTTTATCTGCGCAATCGCGTTATTGACTCTGGTTAAAAACACGCTGTATA
+CGCGTACCATTTGCGGACTTGGCTTAATCTCCCGCCATTCGTTAGGTATATACGGGTTCCATGCATTGAT
+TATCCATGCACTGCGCACCCGGGGGATTGAGCTTAAAAACTGGCCAATACTCGATATTATTTGGATCTTT
+TGCGCGACGTTGGCAGCGAGTTTGTTACTTTCTATGCTGGTACAACGAATCGACAGAAACAGATTAGTGA
+GTTAGTAAAAGCCCGGTTACATTGGACTAACCGGGCTTATGTGAATTATTCGCTGTATTCTTCCTGGGTA
+ACCTGTGTTTCTTTTGGTGGGTTTATTCCGGCATCACGAATATTCTTCTGCACCGCTACTGCACCAAACA
+AGCTTAAGAAGAAAGCCAGCCCATAAAAGCCTTTTTCGCTGAGTAATAACGTTGCATTCCATAGACCTAC
+CAGCAACAACGCAACAGAGATAATAAAGACCGTCAGGCAAGTCATATAATAAATGGGGGTGGTAGGTATG
+CCTTCATACTTGTCCCGAACGGTCTTTTGATAAGACGCCGCGGAAAACAAACCTAATACCAGTACGGCAA
+AATAATACCCTTTTTCATTTAACTGCATCTCTGCATTCCATAGTCCTAACAGATAGGTAACAATACCGCC
+AATAAGGGCTACCCATGAAACAATACTAAATGCCGGAGAATAGGTTGATATTTTGTTGTCCATCACAGTA
+TTCCTTTCATTCCTGAATGTGTAAGAACTTTATGTTGCTCATGCCGAGCGAAACAAACGCATTTGACCAA
+ACAAGCAGACAAAAAAGGCGATGGGGTAGATCACCATTTCATAAGCATTGATAGGTGCGTTTAAAACACC
+GATAAACAAGAGACCGATAGTGATTAACGCTACCAACTGACAGACGTGGATAAAAAAATCATCCAGTTGC
+CCAAGTTTTTCTGCGCGAAGATATGCATAGTTGCCAAAAGTTGCCGTCATTAACACGCCAAGAAAATAAC
+CTTTTCCACTTAACAATGGGCATGAGATCCATAGCCCAACCAGATAAACCAGCGCCCCGACAACAAATAA
+TAGTTTTGCCACAGTCTTTGAGGTTTTCATAACGATCTCCATATCTACCAGCGATACATTACGAGTAACC
+AACGAAAGACAAAACTGAAAAATGCCATTAACAAATGATTTTCAGAATAAATTCATACTAAATATTAATT
+AATTACTGAGATATATAGATGTGAATTATCCCCCACCCGGTCAGGCAGGGGATAACGTTTACGCCATTAA
+TGGCAGAAGTTGCTGATAGAGGCGACGGAACGTTTCTCGTCGTGGCTGATAAGCGGCATAACGCTGCGCA
+TCTGGTAGATGCGACTGTTCTAACGGTAGTTGCGGCAACAACTCAATGAGCGATTTCTCTGGATTCGCCG
+CAATCTGCGCCAGCCTTGCTGCGCCCAGTGCTGGCCCCACATCGCCACCCGTGCGGTAATCCAGTTGCTG
+ACCGCTGATGTCCGCCAGCATTTGACGCCAGTACTCACTACGCGCCCCGCCACCAATCAACGTAACACTT
+TGCGGTTTAATGCCGCAGGCATGCACGACATCCATGCCATCTGCCAGCGCATAACCCACGCCTTCCAGCA
+CTGCTCGCGCCAGTTCATTGGGGCCATGTTGATGAGTCAAACCAAAGAAACCCCCTTTCGCCTGGGGATT
+ATTGTGTGGTGTACGCTCGCCGGAAAGATAAGGCAGAAACCAAACTGGCTCGGCACTTTCATCAGCCTGT
+TGAGCTGCGGTGATTAAAGCAGGGACATTGCTCAGGCCGGTTAATTTCGCGGCCCAATCCAGACACGAAG
+CCGCACTCAGCATTACAGACATTAAATGCCAACGTTGCGGTAACGCATGGCAAAAGCTATGTACGGCGCT
+TTCTGGCTTGCTTAAGAACCCTTCGCTGACAGCAAAATAGACCCCCGACGTCCCCAGCGATAACATTGCC
+TGATTAGCATCAACCATTCCCACACCAACCGCACCAGCTGCATTGTCGCCACCGCCTGCGATAACTGGCA
+CCGCCGCCATACCCCACGCTTTCGCAACTTCAGGTAACAAAGCACCAGTAATTTCGCTGCCTTCGTATAA
+TGCGGGCATCTGGTCACGAGATAAGTGGCAAGCCTGCAGCATGAGATCGCTCCAGTCACGCTTTGCGACA
+TCCAGCCACATAGTGCCAGCTGCGTCAGACATATCGCTGGCAAACTCCCCCGTCATACGCAGACGCAAGT
+AATCTTTCGGTAATAATACTTTATCGATTTGACGGAATATCTCCGGCTCATGCCGCTGAACCCATAGCAA
+TTTAGGCGCAGTAAATCCGGGCATCATCAGGTTGCCGGTAATCACCCGCGATTGCGGAACTCGCGCTTCC
+AGCAAAGTGCACTCTTGCGCACAGCGCCCGTCGTTCCACAAAATGGCAGGGCGTAACACCCGTTGCTGAG
+CATCCAGTAAGGTTGCACCGTGCATCTGTCCGGCAATACCTAATGCTTTAACGTCTTGCAGAGAATGCTG
+AACGCCCAGAGCTTTCATTGCGCGATCAGTTGCCTGCCACCACTGTTCCGGGTCTTGTTCCGACCAGAGT
+GGATGCGGGCGCGAAACGGTCAGCTTTTCCGTTTGCGCAGCAACCACCTCACCCTGCTCGTTGAGCAAAA
+TAACTTTTACGCCCGAGGTGCCAAGATCTATCCCGATATACATATCGATCGTTCCTTAAAAAAATGCCCG
+GTATCGCTACTGATAACCGGGCCAACGGACTGCACAGTTAGCCGTTATTTGTCGAACAGATAATGATTTA
+CCAGATTTTCCAGTTGCTCCTGGCGACCACTCTGATGCACCGGAGACAAATTATGTTCCTGAGCATATTT
+GGCTAAATCTGCCAGTGACATTTGGCCTTTCAGGATTTGCTGGCCTAATTCACTATTCCAGCCGGAATAA
+CGCTGCGCGATGCGTTTATCCAGCTCGCCATCTTCAATCATGCGCGCTGCAATTTTCAGCGCCAACGCCA
+TCGTATCCATCGCGCCGATATGACCGTAAAACAGATCATATTTATCAGTACTTTGACGACGTACTTTGGC
+ATCGAAGTTCAGACCACCGGTGGTGAAACCGCCTGCTTTGAGAATTTCATACATCACCAGCGCATTCTCT
+TCCACACTGTTCGGGAACTGGTCGGTGTCCCAGCCCAGTTGCGCATCGCCACGGTTGGCGTCGACAGAAC
+CGAACAGGCCAAGCGCAATGGCGGTGGCTATTTCATGATGGAAAGAGTGACCTGCCAGCGTCGCGTGGTT
+AGCTTCAATATTCAGTTTAATCTCTTTTTCCAGACCAAACTGTTTCAGGAAGCCATAGACCGTCGCAGCA
+TCGTAATCATATTGATGTTTGGTCGGTTCTTGCGGTTTCGGTTCGATAAGCAACGTGCCCTGGAAACCGA
+TTTTATGTTTATGCTCAACCACCATCTGCATAAAGCGGCCCAGCTGTTCACGCTCCTGGCGCAAGTCGGT
+ATTTAACAGCGTTTCGTAACCTTCACGACCACCCCACAGGACATAGTTTTCACCGCCCAATTTATGGGTT
+GCTTCCATCGCTGTAACAACTTGCGTTGCCGCCCAACTGAAGACTTCAGGATCTGGGTTCGTCGCCGCAC
+CCGCGCCATAGCGAGGGTTTGTAAAGCAGTTAGCAGTTCCCCACAGCAGCTTCACGCCGCTCTCTTCTTG
+CTTGCCTGCCAGGACATCAACCATTTGCGCAAAATTATTGATGTACTCTTTTAACGACGCGCCCTCAGGG
+GAAACATCCACATCGTGGAAGCAATAAAATGGCACATGTAACTTGTGGAAAAACTCAAATGCGACATCTG
+CTTTACGCTTCGCCAACGCCAGTGCCTCACCAGGCTGCTGCCACGGACGATTAAACGCTCCCACACCAAA
+CATATCCGCCCCGTTCCAGCAGAAGGTGTGCCAGTAGCAGGCGGCAAAACGCAAGTGCTCTTCCATACGC
+TTGCCCAACACCAGTTCGTCGGGATTGTAGTGACGGAATGCTAACGGGTTTGAGGATTTTGAGCCTTCAT
+AACGAACGCGATCGAGCTGGTCAAAATAGGCTTGCATATTGAACTCCATAATCAGGTAATGCCGCGGGTG
+ATGGATGATGTCGTAATATTGGGCACTCCCTTTCAGTTGCTCAATTATGTTATTTCACACTGCTATTGAG
+ATAATTCACAAGTGTGCGCTCGCTCGCAAAATAAAATGGGATGATGAAACTGGGTAATTCCTCGAAGAGA
+AAAATGCAATAAGTACAATTGCGCAACAAAAGTAAGATCTCGGTCATAAATCAAGAAATAAACCAAAAAT
+CGTAATCGAAAGATAAAAATCTGTAATTGTTTTCCCCTGTTTAGTTGCTAAAAATTGGTTACGTTTATCG
+CGGTGATTGTTACTTATTAAAGCTGTCCTCTAACTACAGAAGGCCCTACACCATGAAAATAAAGAACATT
+CTACTCACCCTTTGCACCTCACTTCTGCTTACCAACGTTGCGGCACACGCCAAAGAAGTCAAAATAGGTA
+TGGCGATTGATGATCTCCGTCTTGAACGCTGGCAAAAAGATCGAGATATTTTTGTGAAAAAAGCAGAATC
+TCTCGGCGCGAAAGTATTTGTACAGTCTGCAAATGGCAATGAAGAAACACAAATGTCGCAGATTGAAAAC
+ATGATTAACCGGGGTGTCGATGTTCTTGTCATTATTCCTTATAACGGTCAGGTATTAAGTAACGTTGTCA
+AAGAAGCCAAACAAGAAGGTATTAAAGTATTAGCTTACGACCGTATGATTAACGATGCGGATATCGATTT
+TTATATTTCTTTCGATAACGAAAAAGTCGGTGAACTGCAGGCAAAAGCCCTGGTCGATATTGTTCCGCAA
+GGTAATTACTTCCTGATGGGCGGCTCGCCGGTAGATAACAACGCCAAGCTGTTCCGCGCCGGGCAAATGA
+AAGTATTAAAACCTTATGTTGATTCCGGAAAAATTAAAGTCGTTGGTGACCAATGGGTTGATGGCTGGTT
+ACCGGAAAACGCATTGAAAATTATGGAAAACGCGCTAACCGCCAATAATAACAAAATTGATGCTGTAGTT
+GCCTCAAATGATGCCACCGCAGGAGGGGCAATTCAGGCATTAAGCGCGCAAGGTTTATCAGGGAAAGTAG
+CAATTTCCGGCCAGGATGCGGATCTTGCAGGTATTAAACGTATTGCTGCCGGTACGCAAACTATGACGGT
+GTATAAACCTATTACATTGTTGGCAAATACTGCCGCAGAAATTGCCGTTGAGTTGGGCAATGGTCAGGAG
+CCAAAAGCGGATACCACACTGAATAATGGCCTGAAAGATGTTCCCTCCCGCCTGCTGACACCGATCGATG
+TGAATAAAAACAACATCAAAGATACGGTAGTTAAAGACGGATTCCACAAAGAGAGCGAGCTGTAAGCGTT
+ACGCCCCGGCGCGGAGCGGGGGCGTGATTTCTCTCCATGCCGCGTGAATTAATTGGCTTAGGTGGAGTCG
+TTATGCCTTATCTACTTGAAATGAAGAACATTACCAAAACCTTCGGCAGTGTGAAGGCGATTGATAACGT
+CAGCTTGCGGTTGAATGCTGGCGAAATCGTCTCACTCTGTGGGGAAAATGGGTCAGGTAAATCAACGCTG
+ATGAAAGTGCTGTGTGGTATTTATCCCCATGGTTCCTACGAAGGCGAAATTATTTTTGCGGGAGAAGAGA
+TTCAGGCGAGTCACATCCGCGATACCGAACGCAAAGGTATCGCCATTATTCACCAGGAATTGGCGCTGGT
+GAAAGAACTGACCGTGCTGGAAAATATCTTCCTGGGTAACGAAATAACCCATAATGGCATTATGGATTAT
+GACCTGATGACGCTACGCTGTCAGAAGCTGCTCGCACAGGTCAGTTTATCCATTTCACCTGATACCCGCG
+TTGGCGATTTAGGACTTGGGCAACAACAACTGGTTGAAATTGCCAAGGCACTTAATAAACAGGTGCGTTT
+GTTAATTCTCGATGAGCCGACAGCCTCATTAACTGAGCAGGAAACGTCGGTTTTACTGGATATTATTCGC
+GATCTACAACAGCACGGTATCGCCTGTATTTATATTTCGCACAAACTCAACGAAGTCAAAGCGATTTCCG
+ATACGATTTGCGTTATTCGCGACGGTCAGCACATTGGCACGCGTGATGCTGCTGGAATGAGTGAAGACGA
+TATTATCACCATGATGGTCGGGCGGGAGTTAACCGCGCTTTACCCTAATGAACCACATACCACCGGAGAT
+GAAATATTACGTATTGAACATCTGACGGCATGGCATCCGGTTAATCGTCATATTAAACGAGTTAATGATG
+TCTCGTTTTCCCTGAAACGTGGCGAAATACTGGGTATCGCCGGACTCGTTGGTGCCGGACGTACCGAGAC
+TATTCAGTGCCTGTTTGGTGTGTGGCCCGGACAATGGGAAGGGAAAATTTATATTGACGGCAAACAGGTA
+GATATTCGTAACTGTCAGCAAGCCATCGCCCAGGGGATTGCGATGGTACCCGAAGACAGAAAGCGCGACG
+GCATCGTTCCGGTAATGGCGGTTGGTAAAAATATTACCCTCGCCGCACTCAAAAAATTTACCGGTAGTAT
+TAGCCAGCTTGATGACGCGGCAGAGCAAAAATGTATTCTGGAATCAATCCAGCAACTCAAAGTTAAAACG
+TCGTCCCCCGACCTTGCTATTGGACGTTTGAGCGGCGGCAATCAACAAAAAGCGATCCTCGCTCGCTGTC
+TGTTACTTAACCCGCGCATTCTCATTCTTGATGAACCCACCAGGGGTATCGATATTGGCGCGAAATACGA
+GATCTACAAATTAATTAACCAACTCGTCCAGCAGGGTATTGCCGTTATTGTCATCTCTTCCGAATTACCT
+GAAGTGCTCGGCCTTAGCGATCGTGTACTGGTGATGCATGAAGGGAAACTAAAAGCCAACCTGATAAATC
+ATAACCTGACTCAGGAGCAGGTGATGGAAGCCGCATTGAGGAGCGAACATCATGTCGAAAAGCAATCCGT
+CTGAAGTGAAATTAGCCGTACCGACATCCGGTGGCTTTTCCGGGCTGAAATCACTGAATTTGCAGGTCTT
+CGTGATGATTGCAGCTATCATCGCAATCATGCTGTTCTTTACCTGGACCACCGATGGTGCCTACTTAAGC
+GCCCGTAACGTCTCCAACCTGTTACGCCAAACCGCAATTACCGGCATCCTCGCGGTAGGAATGGTGTTCG
+TCATAATTTCTGCTGAAATCGACCTTTCCGTCGGCTCAATGATGGGGCTGTTAGGTGGCGTCGCGGCGAT
+TTGTGACGTCTGGCTAGGCTGGCCTTTGCCACTTACCATCATTGTGACGTTGGTTCTGGGACTGCTTCTC
+GGAGCCTGGAACGGATGGTGGGTCGCGTACCGCAAAGTCCCTTCATTTATTGTCACCCTCGCGGGCATGT
+TGGCATTTCGTGGCATACTCATTGGCATCACCAACGGCACGACTGTTTCCCCCACCAGCGCCGCGATGTC
+ACAAATTGGGCAAAGCTATCTACCTGCCAGCACCGGCTTCATCATTGGCGCGCTTGGCTTAATGGCTTTT
+GTTGGCTGGCAATGGCGCGGAAGAATGCGCCGTCAGGCTTTGGGTTTGCAGTCTCCGGCCTCTACCGCAG
+TAGTCGGTCGCCAGGCTTTAACCGCTATCATCGTATTAGGCGCAATCTGGCTGTTGAATGATTACCGTGG
+TGTTCCCACTCCTGTTCTGCTGCTGACGTTGCTGTTACTCGGCGGAATGTTTATGGCAACGCGGACGGCA
+TTTGGACGACGCATTTATGCCATCGGCGGCAATCTGGAAGCGGCACGTCTCTCCGGGATTAACGTTGAAC
+GCACCAAACTTGCCGTGTTCGCTATTAACGGATTAATGGTAGCCATCGCCGGATTAATCCTCAGTTCTCG
+ACTCGGCGCTGGTTCACCTTCTGCGGGAAATATCGCCGAACTGGACGCAATTGCAGCATGTGTGATTGGC
+GGCACCAGTCTGGCAGGCGGCGTCGGGAGCGTGGCTGGAGCGGTAATGGGGGCATTCATCATGGCTTCAC
+TGGATAACGGCATGAGTATGATGGATGTACCGACCTTCTGGCAGTATATCGTTAAAGGTGCGATTCTGTT
+GCTGGCAGTATGGATGGACTCCGCAACCAAACGCCGTTCTTGATTTTGATAAAAATTTTCTCAAAGCCGG
+TAACGTATTACCGGTTTTGAGTTTTTGCATGATTCAGCAGGAAAAGAACCATGTTTACTAAACGTCACCG
+CATCACATTACTGTTCAATGCCAATAAAGCCTATGACCGGCAGGTAGTAGAAGGCGTAGGGGAATATTTA
+CAGGCGTCACAATCGGAATGGGATATTTTCATTGAAGAAGATTTCCGCGCCCGCATTGATAAAATCAAGG
+ACTGGTTAGGAGATGGCGTCATTGCCGACTTCGACGACAAACAAATCGAGCAAGCGCTGGCTGATGTCGA
+CGTCCCCATTGTTGGGGTTGGTGGCTCGTATCACCTTGCCGAAAGTTACCCACCCGTTCATTACATTGCC
+ACCGATAACTATGCGCTGGTTGAAAGCGCATTTTTGCATTTAAAAGAGAAAGGCGTTAACCGCTTTGCTT
+TTTATGGTCTTCCGGAATCAAGCGGTAAACGTTGGGCCACTGAACGCGAATATGCATTTCGTCAGCTTGT
+CGCCGAAGAAAAGTATCGCGGAGTGGTTTATCAGGGGTTAGAAACCGCGCCAGAGAACTGGCAACACGCG
+CAAAATCGGCTGGCAGACTGGCTACAAACGCTGCCACCGCAAACCGGGATTATTGCCGTTACTGACGCCC
+GGGCGCGGCATATTCTGCAAGTATGTGAACATCTACACATTCCCGTACCGGAAAAATTATGCGTGATTGG
+CATCGATAACGAAGAACTGACCCGCTATCTTTCGCGCGTCGCTCTCTCTTCTGTCGCTCAGGGCGCACGG
+CAAATGGGCTATCAGGCGGCAAAACTGTTGCATCGATTATTAGATAAAGAAGAAATGCCGCTACAGCGGA
+TTTTGGTCCCGCCAGTCCGCGTGATTGAACGACGTTCAACGGATTACCGCTCGCTGACCGATCCCGCCGT
+TATTCAGGCCATGCATTACATTCGTAATCACGCCTGTAAAGGGATTAAAGTGGATCAGGTACTGGATGCG
+GTGGGCATATCACGCTCCAATCTTGAGAAGCGTTTTAAAGAAGAGGTGGGTGAAACCATCCATGCCATGA
+TTCATGCCGAGAAGCTGGAGAAAGCGCGCAGTCTGCTGATTTCAACCACCTTGTCAATTAACGAGATATC
+GCAAATGTGCGGTTATCCATCGCTGCAATATTTCTACTCTGTTTTTAAAAAAGCATATGACACAACGCCA
+AAAGAGTATCGCGATGTAAATAGCGAGGTCATGTTGTAGCGATGATGAGAATTATCGGCGTCGCATCAGG
+TAACTCAGCACAACCACCTGATACGAGCAAAAGCCTTATCCGCCTGACAAGTCGGATAAGGCTCGAGGAA
+ATACAATTACATATGCGCCGCGATTAACCGTTGGTTATCCTGGTACATTGCGAACAGGTAGTTGTTATAA
+CTCTTCCCTTTGGTCGAGTAGCCCTTCAGCTTGTGAATCATCGCTGTGGCAGTCACTTCCTGATCCGCTT
+TACGCAGTTGTGCACGCGATTTACGGAACGAAGAGTAAGCCGGGTGCGTATTGAGGTTAGTGACATAGGC
+GCTCACCGATTCTTTGACAGAACTAAACTGTGAGTACCCTTTCACTTTACCCGGCGCATTGGTACAACGT
+CCTTTCATGCATTTCATGCCGAACAGGTTGTTGTTGTTGCGCGCCAGCTTTGACGTTCCCCAACCGCTTT
+CTGCTGCAGCCATCGTCGCCACCATACTGGTAGGGATAATGTCTACGCGTTCAAGCAAGGTATTCCACGG
+GATTTTTCGCGTATTACCAGACCACTTCACCTTGTAGCGTTTGGCGATGTCTTTCAGACGCGCACGCTCA
+GCAGGTGACCATTGGCCCTGATACTGTTTTGAAATCAGCCAGTTACGTTCCGCAGTAATGGCCGCATTTT
+GGCTGGTAATGTAAGGCATTACAGTCCGGAGAAACGCCTTTTTCCTTGGTGTTCCGGAAGGGTATTTTCG
+CAAATCAGGAAGTGAACTACTCTTTGCACTATTGCGAGAATACTCTTGTTTACTGCTTACCTGTTTATTA
+CTAGCTTTAGTTAAGTGGGACTTTTGACTCGCTGTTGTTGTGTGCGTCTTCGCTAACACCTCACTCGAAA
+ACACCAGAGTGAGTAACATAAGAATCATCGCCCCATATCGTCGTATGGGAGTCAAAATCATCAGGTCTCC
+TGGTCGGATTTAATCATTCCAACACCTTATATTTTTTACAAATTTGAGAGTTGAATCTCAAATCATATCA
+AAAATAGCTGTCAAGAGCACCCCAAGGAATAGTCCAAATCTGAAACTATGTCACGAGTTAACGATTCAGA
+TTGGCGCTAAATCGCAGAAAATGTGGGGTTTATCGCAAAATTCAGCCGTTTTTTGCGCGCGATCGCTCAC
+CCTTGCTTCTCATCCTGTGGACTTACCGCTCAGGGATGAGTTTTGTCTGGCTTATCGCTGGCAAACTGTC
+TGAAATCGCAGCAATAAGGACTCATCCGCCATGAAACTCGCCGCCTGTTTTCTGACACTCCTTCCTGGCT
+TCGCCGTTGCCGCCAGCTGGACTTCTCCGGGGTTCCCTGCCTTTAGCGAACAGGGGACGGGAACATTTGT
+CAGCCACGCGCAGTTGCCCAAAGGTACGCGTCCACTAATGCTAAATTTTGACCAACAGTGCTGGCAGCCT
+GCGGATGCGATAAAACTCAATCAGATGCTTTCCCTGCAACCTTGTAGCAACACGCCACCTCAATGGCGAT
+TGTTCAGGGACGGCGAATATACGCTGCAACTAGACACCCGCTCCGGTACGCCAACATTGATGATTTCCCT
+CCAGAACACCGTCGAACCGGTAGCAAGCCTGGTCCGTGAATGCCCGAAATGGGATGGATTACCGCTCACA
+CTGGATGTCAGCGCCACTTTTGCGGAGGGAGCCGCTGTCCGGGATTATTACAGCCAGCAAATTGCGATAG
+TGAAGAACGGTCAAATAACGTTACAACCCGCTGCCACCAGCAACGGTTTACTCCTGCTGGAACGGGCAGA
+AACTGACACATCCGCCCCTTTCGACTGGCATAACGCCACGGTTTACTTTGTGCTGACAGATCGTTTCGAA
+AACGGCGATCCCAGTAATGACCAGAGTTACGGACGTCATAAAGACGGTATGGCGGAAATTGGCACTTTTC
+ACGGCGGCGATTTACGCGGCCTGACCAACAAACTGGATTATCTCCAGCAGTTGGGCGTTAATGCTTTATG
+GATAAGCGCCCCATTTGAGCAAATTCACGGCTGGGTCGGCGGCGGTACAAAAGGTGATTTCCCGCATTAT
+GCCTATCATGGTTATTACACACAGGACTGGACGAATCTTGATGCCAATATGGGCAGTGAAGCCGATCTAC
+GGACGCTGGTTGATAGCGCGCATCAGCGCGGTATTCGTATTCTCTTTGATGTCGTGATGAACCACACCGG
+CTATGCCACGCTGGCGGATATGCAGGAGTATCAGTTTGGCGCGTTATATCTTTCTGGTGACGAGCTGAAA
+AAAACGCTGGGTGAACGCTGGAGCGACTGGAAACCTGCCGCCGGGCAAACCTGGCATAGCTTTAACGATT
+ACATTAATTTCAGCGACAAAACAGGCTGGGATAAATGGTGGGGAAAAAACTGGATCAGAACGGATATCGG
+CGATTACGACAATCCTGGATTCGACGATCTCACTATGTCGCTGGCCTTTTTGCCGGATATCAAAACCGAA
+TCAACTAGCGCTTCTGGTCTGCCAGTGTTCTATAAAAACAAAACGGATACCCACGCTAAAGACATCGACG
+GCTTTACCCCTCGCGATTACTTAACCCACTGGTTAAGTCAGTGGGTCCGCGACTATGGGATTGATGGTTT
+TCGGGTCGATACCGCCAAACATGTTGAGTTGCCCGCCTGGCAGCAACTGAAAACCGAAGCCAGCGCTGCA
+CTTCGCGAATGGAAAAAAGCTAACCCCGACAAAGCATTAGATGACAAACCTTTCTGGATGACCGGTGAAG
+CCTGGGGCCACGGCGTGATGCAAAGTGATTACTATCGCCACGACTTCGATGCGATGATCAATTTCGATTA
+TCAGGAGCAGGCGGCGAAAGCAGTCGATTGTCTGGCGCAGATGGATACGACCTGGCAGCAAATGGCGGAG
+AAATTGCAGGATTTCAACGTGTTGAGCTACCTCTCGTCGCATGATACCCGCCTGTTCCGTGAAGGGGGCG
+ACAAAGCAGCAGAGTTATTATTATTAGCGCCAGGCGCGGTACAAATTTTTTATGGCGATGAATCCTCGCG
+TCCGTTCGGTCCTACCGGTTCTGATCCGCTGCAAGGTACGCGTTCGGATATGAACTGGCAGGATGTTAGC
+GGTAAATCTGCCGCCAGCGTCGCGCACTGGCAAAAAATCAGCCAGTTCCGCGCCCGCCATCCCGCAATTG
+GCGCGGGCAAACAAACGACACTTTCGCTGAAGCAGGGCTACGGCTTTGTTCGTGAGCATGGCGACGATAA
+AGTGCTGGTCATCTGGGCGGGGCAACAGTGACTTTTCCGGCTTCCCGTTCGTGAGTACCTCGGGAAGCCG
+CCAACCAGGATAAAATGTCAGCCCTAATCAGCATTGCAGGATAAAGCACCGCTCACTCTTCAACAGACCG
+ATTTGCACCCCAGCAAATGTAGCGTTATTGTTACCTTCCTTGCTACAGAGTTCGACAGATATCCCGCTAT
+GACATTCTCCCTTTTTGGTGACAAATTTACCCGCCACTCCGGCATTACGCTGCTGATGGAAGATCTGAAC
+GACGGTTTACGCACGCCTGGCGCGATTATGCTCGGCGGCGGTAATCCGGCGCAGATCCCGGAAATGCAGG
+ACTACTTCCAGACGCTACTGACCGACATGCTGGAAAGTGGCAAAGCGACTGATGCACTGTGCAATTACGA
+CGGTCCACAGGGGAAAACGGAGCTACTCACACTGCTTGCCGGAATGCTGCGCGAGAAGTTGGGCTGGGAT
+ATCGAACCACAGAATATTGCACTAACAAACGGCAGCCAGAGCGCGTTTTTCTACTTATTTAATCTGTTTG
+CCGGACGCCGTGCCGATGGTCGGGTCAAAAAAGTGCTGTTCCCGCTGGCACCGGAATATATTGGCTACGC
+TGACGCCGGACTGGAAGAAGATCTGTTTGTCTCTGCGCGTCCGAATATTGAACTGCTGCCGGAAGGCCAG
+TTTAAATACCACGTTGATTTTGAGCATCTACATATTGGCGAAGAAACCGGGATGATTTGCGTCTCCCGGC
+CGACGAATCCAACAGGCAATGTGATTACTGACGAAGAGTTGCTGAAGCTTGACGCGCTGGCGAATCAACA
+CGGCATTCCGCTGGTGATTGATAACGCTTATGGCGTCCCGTTCCCGGGTATCATCTTCAGCGAAGCGCGC
+CCGCTATGGAATCCGAATATCGTGCTGTGCATGAGTCTTTCCAAGCTGGGGCTACCTGGCTCCCGCTGCG
+GCATTATCATCGCCAATGAAAAAATCATCACCGCCATCACCAATATGAACGGCATTATCAGCCTGGCACC
+TGGCGGTATTGGTCCGGCGATGATGTGTGAAATGATTAAGCGTAACGATCTGCTGCGCCTGTCTGAAACA
+GTCATCAAACCGTTTTACTACCAGCGTGTTCAGGAAACTATCGCCATCATTCGCCGCTATTTACCGGAAG
+ATCGCTGCCTGATTCATAAACCGGAAGGAGCCATTTTCCTCTGGCTATGGTTTAAGGATTTGCCCATTAC
+GACCGAGCAGCTCTACCAGCGCCTGAAAGCACGCGGCGTGCTGATGGTGCCGGGGCACAACTTCTTCCCG
+GGACTGGATAAACCGTGGCCGCATACGCATCAATGTATGCGCATGAACTACGTACCAGAGCCGGAGAAAA
+TTGAGGCGGGTGTGAAGATTCTGGCAGAAGAGATAGAAAGAGCCTGGGCTGAAAGTCACTAAAAATTGCC
+TGATGCGCTACGCTTATCAGGCCTACATGATTTCTGCAATATATTGAATTTGGTAGAATTTGTAGGCCGG
+ATAAGGCGTTTTAGCCGCATCCGGCATAAACAAAGCGCACTATCCCTGCGTTGAGAAACGCCGGAAAAAC
+GTTTCAAACAGGCTGCTGCCGTAGCCGATGCCGCTGCACTTTCTCGACATCCATGCACTGCAACGCCTTT
+GTCGGGCAGGCTTCAACACAGGCCGGCCCCGTCGCCCGATGCCAGCACAGATCGCACTTAATCGCCCTCG
+CCTTTTTGCGCGAAGAAACGACCTCCATCGCACCAAACGGGCAAGCCAGCATACAGCTTTTACAGCCAAT
+GCAACGTGATTGTTCAACGAAAATATGCCCATGTTCGCGGCTTATCGCGTCAACAGGGCACACATTTGCG
+CACGGTGCATCTTCACACTGATGACAGGCTACTGCCGTGGTGTAAGTATGATCTTTAATGACACGAATAC
+GGGAAATAAACTCGTCTGGTGACAACGCAGCGCAATCCTGATTCTCCTGATGCGACACTGCGCAAGCCAC
+TTCACAGGTACGGCAACCGATACATTTCGTCGCATCCGCAATAATAAACCGGTTCATGATCACTCCTTTG
+CACTAAAACAGCAGAGTGCCAGAGAGCGCGTCCCTACTGCTTTGATCCAACGAAGGAAATGTTAAAGTTT
+TGGCACTTGTCCAAAGGGTTATGTAATCGCGCCCTGGTCGTCCCTGACAGTAAATCCCAGTTCATTAGAA
+ATAGCCTGCGCGGTTTCACGAAGTGGTTTCAGGAGATTTTTCTCTCCCACCTGTTTCAGACGTGATGTCG
+AAAGCGAAATCGACACGGCGTACGGCACCCGCCCATGAATATCAAACACCGGAACAGCAATACAGGAGAC
+GCCGAGTTCGTTTTCTTCTCTGTCCATCGCCGCTCCACTTTCACGAATGTGCGCCAGTTCGTCGAACATC
+GCGGGCAGCTCGGTAATGGTATTGCGGGTTAACGGCTGGATCTCATGCTGATGGCTTTCCCAGTATGACT
+TCACGTAGTCCGGGTGACCAAACGCCATGTAGATCTTGCCCATTGCGGAACAGTAGAGCGGCATATGCTG
+GCCTATATAGGCACGGGTTCGCAGCATCCCGGTTGTGGGTTCCAGCTTATAAATCAAAATAGCGTGATCG
+TCTTCGCGGCTGGAGAAGTTAATAGTTTCACCAGTGGCGATGTTCAGAGCCTCAAGATGCGGAGCGGCGA
+TATGAATGATATTCAGCGAAGATAGCGCCTTCTGCCCGACGGCAATAAATTTGGTGGTCAGGCGATAACT
+CCCTGCGGCGGGCGCGGTGGTCACATAGCCGCAGGACTGTAATCCCTGCAATAAGCGATGGACGGTACTC
+TTATTTAAACCAGCCAGCTCCGAAAGATGCGCCAACGGACAACCGTTTGGATAGTTGCTCAAAATCTCAA
+TCAGCATCAACCCACGAAACAGACTCTGGCTTCCGGCTGGGCGCTCTTTTTCCTGCGCCATCTCGTTCTC
+TTTTTTTCCCATCACTTCTTTCCCCATTTTGTCGCGTCCTGATGGTAGCGCAAAGTGTGCCGTAGTTCAC
+GATCTCGACAGATAATTTATAACCACTTGATTTTTAAGTTTTTTGAAATTCATCAATCAGATTGCTTTGT
+TAAAAAGTGATCGATATATTTGAAATCAAGTTTCGTATATTGAAATTTTAAGCCAAAAAAGCGATCAAAA
+AAACAAGGAAGCCTGGGATGAAAGTGACATTTGAGCAGTTAAAAGCAGCCTTTAATCGGGTCTTAATTTC
+ACGCGGCGTTGACAGCGAAACGGCTGACGCCTGTGCAGAGATGTTCGCCCGCACCACCGAATCAGGCGTT
+TATTCTCACGGCGTTAATCGTTTCCCTCGTTTCATTCAACAACTGGAAAACGGCGATATCATTCCTGATG
+CCCAACCCAAACGTATAACCAGCCTCGGCGCAATTGAACAGTGGGACGCCCAGCGTTCGATCGGTAACCT
+GACAGCGAAAAAGATGATGGATCGCGCCATTGAACTGGCTGCCGATCACGGTATTGGTCTGGTGGCACTA
+CGTAATGCCAACCACTGGATGCGCGGCGGCAGCTACGGCTGGCAGGCGGCGGAAAAAGGCTATATTGGCA
+TTTGCTGGACCAACTCCATCGCCGTAATGCCACCGTGGGGCGCAAAAGAGTGTCGCATCGGCACCAACCC
+GCTGATCGTCGCCATTCCTTCCACGCCGATCACCATGGTCGATATGTCGATGTCGATGTTCTCTTACGGC
+ATGTTAGAAGTTAATCGCCTGGCTGGTCGTCAGCTCCCGGTAGATGGTGGCTTTGATGATGAGGGCAATT
+TGACCAAAGAACCTGGCGTTATCGAGAAAAATCGCCGCATTTTGCCGATGGGCTACTGGAAAGGTTCGGG
+CATGTCGCTTGTGCTGGATATGATCGCTACCCTCCTTTCTGACGGCGCATCGGTTGCCGAAGTCACCGAG
+GACAACAGCGACGAATACGGCATTTCACAAATTTTTATTGCCATTGAAGTGGACAAGCTTATCGACGGTC
+CCACCCGCGATGCCAAACTGCAACGCATTATGGATTACGTTACCAGTGCCGAGCGTGCTGACGAAAACCA
+GGCTATTCGTTTACCCGGCCACGAATTTACTACCCTGCTGGCAGAAAACCGCCGTAACGGTATTACCGTT
+GATGACAGCGTGTGGGCAAAAATCCAGGCGTTATAAGGAGATAAGCCATGATTTTTGGACATATCGCGCA
+GCCCAATCCGTGCCGTTTGCCCGCCGCCATTGAAAAGGCGCTCGATTTTCTGCGCACCATCGACTTCAAC
+GCCCTGGAACCGGGCGTTGTCGAAATCGACGGCAAGAATATTTATGCGCAAATTATCGATTTAACCACAC
+GCGAGGCGGTAGAAAACCGTCCGGAAGTGCATCGTCGATATATCGATATTCAGTTTCTGGCGTGGGGTGA
+AGAGAAAATCGGCATTGCTATTGATACGGGAAATAATAAAGTCAGCGAATCACTATTAGAGCAGCGCGAT
+ATTATTTTTTATCACGATAGTGAACATGAATCATTTATAGAAATGATTCCGGGCAGCTACGCTATTTTCT
+TCCCGCAGGATGTTCATCGCCCGGCATGTAATAAAAATGCCACTACGGCAATACGCAAGATCGTGGTTAA
+AGTGGCCCTCGCTGCTTTATAAAAAATGATTACTGGAGCACATAATGAAAACGAATAATGCCGGTTATAT
+TATCGGCGCGTATCCCTGTGCACCTTCTTTTCACCAAAGAAGTGAAGAGGAAGAGAAGGATTTCTGGCGA
+CAATTATCTGAGACTCCAGACATTTTGGGGCTGGAACAACCTTGCCTGGAAAATTTTCACCCGCTGGGCG
+ATCAATGGTTACTCCGTCATACGCCAGAGAGCTGGAAATTTGTCGTCACCGCAGTGATGGAAACCATGCG
+TCGCCGCAGCGAAAACAGCGGGTTTGGTCTCGCCTCCAGTGATGAAGAACAGCGCCAGGCCTGCGTGGCG
+TACTATCGCCACCTGTTCAATAAAATCAACTCATTGCAGGCTAATAAAGTGCTCGCACTGGAGCTCCAGG
+CTGCACCGTTAGCAACGAATCCTAATGTTATGCAAGCGACGGACGCTTTTGCCCGCTCATTGAAAGAAAT
+CGCCAGTTGGGACTGGCCGTGCAAGCTGGTGCTGGAACACTGCGACGCCATGACATCTTCTTCCCCCCGA
+AAAGGCTTTTTGCCTTTAGAAAATGTGCTGGAAGTTATTACCGATTATGACATCAGCATCTGTATCAACT
+GGGCGCGCTCTGCCATTGAAGGGCGCAATACAACGCTGCCGCTGACCCACACCCAAATGGCGAAACAAGC
+CGGAAAACTCGGCGCGTTAATGTTCTCTGGTACGACGCTAAACGGGGCATACGGCGAATGGCAGGATTTA
+CACGCACCGTTTGCACCATTCTGCGCAGAAAGCCTGATGACCACAGATCATGTTCGCGAGTTATTTAATG
+TAGCAGAATCGTCAACATTGCATTTTGCTGGCATCAAGCTACTGGAAATAAATGCGACGGCTGATGTGCA
+CCATCGCATCGAAATATTACGTAACGGCATTCACTCTCTGAATGAATCTCGTTAAATAGTTCCGCTTATA
+TATCACTTTGAATATCTAATTAGCCGTTTTCTGATAATTATTACGAATATTAACAACATTAGCGCATAAA
+AAATATTGCATAACCAGAAGGACTCGTTATGAAACGGATACTCGAAGGCATTCTTGCGATCATCATCGCA
+ATACTGTCTTGTATTATTTTTATTAATATCATTCTTCGATATGGATTCCACACAAGTATATTATCGATTG
+ATGAATTATCCCGACTTTTATTTGTCTGGTTAACCTTTATTGGCGCAATCGTTGCTTATATGGACAACAG
+CCATGTGCAGGTTACTTTTTTAGTCGAAAAACTCTCACCGGCTAATCAACAACGTGTTTCGCTGCTAACC
+CATACGCTCATTTTATTGCTGTGTCTGGGGCTGGCCTGGGGCGCTATAGAAAAAACAGCGCAAGACTGGA
+GCAACTTATCGCCCATTCTTGGCGTCCCCGTTGGCTTAATGTACGCCGCCGCTATCCCCACCAGTCTGAT
+TATCGCATTGCTGGAATTGCGTCACTTATACCGGCAGTTCACAAATACCCCCAGCCGAAACCAACAAGGA
+GCCTGACGATGACAATCCTTATATTTATTGTCAGTTTGTTAGGGGCTATCGCAATTGGCGTTCCCATCGC
+CTGGGCATTATTACTGTGCGGCATTTCATTGATGTTCTGGATGGATATCTTTGATGTGCAAATTCTGGCA
+CAAACGTTGGTAAATGGCGCAGACAGCTTCTCCCTGTTAGCCATCCCCTTCTTTGTACTGGCGGGTGAGA
+TCATGAACGCGGGCGGCCTGTCGCAACGTATCGTCGACTTGCCAATGAAACTGGTAGGCCACAGGCCAGG
+CGGTCTGGGTTACGTGGGCGTGCTGGCAGCGATGATCATGGCAAGCCTGTCCGGTTCTGCGGTTGCTGAT
+ACCGCAGCTGTCGCGGCGCTGCTGGTGCCGATGATGCGCCAGGCCAACTATCCGGTAAACCGCGCCGCCG
+GGCTTATCGGTTCCGGGGGGATTATTGCGGCCATTATCCCGCCTTCCATACCACTCATTATCTTCGGCGT
+CTCCAGCGGACTCTCCATCAGCAAACTGTTTATGGCGGGCATCGCACCGGGCATCATGATGGGCGTCACG
+CTGATGGTTACCTGGTGGTGGCAGGCAAAACGACTGAATTTACCTTGTCAGCCGAAAGCCTCACTGCGAG
+AAGTCTGGCAATCCTTAGTTTCCGGTATTTGGGCGCTCTTTTTACCGATAATTATTATTGGCGGTTTCCG
+TTCGGGGTTATTTACACCGACCGAAGCAGGCGCGGTTGCCGCCTTCTACGCTCTGTTCGTCTCGGTGGTG
+GTCTATCGCGAGATGACCTTCTCCACGCTTTATCATGTGCTGATTAACGCGGCAAAAACCACATCCGTGG
+TGATGTTCCTGGTGGCCTCTGCTGCGGTATCTGCATGGCTTATTACGATCGCCGAATTACCCATGATGGT
+ATCGGAGCTATTACAACCGTTGGTTGATTCGCCTCGCTTATTATTCATCGTCATTATGCTCGCTATTATG
+GTGATCAGTACGGTCATGGACTTAACGCCTACCGTATTAATTCTTACACCAGTATTAATGCCATTAGTGA
+AAGAAGCGGGAATAGATCCGGTCTATTTCGGCATCATGTTTATTATCAACTGTTCAATATCACTGATTAC
+GCCTCCAGTCGGTAATGTTCTTAACGTGGTATGCGGCGTGGCGAAACTTAAATTTGACGATGCGGTAAAA
+GGCGTTGCGCCTTACGTCATGGTTTTATTCATGTTGTTAGCATTATTTATTTTTATACCGGAGCTCATTA
+CCGCTCCTCTTAAATGGATGAGTTAAAAGGAAATCATAATGAAATTACGTTCTGTAACCTACGCTTTATT
+AATTGCCGGAGTGGCGACGTTCAGCACATCTTCTCTGGCGGCACAATCATTACGTTTCGGTTATGAAACC
+TCACAAACCGATTCACAACATATTGCGGCGAAAAAATTTAATGAATTACTGCAGGAAAAAACCAAAGGCG
+AACTGAAATTAAAACTGTTCCCGGATAGCACCCTTGGTAATGCGCAGGCGATGATCAGCGGCGTGCGTGG
+CGGCACTATTGATATGGAGATGTCTGGCTCTAACAACTTTACGGGACTCTCGCCCGTCATCAACCTGCTC
+GATGTCCCGTTCCTGTTCCGCGATACCGCTCACGCGCATAAAACGCTCGACGGCAAAGTCGGTGATGACC
+TGAAAGTCTCCCTTGAAGGTAAGGGGCTGAAAGTGCTGGCTTACTGGGAAAACGGCTGGCGCGATGTCAC
+CAACTCGCGTGCACCGGTCAAAACGCCTGCCGACCTGAAAGGGTTGAAAATCCGCACCAACAACAGCCCG
+ATGAATATCGCCGCATTTAAAGTTTTTGGCGCTAACCCGATCCCGATGCCGTTTGCCGAAGTCTATACCG
+GGCTGGAAACCCGCACTATCGACGCTCAGGAACACCCGATCAACGTCGTCTGGTCAGCAAAATTTTATGA
+AGTGCAGAAGTACCTTTCTCTGACCCATCACGCCTATTCGCCGCTTCTGGTGGTGATCAACAAAGCGAAG
+TTTGATGGCTTAACCCCGGAGTTCCAGCAAGCACTGATCTCATCTGCACAGGAAGCGGGTAGCTATCAGC
+GCAAACTGGTCGCCGAAGATCAGCAAAAAATCATCGACGGTATGAAAGAAGCGGGCGTGGAAGTCATCAC
+CGATCTCGACCGCAAAGCCTTTAGCGATGCGCTGGGTACCCAGGTCCGTGACATGTTTGTTAAAGATGTT
+CCGCAGGGTGCTGATCTGCTGAAAGCCGTGGATGAGGTGCAATAAACCATGACGCAATACTGGCTGGGGT
+TAGATTGTGGCGGTAGCTGGCTGAAAGCCGGGCTGTATGACCGAGAAGGCCGGGAGGCGGGCGTGCAGCG
+CCTGCCGCTGTGCGCATCAAGTCCACAGCCAGGCTGGGCAGAGCGCGACATGGCAGAACTGTGGCAATGT
+TGCACTGCTGTCATTCGCGCCCTGCTTACCCATTCCGGCGTCAGCGGGGAACAAATTGTCGGTATCGGCA
+TCTCCGCGCAGGGAAAGGGCTTATTTCTACTTGATAAAAACGACAAACCGCTCGGTAACGCCATTTTGTC
+CTCGGATCGCCGGGCGATGGAAATCGTTCGTCGCTGGCAGAAAGATGGCATCCCGGAAAAACTCTATCCG
+CTGACCCGACAAACCTTATGGACCGGGCATCCGGTGTCGCTGTTACGCTGGCTGAAAGAGCACGAACCAG
+AACGCTACGCGCAAATTGGCTGCGTGATGATGACGCACGACTACCTGCGCTGGTGTTTAACCGGCGTCAA
+AGGTTGCGAAGAGAGCAATATTTCTGAGTCCAATCTCTACAACATGAGTCGCGGGGAATATGACCCGTGC
+CTTACCGACTGGCTGGGGATTGCTGAAATCAATCACGCCCTGCCGCCTGTTGTCGGATCTGCCGAAATCT
+GCGGGGAAATCACCGCTCAGACAGCCGTACTGACCGGTCTGAAAGCGGGTACCCCCGTTGTCGGCGGCCT
+GTTTGATGTGGTTTCCACCGCACTCTGCGCCGGGCTCGAAGACGAATTCACCCTCAATGCGGTGATGGGG
+ACCTGGGCGGTGACCAGCGGCATAACCCACGGTTTACGTGACGGTGAAGCGCATCCGTATGTCTATGGTC
+GCTACGTTAACGATGGTCAATTTATCGTTCACGAAGCCAGCCCCACCTCTTCCGGCAATCTCGAATGGTT
+TACCGCACAGTGGGGAGAAATCTCATTTGCTGAGATTAATCAGGCCGTAGCCAGTTTGCCGAAAGCCGGT
+GGCGATCTCTTTTTCCTGCCGTTCCTGTACGGCAGCAACGCCGGACTCGAAATGACCAGCGGTTTCTACG
+GGATGCAGGCCATTCACACCCGTGCACACCTCTTACAGGCTATCTATGAAGGGGTGGTGTTCAGCCATAT
+GACCCATCTCAACCGGATGCGCGAACGTTTTACTGATGTGCACACCCTGCGCGTCACTGGCGGCCCGGCG
+CACTCCGATGTCTGGATGCAAATGCTGGCGGACGTCAGCGGTCTGCGTATCGAGCTGCCGCAGGTGGAAG
+AAACCGGCTGCTTTGGTGCGGCACTTGCCGCCCGCGTCGGTACCGGGGTTTATCGCGATTTCAGCGAAGC
+CCAACGTGACTTACAGCACCCGGTACGCACCCTGCAGCCGGATATGGCCGCGCATCAGCTTTACCAACAA
+AAATACCAACGCTATCAACATCTCATTGCCGCACTTCAGGGTTATCACACCCGCATCAAGGAGCACACAT
+TATGAGTCGACCACTTCTGCAACTGGCCCTCGACCACTCATCACTTGAAGCCGCGCAGCGCGACGTGACG
+CGGTTAAAAGACAGCGTCGATATTGTCGAAGCAGGCACCATTCTCTGTTTAAACGAAGGGCTTGGCGCAG
+TGAAAGCCTTGCGCGAACAGTGCCCTGACAAAATCATCGTTGCCGACTGGAAGGTCGCCGACGCGGGTGA
+AACGCTCGCGCAACAGGCATTTGGCGCAGGCGCTAACTGGATGACCATCATCTGCGCCGCGCCGCTCGCC
+ACGGTGGAAAAAGGCCACGCGATGGCACAGAACTGCGGTGGTGAAATTCAGATCGAGCTATTCGGTAACT
+GGACGCTGGACGACGCCCGCGACTGGCATCGTATTGGTGTACGACAGGCGATTTATCATCGTGGTCGTGA
+CGCGCAGGCCAGCGGGCAACAGTGGGGCGAGGCCGATCTGGCACGCATGAAAGCGCTTTCCGATATCGGC
+CTTGAGCTTTCCATTACTGGCGGGATTACCCCTGCTGACCTGCCGCTGTTTAAAGAGATCCGCGTGAAAG
+CGTTTATTGCCGGACGGGCGCTGGCAGGCGCAGCAAATCCGGCGCAAGTGGCTGGCGATTTCCATGCGCA
+AATCGACTCCATCTGGGGAGGCAAGCGTGCGTAATCATCCGTTAGGCATTTATGAAAAAGCGCTGGCGAA
+AGATCTCTCCTGGCCGGAGCGGCTGGTACTGGCAAAAAGCTGTGGTTTTGATTTTGTCGAAATGTCGGTG
+GATGAAACCGACGAACGGTTGTCACGTCTTGACTGGAGCGCCGCACAACGTGCTTCGCTGGTCACTGCGA
+TGATCGAAACGGGTGTTGCTATTCCGTCAATGTGCCTGTCCGCACATCGTCGTTTTCCTTTTGGTAGCCG
+GGACGACGCCGTGCGCCAGCGGGCGCGGGAGATTATGAGTAAAGCGATTCGCCTGGCGCGCGATCTCGGC
+ATTCGTACTATTCAACTGGCAGGTTACGACGTCTATTACGAGGATCATGACGAAGGCACCCAGCAACGGT
+TTGCTGAAGGGCTGGCGTGGGCGGTTGAACAGGCAGCGGCATCACAAGTCATGCTGGCGGTGGAGATTAT
+GGACACCGCGTTTATGAACTCTATCAGCAAATGGAAAAAGTGGGACGAAATGCTTGCGTCACCGTGGTTC
+ACCGTTTACCCGGACGTAGGCAATCTCAGCGCCTGGGGCAATGATGTTCCCGCCGAACTGAAACTGGGCA
+TCGACCGTATCGCCGCCATCCACCTGAAAGACACTCAACCCGTTACCGAACATAGCCCCGGACAGTTCCG
+CGATGTGCCGTTTGGCGAAGGCTGTGTCGATTTTGTTGGCATCTTCAAAACGCTGCATGAGCTGAACTAT
+CGCGGATCATTTCTGATTGAAATGTGGACCGAAAAAGCCAAAGAACCGGTGCTGGAGATTATTCAGGCGC
+GGCGCTGGATTGAAGCGCGTATGCAGGAGGCCGGATTTATATGTTAGAGCAACTGAAAGCCGACGTGCTG
+GCGGCAAACCTGGCGCTTCCCGTTCATCATCTGGTGACGTTCACCTGGGGCAATGTCAGCGCGATAGACG
+AAACGCGGCAATGGATGGTGATTAAGCCTTCCGGCGTTGAGTATGAGGTAATGACCGCCGACGATATGGT
+GGTGGTTGAGATAGCCAGCGGCAAGGTGGTGGAAGGCAGCAAAAAGCCCTCTTCCGACACGCCAACGCAT
+CTGGCGCTTTACCGTCGCTTTGCGGAGATTGGCGGCATAGTGCATACCCACTCGCGCCACGCCACCATCT
+GGTCGCAGGCCGGACTTGATCTCCCCGCCTGGGGCACTACTCACGCCGATTATTTTTACGGAGCCATCCC
+CTGCACGCGCCTGATGACCGCAGAAGAGATCAACGGCGAGTATGAATACCAGACCGGCGAAGTGATCATT
+AAAACCTTCGAAGAGCGTGGGTTGAACCCGGCAAAAATCCCGGCGGTACTGGTGCATTCTCACGGCCCGT
+TCGCCTGGGGAAAAAATGCCGCCGATGCGGTGCATAACGCCGTGGTACTGGAAGAGTGCGCCTATATGGG
+TCTGTTCTCGCGCCAGCTTGCGCCACAGCTCCCTGCGATGCAAAACGAACTGCTGGATAAGCACTACCTG
+CGTAAGCATGGGGCCAATGCCTATTACGGGCAGTAGCCATACCTGATAGTGCCCGGCAATACACGCCGGG
+CAGCCTTTCACATCAGAACAGCCCCAACGGTTTATCCGAGTAGCTCACCAGCAGGCACTTGGTTTGCTGG
+TAATGCTCAAGCATCATTTTGTGGGTTTCACGGCCAATGCCTGATTGTTTGTAGCCGCCAAACGCCGCAT
+GTGCCGGGTAAGCGTGATAACAGTTGGTCCACACGCGCCCTGCCTGAATGCCGCGCCCCATCTTATAGGC
+CAGATTACCGTTGCGGCTCCAGACGCCCGCGCCCAGACCATATTGCGTATCGTTCGCCAGCTCCAGCGCT
+TCTTCCATCGTTTTGAAGGTGGTTACCGCCAGCACCGGGCCAAAAATCTCCTCCTGGAACACGCGCATAT
+TGTTCTGACCAAACAGAATCGTCGGTTCGAGGTAGTAGCCGTCTTTCAGTTCGCCTTCCAGCAGCTTACG
+TCGCCCGCCGGTGAGCACATCAGCGCCCTCTTTTTTACCGATATCAATGTAGTTGAGGATGGTTTCCAGT
+TGCCCGTGAGAAACCTGCGCGCCCATTTGCGTCACGCTGTCGAGCGGGTTACCGCTGCGAATGCTTTCGA
+CACGGCGGATAGCGCGTTCCATAAAGCGTTCGTAGATAGACTCCTGCACTAAAGCACGGCTTGGACAGGT
+GCAAACTTCGCCCTGGTTAAAGGCAAACAGTGCAAAGCCTTCCAGCGCTTTATCGAAAAAGGCATCTTCT
+TCATCCATCACATCAGCAAAGAAGATATTTGGCGATTTGCCGCCCAGCTCCAGCGTCACCGGAATAATGT
+TTTGCGTGGCGTATTGCATAATTTGTTGGCCCACTTCCGTTGAGCCGGTAAACGCCACTTTGGCGATGCG
+TTTCGAGGTCGCCAGATATTCGCCAATTTCCCCACCTGCGCCGTTGACCACGTTCACCACCCCTGGCGGC
+AGTAAATCACCGACGATTTCCATTAGCAGCAGTACAGAAAGCGGAGTAAGACGTGCGGGTTTCAGCACCA
+CACAGTTGCCAGCCGCCAGCGCGGGAGCCATTTTCCAGCTCGCCATCAGCAGCGGGAAGTTCCACGGGAT
+AATCTGCCCCACCACGCCTAACGGTTCATGGAAATGATAGGCCACGGTTTCGCTATCCACTTCACTGATC
+CCACCTTCCTGCGCCCGAATACACGAGGCGAAATAGCGAAAATGATCAATCGCCAGCGGCACGTCGGCAG
+CACTGGTTTCGCGAATGGGTTTGCCGTTATCCCAGGTTTCTGCCGTCGCTAAAAGTTCAAGGTTTTGTTC
+CATTCGATCGGCAATCTTAAACAGAATCGCCGCGCGATCCTGCACCGAGGTGTGCGCCCATTTATCTTTC
+ACTTTATGCGCAGCATCCAGCGCCAGATCGATGTCTCGTTTTGCCCGAAGACGCCACTTCGCACAGTAGC
+TGCCCGGTCACCGGCGTCAGGTTCTGGTAATACTCGCCATCGGCAGGCGCTACCCATTCGCCACCGATAA
+AGTTGTCGTAGCGGGCTTTTAATTTGAGGGGGAAACCATACTCGCCGGGCTTAATCTGTGCTGAAGGGGG
+ATTATTGGTCATGATCGTCTCCTTGCGGTGTGAGGTATAACAAGGGTAGACGTGACTGGCGAAATCTTCG
+CCAGTCGGTAACAGCTTTACGACGGCTATCACGAATTTACGGGCAAGGATTACAGAGATAGTTGATAAAA
+AACGGCTGGCAACACGCCAGCCGCAGGAAGAAGGGAATTACATCGCTGCGCGATAAATCGCCACAATTTC
+TTCGTGAGTTGCCTGGATCGGGTTAGTAAAGCCGCAGGCATCTTTCAGGGCATTAGTCGCCAGAACCGCG
+AAATCTTCTTCTTTCACGTTCAGGTCGCGTAGGCCTGCCGGGATATCCACTTTCTTCGCCAGTTCACGGA
+TGGCGTTAATGCAGGCTTCAGCACCTTCCGCGTCGTTTTTACCTGTCACGTTCACGCCCATTGCAGCGGC
+ACAATCACGCAGACGTGCAGCGGCGACTTTGCTGTTGAATACCTGAACATGCGGCAGCAAAACGGCGTTA
+CATACACCGTGTGGCAGGTTGTAGAAACCGCCCAGCTGGTGCGCCATCGCATGAACATAACCCAGAGAAG
+CATTATTGAACGCCATACCGGCGAGGAACTGGGCATAAGCCATTGCTTCACGCGCTTTAGCATTGCTGCC
+ATCTTCAACGGCTAACGGCAGGTTTTCGGCAATCATGGTCACGGCTTTCAGTGCGCAAGCGTCAGTGATC
+GGCGTGGCGGCAATAGAAACATACGCTTCGATAGCGTGCGTTAAGGCATCCATACCCGTTGCGGCGGTCA
+GTGACTTCGGCATACCGACCATCAGAGATGAGTCATTGACAGAAAGCAACGGAGTGACATGTTTATCAAC
+AATCGCCATTTTGATGTGACGCGCTTCGTCAGTGATGATGCAGAAACGGGTCATTTCAGAGGCCGTACCC
+GCCGTGGTGTTGATGGCGATCATCGGCAGCTGCGGTTTTGCAGAGCGGTCAACGCCTTCATAATCGCGGA
+TGTCACCGCCGTTGGCTGCAACCAGCGCAATACCTTTTGCGCAGTCGTGTGGAGAACCACCGCCTAAGGA
+AATCACGCTATCGCAATTATTTTCTTTAAGTAATTTCAAACCTGCGGCGACGTTTTCCGTGGTGGGGTTA
+GGTTGGGTGCCATCATAAATAACGCTAAAAATATTGCGTTCTTCCAGTGCTTTTTGCACATCACCCGCCA
+TACCCAATTTCGTTAACATATTGTCGGTGACAATTAAGGTACGGGTAAATCCATAATCTGCCATCATATT
+CATTGCATCATTCAATGAATCAGCACCAATAACATTCACGGAAGGAATAAAAAAGGTTGAAGCTGCCATA
+ACACACTCCTGAAAGTGTAAAAAAGGGCGGGCAGCTTACTGAGGATTTTCATTTGAAAATATGATCAACA
+TTACCGTTTATTAAAATATTTTTAATAAAAAGCACGTTACATTCATCAAATAACGTGCCTTCTTAACATT
+AATAGGAAATTTTGTATCAATTCATATTTATTATGAATTAATCATTTCCTTATTTTTCCGGAAATAATAA
+TGCGTCGCGCAATAAATGATCATTTCCCCGACGACGCGTAAAACCAATGCGGTCAAAATATTCCAGAATT
+TGAATTGCCAGTTTTCGACCAACACCTAAACGATCGCGGAAATCCGCCGCGCAGGTTGAACCACATTCCT
+GATCGAGATCGCGGATCATATTGGCAAATTCGACAATCCGATCGTTACGGTAATAACGATCTTTAACGAT
+CGCCGTAATTATCCCCTGCTGGGCCGCCTGGCGTAGCGTCAGGCGCATTGCCTGCTCGTCGGTTCCCGTC
+TCTTTTGCCAGGTCACGCACCCACCATGGCTCGTCACCAAACAGCGGCTCTGCTTTTTGCCAGATGGCCT
+GCTGCTCTGCACTGAAGCCCGCTTTATGATCCGGCAGATGCAGCCAGCCGTGATGGCTGTGGATGTCGCC
+GCTTTCGCGCATCTTTTCAATCAGCAACAGTACCAGCGCTTCATCTTCCATTGGCAACGCCATACGTCGC
+AAACGTTCGCGCCCAGGACCAGGTTCATCGCGATGTTGCTCATGATAAGTCGCTAATGTATCGAGAATTT
+TCCGCTGCCAGCGGGCGGCAACTGGCGCATTCAACAAGCTGTAACCAGCCTGAATATAGCCAGGCTGTTG
+CAGCAGTTCGCGCATCCCTTCGCCGTTGAGCTGCCGTGCCCAGGCGAAATCCGCAAGGTTAACCGCGCCG
+CGTTCCAGATGAACAGATAACGCATCGGCATCGCTCTGCGCCCGTGCAAGAGACGCCAGCCATTGCAGAT
+ATTCCGGCTTACGCTTACCGCGACGCGGCGGGTTAAGCATCACCACACGCGCCCCCGCCAGCGTGTTGCG
+GGCCGAGATATCGCGCAGCACTAAGCGATCGTTATCCGCCAGCCACAGCGGCGTGTCGAACACCAGCTCG
+GCAAGGTTATCTTCCAGCAGCGAAACGCGTCCCGTAACGTGGCTGGCGGCGTGGTGAATATGCAGCGGCT
+GCCACTGGGTCAGCGGTGTATGGGTTTGAAGCTCGACAATCACCCGTGTGAACGGCTCCGGCGGCACATC
+GGCAAGCAGCCAGTCGCCACGGTTAATCTGCTCTTTTTCCGCATCACCCGCGATGTTAAGCGCGATACGC
+TGCCCGGCATGGGCAGTTTCTGTTGGCTGATTTTGCGCATGCAGCGCACGCACGCGCATCGGTTTATTTA
+CACCAGTCAGCCAGAGTGAATCGCCTACTTTCACTTCCCCGCTTAACGCCGTACCGGTGACGACCAGCCC
+GGCACCTTTTACGGTAAATGCGCGGTCGATCGCGAGGCGGAAACTATGTTGGCTGGCGTGTTCACGTTCT
+GGTAACTGAAGCAGATGCTCGCGCAGGGCATCAATTCCCCGACCTTCGGTTGCTGCGGTGATAAACAGTT
+TTGCCTCAGCAAAACCGTATTCCCGCAGCATCTCCTTTACCTGGCGTTCAACCTCATCAACACGCGCTTC
+GTCCACGCGATCGGCTTTGGTCAGCGCCACTGTCAGCATCGGGTTACCGGTCAGCTGCAAAATCGCCAGA
+TGCTCACGGGTCTGTGCCATCACACCGTCATCGCACGCCACCACCAACAGCGCGTGATCGATACCACCAA
+CGCCCGCCAGCATGTTGGAAAGAAACTTTTCATGACCGGGCACGTCGATAAAACCAGGCACGCGACCATC
+CGGCTGCGGCCAGTAGGCATAGCCGAGATCGATGGTCATGCCGCGCTTTTTTTCTTCCGGCAGACGGTCG
+GCATTTACGCCCGTAATCGCCTGCAACAAGGTTGTTTTGCCGTGGTCAACGTGTCCGGCAGTCGCAATAA
+TCATTTCAACAACATCTCCAAAAACCGTTGCTCATCTTCAAGGCAGCGTAAATCCAGCCACAATCGTCCG
+TCATAAATACGACCAATCACCGGCACTGGCAATTCACGCCAGCGGGCGGCTAATGACTCAAGGTGGCTAC
+CGCGTCCATCATGGGGGGTAAACGTTAATGCCGCGCTCGGCAGGCGATCAACCGGCAGCGAACCACTGCC
+GATCTGCGAAAGACATGGCATAACCTGTACCGCAAACTCCGCGCCGTAATGTGCGGCAAGGGGAGCCTGT
+AAACGTTGTGCCTGGATTTGAATGACCTCTGCGCTGCGGGTAAGCAGGCGCAGGGTCGGTAATTTTTCAC
+TCAGAGCTTCAGGGTGTAAATAAAGACGCAACGTGGCTTCCAGCGCCGCGAGGGTCATTTTATCCGCGCG
+TAATGCACGCTTCAGCGGGTGGCTTTGCAGGCGGGCGATCATTTCTTTTTTACCAACAATAATTCCTGCC
+TGCGGCCCGCCTAACAGCTTGTCGCCGGAGAAGCTCACCAGACTGACGCCCGCCGCAATCAACTCCTGCG
+GCATTGGCTCTTTCGGCAAACCGTACTGGCTAAGATCGACCAGCGAGCCACTGCCTAAATCAGTCACCAC
+TGGAACATCCAGTTCTTTGCCGAGCGCCACCAGTTCCGCTTCATCTATCGCTTTGGTGAACCCCTGAATG
+CTGTAGTTACTGGTATGTACTTTCATCAACAGCGCGGTATTTTCATTCACCGCCTGACGATAATCATTAG
+CGTGCGTGCGGTTGGTGGTTCCCACTTCGTGTAGGGTGCAGCCTGCCTGACGCATGACATCAGGAATACG
+AAACGCGCCGCCAATCTCCACCAGTTCGCCGCGAGATACCACCACCTCTTTCCCGCTGGCAGTGGCCGCC
+AACATCAATAACACCGCCGCCGCATTGTTATTAACGATACAGGCATCTTCCGCTCCCGTAATGCGGCACA
+GCAGCTGCGCCAGCGCCCGATCGCGATGTCCGCGTCCGGCGTCGTCCAGATCGTACTCGAGGGTCACTGG
+CGAACGCATAGCCTGCGCAACGGCTTCCACCGCGGCTTCTGCCTGTAAAGCTCGCCCAAGATTGGTATGC
+AGCACGGTTCCCGTCAGGTTGATCACCGGACGCAGCGCGCTCTGCGCCTCTTTCGTCAACCGGGCATCGA
+CTTCTTGCGCCCAGTTTTCACACCATGCGGGCAGCGTCTGGCTGTCTCGAATCACTTCTCGCGCTTCGTC
+AAGCATCTGACGCAGCAATTCCACCACGCGGGTGTGACCATAAGTATCACGCAAAGAAAGGAAGGAGCTA
+TCGCGCAATAAGCGATCAATAGCCGGAAGTTGACTATAGAGGGAACGCGTTTCGGTTGTCATAGGAAACC
+TGGCTGATCAAGGCCCTCTCACACGGAGAAGGGCGTTTAACATAACCACGGATTGTAACGTGAGATGGGT
+CAGGAGGACATATCGCGCATCAAGCCTTTGGCGGTTCGGTGCGAGCAAAACTTTCGCGGCTAAACAGGTT
+TTCGACCAGTTTGACTAAGTGTGGGCGGTCGACACACCAGCCTGGCGCAACGCGGCGGAAATTGAGATAT
+CCGACGGCACAGGCAATGGCGATAGTCGCCAGATTGACCGTATCGGTTTTGAGCGTGCCATCGACCAGAT
+ATCCTTCCAGCACATCCAGACTGCGGTTGATTTTCTCACGCTGACGTAACAATTCATCTTCAGACTGCTG
+CGCCGCCGGACGCGCCTGTTCACGCACCGATACCAGCCCGGCATCCATAATGCCATCCGCCAGTGCCTCA
+ATTTTGCGCACCCGCAACGACTCCAGCGGATCGCGCGGCAACATCGCCGGAGCAACATTCATTAATTCAA
+TATATTCAGCGATGATCGGTGAATCAAACCAGCATTCGCCCTCTTCGGTCACCAGTACCGGTACTTTTCC
+TAACGGGTTAAATTGCGCCACGCCGTTATCCGCGTTATAGGGCAGTTCATTAATAAATTCGAACGTTATG
+CCCTTTTCTAACAACAGAATAGAAAGTTTGCGTACAAACGGGCTGGTGTAGCTACCGACGAGTTTCATGC
+CGAGTCCTTTGTGCGAGGAAAAATATCAGTATGGCTCAGGCTCGCGCAAAACACAGGTGATACAAGTCTC
+AATGATCCAAATAAAGATAATGCATCCAACTGGTCATTCTTAGCAGCACTTTCCGCATCACCGAAACATG
+GCTGAAATGGTCGGAGTAAACTGCCACCTGGGCGTAGATGCCGTCGGGTAAGGCATCGATATCAGCGTCA
+GGGTCCAGTTCAATGGTTCCCAGCACACCGTCCGTGCCGGGCACGACCGTTAATGATTGCAATACCCCCT
+GCGCCTGATAAGAACCGCCTGGCACGACAGGTAAAATACTGGTCAGTTTGCCGTGAAACACCTGCCCAGG
+TAGCGCGTTAAACACCACTTCCGCATCATCGCCGGGTTTCAGACGTAACAGCGAGTTCTGCCGAAATTGG
+GCGACAATTTGCCGTTTTTGCTCGGGGATGAAAACCATCACCGGACGTAGCGGCAAGGCAGCTGCGTATG
+TACCTGGGCGGATCAGTACCTGAGTGACGTAGCCATTGCTCGGTGCGCGAATGACGGTCTGCTCAAGGTT
+ATATTTTGCTTCAGTAAGTTGCGCTCTTAAGCTCACAATCTGCGATTGCTCGCCGTTAACCATACTGTCG
+AGCTGGCTCTGGATCTGCGCCTGCTCCGCCACCGAGCCTTTCACCAGCGCATCCTGCGCGAGGAAATTTT
+GCCGCGCATCGTCGATGTCACGTTCCGAGAACGGATTCACCGCCGCCTGGCTGCCTTTCAGGTAACGTTG
+ATAATTTTTAAACAGACGGTCGCGCTCCGCTGAAACCTGGGTGGTGTTGGCCTGCGCTTCAGTGAGCTGC
+GCGCGCAGCGTCTTTATATTATGCGTCGCCGTCATCAGGTCAGCCTGAAGCCTGTCAACTCGCGCCTGGT
+AACGAACCGGGTCGAGCTTAAAAAGCACCTCGCCCTTCTGAATAAGCTGATTATTTTTGTCGGTGACTTC
+AGTAACAATTCCCGTCACCTGTGGCGTGATGGGGATCGCTATCACTGCCTTTTGCGCGGTAAAAGTGTAA
+GGGTGGTTGTAGTTCATCAACAAAATCAAACCACTCACCAGAAACACGCCTCCCAGCGCCGCCGTCGCCA
+GCGTCCACTGATTCACCGGAATGCGGAAGATTTTAAAGACCGCCCACGCCAGCGCCACGTAAGTTAAAAC
+AATCAATAGATCCATAATTAGATCTCCGGAAACGTGGAATAGTCAGTCTTTTTCTCGGCGGCGAGTTGGT
+GCTCCAGCCGGGAAATCCGGTCAGAAAGTGCGGCGATTTCCGGGTCTGGCACGTCGCCTTGCGGCGCAAC
+ATGTGACTGCATGCCCCAGCCGCGCTCCGGTTGATAGAGCGTCGCCCAGATCCACAGGAACGGCCAGATA
+ACATGCAGAGTAAACAGGCTCACCCAGCCCGCCGTATGAATAGCGTCGGCATGGGGATGGTTGCGCTTTT
+TGGCAATCAGATAAGGGATGTCATGTATCGCGATGATTCCATAAAAAATCACCAGAAAGACGAAGATCAG
+CACTCCCAACGCGAAATAGTTTAGAAACATATCTGCCTCGGATTCACGTTTATCAGTGTTGTTTTTTGGC
+TGGCAGCCAGAAGGGAGTCAGGCTGATATTTTGACAATAATCCGGGTTCGCGATTCTCGCCATAACACCA
+AAGAATAATTTTAAGAGGTGATGAGTTGCTTAGTTACATAACGATTTCATGACGAAGGCATAACATGCTG
+TAGATCACATCAGGTGAACGCCGTAAGAAAATATCTTGTGATTCAGATCACAAAGATTCAACAAACCATC
+AAAATAAAAATGTGACATAACTCACATTTAAATGCCATTTTTAGCGAAAATCGCCGCCTTGTTGCTTTTT
+TACACAAGCATTTTGTGATGAGCATCACGTCAATTACCTCTCTACCCCCTACATTTATGTGACTGATATC
+ACACAAAAGGCCGCCGACTGGACAGTTAACCGATTCAGTGCCAGATTTCGCAGTATCTACAAGGTCCGGC
+TACCTCTGCCGCCACATTAACAAAAAACCTCGGGCTTCCAGCCTGCGCGACAGCAAACATAAGAAGGGGT
+GTTTTTATGTCATCCGATATTAAGATCAAAGTGCAAAGCTTTGGTCGTTTCCTCAGCAACATGGTGATGC
+CAAATATCGGCGCGTTTATCGCGTGGGGTATCATCACCGCGTTATTTATTCCAACAGGGTGGTTACCGAA
+CGAAACGCTGGCGAAGCTGGTCGGGCCGATGATCACTTATCTCCTGCCGCTGCTGATCGGTTATACCGGT
+GGTAAGCTGGTAGGCGGCGAACGTGGCGGCGTAGTCGGTGCCATCACCACCATGGGCGTTATCGTCGGCG
+CAGACATGCCGATGTTCCTCGGCTCTATGATTGCAGGTCCGCTGGGCGGCTGGTGCATTAAGCACTTCGA
+CCGCTGGGTAGACGGTAAGATCAAATCCGGTTTTGAAATGCTGGTGAATAACTTCTCCGCAGGCATCATC
+GGGATGATCCTCGCTATTCTGGCATTTCTCGGCATTGGCCCGGTTGTTGAAGCCCTGTCTAAAATGCTGG
+CGGCGGGCGTTAACTTCATGGTTGTCCATGACATGCTGCCGCTGGCGTCTATCTTTGTTGAACCGGCGAA
+AATCCTGTTCCTCAACAACGCCATTAACCACGGTATCTTCTCGCCGCTGGGTATTCAGCAGTCCCATGAA
+CTGGGTAAATCCATCTTCTTCCTGATTGAAGCTAACCCAGGTCCGGGTATGGGCGTGCTGCTGGCGTACA
+TGTTCTTTGGTCGTGGTAGCGCTAAACAGTCTGCGGGCGGTGCGGCAATCATCCACTTCCTGGGCGGTAT
+CCACGAAATCTACTTCCCGTATGTGCTGATGAATCCGCGTCTGATTCTGGCCGTTATCCTCGGTGGTATG
+ACTGGCGTGTTTACGCTGACTATCCTGGGCGGTGGTCTGGTTTCTCCGGCATCTCCGGGTTCTATCCTTG
+CTGTACTGGCGATGACGCCAAAAGGTGCTTACTTCGCTAACATCGCGGGTGTGTGTGCGGCGATGGCAGT
+CTCCTTCGTTGTCTCTGCCATTCTGCTGAAAACCAGCAAAGTGAAAGAAGAAGATGATATTGAAGCTGCT
+GCACGTCGCGTTCAGGAAATGAAAGCTGAGTCTAAAGGCGCATCTCCGCTGTCTGCGGGCGATGTGACTA
+ACGACCTGAGCCACGTACGTAAAATCATCGTTGCCTGTGATGCCGGTATGGGTTCCAGTGCGATGGGCGC
+AGGCGTGCTGCGTAAGAAAATTCAGGATGCAGGTCTGTCGCAGATTTCGGTCACTAACAGCGCGATCAAC
+AACCTGCCGCCAGATGTGGACCTGGTCATCACTCACCGTGACCTGACCGAACGCGCTATGCGCCAGGTTC
+CGCAGGCACAGCATATTTCGCTGACCAACTTCCTCGACAGCGGCCTGTACACCAGCCTGACCGAACGTCT
+GGTTGCTGCCCAGCGCCATACTGAAAACGAAGTGAAAGTGAAAGACAGTCTGAAAGACAGCTTTGACGAT
+TCCAGTGCTAATCTGTTCAAACTGGGCGCGGAGAACATCTTCCTCGGTCGCAAAGCGGCCACCAAAGAAG
+AAGCGATTCGTTTTGCTGGCGAGCAGCTGGTGAAAGGCGGTTACGTTGAGCCGGAATACGTTCAGGCGAT
+GTTGGATCGTGAAAAACTGACCCCGACTTATCTGGGTGAGTCTATCGCGGTGCCACACGGTACGGTTGAA
+GCGAAAGATCGCGTACTGAAAACGGGCGTCGTGTTCTGCCAGTACCCGGAAGGCGTGCGCTTCGGTGAAG
+AAGAAGATGACATTGCCCGTCTGGTGATTGGTATTGCTGCCCGTAACAACGAGCACATTCAGGTGATCAC
+CAGCCTGACCAACGCACTGGATGATGAGTCTGTCATCGAGCGTCTGGCACACACCACCAGCGTGGATGAA
+GTGCTGGAACTGCTGGCAGGTCGTAAGTAATCCATTCCCACCCTCTCCGCATGAAGAAGGTGGGGCTAAT
+TGCCTGATGCGCTTCGCTTATCAGGCCTACAACATAAAGCACAATTTGTTTTGTCGGTCGGATAAGGTGT
+TTACGCCGCATCCGGCAGTCGGTACACAATGCCTGATGCGACGCTGACGCGTCTTATCAGGCCTACAGGT
+CAGTGCCAAACACGTAGGCCGGATAAGGCGTTTACGCCGCATCCGGCAGTCGGTGCACAATGCCTGATGC
+GACGCTGACGCGTCTTATCAGGCCTACAGGTCAGTGCCAAACACGTAGGCCGGATAAGGTGTTTACGCCG
+CATCCGGCAGTCGGTGCACAATGCCTGATGCGACGCTGACGCGTCTTATCAGGCCTACAGGTCAGTGCCA
+AACACGTAGGCCGGATAAGGCGTTTACGCCGCATCCGGCAAAAAGCCCCTCTCCTCACGGAGAGGGTTTG
+GGTGAGGGAAAAGCCTCACCCCAGCCCTCTCGGGTAAAAACATTGATGAAGGTTAATACTATGAAAGCAT
+TACATTTTGGCGCAGGTAATATCGGTCGTGGCTTTATCGGTAAACTGCTGGCGGACGCGGGTATCCAACT
+GACGTTTGCCGATGTAAATCAGGTGGTACTTGATGCCCTGAATGCCCGTCATAGCTATCAGGTTCATGTG
+GTTGGTGAAACCGAGCAGGTGGATACCGTTTCTGGCGTCAATGCCGTCAGCAGCATTGGCGATGATGTCG
+TTGATCTGATTGCTCAGGTCGATTTAGTCACTACCGCCGTTGGCCCTGTCGTGCTGGAACGTATTGCTCC
+GGCCATCGCCAAAGGGCTGGTGAAACGTAAAGAACAAGGTAATGAATCTCCGCTGAACATCATCGCCTGT
+GAAAACATGGTCCGCGGCACCACGCAGCTGAAAGGCCATGTGATGAACGCCCTGCCGGAAGATGCCAAAG
+CGTGGGTAGAAGAACACGTTGGCTTTGTTGATTCCGCCGTTGACCGCATCGTACCGCCTTCGGCTTCGGC
+AACTAACGATCCGCTGGAAGTGACGGTAGAAACCTTCAGCGAATGGATTGTCGATAAAACGCAGTTCAAA
+GGCACGCTGCCAAACATCCCTGGCATGGAATTAACCGACAATCTGATGGCATTTGTCGAACGTAAACTCT
+TCACCCTGAATACAGGTCATGCTATAACCGCGTACCTCGGAAAACTGGCCGGTCATCAGACCATTCGTGA
+CGCAATTCTCGACGAGAAAATCCGCGCGGTGGTAAAAGGGGCAATGGAAGAAAGCGGCGCGGTACTGATC
+AAGCGCTACGGCTTTGATGCTGACAAACATGCGGCATACATCCAGAAAATCCTCGGTCGTTTCGAGAACC
+CGTACCTGAAAGATGATGTAGAACGCGTAGGCCGTCAGCCGCTGCGTAAACTGAGTGCTGGCGACCGTCT
+GATCAAGCCACTGCTTGGAACCCTGGAATATGGTCTGCCACATAAAAACCTGATTGAAGGTATTGCCGCT
+GCAATGCACTTCCGCAGTGAAGATGACCCGCAGGCTCAGGAACTGGCAGCGCTGATTGCCGACAAAGGCC
+CACAAGCCGCGCTGGCACAGATTTCCGGTCTTGATGCCAACAGCGAGGTTGTATCCGAGGCGGTAACCGC
+TTATAAAGCAATGCAATAATGGTGGACCAGGCGCAGGATACCCTGCGCCCGAATAACAGATTGTCAGATA
+TGCAGGCAACAATGGAACAAACCCAGGCCTTTGAAAACCGTGTGCTTGAGCGTCTGAATGCTGGCAAAAC
+CGTGCGAAGCTTTCTGATCACCGCCGTCGAGCTTTTGACCGAGGCGGTAAATCTTCTGGTGCTTCAGGTA
+TTCCGCAAAGACGATTACGCGGTGAAGTATGCTGTAGAACCGTTACTCGACGGCGATGGTCCGCTGGGCG
+ATCTTTCTGTGCGTTTAAAACTCATTTACGGGTTGGGCGTCATTAACCGCCAGGAATACGAAGATGCGGA
+ACTGCTGATGGCATTGCGTGAAGAGCTAAATCACGACGGCAACGAGTACGCTTTTACCGACGACGAAATA
+CTTGGACCCTTTGGTGAACTGCATTGCGTGGCGGCGTTACCACCGCCGCCACAGTTTGAACCTGCAGACT
+CCAGTTTGTATGCAATGCAAATTCAGCGTTACCAACAGGCTGTGCGATCAACAATGGTCCTTTCACTGAC
+AGAGCTGATTTCCAAAATCAGCTTAAAAAAAGCCTTTCAAAAGTAAGTACTTTCGCTTACTTCTCCTCTA
+CCTGTTTCGGACGATAAAGCTGACGATAATACTCCAGACGTTGTAGATATAACGGCACGCTTTCATCAGG
+TATTCCGGACGGAATCGCGTTACGGGGAGGTAGTTTTTTCAGATACTCCCGGAACGCCTGGCTGGATGCC
+ATGAAATCTACGGCTTTATCGATAAGAAGCGGAACGTTTTCACCTAATTTGCCCATGATGATATCTCCGT
+ATTACCCCGCGCCGGGAATGCGCGGCCGCCAATTTTAGTTTAGATCCCGGTATAAATGACATTAAGGAAA
+ACGTGCTCAATCCTCAATAATCACCTGCTTCTGTTGACTATCTTTTTTCTTTAAATTTCTTAACTAATCA
+ATGTATTGGGTGATTTTTTAACGCATTAATGGTTACAATCTGGAACTATTACAATGCCATCAGTTGTGAA
+CAAAGCACCTGGTCGCGCATACTAGAGGCTATAAATTTATCTCTATCAGAAGTCATCACATGAAAGAAGT
+CGAAAAAAACGAAATCAAACGTCTCAGCGATCGTCTGGACGCCATCCGTCACCAGCAGGCCGATCTGTCG
+CTGGTTGAAGCCGCAGACAAATATGCCGAACTGGAAAAAGAGAAAGCCACGCTGGAAGCAGAAATTGCTC
+GCCTGCGCGAAGTTCACAGCCAGAAACTCAGCAAAGAAGCGCAGAAACTGATGAAGATGCCGTTCCAGCG
+TGCAATCACCAAAAAAGAGCAAGCTGATATGGGCAAACTGAAAAAAAGTGTTCGCGGACTGGTGGTTGTG
+CACCCAATGACCGCGCTGGGCCGTGAAATGGGCCTGCAAGAGATGACAGGGTTCTCAAAGACTGCGTTTT
+AAGTTCCTTTCTCGTCGCTGTAATCACAGCCTCTCACCATTTACTCGCTCCTGCTGGCACATGCAGGAGC
+CTGTTTCAGAGATCGAATCTTTATAACGTTCTTAACATTATATATTCAACTCCACCTACACTTCTGAGCG
+ATCGTAGCAGGCTAAATTCTGAAAATCAGGTACACATTAAAGAATGATGTATCAATATCAACAATGAATT
+TCCGCATATCAATGCTCGAAACATAATTAATTATTTAAATTTTTCAATCAGCTTCGCAAATTCCACAATA
+AAACATCACTCAACTGAATATTTACCTTTCCCTGCCCTGTGCCTTTATCCGGTGAAACATTTGACATCGA
+TTGACACCGATCATTAAAATCCGCGCGATTAATATTATTGGCTACAAACTGAAATCGTTTGACATTTAAT
+AACATATTCGCACAACCAATTAATACAAAAACTCTCTAACAAATTTATTTTGCGGATATGCCTCATTCCA
+ATCATTCATAAAAAAAATGATTGTGCCGTAATTATCAACTGTATCGGGATTATGAAAAGGAATTCATCCT
+ATGAACCTAAAGAAAACACTGTTAAGCGTGTTAATGATATTGCAACTTTGCTTATTGGTAGGGTGTGACT
+ATATTGAAAAAGCGAGTAAGGTCGACGATCTCGTTACACAGCAAGAGTTACAAAAAAGCAAAATTGAGGC
+GCTTGAAAAACAACAAGAACTCGACAAGCGCAAGATAGAACACTTTGAAAAACAACAAACTACCATCATA
+AACAGTACCAAAACGCTCGCTGGCGTGGTGAAGGCAGTTAAAGACAAACAGGACGAATTTGTCTTTACAG
+AATTTAACCCGGCACAAACCCAATACTTCATTTTAAATAACGGTTCTGTTGGTTTGGCAGGGAAAATACT
+GTCTATTGACGCAGTAGAAAACGGCAGCGTTATTCGTATTTCACTGGTTAACTTATTAAGTGTTCCTGTA
+TCAAATATGGGTTTTTACGCGACATGGGGGGGAGAAAAACCCACCGACATCAACGCATTAGCAAAATGGC
+AGCAATTGCTATTTAGTACCTCAATGAACTCCTCCCTGAAATTATTACCAGGTCAATGGCAAGACATTAA
+TTTGACGCTAAAAGGTGTCTCGCCCAACAACCTCAAATATCTGAAATTAGCCATCAACATGGCAAATATT
+CAGTTCGACCGTCTTCAACCTGCTGAATCTCCACAGCGGAAAAACAAAAAATAAATGCAGCTTCTGCGCT
+TATATCAAGGAATAGAGAGCATCAATAATGAACAAAATATTTAAAGTTATCTGGAATCCGGCAACAGGTA
+GTTACACCGTTGCCAGTGAAACAGCAAAAAGTCGTGGTAAAAAAAGCGGGCGCAGTAAGCTGTTAATTTC
+TGCGTTGGTTGTGGGTGGGTTGTTGTCGTCTGGAGTACAAGCATCGACCGCGCTTGATGGTGGTGGGGCT
+AGCGAAAGCACTCCATTGACCGATACCTGGATTGCCATTGGTCAGGGTGCTAAAGCATCATCAGTAGACA
+CTTCACCATCAGGAGGACCAGGAACATCAAGTATTGCAATAGGGCAAGAAGCCCAATCTGGGATAGGTAG
+TACCTCATTAGGTTTCAAGAGCCAGGCTACAGGAGAAAGATCTGTTGCTTTAGGACAAACAGCTGACGCA
+ACCGGTAATAGGGCCATAGCAATCGGTAGTGGAGCTAAATCGACTGCCGATTATTCCCTTACGCTGGGGA
+ATGGATCTAAGGCTTTCGCTGAAAACGCCACGGCGATAGGCAAGGACGCAAGAGCGGAGGGCAAAGGTAG
+TCAGGCCTTCGGAAAAGTGGCCTTGGCCACTGGGGAGAATGCCATTGCCTTGGGTAGTAACAGCAATGCA
+TCTGGTGATAACGCCGTTGCGCTGGGTAGTACAAGTCAGGCATATGGCGACTCCAGCCTTGCAATAGGTG
+AGTTAAGTGAGACCAATGCTGAAAATGCTATTGCACTGGGAAAACTCAGTAACGCAAGTAAAATCAATTC
+AATCGCCCTGGGTAGTAACAGCACTGCATCTGGTGAGGGCTCCGTTGCGCTGGGAGAGAATAGTTTTGCT
+GGAGGCATAAACAGTCTTGCTTTGGGTAGTCAATCCAATGCAAACGGTGATAACGCAGTTGCCCTCGGTG
+TAGGATCTGTCGCAGAGCAAGACAATACCGTTTCGGTAGGGAACAGCACAACACAACGCAAAATTACCAA
+TATGGCTGCCGGTCTTATACAACCAGGCAGTACTGAGGCCATTAACGGTTCACAACTTCATGCATTAAGT
+GCCTCAGTCGCAGCCCGACTCGGGGCTGGTGCTGGCGTAAATGGAGATGGAAGTGTAAATGCGCCAAGCT
+ACAAGCTGAAAAGCGGCATCTACAATAATGTGGGAGAGGCGCTTTTGGGAATCGACAATGACACTCTGCA
+CTGGGACAAAACCGAGGGAGCATTTAGTGCCAGCTATATCGTCAAAAACGCTGATGGCAGCCCAAAGAGC
+AGCATAGCCCAAAACAAAATCATTAACGTTGCAAAGGGTACTATTTCCGCCACCAGCACCGATGTAGTAA
+ACGGCTCTCAATTGTACGACCTGCAGCAGGATGCTCTGTTGTGGAACGGCACTGCATTCAGCGCCGCACA
+CGGTAGTGATACCACCAGCAAAATCACTAATGTTGCTAAAGGTACGGTTTCTGCAACCAGCACCGATGTA
+GTAAACGGCTCTCAATTGTACGACCTGCAGCAGGATGCGCTGTTGTGGAACGGCACAGCATTCAGTGCCG
+CACACGGCACCGAAGCCACCAGCAAAATCACTAATGTTGAAGATGGTACTATTTCAGACACCAGTAAAGA
+TGCGGTTAACGGTTCCCAGTTGAAAGAAACCAAAGACGATGTGGCCACCAACACAGCCAATATCGCCGAT
+AACACTGCTGATATTGCAACCAACACTGCCAATATCGCCGATAACACTACGGATATTGCGACCAACACTG
+CCAATATCGCCACTAACACTACGGATATTGCAACCAACACTGCCAATATCGCCGATAACACTGCTGATAT
+CGCCACTAACACCACGGATATTGCAACCAACACTGCCAATATCGCCGATAACACTGCCAATATCGCCACT
+AACACTACGGATATTGCGACTAATACCGCCGATATAGCTACAAACGCTAGCAGTATCACTACTCTGAACG
+CGGACGTTGATACCCTGGAAAAAGATGCCCTGCTCTGGAATGGCACAGCATTCAGCGCCAAACACGGCAC
+CGAAGCTACCAGCAAGATCACCAATGTTACCGCTGGCGACCTGACTGCTGGCAGCACTGACGCCGTTAAT
+GGCTCCCAGCTCAAAACCACCAACGATAACGTGTCGACCAACACCACCAACATCACCAACCTGACGGATT
+CCGTTGGCGACCTTAAGGACGATTCCCTGCTGTGGAACAAAACGGCTGGCGCATTCAGCGCCGCGCACGG
+CACCGAAGCCACCAGCAAGATCACCAACTTACTGGCTGGCAAGGTATCTTCTGACAGCACCGATGCCATT
+AACGGATCACAACTTTATGGCGTAGCGGATTCATTTACGTCATATCTTGGTGGGGGTGCTGATATCAGCG
+ATGCAGGCGTATTAACCGGGCCAACCTACACTATTGGTGGTACTGACTACACTAACGTCGGTGATGCTCT
+GGCAGCTATTAACACATCATTTAGCTCATCACTCGGCGACGCCCTACTCTGGGATGCAACCGCAGGTAAA
+TTCAGCGCCAAACACGGCATTAATAATGATCCCAGTGTAATCACTGATGTTGCAAACGGTGCAGTCTCGT
+CCACCAGTAGCGACGCCATTAACGGTTCGCAACTTTATGGCGTTAGTGACTACATTGCCGATGCTTTGGG
+CGGGAACGCTGTGGTGAATGCAGACGGCAGTATCACTACACCGACTTATGCCATAGCGGGCGGCAGTTAC
+GACAATGTCGGTGACGCGCTGGAAGCGATCGATACCACGCTGGATGACGCCCTGCTGTGGGATGAGACAG
+CCAATGGCGGTAACGGTGCATTTAGCGCCGCTCACGGGAAAGATAAAACTGCCAGTGTAATCACTAACGT
+CGCTAACGGTGCAGTCTCTGCCACCAGCAGCGATGCCATTAATGGCTCACAGCTCTATAGCACCAATAAG
+TACATCGCTGATGCGCTGGGTGGTGATGCAGAAGTCAACGCTGACGGAACTATCACTGCACCGACTTACA
+CCATTGCAAATACCGATTACAACAACGTCGGTGAAGCCCTGGATGCGCTTGATAATAACGCTCTGCTGTG
+GGATGAAGACGCAGGTGCCTACAACGCCAGCCATGATGGCAATGCCAGCAAAATTACCAACGTTGCGGCT
+GGTGATCTCTCCACAACCAGTACCGATGCTGTTAACGGTTCCCAGTTAAACGCAACCAATATTCTGGTTA
+CGCAAAATAGCCAAATGATTAACCAGCTTGCTGGTAACACTAGCGAAACCTACATCGAAGATAACGGTGC
+GAGTATTAACTATGTACGTACCAACGACAACGGCTTAGCGTTCAACGATGCCAGCGCTTCAGGTATTGGC
+GCTACGGCTGTGGGTTATAACGCTGTCGCCTCAGGCGAAAGCAGCGTAGCCATTGGTCAAGGTAGCAGCA
+GCACCGTTGATACCGGTATTGCCCTGGGTAGCAGCTCCGTCTCCAGCCGCGTAATCACCAAAGGTTCTCG
+TGACACCAGCGTATCGGAAGAAGGTGTTGTGATTGGTTATGACACCACGGATGGCGAACTGCTTGGCGCA
+TTGTCGATCGGTGATGATGGTAAATATCGTCAAATCATCAACGTCGCGGATGGTTCTGAAGCCCATGACG
+CTGTTACGGTTCGCCAGTTGCAGAACGCCATTGGTGCAGTCGCAACCACACCAACCAAATACTATCACGC
+CAACTCAACGGCTGAAGACTCACTGGCAGTCGGTGAAGACTCGCTGGCAATGGGCGCGAAAACCATCGTT
+AATGGTAATGCGAGTATTGGTATCGGCCTGAACACGCTGGTTCTGGCTGATGCGATCAACGGTATTGCTA
+TCGGTTCTAACGCACGCGCAAATCATGCCGACAGCATTGCAATGGGTAATGGTTCTCAGACTACCCGTGG
+TGCGCAGACCAACTACACTGCCTACAACATGGATGCACCGCAGAACTCTGTGGGTGAATTCTCTGTCGGC
+AGTGAAGACGGTCAACGTCAGATCACCAACGTCGCAGCGGGTTCGGCGGATACCGATGCCGTCAACGTTA
+GTCAGTTGAAAGTTACCGATGAGCGTGTGGCGCAAAACACCCAGAATATCTCTAACCTGAATAATCAGGT
+AACGAATCTGGACACTCGCGTCACCAATATCGAAAACGGTATCGGCGATATCGTAACCACCGGTAGCACT
+AAGTACTTCAAGACCAACACCGATGGCGCAGACGCCAACGCGCAGGGTAAAGACAGTGTTGCGATTGGTT
+CTGGTTCCATTGCTGCCGCTGACAACAGCGTCGCACTGGGCACGGGTTCCGTAGCAGACGAAGAAAATAC
+GATCTCTGTGGGTTCTTCTACCAACCAGCGCCGTATCACCAACGTTGCTGCCGGTGTTAATGCCACCGAT
+GCGGTTAACGTTTCGCAACTGAAGTCTTCTGAAGCAGGCGGCGTTCGCTACGACACCAAAGCTGATGGCT
+CTATCGACTACAGCAACATCACTCTCGGTGGCGGCAATAGCGGTACGACTCGCATCAGCAACGTTTCTGC
+TGGCGTGAATAACAACGACGCGGTGAACTATGCGCAGTTGAAGCAAAGTGTGCAGGAAACGAAGCAATAC
+ACCGATCAGCGCATGGTTGAGATGGATAACAAACTGTCCAAAACTGAAAGCAAACTGAGTGGTGGTATCG
+CTTCTGCAATGGCAATGACCGGTCTGCCGCAGGCTTACACGCCGGGTGCCAGCATGGCGTCTATTGGTGG
+CGGTACTTACAACGGTGAATCGGCAGTTGCTTTAGGTGTGTCGATGGTGAGCGCCAATGGTCGTTGGGTC
+TACAAATTACAAGGTAGTACCAATAGCCAGGGTGAATACTCCGCCGCACTCGGTGCCGGTATTCAGTGGT
+AATCATCCATTAACGAATGGGTAAACGCCACATTGCCTGATGCGCTACGCTTATCAGGCCTACGGGGTGA
+TTCAGCACTACCCTGTAGGCCGGATAAGGCGTTCACGCCGCATCCGGCAAGATAAGGCGCACCAGATCAA
+CAATCTGAGGGCAATTCTCTGATGGGAATTGCCCTTTTCTTCATTACCTCTCTCCCAGGATTGGCCCTAC
+CAATTCTTCGCTTATCTGACCTCTGGTTCACAATTCCCCAATTAAAACTCACATCAATATTGCCAATACA
+TAACATTTAGTTAACTATCCATTGTCATTATCCCTACACAACACAATTGGCAGTGCCACTTTTACACAGC
+GTGTGACAAGGAGATGAGCAACAGACTCATTACACGGCGTGTGTGGACTGCAGGAGACCTGCAATGAATC
+TCTGGCAACAAAACTACGATCCCGCCGGGAATATCTGGCTTTCCAGCCTGATAGCATCGCTTCCCATCCT
+GTTTTTCTTCTTTGCGCTGATTAAGCTCAAACTGAAAGGATACGTCGCCGCCTCATGGACGGTGGCAATC
+GCCCTTGCCGTGGCTTTGCTGTTCTATAAAATGCCGGTCGCTAACGCGCTGGCCTCGGTGGTTTATGGCT
+TCTTCTACGGGTTGTGGCCCATCGCGTGGATCATTATTGCAGCGGTGTTCGTCTATAAGATCTCGGTGAA
+AACCGGGCAGTTTGACATCATCCGCTCGTCTATTCTTTCGATAACCCCTGACCAGCGCCTGCAAATGCTG
+ATCGTCGGTTTCTGTTTCGGCGCTTTCCTTGAAGGAGCCGCAGGCTTTGGCGCACCGGTAGCAATTACCG
+CCGCATTGCTGGTCGGCCTGGGCTTTAAACCGCTGTACGCCGCCGGGCTGTGCCTGATTGTTAACACCGC
+GCCAGTGGCATTTGGTGCGATGGGTATTCCGATTCTGGTCGCCGGGCAGGTAACAGGCATCGACAGCTTT
+GAGATTGGTCAGATGGTGGGGCGTCAGCTGCCGTTTATGACCATTATCGTGCTGTTCTGGATCATGGCGA
+TTATGGACGGCTGGCGCGGTATCAAAGAAACCTGGCCTGCGGTCGTGGTTGCGGGCGGCTCATTTGCCAT
+CGCTCAATACCTCAGCTCTAACTTTATTGGGCCGGAACTGCCAGACATTATCTCTTCGCTGGTATCGCTG
+CTCTGTCTGACACTGTTCCTCAAACGCTGGCAACCAGTTCGCGTATTCCGCTTCGGTGACTTAGGGGCGT
+CACAGGTTGATATGACGCTGGCTCACACCGGTTACACGGCAGGTCAGGTGCTGCGCGCCTGGACACCGTT
+CCTGTTCCTGACCGCCACCGTAACGCTGTGGAGTATCCCGCCGTTTAAAGCCCTGTTCGCTTCAGGCGGT
+GCGCTGTATGAGTGGGTGATCAACATTCCGGTGCCGTACCTCGATAAACTGGTTGCCCGTATGCCGCCAG
+TGGTCAGCGAAGCGACAGCGTATGCCGCCGTGTTTAAGTTTGACTGGTTCTCTGCCACCGGTACCGCCAT
+TCTGTTTGCTGCCCTGCTCTCGATTGTCTGGCTGAAGATGAAACCATCTGACGCTATCAGCACCTTCGGC
+AGCACACTGAAAGAACTGGCTCTGCCTATCTACTCCATCGGCATGGTGCTGGCGTTCGCCTTTATCTCGA
+ACTATTCCGGTTTGTCATCAACACTGGCGCTGGCACTGGCGCACACCGGTCATGCATTCACCTTCTTCTC
+GCCGTTCCTCGGCTGGCTTGGGGTATTCCTGACCGGGTCGGATACGTCATCTAATGCTTTGTTTGCCGCT
+TTGCAGGCTACCGCCGCACAACAAATTGGCGTTTCTGACCTGTTGCTGGTTGCAGCCAACACCACCGGTG
+GTGTCACCGGTAAGATGATCTCCCCGCAATCTATCGCTATCGCCTGTGCGGCGGTAGGCCTGGTGGGCAA
+AGAGTCTGATTTGTTCCGCTTTACTGTCAAACACAGCCTGATCTTCACCTGTATGGTGGGCGTGATCACC
+ACGCTTCAGGCCTATGTCTTAACGTGGATGATTCCTTAATGATTGTTTTACCCAGACGCCTGTCAGACGA
+GGTTGCCGATCGTGTGCGGGCGCTGATTGATGAAAAAAACCTGGAAGCGGGCATGAAGTTGCCCGCTGAA
+CGTCAACTGGCGATGCAACTCGGCGTGTCGAGAAATTCACTGCGCGAGGCGCTGGCGAAACTGGTAAGCG
+AAGGTGTGCTGCTCAGTCGACGTGGCGGCGGGACGTTTATTCGCTGGCGTCATGACACATGGTCGGAGCA
+AAACATCGTCCAGCCGCTGAAAACGCTGATGGCCGATGATCCGGATTACAGTTTCGATATTCTGGAAGCC
+CGCTACGCCATTGAAGCCAGCACCGCATGGCATGCAGCAATGCGTGCCACGCCTGGCGAAAAAGAAAAGA
+TTCAGCTTTGTTTTGAAGCAACGCTCAGCGAAGACCCGGATCTCGCCTCACAAGCGGACGTTCGTTTTCA
+TCTGGCGATTGCCGAAGCCTCACATAACATCGTGCTGCTGCAAACCATGCGCGGTTTCTTCGATGTCCTG
+CAATCCTCTGTGAAGCATAGCCGCCAGCGGATGTACCTGATACCCCCGGTTTTTTCACAGCTGACCGAAC
+AACATCAGGCGGTCATTGACGCCATTTTTGCCGGTGATGCTGACGGGGCACGTAAAGCAATGATGGCGCA
+CCTTAGCTTTGTTCACACCACCATGAAACGATTCGATGAAGATCAGGCTCGCCATGCACGCATTACCCGC
+CTGCCTGGTGACCATAATGAGCATTCGAGGGAGAAAAACGCATGATTATTTCCGCAGCCAGCGATTATCG
+CGCCGCAGCGCAACGCATTCTGCCGCCGTTCCTGTTCCACTATATGGATGGGGGGGCATATTCTGAATAC
+ACGCTGCGCCGCAACGTGGAAGATTTGTCAGAAGTGGCGCTGCGCCAGCGTATTCTGAAAAACATGTCTG
+ACTTAAGCCTGGAAACGACGCTGTTTAATGAGAAATTGTCGATGCCGGTGGCGCTAGGTCCGGTAGGTTT
+GTGTGGCATGTATGCGCGACGCGGCGAAGTTCAGGCTGCCAAAGCAGCGGATGCGCATGGCATTCCGTTT
+ACTCTCTCGACGGTTTCCGTTTGCCCGATTGAAGAAGTGGCTCCGGCTATCAAACGTCCGATGTGGTTCC
+AGCTTTATGTGCTGCGCGATCGCGGCTTTATGCGTAACGCACTGGAGCGAGCAAAAGCAGCGGGTTGTTC
+GACGCTGGTATTCACCGTGGATATGCCAACACCGGGAGCACGTTATCGTGATGCTCATTCTGGGATGAGC
+GGCCCGAACGCGGCAATGCGACGCTATTTGCAGGCGGTGACGCATCCGCAATGGGCGTGGGATGTGGGCC
+TGAACGGTCGTCCGCATGATTTAGGTAATATCTCGGCTTACCTCGGCAAACCGACCGGACTGGAAGATTA
+CATCGGCTGGCTGGGGAATAACTTCGATCCGTCCATCTCATGGAAAGACCTTGAGTGGATCCGCGATTTC
+TGGGATGGCCCGATGGTGATCAAAGGGATCCTCGATCCGGAAGATGCGCGCGATGCAGTACGTTTTGGTG
+CTGATGGAATTGTGGTTTCTAACCACGGTGGCCGCCAGTTAGATGGCGTACTCTCTTCTGCTCGTGCACT
+GCCTGCTATTGCGGATGCGGTGAAAGGTGATATCGCCATTCTGGCGGATAGCGGAATACGTAACGGGCTT
+GATGTCGTGCGTATGATTGCGCTCGGTGCCGACACCGTACTGCTGGGTCGTGCTTTCCTGTATGCACTGG
+CAACAGCGGGCCAGGCGGGCGTGGCAAATCTGCTTAATCTGATCGAAAAAGAGATGAAAGTGGCAATGAC
+GCTGACTGGCGCGAAATCGATTAGCGAAATTACGCAAGATTCGCTGGTGCAGGGGCTGGGTAAAGAGTTG
+CCGGCGGCACTGGCTCCGATGGCGAAAGGGAATGCAGCTTAAGGGTTAGACGAATATCTGCTATCCTGCC
+CCCGCACTAAGGGGGCAGTATGCTAAACATCGTACTTTACGAACCAGAAATTCCGCCAAATACTGGCAAC
+ATCATCCGTCTTTGCGCTAATACCGGCTTTCGTCTGCATATCATCGAACCGATGGGATTTGCCTGGGACG
+ATAAGCGCCTGCGCCGCGCGGGGCTGGACTATCACGAGTTTACCGCCGTTACGCGTCATCATGACTATCG
+CGCGTTTCTCGAAGCAGAAAATCCCCAGCGCCTGTTTGCCCTCACCACGAAAGGTACGCCTGCTCACAGC
+GCCGTAAGCTATCAGGATGGCGATTATCTGATGTTCGGCCCGGAAACACGCGGCCTGCCAGCGAGCATTC
+TTGATGCCCTGCCCGCTGAACAAAAAATTCGTATTCCAATGGTGCCGGACAGTCGCAGCATGAACCTGTC
+CAATGCGGTGTCGGTCGTGGTGTATGAAGCCTGGCGCCAGCTGGGGTATCCGGGAGCGGTGTTGAGAGAT
+TAAGATGCGGTAGGCCGGATAAGGCGTTCACGCCGCATCCGGCACGATCACAGAATGTCAGATCCCATCA
+CCATACTCAAACGTATGGTTAATGCCGTTGAAATGCTGATCCATATCCATTGACGGTTTATCGCTATCCG
+GCTTGCCGACAATGCGTGCCGGAACGCCAGCGGCAGTGGTGTGCGGCGGCACCGGTTGCAGCACCACGGA
+ACCTGCGCCAATCTTCGCGCCGCGCCCAACTTCAATATTACCGAGAATTTTCGCGCCCGCGCCAATCATC
+ACGCCTTCACGAATTTTCGGGTGACGGTCACCACCAGATTTACCCGTACCGCCAAGCGTCACAGATTGCA
+GAATCGATACGTCGTTTTCAATCACCGCCGTTTCACCAACGACGATGCCTGTCGCGTGGTCGAGCATGAT
+ACCGCGACCAATTTTTGCTGCCGGGTGAATATCCACCTGGAACGTCACAGAAACCTGGTTTTGCAGAAAG
+ATTGCCAGTGCGCGACGCCCCTGATTCCACAACCAGTGACCGATGCGATACGCCTGCAAAGCATGAAAAC
+CCTTCAGATATAGCAACGGGGTTGAGTATTTATCCACCGCCGGGTCACGGGTACGCACTGCCTGAATATC
+ACAGGCCGCAGAGGCGATCATTTCCGGGTCGGCGGCGTAGGCTTCTTCGACCACTTCACGGATAGCAATA
+GCAGGCATAATGGGCGATGACAGCTTGTTCGCCAGCATGTAGCTCAGTGCACTGCCAAGGTTTTCGTGCT
+TGAGTAGCGTCGCGTGGTAAAAACTGGCCAGCATTGGCTCACAGTCCGCCAGCGTTCTGGCTTCAGCTTT
+AATATTGTTCCAGACAATTTCCAGTTCTTCACACGACATTGCTTACTCCACACGATAAGATAATGACCGA
+CCCGTTCTGCGCGGGCCGGGTCATAGTGGTAACAAAGGTTCCCTGGGTTTAGTGGCTGCTGCGCTCGTCC
+TTGCGTGCACGACCTAGTAAAGTCAATGCTGCCTCGCGCGCGTTTTTTCCGCAATATAATACTTGATAAA
+TTTCCTCGGTTATTGGCATTTCAACGCCGAAGCGATGCGCCAGTTCGCGGACTTCTTTCGTATTGCGGTA
+GCCTTCCACCACTTGACCAATTTTCTCCTGCGCGCTTTGTACATCCATGCCCTGACCGAGCATCATGCCA
+AAACGGCGGTTACGCGACTGGTTGTCGGTACAGGTAAGCACCAGATCGCCCAGCCCCGCCATGCCCATAA
+AGGTGGCAGGATCGGCACCCAGCGCCGCGCCAAGACGCGACATCTCAGCCAGCCCACGGGTGATCAGCGC
+CGTACGCGCATTCGCGCCAAAACCGATACCGTCGGACATCCCCGCGCCAATGGCAATGACGTTTTTCACC
+GCACCGCCAAGCTGCACACCGATGAAATCCGGGTTGCTGTAAACGCGGAAACTTTTGCCACAGTGCAGCA
+ATTGCTGGAGGTCATCGGCAAAGGTCTGGTCCGTCGAGGCCAGCGAAATGGCCGTCGGTAAACCTGCCGC
+CAGTTCTTTCGCAAACGTTGGGCCAGAGATAACCGCCAGCGGAATTTGATCGCCTAAGGCCTCACGCGCC
+ACGTCCTGTAACAGACGTCCGGTTTCTGCTTCCAGCCCTTTGGTCGCCCACACCAGACGCGCATCAGGAC
+GCATCAGCGGTTTAATCTGGCGCAGCACTTCACCAAAGACATGGCTGGGTACGACGACGAGAATATTACG
+GCTGGCTGCCAGCGCAGTGGCGAGATCGCTTTCAAGATGGAGCGTATCGGGAAAAGGCACATCGGGGAGA
+AACGCGGCGTTACAGCGGTCGCGTTCAAGCGTTGCGATATGTTCAGGGTCATGGCCCCAGAGGACAACCT
+CGTGGCCATTTCTTGCCAGGGTGATGGCAAGAGCGGTGCCGTACGAGCCGGCACCGATCACAGTCATTGA
+AGCATTACGTTGGTTCATCAGGCATCCTGATGTTCTTCAGTACCTTCGCCAGCCTGCTGCTGCAAATAGT
+TCATGAACAGCGCATCGAAGTTAACCGGCGCAAGGTTCAGTTGCGGGAATGTACCGCGGGATACCATGCT
+GGTGATGCACTCACGAGCATACGGGAACAGAATGTTCGGGCAGTATGCGCCCAGGCAATGTGCCATCTGG
+GTGCCTTCGATACCCGCGATGGAGAAAATACCGCCCTGCTGAACTTCACACAGGAACGCGGTTTCTTCGC
+CCAGGGAGGCCGTTACGGTAACACGCAGTACCACTTCGTAAACGTCATCTGCCAGTTGAGTAGATGCCGT
+ATCCAGATCAAGTTTAACTTCTGGTTGCCAATCTTTCTGGAAAACGTGCGGCGCGTTCGGCGCTTCGAAA
+GAAATATCCTTGGTATAAATACGTTGGATCTGGAAAGTCATTTCGGTGTTGTTTTGTTCTGACATGTGTA
+GAAAACCCTTAAGTGTTGTCCTTAAAATACTGCGCAATGTAATGCCAACGTTCACACGTTATTTCAGCAG
+GGGATCCAGTCCACCACGTGCATCCAATGCATACAAGTCATCACAGCCACCAATGTGCTGTGCGTCAATA
+AAAATCTGTGGAACCGTGGTGCGACCGCTGCGTTTGATCATCTCTTCACGCTTAGCGGCATTGCCATCGA
+TCGGCAACTCCTGAAAACTCACGCCCTTGCTGCTCAGCAGTGCTTTTGCACGATGGCAATACGGGCAGGT
+TTCTTTGGTATAGATTTCAACATTGGCCATAAATTAGCTCCTGTTTTTTACCCTGAAATTTCATGTTGCA
+GGGCGGCAGCAAAATGGAGTGTCCCCAGAAGCTTATATCAATAAGTCGCTGGGGGCCTAATTGCAGCTAA
+CGGCCTGCATCATGAAAAACGGCAGGTAAATTATTTGCCGCGCACCAAAGGCAAGTTTTCGCCAGCCCAG
+CCAGCGACGCCTTCTTTCAGTACGAATACTTGCGCAAAACCAGCTTTCGTCAGCGCGTTTGCAGGCTCCT
+GGCACTGCATGCCAGAACCATCTACCACGATAACCGGTTTGTCTTTGTGCTTCTCAAGCTCACCAACATT
+GTTGGCTTTGATTTCGCTCGGCAACAGGTTGATAGAACCTGCGATATGGCCTTTACGGAAGTCATCACGC
+TGACGTAAATCCACAACCACAGCGTCTTCTTTGTTGATCAGACGCGTAGCTTCACCACGAGTAATCACCT
+TCACTTTCGAGGTCAGGCTCTTAAACGTAGTCACAAGAACCGCCACCAGTAACGCGATCCAGGCGATACT
+CAGTATGGGATGACGGCCAACAAATTGCATAATTTCTTGCATGGGGGGTAACAACTCCCGACGTAGTGAT
+TAAAAAAACCAGGAAAGGAGTATACCTGCGCAGTGCGGCAAATACAGCCAGCGCGTTAACTGGAATGCAA
+TTTTGCGGGGCGCTACGAAAAAAAAGCGTAAATCTGGCATCTGCTTGCCGCGAGCGGTCGTATATTTTGA
+TCTTCAGAGGCTATTTTATCGATTCAGCTGTAGTAAAATTACGCAAATTTTGACTCTTGAGTATGAGGTT
+GTCGCAATGTCGGTTTCTAAAAAACCTATGGTACTGGTGATTCTGGATGGCTATGGCTATCGCGAAGAAC
+AGCAGGATAACGCCATTTTTAGTGCTAAAACCCCGGTAATGGATGCACTGTGGGCCAATCGTCCGCATAC
+CCTGATCGACGCTTCCGGTCTGGAAGTCGGTCTGCCTGACCGTCAGATGGGTAACTCCGAAGTAGGCCAC
+GTTAACCTGGGTGCCGGCCGCATCGTGTATCAGGACCTGACTCGTCTGGACGTTGAAATCAAAGATCGCG
+CTTTCTTTGCTAATCCGGTGTTGACTGGTGCAGTAGATAAAGCGAAAAACGCAGGCAAAGCAGTACACAT
+TATGGGTCTGCTCTCCGCAGGTGGTGTACACAGCCACGAAGATCACATCATGGCGATGGTAGAACTGGCA
+GCTGAACGCGGCGCAGAAAAAATCTACCTACACGCATTCCTTGACGGTCGCGACACTCCGCCGCGCAGTG
+CTGAATCCTCGCTGAAAAAATTCGAAGAGAAATTTGCCGCGCTGGGTAAAGGCCGCGTAGCGTCCATCAT
+TGGTCGTTACTACGCGATGGACCGCGATAACCGTTGGGATCGCGTTGAAAAAGCTTATGACCTGCTGACT
+CTGGCGCAAGGTGAGTTCCAGGCCGATACCGCCGTTGCCGGTTTGCAGGCTGCTTATGCTCGCGACGAAA
+ACGACGAGTTCGTGAAAGCGACCGTTATTCGTGCAGAAGGTCAGCCAGATGCGGCAATGGAAGACGGCGA
+TGCGCTGATTTTCATGAACTTCCGTGCTGACCGTGCGCGTGAAATCACTCGTGCATTCGTAAATGCCGAT
+TTTGACGGCTTCGCGCGTAAGAAAGTGGTTAACGTCGATTTCGTGATGCTGACCGAATACGCTGCCGACA
+TCAAAACCGCAGTGGCTTACCCACCCGCTTCCCTGGTTAACACCTTCGGCGAGTGGATGGCGAAAAACGA
+CAAAACTCAGCTGCGTATTTCCGAAACCGAAAAATATGCCCACGTTACTTTCTTCTTCAACGGTGGCGTA
+GAAGAGTCGTTCAAAGGCGAAGATCGCATTCTGATCAACTCACCGAAAGTGGCTACCTACGATCTGCAAC
+CGGAAATGAGCTCCGCAGAGCTGACCGAAAAACTGGTTGCGGCAATCAAGAGCGGCAAATACGACACCAT
+TATCTGTAACTATCCGAACGGCGACATGGTCGGTCACACCGGGGTGATGGAAGCGGCGGTTAAAGCGGTT
+GAAGCGCTGGATCACTGCGTGGAAGAAGTCGCGAAAGCGGTTGAGTCCGTGGGTGGACAACTGCTGATCA
+CCGCTGACCACGGTAACGCTGAACAGATGCGCGATCCGGCAACGGGTCAGGCACACACAGCACACACCAA
+CCTGCCAGTTCCGCTGATTTACGTTGGTGATAAGAACGTGAAAGCGGTTGAAGGCGGCAAACTTTCTGAC
+ATCGCGCCGACCATGTTGTCGCTGATGGGTATGGAAATCCCGCAAGAGATGACTGGTAAGCCGCTGTTCA
+TCGTGGAATAATCCCTCCCCATGAGGGGAAAGGCGATTAATACCATGACACGGGCCGTGAAACCGCGCAG
+GTTTGCAATCAGGCCCATCATCTACGCCAGCGTTCTGAGCGCTGGCGTATTGTTGTGCGCCTTTTCCGCC
+CACGCGGATGAGCGTGACCAACTCAAATCCATTCAGGCTGACATCGCCGCGAAAGAGCGCGCGGTACGCC
+AAAAGCAACAACAACGCGCAAGCCTGCTCGCACAATTGAAAAAGCAGGAAGAAGCGATCTCTGAAGCCAC
+CCGTAAACTGCGCGAAACGCAAAACACGCTTAATCAATTGAATAAACAGATTGATGAGATGAACGCGTCG
+ATTGCCAAACTAGAGCAGCAAAAAGCCGCCCAGGAGCGCAGCCTCGCCGCGCAACTGGATGCCGCGTTTC
+GTCAGGGTGAACATACCGGTATTCAGCTGATTCTCAGCGGTGAAGAAAGCCAGCGTGGGCAGCGGTTACA
+GGCTTATTTCGGCTATCTCAACCAGGCGCGACAAGAAACCATTGCTCAGTTGAAACAAACGCGTGAAGAA
+GTCGCTATGCAGCGTGCCGAACTGGAAGAGAAACAGAGCGAGCAACAAACGCTTTTATATGAGCAGCGCG
+CCCAACAGGCGAAGCTGACCCAGGTGTTGAGCGAGCGTAAGAAAACACTGGCAGGGCTGGAGTCTTCCAT
+CCAGCAAGGTCAGCAACAGTTGAGCGAACTGCGCGCCAACGAATCCCGTCTGCGTAACAGCATTGCCCGT
+GCGGAAGCCGCGGCGAAAGCGCGTGCTGAACGTGAAGCGCGCGAAGCCCAGGCGGTTCGCGACCGCCAGA
+AAGAAGCGACGCGCAAAGGCACCACCTACAAGCCGACCGAAAGCGAAAAATCGCTGATGTCCCGTACCGG
+TGGTCTGGGTGCGCCGCGTGGTCAGGCATTCTGGCCAGTTCGCGGGCCGACGCTGCATCGCTATGGCGAG
+CAGCTACAGGGTGAATTACGCTGGAAAGGAATGGTTATCGGTGCCTCTGAAGGTACTGAAGTTAAAGCAA
+TTGCCGACGGTCGGGTGATTCTGGCTGACTGGCTGCAAGGCTACGGTCTGGTGGTGGTGGTTGAGCATGG
+TAAAGGCGACATGAGTCTTTACGGCTATAATCAGAGCGCACTGGTGAGCGTTGGTTCGCAGGTTCGCGCG
+GGCCAGCCGATTGCACTGGTGGGCAGCAGTGGCGGTCAGGGCAGACCTTCACTCTATTTCGAAATTCGCC
+GCCAGGGTCAGGCGGTCAATCCACAGCCGTGGTTGGGAAGATAAGTTTTGTTTCCATTTCGTCGTAACGT
+TCTTGCATTTGCCGCCCTGTTGGCGCTCTCCTCCCCCGTAATTGCTGGCAAACTTGCCATCGTCATTGAT
+GATTTTGGGTATCGCCCGCACAACGAAAACCAGGTGCTGGCGATGCCTTCCGCTATCTCCGTCGCTGTAT
+TACCCGATTCACCGCACGCCAGAGAGATGGCGACCAAAGCACATAACAGCGGTCACGAAGTGTTGATTCA
+TCTACCGATGGCACCACTGAGTAAACAGCCGCTGGAGAAAAATACGCTACGCCCGGAGATGAGCAGCGAC
+GAAATTGAGCGCATTATTCGTAGTGCGGTCAATAACGTGCCCTATGCCGTGGGGATCAACAACCACATGG
+GCAGCAAGATGACCTCTAACCTGTTTGGTATGCAGAAAGTGATGCAGGCGCTGGAGCGTTACAATCTTTA
+CTTCCTCGACAGCGTAACCATCGGTAATACCCAGGCGATGCGCGCCGCGCAAGGCACTGGCGTGAAGGTG
+ATCAAACGGAAGGTGTTCCTCGACGATTCGCAAAATGAAGCGGACATCCGTGTGCAATTCAATCGCGCAA
+TTGACCTAGCGCGTCGCAACGGTTCAACCATTGCCATTGGACATCCTCACCCTTCAACGGTACGCGTGCT
+ACAACAGATGGTTTATAACCTGCCGCCAGACATTACGCTGGTGAAAGCCAGCAGCTTGCTGAATGAACCG
+CAGGTTGATACGTCTACACCGCCGAAAAACACTGTGCCCGACACACCGCGTAATCCATTCCGTGGCGTGA
+AGCTGTGCAAACCGAAGAAGCCGCTGGAACCTGTTTATGCTAATCGCTTCTTTGAAGTATTAAGCGAAAG
+CATCAGCCAGAGCACGCTGATCGTTTACTTCCAGCATCAGTGGCAAGGCTGGGGCAAACAGCCCGAAGCG
+GCAAAACTTAACGCTAGCGCAAATTAAAGGCGCTACGCGTAATGCGATGGTGCGACCGCGTTTTGTCGCG
+CCATTGCCATAAGCGGAAAGACCACAGTAACGCCTGGTAACCCACCTTCACGCTGCGCACATTGGTAATC
+AGGCGCTTATACATACCGGAAGTAAATATCTCAGCAATCATCCGTTGGCGGGTAATAATATCCGGCTCTT
+TGCGCACCGCATGGCAAACACGCAATGCTTCGTAGGTTATTTGCTGATGAAATTCCGGATAAATCGTAAT
+TTTGTCAGCATAATTTCGATTTAATTTCTCCAGCAGGCGGGTAATCTTAATATAGTGACGTTGATAATTA
+AGGTTTTTATTCCCTTGTCTGTTCAACCGACTCACTGACGTATTATGCAGATAATATTTATATAATGATT
+GCTCGGTATATCGCGCACGCAGCGCGTTAAACATAAATTCTGTTGTCCAGACAATATCCTGATGATGTAA
+TCCGGCAATAAATTTAATGTTATTTTTAACAATAACATCGCGGCGATAAACCCCCATCCAGACCACGTGT
+GTCCAACGGCGGGAAGAAAGTCCCATCCGCAGCCAGTCCGGACCAGTTAATACACCGGTTGAGCGAAGGC
+GATCGGTAGGGATGGATTGCCAGGTTTCACCCGTTTCACGAAAACACCAATCAGCGTTGCACTGCGCCAC
+GTCGAGGTCGTCCTCTAACGCCATGGTCATCAGCGTTTCGTACATGGTGGGATACACCTCATCGTCAGCA
+TCGACAAAAGCGACATATTTTCCCGTTGCCACTTCAATCCCACGATTACGCGCCACCGATGCGCCAGCAT
+TCGCCTGATGCAACAAACGAACGTGCGGATAGTTTTCTGCGTAATGCTTTGCTATTTCAACAGAATTATC
+CGTTGAACCATCGTTAATAATAATGATTTCCAGAGCAGTCCATGTTTGCGTAATTAAAGATTCCATACAA
+GTGCGGAAATCATCGCCCGCATTATATAACGGAATAATAACACTAAGTTTATTGGTGCTGTTCATCATAA
+ATTACCGACGACCTCTGAAGTTATCCTGACGTTTTACAGGCTTTGTATTAAGAAACTATTAAGCCTGTGA
+GATATTATTTTTACCGGTGAGAGAGTCACGTCAGGGTAGAGAGATAATGAGAGCAGCTATATAAGAGATC
+AGCGCAATTACGAACTCTTGATTACACTGACAGGATTTTACATATTTAACGGATTATCCTCAGGCAAAAG
+GGCTGGAATACCAGCCCTTGTTCGTGTTAATCCCAGCTCAGAATAACTTTCCCAGACTGGCCCGAACGCA
+TGGCATCAAAGCCCTTCTGGAAATCATCGATAGAGAAACGATGGGTAATGATCGGCGAGAGATCGAGGCC
+AGACTGAATCAGCGCCGCCATCTTGTACCAGGTTTCAAACATCTCACGACCGTAAATACCTTTAATGAAC
+AAGCCTTTAAAGATTACTTTGGTCCAGTCGATAGACATATCGGACGGTGGAATACCCAGCATCGCAATAC
+GACCGCCGTGGTTCATGGTGTCGAGCATGGTACGAAACGCTGGCGGCGCACCGGACATTTCCAGACCGAC
+ATCAAAGCCTTCGGTCATGCCCAGTTCTGCCATCACATCATTAAGGTTTTCTTTAGCGACGTTAACCGCA
+CGGGTGATACCCATTTTGCGTGCCAGCTCAAGGCGGTATTCGTTAACATCAGTGATCACCACATTGCGTG
+CACCAACGTGTTTCGCCACCGCCGCAGCCATAATACCTATCGGACCTGCACCAGAGACCAGCACATCCTC
+GCCAACCAGATCGAACGACAGCGCGGTATGCACGGCGTTACCGAAGGGATCAAAAATGGAAGCCAGGTCG
+TCGGAGATATTGTCCGGGATTTTGAAGGCGTTGAACGCCGGAATCACCAGATACTCGGCGAAGCAGCCCG
+GACGGTTAACACCGACGCCGATCGTGTTGCGGCACAGATGGGTACGACCGCCACGACAGTTGCGACAGTG
+ACCGCAGGTGATATGGCCTTCGCCAGAAACGCGATCGCCAATCTTGAAGCCTTTCACTTCCTGACCAATA
+CCTACCACTTCACCGACATATTCATGGCCCACGACCATCGGCACCGGGATGGTTTTTTGCGACCACTCAT
+CCCAGTTATAGATGTGAACGTCAGTCCCGCAGATGGCTGTTTTACGGATTTTAATCAGCAGATCGTTATG
+CCCGAGTTCCGGTACAGGAACGTCGGTCATCCAGATGCCCTCTTCCGCTTTCAGTTTGGATAACGCTTTC
+ATCTCACACCCTCAGGCGATAACGCCCAGTTGTTTACCAATACGCGTGAATGCTTCTACTGCACGCGTAA
+TTTGCTCAGGGGTATGCGCCGCAGACATCTGGGTACGAATACGCGCCTGACCTTTAGGAACGACCGGATA
+GAAGAAACCGGTGACGTAAATGCCCTCTTTTTGCAGCTCACGAGCAAATTTCTGCGCCACTACCGCATCG
+CCAAGCATGACCGGAATAATGGCGTGATCGGCTCCCGCCAGGGTAAAACCCGCCGCCGACATTTGCTCAC
+GGAACTGACGCGCGTTCGCCCACAGACGGTCACGCAGCTCGCTACCCGCTTCGACCATCTCCAGCACTTT
+GATGGATGCGGCGACAATCGCCGGTGCCAGCGAGTTGGAGAACAGGTACGGACGAGAACGCTGGCGCAGC
+CACTCAACCACTTCTTTGCGCGCCGCGGTATAACCACCAGAAGCCCCGCCCAATGCTTTACCCAACGTAC
+CGGTAATGATGTCTACACGCCCCATCACATCGCAGTATTCATGGGAACCACGACCATTTTCACCGACAAA
+ACCGACCGCGTGGGAGTCGTCTACCATCACCAGGGCATCGTATTTATCTGCCAGATCGCAAACGCCCTTC
+AGGTTGGCAATCACGCCGTCCATCGAGAACACACCATCGGTGGCAATCAGCACATGACGCGCACCGGCTT
+CACGCGCTTCTTTCAGACGTGCTTCCAGCTCCTGCATATCGTTGTTGGCATAACGATAGCGTTTAGCTTT
+ACACAGACGCACACCATCAATAATAGACGCGTGGTTCAGTGCGTCGGAGATAATGGCGTCCTCCGCGCTC
+AGCAGCGTTTCAAACAGGCCGCCGTTAGCATCAAAGCAGGAAGAGTAGAGAATCGCATCTTCCATCCCCA
+GGAATGCCGCCAGTTTTTGTTCAAGCTCTTTATGGCTGTCCTGAGTGCCGCAAATAAAACGCACCGAAGC
+CATGCCGAAACCGTGAGAATCCATTCCCGCCTTTGCCGCCGCAATCAGATCCGGATGATTCGCCAGTCCG
+AGATAGTTGTTGGCACAAAAGTTAATGACGTGGCTTCCATCAGCCACAGTGATATCTGCTTGCTGCGCAG
+ACGTAATAATGCGCTCTTCTTTAAACAACCCTTCCGCCCGTGCGGTTTCCAGATCGTTGGTTAACTGCTG
+ATAAAATTCTCCACGCATTGCGATTCTCCAGACAGGGCAAATTCCAGCACATATTACCCAAACTTATAGG
+TCGCGACGAGATGACGCGTTAACACTTCTGCAAAATTCAGGATAAATAACGTCCAGCCCCCTCACTTTTG
+GTGAATGGCTGAAGCCAACGTCATGTAGTGATATGATAGAAGTATTCGTGTCTGAGATTGTCTCTGACTC
+CATAATTCGAAGGTTACAGTTATGATCATCGTTACCGGCGGCGCGGGCTTTATCGGAAGCAACATCGTTA
+AAGCCCTGAATGATAAAGGCATCACCGATATTCTGGTGGTGGACAACCTGAAAGACGGCACCAAGTTTGT
+GAACCTGGTGGATCTGGATATCGCGGACTATATGGATAAGGAAGACTTCCTGATCCAGATTATGGCTGGC
+GAAGAGTTCGGCGATGTCGAAGCGATTTTCCACGAAGGCGCGTGCTCTTCCACCACCGAGTGGGACGGCA
+AGTATATGATGGATAACAACTATCAATACTCCAAAGAGCTGCTGCACTACTGTCTGGAGCGCGAAATCCC
+GTTCCTGTATGCCTCTTCCGCAGCCACTTACGGTGGACGCACCTCCGACTTTATTGAATCCCGCGAATAT
+GAAAAACCGTTGAATGTCTACGGTTACTCAAAATTCCTGTTTGATGAATATGTTCGCCAAATCCTGCCTG
+AAGCGAACTCACAGATTGTTGGCTTCCGTTATTTCAACGTTTATGGACCGCGTGAAGGCCATAAAGGCAG
+CATGGCGAGCGTCGCTTTCCATCTCAACACCCAGCTTAATAACGGTGAATCACCGAAGCTGTTCGAAGGT
+AGCGAGAACTTTAAACGTGACTTCGTCTATGTGGGCGACGTGGCAGATGTAAACCTGTGGTTCCTGGAAA
+ATGGCGTTTCCGGCATCTTCAACCTCGGCACCGGTCGTGCGGAATCCTTCCAGGCAGTAGCAGATGCTAC
+GCTTGCTTATCACAAGAAAGGCCAAATCGAATACATTCCGTTCCCGGATAAACTGAAAGGCCGCTACCAG
+GCGTTCACTCAGGCAGATCTGACGAATCTGCGCGCGGCGGGTTACGATAAACCGTTCAAAACCGTTGCCG
+AAGGCGTAACGGAATACATGGCCTGGCTGAATCGTGACGCATAAGAGCTCTGCATGAAAATACTGGTGAT
+CGGCCCGTCTTGGGTTGGCGACATGATGATGTCGCAAAGTCTCTATCGCACGCTCCAGGCGCGCTATCCC
+CAGGCGATAATCGACGTGATGGCACCGGCATGGTGCCGTCCATTATTATCGCGGATGCCGGAAGTTAACG
+AAGCGATCCCTATGCCTCTCGGTCATGGAGCGCTGGAAATCGGCGAACGCCGCAAACTGGGTCATAGTCT
+GCGTGAAAAGCGCTACGACCGCGCCTACGTCTTACCTAACTCCTTCAAATCCGCATTAGTGCCTTTCTTC
+GCAGGTATTCCTCATCGCACCGGCTGGCGCGGCGAGATGCGCTACGGTTTACTCAACGATGTACGCGTGC
+TCGATAAAGAAGCCTGGCCGCTAATGGTGGAACGCTATGTCGCGCTGGCCTATGACAAAGGTATTATGCG
+TACCGCACAAGATCTGCCGCAGCCATTGTTATGGCCGCAGTTGCAGGTGAGCGAAGGTGAAAAATCATAT
+ACCTGTAATCAATTTTCGCTTTCATCAGAACGTCCGATGATTGGTTTTTGCCCGGGTGCGGAGTTTGGTC
+CGGCAAAACGCTGGCCACACTACCACTATGCGGAGCTGGCAAAGCAGCTGATTGATGAAGGTTATCAGGT
+GGTTCTGTTTGGCTCGGCGAAAGATCATGAGGCGGGCAATGAGATTCTTGCCGCTTTGAATACAGAGCAG
+CAGGCATGGTGTCGGAATCTGGCGGGAGAAACACAGCTTGATCAAGCGGTTATCCTGATTGCAGCCTGTA
+AAGCCATTGTTACTAACGATTCTGGTCTGATGCACGTTGCGGCGGCGCTCAATCGTCCGCTGGTTGCCCT
+GTATGGACCAAGCAGCCCGGACTTCACACCACCGCTATCCCATAAAGCACGCGTGATCCGCCTGATTACC
+GGCTATCACAAAGTGCGTAAAGGTGACGCTGCGGAGGGTTATCACCAGAGCTTGATCGACATTACTCCCC
+AGCGCGTACTGGAAGAACTCAACGCGCTATTGTTACAAGAGGAAGCCTGACGGATGCGGGTTCTGATCGT
+TAAAACATCGTCGATGGGCGATGTTCTCCACACGCTGCCCGCACTCACTGATGCCCAGCAGGCAATCCCA
+GGGATTAAGTTTGACTGGGTGGTGGAAGAAGGGTTCGCACAGATTCCTTCCTGGCACGCTGCCGTTGAGC
+GAGTTATTCCTGTGGCAATACGTCGCTGGCGTAAAGCCTGGTTCTCGGCTCCCATAAAAGCTGAACGCAA
+AGCGTTTCGTGAAGCGCTACAAGCAAAGAACTATGACGCAGTTATCGACGCCCAGGGGCTGGTAAAAAGC
+GCGGCGCTGGTGACGCGTCTGGCGCATGGCGTAAAGCATGGAATGGACTGGCAAACCGCTCGCGAACCGT
+TAGCCAGCCTGTTTTACAATCGTAAACATCATATTGCAAAACAGCAGCACGCCGTAGAACGCACCCGCGA
+ACTGTTTGCCAAAAGTCTGGGCTATAGCAAACCACAAACCCAGGGCGATTATGCTATCGCACAGCATTTC
+CTGACGAACCTGCCTACAGATGCTGGCGAATATGCCGTATTTCTTCATGCAACAACCCGAGATGATAAAC
+ACTGGCCGGAAGAACACTGGCGAGAATTGATTGGTTTACTGGCTGATTCAGGAATACGGATTAAACTTCC
+GTGGGGCGCGCCGCATGAGGAAGAACGGGCGAAACGACTGGCGGAAGGATTTGCTTATGTTGAAGTATTG
+CCGAAGATGAGTCTGGAAGGCGTTGCCCGCGTACTGGCTGGGGCTAAATTTGTAGTGTCGGTGGATACGG
+GGTTAAGCCATTTAACGGCGGCACTGGATAGACCCAATATCACGGTTTATGGACCTACCGATCCGGGATT
+AATTGGTGGGTATGGGAAGAATCAGATGGTTTGTAGGGCTCCGGGGAATGAGTTGTCTCAATTGACAGCA
+AATGCTGTTAAGCAATTCATTGAAGAAAACGCTGAAAAAGCTGCCATGATTTAAATTACAACTCTTTAAT
+AGATAATTTTGAAATAAAATCAGCTTCCTTGCTGATTTTATTTCACATATTCATTACTTATCTAATAAAC
+ATTGGTCCGATTGTACTTTAAAATAAGCACAAAGCAATATTATGGTGACAAACACAGCAGTCGGAACCGG
+TTTAGAAAAGAGTATTACATCACTTAGGCCTACTACCAGTAGTGAAAAAAGCAAGATTAAAATATAAGGT
+TCTTTAGCAGTTCTTAAGGCATATATGAATATTGCTGAAAAGGCTAAAATTGTTAATGCTACTCCAGGAA
+TACCACGCGTTGATAACGTATCTATGAGATCGTTATGCAAATGAGAATCTACAAAGGGTAAAGCGCCACT
+TAATCTAGGCTCTTTCTCTTCTAGTTCATGTATTTTTTCCGCACGTTTTTCCAGTGATTGTCCTATTGGA
+GAATATGTTTTTAAACCAACTTCATACATTGCCAGACGGGCACCGACTGAAGTTCTGGTGTTATCATGCG
+AATAATTAACTAAATCCCTATTTAAGTCATTCATTCTCGTAAGTAATGTATCTTTAAAAGAAAATACACC
+TGCTAATAATGCAATCGCAATAAAACAATATAACTTATAATTAATTCGCTTATTAATATAACTATCCATT
+ACGATTAATAGTAACGCAAAGAATGGAAACACTAATATGGCTGCACGCGTTTCAGTTACTATAACAGCAC
+ATAAGCTAAGCATGAAGTTAATTGTATATAATGTTGTTTTATGTCTAAAGTCGGATTTTAAAATGAGAAT
+TGATGCCAGTAAAGAAGGGAAAAGGATGATGTAGCCTGCTGTTGTAGCGTGGGAAGCTGATAATGCAACA
+CGGTCGACGTTTAAATAGAAATGTTGCCACATGGCATGCGCAAAAAAAAGTAACTGCGTTGCCAAGGATG
+CGAACAGAATTAGTTTCCCAAATTTTATTTTGGTTCTCATCTCATCTTTAGCAAAAAGAACTAAGAAAAT
+AAAAGCACTACACAAGGCAATTTTTCCAGTTTCCATTGGGCCACGATATGCATTGGTATAAACCGAGCCT
+GAAACTTTATAATGTGAATACCAGATGATATTAACGATACCCAAAAGACATAATGAGATGAAAATTAACA
+AAGTAGGATTATTAGTTATTGTTTTTTTTGGTGACGCTAGAAAATATAATGCAGATATAATTCCAGCTGC
+ATGAAGAAACTTTGTTGCAACATCATCCCACAAAGACAAAGTCATTAAAGACAACATACATAATATGAGA
+ATTAAAGACTTGACACCAGAATTAATTTCATTCCAACAAAACGACATATAATTTCAACCTATGTTACGAG
+GATGGGTTATTTAATGCAAGACCTAACGTTTATTCTTTTTTCTACTTACCAGTCTTACCATCCCCCAGAG
+AATATAGTTTTTTGATGCTAATATTTTTGCTCGCCTCTTATCTCTCTTGCCAAGAAGATTACAATCTTTC
+AATTCTTTTTCATTGCTTTCAACTAATTGATTTAATAATTCAAAATCGCCATTAAGTAGAACATTCCATA
+AATAACGAGTTTTATGATAAATTCTATTTTTACTCAATAATGTATGAATTTCTTCTTTCCGGTTACCTTT
+GTATAACTGCATCACAGAAGAGTAGATTCTTTCGTGCGCAAATGACTCATGTCGATAATGAGTGATGGTT
+CTACATGAGTTCATTAAGGAATTTTCTCTATAGTTATGCTTATACATATAATATGGAACCGCATACATAT
+CGCATGTAATTAGCAGTCGATAGATAAAATCCAGATCTTCTCCTAGTCGTAAATCTTCATCAAAAAAAAG
+ATTATTATCTTCCAGGAGTTGTTTTCTTATAAACAAGCACCCTATATGGAATCTGACCTTTTTATAAAAA
+AAATCGAAAAGTAAAGACCCTTCATTAAAATCTGTATTTATAGGTGAGTAAGTAACACCATTTTTTATAT
+GATGGCCATAAAGCCCACAATAAATCGCATCCCCTCCCGTCTCATGTTGTCTGGAATACATCTTCAGCAG
+ATAGTTAGGATCTATCTCATCATCATCATCCATAAAACATATAAACTGTCCTTGCGCCTTGCGGATACCT
+GTATTCCTGGCAGACGAAACACCGCCATTTTCTTTATTGAGAATAATTAATCGAGAGTGGGTTAACCCAT
+ACTCTCTCAAAACATTTGATGTGTTATCTTTAGAACCATCATTAACAATAACAATTTCAAAATTTGGGTA
+AGTTTGTTTTTCTAATTTCGTTAGAGTTTCAGTAATGTAATCAGATGAATTATACGTCGGTATTATTATG
+GATACTAAAGGGTAATCATTGCTCATCGTGTTCTCTTGCCTGAACTAATAAAATATTATAGTACTCATCA
+TTAATTATTATTGTAACTCAGACATCCATGATTTTTATTATTGCCCAAATAGTTTTCTTTTATACTTATT
+TAATTTGAATTTAATGAAGTAAATAAAAGCGTTAAACGTATCACCATTTTTCTTTGCATGTTGGTATTTC
+ACTTGATACTGCTTTTCATTCGTGGCTGGAATAAACGCCACATCATTCCAGCAAGAAACCTGATAAGCCT
+CATTAAAATACTTCTGGCAGGGATAATTCGTCCAGTCGTTCCAGGGCTTCGTTACGCCAACATAATGAAT
+CAGCTTAGTATCATCGGTAATGGTCTTTTTATAATCTTCATCGCTTTTATTTTTTAACTCATAGTCAATG
+CCATAAAAGCAATCATAATCGCCGCTAATAAAAATACAATGACTAAAGAACAGAATATTTAAAATATCCT
+GATCAAGGCATTTATATTTCGTGTGCTGCGGGTCACTTGCCAGCATAGCAATGGCTTTATTCATAAAATC
+ATTTTTCGCCCATGCTTCAAGCTGCAGATATACTACACCGGCGTTGAAATAATTCCCTGGAAGTCCCTCT
+ATAGCCAGACGCTTCGCTGGTTTTTCCTGCATAAAAGGCACATCTTTAATAACAGCCGCGAACTTATCAC
+CATCAAAATTAATATCAAGCAATCCAGCTAATGAGCCTTTACAGATGACATCAGCATCGATATATAACAG
+ATTTTCAATAGTTTCACTCAGATACTGGAACGCAACTAAACGGAAGAATGTTGCATAAGACCACTGTTTC
+AGGCTGGGGAAGATATCAATAAAGGCACTGGATACTTTATAAATTCTTACTTCAACGTTAGCATTTTTGC
+TGGTAAAAGCATTAACACGTTGTAGATAATCTTCATCAATGTAGTCAGTAAAGAGATGAAACTTAACCGC
+AAGGTCCGGGTTATGCATAACAACTGATTGCATAGATACTGCCGCACCAAATAAAAAGTTGCGGTCAATA
+CCGTAAGCGATATTTAACACACGATCGGTGTTAGCAATTTCCCCAGAGACAGCGACTTCAGTAATACTCT
+CAGCTAATAAATCCATGTTGGTTCCGTTTTGACTGTGTGGTTTACGCTTTGCCTTTTAATTTTTTAATAA
+ATTTGCGTAGTTTGGTTCTGTAGATTACTGAATAGTAGCCATAATCTTTTATTTCGTTGGCAATACCCAG
+GTGACGTTCCATGGCCAGACGATCACGGGCTTTCCGCTCTGCCGTACAGCTTTTACCGGATAGGTCAATT
+ATCCTGACACCATCTTTACTAACGATAAAGTTACCCCGGTGTGGGTCGCCCGATAGCATATTTAAGGCAT
+GCAATTTTTCCATTGAAGCCTTAATTTCTGCTTTAACATCTTCTGGAATAATCGGCATATCATTGAGCTC
+TACGCCCTCGACATACTCGATAAGCATGATAAAAACACTGGCATAGTTGAAAATTTTACGCTCAGCCAGA
+AAATAAAAATCATTAGGAAAAGTAAGACCTGCACTTCTGACACGATCGGTTTCAACGATCAAATTCTGAT
+AGTAGTCACCTTTTACAAAAGATTTTAAAAAACGTTCATTCCTTTTCGTTTTCGGGGCAAAGACTTTAAA
+AACATAGCGACCATATTTCGTATCAATCAACGATACTTTGGTATCATCAATATTACGTAATACTTTTACT
+GTTTTAAAATTATAGGCCAGTATTTCATCAAAGATTTCTTTATATTTATTATCGTTATCTTTGTAATAAA
+ATGAGAAGCCGCGATAGCGTATACTTGTAATCATAAGAGTAATTTATTTCTTAAGCTTGTACTTAATTAA
+TGAAGTTATACTTTTAATATACTCACCATGGGCAAACAGATGCTTATATTGTTTCTGCATTTCTGCAACA
+GTCCGCGCCTCTTTAAGAGGATATTTCTTCCAGGGAGATTGTTCACGCGCGATATTAAAGTATGATGCAG
+ACGGATATCCAGCCCAGCTATGCCATGGTTTAGTTATCCCTGTATAGTGAATCAATACTGTTTTATCGGT
+AATGGTTTGCTGATACTTTCGATGACTACGATCATGAAGTTCGTTTTTCAGGGTATAAATAGTATCAAAA
+TCCTTCGCGAGGTAGATATTATTCATATTAAATGCGATATTCAACGCATCCTGATCTAAATATTTAAGAG
+AGCCATATTTAGTTTCCCCTCGTAAAAGCGTGAGTAAATACGGTGTCAAATTTGCTTCATGCCATTTTTT
+AAGATTGACATAGATAACGCCTGCATTGAAATAACGTCCATTCATTTCGGGAATGTTAAGACGTTTTGCA
+CATGCCGCCTGAGTACTATCATTGTCAGGAATAACCGCAGCAAACTCATCTTTAAATATAATTTTTGTGA
+GAGGTTTCAGACTTCCTTTACAAACGACATCGGCATCCAGATACAGCAGTGTGGAAATACTTTCACTCAG
+ATATTCAAAGGACAATACCCTGAAGTATGTCGCGTACGACCAAAACTGTGACGTCGGCAGATCAGCAAAG
+TATTTTGGGTCAATTAAATATACAATAATTGAGGTATTAAATTGTTTTGCTGTTTCATTAAATGACTTTA
+AATAATCATCATCCACATAATCAGTGAAAACATGAAAGACAAAATTAATATCTGAATTATTAATCAAAAC
+GGAAGAAATTGAAACGCCAGCACCATACAAAAAATTCTTATCGATACCGTAGGAAACATTTAGCTCTGGG
+ACGTTTTCTTTTTTATTATCTGCTAAATACGAAAACCGTTCTTTTATAAATTCATTCATTTAACTTTTCT
+CAATATCATTTTATTATCTTTAAATAAAAATAATAAATATAATTCATTATCCCGTTAATTGGTTTGTTTT
+GTTTAAAATTATGCTTAGCGCAATAACGAGCATAATTTGAGTTAACTGGCCGCATTAACGGTTCATTTTT
+CCAGGGCGATGCTTCTTTGGCTTTGATAAAAGGTTGCGCACTTGGATAACCGGCCCAGTAATGCCAGGGT
+TTTGTCGGGCCGACATAATGAATTAATACGGTTTCATCATTAATTGGACAAACAAATGATTTTTTTAATT
+CATAATTTAAACTAAACTGCGTATTGTATTTAGCATCAATGAATTTAACTTTCCCTAACAGGATAAGATT
+AAGGATATCTTGATCCATATAGGTTAAACGGGAAACGATGGCTTTATCAGCAAGCATCGACATCGCTTTA
+GCAGAAACGGACTCCTGCGCCCACGCTAGTGTATTAATTAACAGGACACCTGAATTAAAGTAACCCTTTT
+CAAGTTCATTACACTGCAGACTTTGAGCCCGTAACGACCACCAGTTAGCATCGCGTTCAGTAACAACAGC
+AGCAACGTTATTGGCAAGATCCATTGTTATCAGCGGTTTTAAGGTTCCCTGACAGGCGATATCAGCATCC
+AGGTACAGGATCTTATCTTGTTGATCAATAAAGTAATCTGCAATTACAAAACGGAAATACATGGCAATAG
+ACCAATTTTTGGTCGTCGGTAATACCTTAAGCCGTTCACAATTTACCAGATGGATCTGGATACAGGTATG
+ATAGCTTTTCGCCAATTGGGATAAACGCTGGATATCGGCGTCAGGGATATCATCAATAAAAACGTGGAAA
+ACAAAACTCACGTCGTTGTTATGTAACAAAACTGACGTGATTGAAACACCACAACCAAAAAGAAAGTTCT
+GATCAATGCCATAAGCAACATGGAATGATGATGCCACTGACGCCTCTGGCCTTTCATCGAAGATGATTGT
+CTTATTGATCATCTCTTGTGGATTAAAATAGTGGGCACTCATATTTCTCTCCGGAAATTACAACGATTTT
+CGAATCGTTCTTTCCCTGATTTTTGTGGCTTTTGCTTCTGCTTGCGACAGCAGCCCTTGTTCCTGCTTGA
+GAATGTCTTTAAGCGGGGCGACAAAATACACTTTCATAAACCGCCAGATATCCCGCTGAGTCAGGCCAAT
+ATTCATCGAAGAAAAATAAAGTCCAATAAGATCTTTATCGCGCCAACGACGTGGAACGCGCGTGCGAAGC
+TGCGCCCGGTGCAGGTCAATTACTGAAATTTTTAACTCCTCTTCCTTACCGGAAAAAGGCAAGTGCAGCA
+GGAAATGACAGATATAACAGTCACGGTGGTTAATGCCCGCAGCATGCATATCGCGCACCATCGTCGCGAC
+ACGCTTAATAAGCATACGCTTTACGCGAACATCTGGTGGGTTGGTCGCCCAGTCAGCACAGTAATCTTCC
+AGACTGATGGTTGGTGTCAGATCTTCGGTAATAATAAACGAGGTTCTGGTCAGCGGATTAATGCCTTTTT
+CGCCGAATGCCACCCCATACATAGTATCAACGCCGACATCCCGCAGTCGATGAATCGCATTCCATTCGCG
+GTCTGCGCCTAATACTGGCATCCGCAATGAGAGTAAATTTTTGATTATCTCTTTCAGGGTCGTGCCGCGA
+TGCCATTTGAGAAAATAGCTTTTGCCCGCCATTTCAAAGCGCAGAGTGCGGCGAGTTTCCAGTTCACGAA
+ATACCTCACCCTGCAAGGTTTTAACTTCCTCAAAAGGATCTTTACCGCGCCATAACGTGGCAAACGACTC
+TTTAAGTTCAACCATCCAGACCACCCGTTATGATGTCCGCCGCTTTCTCTGGCAGACTGTATAAATCTTG
+TGTATCAGCATAATGTCGCGCATTTTCCGCCCAGGCCTGGCGCAATGAAGATTGCGTTAACGCTTTGCGT
+AAAATCTCATTCAATGTTTCCTGGCGGAATGGCTCAGCAATAGCCTCGCCGCAATTGGCATCGACAATAT
+AATGCGCATAGCCACAAACGGCTGTTGTTAGTACCGGTAATCCTGCAGTTATCGCTTCCAGCAGCACAAT
+TCCCGCCGCTTCCTGGTAGGCAGGATGAAGTAATAAATCCGCCGCCGCCATTAATTCCGAGACATCGTTG
+CGCCCCGAGAAGAAGTGAACATTACTGCGCACGCCGCGTTTTTCTGCCAGCGCCTCAAATTTTCGCGGTT
+TATCCTGCCCAACAACATATAGTAATGTGTTGTGGCGCAGCGAATCCGGTAACGAAGCAAGTGCTTCAAT
+GGAACGATCGACACCTTTACGCGTGAAGTCTGAACCAACCTGCAACAATAAATATTGTTGTTCGGTTATT
+CCATTCTTCTTACGGAAGATTTCACGGCTATTGGCTGGCTGCTGGCTATATTTACGATCAGGATAAATCC
+CCGGAGGCAGAATATGAAAACGCTCCGCTTCAGTCTGATAATGTTTCTGGAAATCGGCGATTTGCTTATC
+TGTCAGCATCAGCAGCTGTGTCGGCTTGCCCTGTTCGAAGGTTGCCCGCTCAAAGGCGGCATAATGGCGA
+TAACGTGACGTCAGGCGATAGAAAAAGCCTTTCTCCTGCGCTACTTTCTCGGCATAACAAACATCAGCGG
+CATAATAAACGTCCAGCCCCGGCATTTTATTAAATCCAACGACTCTATCGACGGGGTGTTCACGTAAATG
+TTTTTGCACCCAGGCAAAATATTCCGCATTGCGCCCGTGATTGGTATGCGATTTAACCGGCACTTTGATC
+AGTTCAAATACATCAGGGCATTCGCCTTCCCACGACTGGGTATAAACCCGAACATGATGACCTCGGGCGG
+CAACTGTCTGAGCAATACGCATAAAATCGCGCTGCAAACCGCCAAAGGGAAAATATTTATATAAACAAAA
+AGCAACGATCATAACGACGTACCTGTCGTGGAGGAGGGAAGTAATTTATCGACAGCTGCAATGACATCTG
+CCGCCGGAATAACCGAAAGATACATCTCATTTCGGTCACGCTGATCGCGCGTTGGCATTTCCCGGTAATC
+TCCCGCCCAGAATTGAATCATGTTATTTGACCAGGGACGCCAGAAAATATGGTCTGTCGCACCAAACAGC
+GATATCAGCGGCGTATTAACTGCAGCGGCAATATGCGCCGGTGCGGAATCAACGCCAATAAACAGCTGCG
+CATGATCGATTAACGCACCAAGTTCCGGGAAGGTCACCTTTCCGGCCAGCGCCGTTACTGGTGGCGTCTG
+GCATCCCTGCGCAATTTCATTGACGCAGGCCAGATCGTCTTTATCTGGGCCGGACGTCAGAACGACTTCA
+TAACCACGAGCATGTAAGGCATCAATCACAGCGGAAAACTTGGCGTTGTCCCAGCATTTGAAGATTTGCC
+GCGCCGTAGGTTGGATAACCACATAATTTTGTCCAACACCAGCGTGATCAAGTTCGCGACGCATACGTTT
+CCAGCTTGCAGGCGGGTAACTCATGGTTGTCTGCTTCACCAACGATTCAAGTCCCAATGGCGTCAGCACG
+GATAAGTTACTTTCCACCACATTTCCACCCTGCAACGGCACCAAATGAGTGAAACTATTACGCCAAAAAG
+CAGACTGCCGATGATGATAATCCTGGGAAATTTTCACACGGGCATTTAATAAACGAACCAGTATAGCAAT
+CATCCATTGATCGGTAAGATTAACGATAAGGTCATACTTATTGGCACGTAATACCTTGATGAGATGAAAA
+AAGTTGGCAATTTTTTCTGAGGCTTTTGCTTTTTTATTTTTTATGCCGTAGAGCGCGTTAATCTCTGGAT
+TTTCAGACAGGATCGGGATGGTGTCCTGATAAAGCAGCACATCGATTTTTGCGTCAGGGTAATTTTTTTT
+CAGCGAACTAATGACGGGAGTAGTTAATAACATATCCCCATGAAAACGCATCTTAATGAGCAAAATTCTT
+CGAAATGGCTTATCCACAAGTAACTCTTTTTGTTGAGATTATCCGATTAAGGTGAAGCAGAAAAAGCACG
+CTACCGCCCCAGGCTCAACAGCTACCTGAATACTGATACCGCACTGATATTGACGCGCTAGTGTATCACT
+TCTTTCGCGGCAATCCGACTCGAATGATTTTTAAGCACATTGTTGATTTTCAATAAAGAAATCAATCAAA
+TAAAATCATTAGCAACCATATTCTTTTACTGTTGCTCTGCGATTCCTTCCTGCACGTACTGCAGAAATCA
+ATGAATCGCATAAAAATACAAAAAAAGTATAGATGTTCAGCAAGAATTGGCGGGTAAATTGCTATTTAAG
+TCAAAAACGGGAAAAGTAATGGTAAAGCCACAGCTAAATACATAGAATCCCCAGCACATCCATAAGTCAG
+CTATTTACTATGCTCGAATTGCTTTACACCGCCCTTCTCTACCTTATTCAGCCGCTGATCTGGATACGGC
+TCTGGGTGCGCGGACGTAAGGCTCCGGCCTATCGAAAACGCTGGGGTGAACGTTACGGTTTTTACCGCCA
+TCCGCTAAAACCAGGCGGCATTATGCTGCACTCCGTCTCCGTCGGTGAAACTCTGGCGGCGATCCCGTTG
+GTGCGCGCACTGCGTCATCGTTATCCTGATTTACCGATTACCGTAACAACCATGACTCCAACCGGTTCGG
+AGCGCGTACAATCGGCTTTCGGGAAGGATGTTCAGCACGTTTATCTGCCGTATGACCTGCCCGATGCACT
+CAACCGTTTCCTGAATAAAGTCGACCCTAAACTGGTGTTGATTATGGAAACCGAACTATGGCCTAACCTG
+ATTGCGGCGCTACATAAACGTAAAATTCCGCTGGTGATCGCTAACGCGCGACTCTCTGCCCGCTCGGCCG
+CAGGTTATGCCAAACTGGGTAAATTCGTCCGCCGCTTGCTGCGTCGTATTACGCTGATTGCCGCCCAAAA
+TGAAGAAGATGGTGCACGTTTTGTGGCGCTGGGCGCAAAAAATAATCAGGTGACCGTTACCGGTAGCCTG
+AAATTCGATATTTCTGTAACGCCGCAGTTGGCTGCTAAAGCCGTGACGCTGCGCCGCCAGTGGGCACCAC
+ACCGCCCGGTATGGATTGCCACCAGCACTCATGAAGGCGAAGAGAGTGTGGTGATCGCCGCACATCAGGC
+ATTGTTACAGCAATTCCCGAATTTATTGCTCATCCTGGTACCCCGTCATCCAGAACGCTTCCCGGATGCG
+ATTAACCTTGTCCGCCAGGCTGGACTAAGCTATATCACACGATCTTCAGGGGAAGTCCCCTCCACCAGCA
+CGCAGGTTGTGGTTGGCGATACGATGGGCGAGTTGATGTTACTGTACGGCATTGCCGATCTCGCCTTTGT
+TGGCGGTTCACTGGTTGAACGTGGTGGGCATAATCCGCTGGAAGCGGCCGCACACGCTATCCCGGTATTG
+ATGGGGCCGCATACGTTTAACTTTAAAGACATTTGCGCGCGGCTGGAGCAGGCAAGCGGGCTGATTACCG
+TTACCGATGCCACTACGCTTGCAAAAGAGGTTTCCTCTTTACTCACCGACGCCGATTACCGTAGTTTCTA
+TGGCCGTCATGCCGTTGAAGTGCTGTATCAAAACCAGGGCGCACTACAGCGTCTGCTTCAACTGCTGGAA
+CCTTACCTGCCACCGAAAACGCATTGAGGTTGTTATGCAAAAACGGGCGATTTATCCGGGTACTTTCGAT
+CCCATTACCAATGGTCATATCGATATCGTGACGCGCGCCACGCAGATGTTCGATCACGTTATTCTGGCGA
+TTGCCGCTAGTCCCAGTAAAAAACCGATGTTTACCCTTGAAGAGCGTGTGGAACTGGCACAGCAGGCAAC
+CGCACATCTGGGGAACGTGGAAGTGGTCGGGTTTAGTGATTTGATGGCGAACTTCGCCCGTAATCAACAC
+GCTACGGTGCTGATTCGTGGCCTGCGTGCGGTGGCGGATTTTGAATATGAAATGCAGCTGGCGCATATGA
+ATCGCCACTTAATGCCGGAGCTGGAAAGTGTGTTTCTGATGCCGTCGAAAGAGTGGTCGTTTATCTCTTC
+ATCGTTGGTGAAAGAGGTGGCGCGCCATCAGGGCGATGTCACCCATTTCCTGCCGGAGAATGTCCATCAG
+GCGCTGATGGCGAAGTTAGCGTAGAGTTTATGCCGGATGGTATGCCATCCGGCGCGCATCAATTACTTCT
+GGCACTGCCGACAATAAAACGTTGCCCGCTGCGCATGTTTAGTCGCCACAATCGGCGTACCGCACACCCG
+ACACGGCTCACCTTTTCGCCCGTAAACCTGCAATTCCTGAGCGAAATAGCCCGGTTTACCATCACTTTGC
+AGAAAATCTTTCAGCGTTGTACCGCCCTGCTCAATCGAACGCAGCAACACCGCTTTAATCACCCGAGCTA
+ACAATTCACACTCCGCCAGCGACAGTGATGACGCCAGCCGATCCGGATGGATCCCCGCCGCAAACAGCGA
+TTCGCTGGCATAGATATTCCCTACGCCTACCACCAGCTTGTTATCCATCAGCCACGGTTTAATCGCCGTT
+TTTTTCTTCGCGCACTTCTGATGCAGGTACTCACCGTTGAAATCGTCACTAAGCGGCTCCGGTCCAAGAT
+GGGCCAGCACGTTGTGCCCTTCCAGCTCTTTGGTCCATAGCCAGGCACCAAAGCGGCGCGGATCGGTGTA
+GCGCAGCACTTTGCCGTTGCTCATCACCAAATCCACATGGTCATGCTTTTCAGGGGGAAGTTCTTCTGGA
+AGGATGCGCAGGCTGCCAGACATCCCCAAATGAATGATAATCCAGCCCTCAGGCAGCTCCAGCAGCAGAT
+ATTTAGCCCGGCGCTGCACGCTAAGCACTGGTTGGTCGCTTAAACGGTAGATCTCTTCTGAAACCGGCCA
+GCGCAAGCGTCCGTTGCGCACCACCGCATGAAGAATGGTTGCACCAACGAGATGCGGTTCTATGCCGCGA
+CGGATGGCTTCAACTTCAGGTAATTCAGGCATAGCATCTCCAGGAATGAACAGATGCAGTCAATATGGGG
+GCAAGCAGATAACAAAAAACCCCGCCGGGGCGAGGTTTTTTGTTACATCAAAGCGAGAATTATTTGATTT
+TCGCTTCTTTGTAGATCACGTGCTGGCGAACAACTGGATCGAATTTTTTCAGTTCCAGTTTTTCCGGCTT
+AGTACGTTTGTTCTTCGTAGTGGTATAGAAGTGACCAGTACCAGCAGAAGAAACCAGCTTGATTTTCTCA
+CGAATACCTTTAGCCATGATTTATTTCCTCTAAGTACTTAGTACTTTTCGCCACGGGCACGCAGTTCAGC
+CAGAACTGTATCGATGCCTTTTTTATCGATTACACGCATACCTTTAGCAGATACGCGCAGGGTGACAAAA
+CGCTTCTCGCTCTCAACCCAGAAACGGTGAGAGTGCAGATTCGGCAGGAAACGGCGTTTAGTCGCGTTCA
+GTGCGTGGGAACGGTTGTTACCGGTCACCGGACGCTTGCCAGTAACTTGGCAGACTCGGGACATGTCTAT
+TCTCCAAAAATCAAATTAGCTCGAGCTTCGTATGGGGTATTGGCGCCTCGTCAGGCTTTACAGCCCGGTC
+ATCGCAGTTCTATGTGAACTCTCGATTGCCAGGCCCAAATGCCAAACCCGAGATTCTCAAAGGTGGCGTA
+GTATACGCTGACTCAGCGATGTGCTCAAGTCCCGAACAGACAAAGATCCCGAAGGATCGCGCATAGCGGG
+TTAAATCCAGCCGCGTTCGGCAAAAGAAACATACTCTCCACGCCCAATCACGATATGGTCGAGCACGCGT
+AAATCCATGAACTGACAACTCTTTATTATCCGTTCAGTAATGAGTTTATCCGCTTTACTGGGTTCAGCAC
+AACCCGAAGGGTGATTATGCGCAAGGATCAGCGCCGAGGCGTTTATTTTTATCGCTTCGCGGATAATTTC
+CCGAGGATGGACTTCAACATGGTTTAGCGTGCCGGAAAAAAGACGGCTATGCGTTATAACTCTGTGTTGG
+GAGTCGAGAAAGATCACCATAAAGATCTCCCGCTCCTCGCCCGTGAGCTGGCTTTGTAAAAATTCCCTCG
+TCATCTCCGGGCTGAGTAAAGGGCTTTCTTCACGCATCCGTACGTTGTAGTAACGCCGCGCCAGTTCGGC
+AATCCCCTTTAACTGGGCGAATTTCGCCACGCCAATTCCATGAACGCCACTAAATTGCTCATATTCAGAG
+GTTAACAAGCCATAAAGAGAGCCGAAATTCTCCAGCATCTCTTTTGCCAGGGTTAATACATCTTTACCGC
+GCGTTCCGGTACGCAGAAATAGCGCCAACAGCTCGACATCCGTTAAGGCGCTAATACCAAACTTCAGCAT
+TTTTTCGCGCGGCATCAACAGCTGTGCATTGTTTTTCACCTTCACCTCCTTTGTGGTGCTCGCATCCTGT
+CATAGCCGTTCCTTTAAATCGACGGCCAGTTTTCAATCCTGGAAAGCGCCTCGCAAAGTGAATCTCAGGT
+GAAGGCACGACAACAAAAGTATTGTGATAAAATCGCCAACTTCTGGTGTCACCCAACAGGAAAAATCATC
+ATGAGCCTGGCCGGTAAAAAAATCGTTCTCGGCGTTAGCGGCGGTATTGCTGCCTATAAAACCCCTGAAC
+TGGTGCGTCGTTTGCGCGATCGCGGGGCCGATGTCCGCGTAGCCATGACCGAAGCGGCAAAAGCCTTTAT
+CACCCCACTTAGCTTGCAGGCGGTTTCTGGTTATCCCGTTTCCGACAGTCTGCTGGACCCGGCAGCCGAA
+GCCGCTATGGGCCATATTGAGCTGGGAAAATGGGCTGATTTAGTGATTCTCGCCCCTGCCACGGCAGATT
+TAATTGCCCGTGTTGCAGCCGGAATGGCGAATGACCTGGTATCGACGATTTGTCTGGCTACACCTGCGCC
+TGTAGCCGTGCTCCCCGCCATGAACCAGCAGATGTACCGTGCCGCCGCCACCCAGCATAATTTAGAGGTG
+CTTGCCTCGCGTGGTTTGCTCATCTGGGGGCCAGACAGCGGCAGTCAGGCTTGTGGTGATATCGGCCCAG
+GACGAATGCTCGATCCGTTAACCATTGTGGATATGGCGGTAGCGCATTTTTCGCCCGTCAACGACCTGAA
+ACATCTGAACATTATGATTACCGCCGGTCCGACGCGTGAACCGCTCGATCCCGTGCGTTATATCTCTAAT
+CACAGCTCCGGCAAGATGGGTTTTGCTATCGCCGCCGCAGCAGCCCGTCGTGGCGCGAACGTCACGCTGG
+TATCAGGTCCGGTTTCGCTACCGACGCCACCGTTTGTTAAACGTGTTGATGTAATGACTGCGCTGGAAAT
+GGAAGCCGCCGTGAATGCATCTGTACAGCAGCAAAATATTTTTATCGGTTGCGCCGCCGTGGCGGATTAT
+CGCGCAGCTACCGTGGCCCCAGAAAAAATCAAAAAGCAGGCCACGCAGGGTGATGAATTAACAATAAAAA
+TGGTTAAAAACCCCGATATCGTCGCAGGCGTTGCCGCACTAAAAGACCATCGACCCTACGTCGTTGGATT
+TGCCGCCGAAACAAATAATGTGGAAGAATACGCCCGGCAAAAACGTATCCGTAAAAACCTTGATCTGATC
+TGCGCGAACGATGTTTCCCAGCCAACTCAAGGATTTAACAGCGACAACAACGCATTACACCTTTTCTGGC
+AGGACGGAGATAAAGTCTTACCGCTTGAGCGCAAAGAGCTCCTTGGCCAATTATTACTCGACGAGATCGT
+GACCCGTTATGATGAAAAAAATCGACGTTAAGATTCTGGACCCGCGCGTTGGGAAGGAATTTCCGCTCCC
+GACTTATGCCACCTCTGGCTCTGCCGGACTTGACCTGCGTGCCTGTCTCGACGACGCCGTAGAACTGGCT
+CCGGGTGACACTACGCTGGTTCCGACCGGGCTGGCGATTCATATTGCCGATCCTTCACTGGCGGCAATGA
+TGCTGCCGCGCTCCGGATTGGGACATAAGCACGGTATCGTGCTTGGTAACCTGGTAGGATTGATCGATTC
+TGACTATCAGGGCCAGTTGATGATTTCCGTGTGGAACCGTGGTCAGGACAGCTTCACCATTCAACCTGGC
+GAACGCATCGCCCAGATGATTTTTGTTCCGGTAGTACAGGCTGAATTTAATCTGGTGGAAGATTTCGACG
+CCACCGACCGCGGTGAAGGCGGCTTTGGTCACTCTGGTCGTCAGTAACACATACGCATCCGAATAACGTC
+ATAACATAGCCGCAAACATTTCGTTTGCGGTCATAGCGTGGGTGCCGCCTGGCAAGTGCTTATTTTCAGG
+GGTATTTTGTAACATGGCAGAAAAACAAACTGCGAAAAGGAACCGTCGCGAGGAAATACTTCAGTCTCTG
+GCGCTGATGCTGGAATCCAGCGATGGAAGCCAACGTATCACGACGGCAAAACTGGCCGCCTCTGTCGGCG
+TTTCCGAAGCGGCACTGTATCGCCACTTCCCCAGTAAGACCCGCATGTTCGATAGCCTGATTGAGTTTAT
+CGAAGATAGCCTGATTACTCGCATCAATCTGATTCTGAAAGATGAGAAAGACACCACAGCGCGCCTGCGT
+CTGATCGTGTTGTTGCTCCTCGGTTTTGGTGAGCGTAATCCTGGCCTGACTCGCATCCTCACTGGTCATG
+CGCTAATGTTCGAACAGGATCGTCTGCAAGGGCGCATCAACCAGCTGTTCGAGCGTATTGAAGCGCAGTT
+GCGTCAGGTATTGCGTGAAAAGAGAATGCGTGAGGGTGAAGGTTACACCACCGATGAAACCCTGCTGGCA
+AGCCAGTTGCTGGCCTTCTGTGAAGGTATGCTATCACGCTTTGTCCGCAGCGAGTTTAAATACCGCCCAA
+CGGATGATTTTGACGCCCGCTGGCCGCTAATTGCCGCACAGTTGCAGTAATATGACGCCGGATGACTTTT
+CATCCGGCGAGTTTCGTTAAACGCCAAACTCTTCGCGATAGGCCTTAACCGCCGCCAGATGTTCCGCCAT
+TTCTGGCTTCTCTTCCAGGTAAGCAATCAGGTCTTTCAGGGTGATGATAGAGATCACCTTGCAGTTGTAA
+TCACGCTCAACTTCCTGAATCGCCGAAATTTCGCCGCGCCCGCGTTCCTGACGATCAAGCGAAATCAACA
+CGCCTGCAAGCGTCGCGCCATTGGCCTGAATAATTTCCATCGACTCGCGAATCGCCGTTCCGGCGGTGAT
+CACATCATCTACCAGCATTACGCGTCCTTGTAACGCGCTACCAACCAGATTACCGCCTTCACCGTGGTCT
+TTTGCCTCTTTGCGGTTAAAGCAGTACGGCAGGTCAAGGTCATGATGCTCCGCCAGCGCCACGGCGGTAG
+TGGTGGCAATCGGGATCCCTTTGTAAGCAGGGCCAAACAGCAGATCGAACTCAATGCCGGAATCCACCAA
+TGCTTCAGCGTAAAAACGGCCTAACAGTGCCAGATCGCGCCCGGTATTAAACAGCCCGGCGTTGAAGAAA
+TAGGGGCTTTTGCGCCCGGATTTCAGCGTGAACTCGCCAAACTTTAACACCTGCTTGCTAAGCGCAAATT
+CAATAAACTGGCGCTGATATGGTTTCATGCCTTCGCTCCTCATCTTACTTTTCTACAGACAAAAAAAAGG
+CGACTCATCAGTCGCCTTAAAAATCAGTTTGCCAGCGCCGCCTTCTGCGTCACTACAATGGATTCGATTC
+CCCCTCGGGCCAGCGCCAACAAGGTGAGTAACTCTTCGTGGGTGAACGGTTCGCCTTCTGCCGTCCCCTG
+CACTTCAATGATACGCCCGTCTTCGGTCATCACTACGTTCATGTCGGTCTCTGCGGCAGAGTCTTCAACA
+TATTCCAGATCGCAAACCGCTTCACCGTTCACAATCCCGACAGAGACCGCGGCTACCATCCCTTTCATTG
+GATTAGTTTTCAGCTTGCCGTTTTCCACCAGCTTCTGTAGCGCATCTGCCAGCGCCACGCAGGCACCCGT
+AATCGAAGCGGTACGCGTGCCACCATCAGCCTGAAGCACGTCGCAGTCCAGCGTAATGGTGAACTCACCC
+AGTGCTTTCAAATCTACTGCCGCGCGAAGAGCACGGGCGATCAGACGCTGGATTTCCATTGTGCGTCCAC
+CCTGCTTACCTTTCGCCGCTTCACGCGCGTTACGGGTATGGGTAGAACGCGGCAGCATACCGTACTCTGC
+GGTGATCCAGCCCTGGCCCTGACCTTTCAGGAAGCGCGGCACGCCTTCTTCAATAGAGGCGGTACACAAT
+ACTTTGGTATCGCCAAATTCGACCAGCACCGAGCCTTCTGCATGTTTTGTATAGTTACGAGTCAGGGTAA
+CGGGACGCACCTGATTATTGCTACGGCCTGCTGGACGCATATTGAAATCTCCGGCTTGAAACAAATGTGG
+CTGCGCATTATACGGACTTCCGGCGGTTATTCCTATCCTGACAAGGCATCGATGGCTATAATCCTTCCAC
+CTCTCCTTTTATAAACAGGAACGTCTATGATCCGCAGTATGACCGCCTACGCCCGGCGTGAAATCAAGGG
+TGAATGGGGGAGCGCAACCTGGGAAATGCGCTCGGTAAACCAGCGTTATCTGGAAACTTACTTTCGTCTG
+CCGGAGCAGTTCCGTAGCCTTGAACCTGTCGTTCGCGAGCGTATTCGTTCTCGCCTGACGCGCGGTAAAG
+TGGAATGTACCCTGCGTTATGAGCCAGATGTTAGCGCACAAGGTGAGCTGATCCTCAACGAAAAACTGGC
+TAAACAGCTGGTAACTGCCGCGAACTGGGTAAAAATGCAGAGTGACGAAGGGGAAATCAACCCGGTTGAT
+ATTCTACGCTGGCCGGGCGTGATGGCAGCCCAGGAGCAGGATCTCGACGCGATTGCCGCTGAAATTCTCG
+CGGCGTTGGATGGTACGCTGGACGACTTTATCGTCGCGCGCGAAACCGAAGGTCAGGCGCTGAAAGCATT
+GATCGAGCAGCGTCTGGAAGGCGTCACCGCCGAAGTGGTCAAAGTCCGCGCCCATATGCCGGAAATCCTG
+CAATGGCAGCGTGAGCGTCTGGTCGCGAAGCTGGAAGATGCTCAGGTGCAACTGGAAAACAACCGTCTGG
+AGCAGGAGTTGGTTCTGCTGGCACAACGAATTGACGTTGCCGAAGAACTGGATCGCCTCGAAGCGCATGT
+CAAAGAGACCTACAACATTCTGAAGAAAAAAGAAGCGGTTGGTCGTCGTCTGGACTTTATGATGCAGGAG
+TTCAACCGCGAGTCGAACACTCTTGCGTCGAAATCTATCAATGCCGAAGTGACGAATTCTGCCATCGAGC
+TGAAAGTGTTGATTGAGCAGATGCGCGAGCAGATTCAGAATATTGAGTAACTCGTAACACTAATTCTTAC
+TTTTCAGCCTTCACAAATGCCGCCCACTCAAACAGAGCGGCATTTTTCTTCCCCGCAACTTCAATTCTGT
+TTTGCGTGCCTGCTCCAGATTTTGCGATGTTTTTTTGCCCAGCACACTGAGAACGTGAGATACTCACAAC
+TGTATATAAATACAGTTACAGATTTACTTTCTTTGCAATCGATATCACATGGAGTGGGCAATGAACGAAC
+ATCATCAACCTTTTGAAGAAATACGGCATTATGGCACTGAAGGGCAAGAATTTTGGTCAGCGAGAGAATT
+GGCACCGTTACTGGATTATCGGGACTGGCGCAATTTTCAAAAGGTACTGGCCCGCGCGACTCAAGCGTGC
+GAAGCCAGCAATCAAGCTGCATCTGACCATTTCGTTGAAACCACCAAAATGGTTGTATTAGGTTCAGGGG
+CTCAACGAGAACTTGAAGATGTTCATCTCTCCCGCTATGCCTGTTACCTAGTAGTACAAAACGGCGACCC
+TGCGAAACCGGTTATTGCGGCAGGGCAAACTTATTTTGCTATCCAGACCCGACGGCAGGAGCTGGCTGAC
+GATGAAGCTTTCAGGCAACTTCGTGAAGACGAAAAGCGTCTTTTTCTGAGAAATGAGTTGAAAGAACATA
+ACAAACAATTAGTTGAGGCAGCGCAGCAAGCTGGGGTAGCGACAGCTATCGATTTCGCCATATTTCAGAA
+TCATGGTTACCGGGGACTGTATGGTGGATTAGATCAGAAAGCTATTCATCAGCGGAAGGGGCTGAAAAAG
+AGTCAGAAGATCCTGGATCATATGGGTTCAACAGAACTGGCGGCTAATCTCTTTCGAGCTACCCAAACAG
+AAGAAAAACTCAAGCGGGATGGCGTGAATTCAAAACAGCAAGCTAATACCACACACTTTGACGTGGGTCG
+CAAGGTGAGGCAAACCATTCAGGAACTTGGCGGAACCATGCCTGAGGAGTTGCCGACCCCGCAGGTCAGC
+ATCAAGCAGTTGGAAAACAGTGTAAAAATTACAGAGAAGAAATAGCAGAAACTAAAAACTCTTTTTGTTG
+ATTGAGATACCCGATGCGTAAGCCAAAGTCCAGGTGCGGTGAACACAATGGCTAAACATTGCACCTTTCT
+TTTCCACCCCTCAATTTTAACCTATTTTTTCTTATGCATTTTCTCAGACAAGAAGTCAGAAGAATGCATC
+TACGCTACAGAAAATAGCAATTTCACATAACTACAAATTATCAATCTATTCTCACCTTAAAAAATCTCAA
+TCGTGACAATGCGCACAAATCGCTACCCTTCCAGACAGATTTTTAGGGAGAGAACCATGCTGTTACACAT
+TTTGTATTTGGTTGGCATTACTGCCGAAGCCATGACTGGGGCGCTGGCAGCCGGGCGGCGGCGCATGGAT
+ACATTTGGCGTAATTATTATTGCGACTGCTACCGCAATTGGCGGAGGGTCAGTGCGCGATATTCTGCTGG
+GCCACTATCCGCTCGGCTGGGTCAAACACCCGGAATATGTGATTATTGTCGCTACCGCCGCAGTACTCAC
+CACTATCGTTGCTCCTGTAATGCCTTACCTGCGCAAAGTGTTTCTGGTGCTTGATGCGCTCGGACTGGTG
+GTCTTTTCTATCATCGGCGCACAGGTTGCACTGGATATGGGGCACGGCCCGATTATTGCCGTTGTCGCGG
+CGGTAACCACCGGCGTGTTTGGCGGCGTTTTGCGCGATATGTTCTGTAAACGCATTCCACTGGTATTCCA
+GAAAGAGTTGTATGCCGGTGTCTCATTTGCCTCCGCCGTACTGTACATCGCGCTGCAACACTATGTTTCT
+AACCATGATGTGGTGATTATCTCCACCCTGGTATTCGGCTTTTTTGCCCGTTTACTGGCGCTACGTCTTA
+AGCTGGGATTACCGGTCTTTTACTACAGCCACGAAGGTCACTAAGGTTCAAAACCTGTGATCTGCTGGGC
+AGCCAGCCAACTGCCCAGCTTCTTGATTTGCGCATTTTCCTTCCATTCAATAACCTGTCTGGCGCGCCCC
+GATCCAGTCCCCGGCAGCTGCTGCCAGAACTGTTCCGTGCTAAATAAAAGTTGCGACCAGGACCGTTCAT
+CACTGGCATTAAGCGCCGCCCGGGTTAGCGGTATTCCCATTGCCATCACCCAGCGAGTAAAAGGCTGCTG
+ACGAGCCAGATTAAACTGATGCCATAACTGCGCACTTTTACTTTTCGCGATCCCCGGCGTGTTCTGTAAT
+TGCTCTGGCGTTAATAAAAGCCAGGAAAAGATATGCTCAAAGCGATGAGTCTGATGCAGGGCGCGCCAGC
+CGGCCTCACCAATGCCATCAAGCCCCAGAACCTGTTTTGACCCCAGCCAGACTAAGCGTGAAATGAACTG
+TTCCTGACAAACATCAGAAGCAAAGTAGCAGGTCAACGAGTTAAAGCGGTTTTCTGGTGGTGTCGGTTTT
+GTACGTTCTGCTCCGCGCCAGACCACATCATCAATGCGAGGAATCCCCTGACCGGCAAGGCTGACGAGGA
+TCTGATCACCAGGCGCAATATCCCACTCCTGCCAGCGCCTGACGGAACCAATATTCACCCGCTGGACTTT
+TTTATCATCCAGCATGACAGGTGCGAGTGACGCCACCACCGATATTTTACCGCTCTTACCCACCGCAAAT
+TGAATCGCCTTCACTTCGGCAACCTGAGCTACAGGTTGATATTTCCAGGCCACCAGCCACTCCGCCTGGC
+CCGGTAGCCAATGACGGGATTCGGGTTCTTTCGCCGCTCGCACAACCACGCCATCGGTGACGAAGGGTAA
+TTTTGCTTTCCACCACTCATTGCGTACGTGCGCAACCTCATCAGCATTTTTAACCGCGCGGGTATACGTC
+TGCGTTAAAGTAAAACCTGCGGTAGCCAGATCCTTTAAACGATCGGTCATTAAATGCGGTCCATCCGGCC
+ATGCCCAGACAAAAACAGCCAGTGAGTTTAGCGTATCGCTATTCCCCTGGCGCATCATCAGGCCAGCAAC
+TTTTGCGCGGGCATTTATTCCCCCCATTTGTTGTTGGATATGCCCCTTACGCTTGAGAAATATTTCCCCC
+TGAAGCGTGCTGTTGGCTAAAGGCCCGCTAACGGTTTGCGGCACAGCGGAAATTAAGCTAACTTTCTGCG
+TCCAGTCCTCCCCTTTCAGGCCATTGCCGCGACTGATTGCTTTGTTCAGTTTCCCGTCCCGATAAACCAG
+GGTTACCGCAACGCCATCGACTTTCGGCTGCACCCAAAGATCGTTGTGTTCACGCATCCAAAGACGTAGT
+GCATTTTTATCCGCTAATTTACGCACGCCTGTATGCGCAACTGGATGCATAACTGTGCCTGCCAAAGGTG
+GCATCATCGCGTCGCGGGGCTCGTTCCCAAAACAGCGTTGCCACTGCGTGAGACGGGCGCTTAACTGATC
+GTAAACACCGTCTTCAATCTCACTTTCCCCTTCCTTCCAGTAGTCATCGTCCCACTGTTTTATTTGCTGT
+TGCAGGCGGGAAATTTCTTCCTGTGCTCTGGCTGGCGACCAGGCCGGACAGACTGCCCACGCCGATGATT
+GCCAGCACAAGATACTTATTAATATCGCCATCCATACTTTCATCATCACCTCCGCTGTAGATAGTCAGGC
+AGATATACAACGTGATGAAAGCAAAGCCGAGTGGCAAAAACGGAGTCTGCGAGGACGCTTCCTGAGAATC
+GTCTTTATTGCAGTGAATGACAGGCAAATGCGGAAGCAGCTACGCAAAACGCAACAACTTTGCGCAAAAA
+GTGTGAGCAAGGGCTACGTCACATGCCCGCGCCGTGTATAATAAGCTCGTATGTAGGCTTTATTTCGCTA
+ATCACATACGAAAGATACTCATGGCTCAAGGCACGCTTTATATTGTTTCTGCCCCCAGTGGCGCGGGTAA
+ATCCAGCCTGATTCAGGCTTTATTAAAAACCCAACCGTTGTATGACACCCAGGTTTCTGTTTCACACACC
+ACACGCCAACCGCGTCCTGGTGAAGTCCACGGTGAACATTATTTCTTTGTTAATCATGATGAATTTAAAG
+AAATGATTAGCAGAGATGCGTTCCTCGAACACGCAGAAGTTTTTGGTAATTACTATGGCACTTCGCGTGA
+GGCCATTGAGCAAGTACTGGCGACCGGTGTCGATGTTTTTCTCGATATCGACTGGCAGGGTGCGCAGCAA
+ATTCGCCAGAAGATGCCGCACGCGCGGAGTATCTTTATTTTACCGCCGTCCAAAATTGAACTGGACCGCC
+GTCTACGCGGTCGCGGTCAGGACAGCGAAGAGGTCATTGCAAAGCGTATGGCGCAAGCTGTTGCAGAAAT
+GAGCCATTACGCCGAATATGATTACCTGATTGTGAATGATGACTTCGATACCGCGTTGACCGATTTGAAG
+ACCATTATTCGCGCCGAACGTCTGCGCATGAGCCGCCAAAAGCAGCGTCATGACGCTTTAATCAGCAAAT
+TGTTGGCAGACTGAACCTGATTTCAGTATCATGCCCAGTCATTTCTTCACCTGTGGAGCTTTTTAAGTAT
+GGCACGCGTAACTGTTCAGGACGCTGTAGAGAAAATTGGTAACCGTTTTGACCTGGTACTGGTCGCCGCG
+CGTCGCGCTCGTCAGATGCAGGTAGGCGGAAAGGATCCGCTGGTACCGGAAGAAAACGATAAAACCACTG
+TAATCGCGCTGCGCGAAATTGAAGAAGGTCTGATCAACAACCAGATCCTCGACGTTCGTGAACGCCAGGA
+ACAGCAAGAGCAGGAAGCCGCTGAATTACAAGCCGTTACCGCTATTGCTGAAGGTCGTCGTTAATCACAA
+AGCGGGTCGCCCTTGTATCTGTTTGAAAGCCTGAATCAGCTGATTCAAAACTACCTGCCGGAAGACCAAA
+TCAAGCGTCTGCGGCAGGCGTATCTCGTTGCACGTGATGCTCACGAGGGGCAAACACGTTCAAGCGGTGA
+ACCCTATATCACGCACCCGGTGGCGGTTGCCTGCATTCTGGCCGAGATGAAACTCGACTATGAAACGCTG
+ATGGCGGCGCTGCTGCATGACGTGATTGAAGATACTCCCGCCACCTACCAGGACATGGAACAGCTTTTTG
+GTAAAAGCGTCGCCGAGCTGGTAGAGGGGGTGTCGAAACTTGATAAGCTCAAGTTCCGCGATAAGAAAGA
+GGCGCAGGCCGAAAACTTTCGCAAGATGATTATGGCGATGGTGCAGGATATCCGCGTCATTCTCATCAAA
+CTTGCCGACCGTACCCACAACATGCGCACGCTGGGCTCACTTCGCCCGGACAAACGTCGCCGCATCGCCC
+GTGAAACACTCGAAATTTACAGCCCGCTGGCACACCGTTTAGGTATCCACCACATTAAAACCGAACTCGA
+AGAGCTGGGTTTTGAGGCGCTGTATCCCAACCGTTATCGCGTAATCAAAGAAGTGGTGAAAGCCGCGCGC
+GGCAACCGTAAAGAGATGATCCAGAAGATTCTTTCTGAAATCGAAGGGCGTTTGCAGGAAGCGGGAATAC
+CGTGCCGCGTCAGTGGTCGCGAGAAGCATCTTTATTCGATTTACTGCAAAATGGTGCTCAAAGAGCAGCG
+TTTTCACTCAATCATGGACATCTACGCTTTCCGCGTGATCGTCAATGATTCCGACACCTGTTACCGCGTG
+CTCGGGCAAATGCATAGCCTGTACAAGCCGCGTCCGGGTCGCGTGAAAGACTACATCGCCATTCCAAAAG
+CGAACGGCTATCAGTCTTTGCACACCTCGATGATTGGCCCGCACGGCGTGCCGGTTGAGGTCCAGATCCG
+TACCGAAGATATGGATCAGATGGCAGAGATGGGTGTTGCCGCGCACTGGGCTTATAAAGAGCACGGCGAA
+ACCAGTACTACCGCACAAATCCGCGCCCAGCGCTGGATGCAAAGCCTGCTGGAGCTGCAACAGAGCGCCG
+GTAGTTCGTTTGAATTTATCGAGAGCGTTAAATCCGATCTCTTCCCGGATGAGATTTACGTTTTCACACC
+GGAAGGGCGCATTGTCGAACTGCCTGCCGGTGCAACGCCCGTCGACTTCGCTTATGCGGTGCATACCGAT
+ATCGGTCATGCCTGCGTGGGCGCGCGTGTCGACCGTCAGCCTTACCCGCTGTCGCAGCCGCTGACCAGCG
+GTCAAACCGTTGAAATCATTACCGCACCGGGCGCTCGCCCGAATGCCGCGTGGCTGAACTTTGTCGTCAG
+CTCGAAAGCGCGCGCCAAAATTCGTCAGTTGCTGAAAAACCTCAAGCGTGATGATTCTGTTAGTCTGGGC
+CGTCGTCTGCTCAACCATGCGTTGGGGGGTAGCCGTAAGCTCAATGAAATCCCGCAGGAAAATATTCAGC
+GCGAGCTGGATCGCATGAAGCTGGCTACGCTTGACGATCTGCTGGCTGAAATCGGACTTGGTAACGCAAT
+GAGCGTGGTGGTCGCGAAAAATCTGCAACATGGGGACGCCTCCATTCCACCGGCAACCCAAAGTCACGGA
+CATCTGCCCATTAAAGGTGCTGATGGCGTGCTGATCACCTTTGCGAAATGCTGCCGCCCTATTCCTGGCG
+ACCCGATTATCGCCCACGTCAGCCCCGGTAAAGGTCTGGTGATCCACCATGAATCCTGCCGTAACATCCG
+TGGCTACCAGAAAGAGCCAGAGAAGTTTATGGCTGTGGAATGGGATAAAGAGACGGCGCAGGAGTTCATC
+ACCGAAATCAAAGTGGAGATGTTCAATCATCAGGGCGCGCTGGCAAACCTGACAGCGGCAATTAACACCA
+CGACCTCGAATATTCAAAGTTTGAATACGGAAGAGAAAGATGGTCGCGTCTACAGCGCCTTTATTCGTCT
+GACCGCCCGTGACCGTGTGCATCTGGCGAATATCATGCGCAAAATCCGCGTGATGCCAGACGTGATTAAA
+GTCACCCGAAACCGAAATTAATGTTTTATGAACCCAACACGTTATGCACGTATCTGCGAAATGCTCGCCA
+GGCGGCAGCCTGATCTGACCGTCTGCATGGAGCAGGTCCACAAACCTCATAACGTTTCTGCGATTATTCG
+TACCGCAGATGCCGTTGGTGTACATGAAGTTCATGCTGTCTGGCCTGGTAGCCGGATGCGCACCATGGCT
+TCGGCAGCTGCGGGTAGTAACAGCTGGGTACAGGTGAAAACGCACCGCACCATTGGCGATGCCGTCGCTC
+ATCTGAAAGGCCAGGGCATGCAGATTCTGGCAACCCATCTTTCTGATAACGCTGTCGATTTCCGCGAAAT
+TGATTACACTCGCCCGACCTGTATTTTGATGGGACAGGAGAAAACAGGCATCACGCAGGAAGCGTTGGCC
+CTGGCGGATCGGGACATCATCATTCCGATGATTGGCATGGTGCAATCGCTGAATGTTTCCGTTGCCTCAG
+CCCTCATTCTTTACGAAGCCCAGCGCCAGCGGCAAAATGCGGGCATGTACCTGCGTGAAAACAGCATGTT
+GCCGGAAGCAGAGCAACAACGCCTGTTGTTTGAAGGCGGCTATCCGGTGCTGGCGAAAGTCGCAAAACGC
+AAAGGCCTGCCTTACCCCCACGTCAATCAGCAGGGCGAAATTGAAGCCGATGCCGACTGGTGGGCCACTA
+TGCAAGCTGCAGGGTAAGTACCATGAAAGGTCGCCTGTTAGATGCTGTCCCGCTCAGTTCCCTAACGGGC
+GTTGGCGCAGCGCTTAGTAACAAGCTGGCGAAAATCAACCTGCATACCGTGCAGGATCTACTCTTACACC
+TTCCCCTGCGCTACGAAGATCGCACCCATCTCTACCCCATCGGAGAACTACTACCGGGCGTTTATGCCAC
+GGTGGAAGGCGAAGTGCTGAACTGCAATATCTCCTTCGGCGGTCGGCGGATGATGACCTGCCAGATCAGC
+GACGGTTCCGGCATTCTCACCATGCGCTTTTTCAACTTCAACGCGGCAATGAAAAATAGCCTGGCGACGG
+GCCGCCGCGTGCTGGCCTATGGAGAAGCAAAGCGCGGTAAATATGGCGCGGAGATGATCCACCCGGAATA
+CCGCGTGCAGGGCGATCTCAGTACGCCAGAGTTGCAGGAAACGCTTACGCCGGTTTATCCAACAACCGAA
+GGCGTAAAGCAGGCCACGCTGCGTAAATTAACCGACCAGGCGCTTGATCTGCTCGACACCTGCGCCATTG
+AAGAACTCCTGCCGCCGGAACTGTCACAAGGAATGATGACGCTACCGGAAGCGTTGCGCACTTTGCACCG
+CCCGCCGCCGACGCTACAGCTTAGCGATCTGGACACCGGCCAGCATCCGGCACAACGCCGTCTGATTCTG
+GAAGAACTGCTGGCGCACAACCTCAGCATGTTAGCCTTACGTGCCGGAGCACAGCGTTTTCATGCCCAGC
+CGCTGAGCGCCAATGACGCGCTGAAAAATAAACTCCTCGCCGCCTTACCGTTCAAGCCAACGGGCGCACA
+GGCACGCGTGGTGGCGGAGATCGAGCGCGATATGGCGCTGGATGCGCCGATGATGCGCCTGGTGCAGGGC
+GATGTAGGTTCCGGTAAAACGCTGGTCGCCGCCCTCGCCGCGTTGCGTGCGATTGCGCACGGCAAACAGG
+TGGCATTGATGGCACCAACCGAATTACTCGCCGAGCAGCACGCCAATAACTTCCGTAACTGGTTTGCTCC
+GCTCGGTATCGAAGTGGGCTGGCTCGCCGGTAAACAGAAAGGTAAAGCACGACTGGCTCAGCAAGAAGCC
+ATCGCCAGCGGTCAGGTGCAGATGATTGTTGGTACGCACGCCATTTTCCAGGAACAGGTGCAGTTTAACG
+GCCTGGCGCTGGTGATTATCGACGAACAGCATCGTTTTGGCGTGCATCAGCGTCTGGCGTTATGGGAGAA
+AGGCCAGCAGCAAGGCTTCCATCCGCATCAGTTGATCATGACCGCCACGCCCATCCCCCGCACGCTGGCG
+ATGACTGCGTATGCCGATCTCGATACCTCGGTGATAGATGAGCTGCCGCCAGGCCGCACGCCAGTGACTA
+CGGTCGCTATTCCTGATACCCGCCGTACCGACATTATTGACCGCGTGCGCCACGCCTGCATAACTGAAGG
+TCGTCAGGCATACTGGGTTTGTACGTTGATTGAAGAGTCGGAATTGCTGGAAGCGCAGGCGGCGGAAGCA
+ACCTGGGAAGAGTTGAAACTGGCGTTGCCGGAACTGAACGTCGGCCTGGTACACGGGCGGATGAAACCTG
+CCGATAAACAGGCGGTGATGGCGTCGTTTAAACAAGGTGAACTACACCTGCTGGTTGCCACTACCGTTAT
+TGAAGTCGGTGTTGATGTGCCTAACGCCAGTCTGATGATTATCGAAAACCCGGAGCGTCTGGGTCTGGCG
+CAGTTACACCAGCTTCGCGGGCGTGTAGGTCGTGGTGCGGTGGCTTCTCACTGCGTGCTGCTCTACAAAA
+CGCCGCTCTCCAAAACCGCGCAAATTCGGCTGCAAGTGCTGCGCGACAGCAACGACGGTTTTGTGATTGC
+ACAGAAAGACTTAGAGATTCGCGGACCGGGTGAACTGTTAGGTACGCGTCAGACGGGTAATGCTGAATTT
+AAAGTGGCGGATTTACTGCGCGATCAGGCGATGATCCCGGAAGTTCAGCGCCTGGCGCGACATATTCACG
+AACGTTACCCACAACAGGCAAAAGCCCTGATAGAACGCTGGATGCCAGAAACAGAACGCTACTCGAATGC
+GTAAAAGGCGGCGGTGAGAAGACCGCCGCTTCATCGGTTAACCCGTAAAAATCGGCAACATCAAATACAG
+CTTAATCACCAGCGCATTGACGATATCGATAAAGAACGCACCGACCATCGGCACGACCAGGAACGCCATG
+TGCGACGGGCCAAAGCGTTCAGTGATCGCCTGCATGTTGGCGATTGCTGTTGGCGTTGCACCGAGGCCAA
+AACCACAGTGACCCGCAGCCAGCACTGCCGCATCGTAGTTTTTGCCCATCATGCGCCAGGTAACGAAGAT
+GGCATACAACGCCATGAAGATGGTCTGTACCACCAGAATCGCCAGCATCGGCAACGCCAGCGAAGCCAGC
+TCCCACAGTTTCAGCCCCATCAGCGCCATCGCCAGGAACAACGACAGGCTTACGTTACCCAGCACGGATA
+CCGCACGCTCAAAGACGCGGTAAAAGCCCATCATTGACAGACCGTTGCTCAGAATCACGCCAACAAATAG
+TACACAGACGAAGGTCGGTAGTTCAAAAGCAGTACCAGCCAAAAGTTGCGCAACAATTTTCCCCACTGTC
+AGGCAGATAGCAATCAGCGCGATAGTTTCAATCAGCACCAGCGAGGTGATCATGCGGCCCACATCCGGCT
+TTTCGAACGCAGTCGGAACTTCCTGGTCATCCGGAATACCGTTCGGTGTGGTGGAGTGTTTCACCAGATA
+GCGCGCCACCGGACCGCCAATCAAGCCGCCCAGCACCAAACCGAACGTTGCACAGGCCATCGCCACTTCT
+GTCGCGTTGGTGAAGCCATAACGTTCAATGAACAATTTACTCCATGCAGCACCCGTACCGTGACCGCCGG
+AAAGCGTAATAGAACCGGCCAGCAGCCCCATCAGCGGATCAAGCCCTAACAGGCTAGCCATACCAATGCC
+AATGGCATTTTGCATCACCAACAGGCCAACAACCACAATCAGGAAAACCCCCACCACACGCCCACCAGCC
+CGCAGACTGGCAAGGTTGGCGTTCAGGCCAATGGTAGCGAAGAAAGCCAGCATCAACGGATCGCGCAGGG
+ACATATCAAAGTTGACTTCCCAGCCCATGCTTTTTTTCAGTATCAGCAGCGCCAGCGCCACTAATAAACC
+ACCCGCAACAGGTTCCGGTATGGTGTATTTCTTCAAAAAGGAGACGGAATGGACCAACTTGCGCCCGAGC
+AGCAACGTCAGCGTTGCGGCAACAAGCGTTGCTAAAGTATCGAGATGAAACATAGTTACTCCTTTGTGTC
+CGCATCACTCTTTCATACTCGTCATACTTCATCGCGCATTTGCAGTAAGGCGAAATATGACGAGTATCGG
+GTCATGCTTTCCTGGTTCGAATTCTTAGCTGAAAATAGAAAAATGGCATGGATTTTAAGCAGAAAACAAC
+TAAAAGTTATATAAAAAAGTACATTTATCTCATTTAAATATTTAGATGAGGATGTGGCAAACGTTTGCTT
+TTCTCTTTCGGTCAGCTAAAATGCCCGCTTTGCTACCACGGGATTGTTTTCGATGTCTGTTTCCACCCTC
+GAGTCAGAAAATGCGCAACCGGTTGCGCAGACTCAAAACAGCGAACTGATTTACCGTCTTGAAGATCGTC
+CGCCGCTTCCTCAAACCCTGTTTGCCGCCTGTCAGCATTTGCTGGCGATGTTCGTTGCGGTGATCACGCC
+AGCGCTATTAATCTGCCAGGCGCTGGGTTTACCGGCACAAGACACGCAACACATTATTAGTATGTCGCTG
+TTTGCCTCCGGTGTGGCATCGATTATTCAAATTAAGGCCTGGGGTCCGGTTGGCTCCGGGTTGTTGTCTA
+TTCAGGGCACCAGCTTCAACTTTGTTGCTCCGCTGATTATGGGCGGCACAGCGCTGAAGACCGGTGGTGC
+TGATGTTCCTACCATGATGGCAGCTTTGTTCGGCACGTTGATGCTGGCAAGTTGTACCGAGATGGTGATC
+TCCCGCGTTCTGCATCTGGCGCGCCGCATTATTACGCCGCTGGTTTCTGGCGTTGTGGTGATGATTATCG
+GCCTGTCGCTAATTCAGGTTGGGCTGACCTCCATTGGCGGCGGTTACGCAGCCATGAGCGATAACACCTT
+CGGCGCACCGAAAAATCTGCTGCTGGCAGGCGTGGTCTTAGCCTTAATTATCCTGCTTAACCGTCAACGT
+AACCCTTACTTACGCGTGGCCTCACTGGTCATTGCGATGGCGGCCGGATATGCGCTGGCGTGGTTTATGG
+GCATGTTGCCAGAAAGCAACGAACCGATGACGCAAGAACTGATTATGGTGCCAACGCCGCTCTATTACGG
+TCTTGGCATTGAATGGAGTCTGCTGCTGCCGCTGATGCTGGTCTTTATGATCACTTCGCTGGAAACCATT
+GGCGATATCACGGCGACCTCTGACGTTTCCGAACAGCCGGTTTCCGGTCCGCTGTACATGAAACGTCTGA
+AAGGCGGCGTGCTGGCAAACGGCCTGAACTCGTTTGTCTCGGCGGTATTTAATACCTTCCCGAACTCCTG
+CTTCGGGCAGAACAACGGGGTGATCCAGTTAACCGGTGTTGCCAGCCGCTATGTCGGTTTTGTCGTCGCG
+CTGATGTTGATCGTGCTGGGTCTGTTCCCGGCAGTGAGCGGTTTTGTACAACACATTCCAGAACCGGTTC
+TGGGCGGCGCAACGCTTGTAATGTTTGGCACCATCGCCGCCTCCGGTGTGCGTATCGTTTCTCGTGAGCC
+GCTGAACCGCCGGGCGATTCTGATTATCGCGCTGTCGCTGGCGGTCGGTCTGGGCGTGTCTCAGCAGCCG
+CTGATTTTGCAGTTTGCCCCTGAATGGCTGAAAAACCTGCTCTCCTCCGGGATTGCCGCGGGCGGTATTA
+CTGCCATCGTGCTGAATCTGATTTTCCCACCAGAAAAACAGTAATTCACTGGCGGCGGTAAGATAATTAC
+CGCCGCAGTCTCACCTCTTTCACCATTCCCGCCTTGAGGATTGCGCGTAAATCGTGCATAACTCCCTTAT
+GTGCATTTCACGGGATGGAAGACCATGAAATTTATTGGGAAGCTGCTTCTCTACATTTTCATCGCTCTGT
+TAGTGTTGATCGCTGGCCTCTATTTTCTTCTGCAAACCCGCTGGGGAGCAGAACATATCAGCGCATGGGT
+TTCCGAGAATAGCGACTATCATCTGGCCTTCGGGGCGATGGATCACCGTTTTTCCGCGCCATCTCATATC
+GTGCTGGAGAACGTCACGTTTGGCCGTGATGGCCAGCCCGCGACCCTGGTAGCAAAAAGTGTCGACATTG
+CGCTAAGCAGTCGGCAACTGACCGAACCACGCCATGTCGATACCATCCTGCTGGAAAACGGGACGCTGAA
+TCTCACCGACCAGACCGCGCCGCTACCGTTCAAAGCCGATCGTCTGCAACTGCGTGATATGGCGTTTAAT
+AGCCCGAATAGCGAATGGAAACTGAGCGCGCAGCGGGTAAATGGCGGCGTGGTTCCGTGGTCACCAGAAG
+CCGGTAAAGTGCTGGGTACGAAGGCGCAGATTCAGTTTAGTGCCGGATCGCTTTCGCTCAATGATGTTCC
+TGCAACCAATGTACTGATTGAAGGCAGTATTGATAACGATCGCGTTACGCTGACTAACCTGGGTGCCGAC
+ATCGCCCGCGGGACATTAACCGGAAACGCGCAGCGTAACGCTGACGGCAGCTGGCAAGTGGAAAACCTGC
+GCATGGCGGATATCCGTCTACAAAGCGAAAAATCGCTAACCGACTTCTTTGCACCATTACGCTCTGTCCC
+GTCGTTGCAGATTGGTCGCCTGGAAGTCATCGATGCTCGTTTGCAAGGTCCGGACTGGGCGGTGACCGAC
+CTCGATCTCAGCTTGCGCAACATGACCTTCAGTAAAGATGACTGGCAGACACAGGAAGGCAAACTGTCGA
+TGAACGCCAGCGAGTTTATTTATGGCTCGCTGCATTTATTTGATCCGATTATAAACGCAGAATTTTCCCC
+GCAGAGCGTAGCACTGCGCCAGTTCACCAGCCGCTGGGAAGGGGGTATGGTCAGAACGTCAGGAAACTGG
+CAACGCGACGGGAAAACGCTGATCCTCGATGATGCGGCAATTGCCGGACTGGAATATACCTTGCCAAAAA
+ACTGGCAACAGTTGTGGATGGAAACGACACCCGGTTGGTTAAACAGCCTGCAACTGAAGAGATTTAGCGC
+CAGCCGCAATCTGATCATTGATATCGACCCTGACTTCCCGTGGCAGCTCACCGCGCTCGATGGTTACGGT
+GCCAATCTGACGCTGGTTACCGATCATAAATGGGGCGTCTGGAGTGGCTCGGCGAATCTGAATGCCGCCG
+CCGCAACGTTTAATCGTGTTGATGTCCGTCGTCCGTCGCTGGCGCTAACTGCCAACAGCAGCACGGTGAA
+TATCAGCGAACTGAGTGCATTTACTGAAAAAGGCATTCTGGAAGCCACCGCCAGTGTTTCACAAACGCCA
+CAACGTCAGACCCATATCAGCCTGAATGGACGCGGTGTGCCGGTGAATATTTTGCAACATTGGGGATGGC
+CTGAATTACCGTTGACTGGCGACGGCAATATTCAGCTTACCGCCAGTGGCGATATTCAGGTCAATGTCCC
+GCTGAAACCTACGGTTAGCGGGCAATTGCATGCCGTGAATGCCGCAAAGCAGCAAGTGACTCAAACCATG
+AATGCGGGCGTAGTTTCCAGTGGTGAAGTTACGTCGACGGAGCCGGTGCAGTAAAAATAAGGACGCTAGC
+GGATATCAGCGCTAGCGTTCCCCGTTATTAGCGCAAAATTCCATACTCACTGCACAATAACCATTTCACC
+GGTTCATCTTCTTCTATCGCCGGAAAACGTCCTCCCGGCTCAAGAAAATAATTATCGTGTTGGTCATCAT
+TTACCATCGAGATTTCCCAGCCGAGAACAAACGCTTTTTCCGCCCAGAAGCGATGATACAGACGCGGTGG
+CAGGCAAATGCCCTGCCCCGGCTTTAGCACCAGCGTTTCACCAGGTTTCATGGTACGCCGCTGACCATCA
+ACACTCACGGTAATGACTCGTTGATCATCACAGAGATTGGCTTCGTTGGCCCAGGCCAACTGCATGCATA
+AGTCTCCACCGCCCCGATTGAGGATATCTTCCATTTTGTGGGTGTGAAAATGCCAGGGAGTCTGCTGATC
+TTGTTGGATCTGCAACATTTTCTCAGCATACGGTTTTGGATATGCCGCCGACCCCAGCGCGCCGTTGCGC
+ATCGTTAGCAGTGTTAGTCCCGTTTGGTTGAAATCACCACGACCAAAATCGGTGATATCCCAACCGAGCT
+GTAAGTCGACCACTTCTTGCCAGTTATCCCGTTCCCGCTGCAGCCAGTCATCCACCGTAAAATAGGCGAA
+CTCTGGCAAACAAACGCGGAAGGTCTGCGCAATGGCATGTGCTTTATCAATAACATAATTAATTTGTGAA
+CGTTTCATTGGCTTCTCCGTTGCGCATAGCAAGCCAGGCAGCGCCACGCATTCCGCTACTGTCGCCGTGC
+TGTGCTTTTACAATGGGAGTGGTGAATTGATCGGTGAAAACCAGTGGAGCGACTTCTGCGTTCAGATCGG
+TGATAAGCAGTTCCACATTCGAAAGCCCGCCGCCGATCACAATCACGCCAGGGTCAACAACATTAACGAT
+GGTTGCCAGCGTGCGGGCAAGCTGTTGGCGAAAACGTGCCACCTGCTGCATGGCACAAGCATCACCACGT
+TGTGCCAGGGTGACAATCGCCGCAGAAGTGAGCAAGTTACCAGTCATCTGTTGATAGCGTTCACTAAAAC
+CGCTGCCGGAAACAAACGACTCCACGCAGTTGTGTTTGCCGCAATAGCAACTGACTGATGGACCATCTTC
+CTGCTCCGTATAGCCTGGCAACGTGATATGACCGCATTCGGCAGCATTTCCCCAGGCCCCTATAAACGGT
+CGTTGCTTGATGGCAATGCCACCGCCGCAGCCCGTACCAAGCGTAATACCAAATACCACGTCATAATCTT
+GCCCGGCACCGTCGCAAGCTTCTGATAGCGCGAAACAGTTACCATCATTGGCTATAACCACCCGTTGCCC
+AAGCAATTGCTGCAAATCAGCCTGTAACGCATGACCGTTAATCACCTGAATATTCGCGTTTTTAATCAGG
+CCAGTGAGTGGCGAGATACTGCCGGGTAAGGCGATCCCTGTCAGCATCGGTCGTTGAACGTCCCGCCTAA
+TCTGCTCGATAAGCGCCACAACGCATGAGACAAATTGTTGATATGTTGACTTTTGCGTCGGGCAGCGGTA
+ACGGCGAATCTCCCAGCCATGCGCATCCATGACAACGGCGGCGATTTTGGTCCCACCAATATCCAACCCC
+AGATAGTGCATATCTCGTTCCTTGTTGCGTAAAAGGCGGGTCACCCCGCCCTTCTGGCTTAGTACAGTGA
+TGCTTTACCGAACGAACCGAACAGTTTCATTTTGTGGCGAATGACTTCCCGCGCCGCGTTAATCGCATCC
+GGATAGATGACGTTCGGGTCCCACCAGCTCTCTTTAGCGAGAATTTCACGCACTTTCTGGAAATAGGCGT
+ATTTCATATCGCTGGAGATATTGATTTTGCCGACGCCGAGCGTAACTGATTCAGCAATCTCCGCGTCCGG
+GTTTGCCGAACCACCGTGTAGCACCAGCGGAATATCAATACGTCCGGCAATGTCGCGCAAAATGTTCATT
+TGCAGCTTCGGCTGCATCCCTTTTGGATAGATGCCATGCGCTGTACCAATCGCCACAGCCAGTGTGTCGG
+CACCTGTACGAGCAATAAAATCGGCGGCCTGCGCCGGATCTGTGTAGGTCACTTGTGAAACACCACCTTC
+TACCGACGTTCCTGTTTGTCCGATGGTTCCCAGTTCACCCTCAACCGACACGCCAACCGCGTGAGCGAGG
+CGAACCACTTCTGCGGTCAGCGCCACGTTTTCTTCATACGGCAGCAGCGAACCGTCGATCATTACTGAGG
+TAAATCCGCAGCGAATCGCACGCAAAACATGCTCTACAGAGGCACCATGATCGAGGTGCAGTACAAACGG
+GACCGGACTACGCTGGGTAATTTCGCGAACGTGAGCGAAAAAGGCATCGCCCACAAAATCATGTTCGCTG
+GGATGGATGGCAATAATCGCCGGAGTATTTGTCGCTTCTGCTTCATCCACGACTGCGCGAAGGAAACAGT
+TATCCGCCACATTAAATGCGCCAATGGCAAAGCCGTGCTGGCGGGTAGGTTGCAGTAATTCTTTCATCGA
+AACTAACATGTTAAATCTCCAGTTTCAGCGTGTAGTCCGCCCTGCCGGTGCGTTATTGCACTGGCATAAA
+GGCCATGACAGAAAATGAATCAGGCTTTGCCGATAGCGCCGCTCGCCTGTAAATACGGTGTAATCGCTTC
+TTCGAAGGCCAGTTCCATAGCTTTCAGCGCGTCCACCAGTTCAATGGATATATCGTGACAGAGGGTATGC
+AGGAGCGCGGATTTCCCCCGTTCAAAAATGGCCGCCCCCACGTTGATTTTTGCTACCCCCAGCGTCGTAC
+AGAGCTGGAGCTGATCGAACGGCGTACCGCTACCGCCATGTAATGCCAGAGGCACGCTCGAGCAGTGGAA
+AATCTCCGCCAGACGCTGAAAATCAATAGCAGGTACAACACCAGGCGCGTACATGCCGTGCGCCGTGCCT
+ACCGAGACGGCCAGTAGATCAATGCCTGTCTGCGCGATAAACGGTTCCACATCAGTGGGTTGCGTCATCA
+GGTCTGCATTGGCGGCCTGGTCGTAACGCGGCGCATCTGCCAGATGGCCCAGTTCGCCTTCCACGCAGAG
+CTGCGCGCTGGCGGCGAGTTCCACCACCGCCCTGGTCTGGCGCACGTTTTCCTCCAGGGGAAAAGCAGAA
+GCATCAATCATTAATCCGCTGAAACCAGCACGAAACGCCTGACGAATACAGTCCGGATTTTTGCCATGAT
+CAAGCACCAGAGTGACCGGTACTGAGGCAGATTCCGCGAGCGTTTTAACCACTGCCGCCGCGACGGGTGC
+AGGAAAATGCGCCAGATGCCCCTGATAGAGATTGAGAATGATCGGAGCGCGATTCTTCTCCGCCACGCGG
+ATAGCTGCGTGAGCACTTTCCAGATTCATACAGTTGATCGCCAGCAAGGCGTAATGTTCATGCCAGGCTT
+TCATCACCATACTTTTCATATCGGCAAACATAGGGCCTCCGGTTATTCGAGGGTGAAAGTGATCTCTTCA
+TCTTTCAGCTTTTGATCGCTCAGTTCGTCAAACTCTTCGTCGCGTTCCGTTACCGGTTTCTTCCAGAGTG
+AAAGCATCACGCCACAAATCACCGTGCCTATACCCAGCGCCAGGCAAAACAGCAGAGGATGGGTGAACAG
+AGGCACAACAAACATGCCGCCATGCGGAACCGGACTCTCCACGCCCCACACCATGATTAAGCCGCCCGCG
+ACCGCCGATGCCACCACACAAGATCCCACTACTCGCAGCAGGTCACGCGCGGCGATCGGAATGACTCCTT
+CAGTGATCATGCAGATCCCCATCGGAAACGCGGCTTTCAGCGCCTCGCGCTCCGCACGGGTGTATTTATG
+GCGTGTCAGTAAGAACGAAAGTGTGATGCCAAACGGAGGGATGATTGAGCCGACAAATTTCACGGCTTCT
+GGTCCGTAGACGCCACTGACCAGCAAGCCATCGGAAAACAGCGACATGGTTTTGTTGACCGGACCACCGA
+AATCGAAGGTTGCCATCGCGCCAAGTATGGCCCCCATCAGGAAGCGCGATCCGCCCTGCATCGACTCGAG
+CAAATGAATCAGTGCTTCTTGTAACCAGGCGATGGGTTTACCAATCAGCGTCATCATTAACAGCCCACCG
+ATAATGGTGCTTAATACCGGCAACACCATGATTGGCATGAGTCCTTGCATCGACTGCGGCAGGCGGATAT
+AGCGTTTAAGTAGCAAAATGGTGTAGCCCACCAGGAAACCACCCAACATACCGCCAATAAATCCGGTATG
+GATTTGCCCGCAGAGAAAGCCGACAATCAGGCCTGGGGCAAATCCGGGACGATCGGCAATAGAATAGGCA
+ATTGCCGCGCTAATCAGCGGCACAATCAGCCCCATTCCCCAGCCGCCAATCTGATTAAGCATCCACGGGA
+TTGTTCCTGTTTTTTCACCAACATCTGTACCGCCAAGAACTTGCCCCAACGCAATACATATCCCGGCGGC
+CACAATAAGGGGTATCATCCACGAGATGCCGGTTAATAAATGTTTTTTAATTTCCTGTGAAACCGGAATT
+TTATTTTCTTTCATATTAAGATCCCTCCAGTATAAGGATCATTTGTTTCCCAGTGATTTTTCGACCTTTT
+CAAGAAATTGAACGGGCGATTTAATGACGATCTCTGTCTTTACTCGCACAATACGTTTATTGGTGAAGCG
+TTCTTCTCCTTTTATTTTCACATCTACAGCAAGAATCACGACGTCAGCAGCAGAGATATCTGCCGCCTGT
+AATTCATTTTCTGTACCAATGGTTCCCTGGGTTTCAACTTTAATGGTATGGCCCAGAGCTTTTGCTCCTT
+TGATTAACTTTTCACGAGCAATATAGGTATGAGCAATACCCGCCGTACAGGCGGCAACACAGACAATATT
+CATGACATACTTCCTGTTATTTAGCAGACATCGGATTGTGCATACTGACTAAAGAGATCAATGATTTTTT
+GCGGACTCGTCTCAACTAACAATTGTTCTATGATGTCATCATCCGCCAGCGCGCCCGCGACCTGGGAAAG
+TAAACGGATATGGGTGGTATTTTGATCTTCAAGACGTACCGCAAATAAAATAATACAGCGCACGCTACTG
+CCATCCAGCGTTTCCCAGGGAATATCCTGGCGGGTACGGCCAATTGCCAGCGTAGTATTAATTACCGCAG
+AAGATTTACCATGCGGGATCGCAATATGATTTTCAAAACCAGTCGAGCCTTCCGCTTCGCGCTGCCAGAC
+ATCTTTAATAAAGGTTTCCCGACAATCGATCGCACCATCTTTTTTGAGAAGATTAGTTAATTCTTCAATC
+GCCTCCGCTTTATTCGTTGCTTGCATATCTAAAATAACGCGATTCGTATTCAGGATTTTTGTTATGTCCA
+TTCGTCATACCTCATAAAATTCTGACATTAAATTTCAACGACCCGAGACGTCGCATGATGTAATTTTTCC
+GTAATCACCATTTCAGTGACCCGCTTAATATCGGCATCATTAAAAAAAGCGGTAACATAAGCGACCGGCA
+TAGTGACTGTAGGCAAATTAATGGTCGAAATAATCAGTTCGATATTGTCAGGCAAAACCTGTGATAAATT
+CGCTGCTGAAATAACATCAACAATCGTCCATTCAGGAAATGCTCGCAGAATACGGCTTTTCAGTAGATGC
+GAAGTTCCGATTCCGGTTGAACAGACCAGTAATACACGTTTACGGGCAATTTGCCGCTCCATCGCAGCCT
+GAAAATGAACGGTCAGGTAACCCACTTCATCCTCGCTCACTGCATTCTCACCCCAGGTTTTAAATACCTG
+ATTCACCACATATTGCGTCAACCGCCAGACATCCGCTAATTCTGCTTTAATATCTTCCAGCAATGGATTA
+CGGATATGAATGCGATAATTTAGACGGTTAATCAGCGGCTTAATATGCACCAATAAGCCATCATATAATG
+CGCTGTCTTCACTAAAATCGCAGTCCACGATGTCACTGAATACCGTAATTAAACGCCAGGTAATCAGACG
+CGCTTCATTGCTGGCCTGCATATGTGAAATAATGCTAACATCTTTTTGTCCATCAATCGCCACACCTGAT
+GAAATGATATATTGATAAATAAACCAGACTTCATCATCGGGCAATGTATGTGCAATTCGTTGTTCTATCT
+TATGAATCATCTGACTGGCAACATTAAAGATATTTTCATCATATTGTCTGGTTTGATCTTCTTCTCTTGA
+TAACGCATTCCCGTGCGTGTTGCGATACATCATAATAAGGATGTGAGTAAAAATGTTAACGTAATAAGGT
+TCTCCCAAAGACCAACTTAATTCATTTTCCATATCCAGTAACAATGACTGGACAAATAACACCTCTTCTT
+CTCCAAAATAATGGACTAATGCTTTATAGCTTCCGGGATCCAGACGTGAATACACGACACCTTGCGGCTC
+ATTATGGTTAATAATGCCGTTAATCAGTAATGCCATTGCCTGTCGGACTTGCCCTTCACTACCTTCAATA
+TGCGTACCACTTGGACTGCGGATCAACGATAACCCCAACGGCGCAAGCCAGGACTCAATTACTCTCAGGT
+CATTAACAATAGAGGCTCCGCTGATAAAGTAGCGTTCTGACAATTTACTGATCGACGTTTCATTCGGTGT
+TTCACTTAATAACTGCGACGCTATTTTAACGCGCCTGGCATTATTCATTACACCATCAATCTCTTCACAT
+TCTGCCACCAACAAATGATCAAGATGCAGCAAATCAGCAATATTCTCCGCGCTTAACATCACACCCGCGC
+CAGCACGCTTCTCAACATTTATTCTCCATTGTCCCAGCCATTGCTCAAGTAAACGTAAATCACGTTGAAT
+AGTTTTTTCCGAAACATTTAAATAGCCGGCAATCGTAACAATAGTCGTATATTCCCTTCGAGGTAAAAGG
+AATCGTAATAATCTGTTTTGTCGCGAGGTAATCATTTGCATTTTTTACCCTTATCACAGATTAAGAAGCC
+CCATATGGAAGAGCTTCAGTTGCCATCTCTGAGGGTAAATATAAAGCAGAATAATTTCACAACAATACTA
+AAATCTGTCCGTAATCCGGACAGTGATAAAACAAAGCAAGGCGGTTAAGGGATATTTTTCAGCACAGATC
+ACATTTTCGTGATGAATAATCGTGATCATGCTCGCAAATACGATGGAAGAAATATTTATTACCAGATGTG
+AGATTATTTACCGGATACGACACAAAACCATTCGTATCCGGCATTCTTCAATAGATTACAACGTAATTGT
+CAGCGCATTCCCTTGAGGAGTCACCACCAGTCCCTGCTCACTTTCAGCCTGCGAACCGCCTTGCAGACCA
+TTTACTTTCACAATATTGCGCAAGCACAGTGTCCAGTTCTTCGCCTCGCCCGTACCAGTCACAGTAATCG
+TGTTGCCAGTACGTGCTGCTTTTAAAGTAAAGATCACCGAACCGTCAGCATCGGGCACTTCACAGACGGC
+TTCATGCCCGTCTTGCAGATTAAAGAGGTGGAATGCCGTACCTTCGTGCCACGCGTAATCGGGACGTTGA
+TCGTTGTTGCCCAGCGCCAGTAGGGTGTTATCACGCACATAAACAGGCAGACTCAGGAAGCCGTGCTGCT
+GTTTATGCCAGCGACTACCATCGAGTTCATCGTTGTGCCACAGATGTGTCCAGCGACCTTCCGGCAAGTA
+GAACTGCACATCGCCCGCTTCAGTGAACACAGGCGCAACCATCACGTTGTCGCCTAACATGTATTGACGG
+TCAAGGTAATCACAAGCCGGATCGTCCGGGAACTCCATCATCATGGCCCGCATCATCGGCGTACCCCGCG
+CATTTGCACGTGCAGCTTCACGATACAGATACGGCATCATGCGGCATTTCAGTTGCGTGAAGAAGCGCAC
+CACATCACAGGACTCATCATCGTAGGCCCACGGCACACGATAAGATTTGCTGCCATGTAAACGGCTATGG
+CTGGAAAGCAAACCAAACGCGCACCAGCGTTTGTAAACGTGCGCCGGAGCGGTATTTTCAAAGCCGCCGA
+TATCGTGGCTCCAGAAGCCAAAACCTGAAAGGCCAATAGACAAACCACCGCGCAGGCTTTCCGCCATTGA
+TTCGTAGTTAGCGTAACAGTCGCCACCCCAGTGTACCGGAAATTTCTGCGCACCAACGGAGGCCGAGCGG
+GCAAACAAGACGGCTTCTTCCTCACCAACGGTGTCCTTGAGCACGTTCCACACCAGTTCGTTGTAGATGT
+ACGCATAATGGTTATGCATTTTCTGCGGATCGGAACCATCAAACCACTGAACATCGGTTGGAATACGTTC
+GCCAAAGTCGGTCTTAAAGCAATCAACGCCCATCGCGACCAGACCTTTCAGTTTGTCGGCGTACCATTTG
+CAGGCATCCGGATTGGTAAAGTCATAAATCGCCAGACCTGGCTGCCATTTATCCCACTGCCACAGCGAAC
+CGTCCGGGCGTTTGAGTAAATAACCTTTCTCTTGTAACTCTTTAAAGACGGGGGATTTTTGCCCAATATA
+GGGGTTAATCCAGACGCAGATTTTCAGCCCTTTCGCTTTCAGACGGCGGATCATCCCTTCCGGGTCCGGA
+AAAGTCAGCGGGTCCCACTCAAAATCGCACCACTGGAAGGCTTTCATCCAGAAACAGTCAAAGTGGAAAA
+CATGCAGCGGCAGATTGCGTTCCGCCATACCATCGATAAAGCTGTTTACCGTCGCTTCGTCGTAGTTGGT
+GGTAAATGAAGTGGTTAGCCACAGACCGAAGGACCACGCGGGCGGCAGCGCCGGACGGCCAGTAAAACGG
+GTATAACGATCAAGTACCGCTTTCGGCGTCGGGCCGTCGATAACAAAGTATTCGAGATATTCACTCTCAA
+CGCTGAACTGTACTTTGGAGACTTTCTCCGATCCCACTTCAAAAGAGACGCATTGAGGATGATTGACCAG
+TACCCCATAACCACGGTTAGTCATATAAAACGGGATATTTTTATACGCCTGTTCAGTACTTGTGCCGCCG
+TCCCGGTTCCAGGTTTCTACCGTCTGACCATTGCGCACCAGGGCAGTAAAGCGCTCTCCCAGGCCGTAAA
+CTGTTTCGCCAACGCCAAGATCCAGCCGCTCAAACATATAATTTCGTTGATTATTCGTGTCCTGCACGTA
+GCCGTTATTTTTCACCTGACTACCGGTAATACGTTCGCCGTTGCGCAGAAAATCCAGTGACCAGAACTCA
+CCTTTGCTGACACGCGCACTTAAGTTGCCACTTTTAAACTCAGCGTAACGTTCTGTGTTTTCGATAGTGA
+CCTTCACGTCCTGCAAAATATTGAGCGGGTAATGAGGACCGTTATTCAGCGCCCCCTGAAAATGCTCAAT
+CCGTACACCGACAATACCTTCCTGTGGGGAGAAAAAGCGCAGCGTAAATAAAGGCGTATCAAGCTGCCAG
+GTACGTTCACGCACATCACGAGGGGCAGCATAGACCACCATTTCATTACCCTGCTGTTCAACCTCGAACA
+TCTGAAGCGGGTGAATCAAATTGAGGCCAGGTTGAATCAACCAGTTTCCGTCGCTAATTTTCATTGCCGT
+TCCTTAGTTCTGCACTTCTTGAGAGGTGAATTGTTGCTGGCAACGGCGTTTGCCCTGCGCCAGCTGTTCC
+ATAACGGTTTTCAGATTGTGCGTCGTGAGCGAGTAGTAGCGTTTAGCGATAATCGCGCTCAGCAAGTAAC
+AGATCGCCGGAACAATCGTGAATAGCGCGATAATGATGCTAATTGTGACGCTGTTCTGCGCTTTTTCTGC
+CGCATCATATCCGCCATAAGCCAGCATCCAGCCGATAAGGGCACCACCGAAGGCCAACCCCAGTTTGAGC
+ACAAACAGCGTGCCAGCAAAACTGATCCCGGTCAGGCGTTTACCATTACACCACTCGCCGTAGTCGACGG
+TATCGGACATCATTACCCACTGGATAGGTGTCACCAGTTGATGCAACACACCAATCACGAAGATGAAGAC
+AAACATGGTGATGCTGGCCTGCATAGGAACAAAGAACATCGCGAGGCTAATCACTGCCAGCAGGGCGTTC
+GTCCACCAGAAGATAGTGACTTTACATTTCCAGTCGGTCAGCGGTTTTGCCAGTGCGGAGCCAATCAGGT
+TACCCACGCAATAAGTGGTGAGAAAAGCGACAAACACTTCCGGCGTACCCAAAATCCATGTGACGTAATA
+CATCATCGCCCCACCGCGTACGCACACCGCCAGGATATTGAAAATTGTCAGGAAACCGACAATACGCCAC
+TGGTCGTTTTGCCAGATATCACGTAAATCATCCCGCATAGACGTCGTTGTAGGTGGTGCTTCAACGCGTT
+CTTTAGTGGTGAAGAAACAGAATGCCAGCATCATAAATGCCACCACGGAAAGGACCGCGATACCGCCCTG
+GAAACCGAGTGGTTTATTATCACCACCAATTAAATTAACCAGTGGCATCATCAGAACAGTAGAGAGCATG
+CCTCCCGCGGTCGCCAGCACAAAACGCCAGGATTGCAGCGAGATACGCTGAGTCGGGTCATTGGTGATTA
+CACCACCCAATGCGCAGTAAGGGATATTGACGATGGTATAAAGTAAGGTAAGTAGGGTGTAAGTAATTGC
+TGCATAAATCATTTTTCCGTTCATACTGAGATCTGGCGTGCTATAGGCCAATACACAGACGATCCCGAAT
+GGCAGTGCGCCAAACAGTACCCACGGCCGAAATTTACCCCAGCGAGAGCGCGTTCGATCGGCCAACAACC
+CCATGCAAGGATCGGAAATCGCATCCAGTGCACGCGCGACCAAAAACATGGTTCCGACAAATCCGGCAGG
+AATGCCAAAAATATCGGTATAAAAGAACATCATATATAACATTACGTTATCGAAAATAATGTGGCTGGCG
+GCGTCTCCCATGCCATAGCCAATTTTCTCTTTAACGGACAACACTTCACTCTTCATCTGCTTTTCCTTGA
+TGCTATAGGGGTGCTGAGACCGATAACGCATTTTGTAAACCATCCCTGCGAGAGCGAATATTCCGATATC
+TGGTTATTAATTTATGATTCTTGTTTTATGTGATCGTGGTAGCGTTAATTTCGCTCATATATCATTGTAA
+AATATGAGTTTTATATGAACTATAATGCTTTCGTGATAATACGCTGCGTGTATTAGGCGGAAAAAACTGA
+TCTGGGGGATGTAGAAACTCAAGGAAGTAGCTATAATGCGCCCCGCCTCCATGTAGCAATCGAGGCGCGG
+AAGATCGTCGTCTCCGGTGAGGCGGCTGGACTTCAAATCCAGTTGGGGCCGCCAGCGGTCCCGGGCAGGT
+TCGACTCCTGTGATCTTCCGCCAACTAACCTCTCCTGAACTCTCCCAATGTCAATGATCATCTTCTAATC
+TTTTGTAGATTAGCGTTTCTTTGTATCCAGAAGTCAACCTACTTCACCCCGTATCAAGCTTCTTTTGGGG
+GTACGTTAGGGGGTATTATTTCCAGTTGAAATAACAGCACCCCCATGATAGGAAAAATGTGAGACATAAC
+AACTGTTTTTAACAACATCTTTGTTATACAAGGGGTGTATTGGGGTATCAGGTTAGTTACTGGTAAAAGT
+CCACATGAATTCATTAAAAGCCGGAGGATGTCATGGCATTAACCGATATCAAAGTGAAAACCGTAAAACC
+AAAAGACAAGCCCTATAAGCTTGCTGATGGCAGCGGTATGTATCTACTGATTAACACTAATGGTTCTAAA
+TACTGGCGCATGAAGTACCGCTTTGCTGGTAAAGAAAAGATGCTTTCTCTTGGCGTATACCCCGATGTGA
+CGTTAGCCGACGCTCGCCAAAAACGCAGTGAAGCAAGGAAAATCCTCGCTGCTGGAGGCGATCCTGGGGA
+GGTCAAAAAAGAAGAAAAAATCGCGCTGCAAATGAGTTTGAAAAACACGTTCGAGGCTATTGCTCGCGAA
+TGGCACCGCTCAAAAGCCGATCGGTGGTCATTACGCTATCGTGATGAAATCATTGATACCTTCGAAAAAG
+ACATTTTTCCCTACCTTGGTAAGCGCCCTATTGCCGAAATAAAACCAATGGAGTTACTGGAAGCACTGCG
+TAAAATGGAAAAGCGTGGAGCTCTGGAGAAAATGCGCAAGGTCCGCCAGCGCTGTGGTGAGGTGTTCCGC
+TATGCAATTGTTACTGGTCGGGCAGACTATAACCCTGCCCCCGATCTTGCCAGTGCTTTAGCTACACCGA
+AAAAAGTACATTTTCCCTTTCTTACGGCTAATGAACTTCCCCACTTCCTCAACGATCTGGCGGGCTATAC
+CGGAAGTATCATCACTAAGACAGCTACTCAGATCATTATGTTAACTGGTGTACGCACACAAGAATTGCGT
+TTCGCACACTGGGAGGATATCAATCTTGAGAAAAAATTGTGGGAGATCCCGGCAGAAGTAATGAAGATGA
+AGCGACCTCACATTGTGCCGCTCTCTGAGCAGGTCATTACGCTATTTAAGCAACTTGAACCAATCTCAAA
+ACATTATCCTCTGGTCTTTATCGGTAGGAATGATCCCCGCAAGCCAATTAGTAAGGAAAGCATTAACCAA
+GTTATTGAATTAATAGGATATAAAGGAAGACTCACAGGGCACGGTTTCAGACACACTATGAGTACAATTC
+TGCATGAGCAGGGCTTTAATTCCGCCTGGATTGAAACGCAGTTAGCTCATGTGGATAAAAACTCCATCAG
+GGGTACCTATAATCATGCCCAGTACCTCGATGGTCGCCGTGAGATGATGCAATGGTACGCTGACTACATT
+GATTCACTCGCTTCGCAGACCTGATGCATGAAAGTTCAGTGACACTGAATAATGAATAACCACCCTGCCT
+CAACCGCCAGATGGTTTTATTTATTTGTGCACACCGCCTGAAGTCTCATCATGGCACAATGATGTGGACA
+TCACATCTTGTGGCATTCAGCAAGTCGGCAGTAACCATACCGACAGAACTTCGGACATAGGCTGGTGAAA
+ATGGTCTGATATGTACAGGAGCACATGCTCCACGTAAACCAATCAGTTAAAACACCATCTGAAGGTGATA
+GGGTATAACACTAAGATAGTTGTTTGCGGGCATAGCTTCAAGACTATAGCATGTAGATCCTTGAGTGAAA
+CAGGGCTATGGCCCTGGGATGCTGTAGAGCGTCTGATTAGCCATATTGAGAATAACGTTGTACGAGCGGC
+TTACATTCATAAGGCTGAATATTTAGATGAGTGAAAATTAATGCTGCATTGGCTGGCAGATTTCTTGGAT
+GCCAATAGATTCAAGGCAACAAATCCTTATGATTTCCATAGCATTAAGAATTTTTGAAATTTCATTAGTC
+TAGATCCTAAAGAGTGGTTTTAGTTTAGATGATTTTATGGTATTCTAATAAGTTAAATCTTTGGAGTTGG
+GAGTGTGATGAAAGTCGTTTCATTATTTTCAGGAGCTGGCGGTCTTGACCTTGGTTTTAAAAACGCCGGA
+TTTCAAATCGTTTGGGCAAATGATATTGACTCTGACGCAGTGCTAACATACAAGAAAAATATTGGTGATC
+ATATCGTCTTAAAAGATTTATCTCAAATTGATATGGATGATATACCGGATTGTGATGTGGTTATTGGTGG
+ATTTCCTTGCCAAGGTTTTTCTCAGGCAAACCTCTTAAGGAATAAAGACGATGAAAGAAATCAATTATAC
+TTAGAGTTTCTCAGAGTTGTGAATGCGAAAAAGCCAAAATTCTTTTTTGCTGAAAATGTAAGGGGGATTT
+TAAGCCTAGATAATGGTACGGCTATTGAAAAAATAGAAAGTGATTTCAAGTCACTAGGATACAAAGTCAA
+AAAGCAGTTATTTAATGTCGCCGACTATGGCGTTCCTCAAATGCGATACCGAGTCATCATTGTCGGTGTA
+AGAGATGATATAAAAGTGGAATATATTTATCCACAACCAACGCACTCTTCACCGAAGAAAAGTGATAAGA
+CAGGCCTGGCACCATGGATCAGCATTGGCGATGCCCTCCATGATATCCCAGAACCAGATTCTGAGAATGA
+CTTATTAAATCATGTGTATTCAACTTATAAAATAACTAATAGAAATTTCACGGGACACAGAGAAACTGAC
+CCAAATAAGCCATCACCTACAATTCTTGCAAGAGGAAATGGTAAGGGTGGCGTTTGCGCGATTCAACATC
+CCAAAAATCATCGGAGGATGTCTGTTAGAGAATCAGCAATTATACAAACTTTTCCTTTGGATTATGAGTT
+TATAGGAAGTATGACATCTTGTTATCGGCAGGTTGGTAATGCTGTCCCTGTTTTATTTGCTGAGTTATTA
+GCTAAGAGTTTAAAAAATACACTTGCAGGTGATGATAAATGAAAGTTGTTTCATTGTTCTCTGGCGCTGG
+CGGATTGGACCTCGGGTTAAAACAATCTGGACTTGATATCATTTGGGCAAATGATATCTATGAAGATGCG
+GTAGATACCTATAAGAGAAATATAGGCGAACATATTGTTTTAGGTGATATTGCCAATATCAATTCATCTG
+ATATACCTAATTGTGATGTCGTGGTTGGGGGGTTTCCATGCCAGGGATTCTCAGTAGCAAATATGAACAG
+AAAATCAGAAGACCCTCGAAACAAATTATATTTAGAAATGGTCCGCATTATTCGGGATAAACGACCAGCA
+TATTTTATAGCTGAAAATGTCAAAGGTATATTATCCTTGGATAAAGGCCTTGTCATACAAAAAATAACAA
+GTGATTTTGAATCGTTGGGATATAATGTTAAATACAGCCTTTTAAATTGTGCTGATTATGGTGTTCCACA
+AACCCGAATGAGAGTCATTATCTTAGGTGTAAGGAAAGATTTGCCTGATATCGAAAACTTTCCACCACCT
+AAAACTCATGAAAAAGAAGGGATAAATTTGCCTAAATGGATTTCTGTAGGCCAAGCTTTACAACGGTTTA
+CTGAACCAAGAGTTGATAGTCAGTTCAAAAACCATGAGCATTCATTGTACAAGCTTACGTTTAACGGGCA
+TCTGGGTCACAGGTTTATGGACCCGGATAAACCGGCGCCTACAGTAACAGGTCGTGGAGATGAGAAAGGT
+GGTGTAGTTGTATTGCACCATCCCAGCAATGAGAGAAGAATGACTGTCAGAGAAATTGCGGCAGTTCAGT
+CTTTCCCTGATGACTTCTTTTTCTGCGGTAGTAAGACGTCTGGATATCGACAAATAGCCAATGCTGTTCC
+ACCCAAACTAGGTATAGCCTTAGGTAAAATGTTAATTGAGCATCATAAAACGATAGAATAGCAATTGCCC
+TTTCCCTTCCTTGTCTGATAGTCTCAGCAGTAGGCTAGTCAAGGAGGGGAATTTATGTATTCATTTGTTA
+AACCGTTTCCTCAGTATCGTTGGAGATGGGCTTCAATGACTCCATCTGAAAGTCTAAATATTCCAGAAGT
+CTTCTTTGGCTGTTTACGTGTTCTTGCATTAAATGAAGGTAAGAACGTAAATAGTAAAGATATTTACAGA
+CTTCTAGAACAGGTTGAAAAAGACATTAAGGACTATAATGATTTAAACGTATCATTAGCACGTTCTGAAG
+AAAGAAATCTTTTTAGGAACTCTGGTCAGTATTGGAAAAATACAGGCACTCTTTTAAGTACGGAGCATGG
+AATAAAGCTAACTAATTTCGGACGCTCCTACGCTTCTGGGGTAATTACTAAAGATGAGTTTTCTGCTATT
+GTAATTAAGAGTATGGAACTTCCTAATCCATTTATTGAAAATGATGCGGTTATTACTGCATGGCATCACA
+AAGGCATTAAAATAAAACCACTGGAATTGATTTTGTCCATTATCAGTCATCTTTACAATTTTAAATGCGC
+GCAAGGGTATTTAACAACTAAGGAATTGGTAGAAATAGTAATACCAATGGTTGGTAACAAAGCTGTCGAA
+TATGATATTTATAAAGTAATACTTGATGGTCGTCACGGTAAACATTTAGAGCGTAGTTCTTGGAAAGCTA
+ATGAAAAGTCTAACGATCAACGGATGGCTAGGGAGTTTCTACTTTTTTTAGAAAATTATGGATACCTAAA
+CTCCAGACGGTCTCAGAATGAAAGGGCAACCAATTTAACTCAAGAATTCTATCTAACAGAATATCAGTAT
+TCTTTAGTTAAATCACTTCTTAATTCTCCTGATATATCATACAATTCAATGGCTCCAAGCCTAGTATTAT
+CGCAAATTTCTGAAACTACAGATGTAATGGCCAGAAAGCGAGCTCTTACAGAGATTACCTTGCGACCTAA
+GCAGACTGAGTTTAGAAAGAAACTGATGGAAGCATATTCTGGTAAATGTCTACTGTCTAATGCAAGTATA
+AGCGAAGTATTACAAGCATGTCATATCATACCTGTGAAAAATAATGGTGATGATTCTGTTGGCAATGGTT
+TTATTTTGCGTTCTGATTTACATCTTTTATACGACTCGGGCCATATAAAAATAAATGAAGATGGCTCTGT
+TGTTTTATCTGACAACCTAAAAAAAGATATTTTTTATAGTAAGACAATACCACGCAAGGTGAAACTACCT
+TCATTTATTAATATCGAGAATATACGAATCAGGAATGCATACAATATGTGAGCACCTGGATAATCAAAAA
+ATGCAGCACTCATTTTTGTTAGTCCTGTTCAGGACTAACAATTGAGATTGCGGTTCAGTACTGCATCTAT
+TTAAAAGCACTATACCAAAATACCTCCTGTTTAAATATTTTCTATAGGAAGTACCTCTTATTAGTGCTAA
+TAGAAAAATGCCTGTTCCGAACAGTTAAAGCCAGTGTATAATTGTAGCACCCGCCCCCCCACTCTGCACA
+AATCGTAGTTTCCCTCCTCAGGGCTAAAATATATCAGTCCGCCTGATTAGGCCGAATTAACACTCCATTA
+AACAATCTTCCCCATGCGGTCAGCCCAAGGGAATTTTCTAAAAGTTTTCTTTGCAAAAGAATAGCGGTGT
+AAATGGCCTTTATAAATTATTCTTTGGCCTCATTAAATTTTCCGTAATACTTTATAATCAAACATAAGCG
+CCTCATTTAAACCGTCTTTCGTCTACCTTTCCTGTTTCCGATACTAATGTCCATTTTCGCAGTAAAAGGA
+CATTTAAAATGCATGCACGAAAGGCGGTACTGGCAGATAATCCGGAATTGATCCTGCGTGTGCTACAACT
+GAAATTTGACGAGTCACTGTCGTACCCGCGCATTTCAGCGCAGACCGACGTCAGCAAAACCGCCATTTTT
+TCTCTGGTGAGGCGATTTCACCAAGTATCCACTGACCGGTCTCTTTCTGGTGAATATTCCTTCGGGCAAC
+TTGCCCGGACTCTTTTCCTGGGCGATCTCCTTCAGCCCCGACAGTAACTCAGCCAGTAAAAGCAGAAAAA
+ACCCGCCGGAACCAATTTTCACCGGAGTTTAAATGGAGACTCGTTCAGCAAACTCTTTTACCCGCTGCCT
+GTGTCGCACAAATAGCTCATGAGAACAGAATCAACGATAACCTGCTCTTTAACTGGCGACATCTCTGGCG
+TAACGGCGGTCTGTGGCCGCCCGGCGGACATGAAACATCGCTACTTCCCGTGACGTTAACTCCGGAGCCG
+GATAATAAAATCCCGGCACCAGTGCAGATACCTGAATAGATAAATACACCGCCCGACAGTCTGTGTCAAC
+GGCGGATGAAAAGTGGTTCTTCCGCAACCTGGGTGGAAGAAAATGGATGAAACTTTCTGGTGAACAAGGA
+TCTAAGCTGTTTTAAGTTATGGGCAACGCAATGCACTATCTTAAGACACTTTTACAGTTACCTTGCGGAT
+GGCGATGCAGTCGACAAGTTATTAGCCCTGGTGGTATAGCCCTCTATTTCTGCGGAAAACGCAAAACAGC
+ACAATGCCGTGAATGCCTTAAGCGCAGCAACTGGCACTTGAGTTCTACCGTATTCTGAAAACCTAAAATA
+AATTACAGCTAAGCAATTGTTTCACTCGGAGCAGGGCAGTCAAGCCATGAGTGGCTGTCGTTCCTGAAAT
+CACACGGCCTGGAGGACAGCATGAGCCATCGCGGTAACAGTCATGATAATGTGGTTGCAGAAAGCTTTTC
+CAGTTGCTGAGTAAGCGCCCCGAGAAGTACGTAGCGTAAGGATTATTTGTATTAGCTCAGACCTGATCGT
+AAGCGCCTCATCTGAACCGTCTGGTCTGTTTCCTCCGGCTCCACAAAATAATGTCCATCATTTTTTTTGA
+AGTGCGCCCCAAAGGTTAGACACCCGACCAAAAACTGAGGATGCATGGAAAAGTTTTCATTGGAGTTCAA
+AAAGGTAGTATCAGAAAAGTACCTGGAGGGAGAGTTGAGTCTGAAGTCTGTAGCAAGGATGTACGGTATC
+AGTCCCTGGACAGTAAGAAAATGGGCTTATGCCTATCGGGAACATGGGATAAGCATACTTACGGGTAAAA
+AAGGATGCTATTCTGCTGAGTTAAAACTCACAGTAGTAAAATCATCACGCCACTCCTCTGCAGAATGAGT
+CGTAGATGGAGAGTGGATGATGCAGGGGGGGGTTGTCGAAGTTCACCAGATTTTCATCAAGATGCACGTC
+ATACTCTTTTTTCTCCGGAGGCAGTGCCAGCATGGACTGCTGCTCTTCGAGCCAGCGATCGCAGGGACGG
+GCCTGGATTGTTTCATGCTTTCGTTGGTTAGCGACATCGTGCAGCCAGCGCAGACCGTGGCGGTTGGCTG
+TTTCAACATCGACAGTGATCCCCATCGGGCGCAGACGAGTCATTAGTGGGATGTAAAAACTGTTACGGGT
+GTACTGCACCATCCGTTCCACCTTACCTTTAGTCTGTGCCCTGAAGGGGCGACACAGTCGGGGAGAGAAG
+CCCATCTCCTTGCCGAACTGCCACAGCGAAGGATGGAACCGATGCTGACCGGTCTGATATGCGTCACGTT
+GCAGAACCACAGTTTTCATATTGTCATACAACACTTCGCGCGGCACACCACCAAAGAAGCGGAACGCATT
+ACGATGGCAGGTCTCCAGCGTGTCATAACGCATATTGTCAGTGAATTCGATGTACAGCATTCGGCTGTAT
+CCGAGAACAGCAACGAACACGTGAAGCGGTGAGCGACCATTACGCATAGTGCCCCAGTCAACCTGCATCT
+GTCGTCCGAGTTCAGTTTCGAACCGAACGGCAGATGTCAACGACGGATGAAAAGTGATCCACTTATATCT
+CCACCAACGGCCCAATATTGATCCACCGTTTTACTCAGGATTAGCTTCTGCTATAACCCCGGCCTTTCGT
+TTCTGTCTGAGTCGATAGCTTTCTCCTTTGATTTGAACGACATGTGAGTGGTGTAAGATACGGTCCAGCA
+TCGCTGAGGTCAGTGCTGCATCACCGGCGAACGTTTGATCCCACTGCCCGAACGGCAGATTGGATGTCAG
+GATCATTGCGCTCTTTTCGTAACGTTTAGCGATGACCTGGAAGAACAGCTTTGCTTCTTCCTGACTGAAC
+GGCAGATAGCCTATTTCATCAATGATGAGCAGGCGGGGGGCCATTACTCCACGCTGAAGCGTCGTTTTAT
+AACGGCCCTGACGTTGTGCCGTAGATAACTGAAGTAACAGATCTGCTGCTGTTGTGAAGCGAACTTTGAT
+ACCTGCACGGACTGCTTCATAGCCCATCGCTATTGCCAGATGGGTTTTCCCCACACCTGATGGCCCCAGT
+AATACGATATTTTCATTACGTTCTATGAAGCTGAGTGAGCGTAACGACTGGAGTTGCTTCTGCGGTGCTC
+CGGTGGCGAATGTGAAGTCATACTCTTCGAACGTTTTCACCGCCGGGAAGGCTGCCATTCGGGTATACAT
+CGCCTGTTTACGTTGATGACGTGCCAGTTTTTCTTCATGAAGCAGATGCTCCAGGAAGTCCATATAACTC
+CATTCCTGGTCTACTGCCTGTTGTGACAGCGCAGGCGCTGCGCTTATAAGGCTTTCCAGTTGCAACTGCC
+CGGCGAGCGCCATCAGTCGTTGATGTTGCAGTTCCATCATCACGCCACTCCTCTGCAGAATGAGTCGTAG
+ATGGAGAGTGGATGATGCAGGGGGTGGTTGTCGAAGTTCACCAGATTTTCACTAGGATGCACGTCATACT
+CTTTTTTCTCCGGAGGCAGTGCCAGCATGGACTGCTGCTCTTCGAGCCAGCGATCGCAGGGACGGGCCTG
+GATTGTTTCATGCTTTCGTTGGTTAGCGACATCGTGCAGCCAGCGCAGACCGTGGCGGTTGGCTGTTTCA
+ACATCGACAGTGATCCCCATCGGGCGCAGGCGAGTCATTAGTGGGATGTAAAAACTGTTACGGGTGTACT
+GCACCATCCGTTCCACCTTACCTTTAGTCTGTGCCCTGAAGGGGCGACACAGTCGGGGAGAGAAGCCCAT
+CTCCTTGCCGAACTGCCACAGCGAAGGATGGAACCGGTGCTGACCGGTCTGATATGCGTCACGTTGCAGA
+ACCACAGTTTTCATATTGTCATACAACACTTCGCGCGGCACACCACCAAAGAAGCGGAACGCATTACGAT
+GGCAGGTCTCCAGCGTGTCATAACGCATATTGTCAGTGAATTCGATGTACAGCATTCGGCTGTATCCGAG
+AACAGCAACGAACACGTGAAGCGGTGAGCGACCATTACGCATAGTGCCCCAGTCAACCTGCATCTGTCGT
+CCGGGTTCAGTTTCGAACCGAACGGCAGGCTCCTGCTCCTGAGGAACCGAGAGAGAACGAATGAATGCCC
+TGAGAATGGTCATTCCGCCACGATATCCCTGGTCTCTGATCTCGCGAGCGATTACCGTTGCCGGGATTTT
+GTAAGGATGAGCATCGGCGATGCGTTGACGAATATAATCCCGGTATTCATCCAGGAGTGAAGCAACAGCA
+GGTCGCGGCGTATATTTTGGCGGCTCAGATTTTGCCTGCAAATAACGTTTAACCGTATTGCGGGAGATCC
+CCAGTTCTCTGGCAATCGCCCGGCTACTCATTCCCTGCTTGTGCAGGATTTTAATTTCCATAACTGTCTC
+AAAAGTGACCATAAACTCTCCTGAATCAGGAGAGCAGATTACCCCCTGGATCTGATTTCAGGCGTTGGGT
+GTGGATCACTATTGCACCGTTCGTGACACTGACGGAAGAAGCCCTGGAGCAGATCGGTCAGTTGTACGCC
+ATAGAGGCGGATATAAGGGGAATGCCGGCAGAGCAGCGGCTTGCTGAACGTCAGCGAAAAACGAAACCGC
+TGTTGAAATCCCTGGAAAGCTGGTTGCGTGAAAAGATGAAGACCCTGTCGCGACACTCAGAGTTGGCGAA
+GGCGTTCGCGTACGCACTTAACCAGTGGCCGGCACTGACGTACTATGCGAACGATGGCTGGGTGGAAATC
+GACAACAACATCGCTGAAAATGCCCTGCGGGCGGTCAGTCTGGGTCGTAAAAACTTCCTGTTCTTCGGCT
+CTGACCATGGTGGTGAGCGGGGAGCGCTACTGTACAGCCTGATCGGGACGTGCAAACTGAATGACGTGGA
+TCCAGAAAGCTACCTTCGCCATGTGCTTGGCGTCATAGCAGACTGGCCGGTCAACCGGGTCAGCGAACTG
+CTTCCGTGGCGCATAGCACTGCCAGCTGAATAACACATCCCCGTCAATACGGCCCTCGCTGTACGCTTAC
+TACTGAAACACGGTGACCACAGGTTTTATAAGAAAAACAAGAATAAGGGATACCGCTACCGATAAGGTAA
+GAAGTTTTAATGCCAGATGATTCTTTAGTACAGAGAACTATCATTATTCTTTTGCCTGAAGCTATCCGGC
+ATACTCAGGCATTTCACGCTTTATGAGCTGACATCATCAAGATGCGCCAGTAATTTTTTATTAATGATTT
+CAAACAGTTCCTGTTCATCATGGGCCAGATAACCCCAGATTTCTTTCAGATACATGCTTTGTGCAAGAGT
+GAGCCTCTGAATAAAAAACATACCTTCAGATGTCAGACTGATTTTTTTAGCACGGCGATCCTCCCTGCTA
+TCCATCCTTTTTACATATCCGGCTTTTTCTAAAAAATCTGTAATGCGGGTAATATTAGTTCTGGTAAACT
+GAAGTTTCTGGCTTATCTCTGAAGGTGACAGACAATGACTCTCCGCTGCGAATAATGTGGTGAGAACCAT
+ATATACTGAGTGATTTATTCCATACACCCCCAGAAATTCAGATATATTATCCTGCATTCTTTTATTTGTG
+CGAATACAGAGTTGCATCAACAAATGCTCCCGAAAGGGATATGCGGGGTCTTTGTTTTTTTGGTGTCTGA
+TTATTTTTTCTAATGTGTCTGTGTTATTCATTTCATTATTCTCCATATTACTGAAACACACTGTCAGTGT
+ACAAGCGCGCATCAGTCATCCGGTAAACATCGACTTTCCACTACAATTTATTCCTGCCTGATTTCTGTAT
+AACTGAGATATTCCGACACAGCAGACAGATAAATTCCCTCAGATAAAAGAACATAAATGCTGGCTGCTGA
+CAAGTCTGTGAAAAAGGATTATCCATACTGCTCAGTAATCGCGGATAATTCACCAGCCCTCCGCCCGTCT
+GAAAGGTGACTTCCCGGGGCATCCCAGATATCCACAACACACTATCCGGCTCCGGATAAACCATTTATGG
+CAATATCATGAGCAGCGTTGCTGAACCAGATAGTACTTTTCCGGCATTAAACAGCTCTCTGCCTGTCGTG
+ACCTGATATCCGCTCAGTATACGCATCAGGCCATATTCCAGATATCTGTCCCGGGTCATAATAATAATCA
+GCATACTCTCTGCCCCTTGTATCCCGGATACCGGCTCCGTTTACCATTACCGGTATAACTGACTCATCAT
+TCATAACGGAAACTGTCTGCCGCATACATCAGCGCCCGCTCTTCCAGCTCTGACAGGCTCAGTTCTTTCA
+GTTCCCCTTCTCCTTCAGCAAGAAGATAACATTCAAAAACGGCTTCATCGTCGCATTCCAGACGCACCTG
+CGCCCTGTCAGCCCGACCGTTTACAATAAATAGCTGCACTGACCTTATGCGATAGTTCAGCATATACACT
+CTTCCTCTCAGATCTTCAGGAATACCCCGGAACAGTCAGTTATGCCATCGGGGAGAAAAACAGGCAGCGA
+ATCATTACTTCATACCGAAAACTGCCTCCCCGGTGACTCAGGCCCGGGTTCAGAACTACCAGTTGACACC
+CACATTCCAGGAAACATAGCCGCCACTGAAAGTAGTACCTGTCTTTAAGCAGTCTGCCTGGCACTATACC
+CGCCCACAGCCGCTATGGCGTTAAATTTATCCTCACTGTACGGCTCCCGCTTCATTTCCTCGTGATTCTC
+ATTAATCAGCCCTGCTGACTGTTCAGACGCTCCGCATGCATCTCCAGCACCTCTCCCGGGGAAAGCAGCC
+CCCGGGTGTTACGGTTTATGGCCACCGTGTTCCGGATGATATTCTCCCTGTTCTCTGCAGCGACCGTATC
+TGTATGGTCACGCGCCTTAAGCACTTATGCTGTAATCCGTCCACTGATGCCACTGTACACCTCATCCGTC
+AGCGGGTTCAGTTGCCTGATAGTGGCTGCTTCCGTATCCCATGCACCATCACTGATACCACCGGGACCCC
+GGATTTTATCCGGTCCCCGCGGACTGACAGGGTTTATGACACCTGAGTCATATCCGATGTAAACTTCATT
+TTCACGGGTTGTACAGGAAAACTCCCCCTGTGCCATTGAGTTCTGATGTGTGCCCTTCGCCACAACTCCC
+ACCGTCACGGCACCAGTTGCATCTGACGCCGACCAACTGCTGAGAGCCATGCCGTTTCCGGCTTTGTCGA
+CAACGCATGCTGCAGTTCCCAGCGATGCGAACTGGTCTGGCATGCATTCACGAACCAACAGCAGTGGTGC
+TACGTCCGGATGCAATTCGCATGAGCTCCAACCGCGGTTGTAAGTTCAGCAGCCCGGGCCTCTGCCCCCG
+GCACAGTCGCATAAGTATTCGATACCGTGCGACACCATTACCTTCAGGATACGCCACGGACCCGTCACCC
+TACGAAAACGCCGGAGCACCGGCAATCAGCAAAGGCAGCAGTGATAAAAGACTGATATATTTCCTGTCAT
+TATTTTTCATATTAATTTAACTCCTGATTAACCGGTTTTTATTGATATGAGAAAGTAATAGTTGCAATAG
+CCTTCACACTTCCAGGTGTAGTTGCATCAGCAATTTTTATATAATTGGCTCTTAAATTGATATGTGGATT
+TACCTCTCCCCTGTAATCGGAGAAGTGCCATTGACTGCCATTTCCTTTCACAGGGGAGTCTTCACCATAG
+CTGATGGCAGTTACATCACTGTCTTTATATAGCCTGATGCCAAATCCTTTTGCAGTGGATTCACTGCTTA
+AGGTCAATATATCTGTTCTGTTCACTGGCTGTGATGCATCTGTCAATGTAGCATAAACATCAATTCCATC
+CGGGCATTGTAGGTGTATGTCAATTTTACCTCCCTGTATTTCTTTATACAAAGATGTGAACTGTGATTGA
+TATACGGTATTTAATGGCACCACATAGTTTTTTTGCCCCATGGTACATGTCTGACTCTGTACCTGAATGC
+GCCCACCATTTAACATAACAGGTGCTGTCAGTCCTTTATTATTTAAACTTGTACGTTTTGCTTCCAACAA
+AATAGTACCAAGCTGCCTGGTGGGTATTGTTATATATCCATTGGGTAATCTTCCCGTTGCGACAAAAGCA
+ACAAACAAACGAGCTCCGAAGCTTGCTGTCGCACCGTTATAAGTATTGGGGTTTGTATTGGCACCTACAG
+GGTCAATATATATACCTGAGCTATTTATGGGGACCAGAGGCGTTGCGGGCCAATAGCCCGCCATGCCAAT
+AATAATACCCAGTCCGGATACACCAATATCATAGATATCAAAATCAGATGAATCACGGCTGTTTCCTTGA
+TGGAAAGTATACGTAATACTTCCAATTTTAGGCAGTGCGGGTGTAAATTTTCCACGCATCAGAGCGATGG
+CACCGCCATTAAAAACATACTGGTTACTTGTTCCCGCCAGCTCTCCTATCACCCGGGGATAGGTATGGGC
+ATCAGCAGGACCAATCACAACACCTGGTAATGTGGATGTATTAACCGCTATCTGCGAAGGCACATAATCA
+TCCGGACCCGCTACCGCCAGCTTAGGGAGTAAAATTAAAAACAATGGTATGAAAAAGATTCTTTTCATGT
+TTTTTCCTGATTAGGGTGCTGTATACACAGAACAGGAACGAGCTGAGATTGCATATCATCTTTATTGTGT
+GCAACATGATATACAAATGAACATCTGTCTTTATTATCTGGTCCCCATACAACGCTGAGATGACCTTTTT
+CAGGGAGTCCCCTGGTAAATACCTTCCCGGCCTGAGCGACATATCCGGCCAACTGTCCATGTTCATCCAG
+AACTTCAGAAGCCATTGGAGGGGGATTGCCAGTAGACATACGAATATCAAATAACAGACTTCTTCCTGTT
+TTAGTGTCAAATTTCACTAACGTGGCGCTATTAGCACGAGGAATGATTTCCTGCTCCGTCGCCGATAATT
+CAACATTCAAATCTAAATTGGAGGGATCGATGCTAATTTGATTTTTCTCATAGGGTGTAACATAAGGAAC
+AATACCATTTCCCCAAAAATCCAGACGACTACCAGAGGCATTATTGATGGCAGCCCCCTGAGCTCCTTCA
+GCATGGATAATGGCAAAAGTATCACTCAGGTCATTACTCAATGTCACTCCATAGGGGTGTGCGACCACCG
+CTCCCGACGCACCAAATGACCTTTGATTATTATTCTGAGTATCATGCCCGACTGTTGTGGTTATATTTAC
+ATAAGGTGAACGATAACCCCCATTCATTGCATAACCGGAAGGCCCGTTTTCCTGGCTGTTTCCTGAAAGA
+CCATAAGAGAACTGATTATCCTCCCCGCCAGTACCACTAATTGATGTCTGAATACTATTTTTCTCTTCTT
+TGCTATAATTTAAAACAGTGGAAAACACCGGGCTTTGAACACTTTCTCCCAGAGGGAGAGTAAAATTAAT
+ATAAAATCTGTCATCACGGCGTTGTTGCTCATTATCTCTTGACTGAGACAATCCAATTTGATAGCCGAGT
+TGTTTCCAGAAGTTGCTGTACCCCATCTGGTATTCATTACGACTTCCTTTATGTCCCCAGTAATTATAGG
+TTGTTCCTGTTAAATACATCCCACCCCATTTTTCACCTAATTCCTGGTTGATTGAAATCTGGAATTGATT
+CCTGGGACGATAAAACGCTGTACTTTTTACAGAAACATCATCAATAAACGCGTTGTGATTAGCTGATAGC
+GCATCCTTCAGATGATAAAAATCTTTTGATGAATAACGATAAGCCGCCAGAGTTATATTTGTGTTTGAGG
+CTGGAATATTGATGCTATAACTTGAGTGCAGACTATAACCTTTACGCGTTACACCGGAATACCTGAATGC
+TGTTCTGGACAATGTAATGTCAGATGCTATAGCACCCAGAGGGGTATTAAAGGCCAGGCCAGCTAACCCC
+GCTGTATATCCTGAAGCTGTGGTAAGACCACTGTTTAAAGTAATATCATTCGTCAGGCCGTATTGATAGG
+TGCCTTGTGCTATTAAATCATTATATGTTTTATTCGCATAACGATACTTTCCCACTGACATTTGCCAGCG
+ACTAAATCCGGGACGAATGAGTTGAGCAACGGCCGCAAAAGGAACCGTGAACATTCGTGTCTGGCCATTA
+GACTCTGTTATCTTAACGATAAGGTCACCAGCATATCCACTGGGATATAAATCATTGATGACAAATGGTC
+CGGCTGGCACCGTCGTTTCATAGAGGATATGAGCATTTTGATAAATGGTTACTTTAGCATTACTGTTAGC
+TATTCCCCGGACAGCAGGAGCATAGCCACGTAAAGAGCCGGGTAACATTCGTTCATCCGATGCTAACCTG
+ACTCCCCGCAAACTGAGACTATCCATTAGCTCACCATTCGTATAAAAATCCCCTAATGTGAATTGTGCTC
+TCAATGGGGCAAGGTCATGCATTATACTTGTTTCTATATTCTGATATCCGGCAGGATAGCTATTATTCCA
+GCTCTCACTGCCACGGTGGCGCAAAGCCCATCCCCACAAATTGAATCCAGCTTTTAATCCCAGATAAGTC
+TGTTCGTTACTCGTCCCGGAAGAGCTATACTGGTAATAGTTAGCATCATAGTTTATAAATGCTGCAGGAA
+CACCACTTTGCCACTGAGAAGGGGAAATATATCCTCTTGGACGTGTATTCAGCAGTGCCTGAGGGATTTC
+GATATTCAACCTTAAAGTCGATAAGTCAAAATTAATACTGGCTGAAGAAAGCCCTGTTGACGCCGGAAAG
+CAGGAGGTGTTTCCCGACATAGTATCTTTGACTAAATCAATCAATGAAAGCAGTTCAGGCGTCAGGCATA
+ACGTCGGAGCACCGGTATTGGCAGTACGTAAATACTGCAAATCAGCCTTCCCCTTCCATACATTATTAAC
+ATAAATATCAGAATAATACCTGCCCTCAGGCACAGGGTTACCATGACTAAAGCGGCGGATATCAATAGCA
+TTTATCCCTTTATCCAAATGCAAAAACTCAGAATCAAACTCAGCCTCTTCAGCAGCAAATGAATGGTTTG
+TTACTGTTAACCCTAATGCAGCAAAAAGCAGAAGAGAACAACGACAGTAAATCAGGCATGACAGATTATT
+AGCGTTCATTATTACCTTACTCCAGAACAGATTCTCCTTGCTGATATCCTCCGTAATCATTAACAATAAC
+CCAGGAAACTTTGCTGGCTGGCGCAGTTCTGCCTTTAAGTGCAAATACTGTTGAAGAGAAAGGGGGAATC
+ATTCCACCATGTTCAACAGGCATTAAGTGCTTATTCTGGTCAACTGCAATTTTGTTGTAGGTTATGTAAT
+AAGGTGTTGGATTAACTGCTTTAATTCGGCCTTCCTCCTGGTGCCAGGTAACTTTCAGATAAGCATCATT
+TGGTGTTAACTTCAGGTGAGCAGGACGAAAGAAAAATTTTATGCGACTACGAATGGCTAGTTGCAAATAA
+TTATTATTCCGCTGCTCTGAGTTATCGGAGTCTTTTTTTGCCCCGGGCTTTGCTGGAATATCCAGAACAT
+TTAGATAGAAAAGAGATTCTCGGTCTTTCGGTAGTGACTCGCCTGTATATACAATTCTGACTGTTTGTCC
+TGATTTAGAGTCCATACGAAATATTGGCGGAGTAATGATAAAAGGAACGTGGACTGACTCAGGGGGAGCT
+GCTGCATCTCCATCGTCTAACCAGGACTGGACTAATGCCGGAGATTCATTGTCATTATTTAAACGTATGC
+TAATACTCTTTTGAGTCGCCGGATAAACAACACGGGTTCCCATGATAACTACACTACCCTGAACAACTGC
+AGATACAGATAGAGTAAAAAAAAACAGCACAAACCTTAGCATGGTATCTCCAGAAGAAAGCAGGGCAGTA
+TTTCCTGCCCCAAAATACAAAACCGTTTGTTATTCGTAGGCGATGGTATAATTGACTGTTGTTTTTACAT
+TGCCTGGAGTTGATGCCCCGGTCGCATAATATTGAGCCATATAACGTAATGTGGCATTACCATCCCCACC
+AATAGTTTCAGAATGGACATCTTGACCAGCAAAATCTTTCCCCAAGAAAATAGTAGAAGTACCATCACTG
+TTCAATAGTTGGATCTGTACATCACCAGCGGCATTATCAGAAGCAATATTTTTAAGATTATTCGTCACAA
+AATCAGTACTGGAACCAGGCTCAAAAAAGGCTTTAACGTGACCTGCTCCATCTACAGTAGATGTACAACC
+TGTTAAGTTAATTGAAAATGGTGTTAATCCGGTTGTTTCTCCAGGGCTAGCAAGGGCCTTATTCGATACA
+GTGGGTAATGTTACAGTAAAATTACCATCATTCCCTGTGGTCACATTGCAGGTCTGAGCTACAACTTTAC
+CTGTAAACGTAATTGTTCCGTCATAGGCCATAGCTGAACCAACAAACACAGCAGAAACAAATGTAGCCAA
+TGCTATAACTTTTATTTTCATAAAATGAATTCCTGTTTAATTCCGGTATTGATCATTTGTTCAGCAATCA
+TCCCCAACAAAACAATCATTTTCAAAATGTTTTTACCGATCGATAAGCAGCACATGATAGGATTCACCTA
+TCACAAAGGAGAAAACGATCGGGTAAAACGATCAAAAACCATATTTATTGTGTTGGTAATGACAAAAAAT
+ATGCTTTTCCCTGAAATGAGCGACCTATTCATGAAAATATGTAGGTCTGTATTTGATTACTATCATTGCT
+ATATTTCTACTATCCAATTTATATTTCATAATTAAAATATATCTTTTTATACTATTATTTATTTGTTGCA
+GATTGCCTGGCTTTATCTTATTCCGGCTGTTTTATGGTAGATACAGCATACAATTAATTAAACTTATTTA
+AAGATTTTATAAATACCATATTGGAGTTGACCGACAGATACCTACTAACAAGAGCAATCACCACCTCCCC
+ATGAGGTGGTTTAGGGATATAATAAACAACGTCCATGTCAGGTGACGTACATACCTGTTTGCTATGACAT
+CTGTTACGCTACGCTTGCTAATTTACTGAAACTCAGCGTCTGTCGACGGAGATTCGTCCGGGCCCTGATA
+CAACAAGGGCAAGAAAACCACCCGAAATACAGATATTCTTATAAAAATGGATCATATTTCCATGTGCAAG
+TTCAGCTGGCATCGTCCAGAATGCGTGTCCAAGAAATGAAGCAAACACGGTATACAGGCACAGAATAATG
+CTCACTGGCCGGGTGAAAAAGCCAAAAACAATCATTAATGCTCCAACGATTTCGACAAGGACCACGATTG
+CTGCAGTAATCGCCGGAAATATAAGCCCAAGAGAGGCCATTTTATCGATAGTGCCAGTGAATGATAGCAG
+CTTGGGAACGCCGGATATCATATAAAGGCATGCCAGCATCAGACGGGCAAGGAGCAACAATGCCGACGTG
+TAATTGCCCATATTAAAATACCTGATTTTATCCACTATCAATGCTCAGTCTCCTTGTTTCTGATAAAGCC
+CTGAGACAAATCCTTAAGTGTACGAGCACCACTCAGTAACATTGCCGTCCTCAACTCCGTCTTCAGGTGC
+TCAATGACACTGGCAACGCCCCCGACACCACCTGCTGCGATGCCATAAAGAACAGGACGTCCGACCGCAA
+CAGCCGTTGCCCCAAGAGAGATAGCCCTTACAACATCAATCCCCCTGCGAATACCGCTGTCAAAAATGAC
+CGGAACTTTGTGCCCGACTCTTGCAGCAACTTCCTGCAACTGGCTGATGGCAGAAGGAACACCATCAATC
+TGGCGACCACCATGATTAGACACCTGGATGGCATCTGCTCCTGCATCAATAGCAACCACTGCATCCTCAC
+CTCTGAGGATTCCCTTGACAATGACTGGCAGCCCGGTGATTTTTTTTACAAACTCAATATCAGCCGGGGT
+CAGCTCAACTTTTTGGTTAAAAAAATCACCTTTGCCACCGTAACGGGGGTCATGATTACCGAACGTCGCT
+CCTGCAGGGAAAGGCGAGCTCATGCTGAGAAAAGCATCACTTGTCCCGGGACCAAGCGCATCCGCTGTGA
+TAATAATGGCTGAATAGCCTGCCGCTTTTGCACGCTCCAGTAAACTTCGGGTAACACCAGCATCCGCGTT
+AAAATACAGCTGGAACCATTTAGGTCCTTTACTGGCTTTTGCAATATCCTCCAGAGAGCGGTTGGATGCC
+CCTGATGATTCATAAAGTGCCCCGGCCTTTTCTGCACCCGCTGCAGCAATCACCTCCCCTTCCGGATGGA
+CGAACATATGCGCGCCCATAGGTGCTATCAGCAGGGGGTGTTCCAGATGATGGCCCAAAAGGTCAGTCCG
+GATATCAATGCTGTGGGCAGCAACTCCACTGAGTCGGTGAGGTAACAAAGGATAATCACTGAATGCCCTG
+CGGTTCTCATGATACGTCCACTCATCTCCAGCACCATGAGCAATATATGCATACGCAGCTTCCGTCATCA
+CATCTTTTGCTGAAGCCTCCAGTCTGTCCAGACTGATGATATGAAGAGACTTGCTGGTCGATGTATCAGC
+ATGTCCAGACGTTTTACTGATGATATGTGCCGTTGAAGATGAGATATTTTTGGCAAGGGCCGGCGCAGCT
+GACAGCCCTGCGGCAGATATTCCTAAAACGGCATTCTGAATAAAATTACGTCGGGAAAGAGGCATAATAA
+GCTCCATATATTATAAATAAGCCAGGTCTCCCTGGCTTATAATAATCATGCCACGCCCTGAAGCGGGTTG
+GTGTTGAAGGTATAAAGGAAAATTTTCCATTCACCATTAATTTTACTGAGGACAAAAACTTCACGGTTCA
+GGTCAATAATGGTTTTCTGCTCTTTAAAGTTCGTTACAACAGAACCCACATGGTGGTGAGTGCGGACAAC
+CGCGGTATCTCCGTTGATCCAGATAGAGTCAAACGCAAAATCGGTCTCAAACTTTTCACGCTTGAACAGA
+TCATCGTACTGCCCCTGGCGTTTTTCTGTATTGTCAGCCGTCAACTTATCATTCCACTGGGAATAACTTT
+CATCAGCAAACAGGCCCAGGATGGTTTTTGTATCCCCGGCATTCAGTGCGTTCTGATACTTGATTATCGT
+GTCATACACGTTCTTCTGCTCAGTAGCAATCTTACTGTCTGTGGAGTATTTGAATGTACCGCCGGATTGT
+TCAGGTGAGCTTTCCTTCTGTGCTGCCGACGATGAGGCAGCCAGAGCATTAGAGCCGAAAAGAAGGGATG
+ATGCCATGACTGCTGTTGCTATAAAATGTTTCATATATTCTCCATCAGTTCTTCTGGGGATCTGTGGGCA
+GCATATAGCGCTCATACTATGCTGCTGTTTCAATATTAGCGGCAGACGTCAGCCTTACCGCACTACTTAT
+TGGATAAGAATATCAAAAGTGACCGCTAAGTCAATTTTATCACAACACAGAAGGCCACTATTTATGCCAG
+CAAATATGAATCGTCCTCATCATGCACGAAAGACTCGTAGTTGCAGCCCGGAAAAAACTGCCAGGACACG
+ACAGCAGATAGCCCGGGCAGCACTTGAGGAGTTCTCTGCACAAGGGTTCGCTCGCGCCAGCATCAGCAAT
+ATCAGCAAGCGCGCAGGAGTAGCTAAAGGCACGGTATATAACTACTTCCCAACAAAGGAATTATTGTTTG
+AAGCGGTTCTGAAGGAGTTCATTGCTACCGTCCGTACTGAACTGGAATCTTCCCCCCGCCGCAACGGGGA
+AACCGTAAAAGCCTATCTGTTGAGAGTGATGTTACCTGCCGTCAGGAAAATTGACGACGCATCAACAGGC
+AGAGCCAGAATAGCCCACCTGGTTATGACAGAAGGGAGCCGGTTCCCGGTAATCGCTCAGGCTTATTTAC
+GGGAAATACATCAGCCACTACAGCAAGCCATGACCCAACTGATTCAGGAGGCAGCATCAGCCGGAGAGTT
+AAAAGCAGAGCAACTGCTCTGCTTCCCCTGTTTATTGCTGGCTCCAAACTGGTTTGGCATGGTGTATAAC
+GAAGTTCTGAACCCGGCAGCACCGGTCAGTACAGGCGATCTTTTTGAAGCCGGAATTGGTGCTTTTTTCC
+GATAGGCACATAACTGTCAGTATTATGACCATGCCGTCAGGAGGAGGTATACCAGTGATACCCTGCCATG
+ACCCGGTAACGTCTCCTGGCTGCCTTAAACCTGAAAGACCTGGCCCCACCACACTGCCGGTTACGCAGTC
+AAGATGCAGCACCCCTTGCATAAGGCTGTTTTGTGCAGAGGGCTACCGGAAAGATAATAACGTCACAGCC
+CGTATGCATCAGATAAAACAGTGTATTTTATCTGTCAGCAGTCACTGGAGCGGATTGTGGGGCGAGATTC
+AGGTGCTGATACTGTAACGACTCTGCGCCGCTGCTGCGGTAAAAGCGGCGGCCACCAGGCACGGTTATCA
+GAGGAGGATGACCGTGTCCGCCCCTGGTGGTGATGAACTCTCCATCACAATCAATAATGCCGCCGGGTGG
+ATGAAGCAGACAGGGATGGCAAGTCCCACCATCCCGGATAAAATGGGCTCTGGGCGCTCAGAAGACCTGT
+GTGTCAGGCAGGGGTGAGAACGGTGATGTTTTTTGTTGTCTGAAAGTCCAGCTCCAGCATTGTCTGCCAG
+CCTCAAGACTTCCGCTTTCTGCCCTTTCCGGCATTTTCTTCCGTTACCATCATTCTGTTAATTCAGAGGC
+GTAGTAGTAGTAAACGTAATACATATCCGGAAGGATGAAGTCATCTAATCCTGCTCCCCGAATATCATAC
+AGCCATTCCTGAGTGTGACTGCACCATTTCCAATTATGCAGTCTGTCCTCATCACAAAAATGTTGCAAGC
+AGTGCGGAGTCACGTTCCGTATTCATGCCCTCTGCCAGATATTGAGCGGGGGAGAAATGTAATGAACACG
+TCCTACCATTAACTGAAGAGCATGGTGACGGATGAAGGAAAAAGCAGGAGTGTGTGGTGCCTCACAGATT
+TCCGACATCATAGCTGTCAACGACGGATGAAAAGCGGCTCTTCCGCAACTTGGGTGGAAGAAAATGGATG
+AAACTTTCTGGTGTGAGAACCTTAAGGAAACAACATGTTGGGTGGAGCGGACAATCCAAATGGTGAATTA
+CCGTCTTATATCACTGGCGCTGACACTGATGGAAATACCGGGCGTTGGGCCAGTAATCACCACGGCAGCA
+GTCTCCACTATGGGAGAATCATCAGCGTTTTGCGGCTTATGTTGGTCTGGTGCCTAGACAGTCAGGCACT
+GGAGGGAAGGTTCGACTACCGGGAATAAGCAAGCGTGGTGATACCTATCTCCGGACATTATTTATTCACG
+GAGCAAGGGCGGCAGCATTGCTGGTCAAAGAACCAGGGCCATGGATAACAGAACTTAAAAAATGGCGTCC
+GACCAGTGTGGCCATAGTTGCGGTGGCGAACAAGCTGGCACGAACAGTGTGGGTAATAACCGCTCACAGA
+CGTAAATACGACAAAAATCGTCATCAGTACTCCCTGAAAAGCAGGAGTACCTGTGAGTAAACCAGCTTTT
+ATCAGTTCTGGCGCTGTTCCTGACTCCTGCTTTATGCTGTGTATGGATTGTGTCAGTTCATTACAGCAGA
+ACAAAGGAGTCAGAGCGATGTATCCATCCACAGGACATTATTCTCAGCCGAATCTTCCTGCTCTAACGTC
+CACCATACAGGCGATAAAAAGAATATCGCCCTACCCGACAGATACGCTTCCTCCAGTTCTCGGGAATGTC
+ATCCGGTCATTACACAATAGTACCGGGATCCCGACAGAATTGATCGGTAACGTGGTCCTGGCAACGGTAT
+CGTTGACCTGTCAGTCACTGGTCGATGTTATACAGCCGCATACAGACATGCCGGAGCCCTGTTCGCTTTA
+CCTGATGACTGTTGCGGAATCGGGGGAGGGGAAAACCACCATCAATAAACTGGTCATGAAACCCTGTTAC
+GAATTTGCAGCATCACTCATTCAGCAATATCAGACTCAGAATAATGATTATAAGAATCAACTGAATATCT
+GGAAAATCCGTCAGCGGGTGCTTGAAGGTAATTTCAGACAGGCGATAAAAAAAAGATGTTCAGGTAAAGA
+TGAGAGAGAGGAAATTCATCAGCACTTTCTGAGCAGACCACAACGCCCGCCATATCCAAATTTTATTTAT
+GAAGACACATCGCTAAAAGCTCTTGTGGAAGGACTGAGTGACTATCCGTGGGCTGGGATGATTTCTGATG
+AAGCAATTATATTTTTCAAAAGTCATCTGAAAAATAATCCCGGCCTCCTGAGTAAGGCCTGGGATGGTGA
+AATAATTGACTTCAGACGGGCTGATGGTGAATGCTATCATTTCATTCCACATCTGACATTTTCATTAATG
+CCTCAGCCTGGCGTGTTCAGTGAGTACATAAGAAAAAATACTGTATCAGCCCGGGAGAGTGGCTTTTTGT
+CACGCTTTCTTTTTGTATGCCCTGACCGTAATTCCGCAGAGTGTCTGAACACCGGGACCGGGGCATATAC
+AGACTACAATCTGAACGTTTTCCACAAAAGGATTAATGAGCTTCTGGACAGGCATAATAATCTTAACTCC
+GGAACTGAAATCAGGAAAAAAACACTGAGACTGTCAGATGAAGCAATAGCCGACTGGCAGGAAAATCATG
+CCGTAATTCAAAGAATGATTTCTCCTGGTGGTGAGTGGGAGCATATCAGGGATATTGCGTTAAAAGCCAG
+CGCAAATATATTGAGGCTATCTGCTCTTTTTAATTACGTTCATGATGATCGTGAAGATGCCATTCATTCA
+CACAGTCTTAAGGCTGTTATTTACTTGGTGAACTGGTATCTTGGTCAGGCCGAAAAATTATTTTATCCTA
+TGTCAGAGCGGTATCAGTTTGAGAATGATGTTCGCAGATTATATGCATATATCTTTGATAAAGTGAATCA
+GAATAATGGCTACCCATTTCCGAAAAATCATCTTGAAAAATATGGTCCTCACAGTCTACGGAGAGCTGAG
+AAACTTACACCGGTACTCAATCAGCTAATTAAGCAGAGGCTTGTATGTGTTATTCAGATATATCCTGGTC
+GGGCGCTTTACGTTGCATTATGCAACCAGAATGGCATAATCATCGCGCCATATAATGTTCATTACACGGT
+GATTCAGTCCCAGGAGAATACGTGGGGAAGACCTTATGATGTTACTATTTTATGAAGCTTTAGTTGTAAT
+CATTATTTATTCAATAGTCAATCCACAGTATTTATCGAAAATAATTACATTTCAAATGAAAGTTTGTGGG
+CACAATCTTTCTTGTCATACCAGTGGTTTTATTATGAGCTTTTTTTGAGGTGTAAACACTAAAATAACGG
+CCACAGTGGCTACTGTAGCCACTGTGGCCAGGTTATAACGACATCTTATGCCATAGTTGTCCAAAAAATG
+TGCTAATGGTGTGGTCGATTGGTGGGGATAAATCCTCTGCATAACGTGTTTTTACTTTCGTTTTACCGTC
+AGTTATTAATGTATAAGAAAAAGGTGTCCATGTCGTAATGTGTATATTCTCTGTTCTGTTATGGTCATCA
+TTGAGAGATAATGTTTTTATTTTTACTGATTGTTTATATATCATTGCAGTAATGAGCGGATAACATACTG
+TATTTGTTCTTTTCCTTTTCAGGATGTTATTCACATGGATAGGACTACATTTGAATTAAGTTTTTAAAAT
+AATTGTATTCGACCAACTTTAAATCTGTGCTGTGGGATTCTTAATATCCTGAGATCTTCCTGATACCTGT
+TCTCTCTTTTTCTTAACTCCATGTTCATCATTATATTTACATCAGATACAGGTAATTTTAATTTAGGTTT
+ATTACTATTATTACACTTGCCCTTTACTTTTACTCTGTCTTTATTTACTCTTGTTATTTATCCACTCCAT
+CCCCCTCAATCATAACGACTGTAACTCATATGATACTCAGATAAGTTATTCTCTACTACGCTATCGCTGA
+TATCCATCTGTTCTCATTTTTAGTGAGACAGCAATTGATTTTAATCTTATTCATCATGAACTGTATTTAC
+TTAACGATAATTGTTTATCTGAAGTGTTTTAACTATTCTGGTGAACATCAATTTTTTTGTCATTACTGAT
+TAACCGAAAGTTTACTCTTTGATAAGGTATTCATGATTCTGTAACGATTAACAGAACTGAATAAACAATG
+AAATTAACAGAGTGAATTCCTGATTATGTTTGTTCGTTTCTGATTATCTTTTATGTTAAGCAAGATAAAA
+ATAACCCATCCATGGTATATTTTATTCTGGTATCGTGAGCCGTTAACGCTCATGTTTTGAAGTGATTCGT
+TTTTAACAAGTTAAATGAGAGTGTATAATTTTATCAGGTTATAGATATGTGTTGGCCTTGTACACGTTTT
+TGCAGACTCACTGAGAGCAAGTTTGTAGTTTATGATGTTATTGGTCGTAATATGTTTCTTGAACTTCTGG
+TCGTGGGTTTTTATCGCGTGTTTTGCTGTATTTCGTGATGTTTATTGATTCTGTATTTTATTCGCTCCTC
+ATTTATCTCATCTCTTTAGCAAATACCATCAGATAATCCATTTCTTTCTGCATAATGCTGCGTATCGTTA
+ATAACCCGTCGTATCCATTCTGCTACAGCATGCCTGATAAATACCATCTGTAAGTTATTACCGTTTTAGA
+TCTGATTATGAGCGAAAGTATTAATTCGCTTACAGCACTTAAAACATCATTAACTTTCAGGAGTCATCAA
+CATGCCTAAATCTTACACACCAAACTGGTTTTTTACCGCTTTACTTGACAATCACATCAATCAAATGATG
+GCACGCTATTCCTGCCTGCGGGCCTTACGGATGGATTTCTTCTACAGGAAAGATACGCCTGATTTCTTAC
+AACCTGATCATCGCTGGCTTGAATTGCAGTTGCGTATGCTGCTGGAGCAGGTGGAACAATTTGAAAATAT
+CGTTGGTTTCTTCTGGGTGATTGAATGGACGGCTGATCATGGTTTTCATGCGCATGCGGTTTTCTGGATC
+GATCGTCAGAGGGTTAAAAAAATATATCCCTTTGCGGAGCGGATTACGGAATGCTGGCGGTCTATTACGC
+ATAACAGCGGTTCGGCACACCGCTGTACATATCAGCCGCATTATACATACAACATCAACATTCCTGTGCG
+CCACAACGATCCTGAAAGCATCGATAATATTCGCGGTGCCCTGCATTATCTGGCGAAAGAAGAACAAAAA
+GACGGGCTGTGTGCCTACGGCTGCAATGAAGTTCCTGAACGTCCTGCTGCAGGGCGTCCTCGTAAGCCTC
+ACTTCTGAAGCTTAAGGCCTGAGCCTCCGCTCCTGGAAACACTCCGTCGGTAAAAACTTACCGCCTTGAT
+TAATGATGTGAACTGAAGTCAACGGAGATCATTCATCCTGAACCTGAATCCGGTGTTCTGTCCCTTATCT
+TCCCGTTCTGCTTCAGTTCTTCACTTATTCCATCAATCTCATCCGCAAGCCATAACACGTCAGCTCATTC
+ACGGGCAGGACGCATTGTGGGCTGCGCATAACGGAACATATCTTATGAATGCTATTCCTTATTTCGACTA
+TAGCCTGGCACCCTTCTGGGCATCTTATCAGAACAAAGTCATCGGCGTCCTTAAGCGTGCGCTACGTGAG
+CAGTCCGGCTCCCGGATACGGCGGATCCTGCTTCGTCTACCGTGTGAATATGACAATACCTTCAACAGCA
+GAACGACCTGGTTTGGTATGGACTTTATTGAAACGGTCAGCGCGCTGATGAATGCAACACCCGGGCGTGA
+CCTCTGCTGGCTCCTGACCCGCCATCCGGAAAAGCCGGAATATCATGTGGTGCTGTGCGTCAGACAGGAG
+TATTTCGACGGCCCTGAACTGGACCGGCTGATTCTGGATGCCTGGAGCAACGTACTGGGCTTCGCGTCAC
+CGGGTGAAGCGGCACCGTACCAGAAACAGATAACCCGGGATGTGGTGCTGGACAGTCGTTCACCGGACTG
+CGAAGACATCCTCAAAGATTTGATCTGGGCGTTCAGTGATTTCGCCCGCGATCGTCGTGGTGTGTGCGAT
+CCGGAAGCCCGTTGCCTCGCCGGTAATCCCTGGTATCCCGTAGCAGGCCAGCTCTGAAAGCACAGTTCAG
+CAGATTCCCCCGCATTTGCACAACCTTCATAAATCTCACAAAGGACATTCTGACCATGTTGACCACAACA
+AGCCACGACAGCGTGTTGCTGCGTGCCGACGATCCCCTGATCGACATGAACTACATCACCAGTTTCACCG
+GTATGACCGATAAATGGTTTTACAAGCTGATCAGTGAAGGCCATTTCCCGAAACCCATCAAGCTGGGCCG
+CAGCAGCCGCTGGTACAAAAGCGAAGTGGAGCAGTGGATGCAACAGCGAATCGAAGAGTCACGAGGAGCA
+GCAGCATGAAACGTGTTGTAATGCCAGCGCTGGTATTGTGGATCCCGGCCCTGCCCCTGGTGCTGGCGAC
+ATTACCGTTCATCTTCCTGCTGACCCTCTCCGGTCAGCCAGCAGATTGTAGCTCTTTCCTGACTGATTCG
+TCATTCCATTCACATTGTTTATAGCTGGCATTACACCGGTACTGGCGTGCTTTCCTGCGTGTCTGCACCG
+GGTTAACAAAATTCAACGGGGATAAAATAGTGCATATAACCGAAGCATTAATTTTAGAGCCGGGAGACAT
+CCGGCGTTTTATTCAACAGGCTGTGGACCACTGGCCGCATCTGCTGGTATTTCACTTCATACTCCATTCG
+ACAGAAGGAATCTATGGTCACCCCCTGAGGAGTCCCCAGAAAACAGACTGGTATAGGGAGATTGTGATCT
+AATAATTGTGTTATTAATTCAATGAGATAATCACAATGCCTACACGTTCATTATGCCAAAAGTTCTTCAA
+AAATATACTGTCCCCATTACATCGCTATCGCCAGAACGCGCTTATCGATGCAACCAGCGCAGTCATTAAT
+GGAGCTAGCCTTACGCTAACCAGCATCGGTCGTTACCTCCGGGGCAGTACTTCCGTCAAACATAAAATCA
+AGCGTGTTGGCCGATTGTTGGGTACCCGAGCCCTGATGAGTTCCGCACCTGATAATCCTAAAAACATCAT
+CGGCTTCAGTGAGCCATTTCATCTGTTAGGTTTTTAATCAGGTCTATTTGCCGTTCATGTCACCAATAAT
+CAGTCTTCGCAAAACCAGACAGGTAACTTGTATCTTATTGTTTAAAATAAGCTAATTGAGTTTTGTCAGT
+ATCTATATCAGGCCTGATATTCTTTTTTCTGAGTAGTGATTGCCCAGGCAATTCGAGCCAGTTTATTTGC
+CAGAGCGTAGGCGACAATATTCGAATGCTTGTTGTCGAGTTGCTTTCGAACCCATTCAGCGAGTCTGCCC
+TGTTGATGCTCCAGCCGCATCATGAACGAGCGGACGCACTGAACAAGTAACCGACGCAAATTTTGGTCGC
+CTCGTTTGCTGATACCCAACAGAGTCGATTTTCCTCCAGTACTATACTGCCGGGGAACAAGCCCTGTGGA
+AGCTGCAAAATCCCTGCTGCACGAAAATTGTTTACCATCACCAAGCAGGGATGAGAGCAGACTGGCCGTC
+ATCGGCCCAACACCGGGGATTGTCATGATGCGTTGCGCAGTAGCGTCAGCGTTGATTGACTGGTTTAACT
+CTGATTCCAGCTCTGCTATTTGTTCAACAAGGTAAAGGTAGTGGGTATGCAACCTCCCCAAAAGGCGGCT
+CAGATATTCGGGGATTTCGTGTTCAGCCAACACGAGAGACAACTGTTTTATTAAACATCACCTGTCGGCA
+GACTGATTCCAAATTCCAGCAAGAAACCGTGGATCTGGTTGGTTGTTTTCACCTTATCTCTGATGAGCGA
+TTCTCTGACCCGGTGTAACGCCCTCATTGTCTGCTGGGCCTCAGTTACTTGGCTGGACAAAACGCATTGA
+TGGTCGTGAAGCTGCTTCACATATGGCTTCTGCATCAACAAAATCATTCTTATTACTTTTGACAAACGGG
+CGAACGAACTGTGGAGAAATCAGCTTAGTTTCATGTCCAAAATAAGAGATACGGCGAGCCAAAAAGTGTG
+CACCCGCACAGGCTTCCATTACAACAACTGAGGGCGGACATGTTGCCAGAAACTGCATCAGCTTCGTACG
+CGTGTAGTGGTCAACAAAAACTGGCCACCGCTTTAGAGTTTTTCCAGTATCGGTTTTCCGATTCATTTGG
+TGGCAACCCACCGTTATATTCGTGCGGCCTGAGCGCGTTGTAATACCCAACGATATAGTCCGTTATTTCA
+TGGGCAGCATCGCTGAAGTTCATGTAACCCGTCACCGGTATCCACTCGTTTTTCAGACTCCTGAAGAAGC
+GCTCCATCGGGCTGTTATCCCAGCAATTTCCTCGTCGACTCAGACTCTGTTTGATCTGGTAACGCCACAG
+TAACTGCCGGAACTGCCTACTTGTATAGTGGCTGCCCTGATCGCTGTGGAACATTACCCCGGCTGGTTTA
+CTGCGGATTTCCCAGGCCATTTTCAGCGCTTTGATGGTCAGTCTGCTGTCCGGAGAGAACGACATTGCCC
+AACCTACCGGTTTCCTTGCAAACAGGTCGAGAACAACGGCAAGGTATGCCCAACGTTTCCCCGTCCAGAT
+GTACGTCACGTCGCCGCACCATACCTGATTTGGCTCTGTCACTGCGAACTGCCGCCCAAGGTGATTCGGG
+ATAGTGACATGTTCACGACCACCTCGTTTATAACGGTGCGCAGGCTGCTGGCAACTGACCAGTCCCAGTT
+CTTTCATGAGTCTGCCGGCAAGCCAGCGCCCCATTCTGAAGCCTCTCAGGGTTGCCATTGTGGCGATGCT
+TCTTGCCCCGGCAGAACCATGGCTGATGTTATGCAACTCAAGTACCTGACTGCGTAATACAGCCCGTCTG
+CCGTCTGGTTTTTCAGGACGGTTTTTCCAGTATCTGTAGCTGCTGCGATGAACCCCGAACACATGGCAGA
+GTGTGACCACAGGATAATGCGCTCTGAGTTTCCCGATTATCGAGAACTGTTCAGGGAGTCTGACATCAAG
+AGCGCGGTAGCCTTTTTTAATATTTCATTCTCCATTTCAATGCGTTGTAGCTTTTTCCTCAGCTCACGTA
+TTTCGATTTGTTCTGGTGTTATCGGAGAGGCTTTTGGTGTTTTGCCCTGACGCTCATCACGCAGTTGTTT
+GACCCATCTTGTCATTGTGGAAAGGCCGATATCCATAGCTTTGGCGGCATCTGCCACCGTGTAGTTCTGG
+TCAACAACCAGTTGAGCGGATTCGCGTTTAAACTCTGCGCTGAAATTTCTTTTTTTCATTGGAGCACCTG
+TGTTGTTCTGAGGTGAGCATATCACCTCTGTTCAGGTGGCCAGATTCAGTGTGCCACTACACCCCATGGG
+GAGAGAGTGATCGTCGCAGAGAAGGCTGGCCCGGAGGACATGATATTCCTGAAAATGGTAACCACTCTAG
+CCAACAGCGATAACACACCATGGCAGTTTTCTTGTCATCATGAATGTAATATTTTTTGAATATCAGCGAG
+ATATCATTATGAAGTTGTTTATTGTCCAACAGACGGCCAACACGTTTTATTTTATCTTACACGCGAGCAG
+ATCCGGGTAAATGTCGGTCAATGCAGGTAAGAGAAAGAGAGGTACCACCGACTGGAGCAGCAGCAGAATC
+AATAAGGGCATTTTGTCGATACTGAAGCATGGAAGCTGAGGCATTACGGAAAAATTCTGGCATACTTTAC
+GGGTAGACATAGAGGTGATCTCATTGAATTTTTTAGTGCAATTGGTGGATTACAAAATTCTATGGCTGTC
+TTATTTTCTGGAGGATTCTTCAGCCTTATCGGAGGAATTCTGAAAAGTTACCTCTTCAGGAAGTGGTCTT
+TTACACTGCCACAATTCTCCACTGTAAGTATTAGCATTATTGTGCTCTTCCTTGTCTAGTGTAGCAGCAT
+GTAGTGAATTTGCTTCTGAACTGTGCTAAAATACCTGAGCGTATTTCTGGTAACCGGTAATAACGGGTGA
+ATGTCCAGTTGCGTAGCACCGTACCGGAAATACGCTACTGCTACAGTAGACTTGGATATGGCAGAAGCAG
+AGCGAGCGTTGAGGCTGGGCATATGTCCAAAGAAAATAGTTCTGTATGACAATATATCAGCGTTGTGTAT
+TCCATTGATTCATGGATATAATTTGTTCTAGATCTCTGCTTTGTTTCCCGGACTCTAGGCCCATCTTGGC
+AATAAAGAATAAGTACTCTACTTGTATTCGTACAATATCAGAAAAATGAGCCTATAGGATGTAATCTACA
+TAAGCAAAAGGCCACTTCCGAGGAAGTGGCCTTTTGCTTATGTAGATTATTTTGTTAATAACAGATGAAG
+TTGTTTTGGCGTCATTCCGAAAAATTGTCTGAAATGGGATATGAAGTATGATATATTATTGTAGCCAACC
+TTATCGGCTATCTTAGATACAGACAACTCCCCTGCTATTAAAAGAGTCATTGCCTTTTTCATCCTTATTT
+CAAGAATTAGTTCTCTGAAGATAACCCCTTCTGCTTCTAATTTTTTTCTTATCGCTATTTCTGAGATGCT
+AAATTCCTCAGACAATAATCTCAATGTCCATTTCTTTGCTATGTTTGATTCTATTAATTCTATCACCCTA
+TTACAAAACGTTGTTGCAGCTGAGAAGTATATGAGAGGGAGTATTGCATCCATTACACTAGATTCTTTAC
+AAAAGAATATAAATGATAATATTCTATTATGATGGCTATCCTCAGAAATTATATTGTAAAAGGAGTTTTT
+GATTCTGTCATTTACTTCGATGCTTATTATTTTCCTTATTTTAGGAGAGTCGGTTTCAAAGTCAAGAGGA
+TTAATTTTGCTAAACCCATAAGCTAGACTCAATATCTTTTTTAATGTTATAATCTGAGTATGGTCAAAGA
+ACACAGTATCCCGTAATATGCGATCATAAAGTTGATCTGCCATAAATGAAATTCTAACATTTCTACCAAC
+AATTACGACAGAGTTTCTTTTGCACCGTATCTGAGTATTATCAGATAAGTTTGTGACCAAAATGTCATGC
+TCACCTGTATATAATATCGCAAGTTTGTTAGTTCTTAATCTTATCATATTGTAAATAAACGAAATCAGCC
+TAAAGAAGTAAGTGACGGTATTTTTTTTTATCGCCACGTTGCTTTTCGATAAATTTTTACCATAAATAAA
+AAAAAGCATCTTTTTTGTTTTTTTATCTACAGCAGAGAGATTTTCTTTATAGGATTTTTTAGGTCGCCAC
+GCTTTGGCTCCTCAATGGCCGGAGATTGTTGCAGGACAAGCGTGGGGGTATTTTAGATATTTTATTTCTA
+GCAAGCAGGAATTCTCAGATGAAAAAAATGATTATGCCTTTAACTATGGTGTCCGTTCTGATGAGCGGTT
+CTGCTCTGGCTGCGATTGGTGATAACGGTCAGGCGAATAACAATGATGCAAGTCAGGCTGAACTGCATTT
+TACTGGTAAGCTGACTTCCAGCCTGTGTCAGGTTGCCACATCTGATGTTAAAAAAGAAATTTACTTGGGT
+GAACTTAGCCAAGCTGCGTTAACGCAGGGACGAGGTCGCGGGCCATCGCAGTCTTTTTCAGTTAGTTTGG
+TAAACTGCGATCCACAAGTTACTACCATTAAGTATTCTCTGCAGGATAAAAACGGCAGTAAAGGTGATTA
+TCTTGTAAACCAGTCAGGGGATACGATGGCCAAGGGGGTTGGCGTTTATATTGAAGATAATTTAAATCAA
+CCTTTGCAGGTTGATGGTGCAGAAAATACTGTAACTGTTCAGAATAATGGCACTGGTGCTTTACCAAATC
+AGGTTATTCCGCTGGCAGCGTATATTGGTAGTACTAGCGGGAAAGTGGATGATGTTGGTACAGTGACTAT
+GGGTCTGGTTGATGCCAGTGCAGTAATGACCATTCGCGCAGCACAGTAAATCAGTACATTTCTCTGTTCA
+TGGGAGGGGGTTCCCTCCCATTCCGGGAGAGGTTATGCGTTATCAGTATTCTGTTTTATTCGTCTTTTTA
+TTCTCTGGCGTTGTACAGGCGGCGGAGTTTTTCGGTCCGCGGGAAAGCCGGTTGCTTTTTGAAGAGAAGA
+AAGGAAACACCTTTTACCGGATTGACAATTCAGACAAAAAACTTCCCTGGCTTGTACAGGCATGGATTGA
+AGATGCGTCTGAAAAGAAAACAACCGCACTGACAGCCACGCCCATGGTGTTTCGCGTTGAGCCTTCTTCT
+GTATTTACTGTCAGGGTGGTTAAAACGGGAGCCCTGCCGGAAGACCGGGAAACACTTTTCTGGGCCGTTT
+CCAATTCATTACCGGGAGGTGCCTCAACAAAGCAGGATAATGAAGAGGGAAAAATCAGCGCTAAAATCAG
+CCTGGCTTACCGGTTTAAGGTGCCACTTATTTACCGGCCTGCAGCGTTGGATAATTTCAGGCAGGAGCCG
+GAGAAACTGGAATGGACATATAATGGCAAGGAAGGGCTGAAATTATATAACCCTACCCGTTATGTGGTCC
+AGTTACATAACGTGACGGCGAACGGACGTGAATTTAAGGGCAAAGGGGTTTCGTTTATTCTTCTTCCGAT
+GTCCGGTAAAAATGTGAGTGCCGCTGTGAATAAAGGCACCAGAATAAAATATGGTGTCATAAATGACTAT
+GGCGCGGTAAAAGAATATGATGGTGTTGTTAAGTAATGCTCTAAAAAAAGCAGTGCTTTCCCTGTTGGCG
+TCCTGTAGCATAGTTGTTTTTGCATCTGAATCAGAACTTGGCGTTGCTGTAGAACCGATGAGGTTATCAA
+TTAAGCCTGGAGAGATGACATATTTTACGGTTATCAATGAGACAGAGAGAGAGTACATTGTCACCACCAG
+GGTAGTAAGTGACTCAGGGATTGATGATAAAGATAAAGTATTTGTCTTTAGTCCCCCCCTGAAGCATTTA
+AAAAAAAGGGAACAGTCTGTAATGGGAGTTGTATATCTGAAAAATGGGAGAGAGAATAAGATGAAATACT
+ATTTATCTGTCTCATTTGTCCCTAAACTTTCTGAGGATAAGGTGAAAATATCTATTCCTGTAGTTCTTGT
+TCATCAAATACCACTGATGTTTGAATAATCTTATTGCTCAAAGACAATTAGAACATATAGTGAATGCTTT
+AAGTCAGCATGTTTTTTTATTGGTTCGCAGATGAATAAATATTATCTACTAATAATTCTTTTTTTTGTGA
+GGAGCACAAAGGTTTTTGCCGAAGATTATTTTGACCCATCTCTTCTGGCAACCGATATTATTGGTGAAGG
+TAATATTGACCTTTCTGCATTCTCACGCCCTGGTGGAGGTATGGAGGGGGAACAGGAGGTCGCTATTTAT
+GTCAATGATGAGTTTTATTCCCGTAATACTCTGTTTTTTAAAAATACTTTAGATAAAGGACTTTTACCTG
+AATTTACCCCGGGATTTTTTGACGAATTGTTGTCGGGGGATTTTCTTGTGTCTGAAGAAGATAAAACAAT
+ATCATCATCAGACTTCCTGAAAAAGGTTCCTTATAGTGATATAAACTTTAATCAAGGAATGTCTCGCGTC
+AATGTCAGCATTCCTCAGGCATATCTTGGTGATGGAGCAAAGTTGATCTCCTCGCCTGATACATGGGAAT
+ATGGGGGGCCGGCATTTTTGCTAGATTATAATATTTCAGGCAACCGGAATGATTCAGGAAATTATGATTC
+CCGTAGTCTGTATATCTCTTCACAGATGGGGGTAAATCTCATGAAGTGGCGTTTGCGTACATCCTCCAGT
+TACAGCAATTATAAGACAAATTCTGTATGGGGAGGTGCTCGTTCAGAGCAAAATAGCTTTTACAATACTT
+ACGCAGAGAGGGATATTAGCTCGTTACGTGCAATATTACGACTTGGTGAAGTTTCGACTGCAGGGTTAAT
+ACTGGATTCTGTTCCTTTCCGAGGTATGAAGCTGTCAAGTAGTGATGACATGCTGGGGATGCGTTTGCGT
+AATTACACACCCACAGTGCGAGGTATGGCGAGCAGTCAAGCAGTTGTTACAATAACTCAGAATGGGCGAC
+AGGTATACCAGACAAATGTACCAGCAGGGCCATTTGAACTGAATGATTTTTATCTTTCCGGCTATTCGGG
+GGACATGCTGGTGACTGTCCGTGAGGCTGATGGTAGTGAGCACAGTTTCTTGCAACCTTATTCGACCCTT
+CCGGAAATGAAACGCGAGGGAGTCTCCGGATTTGAGGTTTCGGTTGGTCGCTATGATAATAACGGTGCTG
+AACACTATTACGATGCTGAGTCATTTGTTTATGGTAACTGGTCTCGGGGTTTTGCTCGTGGAGTGACATT
+TTTTGCTGAGACTCTTCAGGCAGAAAAATACCAGAGTCTGGGGGGAGGGAGTACGTTGTCGCTGGGGAGG
+CTGGGGGCTGCATCTGCAGATATATCCTTATCACGAGCAGATAAATACGGTGACATCCGGATTGGTCAGT
+CTTATGGCTTTAAATACTCCAAGAGCCAGATTGAAACGGGCACAACGGTAACATTGGCAACATACCGATA
+TTCCACTGAGAATTTTTATACTTTCCGTGATTTTGTTTCGAAAACGGATACAGCTCGTTATATCTGGGAA
+AATAAACTGAAAAGCAGAATGACATTTAGCCTCAGTCAGTCTCTGGGGGAGTATGGCTATTTGTCAGCCA
+ATGCCAGTCAGCAGGATTATTGGAATAGCCGAGAGGTGAGTCGAAATTACTCGCTGACTCATAGCTTTAG
+CTGGAATGATATTTATTTCAGTACAACGTTGTCCATGGATGATCAACGAGGGCGGGAGACTGGACATTTA
+TCCAATAAGCAAGCAGGGATATATGCCAGTGTTCCTTTAAGTAAGCTTTTACCTAGAACTGATCCGACGA
+GTAGTTCGCTAACTTGGAGTACTTCGCATGCTGATCATAAGGTACGCAATAGTGTGACTCTGGACGGGAA
+AGTTCCAGAAAGTGACGTTCGTTATCGAGTGGGAGGCAGTTGGGGAAATGGAACCACTGAAGGCTCACGT
+ATGGCATCAGTGAGTTGGACTGGTGATCATGCAAGCACCTCGCTGGGATATACCCGTGTAGGGAAATATC
+GAACCCTGGATTACAGTATGTCTGGCGCAGCGGTGATGTATCCATGGGGGATTGCTGTGGGTAACAGTAG
+TGTTACTGGTGATGGTGCTATTGTAGTGGAAACACCAGGAGCTAAAGGAGTAAGAACTAGCACCGGATAC
+AAAACTTCATGGTTGGGAACGGCTTTAATTAGTTCACCACAAAAATATACAGAGAATCGTATTAATTTAT
+ATCCCGACGGTCTTCCTAGTGACACCGTCCTTGGTGAAACATCTAAAACTGCAGTGCCTGCTAAAGGTGC
+AGTCGTTGTGCTGGATTATACTGTCTTTCGTGGTAGTCAGGTGGTGTTCACACTGAGACAGACTGATGGT
+AATCCATTACCGTTTGGTACAGTGATTACGCTTGATGGTGTATCCAGAGGCAAGGAAAACAGTGGTATTG
+TAGGTGAGGAGGGCCGAGTGTATATGGCGGGTATACCGGAAAAAGGAACTCTCACTGCATCATGGGGGCT
+GAATAAAACTTGTAGCATACCATTCCGTATAAACCAGCATAAAGCTGAGGCCGTTATCAGGGAGGTTCAG
+GGAGTATGCCGTGTATGATGTTACAGATCTTCATTACAATTTTACTGTTACTGCCTTTATCAGTTACGAA
+AGCAGATATATTATATCCGTGGCCAAGTGATACTGAAGTCAGGCTGAAAATAAGTGACGAAAAGGGTCAG
+AGCAGGGGAGATCTACGAGTTACTAATCCTGGCGATGCACTCTGGTTGGTTCAGGCATGGGCTGAAGATG
+AAAAATATAGACGATATAGCGTTATATATCCATCCGTATACAGATTGGAGCCATTTAGTGCTTATGCGCT
+GAATATTTACCCTGGTAATAATATTATGCCAGAACGGCTGAAATGGTTTTTGATTTCTTTTATACCTTCG
+ATAGTGGAAAAAAACAAAAACCAACTAATTATACCAGTTACTTACAGACTCAAAATAATTGATGATGTGG
+TATGTAAGGGTATTGAAAAAGTAGCTGGTGAGTGTTAAGAGTATGCTGAAGAAAATACCGTGCATAATAT
+TAATGTCTTTACCTGGACTTATTTCTGCTGCGGAAATAACAAAGCAGATAGAACTCACGCTAAAAGTTAA
+TGTATTAAAGCCAGTATGTAAACTCAGTTCTGGGCAGCAAACAATAAACTTCGGTGATTTTGATGTGCTG
+GATGTTATTACGAAAAGTAGTAAAGTGAATGGTAGCGCTACATTTAGATTTACTGAGTGTAGTGCTGTCA
+ATAATATAAAAATAAAATTTAAGCAAGCCGGACAAAGCCCAGTTCCGGATATAGAAAACAATTATATCCC
+TAATGCTAAGGGGGATATAATGGCAAAGGGGGTGGCTGTAAAGCTTCTGGATGATCAAAAGAAAGAGGTC
+GAGTTGGACAAGATAATGAGCGTTAGTGTGGGGGAGAATCAGATATCTAAAGATTTAACGTTAAATGCTC
+AGGTCATCTCTGTTAATAAAACTGGAGAAGGGATTTCGCCGGGAATGCTTCAAACGGCAATAGGGATGGA
+GATTTCATATGAGTGATATATAAAGTGTGGTATATATGTTGAAGTGTCTTTGTTTTGGATATTTTACCAA
+AAGTCTAATGCAACGCATTATTAAATGCACGTATGGGGCTGGAGAGTATGCTACCATTTTTACCGTTTTA
+TTTTTTTCTGCGCATAGATGTGCAATAGCAGTTGAGAATAACTATACGATATCAATCGACAAGACATTTG
+ATATATCAAGTATTACCAGAGACTGGATAGAGTTAGGTGAGTTTCCGTATCCAAAAGCAGCAAGTAATAA
+TGAGACCCATTTCCGTTGCACTGAGGGAGCAGGAAAAGGTTTATGCGCACATACAGAGTTTAGAGTGAAT
+GGAGGCTTACAGAGTAACCCCGCAGCATACTGGAATGGATGGATGAGGATGGAGCCTAAAGAGGTCAATA
+TAGGAGATGGGGAAAAGTTAATTTTTTCAGCATACTGGAAAGGAAGCCCAAGCATAAGATGGGAGGAGAC
+AAATAGAAGAAATATGAAGAGTATTTTTCATCAATACACTATTGGTGTTGCTTCTATTGGCTCATCTGCC
+GGCTCAATAACTAAATGGTCTTCAGGCGAACAAGGACCATCATTGAGGTGTGGGGATTTGGGCGGATGTA
+CAATAGATACACATACGTACTTTGATAACAGAAGTGGAGGAGCATTAAAGCTAGCGGTCAAGCTTCCGGC
+TGCTTTCAGGAAAGGCACGTATACATTTTCTAATGTTGAAGTGCTTGATTTGGGGCATACAGCGCGAAAT
+GCTTCTGGCACAACACAGCAGAGTGTCAGTGCTAAAGTTTATATTAGTGGGAAAATTACTGTGCCTGAGA
+GATGTTATATTGATACAGGATCAGGTTCTGAAATAAAATTTAATGATGTAAGCGCAGGGGCAAGTAATGG
+GGAGATTGATAAACGCAGTTTTACATTAAAAACAACATGCAAATATATTAATCTTAAACTCAATCAATAT
+ATCAAAGTAAATGGGAGTAATGGTCTTTCCGAGTATGAGATTTTTTCCAGAGATAACTCAAATGAAAAAG
+CATTGGCACTGGTGATGAGAATTGTTCGTGGTGACAATGGAGAGGACTTCTCCGCAAATTGTGAACCTGA
+CCATTCGGGTAGGGTATATTTTAGTAAAGAGTATCTCTTGAGAGAAATAAATGGCAATGGATTGAACATA
+CATACTTACAACGATATAATAAGGTTTTCATTATGCAAATATGGAATACCAAAAGATTATGGAGAAAAAA
+TCATTCCACTTACTATTGTTTCGAGATGGAGCGATTCCTGACAGGAGAGTTATAGTGCGCCAGTTCACAG
+AGATATTTGCAAATATCTCCGGTTAGATGAAAAACCTGTCACGGTACTTGGCGCTGGCGAAAGCGTTTGT
+GTACGCCCTGAACCAGTAGCTGGCACTGACGCCCTATGCAGAGGATGGTAGGGCCGAAGTCGATAACAAC
+ATCGCAGAAAATGTCCTGCGGATAGTCAGTCTGGGGGGGTGCCCCTATTAAGTTGTCAAGCATGTTATGA
+CGCCTGCGGGGTATAAAAACTCCCGTCGCGCATCATGGCGAACAGAACGTCGCAGCGTCGTCTCGCCAGG
+GCGATAAGCGCCTGATTGTGTCGTTTTCCCTGACTCATTTTGCGGGTGTAGTAAGCCCTGGAGATCGGAT
+CCCTGAGCGCGGCGAAGGCCGACAGGAACAACGCCCGTTTGAGAGCTTTATTACCCCGTCGCGAGGGATG
+CTCACCGCGTATTGACGAGCCGGATCGCCGAGTTACCGGCGCAAGGCCAGCATAAGCAGCGAGATGTGCG
+GCAGAGGCGAAGGCGCGGCAGGCGACCTCGGTGAGGAGTCTGGCTGCGGTCCTGACACCGACTCCGGGCA
+TACTGGTCAGGACCGGGTAAAGAGGGTGAGCAAGAACTCGCTGTTCTACCTCAAGCGCCACCTCGTCTCT
+TTGCTTACGCAGCGTGATGAGCTGGAGTGCCAGACGTGGCAGTACTACGGCAGCGGCATTCGTGCCGGGA
+ACGACGACGGTTTGTTCGGCCAGTGCCTGAGCTATGTCTGCTGCAAGGCGTTTACCCAGACGAGGCGCAA
+GTTTGCAGAGCTGGGCTGCCAGCTTCTTCTCACCCAGCGAAGCGAGTTTTTCTGGTGAGGGATATCGCTG
+GAGAAGATCGAGTACCGCCGGGTGATCAAGTCTCGAACCGAGAACGCGCTCCAGTGCCGGATGTATCTGG
+GTCAGAAGGCCGCGGATACGGTTGCTGGTCTGCGTTGTCTGTGCGGCAAGATCATCATCGAAGCCGCAGA
+GCATGGAGAGTTCGGCGATTTGCTCGTCAGCCAGTTTCAGCGTGCGTAGCGCGTGAGGCAGGGTACGGGC
+AGCTTCGGCAATGATGGCAGCGTCACGAGCATCAGTTTTAGCTTCACCGGCGTGTAAGTCGGCTATGCGG
+CGCATGGCCAGTCCAGGGAGGTATCCGACAAGGACTCCTTCTGAGCGGGCAACGGCGACAGGTAACGCAC
+CGATGGCAGCTGGCTGATCAACAACCAGCAGTATCTGACCATGTTGTTTCAGGTCAGATATTAGCGACCT
+GAGTTTGTTTTCGTCGTTGGGTAATGCTTTATCGAACAGGCGTTTACCTGAACGATTAATGGCTACAGCG
+TGATGCGTATCTTTACCGACATCAACGCCGATAAAGACCTGGACGGATTCGTCATCGCTGGATTCGGTCA
+TTCTGTCTCCCTTGTATATGGGTTAACCAGATAACCACGGGGAGCAGGTACCGGCATCCACGTTACAGAC
+GGTCCCGGCAAAAGTGCCTGACCTGACCCCTATTAGCTGTTACCAGCGCCCCACCAGACCCGGTGACATC
+ACCCCCCGGATCATGGACGACTGGGGGCAGTAATCATGCCGGGTCTGGCTGGCTAACACCCCATTATAAG
+GGGTACGAATAAAGTAACGGGGGACTTCCTGTTCTGCGGCTCTGACCACGGAGGAGCTCGAAGAACACTG
+CGGCATAGCCTGAATGGGACGTGCAGACTGAACGATGCTATCTTTGTCATGGGCTGACGGTTTCCATAAA
+GTAGCGAACTTTTTTCACCCGTTGCCACATTGAGCGGCACTGATGATTACACATTATTGTGCCGTGAAGT
+GTTTGCCATAGTCGTTCAACATGATTCACCCATGGCGAGTAAACCGGCTGATAAATGACCCTGAACTTCG
+GGGTCTCCTTCGGCCAGCGATGGGCACGCCCGGCAGGGAATGATTTTAGTAACCAGTTAATCCAGCGTCC
+AACAGAGGAACGGGTGCAGCAGAGCGTTATGGCAACGTCGTTGATACGGTTGCCCCAGTGCAGCATCAGC
+ATGGCAGTCAGTCTGCGGGCATAATTTTTATCGTGTGTTTTATGGATGGCTTTCTGCATCAGGTGTCGTT
+CGTCACGGGAAATTGGTGCTATGATCGGCATTGCTCAGTTCGGTTGGTGATTTGTTTTGATTTGGCGATT
+GATCAGAGCGCACAATTCGGGCTGAGTACCCTCAAAGTGATCTACTATTCCGCGCAGCTATTTAGCGCAT
+TACACTGCTAAATGACTAACGCATCCCTGTCAATACTGCTCTCGCTGTATGCTTACGCTGCAGAAGCCAT
+GACACATTTTCTTACCTATCATCGGCACCCATAAAGCAACAGTGTTATACTATAACAATTTTGATGGGGG
+ATACTGTGGTCAGTCTTTATGCTTTTTCCGCAATAGCCCGACTGGGTATCGTCGGTGTGCTGCTGGTACT
+GTTATGGACTCTTATTTCTTGGGCGGTGGTACTGGCATGATCGCATTACATTCACTGGCATTTGGTTATT
+CGGGACAGCACCCGCTGGGTACGCTGGATGGATGTTTTGACACCGGTTCACTGACTGCCATTATCGGAGC
+GAATGGCACAGGTAAGTCCACCTTGCTTAAAACGTTGGCCGGTCTGCTGCCACCCCTGGGGGGTTGCTTC
+TGTATGGTACCGCAGGGGCAACGCCAGTTAGGTTATTTGCCCCAATTGACTGAATTTGATCGCCAGTTTC
+CACTGAGTGTTAACGATCTGGTGCTGATGGGATGTATTCCACACAGCGGGATGTTCGGTCGTATTTCCTG
+TCTATGGCGAAAAAAAGCTATCGAAGCGCTGGATACCGTCGGTATGACAGAATTTTCGCAGATGCACATC
+GGCACACTTTCCGGTGGTCAGTTACAGCGCGTACTGTTCGCACGACTGCTGGTGATGCAGCCGTCGGTTA
+TTCTGCTGGATGAACCATTTACTGGCATTGATGTTCAGACTATCCGTACTCTGCTGGTTGTTATTCGGCA
+GCTACATCTGGAAGGACGTACAATTCTTGCGGTGTTGCATGACATGGAACAGGTAGAAAAATACTTTTCT
+CATGTACTGATGCTCAGTGCGGAAGGCCACCGATGGGGGAGAAGTGCCGATATACTCCATTCCCTCACGG
+CTGCAGTCACGCCACCGCAGCAGGGGCTGCTGCCATGATGTTACTGCACCTGTTGTGTGAGCCATTTGGC
+GATTTCGGTTTTATGCGTCGGGCACTGGTCGGATGTCTGGCGCTGACCCTGAGTGCCGCGCCACTTGGCT
+GTTTTTTGCTACTGCGCCGTATGAGCCTGATCGGTGATGCACTGTCCCATGCGGTGTTGCCGGGAGTAGC
+AATTGGCTACCTGGTATCGGGCATGTCGCTGGTTGCGATGGGAGTCGGTGGCTTCATTGCCGGGCTGTCT
+GTGGCGATGTTGTCTGGTGTGGTCAGCCGCCGCACTGGATTGAGAGAAGACGCCAGTTTCGCTGGGTTTT
+ACCTCGGCTCGCTGGCACTTGGCGTCACCCTGGTCTCTTTGCGTGGCTCCAGTGTCGACCTGCTGCATGT
+GCTGTTCGGTTCCATTCTGGCTATTGACGCCAATGCTCTGATCACTATCGGCATAATTAGTTCCGGTTCA
+GTTCTGGTACTGGCGTTGATCTACCGGGTGCTGGTGATTGAGTCGTTTGATGTCACTTTCCTGAAAGTTC
+TGTCACGTCGGTCGCGGGCGCTGATCCACTGCCTGTTTTTGTCAATGGTGGTACTCAATCTGGTGGCTGG
+TTTCCAGCTACTTGGCACCCTGATGACAGTCGGTATTATGATGTTACCGGCTGCCAGCGCGCGTTTCTGG
+AGTCAACGTCTGTCCATCATGTTGTTAGCGGCAGTGGGTATTGGTACCTGCGCCAGTCTGGTTGGACTGA
+CCTGGTCTTATTACGCTGATTTGCCTGCAGGCCCTGCGGTCATCCTCACGAGCACTCTGTTTTTCTGCTT
+TTCAGTTCTGTTTGGCTCTAATGGCGGCATGTTATGCAGATGTCGCTGACAAGAAGTGTTTTTACACATA
+GCAACGAGATGAAGGAGGAAAGATGAAACGGTCCATTTTGGTTGTGGCACTGTCCAGCCTACTAGTAAGC
+CCACTGGTGATTGCAAAAGAGTTGAATGTGGTGGCAAGTTTCTCGGTACTGGGCGATATGGTCAGCCAGA
+TTGGCGGCCCATACGTTCATGTCACTGATCTGGTGCAACCGGATGGTGATCCACATGAATTTGAACCGTC
+GCCGAAAGACAGCAAAACGCTGGCACAGGCGGATGTTGTCTTTGTCAATGGATTGGGACTGGAGGGATGG
+CTGGACCGTCTGATGAAAGCCTCTGGCTACAGAGGTGAGGTAATTACCGCGTCTAACGGAATAGATACAC
+TGAAAATGAAAGAGGATGGGACCACCATCACTGATCCGCACGCCTGGAACAGCATGAAAAACGGTATTGT
+CTATGCTCACAACATTGTCAATGGCCTGAGCAAAGCAGACCCGGAGCACGCCAGCGATTATCGAAAACAG
+GGTGACAGCTATATCCAGCAGTTGCAGCAACTGGATAATTACGCCACGCAGACGTTTGCTGCCATTCCAA
+GAGAAAAACGTAAAGTACTGACCAGTCATGATGCGTTTGGGTATTTCGCTGCCGCCTACGGGGTTCGCTT
+TCTGTCGCCAGTGGGGTACTCCACTGAGTCGGAAGCTAGCAGTAAAAATGTGGCGAAACTGATTAATCAA
+ATTAAGAGAGAGCACGTAAAATTGTACTTTATCGAAAACCAGACCGATCCCCGTTTGGTGAAACAAATCG
+CCAATGCCAGTGGTGCACAAGCGGGAGGAGAGCTTTATCCGGAAGCACTTACCGACAGTAGCGGCCTCGC
+TGCTACCTACACGGCAGCGTTCAAACACAATGTCGATACCCTCGCTGCTGGCATGAAGTAAGAGAGTTGG
+CAAAAAAGTAAGTAGATATCAGGTTGCCCCATATCATCAGGTAACCTGTGACACTTCTCTTGCCAGAGCG
+CCATGTTCCAGCGCCTCACTCACTATCTGCTTATCATCCGACTTTCCCTCATACCTGTCTCGATTATAAA
+GATAAAACGATGATGCCCGGGTTCATTGTGCGAAGGCATGGCATATTTGTTCCCGGTGTCGTCAGACAGC
+ATCATTCGACTCTCCATCTGCTGTCTGACCAGACAAAAGATGGCCTTGTTTGCCGCGGTGGAAATGGAGT
+GCCGTCTGTTCTTTATTTATTGTTTATGTTATGTTATAGCATATAAAAGAGTATTGTTTGGCATCTGTAA
+CTTATTGAGAAGGCAAACTGCAGAGTGGTTAATGCAGTAATTGTATTAGCTAAAATTTTGTTAATCAAAA
+TTTGTTTGATTGTTAATGGTTTGTGCTGGTTGATGACTGTTAATTCCAGAAGGCGGTAGTCTGCATTAAT
+ATTAGCATTACGGTGACCAGCTTTTATTCCGGTTCCTTCTTTCATGAAACAACGTATTCCGAAGGATAAG
+TTTGAGAATGGCGGATGAACTTTTATTATTCTGCTGAATACAGAAGATATGAATCGTTCTTGTTTATGTC
+AGATATTCATGACACAGGTATTATGGTTAACTCATAACATTAATTCCTGTATTTTTTCTGCTCAATGGCA
+GCGTCGTATTCATATGTTTTTATCTCAAATGAAGCAAGGTGCAGGAAATAAAAATTATCATTTCTTTATA
+TGATCTTTTTATCAATGGAGATAGTATTATTTATAATGAACAGAAACAATCCATTAGAGGTTCTTGGGCA
+TGTATCCTGGCTCTGGGCCAGTTCCCCATTACACAGAAACTGGCCAGTCTCTTTGTTTGCAATAAATGTA
+TTACCTGCAATACGGGCTAACCAATATGCTTTATTAACCCGGGATAATTACCCTGTTGCATATTGTAGTT
+GGGCTAATTTAAGTTTAGAAAATGAAATTAAATATCTTAATGATGTTACCTCATTAGTCGCAGAAGACTG
+GACTTCAGGTGATCGTAAATGGTTCATTGACTGGATTGCTCCTTTCGGGGATAACGGTGCCCTGTACAAA
+TATATGCGAAAAAAATTCCCTGATGAACTATTCAGAGCCATCAGGGTGGATCCCAAAACTCATGTTGGTA
+AAGTATCAGAATTTCACGGAGGTAAAATTGATAAACAGTTAGCGAATAAAATTTTTAAACAATATCACCA
+CGAGTTAATAACTGAAGTAAAAAACAAGTCAGATTTCAATTTTTCATTAACAGGTTAAGAGGTAATTAAA
+TGCCAACAATAACCACTGCACAAATTAAAAGCACACTGCAGTCTGCAAAGCAATCCGCTGCAAATAAATT
+GCACTCAGCAGGACAAAGCACGAAAGATGCATTAAAAAAAGCAGCAGAGCAAACCCGCAATGCGGGAAAC
+AGACTCATTTTACTTATCCCTAAAGATTATAAAGGACAGGGTTCAAGCCTTAATGACCTTGTCAGGACGG
+CAGATGAACTGGGAATTGAAGTCCAGTATGATGAAAAGAATGGCACGGCGATTACTAAACAGGTATTCGG
+CACAGCAGAGAAACTCATTGGCCTCACCGAACGGGGAGTGACTATCTTTGCACCACAATTAGACAAATTA
+CTGCAAAAGTATCAAAAAGCGGGTAATAAATTAGGCGGCAGTGCTGAAAATATAGGTGATAACTTAGGAA
+AGGCAGGCAGTGTACTGTCAACGTTTCAAAATTTTCTGGGTACTGCACTTTCCTCAATGAAAATAGACGA
+ACTGATAAAGAAACAAAAATCTGGTAGCAATGTCAGTTCTTCTGAACTGGCAAAAGCGAGTATTGAGCTA
+ATCAACCAACTCGTGGACACAGCTGCCAGCATTAATAATAATGTTAACTCATTTTCTCAACAACTCAATA
+AGCTGGGAAGTGTATTATCCAATACAAAGCACCTGAACGGTGTTGGTAATAAGTTACAGAATTTACCTAA
+CCTTGATAATATCGGTGCAGGGTTAGATACTGTATCGGGTATTTTATCTGTGATTTCAGCAAGTTTCATT
+CTGAGCAATGCAGATGCAGATACCGGAACTAAAGCTGCAGCAGGTGTTGAATTAACAACGAAAGTACTGG
+GTAATGTTGGAAAAGGTATTTCTCAATATATTATCGCACAGCGTGCAGCACAGGGGTTATCTACATCTGC
+TGCTGCTGCCGGTTTAATTGCTTCTGCTGTGACACTGGCAATTAGTCCCCTCTCATTCCTGTCCATTGCC
+GATAAGTTTAAACGTGCAAATAAAATAGAGGAGTATTCACAACGATTCAAAAAACTTGGATACGATGGTG
+ACAGTTTACTTGCTGCTTTCCACAAAGAAACAGGAGCTATTGATGCATCATTAACAACGATAAGCACTGT
+ACTGGCTTCAGTATCCTCAGGTATTAGTGCTGCTGCAACGACATCTCTTGTTGGTGCACCGGTAAGCGCA
+CTGGTAGGTGCTGTTACGGGGATAATTTCAGGTATCCTTGAGGCTTCAAAACAGGCAATGTTTGAACATG
+TCGCCAGTAAAATGGCCGATGTTATTGCTGAATGGGAGAAAAAACACGGCAAAAATTACTTTGAAAATGG
+ATATGATGCCCGCCATGCTGCATTTTTAGAAGATAACTTTAAAATATTATCTCAGTATAATAAAGAGTAT
+TCTGTTGAAAGATCAGTCCTCATTACTCAGCAACATTGGGATACGCTGATAGGTGAGTTAGCTGGTGTCA
+CCAGAAATGGAGACAAAACACTCAGTGGTAAAAGTTATATTGACTATTATGAAGAAGGAAAACGTCTGGA
+GAAAAAACCGGATGAATTCCAGAAGCAAGTCTTTGACCCATTGAAAGGAAATATTGACCTTTCTGACAGC
+AAATCTTCTACGTTATTGAAATTTGTTACACCATTGTTAACTCCCGGTGAGGAAATTCGTGAAAGGAGGC
+AGTCCGGAAAATATGAATATATTACCGAGTTATTAGTCAAGGGTGTTGATAAATGGACGGTGAAGGGGGT
+TCAGGATAAGGGGTCTGTATATGATTACTCTAACCTGATTCAGCATGCATCAGTCGGTAATAACCAGTAT
+CGGGAAATTCGTATTGAGTCACACCTGGGAGACGGGGATGATAAGGTCTTTTTAGCTGCCGGCTCAGCCA
+ATATCTACGCAGGAAAGGGGCATGATGTTGTTTACTATGATAAAACAGATACCGGTTATCTGACCATCGA
+TGGTACAAAAGCAACTGAAGCCGGTAATTACACGGTAACACGTGTACTTGGTGGCGATGTTAAGGTTTTA
+CAGGAAGTTGTGAAGGAGCAGGAGGTTTCAGTTGGCAAAAGGACTGAAAAAACACAATATCGAAGCTATG
+AATTCACTCATATTAATGGCACAGACTTAACCGAGACAGATAACTTATACTCCGTGGAGGAGCTCATCGG
+AACCAACCGTGCTGATAAGTTTTTTGGCAGCAAATTTACAGATATCTTCCATGGCGCGGATGGTGATGAC
+CACATAGAAGGAAATGATGGGAATGACCGCTTATATGGTGATAAAGGTAATGACACACTGAGGGGCGGAA
+ACGGGGATGACCAGCTCTATGGCGGTGATGGTAACGATAAGCTAACCGGAGGTGTGGGTAATAACTACCT
+TAATGGCGGAGACGGGGATGATGAGCTTCAGGTTCAGGGTAATTCTCTTGCTAAAAATGTATTATCCGGT
+GGAAAAGGTAATGACAAGCTGTACGGCAGTGAGGGGGCAGATCTGCTTGATGGCGGAGAAGGGAATGATC
+TCCTGAAGGGGGGGTATGGTAATGATATTTATCGTTATCTTTCAGGATATGGCCATCATATTATTGACGA
+TGATGGGGGAAAAGACGATAAACTCAGTTTGGCTGATATTGATTTCCGGGACGTTGCCTTTAAGCGAGAA
+GGAAATGACCTCATCATGTATAAAGCTGAAGGTAATGTTCTTTCCATTGGTCATAAAAATGGTATTACAT
+TCAGGAACTGGTTTGAAAAAGAGTCAGGTGATATCTCTAATCACCAGATAGAGCAGATTTTTGATAAAGA
+TGGCCGGGTCATCACACCAGATTCCCTTAAAAAAGCATTTGAATATCAGCAGAGTAATAATCAAGCCAAT
+TATGTGTATGGAGAGTATGCATCAACTTATGCAGACCTGGATAATCTGAATCCATTAATTAATGAAATCA
+GCAAAATTATTTCAGCTGCAGGTAACTTCGATGTTAAGGAGGAAAGATCTGCCGCTTCTTTATTGCAGTT
+GTCCGGTAATGCCAGTGATTTTTCATATGGACGGAACTCAATAACTTTGACCGCATCAGCATAATATATT
+AATTTAACCGATAGCAATCTTACTGGGCTGTGCCACATAAGATTGCTATTTTTTTGGAGTCATAATGGAT
+TCTTGTCATAAAATTGATTATGGGTTATACGCCCTGGAGATTTTAGCCCAATACCATAACGTCTCTGTTA
+ACCCGGAAGAAATTAAACATAGATTTGACACAGACGGGACTGGTCTGGGATTAACGTCATGGTTGCTTGC
+TGCGAAATCTTTAGAACTAAAGGTAAAACAGGTAAAAAAAACAATTGACCGATTAAACTTTATTTCTCTG
+CCCGCATTAGTCTGGAGAGAGGATGGACGTCATTTTATTCTGACTAAAGTCAGTAAAGAAGCAAACAGAT
+ATCTTATTTTTGATCTGGAGCAGCGAAATCCCCGTGTTCTCGAACAGTCTGAGTTTGAGGCGTTATATCA
+GGGGCATATTATTCTTATTGCTTCCCGTTCTTCTGTTACCGGGAAACTGGCAAAATTTGACTTTACCTGG
+TTTATCCCTGCCATTATAAAATACAGAAAAATATTTATTGAAACCCTTGTTGTATCTGTTTTTTTACAAT
+TATTTGCATTAATAACCCCCCTTTTTTTTCAGGTGGTTATGGACAAAGTATTAGTACACAGGGGGTTTTC
+AACCCTTAATGTTATTACTGTCGCATTATCTGTTGTGGTGGTGTTTGAGATTATACTCAGCGGTTTAAGA
+ACTTACATTTTTGCACATAGCACAAGTCGGATTGATGTTGAGTTGGGTGCCAAACTCTTCCGGCATTTAC
+TGGCGCTACCGATCTCTTATTTTGAGAGTCGTCGTGTTGGTGATACTGTTGCCAGGGTAAGAGAATTAGA
+CCAGATCCGTAATTTTCTGACAGGACAGGCATTAACATCTGTTCTGGACTTATTATTTTCATTCATATTT
+TTTGCGGTAATGTGGTATTACAGCCCAAAGCTTACTCTGGTGATCTTATTTTCGCTGCCCTGCTATGCTG
+CATGGTCTGTTTTTATTAGCCCCATTTTGCGACGTCGCCTTGATGATAAGTTTTCACGGAATGCGGATAA
+TCAATCTTTCCTGGTGGAATCAGTCACGGCGATTAACACTATAAAAGCTATGGCAGTCTCACCTCAGATG
+ACGAACATATGGGACAAACAATTGGCAGGATATGTTGCTGCAGGCTTTAAAGTGACAGTATTAGCCACCA
+TTGGTCAACAAGGAATACAGTTAATACAAAAGACTGTTATGATCATCAACCTGTGGTTGGGAGCACACCT
+GGTTATTTCCGGGGATTTAAGTATTGGTCAGTTAATTGCTTTTAATATGCTTGCAGGTCAGATTGTTGCA
+CCGGTTATTCGCCTTGCACAAATCTGGCAGGATTTCCAGCAGGTTGGTATATCAGTTACCCGCCTTGGTG
+ATGTGCTTAACTCTCCAACTGAAAGTTATCATGGGAAACTGGCATTACCGGAAATTAATGGTGATATCAC
+TTTTCGTAATATCCGGTTTCGCTATAAGCCTGACTCTCCGGTTATTTTAGATAATATCAATCTCAGTATT
+AAGCAGGGGGAGGTTATTGGTATTGTCGGACGTTCTGGTTCAGGAAAAAGCACATTAACTAAATTAATTC
+AACGTTTTTATATTCCTGAAAATGGCCAGGTATTAATTGATGGACATGATCTTGCGTTGGCCGATCCTAA
+CTGGTTACGTCGTCAGGTGGGGGTTGTGTTGCAGGACAATGTGCTGCTTAATCGCAGTATTATTGATAAT
+ATTTCACTGGCTAATCCTGGTATGTCCGTCGAAAAAGTTATTTATGCAGCGAAATTAGCAGGTGCTCATG
+ATTTTATTTCTGAATTGCGTGAGGGGTATAACACCATTGTCGGGGAACAGGGGGCAGGATTATCCGGAGG
+TCAACGTCAACGCATCGCAATTGCAAGGGCGCTGGTGAACAACCCTAAAATACTCATTTTTGATGAAGCA
+ACCAGTGCTCTGGATTATGAGTCGGAGCATGTCATCATGCGCAATATGCACAAAATATGTAAGGGCAGAA
+CGGTTATAATCATTGCTCATCGTCTGTCTACAGTAAAAAATGCAGACCGCATTATTGTCATGGAAAAAGG
+GAAAATTGTTGAACAGGGTAAACATAAGGAGCTGCTTTCTGAACCAGAAAGTTTATACAGTTACTTATAT
+CAGTTACAGTCAGACTAACAGAAAGAACAGAAGAATATGAAAACATGGTTAATGGGGTTCAGCGAGTTCC
+TGTTGCGCTATAAACTTGTCTGGAGTGAAACATGGAAAATCCGGAAGCAATTAGATACTCCGGTACGTGA
+AAAGGACGAAAATGAATTCTTACCCGCTCATCTGGAATTAATTGAAACGCCGGTATCCAGACGGCCGCGT
+CTGGTTGCTTATTTTATTATGGGGTTTCTGGTTATTGCTTTCATTTTATCTGTTTTAGGCCAGGTGGAAA
+TTGTTGCCACTGCAAATGGGAAATTAACACTCAGTGGGCGTAGCAAAGAAATTAAACCTATTGAAAACTC
+AATAGTTAAAGAAATTATCGTAAAAGAAGGAGAGTCAGTCCGGAAAGGGGATGTGTTATTAAAGCTTACA
+GCACTGGGAGCTGAAGCTGATACGTTAAAAACGCAGTCATCACTGTTACAGACCAGGCTGGAACAAATTC
+GGTATCAAATTCTGAGCCGGTCAATTGAATTAAATAAACTACCTGAACTGAAGCTTCCTGATGAGCCTTA
+TTTTCAGAATGTATCTGAAGAGGAAGTACTGCGTTTAACTTCTTTGATAAAAGAACAGTTTTCCACATGG
+CAAAATCAGAAGTATCAAAAAGAACTGAATCTGGATAAGAAAAGAGCAGAGCGATTAACAATACTTGCCC
+GTATAAACCGTTATGAAAATTTATCGAGAGTTGAAAAAAGCCGTCTGGATGATTTCAGGAGTTTATTGCA
+TAAACAGGCAATTGCAAAACATGCTGTACTTGAGCAGGAGAATAAATATGTCGAGGCAGCAAATGAATTA
+CGGGTTTATAAATCGCAACTGGAGCAAATTGAGAGTGAGATATTGTCTGCAAAAGAAGAATATCAGCTTG
+TCACGCAACTTTTTAAAAATGAAATTTTAGATAAGCTAAGACAAACAACAGACAGCATTGAGTTATTAAC
+TCTGGAATTAGAGAAAAATGAAGAGCGTCAACAGGCTTCAGTAATCAGGGCCCCTGTTTCGGGAAAAGTT
+CAGCAACTGAAGGTTCATACTGAAGGTGGGGTTGTTACAACAGCGGAAACACTGATGGTTATCGTTCCGG
+AAGATGACACGCTGGAGGTTACTGCTCTGGTACAAAATAAAGATATTGGTTTTATTAACGTCGGGCAGAA
+TGCCATCATTAAAGTGGAGGCCTTTCCTTACACCCGATATGGTTATCTGGTGGGTAAGGTAAAAAATATA
+AATTTAGATGCAATAGAAGACCAGAAACTGGGACTCGTTTTTAATGTCATTGTTTCTGTTGAAGAGAATG
+ATTTGTCAACCGGGAATAAGCACATTCCATTAAGCTCGGGTATGGCTGTCACTGCAGAAATAAAGACTGG
+AATGCGAAGCGTAATCAGTTATCTTCTTAGTCCCCTGGAAGAATCTGTAACAGAAAGTTTACATGAGCGT
+TAAGTCTCAGAGCCGCGGTATCCGGCTCATATCTTCTCCTGTCATGTGTGACTGCGCTGTTTTGTGGCAA
+ACCAGTACTGACTATCCACCGGAATTCGGTAGTCATTAACTATGGCATTGATGTCCTTTATAACTGTCTT
+ACAGGGCGTATAACACATCCCGCGACGGAAGCTTATCACAGAGGAAGAGATAAGCTTCAGAATGGAAGTA
+TATGAAAAGACTGTGATTGTTTAAAAATACACAATCCGCTGTGAGGTGGAGTCAGGGGCGGTACTGTCCC
+GCAGAAGCGGAGAATGGTTTATGTATGAGGTGTGTGTGACATTTTACATGAGAGTAAAACAGGTGATAAC
+CACCTTTAGTAAGGGGTATTCACAGGTATTATTACAGAACAATGTTGTTTCTGGCTTGTTCTTTTTTTTG
+GCGACTGGAATAGCCTCTTTTAATATGGGGCACCCCGAAATACTGTATTTCTCAGCCATCAGTGCAGCAC
+TTTCTCCGTTCTTTGCCTGGTGTTTGCGGTATCCTGATGAGGAGATTAATGAAGGTATATGGGGATATAA
+TGCTGTTCTGTATGGCATAGCCTGTGGCATGGTTGTCCCCGTGTCAGTCTCCGGAATTACTGTACTTATC
+GTCGGAATTCTTGGTATTGTTTTGTTTACTCCCCTGTTGTCGTCAGTGCTCAGAGGGTTACCCGTATTGA
+CCGCCCCCTTTATTATCGCTACGTGGTTATTACATTCCGGAATAATGCCTCATGATATGTCAGTACCTTC
+GGGCGAAGGTGCAGGCTCTGTTTTGCTGAAAAACTATCCGGTGGCATTTTCTGGTAACTTTATGGAGATT
+TTTATGTTTCCTGATGCTGTCGGCGGTATTCTTGTTATGCTGGGACTACTTGCAGGAAGCCGGAAACTAC
+TGATGATTACGGTTGTCGCTTCGTTTCTGAGTGTGGTGGTATCATTCTGTATTCCTGAGCTTTCTCCTGA
+TAAAATCTCTGCCGGGCTTTATGGATATAATGCCATTTTAACGGCCGTTGCAGTATATGCATTCGCAGGA
+GATAACCAGTTCGATAATATATTTCTGGGTTGCGGAGCAATTATACTGGCGTTCATTATACCTGTTTTGA
+TTGGCCCGCTGATACCCGTTCCCCTTCTTACGTCTCCTTTTGTTATAAGTACATGGTTATACATACTTGC
+TCAGCGGCGCTGTATGTCATCCCATATCTGATAATCTTTTAAGTTACATGCGTTAATAACGAGAACCGGT
+ATAATTTATACTGGTTTTCATGTGATTATTATCCACTTTTATTGTTACTGCGGTGCTGCTCATGGCCCGG
+CAGACTGATTTACAGAAACTGTGACTTGGCTTTGCCTTATCAGCCACATCAGAATGTTACTCTCTGAGTC
+TGTTCTGAGAATATATTTCTGCTGTTTTCCGGGGTATTGCATTGCTGTCTGGGGAGGGGAGAATGACCAG
+TGATTTTTCTGCGGAAAAAATCCTGGCGGGTAAGAATGTCCTGTATGCGGCCATTCACCGTATTGAGTGG
+TTGTTTGAGACATTCTCTTCTGTCTGTTTGTCTTTTTCCGGAGGAAAAGACTCCACTGTGCTGCTCCATC
+TTGCGGCTGATGTGGCTCGCAGGAAGAAACGTCGTTTCTCTGTATTATTCATTGACTGGGAAGCTCAGTA
+TCAGTGCACCATTGAACATGTTCAGAAGATGCGGGAAATGTACCGGGATGTGACGGATACCTTTTACTGG
+GTGGCCCTTCCCCTGACTACGGTAAACGGTGTCTCTCAGTTTCAGCCGGAGTGGATATGCTGGGAGCCTG
+ATGTGACCTGGGTGCGCCATCCACCGGAATATGCTATTACGGATATGGCGTATTTTCCCTTTTACCGGTA
+TGCCATGACGTTTGAAGAATTTGTTCCGGCATTTTCTTCCTGGTTTGCCGGTAACCGATGTGGAGTGGCA
+ATACTGACTGGTGTCCGTGCTGATGAATCGCTCAATCGCTTTATGGGACTGGTGTCTCAGCGCAAACTGA
+GATATGCAGATGATAAACCCTGGACCACAGCGTCACCTGAAGGGTTTTATTACACCATGTATCCGTTGTA
+TGACTGGAAAGCCCGTGATATCTGGATATATAACGCCAGAACCCGGGCTATCTACAATCCCCTGTATGAC
+CTGATGTACCGTGCCGGCGTGCCGTTACGCAACATGCGGGTCTGTGAGCCTTTTGGCCCGGAACAGCGTA
+AGGGACTGTGGCTTTACCATGTTCTGGAGCCGGAAACCTGGGCAAGGATGTGTGAGCGGGTGTCGGGGGC
+TGCCAGCGGGGCGCTTTATGCCAATGAGAGCGGTGCCTATTTTGCCCTGCGTAAGCGTATCACGAAGCCG
+CCTCATCATACCTGGCGTAGCTATGCGATGTTTCTGCTGGATGTGATGCCGGAAAGAACGGCAGAACATT
+ACCGTAATAAAATTGCTGTCTACCTGCGCTGGTATCAGACGCGGGGCTTCCCGGATGACATCCCGGATGA
+ACAGGAGAATGACCTGGGGAGCCGGGATATCCCGTCCTGGCGACGTATCTGTAAGACACTCATAAAGAAT
+GATTTCTGGTGCCGGACCCTCTCCTTCAGTCCGAACAAACCCCGGCACTATGAACGTTATCTGCAGCGTA
+TGAAAGAAAGGAGGAAGGAATGGGGGATTCTGTGACACCTGAGGTGGAAGTATTGAGCAACATGATTCGA
+CAGTACTTCAGTCAGGAACGATCTGAAGAAGAGACCATACGAGCCCTTAATCATCTGCGCAGGGTGTTGC
+ATGAGGTCAGCCCTTTTGCACAGGAGCCTGTGGACTGTGTGTTGTGGGTGAAAGCGGATGAGGTGGTGGC
+CAACGATTACAATCCCAATGTCATGTCTTCCAGTGAAAAAAAACTGCTTAAACATTCACTGGAGCAGGAT
+GGATTCACGCAGCCTGTGGTGGTTTCGGAAGAGAAGGAGCATTATCTGGTCGTGGATGGTTTTCATCGTC
+AGTTGCTGGGCAGGAAAGCGGATACGAGAAAACGTCTGAAGGGCTGGCTGCCAGTGGCCTGTATTAATCC
+AGAGAGAAAGGGACAGGCATCACGCATTGCCGCGACCATTCGACATAACCGGGCCAGGGGGAAACACCAG
+ATAACGTCAATGTCTGACATTGTCAGGGACCTTTCGCGTCTGGGCTGGACAGATGAGCGTATTGGCACAG
+AGTTGGGCATGGACCAGGATGAAGTGCTGAGGCTGAAACAGATTAGCGGGCTGACAGAGCTGTTTCAGGA
+AGAGAATTTCAGTCCAGCATGGACGGTTCGCTAAGACTGCCAGATATGTATATTATTTCAGTGAGTTGTA
+GTGGTCAAGTAATATTGGCCACGGTTTTACAGTAAAAACAGTATCTGTTCTCTGATTCTTTCGGCGTCAA
+CCCACCGTTGTAATGGTGAGGTCTGACGCTATTGTAATAATTCAGGATATAACCGCTAATTTGTTGCCGG
+GCCTCGTCCTTGCCTACGTAACCATCCGTCGGCACCCATTCTGTTTTCAGACTGCGGAAGAAGCGTTCCA
+TAGGACTGTTATCCCTGCAGTTTCACCGTCGGCTGACACTTTGCTTTATCCTGTAACGCCAGAGAAGCTG
+TTGATATTTCAGTCCTGTATACTGACTTCCCTGGTCGCTATGGAACATGACGTCCCGCGGCTGACCACGC
+ACCTCATACGCCATCCGCAAGGCACTGCTTATCAGAGCAGTATCGGCATTCGCTGACAGACCCCAGCCGA
+CAACCCTGCGGGCAAAAAGATCCATGACGACCGCCAGATAGCACCAGCGATTTCCGGCCCAGATATAGGT
+AATATCTCCACACCATACCTGGTCTGGCTCGGGGACAGCGAACTGGCGCCCGAGCAGATTCGGCAAGCAG
+GTATGCTCCTGACGGGCATTTTTGTACTGATGTTTTCCGGGCTGACAACTGCTCAGATTCAGATGTGTCA
+TCAGCCGCCCGGCACGGTAACGGCTCATCGGGACGCCGTTTTGGGTCAGCATGTCAGCCAGCGTGCGCGC
+CCCCGCAGAGCCCCGGCTTTGGTTCCACACCCGGCGTATTTCACTGCACAACCTGACATGCACCGGATTC
+ACCGTATCGCGTCGTTTTTGCCAGTACCGGTAACTGCTGCGGTGTATTCCCAGAGCAGAACACAGACTGA
+CAACGGTGTGGCTGCCACTGAGTCTGGCAACTATCGTAAACCGTTCAGCGAATCGGACATCAAGAGCGCA
+GTAGCCTTTTTTAATATCGTATTTTGTCCCTCCAGACGATGAACCTGCTTTTCCAGCTCACGAATACGTT
+GCTGCTCTGATGTGAGTGGTGATGCAGAAGGCGGGATACCCTGACGTTCCCGCCTAAACTGACGAACTCA
+TGCCTCCATAGTAGAGGAACCAACACTCATAGCTTCACTGGCTTCCCGGTATGAGTAACCTTTATCAACG
+ATAAGTTGGGCGCATTCCTGCTTAAACTCAGGAGAGAAGGTACGCTTTGTTTTCTTGTTCATTAAGTCAC
+CTGTTTTATGTTGTGGTGAGAATATCACCTCTGTTCAGGTGGCCAAATTCAGTGTGCCACTTCAGTTCTC
+CTGCGACTAGTTTTTAGGCTATTACTTGAATAAGTGATATCGGTTGCCTTGAGATTTAGGGAAGCAGTCT
+AGATATTCAGAATATCGTAAAAAGACAACATAAAATAAGAAATAGTCCGTTATGGCATGCTTCGACTCCT
+TAGAGCACTAAATGGTAAACAGTATCAATCGCAAAAATTACTATTAGGTGTTCAGTTAACGGACCCTCAT
+TCCAGTAGAGGCAGGAGTGAACATGAAAGAGATTACCTCCCCCAGCAGTCTGAACACTTTTTCACCTATA
+TCTATTTCTATCCGGAATATAGCGACAAATAAGTTTTTAATTATCCATACTGATAATTGTGACTTACATA
+TAGAAAATGAACATGGGAATTTTTTCTGCACCAGAGGGAGCTTTGTCTTTATGAGCAGGAATATGAATTT
+CTCTTGTCGGATACACAAGATAGAAACAGGTAGGCCCCCCTATAAAACTATACGTCTTGGTAGAGAGGAG
+CTAACTATGCTAACAAATATCCTTCACAGCACTCATGTCTACTGTCTGAATAAGCACATAACAGAAGGCA
+AATCTCACAATGGAATTGTCTGTATTGGCGGCAATAAAGACTGGGGCTATATTTTCAATAAAATCGAGAC
+CTCCAAAGATAGTGCACTGAAAATGCTGAAATTATCATACTTGATTTCTCGAATGGGGATAGCCCCAGAT
+ATAATTATTTCCTTAATGGCATCTACAGCCGTTACCTTCACCGAGAAGATAAGAAACCAGATTGAAAATA
+ACCCTTCAAAGAGATGGTGCCTGAATATGATTGCTGATGAGTTTAATATTTCTGAGATCTCTGTCAGGAA
+GCGACTAGAGTCTGAAGGAACTTCATTTAGTAATTTATTCTTAAAAGTAAGAATGGAAAAATCCATGCAA
+TTGCTACTCCAGAATGAGTTACAAATATGTCAAATATCAAAATCCGTAGGATTCCGTAGCACATCATATT
+TTATAAAGATATTTAAAGATTACTTCGGCATCACCCCTAAACAACTTATCATTTACTTTAGAAATTGAGT
+TCCAGTGCAACTTCCATCGTAAGCGTAAACCGACTGCCGTATGTAGCCATTAAGCCAGTATTGGTAACGT
+AGGTGCCCACCTTTTCAAACTAGTGGACGCCTGTTATGGAGCAAAAAACATTATCCGTAGAACCCCGCAG
+AACATTTTCAAATGAGTTTAAACTTCAAATGGTTAAACTGGCTTCACAACCAGGAGCCTCTGTTGCCCGT
+ATTGCCAGGGAACACGATATCAATGATAACCTCCTGTTCAAATGGCTCAGGCTCTGGCAGAATGAAGGGC
+GTGTTTCACGGCCGTCTCCCGGTAACGACCTCTTCTGACGCTGGCGTTGAATTATTACCTGTGGAGATCA
+CGCCGGATGAGCAGAAAGAACCGATGGCAACTCTTCCTCCGCTTTTATCTACTCCTTCACAAAGCACAGC
+CAGTGCCAGTTCCTGTAAAGTAGAGTTCCGTCACGGTAAAATGACGCTGGAAAATCCTTCACCAGAGCTG
+CTCACGGTGTTGATCCGTGAACTGACCGGGAGGGGAAGATGATCTCACTCCCATCAGGTACCCGCATCTG
+GCTCGTTGCCGGCGTTGCCGATATGCGTAAATCCTTCAACGGAGTGGGGGGACAGATACAGCATGTGCTG
+GATGAAGATTCCTTTTCTGGTCACCTGCTTATCTTTCGTGGCCGACGGGGTGACACTGTTAAAATGTAAT
+GAACGCATCCCACACAATTAAACACGGAGCAGTATGATGGTTAAAAGGGTGAAACTGGCAGGTGTGGAGC
+CTCGCAGATTTCCGGCATCATAGTGCCCAATACGGGATGCATAAAGCTCCCTCAGACTGGAGACTCCACA
+AATGAAATATACACCGGTTGGCGTTGATATCGCAAAACATGTCATTCAGATTCACTTCATCAATGAGCAC
+ACGGGTGAAGTGGTTGATAAACAGTTGCGTAGACAGGATTTTCTGACGTTCTTCGGCAACCGTGAGCCAT
+GCATGATTGGTGCCATGGAACGTAGTTCTCACCAATAAATAAGCGTCAATACGGTGCTCCGTTGACGCTT
+ACAAAACGTCTGAAAGCACTGGAAGAAAAAGTAGCCCGTGATGGCATTGAGCTAACTGACAGCCAGATCG
+CAGCACTGGAGCGTAAAGCCAGTGATAACGAGGCCTGTAGCGAAATCGAAACGGCTCATCCGGGATATCT
+GGGTTCGCAGGACACGCTCTATGTAGGCAACCTGAAAGGTGTCGGGCGTATTTATCAGCAGACGTTCGTT
+GATACGTACTCGAAAGTGGCTCACTGTAAGCTTTACGTCACCAAAACACCGATTACCGCGGCTGACTTAC
+TGAATGATCGTGTACTGCCGTTTTATGCGTCTCAGAGTCTGCCGATGCTGAGAATACTGACCGACAGAGG
+CATGGAGTACTGTGGCAAAGTAGAGCAGCATGATTATCAGCTTTATCTGGCAATAAACGATATAGAACAC
+ACGAAAACAAAGGCGATGTCCCCGCAGACCAACGGCATCTACGAGCGGTTCCATAAAACAATCCTGAACG
+AATTTTATCAGGTAACGTTCCGTAAAAAACTGTACGGCGATCTTGATACATTACAGTCGGATCTTGATGA
+ATGGCTGGCTCACTATAATAATGAGCGAACCCATCAGGGAAAAATGTGCAATGGGCGGACGCCAATGGAA
+ACGTTACTTGATGGAAAGCGCATCTGGGTCGAGAAAAATTTAAGCCAGATGTAATCTGACAGATACCTGT
+ATAAATAACCAGTAACTGTCAGATCAGGTGTAAGCGGCTCGCCAGAACTGTATTGATATTTACTGAGAGG
+TCAGATCAACTTTCCAGGGCAACAGATCGCGTACCCGGTTTGCCGGCCAGTCCTAGATATGCTCAATAAC
+GTAACGCAGCCATTTTTCTGGCTCTACATTGTTCAGACGGCATGTGCCGATCAGCGAGTACAACACCGCC
+GCATGTTCGCCACTGCTGTCGGAACCCGCGAGTCGAGTCAGCCGGAGAGAATTTCACTCCCCGGCTGCTC
+ACGGAACCGTACGTGACACTCTCGCGTCATACGGCTCTTGATCACTCATTCGATGCACGTAGTAAATACC
+AGTGGACAAATAGCTTCGGATACTCTTTCCTTACCAGCGTCAGCTTTCGCTGAGCCTTCCGGTTCGAAAG
+TCTGTATTTAGACTGCATCCACTTGAGCAGACGTGACTGCATTGCACTCCACAGTCGATAGTTGAAATTT
+CTGGACCAGAACTTTGCGTAGTACCCGATCCAGCCTCTCACTATCGCATTGTAGCGCCTCGCAAAATCCA
+GCAAACTCTCAGCTGTTGAGCGATGTATACGCCACTTTTTGATTGTTTCTGTTATTTTGCGCATTGCTGC
+ATTTGACGCACCCGGCATGCATTTTCGGTACAGTTCGCCTTTGAAATTCTTCAGCGTACGCACTTTGAAG
+TCATATCCGAGAAAGGTGAAACTCGTTGCGACGTTTCTCCTTTTAAACGTGTCAATGTAGGCGATATTCG
+TTTTCCCTGCATTCAGGACCAGCCCGACTTCCGAGAAGCGCTCCGATAACCTGTTCTTCAGCCTTGTTGC
+ATCACTCATTCGTGAACAATGTACTACAATATCATCAGCGTACCTCTCAAACGGTACCCCCCGATATTCT
+CTTTCCATCCACAAATCAAATGCATAGTGAAGGAACAAGTTAGCAAGTAGCGGACTAATGACCCCGCCCT
+GCGGAGTGCCTCGTGTTCGGGTTATTAATTCTCCATTTTCACAACTCTGCATTGGCGCTTCCATCCAGCG
+TCGACAGTACAGGATGGCCCATTTAGGCATCCCGTGGTGTTCCAGTGCTTTGAGCACCAGATCATGTCTC
+ACATGGTCGAAAAACGCACTGATGTCCACTTCCAGTATCCAGCTATAACGCCAGCACCGGATGGCACATT
+GTTTCAGAGCGTCATGAGCTGATTTGCCTGGTCGGTAACCATATGAATCAGCATGGAAAATCGGGTCAAG
+CTTTTCTTCCATGAAAAGTTTTATCGCTCCCTGAGCAATTCGATCGGATACTGTTGGGATCCCCAGAATG
+CGCTCCTTGCCATTCGACTTCGGGATCCGTTTTTCCAGCACTGGTGGCGGAAACCATGTTCCCGAACATA
+GCCGGTTCCAGATCTTGTATAGATTGCCATCACGTTGCTGGTCGAACATTTTCAAAGTCTGCCCGTCGCA
+TCCGGGGGCTCCCTTGTTGCGACGCACATCCAGATATGATGCCCAGACCAGTGCTTTTGGTATTTCAAAT
+GATTTTCGTTGCATCAGTTACGTCATCCCCTTTTGGGTTGTGTCTTCTGCAATGAATGTGATCCCCATCC
+CTTCGCTCCAGACCCATTACAGATCTTTCATCACTACTACGAATGGGTCCGCCCCTGTTTCCCGATACGT
+GTCGGAAACAGGTTCTCACGTTCCCTGAGATGGTCTGGCTCGGGCTCCTGCTGCCTTCACACCGGATGCC
+GCGCAGTCAGTAAACAGGTGACTTCTGCGCTTGTCAGGGGACGGCTCTACGGCTCCATTTTGACATCATC
+TAAGATTTCGATGCTTCATCGGACAGTTTACTTTCGTTCAGCTTCCCGAACCCCACGTGACAGTAGATCT
+CTGCCTTTTCCCGAGTCGCTCACCACCTCATTCCTTAGAATGAAGCAGCACCGGGTCGTTTGGTCAGTGC
+TCCTGTAAACCCTGACCGGAGGGCCCACCTCCACCCACCTCAGAGCATGGATAACTTATGCTGCAATTTT
+CACATTGTTGCCATAAGTACTCCTTCGTGACACACAGAGCCAGTTTTTCCGGCCTACGGCCACTCCCCGT
+AAGGCGTTCTCTGCAATGTTGTTGTCGATTTCCACCTGGCCATTACTGCGGTACACGTTCAGGCCATCCC
+ACTGTTTCAGCAGGTATGCGAACGCTTTTGCCGTATCCGAGTGACGCGACAGTGTTTTCATCTGAGTCTG
+TATCCAGTCATACAGTGACTGCATCAGTGGCGCAGCTCTGGCTTTTCTTGCCGCCAGACGCTGTTCTGCT
+GTACATCCCCGGACTTCTGCCTCTATGGCATACAGTTCACCGATACGCTGCAGTGCTTCCGTGGTGATGT
+CGGTGGACACTCTTGCATGCACATCGTGGATTTTTCTCCGGGCATGAGCCATACACGCGGCTTCCGTTAT
+TCTGCCGGATTCGTATAACACCCGGTAACAACCGTAAGTATCGGCCTGAAGCACACCGCTGTAACCGGCC
+AGATGATTTTGTGGATGGATACCTTTCCGGTCCGGTGAGTACGCGAACCAGACCGCCGGGGGCATCTGTG
+AACCGGCATTACGGTCATCACGGACGTAGGCCCACAGCCGGGCAGTCCTTGTTTTACCACTGCCCGGCTC
+CTGGACCGGAACGGGGATATCATCGGCATGGACTTTACCGGGCATCAGCACATACTGGCGCAGGACGTCA
+TACAACGGCTCCAGCAGTTCAGCAGCAGCACCTGTCCAGCGCCCCAGTGTGGCACGGCTCAGCTCCACAC
+CCTGACGACGGTATATTTCTGACTGGCGGTATAACGGCAGATGGTCTGCATACTTCCCGGTGACGACATG
+GGCCAGAAGCCCCGCTCCGGCATAACTGCGTGCAATGGGTTTTGAAGGCACCGGAGCCTGCACGATATGG
+TCGCACCGGCAACAGGCCAGTTTCGGACGTTGTGTTTCGATAACCTTAAAGGCGCTGCTGATAAGCTCCA
+GTTGCTCTGACACATCACATCCCAGAGAACTGAGTTCGCCACCACAGGCAAGACAGCATTCCTCTTCCGG
+CCGGATAACCCGGGTTTCACGGGGAAGTGAGGCCGGTAACGGTTTACGGGCTGAAGACTGTCGCAGGGCG
+GATGGCAGTACCGGGATTATATTCGTCAACGCATCGCCGATGCTCATCCTTACAAAATCCCGGCAACGGT
+AATCGCTCGCGAGATCAGAGACCAGGGATATCGTGGCGGAATGACCATTCTCAGGGCATTCATTCGTTCT
+CTCTCGGTTCCTCAGGAGCAGGAGTCTGCTGTCACGAACGGTGCAATAGTGATCCACACCCAACGCCTGA
+AATCAGATCCAGGGGGTAATCTGCTCTCCTGATTCAGGAGAGTTTATGGTCACTTTTGAGACAGTTATGG
+AAATTAAAATCCTGCACAAGCAGGGAATGAGTAGCCGGGCGATTGCCAGAGAACTGGGGATCTCCCGCAA
+TACGGTTAAACGTTATTTGCAGGCAAAATCTGAGCCGCCAAAATATACGCCGCGACCTGCTGTTGCTTCA
+CTCCTGGATGAATACCGGGATTATATTCGTCAACGCATCGCCGATGCTCATCCTTACAAAATCCCGGCAA
+CGGTAATCGCTCGCGAGATCAGAGACCAGGGATATCGTGGCGGAATGACCATTCTCAGGGCATTCATTCG
+TTCTCTCTCGGTTCCTCAGGAGCAGGAGCCTGCCGTTCGGTTCGAAACTGAACCCGGACGACAGATGCAG
+GTTGACTGGGGCACTATGCGTAATGGTCGCTCACCGCTTCACGTGTTCGTTGCTGTTCTCGGATACAGCC
+GAATGCTGTACATCGAATTCACTGACAATATGCGTTATGACACGCTGGAGACCTGCCATCGTAATGCGTT
+CCGCTTCTTTGGTGGTGTGCCGCGCGAAGTGTTGTATGACAATATGAAAACTGTGGTTCTGCAACGTGAC
+GCATATCAGACCGGTCAGCACCGGTTCCATCCTTCGCTGTGGCAGTTCGGCAAGGAGATGGGCTTCTCTC
+CCCGACTGTGTCGCCCCTTCAGGGCACAGACTAAAGGTAAGGTGGAACGGATGGTGCAGTACACCCGTAA
+CAGTTTTTACATCCCACTAATGACTCGCCTGCGCCCGATGGGGATCACTGTCGATGTTGAAACAGCCAAC
+CGCCACGGTCTGCGCTGGCTGCACGATGTCGCTAACCAACGAAAGCATGAAACAATCCAGGCCCGTCCCT
+GCGATCGCTGGCTCGAAGAGCAGCAGTCCATGCTGGCACTGCCTCCGGAGAAAAAAGAGTATGACGTGCA
+TCCTAGTGAAAATCTGGTGAACTTCGACAAACACCCCCTGCATCATCCACTCTCCATCTACGACTCATTC
+TGCAGAGGAGTGGCGTGATGATGGAACTGCAACATCAACGACTGATGGCGCTCGCCGGGCAGTTGCAACT
+GGAAAGCCTTATAAGCGCAGCGCCTGCGCTGTCACAACAGGCAGTAGACCAGGAATGGAGTTATATGGAC
+TTCCTGGAGCATCTGCTTCATGAAGAAAAACTGGCACGTCATCAACGTAAACAGGCGATGTATACCCGAA
+TGGCAGCCTTCCCGGCGGTGAAAACGTTCGAAGAGTATGACTTCACATTCGCCACCGGAGCACCGCAGAA
+GCAACTCCAGTCGTTACGCTCACTCAGCTTCATAGAACGTAATGAAAATATCGTATTACTGGGGCCATCA
+GGTGTGGGGAAAACCCATCTGGCAATAGCGATGGGCTATGAAGCAGTCCGTGCAGGTATCAAAGTTCGCT
+TCACAACAGCAGCAGATCTGTTACTTCAGTTATCTACGGCACAACGTCAGGGCCGTTATAAAACGACGCT
+TCAGCGTGGAGTAATGGCCCCCCGCCTGCTCATCATTGATGAAATAGGCTATCTGCCGTTCAGTCAGGAA
+GAAGCAAAGCTGTTCTTCCAGGTCATCGCTAAACGTTACGAAAAGAGCGCAATGATCCTGACATCCAATC
+TGCCGTTCGGGCAGTGGGATCAAACGTTCGCCGGTGATGCAGCACTGACCTCAGCGATGCTGGACCGTAT
+CTTACACCACTCACATGTCGTTCAAATCAAAGGAGAAAGCTATCGACTCAGACAGAAACGAAAGGCCGGG
+GTTATAGCAGAAGCTAATCCTGAGTAAAACGGTGGATCAATATTGGGCCGTTGGTGGAGATATAAGTGGA
+TCACTTTTCATCCGTCGTTGACAGTCAGTGCTGACGGGATGCGGACGTGCACATCGTGGATCTTTCGGCG
+GGCATGAGCCCAGCAGGCAGCTTCCGTTATCCGACCATTGCGATACAGCTCGTTGAACCCGGCGTACGCA
+TCCGCTTGCAGCACACCGCTGAAGCAAGCAAGATGAGTCTGCGGATGGATGCCTTTCCTGTCCGGGCTGT
+AAGCGAACCACACTGCAGGTGCCAACGCTGACCCGGCATTGCGGTCATCACGAACATACGCCCACAACCG
+CCCGGTCTTCGTCTTCTTATTACCCGGCAGCAGTACCTGGACCGGGGTATCATCGGCATGGAGTTTGCCG
+TCAGTCATGACATAGCCATGAAGCGCCTCTTCCAGCGGAGACAGCAGCCGGCAGCATGCATCCACCCAGC
+CCGACAGCAGTGAACGGCTCAGCTCCACACCTTGCCGGCCGTATATTTCTGACTGGCGATACAGCGGGGT
+GTGCTCTGCATACTTCGAGGTCAGCACGCGGGCCAGCAGCCCCGGTCCGGCGATACCCCGCTCGATGGGC
+CGCGAAGGTGCAGGTGCCTGCACGATGGCATCGCACTGAGTACAGGCATGTTTTTCCCGTACCGTCCGGA
+TAACCCGGAAGGCGCTACGCATCAACTCCAGCTGTTCGGCGGTATCCTCGCCCAGATAGCTCAGTGAACC
+GCCGCAGTTCGGGCAGCACGGCGCCGCAGGCAACAGTCGCTTTTCGTCACGGGGTAGTGATTCAGGGAAC
+GGCTTACGGGTGCGGGTCTGACGCAACGGACGCTGTACTGCCGGGTCATACACCCTACCAGTCAGCGTAT
+CGCTCTCTTTCTGAAGCCGGTTCAGATCGGCCTCCATTTGTGCGATACGGCGGGAGACTTTTTCGGAACG
+ACTGCCGAAGTTCATCCGGCGGAGTTTATCCAGCTGCGTCTGCAGATGGTCTATTTCGCGCTCCCGGTTG
+CTCAGCTTTTCCTGCAGGGCGTGGATCAGCGCTTCCTGTTCGGCCAGGCGCTGTTTCAGCAGGAAGATGT
+CGTCAGAAGAGATGTCGTTCATAAGCCCGTATTTTACCGGGCTTATTCTGTGACAACCAGGATAAAGAGA
+TTTACAGCATGGTCAGGGAGGTCAGCAGCCGCTTAGGCTGTCGCCAGTCGATACCTTCCAGCAGCATCGC
+CAGCTGCGCCTACGTAAGGAACACTTTGCCATCACAGGCTGACGGCCAGGCGAAGCGCCCACGCTCCAGC
+CGTTTGGTCAGGAGGCACAGCCCGTCACCGGTGGACCACAGCAGTTTAACCTGACTGCCGCTGCGGCCCC
+GGAAAATGAAAACATGGCCGGACATGGGATCGTCTTTCAGCGCCGTCTGTACTTTCGCAGCCAGGCCGTT
+GAAGCCATTTCTCATATCGGTGATACCGGCAACCAGCCAAATTTTGGTCCCGGAAGGTAACGGGATCATC
+GCTTCAGTTCCTGTATCAGCAGAGTCAGGAGCTTTTCGTTGACATTGCCATTGAAGCGGAGCGTCCCGTG
+CCGGAACGTTACCTCACAGCTGATACTGAGGGTTTCCGGGTCCTCTGCGAGCGATTCTGGCTGTTCGGCA
+GCTGCATCGAGAGTCACAGGAAGTAGCTGGGGGCTCTCTGAAGAAGGTAATAGCAGCTTTCCCTCGCGCC
+ATTGTTGTCGCCATTTGAACAACAGATTGGCGTTAATGCCATTTTCAAGAGCAAGTTTTGAGATGGATAT
+CCCGGGTTCACAGGAGGCAGCAACGAGCTGCTGTTTAAATTCGGGAGGATAATTAGGGCAGCCTTTTCGT
+CTGCCGGGAGTCACATTTTTCTGCATATCTGACACTTTGGTTCCCACTACTTATTTGGTGGACACCACTT
+TGTCTAATTCGTCAGATTCTGACCAGACGGTTCAGGCTGTACGCTTACTTTCAGTATCATGTTTTTTAGA
+GAGTATCTTTGTAAAGAAACATATTTCTGAAATATGTCTTGTCGGCTTTGGCATATATTTCTGGTTTTTT
+TCATTTTCTGTTGACTTTTACAAGCCGCAATTTAAGAAATAATATGAAATGATGAATTATAATGACGGGT
+GGTATTATGTTTTAGCCAGATATGATACCCACTTGTTTTATCAAAATCATTTAAGTCAGGTAATGGCAGA
+TTTCTGGTGATCAGGTCTGAGCAGTTAAAAGATTATGAATTTAATATGGTTCGGGTTAATCTGTAGGTTG
+CTCTCCTGCTTCTTAAGTGCTCGCTTTGATGTTACGTTAATGGAACCAGACTGACGCATTTTCAGTGTGC
+ATCAGCAGTGATGTACGTGAACAGTATGGTTATTTGCTCAGTTGTGTTGCACTAGAGTGATTCCTTGTAT
+TTACAGTCTTGAACGTCAAGTGGCAAACGGCAGCTGCGTAATTTTTGTTCCAAGGAGGCCAGGCATTCTT
+TGGGGCCTGTTTACCATTCTGTGTGTATGCTTTTCCTTAAAATGTAGTCTCTGCATTTTCTATTTCTGGC
+AATATGGTTGATATCTGGATGCTTTAAAACAATACCCCATTATGCTCCAGAAGAGAGAATGAGTGCATCC
+GGGCCCCTCTTCACAATCAACACCTGTTGATTGATATGCCCCAGACACACTCACATGTTTTTTAACATGT
+CCGGGAAAAACAGGCAACTGATTGTAATAAGCCCGACCCAGCGTCCACATCACCATCCGCAATTCAAAGC
+GTCCCCCGACAGCAACAGAAACGGGGCCGCGGACAGACCTGTATAATAGTCCCCTGCCCATGGCAGATAT
+CAATGTATTTTACTTAATGACAAAAAGGTCGCCTTCCGGCGACCTTGTCCTCTGGGACCATCTTATTTCA
+ACAATTCTGCTGTCATATAAACCCTGTTTTCAACCCGGGCGCTGGTGATTTTGTATGACGCACCTTGTTC
+AGCAGCCTGTGCAGCAATTTTGGCTTCTGCACGATCCAGAGTGGAAGCGGTAGCGCTGACGCTCTGGGCA
+AAGACACCGAAAGACATCATGGAAAGAGCGGAAACTGCAACTAATGTTTTGATTAATTTCATGGTCATAT
+TCCTCAACTTCTTTTATCCGGCATAGGGCTCTGTATCCCTGATGGCATAAATGATAAGGCAGACATGTAA
+TGATTGATATTAAAACCATTTGTAGTTCTATTTCAAAAAAATAGAACTACTAAATGGCGGACTTTTGTCT
+TCGTTGACCCGGTAGTGATGTTTAACCGGCTGTCGACTTGTCAGCCCTCATTCCCGCATCAGTCATCGTG
+CCAGCCACCGGCCTGCATCAACGCCACTCTGGCGCAACATCTGACTGATTACCCGGCTACCGGCTGCGCC
+ACGACTGAGAGCATGGAAAGCCCTCACCCAGCTTCGTAATTCAATTCTTTGCACATTAACAGGACGCTTC
+ACCTGCGCGTAATAAACGCTACGGTTAATACCGAATAAATGACAAATAACCCACACTGGCCACTTTGCTT
+TCAGCCGTGTGATTAGCGCGGCAGCTTCCCGGGGATTTCGCTCATCAGCACGGCAGCCTGCTTTAGTATT
+TCTTTTGCCATCTCAACGCGCTTTATCTGCGCTTTAAGCTGCTGAATTTCGCGTTGTTCAGGAGTAATAG
+CATTACCAGCGGACTCAATACCCTGAAATTCCTGCTTATACAACCGTATCCATTTACGCAAATGGTCAGG
+ATTGAGCTCAAGTGCCAGCGCGACTTCTCTGACATCACGCGGGTATTTAACCACCTGTTCGATAGCTTCA
+AGCTTGAACTCCGGGGAAAAGGTACGTTTAGTCCAACGAGTTTTGATCATGCATCACCTCATTTTCACTG
+TTTTAACATTAACAAGATTTCGAGGTGTCCTGAATTCCAATTCCATCCTTTTTCATGTCCATATTACCTG
+AATGATAAGCCGGATTAGTGTGATCCGGTTCAGTGAAATCAACAGGATACCGGTATGCCATTCAGCAATT
+CTTCCCTCTCCGCGCAAGTGAAATCATATCTGACGTTTCTTCCTGAAGAAATTCGCCAGAAAATCCTTGA
+ACATCTCCACGGTGTTATTCATTACGAGCCCGTGATTGGCATTATGGGTAAATCCGGCACCGGCAAAAGC
+AGTCTGTGTAATGCCATTTTTCAGTCCCGTATCTGCGCCACGCATCCCCTGAACGGCTGCACCCGCCAGG
+CTCATCGCCTCACCCTGCAGATTGGTGAACGCAGAATGACGCTGGTCGATCTGCCCGGCATTGGTGAAAC
+ACCGCAGCATGATCAGGAATACCGGACACTTTATCGTCAGCTGCTACCGGAACTGGATCTGATTATCTGG
+ATCCTGCGGGCTGATGAACGTGCGTATGCTGCTGATATTGCCATGCATCAGTTTTTACTGAATGAAGGTG
+CCGATCCCTCGCGTTTTCTGTTTGTTCTCAGCCATGCCGATCGCGTGTTTCCTGCTGAAGAATGGAACGA
+CACAGAAAAATGCCCGTCCCGTCAGCAGGAACTCTCACTGGCAACAGTAACAGCCCGGGTGGCAACCCTG
+TTCCCTTCATCATTTCCGGTACTCTCCGTTGCCGCACCTGTCGGCTGGAACCTTCCGGCGTTTGTGTCGC
+TGATGATCCACGCACTGCCACCACAGGCAACCAGCGCGGTGTATTCACATATCCGGGGGGAAAACCGCTC
+TGAACAGACCCAGAAACATGCACAACAGACTTTTGGTGATGCCATCGGGAAAAGTTTTGACGACACCGTT
+GCCCGGTTCACTTTTCCGGTCTGGATGTTACAGCTTCTGCGTAAAGCCCGGGACCGCATTATCCACCTGC
+TGATCACACTGTGGGAGCGTCTGTTCTGACACACTCACGCCGACAGGATGTGTCGCTGGATTAACGAGCA
+TTCTTCTTTTTATGAAATCATGCTTAAAAATCAGATAATTAAAAGAATATTTTTTCTGCTGCATTTTATT
+CCTGATTATCCGGATGCGACACATCCTTTCAACATCATGATGCATAATAACATCATGAAATAAAAGATGT
+TTTCTTACGGAGTGCACATCTATGTCTGATAATCGTTCCCGGCATGATCGCCTGGCGGTTCGCTTATCAC
+TCATTATCAGCCGACTGATGGCCGGAGAATCTCTGTCACTAAAAACACTGTCAGATGAATTTGGCGTTAC
+AGAACGTACTTTACAGCGCGATTTTCATCAGCGTCTGGTTCACCTGGATTTAGAGTACAGAAATGGCAGG
+TACAGTCTCAGACGACAGAGCAGCCCGGGTGCGATCCCTGAAATGCTTTCTTTTATACAGAATACCGGGA
+TCGCACGGATACTTCCGCTCCGGAACGGACGACTGATAACCTGTCTTACCGACAACCAGGAGCCCTCTCC
+CTGCCTTATCTGGCTACCGGCGCCGGATATCACTGCAACGTTCCCCGAGTGTTTCTCGCAACTCATCCTG
+GCAATAAGACAGTGTAACCACATCTCTCTGATGACTGAGCGATGGTATCCGTCACTGGAGCCCTGCCGGC
+TCATTTATTACAGCGGTAGCTGGTATCTGATCGCGTTACAGAAGGGAAAACTGCAGGTCTTTCCTCTGGC
+AGATATCAAATCAGTCAGCCTGACATCAGAACGGTTTGAACGGAGAGGCCACATCCACAGTCTGGTCGCT
+GAAGAGCGTTTTATCTCCGCCCTGCCACATTTCTCTTTCATCCATAAACTTATCAACACCTTTAACCTGT
+GATCGCCGGCCTGCCAAAGCCGTCCCGACAGGTATGGAGACAATATGTTGAACAGAAAACTAAATATACG
+GCTACGTCATTCCCTGAACAGTCACTGCATACCTTCCATCATTATCAATAACACCGTACGTTCATTTCAG
+AGGTCAGTCATGAATACCAGAGCTCTTTTTCCCCTGCTATTCACTGTGGCATCATTCTCCGCCTCCGCCG
+GCAACTGGGCTGTCAAAAACGGCTGGTGTCAGACCATGACGGAAGATGGTCAGGCGCTGGTAATGCTGAA
+AAATGGCACGATTGGTATTACCGGCCTGATGCAGGGATGCCCGAATGGCGTACAGACGCTCCTGGGCAGC
+CGTATCAGTATTAACGGTAACCTGATCCCCACATCACAAATGTGTAATCAGCAGACGGGATTCAGGGCTG
+TTGAGGTGGAAGTCGGACAGGCGCCGGAAATGGTCAAAAAAGCCGTTCACTCCATAGCAGAGCGTGATGT
+GTCCGTTTTACAGGCATTTGGTGTACGAATGGAATTCACCCGCGGTGATATGCTGAAGGTCTGTCCGAAA
+TTTGTCACATCACTTGCCGGTTTTTCCCCGAAACAGACGACCACTATTAATAAAGACTCCGTCCTGCAGG
+CTGCCCGGCAGGCATACGCCCGGGAATATGACGAGGAAACAACAGAAACCGCTGATTTTGGCTCTTACGA
+AGTAAAAGGCAATAAGGTTGAGTTTGAAGTGTTCAATCCTGAAGACCGTGCGTACGACAAAGTGACCGTC
+ACGGTTGGTGCTGACGGTAATGCCACCGGCGCCAGCGTTGAATTTATCGAAAAATAGCCGGTATGTCGGA
+CTGCCACCCTGTTTTATTGCCCGAAGGCCCTTTCTCACGCGAACAGGCGGTTGCCGTCACAACAGCTTAC
+CGCAATGTGCTTATTGAAGATGACCAGGGAACGCATTTCCGGCTGGTTATCCGCAATGCCGAAGGGCAGC
+TACGCTGGCGGTGCTGGAATTTTGAACCTGATGCCGGAAAACAGCTAAATTCGTATCTCGCCAGTGAGGG
+AATTCTCAGGCAATAAACGTCTTCATTTCATCCATCAGGCCGCGTCTTCTCCGGGAGACGCGGCCTTTTC
+GTTTATACCGCTAATTCATTCATAAGGAGCAAAGTATGCAATTAGCCAGTCGTTTTGGTCATGTAAATCA
+GATCCGTCGGGAGCGCCCACTGACACGCGAAGAACTGATGTACCACGTCCCGAGTATTTTTGGAGAAGAC
+CGGCACACCTCCCGCAGTGAACGGTATGCGTACATTCCCACCATCACCGTCCTGGAAAATCTGCAGCGGG
+AAGGCTTTCAGCCGTTCTTCGCCTGCCAGACCCGTGTGCGCGACCAGAGCCGCCGGGAATATACCAAACA
+TATGTTGCGTCTGCGGCGGGCCGGACAGATAACCGGTCAGCATGTGCCTGAAATTATTCTGCTCAACTCC
+CATGACGGTTCATCCAGCTACCAGATGTTACCCGGATATTTTCGTGCCATTTGTACCAATGGCCTGGTCT
+GCGGTCAGTCGCTGGGAGAAGTCCGGGTGCCACACCGGGGAAACGTGGTGGACAGGGTCATAGAAGGTGC
+TTACGAAGTGGTGGGCGTGTTTGACCGGATTGAGGAAAAGCGTGATGCCATGCAGTCGCTGGTCCTGCCG
+CCACCGGCACGCCAGGCTCTGGCACAGGCGGCGCTGACTTACCGTTATGGTGATGAACATCAGCCCGTCA
+CCACTACCGACATTCTGACGCCACGACGCCGGGAGGATTACGGTAAGGACCTGTGGAGTGCTTATCAGAC
+CATCCAGGAAAATATGCTGAAAGGCGGGATTTCCGGTCGCAGTGCCAGAGGAAAACGTATCCATACCCGG
+GCCATTCACAGCATCGATACCGACATTAAGCTCAACCGGGCGTTGTGGGTGATGGCAGAAACGCTGCTGG
+AGAGCATGCGCTGATGCTGTTTCCCTGAAAGTGCAGCCCTGACTCACGTCTGTACCAGTCCCCAGGCATT
+CTTCCATTCATTTACTTTTTATAAGGAATCATCTCATGACAACCTTTTCGCATAGCTCCACCACACCTTC
+TGTTTCCGCAACTACTGCATCAGGGAATAACCAGTCTCAACTGGTTGCCACTCCCGTCCCTGATGAACAG
+CGCATCAGCTTCTGGCCGCAGCACTTTGGCCTCATTCCACAGTGGGTGACCCTGGAGCCCCGTGTCTTCG
+GCTGGATGGACCGTCTGTGTGAAGACTACTGCGGGGGTATCTGGAATCTGTACACCCTGAACAACGGTGG
+CGCATTTATAGCACCTGAACCGGATGAAGATGATGGAGAAACCTGGATACTGTTCAATGCCATGAACGGT
+AACCGCGCTGAAATGAGCCCGGAAGCTGCCGGCATTGCCGCCTGTCTGATGACGTACAGCCATCATGCCT
+GTCGTACGGAGTGTTATGCCATGACGGTCCACTATTACCGGCTGCGGGATTACGCCCTGCAGCATCCGGA
+ATGCAGTGCCATTATGCGTATCATCGACTGAGCAGGAGCGGGACCATGCAACAGCTTTCCTTTCTGCCAG
+GAGAGATGACGCCCGGCGAGCGCAGTCTCATTCTGCGGGCCCTGAAAACCCTGGACCGCCATCTTCATGA
+ACCCGGCGTGGCCTTCACCTCCACCCGTGCGGCACGGGAATGGCTGATTCTGAACATGGCGGGACTGGAG
+CGTGAAGAGTTCCGGGTGCTGTATCTGAATAACCAGAATCAGCTGATTGCCGGTGAAACCCTCTTCACCG
+GCACCATCAACCGCACGGAAGTCCATCCCCGGGAAGTGATTAAACGCGCCCTGTACCACAATGCCGCTGC
+CGTGGTGCTGGCGCACAATCACCCGTCCGGTGAAGTCACACCCAGTAAGGCAGACCGGCTTATCACCGAA
+CGTCTGGTACAGGCACTGGGCCTGGTGGATATCCGGGTGCCGGACCATCTGATAGTCGGTGGCAACCAGG
+TTTTCTCCTTTGCCGAACATGGTCTGCTTTAACCCGTCACAACCACATCACACCTGTTTTCACTTTTATC
+TTCTGTCTTCAGAGGTATCCCATTATGAAAATTATCACCCGTGGTGAAGCCATGCGTATTCACCAACAAC
+ATCCGACATCCCGTCTTTTTCCGTTCTGTACCGGTAAGTACCGCTGGCACGGCAGTGCTGAAGCGTATAC
+CGGTCGTGAAGTGCAGGATATTCCCGGTGTGCTGGCCGTGTTTGCTGAACGCCGTAAGGACAGTTTTGGC
+CCGTATGTCCGACTGATGAGCGTCACCCTGAACTGAGTGGGAATTCTGATGAGCAGAATTATCGCCACCA
+CCGGACCATTCTTAACCGATTTTCTGTAGGGATTTTATCGTGTCAGACACACTCCCCGGGACAACACTTC
+CCGACGACAATCACGACCGCCCCTGGTGGGGGCTACCCTGCACCGTGACGCCCTGTTTCGGCGCCCGTCT
+GGTGCAGGAGGGTAACCGGTTGCATTACCTTGCCGACCGTGCCGGTATCAGAGGCCTGTTCAGCGATGCA
+GATGCGTACCACCTGGACCAGGCCTTTCCGCTGCTGATGAAACAACTGGTGCTCATGCTCACCAGTGGTG
+AACTCAGCCCCCGCATACAGCATACCGTCACGCTGTATGCGAAAGGACTGACCTGCGAAGCCGACACCCT
+CGGCAGTTGTGGTTACGTTTATCTGGCTTTTTATCCAACATCCGAAACGAAAAAGTAAACCACCGGAATA
+ACCTTCTGTTCCGGCCTGGTGTTTTCACCACGCCACTTCCCCATTTCTCATCTCTGCATATCAGGAAAAA
+CTTCAGTATGAAAACATTACCCGATACACACGTACGGGAGGCATCGCGCTGCCCGTCTCCCGTCACCATC
+TGGCAGACACTGCTCATCCATCTGCTGGGCCAGCACTATGGCCTCACACTGAATGACACACCGTTCGCTG
+ATGAACGTGTGATTGAGCAGCATATTGAGGCAGGCATTTCACTGTGTGATGCGGTGAACTTTCTCGTGGA
+AAAATACGCGCTGGTGCGTACCGACCAGCCGGGATTCAGCGCCTGTACCCGCTCTCAGTTAATAAACAGC
+ATCGATATCCTCCGGGCTCGCAGGGCGACCGGCCTGATGACCCGCGACAATTACAGAACGGTAAATAACA
+TTACTCTGGGTAAGTATCCGGAGGCGAAATGATGACACTGGAAGCCGACAGCGTTAACGTACAGGCGCTG
+GATATGGGGCGCATTGTCATTGACGTCGATGGTGTTACTCTCGCTGAACTGATTAACGTGGTCTGCGATA
+ATGGCTACTCCCTTCGTGTTGTTGATGAATCTGACCGGGCCTCAACAGACTGCACGCCACCATTTGCTGT
+CCTGACCGGCATACGCTGCAGTACCGCGCATATCACGGCAAAGGACAACGCCTGGCTGTACTCGCTGTCG
+CATCAGACGAATGACACCGGCGAATCAGAATGGATTCATTTTACAGGCAGCGGATATCTGTTACGTACCG
+ATGCGAGGTCATACCCGGTTCTGCGGCTTAAACGCCTGGGGCTATCAAAAACGTTCCGTCGTCTGATTGC
+CACACTCATCCGGCGTTATGGCGTCAGTCTCATTCATCTGGATGCCAGTGCCGGATGCCTGCCGGGTTTA
+CCCACTTTCGACTGGTAACCAGGAACAACATGAAATCATTAACCACGGAAACAGCGCTGGATATTCTGAT
+TGCGTGGCTGCAGGACAATATCGACTGCGAATCGGGAATTATCTTTGACAACGATAAGGATAAAACGGAT
+TCGGCAGCACTGCTGCCCTGCATTGAACAGGCCAGGGAAGATATCCGTACCCTGCGCCAACTGCAGTTTC
+TGCAACAGAACCGGTGAGTCTTACTCACCAGACTTCATTCCACTGACGCCAGCCTGAATACGGCTGGCGT
+TTTCATTTATCAGCAAAAAGGGAAACAGTTATGTCAGACATCACCATCTCCCGTCCGGAAGTGCTCAATG
+GACATACGGACGTTATCTGCTCAACCAGTATCCGCCACATTCTGGCTGTACGAAAGAGTGCGCTGCTGCA
+AATCGACACACTTATCCGGCAACTGGCAGAAATCTCAGTACTGACAGAAAGTATTGGAGGTAAAACCGCC
+CTGGACTGGGCGATGAAACAGGATTTTCGCTGCGGCTGCTGGCTGATGGAGAAACCTGAAACCGCAATGA
+AAGCTATCACACGCAATCTCGATCGTGAAATCTGGCGTGACCTGATACAACGTTCCGGGATGCTTTCCTT
+AATGGATGCACAGGCCCGTGATACATGGTACCGGTCACTGGAATATGATAATTTTCCGGAAATCAGCGAG
+GCGAATATCCTGAGCACATTTGAACAACTGCACCAGAATAAGGATGAGGTGTTTGAGCGAGGGGTGATCA
+ACGTCTTCAGGGGACTGAGCTGGAATTACAAAACCAATTGCCCCTGCAAATTTGGCAGTAAAATTATCGT
+CAACAACCTAGTGAGGTGGGACCGGTGGGGGTTTCATCTTATCACCGGGCAACAGGCAGATCGACTTGCC
+GATCTGGAAAGAATGCTACACCTGTTCAGCGGCAAACCGATCCCCGACAACCGGGAAAACATCACCCTTC
+GTCTGGATGATCACATCCAGTCCGTTCAGGGTAAAGAGTGCTATGAAGATGAGATGTTCAGCATCAGATA
+CTTTAAGAAGGGCTCCGCGCACATCACGTTCAAAAATCAAGAACTGGTTGACAGGCTGAATGACATTATT
+GCAAGACACTATCCGGGAATGTTACCTTCATTATAAAGTTCTAAGAATGAATTCAATTATGCATTTTAGC
+TTCATTCCCTCACGCAAAATTATTTGGGGGTTCTTATGGGGGTTACTCATTTATCCAACACAAATTAATC
+ATTTAAAATTAATATATTAATACTCATATTCGACTCCTGTGATCGCCAAAATGCCTCTTCAGTGATCCCC
+ATCCTGCTTATTTCTGAGCAACCTGACCCTGCTGATGTATCTGGTAGTATGACAGAGTGATTCGTTTTTC
+TTGCCGAGTGTACGAAAACGTCTTCCTTGCCACCGACTATCAACCGTCACTCAAAAAAACCTCTCTTTTT
+TTCAAGCTATCAAGAATAAGTTGCATTTTATCTGCACCGGACACCAGCCATCCATATATGGCTTTTACCT
+GCTACAAAGATGAAGAAGTGCATAAATGTGATGTTAAAACAATCAAAGAAAAATTACATGCGCAATAATT
+TCACTATAACATTATAATCCATGGTGAAAATAACACTGCACAAGGATTGTCATCATCAAACTCATCGGAA
+CTATTTTTTCTGTCGTCATTGGTGTAATACTGATTGTAAGTATCCTTTCAGGAGATTATTTTTGCCGTGT
+GGGGCATGGAACTTGTAAAGCAGCCAAAAGCGCTAGGCATTTAATTGAAAGTAAAGAGAAAAACAGAAGT
+AGTCGCGTCAAAGTCTTTAGCACGCATATTAATTTGAGTCATCCAGCGGCATCCTGGCTAGCAACTCAAA
+CTTGCGCTAACAATATATTCAATCTGCTTCAAAACAATAATGCCATTTATTTATTCGAAAACGATAATAA
+AATTGAACTGCGAATGGGGTATGATTCTTTTTTCTCTATTGAAACGATTGATAAAATTAACAAAGAAAAC
+ATCAAAGAAATAAAACTAAAAAATGATACAACATATGTTTCTCTTCCTAATCCAACCATTTTAATAACCA
+ACGACATCAACACCTGAACGACAGTTTTCTATTTCTGTTCTGGATGATGATAACAAAGAAAATCTACCTA
+CCGATACCGCACCTTGTTTTACAATTGGTATTCCTGATGAATATACTAAAGCCATAGAGTTATTGAACAT
+TAAATAATTAAATTTCATATTGAGTTTTTTTAAACACCATATGAATAATTGTTATATGTCATTATTTCCT
+CCATTCACTAAAACTGATTGATTACTCTACTCCCTCACCGTCATCGGTAGTGGTATCCTTAACGTATATT
+GATGAAAAGACAAAACAGTATGCAGAGGGAAAAATGGGTTCCACCAGAAAGGGGATGCTGAACGTTCTGA
+TTGCCGCCGTGTTGTGGGGAAGTTCAGGGGTCTGCGCGCAATACATCATGGAGCAAAGCCAGATGTCGTC
+GCAGTTTTTGACTATGACGCGTTTGATATTCGCCGGTTTGATTCTGCTGACGCTATCATTTATTCATGGT
+GATAAAATCTTTTCTATTATTAACAATCACAAAGATGCCATTAGCCTACTGATTTTTTCCGTGGTTGGCG
+CGCTAACCGTACAGCTCACTTTTTTGCTAACCATCGAAAAATCGAACGCAGCCACGGCAACGGTGCTGCA
+ATTCCTCTCACCGACTATTATCGTCGCCTGGTTCTCACTGGTGCGTAAATCCCGCCCGGGCATTCTGGTT
+TTCTGCGCTATTTTGACATCGCTGATCGGGACTTTTTTATTGGTGACACACGGTAATCCGACGTCATTAT
+CGATCTCTCCTGCCGCGTTATTCTGGGGGATTGCCTCGGCATTTGCTGCTGCATTCTATACCACCTATCC
+CTCAACGCTGATTGCCCGCTATGGCACGTTACCGGTCGTCGGCTGGAGTATGCTGATTGGCGGTCTGATC
+CTGCTGCCCTTTTATGCCAGACAAGGGACAAACTTTGTCGTTAACGGCAGTTTGATTCTGGCGTTTTTTT
+ATTTGGTGGTCATTGGTACGTCCCTGACATTTAGTCTGTACCTGAAAGGAGCACAATTAATTGGCGGTCC
+AAAAGCCAGCATTTTAAGCTGTGCAGAACCATTAAGTAGCGCGCTGCTCTCTTTGTTGTTGCTGGGGATC
+ACCTTCACATTGCCGGACTGGCTGGGAACGCTGCTGATTCTGTCATCGGTGATTTTGATTTCAATGGATT
+CCCGCCGCCGCGCCAGAAAAATAAATCGTCCGGCGCGGCATGAGTGAGAATTACCAGCCAGGCACCGCGC
+CTCCGTTAAAGATGGTTTCTGCCGCTTTAGCGACTTCGGGTGATTGATAAGATTGCAGAAATTCCTTCAC
+GTTTTCTGCATTCTTATTATCTTCCCGTGCCACCAGAATATTCACATACGGCGAATTTTTATCTTCAATA
+AATACGCTGTCGTTAACCGGAGAAAGTCCTGTTTGCTGGATGTAAGTGGTGCTGATAATCGCTACATCCA
+CTTTCGGGTCGTCCAGTACACGTGGCAACTGTGCCCCTTCCAGCTCCATTATCTGCAAATGGCGTGGATT
+ATCGGTTATATCCAACGCGGTAGGTAATAACCCTTTTCCTTCTTTCAGAGTAATTAGCTTCTCTTTTTGC
+AGCAGTAAAAGCGCGCGACCAAGGTTAGTCGGGTCGTTGGGGATCGCCACTGTCGCACCTTCTTTTATTT
+GCGCCACTGTTTTGATTTTTTTGGAATAGCCCGCCATGGGGAAGACAAACGTATTTCCCACCGCTACCAG
+TTTATAACCATGCGCCTGATTATCTTGTTCAAGAAAGGGTCGATGCTGGAAGACGTTCGCATCAAGCTCG
+CCATGATTTGTCGCATCGTTCGGTAGCAACGAACCGCTAAATCCTACCAGTTCAACATCGAGACCATATT
+TCTCTTTTGCTACCTTTTTAGCGACTTCCGCGACATCTTGTTCTGCGCCATTAATAACGCCAACTTTAAT
+ATGCTTTTCATCGCTGCTGCTCTGGTCGCAACCTGCCAGCAGAACTCCTGCCAGTAATAATGCGGCCCCC
+GCCCGTAGATGATGTGTTGTCAGTTTCATTTTTTTATCCTTTTATTAATGATTACCTGACTATAGCGGTA
+AGGTCGCTGCAGTTTAAAAAACGAAACGCTATCGATAAGAATAAAAAGGAATAAAAGTGGAATATAAAGT
+CTGGCACTTCTTACTGACCACGCAAACACCTTTCGTACAGCATGATGAGAGCGGCAAAAGCAAACTACAC
+TTATGCTTCATTCGATGCACATTTGCAGAAGGTTGCCGCTATGAAGCCAACGATGCTACTCATGATTACC
+GTATTCCTGATTTTTCCAGCCATTTCTCAGGCCGAGTCGCCATTCAGTTCTCTACAGTCGGCAAAAGAGA
+AAACCACGGTATTGCAAGATTTACGTAAAATTTGCACGCCACAGGCGTCATTATCAGATGAAGCGTGGGA
+AAAGTTAATGTTGTCAGATGAAAACAATAAACAACATATACGCGAGGCCATCGTGGCGATGGAACGTAAT
+AATCAGAGCAATTATTGGGAAGCGTTGGGTAAGGTAGAATGCCCGGATATGTAAGAACGGCAACAACCAC
+TGACCAACGCTTCTTTACCTGATATCAGGATTTCTTCATTTTCACCTTTGCAGTCACCAACAATGCAGTC
+AGCAACATCAATGTGCCGGACAACATCAGCGGCGAAGTCAGACCAATGTTATCCAACGCATAACCGCCGA
+TTGCCGCACCGCAGGTATTGGCAAGCTGAATAACGGCCACCTGAATAGATCCAGCCTTTTCTGCCTGATC
+GGCCAATGAGCGAGTGATCCACGTTGACCAACCAACGGGAATTAAAGCAAAGGTCAGCCCCCAGATAATC
+GCCACACCAGTAGCAACAATTTTATCGCTTCCCCACAGCGTCAGTACCAGCGCGCTCAGGGCGAGCACAA
+ACGGTGCGCCCGCTAAGGCCAGTTTCACCGAACGTTTGAGAATAAACGACGAAAGCGATGTCCCGACAAA
+GCTGGCGATACCAAAACTCAGCAGCACCAGGGTTAAGCCATCAACACCGAATCCCGCCAGATTCATATAC
+ACTGGGCGAATATAAGTGAAAAAAGCAAACTGTCCGGCAAAGGACATAAAGATGGCGATCATCCCGGCCA
+TCACTCCCGGACGTTGTAATAAGCGGAAAGTATTTTGTTTCTGATGCGAAGGTTCACCTGGCAGCGAAGG
+CAGTGACTTGATAATCCAGAAAATACACAGCACGCCCATCGCCGCCGCCGCATTAAAGACATTGCGCCAA
+CCGATAAGCTCGCCTAAAAAACTGCCCAACGGCGCGGCAATCACCAGCGCAATAGAAACCGCGCCGAAGA
+TCACCGACAGCGCCTTCGGCACCGTACGCGGCGGTACCAGACGCATGGTCAGCGACGCCGATATCGCCCA
+GAACCCGCCCAGCGCCACCCCCAGACAGGCGCGACCGATTAACAGCAGACTGAATGAGTTGGCAAAGGAA
+ACCAGCAAACAGGAAAGCGTCAGCAAAACGGCGAACAGAATGACAACGTAGCGGCGGTCAGTGGCCTGAA
+TGGTCTGGGTAATAAACAAACTGGCAAACATCGCCACAAAGGCGGTCACGGTCACCGATTGGCCGGCAAC
+CCCTTCCGAAATGCCTAAATCCTGGGCCATTGGCGTCAACAAACTGACAGGCAAAAACTCAACGATAATC
+AGACAGGCGACGCAAAACGCCACTGAGAAAACGGCTGACCAGTTCGGTCGGGTGATGGCATTCGCGCCGC
+GGTTTTCAGCAATAAATTCACTCATGGTGTTACCCGTGGCATGTTTCAGGGGAAAAGCCGACCAGTCTAA
+CATTGAAATGTGTGATGCATTTAACGTTTTTGCAACTTTTACGATGTTGCTTGAGCTGGAGTTAAGATCG
+AAACGGAACAGGGCAAAGATTACCGGATGCGGTGTGAACGCCTTATCCACCCACCAGGTCAGGCGCGGTC
+TGTAGGCTGATAAGACGAAGCGGTTTTAATGCAGCCAGTGAACGCCCTCGGCAGGCTGAAAGAACGCGTT
+ATAGCGCATCTGAAAAGCATTGATATCCTGCATTTCAGGTTCGGTTTCGCGCAGAAAACCCAGCGCCAGC
+CTGACCTGAGCATCAGTAATCGGCGCGGCAAGGCGGGCTTTTTGTAAAATCCGATGCCATTGCAGCATGT
+TCTGTTCGCTACCATCGACAATGACAATTTGCCAGATGAGCAACACCTGCGCGGCGTTTTGCAGGTGCGA
+CTCATCCGGGCGATGCAAATAACGTAAAAATTCGTCACCGGCTGACTTTCCCATTTGATCGACCATCGAC
+TCCACGGGTACGACATCGATGTTCAGCCGATCGCTGAGACGGCGAATCGCTTTTCTGGCCCCGGATGTCA
+GCACCCGAAAACCAACCACAAACACTACCGCCAGCGTGGCGAGCATTATCCAGATCATGAGTTCTCCTGC
+GTAATCAGAACTCATGATATCTGGAAACCCTCGCCAGTTACTAATCCACCAGAATAATCTTCAGTGCAAA
+CAGAGTTGCGACCACCACCACACACAGGTTCAGATCGCGCCAGCGCCCGGTGCACACTTTCATGATGCAG
+TACGACATAAAGCCTAGTGCAATCCCTTCGGTGATCGAGAAAGTAAAGGGCATCATCACCGTGGTAATAA
+ACGCAGGCACCGATTCGGTAAAATCATCCCAGTTAACGCGCGCCAGGCTTGAAGTCATCAGCACGCCAAC
+AAAGATTAACGCTCCGGCGGTTGCGTAAGGAGGAACCATCGCCACCAGCGGTGAGAAGAACATAACCAGC
+AGGAACATAACGCCGACTACGACAGCCGTCAGCCCCGTGCGACCACCGACAGCCACACCTGAAGTACTTT
+CAATATAGGCGGTAACAGACGAGGTACCGATAAACGCACCCGCCACCGAACTGACGCTATCAACATACAG
+CGCCTTATTCATATTGGGGAATTTACCGTTACTATCTATTAAGCCAGCTTTATCAGTCACACCAATTAAT
+GTCCCTGATGAATCAAATAAGTTGATCAGCATAAAGGAGAAAATGATACCGGCGAGTTCAAGTGATAACG
+CACCGCTCAAATCCACTTCACCAATGACGCCGCTAATATCAGGCGGAATGGAATAGACGCCGCTAAAATG
+AACATCACCGAAAAATAATCCACAGCAAGACGTCACCACAATAGAAACAAGCACCGCGGCATGAAAATGA
+CGTGATGACAACACAGTTATAATAAAAAACCCTAAAATACCTAACAACACGCCGTGAGAACTTAAATCGC
+CAATCATCACCAGGGTGTCTTTATTGGCGACAATAACGCCAGTATTTTTTAATCCCATTAAGGCGATAAA
+TAATCCGATTCCGCTGGTGATACCAATACGTAAACTTAATGGAATGTTGGAGATCATCCAGTACCGGATA
+CGAAACAGCGTGAGCAAAAATAGCCCAACTGCGCCCCAGAATATCGCGCCCATCCCGGTCTGCCAGGAGA
+TACCCATCGCCCCCACGACCACGAAGGCAAAGAAGGCGTTCAGGCCCATTGCCGGAGCCAGTGCCACGGG
+TAAGTTAGCAAATACCCCCATCGCAATACTGCCGATACCGGCAATCAAACAGGTGGTAACAAACACCACT
+TTTGGGTCCATTTGTGCCGCGCCGAGGATTTGCGGGTTCACAAAAACGATGTACACCATGGTTAAAAAAG
+TGGTCATCCCCGCAATCAATTCTGTGCGGACGGTGGTCCCATGCTGAGGTAGTTTAAATAATCGCGAAAG
+CGTCCCTGATTCATTACTCACGTAATCGGTATTGTCATTATTCATTTTTTTGTCCATTGGAGGAGATTTA
+ATCCCTTGCTTTTGTAAAACAAATGACAACAACGGTTCAGTGATAATTATCACATTTCAATTGCACATTA
+ATGGATATTCTTTAATAATCTCGCGACGTTTCTTTATGATAAATAATAATCAAATTGATAAAATCAAAAT
+GAGAAAAATATGAATAATTCTATTAACCATAAATTTCATCACATTAGCCGGGCTGAATACCAGGAATTGT
+TAGCCGTTTCCCGTGGAGACGCTGTTGCCGATTATATTATTGATAATGTCTCTATTCTCGACCTGATCAA
+TGGCGGAGAAATTTCCGGCCCAATTGTGATTAAAGGACGTTACATTGCCGGTGTTGGCGCAGAATACGCT
+GATGCTCCGGCTTTGCAGCGGATTGATGCCCGCGGCGCAACGGCGGTGCCAGGGTTTATTGATGCTCACC
+TGCATATTGAATCCAGCATGATGACGCCAGTCACTTTTGAAACCGCGACCCTGCCGCGCGGCCTGACGAC
+CGTTATTTGCGACCCTCATGAAATCGTCAACGTGATGGGCGAAGCCGGATTCGCCTGGTTTGCCCGCTGT
+GCCGAACAGGCAAGGCAAAACCAGTACTTACAGGTCAGCTCTTGCGTACCCGCCCTGGAAGGCTGCGATG
+TTAATGGTGCCAGTTTTACCCTTGAACAGATGCTCGCCTGGCGGGACCATCCGCAGGTTACCGGCCTTGC
+AGAAATGATGGACTACCCTGGCGTAATTAGCGGGCAGAATGCGCTGCTCGATAAACTGGACGCATTTCGC
+CACCTGACACTGGACGGTCACTGCCCGGGTTTGGGTGGTAAAGAACTTAACGCCTATATTGCTGCGGGTA
+TTGAAAACTGCCACGAAAGTTATCAGTTGGAAGAAGGACGCCGGAAATTGCAACTCGGCATGTCATTGAT
+GATCCGTGAAGGGTCCGCAGCCCGCAATCTCAACGCGCTGGCACCGTTGATCAACGAATTTAACAGCCCG
+CAATGCATGCTCTGTACCGATGACCGTAACCCGTGGGAGATCGCCCATGAAGGACACATCGATGCCTTAA
+TTCGCCGCCTGATCGAACAACACAATGTACCGCTGCATGTGGCATATCGCGTAGCCAGCTGGTCGACGGC
+GCGCCATTTTGGTCTGAATCACCTCGGCTTACTGGCACCCGGCAAGCAGGCCGATATCGTCCTGTTGAGC
+GATGCGCGTAAGGTCACGGTGCAGCAGGTACTGGTGAAAGGCGAGCCGATCGATGCACAAACCTTACAGG
+CGGAAGAGTCGGCGAGACTGGCACAATCCGCCCCGCCATATGGCAATACCATTGATCGCCAGCCAGTTTC
+CGCCAGCGACTTTGCCCTGCAATTTACCCCCGGAAAACGCTATCGCGTTATTGAGGTAATCCATAACGAA
+CTGATCACGCACTCCCGCTCCAGCGTCTACAGCGAAAACGGTTTTGATCGCGATGATGTGTGCTTTATTG
+CCGTTCTTGAGCGTTACGGACAACGACTGGCTCCGGCCTGTGGTTTGCTCGGCGGCTTTGGCCTGAATGA
+AGGTGCGCTGGCGGCGACGGTCAGCCATGACAGCCATAATATTGTGGTGATCGGTCGTAGCGCAGAAGAG
+ATGGCGCTGGCGGTCAATCAGGTGATTCAGGATGGCGGCGGGCTGTGCGTGGTCCGTAACGGCCAGGTAC
+AAAGTCATCTACCGTTGCCCATTGCCGGGCTAATGAGCACCGACACGGCGCAGTCACTGGCGGAGCAAAT
+TGACGCCCTGAAAGCCGCCGCCCGTGAATGCGGTCCGTTACCGGATGAGCCGTTTATTCAGATGGCGTTT
+CTTTCCCTGCCAGTGATCCCCGCGCTGAAACTAACCAGTCAGGGGCTGTTTGATGGTGAGAAGTTTGCCT
+TCACTACGCTGGAAGTCACGGAATAATAAAAAAAGCCCGGCGTCATGCCGGGCAAAAGTCACCAGTTACG
+TTTATGCCACTGTCAACTGCTGAATTTTTTTCTCGCGGCGGATTTTGCGTTCTTCCATCACCGCTACTAT
+CGCCATCAGGCAGATACAACCAATAGCGGCGATATCCAGCGCGGCGAAGGTGCCTGCCCAGCCGGTAAGG
+CCAAATACCGGCGTCCCATCGGCAATCATTCCCAGACCTAACTTGGCAAAGCTGTCACCAATCAGGTAAG
+CGAAGGTGCCTTTAATACCATCGGCAGCGCCAATCGCTTTTTTAGGTACAAAGCCAACAGCCGCCACGCC
+AATCAACAATTGCGGGCCAAAGACCAGGAAACCCAACGCAAAGAGAGAAGCCAGGTAGATATATTCGTTG
+CTGGCGTGTTGATACACACCGAGCGTGGCGATAATCAGCGCCAGCGCGATACAGGCCACCAGGCCACGGC
+GACCGTTCGCCAGGTCAGAGAGCCAGCCCCACAGCAGCGTACCGACCAGCGCACCAGCTTCAAACAGCGT
+AAAGCCCTGAATCGCCACCGCTTTAGAGAGTTTCAGTTCCTGGAACGCATACACGGTTGACCACTGGTCG
+ATACCAATACGCACCACATAGAGGAAAATGTTGGCAAAGCACAGCAGCCAGATCACTTTGTTTTTCAGCA
+CATACTCAACAAAGATCTGCCACTTGGTCATATCGGTAGATTCTGTCTCTTTATCCTCTTCACTGATCTC
+CTCGCCAAACAGCTCTTCAGCTTTGCCGAGGCCATAAGATTCCGGGGAGTCGCTGCCGTAACGCAGACCG
+ATAAAACCAACAATCAGCGCGATAATCGACGGGAAAATAAACATGCCGATGACATGACCATCGAACAGGT
+AATTTGCGCCGAACAGCGCCACACCTGCTGCGCCTGCACCACCAAGGTTGTGAGAAATGTTCCAGAAACC
+GAGGAATGTCCCGCGTTTACGACGCGGCGTCCATTTGGTGATGGTGGAGTAACTGCACGAACCGCCGGTA
+CTCTGGAAAAAGCCGCTCAAGGCGTAGAAGGCAATCATCAGGAACAGGCTAACCGAGCCGCTGCCCATAC
+TGGCACTGAAGCCCAGCATACAAATGGCAGACAGGATCAGCATGAACGGCAGGAATTGTTTGGTGTTTTT
+GCCGTCGGCGTAGTAAGAAACCAGCGTTTTACCCACGCCATAAGTGATGGAGAAGCCCAGGCCGATCATC
+CCCAGCTGCGTCATGCTCAACCCGTAGGTCGAGATCATGTCGTTCTGCGCGATGTTAAAGTTCTTGCGAA
+TCAGGTACATCGTAAGGTAGCCGATAAAGACCACCAGGTAGGATTGCATGAACGGTTTGAACCACATTTT
+GCGCCGCACTTCGAGCGGAAGGTCCAGGGTCGGCTTGCGAACCTGGTTTAAGAAAGCCAGCATGGGTTAC
+TCCTGAAATGAATACCTGCGTGAGGCATGCATTGTAAAAATCAGCAGCAAATCAGGCCTGAGATAGCGTC
+CAGGCAAAACCTGGAAAATTTCTTAGTTTTGCCGGATATGAAGTGAAAAGGTGAGATGCATCACGCTTCT
+CGCGGTGTCTGGGCGTTCAAAAAGGGCAGTAATAGCAGTGCGGAAATCCCGGCGGCGATGGCGATAACCA
+CAAAAAATCCGCTCCAGTGCCAGGTATCGAGTACTTTCGCCAGCGGCCAACCAGCAAGCGACGCACCAAG
+ATAAGCAAACAAGCCGACAAATCCCGTCGCCGCCCCTGCCGCCTCTTTGTGGGAACACTCTGCCGCCGCC
+ATGCCGATTAACATCTGCGGGCCAAAGACAAAAAAACCAATGGTGAAGAAGCAGGTTGCCTGCATCACGT
+AGCTGGCAAATGGCATCAGCCACAGCGAGCCGACTGAAAGCAAAATTCCGGCGGCGAAAATCAAATTCAT
+CGGCCCGCGGTTGCCGTTAAACAGTTTGTCCGAACCCCAACCCGCTACCAGCGCACCGATAAATCCGCCC
+AGTTCAAACATTGTCACTGCCGTATTCGCCGTGACCAGATCGACGCCCAGCGTCTCGGACATATACAAAT
+TGCCCCAGTCGTTGATCGCCGCCCGAACCACATAGACCAGCACATAGCAAAACGAAAGCAGCCAGATATA
+CGGATTCAGCAACACATATTTGGTGAGGATCTCTTTACGCGTCAGCCCTGCCCCTTCTTGTTGTTGAGCA
+ATCTCCAGTGCGTCGTGCCGCCATTCACCAACCGCCGGTAAACCTAACGCCTGCGGACGATCGCGCAGCC
+GCCAGCAGAGAAAAATCCCCACGACGATCGCCATACAACCCGCAATCATCATCCCGGCACGCCAGCCGTA
+ATGCAGCGCGCTCGCTGCCATCACAATGGGAATGAGTGCGCCGCCGACGTTATGCGCCGTGTTCCATAAT
+GCCCACCAACCGCCGCGCTCGGTACGAGAATACCAAGCGGTTAACAGACGCGCACACACCGGTGAACCCC
+AGCCCTGGAAAAAGGCGTTCAACACCCAAAGCACGGCAAACGCCCATAGCGACGTCGAGAAGCCAAACAG
+AATGTTGATAATGCCCGTGGCAATAAGCCCTATCCCCATAAAATAACGGGCATTTGAGCGATCGCTGACA
+ATGCCGGAGACAAACTTCGACACGCCGTAGGTAATGTAAAACAGGGTCGCTAACAGGCCAATATCGCTAC
+GGCTGAGCACGCCGTTAGCAAGGATTTCTGGTACGGCGGCGTTAAAACTTTTACGCGTGAAGTAAAACAG
+CGCGTAACCCAGCCAGATGGTCAGCAGAATATGCCGACGCCAGTAGCGATAGCGGGCATCAATTTCATGT
+TTATCAGTCATTAATGGCGCATCGGCAGGCGCTTTCAGAAACGGCAACATCATCGAACCTTAGACATAAC
+GTTGAGGTAGAGAAACGCTGACACGCGTGCCGTGCAGACAGGAAATGGTCAATGTGCCACCCAGCGCCGT
+TACGCGCTCGCGCATTCCGGTAAGGCCAAAACCGTGTTGCCCGGAATCTGGCGGTAAACCGCTGCCATCG
+TCTTCAATCACCAGCATTAACCGCTCATCATGCTGCCAGCCTTGCAGCGTGACCGCGCTGGCATCGGCAT
+GTTTCACAATGTTGTTCAACCCTTCCTGGCAGACGCGAAACAGCGTCACGCGCTGGTTTTCGCTTAACGC
+TGATTCATCGATTCGCCATTCGAGATGACTGACAATGCCGCGCCCTTCCAGCTCCATTTCCCGCATCAGT
+GAGCGGATGGCCTGCTCCAGGGTGAGATCATCCAGCTGGCGCGGACGTAACCGCCCTAACAAGCGGCGCA
+CCGCGTCGTAAACGCCCAACGACAACTGTTCGATGAGCTGCCCGCTCTGTTTCACGCTGGCGTTATCCGC
+CGCGAGCCGCTGGACAATACCCGCTTGAGTTCGAATAGCAGTAATGGTCTGACCGATATCATCGTGCAGC
+TCACGTGCCACATCACGGCGCACGCTCTCTTCGGTTTCCAGCAACCGTTCAGCGAGATGCTGATTGCGCG
+CCAGTTCCTTTTGCAGCGACTGGTTAAGTTCACGCAACCGCTGGATGCCAGCGCCAAGTAACAACCCTGT
+CAGACTTTGCACCAGCAGCGAGAGCAATAAATCCACCGGATGATCGCGCCAGGTTTGACTGGCGATCAGC
+GCGATGGCGTTCATCAATGTCGCAATCAGCGCTCCTTGCCAACCATAGTGCCAGGCCAGCGCGATAATCG
+GCAGCGCCAGACAGAATGGCGTAAAGCGCGACAGTTCGTCCGGCAATCCCAACTGGAGCCAGAGACTGAT
+AACAAACAGCAGCAAGTACCAGACCAGATGCCGCCCACGCCAGTTGATTGGTTGAGAAACCAGTGACGGG
+CCGAGCGGCAGCCAGGTGTTATTGGCGAGATAGTGCCAGAACACCAGACATATCGGGGCCAGCGTCAGGC
+CGCCAGTTAAAGTCAGCAGTAGCGCATTCCACGACTCTTTGCCGTGCCAAAGCCAGGGCAGCGACTGCAA
+CAACGCCGCCGCCGTTAATGCCGCACCCTGTAACAGCAAGGTGCGCCAGTCACGTTGATGGCGATAGCGC
+GAGATCAGCGCCACGGGCAGTAACGTCAGTAAACTACCGATCATCAATAAGGAGAAATGGGTTAAACCGA
+CCGCCTGCGTTAACCAGTAAATCAGCAGCCACTCCGCGCCCAGCAACACCGGCCAGTATCCGCGCGGGCA
+TTGCAGCATTAGCCCTAGCCGCAGGCCAAACGGAAATAACAGTACCGCCATATCAGGGCGCTCAACCAGG
+TGCAGGCTGATACTCCACAGGCAAAACCATGCGGCAGAGAAGATAAAAAAGCAGGCAATAACGGTAATTA
+AGCGGGAGAACAACGTCTTCATCACCAGCCATCAAACATGCGGCGCGCCAGTTCAACGTCGTTACTGACG
+CCCAGTTTTTCCATCAGGTTGGCGCGATGGACATGTACCGTTTTCGGTGACAAGCCCAGTTCGGCAGCAA
+TCTCTTTCACCGCCATTCCTTGCGCCAGTTTTTCCGCCACCTGGCGTTCGCGTTTGGTTAGCGGGTCCTG
+GCGACCGGATGCCAGTTTAATGGCAATATCCGGCGTCAGATAACAGCCGCCCGTGGCAACCGTATGCACC
+GCAGCAATGAGTTCATCCGGGCTACAGCGTTTGGAGAGAAAGCCGCGCGCCCCCGCGTTAAGCGCCTGCT
+CAACCAGCGCCGGACTGTCATGAACGGAGAGCATAATTGTCGCCATGCCTTTCGGCAGCTGGCTTAGAAG
+CTCCAGACCGGAGATATCAGGCATGGAGATATCGCAAATACACACCTGCACACCGCGCCCCGGCAGCCCC
+GCCAGCGCCTCGCGCCCCGAACCAAACTCGGCAACTACCTGCAAATCAGGTTCCAGCCCCAGCAGCTGCG
+CAAAGCCGGAGCGGACGATAAGGTGATCGTCTATAAGGGCAACGGTGATCATGGTCTTGTCCTGGCGGGT
+AATAAAACGCGCTTACCTTAACGATAAGCGCGCCACTGTTCAAGCCTTGAGCGGTTACTGAAAAAAGCTG
+CGCTCCTGTTGCTTGTGAAAAGAAATGATGCCTTCAAGGTTTGGTATATCGACTAATCATTAAAAACGCT
+GGCAGCATTAATACCTTGTTAGTATCCATTTTGAATAAGAAAAATATATATTTTATATTTATAGTTTGAT
+TGTTTGTATATTTATGAATTATTACTTCAGTATAAAAACCACTCTCTAAATAATTCGCAGACACAGCACA
+TGCAACTTGAAGTATGACAAGCATGCCTGCTTCATTATTACACTTTAATAATAAAACCCACCGATTAATG
+TACAAAAAATCCCTGCGTGATATTGTCTGTAAAAAAGGAGCAGATATGCGCACTCACCCTCACTTAATAA
+AACAAACTATTGATCCACGACTCATTAATGAAATAAACAAAAGAACACAAAGCAACAGTGAGAAGTTATC
+AAACAGTGATAAATTAACATATATTAATGACAACTACTGTGAGATAACGCGAAACTACACGTCATTTTAT
+GGTATGAACATGCTGAGCATCGTTCTTTTCTTACCTATCGTTATTTTATGTTTTGCCTCTGTTTTATTCT
+TTATATATGACATAACATTTAACTTCGAACGATACTTAGATACGTGGAGATACAGAGCAGACTCTGAGTT
+AATGCTACATATTGCTTACTGCGCAATTTTTTTCATGTCTTTTGTTTTTGCTGCTATTCTAAATTATTTT
+ATCTTTGCTCCGCGACATTACCCAATCCGTTTTAATAGAAAAACAGGAAAGGTCTATATTTGTGATTATA
+TTCTTAATGATATGAGTCATAAATCAACCTATACTTTCTGGTGGCACTATCCATTCTATAAACATACCAA
+GCCTGAATATAAAGAGTACGACTGGGAACAAATTCAAGGTATAGCTTTTTTTGCACAAAATCGCCATTCC
+TCATACTCCACTATTCGCTGTATTGTTTATGAATCATTAGACAGTACAAATATTATTGACACCTTTAACC
+TGATAACGACAGAGAGTGCTATAGATGCATTGCATATGACAAATCACAAATTATGGTTATGGATTAATAG
+CTTTATGAATTTTGACGATGAGTTTTTAGAGAAATCTATCAATACTGCTCCAGGTATTTGGGGCCGTGAA
+GTGAATTGGCCTGAAGATATGAATAAGAAATCAATGTTGTCTTCAATGGACGAATATATACTCTGAATAA
+TTCGAGTTACAGAATATACTCGTCATACTTCAAGTTGCATGTGCTGCGTCTGCGTTCGCTCCCCCCAGTC
+ACTTACTTATGTAAGCTCCTGGGGATTCACTCGCTTGTCGCCTTCCTGCAACTCGAATTATTTAGAGTAT
+ATAAGCTCGCCCGGATGTAAATATCCCATCCAGGCGAGAAAATCACTTACTGAAAAAACACCGCAATCTT
+GTTAAACATCGTCGGATCGGACTGATTACGCTGCACTTTCACCACATCTTCCAGCTTGTCTATCTGGCTT
+ATCATCTGCTCCAGACGCTGGTCGTCATTGACCAGTAGCCAGATGTGGCTTTTGTCGCTGTCCTGAATCG
+GCAGGCAGAGAATGCCTTCAACGTTAAAAGCGCGACGGGCAAAAAGGCCACAAACGTGGGTCATTACACC
+CGGATGGTTGCGAACGGTGAGTTCCAGAATCACGTTATCATGAGTTGTGTTTTGCATGGCTTATTCCCCC
+ACCATTTCAGTATTCGCCGCACCTGGCGGCACCATCGGGTACACTTTTTCTTCGGCATCAATGCGCACAT
+GGATCAGCGCCGGGCCAGGGCGATTGATGATTTCCTGCAATGCAGCCTGCGGATCGGCTTCGTTATTCAA
+ATCACAGGTTTCGAGGCCGAATCCGGCGGCAATCTGCATAAAGTTGATTTTGCCCGGATAGGTAGCGGCA
+AAAACGCCCTGCTTGTAGAACAGACTCTGTTGCTGATGCACCAGCCCCAGCGCTTCGTTGTTCATCAAAA
+TGATTTTAACATCCAGCTGATTTTCACTGGCGGTCGCCATCTCCTGAATATTCATCATCAGGCTGCCGTC
+GCCGGAGAAGCACAACACTTTGCGGTCCGGGTTCGCCAGCGCCGCGCCAATCGCCGCAGGCAGGCCAAAA
+CCCATCGTGCCCAGCCCGCCGGAGGTCAGCCACTGGCGTGGGCGATTGAGCGGATAGGCTTGCGCGGTCC
+ACATCTGATGCTGACCCACGTCGGTGGTGATAATCGCATTGTCATCGACACAGGCGGCAACGGCGTTGAT
+CAGGCCGTAATGGCTTAATGGATCGCACGCTTTCGGGATTGGACACGGGAATTCACGCTGCAAATCCGCC
+ACCAACTGGTGCCACTCTGCACGCGGTTGCGCTTCCACCAGCGGGATCAACTGCGCCAGCACGTCATCAA
+CATCCGCCTGAATTGCCACATGCGGTTGCTTGATTTTGCCCAGCTCTGCGCGGTCGATATCGACATGAAT
+AATTTTGGCATTCGGACAGAACTGCTCGGTTTTGCCAATCGCCCGGTCATCAAAACGCGCACCGAGTACA
+ATCAGCAGATCCGCCTCCTGCAAAATATAGTTGGTGCTGCGCACACCGTGCATCCCCAGCATACCCAGCG
+ACAGCGGATGCGCTTTTGGCAACATACCCAGCGCCATTAAAGTCATGGTGGTAGGCAGTTGTGCTTTCTC
+CGCCAGTTCACGCACTCGCGCAGGCGCGTTGATCACACCACCACCCAGATAAAGCACCGGGCGTTTGGCG
+GCGTTAATCATCGCCGCCGCGTCACGAATACTTTCTTCGCTAAAGGCGGGTGCGGCGGCTTTTTCTGCCA
+TAGCGGGCTGTGTTTCAATCTCAAAAACTGCCGTTTGCACATCCTTAGGAATGTCTATCCACACCGGGCC
+AGGGCGGCCTGATTGCGCAATACGGAAGGCATCGCTCATGACCTGCGGGAGTTCTTCGATATGTCTGACC
+AGATAGTTGTGTTTGGTGATGGGGATAGAGATGCCGTAGGTGTCGACTTCCTGGAAGGCGTCGGTGCCGA
+TCATCGAGGCGGAAACCTGACCGGTGATGCAAATCAGCGGGATGGAGTCCAGCCTCGCATCGGCAATGGC
+GGTCACCAGGTTAGTCGCACCCGGTCCGCTACAGGCCATACAGACCGCCGGTTTACCGTCGGTGCGCGCC
+ATTCCCTGAGCGATAAACCCCGCGCCCTGTTCATGGCGAGCCAGAATATGGCGGATTTGCGTGCTTTGGC
+TTAAGGCATCGTAAACAGGCAGGATAGAACCGCCCGGAATGCCCGTCACAATCTTAATGCCCTGCTGTTC
+CAGGAAATGAACGATAAATTCTGCGCCGGTAAAGCGCTTACGCGTCGATGTTGTGCCCGAACTTGCCATG
+CTCCAGTCCTTTTCTTCTGGGCCGACTTTCCGGGAGGTGCTTAAACGAAAAACCCCGCCCGGTTTGCGCC
+GGCGGGGTTTTGGAATCGTGTGTTGTTCCAGTCCCTACGGCGCATTGCCGACGACCACCACCACACGCAC
+GACGACCACTGCGGCAGATGGCGCAGTTGGTAGTAGTTTTGCGTTGAACATGGAAGTAGTCATTAGGGAC
+CTTGTTGGTTTTGTGTTTAACAATATTTATACAAGCACAGCTTTACAGGGGAGACAATGGAAAATTTTTC
+TTCCGGATAAAAATACGTGGCAGATCACATTTTGAACTGAAACTCAGGCAATAAAGCATCATCACCTGAA
+AGACGGTCAGATTGTTGACAGAGTGCGCCTTATTCATGTCGAATACAGCGTAAACACCTTACCCTACCAA
+CCGCACCATCACTGTTCCCGGCAACATTTATTGCCGCTTTTGTTTACATATTCTGCCGCTAAACAATTCC
+CCATTCCTGGCGTATATCTGGCTAACATTCATCAATGTGATAGATTCCTCTCCCGCATTTATGGGAATGC
+GTAGTGACTTATTCTAATTATTTTTATAAAAGCATCCGTGATAATGAAAAGGCATAGAAACGTCAATTTG
+TTATTGATGTTGGTATTACTCGTGGCCGTCGGTCAGATGGCGCAAACCATTTATATTCCAGCTATTGCCG
+ATATGGCGCGCGATCTCAACGTCCGTGAAGGGGCGGTGCAGAGCGTAATGGGCGCTTATCTGCTGACTTA
+CGGTGTCTCACAGCTGTTTTATGGCCCGATTTCCGACCGTGTCGGTCGCCGACCGGTGATCCTCGTCGGA
+ATGTCCATTTTTATGCTGGCAACGCTGGTCGCGGTCACGACCTCCAGTTTGACGGTATTGATTGCCGCCA
+GCGCGATGCAGGGGATGGGCACCGGCGTTGGCGGCGTAATGGCGCGTACTTTGCCGCGCGATTTATATGA
+ACGGACACAGTTGCGCCATGCTAACAGCCTGTTAAACATGGGGATTCTTGTCAGTCCGTTGCTCGCACCG
+CTAATCGGCGGTCTGCTGGATACGATGTGGAACTGGCGTGCCTGTTATCTCTTTTTGTTGGCTCTTTGTG
+CCGGTGTGACTTTCAGTATGGCCCGCTGGATGCCGGAAACGCGTCCGGTCGACGCACCGCGCACGCGCCT
+GCTTACCAGTTATAAAACGCTTTTCGGTAACAGCGGTTTTAACTGTTATTTGCTGATGCTGATTGGCGGT
+CTGGCCGGAATTGCCGCCTTTGAAGCCTGCTCCGGCGTGCTGATGGGCGCGGTGTTAGGGCTGAGCAGTA
+TGACGGTCAGTATTTTGTTTATTCTGCCGATTCCGGCGGCATTTTTTGGCGCATGGTTTGCCGGACGTCC
+CAATAAACGCTTCTCAACGTTGATGTGGCAGTCGGTTATCTGTTGCCTGCTGGCTGGCTTGCTGATGTGG
+ATCCCCGACTGGTTTGGCGTGATGAATGTCTGGACGCTGCTCATTCCCGCCGCGCTGTTCTTTTTCGGTG
+CCGGGATGCTGTTTCCACTGGCTACCAGCGGCGCGATGGAGCCGTTCCCCTTCCTGGCGGGCACCGCTGG
+CGCGCTGGTCGGCGGTCTGCAAAACATTGGTTCCGGCGTGCTGGCGTCGCTCTCTGCGATGTTGCCGCAA
+ACCGGTCAGGGCAGCCTGGGATTGTTGATGACCTTAATGGGATTGTTGATCGTGCTGTGCTGGCTACCGC
+TGGCGACGCGGATGTCGCATCAGGGGCAGCCTGTTTAAGCTCACGTCACCGCAGCATCGTCATCAGCTCC
+ATGGGAGAACGATGCTGCTTTATCAGATCACGCATCACCCGCATATGCGGCGCGGAGTAAGAATAAAACG
+CCTGATAGCCCGCACAAAGCACGTTGTCTGGTTTATCTTCCCGAGCGTGCGGGCACAGCCGATGCCAGTC
+GCACGCCTGGCAGTCACGGCGCGGTTGCGACTTTTCGCTGCCACACCATTTTTGTAAGGTGGTGTCAAAA
+AGTTCAATCGAAATACGACTGATATCTGCCCGCACCCAACACTCGAACAGGGCAATTAAAAATTTCCCCC
+ACAGCTCTGCTGTCACCGAAGCGGCCGTCAGATCGCCCCGGTCATCAAATTCAAGATGGGGAATAAGCTG
+TACTGAGCGGATGCCCAGCTGTTTGAAATTGTGATAAAAATCGGCAGGTTGCAGAGCATCCTTATACTCT
+ACAACCAGTTTATGCCTGTCCTCTTCAGCATCAATGACCTGACTTCCTGTCATGCGACTCTCTCAATAAA
+TACGATAAGTTGATGTATATGCGTTACAGCAAACAGTATTGCGAGAGATAACACCGCGAGGGAGATCAAA
+AATTTGTCACGGACTACGTGAAATTGGGAAAAATCGCTATTCGTGACATCCATTAAATTGCGATTACGGG
+TGTAGTGCCAGAGGATCAGCGCCACGATGGCGAGGATGCCAATCGAAATCCAGAATAACATGCCCGCCTG
+GTGCCAGCTGTGTTTGATAGCCAACGCCATCAACGCGCCGTAGCCCAGCATGGTACGAAACCACGCCAGT
+GATGTGCGTTCCGGCTGCAGCCCTGGGTCGGCAATGCGTCTGGCTTTGCGGCTATCCGGCATACAACACC
+AGTCCCATGACGATCACTGCCACGACCATCAATATTAAGCTGATGATTAATAAGCTGTTGGTATAGGGCA
+GGTCCTCTTTCAGGCGCATCGCTTTTTCATTGCGTAACCAGCGCAAGTAGCCATACATCGCTAACCCGCC
+GGAAAACAGACACAACAACAACGCCAGCAGTTCGCGGATGACGGGCGTGGCGAAATCTGGCGCAAGTTGA
+TCAAGCCCAACCCCCGCCGCCAGAAATCCTAGTGCAGTACGGATCCACGCCAGAAAAGTACGCTCATTAG
+CCAGCGAGAAGCGGTAATCGGGCGCTTCTCCGAGGCGGGAAATTTTCATTGTTGCTCCTTGTAAACTGTT
+CCTCGCCGAAAAATTAGGCCAGGAACAGCAATAATGCATCAGAACTTCTGTTTTTTCTCTTCCACCTTCA
+CCCCTTGTGTCGGTAAACCGGTGTCATAGTCGCGTACCACTGGAGAATAACCATCCTGTGGGCGTGGACG
+AAACGCCCCCATCCAGCGCGGTTGTGCATCTTTGCGCCACGGACGCAGGTTCCATTGATAACTGCGGAAC
+GGATCGCGAATTTTGTCCATGTAATCCAATAAGGCGTCATGCATTTTGCTGCGAACGTCGGCAAAATGGA
+TATCATCGATCAGGTTATGCATTTCATTTGGGTCATTACGGCGATCGTAAAGTTCATCACTGGTGAAGAG
+GTTGAGCACCAGTTTAAAGTCATCCGTTACCCAGCAACGCACCGGAATAAAACCGCCAAAGCTGTCATGC
+TCAATCTCGTAGCGATTAAATTCCACCAACACGCCACGTGGCTCTTTCACGGCAAGGATATTTTCCCCCG
+GCAGAATCTCTGGTTTTTCAATATCTGCCAGCGCCATCATTGTCGGCAGTAAGTCAATATGACTGACTGG
+CGTATCGACCTGTCGCCGCTCCCCTTGCGGCGAACGGATGATCAGCGGAATGCGGGTGATGTCGTCATAC
+ATCGCCGCTCCTTTACTGATCAGCTTATGTGCGCCCATCATTTCGCCGTGATCGGAGGTATAAATAACCC
+ACGTATTTTCACGTTGCTCTGGCGTTAAGGCGTTGATGACCCGTCCGATTTGGTCATCAACAAAGTCATT
+GCAGGCAAAATAGAGCGGATGGTGATAAAGCCCGTCATCACCGACTGGCGATGGCATCGCCTGCGCCCAT
+AAGCGGTGATGTTCCGGTTTGTTCGCCAGGTCATCCTCTGCTTTCTCACCCAGTTCGTAGTAAAAATCAG
+TGTATTTCTCTAAATACTCCACCGGACAGGTGAACGGGTGATGCGGCTCATCATACGAAATCACCATCAG
+GAAAGGTTCGTCGGCGCGCGCGGGCTGTTGCAGAAAATCCACCGCCCGATTGCTGATGCGGTGCGCCCAG
+GTGAAGGTTTCGTCAATATGGTTCGCCTGTAAATCCTCAACGCTGTTTAGGCCATTGCGCCACAGGCTAA
+TCTCTTTCTCCGTCAGTTCACTAAGATAGTTCGCGCCATCGAACCAGTAATCAGCGTCCCACTCCGGCGG
+ACACTCGCCAGTGCCGAAATAGTCATGTCCATCGAGATGCCATTTGCCGATGTAGCAGGTGTGATAGCCC
+GCATCCTTAAAGTAGCGCCCCATGGTGGAAATGTTTTTGCCCGGCGCGACGTTGTTGGTCCACGGGCCGG
+ACTGGTTAGCGTAGATACCGGTGAATAGTCCGGCGCGTGCAGGTGTACAAACCGGTGAACAGGTGTAGGC
+AGAATTAAAGCGAATACCTTCTGCCGCCAGACTATCAATATTTTGCGTATTCAGCGGTTTACCGCTATAG
+CAACCGACCATATTGGTGGCCTGGGTATCGGTCATGATGAACAGAAAATTGGGGCGTTTCATAGGCTATC
+CTTCGCATCGGGAGTAAAGGTTACGGCTGGGTCGTGACGATGCCGCCAGCTGTCAAAAATCAGGTAGACA
+ATCACTACGGCGGCGATGAAATAACTGATTATCGCTAACCAGCGCGTACCGTAGCCACCGAATTCAGCCA
+GCCCGGCATAGACGCCAATCATCGCGAACAGGATACCAATTGACGCAATCTTGACGTTTTTCCACGGTTT
+CATGTCCACCGCAAACGCATCTTTGAAGGTGAACGGCGTGGCGCGCGGTTTGATAAAACCGATCATCAGC
+ATCACGACCACGTTGATGCAGAACGTACAGGCCAGCACATAGAGGAAATGGAAGTCGAACTTCACCAGAT
+AGTTGATGGTGATGTAGCTGATTATGCCAATCCCCATCGCCACTTTTGCCGCCAGCGCCGGAATGCGCGG
+GAAGAAAAAGCCCATAATGATGATGGTAACCAGCGGCACGTTGTAAATACCGTTGAGCTGTTTCATCCAG
+CTATACAGCCCCTGCGGCGCGTTGGCGATCCACGGCGCGACCATCACCGAAACGATGGCGATAAAGAAAC
+CAAATTTGCGCCCGACGGTGACCAGCTGTTGCGGCTCGGCATTCTGGTTAATGATGCGCCGGTAAATACC
+CATACTGAATAACGTACTGGCGCTATTCAGAAAGCCGTTGAAGGTACTGATCACCGCACCAAATAACACC
+GCACCGAAGAAGCCCACCAGTGGCACCGGCAGAACGTTATTGACCAGCGTCGGGTAGGCCATGTCGGCTT
+TCGGTAAATCCTGATACAGATGAAACGCAATCAACCCTGGCAGCACCAGTACCAGCGGGTCGAGCATTTT
+CAGCACCGCCGTTAACAGCGCCCCCTTTTGCCCTTCCGCCAGGCTTTTTGACGCCAGCGTGCGTTGCACG
+ATGCCCTGATTTGTACACCAGTAAAAGGTGTTCACCAGAATCAAACCGGTAAATGCCGCGCCAATCGGCA
+AGGGATCGGTCGGGCCGCCGACTGAGTTTAATTTCTCGGCGTGAACGGTGGTGAGTTGCTCAATGCCCTG
+CATAAAGCTGCCCTTGCCCATCGCGATCAGGCCAAATACCGGCACCATCAACCCGCCAATAACCAGCCCA
+ATACCGTTAATGGAGTCCGCCACTGCCATTGCGCGCAGTCCGCCGATCACCGCATACAAAATTCCCGCCA
+GACCAAGCAAAATCACCAGTAACCAGATAGCCGCACCATCGGAAAGTTGTAGCGACTCACCCACATGAAA
+CAGGCTGTTGAGCGCCAACGCGCCGGAATAGAGAACAATCGGCAGAAAGCAGACGCCGGTGGCAATGAGG
+AAGCAGAAGTCGATGATAATACGCGTCGTTTTATCATAACGTTCCTCCAGAAAATCGGGGATGGTGGCAA
+TGCCGCGCTTCAGATAGCGCGGTAAAAAGATTAGCGCGAGGAAGATCAGCGTCACTGCAGAGGTGACTTC
+CCAGCCCATCACCGACATGCCACTTTTGTAGGCCTGCCCGGAAAGGCCGACCAGTTGTTCCGTGGAAAGG
+TTGGTTAGCATTAACGAAGCGGCAATAACCGGCGCTTTTAGTGAACGTCCGGCAAGAAAATAGCCTTGTT
+GCGATCCAGTATCTGTTTTGCGGACTTTCCACCAGGTGATGACCGCCACCAGCAGCGTAAAACCGACAAA
+ACTCAAGATTTGTAACGAATTCATCTCATAGCCCTTATTTATGTTTATGTCCCGGACGCATGAATATAGG
+GAGAGGTAAAATGCGTCGGGTCAGGCAGTCAGATTCTTAAAATACAAACGTCATATCCCTGAACGGATTG
+TTTTCTGTTAAGTTCAGGTTGTGAGCATAATTCGCCGGAGGGATATTAAAATGAATGGAAAATTGCAAAG
+TTCGGATGTAAAAAACGAAACTCCGTACAATATTCCCTTATTGATTAACGAAAATGTGATCTCCAGCGGA
+ATTTCTCTGATATCGCTCTGGCATACCTACGCCGACGAGCATTATCGGGTGATCTGGCCGCGGGACAAGA
+AGAAACCGCTTATCGCCAACTCATGGGTTGCGGTGTATACCGTACAAGGATGTGGGAAAATTCTTTTAAA
+GAATGACGAACAAATAACTCTGCATGGCAACTGTATTATATTTTTAAAGCCAATGGATATTCACTCTTAT
+CACTGTGAAGGTTTGGTCTGGGAACAGTACTGGATGGAATTTACCCCCACCAGTATGATGGATATTCCCG
+TCGGTCAGCAAAGCGTTATTTATAATGGCGAAGTTTATAATCATGAACTCACCGAAGTTGCTGAGTTAAT
+TACTTCACCAGAAGCAATAAAAAATAATCTGGCAGTCGCTTTTCTGACGAAAATTATTTATCAGTGGATT
+TGTCTTATGCACACAGTCGGTAAAAAAGATCCACAACGGCGGCAAATTGAAAAATTAATTGCCACTTTAC
+ATGCCAGTCTACAACAACGCTGGAGCGTAGCTGATATGGCTGCCACGATCCCCTGTAGCGAGGCCTGGTT
+GCGTCGTCTGTTTTTACGCTATACCGGCAAGACGCCGAAAGAATATTACCTCGATGCGCGTCTGGATCTG
+GCGCTATCGCTATTAAAGCAACAAGGGAACTCGGTTGGCGAAGTCGCTGATACGCTCAACTTCTTCGACT
+CCTTTCATTTCAGCAAAGCCTTTAAGCATAAATTTGGTTATGCGCCGTCAGCTGTGCTGAAGAATACGGA
+CAGGTAATAACCAGAATGGCGAGTGTGTAAATGACTCGATGATGTTCAGAAATACCAGGCGGAGTACCAT
+TTACGGCGACTCCACCGGGAAAAGAGTTAACCGATACTCCAGAAGAGCACCGCCAGTAATTGGGGTGTGA
+TAATGCGCAGGAACATCACTAACGGATAGACAGTGGCGTAAGAGAGCGCCGCCGCACCGCTGGTTGGATG
+AAGATTATTAGCAAACGCCAGCGCCGGAGGATCGGTCATGGAACCTGCCAGCATCCCGCACATGGTCAGG
+TAATTCATTTTGGCTAACATCCGCGCCAGAATGCCAACAGTAATCAGCGGAACGGCGGTGATCAGGGCAC
+CATAACCAATCCAGCTTAGCCCTTCGCCATCCACCAGTGTATGGATAAAATCGCCACCGGATTTCAGGCC
+AACCACCGAGAGAAAGAGCACAATGCCTAACTCGCGTAGCGCCAGGTTAGCGCTTGGTGGCATAAACCAG
+TACAGCTTGCCGATACTGCCGATACGCCCGAGGATCAACGCCATAATCAGCGGACCGCCCGCCAGCCCGA
+GTTTCAACGCCGCCGGGAACCCAGGCACAAAGACGGGAATAGAACCTAACAATACGCCAAGCCCGATACC
+AATAAACACTGGCAGCATCTGAACCTGTTGCAGTTTTTGCTGCGCATTCCCCAGCACATTGGCAACGGCA
+TCAATTGCGGACGGACGCCCCACCAGGTTGAGGATATCGCCGAACTGCAGGCTGATATCGCTACTTGCAA
+CTAATTCAACACCAGCACGGTTCAGGCGCGAGATAACAACGTCATAGCGTTCTTTAAAGTGCAGGTCGCG
+AATACGTTTACCGAGCACGTTTTCATTGGTGACCACCACACGCGCGACGCGCAAATCAGTGCCTTTCGTA
+GACAGCGAGGTATCGACCTCCTGACCAATCACCAGTTGCGCATTATGTAAATCCGCAGGCTGCCCCACCA
+GATGCAGCAAATCGCCCAGTTGAATAACGGTTTCTGGCGAAGGCACTTTTAGGGTTTCTTCTCGTTTCAA
+TCGTGAGCAAATAACTTTATCGCCATTGAGAATCGGCACATCTTTAATGGCTAAATTATGCAAATTAGGA
+TTCTCAACTCGGATGTTAATCGTCCTGATTAGCGCACCGCCGTTGGTTCGCGTGGACTCGTGCTGCTGGG
+CCTCAGTCTCAACATTGACGCGGAAAATAACCCGCAGCATCCACATAGTGAACAAAATGCCGCAAATCCC
+AAATGGATACGCCATCGCATAGCTCATCCCCATTTGATCGACCATTTCCATTGGTGTCCCCAGGTCGCGC
+AAGATCTGCTGCCCTGCCCCCAGCGCTGGCGTATTGGTGACCGCGCCGGAAAAAATCCCCAGCACTACCG
+GCAGTGGAATATCAAACAGTTTATGCAGGATGGCGGTAACCAGACCACCGATGATGACGATCAGAACAGC
+AAACAGGTTGAGGCGTAATCCGGAGACGCGCAATGAGGCAAAGAAGCCCGGCCCTACCTGAATCCCGATG
+GTATAAACGAACAGGATCAGGCCAAACTCCTGAATAACATGCAGCATATCGCTACTTAATGTCATCCCCG
+CCTGAGAAACAAAATGGCCGACGATGATCCCACCGAACAGCACGCCGCCAATGCCCAATCCAACACCGCG
+AAACTTGACGTTGCCGATAAACAACCCGACGACCGCCACCAAAGCCAGAATACTGACCGTTAATGCTATA
+TCACTCATCGTCCATTTCTCTTGAAATAACATTTTAATTGCTACGGATTATGGCTGAATCGGTGAAGCAG
+ATTTGCCTTATAGCGCACATTATCACGGGAAAGAACGTGCCGAAATATCTTAAACAGGCGAAATTTAACG
+CATTGCTGAAGAAAAAAGACAAAAAAAAGCCCCACCAGAATGGCGGGGCAAAGAGAATAGCTAGTTAGCT
+ATTTAACGCGGGACGTTCGCTGATAGCGATACGCTGCGCTGCGATGGGTTCAGGCTCATTACGAATTAAA
+TCAATATGCAGTAAACCGTTTACGAAGGTTGCGCCAGAGACTTCCATATTTTCAGCCAGCGTAAAGCTCA
+GACTAAAAGGCTGATTCATAAGCCCTTGATGCAGCCATTTTTTCTCTTCTTTTGGCTGCTCCGGCGTGCC
+TTTTACGCTCAGGCGCGTACCTTCCAGTTGAATCTCTAAATCTTCCTGACGGAAACCTGCCAGCGCAAGG
+GTAATGCGGTAGTGGTTATCGTCGCTTTTCTCAATGTTGTACGGCGGGAAGCTCTGGCTTTCACCGGCGT
+TTTGCAGTGCGTTGGCCAGTTTGTCAAAACCGATCCATTGACGCATCAGTGGGGATAAATCGAAGTTACG
+CATAGTCATTTCTCCTTCTAAGAAGCGAGTAAGTACCTGCAAATCCGAAGATTCGCATATGCTCCCTGAC
+GGCGAGCATGGAAATGTCAGGCCGCGCCAGGCGGCCTTAGGGAATTAGTTGATTTCGATACGGCGCGGTT
+TTTTCGCTTCCGGAATCACGCGTTCAAGATCGATATACAGCAGACCATTCACCAGGTTAGCACCACGAAC
+ATGAATGTTCTCAGCTAACTGGAATTTACGTTCAAAGTTGCGTTCAGCGATGCCCTGGTACAGATAGGTG
+CGCTCTTTTTGTTCGTCGGCGTGAGCACCTTTCACCACCAGCAGATTATCCTGGGCGGTAATTTCCAGTT
+CGCTCTCAGCAAAACCAGCCACAGCGATAGCAATGCGGTAATGGTTTTCGTCTACCAGTTCAACGTTATA
+CGGAGGGTAGCCGCCATTACTCTGGCTCTGGTTGTTTTCTAAGTGGTTAAACAAACGGTCAAATCCAATA
+GCAGAACGGTAAAGCGGGGATAAATCAAAGTTACGCATAATCAATAGCTCCTGAAATCAGCGAGAATCTA
+AGACCTTCCACAATGGACAGGTCAGGTAGCCAGAACACCCATCAGGCGCGTCCTCATCGGCTACGATGTA
+AAAATGGGTCTGGAAATGAACTTTTCAAGCCTTATCAGCGGACTTTTTTTTGCAGTTTATGGTCTATTGC
+ATAGACTGAGGGGGCAGCACGAAACGTTAAAGTGCAATAGCCGCCACAGTGCGACGTAATGATGATGTTA
+TTTTCAGCAAGGGATCGCTATAACTCATCAGGCCAACACCCACGATCAACAGATGAATTTATTATGATAA
+GAAATGTGTTGTTAGCGTTCATGATATGCAGCGGAATGACATTACTCGGAGGATGCTCCAGCGTGATGTC
+CCATACCGGGGGGAAAGAAGGAACGTATCCTGGCACCCGCGCCAGCGCAACCATGATTGGCGACGATGAA
+ACCAACTGGGGCACAAAATCGCTGGCGATACTCGACATGCCATTTACCGCAGTACTGGACACAATATTGC
+TACCGTGGGATGTGTTCCGCAAAGACAGCTCAGTGCGCTCGCGCGTTGAAAAAAGCGAAGCCGACGCGCA
+AGAAACCAATAACGTCATTCCCCCCGCCAAAATGCCTGCAAACTGAGAGCTAGCGGTCAGTTTCGGTGAT
+CCACAACTGACCGTCCTCCATCCACGCCAACCATTGACCATCCGGCGAGAAAACCACGGCGTCCGCAGAA
+GGTGGATTGGCGTGGTTTTCGGTTAAATACTCAACCTCGCCGCTTTGCGCATGGGCACAAGCAATCCGAT
+TATCCAGCACAAATCCCAGCCATTCGCCTGATGGATGCCAGTTAAATGCAGACTGAATATCCGTTTTATT
+ATGGGTTAACTGGCGTGGTTCACCGCCCTGTGGCGAGATAAGCCACAGTTGCACAATGCCGTTATCATCA
+CGCATTAAAAACGCAATTTGTGTTCCTTGAGGATTACAACGCACCCAGTGGCGCGGAATGTTAACCAGGC
+CCGGGTAAATACGATGGTGCGTAAAGGTTAAACGTCGCTGCACGACACCACGCGGTGGCGCAGGCAGGGT
+TGTTTCCGTTCCGCTTAACGGCGCATCACCTGCCACTTTCCAGCCAGCTTCATCTTGCGGCAACTCGACA
+ATAAACAGCTCCGGCACTTTCTCGCCCTTTGGCGAAAGTGTGTCGCCAATAAACGCCAGTGCGTGATTTC
+CTACCCATCCTTCTTCATAAGCACGATTGATTTCATCACTGCCAGGCTGTGGCGTGGGCGTGGTTTTACT
+TACCAGCACGCACCAGTGGCTACCGCTGTATTCACGCGGATGCTGCTTTTGTACGTTGACCGGGCCAAAC
+GGTGCAGCAACACCGACGTTTCGCAAATCCAGCGCCGGATCGAGTTCATGCATTACATGGTCGTTGTAGG
+TAAAGCTCACCCTTTCACCGTTCGGGCTAAAGACATGTACATGGCTGCCGCCACGTAGCGCTCCTGGCGT
+ATATGGCGCGGTAATATCCATTGCATCGAGATTGCTCACCTTGCCGCTTTCAACAATCACTCCGCGCCGA
+TGATGAAAGTCGTAATACCATGTTTCATCAGGATTTTCCGGGCCGTGGATGAAGACATACTTCTCTGACT
+TCGGATGAACGGTCACCACGCCGACGTATGCGCCCTGTGACGCGCGATAGATAACCTCGACCTCGCCGGT
+ATGGATATTCACACGCTCAATGGTCTCGCCGGTAAACGACGCCCCAGAAGGCCGCACGTCAAACACCAGC
+CACTGGCTGTCGGGCGTCCAGGTATTGGTATTGGTGAGCAGGTGATTACGGGGAGCAAAGGTTATCTGTT
+TCATGGCGCGGTCCTGATACAAAACGGTTCCCGCCATCATACTTCACAAGGACTTCACTTTCAGACAATA
+GTCTTTTGCCATCGTGATGAATGTGAGTGAAAAGATGGAACATTTCGACGTGGCGATTATTGGCCTCGGC
+CCGGCAGGGTCGGCGTTGGCGCGAAAGTTAGCAGGCAAAATGCAGGTGATCGCGCTGGATAAAAAGCACC
+AGCATGGTACTGAAGGTTTCAGCAAACCTTGTGGCGGTCTGCTGGCACCGGACGCGCAGCGATCTTTTAT
+TCGCGATGGACTGACGCTTCCTGTCGATGTCATCGCCAACCCGCAGATTTTCAGCGTCAAAACCGTCGAC
+GTCGCCGCATCGCTCACGCGTAACTACCAGCGAAGCTATATCAATATTAATCGCCATGCTTTCGACTTGT
+GGATGAAATCGCTGATCCCCGCCAGCGTTGAGGTTTACCACGACAGCCTGTGTCGAAAAATCTGGCGTGA
+GGATGATAAATGGCATGTCATTTTTCGCGCAGACGGCTGGGAGCAGCATATTACCGCCCGCTATCTGGTC
+GGTGCCGATGGTGCCAACTCGATGGTGCGGCGACATCTCTACCCGGATCATCAGATTCGTAAATATGTCG
+CCATCCAGCAGTGGTTCGCAGAGAAACATCCGGTGCCGTTCTACTCCTGCATCTTTGATAATGCGATAAC
+TGACTGTTACTCATGGAGTATCAGCAAAGACGGTTATTTTATCTTTGGCGGTGCCTATCCGATGAAAGAC
+GGTCAGACGCGTTTCACGGCGCTGAAAGAGAAAATGAGTGCCTTTCAGTTCCAGTTTGGTAAGGCGGTGA
+AAAGCGAAAAATGCACGGTGCTGTTTCCCTCACGCTGGCAGGATTTTGTCTGCGGCAAGGACAACGCCTT
+TCTGATTGGCGAAGCGGCGGGATTTATCAGCGCCAGCTCGCTGGAGGGGATTAGCTATGCGCTGGATAGC
+GCAGAGATTCTGCGTTCGGTATTACTGAAGCTGCCAGAGAAGCTCAATACCGCTTACAGGCGCGCCACTC
+GCAAACTGCGTTTAAAACTCTTCGGCAAGATAGTAAAAAGCCGATGCCTGACCGCACCGGCTTTAAGAAA
+GTGGATTATGCGCAGTGGAGTGGCGCATATTCCACAGTTGAAAGATTATCCAACGCGCTTCACATCGCCC
+ACCAGCAGGATGTAAGAGAGCGCGCCAATCAACGCGACGGCGGAGATATAAACCAGTGCAGGCGCGAAAC
+CGTAACCCTGCGCCAGGTATCCCACCACCAGCGGAACGGTGATGCCGCCCAGACCACCGGCAAAGTTAAA
+CACGCCGCCGGTTAAACCAATCAGGCGCATCGGTGCCAGAGAAGAGACCAGCGACCAGGTTATCGAAGCA
+AAACCGTTGCCGAAGAATGCCAGCGCCATCAGGCACATAATCATCATCGGATCGTTGGTGTAGTTCGCAC
+CCATAATGCAGGTGGAGATCAGCAAGCCGCAGATAATCGGCGTTTTACGCGCAAAGCCCAGTGAAAAGCC
+CTTACGTACCAGCAGATCCGCGACCCAGCCAGAGAGCAGGACGCCAATAAACGCCGCGAGGAACGGCACC
+GTGGTCATAAAGCCTGCTTTCAGCGCTGTGATTCCTTTTTCCTGGGTTAAATAGTTCGGGAACCAGGTTA
+AGAAAAACCACAGTGTAGAAGCCACCGCAAATTGCCCAAGATAGACACCGATCAGTTTACGATGGAACAC
+CAGTTTCCAGTCTTTGGCTGTTAACGGCTGACGCGCCTCTTTCTTCACCGGCGCATCGCCATCCACCAGA
+CCGCCGCCATCACGAATGTAATCCAGTTCAGCTTTGCTGATGCCTTTGGTCAGACGCGGCGGCTGATAAA
+CCTTAAACCAAATCAGCGACCAGATAATGCCGATACCACCGGTGACAATGAACACCCAGTGCCAGCTCAA
+CATCTCCTGAATCCAGATCAGCAGCGGAGTCAGAAACGCCAGACCGACAAACTGACCAGACGTATAAAAA
+CCAACGGCAGAAGCGCGTTCATGTTCCGGGAACCAACTGGTTACCATCCGGTTATTGGTCGGGAACGCGG
+GCGCTTCGAAAATACCGGTTATCGCGCGCAGACCAATTAATGACATTAAGCCCGTGGCAAAGCCCTGGAA
+TAACGTCGCCACTGACCAGCCAAATATCGCAATAAAATAAGTCACGCGTGAACCTACGCGATCTAAAAAC
+CAACCACCGGGGATCTGACATAGCGTATAAAGCCAGGCGAAGGCCGAAAATACATAGCCCATTTGCGCTT
+TAGTAATACCAAACTCTTCCTGAATATGGGCAGAAGCCACGGCCAGGTTAGCGCGGTCAACATAACAAAT
+GACCACCGTAATAAAGATCATCACCAGCGTCAGATAACGCCGACGCCCCGGCTTTGCTGCATTAACGGGA
+ATATCCATAGCGAGCTTTCTCCAGATTTTGGGCATAGCGAAGCCGCTCACCATGCCCTGTAATTTACAGA
+GGGTTATATTTTTGTATTGCTGTTTTAGTGCCCGATGAGGGGCTTACGTGGCAGGAATTACCACTCTGCT
+ACGCTGTTATCTTCATGACGCCAGAGCGGATTACGCCAGTCCGGGGCATTTTTACTGAACTCAATAACTT
+TAGCTTCGTCGATTTCCACGCCTAAGCCCGGTTTCGTTAATGGTTTAAAGAAACCGCCGACCATGCTGAA
+GTCCTCTTTGTTTTTCACAAAGTCGAGTAACTCCGCGCCTTTGTTGTAATGAATGCCCATACTTTGTTCC
+TGAAGGACGGCGTTATAGGAAACAAAGTCGATATGCAGGCAAGCCGCCAGTGCAATCGGTCCGAGCGGAC
+AGTGCGGCGCAAGGGTCACGTCATAGGCTTCTGCCATTCCGGCAATTTTGTAGCATTCGGTAATACCGCC
+TGCGTGGGAGAGATCCGGTTGCAGAATCGAAATACCGCCTGCCTCCAGCACACGTTTAAAATCGAAGCGT
+GAGAACATGCGCTCACCCGCCGCCAGTGGAATATGCGTTTGTGCCGCCAGTTTCGGGTAGTATTCGGCCT
+GTTCCGCCAGCACCGGCTCTTCAATAAACAGCGGACGATACGGTTCCAGCTCTTTAATCAGCACTTTCGC
+CATCGGCGCGCTGACGCGACCATGGAAATCAAGACCAAACTCAATCTGATTGCCAAAAGCTTCACGAATT
+TGTGCCACGGTGTTGACTGCCGCATCTACCGCGCGGGAGTTATCAATTAGCCCCAGTTCTTCACAACCGT
+TCAGTTTGAAGGTATCGAAGCCGATTTCGCGTAGCGTTTTAATGCCGTCGATAACATCCGCCGGACGATC
+GCCGCCGACCCAACTGTAGGCTTTAATTTTGTCGCGAACCAGGCCGCCCATCAGTTGCCAGACCGGCGCA
+TTCAGCACTTTACCTTTGATATCCCATAACGCCTGGTCGATCCCGGCGATGGCGCTCATCAGGATTGGAC
+CGCCACGATAAAATCCGGCGCGATACATCACTTGCCATAAGTCGTTGATGCGTGACGGGTCCTGACCAAT
+CAAATAGTCACTCAGCTCGTGGACTGCCGCTTCCACCGTGCGAGCGCGGCCTTCAATCACGGGCTCGCCC
+CAACCGACCACACCTTCATCGGTTTCAATTTTCAGGAACATCCAGCGGGGAGGTAACCGATACGTGGTAA
+TTTTGGTGATTTTCATTGCACTGCCTCTCGATACGCCTTAACAAATGCTGCTGCCTGCTGCGCAGTCCGT
+TCTACGGACTGCCCGGCGCGATAGAGATCGCTGCCTAAGCCCGCCCCTGCACAACCTGCGTCTATCCACT
+GCGCCAGGTTTTCTGGCGTCACGCCGCCAACGGCAAAGACTGCGATGTCCGGTGGTAATACCGCTTTTAA
+TGCTTTGATGTATTGCGGACCAAAAGCCGATGACGGAAATATTTTCAGCGCCTGCGCGCCCGCTTCGAGC
+GCGGTAAAGGCTTCGGTCGCCGTCGCACAGCCGGGGCAGACGGTCATGCCGTAGCCCACCGCACGGCGGA
+TCACTTCACTATGGATATTGGGCGTAACGATGAGCTGACAGCCCATTCTGGCGAGCGCATCGACCTGTTC
+AGGTTTCAGTACCGTACCTGCGCCAATCAACGCCTTATCGCCGTACGCATCAACGATGGCGGGAATGCTC
+TGCTCCCATTGTGGAGAATTCAGCGGGATTTCAACCGCATCGAACCCGGCGTCAATCACCGCGCCAACAT
+GTGCCAGCGCCTCGTCGGGCGTAATGCCGCGCAAAATGGCGATCAGCGGGAGTTTAGTTTGCCACTGCAT
+GAGCGATGCTCCTTATACCAGCCTGAAATGCCGTGTCGCCTGCCACCGCCGTCACGTCGCAACCCATCGC
+CTGAAAGGCTTGCTGGTAGCGCGCGGTCAGCGATGTTCCGGCGACAAGGGTGATGGCGTGTTGATGGGCC
+ACATAGTCACGCATACTGGCAACCTCTGCGCCAATCAACAAACCAGAGAGAAATTCGCTGACCTGTTCGC
+GGGGAAGTGTTCCCAGCACATGCGAGGCGCGAACCTCAAAAAGCTGTGGCAATACGGCGGGCGCATTAAG
+GCCACGCTCAAGACCAGCCGCGAAGGCATCGGCAGCGTTTTCCTGCGGCGGCAAACCTGCGCCAATCAAT
+GAGTGATTTAACAGTAAATGATGTAATTCACCGCTCATCACGGTGCGAAAATCGTTAATTTGCTGGCTAT
+CGGCCTGCACCCATTTGCAATGCGTACCGGGCATGACATAAAGAGAGGAAGGAGCCAGAGTGCGCGCGCC
+GATCAATTGTGTTTCTTCGCCGCGCATCACATTGTGGTTATCGTCATGAGAGACGCATAATCCGGGAATA
+ATCCAGATATTGTCGCCAACAGACGTTAATTGTTCGCCAATAGACGAAAAACGGGCTGGAACGGATAAAT
+ACGGCGCAACTTTCCAGCCGACATTGCTGCCGACCATTCCTGCCATTACCACTGGCGTATTCTCTTCACG
+CCAGTCGGTCGTCACTTCTGCTAACACCGCAGCCGGAGATTTTCCGTTCAGGCGCGTGACGCCTGCTTCT
+GATTGCCTGCTGTCCAGGCAGTGGTCGCCCTGATAAAGCCAGGCGCGCAGATTGGTCGATCCCCAGTCAA
+TTGCGATGTAGCGAGCTGTCATGTGATTTCCTTTAACCTTCGTGTCGAGCTGGCGATCATGGTAAGCGCC
+GCCTGCTCTGCCGCATCGCCGTCCTGATGCCTTATCGCATCGAACAGCGCCTTATGTTCCTGGAGCGTTT
+GCGGCATGTTGGCCTCATCGCCCATCCAGGTTCGTTCAAAAACCGCCCGCTGCAGCGAACTGATCGCAAT
+GCTCAGTTGCTGTAACACCGGGTTATGTACCGACTGCAGCACCGCCTCGTGGTAGCGAATATCCGCTTCG
+TTAAACGCTTCGCGGTCCTGATTGTTAGCAATCATCTCGTTCAGCGCCGATTCAATCTGCGCCAGATCGC
+TGGAGGTCGCGCGCTCTGCTGCCCAACGGGCAATAGCCGGCTCTACCAGGTTTCGCACTTCGCTCATTGC
+ACTGATAAGCCGTGGGTCATAGTCGTTTTCCAGCACCCATTGCAGTACGTCAGTGTCGAGGTAATTCCAC
+TGGTTACGCGGAGCCACAAACGCCCCGCGATAACGTTTCATTTCAATCAGCCGCTTCGCCATCAGCGAAC
+GAAATACCTCACGGATGATGTTGCGCGAGGTTGCAAACTCCTCACAGAGTTCTGCCTCAGCCGGAAGCGG
+CGAGCCTGGCACGTATTTGCCGTGAACGATCTGTTTACCCAGCGTAATAACGATGCGATCGGTTTTATTG
+AGAGTCATGGAGAGTCCTTGTGCTCTGTATGTTCTTCTCTACTTTACCCCGATCGATGCATAACGCGGCA
+ATTTTGTAGTACCAGCGTGATGACGTTCGCGTTTGCTGTGCGCCTAATGTAGTACAAAGTTATATTATTG
+TACTACAATTTAGATCACAAAAAGAACAATCCATAAGAAAATGTTCTACGTCGGGCAAAAATCTGAAAAG
+GGAGATCAGGCGCTAAACAGGAGGGAAAGAAGAGTATGCTTTCAACGGCTTAGTACTCTTGTTTAAAGGA
+TTAATCATGAAGTTGAATCTTAAGGGATTTTTCAAGGCTGCCAGTTTGTGTTCTTTGGCATTTGCGTTGA
+CCGGATGTATCACCTGGGGATTGGTTTCCAATACTGCAAGCCGTCCACATGCCGAGCAATGGCGGTCAGA
+CACGATTAAGGGTTTATCGCTGGCAGAAGATAGTAACGGTACGAAAGGCTATGTTTTTGTTGGTGAATCG
+TTGGACTATCTGTTGACCACCGGCGGCGATGAGGTGGTTAAAATGCTGAACGATCCGGCAATCCATGGTG
+AAAGAATCACCGTTTCTGATAACGCGAAATTTATTTTAAGCAGCAGTAATAAGAATTTCTCTGGTGCTAT
+TACGCTCTATTACGACTGGAACAACGAAGAAGATAAGGCACTGGCAACACAATATGGTTTTATTTGTGAT
+ACCCGGCGTTGTACATGGATGCTGGACGGTTTGAAAGGCTCAATCCACCAGAAAAATAAAAAAGCGGATT
+ACTCAAACGTGATGGTTTTCCATCAACCCTTTACGGTGGGATTTTATGAGTACAAAGCAACAGATGGCGT
+CCCGCACGGCCTCGTTAATGCGCTGCTGCCAGTCACTCTTACGCTGGATATAGTAACGTCACCACTCCAG
+TTCCTGATTTTATGCACGACCAGAAATTGTTAATCGCTGCGGGCAAACGCATTCATGCCGTTTGCCCGTT
+CACTGATTAATTCAGCACATACTTCTCAATAGCAAATGCCACGCCATCTTCAAGGTTAGATTTGGTGACA
+AAGTTCGCCACTTCTTTCACCGAAGGAATAGCGTTATCCATCGCCACACCGACGCCTGCATATTCAATCA
+TTGCGATGTCGTTTTCCTGATCGCCAATCGCCATGATTTCTTCCGGTTTAATACCTAACACGTCGGCCAG
+TGATTTCACACCCGTACCTTTGTTAACGCGTTTATCGAGGATTTCGAGGAAGTACGGCGCACTTTTCAGC
+ACGGTGTATTTTTCTTTCACTTCCTGCGGAATACGCGCAATGGCCTGGTCGAGGATGGCGGGTTCATCAA
+TCATCATCACTTTCAGGAACTGGGTATTGGGGTCCATTTTCTCCGCTTCGCAGAACACCAGCGGAATGGT
+GGCAACGAAAGATTCATGCACCGTGTAGTAGCTGATATCACGATTGGCGGTGTACAGCGTGGTCCGGTCC
+AGCGCGTGGAAATGAGAACCGACTTCGCGAGAGAGTTTTTCCAGGAAACGGTAGTCGTCATAGCTGAGAG
+CGGTTTGCGCCACGGTGCTACCATCAGCGGCCTTCTGTACCAGCGCGCCGTTATAAGTAATGCAGTAGTC
+GCCCGGCTGTTCCATATGCAGCTCTTTCAGGTAATTGTGAACACCTGCATAAGGGCGACCCGTCGTTAGC
+ACGACATTCACGCCACGGGCGCGAGCTGCGGCAATCGCATTTTTAACGGCAGGTGAAATGGTGTGATCGG
+GCAGCAGAAGGGTGCCATCCATATCGATAGCAATGAGTTTGATAGCCATGAGTTCCCCAGGTAGATTGGT
+TCCTGACCCATGCTAACGCGATTCCGCTCAAAAATCAGTACAACACCCGAGGGAAAAGGGGGATGCAACG
+CGCATTGCGTGCTCCCCTTTTGCTTAGCGGAAAAGTTTCCCTTTCAGCAGTTCCATGCCTGCGGAAAGCA
+GATCGTTATGGGCTTGTGGTGACACTTCACCTTGCGGTGAGAGCGCATCAATAATCTTCGGCAATTGTTC
+TGCCAGTAAACTGGAAGCTGTACTGGTATCCACGCCAAGTTTTTGCCCGAGATCGGACACCGCATTTGTG
+CCGAGCGCCGATTCCACTTGCTCGCCGCTAACTGATTGATTGCTCTGTTGATTACTCAGCCAGGTTGAGA
+GAATGGCCCCTAAGCCGCCACTTTGCAGTTTTTCCAACAGCACTTGAATGCCGCCCTGTTCCTCAACCCA
+GCTCAAAATGGCCTGATATTTCCCCGCATCGCCTTTCAGAAAGGCACCGACAACGTCATCAAAAAGCCCC
+ATGATAATCACCTGTAAAGCGTTACGTGTTGACCCAAAAAGTATAGATCTGCGGGATGATAATTGCGGAT
+TGCAGAAATAAAAAGGGCGGAGATGATCTCCGCCCTTTTCTTATAGCTTCTTGCCGGATGCGGCGTGAAC
+GCCTTATCCGGCCTACAAAAACATGCAAATTCAATATATTGCAGGAGTCTCGTAGGCCTGATAAGCGTAG
+CGCATCAGGCACGCTCGCATTGTTAACGCCATTAAATATCGATATTCGCCGCTTTCAGAGCGTTCTCTTC
+AATAAACGCACGGCGCGGTTCAACGGCGTCGCCCATAAGCGTAGTGAACAACTGGTCGGCAGCAATCGCA
+TCTTTAACGGTAACGCGCAGCATACGACGGCTTTCCGGGTCCATGGTGGTTTCCCACAGCTGTTCCGGGT
+TCATCTCGCCCAGACCTTTATAACGCTGGATGGAGAGGCCGCGACGGGACTCTTTCACCAGCCAGTCCAG
+CGCCTGCTCGAAGCTGGCTACCGGCTGACGACGTTCGCCACGTTCGATAAATGCATCTTCTTCCAGCAAG
+CCACGCAGTTTCTCACCCAGCGTGCAGATACGACGATATTCGCCGCCAGTGATAAATTCGTGATCCAGCG
+GATAGTCAGTATCCACACCGTGGGTACGCACGCGAACAATCGGCTCGAACAGGTTTTGTTCGGCATTGGT
+ATGGACATCAAACTTCCACTGGCTGCCGTGCTGTTCTTTGTCGTTCAGTTCGCTGACCAGCGCGTTCACC
+CAGCGGGTAACGGTCTGCTCATCAGAGAGATCGGCTTCCGTCAGCGTCGGCTGATAGATAAGCTCTTTCA
+GCATTGCTTTCGGATAACGACGCTCCATGCGGTTGATCATTTTCTGCGTCGCGTTGTACTCAGACACCAG
+TTTCTCTAACGCTTCGCCAGCCAGCGCCGGTGCACTGGCGTTGGTGTGCAGCGTTGCGCCATCCAGCGCG
+ATAGAGATCTGGTACTGATCCATCGCTTCGTCGTCTTTAATGTACTGTTCCTGCTTACCTTTCTTCACTT
+TGTACAGCGGCGGCTGAGCGATGTAGACGTGACCACGTTCAACGATTTCCGGCATCTGACGATAGAAGAA
+GGTCAACAGCAGCGTACGAATGTGCGAGCCGTCGACGTCCGCATCGGTCATGATGATGATGCTGTGATAA
+CGCAGTTTGTCCGGGTTGTACTCGTCACGACCGATACCACAACCAAGCGCGGTGATAAGCGTCGCCACTT
+CCTGAGAAGAGAGCATCTTATCGAAGCGCGCTTTCTCGACGTTGAGGATTTTACCCTTCAGCGGCAGAAT
+CGCCTGGTTCTTGCGGTTACGCCCCTGCTTCGCAGAGCCGCCCGCGGAGTCCCCTTCCACAAGGTACAGT
+TCGGAAAGCGCCGGATCGCGTTCCTGGCAGTCTGCCAGTTTGCCCGGCAGGCCAGCTAAGTCGAGCGCAC
+CTTTACGGCGGGTCATTTCACGCGCGCGACGCGCAGCTTCACGGGCACGGGCAGCATCGATAATTTTGCC
+GACCACGATTTTCGCGTCGGTTGGGTTTTCCAGCAGGTATTCCGCCAGCAGTTCGTTCATCTGCTGTTCA
+ACCGCCGATTTCACCTCAGAAGAAACCAGTTTGTCTTTGGTCTGTGAGGAGAATTTCGGGTCCGGCACTT
+TCACGGAAACGACCGCAATCAGGCCTTCACGCGCATCGTCACCGGTGGCGCTGACTTTGGCTTTTTTGCT
+GTAGCCTTCTTTGTCCATGTAGGCGTTCAGAGTACGGGTCATCGCCGCACGGAAACCTGCCAGGTGAGTA
+CCGCCGTCACGCTGCGGAATGTTGTTGGTAAAGCAGTAGATGTTTTCCTGGAAGCCATCGTTCCACTGCA
+ACGCCACTTCGACGCCAATACCGTCTTTTTCGGTGGAGAAGTAGAAGATATTCGGGTGGATCGGCGTTTT
+GTTCTTGTTCAGATATTCAACGAACGCCTTGATGCCGCCTTCATAGTGGAAGTGGTCTTCTTTGCCGTCG
+CGCTTGTCGCGCAGACGAATGGAAACGCCGGAGTTGAGGAACGACAACTCACGCAGACGTTTCGCCAGAA
+TGTCATATTCGAACTCGGTCACATTGGTGAAGGTTTCAAGGCTTGGCCAGAAACGCACCATAGTGCCGGT
+TTTTTCAGTCTCGCCGGTAACCGCCAGCGGGGCCTGCGGTACACCGTGTTCGTAGATCTGACGGTGAATT
+TTACCCTCGCGCTGGATAACCAGCTCCAGTTTTTGCGACAGGGCGTTTACTACCGAAACACCAACGCCGT
+GCAGACCGCCGGACACTTTATAGGAGTTATCGTCAAATTTACCGCCTGCGTGCAGAACGGTCATGATCAC
+TTCCGCCGCCGATACGCCCTCTTCCGGGTGAATACCGGTCGGAATGCCGCGCCCATCATCCTGTACGGAG
+ACAGAGTTATCGGCGTGAATGGTGACGATAATTTCTTTACAGTGACCCGCGAGCGCTTCGTCGATAGCGT
+TATCTACCACCTCGAATACCATGTGGTGCAGACCGGTGCCGTCATCCGTGTCGCCGATATACATACCCGG
+GCGCTTACGCACCGCATCCAGCCCTTTCAGGACTTTGATACTGGAGGAGTCATAAGAATTCGACATCAAC
+GTTTCTCGCTCATTTATACTTGGGTTAATCCGTTATTTTACCCTTTTCCACGGTAAACATCTTCGAATTT
+TCGTCCGACATGTCTATAACGTGTTCAGCACTGATCGCGCTGACAAAGACCTGTGATTGCGTCGCTTTTA
+AGCGGCTGGCAAGCAGCCCGCGACGCTCATCATCAAGCTCAGAGGCAAAATCATCTATCAGGTAGAGACA
+CCGCCGCCCGCTTTCACGGGTGAGGAACTCTCCTTGCGCCAGACGTAAGGCGCACATCAGCAGCTTAAGC
+TGCCCACGCGATAAGGTATCTTCCACCGGCGCACCGTCGGCGCGAATGCGTAAGTCCGCTTTATGCGGGC
+CATGCGCGGTGTAGGTTAGCTGGCGATCGCGTTCAAAATTACGTTCCAGCACCTCAGCATATTCTGTCTC
+TTTCTCCCAGCCGCGCTGGAAAGAGAAAGTTAGAGAAAACTCAGGGAGAAATTGCTTACAGGTATCAGCC
+ATATCGGCTGCGATACCGCCGCTATACTCCGCGCGCCAGGTGCTGATTTGCTCCGCCAGCGGGATCAGTT
+CTTTATCCCACGGACGTAGCTGTTCGTAACGAGTCACCTGGCGCAGCGCCGCATTGCGCTGCTTGAGCAA
+TCGCTTGAGATTGCTCCAGGCGGTGAAAAATCCGGGTTCGTTGTGAAAGCATCCCCAGTCGAGGAATGCT
+CTTCTGTATTTGGGGCCGCCGTTGAGTAAAGTAAACCCTTCTGGCGTTATCAGCTGCATTGGCATCAGGT
+GCGCCAGCTCCGCGACTTTATGCCCGTCTGTACCGTCAATACGGACTTTGCTATCGCCTTGTTTGTCTTT
+GGTTAAACCAATCGCCGTCTCGCGCTCTTCGCCCTGTAATCGCCCGTGGAGAACAAACGCCTCCTGCTCG
+TGGCGAATGACGCGACCAATCTGCAAACTGCGAAACGCCCGACCGTGGCCGAGCGTATAGATGGCTTCCA
+GCACGCTGGTTTTGCCACTGCCGTTGGCACCTACCAGAAAGTTAAAGCCGGGAGATAAGGCGAGATCCGC
+GGTTTCAATGTTGCGGAAATCGCGGATCAACAAGCGGGTGAGGGACATTACAGTCTCATTGGCATGACAA
+CATAAGCCGCGCTCTGGCTGGCCGCATCTTCAATCTGCACGCTGGAAACCGAATCGGTCAGCATCATGCG
+GACGTTTTCGCATTTCAGTGCGTTCAGAACATCCAGCACATAGCTGACGTTGAAGCCGATTTCCATCTCC
+GCACCGCTATAGGTAACGTCGAGGATCTCTTCCGCTTCTTCCTGTTCTGGGTTGTTGGCGGTGATTTTCA
+GCTGGTTTTCGCTGACATACAGACGCACGCCGCGGAATTTCTCGTTAGAGAGAATTGCCGCACGGGCAAA
+CGCCTGCTTGAGCAGATCACAGCCAGCTTCCAGATGCTTGTCCGGGTTCTTCGGCAGAACGCGACGGTAA
+TCCGGGAAGCGACCATCCACCAGTTTCGAGGTGAAGATAAAGTCGCCAACGTGGGCGCGAATGTTGTTGC
+TGCCAATCTGCACGCGCAGCGGATTGTCGCCGCCGTCGAGCATACGCATCAGTTCAATCACGCCTTTACG
+CGGCACGATCACCGAATGGCTTGGCAAAGATTGACCAATTGGCATTGAACAGACTGCCAGACGGTGGCCG
+TCGGTCGCCACGGTGCGCAGTTCTTCACCTTCGGTTTCAAACAGCATACCGTTTAAGTAATAGCGAACGT
+CCTGATGCGCCATAGAAAACTGGGTCGCTTCAATCAGACGCTTCATCGTCGCCTGCGGCAGGGTAAATTC
+GACTTCGCTCTGCCAGTCATCGAGGTTCGGGAAATCTGCCGCTGGCAGGGTAGACAGCGAAAAACGGCTA
+CGCCCGGAGCGCACCAGCATCCGCTCACCTTCCAGCTGCACGGCAATTTCCGCGCCTTCAGGCAGACCAC
+GGCAGATATCAAAGAATTTGCGCGCCGGAACGGTCGTCGCCCCTGGTTCGTGCGGCTGAACCAGCGCAAC
+GCGTGCCACCATTTCCATCTCGAGATCAGTACCGGTCAGCGACAACGTACCGTCAGCAACCTGTAACAGC
+AGATTACCGAGAATCGGTAGCGTAGGACGACCACCTAACGGACCGCTCACCTGTTGTAGCGGTTTTAATA
+AATGCTCACGTTCTACGGTAAATTTCATAGGTTTACGATGACAATGTTCTGATTAAATTAGAAAAATCTT
+CTTTGATATCGTGGCTCTCTTCACGCAACTGCTCGATCTTCCGGCAGGCATGAAGCACCGTCGTGTGGTC
+ACGACCACCAAAGGCATCGCCAATCTCCGGAAGACTGTGGTTAGTCAGCTCTTTCGCCAGCGCCATCGCC
+ATTTGGCGCGGACGGGCCACCGAGCGGGATCGACGCTTGGAAAGGAGATCCGCGACTTTGATCTTGTAGT
+ACTCCGCCACCGTCTTCTGAATATTGTCGATGGTGACCAGTTTTTCCTGCAATGCCAGCAAGTCGCGCAG
+CGCCTCACGCACGAAGTCGATGGTGATCGCCCGTCCGGTAAAGTTGGCATTGGCAATGACGCGGTTCAGC
+GCGCCTTCCAACTCACGTACGTTAGATCGTAGACGCTTGGCGATAAAAAACGCCACTTCGCCCGGCAAAC
+GAATGTCGTTTTCGTCGGCCTTTTTCATCAGGATCGCCACGCGGGTTTCCAGCTCTGGCGGTTCGATCGC
+CACAGTCAGTCCCCAGCCGAAGCGGGATTTCAAACGATCCTCAACGCCGTTGATCTCTTTCGGATAGCGA
+TCGGAGGTGAGAATGATCTGTTGATTACCTTCCAGCAGGGCGTTGAAGGTGTGGAAAAACTCTTCCTGAG
+ATCGTTCTTTATTAGCAAAAAACTGAATATCGTCGATCAGCAGTGCATCTACGGAACGGTAGTAGCGTTT
+AAACTCTTCGATCGCGTTGTTTTGCAGAGCTTTAACCATGTCCTGAACAAAGCGCTCGGAGTGCATATAA
+ACCACTTTGGCATTCGGCTTGCGCGCCATAATGCCGTTACCCACCGCATGCAGCAGGTGAGTTTTACCCA
+AACCCGTGCCGCCATAAAGGAACAACGGGTTATAAGCACCGCCAGGGTTATCTGCCACCTGGCGAGCCGC
+CGCGCGCGCCAGTTGGTTAGATTTACCTTCAACGAAGTTATCAAACGTGTGTTTGACGTTTACGTTAGAA
+CGATAGGTCGGTTCTGCCGGAGCCGGGACGTTATCCCAACCCGAGCGCGTAGAAGGCGCAGCACGTTGCG
+GCTGCGTTTGCGCCACCTGTGCAGGGGCCGCGACGTTGCTCGTCACTGCCGCTTGTGGCGTTTGCGTCAC
+CGGTTTGGTGCCGACTTCAAAACGCAGCTGTGGTGCATCCGCTCCGCAGAAACTGGTTAGCAGTCCATTG
+ATATTATTAAGGTACTTGTCCCGTACCCAATCGAGGACAAAACGGTTTGGCGCGTACAGGGCCAGCGTGT
+TATCGCTCAGTTCCGCCTGCAATGGGCGTATCCACATACTGAATTCTGTGGCTGGTAACTCATCCTGCAA
+TCGGGCAAGACACTGCTGCCAAAGCGAAAGTGACACGGCGGACTCCACTCGAACAAAAGTCGATAATGAC
+TAAGGCTGAAACATTCATGATTGTTGACGTACGTCGAAAAGACCCTGCATGAGGGTGACGCACGAACCGC
+TGTCTGCGGTTATATGCCCGATCAAGATCCTGCAAAACGATCGGGACCGCGGATCATAGCCTAAACTGCG
+CAAGAGATCTTCTGTTTCTCACAGATTTTCCCGATTTATCCACAGGATGATCCAGAACTCGCTAAGTGTA
+AACGATCCTGCCGCGGGCCGGGCACGATTTACGCCGCATATTGGAAAATTTAATGACCATAGACAAAAAT
+TGGCTTAATCGATCTAATAAAGATCCAGGACGATCCTTGCGCTTTACCCGTCAGCCCGTATAATCCTCCA
+CCCGGCGCGCCATGCTGGTTTTCACTGGTGTGAGGCCGTACGTTTTCCCCGCGAAAAGGTGCGGAAAAGC
+GCGGTAAATAAGGAAAGAGAATTGACTCCGGAGTGTACAATTATTACAATCCGGCCTCTTTAATCACCCA
+TGGCTTCGGTGTCCATCGTTTCATTTTTCGGCGGATATCCAATAAAGCCATTGAATTTATTCAAGTTTAG
+GTAGAAATCGCCATGAAACGCACTTTTCAACCGTCTGTACTGAAGCGCAACCGTTCTCACGGCTTCCGTG
+CTCGTATGGCTACTAAAAATGGTCGTCAGGTTCTGGCACGTCGTCGTGCTAAAGGCCGCGCTCGTCTGAC
+CGTTTCTAAGTAATAAAGCTAACCCCTGAGTGGTTAAGCTCGCATTTCCCAGGGAGTTACGCTTGTTAAC
+TCCCAGTCAATTCACATTCGTCTTCCAGCAGCCACAACGGGCTGGCACGCCGCAAATTACCATTCTCGGC
+CGCCTGAATTCGCTGGGGCATCCCCGTATCGGTCTTACAGTCGCCAAGAAAAACGTTCGACGCGCCCATG
+AACGCAATCGGATTAAACGTCTGACGCGTGAAAGCTTCCGTCTGCGCCAACATGAACTCCCGGCTATGGA
+TTTCGTGGTGGTGGCGAAAAAAGGGGTTGCCGACCTCGATAACCGTGCTCTCTCGGAAGCGTTGGAAAAA
+TTATGGCGCCGCCACTGTCGCCTGGCTCGCGGGTCCTGATAGCCCTCATTCGGGTCTATCAACGCCTGAT
+TAGTCCGCTACTCGGGCCGCATTGTCGTTTCACTCCAACCTGTTCAAGCTACGGAATTGAGGCATTGCGC
+AGGTTTGGAGTGATAAAAGGCAGTTGGTTGACGGTGAAACGCGTATTAAAATGCCACCCTTTACACCCTG
+GTGGTGACGATCCCGTCCCGCCCGGACCATTTGATACCAGAGAACACTAACGATGGATTCGCAACGCAAT
+CTTTTAGTCATCGCTTTGCTGTTCGTGTCTTTCATGATCTGGCAAGCCTGGGAGCAGGATAAAAACCCGC
+AACCTCAGGCCCAACAGACCACGCAGACAACGACCACCGCAGCGGGTAGCGCCGCCGACCAGGGCGTACC
+GGCCAGTGGCCAGGGGAAACTGATCTCGGTTAAGACCGACGTGCTTGATCTGACCATCAACACCCGTGGT
+GGTGATGTTGAGCAAGCCCTGCTGCCTGCTTACCCGAAAGAGCTGAACTCTACCCAGCCGTTCCAGCTGC
+TGGAAACTTCACCGCAGTTTATTTATCAGGCACAGAGCGGTCTGACCGGTCGTGATGGCCCGGATAACCC
+GGCTAACGGCCCGCGTCCGCTGTATAACGTTGAAAAAGACGCTTATGTGCTGGCTGAAGGTCAAAACGAA
+CTGCAGGTGCCGATGACGTATACCGACGCGGCAGGCAACACGTTTACCAAAACGTTTGTCCTGAAACGTG
+GTGATTACGCTGTCAACGTCAACTACAACGTGCAGAACGCTGGCGAGAAACCGCTGGAAATCTCCACCTT
+TGGTCAGTTGAAGCAATCCATCACTCTGCCACCGCATCTCGATACTGGAAGCAGCAACTTCGCACTGCAC
+ACCTTCCGTGGTGCGGCGTACTCCACGCCTGACGAGAAGTACGAGAAATACAAGTTCGATACCATTGCCG
+ATAACGAAAACCTGAACATCTCTTCGAAAGGTGGTTGGGTGGCAATGCTGCAACAGTATTTCGCGACGGC
+GTGGATCCCGCATAACGACGGTACCAACAACTTCTATACCGCTAATCTGGGTAACGGCATCGCCGCTATC
+GGCTATAAATCTCAGCCGGTACTGGTTCAGCCTGGTCAGACTGGCGCGATGAACAGCACCCTGTGGGTTG
+GCCCGGAAATTCAGGACAAAATGGCAGCTGTTGCTCCGCACCTGGATCTGACCGTTGATTACGGTTGGTT
+GTGGTTCATCTCTCAGCCACTGTTCAAACTGCTGAAATGGATCCATAGCTTTGTGGGTAACTGGGGCTTC
+TCCATTATCATCATCACCTTTATCGTTCGTGGCATCATGTACCCGCTGACCAAAGCGCAGTACACCTCCA
+TGGCGAAGATGCGTATGCTGCAGCCGAAGATTCAGGCAATGCGTGAGCGTCTGGGCGATGACAAACAGCG
+CATCAGCCAGGAAATGATGGCGCTGTACAAAGCTGAGAAGGTTAACCCGCTGGGCGGCTGCTTCCCGCTG
+CTGATCCAGATGCCAATCTTCCTGGCGTTGTACTACATGCTGATGGGTTCCGTTGAACTGCGTCAGGCAC
+CGTTTGCACTGTGGATCCACGACCTGTCTGCACAGGACCCGTACTACATCCTGCCGATCCTGATGGGCGT
+AACGATGTTCTTCATTCAGAAGATGTCGCCGACCACTGTGACCGACCCGATGCAGCAGAAGATCATGACC
+TTTATGCCGGTCATCTTCACTGTGTTCTTCCTGTGGTTCCCGTCAGGTCTGGTGCTGTACTATATCGTCA
+GCAACCTGGTAACCATTATTCAGCAGCAGCTGATTTACCGTGGTCTGGAAAAACGTGGCCTGCATAGCCG
+CGAGAAGAAAAAATCCTGATTCGGTGAGTTTTCGCTAAAATAAGGGCGGTCAGTTGACCGCCTTTTTTCT
+TTTCGTAGGGCGGATAAGCACCGCACATCCGCCACACAAAGCAACAGGAACATCATGAGCGATAATGACA
+CTATCGTAGCCCAGGCCACGCCTCCGGGACGTGGCGGCGTTGGCATCCTGCGCATCTCCGGCCTCAAAGC
+CCGTGAAGTTGCCGAAACCGTGCTGGGTAAACTGCCTAAGCCACGCTACGCCGATTATCTTCCGTTTAAA
+GACGCCGATGGCAGCGTGCTCGATCAGGGGATTGCGCTATGGTTCCCTGGCCCGAACTCGTTCACCGGCG
+AAGATGTGCTGGAACTGCAAGGTCATGGCGGTCCGGTGATCCTCGACCTGCTGTTAAAACGCATTCTGAC
+CATTCCCGGCCTGCGGATTGCCCGCCCTGGTGAGTTTTCCGAACGCGCATTTCTGAACGATAAACTCGAC
+TTAGCCCAGGCCGAGGCGATTGCGGATCTTATCGACGCCAGCTCGGAACAGGCGGCCCGTTCGGCGCTAA
+ACTCGCTGCAAGGCGCGTTCTCCGCACGGGTCAACCATCTGGTGGAAGCCCTCACCCACTTGCGCATTTA
+CGTCGAAGCGGCAATTGATTTCCCGGATGAAGAGATCGATTTCCTCTCCGACGGCAAAATTGAAGCCCAG
+CTCAATAACGTAATTGCCGATCTCGACGCGGTACGCGCCGAAGCTCGTCAGGGTAGTTTGTTGCGCGAAG
+GGATGAAAGTGGTGATTGCCGGACGTCCTAACGCCGGTAAATCGAGCCTGCTGAACGCGCTGGCGGGCCG
+TGAAGCAGCAATCGTAACCGATATCGCCGGAACCACGCGTGACGTGCTGCGTGAGCATATCCACATTGAC
+GGAATGCCGTTGCATATCATCGATACCGCCGGGCTACGTGAAGCCAGTGACGAAGTTGAACGTATTGGTA
+TCGAGCGCGCATGGCAGGAAATTGAACAGGCAGACCGCGTGCTGTTTATGGTCGATGGCACCACGACAGA
+CGCCGTTGATCCGGCAGAGATCTGGCCGGAATTTATCGCCCGTCTGCCAGCGAAACTGCCGATCACCGTG
+GTGCGCAATAAAGCCGATATCACCGGCGAAACGTTGGGGATGAGCGAAGTGAACGGTCACGCGTTAATTC
+GTCTTTCGGCGCGGACTGGCGAAGGTGTGGATGTACTGCGTAACCATCTCAAACAGAGCATGGGCTTTGA
+CACCAATATGGAAGGCGGCTTCCTGGCGCGTCGTCGTCACCTACAGGCGCTGGAACAGGCGGCAGAGCAT
+TTGCAGCAAGGTAAAGCGCAACTGTTAGGTGCCTGGGCGGGTGAACTGCTGGCGGAAGAGTTGCGCCTAG
+CGCAGCAGAACTTAAGCGAGATCACCGGGGAATTTACTTCAGACGACCTACTGGGGCGGATTTTCTCCAG
+CTTCTGTATCGGTAAGTAACCGCGCTTGCGAAGCCGCATTCTGACTGTCAGATGCGGCTTCGCTTCATTG
+TTAGCACTCCTGTTATTCCTCAACCCTTTTTTAAACATTAAAATTCTTACGTAATTTATAATCTTTAAAA
+AAGATATTTAATATTGCGTCCCGAACGATTGTGATTCGATTCACATTTAAACAATTTCAGAATAGACAAA
+TTCCTTGAGTATTATACTGTAGCCTCGTGTCTTTCGAGGATAAGTGCATTATGAATATCTTACATATATG
+TGTGACCTCAAAATGGTTTAATATTGACAACAAGATTGTCGATCACCGCCCTTGATTTGCCCTTCTGTAG
+CCATCACCAGAGCCAAACCGATTAGATTCAATGTGATCTATTTGTTTGCTATATCTTAATTTTGCCTTTT
+ACAAAGGCCATCTCTCGTTTATTTACTTGTTTTAGTAAATGATGGTGCTTGCATATATATCTGGCGAATT
+AATGGATACTGCAAATGTAATATTCACAGGGATCACTGTAATTAAAATAAATGAAGGATTATGTAATGGA
+AAACTTTAAACATCTCCCTGAACCGTTCCGCATTCGTGTTATTGAGCCAGTAAAACGTACCACTCGCGCT
+TATCGTGAAGAGGCAATTATTAAATCCGGTATGAACCCGTTCTTGCTGGATAGCGAAGATGTGTTTATCG
+ATTTACTGACCGACAGCGGCACCGGGGCGGTGACGCAGAGTATGCAGGCCGCGATGATGCGTGGCGACGA
+AGCCTACAGCGGCAGCCGCAGCTACTACGCGTTAGCCGAGTCAGTGAAAAATATCTTTGGTTATCAATAC
+ACTATTCCGACTCACCAGGGCCGTGGTGCAGAGCAAATCTATATTCCGGTACTGATTAAAAAACGCGAGC
+AGGAAAAAGGCCTGGATCGCAGCAAAATGGTGGCGTTCTCTAACTATTTCTTTGATACCACTCAGGGCCA
+TAGCCAGATTAACGGCTGTACCGTGCGTAACGTCTATATCAAAGAAGCCTTCGATACTGGCGTGCGTTAC
+GACTTTAAAGGCAACTTTGACCTTGAGGGATTAGAACGCGGTATTGAAGAAGTTGGCCCGAATAACGTGC
+CGTATATTGTTGCAACCATCACCAGTAACTCCGCAGGTGGTCAGCCGGTTTCACTGGCAAACTTAAAAGC
+GATGTATAGCATCGCGAAGAAATACGATATTCCGGTGGTCATGGACTCCGCACGCTTTGCCGAAAACGCC
+TATTTCATCAAGCAGCGTGAAGCAGAATACAAAGACTGGACCATCGAGCAGATCACCCGCGAAACCTACA
+AATATGCCGATATGCTGGCGATGTCCGCCAAGAAAGATGCGATGGTGCCGATGGGCGGCCTGCTGTGCAT
+GAAAGACGACAGCTTCTTTGATGTGTACACCGAATGCAGAACCCTTTGCGTGGTGCAGGAAGGCTTCCCG
+ACATATGGCGGCCTGGAAGGCGGCGCTATGGAGCGTCTGGCGGTAGGTCTGTATGACGGCATGAATCTGG
+ACTGGCTGGCTTATCGTATCGCGCAGGTGCAGTATCTGGTCGATGGTCTGGAAGAGATTGGCGTTGTCTG
+TCAGCAGGCGGGCGGTCACGCGGCATTCGTTGATGCAGGTAAACTGTTGCCGCATATCCCGGCAGATCAG
+TTCCCGGCACAGGCGCTGGCCTGCGAGCTGTATAAAGTCGCCGGTATCCGTGCGGTAGAAATTGGCTCTT
+TCCTGTTAGGCCGCGATCCGAAAACCGGTAAACAACTGCCATGCCCGGCTGAACTGCTGCGTTTAACCAT
+TCCGCGCGCAACATATACTCAAACACATATGGACTTCATTATTGAAGCCTTTAAACATGTGAAAGAGAAC
+GCGGCGAATATTAAAGGGTTAACCTTTACCTACGAACCGAAAGTATTGCGTCACTTCACCGCAAAACTGA
+AAGAAGTTTAATTAAAACACTCAGAGTGGCTATAAGGATGTTAGCCACTCTATTACCCTACATCCTCAAT
+AACAAAAATAGCCTTCCTCTAAAGGTGGCATCATGACTGATCAATCAGAAAAAAAACACTCTGCATTTTG
+GGGTGTTATGGTTATAGCCGGTACAGTAATTGGCGGTGGGATGTTTGCTTTACCTGTTGACCTTGCCGGA
+GCCTGGTTTTTTTGGGGCGCTTTTATTCTTATTATCGCCTGGTTTTCAATGTTACATTCAGGGCTATTAT
+TATTAGAAGCAAACTTAAATTATCCCGTCGGATCCAGTTTTAACACCATCACCAAAGATTTAATCGGTAA
+CACCTGGAACATTATCAGCGGTATTACCGTTGCCTTCGTTCTCTATATCCTCACTTATGCCTATATCTCT
+GCTAATGGTGCGATCATTAGTGAAACGATATCAATGAATTTGGGCTATCACGCTAATCCACGTATTGTCG
+GGATCTGCACTGCCATTTTCGTTGCCAGCGTATTGTGGATAAGTTCGTTAGCCGCCAGTCGTATTACCTC
+ATTGTTCCTTGGGCTGAAGATTATCTCCTTTGTAATTGTTTTTGGTTCTTTCTTCTTCCAGGTCGATTAC
+TCCATTCTGCGCGATTCCACCAGCACCACTGCGGGGACGTCTTACTTCCCGTATATCTTTATGGCTTTGC
+CGGTGTGTCTGGCGTCATTTGGTTTCCACGGCAATATTCCCAGCCTGATTATTTGCTATGGAAAACGCAA
+AGATAAGCTCATCAAAAGCGTGGTCTTCGGTTCGCTGCTGGCGCTGGTGATTTATCTCTTCTGGCTCTAT
+TGCACGATGGGGAATATCCCGCGAGAAAGCTTTAAGGCGATAATCTCCTCAGGCGGCAACGTTGATTCGC
+TGGTGAAATCGTTCCTCGGCACCAAACAGCACGGGATTATCGAGTTTTGCCTGCTGGTGTTCTCCAACTT
+AGCTGTTGCCAGCTCGTTTTTTGGTGTCACGCTGGGATTGTTCGATTATCTGGCGGATCTGTTTAAGATT
+GATAACTCCCACGCCGGGCGTTTCAAAACCGTGCTGTTAACCTTCCTGCCACCCGCGTTGTTGTATCTGA
+TCTTCCCGAATGGCTTTATTTACGGGATCGGCGGTGCCGGACTGTGCGCCACCATCTGGGCGGTAATAAT
+TCCTGCTGTACTGGCAATCAAAGCCCGCAAGAAGTTTCCCAATCAGATGTTCACGGTCTGGGGCGGCAAT
+CTTATTCCGGCGATTGTCATTCTCTTTGGCATAACCGTAATTTTATGCTGGTTCGGTAACGTCTTTAACG
+TGTTACCTAAATTTGGCTAAATCCTTCAGGAAGCCAGCCATTCGCTGGCTTCTTGCCTGTCAGGAAATCA
+CTTATGTCCAAATGGCAACTCGCCTGATTCTCCTTCACCACGTATGCTTTGCGTCACCTTACTATCAGGA
+CGCTTTAGCCCATGTCCCGCTTTTTGATTTGTAGTTTTGCCCTGGTTTTACTTTATCCCGCAGGGATTGA
+TATGTACCTCGTTGGTTTACCGCGCATCGCCGCCGATCTCAATGCCAGCGAAGCGCAGTTGCATATTGCG
+TTCTCCGTTTATCTGGCGGGGATGGCGGCTGCGATGTTATTTGCCGGTAAAGTGGCCGATCGTTCAGGGA
+GAAAGCCTGTCGCCATACCCGGCGCGGCGCTATTTATTATCGCCTCGGTGTTCTGTTCACTGGCTGAAAC
+CAGCGCGTTATTTCTTGCAGGGCGATTTCTACAGGGACTGGGCGCGGGCTGTTGTTACGTAGTGGCGTTC
+GCCATTTTGCGCGACACGCTGGATGATCGACGTCGGGCTAAAGTGCTGTCGTTACTCAACGGCATTACCT
+GCATCATTCCGGTGTTAGCGCCGGTACTCGGACACCTGATTATGCTTAAATTCCCCTGGCAGAGTCTGTT
+CTGGACGATGGCAACGATGGGCATCGCGGTACTGATGTTGTCTTTGTTTATTTTAAAAGAAACGCGCCCT
+GCGGCCCCCGCAGCTTCGGACAAACCACGAGAAAATAGCGAGTCACTGCTTAATCGGTTTTTCCTCAGCC
+GTGTTGTTATCACCACCCTCAGCGTTTCGGTGATCCTCACCTTCGTCAACACGTCGCCGGTATTGCTGAT
+GGAAATCATGGGTTTTGAGCGCGGAGAATACGCCACCATTATGGCGTTGACCGCTGGCGTCAGCATGACC
+GTTTCATTCTCCACGCCGTTTGCGCTGGGAATTTTTAAGCCACGTACGTTGATGATCACCTCACAGGTGT
+TATTCCTGGCGGCGGGGATCACCCTTGCTGTTTCACCTTCCCATGCGGTTTCGCTGTTTGGTATCACGCT
+GATTTGCGCCGGTTTCTCGGTAGGTTTTGGCGTAGCGATGAGTCAGGCGTTAGGGCCGTTTTCATTACGC
+GCGGGCGTAGCCAGCTCGACCTTAGGTATTGCGCAAGTTTGCGGTTCGTCACTGTGGATTTGGCTGGCGG
+CGGTGGTTGGTATCGGCGCATGGAATATGCTGATCGGGATTCTGATTGCCTGTAGCATAGTGAGCCTGTT
+GCTGATTATGTTCGTCGCGCCTGGACGCCCGGTTGCCGCTCATGAAGAAATCCATCACCACGCTTGATCT
+CAATTTGCTGCTCTGTCTGCAACTGCTGATGCAGGAGCGCAGCGTGACCAAAGCGGCGAAGCGGATGAGC
+GTGACGCCTTCGGCGGTGAGTAAGTCGCTGGCAAAACTTAGAATGTGGTTTGATGACCCGCTCTTTGTGA
+ACTCACCGCTGGGCCTGTCTCCCACACCGCTAATGGTCAGCATGGAGCAAAATCTGGCGGAATGGATGCA
+AATGAGCAATCAGTTGCTGGACAAACCACTCCACGAAACGCCGCGCGGCCTGAAGTTTGAACTGGCAGCA
+GAATCACCGCTAATGATGATCATGCTTAATGCGCTGTCGAAACGGATCTACCAACGTTACCCGCAGGCGA
+CCATCAAATTACGTAACTGGGATTACGATTCCTTAGATGCCATTACTCGTGGTGAAGTGGATATTGGTTT
+TTCCGGTCGCGAAAGTCATCCCCGTTCGCGGGAGCTGTTAAGCTCGCTACCGTTAGCCATTGATTATGAA
+GTGCTGTTTAGTGATGTGCCCTGCGTCTGGTTACGCAAAGATCATCCGGCACTGCATGAAGCATGGAATC
+TGGACACCTTTTTACGTTATCCGCATATCAGCATTTGCTGGGAACAGAGCGATACCTGGGCGCTGGACAA
+TGTGTTACAGGAGCTGGGGCGCGAACGCACGATTGCTATGAGCCTGCCGGAATTCGAGCAGTCACTGTTT
+ATGGCAGCACAGCCCGACAATCTGCTACTGGCGACCGCGCCGCGCTACTGCCAGTACTACAATCAACTCC
+ACCAACTGCCGTTGGTTGCTCTTCCTCTCCCGTTTGATGAAAGCCAGCAAAAAAAGCTGGAAGTCCCTTT
+TACCCTTCTGTGGCATAAACGGAACAGCCGTAATCCGAAGATCGTCTGGTTACGGGAAACCATTAAAAAT
+CTTTACGCGTCGATGGCATAACCGAATCGTATGAAACGCGACCCAATTTCACAATGAAATGTAAAAAAGT
+TGTAATAAACTTATCTGAATCGAACTTTTAGCCGCTTTAGTCTGTCCATCATTCCAGTAAATGATTACTC
+TTGTATTCATAATGGACCATTAAGCATGGAGCGAAAAATGGCGACTCACTTTGCCCGAGGGATTTTAACG
+GAAGGACATCTGATTTCTGTTCGTCTCCCCTCCCTGTGTCATCAAGAAGCCCGAAACATTCCCCCTCATC
+GTCAAAGCCGTTTTCTGGCGTCCAGAGGTTTACTCGCAGAACTGATGTTCATGCTGTATGGCATTGGCGA
+ATTGCCGGAAATCGTCACCCTGCCGAAAGGAAAACCGGTTTTCAGCGATAAAAATTTGCCTTCGTTTTCT
+ATTTCCTATGCCGGGAATATGGTCAGCGTGGCGTTAACAACCGAAGGTGAATGTGGCCTCGATATGGAAC
+TACAGCGTGCGACACGCGGGTTTCATAGCCCACACGCGCCCGATAACCACACCTTTTCCAGCAATGAATC
+GCTATGGATCAGTAAACAAAACGATCCTAACGAAGCGCGGGCGCAGCTCATCACGCTGCGCCGAAGCGTG
+CTAAAACTAACCGGTGATGTTTTGAATGACGATCCGCGCGATCTGCAACTACTGCCCATTGCCGGACGCC
+TGAAATGTGCTCATGTAAATCATGTAGAAGCGTTATGCGACGCGGAGGACGTGCTGGTGTGGTCCGTGGC
+GGTCACGCCCACGATTGAAAAGCTCAGTGTCTGGGAGTTAGATGGCAAACACGGCTGGAAAAGCCTGCCC
+GATATTCACAGCCGCGCCAACAACCCGACCAGCCGGATGATGCGTTTTGCCCAGCTCTCTACCGTGAAGG
+CTTTTTCGCCAAATTGATAGACAACCACAGGAGTCATCATGTCTGAAAAATTGCAGGTGGTTACGTTACT
+GGGGAGCCTGCGCAAAGGCTCATTTAATGGCATGGTTGCACGTACCCTGCCGAAAATTGCTCCGGCGAGC
+ATGGAAATCAATGCGTTACCTTCCATTGCCGACATTCCCCTGTATGACGCTGACGTACAGCAGGAAGACG
+GTTTTCCAGCAACAGTTGAAGCTCTGGCGGAACAGATCCGTCAGGCTGACGGTGTGGTGATCGTCACGCC
+GGAATATAACTACTCGGTACCGGGTGGGCTGAAAAATGCCATCGACTGGCTTTCCCGCCTGCCGGATCAA
+CCGCTGGCTGGTAAACCGGTATTGATTCAGACCAGCTCAATGGGCGTGATTGGCGGCGCGCGCTGTCAGT
+ATCACCTGCGCCAGATTCTGGTTTTCCTCGATGCAATGGTGATGAACAAGCCAGAATTTATGGGCGGCGT
+GATTCAGAACAAAGTTGATCCGCAAACCGGGGAAGTGATTGATCAGGGTACGCTGGACCACCTGACCGGG
+CAATTGACCGCATTTGGTGAGTTTATTCAGCGAGTTAAGATCTAAATAAAAAACCCGCCAGCAATCATGC
+ATGGCGGGTTTTTAACGCGCTATCGATTTTAGTGAGCGTCGATAAAGACAATCTTCAGGATAAACAGCAG
+CGCAACGATGATTACGCACGGGCTAAGGTCACGCAGACGTCCGGTACCAATCTTCATCACGCAGTAGGAG
+ATAAAGCCCAGCGCGATACCTTCAGTAATCGAGAAGCTGAACGGCATCATCACAGCGGTAATAAACGCCG
+GAACAGATTCAGTAAGATCCTGCCAGTTCACGCGAGCAAGACTTGAGGTCATCAACACGCCAACGTAAAT
+CAGCGCACCAGCTGCAGCGTAGCCTGGCACCATCCCCGCCAGCGGCGACAGGAAGATAACCAGCAGGAAC
+AGCAGACCAACAACCACTGCCGTCAGACCGGTACGACCGCCAACGGAAACGCCGGAAGAAGATTCAATAT
+ACGCCGTAACAGAAGAAGTACCGATAAACGAACCGGTCACCGAAGAGATACTGTCGACATACAGCGCCTG
+CTTCATGCGCGGGAATTTACCTTTCTCATCAGCCAGACCTGCTTTATCGGTCACGCCAATCAGCGTACCG
+GAGGAGTCAAACAAGTTGACCAGCATGAAAGAGAAAATCACCCCTGCCAGCCCAAGGTTAAACGACCCGG
+CTAAATCTACATGACCCACGACACTCATTACGCTCGGCGGCGCAGAAACGATGCCATTATAGTGGACATC
+ACCCAGCATCCAGCCCAGCAGCGTTGTCACCACGATGGAAACCAGCACCGCCGCGTGAATATTGCGCGAG
+GCCAGAATGGCGATGATGAAGAAGCCGAGCATCCCCAGCAGCACGCTGTGAGAAGTCAGATTACCGATGC
+TCACCAGCGTTTCCGGGTTAGCGACAATCACACCTGCGTTTTTCAGCCCCATCATGCCAATAAACAGACC
+GATACCACTGGTGATGCCCACACGTAGACTTACCGGGATGTTGGCTATCATCCAGTAGCGAACGCGGAAA
+ATCGTCAGTAACAGCAGACCAATCGCGCCCCAGAAGATTGCGCCCATCCCGACTTGCCACGGCAAGCCCA
+TCGCCTGTACAACGACAAAAGCGAAGAACGCATTCAGGCCCATTGCCGGTGCCAGTGCAACTGGCAGGTT
+AGCAAACAGCCCCATCATAATACTGCCGAATGCAGCAATCAGACAGGTCGTGACGAAGACGGCGCTGGTA
+TCCATGCCAGCAACGCCAAGAATTTGCGGGTTAACAAAAACGATGTAAACCATCGTCAGGAAGGTGGTAA
+AACCGGCGATCACTTCGGTCCGTGCCGTCGTGCCATGTTCGCGCAGTTTAAACACGCGTTCCAGCATCCC
+CTGGCCAGAAGCCTGGGTTGTGTGTTGTTGACTCATTATCTATTTCCGAACAAGGAGGGAAAATCCGTCG
+CTATCGTATACCAAAATGAGACAATATGGACGGCTGAATATAACTTTTTTTCATTGTATTTGCTTATACG
+GCAACGATTGCGTCATGCGAATTGGCATGACGAAAACGTTAAACTAACGATAAAGGAAAGACATGTCCCA
+GATAGAAGCGGTATTTTTCGACTGCGACGGTACGCTGGTCGATAGCGAGGTCATTTGCTCTCGCGCCTAT
+GTCACGATGTTCAGGGAATTTGGCATTCACGTTGACCTGGAAGAGATTTTTACCCGTTTTAAAGGCGTAA
+AACTCTACGAAATCATCGACATCATCAGTAAAGAACAGGGCGTGACGATGGTCCAGGCCGATGCCGAACA
+CGTTTACCGCGCAGAAGTAGCACGTCTGTTTGATACCGAACTTGAGGACATCGCAGGAGCGAACGAATTG
+CTGGCAAGCATTAACGTGCCGATGTGCGTCGTCTCTAACGGTCCGGTCAGCAAAATGCAGCATTCGCTTG
+GTAAGCTCAACATGCTGCACTACTTCCCGGAAAAACTGTTCAGCGGCTATGATATCCAGCGTTGGAAGCC
+CGATCCGGCATTAATGTTCCATGCGGCAAAAGCGATGAATGTGAACGTTGAAAACTGCATTCTGGTCGAT
+GACTCCAGCGCCGGTGCGCAATCAGGGATAGATGCCGGAATGGAAGTGTTTTACTTCTGCGCTGACCCGC
+ACAATAAACCGATCGTTCACCCGAAAGTCACCACCTTTACCCATCTTTCGCAATTACCGGAACTGTGGAA
+GGCGCGTGGTTGGGATATTACGGCATAGTTATTCACACTCCCTTCACTTACTCCACTTAAATTGGCACGC
+AAAGGTAAGTAAAGGGAGTTTGATATGTCTGTTTCACGTCGGGTAATTCATCACGGACTGTATTTTGCGG
+TTTTAGGGCCGTTAATTGGTGTTCTGTTTCTTGTCCTCTACATATTCTTCGCAAAAGAACCGCTGATTCT
+TTTGGTAATAATACAGGTACTTCCATTGTTTCTCTTAATGTCGATAACTACGGGAGCTATTCCTGCAATG
+TTAACTGGCGTAATGGTCGCCTGTCTGCCGGAAAAGATCGGGTCACAGAAACGTTATCGTTGTCTGGTTG
+GCGGCATAGGTGGAGTCGTTATCACCGAGATCTATTGCGCTGTTATCGTACATATTAAGGACATGGCTTC
+CTCAGCGTTATTTGAAAACATTCTTTCTGGTGAAAATCTCGTTGTCCGCATCATCCCAGCATTGCTGGCA
+GGCGTGGTGATGAGCAGAATCATTACACGTCTACCCGGATTGGATATTTCATGTCCTGAAACAGACTCTT
+TAAGCTAAGCGGAATGCTTTATCTATTTGTCATTAAATGTTGGAGAACAGGCCGGAGCGTAATTCACACA
+TCCGGCCTTATTTTTAATCTTAACCGAGCGCTAATTCTGCGGCAGCGGCTTTATCAGCGATTACCATCAG
+CGAAGGATGCAGCTGCAACACGGAAGCAGGAACATCTTCGGTAACCGGACCTTGCAGAACATTTTTCAGT
+GCCTGCGCTTTACCCGCGCCACTGACAATTATCAGCAAGTTTTTCGCCGCCATGATGCTTTTCGGCCCCA
+TCGTCACGTAGCTGTCAGGCACTAATGAAAAGTCGCCGCCCAACTCGCCATGCGCCACAATATCAACCAT
+CTCTCCCTGGATCGGGAACTCCACGGTTTGCTCATGGAAATGGGTCGTATTTGGCAAATTGCCACAAAAA
+TGACCATCTACACCTAATCCCAACACCACCAAATCCAGGCCGCCTTCACGCGCCAGTTTCTGATCATGCT
+CGCGGTAGTTATCAATAGTGAGCTTCTGGATATTCTCTTCTTTGATCCCCGCAGGGGTGAAAAACAGATT
+ACGCAGATTGGTAATCGTTACGCCTTCTCCCTCTTTGCCGCGAAATGGAATTTCATCGAAATTATAGAAA
+TAGCAGTTATCGTACCAGGGCTTACCTTTAACCAGAGTGATGAGATATTCGTACATGCCTTTGGGCGTGC
+TCCCGGCGGTAATTGCCAGGTTAACACGACGCGTCTTCGACATATAACCAAGCAGATGGTGTGCCGCGAC
+ACGGCTCATTTCCTGGTAATCTTCGGTAATGATTAATTTCATCTTAATGCCTTATATTATTTGAATAATT
+TCTGTACGAAGGCTGCATAGGCAGGCCGCCAGACATCCATTTCATGGTTCAGACCCGGATATTCCTGGTA
+ATCAAACTTAATTTTTTTCTGCTCAAGCTCAGTTTTCAGCCCGGCGATATCCTTGCCGGTTACAACATCT
+TTATCCCCAACAACCACAGTAAAATTACGTAGTTGCTGGTTAATAGCTGCCGGCTCGTTCAGCCGGGCAG
+CGACCCCTTCATCTGGTACGGTCGTCGTGGTAACACCACTGAATGTGGCCAGCCAGCCAAAGCTTTCCAG
+ATGATTCATTCCCGATACCAGTGCCTGATACCCACCTTGTGAAAGCCCTGCCAGTGCGCGACCATCGGCA
+TCTTTACGGACATTAAAACGCTTGCTAATCAGCGGGATAATATCGTTCATCAGTTCGCGATCTGCCGCTT
+TAGCATTTAACGGATAAAAGACTTTACGTCTCTCCTGAGGAACGAAATCTTCGGGAATAATGCCCTTCGC
+ATCGGTTTCGGTATCCGGGATCACCACCAGCATCGATTTAATTTTCCCTTCAGCCAGCAGGTTATCCATG
+ATTTGCGGGATACGCCCCTGATCAATAGCGGAACGTCCGGTATCACCAAAGCCGTGATAGAAATAGAGCA
+CTGGCAAAGGCTCGCCTATGCCGGTGTATCCTGGCGGGGTCCAGACATACATCTGACGTTCGGATTGCAA
+TGCGTTGGAGTGGTAAGTTATGGCGATCAAATCACCATGCACAACAGAACGTGTATCCAGATAACTGCCC
+GGTACCAGAATCATACTGGAGTTAACCTGACGCTGAGGCTTAGTCATTGCCGTGCCTGTATCAATGCTGC
+GTACACCATCAACATTGAAAAAATACTCGTACAGATTGCCTTTCAGGACAGGCGTGCGCCACGACCAGAC
+TCCCGCTTCGTCTTTGGTCATCGGGTGAATATTGTCCGGAACCGGAACACCCACCACTACGGAGACATTT
+TTTGCCCCAGGGGCAAAGTAGCGAAAGGTCACGCTGTTATCGGTATTGACCTGAGTCACATACTGTTTCA
+CCGGAATAGTGGGTGCCGGGCTGGCTGGCATATCCGCTGCTATGGCCCATTGAGCAGAAATACCGCTGGC
+AATAGCCAGCGTTAAAGCAGCAATTTTTATATTCATCGTAATATTCCTTTTATTAAGTTCCATTACCACC
+AGATTTCAGCCTGGGCACCGACAGCAAACTGGTCGTCTTTATTGTCTTCAAAGGTGAAGCCATCCAGTTC
+ATTTTCCAGAGCTTTGATATACGTAGTGTAGAAACGAATTTCCGGGCGCGAGGTCAACATACTGGTATTG
+ACTTTAAAGGTATGGAAGAGCGTGGTTTTATAACCAGACTCATTATATTTATTGCTATTCGCATCTTTGT
+TTTGCTGGGTGAAATAGCCCAGTTCAACACCTGTCTGGTTATATTGGTCCCAAATATAGGCCGGGCGAAC
+AACCGCACGAATAGATTCGAAATCAGAATGTGCGCCTGTTTCGTAGCTATAAATATCGTTACCGAAGGAG
+TAAACAATCGCGTTAGCCACAATGAAATGATCGCCGATATAAGCTTCGCCCTGCGAAGTCAGACGAACTG
+CAGTTCCGCCTGTGTGATCACCATAATAACGACCATTAAAGGTAGTAAATGGACTTGCACCAGCATAACG
+ACCAAAGTTACTGGCGATAGAGTTATTCGCAACCAGGAAGGAGAATTCGTTGAAGCCACCCTTATCAAAT
+TTCTGCGTTAAAGATGTACCAAACATCCAGGTATCTTTCCAGTCATAATACCCGTTATTATCCTGATTAT
+CTTTTTCCGATGCGCTTTCATTTGCTGAGACATAACGACCGCTCACCATTAAGGTGGCTTTATCCCATAA
+CGGGATATCTTTATAGCGTAAATCAATGGTATTGGTATTAATCTGCTGTTTGTTTTGCAGGCTGCGATCG
+TAATCATCGACATCTTCACGAACCAGCGCGATATCAATTTTACCCGGACCGACTTTCCAGTTTTCCAGAC
+CTACACCTGCGGCAGCATCGGTACGCTGCGTTTTCCAGTCAAGCATCTGGATTTCAATTTTCGGCGCACC
+GTGTTTACCCACCCAGAAATCAGCCTCTGGCGCAAAGGGCAGGAAACCTTTGGTGGTAACGTACATATCA
+GAGAACTGCATAAAGTTCTCGCCACCGGCGTTATCGCCAAACCAGCCAGTAGAGTACTGCTGACCCACGT
+TACCATCCATCATCACGATGGCATCAACCCGTTTGCCGTTTTCGTTGTAGACACGTTGTTTTAACTGCAA
+ATCAAACCAGCCGGAGTATTCGTTACCAAAGCGGCCCAGAGAACCAATTGCCCATGATTTAGGTGAACCA
+TGAGAGGCTGTTCCCCAACCAGAACGGTAGTAGCCGTTGTAACTAAAGCCGATTTCATCTTTCACAAATT
+TACTGAAATCTTTCAGAGTCATGGAAGAATAAATCGAGCCTGTCTCACTGGCATTTTTCTCTTCATTTTT
+AACCAGTACAGCATCAGGCTTTGCGGCATGACTGGTCGGGAATGGATTGGCGGCATACCCTTGATCATTC
+GTACTTACGCTACGATTCACCGTCGCTGGCGTATACTTTTTCTTCTCTTCATCTTTATATTTTTTCAGTT
+CGCTTTGCGTTTCTCTTAACGCCTTTTCTAATAGCTCAAGGCGTTGTTCCACTGTTAATGATTCAGCCAA
+TGATTGTGCGGAAAAGGCTAACGGTGCCATTAATAAGATGGCAGAGGTAATAATATTTCGTCTAAACATA
+ATATCCCTTTATGGTGCAAAGAAAGAATTAATGCATCGCATCCAGACTGTTCTGAATGCGACGATAATTA
+AGGTGCTTTATTGGTTATTTTTTTAATGATAGCCCCCGAGTTTTGATCACTTCTGCATACCATCCGAAGC
+TTTTCTTGCGCGTTCTTGTGAGGCTTCCTTCACCATTATCATCACGATCCACATAAATAAAGCCGTAGCG
+CTTAGACATTTGTGAATGAGATGCACTGACTAAATCAATTGGCCCCCAACTGGTGTACCCCATAATATCC
+ACACCATCGGCAATCGCTTCATTTACCTGTACCAGGTGATCGTTTAAATAGGCAATTCGATAATCGTCCT
+GTATCGAACCATCCGCTTCAACGCTGTCTTTTGCGCCTAATCCGTTCTCGACAATAAATAACGGTTTTTG
+ATAACGATCCCAAAGTGTATTTAACAGAACCCGTAATCCAACCGGATCAATTTGCCACCCCCACTCTGAA
+CTTTTCAGATGCGGATTGGGGATCATATTCAGTATGTTGCCCTGCGCATTTTTATTAATGCTTTCGTCGT
+GGGAAACACAACCGGTCATGTAATAACTAAAAGAGATGAAATCTACGGTATGTTTTAAATCTTCTGCGTC
+ACTTTCAGTCATCTCAATGGTGATATTGTGGTCGCGGAAGAAACGCTGCATATAGCCGGGATACTGACCA
+CGCGCCTGAACATCACCAAAGAACATCCAGCGCCGGTTCTCTTCCATGGCCTGCAACATATCCTGTGGCT
+GGCAGGTGAGGGGGTAAACCAGCCCACCGAGAAGCATATTGCCAATTTTCGCTTCGGGGATCAGGCTATG
+ACAGGCTTTAACTGCCCGCGCACTGGCAACCAGTTGATGATGGATCGCCTGATAAACTTCCGCCTCGCCA
+CTCTCTTCTGCCAGCCCCACGCCCGTGAATGGCGCGTGTAATGACATGTTGATTTCATTAAATGTCAGCC
+ATAACGCAACTTTATGTTGGTAGCGGGTAAAGACCGTGCGTGCGTAATGCTCGAAGTGATCGATGACCGC
+CCGATTAGCCCAACCGCCGTAGTTTTTCACCAGCCCATATGGCATTTCGTAATGGGATAACGTTACCAGC
+GGCTTGATCCCCGCCTGCGCCATTTCATCAAACAGCCGCTCGTAAAACGCTAACCCCGCTTCATTCGGTT
+CGGCTTCATCGCCCTGAGGAAAAATTCGCGCCCAGGCAATGGAAATACGCAGACAGGTGAAGCCCATCTC
+GGCAAATAACGCGATATCTTCCGGGTAACGGTGATAAAAATCGATGGCGACATCTTTGATATTCTCTTTC
+CCCAGGATGCGCGGTTCCATTTTTCCCATTACGCCATGAGGCTGTAAATCTGAGGTCGTGATCCCTTTGC
+CATCTTCCTGCCAGGCGCCTTCCACCTGATTGGCAGCTGTTGCACCACCCCAAAGAAATGTTTCTGGAAA
+TGCTTTCATAATTAACTCCTTTTATCGTTAGCGAATGATGGATAACAGCGGCTCACCAGCGTTTATCTGC
+GCCGTGCCGTGGGGTAATACGTCCGTAAAATCATCGCTATTACTGATTAATACCGGCGTCGTCAGATCAA
+ATCCGGCCTCGCGAATAGCAGGGATATCAAAAGAAATCAGCCGATCGCCTGTATTGACCTTGTCACCCAC
+ATTGACGTGAGCGGAAAAGAATTTGCCGTCCAGTTTTACGGTGTCGATACCGACATGAATCAGGATCTCC
+ACGCCATCATCTGACTCAATGCCGATGGCATGTAATGTGGCGAACAACGAAGCAATTCGACCCGCCACCG
+GAGAACGCACTTCACCAACAGAGGGCAGAATGGCAATACCTTTACCCAACAGGCCGCTGGCAAACGTGGT
+ATCAGCGACGTGAATGAGCGGCACAATCTCTCCCGTCATCGGTGAACAGATACCGCCCTGCTCAGGTGTA
+ATAACCTCTGGTGTTTTCTCTTGCTGGGCAACTTGCGCTGACTGACTCTTAGCGGTGATGAAATGAAACA
+TCACCGTACCGACAAATGCGCAACCGATGGCAATGACACCGCCAATAACGCTGGCCCATACGGTGAAATC
+AATCCCCGTTGACGGGATGGTTTGCATGAAGGTGAAAATACCTGGCAAACCAAAGGAGTAAACTTTCGTT
+TGCGCGTAGCCAATGATGGTGGCCCCCAATGCCCCACTTATGCAGGCGATAACGAAGGGGTACTTACGCG
+GCAGATTGACGCCATATACCGCTGGTTCGGTGATACCAAACAAACCTGTCAACGCCGCTGATCCCGCCAC
+CACTTTTTTCTGTGCATCGCGTTCGCAGAGGAAGACGCCGAGCGCCGCCCCGACTTGCGCCATAATGGCG
+GGCATTAACAGCGGGATCATGGTGTCGTAGCCCAGCACGGTGAAGTTATTGATAATTAAAGGTATCAAAC
+CCCAATGCAGACCGAACATCACAAAGATTTGCCAGAAGCCGCCCATTACCGCGCCTGCAAATGCAGGAAC
+CGCCTGATAAAGCCAGAGATAACCGGCAGCAATCAGTTCACTTATCCAGGTTGATAGCGGCCCCACCAGC
+AGAAATGTGATGGGCGTGATGACCATCAGACATAGCAAGGGTGTGAAGAAATTTTTGATTGCCGAAGGTA
+ACCACGCATTAAGTCGGCGTTCCAGAATGCTGCACAACCAGGCAGAAAAAATAATGGGAATAACCGATGA
+CGAGTAATTCAACAATGTGACCGGAATACCCAGGAAATCCAGGCCCAGCGCATCCACTTTTTGCCCGTTC
+TCGAAGGCAGTCAGAATTAATGGATGCACTAACGCTCCGCCAATCACCATGGCAGTAAATGGATTGCCGC
+TGAAGCGTTTCCCTGCGGTGTAGCCCAGGATTATCGGGAAGAACCAAAACAAGGCATCACTGGCGCTAAA
+TAAAATTAAATAAGTACCACTTTGTTCGGTCGTCCACTGAAAAGTGAGTGCCAGAGCCAACATACCTTTC
+AGGATCCCGGTTGCCGCCATCAAACCGATCAGAGGCGTAAAAATACCTGAAATAACATAAACAAAGCGGT
+TTAACAGATTACCTTTATCATCATTTTCCGGTGCCTGTTGCGCTTTTTCGCCAAGGCCTGCCACGCTGTT
+AACCGCCAGGAAGACATCGGCCACATGGTTACCTATGACAACCTGAAACTGGCCACCGCTTTCCACCACC
+ATAATAATACCGGGGGTCTTTTTCAGTACCTCAGCTTGCGCTTTGCTTTCATCCTTTAACTTAAAACGTA
+ATCGCGTTGCACAATGCATCAGACTCACAATGTTATCTGCGCCCCCGACTCCTGCGACTATTGTTCTGGC
+TAACTCCGTCATAACTTGCCCTCTACCGCTTTGCGGCAAAACTCCAAAAAAAACCTGAAAAAAACGGCCT
+GACGTGAATCAAGCAATTTTTTTCAGGTTTTGCCCGCTTAGTGCGGTAACAATCCTTTATTCAGTAATAA
+TATTTCAGTGTTCTTTGCGCACGCGCTCTATATTTATGGCTAAAAACATAATCTCTGCAGGTGAGATTTT
+ACGTTGATACTGCAAACCAATAAAAATGGCGATCCGCTCCGCACATTGCCATGCTTGCTGGTAATTTTGC
+TTTACTGCTTGTTGTAATGATTCATCACTATCGTTAATCGATGCATGTTCAAGAATACGCCAGGATAAAA
+ATTTCAGATGCGTAACCAGTCGCTGATAACTCAAGCTTTCTTCCTGGTAATTAAGGCTGAACTGAAATTT
+TATTAATTGCAGCATTTCTCGCATTAATTGCGTGACACCTGCAACATCCTCCATATTTCCGCTCATTTGG
+GCACTGACCAGATGCATGGCAATAAAGCCCACTTCATCTTTCGGTAACTGCACGCCCAACCGTTTATCAA
+TAATGGTTAACGCTTCTTCCCCTAGCTGGAACTCTTTCGGGTAAAGTCGCTGGATATCCCACAGCAGCGG
+GTTGGGCAGTAGCACGTTTTGCTGAAAGCGTTTAATCGCAAACTGGCAATGGTCAGTTAGCGAGATATAA
+ATACTGTCCTGCAACTTTCCCAGACGCTCCTGCGCCAGAGAGATAATACGATCACAGGTTGCCATCACCT
+CAAGAGGCATATGACTTAAGAGTTCGCTTAATCGCCCGTTCAGTTCATGACTGCTCAAGGCATACTCTTT
+TTCTATTCCACTTGAGTTAATTCTTTCGCCTGGGCGTTTTTGAAAGCCAATTCCGCGCCCCATGACGACT
+TTTTCCCGCTGTTGATCATCAATAACCACCACAACATTATTGTTGAGAATTTTGGTGATTTGCATGTTCA
+TAGCAAGGACCTTTTTTATAAACAAAAAAACCCGACTTCACCAGTATTCTCTGGTTATGTCAGGTTTTGC
+CTGCGAATGCAGTAACAATCCAGTCATTAATTAATGGTTTTTATAACGAACATCCAGGTTCGAAAATTAA
+TTTAGTTGCGTGCAGAAAAAATAGCAATGCTCTATTTATAAAAGTATGACCATGCTCGCAGTTATTAATT
+TTGTGTAATTTTAGGATTTTATAAAGTTATATATAACAAATCCCAATAATTAAATTATTGGGATTTACTT
+GGTGAATTATTTATCGCTATCTTTTTCTGCCAGCAGTTTATCGAGCTCGTCACCACCGACGTGACGGAAA
+TCCTGCCCCTTCACGTAGTAGAAGATAAACTCACAAATATTCTGGCAGCGGTCGCCAATACGTTCGATAG
+AACGCGCACAGAATAACGCGGTAAGTACGCTCGGAATGGTACGCGAATCTTCCATCATGTAGGTCATCAG
+TTGACGAACAATACCTTCGTACTCCTGATCGACTTTTTTATCTTCACGATAAATACGTACCGCTTCGTCA
+ATGTCCATCCGCGCGAACGCGTCCAGCACGTCGTGCAGCATCTGGATGGTATGACGGCCCAGCGACTCCA
+GACTTACCAGCAATGGCTGATGCTGCTGGGAGAATTTCTCCAGTGCAGTACGGCAGATTTTGTCCGCCAC
+GTCGCCAATACGCTCCAGCTCGGCAATGGTTTTACTGATCACCATAACCAGACGCAGGTCGCTCGCCGTC
+GGCTGACGTTTGGCGATAATGCGCACGCAGGCTTCATCGATCGCCACTTCCATCATGTTGACGTTCTTGT
+CGCCTTCGATGACGCGCTTCGCCAGATCGCTGTCCTGGTTATGCATCGCGGTGATCGCATCAGAAAGCTG
+CTGCTCCACCATGCCGCCCATGGTCATCACCTGCGTGCGGATGCTTTCCAGTTCGGCGTTGAACTGGCCG
+GAAATATGTTTATTAAGATTGAGACTGTCCATAACGCACTCCTGAATCAACCGTAACGACCGGTGATGTA
+GTCTTCTGTTTGTTTCTTCGCTGGCTTGGTGAACAGATCGTCCGTGTTGCTGAACTCAATCAATTCGCCC
+AGGTACATAAACGCCGTGTGGTCGGAACAACGCGCAGCCTGCTGCATGTTGTGGGTGACGATCACCACGG
+TGTAATCCTGCTTCAGTTCGGTGATCAGCTCTTCAATACGCCCGGTAGAGATAGGGTCGAGTGCCGAACA
+CGGTTCGTCGAGCAGCAGCACTTCCGGGCGAATGGCGATACCACGCGCAATACACAAACGCTGTTGCTGA
+CCACCAGAGAGAGAGTAACCGCTCTGGTGCAATTTATCTTTGGTTTCGTTCCACAATGCGGCTTTGGTCA
+ATGCCCACTGCACGCGCTCGTCCATGTCAGCACGGGAGAGCTTCTCAAACAGACGCACGCCAAAAGCGAT
+GTTGTCGTAGATGGACATTGGGAACGGCGTCGGTTTCTGGAACACCATGCCCACTTTCGCACGCAGCAGG
+GCGATATCCTGAGAGTTGGTCAGGATGTTGTCGCCATCAAGCAGAATTTCACCTTCCGCACGCTGTTCCG
+GGTACAGTTCAAACATTTTGTTGAAGGTACGCAGCAGCGTTGATTTACCGCAGCCGGACGGCCCGATAAA
+CGCCGTAACCTGGTTTTTGGCGATATCCAGGTTGATGTTTTTCAGGGCATGGAATTTGCCGTAGTAGAAG
+TTCAAATTACGAACCTGAATTTTACTCGGGGCAGTTTCAACCATACTCATTGCAATCTTTTCCTCATCGT
+GCCTGATGCACTTCGCGAATCAGGCTTACCGTAGGCCGGATAAGGCGTTTACGCCGCATCCAGCAAAGTG
+TTAACCGTGTTTATTCTTCGCAAAAACAACGCGCGCCAGAATGTTCAGCAGCAGTACGCACAGGGTAATG
+ATCAACACCCCGGCCCAGGCCAGTTGCTGCCATTCCGCAAACGGGCTCATCGCAAACTTAAAGATCGTCA
+CCGGCAGGTTGGCGATCGGCTGCATCATGTCCGTGCTCCAGAACTGGTTGGAGAGCGCAGTAAACAGCAG
+CGGTGCGGTTTCACCAGCAATACGGGCAATCGCCAGCAGGATACCGGTCATGATCCCGGACACCGACGCT
+TTCAGCGTGATCGCGGCGATCATCTTCCACTTCGGCGTACCCAGCGCATAAGCCGCTTCACGCAGGCTGT
+CCGGCACCAGTTTCAGCATGTTCTCGGTGGTGCGGATAACAATCGGCACCTGCAACAGCGCCAGCGCAAT
+CACGCCCGCCCAGCCGGAGAAGTGCTCCATCTGCGCCACCACGATGGTGTAAACAAAAAGACCAACCACA
+ATCGACGGTGCGGAGAGCAAAATGTCGTTAATGAAGCGAATCACTTCTGCCAGCCAGGATTTACGACCAT
+ATTCAGCCAGATAAATCCCCGCCATAATGCCCAGCGGCGTACCGAATACCGTGGCCCACAAAATTAACAG
+GCCGCTACCCGCCAGGGCGTTCGCCAGACCACCGCCTTCCGTATTTGGCGGCGGCGTCATTTCGGTGAAC
+AGCGCCAGCGACATACCGTCGATACCGCGAGTGATGGTGGACATTAAAATCCAGATCAGCCAGAACAGAC
+CGAAGGCCATCGTCGCCATTGAGAGCGTCAGCGCAATACGGTTTTTGAGGCGGCGACGCGCCTGCATTTT
+GCGGCGGGATTCAGCCAGCGCCGCAGTGGTTTGCATTTCAACCATAGCCATTAGCGTGCCCCCTCATTCT
+TAGCCAGGCGCATAATCATAAACTTCGATGCGGCGAGGACGATGAAGGTAATCACAAACAGGATCAGGCC
+CAGTTCCATCAGTGCAGCGACGTGCAGACCGGATTCCGCTTCCGCAAATTCGTTGGCCAGCGCAGAGGTG
+ATACTGTTGCCCGGCATATACAGCGAGGCGCTGTCGAGTTGGTAGGTGTTACCGATGATAAAGGTCACCG
+CCATGGTTTCACCGAGCGCGCGCCCCAGCCCCAACATAATGCCGCCGATAACACCATTTTTGGTGAACGG
+AAGAACGATACGCCAGATAACTTCCCAGGTGGTGCAGCCGATACCGTAGGCTGACTCTTTCATCATCACC
+GGGGTTTGTTCGAATACATCGCGCATTACCGCTGCAATGTACGGAATAATCATGATGGCGAGGATCACGC
+CTGCCGCGAGGATACCGATACCAAAGGCCGGGCCGGAGAACAGCGCGCCGACAATCGGGATATTCGACAT
+GATATTGCCGACCGGCTCCTGGAAATAAACGGCGAACAGCGGGGCGAAGATAAACAATCCCCACATGCCG
+TAAACGATACTTGGAATGGCAGCCAGCAGCTCAATGGCGATACCCAGCGGGCGTTTCAGCCAGCCAGGCG
+CAAGCTCGGTCAGGAACAGGGCGATACCAAAACTCACCGGGACGGCGATCAGCAGCGCGATAAACGAGGT
+CACCAGCGTACCGTAGATCGGCACCAGCGCCCCGTAGATATCGTTCGGCGCATCCCACTCTTTGGTCCAC
+AGGAAAGCCAGACCAAATTTCTGAATGCTCGGCCAGGATGAGATGATCAGAGAGACAATAATGCCACCCA
+ACATCAATAGCACAATCAGCGCCGCCAGTTTTACCAGCACGCTGAAAATTATGTCGCCCTTTTTACCCGG
+TGGGTTAAAAGCAGGCTTGGTTGCAGCCATAAGTTACTCTTCAGTTAAACGCGTTTACAAAGTCATTTTG
+TAATGCCGGATGCGGCGTAAAACACCGTACCCGGCCTGGAGTTTTATTAGTACAGCGGCTTGCCGCTACT
+GTCTTTAATATTGGTCTTCCACGCAGCGCGAACCTGTTCAACTACGCTATCCGGCAGGCTGGCGTAATCC
+AGGTCGTTCGCCTGTTTAGCCCCGGTTTTGTATGCCCAGTCGAAGAACTTCAACACTTCGGTGCCTTGTT
+CTGGTTTCTTCTGATCTTTATGGATCAGAATGAACGTGGTAGAGGTAATAGGCCATGCATCTTCGCCTTT
+CTGGTTGGTCAGATCCTGAGCGAATGTTTTGCTCCAGTCTGCGCCTTTTGCTGCATTAGCGAAGTTTTCT
+TCGGTCGGACTCACCGGTTTGCCATCAGCGGAGATCAGTTTGGTGTACGCCAGGTTGTTCTGCTTCGCGT
+AAGCATATTCAACGTAACCAATTGCACCCGGCAGACGCTGAACGAACGCGGCGATACCGTCGTTACCTTT
+ACCGCCCAGACCGATCGGCCATTTTACGGTAGAGCCAGTACCAACGTTGTTTTTCCACTCTTCGTTCACT
+TTCGCCAGGTAGCTGGTGAAGACGAAGGAAGTCCCGGAGCCATCTGCGCGGCGTACTACAGCAATGTTCT
+GTGAAGGCAGTTTCAGACCCGGATTCAGTTTGGCGATGGCTTCATCATCCCACTTCTTGATTTTGCCCAG
+GTAGATGTCGCCGAGGGTTTTACCATCCAGCACCAGTTCGCCAGACTTCAGACCTGGAATATTAACCGCC
+AGCACCACGCCGCCAATCACGGTCGGGAACTGGAACAGGCCTTCCTGAGCCAGTTTTTCGTCAGACAGCG
+GCGCGTCAGAAGCACCAAAATCAACGGTATTGGCGATGATCTGTTTTACACCACCAGAAGAACCGATACC
+CTGGTAGTTAACTTTATTACCGTTTTCTTTCTGGTAAGTGTCAGCCCATTTGGCATACACCGGCGCAGGG
+AAGGTTGCACCTGCACCTGTCAGGCTTGCTTCTGCAAACACAGAGAAAGCGCTCATCGATAAGGTCGCGG
+CGACAACAGTTGCGACGGTGGTACGCATAACTTTCATAATGTCTCCTGGGAGGATTCATAAAGCATTGTT
+TGTTGGCTACGAGAAGCAAAATAGGACAAACAGGTGACAGTTATATGTAAGGTTTATGACAGTTTTATGA
+CAGAGAGAGAAAGTCTTTAGTCTGATTTAAATAAGCGTTGATATTCAGTTAATTACAAATATTAATAACG
+AAGAGATGACAGAAAAATTTTCATTCTGTGACAGAGAAAAAGTAGCCGAAGATGACGGTTTGTCACATGG
+AGTTGGCAGGATGTTTGATTAAAAACATAACAGGAAGAAAAATGCCCCGCTTACGCAGGGCATCCATTTA
+TTACTCAACCGTTACCGATTTTGCCAGGTTACGCGGCTGGTCAACGTCGGTGCCTTTGATCAGCGCAACG
+TGGTAAGCCAGTAGTTGCAGCGGAACGGTGTAGAAGATTGGTGCAATCACCTCTTCCACATGCGGCATCT
+CGATGATGTGCATGTTATCGCTCCCCACAAAACCAGCATCCTGATCGGCGAAGACATACAACTGACCGCC
+ACGCGCGCGAACTTCTTCAATGTTGGATTTCAGTTTTTCCAGCAATTCGTTGTTCGGTGCAACGACGATA
+ACCGGCATATCGGCATCTATCAGCGCCAGCGGACCGTGTTTCAGTTCGCCAGCAGCGTAGGCTTCAGCGT
+GAATGTAAGAGATCTCTTTCAGCTTCAATGCACCTTCCAGCGCGATTGGGTACTGATCGCCACGGCCCAA
+GAACAGCGCGTGATGTTTGTCAGAGAAATCTTCTGCCAGCGCTTCAATGCGTTTGTCCTGAGACAGCATC
+TGCTCAATACGGCTCGGCAGCGCCTGCAGACCATGCACGATGTCATGTTCAATGGAGGCATCCAGACCTT
+TCAGGCGAGACAGTTTCGCCACCAGCATCAACAGCACAGTTAACTGGGTGGTGAATGCTTTGGTGGAGGC
+CACGCCAATTTCCGTACCGGCGTTGGTCATCAGCGCCAGATCGGATTCGCGCACCAGAGAAGAACCCGGA
+ACGTTACAGATTGCCAGCGAACCAAGGTAACCCAGCTCTTTCGACAGACGCAGGCCCGCCAGGGTATCCG
+CGGTTTCGCCAGACTGTGACAAGGTGATCATCAGGCTGTTACGACGCACGGCAGATTTGCGATAGCGGAA
+TTCAGAGGCGATTTCGACGTCGCACGGAATACCTGCCAGCGATTCAAACCAGTAGCGGGAAACCATACCG
+GAGTTATAAGAAGTACCACAGGCGAGGATCTGAATATGCTCAACCTTCGACAGCAGTTCATCGGCGTTCG
+GTCCCAGCTCGCTTAAATCAACCTGACCGTGGCTGATGCGCCCGGTAAGGGTGTTTTTGATCGCGTTCGG
+CTGTTCGTAGATCTCTTTCTGCATGTAGTGGCGGTAAATACCTTTATCGCCCGCGTCATATTGCAGATTG
+GATTCGATATCCTGACGTTTTACTTCCGCGCCAGTTTTATCGAAGATGTTTACCGAACGGCGAGTGATTT
+CCGCAATATCGCCCTCTTCAAGGAAGATAAAACGACGAGTCACTGGCAACAGCGCCAGCTGGTCAGAAGC
+GATAAAGTTTTCGCCCATACCCAGGCCAATCACCAGCGGACTACCAGAACGTGCCGCCAGCAGGGTATCC
+GGATGACGGGAGTCCATGATCACTGTACCGTACGCACCACGCAGTTGCGGGATAGCACGCAGAACTGCCT
+CACGCAGAGTACCGCCTTGTTTCAGCTCCCAGTTCACCAAATGTGCAATCACTTCGGTGTCGGTTTCAGA
+AACGAAGGTATAGCCACGCGCTTTTAACTCTTCACGCAGCGGTTCATGGTTTTCGATGATGCCGTTATGC
+ACCACCACAATGTGTTCAGAAACATGCGGATGCGCGTTAGCTTCTGAAGGTTCACCGTGGGTCGCCCAGC
+GAGTGTGAGCAATACCGGTGCCGCCATGCAGAGGATGTTCTTCCGCTGCCTGAGCCAGCATCTGTACTTT
+ACCGAGGCGACGCAGGCGGGTCATATGACCTTCTGCATCAACAACGGCCAGACCGGCAGAATCATATCCG
+CGGTATTCCAGACGACGTAAACCTTCAAGAAGGATTTCTGCTACATCACGTTGCGCGATCGCGCCAACAA
+TTCCACACATAGTTTTTGATTCCGATTTATATCGTTGTCGGTCAACCTGTATGCCCGTTTTTCGGGCGCC
+CCGAGCCTTGTAGAGAGTGGGGTTATTTTTATAGTTACTGCTTGTGGGCGGGAGATTATGTTATCTCCTC
+ATCCCATATGACCGGATTACCCGGCCAGAATTACTTTTTCTTTACCGGACGACGCCAGCCTTCTTTTTGA
+GTCTGCGGCACACGGCTGATCGCCAGGGCATTTTCGCCGACATTACGCGTCACAGTTGTACCCGCAGCAA
+TGGTCGCGCCTTTGCCTACTGTTACCGGGGCCACCAGTTGAGTGTCGGAACCGACAAACACATCGTCGCC
+GATAATGGTCTTAAATTTATTCGCACCATCGTAGTTGCAGGTAATGGTTCCCGCGCCGATGTTAACGTTA
+TCGCCAATTTCCGCATCGCCCAGGTAAGTCAGATGACCAGCTTTCGAGCCTTTACCCAGACGCGCTTTTT
+TCATCTCAACGAAGTTACCGACGTGTGCACCTTCCAGCAACTCAGCACCAGGACGCAGACGGGCAAACGG
+GCCAATAGTACAGGCCGCTGCCAGATTCGCGTCTTCCACGACGGTATATGGACTGATTTCGCAATCATCG
+CCAATCACGCTGTTTTTAATCACGCAACCGGTGCCGATTTTCACGCGATGACCGAGAGTCACGTTGCCCT
+CGATGATAACGTTAGTATCAATTTCAACATCGCGCCCGTGAGTAAGCGTACCGCGCAGATCAAAACGCGC
+CGGATCGCGCAGCATAACGCCTGCTAACAGCAGTTTTTCAGCCTGTTCGGACTGGTAAACGCGCTCCAGT
+CGGGAGAGTTGCAGGCGGTTATTCACGCCTTCTACTTCGCTTAAACGTTGCGGATGAACGGCGACGATTT
+CACGTCCTTCCTGATACGCCAGCGCAATAATGTCGGTGATGTAGTATTCGCCCTGAGCATTATTGTTGGT
+CAGCTTCGCCAGCCAGCGTTTCATATCTGCGCCGTTGGCAATCAGAATGCCGGTGTTGATCTCCTGAATC
+TGACGCTGCTCGTCGGTGGCATCTTTGTGCTCAACAATGCCGGTAACTTTGCCGTTTTCACGGGTGATAC
+GTCCATAACCGGTCGGATCATCCAGTTTTACCGTCAGCAGACCAATGCCACCTTGCGGTTTAGCATCACG
+CAGGTGCTGGAGTGTTTCGACAGAGATCAGCGGCACGTCGCCGTAGAGCATTAAAATGTCTTCATCATCG
+GCAAAGAAAGGTGCGGCCTGCTGCATCGCATGACCCGTACCCAGCTGTTCTGCCTGAAGCACCCAGTTCA
+GGTTGTCGTCTTTCAGCGCCTGCTTAAGCAGATCGCCGCCGTGACCATACACAAGGTGAACGTGCGCTGC
+GCCTAATTCATTCGCAGCATCAATGACATGCTGAACCATCGCTTTCCCGGCAAGGGTATGCAGCACTTTC
+GGAAGATCGGAATACATGCGCGTGCCTTTGCCTGCGGCAAGGATCACTACGCTCATAGCATTATTCAACA
+TACGCGTCCTGACTGTAATTTGAGAACGAATTTAAACCGCTTCACCTTGAAAAAACTACATTTTTTTCAT
+CGTGAAATGGACAGAGGATAAATTGTTCAATAACGGATTATCCCCGCTGACGAAAGCGCCATTTTCGACC
+ATCGTCACGCCTTTTGTCTGCAGAAAATTAAGGCAGTACCTTCATTTAAGCGTCAGGTGGATGTTTTTGC
+TCTTATTTCGATCAATGAATAAACGGGAAAACAGGGTGTTTTATATCAGCAGGATCTATGTGAACGCTCT
+TCAGGACGGGTCAACGCGTAAAAAAAAGCCAGCCTGTTACCAGACTGGCTTTTGTGCTTTTCAAGCCGGT
+GTTACATCGCTTTTTTGGTCAACTCGATAACGCGCAGCTGCGCGATCGCTTTGGCCAGTTCCGCAGACGC
+CTGAGCGTAATCTACGTCGCCGTGAGAGCTGCTAATGTGCTCTTCAGCCTTACGTTTCGCTTCCATGGCT
+CGCGCTTCGTCGAGATCCTGGCCGCGAATTGCGGTGTCGGCCAGAACGGTCACGTTGCCAGGCTGCACTT
+CAAGAATGCCGCCAGACAGATAGATAAACTCTTCGTGACCGTGCTGTTTCACGATGCGAATCATACCAGG
+CTTAATGGCGGTGAGCAGCGGTGCGTGGCCAGGGTAGATCCCCAGTTCACCTTCGCTACCCGTTACCTGG
+ATTTTCTCGACCAGACCAGAGAACATTTGTTGCTCTGCGCTGACGACGTCCAGGTGGTAAGTCATTGCCA
+TATCACCCTCCGATTAAGGCGTTAAAGTTTTTTGGCTTTTTCCACAGCTTCTTCGATGGAACCGACCATG
+TAGAACGCCTGCTCCGGCAGGTGATCGTATTCGCCTTCCATGATGCCTTTAAAGCCACGGATGGTGTCTT
+TCAGGGAGACGTATTTACCCGGAGAACCGGTGAATACTTCTGCCACGAAGAACGGCTGGGACAGGAAGCG
+CTGGATCTTACGAGCACGCGCTACCACCAGTTTGTCTTCTTCAGACAGTTCATCCATACCCAGGATGGCG
+ATGATGTCTTTCAGTTCCTGATAACGTTGCAGGATGGACTGAACGCCACGCGCGGTGTCGTAGTGTTCCT
+GACCAACCACCAGCGGGTCCAGCTGACGGCTGGTGGAGTCCAGCGGGTCAACGGCCGGGTAGATACCCAG
+AGATGCGATCTGACGGCTCAGTACCACGGTTGCGTCAAGGTGCGCAAAGGTGGTTGCCGGAGACGGGTCA
+GTCAAGTCATCCGCAGGTACGTATACCGCCTGTACGGAGGTGATAGAACCAGTTTTGGTGGAGGTGATAC
+GTTCCTGCAGAACGCCCATCTCTTCCGCCAGGGTCGGCTGATAACCTACCGCTGAAGGCATACGGCCCAG
+CAGTGCGGATACTTCCGTACCGGCCAGGGTGTAACGATAGATGTTGTCAACGAACAGCAGAACGTCACGA
+CCTTCGTCACGGAATTTCTCAGCCATGGTCAGACCGGTCAGAGCAACGCGCAGACGGTTTCCCGGCGGCT
+CGTTCATCTGGCCATACACCAGGGATACTTTGTCGATAACGTTGGAGTCGGTCATTTCGTGGTAGAAGTC
+GTTACCCTCACGAGTACGTTCACCTACGCCCGCAAACACAGAGTAACCGGAGTGCTCGATCGCGATGTTA
+CGAATAAGCTCCATCATGTTTACGGTTTTACCTACACCCGCACCACCGAACAGACCAACTTTACCGCCCT
+TAGCGAACGGACACATCAGGTCGATAACTTTGATACCGGTTTCCAGCAGTTCCTGAGAGTTTGACAGCTC
+TTCGTAGGAAGGTGCTGCGCGGTGAATCGCCCAACGCTCTTCTTCACCGATCTCGCCTTTCATGTCGACC
+GGTTCACCCAGTACGTTCATGATACGGCCCAGAGTCGCTTTACCTACCGGGACTTCGATCGGGTGTTCGA
+GGTCTTTTACATCCAGACCGCGACGCAGACCGTCGGAGGAACCCATTGCGATGGTACGCACGATACCGCC
+GCCGAGCTGCTGCTGAACTTCCAGCACCAGACGCTCATTACCATTTTGCACCTCAAGAGCATCGTACACG
+CGCGGTACGGCATCCTGAGGGAATTCGACGTCAACTACGGCGCCGATTACCTGGACAATCTTTCCAGTAG
+CCATCTTAAATCCTCTACGAAATAACCTGTTTAAACCGCGGCGGCCCCCGAGACGATCTCGGTGAGTTCC
+TGAGTAATGCTGGCCTGACGAGCTTTGTTGTATACCAACTGCAGCTCTTTAATCAGGCTGCCGCCATTGT
+CGGTCGCGGCTTTCATCGCCACCATACGGGCGGCCTGCTCGCTGGCCAGGTTTTCAACCACGCCCTGATA
+AACCTGAGATTCGACATAACGACGCAGCAGGGTATCCAGCAACGCCTTCGGATCGGGTTCGTACAGGTAA
+TCCCAGGATTTGTGTTTCAGATCATCATCATCTGATGCCGGTAACGGCAGCAGCTGGCTGATGGTCGGAA
+CCTGAGACATGGTGTTAATAAATTTGTTGCTGACAATGTAAAGCTTGTCCAGACGGCCTTCGTCGTAGGC
+CTGCAACATCACTTTTACCGGACCGATCAGTTCGGACAGGGAAGGGTTATCCCCCATGCCGGTGACCTGG
+GCAACAACATTGCCGCCCACGGAGTTGAAGAACGACACGCCTTTCGAGCCGATCATTGCGAGGTCGCATT
+GAACGCCTTTGTCGGTCCAGGTCTTCATTTCCGCCAGCAGTTTTTTGAACAGGTTAATGTTCAAACCACC
+GCACAAACCACGGTCGGTCGACACCACCAGGTAGCCCACGCGTTTAACGTCGCGGTCTTCCAGGTAAGGG
+TGCTTATATTCCAGATTACCGTGTGCAAGGTGACCAATCACTTTGCGCATGGTTTCTGCATAAGGACGGC
+TGGCCGCCATGCGATCCTGCGATTTACGCATTTTGGAAGCGGCGACCATCTCCATCGCTTTAGTGATCTT
+TTGCGTGTTCTGGACGCTTGCGATCTTACTACGTATCTCTTTTGCGCCGGCCATGAGCTTCTCCTCAATG
+CCTTGCGGCCTGCCCTAAGGCAAGCCGCCAGACGTTACCAGGATTGGGTTGCTTTGAAGGAATCGAGGAT
+GCCTTTCAGCTTGCCTTCGATTTCGTCGTTGTAGCCACCGGTCTGGTTGATCTCTTGCATCAACGGAGCG
+TGATCACGGTCGACGTAAGCCAGCAGAGCGGCTTCGAAGCTGCCGATTTTCGACAGTTCAACATCCGCCA
+GGTAACCACGTTCTGCTGCGAACAGAACCAGAGACTGTTGCGCTACGGACATCGGCGCATACTGTTTCTG
+TTTCAGCAGTTCGGTCACTTTCTGACCGTGGTCAAGCTGCTTACGTGTTGCATCGTCAAGGTCGGATGCA
+AACTGAGAGAACGCTGCCAGTTCACGATACTGTGCCAGAGCGGTACGGATACCACCGGACAGTTTTTTCA
+TGATCTTGGTCTGTGCTGCACCACCAACACGGGATACGGAAATACCCGGGTTAACCGCAGGACGAATACC
+GGCGTTGAACAGGTTGGTTTCCAGGAAGATCTGACCATCGGTAATGGAGATTACGTTGGTCGGAACGAAC
+GCAGAAACGTCACCCGCCTGAGTTTCGATAATCGGCAGCGCAGTCAGAGAACCGGTTTTCCCTTTCACTT
+CACCTTTGGTGAAAGCTTCAACGTATTCGGCGTTAACACGCGCAGCACGCTCCAGCAGACGAGAGTGGAG
+GTAGAATACGTCGCCCGGGAATGCTTCACGTCCTGGCGGACGACGGAGCAGCAGGGAGATCTGACGGTAA
+GCAACAGCCTGTTTAGACAGGTCATCGTAAATGATCAGCGCATCTTCACCGCGGTCACGGAAGTATTCAC
+CCATTGCGCAACCAGCGTACGGTGCCAGGTATTGCAGTGCTGCGGATTCAGACGCGGTTGCTACCACAAC
+GATGGTGTTAGCCAGTGCGCCGTGCTCTTCCAGTTTACGTACCACGTTAGAAATGGTGGACGCTTTCTGG
+CCGATAGCGACATAGATACATTTGATACCGGAATCGCGCTGGTTGATGATGGCATCGATAGCCAGTGCGG
+TTTTACCGGTCTGACGGTCACCGATGATCAATTCACGCTGACCACGACCGATTGGGATCATGGAGTCAAC
+GGCTTTATAACCGGTCTGTACCGGCTGATCTACGGACTGACGTTCGATAACGCCCGGAGCGATTGCTTCT
+ACAGCAGAGAAGCCGTCGTGATCCAGCGGACCTTTACCGTCGATTGGTGCACCCAGAGTGTTAACCACAC
+GGCCCAGCAGGCCACGGCCAACCGGAACTTCCAGGATACGGCCAGTACACTTAACTTTCATGCCTTCGGC
+AAGGTCAGCGTACGGACCCATAACAACCGCACCTACAGAGTCGCGCTCGAGGTTCAGTGCGATAGCGTAA
+CGGTTACCCGGCAGGGAGATCATTTCACCCTGCATACAATCGGCCAGGCCGTGAATGCGGATAACACCGT
+CACTTACAGAAACAATAGTACCTTCGTTGTGAGCTTCACTCACAACATTGAACTGAGCAATGCGCTGCTT
+GATCAGTTCGCTGATTTCGGTGGAATTCAGTTGCATGCTCCAGTCCCCTTAAGACTGCAAGACGTCTGCA
+AGGCGCTCAAGACGACCGCGTACGCTGCCATCAATGACCATATCACCCGCTCGGATGATAACGCCTGCCA
+TTACAGACTTATCGATTTTGCAATTCAGCTTAACTTTGCGTGACAGACGTTTTTCCATCGCAGCAGAAAT
+TTTCGCGAGCTGTTGTTCACTCAACGCGGCAGCGGAAATGACGTCTACCTCAGCGGTAGCCTCACTCACA
+GCACGCAGGTGAATAAACTGCTCCAGAACATCCGGGAGCGCGTTAAGACGACCATTTTCGGCCATTACCC
+GAATCAGGTTCTGACCGTTTTCGTCCAGTTGCTCACCACAAACTGCGATAAACGACTCGGCGAGCGTTTC
+TGGCGCAAGCGCGCCAGAGAGAAGCTCTGCCATTTGTTCGTTTTTGGTTACCTCGGCGGCAAACGCCAGC
+ATGTCCTGCCAGCGTTCTACACTTTGGTGTTCGACGGCAAAGTCAAAAGCTGCTTTGGCGTAGGGGCGAG
+CTACCGTAATAAATTCAGACATCAGCCCCTCCCTCCTTACAGTTCAGCGACAAGTTTATCCACGATGTCG
+CTGTTAGCAGCTTCATCCACGGAACGTTCGATGATCTTCTCGGCGCCAGCAACAGCCAGGATAGCAACTT
+GCTTACGCAGCTCTTCACGGGCACGTTTACGCTCGGCTTCAATTTCCGCCTGCGCCTGGGCCACGATTTT
+AGTACGTTCCTGTTCTGCCTCAGCTTTCGCTTCGTCCAGAATCTGCGAGCGGCGTTTGTTAGCCTGCTCG
+ATGATTACCTGGGCTTCCGCTTTCGCTTTTTTCAGCTGGTCGGTCGCGCTGGCCTTTGCAAGGTCAAGGT
+CCTTATGTGCTCGTTCTGCGGAAGCAAGGCCGTCAGCAATTTCTTTTTGACGTTTTTCGATGGCTGCCAT
+TAATGGCGGCCATACGTACTTCATGCAGAACAGAACGAACAGGACAAACGCGATGGCCTGGCCGAGGATT
+GTTGCGTTAAGATTCACAGCACAATGCCTCTATTTAGTTAACGTTCTGATATTGCTCTTTAAATAAAAGC
+AACGCTTACTACGCGACAGCGAACATCACGTACAGACCCAGACCTACAGCGATCATCGGGATAGCATCCA
+CCAGACCCATAACGATAAAGAACTGAGTACGCAGCAGAGGAATCAGATCAGGTTGACGCGCTGCGCCTTC
+CAGGAATTTACCCCCGAGGATGCCGATACCGATCGCAGCACCGATTGCCGCCAGACCCATCATCACAGCG
+GCAGCCATGTACAGCAGATCCATATTCAGGTTTTCCATGACAGTCTCCAGTTTGTTTCAGTTAAAACGTA
+GTAGTGTTGGTAAATTAATGTTCTTCAGACGCCATCGACAGATAGACGATCGTCAGAACCATGAAGATGA
+AGGCTTGCAGCGTAATGATCAGGATGTGGAAAATGGCCCACGGCACATTCAGGATCCACTGTGACCACCA
+CGGCAACAGACCAGCAATCAGAATGAAAATCAGCTCACCGGCATACATGTTACCGAACAGTCGCAAACCG
+AGTGAAACTGGTTTGGACAGCAGGCTTACCCCTTCAAGGATTAAGTTGACAGGAATGAACGCCCAGTGAT
+TGAACGGCTGCAGCGTCAACTCTTTCGTGAAGCCGCCGATGCCTTTCATTTTGATGCTGTAGAACAGAAT
+CAGGATAAATACGCCCAGTGCCATAGACAGCGTTACGTTCACGTCAGCAGACGGAACCACACGCAGTGCA
+GGCAGACCCAGTACATGTTCAGCAATGTACGGCAGCAGGTCGATAGGCAGTAAATCCATCAGGTTCATCA
+GGAATACCCAGACGAAGATCGTCAGGGCCAGCGGAGCAATCAGCTTGCTTTTGCCATGGTACATGTCTTT
+CACGCTACCATTAACAAAGCCGATCACCAGCTCAATCGCGGTCTGAAACTTACCTGGCACGCCGCTGGTT
+GCCTTTTTGGCTACACTACGGAATAAAACCAGGAACAACAGACCCAGCACCACCGAGAAGAACATGGAGT
+CAATATTGATTGTCCAGAAGGTGGCTGGGGGGTTATGTGGATCCACCAGCGAGAATGTACGCAGGTCCAG
+CTGAAGGTTATTCAGGTGGTGTCCTATGTAATCCTGCGGCGTCATATTTTCTGAAGCCATGATGCCTTTT
+ACCCTTTGTTGTTAATTACAGCCGGTGCCAGTATCTGAACCACCAGCACCAAAACCCACGTAACGATCAG
+CGGCAAGAATACCGCCTTTAAAACCGCCAACGCCACCACCAGTAACACCAACATCGCCAGAACTTTGAAA
+GCTTCGCCAAATGCGAATGTCCAGGCCACCCGGCCTTTCGCTGGTGTATGCGCCTGGTGACGCCAGGCAA
+ATATCATAAACAAAACGTTAGGCAGAAAGACTGCCAGGCCCCCGCTTATTGCAGAGACGCCCCAGAAGGG
+GTCTTTGAGGCTGAACAGCAATCCACTTGCTATCACCACCAGTAACTGAACGAGCAGAAGCTTCCGAGCA
+ACGTTTCGACTCACGAGCGACACAGACATCACGTTTTTCACTCCTGCTCCCTTCGAGGTATGCCGCGTGT
+CGTATAAAACTTTCTTTAAGGCTTAGAGTCAAGCATCAAAAAGCGGTCAAATTATACGGTGCGCCCCCGT
+GATTTCAAACAATAAGTAGCCAAAAGGTGAATAAATGTTTAAATATTTTTCCAGTGCATACAATTGCGAC
+TTTTCTGCAAACCCTGTTCGATCATGAAAAACTGTAAATAACGCGTAAACACTGGTGATAAAGCGTGCTT
+CAGATCACATATTGCGCATGTTCGCGCACAGCATATTTATTTACTTGGCAAATGATGCCTTTGCAAGTTT
+ATGATATTTCAGTCTAAAAACAGATACTGTTTTAATAAATGACATTTACATAACAAAAACCACCAATTGA
+CATTTTTAATAATGTTTTAACAGTCAATGATGATTCTTAGCGCCGATTTTTAGCAGACTGATATTTTCAC
+TTATGACTTATTTTCTGCTTACCAAAAAAAGCCACGTTATCTTGTTGATACAAAAGAGTGAACGTGGCGT
+TAAATGTAACCAGTTATATCAGTAGAAAACCTGGTTGTTGTTAACAGTCTAACCGGTCAATTTTTTATGA
+TTTTTTTGATAAAAATTAAATTTTATTTGCTTTAATCACCACCAGATGACGTTCGCCATCCAGGGCTGGA
+ACCTGAAGTTTAACCACTGATTCGACCTGATATTCTTCGGGCAACAAAGCGATTTCATCTTCCGGCATTT
+GCCCTTTCAGCGCGTAGAAACGGCCTTGCTCACCAGGAAGATGGTGGCACCAGCTCACCATATCGTTCAG
+AGAGGCAAAAGCGCGGCTAATTACGCCATCAAATGGCGGCTCTGACGGAAACTCTTCTACCCTACTCTGT
+ACTGGCTCAATATTCTCCAGTTTAAGCTCATGTTGCACCTGACGAAGGAAACGCACGCGTTTACCAAGGC
+TATCCAACAACGTGAAATGAGCTTCAGGACGCACGATAGAGAGTGGAATGCCAGGCAGTCCCGGTCCGGT
+GCCGACATCGATAAACCGTTCACCTTGCAGATACGGTGCCACCACAATGCTATCGAGAATATGGCGTACC
+AGCATCTCATTAGGATCGCGGACCGAAGTCAGGTTGTACGCTTTATTCCATTTATGCAGCATATTCACGT
+AGGCAATAAGCTGGTTTTTCTGGTGATCGGTAAGCGAAATACCTGCGTCTTTCAGCAGTAAGGAGAGTTT
+GTTGAGCACGGTGATTACCTGTTCTTGATGCGTTGCCTGGTAAGCGGGTGCTTACCAGGCATTTTTAATG
+CGTTATGCGCTACGACGCAGCATACCCTGTTTTTTCAGCCACACCAGCAGAATGGAGATAGCCGCAGGCG
+TGACGCCAGAAATACGCGAAGCCTGGCCAATAGAGGCCGGTTTGTGATCGTTAAGTTTGGCGATCACTTC
+GTTAGAAAGACCGGATACCTGGCGGTAATCCAGCGTCGCTGGTAGCAGGGTATTCTCGTTACGCAGCTGC
+TTTTCGATCTCATCTTGCTGGCGCGCGATATAACCTTCGTATTTAACCTGAATCTCAACCTGTTCCGCAG
+CCTGTTCATCTGTCAACGCAGGGGCAAACGGTGTCAGCGTGGTTAATTTTTCATAAGTCATTTCAGGACG
+ACGTAGCAGATCTTCACCACTGGCTTCACGGGAAAGCGGCGCAGTCAGGTGAGCATTCACTTCGGCTGCA
+GCTTCCGCCGACGGGGTTACCCAGGTCGATTTCAGACGCTGACGCTCACGCTCGATATTCTCAAGTTTCT
+CGTTAAAGCGCGCCCAACGTTCGTCATCCACCAGGCCCAGTTCGCGACCGATTTCAGTCAAACGCAGATC
+AGCATTATCTTCGCGCAGCATCAGACGATATTCTGCGCGCGAGGTAAACATACGATACGGTTCTTTGGTT
+CCTAAAGTGCACAGGTCATCAACCAGTACGCCGAGATATGCCTGAGAACGCGCCGGAGCCCAACCTTCTT
+TGTCAGCAGACAGACGGGCAGCGTTAAGACCAGCCAGCAAACCTTGCGCAGCGGCTTCTTCGTAACCGGT
+AGTGCCGTTAATCTGACCAGCAAAGAACAGCCCCTGGATAAACTTGCTCTCCAGCGTCGGTTTCAGGTCG
+CGTGGATCGAAGAAGTCATACTCAATGGCATAACCCGGACGCACGATCTTCGCGTTTTCCATCCCCTGCA
+TGGAGCGGACGATTTGCATCTGCACATCGAACGGCAGGCTGGTGGAGATACCGTTCGGATAAATTTCGTT
+AGAGGTCAGCCCTTCCGGTTCAAGGAAGATCTGATGCTGATTTCTGTCGGCAAAGCGCATGACTTTGTCT
+TCGATCGACGGGCAGTAGCGTGGGCCGACACCTTCGATCACCCCTGCGTACATTGGGCTACGATCGAGGT
+TACTGCGGATCACATCATGGGTTTTCTCGTTGGTATGAGTGATATAACACGGCACCTGCTGGGGATGCTG
+GGACGCATTGCCCATAAACGAGAATACCGGCATTGGGTTATCGCCATGCTGTTGCGCCAGCACGCTGAAG
+TCGATAGTACGTGCATCAATACGCGGCGGTGTCCCGGTTTTCAGACGACCAACGCGCAGCGGCAGTTCAC
+GCAAACGGCGAGAGAGCGGAATGGACGGCGGATCACCAGCACGGCCACCGCTGTAATTATCCAGACCGAT
+ATGAATTTTACCGTCGAGGAACGTCCCAACGGTGAGCACGACAGCTTTGGCACGGAACTTCAGTCCCATT
+TGGGTAACGGCACCGACCACGCGATCGTTTTCGACAATAAGATCTTCAACCGCCTGCTGGAAGATCATCA
+GGTTCGGTTGGTTCTCCAGCGCCGTACGTACCGCCTGACGGTAGAGCACACGATCTGCCTGAGCTCGGGT
+AGCGCGAACCGCCGGTCCCTTGCTTGCGTTTAGTATCCTAAACTGGATACCCGCCTGATCGATCGCTTTC
+GCCATCAGACCGCCGAGTGCATCCACTTCTTTTACCAGATGTCCCTTCCCAATACCGCCGATCGCCGGGT
+TGCAGCTCATCTGCCCCAGAGTGTCGATATTGTGTGTCAAAAGCAGAGTCTGTTGACCCATACGCGCCGC
+GGCCATCGCGGCCTCGGTGCCTGCATGACCCCCGCCAATGATGATGACGTCAAAAGGATCCGGATAAAAC
+ATGGTGATTGCCTCGCATAACGCGGTATGAAAATGGATTGAAGCCCGGGCCGTGGATTCTACTCAACTTT
+GTCGGCTTGAGAAAGACCTGGGATCCTGGGTATTAAAAAGAAGATCTATTTATTTAGAGATCTGTTCTAT
+TGTGATCTCTTATTAGGATCGCACTGCCCTGTGGATAACAAGGATCCGGCTTTTAAGATCAACAACCTGG
+AAAGGATCATTAACTGTGAATGATCGGTGATCCTGGACCGTATAAGCTGGGATCAGAATGAGGGGTTATA
+CACAACTCAAAAACTGAACAATCGTTGTTCTTTGGATAACTACCGTTTGATCCAAGCTTCCTGACAGAGT
+TATCCACAGTAGATCGCACGATCTGTATACTTATTTGAGTAAATTAATCCACGATCCCAGCCATTCTTCT
+GCCGGATCCTCCGGAATGTCGTGATCAAGAATGTTGATCTTCAGTGTTTCGCCTGTCTGTTTTGCTCCGG
+AATTTTTGAGTTCTGCCTCGATTTTATCGATAGCCCCACAAAAGGTGTCATATTCACGACTACCAATACC
+GATTGCGCCAAAGCGGACCGCAGAAAGATCGGGCTTCTGTTCCTGCAATGCTTCATAGAAAGGAGAAAGG
+TTGTCCGGAATATCTCCGGCACCGTGGGTTGAGCTGATAACCAGCCAGATCCCCGAGGCAGATAAATCTT
+CCAACAGCGGACCGTGCAGCGTTTCGGTGGTAAAACCCGCCTCTTCCAGCTTTTCAGCCAGGTGTTCTGC
+TACATATTCGGCACCGCCGAGGGTGCTGCCGCTGATAAGAGTGATATCTGCCATAAACCGCCACCTTTAT
+TAAGAGTGGCGTATTGTACGCTGTGAACGCGTTGGGATCTACCTGTGGAAAAGTATGGGATTAAAAAAGC
+CGATCAGGGCTTAATGGTACGCATGATCGGGTTCTGCAGGACGATCAGTGTCTCGGTGGACTGAATTTCA
+TCAATTGTTTGGATCTTGTTGATAAGTACATGCTGGAGAGCATCGATCGAACGGCACATCACTTTTATAA
+AGATGCTGTAGTGGCCGGTTGTGTAATAGGCTTCAGTGACTTCATCGAGGCTTTCCAGCTTTGCCAGCGC
+GGAAGGATAGTCTTTGGCGCTCTTTAATATAATGCCGATAAAGCAGCCTACGTCATAACCAAGCTGCTTC
+GGGCTGACATCAATACGCGCCCCGGTAATGATCCCCGCCTGCTTCATTTTCTCTACTCGAACGTGAATCG
+TCCCCGGACTGACGCCAAATTGTTTCGCCAGTTCGGCGTAAGCGGTGCGCGCATTGCCCATTAATGCTTC
+CAGGATGCCACGGTCCAGATTGTCGATCAGATAATTTTCCATAGGATTTTCTTATGCGGATTGATGATTC
+ATTCTATTTTAGCCTTCTTTTTTAATGAATCAAAAGTACGCGAGGCTTTTTATTGAATGATTATTGCATG
+TGTGTCGGTTTTTGTTGCTTAATCATAAGCAACAGGACGCAGGAGTATAAAAAATGAAAACCGCTTACAT
+TGCCAAACAACGTCAAATTAGCTTCGTGAAATCTCACTTTTCTCGTCAACTGGAAGAACGTCTGGGGCTG
+ATCGAAGTCCAGGCGCCGATTCTTAGCCGTGTGGGAGATGGCACGCAGGATAACTTGTCGGGCTGTGAAA
+AAGCGGTGCAGGTAAAAGTGAAAGCTCTGCCTGATGCCCAGTTCGAAGTGGTTCATTCACTGGCGAAGTG
+GAAACGTCAGACCTTAGGGCAACACGACTTCAGCGCGGGCGAAGGGCTGTACACGCACATGAAAGCCCTT
+CGCCCCGATGAAGACCGTCTTTCCCCGTTGCACTCGGTCTATGTAGACCAGTGGGACTGGGAACGCGTAA
+TGGGCGACGGCGAGCGTCAATTCTCGACTCTTAAAAGCACGGTAGAGGCGATCTGGGCGGGAATTAAAGC
+AACCGAAGCTGCGGTTAGCGAAGAGTTTGGCCTGGCACCGTTCCTGCCGGATCAGATCCATTTCGTACAC
+AGCCAGGAGTTACTGTCTCGTTATCCGGATCTCGATGCCAAAGGGCGTGAGCGGGCGATTGCGAAAGATC
+TTGGCGCGGTATTCCTCGTCGGGATTGGCGGCAAGTTGAGTGATGGTCATCGTCACGACGTGCGCGCACC
+GGATTATGATGACTGGAGCACCCCGTCAGAGCTGGGCCATGCGGGTCTGAACGGCGATATTCTGGTATGG
+AACCCGGTACTGGAAGATGCGTTTGAGCTTTCTTCCATGGGGATCCGCGTGGATGCCGACACGCTGAAGC
+ATCAGCTGGCGCTGACCGGTGACGAAGATCGCCTGGAGCTGGAGTGGCATCAGGCGCTGCTGCGCGGTGA
+AATGCCGCAGACCATCGGCGGCGGTATCGGCCAGTCTCGTTTGACCATGCTGCTGCTGCAACTGCCACAT
+ATCGGCCAGGTTCAGTGTGGTGTATGGCCGGCAGCTGTTCGCGAGAGCGTCCCTTCTCTGCTGTAATAAT
+TTATCGCCGCCAGCGTCTGAGCAGGCGGCTTCGCATCCCGGTATCAAAGCGCCAGATATGATCGAAAATG
+CGCATGATGCCGGGTTTGCCGTGTGCCGACATCGCCACGGCATGAAAGCGATGCTGATGTATCCGCTGCA
+ACTCTTTCACTTTACTCGTCACGTCGTCAGGCAACCGCTGGGCGATAAAATCAGAAATCACCACCGCATC
+GGCATCAAACCATTCCCTGCTTTGCAAGCGTTCCATAATGGCGCGAAAACAACTGGCAAGATCGGTGCCG
+CCACGAAACTGCTGACTTAAAAAGCGGATCGCTTGCTCAATACCTTGTGGCCCTGAAAGCTCATAACGGA
+CGATCTCGGTGGAAAATAGCATAATATAGCAGCGCCGGTTTTCAGCGAGGGCTATGCGCATCAAGGCCAG
+GCAGAACGCTTTCGCACACTGTTCATTAAAGCCGCCCATTGAGCCGGAAGTATCCACGCAGACAATAAAC
+GGTCCGCGCGGCTGTTCGTCGTAATCTTTATGCACCACCGGGCGTTCGATCATTTTTTCACGCCACGACT
+CACCGTGCAGGCGATAGGTAAGCAACTGTTTTTCCACCAGCCGACGGTAAAACTCATACTCCAGTTCCGT
+TATCCCTAGTGTCGCCAGTTCTGGCGGCAAGAGACGTAAAATATCATCGCTTTGCTGCAGACCATCTACC
+TGCTCAGGAACTGTCGCCGGTTCGCGCACCATGGTGCGGAAGGTTTCCATCTGCGCATCGTTGCGCGGTA
+TTGATTTGGCTTCCCGGGAACGCCCCAGCTGTTCTGCCAGACGTTTCAGTTCCGGCTGTTCGTTAAGAAA
+TTCACCGTATTTCACAATCAACTGATAGTCGCCACGTTTAAGCTGACCGGCACTCATATCCCACAGACGA
+CCAGCTGCGGTATTGTTATCTGCGAGAATCGGTTCAAGTTGCCCGCTCAGCGTCATGCGTTCCTGAACTT
+CACTCAACAGTTGTTCGCGTTCTTCTTCTAATAGCTGCTGATTTAACGTCGTTGCTTGCACGATCAGGCT
+TAAACGCCAGCGCTGGAGAAAAAGCGTGTGTAACGCTGAAGTGATCGTACTGTTAGCATCAACCAACTGT
+CGGGCTTGTTCTGCCCATGGGGAATTCAGACGATGCAGTAAGTCCAGGATTTGTGGTAGCTGCACAATAA
+ACTGCGGCGTGGAGAGGAGCTGGCTTTGCTGATAGCACATCACCTCTTCGGTGAGTTCCGGCGGGACTCG
+GGCATCTTTCAGCCGACTGCGCAGCGCCTCACGCCAGCGGGGAACATCATCAGTGATTGCCGCCTTCAGT
+CGTGGGAATTTTTCAAAGAAGACTGCCAGCTGCGGTGAGGCCAGCAGCGCGATGATCATCTCTTCGATCA
+ATCCCTCTTCGCTGACGGCCAGCATCACATTAAGCGTATCCAGCGTTAGCATTGTTGTGCCTGGCGAATC
+TGTGCGCCGACATCCTGTAGGCTGGCTTCAATGCGACCTAACCAGTCGCCAGGGATAAACAGACATTTTT
+GCTGTTCGCTGAATAAAGCGTGTTGCTTGCGCCAGTCGCTTTCAAGCTCTTCCAGTTGTTGTTTTATTTC
+GCTGGGCAGACCTTCAGCCGATGAACCGGGAAGTGCTAGCGTACTGCCTTGTAAACTCACATCGCGTACA
+ACCAGATGTTGGGCGCTATCGACTTCCAGATTCAGTTTCTGGGCAAAGCCGATACCGTTCAGTTTGCCGC
+GAATCTCACCACCTTTACTCAGCCACTGTTCCAGCGCGCTACGCTCAAAGGAGATATGAACCACTTCCAT
+ATCATGCAGTTTTAACGGTTTTTGCAGCAGCAGAGTCAGAGTGGAAGCAGTAACGTTAACAGGGAGTTGA
+TACTGCTGACGACGGCTAAAAATGCCGCCCAGACGAATTACCGTTAAGGCTGTTTTATCGCTTTGTTGCT
+GCTGAAGTTGCAGGTGACGTTGCACAATCGCGCCCAGGCGGGTCAACATCCCTTGCTGTTGCCAGGCGTG
+ACCGGTCATCAATACATCAATTTGTTGTTGTATCAAATTCAGGCTTTGCGCGTCATACCACAGGCAATCT
+TTCAGCAAAATGAGATCAACCGGGGCAACAGCACTGCGACCGCTAAAAAAGGCGCTGGCCTGCAATAAGC
+GGATCGCTTTTTTCCAGCGACGATCCGAGACATAAGGCGCATCCGGTAATTTATCCAGTTGCTGGCGCAG
+CATAAAAATCAGCTCAAATACATGATCGGGCAGCGTAATTTCACCAATCTCTTTCTGCCAGCGTTCATAT
+TCTTCATCTGTGATCTGCAAGGAGGCAGGAACCGGATTGTCATTTTCATCCTGTTGACTGGTCAGCATGG
+AGCGGAAATTCGCTTTATCCTGCACTTTATCTAACCACAGACGAATCAGCATGCGGTCATATAACGCTTC
+CAGACTGCTGTCTGCTTCCGGCAGCTCGTTGGAGGCCGCCACCAGCAGACGCATCGGGATTTTTTCTACG
+AGTGCGCCGTTGCGGAACTGGCGCTCGTTAATGGCGGTGAGCAGGGTATTAAGAATTGCCGGACCCGCTT
+TCCAGATCTCATCCAGAAAGACGATTTCAGCTTCCGGCAGGTAACCGCTGGTTAAACGTTCATAGCGCCC
+TTCATCTTTTAGCGCCTGAATAGAAAGGGGACCAAAAACTTCTTCCGGCGTGGAGAAGCGGGTCATCAGA
+TATTCAAACGCGCGGGCATTCTGAAAGGCGAATTTTAAGCGCCGGGCGATCAAACTTTTGGCAATACCTG
+GCGGGCCAAGGAGGAACACACTTTCACCACTTAATGCCGCTAATAAACACAAGCGGATGGCGTGGCTACG
+TTCATAAAGCCCCTTTTCCAACGAACTGCTCAGGCGGGAAATTCTTTCCGCTAATAAATGAGGGTGAGCC
+ATAATGAAGTGGCGTCCTTTCGTCAAAAGTTCTGCGTAAATTGCGAGTATAGACGTTTCTTGCTGGTGGC
+TAAAATAGTCTCAAAGGAGGGGTATTTTTCTTTGAGCCAGGTTAATGTGGCCGCATTTAGGAGTACGATT
+TTGCCGTTAATCGTGCATACTGTGCGCTTTTTTGTGGGCCAAGGGACTAAGCACACATTTCATATTTCAA
+CGAAAGACTAGTCTATGAGCACTGATAATAAGCAATCATTGCCCGCGATTACCCTCGCGGCGATTGGAGT
+TGTCTACGGCGATATTGGTACCAGCCCGTTATATACACTTCGTGAATGTTTGTCCGGCCAGTTTGGTTTT
+GGCGTTGAACGCGATGCCGTGTTTGGCTTTTTATCGCTGATCTTCTGGCTGCTAATCTTTGTGGTTTCCA
+TTAAATATCTCACCTTCGTGATGCGGGCAGATAACGCCGGTGAAGGGGGGATCCTGACGTTGATGTCGCT
+TGCCGGGCGTAATACGTCGGCGCGAACCACATCAATGCTGGTGATTATGGGGCTAATCGGCGGCAGCTTT
+TTCTATGGTGAAGTCGTCATTACTCCCGCTATTTCGGTGATGTCCGCCATTGAAGGTCTGGAAATCGTCG
+CCCCGCAGCTGGATACCTGGATAGTTCCCCTCTCAATTATCGTTCTCACATTATTATTCATGATTCAAAA
+ACATGGCACGGCTATGGTCGGTCAGCTGTTTGCGCCGATCATGCTGACCTGGTTTTTGATTCTGGCAGGG
+CTGGGGTTACGTAGCATTATTGCTAACCCGGAAGTGCTGCATGCACTGAATCCGATGTGGGCGGTGCATT
+TCTTCCTTGAATACAAAACGGTTTCTTTTATTGCATTAGGGGCAGTGGTGCTGTCGATTACGGGGGTCGA
+GGCGCTGTATGCTGATATGGGGCACTTTGGTAAGTTCCCTATTCGTCTGGCGTGGTTCACCGTCGTATTG
+CCTTCCTTAACCCTTAATTACTTCGGCCAGGGAGCGCTGTTGTTAAAGAATCCGGAAGCGATTAAGAACC
+CGTTCTTCCTGTTGGCACCGGACTGGGCGCTGATCCCGCTGCTGATCATCGCCGCACTGGCGACGGTAAT
+TGCCTCGCAGGCGGTTATCTCTGGCGTCTTCTCATTGACGCGTCAGGCGGTACGTCTGGGATATTTGTCG
+CCGATGCGCATTATTCACACTTCCGAAATGGAGTCAGGGCAAATCTATATTCCCTTTGTGAACTGGATGC
+TCTATGTCGCGGTCGTGATTGTGATTGTCAGCTTTGAGCACTCCAGCAACCTGGCGGCGGCGTACGGGAT
+TGCGGTGACCGGAACCATGGTGCTGACGTCTATTCTCTCGACTACCGTGGCACGTCAGAACTGGCACTGG
+AATAAGTATTTTGTTGCGCTGATCCTGATTGCTTTCCTTTGTGTCGATATTCCCTTGTTCACCGCTAACC
+TCGATAAACTGCTCTCCGGCGGCTGGTTGCCATTGAGCCTCGGTACGGTGATGTTTATCGTGATGACCAC
+CTGGAAGAGCGAGCGTTTCCGCTTGCTGCGGCGGATGCATGAACATGGTAACTCTCTGGAAGCGATGATT
+GCTTCGCTGGAGAAATCACCGCCCGTTCGCGTGCCTGGGACCGCGGTGTATATGTCGCGTGCAATCAACG
+TCATTCCCTTTGCGCTGATGCATAACCTGAAACATAACAAGGTATTGCATGAGCGGGTGATTCTGTTAAC
+TCTGCGCACCGAAGACGCGCCATATGTCCATAACGTCCGTCGGGTACAGATTGAACAACTGTCGCCCACT
+TTCTGGCGCGTGGTGGCAAGTTATGGTTGGCGAGAAACGCCAAACGTGGAAGAAGTTTTCCACCGCTGCG
+GTCTGGAAGGATTAAGTTGCCGGATGATGGAAACCTCCTTCTTTATGTCGCATGAGTCGTTGATCCTCGG
+CAAACGCCCGTGGTATTTGCGTCTGCGCGGCAAGCTGTACTTGCTGCTGCAACGTAATGCGCTGCGGGCA
+CCGGATCAATTTGAAATCCCGCCAAACAGAGTTATCGAACTGGGTACTCAGGTCGAAATCTAACGCCAGA
+CGCCTCCTTTCTCCATAAGGGGGCGTTTTTGTTTTCATGGTTAATCACCATGTAAAACGTTTCGAGGTTG
+ATCACATTTCCGTAACGTCACGATGGTTTTCCCAACTCAGTCAGGATTAAACTGCGGGTCAGCGAAACGT
+TTCGCTGATGGAGAAAAAAATGAAAAAAGGCACCGTTCTTAATTCTGATATTTCATCGGTGATCTCCCGA
+CTGGGACATACCGATACGCTGGTGGTGTGTGATGCTGGTTTACCCATCCCCAAAAGTGCAACGCGTATCG
+ATATGGCATTAACCCAGGGTGTACCTTCTTTTATGCAGGTGCTGGGCGTCGTCACAAATGAAATGCAGGT
+CGAGGCTGTCATTATCGCGGAAGAGATCAAACAACATAATCCGCAACTCCACGAAACGTTGCTCACTCAC
+CTTGAGCAGCTGCAACAACACCAGGGAAACACCATTGAGATTCGTTACACCACGCATGAACAATTCAAAC
+AACAAACCGCAGAAAGTCAGGCGGTAATTCGCAGCGGAGAATGTTCTCCGTATGCGAATATCATTCTCTG
+TGCTGGCGTGACGTTCTGAGGCCGTCATGGAAGCATTACTTCAGCTTAAAGGCATCGATAAAGCCTTCCC
+GGGCGTAAAAGCCCTCTCGGGCGCAGCGTTAAATGTCTATCCGGGCCGCGTGATGGCGCTGGTGGGCGAA
+AACGGCGCGGGTAAATCCACCATGATGAAAGTGCTTACTGGTATCTATACTCGCGATGCCGGTACGCTTT
+TATGGTTGGGGAAAGAAACGACATTTACCGGGCCGAAATCTTCCCAGGAAGCCGGGATTGGGATTATCCA
+CCAGGAACTGAACCTGATCCCGCAGTTAACCATTGCCGAAAACATTTTCCTCGGTCGTGAGTTTGTTAAT
+CGCTTTGGCAAAATTGACTGGAAAACCATGTATGCCGAAGCGGATAAATTGCTGGCTAAACTTAACCTGC
+GCTTTAAAAGCGACAAGCTGGTGGGCGATCTTTCCATCGGTGACCAGCAAATGGTTGAAATCGCCAAAGT
+GCTGAGTTTTGAGTCGAAAGTCATCATTATGGATGAACCGACCGATGCGCTGACCGATACCGAAACCGAA
+TCCTTGTTCCGCGTCATCCGCGAGCTGAAATCGCAAGGCCGCGGTATTGTCTATATCTCCCACCGCATGA
+AAGAAATCTTCGAGATTTGCGATGACGTTACCGTTTTTCGTGACGGACAATTTATTGCTGAGCGCGAAGT
+GGCATCACTGACCGAAGATTCTCTGATTGAGATGATGGTGGGCCGCAAGCTGGAAGATCAATATCCGCAC
+CTGGACAAAGCGCCGGGAGATATCCGCCTGAAAGTCGATAATCTCTGCGGACCTGGCGTTAACGATGTCT
+CTTTTACTTTACGCAAAGGCGAAATTCTTGGCGTCTCTGGTTTGATGGGCGCTGGGCGTACCGAACTGAT
+GAAAGTGCTCTACGGTGCACTGCCGCGCACAAGCGGTTACGTCACCCTGGATGGGCATGAAGTCGTTACC
+CGTTCGCCGCAGGATGGCCTGGCAAACGGCATTGTTTATATCTCCGAAGACCGTAAACGTGACGGTTTAG
+TGCTGGGCATGTCAGTAAAAGAGAACATGTCGCTGACCGCGCTGCGCTACTTCAGCCGCGCTGGCGGCAG
+TTTGAAGCATGCCGATGAACAGCAGGCTGTGAGTGATTTCATTCGTCTGTTTAATGTGAAAACGCCATCG
+ATGGAACAGGCAATTGGTCTGCTTTCCGGTGGCAATCAGCAAAAAGTAGCGATTGCCCGTGGTCTGATGA
+CACGCCCTAAAGTGTTGATCCTCGATGAGCCTACCCGTGGCGTAGATGTCGGCGCGAAAAAAGAGATCTA
+TCAACTGATTAACCAGTTCAAAGCCGATGGCTTGAGCATCATTCTGGTGTCATCGGAGATGCCAGAAGTA
+TTAGGCATGAGCGATCGCATCATCGTCATGCATGAAGGGCATCTCAGCGGGGAATTTACTCGTGAGCAGG
+CCACCCAGGAAGTGTTAATGGCTGCCGCTGTGGGCAAGCTTAATCGCGTGAATCAGGAGTAAAAAAATGA
+CAACCCAGACTGTCTCTGGTCGCCGTTATTTCACGAAAGCGTGGCTGATGGAGCAGAAATCGCTTATCGC
+TCTGCTGGTGCTGATCGCGATTGTCTCGACGTTAAGCCCGAACTTTTTCACCATCAATAACTTATTCAAT
+ATTCTTCAGCAAACCTCGGTGAACGCCATTATGGCGGTCGGGATGACGCTGGTGATCCTGACGTCGGGTA
+TCGACTTGTCGGTAGGTTCTCTGTTGGCGCTGACTGGCGCAGTTGCTGCGTCTATCGTCGGCATTGAAGT
+CAATGCGCTGGTGGCTGTCGCTGCCGCTCTCGCGTTAGGTGCCGCAATTGGTGCGGTAACCGGGGTGATT
+GTAGCGAAAGGTCGCGTCCAGGCCTTTATCGCTACGCTGGTTATGATGCTTTTACTGCGCGGCGTGACCA
+TGGTTTATACCAACGGTAGCCCAAGTGAATACCGGCTTTACTGAGAACGCCGATCTGTTTGGCTGGTTTG
+GTATTGGTCGTCCGCTGGGCGTACCGACGCCAGTCTGGATCATGGGGATTGTCTTCCTCGCGGCCTGGTA
+CATGCTGCATCACACGCGTCTGGGGCGTTACATCTACGCGCTGGGCGGCAATGAAGCGGCAACGCGTCTT
+TCTGGTATCAACGTCAATAAAATCAAAATCATCGTCTATTCTCTTTGTGGTCTGCTGGCATCGCTGGCCG
+GGATCATTGAAGTGGCGCGTCTCTCCTCCGCACAACCCACGGCGGGGACTGGCTATGAGCTGGATGCTAT
+TGCTGCGGTGGTTCTGGGCGGTACGAGTCTGGCGGGCGGAAAAGGTCGCATTGTTGGGACGTTGATCGGC
+GCATTAATTCTTGGCTTCCTTAATAATGGATTGAATTTGTTAGGTGTTTCCTCCTATTACCAGATGATCG
+TCAAAGCGGTGGTGATTTTGCTGGCGGTGCTGGTAGACAACAAAAAGCAGTAATAACGACTACAGGACAT
+CTTGAATATGAACATGAAAAAACTGGCTACCCTGGTTTCCGCTGTTGCGCTAAGCGCCACCGTCAGTGCG
+AATGCGATGGCAAAAGACACCATCGCGCTGGTGGTCTCCACGCTTAACAACCCATTCTTTGTATCGCTGA
+AAGATGGCGCGCAGAAAGAGGCGGATAAACTTGGCTATAACTTGGTGGTGCTGGACTCCCAGAACAACCC
+GGCGAAAGAGCTGGCGAACGTGCAGGACTTAACCGTCCGCGGCACCAAAATTCTGCTGATTAACCCGACC
+GACTCCGACGCAGTAGGTAATGCTGTGAAGATGGCTAACCAGGCGAACATCCCGGTTATCACTCTTGACC
+GCCAGGCAACGAAAGGTGAAGTGGTGAGCCACATTGCATCTGATAACGTACTGGGCGGCAAAATCGCCGG
+TGATTACATCGCGAAGAAAGTGGGTGAAGGTGCCAAAGTTATCGAGCTGCAAGGCATTGCCGGTACATCC
+GCAGCCCGTGAACGTGGCGAAGGTTTCCAGCAGGCCGTTGCTGCTCACAAGTTTAATGTTCTTGCCAGCC
+AGCCTGCAGATTTTGATCGCACCAAAGGTTTGAACGTAATGCAGAACCTGTTGACCGCTCATCCGGATGT
+TCAGGCTGTATTCGCGCAGAATGATGAAATGGCGCTTGGCGCGCTGCGCGCACTGCAAACTGCCGGTAAA
+TCGGATGTGATGGTCGTCGGATTTGACGGTACACCGGATGGCGAAAAAGCGGTGAATGATGGCAAACTAG
+CAGCGACTATCGCTCAGCTACCCGATCAGATTGGCGCGAAAGGCGTCGAAACCGCAGATAAAGTGCTGAA
+AGGCGAGAAAGTTCAGGCTAAGTATCCGGTTGATCTGAAACTGGTTGTTAAGCAGTAGTTTTAATCAGGT
+TGTATGACCTGATGGTGACATAAATACGTCATCGACAGATGAACGTGTAATATAAAGAAAAGCAGGGCAC
+GCGCCACCCTAACACGGTGGCGCATTTTATGGACATCCCGAATATGCAAAACGCAGGCAGCCTCGTTGTT
+CTTGGCAGCATTAATGCTGACCACATTCTTAATCTTCAATCTTTTCCTACTCCAGGCGAAACCGTAACCG
+GTAACCACTATCAGGTTGCATTTGGCGGCAAAGGCGCGAATCAGGCGGTGGCTGCTGGGCGTAGCGGTGC
+GAATATCGCGTTTATTGCCTGCACTGGCGATGACAGCATTGGTGAGAGCGTTCGCCAGCAGCTCGCCACT
+GATAACATCGATATTTCTCCGGTCAGCGTGATCAAAGGCGAATCAACAGGTGTGGCGCTGATTTTTGTTA
+ATGGCGAAGGTGAGAATGTCATCGGTATTCATGCCGGCGCTAATGCTGCCCTTTCCCCGGCGCTGGTGGA
+AGCGCAACGTGAGCGTATTGCCAACGCGTCAGCATTATTAATGCAGCTGGAATCACCACTCGAAAGTGTG
+ATGGCAGCGGCGAAAATCGCCCATCAAAATAAGACTATCGTTGCGCTTAACCCGGCTCCGGCTCGCGAAC
+TTCCTGACGAACTGCTGGCGCTGGTGGACATTATTACGCCAAACGAAACGGAAGCAGAAAAGCTCACCGG
+TATTCGTGTTGAAAATGATGAAGATGCAGCGAAGGCGGCGCAGGTACTGCATGAAAAAGGTATCCGTACT
+GTACTGATTACTTTAGGAAGTCGTGGTGTATGGGCTAGCGTGAATGGTGAAGGTCAGCGCGTTCCTGGAT
+TCCGGGTGCAGGCTGTCGATACCATTGCTGCCGGAGATACCTTTAACGGCGCGTTAATCACGGCGTTGCT
+GGAAGAAAAAACATTGCCAGAGGCGATTCGTTTTGCCCATGCAGCCGCTGCGATTGCCGTAACACGTAAA
+GGCGCACAACCTTCCGTACCGTGGCGTGAAGAGATCGACGCATTTTTAGACAGGCAGAGGTGACGCTTGG
+CTACAATGAAAGATGTTGCCCGCCTGGCGGGCGTTTCTACCTCAACAGTTTCTCACGTTATCAATAAAGA
+TCGCTTCGTCAGTGAAGCGATTACAGCCAAAGTTGAAGCGGCGATTAAAGAACTCAATTACGCGCCATCA
+GCTCTGGCGCGTAGCCTCAAACTCAATCAAACACATACCATTGGCATGTTGATCACTGCCAGTACCAATC
+CTTTCTATTCAGAACTGGTGCGTGGCGTTGAACGCAGCTGCTTCGAACGCGGTTATAGTCTTGTCCTTTG
+CAATACCGAAGGCGATGAACAGCGGATGAATCGTAATCTGGAAACGCTGATGCAAAAACGCGTTGATGGC
+TTGCTGTTACTGTGCACCGAAACGCATCAGCCTTCGCGTGAAATCATGCAACGTTATCCGACAGTGCCTA
+CCGTGATGATGGACTGGGCTCCGTTCGATGGCGACAGCGATCTTATTCAGGATAACTCGTTGCTGGGCGG
+AGACTTAGCAACGCAATATCTGATCGATAAAGGTCATACCCGTATTGCCTGTATTACCGGTCCGCTGGAT
+AAAACTCCGGCGCGCCTGCGGTTGGAAGGTTATCGGGCTGCGATGAAACGTGCGGGTCTCAACATTCCTG
+ATGGCTATGAAGTCACTGGTGATTTTGAATTTAACGGCGGGTTTGACGCTATGCGCCAACTGTTATCACA
+TCCGCTGCGTCCTCAGGCCGTCTTTACCGGAAATGACGCTATGGCTGTTGGCGTTTACCAGGCGTTATAT
+CAGGCAGAGTTACAGGTTCCGCAGGATATCGCGGTGATTGGCTATGACGATATCGAACTGGCAAGCTTTA
+TGACGCCACCATTAACAACTATACACCAACCGAAAGATGAACTGGGGGAGCTGGCGATTGATGTACTCAT
+CCATCGGATAACCCAGCCGACCCTACAGCAACAACGATTACAACTTACTCCGATTCTGATGGAACGTGGT
+TCGGCTTAGATTTACGCTGTCTTTTGATCAAATTATTACCATCGGTTGTTTTCAGTAGCATGAACATTGC
+TGCTGAAGCAACAGTAATAATGCCCATCGTGATAAACGTATAGTGGAATTGTTCGACTGTCGTTGTGCCT
+TCCATCCCTTCGTAAACGCGAAGGACTGCCGCACTTACAGCAACGCCTAAACTGATCGACAGTTGCTGCG
+TGACCGCCAGAACACTGTTACCGCTGCTGGCGTTGTCATCGGTCAGATCGGCAAGTGTGATGGTATTCAT
+CGCGGTAAATTGTGTCGACATAGCCATCCCTAATATAAACAACGGCAAGATCAGCATCCATATCGCCATT
+GCTGGTGATTGCAAAGAGAACTGAGCGATCATTAGCCCTATAATCACCGTGATCCCCACTAACGTATGGC
+GATAGCCCAGACGACGTAAGACTTGGGTAACCATCGATTTTGCAATAATGGAACCTAACGCTGTCGGTGC
+CATCATACAGCCAGCAATAAACGCCTGATACCCAAATCCTACCTGTAACATCAATGGCATAAGGAACGGT
+ACACAGCCGGTCCCCAGACGGGTTGCAATATTGCCTACGATACCGATCGAGAAAGTGCGGGTTTTAAATA
+AATCTAATGAAATTAATGGGTTTGGCGTGCGTCGCGCATGGAGAATATAGAGAAGCAGTAACCCGATGCT
+GGTGACAATTACCGTCAAGGCAATCCAGCTGGCGACAATCTTTTCCCCGAATAGCTCTATTCCGCTTGAG
+AAGAGAACAAGGCTGAGGCCAAACAGCAAAAAGCCAGTGGTATCGAATCTGCGTCGTGCGGTGGTGAAAT
+TGGGCATATGTTTGTGCGCGTAAAGAAGGCCCGCAATACCTATGGGGATATTGATTAAAAATATCCAGTG
+CCAGGTTGCCCAGGTGACCAGCACGCCGCCAAGAACGGGGCCTAAAATTGGCCCCACCAGACCCGGCATG
+GCGACAAAATTCAATACAGGAAGAAGCTCATTACGAGGATAAGCGCGCAGTAAGGCCAGCCGAGCAACAG
+GCATCATCATTGCGCCGCCTATCCCCTGAATAACCCGGAAGACAACCAGTTGTGGTAGCGAGTTAGAAAG
+TGCGCAGGCCAGAGAACCCAACGTGAACAGACTCACGGCAAGGGTAAATATGCGACGCGTACCGAAGCGA
+TCGGCTAGCCATCCGCTTACCGGAATAAGCATCGCCACCGTCAGCGTATAACTGATGATGGCTGATTGCA
+TCGCGAGAGGAGAACGATTAAGGCTATGAGCGATTGCGGGTAAGGCGGTATTCAGAATAGTGGCATCAAG
+TGCCTGCATGAAGAAGGCCATCGCCGCGATCCACGGCAAACCCGCCATACTGCGCTTCTTTTTATCGCTC
+ATTCAATGTCCTGTTATCGGGTTATCACTTATCTGGTGAGCGTAGCAGCGCCTGACAAGCTTTAAATGCC
+GCGTCGCCATCGCTTTGGATAATCGCATCGACAATCGCCTGGTGCAGATCCAGCTTTATCACTGTGTCGC
+TGGTAATTGACGTGAAGTAAGTGTGATAAACCGAATGGAATAGCGAGGCGAATGAGGTCAAAAACGGATT
+GGCGCTCATTTCATAGATATGCTCATGCCAGGCCATATCGACTTCGATCCAGCGTTCACGGCGAAAGTTC
+TCTTTTAATGCCGCCATTTCGGCCATTAACGTATTGAGATGCGCCTTCTGTTCCGCGGTGCCAACCTTTG
+CTGCCAGTAGGCAAGCTTGCGGCTCCAGACAGATACGCATAACCAGAAAGTGATCGATGACCTGATGAAA
+GTTCTCTTCTGTCATCCACCAGGTAAGCAATTCCTGATCAAGAAAATTCCAGTTCGATTGTGGCATGACT
+CGGGTACCAATTCGCGGTCGCGGTAAAACCATCCCTTTTGCCGTTAACGTTTTGACCGCTTCGCGTACCG
+CTGTACGACTCACTCCAAATTGCTCGCCCAGCTCAATCTCACCAGGCAAAATGGTGCCGGGTTCATATTC
+ACCTTTTAAGATCCGCTGCGCCAGCTTCTCAGCCAGAACATACGAAAGGTTTTTCTGTGCAGCTAACTGT
+TGTGCGCTTAAAGGCATTACTAATCTTCCTTTTTCTTTTTATTCCTTCTTAGTATGCCACCAGGAAGTGT
+GATTACGGTTGCAAAAACGGCAAATTGCTTGTTTTATGGCACATTAACGGGGCTTTTGCTGAAAAAATGC
+GCGATCAGAAAATTATTTTAAATTTCCTCTTGTCAGGCCGGAATAACTCCCTATAATGCGCCACCACTGA
+CACGGAACAACGGCAAACACGCCGCCGGGTCAGCGGGGTTCTCCTGAGAACTTCGGCAGGGAAAGCAAAA
+TAAATGCTTGACTCTGTAGCGGGAAAGCGTATTATGCACACCCCGCGCCGTTGAGAAAAAGCGAAGCGGC
+ACTGCTCTTTAACAATTTATCAGACAATCTGTGTGGGCACTCGAAGATACGGATTCTTAACGTCGCAAGA
+CGAAAAATGAATACCAAGTCTCAAGAGTGAACACGTAATTCATTACGAAGTTTAATTCTTTGAGCATCAA
+ACTTTTAAATTGAAGAGTTTGATCATGGCTCAGATTGAACGCTGGCGGCAGGCCTAACACATGCAAGTCG
+AACGGTAACAGAAAGCAGCTTGCTGCTTTGCTGACGAGTGGCGGACGGGTGAGTAATGTCTGGGAAACTG
+CCCGATGGAGGGGGATAACTACTGGAAACGGTAGCTAATACCGCATAACGTCGCAAGACCAAAGAGGGGG
+ACCTTCGGGCCTCTTGCCATCGGATGTGCCCAGATGGGATTAGCTAGTAGGTGGGGTAAAGGCTCACCTA
+GGCGACGATCCCTAGCTGGTCTGAGAGGATGACCAGCCACACTGGAACTGAGACACGGTCCAGACTCCTA
+CGGGAGGCAGCAGTGGGGAATATTGCACAATGGGCGCAAGCCTGATGCAGCCATGCCGCGTGTATGAAGA
+AGGCCTTCGGGTTGTAAAGTACTTTCAGCGGGGAGGAAGGGAGTAAAGTTAATACCTTTGCTCATTGACG
+TTACCCGCAGAAGAAGCACCGGCTAACTCCGTGCCAGCAGCCGCGGTAATACGGAGGGTGCAAGCGTTAA
+TCGGAATTACTGGGCGTAAAGCGCACGCAGGCGGTTTGTTAAGTCAGATGTGAAATCCCCGGGCTCAACC
+TGGGAACTGCATCTGATACTGGCAAGCTTGAGTCTCGTAGAGGGGGGTAGAATTCCAGGTGTAGCGGTGA
+AATGCGTAGAGATCTGGAGGAATACCGGTGGCGAAGGCGGCCCCCTGGACGAAGACTGACGCTCAGGTGC
+GAAAGCGTGGGGAGCAAACAGGATTAGATACCCTGGTAGTCCACGCCGTAAACGATGTCGACTTGGAGGT
+TGTGCCCTTGAGGCGTGGCTTCCGGAGCTAACGCGTTAAGTCGACCGCCTGGGGAGTACGGCCGCAAGGT
+TAAAACTCAAATGAATTGACGGGGGCCCGCACAAGCGGTGGAGCATGTGGTTTAATTCGATGCAACGCGA
+AGAACCTTACCTGGTCTTGACATCCACGGAAGTTTTCAGAGATGAGAATGTGCCTTCGGGAACCGTGAGA
+CAGGTGCTGCATGGCTGTCGTCAGCTCGTGTTGTGAAATGTTGGGTTAAGTCCCGCAACGAGCGCAACCC
+TTATCCTTTGTTGCCAGCGGTCCGGCCGGGAACTCAAAGGAGACTGCCAGTGATAAACTGGAGGAAGGTG
+GGGATGACGTCAAGTCATCATGGCCCTTACGACCAGGGCTACACACGTGCTACAATGGCGCATACAAAGA
+GAAGCGACCTCGCGAGAGCAAGCGGACCTCATAAAGTGCGTCGTAGTCCGGATTGGAGTCTGCAACTTCG
+ACTCCATGAAGTCGGAATCGCTAGTAATCGTGGATCAAAATGCCACGGTGAATACGTTCCCGGGCCTTGT
+ACACACCGCCCGTCACACCATGGGAGTGGGTTGCAAAAGAAGTAGGTAGATTAACCTTAGGGAGGGTGCT
+TACCACTTTGTGATTTATGAGTTGGGGTAAGTCGTAACAAGGTAACCGTAGGGGAACCTGCGGTTGGATC
+ACCTCCTTACCTTAAAGAAGCGTTCTTTGCAGTGCTCACACAGATTGTCTGATAGAAAGTGAAAAGCAAG
+GCGTCTTGCGAAGCAGACTGATACGTCCCCTTCGTCTAGAGGCCCAGGACACCGCCCTTTCACGGCGGTA
+ACAGGGGTTCGAATCCCCTAGGGGACGCCACTTGCTGGTTTGTGAGTGAAAGTCACCTGCCTTAATATCT
+CAAAACTCATCTTCGGGTGATGTTTGAGATATTTGCTCTTTAAAAATCTGGATCAAGCTGAAAATTGAAA
+CACTGAACAACGAAAGTTGTTCGTGAGTCTCTCAAATTTTCGCAACACGATGATGAATCGAAAGAAACAT
+CTTCGGGTTGTGAGGTTAAGCGACTAAGCGTACACGGTGGATGCCCTGGCAGTCAGAGGCGATGAAGGAC
+GTGCTAATCTGCGATAAGCGTCGGTAAGGTGATATGAACCGTTATAACCGGCGATTTCCGAATGGGGAAA
+CCCAGTGTGATTCGACACACTATCATTAACTGAATCCATAGGTTAATGAGGCGAACCGGGGGAACTGAAA
+CATCTAAGTACCCCGAGGAAAAGAAATCAACCGAGATTCCCCCAGTAGCGGCGAGCGAACGGGGAGGAGC
+CCAGAGCCTGAATCAGTGTGTGTGTTAGTGGAAGCGTCTGGAAAGGCGCGCGATACAGGGTGACAGCCCC
+GTACACAAAAATGCACATGCTGTGAGCTCGATGAGTAGGGCGGGACACGTGGTATCCTGTCTGAATATGG
+GGGGACCATCCTCCAAGGCTAAATACTCCTGACTGACCGATAGTGAACCAGTACCGTGAGGGAAAGGCGA
+AAAGAACCCCGGCGAGGGGAGTGAAAAAGAACCTGAAACCGTGTACGTACAAGCAGTGGGAGCCTCTTAA
+TGGGGTGACTGCGTACCTTTTGTATAATGGGTCAGCGACTTATATTCTGTAGCAAGGTTAACCGAATAGG
+GGAGCCGAAGGGAAACCGAGTCTTAACTGGGCGTTAAGTTGCAGGGTATAGACCCGAAACCCGGTGATCT
+AGCCATGGGCAGGTTGAAGGTTGGGTAACACTAACTGGAGGACCGAACCGACTAATGTTGAAAAATTAGC
+GGATGACTTGTGGCTGGGGGTGAAAGGCCAATCAAACCGGGAGATAGCTGGTTCTCCCCGAAAGCTATTT
+AGGTAGCGCCTCGTGAATTCATCTCCGGGGGTAGAGCACTGTTTCGGCAAGGGGGTCATCCCGACTTACC
+AACCCGATGCAAACTGCGAATACCGGAGAATGTTATCACGGGAGACACACGGCGGGTGCTAACGTCCGTC
+GTGAAGAGGGAAACAACCCAGACCGCCAGCTAAGGTCCCAAAGTCATGGTTAAGTGGGAAACGATGTGGG
+AAGGCCCAGACAGCCAGGATGTTGGCTTAGAAGCAGCCATCATTTAAAGAAAGCGTAATAGCTCACTGGT
+CGAGTCGGCCTGCGCGGAAGATGTAACGGGGCTAAACCATGCACCGAAGCTGCGGCAGCGACACTATGTG
+TTGTTGGGTAGGGGAGCGTTCTGTAAGCCTGTGAAGGTGTGCTGTGAGGCATGCTGGAGGTATCAGAAGT
+GCGAATGCTGACATAAGTAACGATAAAGCGGGTGAAAAGCCCGCTCGCCGGAAGACCAAGGGTTCCTGTC
+CAACGTTAATCGGGGCAGGGTGAGTCGACCCCTAAGGCGAGGCCGAAAGGCGTAGTCGATGGGAAACAGG
+TTAATATTCCTGTACTTGGTGTTACTGCGAAGGGGGGACGGAGAAGGCTATGTTGGCCGGGCGACGGTTG
+TCCCGGTTTAAGCGTGTAGGCTGGTTTTCCAGGCAAATCCGGAAAATCAAGGCTGAGGCGTGATGACGAG
+GCACTACGGTGCTGAAGCAACAAATGCCCTGCTTCCAGGAAAAGCCTCTAAGCATCAGGTAACATCAAAT
+CGTACCCCAAACCGACACAGGTGGTCAGGTAGAGAATACCAAGGCGCTTGAGAGAACTCGGGTGAAGGAA
+CTAGGCAAAATGGTGCCGTAACTTCGGGAGAAGGCACGCTGATATGTAGGTGAAGCGACTTGCTCGTGGA
+GCTGAAATCAGTCGAAGATACCAGCTGGCTGCAACTGTTTATTAAAAACACAGCACTGTGCAAACACGAA
+AGTGGACGTATACGGTGTGACGCCTGCCCGGTGCCGGAAGGTTAATTGATGGGGTTAGCGGTAACGCGAA
+GCTCTTGATCGAAGCCCCGGTAAACGGCGGCCGTAACTATAACGGTCCTAAGGTAGCGAAATTCCTTGTC
+GGGTAAGTTCCGACCTGCACGAATGGCGTAATGATGGCCAGGCTGTCTCCACCCGAGACTCAGTGAAATT
+GAACTCGCTGTGAAGATGCAGTGTACCCGCGGCAAGACGGAAAGACCCCGTGAACCTTTACTATAGCTTG
+ACACTGAACATTGAGCCTTGATGTGTAGGATAGGTGGGAGGCTTTGAAGTGTGGACGCCAGTCTGCATGG
+AGCCGACCTTGAAATACCACCCTTTAATGTTTGATGTTCTAACGTTGGCCCCTAATCGGGGTTGCGGACA
+GTGTCTGGTGGGTAGTTTGACTGGGGCGGTCTCCTCCTAAAGAGTAACGGAGGAGCACGAAGGTTGGCTA
+ATCCTGGTCGGACATCAGGAGGTTAGTGCAATGGCATAAGCCAGCTTGACTGCGAGCGTGACGGCGCGAG
+CAGGTGCGAAAGCAGGTCATAGTGATCCGGTGGTTCTGAATGGAAGGGCCATCGCTCAACGGATAAAAGG
+TACTCCGGGGATAACAGGCTGATACCGCCCAAGAGTTCATATCGACGGCGGTGTTTGGCACCTCGATGTC
+GGCTCATCACATCCTGGGGCTGAAGTAGGTCCCAAGGGTATGGCTGTTCGCCATTTAAAGTGGTACGCGA
+GCTGGGTTTAGAACGTCGTGAGACAGTTCGGTCCCTATCTGCCGTGGGCGCTGGAGAACTGAGGGGGGCT
+GCTCCTAGTACGAGAGGACCGGAGTGGACGCATCACTGGTGTTCGGGTTGTCATGCCAATGGCACTGCCC
+GGTAGCTAAATGCGGAAGAGATAAGTGCTGAAAGCATCTAAGCACGAAACTTGCCCCGAGATGAGTTCTC
+CCTGAGACTTAGAGTCTCCTGAAGGAACGTTGAAGACGACGACGTTGATAGGCCGGGTGTGTAAGCGCAG
+CGATGCGTTGAGCTAACCGGTACTAATGAACCGTGAGGCTTAACCTTACAACGCCGAAGATGTTTTGGCG
+GATGAGAGAAGATTTTCAGCCTGATACAGATTAGATTAACCGGCGACAAGCGGGTTAATGAAACAGAATT
+TGCCTGGCGGCCTTAGCGCGGTGGTCCCACCTGACCCCATGCCGAACTCAGAAGTGAAACGCCGTAGCGC
+CGATGGTAGTGTGGGGTCTCCCCATGCGAGAGTAGGGAACTGCCAGGCATCAAATTTAGCAGTAAGCCGG
+TTATAAACCGGTGGTTGTAAAAGAATTCGGTGGAGCGGTAGTTCAGTCGGTTAGAATACCTGCCTGTCAC
+GCAGGGGGTCGCGGGTTCGAGTCCCGTCCGTTCCGCCACCCTAATTAGGGGCGTAGTTCAATTGGTAGAG
+CACCGGTCTCCAAAACCGGGTGTTGGGAGTTCGAGTCTCTCCGCCCCTGCCAGAAATCATCCTTAGCGAA
+AGCTAAGGATTTTTTTTATCTGAAATAACCCTCTCCGAAGTAACTCCTTCTACCGGCATCCTTGCCAGCC
+ATTCAGATTAATACACTTCATCCAGCACGTTAATTTTCAATAGATCGCGAATCAACGCATTTTTATCGCT
+ATTTTGTAGCCATATGGCATAAAGCGGCCGTGAAAGTGTTGTGCTATCGACAACGGTATGCAGGCCGCCT
+TTTTTACGTGCCCAACTGACGGGTAGCCAGGTGCAACCATTAAGCATCGCAATCTGTTGCTGTGCCAGTT
+CAGCAGAACTGGTTGTCAGAATGGGAACTTCGTCAGCACCGATCAAACCTGCCTCATGCTGTTGAAAATC
+TGGCCCCCACTCTAGTCGCAGATAGTTAAGATCTCCCTTTAGTTTAGAAGGGGCACTGGTATAAAGCGCT
+AAAGTGAAATACCCCAGCAACTGACTACAAAATTCGTCCATTTTGGGGGCTTCAGTTGTAATAAGAAGAT
+CAAGCTGGCGTTCATGCAACTGTTTTACCAGAGACTGCCGTTGGGCAATTCGCGCTTCGAACTGTAAGCC
+TGTATGGACATCCTGATTTTGATACAAGCGTCCCAGCCACTGATTAAGCATACACTCCCACAGCGAGGCG
+CTGGCACCGATAGAAAACTCATTATGTCGTGAGGTATGCGCCACCTCCTTGCGGGCGGCCTGCCAGGTGC
+TCATGAGCGTTTCTGCATAAGGCAGAAGCTTTTCTCCGGCAGCGGTTAAACGGATATTGTTTCTGTGGCG
+GGTGAAAAGATTCACACCCAGTTGATTTTCCAGTTGTCTGATTCGAAAGCTCACGGCTGATTGGGTCAGA
+TAGAGCGATTCAGCCGCTCGACCAAAGTGACGCGTTCGGCTAACTTCCAGGAAAGTTTTTAACAATTCCG
+TATCCACAGTGCTCTCCGCAAAATTATTTGTCGTTATGATTTAAATGTTTTGTTTTACACTCTGTCAAGC
+GTAACTAATACTCCGCGCCATAACTAGCTCGGTCAAAGAATTAGGAGCGTGCAGGATGGCGGAAAGCTTT
+ACGACGACTAATCGATATTTCGACAATAAACATTATCCACGTGGATTCTCTCGTCATGGTGACTTCACCA
+TCAAAGAGGCACAACTGCTTGAGCGTCATGGTTATGCCTTCAATGAGTTGGATCTTGGCAAACGCGAGCC
+GGTTACCGAGGAAGAGAAACTCTTCGTAGCAGTATGCCGTGGCGAACGTGAACCAGTGACAGAAGCAGAA
+CGCGTGTGGTCCAAGTATATGACGCGTATCAAGCGTCCAAAACGTTTTCACACCCTTTCCGGCGGTAAAC
+CGCAGGTTGAAGGTGCTGAAGACTACACCGATTCTGACGATTAATAAAAAGGGCGAAATGCCCTTTTTTT
+ATGTCAGTAGTTTTTGCAGATGGATGAGCAAACGGTCAATCGCACGATAGCTAACTGCCTCCTGCAAATG
+CTGACGTGTGATAATGTCAGACTGATCAATATCAGCAATGGTTCGTGCAACTTTCAATAACCGCTGCCAG
+GCACGAATCGATAACCCCAGATGGATCAGCGTTTCTTCCAGCCACTGCGCATCTTCGCTTTCAAGCTTGC
+AGAATTGGCGTATTTCCGGATTATCCAGCCAGGCGTTCAGTTTATTCTGCCGCTTAAATTGGCGCTCTCT
+GGCGGCCATTACACGTTGTTTAACGGTGGTGCTGTTTTCTCCCGGCACTACCGTTTTACTCAAAATGCCG
+GGGGGCGGTAATGGGATCTCCAGTGAGAGATCGAAGCGGTCGAGAAAGGGCCCCGAGAGCCGGTTGAGAT
+AACGTAATGTCTGTTCTGGTGTGCAGCGGTTATGGTTTCCCTGATAATGTCCGGTAGGGCTGGGATTCAT
+CGCCGCGACAAGCTGGAAACGGGCTGGATAGGTTATTTTTGCTCGTGTGCGTGAAAGATGGATCTGCCCG
+GATTCAATCGGCTCTCGCAAGGCATCCAGTGTACGCCGTTCAAATTCAGGTAGCTCATCAAGAAAAAGCA
+CGCCGTTATGCGCCAGCGAAATTTCACCTGGCCCTGGAATTGCACCACCGCCCACCATCGCAGTTAACGA
+CGCACTGTGATGAGGTGAGCGGAACGGGCGCTGCCGCCATTGTTTTTGTACTGATTCAGCATTTACCAGA
+CTTAATATCGCAGCGCTCTCCAGTGCCTCTTCATTGCTTAAATCTGGCAAAAGGCCATTAATACGGCTGG
+CGAGCATTGTTTTACCTGTTCCCGGCGGTCCAATCAGTAAAAGGTTGTGCCCGCCAGCGGCGGTAATTTC
+CAGTCCTCGCTTTCCTTGCTCCTGACCGACAACATCACTGAGATCATGTTGTAGCGCCCGGGATACTGCA
+TTAGTTGGTTTCGGGTGTTCGAGAGCGTGCTTACCTTCCAGAAACGCGCAGACAGCCTGCAGATGATCGG
+CTATCAGGCATCCTTCACCGTTAATTAGCCCCACTTCATCTTCGTTATCTTTCGCGACGATAATTTTTCT
+GCCCGACTTAATAGCTTCAGTTGCACTGGAGATTGCGCCGGGAACGCCACGCAGAGCGCCTGTAAGCGCC
+AGTTCTCCGACTAATTCATATTCATCTAACTTATTGGCTGTAAGCTGTTCTGAGGCCGCCAGTAACGCAA
+TAGCGATAGGCAAATCATATCGTCCCCCTTCTTTTGGCAGATCGGCTGGAGCAAGGTTGATGGTGATTTT
+TTTCGCCGGATATTCATATCCGCTATTGATAATGGCGCTGCGCACGCGATCGCGAGCTTCTTTTACCGTT
+GTTTCTGGTAAGCCCACCATCGTTAAGCCTGGTAGACCTTTACTGATATGTACCTCAACAGTGATTGGGG
+GCGCATTTACTCCCAGGGCTGCGCGGGTATGAACAATTGACAGTGACATAAGCCCTCCTTGAGTCACCAT
+TATGTGCATAAGATATCGCTGCTGTAGCCCGCTAATTCGTGAATTTTAGTGGCTGATTCCTGTTTATTTG
+TGCAAGTGAAGTTGAGTTGTTCTGGCGGTGGAATGATGCTCGCAAAAATGCAGCGTGCAAAGGATGAACT
+ACGAGGAAGGGAACAACATTCATACTGAAATTGAATTTTTTTCACTCACTATTTTCTTTTTAAAAAACAA
+CAATTTCTCTTGAAATTATTAAAGACATCATAAAAATCGGCCAAAAAATATCTTGTGCTATTCGCAAAAT
+CTATGGTAACTCTTTAGGCATTCCTTCGAACAAGATGCAAGAAAAGACAAAATGACAGCCCTTCTACGAG
+TGATTAGCCTGGTCGTGATTAGCGTGGTGGTGATTATTATCCCACCGTGCGGGGCTGCACTTGGACGAGG
+AAAGGCTTAGAGATCAAGCCTTAACGAACTAAGACCCCCGCACCGAAAGGTCCGGGGGTTTTTTTTGACC
+TTAAAAACATAACTGAGGAGCAGACAATGAATAACAGCACAAAATTCTGTTTCTCAAGATTCAGGACGGG
+GAACTAACTATGAATGGCGCACAGTGGGTGGTACATGCGTTGCGGGCACAGGGTGTGAACACCGTTTTCG
+GTTATCCGGGTGGCGCAATTATGCCGGTTTACGATGCATTGTATGACGGTGGCGTGGAACACTTGCTGTG
+CCGACACGAGCAAGGTGCAGCAATGGCGGCTATCGGTTATGCCCGTGCTACCGGCAAAACTGGCGTTTGC
+ATCGCCACGTCTGGTCCAGGTGCAACCAACCTGATAACCGGGCTTGCGGACGCGCTGTTAGATTCCATCC
+CCGTTGTTGCTATCACCGGTCAGGTATCCGCACCGTTTATCGGCACTGACGCATTTCAGGAGGTGGATAT
+TCTGGGGTTGTCGTTAGCCTGCACCAAGCACAGTTTCCTGGTGCAATCACTGGAAGAGTTACCGCGTATC
+ATGGCCGAAGCGTTTGACGTCGCCAGCTCTGGTCGTCCTGGTCCGGTTTTGGTCGATATTCCAAAAGATA
+TCCAGTTAGCCAGCGGCGATCTGGAACCGTGGTTCACCACTGTTGAAAACGAAGTGACTTTCTCACATGC
+CGAAGTCGAGCAAGCGCGTCAGATGCTGGCAAAAGCGCAAAAACCGATGCTGTACGTTGGCGGTGGCGTG
+GGCATGGCGCAGGCAGTTTCGGCTTTGCGTGAATTTCTCGCTGCCACAAAAATGCCTGCCACCTGTACGT
+TGAAAGGGCTGGGCGCAGTAGAAGCAGATTATCCGTACTATCTGGGCATGCTGGGGATGCACGGCACCAA
+AGCGGCGAACTTCGCAGTGCAGGAGTGCGATCTACTGATCGCCGTGGGCGCACGTTTTGATGACCGGGTG
+ACCGGCAAACTGAACACCTTCGCACCACACGCCAGCGTTATCCATATGGATATCGATCCGGCAGAAATGA
+ACAAGCTGCGTCAGGCACATGTGGCATTACAGGGTGATTTAAATGCTCTGTTACCAGCATTACAGCAGCC
+GTTAAATATCGATGACTGGCAGCAACACTGCGCGCAACTGCGTGATGAACATGCCTGGCGTTACGACCAT
+CCTGGTGACGCTATCTACGCGCCGTTGTTGTTAAAACAACTGTCGGATCGTAAATCTGCGGATTGCATCG
+TGACCACAGATGTGGGGCAGCACCAGATGTGGGCTGCCCAGCACATCGTCCACACTCGCCCGGAAAACTT
+CATCACCTCCAGCGGCTTAGGCACCATGGGTTTCGGTTTACCGGCGGCGGTTGGCGCACAAGTCGCGCGA
+CCGAACGATACTGTCGTCTGTATCTCCGGTGACGGCTCTTTCATGATGAATGTGCAAGAACTGGGCACCG
+TAAAACGCAAGCAGTTACCGTTGAAAATCGTCTTACTCGATAACCAACGGTTAGGGATGGTTCGACAATG
+GCAGCAACTGTTTTTCCAGGAACGATACAGCGAAACTACCCTTACCGATAACCCCGATTTCCTCATGTTA
+GCCAGCGCCTTCGGCATCCCTGGCCAACACATCACCCATAAAGACCAGGTTGAAGCGGCACTCGACACCA
+TGCTGAACAGTGATGGGCCATACCTGCTTCATGTCTCAATCGACGAACTTGAGAACGTCTGGCCGCTGGT
+GCCGCCTGGTGCCAGTAATTCTGAAATGTTGGAGAAATTATCATGATGCAACATCAGGTCAATGTATCGG
+CTCGCTTCAATCCGGAAACCTTAGAACGTGTTTTACGCGTGGTGCGTCATCGTGGTTTCCACGTCTGCTC
+AATGAATATGGCCGCCGCCAGCGATGCACAAAATATAAATATCGAATTGACCGTTGCCAGCCCACGGTCG
+GTCGACTTACTGTTTAGTCAGTTAAATAAACTGGTGGACGTCGCACACGTTGCTATCTGCCAGAGCACAA
+CCACATCACAACAAATCCGCGCCTGAGCGCAAAAGGAATATAAAAATGACCACGAAGAAAGCTGATTACA
+TTTGGTTCAATGGGGAGATGGTTCGCTGGGAAGACGCGAAGGTGCATGTGATGTCGCACGCGCTGCACTA
+TGGCACCTCGGTTTTTGAAGGCATCCGTTGCTACGACTCGCACAAAGGACCGGTTGTATTCCGCCATCGT
+GAGCATATGCAGCGTCTGCATGACTCCGCCAAAATCTATCGTTTCCCGGTTTCGCAGAGCATTGATGAGC
+TGATGGAAGCTTGTCGCGACGTGATCCGCAAAAACAATCTCACCAGCGCCTATATCCGTCCGCTGATTTT
+CGTCGGTGATGTTGGCATGGGCGTAAACCCGCCAGCGGGATACTCAACCGATGTGATTATCGCCGCTTTC
+CCGTGGGGGGCGTATCTGGGCGCAGAAGCGCTGGAGCAGGGGATCGATGCGATGGTTTCCTCCTGGAACC
+GTGCTGCACCAAACACCATCCCAACCGCAGCGAAAGCTGGAGGTAACTACCTCTCTTCCCTGTTGGTGGG
+TAGCGAAGCGCGCCGCCACGGTTATCAGGAAGGTATCGCATTGGATGTGAATGGTTATATCTCTGAAGGC
+GCAGGAGAAAACCTGTTTGAAGTGAAAGACGGTGTGCTGTTCACTCCACCGTTCACCTCCTCCGCGCTGC
+CGGGTATTACCCGTGATGCCATCATCAAACTGGCGAAAGAGCTGGGAATTGAAGTGCATGAACAGGTGCT
+GTCGCGCGAATCCCTGTACCTGGCGGATGAAGTCTTTATGTCCGGTACGGCGGCAGAAATCACGCCAGTG
+CGCAGTGTAGATGGTATTCAGGTTGGTGAAGGCCGTTGCGGCCCGGTTACCAAACGCATTCAGCAAGCCT
+TCTTCGGCCTCTTCACTGGCGAGACCGAAGATAAATGGGGCTGGTTAGATCAAGTTAATCAATAAATACA
+AAAAATGGGACGGCACGCACCGTCCCATTTACGAGACAGACACTGGGAGTAAATAAAGTATGCCTAAGTA
+CCGTTCCGCCACCACCACTCATGGTCGTAATATGGCGGGTGCTCGTGCGCTGTGGCGCGCCACCGGAATG
+ACCGACGCCGATTTCGGTAAGCCGATTATCGCGGTTGTGAACTCGTTCACCCAATTTGTACCGGGTCACG
+TCCATCTACGCGATCTCGGTAAACTGGTTGCCGAACAAATTGAAGCGGCTGGCGGCGTTGCCAAAGAGTT
+CAACACCATTGCGGTGGATGATGGGATCGCTATGGGCCACGGGGGCATGCTTTATTCACTGCCATCTCGC
+GAACTGATCGCTGATTCCGTTGAATATATGGTCAACGCCCACTGCGCCGACGCCATGGTCTGCATCTCTA
+ACTGCGACAAAATCACCCCGGGGATGCTGATGGCTTCCCTGCGCCTGAATATTCCGGTGATCTTTGTTTC
+CGGCGGCCCGATGGAGGCCGGGAAAACCAAACTGTCCGATCAGATCATTAAGCTCGATCTGGTTGATGCG
+ATGATCCAGGGCGCAGACCCGAAAGTTTCTGACTCCCAGAGCGATCAGGTTGAACGATCCGCCTGCCCAA
+CCTGCGGTTCCTGCTCCGGGATGTTTACTGCTAACTCAATGAACTGCCTGACCGAAGCGCTGGGCCTGTC
+GCAGCCGGGCAACGGCTCGCTGCTGGCAACCCACGCTGATCGCAAGCAACTGTTCCTCAATGCTGGTAAA
+CGCATTGTTGAATTGACCAAACGTTACTACGAACAGGATGATGAAAGCGCACTGCCGCGTAACATCGCCA
+GTAAGGCGGCGTTTGAAAACGCCATGACGCTGGATATCGCGATGGGCGGCTCTACCAACACCGTTCTCCA
+CCTGCTGGCGGCGGCGCAGGAAGCGGAAATCGACTTCACCATGAGTGATATCGATAAGCTCTCCCGCAAA
+GTACCGCAGCTGTGTAAAGTTGCGCCGAGCACCCAAAAATACCATATGGAAGATGTTCACCGTGCTGGTG
+GTGTTATCGGTATTCTCGGCGAGCTGGATCGTGCGGGGTTACTGAACCGTGATGTGAAAAATGTACTTGG
+CCTGACGTTGCCGCAAACGCTGGAACAATACGACATCATCGTGACCCAGGATGATGCGGTAAAAAATATG
+TTCCGCGCTGGCCCGGCGGGCATTCGTACTACACAGGCATTCTCGCAGGATTGCCGCTGGGATACGCTGG
+ACGACGATCGCTCCAATGGCTGTATCCGCTCGCTGGAACACGCCTACAGCAAAGACGGCGGCCTGGCGGT
+GCTCTACGGTAATTTCGCAGAAAACGGCTGCATCGTTAAAACCGCAGGCGTCGATGACAGCATCCTCAAA
+TTCACTGGCCCGGCGAAAGTCTACGAAAGCCAGGACGACGCGGTAGAAGCGATTCTCGGCGGTAAAGTTG
+TCGCCGGAGATGTGGTAGTAATTCGCTATGAAGGCCCGAAAGGCGGTCCGGGGATGCAGGAAATGCTCTA
+CCCAACCAGTTTCCTGAAATCAATGGGTCTCGGTAAAGCCTGTGCGCTGATCACCGACGGTCGTTTCTCT
+GGCGGCACCTCTGGTCTTTCCATCGGCCACGTCTCACCGGAAGCGGCAAGTGGCGGCAGCATTGGCCTGA
+TTGAAGATGGTGACCTGATCGCTATCGACATTCCGAACCGTGGCATTCAGTTACAGGTAAGCGATGCCGA
+ACTGGCGGCGCGTCGTGAAGCGCAGGAAGCTCGTGGCAACAAAGCCTGGACACCGAAAAATCGTGAACGT
+CAGGTTTCCTTTGCGCTGCGTGCCTACGCCAGCCTGGCAACCAGCGCCGACAAAGGCGCGGTGCGTGATA
+AATCGAAACTGGGGGGTTAATGATGGCAGACTCACAACCTCTCTCCGGCGCCCCGGAAGGCGCCGAATAT
+TTAAGAGCGGTGCTGCGCGCGCCGGTCTACGAAGCGGCGCAGGTCACGCCGCTACAAAAAATGGAAAAAC
+TCTCGTCGCGTCTCGATAACGTGATTCTGGTGAAACGCGAAGACCGTCAGCCAGTGCACAGCTTTAAGCT
+GCGCGGCGCATACGCCATGATGGCGGGCCTGACGGAAGAACAGAAAGCGCACGGCGTGATCACCGCTTCT
+GCGGGTAACCACGCGCAGGGCGTCGCGTTTTCTTCCGCACGGTTAGGCGTGAAGGCACTGATCGTCATGC
+CAACCGCCACCGCCGATATCAAAGTCGACGCGGTGCGCGGCTTCGGCGGCGAAGTGCTTCTTCACGGCGC
+GAACTTTGATGAAGCAAAAGCGAAAGCGATCGAACTATCACAGCAGCAGGGCTTCACCTGGGTGCCGCCG
+TTCGACCATCCGATGGTGATCGCCGGGCAAGGCACGCTGGCGCTGGAACTGCTCCAGCAGGACGCCCATC
+TCGACCGCGTATTTGTGCCAGTCGGCGGCGGCGGTCTGGCGGCGGGCGTGGCGGTACTGATCAAACAACT
+GATGCCGCAAATCAAAGTGATTGCCGTGGAAGCGGAAGACTCCGCCTGCCTGAAAGCGGCGCTGAATGCA
+GGTCATCCGGTTGATCTGCCACGCGTGGGGCTGTTTGCCGAAGGTGTTGCGGTGAAACGCATCGGCGACG
+AAACCTTCCGTTTATGCCAGGAGTATCTCGACGACATCATCACCGTCGATAGCGATGCCATATGTGCGGC
+GATGAAAGACCTGTTCGAAGATGTGCGCGCGGTGGCGGAACCCTCTGGCGCGCTGGCACTGGCGGGAATG
+AAAAAATATATCGCCCAGCACAACATTCGCGGTGAGCGGCTGGCGCATATTCTTTCTGGTGCTAACGTGA
+ACTTTCACGGCCTGCGCTACGTCTCGGAACGTTGCGAACTGGGCGAACAGCGTGAAGCGTTGCTGGCGGT
+AACCATCCCGGAAGAGAAGGGCAGCTTCCTGAAGTTCTGCCAGCTGCTTGGCGGGCGCTCGGTCACCGAG
+TTCAACTACCGTTTTGCCGATGCCAAAAACGCCTGCATTTTTGTTGGTGTGCGCCTGAGCCGTGGTCTCG
+AAGAGCGCAAAGAAATTTTGCAGATGCTCAACGATGGCGGCTACAGCGTAGTGGATCTCTCCGACGACGA
+AATGGCGAAGCTGCATGTGCGCTATATGGTCGGCGGGCGTCCGTCGCATCCGTTGCAGGAACGCCTCTAC
+AGCTTCGAATTCCCGGAATCGCCGGGCGCGCTGTTGCGCTTCCTCAACACGCTGGGTACGCACTGGAACA
+TTTCTTTGTTCCACTATCGCAGCCATGGCACCGACTACGGGCGCGTACTGGCGGCGTTCGAGCTTGGCGA
+TCATGAACCGGATTTTGAAACCCGGCTGAATGAACTGGGCTACGATTGCCACGACGAAACCAATAACCCG
+GCGTTCAGGTTCTTTTTGGCGGGTTAGTGGTTCGGCAAAATCTTCCAGAACGCCTCAATCAGCGGCTCAT
+GTAGCCGCTTTTTCTGCACACACACGCCCAGTTCAAACGGCGTTTTTTCATCACTGCGCTCTAAAATCAT
+CACGCGGTTACGCACTGGTTCCGGGCTGTTTTCCAGCACCACTTCCGGCAACAAGGCCACGCCACAGCCG
+AGCGCTACCATCGATACCATCGCTTCATGCCCGCCGACCGTGGCGTAAATCATCGGGTTGCTGATTTTGT
+TGCGTCGAAACCACAGTTCAATGCGCCGGCGCACCGGTCCCTGATCGGCCATGATAAACGGCACTGTAGA
+CCAGTCCGGCTTCTCTGCCGAAACTTGGTTACGCACCGGGCAGGGTAGCGCGGGGGCAATCAGCACTACT
+GCCAGATTCTCCAGCATCGAAAACGCCACTGCGCCGGGCAGAGTCTCCGGTTTCCCGGCAATCGCCAGAT
+CCGCTTCGCCAGTGACTACCTTTTCCATCGCATCTGCCGCATCACCAGTCGTGAGTTTAATCTCCACCGA
+CGGGTGTTCCGCGCGGAAGCGATCGAGAATCGGCGGCAGATGGCTGTAGGCAGCGGTCACCGAGCAGAAG
+ATATGTAATTCGCCAGAGAGCGACGGTCCTTGCTGATCGATGGTGTGGCGCAGCTGTTGATACTGCAACA
+GCGTTTGCTGGGCGAAAACGCGCAGTTCTTCGCCTGCTTCGGTTAGCGTTACCGTGCGGTTATCGCGCAC
+AAACAGCGGCTGACCGAGATCGTCTTCCAGGCGCTGAATCTGCCGAGAGAGCGTGGACGGGCTAACGTGC
+ATTGCCCGCGCGCTGCGGCCAAAATGGCGGCTTTCCGCCAGATGCAGGAAGGTTTTCAGATCGCGTAAAT
+CCAATGGCGCAGCCCTCAATGTTGACGTTGCAGAAATTGCAATGTGACGTTGTGAATATATCAATTTCCG
+CAATAAATTTCCTGTCATATAGTGAATCCAATCTCGCAAACGCGAACCGAACAATAAGAAGCACAACATC
+ACGAGGAATCACCATGGCTAACTACTTCAATACACTGAATCTGCGCCAGCAGTTGGCACAGCTGGGCAAA
+TGTCGCTTTATGGGGCGCGATGAATTCGCCGATGGCGCGAGCTACCTTCAGGGTAAAAAAGTAGTCATCG
+TCGGCTGTGGCGCACAGGGTCTGAACCAGGGCCTGAACATGCGTGATTCTGGTCTCGATATCTCCTACGC
+TCTGCGTAAAGAAGCGATTGCTGAGAAGCGCGCATCCTGGCGTAAAGCAACCGAAAATGGTTTTAAAGTG
+GGTACTTACGAAGAACTGATCCCGCAGGCGGATCTGGTGGTTAACCTGACGCCGGACAAGCAGCACTCTG
+ATGTAGTGCGCACCGTACAGCCACTGATGAAAGACGGCGCGGCGCTGGGCTACTCTCATGGTTTTAATAT
+CGTAGAAGTGGGTGAGCAGATCCGTAAAGACATCACCGTCGTAATGGTTGCGCCGAAATGCCCTGGCACC
+GAAGTACGTGAAGAGTACAAACGTGGATTCGGCGTACCGACGCTGATTGCCGTTCACCCGGAAAACGATC
+CGAAAGGCGAAGGCATGGCGATCGCTAAAGCATGGGCAGCTGCAACCGGCGGTCACCGTGCGGGCGTTCT
+GGAATCCTCTTTCGTTGCGGAAGTGAAATCTGACCTGATGGGCGAGCAAACCATCCTGTGCGGTATGTTG
+CAAGCTGGTTCTCTGCTGTGCTTCGACAAGCTGGTGGAAGAAGGCACCGATCCGGCATACGCAGAAAAAC
+TGATTCAGTTCGGTTGGGAAACCATCACCGAAGCGCTGAAACAGGGCGGCATCACCCTGATGATGGACCG
+TCTTTCTAACCCGGCGAAACTGCGTGCTTACGCGCTCTCTGAGCAACTGAAAGAGATCATGGCGCCGCTG
+TTCCAGAAACATATGGACGACATTATCTCCGGCGAATTCTCCTCCGGCATGATGGCTGACTGGGCCAACG
+ACGATAAGAAACTGCTGACCTGGCGTGAAGAGACTGGCAAAACCGCATTCGAAACCGCGCCGCAGTATGA
+AGGCAAAATCGGCGAACAGGAGTACTTCGATAAAGGCGTACTGATGATCGCGATGGTAAAAGCAGGCGTT
+GAGTTGGCGTTTGAAACCATGGTTGATTCCGGCATCATCGAAGAATCTGCTTACTATGAATCACTGCACG
+AACTGCCGCTGATTGCCAACACCATCGCCCGTAAGCGTCTGTACGAAATGAACGTGGTTATCTCCGATAC
+TGCCGAGTACGGTAACTATCTGTTCTCTTACGCTTGTGTGCCGCTGCTGAAACCGTTTATGGCAGAGCTG
+CAACCGGGCGACCTGGGTAAAGCTATTCCGGAAGGTGCGGTAGATAACGCGCAGCTGCGTGATGTAAATG
+AAGCGATTCGCAGCCATGCGATTGAGCAGGTAGGTAAGAAACTGCGCGGCTATATGACGGATATGAAACG
+TATTGCTGTTGCGGGTTAATAGCGATTCAGAGTTCAAGGCCTTCTCCCGGAGAAGGCCTTTCTGTTAGTT
+ACGGTACAGCACTTTAATGATGTGGTAACCGAACTGGGTATGCAGCGGGCCGGTTGGCTCCAGTACCGGA
+CAAGAGAAAACCACTTTATCGAACGCCGGAACCATTTGACCCTGGCGGAATTCACCCAAATCACCGCCGC
+GTTTGCCTGACGGGCAAATGGAGTGTTTCTTCGCCAGCTTGCCGAAATCGGCACCATTCTTGATCTGCTC
+GAGAAGATCCAGAGCCAGTTTCTCTTCTTTTACAAGGATATGCAGTGCTGCTGCTGTTTTTGCCATGATC
+GTGCCTTGAGTGGTAAGGATGAGGCTGGCTATACTACCACGCTGTTATTTTCCCCTCCCGACTTTCATTG
+AGCGATTTTCCTATGCGTCTAAACCCCGGCCAACAACAAGCTGTCGAATTCGTTACCGGCCCCTGCCTGG
+TGCTGGCGGGTGCGGGTTCCGGTAAGACGCGAGTGATCACCAATAAAATCGCTCACCTGATTCGCGGTTG
+CGGTTATCAGGCGCGGCATATTGCGGCAGTCACCTTTACCAACAAAGCGGCGCGCGAGATGAAAGAGCGT
+GTGGCGCAGACGCTGGGGCGCAAAGAGGCGCGAGGGTTGATGATCTCCACCTTCCACACGCTTGGGCTGG
+ATATTATCAAGCGCGAATATGCGGCGTTGGGGATGAAGTCTAACTTTTCGCTGTTTGACGATACCGATCA
+GCTTGCTTTGCTTAAAGAGTTGACCGAGGGGCTGATTGAAGATGACAAAGTTCTCCTGCAACAGCTAATT
+TCGACCATCTCCAACTGGAAGAACGATCTCAAAACACCGGCGCAGGCGGCGGCAGAGGCAAAGGGCGAGC
+GGGACCGTATTTTTGCCCATTGTTATGGGCTGTATGATGCACACCTGAAAGCCTGTAACGTTCTCGACTT
+CGATGATCTGATTTTATTGCCAACGTTGCTGCTGCAACGCAATGAAGAAGTCCGCGAGCGCTGGCAGAAC
+AAAATTCGCTACCTGCTGGTGGATGAGTATCAGGACACCAACACCAGCCAGTATGAACTGGTGAAACTGC
+TGGTGGGCAGCCGCGCGCGCTTTACCGTGGTGGGTGACGATGACCAGTCGATCTACTCCTGGCGCGGCGC
+ACGTCCGCAGAATCTGGTGCTGCTGAGCCAGGATTTTCCGGCGCTGAAGGTGATTAAGCTTGAGCAGAAC
+TACCGCTCTTCCGGACGTATTTTGAAAGCGGCGAACATCCTGATCGCCAATAACCCGCACGTCTTTGAAA
+AGCGTCTGTTCTCCGAACTGGGTTACGGCACAGAGCTAAAAGTTTTAAGCGCGAATAACGAGGAACATGA
+AGCCGAGCGCGTCACCGGCGAGCTGATCGCCCATCACTTCGTCAATAAAACGCAGTACAAAGATTACGCC
+ATTCTTTATCGCGGCAACCATCAGTCGCGGGTATTTGAAAAATTCCTGATGCAAAACCGCATCCCGTACA
+AAATATCTGGCGGTACGTCGTTTTTCTCTCGTCCTGAAATCAAGGACTTGCTGGCTTATCTGCGCGTGCT
+GACTAACCCGGACGATGACAGCGCATTTCTGCGTATCGTTAACACGCCGAAGCGAGAGATTGGCCCGGCG
+ACGCTGAAAAAGCTAGGTGAATGGGCGATGACGCGCAATAAAAGCATGTTTACCGCCAGCTTTGATATGG
+GCCTGAGTCAGACGCTTAGCGGACGTGGTTATGAAGCATTGACCCGCTTCACTCACTGGCTGGCAGAAAT
+CCAGCGTCTGGCGGAGCGGGAGCCGATTGCCGCGGTGCGCGATCTGATCCACGGCATGGATTATGAATCC
+TGGCTGTACGAAACATCGCCCAGCCCGAAAGCTGCCGAAATGCGCATGAAGAACGTCAACCAACTGTTTA
+GCTGGATGACGGAGATGCTGGAAGGCTGCGAACTGGATGAGCCGATGACGCTCACCCAGGTGGTGACGCG
+CTTTACTCTGCGCGACATGATGGAGCGCGGCGAGAGCGAGGAAGAGCTGGATCAGGTGCAACTGATGACC
+CTGCACGCGTCAAAAGGACTGGAGTTTCCTTATGTTTACATGGTCGGTATGGAAGAAGGATTTCTGCCGC
+ACCAGAGCAGTATCGATGAAGATAATATCGATGAGGAGCGGCGGCTGGCCTATGTCGGCATTACCCGCGC
+CCAGAAGGAATTGACCTTTACGCTGTGTAAAGAACGCCGTCAGTACGGCGAACTGGTGCGCCCGGAGCCG
+AGCCGCTTCCTGCTGGAGCTGCCGCAGGATGATTTGATTTGGGAACAGGAGCGCAAAGTGGTCAGCGCCG
+AAGAACGGATGCTGAAAGGGCAAAGTCATTTGGCAAATCTGAAAGCGATGATGGCAGCAAAACGAGGGAA
+ATAATCAAGGCCGGAAAAGATGTGTCAGCATCGCATCCGGCACTTACTCATTAATGCACTTCCAGCGGCC
+AGTGGACATAGCTCTGCCACTGGCTTTCCTGATCAATAATCTCTTTACCCAGCGGATGTTGGGTTAGCCA
+ACCTTGCGGAAGCGTCAAGGTCAACAGTTCATGGTTAGCCTGTAATGTCATCTCTGGCACGAGATCGTCA
+CGGCGACGGCTGGCAAAAATGATAGCCAGGCGGAGTAAACGGCAGAGTTGTTCTGCGACGCGCGGTGGTA
+CGGCATTTTGCTGATGCAGCGATGAGAGATCGACCGGATTAGTCTGGTTGAGCAGTAGCGTCGCCAGCAG
+TTTTTTCTGTGCGGGGGTAAAACCGGGAAGATCCAGATTACGTACCAGATAAGCAGCGTGTTGCGGCGCT
+TGTTTGAAGTCAACGCTCAGGCCGATTTCATGAAGCTGACAGGCGCTGATGAGCAAATCGCGGCTTATTG
+CTTCAAGATGCCATTCATTTTCCACCTGATCGTAGAAGTTAGCCGCAACTTTGGCTACGCGCTGTGCCTG
+ATCAATATCGATCATAAAGCGGCGCTGAATATTACGCAGCGTACGGCTGCGAATATCCTGCTCGACGGTA
+AGATGCAACATACCGTAGACCAGGCCTTCACGCAGCGCACCGCCCGCCAGGGTCATACACTGAATATTCA
+GTTCGGTAAAAAATGGCTATCAGGATCGCCAGACCACTCGGGAACACTAACGCACGTTCCAGCGTCAGCC
+CGTCAATCTCTAGCTCTTCCAGCCGACCGCAATGAATGGCGCGTTGTTTCAGTTGCTGCAACTTTTCCAG
+GGTAATGCGTTCATCCATCCCCTGTGCCATCATGATTTCCTGTAACGCCTGCACGGTGCCGGAAGCGCCA
+ACGCACACTTTCCAGCCGTGATACCGTAATTCATCGGCAACCGGACGTAACACTTCGCGTGCCGCTTTTT
+CTGCAGCATCAAAATTTTCCTGCCCCAGATTACGATCGGCAAAATAGCGTTCCAGCCAGGTAACGCAGCC
+CATCGACAGGCTGAACAAAGAGGTGGTTTGTGCACCCGTGCCGGTTACCAGTTCAGTACTGGCTCCGCCG
+ATATCCACCACCAGGCGCTGATCGGCACCGCCAGTGGTGTGAGCAACGCCCTGATAAATCAGACGCGCTT
+CCTCTTCACCGCTGATCACCTGTACCGGACAACCGAGGATTTCCTGCGCTTTGGCAATAAAATCACCCGC
+ATTGACGGCAAGTCGTAATGTCGCTGTAGCGACAACGCGAATTTGCGAGGGAGGGATATCTTGCAGACGT
+TCAGCAAACAGGCGCAGACATTGCCAACCGCGCTCCATTGCTTCATTAGACAGGGCATTTTCGCTATTCA
+GGCCGGCAGCCAGACGCACTTTGCGTTTTATTCGCGTCAGCGTCTGGATGCTTCCAGCCACCTCGCGCAC
+AACCAGCATATGAAAACTATTCGAACCGAGATCAATGGCTGCATACAGCGACGAGGTGGAACCCATACTC
+TTCATCCTTCAATCTGTCTCTGCGTTGGCTGCATTCCTTCACCTGAATCACTTACGACAGTAAGCGCATC
+GGGATTCATTCTCTTGCCATCTTGATACAGCTTGAATGATTTGGAGTATGACATTTTTTCTTTAACCTGA
+ACGACGACGATTACGCGGAGCGCCAGTACGACGCGGACCATTGCCTGTGCGCGGGCGCGTGAGGCGCAGC
+GGTTTTGGCAGATCGGTCATCAATGCGTCCGGATTGTATTTACTTACCGGAATTGAGTGACCAATATAGG
+TCTCAATAGCAGGCAAATTCAATGCATACTCTTCACACGCCAGGCTAATAGAGTGACCGCTTGCGCCTGC
+GCGACCTGTACGACCAATACGGTGAACGTAATCTTCACAGTCATCGGGTAAATCGTAGTTAAAGACGTGT
+GTCACAGCAGGAATATGCAAACCACGCGCGGCAACGTCGGTGGCAACCAGAATATCCAGATCGCCACGGG
+TAAATTCATCAAGAATACGCAGACGTTTTTTCTGCGCGACATCGCCTGTCAATAAACCGACACGATGACC
+ATCTGCCGCCAGGTGGCCCCAGATCTCTTCACAACGGTGTTTGGTGTTGGCGAAAATAATCGCTCTGTCT
+GGCCACTCTTCTTCGATCAGCGTTTGCAGCAAACGCATTTTTTCTTCGTTAGAAGGGTAGAAAAGCTCTT
+CTTTAATACGGTGGCCCGTTTTCTGTTCCGGTTCCACTTCAATATATTCGGCATTGTTCATCTGCTCGAA
+CGCCAGTTCACGTACCCGGTACGAAAGCGTGGCGGAGAACAGCATGTTGAGGCGCTGGTTTGCAGGCGGC
+ATACGGCGGAACAGCCAGCGGATATCTTTAATAAAGCCCAGATCGTACATGCGATCGGCTTCGTCCAGTA
+CCACCACCTGAATGGCACCGAGGTTAATGTGGTTCTGCTTGGCGTAGTCAATTAAACGACCCGTGGTGCC
+AATCAGAATGTCAACGCCGCTTTCCAGCACTTTCAGCTGTTTGTCGTAGCCATCACCACCGTAAGCCAGA
+CCCAGCTTCAGGCCGGTAGCTTCCGCCAGCGGTTCCGCGTCGGCGTGGATCTGCACGGCAAGTTCACGCG
+TCGGTGCCATAATTAAGGCACGCGGCTGATTCACCTTGCGATCGGCAATCGCGGGATGAGAGAGAAGATA
+ATGAAACGTTGACGTAAGAAACGCCATCGTTTTCCCGGTACCGGTTTGCGCCTGCCCGGCTACGTCACGA
+CCCGCCAGCGTCAGCGGAAGGGCCAGTGCCTGAATGGGCGTACAGTTATGAAACCCTTTTTTTTCAAGGG
+CTTCTACAACCTTCGGATGCAGGGCGAAGTCGGAAAACTTCTGTTCTGTTAAATGTGTTTTGCTCATAGT
+GTGGTAGAATATCAGCTTACTATTGCTTTACGAAAGCGTATCCGGTGAAATAAAGTCAACCTTTAGTTGG
+TTAATGTTACACCAACAACGAAACCAACACGCCAGGCTTATTCCTGTGGAGTTATATATGAGCGATAAAA
+TTATTCACCTGACTGACGACAGTTTTGACACGGATGTACTCAAAGCGGACGGGGCGATCCTCGTCGATTT
+CTGGGCAGAGTGGTGCGGTCCGTGCAAAATGATCGCCCCGATTCTGGATGAAATCGCTGACGAATATCAG
+GGCAAACTGACCGTTGCAAAACTGAACATCGATCAAAACCCTGGCACTGCGCCGAAATATGGCATCCGTG
+GTATCCCGACTCTGCTGCTGTTCAAAAACGGTGAAGTGGCGGCAACCAAAGTGGGCGCACTGTCTAAAGG
+TCAGTTGAAAGAGTTCCTCGACGCTAACCTGGCGTAAGGGAATTTCATGTTCGGGTGCCCCGTCGCTAAA
+AACTGGACGCCCGGCGTGAGTCATGCTAACTTAGTGTTGACTTCGTATTAAACATACCTTATTAAGTTTG
+AATCTTGTAATTTCCAACGCTTCCCGTTTTATCTTAAATGCGAAGTGAACAGATTTCTGGCTCGTCACTC
+AATCCGTCTTGTCGTTTCAGTTCTGCGTACTCTCCTGTGACCAGGCAGCGAAAAGACATGAGTCGATGAC
+CGTAAACAGGCATGGATGATCCTGCCATACCATTCACAACATTAAGTTCGAGATTTACCCCAAGTTTAAG
+AACTCACACCACTATGAATCTTACCGAATTAAAGAATACGCCGGTTTCTGAGCTGATCACTCTCGGCGAA
+AATATGGGGCTGGAAAACCTGGCTCGTATGCGTAAGCAGGACATTATTTTTGCCATCCTGAAGCAGCACG
+CAAAGAGTGGCGAAGATATCTTTGGTGATGGCGTACTGGAGATATTGCAGGATGGATTTGGTTTCCTCCG
+TTCCGCAGACAGCTCCTACCTCGCCGGTCCTGATGACATCTACGTTTCCCCTAGCCAAATCCGCCGTTTC
+AACCTCCGCACTGGTGATACCATCTCTGGTAAGATTCGCCCGCCGAAAGAAGGTGAACGCTATTTTGCGC
+TGCTGAAAGTTAACGAAGTTAACTTCGACAAACCTGAAAACGCCCGCAACAAAATCCTCTTTGAGAACTT
+AACCCCGCTGCACGCAAACTCTCGTCTGCGTATGGAACGTGGTAACGGTTCTACGGAAGATTTAACCGCT
+CGCGTACTGGATCTGGCATCACCTATCGGTCGTGGTCAGCGTGGTCTGATTGTGGCACCGCCGAAAGCCG
+GTAAAACCATGCTGCTGCAGAACATTGCTCAGAGCATTGCTTACAACCACCCGGATTGTGTGCTGATGGT
+TCTGCTGATCGACGAACGTCCGGAAGAAGTAACCGAGATGCAGCGACTGGTAAAAGGTGAAGTTGTTGCT
+TCTACCTTTGACGAACCCGCATCTCGCCACGTTCAGGTTGCGGAAATGGTGATCGAGAAGGCGAAACGCC
+TGGTTGAGCACAAGAAAGACGTTATCATTCTGCTCGACTCCATCACGCGTCTGGCGCGCGCTTACAACAC
+CGTTGTTCCGGCGTCAGGTAAAGTGTTGACCGGTGGTGTGGACGCCAACGCCCTGCATCGTCCGAAACGC
+TTCTTCGGTGCGGCGCGTAACGTGGAAGAGGGCGGCAGCCTGACCATTATCGCGACGGCGCTTATCGATA
+CCGGTTCTAAAATGGACGAAGTTATCTACGAAGAGTTTAAAGGTACAGGCAATATGGAACTGCACCTCTC
+TCGTAAGATCGCTGAAAAACGCGTCTTCCCGGCTATCGACTACAACCGTTCCGGTACCCGTAAAGAAGAG
+CTGCTCACGACTCAGGAAGAACTGCAGAAAATGTGGATCCTGCGCAAAATCATTCACCCGATGGGCGAAA
+TCGATGCAATGGAATTCCTCATTAATAAACTGGCAATGACCAAGACCAATGACGATTTCTTCGAAATGAT
+GAAACGCTCATAAATTTGTCTTATGCCAAAAACGCCACGTGTTTACGTGGCGTTTTGCTTTTATATCTGT
+AATCTTAATGCCGCGCTGGCGATGCTAGGAAAATTCCTGGAATTTGCTGGTGTGTTATGCAATTTGCATA
+TCAAATGGTTAATTTTTGCACAGGACTGGTGGGTTCGGAACGGACTTTCCCTTCTGAATAAAGGTCTTCG
+TGGTTATACTTCTGCTAATAATTTTCTCTGAGAGCATGCATTGTGAATTTACTGACAGTGAGTACTGATC
+TCATCAGTATTTTTTTATTCACGACACTGTTTCTGTTTTTTGCCCGTAAGGTGGCAAAAAAAGTCGGTTT
+AGTGGATAAACCAAACTTCCGCAAACGTCACCAGGGATTGATACCTCTCGTTGGGGGGATTTCGGTTTAC
+GCAGGGATTTGCTTCACGTTCGGAATTGTTGATTACTATATTCCGCATGCATCTCTCTATCTCGCTTGTG
+CTGGTGTGCTTGTTTTCATTGGCGCGGTGGATGACCGTTTTGATATCAGCGTAAAAATCCGTGCCACCAT
+ACAGGCCGCTGTTGGCATTGTTATGATGGTGTTCGGCAAACTTTATCTCAGTAGCCTGGGTTATATCTTT
+GGCTCCTGGGAGATGGTGCTCGGACCGTTTGGTTACTTCCTGACGCTATTTGCCGTCTGGGCGGCCATTA
+ATGCGTTCAACATGGTTGATGGCATTGATGGCTTGCTGGGCGGGTTGTCCTGCGTCTCGTTTGCAGCAAT
+CGGTATGATTTTGTTGTTCGACGGGCAAACCAGTCTCGCAATCTGGTGCTTTGCGATGATCGCCGCCATC
+CTGCCATACATCATGCTTAACCTTGGTATACTGGGTCGCCGCTACAAAGTCTTTATGGGGGATGCGGGCA
+GTACGCTGATTGGTTTTACCGTGATCTGGATCCTGCTCGAAACGACCCAGGGCAAAACTCATCCCATCAG
+CCCGGTTACCGCTTTGTGGATTATCGCCATTCCGCTAATGGATATGGTGGCGATTATGTACCGTCGCCTG
+CGTAAAGGCATGAGCCCATTCTCTCCTGACCGTCAGCATATTCACCATTTGATCATGCGTGCCGGGTTTA
+CTTCCCGCCAGGCGTTTGTGCTGATTACCCTTGCCGCAGCACTGCTCGCTTCCATTGGCGTGCTGGCAGA
+ATATTCTCATTTTGTCCCGGAGTGGGTCATGCTGGTGCTCTTTTTGCTAGCATTCTTCCTCTATGGATAT
+TGCATTAAGCGTGCCTGGAAAGTTGCTCGCTTTATTAAGCGCGTAAAACGCAGACTGCGTAGAAATCGTG
+GTGGCAGCCCCAATTTAACCAAATAAATGAGGATGTGATGACACAACCAATGCCTGGGAAACCGGCCGAA
+GACGCTGAAAATGAACTGGATATTCGTGGGTTGTTTCGTACCTTGTGGGCTGGGAAGCTATGGATTATTG
+GCATGGGGCTGGCGTTTGCGTTAATCGCGCTGGCGTATACTTTTTTTGCTCGTCAGGAGTGGAGCTCGAC
+GGCGATTACCGATCGTCCAACGGTGAATATGCTGGGGGGATATTACTCACAGCAGCAATTTTTGCGTAAC
+CTGGATGTCCGTTCAAACATGGCTTCTGCCGACCAACCATCGGTCATGGACGAAGCCTATAAAGAGTTTG
+TTATGCAACTGGCCTCGTGGGATACCCGCAGAGAGTTCTGGCTGCAAACCGACTATTACAAGCAGCGGAT
+GGTGGGCAACAGCAAAGCAGATGCGGCGTTGCTGGATGAAATGATCAACAACATCGTGTTTATTCCCGGT
+GACTTCACCCGCGCGGTCAATGACAGCGTGAAGCTGATTGCCGAAACTGCGCCTGACGCTAATAACCTGT
+TACGTCAGTATGTTGCTTTTGCCAGCCAGCGTGCAGCCAGCCATCTGAATGATGAGCTGAAAGGCGCATG
+GGCGGCACGCACCATCCAGATGAAAGCTCAGGTGAAGCGTCAGGAAGAGGTGGCGAAAGCCATCTACGAT
+CGCCGGATGAACAGTATTGAACAGGCGCTGAAAATTGCTGAGCAGCATAATATTTCGCGCAGTGCGACAG
+ATGTGCCTGCCGAGGAATTACCTGATTCAGAAATGTTCCTGCTTGGGCGTCCAATGCTCCAGGCTCGACT
+GGAAAATTTACAGGCCGTCGGTCCGGCCTTTGATCTCGACTATGATCAGAATCGGGCCATGTTAAACACC
+CTGAATGTTGGTCCAACCCTGGATCCGCGTTTTCAGACCTATCGCTATTTGCGTACGCCGGAAGAACCGG
+TAAAACGCGATAGCCCACGTCGTGCCTTCATGATGATTATGTGGGGCATTGTCGGGGGACTGATCGGGGC
+TGGTGTCGCATTAACCCGCCGTTGCTCGAAATAGCAACACTGCTGCGGTGAGCGCAAAGGCGCTCGCCGC
+TTATTCGAAGAGAATCGATGTGAAAGTACTGACTGTATTTGGTACGCGCCCGGAAGCCATCAAGATGGCG
+CCGTTGGTGCATGCGTTGGCAAAAGATCCTTTTTTTGAGGCTAAAGTTTGCGTCACTGCGCAGCATCGGG
+AGATGCTCGATCAGGTGCTGAAACTCTTTTCCATTGTACCTGACTACGATCTCAACATAATGCAGCCAGG
+ACAGGGCCTTACAGAGATAACCTGTCGGATTCTGGAAGGGCTAAAACCTATTCTTGCCGAGTTCAAACCA
+GATGTCGTGCTGGTTCACGGCGATACTACGACGACGCTGGCAACCAGCCTGGCGGCGTTTTATCAGCGTA
+TTCCTGTTGGTCACGTTGAGGCTGGTCTGCGCACGGGCGATCTCTATTCGCCGTGGCCGGAAGAGGCTAA
+CCGTACATTGACCGGGCATCTGGCGATGTATCACTTCTCTCCAACCGAAACTTCCCGGCAAAACTTGCTG
+CGTGAAAACGTTGCGGATAGCCGAATCTTCATTACCGGTAATACAGTTATTGATGCACTGTTATGGGTGC
+GTGACCAGGTGATGAGCAGCGATACGCTGCGTTCAGAACTGGCGGCAAATTACCCGTTTATCGATCCCGA
+TAAAAAGATGATTCTGGTGACCGGTCACAGGCGTGAGAGCTTCGGTCGTGGTTTTGAAGAAATCTGCCAT
+GCGCTGGCAGACATCGCCACCACGCACCAGGACATCCAGATTGTCTATCCGGTGCATCTCAACCCGAACG
+TCAGAGAGCCGGTCAATCGCATTCTGGGGCATGTGAAAAATGTCATTCTGATCGATCCCCAGGAGTATTT
+ACCGTTTGTCTGGCTGATGAACCACGCCTGGCTGATTTTGACCGACTCAGGCGGCATTCAGGAAGAAGCG
+CCTTCGCTGGGGAAACCGGTGCTGGTGATGCGCGATACCACTGAGCGTCCGGAAGCGGTGACGGCGGGTA
+CGGTGCGTCTGGTCGGCACGGATAAGCAGCGAATTGTCGAGGAAGTGACGCGTCTTTTAAAAGACGAAAA
+CGAATATCAAGCTATGAGCCGCGCCCATAACCCGTATGGTGATGGTCAGGCATGCTCTCGCATTCTGGAA
+GCGTTAAAAAATAATCGGATATCACTATGAGTTTTGCGACCATTTCTGTTATCGGACTGGGTTACATCGG
+GTTGCCTACAGCAGCTGCGTTTGCCTCAAGGCAAAAACAGGTGATTGGTGTCGATATCAACCAACACGCG
+GTTGATACCATCAATCGTGGCGAAATCCATATCGTCGAGCCTGATTTGGCGAGCGTAGTAAAAACTGCCG
+TAGAAGGCGGTTTTTTACGAGCGAGCACGACGCCAAGTTGAAGCGGATGCCTGGTTGATTGCTGTACCGA
+CGCCGTTTAAAGGCGATCATGAGCCAGATATGACGTACGTCGAATCGGCTGCCCGCTCCATCGCGCCAGT
+GTTGAAAAAAGGCGCTTTGGTGATCCTTGAATCCACCTCGCCGGTGGGGTCAACCGAGAAGATGGCAGAA
+TGGTTAGCAGAGATGCGTCCAGATCTCACTTTCCCACAGCAGGTGGGCGAGTTGGCGGACGTCAACATTG
+CTTACTGCCCGGAACGCGTATTACCGGGCCAGGTTATGGTCGAGCTGATTAAAAACGATCGCGTGATTGG
+TGGTATGACGCCGGTTTGTTCGGCCCGCGCCAGCGAACTGTACAAAATTTTCCTCGAAGGTGAGTGTGTC
+GTCACTAACTCGCGGACGGCGGAAATGTGTAAGCTCACCGAAAACAGCTTCCGCGATGTGAATATCGCTT
+TTGCTAATGAATTGTCGCTGATTTGTGCCGATCAGGGGATTAACGTCTGGGAACTGATTCGCCTGGCGAA
+TCGTCACCCTCGCGTCAATATTCTTCAGCCAGGCCCTGGCGTGGGCGGTCACTGCATCGCTGTTGATCCG
+TGGTTTATCGTGGCACAGAACCCCCAGCAGGCGCGGCTTATCCGTACCGCGCGCGAAGTGAACGATCACA
+AACCGTTCTGGGTTATCGATCAGGTGAAAGCGGCGGTGGCTGATTGTCTGGCTGCTACCGATAAACGCGC
+CAGTGAACTGAAAATCGCCTGCTTTGGTCTGGCGTTTAAACCGAATATTGATGACCTGCGCGAAAGTCCG
+GCAATGGAAATCGCTGAACTGATCGCCCGGTGGCACAGCGGCGAAACGCTGGTTGTTGAGCCTAACATCC
+ACCAGTTGCCGAAGAAACTGACCGGGCTTTGTACTCTGGCGCAGCTTGACGAGGCGCTGGCAACGGCAGA
+TGTGCTGGTGATGCTGGTCGATCATAGTCAGTTCAAAGTTATCAATGGCGACAACGTCCATCAGCAGTAT
+GTCGTCGATGCCAAAGGAGTCTGGCGCTGATGAGAAAGATTCTGATAACAGGTGGTGCCGGGTTTATTGG
+CTCGGCGCTGGTGCGTTATATCATCAACGAAACGAGCGACGCGGTGGTGGTGGTCGATAAGCTGACCTAC
+GCCGGAAACCTGATGTCTCTGGCACCGGTCGCGCAAAGCGAGCGCTTTGCCTTTGAGAAAGTTGATATCT
+GCGATCGGGCAGAACTGGCGCGCGTATTCACTGAGTATCAGCCAGACTGTGTCATGCATCTGGCAGCCGA
+AAGCCATGTTGACCGTTCTATTGACGGCCCGGCAGCGTTTATTGAAACCAACATTGTCGGGACTTATACA
+CTGCTTGAAGCGGCGCGGGCTTACTGGAATGTGCTGACGGAAGATAAAAAATCAGCGTTCCGTTTTCATC
+ATATCTCCACCGACGAAGTATATGGTGACCTGCACTCGACGGATGATTTCTTCACCGAAACCACGCCGTA
+TGCGCCGAGCAGCCCTTATTCCGCGTCAAAAGCCAGCAGCGACCATCTGGTGCGCGCCTGGCTGCGGACC
+TATGGTTTGCCGACGCTTATCACCAACTGCTCGAATAACTACGGTCCTTACCACTTTCCGGAAAAACTGA
+TCCCGCTGATGATCCTCAACGCGCTGGCGGGTAAACCGCTGCCGGTATATGGCAACGGGCAGCAAATCCG
+TGACTGGCTGTATGTTGAAGATCACGCCCGCGCGCTGTATTGCGTGGCGACCACAGGGAAAGTCGGTGAA
+ACCTATAATATTGGTGGTCACAACGAGCGTAAGAATCTCGATGTTGTGGAAACCATTTGCGAGCTGCTGG
+AAGAACTGGCTCCTAATAAGCCGCACGGCGTGGCGCACTATCGTGACCTGATCACCTTTGTCGCTGACCG
+TCCGGGGCATGATCTGCGTTATGCCATTGATGCTTCGAAAATTGCCCGTGAACTTGGCTGGCTGCCGCAG
+GAAACCTTTGAAAGTGGAATGCGTAAAACGGTGCAGTGGTATCTGGCTAATGAAAGCTGGTGTAAGCAGG
+TGCAGGACGGCAGCTATCAGGGCGAGCGTTTAGGTCTGAAAGGCTAATTTTCAGCGGAGGCAAACATGAA
+AGGTATTATCCTGGCGGGCGGTTCCGGCACCCGATTGCATCCGATTACGCGCGGCGTATCGAAGCAACTG
+TTGCCGATTTACGATAAGCCAATGATTTACTATCCGCTGTCGGTGCTGATGTTGGCCGGTATCCGCGAAA
+TTCTCATCATCACTACGCCGGAAGATAAAGGTTATTTCCAGCGCCTGCTGGGCGATGGTAGTGAGTTCGG
+TATCCAGCTGGAATACGCCGAACAGCCCAGTCCGGGCGGTCTGGCGCAGGCCTTTATCATCGGTGAAACC
+TTCCTCAACGGTGAACCTTCTTGTCTGGTGCTGGGCGATAACATCTTCTTCGGACAGGGCTTCAGTCCGA
+AGCTGCGTCATGTTGCGGCGCGCACGGAAGGGGCGACGGTATTTGGCTATCAGGTGATGGACCCGGAACG
+CTTTGGCGTGGTGGAGTTTGACGACAATTTCCGCGCTATCTCGCTGGAAGAAAAACCAAAACAGCCGAAA
+TCAAACTGGGCGGTGACCGGGCTTTATTTCTACGACAGTAAAGTCGTGGAGTACGCAAAGCAGGTGAAGC
+CGTCGGAGCGTGGTGAACTGGAGATTACCTCCATCAACCAGATGTACCTCGAGGCGGGCAACCTGACCGT
+TGAACTGCTCGGGCGCGGATTTGCCTGGCTGGATACCGGCACTCACGACAGCCTGATTGAGGCCAGCACT
+TTTGTGCAGACAGTAGAAAAACGCCAGGGCTTTAAGATTGCCTGCCTGGAAGAGATTGCCTGGCGTAACG
+GCTGGCTCGATGACGAGGGTGTGAAGCGTGCTGCCAGTTCATTAGCGAAAACTGGCTACGGCCAATATCT
+GCTGGAGTTACTTCGTGCCCGTCCGCGCCAGTATTGAGCCACTAACCTGGGAAAACGCCTTCTTTGGTGT
+TAACAGCGCCATCGTGCGCATTACGTCTGAAGCACCGCTCCTGACGCCAGACGCGTTAGCGCCGTGGTCA
+CGGGTGCAGGCCAAAATTGCGGCATCAAATACGGGTGAACTGGATGCTCTGCAACAGCTGGGATTCTCCC
+TGGTAGAAGGTGAAGTTGATTTGGCACTACCCGTGAACAATGTCAGTGATAGCGGTGCAGTAGTGGCACA
+AGAGACCGATATTCCCGCATTACGTCAGTTAGCCAGCGCCGCATTTGCGCAAAGCCGTTTTCGTGCGCCG
+TGGTATGCGCCTGACGCCAGCGGTCGCTTTTATGCACAGTGGATTGAAAATGCCGTGCGTGGCACCTTTG
+ATCATCAATGTCTGATTTTACGTGCGGCGTCCGGCGATATTCGCGGTTATGTCTCTTTACGGGAACTCAA
+TGCGACAGATGCGCGAATTGGCCTGCTGGCTGGACGCGGTGCAGGTGCTGAGCTAATGCAAACGGCGCTA
+AACTGGGCGTATGCTCGCGGTAAAACAACTTTGCGGGTGGCGACCCAGATGGGCAACACCGCCGCGCTTA
+AACGATACATACAAAGTGGTGCGAATGTAGAAAGCACCGCGTACTGGTTATACAGGTGATCACATGATTC
+CATTTAACGCACCGCCGGTGGTGGGAACCGAACTCGACTATATGCAGTCGGCAATGGGTAGCGGCAAACT
+GTGCGGCGATGGTGGTTTTACCCGTCGCTGCCAGCAGTGGCTGGAGCAACGTTTTGGCAGCGTCAAAGTG
+TTACTGACGCCATCCTGTACCGCTTCGCTGGAGATGGCGGCGCTGCTGCTCGATATCCAGCCTGGCGATG
+AAGTGATCATGCCGAGCTACACCTTTGTCTCCACCGCCAATGCCTTTGTGCTGCGTGGCGCGAAAATCGT
+CTTTGTGGATGTTCGCCCGGACACCATGAACATCGACGAAACGCTGATTGAAGCGGCGATCACCGACAAA
+ACGCGCGTTATCGTGCCGGTCCATTACGCGGGTGTGGCCTGCGAAATGGACACCATTATGGCGTTGGCGA
+AGAAGCATAATCTGTTTGTGGTGGAAGATGCCGCTCAGGGCGTGATGTCCACTTACAAAGGGCGTGCGCT
+GGGAACCATTGGTCATATTGGCTGCTTTAGCTTCCATGAAACCAAAAACTACACGGCGGGTGGTGAAGGC
+GGCGCGACACTGATTAACGATAAAGCGTTGATCGAACGAGCAGAGATCATCCGTGAAAAAGGCACAAACC
+GCAGCCAGTTCTTCCGTGGTCAGGTCGATAAATATACCTGGCGCGATATTGGCTCCAGCTATTTGATGTC
+CGATCTGCAAGCTGCGTACCTGTGGGCGCAACTGGAAGCAGCGGATCGTATCAATCAGCAGCGTCTGGCG
+CTGTGGCAAAACTACTACGATGCGTTAGCACCTCTGGCGAAAGCCGGGCGTATCGAGCTGCCGTCGATTC
+CCGATGGCTGCGTGCAGAACGCGCATATGTTCTACATTAAACTGCGGGATATTGATGACCGGAGCGCATT
+GATTAACTTTCTGAAAGAAGCGGAAATCATGGCGGTGTTCCATTACATTCCGCTGCACGGTTGCCCTGCG
+GGGGAACGCTTTGGTGAGTTCCACGGTGAAGATCGCTACACCACCAAAGAGAGCGAGCGCCTGCTGCGCC
+TGCCGTTGTTCTACAACCTGTCGCCCGTCAATCAGCGTACGGTAATTGCGACCTTGTTGAACTACTTCTC
+CTGATATGTCGTTGGCAAAAGCGTCCTTGTGGACGGCGGCCAGTACACTGGTCAAGATTGGTGCCGGGTT
+ACTGGTCGGTAAGTTGCTGGCAGTGTCATTTGGTCCGGCGGGGCTTGGGCTGGCGGCAAATTTCCGCCAG
+TTGATTACCGTGCTCGGCGTGCTTGCCGGGGCAGGCATCTTTAACGGCGTAACCAAATACGTTGCCCAGT
+ACCATGATAATCCCCAACAACTGCGCCGCGTGGTCGGCACTTCATCAGCGATGGTACTTGGCTTCTCTAC
+GCTAATGGCGCTGGTTTTTGTGCTGGCAGCTGCGCCAATCAGCCAGGGGTTGTTTGGTAATACCGACTAT
+CAGGGGCTGGTGCGTTTAGTGGCGCTGGTGCAAATGGGGATCGCCTGGGGCAACCTGTTACTGGCGCTGA
+TGAAAGGCTTTCGCGATGCCGCAGGTAATGCGTTATCTCTGATTGTCGGTAGCTTGATTGGCGTTCTCGC
+GTACTACGTCAGTTATCGTTTGGGCGGTTATGAAGGTGCGTTGCTGGGTCTGGCGCTGATTCCCGCGCTG
+GTGGTAATTCCTGCCGCCATCATGTTGATCAAACGTGGTGTCATCCCGTTAAGCTATCTGAAACCCAGCT
+GGGATAACGGTCTGGCAGGGCAGTTGAGCAAATTTACGCTCATGGCGTTGATTACGTCGGTGACCTTGCC
+TGTTGCTTACATCATGATGCGTAAACTGCTGGCGGCGCAGTATAGCTGGGATGAGGTGGGGATCTGGCAA
+GGGGTGAGCAGTATTTCCGATGCCTACCTGCAATTTATTACGGCATCGTTCAGCGTATATTTGCTGCCCA
+CGTTGTCGCGGTTAACGGAAAAGCGCGATATCACCCGGGAAGTGGTTAAATCGCTGAAATTCGTCTTACC
+GGCAGTGGCGGCGGCGAGTTTTACCGTCTGGTTGCTGCGTGATTTTGCTATCTGGCTGCTGTTGTCGAAT
+AAATTTACCGCTATGCGCGATCTCTTTGCCTGGCAGTTGGTGGGTGATGTGTTAAAAGTGGGCGCTTATG
+TCTTTGGTTATCTGGTGATCGCCAAAGCGTCACTGCGGTTTTATATTCTGGCGGAAATCAGCCAGTTCAC
+TTTATTGATGGTATTTGCCCACTGGCTAATCCCTGCGCATGGCGCACTGGGCGCAGCACAGGCCTATATG
+GCAACCTATATCGTCTATTTTTCTCTTTGTTGTGGCGTGTTTTTACTCTGGCGTAGGCGGGCATGACTGT
+ACTGATTCACGTACTGGGATCGGATATCCCTCACCATAACCGAACCGTTCTGCGGTTTTTCAACGACGCG
+CTGGCCGCGACGAGCGAGCACGCGCGCGAGTTTATGGTTGTTGGCAAGGACGACGGCTTAAGTGATAGCT
+GTCCGGCGCTTTCTGTGCAATTTTTCCCTGGGAAAAAATCGCTGGCGGAAGCGGTCATCGCGAAAGCAAA
+AGCTAACCGTCAGCAGCGATTTTTTTTCCACGGTCAGTTCAATCCCAAACTGTGGCTGGCTCTGCTGAGT
+GGTGGCATTAAGCCCAGCCAGTTTTTCTGGCATATCTGGGGAGCAGACCTGTATGAGCTTTCCAGTGGCT
+TGAGATATAAGCTTTTTTACCCGCTACGTCGCCTGGCGCAAAAGAGAGTCGGCTGTGTATTTGCCACCCG
+CGGTGATTTGAGCTTTTTTGCCAAAACGCATCCAAAGGTGCGGGGAGAACTGCTGTACTTCCCGACGCGG
+ATGGACCCTTCTCTTAATACGATGGCGAATGATCGGCAACGTGAAGGAAAAATGACCATTCTGGTGGGGA
+ACTCCGGTGACCGCAGCAATGAGCATATTGCTGCCTTGCGCGCCGTTCATCAGCAATTTGGCGATACGGT
+AAAAGTGGTGGTGCCGATGGGATATCCGCCTAATAACGAAGCGTACATCGAGGAAGTTCGTCAGGCGGGA
+CTGGAGTTATTCAGCGAAGAAAACCTACAAGTTCTGAGCGAAAAACTGGAATTTGACGCCTATCTGACGC
+TACTTCGCCAGTGCGATCTCGGTTACTTTATTTTTGCCCGCCAGCAGGGCATTGGTACGCTTTGCTTACT
+GATTCAGGCGGGCATTCCTTGCGTGCTTAACCGGGAAAATCCGTTCTGGCAGGATATGACGGAACAGCAT
+TTGCCAGTACTGTTTACTACCGATGATCTCAACGAGGATATTGTGCGTGAAGCGCAGCGCCAGTTGGCGT
+CGGTGGATAAAAACACCATTGCCTTCTTTAGCCCTAACTATCTACAAGGCTGGCAGCGGGCGTTGGCGAT
+TGCCGCCGGGGAGGTCGCATGAGTCTGCTGCAATTCAGTGGCCTGTTTGTTGTCTGGCTGCTCTGCACGC
+TGTTTATTGCCACGCTGACCTGGTTTGAGTTTCGCCGTGTGCGCTTTAACTTCAATGTCTTCTTTTCATT
+GCTGTTTTTGCTCACCTTTTTCTTCGGCTTTCCGCTGACCAGCGTGCTGGTATTTCGCTTTGATGTTGGT
+GTCGCGCCGCCAGAAATCTTGTTGCAGGCGTTGCTTTCTGCAGGCTGCTTCTACGCGGTTTACTATGTCA
+CCTACAAAACCCGTCTACGCAAACGCGTTGCTGATGCACCGCGCCGTCCGCTGTTTACCATGAACCGCGT
+GGAGACCAATCTCACGTGGGTGATCCTGATGGGCATCGCTCTGGTGAGCGTCGGCATCTTCTTCATGCAC
+AACGGCTTTTTGCTGTTCCGGCTTAATTCTTACAGTCAGATCTTTTCCAGCGAAGTCTCCGGCGTGGCAT
+TAAAACGCTTCTTTTACTTTTTCATCCCGGCGATGCTGGTGGTTTATTTTCTGCGCCAGGATAGCAAAGC
+GTGGCTGTTTTTCCTCGTCAGCACGGTTGCCTTTGGCTTGTTGACTTACATGATTGTCGGCGGCACTCGC
+GCCAATATCATCATCGCATTCGCTATCTTCCTGTTTATTGGCATTATTCGCGGCTGGATTTCGTTGTGGA
+TGCTGGCGGCGGCGGGCGTGCTGGGGATTGTGGGCATGTTCTGGCTGGCGCTAAAACGCTATGGAATGAA
+TGTGAGCGGCGATGAAGCGTTCTATACGTTTCTCTATCTCACTCGCGACACCTTCTCGCCGTGGGAGAAT
+CTGGCGTTGCTGTTGCAGAACTACGACAACATCGACTTCCAGGGCCTGGCTCCAATTGTCCGCGATTTCT
+ATGTCTTTATCCCTTCCTGGCTGTGGCCGGGTCGCCCGAGTATGGTGCTGAACTCCGCCAACTACTTTAC
+CTGGGAAGTGCTGAATAACCACTCCGGACTGGCGATCTCGCCTACGCTTATAGGCTCACTGGTTGTTATG
+GGCGGCGCGTTGTTCATCCCGCTCGGGGCGATTGTGGTTGGACTGATTATCAAATGGTTCGACTGGCTGT
+ATGAGCTGGGCAACCGCGAGACTAATCGCTATAAGGCTGCGATATTGCACAGTTTCTGCTTCGGGGCGAT
+CTTCAATATGATCGTGCTGGCGCGTGAAGGGCTGGATTCGTTTGTCTCACGCGTGGTCTTTTTTATCGTG
+GTCTTCGGCGCATGTCTGATGATCGCAAAACTGTTGTACTGGCTTTTTGAAAGCGCCGGACTCATTCATA
+AACGAACAAAATCATCGCTCCGGACGCAGGTTGAAGGATAACAATGAATAACAACACCACGGCACCGACC
+TATACGCTGCGTGGCTTACAGTTGATTGGTTGGCGTGATATGCAGCATGCCCTCGATTATCTGTTCGCTG
+ACGGGCAGCTTAAGCAGGGAACGCTGGTTGCCATTAATGCCGAAAAAATGCTGACCATTGAAGATAACGC
+CGAGGTCAGGGAGTTAATTAACGCTGCCGAATTTAAATATGCGGATGGCATCAGCGTTGTACGTTCAGTA
+CGTAAAAAGTACCCGCAGGCGCAGGTTTCCCGCGTTGCTGGGGCCGATCTCTGGGAAGAGCTGATGGCGC
+GCGCAGGCAAAGAAGGGACACCGGTATTTCTTGTGGGCGGTAAACCTGAAGTGCTGGCGCAAACTGAAGC
+TAAACTGCGCAACCAGTGGAATGTGAATATCGTTGGCAGTCAGGATGGTTATTTTAAACCCGAGCAGCGT
+CAGGCGCTGTTTGAACGCATTCATGCCAGCGGAGCGCAAATCGTCACCGTTGCGATGGGATCGCCAAAGC
+AGGAGATCTTCATGCGCGACTGCCGTCTGGTGCATCCAGATGCGCTGTATATGGGCGTTGGCGGGACCTA
+CGATGTTTTCACCGGTCACGTAAAACGCGCACCGAAAATCTGGCAAACGCTGGGGCTGGAGTGGCTCTAC
+CGCCTGCTTTCGCAGCCGAGCCGCATTAAGCGTCAGCTTCGTTTGCTGCGTTATTTACGCTGGCATTACA
+CCGGCAACCTCTGATTTTCCTCTCTTTGTAAAGCGACGGAGTGGTCACTTCGTCGCCTGTCTGCTTTTTT
+ATTACACAAAGCATTCAAATTTTTAATGCTTTATTTGCCATTTCTCCTGAATTACGAAAACATTCGCAAC
+ACTCGATGTACCCATAACGATAACCGGTAACACCGGAAAGCATGCAAACACAACACGAGGATTTATGGCA
+GATAACAAACCAGAGCTACAGCGTGGGCTGGAAGCTCGACATATCGAACTCATCGCCCTGGGGGGCACCA
+TTGGCGTCGGCCTGTTTATGGGGGCCGCCAGTACCCTGAAATGGGCCGGGCCATCCGTATTGTTGGCCTA
+TATCATCGCCGGGCTGTTCGTCTTTTTCATCATGCGTTCAATGGGCGAAATGTTGTTCCTCGAACCGGTT
+ACCGGTTCGTTCGCCGTTTACGCGCATCGTTATATGAGCCCGTTCTTTGGTTATCTCACCGCCTGGTCTT
+ACTGGTTTATGTGGATGGCGGTGGGGATCTCAGAAATCACCGCCATTGGCGTTTATGTCCAGTTCTGGTT
+CCCGGAGATGGCGCAGTGGATACCCGCATTGATCGCGGTGGCGCTGGTGGCGTTGGCGAATCTGGCTGCG
+GTGAGGTTGTACGGCGAAATAGAGTTCTGGTTCGCGATGATCAAAGTCACCACGATTATCGTGATGATTG
+TCATTGGCCTGGGCGTGATTTTCTTTGGCTTTGGCAATGGCGGGCAGTCGATTGGTTTTAGCAATCTCAC
+AGAGCATGGCGGTTTCTTTGCTGGTGGCTGGAAAGGGTTCCTGACCGCATTGTGTATTGTGGTGGCGTCC
+TACCAGGGCGTGGAGCTGATTGGCATTACTGCCGGTGAAGCGAAGAATCCGCAGGTGACGCTGCGCAGTG
+CCGTAGGCAAGGTGCTGTGGCGAATCCTGATTTTCTACGTTGGCGCGATTTTCGTTATCGTTACTATCTT
+CCCGTGGAATGAAATAGGCAGCAACGGTAGCCCGTTCGTACTGACTTTCGCCAAAATCGGCATTACCGCA
+GCGGCGGGCATTATCAACTTTGTGGTGCTGACGGCTGCGCTCTCTGGCTGTAACAGCGGCATGTACAGTT
+GCGGACGTATGCTCTATGCACTGGCGAAAAACCGTCAGTTACCGGCGGCAATGGCGAAAGTTTCCCGTCA
+CGGCGTACCGGTTGCGGGTGTGGCAGTATCTATTGCTATTCTGCTAATTGGTTCATGCCTGAACTACATC
+ATTCCCAATCCACAGCGTGTGTTTGTCTACGTCTACAGCGCCAGCGTGCTTCCGGGTATGGTGCCATGGT
+TTGTGATTTTGATAAGCCAACTGCGTTTTCGCCGTGCACACAAAGCGGCAATTGCCAGCCATCCGTTCCG
+CTCAATCCTGTTCCCTTGGGCCAACTACGTAACAATGGCATTCCTGATTTGCGTTTTGATCGGCATGTAC
+TTTAATGAAGATACGCGTATGTCGCTGTTTGTCGGCATCATCTTTATGCTGGTGGTGACGGCGATTTATA
+AAGTTTTTGGGCTTAATCGCCACGGTAAAGCGCATAAACTGGAGGAATAAGCAGCAAAACGCACAAACCG
+TAACCAAACGCGCAATTTATTTAAAAAGGGACTAGACAGAGGGGTGGGAAGTCCGTATTATCCACCCCCG
+CAACGGCGCTAAGCGCCCGTAGCTCAGCTGGATAGAGCGCTGCCCTCCGGAGGCAGAGGTCTCAGGTTCG
+AATCCTGTCGGGCGCGCCATTTAGTCCCGGCGCGTGACCTGCGGTGGTAGTAATACCGCGTAACAAGATT
+TGTAGTGGTGGCTATAGCTCAGTTGGTAGAGCCCTGGATTGTGATTCCAGTTGTCGTGGGTTCGAATCCC
+ATTAGCCACCCCATTATTAGAAGTTGTGACAATGCGAAGGTGGCGGAATTGGTAGACGCGCTAGCTTCAG
+GTGTTAGTGTCCTTACGGACGTGGGGGTTCAAGTCCCCCCCCTCGCACCACGACTTTAAAGAATTGAACT
+AAAAATTCAAAAAGCAGTATTTCGGCGAGTAGCGCAGCTTGGTAGCGCAACTGGTTTGGGACCAGTGGGT
+CGGAGGTTCGAATCCTCTCTCGCCGACCAATTTTGAACCCCGCTTCGGCGGGGTTTTTTGTTTTCTGTGC
+ATTTCGTCACTTTCCCTTCGCAATAAACGCCCGTAATAACGCATTGCGCCACGGTATGATTTCGCCCTTA
+ACTTATTGAAGGATGACTTCAGGCAAGGAGCGACCATGCAGCAACAGGTTCCAACGCGTGCTTTTCATGT
+GATGGCGAAACCGAGCGGTTCTGATTGTAATCTGAACTGTGACTACTGTTTTTATCTCGAAAAACAATCC
+CTTTACCACGAAAAGCCAGTCACGCATATGGACGATGACACGCTGGAAGCGTATGTCCGTCACTATATCG
+CTGCCAGCGAAACCCAAAACGAAGTGGCTTTTACCTGGCAGGGCGGCGAACCAACGTTACTCGGGCTGGA
+TTTTTACCGCCGTGCCGTGGCGCTACAGGCGAAATATGGTGCTGGCAGGAAGATAAGTAATAGCTTCCAG
+ACTAACGGCGTGCTGCTCGATGACGAATGGTGTGCATTTCTGGCAGAAAATCATTTTCTTGTAGGGTTAT
+CGCTGGATGGTCCGGCTGAGATCCACAATCAATATCGCGTGACCAAAGGTGGCAGACCAACGCATAAGCT
+GGTGATGCGTGCTCTGACGCTCCTGCAAAAACATCATGTCGACTATAACGTGCTGGTCTGCGTCAATCGC
+ACCAGTGCGTTACAACCTTTGCAAGTCTATGATTTTCTGTGTGATGCAGGTGTTGAGTTCATCCAGTTTA
+TTCCGGTGGTCGAGCGCCTGGCTGATGAAACAGCTGCTCATGCTGGACTTAAGCTACATGCTCCCGGCGA
+TATTCAGGGCGAACTGACGGAATGGTCGGTGTGCCCGCAAGAGTTCGGTGAGTTTCTGGTGGCGATTTTC
+GACCACTGGATTAAGCGCGACGTCGGTAAGATTTTCGTAATGAATATCGAATGGGCGTTCGCCAATTTTG
+TCGGCGCACCGGGCGCGGTTTGCCATCATCAGCCAACCTGCGGGCGCTCGGTGATTGTTGAACACAACGG
+CGATGTTTACGCCTGCGATCACTATGTTTATCCGCAGTATCGACTAGGGAATATGCTTCAGCAGACGATT
+GCAGAAATGATTGATTCCCCGCAACAGCAGGCATTTGGTGAAGATAAATTCAAGCAGTTACCGGCACAGT
+GTCGCAGTTGCAACGTGTTAAAAGCGTGCTGGGGAGGCTGCCCGAAACACCGCTTTATGCTCGATGCCAG
+CGGCAAACCCGGGCTGAATTATTTGTGTGCCGGGTATCAGCGTTATTTCCGCCATCTACCGCCATATCTT
+AAAGCAATGGTTGATTTGCTGGCGCACGGTCGTCCGGCCAGCGACATTATGCAGGCGCATTTGCTGGTGG
+TGAATAAGTAAAAAAGTAGCCATTTTGTGGCCGCCTGCGGTTGATTGTCGGATGCGTCAGCATCGCATCC
+GGCAAAGGTAGATCTCAGCGATAGCGCCGGCTTAATCAGATTTAATCTGCGCGCGTGGTGGATATTTTTT
+CAGGATCTCCATATACGCATGCATTTCGGTCTGTAGCGGTACACCCATTGGGATATGGCGCACGCCGATA
+GAGTCGCTTTCCTGCGGATCGGTGTACAGGTTAAACACCGACGATCCCGCCGTTTGCATTACTGTGCCGG
+TGAATCCACCCTGATATCCGCTCTGGGTATAAGCGTAAGGTTGCTGAATCAGGACGTGATACTTGAACTC
+ATCCATACGCACAGCAGAAAGTTTACCGTTGAGGAAGTAGTGCTCGGCCTTACGGTTAGACTGACCATTT
+GTTCCCAGGAAGAAAGATGTCTGGTCCACACCATCGATAAAGGTGGTTTTCGGTACTAAATTCGCTACTT
+TTGCCCCAGGATGCCCCGCCAGATCCAGTGCCGTAGGGAAGAGATCCGCCAGATCGACAATGCCGTCAGA
+TTTACGCGGTTGGATCATGCCTTTCCAGTAAACGAAGGTTGGCACACGAACGCCGCCTTCCCATGTAGAA
+CCTTTCGCACCGCGGAACGGCGTGCGACCGTGCGGCGGAACTTCGGCTTCCGGACCGTTATCAGAGGTGA
+ACACAATCAGCGTGTTATCAAGCTGACCGTTTTTCTCCAGTGCTTTATACAGATTGGCGAAGATATCGTT
+CATCTCCACCATGCAGTCGCCGTAAGAGGTGCGCGCCGGAGAGCTACCCGCATATTTCGCATTTGGGTAG
+TTATCGAAGTGACAGCCGCGAGTGCCGTAATAGAGGAAGAAAGGCTTATCACTCTTCGCCATCTTGTCGA
+GGAACTTAACGCCATATTCCATCCAGCGTTGATCCAGATCTTCCATATATTTCGGCGTAATGTCGGCAAT
+GGCTTCCTGTTCACCGCCGCGCACGGCATGAACGTCATCTTTGCTGAACGGCAGTTTTTGGATGTATTCA
+GAACGAGCCGGGCTCAGGGCGACTTCCGGGTTGACATGAACATCACGCCATTCGGTATACATATCGGACA
+CCGAGTTAAAGCCGCGGAAATCATCAAAGCCAACGTTCTGCGGCTGCGACTCTTTGTTTTCCCCCATATG
+CCATTTCCCGATAGCCTGGGTGATGTAGCCCTGATCGTGCAGCAACTGCGGCAGCGTGGTTAACCCTTGC
+AGACCGCCCGGTTGCCCGTACATTGGCGGCATCAGAATGCCGTGGTGGATGGAGTATTGTCCGGTGAGAA
+TCGTGGCGCGGGTTGGGGAAGAACTCGGTTGAGAATACGCCGAAGTTAAAATCAGCCCCTGGCTGGCAAC
+GGCGTCGATATCTGGTGTAGGGTTACCCACCGCCACGCCGCCGCCGTTAAAGCCAACGTCCATCCAGCCC
+ACATCATCCAGCAAGAAAACAACCACGTTCGGTTTCTTACCGGTTTTTTTCTCAAGTTCCGCCAGTTTCT
+GCTGGGTTTCTTTGTCTTGTGCAGGATGCTGCATCACCGGCATCATGTTGTCGGCAATAGTGGTCGCCGG
+TTTAACCAGATACTGGTTTGGGTGATCGTATCCGGCAAAGCCTTTGCGTGCGGTGGCGGTTGACGGGGTA
+TCTGCTGCGCTGGCTATGAGAGGAAGAGCTGCGGCGACAGCAACAACAAGAAGTTTGGGTGAAAACGAAA
+ATTCCATGCAAAATGCTCCGGTTTCATGTCGTCAAAATGATGACGTAATTAAGCATTGATAATTGAGATC
+CCTCTCCCTGACAGGATGATTGCATAAATAATAGTGATAAAAATAAATTATTTATTTATCCAGAAAATGA
+ATTGGAAAATCAGGAGAGCGTTTGCAATCCTACCTCTGGCGCAGGTGATATGTAAGGCGGTGATGTTATA
+TCGCGTTGATTATTGATGCTGTTTTTAGTTTTAACGGCAATTAATATATATGTTATTAATTGAATGACTT
+TTATTATTCATTATATATATGTGTAGAATTGTGCGCAGGAGAAATATTCACTCAGGAAGTTATTACTCAG
+GAAGTAAAGAGGATTACAGAATTATCTCATAACAAGTGTTAAGGGATGTTATTTCCCGGTTCTCTGTGGC
+ATAATAAACGAGTAGATGCTCATTCCATCTCTTATGTTCGCCTTAGTGCCTCATAAACTCCGGAATGACG
+CAGAGCCGTTTACGGTGCTTATCGTCCACTGACAGATGTCGCTTATGCCTCATCAGACACCATGGACACA
+ACGTTGAGTGAAGCACCCACTTGTTGTCATACAGACCTGTTTTAACGCCTGCTCCGTAATAAGAGCAGGC
+GTTTTTTTATATATCAGAAAGGCCCCGGAGGTGCTTGCCTCCGGGTGAGAAAGAGCTACTGTGGCGGGTT
+GTTCTGCAACGTTAACATCAAACCGTCGCGACGCATCGCTGCGGCTTCTTCCGGCTTGTGCAGTCTGTCC
+AGCGCGTCGGCAAGCCATGCGTAATCGTAGGCGTCCGGACGTTGTTTCAGCGCTGCGCGGAAGGCGAGCG
+ATGCTTCCTGCCATTCTCCGTGTTTCATCAGCGACTGACCCAGTGTGCTCCACAACAGCGGGCGATCGCC
+CACGTTTTTGATCTGTTGGCGCAGCACTTTTTCCAGCTGTTCCGGGTTATTGGTTTTCAGACGCGGGATC
+GGCAGCAGCAGGCGATCGTCATACTGGCGTTTCAGGCCGTCGATGATAATTTGCTGGGCAGTATCATGAT
+CGTCACACTCAATAAGATGTTCCGCCATTGCCACCTGCAAGGCCACCTGATGACGCGTTTTCCGGCTTTG
+GTTTTTCCACCAGTTACGCAAACCTTCACTACCGTTATCGGCACGCGCCTGATCCATCAGGCCAATCCAT
+GCCTGTTGTTCCAGCATTGCACGATGTTCTTCATCACCAACATGGGCTTTCGCCATTGATGGGATGATAT
+CCAGCAGCGAACTCCATGCACCAGTGCGGATATACGCCTGTTCCGCCAGACGTAATACTTCCGGATGGCG
+TGGCGTAACTTCCAGCAGCTTATCCACGCCGTGACGTGCTGCATGGTTTTCATTACGGGCCAGTTGCAGA
+CGTACACGGGTGATTTCTACCGGAATGGTGTCATTGCCGGCCAGCTCCGCTGCGCGTTCCAGATGTTGGT
+TGGCGCGTGCTTCATCACCACGTTGTTGCGCGGCTTCGGCTGCCAGTAGATAGTTCACCACCGGTTGTTC
+AGCGTGATCGGCATTTTTCGCCATCAGCTTTTCAACTTGCTGATAATCGCCTTCCGCCAGTTTCAGCAGC
+GCCTGTTCGGTCTGCTTACGTGCACGGCGACGCTTACGTCCGACAAACCACCCACGGGTGTGCGCGCCTG
+TGCGGAAGATTCGCCGCAGTAGCCACTCAATGGCAAACAGCACTACCATCGCCAGAATCAAAATAATCGC
+GAGGCCCGTGACGCTAGTTTCAATATTGTAGTTGTCGGTCTGGATCAGCACGTAACCCTGATGGCCGGCA
+ATCATCGGGCCAACCACGATCCCCGCAATCAGCAACACAAAGAGCAATAACACTTTTAGCATGGTTATTC
+TCCTTGCGGCGCGGCTGCCGGAGCATCAGCTTGCGGTGCAGGTGCAGGTGCAGGTGCAGGTGCAGGTTTA
+GCTTCCGTTGTCCCTGCTGCCGGTTGTGCCAGCAGGTTACGCACGCGGGTCTGCATCAATTTTTCCAGCA
+TCGCCTGGCTTTGCAGGGTTTCCGGAAGATCCATCGAGATATTTTGCTGGCTTAACTGGTCCACCTCGTC
+GAGGAACGCTTTGGTGGTGGCATCATCAGTATCGTAGTAAGCACGTACCCAGGTGGAGACGTTCTCCAGC
+GCCTGGCGATAAGTCTCTTCCTGGTGACGCGGTACAGCTTGTGCTGCGACCAGCAGGCGAGAGCGAATAT
+TTTCGCGCAGATAGATATCCTGATTTGGCGCTAACAGCGGTACGGCGGTGTCATCACGACGGCGAATCGT
+AATGAAGTTGTCCATAAAGTTCTGCCAGCTTTTTTGCAGATTGATACGCCATTCGCTGATGGAACTGGAA
+AGCTCTTCACCGTCGGAATCCATCGGCGAACCATCGCTGTCATTATCGGCCAGACGCAGATTATCTACCT
+GATTTGAAAGCTGATTAAGCTTAAGGATGATACCGTCATAATCCACCTGCGATACCGCAGAAAGGCTGGC
+GATATCATCGGTAATTGCCCGGCGAACGGTAATCAGACTCGGGTCATTCATATCCGCCAGGCTGGCGTCT
+GCACTTTTCAGCAACGCTGCAGCGGTCGTGACGTCCTGATCGCTCCACAGCTTCCGTCCGGCGAGTTTCA
+CCAGAAAATCGGCCTGGGCCAGCAGCCAGGTTTTAGCATCGCTGCCGGAAATGGTGGCGACCTTTTGTTG
+GACTTCATCCAGCTGTTTTGCCAGCGTTTCTTGCTGACGATTCGCCTGCTCAAGCTGTACAGCTTGTTGC
+TTGATAATGCCTTCCAGCTCGGCTTTTTGGCTCTCCTGGGCTTTTTGCAGTGCCGTAAGTTGGTTAGCCA
+GGGCATCGCTGGTGGCAGTCTGATTGACGGCCTGTTGTTTACCCCAGCCATACAAACCGACGCCCGCCGC
+CAGAGCAATAGCGATAGCCACCGCGCTGAGAATCAATGCGGTATTGTTCTTACTCTTTTTTTCTGTTGCG
+ACAGGTTGTGACGTGGTGTCCACGGCCTCCCTGGTCTCTTCAACCACGGCGGAGGTTTTTTCTTGTTCCG
+TCATTATGGCTTCCTGTTATGAGAGTTATTGTAATGCCCGTAAAAGCGCATCGTTGTCAGCGTTATCGGC
+GACCTTAATGTCTTGCCAGCCCAGTTCCCGGGCGAGTTTCGCCAAACGCTCACTGACGACCAATAGTCGA
+CAGCGTAGTAACCAGTGCTCACGATACCATTGTGGGATCAGCGACCAGAGTTGCTGCAACATTTCACCGC
+TGGTAACAACGACCGTCGTCACCTCGCGGGATTGCCAGCGCATCGCTTCTTCTGCACCATCGTAATGGAT
+TGCGCATCGTTGATAACATTCACAAAAAGTGACCTCAGCACCGCGCGCCGTCAGGGAATCCCCAATTAGC
+TCACGACCGCCATTGCCACGTAATATCAGCGCACGTTTGCCCGCAATATTTTGTAATTCAGGTAATTGTA
+GCAAGACTTCGCTGATTTCCCGATCCTGCGGGTAGAGAATCTTCTGTCCGCTTACGGTATGTAGTGCCAG
+CGCGGTGGTGCGTCCAATGGCGAAATAATCAGGTAGTCGGGGCCATTTACGATCTTGCTGATGCAGCTGT
+GATTGGGCAAAAGCAACCGCGTGTTGCGAGAGGGCAAACAACAGATCGCTCTCTCCCAGCGCTGCCAGTT
+GATCAGCAAGTTGCGGTAATTGTCGACCCGGAGAAAACTCAATCAGCGGAAAATGCCAGGCCACCTGCCC
+CAGTGTGCGTAGACGGCTCACTAACTCTTCTCCTGCGGGAGACGGGCGGGTGACCAGGATACTCATGCCG
+GGGCGTCTCCGTTATAGACTTCAGCGAGGATCTCGCGCGCGCCGTTATTCAGTAGCTCTTCTGCCAGCGA
+AATCCCCATTTGTTCGGCATCTTGCGGCGCACCGCGGCGTTCACCGCGAATAATCTGCGAACCGTCCGGC
+GCGCCAACCAACGCACGCAGCCAGATTTCGCCATCAATAAGCTCGGCGTAGCTACCAATTGGCACCTGAC
+ATCCGCCTTCGAGACGGGTATTCATGGCGCGTTCGGCGGTAACGCGCAGTGCAGTTTCGTGGTGATTCAG
+CGCGGCGAGCAGCTCGCGAGTGCGTGCATCATCAAGGCGGCATTCAATGCCCACCGCACCTTGCCCTACC
+GCCGGAAGAGAAATCTCGGGTGGCAACGCGGCGCGAATGCGGGACTCCAGACCTAAACGTTTTAGTCCGG
+CTACGGCAAGAATGATGGCATCATATTCGCCGTTATCCAGTTTGCTCAGACGAGTGCCGACGTTGCCGCG
+CAGGGAGCGGATAATCAGATCCGGGCGGCGTTCAGCCAGTTGGCACTGGCGACGTAAACTGGACGTCCCG
+ACGATACTGCCTGCCGGTAACGCATCCAGACTGTCATAGGTGTTGGATACAAAGGCATCGCGGGGATCTT
+CGCGCTCGCAAATGGTGACCAGCCCCAGACCTTGCGGGAATTCAACGGGCACATCTTTCATTGAATGAAC
+GGCAATATCGGCGCGATTTTCCAGGAGCGCGACTTCCAGCTCTTTCACAAATAAGCCTTTCCCGCCTACT
+TTCGCCAGCGGCGTATCAAGAATCACATCGCCGCGCGTCACCATCGGTACCAGTTCAACGACCAGGCCCG
+GATGGCTCGCCATCAACTTGTCTTTGACATAGTGTGCCTGCCAGAGTGCAAGTGGGCTTTGGCGTGTGGC
+AATTCTTAAAACATTGTCTAACATGCTTGTTACCGTCATTATCATCCGTGGTCCATCCTAACATCCTTGC
+CAGAGCGATGTCAGTGTTGTGGTGAAACGTAGACGCCTGCGCAAACCGTAAAATGAGGTCTGGCAGTGGA
+TCCTGACAGGCGCTTTGAGCCTTCGTAATAAGGAATTTACAGAGAATAAACGGTGCTACACTTGTATGTA
+GCGCATCTTTCTTTACGGTCAATCAGCAAGGTGTTAAATTGATCACGTTTTAGACCATTTTTTCGTCGTG
+AAACTAAAAAAACCAGGCGCGAAAAGTGGTAACGGTTACCTTTGACATACGAAATATCCCGAATGCCGCG
+TGTTACCGTTGATTTTGGCGGAATCACAGTCATGACGGGTAGCAAATCAGGCGATACGTCTTGTACCTCT
+ATATTGAGACTCTGAAACAGAGACTGGATGCCATAAATCAATTGCGTGTGGATCGCGCGCTTGCTGCTAT
+GGGGCCTGCATTCCAACAGGTCTACAGTCTACTGCCGACATTGTTGCACTATCACCATCCGCTAATGCCG
+GGTTACCTTGATGGTAACGTTCCCAAAGGCATTTGCCTTTACACGCCTGATGAAACTCAACGCCACTACC
+TGAACGAGCTTGAACTGTATCGTGGAATGTCAGTACAGGACCCACCGAAAGGTGAGCTTCCAATTACTGG
+TGTATACACCATGGGCAGCACCTCGTCCGTAGGGCAAAGTTGTTCCTCTGACCTGGATATCTGGGTCTGT
+CATCAATCCTGGCTCGATAGCGAAGAGCGCCAGTTGCTACAACGTAAATGTAGTCTGCTGGAAAGCTGGG
+CCGCCTCGCTGGGTGTGGAAGTCAGCTTCTTCCTGATTGATGAAAACCGCTTCCGTCATAATGAAAGCGG
+CAGCCTGGGGGGCGAAGATTGTGGCTCCACCCAGCATATACTGCTGCTTGACGAATTTTATCGTACCGCC
+GTGCGTCTCGCCGGTAAGCGTATTCTGTGGAATATGGTGCCGTGCGACGAAGAAGAGCATTACGACGACT
+ATGTGATGACGCTTTACGCGCAGGGCGTGCTGACGCCAAATGAATGGCTGGATCTTGGTGGCTTAAGCTC
+GCTTTCTGCTGAAGAATACTTTGGTGCCAGCCTTTGGCAACTCTACAAAAGCATCGACTCTCCGTATAAA
+GCAGTGCTGAAAACACTGCTGCTGGAAGCCTACTCCTGGGAATACCCGAACCCACGTCTGCTGGCGAAAG
+ATATCAAACAGCGTTTGCACGACGGCGAGATTGTATCGTTTGGCCTCGATCCATACTGCATGATGCTGGA
+GCGCGTCACTGAATATCTGACGGCTATTGAAGATTTCACCCGTCTGGATTTAGTTCGCCGCTGCTTCTAT
+TTAAAAGTGTGTGAAAAACTTAGCCGTGAACGCGCCTGCGTAGGCTGGCGTCGTGAAGTGTTAAGCCAGT
+TGGTGAAAGAGTGGGAATGGGACGATGCTCGTCTGGCAATGCTCGATAACCGCGCTAACTGGAAGATAGA
+TCAGGTGCGTGAGGCGCACAACGAGCTGCTCGACGCAATGATGCAGAGCTACCGTAATCTGATCCGCTTT
+GCGCGTCGCAATAACCTTAGCGTCTCCGCCAGCCCGCAGGATATCGGCGTGCTGACGCGTAAACTGTACG
+CCGCGTTTGAAGCATTACCGGGTAAAGTGACGCTGGTAAACCCGCAGATTTCGCCCGATCTCTCGGAACC
+GAATCTGACCTTTATTTATGTACCGCCGGGCCGCGCCAACCGTTCAGGTTGGTATCTGTATAACCGCGCG
+CCAAATATTGAGTCAATCATCAGCCATCAGCCGCTGGAATATAACCGTTACCTGAATAAACTGGTGGCGT
+GGGCATGGTTTAACGGCCTGCTGACCTCGCGCACCCGTTTGTACATTAAAGGCAACGGCGTTGTCGACTT
+GCCGAAGTTGCAGGAGATGGTCGCAGACGTGTCGCACCATTTCCCGCTGCGCTTACCTGCACCGACACCG
+AAGGCGCTCTACAGCCCGTGTGAGATCCGCCATCTGGCGATTATCGTTAACCTGGAATATGACCCGACGG
+CAGCCTTCCGCAATCAGGTGGTGCATTTTGATTTCCGTAAGCTGGATGTCTTCAGCTTTGGCGAGAATCA
+AAATTGCCTGGTGGGTAGCGTTGACCTGCTGTATCGCAACTCGTGGAACGAAGTGCGTACGCTGCACTTC
+AACGGTGAGCAGTCGATGATTGAAGCCCTGAAAACCATTCTCGGCAAAATGCATCAGGACGCCGCACCGC
+CAGATAGCGTGGAAGTCTTCTGCTACAGCCAGCATCTGCGCGGCTTAATCCGTACTCGCGTGCAGCAACT
+GGTTTCTGAGTGTATTGAACTGCGTCTTTCCAGCACCCGCCAGGAAACCGGGCGCTTCAAGGCGCTGCGC
+GTCTCCGGTCAAACCTGGGGCTTGTTCTTCGAACGGCTGAATGTCTCGGTACAGAAACTGGAAAACGCCA
+TCGAGTTTTATGGCGCTATTTCGCATAACAAACTGCACGGCCTGTCAGTGCAGGTTGAAACCAATCACGT
+CAAATTACCGGCGGTGGTGGACGGCTTTGCCAGCGAAGGGATCATCCAGTTTTTCTTCGAAGAAACGCAA
+GACGAGAATGGCTTTAATATCTACATTCTCGACGAAAGCAACCGGGTTGAGGTGTATCACCACTGCGAAG
+GCAGCAAAGAGGAGTTGGTGCGTGACGTCAGTCGCTTCTACTCGTCTTCGCACGACCGTTTCACCTACGG
+CTCAAGCTTCATCAACTTCAACCTGCCGCAGTTCTATCAGATTGTGAAGGTTGATGGTCGTGAACAGGTG
+ATTCCGTTTCGCACCAAATCTATCGGTAACATGCCACCTGCCAATCAGGAGCATGACGCGCCGCTGTTGC
+AGCAGTATTTTTCTTGATGCTAATGCCGGAAAGCGAGGCTTATCCGGCATTAGCTCTTAACGAAAACTGA
+CGGTTTCTCCCGCCTGCTGCGTCGCGGCCTGTTCCAATAAATCCCAGAAGGTTTCGCCGCTGCGATCGCA
+AATCCACTCATCGCCTTTCAGATCAAAATGGTAGCCGCCCTGTTTGGTTGCCAGCCATACCTGGTGCAGC
+GGTTCCTGGCGGTTGATAATGATTTTGCTGCCGTTCTCAAAGGTAATGGTTAGTACACCGCCGTTGATTT
+CACAGTCGATATCGCTGTCGCCATCCCAGTCGTCCAGATGTTCTTCAATGGTCAGCCACAGTTGATCAGC
+CAGGCGATGAAATTCACTGTCGTTCATTGTTGTATCCTGTTTTTAAGTGATGGCGGCAGTATAGCGGCAT
+GGGGTCAGGGCTTCAAAGTTTGCCCGTCTGCTGCTGCGTTCCGGCATGATTCATCCGTCACCGGAATAAT
+AATATCTCTATATAGCGAAAGATTGGTCTTTTCATAAGGGCGCAGGTACACCACGCCTTTTCCCTGTTTC
+TGGTAAATATTATGTTCCGGCTCATCAAGCCGACATCCCCATGCCGACGATAAGAACAACGAACAAGACA
+ATAAACAAACCACATTGCGATAGTGCATAAAGCCATCCTGGCGCGAGGTGCCGATCACGAAACTACCAGC
+AAAACATAAATCGCCACGAGTAAGCGTTATACTCGCAGCATTTCCTCACTTTTCAGACTTCATAAAGAGT
+CGCTAAACGCTTGCTTTTACGCCTTCTCCTGCGATGATAGAAAGCAGAAAGCGATGAACTTTACAGGCAA
+TCCATAATGAAAAACGTGTTTAAGGCACTCACTGTATTACTTACTCTCTTCAGCCTGACGGGCTGCGGTC
+TGAAAGGTCCGCTCTATTTCCCGCCTGCAGATAAAAACGCACCGCCGCCGACCAAACCGGTAGAGACGCA
+AACGCAATCCACGGTGCCGGATAAAAACGACCGCGCCACTGGCGATGGTCCATCCCAGGTGAATTACTAA
+AAGTCAGTTTCTGTACCCGCGTGATTGGAGTAAATGATGCAGTTCTCGAAAATGCATGGCCTTGGCAACG
+ATTTTATGGTCGTCGACGCGGTAACGCAGAATGTCTTTTTTTCACCGGAGCTGATTCGTCGCCTGGCGGA
+TCGGCACCTGGGGGTAGGGTTTGACCAATTGCTGGTGGTTGAGCCGCCGTATGATCCTGAACTGGATTTT
+CACTATCGCATTTTCAATGCTGATGGCAGTGAAGTGGCGCAGTGCGGCAACGGCGCGCGCTGCTTTGCCC
+GTTTTGTGCGCCTGAAAGGGCTGACCAATAAGCGCGATATCCGCGTCAGCACCGCCAACGGGCGGATGGT
+TCTGACCGTCACCGATGATGATCTGGTCCGCGTAAATATGGGCGAACCCAACTTCGAACCTTCCGCCGTG
+CCGTTTCGCGCTAACAAAGCGGAAAAGACCTATATTATGCGCGCCGCCGAGCAGACAATCTTATGCGGCG
+TGGTGTCGATGGGAAATCCGCATTGCGTGATTCAGGTCGATGATGTCGATACCGCGGCGGTAGAAACGCT
+TGGTCCTGTTCTGGAAAGCCACGAGCGTTTTCCGGAGCGCGCCAATATCGGTTTTATGCAAGTGGTTAAG
+CGCGAGCATATTCGTTTACGCGTTTATGAGCGTGGGGCAGGAGAAACCCAGGCCTGCGGCAGCGGCGCGT
+GTGCGGCGGTGGCGGTAGGGATTCAGCAAGGTTTGCTGGCCGAAGAAGTACGCGTGGAACTCCCTGGCGG
+TCGTCTTGATATCGCCTGGAAAGGTCCGGGTCACCCGTTATATATGACTGGCCCGGCGGTACATGTCTAC
+GACGGATTTATTCATCTATGAAGCAACCAGGGGAAGAACTGCAGGAAACACTCACGGAGCTTGATGACCG
+GGCGGTTGTCGATTATCTGATTAAAAATCCTGAGTTTTTTATCCGCAATGCGCGCGCAGTAGAAGCGATA
+CGTGTGCCGCATCCGGTACGCGGCACCGTTTCGTTGGTCGAGTGGCACATGGCCCGCGCACGTAATCATA
+TTCATGTTCTGGAAGAGAACATGGCGTTGTTGATGGAACAGGCTATCGCTAACGAAGGCCTGTTTTATCG
+TCTACTCTACCTGCAGCGCAGTCTCACCGCCGCCAGTAGTCTCGACGATATGCTGATGCGTTTCCATCGC
+TGGGCGCGTGATTTAGGGCTGGCAGGTGCGAGTCTGCGCCTGTTTCCGGATCGCTGGCGCTTAGGTGCGC
+CGTCGAACCACACTCATCTGGCATTAAGCCGTCAGTCTTTCGAACCGCTGCGTATTCAGCGTCTGGGGCA
+GGAACAGCACTATCTGGGGCCGCTTAACGGACCGGAGCTTCTGGTGGTGCTACCGGAAGCGAAAGCGGTG
+GGATCGGTGGCGATGTCGATGCTGGGAAGCGATGCTGATTTGGGGGTTGTGCTGTTTACCAGTCGCGATG
+CCAGTCACTATCAACAAGGGCAGGGAACGCAGTTACTTCATGAAATTGCGCTGATGTTGCCGGAGCTTCT
+GGCGCGTTGGATTGAACGCGTATGACCGATTTACACACCGATGTAGAACGCTACCTACGTTATCTGAGCG
+TGGAGCGCCAGCTTAGCCCGATAACCCTGCTTAACTACCAGCGACAGCTTGAGGCGATCATCCATTTTGC
+CAGCGAAAACGGCCTGCAAAGCTGGCAGCAATGTGATGTGACGATGGTGCGTAATTTTGCTGTACGCAGT
+CGCCGTAAAGGGCTGGGAGCTGCAGGTCTGGCGTTACGGCTTTCTGCGCTACGTAGCTTTTTTGACTGGC
+TGGTCAGCCAGAATGAACTCAAAGCTAACCCGGCGAAAGGTGTTTCGGCACCGAAAGCGCCGCGTCATCT
+GCCGAAAAACATCGACGTCGATGATATGAGTCGGCTGCTGGATATTGATATCAACGATCCCCTCGCCGTG
+CGCGATCGGGCAATGCTGGAAGTGATGTACGGCGCGGGTCTGCGTCTTTCCGAGCTGGTGGGGCTCGATA
+TCAAACACCTCGACCTGGAGTCTGGCGAAGTGTGGGTGATGGGAAAAGGCAGCAAAGAGCGCCGCCTGCC
+GATTGGTCGCAACGCCGTGGCGTGGATTGAGCACTGGCTTGATTTGCGCGACCTGTTTGGTAGTGAAGAC
+GACGCGCTTTTCCTGTCGAAACTGGGCAAACGCATCTCCGCGCGTAATGTGCAGAAACGCTTTGCCGAAT
+GGGGCATAAAACAAGGGCTGAATAATCACGTTCACCCGCATAAATTACGTCACTCGTTCGCTACCCATAT
+GCTGGAGTCGAGCGGCGATCTTCGTGGTGTGCAGGAGCTGCTGGGTCATGCCAACCTCTCCACCACGCAA
+ATCTATACTCATCTTGATTTTCAACACCTTGCCTCGGTGTACGATGCGGCGCATCCACGCGCCAAACGGG
+GGAAATAATGCGTTTTTACCGGCCTTTGGGGCGCATCTCGGCGCTCACCTTTGACCTGGATGATACCCTT
+TACGATAACCGTCCGGTGATTTTGCGCACCGAGCGAGAGGCGCTTACCTTTGTGCAAAATTATCATCCGG
+CGCTGCGCAGCTTCCAGAATGAAGATCTGCAACGCCTGCGCCAGGCGGTACGGGAAGCGGAACCTGAGAT
+TTATCACGACGTGACGCGCTGGCGTTTTCGTTCGATTGAACAAGCGATGCTCGACGCCGGGCTGAGTGCC
+GAAGAAGCCAGTGCAGGCGCACATGCAGCAATGATCAACTTTGCCAAATGGCGCAGCCGGATCGACGTCC
+CGCAGCAAACCCACGACACCTTAAAACAGCTGGCGAAGAAATGGCCGCTGGTGGCGATCACCAACGGTAA
+CGCCCAGCCGGAACTGTTTGGTTTGGGGGATTATTTTGAGTTTGTGCTGCGCGCTGGCCCGCACGGGCGC
+TCAAAACCGTTCAGCGATATGTACTTCCTGGCGGCGGAAAAACTCAACGTGCCGATCGGCGAGATCTTAC
+ATGTCGGGGACGATCTCACCACTGACGTGGGTGGGGCAATTCGCAGCGGAATGCTGGCCTGTTGGATCAG
+ACCGGAAAATGGCGATCTGATGCAAACCTGGGACAGCCGTTTACTGCCGCATCTGGAAATTTCCCGGTTG
+GCATCTCTGACCTCGCTGATATAATCAGCAAATCTGTATATATACCCAGCTTTTTGGCGGAGGGCGTTGC
+GCTTCTCCGCCCAACCTATTTTTACGCGGCGGTGCCAATGGACGTTTCTTACCTGCTCGACAGCCTTAAT
+GACAAACAGCGCGAAGCGGTGGCCGCGCCACGCAGCAACCTTCTGGTGCTGGCGGGCGCGGGCAGTGGTA
+AGACGCGCGTACTGGTGCATCGTATCGCCTGGTTGATGAGCGTGGAAAACTGCTCGCCGTATTCGATTAT
+GGCGGTGACGTTTACCAACAAAGCGGCGGCGGAGATGCGTCATCGTATCGGGCAACTGATGGGCACTAGC
+CAGGGCGGTATGTGGGTCGGCACCTTCCACGGGCTGGCGCACCGCCTGCTGCGTGCGCACCATATGGACG
+CCAACCTGCCGCAGGATTTCCAGATCCTCGACAGTGAAGACCAGCTACGTCTGCTTAAGCGTTTGATCAA
+GGCGATGAATCTCGACGAGAAGCAGTGGCCGCCGCGTCAGGCAATGTGGTACATCAACAGCCAGAAAGAT
+GAGGGGCTGCGTCCGCATCATATTCAGAGCTACGGTAATCCGGTGGAGCAGACCTGGCAGAAGGTGTATC
+AGGCGTATCAGGAAGCGTGTGACCGCGCGGGCCTGGTGGACTTCGCCGAGCTGCTGCTACGTGCTCACGA
+GTTGTGGCTTAACAAGCCGCATATCCTTCAGCACTATCGCGAACGGTTTACCAATATCCTGGTGGACGAA
+TTCCAGGATACCAACAACATTCAGTATGCGTGGATCCGCCTGCTGGCGGGCGATACCGGCAAAGTGATGA
+TCGTTGGCGATGACGATCAGTCAATCTACGGCTGGCGCGGAGCGCAGGTCGAGAATATTCAGCGTTTCCT
+CAATGATTTCCCCGGTGCTGAAACTATCCGTCTGGAGCAGAACTACCGCTCTACCAGCAATATTCTGAGC
+GCCGCTAACGCCCTGATTGAAAACAATAACGGGCGTCTGGGTAAAAAACTGTGGACCGATGGCGCGGACG
+GTGAGCCTATTTCCCTCTATTGCGCTTTTAACGAACTCGACGAAGCGCGTTTTGTGGTTAACCGCATCAA
+AACCTGGCAGGACAACGGCGGGGCGCTCGCTGAGTGCGCCATTCTCTACCGCAGCAACGCCCAGTCGCGT
+GTGCTGGAAGAGGCGTTATTGCAGGCGAGTATGCCGTATCGTATTTACGGCGGGATGCGCTTCTTCGAAC
+GCCAGGAAATCAAAGATGCGCTCTCGTATCTGCGCCTGATTGCCAACCGCAACGACGACGCGGCCTTTGA
+GCGTGTGGTGAATACGCCAACGCGGGGTATTGGTGACCGGACGCTGGACGTGGTACGTCAGACATCGCGA
+GATCGCCAGTTAACACTCTGGCAGGCATGTCGTGAACTGTTGCAGGAAAAAGCCCTCGCCGGACGTGCTG
+CCAGCGCCTTACAGCGGTTTATGGAGCTGATCGACGCCTTAGCGCAGGAAACTGCCGATATGCCGCTGCA
+TGTACAGACTGACCGGGTAATTAAAGACTCCGGCCTGCGCACCATGTACGAGCAGGAGAAGGGCGAAAAA
+GGTCAGACGCGTATCGAAAACTTAGAGGAACTGGTGACGGCAACGCGCCAGTTCAGCTACAACGAAGAAG
+ACGAAGATTTAATGCCGCTGCAGGCATTCCTCTCCCATGCGGCGCTGGAAGCGGGCGAGGGGCAGGCGGA
+TACCTGGCAGGATGCGGTGCAGTTGATGACGCTACACTCGGCGAAAGGTCTGGAATTCCCGCAGGTGTTT
+ATCGTTGGTATGGAAGAGGGCATGTTCCCAAGCCAGATGTCGCTGGATGAAGGCGGGCGTCTGGAAGAAG
+AACGCCGTCTGGCCTACGTTGGCGTAACCCGCGCGATGCAGAAACTGACGCTGACCTACGCGGAAACCCG
+CCGTCTGTATGGCAAAGAGGTTTACCATCGCCCGTCGCGCTTTATCGGTGAGTTGCCGGAAGAGTGTGTG
+GAAGAGGTGCGCCTGCGCGCCACGGTAAGCCGCCCGGTCAGCCATCAGCGTATGGGTACGCCGATGGTCG
+AGAACGACAGCGGCTATAAGCTCGGCCAGCGCGTACGCCACGCTAAGTTTGGTGAAGGCACCATCGTCAA
+TATGGAAGGCAGCGGCGAGCATAGCCGTTTGCAGGTGGCATTCCAGGGCCAGGGTATTAAATGGCTGGTG
+GCGGCTTACGCCCGGTTGGAGACGGTGTGACGTTGCGGAATGCGGTGCGCCATACCGCATTCCGCATCAG
+CACCTTACTTAGCGCACTTCTTCACATCAATATTCCAGTCAGCACCAGATGCAACCTGATGTTTCTGCGC
+GAAATTATCCATATTCAGCGCCACGGAAACATTCAATAAGCTGTTCAGATACACCATCGGCTGGCCTTCC
+GGCACATCGCCGAAGCTTGCGACATACGGCATTTTCCCTGCGTATTTTTGCTGGGAACCTTCGGAAATGG
+TCACACACAACGTGTCGTTGAGTTTGATTCCTGCCTGATTCAGCAACTCGTCGCTGATATTGCTCCAGAC
+GTTGCCGTACTGAATATCGAGAATCGGGATATTGCCCTTCACTTCACCTTTTGTTGCTTTGGCTTTCTGA
+TAAGAAAGTTCGACAACTTTTGCAGGAAGCTCTGGCCCCACCTGCTCGAACGTGATCGCCCCGGAAGCCA
+GACGTGCACCGGTGTAGGCATACACGTCACGACCGTGGAAGGTATATGACTTTTCGGAACCTTTCAGACG
+GTTGGTTTTTTCATCGATTTGCCGGACGCTCTCAATACCCAGCGATTCCGCCACCAACGTAAGCGTACCG
+TTATCTGGTGAAACGAAGTACTGACCGTTTTTGGTTTTCAGCACTACCGATTTACGGTCTGTACCAACAC
+CTGGATCGACCACGCTAACAAACACCGAACCTTGCGGCCAGTAACTGGCAGTCTGATACAGGCGGTAAGC
+GCCTTCCCAGATGTTATATGGTGGAATTTCGTGTGTTAAATCAAATATTTTAAGATTATGGTCAACGCCG
+AAAGCGACCCCTTTCATCGCCGAGACGGCGCCATCTTTCAGGCTAAAATCCGTTTGTAAAATCAAAGCGT
+TATCCGCATAAGCGGATGATGACCCCAGACAGGTTAATAAAAATAATGTTGCGAGCGTTTTTTTCATTTT
+TGTTTCCCTTCATTTATCTGATGATTTTCCAGCTGTGTAGCCAGCCCCAGTTTGTCTGGCCTCCTCGAGT
+GTACAATGTTTAACCTTTCTGCTCGACGGAAATCATGGTGACAAAAGGATAGCGTTGCCACGGGATTGCC
+TCGCCTTTCATATACATATGTGAAATTGTGCCATCAAGATAAAGCAGCTGCTCAACGTTCAGTTTCGCTT
+TGGCATAACAGGCAAAATCATAAAAATTTGTCGCCTGCTGGCTCAACAAAAACACGGCGTTCCCATGTTT
+ATTAATCCCAACACCGTTACGAATTTTACGTGAGGCGACGTTGGGATGAATACGCGGATTAATTACACCG
+TTTTCCATCAACAATGGCCCTGACTGCACCGCAAACTGAATCTCTTTACTGGTTTTAAAGGCATCCAGAC
+GAACGATGCCGACTTTATCTCCCGCGACATAAAACACTCCGCCAGGACGAATAAAGAAATTCCCTTCACC
+TGAAGCGAGATTTAACGCCACCTTCTGCTGACCGTTTTCGATGTACAAACCGAGCGGCGCATAGCTTTCA
+TCATAGATGCCGCCGTTCATCGCCATCTGCACCTGACCCTGACTATTAATATCCGCCAGCAGAGCATGTA
+ACGTTCCCCACGCTTCGCCATTGGCTTTTTGCCAGTACATTTTCACCCGCTCTGTTTGAGGATTAACGGT
+ATACGCCTGTACGGTCAGCGTCGGATCTGAGGGTGCGCAATCATCAGCGGCAACAGCAAACAAGGGAAGT
+AAGGTGAGGGTGAGAAAAATCCGTTTGAGATTCAAGGTGATCATTCCTTTACCAATGAATAGCCGATGCG
+CCATTATAGGCCCTGAATGTGGGATTTTTTTATCCTGTTAGCGACCTTGACGAGTACCAAAAAGCGCGAA
+GTTCAACTATTGTTCTGTGGTGTTCTGTTGCGTGTTGACGGCAAAATTTTGCTGGCGTAACATGCGCGCA
+CGATCACTCTAAGAGGACATTCGCCTTGGACACACCCAGTAGATACTGGCTCATTATCCTGTCATCCAGG
+ATCAACTCCTAAGGCTATCCCTTTTTGCTGATAGCCTTAGCGGTTGTCAGCGACCTCAATTTTTCCCGTC
+GCGCTGAGTCAGGCTGTTTAATGGTCTGAAACCCAATTTGTTTCTGTGTGCCCACCGAACTGTCCGATAT
+TTTAAGCATTGGGAGTCCCGGTCATGCTGAGCGCATTTCAACTGGAAAATAACCGACTGACCCGGCTGGA
+AGTCGAAGAGTCACAACCCCTTGTAAATGCAGTATGGATTGATCTTGTCGAACCGGACGACGACGAGCGA
+CTGCGCGTACAATCTGAACTTGGCCAGAGCCTGGCAACCCGCCCGGAACTGGAAGACATCGAAGCATCGG
+CACGTTTCTTTGAAGACGATGACGGCCTGCATATTCACTCCTTCTTCTTCTTTGAAGATGCGGAAGATCA
+CGCCGGTAACTCCACTGTGGCATTTACCATCCGTGATGGTCGTCTGTTTACTCTGCGTGAGCGTGAACTG
+CCCGCTTTTCGCCTTTACCGTATGCGTGCCCGTAGCCAGTCAATGGTGGACGGTAACGCCTACGAGCTGC
+TGCTGGATCTGTTCGAAACCAAAATCGAACAGTTGGCAGATGAAATTGAAAATATCTACAGCGACCTGGA
+GCAGTTGAGCCGGGTAATTATGGAAGGGCATCAGGGCGATGAGTATGACGAGGCGCTCTCCACACTGGCG
+GAACTGGAAGATATCGGCTGGAAAGTTCGCCTGTGTCTGATGGATACCCAGCGTGCGCTGAACTTCCTGG
+TGCGTAAGGCGCGTTTACCGGGCGGGCAACTGGAGCAGGCGCGTGAAATCCTGCGAGATATCGAATCCCT
+GCTGCCGCATAACGAATCCCTGTTCCAGAAGGTGAACTTCCTGATGCAGGCGGCGATGGGCTTTATCAAT
+ATCGAGCAGAACCGCATCATCAAAATCTTCTCGGTGGTATCCGTGGTGTTCCTGCCACCGACGCTGGTCG
+CTTCCAGCTACGGGATGAACTTTGAGTTTATGCCGGAACTGAAGTGGAGCTTCGGCTACCCAGGCGCGAT
+TATCTTTATGATCCTCGCGGGCCTGGCACCGTATCTGTACTTTAAGCGGAAGAACTGGTTGTAATATAAA
+TGCCGGGTAAAGATTGTTCTTTATCCGGCTTATTGCTGAAAATTGTCTTTTTCAAAGTCATGCGGGTTGA
+ACACTCGCTCTATCTTATTTTCCTGGGTTAGTTGATACTCATTGTTATCAACAATAAAAAAATGAGTATT
+ACGGTAAGGATATTCATTAATAACCATTAAATAGTTTTTTACGATGCAATTATCATTGCTCTTAATCGTC
+GGGAAACAGTAGAGATCTTCATACGGCCCTTCGATATATTTTTTATAGTCAGTGAAGCCATTACCGATAT
+CAATAACATACCAGGTATGCCAACTATCTTCTGGTAGGGGATTTTGACTTTTAATTTCATCCTGATGCTT
+CAGATACCAATTTATTTTATCGCTATCAGTCCATGGCAGATGATCAACGACCAGAAAGACTGAATTGCCA
+GCATCAGAGTATGTATACAAAATCTGTACAGGACGCAATGTCCATAAATTATAGATGCAGCATAGAAGAA
+ATAAATATAATATAATTTTCTGGAGTTTTCTTTTCATAGATAATTTTCGATTCTTTCGATAGTGTTAAAA
+TTGGTGAAAAAAGGTTTGAAAGCAAAGTCTTTATGCCGTTGTAAAAAGAACCATATGCGAAAAAATCTAT
+ACTTGTTGTAAATCTTGTTTTTTATATCAGTCACATCCAAACCAAAGTGGTCTTGTGCTATGAAATGAAT
+GGTAGCGCTCCAGCCCATAGGATATTTTTGAAAATTTAAAAGAGATATTTTTTGAGCTGAGATATCATGA
+ATGCTGATTCCCAGGCCATTAAAATTATCTTTAAAATCATTGAATTTATTTAGTCTTGATGAAAGTAATT
+CGGTCTTAATCTTTTGTAGGAGAAGAGGCCGGTATCCTATCGTAGGTGTTGAAGAAATATCATTTTCGAT
+ACATTCTTTGATTACACGTATTGGGCTATTATAATCATATTTGTTTATTCGTTCATGAAAAGATAAGTTC
+AATTCCTGGCTATGGAAACTGTTGCCATTTTCATATCTAAAATGATCAATCAGATCCTGGATGAGTGTTT
+TGTATTGTCCAAAAAAGGAAAACATTTTTGCCAGATCTTTCATTTCTGCAAATAAAATATCAATACATTC
+ACTTTGTGATATTTTTGTTCCAGAAGTTGGAACACTAAAAGCACCATAAGTAGAATTCGGCCCAGGAAAA
+TGGTATTTAATGAGGCGGTAAGGATCAACTTTTGCAGAGATGTCGCTTAAGCCGAGAGAGAGAAAATCTT
+GTTCTTCCATATCCCCATACTGCATATCATCAGCAGAAAAATCATCGAATAAAGTAATAGTTTCGAAAAG
+TGTACAGGGCATATTAATTGATGAGCCTAATATGTTGTTCATTTATATTCTCCTTTCTTATAATTAAGGG
+CAATGTTAATTTGATAAGAAATAATAGGGTAAAAAATTTTAAAAAAGAAATGCACTTCACATTTTTTATT
+ACATTCTGAAGATAACTTGGTTAATGATTGGTCTTGCTCATCGCTAATAACATAATGCTGAATTTACCAA
+AAATGAAATTTATTAAAGCAAATGAAAATATACAACGACGTCTGGAAATTCTGCCTTTCCTTATGTGAGT
+CTCCTGTCAGCATGGCAATATGCCCACTCTCATGCAAGAGTCGGCATATTTTTTCAGAATATATTTATTT
+TTTATTTGGACGTTCTACGCTGCGTATAAATCGCATCCATCACAAAAATTGCCAGCGCCACCCAAATAAA
+GGTGAAAGTTACCATCTTATCGGCACCCGGTTTTTCACCATAAAACGTCACAGCCAGCAGGAACATCAGC
+GTCGGACCAATGTACTGGAAAAAGCCTAACGTTGAGAGACGCAGGCGTGTCGCCGCTGCAGTAAAACACA
+ACAGTGGCACGGTGGTGACAATACCGGCGGCGATCAGCAGTAAATTCAGCGACATCGGGTTTTGCCCCAT
+ATGACTGGTTGAGCTGTCGGCAATAGCAAACAGGTAAATCGCCGCCACGGGCAGCAACCACATAGTTTCG
+ATTAACATGCCGGTTTGCGCTTCAACAGCAATCTTCTTGCGCACCAGGCCGTAGAAAGCAAAACTAAACG
+CCAGCCCCAGCGCGATGATCGGCAGTGAACCAAAAGTCCACAACTGAACCAGCACTCCACATATCGCCAG
+AATCACCGCCAGCCATTGCATCCGGCGGAATCGCTCGCCGAGGAAAATCATCCCCAGCACAATGTTCACC
+AGCGGGTTAATAAAGTAACCAAGGCTCGCTTCCAGCATATGGTGATTGTTCACCGCCCAGATAAACAGTA
+GCCAGTTGCCGCCAATCAGCACGGCAGAGACTGCCAGCATAAAAATTTTCTGTGGCGTCTGAATCAGCGT
+TTTTAAATAGGACCACTGGCGGCAAATGCTCATCAGCACCACCATAAAGAAAAACGACCAGATCACGCGA
+TGCGTCAGGATCTCATCGGCGGGCACGTAGTAAATCAGCTTGAAGTACGCTGGCGCAATACCCCAAATAA
+AATAAGCGGCAAGAGCGAGTAATACGCCTTGCCGCGTTTGTTTTGCATCCATCGGGAATACTCATTTTTA
+ATTGGTAACAGCAGTTTACCTGCTTTTATGTCTTCAACCTACCATATAGGTGGCGGTGGCACTGGCAATA
+TAAAGCTGTTCTTCATTGTGTAATTCAACGCGGGCGACGGCGACTTTATTGCCTGCACGCAACAGGCTAC
+TGGTAGCAGTAAAACGCTCGCCTCTGCCTGGGCGCAGATAATCGACGCGAAGATCAATGGTCCCCATCCG
+CGATAGCCGCTGGCGTAGTTCATCTTCACTGATGGTTTCGTGGCGGGTTAAGGTACTTCCCACGCACACC
+AGACCTGCGGCGACATCCAGCGCCGACGCAATGACCCCGCCGTGCAAAATGCTTTGCGCCCAGTTACCCA
+CCATCATCGGCTGATTTTTAAAGGCCAGCTGTGCGAACTCTTTTTCGTAACGCTCCAGTTCCATCCCCAA
+TGCGCGGTTAAATGGCATGTGATAAACAAACATCTCACCCACTAATTTCAGGGCTTGTTCAGCGGTCAGT
+ACGGCAGACATAACATCCTTACACTTCATTAGTTAATGAAATGTTGATTTTATGCTTCTTTATTGTTGGT
+TTCCACTTTAGGAAGGGATAACTAACGGCTATGGAGTTAAGTATGTAAAATAGCCCGCAGAAAATATTCA
+CCTTATCAATAATTCGTTACGGAGAACACGAGCGATGCGGACTCTGCAGGGCTGGTTGTTGCCGGTGTTT
+ATGTTGCCTATGGCAGTATATGCACAAGAGGCAACGGTGAAAGAGGTGCATGACGCGCCAGCGGTGCGTG
+GCAGTATTATCGCCAATATGCTGCAGGAGCATGACAATCCGTTCACCCTTTATCCTTATGACACCAACTA
+CATCATCTACACCCAAACCAGCGATCTGAATAAAGAAGCGATTGCCAGTTACGACTGGGCGGAAAACGCG
+CGTAAGGATGAAGTAAAGTTCCAGTTGAGCCTGGCGTTTCCGCTGTGGCGTGGGATTTTGGGGCCAAACT
+CTGTACTGGGCGCCTCCTACACACAGAAATCCTGGTGGCAGCTTTCTAATAGCGATGAGTCATCACCGTT
+TCGTGAAACTAACTACGAACCGCAATTGTTCCTCGGTTTTGCCACGGATTACAACTTTGCTGGCTGGACG
+CTGCGCGATGTGGAAATGGGCTACAACCACGACTCAAACGGGCGTTCAGACCCGACTTCCCGCAGCTGGA
+ACCGCCTTTATACCCGCCTGATGGCAGAAAACGGTAACTGGCTGGTAGAGGTGAAGCCGTGGTATGTGGT
+GGGGAATACGGACGATAACCCGGACATCACCAAATATATGGGTTACTACCAGCTTAAAATCGGCTATCAC
+CTCGGTGATGCGGTACTGAGCGCGAAAGGGCAGTACAACTGGAACACCGGTTACGGCGGCGCGGAGTTAG
+GCTTAAGCTACCCGATCACCAAACATGTGCGCCTTTATACTCAGGTTTACAGCGGTTACGGCGAATCGCT
+CATCGACTATAACTTCAACCAGACCCGCGTTGGTGTGGGAGTTATGCTAAACGACCTGTTTTGATGAATG
+GTTGGCAAATCTGGAATCCAGCATCCAGGATTACCCTCTCAGAGACTAAAAGCATTGCAGTTTCTCGCGC
+AGGCGCTGAAAATAGCGCCTGTTTTTATTTCAGGCAATCGGGGTGAATGTGGCGCAGGCGGAAGTGTTGA
+ATCTGGAGTCCGGGGCTAAACAGGTTTTACAAGAAACCTTTGGCTACCAACAGTTTCGCCCCGGCCAGGA
+AGAGATTATCGACACCGTACTTTCCGGTCGCGATTGCCTGGTCGTCATGCCCACTGGTGGCGGAAAATCC
+CTTTGCTATCAAATCCCTGCCTTATTGCTAAACGGCCTTACCGTGGTTGTCTCACCGCTGATTTCGTTGA
+TGAAAGATCAGGTAGATCAACTGCAAGCCAACGGCGTGGCGGCGGCGTGCCTTAACTCGACGCAAACCCG
+CGAGCAGCAGCTTGAAGTGATGACAGGCTGTCGCACCGGGCAAATCAGCCTGCTTTATATCGCGCCGGAA
+CGCCTGATGCTGGATAACTTTCTTGAGCATCTGGCGCACTGGAATCCGGTGTTATTAGCCGTTGATGAAG
+CGCACTGTATCTCCCAATGGGGTCACGATTTCCGCCCGGAATACGCTGCCCTCGGTCAGCTGCGTCAGCG
+TTTTCCGACGCTCCCGTTTATGGCGCTGACTGCCACAGCCGATGACACCACGCGCCAGGATATCGTGCGC
+CTGCTGGGGCTGAACGATCCGCTGATTCAAATCAGCAGTTTTGACCGTCCGAATATTCGCTACATGCTGA
+TGGAGAAATTCAAACCGCTCGATCAGTTGATGCGTTATGTACAGGAACAACGCGGTAAGTCGGGGATTAT
+TTACTGTAATAGTCGTGCGAAAGTAGAAGACACCGCTGCGCGCCTGCAAAGCAAGGGAATTAGCGCGGCG
+GCCTATCATGCCGGGCTGGAAAATAATGTTCGCGCTGATGTGCAGGAAAAATTCCAGCGCGATGACCTGC
+AAATTGTGGTGGCGACGGTGGCGTTCGGCATGGGCATCAACAAGCCTAACGTTCGCTTCGTGGTGCATTT
+TGATATTCCGCGCAATATCGAATCCTATTATCAGGAAACTGGACGCGCCGGGCGTGATGGCCTGCCCGCG
+GAAGCGATGCTGTTTTACGATCCGGCTGATATGGCGTGGCTGCGCCGTTGTCTGGAAGAGAAGCCGCAGG
+GGCAGTTGCAGGATATCGAACGTCATAAACTCAATGCGATGGGCGCGTTTGCTGAAGCGCAAACTTGTCG
+TCGTTTGGTATTGCTGAACTATTTTGGCGAAGGGCGTCAGGAGCCGTGCGGGAACTGCGATATCTGCCTC
+GATCCGCCAAAACAGTACGATGGTTCAACCGATGCGCAGATTGCCCTTTCCACCATTGGTCGTGTGAATC
+AGCGGTTTGGGATGGGTTATGTGGTGGAAGTGATTCGCGGTGCTAATAATCAGCGTATCCGCGACTATGG
+TCATGACAAACTGAAAGTCTATGGCATGGGCCGTGATAAAAGCCATGAACATTGGGTGAGCGTGATCCGC
+CAGCTGATTCACCTCGGCCTGGTGACGCAAAATATTGCCCAGCATTCTGCCCTACAACTGACAGAGGCTG
+CGCGTCCGGTGCTGCGCGGCGAATCCTCTTTGCAACTTGCCGTGCCGCGTATCGTGGCGCTCAAACCGAA
+AGCGATGCAGAAATCGTTCGGCGGCAACTATGATCGCAAACTGTTCGCCAAATTACGCAAACTGCGTAAA
+TCGATTGCCGATGAAAGCAATGTCCCGCCGTACGTGGTGTTTAACGACGCAACCTTGATTGAGATGGCGG
+AGCAGATGCCGATCACCGCCAGCGAAATGCTCAGCGTTAACGGCGTTGGTATGCGCAAGCTGGAACGCTT
+TGGCAAACCGTTTATGGCGCTGATTCGTGCGCATGTCGATGGTGACGACGAAGAGTAGTCAGCAGCATAA
+AAAAGTGCCAGGATGAAGACTCCGTAAACGTTTCCCCCGCGAGTCTAATGTATGTTGATGTTATTCCTCA
+CCGTCGCCATGGTGCACATTGTGGCGCTTATGAGCCCCGGTCCCGATTTCTTTTTTGTCTCTCAGACCGC
+TGTTAGTCGTTCCCGTAAAGAAGCGATGATGGGCGTGCTGGGCATTACCTGCGGCGTAATGGTTTGGGCT
+GGGATTGCGTTGCTTGGCCTACATTTGATTATCGAAAAAATGGCCTGGCTGCATACGCTGATTATGGTGG
+GCGGTGGCCTGTATCTCTGCTGGATGGGTTACCAGATGCTACGTGGTGCACTGAAAAAAGAGGTTGTTTC
+TGCCCCTGCGCCACAAGTCGAACTGGCGAAAAGCGGGCGCAGTTTTCTTAAGGGCTTACTGACCAATCTC
+GCGAACCCTAAAGCGATTATCTACTTTGGTTCGGTGTTCTCGCTGTTTGTCGGTGATAATGTCGGCACCA
+CCGAACGCTGGGGCATTTTCGCGTTGATTATTGTCGAAACACTGGCGTGGTTTACCGTCGTTGCCAGCCT
+GTTTGCTCTGCCGCAAATGCGCCGTGGTTATCAACGTCTGGCGAAGTGGATTGATGGTTTTGCCGGGGCG
+TTATTTGCCGGATTTGGCATTCATTTGATTATTTCGCGTTAATGCCAGACGCGTCATCAGAGTAAGTCGG
+ATAAGGCGTTTACGCCGCATCCGACATTATTTTCACGCATGCCTCGCCGATGCTAACAGCGCTCCCACCA
+GCATAAATAACGAGCCGAAAATCTTATTCAGCGCCTTCATCTGCTTTGGTCCTTTAATCCATAGAGCAAT
+CCGTTGAGCAAGGGTGGCGTAACCGATCATCACAATAATATCGACCACAATAGTGGTGACGCCGAGCACG
+ATATACTGCATCAGCTGCGGCTGTTGCGGCATGATGAATTGCGGAAATAGCGCCGCCAGAAACACAATAC
+TTTTGGGATTGGTGAGATTGACAAAAACTGCGCGCTGGAACAAATGTCGACGCGATTGAGTGGAGGCCAG
+CGATTTAAGATCAATTGCGCCAGCGGCGCGCCATTGCTGTATTCCCAGCCAAATCAAGTAAGCTGCGCCT
+GCCCACTTCAACACTTCAAACGCAATCACTGAGCGGGAAAATAGCGTCCCCAACCCCACGCCAACCAGCA
+CAATATGAATCGCCAGTCCGGTCTGAAGCCCAGCAATAGACGCCACCGCGCCGCGATAACCGTGGTTGAG
+CGAGGTGGTCATGGTGTTGATTGCGCCAGAGCCTGGCGACAGGCTTAAAATGATCGATGTCAGCAGGTAG
+GCAAACCACCATTCTAAGGTCATGATGAACTCCCGGTGTGTCTATTTTTGTGCCACAATACGCTACTGTC
+GCAGCGTTGTGTCAGGCACGCTTAAAAAAACGATTTTACGTGGTTTAAGAGGCAGATTACCCGATGTTTC
+AGCAGCAAAAAGACTGGGAAACAAGAGAAAACGCGTTTGCTGCTTTTACCATGGGACCGCTGACTGATTT
+CTGGCGTCAGCGTGATGAAGCAGAGTTTACTGGTGTGGATGACATTCCGGTGCGCTTTGTCCGTTTTCGC
+GCACAGCACCATGACCGGGTGGTAGTCATCTGTCCGGGGCGTATTGAGAGCTACGTAAAATATGCGGAAC
+TGGCCTACGATCTGTTCCATTTGGGGTTTGATGTCTTAATCATCGACCATCGCGGGCAGGGACGTTCCGG
+TCGCCTGTTAGCCGATCCGCATCTCGGGCATGTTAATCGCTTTAATGATTATGTTGATGATCTGGCGGCA
+TTCTGGCAACAGGAGGTCCAGCCCGGTCCGTGGCGTAAACGCTATATACTGGCACATTCGATGGGCGGTG
+CGATCTCCACATTATTTCTGCAACGCCATCCAGGTGTATGTGACGCCATTGCGCTAACTGCGCCAATGTT
+TGGGATCGTGATTCGTATGCCGTCATTTATGGCACGGCAGATCCTCAACTGGGCCGAAGCGCATCCACGT
+TTCCGTGATGGCTATGCAATAGGCACCGGGCGCTGGCGCGCGTTGCCGTTTGCTATCAACGTACTGACCC
+ACAGCAGACAGCGATATCGACGTAACTTACGCTTCTATGCTGATGATCCAACGATTCGCGTCGGTGGGCC
+GACCTACCATTGGGTACGCGAAAGTATTCTGGCTGGCGAACAGGTGTTAGCCGGTGCGGGTGATGACGCC
+ACGCCAACGCTTCTCTTACAAGCTGAAGAGGAACGCGTGGTGGATAACCGCATGCATGACCGTTTTTGTG
+AACTCCGCACCGCTGCGGGCCATCCTGTCGAAGGAGGACGGCCGTTGGTAATTAAAGGTGCGTACCATGA
+GATCCTTTTTGAAAAGGACGCAATGCGCTCAGTCGCGCTCCACGCTATCGTTGATTTTTTCAACAGGCAT
+AACTCACCCAGCGGAAACCGCTCTACAGAGGTTTAAATTTCTTATGTACCAGGTTGTTGCGTCTGATTTA
+GATGGCACGTTACTTTCTCCCGACCATACGTTATCCCCTTACGCCAAAGAAACTCTGAAGCTGCTCACCG
+CGCGCGGCATCAACTTTGTATTTGCGACCGGTCGTCACCACGTTGATGTGGGGCAAATTCGCGATAATCT
+GGAAATTAAGTCTTACATGATTACTTCCAATGGCGCGCGCGTTCACGATCTGGATGGCAATCTGATTTTT
+GCTCATAACCTGGATCGCGACATTGCCAGCGATCTGTTTGGCGTAGTCAACGACAATCCGGACATCATTA
+CTAACGTTTATCGCGACGACGAATGGTTTATGAATCGCCATCGCCCGGAAGAGATGCGCTTTTTTAAAGA
+AGCGGTGTTCAAATATGCGCTGTATGAGCCTGGATTACTGGAGCCGGAAGGCGTCAGCAAAGTGTTCTTC
+ACCTGCGATTCCCATGAACAACTGCTGCCACTGGAGCAAGCGATTAACGCTCGCTGGGGCGATCGCGTCA
+ACGTCAGTTTCTCTACCTTAACCTGCCTGGAAGTGATGGCGGGCGGCGTGTCGAAAGGCCATGCCCTGGA
+AGCGGTGGCGAAGAAACTGGGCTACAGCCTGCAAGATTGCATTGCCTTTGGCGATGGCATGAACGACGCC
+GAAATGCTGTCGATGGCGGGGAAAGGCTGCATTATGGGCAGTGCGCACCAGCGTCTGAAAGATCTGCATC
+CGGAACTGGAAGTGATTGGTACTAACGCCGAGGACGCAGTGCCGCATTATCTGCGTAAGCTCTATTTATC
+GTAATCGTTCTTTATTTGGTCAGTTGTCAACCTGATACTTCGCTACAATGGATACTCGTTAATCAAAGAG
+TTTTCCATTGTGGCGCTACTTATCATCACCACGATTCTGTGGGCCTTCTCCTTTAGCTTTTATGGCGAGT
+ACCTTGCGGGGCACGTCGATAGCTATTTTGCGGTTCTGGTGCGCGTTGGCCTGGCGGCACTCGTTTTTCT
+GCCGTTTCTGCGTACCCGTGGCAATAGCCTGAAAACGGTCGGCCTGTATATGCTGGTGGGCGCGATGCAG
+CTCGGTGTGATGTATATGCTGAGTTTCCGCGCCTATCTCTACCTGACGGTCTCCGAACTGTTGCTGTTCA
+CCGTACTGACGCCGCTCTACATCACGCTGATTTATGACATCATGAGTCAGCGCCGTCTGCGCTGGGGCTA
+TGCTTTTAGCGCCTTGTTGGCGGTGATTGGTGCCGGGATTATTCGCTATGATCAGGTCACCGACCATTTC
+TGGACTGGCTTGTTGCTGGTGCAGCTCTCCAATATCACTTTTGCCATCGGCATGGTGGGTTACAAACGTC
+TGATGGAAACTCGCCCGATGCCGCAGCATAACGCCTTTGCGTGGTTCTATCTTGGCGCGTTCCTGGTGGC
+AGTGATTGCATGGTTCTTGCTGGGAAATGCGCAGAAAATGCCGCAAACCACGTTGCAATGGGGCATTCTG
+GTGTTTCTTGGCGTGGTGGCTTCCGGGATTGGCTACTTTATGTGGAACTACGGCGCGACGCAGGTGGACG
+CCGGAACGCTGGGCATTATGAATAATATGCACGTTCCGGCAGGGCTGCTGGTAAACCTGGCTATCTGGCA
+CCAACAGCCGCACTGGCCAACGTTTATTACAGGCGCGCTGGTGATCCTGGCCTCACTGTGGGTGCATCGT
+AAGTGGGTCGCTCCGCGCTCTTCACAAACGGCAGATGATCGCAGGCGTGATTGCGCGCTGAGCGAATAAA
+TGCTTCTGTAATCGGCTGACGCTGCTCGCCATCGCGCACGGCGGCGTACAGTCGGCTCCACAAGCCTTCG
+CCCAGGGTTTTGGTCACCACCAGACCCTGGCGCTCAAAACTCTCTACTACCCAATGCGGCAGGGCGGCAA
+TACCCATCCGCGCGGCAACCATCTGAATCAACAATAAGGTGTTATCGACGCTTTTCAGTGACGGGCTGAC
+GCCTGCCGGCTGAAGAAAATGCCGCCAGACATCCAGTCGGCTACGCTGCACCGGATAAATCAACAGCGTC
+TCGCTGGCGAGATCTTCCGGTGTAATTCGCGTTTTCGCCGCCAGTGGATGGTCAGGTGCTAACACCAGAC
+GCACTTCATAGTCGAACATCGGCGAATAATGCAGGCCACTGCGCGGCAGAATATCTGACGTCATCACCAG
+ATCCAGCTCGCCCTGTTGCAACGCAGGCTGCGGGTCAAACGTCACGCCCGATTTAAAATCCATCTCGACC
+TGCGGCCAGTTCTTATGGAAATTTTCTAACGCGGGCGTCAGCCACTGAATACAGCTATGGCACTCAATGG
+CAATGCGCAGACGCGTCTGCTGCGGTTCATTGCAGGCTTGCAGTGCCTGGCTAATTTGCGGCAGCACCTG
+ATTTGCCAGTTGCAACAGGATTTCTCCCTGCGGTGTAAAGCGAAGCGGCTGGCTTTTACGCACAAATAGC
+CGGAAGCCAAGGCGTTGTTCCAGATCGCTAAACTGGTGAGACAGGGCGGATTGCGTTTGATGCAACGTCG
+CCGCAGCGGCTGCGAGTGAGCCGCAGTTCCGCAACGCTTGTAGCGTTTTCAGGTGTTTTACTTCGATCAT
+GAAAGTCCTTCACTTCGGCATGAATAATTTGCGCTTGAGGAATATACAGTAACCGCCAATTATGGATGTG
+TAAACATCTGGACGGCTAAATACTAAAAATTCCATAAGGGGCATATAATGACAATTCTTAATCACACCCT
+CGGTTTCCCTCGCGTTGGCCTGCGTCGCGAGCTGAAAAAAGCGCAAGAGAGTTATTGGGCGGGGAACTCC
+ACGCGTGAAGAACTGCTGGCGGTAGGGCGTGAATTACGTGCTCGTCACTGGGATCAACAAAAGCAAGCGG
+GTATCGACCTGCTGCCGGTGGGCGATTTTGCCTGGTACGATCATGTACTGACCACCAGTCTGCTGCTGGG
+TAATGTTCCGGCGCGTCACCAGAACAAAGATGGTTCGGTAGATATCGACACCCTGTTCCGTATTGGTCGT
+GGACGTGCACCGACTGGCGAACCTGCGGCGGCAGCGGAAATGACCAAATGGTTTAACACCAACTATCACT
+ACATGGTGCCGGAGTTCGTTAAAGGCCAACAGTTCAAACTGACCTGGACGCAGCTGCTGGAGGAAGTGGA
+CGAGGCGCTGGCGCTGGGCCACAAGGTGAAACCTGTGCTGCTGGGGCCGGTTACCTACCTGTGGCTGGGT
+AAAGTGAAAGGTGAACAGTTTGATCGCCTGAGCCTGCTGAACGACATTCTGCCGGTTTATCAGCAAGTGC
+TGGCAGAACTAGCGAAACGCGGCATTGAGTGGGTACAGATCGACGAACCCGCGCTGGTTCTGGAACTGCC
+GCAGGCGTGGCTGGATGCGTACAAACCCGCTTACGATGCTCTGCAGGGGCAGGTGAAACTGCTGCTGACT
+ACCTATTTTGAAGGCGTAACGCCAAACCTCGACACGATTACTGCGCTGCCTGTTCAGGGTCTGCATGTCG
+ATCTCGTACATGGTAAAGATGACGTTGCTGAACTGCACAAGCGTCTGCCTTCTGACTGGCTGCTGTCTGC
+GGGTCTGATCAATGGTCGTAACGTCTGGCGCGCCGATCTTACCGAGAAATATGCGCAAATTAAGGACATT
+GTCGGCAAACGCGATTTGTGGGTGGCATCTTCCTGCTCGTTGCTGCACAGCCCCATCGACCTGAGCGTGG
+AAACGCGTCTTGATGCAGAAGTGAAAAGCTGGTTTGCCTTCGCCCTGCAAAAATGTCATGAACTGGCATT
+GCTGCGCGATGTGCTGAACAGTGGTGATACGGCAGCTCTGGCAGAGTGGAGCGCTCCGATTCAGGCGCGT
+CGTCACTCTACTCGTGTACATAATCCGGCAGTAGAAAAGCGTCTGGCGGCGATCACCGCTCAGGACAGTC
+AGCGTACGAATGTCTATGAAGTGCGTGCTGAAGCCCAGCGTGCGCGTTTTAAACTGCCCGCGTGGCCGAC
+CACCACGATTGGTTCCTTCCCGCAAACCACGGAGATTCGTACCCTGCGTCTGGATTTTAAAAAGGGTAAT
+CTCGACGCCAATAACTACCGCACGGGCATTGCGGAACATATCAAGCAGGCCATTGTTGAGCAGGAACGTT
+TGGGACTGGATGTGCTGGTACATGGCGAGGCCGAGCGTAATGACATGGTGGAATACTTTGGCGAGCATCT
+GGATGGCTTTGTCTTTACGCAAAACGGTTGGGTACAGAGCTACGGTTCCCGCTGCGTGAAGCCACCGATT
+GTTATTGGTGACGTTAGCCGCCCGGCACCGATTACCGTGGAGTGGGCAAAATATGCGCAATCCCTGACTG
+ATAAACCGGTGAAAGGGATGTTGACCGGCCCGGTGACTATTCTCTGCTGGTCGTTCCCGCGTGAAGATGT
+CAGCCGTGAAACCATCGCCAAACAAATTGCGCTGGCGCTGCGTGATGAAGTCGCGGACCTGGAAGCCGCT
+GGAATTGGCATCATTCAGATTGACGAACCGGCATTGCGCGAAGGTTTACCGCTGCGTCGCAGCGATTGGG
+ATGCCTATCTCCAGTGGGGCGTGGAGGCTTTCCGTATCAACGCCGCCGTGGCGAAAGATGACACACAAAT
+CCACACTCACATGTGTTACTGCGAGTTCAACGACATCATGGATTCGATTGCGGCGCTGGACGCAGACGTC
+ATCACCATCGAAACCTCGCGTTCCGACATGGAGTTGCTGGAGTCGTTTGAAGAGTTTGATTATCCAAATG
+AAATCGGTCCTGGCGTCTATGACATTCACTCGCCAAACGTACCGAGCGTGGAATGGATTGAAGCCTTGCT
+GAAGAAAGCGGCAAAACGCATTCCGGCAGAGCGTCTGTGGGTCAACCCAGACTGTGGCCTGAAAACGCGC
+GGCTGGCCAGAAACCCGCGCGGCACTGGCGAACATGGTGCAGGCGGCGCAGAATTTGCGTCGGGGATGAT
+GAGTATTAACGAGTCATTGTAAATTGCAGTACGATAATGGCTTCCAGTACTGGAAGCCATTTTGCATGAG
+TGCCAGATTGAAGCAGATCTTCAGGAGTAGAAATAACCGAATCGTTTTTTTCGCAAAACACAGTTTTGAG
+TGATTCCGTTCAGTAATCAACGCTACGTTATTTATTCTCACGTTGCACGAGATTGTATCCCTTTTCACTA
+ACGTGGTAGTGAGGCATAGACTTATGCCCGCTATCCTCAATAATAACCAAACCTTCGTTAGCTAATTTGT
+TAACAATATTAACAACATTACCGAATCCTGGTATTTGCCTTATGGATAGTGTGCGATCGAGATTCATCCA
+GTTCCAGTTTATATCTTTCTCAGTCATAACGTTCAGCACGTTAAGTTCATTTTTAGTGATCACGATATTC
+TGTACCAAAATTGATGAGTATCTTATTGAAAGATCACAATGTAAATCATGCTCCTGTAATGGCTGGATCA
+GAAGAGGTTGTCTTGTTGTTCTTTGATAAGATTCAATCCATATTGAGAAACTCTGTAGCGTGGTTTAGAG
+TTGCCCTCACCATTTACGATATCAACCAACCCATGATTAACCAGCTTTGTTACGATATTCGCTACGTTGC
+CAAATCCTGGAATATTTCGTATAGCTAAAGTACGATCCAGCACCATCCAGCTCCAGTCAATATCTTTCTC
+AGCCATAACTTTCAGCACGTTAAATTCAACTATCGTAATCGTCATTTTTTTGCATCCGGATGAAATAAGT
+CAGTATCTTTAATTTTAAAGTCTTCTAGAGTTGCAGTATGTGCATTATTCCATAATTCATATCCATCTAA
+ACCATTCGGTTCACCTGTTTCCCATCCTAAATTACAATAACGCTGATACTCGCGGCATTCATGAGTATAG
+TAGTTCAGATCGTATTTTTCAGGAAGCAATTCTTTATTTGCTATTTTTTTTAGCCTTGAAATCATTACAT
+CATTAGCTGGATCATGATCAAATCTGGAGATATGCTTTTCAACAATAGCGATACCTTCCCTATTGATTGT
+TACGCCATCTATCGTCAGGTTTTCTATTGGACCACCGGCAAGGTCGGGATTAAATGGTCTTCCTGATACT
+GCTCCTCTGGCTCCGAAATGCTCAAATGATTCCAAATCAGGGAATCTCATTCTTCCCAGAACAACTCCAG
+CAACTATTGAAGCACCAGCGATGAGTAACCCTTTGTTATCCATAACTTGATCGTAACCAGCAGGTGCATC
+TCCTCCCAACTTGTTTGCTGTTTCCCTGAATCCTTCGATATTCCCATTGTATATGCCGCCAGCAGCAAGC
+AGTCTGCCAACCGCTTTACTATTGAGTGTTTTGAGGCCATTATTATCTTTAGTTTTTTGCCGTGGTATAA
+ACAGACGGTTGTAGTTATCGGGAAATGCCAAATGACTAAATTCAGTATTAGCAATCAGATGCCTGGAGAG
+TATATATTCATAACTGACAGTGATGGTTTCTGTATCCAGATTGTTCTCAGTAAACAGGTGATTGATTGCT
+GATAAGAGCGCGCCGCGGAGTTGAATGTTGTAATATTTCTCCCATCGACCAAATCTATTGATCCGATAGA
+AGTCAAACTCCATGAACAACTGCTCGTTATTGTTAATAGCGTTAATAAGTAACGGGGAGCTTTTGTCAAT
+CAACTTACAGAAACTAAGGCCATGTAATTGTGACCCTTTGCCTGTATTCGTAATACTATTAGATAGCGAG
+AACGCGAAGATTTCATCTTCATGGCCAATCTGCCAGCGATTACCTATTGATGCGCTCGTTCCGCAACGAG
+AGGAAATACATCCTTGTTGTTCTCCGGTTATGGTCAGGTAAATTTCATCACTCATCTTTGATGAACTCTC
+TTTATTGCTTGATGTTTTAAAAATAAACAATATTGCTATTTGTTTATAATTATTTACTCCTCAAGTTAAT
+GGATTTAAATATGGGAAATAAAATGTTTCACTTTAGACCAGTTTTCATGAGGAAAATCTGTAATCATTAA
+TAATAAACATGAATATTTTGCAGTGATTAATATTTGTTATGAATATAATCTATAACAATGAAGAGTTATC
+AGTTGTTCGGTGTATAGCCAGAGACGAGTTCAGTTTGTGATTTTTACAGGGCAGTTACAGCCGCAAAATT
+TTATGGCTGATTTCACCTTCCCCTCAAGCTTATCTTTCTTAAAAAGAGAAATAATTCTTAAATTCAAATA
+GTTATATACAATCTACTCTCTTTCTTGTGACTAGCTTCACATTTCATACTGATGCATTGGAATGAAATAA
+AATTTCATGAGATTTTGTGTTTTAGAAAAATTATTTCATGAGGTGTGAAATGGACGCAAAGCTGTACATC
+ACTGAGATCATCAATGAATTAACCTTCGTTAAGGACTCTATCCGTGAGGATGACTGCACCAAATTGATCG
+ACGCTATTCAGCAAAGCCAGCGCGTTTTCTGCTATGGCCTGGGGCGTGCCGGCTTTTCCATGAAAGCCTT
+CACCATGCGCCTGATGCATATGGGCAAAGAGGTTTACTTCCTGACGGAAACCATTACGCCGAACTTTGGG
+CCTGGCGATCTGTTTATCGTTTCTTCCGCTTCCGGTGAGACAGCACAACTGGTGGCACTGGCGAAAAAAG
+CACGTCAGTTTGGCGGCGCTGTGGCGGTGTTAACCACGAATCGACACGCCACTATCACCGAGTTTGTCGA
+CGTCATCGTGCAAATCAATGCCCCTTCCAAAAATCAAAAAGATTCTGTTTTCCGCTCGGCACAGCCGATG
+GCGTCGTTGTATGAGCAAGCTTTGCTGGTGATTGCCGATGCATTAGTGATGAAGATGGCTGCTGAAAGCG
+GTGCGCCGGAAAGTGAACTGTTTAAGCGCCACGCCAATCTGGAATAGTCGTCGCCGTTATTTGCTCGATA
+CCCTACAGGAGAATAAAAATGAGCAAAAAAATAACATCCTTGTTTAACTTCAAGAAGTTGCAGAAATTTT
+CTTCTGCTCTGATGTTACCAATCGCCATTCTTCCGGCGGCGGGTTTGATTTTAGCCATCGGGATTTCATT
+TAACATTGAGCTGCTGGCGAATTGCGGCGGCCTGATTTTCGCCAACCTTCCTTTGCTGTTTTGTGTCGGT
+ATTGTGATTGGCCTGACAGGTGATGGTTCTTCATCACTTTCAGCGATTATCAGTTACATGATCATGAATG
+CCACGATGGGAACGCAACTTGGCATTACCGCGGAGTCCGTTGCAGCCAGTAACGGTGACTATGCGATGAT
+CCTCGGGGTACCGACGTTACAAACGGGAGTGTTTGGCGGTTTGATTGTCGCCATCTTTGTTTATCTGCTC
+TATACCCGCTTCCACAATATTGAATTGCCTCAGTTTCTTGGTTTCTTCGGTGGAAAACGCTTTGTACCGA
+TTATTACGGCGGTGGCGGCAATTATTGTCGGCTATTTATTGCCGTGGCTGTGGATACCGGTACAAAAAGG
+TCTGGCGTCGCTTTCAACGCTGGTGACCAGTGGGCATAACGCGAACTTCGCGGCCTTTATTTACGCCGTT
+GGCGAACGTTCGCTGATTCCTTTTGGCCTGCATCATATCTGGAACGTGCCGTTTTATTACAACTTTGGCG
+ACTACATGACCAAATCCGGGCAACTGGTGACGGGCGATATTCCGGTGTTCTTTGCCCAATTGCGCGACGG
+TGTTCCGTTGACGGCGGGGTTGTTTATGACAGGTCGTTTCCCAATCATGATGTTTGCGTTACCTGCCGCC
+GCGTTGGCGATGTATCAGGAAGCAAAACCGGAACGTAAGGCGCTGATTAAAGGCCTTTTACTCTCCGGTG
+CGCTGACCACATTTGTTACCGGGATTACGGAGCCGCTGGAATATGCATTTTTGTTTGCAGCTCCGGTTCT
+CTACATCATTCACATCTTCTTATATGCCACTTCATTTGTGCTGATGAACATCCTGAATGTGCACATTGGT
+CATCCTTTTGCTGGCGGTCTTATTGATTTCGTACTGAATGGCGTTATGCCAAACCGCACGCTGTGGTATC
+TGGTGTTCCTGGCAGGCGCGGGCTATGCAGCGATTTACTACACCGTATTTCGGGTACTGATCCGCAAGTT
+GAATCTGAAAACACCGGGACGTGAGGATGAAGAGATTGCCGTTGCAACCACATTAACGCGCGAAGAACGT
+CCATACCAAATCATCGAGGCAGTAGGTGGTTTCGACAATATCGAAGATGTGGATGCCTGCGCAACACGCC
+TGAGGCTGGCGCTGGTAGACGATAAGAAAGTGAATGAAAAACGGCTGAAGGAGTTGGGGGCTGCGGGTTT
+AGTGAAACTGGGTGATGGCGGTGTACAGGTGATATTTGGCGGCAAATCGCAAATCCTGCGCGACGAAATC
+AAAACCGTAATGAGCAGACCGCGCCCGACAGAAATGACAGTGGCCTGTGCTAACTAATTCGAGATTAGCG
+GGCTGGTTTCAGCCCGCCAGACAGAGAGAGCTGAAGTATGAATTCACAATTACTGGCTAACGCCATCCGA
+ATGTTAAGTGTTGATGCGATCCAGAAAGCGAACTCCGGTCATCCGGGCGCGCCGATGGGGATGGCGGATA
+TTGCCGAAGTGGTCTGGCGTCGTCACCTGCGTCATAACCCAAAAAATCCGCAGTGGTTTAACCGCGACCG
+CTATATTCAGTCGAACGGGCACGGTTCCATGTTGATTTACGCTTTGCTGCATCTTACAGGCTACGACCTG
+TCGATGGATGATATTCGCGACTTTCGTCAGCTCCACTCCCGCACGCCAGGTCATCCAGAATATGGTTATA
+CGCCGGGTGTTGAAACCACCACCGGCCCGTTGGGGCAGGGCGTAGCTAATGCGGTGGGGATGGCGATTGC
+GGAGAAGGCGCTGGCGGCAGAATTTAACAAACCGGGCTTTAATATTGTTGATCATCACACATGGCTATTT
+TTGGGTGATGGCTGCCTGATGGAAGGGATCTCCCACGAGGCCTGTGGTCTTGCAGGAACGCTGAAGCTCG
+GCAATCTGATTGCTATCTGGGACGATAACGGTATTTCGATCGATGGTCACGTAGAAGGCTGGTTTGCTGA
+AGATACGGCTGCCCGTTTTCGTGCCTACGGCTGGCATGTCATTGAAGGCGTTGATGGTCACGATCCAGAA
+GAGGTAGATGCTGCGGTGCGTGAAGCGAAAAGCGTCACGGATAAGCCCAGTCTGCTGTGCTGCAAAACGA
+TTATCGGTTTTGGTTCGCCAAATAAAGCCAACAGCCACGATTGCCACGGCTCGGCGCTGGGTGCAGATGA
+AGTGGCGCTGGTGCGTGAACGTCTGCAATGGCCGTATGCCCCTTTCGAAATTCCTGGTGAAATTTATGCC
+GCATGGGATGCGACCGAGAAAGGCGCGCAGGTTCAACAGGAATGGGATGCACTGTTTGCTGACTACGCGA
+AGCAGTGGCTGGAACTGGCGGCGGAGTTTACTCGTCGCATGAAGGGTGATTTGCCTGCTGGCTGGGCCGA
+GAATATGCAGAAATATGTGCACGATCTGCAATCCCATCCGGCGGCGCTGGCAACCCGTCAGGTCAGCCAG
+AAATGCCTCAATCACTTCGCGGATATGCTGCCGGAACTGATGGGCGGCTCGGCGGACTTGTCGCCCTCTA
+ACCTGACTCGCCATCAGAAATCGGTTGATTTCACCGGGGAAAATCCGGCGGGGAATTACATCTCCTATGG
+CGTGCGTGAATTTGGTATGTCGGCCATCATGAACGGTCTTGCGCTGCATGGTGGGTTTATCCCTTACGGC
+GGTACTTTCCTGATGTTTATGGAATATGCGCGTAATGCACTGCGCATGGCGGCGCTGATGAAGATCCGCT
+CGGTGTTTGTTTATACCCACGATACCATCGGCCTGGGCGAAGACGGCCCGACACATCAGCCCGTTGAGCA
+ACTGGCGTCGCTGCGTCTGACGCCGAATATGGAAACCTGGCGCGGTTGCGATCAGGTGGAAGTGGCGGTA
+GCCTGGCAACAGGCGATTGAGCGCAAAGATGGCCCAACGTCGTTGGTATTAACGCGCCAACCTCTGGCGC
+AACAGCCGCGCACCGCTGCACAGTTGGCAGAGATTGCGCGTGGTGGTTATGTACTGAGTGATTGTGACGG
+TCAGCCTGAGATGATCCTCATTTCTGCGGGTTCAGAGATTGAGTTAGTGGTCAGCGCCGCAAAAGCGTTA
+ACGGAAGAAGGGCGTAAAGTTCGCGTGGTTTCCCTGCCGTGTACCGAGCGTTTCGATAATCAGGATGCGG
+CGTACAAAGAATCGGTATTGCCAAAAGCTGTACGCAAACGTCTGGCGGTAGAAGCCAGCATCGCCGGATT
+CTGTGAACGCTACGTCGGTCTGGATGGTAAAGTCATTGGGATGACGAGCTTTGGTGAGTCTGCTCCGGCG
+AATGTGTTGTTCAAACACTTTGGTTTTACGCCGGAAAATGTCCTGGCGCAGGCGCGTGAGCTACTGAATA
+GCTAAACCTGCACAAGGGGTGAAAGGATGACCTTTTACCCCTTGAAACGGGAGCCGAGAAACTCTTCACG
+GGTGCGGTATTTCTCGTAATGCGCCTTGTTTTTATACATAAACAACAGCACCAGCATATCAATAACGCCC
+ATTGCCGGAACGCGAGTGGAGTCGAAGGCTTCAAAGAAGATTTTATCGCTGACCGCGGTATTGAGTTGAT
+GGGTGGAGAGTTTTGATAACGGAGATTTAATATAGTTAGTGATACAAACGGATTTGGCACCGCGCTCTTT
+CACCACTTTAAAGATATCGACCATTAAGTTGGTGCTGCCAGAGTTAGAAATACCAATCGCCAGGTCGCGT
+TTCCCCATAGAATATGCCGCATTAATTTGCATTTCCGGGCTGACGTGAACAACGGTTTTTAATCCGAGTT
+GGCTGAATTTATAAGCACCATAAACGGCCAGAGGGTTTGAATTTCCGGCAGCAAAAAAGAAAATAGTATC
+GCAATTAGCAAGTAGTTTGAGAATGGACTCAAGCACTTCGGCATTAAAAAATTGCGTTGATTGTATTAAA
+TCTTCGGCCTGTTTTTTTAATAAAAATGTGGCCAGCGACGTTATATCGGTAAAATCGGTATTATCAGGAT
+AGCTATTGTCAGGATTAATGACTTCTTTTGCTAATGCAATTTTTAAATGGTAATAACCCTGATAACCTAA
+TTTCTTACAGGTGCGTACGATAGTCGCTTCACTGGCATGGCTTTTTTCTGATAGTTCAGTGACACTATAG
+TTCACGACTTCATGTGCGTGGCTAAGAATATAGTCAGCGACCTTTTTTTCCGCCTGATGCAGTGTAGGGT
+AATTGCTTTGAATCAGACTTTTTACGGTTATGTTATTCATAATTAGTAAATTTCATTCTGACAGAAAGTG
+CTGATTATAACATAGTTTTCAGGCGTGGATAGGTGTGAAAAAAATGAAGGTGTGCAGTGAACGTAATGAT
+TAACAGACCGGTTAATTTTCATGAATTACGTCAACTGCACAAAAATAATTTAAACGGGTGCTCTAATTAA
+AGCAAAACTTATATTTTTATCATTGTATTGTCAATTAAATACAAATTGTGTCATTAATTGTGGGTTTCTT
+AAATATTCTATGCACCACTGACAGGCTTTGCCCATACCATCGGAACGAGCGGCAAGAAATAACTTGGTGG
+CGTGTTTATGTTCGCGCATTGGCTTTTTAAGCAATTTACCGCTGTTCAATAACGGCAATGCCAGATGATG
+TGGAATATAACCAATACCGACGTTTTGTTCTATTAAGGCGATTGCCGTAGCGAAGTCAGGAACAAAAATG
+GGTTTTTGTCCTTCCAACAACCAGGCTTGCATCGGGGGGAAGTTAACGGAGGTATCGCGGATACAAACCG
+CTGGATAGTGACGCAATTCACTGTTTTCTAATGGATGCCGCTTCGCTGCCAGTGGGTGGAGTGGGCTGAC
+GACAAAATCCCATTCCATTTGTCCGACCGGTTCGCTAATGATGCCTTCACTGCTTGGTACTGCATGAGGA
+GCACCGTAGACCAGATCAGCACGCTTACTGTACAGCGCATCCCAGCAGCCGTTGTATACCTCAAGATCTA
+CCGTCAGTGTTGTTGATGTGAATTGCCGTTCAAAATCTCGAATAAATGCCACCAGCAAATCACCAGGAAT
+AATATTGTTCACCGCAATTGTCAGTTCACGCTCAATACCATCGTGAATCAGCACTGTGTTGCGCTTTAAT
+GCTTCCAGGTCGCCAAGAATAGTTTTGCTATGTTCGATGAAGTAACTTCCCGCTGGCGATAATTCAATAT
+AGCGTCCCTTACGAATGAACAGTTCAACGCCCAGGCTCTCTTCCGCTTTCTTGATAGTGTAACTGATGGC
+GGAAGGGACTTTATTTAACTGCTCGGCTGCGGTGGTAATGCTCTGGTGTCTGGCGACCAGATGAATAACA
+CGAAGCGTTTCGTCTGAGATGAACATAAGGCTCCCTGGTCAGTGGTAAAGTGGCTGAATCTCTCCAGATT
+CAGCCGTAATCATTGCCTGAGTATACCCAGGAATTAGCGGTGTTGACTTGCCCGACTGAGAATCGCATAC
+GCGATACATGCCACCAGAATCGAGTCTACCGAAGGGATCGTCGTCAGGGTGAATAAGCCTTTTACGGTCA
+TAAAGCCAACCGCTGCGCCTATGATCCATGCTGCGAATGTCAGCACTTTAATCTGTGACTCCTGGGCTAA
+CACTGACTCTTGATAGCCATTACGGCGATAAAGGAAAAAGTCAGCGATATAAATTCCGGCAACGGGTGGC
+GTGGCGATACCCAGGAACAGCAGAAACGGAATAAACCACGCCATAATATCCATACTGCCTACGATGGCGG
+AAAGGATACCCAGCGCCACGGTAATCTGCCATTTGGGAAAGCGGGTAAGCAGTGTGGAAACCACCAGCGT
+GCCCTGGAACATATTGCCCGCGTTACCGGTGACGCAGGCGAAAATCAACAACAGCGCCGCAGGCAGAACC
+GCACCGAATACCGCCATCGCACCCAGTAAAGATCCCTGACCACTAATGGCGCTCGGCGTTGCACCCGCCC
+AGTAGAGCAGAGGGTAGGCAACCAGAAACGTCACGCCTGCGGCAATCAGCGCATGTTTGCGGTTATGCAC
+AAAACTACCGAAATCAGGCAGTGTGGCAACCAGCACAATAATGGTGCCAACAACGGTGGAAACGGCGACA
+CCTGTATTCATCTCCACAATCGCCGCTGGTACTGCCACTTCGGTATGGGTTGCCACATAGAGGATGTAAC
+ACAGCACCAGCGCGATAACCGGCACGGCAACCTGGGCAATTTTTCCCAGAACGGTAAAGCCAAATGCCGT
+AGAGGCGACAAAAATGACACAGCCAGCCGCCACTAACAGTGCCAGTGGAACTTCCAGTCCATGTTGAGCC
+AGTAAGTCATGTACCGAATGACCAAACATATTGGCGGTAACGGCAATCCAGCCGAACAGACTTATCGCCA
+TCAAAATGTTAATGGCGATGGCCCCTTTTTCGCCAAACGAATATTTCACAATGCCATACGTTGGCAGGCG
+GGCTTTTTCTCCCACGCTAATGGTGATGGCTGAAAGTAAGGTCAGAATGACGCCGCCTAACAATACGACG
+CTAATTAAACTGCTGCTGGAAAGTTGATTGCCGAGGCTTGAGGATGACAACAGTACAGGTGTGACGGCAA
+TACCCAGCAAAATCATGGCAATACGCAATCCTGATGCCGTATTCAGATTCTCTTCTTTTTTACGCATAGT
+ATGTTCCCTTTATAAATGCGCGTTACACAGTATGAAAATGCCCGGTGTATTTGCGCCAGCTACCCAGTTC
+TGTAATTTCCCGTTGGCCTTCGGTCAGCCAGTTTTCTGCCAGTACGCCCAGCACTTCGCTACCATCGGCA
+AGTTTGATTTTGCCAATTGCCAGCCCAGCGGGTTCGCTCATTAACAGAGCGGCAAAACTGGCCAGCGGTA
+ATTGCCAAATTTCTACGTCGACGTGTGTTCCTCCTTCATTCACGCGAATCATTCCCGGATGGCGATCGTT
+AATACTCCACAACCGGTAATGGGCGTCAGTTCGGTCTTCACGGACAAAAATACCGCCCGCTTTTTGCATA
+TTGGGGTTGAGTTCCAGGCCGCGCATCAGCGTTCCGTTAACGGCTAAAAGCGTTGTAGTCATTGTGTTCT
+CCAGAGAATTAAAGGGTTATCCATGTACCGCTCTGATGCGCCAGGGCTGCTTTTATGGTTTGCGGTGAAG
+TAATCAGGCCGCTGGCCTGTTTGCCTTGTTGCTGGCTGGCATTGATGAAATCAACAATGGCTTCCACTTT
+GGGTTGCATACTGCCGACACCAAACTGACCTTCCCGCAACAGCGTTTGCGCTTCGGCAACGCTGATAGCG
+TCGAGCCACTGTTGTTGTGGTGTACCAAAGTTAATCGCCATTTTTTCTACACCGGTGGGGATCACCAGCA
+GATCTGCGCCTAACTGACTGGCGAGCAGCGCGGAGGCCAGATCTTTATCGATCACGGCTTCTACACCTTT
+CAGTTGTTGCCCGTCTCGCACCACCGGAATACCGCCGCCGCCGCAGGCAATAACCAGATATCCCTGGCGC
+ACCAGGTGAGCGATGGTGTCGTGCTCAATAATTTCCAGTGGTGCAGGAGAGGGAACTGTACGCCGCCAAC
+CACGCCCGGCGTCCTCCATCAGCGTCCAGCCGAGTTGTTGTTGGCGTTGTTGGGCCGTTGCTTCATCGAG
+AAACGCGCCAATCGGTTTACTGGGGCTGGCGAAAGCATCGTCATGTGGGCTGACTCGCGTTTGTGTCACC
+AGGGCAATTACCGGTTTGTTTATGCCACGGCGAGCCAATTCGTTATGCAGCGCTTTCTGGAACATGTAGC
+CAATTGCACCTTGTGTATCACCCACGGCGTAATCAAGTGGAACCGGAGAAACTTCGTTACTGGCGAGTTC
+AGAGCGGCGCAGAATAAAGCCCACCTGCGGGCCATTACCGTGGGTTAGCACCAGGTCCCATCCGGCTTCA
+ACCATATCAACGATATGCTGCACGCTTTCCATCACTGCAACATATTGATCGGGAATACTATTGCGTTGCT
+CGTCCTGAATGAGCGCATTGCCGCCAACCGCGACGACAGCCAGTGGCTTAACCATGATGGTTCTCCTTTG
+CGACGATCTCCGCCAGTGCACGTACAGCGGCGACAAAACAGGCCATCGGCGCAGTGGTGATCCCGGCACC
+AATTTGCCCGACCCCCGCTTGTTTGTGGGCGATACCCGTATTGATGACCGGTAAAATGCCGCGATCGGTC
+ACTTTACGCGCATCAATCCCTGCTGCGGTGGGGGCAAAATTGAGGGCTGGAAGTGTAAATGCGGGGTTAC
+CGCCGAGGGTGATGGCTTGCATCCGACGGCTGTTATTGGTGGCATCGGCAGGGGTGCCTCCCACAAATTT
+GACGATCGCCGGAGACGACGCCATCGCGAAGCCACCCACACCTGCGGTTTCAGTAATTGCGCTATCACCC
+AGGTCAGCAGCAGCGTCGTCAACGCCAAATCCGGGGAAGAACAGACCTTCAACGGCATTGGCAGGAGCCT
+GGAACCAGCGATCGCCAGTACCGGAAATCCGAATACCAAAATTCACCCCGTTACGCGCCATCACCGTAAC
+CATTGAACTGAACGGTACATTGGCGGCGGCATCCATCATTGCTTTACAGGCGGCCATCGACAGATTGAGG
+AAGAAGTGATCGTTACCGGTGATAAATGCCACGACGCGCTGGATATGTTCCTGTGGAAGAGAGCAGGCCA
+GCAATGCCGGGAGCAGGCGCTTAATCAGCAAACCGGTAGCGGCAGCATTGCGGTTATGAACTTCATCCCC
+CATATGCAGCGCCTGCGCCATTAATGGCTTGAGTTCCAGCTCGCCGTGTTGTGCGATTGCTGCTTTCATT
+GCCGGCGCCAGTTCATCGCGCATCCAGGCCAGACGATTGAGAACTTCATCGTTATTGGCGCCAAAACGGA
+GAACCTTACCCAGACCTTCATTGAAATTGCTAAAAGTACGGTGGCCGTTGGTTTTGTTTTCTACCACCCA
+TAACGGCATCGACGGGCTGATGATGCCTGCCATTGGGCCAACCGCGTGATAATGATGACAAGGGGCAAGG
+TCGATTTCGCCTGCGTTTATTTGGTTTTCAGCGTCTTGCTGGCTGGTGGCCCAACCTTCGTACAGCATGG
+CACCAATAATCGCCCCTTTTACCGGACCACACATCTCTTCCCAGGCAATCGGCGGGCCAGAGTGCAAAAT
+ACGTTTTTGTTCAGCCATTGCTGGAATGGCCTCTTTAGCGAGCATGACATCTACCAGCACGGGCTGTGCT
+TCGAGATAACGTGTCATGGCGATTTGGTTGGCATTTTCTACCAGTGGATGACGTAGCAACGATGCCAGAT
+CCAATCCAGCGTCAATATCGCCTTGTGCTGGTGGCTGCCAGTTGAGTGCAATTGCGCTTCCCCCGGCATG
+TTGAATATTGTCAGCAAAACTGTGTAGTCCCGCGTTCACAACCTTCAAAGGCTGATTAAATAAGGTATTC
+ATGCGTTTAGCCCCTTTTTCTGCAACTGAGTCTGTGCAACGGTGCTGGCCCATAGCGCCGCCTGTGCATT
+GCTGCTGGCGATGATGACCCCTGCATTTTGTAGTGCTCTTATCTGCTGACTGCGTATTTGCGGATCAGCT
+TCCGTTCCGCAAACGTGCGCAATCAGCAACGGTGCGTTATTCATGTCGATGTGTGAAAGTTGGTCCAGTA
+ATTCGCTGGCAGGCGTCGTGGAAGCGCCATAACCAAGTACCAGGTCGAATAACACGACGGCAGTGTGTGA
+GTCGTTGAGTTCGTTGAGCAGACGTTGATTGCGCAGAGTCGGGTCGATCATTGGATGCGGTTTGCCACGG
+GTGAAATCATCGTCGCCCATATCGATCAACGTGTGATCTTCGCTTTGCCAGATATTTGCCAGAGCACGAT
+TACCCGCAACTGGCGTATTGGAAGCTGCGCTGAATCCCTTTTGTTGGCAGATAAGTTGCGCTTCGTAGCA
+GAAGGTTCCTCCGGCGAAAACACCGCGTATCGCCTGGCGATGGGCTGGCAGACGCTGGCAGGCGTTTTGT
+AACATTGTGAGATCGTCGCAGGAAATCTCGGTCTCGACAGCCGGAATTGGCTGATCATTCAGTAACGCTA
+CGGCGATATTTGCGGCGCTGGCAAGTGTGGTGGCCGCGGTGATATTGGGACGTGCCAGATCATGCGGATT
+CGCACCGAGGAAATTCACCACCACGGGTTTTCCACAAGCCTCGGCGCGCTCCAGAATAGTCTGGGCAACG
+ATCGGTGAAGGCGGTTTTGAAATCAGCACAATCACGCGAGTTTCATCGTCTTGCGCCAGCGCATCTAAAG
+CGAAGAGCATCGATATTCCACCAATCTCTTCACTGAGATCATGTCCGCCTGTTCCCAACGCCTGAGAAAT
+ACCCGCTCCGAGCTGGTCGATTCGGCAAGTCACTTCCTGTAGCCCGGTGCCTGACGCGCCAATAACACCA
+ATTGCTCCGCGTTTCACCACATTAGCGAAGCCTAACGGAATGCCGTTAACAATGGCGGTTCCACAGTCAG
+GTCCCATTACGATGCGCTGACGTTCTCGGGCAAGCGTTTTGATAGATTTTTCCTGCCCGATACTGACGTT
+ATCGCTGAACATCATCACGTTCATTCCGAGGTTTAACGCTTTCATTGCTTCGGCGGCGGCGTAGTCTCCC
+GGTACAGAAATGAGTGCCAGGTTGGCCTCGGGTTCGGCTTCCAGTGCCATTTCCAGGCTGACCTTTTCCG
+GTGATTTAATGCCACTATCCGTTTCATCATCGGGTTTGCTGGTCAGACGTTGCTGGGCCAGTACCAGTGC
+TTCATTGCAAATATCTTCTTCACCCATGACTGCAATCACTAAATCATTGGGACTGGCGTTGATTTCGTTA
+CCCAGACCCGCATCGCGCAATTGTTCGAGATTATTGGGCGTTCCCATGACGACCGAGGCCTGTTGAATAC
+CGGGCAACTTGCTGATTTGCGCGGAAATCTGCATCAGAGAAACTGAGTCCTGATAAAGATTACTGAAAAC
+TTTATATTTAACTTTCATGCTGTTACGCCTGTTTCATTCCGCCCGATAGCAAAATTCGGGCAAAGCATCC
+CCGTGTAGCCCCATAAACGGGCTACGGGAGAAAAGGTTGAAATCAATTCATGGTGTTCAGGGTTCGAAAG
+CCATGCAGCATTCCTGCAAGGCAATCTACTCCTGACGTTGCGCCAAATTGCATGACCTGTTCTGCACAGG
+ATGCGATTGTCATTGCCGATGCGCTCCCAACCAGTTGTGCGAGTAACTGGCAAATCGGTTCTGAAAAATG
+TCCCTGAAGCGCACGCTCCAGATAATGACGACTGATATCCGTGGTGTTGTGCGCATGTTGATCAATTGCC
+TGCTGCAACCGGTATTGATGATCGGCAAGTTGTGCAGGGAGTTGCCATAACCAGAGCGCTGCCAGATAGC
+CCAACAAATAGTCATCTCCATCGGGCGTTAAGCCTTTACCAAAGCCGATCAGTTGTGGCACCTGGCGTTC
+CAGCGCATCTGGATGCTCCATAATCGCTAATCCCTGGTGCGTGAGACTATCCGGCAGGTGCAATGTGCTT
+TGAACGTTATGTTCCAGACAAAATAAAAGCCGTTGCGATGCCATCGTTGGGTAGTGCTGGAAAACCAAAG
+GGAATGCCTCAAATGTCAGCATTCTCCCCACAAATGGCGACTGCCAGAGCGTTGCGTTTTCGAGCGCCAC
+ACAAAATCGAGGTGTCCGCAGTAAGCCTTGGGTTAACTGAATGGGATCTGAATGGGCAATCTCTCTTCGC
+CAGTCCCAACATTCAGGTAGCCAGACTCTGGCAGCATCAGGGAGATTCAGATACGTTTGCGCACACAACA
+GAGTGATGAATGTTCCCGCGTCTGAATACAGATTTACCGCATGTTTAAAAGCGCTATGTAGACGTAAATC
+TTGCGTTTCATTCTGCGGGAAAAGATATCCCAACGACGATGCGCAAAGCGTAACCTGTACCATCGGCGTT
+AGCCTTCCAGACCTGCAATAATGGCTTTGGAATCAGTAATCCAACCGAAAATGGCACCTTGTGCTTTGAT
+CATCTCAAGGGCGTATTTCTGGAATTCCGGGAAATAGGAGCCGACACAATCTTCCGGGATAATGCATTCA
+TAGCCACGATCATTTGCTTCGCGCACGGTGGTGGTTACGCAAACTTCGGTTGTTACACCACAAACTATCA
+GCGTCTTGATACCGTGGTTTTGCAAAATCAGATGTAAGTCGGTTTGATAAAACGCGCCTTTGCCAGGCTT
+ATCAATCACCGGTTCGCCTGCCACCGGGTACAGTTCAGGAATGATGTCATGACCTGCTTCACCTCTGACC
+AGAATGCGTCCCATCGGTCCTGGTTCACCAATAAAGGTTTTTCCGCCGCGCGTCAGTTTGGCTGGCGGGC
+AGTCGCTTAAGTCTGCACGATGGCCTTCACGAGTATGAATAACCATAATTCCTTTTTGACGTGCGGCTGC
+CAGCACCTCTGTACATGGTGCGATAGCCGTGCGTACCAGTGAAACATCATTGCCCAGTGCCTCACCGAAG
+CCCCCTGCTTCGACAAAGTCACGCTGCATGTCGATCATGACCAGTGCAGTTGTGCGCGGATCAAAAGGTA
+ATTCAAAGGGTTGAGCCTGAAAAATGGATTGCGTCATGGTAAATCTCCTGTCTGATGTTTAAACGATCCA
+GTTGTTCTGAGAACGAGTATTCAGGAGAAAAGCGGCACAAAACAGGAAAAAAGTTTGCCGCACAGCAACG
+AAATTTTTGCATTCAGCAGGTGGTGTGATGACGAATGTGAAGGGAGTCAAAGAGTGGCATACAGCAACAA
+ATTTTTTGATGCTGTATGGTTTTGAGATTAAAAAAATCGTTGAAATTGTGTGAGCTTAATCATCAGATTT
+AGCGACTATGGCGTTACTTTTTAACACCATACTGTGTAAACCATTCCAACATTCGCTGCCAGCCGTCTTT
+CGCAGATTCGGCATGATAGCTCGGGCGATAATCGGCGTTGAACGCATGCCCTGCATCCGGGTACACGATA
+ATCTCTGCTTTCGCGTTTGCTGCCCGCAGCGCCTGGCGCATCGTTTCCACGCTCTCTTGCGGAATGCTGT
+TATCCTGGCCGCCATATAAGCCGAGAACCGGCGCGTTAAGATCGGTTGCGATATCAACAGGTTGTTTCGG
+TGAATTCAGCGACTTATCGCCCGTCAGTTTGCCGTACCACGCCACTGCGGCTTTTAGCTGTGGATTATGC
+GCGGCATACAGCCAGGTGATACGTCCACCCCAGCAGAATCCGGTGATCATTAAACGATGAACATCGCCGC
+CGTTGCGGGAAGCCCAACTGGCGACATGATCGAGATCGGCCAGCACCTGCGAGTCAGGCACTTTTGCTAC
+CAGACCGCTAAGCAACGTGGGGATATCGGCAAAATCATTCGGATCGCCTTCGCGGAAGTAAAGTTCAGGT
+GCGATAGCCAGATACCCCTCCAGCGCCAGACGGCGACAAATGTCGCGGATATGTTCATGCACGCCAAAAA
+TTTCCTGCACTACAATGACCACTGGCAGTGGGCCATCGCTTTGCTTTGGTCTGGCATGGTAAGCAGGCAT
+GTTATCCCCTTGTGAAGGGATAGAGGTGAAGCCCGCCACAATCGCGTCGTCCGGAGTCTGAACGATGGTC
+GAAGCGAGAGGCGATGCAGCAGGTGCAAATCCAGATTGTTGTGTTGTTGCCATGGTATTCTCCGTACCCT
+TATAAAAATGTTGCGCAATGTTAACTATAGTCAGCATGCAACAAATCACATTGCCTGAATCGGCTCATCT
+TTTATGCAGTCCTGCAGAATGAAGAGTGATTTATGTGATTTGCATCACTTTTGGTGGGTAAATTTATGCA
+ACGCATTTTCGTCATGGTGATGAGTATCACGAAAAAATGTTAAACCCTTCGGTAAAGTGTCTTTTTGCTT
+CTTCTGACTAAACCGATTCACAGAGGAGTTGTATATGTCCAAGTCTGATGTTTTTCATCTCGGCCTCACT
+AAAAACGATTTACAAGGGGCTACGCTTGCCATCGTCCCTGGCGACCCGGATCGTGTGGAAAAGATCGCCG
+CGCTGATGGATAAGCCGGTTAAGCTGGCATCTCACCGCGAATTCACCACCTGGCGTGCAGAGCTGGATGG
+TAAACCTGTTATCGTCTGCTCTACCGGTATCGGCGGCCCGTCTACCTCTATTGCTGTTGAAGAGCTGGCA
+CAGCTGGGCATTCGCACCTTCCTGCGTATCGGTACAACGGGCGCTATTCAGCCGCATATTAATGTGGGTG
+ATGTCCTGGTTACCACGGCGTCTGTTCGTCTGGATGGCGCGAGCCTGCACTTCGCACCGCTGGAATTCCC
+GGCTGTCGCTGATTTCGAATGTACGACTGCGCTGGTTGAAGCTGCGAAATCCATTGGCGCGACGACTCAC
+GTTGGCGTGACAGCTTCTTCTGATACCTTCTACCCAGGTCAGGAACGTTACGATACTTACTCTGGTCGCG
+TAGTTCGTCACTTTAAAGGTTCTATGGAAGAGTGGCAGGCGATGGGCGTAATGAACTATGAAATGGAATC
+TGCAACCCTGCTGACCATGTGTGCAAGTCAGGGCCTGCGTGCCGGTATGGTAGCGGGGGTTATCGTTAAC
+CGCACCCAGCAAGAGATCCCGAATGCTGAGACGATGAAACAAACCGAAAGCCATGCGGTGAAAATCGTGG
+TGGAAGCGGCGCGTCGTCTGCTGAAATAAAAAAACGCTCCCCAACTTCGGGGAGCGATATCAGTTATTGA
+CGCCGTAAACGCATTATTTTGCGGATTATTGGCGTCAGTAGCGTAAAGGCTGCCAGAGTCAGCAATGCCA
+GAGTGATCGGTCGGGTATACAGAAAGTCGAGTGAACCCCCTGAAAGCGACAGCGCACGGCGAAAATTACT
+TTCCGCCATTGGCCCCATAATCAATGCCAGGACCACTGGCGACGCCGGATATCCCCCTTTCTGCATGAAA
+TAGCCCACTACGCCCGCAATCAACATAATGCCGACATCAAACAGGCTGTTGTTCAGTGCATAAGTCCCGA
+CCACACAAAGTGCGAGGATCATCGGTGTGAGAATATTGCCGGGAATTTTCACCACATTACCGATGACTTT
+CAAAGAGAGCAGTCCAAGAACTAGTAGCATGAAGTAACAGAAGATCATGCCGACAAACAGCGTATAAACC
+ATATCACCGTGGTCGGTAAACATCAGCGGGCCTGGTTGCATTCCCTGTAACGTTAACGCGCCCAGCATGA
+TGGCGGTTACCGCATCGCCAGGGATCCCCAGCGTCAGCATAGGTAACAATGCGCCACCGGTGCAGCCATT
+CGCGCCTGCCTCACAGGAGGCCACAGCTTTAATTTCACCCTTACCAAAGTTTTCTGGTGTCTTACTGAAA
+CGACGAGTTTCGTTATAGGCAACAAAAGCTGCAATATCCGCCCCCGCACCGGGGATCATGCCGATAAAAA
+CCCCTAATCCTGATGAGCGCAAAATGGTTAATGCGATGCGGCGTAGTGTTTGCCAGGGCAGTAACAGACT
+GCCGATAGCCACCTTCGCGCCCCGACGAATTTGCTGGTTTTGCTCCATAGAGCGGAATGCTTCTGAAGCA
+GCAAATAAACCAATCATCACCGGGATAAATGGCACATTCATCAGCTCCACAAATCCACCTGTAAACCGTG
+GAAAACCGCCCATTGGATCAAGGCCTATCGTTGCGATCAGCAATCCGCCAACCCCGGCAATCAGCCCCTT
+AATCAGCGACTCACCGGAAATACTGGCAATAATGCTCAGTCCGAAGGTTGCCAGGGCGAAGGACTCCGAG
+GCACTAAATTTCAGCGCCCAACTGGCAAGTACCGGAGAGAGAAACATCAGCACGATAATGCTGAGCGTTC
+CGCCACTAAAGGAAGAGAACGTGGCGGCACTCAATGCCAGCCCTGCTTTTCCCTGTTTCGTCAGCTCATA
+ACCATCAATAGCGGTGGCTGCGGCGGCAGGCGTTCCGGGAATTTTGAGCAAAATTGCGGTGATAGAACCA
+CCGTAGACGCCACCAAAAAAGACGCCGCAAATCATCAACAATCCAGAAACAGGCTCCATGCCGTAGGTGA
+AAGGCAGCAAAATCGCCACACCCATGGTCGCTGTCAGACCAGGCAAAGCGCCAATCACAATACCCAGCAT
+CACCCCAAAAGTGGCAAACAGCAGCGCCTGAGGATTATTGAGTAATGTCGAAAAACCCTGAGTTAAAAGT
+TCACTTTCAAACATTGCTGGCCCCTGTTATTCGAAAAATGTGCCGACAGGCAATGGCACCTGTAACGCTT
+CGACAAACAGCAACCAGAGGATTGCCGTTAACAGCAGCGCAATACCCGGTGTGAGTACCCATCGCCTGTA
+GCCCATCAACGTCATAATGACGATGAGGAAAACAGGAGTAGTAATGAGATAACCGCAGTAGCTCATCGCC
+ACAATATAAAACGCGGTTGCCGCAATTCCTGTTGCTGTTTTCCTGAATGCCGGTTTTTCCTGTGCGTTGG
+CGCAAGAGGCTGGTTTTGCCTGCAAAAGATCGCGTATCACCAGCAAGACAGCGAGCACAATCAGGGCACA
+GGCATAGAAGGTAGGGAAGGCACTTGCACCGGGATCCGTTTCAATGGCAGTTGCTGGAAAATCAGCGGCA
+TTAATCATCACCGCGCCAGCAACCACACAAAGTAACAGCGCCACCACCATCGTTGATGAAAGGCGCTTGC
+GGTGCGGTACGGCGAGTTGAGCAACAGACTGTTTTGTGTTCATCAACCGTACCTCAGGTTTATTTTTTCA
+GGCCCAGGCGAGTCAGCAACTCGTCAAAGTACTTTTCCTGTTCGCTGATTTGGGTCTGGAAGCTGGCAGC
+GTCAAGCCATGCATAGTTGAGATTCAACTTTTGCAGTGCATCCTGGAATGCAGGCTCTTCAGCCGTCTCT
+TTTGCTGCCTTTGCCAGAACATCCACCACATCCTGCGGCGTTTTTTGCGACACAATCAGGCCGCGCCAGG
+TGCCGATGGAGAGATCAACGCCTTTCTCTTTTAACGTCGGGACGTCAGGCATGGTTTTCATTCGCTCATC
+CGCCATCACTACCAGTGTCTTCAGCTTGCCGCCATTCACATGGTTGATAACTTCTCCTGGGCTTACGGAA
+ACCGCTTCAATGTGCCCACCTAACAGGCCTGTAATGGCAGGGGCTGCGCCGTCATACGGGACATGAGAAA
+ACTTTGCGCCCGTTTTGTCTTCCAGTGCAGCTGCCGCCAGATGCCAGATAGCTCCGGTGCCTGAGTTACC
+AATGCGTACTTTTCCGGGATTCGCTTTGGCGTAAGTCATAAATTCTTCATAGCTATTCCACGGCGCATCG
+GCACGGACTGTGATAGCAGCCGGATCCGCATTCAGACGGGCAATGGGTTTAAAGTCGCTGGTTTTAAAAC
+GCACCATTCCGAGGCTGGGAAGGGTGGTTAGTTCAACCGTGCCTAAACCAATTTTGTAACCGTTAGGGCG
+GGCAGCGGCGATTTCACTCAGGCCGATAGCACCGCCTCCGCCAGGTTTATTGATAACCCCGATGCTGACG
+GGTAAATGGTTTTTGGCGGCATCAGCAAAGGCACGGGCAACCAGATCCGTACCGCCTCCGGCAGCGTAGG
+GAACGACTAACTCGATCTGTTTGGTTGGGTAGGAGGCTGCCTGTACAGGCGCAATGCTGAGGGCAGCGCC
+TGCAAGAAGTACCATTGCAGCCATTTTTTTCGGTAAGGTAAGATGTTTTATCATTGCTTTTATATCCTTA
+TTTATCAGTTAGTTGCTATTTAAATTGTTCCATGCGTTCATAAACAGTACTGCATTTTCATAGACTTGCT
+CTGGCGTCATGCCGGGGCGATATAGCGCAGAACCGAGGCCAAAGCCGTTTGCGCCGTGGCTCAGATAACG
+CGCCATGGTTTCCGGTGTGATACCGCCAACCGGTAACATCGGAACGGATTGTGGAATAACCGCACGCCAG
+GCTTTGGTAACTTCTGGCGTAATTTGTTCAGCCGGGAACAGCTTGATGGCATTAGCACCATGTTCAATGG
+CAGCAAAGGCTTCGGTGGGCGTGGCGACGCCAGGCGCACAATACATACCCAGCGCACGGGCGCGACGGAT
+CACCGCAGTATCGCAATGCGGCATCACGATAATCTGGCCCCCAGCCTCTTTAACCGCAACCACCTGCTCT
+ACCGAAAGCACAGTTCCGGCTCCGACCAGGCAGTCCTTAGGCAGGGCGTCGCGCAGTAAACTGATACTTT
+GCAACGCCTCCGGCGAGTTCATAGGAATCTCACTCAGGCGGAATCCGGCGGCGTACAGTTTTTCACCGAT
+GGCGACAATCTCATCCGGTTTCACACCGCGTAAAATGGCGACTAACCCGGTTTTTTGCAAAAGCGTATTA
+AATGGCATGGGTACATTCCCTGGCGTTGGTGGACAGTAACCCGGCAGCGTGGGCGATTCGCCATAATCCC
+TGTTCAGTGGCATTGGGAATGGCGTGTATCTGTCTGTCGGGAAAAACGTGGCTGAATGCTTGTGAATAGC
+GGCTGTTCAGATTTGCGCTACCGATTAAGGCGATCGGTGTTGTGGCGGGTAAATCACGTAGCAAACTGGA
+TGCCAGACCACATAATTCATGGCCTATCAGTAATCCGGAAAGGTAATCCCCCTGCGAGGACGACGTAAGA
+TTACTGGTCAGCAGGCGCGAACGGGTCGAAAACAGCGTCGATAATAATCCGGTCTGATGATGCTCTTGTG
+CTGCTGTCAGCCCGTGGGTGAAGGCATCCCAGTGCGGTTCATCTCCAGGATGCATGGTGGCACCGAGAAT
+CGAATGGCGGGATAAAACATCAAATAACTCGCCCGTCATAAAGGTTCGGAAATCGGTAATGGTGTTGTTT
+TCAACTACTGCCCATTTCGCATGTGTGCCGGGTAAGCCTATCAGCACTGGCATACCCTGATGGATCGCGT
+TTTGCAGGGCCGGTTCCATCGAGATAGCACCGAAGATTTGTGTCTCTTCGCCACGCATCACTTCGGGCAT
+TTCACCTTCTTTAATCACGCCAGGAATGATGTGCAGCATTGTCTGCTGCTGGTGGATAACAGGCGTCAAC
+TGCTTCGCCAGACCCTCGAGAGTGACCGGGCAAGGTAAATAAGCTGCTGGTTGCCACCCTTGCGCACTGC
+CGAGCATGCCGCAAGCCAGTACCGGGCATGGGGTTTGTGCCAGCCAGTCGCTGCAGACACGTAAAAACGT
+ATCGTGGAAAGTGTCCTCACGTGTTGCTGCCTGGGAGGGTAATTTCATGATCCCCCAGGGGAATTCACGT
+TTTTCTTGTGGATTTGGTGATTCGCCAAAACGCCATGCCCGAAGCGATGACGTTCCCCAGTCCAGGGCAA
+TAAATGAGGGTGCTCCCGGCATTAGTCGTTTCCTTTAATCATGGTTTATTTATCTTTGCGGACGTGCTTA
+CCCCAGCCCAGTTCAGCGGATATCTCTTCTGCACAGGATTTGACGTAAGGTGCCAGTTCTTCCAGACGCG
+CCAGCGACATATACGTGGTGGTACTGGCGACAGAAATAGCCGCCACAATTTCATCCCGGGCGTTGTAAAC
+CGGCGCTGCAACGCAACGGATAGTCGGCTCGTTCTCTTCCAGATCAAAAGCAAAACCACTGGCGGCATAA
+CGACGCATGTTCTGAATAAATGCGCCCAGTTTTGTTTCATCACCACAGGTCTTAAACAGCGTGCGCCACT
+CTTCTTCTGTTCGGTTGAGGATCAATGCCTTGCCGATGCCGGTGATTGCCAGTGGCATGCGATGGCCTGG
+GCGTGAGCGCATTTCCAGCCCGCGCTGACTGTTGATCTTCTCCAGATACAGCACTTCGTCGCCTTCAACG
+ATCCCCAGATGCACGGTGTCCAGGGTGTAACGGGCAAGGCGTTGCAAAACGGGCTGGGCAATTTCGTACA
+GCGAGGTGCTTTCCAGTGCTCTGGCACCGAATTCGATCAGTTTGGCACCCAGTTGGTAGCCCTGCGTTGG
+GACATGGCGCAGGTAGCGTTGTTCCACCAGAACGGTGACTAAACGATGGGTTGTGCTCCGGGTCGTGCCG
+GTGAACTCGCCGATACTTTTTAGGTCATGGCAGCCGTTATAAACAGCATTAAGAACCGCCAGTCCACGTA
+ATAACGTTTGTGCGCCTGCGGTGGTTGAAGAGGTTTCTGCCATACGTTTCTCCTGATGATATTGCTGAAG
+TGTTCCACATAATGACGTGGGGAAAAGGTGATATATCCCACAATATAAACTCCATCTCATATTGTGGGAT
+AAAATAATGAAAATTAACGATCGTTTTGCGTAGCGCCTCGCAGGAAACTTCTTTCAAACTGGACGTTTGT
+ACAGCACAATTCTATTTTGTGCGGGTAAGTTATTGCGTCAGGAGGCGTTGTGGATTTCTCAATCATGGTT
+TACGCAGTTATTGCATTGGTGGGTGTGGCAATTGGCTGGCTGTTTGCCAGTTATCAACATGCGCAGCAAA
+AAGCTGAGCAATTAGCTGAACGTGAAGAGATGGTCGCGGAGTTAAGCGCGGCAAAACAACAAATTACCCA
+AAGCGAGCACTGGCGCGCAGAGTGTGAATTGCTCAATAACGAAGTGCGCAGCCTGCAAAGTATTAACACC
+TCGCTGGAGGCCGATCTGCGTGAAGTGACCACGCGGATGGAAGCCGCACAGCAACACGCTGACGATAAAA
+TTCGCCAGATGATCAACAGCGAACAGCGCCTCAGTGAGCAATTTGAAAACCTTGCCAACCGTATTTTTGA
+ACACAGTAATCGTCGGGTTGATGAGCAAAATCGCCAGAGTCTGAACAGTCTTTTGTCGCCGTTGCGTGAA
+CAACTGGATGGTTTCCGCCGTCAGGTCCAGGACAGCTTTGGTAAAGAAGCCCAGGAACGTCATACCCTGA
+CCCACGAAATCCGCAACCTCCAGCAACTCAACGCCCAGATGGCCCAGGAAGCGATCAACCTGACGCGTGC
+GCTGAAAGGCGACAATAAAACCCAGGGCAACTGGGGCGAGGTAGTATTGACGCGGGTGCTGGAGGCTTCC
+GGTCTGCGTGAAGGGTATGAATATGAAACCCAGGTCAGCATCGAAAATGACGCCCGCTCGCGGATGCAGC
+CGGATGTCATCGTGCGGTTGCCGCAGGGAAAAGATGTGGTGATCGACGCCAAAATGACGCTGGTCGCCTA
+TGAACGCTATTTCAACGCCGAAGATGACTACACCCGCGAAAGCGCGCTACAGGAACATATCGCGTCGGTA
+CGTAACCATATCCGTTTGCTGGGACGCAAAGATTATCAACAGCTGCCGGGGCTGCGAACTCTGGATTACG
+TGCTGATGTTTATTCCCGTTGAACCCGCTTTTTTACTGGCGCTTGACCGTCAGCCGGAGCTGATCACCGA
+AGCGTTGAAAAACAATATCATGCTGGTTAGCCCGACTACGCTGCTGGTGGCGCTGCGCACTATCGCCAAC
+CTGTGGCGTTATGAGCATCAAAGTCGTAACGCCCAGAAAATCGCCGATCGCGCCAGCAAGCTGTACGACA
+AAATGCGCTTGTTTGTCGATGACATGTCCGCGATCGGTCAAAGTCTCGACAAAGCGCAGGATAACTATCG
+CCAGGCAATGAAAAAACTCTCTTCAGGTCGCGGAAATGTGCTGGCGCAGGCAGAAGCGTTTCGCGGTTTA
+GGGGTAGAAATTAAACGCGAGATTAATCCTGATTTGGCTGAACAGGCGGTGAGCCAGGATGAAGAGTATC
+GACTGCGGTCGGTTCCGGAGCAGCCGAATGATGAAGCTTATCAACGCGATGATGAATATAATCAGCAGTC
+GCGCTAGCCCATTTGGGGTAGTTAAGCCGGGTAGAAATCTAGGGCATCGACGCCCAATCTGTTACACTTC
+TGGAACAATTTTTTGATGAGCAGGCATTGAGATGGTGGATAAGTCACAAGAAACGACGCACTTTGGTTTT
+CAGACCGTCGCGAAGGAACAAAAAGCGGATATGGTCGCCCACGTTTTCCATTCCGTGGCATCAAAATACG
+ATGTCATGAATGATTTGATGTCATTCGGTATTCATCGTTTGTGGAAGCGATTCACGATTGATTGCAGCGG
+CGTACGCCGTGGGCAGACCGTGCTGGATCTGGCTGGTGGCACCGGCGACCTGACAGCGAAATTCTCTCGC
+CTGGTCGGAGAAACTGGCAAAGTGGTCCTTGCTGATATCAATGAATCCATGCTCAAAATGGGCCGCGAGA
+AGCTGCGTAATATCGGTGTGATTGGCAACGTTGAGTATGTTCAGGCGAACGCTGAGGCGCTGCCGTTCCC
+GGATAACACCTTTGATTGCATCACCATTTCGTTTGGTCTGCGTAACGTCACCGACAAAGATAAAGCACTG
+CGTTCAATGTATCGCGTGCTGAAACCCGGCGGCCGCCTGCTGGTGCTTGAGTTCTCGAAGCCAATTATCG
+AGCCGCTGAGCAAAGCCTATGATGCATACTCCTTCCATGTGCTGCCGCGTATTGGCTCACTGGTCGCGAA
+CGACGCCGACAGCTACCGTTATCTGGCAGAATCCATCCGTATGCATCCCGATCAGGATACCCTGAAAACC
+ATGATGCAGGATGCCGGATTCGAAAGTGTCGACTACTACAATCTGACGGCAGGGGTTGTGGCGCTGCATC
+GTGGTTATAAGTTCTGACAGGAGACCGGAAATGCCTTTTAAACCTTTAGTGACGGCAGGAATTGAAAGTC
+TGCTCAACACCTTCCTGTATCGCTCACCCGCGCTGAAAACGGCCCGCTCGCGTCTGTTGGGCAAAGTGCT
+GCGCGTGGAGGTAAAAGGCTTTTCGACGTCATTGATTCTGGTGTTCAGCGAACGCCAGGTCGATGTACTG
+GGCGAATGGGCAGGCGATGCTGACTGCACCGTTATCGCTTACGCCAGTGTGTTGCCGAAACTTCGCGATC
+GCCAGCAGCTTGCCGCACTGATTCGCAGTGGTGAGCTGGAAGTGCAGGGTGATATTCAGGTGGTGCAAAA
+CTTCGTTGCGCTGGCAGATCTGGCAGAGTTCGACCCTGCGGAACTGCTGGCCCCTTATACCGGTGATATC
+GCCGCTGAAGGTATCAGCAAAGCCCTGCGCGGAGGCACAAAGTTCCTGCATCACGGCATTAAGCGCCAGC
+AACGTTATGTGGCGGAAGCCATTACTGAAGAGTGGCGTATGGCACCCGGTCCGCTTGAAGTGGCCTGGTT
+TGCGGAAGAGACGGCTGCCGTCGAGCGTGCTGTTGATGCCCTGACCAAACGGCTGGAAAAACTGGAGGCT
+AAATGACGCCAGGTGAAGTACGGCGCCTATATTTCATCATTCGCACTTTTTTAAGCTACGGACTTGATGA
+ACTGATCCCCAAAATGCGTATCACCCTGCCGCTACGGCTATGGCGATACTCATTATTCTGGATGCCAAAT
+CGGCATAAAGACAAACCTTTAGGTGAGCGACTACGACTGGCCCTGCAAGAACTGGGACCGGTATGGATCA
+AGTTCGGGCAGATGTTATCAACCCGCCGCGATCTTTTTCCGCCGCATATTGCCGATCAGCTGGCGTTATT
+GCAGGACAAAGTCGCTCCGTTTGATGGCAAGCTGGCGAAGCAGCAGATTGAAGCTGCAATGGGCGGCTTG
+CCGGTAGAAGCGTGGTTTGACGATTTTGAAATCAAGCCGCTGGCTTCTGCTTCTATCGCCCAGGTTCATA
+CCGCGCGATTGAAATCGAATGGTAAAGAGGTGGTGATTAAAGTTATCCGCCCGGATATTTTGCCGGTCAT
+TAAAGCGGATCTGAAACTTATTTACCGTCTGGCTCGCTGGGTGCCGCGTTTGCTGCCGGATGGTCGCCGT
+CTGCGCCCAACCGAAGTGGTGCGCGAGTACGAAAAGACCTTGATTGATGAACTGAATTTGCTGCGGGAAT
+CTGCCAACGCCATTCAGCTTCGACGCAATTTTGAAGACAGCCCGATGCTCTACATCCCGGAAGTTTACCC
+TGACTATTGTAGTGAAGGGATGATGGTGATGGAGCGTATTTACGGCATTCCGGTGTCTGATGTTGCGACG
+CTGGAGAAAAACGGCACCAACATGAAATTGCTGGCGGAACGCGGCGTGCAGGTGTTCTTCACTCAGGTCT
+TTCGCGACAGCTTTTTCCATGCTGATATGCACCCTGGCAACATCTTCGTAAGCTATGAACACCCGGAAAA
+CCCGAAATATATCGGCATTGATTGCGGGATTGTTGGCTCGCTAAACAAAGAAGATAAACGCTATCTGGCG
+GAAAACTTTATCGCCTTCTTTAATCGCGACTATCGCAAAGTGGCAGAGCTACACGTCGATTCTGGTTGGG
+TGCCACCAGATACCAACGTTGAAGAGTTCGAATTTGCCATTCGTACGGTCTGTGAACCTATCTTTGAGAA
+ACCGCTGGCCGAAATTTCGTTTGGACATGTACTGTTAAATCTGTTTAATACGGCGCGTCGCTTCAATATG
+GAAGTGCAGCCGCAACTGGTGTTACTCCAGAAAACCCTGCTCTACGTCGAAGGGGTAGGACGCCAGCTTT
+ATCCGCAACTCGATTTATGGAAAACGGCGAAGCCTTTCCTGGAGTCGTGGATTAAAGATCAGGTCGGTAT
+TCCTGCGCTGGTGAGAGCATTTAAAGAAAAAGCGCCGTTCTGGGTCGAAAAAATGCCAGAACTGCCCGAA
+CTGGTTTACGACAGTTTGCGCCAGGGCAAGTATTTACAGCATAGTGTTGATAAGATTGCCCGCGAGCTTC
+AGTCAAATCATGTACGTCAGGGACAATCGCGTTATTTTCTCGGAATTGGCGCTACGTTAGTATTAAGTGG
+CACATTCTTGTTGGTCAGCCGACCTGAATGGGGGTTGATGCCCGGCTGGTTAATGGCAGGTGGTCTGATC
+GCCTGGTTTGTCGGTTGGCGCAAAACACGCTGATTTTTTCATCGCTCAAGGCGGGCCGTGTAACGTATAA
+TGCGGCTTTGTTTAATCATCATCTACCACAGAGGAACATGTATGGGTGGTATCAGTATCTGGCAGTTATT
+GATTATTGCCGTCATCGTTGTACTGCTTTTTGGCACCAAAAAGCTCGGCTCCATCGGTTCCGATCTTGGT
+GCGTCGATCAAAGGCTTTAAAAAAGCAATGAGCGATGATGAACCAAAGCAGGATAAAACCAGCCAGGATG
+CTGATTTTACTGCGAAAACTATCGCCGATAAGCAGGCGGATACGAATCAGGAACAGGCTAAAACAGAAGA
+CGCGAAGCGCCACGATAAAGAGCAGGTGTAATCTGTGTTTGATATCGGTTTTAGCGAACTGCTATTGGTG
+TTCATCATCGGCCTCGTCGTTCTGGGGCCGCAACGACTGCCTGTGGCGGTAAAAACGGTAGCGGGCTGGA
+TTCGCGCGTTGCGTTCACTGGCGACAACGGTGCAGAACGAACTGACCCAGGAGTTAAAACTCCAGGAGTT
+TCAGGACAGTCTGAAAAAGGTTGAAAAGGCGAGCCTCACTAACCTGACGCCCGAACTGAAAGCGTCGATG
+GATGAATTACGCCAGGCTGCGGAGTCGATGAAGCGTTCCTACGTTGCAAACGATCCTGAAAAGGCGAGCG
+ATGAAGCGCACACCATCCATAACCCGGTGGTGAAAGACAATGAAACTGCGCATGAAGGCGTAACGCCTGC
+TGCTGCACAAACGCAGGCCAGTTCGCCGGAACAGAAGCCAGAAACTACGCCAGAGCCGGTGGTAAAACCT
+GCTGCGGACGCTGAACCGAAAACCGCTGCACCTTCCCCTTCGTCGAGTGATAAACCGTAAACATGTCTGT
+AGAAGATACTCAACCGCTTATCACGCATCTGATTGAGCTGCGTAAGCGTCTGCTGAACTGCATTATCTCG
+GTGATCGTGATATTCCTGTGTCTGGTCTATTTCGCCAATGACATCTATCACCTGGTATCCGCGCCATTGA
+TCAAGCAGTTGCCGCAAGGTTCAACGATGATCGCCACCGACGTGGCCTCGCCGTTCTTTACGCCGATCAA
+GCTGACCTTTATGGTGTCGCTGATTCTGTCAGCGCCGGTGATTCTCTATCAGGTGTGGGCGTTTATCGCC
+CCAGCGCTGTATAAGCATGAACGTCGCCTGGTGGTGCCGCTGCTGGTTTCCAGCTCTCTGCTGTTTTATA
+TCGGCATGGCGTTCGCCTACTTTGTGGTCTTTCCGCTGGCATTTGGCTTCCTTGCCAATACCGCGCCGGA
+AGGGGTACAGGTATCCACCGACATTGCGAGCTATTTAAGCTTCGTTATGGCGCTGTTTATGGCGTTTGGT
+GTCTCCTTTGAAGTGCCGGTGGCAATTGTGTTGCTGTGCTGGATGGGGATTACCTCGCCAGAAGACTTAC
+GCAAAAAACGCCCGTATGTGCTGGTTGGTGCATTCGTTGTCGGGATGTTGCTGACGCCGCCGGATGTCTT
+CTCGCAAACGCTGTTGGCGATCCCTATGTACTGCCTGTTTGAAATCGGTGTCTTCTTCTCACGCTTTTAC
+GTTGGTAAAGGGCGAAACCGGGAAGAGGAAAACGACGCTGAAGCAGAAAGCGAAAAAACTGAAGAATAAA
+TTCAACCGCCCGTCAGGGCGGTTGTCATATGGAGTACAGGATGTTTGATATCGGCGTTAATTTGACCAGT
+TCGCAATTTGCGAAAGACCGTGATGATGTTGTAGCGCGCGCTTTTGACGCGGGAGTTAATGGGCTACTCA
+TCACCGGTACCAATCTGCGTGAAAGCCAGCAGGCGCAAAAGCTGGCGCGTCAGTATTCGTCCTGTTGGTC
+AACGGCGGGCGTACATCCTCACGACAGCAGCCAGTGGCAAGCTGTGACTGAAGAAGCGATTATTGAGCTG
+GCCGCGCAGCCAGAAGTGGTGGCGATTGGTGAATGTGGTCTCGACTTTAACCGCAACTTTTCGACGCCGG
+AAGAGCAGGAACTCGCTTTTGTTGCCCAGCTACGCATTGCCGCAGAATTAAACATGCCGGTATTTATGCA
+CTGTCGCGATGCCCACGAGCGGTTTATGACATTGCTGGAGCCGTGGCTGGATAAACTGCCTGGTGCGGTT
+CTTCATTGCTTTACCGGCACACGCGAAGAGATGCAGGCGTGCGTGGCGCGTGGAATTTATATCGGCATTA
+CCGGTTGGGTTTGCGATGAACGACGCGGGCTGGAGCTGCGGGAATTGTTGCCGTTGATTCCGGCGGAGAA
+ATTGCTGATCGAAACTGATGCGCCGTATCTGCTCCCTCGCGATCTCACGCCAAAGCCATCATCCCGGCGC
+AACGAGCCAGCCCATCTGCCCCATATTTTGCAACGTATTGCGCACTGGCGTGGAGAAGATGCCGCATGGC
+TGGCTGCCACCACGGATGCTAATGTCAAAACACTGTTTGGGATTGCGTTTTAGAGTTTGCGGAACTCGGT
+GTTCTTCACACTGTGCTTAATCTCTTTATTAATAAGATTAAGCAATAGCATGGAGCGAGCCTCGCCGTCT
+GGCTCGGTGAAAATGGCCTGAAAACCTTCGAATGCGCCTTCAGTAATAATCACTTTATCACCAGGATACG
+GCGTCGATGGATCGACAATATCTTTCGGTTTATACACTGATAACTGATGAATCACCGCCGATGGGACTAT
+CGCTGGTGACGCGCCAAAGCGCACGAAGTGGCTGACACCGCGGGTCGCGTTGATAGTCGTGGTATGAATC
+ACTTCCGGATCGAACTCCACAAACAAGTAGTTGGGGAACAATGGCTCACTGACTGCAGTACGTTTGCCAC
+GCACGATTTTTTCCAGGGTGATCATCGGTGCCAGGCAATTCACAGCCTGTCTTTCGAGGTGTTCCTGGGC
+ACGTTGAAGTTGCCCGCGCTTGCAGTACAGTAAATACCAGGATTGCATAATGACTCTTATCCGTTTAATC
+GGGGCGCAAGGATAGCAAAAGCTTTACGCTAAGTTAATTATATTCCCCGGTTTGCGTTATACCGTCAGAG
+TTCACGCTAATTTAACAAATTTACAGCATCGCAAAGATGAACGCCGTATAATGGGCGCAGATTAAGAGGC
+TACAATGGACGCCATGAAATATAACGATTTACGCGACTTCTTGACGCTGCTTGAACAGCAGGGTGAGCTA
+AAACGTATCACGCTCCCGGTGGATCCGCACCTGGAAATCACTGAAATTTGGCTGGACCGCACTTTGCGTG
+CCGGTGGGCCTGCGCTGTTGTTCGAAAACCCTAAAGGCTACTCAATGCCGGTGCTGTGCAACCTGTTCGG
+TACGCCAAAGCGCGTGGCGATGGGCATGGGGCAGGAAGATGTTTCGGCGCTGCGTGAAGTTGGTAAATTA
+TTGGCGTTTCTGAAAGAGCCGGAGCCGCCAAAAGGTTTCCGCGACCTGTTTGATAAACTGCCGCAGTTTA
+AGCAAGTATTGAACATGCCGACAAAGCGACTGCGTGGTGCACCCTGCCAACAAAAAATCGTCTCTGGCGA
+TGACGTCGATCTCAATCGCATTCCCATTATGACCTGCTGGCCGGAAGATGCCGCGCCGCTGATTACCTGG
+GGGCTCACCGTAACGCGCGGCCCGCATAAAGAGCGGCAGAATCTGGGCATTTATCGCCAGCAGCTAATTG
+GTAAAAACAAACTGATTATGCGCTGGCTGTCGCATCGCGGCGGCGCGTTGGATTATCAGGAGTGGTGTGC
+GGCGCATCCGGGCGAACGTTTCCCGGTTTCTGTGGCGCTGGGTGCCGATCCTGCCACGATTCTCGGTGCA
+GTCACCCCCGTTCCGGATACGCTTTCAGAGTATGCGTTTGCCGGATTGCTGCGCGGTACCAAGACCGAAG
+TGGTGAAGTGTATCTCCAATGACCTTGAAGTGCCCGCCAGTGCGGAGATTGTGCTGGAAGGGTATATCGA
+ACAAGGCGAAACTGCGCCGGAAGGGCCGTATGGCGACCACACCGGTTACTATAACGAAGTCGATAGTTTT
+CCGGTATTTACCGTGACGCATATTACCCAGCGTGAAGATGCGATTTATCATTCCACCTATACCGGGCGTC
+CGCCAGATGAACCTGCGGTACTGGGTGTAGCACTGAACGAAGTGTTCGTGCCGATTCTGCAAAAACAGTT
+CCCGGAAATTGTCGATTTTTATCTGCCGCCGGAAGGCTGTTCTTATCGTCTGGCGGTAGTGACGATCAAA
+AAACAGTACGCCGGACACGCGAAGCGCGTCATGATGGGCGTCTGGTCGTTCTTACGCCAGTTTATGTACA
+CTAAATTTGTGATCGTTTGCGATGATGACGTCAACGCCCGCGACTGGAACGATGTGATTTGGGCGATTAC
+CACCCGTATGGACCCGGCGCGGGATACTGTTCTGGTAGAAAATACGCCTATTGATTATCTGGATTTTGCC
+TCGCCTGTCTCCGGGCTGGGTTCAAAAATGGGGCTGGATGCCACGAATAAATGGCCGGGTGAAACCCAGC
+GTGAATGGGGACGTCCCATCAAAAAAGATCCAGATGTTGTCGCGCATATTGACGCCATTTGGGATGAACT
+GGCTATTTTTAACAACGGTAAAAGCGCCTGATGCGCGTTTGTTTTGCCCTATTTATCGATCCGACAGAGA
+AAGCGCATGACAACCTTAAGCTGTAAAGTGACCTCGGTAGAAGCTATCACGGATACCGTATATCGTGTCC
+GCATCGTGCCAGACGCGGCCTTTTCTTTTCGTGCTGGTCAGTATTTGATGGTAGTGATGGATGAGCGCGA
+CAAACGTCCGTTCTCAATGGCTTCGACGCCAGATGAAAAAGGGTTTATCGAGCTGCATATTGGCGCTTCT
+GAAATCAACCTTTACGCGAAAGCAGTCATGGACCGCATCCTCAAAGATCATCAAATCGTGGTCGATATTC
+CCCACGGAGAAGCGTGGCTGCGCGATGATGAAGAGCGTCCGATGATTTTGATTGCGGGCGGCACCGGGTT
+CTCTTATGCCCGCTCGATTTTGCTGACAGCGTTGGCGCGTAACCCAAACCGTGATATCACCATTTACTGG
+GGCGGGCGTGAAGAGCAGCATCTGTATGATCTCTGCGAGCTTGAGGCGCTTTCGTTGAAGCATCCTGGTC
+TACAAGTGGTGCCGGTGGTTGAACAACCGGAAGCGGGCTGGCGTGGGCGTACTGGCACCGTGTTAACGGC
+GGTATTGCAGGATCATGGTACGCTGACAGAGCATGATATCTATATTGCCGGACGTTTTGAGATGGCGAAA
+ATTGCCCGTGACCTGTTTTGCAGCGAGCGTAATGCGCGGGAAGATCGCCTGTTTGGCGATGCGTTTGCAT
+TTATCTGAGATATAAAAAACCCGCCCCTGACAGGCGGGAAGAACGGCAACTAAAACTTTATACAGTGGCA
+TTTAGATCTATGTCGCATCCGGCAATTGGTGCACGATGCCTGATGCGACGCTGGCGCGTCTTATCAGGCC
+TACATTGGTGCCGGATCGGTAGACCGGATAAGGCGTTCACGCCGTATCCGGCATACAGTGCCCGATGCGA
+CGCTGCCGCGTCTTATCGGGCCTACAAAAGTTCTGAACCGTAGACCGGATAAGGCGTTCACGCCGCATCC
+GGCAAGTGGTTAAACCCGCTCAAACACCGTTGCAATGCCCTGACCCAGACCGATACACATCGTCGCCAGA
+CCAAACTGGACGTCTTTGTGTTCCATCAGATTCAGCAGCGTGGTGCTGATACGCGCACCGGAACAACCCA
+GCGGATGACCCAGCGCGATCGCGCCACCGTTGAGGTTGATCTTCTCGTCAATCTGCTCCATTAGCCCGAG
+ATCTTTAATACACGGCAGGATCTGCGCGGCAAAGGCTTCGTTCATCTCGAATACGCCGATATCGCTGGCA
+GAAAGCCCCGCTTTTTTCAGCGCCAGCTTCGAGGCCGGAACCGGACCATAACCCATAATAGATGGGTCAC
+AACCAACGACCGCCATCGAACGCACGCAGGCGCGCGGCTTAAGACCTAAGTCACGGGCGCGGCTTTCACT
+CATCACCAGCATGGCAGCTGCGCCATCGGAAAGCGCAGAAGATGTACCCGCCGTTACCGTACCGCTGACG
+GGATCAAACGCCGGACGCAGTGTGGCGAGGGCTTCCACGGTGGTTTCCGGGCGAATCACTTCGTCGTAAT
+TAAACTGCTTCAATACGCCGTCGGCATCGTGACCACCGGTCGGGATGATTTCATTTTTAAATGCGCCTGA
+TTGCGTGGCGGCCCAGGCGCGAGCATGTGATCGCGCGGCAAAGGCATCCTGCATTTCACGGCTGATACCG
+TGCATACGCGCCAGCATTTCTGCCGTTAAGCCCATCATGCCCGCCGCTTTGGCGACATTACGGCTAAGGC
+CGGGGTGAAAATCGACGCCGTGACTCATTGGCACATGGCCCATATGCTCCACGCCGCCAACCAGACATGC
+CTGCGCATCGCCGGTCATGATCATTCGTGCTGCGTCATGCAGTGCCTGCATGGATGAACCACACAAGCGA
+TTAACGGTAACCGCCGGGACAGAGTGCGGCACTTCAGCCAACAGTGCCGCGTTACGGGCGATGTTAAAAC
+CCTGCTCCAGTGTTTGCTGCACACAACCCCAGTAAATATCGTCGAGGGCCGCTGCTTCCAGCGCCGGGTT
+ACGCGCCAGCAGGCTACGCATTAAATGAGCGGAGAGATCTTCCGCACGCACGTTACGAAAAGCACCGCCC
+TTCGAACGGCCCATCGGGGTGCGAATTGCATCGACAATGACAACCTGTTCCATTGTGACTCCTTAAGCCG
+TTTTCAGGTCGCCAACCGGACGGGCTGGCTCAACCGGGGGATAGTACGGTTCGTTATGACGTGCTTTATT
+ACGCATACCTTCCGGTACTTCATACAGCGGGCCGAGGTGCTGATATTGCTGTGCCATATCGAGGTATTTT
+GCGCTGCCGAGGGTGTCCAGCCAGCGGAACGCGCCGCCGTGGAACGGAGGGAAGCCCAGGCCGTAGACCA
+GCGCCATATCCGCTTCTGCCGGAGTGGCGATAATGCCCTCTTCCAGACAGCGGACCACTTCGTTGACCAT
+CGGGATCATCATGCGGGCGATAATCTCTTCCTCGCTGAAATCGCGCTTCGGCTGGCTCACTTTTGCCAGC
+AGGTCGTCAACGACGACATCTTCTTCTTTCTTCGGCTTACCTTTGCTGTCTTCTTTATAACGCCAGAAAC
+CGAGGCCGTTCTTCTGACCAAAGCGGTTGGCATTAAACAGCGCGTCGATGGCATCGCGATAATCTTTCTG
+CATCCGCTGCGGGAAGCCTGCTGCCATGACTGCCTGGGCATGATGTGCGGTGTCAATGCCCACAACATCC
+AGCAGATATGCCGGACCCATCGGCCAGCCAAACTGTTTTTCCATCACTTTGTCGATCTTGCGGAAATCCG
+CGCCGTCGCGCAGCAACTGGCTGAAACCGGCGAAATAGGGGAACAGTACACGGTTGACGAAGAAGCCGGG
+GCAGTCGTTAACCACAATCGGCGTTTTGCCCATTTTGCTCGCCCAGGCGACGACTTTCGCGATGGTTTCG
+TCGGAGCTTTTCTCGCCGCGAATAATTTCTACTAACGGCATTCGGTGGACCGGGTTAAAGAAGTGCATCC
+CGCAGAAGTTTTCCGGACGTTCCAGCGCGTTGGCCAGTTCGCTGATAGGAATGGTTGAAGTGTTAGACGC
+CAGTACGGTATCCGGGCGTACTTTCTGCTCGGTTTCTGCCAGCACGGCTTTTTTCACTTTCGGGTTTTCA
+ACAACCGCTTCTACCACAACATCCACGCGGTCAAACCCGGCGTAGTCGAGCGTTGGGTGAATTGTGGAGA
+TCACGCCAGCCAGTTTCAGACCATCGATCTTGCCGCGCTCAAGCTGCTTGTTCAGCAGTTTCGCGGCTTC
+GGTCATGCCGAGGGTTAACGACTTGTCGTTGATATCTTTCATGACAACCGGCACGCCTTTCCACGCAGAC
+TGGTAGGCGATGCCGCCGCCCATAATGCCTGCGCCCAGCACAGCGGCCTGTTTCGGGGTTTCAACATCTT
+TGGTGAGTTTCTTCGCTTTACCTTTTACATATTGATCGTTAAGGAAAATGCCGACCAGTGCGCGGGCTTC
+GTTGGTATGCGCCAGCGGGACAAAACTTTTGTTTTCCAGGTTTAAGGCTTCTTCACGACCAAAACGGGCC
+GCCGCTTCAATGGTTTTTACTGCGGTGATGGGGGCCGGATAATGTTTCCCCGCCGTTTGCGCGACCATCC
+CTTTAGCGATGGTGAAGCTCATGGCGGCTTCAATCTTGCTCAGTTTTAGCGGTTCCAGCTTCGGCTGACG
+TTTTGCTTTCCAGTCGAGGTCGCCGTTAATGGCCTGGCGTAAAATCGCCATCGCCCCTTCAACCAGTTTT
+TCTGCTTTGACTACACCATCCACCAGACCGATTTTCAGCGCCTGATCCGCGCCGACATCTTTACCGGCGG
+CAATGATTTCCAGCGCACTGTCAGCACCGAGCATACGTGGCATACGTACAGAACCGCCAAAGCCCGGCAT
+GATGCCCAGTTTGGTTTCCGGCAGACCGATGCGCAGATCCGGCGTCGCCAGACGATAATCGGTCGCCAGC
+ACGCATTCGCAGCCACCGCCCAGCGCATAGCCGTTGACGGCAGCAATGGTCGGCACCGGGAGATCTTCCA
+GGCGATTAAACACGCTATTGGCAAAGTGCAGCCACTGACTTAACTGTTCTTCAGGAACGAGGAACAGGGA
+CAAAAATTCGGTGATATCAGCACCGACGATAAAGGCTGCTTTGTTCGAACGCAGCAGCAGCCCTTTTAGA
+TCTGATTGCTGTTCCAGCACGCCGATGGCCTCGCCGAGGCTGGCGACGGTGGCAGTGTCGAGTTTATTAA
+CTGAACCTGGGGCATCAAATACCAGTTCGGCAATGCCATCTTCCAGCCAGTCAAGGTACAGGGTGTCGCC
+TTTGTAAAGCATGTCAGTCTCCTGAATCCGCAAGGTGATCTGGTCGTACCAGATGCATCGAAGTGTGTAT
+TTTGTGTTAAAAATATGCAAATAAAATATTAAGGAAATGCCGATCTGATCACGCTCGGCAGAAATCACGC
+TCTGGATGAACGATGTGCTAATATGCGGAGACTTAAGGTCAAAAAAACAGAAGGGTAAAAAATGGAATCA
+CTGGCCTCGCTCTATAAAAATCATATAGCTACCTTACAGGAACGGACTCGCGATGCGCTGGCGCGCTTCA
+AGCTGGATGCGTTACTTATTCACTCCGGCGAACTGTTCAACGTTTTTCTCGACGATCATCCCTATCCGTT
+TAAAGTGAACCCGCAATTCAAAGCGTGGGTGCCAGTAACTCAGGTGCCAAACTGCTGGCTGCTGGTGGAT
+GGCGTGAATAAGCCGAAACTGTGGTTCTATCTGCCGGTTGATTACTGGCACAACGTCGAACCGCTGCCGA
+ACTCCTTCTGGACTGAAGATGTAGAAGTGATCGCGCTGCCGAAAGCCGATGGCATTGGTAGTCTGTTGCC
+TGCTGCGCGCGGCAATATCGGTTATATCGGTCCGGTGCCAGAACGTGCGCTGCAACTGGGTATTGAGGCC
+AGCAATATCAACCCGAAAGGGGTGATCGACTACCTGCATTACTATCGCTCCTTCAAAACCGAGTACGAAC
+TGGCCTGTATGCGTGAAGCGCAGAAAATGGCGGTCAACGGTCATCGCGCGGCAGAAGAAGCGTTCCGTTC
+TGGCATGAGCGAGTTCGATATCAACATTGCCTATCTGACCGCGACCGGTCATCGTGATACCGACGTACCT
+TATAGCAACATTGTGGCGCTTAACGAACACGCTGCGGTGTTGCATTACACCAAACTGGACCACCAGGCAC
+CGGAAGAGATGCGCAGCTTCCTGCTGGATGCCGGGGCCGAATATAACGGCTATGCGGCTGATCTAACCCG
+TACCTGGTCGGCAAAAAGCGACAACGACTACGCACAGCTGGTGAAAGACGTAAATGATGAGCAACTGGCG
+CTGATCGCCACCATGAAAGCAGGCGTCAGCTATGTGGATTACCATATCCAGTTCCATCAGCGCATCGCCA
+AACTGCTGCGTAAACATCAAATCATCACCGATATGAGTGAAGAAGCGATGGTCGAAAACGATCTCACCGG
+ACCGTTTATGCCGCACGGTATCGGCCATCCGCTGGGCCTGCAGGTGCATGACGTAGCCGGTTTTATGCAG
+GATGATAGCGGTACGCACCTCGCGGCACCGGCAAAATATCCGTACCTGCGCTGCACCCGTATTCTCCAGC
+CGGGCATGGTGTTAACCATCGAACCGGGTATCTACTTCATCGAATCGCTTCTGGCACCGTGGCGTGAAGG
+GCAGTTCAGCAAACACTTCAACTGGCAGAAAATTGAAGCACTGAAACCGTTCGGCGGCATTCGTATCGAA
+GACAACGTGGTGATTCACGAAAACAACGTGGAAAACATGACCCGGGATCTGAAACTGGCGTGATGGAAAG
+CTGGTTAATTCCTGCGGCACCGGTCATGGTCGTTGAAGAGATCAAAAAGAGCCGCTTCATTACGCTGTTG
+GCGCATACCGATGGCGTTGAGGCGGCAAAAGCGTTTGTTGAATCGGTGCGGGCAGAACACCCCGATGCCC
+GCCACCATTGCGTGGCGTGGGTGGCGGGTGCGCCGGATGATTCTCAACAGCTGGGTTTCTCTGACGACGG
+GGAGCCGGCGGGAACGGCAGGTAAACCGATGCTCGCCCAACTAATGGGCAGCGGCGTCGGGGAAATTACC
+GCTGTGGTGGTGCGCTACTACGGCGGCATATTGCTTGGCACCGGTGGGTTAGTGAAAGCGTATGGCGGCG
+GCGTGAATCAGGCGCTGCGCCAGCTAACGACCCAACGCAAGACACCATTAACCGAATATACTTTGCAATG
+TGAATATAGTCAGTTAACCGGCATTGAAGCGTTGCTGGGGCAGTGTGACGGCAAAATTATCAACAGTGAT
+TATCAGGCATTCGTTCTGCTGCGGGTGGCGCTTCCGGCGGCGAAAGTGGCTGAATTTTCCGCAAAGCTGG
+CGGATTTTAGCCGTGGTTCATTGCAATTGTTAGCGATTGAAGAATAATCCCCACTTCGTTTTGCAGAACT
+AAGGAAGCGGCAGAGATGCATTTTCGCGCCATTACCCGAATCGTTGGACTACTGGTCATCTTATTTTCAG
+GGACCATGATTATCCCTGGGCTGGTAGCACTCATCTACCGGGATGGAGCGGGCCGCGCTTTTACCCAGAC
+CTTTTTTGTCGCCCTCGCCATTGGCTCTATGCTTTGGTGGCCGAACCGCAAAGAGAAGGGCGAACTGAAA
+TCCCGTGAGGGGTTTCTGATAGTGGTGCTGTTCTGGACCGTGCTGGGTAGCGTCGGTGCGCTCCCTTTTA
+TCTTCTCGGAAAGCCCGAACCTCACGATTACCGATGCGTTTTTTGAATCTTTCTCTGGCCTGACCACCAC
+GGGGGCCACTACGCTGGTGGGGCTGGATTCGCTCCCTCATGCCATCCTCTTTTATCGCCAGATGCTGCAA
+TGGTTTGGCGGTATGGGGATCATCGTGCTGGCGGTTGCGATACTGCCTATCCTCGGCGTGGGTGGGATGC
+AGCTCTATCGCGCAGAAATGCCCGGCCCGCTGAAAGATAACAAAATGCGCCCGCGAATTGCGGAAACGGC
+GAAAACCCTGTGGTTGATTTATGTCTTGCTGACCGTCGCCTGTGCGCTGGCGTTGTGGTTTGCTGGAATG
+GATGCCTTTGATGCCATCGGCCATAGCTTTGCGACCATCGCTATTGGCGGCTTCTCGACACATGATGCCA
+GTATCGGTTATTTCGACAGCCCGACTATTAACACTATCATTGCTATCTTCCTGCTGATCTCTGGCTGTAA
+CTACGGTCTGCACTTTTCACTGTTAAGTGGGCGTAGTCTGAAGGTTTATTGGCGCGATCCGGAATTTCGC
+ATGTTTATCGGCGTACAGTTTTCACTGGTGGTTATTTGTACACTCGTACTGTGGTTTCATAATGTCTACA
+GTTCGGCGCTGATGACAATTAACCAGGCGTTTTTCCAGGTGGTGTCGATGGCGACAACCGCCGGGTTTAC
+GACTGACAGCATTGCCCGCTGGCCGCTCTTTTTGCCGGTACTGCTCTTATGTTCAGCTTTTATCGGCGGT
+TGTGCCGGGTCAACGGGCGGTGGCCTGAAAGTGATCCGCATCCTGCTGCTGTTTAAGCAGGGGAACCGTG
+AGCTGAAACGACTGGTGCATCCGAACGCCGTCTACAGCATTAAGCTGGGGAATCGCGCACTGCCGGAACG
+TATCCTCGAAGCCGTTTGGGGATTTTTCTCCGCCTATGCATTGGTGTTTATTGTCAGTATGCTGGCGATT
+ATCGCCACGGGCGTGGATGACTTTTCTGCCTTTGCCTCGGTTGTTGCAACATTGAATAACCTGGGGCCAG
+GGCTTGGCGTGGTTGCTGATAACTTTACCAGTATGAACCCGGTGGCTAAATGGATCCTGATTGCCAACAT
+GCTGTTTGGTCGTCTCGAGGTCTTTACATTGCTGGTGCTCTTTACCCCGACTTTCTGGCGTGAATGATGG
+AGTAATACGTGAAAACATTAATTCTTTTCTCAACAAGGGACGGACAAACGCGCGAGATTGCCTCCTACCT
+GGCTTCGGAACTGAAAGAACTGGGGATCCAGGCGGATGTCGCCAATGTGCACCGCATTGAAGAACCACAG
+TGGGAAAACTACGACCGTGTGGTCATTGGTGCTTCTATTCGCTATGGTCACTACCACTCTGCGTTCCAGG
+AATTTGTCAAAAAGCATGCGACGCGGCTGAATTCGATGCCGAGCGCCTTTTACTCCGTAAACCTGGTGGC
+GCGTAAACCGGAGAAGCGTACTCCACAGACCAACAGCTACGCGCGGAAGTTTCTGATGAGTTCACAATGG
+CGTCCCGATCGCTGCGCGGTCATTGCCGGGGCGCTGCGTTACCCACGTTATCGCTGGTACGACCGCTTTA
+TGATCAAACTGATTATGAAGATGTCAGGCGGTGAAACGGATACGCGCAAAGAAGTTGTCTATACCGATTG
+GGAGCAGGTGGCGAATTTCGCCCGAGAAATCGCCCATTTAACCGACAAACCGACGCTGAAATAAGCATAA
+AGAATAAAAAGTGCGCGGTCGGAAAATTATTTTAAATTTCCTCTTGTCAGGCCGGAATAACTCCCTATAA
+TGCGCCACCACTGACACGGAACAACGGCAAACACGCCGCCGGGTCAGCGGGGTTCTCCTGAGAATCTCAA
+CAGAGAAAAGCAAAAAAATGCTTGACTCTGTAGCGGGAAAGCGTATTATGCACACCCCGCGCCGCTGAGA
+AAAAGCGAAGCGGCACTGCTCTTTAACAATTTATCAGACAATCTGTGTGGGTACTCGCAAGATACGGATT
+CTTAACGTCGCAAGACGAAAAATGAATACCAAGTCTCAAGAGTGAACACGTAATTCATTACGAAGTTTAA
+TTCTTTGAGCATCAAACTTTTAAATTGAAGAGTTTGATCATGGCTCAGATTGAACGCTGGCGGCAGGCCT
+AACACATGCAAGTCGAACGGTAACAGGAATCAGCTTGCTGATTCGCTGACGAGTGGCGGACGGGTGAGTA
+ATGTCTGGGAAACTGCCTGATGGAGGGGGATAACTACTGGAAACGGTAGCTAATACCGCATAACGTCGCA
+AGACCAAAGAGGGGGACCTTCGGGCCTCTTGCCATCGGATGTGCCCAGATGGGATTAGCTAGTAGGTGGG
+GTAAAGGCTCACCTAGGCGACGATCCCTAGCTGGTCTGAGAGGATGACCAGCCACACTGGAACTGAGACA
+CGGTCCAGACTCCTACGGGAGGCAGCAGTGGGGAATATTGCACAATGGGCGCAAGCCTGATGCAGCCATG
+CCGCGTGTATGAAGAAGGCCTTCGGGTTGTAAAGTACTTTCAGCGGGGAGGAAGGGAGTAAAGTTAATAC
+CTTTGCTCATTGACGTTACCCGCAGAAGAAGCACCGGCTAACTCCGTGCCAGCAGCCGCGGTAATACGGA
+GGGTGCAAGCGTTAATCGGAATTACTGGGCGTAAAGCGCACGCAGGCGGTTTGTTAAGTCAGATGTGAAA
+TCCCCGGGCTCAACCTGGGAACTGCATCTGATACTGGCAAGCTTGAGTCTCGTAGAGGGGGGTAGAATTC
+CAGGTGTAGCGGTGAAATGCGTAGAGATCTGGAGGAATACCGGTGGCGAAGGCGGCCCCCTGGACGAAGA
+CTGACGCTCAGGTGCGAAAGCGTGGGGAGCAAACAGGATTAGATACCCTGGTAGTCCACGCCGTAAACGA
+TGTCGACTTGGAGGTTGTGCCCTTGAGGCGTGGCTTCCGGAGCTAACGCGTTAAGTCGACCGCCTGGGGA
+GTACGGCCGCAAGGTTAAAACTCAAATGAATTGACGGGGGCCCGCACAAGCGGTGGAGCATGTGGTTTAA
+TTCGATGCAACGCGAAGAACCTTACCTGGTCTTGACATCCACGGAAGTTTTCAGAGATGAGAATGTGCCT
+TCGGGAACCGTGAGACAGGTGCTGCATGGCTGTCGTCAGCTCGTGTTGTGAAATGTTGGGTTAAGTCCCG
+CAACGAGCGCAACCCTTATCCTTTGTTGCCAGCGGTCCGGCCGGGAACTCAAAGGAGACTGCCAGTGATA
+AACTGGAGGAAGGTGGGGATGACGTCAAGTCATCATGGCCCTTACGACCAGGGCTACACACGTGCTACAA
+TGGCGCATACAAAGAGAAGCGACCTCGCGAGAGCAAGCGGACCTCATAAAGTGCGTCGTAGTCCGGATTG
+GAGTCTGCAACTCGACTCCATGAAGTCGGAATCGCTAGTAATCGTGGATCAGAATGCCACGGTGAATACG
+TTCCCGGGCCTTGTACACACCGCCCGTCACACCATGGGAGTGGGTTGCAAAAGAAGTAGGTAGCTTAACC
+TTCGGGAGGGCGCTTACCACTTTGTGATTCATGACTGGGGTGAAGTCGTAACAAGGTAACCGTAGGGGAA
+CCTGCGGTTGGATCACCTCCTTACCTTAAAGAAGCGTACTTTGAAGTGCTCACACAGATTGTCTGATGAA
+AATGAGCAGTAAAACCTCTACAGGCTTGTAGCTCAGGTGGTTAGAGCGCACCCCTGATAAGGGTGAGGTC
+GGTGGTTCAAGTCCACTCAGGCCTACCAAATTTGCACCGCAAATTTGAAGAGGTTTTAACTACATGTTAT
+GGGGCTATAGCTCAGCTGGGAGAGCGCCTGCTTTGCACGCAGGAGGTCTGCGGTTCGATCCCGCATAGCT
+CCACCATCTCTGTAGTGATTAAATAAAAAATACTTCAGAGTGTACCTGCAAAGGTTCACTGCGAAGTTTT
+GCTCTTTAAAAATCTGGATCAAGCTGAAAATTGAAACACTGAACAACGAAAGTTGTTCGTGAGTCTCTCA
+AATTTTCGCAACACGATGATGAATCGAAAGAAACATCTTCGGGTTGTGAGGTTAAGCGACTAAGCGTACA
+CGGTGGATGCCCTGGCAGTCAGAGGCGATGAAGGACGTGCTAATCTGCGATAAGCGTCGGTAAGGTGATA
+TGAACCGTTATAACCGGCGATTTCCGAATGGGGAAACCCAGTGTGATTCGTCACACTATCATTAACTGAA
+TCCATAGGTTAATGAGGCGAACCGGGGGAACTGAAACATCTAAGTACCCCGAGGAAAAGAAATCAACCGA
+GATTCCCCCAGTAGCGGCGAGCGAACGGGGAGGAGCCCAGAGCCTGAATCAGTGTGTGTGTTAGTGGAAG
+CGTCTGGAAAGGCGCGCGATACAGGGTGACAGCCCCGTACACAAAAATGCACATGCTGTGAGCTCGATGA
+GTAGGGCGGGACACGTGGTATCCTGTCTGAATATGGGGGGACCATCCTCCAAGGCTAAATACTCCTGACT
+GACCGATAGTGAACCAGTACCGTGAGGGAAAGGCGAAAAGAACCCCGGCGAGGGGAGTGAAAAAGAACCT
+GAAACCGTGTACGTACAAGCAGTGGGAGCCTCTTAATGGGGTGACTGCGTACCTTTTGTATAATGGGTCA
+GCGACTTATATTCTGTAGCAAGGTTAACCGAATAGGGGAGCCGAAGGGAAACCGAGTCTTAACTGGGCGT
+TAAGTTGCAGGGTATAGACCCGAAACCCGGTGATCTAGCCATGGGCAGGTTGAAGGTTGGGTAACACTAA
+CTGGAGGACCGAACCGACTAATGTTGAAAAATTAGCGGATGACTTGTGGCTGGGGGTGAAAGGCCAATCA
+AACCGGGAGATAGCTGGTTCTCCCCGAAAGCTATTTAGGTAGCGCCTCGTGAATTCATCTCCGGGGGTAG
+AGCACTGTTTCGGCAAGGGGGTCATCCCGACTTACCAACCCGATGCAAACTGCGAATACCGGAGAATGTT
+ATCACGGGAGACACACGGCGGGTGCTAACGTCCGTCGTGAAGAGGGAAACAACCCAGACCGCCAGCTAAG
+GTCCCAAAGTCATGGTTAAGTGGGAAACGATGTGGGAAGGCCCAGACAGCCAGGATGTTGGCTTAGAAGC
+AGCCATCATTTAAAGAAAGCGTAATAGCTCACTGGTCGAGTCGGCCTGCGCGGAAGATGTAACGGGGCTA
+AACCATGCACCGAAGCTGCGGCAGCGACACTATGTGTTGTTGGGTAGGGGAGCGTTCTGTAAGCCTGTGA
+AGGTGGCCTGTGAGGGTTGCTGGAGGTATCAGAAGTGCGAATGCTGACATAAGTAACGATAAAGCGGGTG
+AAAAGCCCGCTCGCCGGAAGACCAAGGGTTCCTGTCCAACGTTAATCGGGGCAGGGTGAGTCGACCCCTA
+AGGCGAGGCCGAAAGGCGTAGTCGATGGGAAACAGGTTAATATTCCTGTACTTGGTGTTACTGCGAAGGG
+GGGACGGAGAAGGCTATGTTGGCCGGGCGACGGTTGTCCCGGTTTAAGCGTGTAGGCTGGTTTTCCAGGC
+AAATCCGGAAAACCAAGGCTGAGGCGTGATGACGAGGCACTACGGTGCTGAAGTGACAAATGCCCTGCTT
+CCAGGAAAAGCCTCTAAGCATCAGGTAACATCAAATCGTACCCCAAACCGACACAGGTGGTCAGGTAGAG
+AATACCAAGGCGCTTGAGAGAACTCGGGTGAAGGAACTAGGCAAAATGGTGCCGTAACTTCGGGAGAAGG
+CACGCTGATATGTAGGTGAAGCGACTTGCTCGTGGAGCTGAAATCAGTCGAAGATACCAGCTGGCTGCAA
+CTGTTTATTAAAAACACAGCACTGTGCAAACACGAAAGTGGACGTATACGGTGTGACGCCTGCCCGGTGC
+CGGAAGGTTAATTGATGGGGTTAGCGGTAACGCGAAGCTCTTGATCGAAGCCCCGGTAAACGGCGGCCGT
+AACTATAACGGTCCTAAGGTAGCGAAATTCCTTGTCGGGTAAGTTCCGACCTGCACGAATGGCGTAATGA
+TGGCCAGGCTGTCTCCACCCGAGACTCAGTGAAATTGAACTCGCTGTGAAGATGCAGTGTACCCGCGGCA
+AGACGGAAAGACCCCGTGAACCTTTACTATAGCTTGACACTGAACATTGAGCCTTGATGTGTAGGATAGG
+TGGGAGGCTTTGAAGTGTGGACGCCAGTCTGCATGGAGCCGACCTTGAAATACCACCCTTTAATGTTTGA
+TGTTCTAACGTTGGCCCCTAATCGGGGTTGCGGACAGTGTCTGGTGGGTAGTTTGACTGGGGCGGTCTCC
+TCCTAAAGAGTAACGGAGGAGCACGAAGGTTGGCTAATCCTGGTCGGACATCAGGAGGTTAGTGCAATGG
+CATAAGCCAGCTTGACTGCGAGCGTGACGGCGCGAGCAGGTGCGAAAGCAGGTCATAGTGATCCGGTGGT
+TCTGAATGGAAGGGCCATCGCTCAACGGATAAAAGGTACTCCGGGGATAACAGGCTGATACCGCCCAAGA
+GTTCATATCGACGGCGGTGTTTGGCACCTCGATGTCGGCTCATCACATCCTGGGGCTGAAGTAGGTCCCA
+AGGGTATGGCTGTTCGCCATTTAAAGTGGTACGCGAGCTGGGTTTAGAACGTCGTGAGACAGTTCGGTCC
+CTATCTGCCGTGGGCGCTGGAGAACTGAGGGGGGCTGCTCCTAGTACGAGAGGACCGGAGTGGACGCATC
+ACTGGTGTTCGGGTTGTCATGCCAATGGCACTGCCCGGTAGCTAAATGCGGAAGAGATAAGTGCTGAAAG
+CATCTAAGCACGAAACTTGCCCCGAGATGAGTTCTCCCTGAGACTTAGAGTCTCCTGAAGGAACGTTGAA
+GACGACGACGTTGATAGGCCGGGTGTGTAAGCGCAGCGATGCGTTGAGCTAACCGGTACTAATGAACCGT
+GAGGCTTAACCTTACAACGCCGAAGATGTTTTGGCGGATGAGAGAAGATTTTCAGCCTGATACAGATTAG
+ATTAACCGGCGACAAGCGGGTTAATGAAACAGAATTTGCCTGGCGGCCTTAGCGCGGTGGTCCCACCTGA
+CCCCATGCCGAACTCAGAAGTGAAACGCCGTAGCGCCGATGGTAGTGTGGGGTCTCCCCATGCGAGAGTA
+GGGAACTGCCAGGCATCAAATTTAGCGAAGAGCCCAGTCGGAAGACTGGGCTCTTTTGCGTTGGTGCGGA
+ATAAATGCCGGATGCGACGCTGGCGCGTTTGCTCCAGCCTACTCTTGCTTATCCGTCCTGCTTTTGCATC
+CACTCCACCACAAAATCAGCCAGCCCCTCAACATCATTAATATCCAGTAACGCGACATCAAGATTAAGCG
+GCACATCACTGGCTACAGCAATAACATGCCTGTCTATCACTAATTCTTCCGGTCGATGTCCGGCTCCATC
+GCGAAACAGCACAATCTTTGCGATCTCTTCATGCTTAAACCCTTCGACCAGAATCAAATCCAGCTTTGAG
+GTATCCATTCGACTTGCGAGAAAATGTAGATCCAGCTCTTCTTCGTCTGGTGTTTCTGTCATCAAGGCCC
+ATCGCTGTTGGCTGGCAACGATGGTTTGCGCCGCGCCAGCCTTGCGCAGCTCATAGCTATCTTTGCCCGG
+TTTATCAACATCCATATCATGGTGCGTATGCTTAATCAGCCCCGGACGGATCCCTCTGGCGCATAATGCC
+GGGATCAATTTTTTCAGCAGCGTTGTTTTTCCGGTGCCACTCCATGCAGCAAAGGCGAGTAACGGTATCA
+TCGTTTTTCCTGCCATCGGGCAAGCTCCTCTGGCGTATTCACGTTTATAAATGCCTCTTTACGATCGCTG
+AAATCAACCGCATGACCGCCAGCCAGACGCATAAATGCCATAACCCGGCGTTCTCCTGCTTGCAGATATT
+CCAGTAATAAAGGCTCAATTGCGCGGTTTACCAGAGCAATAGTCGGGTGATCGCGTTCACCGTCGTGGAC
+CCACACGACAGGCGCATCTTTGCGCTGATGATTAAGCCGGGAGGCTAAATCATGGGGAATGTAAGGCGTA
+TCGCACGGGCAAAACAAAAACCACTCACCCGATTCCTGCTGCATTACTGAAAGCATTCCTGCCAGAGGGC
+CAGGGTAATCCGCCAGTGAATCTTCAATCACTTTCAGACCGCTTACCTGATAGATTTCCTGATGACGATT
+AGCATTAACCACGACGTGAGAAAGCTGCGTCATAAGCGCGTCAGCGACATGTTGCCATAATGGTTTGCCG
+TTTAATTCAAGCAATCCTTTATCTACGCCGCCCATTCGTCTGGCTTTACCGCCCGCCAGCACAACGCCTG
+TTATCGTCGTCATCAGATTCACCGATATCGCCTCTTTTATTGTGGGATTGACCCTGCTAACGTGTCTGTC
+TCAAGAGTAAGGAGCATTACTATGAAATGTAAACGTCTGAATGAAGTTATTGAACTCCTCCAGCCAGCCT
+GGCAAAAAGAGCCAGACCTTAACCTGCTGCAATTTTTGCAGAAACTGGCGAAAGAGTCAGGTTTTGACGG
+CGAACTGGCGGATTTGACGGATGACATTCTGATCTATCACCTGAAAATGCGTGATTCCGCGAAAGATGCG
+GTGATCCCGGGTTTGCAGAAAGATTATGAAGAAGATTTCAAAACGGCACTATTACGCGCACGTGGCGTAA
+TTAAAGAGTAAAAGCTTGTAAGCGGCGCAACCAAAATCATCGTGAAATGATATCCTTCATCATTCGTAAT
+GTTTTCCGGATGATGGGATGAACAACAGCGCTTTTACTTTCCAGACACTACACCCGGATACCATCATGGA
+CGCTCTGTTTGAGCATGGGATTCGGGTGGATTCCGGTCTTACCCCGCTTAACAGCTATGAAAACCGTGTC
+TATCAATTTCAGGACGAAGATCGTCGACGTTTTGTCGTCAAATTTTATCGCCCTGAACGTTGGACAGCCG
+ATCAAATCCTCGAAGAACATCAATTTGCGTTGCAGCTGGTTAACGATGAAGTTCCGGTCGCAGCACCTGT
+GGCCTTTAATGGTCAGACTTTATTGAACCATCAGGGATTTTATTTCGCTGTTTTTCCAAGCGTCGGTGGT
+CGCCAGTTCGAAGCTGATAATATCGATCAGATGGAAGCGGTTGGGCGTTATTTAGGGCGTATGCACCAGA
+CGGGGCGCAAACAGCTTTTTATCCATCGCCCGACCATCGGTTTGAATGAATATCTCATTGAGCCACGCAA
+GCTGTTTGAGGACGCTACACTGATACCTTCCGGGTTGAAAGCGGCATTCCTGAAAGCGACAGATGAGCTG
+ATTGCCGCCGTTACAGCACACTGGCGGGAAGATTTCACCGTTCTGCGGCTACATGGAGACTGCCACGCCG
+GGAATATTCTCTGGCGCGATGGTCCAATGTTTGTTGATCTGGATGATGCACGTAATGGTCCAGCCGTTCA
+GGATTTGTGGATGTTGCTCAATGGTGATAAAGCCGAGCAGCGGATGCAACTGGAAACTATTATTGAGGCT
+TATGAAGAATTTAGCGAGTTCGACACCGCTGAAATCGGACTGATTGAACCTTTACGCGCCATGCGTTTGG
+TTTATTATCTTGCCTGGCTAATGCGGCGTTGGGCTGATCCCGCGTTCCCGAAAAATTTCCCGTGGTTAAC
+CGGGGAAGATTACTGGCTACGACAGACGGTGACTTTTATAGAACAGGCAAAAGTTCTACAAGAACCCCCT
+TTGCAATTAACACCTATGTATTAATCGGAGAGAGTAGATCATGAAAAAGATTTGGCTGGCGCTGGCTGGT
+TTAGTTTTAGCGTTTAGCGCATCGGCGGCGCAGTATGAAGATGGTAAACAGTACACTACCCTGGAAAAAC
+AAGTTGCTGGCGCGCCGCAAGTGCTGGAGTTTTTCTCTTTCTTTTGCCCGCACTGCTATCAGTTTGAAGA
+AGTTCTGCATATTTCTGATAACGTGAAGAAAAAACTGCCGGAAGGCGTGAAGATGACTAAATACCACGTC
+AACTTCATGGGGGGTGACCTGGGCAAAGAGCTGACTCAGGCATGGGCTGTGGCGATGGCGCTGGGCGTGG
+AAGACAAAGTCACAGTTCCGCTGTTTGAAGGCGTACAAAAAACCCAGACCATTCGTTCAGCATCTGATAT
+CCGCGATGTATTTATCAACGCAGGTATTAAAGGTGAAGAGTACGACGCGGCGTGGAACAGCTTCGTGGTG
+AAATCTCTGGTCGCTCAGCAGGAAAAAGCTGCAGCTGACGTGCAATTGCGTGGTGTTCCGGCGATGTTTG
+TTAACGGTAAATATCAGCTGAATCCGCAGGGTATGGATACCAGCAATATGGATGTTTTTGTTCAGCAGTA
+TGCTGATACTGTGAAATATCTGTCCGAGAAAAAATAATTCAATGTAAATTACATAAAGCCCGTGAATATT
+CACGGGCTTTTTTTATTATTTAATAAATATAAATACATTCTGATAATGCTTCCTGCTGCTGGACATTATT
+TCAGCATAAGTGGATATTCAAAGTTTTGCTGTTTTATCAGGGAATATTTATATGATACGTAAGTCAGCTA
+CAGGTGCCATTGTTGCGTTAGCCGTAATCTGGGGTGGTGGCACATGGTACACAGGTACGCAAATTCAGCC
+TGGTGTCGAAAAGTTTATTAAAGGTTTTAACGATGCTAAAAAGAAAGGTGAACATGCCTACGATATGACG
+TTAAGTTATAAAAATTTTGACAAAGGCTTTTTTAATTCCCGTTTTCAAATGCAAATGACATTTGATAACG
+GTGCACCCGATCTCAATATCAAGCCAGGCCAGAAAATTGTATTTGATGTGGATGTTGAGCACGGTCCGTT
+GCCCATCACAATGTTAATGCATGGTAATGTCATCCCAGCACTGGCAGCGGCAAAAGTGAACTTAGTGAAT
+AATGAGCTGACACAACCGCTATTTATCGCCGCGAAAAATAAATCGCCCGTGGAAGCGACATTGCGATTCG
+CGTTTGGTGGCCCATTCTCCACGACATTAGATGTTGCCCCTGCAGAGTATGGAAAGTTTTCTTTTGGTGA
+AGGCCAGTTTACTTTTAATGGTGATGATAGTTCATTGTCTAACCTGGATATTGAAGGCAAAGTCGAAGAT
+ATTGTTCTGCAATTTTCACCAATGAACAAAGTAACGGCGAAAAGTTTTACCATTGATTCTCTGACACGAT
+TAGAAGAAAAGAAATTTCCGGTTGGTGAAAGCGAGTCGAAATTTAATCAGGTTAATATTATCAACCAGGG
+GGAAGTCGTTGCCCAAATCGATGCTTTCGTTGCAAAAACCAGGCTGGATCGCGTTAAAGACAAAGATTAT
+ATCAATGTCAATCTGACCTACGAACTTGATAAGTTAACAAAAGGGAATCAGCAACTCGGTAGTGGTGAGT
+GGTCATTGATTGCTGAATCTATTGATCCCTCAGCGGTGCGCCAATTTATCATCCAGTATAACATTGCGAT
+GCAGAAGCAGCTTGCTGCACACCCTGAGTTAGCAAACGATGAAGTTGCTCTGCAAGAAGTGAATGCTGCA
+TTGTTCAAAGAGTATTTACCGTTATTACAAAAAAGTGAGCCGACCATTAAACAACCAGTAAGATGGAAGA
+ACGCACTCGGCGAACTAAATGCCAATCTGGATATCAGTATTGCCGACCCCGCCAAATCTTCATCATCCAC
+AAACAAAGATATTAAATCGCTCAATTTTGATATGAAGTTACCGCTTAATGTCGCCACAGAAACCGCAAAA
+CAGCTTAATTTATCTGAAGGGATGGATGCGGAAAAAGCGCAAAAGCGGGCTGATAAACAAATCAGCGGGA
+TGATGACATTAGGTCAGATGTTGCAGTTAATCACGATTGACAACAATACCGCCTCGCTGCAACTGCGTTA
+TACACCGGGTAAAGTTTTTTTTAACGGTCAGGAGATGAGCGAAGAAGAATTTATGTCTCGTGCCGGACGT
+TTTGTTCATTAAAATACTCACTCGCCTCTGCTCATTCAGAGGCGAGTAAAACTTACTTTTCCTGCCGCTG
+TGATGACATCAACGATGTCAGAAGCCGGTCTTTTTCCTGCCACAATGAGTTCAGCCATTGCTGAAAATGG
+CGCTTAAAGCTTTTGTCATTGATGTAGTCGCCATGTAACTCATCGGCAATAGGCTGTAAATCCACATGTA
+CGACAATTCGCGTCAGTTTACCGCTTAACATATCGAAGAACGGCTGACGGTTATTGTCCGGATAACACAG
+CGTAACATTAAGCAGTTTATCGAATTGTTTACCCAGTACATTTAGCGCCATCGCAATGCCTGCCGCCTTT
+GGTGGCAACAAGTTTTGAAAAGTGGAGTGGGTTTGCTGATGTTTTTCTTGCGTGAAACGGGAGCCTTCAA
+CGAAATTGACAATAGTGGTGGGATGCAGGCGAAACTTTTCACAAGAACGCCGAGTGGTTTCAACATCTTT
+ACCACGTCGCTCCGGATGACGTAATAAATAAGCGCGGGAATAACGCTTCATAAACGGCATATCCAGCGCC
+CAGCACGCCAGGCCAAGAAAAGGCACCCAGGCCAGCTGCTGCTTGAGGAAATATTTATTCATCGGAATGT
+GCTTACGAAACAGCACGCACAGTACGACAATATCTGCCCAACTACGGTGGTTACAAATAAGCAGATACCA
+GTTCTTCTTACTTAACCCTTCCAGCCCGTGAACTTCCCATTGCAGGTGTGGGTTCAGATGCAGTAATACC
+GCCAGACCTTCACACCAGCAATACATCATAAAATCACAAAAACGCGAAACCTTTCGCCAAATGACTGGCA
+CAGGTAGCAATAGTTTTACAATCCCGGCAATGATGATCGGGACGGAACAAAAAATAGTGACCAAAATGGT
+CAATACGATACTCAGCAAAAGGGTTATCGCAGCGAGTATTCTCGTCATAATGAATTTATTCAAAAGGTTA
+GCCATAGACAGTGCGCTAAAGAAGCGCAAGGCGCAGATTTTAGCAGAAAACGACCCAAATAACGGATGAT
+CCTTAAGGAGAAAAATAATTCATATCTATCCACATTAGAAAAAATCCCATTATCTCAATTATTAGGGATG
+GCTTTATTTTTAACTGCATGAAAAACAAAGATAAACATCATGCTGTAAAAAGCATGATAATAAATTAAAA
+GCGATGTAAATAATTTATGCACAAAGTTATCCACATGACGATTTGCGAGCGATCCAGAAGATCTACAAAA
+GATTTTCACGAAAAGCGGTGAAAAACTCATGTTTTCATCCTGTCTGTGGCATCCTTTACCCATAATCTGA
+TAAACAGGCACGGACATTATGGTTCAGATCCCCCAAAATCCACTTATCCTTGTAGATGGTTCATCTTATC
+TTTATCGCGCATATCACGCGTTTCCCCCGCTGACTAACAGCGCAGGCGAGCCGACCGGTGCGATGTATGG
+TGTCCTCAACATGCTGCGCAGTCTGATCATGCAATATAAACCGACGCATGCAGCGGTGGTCTTTGACGCC
+AAGGGAAAAACCTTTCGTGATGAACTGTTTGAACATTACAAATCACATCGCCCGCCAATGCCGGACGATC
+TGCGAGCACAAATCGAACCTCTGCACGCGATGGTTAAAGCGATGGGACTGCCGCTGCTGGCGGTTTCTGG
+CGTAGAAGCGGACGACGTTATTGGTACTCTGGCGCGCGAAGCCGAAAAAGCCGGGCGTCCGGTGCTGATC
+AGCACTGGCGATAAAGATATGGCGCAGCTGGTGACGCCAAATATTACGCTTATCAATACCATGACGAATA
+CCATCCTCGGACCGGAAGAGGTGGTGAATAAGTACGGCGTGCCGCCAGAACTGATCATCGATTTCCTGGC
+GCTGATGGGTGACTCCTCTGATAACATTCCTGGCGTACCGGGCGTCGGTGAAAAAACCGCGCAGGCATTG
+CTGCAAGGTCTTGGCGGGCTGGATACGCTGTATGCCGAGCCAGAAAAAATTGCTGGGTTGAGCTTCCGTG
+GCGCGAAAACAATGGCAGCGAAGCTCGAGCAAAACAAAGAAGTTGCTTATCTCTCATACCAGCTGGCAAC
+GATTAAAACCGACGTTGAACTGGAGCTGACCTGTGAACAACTGGAAGTGCAGCCACCGGCGGCGGAAGAG
+TTGTTAGGGCTGTTCAAAAAGTATGAGTTCAAACGCTGGACTGCTGATGTCGAAGCGGGCAAATGGCTAC
+AGGCTAAAGGGGCGAAACCCGCAGCCAGGCCGCAGGAAACCAGTGTTGCAGACGAAGCGCCAGAAGTGAC
+GGCAACGGTGATTTCTTATGACAACTACGTCACTATCCTTGATGAAGAAACACTGAAAGAGTGGATTGCG
+AAGCTGGAAAAAGCGCCGGTATTTGCATTTGATACCGAAACAGACAGCCTTGATAACATCTCTGCTAACC
+TGGTCGGGCTTTCTTTTGCTATCGAGCCAGGCGTAGCGGCATATATTCCGGTTGCTCATGATTATCTTGA
+TGCGCCCGATCAAATCTCTCGCGAGCGTGCACTCGAGTTGCTAAAACCGCTGCTGGAAGATGAAAAGGCG
+CTGAAGGTCGGGCAAAACCTGAAATACGATCGCGGTATTCTGGCGAACTACGGCATTGAACTACGTGGGA
+TTGCGTTTGATACCATGCTGGAGTCCTACATTCTCAATAGCGTTGCCGGACGTCACGATATGGACAGCCT
+CGCGGAACGTTGGTTGAAGCACAAAACCATCACTTTTGAAGAGATTGCGGGTAAAGGCAAAAATCAACTG
+ACCTTTAACCAGATTGCCCTCGAAGAAGCCGGACGTTACGCCGCCGAAGATGCAGATGTCACCTTGCAGT
+TGCATCTGAAAATGTGGCCGGATCTGCAAAAACACAAAGGGCCGTTGAACGTCTTCGAGAATATCGAAAT
+GCCGCTGGTGCCGGTGCTTTCACGCATTGAACGTAACGGTGTGAAGATCGATCCGAAAGTGCTGCACAAT
+CACTCTGAAGAGCTCACCTTGCGTCTGGCTGAGCTGGAAAAGAAAGCTCATGAAATTGCAGGTGAAGAAT
+TTAACCTTTCTTCCACCAAGCAGTTACAAACCATTCTGTTTGAAAAACAGGGCATTAAACCACTGAAGAA
+AACGCCGGGTGGCGCCCCGTCAACGTCGGAAGAGGTACTGGAAGAACTGGCGCTGGACTATCCGTTGCCA
+AAAGTGATTCTGGAGTATCGTGGTCTGGCGAAGCTGAAATCGACCTACACCGACAAGCTGCCGTTGATGA
+TCAACCCGAAAACCGGGCGTGTACATACCTCTTATCACCAGGCAGTAACCGCAACGGGACGTTTATCGTC
+AACCGATCCTAACCTGCAAAACATTCCGGTGCGTAACGAAGAAGGTCGCCGTATCCGCCAGGCGTTTATT
+GCGCCAGAGGATTATGTGATTGTCTCAGCGGACTACTCGCAGATTGAACTGCGCATTATGGCGCATCTCT
+CGCGTGACAAAGGCTTGCTGACCGCATTCGCCGAAGGAAAAGATATCCACCGTGCAACGGCGGCAGAAGT
+GTTTGGTTTGCCACTGGAAACCGTCACCAGCGAGCAACGTCGTAGCGCGAAAGCGATCAACTTTGGTCTG
+ATTTATGGCATGAGTGCTTTCGGTCTGGCGCGGCAATTGAACATTCCGCGTAAAGAAGCGCAGAAGTACA
+TGGACCTTTACTTCGAACGCTACCCTGGCGTGCTGGAGTATATGGAACGCACCCGTGCTCAGGCGAAAGA
+GCAGGGCTACGTTGAAACGCTGGACGGACGCCGTCTGTATCTGCCGGATATCAAATCCAGCAATGGTGCT
+CGTCGTGCAGCGGCTGAACGTGCAGCCATTAACGCGCCAATGCAGGGAACCGCCGCCGACATTATCAAAC
+GGGCGATGATTGCCGTTGATGCGTGGCTACAGGCTGAGCAACCGCGTGTGCGTATGATCATGCAGGTACA
+CGATGAACTGGTATTTGAAGTCCATAAAGATGATGTCGATGCCGTCGCGAAGCAGATTCATCAACTGATG
+GAAAACTGTACCCGTCTGGATGTGCCGTTACTGGTGGAAGTGGGGAGTGGCGAAAACTGGGATCAGGCGC
+ACTAAGATTCGCCTGAACATGCCCTTTTTTCGTAAGTAAGCAACATAAGCTGTCACGTTTTGTGATGGCT
+ATTAGAAATTCCTATGCAACAACTGAAAAAAAATTACAAAAAATGCTTTCTGAACTGAACAAAAAAGAGT
+AAAGTTAGTCGCGTAGGGTACAGAGGTAAGATGTTCTATCTTTCAGACCTTTTACTTCACGTAATCGGAT
+TTGGCTGAATATTTTAGCCGCCCCAGTCAGTAATGACTGGGGCGTTTTTTATTGGGCGAAAGAAAAGATC
+CGTAATGCCTGATACGCCATGTTTATCAGGCCAACGGTAGAATTGTAATCTATTGAATTTACGGGCCGGA
+TACGCCACATCCGGCACAAGCATTAAGGCAAGAAAATTATTCGCCGTCCTGCGTTTCTTCTACAGGCTGC
+ATCTCGCTAAACCAGGTATCCAGTTTCTGCCGCAGCTTGTCCACGCCTTGTTTCTTCAGCGAAGAAAACG
+TTTCAACCTGCACATCACCGTTAAACGCCAGCACCGCTTCACGCACCATATTCAATTGCGCTTTACGTGC
+GCCGCTTGCCAGTTTGTCCGTTTTGGTCAGCAGTACCAGCACGGCGATATTGCTGTCTACCGCCCACTCA
+ATCATCTGCTGATCCAAATCTTTCAGCGGATGGCGAATATCCATTAGCACCACCAGACCTTGCAGGCTCT
+GACGTTTTTCGAGGTACTCGCCGAGCGCGCGCTGCCATTTGCGCTTCATCTCTTCCGGGACTTCCGCATA
+ACCGTACCCAGGCAAGTCAACCAGACGCTTGCCGTCAGCCACTTCAAACAGGTTGATAAGCTGGGTGCGC
+CCTGGGGTTTTTGAGGTACGAGCCAGGCTTTTCTGGTTAGTCAGCGTGTTCAGCGCGCTGGATTTACCTG
+CGTTGGAAACGGCCTGCAAAAGCCACTTCAATTCCGGTATCGGAAGGTAGGTGGCGAATATCAGGCGCAC
+TCATCACAAAATGCGTCTGTTGATAATTCAAATTAGTCAAAGCGGTCGTCTCCATCAGTCAAAGCTTTGC
+GGCGATTATACCTGAACCATAATAAAAGGCGGATTTTTCGGCGTGAGCGTTGTAAGTAAAAGCCATATGC
+TTTGTGAGACATTGCCGATAGTCTTTATGCGAAATAGCAGAGAAAATTCTGCGACGCATGTCAAATAAGC
+TATATAAATCAGTGAATTGCTTTTATATAAAACTCTGAAAATGTGCAAATACTGATGGCGGTTGATTGTT
+TATTTAAAGCAAAGGCGTAAAGTAGCACCCATAGAGCGAGGACGCTAACAGGAACAATGACTCAGGATGA
+GGGTCAGGAGCGCCAGGAGGCGAAGACAGAGGATTGTCAGGAAGATAAACGTCCGGAGACGTAATTAAAT
+GGAAATGGAATCAACACGGATTGTTCCGGCTAATGGAAAAACAGGGTGTGTTGGCGGCCTGCAAGGATTG
+TAAGACCCGTTAAGGGTTATGAGTCAGGAAAAAAGGCGACAGAGTAATCTGTCGCCTTTTTTCTTTGCTT
+GCTTTCTGTTAGATTCCGCCGCAAATCTATACTGAATAAAACGGCTAAAAGACGAACCATTATGAAACCA
+TCATCTTCAAACTCACGCAGCAAAGGTCATGCAAAAGCGCGTAGAAAAACACGCGAGGAGCTGGATCAGG
+AAGCTCGTGACCGTAAGCGTCTGAAAAAACGTCGTGGTCATGCGCCGGGCAGCCGCGCAGCGGGTGGTAA
+CACCACGTCAGGCAGCAAAGGCCAGAACGCCCCAAAAGATCCACGTATTGGCAGTAAAACCCCTATTCCA
+TTGGGCGTGGCTGAAAAAGTCACCAAACAGCACAAACCGAAGAGTGAGAAACCTATGCTTTCACCGCAGG
+CGGAGTTGGAGTTACTGGAAACGGATGAGCGTCTGGATGCGCTGCTGGAACGTCTGGAAGCAGGCGAAAC
+TCTGAGCGCCGAAGAGCAATCCTGGGTGGATGCCAAACTGGATCGTATTGATGAGTTGATGCAGAAACTT
+GGCCTCTCTTATGACGATGACGAAGAAGAGGAAGAAGACGAGAAGCAAGAAGACATGATGCGTCTGCTGC
+GGGGCAACTAACGGATTGCCGCCGTGGGCCTTCCCGTTCTGCTGATAACCCTTCCGGTTATATGTTATCT
+GGTGTGGTTATTCGTTAAACTACAGCGGTTGTCGCGGCGACAAAAGTGGCTGCGCAACCGGCTGATGACC
+CGAAACGGGCATCCGCCGGTACGCCGTAGCCGCCAGAGACGCCATCGGAAGGAGTGAGCATGTCTGTACA
+GCAAATCGACTGGGATCTGGCCCTGATCCAGAAATATAACTATTCCGGGCCACGATACACCTCGTACCCG
+ACCGCGCTGGAGTTTTCAGAAGACTTCGGCGAACAGGCGTTTTTACAAGCCGTGGCGCGCTATCCTGAGC
+GTCCATTATCTCTCTACGTACATATTCCGTTCTGCCATAAGCTTTGTTACTTCTGCGGTTGCAATAAGAT
+TGTTACTCGCCAGCAGCACAAGGCCGATCAGTATCTGGACGCGCTGGAGCAAGAAATCGTCCATCGTGCA
+CCGCTGTTCGCCGGGCGTCACGTCAGCCAATTGCACTGGGGCGGCGGAACGCCGACGTATCTGAATAAAG
+CGCAAATCAGCCGTCTGATGAAGCTGCTGCGCGAAAACTTCCAGTTCAATGCCGATGCGGAGATCTCGAT
+CGAAGTCGATCCGCGGGAAATCGAACTGGATGTACTCGATCATTTACGCGCCGAAGGCTTTAATCGGCTG
+AGCATGGGCGTGCAGGACTTCAACAAAGAAGTGCAACGTCTGGTTAACCGCGAGCAGGATGAAGAGTTCA
+TCTTTGCACTGCTTAACCATGCGCGTGAGATTGGCTTTACCTCCACCAACATCGACCTGATTTACGGCCT
+GCCGAAACAGACGCCGGAGAGTTTCGCCTTTACCCTGAAACGCGTGGCGGAGCTGAACCCCGATCGTCTG
+AGCGTCTTTAACTACGCGCATTTGCCGACCATTTTTGCTGCTCAGCGCAAAATCAAAGATGCTGACCTGC
+CGAGTCCGCAGCAAAAACTCGATATCCTGCAGGAAACCATCGCCTTCCTGACACAATCGGGCTATCAGTT
+TATCGGTATGGATCACTTTGCCCGTCCGGATGACGAGCTGGCGGTGGCCCAGCGTGAAGGCGTGCTGCAT
+CGTAACTTCCAGGGCTACACCACTCAGGGCGATACCGATCTGCTGGGGATGGGCGTTTCCGCCATCAGCA
+TGATTGGCGACTGCTACGCGCAGAACCAGAAAGAGTTGAAGCAGTACTATCAGCAAGTGGATGAACAAGG
+CAATGCGCTGTGGCGTGGTATTGCGCTAACGCGTGATGACTGTATTCGCCGCGATGTGATTAAGTCGCTC
+ATCTGCAACTTCCGTCTGGATTACGCCCCTATTGAGCAACAGTGGGATTTGCTCTTCGCTGATTACTTTG
+CGGAAGATCTCAAGTTGCTCGCCCCGTTAGCAAAAGATGGGCTGGTGGATGTGGATGAGAAGGGAATACA
+GGTGACGGCGAAAGGTCGCTTGCTGATCCGCAACATTTGCATGTGCTTTGATATCTATCTGCGCCAGAAA
+GCGCGGATGCAGCAGTTCTCTCGGGTGATTTAAATTGTGAATGGCGCTTCGTTTACAAAGTAGAAAACGA
+AAGCGCCATCAATGTGCTGAGAACAAGATTGCCTGATGCGCTACGCTTATCAGGCCTGCAAAATCTGTTG
+AAATTATTGCTTTTGTAGGCCGGATAAGGCGTTTACGCCGCATCCGGCAATCAACGCCTGATGCGACGCT
+GGTTGCGTCTTATCAGGCCTACGACTTTCTCCGCATCCGGCGTAAACAACGAGCTTCAGCTAAACAGCCC
+TATCATCGCGGCACACAGCACGGCAGCAACAGCAGTTTGCGGTGTGTGGCTGTCAACTGCGCCACTCGAT
+ACCAGATTAATTATTGATTCCAGCATAATGACTCTCCCCGTTTTCCGGGCAAGATCATACTGAACTTATC
+GGAACAGTAAAGCGCAAAATACCAGCAATTTGCGCTCAATAATCAATCTTTACACACAAGCCGTGAATCA
+CTCCATCCCCAGCTCTTTTAACTTACGCGTCAGGGTGTTGCGACCCCAGCCAAGTAGCCGCGCCGCTTCC
+TGTTTATGCCCCTGCGTATGTCGCAGCGCGGTGGTCAGTAACGTCCGTTCCAGCTCTGGCTGTGCTTCGG
+AAAGCAGGTTTTGATGACCGGAACGCAGCGCTCTGTCTGCCCACTGTGCTAACAGCGTTGCCCAACTGTC
+CGGCTGCATGTGTGAAGTGCTTTCCGGTACGTTTGATTCAAACAGTTCGCCAGGCAAATCCTGAATCAAC
+ACTTCCTGCCCGGCGGCCATCACCGTTAGCCAGCGACAGGTGTTTTCCAGCTGGCGCACGTTGCCTGGCC
+ACGCCAGACGCGTCAGCGCGGCTTCGGTTTCCGGATGCAGCAACTTCGCTTCTACGCCCAGGTCTCGCGC
+GGCAACCTGTAAAAAATGGCGTGCCAGACGGGGAATATCTTCCCGACGTTCGCGCAGTGGCGGCAGATGA
+ACGCGGATGACGTTCAGGCGGTGGAACAGATCCTCACGGAACTTGCCTTCCTGCACCCGCTGTTCAAGAT
+TCTGGTGAGTGGCAGCGATAATCCGCACATCTACTTTCACCGGCGCATAGCCGCCAACGCGATAAAACTG
+ACCGTCTGCCAGCACGCGCAGCAAACGCGTCTGCACATCCAGCGGCATATCGCCAATTTCATCAAGAAAT
+AATGTACCGCCATCAGCCTGTTCAAAACGCCCCTGACGAATGGTATTCGCGCCGGTAAATGCGCCTTTCT
+CGTGACCAAACAGTTCGGATTCGATCAAATCCTTCGGGATAGCCGCCATATTGAGCGCGATAAACGGCGC
+TTTGGCTCGCGGACTGTGGCGATGCAGGGCATGAGCGACCAGTTCTTTACCGGTGCCGGATTCGCCGTTA
+ATCAGCACGCTAATAGAAGAACGCGAAAGCCGACCGATAATCCGGAACACGTCCTGCATGGCTGGCGCTT
+CACCGATGATATCGGTCGTTGGGCCGTTAAGCTGAACATTACGCGGCTGCTGCTGTTCCTGGTAATGACT
+GATGGCGCGCTCAACCAGCGCCACGGCTTCGTCGATATCAAACGGTTTGGGCAGATAATCAAATGCCCCT
+TGTTGATAGGCGCTGACGGCAGCATCCAGATCGGAATGTGCGGTCATAATGATGACCGGAAGCATCGGAT
+GGCGCTGTTTAATCTGCTTGAGCAGCGCCAGCCCGTCCATTCCCGGCATACGGATATCTGAAAGCAGCAC
+ATCCGGCGTTTTGCTCGCCAGCGCCTCCAGTACTTCCGCGCCGTTCTCAAATGTCGTACAGGTTAAACCC
+GCTCCAGCGAGCGCACGTTCAAGCACCCAACGGATGGAACTATCGTCATCGACTACCCAGACTATCCCTC
+GTTGCATAAACGTCACCTTTATTTCCTGATAGGCAGGTAAACCGAGAACTCGGTATGACCTGGCCAACTG
+GTAAATTCAATTTTGCCTGAATGCTGATCAATCAAATTACGGGCGATGGATAAGCCAAGCCCGGTGCCAC
+CTTCGCGGCCGCTGACCATCGGGTAAAACAGCGTATCCTGCAAATGAGGCGGAATGCCCGGCCCGTTATC
+TTCCACATCAATCCGCGCCGCCAGCCGATAGCGCTCGCCGTGTAAGGTCAGTTGAAACGCTGTGCGGGTA
+CGTAGAATGATTTCACCACCCTCCGGCCCCAGCGCCTGTAGCGCATTGCGCACAATATTCAGCAAGACCT
+GTTCAATTTGATCCGGGTCGTGCGCCAGTTCCGGCAGGCTGGGGTCGTAATCCCGAATCAACCGCACGTT
+GTTCGGCAGTTCCATCGACACCAGCGTCACCACGCGTTCAGCCACTTTGTGAATACTTTCGGTAATGCGC
+GTACCGGGCAGCTGCGGCCCCAACAGACGGTCGACCAGATTTCGCAGCCGGTCCGCCTGTTCGATAATCA
+CTTTGGTATATTCGAGTAGTGACGGGTCAGGTAATGCTTTGCTGAGTAGCTGCGCCGCGCCACGTAAACC
+GCCAAGCGGATTTTTAATCTCATGTGCCAGGCCGCGCACTAAATCACGGGCAGCAACCTGCTGGGCGTGC
+TGTAGCTGTTCCTGACTTAAGCGGCGCTGGTTATCCATCGGTGCCATCTCCAGCAGGATCATGCCGTCCG
+GCATACGCTGAGCCGTCACAGAAAGGATATGCGAGCGCCCGTCGATGACCAGCGTCACTTCGTTATCGGT
+AAAACCTTGCCCCGCCTCCAGACTTTCTTGCATCAGCTCGATATTTAATGAGAAGTAGCTCAACAGTTCC
+GGTAACGGTGTACCAAACAATTTGCGGGAGCTTTGGGCGAGCAGTTGTTGCGCGGCGGGGTTGGCGTAAT
+GGATCGCCAGGTTGTCATCGATTAACAAAATACTGTTAATCAGCGAGTTGAGGATCTGCCCAGCATCGGG
+CTGCGTGCCTGTTGCCATAAAGCAGTCTCCTGAACAGGTTGCACCATTTTAGTGCATTATAGCTTTTTAC
+GGATAAAAAGCGCGAAGCATCAGAGAATTGACGGAGAAAAAAGCCCATGCAGAGATGGGCTGAAAGTTTC
+CACGGCAACTAAATCCCGGCGTTGTTGCGCCGGGTAGTACAACTTCAACTATTAGACGCTGTAGTACAGC
+TCAAACTCTACCGGATGCGGAGTCATACGCACGCGGTCATCTTCTTCGCGACGCAGAGCGATGTACGCAT
+CGATCGCTTCATCCGTGAACACGCCACCGGCTTTCAGGAACTCGCGATCCAGATCCAGTTCGTTCAGTGC
+TTCTTCCAGAGAGCCTGCAACCTGTGGGATCTCTTTCGCTTCTTCTGGCGGCAGGTCATACAGGTTTTTG
+TCCATGGCTTCGCCCGGATGGATCTTGTTCTTGATGCCATCAAGACCGGCCATCAGCAGGGCAGCAAAGC
+ACAGGTACGGGTTAGCCGCCGGGTCCGGGAAACGTACTTCGATACGACGTGCTTTCGGAGAAGAAACCAC
+CGGAATACGGATAGACGCAGAACGGTTACGCGCAGAGTAAGCCAGCATTACCGGTGCTTCGTAGCCCGGG
+ACCAGACGCTTGTAAGAGTTGGTGGTCGGGTTTGCCAGGGCGTTAATCGCTTTAGCGTGTTTGATTACGC
+CGCCAATGTAGTACAGTGCCTGCTCAGACAGACCTGCGTATTTGTCGCCAGCAAACAGGTTGACGCCGTT
+TTTAGACAGCGACATGTGGCAGTGCATACCGGAACCGTTATCACCGAACATCGGTTTTGGCATAAAGGTC
+GCGGTCTTACCGAAACGGTGCGCCACGTTGTGCACGACATATTTGTAGATCTGAATTTCGTCAGCTTTTT
+TGGTCATGGTATTGAAGCGGGTAGCCACTTCGTTCTGACCTGCGGTAGCGACTTCGTGGTGATGAGCTTC
+AACCACCAGACCCATCTGTTCCATCACCAGGCACATTTCAGAACGGATATCCTGAGCTGAGTCTACCGGC
+GGAACCGGGAAGTAACCGCCTTTCACTGCCGGACGGTGACCTTTGTTACCACCTTCATATTGGGTGGAGG
+AGTTCCATGCACCTTCGATATCGTCGATAGCAACGTGGGAACCGGAGATAGACGATCCGAAACGGATGTC
+ATCGAACAGGAAGAATTCAGGTTCTGGCCCGAACAGTACGGTGTCGGCAATGCCAGTAGAACGCAGGTAA
+TCTTCAGCGCGCTTCGCAATAGAGCGCGGGTCACGGTCATAGCCTTGCAGGGTGCCAGGTTCAAGGATGT
+CGCAACGGATAATCAGGGTAGAATCGGCGAAGAACGGGTCAATCACTGCGGTGGATGCGTCTGGCATCAG
+CACCATATCGGATTCGTTAATGCCTTTCCAGCCGCCAATCGAGGAGCCGTCAAACATTTTGCCTTCTTCG
+AAGAATTCGGCATTCACCTGATGAGCAGGGATAGTGACGTGCTGTTCTTTACCTTTGGTATCGGTGAAGC
+GCAAATCAACAAACTTCACTTCGTGCTCGTTCAGCATCGTCAGTACGTGTTCAGCGGACATACTTTAACT
+CTCCTGGATTGGTCATTGTCGTCGTGGTAACGAAATCTGCAATTAAATGGGCCGTGTCGCCGTAAAAAAG
+ATAAAGCGAAATCTGTGCCAACTTTTAAATTGCCCCTAAAAGGCGTTATCATGCTTAACATCGTGCAAAA
+GGGCTGCACCATGATGTGAATGTTGCACCAATATAGTGCTTCAATGGGAACATTAAGCACCATATTGGTG
+CAATGACCTTTGGATAACCCTTTCTATGCTCCGTGAAAGCGATCACAAAGGGACTCTGCAATACTTGTTT
+GCGGAGGATGTTTGTGATCCTGTTTTGTAGTGCGATTAATCCGTGTACAATAACGCGCTATTTCTAATGC
+CTGAGGCAAAGTTGTGATCGAAAAATTGCGTAATATCGCCATCATCGCGCACGTAGACCATGGTAAAACC
+ACCCTGGTAGACAAGCTGCTCCAACAATCCGGTACGTTCGACTCTCGTGCCGAAACCCAAGAGCGCGTGA
+TGGACTCCAACGATTTGGAGAAAGAGCGTGGGATTACCATCCTCGCGAAAAACACCGCTATCAAATGGAA
+TGATTACCGTATCAACATCGTTGATACCCCGGGGCACGCCGACTTCGGTGGTGAAGTTGAACGTGTAATG
+TCCATGGTAGACTCAGTGCTGCTGGTGGTTGACGCATTTGACGGCCCGATGCCGCAAACGCGCTTCGTAA
+CCAAAAAAGCGTTTGCTTACGGCCTGAAGCCGATTGTTGTTATCAACAAAGTTGACCGCCCTGGCGCGCG
+TCCTGATTGGGTTGTGGATCAGGTATTCGATCTGTTCGTTAACCTCGACGCGACCGACGAGCAGCTGGAC
+TTCCCGATCGTTTACGCTTCTGCGCTGAACGGTATCGCGGGTCTGGACCACGAAGATATGGCGGAAGACA
+TGACCCCGCTGTATCAGGCGATTGTTGACCACGTTCCTGCGCCGGACGTTGACCTTGACGGTCCGTTCCA
+GATGCAGATTTCTCAGCTCGATTACAACAGCTATGTTGGCGTTATCGGCATTGGCCGCATCAAGCGCGGT
+AAAGTGAAGCCGAACCAGCAGGTTACTATCATCGATAGCGAAGGCAAAACCCGCAACGCGAAAGTCGGTA
+AAGTGCTGGGCCACCTCGGTCTGGAACGTATCGAAACCGATCTGGCGGAAGCTGGCGATATCGTTGCGAT
+CACGGGCCTTGGCGAACTGAACATTTCTGACACCGTTTGCGACACGCAAAACGTTGAAGCGCTGCCGGCA
+CTCTCCGTTGATGAGCCGACCGTTTCTATGTTCTTCTGCGTTAACACCTCGCCGTTCTGCGGTAAAGAAG
+GTAAGTTCGTAACGTCTCGTCAGATCCTGGATCGTCTGAACAAAGAACTGGTACACAACGTTGCGCTGCG
+CGTAGAAGAAACCGAAGACGCCGATGCGTTCCGCGTTTCTGGTCGTGGCGAACTGCACCTGTCTGTTCTG
+ATCGAAAACATGCGTCGTGAAGGTTTCGAACTGGCGGTATCCCGTCCGAAGGTTATCTTCCGTGAAATCG
+ACGGTCGTAAACAAGAGCCGTATGAAAACGTGACGCTGGACGTTGAAGAACAGCATCAGGGTTCTGTAAT
+GCAGGCGCTGGGCGAACGTAAAGGCGACCTGAAAAACATGAATCCAGACGGTAAAGGCCGCGTACGTCTC
+GACTACGTGATCCCAAGCCGTGGTCTGATTGGCTTCCGTTCTGAGTTCATGACCATGACTTCCGGTACGG
+GTCTGCTGTACTCCACCTTCAGCCACTACGACGACGTACGTCCGGGTGAAGTGGGTCAGCGTCAGAACGG
+CGTACTGATCTCTAACGGTCAGGGTAAAGCGGTAGCGTTCGCGCTGTTCGGTCTGCAGGATCGCGGTAAG
+CTGTTCCTCGGTCACGGTGCAGAAGTTTACGAAGGTCAGATTATCGGTATTCACAGCCGCTCTAACGACC
+TGACTGTAAACTGCCTGACCGGTAAGAAACTGACCAACATGCGTGCTTCCGGTACTGACGAAGCCGTTGT
+TCTGGTTCCGCCTATCCGCATGACTCTGGAACAAGCTCTGGAGTTCATCGATGATGACGAACTGGTAGAA
+GTGACTCCGACCTCTATTCGTATTCGTAAACGTCACCTGACGGAAAACGATCGTCGTCGCGCCAACCGCG
+CACCGAAAGACGATTAATTTCGTTTTTTAGTCATAAAAAACCTGCCAGCGATGGCAGGTTTTTTTTTGCC
+TGTCGTGAGCGCACACCAATGCGAGTATCTCCCTTATAAGTCTGTGATTACGTCAATAGAGAGCTTTGTC
+ACAATTATCTGCAAAGTCATACGCCGTTAATTGCTTTCTTTTTTGGCGTAAGCGTAAGATGCCTCATCTG
+GTTTAAACCAAAAGGATTAAACAATGGCGGAGAATCAATCCACCGTAGAAAATGCAAAAGAGAAACTGGA
+TCGGTGGTTGAAAGATGGCATCACCACGCCGGGTGGAAAACTCCCTTCAGAAAGAGAGCTGGGAGAACTG
+CTGGGCATTAAACGTATGACGCTGCGCCAGGCGTTGTTGAACCTCGAGGCAGAATCCAAAATCTTCCGTA
+AGGATCGTAAAGGGTGGTTCGTGACCCAGCCGCGATTTAATTACAGTCCAGAGCTGTCGGCGAGCTTTCA
+GCGGGCTGCAATTGAGCAAGGGCGGGAGCCTTCCTGGGGGTTTACCGAGAAAAGCCGTACCAGAGATATT
+CCCGAGACGCTCGTGCCACTGATTACAGTGACACCATCAACTGAACTCTATCGCATCACCGGCTGGGGAG
+CGCTGGAAGGACATAAAGTTTTCTATCACGAAACATATATTAATCCTGAAGTTGCCCCGGGTTTTATTGA
+ACAACTTGAAAACCACTCATTTTCTGCAGTCTGGGAAAAGTGCTACCAAAAAGAGACGGTAGTAAAAAAA
+TTGATTTTCAAACCCGTCAGAATGCCGGGCGATATCAGCAAGTATCTTGGCGGTTCTGCGGGTATGCCAG
+CGATCTTAATTGAAAAGCATCGCGCCGACCAGCAGGGCAATATTGTCCAGATAGATATTGAATATTGGCG
+ATTTGAGGCCGTAGACCTCATCATTAATCTGTAGGTGTTTTATGGTGACAATAAATAACGCAAGAAAGAT
+TCTACAACGTGTCGACACTCTTCCTCTTTATTTACATGCTTATGCCTTTCATTTAAATATGCGACTGGAA
+AGAGTGTTGCCTGCTGATTTACTTGATATCGCAAGTGAAAATAATCTACGTGGCGTCAAAATCCATGTTC
+TGGATGGAGAGCGTTTTTCTCTTGGTAATATGGACGATAAAGAACTCTCTGCCTTTGGGGATAAAGCCCG
+CCGTCTGAACCTTGATATTCATATTGAAACCAGCGCCTCAGATAAAAAATCTATTGACGAAGCCGTCGCC
+ATCGCGTTGAAAACTGGGGCATCCTCCGTACGTTTTTATCCGCGTTATGAAGGTAATTTGCGCGACGTAT
+TATCGATTATCGCTAACGACATTGCCTATGTACGAGAAACGTATCAGGACAGCGGCCTGACTTTTACGAT
+CGAGCAGCATGAAGATTTAAAAAGTCATGAGCTGGTGTCGCTGGTCAAAGAAAGTGAGATGGAGTCTCTT
+TCCTTACTGTTTGATTTTGCGAACATGATCAATGCAAATGAGCATCCCATCGACGCTTTAAAAACGATGG
+CACCGCATATTACTCAGGTCCATATCAAAGATGCTTTGATCGTTAAAGAACAGGGTGGCCTGGGACATAA
+AGCCTGTATTTCAGGTCAGGGGGATATGCCCTTCAAAGCGTTATTAACGCACCTTATCTGCCTGGGTGAT
+GATGAGCCGCAGGTGACGGCATATGGCCTGGAAGAAGAGGTTGATTATTATGCACCGGCGTTCCGCTTTG
+AAGACGAAGATGATAATCCGTGGATCCCTTATCGCCAGATGAGTGAAACACCATTGCCAGAAAATCATTT
+ACTGGATGCGCGGTTACGTAAAGAAAAAGAAGATGCAATTAATCAGATAAATCATGTGCGTAACGTACTA
+CAACAAATCAAACAAGAGGCAAACCATCTTCTGAACAACTAATAAGTTTTAACTCATACGCAGTTAATAA
+AACCATTCCATATGAATGGTCGGTATCTTATTGCCTTTAAAACAGTGATTTTAAAAATCGCTTAGGGAAT
+GTTATGCTCACGAAAAAGAAATGGGCGTTATTTAGCCTATTAACACTGTGTGGCGGTACAATTTATAAAT
+TACCGTCGCTGAAAGATGCGTTTTATATCCCGATGCAGGAATATTTCCATTTGACCAATGGTCAAATTGG
+TAATGCTATGTCGGTAAACTCATTTGTCACCACAGTGGGCTTTTTTCTGTCTATTTATTTTGCCGATAAA
+CTACCGCGCAGATACACCATGTCATTCTCACTCATTGCGACAGGATTACTGGGTGTTTATTTGACGACAA
+TGCCGGGGTATTGGGGCATCCTCTTTGTCTGGGCGCTATTTGGCGTTACTTGCGACATGATGAACTGGCC
+GGTCTTGCTCAAGTCGGTAAGTCGATTGGGCAATAGCGAACAACAAGGTCGGTTGTTTGGCTTCTTCGAA
+ACAGGGCGTGGCATTGTCGATACCGTGGTGGCATTTTCTGCGTTGGCAGTATTTACCTGGTTTGGCAGTG
+GCTTATTGGGTTTTAAAGCAGGCATCTGGTTCTATTCCCTTATTGTGATTGCCGTAGGCATTATCATTTT
+CTTTGTCCTGAATGACAAAGAAGAGGCACCGTCCGTTGAGGTGAAAAAAGAAGACGGAGCATCGCAAAAC
+ACCAGTATGACCTCGGTGCTGAGAGACAAAACCATCTGGCTTATCGCTTTCAACGTCTTCTTCGTTTACG
+CGGTTTACTGTGGCCTAACATTCTTCATTCCATTCCTGAAAAACATCTATCTATTGCCCGTTGCTCTGGT
+GGGGGCTTACGGCATCATTAACCAATACTGTCTGAAAATGATTGGAGGACCGATTGGTGGCATGATTTCA
+GATAAGATCCTGAAATCGCCGAGTAAATATCTATGCTACACCTTTATCATCAGTACCGCTGCGCTCGTAC
+TGTTGATTATGCTGCCGCACGAAAGTATGCCGGTCTATTTAGGGATGGCATGTACGCTGGGCTTTGGCGC
+TATAGTCTTCACACAGCGAGCCGTATTTTTTGCACCTATCGGCGAAGCAAAAATTGCTGAAAATAAAACA
+GGCGCGGCGATGGCGTTGGGTAGCTTTATTGGTTACGCCCCGGCGATGTTCTGCTTCAGTCTGTATGGCT
+ACATTCTGGATTTAAATCCGGGGATTATTGGCTACAAAATCGTGTTTGGCATTATGGCCTGCTTCGCATT
+CTGTGGTGCGGTGGTTTCCGTAATGCTGGTTAAGCGTATTAGCCAACGTAAGAAAGAGATGTTGGCGGCT
+GAAGCTTAATTAGTGGCCGGATGTGCTTAATCCGGCCAACGAAAACCGTATCAACCGAAGTTTCAATTTC
+AGGATACTTCTTGCTCGGCAACCACCAGTTCAACATTCTCTTCACTTAACAACTGGCAGAAAGAATTGGG
+AGGCGGGGCATCAGTAAAAAAAGCCCTGACATTCCGTGCATTGCCAATTGAAACGGCAGCAGACGCGGTA
+AACTTCGTATGATCGGCCACTAACAATGTATTCCGCGCATGTTTAATCATCGTTCTCGCGACTAACGCTT
+CATTGACATCAAATTCCAGTAGGGTGCCGTCATGTTCAATGGCACCTATACTGGTGATTAAATAATCTGC
+GCGGAAGCCTTCAATAAAATCCACGGCTCCTGGGCCGATAATCCCACCGTTATGAGCGCGTAAAGTGCCT
+CCCGGCACCATCACTTCAATATCCTGATTCTTATAAATAATCTGTGCCACACGCAGGCTATTAGTGATAA
+TGCGTAAATCACGCCGGTTGAGTAATGCCCTGGCAACGGCTTCTACGGTTGTACCGATGGTGATAAAGAC
+GGTACAGCGTTCGGGAAGGTAATCGGCGACTGCCTCAGCGATCGCCCGTTTCTCGGCGGTGAGCGAAAGT
+TCCCGTTGCTCAAAAGCGGTATTCATGACGCTGGAGACGCGCCCGGCCCCTCCATGATGACGGGTGATCA
+AGCCCTGCTCACTGAGTTTTCGGATATCCCGGCGCACGGTTTGCGTTGAAACATCCAGCAGTTGTGCCAG
+TTCTTCAATATTCATATAACCGCGTTCTGCGATTAGATGAACGAGTTGGTCATGGCGTGGATTACCTGTC
+ACTTCGATGATACTCATGAATACTCCCTTGCCCCTCCTCGGTAGATGTTTACCATTTTACGCATAAAGTG
+ACAAAAATGATTCGGTTTGCTCACGATTAGGAATGCCGGCCCGACCGCCAGGCTGGGTACATTTCATCGC
+GGCAACCGCACTGGCAAAACGAATAGCCTCTTTTGTTGGCATTTTTTCTGCCAACGCTACCGCGAGTGCG
+CCGTGAAAAACATCGCCTGCTCCAGTGGTATCAACCACATTGACAGAAAATGCCTCCTGTTGACACAAAT
+GACCATCTTCAATCCACAACGATCCTTCAGAACCCAGCGTAACATACACTTTACCTGCTGTTTGTGTCGT
+TGCCTGGAACAAACCTTCTTCAGGTGACTGCAGGCCAGTCATGCGTTTCAGCCCTGGTGTTGAGAACACG
+GCGTGATCGGCAAGCGCGACAAGTGGAGAAATATCCTGCGGTGTCATATCGGCGTCTAAAAGCGTTGTCA
+CACCCGCAAGGCGCGCTAGCGAGAATGCTTTTTCAGTACCGCTATGCCAGCGAACATCGGCCAGAATCAG
+ATCATAACGAGAGAAATCGATCGCTTCTAACCATTCGGCATCAGTACCGAGATCAGGACTTGGATAATTA
+ACGATAATCCGTTCGCCATGCTGATCAACGAGGATCGCTGATTGCGACGAACGGGCGTTAGGATATCGGC
+GGCAAAATGCGGTATTGACGCCCCAACCCTCAAGTTCTGCAAGTAAGGTATTTCCACAACTGTCATCGCC
+GACGCGACCGATGAAATCAACCTCCACGCCAAGCTTTGCGATTGCAACAGCGGCTGTTGCTGCCGGGCCG
+CCACCAATCTCAAGATAATGATTTGCCTGATATTTCCCGCCACCCTCCGGCAGAGTGGGCAAAGAATAAA
+TTCTGTCCTGAACTGTGATACCCACGCATGCAATTCTGGTCATATTTGTCTTGTCCTGTTTAATTTTGTC
+GTCTTTGGTCAATTTAAATGACACAAATGATCAAATTAGTGATGCGTGTCGTGTTTTTGAACATAAATTA
+CAAATATGCTCAAAAACAGACGAAAACGAATTTTCAATTGTCATTATTTTGTCAATGTCAGACAGGAGAG
+TATTCATGGCAACCATTGCATTTCTCGGGCTGGGGCAGATGGGTAGCCCAATGGCTAACAATCTATTGCA
+AAAAGGGCATTCATTACAGGTATTTGATGTCAATACACAGGCCGTCGATGCGCTAGTTACGCAGGGGGCC
+ACTGCGGCACAAACCCCAGCGGAAGCGGCAGCAAGCGCTGAATTTATCATCACTATGCTTCCCAATGGGG
+ACATTGTTCGACAGGTGCTGTTGGGGGAAAAAGGCGTCTGTGAAACTGTTTCATCTGACGCGTTAGTGAT
+TGATATGTCGACTATTCATCCCTTACAGACCGATGCATTAATACGGGAATTACAAGAAAAAGGCATCAAT
+ATGATGGACGCCCCCGTGGGCAGAACGTCAGTGAATGCGATTGATGGCACATTGCTGATTTTAGCGGGCG
+GCACTGATGAGCAGATTGCGCGTGCACGCCCGATTCTCATGTGCATGGGTAATGAGCTGGTCGAGGCTGG
+TGGCCCAGGAATGGGGATCCGCGTGAAGCTAATTAACAACTATATGAGCATTGCGCTTAATGCGCTGTCC
+TCCGAAGCCGCTGTGTTATGTGAGTCACTGGGATTAAATCTTGATGTCGCAATTAAGGTGATGAGTGGTA
+CGGCAGCAGGGAAAGGACATTTTACGACCACCTGGCCTGGCAAAGTGCTGAAAGGCGATCTTTCTCCCGC
+CTTCATGGTGGACCTGGCATTGAAAGATCTGCGTATTGCAGTTGACGTCGCTCGGAAAACGGGGGCGCCG
+CTCAATATGGGGATTGCAGCAGAAAGTTATTACGCCGCAGCAAGTCAAGACGGCAAAGGGCGGCAGGACT
+GGAGCGCCCTGCTAAATCAGGTTCGCCAGCAGGCTGGTCTTTAATTTTATCTATTAACAGGAGTTTCTAT
+GTCATCCCACTTCACCCCATTTACGCTGAAAGATATCTCCCGCCCAGGTGGTGGATTCGCCATGTTAGCT
+GTCGATCAGCGTGAGGCCATGCGCCTGATGTTTGCGGCAGCAGGGCAGCCAAAACCCATCGCCGACAGTG
+TACTCACCGATTTTAAAGTTGCCGCGACCCGAATCCTTTCTCCTTATGCTTCTGCCGTTCTGGCGGATAA
+ACAATTTTGTCTTGAACAAATAGTCGAGCAGGGCGCTGTGGCTAATTCTTGCGGCCTGATTGTCGCTGCC
+GATCTTTTTATCCCAGGTAATGGCATCCCGGTTGATAGCGTTGAAATAGATATGTCCGTCGACCCGCATA
+AAGCCCGTGAAATGGGGGCTAAGGCAATGAAATTACTTGTACTCTGGCGTGAAGATGAACCCGCAGAGGA
+ACGTCTGGCAATGGTTGATAAATTTGTTCGTCGCTGCCGTAGTGCCGGGCTGGTTAGCATTATTGAACCT
+GTGGTGCGTCCACCTCGTCGCGGTTGGGACTTTGATCGTGAAAGCGCCATTGTTGCCGCCGCCGCAGAGC
+TTGGTGGAACAGAGGCTGATCTTTACAAAGCCGAGATGCCATTAGGGGGCAAAGGCGATGAAAAAACCTT
+ACTTGCCGCCTGTCAGCAACTTAACGATCAGATGAAGATGCCGTGGGTAATTCTTTCTTCTGGCGTTGAT
+GCCGATATTTTTGGCCGTGCAGTAAGTATTGCCATGAAAGGTGGTGCGTCGGGCTTCCTGGCTGGACGAG
+CGGTTTGGGCGTCGGTTGTTGGTGCACAAGATCCACAAACCATGCTGCGCGATGTCTCCGTTCCACGCTT
+GCAACGGCTGGCTGAAATTGTCGATGAAGGTATCGCGCAACGCTAATCCCCTATGGATATCGATTCTGGA
+GAATAACAATGGATAAAATTACCCAGGTTTTATTTTCAGATATTGGGAAAGTCACCACTCAATATGTTGA
+AGTACCACACCAGCAACTTAAACCGCACGAAGTACGGATTGCGCCCGTGTTCTACGGGATATGCGGTTCG
+GATCTGCATGTTCTGAAAGGCGGTCATCCGTTTGCCAAACCGCCTGTCGTCCCCGGTCATGAAATTGCAG
+CGCGCGTTACGGAAGTGGGCAGCGACGTTAAAAATGTACAGCCGGGCGATCATGTTGTGGTCGATCCCAT
+CATGGCTTGCATGGAATGCCGAGCCTGCAAAGCAGGACGTTTTAATCTTTGTGAACCACCGCAGGTTGCT
+GGTTTCCGCGCACCGGGCTTTGCTCGCTCACAACACATTGTTCCTGCGCGTAATTGCCATGTCGCACCAG
+CCTCTTTACCGCTAAAAGTGTTGGCCTTTGCCGAACCGGCGGCTTGTGCTCGTCACTGCGTTAACCGAAT
+GCCGAAAGCTTCTCTGGAAAGCGTACTGGTGATTGGTGCCGGAACGATAGGCTTATCCATCGTGCAGGCA
+CTGCGCATTATGGGGGCAGGTAAGATTACCGTGATTGAACCTGACGCTGCCAAACGCGCGCTGGCGTTAA
+AGCTGGGCGCAGCAGAAGTTTGGGCACCAGGTGAGCTGGCCGCAGATGTGCGATTTACGGGGGCGATTGA
+TGTCGTTGCAGCGCAGGCCACGCTTAACGATGCATGTACCCGTGTATATGCCGGAGGCACCGTCGTGTGC
+ATGGGCGTACCAAGTGGGCCGCGTGAAATACCATTACCGATGATGCAACGTTTCGAGCGTGACTTGCTCA
+ACTCTGGCATGTACATCCCTGAAGATTTCGATGCTGTTATCGAATGGCTGGCGGATGGGCGGTTTGATAC
+CAGTGAACTGGTTACCGATTTATTTGCCATTGAGGATGCAGCGGCGGCATTCGAACGCGCGCAGCAAAAT
+GACTCCATAAAGGTCATGCTGCAATTTGCGCCGGAATGATTTTCTAAATCTCTGTCTGGCGCTGCGTCAC
+GTCAGCGCCACCCTACAACAATTAAAAAGGACACTGCGATGAGTCAAATCACCAGTCCTGCAACTTATTC
+AATTAGTCGGCCACAGGACGTAATTGATATTGTTAATAAGAACTCTGCAATCAACACCAGTATCGGCGTT
+ATTTTTATTGCTTTGGGCGGCATATTGATTGATGCCTACCAGGCGGCGATGGTGGGGTTTGGTAATAAAT
+ACATTGCCGCTCAATTCGGCATTTCGCCGGGTCTTGCTGCAACCGTCAATGCATCAGTATTAATCGCCGC
+GTTAATTGGCGGTTTATTAGCGAACCGAGTAATAAACCGCTTTGGGCAAAAGCGGGCATTTATTATTGGC
+ATGGGGCTGTGCACCATCGGTGCTGCAGCGGTAGCTATTGCTCCCAGTATCTGGTGGGTGCTGGTGTGCC
+GCGTCATCATGGGCTTTGGTTTAGGCATCGACTTCCCTTTGGCAACCAATGCCGTGGCAGAGCTTCGTGG
+TTCAACGTCGAAGAAAACCGGCACGTCGGTCAACCTCTGGCAAATGGCCTGGTATGTTTCGACAACCGTT
+GTTTATTTGGTGCTTTTGCCGCTGCTTCTGTCGGGTATCGCTGAAGAACAATTGTGGCGTTACGGAATAT
+TCATCGGAGCTATTTTTGCAGTCATCTTCATGATTTTGCGTTACTTCTTTATTGGTGAATCCGCAATGTG
+GGCCGCACGCGTCGGGCGTTACCAGGAAGCGTGCGACATTCTGGGAAAACGTTATGGTGTTCAGGCTCGC
+GTTGCGGCATCGGGTACAACAGAAGCGAAATTCTCGGAAAAAGCAGAGAATAAATACAGTGGTGGATATG
+GCATCTTATTTAATGATCGTTACCGCAAACGCACCATTCTTGGCTGTGTCGTGGCAACCATGCAGGCGTG
+GCAATATAACGCCGTAGGTGTTTATCTTCCTCTTACGTTGGCGGGAATAATAAGTGGCGGGCTTACTGGC
+GCGTTAACCGGTTCTGCCGTCGTGAATGCCCTTTGTGGGGTGACAGGCGGGATGATCGGCTCGTTTATTC
+TCCAACGACTGGGTACTCGCCGACAGTCGATGTATGGATTTGCTGTTGTGACCTTAGCATTGCTGTCGTT
+AGGCGCACTGGCAACGACTAATCCCTGGCTGTCTTTAGGGTTATTGGGATCAATTATTTTCTTCCATTCA
+GCGGGTCCTGGTGGGCTGGGCATGACCATTGCCACACTCTCTTATCCTCCCGCTATTCGCCCTACTGGGG
+TCGGATTTGCCCGCGCTATTATGCGCACAGGGGCAATTGCAGGACTCATTTTCTGGCCGATGCTGTGGGG
+TGCGTTGAAAACTGAAGCGTTTTACTGGTTGGCAATCGTGCCATTCCTGGGATTCCTGACCTGTGTATTG
+ATTAATTGGGAACCACTGGGTGCAAATGTTGATGCTGAGGACGCAGAGGTTCTGGCTGAATTGAAGAAAT
+AATTTAATGCGCATCGGTTTAAGCCGATGCGCATTAATTCAAACTGCCCACGTTTAGTGGTTCGTATCCC
+AGATTTCTCGCCTACCAGGAGAGGAAAATTATGTCTGAAAAGTTACCCGCACCGCGTGAAGGGCTTTCCG
+GTAAAGCCATGAGACGTGTCGTTATGGGCAGTTTCGCAGGCGCGTTAATGGAATGGTATGACTTCTTTAT
+TTTTGGCACGGCAGCAGGACTGGTATTTGCACCGCTGTTTTATCCAGACAGCGATCCTTTTATAGGTCTT
+ATAGCTTCCTTTGCGACCTTTGGTGTTGGTTTTCTGACTCGTCCTTTAGGTGGCATCGTCTTTGGTCATT
+TTGGCGATAAAATCGGGCGAAAAATAACACTTATCTGGACGCTGGCTATTGTCGGTTGCTCCACATTTTT
+GATTGGTTTTATTCCGACGTATCAGGAAATTGGCATTTGGGCACCGCTTGTATTAATGGTGCTGCGTTTG
+ATTCAGGGCTTTGGTCTTGGTGGCGAGTACGGCGGAGCGGCATTGATGACCATAGAATCAGCGCCCGAAT
+CCCGACGCGGATTTTTAGGTTCACTCCCGCAAACGGCTGCGTCTGTGGGTATTATGCTGGCAACCGGTAT
+TTTTGCTCTCTGTAACCATTTTCTTACTTCGGAGCAGTTTCTCTCCTGGGGATGGCGCATTCCGTTTTGG
+CTTTCTGCGGTGATGTTGATCGTTGGGCTGTTTATCCGCCTGCATACCGAAGAAACGCTGGATTTTCAAA
+AGCAAAAAACGACGAATAATAAAGAAAAGTCCGTTCCTCCGTTGATTGAATTATTCAAAAAACATCCACG
+AAATATTTTATTGGCACTGGGTGCGAGGCTGGCGGAAAGTGTCTCCTCTAATATTATTAACGCCTTTGGT
+ATTGTCTATATTTCCAGCCAATTAGCATTGTCGCGAGATATTCCCCTGACGGGTATGTTGATTGCCTCGG
+CGATCGGTATTTTCAGTTGTCCATTGGTTGGATGGTTATCAGATCGTATAGGTCAAAAAAGTCTGTATTT
+GTCGGGAGCAGGATTTTGTGTCCTGTTCGCGTTTCCTTTCTTCTTATTACTGGATAGCAAAAGTACGCTC
+ATCATCTGGTGCAGTATGATCCTTGGCTACAACTTAGGTCCGACGATGATGTTTGCCGTGCAGCCAACAC
+TTTTCACCCGCATGTTCGGTACCAAAGTACGATATACCGGCCTTTCTTTTGCTTATCAATTTTCCGCGAT
+TCTTGGCGGACTAAGCCCCCTTATCGCCTCAAGTTTGCTGGCGCTAGGGGGAGGAAAACCGTGGTATGTC
+GCTCTGTTTTTATTTGCTGTCTCAGTTCTTTCCTTTGTTTGCGTCTGGCTGATTGAGCCAACCGATGAAC
+AAGAAACCGCTTCTTACCGCTACATCAGGGAACAATCTCATGAAAACTGAACGAAAAAACGAGCATTACC
+TGGCGCTACAACAGGCGTTTGACGCGCCATGGCCTGGGCCTGTAGGAGAGTTAGTGACGCTGGAAAAAGG
+CAATATTCACCTGCAGATTTATCCGCATGATGGTGCCAGGATAACCTCGTTAAAGGCATTTGGTTCTGAA
+GTATTACGCCAATGGCAGCCGCAGCGCAGAGCTTTTCAGTATGGCTGTTTCCCAATGGTGCCGTGGGCAG
+GGCGACTGGGGAATGCGACGCTGAATGCTGGTGGGCAATGTTATTCTTTACCCGCCAATAAACCACCACA
+TGCGTTGCATGGTATGGCTTGTTACTCAACGTGGGAAATCATCGACAAAACAGCAGATTCCCTGACTTTA
+CGTATGCCCCTGGCTTCACCGTGGCCCTGGCAAGGGGAAGTGATTCAGACTTTTTTGCTGGAGAACGATG
+CGCTGGTTTTGCAACTGGAAGTCCATTCATATGCCGATACATTCCCGGCCTCCGCAGGCTGGCATCCGTG
+GTTTGCGAAAAAGCTGACTCCGCAAAATACAGAATCGTTGCAGGTGCTTTTTGATGCGGACTGGCAAGAA
+GAAGCGGGTAGTGATGAACTGCCAACTGGAAATCGTATCTCTCCTCAAGTTGGTCCCTGGGATGACTGTT
+TTGGTTTTTATGACGGGGTGAAGGTTAAGTTACTGTGGCCTGGTAAACTCGCGATGACCATGACCTCTTC
+TGCAAACAGTCTGGTGGTATTTGATAAACAGCCCGATGCCACCTGTATTAACCCGCTGACTCAGGCACCT
+AACGCAATAAATCTAACGCCGGAATTTGTGACACCAGATAAGCCGCTGGTCATCGAAACTCGTTGGCAAT
+TTACACCTGAATCTTAACCATTCATCTATTGCGAAAAAGCCAGTGAAATTACTCTGCTTTTTCGCAATCA
+GCATCACAAGATTACCCTTATTGCCACATAGCCAAACCCACCCTTTCCCGCTACAGTTAATTTCTTGTGG
+CGCGAAAGGAGGCAAAAATGCTCTATATCTTTGATTTAGGTAATGTGATTGTCGATATCGACTTTAACCG
+TGTGCTGGGAGCCTGGAGCGATTTAACGCGTGTTCCACTGGCTACGCTTAAGAAGAGTTTCCACATGGGC
+GAGGCGTTTCATCAGCATGAGCGTGGGGAAATTAGCGACGAAGCGTTCGCAGAGGCGCTGTGTCATGAGA
+TGGCTCTACCGCTAAGCTACGAGCAGTTCTCTCACGGCTGGCAGGCGGTGTTTGTCGCGCTGCGCCCGGA
+AGTGATCGCCATCATGCATAAACTGCGTGAGCAGGGGCATCGCGTGGTGGTGCTTTCCAATACTAACCGC
+CTGCATACTACCTTCTGGCCGGAGGAATACCCGGAAATCCGTGATGCTGCTGACCATATCTATCTGTCGC
+AAGACTTGGGTATGCGCAAACCTGAAGCACGAATTTATCAGCATGTTTTGCAGGCAGAAGGTTTTTCACC
+AGACGATACGGTCTTTTTCGACGATAACGCCGATAATATAGAAGGAGCTAATCGGCTAGGCATTACTAGT
+ATTCTGGTGAAAGATAAAACCACCATCCCGGACTATTTCGCGAAGGTGTTATGCTAAAAACCATTCAGGA
+CAAAGCCAGGCATCGTACCCGTCCACTATGGGCCTGGCTAAAACTACTCTGGCAACGCATTGATGAGGAC
+AACATGACAACCCTGGCAGGTAACCTTGCCTATGTGTCGTTGCTCTCATTAGTGCCGCTGGTTGCCGTTG
+TTTTTGCGCTTTTCGCCGCTTTTCCCATGTTTTCCGACGTCAGCATTCAGTTGCGTCACTTTATTTTTGC
+CAACTTTCTGCCTGCTACTGGCGATGTTATTCAGCGGTATATCGAACAATTTGTTGCCAATTCCAACAAA
+ATGACCGCCGTCGGGGCGTGCGGGCTGATCGTCACGGCGTTATTGTTGATGTACTCCATCGATAGCGCGT
+TGAATACCATCTGGCGCAGTAAACGAGCGCGACCAAAAATTTACTCGTTTGCCGTGTACTGGATGATTTT
+AACGCTGGGGCCGCTGCTGGCAGGGGCCAGTCTGGCGATCAGTTCCTATCTGCTCTCCCTGCGCTGGGCG
+AGCGATCTCAATACTGTCATCGACAACGTGCTGCGTATTTTTCCGCTGCTGTTGTCGTGGATCTCCTTCT
+GGTTGCTGTACAGCATTGTTCCTACCATCCGCGTACCTAACCGCGACGCGATTGTCGGCGCGTTTGTCGC
+TGCACTCCTGTTCGAAGCAGGAAAGAAAGGTTTCGCGCTTTATATCACCATGTTCCCGTCATATCAGCTC
+ATTTACGGCGTGCTGGCGGTGATCCCCATTCTCTTTGTCTGGGTCTACTGGACATGGTGTATCGTCTTGC
+TTGGCGCGGAAATTACTGTCACTCTCGGGGAATACCGCAAATTAAAACAAGCTGCTGAACAAGAAGAAGA
+CGACGAACCATGATTGCATTAATTCAACGCGTAACCCGTGCCAGCGTCACCGTGGAGGGAGAAGTGACGG
+GCGAAATTGGCGCGGGACTTTTGGTGTTATTGGGTGTCGAAAAGGATGACGACGAACAGAAAGCAAACCG
+TCTGTGCGAGCGTGTGCTCGGCTACCGCATCTTTAGCGATGCCGAAGGCAAGATGAATCTCAACGTGCAA
+CAGGCGGGCGGCAGTGTACTGGTGGTTTCCCAGTTTACCCTCGCCGCAGATACCGAACGGGGGATGCGCC
+CAAGTTTCTCCAAAGGCGCATCACCGGATCGCGCAGAGGCGTTATATGACTATTTCGTCGAACGCTGCCG
+TCAGCAAGAGATGAACACGCAAACAGGACGCTTCGCTGCGGATATGCAGGTATCGCTGGTCAATGATGGC
+CCCGTGACATTCTGGTTGCAGGTATGAGCCAGCTTCCAGGGTTGTCACGGGAAACAAGAGAGAGTATCGC
+TATGTATCACCTTCGGGTTCCACAAACAGAAGAAGAATTAGAGCGTTACTATCAGTTTCGCTGGGAAATG
+TTGCGTAAGCCCCTGCATCAACCGAAAGGTTCGGAACGCGACGCGTGGGATGCGATGGCGCATCACCAGA
+TGGTCGTCGACGAGCAGGGTAATCTGGTGGCGGTAGGCCGACTGTATATTAATGCCGACAATGAAGCGTC
+CATTCGCTTTATGGCCGTTCATCCCGACGTGCAGGACAAAGGGTTAGGAACGCTGATGGCGATGACCCTC
+GAATCTGTGGCGCGTCAGGAAGGTGTTAAGCGCGTGACCTGTAGCGCCCGCGAAGACGCGGTGGAGTTTT
+TCGCCAAGCTGGGGTTTGTTAATCAGGGAGAAATCACCACGCCAACCACCACGCCGATTCGCCATTTTTT
+GATGATTAAACCCGTTGCCACTCTGGATGATATTTTGCATCGCGGCGACTGGTGCGCGCAGCTGCAACAG
+GCGTGGTATGAACACATCCCGCTGAGTGAAAAAATGGGCGTGCGCATTCAGCAATATACCGGGCAAAAAT
+TTATCACCACCATGCCGGAAACAGGCAATCAGAATCCGCATCACACGCTGTTTGCCGGGAGTTTATTCTC
+GCTGGCAACGCTCACCGGTTGGGGGCTTATCTGGCTGATGCTGCGCGAACGCCACCTCGGCGGAACGATT
+ATTCTGGCGGATGCGCATATCCGCTATAGCAAGCCGATTAGCGGCAAACCTCATGCGGTAGCCGACCTTG
+GTGCCTTAAGCGGCGATCTCGACCGTCTGGCGCGCGGACGAAAAGCACGGGTGCAGATGCAAGTAGAAAT
+CTTTGGCGACGAGACGCCGGGTGCAGTGTTTGAAGGCACGTATATCGTTCTGCCCGCGAAGCCATTTGGC
+CCGTATGAAGAGGGCGGGAACGAAGAAGAGTAGGGGCGTTTTACTTGACTGAAAAGGTTTTCAATCTGAA
+AACCTTTTCTGGGCCCTGGTCCGGAGTTACCTTCCCGCTCTCCAGGCAACATCCCGTAGCGCCGATCGCG
+CAGCCTCACTGATACCACCTAACTGAAAAAATCCGTGGATAACGCCAAGGTAGCGTTGGCAGGTGCATTG
+CACTCCTTGCCCTGTCATGCGGTGATACAACGCTTCACCTTCATCGCAAAGTGGGTCGTATTCAGCGGTA
+ATGATATGTACAGGTGGCAAGCCATTGAAATCATCGCGCCAAAGAGGGCTGGCTTCAGGATGCCTGCGTT
+CAATGCCTGGCAGGTACATCTCAAAGCCGCTCAGTAAAGTGTCGCGTGTGATGATGTAATCGTGACCATT
+GCGTATGTAGCTTTCGAAATGCGCAGTCGCATCAAGCATGGGATAAATTAAGATGAGTTGTGCCGGTTGC
+CACTCGCCAGCACGCTTTAATCGCAAAGCAGTTACCAGCGCCAGATGTCCGCCCGCACTGTCACCGGCAA
+GAGTTATCCGTTGTTTATCAACGCCGAGTCGTTCGGCGTGTTGCCAGACTAATTCTGCACCTCGTTGCGC
+ATCATCATGGGCGGCGGGGAAAGTATGTTCCGGTGCCAGCCGATACTGGACGGCAATAATCCGACATTGC
+CCGTAATAGGCTAACTGGCGCAGCTGGTTGTCGTGAGTTGCGAACCCGCCGCTAACAAAACAGCCACCGT
+AGTAATAAATTATCGTCGGGAGTAATGTCGGGGCATTCAGCGGTGACACTATTCGTAAGGTCATCCCTTC
+AAGTTCGATAGTCTGAATATCTACCCGCGTTTCTGTCTCACCCGCAAGGACAGCGCTGGCGATATAGCCC
+TCTCTGCGCTGCGTAATACTTTGTTGGCGCGATGAGGGGCGACCCGCAGCGATAAACTCTTCGACTAACT
+CTGCAATTCCTTTTTCCAGTGCCATAGTAGAACTCATTTTGCTGTATGAATGTACAGTTTTATACACCCG
+TTTTTGCTGGATGGATACAGGGAAATTCACGGGCGTGAAAAATCTGGAAAGCGCCTCGCAAATGTAAAGA
+CAAACCCGGCAGAGACGTGGTTTTGCTGGAGCACTATCAGTAAGCTAGTGGTTTCAAGGGTACGTCAATG
+ACGTACAAAAAGGATTGTTACTCTAAGCCAATGGCGTATAATTATCCTCTTCATCGAAACGGAAATTTTT
+ACTGAAGATGTTCAAAAACTGCTGACCGACGATGAATTCAGTCGTTTTCAGTTTTTCCTGGCCTTGAATC
+CTGACTATGGTGAGGTAATACCTGAAACTGGTGGGTTAAGAAAGGTTCGATGGGTGTCAGGAGGAAAGGG
+GAAACGTGCTGGTGTCAGGGTTATTTACTTTCATCAGGTTAAACATTATGAGATCAGATTACTGCTTATT
+TATCGTAAGGGTATTAAAGATGATCTGTCTCCCCAGGAAAAAGCAATGCTCCGGTTGTTAAATACGAGGT
+GGTAAATGGATAAGGCACTTTTTGAGCGGTTGACTCACAGCATGGCCCAGATGAATGAAATTATTGAAGG
+AACGCGACAGCCTTCGCGGACTTTTGAAGTTGATGCTATGAAAATCAAAGAAATACGCCGCGCTTCAGGG
+TTGTCACAATCTAAATTTGCCGATCTTATTTCTGTAAGCGTAGACACGTTGCGTAACTGGGAGCAGGGGC
+GACGTTCACCGACCGGGCCTGCAAAGGCTTTGCTGCGAGCGATTGCCAATGATCCGCAACATGTGCTGCA
+AGCACTTAACCGTTAGAGGCATGGTTATGCCATACAGAAAGCACCAGCATTCAGAACTCCTGTGAAAGCG
+GCGTAGTGCCACCTGCTCAGGAGTTTTGCTATGACCCGTAATCGTGCTGACCGTTGCCACCCTATGATGC
+GATTAAAAAAACTCATCGTCGCGCCGATGATTGACGTCAATGCTATCGGATGATACCGGGGGTGTTCCGG
+AAGGAATTCCTTGTTTCCCGAACTGTTACCAACAAAATTATAACGATGAGCAAGTTAAGACCGGTTGGTA
+GCAGTACTGACCGGTCTGTGATGGATGATTAATTTCACCTTAAATCTGGGTGCTGTTAGGATGCTGACAT
+TTTTCGGCTACACCATTCAGATTATGCAAATAAAGATCCAATCAAAAAATAAACATCCCTGTATATAATA
+TATTTATAGCACCCATATCTCATCCTGGGCGATAACCCAACCATTTTTGATTAACAAATGAAACAACTGC
+AACGTTCTTATTATTTCTGGAAAACGTCTCGCAAAAACAAAACAGCATGCAAAAATCCGCTTTTTTAAAA
+TGATTTTTCGGCGTAATTTTCGCACATACATTAATGAGTAATATATGTAAGGTATTGGTAATGGCGATGA
+ATACGGTTTTTCTTCATTTATCAGAAGAGGCAATTAAACGGCTGAACAAGCTTAGGGGCTGGCGTAAGGT
+TTCACGATCTGCAATTTTACGCGAAGCGGTTGAGCAATATCTGGAGCGGCAGCAATTTCCGGTGCGTAAA
+GCAAAGGGTGGCAGGCAAAGGGGTGAGACAGTAGTTGTTGATGATCAGTGTAAGGAGCATAAGGAATGAC
+AAAAAATTTATTATTCTTGAATATAAAAACCAGATGCCCTTATTCTGGTATTAATACAAGACTGTTTTAC
+TTGAACTTATAATAACTGTAACTGTTACATCATATCTGGAAAACGCCTCGCAAAATACGAGAGATTTTGC
+GGGAATAGCAGGTGTCGTCACACCCTATGAGCTGTAATCCGGGCGACCAGCGCCACCCGGAAAACGTCAG
+AGATTACTCCCCTTCACCCGGGAACAGGAACGGGTTGATGGAACTGCGGGCGTAGCCTTCTTGCTCCATT
+CGCGCGTCCAGTACCAGAGAGGCGAGGTCATCTGCCACGGCTTCAACTTTCGGTTCTTTTTCCTGATAAA
+GAATCTTCAGGTAAGTGCCACAGTCATCGCAGCTTTCGGCTTTAATCGCGGCCTGTTCGTCATCCAGCGA
+CCAGTAATGCAGTTTGCCGCTCTGCTCGCAGTTGCTGCATTTTACGCGCACCACGTGCCATTCGGTTTCA
+CACAGGTTGCAATGCAGGTAACGCAGACCCTGAGTGGTGCCAATTTGCACCATGCTGGACACCGGCATAG
+AGCCACATACCGGGCAATATTGACGTTGTTCGCCGTATTCAGCGCGGGCTTTGCCGGGGATCAGATTAGC
+CATCTGCGCCCAGTAGAGCGACAGCGCAGCCCAGATAAACGGCGCTTTATCGCTGCTGACGGACGAGAAA
+TCAGAGGCAAACAGTGCGCTGGCCATATCTTCCAGCTCCTGAGTCGATGCCTTCTCCAGATTCTCAATCA
+CTGCCAGCGCCGGGCCGCTCATTTCAGGTTTCAGCTCAGCAATCAGCGCCATCAGCAGCTTTTGCCAGTG
+CTTATCACGCGGCAGAACGTGAATATCCAGCGGGGGCTTGCCTTGTGCGCTGGCTTCTTTAATGCGCGTG
+GTCAGATCCATCTCCAGCGGATGGTCGTACAGCACCACTTCCTGGGCGTGGGCGATAAGCGCAGCAAAGC
+GCAGGTAATCACCCAGCGGATTATTTTCTGCCAGCTCGCGCAGACGCTCGGCGCGGCGGTTGTATAAATT
+CTTGAGCCGAGGGAACAATAACGGCGGAATCATATCCGCCGTACGTTTCTCGCTCGAACCCAGCTCATCT
+TGCGGGATTATGCGAATACTCATTCAGCTTTCTTTTCCGTTGTCTTGCGGACCTCACGGTACCAGCGCGG
+GTGATGTTTCTTCGCCCAGGCGCTGGTAACCCATCCTTCCACCATGGCGGTAATCGTGCCTTTCACCCAA
+AGGGCGGCGTAGATATGCACCATGATAACCACAATTAACGCCACTGCGGCAAATGAATGCAGCATTAACG
+CGAATCGGATCACCGGGATTGAGAAAGCAGGCGCAAAATAAGGACGCCAGATAATCACGCCGCTCACCAG
+CAGCAGAACCAGGAAAATAATCGCCGCCCAGAAAACGCATTTCTGACCGAAGTTATAACGCCCGGTGTCA
+CCTACTTCCTCGTTGACGACGATCTTACGAATATTCTTCGCCCAAAAGATATCATCCCGATTGATTAGGT
+TGTGATGCCAGTAACGGAAAAACATGATGATGAACGAGGCAAACATAACCACGCCGACAAACGGGTGCAG
+AATGCGCGCCAGCTGCGGTGTGCCCATGATTTGCATCAACCAGTTGAAGGACGGGAACAAAAAGCCCAGC
+CCGCTCACCGCCGCCAGGATGAAGCAGAAGGCGGTGATCCAGTGGTTGATACGTTCCGGCGCGGTGTAGC
+GCACGATGGTGTCACGTCGTTTCATTTGCGCTCCTCGTCTTTCTCTTCGTGCAGATTATTCTCTTCCTCA
+TCCGCACGGTTCGGACCGACACCCACGTAGTGGAAGATACTGGCCGCAAAGGTAGCCGCAAAGCCAACAG
+CCGCGAGCGGTTTCCAGATGCCTTTCCAGAATTTCACGGTTTCGCTGATTTCCGGGTTCTCCGGCAAGCC
+ATGATACAGATTTGGCTTGTCAGCATGGTGCAGCACGTACATAACATGTGTACCACCGACGCCTGCCGGG
+TCGTACAGACCCGCATTGTCGTAACCGCGAGTTTTCAGCTCCGCCACGCGCTCGCTCGCCAGCGTTTTCA
+TCGACTCTTTCGTACCGAAGTGAATCGCGCCCGTTGGGCAGGTCTTCACGCAGGCCGGTTCTTGCCCAAC
+CACCACGCGGTCAACGCACAGCGTACATTTGTAGACGCGGTTGTCTTCCGGGTTGAGGCGCGGAATGTCG
+AACGGACAGCCCGCAATGCAATAACCGCAGCCGATGCACTGCTCGGACTGGAAGTCGACGATACCGTTGG
+CATACTGAATAATTGCTCCTTCCGCCGGGCACGCTTTCAGGCAGCCTGGATCGGAACAGTGCATACAGCC
+GTCTTTGCGGATCAGCCATTCCAGTTTGTCGTTCTGCTCCACTTCCGAGAAGCGCATTACCGTCCACGAT
+TTGGCGCTTAAATCATTGGGGTTGTCGTACACCCCAATGTTATTGCCGACGGTATCGCGAATGTCGTTCC
+ACTCTGAACACGCCACCTGACAGGCTTTACAGCCGATACAGGTGGTGACGTCGATGAGTTTCGCCACTTC
+TTCCTGGAAGTCCCGCGCCTGAGGCGCGGGGGTCAGACCGTTAGTCGCGGAACGACGAATGATATCTTGA
+GATTGATAAGCCATATGTCGTCTCCGTTACACCTTTTCCACATTCACAAGGAAGGACTTAAACTCCGGCG
+TCTGCGTGTTCGCATCACCAACGAATGGCGTTAACGTATTGGCAATAAAGCCTTTTTTCGCAACACCTTC
+ATAGCCCCAGTGAATCGGAATACCGATGGTATCGATATCTTTGCCGTTCGCTTTTAGCGTACGAATACGT
+TTGGTCACCACCGCTTTGGCTTTGATATAGCCACGGTTGGAGGAGACTTTCACGGTATCGCCCTGAGCAA
+TGCCAAGTTTATTCGCCAGCGACTCCCCGATTTCCACAAACTGCTCTGGTTGCAAAATCGCGTTCAACAG
+CGCGTGTTTGGTCCAGTAGTGGAAGTGCTCGGTCAGACGATAGGTGGTTCCGACATACGGGAACTTATCG
+GCTTTACCCAATGCTTCGGCGTCGTCTTTAAAGATACGTGCAGCCGGGTTCGAGATAACGTTTGGATGCA
+GCGGGTTAGTTCCCAGCGGCGTTTCAAACGGCTCGTAGTGTTCCGGGAACGGACCTTCCGCCATCTTATC
+GAGGGCAAACAGACGCCCCATGCCTTCCTGCTGCATGATAAACGGCCCGACGCCACTGCCTGGAGGTGCT
+GCGCTGTAGTCCGGAATATCCCAGCCGGTCCACTTAGTGCCGTCCCATTTCAGCAACTGACGCTTCGGAT
+CCCACGGGTTACCCTGCGGATCTGCGGAGGCGCGGTTATACAGAATGCGGCGGTTAAGCGGCCATGCCCA
+TGCCCAGCCCAGCGTGTTACCGAGGCCAGACGGATCGGCGTTATCACGACGCGCCATCTGGTTGCCTTCC
+GGCGTCCAGCTACCGGCGAAAATCCAGCAGCCACAGGAGGTTGTACCGTCATCGCGCAGTTGAGCGAACG
+AGCTAAGTTGTTGGCCTTTCTTGACGATAACCGCACCGGTTGCCGGATCGGTAATATCGGCCAGCGCCTT
+ACCGTTGCTCTCCATCGCCACTTCTTCTGAAGATGGCTCATGCGGAATGGCGTAGTTCCAGGTCATGTTC
+AGCACCTGGTCCGGGTTTGCGCCACCCTGTTCTGCATACATCTTGCGCAAGCGCAGGAAGATACCGGAGA
+GGATCTCGCCATCAGTCAGCGCAATCCCTGGGGCGTCCGCACCTTTCCAGTGCCACTGTAACCAGCGACC
+GGAGTTAACGATTGAACCGTTCTCTTCTGCGAAGCAAGTCGATGGCAGACGGAACACTTCGGTCTGGATC
+TTCGACGAGTCAACTTCGTTCAGCTCACCGTGGTTCTGCCAGAAGTTAGAGGTTTCAGTGTTCAGCGGGT
+CGATGGTGACGAGGAACTTCAGTTTCGACAGACAACCGATCACTTTGTTTTTGTTCGGGAATGAGGCAAC
+AGGGTTAAAGCCCTGGCAGATATAGCCATTGACCTTGCCTTCTTTCATCATCTCGAAGTATTGCAGGACG
+TCGTAGCCTTTATCCCACTTCGGCAACCAATCAAAGCCCCAGCTATTTTCCGCCGTCGCTTTATCACCAA
+AGAATGCCTTCATCATAGAGACGAAGAATTTCGGGTAGTTGCCCCAGTAGTTTACCTGGCCTTCCAGCAG
+CGGTTTTGGCGTGTTGGCGGTAAGGTAGGTTTGCAGATCGGTCTGCTTCTCGCTCGGCAGCGTCATGTAA
+CCCGGCAGGCTCTGCGACAGCAGCCCCAGGTCCGTCAGCCCCTGAATATTGGAGTGACCGCGCAGGGCGT
+TAACGCCGCCGCCTGCCATCCCCATATTGCCGAGCAGCAACTGGATCATCGCCATCGTACGAATGTTTTG
+CGCACCAATGGAGTGTTGCGTCCAGCCGAGCGCGTAAAGGAACGAGGCAGTTTTATCGTGAGCACTGGTC
+TCAGCGATGTATTCGCAGACTTTCAGGAATGCGTCTTTTGGCGTACCACAGATGTTTTCAACCACATCTG
+GCGTGTAGCGGGAAACGTGCTGTTTCAGCAAGTTCCACACGCAACGTGGATGTTGCAGGGTAGTATCGCG
+TTTGGCGAAGCCGTTTTCGTCCAGTTCGTAAGTCCAGGAGGATTTATCGTACTTACGTTTTTCCGCGTCA
+TAGCCGGTGAACAGGCCATCTTCAAAGCCGTAATCCTCACGCACGATCAGGCTGGCGTTGGTATAGGCTT
+CGGTGTATTCGCGGTTGAATTTTTCATTGTTCAGCAGGTACAGCAATACGCCTGACAGGAAAGCAATGTC
+AGTACCGGAACGAATAGGGGCATAGTAGTCAGCTACCGCCGCCGTACGCGTAAAGCGAGGATCGATCACA
+ATCAGCTTCGCGCCATTGTGAATTTTGGCTTCCATCGCCCAGCGGAACCCGACCGGGTGAGCTTCAGCGG
+CGTTACCGCCCATCACCACGACGAGGTTGGCGTTCTTGATGTCGACCCAGTGGTTGGTCATCGCACCGCG
+ACCAAATGTTGGAGCAAGACTTGCTACCGTTGGTCCGTGTCAGACACGCGCCTGGTTGTCGACCGCGAGC
+ATACCCAGCGCGCGGGAGAATTTTTGCGTTAAATAGCCGGTTTCGTTACTCGACGCGGAAGCACACAGCA
+TCCCGGTGGAGAGCCAGCGGTTAACGGTCACGCCTTCGGCGTTTTGCGCAATGTAGTTAGCATCGCGGTC
+TTCTTTCATCAGTTTGGCGATGCGATCAAACGCCTCTTCCCAACTGATTTGCTGCCATTTATCAGAACCT
+GGCGCACGGTATTCCGGAAACTTCAGACGGCTTTCGGAGTGGATGAAATCCACCAGGCCAGCGCCTTTCG
+GACAAAGTGCACCGCGGTTGACCGGGTGATCCGGGTCACCTTCGATATGGAAGATAGATGCTTTGGCGTT
+TTTTGCTCCGTCACCGAGGCTGTACATCAACAGCCCACAGCCTACGGAACAATAGGTGCAGGTATTACGG
+GTTTCGCGGGTGCGCAGCAGTTTATACTGCCGGGTTTCCGCGAGTGCTACGCTGGGTGCAAAACCCAGTG
+CCGCTGCCGTGGTGCCTGCCATACCGCCAGCGCAGATCTTAAAGAACTGCCTTCTGCTGACCTGCATGGA
+TTGCTCCTTGTTTCGACATTGTCACGTCCCATTTACATTCGCTTGCTGCGTGTGCAGGGAGTGGGAGTTA
+TTTTTCTTTGCGGAAGGGGCCGCAAAGGTCCAGAATTGGCTCAATTTCCCTCCATCCAGGAAGGGTTTGT
+AACAGAATACCATAATGTTGGTGTGTGTGTTCTTATCTGGTTAAGAGAAAGTGAAAAAAACACAGCAAAA
+AGAAATCGAAAATGTGACAAATATCACAGGTGTTCGTCAAATTGAGTTATGGCGGCATGATGATTTACAA
+CACCCACGGTTAGATGAGGTGGCGGAAGAAGTTCCCGTTGCGCTGGTCTACAACGGTATTTCGCATGTGG
+TGATGATGGCGTCGCCCAAAGACCTTGAGTACTTTGCGCTCGGTTTTTCGCTTTCCGAGGGGATAATCGA
+AAGTCCGCGCGATATCTTCGGCATGGATGTCGTTCCTTCCTGTAATGGTCTTGAAGTTCAAATTGAGCTT
+TCCAGCCGCCGCTTTATGGGGTTGAAGGAGCGTCGCCGGGCACTGGCGGGACGTACGGGATGTGGCGTGT
+GCGGCGTGGAGCAACTTAATGACATCGGAAAACCGGTGCAGCCGCTACCGTTCACCCAGACGTTTGATCT
+CAACAAACTGGATGATGCATTACGTCATCTCAATGATTTTCAGCCAGTGGGGCAACTGACCGGTTGTACT
+CACGCCGCCGCCTGGATGTTGCCATCTGGCGAACTGGTCGGCGGGCATGAAGACGTGGGTCGCCATGTGG
+CGCTGGACAAACTGTTAGGCCGCCGGTCACAAGAAGGGGAAAGCTGGCAGCAAGGTGCGGTACTGGTTTC
+CAGCCGTGCCAGTTATGAAATGGTGCAAAAGTCGGCGATGTGCGGCGTAGAGATTTTGTTTGCGGTGTCT
+GCCGCGACCACACTTGCTGTAGAAGTGGCTGAACGCTGTAATTTGACGCTGGTGGGCTTTTGTAAACCGG
+GTCGGGCAACGGTTTATACCCATCCGCAGCGTTTGAGCAATTAATTAAAATAAGTCCTGCGATATATATT
+AAATTGCAGGACTTATTCATTTCGTGAATTTTATTATTTTATTTATAAACAAAACGCGTGTAGTGGCGTT
+AACGCCTGCGTTGCAACCTATTGATGGCGTGGCGGTGAGTTATATTGATGCTGCCGTAGCGTTGGGTAAT
+ACCATTAACGAAATGGATAAATATTACATCCAGGAAAATTATAAAGACGATGCGTTTGCGAAAGGGAAAA
+CGCTGCACCAGACATTCTTAAAAAATCTGGAAGCCTTTGAACCTGTAGCAGAATCTTATCATGCGGCGAT
+TCAGGAAATTAATGACAAGCGCCAGCTTACGGAATTGAAAAATATTGAAGAAAGAGAAGGGAAAACATTC
+CACTACTACTCTCTGGCAGTCATGATTTCAGCGAAACAAATTAATAACCTGATATCGCAAGATAAGTTTG
+ATGCAGAAGCGGCAATGAAGAAAGTGTCTGAACTGGAAACGCTGGTGGCGCAGGTCAAAGAAGCGGATAA
+AAGCGGCATGAATTTCTCGTTTATTAATTCGGCAGGCCAGTATCAACTCGAGGCTAAAAAATACGTTCGC
+CGCATCAGAGATAAAGTCCCGTACTCTGACTGGGATAAAGAGCAACTTCAGGACGCAAACTCAAGCTGGA
+TGGCCGAAGACTCATTTCCCGAGAGCATTATGCGAGTACAACGAAATGGTCGATGAAATATTTCAGTCAA
+TTGTAATCGCGGAGCGGGTTTGTGATGAGCGCGGATATGTCACGAAGTCGTGACAATATAAAGCAGAGTG
+AAGGATAAATTTTGTGAATAAAGTATCATTATTTAATGATTTTGTGAATGTTTAAATGTCTCAGATAATT
+TGTTTAAGCGTTATTTATATTTGTGGCTTATGAGTCAGCGTGAATCATATCTAATATTTTTTACGATTTT
+TAGTTAAAAACGGCACTATTGTTATATTCCTCACGTTCCAGGAAATCAGCGGATTTACTCATATTATGCA
+GCGGGATACTATCCATCGGCCTGCTGAAGTTGGATTAAAAATTCGAAAGTGCACACCTTATATTTCTCTA
+TATACGTATTCCTTTTGGAAAGCGTAGGGTCTCTTTTATTTCAGGGAACGTAAATAATGAAAAAATCGAC
+ATTATCTTTAGCCATCGGTTTATTATTGGCATGTAGTACCGGAATGGCAAAAACACAGCATTTAACGCTG
+GAACAACGCATGGCATTGCTGGAAGAACGCCTGGAAGCGGCAGAAATGCGGGCAGCAAAAGCAGAGAGCC
+AGGTTAAACAGCTGCAGACACAACAAGCCGCTGAGATCCGCGAAATTAAGGCTGCCCAGGGCAATACGCC
+GGTAAATGGACAGGCAACGGCGGAATCTGCAAAGAAAAATTCCACCTCACCTAATCTTTTGCTCTCAGGT
+TATGGCGATTTAAAAATCTACGGCGACGTAGAATTTAATATGGATGCGGAAAGTAATCATGGCCTTCTGG
+CAATGACCAACGCTGATGTGAATAGCGATCCCACTAATGAACAGTGGAATCTCAATGGTCGTATTCTGTT
+AGGTTTTGATGGTATGCGAAAACTGGATAATGGTTATTTCGCCGGGTTCTCCGCACAACCGCTGGGGGAT
+ATGCACGGCTCAGTAAATATCGATGATGCGGTTTTCTTCTTTGGCAAAGAAAACGACTGGAAGGTCAAAG
+TAGGCCGTTTTGAAGCCTACGATATGTTCCCACTGAATCAGGATACCTTTGTTGAACATTCCGGTAATAC
+TGCGAACGATCTTTATGACGATGGCAGCGGTTATATCTATATGATGAAAGAGGGCCGCGGGCGTTCTAAC
+GCTGGCGGTAATTTCCTCGTCAGCAAACAACTCGATAACTGGTATTTTGAATTAAACACGTTACTGGAAG
+ACGGAACATCTTTATATAACGACGGTAATTATCATGGACGCGATATGGAACAGCAGAAAAATGTTGCTTA
+TCTGCGTCCGGTAATTGCCTGGTCGCCGACGGAAGAATTCACCGTTTCCGCAGCGATGGAAGCGAATGTG
+GTAAATAATGCTTATGGTTATACCGATAGCAAGGGTAATTTTGTCGATCAGTCCGATCGTACCGGTTATG
+GCATGAGCATGACCTGGAATGGCCTGAAAACCGATCCGGAAAATGGCATCGTGGTTAATCTTAATACCGC
+CTATTTAGATGCTAATAATGAAAAAGATTTCACCGCTGGGATTAACGCGCTGTGGAAACGTTTCGAGCTG
+GGTTATATCTACGCACATAATAAGATTGATGAATTTAGTGGCGTGGTTTGTGATAACGATTGCTGGATTG
+ATGATGAAGGAACATACAACATTCACACCATTCATGCGTCTTATCAGTTCGCTAATGTGATGGATATGGA
+GAACTTTAATATTTACCTCGGCACGTATTACTCCATTCTGGATAGCGACGGCGATAAGATACACGGCGAC
+GATAGTGATGACCGTTACGGCGCACGCGTTCGCTTTAAATACTTCTTCTGATGAAAGGGCGGTGCTGGAT
+ATTTTCCGGCACCGCAACTCATTAAGGCAGGTAAAACACTTCTTGCAGTTCGCTACTGACTGGGCTGTTA
+TCCGCATTAGCGGGCATAACGTCGGTCATATATTTCCACCAACGTTGGCAAACATCTGTACTGGCAACCG
+CATTCCACCGCTCTTCAGATTCAATCTCTACCGTGGCAAATAGCAGATTATGCGCTTTGTCGAGATAGAT
+GGCGTAGTTATGCGCACCGTGAGATTTCAGCACGGCTTCCAGTTCCGGCCAGATGGGATTATGCCGACGC
+TGATACTCTTCGTGGGCGTCGGGGTTTACCTGCATGACAAAGGCTTTGCGGATCATGTTTGCTCCTTACA
+GCGCCAGCGCACTGGCGAGTGGTGTAACGCCGAAACGCTGGCCGAGCGCTATCAACTCTTCACGGCTGAT
+GGTCTGTTTCATGCCGCCCATCGAATAAACCTTCACTAATATTTGTGCTGATTTTTCTGCGGTGTCGATT
+AAACCGAAGGTTTCATCCAGTGTCGGTCCGGAACCGAACACACCGTGGAAGGGCCACAACACCAGCGAAT
+GTTTTTGCATCTCTTGTGCAGTTGCCTGGCCGATTTCGTCCGTGCCGGGTACCATCCACGGCAGAATGCC
+AACGCCATCCGGGAATACCACCAGACACTCGGTGCTGCCTTCCCACAGTTGGCGAGTGAAGACCGCGGTG
+TCGTTTTCCAGCACGTAGGTGAGAGCGATCAGGTTGGTGGCGTGGCAGTGCATGATCACCCGATCTTTAC
+CATTGGTGGCTTTAATGCGCTCGCAGTGGGAGAGAAAGTGAGCCGGAAGTTCGGAAGTGGGGACGGCTTC
+GTTGGTTAACCCCCAAAGAATGTGGTAGCCCGCGCCGTCGCTGTCGACTTTTACGATGCCTAAGTTAGCC
+GCAGGATCAAGCTGGACGTTACGGAAGAATTTGCCGGAGCCGGTGACAATAAACGGTGTATTTGCCAGTA
+AAGGCATGGGCTGGCTGAGCGGGATATAGCGCGGTTGTTGGTGAAAATTGTCGTGATATGGTGCGATATC
+GGCGTCATCCAGGCGCAGCGTCAGGTTGCCGCCGTTGCGCTCGTCCCAGCCTTTCAGCCAGGCATCGGTG
+GTGGCTTTGATCATTCCCTGGACAAACCAGGACTGGGTTATGTTTTGCATGTTCTGTGTTCCTGTTAATT
+CGGTGTTGTCGGATGCACGACCCGTAGGCCGGATAAGGCACTCGTGCCGCATCCGGCAATCAATGCCTGA
+TGCGACGCTGTCGCGTCTTATCAGGCCTACAACTATTGCCGACCTGTAGGCCGGATAAGGCACTTGTGCC
+GCATCCGGCAGTGTTTACCCGCGGCGACTCAAAATTTCTTTCTCATAAGTCCGCACGTTCTCCAGCCATT
+CGCTACCCGCTGGCGTATCGTGACGCTGACAATACATTTCCCATACCGCCTGCCACGGCAACGATTTCTG
+CTCTTCCAGTAGCGCCAGACGCGCAGTGTAATCGCCCGCCGCTTCCAGCTTGCGCAGCTCAGCGGTAGGT
+TCCAGTAACGCACGTAGCAGGGCTTTTTTCATATTGCGTGTACCAATGACCCACGCGGCAATGCGGTTGA
+TAGAGGCATCGAAGAAGTCGAGGCCGATATGCACCCGGTCAAACAGATCGTGACGAACAATCTCACTGGC
+AATCGCCTGGGTTTCATCATCCAGCAGCACTACGTGATCGCTGTCCCAGCGAACCGGACGGCTGACGTGC
+AGCAGCAACTGCGGCACATACAGCATGGCGGCGGAAATCTTGTCGGAAATCACTTCAGTCGGGTGGAAAT
+GCCCGGCGTCCAGGCACAGCGCCGTCTGGCGGCTGGTGGCATACCCCAGGTAAAACTCATTGGAGCCAAC
+CGTGTAGCTCTCCGCGCCAATGCCAAACAATTTGCTCTCAACGGCGTCGATATGGTGCGCAGGGTTTAGC
+TTCTCGCTGATCACTTCATCCAGTGCTGCCAGCAAACGCTGGCGTGGGGCGAGACGGTCAACGGTAATAT
+CTTTCATGCCATCCGGGATCCAGATGTTCATCACCGACGGTGTGCCGAGTTGCTCACCAAAATAGGCTGA
+AACACGGCGGCTGGCTTTACAGTGGTCAATCCAGAACTGGCGAATGCGGTCGTCGGCATGGGAAAGCGTA
+AAGCCATCGGCGCTTAGCGGATGCGAAAAACAGGAGGGGTTAAAATCCAGACCGAGCTGATTGGCTTTCG
+CCCATTCAACCCAGTTTTTGAAGTGCTCTGGTTTGATCTGGTCGCGCGAGACTGGCGTGTCTGATTCCAG
+ATAGATGGCATGTAAATTAAGCCGTTTCGGCCCTGGAATCAGCCGCATAGCCTGTTCCAGATCGGCACGT
+AGCTCACTGGCATTACGCGCTTTGCCCGGATAATTACCAGTAGCCTGAATACCACCGGTCAGCGAACCTT
+CCGGGTTTTCAAAACCGGAAACATCATCGCCCTGCCAGCAGTGCATTGAAACGGGTAAACGATCAAGTTG
+GCGCAGTGCCTCCTCGACATCAATCCCTACTGCCGCGAAACGCTGTTTCGCCAGCTCCCAGGCCTGTTCC
+AGTTGAGTGGTCATGCGCAAAGCTCCTTTGTCTGTCGTGTAGAGTGAATCTGCGCCACATAGTGGGCAAT
+TTCACTGTCAGGATTAGGGGTAAAGGTGGTCAGATTCGCGGTGGTGCTGACGACCTGACGGAAATCATCC
+ACATTGTTGAGTTCATCCAGCGTCATTAACTGGATGCCGATATTGCCGAGCGTCGAGGCTTCAACAGGCC
+CGGCGATCACCCGAATACCGCAGGCATCAGCACATAACTGGTTGAGCAGCGCGTTCTGGCAGCCGCCGCC
+GACAATATGCAGTTGCGAGAAATCTTCACCGCGCAGCTGCGCCAGTTCATGCAACACATCGGCATACAGC
+AGCGCCAGACTGTCGAAAATACAGCGCGCCAGTTCAGCATCACTTTCCGGGATCGGTTGCGCCGTTTCCC
+GACACGCAGCCTGAATTTCGCTGCACATCTCGTCAGGATTAATAAAGCGATCGTCATTGGGATTGATGAT
+GAAGCGGCAGGCCGGAAGTGCCTGTGTTGCGGCGATAAGCGCCGGAAGATCGTTGATTTGCCGCTCCTGA
+AGCACTCGCTGAAGCAGCCATAAGCCCATAATATTTTTCAGCACCCGATAGCGACCTTCCGCCCCGCCTT
+CGTTGGTGATATTGGCTGCCAGCGCCGTGTCATTGGTAAATGGCGTCTGGCTTTCGAAGCCCATCAATGA
+CCAGGTGCCAGAAGAGAGATAAGCGGCGCGTGAACCGTTTAACGGCGAGGCGATAACCGCGCTGGCGGTA
+TCATGGCTGGCAACGGCGACCACCGGAATCTCATTACCCTGCGGGCAAATCCAGTGACCTATGACATTAC
+CCGGATGCGTCGGGCGACCAAACCAGGCTTTGTTGGCACCGCTCCACGCCAGTAGCGACTCGTCCCAGTC
+GTCGCTATTGATATTGACCAGTTGCGTGGTCGTGGCGTTGGTATATTCCCAGTTCATCTTGCCGGTCAGG
+CGATAACTAAAGTAATCCGGTATCAGCAAAGCGTGAGCAATGTGTGGAATAAGTTCTGGTTGCTGCTCTG
+TCAGTGCACGTAGCTGATAGATCGTATTGAAGGGCAGAAACTGGATGCCGCTACGTTGATAAATATCGCG
+TTTGCCGAGTTGTTGTTGTGCCTGCGCCATTAGGCCATTGGTGCGGCTATCGCGATAAGCAACGGGCAGG
+CCCACACGCTGACCCTGTTGGTCGAGCAGCACAAAATCCACGCCCCAGGTATCAATCCCAATGCTATCGA
+TACGAATCCCTTCCTCGCACACCTTGTTTAATCCAAGGCGAATGGCACTTTCCAGGCGATCCACATTCCA
+GGTGACATAACCGTTCTGGCTATGCAGGCCATTGTTAAAACGATGGATTTCGCGCAGCGTCAGGCTGCGG
+CATTCACGCTCGTAACGCGCCAGCATCACGCGCCCACTGGATGCGCCGAGATCGACGGCGACACAATTGC
+GAAAGGTCATAATGTGATCCTGCTGAATTTCATTACGACCAGTCTAAAAAGCGCCTGAATTCGTGACCTT
+CTCGTTACTGACAGGAAAATGGGCCATTGGCAACCAGGGAAAGATGAACGTGATGATGTTCACAATTTGC
+TTCATTGTGGTGATGTGATGCTCACCGCATTTCCTGAAAATTCACGCTGTATCTTGAAAAATCGACGTTT
+TTTACGTGGTTTTCCGTCGAAAATTTAAGGTAAGAACCTGACCTCGTGATTACTATTTCGCCGTGTTGAC
+GACATCAGGAGGCCAGTATGACCGTATTACATAGTGTGGATTTTTTTCCGTCTGGTAACGCGTCCGTGGC
+GATAGAACCCCGGCTCCCGCAGGCGGATTTTCCTGAACATCATCATGATTTTCATGAAATTGTGATTGTC
+GAACATGGCACGGGTATTCATGTATTTAATGGGCAGCCCTATACCATCACCGGTGGGACGGTCTGTTTCG
+TACGCGATCATGATCGGCATCTGTATGAACATACCGATAATCTGTGTCTGACCAATGTACTGTATCGCTC
+GCCGGATCGATTTCAGTTTCTCGCCGGGCTGAATCAGTTGCTGCCACAAGAGCAGGATGGGCAGTATCCG
+TCTCACTGGCGCGTTAACCACAGCGTATTGCAGCAGGTGCGACAGCTGGTTGCACAGATGGAACAGCAGG
+AAGGGGAAAATGATTTACCCTCGACCGCCAGTCGCGAGATCTTATTTATGCAATTATTGCTCTTGCTGCG
+TAAAAGCAGTTTGCAGGAGAACCTGGAAAACAGCGCATCACGTCTCAACTTGCTTCTGGCCTGGCTGGAG
+GACCATTTTGCCGATGAGGTGAATTGGGACGCTGTGGCGGATCAATTTTCTCTTTCATTGCGTACGCTGC
+ATCGCCAGCTTAAGCAGCAAACGGGGCTGACGCCTCAGCGTTACCTGAACCGCCTGCGACTGATGAAAGC
+CCGACATCTGCTACGCCACAGCGAGGCCAGCGTTACTGACATCGCCTATCGCTGCGGATTCAGCGACAGT
+AACCACTTTTCGACGCTTTTTCGCCGAGAGTTTAACTGGTCACCGCGTGATATTCGTCAGGGACGGGATG
+GTTTTCTGCAATAACGCGAATCTCCTCAACGTATTTGTACGCCATATTGCGAATAATCAACTTCGTTCTC
+TGGCCGAGGTAGCCACGGTGGCGCATCAGTTAAAACTTCTCAAAGATGATTTTTTTGCCAGCGACCAGCA
+GGCAGTCGCTGTGGCTGACCGTTATCCGCAAGATGTCTTTGCCGAACATACACATGATTTTTGTGAGCTG
+GTGATTGTCTGGCGCGGTAATGGTCTGCATGTACTCAACGATCGCCCTTATCGCATTACCCGTGGCGATC
+TCTTTTATATTCATGCTGACGATAAACACTCCTACGCTTCCGTTAACGATCTGGTTTTGCAGAATATTAT
+TTATTGCCCGGAGCGGCTGAAGCTGAATCTTGACTGGCAGGGAGCGATTCCGGGATTTAGCGCCAGCGCA
+GGGCAACCACACTGGCGCTTAGGTAGCGTGGGGATGGCGCAGGCGCGGCAGGTTATCGGTCAGCTTGAGC
+ATGAAAGTAGTCAGCATGTGTCGTTTGCTAACGAAATGGCTGAGTTGCTGTTCGGGCAGTTGGTGATGTT
+GCTGAATCGCCATCGTTACACCAGTGATTCGTTGCCGCCAACATCCAGCGAAACGTTGCTGGATAAGCTG
+ATTACCCGGCTGGCGGCTAGCCTGAAAAGTCCCTTTGCGCTGGATAAATTTTGTGATGAGGCATCGTGCA
+GTGAGCGCGTTTTGCGTCAGCAATTTCGTCAGCAGACTGGAATGACCATCAATCAATATCTGCGACAGGT
+CAGAGTGTGTCATGCGCAATATCTCCTCCAGCATAGCCGCCTGTTAATCAGTGATATTTCGACCGAATGT
+GGCTTTGAAGATAGTAACTATTTTTCGGTTGTGTTTACCCGGGAAACCGGGATGACGCCCAGCCAGTGGC
+GTCATCTCAATTCGCAGAAAGATTAATTCGCCATGCCGATGCCGACGATGTTAGCGGCGACAATAATCAC
+CACACAACCGAGGCTCAACACCGTTACCGGACGGCGTCCTGCATTGTTCCACTCTTTCAGCACCAGCCCA
+ACGATACCGCCGCACAATACATAGAAGCTCATATGCAGCATCCAACTGATGTAGTCATACTGCGCCGGAA
+TGCGGGCGTGGCCCCAGGCATAGAAAAAGAATTGCAGATACCACATCAACCCACCCAGAGCTGAGAGTAG
+CACATTGTGAATGATCAGCGGTTTTGCCAGCGAGAAGTCGGCTTTTAGCGACAAATCTTTCACTTTTGCC
+AGACGAATGAAGCAGAAACCGAGGTTGATGATTGCGCCGCCGCCCATGATGACAACGTAGCTTGGCAGAG
+CGACATACAGGGGATCGACGCCCAGCGCGGCAGCGGCTTCATGCATCGGTTTTGCGGCGTTCATCGCAAA
+GGACATCCCGGCAGAGAAAATGCCGCACATCACCGCCAGCACCAGCCCTTTTTTCAGATTGAACTCTTCG
+GCTTTAATGCCCATCTTGCGCTCTTTCAACTGCCCGGCGCGAGTTACAATCCCTACGCCAATCAGCGCCA
+CCAGAACGCCGAGCAACGTCATGCGTCCGCCTTCGGTATTAATCAGCACATCGAAATTGCCGTTGATAAT
+TGGCGTCATCAGCGTACCGACAATCAACGTAATGCCAATGGCGATGCCAATTCCCATCGACATGCCGAGA
+TAACGCATGGTCAGGCCGTAGTTGATATTACCGATCCCCCACATAGCGCCGAACAGAAAAACAGGCAGCA
+GCGTAGAGAGACTAAACGAGCTGTAATACGCCCAGAAATTCGGTAGTAACAGGGCGCTGATGGCCCACGG
+CAGGATAATCCACGAAACAATCCCACCGACTGACCACATGGTTTCCCATGACCATTTTTTTACTTTTTTG
+AACGGAGCGTAAAAACAGGCTGCACTGGCCGCGCCGATCAAATGCCAAAATATCCCCATCGTAATCGCGT
+TACTCATCTTCTTATCCTCATCATTTTTTCGTCGCGTCACATCTCCGACGAGATGAGTGTAAAAATTGAG
+CTGTCGATTAACCTTTCGCCTGTTGCCGCCGCTGCCGATTTACTGGCAATCACGGCATTAAGTGGGTGAT
+TTGCTTCACATCTTGGGCATTTTCCTGCAAAACCATACCCTTATGAAAAGTACGGCATTGATAATCATTT
+TCAATATCATTTAATTAACTATAATGAACCAACTGCTTACGCGGCATTAACAATCGGCCGCCCGACAACA
+CTGGAGATGAATATGAGTTATACCCTGCCATCCCTGCCGTATGCTTACGATGCCCTGGAACCGCACTTCG
+ATAAGCAGACCATGGAAATCCACCACACCAAACACCATCAGACTTACGTCAACAACGCCAACGCGGCGCT
+GGAAAACCTGCCAGAATTTGCCAACCTGCCGGTTGAAGAGCTGATCACCAAACTGGACCAGCTGCCAGCA
+GACAAGAAAACTGTACTGCGCAATAACGCTGGTGGTCACGCTAACCACAGTCTGTTCTGGAAAGGTCTGA
+AAAAAGGCACCACCCTGCAGGGCGACCTGAAAGCGGCTATCGAACGTGATTTCGGTTCCGTTGATAATTT
+CAAAGCAGAATTTGAAAAAGCGGCAGCTTCCCGCTTTGGTTCCGGCTGGGCATGGCTGGTGCAAAAAGGC
+GATAAACTGGCGGTGGTTTCTACTGCTAACCAGGACTCTCCGCTGATGGGCGAAGCCATTTCTGGCGCTT
+CCGGCTTCCCGATTCTGGGCCTGGATGTGTGGGAACATGCTTACTATCTGAAATTCCAGAACCGCCGTCC
+GGACTACATTAAAGAGTTCTGGAACGTGGTGAACTGGGACGAAGCAGCGGCACGTTTCGCGGCGAAAAAA
+TAATCATTTGCCGCCTGCTGCAATGAGGCGTTTACGCCGCATTGCAGCTTAAAAAATGAACCATCGCCAA
+CGGCGGTGGTTTTTTTGTGATCAATTTCAAAATAAAAACAATGATCCGATAAAAATAAAACAGCGTTTCA
+ATTGATGTGGTTTCGATCACTTTTATTGATCAAATGAATGTTTATCTTCGTTTCCATCAACACTGATGCT
+CCGTTGAGGAATGACGCATCAGCCCTTAAAAATATGCCGACAGGTGATGGAAATGCAGATAAAACGCTCG
+ATTGAGAAAATCCCGGGGGGGATGATGCTCGTCCCGCTATTCCTTGGCGCACTGTGCCACACCTTCTCGC
+CGGGGGCGGGGAAATATTTTGGATCATTCACCAACGGGATGATTACCGGTACGGTGCCCATTCTGGCGGT
+GTGGTTTTTTTGCATGGGGGCGTCAATAAAATTAAGCGCGACGGGAACGGTACTGCGTAAATCCGGTACG
+CTGGTGGTAACTAAAATTGCCGTCGCGTGGGTGGTTGCGGCAATTGCCTCGCGCATTATTCCGGAACATG
+GTGTTGAAGTTGGATTTTTTGCCGGACTTTCAACGTTGGCGCTGGTGGCGGCGATGGATATGACCAACGG
+CGGACTTTACGCTTCCATCATGCAGCAGTACGGCACAAAAGAAGAAGCTGGGGCATTTGTGTTGATGTCG
+TTGGAGTCCGGGCCGCTCATGACGATGATTATTCTGGGCACTGCCGGGATTGCCTCGTTTGAACCGCATG
+TTTTCGTCGGCGCAGTATTGCCGTTCCTGGTGGGCTTTGCCCTGGGGAACCTTGACCCTGAGTTACGAGA
+ATTTTTCAGCAAAGCGGTGCAGACGCTTATTCCATTCTTTGCCTTCGCACTGGGCAATACCATTGATTTG
+ACTGTAATTGCCCAGACAGGTTTGCTGGGGATCCTGTTGGGTGTGGCAGTAATTATCGTGACCGGTATTC
+CGTTGATTATCGCCGATAAATTGATTGGCGGTGGCGATGGCACTGCCGGAATTGCCGCTTCCAGTTCCGC
+AGGGGCCGCGGTAGCGACACCTGTGCTGATTGCTGAAATGGTGCCTGCGTTTAAACCTATGGCTCCGGCA
+GCAACTTCGCTGGTCGCGACGGCGGTCATTGTGACTTCGATTCTGGTGCCAATTCTTACCTCTATCTGGT
+CACGTAAAGTCAAAGCCAGAGCGGCGAAAATCGAAATTTTAGGTACGGTGAAATAAACCAGCTTCCTTAA
+TCCCCACAGCCGGATGAACTAACGTTCGTCCGGTTTTCAATTGCGTTTCTGCCTGGATACTTACCGCGAA
+AACAGCACGCCTGACATAAAATAAATATGGTCTAATAGGGAAATTTCTCGTGGAGAGGGAACAGATGCGA
+TATCCGGTTGATGTATACACAGGCAAGATTCAGGCTTATCCCGAAGGCAAACCCAGCGCAATTGCCAAAA
+TCCAGGTTGATGGTGAGTTGATGCTGACGGACCTGGGGCTGGAAGGTGACGAACAGGCGGAGAAAAAGAT
+CCACGGCGGGCCAGACAGAGCGCTGTGTCATTATCCTCGTGAGCATTATCTCTACTGGGCGCGGGAATTT
+CCGGAACAGGCGGAGCTGTTTGTTGCGCCTGCGTTTGGCGAAAATCTCTCAACCGACGGTCTGACGGAAA
+GTAATGTTTATATTGGTGATATTTTCCGCTGGGGAGAGGCATTAATTCAGGTCAGCCAGCCACGCTCACC
+TTGCTATAAACTCAATTACCATTTTGATATCAGCGATATAGCGCAGTTGATGCAAAACACGGGTAAAGTG
+GGGTGGTTGTATAGCGTAATTGCACCAGGGTTGGTATCTGCTGATGCGCCACTGGAGTTGGTTTCCCGTG
+TCAGCGATATGACCGTGCAGGAGGCTGCCGCCATCGCATGGCATATGCCGTTTGATGACGATCAGTATCA
+CCGTTTACTCTCCGCCGCAGGGTTATCGAAAAGCTGGACGCGAACGATGCAAAAGCGCCGACTTAGCGGC
+AAGATCGAAGATTTTTCCCGCCGTTTGTGGGGAAAATAACCCCGGAGTGTAGGCCTGATAAGACGCTATC
+AGCGTCGCATCAGGCATCCTGCTCAAATGCCGGATGCGGCGTAAACGCCTTATCCTGCCTACAAAACCCA
+TAAATTCAACAGGTTTTGTAGGCCTGATAAGCGTAGTGCATCAGGCATTTTTTTTACCTGAATGTTGACG
+TTATGACCGCTTATACAGCGGCAACCAAATCACCAGCCGTAAACCGCCCAGCGGGCTGTCTTCTGCCTTC
+ACCCAGCCACGATGCTGCTGAATGGCGGTTTCTACAATCGCCAGCCCCAAACCTGTACCGCCAGATTCAC
+GATCGCGTGCTTCATCGGTCCGATAGAACGGACGGAAAATCTGTTCGCGATCTTCCGGGCTAACGCCAGG
+ACCATCGTCGTCCACCGTAATGGTGATACCGTCTTTATCTACCGCAAAGCCCACTTCAATCTTCGTATGG
+GAATAACGCAGAGCATTACGAACAATGTTTTCCAGCGCACTTTCCAGGGCGTTCGGGTTGCCGTACAGCG
+GCCACGGCCCAGGTGGGAAGTTAACCGTCAACGACTTGCCCATTTGCTCGGCTTCGAACGCCGCGTTATC
+CAGCACTTCACTCCACAACTGGTTGGCTTTGATGGTCTCGCTAACCAGCGCATTTTTCTGCTGATTACGT
+GACATCACCAACAGATCGTTGATCATGCTGTCCAGACGTTGCGCTTCGGTTTCAATACGCTCCAGTTCCT
+TGCTTTCACCGCTACGACGGCGCAGTAACGCCGTACCCAGTTGCAGACGCGTCAGCGGGGTGCGCAGTTC
+GTGAGAGATATCAGAAAGTAGACGCTGCTGAGAGGTCATCATGCGCTCCAGCGCGGTGACCATCTGGTTA
+AAACTGGCACCGGCGGCAAGGAATTCCTGTGGCCCCGCTTCCAGTTCCGGGTGCTGGCGTAAGTTTCCCT
+GGGCAACTTCATCGGCAGCGTTTTTCAGCTTACGCGCCGGTTTTGCCAGACTCCAGGCCAACCACAACAG
+CAGCGGCGTACTGACCAGCATGGTGACAATCAGCAGTAATAGCGGGCGGTCAAACAGTAAGTTGATGAAA
+TCGGATTGAGAACTGCTGGCCGGACGAATCAGATAAAGTTGGTAATTATCTTCGCCATCACGCACGGAGA
+ACGGACCGACCAGTTCCACGCGGCCATACTTTTTCTTCTGCGGATGATCGGCGTTATCGGCCTGACCAAT
+AAAGTTACGAATGATCTGCATTTCGCTGCGTTCAGCGCCGATCACGCGGCCTTCGGTGGTCACCAATAAC
+AAACGCTGTCCTGGCGGTGCCCACTTATCAATCGCCCGGAACAGACGCCGCCACCACATTAAATCGTTGG
+GCGGATCGTTCGCCAGCTCCGCTTCGACATGCTGCTCAATCATCAGACCCTGACGCTGTTCGCTATCCAG
+AAGCTCGGTCATCTGGCGTGAATCGAGCTTGGGTAACATCAAAACCAACATCAACACCAGCGCCAGCGTC
+AGCCAGAAGATGGCGAAGATGCGCGCGGTTAAGCTGCCTATCATGAAGCAGAAACCATCAGATAGCCGCG
+ACCACGCAGGGTTTTAAACCACGGATGACCATCTTTACGATCCGGCAGTTTACGACGCAGGTTGGAAATG
+TGCATATCGATAGCGCGGTCGAAAGGCGTCAGGCGCTTGCCCAGCACTTCCTGGCTTAAATGCTCACGGG
+AAACCACCTGACCCAGATGCTGTGCCAGCAAATAGAGCAGGGTAAACTCAGTACCGGTTAACTCCAGCGT
+TTGCCCGTCGAAGCTGGCTTCCTGGCGACCAGGATTGAGACTTAAGGCATCAACTTCCAGTGTCGGTGAA
+CCGTTGTCGTTGTTTTGCTGTTGTTCGCTCCAGTGCGAACGGCGCAGGATCGCGCGAATACGTGCCACCA
+GCTCACGATCATTAAACGGTTTTGGGAGATAGTCATCTGCGCCCAGCTCAAGCCCGAGAACGCGATCAAG
+TTCACTGCCGCGCGCCGTCAACATAATGACAGGCGTCTGGTGTGTCTGGCGAAGTGCTTTTAATGTGTCG
+ATACCATTTTTCTTCGGCATCATTACATCAAGCAAAAGTAAATCAATGCTGTCGTCCAGAAGATCAAGCG
+CCTGTTCCCCATCGTGGGCAACAATCACGTTGAAGCCTTCCATCTCGAGCAGCTCCTTTAATAGGGAAGT
+CAGCTCTCGGTCATCATCAACTAACAGGATTTTATTCATTGTTTAAATACCTCCGAGGCAGAAATTACGT
+CATCAGACGTCGCTAATCCATGACTTTACGTTGTTTTACACCCCCTGACGCATGTTTGCAGCCTGAATCG
+TAAACTCTCTATCGTTGAATCGCGACAGAAAGATTTTGGGAGCAAATGATGCGCATAGTTACCGCTGCCG
+TCATGGCCTCAACGCTGGCAGTCAGTTCATTAAGCCACGCTGCTGAAGTCGGTTCAGGCGATAACTGGCA
+TTCGGGTGAAGAACTTACGCAGCGCAGTACGCAGAGCCATATGTTCGACGGCATAAGTTTAACCGAACAT
+CAGCGTCAGCAGATGCGAGATCTTATGCAACAGGCCCGGCACGAACAGCCTCCTGTTAATGTTAGCGAAC
+TGGAGACAATGCATCGCCTTGTCACCGCAGAAAATTTTGATGAAAACGCTGTGCGCGCACAGGCAGAAAA
+AATGGCGAATGAGCAAATTGCTCGTCAGGTTGAGATGGCAAAAGTCCGCAACCAAATGTATCGCCTGTTA
+ACGCCGGAGCAGCAAGCTGTTTTAAACGAGAAACATCAACAACGAATGGAGCAGTTGCGCGACGTGACGC
+AATGGCAAAAAAGTTCATCGTTGAAGCTATTGAGTAGTAGCAACTCACGTTCCCAGTAGTAAACCCTGTT
+TTCCTTGCCATAGACACCATCCCTGTCTTCCCCCACATGATGTGGGGGTTTTTTTTATCCTCAATTTGCC
+TGCTGCTTAATGCATTGCAGATGATTTGCTTCCGTTATACTACCGTCAGTTGATAGCGGGAGTATTTATG
+AATCAATCTTATGGACGGCTGGTCAGTCGGGCGGCGATTGCTGCGACGGCGATGGCTTCGCTGCTATTGC
+TGATTAAAATTTTTGCATGGTGGTATACCGGGTCGGTGAGTATTCTCGCCGCGCTGGTGGATTCGCTGGT
+GGATATCGGCGCGTCGTTGACGAATTTACTGGTGGTGCGATATTCCCTGCAACCTGCCGACGATAATCAC
+TCGTTTGGTCACGGTAAAGCTGAGTCCCTCGCGGCGCTGGCGCAAAGTATGTTTATCTCCGGTTCGGCAC
+TATTCCTGTTTTTGACGGGTATTCAACATCTGGTATCTCCAACACCGATGACAGATCCAGGCGTCGGGGT
+TATCGTGACAATTGTGGCGCTAATTTGTACGATTATCCTTGTCTCGTTTCAGCGTTGGGTGGTGCGCCGG
+ACGCAAAGCCAGGCGGTGCGGGCTGATATGCTACATTACCAGTCTGATGTTATGATGAACGGCGCAATTC
+TGCTGGCGCTGGGGTTGTCCTGGTACGGCTGGCATCGCGCCGATGCTCTGTTTGCATTGGGGATCGGCAT
+CTATATTTTATATAGCGCGTTACGCATGGGATATGAGGCGGTACAGTCATTACTGGATCGCGCATTGCCT
+GATGAGGAACGGCAAGAAATTATTGATATCGTGACTTCCTGGCCGGGTGTTAGCGGCGCTCACGATCTTC
+GCACGCGGCAGTCAGGGCCGACCCGCTTTATTCAGATTCATTTGGAAATGGAAGACTCTCTGCCTTTGGT
+TCAGGCACATATGGTGGCGGATCAGGTAGAGCAGGCTATTTTACGGCGTTTTCCGGGATCGGATGTGATT
+ATCCATCAGGACCCCTGTTCCGTCGTACCCAGGGAGGGTAAACGGTCTATGCTTTCATAATCAGTATAAA
+AGAGAGCCAGACCCGCATTTTGTGTATAAAATACCGCCATTTGGCCTGACCTGAATCAATTCAGCAGGAA
+GTGATTGTTATACTATTTGCACATTCGTTGGATCACTTCGATGTGCAAGAAGACTTCCGGCAACAGATTT
+CATTTTGCATTCCAAAGTTCAGAGGTAGTCATGATTAAGAAAATCGGTGTGTTGACAAGCGGCGGTGATG
+CGCCAGGCATGAACGCCGCAATTCGCGGGGTTGTTCGTTCTGCGCTGACAGAAGGTCTGGAAGTAATGGG
+CATTTATGACGGCTATCTGGGTCTGTATGAAGACCGTATGGTACAGCTAGACCGTTACAGCGTTTCTGAC
+ATGATCAACCGTGGTGGTACGTTCCTCGGTTCTGCGCGTTTCCCGGAATTCCGCGACGAGAACATCCGCG
+CCGTGGCTATCGAAAACCTGAAAAAACGTGGGATCGACGCGCTGGTGGTTATCGGCGGTGACGGTTCCTA
+CATGGGTGCAATGCGTCTGACCGAAATGGGCTTCCCGTGCATCGGCCTGCCGGGCACTATCGACAACGAC
+ATCAAAGGCACTGACTACACTATCGGTTTCTTCACTGCGCTGAGCACCGTTGTAGAAGCGATCGACCGTC
+TGCGTGACACCTCTTCTTCTCACCAGCGTATTTCCGTGGTGGAAGTGATGGGCCGTTATTGTGGCGATCT
+GACGTTGGCTGCGGCTATTGCCGGCGGCTGTGAATTCGTTGTGGTTCCGGAAGTTGAATTCAGCCGTGAA
+GACCTGGTAAACGAAATCAAAGCGGGTATCGCGAAAGGTAAAAAACACGCGATCGTGGCGATTACCGAAC
+ATATGTGTGATGTTGACGAACTGGCGCATTTCATCGAGAAAGAAACCGGTCGTGAAACCCGCGCAACTGT
+GCTGGGCCACATCCAGCGCGGTGGTTCTCCGGTGCCTTACGACCGTATTCTGGCTTCCCGTATGGGCGCT
+TACGCTATCGATCTGCTGCTGGCAGGTTACGGTGGTCGTTGCGTAGGTATCCAGAACGAACAGCTGGTTC
+ACCACGACATCATCGACGCTATCGAAAACATGAAGCGTCCGTTCAAAGGCGACTGGCTGGACTGCGCGAA
+AAAACTGTATTAATGATTTCGGAAAAAGGCAGATTCCTTTAGCCTGAAACCGATGACAGAAGCAAAAAGG
+CCTGATGCGCTTCGCTTATCAGGCCTACATGAATTCTGTAATCTATTGAATTTGCAAACTTTTGTAGGCT
+GGATAAGGCGTTTGTGCCGCATCCGGCATGGACAAAGCGCACTTTGTCAGCAATATGAGGCGGATTTCTT
+CCGCCTTTTTAATCCCCCAACATATACTCGCAAGTTATAGCCAATCTTTTTTTATTCTTTAATGTTTGGT
+CAACCTTCTGGCACGCTTTGCTCATCACAACACAACATAAGAGAGTCGGGCGATGAAAAAGTGGGGCGTA
+GGGTTAACATTTTTGCTGGCGGCAACCAGCGTTATGGCAAAGGATATTCAGCTTCTTAACGTTTCATATG
+ATCCAACGCGCGAATTGTACGAACAGTACAACAAGGCATTCAGCGCCCACTGGAAACAGCAAACTGGCGA
+TAACGTGGTGATTCGTCAGTCACACGGTGGTTCAGGCAAACAAGCGACGTCGGTAATCAACGGTATTGAA
+GCTGATGTTGTCACGCTGGCTCTGGCCTATGACGTGGATGCGATTGCTGAACGCGGGCGGATTGATAAAG
+AGTGGATCAAACGTCTGCCGGATAACTCCGCACCGTACACTTCCACCATTGTTTTCCTGGTACGTAAGGG
+TAATCCGAAGCAGATCCATGACTGGAACGATCTGATTAAACCGGGTGTTTCGGTGATCACGCCTAATCCG
+AAAAGCTCTGGTGGCGCGCGCTGGAATTACCTGGCAGCCTGGGGCTACGCGCTGCATCACAACAACAACG
+ATCAGGCAAAAGCACAGGATTTTGTTCGGGCACTGTATAAAAACGTCGAAGTTCTGGATTCTGGCGCGCG
+CGGATCCACTAACACTTTTGTCGAGCGCGGAATTGGCGATGTACTGATTGCCTGGGAAAATGAAGCTCTG
+CTGGCAGCGAATGAACTGGGGAAAGATAAATTCGAAATCGTCACGCCGAGTGAGTCTATCCTCGCAGAGC
+CAACCGTGTCGGTGGTCGATAAAGTGGTCGAGAAAAAAGACACCAAAGAGGTGGCGGAAGCCTACCTGAA
+ATATCTCTACTCGCCAGAAGGTCAGGAAATTGCAGCGAAAAACTACTACCGTCCGCGCGACGCTGAGGTA
+GCGAAAAAGTACGAAAATGCGTTTCCAAAATTGAAGTTATTCACCATTGATGAAGAGTTCGGCGGCTGGA
+CGAAAGCGCAAAAAGAGCATTTTGCTAACGGCGGTACGTTCGATCAGATCAGCAAACGCTGATTTCCCCA
+GGATAATTATCAAGCCCGGTGGTTTCTCGCCACTGGGTTTTTTATTTGTCACGATTTTGCGTTACCCTTG
+CATCTCTTTGAGGTACAGGGAAAAAAAGATGAAAAAAGCGGGTCTTCTTTTTTTGGTGATGATAGTTATC
+GCCGTTGTGGCTGCCGGTATTGGTTACTGGAAATTAACCGGTGAAGAGTCAGACACGTTACGTAAGATTG
+TTCTTGAGCAATGTTTGCCCAACCAGCAGGAAAACCAAAACCCGTCGCCATGTGCGGAAGTCAAACCCAA
+CGCCGGATACGTGGTTTTAAAAGATCGTCATGGCCCACTGCAATATCTGTTGATGCCAACGTACCGTATT
+AACGGTACTGAAAGCCCATTGTTGACCGATCCGTCAACGCCTAATTTTTTCTGGTTAGCCTGGCAGGCGC
+GTGATTTTATGAGCCAAAAATACGGCCAGCCTGTTCCCGATCGCGCGGTATCTCTGGCGATCAACTCCCG
+CACCGGGCGTACGCAAAACCATTTTCATATTCATATTTCTTGTATTCGTCCTGATGTGCGCGAACAGCTG
+GATAACAATCTGGCGAACATCAGTAGCCGCTGGTTGCCACTGCCAGGTGGTTTGCGTGGGCATGAGTACC
+TGGCGCGTCGGGTAACGGAAAGCGAACTGGTACAACGCAGCCCATTTATGATGCTGGCGGAAGAAGTGCC
+TGAGGCGCGGGAACATATGGGAAGCTACGGGCTGGCGATGGTACGGCAGAGTGATAACTCATTTGTATTG
+CTGGCGACACAACGAAATCTACTGACGCTGAACCGTGCTTCAGCCGAAGAAATCCAGGATCATCAGTGTG
+AGATTTTGCGTTAAGGCGAGGAGTTTAGGAAAGTAAGTGCCGGATATGAAATCCGGCACCTGTCAGACTT
+AAGCCTGTTTAGCCGCTTCTGCAGCTTTAACGATCACGGCGAAAGCGTCAGCTTTCAGAGAAGCACCGCC
+AACCAGCGCGCCGTCGATGTCTGGCTGAGCAAACAGTTCTGCAGCGTTAGACGCGTTTACAGAGCCGCCG
+TACTGAATGATCACTTGTTCAGCGATGTTAGCGTCAACTTTAGCAATGTGGTCACGGATGAATTTGTGAA
+CAGCCTGTGCCTGAGCCGGAGTTGCAGATTTGCCAGTACCGATTGCCCATACAGGTTCGTAAGCGATAAC
+CGCACCTTCGAATGCCGCAGCACCCTGAGTTTTCAGTACCGCGTCGATCTGACGTGCACAAACTTCTTCA
+GTTTTGCCCGCTTCGTTTTCCGCTTCGGTTTCACCGATGCACAGAACCGGAGTCAGTCCCTGCTCTTTCA
+GCACCGCGAATTTTTTCGCGATCAGTTCGTCAGATTCTTTGTGGTAAGTACGACGTTCAGAGTGGCCGAT
+GATGATGTACTGTGCGCCGATGTCTTTCAGCATAGCAGCAGAGGTTTCACCGGTGAATGCGCCGGACAGG
+TTCAGGTCCACGTTTTGCGCACCCAGCATGATGTGGCTGCCTTCAGCTTCACGCTTCGCCATATCGATGT
+ACATTTCCGGTGGTGCGATTGCAACCGCACAGCCAGCAACACCTGCCAGCTCTTTACGCAGGTTAGATAC
+CAGCTCGTGAACCATGTGGCGGCTGCCGTTCAGTTTCCAGTTACCCATCACTAAAGGATGTCGCATTTTA
+ATTCTCCACGCTTATAAGCGAATAAAGGAAGATGGCCGCCCCGCAGGGCAGCAGGTCTGTGAAACAGTAT
+AGAGATTCATCGGCACAAAGGCTTTGCTTTTTGTCATTTATTCAAACCTTCAAGCGATTCAGATAGCGCC
+AGCTTAATCGGTTCAACAGCGAAGGTCAGCCCCTTTTCGCCGTTGTCCGCGACAACATAACGCAGTGCAC
+CTTCTGTCTCGGTGTAATAACGTTTGTTTTTCCCCGCCGTTAGTAGCGACTGCAGTTTTTTCTGGCTTTG
+AGTTTTGGTCATTAATGGGGTGAGTGTGCGGATCACCGCTGCCATGTATGCCTGAGCTTTCGCTTTCGCG
+GCTTTTTGCTCTGGCCCCTGGATGGGTAGCCAGGTTATTTGAATGCTTTTGATTTTTAAGGTACCGCGCT
+CCAGCGCAGTAGAAGCATACAAGTTCTCGTTAATTTTACTTGCTGCACGAGTGAGATTGGCTTTGTCGGG
+ACTGCTGTCGATGGCACGAAATTCGTTCAGTGGCAGGCTGGGATTCTGGCTGTTAAAGTCTTCTCGAAAC
+TGGCTGATGGAGAGATCGAAAGTAGGGGCTCCAGCCAGCAGATAAGGCGCGGTCGTTGCCGTATCTGGTG
+TTTGTGCATGCGCCGTTGTTGTAACGGTTAATGCAGAACATAAGAGAAAAAACAGCGTACACCCTGGCTT
+CATTGACAGTACCTTTTGTTATGACTGGCTCCGATTAAAACGATATCTGTCGCCCTTGTCAAAAGGGTAG
+AATCCTGGAAAAGACAACCATCAAGGAACTTACATGACCATACAGCAATGGTTATTCTCATTTAAAGGGC
+GTATTGGACGCCGTGATTTCTGGATTTGGATAGGCCTGTGGTTCGCAGGCATGCTGGTGCTTTTCTCACT
+GGCGGGTAAAAATTTACTCGATATTCAGACCGCGGCGTTTTGCCTTGTGTGCTTGCTTTGGCCAACAGCG
+GCAGTAACCGTTAAGCGCTTGCATGATCGCGGGCGTTCCGGCGCATGGGCATTTCTGATGATTGTGGCGT
+GGATGCTGCTGGCGGGTAACTGGGCAATTTTACCGGGTGTCTGGCAATGGGCGGTGGGGCGTTTTGTCCC
+GACATTGATTCTGGTGATGATGCTTATCGATCTTGGTGCGTTTGTTGGCACACAAGGCGAAAATAAATAT
+GGTAAAGATACCCAGGATGTGAAGTATAAAGCCGACAATAAATCAAGTAATTAACCTTTAATATATCTCT
+TATCGCTATTTTTTCCGGGATTGTTATTTCCACGATGCAAGTGACAATGCCCGGAAAATCCTTCTGAACT
+CTTCACCTTAAGCAATATCAAAAAAAATGGTAATCCATAAGATCATTACTTGTTTGTTCTTCCTTTAACG
+GCGCATTATTCTTAAGTCGTAATCGACAGAGAGGCGAATATACAGAGGTGCCCTATGAAAGATGTCGTAG
+ATAAATGCAGTACTAAAGGATGTGCGATTGATATCGGTACGGTGATTGATAACGACAACTGTACCAGTAA
+GTTTTCGCGCTTTTTTGCCACCCGCGAAGAAGCAGAGTCCTTTATGACCAAACTGAAAGAGCTTGCCGCC
+GCTGCATCCTCTGCAGATGAAGGGGCCAGCGTGGCCTATAAGATTAAGGATCTGGAAGGGCAAGTTGAGC
+TTGATGCGGCCTTCACCTTCTCATGCCAGGCCGAGATGATTATTTTTGAGTTATCACTGCGTTCGTTAGC
+TTGATGGAGTTGCTTTAGAAGGAGTTAAATATGGCTTATAAACACATTGGCGTGGCAATTTCCGGGAATG
+AAGAAGATGCCTTACTGGTGAATAAAGCCCTGGAGCTCGCCAGACATAATGACGCTCACCTGACGTTAAT
+TCATATTGATGATGGCTTAAGCGAGTTGTATCCGGGTATCTACTTCCCTGCAACAGAAGATATTCTTCAA
+TTGTTGAAGAATAAGTCGGATAACAAGCTGTATAAACTGACGAAAAATATTCAATGGCCGAAGACAAAAC
+TGCGTATTGAACGCGGAGAAATGCCGGAAACACTGCTGGAAATTATGCAAAAAGAGCAGTGCGACCTCCT
+TGTCTGTGGTCATCACCACTCATTTATCAACCGTTTGATGCCGGCATATCGCGGGATGATCAATAAGTTG
+AGTGCGGATCTCTTGATCGTGCCGTTTATCGACAAGTAACCGCTTACCAGTAATGCTCCGCTGTCATATG
+GCCCGGTCGGCGACGTAAATGTTTCGTCATCTGCCGGGTCTCCTTCAGCAACTGTTGTGTATCGCGCACC
+ATCTGTGGATTGCCGCACAGCATCACATGGCTGGTTTCTTTATTCATCGGCAGGCCAACCGCGCTTTCCA
+GTTCACCACTTTCAATTAACGCCGGTAATCGCCCAGTGAGCGAACCCGCAGCCGTTTCCCGACTGACCAC
+CGTCTGAATGCGCAGTTTCCCCTCGTAGCGTTTTTCCAGTTCCTGCATCAGAGGTAGATAGCTTAAGTCG
+GCGGCATATCGTGCGGCGTGAACCAGCACCATGTTTTTGAAGCGTTCTAAATCTTTGCCCAATTGCAGAA
+TCGATAAATAAGGGCCAATCGCTGTACCGGTTGCCAGCATCCATAGCGTTTCGCAATCTGGTACTTCATC
+CAGCACAAAGAAGCCAGCGGCTTCGCTAACCACCTGCACTTCATCGCCCGGTTTCAGTGCCGCCAGTCGT
+GGACTTAATTTGCCATCGGGGACGGTGACCAGGTAAAACTCCAGATCCGGATTATCGGGCGAGTTAACAT
+AGGAGTAGGCGCGCTGAACGCGTTCGCCTTCAATTTCAAGGCCAAGTTTGGTGAATTGCCCGGCGGTAAA
+CGGAAGCACGGGAGCGTGAACGGTGAGACTAAACAGGGCGTCGGTCCAGTTCTGCACTTTAGTGACTTTG
+CCTGTTACCCAATCAGCCATGTTTTTCTCCTGTTTTGATTGACTTGCCTTATCTTCGTTCTCCGAACAAA
+AAAATTCCAGTCCCGAAGGACTGGAAGGCTCAATCGATCAAATCAATCAGAGGATGTGCACCTGCATTTC
+CGGGTCTTTACGATCCAGATAGTGGATGGACTGAATGCGACGAATGGTGCGTGATTTACCACGGATCAGC
+AGCGTTTCGGTAGTCGCGATATTGCCTTTGCGGCTAATACCTTCCAGCAGATCACCTTTGGTGATGCCGG
+TGGCAGAAAAGATGACGTTGTCGCTGCGCGCCATATCGCCCAAACGCAATACTTTACCGGCTTCGATGCC
+CATCGCTTTGCAGCGTGCCAGCTCCTGCTCGCCAATGCGACGATTCTCTTCGTTGTCGCCTTTGACGTCA
+TGACGCGCCAGCAGACGACCGTTCATGTCACCATCTAATGCGCGGATCACCGCCGCAGAAACCACGCCTT
+CCGGCGCGCCACCAATACCGTACAGCACGTCAACTTCGCTGTCTGGCATACAGGTGAGAATTGAGGCTGC
+AACGTCGCCGTCCGGAATAGCAAATACGCGCACGCCGAGTTGCTGCATTTCTGCGATAACGGCATCGTGG
+CGCGGTTTTGCCAGAATCGTTACCGTCAGTTCGCTCAACGGTTTGCCGAGCGCCGCCGCAACATTGCGCA
+GGTTATCCGCCAGCGGCAGGTTCAGATCAATGGTGCCTTTGGCTCCCGGTCCGACGATCAGCTTCTCCAT
+ATACATATCTGGCGCGTTGAGGAAGCAGCCTTTATCGCCTACTGCCAGCACCGCCAGCGCGTTAGCCTGG
+CCCATCGCCGTCATGCGCGTGCCTTCAATCGGATCAACAGCAATATCTACCGCGTCGCCGCGACCAGTAC
+CGACTTTTTCACCAATGTAGAGCATCGGTGCTTCGTCGATTTCACCTTCACCAATAACGATGGTGCCGTC
+AATGTTGACCTGGTTGAGCATAATACGCATGGCGTTTACCGCCGCGCCGTCCGCGGTGTTTTTATCGCCG
+CGTCCTAACCATTTGTAGCCAGCCAGCGCTGCTGATTCGGTGACGCGGGAAAATTCGATGGCAAGTTCTC
+GTCTCATAGCAAACTCTAAGCAGTAAGGAATGGCGCGAAGTGTAGCACAGGGGAAGGGCGGGATTATTGA
+TGTGTGCGGGGTTGCCCCCGCACGGTTTCAGAGTCTGCGTGATGCCGGATGTGTATCCGACTCGTAGGCC
+TGATAAGACGCGCAAGCGTCGCATCAGGCAATCATTATTACTCGTCGTGTTCTTCCCATGCCATCGCGCG
+TTTGACCGCTTTTTTCCAGCCTGCGTAACGGTAATTACGCTCAGTGGTTTCGATGCCTGGACGGAACTCG
+CGTTCAATCACCGCTTTCTCTTGCAGCTCGTCAAGATTCTGCCAGAAGCCAACCGCCAGACCAGCAAGAT
+AGGCCGCACCCAAAGCGGTGACTTCGCGCACTTCCGGGCGCTCAACGCGCGTACCGAGAATATCGGACTG
+GAACTGCATCAGGAAATTGTTCGCCACCGCACCGCCGTCCACGCGCAGCGCGTGCAGACGAATACCGGAG
+TCGGCCTGCATTGCTTCCAGCACGTCACGCGTCTGATAAGCAATAGACTCCAGCGTCGCGCGTATAATGT
+GGTTAGCGTTCACCCCACGAGTCAGACCGAAAATCGCCCCGCGTGCATACGGATCCCAGTATGGCGCACC
+CAGCCCGGTAAAGGCCGGAACCACATACACACCATTGGTGTTTTGCACTTTGGTGGCGAAATATTCGGAA
+TCGTAGGCGTCGTTAATCAACTTCATCTCATCGCGCAGCCACTGAATGGACGCGCCCGCCATAAACACTG
+CACCTTCCAGCGCATAGTTCACTTCGCCAGTCGGGCCGCAGGCGATGGTGGTCAGCAGGCCGTTTTCTGA
+TTTCACCGCTTTCTCGCCGGTGTTCATCAGCATAAAGCAGCCAGTGCCGTAGGTATTCTTCGCCATCCCT
+TCTTTCACGCACAACTGACCAAACAGCGCGGCCTGCTGGTCACCGGCGATCCCGGAGATTGGAATACGCG
+TGCCGCCTTTGCCGCCAATGTTAGTCTGACCGTATACTTCGGAAGAACGACGCACTTCTGGCAGCATCTC
+ACGCGGAATATCCAGCACCTCCAGCATTTTGTCGTCCCAGTCCAGGGTATGGATGTTGAACAACATGGTA
+CGAGAGGCGTTGGTGTAATCGGTCACATGGACACGGCCCTGAGTCATTTTCCAGATAAGCCACGTATCAA
+CCGTACCAAACAGCAATTCACCACGACGCGCACGCTCGCGAGAGCCTTCCACATGGTCGAGGATCCACTT
+CACTTTGGTGCCAGAGAAATACGGGTCAATCACCAGACCGGTATTGCTGCGGATATAATCTTCTAAACCG
+TCACGTTTTAAATGCTCGCAGATTTCTGCGGTACGACGGCACTGCCAGACAATGGCGTTATAGATAGGCT
+TGCCGGTTTCTTTTTCCCAGACAATAGTGGTTTCACGCTGGTTCGTAATACCGATAGCTGCAATCTGATC
+GGAACTGATATCGGCTTTCGCCAGCACTTCTACCAGCGTGGAGCTTTGGGTGGCCCAGATTTCCATTGGG
+TCGTGTTCTACCCAGCCTGGTTTTGGGTAGATTTGCTCAAATTCGCGCTGCGACACGCTAATGATATTGG
+CATCGTGATCCATTACGACCGCGCGGGAGCTGGTGGTGCCCTGGTCGAGCGCAACGATATATTTTTTTTC
+AGTCATGTTTAATTGTCCCGTAGTCATATTACAGCGAAGCTTTTTGTTCTGAAGGAGTTGTGGTCTCCTT
+TTCTTCCACAACACAGATATCGCAAGGCAAATGGCGACCAATCAGTTTGCGGTAGGCAAATGCACCTACA
+ATCGCGCCAACGATAGGGCCAAAAAGCGGCACCAGGAAGTAAGGAATGTCTCTGCCGCCGGTAAAGGCGA
+CATTGCCCCAGCCCGCCAGCCAGGCAAAGACTTTCGGACCGAAGTCACGCGCTGGGTTCATGGCAAAGCC
+CGTCAATGGGCCCATAGATGCGCCAATGACCGCAATCAGTAGACCAATCAGCAAGGGAGCCAAAGGGCCG
+CGTGGTACACCGTTGCCATCGTCCGTTAACGCCAGGATCAGCCCCATCAGAATAGCGGTAATCACCATCT
+CAACTGCGAAAGCCTGCACAAAATTGATATGAGGATTAGGGTAAGTAGAGAAAGTGCCAGCCAGATCAAC
+ACTTTCAACGCTGCCGCGAACAATGTGATGAGTCTGCTCGAAGTCGAAAAATAAATTGTAGTAAAGCCCG
+TATACTAAAGCCGCAGCACAGAAAGCGCCGGCAACTTGTGAAACGATAAAAGGAATAACTTTGCGCTTGT
+CGAAACAGGCAAACAGCCACAATGCAATGGTAACAGCGGGATTAAGATGCGCGCCGGAAACCCCTGCGGT
+CAGGTAGATGGCCATTGCCACCCCCAGTCCCCAAATGACACTGATTTCCCACTGACCAAAAGACGCACCT
+GCGACTTTTAGTGCTGCAACGCAACCCACACCGAAAAAAATCAACAACCCGGTACCGAGGAATTCAGCAA
+TGCACTGGCCTTTCAAGGTTGATGTTTGACTCATAATCGGATCCTGAAGAGTTAATGTTTGTTGTATGCG
+TGAAAGTCACGGACCTCCACGATGCTTGTAGGCATGCTGTAAACTTATCGTTAACGAGCAAAAACGAGAA
+ATATCGAACTTAAAATGTGTGTGCTTCGTCATAAAATGAGCGTTATCGCGCCATTTATTCCATCTGATTG
+TACATGATGCATGTTTGTTAGATCATTCGCGCAACAAATTTATTAACATTTTCGATTGGTGTGGATTATG
+TCACCAGGAGAAGGATGAAAAGTGTGGCAAACCGTAATCTGCAAGGCGTGCCGCTGGACAGCGATGGCGC
+GGCTTCATACAATCGGAGCTAACTAAAGTGCGCTCGTATTTATTAAGGCGTCACCGGTAATCGGGACGAG
+GATTTTTATCCATCAACGCCTTGCAATTCAGGAGAGGTATGACAATGTCATTAGAAGTGTTTGAGAAACT
+GGAAGCAAAAGTACAGCAGGCGATTGATACCATCACTCTGTTGCAGATGGAAATCGAAGAGCTGAAAGAA
+AAAAACAACTCACTGTCGCAGGAAGTTCAAAATGCCCAGCATCAGCGCGAAGAGCTGGAGCGTGAGAACA
+ACCATCTGAAAGAACAGCAGAACGGCTGGCAGGAACGTCTACAGGCCCTGCTGGGTCGCATGGAAGAGGT
+CTGATTACACTTCATCTTTCGCGTAATTTCTTTACTGTGTAGGCCAACAGGTAACGCAGAAAAAAGGCAC
+CTTGCGGTGCCTTTTTTATCATTCAATATCCAGCGGATCTTCTGAAAGAATAATCCCGGTATTGTCGGCA
+TAAAGATGGTCGCCGGAGAAGAAGGTGACACCGCCAAAATTGACGCGGACATCGCTTTCGCCAATGCCTT
+CGCCAGCGGCACCAACCGGAATTGCCGCCATCGCCTGGATGCCGATATCCAACTCTTCCAGGTCATCTAC
+CTGACGCACCGCGCCGTAAATGACCAGACCTTCCCATTCATTTTGTACTGCCAGACGCGCCAGTTCAGCA
+TCGACCAGTGCGCGACGAACAGAACCTCCGCCATCGACGACAAGAACACGACCACGGCCATTCTGTTCGA
+GCAGATCGTACAGCAACCCGTTGTCCTCGAAACATTTTACCGTGATTATTTGTCCGCCAAACGACGCCCG
+TCCGCCAAAGTTGGAGAACAGCGGTTCCACGACGTTAACATCTTCTTGATAGATGTCACAAAGCTCGGAA
+GTATCGTATTTCATAGGCTTAACATTCAGTTGCTGCGAGAATTTTCAGTATATCGCGCTATGTGGGCTGT
+TGGCAAAATCATCAATTGTTAATTGATATTTGTCAGTTATGCTGCCCACTGGCTTAGGAATATCCCTAAA
+ACAAACAGCAGGTTAGTCAGTAACGCTCCTTTGACAGTGCGTTCCAGCATTGGTCGCATCGCCACCGGGT
+CCATTTCGCGCATCACATAACGAGCTTGCTTCACCAGCAACGGTGCCGCCAGCAGGAACAGCCAGCCCCA
+CAGGCTATGCAGCGAAAAGAGATTAAACAGCGCCAGACACACCAGTGAGCCCATCAGCAGGCAGGCATGA
+TAACGACGCGCGTTTACTGCGCCTAAGCGCACCACCAGCGTGTTTTTGCCGTTTTCGCGGTCGCTATTGA
+TATCACGCAGGTTATTAATGTTCAGTACTGCCGTTGCCAGCAGGCCGCATGCGGTTGCCGGAAGGATCAG
+TGCCGGAATCAATGTATGAGCCTGTAAATACCAGCTCCCCATGACGCTCAACCAGCCAAAGAAAACCAGT
+ACGGAAATATCACCCAAACCGATATAACCATAAGGACGATTGCCCACGGTGTAGGTGATAGCGGCAATGA
+TCGACAACCCGCCAAGAATCAGGAAACCGACAAAATCGGCCAGCGTATGGCACGCCACTGCAACCAGTGC
+CAGCCCGGAAAGACAGATGAGCACAACGGTAATAATGAGCGCCCGTTTCATCTCTTGCTGGGTAATGACC
+CCTTTTTGCATGCCGCGTAGCGGCCCAATGCGGTCAGGTTTATCGCTGCCTTTTACCGCATCGCCGTAAT
+CATTGGCGAGGTTAGAAAGGATCTGTAATAGCCCGGCGGTAATCAATGCCAGCAGGGCGACCAGTGGATC
+GAAGTGACCTTGCCACCATGCCAGCGCCGTCCCGACGATAATTGCAGCAAAGGCGAGGGGGAGGGTTTTA
+GGTCGTAAACTTTCCAGCCACGCCTGAGTTCGGCTAATTTGTTGTTCAGTCATAATACGCGCCAATAAAA
+ATGGGGCCTTTCAGCCCCATCAAACAATGATGAAAATGATTGAACGCGATTATAGGATAAAACGGCTCAG
+ATCTTCATCTGCCACCAACGCATCCAGATGTTTGCTCACATAATCTGCGTCAATAGTGATAGTTTGACCG
+CTTAAATCGCTGGCGTCGTAGGAAATCTCTTCCATTAAACGCTCCAGAACGGTATGTAAACGACGAGCAC
+CGATGTTTTCGGTAGATTCGTTCACCTGCCATGCCGCTTCCGCGATGCGCTTAATACCGGAGTCGGTAAA
+CTCGATATTTACGCCTTCAGTTGCCATCAGTGCTTTGTACTGCACAGTGATAGAGGCATTCGGCTCGGTC
+AGAATACGCTCGAAGTCGCTGGTGGTCAGTGCCTGCAGCTCAACGCGGATTGGCAGACGACCTTGCAGTT
+CCGGGATCAGGTCAGACGGTTTCGCAATCTGGAACGCGCCAGAAGCGATAAACAGAATGTGGTCAGTTTT
+GACCATCCCATGTTTGGTGGAAACAGTGCAACCTTCTACCAGCGGCAGCAGGTCACGCTGAACGCCTTCA
+CGAGAAACATCCGGACCGGAAGACTCGCCGCGCTTACAGATTTTGTCGATTTCGTCGATAAACACGATCC
+CGTGCTGCTCAACAGCGTCGATAGCATCTTGCTTCAGCTCTTCCGGGTTCACCAGTTTCGCCGCTTCTTC
+TTCAATCAGCAGCTTCATGGCGTCTTTGATTTTCAGCTTACGCGCTTTTTGTTTCTGACCGCCCAGGTTC
+TGGAACATGGACTGCAGCTGGCTGGTCATCTCTTCCATGCCCGGAGGAGCCATAATTTCAACGCCCATCG
+GTGCTGCGGCAAGATCGATCTCGATTTCTTTGTCATCAAGCTGGCCTTCACGCAGTTTTTTGCGGAATGC
+CTGACGAGCAGCGGACGGTTCCTGCTGCTGTTCGGTCTGTCCCCAGTTGTTTTTAGCCGGTGGGATCAGT
+ACGTCGAGAATACGTTCTTCTGCCAGTTCTTCAGCGCGATAACGGTTTTTCTCGATAGCCTGGACGCGTA
+CCATTTTCACGGCGGCATCGGTCAGATCGCGAATAATAGAATCCACTTCCTTACCGACATAGCCCACTTC
+GGTGAATTTGGTCGCTTCAACTTTGATGAACGGCGCATTCGCCAGCTTAGCCAGACGACGGGCGATTTCA
+GTTTTACCGACACCGGTCGGGCCGATCATCAGGATATTTTTCGGGGTCACTTCATGGCGCAGCTCTTCGT
+TGAGCTGCATGCGACGCCAGCGGTTACGCAGAGCAATCGCCACAGAACGCTTGGCGTTGTCCTGGCCGAT
+GATGTGCTTATCCAGTTCGCTGACGATTTCGCGTGGGGTCATTTCAGACATGGGAGATCCTTACGCTTTG
+TAGCTTAATTCTTCGATGGTGTGGAAATGGTTGGTATAGATGCAAATGTCGCCTGCAATATCCAACGCCT
+TTTCAGCAATTTCACGGGCGCTAAGTTCAGTGTTTTCTAACAGCGCGCGCGCCGCAGCCTGGGCGTAAGG
+GCCGCCGGAGCCGATAGCAATAAGATCGTTTTCTGGCTGCACCACGTCACCGTTACCGGTGATGATAAGC
+GATGCAGTTTCATCCGCGACTGCCAGCAGTGCTTCAAGTTTGCGCAGCATGCGATCGGTACGCCAGTCTT
+TCGCCAGCTCAACGGCGGCTTTGACCAGATGGCCCTGATGCATTTCCAGTTTACGTTCAAACAGTTCGAA
+CAGCGTAAAAGCATCCGCAGTACCGCCCGCAAAGCCCGCGATGACTTTGTCGTTGTACAGACGGCGGACC
+TTTTTCACGTTGCCTTTCATTACGGTATTGCCCAACGTGGCCTGACCATCACCAGCGATGACCACATGGC
+CGTTACGGCGTACGCTTACTATAGTTGTCACGAGCTGACCCCTTGGTTACGAATACAGAGTACAAACCCC
+GTACAAAAGTACGGGGCATAATGCAATTATAGATGGGGGGGATTTTGAGGGTTTCAACCCCCGGCGGCGA
+GCCGAATGCAGTTTGTATGACCCGCCATCTTCAAGCGATTGAGGGTGCTGTCTGCGTTCTCTTTGCCTTT
+CACCGGGCCAATCACCACACGATTCCAGCCATTGTTGGTGGTAATTTTTGAGTCAAAGCCTTCGAACGCC
+AGCTGAGCACGTACCGTCTCTGCCTGTTCCGCGCCTCTGAACGAACCGCACTGCACCATCCAGCGGCGTT
+CGTCTTTTTTCTCCGCCGTCGGTTTTGGCGCGTCAGCGGCACGAGCAACCGGCGCAGCTTGCTGCGGCTT
+CGACTGCGCGGTCGTGTGCGCAGGGGTTTGCAGCAGATCCTGGTACGGCTGCTGAGTATAAGCCGGTTTA
+GACTGGCGCGGTTGCGCCTGTACCGGCGCGGCTTGCGACGTACGCGTCTGCTGCTGCCAGCTTTGTTCAG
+TCGTACGCGACTGCTGAACCAGGCGTTGCTGCTCCGCTAATTGCTGCGCCTGACGCTGGCGCTGTAGCGT
+TTGCTGACGCTGTTCCGGCGTCTGTTCATTCCACGGAACTTCAACCAGCTGCGTTGGCTGCTGGCGCATA
+TCAGCCTGCATTTGCTCAAGAAGCTGGCGTTGTTCTGGTGTCAGTTGCTCCGGCGTTTTCACTTCACCAC
+CGGCAGAAGGTTCTGTAGGCGCACGCACACCCGGCTGGCGACTTTCCAGCTCTTTGATGTAGCGCCAGCG
+TTCTTCTGGTTTTGGTGGTAGTCCGTTTCCGGTCACTTTCTGGCTTTGCAGCGTCTCGGACTCTTCTTTC
+TTGTGATGCGTAATGAAGTACAGACCACCGATAAAGGTCACAAGAACGGCGGCAGCAATAGCGACCATAG
+CGGGAGAAACCGCAGGCAGATTTCGTTGCTTTTTCCGTGAGGTGCTCTTTTTTCGCCGCGAAGGTGCCGG
+TTGGCTGCGGCGTACATAATCTCGTTGTGCCACTATCGTTTCGCTGTATTTATTCGTTCGTCAGCCCGCC
+ATGTTACTTAAGCGGCGGGCCTTTGACCAGTCACGGCAGTCTTAAAGGTTTACTTTAAGGTAACGCGCGT
+GTTGATCCCCGGATGATAAGTTCGCAGTCCATTAAACGAGAGCCACTGCCAACGTGTTGCCCCTGCATTT
+GATCAAGCAATAACAGCATAGCTTCCCGACCGATTTCGTAACGCGGCTGCGCGATGGTTGTCAGCGGCGG
+ATCACAAAATTGCGTCAGGTCGATGTTATCAAAACCGATTATGGAAAGGTCTTCCGGGACTTTCAGCCCC
+TGGCGTTTTGCCTGAGAAAGTGCGCCGAGCGCCATCACATCGCTATGGCAGAAGACAGCAGTAGGCGGTT
+GTGGAAGATCAAGCAACTGCTGCATTGCTTTGCTTCCGGCTTCGAAGGTGAAGTCGCCACGGGCGATGTA
+TTGCGGATCAACCATAATGCCGCAGCGACGCAGCGCCTGAACGTAGCCTTGCAGGCGGTAGTGACACAGC
+GGCATCTCTTCGGGACCGGCTATACAGCCAATCCGTTTATGCCCTTGCTCATATAGATAATTTACTGCAT
+CAAATGCGGCGGTCAGATTGTCTATATGAACTGTAGGTAGCTCCAGTTCCGGTGCAAATTCGTTCGCCAT
+CACCATCGGCGGCAGATTACGCTGTTCCTCAATGCTGGCATCAAACGGCAGCCTTGAACCCAGCAGCAAC
+ATGCCATCAATTTGCTTGGTGATGATCAAATCGATAAAGGTTTTTTCCTGCTGATTTTGATGCGCACAGT
+CGCCAATCAGCACCAGATATCCGTGATTTGCCGCCGTAACTTCGATACCGCGAATAATTTCGCTAAAGAA
+AGGGTCGCAGATATCCGGGACAATCACCAGAATAGTGCGGGATTCATTACGCTTGACGTTGCGCCCCATA
+GGCTGTGGTAAATAACCCACTTCCCGGGCCGCTTTTTCAACCCGATTACGAGTGGCCTGGGAGACTTTAT
+CGGGATTCATTAATGCTCGGGAGACGGTCGCTGTAGAGACTTTTGCCTTGAGGGCAACGTCTTTCATGGT
+CGCGGCAGTTTCCTGCTTCTTCGCTTTCACACTCACTCCTCGCCTGGCACGTCAGGCGTACTACATCCAT
+GTTTACTTCACATCGGCAACATTTTTAGCAGATAGCGCGTGAAAACGGTTACAGAATTTTCATGAAAAGT
+GTGATGAATATTGAATTTTTCGATCCGCCTCGCATCGTGAGCGGTTTAACCCTCAATCGGATCGACATCC
+AGCACCCATTTCACCTTGCGGGAATCCGGTATTGTATTAATAAGCGCCAGCGTACCATTGATGATGTGCT
+GTAAGCGCACGCGGGAAGGGTGCTGCAACAATATCTGCCAGCGCCAGCGACCGCCACGTTTAGGGGCCAG
+CGCCGGAACCGGACCGAGAACCCACAGTTTCTCGTCTGCCAGTGGGCTGGCGAGAATGAGATTACGCAGT
+TGTTGCAGGAACAATGGCGCGTGCTGATTGTTATGATCTTCCGCACGCACAATCACATGGCTGGTCCACG
+GCGGCAGCTGCATCATGCGTCGTTCAGCCAGTGCCTGTTCGGCAAAGGCGTCGTAGCCTTTATAGAGCAA
+TGTTTGCAACAGAGGATGTTCCGGATGGTGCGTTTGCAGCACCACTTCGCCCTGTTTCCCCGCACGCCCG
+GCACGACCGGCGACCTGGGTGTAAAGCTGGGCGAAACGTTCTGCCGAGCGAAAATCGGCAGAAAACAGCG
+CGCCGTCCACATCCAGTAACACCACCAGCGTCACATCCGGAAAGTGGTGACCTTTCGCCAGCATTTGCGT
+GCCAATCAAGATCCTCGCGCCGCCGCGATGCACTTCCGCCAGTTGCTGTTCCAGCGCGCCTTTGCGGCTG
+GTGGTATCGCGGTCGATACGAGAAATGGGGACACCAGGGAACAACGGCGCGAGCGTCTGTTCAAGCTGTT
+CGGTGCCCAGCCCCACGGGTACCAGGTGCGTGGAACCGCAAGAAGGGCACTGGCGCGGCACCGGACGCTG
+ACTGTCGCAATGGTGGCAGCGCAAATGCTGTTGCGCCTGATGCAGCGTGTAGTAGTGATCGCAACGTGGG
+CATTCGGCTATCCAACCACAGTCGTGGCACAGTAGCGCAGGCGCAAAACCCCGGCGGTTAAGAAAGAGGA
+TAACCTGGTTGTCGGCCTGTAAATGCTGGCGCATACGGGTGATTAACGCCGGAGCCAGACCTGCCTGCAC
+CTTCTGACCTTTTAAATCCAGCACATGTTGAATTGCCGGGCGCGCATTGCCCGCCCGACGGGTCAGGCGC
+AGCAGGCGGTATTTTTTCTGCTGGACGTTGCATAACGTTTCCAGCGCGGGCGTTGCGGAGCCAAGAATAA
+TCGGGATTTGCTCGCTGTGCGCACGATACACCGCCAGGTCGCGGGCATGATAGCGCCAGCCTTCCTGCTG
+CTTGTAGGAGCTGTCGTGCTCTTCATCAATGACAATCACGCCGAGATTTTTAAACGGCGTAAACAGCGCG
+GAGCGGGTGCCGATCACAATCGCCGCCTCGCCATTTTTCGCTTTCAGCCACGCCGAAAGACGCTCGCTGT
+CGTTCAGGCCGGAATGCAGAACTTCCACGGGGGCATTAAAACGTTCACGAAAACGGGCGATAGTTTGCGG
+TGTCAGGCCGATTTCCGGCACCATCACCAGCGCCTGTTTGCCCTGAGCGAGCACGTTTTCCAGTACACTG
+AGATAAACCTCCGTTTTACCGGAACCGGTAACGCCCGCCAGCAGCCAGGCAGAAAAAGTATCTGCCGCGC
+TATGAATTGCGCCAACGGCGGTGGCCTGTTCGGTATTCAATCGCAACCGTTCACCAGAAACGGCATAGTT
+CGTGCGCCAGTCGCTAAACTCTGGTGTTTCACTTGCTAAATCACACAGACCTTTTTTGCGCAGCGCCTGC
+AACGCGGCATCATTAAATTCGAGCGTGGCAACCTGATCACGCCAGATTTTGCCTTGCCGTAACGCTGCCA
+GTGCCTGTTGTTGCTTGGGTGAGCATTTCAGGCTGTTAAGATCCACCGCCTGACCTTGTTCAGTGGCAAA
+CCAGTACCACATCGGCGCGTTCGCCGCAGGCCGCCCCTGGCGTAGTAAAATCGGCAAGGCATGAAACAGC
+ACATCGCCAATCGGATGATGATAGTAATCTGCCGCCCAGAGCAGTAATCGCCAGACGGAGTGAGTAAATA
+CCGGCTCAACGTCCAGCACTTCAACTACCGCTTTCAGCTCGTTAAGCGGCAGCTCGCTGACATCGCTAAC
+TGACACCACAACCCCGATGCGCTCCTGCTGTTTGCCAAACGGCACGCGCACGCGACACCCGGCTTTAACC
+GTCATGCCTTCTGGCAGCAGATAGTCAAAGGTACGAGGAAGCGGAACGGGCAAGGCAACGTGGGCAACGG
+GCATAGCATCATCCTGACTTGAAATTCGGTGGGTTAGTATACACATTGCCGTAGAAGAGTGCGGATCAGT
+TTGCATACGCTGGTTAATTTCTGTATGATTTCGCGCCTTCGTACGAAATGATCGTATTGAAGCTATACTT
+TTAACATCGCGTGGTGTCTGGCGTTAGGGCTGGAAGAGCGACGCGGCCTTAAACCGAGGTTTTCCCATGA
+AAAAAGATATTCACCCGAAATACGAAGAAATTACTGCTAGCTGCTCTTGCGGTAACGTAATGAAAATCCG
+CTCCACCGTTGGTCATGACCTGAACCTCGACGTGTGCAGCAAGTGCCACCCGTTCTTCACTGGCAAACAG
+CGTGATGTTGCTACCGGTGGCCGTGTTGACCGCTTCAACAAGCGTTTCAACATCCCGGGCAGCAAATAAG
+ACCGGATTTCCGAAAAAAGCGCCGCACGGCGCTTTTTTTGTGCCTGAATTTTGGTCGTATTACCACGAAA
+ACAGCGGCCATTCTTTGGCGACTGTGGTGAGTTGTGGCGCGTCGAAAACGGCTTGGGGTGAAACTACCGT
+TTCCTCAAGCGGAATATTTTTGCCGTAGCGTTCTTTGAGCTTCGCCTGGACCAGCGGGTTGCTGAGATCG
+AACTCTTTCAACTTCTGCTGTTCGCCTACGCGCATTCCCAGCGCATTCTGATAAACCTTCCACACCACTT
+CCGAACAGTACTGGCGATCGTCGCTCCACGAGAAGCTGAAATCGTACGGTTTGCCGAGATAACGTTTTGC
+CGTTTGCGCCAGTTTTTGCTGTTGTTCAACACTCAGTCCGCCTTCAACGCGGCGAACAACGTATTTGCCC
+TTTTCACCATGGGCGATCCACTGCTTGAGTGGGGTGTATTTTACCGGGCCGGCCGCTTCAAAAACGTAGG
+GCTTTTTGTTGCGTATCACCAGCATACCGGTGTGGCTGTAATCGGAATGGGTCGCCAGTTGGATCGCTTT
+ACTTTGCGATGAGCGAGAGATCTGAAAGATGATGTCGCCGGTTTGTGGTTGCCAGGCAAATGCAGGCACA
+GAAACCAGCAGGCTGAGAATCAGTAGCCTGATTTTCATCGTTAAACGTCCATGTATGAAAAAAGCGGCTG
+GTTAACTCCGCGCCGCTCTTTTCCGCTTTAGTATTCCCACGTCTCCGGGTTAATCCCCATCTCACGCATG
+ATCTCTTTTGCCGCCTCCGGAATTTCGTCGCTGCGCTCTTTACGCAGGTCGGCATCATCCGGCAAAGGTT
+GCCCGGTAAAGGCATGCAGAAACGCTTCGCACAGCAGCTCGCTGTTGGTCGCGTGACGCAGGTTGTTCAC
+CTGACGACGCGTGCGTTCATCGGTGAGGATTTTTAACACCTTAAGAGGAATGGAAACCGTAATTTTTTTG
+ACTTGTTCACTCTTCTTGCCGTGCTCAGCGTATGGGCTGATATATTCGCCGCTCCATTCAGCCATGAGAT
+ACTTAATCCTCTTCGTCAATAAATTGAGGCCAGACCACACAATTAATATGGGTACTGACCGTAAACCCGC
+ATAGTTTACCGTACAGGCGTTACCGTGACATCGTGTAATGCACCTGTCGGCGTGATAATGCATATAATTT
+TAACGGCTATTTGAGATTTGCTCAATCTATACGCAAAGAAGTTTAGATGTCCAGATGTATTGACGTCCAT
+TAACACAATGTTTACTCTGGTGCCTGACATTTCACCGACCAAGCCCAGGGAACTTCATCACATGACGCGT
+AAACAGGCCACCATCGCAGTGCGTAGCGGGTTAAATGACGACGAACAGTATGGTTGCGTTGTCCCTCCCA
+TCCATCTTTCCAGTACCTATAACTTTACCGGATTTAATGAACCGCGCGCGCATGATTACTCGCGGCGCGG
+CAACCCAACGCGCGATGTGGTTCAGCGAGCGCTGGCAGAACTGGAAGGCGGTGCTGGTGCAGTACTTACT
+AATACCGGCATGTCCGCGATTCACCTGGTAACGACCGTCTTTTTGAAACCTGGCGATCTGCTGGTTGCGC
+CGCACGACTGCTACGGCGGTAGCTATCGCCTGTTCGACAGCCTGGCGAAACGCGGTTGCTATCGCGTGTT
+GTTTGTTGATCAAAGCGATGAACAGGCATTACGGGCAGCGCTGGCAGAAAACCCCAAACTGGTACTGGTA
+GAAAGCCCAAGTAATCCATTGTTACGCGTCGTGGATATTGCGAAAATCTGCCATCTGGCAAGGGAAGTCG
+GGGCGGTGAGCGTGGTGGATAACACCTTCTTAAGCCCGGCATTACAAAATCCACTGGCATTAGGTGCCGA
+TCTGGTGTTGCATTCATGCACGAAATATCTGAACGGTCACTCTGACGTGGTGGCAGGCGTAGTGATTGCT
+AAAGACCCGGACGTTGTCACTGAACTTGCCTGGTGGGCAAACAATATTGGCGTGACGGGCGGCGCGTTTG
+ACAGCTATCTGCTGCTGCGCGGGTTGCGAACGCTGGTGCCGCGAATGGAGCTGGCCCAGCGCAACGCGCA
+GGCGATTGTGAAATATCTGCAAACCCAGCCGTTGGTGAAAAAACTGTATCACCCGTCGCTGCCGGAAAAT
+CAGGGGCATGAAATTGCCGCGCGCCAGCAAAAAGGCTTTGGCGCAATGTTGAGTTTTGAACTGGATGGCG
+ATGAGCACACGCTGCGTCGTTTCCTGGGCGGGCTGTCGTTGTTTACGCTGGCGGAATCATTAGGGGGAGT
+GGAAAGTTTAATCTCTCACGCCGCAACCATGACACATGCAGGCATGGCGCCAGAAGCGCGTGCTGCCGCC
+GGGATCTCCGAGACGCTGCTGCGTATCTCCACCGGTATTGAAGATGGCGAAGATTTAATTGCCGACCTGG
+AAAATGGCTTCCGGGCTGCAAACAAGGGGTAAAAATGAGTGTGATTGCGCAGGCAGGGGCGAAAGGTCGT
+CAACTGCATAAATTTGGTGGCAGTAGTCTGGCTGATGTGAAGTGTTATTTGCGTGTCGCGGGCATTATGG
+CGGAGTACTCTCAGCCTGACGATATGATGGTGGTTTCCGCCGCCGGTAGCACCACTAACCAGTTGATTAA
+CTGGTTGAAACTAAGCCAGACCGATCGTCTCTCTGCGCATCAGGTTCAACAAACGCTGCGTCGCTATCAG
+TGCGATCTGATTAGCGGCCTGCTACCCGCCGAAGAAGCCGATAACCTCATTAGCGCTTTTGTCAGCGATC
+TTGAGCACCTGGCGGCGTTGCTCGACAGCGGTATTAACGATGCGGTGTATGCGGAAGTGGTGGGCCACGG
+TGAAGTGTGGTCGGCGCGCCTGATGTCTGCGGTGCTTAATCAACAAGGACTGCCAGCGGCCTGGCTTGAT
+GCCCGCGAGTTTTTACGCGCTGAACGCGCTGCGCAACCGCAGGTTGATGAAGGACTTTCTTACCCGTTGC
+TGCAACAGCTACTGGTACAACATCCGGGCAAACGTCTGGTGGTGACCGGGTTTATCAGCCGTAACAACGC
+CGGTGAAACGGTGCTGCTGGGGCGTAACGGTTCCGACTATTCCGCGACACAAATCGGTGCGCTGGCGGGT
+GTTTCTCGCGTAACCATCTGGAGCGACGTCGCCGGGGTATATAGCGCCGACCCGCGTAAAGTGAAAGATG
+CCTGCCTGCTGCCGTTGCTGCGTCTGGATGAAGCCAGCGAACTGGCGCGTCTGGCGGCTCCCGTTCTTCA
+CGCCCGTACTTTACAGCCCGTTTCTGGCAGCGAAATCGACCTGCAACTGCGCTGTAGCTACACGCCGGAT
+CAAGGTTCCACGCGCATTGAACGCGTGCTGGCCTCCGGTACTGGTGCGCGTATTGTCACCAGCCATGATG
+ATGTCTGCTTGATTGAGTTTCAGGTGCCCGCCAGCCAGGATTTCAAACTGGCGCATAAAGAGATCGACCA
+GATCCTGAAACGTGCTCAGGTGCGCCCACTGGCGGTTGGCGTGCATAACGATCGCCAGTTGCTGCAATTT
+TGCTACACCTCAGAAGTGGCCGACAGTGCGCTGAAAATCCTCGACGAAGCGGGATTACCTGGCGAACTGC
+GCCTGCGTCAGGGGCTGGCGCTGGTGGCGATGGTTGGGGCGGGCGTCACCCGTAACCCGCTGCATTGCCA
+CCGCTTCTGGCAGCAACTGAAAGGCCAGCCGGTCGAGTTTACCTGGCAGTCTGATGATGGCATCAGCCTG
+GTGGCAGTACTGCGCACCGGCCCGACCGAAAGCCTGATTCAGGGGCTGCATCAGTCCGTCTTCCGTGCGG
+AAAAACGCATCGGCCTGGTATTGTTCGGCAAGGGCAATATCGGTTCCCGCTGGCTGGAACTGTTCGCCCG
+TGAGCAGAGCACGCTTTCGGCACGTACCGGCTTTGAATTTGTGCTGGCAGGTGTGGTGGACAGCCGCCGC
+AGCCTGTTGAGCTATGACGGCCTGGACGCCAGCCGCGCGTTAGCCTTCTTCAACGATGAAGCGGTCGAGC
+AGGATGAAGAGTCGCTGTTCCTGTGGATGCGCGCCCATCCGTATGATGATTTAGTGGTGTTGGACGTTAC
+CGCCAGCCAGCAGCTTGCTGATCAGTATCTCGATTTTGCCAGCCACGGTTTCCACGTCATCAGCGCCAAC
+AAACTGGCGGGAGCCAGCGACAGTAATAAATATCGCCAGATCCACGACGCCTTCGAAAAAACCGGGCGTC
+ACTGGCTGTACAACGCTACCGTCGGCGCAGGCTTGCCGATCAACCACACCGTGCGCGATCTGATCGACAG
+CGGCGATACTATTTTGTCGATCAGTGGGATCTTCTCCGGCACGCTCTCCTGGCTGTTCCTGCAATTCGAC
+GGTAGCGTGCCGTTTACCGAGCTGGTGGATCAGGCGTGGCAGCAGGGCTTAACCGAACCTGACCCGCGTG
+ATGACCTTTCCGGCAAAGACGTGATGCGCAAGCTGGTGATTCTGGCGCGTGAAGCGGGTTACAACATTGA
+ACCGGACCAGGTACGTGTTGAATCACTGGTGCCTGCCCATTGCGAAGGCGGCAGCATCGACCATTTCTTT
+GAAAATGGCGATGAACTTAACGAGCAGATGGTGCAACGGCTGGAAGCGGCCCGCGAAATGGGGCTGGTGC
+TGCGCTACGTGGCGCGTTTCGATGCCAATGGCAAAGCGCGTGTGGGCGTGGAAGCGGTGCGTGAAGATCA
+TCCGCTGGCATCACTACTGCCATGCGATAACGTCTTTGCCATCGAAAGCCGCTGGTATCGCGACAACCCG
+CTGGTGATCCGCGGGCCAGGTGCAGGGCGCGACGTCACCGCCGGGGCGATTCAGTCGGATATTAACCGGC
+TGGCGCAGTTGTTGTAGTGATTATTGAACAAAAGCTGGCAGTTGCCAGCTTTTGTTGTCACCCCTAAACC
+TCTTCCTGGGGAAGTGGTGATTGATTGTCATTTTGCCTTTGGTCAGTGCCCCCGGTAATAAGGGGGCTTT
+TGTGTTGAGCGATGAAGTAACAGAGTGAATGGTGAAGTTATTAATGACAATTACAAAATGACATTAAGTA
+ACAATATCTAAAATGTCACCTAATTTAAAATTGATAACCAATAGTAGTATAGGTTCCCCATCCTGTATTT
+TTTAATTCAAATGGACCATCTCCGAAGTTAACCTTCTCTCCCGCATTCCATTGTCCACCGTTGTGAAAAT
+AACGTAGTGTAAATGCAAATTTCCAGTGTTCATATAGAAGGGAAAGGATATGGCTTGAAGCAATAGCATT
+ACTGGTTCGTTTATTATTGTGTGACTTGTCCGCAAGATCGGAGCCAAAATCAAAGTTAGTAAAACTATTG
+TATACCAATCGCCCTCCGAATAAATTTGTAAGAGGGATGCTATATTTTATTTTGAATCGATATCCGTCCC
+ATTCATTTTCATTAGCGGCACCATAGTTTTGCCACTGATACTTGGCGTATATATTGGCAGAAAGCTTAAT
+TGGTAGACCCGTGTCGATATCTGTACCAAGCCCCATATACCATGTACTTTGCCGGGATGACTGGTTGTCA
+CCCATATCATAGACATAGTTGTTTGCAATGAACCATTCTTTAAATGGGCCGAACGCAAGATTTAATCCGG
+TCAATTTGTCAATGGAAAACCGAGGTTCTATTTCCGTAAATAGTGGTGAGCCTTCATCCCAGATCCCAAC
+ATCATAGTGACTGCCGACGCCAAAGAATTTCGGTAGATCAACATAACCATAAAAATCAAACCAGTCTTTT
+CTTCCTGCTACAGTATATTCAGGGTAGAGGTCGTTAGTCAGTCTTGGGCCAAAGCGAGAGTCTGTGCGAC
+CAATGACATTCAAGCTTTGATGTAACCAGCTTTCATCAATTTTAATTTCCTGAGCGTTTCCAATGCAAGG
+TATTAATAGAATGGATAAAGCTATCCAGTGCTTTTTTATATATATAAATATATCTCTTATATATTGTTGA
+TTTAGAGAGAAATAATGTCATCCAGTGAATGAATGGTATTATAAGTTTTTGTTATTTGCTTACTTCTACC
+CGCATTTCATTTACCTGTGCAGGAGTAATCTTGTGGCCTTTCTTAAAATAATCGATTACGACATTGGACA
+TGTTATTTCCGGCGCGGACCTGGACATTTTTCCCTTCTTTGAATGCCAGAAAACCATCGCCCCCAAGTGC
+AAGGAAAGTCGTAGTCGCAACATGGTAAATATTCGTATCAACGATCTCTTCACCATTAATTTTAAAAGAT
+ACAATGCGCTGACCTACTGGTTTCTGCAGGGTATAGCGCATTTCTGCGCCTTTTGACATTTGCAGGATGC
+CATTGGTAAGCGATGCCCCGTGCTCCAGTAGGTTACGCAGATCCTTACCGCTGAGATCCATTTCAGTAAG
+TTCATTCTTGAAGGGGAATGTACTGGTAATGTCACCAAAGGTAATCGTGCCTGCATTTATATCAGCACGT
+AAACTGCCGGAGTTTATCAACGCAATTTGTGCAGTCGGTGCAGCGACAAGCATTGCATCGGTAAACAGGT
+TGCCAAGTTGCGATGACTCACCGTAGGCACGAGTTAATGCAATCGATGATTCACCGACTGGTTGGCGTAC
+AAGATCCGCCAGTTTTTTATTCCAGCCATTGATAACTTTTTGTGTGGTTGGATCGGGTATCCATTCATCG
+GCATAAACCGTTTTCAGCTCAAAGCTCTTCACTTTATGAGTCCGAGCTGTAGGGTTGACATCAAGGATTA
+ATTTACCAATATCGATACCGCCACTGTCAGTCGAAAGGATTAAGGTGTTGCCGACTTTGATTGGTTCTGG
+CGTTCCGACGTGGGCATGCCCGGTAATCAGAATATCCAATCCTTTCACCTTGCTTGCGGTTTGAATATCT
+TTATCCAGCGCACGTCTAACATCTGTATTGCCAATGCTGGACTGACGCGCCGGTACGCCTTCATGAACCA
+GCGCCACGGTGAGGTCAACCTTATCACGTAACTCGTCGATATAATGCTGCAAATACTTCACTTCATCACG
+TGCTTCAATCCCCTGATTCTTGAGGGTCGCGGAAGATTTATCAAATCGGTTATTATTGTCATTATCGAGT
+CCCTGGAGAGAGAGCTCCGAGACCGTGTCATTAAATGCAAATACGCCGTGTAGCCCAACAATACCAATCT
+TGATGCCATCTTTTTCCAGGATGGTGTAGGGCTTGTTCCAGAAGGGTTTCTCACTCTCTTTATGATAAAC
+ATTGCCTAATAAAACAGGGAAATTCGCTTTGCTTAATTGTCGGAGGGCATTATCCCAGCCATGGTCAAAC
+TCATGATTACCGATTGATACTGCGTCAAAAGGCATGGTATTCATAATATCAATTATTGCTTCGCCCTTTG
+TCAGGCTACTGATATATGGCCCGGTGAAATAGTCTCCAGCATCAAAATAAAAGGTGGCTTTATTTTTGGC
+TTTCTCTTGTTTTACTAACGTGGATATATTGGCAAAGCCACCAATGTCGCGTTTTCCGTCTGCGACATAC
+GGTACTTTATAGGAATCCACATGAGCGTGAAGATCATTGGTATAAATAATCGTGACATCCTGCGCCATAA
+CTGAGGTCGAAAAAATAGTCAGCAATGTTGCGGCAAATAAAGTACGCTGCGCTGTTTTCATTCGCATTCC
+TTGTTAAATAAATTGACTGATAAATGAGATCTTATTTGGCGACGTCCATGACTCGTTTAGTTAAGTCTGG
+GGTGACAGGTTTATGATTTTTGAAATAATCGATGATAGATTCCGCCGAGGTTGTTCCCGGTATCGTCTTC
+ACATTTTTTCCATTCAAAAATGCTTCAAAACCGTCACCACCACTGGCACAAAAGGAGTGCGTGGTAATAC
+GATATGTTTGATTATCTTCCACGGGTTTGCCGTTAATGGTGAAAGAGATTAACCGTTGGTTGAGTGGTTT
+TTTGCTGTCATAGACAACCGCAACGCTTTTTGAAACCTGTAACACACCGTTAGTTAGATTGGTTGCATGC
+GTCATCAATGATTTGAGATCGCGGCCCGTCAAATCCATCTCGATGAGGTCATTATTAAAGGGGAATGTGC
+TAATAACATCTCCCAGTGTGATATCGCCTTTAGGAAAATCAGCTCGCATCCCACCGCTATTTTGAAATCC
+GGCAACGGCATCAGGTGTTTTTTCCATCATTGCATCAAGAATAAGGTTGCCGGTAGAAGAGGAACTACCA
+TACTCACGTGTTAAAACTATGGGAGAATGGCCGACAACTTCCTGTGTTATTTTGTTAAGCTGTGCACTCC
+ATTTATCAATAGTATTTTGAACGATGGTGTCAGGTTTAAATTGATCTGCAAAGATGGTGATTAACTCACC
+ATTATAACTATCAATTTTCTTCGTTTTCGGATTGTAATCAAGCACAAGTTTTCCGATGTTGGTGCCGTAT
+GCATCGGTAGATACAATTAATGTGTTATTAACTTTTATTGGTTGCGGTGTTCCGACATGTGCGTGACCGG
+TAATTAAGACATCAACACCATTCACTTTTTTAGCTGTCTCAATATCTGCCTGTAGTAGCCGCTCCACATC
+TTTACTACCAAAGCTTGATTGACGCGCCGGGACACCTTCGTGAATTAGCAAAACGGTAATGTCGACTTTA
+CCTTTTAATTCTGCAAGTGCTTTATTTAAATATTTAATTTCGTCTCTGGCTTCTACGCCTTCACGTGCTT
+TTGCCGCGACTGTATCATAGAAAGCGAATGCGCCATGCAATCCAATCACACCAATCTTTAAACCATCTTT
+TTCGATAATGGTCCACGGATGATCCCAAACTGGTTTATTCGTATCGGTGTAGTAGATATTTCCCAGCAGA
+ATGGGGAATTTTGCTTTTGATAACTGAGACACCATATTGGGCACACCGTGATCGAACTCGTGATTACCAA
+CAGACACCGCATCAAAGGGCATAGTGTTCATGATATCAATAATAGCTTCACCTTTGGTCAGGGTGCTGAT
+ATACGGCCCGGTAAAATAGTCGCCTGCATCAAAGAAAAACACATCTTTGCTTTTTTTCTTCGCTTCATTA
+ACGATGCCTGCAATATTAGCCATACCACCTATAAGTCTGTTCTTATCAACAGCGAGGATTTTTGCCGGAT
+TGACATGTGCGTGAATGTCATTCGTATAATAAATAGTAACGTCCTGAGCTAGAACACTGTGAGAAAATAT
+CACGCCGAATATGACTGATAATGTTGTAAATACAGTTTTCATCATCCCTCCTGGATAGGGTGTGTTACAT
+TTGTTGAATTATTTAAATAAAAGGCACATCGTGTCTTATTTTATGTAAGCATAGTTCAGAAAAGTATTGT
+GTGATCTTAGTAACAAATAATGTTATTAATTAAACATTGACCATGATTATATTTCACGGTCATACATTTA
+TATATTTAATTAAATGAAAGGTAGTGATCTCTCTTAATTTATGGTCGTTTGTCGAGTGTATTGACTAACA
+AGATGGAGTGAGCGATTCATTGTATTTTAACGCCAGTGAGGTCAGCATTTGCGTTACGCGACCTGCGGAT
+AATAACGCGCTTTGGGTAAAGTCGTGTTGGTCTGTCAGCCATGTGATAAAACAACGACTGGTTGCCAGAG
+AAACATTTGCGCCCCTTTCTAAGCTGGCTCCCGTGAGTAGGCAGACCATCTTGCAATTATTCCCCTGCTC
+CCAGCGCTGCCACTGATTTTGCCACCAACCATGGTATGTCGTTCCCTTAAAATGCCAGGGCGTATCAGCG
+TTACTGTCACTGATTTCTTCTTCTACGAACCAAAGTTCACCTTGTTGTTGGCGGAACTGATCTGCCCAGG
+CTGTAATAATTGCGCCTCTTAGAAAACATTCGTGTGAAATAATATGCGTTTTGACATCTGGATAGCGGAT
+TTTCAGTATTCTGAAATGCCCGTGTGCCGTGATAACCGGGCGTAGTATGGCTCCCTTACCGTTGCGCTTG
+AGTACAGCACTGCCATACTGAATTTCATCGAACTGGCTCCGGCGCAAGAATTGCGCTTCACGCATATCTA
+CCTTCTGCACGATATCGCGATGGTGCATAGTTGGTTCTGTGTTGCCCTTGTAACTGTACCGCAGACTGTC
+TCCTGTCTGATGTTGCGTATAATTCGTGGAGAGATGAAGAATGTTGCCACGAGTGGCGTCAAGACTGACT
+AAAACATACAGTTTTTGTACTGCGCTGGCCCCTTGAAAGGGTATGAACAGTTGAACGGTTTCAATGGCCT
+GGGGATGCGTAATTTCTTTCTGATATTTTTTAGGCGTCCAGACTTTTTTGCAGTTACGGCATTGAATGCG
+TTGCGAACCCTGTGGATTGTGACCATAACAAATCATGTCTGTGCCATAACATACCGGGCAGAAATGGCCT
+TTCTCAATTGCATAAGTAGACAAGTGAACTGACAACCAGTCACGAAATTGTTGCTCGTCAAACAACGGCG
+GGTAACTGCCACATGCCCGACAGTGCAGTGCCGGATAACCCAGTTTATAGTCTGGCCAACTGTAATCTTC
+CGATGAGGCCAATCCCAAATTTCGGCAACCGAACGTTTTACAGGCATTAATCGTAAACAGAGTCGACATA
+TATCACCAACGATTTCACAAGGTCGTTGATTTTGTCCGGCAACTATCCCCTGCGGATGTGATTACTCTCA
+CATAAATAAGTCTTTCAGAACGTAATGTAGCAATCCTTTATCTCACTGAAAGGGATTGTTTATGAAAATT
+AAAATACTTGCTGCGGGTATCGCATTAACACTGCCGTTCTGGGCTTGCGCTAAAGATGTCACTATCATTT
+ATACCAACGACCTCCATGCGCATGTAGAACCTTATAAAGTGCCGTGGATCGCTGACGGTAAACGGGATAT
+TGGCGGCTGGGCAAATATCACTACGCTGGTTAAGCAAGAAAAAGCAAAAAATAAAGCGACATGGTTTTTT
+GATGCGGGCGACTATTTTACCGGGCCATATATCAGCAGCCTGACCAAAGGTAAGGCTATTATCGATATTA
+TGAATACTATGCCGTTTGATGCCGTCACAATAGGCAACCATGAATTTGACCACGGCTGGGACAACACATT
+ATTACAGTTGAGCCAGGCAAAATTCCCTATTGTGCAGGGCAATATTTTTTATCAGAACAGCAGTAAATCA
+TTCTGGGATAAGCCATATACCATCATCGAAAAAGACGGTGTGAAAATAGGCGTTATAGGTTTGCACGGAG
+TATTTGCCTTTAATGATACGGTATCTGCTGCCACGCGCGTGGGTATTGAAGCGCGCGATGAAATTAAATG
+GCTACAACGTTATATCGATGAACTCAAAGGCAAGGTTGATTTGACCGTCGCCCTGATCCACGAAGGTGTT
+CCAGCCCGCCAGTCCAGTATGGGAGGCACAGATGTGCGTCGCGCGTTGGATAAAGATATTCAGACGGCAA
+GTCAGGTGAAAGGGCTGGATATTTTGATCACCGGACATGCACATGTGGGTACGCCGGAACCGATTAAAGT
+CGGCAATACGCTCATCCTCTCCACTGACAGCGGCGGGATTGATGTGGTCAAACTGGTTCTCGACTACAAA
+GAGAAGCCGCATAATTTTACGGTGAAAAACTTCGAGCTTAAAACCATTTACGCTGACGAGTGGAAGCCCG
+ATCAGCAAACGAAACAGGTGATCGACGGCTGGAATAAAAAGCTTGATGAAGTGGTGCAACAAACGGTGGC
+GCAATCGCCGGTTGAATTAAAACGTGCCTATGGTGAATCGGCTTCCCTCGGGAACCTGGCGGCTGACGCT
+TTACTGGCAGCAGCGGGTAAAAATACCCAACTGGCGTTAACAAACTCTGGTGGTATCCGCAATGAGATCC
+CCGCAGGGGCGATTACGATGGGCGGCGTCATCAGTACGTTCCCGTTCCCCAACGAACTGGTGACGATGGA
+ACTCACGGGTAAACAATTACGCAGTCTGATGGAACACGGCGCAAGTTTAAGCAATGGCGTTTTACAGGTA
+TCGAAAGGCCTGGAAATGAAGTACGACAGCAGCAAGCCGGTTGGTCAGCGGGTAATCACACTGACTCTGA
+ATGGCAAACCCATTGAAGATGCGACGGTTTATCACATTGCCACTCAGAGTTTCCTTGCTGATGGTGGAGA
+TGGTTTTACCGCCTTTACCGAAGGGAAAGCGCGTAACACAACGGGCGGTTATTACGTTTATCACGCGGTG
+GTTGATTACTTCAAAGCGGGCAACACCATTACGGATGAACAGCTCAACGGTATGCGCGTGAAGGATATCA
+AATAAAAGTGCGCACTGAATTGACTCAACCGTTTGTTACCCGTTGATTGCGCAGATCCTGTATTCGGCCT
+ACGCGAGGGCGCAGGCCGAATCAGATGCCTTAGCATCACCATCCGGTGGCAGGACGTTGTTTTTCGAATT
+AGCCCAGGTGTCGCTGTGTTGTCAGAATATGAGTCAAAACGTGCGAGGTGGATTGCGCTATAGAGAAATC
+TTTTATCGCCTCTAATTAAGATGAGTTTTTTTCATCTTCCCTGATTTTTCCTCACCATCATTGGTTATTT
+TTCGGTTGACGCCCTTCGGCTTTTCCTTCATCTTTACATCTGGACGTCTAAACGGATAGATGTGCACAAC
+ACAACATATAACGACAAGCGATTGATGAGGTAAGGTATGAGCTTTTTTCACGCCAGCCAGCGGGATGCCC
+TGAATCAGAGTCTGGCAGAAGTCCAGGGGCAGATTAACGTTTCGTTCGAATTTTTCCCGCCGCGTACCAG
+TGAAATGGAGCAGACCCTGTGGAACTCCATCGATCGCCTTAGCAGCCTGAAACCGAAGTTTGTATCGGTG
+ACCTATGGCGCAAACTCCGGCGAGCGCGACCGTACGCACAGCATTATTAAAGGCATTAAAGATCGCACCG
+GCCTGGAAGCGGCACCGCATCTTACCTGCATTGATGCGACGCCTGCCGAGCTGCGGATCATTGCACGCGA
+CTACTGGAATAACGGTATTCGCCATATCGTGGCGCTGCGTGGCGACCTGCCGCCGGGAAGTGGTAAGCCA
+GAAATGTATGCTTCTGACCTGGTGACGCTGTTAAAAGAAGTGGCAGATTTCGATATCTCCGTGGCGGCGT
+ATCCGGAAGTACATCCAGAAGCGAAAAGTGCCCAGGCCGATTTACTCAACCTGAGACGAAAAGTGGATGC
+CGGAGCCAACCGCGCCATTACTCAGTTCTTCTTCGATGTCGAAAGCTACCTGCGTTTTCGCGATCGCTGC
+GTCTCGGCAGGCATTGATGTGGAAATCATTCCGGGAATTTTGCCGGTTTCGAACTTTAAACAGGCGAAGA
+AATTTGCCGACATGACCAACGTGCGTATTCCGGCGTGGATGGCACAAATGTTCGACGGCCTGGATGACGA
+TGCTGAAACCCGCAAGCTGGTGGGCGCGAATATTGCCATGGATATGGTGAAGATTTTAAGCCGTGAAGGA
+GTGAAAGATTTCCACTTCTATACGCTTAACCGCGCTGAAATGAGTTACGCGATTTGCCATACACTGGGTG
+TTCGACCTGGTTTATAAATAGTGTGCCTTTTGTGAAAATCACACAGTGATCACAAATTTTAAACAGAGCA
+CAAAATGCTGCCTCGAAATGAGGGCGGGAAAATAAGGTTATCAGCCTTGTTTTCTCCCTCATTACTTGAA
+GGATACAAATCTAAAACCCTTTTTTATAAAGCATTTATCCTAAATCGGACATAATCAAAAAGTCTTAATT
+ACGATCAATTTGATCTACATCTCTTTAACCAACAATATGTAAGATCTCAACTATCGCATCCGTGGATTAA
+TTCAATTATAACTTCTCTCTAACGCTGTGTATCGTAACGGTAACACTGTAGAGGGGAGCACATTGATGAG
+CACGTCAGACGATATCCATAACACGACAGCCACCGGCAAATGCCCGTTCCATCAGGGCGGTCACGACCAG
+AGCGCAGGTGGGGGCACAACCACGCGCGACTGGTGGCCAAATCAACTCCGTGTTGACCTGTTAAACCAAC
+ATTCTAATCGTTCTAACCCGCTGGGTGAGGACTTTGACTACCGCAAAGAATTCAGCAAATTAGATTACTA
+CGGCCTGAAAAAAGATCTGAAAGCCCTGCTGACAGAATCTCAACCGTGGTGGCCAGCCGACTGGGGCAGC
+TACGCCGGTCTGTTTATTCGTATGGCCTGGCACGGCGCGGGTACTTACCGTTCAATCGACGGTCGCGGCG
+GCGCGGGTCGTGGTCAGCAACGTTTTGCACCGCTGAACTCCTGGCCGGATAACGTAAGCCTCGATAAAGC
+GCGTCGCCTGTTGTGGCCAATCAAACAGAAATATGGCCAGAAAATCTCCTGGGCCGACCTGTTTATCCTC
+GCGGGTAACGTGGCGCTGGAAAACTCCGGCTTCCGTACCTTCGGTTTTGGTGCCGGTCGTGAAGACGTCT
+GGGAACCGGATCTGGATGTTAACTGGGGTGATGAAAAAGCCTGGCTGACTCACCGTCATCCGGAAGCGCT
+GGCGAAAGCACCGCTGGGTGCAACCGAGATGGGCCTGATTTACGTTAACCCGGAAGGCCCGGATCACAGC
+GGCGAACCACTTTCGGCGGCAGCAGCTATCCGCGCGACCTTCGGCAACATGGGCATGAATGACGAAGAAA
+CCGTGGCGCTGATTGCGGGTGGTCATACGCTGGGTAAAACCCACGGTGCTGGTCCGACATCAAACGTAGG
+TCCTGATCCAGAAGCTGCACCGATTGAAGAACAAGGTTTAGGCTGGGCGAGCACTTACGGCAGCGGCGTT
+GGCGCAGATGCCATTACCTCTGGTCTGGAAGTGGTCTGGACCCAGACGCCGACCCAGTGGAGCAACTATT
+TCTTCGAGAACTTGTTCAAGTATGAGTGGGTACAGACCCGCAGCCCGGCTGGCGCAATCCAGTTTGAAGC
+GGTAGACGCACCGGAAATTATCCCGGATCCGTTTGATCCGTCGAAGAAACGTAAACCGACGATGCTGGTG
+ACCGACCTGACGCTGCGTTTTGATCCTGAGTTCGAGAAGATCTCTCGTCGTTTCCTCAACGATCCGCAGG
+CGTTCAACGAAGCCTTTGCTCGTGCCTGGTTCAAACTGACGCACAGGGATATGGGGCCGAAATCTCGTTA
+CATCGGACCGGAAGTACCGAAAGAAGATCTGATCTGGCAAGATCCGCTGCCGCAGCCGATCTACAACCCG
+ACCGAGCAGGACATTATCGATCTGAAATTCGCGATTGCGGATTCTGGTCTGTCTGTTAGTGAGCTGGTAT
+CGGTGGCCTGGGCGTCTGCTTCTACCTTCCGTGGTGGCGACAAACGTGGTGGTGCCAACGGTGCGCGTCT
+GGCATTAATGCCGCAGCGTGACTGGGATGTGAACGCCGCAGCCGTTCGTGCTCTGCCAGTTCTGGAGAAA
+ATTCAGAAAGAGTCTGGCAAAGCTTCGCTGGCGGATATCATCGTGCTGGCAGGTGTGGTTGGCGTTGAGA
+AAGCCGCAAGCGCCGCAGGTTTGAGCATTCATGTACCGTTTGCGCCGGGCCGCGTTGATGCGCGTCAGGA
+TCAGACTGACATTGAGATGTTCGAACTGCTGGAGCCAATTGCTGACGGTTTCCGTAACTATCGCGCTCGT
+CTGGACGTTTCCACCACCGAGTCACTGTTGATTGATAAAGCACAGCAACTGACGCTGACCGCGCCGGAAA
+TGACTGCGCTGGTGGGCGGGATGCGCGTACTGGGTGCCAACTTCGATGGCAGCAAAAACGGCGTCTTCAC
+TGACCGCGTTGGCGTATTGAGCAATGACTTCTTCGTGAACTTGCTGGATATGCGTTACGAGTGGAAAGCG
+ACCGACGAATCGAAAGAACTGTTCGAAGGCCGTGACCGCGAAACTGGCGAAGTGAAATACACAGCCAGCC
+GTGCGGATCTGGTCTTTGGTTCTAACTCTGTCCTGCGTGCGGTGGCGGAAGTCTACGCCAGCAGCGATGC
+CCACGAGAAGTTTGTTAAAGACTTCGTGGCAGCGTGGGTGAAAGTGATGAACCTCGACCGTTTCGACCTG
+CTGTAATCTGACCTTCTTCAGCGACTGCCTTTCATGCAGTCGCTGAAGTTTCTTTACCGGCGTATAGTGT
+CCACAGGAAAACTACACACTGGATCTCTCATGTCTGCCGCAGGAAAGAGCAACCCACTGGCAATCAGTGG
+CCTGGTTGTGCTCACACTTATCTGGAGTTATAGCTGGATTTTCATGAAGCAAGTCACCAGCTACATCGGT
+GCCTTCGACTTCACCGCCTTACGCTGCATTTTCGGCGCTCTCGTTTTATTCATCGTCCTTTTATTACGTG
+GTCGCGGAATGCGCCCGACGCCGTTTAAATACACCTTAGCCATTGCCCTGTTACAAACCTGCGGGATGGT
+TGGCCTGGCACAGTGGGCGCTGGTCAGCGGCGGAGCGGGGAAGGTGGCAATCCTGAGCTATACCATGCCG
+TTCTGGGTGGTAATTTTCGCCGCGTTGTTTCTCGGTGAACGCCTGCGACGTGGGCAATATTTCGCGATAC
+TGATTGCCGCTTTCGGCTTATTTTTGGTGTTGCAGCCGTGGCAACTCGATTTCTCTTCGATGAAAAGTGC
+CATGCTGGCAATCCTCTCCGGTGTGAGTTGGGGGGCGAGCGCGATTGTTGCTAAACGTCTGTATGCCCGC
+CATCCGCGCGTGGATTTATTGTCGCTAACATCCTGGCAGATGCTGTATGCGGCGCTGGTGATGAGCGTGG
+TCGCTTTACTGGTGCCGCAACGTGAAATTGACTGGCAACCCACCGTGTTCTGGGCGCTGGCCTACAGTGC
+GATTCTGGCGACAGCGCTGGCGTGGAGCTTATGGTTGTTTGTATTGAAAAACTTGCCTGCCAGTATTGCC
+AGCTTAAGCACACTGGCCGTTCCCGTTTGCGGCGTACTCTTTTCCTGGTGGCTGCTCGGTGAGAATCCGG
+GGGCAGTTGAAGGTAGCGGTATTGTGCTGATTGTGCTGGCACTGGCGCTGGTGAGCCGTAAGAAAAAAGA
+AGCCGTCAGTGTAAAAAGGATCTGAATTTTTTCTTCATGTGGGGAGATCTCTTATTTAGCAAAATACCGA
+TAGTGCCCCACCATCCGCCAGCTAAACAGTACATCTTCTTCCTGCGCGCCTGCGCCAATGTTATGTATCA
+CCAGCGGCGTACCGTCGCGGGCGAAGCCATCTGACACCACCCCAATATGTGCCAGCCCGTTATCTAATCG
+CCAGGAGACAATATCGCCCGCTTGATAGTCACTGGGGTTCTTGCTGGTGGGGCGTGTTTTATCGTGGCGG
+GTAAACCAGGTTTCCAGATTAGGCACCCGACGGTGATCGATGTTGCTGTCCGGGCGCTTTAACTGCCATT
+TTTGCGGGTACGCAGCAAAATTCTTCGCCATATCTTCGTGCACCAGTTTCTGCAAATCGACCTTCTGGCT
+GCGCAATGCACGGATCACCACATCGGAACATACGCCGCGTTCTTGCGGGACATCACCGCCAGGATAGGTA
+AGCTGCACATACGCCGGATCGTAAAATAGCGTGCTGCCGATTTGCTGTCTGGCGCCGTCTGCGATGGCAA
+GATTGGTGTTAGCCTGGATTTGTACCACGGTTGGTGGAACGGCGGGAGATTTTAAGGAGTAACTGGTAAA
+TACCGTCAGAAGACTGAATAACGCCAGTGAAGCTTTCATCTGTTTCGTCCGTGAAAATAAGAGTCACAGA
+TTCGACCTTCCGGGCTAACGATTGTTCTGTGGAGAAAATGTCCAGAAGCGGATAAAAAAACACCCGAACA
+AGGTGGAAGTTTCAGATTACTGGCACAGCGTGCCGGATGCGGCGTGAACGCCTTATCCGGCCTACAAAAG
+TACGTAAATTTACTATATTGCAGAGATTGCGTAGGCCTGATAAGCGTAGCGCATCAGGCAATTTTGCGTT
+CAAACTCCCGGACAAGCCGGGAGTTTGGAGTAGGTTATTCCCACTCTTGCAGGAAACGCTGACCATACTG
+GTCGGCTACCAGCAGTGCGGCGTAAACCTGATCTGGCGTCGCGCCGCCAGGCATGTTGTGGATGGTTTCA
+CCTTCTGCACATGCCGCTTCTGCCACAATTCGCATTTTCGCCGGGACATCTTCTTTAATATCCAGTTGAG
+CGAGAGTTATTGGCAAACCTACCGCATGGCTAAGCGCAGCTACGGTTTCGATTTCCTCCACCGGCGCGTT
+TTCCAGAACCAGCTGCGTCAGCGTACCGAATGCCACTTTTTCACCATGATAATAGTGATGCGCGTCCGGG
+ATAGCGGTCAGGCCGTTATGTACCGCGTGTGCCGCCGCCAGCCCGCCGCTTTCAAAACCAACGCCACTCA
+AATAGGTGTTCGCTTCAATCACGCGCTCCAGCGCCGGAGTCACTACATGCTGTTCGGCGGCAAGCATCGC
+TTTTTCGCCTTCTTCCAGCAGGGTGTTGTAGCACAGTTCAGCCAGTGCCAGCGCTGCCTGAGTGCACTTG
+CCACCCGCCATGGTGGTCGCGCCGCTACGGGAACAGGCACGCGCTTCAAACCAGGTTGCCAGCGCATCGC
+CAATACCCGCCGCTAACAGACGCGCGGGCGCGCCAGCGACGATTTTGGTGTCGACAATGACCATATTCGG
+GTTATTTGGCAACAGCAGATAGCGGTCAAACTCACCCTCATCGGTGTAGATAACAGACAGTGCGCTGCAC
+GGTGCGTCGGTAGAAGCGATAGTCGGTGCGATCGCTACCGGAACACCCATGAAATGTGCCAGTGCTTTGG
+CAGTATCGAGGGTTTTTCCGCCACCGATACCGAGAATTGCGCCACACTGCGCAGTCTCCGCGATGCCACG
+CAGACGGTCGATCTCATTTTGCGAACATTCACCGCCAAACGGCGCAATTTCTACTACCAGTCCAGCATCT
+TTAAAGCTTTTCTCGACAGTGGATTGAGCAAAACCTAAAACAAATTTGTCACCCACCACTAACCAGCGTT
+CCGCCAGTGGCTTCAGGTACTCGCCCAGACGATTAATTACATCTGCGCCCTGGATGTATTTACCTGGTGA
+TTGAATAATGCGGTCCATAATTACTCCTTTAGAGATGAGTAGTGCCAAATGCGGCATTCCAGTCGTGCTC
+GAACTTCTCTATAGCTGACTCTACCGCAGGGGTGTTAAGCATTTGTTGCGCTACATCTAAGGGCAGTGTG
+ATGGATTCACATCCAGCCAGCAAACAATCCAGCGCCTGACGTGGTGTTTTAAAGCTGGCAGCCAGCACCA
+TGCTTTCTGGCGCATGCATTTCCAACAGCGCTTGCAGCTCCTGTACAGTACGAATGCCGTCACCGCCCTG
+GGCATCTACGCGGTTAACGTATGGAGCAACGTATTTGGCTCCAGCCAGCGCCGCCAGTAATCCTTGCGCG
+GCGCTGTACACTGCGGTTCCCAGCGTAGTAATGCCTTCTTTCTTCAGCATTTTAATTGCTGCCAGACCTT
+CAGAGGTTACCGGAATTTTAACCACAATGCCCGGAATAGCGTCGCGCAGGCGTTTCGCTTCTTTCACCAT
+ACCCTGCGCGTCGCGGCTCATGGTCTGAGCAAACAGAATTCCCTCATCACCGATCGCTTTTTGAAGGCGC
+GGCAGCACTTCCCAGATGGACTCCTTGCTGGCAGCGATAATGCTCGGGTTAGTTGTCACCCCGGCAATCG
+GGAATATGCGTGCCAGACGTTCGACTTCTGCGACGTTAGCGGTGTCCAGATACAGTTCCATGATGTTTCC
+TTTTACAGTTCCAGTTCATGTTGCAGCAGGCTGGCGATAGCGTCGGCAGAGGCGGCGTTAACCAGCGCAT
+TACGGAATTCTTCGTGCATGATGCGGCGAGCGAGGCGCGAGAAAATGCGCATGTGCTGATCGCCCGCAGC
+GTGTTTGTTCAGGGTTAACATAATGATGAATTGCGCTTCATCATCGCCCCAGCGCACCGGCGCTTGCAAA
+CGCGCCACGCTGATGGTGGATTGCTCAATGTGTTCTGATTTGCTGTGGGGAATGGCAAAACTAAAGCCCA
+GACCGGTAGAGAAAACGGCCTCGCGCGCCCACAAGTCGGCTTCCAGTTTACGCGGATAGCGGCAGCGGCC
+CGCCAGCAGCAGGTTATCGGTCATGCCTTTGAGCACTTCTTCTTTGCTGCGCCAGTCGCTTTCCAGTGTG
+ATGCACTCGGCGGTGACCAGCGGTGCGTCCTGTTGGGTCATGCGGAATTGCGCCAGCAGGTGTTCCACTT
+CCAGCGAAGTACGGCAGGCCATTGCCTGGTTGAGCAACTGGCGGCACTCACGGCTATCAAGTTGCGCCAT
+CCGCGCTTTCGCCGCCGGAATTGATGGTGCGCTCATGCTGAGTTCATCCAGCCCTAAACCGACCAGCAAC
+GGCAGCACGGAACCTTTCGCTCCCAGTTCACCGCACAGACCAATCCATTTGCCCTGGCGATGCACCGCCT
+GCACGGCGTAATCGAGCGCCCGCAAGAAGGCCGGATTCAGGCTGTTGTAGTGACGAGTCACCTTAGCGTT
+ATCGCGATCCACTGCCAGTAGATATTGCGTCAGGTCATTACTACCAATACTAAAGAAATCAATCTCTTCG
+CAGCATTGATCGATGATGAACATCACCGACGGCACTTCCAGCATGATGCCGAGCTGGATCTTCTCATCAA
+ACGGAATGTGTTCGTTACGCAGTTGCTGTTTGGCTTCCGCCAGTTTTTCTTTCACCCATAAGATCTCTTC
+CATTGAGGAGATCATCGGGATCATGATTTTCAGGCTGCCGTGAGCAGAGGCGCGCAGGATCGACCGTAGT
+TGTGTGGTAAACAACGACGCGTATTCTTCATAAATACGCACCGCGCGATAACCGAGGAACGGGTTAGCTT
+CTGCCGGAATGTTCAGATAATCAACGGGTTTATCACCGCCAATGTCCATAGTGCGCACAATAATGCTGCG
+TCCGTTGGCAGACTCCAGCGCCTGACAAAAAATGTTGTACAGCTCGCTTTCACCCGGTGCACTGGTGCGA
+TCCATATAGAGCATTTCAGTGCGGAACAAACCAACGCCTTCCGCACCATTGCCGAATGCGGCCTGCGCTT
+CCACGGAGTGAGCGATGTTAGCGGCAATTTCAATGCGGATACCGTCAGCGGTACGCGCTTGTTGGGTCAG
+CCAGACACGCTGTTGCTCACGCAGAGCGTCCTGTACGCGGGCTTCTTGCTGATAATAACGGGCCACGGAT
+TCCCCTGGCTCAACCACAATCGCCCCTGCGTTGCCGTCGATATAAATCGTCTGATGCTGCCACGGAGTAA
+GGGCATCAATATCCACACCTACCAGCGTCGGAATGTTGAACGAACGGGCAAGGATCACCGTATGTGATGT
+GGTGCCGCCACTTTTCAGTAACAGACCTTTGAGATGATTTTTATCCAGTTCGAGGAACTGGCTGGGGGTC
+AGTTCATCAGCCATACAAATGGCGGGCTGCGTCAGTTTGCCCGGTGCCGGGAAGCGTTGCTCACCGTAGA
+TTTGCTGGAGTAACTGGAAGCAGACGTCGCGTACGTCCAGGGCACGTTCTTGCAGGTAGCTGCTGCTGGA
+ACGGGCGAACTCTTCGCAAAAGTGATTCGCACTGGCAACAATCGCTTCGGCGCAGCTTAATCCGGCGCTG
+ACACCTGCCAGTAAATGTTCGCGCAGGGAAGTATCGCCAGCCAGGGATCGGTGCGCTTCCAGAATCGCGC
+TGGTAGCACCGTCGCTATCCAGCAGACGAAACTCTATGTTTTTCAGTACCAGCGTCAGACCGTTTTCCAG
+TGCGGATTGTTCGGCGTCAACGCCTTTGGCTGCGGGAAGATTACCCAGCGCATTGAGATCTAAAGAAGAG
+ATCGGCGTCAGAATGCCGCCTGCGCTACCGCTGCACACGGTGCGAGCACGGATAATTTGCGGATTCAGAT
+TGGTCAGTGAAATCGGCAGTGGTTCCAGTTCGTCAGATTTTACTTCCGCCAGCGGTGCGTCGCAGTGGGG
+GAATTCATCGCGCAGCCATTGGCTTAAACGCTGGTGCGCTTCCTGTTCGTCGGCCCCGGAAATCAGTAAC
+TGGCAGTTATCGCCCACCAGCGTATCGGTGCCAATCAGCGCAAGGGCGCTTTTGGCGTTGCCCTTGCGGT
+CAGTGCGCAGGTTATGCCACTCAATTTGTGATGAAAAAGTATTACACAGCGTTTCAACGTGGCTTGCCGG
+ACGCGCATGCACGCCGTTAGGTAGCTCACAAATAAATTCCACAATCAGGGCCATTGCCTTTCTCCCGGTA
+CGGTTTTCTGTTTACAGGATAAGAGCGCACGGCAACGGCCTGCCATGTGACAAATCTGCCAAAAGCTGGA
+CAAATGTAATGTAACCGTCAATTTGCGACGCGTCTCACAAGACGCCGTTTTGCGGCGTACTTCCGGATTA
+TCGCAAGTTATGAGGCGGATCGCATTTTTGTACTGATATTACAAAAGTCCAGTAAATGGCCTTTTTATCC
+ACTGTTTGCTCCGCCTGCGATTGCCTATTGTTTCTTCCATCAAAAATATGGACATGGGCTTTCGCAAGCC
+CGGGAGCAGCTTATGAATGAGTTGGTGCAGATCCTGAAAAATACCCGTCAGCATTTAATGACGGGCGTTT
+CACACATGATTCCCTTCGTGGTATCGGGCGGTATTTTGCTGGCGGTTTCCGTCATGTTGTATGGCAAAGG
+CGCAGTGCCGGATGCCGTAGCCGATCCGAATCTGAAAAAACTGTTTGATATCGGCGTTGCAGGTTTGACG
+CTGATGGTGCCTTTCCTCGCCGCTTACATCGGTTATTCCATTGCAGAACGTTCTGCGCTGGCTCCATGCG
+CTATCGGTGCCTGGGTTGGTAACAGCTTTGGCGCGGGCTTCTTTGGTGCGCTGATCGCCGGGATTATCGG
+CGGCATCGTGGTGCATTACCTGAAGAAAATTCCGGTGCATAAAGTTCTGCGCTCGGTGATGCCAATCTTC
+ATCATTCCAATCGTCGGCACACTGATTACCGCTGGCGTCATGATGTGGGGGTTGGGCGAACCGGTGGGGG
+CGTTGACCAACAGCCTGACCCAGTGGCTTCAGGGGATGCAGCAGGGCAGCATTGTTATGCTGGCGGTGAT
+CATGGGTCTGATGCTGGCGTTCGATATGGGCGGCCCGGTTAACAAAGTGGCCTATGCCTTCATGCTGATT
+TGCGTTGCTCAGGGTGTTTATACCGTGGTGGCTATTGCCGCTGTTGGGATTTGTGTTCCACCGCTGGGGA
+TGGGGCTGGCGACGCTGATTGGTCGTAAAAATTTCTCCGCAGAAGAGCGCGAAACCGGCAAGGCGGCACT
+GGTGATGGGCTGTGTTGGCGTTACTGAAGGGGCGATTCCTTTCGCCGCTGCCGATCCGCTGCGTGTCATT
+CCTTCCATCATGGTCGGTTCAGTTTGTGGTGCGGTAACTGCGGCGCTGGTCGGTGCGCAGTGCTATGCAG
+GCTGGGGTGGTCTGATTGTGCTGCCGGTGGTTGAAGGTAAGTTGGGTTACATCGCGGCAGTGGCTGTCGG
+GGCGGTTGTGACGGCAGTCTGCGTGAACGTGCTGAAAAGTCTGGCGCGTAAAAATGGGTCTTCAACTGAA
+GAGAAGGAAGACGACCTGGATCTGGATTTTGAAATTAATTAATTGAGGAACGAGCCATGACGAAAATTAT
+CGCAGTAACCGCATGTCCTTCAGGTGTTGCCCATACTTATATGGCGGCAGAGGCGCTGGAAAGCGCCGCG
+AAAGCGAAAGGCTGGGAAGTGAAAGTAGAAACCCAGGGGTCGATTGGTCTGGAAAATGAACTGACTGCGG
+AAGACGTGGCAAGCGCCGATATGGTGATTTTGACCAAAGATATCGGCATCAAATTTGAAGAGCGTTTTGC
+TGGCAAGACTATCGTGCGTGTCAACATCAGCGACGCGGTAAAACGTGCTGACGCCATTATGAGCAAAATT
+GAAGCTCACCTGGCACAAACCGCTTAAGTTCTTACCCCGCCCGCAAGGGCGGGTTCGCTTTCCCACAGGA
+GTTCCTCATGACGAATCGTATCTCTCGCCTCAAAACTGCACTGTTTGCCAATACCCGTGAAATCTCGCTG
+GAGCGGGCGTTGCTTTATACCGCCAGCCATCGGCAAACCGAAGGGGAGCCGGTGATAATGCGTCGGGCGA
+AAGCAACAGCGTATATCCTTGAACACGTTGAAATTTCGATTCGTGATGAAGAACTGATTGCCGGTAACCG
+CACCGTAAAACCACGCGCCGGGATTATGTCGCCGGAAATGGACCCTTACTGGCTGCTGAAAGAGCTGGAT
+CAATTCCCGACGCGTCCGCAGGACCGCTTTGCTATCAGCGAAGAAGATAAACGTATCTACCGCGAAGAGT
+TGTTCCCGTACTGGGAAAAACGTTCGATGAAAGATTTCATCAACGGGCAGATGACGGATGAAGTAAAAGC
+CGCGACCAGCACGCAGATTTTCAGCATCAACCAGACGGATAAAGGCCAGGGGCACATTATTATTGATTAC
+CCGCGCCTGCTGAATCACGGGCTGGGGGAGCTGGTGGCACAGATGCAGCAACATTGTCAGCAACAGCCGG
+AGAATCACTTTTATCAGGCAGCGCTGTTACTGCTGGAAGCCTCGCAGAAACATATTTTGCGTTACGCCGA
+ACTGGCGGAAACGATGGCGGCAAGCTGCACTGATGGCCCGCGTCGCGAAGAACTGCTGACCATTGCGGAG
+ATCTCCCGCCATAACGCCGAACATAAGCCGCAGACGTTCTGGCAGGCGTGCCAGTTATTCTGGTACATGA
+ACATCATTCTGCAATACGAATCCAACGCCAGTTCGCTATCGTTGGGGCGCTTCGACCAGTATATGTTGCC
+GTTCTATCAGACATCATTAACCCAGGGCGAAGATCCGGCATTCCTGAAAGAACTGCTCGAATCTTTATGG
+GTGAAATGCAACGACATCGTGCTGTTGCGCTCCACCAGTAGCGCGCGTTATTTCGCCGGTTTCCCTACCG
+GCTATACCGCACTGCTCGGCGGGTTAACCGAGAACGGACGTAGCGCGGTGAACGTGCTTTCGTTCCTTTG
+CCTTGACGCTTATCAAAGCGTGCAATTACCGCAACCGAACCTCGGCGTGCGCACTAACGCCTTGATCGAC
+ACCCCTTTCCTGATGAAAACCGCAGAAACCATTCGCCTCGGCACCGGTATTCCGCAAATCTTTAACGATG
+AAGTGGTAGTGCCAGCGTTCCTCAACCGTGGCGTTTCGCTGGAAGATGCGCGCGACTATTCCGTAGTGGG
+CTGTGTGGAATTATCTATTCCCGGCAGAACCTACGGCTTGCATGACATCGCGATGTTTAACCTGCTGAAA
+GTGATGGAAATCTGCCTGCATGAAAATGAAGGCAACGCTGCGCTGACTTATGAAGGTTTACTGGAACAGA
+TCCGCGCCAAGATCAGCCACTACATCACCCTGATGGTTGAGGGCAGCAATATTTGTGATATCGGCCATCG
+CGACTGGGCTCCTGTACCGCTACTCTCGTCTTTTATCAGCGATTGTCTGGAAAAAGGTCGCGATATTACC
+GATGGCGGCGCGCGTTATAACTTCTCCGGCGTACAGGGGATCGGTATCGCCAACCTGAGCGATTCTCTCC
+ATGCGTTGAAAGGGATGATTTTTGATCAACAGCGTTTAAGTTTTGACGAATTGCTGTCGGTATTAAAAGC
+CAACTTCGCCACGCCAGAAGGCGAAAAAGTCCGCGCTCGCTTAATTAACCGCTTCGAGAAATACGGTAAC
+GATATCGACGAGGTGGATAACATCAGCGCCGAACTGTTACGCCACTACTGCAAAGAAGTGGAAAAATACC
+AGAACCCGCGCGGCGGCTACTTCACGCCGGGATCGTATACCGTTTCTGCCCACGTCCCGTTGGGATCGGT
+GGTTGGCGCGACGCCAGACGGTCGTTTTGCCGGGGAACAACTGGCAGACGGTGGCTTGTCACCCATGCTG
+GGTCAGGATGCACAAGGGCCAACGGCGGTACTGAAATCAGTCAGTAAGCTCGATAATACGCTGCTGTCTA
+ACGGTACGTTGCTGAACGTGAAATTCACTCCGGCGACCCTGGAAGGTGAAGCGGGATTACGCAAACTGGC
+CGACTTCTTACGGGCGTTTACCCAGCTTAAGTTGCAGCATATTCAGTTTAACGTGGTGAACGCCGACACG
+TTGCGGGAAGCGCAACAGCGCCCACAAGATTATGCCGGGCTGGTGGTGCGCGTTGCCGGATACAGCGCCT
+TCTTTGTCGAACTGTCGAAGGAGATCCAGGATGACATCATCCGCCGGACAGCGCATCAGCTGTAACGTTG
+TGGAAACGCGCCGCAATGATGTGGCGCGCATTTTCAACATTCAGCGTTATTCACTGAATGACGGCGAGGG
+CATTCGTACGGTGGTCTTTTTTAAAGGCTGTCCGCATCTTTGCCCATGGTGTGCTAATCCGGAGTCGATC
+TCCGGCAAAATCCAGACGGTACGCAGAGAGGCGAAATGTCTGCACTGTGCGAAATGTTTGCGTGATGCGG
+ATGAATGCCCCTCCGGGGCGTTTGAACGGATTGGTCGCGATATCAGCCTTGACGCTCTGGAACGGGAAGT
+GATGAAAGATGACATTTTCTTTCGCACGTCCGGCGGTGGCGTCACGCTTTCTGGCGGCGAAGTGTTAATG
+CAGGCGGAGTTTGCGACCCGTTTTTTACAGCGACTGCGGCTATGGGGTGTGTCATGCGCCATCGAAACTG
+CCGGAGACGCGCCAGCCAGCAAGCTGTTACCGCTGGCGAAATTGTGCGATGAAGTGTTGTTCGATTTAAA
+AATTATGGATGCGGCTCAGGCGCGGGATGTGGTGAAGATGAACCTGCAACGCGTGCTGGAGAATCTGCGT
+TTGCTGGTGAGTGAGGGTGTCAACGTGATCCCGCGTTTACCGCTGATCCCTGGTTTCACGCTCAGCCGGG
+AGAATATGCAGCAGGCGCTGGACGTGCTGATCCCGCTGAATATCAAGCAGATCCATCTGTTACCGTTTCA
+TCAGTACGGCGAGCCGAAATACCGCCTGCTGGGGAAAACATGGTCGATGAAAGAGGTTGCTGCTCCGTCG
+TCAGCCGATGTGGCAACGATGCGTGAAATGGCAGAACGGGCCGGATTTCAGGTTACCGTGGGAGGTTAAA
+ATGGCATACCTGGTGGCAGTAACCGCCTGCGTAAGCGGCGTGGCGCATACTTATATGGCGGCGGAACGGC
+TGGAAAAGTTGTGCCAGTTAGAGAAGTGGGGCGTTAGCATTGAAACTCAGGGCGCGTTGGGAACGGAGAA
+TCGTTTAGCGGACGAGGATATCCGCCGGGCGGATGTTGCGCTGTTAATTACGGATATCGAGCTTGCCGGT
+GCTGAGCGATTTGAACATTGTCGCTACGTGCAATGCAGCATCTACGCTTTCCTGCGTGAGCCGCAGAGGG
+TGATGAGCGCAGTGCGCAAAGTGCTTTCTGCGCCGCAGCAAACCCATCTTATTCTGGAGTAGTCGGTTTT
+TCTGTCAGTTGGCTGTGGTACTGCCGACGATATTCCGACGGCGAGCGTTCGGTATTTTTACGAAACAGAC
+GGCAGAAGTAGTTGCTGTCGACAAAGCCGCAGGCGTGCGCCACTTCTTTTACCTTCAGGTCATAGCCTTT
+CAATAATGTCTTAGCGTGCTCCAGTCGCGTGTGATTCAGGTATTCGTTAAAACCAATGGCCCCCGTTTTT
+TGAAACAGGTGCGAGAGGTAATTTGGCGAAATATAGAACGCCTGTGCGACAGATTCGCGGGTAAGTGCGG
+AGGCATAGCGTTCGTCGATATAATCACGAATAGCTTCGAATAGAGCCTGGCTGCGTGAGGCGGTCTGTAT
+TTGGCTGCCGAGCAAATCGCGGCAGTGGCTAAGCAGGCTGGTGACGATAAGTCTGGCCGTTTGCTGCTCC
+TGCGACTGCATTTGCATTTCATTGAGCGTTTGTAGCAGAAAAGAACCAATGCGCGGGCCGCGTCGGGCGA
+CGTGTTGCTTCGCCAGATTTTGATATTGTTTGCCATCCCATTGCACAACGCTGAAGCCGAGTTGCTGTTT
+GCCAAACAGCACGCTAAAGGTGGTGGCGGGGGCTTGCCATTGTGGAAAATTCCAGCCACCAGCAGGGACG
+TACAGCACATCGCCGGGAACTAACGCTGCTCCAGCGCCGGTATCAATAAACTCACCTTCCAGCACAATTT
+CCAGCCGTGGAAAATCGACCTGATACGCAAGATCGGGCACCGGGCCGTTGCTGCTGGCAAAGTAAATCTG
+GCGCAGGGACAGCGGGCCGTTGATCAGGCGGGAGAGCAGATAGCTGACGTCGTGATACATGTTATTCCCT
+TAGGTATGTAGACGGGAAAACAGTAACTGGCATTATGAAAAAAGGCCACCTGAAAAGTGTGGCCTGATGG
+GAGTGAGATGTAAACATTGCGGCAGTTTCAGTCGACTTGTATTGCCGGATGCGGCGTAAACGCCTTATCC
+GGCCTACCGCCGCGATCTGTAGGCCGGATAAGACGCGTCAAGCGTCGCATCCGGCAAATAACATCTGGCT
+GATAATTACTGATTACCCACCTGATCGCCATACGGCAGAGTGTCGTAATCGATCAGTGCGTTTTTCTTAT
+ACGGGTTACCAATCCAGCGGGTAGTTTCTTTGAACTGCGGATTCACCACTGAACGGGTTGGATCGTAACC
+GTCGTAAGATAAGCCCGCCAAATCTGACCAGGTGTGGATCAGTTCCGCCAGGCTGTATTTACGATCAACA
+TCCTGTGAGAAATCACGCGGATGAGTCGCTTGCCATTTTTCTGACGTCCACAGCAGGAACGGAATGGTGT
+ACATATGACGCGTCGGGTTGTCTTCATTACGCCCCTGAGTTTTGTGCGGCGGCGTGTCGTAAACCTCTTC
+ACCGTGGTCAGAGAAATAAACCAGGAAACCGTTCGGATCGGTCGCTTTAAAGTCTTTAATCAGGCTGGCA
+ACCACGTGATCGTTGTACAGGTTAGCATTGTCATAATCATTATATGACTCCAGCTCTTCTGCGTTTAATC
+CCGGTGGAACATGCTCTGTATTACCGTCAAATTTGCCCTGATCTTCCGGATAACGGTACTTGTACTTGAT
+ATGCGTACCCAGCAGATGAACGATGATCAGTTTCTTCGGCGCAGGGTCCTTCAGCACTTCCTGGAACGGC
+TTCAGCACGTTGGTGTCGTATTCACGCGCACTCTGCGTACGTTGCTGGTTCATGTAGTACTGCTTGTCGG
+TCTGGCGCGAAAATACCGTCAGCATGGTATTGCGGGCGGTCATCGTCTGCTGGTTGGTGATCCAGAAGGT
+TTTATAACCCGCCTGTTTCATCATGTTCATCAGCGACGGCTGCGTCAGATACAGATCCGGGTTCTTTTCA
+TTGGCAAAGGTCAGCGCCTGTTGCAGGATTTCAATGGTGTACGGACGAGACGTAACCACGTTATTAAACA
+CGGTCAGATTCGGATCGGTTTTATGCAGCGCATCCAGCTCCGGCGTGGTTTCACGCGGATAACCGTACAG
+ACTCATGCGTCCACGCTGGGTCGATTCGCCAATTACCAGCACTAAGGTGCGCGGTTCGTTACCCGATTCA
+TCTTTGAAATTAGCCAGCGGCGGCAAGGCATTATTTTCATTCAGTAGCTTTGTTAGCGAGTTTAGTTGCT
+GACGATACTGATAATAGCCGGTCAGGAATTGCCACGGTGCGGCAGGCTCCATACGCGATGCCAGGTTATC
+CAACGTTTTCTCAAACGGCTTGTTCTTGATAAACGTATTCATGGCGATCGGATGCAGAATCAAGCCATAA
+AGCAGGGCAAAAGAGACAACATAACGCCACGGCTTTGGAATATAGACCGGGCGCAGGCGTGTCCACAGCA
+GAACTGCCACCGCCGTATAGGCCAGCGCGATAAGCACAATTTTCAGGCTGAAATACTGGCTTAAATACTC
+GCTGGCTTCGTTGGTGTTGGTTTCGAACATCACAAACAGAACGCTCTGCGAGAACTCCTGACCGTAGATG
+ACGTAGTAGCACAGCGCCGCCAGAGAGGCCGCCCATAGCACCACGCCGATCACTGCGGCAATAATTTTAA
+TCCGCTTCGGAAAGAGGAATACCGGGATCAACCACAGCGAACTGAATAACAGCGAGTCGCGAATGCCGTT
+AGTGCCACTATAACCACTGATGTAAATAATGGCCTGTAGCAGAGTAGAGAAAAACCAAAAGTAGAGCAGT
+GCCCAACCCAGGGCTTTCCAGCTAAAAAGGGGTTTAGCCTGGACTTCTGTGGAATGCATAGTAAGAACCT
+GTCTTGAAAAAAATATCGCCGAATGTAACGACAATTCCTTAAGGATATCTGAAGGGATATCCAGATTTTG
+AATAAAATGCAGACAGAAATATATTGAAAACGAGGGTGTTAGAACAGAAGTATTTCAGAAAACCCTCGCG
+CAAAAGCACGAGGGTTTGCAGGAGAGGAAGATTAGCCGGTATTACGCATACCTGCCGCAATCCCGGCAAT
+AGTGACCATTAACGCCTGCTCGACGCGAGGATCCGGTTCCTGGCCTTCTTTTTCTGCCTGGCGGGAGCGG
+TGCAGCAACTCGGCCTGCAATACGTTCAGCGGGTCGGTGTAAATATTCCGTAGCTGAATAGACTCTGCAA
+TCCACGGCAGATCGGCCATCAGGTGAGAATCGTTGGCAATCGCCAGCACCACTTTGATGTCTTCTTCTTG
+CAGATTGCGTAACTCTTTACCTAACGGCCACAGTGCTTTGTCTACCAGGCGTTGGTCATAGTATTCCGCC
+AGCCACAGGTCTGCTTTGGCGAAGACCATCTCCAGCATGCCGAGACGCGTCGAGAAGAATGGCCAATCGC
+GGCACATGGCTTCCAGCTCGCTCTGTTTGCCATCTTCGACCACTTTTTGCAGCGCCGTACCTGCACCCAG
+CCAGGCGGGGAGCATCAGGCGGTTTTGCGTCCAGGCGAAAATCCACGGAATAGCGCGCAGTGACTCGACG
+CCGCCGGTTGGGCGACGTTTCGCCGGACGTGAACCCAACGGCAGTTTACCCAATTCTTGTTCCGGCGTAG
+CGGAGCGGAAGTAAGGCACAAAATCTTTGTTTTCACGTACGTAGCCACGGTAGAGATCGCAGGAGATGAC
+TGACAGTTCATCCATAATGCGACGCCAGCTCTCTTTCGGCTCAGGCGGTGGCAGCAGGTTGGCTTCCAGA
+ATCGCCCCGGTGTACAGCGACAGGCTGCTGACGGTGATTTCTGGCAGACCATATTTAAAGCGGATCATCT
+CGCCCTGTTCGGTCACGCGCAGGCCACCTTTCAGGCTTCCTGGCGGTTGTGACAGCAGCGCCGCATGGGC
+AGGTGCGCCGCCGCGACCAATGGAACCGCCGCGACCGTGGAACAACGTCAGCTCAATACCCGCTTTTTCG
+CAGGTTTTGATTAATGCATCCTGTGCCTGATATTGCGCCCAGGAAGCTGCCATCACGCCCGCATCTTTTG
+CTGAGTCGGAATAGCCAATCATCACCATCTGTTTGCCCTGAATCAGGCCGCGATACCAGTCGATATTCAG
+CAGCTGGGTCATGACATCGTTGGCGTTGTTCAGGTCATCGAGGGTTTCAAACAGCGGAGCAACCGGCATC
+GCAAACCCGATACCCGCTTCTTTCAGCAGCAGGTGGACAGCCAGCACGTCGGACGGCGTTTTCGCCATCG
+AGATCACGTAGGCGGCAATGGAGCCTTGCGGCGCTTCGGCAATCACCTGGCAGGTATCGAGCACTTCACG
+CGTTTCGGCGCTTGGTTGCCAGTTGCGTGGTAGAAGCGGACGTTTGGAGTTCAGTTCGCGGATCAGGAAC
+GCCTGTTTGTCGGCTTCTGACCAGCTTTCATAATCGCCGATACCGAGGTAGCGGGTCAGTTCGCCTAATG
+CTTCGGTATGACGCGTGCTCTCCTGACGGATATCAATACGCACCAGCGGTACGCCGAAACATTTCACGCG
+GCGCAGGGTGTCGAGCAGATCGCCATTGGCGATAATACCCATGCCACACGCCTGAAGTGACTGGTAGCAA
+GCGTAGAGCGGTTCCCACAGTTCTTCGTTTTGTGTCAGCAGACCTTCTGGTTTTGGCAATTCTTCGCCTT
+TCAGGCGCGCTTCCAGCCATGCCTGTGTCGCCATCAGGCGAGAACGCAGGTTTTTCATCAGATAGCGATA
+CGGTTCTGCGGCACCCTCTTCGCCAACCAGCGCCAGCAGTTCAGGGGTGGCTTCAACCATCGACAGTTCA
+GAAACCAGAACCTGAATATCTTTCAGGAACAAATCGGTGGCTTTCCAGCGGCTGAGTAGCAGGACGTGGC
+GGGTGATATCGGCAGTGACGTTCGGGTTGCCGTCGCGGTCACCGCCCATCCACGAGGTAAAACGTACCGG
+AACAAATTCGACGGGCAGTTTGTAGCCGAGGTTCTCTTCCAGTTGTTCGTTCAGTTCGCGCAGGTAATTC
+GGTACGCCTTGCCACAGGCTGTTTTCTACTACGGCAAAGCCCCATTTGGCTTCATCTACCGGGCTTGGGC
+GCAGTTTACGGATTTCATCGGTATGCCATGACTGGGCGATCAACTGGCGCAGGCGGCGCATCAGCTGGTT
+GTGTTCGTAGTCGGCGATATCTTTGTTATCGAGCTGTTTTAAACAGGCGTTCACTTCCACCATTTTGTGG
+ATCAGTGTACGACGGGTAATTTCGGTTGGGTGAGCCGTGAGGACCAGTTCCAGCGACAGCGATTCCACTG
+CTTTTTTGATGGTGTCTTCGCTCAGTTCCGGCTGGTTTTTCAGTTTACGCAGGGTGCGGGCGATCACTTC
+CGGGTTGCTGGCAGCTTCGCCTTTCGGCGAAATGCTGTGGTATTGCTCAGCGGTGTTGGCCAGGTTCAGG
+AACTGACTAAACGCACGCGCAACGGGCAGCAGCTCGTCGTTCGACAAATTTTGTAAGGTGGTGAGCAACT
+CCTGGCGGTTAGCATCATTGCCAGCGCGTGAAGATTTCGACAACTTACGGATAGTTTCTACGCGTTCAAG
+AATGTGTTCTCCCAACGCATCCTTGATGGTTTCTCCCAGCACTTTGCCGAGCATACTGACATTACTACGC
+AATGCGGAATATTGTTCGTTCATATTACCCCAGACACCCCATCTTATCGTTTGATAGCCCTGTATCCTTC
+ACGTCGCATTGGCGCGAATATGCTCGGGCTTTGCTTTTCGTCGTCTTTTATAAAGCCACGTAAAAGCGGT
+GACGTCAAATGCTGCGAAATCGCTTCAGCAAACGAATAAATAGCAGGAATTTACGCCATTAAATTCACGA
+CGCTTTAAATAAGCGTAACTTATGGGAATGTTAAAAAATCGCCTCGAATAACACCAAAGGTGTAGGTCGG
+ATAAGATGCGCAAGCATCGCATCCGACATTGTTTGGCCTACGTTTTAATGCCAGCAAAAATGGTGAATCA
+CCTGGGTGATCAGTTCGCGGGTGGGCTTGATAAACCTCGTCTCCAGATATTCATCAGGCTGATGAGCCTG
+ATTAATTGAGCCAGGCCCCAGAACCAGCGTCGGGCATAACGTTTGAATAAACGGCGCTTCGGTACAGTAA
+TTCACCACTTCGGTCTTTGCTCCGAGCAATTTCTCAACCACTTCAACCAGTTGATGATTCGGTGGGCATT
+CATAGCCAGGGATCGGCGGATGCAGCTCGTCGACCGTCAGACGACCCGGCCAGCGTTCGCTCACTGGAGC
+CAATGCATCGTTGAGCAAACCGTTAAGTTCATTGAGTGTCATGCCTGGCAGCGGACGAATATCCATATGC
+AACTCACAACAAGCGCAAATACGGTTAGATGCATCGCCGCCGTGGATATGCCCGAGGTTGAGCGTAGGGT
+ATGGCACGGTAAACGCGTCGTAGTGATAACGTTCTTTCAGGTTATCGCGCAATTGCAAAATATGCCCTAT
+GGCGTCGTGCATCAGTTCGATAGCGTTAACTCCGCGTGCTGGATCGCTGGAGTGGCCCGACTGGCCCTGA
+ATACGGATGGCGTTAGAGATATGACCTTTATGCGCGCGTACCGGTTGCAGCGACGTTGGCTCGCCAATGA
+TGGCGCAATCCGGGCGCAGGGCGGTAGTTTCGGCAAAATAACGCGCTCCGGCCATACTGGTTTCTTCATC
+GGCAGTCGCCAGAATGTAGAGCGGTTTTGCAAGCTTCGTGACGTCGACATCGCGTAGCGCATCAAGGATA
+AACGCAAAAAAGCCTTTCATGTCGGCGGTGCCTAAGCCGTAAAGCTTGCCGTCATGCTCCGTCAACGTAA
+ATGGATCGCGCGTCCAGCGTCCGTCATCAAATGGCACCGTATCGGTATGCCCCGCCAGCAACAAACCGCC
+AGCCCCCTGTCCGCAACTGGCCAGCATATTAAATTTGTTGCGAGTTCCTGGCACAGGCTGTACTTCCACA
+TTGAAGCCTAAATCCTTAAACCAGTCCGCCAGCAGAGTGATTAAATCTGCATTGCTTTGATCGAGTGCCT
+CTTCCGTGGCGCTTATTGAAGGTGTGGCAATCAGAGCACGGTAAATCTCGATAAATGGCGGTAATTTGTT
+TTTCATTGTTGACACACCTCTGGTCATGATAGTATCAATATTCATGCAGTATTTATGAATAAAAATACAC
+TAACGTTGAGCGTAATAAAACCCACCAGCCGTAAGGTGAATGTTTTACGTTTAACCTGGCAACCAGACAT
+AAGAAGGTGAATAGCCCCGATGTTGAATACGCTGATTGTGGGTGCCAGCGGCTACGCTGGCGCAGAGCTA
+GTGACCTATGTAAATCGCCATCCGCATATGAACATAACCGCTTTGACTGTTTCAGCGCAAAGCAATGATG
+CGGGAAAGTTAATCTCCGATTTGCATCCGCAGCTAAAAGGCATCGTTGATCTGCCGTTGCAGCCGATGTC
+GGATATCAGCGAGTTTAGCCCAGGGGTGGACGTGGTGTTTCTCGCCACCGCCCATGAAGTCAGCCACGAT
+TTAGCGCCGCAATTTCTTGAAGCAGGCTGTGTGGTGTTCGACCTTTCCGGCGCGTTTCGTGTTAACGATG
+TCGCCTTCTATGAAAAATATTACGGCTTTACCCATCAATACCCGGAACTGCTGGAACAGGCAGCCTACGG
+TCTGGCGGAGTGGTGCGGTAATAAATTAAAAGAAGCGAACTTGATTGCCGTGCCAGGCTGTTATCCGACG
+GCAGCACAGCTGGCGCTGAAACCGTTGATTGATGCCGATCTTCTTGACCTCAATCAGTGGCCGGTGATCA
+ACGCCACCAGCGGCGTGAGCGGTGCAGGACGTAAGGCAGCGATTTCAAATAGTTTTTGTGAAGTTAGCCT
+GCAACCGTATGGCGTCTTTACCCATCGCCATCAACCAGAGATCGCCACACACCTCGGTGCTGACGTTATC
+TTCACCCCGCATCTGGGCAATTTCCCGCGCGGCATTCTCGAAACCATTACCTGCCGCCTGAAACCGGGTG
+TGAGCCAGGTGCAAGTGGCGCAAGCGTTACAGCAGGCGTATGCCCATAAACCACTGGTGCGGCTGTATGA
+CAAAGGCGTTCCGGCGCTGAAAAATGTCGTTGGACTGCCATTCTGCGATATCGGTTTTGCCGTTCAGGGC
+GAGCATCTGATTATTGTGGCGACCGAAGACAACTTACTGAAAGGCGCGGCGGCACAAGCGGTGCAGTGCG
+CCAATATTCGTTTCGGCTATGCGGAAACGCAGTCTCTTATTTAAGGGTGCAATGATGAATCCATTAATTA
+TCAAACTGGGTGGCGTACTGCTGGATAGTGAAGAGGCGCTGGAACGTCTGTTTAGCGCACTGGTGAATTA
+TCGCGAGTCACATCAGCGTCAGCTGGTGATTGTGCACGGCGGCGGTTGCGTGGTGGATGAGCTGATGAAA
+GGGCTGAATCTGCCGGTGAAAAAGAAAAATGGCCTGCGGGTGACGCCTGCGGATCAGATAGACATTATCA
+CCGGAGCACTGGCGGGAACGGCAAATAAAACCCTGCTGGCATGGGCGAAGAAGCATCAGATTGCGGCCGT
+AGGTTTGTTTCTCGGTGACGGCGACAGCGTCAAAGTGACCCAGCTTGATGAAGAGTTAGGCCATGTTGGA
+CTGGCGCAGCCAGGTTCGCCTAAGCTTATCAACAGCTTGCTGGAGAACGGTTATCTGCCGGTGGTCAGCT
+CCATTGGCGTAACAAACGAAGGGCAACTGATGAACGTCAATGCCGACCAGGCGGCGACGGCGCTGGCGGC
+AACGCTGGGCGCGGATCTGATTTTGCTCTCTGACGTCAGCGGCATTCTCGACGGCAAAGGGCAACGTATT
+GCCGAAATGACCGCCGCGAAAGCAGAACAACTGATTGAGCAGGGCATTATTACTGACGGCATGATTGTGA
+AAGTGAACGCGGCGCTGGATGCTGCGCGCACGTTGGGCCGTCCGGTAGATATCGCCTCCTGGCGTCATGC
+GGAACAGCTTCCGGCACTGTTTAACGGTATGCCGATGGGTACGCGGATTTTAGCTTAAGTTTTGTTGGCC
+GGAGGCGCAGCTTTCCGGCATTGAATTTCAAAATAAGGAAACAGAGTTATGGCACTTTGGGGCGGGCGTT
+TTACCCAGGCAGCAGATCAACGGTTCAAACAATTCAACGACTCACTGCGCTTTGATTACCGTCTGGCGGA
+GCAGGATATTGTTGGCTCTGTGGCCTGGTCCAAAGCCCTGGTAACGGTCGGCGTGTTAACCGCAGAAGAG
+CAGGCGCAACTGGAAGAGGCGCTGAACGTGCTGCTGGAAGATGTTCGCGCCAGGCCACAACAAATCCTTG
+AAAGCGACGCCGAAGATATCCATAGCTGGGTGGAAGGCAAACTGATCGACAAAGTGGGTCAGTTAGGCAA
+AAAACTGCATACCGGGCGTAGCCGTAATGATCAGGTAGCAACTGACCTGAAACTGTGGTGCAAAGATACC
+GTTAGCGAGTTGCTGACGGCTAACCGGCAGTTACAATCCGCTCTGGTCGAGACCGCGCAGAACAATCAGG
+ACGCGGTGATGCCGGGTTACACTCACCTGCAACGCGCCCAGCCGGTGACGTTCGCTCACTGGTGCCTGGC
+CTACGTTGAGATGCTGGCGCGTGATGAAAGCCGTTTGCAGGACGCGCTTAAGCGTCTGGATGTCAGCCCG
+CTAGGTTGTGGCGCACTGGCAGGAACGGCCTATGAAATCGACCGTGAACAGTTAGCAGGCTGGCTGGGCT
+TTGCTTCGGCGACCCGTAACAGTCTCGACAGCGTTTCTGACCGTGACCATGTGTTGGAACTGCTTTCTGC
+TGCCGCTATCGGCATGGTGCATCTGTCGCGTTTTGCTGAAGATCTGATTTTCTTTAACACCGGCGAAGCG
+GGGTTTGTGGAGCTTTCTGACCGTGTGACTTCCGGTTCATCATTAATGCCGCAGAAGAAAAACCCGGATG
+CGCTGGAGCTGATTCGCGGTAAATGCGGTCGGGTGCAGGGGGCGTTAACCGGCATGATGATGACGCTGAA
+AGGTTTGCCGCTGGCTTACAACAAAGATATGCAGGAAGACAAAGAAGGTCTGTTCGACGCGCTCGATACC
+TGGCTGGACTGCCTGCATATGGCGGCGCTGGTGCTGGACGGCATTCAGGTGAAACGTCCGCGTTGCCAGG
+AAGCGGCGCAGCAGGGTTACGCCAACGCTACTGAACTGGCGGATTATCTGGTGGCGAAAGGCGTACCGTT
+CCGCGAGGCGCACCATATTGTGGGTGAAGCTGTGGTGGAAGCCATTCGTCAGGGCAAAGCGTTGGAAGAT
+CTGCCGCTCAGTGAGTTGCAGAAATTCAGCCAGGTGATTGGCGAAGATGTCTATCCGATTCTGTCGCTGC
+AATCGTGCCTCGACAAGCGTGCAGCAAAAGGCGGTGTCTCACCGCAACAGGTGGCGCAGGCGATTGCTTT
+TGCGCAGGCGCGGTTGGGGTAATTTGTTTATATTGCTCCCCTGAAAATGGGGAGCTTACCACGCCTACAA
+AGTGTGACACTTCGTAGGCGGATAAGGCGTTTACGCCGCATCAGGCAGAAATTTGTCAGCATTCTGGTGA
+CCTTAAATTTAACGCCCAACCAGAACCATTATTTGTCACATTCCTTTTTATTCTTGCGTCTTCTTTACCT
+TCACTCTCCCCATAAAAATTATATTTTCAATACATCAGCCAATACATACTTTAATTAATTGAATATAATT
+CATTTCTATTGCTGTGTTCATTTTTAATGATTAATGGAGTTTGTTATGTGATTATTTAACGTGTTGTTTT
+AACGATAATGGCTAATTATTCAGGTGGTTTTTGAGGGTGTTTTTTCTCCTCGGTAGAAATTTTTATTTTT
+AATGTGATCACGGTTGAATAATCACCTTTTCTCTCTTGTATGGTAGTAGGCGTAAAATTAAGTTTGAAGT
+GTCTATTTACAATACAGGAGATTGCAATAATGAAAATTATTGCTGTGGATGTTTTTGTTACTTGTCCCGG
+GCGTAATTTCGTTACGCTTAAAATAACCACTGAAAGCGGACTTTGTGGATTAGGAGATGCCACGTTAAAT
+GGTCGCGAATTGTCGGTCGCTTCTTATCTGAAAGATCATCTTTGTCCTCAATTAATTGGCCGCGATGCCA
+GCCGTATCGAAGATATCTGGCAATTCTTTTATAAAGGAGCTTACTGGCGACGTGGTCCCGTCACGATGTC
+GGCCATTTCTGCCATTGATATGGCGTTGTGGGATATCAAAGCTAAAGCGGCAAATATGCCATTGTATCAA
+CTGCTTGGTGGCGCTTCTCGTGAAGGCGTGATGGTTTATTGCCACACCACCGGGCGGACGATTGATGAAG
+TCCTTGAAGACTATGCAAAGCACCAGCAGATGGGCTTTAAGGCGATTCGTGTGCAGTGTGGTGTACCGGG
+TATGCAAACCACCTATGGTCTGGCGAAGGGCAAAGGACTGGCGTATGAACCAGCAACCAAAGGCCTGTGG
+CCAGAAGAGCAGTTGTGGTCTTCAGAAAAGTATCTCGATTTTACGCCGAAGTTATTTGAAGCGGTGCGTA
+ATAAGTTCGGTTTTAACGAACATCTGTTGCATGACATGCACCATCGCCTGACCCCCATCGAAGCGGCGCG
+CTTTGGGAGGAGCATTGAGGATTACCGCCTGTTCTGGATGGAAGATCCGACGCCTGCCGAGAACCAGGAA
+TGTTTTCGTCTGATTCGCCAGCATACCGTGACGCCGATTGCGGTCGGTGAAGTGTTTAACAGTATCTGGG
+ACTGCAAACAGTTAATCGAAGAGCAGCTGATTGACTATATTCGCACGACGATTACCCATGCAGGCGGCAT
+TACCGGGATGCGACGGATTGCCGATTTTGCATCGCTTTATCAGGTACGTACCGGTTCGCATGGCCCTTCA
+GATTTATCGCCTGTTTGCCATGCGGCGGCGCTGCATTTTGACCTCTGGGTGCCAAACTTTGGCGTTCAGG
+AGTACATGGGCTATTCCGAACAAATGCTTGAAGTCTTCCCGCACAGCTGGCGCTTCGATGAAGGTTATAT
+GCACCCAGGCGATGAACCGGGGCTGGGTATTTCTTTCGATGAGAAACTGGCGGCGAAATATCCGTATGAC
+CCGGCGTATCTCCCCGTCGCACGACTGGAAGATGGCACATTGTGGAACTGGTAATAGCGGTTCGCTTAAT
+TATTTTCTGAATATTCATCAAATCGATTAATTCCGCTCAAGGAGCTAAAAATGGACGTTGATGTGTCAAC
+CAGTGTTGCGGGTAATAAACCGCAACGGATTCGTCGTATTCAGACAGTGACCCTGGTTTTATTATTTATG
+GCGGGGATCGTTAATTTTCTCGACCGTTCGTCATTGAGCGTGGCAGGTGAAGCAATTCGTGGCGAGTTAG
+GATTATCCGCTACCGAGTTTGGTGTTTTGCTTTCTGCATTTTCTCTGTCTTATGGTTTTTCACAACTTCC
+TTCCGGTATTTTGCTAGACCGCTTTGGCCCACGAATAGTGTTAGGCGCAGGCTTAATATTCTGGTCATTA
+ATGCAGGCATTAACAGGAATGGTTAATTCTTTTAGCCACTTTATTTTAATGCGTATCGGTCTGGGTATTG
+GCGAAGCGCCATTTATGCCTGCGGGAGTAAAGTCGATCACCGACTGGTATGCGCAAAAAGAACGCGGCAC
+GGCGCTGGGGATTTTTAACTCATCTACCGTTATCGGTCAGGCTATCGCGCCTCCTGCTCTTGTATTGATG
+CAACTGGCATGGGGCTGGCGGACGATGTTTGTCATCATCGGCGTAGCAGGGATTCTGGTTGGGATCTGTT
+GGTACGCGTGGTATCGCAACCGGGCGCAGTTTGTCCTGACCGAGGAAGAACGGACATATCTCTCCGCGCC
+GGTTAAACCGCGTCCACAGTTACAATTTAGCGAGTGGCTGGCGCTGTTTAAGCATCGGACAACCTGGGGG
+ATGATTTTAGGTTTCTCTGGCGTCAATTATACCGGTTGGCTCTACATCGCGTGGTTACCCGGTTATTTGC
+AGGCCGAACAAGGTTTCAGTCTGGCGAAAACCGGTTGGGTGGCGGCAATTCCTTTCCTCGCGGCGGCGGT
+CGGGATGTGGGTTAACGGTATTGTTGTCGATCGGCTGGCGAAAAAAGGCTATGACCTGGCGAAGACGCGT
+AAAACGGCGATTGTCTGCGGTTTGATGATGTCGGCATTAGGCACGTTGCTGGTCGTGCAATCTTCCTCGC
+CAGCCCAGGCGGTAGCGTTTATCTCAATGGCGCTGTTCTGCGTGCATTTCGCGGGAACATCTGCATGGGG
+GCTGGTGCAGGTGATGGTGTCAGAAACAAAAGTGGCTTCCATCGCCGGGATTCAAAACTTTGGCAGTTTT
+GTTTTTGCTTCCTTTGCTCCGATCGTAACCGGTTGGGTCGTGGATACCACACACTCGTTTAATCTGGCGC
+TGGTTATCGCGGCCTGTGTGACGTTCACCGGGGCGCTGTGTTACTTCTTTATTGTCAAAGATCGGATTGA
+GTAACCGTTACTATCAGGCTCTCTTGCTGTGGGCCTGTAGAATAAAAAAAAGCGGATCCTGGAGATCCGC
+AAAAGTTCACGTTGGCTTTAGTTATTCGAGTTGAGAAACTCTCGAAACGGGCAGTGACTTCAAGGGTTAA
+AAGAGGTGCCGCTCCGTTTCTGTGAGCAATTATCAGTCAGAATGCTTGATAGGGATAATCGTTCGTTGCT
+ATGCTACCTATCGCCGCGAACTATCGTGGCAATGGAGGATGGATAATGAATATTCGTGATCTTGAGTACC
+TGGTGGCATTGGCCGAACACCGCCATTTTCGGCGTGCGGCAGATTCCTGCCACGTTAGCCAGCCGACGCT
+TAGCGGGCAAATTCGTAAGCTGGAAGATGAGTTGGGCGTGATGTTGCTGGAGCGGACCAGCCGTAAAGTG
+TTGTTCACCCAGGCGGGAATGCTGCTGGTGGATCAGGCGCGTACCGTACTGCGTGAGGTGAAAGTCCTGA
+AAGAGATGGCAAGCCAGCAGGGCGAGACGATGTCCGGGCCGCTGCATATTGGTTTGATTCCCACGGTTGG
+ACCGTACCTGCTACCGCATATTATCCCGATGCTGCACCAGACCTTTCCAAAGCTGGAAATGTATCTGCAT
+GAAGCACAGACCCACCAGTTACTGGCGCAACTGGACAGCGGCAAACTCGATTGCGTGATCCTCGCGCTGG
+TGAAAGAGAGCGAAGCATTCATTGAAGTGCCGTTGTTTGATGAGCCAATGTTGCTGGCTATCTATGAAGA
+CCACCCGTGGGCGAACCGCGAATGCGTACCGATGGCTGATCTGGCAGGGGAAAAACTGCTGATGCTGGAA
+GATGGTCACTGTTTGCGCGATCAGGCAATGGGTTTCTGTTTTGAAGCCGGGGCGGATGAAGATACACACT
+TCCGCGCGACCAGCCTGGAAACTCTGCGCAACATGGTGGCGGCAGGTAGCGGGATCACTTTACTGCCTGC
+GCTGGCTGTGCCGCCGGAACGCAAACGCGATGGGGTTGTTTATCTGCCGTGCATTAAGCCGGAACCACGC
+CGCACTATTGGCCTGGTTTATCGTCCTGGCTCACCGCTGCGCAGCCGCTATGAGCAGCTGGCAGAGGCCA
+TCCGCGCAAGAATGGATGGCCATTTCGATAAAGTGTTAAAACAGGCGGTTTAAGCCATTTAGCGCAGCTA
+CCCGATAGGCTTCCGCCATCGTCGGGTAGTTAAAGGTGGTGTTGACGAAGTACTCAATAGTGTTGCCGCC
+ACCTTTCTGTTCCATAATCGCCTGACCGATATGAATAATTTCGGCAGCGCGTTCGCCAAAGCAGTGAATA
+CCCAGAATCTCTTTTGTTTCCCGATGGAACAAAATTTTCAGCGTGCCCACGTTCATGCCGACGATTTGTG
+CACGTGCCAGATGTTTAAACTGGGCGCGGCCCACTTCATATGGCACTTTCATCGTGGTCAGCTGCTGTTC
+GGTTTTGCCTACAGAGCTGATTTCCGGGATGGTGTAAATGCCGGTAGGGATATCTTCAATCAGATGTGCG
+GTGGCTTCACCTTTCACCAGCGCCTGCGCGGCAATGCGCCCCTGGTCATAGGCTGCCGACGCCAGGCTCG
+GATAACCAATCACGTCGCCCACCGCGTAAACGTGCGGCTGTGCGGTCTGATACATGCTGTTGACCTTCAG
+CTGTCCGCGACTGTCAGTTTCCAGCCCAATGTTCTGTAACGCCAGCGAATCGGTATTACCGGTGCGACCG
+TTGGCATAGAGCAGACAGTCAGCTTTCAGTTTTTTACCCGACTTCAGATGCATGATCACACCGTCGTCAC
+AGCCTTCGATCTTCTCGTACTCTTCGTTGTGACGAATCACTACGCCACTGTTCCAGAAGTGATAGGAGAG
+AGAATCTGACATCTCTTGATCGAGAAATGCCAGCAGGCGATCGCGGGTGTTGATCAGATCCACTTTTACA
+TCCATACCGCGGAAGATCGACGCATATTCACAGCCGATCACTCCAGCACCGTAAATAAGTACATGGCGCG
+GTTCGTGGTGCATGCTAAGAATTGAGTCGCTGTCATAAATGCGTGGATGGGTGAAATCAACATCTGTTGG
+ATGATATGGACGAGAACCGCAGGCAATAACAAATTTTTCAGCAGTTAGTGTTTCGACGCTGCCGTCCGGG
+CAATCCAGCGCCAACGTATGCTCATCAACAAAGCGAGCGTTCCCCTGCAATATTTCACAGTGATTACGTT
+CGTAAAATCCCTGACGCATGCGCGTTTGTTGATTAATCACGTTATCGGCATGGTTAAGGATATCGGCAAA
+AGAAGAGCGGAGCAGTCGGGAATGGTCGCTGTATAGTGGGTTTTGATTGAATTCTATAATGCGGCTGACG
+GCGTGACGGAGAGCTTTCGACGGGATGGTGCCCCAGTGGGTGCAACCGCCGCCAACATTTTGATAACGCT
+CGATAACTGCGACGCGCGCACCTTGCTTAACCAGGCCCATCGCAGCGCCTTCGCCGCCGGGGCCGGAACC
+TATTACTATGGCATCGTAATCGTAGGAATGTGGCATGGTAGGGCTTACCTGTTCTTATACATAAAAGCAA
+CAGAATGGTAACATTTTATCGCGGGTAAGCCAATTGATCCCCGTCATTTATCTGGCTATATCGTGAGCGG
+CCTTTGCTTTGTCTTCCTCCTTCTTATTTTATTTATTCACTATTAATCGCTTTTTCTTATGGCTGATAGT
+TTTATCTTGCCGAAGCGTGCTTTTTTGTTATTGTCTTTATGAAATCTTCTTATAAAACAAATATATAGAT
+ATTTTATATTGATGAGTTATTTGTATTTATACCATCAATAAAATCCGTTAATTAGCCTGTTTATAAGTGA
+ATAAAGGAATAGCCGATGATCGAACACTATATTCGTGGGTTTGAAGAAGACCTTCGCGAGATCCGCCATC
+AGATCCACGAAAACCCGGAGCTGGGATTACAAGAATTTAAAACCAGTGCTTTGGTTGCGGAAAAACTGCG
+CCAGTGGGGCTATGAGGTTGAGCAAGGGCTGGCGACAACCGGCGTGGTAGCCACGTTAAAAGTGGGCGAC
+GGAGAGAAAAGTATTGGCCTGCGGGCGGATATGGATGCGTTGCCGATTTATGAAAATAGTGGCAAGCCCT
+GGGCCAGTAAACATCCTGGTTTAATGCACGCCTGCGGGCATGACGGGCATACCACCATACTGCTGGGGGC
+TGCGCGTTATTTTGCCGAAACCCGCCGTTTTAGCGGCACGTTACGCCTTATCTTCCAGCCTGCGGAAGAG
+ATGATTAACGGCGGTGAGATCATGGTTAAAGAGGGGCTTTTTGATCGTTTCCCCTGCGATGTCATTTTCG
+GGATGCACAACATGCCGGGTTTGCCGGTCGGCAAGTTTTTCTTCCAGCCTGGGGCGCTGATGGCGTCAAT
+GGATCAGTTCCATATTACGGTTCGTGGTTGTGGCGGACACGGTGCGATCCCGCACAAAGCCATCGATCCA
+GTGCTGGTTGCCGCACATATCACCACCGCATTACAAAGCATTGTGTCGCGCAATGTCGATCCGCTGGAAG
+CGGCGGTAATTACCGTCGGCAGCATTGTTGCGGGTGAGGCGGCTAACGTCATTCCTGACAGTGCTGAGAT
+GAAAATCAGTGTCCGCTCTCTTAGCCGCGATACCCGACAACTTCTTCTGACCCGTATTCCTGCTCTTGCA
+CAAGCCCAGGCTGCCAGCTTTGGCGCTACGGCTGAGGTTACGCATGTTAACGGTACACCGGTATTAGTAA
+ATGACGAGGAGATGGCGCGCTTCGCCTGGCAGGTGGCGTGCAAAACATTTGGTGAAGATCGGGCTGAGTT
+TGGCATCAAACCCCTGATGGGCAGTGAAGATTTCTCTTTCATGCTGGAAGCCCAACCCAAAGGCGGTTTC
+CTGTTATTCGGTAATGGCGATGTCGGGGAAGGTTCCTGCATGGTGCATAACCCCGGTTACGACTTTAACG
+ATGCAAGCCTGGTCCCGGCAAGCAGCTACTGGGGCGCACTGGTTGAAGCCTGGCTGCAATAAATAAAACA
+ACACACAACAACACTTTTTGGCAAGGAACATGGAATGACGGCGATCGTAAATGAAACCGTGAGTGTGAAG
+AAAAAGCCCAGCGGCAGGCGGGTGATCTTTGCCTCGGCGTTTGGCAATGCGCTCGAATTTTTTGATTTTG
+GCGTTTACAACTTTTTTGTGGTCTATATCAGTACGCTTTTCTTCCCTCCCAGTGCCGATCATAACGTCGC
+GCTGTTACTGGCATTTGCAACGTTTGGTGTGAGCTTTTTTATGCGTCCGCTCGGTGGGATTATCGTTGGT
+GCCTGGGCCGATCGCTTCGGGCGTAAACCGGCGATGGTGTTCACTATTGCTCTGATGAGCCTCGGTACGC
+TGATGATCGGCATCGCACCGACGTATGAAACGGCGGGCTATTGGGGAACTGCAACGCTGGTGCTGGCGCG
+TCTAATTCAGGGCGTTGCGGCAGGTGGTGAAGTCGGGGCTTCAATGTCGCTACTGGTGGAGTCAGCTCCG
+GCAAATCGTCGCGGCTTTTACAGCAGTTGGTCACTGGCGACCCAAGGGCTGGCAACGACCTTCGGTGGGG
+TTGTTGCTTTAGGTCTGAGCGCATGGCTACCGTTCGCCACAGGTTCAGAAACCGTAATGGCAGAATGGGG
+CTGGCGTGTGCCGTTTTTTATTGGCGTGTTATTAGCACCTATCGGTTGCTGGTTGCGTCTGAGCCTGGAA
+AATGACGTACCTGAGCCAGTGCGCAATAAAAAAGCTGCTACCAGCGAAAGCGCGTTTTCTCTGCTCCTGC
+AACATAAGGCGACTATCGTTAATGGCGTTTTACTCGCTATTGGTAGCACGGTCGCAACCTATATCTCCCT
+CTTTTATTACGGCACCTGGGCGGCGAAGTATCTGGCGATGCCTCAACATTATTCTCATGCAGCGATGTTA
+CTGGCGGGGGTAATTACGTTTGTGGGTGCGCTGTTGGTGGGGATGCTATGTGATTCGGTTGGGCGTAAAA
+AGCTGATTTTAATCTCCCGTGTGATGGTGCTTCTCTGTAGCTGGCCGTCATTCTGGCTGTTGGTGAATTA
+CCCAAGCCCTGGCATGTTGCTGACGGTGGTTTTCGTGATGGTCAGCTTTACCACGCTTGGCGGTGTGCCA
+GTGATGTTGTTGATCTCTGAACTGTTGCCGAAACGGATTCGGGCATTAGGTTTCGCGCTGGTTTATAGCA
+TTGGCGTAGCAATCTTTGGCGGTTTTGCGCAATATTTCGCCACGCAATCCATCGTGTTGCTGGATAGTCT
+GACGGCTCCGGCGTGGTATCTGGGGGGAGGCACGTTGCTGTCGATGCTGGCGTTGTTGTACGTAAAAGAA
+CCGGCCAAAGAATTGCAGTAAATATGTTTTATTGCGTTACCGTTCATTCACAACACTGGAGCAATCCAGT
+ATGTTCATTCTCTGGTATAGTGCCAGCAGTACTTTTGGCAAGGATTCAGACATCGTGATGGGCGTAAGAG
+CGCAACAAAAAGAAAAAACCCGCCGTTCGCTGGTGGAAGCCGCATTTAGCCAATTAAGTGCTGAACGCAG
+CTTCGCCAGCCTGAGTTTGCGTGAAGTGGCACGAGAAGCAGGCATTGCTCCCACCTCTTTTTATCGGCAT
+TTCCGCGACGTAGACGAACTGGGTCTGACCATGGTTGATGAGAGCGGTTTAATGCTACGCCAACTCATGC
+GTCAGGCGCGTCAGCGTATCGCCAAAGGCGGGAGTGTGATCCGCACCTCGGTCTCCACATTTATGGAGTT
+CATCGGTAATAATCCTAACGCCTTCCGGTTATTATTGCGGGAACGCTCCGGCACCTCCGCTGCGTTTCGT
+GCCGCCGTTGCGCGTGAAATTCAGCACTTCATTGCGGAACTTGCGGACTATCTGGAACTCGAAAACCATA
+TGCCGCGTGCGTTTACTGAAGCGCAAGCCGAAGCAATGGTGACGATTGTCTTCAGTGCGGGGGCCGAGGC
+GTTGGATGTCGGCGTCGAGCAACGCCGGCAATTAGAAGAGCGACTGGTACTGCAGCTGCGAATGATTTCG
+AAAGGGGCTTATTACTGGTATCGCCGTGAACAAGAGAAAACCACAATTATTCCGGGAAATGTGAAGGACG
+AGTAATGAAACAAGCAAATCAAGATAGAGGTACGCTGCTGCTAGCGTTGGTTGCTGGCTTATCGATCAAT
+GGTACTTTTGCAGCGCTGTTTAGCTCCATTGTACCATTTTCTGTATTCCCGATTATTTCCCTGGTGTTGA
+CAGTTTACTGCCTGCATCAACGTTATCTTAATCGCACTATGCCGGTAGGCTTGCCGGGTCTGGCAGCTGC
+TTGTTTTATTCTCGGCGTACTGCTGTACAGCACGGTAGTTCGTGCGGAATATCCGGATATCGGCTCTAAC
+TTCTTCCCGGCAGTACTGTCCGTCATTATGGTGTTCTGGATTGGCGCGAAGATGCGTAACCGTAAGCAGG
+AAGTTGCTGAGTAATCGGTATCATGCCGGATGCAAGCGCATCCGGCATGGGTTTTACTTCGCGGTCAGTA
+ATACGCCGCACTCCATATGGTGCGTGTAGGGGAACTGATCAAATAGAGCCAGACGTTCGACCTTGTGCGT
+CTGGCTTAATGTTTCCAGATTCTTGCATAACGTTTCCGGATTGCAGGAGATATACAGAATACGTGGATAC
+GCCTGCACCATTTTCTCGGTTTCACTGTCCAGACCGCTGCGCGGTGGGTCGACAAAAATGGTTTCGCACT
+GATAACTCTTTAAGTCGATTCCTTGCAGGCGGTTAAACTCGCGCACACCATTCATCGCCTGAGTAAATTC
+TTCTGCCGCCATACGAATAATTTGTACGTTATCAATATGGTTAGCGGCAATGTTGTATTGCGCGGCGGCG
+ACTGACGGCTTGGCGATTTCGGTGGCTAATACCCGATCAAAATTGCGTGCCAGCGCTAATGAAAAGTTAC
+CGTTGCCGCAGTATAGCTCCAGTAAATCGCCTTTTGAGCCTTTGGTTACGTCCAGCGCCCATTCCAGCAT
+CTGAATATTCATCGCCGCGTTCGGTTGGGTAAAGCTGTTTTCTACCTGACGGTAGATCATCTCTTTCCCC
+GCGATCGGCAGACGTTCGTCGATGTAATCCTGATCCAGCGCGATTTTGGTTTTCGTTGCCCGACCAATCA
+GATGCACATTCAGATTCTGCGCGCGCAGTGCATCGCGCAGGGCTTCCGCCTGCTGACGCCACTCATCATC
+CAGCTTTTTATGGTACAGCAAGGAAACAACCGCTTGATTGCTTAGCGTAGTGAGGTAATCAATCTGGAAC
+AACTTGTGGCGCAGAATGGGATTATTACGCACACCCGCAATCATCGCCGTCATCAACTGGTTGATAAGTT
+CACTGGCGGCGGGGAAGCTATCCACACGGATACGACTTTTGGTTTGTTGATCGAAAATGATGTGGTACAG
+GTCATCGCCATCGTGCCAGATGCGGAACTCCGCACGCATCCGATAATGACTGACCGGCGAGCGAAACACT
+TCCGGAACCAGGTCAGAAAACGGTGCCATCATACTTTGCAAACGTACCACTTTTTCGGCTAACTGCGCTT
+CATACTGTTCTGTTGGAAGGTGTTCGGGGGTCATGATGTATCCTGAAAAATTAAAGTACGCGGCGATTGT
+AGGGATTGCTCATCAGATGTCCAGATCTTGATGAATTCCTATTTGTGAGCTACGTCTGGACAGTAACTTG
+TTACAACCTGTAGCATCCACTTGCCGGTCCTGTGAGTTAATAGGGAATCCAGTGCGAATCTGGAGCTGAC
+GCGCAGCGGTAAGGAAAGGTGCGATGATTGCGTTATGCGGACACTGCCATCCGGTGGGAAGTCATCATCT
+CTTAGTATCTTAGATACCCCTCCAAGCCCGAAGACCTGCCGGCCAACGTCGCATCTGGTTCTCATCATCG
+CGTAATATTGATGAAACCTGCGGCATCCTTCTTCTATTGTGGATGCTTTACAATGATTAAAAAAGCTTCG
+CTGCTGACGGCGTGTTCCGTCACGGCATTTTCCGCTTGGGCACAGGATACCAGCCCGGATACTCTCGTCG
+TTACTGCTAACCGTTTTGAACAACCGCGCAGCACTGTGCTTGCGCCAACTACTGTTGTGACGCGTCAGGA
+TATCGACCGCTGGCAGTCGACCTCGGTCAATGATGTGCTGCGCCGTCTTCCGGGCGTGGATATCACCCAA
+AACGGCGGTTCAGGTCAGCTCTCATCTATTTTTATTCGCGGTACAAATGCCAGTCATGTGTTGGTGTTAA
+TTGATGGCGTCCGCCTGAATTTGGCGGGGGTGAGTGGTTCTGCTGATCTTAGTCAGTTCCCTATTGCGCT
+TGTCCAGCGTGTTGAATATATCCGTGGGCCGCGCTCCGCTGTTTATGGTTCAGATGCAATAGGCGGGGTC
+GTGAATATCATCACGACGCGCGATCACCCCGGAACGGAAATTTCAGCAGGGTGGGGAAGCAATAGTTATC
+AGAACTATGATGTCTCTACACAGCAACAACTGGGGGATAAGACACGGGTAACGCTGTTGGGCGATTATGC
+CCATACTCATGGTTATGATGTTGTCGCCTATGGTAATACCGGAACGCAAGCGCAGCCAGATAACGATGGT
+TTTTTAAGTAAAACGCTTTATGGCGCGCTGGAGCATAATTTTACTGATGTATGGAGCGGCTTTGTGCGCG
+GCTATGGCTATGATAATCGTACCAATTATGACGCATATTATTCTCCCGGCTTGCCACTGGTCGATACCCG
+TAAACTCTATAGCCAAAGTTGGGATGCCGGATTGCGCTATAACGGTGAACTGATTAAATCACAACTGATT
+ACCAGCTACAGCCATAGCAAAGATTACAACTACGATCCGCATTATGGTCGTTATGATTCGTCCGCGACGC
+TCGATGAGATGAAACAGTACACCGTCCAGTGGGCAAACAACATCATCATTGGCCACGGTAATATTGGTGC
+GGGTGTTGACTGGCAGAAGCAGAGCACGGCACCGGGCACAGCTTATGTTGAGGATGGATATGATCAACGT
+AATACCGGCATCTATCTGACTGGGCTGCAGCAAGTCGGCGATTTTACTTTTGAAGGCGCAGGACGCAGCG
+ACGATAACTCTCAGTTTGGTCGTCATGGTACCTGGCAAACCAGCGCCGGTTGGGAGTTCATCGAAGGTTA
+TCGCTTTATTGCTTCCTACGGAACATCTTATAAGGCACCAAATCTTGGGCAACTGTACGGCTCCTACGGT
+AATCCGAATCTGAATCCTGAGAAAAGCAAACAATGGGAAGGCGCGTTTGAAGGCTTAACTGCTGGGGTTA
+ACTGGCGTATTTCCGGATATCGTAACGATGTCAGTGACTTGATCGATTATGATGATCACACCCTGAAATA
+TTACAACGAAGGGAAAGCGCGGATTAAGGGTGTCGAGGCGACCGCCAATTTTGATACCGGACCACTGACG
+CATACTGTGAGTTATGATTATGTTGATGCGCGCAATGCGATTACTGACACGCCGTTGTTACGCCGTGCTA
+AACAGCAGGTGAAATACCAGCTCGACTGGCAGTTGTATGACTTCGACTGGGGGATTACTTATCAGTATTT
+AGGCACTCGCTATGATAAGGATTACTCCTCTTATCCTTATCAAACCGTTAAAATGGGCGGTGTGAGCTTG
+TGGGATCTTGCGGTTGCGTATCCGGTCACCTCTCACCTGACAGTTCGTGGTAAAATAGCCAACCTGTTCG
+ACAAAGATTATGAGACAGTCTATGGCTACCAAACTGCAGGACGGGAATACACCTTGTCTGGCAGCTACAC
+CTTCTGAACCACGTCCCACCGTGCTGGTGTTTGACTCCGGCGTCGGTGGGTTGTCGGTCTATGACGAGAT
+CCGGCATCTCTTACCGGATCTCCATTACATTTATGCTTTCGATAACGTCGCTTTCCCGTATGGCGAAAAA
+AGCGAAGTGTTTATTGTTGAGCGAGTGGTGGAAATTGTCACCGCAGTGCAAGAACGTTATCCCCTTGCGC
+TGGCTGTGGTCGCTTGCAACACCGCCAGTACCGTTTCACTTCCTGCATTACGCGAAAAGTTCGACTTCCC
+GGTTGTTGGTGTCGTGCCGGCGATTAAACCTGCTGCACGTCTGACGGCAAATGGCATTGTCGGATTACTG
+GCAACCCGCGGAACTGTTAAACGTTCTTATACTCATGAGCTGATCGCGCGTTTCGCTAATGAATGCCAGA
+TAGAAATGCTGGGCTCGGCAGAGATGGTTGAGTTGGCTGAAGCGAAGCTGCATGGCGAAGATGTTTCTCT
+GGATGCGCTAAAACGTATCCTACGCCCGTGGTTAAGAATGAAAGAGCCGCCAGATACCGTTGTACTGGGG
+TGTACCCATTTCCCTCTACTACAAGAAGAACTGTTACAGGTGCTGCCAGAGGGAACCCGGCTGGTGGATT
+CTGGCGCAGCGATTGCTCGCCGAACGGCCTGGCTGTTAGAACATGAAGCCCCGGATGCAAAATCTGCCGA
+TGCGAATATTGCATTTTGTATGGCAATGACGCCAGAAGCTGAACAATTATTGCCCGTTTTACAGCGTTAC
+GGCTTCGAAACGCTCGAAAAACTGGCAGTTTTAGATTGATTTGGTTGAATGTTGCGCGGTTAGAAAATTA
+TTTTAAATTTCCTCTTGTCAGGCCGGAATAACTCCCTATAATGCGCCACCACTGACACGGAACAACGGCA
+AACACGCCGCCGGGTCAGCGGGGTTCTCCTGAGAACTTCGGCAGAGAAAGCAAAAATAAATGCTTGACTC
+TGTGGCGGGAAAGCGTATTATGCACACCCCGCGCCGCTGAGAAAAAGCGAAGCGGCACTGCTCTTTAACA
+ATTTATCAGACAATCTGTGTGGGCACTCGAAGATACGGATTCTTAACGTCGCAAGACGAAAAATGAATAC
+CAAGTCTCAAGAGTGAACACGTAATTCATTACGAAGTTTAATTCTTTGAGCGTCAAACTTTTAAATTGAA
+GAGTTTGATCATGGCTCAGATTGAACGCTGGCGGCAGGCCTAACACATGCAAGTCGAACGGTAACAGGAA
+GAAGCTTGCTTCTTTGCTGACGAGTGGCGGACGGGTGAGTAATGTCTGGGAAACTGCCTGATGGAGGGGG
+ATAACTACTGGAAACGGTAGCTAATACCGCATAACGTCGCAAGACCAAAGAGGGGGACCTTCGGGCCTCT
+TGCCATCGGATGTGCCCAGATGGGATTAGCTAGTAGGTGGGGTAACGGCTCACCTAGGCGACGATCCCTA
+GCTGGTCTGAGAGGATGACCAGCCACACTGGAACTGAGACACGGTCCAGACTCCTACGGGAGGCAGCAGT
+GGGGAATATTGCACAATGGGCGCAAGCCTGATGCAGCCATGCCGCGTGTATGAAGAAGGCCTTCGGGTTG
+TAAAGTACTTTCAGCGGGGAGGAAGGGAGTAAAGTTAATACCTTTGCTCATTGACGTTACCCGCAGAAGA
+AGCACCGGCTAACTCCGTGCCAGCAGCCGCGGTAATACGGAGGGTGCAAGCGTTAATCGGAATTACTGGG
+CGTAAAGCGCACGCAGGCGGTTTGTTAAGTCAGATGTGAAATCCCCGGGCTCAACCTGGGAACTGCATCT
+GATACTGGCAAGCTTGAGTCTCGTAGAGGGGGGTAGAATTCCAGGTGTAGCGGTGAAATGCGTAGAGATC
+TGGAGGAATACCGGTGGCGAAGGCGGCCCCCTGGACGAAGACTGACGCTCAGGTGCGAAAGCGTGGGGAG
+CAAACAGGATTAGATACCCTGGTAGTCCACGCCGTAAACGATGTCGACTTGGAGGTTGTGCCCTTGAGGC
+GTGGCTTCCGGAGCTAACGCGTTAAGTCGACCGCCTGGGGAGTACGGCCGCAAGGTTAAAACTCAAATGA
+ATTGACGGGGGCCCGCACAAGCGGTGGAGCATGTGGTTTAATTCGATGCAACGCGAAGAACCTTACCTGG
+TCTTGACATCCACGGAAGTTTTCAGAGATGAGAATGTGCCTTCGGGAACCGTGAGACAGGTGCTGCATGG
+CTGTCGTCAGCTCGTGTTGTGAAATGTTGGGTTAAGTCCCGCAACGAGCGCAACCCTTATCCTTTGTTGC
+CAGCGGTCCGGCCGGGAACTCAAAGGAGACTGCCAGTGATAAACTGGAGGAAGGTGGGGATGACGTCAAG
+TCATCATGGCCCTTACGACCAGGGCTACACACGTGCTACAATGGCGCATACAAAGAGAAGCGACCTCGCC
+GAGAGCAAGCGGACCTCATAAAGTGCGTCGTAGTCCGGGATTTGGAGTCTGCAACTCGACTCCATTGAAG
+TCGGAATCCCTAGGTAATACGTGGATCAGAATGCCACCGGGTGAAATACGTTCCCAGGCCTTGTACCCAC
+CGCCCGTCACACCATGGGAGTGGGTTGCAAAAGAAGTAGGTAGCTTAACCTTCGGGAGGGCGCTTACCAC
+TTTGTGATTCATGACTGGGGTGAAGTCGTAACAAGGTAACCGTAGGGGAACCTGCGGTTGGATCACCTCC
+TTACCTTAAAGAAGCGTACTTTGTAGTGCTCACACAGATTGTCTGATAGAAAGTGAAAAGCAAGGCGTTT
+ACGCGTTGGGAGTGAGGCTGAAGAGAATAAGGCCGTTCGCTTTCTATTAATGAAAGCTCACCCTACACGA
+AAATATCACGCAACGCGTGATAAGCAATTTTCGTGTCCCCTTCGTCTAGAGGCCCAGGACACCGCCCTTT
+CACGGCGGTAACAGGGGTTCGAATCCCCTAGGGGACGCCACTTGCTGGTTTGTGAGTGAAAGTCGCCGAC
+CTTAATATCTCAAAACTCATCTTCGGGTGATGTTTGAGATATTTGCTCTTTAAAAATCTGGATCAAGCTG
+AAAATTGAAACACTGAACAACGAAAGTTGTTCGTGAGTCTCTCAAATTTTCGCAACACGATGATGAATCG
+AAAGAAACATCTTCGGGTTGTGAGGTTAAGCGACTAAGCGTACACGGTGGATGCCCTGGCAGTCAGAGGC
+GATGAAGGACGTGCTAATCTGCGATAAGCGTCGGTAAGGTGATATGAACCGTTATAACCGGCGATTTCCG
+AATGGGGAAACCCAGTGTGATTCGTCACACTATCATTAACTGAATCCATAGGTTAATGAGGCGAACCGGG
+GGAACTGAAACATCTAAGTACCCCGAGGAAAAGAAATCAACCGAGATTCCCCCAGTAGCGGCGAGCGAAC
+GGGGAGGAGCCCAGAGCCTGAATCAGTGTGTGTGTTAGTGGAAGCGTCTGGAAAGGCGCGCGATACAGGG
+TGACAGCCCCGTACACAAAAATGCACATGCTGTGAGCTCGATGAGTAGGGCGGGACACGTGGTATCCTGT
+CTGAATATGGGGGGACCATCCTCCAAGGCTAAATACTCCTGACTGACCGATAGTGAACCAGTACCGTGAG
+GGAAAGGCGAAAAGAACCCCGGCGAGGGGAGTGAAAAAGAACCTGAAACCGTGTACGTACAAGCAGTGGG
+AGCACGCTTAGGCGTGTGACTGCGTACCTTTTGTATAATGGGTCAGCGACTTATATTCTGTAGCAAGGTT
+AACCGAATAGGGGAGCCGAAGGGAAACCGAGTCTTAACTGGGCGTTAAGTTGCAGGGTATAGACCCGAAA
+CCCGGTGATCTAGCCATGGGCAGGTTGAAGGTTGGGTAACACTAACTGGAGGACCGAACCGACTAATGTT
+GAAAAATTAGCGGATGACTTGTGGCTGGGGGTGAAAGGCCAATCAAACCGGGAGATAGCTGGTTCTCCCC
+GAAAGCTATTTAGGTAGCGCCTCGTGAATTCATCTCCGGGGGTAGAGCACTGTTTCGGCAAGGGGGTCAT
+CCCGACTTACCAACCCGATGCAAACTGCGAATACCGGAGAATGTTATCACGGGAGACACACGGCGGGTGC
+TAACGTCCGTCGTGAAGAGGGAAACAACCCAGACCGCCAGCTAAGGTCCCAAAGTCATGGTTAAGTGGGA
+AACGATGTGGGAAGGCCCAGACAGCCAGGATGTTGGCTTAGAAGCAGCCATCATTTAAAGAAAGCGTAAT
+AGCTCACTGGTCGAGTCGGCCTGCGCGGAAGATGTAACGGGGCTAAACCATGCACCGAAGCTGCGGCAGC
+GACGCTTATGCGTTGTTGGGTAGGGGAGCGTTCTGTAAGCCTGCGAAGGTGTGCTGTGAGGCATGCTGGA
+GGTATCAGAAGTGCGAATGCTGACATAAGTAACGATAAAGCGGGTGAAAAGCCCGCTCGCCGGAAGACCA
+AGGGTTCCTGTCCAACGTTAATCGGGGCAGGGTGAGTCGACCCCTAAGGCGAGGCCGAAAGGCGTAGTCG
+ATGGGAAACAGGTTAATATTCCTGTACTTGGTGTTACTGCGAAGGGGGGACGGAGAAGGCTATGTTGGCC
+GGGCGACGGTTGTCCCGGTTTAAGCGTGTAGGCTGGTTTTCCAGGCAAATCCGGAAAATCAAGGCTGAGG
+CGTGATGACGAGGCACTACGGTGCTGAAGCAACAAATGCCCTGCTTCCAGGAAAAGCCTCTAAGCATCAG
+GTAACATCAAATCGTACCCCAAACCGACACAGGTGGTCAGGTAGAGAATACCAAGGCGCTTGAGAGAACT
+CGGGTGAAGGAACTAGGCAAAATGGTGCCGTAACTTCGGGAGAAGGCACGCTGATATGTAGGTGAGGTCC
+CTCGCGGATGGAGCTGAAATCAGTCGAAGATACCAGCTGGCTGCAACTGTTTATTAAAAACACAGCACTG
+TGCAAACACGAAAGTGGACGTATACGGTGTGACGCCTGCCCGGTGCCGGAAGGTTAATTGATGGGGTTAG
+CGCAAGCGAAGCTCTTGATCGAAGCCCCGGTAAACGGCGGCCGTAACTATAACGGTCCTAAGGTAGCGAA
+ATTCCTTGTCGGGTAAGTTCCGACCTGCACGAATGGCGTAATGATGGCCAGGCTGTCTCCACCCGAGACT
+CAGTGAAATTGAACTCGCTGTGAAGATGCAGTGTACCCGCGGCAAGACGGAAAGACCCCGTGAACCTTTA
+CTATAGCTTGACACTGAACATTGAGCCTTGATGTGTAGGATAGGTGGGAGGCTTTGAAGTGTGGACGCCA
+GTCTGCATGGAGCCGACCTTGAAATACCACCCTTTAATGTTTGATGTTCTAACGTTGGCCCGTAATCCGG
+GTTGCGGACAGTGTCTGGTGGGTAGTTTGACTGGGGCGGTCTCCTCCTAAAGAGTAACGGAGGAGCACGA
+AGGTTGGCTAATCCTGGTCGGACATCAGGAGGTTAGTGCAATGGCATAAGCCAGCTTGACTGCGAGCGTG
+ACGGCGCGAGCAGGTGCGAAAGCAGGTCATAGTGATCCGGTGGTTCTGAATGGAAGGGCCATCGCTCAAC
+GGATAAAAGGTACTCCGGGGATAACAGGCTGATACCGCCCAAGAGTTCATATCGACGGCGGTGTTTGGCA
+CCTCGATGTCGGCTCATCACATCCTGGGGCTGAAGTAGGTCCCAAGGGTATGGCTGTTCGCCATTTAAAG
+TGGTACGCGAGCTGGGTTTAGAACGTCGTGAGACAGTTCGGTCCCTATCTGCCGTGGGCGCTGGAGAACT
+GAGGGGGGCTGCTCCTAGTACGAGAGGACCGGAGTGGACGCATCACTGGTGTTCGGGTTGTCATGCCAAT
+GGCACTGCCCGGTAGCTAAATGCGGAAGAGATAAGTGCTGAAAGCATCTAAGCACGAAACTTGCCCCGAG
+ATGAGTTCTCCCTGAGACTTAGAGTCTCCTGAAGGAACGTTGAAGACGACGACGTTGATAGGCCGGGTGT
+GTAAGCGCAGCGATGCGTTGAGCTAACCGGTACTAATGAACCGTGAGGCTTAACCTTACAACGCCGAAGA
+TGTTTTGGCGGATGAGAGAAGATTTTCAGCCTGATACAGATTAGATTAACCGGCGACAAGCGGGTTAATG
+AAACAGAATTTGCCTGGCGGCCTTAGCGCGGTGGTCCCACCTGACCCCATGCCGAACTCAGAAGTGAAAC
+GCCGTAGCGCCGATGGTAGTGTGGGGTCTCCCCATGCGAGAGTAGGGAACTGCCAGGCATCAAATTAAGC
+GAAAGGCCCAGTCGGAAGACTGGGCCTTTTTGCGTGTCTATAAACTCTTCCTGTCATCATATCTACAAGC
+CATCCCCCCACAGATACGGTAAACTAGCCTCGTTTTTGCATCAGGAAAGCAGCTATGAACCACTCCTTAA
+AACCCTGGAACACATTTGGCATTGATCATAATGCTCAGCACATTGTATGTGCCGAAGACGAACAACAATT
+ACTCAATGCCTGGCAGCATGCAACCGCAGAAGGACAACCCGTTCTTATTCTGGGTGAAGGAAGTAATGTA
+CTTTTTCTGGAGGACTATCGCGGCACGGTGATCATCAACCGGATCAAAGGTATCGAAATTCATGATGAAC
+CTGATGCGTGGTATTTACATGTAGGAGCCGGAGAAAACTGGCATCGCCTGGTAAAATACACTTTGCAGGA
+AGGTATGCCTGGTCTGGAAAATCTGGCATTAATTCCTGGTTGTGTCGGCTCATCACCTATCCAGAATATT
+GGTGCTTATGGCGTAGAATTACAGCGAGTTTGCGCTTATGTTGATTGTGTTGAACTGGCGACAGGCAAGC
+AAGTACGCTTAACTGCCAAAGAGTGCCGTTTTGGCTATCGCGACAGTATTTTTAAACATGAATACCAGGA
+TCGCTTCGCCATTGTAGCCGTAGGTCTGCGTCTGCCAAAAGAGTGGCAACCTGTACTAACGTATGGTGAC
+TTAACTCGTCTGGATCCTACAACAGTAACGCCACAGCAAGTATTTGATGCGGTGTGTCATATGCGCACCA
+CCAAACTCCCTGATCCAAAAGTGAACGGTAATACGGGTAGTTTCTTCAAAAATCCTGTTGTTTCTGCCGA
+AACTGCTAACGCGTTGTTGGCGCAATTTCCAACAGCCCCACATTACCCCCAGGTGGATGGTTCAGTAAAA
+CTGGCCGCGGGTTGGCTGATTGATCAGTGCCAGCTTAAAGGGACGCAAATTGGTGGGGCTGCGGTACACC
+GTCAACAGGCGCTGGTTCTCATAAATGAGCACGATGCAAAAAGCGAAGATGTTGTACAGCTGGCGCATCA
+TGTAAGACAAAAAGTGGGTGAAAAATTTAATGTCTGGCTTGAGCCTGAAGTCCGCTTTATTGGTGCATCA
+GGTGAAGTGAGCGCAGTGGAGACAATTTCATGAAGGATAACACCGTGCCACTGAAATTGATCGCCCTGTT
+AGCGAACGGTGAATTTCACTCTGGCGAGCAGTTGGGTGAAACGCTGGGAATGAGCCGGGCGGCTATTAAT
+AAACACATTCAGACACTGCGTGACTGGGGCGTTGATGTATTTACTGTTCCGGGTAAAGGATACAGCTTGC
+CCGAGCCAATCCAGTTACTTAATGCCGAAAAGATATTGAGTCAGCTGGATGACGGCAGTGTAGCCGTGCT
+GCCAGTTATTGACTCCACGAATCAGTATCTCCTGGACCGCATCGGAGAGCTTAAATCTGGCGATGCCTGT
+GTTGCAGAATACCAGCATGCTGGTCGTGGTCGTCGTGGTCGGAAATGGTTTTCGCCTTTTGGCGCGAACT
+TATATTTGTCGATGTTCTGGCGTCTGGAACAGGGCCCGGCGGCGGCGATCGGTTTAAGTCTGGTTATCGG
+TATCGTGATGGCGGAAGTATTACGCAAGCTGGGTGCAGATAAAGTTCGTGTTAAATGGCCTAATGACCTC
+TATCTGCAGGATCGCAAGCTGGCAGGCATTCTTGTGGAGCTGACTGGCAAAACCGGCGATGCGGCGCAAA
+TAGTCATTGGTGCAGGGATCAACATGGCAATGCGTCGTGTTGAAGAGAGTGTCGTTAATCAAGGGTGGAT
+CACGCTGCAGGAAGCCGGGATCAATCTCGATCGTAATACTCTTGCGGCCATGCTGATACGTGAATTACGC
+GCGGCGCTGGAACTCTTCGAGCAAGAAGGATTGGCACCTTATCTTTCGCGCTGGGAAAAGTTGGATAATT
+TTATTAATCGCCCAGTGAAACTTATCATTGGTGATAAAGAAATATTTGGCATTTCACGCGGAATAGACAA
+ACAGGGTGCTTTATTACTTGAGCAGGATGGAATAATAAAACCCTGGATGGGCGGTGAAATATCCCTGCGT
+AGTGCAGAAAAATAAGAAAGGGGAGCATTAGCTCCCCTGAAAATTATTTGCGTAGTCTGACCTCTTCTAC
+TGCATGATTAGCACTTTTCGTCAGGATTAAACTGGCACGCTCGCGAGTAGGTAGAATATTTTGCTTTAAG
+TTCAGCCAGTTGATCTCTTTCCACAATGTCATGGCTGTCTTAATAGCTTCTTCTTTAGTTAATTTCGCGT
+AGTTATGAAAATAGGAATCCGGGTCTGTAAAAGCCCCTTCGCGGAATTTCAGAAAACGGTTGATATACCA
+CGTCTGAAGTAAGTCTTCCGGTGCATCAACATATATCGAAAAATCGACAAAATCAGAAACAAATACATGA
+TGTGGATCGTGTGGATAATCCATCCCGCTCTGTAAGACATTTAACCCTTCAAGAATTAAAATATCAGGCT
+GAACAACAGTTTTATCTCCATCCGGGATCACATCATAAATAAGATGCGAGTAAACAGGGGCTGTAACGTT
+TGGCACGCCGGATTTGAGATCGGAAACAAACTTCACCAGGCGATGCATATCATACGATTCCGGGAAGCCT
+TTCTTCTTCATCAGACCACGTTCTTTCAGAACCTGATTAGGGTGAAGGAAGCCATCTGTAGTGATCAGTT
+CAACACGACGATGTTCCGGCCAACGGCTTAATAGCGCCTGCAATACACGGGCGGTTGTACTTTTCCCCAC
+CGCGACACTACCAGCAATACTGATAATGTAAGGAATGCGTTGCCCGTTGGTACCAAGAAACTGTTCCAGA
+ACTGCCTGACGGCGCAGATTCGAGCTTATATAGAAGTTCAGCAAACGTGACAGAGGTAAATAGATCTCGG
+CAACTTCTTCTAACGAGAGATCTTCATTAATACCTTTGAGACGGGCGATCTCATCTTCCGATAACGTCAT
+AGGTACGGAATCACGCAGAGCTGCCCACTGGTTGCGGTCAAACTGTAGGTAAGGCGTCATTAACGTTTGC
+TCTTTTATACTCATAAGCATGTTTCTGGCGGTCATAGCTCTATCGGCAAAGCGATATTTGCCATGGCGCG
+TCACAGTTCTGTTGAATGGGTTAATGGGCAGGAGGGTAACACCAGATGGGGAGGAATAATAAGAAAAAAT
+CTCTCCCAGGAAGCTATCGTTGAAAAGCAATGTGACAGATATTCCATCTGATAAAAAGAATTGCGATTTA
+GCTGGCGCACATTGTTAAGCAGAGTGATGCTGAAAAAGTATGCTAATCTGCTCTTAACCCGGCTGTTTCT
+TCATCGTGTCGAACAAAATGTGACCAACAAAACAAATTATGCAATTTTTTAGTTGCATGAACTCGCATGT
+CTCCATAGAATGCGCGCTACTTGATGCCGACTTAGCTCAGTAGGTAGAGCAACTGACTTGTAATCAGTAG
+GTCACCAGTTCGATTCCGGTAGTCGGCACCATCAAGTCCGGTGGGGTTCCCGAGCGGCCAAAGGGAGCAG
+ACTGTAAATCTGCCGTCACAGACTTCGAAGGTTCGAATCCTTCCCCCACCACCAATTTCGGCCACGCGAT
+GGCGTAGCCCGAGACGATAAGTTCGCTTACCGGCTCGAATAAAGAGAGCTTCTCTCGATATTCAGTGCAG
+AATGAAAATCAGGTAGCCGAGTTCCAGGATGCGGGCATCGTATAATGGCTATTACCTCAGCCTTCCAAGC
+TGATGATGCGGGTTCGATTCCCGCTGCCCGCTCCAAGATGTGCTGATATAGCTCAGTTGGTAGAGCGCAC
+CCTTGGTAAGGGTGAGGTCGGCAGTTCGAATCTGCCTATCAGCACCACTTCTTTTCTCCTCCCTGTTTTT
+TCCTTCTGTTTATTGCATTCAACAAGTCGGGCATGTTGCCTGGTTGATGTGGTGATATCACCGATTTATC
+CGTGTCTTAGAGGGACAATCGATGTCTAAAGAAAAGTTTGAACGTACAAAACCGCACGTTAACGTCGGTA
+CTATCGGCCACGTTGACCATGGTAAAACAACGCTGACCGCTGCAATCACTACCGTACTGGCTAAAACCTA
+CGGCGGTGCTGCTCGCGCATTCGACCAGATCGATAACGCGCCGGAAGAAAAAGCTCGTGGTATCACCATC
+AACACTTCTCACGTTGAATACGACACCCCGACCCGTCACTACGCACACGTAGACTGCCCGGGGCACGCCG
+ACTATGTTAAAAATATGATCACCGGTGCTGCTCAGATGGATGGCGCGATCCTGGTAGTTGCTGCGACTGA
+CGGCCCGATGCCGCAGACTCGTGAGCATATCCTGCTGGGTCGTCAGGTAGGCGTTCCGTACATCATCGTG
+TTCCTGAACAAATGCGACATGGTTGATGACGAAGAGCTGCTGGAACTGGTTGAAATGGAAGTTCGTGAAC
+TTCTGTCTCAGTACGACTTCCCGGGCGACGACACTCCGATCGTTCGTGGTTCTGCTCTGAAAGCGCTGGA
+AGGCGACGCAGAGTGGGAAGCGAAAATCCTGGAACTGGCTGGCTTCCTGGATTCTTACATTCCGGAACCA
+GAGCGTGCGATTGACAAGCCGTTCCTGCTGCCGATCGAAGACGTATTCTCCATCTCCGGTCGTGGTACCG
+TTGTTACCGGTCGTGTAGAACGCGGTATCATCAAAGTTGGTGAAGAAGTTGAAATCGTTGGTATCAAAGA
+GACTCAGAAGTCTACCTGTACTGGCGTTGAAATGTTCCGCAAACTGCTGGACGAAGGCCGTGCTGGTGAG
+AACGTAGGTGTTCTGCTGCGTGGTATCAAACGTGAAGAAATCGAACGTGGTCAGGTACTGGCTAAGCCGG
+GCACCATCAAGCCGCACACCAAGTTCGAATCTGAAGTGTACATTCTGTCCAAAGATGAAGGCGGCCGTCA
+TACTCCGTTCTTCAAAGGCTACCGTCCGCAGTTCTACTTCCGTACTACTGACGTGACTGGTACCATCGAA
+CTGCCGGAAGGCGTAGAGATGGTAATGCCGGGCGACAACATCAAAATGGTTGTTACCCTGATCCACCCGA
+TCGCGATGGACGACGGTCTGCGTTTCGCAATCCGTGAAGGCGGCCGTACCGTTGGCGCGGGCGTTGTAGC
+AAAAGTTCTGAGCTAATTGCCGATAACATTTGACGCAATGCGCACTAAAAGGGCATCATTTGATGCCCTT
+TTTGCACGCTTTCGTACCAGAACCTGGCTCATCAGTGATTTTCTTTGTCATAATCATTGCTGAGACAGGC
+TCTGTTGAGGGCGTATAATCCGAAAAGCTAATACGCGTTTCGATTTGGTTTGCCTCGCGATCGCGGGGTG
+AAAATGTTTGTAGAATACTTCTGACAGGTTGGTTTATGAGTGCGAATACCGAAGCTCAAGGAAGCGGGCG
+CGGCCTGGAAGCGATGAAGTGGGTCGTTGTGGTGGCATTGCTCCTGGTAGCGATTGTCGGCAACTACCTT
+TATCGCGACATTATGCTGCCGCTGCGTGCGCTGGCCGTAGTAATTCTGATTGCTGCAGCGGGTGGTGTCG
+CGCTGTTAACGACAAAAGGTAAAGCTACCGTTGCTTTTGCCCGTGAAGCGCGTACCGAAGTCCGTAAGGT
+CATTTGGCCGACTCGCCAGGAAACATTGCACACCACGCTGATTGTGGCTGCGGTTACCGCAGTAATGTCA
+CTGATCCTGTGGGGACTGGATGGTATTCTGGTTCGCCTGGTATCCTTTATCACTGGCCTGAGGTTCTGAG
+ATGTCTGAAGCTCCTAAAAAGCGCTGGTACGTCGTTCAGGCGTTTTCCGGTTTTGAAGGCCGCGTAGCAA
+CGTCGCTGCGTGAGCATATCAAATTACACAACATGGAAGAGTTGTTTGGTGAAGTCATGGTACCAACCGA
+AGAAGTGGTTGAAATCCGTGGCGGTCAGCGTCGCAAAAGCGAACGTAAATTCTTCCCTGGCTACGTCCTC
+GTTCAGATGGTGATGAACGACGCGAGCTGGCACCTGGTGCGCAGCGTACCGCGTGTGATGGGCTTCATCG
+GCGGTACTTCCGATCGTCCTGCGCCAATCAGCGATAAAGAAGTCGATGCGATTATGAACCGCCTGCAGCA
+GGTTGGTGATAAGCCGCGTCCGAAAACGTTGTTTGAACCGGGTGAAATGGTCCGTGTTAATGATGGTCCG
+TTCGCTGACTTCAACGGCGTTGTTGAAGAAGTTGATTACGAGAAATCTCGTCTGAAAGTGTCTGTTTCTA
+TCTTCGGTCGTGCGACCCCTGTAGAGCTGGACTTCAGCCAGGTTGAAAAAGCTTAACCCAGCGATCAAAA
+AAGCGGCGATTTAATCGTTGCACAAGGCGCGAGATTGGAATACAATTTCGCGCCTTTTGTTTTTATGGGC
+CTTGCCCGTAAAACGATTTTTTATATCACGGGGAGCCTCTCAGAGGCGTTATTACCCAACTTGAGGAATT
+TATAATGGCTAAGAAAGTACAAGCCTATGTCAAGCTGCAGGTTGCAGCTGGTATGGCTAACCCGAGTCCG
+CCAGTAGGTCCGGCTCTGGGTCAGCAGGGCGTAAACATCATGGAATTCTGCAAAGCGTTCAACGCAAAAA
+CTGATTCCATCGAAAAAGGTCTGCCGATTCCGGTAGTAATCACTGTTTACGCTGACCGTTCTTTCACTTT
+CGTTACCAAGACTCCGCCGGCAGCAGTTCTGCTGAAAAAAGCGGCTGGTATCAAGTCTGGTTCCGGTAAG
+CCGAACAAAGACAAAGTGGGTAAAATTTCCCGCGCTCAGCTGCAGGAAATCGCGCAGACCAAAGCTGCCG
+ACATGACTGGTGCCGACATTGAAGCGATGACTCGCTCCATCGAAGGTACTGCACGTTCCATGGGCCTGGT
+AGTGGAGGACTAAGAAATGGCTAAACTGACCAAGCGCATGCGTGTTATCCGCGAGAAAGTTGATGCAACC
+AAACAGTACGACATCAACGAAGCTATCGCTCTGCTGAAAGAACTGGCGACTGCTAAATTCGTAGAAAGCG
+TGGACGTAGCTGTTAACCTCGGCATCGACGCTCGTAAATCTGACCAGAACGTACGTGGTGCAACTGTACT
+GCCGCACGGTACTGGCCGTTCCGTTCGCGTAGCCGTATTTACCCAGGGTGCAAACGCTGAAGCTGCTAAA
+GCTGCAGGTGCTGAACTGGTAGGTATGGAAGATCTGGCTGACCAGATCAAGAAAGGCGAAATGAACTTTG
+ACGTTGTTATTGCTTCTCCGGATGCAATGCGCGTTGTTGGCCAGCTGGGCCAGGTTCTGGGTCCGCGCGG
+CCTGATGCCAAACCCGAAAGTGGGTACTGTAACGCCGAACGTTGCTGAAGCGGTTAAAAACGCTAAAGCT
+GGCCAGGTTCGTTACCGTAACGACAAAAACGGCATCATCCACACCACCATCGGTAAAGTGGACTTTGACG
+CTGACAAACTGAAAGAAAACCTGGAAGCTCTGCTGGTTGCGCTGAAAAAAGCAAAACCGACTCAGGCGAA
+AGGCGTGTACATCAAGAAAGTTAGCATCTCTACCACCATGGGTGCAGGTGTTGCAGTTGACCAGGCTGGC
+CTGAGCGCTTCTGTAAACTAATGCCTTTACGTGGGCGGTGTTTTTGTCTACAATCTTACCCCCACGTATG
+CTAACGAAAGTTAGCAGCTAAAAAGATTTGTTCGTTGGAGCCTGGCCTATCCAGGCCTCCGTCGAAGACC
+GCAGGAGTTTCGCAAGAAACTTAATCCCCTGCGTAGACGGTGACAGAACGCTAAGATTATTCTTTTATAT
+TCTGGCTTGTTTCTGCTCACCGTAATTAAGACGCTCTCTCCGTTTGGAGGAGTGAAGTGAGTTCCAGAGA
+TTTTCTCTGGCAAACATCCAGGAGCAAAGCTAATGGCTTTAAATCTTCAAGACAAACAAGCGATTGTTGC
+TGAAGTCAGCGAAGTAGCCAAAGGCGCGCTGTCTGCAGTAGTTGCGGATTCCCGTGGCGTAACTGTAGAT
+AAAATGACTGAACTGCGTAAAGCAGGTCGCGAAGCTGGCGTATACATGCGTGTTGTTCGTAACACCCTGC
+TGCGCCGTGCTGTTGAAGGTACTCCGTTCGAGTGCCTGAAAGATGCGTTTGTTGGTCCGACCCTGATTGC
+ATACTCTATGGAACACCCGGGCGCTGCTGCTCGTCTGTTCAAAGAGTTCGCGAAAGCGAATGCAAAATTT
+GAGGTCAAAGCCGCTGCCTTTGAAGGTGAGCTGATCCCGGCGTCTCAGATCGACCGCCTGGCAACTCTGC
+CGACCTACGAAGAAGCAATTGCACGCCTGATGGCAACCATGAAAGAAGCTTCGGCTGGCAAACTGGTTCG
+TACTCTGGCTGCTGTACGCGATGCGAAAGAAGCTGCTTAATCGCAGTTATCTTTTTAACGCATTCGCTTA
+CGTATAAACTTATTCTGATATTCAGGAACAATTTAAATGTCTATCACTAAAGATCAAATCATTGAAGCAG
+TTGCAGCTATGTCTGTAATGGACGTTGTAGAACTGATCTCTGCAATGGAAGAAAAATTCGGTGTTTCCGC
+TGCTGCTGCTGTAGCTGTAGCTGCTGGCCCGGTTGAAGCTGCTGAAGAAAAAACTGAATTCGACGTAATT
+CTGAAAGCTGCTGGCGCTAACAAAGTTGCTGTTATCAAAGCAGTACGTGGCGCAACTGGCCTGGGTCTGA
+AAGAAGCTAAAGACCTGGTTGAATCTGCACCGGCTGCTCTGAAAGAAGGCGTGAGCAAAGACGACGCAGA
+AGCACTGAAAAAAGCTCTGGAAGAAGCTGGCGCTGAAGTTGAAGTTAAATAAGCCAACCCTTCCGGTTGC
+AGCCTGAGAAATCAGGCTGATGGCTGGTGACTTTTTAGTCACCAGCCTTTTTGCGCTGTAAGGCGCCAGT
+AGCGTTTCACACTGTTTGACTACTGCTGTGCCTTTCAATGCTTGTTTCTATCGACGACTTAATATACTGC
+GACAGGACGCCCGTTCTGTGTAAATCGCAATGAAATGGTTTAAGCGTGATAGCAACAGGCATTGCGGAAA
+GTGTTCCATTTTCCGGTCAACAAAATAGTGTTGCACAAACTGTCCGCTCAATGGACAGATGGGTCGACTT
+GTCAGCGAGCTGAGGAACCCTATGGTTTACTCCTATACCGAGAAAAAACGTATTCGTAAGGATTTTGGTA
+AACGTCCACAAGTTCTGGATGTACCTTATCTCCTTTCTATCCAGCTTGACTCGTTTCAGAAATTTATCGA
+GCAAGATCCTGAAGGGCAGTATGGTCTGGAAGCTGCTTTCCGTTCCGTATTCCCGATTCAGAGCTACAGC
+GGTAATTCCGAGCTGCAATACGTCAGCTACCGCCTTGGCGAACCGGTGTTTGACGTCCAGGAATGTCAAA
+TCCGTGGCGTGACCTATTCCGCACCGCTGCGCGTTAAACTGCGTCTGGTGATCTATGAGCGCGAAGCGCC
+GGAAGGCACCGTAAAAGACATTAAAGAACAAGAAGTCTACATGGGCGAAATTCCGCTCATGACGGACAAC
+GGTACCTTTGTTATCAACGGTACTGAGCGTGTTATCGTTTCCCAGCTGCACCGTAGTCCGGGGGTCTTTT
+TTGACTCCGACAAAGGTAAAACCCACTCTTCGGGTAAGGTGCTGTATAACGCGCGCATCATCCCTTACCG
+TGGTTCCTGGCTGGACTTCGAATTCGATCCGAAGGACAACCTGTTCGTACGTATCGACCGTCGCCGTAAA
+CTACCTGCGACAATCATTCTGCGTGCCCTGAACTACACCACAGAGCAGATCCTCGACCTGTTCTTTGAAA
+AAGTTATCTTTGAAATCCGTGATAACAAGTTGCAGATGGAACTGGTGCCGGAACGCCTGCGTGGTGAAAC
+CGCATCTTTTGACATCGAAGCTAACGGTAAAGTGTACGTAGAAAAAGGCCGCCGCATTACTGCGCGCCAT
+ATTCGCCAGCTGGAAAAAGACGACGTCAAGCTGATCGAAGTTCCGGTTGAGTACATCGCAGGTAAAGTGG
+TTGCTAAAGACTACATTGATGAGTCTACCGGCGAGCTGATCTGCGCAGCGAACATGGAGCTGAGCCTGGA
+TCTGCTGGCTAAGCTGAGCCAGTCTGGTCATAAGCGTATCGAAACGCTGTTCACCAACGATCTGGATCAC
+GGCCCATATATCTCTGAAACCTTACGTGTCGACCCAACTAACGACCGTCTGAGCGCACTGGTAGAAATCT
+ACCGTATGATGCGCCCTGGCGAGCCGCCGACTCGTGAAGCTGCTGAAAGCCTGTTCGAGAACCTGTTCTT
+CTCCGAAGACCGCTATGACTTGTCTGCGGTTGGTCGTATGAAGTTCAACCGTTCTCTGCTGCGCGAAGAA
+ATCGAAGGTTCCGGTATCCTGAGCAAAGACGACATCATTGATGTTATGAAAAAGCTCATCGATATCCGTA
+ACGGTAAAGGCGAAGTTGATGATATCGACCACCTCGGCAACCGTCGTATCCGTTCTGTTGGCGAAATGGC
+GGAAAACCAGTTCCGCGTTGGCCTGGTACGTGTAGAGCGTGCGGTGAAAGAGCGTCTGTCTCTGGGCGAT
+CTGGATACCCTGATGCCTCAGGATATGATCAACGCCAAGCCGATTTCCGCAGCAGTGAAAGAGTTCTTCG
+GTTCCAGCCAGCTGTCTCAGTTTATGGACCAGAACAACCCGCTGTCTGAGATTACGCACAAACGTCGTAT
+CTCGGCACTCGGCCCAGGCGGTCTGACCCGTGAACGTGCAGGCTTCGAAGTTCGAGACGTACACCCGACT
+CACTACGGTCGCGTATGTCCAATCGAAACCCCTGAAGGTCCGAACATCGGTCTGATCAACTCCCTGTCCG
+TGTACGCACAGACTAACGAATACGGCTTCCTTGAGACTCCGTATCGTAAAGTGACCGACGGTGTTGTAAC
+TGACGAAATTCACTATCTGTCTGCTATCGAAGAAGGCAACTACGTTATCGCCCAGGCGAACTCCAACCTG
+GATGAAGAAGGCCACTTCGTAGAAGACCTGGTAACTTGCCGTAGCAAAGGCGAATCCAGCTTGTTCAGCC
+GCGACCAGGTTGACTACATGGACGTATCCACCCAGCAGGTGGTATCCGTCGGTGCGTCCCTGATCCCGTT
+CCTGGAACACGATGACGCCAACCGTGCATTGATGGGTGCGAACATGCAACGTCAGGCCGTTCCGACTCTG
+CGTGCTGATAAGCCGCTGGTTGGTACGGGTATGGAACGTGCTGTTGCCGTTGACTCCGGTGTAACTGCGG
+TTGCTAAACGTGGTGGTGTCGTTCAGTACGTGGATGCTTCCCGTATCGTTATCAAAGTTAACGAAGACGA
+GATGTATCCGGGTGAAGCAGGTATCGACATCTACAACCTGACCAAGTACACCCGTTCTAACCAGAACACC
+TGTATCAACCAGATGCCGTGTGTGTCTCTGGGTGAACCGGTAGAACGTGGCGACGTGCTGGCAGACGGTC
+CGTCCACCGACCTCGGTGAACTGGCGCTTGGTCAGAACATGCGCGTAGCGTTCATGCCGTGGAATGGTTA
+CAACTTCGAAGACTCCATCCTCGTATCCGAGCGTGTTGTTCAGGAAGACCGTTTCACCACCATCCATATT
+CAGGAACTGGCGTGTGTGTCCCGTGATACCAAGCTGGGGCCGGAAGAGATCACCGCTGACATCCCGAACG
+TGGGTGAAGCTGCGCTCTCCAAACTGGATGAATCCGGTATCGTTTACATTGGTGCGGAAGTGACCGGTGG
+CGACATTCTGGTTGGTAAGGTAACGCCGAAAGGTGAAACTCAGCTGACCCCAGAAGAGAAACTGCTGCGT
+GCGATCTTCGGTGAGAAAGCGTCTGACGTTAAAGACTCTTCTCTGCGCGTACCAAATGGTGTATCCGGTA
+CGGTTATCGATGTTCAGGTCTTTACTCGCGATGGCGTAGAAAAAGACAAACGTGCGCTGGAAATCGAAGA
+AATGCAGCTCAAACAGGCGAAGAAAGACCTGTCTGAAGAACTGCAGATCCTCGAAGCAGGTCTGTTCAGC
+CGTATCCGTGCTGTGCTGGTAGCCGGTGGCGTTGAAGCTGAGAAGCTCGACAAACTGCCGCGCGATCGCT
+GGCTGGAGCTGGGCCTGACCGACGAAGAGAAACAAAATCAGCTGGAACAGCTGGCTGAGCAGTATGACGA
+ACTGAAACACGAGTTCGAGAAGAAACTCGAAGCGAAACGCCGCAAAATCACCCAGGGCGACGATCTGTCA
+CCGGGCGTGCTGAAGATTGTTAAGGTATATCTGGCGGTTAAACGCCGTATCCAGCCTGGTGACAAGATGG
+CAGGCCGTCATGGTAACAAGGGTGTAATTTCTAAGATCAACCCGATCGAAGATATGCCTTACGATGAAAA
+CGGTACTCCGGTAGACATCGTACTGAACCCGCTGGGCGTACCGTCTCGTATGAACATTGGTCAGATCCTC
+GAAACTCACCTGGGTATGGCTGCGAAAGGTATCGGCGACAAGATCAACGCCATGCTGAAACAGCAGCAAG
+AAGTCGCGAAACTGCGCGAATTCATCCAGCGTGCGTACGATCTGGGCGCTGACGTTCGTCAGAAAGTTGA
+CCTGAGTACCTTCAGCGATGAAGAAGTTATGCGTCTGGCTGAAAACCTGCGCAAAGGTATGCCAATCGCA
+ACGCCGGTCTTCGACGGTGCGAAAGAAGCAGAAATTAAAGAGCTGCTGAAACTTGGCGACCTGCCGACTT
+CTGGTCAGATCCGCCTGTACGACGGTCGCACTGGTGAACAGTTCGAGCGTCCGGTAACCGTTGGTTACAT
+GTACATGCTGAAACTGAACCACCTGGTCGACGACAAGATGCACGCGCGTTCCACCGGTTCTTACAGCCTG
+GTTACTCAGCAGCCGCTGGGTGGTAAGGCACAGTTCGGTGGTCAGCGTTTCGGGGAGATGGAAGTGTGGG
+CGCTGGAAGCATACGGCGCAGCATACACCCTGCAGGAAATGCTCACCGTTAAGTCTGATGACGTGAACGG
+CCGTACTAAGATGTATAAAAACATCGTGGACGGCAACCATCAGATGGAGCCGGGCATGCCAGAATCCTTC
+AACGTATTGTTGAAAGAGATTCGTTCGCTGGGTATCAACATCGAACTGGAAGACGAGTAATTCTCGCTCA
+AACAGGTCACTGCTGTCGGGGTAAAACCCGGCAGCGGATTGTGCTAACTCCGACGGGAGCAAATCCGTGA
+AAGATTTATTAAAGTTTCTGAAAGCGCAGACTAAAACCGAAGAGTTTGATGCGATCAAAATTGCTCTGGC
+TTCGCCAGACATGATCCGTTCATGGTCTTTCGGTGAAGTTAAAAAGCCGGAAACCATCAACTACCGTACG
+TTCAAACCAGAACGTGACGGCCTTTTCTGCGCCCGTATCTTTGGGCCGGTAAAAGATTACGAGTGCCTGT
+GCGGTAAGTACAAGCGCCTGAAACACCGTGGCGTCATCTGTGAGAAGTGCGGTGTTGAAGTGACCCAGAC
+TAAAGTACGCCGTGAGCGTATGGGCCACATCGAACTGGCTTCCCCGACTGCGCACATCTGGTTCCTGAAA
+TCGCTGCCGTCCCGTATCGGCCTGCTGCTCGATATGCCGCTGCGCGATATCGAACGCGTGCTGTACTTTG
+AATCCTATGTGGTTATCGAAGGCGGTATGACCAATCTGGAGCGTCAGCAGATCCTGACTGAAGAACAGTA
+TCTGGACGCGCTGGAAGAGTTCGGTGACGAATTCGACGCGAAGATGGGTGCGGAAGCAATCCAGGCCCTG
+CTGAAGAGCATGGATCTGGAGCAAGAGTGTGAACAGCTGCGTGAAGAGCTGAACGAAACCAACTCCGAAA
+CCAAGCGTAAGAAGCTGACCAAGCGTATCAAACTGCTGGAAGCGTTCGTTCAGTCTGGTAACAAACCAGA
+GTGGATGATCCTGACCGTTCTGCCGGTACTGCCGCCAGATCTGCGTCCGCTGGTTCCGCTGGATGGTGGT
+CGTTTCGCGACTTCTGACCTGAACGATCTGTATCGTCGCGTCATTAACCGTAACAACCGTCTGAAACGTC
+TGCTGGATCTGGCTGCGCCGGACATCATCGTACGTAACGAAAAACGTATGCTGCAGGAAGCGGTTGACGC
+CCTGTTGGATAACGGTCGTCGCGGTCGTGCGATCACTGGTTCTAACAAGCGTCCTCTGAAATCTTTGGCC
+GACATGATCAAAGGTAAACAGGGTCGTTTCCGTCAGAACCTGCTCGGTAAGCGTGTTGACTACTCCGGTC
+GTTCTGTAATCACCGTAGGTCCATACCTGCGTCTGCATCAGTGCGGTCTGCCGAAGAAAATGGCACTGGA
+ACTGTTCAAACCGTTCATCTACGGCAAGCTGGAACTGCGTGGTCTTGCTACCACCATTAAAGCTGCGAAG
+AAAATGGTTGAGCGCGAAGAAGCTGTCGTTTGGGATATCCTGGACGAAGTTATCCGCGAACACCCGGTAC
+TGCTGAACCGTGCACCGACTCTGCACCGTCTGGGTATCCAGGCATTTGAACCGGTACTGATCGAAGGTAA
+AGCTATCCAGCTGCACCCGCTGGTTTGTGCGGCATATAACGCCGACTTCGATGGTGACCAGATGGCTGTT
+CACGTACCGCTGACGCTGGAAGCCCAGCTGGAAGCGCGTGCGCTGATGATGTCTACCAACAACATCCTGT
+CCCCGGCAAACGGCGAACCAATCATCGTTCCGTCTCAGGACGTTGTACTGGGTCTGTACTACATGACCCG
+CGACTGTGTTAACGCCAAAGGCGAAGGCATGGTGCTGACTGGCCCGAAAGAAGCAGAACGTCTGTATCGC
+TCTGGTCTGGCTTCTCTGCATGCGCGCGTTAAAGTGCGTATCACCGAGTATGAAAAAGATGCAAACGGTG
+AATTAGTAGCGAAAACCAGCCTGAAAGACACGACTGTTGGCCGTGCCATTCTGTGGATGATTGTACCGAA
+AGGTCTGCCTTACTCCATCGTCAACCAGGCGCTGGGTAAAAAAGCAATCTCCAAAATGCTGAACACCTGC
+TACCGCATTCTCGGTCTGAAACCGACCGTTATTTTTGCGGACCAGATCATGTATACCGGCTTTGCATATG
+CAGCGCGTTCTGGTGCATCTGTTGGTATCGATGACATGGTCATCCCGGAGAAGAAACACGAAATCATCTC
+CGAGGCAGAAGCAGAAGTTGCTGAAATTCAGGAGCAGTTCCAGTCTGGTCTGGTAACTGCGGGCGAACGC
+TACAACAAAGTTATCGATATCTGGGCTGCGGCGAACGATCGTGTATCCAAAGCGATGATGGATAACCTGC
+AAACTGAAACCGTTATTAACCGTGACGGTCAAGAAGAGAAGCAGGTTTCCTTCAACAGCATCTACATGAT
+GGCCGACTCCGGTGCGCGTGGTTCTGCGGCACAGATTCGTCAGCTTGCTGGTATGCGTGGTCTGATGGCG
+AAGCCGGATGGCTCCATCATCGAAACGCCAATCACCGCGAACTTCCGTGAAGGTCTGAACGTACTCCAGT
+ACTTCATCTCCACCCACGGTGCTCGTAAAGGTCTGGCGGATACCGCACTGAAAACGGCGAACTCCGGTTA
+CCTGACTCGTCGTCTGGTTGACGTGGCGCAGGACCTGGTGGTTACCGAAGACGATCGTGGTACCCATGAA
+GGTATCATGATGACTCCGGTTATCGAAGGTGGTGACGTTAAAGAGCCGCTGCGCGATCGCGTACTGGGTC
+GTGTAACTGCTGAAGACGTTCTGAAGCCGGGTACTGCTGATATCCTCGTTCCGCGCAACACGCTGCTGCA
+CGAACAGTGGTGTGACCTGCTGGAAGAGAACTCTGTCGACGCGGTTAAAGTACGTTCTGTTGTATCTTGT
+GACACCGACTTTGGTGTATGTGCGCACTGCTACGGTCGTGACCTGGCGCGTGGCCACATCATCAACAAAG
+GTGAAGCAATCGGTGTTATCGCGGCACAGTCCATCGGTGAACCGGGTACACAGCTGACCATGCGTACGTT
+CCACATCGGTGGTGCGGCATCTCGTGCGGCTGCTGAATCCAGCATCCAGGTGAAAAACAAAGGTAGCATC
+AAGCTCAGCAACGTGAAGTCGGTTGTGAACTCCAGCGGTAAACTGGTTATCACTTCCCGTAACACCGAAC
+TGAAACTGATCGACGAATTCGGTCGTACCAAAGAAAGCTACAAAGTACCTTACGGTGCGGTACTGGCGAA
+AGGCGATGGCGAACAGGTTGCTGGCGGCGAAACCGTTGCAAACTGGGACCCGCACACCATGCCGGTTATC
+ACCGAAGTAAGCGGTTTTGTACGCTTTACTGACATGATCGACGGCCAGACCATTACTCGTCAGACCGACG
+AATTGACCGGTCTGTCTTCGCTGGTGGTTCTGGATTCCGCAGAACGTACCGCAGGTGGTAAAGATCTGCG
+TCCGGCACTGAAAATCGTTGATGCTCAGGGTAACGACGTTCTGATCCCGGGTACCGATATGCCTGCGCAG
+TACTTCCTGCCGGGTAAAGCGATTGTTCAGCTGGAAGATGGCGTACAGATCAGCTCTGGTGACACCCTGG
+CGCGTATTCCGCAGGAATCCGGCGGTACCAAGGACATCACCGGTGGTCTGCCGCGCGTTGCGGACCTGTT
+CGAAGCACGTCGTCCGAAAGAGCCGGCAATCCTGGCTGAAATCAGCGGTATCGTTTCCTTCGGTAAAGAA
+ACCAAAGGTAAACGTCGTCTGGTTATCACCCCGGTAGACGGTAGCGATCCGTACGAAGAGATGATTCCGA
+AATGGCGTCAGCTCAACGTGTTCGAAGGTGAACGTGTAGAACGTGGTGACGTAATTTCCGACGGTCCGGA
+AGCGCCGCACGACATTCTGCGTCTGCGTGGTGTTCATGCTGTGACTCGTTACATCGTTAACGAAGTACAG
+GACGTATACCGTCTGCAGGGCGTTAAGATTAACGATAAACACATCGAAGTTATCGTTCGTCAGATGCTGC
+GTAAAGCTACCATCGTTAACGCGGGCAGCTCCGACTTCCTGGAAGGTGAACAGGTTGAATACTCTCGCGT
+CAAGATCGCAAACCGCGAACTGGAAGCGAACGGCAAAGTGGGGGCAACTTACTCCCGCGATCTGCTGGGT
+ATCACCAAAGCGTCTCTGGCAACCGAGTCCTTCATCTCCGCGGCATCGTTCCAGGAGACCACTCGCGTGC
+TGACCGAAGCAGCCGTTGCGGGCAAACGCGACGAACTGCGCGGCCTGAAAGAGAACGTTATCGTGGGTCG
+TCTGATCCCGGCAGGTACCGGTTATGCGTACCACCAGGATCGTATGCGTCGCCGTGCTGCGGGTGAAGCT
+CCAGCTGCACCGCAGGTGACTGCAGAAGACGCATCTGCCAGCCTGGCAGAACTGCTGAACGCAGGTCTGG
+GCGGTTCTGATAACGAGTAATCGTTAATCCGCAAATAACGTAAAAACCCGCTTCGGCGGGTTTTTTTATG
+GGTGTTATTCAGAGGGCAAAGTCTTCACGGGAAATATTAAGAAAGGCAGGGCGAAACGAGGAAGAAGCTT
+TTCGCCCTGGACAACATTCCTGTTGACGGGACTACCATAAAAAAACACAACGCTTTCAACAACCTTGCGT
+TTTTCATCTTCCGGAGCTGCTCGGAATAAATTTACGTTCTTACATTCTGTCTCATGGCCTTTGCGATGGG
+CGTCCCAGATAGCTGTCCCAGTCTTTCCATACCGGCTGCAAACCCTGAGCGGTTAACGCGGCAGCAACCG
+CTTCCGGTCTGCGATCGTCGTGCGGTGAGAACTGTTCCAGCTCGGGGTGGTTGTCGGCATAGCCACCTGG
+CTGCGTTTTCGAAAAAGCGCTGACGTTATTAATTGCCAGCGGAATCACGCGATCGCGAAACCACGGTGAT
+TCCCGCGTGGAGAGTGACAGTTCAATCTCCGGTGCAAGCAGCCGGAAAGCGCAGATGGCTTGCACTAACT
+GGCGTTCATCCATAATCGACGCAGGCTCAATGCCGCCAGTACATGGACGCAGGCGTGGGAAGGAGACAGA
+GTAGCGGCTTTGCCAGTAATGCTGTTGCAGCCATAGCAAATGTTCGGCAACCATATAGCAGTCAACTCGC
+CAGCTGTCGGAAAGGCCGATTAGCGCGCCGAGGCCTATCTTATCAATCCCCGCACGCCCTAGCCGATCCG
+GCGTTTCCAGCCGCCAGAAGAAGTCCTGTTTTTTACCTTTCAGATGATGATGGGCATAAGTCGCCTCATG
+ATATGTCTCCTGATAAACCATTACTCCATCGAGGCCAAGCTGTTTTAACTCGGCATATTCCGCCTCCGTC
+AGCGGTTGCACTTCCATCTGTAGTGAAGAGAACTGTTCACGCAGGGCAGGGAGATGACGACGAAAGTAAT
+CCATCCCCACTTTCGCCTGATGTTCACCAGTGACTAATAGCAGATGTTCAAAGCCCATCTCCCGTATAGC
+GGCGCTTTCCCTGGCAATATCCGCTTCATCCAGCGTTTTGCGCTTGATGCGGTTGCTCATAGAAAATCCG
+CAATAAGTACAGTCGTTAGCGCAAAGATTGGAAAGATAAAGCGGGACGTAGAAGCTGACGACGTTGCCAA
+ATCGCTGACGAGTCAGACGTTGCGCTCGCTGGGCCAGTGGTTCCAGATAGCCACTGGCGGCGGGTGATAG
+CAATGCCATCATGTCGTCGCGGGTGAGTTGCGAGGCATTTAGCGCCCGCTCTACGTCAGCAGCCGTTTTG
+CCGTTGATACGCAGGTGGATGTCATCCCAGTCCAGTTGTCGCCAGCGATCGCTGAAGGTTTTCATGCCGA
+TGCCTCCAGAAATCCAGTCAGCGGGCTGGTGGCATGAGCAAAATGACTGCGGCTGCCCGGTCCGGACTGA
+CGTGCCAGCAGGCCTGCTTCTACCGCCAGACGAAATGCCTTCGCCATGTTGACGGGATCGTCCGCGACGG
+CAATCGCCGTATTCACTAACACCGCGTCGGCCCCCATTTCCAGCGCCTGCGCGGCATGGCTGGGAACGCC
+GATGCCAGCATCGACAACCACCGGAACGGTGGCCTGCTGGATAATAATCTCCAGCATGGCGCGGGTTTCC
+AGTCCCTGATTCGAGCCAATCGGCGCGCCGAGCGGCATCACCGCTGCACAGCCGACTTCTTCCAGACGTT
+TACACAATACCGGATCGGCCCCGCAGTAAGGCAGCACGATAAATCCCTGTTGTACCAGCGTTTCGGCGGC
+TTTCAGGGTTTCGATGGGATCGGGCAACAGCCAGCGGGCGTCAGGGTGAATCTCCAATTTTAGCCAGTTT
+GTGCCTAACGCTTCACGTGCCAGATGGGCGGCGAAAATGGCTTCTTCCGCGGTTTTCGCCCCGGAAGTAT
+TCGGCAGCAGGGTCACACCCGCCGCGATAAGCGGTTCGAGGATAGCGTCGTTGTGCTGGCGCAAGTCGAC
+ACGTTTCATCGCCAGCGTCACCAGTTGGCTGCCGCAAGCGCGGATCGCCTCCACCATCAGTTGTGAAGAG
+GCGAATTTTCCGGTGCCAGTAAACAGATGTGAAGCAAACGTTTTGTCCGCAATATGTAACATCTCAACCC
+CCTGCAATAACCTGAAAAAGCAGGATCTGGTCGCCATCCTGCACGATATGTTGCGCCCATTGTTCCCGCG
+GGACGATTTGCTGATTAATCGCCAGTGCCGCACCTGCTTGTTGTTGATCGAGTTGCTTCAGCAGTTCGTG
+AACAGTTAGTCCGGCGACACACTGCATCGGTTGATCGTTAAACAGGATCTGCATTGCATCCTCCACATAC
+CGGGCAACCGTTGGCGCGGCGCAACGTCAGGCTGCGCCACTGGCTCGATTTACCGTCGAACAGTCGGAGT
+TCTCCCGCAGGCGTCTCTATACCGCTTAATAACTTAATGGCTTCCAGGGCCTGCAAAGTGCCCATAACCC
+CGACCACCGGGCCAACCACGCCCGCCGTGCGGCAGTTGCGTTCTGGCTCCTGGTTATCTGGCCACAGGCA
+GCGGTAACACCCCTGCTCCCAGGGCGGCGTCAGTACCATCAACTGACCGCCAAATCCGACCGCGCTGGCG
+GTGATAAGCGGCGTGTTGAGTGCCACGCAGGTGGCATTAATCTCCTGGCGAGTCGCCATATTGTCAGTAC
+AGTCGAGCACCACATCGGCTTGTGCAACCGCATCTTTTAACGTCTCACCCGTTAATCGTTGTTGTAATGC
+CATCAGTTGAATGTCGGGATTCAACTGTGTCAGTCGCTGTTGGCTGACCTGTGATTTCGGGCGATCGATA
+TCTTCAGTGGTAAAGAGGATTTGTCGTTGCAGATTGCTTAAATGCACATCGTCGTCATCTGCCAGTACCA
+GCGTCCCGACGCCAGCCCCCGCCAGGTATAGCGCAGCAGGTGTACCCAGCCCGCCAAGACCAATAATCAG
+CACCTGGCTGTCGAGCAGTTTTTGCTGCCCGTCCAGAGCGATATCGTCGAGCAGGATTTGGCGGCTATAA
+CGCATAAAGTCACGGTCATTCATCGCCAACTCCTGCAATTTCCAGCAGCTGTGCCGTTGCCAAACGCCAG
+TCTGCGGCTTGAGTAATGGCGCTGACGACGGCGATACTGCCGACACCCGTTGCTATCACCGCAGGCGCGC
+GCGCCAGACTGATACCGCCAATCGCCACGGTGGGATAATCCGCCAGGCGCTCAACATGCCGTGCCAGCTG
+TTCCAGTCCCTGCGGTGCAGAAGGCATCTGTTTGGTTTGTGTCGGAAACACATGTCCCAGCGCGATATAA
+GAAGGACGTTCCGCCAGCGCGACGTCGATCTCCATATCGTCATGGGTCGAAACGCCCAGCCGCAGGCCTG
+CCGCGCGGATGGCGCTGAGATCGGTGGCTTGCAAATCTTCCTGCCCCAGATGGACGCCATACGCCTGATG
+CTTAATCGCCAGCCGCCAGTAATCGTTGATAAACAATCGCGCGTTATAGCGGCGGCCCAGCGCAATTGCC
+GCCACCACATCGGCTTCTACCTCTTCATCGCGCCGATCTTTGATGCGTAGCTGGAGAGTACGTACGCCTG
+CATCCAACAGACGTTCGATCCACTGTACGCTGTCAACCACCGGGTACAGTCCTAAACGAAAGGGTACAGG
+AGGAAACTCAGGCTGATACATCACGCTTCCTCCTTACGCAGGTAGATTTCTCCGCCTCTGGCGCGGAAGT
+TCTCCGACATATCCGCCATTCCCACTTCAATGGTTTGCGCGGCGGCGTAATCACGCACTTCCTGGCTGAT
+TTTCATCGAGCAGAATTTCGGTCCACACATGGAGCAAAAATGGGCGACTTTACCGGACTCTTGCGGCAGG
+GTTTCATCGTGATAAGCGCGGGCAGTAAACGGGTCGAGGGCCAGATTAAACTGGTCTTCCCAGCGAAATT
+CGAAGCGGGCTTTCGACATGGCGTTATCGCGAATTTGCGCGCCCGGATGCCCTTTCGCCAGGTCGGCGGC
+GTGAGCGGCAATCTTATAGGTGATAAGCCCCTGTTTAACATCTTCTTTATTTGGCAGGCCCAGATGCTCT
+TTCGGCGTTACGTAGCAGAGCATTGCACAACCAAACCAGCCAATCATCGCCGCGCCAATCCCTGACGTGA
+AGTGGTCATAGCCCGGCGCGATATCGGTAGTTAGCGGCCCCAGAGTGTAAAACGGCGCTTCGTGGCAGTG
+CTCTAACTCCTCGGTCATATTGCGGCGAATCATCTGCATCGGCACGTGGCCTGGGCCTTCAATCATCACC
+TGTACGTCATATTCCCAGGCGATTTTAGTCAGTTCACCCAGCGTATGCAGCTCGGCAAACTGTGCTTCAT
+CGTTGGCGTCCTGAATAGAACCGGGGCGCAGGCCGTCGCCCAGCGATAGCGAAACGTCATAAGCAGCACA
+GATTTCACAAATTTCGCGGAAGTGTTGATAGAGGAAATTTTCCTGATGATGGGAGAGGCACCATTTCGCC
+ATAATCGAACCGCCGCGAGAGACGATACCGGTCAGGCGTTTCGCGGTCATCGGCACGTAGCGCAGCAGCA
+CCCCCGCATGGATCGTGAAGTAATCCACACCTTGCTCGGCTTGTTCCAGCAGGGTGTCGCGGAAGACTTC
+CCAGGTAAGATCTTCAGCGATCCCGTTCACCTTCTCCAGTGCCTGGTAGATCGGCACTGTACCGATCGGC
+ACCGGGCTGTTACGCAAAATCCACTCGCGGGTTTCGTGAATATAGCGACCAGTGGAAAGATCCATCACGG
+TATCCGCTCCCCAGCGTGTGGACCATACCAGTTTTTCCACTTCTTCTTCGATGGAAGAAGTGACCGCTGA
+GTTGCCGATATTGGCGTTAACTTTTACCAGGAAGTTACGGCCAATAATCATCGGCTCCGATTCCGGATGA
+TTAATGTTGGCCGGGATAATCGCACGTCCGGCAGCAACTTCATCACGGACAAATTCCGCAGTGATATTTT
+CCGGCAGACGTGCGCCAAAGCTCATTCCCGGATGCTGGTGGCGTAAAACTTCGCTACGTATGCGCTCGCG
+ACCCATATTCTCGCGAATGGCGATGAATTCCATTTCTGGCGTGATGATACCCTTGCGGGCGTAGTGCAGT
+TGTGTGACGCGGTGGCCTGCTTTGGCGCGTTTTGGGGTTAATACGCCGCTAAAACGCAGCTCGTCGAGGC
+CATCATCTGCCAGCCGCGCTTTTGTGTAATCGGAACTGCGCACGGTAAGTTCTTCGGTATCGCCGCGCGC
+ATCGATCCACGGCTGGCGTAGTTTTGCCAGCCCTTGCTGCACGTTAATGGCAATCTGCGGATCGCCATAC
+GGGCCGGAGGTGTCGTAGACCGGAATCGCTTCGTTTTCTTCGTACTGCGGCTGTTCTTTGCTGCCGCCAA
+TTAGCGTCGGGCTAAGCTGAATCTCACGCATCGGCACGCGTACGCCGGGGTGTGTGCCAGTGATGTAAAT
+GCGTTTTGAGTTGGGAAAGGCGGAGCCTTCCAGGGTGTCGATAAAATGTTGGGCCTGGGCGCGTTGTTCG
+CGGCGGGTCAGTTTTGTTGCAGACATAGCTCGTTCCAAAAAGTTAAGGACGTGGCTTGTCAGACGACGGA
+TGAAGCAAGAGACGATCGCCGCAAAGGCGATGCGATAGCAGATTAACTCTTGTTCCCTTCGCAGGTATTA
+GCCTGATCAGGTTCCGCGGATCCCGAATAAACGGTCTCAGCCAGTTAAGGCACTCCGACAAGAAATTAGC
+CCCACAAACGGGGCGTTGAATGTAAATTACGCGTTAACAGCGCAGAACTCAAGCAGGATATTTGACGCGG
+GCGGCGTCAAGCACCAGTAGAATCAGCTTATCTTCCAGCACAAAGCGCGCTTCCAGTGCCTCGCCGATGT
+CAGATAAAACCTGTTGAAACTCAAGGTAATTATCATGATCGATGGCGGTTTCCAGACTGGAATCGTAGTC
+ATCCATAATCTGTTGAGTATTGGCTTCGAGTTGTGGCCAAATCTTCGCGGCGCGTGCGAGTTGCCCATTG
+CCTTCCAGCTTATGAAGAATGCGCTCATAAATACTGAAATGTCCGGCAGACAAGTAATCGACCAGGCTCT
+GACAAAAATCATCAAGGGCTTTTTCGTTTAGCCTCATGTACGATTCTTTGCCAGGCTTAATGCCAACCAG
+ATTGTAGTAAGCCACGAGCAGATGCTTACGTACATGTAGCCAGCGATCAACCAGTTTGTTACTTCCTCTG
+ACGCGCTCCGTCAGGTTATCGAGCTGGTTAAGCATGATTGACTCCGCAAGTTTGTATTCAAAAACTGCTC
+TGTGAGAAATGTAAAAACCATGTTAAACATGCCAGTGATGCAAAGGTAGTGCAAGAGCTATGGATCGTAT
+AATTGAAAAATTAGATCACGGCTGGTGGGTCGTCAGCCATGAACAAAAATTATGGTTGCCGAAGGGAGAA
+TTGCCATATGGCGAAGCGGCAAATTTCGATCTTGTGGGTCAGCGCGCACTACAAATCGGCGAATGGCAGG
+GGGAACCTGTTTGGTTAGTACAACTGCAGCGGCGTCACGATATGGGGTCGGTACGTCAGGTCATTGATCT
+CGATGTTGGGCTGTTTCAACTGGCCGGACGTGGCGTGCAACTGGCGGAGTTTTACCGATCGCATAAATAC
+TGTGGTTACTGCGGGCATGAAATGTATCCAAGCAAAACCGAATGGGCGATGCTGTGCAGCCATTGCCGTG
+AGCGTTACTACCCGCAAATCGCCCCCTGCATTATTGTTGCCATCCGTCGCGATGATTCGATCCTCCTCGC
+CCAGCATACCCGCCATCGTAACGGTGTCCATACAGTACTTGCCGGATTCGTCGAAGTGGGTGAAACCCTC
+GAGCAGGCAGTCGCGCGGGAAGTGATGGAAGAGAGCGGAATTAAAGTTAAAAACTTGCGTTACGTGACCT
+CCCAACCGTGGCCGTTTCCTCAGTCGTTAATGACCGCGTTTATGGCGGAATATGACAGCGGCGAGATCGT
+GATCGACCCGAAAGAATTGCTTGAGGCGAACTGGTATCGCTATGACGATTTGCCGTTACTCCCGCCGCCC
+GGCACCGTAGCGCGCCGTCTGATAGAAGATACAGTGGCGATGTGTCGGGCAGAGTATGAGTGATGATACA
+CTGACCGCCTGACGCACTAAGGAACAGCCAAAATGACCGAACTTAAAAACGATCGTTATCTGCGGGCGCT
+GCTGCGCCAGCCCGTTGATGTCACTCCAGTATGGATGATGCGCCAGGCGGGTCGCTATCTACCGGAATAT
+AAAGCCACGCGCGCCCAGGCGGGCGATTTTATGTCGCTGTGCAAAAATGCCGAGCTGGCGTGCGAAGTGA
+CTTTGCAACCGCTGCGTCGCTATCCGCTGGATGCGGCGATCCTCTTTTCCGATATCCTCACCGTGCCAGA
+CGCGATGGGTTTAGGGCTCTATTTTGAAGCCGGAGAAGGTCCGCGTTTTACCTCGCCAGTCACCTGCAAA
+GCCGATGTCGATAAACTGCCAATTCCGGACCCGGAAGATGAGCTGGGTTACGTGATGAACGCGGTGCGTA
+CCATTCGTCGCGAACTGAAAGGCGAAGTGCCGCTGATTGGTTTTTCCGGCAGCCCGTGGACGCTGGCGAC
+CTACATGGTGGAAGGCGGCAGCAGCAAAGCGTTCACCGTGATCAAAAAAATGATGTATGCCGATCCACAG
+GCGCTGCACGCGCTACTCGATAAACTGGCGAAAAGCGTCACTTTGTATCTGAATGCGCAGATTAAAGCCG
+GTGCTCAGGCAGTCATGATTTTCGACACCTGGGGCGGCGTGCTTACCGGGCGCGATTATCAACAGTTCTC
+GCTCTATTACATGCATAAAATTGTTGATGGTTTACTGCGTGAAAACGACGGTCGCCGCGTACCGGTCACG
+CTGTTTACCAAAGGTGGCGGACAGTGGCTGGAAGCGATGGCAGAAACCGGTTGCGATGCGCTGGGCCTCG
+ACTGGACAACGGACATCGCCGATGCGCGCCGTCGCGTGGGCAATAAAGTCGCGCTGCAGGGTAATATGGA
+CCCGTCGATGCTGTACGCGCCACCTGCCCGCATTGAAGAAGAAGTCGCGACTATACTTGCAGGTTTCGGT
+CACGGTGAAGGTCATGTCTTTAACCTTGGTCACGGCATTCATCAGGATGTGCTGCCAGAACATGCTGGCG
+TGTTTGTGGAGGCAGTGCATCGCTTGTCTGAACAGTATCACCGCTAAGGAGCGATTATGGATCTCGCGTC
+ATTACGCGCTCAACAAATTGAACTGGCTTCTTCTGTGATCCGCGAGGATCGACTCGATAAAGATCCGCCG
+GATCTGATCGCCGGAGCCGATGTCGGATTTGAGCAGGGCGGCGAAGTGACGCGAGCGGCGATGGTGCTGC
+TGAAATACCCCTCGCTTGAGCTGGTGGAGTATAAAGTGGCCCGCATCGCCACCACCATGCCTTACATTCC
+AGGTTTTCTCTCGTTCCGCGAATATCCTGCGCTGCTGGCAGCGTGGGAGATGCTGTCGCAAAAGCCGGAT
+TTAGTGTTTGTCGATGGTCATGGGATCTCGCATCCTCGCCGTCTTGGCGTGGCCAGCCATTTTGGCTTAT
+TGGTGGATGTGCCGACCATTGGCGTAGCGAAAAAACGGCTCTGCGGTAAATTCGAACCGCTCTCCAGCGA
+ACCGGGCGCGCTGGCCCCGCTGATGGATAAAGGCGAGCAGCTGGCCTGGGTCTGGCGCAGCAAAGCGCGC
+TGTAACCCGTTGTTTATCGCTACCGGCCATCGGGTCAGCGTGGACAGCGCGCTGGCGTGGGTACAACGCT
+GCATGAAAGGCTATCGTCTGCCGGAGCCAACGCGCTGGGCGGACGCGGTGGCCTCGGAACGTCCGGCGTT
+CGTGCGCTATACAGCAAATCAGCCCTAATTCAGGTAAACTGCGGATAATTTCCGTATTTGAGAACTCAAC
+ATGTTACAAAACCCAATTCATCTGCGTCTGGAGCGCCTGGAAAGCTGGCAGCACGTCACTTTTATGGCCT
+GCTTATGCGAACGTATGTACCCCAATTACGCCGTATTCTGTCAGCAAACCGGCTTCGGCGATGGGCAGAT
+TTACCGCCGCATTCTCGATCTCATTTGGGAAACGCTGACCGTCAAAGACGCAAAAGTAAATTTCGACAGC
+CAACTGGAGAAATTTGAAGAAGCGATTCCTTCAGCCGACGATTTCGATCTGTACGGCGTTTATCCGGCAA
+TCGATGCTTGCGTGGCGTTAAGTGAACTGGTCCATTCGCGTTTAAGTGGCGAAACGCTCGAACACGCGGT
+GGAAGTGAGTAAGACTTCCATCACGACCGTGGCGATGCTGGAAATGACTCAGGCTGGTCGCGAAATGAGC
+GATGAAGAGCTCAAAGAAAACCCAGCTGTAGAGCAAGAATGGGACATTCAGTGGGAAATATTCCGACTTT
+TAGCTGAGTGCGAAGAACGCGATATCGAGCTGATAAAAGGCCTTAGGGCAGACCTGCGTGAGGCGGGTGA
+GAGCAATATTGGTATAATTTTTCAGCAATAAGACCAGAAAACGTGATTTAACGCCTGATTTGTCGTACCT
+GGAGTCTTCCCTTTCGCCCCCCGTCTGGTCTACATTTGGGGGGCGAAAAAAAGTGGCTATCGGTGCGTGT
+ATGCAGGAGAGTGCTATTCTGGCATTTCCGTCGCACTCGATGCTTAGCAAGCGATAAACACATTGTAAGG
+ATAACTTATGAACAAGACTCAACTGATTGATGTAATTGCAGAGAAAGCAGAACTGTCCAAAACCCAGGCT
+AAAGCTGCTCTGGAGTCCACTCTGGCTGCAATTACTGAGTCTCTGAAAGAAGGCGATGCTGTACAACTGG
+TTGGTTTCGGTACCTTCAAAGTGAACCACCGCGCTGAGCGTACTGGCCGCAACCCGCAGACCGGTAAAGA
+AATCAAAATTGCCGCAGCTAACGTACCGGCATTTGTTTCTGGCAAGGCACTGAAAGACGCAGTTAAGTAA
+GATTGCGTGGCAGTGAACAGTTTTAACGAAGGGGTGGTTTCACCCCTTTTGTCTTTCTGGCGTCGATCAT
+TGATGCTGGCAGGCGCTCTGTTTCTCACTGCCTGTAGTCACAACTCTTCACTTCCTCCCTTTACCGCCAG
+TGGATTTGCTGAAGACCAGGGCGCGGTACGCATCTGGCGAAAAGACAGCGGCGATAATGTGCATCTGCTT
+GCCGTGTTTAGCCCGTGGCGCAGTGGCGATACCACCACGCGAGAGTATCGCTGGCAGGGCGATAACCTTA
+CGCTCATCAATATCAATGTTTACAGCAAACCGCCGGTGAACATTCGCGCGCGTTTTGACGATCGCGGCGA
+TCTGAGCTTTATGCAACGTGAATCCGATGGGGAAAAGCAGCAGCTTTCTAACGACCAAATCGATTTATAC
+CGTTATCGTGCTGATCAGATCCGCCAGATTAGCGATGCCTTACGTCAGGGGAGAGTCGTGCTGCGCCAGG
+GGCGCTGGCATGCGATGGAACAGACCGTGACCACCTGCGAAGGGCAAACCATTAAACCTGATTTAGATTC
+GCAGGCGATAGCGCATATCGAGCGCCGCCAGAGCCGCTCTTCTGTTGGTGTCAGCGTGGCATGGCTGGAA
+GCGCCCGAAGGTTCGCAATTACTGTTGGTGGCAAACTCTGATTTCTGTCGCTGGCAACCCAACGAGAAAA
+CGTTCTGATTTACCAGTGGCCCATACCCATATGACCGCCACCACCGCAGTCGCCGTAACCCATTCCGGTA
+CCGCGCGGAATACCCGCTTCAGCCATCGCAATATCTCGTTTCACCCGTAACTCATCTAACGACTGACGCA
+AATTCTCCATCTCTTTGGCGAGCGCGTTAATTTTGCTGCTATCCGGTGGGTTCGCGGCTAACAGGGCATT
+GTATTCATAACGCTTTGTCACCAGTTGCTGTTGCAGTGCGCTGCTTTGAGCGTAAAAGTCATTATGGATT
+TTCTGCCACGCTGTCTGTTGTTCGCTGGTCAAAGGCGCGGCATTTTGCTGCCACATACCATGTCCGCCGT
+GAGCAAATGCCGATGTCGATCCCATCGCCATTGCTGAAAGCGCCATCATTACCAGGGCAATTTTCGTGTT
+CCGTTTCATGGTTAATCCTCCAGTGGTTGTCTTACTTCGGGTATTGCATCTTCCGTGCCAACGGCGAAAC
+GCTGATATGACGGGTAATCTGGCATGATAAACGAGTAAAAATGACTCGCCTGTTGTGGGTAGCGAGTCAT
+TTTTACTCATTGAAACTTAAGCCTTTGTGTTACAGCGCAGGGTAAGCGCTGATAAAAGATGGCATGATTT
+CTGCTGTCAGAAAGGGATGAGCAGGCAAAGAAGAAGATGCGTTTTATGCAACGTTCTAAAGACTCCTTAG
+CTAAATGGTTAAGCGCGATCCTCCCCGTGGTCATTGTTGGGCTGGTGGGGCTGTTTGCGGTGACAGTGAT
+TCGCGATTATGGGCGCGAGACTGCCGCCGCCAGACAAACGCTGCTGGAAAAAGGCAGTGTACTTATCCGT
+GCTCTCGAATCCGGCTCGCGCGTCGGCATGGGGATGCGCATGCATCATGCGCAGCAGCAGGCATTACTGG
+AAGAAATGGCCGGGCAGCCTGGTGTACGTTGGTTTGCGGTCACGGATGAACAAGGAACAATCGTGATGCA
+TAGCAACTCCGGCATGATGGGAAAACAGCTTTATTCCCCGCAGGAAATGCAGCAGTTACATCCGGGAGAT
+GAAGAAGCGTGGCGGCGGATCGATAGCGCAGACGGCGAGCCTGTTCTGGAAATTTATCGCCAGTTTCAAC
+CGATGTTTGCTGCTGGAATGCACCGGATGCGCCATATGCAGCAGTATGCCGCGACACCACAAGCAATTTT
+TATCGCTTTCGACGCCAGTAACATTGTGAGTGCTGAAGATCGTGAGCAGAGAAACACCCTGATTATCCTC
+TTCGCCCTGGCGACGGTCTTGCTGGCAAGCGTGTTGTCATTCTTCTGGTATCGCCGATATCTGCGCTCGC
+GGCAGCTATTGCAGGATGAAATGAAGCGCAAAGAGAAGCTGGTGGCACTGGGGCATCTGGCGGCAGGCGT
+TGCCCACGAAATCCGTAACCCACTTTCCTCGATTAAAGGGCTGGCGAAATACTTTGCCGAACGCGCGTCA
+GCAGGGGGAGAAGCGCATCAACTGGCGCAGGTGATGGCGAAAGAAGCCGACCGTTTAAACCGCGTGGTAA
+GCGAGTTGCTGGAACTGGTTAAGCCAACGCATCTGGCTTTGCAGGCGGTGGAGCTCAACACGCTGATTAA
+CCACTCATTACAGCTGGTAAGCCAGGATGCAAACAGCCGGGAGATCCAGTTACGCTTTACCGCCAACGAC
+ACATTACCGGAAATTCAGGCCGATCCGGACAGGCTGACTCAGGTCCTGTTGAATCTCTATCTCAATGCTA
+TTCAGGCGATTGGTCAGCATGGCGTGATTAGCGTGACGGCCAGCGAAAGCGGCGCGGGCGTGAAAATCAG
+CGTTACCGACAGCGGTAAGGGAATTGCGGCGGATCAGCTTGAAGCCATCTTCACCCCGTACTTCACCACC
+AAAGCCGAAGGCACCGGACTGGGGCTGGCGGTTGTGCATAATATTGTTGAACAACACGGTGGTACAATTC
+AGGTCGCAAGCCAGGAGGGAAAAGGCGCAACGTTCACCCTTTGGCTTCCGGTCAATATTACGCGTAAGGA
+CCCACAAGGATGACGCACGATAATATCGATATTCTGGTGGTGGATGATGACATTAGCCACTGCACTATTT
+TGCAGGCTTTGCTGCGCGGCTGGGGCTATAACGTCGCGCTGGCGAACAGCGGGCGACAGGCGCTGGAGCA
+GGTGCGGGAACAGGTTTTTGATCTTGTGCTTTGCGATGTACGAATGGCAGAGATGGATGGTATCGCCACG
+CTAAAAGAGATCAAAACATTAAACCCCGCGATTCCGGTGCTGATTATGACCGCGTACTCCAGCGTCGAGA
+CGGCGGTAGAGGCGTTGAAAACCGGGGCGCTGGATTATCTCATCAAGCCGCTGGATTTCGATAACCTGCA
+GGCGACGCTGGAAAAGGCGCTCGCGCATACACACAGTGTTGACGCTGAAACGCCTGCGGTGTCTGCCAGC
+CAGTTCGGTATGGTCGGTAAAAGCCCGGCGATGCAACACCTGCTCAGTGAAATCGCCCTCGTCGCGCCAT
+CGGAAGCCACGGTGCTGATCCACGGCGATTCCGGCACCGGTAAAGAGCTGGTCGCCAGGGCGATTCACGC
+CAGTAGCGCACGTAGCGAAAAACCGCTGGTAACGCTCAACTGCGCGGCGCTCAACGAATCCTTGCTGGAG
+TCTGAATTGTTCGGTCACGAAAAAGGGGCGTTTACCGGGGCCGACAAACGCCGGGAAGGGCGCTTTGTTG
+AGGCGGACGGCGGCACGCTGTTTCTCGATGAAATTGGCGATATCTCGCCGATGATGCAGGTTCGTCTGCT
+GCGTGCGATTCAGGAGCGCGAAGTTCAGCGTGTCGGCAGCAACCAGACCATCTCGGTTGATGTCCGGCTG
+ATTGCGGCGACTCATCGCGATCTTGCCGCAGAGGTGAATGCCGGGCGTTTTCGCCAGGATCTCTACTATC
+GCCTGAACGTGGTGGCGATTGAAGTACCATCGCTGCGTCAGCGGCGGGAAGATATTCCTCTGCTGGCAAA
+CCATTTTCTTCAGCGCTTTGCCGAACGTAATCGCAAGGCGGTAAAAGGCTTTACGCCCCAGGCGATGGAT
+CTGCTGATTCATTACGACTGGCCGGGAAATATTCGTGAACTGGAAAACGCGGTGGAACGGGCGGTGGTGC
+TGCTGACCGGGGAATATATTTCCGAACGCGAGCTGCCGCTGGCGATTGCCAGTACGCCGATCCCGCTGGT
+ACAAAGTCAGGATATTCAGCCGCTGGTGGAAGTCGAAAAAGAGGTGATTCTGGCGGCGCTGGAGAAAACA
+GGCGGCAACAAAACCGAAGCCGCCCGCCAGTTAGGGATCACGCGCAAAACGCTATTGGCAAAACTGTCGC
+GTTAGTTCTGCTCGCGTTCGATAGCGCGCCAGCCGATATCTTTCCGGCAGAAGCAGTCGTCCCAATGGAT
+ATCGGTCATTAAGGCATAAGCGCGTTTCTGCGCTTCTGCCACGGTATGACCCAGCGCGGTAACGCACAGT
+ACGCGCCCGCCGCTGGTCACTACCTGCTCGTCATCCGCTAGTTTCGTGCCCGCGTGGAACACTTTGCCGT
+CTGCCACTTCTTCCAGCGGCAGGCCGTGGATCACATCGCCGGTGCGGTAATCGCCCGGATATCCACCCGC
+AGCCATCACCACGCCGAGAGAAGCGCGTTCATCCCACTCGGACGTTTTCTCGTCCAGCTTGCCTTCACAG
+GCCGCCAGGCAGAGCTCAACCAGATCGGACTTCATGCGCAGCATAATCGGCTGGGTTTCCGGATCGCCAA
+AGCGGCAGTTAAATTCAATAACCTTCGGATTGCCCTGTTTGTCGATCATCAGGCCCGCGTAGAGAAAACC
+AGTGTAGGTGTTGCCTTCCGCCGCCATGCCTTTCACGGTTGGCCAGATGATACGCTCCATCGTGCGCTGA
+TGAACCTCATCGGTCACTACTGGCGCAGGGGAGTAAGCGCCCATCCCGCCGGTGTTCGGCCCGGTATCTT
+TATCGCCTACGCGTTTGTGATCCTGGCTGGTGGCCATCGGCAGCACATGCTCGCCGTCCACCATCACGAT
+GAAACTGGCTTCTTCGCCGTCGAGGAATTCTTCGATGACGATGCGATGGCCCGCATCGCCAAACGCATTG
+CCCGCCAGCATGTCGTGAACGGCGGCTTCGGCTTCTGCGAGCGTCATCGCCACAATCACGCCTTTCCCGG
+CGGCCAGACCGTCAGCCTTGATGACGATCGGCGCGCCTTTCTCGCGCAGATAGGCCAGCGCAGGCTCAAC
+TTCGGTAAAGTTCTGATATTCCGCCGTCGGGATCTGATGACGCGCGAGAAAATCTTTGGTGAAGGCTTTG
+GAACCTTCCAGTTGTGCGGCACCTTCGGTTGGGCCGAAGATTTTCAGACCCGCGGCACGGAAGGTATCCA
+CCACGCCTTTGACCAGCGGCGCTTCCGGGCCAACGATGGTTAGATCTACCTTTTCGTTTTGTGCGAAATC
+CAGCAGCGCCGGGATATCGGTTACGCCGATAGCGACGTTCTGTAGCGCGGGTTCCAGCGCAGTGCCTGCA
+TTACCCGGAGCAACAAAAACAGTTTCAACCAGCGGCGACTGAGCCGCTTTCCAGGCCAGCGCGTGCTCGC
+GCCCGCCGTTACCAATCACTAATACTTTCATCTATTGCTCCATTAATGGCGGAAGTGGCGCATGTCGGTG
+AAGAGCATCGCAATACCGTGCTCGTCGGCGGCGGCAATCACTTCGTCATCACGGATAGAACCGCCAGGCT
+GGATTACACAGGTCACACCCGCAGCGGCGGCGGCATCAATACCGTCGCGGAACGGGAAGAACGCGTCAGA
+AGCCATTGACGAACCTTTCACTTCCAAACCTTCATCGGCAGCTTTGATACCGGCGATTTTCGCGGAGTAC
+ACGCGGCTCATCTGGCCTGCGCCAATACCGATGGTCATATTGTTTTTGGCATAGACGATAGCGTTGGATT
+TCACGAACTTCGCCACTTTCCAGCAGAACAGCGCATCACGAAGTTCCTGTTCAGTCGGCTGACGCTTGGT
+GACGACGCGCAGTTCTTCTGCACCGACCATCCCCAGGTCGCGATCCTGAACCAGCAGACCGCCGTTCACG
+CGTTTGAAATCAAGACCCGGAGCACGCTCGCCCCACTGACCGCAGATCAGGACGCGAACGTTCTGTTTAG
+CGGCGGTTATTTTCAGGGCTTCTTCGCTGGCGGACGGCGCAATAATCACTTCAACAAACTGACGAGAAAT
+GATGGCCTGCGCGGTTTCCGCATCCAGCTCGCGGTTAAAGGCGATAATGCCGCCGAATGCGGAGGTTGGG
+TCGGTTTTATACGCGCGATCGTAAGCATCGAGAATGGAGTTGCTGACCGCCACGCCGCATGGGTTTGCAT
+GCTTCACGATCACACAGGCCGGCTCGGCGAACTCTTTCACGCACTCCAGCGCCGCATCGGTATCGGCGAT
+GTTGTTATAAGAGAGGGCTTTACCCTGAACCTGGGTTGCGGTGGCAACGGAGGCTTCTTTCACATTCTCT
+TCTATATAGAAGGCAGCCTGCTGGTGGCTGTTCTCGCCGTAGCGCATATCCTGCTTCTTGATGAAGTTCA
+GGTTCAGCGTACGCGGGAAGCGACCGGCGGCTTCTTTGCTTTCACCGTGATAGGCCGGAACCATGCTGCC
+GAAGTAGTTGGCAATCATGCTGTCGTAGGCGGCAGTGTGTTCGAAGGCTTTGATGGCAAGGTTGAAACGG
+GTTGCAAGCGTCAGCGATCCTTCGTTGGCATCCATCTCTTTAATAATGGCGTCGTAGTCGCTACTCTTCA
+CCACGATTGCGACATCTCTATGGTTCTTGGCGGCGGAGCGCACCATCGTTGGGCCGCCGATATCGATGTT
+CTCAACCGCATCTTCCAGCGAGCAGCCTTCACGAGCGACGGTCTGGGCGAACGGATACAGGTTAACAACC
+ACCATATCGATAGGCTGGATCTGATGTTCTTCCATAATGGCATCGTCCTGGCCGCGACGGCCCAGAATGC
+CACCATGTACTTTCGGATGCAGGGTCTTCACGCGTCCATCCATCATCTCCGGGAAACCGGTGTAATCGGA
+AACTTCGGTTACCGGCAGACCTTTTTCTGCTAACAGACGGGCAGTGCCCCCTGTAGACAGCAGCTCCACA
+CCGCGTGCGGAAAGTGCCTGGGCGAATTCGACGATACCGGCTTTGTCAGAAACACTGAGCAGAGCGCGGC
+GGACTGGACGACGTTGTTGCATGGTAAATCCCCTGGATTTGACTATTACAGAGAGCGTTAGCTGAATTTT
+TCGCGAAAAACTCAGCTAACGCCCCTAACGGGGCATCCTTATTTTTCGCCCGCATTGTAACGAAAACGTT
+TGCGCAACGCTCGCGAATTTTTCTCTTTCAATGGTGATCACAATTTTGACAGTGGCTACCGTGGGAAAAA
+TACAGAAATTACATTGAAGATTGTGGATAACTCTGTGCGTAAAAAGGTATAAAGCGGGGTTTTGCTGGGG
+AATGCAGCAGTCAGTCATTTTTATGCAATTTTTCTATTGCGGCCTGCGGAGAACTCCCTATAATACGCCT
+CCATCGACACGGCGGATGTGAATCACTTCACACAAACAGCCGGTTAGGTTGAAGAGAAAAATCCTGAAAT
+TCAGGGTTGACTCTGAAAGAGGAAAGCGTAATATACGCCACCTCGCGACAGTGAGCTGAAAGCCGCGTCG
+CAACTGCTCTTTAACAATTTATCAGACAATCTGTGTGGGCACTCGAAGATACGGATTCTTGACGTCGCAA
+GACGAAAAATGAATACCAAGTCTCAGGAGTGAACACGTAATTCATTACGAAGTTTAATTCTTTGAGCATC
+AAACTTTTAAATTGAAGAGTTTGATCATGGCTCAGATTGAACGCTGGCGGCAGGCCTAACACATGCAAGT
+CGAACGGTAACAGAAAGCAGCTTGCTGCTTTGCTGACGAGTGGCGGACGGGTGAGTAATGTCTGGGAAAC
+TGCCCGATGGAGGGGGATAACTACTGGAAACGGTAGCTAATACCGCATAACGTCGCAAGACCAAAGAGGG
+GGACCTTCGGGCCTCTTGCCATCGGATGTGCCCAGATGGGATTAGCTAGTAGGTGGGGTAAAGGCTCACC
+TAGGCGACGATCCCTAGCTGGTCTGAGAGGATGACCAGCCACACTGGAACTGAGACACGGTCCAGACTCC
+TACGGGAGGCAGCAGTGGGGAATATTGCACAATGGGCGCAAGCCTGATGCAGCCATGCCGCGTGTATGAA
+GAAGGCCTTCGGGTTGTAAAGTACTTTCAGCGGGGAGGAAGGGAGTAAAGTTAATACCTTTGCTCATTGA
+CGTTACCCGCAGAAGAAGCACCGGCTAACTCCGTGCCAGCAGCCGCGGTAATACGGAGGGTGCAAGCGTT
+AATCGGAATTACTGGGCGTAAAGCGCACGCAGGCGGTTTGTTAAGTCAGATGTGAAATCCCCGGGCTCAA
+CCTGGGAACTGCATCTGATACTGGCAAGCTTGAGTCTCGTAGAGGGGGGTAGAATTCCAGGTGTAACGGT
+GAAATGCGTAGAGATCTGGAGGAATACCGGTGGCGAAGGCGGCCCCCTGGACGAAGACTGACGCTCAGGT
+GCGAAAGCGTGGGGAGCAAACAGGATTAGATACCCTGGTAGTCCACGCCGTAAACGATGTCGACTTGGAG
+GTTGTGCCCTTGAGGCGTGGCTTCCGGAGCTAACGCGTTAAGTCGACCGCCTGGGGAGTACGGCCGCAAG
+GTTAAAACTCAAATGAATTGACGGGGGCCCGCACAAGCGGTGGAGCATGTGGTTTAATTCGATGCAACGC
+GAAGAACCTTACCTGGTCTTGACATCCACGGAAGTTTTCAGAGATGAGAATGTGCCTTCGGGAACCGTGA
+GACAGGTGCTGCATGGCTGTCGTCAGCTCGTGTTGTGAAATGTTGGGTTAAGTCCCGCAACGAGCGCAAC
+CCTTATCCTTTGTTGCCAGCGGTCCGGCCGGGAACTCAAAGGAGACTGCCAGTGATAAACTGGAGGAAGG
+TGGGGATGACGTCAAGTCATCATGGCCCTTACGACCAGGGCTACACACGTGCTACAATGGCGCATACAAA
+GAGAAGCGACCTCGCGAGAGCAAGCGGACCTCATAAAGTGCGTCGTAGTCCGGATTGGAGTCTGCAACTC
+GACTCCATGAAGTCGGAATCGCTAGTAATCGTGGATCAGAATGCCACGGTGAATACGTTCCCGGGCCTTG
+TACACACCGCCCGTCACACCATGGGAGTGGGTTGCAAAAGAAGTAGGTAGCTTAACCTTCGGGAGGGCGC
+TTACCACTTTGTGATTCATGACTGGGGTGAAGTCGTAACAAGGTAACCGTAGGGGAACCTGCGGTTGGAT
+CACCTCCTTACCTTAAAGAAGCGTACTTTGCAGTGCTCACACAGATTGTCTGATAGAAAGTGAAAAGCAA
+GGCGTCTTGCGAAGCAGACTGATACGTCCCCTTCGTCTAGAGGCCCAGGACACCGCCCTTTCACGGCGGT
+AACAGGGGTTCGAATCCCCTAGGGGACGCCACTTGCTGGTTTGTGAGTGAAAGTCACCTGCCTTAATATC
+TCAAAACTCATCTTCGGGTGATGTTTGAGATATTTGCTCTTTAAAAATCTGGATCAAGCTGAAAATTGAA
+ACACTGAACAACGAAAGTTGTTCGTGAGTCTCTCAAATTTTCGCAACACGATGATGAATCGAAAGAAACA
+TCTTCGGGTTGTGAGGTTAAGCGACTAAGCGTACACGGTGGATGCCCTGGCAGTCAGAGGCGATGAAGGA
+CGTGCTAATCTGCGATAAGCGTCGGTAAGGTGATATGAACCGTTATAACCGGCGATTTCCGAATGGGGAA
+ACCCAGTGTGATTCGTCACACTATCATTAACTGAATCCATAGGTTAATGAGGCGAACCGGGGGAACTGAA
+ACATCTAAGTACCCCGAGGAAAAGAAATCAACCGAGATTCCCCCAGTAGCGGCGAGCGAACGGGGAGGAG
+CCCAGAGCCTGAATCAGTGTGTGTGTTAGTGGAAGCGTCTGGAAAGGCGCGCGATACAGGGTGACAGCCC
+CGTACACAAAAATGCACATGCTGTGAGCTCGATGAGTAGGGCGGGACACGTGGTATCCTGTCTGAATATG
+GGGGGACCATCCTCCAAGGCTAAATACTCCTGACTGACCGATAGTGAACCAGTACCGTGAGGGAAAGGCG
+AAAAGAACCCCGGCGAGGGGAGTGAAAAAGAACCTGAAACCGTGTACGTACAAGCAGTGGGAGCCTCTTA
+ATGGGGTGACTGCGTACCTTTTGTATAATGGGTCAGCGACTTATATTCTGTAGCAAGGTTAACCGAATAG
+GGGAGCCGAAGGGAAACCGAGTCTTAACTGGGCGTTAAGTTGCAGGGTATAGACCCGAAACCCGGTGATC
+TAGCCATGGGCAGGTTGAAGGTTGGGTAACACTAACTGGAGGACCGAACCGACTAATGTTGAAAAATTAG
+CGGATGACTTGTGGCTGGGGGTGAAAGGCCAATCAAACCGGGAGATAGCTGGTTCTCCCCGAAAGCTATT
+TAGGTAGCGCCTCGTGAATTCATCTCCGGGGGTAGAGCACTGTTTCGGCAAGGGGGTCATCCCGACTTAC
+CAACCCGATGCAAACTGCGAATACCGGAGAATGTTATCACGGGAGACACACGGCGGGTGCTAACGTCCGT
+CGTGAAGAGGGAAACAACCCAGACCGCCAGCTAAGGTCCCAAAGTCATGGTTAAGTGGGAAACGATGTGG
+GAAGGCCCAGACAGCCAGGATGTTGGCTTAGAAGCAGCCATCATTTAAAGAAAGCGTAATAGCTCACTGG
+TCGAGTCGGCCTGCGCGGAAGATGTAACGGGGCTAAACCATGCACCGAAGCTGCGGCAGCGACACTATGT
+GTTGTTGGGTAGGGGAGCGTTCTGTAAGCCTGTGAAGGTGGCCTGTGAGGGTTGCTGGAGGTATCAGAAG
+TGCGAATGCTGACATAAGTAACGATAAAGCGGGTGAAAAGCCCGCTCGCCGGAAGACCAAGGGTTCCTGT
+CCAACGTTAATCGGGGCAGGGTGAGTCGACCCCTAAGGCGAGGCCGAAAGGCGTAGTCGATGGGAAACAG
+GTTAATATTCCTGTACTTGGTGTTACTGCGAAGGGGGGACGGAGAAGGCTATGTTGGCCGGGCGACGGTT
+GTCCCGGTTTAAGCGTGTAGGCTGGTTTTCCAGGCAAATCCGGAAAACCAAGGCTGAGGCGTGATGACGA
+GGCACTACGGTGCTGAAGTGACAAATGCCCTGCTTCCAGGAAAAGCCTCTAAGCATCAGGTAACATCAAA
+TCGTACCCCAAACCGACACAGGTGGTCAGGTAGAGAATACCAAGGCGCTTGAGAGAACTCGGGTGAAGGA
+ACTAGGCAAAATGGTGCCGTAACTTCGGGAGAAGGCACGCTGATATGTAGGTGAAGCGACTTGCTCGTGG
+AGCTGAAATCAGTCGAAGATACCAGCTGGCTGCAACTGTTTATTAAAAACACAGCACTGTGCAAACACGA
+AAGTGGACGTATACGGTGTGACGCCTGCCCGGTGCCGGAAGGTTAATTGATGGGGTTAGCGGTAACGCGA
+AGCTCTTGATCGAAGCCCCGGTAAACGGCGGCCGTAACTATAACGGTCCTAAGGTAGCGAAATTCCTTGT
+CGGGTAAGTTCCGACCTGCACGAATGGCGTAATGATGGCCAGGCTGTCTCCACCCGAGACTCAGTGAAAT
+TGAACTCGCTGTGAAGATGCAGTGTACCCGCGGCAAGACGGAAAGACCCCGTGAACCTTTACTATAGCTT
+GACACTGAACATTGAGCCTTGATGTGTAGGATAGGTGGGAGGCTTTGAAGTGTGGACGCCAGTCTGCATG
+GAGCCGACCTTGAAATACCACCCTTTAATGTTTGATGTTCTAACGTTGGCCCCTAATCGGGGTTGCGGAC
+AGTGTCTGGTGGGTAGTTTGACTGGGGCGGTCTCCTCCTAAAGAGTAACGGAGGAGCACGAAGGTTGGCT
+AATCCTGGTCGGACATCAGGAGGTTAGTGCAATGGCATAAGCCAGCTTGACTGCGAGCGTGACGGCGCGA
+GCAGGTGCGAAAGCAGGTCATAGTGATCCGGTGGTTCTGAATGGAAGGGCCATCGCTCAACGGATAAAAG
+GTACTCCGGGGATAACAGGCTGATACCGCCCAAGAGTTCATATCGACGGCGGTGTTTGGCACCTCGATGT
+CGGCTCATCACATCCTGGGGCTGAAGTAGGTCCCAAGGGTATGGCTGTTCGCCATTTAAAGTGGTACGCG
+AGCTGGGTTTAGAACGTCGTGAGACAGTTCGGTCCCTATCTGCCGTGGGCGCTGGAGAACTGAGGGGGGC
+TGCTCCTAGTACGAGAGGACCGGAGTGGACGCATCACTGGTGTTCGGGTTGTCATGCCAATGGCACTGCC
+CGGTAGCTAAATGCGGAAGAGATAAGTGCTGAAAGCATCTAAGCACGAAACTTGCCCCGAGATGAGTTCT
+CCCTGAGACTTAGAGTCTCCTGAAGGAACGTTGAAGACGACGACGTTGATAGGCCGGGTGTGTAAGCGCA
+GCGATGCGTTGAGCTAACCGGTACTAATGAACCGTGAGGCTTAACCTTACAACGCCGAAGATGTTTTGGC
+GGATGAGAGAAGATTTTCAGCCTGATACAGATTAGATTAACCGGCGACAAGCGGGTTAATGAAACAGAAT
+TTGCCTGGCGGCCTTAGCGCGGTGGTCCCACCTGACCCCATGCCGAACTCAGAAGTGAAACGCCGTAGCG
+CCGATGGTAGTGTGGGGTCTCCCCATGCGAGAGTAGGGAACTGCCAGGCATCAAATTAGAAAAACCCCGG
+TCAATAAGGCCGGGGTTTTTTGCATATCAATTATTTGCATGATGAAGGGAATCTCATGTCAGTTCTGTAT
+ATCCAAATTCGTCGTAATCAAATTACTGTTCGCGATCTTGAAAGCAAACGTGAAGTGTCAGGAGATGCTG
+CCTTCAGTAACCAGCGCCTGTTAATCGCCAATTTCTTTGTTGCAGAAAAAGTTCTGCAAGATCTTGTTCT
+GCAACTCCACCCACGTTCAACCTGGCATTCTTTTTTGCCAGCAAAACGTATGGATATTGTTGTGAGCGCG
+CTGGAAATGAATGAGGGCGGTTTGTCACAGGTTGAGGAACGCATTCTTCATGAAGTGGTCGCAGGGGCAA
+CGTTAATGAAATATCGCCAGTTCCACATCCATGCGCAATCAGTGGTACTCAGTGATAGTGCGGTCCTGGC
+AATGTTTAAGCAGAAATAATCATGTCACCATTGGTGGGTACGAAACCTAAAGTTCAGCCCACCGGGATGA
+GAAAAAAACCGCCTACACCCCCACATATGCCAGATTCAGCAACGGATACGGTTTCCCCAAATCGTCCACC
+TCAGAGCGTCCCGTAACCTTAAAACCCACCTTCTTATAGAACCCAACCGCCTGCTCATTTTGCTCATTAA
+CATTGGTTGTCAGTTCCGGGGCCATTGAGAGCGCATGCTTCACCAGCATCCGACCCACGCCGCAGCCGCG
+CACATCAGGATCGATAAACAGCGCATCCATATGCTGCCCACTTAACAACATAAACCCAACCGGCCGATCC
+CGCTCATTAACCGCGACCCACAACGGCGCTTCCGGCAGGAAGGAACGAACTAGCTCCTCCAGCTCGGCCC
+GATACTCTGCTGATAAAAAATCGTGAGTGGCATCGACAGAACGACACCAAATCGCAACGAGTTCCTCCCC
+TTCCTCATGCCGTGAGCGGCGAATACTAATAACCATTTTCTCTCCTTTTCGTCATTCTTATATTCTAACG
+TAGCCTTTTCCTTGAAACTTTCTCACCTTCAACATGCAGGCTCGACATTGGTAAATTTTCTGGTTATCTT
+CAGCTATCTGGATGTCTAAACGTATAAGCGTATGTAATGAGGTAATCAGGTTATGCCGATTCGTGTGCCG
+GACGAGCTACCCGCCGTCAATTTCTTGCGTGAAGAAAACGTCTTTGTGATGACAACTTCTCGCGCGTCTG
+GTCAGGAAATTCGTCCGCTAAAGGTGCTTATCCTTAACCTGATGCCGAAGAAGATCGAAACTGAAAATCA
+GTTTCTGCGCCTGCTTTCAAACTCACCTTTGCAGGTCGATATTCAGCTTTTGCGCATCGATTCCCGTGAA
+TCGCGCAACACGCCCGCAGAGCATCTGAATAACTTCTACTGTAACTTTGAAGATATTCAGGAACAAAACT
+TTGACGGTCTGATAGTTACCGGCGCGCCGCTGGGCCTGGTGGAGTTTAATGATGTCGCTTACTGGCCGCA
+GATCAAACAGGTGCTGGAGTGGTCGAAAGATCACGTCACCTCGACGCTGTTTGTCTGCTGGGCTGTACAG
+GCCGCGCTCAATATCCTCTATGGTATTCCTAAGCAAACCCGCACCGACAAACTCTCTGGCGTTTACGAGC
+ATCATATTCTCCATCCTCATGCGCTTCTGACGCGTGGCTTTGATGATTCATTCCTGGCACCGCATTCGCG
+CTATGCTGACTTTCCGGCAGCGTTGATTCGTGATTATACCGATCTGGAAATTCTGGCAGAGACGGAAGAA
+GGGGATGCATATCTGTTTGCCAGCAAAGATAAGCGCATTGCCTTTGTGACGGGCCATCCCGAATATGATG
+CGCAAACGCTGGCGCAGGAATATTTCCGCGATGTGGAAGCCGGGCTAGACCCGGATGTACCGTATAACTA
+TTTCCCGCACAATGATCCGCAAAATACACCGCGAGCGAGCTGGCGTAGTCACGGTAATTTGCTGTTTACC
+AACTGGCTCAACTATTACGTCTACCAGATCACGCCATATGATCTACGGCACATGAATCCAACGCTGGATT
+AATCTTCTGTGATAGTCGATCGTTAAGCGATTCAGCACTTTACCTCAGGCACCTTCGGGTGCCTTTTTTA
+TTTCCGAAACACACCTCAGCAAGTGAATAAATTTTATTTATATTGTTATCAATAAGTTAACATGCATTTT
+TAATTAAAATGGAAATTGTTTTTGATTTTGCATTTTAAATGAGTAGTCTTAGTTGTGCTGAACGAAAAGC
+GCACAACGATCCTTCGTTCACAGTGGGGAAGTTTTCGGATCCATGACGAGGAACTGCACGATGACTGAAC
+AGGCAACAACAATCGATGAACTGGCTTTCACAAGGCCGCATGGCGAGCAGGAGAAGCAAATTCTTACTGC
+CGAAGCGGTAGAATTTCTGACTGAGCTGGTGACGCATTTTACGCCACAACGCAATAAACTTCTGGCAGCG
+CGCATTCAGCAGCAGCAGGATATCGATAACGGAATGTTGCCTGATTTTATTTCGGAAACAGCTTCCATTC
+GTGATGCTGACTGGAAAATTCGCGGGATTCCTTCGGACTTAGAAGATCGTCGCGTAGAGATTACCGGACC
+TGTAGAGCGCAAGATGGTGATCAACGCGCTCAACGCCAATGTGAAAGTCTTTATGGCCGATTTCGAAGAT
+TCACTGGCACCAGACTGGAACAAAGTGATCGATGGGCAAATTAACCTGCGCGATGCGGTTAACGGCACCA
+TCAGCTATAGCAATGAAGCAGGCAAAATTTATCAGCTCAAGCCCAATCCAGCGGTTTTGATTTGTCGGGT
+ACGCGGTCTGCACTTGCCGGAAAAACATGTCACCTGGCGTGGTGAGGCAATCCCCGGTAGCCTGTTTGAT
+TTTGCGCTCTATTTCTTCCACAACTATCAGGCACTGTTGGCAAAGGGCAGCGGTCCCTATTTCTATCTGC
+CGAAAACCCAGTCCTGGCAGGAAGCGGCCTGGTGGAGCGAAGTCTTCAGCTATGCAGAAGATCGCTTTAA
+TCTGCCGCGCGGCACCATCAAGGCGACGTTGCTGATTGAAACGCTGCCCGCCGTGTTCCAGATGGATGAA
+ATCCTTCACGCGCTGCGTGACCATATTGTTGGTCTGAACTGCGGTCGTTGGGATTACATCTTCAGTTATA
+TCAAAACATTGAAAAACTATCCCGATCGCGTCCTGCCAGACAGACAGGCAGTGACGATGGATAAACCCTT
+CCTGAATGCTTACTCACGCCTGTTGATTAAAACCTGCCATAAACGCGGTGCTTTTGCGATGGGCGGCATG
+GCGGCGTTTATTCCGAGCAAAGATGAAGAGCGCAATAACCAGGTACTCAACAAAGTAAAAGCGGATAAAT
+CGCTGGAAGCCAATAACGGTCACGATGGCACATGGATCGCTCACCCGGGCCTTGCTGATACGGCAATGGC
+GGTATTCAACGATATTCTCGGCTCCCGCAAAAACCAGCTTGAGGTGATGCGCGAACAAGACGCGCCGATT
+ACTGCCGATCAGCTGCTGGCACCTTGTGATGGTGAACGCACCGAAGAAGGTATGCGCGCCAACATTCGCG
+TGGCTGTGCAGTACATCGAAGCGTGGATCTCTGGCAATGGCTGTGTGCCGATTTATGGCCTGATGGAAGA
+TGCGGCGACGGCTGAAATTTCCCGTACCTCAATCTGGCAGTGGATCCATCATCAAAAAACGTTGAGCAAT
+GGCAAACCGGTGACTAAAGCCTTGTTCCGCCAGATGCTGGGCGAAGAGATGAAAGTCATTGCCAGCGAAC
+TGGGCGAAGAATGTTTCTCCCAGGGGCGTTTTGACGATGCCGCACGCTTGATGGAACAGATCACCACTTC
+CGATGAGTTAATTGATTTCCTGACCCTGCCAGGCTACCGCCTGTTAGCGTAAACCACCACATAACTATGG
+AGCATCTGCACATGAAAACCCGTACACAACAAATTGAAGAATTACAGAAAGAGTGGACTCAACCGCGTTG
+GGAAGGCATTACTCGCCCGTACAGCGCGGAAGATGTGGTGAAATTACGCGGTTCAGTCAATCCGGAATGC
+ACCCTGGCGCAACTGGGTGCGGCGAAAATGTGGCGTCTGCTGCACGGCGAGTCGAAAAAAGGCTACATCA
+ACAGCCTCGGTGCACTGACTGGCGGTCAGGCGCTGCAACAGGCGAAAGCGGGTATTGAAGCAGTCTATCT
+GTCGGGATGGCAGGTAGCGGCGGACGCTAACCTGGCGGCCAGCATGTATCCGGATCAGTCGCTCTATCCG
+GCAAACTCGGTGCCAGCGGTGGTGGAGCGGATCAACAATACTTTCCGCCGTGCGGATCAGATCCAATGGT
+CCGCGGGCATTGAGCCGGGCGATCCGCGCTATGTCGATTACTTCCTGCCGATCGTCGCCGATGCGGAGGC
+CGGTTTTGGCGGTGTACTGAATGCCTTTGAACTGATGAAAGCGATGATTGAAGCCGGTGCAGCGGCAGTT
+CACTTCGAAGATCAGCTGGCATCAGTGAAGAAATGTGGTCACATGGGCGGCAAAGTTTTGGTGCCAACTC
+AGGAAGCTATTCAGAAACTGGTCGCGGCGCGTCTGGCAGCTGATGTGACGGGCGTTCCAACCCTGCTGGT
+TGCTCGTACCGATGCCGATGCGGCGGATCTGATTACCTCCGATTGCGACCCATATGACAGCGAATTTATT
+ACTGGCGAGCGTACCAGTGAAGGCTTCTTCCGTACTCATGCGGGTATTGAGCAAGCGATCAGCCGTGGCC
+TGGCGTATGCGCCATATGCTGACCTGGTATGGTGTGAAACCTCCACGCCGGATCTGGAACTGGCGCGTCG
+CTTTGCACAAGCCATCCACGCGAAATATCCGGGCAAACTGCTGGCTTATAACTGCTCGCCGTCGTTCAAC
+TGGCAGAAAAACCTCGACGACAAAACTATTGCCAGCTTCCAGCAGCAGCTGTCGGATATGGGCTACAAGT
+TCCAGTTCATCACCCTGGCAGGTATCCACAGCATGTGGTTCAACATGTTTGACCTGGCAAACGCCTATGC
+CCAGGGCGAGGGTATGAAGCACTATGTTGAGAAAGTGCAGCAGCCGGAATTTGCCGCCGCGAAAGATGGC
+TATACCTTCGTATCTCACCAACAGGAAGTGGGTACAGGTTACTTCGATAAAGTGACGACCATTATTCAAG
+GTGGCACGTCTTCAGTTACCGCGCTGACCGGCTCCACCGAAGAATCGCAGTTCTAAGCAACCGATAAACG
+TTGCTGACTGTAGGCCGGATAAGGCGTTCACGCCGCATCCGGCAATCAGCGCCTGATGCGACGCTTGCGC
+GTCTTATCATGCCTACAGCCGTTGCCGAACGTAGGCCGGATAAGGCGTCTACGCCGCATCCGGCAATCAG
+CGCCTGATGTGACGCTTACGCGTCTTATCCGGCAATTCTCTGCTCCCGACGAGGGCAACAAATGCCGCGT
+GGCCTGGAATTACTGATTGCACAAACCATTTTGCAAGGTTTCGACGCTCAGTATGGTCGATTCCTCGAAG
+TGACTTCCGGGGCGCAGCAGCGTTTCGAGCAAGCCGACTGGCATGCTGTCCAGCAGGCGATGAAAAACCG
+TATTCATCTTTACGATCATCACGTGGGTCTGGTCGTGGAGCAACTGCGCTGCATTACTAACGGCCAAAGC
+ACGGACGCGGCATTTTTACTGCGCGTTAAAGAGCATTACACCCGGCTGTTGCCAGATTACCCGCGCTTCG
+AGATTGCGGAGAGCTTTTTCAACTCCGTGTACTGTCGGTTATTTGACCACCGCTCGCTTACTCCCGAGCG
+GCTTTTTATCTTTAGCTCCCAGCCAGAGCGCCGCTTTCGTACCATTCCACGCCCACTGGCGAAAGACTTT
+CACCCCGATCACGGCTGGGAATCTCTGCTGATGCGCGTTATCAGCGATCTGCCGCTGCGTCTGCGTTGGC
+AGAATAAAAGCCGTGACATTCATTACATCGTTCGCCATCTGACGGAAACGCTGGGGACAGACAACCTCGC
+GGAAAGTCATTTACAGGTGGCGAACGAACTGTTTTACCGCAATAAGGCAGCCTGGCTGGTGGGCAAACTA
+ATAACGCCTTCCGGCACGTTGCCATTTTTATTGCCGATCCACCAGACGGACGACGGCGAGTTATTTATTG
+ATACCTGCCTGACGACGACCGCCGAAGCGAGCATTGTTTTTGGCTTTGCGCGTTCTTATTTTATGGTTTA
+TGCACCGCTGCCCGCAGCGCTGGTCGAGTGGCTACGGGAAATTCTGCCAGGTAAAACCACCGCTGAATTG
+TATATGGCTATCGGCTGCCAGAAGCACGCTAAAACCGAAAGCTACCGCGAATATCTCGTTTATCTACAGG
+GCTGTAATGAGCAGTTCATTGAAGCGCCGGGTATTCGTGGAATGGTGATGTTGGTGTTTACGTTGCCGGG
+TTTTGATCGGGTATTTAAAGTCATCAAAGACAGGTTCGCGCCGCAGAAAGAGATGTCTGCCGCTCACGTT
+CGTGCCTGCTATCAACTGGTGAAAGAGCACGATCGCGTGGGCCGAATGGCGGACACCCAGGAGTTTGAAA
+ACTTTGTGCTGGAGAAGCGGCATATTTCCCCGGCATTAATGGAATTACTGCTCCAGGAAGCAGCGGAAAA
+AATCACCGATCTCGGCGAACAAATTGTGATTCGCCATCTCTATATCGAACGACGGATGGTGCCGCTCAAT
+ATCTGGCTGGAACAAGTGGAAGGTCAGCAGCTGCGCGACGCCATTGAAGAGTACGGCAATGCCATTCGCC
+AGCTTGCCGCTGCCAACATCTTCCCTGGGGATATGTTATTTAAAAACTTTGGCGTCACCCGTCACGGGCG
+CGTGGTGTTTTATGATTACGATGAAATTTGCTACATGACGGAAGTGAATTTCCGCGACATCCCGCTGCCG
+CGCTACCCGGAAGACGAACTTGCCAGCGAACCGTGGTACAGCGTCTCGCCGGGCGATGTTTTCCCGGAAG
+AGTTCCGTCACTGGTTATGTGCCGACCCGCGTATTGGTCCGCTATTTGAAGAGATGCACGCCGACTTGTT
+CCGCGCTGATTACTGGCGCGCACTACAAAACCGCATACGTGAAGGGCATGTGGAAGATGTTTATGCGTAT
+CGGCGCAGGCAGCGGTTTAGCGTTCGATTCGTATAAATCAGAGGCGAAAAAGTCAGCGTATTCCACCGTA
+CGCCAGCGTCACTTCCTTCGCCGCTTTAATCACCATCGCGCCAAACTCGGTCACGCGGTCATCGGTAATA
+CGTGAAATCGGTCCGGAAATTGAAATTGCGGCAAACGGTTCGCGGTGCTCATCGAAAATACACGCTGCAA
+GGCAACGCAGCCCCAGCGCATGTTCCTCATCGTCAAATGAATAACCCCGTTTGCGCGTTTGGGCGAGATC
+TTCTTTTAAATGCACAGGAGACACCAGCGTCGCGTGGGTATAGGCATGTAACCCTTTGCGGTGCAGCAGC
+TTCGTCACCTGTTCTTCGCTCAGTTGGGCCAGAAAGGCTTTACCCGCACCGGAAGCGTGCATCGGCAATT
+TACCGCCGATAGGCGCGGACATTCGCATCAGGTGAGTACACTGTACCTGGTCGATAATAATCGCTTCGTG
+ATCGCTTTGATCAAGCACCGCCATATTGACCGTTTCGCCAGACTCTTCCATCAGATTGCGCAGAATAGGA
+TGGACAATCGCTAACAAATTACGGCTCTGGAGAAAGCTGCTGCCGACCATAAAGGCGTGTGCGCCGATCG
+CCCAGTGACCCAGTTCGCCGACCTGACGGACAAAGCCCTGTTGCTGCATCGTGGTTAGCAGGCGGTGGGT
+CGTGGAATTGGGTAACCCGGCTTGTTGCGCCAGTTCCGTGAGTGCCACACTGCCATTGGATTCGGCAATC
+CACTCCAGTAATTTCAGGCCACGCGTTAAAGACTGAACCTGTCCAGTCGCTGGTGCGGTGGCAACGGCGG
+GTTTTCTGCCGCGTTTTGCGGGAATGGGTGCGACCATGACAGTCTCCTTTTTCTGTATAGTGGAAATCAT
+TTTCATTTTTATTATCAGCGAATGCAATAGTTGCTGAACAGATCCGATGAGTTAATGTTGAACAAATCTC
+ATGTTGCGTGGTGGTCGCTTTTACCACAGATGCGTTTATGCCAGTATGGTTTGTTGAATTTTTATTAAAT
+CTGGGTTAAGCGTGTCGGGAGCAAGTGTGAGCAGCAAAGTGGAACAACTGCGTGCGCAGTTAAATGAACG
+TATTCTGGTGCTGGACGGCGGTATGGGCACCATGATCCAGAGTTATCGACTGAACGAGGCCGATTTTCGC
+GGCGAGCGTTTTGCCGACTGGCCGTGCGATCTCAAAGGCAACAACGACCTGCTGGTGCTCAGCAAACCGG
+AAGTGATCGCCGCTATCCACAACGCCTACTTTGAAGCGGGTGCGGATATCATCGAAACCAACACCTTCAA
+CTCCACGACCATTGCGATGGCGGATTACCAGATGGAATCCCTGTCGGCGGAAATCAACTTTGCAGCGGCG
+AAACTGGCGCGCGCCTGTGCCGACGAGTGGACTGCCCGCACGCCGGAGAAACCGCGCTACGTTGCCGGTG
+TTCTCGGCCCGACCAACCGCACGGCGTCTATTTCTCCGGACGTCAACGATCCGGCATTCCGCAACATCAC
+TTTTGACCAGCTGGTGGCGGCTTATCGAGAATCCACCAAAGCGCTGGTGGAAGGTGGCGCGGACCTGATC
+CTGATTGAAACCGTTTTCGACACCCTTAACGCCAAAGCGGCGGTCTTTGCGGTGAAAACGGAGTTTGAAG
+CGCTGGGCGTTGAACTGCCGATTATGATCTCCGGCACCATCACCGACGCCTCCGGGCGCACGCTCTCCGG
+GCAGACTACTGAAGCGTTTTACAACTCCCTGCGCCACGCCGAAGCGCTGACCTTTGGCCTGAACTGTGCG
+CTGGGGCCAGACGAACTGCGCCAGTACGTACAGGAACTGTCGCGTATTGCGGAATGCTACGTCACCGCCC
+ACCCGAACGCCGGGCTGCCCAACGCCTTTGGTGAATACGATCTCGACGCCGACACGATGGCAAAACAGAT
+ACGTGAATGGGCAGAAGCAGGCTTTCTCAATATCGTCGGCGGCTGCTGCGGCACCACGCCACAACATATT
+GCAGCGATGAGTCGTGCAGTAGAAGGATTAGCGCCGCGCAAACTACCGGAAATTCCCGTAGCCTGCCGTT
+TGTCCGGCCTGGAGCCGCTGAACATTGGCGAAGATAGCCTGTTTGTGAACGTGGGTGAACGCACCAACGT
+CACCGGTTCCGCTAAGTTCAAGCGACTGATCAAAGAAGAGAAATACAGCGAGGCGCTGGATGTGGCGCGT
+CAGCAGGTGGAAAACGGTGCGCAGATTATCGATATCAACATGGATGAAGGGATGCTCGACGCCGAAGCGG
+CGATGGTGCGTTTTCTCAATCTGATTGCCGGTGAACCGGATATCGCTCGCGTGCCGATTATGATCGACTC
+CTCAAAATGGGACGTTATTGAAAAAGGTCTGAAGTGTATCCAGGGCAAAGGCATTGTTAACTCTATCTCG
+ATGAAAGAGGGTGTCGACGCCTTTATCCATCACGCGAAACTGTTGCGTCGCTACGGTGCGGCAGTCGTGG
+TAATGGCTTTTGACGAACAGGGCCAGGCCGATACCCGCGCACGGAAAATCGAGATTTGCCATCGGGCGTA
+CAAAATCCTCACCGAAGAGGTTGGCTTCCCGGCTGAAGATATCATCTTCGACCCGAACATCTTCGCGGTC
+GCAACTGGCATTGAAGAGCACAACAATTACGCGCAGGACTTTATCGGCGCGTGTGAAGACATCAAACGTG
+AACTGCCGCACGCACTGATTTCCGGCGGCGTTTCTAACGTTTCTTTCTCATTCCGTGGCAACGATCCGGT
+GCGCGAAGCCATTCACGCGGTGTTCCTCTACTACGCTATTCGCAATGGCATGGATATGGGGATCGTCAAC
+GCCGGGCAACTGGCGATTTACGACGACCTGCCTACCGAGCTACGCGACGCGGTGGAGGATGTGATCCTCA
+ACCGTCGCGACGATGGCACCGAGCGTTTACTCGAGCTTGCCGAGAAATATCGCGGCAGCAAAACCGACGA
+CACCGCTAACACCCAGCAGGCGGAGTGGCGCTCGTGGGAAGTGAATAAACGTCTGGAATACTCGCTGGTC
+AAAGGCATTACCGAGTTTATCGAGCAGGATACCGAAGAAGCCCGCCAGCAGGCTACGCGTCCGATTGAAG
+TGATTGAAGGCCCGTTGATGGACGGCATGAACGTGGTCGGCGACCTGTTTGGCGAGGGCAAAATGTTCCT
+GCCGCAGGTGGTGAAATCGGCGCGCGTAATGAAGCAGGCGGTGGCGTATCTCGAACCGTTTATTGAAGCC
+AGCAAAGAGCAGGGTAAAACCAACGGCAAGATGGTGATCGCCACCGTGAAAGGCGATGTCCACGACATCG
+GTAAAAATATCGTTGGCGTGGTGCTGCAATGTAACAACTACGAAATTGTCGATCTCGGCGTGATGGTGCC
+TGCGGAAAAAATTCTCCGTACCGCTAAAGAAGTGAATGCTGATTTGATTGGCCTTTCAGGGCTGATCACG
+CCGTCGCTGGACGAGATGGTTAACGTGGCGAAAGAGATGGAGCGTCAGGGCTTCACCATTCCGCTATTGA
+TTGGCGGCGCGACCACCTCAAAAGCGCACACGGCGGTGAAAATCGAGCAGAACTACAGCGGCCCGACGGT
+GTATGTGCAGAACGCATCGCGCACCGTTGGTGTGGTGGCGGCGCTGCTTTCCGACACTCAGCGCGATGAT
+TTCGTTGCTCGTACCCGCAAGGAGTACGAAACCGTGCGTATTCAGCACGGACGAAAGAAACCACGCACAC
+CACCGGTCACGCTGGAAGCGGCGCGTGATAACGACTTCGCTTTTGACTGGCAGGCTTACACGCCGCCGGT
+GGCGCACCGTCTCGGTGTGCAGGAAGTCGAAGCCAGCATCGAAACGCTGCGTAATTACATCGACTGGACG
+CCGTTCTTTATGACCTGGTCGCTGGCCGGGAAGTATCCGCGCATTCTGGAAGATGAAGTGGTAGGTGTTG
+AGGCGCAGCGGCTGTTTAAAGACGCCAACGACATGCTGGATAAATTAAGCGCCGAAAAAATGCTGAACCC
+GCGTGGTGTGGTGGGCCTGTTCCCGGCAAACCGTGTGGGCGATGACATTGAAATCTACCGTGACGAAACG
+CGTACCCATGTGATTAATGTCAGCCACCATCTACGCCAACAGACCGAAAAAACCGGCTTCGCTAACTACT
+GTCTCGCTGACTTCGTTGCGCCGAAGGTTTCCGGCAAAGCGGATTACATCGGCGCATTTGCCGTGACTGG
+CGGGCTGGAAGAGGACGCACTGGCTGATGCCTTTGAAGCACAGCATGATGATTACAACAAAATCATGGTG
+AAAGCGCTTGCCGACCGTCTGGCGGAAGCCTTTGCGGAGTATCTCCATGAGCGTGTGCGTAAAGTCTACT
+GGGGCTATGCGCCGAACGAGAACCTCAGCAACGAAGAGCTGATCCGCGAAAACTACCAGGGCATCCGTCC
+GGCACCGGGCTACCCTGCCTGCCCGGAACATACGGAAAAAGCCACAATCTGGGAGCTGCTGGAAGTGGAA
+AAACATACCGGTATGAAACTCACGGAATCCTTCGCCATGTGGCCGGGTGCATCGGTTTCGGGTTGGTACT
+TCAGTCATCCAGACAGCAAGTATTACGCGGTGGCGCAAATTCAGCGCGATCAGGTTGAAGACTATGCCCG
+CCGTAAAGGAATGAGCGTTACCGAAGTCGAGCGTTGGTTGGCACCGAATCTGGGGTATGATGCCGAGTAA
+GTGATAACACCGGGGTATTTGCCCCGGTTTTTTATGTCATAAATAATGGATTATTGAACATGATAAAAAT
+TGATGAAATAGATTTTTTTGCTTTCGAAGGATGTTCAGAGTCCGAAGTTATTGAACTATTAGGAAAAAAA
+CCAACAGGTTATAATGATTGGATAATTAATATAAAAACAGGTGTGGAGTGGGTATTTTATGATGGTCGTT
+ATTGGTTAGATTTTCGTAAATCCAAAGAGGGTATAAGGTGTATCTCATGCAGTATTCTGTATCACGATAA
+AAGTAAAGGGCGTATCGATGTCTTGTTTAGTGAAGGTATAGCTGACAGAGGTTTAAAAAATACGGGTGGA
+GTGTTAATCCAAAAACGCCCGCAATTATAATAATTCCTGGTAATATTTGTTTTCGTAAAAAGGATTTACT
+TTATGCAACGTCAATATAAAAAATACATTCTTCTTTTTTGGGGTGTCATGGATGTTATCGCGATAGCCAC
+ATATCTGTTCTACTCGCTTGGTAATGGTCGTATCCCTTTTTATTCCGATATCGTTCATTCACTTTCTTTA
+CTTAAGGATATCGGTGTTGAAGGCGGTTTTTACGCTTATGCAGTCGCCACTGTTACGCTACAAATAGTAT
+TATTGTTCTCTTTATTCTTTTCTGCGCAATGTTTTTTAAGACAAAAATTATTTAGTTTCTCTTTTTTGGC
+GATTCAGGAGTTTATGCGTTTTGCTACCGTAAGCTGTTCAATCTCCGTAATACCGTTGTTACTTAATTAT
+TTTTATTCACAGGATCTGGTCTTAAATATTTCGTTGTTTATCTTCTCAGAGGTCACAAAAGTGACAACGA
+TTATCTGGTGTAAACGACAGGGGAAAGTGTGACAGAAATAGCAACAGATACAGGTGGATTTTTATATAAA
+TGCCTTTTTAAATGCTTTCTTGTATAAATCTCTTATACTGAAAGTACATACAAGAGAAATGCCTGGATAA
+AAACAACGTGATTAGAAAAATCTTAACAGGAAAATGCATAACAAAAAGGAGAACCTGATTCCGTGCTAAC
+TTTGCTTCACCTGCTTTCTGCCGTCGCCCTGCTGGTCTGGGGGACTCATATTGTTCGAACAGGCGTAATG
+CGCGTCTTCGGCGCGCGTCTGCGTACTGTCCTTAGCCGGAGCGTCGAAAAAAAGCCGCTCGCCTTTTGCG
+CGGGGATCGGCGTTACCGCACTGGTGCAGAGCAGTAATGCCACCACCATGCTGGTGACCTCGTTCGTCGC
+TCAGGATCTGGTTGCTCTCGCGCCTGCGCTGGTGATTGTGCTGGGTGCAGATGTCGGGACGGCGCTGATG
+GCGCGTATTCTCACCTTCGATTTATCCTGGCTGTCACCGTTACTTATTTTTATCGGCGTGATTTTTTTCC
+TCGGACGCAAACAGTCACGCGCCGGGCAACTGGGCCGCGTCGGTATTGGTCTTGGGCTGATTTTACTGGC
+GCTGGAGTTGATTGTGCAGGCCGTAACGCCGATCACTCAGGCAAACGGCGTTCAGGTGATCTTTGCCTCG
+CTGACTGGCGACATTTTGCTGGATGCGCTGATTGGTGCGATGTTCGCCATTATCAGCTACTCCAGCCTTG
+CCGCGGTACTGCTGACCGCGACTCTGACCGCCGCAGGCATTATCTCTTTCCCAGTGGCGCTTTGTCTGGT
+GATTGGTGCAAACCTCGGTTCCGGCCTGCTGGCGATGCTCAACAACAGTGCCGCCAATGCCGCAGCCCGC
+CGTGTCGCGCTGGGTAGCCTGCTGTTTAAGCTGGTGGGTAGCCTGATTATCCTGCCGTTTGTTCATTTGC
+TGGCAGAGACAATGGGGAATTTGCCATTGCCAAAAGCGGAATTGGTGATCTATTTCCACGTCTTCTACAA
+CCTTGTACGCTGCCTGGTCATGTTGCCATTCGTTGACCCGATGGCACGGTTTTGCAAAACGATTATTCGC
+GATGAACCGGAACTGGATACCCAGCTACGGCCTAAACATCTGGATGTCAGCGCGCTGGATACGCCCACGC
+TTGCTCTGGCGAACGCTGCCCGCGAAACCCTGCGCATTGGCGACGCCATGGAACAGATGATGGAAGGGCT
+GAATAAAGTGATGCACGGCGAGCCACGGCAGGAGAAAGAGCTGCGTAAGCTGGCTGATGACATCAACGTT
+CTCTATACCGCCATTAAGCTGTATCTGGCGCGGATGCCAAAAGAGGAACTGGCAGAAGAAGAGTCGCGCC
+GCTGGGCGGAGATCATCGAAATGTCGCTCAACCTTGAACAGGCCTCCGATATCGTCGAGCGCATGGGGAG
+TGAAATTGCCGACAAATCGCTGGCTGCAAGGCGAGCATTTTCGCTTGATGGCTTGAAGGAACTGGATGCG
+CTCTATGAGCAATTGCTCAGTAATTTAAAACTGGCAATGTCGGTTTTCTTCTCTGGCGATGTTACCAGCG
+CCCGTCGTTTGCGCCGCAGCAAACATCGTTTTCGCATTCTTAATCGCCGCTATTCCCACGCCCACGTCGA
+TCGCCTGCATCAGCAAAACGTGCAGAGTATTGAAACCAGTTCGCTACATTTAGGCTTACTGGGAGATATG
+CAGCGTCTGAACTCGCTGTTTTGTTCGGTGGCTTACAGTGTGCTGGAACAGCCGGATGAAGATGAAGGAC
+GGGACGAGTATTAATACCGTGACCCTGAAGGCCTGATAAGACGCGTAAAGCGTCGCATCAGGCACTATGA
+ACAAGATGCCGGATCATGCATCCGGCAATTCACTTAAAAACGGTGACCCGCTTCCAGCGGCACCGCTTCT
+TCACCAGCCTTAAACACATAAGTGGTGTTCGGGCCACCCAGCGTAGCGTGACCTTTACTTACTGTGATCC
+AGTTACCTTCCGGCAGACCAATAATCGTCAGTTCTGGCGCGACGACCAGCAGTTCGCGAATACGCTGCTC
+ACGGGTTTCACCTTTATGGCCTTCCGGCAGCGCGTTGGTGAAGTGCGGGTTGATTTGCAGCGGGAACAGA
+TTTAGCGCATCGAAACCTTGCGGATCGACAATCGGCATATCGTTGGTGGTACGAATGGTTGGGCAAGCAA
+GGTTAGCGCCTGCGCTCCAGCCAATATACAGCGCGCCACGTTTCACCACGTCAGTAATGGGTGCCAGCAG
+CCCGCGCTCGCGGCACTGTTTCAGCAACTGGAAAGTATTACCGCCGCCGACAATCACAATTTCCGCATTT
+TCAATCGCGGCAACGGGATCGACAACGCTATGAATACCGGTGACAGAAACACCCAGCGAAGCGAGAACCG
+CAGCCGTTTTCGCTGTGTAATCATCCCAGGTCTGCGTTACGCCAGCGAAAGGAATAAATACCGCAGAACG
+GCGACCCTGCAACTGTTCAGCAATCAGCGGCAGCGCGTGTTCCAGCCAGGCTTTACCCGGCAGCGTCGAG
+TTACTCAATAAAAGCAGTTCCATTACTTCTCCGGTTAGTAAGAAAACACGGAAGGAATGCTACCACTGCG
+AATTTAACCACTTACTGACATGGCTCACGATGTCACATATTGCACAGGCGCTGAGACTGATGACAAACAC
+AGGATTGCCTGATGCGCTACGCTTACCTGGCCTACCAGATAACTGCAATATATTGAATTTTCAAGATTAT
+GTAGGCCGGATAAGGCTTCATTCCGTATCCGGCATAAACAATGTGCACTTTGCCACCAATTTGAGCGCCC
+CTTAAGGCGCTGATGTTTTTTTATCCTTCTCGTGCACATTGTGCCGCTTCAGCAATCAGCCGCACATCAG
+GTCGCGAAGTTGCCGCGGCGACCAGCCAGCGACATGCAGAGTTAAGTAGCGCGATTAATCATGGGAAATT
+GCCTCTGCATGGGCGAGCAGGTATTGCTCCGCCTCACCGGACCAGATCCCCTGATGATGCGCCAGAATCA
+CCGCCAGTGCTTGATCCTGAATCTGCGTGAGTGACGTCAGCGGCAGGTATTTCCCGGTATACACCAGCTT
+TTTGCCGCCGCCGACGGCAGGCAATTCAAGCGTGGTTTCGCCCGCGGCATTCAGCCCAAGAATATGTGTT
+ACCACTTTTGCGGCCTGCACTTTTTTCTCTTCAATCAATTTGACCGCTGCGCGCATGTCGTCGGTATTGC
+CGCCTGACGTGCCCACGTAGTGGGTAAATGCATAATGCACATCGTAGAAATTAATTGGCGCGCTGAAGTG
+CTTATCCTGCGGTCCGGCGAAGAAATTCAGACAACCATCTGTCGCCAGCAAGGAAGAGGCGAGAGTCACC
+AGTCCTTCATTAGGCACAAAGACGAAAATATCATCGAAGCCGTGACCGCCACTCAGTGCCATTAACGTAT
+CAAATGCTGCATCGGCGGCATTGAGATAATGAATCAGTGTTTGCGGTTCTGATGGATAGTGCTTGCGTGC
+ATAACTCAATTTGTCGTTGTCGGTATCGGTAATGATGAGCAGCGACGGGTTAACCGGTCCATGCAACGCA
+TAATCAATCGCCAGCAGCCCCATCGGGCCGGTGCCGCCGAGGATCAGCGTGCGCCCTTGCGGGCGAATCC
+CCATCGTGTGGTTATAACTACCTTCCTGAAGATGATAGTTGGCGTTGAACGCGCCAATCACGCAGGAAAG
+CGGTTCAACCAGCGAGCCTTCAAAATAGGTTTCGCCGTCGTATGCCAGCAGGCAATCTTGTTCCATGACC
+TCGTTGGGAATAACCACATGCGTCGCTTCGCCGCCTACCCACGGGAAGGAGTAGCCGGGGCAATCCGGGC
+GGTCGGGGAGTTGCAGGTTGGCCTGAATCACATAACGCTGACCCGGCTGGAATTTGTGCTGCCACTTTTT
+ACCCACGGCCAGAATATCGCCGCAAAATTCGTGGCCGATGATGATGGGATTGGTCGCCACATCGTCGGGT
+ACTTTTTTATGGTTTTCACCCAGATTGGCCTCTTTCCAGGAAGAGAGGCACAGGCTGTCAGTGACCACCG
+TTGCGAGGATTTCATCCTCCTGCATTTCAGGAAGGTCAAAGGTTTCCAGACGCAGGTCACGTTTGCCATA
+AAGACGCAGAGCTGTTGTTTTCATAAACCACCTCATGTTGAGCGATGACCCCGGCAGTCGTGCCGGGGCG
+AAGAATCAGGACAGGAAGCCCAGCGCATTACCGATAATCCCTAAACCAAACAGGGCGAAAATCAGCCATA
+CCGGGTTAATTTTTTTGTTGAGCAGACGAACCATCAGCAGCGTCAGACCGAGCGCCAGCAAACCAGGGCA
+AAGTTGGTCGAGGATGTTCTGCACGGTTATGGTGACGGTGGCACCATCGGCAGCAGGCGTTTGTGAAACC
+ACCAACGGTACGTTGATTGACGTCCATTTGGTCACCAGCACGCCCATCACAAACAGCCCGAGAATCGACG
+CGCCTTCGGTGAGTTTTTGCAGCAAATTACCGCCCATATCGCTGACGATATTCACCCCTTTGCGAAAGCC
+GAGCTGTAGGCCATACCACTTCATCGCCAGACGCACCGCGTTGAAAATAAAGAAGAACAGCAGGGGGCCG
+AGAATGTTGCCCGAAAGTGCCAGAGATGCGCCGAGCGCGGCGGTAATCGGGCGCAGCGTTCCCCAGACCA
+GTGGATCGCCAACTCCTGCCAATGGTCCCATCAGACCGACTTTGATGCCGTTAATGGTACCGTCATCAAT
+TTCCGCGCCGTTGGCTCGCGCCTCTTCCATGGCGGCAGTGACGCCGATGACCGGGCCACATACGGCTGGC
+GTGGTATTGAAGAACACCAGGTGTCGCCTGAGCGCCGCAACCTGATCCTCTTTTAATGGGTAAAGTCGTT
+TGATGGCGGGGATCATGTCGTAGCAAAAACCCAGCCCGTGAATACGTTCAAAGTTAAAGGATGCCTGTTG
+CAGGTTGGAGCGCAGAAACATGCTCACCAGATCGCTGCGTGTAATTTTTCTCTGTTCCATGATGGCTCCG
+TTAATCATCAAGTTGGTCAAGGGCGGTGATAGTGGTGGTCTGGGGATGTGGTTCAGCTTTACGCCACTGT
+GGATTTAACTGGATGTAGAGCAGGGCCATGATCACGCCGACGCCACCGAACGCCAGCAGACTGAGATCGA
+GGTAGCCACCTGCGAGGAAACCGAGGAAAAAGAAAGGCATCAAATATTTCACGCCCATCATGCGAAGCAC
+CATGGCGTAACCGACCACCACGATAAAACCGCCAGCAATCTGCAGTCCACGGGTCACAAATTCGGGAATG
+GCGCTCAGCATATTGCTCACCATATCAGCGCTGACGAACAGCGAGACAATCAGTGCCGGAATAGCAACGC
+GCAGTGCCTGCACGCCAAGCGCGGAGACATGCAGAATATCGAGAGTGCGAAACCGTGCTTCTTCCGCTGC
+TTTATCCGCCGCGTGCTGGAACACTACGGTGATGGTACGGGCAAACACCGTCAGCACCTGGCCTGCAGCA
+GCCACAGGCAACGCGATGGCGATTCCGGTGGCGATGCTTTGCTGACCAACGATAACCAGAATGGCGGAGA
+TTATGCTGGCGAGTGCAGAATCCGGAGATTGCGCCGCGCCGACGTTCATCCAGCCGAGAGCTATCAATTC
+CAGCGTACCACCGAGCATAATTCCGGTTTTTAAATCACCGAGAATTAAACCAATCACCGTACAGGCAATT
+AACGGACGATGAGTCTGAAATTCATCCAGCACGCTGCCCATTCCGGCAATACAGGAAAAAAGAAATATAG
+CAATGATTTGTAGGGTACTTATTTCCATGATTTGTCACCTTTTAAGTGTCGTCATCCCTGCCTGTTAAAG
+CATATGTACACAGGCGCTATTATTTAATTCGCGATTAACTGTTCGTTTATTTTGTCGATAATATTGATTG
+AGGGATCTGACGCTACGACGCGTAAATCCAGTATGACGCCAAGATTATTTAACTCATGAAATGCGTTAAT
+ATCATCGTCATCTAATGAAACTGCTTTGGTTAACTGTTTCTTACCAGGACGCCAGGCCATACCGCCAATA
+TTCAGGGTACCTATTTTTACCCCCTGGCGAACCATTGCTAAGGCATCCTGTGGGCGAGTGAAAAGATAAA
+AAACGGTTTCGTCCTGATATTGCGGGTTGTGATAAACCGCGACGGCTTTTTCAATATTGACCACGTTAAC
+CTTCATTCCCGGTGGCGCAGCCTGACGCAATAATGTCCGGCGAACTTCATCGTTATAAACTTCGTCATTG
+CAGATAATAATGCGTTGGGCGTTAGCCACTTTAGACCAGACGGTAGTGACCTGGCCGTGGATCAGGCGGT
+CATCAATGCGGGCGAGCGTAATGTTCATCAGAAATCCTCCTCCGCTGTTGCCACCTGTCTCCAGACGACG
+CAGGTTTGCTTTGCGATTTGCGTCAGGTGTTCACACAGTTCATCAATATTCATGCTGTCCTGGTTATCAA
+CCAGTTCGAGCGCCAGCGGCAGAGAAAGGCCGCTGATTACCCGCAGACGAGGATTGCGCATCGCAAGCAT
+CGCTGCCGCATTCCACGGGCTGCCGCACTGTAAATCCACGGCAATCAGCCACTCATCTTGATTGTGAATG
+CTTACTAACTTTTCCAGCTTTGCTACGATGTCTCCGGCGTTCTCGCCGGGCACAAATTCAACGGCCTCGA
+CCCTGGCATCGCCGTACACCATCTGAACCGATTCCAGCATGGCGCAAGCTAATTTGCCATGCGCACAAAA
+AATGGCGTTGACCATAAAGCCTCCTTAGCCGCGCGTTTTGCCGCCCGCAATGTTAGTGGTTACTCCGGTG
+ATATAGCTGGCGCGTTCAGACAGCAGATAACAAACAAAATCAGCCACTTCTGCTAATCTTCCGGCGCGCC
+CAATAGGAATGGCGTTTTTGGTATAGCCTTCACGCAGCTGCTCGACGGTGATATTGCGCGTCCACGCCAG
+CGCTTCTTCATATTCCGGCGTGCGCAGTCCTGTTTTTTCCAGAATCCCCGGCGCGATACCGACCACACGG
+ATACCGTGCTTGCCCAGCTCTTTCGACCAGGAGCGCGTGAAGCTATTGAGCGCGGCTTTGGTCGCGGCGT
+AACAGCTTTGGCCTTCTGAGCCTTCCAGCCCACTTTCTGAGGAAACATTCACAATCACGCCATCATGTTG
+TTTGACCATCTGTCGCGCCACCGCCTGCGACATCAGAAAAACGCCTTTCTGGTTGATATTGACCATTTTT
+TCGAATGCAGCTTCGTTGAGTTCATACTGCCCGGCAGGCGCTTTCTCATCGACCAGCAGACGCGGGAAAT
+TGACCCCGGCGTTGTTAACCAGACCGTCGATGCGACCAAAACGCTGGATAATTTCTGCTACCGTATGATT
+TATCTCTTTGGCGCTGGAAATATCGGTCGGCCAGAACTGATAACCTTTATGGCTTTCATATTGACCATCG
+CCACCGTGAATATCGACCATCTGTACATTCGCGCCTTGTGCTAATAATTCCTCTACAATCGCCAGACCAA
+TACCGGATGCGCCACCGGTGACAATAATGATTTTATCCTGCAAATTTAACCACGTTTGCATAACAGACTC
+CTGATTTTAGATAATAGGGACCCGCCGTAATTTTTATTACGGTAAATATCGGGAAGATTTTTATTTCAGT
+AATAGTTCAGCTGTGCTGCTATTCGTTACCAGACAATTAATATATTTTCCACGCAGTGCACCAACAATTC
+CACTGTATTTTTCTTCGCTCATGGCAATGCCAATGGAATACCGTGCCTGCTTTAATTTATTCATTTCGAT
+AGAGAGTGTTTTTTCGCTCATATTCGTTTCAACCATTGCGCCGTGAATATCAAAAAAGCGCGAACAAATA
+TCGCCAGCAACCTGGCGGGCATTCAGGTCGTCACTCTCTTCACCACCATAAAACGCATGCCAGTTAGCGC
+CGTCGCGAATGGCCGGTGAGCCAATTCCCACCAGGGCGACATCCAGATTATCCCAGTAGGCAGAGATGGT
+TTTAAAGTGCTGAGACTGCATGATCCCATTACGAATTAATGGGTTATCCAGTAGAGCCGGAAAATCCGCG
+AGATGCGATTCCCCTTTCAGCTTCGCTGCCGCGCTGTAGGTTAATGTGTTTACGTGATAGCGGCTTTCGA
+GTTTACCGGACGGGCCGCCAATAATCGGCACGCAAATTAACTGCCGCGATTGCCCCGCCTGCGGCAAGTT
+TTCAACCAGTGCGCTCACCGCGCGGCCCCAGGAAAAACCGACAATATCGCCAGGTTCCAGCAAGCGATCC
+AGCAGTTGCGCGCCGTGTAACCCCATCATCGCCAGTTGAGTATCTTCATCCTCATCATTTCCTGACACCA
+CCACAACGTCTTTCAGGCTAAACTTTTGCTTCACTTGCTGCTCCAGCCAGAGATTTTCGTTGTAGTCATA
+GTTGATGGCGATGGTGACAATTCCCTGATCGCGGCCTCGTTTAAGCAAGCGGCTGATGGTGGTGCGGTAA
+ATACCCAGTTCGCGCGCAATTTGCGCCTGCGTCATATCCTGTTCGTAATAGAGTTGGGCAATCTTCACAA
+TCAAACGGATATCGTCACTGTTTTCCATTGCCGCCTCCTGGTTCTGCACATTTGTGCAAATACGCTTTCT
+CACCGCTTGATCTGATATAACCCCATCATGATGGCCTTTCAAAGCGATTTTTCACTCTTTGCATGGGGGG
+AAATAGCGCTTTCTCTTGCACATTTGTTTCTCTGCGTAGTAGTCATCAGCACAGGTGTGCAGCGATTCGT
+AATTTGTTGATTATTCTTATTTTGCCAGGCAAATTTGCATCGTACTTCCGGAGACACTTTTGTGATAAAA
+GGCGTGGCAGATCACATTTAATTTCGACGTTGCCGCATAACCCTGTTTTTCCCCGCTAAGAGGTACGGTA
+TATTCCGCGTTTTACAGGAGAATTTATGCTGCCCGACTCATCAGTCCGTTTAAATAAATACATCAGCGAA
+AGCGGAATTTGCTCACGCCGCGAAGCGGATCGCTATATCGAGCAAGGCAATGTGTTCCTTAATGGCAAGC
+GAGCCACCATTGGCGATCAGGTGAAACCCGGCGACGTTGTGAAAGTAAACGGTCAGTTGATTGAGCCTCG
+GGAATCCGAAGATTTGGTACTTATCGCCCTGAACAAGCCCGTCGGTATTGTCAGCACCACCGAAGATGGC
+GAGCGCGATAACATTGTCGATTTCGTTAACCACAGCAAACGCGTGTTCCCGATTGGCCGCCTGGATAAAG
+ATTCCCAGGGGCTGATTTTCCTCACCAATCACGGCGATCTGGTGAATAAGATCCTCCGTCCGGGTAACGA
+TCATGAGAAAGAGTATCTGGTGACGGTTGATAAACCGATTACCGATGAATTTATTCGTGGTATGGGGCCG
+GGAGTGCCGATCCTCGGGACGGTAACTAAAAAGTGCAAAGTCAAAAAAGAAGCACCGTTTGTCTTCCGCA
+TTACCCTGGTGCAGGGGCTGAACCGTCAGATTCGTCGCATGTGCGAGCACTTTGGTTACGAAGTGAAAAA
+GCTGGAACGTACGCGCATTATGAACGTCAGCTTAAGCGGCATTCCGCTGGGTGAGTGGCGCGATTTAACC
+GACGATGAGTTAATCGATCTCTTTAAGCTCATTGAAAATTCCTCTTCCGAGGCAAAACCTAAAGCGAAGG
+CCAAACCGAAAACGGTAGGCATCAAACGTCCAGTCGTTAAGATGGAAAAAACGGCGGAAAAAGGCGGTCG
+CCCGGCGTCCAACGGTAAGCGTTTTACCTCGCCGGGGCGTAAAAAGAAGGGGCGTTAATCAGCGCCTGCC
+GCGCGTCGACGTATTTGCTGACCAGCTAAATGACGCCTCAGGATCCGGTTTATAAGCCTGCTTTTTCTTC
+AATTGGCGGGCTTTTTTCGCTTCAGCCTCACGCTCGACCATTAATTTATCGATGTACTCTTTCTTAATGC
+TGTTAGTTTCGGAGTTGGTCAGTACGCGACCATGCGCAATCCGCGCCCGATCCAGCAGTGTTTTAAGTTC
+ACGCTGCTCGCGTTCAGTCATCTCTTTTTGGGTAATACGGGGGAGTGCCATGATGGTGCCCTCAGTGAGC
+CAGAGAGTTCAGTGTACGGGAATTCGTTTGCGAGCAGAACTGATAATATTCATTTTGCCTTCTCTTAACT
+ATTTATCTCTTTCGATAATTAGTTAGAGATGCGGATAAAAAATTAAAGGCAATTATTCTCCGATAAAGAC
+GCTGGTTAACAGGGAATAGACTCGTTTATTTATGGGCATAATGACAAGAAAAACAATACGGCCCGAAATA
+ATGTCTTCCGGGCCATACTGTGTTTACTCAAACAAATTAAAATGCAGCTTCTGCACTACCTGCTCGGCAT
+CTTCGCCGGGCACCAGGAAGCACAGGTTATGGCTGGATGCGCCGTAACAAATCATGCGAATGTTGAACGG
+TTCCAGTACGCCGAATACCTCTTTGCCAACGCCGCAGGCTTTTGACAGGTCATTGCCAATCAACGCGACC
+AGCGCCAGACCCTCTTCCACTTCCACCCGGCACAGTGCGGAAAGCTCCATCAGCAGGGATTGCGTCAGCA
+ACGTATCGCCAGTGGAGGTTGAACCGGTGGTATCAAGGGTTAATGCCACACTCACTTCTGACGTGGTGAT
+TAAGTCTACCGAAATATTATGCCGCGCGAGGATGCCGAAAACTTCCGCGAGGAAACCGCGAGAATGCAGC
+ATATTCAGGCTGTGCAAAGTGAGCAGAGTCTGATTGCGACGAAGCGCCAGCGCGCGGAACAGCGGCGGAT
+TTTCAGTTTTATTGCACACCAGCGTACCACCTGCGCGTGGGTCTTTGCTGGAGCCGACAAAGACTGGGAT
+ATCGCTGCGTACTGCGGGTAGCAACGTTGCCGGATGCAGTACTTTTGCACCAAAAGTTGCCATCTCTGCC
+GCTTCGGCAAACGCGATTTCATCAATGCGTTTTGCTGCGGAAACCACGCGTGGATCGGTGGTGTAGATGC
+CCGGGACGTCGGTCCAGATATCAACACGAGATGCGTGTAAAGCCTCCGCCAGCAAGGCTGCCGTATAATC
+GCTGCCTCCACGGCCAAGCGTCGTTGTACGACCTTTATTTTCGCTGCCGATAAATCCCTGGGTGATCACT
+AAGCCTTCATTGAGGCGTGGGAGCAGCTGCAGCGCGGCCAATTCCGCCAGCGCGGCTACATCTGGCTCTG
+CACGACCAAATCGATCGTTGGTACGCATCACTTTACGTACATCAAACCACTGTGCCTGAACATCGCGTTC
+GCGCAGGATCTCGACAAACAGCAGGGTCGACATCAGCTCGCCGTGGCTGACCAGTTCATCTGTCAGGGCC
+GGAGACGTTGCCAGCGCCGCCGCTTCTGCCAGAACAGTAATATTCTCCAGCAGACGTTCAATCTCTTCAC
+GGATAACGTTCGGGTAACGCAGACGTTCCAGAATGGCAAACTGGATATTGCGGATTGCGTCGAGTTTTTC
+AAATCGCTCGCCAGGTTCCAGTCCTTCAGCTAAAGCGACCAGTAGATTAGTGATACCAGCAGAAGCCGAG
+AGGACAACTAAACGTACGTTGGCATCAGAAAGCACAATATCAGCGCTGCGGTTCATGGCGTCAAAATCAG
+CTACGCTGGTACCGCCAAATTTGGAGACAACAATTTCAGACATAACTACCTCGTGTCAGGGGATCCATTT
+TCAGCCTTGGCACAAGGGAAGAGCGGAAGACGGGTGGGCGCAGAGCGATACTTCGCTACTATTTTCACCC
+AGAAGTGCTCCACCACTTGCGAAACGCCCGACTGCGAACGCTTCTGGTGACAACCCAGGGGATTCAGCCC
+CTGTAGCCGATGATGAACGTAGCCAGCCGTTCAATCACCTCGGCGATGCACCCCCTCAGGTGTTATCACA
+GGACTGGCTCCTCCAACACCGTTACTTGGGCAACGCGCCTCTTCTGGCCTGCGCTAGCGCAGGTAGTACA
+TTTATAAATAAAGGGTGAGCGGAGCGGTTGTCAACGATGGGGTCATGCGGATTTTTCATCCACTCCTGGC
+GGTCAGTAGTTCAGCTAATAAATGCTTCGCTGCGCTAAGGGTTTACACTCAACATTACGCTAACGGCACT
+AAAACCATCACATTTTTCTGTGACTGGCGCTACAATCTTCCAAAGTCACAATTCTCAAAATCAGAAGAGT
+ATTGCTAATGAAAAACATCAATCCAACGCAGACCGCTGCCTGGCAGGCACTACAGAAACACTTCGATGAA
+ATGAAAGACGTTACGATCGCCGATCTTTTTGCTAAAGACGGCGATCGTTTTTCTAAGTTCTCCGCAACCT
+TCGACGATCAGATGCTGGTGGATTACTCCAAAAACCGCATCACTGAAGAGACGCTGGCGAAATTACAAGA
+TCTGGCGAAAGAGTGCGATCTGGCGGGCGCGATTAAGTCGATGTTCTCTGGCGAGAAGATCAACCGCACT
+GAAAACCGCGCCGTACTGCACGTAGCGCTGCGTAACCGTAGCAATACCCCGATTCTGGTTGATGGCAAAG
+ATGTTATGCCGGAAGTCAACGCGGTGCTGGAGAAGATGAAAACCTTCTCGGAAGCGATTATTTCCGGTGA
+GTGGAAAGGCTATACCGGCAAGGCAATCACTGACGTAGTGAACATCGGGATCGGCGGTTCTGACCTCGGC
+CCGTACATGGTGACTGAAGCACTGCGTCCATACAAAAACCACCTGAACATGCACTTTGTTTCTAACGTCG
+ATGGGACTCACATCGCGGAAGTGCTGAAAAAAGTAAACCCGGAAACCACGCTGTTCCTGGTAGCATCTAA
+AACCTTCACCACTCAGGAAACCATGACCAACGCCCACAGCGCGCGTGACTGGTTCCTGAAAGCGGCAGGT
+GATGAGAAGCACGTTGCGAAACACTTTGCGGCGCTTTCCACCAACGCCAAAGCCGTTGGCGAGTTTGGTA
+TTGATACTGCCAACATGTTCGAATTCTGGGACTGGGTCGGCGGTCGTTACTCTTTGTGGTCAGCGATTGG
+CCTGTCGATTGTTCTCTCCATCGGCTTTGATAACTTCGTTGAACTGCTTTCTGGCGCACACGCGATGGAC
+AAGCATTTCTCCACCACGCCTGCCGAGAAAAACCTGCCTGTACTGCTGGCGCTGATTGGCATCTGGTACA
+ACAATTTCTTTGGCGCGGAAACTGAAGCGATTCTGCCGTATGACCAGTATATGCACCGTTTCGCGGCGTA
+CTTCCAGCAGGGCAATATGGAGTCCAACGGTAAGTATGTTGACCGTAACGGTAAGGTTGTGGATTACCAG
+ACTGGCCCGATTATCTGGGGTGAACCTGGCACGAACGGTCAGCATGCGTTCTATCAGCTGATCCACCAGG
+GAACCAAAATGGTACCGTGCGATTTCATCGCTCCGGCTATCACCCATAACCCGCTCTCTGATCATCACCA
+GAAACTGCTGTCTAACTTCTTTGCTCAGACCGAAGCGCTGGCGTTTGGTAAATCCCGCGAAGTGGTTGAG
+CAGGAATATCGCGATCAGGGTAAAGATCCGGCAACGCTTGACTACGTGGTGCCGTTCAAAGTGTTCGAAG
+GTAACCGCCCGACTAACTCCATCCTGCTGCGTGAAATCACTCCGTTCAGCCTGGGTGCGTTGATTGCGCT
+GTATGAGCACAAAATCTTTACTCAGGGCGTGATCCTGAACATCTTCACCTTCGACCAGTGGGGCGTGGAG
+CTGGGTAAACAACTGGCGAACCGTATTCTGCCAGAGCTGAAAGATGATAAAGAAATCAGCAGCCACGATA
+GCTCGACCAATGGTCTGATTAACCGCTATAAAGCGTGGCGCGGTTAATCATTGTCGATATGTAGGCCGGA
+TAAGGCGTTCACGCCGCATCCGGCAACCGATGCCTGATGCGACGCGGTCGCGTCTTATCAGGCCTACAGG
+TCGATGCCGATATGTACATCGTATTCGGCAATTAATACATAGTACGATTGATTAAATAGCCTTAAAAACA
+ATGCCGACTATAAGTCGGCATTGTTTTATCAGATAAATCCTCTTGTCTGTCATTTAACGAAAATCATACC
+GTGAGGTTAATCCTAAAATAAATTTTTAATCGTGGTTTATTTCGGAAAATACGCAGAGTAATTACTTTTA
+TTTTTATTTTAAGCTTGTGATTTTTAGTGCTATTTATATATAAGCTGAAGCTTGTATTTGATATTCATTC
+CAATTATCCTAAAACCCCATCACTAATTCCCCGCGCCGTAATTCGCATGCTTTAGTTGTGTATACTCGAT
+CCCGCCCGAAATGTTTTTGGGTAAATCTCCATTCATTCAATGAAGGGAAATTGTTATGAAAAAAGTTCTG
+TATGGCATTTTTGCCATATCTGCGCTTGCGGCGACTTCTGCGTGGGCTGCACCTGTACAGGTGGGCGAAG
+CGGCAGGATCGGCAGCAACGTCGGTTTCGGCGGGGAGTTCCTCCGCGACCAGCGTCAGCACCGTAAGCTC
+GGCGGTGGGTGTCGCGCTCGCGGCAACCGGTGGCGGTGATGGTTCTAATACCGGGACCACCACAACCACG
+ACCACCAGTACCCAGTAATAAAGTATGTATCCCCAAAATAATTCGAGTTGCAGGAAGGCGACAAGCGAGT
+GAGTCCCCGGGAGCATAGATAACTATGTGACCGGGGTGAACGAGTGCGGTCACCGCATCTGCAGCTTGAA
+GTATGAAGGGGATTAACCATAACCACACTCCGGTGTGGTTATTCTGCCCCTCTGGAGAAGAGTCGTGAAG
+CGACCTGCACTCATTCTTATCTGCCTGCTATTACAGGCCTGTTCAGCCACGACTAAAGAGCTGGGCAATT
+CACTATGGGACAGTCTGTTCGGTACGCCAGGCGTACAGCTGACGGACGATGATATTCAAAATATGCCCTA
+CGCCAGCCAGTACATGCAGCTTAATGGCGGGCCGCAGTTATTTGTGGTGCTGGCCTTCGCTGAAGACGGA
+CAACAAAAATGGGTCACTCAGGATCAGGCCACCCTTGTCACACAACATGGTCGTCTGGTGAAGACTTTGC
+TTGGCGGCGACAACCTGATTGAAGTGAATAACCTTGCCGCCGACCCGCTGATTAAACCCGCACAAATCAT
+TGATGGTGCAACCTGGACGCGCACGATGGGCTGGACCGAGTACCAGCAGGTACGCTACGCCACCGCGCGC
+TCAGTCTTCAAATGGAATGGCACCGATACCGTCAAAGTCGGCAGCGATGAAACCCCGGTTCGCGTGCTGG
+ACGAAGAAGTCTTCACTGACCAGGCGCGCTGGCATAACCGCTATTGGATCGACAGCGAAGGGCAAATTCG
+CCAGTCGGAACAGTATCTCGGCGCGGATTACTTCCCGGTGAAAACCACCCTCATCAAGGCGGCAAAACAA
+TGATTAAACAAACTATTGTCGCGTTGCTTTTGAGTGCGGGGGCGTCATCAGTCTTCGCGGCGGGAACCGT
+CAAGGTGTTCAGCAATGGCAGCAGTGAGGCCAAAACGCTGACGGGCGCAGAGCATTTAATCGATCTGGTA
+GGCCAACCGCGGCTGGCAAACAGCTGGTGGCCCGGAGCGGTGATTAGCGAAGAGCTGGCCACGGCGGCTG
+CATTGCGTCAGCAGCAGGCGTTGCTGACACGGCTGGCAGAACTGGCTGCAGATTCCAGCGCCGACGATGC
+CGCCGCGATTAACGCCTTACGCCAGCAAATTCAGGCGTTGAAGGTGACGGGCAGGCAAAAAATCAATCTT
+GATCCTGATATCGTCCGCGTTGCCGAACGCGGTAACCCGCCGTTGCAGGGCAACTACACGCTGTGGGTCG
+GAACGCCGCCGTCCACGGTCACGTTGTTCGGGCTTATCAGTCGTCCTGGCAAGCAGTCATTCACTCCAGG
+TCGCGACGTGGCGAGCTATCTCTCTGACCAGAGCCTGCTCAGCGGTGCGGATCGCAGCTACGCGTGGGTG
+GTTTACCCGGACGGACGCACGCAAAAAGCGCCGGTGGCTTATTGGAACAAGCGTCACGTAGAGCCGATGC
+CCGGCAGCATTATTTATGTTGGCCTCGCGGACTCCGTCTGGAGTGAGACACCTGATGCCCTTAACGCCGA
+CATTCTTCAGACTCTGACGCAGCGGATACCCCAATAATGAAAAAAAGACATCTGCTTAGCTTACTGGCGC
+TGGGCATTAGCACAGCTTGCTACGGCGAAACATATCCTGCGCCCATTGGTCCGTCGCAATCGGATTTCGG
+TGGCGTAGGATTATTACAAACGCCCACCGCGCGCATGGCGCGGGAAGGGGAGCTGAGCCTGAACTATCGC
+GATAACGATCAGTACCGTTATTACTCAGCTTCAGTGCAACTCTTCCCGTGGCTGGAAACAACGCTGCGCT
+ACACCGACGTGCGCACCCGGCAGTACAGCAGCGTCGAAGCGTTCTCTGGCGATCAAACGTATAAAGATAA
+AGCCTTCGATCTCAAACTGCGTTTGTGGGAAGAGAGTTATTGGCTGCCGCAAGTGGCGGTTGGTGCGCGG
+GATATCGGCGGTACGGGGCTGTTTGATGCGGAATATCTTGTTGCCAGCAAAGCCTGGGGGCCGTTCGATT
+TTACGCTCGGCCTGGGATGGGGATATCTGGGCACCAGCGGTAATGTGAAAAATCCGCTCTGTTCAGCCAG
+TGATAAATATTGCTATCGCGATAACAGCTACAAACAAGCGGGATCTATCGACGGCAGTCAGATGTTCCAC
+GGCCCGGCCTCACTGTTTGGCGGCGTGGAATACCAGACGCCCTGGCAACCGCTGCGCCTGAAACTGGAGT
+ATGAAGGTAATAATTATCAGCAGGATTTTGCCGGGAAGCTGGAGCAAAAAAGTAAGTTTAACGTCGGGGC
+GATTTATCGCGTTACCGATTGGGCCGACGTTAACCTTAGCTATGAACGTGGCAACACCTTTATGTTTGGC
+GTCACGCTGCGCACCAACTTTAACGATCTGCGCCCGTCCTACAACGATAACGCCCGACCGAAATACCAGC
+CGCAACCGCAGGATGCCATTTTGCAGCACTCGGTGGTGGCGAATCAGTTAACGCTGTTGAAATACAACGC
+CGGACTGGCCGATCCGCAGATCCAGGCGAAAGGCGATACGCTGTATGTTACCGGCGAGCAGGTGAAATAT
+CGTGATTCGCGCGAAGGGATCATCCGTGCTAATCGGATCGTGATGAACGATCTGCCGGATGGGATCAAAA
+CGATCCGCATTACGGAAAATCGCCTTAACATGCCGCAGGTGACGACGGAAACCGATGTCGCCAGCCTGAA
+AAATCATCTCGGCGGAGAGCCGTTGGGCCACGAAACGACGCTGGCGCAAAAACGCGTCGAGCCAGTGGTT
+CCGAAGTCCACCGAGCAGGGCTGGTATATCGACAAATCACGCTTTGATTTCCATATCGATCCGGTGCTGA
+ACCAGTCGGTCGGTGGTCCGGAAAACTTTTACATGTATCAGCTGGGCGTGATGGGAACGGCGGATTTGTG
+GCTGACGGACCATCTGCTGACCACCGGCAGCCTGTTTGCTAACCTTGCCAACAACTACGACAAGTTTAAC
+TACACCAATCCACCGCAGGACTCGCACTTACCGCGCGTGCGTACCCATGTGCGCGAGTATGTGCAGAATG
+ATGTCTATGTGAATAACCTGCAAGCCAACTACTTCCAGCATCTGGGCAACGGCTTCTACGGTCAGGTCTA
+CGGAGGTTATCTCGAAACCATGTTTGGCGGCGTGGGGGCAGAAGTGTTGTATCGCCCGCTGGATAGCAAC
+TGGGCGTTTGGTCTGGATGCCAACTACGTTAAACAGCGCGACTGGCGTAGCGCAAAAGATATGATGAAAT
+TCACCGATTACAGCGTGAAAACCGGACATCTGACCGCGTACTGGACGCCATCTTTCGCCCAGGACGTGTT
+AGTGAAAGCGAGCGTCGGGCAGTATCTGGCTGGGGATAAAGGCGGCACGCTGGAGATCGCTAAACGCTTT
+GACAGCGGCGTGGTGGTTGGCGGCTATGCCACGATCACCAACGTTTCGAAAGAGGAGTACGGCGAAGGGG
+ACTTCACCAAAGGCGTGTATGTCTCTGTACCGTTGGATCTCTTCTCGTCTGGCCCGACACGCAGCCGTGC
+GGCGATTGGCTGGACGCCGCTGACGCGTGACGGTGGTCAGCAACTTGGGCGTAAGTTCCAGTTGTATGAT
+ATGACCAGCGACCGTAGCGTCAATTTCCGCTAAGTCATGGGAAAGGTGCCAGTTTTCGCACTCACTGGCA
+CCTTCATTCTTAATGGCCTGTCGAGCCATCAGGAACGCAGTTCACCCCCGGTTTGCGATCTGGTGTGTAA
+AGGCGAAAACATTCTGTCTTCCTGTCCGTCGATATCGGTTGCAGGTCTGGTTGCCTGAGCGACTGGGCCA
+TCATTGGACTGGAGACATTGCTTTGCGGTAGGTCGGCTTTATCAGCAGTACCGAGCGGACCAGCATAAGC
+AGGAAGAACAGAGACTGATAACATCAAAGCAGCAAAATAAGGCTTCATTTTTACCACCTTTATCAGGTTA
+CGTTTCATTTGTTCCAGAGGAACATTGTCGATTTTTCGCGCATTGCTGGTGGCTGGGAATCACCTGAATG
+GGTGATTTTTTTGGGCTGTGTGTTTTGCCAGATGCGACGTTGATGGGAGATGCCCACTTAATTGAGCTGA
+ACAAAACATACACAAAAAATATAGATCTCCGTCACATTTTTGCGTTATACAGGAAGCTCGCCACTGTGAA
+GGAGGTACTGCTATGACGTCACTCTCTCGTCCGCGCGTGGAGTTTATCTCCACCATTTTGCAGACCGTAC
+TCAATCTTGGCCTGTTGTGCCTCGGCCTGATTTTGGTTGTCTTCCTCGGCAAAGAAACGGTGCATCTGGC
+TGATGTGCTGTTCGCGCCAGAACAAACCAGTAAATATGAGCTGGTAGAAGGGCTGGTGGTTTATTTTCTC
+TATTTCGAATTTATCGCGCTGATTGTGAAGTACTTTCAGTCCGGTTTTCACTTCCCGCTACGTTACTTTG
+TCTATATTGGGATCACCGCCATTGTGCGCTTGATCATCGTCGATCATAAATCGCCACTGGATGTGTTGAT
+CTACTCGGCAGCGATCCTGTTACTGGTGATCACCCTGTGGCTGTGTAATTCGAAACGGCTGAAGCGGGAG
+TAAAAAAAGGCGCTCCGTAGAGCGCCGAATAACAGTCACAAGTTGGGATAACGTAAGTTGAGGGTCTAGC
+GGCATAACATTGGCAGAACAACATCTTTAACCTTTCACACCACCTGCCGTCAGGCCGTTAACCAGCCAGC
+GTTGAGCCAGCAAGAAGACGATGGTGATTGGTAATGCAGACATCACGGCAGCGGCAGCAAAGTCGCCCCA
+CAGGTAGTTTTGCGGGTTGAGGTATTGCTGCATCCCCACGGCCAGGGTGTAACTGTTCACGTCACGCAGT
+AACAACGACGCGACCGGAACTTCAGTAATGGCAGCGATAAACGACAGGATGAACACCACCGCCAGAATCG
+GTACAGATAATGGCAACAGGACAAGGCGGAAGGCCTGCCACGGTGTCGCACCATCCAGCGCCGCCGCTTC
+TTCCAGCGAACTGTCGATGGTTTCGAAATAACCTTTGATGGTCCAGACATGCAGCGCAATCCCACCCAGG
+TACGCGAAGATCACGCCACCGTGAGTATTCAGGCCGATGAACGGAATGTATTCACCCAGACGATCAAACA
+ACGCATACAACGCCACCAGTGAGAGTACTGCCGGGAACATCTGGAAAATCAGCATCCCTTTCAGCAGCGT
+CGCTTTGCCAGGAAAGCGCATACGGGCGAAGGCATAAGCGCAGGTGGTGGAGAGTGCCACAATACCAATT
+GCGGAAATACCGGCGACCTTCACTGAGTTCCACAGCCACAGCAGTACCGGGAACGGCGGTGGCGTGATGC
+GACCATCAGCCTGTTCAACGCTAAAACCTAACGCCAGTTTCCAGTGATCCCACGAGATTTGTTCCGGGAT
+CAGACTACCGGTCGCGAAGTTCCCCTGACGCAGCGAGATGGCGACGACCATCAGCAGCGGGAACATAATC
+GCCGCGATAAAAAGCAGCAGTAGCAGGTGAGTAATAAACAAGCGTGCTTTTTGCGATTTCGGTTGGACCA
+TTGCCATTTTTGTTATCTCCCTTAATCAAACTTCATTCGCGTGGCTTTCAGGTTCACTATCGCCAGCGCA
+CCCACCAGCAGGAAGATCAGCGTGGCAATTGCTGCCGCCAGACCGAAGTCCTGACCCCCGCCGCCTTCAA
+AAGCGATACGGTAGGTGTAGTTAACGAGCAGGTCGGTATAACCGGCTGGCGTGGTCGTGCCAAGACGATC
+CGGGCCGCCGTTGGTTAACAGTTGAATCAGCACGAAGTTGTTAAAGTTAAATGCAAAGCTGGCGATCATC
+AGCGGCGTCAGCGGTTTAATCAGCAGCGGCAGCGTAATCTTAAAGAAGTTCTGGAATGGACCTGCGCCAT
+CCATTGCTGAGGCTTCATACAAATCGTCCGGAATCGCTTTCAGCAAGCCCATGCAGAGGATCATCATGTA
+CGGATAACCCAGCCAGGTGTTGACGATAATCAGCATCGTGCGGGCGGTGGTCGGATCGCTGAACCAGGCG
+GGCTTCACGCCAAACAGCGCGCTCAACATCATGTTGATTTCACCGAAACTCTGGTTAAACAACCCTTTGA
+AAATCAAGATTGAAATGAACGATGGCACCGCGTAGGGCAGAATAAGCAGGACGCGATAGACCGCTTTGCC
+GCGCAACGCTTCCCACTGCACCAGACACGCCAGAACCATGCCGACCGCCACCGTTAAAAAGACAGTGATC
+AGCGAGAACACCACGGTCCAGACGAAAATGGCGAGGAACGGTTTCTGAATGCCTTCGTCGGTAAAGACGC
+GGGTAAAGTTTTTCCAGCCGGTGGTCACGGTGTAACCGGGGCTTAGCTTTTCATCCCCCCAGTTGCCATC
+GGCGGTAATGGACTGGTAAAAGCCAATTTGGTTATTCGGACGATATTTCACGCCGCTCTGATTATTCGTC
+AACGTGCCGTCACCGTCGAGTGTGTAGAGCGGTTGCGTGCCAGAAAACTGGCGCAGGGAGCTCATCATCA
+CTTTGTTGCCATCCGGCAGAATGGCGGTAATGTCACTCAGTGCCTGACGATTCTGGGTAATCACGCGCAG
+ATTCGCGCGTTCGCCTTCGGGCTGGGCGGTCGTTTCTTTCAGTTGCAGTTTTTGCTCGCCGCCAAATTTA
+AACGCGTCGGAGAGGTAATTTTTGCCAGTTTCGCCGTCGCTGAGCGCCAGTTGCCACTCATCGCCCGCCG
+GGTAAAGACCAAAATTATAGGTTTTGCCTGCTTGCCAGGAGCGATCTAACAACACTTCCTGCGCACGTTC
+AAAAGTCAGCTGGTTAGTGCTGCTGTAGTTGGTAAAGGCAATGGCGATGGTGCAGACCAAAGGGAAGAGG
+ACGAATAATCCCATTCCAGCCATTCCCGGGTAAACATAGCGCCAGGCGTAGGCTTTACGATTGGCGAAAA
+TATACAGCCCCGCTGAGCTCAATATCAGCGTGGTAATGGCGAACAGGTATTCCCCTTGTGCGTACATTAA
+AACAACAAGGTAACCCACCAGCAGGCCGAGCAGACCTAACACTGACCATTTCAGCGCGTCGCTTTGCCAC
+CAATGTTTCTTTTTAATGACATCCATGGGGTTCTTCCTCATTCCAGGACGGATAAGGCTTTCATACCTTA
+TCCGACAACAACTGCCTGATGCGACGCTGACGCGTCTTATCAGGCCTACATACGTTTCAATTTCGTAGGC
+CGGATAAGGCGTTTACGCCGCATCCGGCATTTCACAGCATTACTTGGTGATACGAGTTTGTGCATCTTTC
+AGCGCAGCATCCACAGTTTGACGACCGCTGGCGGCGTTGATCACCGCAGTACGCACGGCATACCAGAAAG
+CGGACATCTGCGGGATGTTCGGCATAATTTCACCTTTCTGAGCGTTATCCATGGTGGCGGCAATACGTGG
+ATCTTTCGCAAGTTCATCCTGATAGGACTTCAGCGCTACTGCACCCAGCGGTTTGTCTTTATTGACCGCT
+TCCAGACCTTCGTCAGTCAGCAGATAGTTTTCGAGGAACTCTTTCGCCAGCTCTTTGTTCGGACTGGCGG
+CGTTAATACCTGCGCTCAGCACGCCAACGAACGGTTTAGATGGTTGACCTTTGAAGGTTGGCAGTACCGT
+TACACCATAATTCACTTTACTGGTGTCGATGTTGGACCATGCCCACGGGCCGTTGATAGTCATCGCTGTT
+TCGCCTTTATTAAAGGCAGCTTCTGCGATGGAGTAATCGGTGTCTGCATTCATGTGTTTGTTTTTAATCA
+GATCAACCAGGAAGGTCAGACCCGCTTTCGCGCCAGCGTTATCCACGCCTACGTCTTTAATGTCGTACTT
+GCCGTTTTCATACTTGAACGCATAACCCCCGTCAGCCGCAATTAGCGGCCAGGTGAAGTATGGTTCTTGC
+AGGTTGAACATCAGCGCGCTCTTACCTTTCGCTTTCAGTTCTTTATCCAGCGCCGGGATCTCTTCCCAGG
+TTTTTGGCGGGTTCGGTAGCAGATCTTTGTTATAAATCAGTGATAACGCTTCGACAGCGATCGGGTAAGC
+AATCAGCTTGCCGTTGTAACGTACGGCATCCCAGGTAAACGGATACAGCTTGTCCTGGAACGCTTTGTCC
+GGGGTGATTTCAGCCAACAGGCCAGATTGAGCGTAACCACCAAAGCGGTCGTGCGCCCAGAAGATAATGT
+CAGGGCCATCGCCAGTTGCCGCAACCTGAGGGAATTTCTCTTCCAGTTTATCCGGATGCTCAACGGTGAC
+TTTAATTCCGGTATCTTTCTCGAATTTCTTACCGACTTCAGCGAGACCGTTATAGCCTTTATCGCCGTTA
+ATCCAGATTACCAGTTTACCTTCTTCGATTTTGGCGAGAGCCGAGGCGGAAAACATCATCGTCGTTAATG
+CGGATAATGCGAGGATGCGTGCACCTGTTTTTATTTTCATAATCTATGGTCCTTGTTGGTGAAGTGCTCG
+TGAAAACACCTAAACGGACTCTAGTTTCTTTATACGGCAACCTCTTTCCATCCTCCTTGCCCCTACGCCC
+CATCGTTGCTTTGTGTGATCTCTGTTACAGAATTGGCGGTAATGTGGAGATGCGCACATAAAATCGCCAT
+GATTTTTGCAAGCAACATCACGAAATTCCTTACATGACCTCGGTTTAGTTCACAGAAGCTGCGTTCTCAT
+CCTCCCGCCTCCTCCCCCATAAAAAAGCCAGGGGGTGGAGGATTTAAGCCATCTCCTGATGACGCATAGT
+CAGCCCATCATGAATGTTGCTGTCGATGACAGGTTGTTACAAAGGGAGAAGGGCATGGCGAGCGTACAGC
+TGCAAAATGTAACGAAAGCCTGGGGCGAGGTCGTGGTATCGAAAGATATCAATCTCGATATCCATGAAGG
+TGAATTCGTGGTGTTTGTCGGACCGTCTGGCTGCGGTAAATCGACTTTACTGCGCATGATTGCCGGGCTT
+GAGACGATCACCAGCGGCGACCTGTTCATCGGTGAGAAGCGGATGAATGACACTCCGCCTGCAGAACGCG
+GCGTTGGTATGGTGTTTCAGTCTTACGCGCTCTATCCCCACCTGTCAGTAGCAGAAAACATGTCATTTGG
+CCTGAAACTGGCGGGCGCGAAAAAAGAAGTGATTAACCAGCAAGTTAACCAGGTTGCGGAAGTGCTGCAA
+CTGGCGCATTTGCTGGATCGCAAACCGAAAGCGCTCTCCGGTGGTCAGCGTCAGCGTGTGGCGATTGGCC
+GTACGCTGGTGGCCGAGCCAAGCGTATTTTTGCTCGATGAACCGCTCTCCAACCTCGATGCTGCACTGCG
+TGTGCAAATGCGTATCGAAATCTCCCGTCTGCATAAACGCCTGGGCCGCACAATGATTTACGTCACCCAC
+GATCAGGTCGAAGCGATGACGCTGGCCGACAAAATCGTGGTGCTGGACGCTGGTCGCGTGGCGCAGGTTG
+GGAAACCGCTGGAGCTGTATCACTATCCGGCAGACCGTTTTGTCGCCGGATTTATCGGTTCGCCAAAGAT
+GAACTTCCTGCCAGTAAAAGTGACCGCCACCGCAATCGATCAAGTGCAGGTGGAGCTGCCGATGCCGAAT
+CGTCAGCAAGTCTGGCTACCGGTCGAAAGCCGTGATGTCCAGGTTGGAGCCAATATGTCACTGGGTATTC
+GCCCGGAGCATCTACTGCCGAGTGATATCGCTGACGTCATCCTTGAGGGTGAAGTTCAGGTCGTTGAGCA
+ACTCGGCAACGAAACGCAAATCCATATCCAGATCCCTTCCATTCGTCAAAACCTGGTGTACCGCCAGAAC
+GACGTGGTGTTGGTAGAAGAAGGTGCCACATTCGCTATCGGCCTGCCGCCAGAGCGTTGCCATCTGTTCC
+GTGAGGATGGCACTGCATGTCGTCGACTGCATAAGGAGCCGGGCGTTTAAGCACCCCACAAAACACACAA
+AGCCTGTCACAGGTGATGTGAAAAAAGAAAAGCAATGACTCAGGAGATAGAATGATGATTACTCTGCGCA
+AACTTCCTCTGGCGGTTGCCGTCGCAGCGGGCGTAATGTCTGCTCAGGCAATGGCTGTTGATTTCCACGG
+CTATGCACGTTCCGGTATTGGCTGGACAGGTAGCGGCGGCGAACAACAGTGTTTCCAGACTACCGGTGCT
+CAAAGTAAATACCGTCTTGGCAACGAATGTGAAACTTATGCTGAATTAAAATTGGGTCAGGAAGTGTGGA
+AAGAGGGCGATAAGAGCTTCTATTTCGACACTAACGTGGCCTATTCCGTCGCGCAAAAGAATGACTGGGA
+AGCTACCGATCCGGCCTTCCGTGAAGCAAACGTGCAGGGTAAAAACCTGATCGAATGGCTGCCAGGCTCC
+ACCATCTGGGCAGGTAAGCGCTTCTACCAACGTCATGACGTTCATATGATCGACTTCTACTACTGGGATA
+TTTCTGGTCCTGGTGCCGGTCTGGAAAACATCGATGTTGGCTTCGGTAAACTCTCTCTGGCAGCAACCCG
+CTCCTCTGAAGCGGGTGGTTCTTCCTCTTTCGCCAGCAACAATATTTATGACTATACCAACGAAACCGCG
+AACGACGTTTTCGATGTGCGTTTAGCGCAGATGGAAATCAACCCGGGCGGCACATTAGAACTGGGTGTCG
+ACTACGGTCGTGCCAACCTGCGTGATAACTATCGTCTGGTTGATGGCGCATCGAAAGACGGCTGGTTATT
+CACTGCTGAACATACTCAGAGTGTCCTGAAGGGTTTTAACAAGTTTGTTGTTCAGTACGCTACTGACTCG
+ATGACCTCGCAGGGTAAAGGTCTGTCGCAGGGTTCTGGCGTCGCGTTTGATAACGAAAAATTTGCCTACA
+ATATCAACAACAACGGTCACATGCTGCGTATCCTCGACCACGGTGCGATCTCCATGGGCGACAACTGGGA
+CATGATGTACGTGGGTATGTACCAGGATATCAACTGGGATAACGACAACGGCACCAAGTGGTGGACCGTC
+GGTATTCGCCCGATGTACAAGTGGACGCCAATCATGAGCACCGTGATGGAAATCGGCTACGACAACGTCG
+AATCCCAGCGCACCGGCGACAAGAACAATCAGTACAAAATTACCCTCGCACAACAATGGCAGGCTGGCGA
+CAGCATCTGGTCACGCCCGGCTATTCGTGTCTTCGCAACCTACGCCAAGTGGGATGAGAAATGGGGTTAT
+GACTACACCGGTAGCTCTTCAACCAACCCATACTACGGCAAGGCTGTGTCGGCTGATTTCAACGGCGGTA
+GCTTCGGTCGTGGCGACAGCGACGAGTGGACCTTCGGTGCCCAGATGGAAATCTGGTGGTAATAGCAAAA
+CCTGGGCCGGATAAGGTGCTTGCGCCGCATCCGGCAACCAATGCCTGATGCGACGCTGTTGCGTCTTATC
+AGGCCTACAACCGCTGCCGAAAGTAGGCCGGATAAGGCGTTTACGCCGCATCCGGCAACCAATGCCTGAT
+GCGACGCTGTTGCGTCTTATCAGGCCTACAACTGCTGCCGAAAGTAGGCCGGATAAGGCGTTTACGCCGC
+ATCCGGCATAAAAACAGCTTTAAGGGGCGAAAGCCCCTCTGATTATCGGGTTTAGCGCGCTATTGCCTGG
+CTACCGCTGAGCTCCAGATTTTGAGGTGAAAACAATGAAAATGAATAAAAGTCTCATCGCCCTCTGTTTA
+TCAGCAGGGTTGCTGGCAAGCGCGCCTGGAATCAGTCTTGCCGATGTTAACTACGTACCGCAAAACACCA
+GCGACGCGCCAGCCATTCCATCTGCCGCGCTGCAACAACTCACCTGGACACCGGTCGATCAATCTAAAAC
+CCAGACTACTCAACTGTCGACCGGCGGCCAACAACTGAATGTCCCTGGCATCAGTGGTCCGGTTGCTGCG
+TACAGCGTCCCGGCAAACATTGGTGAACTGACACTGACGCTGACCAGCGAAGTGAACAAACAAACCAGCG
+TATTTGCGCCGAATGTGCTGATTCTTGATCAGAACATGACCCCATCAGCCTTCTTCCCCAGCAGTTATTT
+CACCTACCAGGAACCCGGCGTGATGAGTGCAGATCGGCTGGAAGGCGTTATGCGCCTGACACCGGCGTTG
+GGGCAGCAAAAACTTTATGTTCTGGTCTTTACCACGGAAAAAGATCTCCAGCAGACGACTCAACTGCTCG
+ACCCGGCTAAAGCCTATGCCAAAGGCGTCGGTAACTCGATCCCGGATATTCCCGATCCGGTTGCTCGTCA
+TACCACCGATGGCTTACTGAAACTGAAAGTGAAAACGAACTCCAGCTCCAGCGTGTTGGTAGGGCCACTA
+TTTGGTTCTTCCGCTCCAGCTCCGGTTACGGTAGGCAACACGGCGGCACCAGCTGTGGCTGCACCCGCTC
+CGGCACCGGTGAAGAAAAGCGAGCCGATGCTCAACGACACGGAAAGTTATTTTAATACCGCGATCAAAAA
+CGCTGTCGCGAAAGGTGATGTTGATAAGGCGTTAAAACTGCTTGATGAAGCTGAACGCCTGGGGTCGACA
+TCTGCCCGTTCCACCTTTATCAGCAGTGTAAAAGGCAAGGGGTAATTACGCCCCACAGTGCTGATTTTGC
+AACAACTGGTGCGTCTCCTGGCGCACCTTTTTTTCTCCTCCTGTACTATTGTTGCGTTTTTGTTGCGCAT
+TAGTTCACTTAATTTGCTTTACATCTCCCGTAAATATTTTTCTGCGATACAATGCCTTTACGTTATGTAA
+CGGAGAGTTCGGCATGTCACACCCCGCGTTAACGCAACTGCGTGCGCTGCGCTATTTTACAGAGATCCCT
+GCCCTGGAGCCGCAACTGCTCGACTGGCTGTTGCTGGAAGATTCCATGACAAAACGTTTTGAACAGCAGG
+GAAAAACGGTGAGCGTGACGATGATCCGCGAAGGGTTTGTCGAGCAGAATGAAATCCCCGAAGAACTGCC
+ACTGCTGCCGAAAGAGTCTCGTTACTGGTTACGTGAAATTTTGTTATGTGCCGATGGTGAACCGTGGCTT
+GCCGGTCGTACCGTCGTTCCTGTGTCAACGTTAAGCGGGCCGGAGCTGGCGTTACAAAAATTAGGTAAAA
+CGCCGTTAGGACGCTATCTGTTCACATCATCGACATTAACCCGGGACTTTATTGAGATAGGCCGTGATGC
+CGGACTGTGGGGGCGACGTTCCCGCCTGCGATTAAGCGGTAAACCGCTGTTGCTAACAGAACTGTTTTTA
+CCGGCGTCACCGTTGTACTAAGAGGAAAAAAATATGGAGTGGAGTCTGACGCAGAATAAGCTGCTGGCGT
+TTCATCGCTTAATGCGTACGGATAAGCCAATTGGCGCGTTACTGCTGCTCTGGCCAACATTATGGGCGTT
+GTGGGTGGCGACACCGGGCGTTCCCCAGCTCTGGATCCTGGCGGTGTTTGTCGCGGGCGTCTGGCTGATG
+CGCGCTGCTGGTTGTGTGGTGAATGATTATGCTGACCGCAAGTTTGATGGTCATGTTAAGCGCACGGCGA
+ACCGACCACTTCCCAGCGGCGCGGTAACGGAGAAAGAGGCGCGCGCGCTGTTTGTAGTGCTGGTACTGAT
+TTCATTTTTACTGGTGCTGACGCTGAATACGATGACTATTCTGTTGTCGATTGCCGCGCTGGCGCTGGCG
+TGGGTGTACCCGTTTATGAAGCGGTATACCCATCTACCACAAGTGGTGCTGGGCGCGGCGTTTGGCTGGT
+CGATTCCAATGGCTTTTGCCGCTGTGAGTGAGTCGGTGCCATTGAGTTGCTGGTTAATGTTCCTCGCCAA
+TATTCTCTGGGCGGTGGCTTACGACACGCAGTATGCGATGGTTGACCGCGATGATGATGTGAAGATTGGC
+ATTAAATCCACCGCAATCCTGTTCGGCCAATACGATAAATTGATTATTGGTATTTTGCAGATTGGCGTTC
+TAGCGCTGATGGCGATCATCGGTGAGTTAAATGGCTTAGGCTGGGGATATTACTGGTCAATTCTGGTAGC
+TGGCGCGCTGTTTGTTTATCAACAAAAACTGATTGCCAACCGCGAGCGTGAAGCCTGCTTTAAAGCATTT
+ATGAATAATAACTATGTTGGTCTGGTACTGTTTTTAGGGCTGGCAATGAGTTACTGGCATTTCTGATGAT
+GTAAAAAAGCCGGATTATCATCCGGCTTTCTTCTGGGTTGCCTGATGCGCTGCGCTTCTCAGGCCTACAC
+AACATATCGCAATTTATTGAATTTGCAGATCATGGTAGGCCGAATAAGGCGTTTGCGTCGCATCCGGCAA
+TTCTCACTGATTACCCTTCGCCCTGCGTCGCACTCTCAATCGTCAAACGCACGTCTGATGTAATCAACTC
+CGCCAGCAACTGATATACCTTCATCGTTTCTGCCGGTTCGGCGTCGCCGCTATCGCTGATATACCCTTCA
+TCACGCAGCGTCAGCACCAGAGAACTGAACACCGCCTTGTCGAAGAACTCCGGCGCGTTGATACCGTGCA
+GCACGGAGAGACGTTGCGCGACGGTGCGGCTCTCTTTCTCCAGTGTACCGCGGTTGATCGACGGGTTGGC
+ACTCAACAGCCAGAAGGTGATGGCATAACGTTGCAGCGTTTCGCGCGCGCCTGCGGCCAGCAGCTGTAGC
+GTGCGAGAATGCGCCGGGTTGATATGCAACTCATCATCTTGCAGGGTAATCAGCCCCTGACGTTGCATCT
+CATTTGCCAGCGCATCAATAACGTCCGGTAACTCGTCGCGATCCCAGCGCAGGAACAGTTCCGCTTTCAG
+CATTGGGTAAAGCACATTGACGTGCTCCATCAATACGTCGCGGGAGATGTGGCGATGCTGGGTGACAATT
+GCCGCCATCAGCGAAGGCAGCACCAACATATGTGCAATGTTGTTGCGATAGTAGGTCATCAGCACCGCTT
+GCTCGCGCGGCAGAATGATGATGTCGCCGATAGTGTCTTTCTCGACTTCAAACTTGTTCATTTGCAGCGC
+GTGATCGATAAGCTCGCTGGCGCTGGCTGAAGGAACGGTAGAGTCCGTGGAGTAAGGCACGTTGCGCATC
+AGATCCAGGTAGCAGTTGAGTTGCTCGGTTAACTGCTCGCGGGTGAGTGAGCGCTGACGTGACGCCAGAA
+GCGCAGTACAGCACAGGTTCATGGCGTTTGCCGCGCCTGCGTTGTTAATGCGTACCATCAGATCGGCAGC
+AATATTATTGACCGTCGGCGTTAACCAGGCCGGACGCACCGCTTCGATGGGATCGATAGATTCACGCCAG
+TCTGGTACGTGCTGGTTAAGGTAGGTCATCAACGGCATTGGTTCACCGAAGTTGACGTACCCCTGACCGA
+GATTACGCAGCTTGCTTAAACCACGCAGCATCTGCGGCAGGCTCTCTTTCTCTTTCGTCGCACCGCGCAG
+TTCTTTGGCGTAAGTACCCACTTCCATGACGTGCTCATAACCGATATAGATCGGAATCAGCGTAATCGGA
+CGAGTGCCGCCACGCAGCATCGCCTGAATGGTCATCGACAGCGTACCGGTTTTCGGATCCAGCAACGCCC
+CGTACGGGAACGACCGCCTTCCACGAAATACTCGACGGAATAACCACGGCTGAACAGTTCGCCGAGATAC
+TCACGGAAAACGGTGGAATAAAGTTTATTGCCTTTAAACGTACGGCGAATAAAGAACGCCCCCAGACGGC
+GGAAAATCGGCCCAGCCGGCCAAAAGTTCAGGTTGATCCCGGCGGCGATATGCGGCGGCACCAGCCCCTG
+GTGATACAGCACGTAAGAAAGCAGCAGGTAGTCCATGTGACTGCGGTGGCAAGGCACATACACTAGCTCA
+TGGCCGTCGTGGGCCAGCTGGCGAACGCGCTCGGCGTTATGGACGTTGATACCCTGGTAAAGTCGGTTCC
+AGGTGAAGCCCAGAATGCGGTCAGTCAGGCGGATCATCTCGTAAGAGAAATTCGCCGCAATCTCTTCCAT
+CAGCGCAATCGCGTTCTGCTGCGCTTTTTCATGGGAGATTTTTTTGCTGCGCGCTTCATCTTCTACCGCT
+TTGGCAATGGCGCGGGAGGCGAGCAGCTTATTAAACAGATCCTGACGAGCAGGCAGACGTGGTCCTACGG
+CAGCCAGACGTTGACGGGCAAAGTGCATACGCGCCACGCGCGCCAGTTTCTGCGCGATAGTTTTATCCGT
+GCCGTGTTCATCCGCCATACGGCGCAGCGAAACTGACGGCGAGAAACGCACAAAACTGTCGCGACCGAGC
+CACAGTACAGCGAAAAATTTCTGTACACCGTTAAGCATACGCAGCGGCGGGTTCACTTCGCCTTTTTCAC
+GCCCCGGCGCGCGACCAAACATCACCGATACTGGCACCATCTGCACATCCAGATTTGGGTTGCTGCGGTG
+CAAATCGAGATAGTCGTGGAACAGCTTAATAGACTCTTCTTTCGGCGTGTAATAGGTGAACACACGCGGC
+CCGCCGTGAATGAACACATAGCGCGGCAGTAGCGTGCCGTCGATTTCCAGCGGCTCTAACGGGTCAGGCA
+GGTCATGTGCCAGACACTGGGCGCGCAACGTCAGCAAGTCAGCTTTCGAGTTGTACGGTAAAACGTACAT
+AATTGGACGAGAGGTATCCAGCCCCAGTTCCGGGGCAGGATCCGCCGGAATAGACTTGCTTTTTACCAGG
+ATGCTTAATGGTAAATTCAGTAATTTGTAGTAAATTCGTGGCCAGCCGGACATAAACGATGTAAAGCCTC
+TGGTTAATAATGCAAATGCGCGGCAAGGATAGCAGAAAGTCATGGGAAATTCTGTGGTATCCGCTCATGT
+TTCGCGCGGCGTTACGCAAACCCGAATCATCGGATTTAACGGTACACTGATATTGACGCTCATAATGTAA
+AAAGGTTCTTTCAATGGCCAATAATACCACTGGATTCATCCGAATTATTAAAGCTGCTGGCTATTCCTGG
+AAAGGTTTACGCGCTGCATGGATCAACGAAGCGGCATTCCGTCAGGAAGGCGTAGCGGTATTGTTAGCGG
+TGGTCATCGCCTGCTGGCTGGATGTGGACGCGATTACCCGCGTGCTGCTTATCAGCTCCGTGATGCTGGT
+GATGATTGTGGAAATTCTCAATAGCGCCATCGAAGCTGTGGTTGACCGAATTGGCTCTGAATACCATGAG
+CTTTCCGGACGCGCTAAAGATATGGGATCTGCCGCAGTGCTGATTGCCATTATCGTCGCCGTGATTACCT
+GGTGCATCCTGTTATGGTCGCATTTTGGATAACCCTTCCAGATTTCGATAAATCTCTGGTTTATTGTGCA
+GTTTATGGTTCCAAAATCGCCTTTTGCTGTATATACTCACAGCATAACTGTATATACACCCAGGGGGCGG
+AATGAAAGCGTTAACGGCCAGGCAACAAGAGGTGTTTGATCTCATCCGTGATCACATCAGCCAGACAGGT
+ATGCCGCCGACGCGTGCGGAAATCGCGCAGCGTTTGGGGTTCCGTTCCCCAAACGCGGCTGAAGAACATC
+TGAAGGCGCTGGCACGCAAAGGCGTTATTGAAATTGTTTCCGGCGCATCACGCGGGATTCGTTTATTGCA
+GGAAGAGGAAGAAGGGTTGCCGCTGGTAGGTCGTGTGGCTGCCGGTGAACCGCTTCTGGCGCAACAGCAT
+ATTGAAGGTCATTATCAGGTCGATCCTTCCTTGTTCAAGCCGAATGCTGATTTCCTGCTGCGCGTCAGCG
+GGATGTCGATGAAAGATATCGGCATTATGGATGGCGATTTGCTGGCAGTGCATAAAACTCAGGATGTACG
+TAACGGTCAGGTCGTTGTCGCACGTATTGATGACGAAGTTACCGTTAAGCGCCTGAAAAAACAGGGCAAT
+AAAGTCGAACTGTTGCCAGAAAACAGCGAGTTTAAACCAATTGTCGTTGACCTTCGTCAGCAGAGCTTCA
+CCATTGAGGGGCTGGCGGTTGGGGTTATTCGCAACGGCGACTGGCTGTAACATATCTCTGAGACCGCGAT
+GCCGCCTGGCGTCGCGGTTTGTTTTTCATCTCTCTTCATCAGGCTTGTCTGCATGGCATTCCTCACTTCA
+TCTGATAAAGCACTCTGGCATCTCGCCTTACCCATGATTTTCTCCAATATCACCGTTCCGTTGCTGGGAC
+TGGTCGATACGGCGGTAATTGGTCATCTTGATAGTCCGGTTTATTTGGGCGGCGTGGCGGTTGGTGCAAC
+GGCGACCAGCTTTCTCTTTATGTTGTTGCTGTTTTTACGCATGAGCACCACCGGGCTGACTGCACAGGCT
+TATGGTGCTAAAAATCCTCAGGCATTAGCCCGTGTGCTGGTGCAACCGTTGCTGTTGGCGTTGGGGGCTG
+GGGCGTTAATTGCGCTGCTGCGTACGCCGATTATCGATCTGGCGCTGCATATTGTTGGCGGTAGTGAAGC
+AGTCCTGGAACAGGCGCGACGCTTTCTTGAAATCCGCTGGTTAAGCGCACCGGCGTCGCTGGCGAATCTG
+GTATTACTTGGTTGGTTACTCGGCGTGCAATATGCCCGTGCGCCAGTAATTTTGTTAGTGGTCGGCAATA
+TCCTCAACATTGTACTGGATGTCTGGCTGGTGATGGGGCTGCATATGAACGTGCAGGGCGCGGCTCTGGC
+AACGGTTATTGCGGAATATGCAACATTGCTGATTGGTCTGCTAATGGTGCGTAAAATCCTCAAACTACGC
+GGAATCTCCGGCGAAATGCTGAAAACAGCCTGGCGAGGAAACTTCCGTCACTTGCTGGCGCTTAACCGCG
+ATATCATGCTGCGCTCGCTGTTGCTGCAACTCTGTTTCGGCGCGATCACTGTACTTGGCGCGCGACTGGG
+GAGTGACATTATCGCTGTTAACGCGGTTCTGATGACGCTACTCACCTTTACCGCCTATGCGCTGGATGGT
+TTTGCCTACGCGGTTGAAGCACATTCCGGTCAGGCATACGGTGCGCGCGACGGTAGTCAATTGCTGGATG
+TCTGGCGGGCAGCGTGCCGCCAGTCGGGGATCGTAGCGTTACTGTTTTCGGTGGTTTATTTGCTGGCAGG
+GGAACACATCATTGCGTTGCTGACGTCGTTAACCCAGATTCAGCAGCTGGCTGACCGCTATCTTATCTGG
+CAGGTGATTTTGCCGTTGGTCGGCGTCTGGTGTTATCTGCTGGACGGCATGTTTATAGGCGCAACGCGTG
+CCGCCGAAATGCGTAACAGTATGGCGGTGGCCGCCGCAGGTTTTGCGCTGACGCTCCTTACGCTGCCGTG
+GCTGGGGAATCATGGTTTGTGGCTGGCGTTAACCGTCTTTCTGGCGTTACGCGGGCTTTCTCTGGCGGCT
+ATCTGGCGGCGTCACTGGCGTAACGATACCTGGTTTGTCGCAACGTGACGGTTAAAAATTCTGAATAAAT
+AATCCTAAGCCAAATTGCTGACTACACTTAATCTCACGTTCAGAAGAAAAGTGAACGTACTCTCATTCAC
+AACCTAACGATGAGGTCTTGATTATGAATAAAGATGAAGCCGGCGGTAACTGGAAACAGTTTAAAGGTAA
+AGTGAAAGAGCAATGGGGCAAACTGACCGATGATGATATGACGATCATTGAAGGAAAACGTGATCAGTTA
+GTGGGTAAAATCCAGGAACGCTACGGTTATCAGAAAGATCAGGCAGAAAAAGAGGTTGATAGTTGGGAAA
+AACGCCATGATTACCGCTGGTAATTAATCCCTCCTGCCCGACATGTACAAGGATGTACACCCTTTTAGCG
+AGGTTTCTTTTTCACCTGAATAGAGTGGTCATGATGGCACTGTTCAGGATGACGACACGCTTCTACTTCT
+ACACATGCTGAACATAATCCATGTGCTTCAATAACATTATGCCGCAGGGCAAAACCCATTTTTGCCGCCA
+GCGTATGCATGATGTCTTCCACGCCTTCAGCACATTCTTCTTTCACCGCGCCGCAGCGATCGCAAATAAA
+CATGGCTGAAGTATGGGTGGGCTGATCGAACAGATGACAGAGCACATAACTGTTGGTGGATTCCACCTTA
+TGCACAAAACCTTGTTCAAGCAGAAACTCCAGCGCGCGATAAACCGTTGGCGGCTTGGCTTGCGGTTCAG
+CTTCGCGCAGCAAATCAAGCAGATCATAAGCGCTGATAGCGCCATCCTGCAGACTCATCAGGCGCAACAC
+TTCGAGACGCTGTGGGGTCAGGCGCACATTACGCTGTGCGCAGATTTTTTCAGCCTGCGCTAATAACTCC
+TGCGTTGTGGTCTTTTCCATTGGGCACCTCGACAGTGGGGTTAAGAATGTCCTTACTTTACCATAGTTCT
+CACTTAAACGCCGAGAACAGGGTGTCATGGCTGTCACATTGCCTGATCGCATATTCGTTATGCTATAGTA
+GCGCCCCCAATTTACCAGATGCTTAAAAAGTCGCCATGCCAGCAGAATCACACACTGTTTATCCCGCTTA
+CCGTTTCTCGATTGCCCCGATGCTTGACTGGACGGACAGACATTGCCGTTATTTCTTGCGTCTGCTTTCC
+CGCAATACGTTGTTGTATACCGAAATGGTGACCACAGGGGCGATTATTCACGGTAAAGGTGATTACCTGG
+CGTACAGTGAAGAAGAACATCCGGTAGCGTTGCAACTCGGGGGTAGCGATCCGGCGGCGCTGGCACAGTG
+TGCGAAGCTGGCAGAAGCGCGTGGATATGATGAGATCAACCTGAATGTCGGCTGCCCGTCTGACCGGGTG
+CAGAACGGCATGTTTGGTGCGTGTCTGATGGGTAATGCGCAGCTGGTTGCCGACTGCGTGAAAGCGATGC
+GCGATGTGGTGTCGATTCCGGTGACGGTGAAAACGCGTATTGGCATCGATGATCAGGACAGCTATGAATT
+TCTCTGCGATTTCATCAACACCGTTTCCGGCAAAGGTGAGTGTGAGATGTTCATCATCCACGCACGTAAA
+GCCTGGCTTTCTGGGTTAAGTCCGAAAGAAAACCGTGAGATCCCGCCTCTCGATTATCCGCGTGTGTATC
+AACTGAAGCGTGACTTTCCGCATCTGACGATGTCGATTAACGGTGGTATCAAGTCGCTGGAAGAAGCTAA
+AGCGCATTTGCAACATATGGATGGCGTGATGGTCGGGCGCGAGGCGTATCAGAATCCGGGTATTCTGGCG
+GCGGTAGACCGAGAGATTTTTGGTTCCTCGGATACCGATGCCGATCCGGTGGCGGTAGTGCGCGCCATGT
+ATCCGTACATTGAGCGTGAACTCAGCCAGGGTACGTATCTCGGCCATATTACCCGGCATATGCTGGGCTT
+GTTCCAGGGTATTCCTGGCGCGCGGCAGTGGCGGCGTTATTTAAGTGAAAATGCCCATAAAGCGGGTGCA
+GACATTAATGTGCTGGAACACGCGCTCAAACTGGTGGCGGATAAGCGTTAACTTTTCACCAAAAAGTAGT
+CAAATTCACCACGCCCTGCGCACCGTCGCGGGGCGTTTTGCTGTTAAATCAATAGATTATTTTTGGCATG
+ATTCTTGTAATGCCAGCAAGAGATTTCATATTTGGGAGAGCATCATGCTGGAACTACTTTTTGTAATTGG
+CTTTTTTGTCATGCTGATGGTCACCGGTGTTTCGTTGCTGGGTATTATCGCCGCGCTGATTGTGGCGACG
+GCCTTTATGTTCCTCGGCGGTATGCTGGCATTGATGATTAAGTTGCTGCCGTGGCTGCTGTTGGCGGTTG
+CGGTGGTGTGGGTGATCAGGGCGATTAAAGCACCAAAAGTGCCGAAATATCAGCGTTATGACCGCTGGCG
+TTACTAAGGGATTGTGCGGATGATCACAACCTAAGGTTTTATCCTTAGAACAAAATAGGAATTGATAATC
+AAATCTGTCACTATTGCGCGTCAAACAAATTCATCGAGCTGTACCCTACATACAGCCGAACTATAAAAGA
+AAGGGCTTCCCAGGTGGAAGCCCAATTTCTTTTATGGAATCAACAGGCTGGAACCCTGCGTCGCCCGGCT
+TTCCAGAATCTCATGCGCACGCCGCGCATCCTTCAGCGGATATTTCTGCTGCTCGGCGACATCGACCTTA
+ATCACACCGCTAGCAATCAAAGAGAACAGTTCATTACTGGCCTCGGTTAATTCCTCCCGCGTGGTGATAT
+AGCCTTGCAGGGAAGGGCGTGTCACATACAACGAGCCTTTCTGATTGAGAATGCCTAAGTTCACACCGGT
+AACCGCACCTGATGAGTTGCCAAAACTCACCATTAAGCCGCGGCGTTGCAGGCAATCCAGCGACCGTTCC
+CAGGTGTCTCTGCCCACGGAATCGTACACCACGCGCACTTTCTTGCCACCGGTGATCTCTTTCAATCGCT
+CGACCAGATTCTCTTCACGATAGTTAATAACCTGCCACGCGCCGGCTTTTAGCGCGCTCTGCGCTTTTTG
+CGCGGTTCCTACGGTGCCGATAAGTTTCGCGCCCAGGGCTTTTGCCCACTGGCAGGCAATCAAGCCAACG
+CCGCCAGCCGCTGCGTGGAACAGGAACTGCTCATCGGGTTTAATTTCATAGGTTTTGCGCAGCAGATAAT
+AAACCGTTAAGCCTTTCAGGAAGGATGCCGCAGCTTGCTCAAAAGAAATTGCCGCAGGCAGAATCGCCGC
+TTTATCCGCATTAATGTTATGCACAGAGCTGTAAGCGCCTAATGCCGATTGTGCATAGACTACGCGATCG
+CCTGCCTTAATATGCTTTACACCACTGCCGACTTTACTCACGATGCCTGCCGCTTCGGTGCCTAATCCGC
+TGGGTAGCGATGGTGGCGGGTAAAGGCCGCTGCGGATATACGTGTCGATAAAATTGATGCCGATGGCTTT
+ATTTTCGACCTGGATTTCATTCTCCGCCGGATCGGCAGGAGTGAACTCTACGGCTTGAAGTACTTCCGGG
+CCACCGTGCTTGTGAAATTCAATTCGTGTTGCCATGTGTCCTCCAGAACGTATCGTCAGGGTCTGCTTCA
+TATGGTAAAGTTTCGACCCATTCTTTATCTCGGTAACTCCATTCACTATGGCAGGAAATAAACCCTTCAA
+CAAACAGCAGGCTGAACCCCGCGAACGCGATCCACAAGTTGCCGGGCTGAAAGTGCCTCCGCACTCGATC
+GAAGCGGAGCAGTCGGTGTTGGGCGGTTTAATGCTGGATAACGAACGCTGGGATGATGTAGCTGAGCGTG
+TGGTGGCAGATGATTTTTACACCCGCCCACACCGTCATATCTTTACTGAAATGGCGCGTTTGCAGGAAAG
+CGGTAGTCCTATCGATCTGATTACCCTTGCGGAATCGCTGGAACGCCAGGGGCAACTCGATAGCGTCGGT
+GGTTTTGCTTATCTGGCAGAGCTGTCAAAAAATACGCCAAGTGCGGCGAACATCAGTGCATATGCGGATA
+TCGTGCGCGAACGTGCCGTTGTTCGTGAGATGATCTCCGTTGCTAACGAGATTGCCGAAGCTGGTTTTGA
+TCCACAAGGGCGTACCAGTGAAGATCTGCTCGACCTTGCTGAATCCCGCGTCTTTAAAATTGCCGAAAGT
+CGTGCAAACAAAGACGAAGGGCCGAAGAACATCGCCGATGTGCTCGACGCAACCGTGGCGCGTATTGAGC
+AGTTGTTTCAGCAGCCACACGATGGCGTTACCGGGGTAAATACCGGTTATGACGATCTCAACAAAAAAAC
+CGCTGGCTTGCAGCCGTCGGATTTGATCATCGTTGCCGCGCGTCCGTCGATGGGTAAAACGACATTTGCG
+ATGAACCTCGTCGAAAACGCGGCGATGTTGCAGGATAAACCGGTGCTTATCTTCTCGCTGGAGATGCCAT
+CAGAACAGATCATGATGCGTTCTCTGGCGTCGCTGTCGCGCGTTGACCAGACTAAAATCCGTACCGGTCA
+GCTCGATGATGAAGACTGGGCACGCATTTCCGGCACCATGGGTATTTTGCTCGAAAAACGTAATATCTAT
+ATCGATGATTCCTCCGGCTTGACGCCAACGGAAGTGCGTTCCCGCGCACGCCGTATTGCCCGTGAACACG
+GCGGCATCGGGCTTATCATGATCGACTACCTGCAACTGATGCGCGTACCGGCGCTTTCCGATAACCGTAC
+GCTGGAAATTGCAGAAATCTCCCGCTCGCTGAAAGCACTGGCGAAAGAACTGAACGTGCCGGTGGTGGCG
+CTGTCCCAGTTGAACCGTTCTCTGGAACAACGTGCCGACAAACGCCCGGTCAACTCCGACCTGCGTGAAT
+CTGGCTCTATCGAGCAGGATGCGGACTTGATCATGTTTATCTATCGTGATGAGGTGTATCACGAAAACAG
+TGATTTAAAAGGCATCGCGGAAATTATTATCGGTAAACAACGTAACGGCCCAATCGGGACGGTACGCCTG
+ACCTTTAACGGTCAATGGTCGCGCTTCGACAACTATGCGGGGCCGCAGTACGACGACGAATAATCACTTT
+GGGGCCAGCTAAACACTGGTCCCAAAATTATTCTGCCGGGCTTTCAATCCCTTTTTTTAGCCACTCTTTA
+AGGCTCAGAACCGAGTTATCTTCGTCTTCGTGGAATATGATATTGTCGATCTGCCAACAGCCATCATCAG
+CGGAACGCGCCATTAGCGCTTCGTCCTGCCAGGCCTTTTTATCATCAACGCTAAAATGAAAATGGAGGGT
+GACAGTGACGTTGTTATCACCAGGTTTAAACGATGACGGTAGCGTCACGCCATCAAATTTCTCATAGTAA
+CTATCCGAAGGATAAGACGTGAAAATAATCCCGTCACCAAAAGTAGGTTTGGCCGTGGGATCAATGGCGT
+AGTCGCGTTTATTTCTGTCATACGCGCCAACAATAAGTTGATAAAGCGAGGGGGTGAGGTAATTCTGAAA
+AAATGCCAGCTGGTCTTTTTCACTCTTAAAGCCGGTATCAGAAAAAACATAGGTTGAATAAAACTTATCT
+GCGACACCGTCAGGTGTCTGCACCGGGCAAGCCCCCGTCGCGGCAGGCGTTATACCTGCGATTAGCAGAA
+AAAAGAAAACAAATTTTATCTTTGTCATGGCTGAAAATCCGATATCATCTTGCCGTTTATAAACCCATCC
+CTGGATGTGGAATAGCATACTCCGGTCATATCTGTTTAGCGAGGTTTTGCACTGGTGGGCAGAACCTGAA
+AAAAAGGAATACAAATGCAAGCGGCAACTGTTTTGATTAACCGCCGCGCTCTGCGACACAACCTGCAACG
+TCTGCGTGAACTGGCCCCCGCCAGTAAACTGGTTGCGGTGGTGAAAGCGAACGCCTACGGTCACGGTCTG
+ATTGAGACCGCGCGAACGCTCCCCGATGCTGACGCCTTTGGCGTTGCCCGTCTCGAAGAAGCCCTACGGC
+TGCGGGCGGGGGGCATCACGCGACCTATTTTGTTACTGGAAGGTTTTTTTGAAGCAGACGATTTGCCGAC
+GATCTCCGCTGAACATCTGCATACCGCAGTCCACAATGAAGAGCAGCTTGTCGCCCTCGAAAACGCTGAA
+CTTAAAGAGCCTGTCACCGTCTGGATGAAGCTCGATACCGGAATGCACCGTTTGGGCGTATTGCCGGAAC
+AGGCCGAGGCGTTTTATCAGCGTCTGAGCCAGTGTAAAAATGTCCGCCAGCCGGTGAACATTGTTAGTCA
+CTTCGCCCGTGCCGATGAACCGCAAAGCGGCGCGACTGAAAAGCAGCTCGATATCTTCAACACCTTTTGT
+GAAGGTAAACCGGGGCAACGCTCAATTGCGGCATCAGGCGGCATTTTGTTATGGCCGCAGTCGCATTTTG
+ACTGGGCGCGTCCGGGGATCATTCTTTACGGTGTCTCGCCGCTGGAAGATGGCACGACAGGGGCTGATTT
+TGGCTGTCAGCCAGTCATGTCTTTAACCTCCAGCCTGATTGCCGTGCGTGAGCATAAAGCCGGAGAGCCT
+GTCGGTTATGGTGGAACCTGGGTAAGCGAACGTGATACTCGTCTTGGCGTAGTCGCGATGGGCTATGGCG
+ATGGTTATCCGCGCGCCGCGCCGTCCGGTACGCCAGTGCTGGTGAACGGTCGCGAAGTGCCGATTGTCGG
+GCGAGTCGCGATGGATATGATCTGCGTAGACTTAGGTCCACAGGCGCAGGACAAAGCCGGGGACCCGGTC
+ATTTTATGGGGCGAAGGTTTGCCCGTAGAACGTATCGCTGAAATGACGAAAGTAAGCGCTTACGAACTTA
+TCACGCGCCTGACTTCAAGGGTCGCGATGAAATACGTGGATTAATACCCGTCTCCAGGGAGGGACAATGT
+CTTATTCAGAAATCGCCGCGTGTCTGGCATACGCGGTTTCCGTCTGGCTGGCTGCCAGAAACAATGTGCA
+TACGTGGTGGATCGGCATAATTGGTAGCATGCTGTATGGCTGGGTTTTTTGGTCCGTGCAACTCTATGCC
+GATGTCACGCTCCAGTTATTCTTCATCGCGACCAGCATCACCGGTTGGATCCACTGGCTGAAAGGTCAGG
+GTGGCGATGTCTTGCCGGTGCGCCGGACGCAAGCCAGTCACTTTTTCCTCTTGTTGCTCTGTGCCGTCGT
+CGTGGCAGGCGGCTACGGCTTTTTGCTCCACACCTTTACCAATGCCTGGGCCCCCTGGCTGGATTCTTTG
+ATTTTGACCTTCAGCGTTCTGGCACAATTCATGTTGATGGGAAGACGTATCGAAAACTGGTACGTCTGGT
+TAGCAGTGAATACCCTCGCGGTGCCACTGTATATGACGCGCGGTTTAAACCTGACCGCCGGTTTATATTT
+CCTGTTCTGGATTAACGCCTGGCATGGTTTGTATCAGTGGCGCAAGGAGCTGCGGGTATCATGAAGCGTT
+TCGTAACGGGACTGGTGGTTGGCAAATTCGCGCCTTTGCATTGTGGTCATGAACGGTTGATCAATACCGC
+GCTGGCACAATGTGAAGAACTGTTCATCATCAGTTATTCCGTGCCGGAAATGCCTGACTGTGAACCTGAA
+AAGCGCCTGACGTGGCTGCAAGTGCGCTTCCCGCGAGCGACGGTTCTGGTACTGACTCCCGAACTGATCG
+CGCGTTATAACTTACCTGCCATACCGCATAATGATGCCGATGCCGACATCCATCGTCATTATGTGGCGAC
+GCTGTGCCTGCAGGTATTACGTTGCCGCCCACACGCTGTATTTACCGCAGAAGATTATGGTGACGGTTTT
+GCTAAAGTGCTGACAAAGCGTTTTGCCCAACCTGTTGAACACATTCGATTACAGCGTCCACGTGGCGATA
+AATCTCCTTCGGGAACGCTGATTCGTTCCGACGTTCACCACTATCGCTACATGCTGGCGCACGACGTTTA
+TCGCAGTTTCGTTCGCCGTATCTGTCTGCTTGGTGGCGAATCAACCGGTAAGAGCACACTTTCAAAAGCG
+CTGGCGGACGTGCTCGATACGGCGTATGTCACTGAATTTGGTCGCGACTATTGGGAAGAGAAAAATGGTG
+TTTTAACCGCAGACGATTTGTTGCATATCGCCCGCGAACAGGTACGTCGGGAACAACAAGCAGAAGCTAA
+TCGCTATCTTATATGTGACACATCGCCACTCACGACCTTGTTCTATGCCCTTGATCAATATGGTCATGCC
+CCGCAAGAACTTCACCAGCTGGCGGAGCGGGAATACTCTCTGGTGGTGCTTTGCGGCGCGGAATTTCCCT
+TTGTGCAGGATGGCACCCGGCAAGGAGAGGTATTTCGCGCACGGCAACAGGTGTGGTATGAACAGGAATT
+GTCGCGCAGGAACATTCCTTATCTTTCGGTTTCGGGGCCACTGCAAGAGCGAGTGGAGCAAATTCTTCGC
+CAACTTCCCGACTGACTTTGAACATCCTCTCGATCTTCGCCTTCTTCCGGTTTATTGTGTTTTAACCACC
+TGCCCGTAAACCTGGAGAACCATCGCGTGTTTCAAAAAGTTGACGCCTACGCTGGCGACCCGATTCTTAC
+GCTTATGGAGCGTTTTAAAGAAGACCCTCGCAGCGACAAAGTGAATTTAAGTATCGGTCTGTACTACAAC
+GAAGACGGAATTATTCCACAACTGAAAGCCGTGGCGGATGCGGAAGCGCGCCTGAATGCGCAGCCTCATG
+GTGCTTCGCTTTATTTACCGATGGAAGGGCTTAACAGCTATCGCCATGCCATTGCGCCGCTGCTGTTTGG
+TGCGGACCATCCGGTACTGCAACAACAGCGCGTAGCAACCATTCAAACCCTTGGCGGCTCAGGGGCATTG
+AAAGTGGGCGCAGATTTCCTGAAACGCTACTTCCCGGAATCAGGCGTCTGGGTCAGCGATCCTACCTGGG
+AAAACCACGTAGCAATATTCGCCGGGGCTGGATTCGAAGTAAGTACTTACCCCTGGTATAACGAAGCGAC
+TAACGGTGTGCGCTTTAATGACCTGTTGGCGACGCTGAAAACATTACCTGCCCGCAGTATTGTGTTGCTG
+CATCCATGTTGCCACAACCCAACGGGTGCCGATCTCACTAATGACCAGTGGGATTCCGTGATTGAAATTC
+TCAAAGCCCGCGAGCTTATTCCATTCCTCGATATTGCCTATCAAGGATTTGGTGCCGGTATGGAAGAGGA
+TGCCTACGCCATTCGCGCCATTGCCAGCGCTGGATTACCCGCTCTGGTGAGCAATTCGTTCTCGAAAATT
+TTCTCCCTTTACGGCGAGCGCGTCGGCGGACTTTCTGTTCTGTGTGAAGATGCCGAAGCCGCAGGCCGCG
+TACTGGGGCAATTGAAAGCAACCGTTCGCCGCAACTACTCCAGCCCGCCGAATTTTGGTGCGCAGGTGGT
+GGCTGCGGCGCTGAATGACGAGGCATTGAAAGCCAGCTGGCTGGCGGAAGTAGAAGAGATGCGTACTCGC
+ATTCTGGCAATGCGTCAGGAACTGGTGAAGGTATTGAGCACAGAGATGCCAGAGCGCAATTTCGATTATC
+TGCTTAATCAGCGCGGCATGTTCAGTTATACCGGTTTAAGAACCGCTCAGGTTGACCGACTACGTGAAGA
+ATTTGGTGTCTATCTCATCGCCAGCGGTCGCATGTGTGTCGCCGGGCTTAACGCGCAAAATGTGCATCGC
+GTGGCAAAGGCGTTTGCTGCGGTGATGTGATTTTAATCAACAGGCGGATCTCTCCGCCTGTTCCTGACTC
+CAGCCACACCCTACTATTCTGTCCCTTTTTTCGCCCACTTTTACATCATCTCTTTTCTATAAGTTTTTGA
+AAATTAGTGTTTTTAACTGTTGGTACGGATTGTGCAGTAATGCGGCTGTCTATGACCATCAGGAGAAAAA
+CATGGAGAACATGACCTCGCCCGGCACGTTGCTTAGTGGAGATAACGCGACCTGGCTTGAAGAGTACTAC
+CAGACCTGGTTGCGTACGCCGGAAAAACTCCCGGAAGACTGGCGGCGTTTTTTTCTTTCACCTGAACTGA
+CTGTCCAAAGCGTATCTGGTGATAACAACGTCAGCGGTGCGACGTTAAAAAAACAGGCTGCGGTAATACA
+ACTGATCAATGCCTGGCGCACGCAGGGGCATCTGCGCGCAAAGCTTGATCCACTTGGTTTGAATCCCCCA
+GCTGACGTTCCCTCCCTCCAGCCTGGTTTTTGGGGATTAAGCGAAGAAGACTTGTTGCAGGAGTTTAGCG
+TCACCTTTGGCGCACACACCACGCAAATGCCACTTAAGCAACTGCTTAACCTGCTAGAGCAAGCCTGGGC
+CGGTAGCCAGGCTTATGAACTTGCTCATCTGGAAAATCGTGAAGAAATCAACTGGCTGTTATCACGGATT
+GAGAGCAGCAATGCGCCACAAGCTGATGCCCAAACCTGCATTGCCCGTTTTGAAAAACTGATGGCGGCAG
+AGACGTTAGAGCGTTATCTGCATACCCGTTATGTTGGGCAGAAACGGTTTTCTCTGGAAGGGGGCGAAAG
+TGCAATCCCGGCGCTCGATACGCTGACAAAATGCCTGCGTGCGCAAGGTGTGGAGGAAATGGTCATTGGC
+ATGGCGCACCGGGGAAGACTTAATGTTCTGGTTAATCTGTTGAATAAAGACCCGGCACAGCTTTTTGCTG
+AGTTTGAAGGCAAGCAGACGATCGGCAGTGGTTCAGGCGATGTGAAATACCACATGGGGTATTCCAGCAA
+TCTGGAAACACCTGCCGGTTCGCTGCATGTGGCGCTGGCGTATAACCCCTCACATCTGGAGATCGTGAAT
+CCGGTGGTGCTGGGCCAGGTGCGAGCCAGGCAGGAACGCCGTGGTGAGGATGGTCAGGCAAAAGTGGTGG
+GCGTACTTATTCATGGGGATTCCGCGTTGGGCGGCCTCGGCGTCAACCAAACCACGTTTAACTTATCGCA
+GACTCAGGGCTACGGCACTGGCGGTACGCTACATCTGGTGATTAACAATCAGATTGGCTTCACCACTTCC
+CGCTTGCAGGATATGCGTTCTTCACGGTACTGCACCGATATTGCCAAAATGGTAGCGGCCCCAATTATCC
+ACGTTAATGGCGATGACGTTGACGCTGTTTGCCAGGTAATGGAACTGGCGTGCGAATGGCGAGACACCTT
+CCGGCGCGACATCATCATCGATATTTGCTGCTTCCGTAAGCACGGACACAACGAAAGCGATGAGCCACGT
+CTTACCCAGCCACAAATGTATCAGGCAGTGGATGCTCACCCTGGTACGCTCGCCCGTTATGGTGAATCTC
+TTGCCCGCCGCGGCCTGTTAACTCAGGCGCAACAAGATGAGATGACGGCACGCTATCGCGACTGGCTGGA
+TAGCTGCCAGAAACGTGAACCGCAGCCTCTCAAACCTGCAATTCACTCTTTTAGCGCTAACTGGTATGGG
+TTGACCAACCCTCACTGGAGCGCCCCGGTATCTACGGCATTGCCTCGGCAAAAGCTGGCAGCGTATGGTG
+AAATCATTTCTACACTGCCACCCGATGTGGTCGCACATCCTACCATTAAACGGCAACTGACGTTACGCCA
+GGATATGGCCGCAGGTACTCAGCCAATAGACTGGGGAATGGCTGAAATGCTGGCCTATGCATCGCTTGTG
+GATGCGGGTGTTGGTGTGCGTCTTTCTGGTGAAGACTCAGGGCGTGGCACGTTCAGTCATCGCCATGCAG
+TGGTACATCATCAAACTGAAGCCCGTCGTTATCTGCCGTTACAGCATATCCGCGCTGGTCAGGCATCTTT
+CGATGTTTATGATTCGGTGCTTAATGAAGAAGCGCTCTTAGCCTTTGAATATGGCTATTCAACGTCTGCG
+CCTCAGCAACTGGTTATTTGGGAAGCACAGTTTGGTGACTTTGCCAACGGCGCTCAGGTTGCTATTGACC
+AATTTATCTCGTCTGGCGAAACCAAGTGGGATCGCTATAGCGGTTTAACCATTCTTCTGCCGCATGGCTA
+TGACGGACAAGGGCCGGAGCACTCTTCTGCGCGTCCTGAGCGCTGGCTGCAACTGTGCGCAGAAAACAAC
+ATGCAGGTGGTGATGCCCAGTGAGTCAGCACAAATGTTCCATTTGCTGCGCGGTCAGGCATTACGCCCAA
+TGCGCAAACCGTTAGTGATAATGATGAGTAAGCGTTTACTTCGGTTTAAAGGCGCTATGAGCGAGCTTTG
+TGAATTCACTGATGGCGCTTATAAACCGGTAGTCACCGATCCGCAATTGCATCAGTCCCAGAAAGTTAAG
+CGCGTTATTTTGTGTAGCGGCCAGGTCTATTACGACGTACTGGAAGCCCGTAAGCAGCGTGAGTGTGAAG
+ATGAGGTAGCGATTGTTCGCCTGGAGCAACTCTACCCGTTCCCGGTCGCAGAACTGAATGATGTTCTGGC
+GAGTTGGCCGAACTGCTGCGAATGGATTTGGTTGCAGGAAGAGCCAGAAAACCAGGGCGCGTGGCGGCAG
+ATTCGTCATGAGCTGGCGGCACTGAAAATTAACACTCCTTACTGGCAGTATGCAGGCCGCCCGGCAGCGG
+CAGCACCAGCGACAGGGTATGGGCGTGTACATAAACAACAAATCGACGAATTTCTTGCTGCTGCGTTTGC
+AGATATTCAGCCATGAAAGGCGCACAAAAATAATAAGGAGAACATTTTATGATCGAAATTACTGTCCCTG
+TATTACCGGAATCTGTCACGGAAGGCACGCTGACAACCTGGTGTAAACAAGAAGGCGAGCACGTAAAACG
+CGATGATGTGATTGCCGAGCTGGAAACCGATAAAGTCATTCTGGAAATACCGGCCCCGCACGATGGCGTG
+TTAAGCAATATTATCGTCAGCGAAGGTAGCACGGTCACGTCCGCGCAACTGTTGGCGCATCTTAAGCCGC
+AAGCTGTCATAGAAGAAACCGTCACACCAGTCACCGAAACCCTGGCGATGCCTTCCGCACGGCTGGAGGC
+ACAGCGTAGTGGTGTCGAACTTGCTGACGTTGCGGGGAGCGGGAGAAATGGACGTATCCTGAAAGAGGAT
+GTACAGCGCGTTACTCCTGCACCAGTCATTCAGCCTGAACGGGTGGCGGAGATCGCGCCAGCTAAACCCT
+TGACACCGGGTGCTCGTCAGGAACGTCGTGAGCCGATGTCGCGCTTACGTCAGCGGATTGCTGAGCGTCT
+GCTGGCTTCCCAACAAAATAACGCCATTCTTACCACATTCAACGAAGTAAACATGCAGAGCGTGATGGAT
+TTACGCGCCCGCTGGAAAGATCGTTTTGCCGAGAAGCACGGCGTGAAGCTGGGCTTTATGTCCTTCTTTG
+TTAAGGCCGTTACCCGGGCGCTGGAGCGCTTCCCTGTAGTGAATGCCAGCGTTGATGGCAACGAGATTAT
+CTGGCGTGATTATTGCGATATCGGCATTGCAGTGAGCAGCAACCGCGGCCTGGTAGTGCCTGTGTTACGC
+AATGCGCAATCACTCTCTTTGGTGGAAATTGAACGGCAAATTGCCGAATACGCCACACAGGCACGCAATG
+GCAAATTGCCGCTGGAGGCGTTACAGGGCGGCACGTTCTCTATCACCAACGGCGGTACTTTTGGTTCGAT
+GATGTCAACGCCAATCATTAACCCGCCGCAGTCGGCCATTCTTGGGATGCATGCCATCACGCCGCGCCCG
+GTCGCAGAAAACGGCCAGGTTGTTATTCGTCCCATGATGTACCTTGCTCTCAGCTATGACCATCGCATTA
+TCGATGGTCAGGAAGCCGTGCAGGCATTGGTGGCAATACGTGAGCTACTGGAATCACCGGAACAACTGTT
+GCTGGATCTTTAAGGAGGGCGCCGATGAGTACAATTTTTGATGTGGCAGTTATGGGGGGTGGGCCAGGTG
+GTTACGTAGCGGCACTGCGGGCTGCGCAGAATGGGCTTTCCGTAGTATGTATTGATGATGGTGTTAATGC
+ACAGGGCGAACCTTCGCCGGGCGGTACGTGTCTCAATGTCGGCTGTATTCCGTCAAAATCGTTGCTGCAA
+TCTTCCGAACTGTACGCGCAAGTGCAGCATGAGGCGAGCATTCATGGCGTTAATGTTGACGGCGTATCTT
+TCAATGCAGCTGCGATGATTCAACGTAAAGACGCCATAGTAAGCCGCCTGACAATGGGCATCGGTTTGCT
+GTTTAAGAAAAATAAAGTGAAGCACCTGTGCGGCCTCGCAACGTTAGAACATGCTCAGGATGAGATTTGG
+CAATTACGTGTAAACGATCAACAAATCCGCGCCCGTAATGTGGTGATTGCAACAGGTTCTCAGCCGCGTC
+AACTGCCTGGCGTTACCATTGATAATCAGCAAATTCTCGATAATCGCGGCGCCCTGGCGTTAACCGCTGT
+GCCGCCGCGTCTCGGTGTGATCGGCGCTGGCGTGATTGGCCTTGAACTGGGGTCTGTGTGGAATCGGGTC
+GGTTCAGACGTCACGTTGCTGGAGATGGCGCCAACGTTCTTGCCTGCACTGGAAGCTCGCCTGTCGAACG
+AAGTCCGTAAAGCAATGATTGCCAGTGGGATGAAAATGCAACTGGCAGTAGAGATTGAGGCTATTGAACA
+ACGGGATGACGGTGTGCATGTGCGCTGGCGGCAGGGTGAGAAGCGAGAAGAAAGCCGCTTCGATAAATTA
+ATTCTTGCCATTGGACGTGTACCGCGACTTTCTGGTGTCGATCTCGTGCAACTCGGTCTTGAAGCCGATA
+ACCGTGGCGGTATTGCCGTCGATAACTTATGCCGTACCGGGAAAGCCGGGCTGTGGGCAATTGGTGATGT
+CGTGCGAGGGCCGATGCTGGCGCATAAAGCGATGGCTGAAGGTGTGGTGGTTGCTGATCAAATTGCCGGA
+CTGGCGGTAGAGCCGATTAATTTTGCGCTGATTCCTTCGGTGATTTACACCCAACCGGAAGTTGCGTGGG
+TAGGGGAAAACGAGGCCTCACTGAAAGCCGCTGGCAGAGTCTTTAACAAAGGAAATTCTCTGTTTGCCGG
+TAACGGTCGCGCCTTAGCATTAGGCCAGGAAGGTGGGCGTTGCACGTTATACAGTGATAAACACACTGAC
+CGCGTACTTGGCGGAGCGATTGTTGGCCCGCAGGCATCGGAGCTGATTAATGAAATTGCGCTGGCGATGA
+CTTTTAGCGCCTCTGGCGAGGATATTGCCTGTGCGATCCATGCGCATCCGACATTAAGCGAAGTCATCCA
+CGAAGCAGCAATGGCCTTGAATAATAAAGCATTACACGGATAACACATACCACTGAGGGAATATATGAAT
+TTACATGAGTATCAGGCCAAATCGTTACTGGCTGGCATGGGGATGCCGTGTCCAAAAGAGATAGCCATCC
+AACAGATTTCGCAACTGGCAGATGCCTGGCAACATATTGCTTGCCCGAGTAAAGGCGCGGTACTTAAAGC
+GCAGGTACATGCTGGTGGGCGCGGTAAAGCTGGCGGCGTAAAAGTGCTTAAGCAGCTGCCGGAAGCACAG
+GCTTTTGTACAGCAAATGTTGGGATCGCAACTGGTGACTTATCAGACCGGGCCAGAAGGACAGTATGTCA
+GCAGTATTTTACTGTGCGAAAACATTTATCCGGTACGCCAGGAACTCTATTTTGGCATGGTGGTGGATCG
+TGAAAGCCAGCGGGTCACGTTTATTGTCAGCCCGGAAGGTGGTGTGGAAATTGAAAAAGTCGCCCATGAG
+ACACCGGAGAAAATCAGCAGTGTCAGCATTGATCCACTGACAGGCGTGCAGCCTTGCCATATCCGCGAAA
+TGTTTGCTGTTCTGCAACTGGAACACGGACTATTTGCTGCCTTTAGTCGCCTGGTTAATCAGGCGTGGAA
+AGCCTTTAACGAACTGGATTTCGCCCTGCTGGAAATTAACCCTCTGGTGTTGCGGGAAACGGGCGAATTT
+ATGTGTGCAGACGCGAAAGTATCGCTGGATGATAACGCGCTGTATCGTCACCCGGAACTCCAGGTGCTAC
+GTGATGAAACCCAGGAAGATCCACGCGAAAGCCAGGCAGCGAAGCTTGATCTTAATTATGTCTCGCTGGA
+CGGAAATATCGGCTGCATGGTCAATGGTGCAGGGCTGGCTATGGCAACCATGGACATCATCAAGCTATAC
+GGTGAACAACCCGCAAACTTCCTGGATGTTGGCGGTGGCGCAACCCAGGAGCGCGTCAGTGAAGCCTTTC
+GGCTGATTGTTTCCGACAGCAAAGTGAAAGCCATTCTGGTTAATATTTTTGGTGGGATTGTCCGTTGCGA
+CATGATCGCCAGAGCCATTATTCATGCTCTGAATGAGGCCCGTATCACCCTGCCTGTCGTGGTGCGTCTC
+TCCGGTAATAACGCTGCCGAAGGGCAGCGGTTACTGGCAGAAAGTGGCCTGACGGTGGAAGCCGTCGATT
+CTCTGGATGATGCCGCGAAACGCATCATTGCGTTACTGAATTAACAGGAGGTTAAGATGAGCGTTTTGAT
+CAACAAACACACGCGGGTACTGGTGCAGGGCATTACCGGCAAAAACGGCACATTTCATACAGAGCAGGCT
+ATTGCGTATGGCACGCAGATTGTGGGTGGAGTGACGCCAGGTAAGGGCGGGCAACGGCATCTGGATCGCC
+CGGTTTTTGATTCAATGAAAGAAGCGATGCGACAAACTGAGGCTGATGCCAGCGTGATTTATGTGCCTGC
+ACCGTTTGTGCTGGATTCTGTTGTTGAGGCTATTGAAGCTGGCGTCAAATTGGTTGTGGTGATCACTGAA
+GGTGTACCGACACTGGATATGGTGAAAGTTCGTCGGCTGCTTGACTGCCACCCGGATGTGCGGCTGATTG
+GGCCAAACTGCCCAGGAGTTATCACGCCGGGTGAGTGCAAAATCGGGATTATGCCTGGTGAAATCCACCG
+CCCAGGGCGTATTGGGATTGTTTCCCGCTCCGGTACATTAACCTACGAAGCTGTAGCGCAAACCACGGCG
+CTGGGACTTGGGCAATCCACCTGTATTGGTATTGGCGGTGATCCGGTTCCGGGGACTAACTTTATTGATG
+CGCTGCGTTTATTCGAAAATGATCCGCAAACAGACGCGGTAATTATGATCGGTGAAATTGGTGGTAATGC
+GGAAGAACGGGCCGCGGAATTTATTCGCCATGAAATGAATAAACCGGTCGTAGGTTATATTGCCGGTGTC
+ACTGCACCAAAAGGAAAACGCATGGGACACGCTGGAGCCATTATTTCTGGCGGTAGCGGCAGTGCGGAGG
+ATAAATTCCGGGCGTTCGATAAAGCAGGCATGGCATGGACACGAAATCCAGCATTACTTGGCGAAACGTT
+ATGGAATGTTATTAAGTAATCCATAAATGAATATCAAGGGAGCATATCGCTCCCTTTTTTTATCTGTGTG
+GTAAGAGAATCACCTTTTATTTACTGTGCGGAAAACCGCGCACAAAATAAAAAGAATAAATAATAAAATC
+ATTAAATAACAAAGCGTTATTAAAAAATTAAAGATGGCATAGCTCCTGCAATAGCCAGGCAGGTTTTTTA
+TTTTTCACAATGAGGTGAATATGTCATCAATATCACATGGCGCACCACAAAAGCGTCGAATTATCCCTAA
+TCCCGGCCTGTGGTTGGCGATCATTGCCGGAATTATTATTACTCTTCTGCCTCTGGGCGATACCTTGCCC
+GTCGCCGGACAAAATATGATCGCCATTCTGGTGTTTGCCATTATTGTCTGGATCAGCGAAGCGATGGATT
+ACACCGCCAGTGCAATTGTTATTTCCGCACTGATTATCTTTATGGTTGGTTTTGCCCCGGATATGAATCA
+CCCGGACACGATCCTTGGCACCGCGAAAGCGCTGAAAATGACTCTGTCGGGTTTTTCTAATTCTGCTCTG
+GCGCTGGTGGCAGCAGCAATGTTTATCGCGGCGGCAATGACCATTACCGGGCTGGATAAACGCATTGCGC
+TGTTTACTATGTCGAAAATAGGTGCCAGCAGCCGCAGCATTATTATCGGTGCCATTGTGGTGACCATCGT
+CCTGAGCCTGGTCGTACCCAGTGCCACTGCCCGTACGGCTTGCGTGGTGCCGATTATGATGGGGGTCATT
+GCGGCATTTAAGGTGGATAAACATTCACGTTTAGCGGCGTCAATGATGATTGTTATCGCCCAGGCGACCA
+GTATCTGGAACGTTGGTATTCAAACTTCGGCGGCGCAAAACCTGCTTTCTATCGGTTTTATCAATAAAAC
+TTTCGGCGCCGGGCATTCTGTCAGCTGGCTTGACTGGCTGTTAGCGGGCGCGCCCTGGAGCCTCACCATG
+TCGGCGATCCTCTATTTCCTCGCACGTAAATTGTTGCCGCCAGAAACGGAAGCTGTTGAAGGGGGGAGCG
+AGGCCATTAAAAAAGCACTTGCAGAGTTAGGGCCAACCACTGGTAAAGAAAAACGTTTGATCGGTATTTC
+GCTATTGTTACTGCTCTTTTGGTCTACTGGCGGAAAATTACACAGTATTGATACCACCTCTGTCACCCTT
+GCCGGACTGGCGATTATGTTGCTGCCAGGCATCGGTGTAATGAGCTGGAAAGAGGTCGAAAAACGTGTGC
+AGTGGGGCACGTTGCTTATGTTTGGTATTGGTATCAGCCTGGGGTCCACGCTGCTTGATACGCAGGCAGC
+TTCATGGATGGCGAACTATGTGGTGAAAGGTTTTGGTCTCGATGGCTTGCCATCATTAGCCATCTTCGCG
+ATTCTCGCCGCTTTCTTGATAATTATTCACCTGGGGTTTGCCAGTGCCACTGCGCTAACTGCCGCATTGC
+TGCCCATCCTGATTAGCCTGTTAAGCAGTCTGCCGCCAGAACTCGGCGTTAACCCGGTCGGCATGACCAT
+TCTGCTCGCCTTCAGTGTCAGTTTTGGCTTCATCCTGCCGATTAACGCGCCACAAAATATGGTGTGTATG
+GGTACGGATACCTTCACGCCACGCCAGTTTACCCGTGTGGGACTGTACCTGACGGTAATCGGCTACCTGT
+TGTTGCTACTGTTTGCCGCCACCTGGTGGAAAATTTTAGGTCTAATGTGAGGAAACCAACGATGTCATTA
+CAAATTACTGTTGAAAAAGTGCGTTGGTTAGCTGCCGGGCTGCTGGAACTTAATGGCTGTGATGCCGATA
+TCGCTCAGGATGTGGCGGAACATATGATTGAAGCGGAACGTTATGGCTTTGCCAGCCACGGCGTCACGCT
+GCTACCGAAATATCTGGAAAATATCGCTCGTGGCGATGTAACCGCGAATGCCCGCCCGGAATGCTTAACA
+AGTGAAGGTAATTTACAACGTTTTCATGCCCACAATGGCTTTGGTCAACACGCCGGAAAAGTGGCGGTAA
+ATGCTGCCATCGAACAAGCAAAACACCGCGGTTTTTGCCTGTTAACGTTGTGCCATGCGCATCATTTAGG
+GCGTATGGGGCATTACGGGCAAATGGTTGCTGATCAAGGCCTGGCGATGCTGGCCATGAGTAACGTCACC
+GGGCGTCCTGCACTGGTCGCCCCGTGGGGCGGTGCGGAACCGCGTATGACCACTAACCCTTTCTGCTTTG
+CCTGGCCGTTCAGTGATGGGCATCCGCCGATTCTGGTTGATTTTGCCACCAGTAGCATGGCGCTAAATAA
+AGCACGGGTAATGTCGTCCACCGGGAAGCAGGCCGCGCCGGGACAATTGATTGATGCACAGGGGAATCCA
+AGCAATGATCCTGGGGTGTTATTCAGCAATCCTCCAGGGGCGTTACTGCCATTTGGTGAGCATAAAGGAT
+TTGGCCTGGCACTGATGATTGAAATGATGGCGGGGATCTTATCTGGTGGTGACACGATCGCCGAAGATCA
+TCAGACGGATGGATCTGCGCATAATCATCTTTTTGCGTTGATTATCGATCCTGATCAATTCACCGATCTG
+GCAGGGGAGAAAGGGCAGTTCTTTGCGGATTATCTGTTAGCTACGCAGCCTCAACCTGGCGGCAATCCGG
+TGATTTACCCCGGTATGCCAGAAGCTGCCAACCGGGAACGCAATGCGAAGATGATTACGATCCCGGTATC
+ATTCTGGTCCTGGGTAGTTGAACATTACGCCCGCAAAGGTATCGATTTGGGGTTACATCCTCAGGAATCA
+GCATTAGCTGGATGATTCTGGTCGATAAACTTGCGGTTGAATCTGATGTTTGTTGAGTTTGTCATATAAA
+GTCTTGCGCGGCAGCTGTAATAGCCGCGCTGTCAAACTGACCTGGCCTTCCGTTTGTCGCAGCATATCTT
+CGATTAACTTTTTCTCGAAAGCATCAATGCAGGCGGTAAGACCACTCTCTTCTTGCTGAGTCATTGGCAC
+TGGCTGGTGGTGGGTCAGTAAACCGAGAACAAAACGCTCTGCATTGTGTTTAAGTTCACGTACATTGCCA
+GGCCAACTTTGTGACTGCAACCAGGCCAGTAACATGGGAGAAATATCAGGCAGAGGACGATTATATTTTT
+GTGCCGCCTGACTGGCGAACCAGTAAAACAGTTCAGGGATATCTTCTCGTCGCTGGCGTAGAGGTGGAAT
+ATTCAGGCTAACCACATTCAGACGATAATAGAGATCGAGACGAAACAGATGTTCTTCGCTGCGACGCAGT
+AAATCTTCCTTGGTCGCTGCAATAACACGGCAATTCACCGGAATTAATTGATTGGCACCTAATCGTTCAA
+TGGTTCTTTCCTGCAATACACGTAGCAGTTTTACCTGCATTCCTGATGGCATTCCCTCTATTTCATCGAG
+AAATAACGTACCACCATTTGCATGTTCAATTTTTCCAATACGCTTTTTAACCGCACCGGTAAATGCGCCC
+GCCTCATGACCAAATATTTCGCTTTCAAACAACGTTTCTGGTAAGCCTGCACAGTTTAAGGCAACAAACT
+GCCCCTGACGGCGGGTACTCCAGTGATGCAGCATTCTGGCGACGACTTCTTTACCACAACCTGTTTCACC
+ATAAATAAGGACATCGGCACCGGTATCTGCGACATTAAGGATCATTTTACGCAGTTGTTGCATCTGCGGA
+CTACGACCAATCAGCACCGGGCCATTTTCCTGTTGCAGATTCGCCAGTAATTGCTGATTTTCTAAAACCA
+ATCGCCGTTTTTCTACCGCTCTGGCAATAATACTCAATAATTTATCTGAGCTACTTGGTTTCTCAATGAA
+ATCGAATGCACCATTACGCATGGCATCCACCGCCATTTCCACGTCACCGTGTCCGGTAATTAAAATAACC
+GGAATTTTGCTATCCATTTCGTTGATGTAACTGAGGAGCTCTAGTCCTGATATTCCAGGTAACCTGACAT
+CGGTCAGTATAATAATGTTGGCTTGACTTTGAATAAGGGAAATACTGTGTTCTGCATCGCAACAGGAAAT
+AACACGATAACCAGCCAGCGTGAGCGTTTGTTCACAGGCAAAACGTACATCGTCACTATCCTCAATATAA
+ACTATAGTAATTTCACTGGATTTATTATTCATGTTCTTCTCCCCATTCAGGCCAGGTTAATGTCATTACT
+GCGCCGCCTTCAGGATGATTACTGGCGTGGAGTGCGCCGTTCGAATTTCGGACAATTTCGCTGACTATTG
+CCAGTCCCAACCCCATTCCTCTACGTTTAGTGGTAAAAAATGGTTCAAATATGCGATCGACAACTTCAGG
+TGCAAAACCGCCACCGCTGTCTTTAATGGTAATAATAACTTTGTTATTTGCCTGGCGAATGGCGATATCC
+AGTCGTTTGTAAGAGCTACCTTCCATAGAATCTAAGGCGTTGCTAATTAAATTACTGAATATCTGTTCAA
+GACCGAGCTCATCGCAATTGACAAATAACGGCATGGATGGGGCTTTTATTCGTCGCTCAATGTTATTTTT
+CTCCATGCTGTGATTAAGTAACGCCACGGCGCTATACATCACTTTGATGACATCGGCAGAACCTTTAGGT
+ACGCGATGGCGCGAGGCAAATGCTTTAAGTTCGGAAATGAGCTGCGTCATCCGCTCAATCACTGAAATAA
+TGTGTTTCAGATTCTGTTCAACCTGCGGATACATCTCTTTTTTTAGCATAGTACGCGCGTTATCAGTAAG
+TGCGTGAATGGCGGCTAACGGTTGATTTTGTTCATGGGCAATTTCGGTTGCCATCTGTCCAAGCGCCGCC
+AGTTTGCTGGACTCTGCCAGTTCACTACGCGTAATTTGTAATACTTGTTCAGCCTGACTGCGCTCTTTTA
+TCTCCTGTATTAATTTTTGATTGATCAATTCCAGGGCAGATGTACGCTCTTTAACCTGTTTTTCTAATGT
+TTCATTCGCCAGTGTTAATAATTGTTGTGCATGAGATCGCATTCTCCAGTATTTAATAAATAACAAAAAC
+AGCAGGTAAATAATTAGTGTAATGACTAACGAAATAGCCCATGACCAGTACAGGTTATCTAAGGGGACCA
+TAATTGTCATTTTCCAGTTAAATTCTGGAATGGCTATTTGTTGCGTATAATATTGCGGGAATAAACAGAG
+TTGTTCTTTTTTATCTTTCAGGAAAGTAAAATTGCTCACGGTATAACAAGGATAATAATCCGCCGGTAAA
+AGATTGTCGAGACTATATTGACGGGTAGATTGTAGTTTTTGTTTTGCCTGAACAGGTAACGGTTGCAGTG
+TTCGCATTCGCCATGGCGATTTTGAACTTAAAAATATAATCCCATGTTCATCATTCACGATAATATTTTC
+AGGACCTTCGGCCCATGCTTTTTCAATTTCATTAAGACTTATTTTTACTACTACAACACCGACAATTTTT
+CCTTTATCTTTTATACTTGTAGAGAGGAAGAATCCCGGTGTATTCGTAGTGCTACCAATACCGTAAAAGC
+GTCCATTTAAGCCAGACATGGCGTGTTTATAATAGGGGCGATAGCTATAATTTTGCCCTACATAGCTGCC
+GGGGTCCTGCCAGTTGCTAGAAGCGATGGCCTTACCTTGGGTATCCAGAATAAATATTGCTGCGGTTTTG
+AGTTGAGTATTGAAATGTGCAATTCGTTGATTGAGTTCGCTGGACGTCATATCGTCAGGCGTAATTACCG
+CCTGACGGATGATATGGTCTGTTGAGAGCATATAGGGTAAAACATAAAATTGCTCGATGGTGGAATATAA
+TGTGGACTTATACATTTCAAGCCGCATTTTATCGGTACCGGACAAGGTATTAAAACGCAAGTGCAAAAAA
+GCGATTGAAACCGCGAGCATGATAAGAAAAAGTGAAATGCTTGTAATGTGAAATCGCCATTTGTTCTTAA
+ATATATAATTCCACGATATTTTCATTCATCATCCATTGAATGCATTTATATTTATCATCAGTATATTCCC
+TGAACAATGTTTGCGAGAACCAAAAGAGTGCCATTGTGTGAATGTGTAAGCAGAATAACCGTGGCAATGT
+GTGGTTTATCGCACAGGTATTCCAAATGTGATCATGCTCTTTTTATGTGACAAATCCGCAGATAATCCTT
+CCTTTCCCCCGCGGTTGGCGTTATGGTCAGATGGTTTTTTCAACAAACGCACAATAATAAGTTTCAACTT
+ACTGACTATTTAGGGAAAAATATGCGCAAGATCACACAGGCATTGAGTGCCGTTTGCTTATTGTTCGCTC
+TAAACAGTTCCGCTGTTGCCCTGGCCTCATCTCCTTCACCGCTTAATCCGGGTACTAACGTAGCCAAACT
+CGCTGAACAGGCGCCAATTCATTGGGTTTCGGTTGCACAAATTGAAAATAGCCTCGCAGGACGTCCGCCA
+ATGGCGGTGGGGTTTGATATCGATGATACGGTACTTTTTTCCAGTCCGGGTTTCTGGCGCGGCAAAAAAA
+CCTTCTCGCCAGAAAGCGAAGATTATCTGAAAAATCCTGTGTTCTGGGAAAAAATGAACAATGGCTGGGA
+TGAATTCAGCATTCCAAAAGAGGTCGCTCGCCAGCTGATTGATATGCATGTACGCCGCGGTGACGCGATC
+TTCTTTGTGACTGGTCGTAGCCCGACCAAAACAGAAACGGTTTCAAAAACGCTGGCGGATAATTTTCATA
+TTCCTGCCACCAACATGAATCCGGTGATCTTTGCGGGCGATAAACCAGGGCAAAATACAAAATCGCAATG
+GCTGCAGGATAAAAATATCCGAATTTTTTATGGTGATTCCGATAACGATATTACCGCCGCACGCGATGTC
+GGCGCTCGTGGTATCCGCATTCTGCGCGCCTCCAACTCTACCTACAAACCCTTGCCACAAGCGGGTGCGT
+TTGGTGAAGAGGTGATCGTCAATTCAGAATACTGACAGAGCGGGAGAGCGTAATACTCTCCCGAATGCTG
+TTTTTTTAATCACACCTTTATCCTTTCGCTGTCTTGCTGCAAACTGATTAAGAGAGTTTTATCAAGGAGC
+AGCACATGTGGTATCAAAAGACGCTCACGCTTAGCGCCAAATCTCGTGGGTTTCATCTGGTAACGGATGA
+AATTCTGAATCAGCTGGCTGATATGCCGCGCGTTAACATCGGCTTACTGCATCTGTTGCTGCAACATACC
+TCCGCCTCTCTGACACTTAATGAGAACTGCGATCCCACCGTACGCCACGACATGGAGCGTTTTTTCCTCC
+GCGCCGTTCCCGATAACGGAAATTATGAGCATGACTATGAGGGAGCAGACGATATGCCTTCTCATATCAA
+ATCCTCAATGCTGGGAACATCGCTTGTATTGCCGGTGCATAAAGGGCGTATTCAGACCGGTACCTGGCAA
+GGCATCTGGCTGGGGGAACATCGCATCCACGGCGGATCGCGTCGCATCATCGCGACACTTCAAGGGGAGT
+AAAAAATGACCATTTCGGAGTTGCTACAATATTGCATGGCAAAACCAGGCGCAGAACAGAGCGTGCATAA
+CGACTGGAAAGCGACGCAGATCAAAGTGGAAGATGTGCTGTTTGCGATGGTGAAAGAAGTAGAAAATCGC
+CCAGCTGTTTCGCTGAAAACCAGCCCGGAGCTGGCGGAGCTGCTACGTCAGCAGCACAGCGATGTGCGTC
+CAAGCCGCCATCTGAATAAAGCGCACTGGAGCACCGTGTATCTCGACGGTTCGCTGCCGGATTCGCAAAT
+CTATTATCTGGTGGATGCGTCTTATCAGCAGGCGGTGAATTTGCTGCCGGAAGAAAAACGTAAATTGCTG
+GTGCAACTCTGAAAGAAGAAGGCCGCTCTGAAAGCGGCCTTAACGATTACAGCATCGGCTTGAGGAAGCG
+CGCCGTATGTGAAGCTTCGCACTCTGCGACGGTTTCTGGCGTACCGGAGACGAGGATTTCGCCGCCCCCA
+CTGCCGCCTTCCGGTCCCAGGTCGACAATCCAGTCAGCGGTTTTGATCACGTCGAGATTGTGCTCAATTA
+CCACAATGGTATTGCCCTGATCGCGCAGTTTATGCAGTACGTCGAGCAGTTGCTGAATATCGGCGAAGTG
+CAGACCGGTGGTCGGCTCGTCGAGAATATACAGCGTCTGCCCGGTGCCGCGTTTTGACAGCTCACGCGCC
+AGCTTCACGCGCTGGGCTTCACCACCAGAAAGTGTGGTTGCGGATTGCCCGAGGCGAATGTACGTCAGGC
+CAACGTCCATCAACGTTTGCAGCTTACGCGCCAGAGCTGGCACCGCATCAAAGAACTCACGCGCCTCTTC
+GATGGTCATATCCAGCACTTCGTGGATGGTTTTGCCTTTGTACTTAATCTCCAGCGTTTCACGGTTATAG
+CGTTTGCCTTTGCACTGGTCGCACGGTACGTAAATGTCCGGCAGGAAGTGCATCTCCACTTTGATCACGC
+CGTCGCCCTGACAGGCTTCGCAACGTCCGCCACGGACGTTAAAGCTGAAACGTCCTGGCGTATAGCCGCG
+CGCACGGGATTCCGGTACGCCCGCAAACAGTTCGCGCACAGGTGTAAACACGCCGGTATAGGTCGCCGGG
+TTAGAACGCGGAGTACGACCAATTGGGCTTTGGTCGATATCGATCACTTTATCGAAATGCTCCAGTCCCT
+GAATATCGCGATACGGTGCCGGTTCGGCGATAGTCGCACCATTCAACTGGCGTTGGGCAATCGGGAACAG
+TGTGTCGTTAATCAGCGTCGATTTACCGGAACCTGAAACCCCTGTGATGCAGGTAAACAGACCTACCGGC
+AGCGTCAGCGTCACGTCTTTCAGGTTGTTGCCGCGTGCGCCCGTCAGTTTCAGCACTTTTTCCGGATTTG
+CCGGAACGCGTTTCTTCGGCACTTCAATCTTGCGTTTACCGCTCATGTACTGCCCGGTCAACGACTCTGG
+CACCGCCATTATTGCTTCCAGCGGACCTTCCGCGACGACTTCACCGCCGTGTACACCCGCACCCGGGCCG
+ATATCGATCACATGATCAGCGGCGCGAATCGCGTCTTCGTCGTGCTCCACCACAATCACGGTATTACCGA
+GATCGCGCAGATGGATAAGCGTACCCAGCAGGCGCTCGTTATCGCGCTGGTGCAGGCCGATAGACGGCTC
+ATCCAGCACGTACATCACGCCAACCAGGCCTGCACCAATCTGGCTCGCCAGACGAATACGCTGGGCTTCA
+CCGCCGGAAAGTGTCTCTGCCGAGCGGGAAAGTGTCAGGTAATTCAGGCCGACGTTAACGAGGAATTTCA
+GACGATCGCCGATCTCTTTAAGGATTTTTTCTGCAATCTTCGCCCGCTGACCTGCGAGTTTGAGATTGTT
+GAAGAATTCCATCGCATGACCGATGCTCATGTCGGAGATGGCGGGCAGCGGCGTATTCTCGACATACACG
+TGGCGTGCTTCCCGACGCAGACGGGTTCCTTCGCAGCTGGCGCACGGACGATTGCTGATAAACTTGGCTA
+ATTCTTCACGTACCGCACTGGATTCCGTCTCTTTATAACGGCGCTCCATATTGTGCAGCACGCCTTCGAA
+CGGATGACGACGAATGGAGGTATCGCCACGATCGTTCATGTATTTGAATTCAATATTTTCTTTGCCAGAA
+CCGTACAACACCACTTTATGCACGTTCGTGCTCAGGCTGCCCCACGGCGCTTCGACGTCGAACTTATAGT
+GATCTGCCAGCGATTTCAGCATCTGGAAATAATAGAAGTTGCGGCGATCCCAGCCACGGATCGCACCGCC
+AGCCAGCGACAATTCCGGATTCTGGATCACGCGGTCAGGATCGAAATATTGCTGTACGCCAAGACCGTCA
+CAGGTCGGGCAGGCTCCCGCCGGGTTGTTAAATGAAAACAGGCGAGGTTCCAGCTCGCGCATACTGTAAC
+CGCAAATCGGGCAGGCAAAGTTGGCGGAGAACAGCAGCTCTTCCGCTTTCGGGTCGTCCATATCCGCCAC
+TACCGCGGTACCACCGGAAAGCTCCAGCGCGGTTTCAAACGACTCGGCAAGACGTTGGGTAAGATCGTCA
+CGCACTTTGAAGCGATCAACCACCACTTCAATGGTATGTTTCTTTTGCAATTCCAGTTTCGGCGGATCGG
+AAAGATCGCAGACTTCGCCATCAATACGAGCACGGATGTAACCCTGGCTTGCCAGGTTCTCCAGCGTTTT
+GGTGTGTTCGCCTTTGCGCTCTTTAATGATTGGCGCGAGCAGCATCAGACGCTTGCCTTCCGGCTGGGAC
+AACACGTTATCCACCATCTGACTGACGGTTTGCGCCGCCAGCGGTACATCGTGGTCCGGGCAGCGTGGCT
+CACCAACGCGAGCGTACAGCAGACGCAAATAGTCGTGGATTTCGGTGATTGTCCCCACCGTAGAGCGCGG
+GTTATGAGACGTCGATTTCTGCTCAATTGAGATGGCAGGAGAAAGCCCCTCAATATGGTCGACGTCCGGC
+TTTTCCATCAGTGACAGAAACTGCCGCGCGTAGGCGGAAAGGGATTCAACGTAACGGCGCTGCCCTTCGG
+CATATAAGGTGTCGAAAGCGAGCGAGGATTTGCCAGAACCCGAAAGCCCGGTCACGACAATAAGCTTGTC
+GCGGGGGATAACGAGGTTGATGTTTTTGAGATTATGGGTGCGGGCGCCCCGAACTTCGATCTTATCCATT
+CACCTTTCCCGGATTAAACGCTTTTTTGCCCGGTGGCATGGTGCTACCGGCGATCACAAACGGTTAATTA
+TGACACAAATTGACCTGAATGAATATACAGTATTGGAATGCATTACCCGGAGTGTTGTGTAACAATGTCT
+GGCCAGGTTTGTTTCCCGGAACCGAGGTCACAACATAGTAAAAGCGCTATTGGTAATGGTACAATCGCGC
+GTTTACACTTATTCAGAACGATTTTTTTTCAGGAGACACGAACATGGCCAGCAGAGGCGTAAACAAGGTT
+ATTCTCGTTGGTAATCTGGGTCAGGACCCGGAAGTACGCTACATGCCAAATGGTGGCGCAGTTGCCAACA
+TTACGCTGGCTACTTCCGAATCCTGGCGTGATAAAGCGACCGGCGAGATGAAAGAGCAGACTGAATGGCA
+CCGCGTTGTGCTGTTCGGCAAACTGGCAGAAGTGGCCAGCGAATATCTGCGTAAAGGTTCTCAGGTTTAT
+ATCGAAGGCCAGCTGCGTACCCGCAAATGGACCGATCAATCCGGTCAGGATCGCTATACCACAGAAGTCG
+TGGTGAACGTTGGCGGCACCATGCAGATGTTGGGTGGTCGTCAGGGTGGTGGCGCTCCTGCAGGTGGCAA
+TATCGGTGGTGGTCAGCCGCAGGGCGGTTGGGGTCAGCCTCAGCAGCCGCAGGGTGGCAATCAGTTCAGC
+GGCGGCGCGCAGTCTCGCCCGCAGCAGTCCGCTCCGGCAGCGCCGTCTAACGAGCCGCCGATGGACTTTG
+ATGACGATATTCCGTTCTGATTTGTCTTTAAAACAATAGGTTATATTGTTTTAAGGTGGATGATTAAAGC
+ATCTGCCAGCCATAAAAAAGAAGCCTCCGTTATGGAGGCTTCTACATATCAAGTCAAAATCATTGGCCAT
+TGTGGCGGTGCCTGATTCATCTCTTCTATCATCACCGACTCGATGTTGTGCCAGATGGCGGTGATATCCG
+CCATTGTGATGCCAAGCAACCCCATTGCGAACCAGCAGGCGGAAACTACGCCCAGACCGCTGCTGATCAC
+TGCAAGCCCGACATAATCAGCCCGACGAAAACGGATGTTGAGCGTGCTAGCCAGAAACATCATTACGGCA
+CTAAGAAGTTGCCAGCGAAGAAGAACCACGCCAGTGGTGAGGGTAGCCATCAAACAATTCCTCGGAAAAG
+AGCTGATGCCCTGGACAGCGCGGCGTTGTTCACGGGAGGCGTGATACACTCTGGCTATCGCGGGGCTTGC
+AGAACACAAAAATGAAACACTCTGTTTGTTTCATGAATTTTGTGAACTATATCACAATTGGTTGTTTGTT
+AGCCAGATTAGGCCGTGACTTTTATTGCCGTACAGATTATGTGTTTTTTCAGCGGCATTAAGGGTATATC
+TTCCCGCCGCCTCTGCATTCCTGAAGGTGATTAATTTTTAAGATCAATGAATTATCGTCATCCTGGTGAC
+GATTAAAAAGGTCTCAATTTTATATCAGGCAAAAGTGCTATTTATACCGTAAGATTTATCTAAAGACGTC
+GGTAGCCAGGGTTTCACCTTGCAATAACCGGGTATAAACAGGCAGGGAATTGATAGCAATGAGTCATCGT
+GCACGACACCAATTACTGGCGTTTCCGGGCATTATCTTTTTAGTTCTCTTTCCCATCATTCTGTCGCTAT
+GGATTGCCTTCTTTTGGGCAAAATCAGAAGTGAATAATCAGCTCCGAACCTTTGCTCAGCTGGCGTTGGA
+TAAATCTGAGCTGGTCATTCGTCAGGCAGATTTAGTGAGCGATGCAGCTGAACGCTATCAGGGGCAAGTT
+TGCACTCCAGCCCATCAAAAGCGAATGTTGAATATTATTCGTGGCTATCTTTATATTAATGAATTGATTT
+ATGCTCGTGATAACCATTTTTTATGCTCATCGCTGATAGCGTCTGTAAATGGCTATACGATTGCACCGGC
+CGATTATAAGCGTGAACCTAACGTTTCTATCTATTATTACCGTGATACGCCTTTTTTCTCTGGCTATAAA
+ATGACCTACATGCAGCGGGGAAATTATGTGGCGGTTATCAACCCTCTCTTCTGGAGTGAAGTGATGTCTG
+ATGATCCGACATTGCAATGGGGTGTGTATGATACGGTGACGAAAACCTTTTTCTCGTTAAGCAACGAGGC
+CTCGGCAGCAACGTTTTCTCCGCTGATTCATTTGAATGATTTAACCGTACAACGAAATGGCTATTTATAT
+GCGACAGTTTATTCGACAAAACGCCCAATTGCAGCCATTGTTGCGACTTCATATCAACGTCTTATAACTC
+ATTTTTATAATCATCTTATTTTTGCGTTGCCCGCCGGTATTTTGGGGAGTCTTGTTCTGCTATTACTCTG
+GCTACGTATTCGACAAAACTATTTGTCTCCCAAACGCAAATTGCAACGCGCCCTCGAAAAACATCAACTT
+TGCCTTTATTACCAGCCAATAATCGATATCAAAACAGAAAAATGTATCGGCGCTGAAGCGTTGTTACGTT
+GGCCTGGTGAGCAGGGGCAAGTAATGAATCCGGCAGAGTTTATTCCGCTGGCAGAAAAGGAGGGGATGAT
+CGAACAGGTAACTGATTATGTTATTGATAATGTCTTCCGTGATTTGGGCGCGTATCTGGCAACACATACC
+GATCGCTATGTTTCTATTAACCTGTCAGCCTCCGATTTTCATACCTCACGGTTGATAGCGCGAACCAATC
+AGAAAACAGAGCAACATGCGGTGCGCCCGCAGCAAATTAAATTTGAAGTGACTGAACATGCATTTCTTGA
+TGTCGACAAAATGACGCCGATTATTCTGGCTTTCCGCAAGGCCGGTTACGAAGTGGCAATTGATGATTTT
+GGTATTGGCTACTCTAACTTGCATAACCTTAAATCATTGAATGTCGATATTTTGAAAATCGATAAATCGT
+TTGTTGAGACGCTGACCACCCACAAAACCAGTCATTTGATTGTGGAACACATCATCGAGCTGGCGCACAG
+CCTGGGGTTAAAAACGATCGCTGAAGGTGTCGAAACTGAGGCGCAGGTTAACTGGCTGCGCAAACGCGGC
+GTGCGCTATTGCCAGGGATGGTTCTTCGCGAAGGCGATGCCGCCGCAGGTGTTTATGCAATGGATGGAGC
+AATTACCCGCGCGGGAGTTAACGCGCGGGCAATAAAACTACAGGCGGTGGCGATAATCGCTGGGAGTGCG
+ATCAAACTGCCGACGGAAAACGCGGGAGAAGGTCTGCTGAGAGACATAACCCAGGTCCATTGCGATATCA
+AAAATCGGACGCTCGGTGGTGCGCAACTCAACGGCGGCCAGTAACAGACGGCGCTGGCGAATGTAATCGC
+CAAGCGTCTGATGCGTCACCGTGCGGAACATCCGTTGCAAGTACCACTTTGAATAGCCAGATTTTTTTGC
+GACGACATCAATGTTAAGCGGCTGGTCAATATGCTCGTCAATCCATGCGATAAGATCCTGAATAATTTTC
+TGATGGGACATAAATCTGCCTCTTTTCAGTGTTCAGTTCGTTAATTCATCTGTTGGGGAGTATAATTCCT
+CAAGTTAACTTGAGGTAAAGCGATTTATGGAAAAGAAATTACCCCGCATTAAAGCGCTGCTAACCCCCGG
+CGAAGTGGCGAAACGCAGCGGTGTGGCGGTATCGGCGCTGCATTTCTATGAAAGCAAAGGGTTGATTACC
+AGTATCCGTAATAGCGGCAATCAGCGGCGATATAAACGTGATGTGTTGCGATATGTCGCAATTATCAAAA
+TTGCTCAGCGTATTGGCATTCCGCTCGCAACCATTCGTGAAGCGTTTGGCGTGTTGCCAGAAGGGCATAC
+GTTAAGTGCGAAAGAGTGGAAACAGCTTTCGTCCCAATGGCGAGAAGAGTTGGATCGGCGCATTCATACC
+TTAGTGGCGCTGCGTGACGAACTGGATGGATGTATTGGTTGTGGCTGCCTTTCGCGCAGTGATTGCCCGT
+TGCGTAACCCGGGCGACCGATTAGGAGAAGAAGGTACCGGCGCACGCTTACTGGAAGATGAACAAAACTA
+AAGCGCCACAAGGGCGCTTTAGTTTGTTTTCCGGTCTTTGTCTTTCTCTCTATCCCGCTGGTACACAGGA
+GGGTTTCCCCCGACGTCAACACACCTCATTCGAGCACGTGGTGGAGGTTCCGGTTGGTGTTGATGCTTTA
+ATTGTATGTTACCGGCGTTTCTTCGCCAGTGTAAAAGTACACTTTTTAGCCGCAATATTTTTGTCATCTC
+AGACGATTTTTTATCGCAATCCTGAACGGTATACGGCTCGATAACGCTGCAATCTTGCGCATCGACGATA
+ACGTTTGCGCATCAATTGCCTGGTTTTTCATCGTCAAGACAATAAAAGAGAAAAAAGCAGCAAACTTCGG
+TTGAAAAAGCCGCTATGATCGCCGGATAATCGTTTGCTTTTTTTACCACCCGTTTTGTATGCGCGGAGCT
+AAACGTTTGCTTTTTTTGCGACGCAGCAAATTGTCGCAAACCTGGAGCAGGAAGATAACGTTTCGCTGGC
+AGGGGATTGTCCGCCACGCATCTTGACGAAAATTAAACTCTCAGGGGATGTTTTCTTATGTCTACGCCAT
+CAGCGCGTACCGGCGGTTCACTCGACGCCTGGTTTAAAATTTCACAACGTGGAAGCACTGTCCGTCAGGA
+AGTGGTTGCCGGGTTAACAACGTTTCTGGCGATGGTCTACTCAGTTATCGTCGTTCCAGGCATGTTGGGT
+AAAGCGGGCTTCCCGCCTGCGGCAGTTTTCGTTGCAACCTGTCTGGTTGCCGGACTCGGTTCTATCGTGA
+TGGGTCTGTGGGCTAATCTGCCGTTGGCGATTGGTTGCGCCATCTCTCTGACGGCGTTTACCGCATTCAG
+TTTGGTGCTGGGGCAACATATTAGCGTACCTGTCGCGCTGGGTGCCGTGTTCCTGATGGGTGTGTTGTTT
+ACGGTAATTTCTGCCACGGGTATCCGTAGCTGGATTTTGCGCAACTTGCCGCACGGTGTGGCGCACGGCA
+CGGGGATTGGTATCGGTCTGTTCCTGCTGCTGATTGCTGCTAATGGTGTCGGTCTGGTGATTAAAAACCC
+GCTTGATGGTCTGCCCGTTGCGCTGGGTGATTTCGCGACCTTCCCGGTGATTATGTCACTGGTAGGTCTG
+GCGGTGATCATCGGCCTGGAAAAACTGAAAGTCCCTGGTGGCATTCTGCTGACCATTATCGGTATCTCAA
+TTGTCGGTTTGATCTTCGATCCTAACGTCCATTTCTCCGGCGTTTTCGCCATGCCTTCATTGAGCGATGA
+AAACGGCAATTCACTGATTGGCAGCCTGGACATTATGGGCGCGCTGAATCCTGTAGTCCTGCCAAGCGTT
+CTGGCGCTGGTGATGACGGCAGTATTTGATGCCACCGGAACTATCCGTGCCGTCGCCGGTCAGGCGAACC
+TGCTGGATAAAGATGGGCAGATCATCGACGGCGGGAAAGCACTGACCACCGACTCCATGAGCAGCGTTTT
+TTCTGGCCTGGTGGGTGCAGCTCCGGCAGCGGTATACATCGAGTCTGCGGCGGGTACGGCGGCGGGCGGT
+AAAACCGGTTTGACGGCTATCACCGTTGGCGTGCTGTTCCTGCTGATTCTGTTCCTCTCTCCGCTCTCTT
+ACCTCGTTCCGGGGTATGCAACGGCTCCGGCGCTGATGTACGTTGGCCTGCTGATGCTGAGCAACGTGGC
+GAAAATCGACTTTGCTGATTTTGTTGATGCGATGGCGGGTCTGGTTACGGCGGTATTCATCGTGCTGACC
+TGTAACATCGTAACAGGCATCATGATCGGCTTCGCGACTCTGGTGATTGGTCGTCTGGTTTCCGGCGAAT
+GGCGCAAGTTGAACATCGGTACGGTCGTTATTGCCGTGGCGCTGGTGACCTTCTATGCGGGTGGCTGGGC
+TATCTAATCTTACATAGGATTCTGAAAACGGGTGGCAATGGCTGCCCGTTTTTATTTTCTCCGCACATTG
+TGTGAGCTTTTGCGATATTCTGAAAAAATGAGAATTCAGGCATAACGCCTTTCTCAGATCATAAAAAACA
+TCGCAAACAGGGAACGCATGGAAATCTTCTTCACCATACTGATAATGACCCTCGTGGTCTCGCTGTCCGG
+GGTGGTCACTCGTGTCATGCCCTTTCAGATCCCGCTTCCGCTTATGCAAATCGCCATCGGTGCGCTACTG
+GCGTGGCCGACGTTTGGTTTGCATGTGGAGTTTGATCCTGAACTCTTTTTAGTCTTGTTTATCCCGCCGT
+TGCTGTTCGCTGATGGCTGGAAAACGCCGACCCGTGAATTTCTCGAACATGGGCGAGAGATTTTCGGCCT
+CGCGCTGGCGCTGGTGGTGGTCACCGTGGTCGGCATTGGCTTCCTTATTTACTGGGTGGTGCCGGGCATT
+CCGCTGATCCCCGCCTTTGCGCTGGCTGCGGTGCTTTCTCCGACCGATGCTGTAGCGCTCTCCGGGATTG
+TTGGCGAGGGGCGCATCCCGAAAAAAATCATGGGCATTTTGCAGGGCGAAGCGTTGATGAATGACGCCTC
+CGGCCTGGTGTCGTTGAAGTTTGCCGTGGCAGTGGCGATGGGGACAATGATCTTCACCGTCGGCGGTGCG
+ACGGTCGAATTTATGAAAGTGGCAATAGGCGGTATTCTCGCCGGTTTTGTGGTGAGCTGGCTGTATGGTC
+GCTCGCTGCGATTCCTCAGCCGCTGGGGCGGTGATGAACCCGCGACGCAGATCGTTCTGCTGTTCTTGCT
+GCCATTCGCTTCTTATCTGATTGCGGAACATATTGGCGTTTCCGGCATCCTCGCTGCGGTTGCCGCCGGG
+ATGACCATCACCCGCTCCGGTGTGATGCGCCGTGCGCCGCTGGCAATGCGCCTGCGCGCAAACAGCACCT
+GGGCGATGCTGGAATTTGTCTTTAACGGCATGGTGTTCCTGCTGTTAGGTCTGCAGCTGCCGGGTATTCT
+GGAGACGTCGCTGATGGCGGCAGAAATCGACCCTAACGTCGAAATCTGGATGCTGTTTACCGATATTATT
+CTGATATATGCGGCGCTGATGCTGGTCCGTTTCGGCTGGCTGTGGACGATGAAAAAGTTCAGCAACCGCT
+TCCTGAAGAAGAAACCGATGGAGTTTGGTTCGTGGACTACACGAGAAATCCTGATCGCGTCTTTCGCCGG
+GGTGCGTGGGGCGATCACTCTGGCCGGTGTGCTCTCTATCCCGCTTCTCTTGCCGGATGGTAACGTCTTC
+CCTGCGCGCTATGAGTTGGTGTTCCTGGCGGCTGGCGTCATTCTCTTCTCGTTGTTTGTCGGCGTGGTGA
+TGTTGCCTATTCTGCTACAACACATAGAAGTCGCGGACCATTCGCAACAATTGAAAGAGGAACGTATTGC
+ACGAGCGGCAACGGCAGAAGTGGCGATTGTGGCGATCCAGAAAATGGAGGAGCGTTTGGCGGCGGATACC
+GAAGAGAATATCGATAACCAGCTGCTCACAGAGGTTAGTTCTCGCGTCATTGGTAACCTGCGTCGTCGCG
+CCGATGGACGTAATGATGTAGAAAGTTCAATCCTGGAAGAGAACCTGGAGCGTCGCTTCCGTCTGGCGGC
+ATTGCGTTCTGAACGTGCTGAACTGTACCACCTGCGCGCCACGCGGGAGATCAGTAACGAAACGCTGCAA
+AAATTACTGCACGATCTCGATTTGCTTGAAGCGTTGCTGATTGAGGAAAATCAGTAATCTGCATGGTTGG
+CGGGCGAGCCCGCCAACCCGACTTACTCTGGCGTTAACCAGTATCCTTCACAACAGCTCAGCCACGCGTG
+GGCAGAGTGGGAAAGGTAAACGCCCTCACGCCAAATCATTCCTAATTTCCAGCTTAGTTCGCTTTCCAGC
+GGTAGCCATTTTAAGGTGTTTTTATCTAATCGCTGGCAAATGGGTTCCGGCAATATGGCTATTCCGACAC
+CGGCCTGAACCATCGCGGCGAGAAAATCCCATTGCCCGCTGCGAACTGCAATTCTCGGCTTAACGCCATG
+TTCATCGAATAACTTCATCAATTGCTTACTTAAGGCAAAATCTTCGTTATAGATAAGTAGAGGATGTTCC
+GCCAATGTCTCCGGTGAGACGGCATCACATTCAAGCCATTTACCTGAATGTGGCGTCAGTACACATAGTG
+GATGACTAAACAGCGATAACGTTGTCAGGCCGCTTTCTTCTACTGGCAGGGCAACGCTGGCGAAAAAGGC
+CAATCGGCCCGGCCATCAACATCCCAACCATCGGCGGGATTCCCAGCCGCAAAACGCCGGTTTTAAGCTG
+ATTGATATCGCTAAGCTCAGCTTCCAGTTGCCGAAACTCAGCCAGTAAAGCCAGCCCGCGCTCAAATACG
+ACGCGACCAGTATCAGTGAGAAGCAGCCGACGACCATCGCGGATCAACAATATACAGTTCAGCTCATCTT
+CGAGATTCTTCAGCATCTTGCTGATAGTTGGTTGGGTGACAAACAACTTCTCCGCTGCGCGGGTGAAGCT
+TTGCTGGCGCACGACTTCGACAAAATAACGCAGCGTTCTGATATCCATAACTATTCCCTTTGACTATACC
+TGCAATGATTTTAATTCATTTCAGTCAGGGGCGAGCGCTCTCTATACTTACCATTCTGTTTTATTTTCAG
+GATATCCTCTCATGCCCGTGGCGCTTCGCCGCATTACCCCTGCCGTAGTGCAATCTATCCAGGTATTTTT
+TCAGGTTGTGCTGTATGCAGGTTTATTTATTTTTGCGCAGTATCTCGTCTCCTGGCTGCATTTGCCGCTG
+CCTGCCAACCTGGTGGGGATGATCCTGATGCTGGCGCTGATTGTTTGTCGCATTCTTCCTCTGCAATGGG
+TTCGAGCCGGGGCGCGTTGGCTATTGGCCGAAATGTTGCTGTTTTTTGTCCCTGCCGTGGTGGCTGTGGT
+GAACTATGCACAACTATTACTGGTGGATGGCTGGCGTATTTTTGCTGTGATCGCGCTGAGTACGGTGATG
+GTGCTGGGCACGACTGCCTGGGTAGTGGAAAAAGTCTATCGCTATGAAATGCGCAGGTTAAACCGTGGCT
+AATTTTCAGCTAAGTATGCTCTGTCTGGCAATTACGCTAGTTATCTATTTTCTTAACAAACGCCTTTATC
+GCCGCTTTCGTAAATTGCCATTGATGCCTCTGGTGCTGACGCCTACGCTACTGGTTATGCTGCTGGTTTT
+TGGCAATATTTCCTGGCAAAACTATATTGGCGAAGCGCACTGGTTACTATGGCTATTAGGTCCGGCCACC
+ATCGCCTTTGCGGTACCAGTGTATGACAATCGGGCGATCATTAAGCGTCACTGGATGTCGTTGACGGCAG
+GCGTACTGACGGCAACGGTGGTGGCAGTGACCAGCTCAGTGTGGCTGGCGCGATTGTTTACCCTGCCAGA
+TGAGATCCAGCGTAGCCTGGCGGTGCGTTCGGTCACTACGCCATTTGCTTTGGCAGCGAGCCAGTCGCTC
+GGCGGACAGCCTGATCTGGTGGCGCTGTTTGTGGTGGTCACCGGTGTGTTTGGCATGGCGATTGGCGACG
+TGTTGTTTTTACGTCTCTCTATTCGCGAAGGGATGGCGAAAGGTGCTGGATTCGGCGCGGCATCTCATGG
+TGCCGGGACTGCGCGGTCGTATGAACTGGGTCAACAAGAAGGCGTAGTTGCAAGCCTGGTCATGATGCTT
+TCAGGTGTATTGATGGTATTGGTTTCGCCGCTGGTGGCCAGGATGATGTTCTGAAGAAATTCCCCGATCA
+AGCGACCGGGGAAGGGGAGAGATTAATGCGCGCGGCCCTGCTCAACGCCAAAGCCAGTCTGGGAGCGGAT
+AAACTGCGCACGGAACAGTTCACGCTCGCGCGCACCTTCCGCTGAATTATCCGTTGCCGAGAAGAACCAG
+ATACCGAGGAATGCCACGCTGATAGAGAACAGCGCCGGGTATTCATACGGGAAGATGGCTTTTTCGTGAC
+CGAGGATCTGTACCCAAATCGTCGGACCGAGGATCATCAGCACCACCGCAGTAATCAGTCCTAACCAGCC
+GCCCAGCATTGCGCCACGGGTAGTCAGTTTCGACCAGTACATGGAAAGCAGAATGATCGGGAAGTTACAG
+CTCGCCGCGATGGCAAACGCCAGCCCCACCATAAAGGCGATGTTCTGATTCTCAAACAGCACGCCGAGGA
+TAATGGCAATCACACCGAGGATCAGTACGGTGATTTTCGATACCCGCAGCTCTTCACGTTCGGTCGCACC
+TTTTTTGAAGACGTTAGCGTACAGGTCGTGAGACACCGCCGATGCGCCCGCCAGCGTCAGACCCGCAACC
+ACCGCAAGAATGGTGGCGAAAGCAACCGCTGAAATAAAGCCGAGGAACAGGTTGCCGCCCACCGCATTGG
+CCAGGTGAACTGCTGCCATGTTGTTACCACCAATCAGATGGCCCGCCGCGTCTTTATATTCCGGATTCGC
+ACCGACCAGCATGATCGCGCCAAAGCCGATAATAAAGGTCAGGATGTAGAAGTAGCCCATAAATCCGGTG
+GCGTAGAACACGCTCTTACGTGCTTCGCGGGCATCGCTGACCGTAAAGAAGCGCATCAGAATATGCGGCA
+AGCCCGCCGTACCAAACATCAGTCCTAGCCCCAAAGAGAGCGCGGAGATAGGATCTTTCACCAGCCCGCC
+CGGCTTCATGATGTCGACACCTTTCGGGTGTACCGCCATCGCTTCGCTGAACAGATTGTTGAAGCTAAAG
+CCGACGTGTTTCATCACCATAAAGGCCATAAAGCTGGCACCGAACAGCAACAGCACGGCTTTGATAATCT
+GTACCCAGGTGGTCGCCAGCATGCCGCCGAACAGGACGTACATCATCATCAGCACGCCGACCAGCACTAC
+CGCAATGTGATAGTTAAGGCCAAACAGCAGCTCGATCAGTTTACCTGCGCCCACCATCTGGGCGATAAGG
+TAAAGCGCCACCACCACCAGAGAACCACAGGCCGAAAGAATACGAATCGGCCCCTGTTTCAGACGGTAAG
+AGGCCACATCGGCAAAGGTGTAGCGACCGAGGTTACGCAGACGTTCGGCAATCAGGAACAAAATGATCGG
+CCAGCCTACCAGGAAGCCTAGCGAGTAAATTAAGCCGTCATAGCCGGAGGTAAACACCAGCGCGGAGATC
+CCCAAGAATGAGGCGGCGGACATATAGTCCCCGGCAATCGCCAGCCCGTTCTGAAAACCGGTGATATTGC
+CGCCTGCGGTGTAGTAGTCATTACGCGAACGTACGCGTTTTGACGCCCAGTAGGTAATGCCGAGCGTAAA
+CACGACGAAAATCAGGAACATAATAATCGCCTGCCAGTTCGTTGGCTGGCGCTCTACGGCCCCGCTAATA
+GCATCCGCGGCGTTAGCTGCGAAAGGGAGTGTGGCGGCAAGCGCCGTCAGAACTCTTTTCATGATGCTTG
+TACCTCATGCAGGACTTTGTTATTAAGACGGTCGAATTCGCCGTTCGCCCGCCAGATGTAGATACCAGTG
+AGAACAAAGGAGATCACAATTACCCCGACACCGACTGGAATACCGCGTGTGACGCTGGTGTTCGGATTCA
+GCGGGGTGCCCAGCCAGCCGGGCGCGAAGGCGATCAGTAAAATAAAGCCGATATAAACTGCCAGCATAAT
+AATCGACAGGATGGTGGCAAACCGTTGCCGTTTTTCGACTAACTCCCTGAAATGCGCATTGTCTTCTATC
+CGCTGATAAATCGTACCATTCATCACAGATTCTCCAGAGGTAATGTAGGGATTGTTTTAATTCCCGCTCC
+CTTATGGGAGAAGGTTAACGCTTGGGTAACCCTTGCCGAATGTAGGCCGGATAAGGCATTCACGCCGCAT
+CCGGCAATCAACGCCTGATGCGACGCTGTCGCGTCTTATCAGGCCTACAGCCGTTGCCGAATGTAGGCCG
+GATAAGGCGTTCACGCCGCATCCGGCAACCAGCGCCTGATGCGCCGCTGTCGCGTCTTATCAGGCCTACA
+AATCGTTTCCGACTTGTTGCCCGGAGCGCATCCGGCAATTGTGGGTTACGATGGCATCGCGATGGCCTGC
+TTCTCTTCAAGCAGCTTCTCGACTACGCCAGGATCGGCAAGCGTCGAGGTATCGCCCAGGTTGCTGGTAT
+CGCCCGCCGCAATTTTGCGCAGAATACGGCGCATAATTTTGCCGGAGCGGGTTTTAGGCAGGGAGTCGGT
+CCAGTGCAGCACGTCTGGCGTCGCCAGCGGGCCAATCTCTTTACGCACCCAGTTGCGGACTTCTGCGTAC
+AGTTCTGGTGACGGTTCCTCCCCGTGATTAAGCGTGACGTAGGCGTAGATCGCCTGACCTTTAATATTGT
+GCGGAATACCGACCACAGCGGCTTCGGCAATTTTCGGATGCGCCACCAGCGCCGACTCAATCTCTGCCGT
+CCCCAGGCGGTGACCGGAGACGTTCAGCACGTCGTCCACGCGCCCGGTGATCCAGTAATAGCCATCTTCA
+TCGCGACGCGCGCCGTCGCCGCTGAAATACATATTTTTGAAGGTGGAGAAGTAGGTCTGCTCAAAACGTT
+CGTGATCGCCAAACAGCGTACGCGCCTGACCCGGCCAGGAGTCGGTGATCACCAGACTGCCTTCGGTGGC
+CCCCTCCAGCGGGTTACCTTCGTTATCGACCAGCGCTGGTTGCACGCCGAAGAACGGACGTGTTGCCGAA
+CCGGCTTTCAGCTCGGTAGCGCCAGGCAGTGGCGTGATCATGAAACCGCCAGTTTCGGTCTGCCACCAGG
+TGTCGACCACCGGGCATTTCTCGTTGCCGATCTTCTTCCAGTACCACTCCCACGCTTCCGGGTTAATTGG
+CTCGCCCACGGAACCGAGAATGCGCAGCGACGAACGGTCGGTGCCTTCGATCGCTTTATCGCCTTCCGCC
+ATCAGCGCGCGAATCGCCGTGGGCGCGGTATAGAGAATATTGACCTGATGCTTGTCCACCACCTGCGCCA
+TACGGGCAGGCGTCGGCCAGTTCGGTACGCCTTCAAACATCAGCGTGGTCGCGCCGCAGGCCAGCGGGCC
+ATACAGCAAATAACTGTGTCCGGTAACCCAGCCCACATCGGCGGTGCACCAGTAGATATCGCCCGGATGA
+TAATCAAAGACATATTTAAAGGTCAGCGCCGCGTACACCAGATAACCGCCGGTAGTGTGCAGCACGCCTT
+TTGGCTTACCGGTAGAACCGGAGGTATAGAGAATAAACAGCGGATCTTCGGCGTTCATCTCTTCCGCCTG
+GTGCTGAGCGCTGGCTTGCTCAACCAGGTCGTGCCACCACAGGTCGCGCCCTTCCTGCCAGTCAATTTTT
+CCACCAGTACGCTTCAGTACCACCACATGCTCTACGCTGGTGACGTTCGGGTTTTTCAGCGCGTCATCAA
+CGTTTTTCTTCAGCGGAATACTACGCCCGGCACGCACACCTTCGTCGGAAGTGATCACCAGTCGTGAACT
+GGAGTCGATAATGCGTCCGGCAACGGCTTCCGGCGAGAAGCCGCCGAAAATCACCGAATGTACCGCGCCA
+ATGCGGGCGCAGGCCAGCATCGCGACCGCGGCTTCCGGTACCATCGGCATATAAATCGCAACTACGTCAC
+CTTTTTTAATGCCCAGTTCGAGCAGGGTATTGGCGAAGCGGCAGACGTCGCGGTGCAGCTCTTTATAGCT
+AATATGTTTGCTCTGGCTGGCGTCGTCGCCTTCCCAGATGATGGCGGTACGATCGCCGTTTTCTTGCAGA
+TGGCGGTCAAGGCAGTTTGCCGCCAGATTCAGCGTGCCGTCCTCGTACCATTTAATGGACACATTACCGG
+GGGCAAAGGAGGTGTTTTTCACCTTCTGGTACGGTGTGATCCAGTCGAGAATTTTTCCCTGTTCGCCCCA
+GAAGGTATCTGGTGCGTTAATAGATTGTTGATACATCGCCTCGTACTGCTGAGGGTTTATCAGGCAACGG
+TCTGCGATGTTGGCAGGAATGGTGTGTTTGTGAATTTGACTCATGCTTTTGTTCTCCTTGTAAGATGTTA
+ATAATATGTGGCATAAGCGTTAAATGTAGGGGTATTGGCAGTTTTGTTTAGTATTTGGGCGACAGATCAC
+GCAAAAGTAGAATTGTGCAAATAAACGGCAGGGTAATTTTTGAAGGTCAGCAACAAAAGTTGATTAATTC
+TTTGAGGAACATGCAGTTATGCATGCTGTTGAAAAAGAGGAAGATACTGACTAACTCTAAAGTGGTATTT
+TACATGCACTTACAATTGATTAAAGACAACATTCATAGTGTGGTTATTTGTTACACATAGGGACGAGCAA
+TGTCATGACAGTGTAGGTGCGGTTACTGTCGTGAAAAACAATAAAAACCGCCATTGCAACAATGGCGCAA
+TTCGGATGAAGCCCTATGACAAGGATAAAAATAAACGCACGCCGTATCTTCAGCTTATTGATTCCTTTTT
+TCTTTTTCACTTCTGTTCACGCTGAACAAACGGCTGCTCCCGCAACACCTGTAACTGTGGAAGCGAAGAA
+TGAAACCTTTGCCCCGCAGCATCCCGATCAATATCTCTCCTGGAAAGCTACCTCGGAACAGTCAGAGCGT
+GTTGACGCCCTGGCGGAAGATCCACGGCTGGTGATCCTGTGGGCAGGGTATCCCTTCTCGCGCGATTACA
+ACAAGCCGCGTGGACATGCCTTTGCTGTGACCGATGTGCGTGAAACCCTGCGTACCGGTGCGCCGAAAAA
+CGCTGAAGATGGTCCGCTACCGATGGCGTGCTGGAGTTGTAAAAGCCCGGATGTGGCGCGTCTGATCCAG
+AAAGACGGCGAAGATGGCTACTTCCACGGAAAATGGGCGCGCGGCGGCCCGGAAATCGTCAACAACTTAG
+GTTGTGCCGATTGCCATAACACCGCCTCACCAGAGTTCGCCAAAGGCAAACCGGAGTTAACCCTTTCCCG
+TCCGTATGCGGCTCGCGCGATGGAAGCCATTGGTAAACCTTTCGAGAAAGCCGGACGTTTCGACCAGCAA
+TCGATGGTTTGCGGTCAGTGCCATGTGGAGTATTACTTCGACGGCAAAAACAAAGCGGTTAAATTCCCGT
+GGGATGACGGCATGAAAGTCGAAAATATGGAGCAGTATTACGACAAAATTGCCTTCTCTGACTGGACTAA
+CTCCCTGTCGAAAACGCCAATGCTGAAAGCGCAGCACCCGGAATATGAAACCTGGACAGCGGGCATTCAC
+GGCAAAAACAACGTGACCTGTATCGATTGCCATATGCCAAAAGTGCAGAACGCCGAAGGCAAACTCTACA
+CCGACCATAAAATTGGTAATCCGTTTGATAACTTCGCCCAGACTTGTGCGAACTGCCATACCCAGGACAA
+AGCTGCCTTGCAAAAAGTGGTCGCGGAACGTAAGCAGTCGATTAACGACCTGAAAATCAAGGTTGAAGAT
+CAACTGGTTCACGCTCACTTCGAAGCGAAAGCGGCGCTGGATGCAGGCGCAACGGAAGCCGAAATGAAGC
+CGATTCAGGACGATATCCGTCATGCCCAGTGGCGTTGGGATTTGGCGATCGCTTCCCACGGCATTCATAT
+GCACGCACCGGAAGAAGGTCTGAGGATGCTCGGTACGGCGATGGATAAAGCGGCGGATGCACGCACCAAA
+CTGGCGCGCCTGCTGGCGACCAAAGGCATAACCCATGAAATCCAGATCCCGGATATCTCGACCAAAGAGA
+AAGCCCAGCAGGCCATTGGCCTGAACATGGAGCAAATCAAGGCCGAGAAGCAGGACTTCATCAAAACGGT
+GATCCCGCAGTGGGAAGAGCAGGCACGTAAAAACGGTCTGTTAAGCCAATAACCCCGTTCCGCCTCGCAA
+GGGGCGGAAAACACAATGGAGTGAATATGAGCGTATTACGTTCGTTATTAACTGCCGGGGTGCTGGCGTC
+GGGCCTGTTGTGGAGCCTGAACGGAATTACCGCTACCCCTGCGGCGCAGGCATCTGATGATCGCTACGAA
+GTTACCCAGCAGCGTAACCCGGATGCCGCCTGTCTGGACTGTCATAAGCCAGATACCGAAGGTATGCATG
+GCAAACATGCTTCTGTTATCAACCCGAATAACAAACTGCCGGTCACCTGCACCAACTGCCACGGTCAGCC
+ATCACCGCAACACCGCGAAGGGGTGAAAGATGTGATGCGCTTTAACGAGCCGATGTACAAGGTTGGAGAG
+CAGAACAGCGTCTGTATGTCCTGCCATCTGCCGGAACAGTTGCAAAAAGCCTTCTGGCCGCACGATGTCC
+ACGTAACCAAAGTGGCGTGCGCCAGCTGCCATTCCCTGCATCCACAGCAAGATACGATGCAGACGTTAAG
+TGACAAAGGACGGATTAAGATTTGCGTCGATTGCCACAGCGATCAGCGCACCAATCCGAACTTTAACCCG
+GCGTCTGTTCCGTTGCTTAAGGAGCAGCCATGACCTGGTCTCGTCGCCAGTTTCTCACCGGCGTCGGCGT
+GCTGGCCGCCGTCAGCGGCACCGCAGGACGCGTGGTGGCGAAAACGTTGAATATCAATGGGGTGCGTTAC
+GGCATGGTGCATGACGAGTCGTTATGCATCGGCTGTACCGCCTGTATGGATGCTTGTCGGGAAGTGAACA
+AGGTGCCGGAAGGCGTCTCGCGCCTGACGATTATTCGTAGCGAGCCGCAGGGCGAATTTCCTGATGTGAA
+ATATCGCTTCTTCCGTAAGTCTTGCCAGCACTGCGATCATGCGCCGTGCGTTGACGTTTGCCCGACCGGT
+GCGTCTTTTCGCGACGCTGCCAGTGGGATTGTCGATGTTAATCCGGATCTCTGCGTCGGTTGTCAGTACT
+GCATCGCCGCCTGTCCGTACCGCGTGCGCTTTATCCATCCGGTCACGAAGACGGCGGACAAATGCGATTT
+CTGCCGTAAGACCCATTTGCAGGCCGGTAAGCTGCCCGCGTGCGTTGAGGCTTGCCCGACGAAGGCGCTG
+ACGTTTGGCAATCTGGACGATCCCAGCAGTGAGATTTCGCAACTGCTGCGCCAGAAGCCCACTTACCGCT
+ACAAGCTGGCGCTGGGAACCAAACCGAAGCTGTACCGCGTACCGTTTAAATACGGGGAGGTGAGCCAATG
+ACGCAGACTTCCGCATTTCATTTTGAATCGCTGGTGTGGGACTGGCCGATTGCCATCTACCTGTTTTTGA
+TTGGTATTTCTGCCGGTCTGGTGACGCTGGCCGTGCTGTTACGTCGTGTCTACCCGCAGGCGGGCGGTGC
+AGACAGTACGTTGTTGCGCACCACGCTGATTGTCGGGCCTGGCGCGGTGATCCTCGGTCTGTTGATCCTC
+GTCTTCCACCTGACAAGACCGTGGACCTTCTGGAAGCTGATGTTCCACTACAGTTTTACCTCGGTGATGT
+CGATGGGGGTGATGCTGTTTCAGCTTTACATGGTGGTGCTGGTGCTGTGGCTGGCGAAAATCTTTGAACA
+TGATTTGCTTGCCCTGCAACAACGCTGGTTGCCGAAGCTGGGGATCGTGCAAAAGGTCTTGAGCCTGCTG
+ACGCCCGTTCATCGCGGACTGGAAACATTGATGCTGGTGCTGGCGGTGTTGTTGGGGGCTTATACCGGCT
+TTCTGCTGTCGGCGCTGAAATCGTATCCGTTCCTCAATAACCCGATCCTGCCGGTGCTGTTCCTCTTCTC
+CGGCATCTCGTCTGGTGCGGCGGTGGCGCTGATCGCCATGGCGATACGCCAACGCAGTAACCCGCATTCC
+ACGGAAGCGCACTTTGTACACCGTATGGAAATCCCCGTGGTATGGGGTGAAATCTTCCTGCTGGTGGCGT
+TTTTTGTCGGTCTGGCGCTGGGCGATGACGGTAAAGTGCGTGCGCTGGTGGCGGCATTGGGCGGCGGTTT
+CTGGACGTGGTGGTTCTGGCTTGGTGTCGCCGGGCTGGGGCTGATTGTGCCAATGTTGCTCAAACCGTGG
+GTCAATCGCAGTTCCGGCATTCCTGCCGTGCTGGCGGCATGTGGGGCCAGCCTGGTCGGCGTGTTGATGC
+TGCGCTTTTTCATTCTCTACGCCGGGCAGTTAACGGTGGCGTAAGCCAGAACAGAGGTGGTTTCTGGACG
+TATTCCTTCCTGAAGTCAGTTTTCTGGCGTTGTTGTTAAGTCTCGGGGTCAACGTGTTGACCCCGTTGAC
+GGCCTTCGCGGGAGTGCGGTTGCGCTGGCCTGCCATGATGCGACTCACTTGCATCGGCATTCTGGCGCAG
+TTCGCGCTCCTGCTGCTCGCCTTTGGCGTACTGACGTATTGTTTTCTCATCAGCGATTTCTCGGTCATTT
+ATGTCGCCCAACATAGCTATAGCCTGCTGTCGTGGGAACTCAAACTGGCGGCGGTGTGGGGCGGTCATGA
+AGGTTCGCTGCTGCTTTGGGTGCTGCTGCTTTCCGCCTGGAGCGCGCTGTTTGCCTGGCATTACCGGCAG
+CAAACCGATCCGCTATTTCCGCTGACGCTAGCCGTTTTATCTCTCATGCTCGCCGCACTGCTACTGTTTG
+TGGTGCTGTGGTCCGATCCCTTCGTGCGGATATTTCCGCCAGCAATCGAAGGCCGCGATCTCAATCCGAT
+GCTGCAACATCCCGGTCTTATCTTTCATCCACCGCTGCTTTATCTCGGCTACGGCGGTTTGATGGTGGCG
+GCGAGCGTGGCGCTGGCGAGTTTACTGCGCGGCGAGCTTGATGGTGCCTGCGCCCGAATTTGCTGGCGTT
+GGGCACTACCTGGCTGGGGCGCATTAACAGCGGGGATCATCCTCGGTTCCTGGTGGGCCTATTGCGAACT
+GGGCTGGGGCGGCTGGTGGTTCTGGGATCCGGTGGAAAACGCGTCGTTATTACCCTGGCTTTCTGCCACA
+GCGCTGCTGCACAGTTTATCCCTGACACGCCAGCGGGGGATTTTCCGCCACTGGTCGCTGTTGCTGGCGA
+TAGTAACTCTGATGCTGTCGCTGCTGGGCACCTTAATTGTCCGTTCTGGCATTCTGGTTTCGGTTCATGC
+GTTCGCGCTGGATAACGTCCGCGCCGTGCCGTTGTTCAGCCTGTTTGCACTGATTAGCCTTGCGTCTCTG
+GCTCTGTATGGCTGGCGAGCGCGGGACGGTGGCCCGGCGGTGCGTTTTTCGGGGTTATCGCGGGAAATGT
+TAATCCTCGCTACGCTGTTGCTGTTTTGCGCAGTGCTACTGATCGTGCTGGTGGGAACGCTTTATCCGAT
+GATTTACGGCCTGCTGGGCTGGGGACGCCTCTCCGTTGGCGCGCCGTATTTTAACCGCGCGACGTTACCG
+TTTGCTCTGTTGATGCTGGTGGTGATTGTGCTGGCGACGTTTGTCTCTGGCAAACGTGCTCAGCTTCCGG
+CGCTGCTGGCGCATGCGGGCGTGCTGTTATTTGCCGCGGGGATCGTGGTTTCCAGCGTCAGCCGTCAGGA
+GATCAGCCTGAATTTACAGCCGGGTCAGCAGGTGACGCTGGCAGGATACACCTTCCGTTTTGAGCGCCTC
+GATCTGCAAGCCAAAGGCAATTACACCAGCGAAAAAGCGATAGTGGCACTGTTTGACCATCAGCAACGCA
+TTGGTGAATTAACGCCGGAGCGGCGTTTTTACGAAGCACGTCGTCAGCAAATGATGGAACCGTCAATTCG
+CTGGAATGGCATCCATGACTGGTATGCGGTCATGGGCGAGAAAACCGGAGCGGATCGTTACGCTTTTCGT
+TTGTATGTACAAAGCGGTGTGCGCTGGATCTGGGGGGGAGGATTGTTGATGATTTCGGGCGCATTGTTAA
+GCGGATGGCGGGGAAGGCAGCGCGATGAATAAAGGGCTTCTCACGCTACTGCTGTTATTTACCTGTTTTG
+CGCGCGCTCAGGTTGTAGACACCTGGCAATTCGCCAATCCGCAACAACAGGAACAGGCGTTAAATATTGC
+CAGCCAGTTACGTTGTCCGCAGTGCCAGAATCAGAACTTACTGGAATCCAATGCGCCGGTGGCAGTCAGT
+ATGCGCCATCAGGTTTACACCATGGTGGAAGAGGGGAAAAGTGAAGTCGAAATCATTGGCTGGATGACCG
+AACGCTACGGAGATTTTGTTCGCTATAACCCACCGTTAACGGGTCAGACGCTGGTGTTGTGGGCGCTGCC
+AGTAGTGTTGTTACTGCTGATGGCACTGATCCTCTGGCGAGTGAGGGCGAAGCGATGAAACAGCCCCAAA
+TACCGGTGAAAATGCTGACAACACTCACGATTTTTATGGTATTTCTCTGTGTCGGCAGTTATCTGTTAAG
+TCCAAAATGGCAGGCGGTACGTGCGGAGTATCAGCGTCAGCGCGATCCGCTGCATCAGTTTGCCAGCCAG
+CAAACCCCGGAAGCGCAGCTTCAGGCATTGCAGGATAAAATCCGTGCTAATCCACAAAACAGCGAACAGT
+GGGCGTTACTGGGCGAGTATTATCTGTGGCAAAACGATTACAGCAATTCGCTGCTGGCGTACCGTCAGGC
+GTTGCAACTACGTGGTGAGAACGCTGAACTGTATGCGGCGCTGGCGACGGTGCTGTATTACCAGGCCAGC
+CAACATATGACCGTCCAGGCTCGCGCAATGATCGACAAAGCCCTCGCGCTGGACTCTAACGAAATCACCG
+CTCTGATGCTGCTGGCTTCCGATGCGTTTATGCAGGCGAATTACGCGCAAGCCATCGAACTATGGCAAAA
+AGTGATGGATCTCAACTCACCCCGGATCAATCGGACACACCTGGTCGAGTCGATTAATATGGCGAAATTG
+TTGCAGCGGAGATCAGATTAATCATCTGGTGATGAAGATTATGTTATTGAGCTGCATAAAAAATAATCGA
+ATGAACATATAATCAAAAATAATCACCAATCAGTATTATTGCAGATTAAACAAATAAAAATCCTTCTATA
+ACAAATGGTTATTCATTAATCCTGCCATAAACTCGCGTTATTATGCATTAATGCAGCGAAAAGCTCTGTT
+GTTAAAGGGTTGCGCAACATACCGCGCAAATGATACTGATCATAAGCGTTAAAAAAATCTACAAACCAAC
+GCAACACAATTCATGCCCTGGCAGTATGTCACGTTCTCGCGTTTCTGAACGGGGAACGGCGCTCCATTGA
+GGAAGTTATTCTGATGAAAAATATAAAATTCAGCCTGGCCTGGCAGATTCTGTTTGCTATGGTGCTGGGC
+ATTCTCCTGGGAAGCTACCTGCACTACCATAGCGACAGCCGCGACTGGCTGGTCGTCAATTTGCTCTCTC
+CGGCGGGTGATATCTTCATCCATCTGATCAAAATGATTGTTGTGCCGATTGTGATCTCCACGCTGGTGGT
+GGGTATCGCGGGTGTTGGTGATGCCAAACAGCTCGGGCGTATTGGTGCGAAAACCATTATCTACTTCGAG
+GTGATCACCACCGTCGCCATCATTTTGGGGATCACTCTGGCGAACGTCTTCCAGCCCGGTGCCGGGGTGG
+ATATGTCGCAGCTGGCGACCGTCGATATCTCGAAATATCAGAGCACTACGGAAGCGGTACAAAGCAGTTC
+CCACGGCATTATGGGCACGATTTTGTCGCTGGTGCCGACGAACATCGTGGCGTCGATGGCGAAAGGCGAA
+ATGCTGCCGATCATCTTCTTCTCGGTGCTGTTTGGTCTGGGGCTTTCATCCCTGCCCGCGACGCATCGTG
+AACCGCTGGTGACCGTTTTCCGCTCCATCTCTGAAACCATGTTTAAAGTGACTCACATGGTGATGCGTTA
+TGCACCGGTGGGTGTGTTTGCGCTGATTGCGGTGACGGTGGCTAACTTTGGTTTCTCGTCTCTGTGGCCA
+CTGGCGAAACTGGTGCTGCTGGTGCATTTTGCCATTCTGTTCTTCGCGCTGGTAGTGCTGGGAATTGTGG
+CGCGCCTGTGCGGGTTAAGCGTCTGGATCCTGATTCGTATTCTGAAAGATGAGCTGATTCTGGCGTACTC
+CACTGCCAGCTCTGAAAGCGTGCTGCCGCGAATTATTGAGAAGATGGAAGCCTACGGAGCACCGGCGTCG
+ATCACCAGTTTCGTGGTGCCGACCGGTTACTCTTTTAACCTTGATGGTTCGACGCTGTATCAAAGTATTG
+CCGCTATTTTCATCGCTCAGCTGTATGGCATTGACCTGTCCATCTGGCAGGAAATCATTCTGGTGCTGAC
+GCTGATGGTGACCTCGAAAGGGATTGCTGGCGTGCCGGGCGTGTCGTTTGTGGTGTTGCTGGCAACGCTG
+GGCAGCGTAGGTATTCCGCTGGAAGGTCTGGCATTTATTGCCGGTGTTGACCGTATCCTCGATATGGCGC
+GTACTGCGCTGAACGTGGTGGGTAATGCGCTGGCGGTGCTGGTGATTGCCAAGTGGGAACACAAATTTGA
+CCGTAAGAAAGCGCTGGCTTATGAGCGTGAAGTGCTGGGCAAATTTGATAAAACGGCGGATCAGTAATTG
+AAGATTGCCGGGGGGATATCCACCCGGCAATGTGTGGATGCCTGACTGAGTAATAGCCTGATGTAGCGTG
+ATTTTTGTAGGTCGGATAAGGCGTTTACGCCACATCCGACATCAACGCCTGATGCGACGCTTAACGCGTC
+TTATCAGGCCTACGCCAGACAGCGTAATAGCCTGATGTAGCGTGATTTTGTAGGTCGGATAAGGCGTTTA
+CGCCGCATCCGACATCAACGCCTGATGCGACGCTTGCCGCGTCTTATCTGGCCTACGTCAGACAGCGTAA
+TAGCCTGATGTAGCGTGGTTTTTGTAGGTCGGATAAGGCGTTTACGCCGCATCCGACATCAACGCCTGAT
+GCGACGCTTGCCGCGTCTTATCAGGCCTACGTCAGACAGCGCAATAGCCTGATGTAGCGTAATTTTGTAG
+GTCGGATAAGGCGTTTACGCCGCATCCGGCATCAATGTCTGATGCGATGCTGACGTGTCTTATCAGGCCT
+ACGTCAGACAGCGCAATAGCCTGATTTGGCGTGATTTTGTAGGTCGGATAAGGCGTTTACGCCGCATCCG
+GCATCAATGTCTGATGCGATGCTGACGTGTCTTATCAGGCCTACGTCAGACAGCGCAATAGCCTGATTTG
+GCGTGATTTTTGTAGGTCGGATAAGGCGTTTTGAACTGCACCCCAAATGTTGGACATAATCTGACATCTG
+AAGGTGCAGTTTATGAAACATTCATTTGAAGTAAAACTTGCCGCTGTAAATCATTACCTGGCTGGTCATG
+CAGGCATCATTTCTACGGCAAAACTCTTTCAACTTTCTCACACCAGCCTCTCACACTGGATTAATCTTTT
+TCTTCTTCACGGTCCTCGGGCACTGGATTGCAGACACAAGCGTAGCTATTCTCCTGAAGATAAACTTTGC
+GTGGTTCTTTATGCTCTCGGGCATTCTGAGTCTCTACCCCGGGTAGCTGCCCGGTTTAACATTCCCAGCC
+ACAACACGGTTAAAAACTGGATAAAAGGCTACCGCAAATCTGGTAATGAGGCCTTTATCAGGCGCAGGAA
+GGAGAAAAGCATGACCCGTTCTGATGATACCCATGAAAACGAGGCAAACATGACGCCGGAAGAGATGAAG
+AATGAGCTGCGTTATCTTCGCGCAGAAAATGCATATCTGAAAGCCATGCAGGAGCATCTTCTGGAAAAAA
+AGCGCCAGGAGCTGGAGAAAAAACGAAAGTCATCCAGAGCCTGAGGTACGGACACTGCCAGTCTGACCTG
+TTAAAGGCCGCAGGGCTGGCCAGAAGCACGCTGTACTACCAGCTGTCACTGCAGAAGGCTAAGGACAAGT
+ATGCTGATGTGAAACAGCTCATAGCCTCCATCTTCCATGAACACCGGGGATGTTATGGGTACCGGCGGAT
+CCATTGTGAGCTTCAGAAAAGAGGTCTTAAGTTCAGTGGCAAAACGGTGAGAAAACTGATGCAACAGCTC
+GGCCTGAAGTCTCCTGTGCGCCTGAAGAAATACCGGTCTTACCGGGGAAATATGGGACTCGCTGCAGAAA
+ATATCCTTCAGCGACAGTTCAAAGCGGAAGCTCCCTGTGAGAAATGGGTGACAGATATCACCGAATTCAG
+GGCTGGCGGACAAAAACTGTACCTGTCCCCGATACTTGATTTGTTTAACGGGGAAATCGTGGCGTGGGAA
+ACGGCCTGCAGGCCTACAGAGGAGCTGGTGAAGCGGATGTTAAATAAGGGTCTGGAAAGCCTTGCTGAAG
+GGGAGAAACCGCTGCTCCACAGTGATCAAGGATGGCATTACCGGATAAAAAGTTATCAGTCCGCCCTGGC
+GGACAGAGGGTTAGTGCAGAGCATGTCGCGCAAGGGCAACTGCCTTGATAATGCGGTAATGGAGAACTTC
+TTTGGTCACCTGAAAGAAGAAATGTACTATCGCCGGGACTACAGAAATGTAGAAGAGCTGGAAAATGCCG
+TTAACGAATACATAACTTACTGGAATCAAAAAAGAATAAAACTCAGTCTTGGGGGACTCAGCCCGGTAGA
+ATACCGGACTGAGTATCAAAAAGCCGGTTAACTGAAACTGTCCAGGTTTTGGGGTTCAGTTCAGTTTACG
+CCGCATCCGGCATCAATGTCTGATGCGATGCTGACGTGTCTTATCAGGCCTACGTCAGACAGCGCAATAG
+CCTGATTTGGCGTGATTTTTGTAGGTCGGATAAGGCGTTTACGCCGCATCCGACATCAATGCCTGATGCG
+ACGTTTGCTGCGCCTACCTTAACCGTTGGTTAATTTTTCAAACTCTTCACACCCGGTATCAAACCCTTCC
+ATACAGCTCAGGTTCAACCAGTGCAGCGCCTTTTGTTTGTTCTTCTCGATAAAACCCTCTTCACCGTTTA
+AGAACATCATTCCCGCCCAGTATTCGGAATAACCGGTTCGGGAAATCGCGGAGCTACGTTTGAAATACCA
+GGTTGCTTTGTCATCGTCGGCCTTAATGCCCACGCCGTTGGCGTAAATCAAACCAAGCAGCATTTGGGCA
+TCGACGGCAGAGTCGTTCTCCAGATCTTCCGAGGCGTTTTCTAACAGCGAAATCGCCTTTGGATAATCCG
+GTTTACCCGCTTGCGTATTTACCAGAATATGCGCCAGCGTTACTTCACCTTCTTTACTGCCCGCTTGCGC
+TGCTTTCTCGGCAAGCACTTTTGCTTGTGGATAGTCCAGACTGACCGGATTGGTGATTTTGATCTGCGCC
+AACAGCGCGCAGGCATCGGCATCACCGCTGTCGGCGGCTTTCTGTGCCCAATATTCGGCTTTGCTCAAAT
+CGCCGGAGCTAAACCAGCTGTCGGCAAGAAAATATTGTGCGCGTCGGTCTCCGGCCTCTGCTGCCTTTAA
+ATACTGGCTGCCAGGCTCGGAGTCGTTCGCGTGGGCAAAGAATGTCAAAAACAACATCAAAGTGATAATT
+TTTTTCATTTTGATAATGAAGTTTGGTAGGGGAGAGACAGTATAAAGTGTTCGGGTGGACAAAAAAACAA
+CTGTAAAAAGACCTGAAAGCAGAATGAATTAATGCAATGTCAGGTTTTTTAATCCATCCGATGTTCCCCC
+TTTTCCATGGCGTCGCGATCAAAAAATCGCTGAATTTTTCCCTCGGACATCAATGCCGCTCGATCAGACA
+TATGCGCGATGACATCGGCATCGTGACTGACCAGCAGATATGTCATTTGGTGTTCCAGCTTAAGTTGATT
+CAACAAATTAAGGATTTCCGCTTGTACCGACATATCCAACGCCGAGGTGGGTTCATCCAGCAGAAGAAGT
+TGTGGTCGTAACAACAGGGCGCGAGCAATAACCACACGTTGCCGTTGACCACCGGAAAGCTGGTGTGGGT
+AGCGACGAGCGGCGTCGAAAGGCAAGCCAACCTGTTCCAGTGCAGTCTGGACGCGTTTTTCTATTTCTCT
+TTCGCCACGAATTTTGAGTGGTTCAGCCAGCGTTCGCCACAGAGTATGATTGGGATGCAACGAGGCATAG
+GGATCCTGAAACACCATTTGCACATTGCGGCGGAGATCGCCCTGAAAACGCATTCCTGGTTTGATGGTGT
+GCCCAAACAGTGACACCTGACCGTGCCAGTCGCGCTGTAATCCAGCAATTACGCGCAAAATCGTGGATTT
+TCCGCAGCCTGATTCGCCAATTAAACTAAATGTCTCTCCGGCATTAACCGAAAAACTGGCGGCAGAAACT
+GCGGTTTTCTCAGCAAAAGTCACCTGTAAGTGATTAATTTCAACAATCGTCATGGTATTTCTCCGGCGTC
+ATTGCCGTCCTGTCCAGCGTCGGCAGCATCTGCCCGTAAGTTTGTGCATTTGGGCGGCAAGTCCACAGTG
+TGCGCGTGTAAGGATGCGTTGCTGTAGGTAGCGCAGCAGCGTGCATTTCATCCACCTTATTTCCCTGATA
+CATCACCAGCACCCGATGGCAAAATTGGGCAACTAATGGCAGGTCGTGACTGATCAGCAACATTGCCATC
+TGACGTTGTTCACACTGGGTAACCAGCAGTTCCAGAATCTGATTACGCAGGCGCACATCCAGTGCTGATG
+TTGGCTCATCGGCAATCAATACCCGGGGATCGTTGATGAGCGCAATTGCAATCATCACTCGCTGCCCCAT
+GCCGCCAGAAAGTTCACGAGGATAGCTTTGCAGTACTCGCGTATTGAGGCCGACAGCCTGAATTGCGGTG
+TTTATTTTCTCTTCTTTCTCGCGGCGGTTCAGACGTTGATGGAGCGTAAGCGCCTCTTCCAGTTGCGCTT
+TTACTGTCTTTACTGGATTAAGCGCGTAACGCGGATCTTGCAATACCATCGCGATATCGTTACCGCGCAA
+CTGTTGCCATCCACGCGCGTTAAGGGTGAGTGCATCACGCCCCAGAATGTTAAGTGTGTCCGCGGTTACT
+ACACCCGGTTTACGCACCAGCCCCATCAGGGCGCGGGCGGTCATGGACTTACCTGAACCCGACTCACCGA
+CCAGCGCCAGACGTTCATTGCCTAATGTAAAACTGACATTGTTGACGACCCGGGACTCCGGATAATCGAC
+GCAGAGATTGTTGATACTAAGACGTGAGTCAGTCATGTTGAGGCTCCAGAACATCGCGCAAGCCATCACC
+CAGCAGATTAAAGGCCAGACTGGCAATTAAGATAATTGCGCCGGGAGCGGCGGCAATCCACCATTGATCA
+AAAATGACCTGCATACCGTCGGCGATCATGGCTCCCCATTCCGCCATTGGCGGGCGAGCACCAAGCCCAA
+GAAAACCCAGGCCAGCAGCCGCCAGAATGATACCCGCTAAATCCAGCGCCAGACGGACAATGGCAGATGG
+CAGGCACAATGGTAAAATATGACCAGCCAGCAGACGCCTGCCGCGGATGTCCATCATTTCTGCGGCGGCA
+AGATAATCACTGTGTCGCAGACGTTGGATCTCACTCCGTGCCTGACGCGCATAAGCAGGCCAGGTGGTTA
+ATGCCAGCGCCAGTGCGCCGTTAACCAGCCCCGGCCCCAGCATGGCAACAAAAGCAAAAGCCAGAATTAA
+ACGCGGCATTGACATTACTACGTCAGTAAAACGCATCAGCACGCGTTCCAGCCAGCCGCCGTAGTACCCG
+GCTAAAATGCCAATCAGCAGACCGACCGGGAGTGTAATGATTGTCACCAATGCCACCAGCCCCAGTGCCG
+GGCGGCTGCCGTAGATTAAACGTGAAAGTAGGTCTCGCCCGTAACTGTCAGTGCCGAGCCAGTGCTGACG
+ACTCGGTGCTTGTAACCGCGCCGCCGCATCCTGCCAGTTAGGATCGTGAGGTGCCAGCCACGGCGCGAAG
+AGCGCAATTAGCATCAATAACAGGATAATTATCAACCCGCAAAACGCGGCGGGTGAATGGCGTAAACGGC
+GTAAAAAGAGAAACATCGGCATCAGCGTAACCTCGGATCGGTCAGCCGGACCAGCAGGTCGGTTAAGTTA
+TTTATCAACACAAAGCAGACGCCAATCAGCAGCGTTCCTCCCATGATTGCTGTGGTATCACCCGCGAAGA
+GCGCTGTAGTGAGGTAGCGCCCAATACCTGGCCATGAAAAGACGGTTTCTGTCAGTACCGCGCCTTCCAG
+CATTGATGTATAGGCGAGGGCGATAACGGTGAGCAAGGTGCCGCGAATGTTGGGTAAAACATGACGTAGC
+AAAATTGTCATCTCGCTGGCCCCTTTGGCGCGCGCCAGCAGAATATATTCTTTATTCATTTCGCCAAGAC
+AGGCGGAACGAGTCAGGCGCGTAATACTGGCGAGCGAGAAGTACGCCAGTAATAAAACCGGAAGTATCAA
+ATGGTTGATTGCATTGGTAAATGCCTCGCGATCGCCAGAAAGCCACGTATCAATCAGCGCAAATCCGCTG
+CGGGGTTCTATGGTGAATTGATAAATATCATCCAGCCTGCCCGGCCCGGCACTCCATTGCAGTCTGGCGT
+AGAACAGCGCCAGCATCAGCAGACCAAGCCAAAAAACAGGGACGGAATTTCCCAGTAGAGTTAATGTTCG
+CACGGTGAAATCCAGCGGAGAACCGACATAACGGGCGCAAAGTACACCCGCAATGACGCCGACAACAGCA
+CCGACAATAAGCGCCAACGTTGCCAGTTCAATGGTCGCCGGGAATGCTGATAGCAAGTCCTGGAGTACTG
+GTTGCCCGGTGGAGCTGGCGATGCCCAGATCGCCGTGTGCCAGATTCATCAGGTAATGCCAGAACTGGAC
+GGCTAACGGCTGATCCAATCCTAACTGGTGGCGTACCTGATCATAGGTGGACTGGCTGGCGTGATCGCCA
+ACGATTTGTAGTACGCGATCGACCGGTGAGAGAGCCGAAAGCGCAAAGGTAATCAGCAGCAGGCCGAGTA
+GCGTCAGAGCAACGGTAAACAGCCCTTGCAACAGCGCGAGCAGAGGGCGCTTGCCTCGCCATCTCGCGCG
+AGTGGAAAAAACGACAGACATGATCTTTCCATACAGTGATAAATCAGCGGCTGGCCTGCAATACAGGCCA
+GCCCTGGTACCGCGCCCGGTAACATGGCTGGACGCGAGTTGCATACAGGGTTATTTGGTTACCTGATCAA
+ACCAGACCATATCGGCATTCAACCCTTGTTGATACCCCTGCACATTATCACGCATGACAATTTGCGTTTT
+GCCTTGATCAATAAAGACATACGGGGAACTACGTTGTAGTTCTTGTTGCATTTTCTTATACAAATCAAGA
+CGTTTAGCGCTATCAGGTTCAGCGATGGCCGCCAGCGTTTCTTTGTTCAGTTCCGGGATTTTCCAGCCGT
+TTAACCCGGCAACGGTGCTGGATTTGCCATCGTTATAGGCGAAAGAGCTGGCGTTGGAATGTGCGTCAAA
+ATAATCAGGCAACCACATACGAATGGCCCCCTGATGCTGGTGGGCGCGAACGCGAGAGTAGACCTGACTC
+CCTGCGGCTGGCAGCAAATCAACTTTTACACCGCCCTGAGCAAAGCTGGCCTGAATTGACTGCGCGATGG
+TAATAAATGGCGGTTTATTTTCGACATCAAGCGTGAAGTGCGGGTCTTTGATTCCGGCTTTAGCGAGGAT
+CTCTTTTGCTTTGGCTGGATTAAAGGTAAACGGTGTTTCTTCCAGTGCTCCAGGAAAGCCCACGGGCAGG
+AAACTTTGATGGGTAAAATATTGTCCTTTTAAGAGATTTTTGGTGATGCCGTCGTAATCGACCAACCAGC
+GAGCGGCCTCCCAGAACGCAGGATTACTCATCAGCGGGTTATCCTTGTTACCGGTATTGAAGGCCAGGTA
+GTTCTGTTCGGCGGAGGCAATGCTCATCACTTTTACGCCAGGTTTACCCTGTAATGCATCGATTTGATCG
+GCTCCCAGATCACGAGCCATATCAGCATCACCTTGTTGGATCAGCAGGCGACGCGTTGCCGGATCGGGAA
+CATTTTTGATGATGACGCTTTTCAGTTTCGGGGCGCCGGTTGGTGAGCTGGTGTTGGCTTCCATCACGAT
+GGCCTGATGCGGTTGGTAAGTACGCATTTTAAACGCGCCGCTGCCAGCGGAATGCATCTTCAGCCATTCA
+TTACCAAAGTCGTTATTTTTGGCGTTTGGCGCAACCAGCTTCTCGTCAACAATTGAGGCGATTGGTGTGG
+AGAGAATATTCAGTGCCAGCGCCGGGCTGACGTCGGCACTCCATTGCACCTGGACGGTATGGTCATCGAT
+TTTCTTCAACTGGCTGGCGATATTTTCCGGCTGCCATCCCAGCACATTGAGAATAAACGCACCGGATTTA
+TTCAGTGTGACAGCCCGGACATAAGAGTAAATCACATCTTCCGGGCGTACCGGATTACCAGAGGCAAATT
+TCGCATCGCTTTTCAGTTTTATGGTTAGCGTTTTGGCTGCGGGGTCAGCCTGCCAACTTTCCGCCAGAAT
+CGGAGTGATTTTCGTCGGATCATTACGGTCCGGTTGTACTACGCGTTGATACAGACTTGGTACAGTCTGA
+ATACTTGAGAGTTCATTAGCTTCTGCCGGGTCCAGACTCACAATATCATCCAGTCCCTGGGCTACAACCA
+ACGTATTAGGCGGTGTAGCGGCAACGGTTGTGGCGGAAATTGTGCTTAAAACCAGTAAAGGTAATAGTTT
+TTTAATCATATGCTTCCCAATCCCTGAAATTACTTTGAGGTTATTAATATGCTATCAGACGGGGTTTCGC
+TGCATTAATCGCGCCAGAATATCCCGTTAATAGAACGAGTTAAACGGTCGATGATTTCTCACCTTACCGA
+AATTTTGTTTATCAAATGTAAAGTATTATTACGTTAGGCCGCGATGAGAATTGAGTAAAGATAATTCTCA
+TTTGCAATCGTGACTGGAATAGAAGAACAACCGAGAAGACGTCGCTAATAACCAGGATGGGCTGGTTTGA
+CTGCGCAGGTATGTATAAAAAAATCCGGAAACAGAGAGTCGTTTCCGGATTGATACAAAGGCGTTGGGTA
+ATATCGCCGCTTTTAACGTGAGTTTACGCGGTATTACGCCAGTGCCGCTTCGCGCAGGCGAGTTTTCAAC
+TTGTTGTACTCGTCAATCACGTACTGCTCGGCGGCGCGCTGATCGGCGATCGGCTCGACGCGCACGGCGC
+AGTATTTGTATTCCGGCGTTTTCGTAATCGGGCTTAAGTTTTCGGTCACCAGCTCGTTACAGGCACCAAT
+CCACCACTGGTAGGTCATGTAAATCGCCCCTTTGTTCGGACGATCGCTGACCTGCGCACGGGTGATAATT
+TTGCCTTTACGCGAGTGCACCCAAACCAATGCCTCATCTTCAATACCCAGACGTTTGGCGTCTTCGGTAT
+TGATTTGTGCGTAGCCAGGTTCATCAGCCAGCGCCGCCAGTGCCGCACAGTTACCGGTCATCGAACGGCA
+AGAGTAGTGACCAACTTCACGCACCGTTGACAGTACCATCGGGTACTCGTCGGTGAGTTTGTCGATTGGC
+GCTACCCAGTCGCAGGTGAAGAACTGCGCCAGACCGTTCGGGGTATCAAACTTCTCTTTAAACAGATAAG
+AAGTCCCCTGATCGGTATCTGAAGTATCGCGGCAAGGCCACTGAATGAAGCCCAGTTCGCCCATTTTTTC
+GTAAGTCGCACCGTAGAAATCCGGGCACAGATGACGCAACTCATCCCAGATCTCCTGGGTGTTGTTGTAG
+TGCATCGGATAACCCATACGGGTGGCGATTTCACTGATAATCTGCCAGTCCGTTTTCAGATCCCACTTCG
+GCTCAACCGCCTTGAAGAAACGCTGGAAGCCACGGTCAGCCGCAGTAAACACGCCTTCATGCTCGCCCCA
+CGACGTTGACGGTAAAATGACATCCGCCGCCGACGCGGTTTTGGTCATAAAGATGTCCTGAACGATAACC
+AGTTCCAGATCTTCAAAGGCTTTACGTACTGCCGACAGTTCCGCGTCAGTTTGCAGCGGATCTTCGCCCA
+TAATGTACGCGGCACGCACTTCACCATGCGCTGCGCGGTGCGGCAGCTCGCTGATGCGATAACCGGTATG
+AGCAGGCAGGCTTTCCACGCCCCAGGCTTTGGCGAATTTCTCGCGGTTAGCCGGATCTTTCACGTACTGG
+TATCCCGGATACGTATCCGGCAGCGCGCCCATATCGCAGGCACCCTGCACGTTGTTCTGACCACGAACCG
+GGTTTACACCCGCATGCGGCTTACCGAGGTTACCAGTCAGCATCGCGAGGCTGGTCAGAGAACGCACGGT
+TTCCACGCCCTGGTAGAACTGGGTTACACCCATGCCCCACAGGATGGCGGCGCTTTTCGCCTGGGCATAC
+ATCCGCGCCGCCTGACGAATCTCACTGGCGCTGACGCCGGTGATATCTTCAACCGACTCCGGCGTGTAGC
+CTTCAACGATTTTACGATACTCTTCAAAGCCTTCTGTACGGGAAGCGACGAAAGCTTTGTCGTACAGGTT
+TTCTTCAATAATGACATGGCCCATCGCATTCAACAGCGCGATGTTCGAGCCGTTTTTCAGTGCAATGTGC
+ATGTCAGCAATGCGCGCGGTTTCAATTTTGCGCGGATCGCAGACGATAATTTTCGCCCCGTTACGTTTAG
+CGTTAATTACGTGGTTCGCCACGATTGGGTGGGAATCCGCCGGGTTGTACCCGAAAACGAACACTAAATC
+GGTATTATCAATTTCGTTAATAGCATTGCTCATTGCGCCATTACCGACCGATTGGTGCAGACCTGCAACC
+GATGGGCCGTGTCAGACACGAGCGCAGCAGTCAACGTTATTGGTACCAATAACGGCGCGCGCAAATTTTT
+GCATTACATAGTTGGTTTCGTTACCCGTACCACGCGAGGAGCCGGTCGTCTGGATGGCATCCGGACCGTA
+CTTCTCTTTGATGGCGCTCAGGCGCTCGGCAACGTAATTCAGTGCCTCATCCCAGGAAACAGGTTCGAGT
+TTGCCGCCACGCTGGCGACGGATCATGGGGGTTTTCAGGCGCGGGGTCAGGATCTGGGTATCGTTAATGA
+AATCCCAGCCATAATAACCCTTCAGACACAGGGTACCCTGGTTGGTTTTCCCCTGCGCTGCCTCCGCCCG
+GACGATTTTGCCGTTATCGACGACCAGGTTGATTTTGCAACCTGATGCGCAATAGGGGCAAACCGTGACG
+ACTTTTTTCATCGGTCTCGCTCCAGTTAATCAAATCACGCATACGCGCTCTCGACTACAGTATGCATCTT
+TTATGCCACATTTTATTTGTGGTCATTCCCTGATATTACGGGCACTATTTATTCAAAACTCTGACGAAAA
+ACAGGCTGTCGTCAGTTTTGACGTGACGAAACGAAATACCGCGTGACAGCCATCACGCGGCAGACATTTT
+ATTTTTTCTCGACGACGGGACTTGCCTGATACCCGCCGCCCAGCGATTTCATCAACTGAATGCTTTGGAT
+CACCCGGCGGCTGTCCAGCATCAGTAATGACATCTCTTCGGCAAGCACTGGCAACCGGGCTTCGGTGGCC
+TGTAAGCGGCTGGTTAAGCCGCGCTGATAGGCGGCCTCGGCAGCGCGCAGGGTAAAGCGCGTTGCTTCCA
+CGCGTTCAGCCTGCATCTCTCGCTCGTCGTTGAGCGTTTGCAGACGCGTGCCGTTGACGGCAACGTCGCG
+CACCGCATTCAGTACTGACTGGTTGTAACGTTCAATCATCATGTTGCTGGCGGCGCGAGTGCCTTCGAGA
+TTGGCATTCAACCGTCCACCGTCAAACAGCGGCAATTTCAGACCCGGGATAAAGTTGAACTGGCGACTGG
+TTTTTTTGAATAAGGTATCCAGGTGGATAGAGTCCAGGCCGAAAAACGCTTTGATATCAAAGCTCGGATA
+GAACAGCGCCCGCGCGGAATCCACCTGATCTAATGACGCCTGAACATACCAGCGCATCGCTTGCAGATCC
+GGGCGTCTGGCGAGCAACTCATAAGAGAGTGTCGCCGGAATGCCGGTCTGGACTTGCGGTAATGCCACCG
+GTTTGATCTCCGGCATATCGCTGGCTCCCGCGCCAATCAATGCACGCAGAGATTCTCGCGTTTCGGTGAT
+TTGCCCTTTAACGGCAACAATTTGTTTATCGACCGCCAGAATCTGTGCCCGCGCGCCGTGGAAAGGCACT
+TGCGCTTCCAGACCGTGCGCCACTTTACTCTGGTGCGCTTTCACCGCGTAATCAATCACATCGCGTGTTT
+GTTCTAACAGATCGAGCATCTGATAGCTGGCCTGCATACTGTAATAAAGCTGCGCTACGCCCGTGGTCAG
+CGATAGCTCTACTGCTGCGGTTTCTGCCAGCGCGGCATTATGCGCGCCAATGGCGGCAGCAACCGCTGAG
+CGATGCACACCCCACAAATCGAGATCCAGTCCGGCAAACAAACCGACTGTGGCTTCCGTATAGAACGGCC
+CGTCCATACCCAGTGCTGGCGCATCCATCGCATAAGGGCTTAAAAAGCCGTTCGCCGAGACGCGTTGGCG
+GTTGAGCATCCCTAACGCTGCGACCTGTAATTGTGAACCGGCATCTAACAAATCGGCCTGCGACTGCGCT
+TTTTCTTCCCGCAGTTTCGCTTCGGCGAGGGTGTGTGAACCACTTAGCGTCCGTTGGATCAGGGCATCCA
+ACTGCGGGTCATTGAGTTGTTTCCACCACTGCGCCTGCGGCCAGCCGGAGCTGGCAAGATGAATATCATC
+GGCCAGTTTGATTTGTTCCGGTTTGAGCTGTTGATGAGGCGCAGAATCCTTACGTACCAGGGCACAGCCG
+GAAATCAGCGTCGTGCTGCCGAGAATGCTGCACAACAGCAGGCGTGAAAGTTGACGATTGATCATTGCGT
+GGCTCCTTGTACCTGTTCCGTGGCGGGCGTTAATGCCGGGGCTGTCCAGTCTGGCAAGCGGGCGAAAAGC
+TGGCAGACGTGTTGCTCCTGTTTTAATAAGGTCGGCAGGATGGCCTGCGAGGCGGGTGTTTCTTCAAGCG
+TTATTTGAGGAGAACGACTGAGTGCGGTTGCCAGACCGGCGGCGTATTTCTCCAGTGCGTCGGCAAACTG
+ACCTGCTCTGTCCGGCTGTAGTGCGTTATCCAGCGCCTGCGCCGAGTTCCAGGTTGCATCCCAGGCGTGA
+AGAATATCGCGGCCCTGACGAATAACCGTTTGCGAACGTTCAATCAGTAAAGCGCGTTCTTCGCTGTCCA
+GTTGACGCTCCAGCGCCACGCGTTGGCACATCTCTTCACAGGCATTAAACGCCGCATGCAGACCTATGCG
+AATTTGCAGATAAGTGCGCAGAGCTGTGACTTCCTGCTGGCGTGGGATCCGCATTACTTTACTCAACATA
+CCCAGCGCGCCAGCCAGTTTTTGCGGCAGCGTGCGCGCTTCACTTTCAGGCCAGACAAAGGTGTAAATCA
+CCGCGGACACCACGGTACCAATGATGATACCCAGGGCGCGATCGCGAATTTCCACCAGGTCGTACACCGG
+GCCAAAAACGTTTTCGAGCGTGGCGAGCGCGAAGGTGACCACCATCTGTGTGCCGATATAAGAAGAGCGT
+TCAGAGCTGGTGGCAATCCATGCACCCAACAGGAAAATCGGTGCCAGCACAAATAGCAATTCGACAATAT
+TGTCCAGCCAGGGCATGACCAGCAGCGTGAATAACAGCGCCAGAATTGCACCGCAGAAGGCACCGCCAAA
+ACGCAGCGCCATTTTCTGATACGACGAACCAACATTCGGGTTAGCGACGATCACGCAGGTCAGCATACAG
+GTGTGAATGCCTTCCCAGTCCACGCCGCTGTAGAAGGTGTAACAGATCAAACAGGCGAGCAGCGTTTTTA
+CCGCGTAGCGCATATAGTCTGGATTGGTAAAAGCGTCGGCGACCATTGATGGCGGTTTGGTGGCGGGCGT
+TGGCGGCGTATTCGGGTCCATCTGACCCAGTTGCAATAACGTCTGGCAGATATTCTCCAGGTTACATTCC
+CGTGCCGCCATCGCTTCACTTTCAGTGATCCGCCAGTCGCTTTGCCAGCACTGACCTTCGGCAATGGCAT
+GCTGCAGCTTGTTGATTTCTGAGGCTAATTTTTGCCGAAATTCAATAATTGCCTGAGAATCAGCAAAAGA
+GGTGGGATCGTAGCGATTCAGCGTCGAGTAAATGTAGGTTACCGTTGCCACGCAGCTTTGCCACCATGCG
+CTCTGAGTTCGCCAGTTGGCATCGTCCGCGAGGCAAAAGACATTGAGTTTTTGCAGCGCCAGCGCCTCTC
+TTTCAATCCGCGTTTCGGGTAGCGGTGCGAGGCTGTCCGTCAGGTGGCTAATGGCATCATCAAGCCGATC
+ATTAAGCGCCTGATGCATCTGCGTGATAGCGCGGCTGGGAAACCACAGCACGCCGATTAACGTCATCAGC
+AAGGTTGGATAGAGGCCGACAACGATACACCACAGGGTTAAGCGCACGACCACTTCCGGATAGTCGAGCA
+TGGCGGGGAAGGTTTGCCCGTAAATAGCGACTATGGCGACGGCGAAAAAGACCAGCCCCAACCGATGGGT
+GCGCATCAAAAACATACAGCCCATCAGGATCGGTCCGGCGATGATCAATCGGATCAACGGTTCGCCGTAT
+GACCATTTGTAGATCAAAAACAGGCTGCCGATCTCCAGCACCGTGGCAACCACAAACAAGATCGCGACAA
+ATTTGGTGTAAAACGCGTTCGACTGAATACCGTAAAACAGCACTGCCAGCGATAACGCCACAAAAGGGAT
+CTCAAAGGTCATCGAGATCAGAATTACCAGCAGGCAGCCTACCCAGAGTTGCACGGTCTGCGGCACGCGA
+CCTGGCCGCCGCTCGCTTAACTCTTCATGAAAGAACGCCAGCAGCCTGACCACCGGTAATGGCAGGGAGT
+TGAGCGCGCTCATTATTGCGGCTCAAGATTAGCGACTGCCGAAGCGCCGATGCGGAACATTTCCGGGTCA
+GGTTTATCGACCATGATTTTGACCGGAAAACGCTGGGCAACGCGGACCCAGTTAATAGAACGAGACACTT
+TCGGCAGGCCGCCCAGCACCAGGCCGCCGTCATCCGGTAGCACGCCGTAGCCAATCGAATCCACTTTACC
+CTCGAAGGTTTTGCCGCTGTCGCTCATCAGGCGAATGGTTGCGGGTGTACCTGAGCGAATATTTTTCAGA
+TCGGTTTCGCGGAAGTTGGCGATCACGTACCAGTGACGAGTGTCGATTAGGGTAAAAATAGGGCGCATGG
+CAGAAGCAAATTGCCCGACGGAGGTTTTGAGGGAAATGACCCGGCCATCAAACGGCGCGCGAACGGTCGC
+CATTTCCAGATGCAGTTTGGTCAGGGCAATATCCGCTTCGACCGCCGCACGTTGCGCCACCAGCGCATCG
+ATGCCGCTGACGGCGCTGGCGGCTGACTGCGCCTGTAACAATACGGCATTAAGATCCGCTTCTGCGGCGC
+GCTGCGCAGTTCTTGCACGGTCAACGTCTTCCGCTGAGACAAAACCTTCTTTCAGTAATGGCTCGGTGCG
+GCGTAATGTATCTGTGGCCTGTTTCGCGGCGGCACGGGCTTTTTCTACCGTGGCATTAACCGAGTCGGCA
+CCAAACTGTTGCGCGTCAACGCTACGCTGGGTGAGCATAATTTGCTTATCCAGCGCCGCGAGGGAGGCTT
+CGGCTTTCGCCAGATTGGCTTCGTATGGGCGTGGGTCGATGCGGAATAGCAAATCACCCTGTTTCACCGC
+CTGGTTGTCGGTGACCGCCAGTTCTACAATGCGACCGCTGACTTCCGGCACCACATCAATGGTATCTGCT
+GACGCGTAAGCGTCATTAGTTGATGGCGCACTGTCTACGCGCCAGATAACGAAAACAAGGGCAACCAGCG
+CCAACGCAACCACTAACAGAGCAGGGAATTTACTGCGAGGAGCTTTTTTCGGCGTACTTTCCATGAGCGC
+GTCTCAAATAGATTAGAAAAATGCCAGCCAGAACAGCATGGCGTAGAGAGCAAAAAGGGCGGTATAAATA
+ATTCCGACAAATGCCAGATTGATATTTGCCCGCTGAATAATTCGCCTCGTGATGAGCGTCAAAATAAGGC
+TGGCAATGGCGCAGAAAAACCAGCCGGGATAATAAGCGCCGATCACCGGGATTGCCGGAGATAATGAGCA
+TCCCGAAACCATGAAGACGGGAATTATCCAGGCTGTTTTTTTGAGTTGCATCGCCATGCGAGAGAGAACT
+GTTGGCATATTAAATACATCCTGTCTGCTGCGAACAATATCTGTAGTGAATATCAATATCCATTGAAGGC
+GTCAGTATGGCTATTTTCTCGATGAATAAAAATAGATTTATTCAGCCACCGCATTCATAACTTATATGTT
+TTATGTATTAATTTGTTGTATATATTTTTAAAATAAATGCTTTTGGGGGCTTAAGCGCCCCCAAAAGTGA
+GTAGCATTAATTTGGGGTTACGATATTCACCCACAAATCGAAATTATCCAGACAGGCAATAATTTCTTCC
+AGTTTCGCGCCATTGCCAATAATTTTGGCTTTCTTCGCTTTTACCAGATCCACCATTTTGACTTGTCCGG
+TCAGCACGGCATGCAGATCTTCACGGCTGATGTAGAAAGAGGCGTTGGCTTCAGGTTGCAGCGTTTTACG
+GTAGTTAAGCACGCTATCGTTCAGCGTCAGGTTGAGGTTATCGCCGTTGCTCATATTGAAGTTCAGGCTG
+ATATTTTTACCCGCGGCTTTCGCACTATCGAGGCGAACGGACATAAAGTCGAACAGCATTTCGACCGACA
+TTCCGCGAATGGTGTCCGGGGAACCGGTGGTGCCGTGGCTGAACTTATGTACCCCTTCGCGCAGCTCTTT
+CGCGCCGGTCAGGTAGAAACCGCGCCATGTGGCGGACTCGGCCTGATAGCCCAGCTGTTCAAAGTTATCC
+GCTTGCAGATTCTTCGCGACCTGGTCACCAGGGTTGGCGGCAATCACCTGTTTCAGCAGTTCTGCCGACC
+AGCGGTAATCACCTTGCTTGTTCGCTTCTTTCGCCAGGTTGATGACGCGGGCAGAACCGCCCAGAGCTTG
+CACGTAACGTTTACCCATCTCCACCTGACCATACGGATGCAGGTTAGCCGGGTTACCGTCGTAATAGCCA
+AGATAGAAGTTATACACCGCGCGGGCGTTGTGGCTGACAGAACCGTAATAGCCGCGGCTGGCCCAGTTAT
+TGGCAAGCGCAGGCGGCAGCTTAATCATGTCGCCGATTTCATTCATGGTGTAGCCCTGGTTCGCCAGGTG
+CAGGGTCTGGTCGTGAATGTACTTGATGGTATCGCGATATTTACCAATATAATCATTGATATGCTTATTG
+CCCCAGACCGGCCAGGTGTGCGGCATAAACAGTACTTCCGCGTCGTTACCCCACATATCCAGCGTTTCGT
+TCAGGTACTCGGTCCACTTGCTGGTATCGCGGGTTTTCGCGCCGCGCAGAGTGTAGAAGTTGTGCAGGGT
+ATGCGTGGCGTTCTCGGCGGTACACAGGGCTTTCAGGGCCGGAATATAGAAGTGCATTTCGGCTGGCGCT
+TCGCTACCCGGAGTCATCAGGAAGTCAAATTCCAGGCCGTCGATAATCATCTTCTCGCCAGTTCTGACGA
+TAGTTTTAGTCGGTGCAATAATGCTCGGGTCGCCCGTTGCCAGCGTCACGCCCAGGCCGTTGCCCACGTT
+GCCTTGCGCGTTGTGCGGCAGTAACAGACCGTAAGAGTAGAGCGCACGGCGGCTCATGATGTTACCCGCC
+AGCACGTTTTCGCTGATGGCTTCGTCCATAAAGCCTGCCGGAGCAATCACCTGCACTTTGCCGGATTTAA
+CATCGGCTTCAGAGATAATACCTTTCACGCCGCCATAGTGGTCGGCGTGGCTGTGAGTGTAGATAACGGC
+AACAATCGGTTTTTGCGGACGATGCTGGAAGTAAAGATCAAGTGCGGCTTTTGCTGCAGGCGGCGTCACC
+AGCGGGTCGATAACAATAATGCCTTTCTCGCCCTCAACGAACGTAATGTTAGAGATATCCTGGCCGCGCA
+CCTGATACATTTTATCGGTGACTTTGAACAGGCCTGAAATGCCGTTGATCTGCGACTGACGCCACAGGCT
+GGGGTTTATGGTTTCCGGCGCAGCGGCATTAATATCAAATTTGTAATCATTCGCGCGGTAGTAAATTTTA
+CCGTTCGCATCACGCAGAATACTTTCATCCAGCAGCGGAGCGATAAATCCACGCTGAGCATCGTCAAAAT
+CCTGACGATCGCTAAACGGTAATGATTTGGCGTAATTCTGATTAACCTGTTGGGTATATTGAGTGGCGGC
+TTTCGCTTCATCTGTTGCATTAGCGGTATTTACCATCATGCTGCTGGCGGCAGTTAACGCAATAACAATC
+CTGCTCAAACGGAATAACCGAGAGTTATTCATATAAATCTCCATTTATCATTTATGTCGTAAATATGTAA
+TCCATGCAAAATACGTCATTTAAAGCTGGCGTTATCATAATTGGGAAATTGCGACTTTAATAAGTAGAAG
+TGTGAGCTGAACGCGCCATTTTATTAGGCATTTGTGCTGAAGAGGGAAAAGTACAGTAGAACTATCATTG
+CTGGGAATAATATGGGCTGTTTTATGTAATTATTATATATATTGTACCTGTCGTTGGCACAGCGGGACAT
+TGCGCTACTGTGCCAACGCTTTACTCATGGGACTTTAGCACAGGACTGTGGCAAAAAACGTTGATGCGCC
+AATATTGCTGCACCCTGAGCGCCATTAAAGTCAGAAGATGAGGCGGCAATAAAGCGCACAACCTGATACG
+GCAGTGGACGGCGCAGGTACTTTTGGGTCATGGCAATGAGAGTCTCGCGTGGGAAGGCGGGCATATCCAT
+CACGCCACCACCCAGAATCACCGCATCGGGATCGAACAGATTAATGCTGGTGGCAATGGCTCGTGCCGCG
+TTTTCAAGCAGACTCTGGACGAAAGGGGCGTTTTCCGCATGGACGAAAAGATCGCTCAATGGGTAATTTC
+GGGGCTGTTGTTCGTACCAGCGTCTTAGCGCCATTCCAGAGCAATTGGTTTCCAGGCACCCAGGATTACC
+ACACGCGCAGTGTTGGGTCATATCTCCCAGGGGGATATGGCCCAGTTCGCCTGCCACACCGTGCGCACCC
+GTCCACGGCGCACCGTTCATCCACACTGCGAACCCCATCCCCGTACCGAGATAGGCTGCCAGAACCAGTT
+GTTGCGTAAGGCGATTTTCTACTACGTCCCAGGAGAGTTGCAGGTTAACGTCGCGGGAAAACTCAACCGG
+ACAATTCAGCGTATTTTCGAGCTTATCGGCGAGATCATATAAATCTGCCGCTGTTAACGGCAGGTTAGGC
+GTAGAAATAATGGTGCGTTTATCTTTACTGACCAGCGCCGGAAATCCCATCACCAGACCATGACAGCGAG
+CGTTAAAGCGCCTGAGTTGCTCGTCAATCATTTCGCCGATACCCGACACCAGGTCGGGAGCAATAACTTC
+TGCGGTCCGCTTTTTTTCGCAGTGTAGCGTTTCACCTTCTGCTGTCCGCAGACAAAAGCGGATATGCGTT
+GCCCCCATATCCACGCCCGCTACGACGTTATGCTGTTTTTGCATGAGGCTGTACCTCGCTTTTTGCAGCC
+AGAATCTGCGCGGTCATAATTCTCCATGCTTCGTCGATATTTTCCGCATGATTAAACAGGCCGGAAGTGC
+CGACGATAAAGACATCCGCCCCTGCCGCCATTAGTTTTTCGTAAGTTGCCTGGTTGCAGGAACCGTCCAC
+CTCAATTTCGTACTCCAGACCTTCTCGTTCACGCCATGCCTTCAGTTCGGCAACTTTATCCAGCATTTCA
+GGAATGAAGGGTTGTCCGGCAAAACCGGGATCGACAGTCATGACCGTAATTTTATCAGCCTTATGGATAT
+AGTATTTCATGGCCTCAACCGGCGTTTCCGGATTAAGAATCAGCCCCACTTTCATGCCATGACGGCAGAT
+TTCATCAATCAGGCGGAATGCCTGACCGTTGATAGTTTCCGGATGCAAAGTGATGAAATCAGCTCCCGCA
+CGTGCCAGTTGAGCAATGTAATCCTGCGGACGCGTTACCATCAGATGGCAGTCGAGCGGTTTACTCGCCA
+GTTTTTTTACCTGGCTTACGAAGAACGGTGAGAGCGTCAGATTCGGCACAAAGTGGCCGTCCATGATATC
+GATGTGAAAGTAATCGGCATGGCTGTCGATAAATTCGATCTGTTCTTTAAATTTCAGCAGATCCATACAC
+ATTAACGAGGGGGAGATTTTCATGTTCAATTCCTTACTTACTGATAAGACGGTCAAGGGCGACAGCCGCG
+ATAATTAATCCGCCCATCACCACCAGTTGGTAATAGGTTTGTACCTGCAAAATATTCAGACCGTTGTTGA
+TGGTGCCGATGATCAACCCGCCAATCACCACAGAGAAAATGCGCCCCTTGCCGCCGAAGAAACTGGTGCC
+GCCAATGATGGCGCTGGCAATGGCATAGGTTTCAAAACCCATACCGGCAAGCGGTTCTGCGGCACCGAGT
+CGTGCAGTTGAGACGACGCCTGCCAGACCTGCACAAACACCGGAGATGATAAACACCACCAGGATGTGGA
+ATTTCACGTCAATCCCGGAATAGAACGCCGAGTTTTTGTTGCCGCCCAGTGCGTAGATGTTGCGCCCGAG
+CCGCATACGCGTTGTCAGAAACCAAAGGATGAGCGCGACAATTAGCGAGAAGATAACGGGGACAGGTATC
+CCAATTACGCTGGCGGCAAAGAAGTTCACGAAGTCAAATGAGAAGCCGTATACCGAGTTGGCATCGGAGA
+TCACCAGCGTGATCCCACGGAAAATAGCGTTGGTGCCAAGGGTGATAATGAACGGGTGTAGTCCCGTCCA
+GTTGACCAGGCAGCCGTTGATCGCCCCCAGTGCGCCGCCAACCAGTACACCGCCAATTAGCGCCGCGAGA
+AACGGATCAATACCTGGCAACATCAGTTTAGCGGTCACCATACCGGAAAGCGCCAGAATCGCGCCAAGCG
+AAAGGTCGATACCGGCGACCAGGATAGCGAAGAATTCCCCATGCCGATCAGTACCGTCACGGAGCTTTGC
+ACAAAAATCTGGGTAATATTATTGGTGGTCAGAAAATATTCTGGCGACAGCGAACCAAAAATGGCGACGA
+TGATCGCCAGGATAAAAAAAGTACCGTATTTATCCCAGAACAGCGCAAAGTTGAACGGTTTCTTCTCGCT
+CGCTTCGCTTTTTACTCGTGTGGTAAAGCCCATGCCATAATCTCCTCTTCGCTCATGTCATCGCGATTGG
+TCAGGATTTGCGTCAGTCGTCCTTCGCAGAACACGGCGATGCGGTCGCAGACGGTGATAATTTCAGGTAG
+TTCAGATGACACCATCAGGATGACTTTTCCGTCGTCCGCCAGTTGGCGCATCACTTTGTAAATTTCGGCT
+TTCGCGCCAACGTCGATGCCACGGGTAGGTTCATCGAAAATGATCACTTCCGGGTGACAGCACAGCCATT
+TGGAGATCAGGACTTTCTGCTGGTTACCGCCGGAGAGTTCAGTGATGTTCTGGTTTACCGAATGACATTT
+CAGCGCCAGCAGTTCGCGTTGATTTTCAGCGGTACGTTGCTCGTCAACTTCATGAAACAACCCCATCGCG
+CCTTTATAGCCGCCGTCTTTCAGATTGCGGCTGATAGCCATGTTCTGAGCGATAGAAAAGTTGGGGAAAA
+AGCCGTTATCCCGGCGGCTTTCAGTGATGTAAGCCATCCCTTTTTTCACGGCATCCAGGGGAGAACGTGG
+AGAGATATCTTTGCCATTAAGACGGATTTCTCCGCCAGCGCGTTTATCAACGCCAAACAGGCAGTTCATC
+AGTTCAGTACGTCCGGAACCGACCAGTCCGGCAAAGCCTAATATTTCTCCCCGGCAGACGCTAAATGAGA
+TATCCCGGACCTTTTTTCTGTCACGGCTGGTGACGTTGCGCACCTCAAAAACCGTATCGTGCGCAAGGTT
+GCTGACATTCTCCTTCATCGCGTTAAAACGGTTTTGCAATTCGCGGCCTACCATCAGACGGACGATATCG
+TCATTTGACACATCGCTCACCATGCCGCTGCAAACGCTGCTGCCGTCTTTCATCACCGTATAGCGGTCGC
+AAATACGGCGAATTTCCGCCAACTTATGCGAGATATAGACGATGGCCGTACCCTCCTTACGCAACTGATT
+CATGATCAGAAACAGATAGTCCACCTCTTTATTGGTGAGTGAGGAGGTGGGTTCATCCATGATGATGACT
+TTGGCGTCGAGCATCAGCGTTTTGGCAATTTCCAGCATCTGCTTGTGGCTGATAGATAAGTTCGCCACTT
+TCTCATCTAAATCAACTTTCAAGCCCACGCGTAATAACATCATGGCGGCGCGGACACGCATTTCTCGCCA
+GTCGATAATATTGACACCGCAGATTTTTTTCGTCAGATGACGACCAATATATAAATTTTCCAGTACGGTT
+AATTCATCAATAACGCTGAGTTCCTGATAAATAATCCCGATACCGAGTTGTGCCGCTAATTTATGATCCA
+GTTTGTTATAGTTAATGTTATTAATGGTAATGGTGCCTTTGGTCGGCTCATGTATCCCGGATAACACTTT
+CATTAGCGTAGATTTACCCGCACCATTTTCTCCTAGTAATGCATGTATTTCACCAGGATAAACCGTTAAA
+TTAACCGACTTTAATGCGTGAACCGGACCAAAGGACTTGCCGATCCCCGCCATCGATATATATGGCGTGG
+CCATAAATAACCTCTCTGCACGAAATATCGTATTATTGCCTGATGGGCTACACTTATCAGGTCTACGTTC
+AGGTTATTTTGTTGGCCGGATAAGACACTTCATTAGCATCACCATCCGGCATCATTTAGTTTTATTGAGT
+GACCAGGATTGAATCGACCAGTTTAAATTCCGGTGCTTTATCCAGCGGGATAACCTTGCCGGATTTCTCA
+GCGTCAACCATCAGCTTCAGACCCGTTGCACCGATATCCGCCGGGTTCTGGGCAACCGTCGCGGTCATTT
+GTCCGGCTTCCACCATTTTGCGGGCTTCCGGAATGCCATCTGTACCGACGACCAACACTTTGCCCGTTTT
+TCCAGCGTTTGCGACTGCCTGAGCAACACCCATTGCCATCGTGTCATTCGCGCAATAGATCGCTTTAATA
+TTCGGATTACGTTGCAACACGTTAGTGGCGACATCCAGTGCTTTAATACGGTCCCAGTCGGCAGGCTGGC
+TGGCGACAAGCTTGATCTGGCTTGCTTTTTTGAAGGCTTCGGTGGCACCATTACGACGCGCTTCACCGGA
+GGCGTTACCGGCTTTACCCTCAATGATTGCGACTTCACCCCCTTCGGCACCCAGCTTGTCAATAATGAAT
+GACGCGCCTTTCGCCCCGACGGCAACGTTATCGGTGGTGACAAAACCTTCCACATTACCGCCTGCTTTTT
+TCAGATTATCCATGTCGATTTTTTCATCGAGATTGACCAGATAAATGCCTTTTTTCCATGCGCGGGCGAC
+AGGCATGACCAGGTTCACTGAGGATAATGGTGCGAAGGCGATACCTTTGTAATTTTTATTACTGAGATCT
+TCAAATAACTGCAATTGAGATTGAAAATCGCCTTCTGAAGGAGAGGCAAAAATATCAACGCTGACGCCCA
+GCGTTTTTGCTTCATCTTCAATGCCTTTTTTCATATCTACCCAAAATGGATTGGAGAGTGTTTTCAATAC
+GACGGCATATTCGGCGGCAGCAAAAGCGCTGGTTGACAACATTAAGCCCACGAGTGTGCCGCTGAAATAT
+TTCAGATATTTATTCATAATCATGTTCTCACGGTAAGGGGATAGGTAACTCCGCGATGGCGGAATTACCT
+TTTTCTTATTTCAGCGCGCCTGGTGAGAAGAAATCAACAATTGCGCCGGTTTTTTGCATATTAATATTAG
+CTTGTTCAATGTTGAGCTGGGCGACAGAGACAAAAAACGCGTCCAGCAAAGTTAGTTGTAATATTCTTGC
+CGAGGCATTACGACCTAATAACGGTGTTTCCGGGGCCGGTGAGCAAATAATATAATCGGCCAGCTTCGCT
+ATCGGTGAATGGTAGCTATGCGTTATACAAATAATCTTTGCCCCGTTCTTTTTTGCCAGTTCTACAGCCG
+CTTTTACATCACTGGTTCGCCCGGAATGGGTCACCACCAGCACCACATCTCCTTCCTGTAACAACGAAGC
+AGACATCATCATGATGTGAGCGTCCGGATAGGCCTGGCAGCGTACGCCAATGCGCAAAAACTTGTGCTGT
+ACATCAGCACAGATTGCATTTGATCCTCCGGCACCGTACAAATCCCGCTGTCTGGCCTGATAGAAAAAGC
+GGGCGGCACGGTGGATCTCATCAACGTTGACGATCGACTGACCTTCCATAATGGTGCGTAAAGTGATGTT
+AAATACCTTATTCACCACATCCTGCGGCGCTTCATCAAAAGCCAACTCGGAAGGCAATACTTGTTCTGAC
+TGAGAAAAATAATCTTCCAGCGCACTGCGTAAGTTACGAAAGCCGCTAAACCCCAGCAGCTTTGATACCT
+TAACGATCATCGCTTCAGATACCGCCAGAGCTTCTGCGACATCTTTAATTGCGGGTGCACAACTCAGGTT
+ACCGGGTTTGAGTAACCACTCCACGATGCGGCTTTCGTTTTCTGTCATTCCTTCCTGCTTCATTCGCAGG
+TAAGGCGCTAACCCGATACCGTTCGGAAGCGCTGAATCAAACTCTGACTGGCTCATCACGTTCTCTTGTC
+CTTGAATTGAAGACGCCACTATATCACCACAGCAAGAACAGAAAAGATGCTGGCAACTTCACAAAAAAAT
+AAAATTTATAAAGTTTGTTTTGTTGTGAATAATGGAGAGTGGCTTAAAATTTCATTTCATTTAATCACTT
+TAAAAACATGATGTTATTTGTTTTCCTGGTTTATTAGATGATAGATGTTGCTGGATAGTGAGTGTCTTTA
+ACGCTATTGCGCTGCCAGATGTAACTCTGTAAAACAGATCGGGAAGGCGGATTTCATCGATTTTGGGTGT
+TTTTAATTCATTTACATCACAAATGTTTTTTGATTGTGAAGTTTTGCGCGGGCGGGGAAGATGAATGAAA
+AAGATTGCATTTGGCTGTGATCATGTCGGTTTCATTTTAAAACATGAAATAGTGGCACATTTAGTTGAGC
+GTGGCGTTGAAGTGATTGATAAAGGAACCTGGTCGTCAGAGCGTACTGATTATCCGCATTACGCCAGTCA
+CGTCGCACTGGCCGTTGCTGGCGGAGAGGCTGATGGCGGGATTTTGATTTGTGGCACTGGCGTCGGTATT
+TCGATAGCGGCGAACAAGTTTGCCGGAATTCGCGCGGTCGTTTGTAGCGAACCTTATTCCGCGCAACTTT
+CGCGGCAGCATAACGACACCAACGTGCTGGCTTTTGGTTCACGAGTGGTTGGCCTCGAACTGGCAAAAAT
+GATTGTCGATGCGTGGCTGGGCGCACAGTACGAAGGCGGTCGTCATCAACAACGCGTGGAGGCGATTACG
+GCAATAGAGCAGCGGAGAAATTGAGATTCGTCCACTACTTGCATGGATGAGTAATGACTAATGTGGATAG
+AGTTTCTTTTTGAGGTTGGCTAATGAAACGCTTTCCGCTATTTCTTTTATTCACCCTGCTCACGCTGTCC
+ACCGTTCCGGCCCAGGCCGATATTATCGACGACACCATTGGCAATATTCAGCAGGCGATTAACGACGCTT
+ATAACCCTGACCGTGGGCGAGACTATGAAGATTCGCGCGACGACGGCTGGCAGCGTGAAGTGAGCGACGA
+TCGGCGCAGACAATATGATGACCGCCGCCGCCAGTTTGAAGATCGCCGCAGGCAGCTGGACGATCGCCAG
+CGCCAGCTTGATCAGGAGCGTCGGCAACTGGAAGATGAAGAGCGGAGAATGGAAGATGAGTATGGGCGTT
+GATATAGGGGCCGGCGCGGGTATTTTCCCTCACGCCACCTCAATCTCCATCCCATCAAACCCCGCCTCAA
+ACCCCGATGGTAGCGCGTTTTCCATCAGCCACGCATCAAACTGATGGCTGATATGGGTCAGAATCACCCG
+CGGCGAGCGGATAACCTGATTCAGCGCAAGCACGGTATTTAAATCACAGTGATTACGCGGTGCATCCTCG
+CGCGGCGGGTGGCTGCAATCAATCACCATTACCTGCGGCTGATTATTGCGTAAAAATTTCAGCGTTTTTT
+CCGGCAGGCCTGCGGTGTCAGATAGCCACGCCACCCGGCTGTGCGCCGTTTCCAGTAAATAGCCGAAAGT
+GAGTTTTGAGTGGTTGAGCGGCAGCGGCGTGACCTGTAATCCCTGCAAATCAAACATCACAAATGGCTCC
+ACCGTGTGGCTGAAATCAAGCAGGCCCGAATGTTTGAATAGATCGTCGCAGCCCTGTTCATCCGGCGGGC
+CGTAGACCGGGATCTGATCGCCCACGCCCCAGCGCAGCGGAAACAGCCCCTGCACGTGATCCATATGGTA
+GTGCGTCAGCAAAAACTGCTGGAACGATCCGGGCGACCAGCGATCGGCGAGATCGTGCCGCCCGGCGTCG
+ATCAGGGTGATCGCGTCGTTAAACTTCACGACGCCGCTGCATGGCTGGCGGCGATACTGCGGTGAGCGCC
+GCGCTCTGACGCAGGCCACGCACTCACAGCCCCATGCGGGAACGCCCTGTGCGCCGCCAGTGCCAGTAAG
+TGTGAGGGTCAGGCTCATGTTACAGCACCTTGGTGAAGCGGAAGTGGCTCTGCTCGTAGCCTTCGCGCAG
+GTAAAATCGGTGCGCGTCGTGGCGCTTCACGTTGGTGGAAAGCTCAGTCATTTCGGCCCCGGCCTGGCGG
+GCTTCTTCTTCTGCCCATGCCAGTAATTTGCTGCCGACATTCAGACCGCGCGCCTGCGGCATCACCACCA
+GTTCCTGAATTTCGCCGATCCAGTTGACATGATGCAGATGAAACTGCAAATGCAGGCCGATCATGCCGAC
+AACTTCGCCATCCAGCAGCGCCAGTTGGTAGCGCATGTTCGGATCGCGCAGATTGGCGTTAAACCCCACG
+CGAAACGCCTGGTGGTCAAACTCCGCCTGTTTTAGCTCACAAATCAGCGCGTAAACTGCGTCGGTGTCGT
+ACTGCGTAGCCGGGCGAAGCTCACAAGCAGGCATGGTGTTTCTCCTTCTGATGAATCAGCGTCAGCAACT
+TGTCGACCGACTGGCGCAGGCTGCCGTCATTATTGAGCGTAAGACAATCCTGAGGAGTATAGCGGGCAGC
+GCGCGCCAGCCGGGCGTTAATTTCACTGGCATTTTCACGACCACGGTTTTCCAGGCGCTGGCGCAGGATC
+TCTGGCGAAACCTGTAAACAAACGGGCAGCAGCGCCGATTGATAGCGCGCCCGCGCCTGCGGCAAATGCG
+CGCGTGAGCCGTTGACCACCACGTCAAATCCAGCGTGCAGCCAGAGGTCAATCTCGACGCCGATGCCATA
+ATACAGGCCGTTGGCGTGCCAGCTTAAGGCCAGAAGGTTCTGCCCCGCGCGGGAAAAAAACTCCTGCTCG
+CTCAGGGCGATATGGTTTTCACTTCCGGCGCTGGCGGCGCGCGTGATGTAGCGATGCGCTACCAGTAGCT
+GAGTTTGTTCCCGCTGGCGGAGTTCCGTCAACAGACTGTCTTTTCCGGAGCCAGAGGCCCCCATTAACCA
+AATCAGTTTTCCCGTCATCAGAACACCCTTTTACCCTGACGCCAGACGTGGTCGATATGAATGTGATTGC
+CCTTGCGATGCGCCAGCACCAGGTCGGCGCGTTTGCCCTCGCCAATCACCCCGCGATCCTGAAGATTAAG
+CGCCTGCGCCGGATTTTTAGTCACCAGCTTCACCGCCTGCGGCAGCGTAAAGCGGTTGCTCTCGTCATCG
+GCGACGCGAAATGCCGCATCGAGCAGGCTGGCGGGGTAGTAGTCGGAAGAGAGGATATCCAGCAGGCCAA
+GCTGCGCCAGTTCACTGGCCGCCACGTTGCCGGAGTGCGAACCGCCGCGCACGATATTCGGTGCGCCCAT
+CAGCACGTTCATGCCATGCTTGCGCGAGGCTTCTGCCGCTTCGAACGTGGTGGGAAATTCGGCGATTACG
+CTGCCAAGTTGGTGAGATTCAGCAACGTGGGCGTGCGTGGCGTCATCGTGGCTGGCGAGCGCAATGTGTC
+GCGCGCGGCACATTGCGGCGATGGTTTCGCGATTTGGCTGCGACCAGCGTGCGGCGAGCGCCAGCTGCTC
+TTCTTCATACTGCTGCATCTGCGCTTCGGTGAGCGAGTATTTGCCCTGATAATATTCGCGATACTTCTCG
+CGGTTAGCGAACTGGCGCTGGCCCGGCGAGTGATCCATCAGCGACACCAGCGTCACCGGTTCGCGCTGCA
+CCAGTTTTTCAAACAGCGGCAGCGTGGTGTGATGCGGCAGTTCGCAGCGCAGATGCAGACGGTGCTCGGC
+GCGGTTGACGCCGCGTTTCTGCGTCTCTTCGATGGCGTTGATCATCTTCTCCAGATTCTCCAGCCGATCG
+CCGCCGTCGCGCACGTCGCCAATCGCCACCGCGTCCAGCACGGTGGTGATGCCGCTCGCCACCATCAGCG
+CGTCGTGGCTACTCATTGCCGAGTGGGCGGGCCAGTCCACTTTTGGACGCGGGGTGAAGAATTTATCCAG
+ATTATCGGTATGCAGCTCAATCAGCCCCGGCAGCAGCCAGCCACCTTCGCCGTCCATCGCTTCCGGCTGG
+CGGCTCTGGCTTTCGGCAAAGGCGCGAATTTTGCCATCCTGTACTTCCAGTGAACCGTGCACCACTTCGT
+TTTCCAGCACCAGTTTGACGTTATTGATAATCATGAAGAGACTCCCATTGGGTGCAGGCGGTCGGCGACG
+TCATTGCGTACGGCTTCGTCATGGAAGATACCGACGATGGCCGCGCCACGGGCTTTGGCTTCGCGAATTA
+ATTCCACCACCGCGGCGCTGTTTTTAGCGTCCAGCGAGGCGGTGGGTTCATCCAGCAGCAGAATCGGATA
+GTCGACGATAAAGCCACGGGCGATGTTGACGCGCTGCTGTTCGCCGCCGGAGAAGGTCGATGGTGCCAGG
+TGCCACAGGCGTTCAGGCACGTTCAGGCGCGTCAGTAATCGGGCGGCTTTAGCGGCGCAGGCTTCACGCG
+GTACGCCGGTATCGAGCAGAGGCTGCATCACCACTTCCAGTGCCGAAATACGCGGGATGACGCGCAGAAA
+CTGGCTCACCCAGCCGATGGTGGTTTTGCGGATCTCCACCACTTTGCGGGCTGGCGCGGTGACCAGGTCT
+ACCCATTCCTCACCGTGTTTGATCTGGATTTGCCCTTCGTCGGGCAGATAGTTGGCGTACAGCGAGCGCA
+GCAGGGTTGATTTTCCGCTGCCGGAGTGGCCGTGAAGCACCACGCATTCGCCTGCGTTGACGGTGAGCGA
+GGCACGTTGTAAGACGGGCAGGCGCACGCCGTTTTGCTGATGCAGGATGAAGGTTTTACTGACGTTTTGT
+ACGTTAATCATTTTTCGCCTCGTGGTTCGGGTGTCGGATGCGACGCTGACGCGTCTTATCCGACCTACGG
+GGAGCGCATTTGTAGGCCGGATAAGGCGTTTACGCCGCATCCGGCACCGGCTCAATTCTGCAAAACCGAT
+GACACCAGCAGTTGTGTATACGGATGGTGCGGGTCGTCGAGCACGCGGTCGGTTAACCCACTCTCCACCA
+CTTGCCCCTGCTTCATCACCAGCAAACGGTCCGCCAGCAGGCGGGCGACGCCTAAATCGTGGGTGACAAT
+CACCACCGCCAGGTTCAGCTCCACCACCAGGCCGCGCAGCAGGTCGAGCAGGCGCGCCTGCACAGATACA
+TCCAGCCCGCCGGTTGGCTCGTCCATAAATACCAGCTTCGGATGCGTCACCAGGTTGCGGGCAATCTGCA
+AACGCTGCTGCATACCGCCGGAAAAGGTGGTCGGCAGGTCGTCGATCCGGTTGGCGGGAATTTCCACCTC
+TTCCAGCCACTTCTGCGCGGTGGCACGAATATCGCCGTAATGACGCGCCCCGGTCGCCATCAGCCGCTCG
+CCGATATTGCCGCCTGCCGACACCTGGCGGCGCAGGCCGTCGAGTGGATGCTGATGCACCACGCCCCATT
+CGGTGCGCAGCAGGCGACGGCGGTCGGCCTCGCTCATGCCATAGAGGGAACGGTTTTCATAGCGAATTTC
+CCCTTGCTGCGGCGTCAGGCGCGCGGAGATCGACTTCAGCAGCGTGGTCTTCCCGGAGCCGGATTCCCCG
+ACGATGCCCAGCACTTCCCCCGGCCATAAATCAAAAGAGACATCGCTAAAGCCTTTGCCCGGCGCGTAAA
+GGTGGGTCAGGTTATTGACCGAAAGTAACGGTTGATTCATTGGCTTTTCGCCTCGCTCTGTTGGCGGCAA
+TAATCGGTATCGGAGCAGACAAACATGCGGTTTCCGGCGTCATCCAGCACCACTTCATCAAGATAGCTGT
+GGGTCGATCCGCAGATGGCGCATGGCTCATTCCACTGCTGAACGGTGAACGGGTGATCGTCGAAATCGAG
+GCTTTCCACGCGGGTAAACGGCGGCACCGCATAGATGCGCTTCTCGCGCCCCGCGCCGAACAGTTGCAGG
+GCGGGCATCATGTTCATTTTCGGGTTATCAAATTTCGGGATCGGCGACGGGTCCATTACGTAGCACCCGT
+TTACCTTCACCGGATAGGCGTAGGTGGTGGCGATATGACCGAAGCGGGCGATATCTTCATACAGCTTCAC
+CTGCATCACGCCGTACTCCTCCAGCGCGTGCATGGTGCGGGTTTCCGTTTCGCGCGGCTCGATAAAGCGC
+AGCGGTTCGGGGATCGGCACCTGGAAAATAATGATCTGATCTTCGGTCAGCGGCGTTTCGGGGATGCGGT
+GGCGCGTCTGGATAAGCGTCGCATCGTCCGTACGTTCAGTGGTGTTTACCCCGGTCACGCGCTTAAAGAA
+GTTACGGATCGACACCGCGTTGGTGGTGTCGTCCGCGCCCTGGTCAATCACCTTCAGCACATCGCTTTCG
+CCAATCACGCTGGCGGTAAGCTGTATGCCGCCGGTTCCCCAGCCGTACGGCATCGGCATCTCGCGCCCGC
+CAAACGGCACCTGATAACCGGGGATCGCCACCGCTTTTAAGATGGCGCGGCGGATCATGCGTTTGGTCTG
+CTCGTCGAGGTAGGCAAAGTTGTAGCCGCTCAGATTAGCCATGGTTCTGCTCCTGTTGCAGACGTTTGAG
+TAGCTCCAGTTCGGCCTGGAAATCGACGTAGTGCGGGAGTTTAAGGTGCGAGACAAAGCCTGCGGCTTCG
+ACGTTGTCGGCATGCGCCAGCACGAACTCTTCATCCTGCGCCGGGCCTGTCGCGTGCTCGCCGTACTCCG
+GGGCTTGTAGAGCGCGGTCAACCAGCGCCATCGCCATCGCTTTGCGCTCGCTCATGCCGAACACCAGCCC
+GTAGCCGCGCGTGAAGTGCGGCGGCTCATCCGGCGGGTCGATAAAACCGTTGACCATTTCACATTCGGTC
+ATCAGCAGTTCGCCGACGTTCACCGCAAATCCCAGCTCTTCCGGCACAATCGACACGTCGATATAGCCGC
+TGCGGATTTCGCCTGCGAACGGATGATTGCGTCCGTAACCACGCTGGGTGGAGTAGGCCAGCGCCAGCAA
+ATAGCCTTCGTCGCCGCGCATTAATTGTTGCAGGCGGGAGGAGCGTGAGCAGGGGTAAACCGGCGGCGTG
+CGGGTGATGTCGTCCGGCTGTGCGCCGCTATCTTCTTCAAACTTCGCCAGCCCCTGACGCGCCAGCAGGC
+TGAAAACGTGCGGCGACGGCTGTTGTTCGCTGTCGGCTGTGGTCAGCGTCGGCGCTTCGCCGTTTGCCAG
+CAGGGTGAAATCGAGCAGGCGATGGGTGTAGTCGTAGGTTGGGCCAAGCAGCTGGCCGCCGGGAATATCT
+TTATAAACCGCTGAAATACGCCGTTCGAGACGCATCTCCGTGGTGTCGAGCGGCTCGCTTACTGCGAGCT
+TCGCCAGCGTGGTGCGGTAGGCGCGTAGCAGGAAAATCGCTTCGACGTTATCGCCGCTGGCCTGTTTCAG
+CGCCAGCGCCGCCAGTTCGCGGTCGGCAATGCCGCCTTCGGTCATCACGCGATCTACTGCAAGATTAAGC
+TGCTGTTCAATCTGGGCGACGCTCAGTTCAGGCAAATCGGTATTGCCCCGGCGTCGGCTCTCTTGCAGGG
+CGTGGGCGGCGTCGATCGCCTTCTCGCCCCCTTTCACGGCAACGTACATCAGCATACCTCCACATGAGTG
+GTTCGCGGGATAGCCAGCAGGCGCTCGCCGCAGGTCAGGATCAGGTCGATGCCGAGCGGGAATGGGTGCG
+GGCGCTCGGTAAGTTCGTGCAGAATGCACTCCGGCAGCTGCGGGGCGATCATTCGTTCTTCGGCAATACC
+CGCGCCAGTAAGGCGCAGCATGCGCCCGCCGCTCAGGCTGACGACCTGTAAAATCAGCGTCGCGCCCGCT
+TCTGGCGCAACAGCGGTGCCGCTGGAAAGGGCGTTAAGCTGTTCGCTGGAAATCGCCTCATCCGTTACCG
+CGAAGGTCGCCAGTTCCGGCTGATTGACCAGCGGCGCGTTGGTATGAAAACGCAGGCTCTGGCTGACGAT
+ATCGTTACTTAATGGCGCAGAAAGCCACACCGGCGTGTCGTTATCGGCCAGCGTCAGCAGCACGCTGGTG
+GTGGCGATATTCAGCGGCTGCCAGCCGCGTTTGAGCTGATGCAGGGCGACAATCACGCCCGGCTCGCTCA
+TGGCTTTTAACAGGCGACGAAAACTGTGCTGGGCATCCTGCACGGGAAGCATAAAAGCGGTTTCCAGGGT
+CATGCGTTATCTCCGCGAACCATCGTAAAGAAGTCGACCCGGCTGGCGTTTACTTCGGCCTGGCGTGCGG
+CAATGCGTGCCATACGGTCAGCGTTCAGCGGGGCAATAAGAGTTTCTGATAAGTTTTGAAAATGCCGGGT
+TTGCTGCATCAGCGCGTCAATCAGCGCGCAGCGTTCGGCGTGCTGTTTGTCGCGCCCCAGCACCCAGCTG
+TAGCCGAGCGTGCCGTCAGTCAGGCGTACGGCGGCGCGGGTGAGCGTGGCGTCGCCAGCAAAAAAGCGTT
+CGCCGGTACCACCCATCCGCGCCTGAATCTGCACTAGGCCGGTTTCAGCGGCGCGGATTACTTCATAGTC
+GGCGGTGATGTTCAGCGCGTTCAGGCGGGCTGCCAGTTCAGCCGGTTGGCTGTGTGCCAGTACGGACATC
+CAGTGCTGGCGGGTCGCGGTATCTGCGTGCATTCAGTGCTCCATAGTGAATTCAATCATGTCGGCGCGCG
+TCAGGCTGACGGAGTACTCCGCCGGGCCGCTTTCACCGTCACGGTGGTTAAGGGTGCGCACGCACAGCAG
+CGGCGACATATTCGGGATTTCAAGACGCTGGCACTCTTTGGCCTGGGCGCGGCGGGCGCTGATCCGCGTC
+TGGCTGCGGCGCAGCGCAATTCCGGTTTGCTCGCGCAGAAAATCGTGCAGCGAGCCGCTGTCGAAGCGTT
+GCAGCGTCGGCCAGAGGGCGAGGTCCGCAAAGTAGTGGTCGATTAAACAGAGCGCGACGCCGTTGACCCG
+ACGCAGGGTGCGCAGGTGGATAACGTTCTCGCCCTCGGTAATCCCCAATGCGTCAGCGACGTGACCGGAG
+GCCGGGCGCAGCACAGACAGCAGTTTTTCGCTGGTGGGATGGCTCCCCTGATCCAGCAGGTTCTGGCTAA
+AACGCGCCTGGGTGTGGAGCGGGTAATCGAACGGGCGCATCAGCACCAGTACGCCGACGCCCTGACGGCG
+CTGTACCCAGCCTTTTTCCACCAGTTGGTCGATGGCGCGGCGCAGGGTGTGGCGGTTCACCTCAAAGCGC
+GCCGCCAGTTGCTGCTCGGCGGGAAGATAGTCGCCGCAGCGGTAGTGTTGACGAAGCTCCTGCTCAAGTT
+TTGCGGCTATCTCCTGATAGCGTGTTGGGTAGCTGGTCGGATGTGTAGACAAGTGCATAGATATCAATGC
+CTCGCTTATCAGATAAAGTGCTTACGCAACCGTTGAGAGAGGAAATCCAGCAGGCTGACCGTGACGATAA
+TCAGCACCATCAGGGCGCAGGTTTGCTGGAACTGGAAACCGCGAATCGCTTCCCACAGCGTGATGCCGAT
+CCCGCCCGCGCCAACCATACCGACGACGGTCGCCGAGCGGACGTTGGATTCGAAGCGATAGAGGGAGTAG
+GAAATCAGCAGCGGCATGACCTGCGGTAGTACGCCGTAGAGGATCTCTTCCAGCTTGTTGGCTCCGGTAG
+CGCGAATGCCCTCCACCGGGCCGGGTTCAATCGCTTCTACCGCTTCGGAAAGCAGTTTGGAAAGTACGCC
+GGTGGTGTGGATAAACAGCGCCAGCACGCCAGCGAACGGGCCGAGGCCGACGGCGACCACGAACAGCATG
+GCGAAGACCATTTCGTTAATGGCGCGGCAGGCGTCCATCAGGCGGCGAACGGGCTGGTAAACCCACCACG
+GCACCAGGTTTTCGGCGCTCATCAGGCCAAAGGGGATGGAGAGAACCACCGCCAGCGCGGTGCCCCAGAC
+GGCGATTTGCAGCGTGACGGCCATTTCGGTGAGGTAATCCTGCCACTGGCTGAAATCGGGCGGGAAGAAG
+TCGGCGGCGAAGGTTGCCATGTTGCCGCCGTCTTTGATCAGCGTAAGCGGGGCCATTTCCGCGCCCTGCC
+ACGAGACGACCAACACGGCGAGAACAATGGCCCAGCTCAGAAGCGAGAACCAGCTACGCTTAGGCGGGGC
+GATGGTGATGGTTTGCATGTATTGCTCCAGTCTGTAGTCCGGATAAGGTGCTTGCACCGCATCCGGCATC
+AACGCCTGCACATTGTCGGATGCGACGCCGGGGCGTCTTATCCGACCTACGATTTACTGCACCGCTTTAC
+TCACCGAACTCATTGCGCTTAACGCGTTGTTCAGGCGGTCCAAATCATCCAGTTGCGCCTGAATGGCGGT
+GGTTTTTGCCAGCTTGTCCTGTTCGTTCAGCCCTTTGTTGTCCTTCACGCTTTGCATCTCTTTAAACAGT
+GCGAGCTGGCGAATCGGCACCAGTTGCAAGTCGCTGGAGGCGCGGAACGGCGCCCAGCCCAGGCGCTCCA
+GCACCGCTTTCTCTTCCGGCGTTTTGCCGTAATTCATAAAGAAGTCGTAGATCTTGTCTTTAGTGGTTTC
+GGAAAGATTTTTGCGCCAGACGATCGGATCGCCAGGGATCAGCGGTGATTTCCAGATCACCTTCAGTTCT
+TTCAGCTTCTCCGGCGCGGAGGTTTTCAGCTTGTCGAGGTTTTCGGTGTTGTTGGTCGCCACATCCACTT
+GCTTGTTGGCGACGGCCAGCGCGTTGGTTTCATGCCCGGCGTTGACGGTGCGCTTGAAGTCGCTGGCGGA
+GATATTGTTTTTGGCAAAGACGTAGTAACCGGGGACGAGGAAGCCAGAGGTGGAGTTAGGATCGCCATTG
+CCAAAGGTAAGATCTTTACGCTTCGCCAGCAGATCGTTCAGGTTGTTGATCGGGCTGTCTTTGTTGACGA
+TCAACACGCTCCAGTAACCTGGCGATCCATCCGCCGCGACTGTCTGGGCGAAGACCTGACCGTTGGCGCG
+ATCCACCGCTTCCATCGCCGACAGGTTGCCGTACCAGGCGATATCCACTTTATTGAAGCGCATCCCCTGG
+ATAATGCCCGCGTAGTCCGGGGCAAAGAAGGCGTTGACCTTTACGCCCAGCTTCTTCTCCATATCCTGTA
+AGAACGGCGTCCATTGCGGTTTCAGGTTTTGCTGTGATTCCGTTGAAATAATGCCGAAATTCAGCGCCTT
+TTCCTGCTCTTCGGCGTGCGCCGGGCTTAACAGGGTGCTGAGGCTGAACATGCTGGTGAAGGCCAGCGAG
+GCAATTATCTTAGCGTTCATTCGTTTTCCTCAATGATGGGGATGTCAGGCAGCTTTCGCGTTCTCTTCGA
+CGCGGTTAATGCTGCGGTAGAGATGGTCAAAACGTTCGTTATCAAACTGTTGGCTGCTGCCGTCGTAGAA
+GACGTGCCCCTGGCGCAGGGCGACGATGCGTTCGCAGTAGCGCAGGGCGTAATCCACCTGATGCAGCGTG
+ACGACCACGGTAATGCCGTCGTTCTGGTTAATGTCGCGCAGGGTGTCCATCACGATGCGCGCCGATTCCG
+GGTCCAGCGAGGCGATGGGTTCATCGGCCAGAATCACCTTCGCCTGCTGCATCAGCGCGCGGGCAATCGC
+TACACGCTGCTGCTGGCCGCCGGAGAGGGTGGAAACGCGCTGATGGGCAAAATGCACCATGCCAACGCGG
+GTCAGTGCCTGTAACGCGCGCTGTTTCTGCTCGCGGGTGAACCAGCTAAAACAGGTGCGCCAGAACGGCG
+TGCTGCCGAGCGCGCCAATCAGCACGTTCTCCAGTACGCTCAGGCGATTCACCAGGTTGAATTGTTGGAA
+GATGTAGCCGGTATTGGCGCGGCTTTTGCGGATATCGCGGGCCAGGCGGCCTTCGCGCTGGACTGTGCGG
+CCCAGCAGCTCGATATGGCTACCGGCAGATTTATCGCCGGTAATCAAACCGCTTAAGTGACGTAAAAGGG
+TGGATTTGCCGGAACCCGACGGCCCAAGCAGAGCCACCATTTCACCGTGATGAATGTTCAGATCAACCGC
+GTGCAGCGCCTGATGCTGATTGAAGGTTTTGGCGAGCTTCTCGACACGGATAATCGTTTGCATGATGCAG
+CCTCCCTAAAAAAGTGGCTCCATCGTGGCGGATTATTGTGACGATTTTGTTAACTAAAAGTGACTAACGG
+ATGAAGAGTTAACGAGATTTCGATGACAGTGCGGGAGGGCGGCCCTCCCGGCGGGTTAGTGCGTTGGTTG
+TTGTTTGACGACATTAATCATCCACGGTACGCCAAATTTATCGGTGACTTTGCCGAAGCCATGCGCCCAG
+AAAGTTTCCTGCCAGGCCATTTCGATTTTTCCGTTGGCGGCAAGATTGTCAAACCAGCGTTTCCCTTCTT
+CGACCTGTTGCGAATCGAGCACCAGCGTAAAGCCGGAGTAGCTGGCTTTTCCTGACGGTATAGCATCGCT
+CATCATGATATCGCTTCCGGCAATGCGCACATTGGCGTGGGCGATGGCGGTATCGGGAAATTGCATTCCG
+GAAGGGCAGTTCTCGGCGCTGTCCTGCGCTGATTTTGGCATTTCGCCGAAGCTGATTTTATAGAGCAGTT
+CAGCGCCCAACGTACGTTGATAATAAGCAATTGCGTCGGCACAGTTACCGGCAAAAGAGAGGTAGGGACT
+TAACGGCATGATGGTGACCTCAGTTAAGAGAAGCCAGTTAAGTGTAGTTCGAAATTTATACAGATGAGAG
+GGAAGCCTGATAAGACGCGGTCAGCGTCGCATCAGGCAGTCGGCATCGTTGCCGGATGCGGCGCGAGCGC
+CTTATCCGGCTTACCGATCACAATACAATCAGTTCTTTTTCACAAACTCAGATTTCAGTTTCATCGGACC
+AAAACCGTCGATTTTGCAATCGATGTTATGGTCGCCTTCAACCAGGCGGATGTTTTTCACTTTGGTGCCA
+ATTTTCAGCATCGAAGAGCTACCTTTCACCTTCAGATCTTTAATGATGGTAACGCTGTCGCCGTCAGCCA
+GCAGATTGCCGTTAGCATCTTTAACGATCAGCTCGTCGCTTTCCTGTGCAGGTTCTGCGTCGTTCCATTC
+GTAGGCACATTCCGGGCAGATGTACATGCCGTTATCTTCGTAGGTGTATTCGGAGTTGCATTTTGGGCAG
+TGTGGTAATGACATGTGGATTTCCTCAAAAGTCAGCAGGGCAAAAGCGCCAAAAAACGGCAGATTGCCGA
+AAAAGGCCGCAATTATACACAAAATCCCTGAGTTTGTCGGGGGTACTGCTGATTTTAGACGACGATCGTT
+TTCATTTGAAAGGAAACGCAAAAAGAAAATAATCTTTTTGCCTCCATTTATTATTTAAGATAAGGTTAAT
+GTTCTACTTGTTCTTTTTTTAATTCAAATGATATTTTTTATCTTTCTGACGTTTTAAACGTATCGGAAGA
+CGTTATTTATTCTAATAAAAAATAACACTCTAAATATAAAATTATTTCTTGCAGTAATTATAAAAGCCGA
+AAACAGAACTCAAAAGCAATCTGGCTAAATAAAAGTAATAAAATTTGCTTTAAGGAAGAATTTTCTATGT
+ACACACAGACCCTGTATGAGTTAAGTCAGGAGGCTGAACGCCTGTTACAGCTTTCTCGCCAACAGTTGCA
+GTTACTGGAAAAAATGCCTCTCTCTGTACCCGGAGACGATGCGCCACAACTGGCTTTACCCTGGAGTCAG
+CCTAATATCGCCGAACGTCACGCGATGCTGAATAATGAGTTGCGTAAAATTTCCCGACTGGAAATGGTGC
+TGGCGATTGTCGGTACCATGAAAGCAGGGAAATCAACCACCATTAATGCCATTGTTGGTACGGAGGTACT
+GCCTAATCGCAATCGCCCAATGACTGCACTGCCGACGCTTATTCGCCATACGCCCGGGCAAAAAGAACCG
+GTACTGCATTTTTCACATGTCGCGCCAATCGACCATTTAATTCAACAATTACAACAGCGCCTGCGTGATT
+GCGATATTAAGCATCTGACCGATGTGCTGGAAATAGATAAAGATATGCGTGCGCTTATGCAGCGGATCGA
+AAATGGCATCGCTTTCGAAAAATATTATCTGGGTGCTCAACCTATTTTTCATTGTCTGAAAAGTTTGAAT
+GATTTGGTGCGACTGGCGAAGGCGCTGGACGTCGATTTTCCTTTTTCTGCTTACGCCGCCATTGAGCATA
+TTCCCGTGATTGAAGTGGAGTTTGTCCATCTGGCGGGGCTGGAGAGTTATCCCGGTCAGTTGACGTTACT
+GGATACCCCCGGGCCAAATGAAGCCGGGCAACCGCATCTGCAAAAAATGCTTAACCAGCAGCTGGCACGC
+GCCTCGGCGGTACTGGCGGTGCTGGATTATACGCAACTGAAATCGATCTCCGATGAAGAGGTCCGTGAGG
+CGATTTTGGCGGTGGGGCAATCGGTGCCGCTGTATGTGCTGGTCAATAAGTTCGATCAACAGGATCGTAA
+CAGTGACGACGCCGACCAGGTGCGGGCACTGATTTCCGGGACGCTGATGAAAGGCTGTATTACGCCACAG
+CAGATATTTCCGGTGTCGTCGATGTGGGGCTACCTGGCGAATCGGGCGCGTAATGAGTTAGCCAACAGCG
+GTAAGTTACCCGCGCCAGAGCAACAACGCTGGGTGGAAGATTTTGCCCATGCCGCGCTCGGCAGGCGCTG
+GCGTCATGCCGACCTGGCGGACCTCGAACATATTCGTCATGCTGCCGATCAGTTGTGGGAAGATTCGCTG
+TTCGCCCAGCCAATTCAGGCGTTGCTTCATGCCGCTTACGCTAACGCCTCGTTGTATGCTCTGCGATCTG
+CCGCGCATAAACTGTTGAATTACGCGCAGCAGGCGCGGGAATACCTGGATTTTCGTGCGCACGGGTTAAA
+CGTCGCTTGTGAACAATTGCGGCAAAATATCCACCAGATCGAAGAAAGTTTGCAGCTATTTCAACTCAAT
+CAGGCTCAGGTGAGCGGCGAGATTAAACATGAAATCGAGCTGGCCCTGACCTCCGCCAACCTCTTTCTGC
+GTCAACAGCAAGATGCGGTGAATGCCCAGTTAGCCGCGTTGTTTCAGGATGATTCGGGGTCATTAAGCGA
+GATTCGTACCTGCTGTGAGACACTGTTACAGACGGCGCAGAACACCATCAGTCGCGACTTTACGCTGCGT
+TTTGCCGAGCTTGAATCCACCCTTTGCCGGGTGTTAACCGATGTTATTCGGCCCATTGAGCAACAAGTCA
+AAATGGAATTGAGCGAGTCAGGGTTTCGTCCTGGGTTTCATTTTCCTGTTTTTCACAGCGCAGTTCCCCA
+CTTCAACACTCGCCAGCTGTTCAGTGAAGTCATTTCGCGCCAGGACGCAATGGACGAGCAGAGCACGCGT
+TTAGGCGTTGTGCGTGAGACTTTTTCGCGCTGGTTGAATCAGCCCGACTGGGGACGGGGAAATGAGAAAT
+CCCCGATAGAGACGGTTGATTACAGTGCGTTGCAACGAGCATTAAGCGCAGAAGTCGATCTTTATTGCCA
+ACAAATGGCTAAAGTTCTGGCAGAGCAGGTCGATGAATCTGTTACGGCAGGCATGAATACTTTTTTCGCT
+GAGTTCGCTTCATGTTTGACGGAATTACAGACGCGTTTACGCGAAAGTCTGGCTCTGCGTCAACAAAATG
+AATCGGTGGTCAGGCTGATGCAGCAGCAATTGCAGCAGACTGTGATGACTCATGGCTGGATTTACACCGA
+CGCTCAGCTGTTACGCGATGATATTCAAACACTTTTCACGGCAGAACGATATTGACCAAGACGTTACTGG
+ACGGCCCCGGTCGCGTGCTGGAGTCGATTCATCCCCGCTTTTTAGTGGATCTGGCGCAGGGCGATGATGC
+CCGCCATCCACAAGCCCATCAGCAGCAGTTTCGTGAACGACTGATGCAGGAACTTCTTGCGCGTGTGCAG
+CTTCAGGCATGGACGAACGGCGGGATGTTAAATGCGCCGCTTAGCCTGCGTCTGACATTGGTGGAAAAAC
+TGGCGTCGATGCTGGATCCCGGTCATCTGGCGCTGACGCAGATCGCGCAACATCTGGCGCTGCTGCAAAA
+AATGGATCACCGCCAGCACTCTGCTTTCCCTGAGCTCCCCCAGCAAATAGCCGCCTTGTATGAGTGGTTT
+TCAGCCCGTTGTCGCTGGAAGGAAAAGGCGTTAACGCAACGAGGCCTACTGGTGCAGGCAGGTGATCAGA
+GCGAGCAAATTTTTACCCGCTGGCGTGCTGGGGCGTATAACGCCTGGTCGTTGCCTGGGCGCTGTTTTAT
+CGTTCTGGAGGAGTTGCGCTGGGGTGCATTTGGCGATGCCTTTCGTCTGGGAAGCCCGCAAGCGGTGGCG
+TTGTTGCTGGGTGATTTGTGCGTGAAAGCGACACAACATCTGGCAGAGAGTATCAATGCGGCCCCGACCA
+CGCGTCACTATTACCATCAGTGGTTTGCCTCTTCGACCATTCCGACGGGCGGGGATCATGCTGATTTTTT
+AAGTTGGCTGGGAAAGTGGACCACGGCAGATAAACAACCCGTTTGCTGGTCAGTGACCCAACGTTGGCAA
+ACTGTCGCGCTGGGGATGCCACGACTCTGTTCAGCGCAGCGTCTGGCGGGGGCAATGGTCGAGGAAATCT
+TCTCTGTAAATTTGGTGTAAATAATCAGTTACACCAATGAGTCCTAAACGAAATACATGTGTGAAGTTGA
+TCACAAATTTAAACACTGGTAGGGTAAAAAGGTCATTAACTGCCCAATTCAGGCGTCAACTGGTTTGATT
+GTACATTCCTTAACCGGAGGGTGTAAGCAAACCCGCTACGCTTGTTACAGAGATTGCATCCTGCAATTCC
+CGCTCCCCTTTTGCGGCCGTCGCGCTGATTTTTCTGGCGTTTGCGGAAATGGGCCAACTCTGCGAGGAAA
+GCTATGCTGAAAAGGAAAAAAGTAAAACCGATTACCCTTCGTGATGTCACCATTATTGATGACGGTAAAC
+TGCGTAAAGCCATTACCGCAGCATCACTGGGTAATGCAATGGAATGGTTCGATTTTGGTGTTTATGGTTT
+TGTTGCTTACGCATTAGGTAAAGTTTTTTTCCCGGGGGCTGACCCCAGCGTGCAGATGGTTGCTGCACTT
+GCCACTTTCTCCGTTCCCTTTCTGATTCGACCGCTTGGCGGGCTCTTCTTTGGTATGTTGGGCGATAAAT
+ATGGTCGCCAGAAGATCCTCGCTATCACTATTGTGATTATGTCGATCAGTACGTTCTGTATTGGCTTAAT
+ACCGTCCTACGACACGATTGGTATTTGGGCACCGATTCTGCTGTTGATCTGTAAGATGGCACAAGGTTTC
+TCGGTCGGCGGTGAATATACCGGGGCGTCAATATTTGTTGCGGAATACTCCCCTGACCGTAAACGTGGCT
+TTATGGGCAGCTGGCTGGACTTCGGTTCTATTGCCGGGTTTGTGCTGGGTGCTGGCGTGGTGGTGTTAAT
+TTCGACCATTGTCGGCGAAGCGAACTTCCTCGACTGGGGCTGGCGTATTCCGTTCTTTATTGCTCTGCCG
+TTAGGGATTATCGGGCTTTACCTGCGCCATGCGCTGGAAGAGACTCCGGCGTTCCAGCAGCATGTTGATA
+AACTGGAACAGGGCGACCGCGAAGGTTTGCAGGATGGCCCGAAAGTCTCGTTTAAAGAGATTGCCACTAA
+ATACTGGCGCAGCCTGTTGACATGTATTGGTCTGGTAATTGCCACCAACGTGACTTACTACATGTTGCTG
+ACCTATATGCCGAGTTATTTGTCGCATAACCTGCATTACTCCGAAGACCACGGGGTGCTGATTATTATCG
+CCATTATGATCGGTATGCTGTTTGTCCAGCCGGTGATGGGCTTGCTGAGTGACCGTTTTGGCCGTCGTCC
+GTTTGTGCTACTTGGTAGTGTTGCACTGTTTGTGTTGGCGATCCCGGCGTTTATTCTGATTAACAGTAAC
+GTCATCGGCCTGATTTTTGCCGGGTTACTGATGCTGGCGGTGATCCTTAACTGCTTTACGGGCGTTATGG
+CTTCTACCTTGCCAGCGATGTTCCCGACGCATATCCGTTACAGCGCGCTGGCGGCGGCATTTAATATTTC
+GGTGCTGGTTGCCGGTCTGACGCCAACACTGGCGGCCTGGCTGGTCGAAAGCTCGCAGAATCTGATGATG
+CCTGCCTATTACCTGATGGTAGTGGCGGTGGTTGGTTTAATCACCGGCGTAACCATGAAAGAGACGGCAA
+ATCGTCCGTTGAAAGGTGCGACACCGGCGGCGTCAGATATACAGGAAGCGAAGGAAATTCTCGTCGAGCA
+TTACGATAATATCGAGCAGAAAATCGATGATATTGACCACGAGATTGCCGATTTGCAGGCGAAACGTACC
+CGCCTGGTGCAGCAACATCCGCGAATTGATGAATAAGCTGAAACGGATGGCCTGATGTGACGCTGTCTTA
+TCAGGCCAATTGAACTCTTAAGGTTCACTTAATCTCTGACGCGCATACTCTCCTCCAGGTTAACGGAGGA
+GAGTGCAATGAAAAACCGTGTTTATGAAAGTTTAACTACCGTGTTCAGCGTGCTGGTGGTCAGCAGCTTT
+CTTTATATCTGGTTTACCACGTACTGATCTTTCTTCAGCCGTACCCAGGCCCGCGTGCCGGAAGTCTCTT
+GCCGGTTTTGCAGGAAAAACTGCCCGTGATGCAACTGTGTAATGCGGCTGACAATACTTAACCCCAGACC
+AATCCCGCCATAACGGCTGTCCATACGTACAAACGCTTTACTCAACTCCCCGCATTTACTCTCATCAATA
+CCCGGTCCTTCATCTTCAACGGCCATGACTGCTCCGCCATCTTCTTGCAGCTTAATCATAATGTTGCTGC
+CTTGCGGGCTGTAACGATGGGCGTTTTCTACCAGGTTTCGCAATAACATCCGCAGCAGGGTTGCATCACC
+CTGAACGGTGATGTCGGCGGCGCTCTCTGGCAATAGCAGGGTTTGCTGTCGCTGGTCGAGCATGGTACTG
+AGTTCGTCATACGAGGGGAGAATGACATCTTCCAGCAGTTTTACATGTTGATAATTCCCGGAAGAAAATG
+ACTGTCCGGCACGCGCCAGTTGCAGCAGCTGGGAGACACTCTCCATCATCTGATCAAGTCGAGCCACTAA
+CGGTGCTACATCAATGTGATGCGTTTTCGCCAGCAGTTCCAGATGCAAACGCACCCCCGCCAGTGGCGTT
+CGCAGTTCGTGCGCGACGTCAGCGGTAAACAACCTTTCGTTATCCAGCGTGCTGGTCAGGCGACTGACCA
+GATCGTTTAACGCTGAAACCACCGCTTCGATTTCGAGGGTGGCGCTGTGAATGGCAATGGGCGTTAAGTT
+GTCGGCGGTGCGCGCTTCCAGCTCTTTTTGCAGCTCCGCCAGCGGGCGGGTGATGCGGCGTACCGCCTGA
+TAGCAGATAAATAGCGTCAGGCTGACCATAAAGACGCCGGGGACAATCAGGCTGGCGACCGCCTCGCGGA
+TCTCACGCATGATGTGGCGATCGTTGTTGCGATTGTCGCGTAGCGCCTGCTCAAACAGCTGAATCTGCTC
+GGTACTTTCATGCCATAGCCAGAAGACGCTGATCAGCTCAAACACCAACAAAATGGCCCCGATGGTCAAT
+ATCAGCCGTTGGCGCAGCGATATTGGTCGGCGCAGAAAACGCATCAGATTCAATTAGTTTTCCTCATTTG
+CGACCAGCATATAGCCAAATCCGCGCACGGTGCGGATACGGGCTTTGCCCACTTTGTCGCGCAGATTGTG
+GATATGCACTTCCAGGGTGTTGGTCGAGGGTTCATTGTCCCAGTTATAGATGTCGTTGTAGAGAATTTCC
+CGATGCACCGGACTGCCTGCTTTGAGCATTAACCGTGACAGCAGAGCATATTCTTTGGGCGTCAGAATCA
+ACTCTTCACCGCCCATCCATACCTGACGGCGACCCATATTCAGCGTCAGATTGCCAACAATCAGCTCACT
+TTCGCCCTGATTATTATGGCGTCGTAGCAGGGCGCGGATACGGGCGTGTAACTCTTCCAGCGCAAAAGGC
+TTCACCAGATAGTCATCGGCACCGACATCCAGCCCGGCGATTTTGTCGGTCAGCGTATCGCGAGCGGTGA
+GGATCAGTACCGGCAGGGTGTATTTTTTCTGCCGGATACGGGCGAGAAAATGCAGTCCATCTTCGTCGGG
+TAACCCTAAATCCAGTACCACCAGGCTGTAATGACCGGCCTCAAGGCTTTGTTCCGCCATCCGCGCGGTT
+GTCACGCCATCGCACGCGTAGCCTTCGGTTTGCGCCGCCAGAATTAATCCCTGCAATAACAGCGTATCGT
+CTTCAACAATCAGAATTTTCATTCACTCACTCTCCTGCAAGTTTGCAGAATATCATCCGCAGCCTGGTAA
+TACTTCGTCTCAACGCCAGTTAATCCCAATAGCGTGGAGAATAAATTATCTTGTGAATAGTGTTGCGTTT
+GCGCCTGTTTTTGCAGGCAGTTCTGGTCAACCTGATACCGTTTTTGATAATCCTCCGACAGCCACAGCAG
+CATTGGCACCTGTTTTTGGCTATCCGGGGCGATGGCATAAGGCAGACCGTGCAGATAGATGCCATTTTCA
+CCTAACGATTCACCGTGGTCAGAAAGATAAACCAGGCTGGTGGTAAATTTATCCTGATGTTCTTTCAGCA
+GATTAATCGCTTTATCAACAATATAGTCGACGTAAACCAGCGTGTTGTCGTAAGTGTTCACCAGTTGCTC
+TTTGGTACAGGTCTGGATCTCGTTAGTGTCGCAGGTTGGGGTAAATTTCCTGAACTGCGGCGGATAGCGG
+TTGTAATAGGTCGGGCCGTGGCTGCCGATAGTGTGTAATACAATGAGGCCATCGCTTTGCAGATTATTGA
+TGTACTCTTCCAGCCCGTGGAACAGCACTTCGTCATAGCATTCGCCGTTGATGCACTGACCAGGCAGGTT
+CAGCGCGGTGATGTTCTGGTGAGGTACGCGATCGCAAACGCCTTTACAGCCGCCATCGTTGTCATTCCAC
+AGCACGTTGATGCCCGCTCGCTGAATGATATCCAGCACGCCTTCCTGGTGCTGTGCCAGCTCTTCTTTGT
+AGTGCTCACGCGGCATATCCGAGAACATGCACGGCACTGAGACGGCTGTTGCTGTGCCACAAGATGCGGT
+ATTAGGGAAATAGACCACGTTATCTTTTGCCAGGCGAGGATTGGTTTCGCGTGGATAACCATTCAGCGAG
+AAATTCTCTGCGCGCGACGTTTCTCCGACGATCAAAATGGTCAGGTTTTTACGTTTCCCATTTTGCATTA
+ATGGGTTGCGGTGAGCATCTTCACCAATGCGTATCAGTGGCAGGTTGGCTGACCGCTGGTGAGAGTACCA
+CGACCAGCTAGCAACAATGCTGTTGGACGGGCTTAAGGATTTCACCAGCTCTTTGTTGTTGCGAAACAGC
+GAGGCATAGTCTTTGTAGAACAGTGCGGCAACCAGCAGAATCAGCAGTACAGAAATCAGGATGCTGGCCC
+CGCGGAAAAGAACGCTGCGCAGGCGTGAGGTGGTGGGGGTGATTTTGATCCAGCAGGCAATAATCGCGGC
+TAACACGCCACTTAACCCCAGCGTTAATAACATTCGTGGCGTCATCAGGGCATAACTTTCCGCCGGCGTA
+GTATCAATGATATTGGTGATCATTGAACGGTCGATGACGATGCCATAGGTCATGATGAAATATTGTGCAG
+CCGCACCGACCAGAATAAACAGGCAGGCGAGTGGACGATTAAGCCATAAGAAAGAGCCTAGTGTCAGGAC
+AATATTAATCACGCTGAATGCGACGACCGGCATCGACAAGAAAACCAGCACGTTATGCAGTGAATCCAGC
+GGTAACACCTGTAGCACCTGTTTAAAAAAGGCGATATTCAGGCAGACTGAGATATAAAAAGTAGCAAGTA
+ATAACCAGGAGAATAAATTTAAAGAGGGTCTTTTTAGTAGGCGCTTCAACATCACGGTGTTTCCATCGAA
+CAAAGTGCGCATATGCTCGCAAAGCAAAATTAAGCCAACCTTAAGTTCTTAAGGTTGGCTTTTATGTTTG
+CTTGATTAAGGGGAATTAATCTTTGCTTATTGGTGCATCTAAGGGATACGGGTTTTTATGCAGCCGGTTG
+TAATTCAGCGCATACATGGCGGTGATTACCATCAGAGTGACAAATGACCACATAACCTCTTTCGCGCCGG
+ACCCTACTACGGCCCAGATGCAGTAGAGGAAGGCAATGGTAGTAACTGCCAGGTATGCCGGGCGTGCTTT
+ACCAAAGTGACCGTGGCCGAGCAGTAGTAACGCTGCACAGGTGTAAAGATATGGCACCAGTGTAAAGATG
+ACCGACACGGAAGAAACCAGACCGAATTCTTTGGTCGCGTTTGGCGAAATGCTACTGAGCTGGAAGATGG
+TCATCAAAATACCGACGATAATCAGCCCCGCCACTGGCGTGCCCGCTTTATTTACACGGGCAAAAATCGG
+TGGGAACAGTCCGTCATCGGCAGCGGCTTTCGCCGTTTGACCCGCCAGCAACGTCCAGCCGCCCAGTGAA
+CCTAAGCAACCCGCAGCTGCGCAGAAGGAAACAATGGCCCCGGCGGTGTCACCCAACGCCATCCGTGCGG
+CATCACCGAATGGCGAAGCAGAAACGCGCAGTGCGGCATTAGGGATCATCCCCATAATCGCGGTGGTAGA
+AAGTACATAGCAAACGGCAGCAATCAATACCCCGCCAATGGTGGCGATAGGGACGTTGCGTTTCGGGTTT
+TTCACCACACCTGCGGCAACGGAGTCACTTTCCACACCGATGAACGACCACAGCGTAACGTTAAGGGTAC
+TTTGAATCGCACCGAAGGTGCCCAGGCCGCTGACGTTCCATGCCGCCATATAGGTTTCACCACGGAACCA
+GAACCAGCCAAATACGGCAATCCCGACGATGGGGATCAGCGCCAGCACGGTAGCAACGGCCTGTACGCGG
+GTGATCATTTTCGGACCGACAATGTTCAGCAGGACGAAGATCCACAGCACCACGACGCAGGTGATGGTTA
+ATACCAATGGATCTTTCAGAATCGGGAAGAAGTAACTTAAATATCCTACGCCAATGACCACCATAGCGAT
+ATTGCCGATCCAGCAGGCCAGCCAGTAGAGGACGTTGGTTTGATAACCGAGAAACGGGCCAAAGCAGCGG
+CGGGCGTAAGCGTAAGAACCACCAGGACTTGGGTCGAGGAACGACATTTTGGCGTATACCATCGAGAGCC
+CCAGCGCACCGATAATCGTCACCAACCATCCATAAATGGCAATCCCGCCAGTGGAGGCCAGGTTTGCAGG
+TAACAGAAAAACACCTGACCCCATAATATTCCCCGACACCATCAGGGTGACGGGGATTAAGCCCACTTTG
+TGAGCATCAGCATCCGAAGACATAATTAAACTCCTGCGAAGGCGAGCTTCGTGACAATAAATTACGTCAT
+ATCATACGCCTGCATTCGATAGTTGAATTATTATCGGCCGGGTTATCGCTGATGCCGTTATTAATATAGC
+TCTTCGTTAAGGTTAAAAATCAGGCGACAGTGCGTTCTCTGTGCTGACTAACATAATGCAGCGGCGTCAT
+ACCGTAGAAGTCTTTAAAGACAGAAATAAAGTACGACGTACTGTTGTAGCCGCAGGACTGTGATACCTGA
+GAGATATTTTTACCGTCCATCATTAATTCATTTACGGCATAGCGCATGCGGCAGGTGGTGATTATTTGGC
+TATAACTGGTGTTTTCGCTTTTCAGCTTTTTCTTTAACAGACTTGGGCTAAGACATAAACAACTGGCTAC
+CATACTAAGATTCCAGTCTTTGTGGATATCGCTTTCAATAATTTGATAAACGCTGTCACTTACACAATTA
+CGTAACATATACATCATTAGTGAAAGGAATTTTTTACTGTCGAGAAAACGGGATAGCACAGTGAATAATA
+ATGCACGTGTTCGTTCCTTTTCTGACTCAGTTTCAGCGGGCATCATGCTATGCTGCGCGGCAACGCGAAA
+GACGTCTGGCGTCAGGCATGGCAGGGTGAGGATGGGCGTAGCGCTACGTTGCCATACTGGTATTTGCGAG
+AGATCTTTATTCAGAAACCGGAGGTAATCTTTGATGATGTCGTGACTAATATGAGCAACCAAAGTGTTAT
+TAAGAGAGGAGACGTCGATAATATTATTTTCACAATTTAATAACGCCATGTGGTTAGCTTTAAGGCTAAT
+AGGTTCTTTCCCATTCACCCTTATCCAGACATCTTTTTCAGTCAATAAAACAATACAAGGTTGGTCGCTG
+CAAATCCTCATACATGTACTCCTGAGTGCGAATAAAAGACCAGTTCTCGCTAAAGCGAAGCGATACCGGG
+AAATGGTTATATAATTGTATGATGAATATAAACATGCATAAAAATAACGAGTTTTACTAATATTACAAAT
+TTTTATAGTAATTTCTCATGTACATATTTTTTTACAGGCTAAAAAAAGGATAAATAACAGGCAAAAAAAA
+GCGCGGGGTGGGACCGCGCAAAAAGCATGACATTTTTTGTTTGCAGCAATTTTTATGAAAACGTTGCCAT
+ACTTAAAAGGCCTCAAGCCAGGCGGCGTAATGTTATTTAACAATTACGCCTTCAGCGGAATAGTGGTTAC
+GCTTTCACACACATAACGTGGTAAATACCGTCAATAATTTCTGTCCCTTCTGTTTCGTGTTCAAATCCAG
+GGAAATGATGGTCCCAGGATTGCAGCGAGCGTAAATAACTTACTTGCGGACTGTTTTTATCGCCGAAGTT
+TTCACCAGACAGCAGCATCGGGATTCCTGGCGGATACGGGATAACTGAGTTTGCCGCGATACGTCCTGGC
+AGATTTTCAATGGATACCAGTTCGACATTGTTGTCGACAATCGCGTTGTACGCTTCACGCGGGGTGATTT
+CCGCCACCGGTAGGCCGGAATAGGCTTCATTCAACCGTGCGCCAGGGTTGTTTTCTTTCAGCCAGGCAAA
+CATGGTGTCACCCAGATCGTGAATCCCTATGTTCGCGTAAGTGTCAGGATATTGTTCAACAAGTTCCGGC
+ATCACCTGCGCCAGCGGTGTGTTGGCATCATAGTGGCGTTTGAAGGAGCAAAGGGTGTTAACCAGAGTCC
+CCCATTTCCCACGGGTCACGCCCATAGAGAACAGGAACATAATCTGGAAGTCAGTGGTACGGGTAGGCAC
+AATGCCGTGGCGACCAAGCCAGGCTGTGACCAGCGCCGCCGGAACACCGGTTTCTTCCAGTTCACCATCT
+TCACCCATTCCCGGAGCAAGGATGCTGACTTTAATCGGGTCGAGCATACTCCAGTTATCCGGAATATCTT
+TGAAGCCGTGCCAGCTTTCGCCCGGATGCATGACCCAGCAGTCCTGAACGGTGGTCAGCAGTTTGGTTGG
+TGCGTCAGCAAAGTCATAGGTTTTGCCGGTTTGTGGGTCGGTGACGACTTCTTTGTTCCACGGTTTGAAG
+AACCAGCTACCGTCAGCGGTGAACTCTTTATATAGCCGCGCCATCGCCTGACGGAAATCAACCGCTTCGT
+CGATCACTTCCTGGGTCAGTGACAGGCCGCTGTTGCCGTCCATCATCGACACTGCCACGTCGTTGGATGC
+GCAGATGGCATACAGCGGGGAGGTGGTGGCATGCATCATGTAGGCCTGGTTGAAGCGGGAGAAGTTAATC
+GCCCCACGACCTTCACGTACATGAATATAAGAGGCCTGGGACAGCGCATTCAGCAGTTTGTGGGTGGAGT
+GGGTGGCGAAAACGGTAGGACCGTTGTGATCGCCAGGTTCGCCGCGCATGGCATAGTGATCGGCATAGAT
+CGGGTTGAAACGTGCATAGCCGTACCAGGCTTCGTCAAAGTGCAGACGATCGGAGGTTTTTTCCAGCAGA
+TCCTGCGCTTCTTTAGCGTTATAACACACGCCGTCATAGGTACAGTTGGTCACCACGCAGTAAGACGGTT
+TTTGCCCGACTTTGTCTTTGGTCAGCGGGCTTTCACTGATTTTCTTCTGCAAGGTTTCAGGTTGCATTTC
+CTGCGGATAGATTGGCCCGATAATGCCGTAGCGGTTGCGGCTTGGCACCATGTAGACCGGTTTCGCGCCT
+GTCAGCATCAAGCCTTGTTCGATGGATTTATGGCAGTTACGGTCAACGACCACGACATCGTTATCGGTCA
+TGCAAGCCTGCATGATGGTGCGGTTAGAGCCGGAAGTACCGACGACTACCGACCAGGAGCGATCGGCACC
+AAATACGCGTGCGGCATATCTTTCGCTTTCGCCAAATGCGCCAGTATGGTCAAGCAAAGAACCGAGGGAA
+GTGCGTTCGATGCCCATGTCGGTGCGGAACAGATTTTCACCATAGTAGTCATGGTAGAAACGTCCGGCGG
+GTGTTTTGGTAAAACCAACGCCGCCCTGGTGGCCTGGCGCTGCCCAGGAATATTCATGGATGTCGCTATA
+TTTCATCAGCGCGCTGAACAGTGGCGGCAATAGCTGCTGGCGGTAGCGGGTCATCGCGGCAACGGCGCGT
+CCGGCGATAAAGTCGGCAGTATCTTCCAGAATCCAGGCGAATTCATCGACAAGCTCCAGCAGGTCGCGAT
+CCATTGCGGCGAGGGCTTTTTCCCGATCGCCCAACAGGAAGACCGGCACGTTTTGTTGGCGCTCATGAAG
+CTTACCGATCAATTGTCTGACGTTTTGATGTTCGTCCGGATGTTCCATTTGATAGCTGAACATCAGGCAG
+TCAATGGCTTCGTTTGAAGAGAGAATGGCAAAACCATCATCAAAGGAGGTGGATTTAATCACGGTAACAT
+TTTGCTGGCTTAAAGCATCTGCCAGACGCTCAACGGCGTTACCGACCCAGGTGTCTTGATGGAGAAACTC
+GCTTTCAACAATTAATACTTTCATCATTGCTTACCCGGTTATGAAGGAATCTTCGTTGCGGGCAAGTATC
+TTCCGGCCTTTTCGGGCTGTAAAGCGCGTGAAAAACAAACATTTTTGAAATATTTATTTTTATAAACAAC
+ACGTTATGTGATTATTTTAAATTATTTTCACTGCTTATTATCGACGGCTAAACTATTTTTTTGGCTGATA
+CTGATATCGTCTTTAGCCGGGAAACGTCTGGCGGCGCTGTTGGCTAAGTTTGCGGTATTGTTGCGGCGAC
+ATGCCGACATATTTGCCGAACGTGCTGTAAAAACGGCTACTCGAACGAAAGCCTGCCGTCAGGGCAATAT
+CGAGAATACTTTTATCGGTATCGCTCAGTAACGCGCGAACGTGGTTGATGCGCATCGCGGTAATGTACTG
+TTTCATCGTCAATTGCATGACCCGCTGGAATATCCCCATTGCATAGTTGGCGTTAAGTTTGACGTGCTCA
+GCCACATCGTTGATGGTCAGCGCCTGATCATAGTTTTCGGCAATAAAGCCCAGCATCTGGCTGACATAAA
+ATTGCGCATGGCGCGAGACGCTGTTTTTGTGTGTGCGCGAGGTTTTATTGACCAGAATCGGTTCCCAGCC
+AGAGAGGCTAAATCGCTTGAGCATCAGGCCAATTTCATCAATGGCGAGCTGGCGAATTTGCTCGTTCGGA
+CTGTTCAATTCCTGCTGCCAGCGGCGCACTTCAAACGGGCTAAGTTGCTGTGTCGCCAGTGATTTGATCA
+CCATACCGTGAGTGACGTGGTTAATCAGGTCTTTATCCAGCGGCCAGGAGAGAAACAGATGCATCGGCAG
+ATTAAAAATCGCCATGCTCTGACAGGTTCCGGTATCTGTTAGTTGGTGCGGTGTACAGGCCCAGAACAGC
+GTGATATGTCCCTGATTGATACTCACTTTTTCATTGTTGATCAGGTATTCCACATCGCCATCGAAAGGCA
+CATTCACTTCGACCTGACCATGCCAGTGGCTGGTGGGCATGATATGCGGTGCGCGAAACTCAATTTCCAT
+CCGCTGGTATTCTGAATACAGCGACAGTGGGCTACGGGTCTGCTTTTCGTCGCTGCTGCACATAAACGTA
+TCTGTATTCATGGATGACTCTCTTTCCTGGAATATCAGAATTATGGCAGGAGTGAGGGAGGATGACTGCG
+AACAGGCGCACGGTTTTATTCCTCTCCCTGGAGGTGCGAGGAGAGCGGATGAGAAGATTTGGGTCGATTA
+TTCAGCTTTTCAGGTAATTTATTCTCATAAACTCAGATCTATTGATGTGCCACTTAGGATCTGAGTTTTT
+GGGAATGCTCAACCGGGAAACCGGAGGTTTTCTGCGATATCGCCTGCCATGATGAAGTCATTCAAGCAAG
+CCAGGAGATCTGCATGATGTCTGCACCCAAAATTACATTTATCGGCGCTGGTTCGACGATTTTCGTTAAA
+AATATTCTTGGTGATGTGTTCCATCGCGAGGCGCTGAAAACGGCGCATATTGCCCTGATGGATATCGATC
+CCACCCGCCTGGAAGAGTCGCACATTGTGGTGCGTAAGCTGATGGATTCAGCAGGGGCCAGCGGCAAAAT
+CACCTGCCACACCCAACAGAAAGAAGCCTTACAGGATGCTGATTTTGTCGTGGTGGCATTTCAGATTGGC
+GGTTATGAACCTTGCACGGTGACTGATTTCGAGGTCTGTAAGCGGCATGGTCTGGAACAAACCATTGCCG
+ATACGCTGGGGCCGGGCGGCATTATGCGTGCGCTACGTACCATTCCGCACCTGTGGCAGATTTGCGAGGA
+CATGACGGAAGTCTGCCCCGATGCCACCATGCTCAACTACGTTAACCCAATGGCGATGAATACCTGGGCG
+ATGTATGCCCGCTATCCGCATATCAAGCAGGTAGGGCTGTGCCATTCGGTGCAGGGAACGGCGGAAGAGC
+TGGCGCGTGACCTCAATATCGATCCGGCTACGCTGCGTTACCGTTGCGCAGGTATCAACCATATGGCGTT
+TTACCTGGAACTGGAGCGTAAAACCGCAGACGGTAGCTACGTGAATCTCTATCCTGAATTGCTGGCGGCT
+TATGAAGCAGGGCAGGCACCGAAGCCAAATATTCATGGTAATACTCGCTGCCAGAATATTGTGCGTTACG
+AAATGTTCAAAAAGCTGGGCTACTTCGTCACAGAATCGTCAGAACATTTTGCTGAGTACACACCGTGGTT
+TATTAAGCCAGGTCGTGAGGATTTGATTGAGCGTTATAAAGTACCGCTGGATGAGTACCCGAAACGCTGC
+GTCGAGCAGCTGGCGAACTGGCATAAAGAGCTGGAGGAGTATAAAAACGCCTCCCGGATTGATATTAAAC
+CGTCACGGGAATATGCCAGCACAATCATGAACGCTATCTGGACTGGCGAGCCGAGTGTGATTTATGGCAA
+TGTCCGTAACGATGGCTTGATTGATAACCTGCCACAAGGATGTTGCGTGGAAGTGGCCTGTCTGGTTGAT
+GCTAATGGCATTCAGCCGACCAAAGCCGGTACGCTACCTTCGCATCTGGCCGCCCTGATGCAAACCAACA
+TCAACGTACAGACGCTGCTGACAGAAGCTATTCTTACGGAAAATCGCGACCGTGTTTACCACGCCGCGAT
+GATGGACCCGCATACTGCCGCCGTGCTGGGCATTGACGAAATATATGCTCTTGTTGACGACCTGATTGCC
+GCCCACGGCGACTGGCTGCCAGGCTGGTTGCACCGTTAAGGGGTAATCGCTTCCGGCGCTCTGGTGATTA
+AGCCAAAGCGCCGTAGCTGGCGGCAATGAAAGCGGGCGAGGAATATCACCGTCGTTAATGCGCCCAGTAG
+TGCGCAGAACATATCGGATTGCGTATCCCACGGGTCGCCTTGAGTACCGAGAAAATCATCTGCGCCCTGG
+CCCATTGCCAGCGCTGCCCACCACTCGATTAACTCATACATCGCGCTTATCGCCAGCGCGACACAACAGA
+CCAGAAACGCCACCATTTTACGCCCGCGAACGTACATCCCGCGCACGAGGATCTCTCGTGCCACCAGTGC
+AGGCACCAGCCCCTGGAAAAAATGCCCCAGTTTGTCATACGGATTACGGCTCAACCCCAGCCATTCCTGC
+ACCTCAAAACCAACGGGGACTTTCGCGTAGGTGTATTGCCCGCCGACCATCAGGATGATGGCGTGAAAGA
+AAATGAGCGTATAGAGCAGCGGCGTTAACGGGTAACGTTTAGCGGTGGCAAGCAGTAGCGGCACGACAAT
+AATCACCGGTGTCACTTCCATCAGCCAGGTGAGTTTGTCATGGGCCGAAATGCCGGTATAAATCAGGATT
+AACGTTAGCGCCAGTGCGCCGGTGTTAAGAATTAACGGCTTGAGTGTGCGGGTCATGGTGAGTTCGCAAG
+TCAGGGAAAATACTGACTATTGACCAGTAAGCGTGAAATTTCAATCGCAAAAGAGGTGGCCCAGGGGGAT
+CACCTGGCAGCATGCTGCCAGGCGCTGGGCCGAAGAGGTTACTTAGTGCAGTTCGCGCACTGTTTGTTGA
+CGATCTGCTGGAAGAAGTCGTTACCTTTGTCATCGACCAGGATAAACGCCGGGAAATCTTCTACTTCGAT
+TTTCCAGATAGCTTCCATACCCAGCTCCGGATAAGCGACGCATTCCAGATGCTTGATGCTCTGCTGCGCC
+AGTACCGCCGCCGGACCGCCGATACTACCGAGGTAGAAGCCGCCGTGTTTATGGCACGCGTCGGTAACCT
+GCTGACTGCGATTACCTTTCGCCAGCATGATCATGCTGCCGCCGTGGGATTGCAGCAGATCCACGTAGGA
+GTCCATACGACCTGCGGTGGTTGGGCCAAGTGAACCTGATGGATAACCGGCAGGCGTTTTCGCCGGACCC
+GCGTAGTAGATCGGGTGATCTTTGATGTACTGCGGCAGTTCTTTACCGGCGTCAATCAGCTCTTTCAGCT
+TGGCGTGTGCAATATCGCGACCCACGATAATGGTGCCGGTGAGCGACAAGCGGGTGGATACCGGGTATTG
+CGAAAGCTGGGCAAGGATCTCTTTCATCGGGCGGTTAAGGTCGACTTTCACTGCTTCGCCTTCACCTGCC
+TGACGCAGTTCTTCTGGAATGTACTGGCCTGGATTGTGTTCCAGTTTTTCGATCCAGATACCTTCGCGGT
+TGATTTTCGCTTTAATGTTACGGTCAGCGGAGCAGGAGACTCCCATGCCTACCGGGCAGGATGCGCCGTG
+ACGTGGCAGACGGATAACGCGGATGTCGTGCGCGAAGTATTTACCGCCAAACTGCGCGCCAAGACCGAGT
+TTCTGGGCCTCTTCCAGCAGTTCCTGTTCCAGCTGGATATCGCGGAACGCCTGACCATGTTCGTTCCCTT
+CCGTCGGCAGTTCATCGTAATAGTGAGCGCTTGCTAACTTGACGGTTTTCAGGTTGGTTTCCGCAGACGT
+ACCGCCAATCACAAACGCGATATGGTACGGCGGGCAGGCTGCAGTACCGAGGGTACGCATTTTCTCGACG
+AGGAAGTTTTTCAGTTTGCCGGGCGTCAGCAGGGCTTTGGTTTCCTGGTAGAGATACGTTTTGTTGGCAG
+AGCCGCCGCCTTTAGCGACACAGAGGAATTTGTACTCATCGCCATCTACCGCGTACAGGTCGATTTGCGC
+AGGCAGGTTCGTGCCGGTGTTGACCTCTTTATACATGTCCAGCGGCGCGTTCTGTGAATAGCGCAGGTTA
+TCTTCGATATAGGTGTTATAGACGCCTTTCGACAGCGCTTCTTCATCACCGCCACCGGTCCACACGCGCT
+GACCTTTTTTACCGACGATGATCGCGGTGCCGGTATCCTGGCAGGTCGGCAGCACGCCTTTAGCGGCGAT
+TTCGGAGTTTCTTAAGAATTGCAGCGCCACGTACTTGTCGTTTTCGCTGGCTTCTGGATCGTGAAGAATA
+GCCGCAACCTGTTTCTGGTGTGCCGGGCGGAGCATGAAAGAAGCATCGTGAAAGGCTTGCTGCGCCAGCA
+GGGTCAGGGCTTCTGGTTCCACTTTCAGGATGGTTTCGCCGTCGAAGTCGGCAACGCTAACGTAATCGGA
+AGTGAGTAGATAGTATTCGGTATTGTCTTTCCCCATCGGGAAAGGTGCCTGGTAGATAAAGGGTTTGTTT
+GACATAGCTTCCAGCCTGTAACTCTGTATTTGTTATTCGAAAATGGCGTGCCGCGTAGTCACGGGCGGCA
+CGCAAAGTGCATTTATAAGAACCCGTACATCGCGGCGAAGATCCAGCCGAAGACGCACGATACGCTCACA
+CCAATCAACCCCGGCAGAATAAAGCTGTGGTTGATGACGAAGCGACCGATGTGGGTGGTGCCGGAACGGT
+CAAACTGAATCGCTGCCAGATCGCTCGGATAAGTCGGCAGGATGTAATAACCGTAGCAAGCCGGTGCTGA
+AGCCACGATGTAAGCGGGGTCAACGCCGATCGCCAGCGCGACCGGAACAATCGCCGCCAGCGCCGCAGCC
+TGAGAGTTTACAAACTTGGAAACCAGCAGCAGAACAATGGCATAGGCCCACGGATACTCTTTCACCATTT
+CACCCAGTACGCCCTGAATTTCAGACATATGCGCACCGAACATGGTTTCAGCCATCCATGCGATACCGTA
+CACCGCCACGATGGCAATCATACCGGAACGGAAGACTTCGTTTTTTGAGATAGACGCGGGATTGGTTTTG
+GTCAGGATAATAATCAGCGCCCCGGTCAGCAGCATAAACATCTGAATAACCAGTACCATCGACAGCGGTT
+TGCCGCCGAAGGATGGACGCAGGTCCGAATCAGCACCAAGAAGGGCGACTACAGCGATTGCCCCGAGGAA
+GATCCACATTGCCAGCCAGTTGCTTTTCGGCAGTTTTTTATCCAGCAGCGTCGCGGTATCACCGTAAACA
+TACTCACGGTTTTCCGGTACGGAGATGAATTTTTGGAACTCTTCGTCTTTATCCAGATCTTTACCGCGGA
+ACCAGCTGAAGATACCGATCGCCAGGATACCGATTAACGTCGATGGAATGGTGATTGCCAGCAGGTCGAG
+GAACTCAAGATGGCGACCATCAAAGGTGACATTACCCAGCATCGCAACCAGAGATACGACCGCAACCGAC
+ACCGGACTGGCGATAATCCCCATCTGTGCACCGATAGAACTTGCCGCCATCGGACGTTCCGGACGGATGT
+TGTTCTTAATAGCAACGTCGTAGATGATCGGCAGAATGGTGTAAACCACATGACCCGTACCGCAAAGAAT
+GGTCAGCGTACAAGTCACAAACGGCGCGACAATTGAGACATATTTCGGGTTGCGACGCAGCAGCTTCTCG
+GCAATTTGCAGCATGACATCAAGACCGCCCGAAGCTTGCAAGGTCGCCGATGCCGCCACCACCGCAATGA
+TAACCAGCATGACATCAACCGGTGGTTTACCTGGCTGAAGGTGGAAGACGAAGACCAGAATGACCAGACC
+GATACCGCCTAATAAACCCAGCGCGATACCCCCCTTTCTGGCACCATAAAACAGACATATCAGTATTATG
+ATAAGTTGGATAGTAAATAACATGTGTGAACCCTCGCGATAATCCTATTTAAATTTTTGCTGAATAGATC
+ACAGTCACGTTCTGTTTTGTATGAACTGTTTTCAGAGCCTGACTAAATATCCGTTTGGTCGTTACCGGCT
+TGAGCAAATACCTCACAGTGAATATTGGCTGATTAAAGCAGCGGCGAATTTATGCACTGTGATAAGCGGC
+TTTTTCAGAGAGAAAGACTCTCTGGCGATGGGTTTATAGTTTGTACAGCGCAGATGTTAATGTTTTGTTT
+GCTGTTATCTTATTGATATTTATCGGTCTGTTTTTTGTTCTCAGGGCAGGTATCATTAGGTTTATAGATT
+AATCTGATCTACCCATTTGTGGGTAAAAATACACATAATGTGGGTGACATAATAGTTAATTAACTTTTGT
+TAGCGTTTTGAAATTAAAAACACCGTTCATCTGAAGAGATATTAATTTTTAGCGATGATGGAGGGATAAT
+TATATTTGATCTGGCACAAGTTTTACTGATGAACGATGTAACTTGTGCCAGGGGTATTTTGCATTACGGT
+AATAATTATTACTTACAGATAACCAGCGATCCGTTATTGGCAATATTGTTTCAGTAGTGAGTAGTGTTCT
+GCCTGAATACGGTAACGGTAAACCGGACGCCCCGTGACGCCATAATGGATACTGGTGAACAAGATGTGGC
+AGTTGACCAGCCAGATGAGGTATTTACGGCAGGAAACACGCGAGATGTTAACCTCGTTAGCCAGCTCGTC
+GGTTGAAAACTCATAGTCCTGATGCGCGTCAATCCACTGGCACAGCGTGCGTAACGTCTGCGGCGTTAAG
+CCTTTTGGCAAGCGACGAGGATCCTGCTCGTTGGAGCTGCTGCCGTGGATTAGCTGATCAAGCTCGGCCT
+GGTCATAATACTGATGTTTTTCCAGCGCCATTTTCTTTTGCCGCCAGCCGGTGAGCGCCTCTTCAAAGCG
+GGAAGCCTGGAAGGGTTTGATCAGGTAATCCACAACACCGTAATGCAGCGAATCTTTAATGGTTGCTGCA
+TCGGCAGCGGAGGAGATGACAATCACATCACTTTTGCAACGCGCGTTATGCAGGACAGGCAGTAAATCGA
+GCCCGTTCTCTTTTTGCATATAGATATCTAGCAATATCAGGTCGATAGGCGTATCGCTATTGAAGATAAT
+CTCTTTGGCTTTCTCAAGCGTCGAAGCCGTTCCACAGCATTGAAAGCCCGGGATTTGTGCCACGTATCGG
+CGATTCAGCTCCGCGACCATTGCGTCGTCATCGATAATTAATACATTGATCATCTGTTCGACCTCTCCCC
+GTCCCAGGGTATCTGGACAAAAAATTGTGTGAAAATCCCGGGTTCCGATTCCACGGCGATGCTGCCGCCG
+AGATTTTCTACCTGTTGTTTGACAAGTGCTAAACCGACGCCTCGCTCGCTTCCTTTTGTCGAGACACCTT
+TGTCAAAAATGTGATCGATTTTGTCGGGTGCGATCCCCGGTCCATCATCGTTAACTTCGCAGTGCAGCCA
+GCCGTGACGGTAGTGCAATGTTACGCTAATTTCGCCACCGGGTTCCGGTCCTAATGCCTCCAGCGCGTTT
+TCTATCAGATTTCCCAACGTGGTAATCAGCGTCGCGACCTGATCCTCACTACCGCTGTCTGGCAGCTGGC
+TTTCACTGTTTAAAATCAGCGTATGGCCTAAATCGGTCGCGCGGTTAATCTTGCTGATTAAAAAACCAGC
+GATAACCGGAGATTTGATCTTACCCAGCAGAGAGCCAATCTCTTCCTGATAGTTATTGGCTGTTTTGAGA
+ATGTAATCTTCCAACTGCTTATAACTCTTCAGATGCAATAATCCGAGAATCACATGCAATTTATTCATAA
+ATTCGTGGGATCGTTCACGAAGTGCGTCAGCATAGTTGACCAGACCGTCGAGTCGCTGCATCAGTTTACG
+TACTTCAGTTTTGTCCCTGAAGGTTGAAATGGCACCGATGATAACGCCATTACTGCGCACCGGAACGGTG
+TTGATCAGTAATAGTCGGTCCTTAATCGTAATCTCTTCGTCGCGGCGTGGGGTTCCGTCGCGTAACACTT
+CCGAGACATCTACCACCTGTGACCACGAGTGGCTTAGCGTCGACAGTTTCTCATCGTCCTGCGACTTACG
+GTAATTCAGCAATTCTTGTGCGGCATCGTTGATCAGCGTGACCTCGCCGCGATCGTCCACGGCAACGACG
+CCTTCTTTGATGGACTGCAACATGGCCTGGCGTTGCTCAAACAGTGTGGAGATTTCGTAGGGTTCCAGGC
+CGAAAAGGATTTTTTTCAGTACGTTAACCAGAATGCATGTGCCGATCAGTCCGACCAGCATGCCAAATAG
+TACCGACCAGATAATGCTCCAGCGACTGTCATTGATCTGTTGGGTCACGCGGCTTAACTCAAGGCCGATC
+GCCACCACGCCAATTTGTTTATGATTTTCATCGTAGATGGGGGTAAATACGCGTAAAGCTTGCGCCAGAA
+AACCGCGATTGATAGCGACATTTTCTTCGCCATTCAGCGCTTTAAGGATGTCATCACCTTTAAATGGCTG
+ACCAATACGCTGGGCTTCAGGATGCGAGTAGCGAAGACTGTGCATATCGGTAACGACAATAAACAGCAGA
+TCGTTGCGTTTGCGCACGGCTTCCGCGATGGCCTGGATTCCACTCTCCTGCGGTTTTTTCTGCAAGCCCT
+GACGGATTTCCGGCGAGTCGGCGAGGGTACGCGCTACTGCCAGAGCCTTGTTAGCTAGCCCGTCTCGCGT
+CATATCACTGATTTGCGAGAAGTAAATCAGATGCACCACCAATAGCACCGAGAACAGTACCGCGCTGACC
+ATTAAGATCACAGTGGTACTCAATTTCATCGGACGTTTGCGTAACATACGGTAGGGCAATGAATGTCTCA
+TCAGCTTCCTTGTGTGACAAATTTCTTAAGCATTATCTCTGATGAGGCGGGTAATTCAAAGGGAGTAAGA
+ATGATTGGCTATATAGGGGAAGAGATTCTGGCAACGGAAACTGCCAGTGCTGTATGAAGATTCCGGGGCT
+ATGCTTATAGCGATAATCATACTGATGAGAGAGGGAAGGTCATGGATCGGGCGCTACTGGACGGGGGTTA
+TCGCTGTTATACCGGCGAAAAGATCGATGTCTATTTCAATACTGCGATATGTCAGCATTCTGGCAATTGC
+GTACGTGGCAACGGCAAGTTATTTAATCTCAAACGAAAGCCGTGGATCATGCCGGATGAAGTCGACGTTG
+CCACTGTGGTTAAAGTGATTGATACGTGCCCGAGCGGCGCGCTGAAATACCGTCATAAATAAGCGAGGGT
+AAAATGGAAATACGCGAAGGCCACAATAAATTTTACATTAATGACGAACAAGGCAAGCAAATCGCTGAAA
+TTGTCTTTGTGCCGACCGGAGAGAATTTAGCGATTATCGAACATACCGATGTCGATGAAAGCCTGAAAGG
+GCAAGGGATTGGTAAACAGCTGGTTGCGAAAGTCGTGGAAAAAATGCGTCGGGAAAAACGAAAAATTATC
+CCACTATGCCCATTTGCGAAACACGAATTTGATAAAACACGGGAGTATGATGATATTCGCAGTTGATGGG
+AGAGTACAGAGTCACGATATTTTTCATGCTCTCCGCGGTGTGATGCAGGAGAGCATCTGAAGGGTAGGGG
+GATGCACAAAGAATGGTCAGAGAGAGCGTTTTTTTGTCCCAAGTCATCCCCTTTACTGAGCAAAAAAAAA
+AGAATATCTCCTATATGAGAATCATCATTCGGGGTTAATAAGTTTTGCGTCCCCAGAGCGTTCAATATTG
+ATAGGAGTCATATTATGGAAGGTAAAAACAAGTTCAATACTTATGTTGTTTCTTTTGATTATCCATCATC
+TTATTCCTCAGTGTTCTTAAGGTTAAGATCATTGATGTATGATATGAATTTCTCCTCTATCGTGGCTGAT
+GAATATGGGATACCACGACAACTGAATGAAAACTCCTTCGCAATAACGACATCGTTAGCCGCAAGTGAAA
+TCGAAGATTTAATCAGGCTCAAATGCTTAGACTTACCGGATATTGATTTTGACCTCAGCATTATGACAGT
+TGATGACTATTTCCGTCAGTTTTACAAGTAGCCAGGAAGGATAAGAAGAACATAAAAAATGGCACTATTC
+TCTAAAATATTAATTTTTTATGTGATTGGTGTGAACATATCCTTTGTCATTATCTGGTTTATCTCACATG
+AGAAAACACATATTCGTTTACTTAGTGCATTTCTGGTCGGAATAACCTGGCCAATGAGTCTGCCTGTGGC
+ATTACTTTTTTCTCTCTTTTAGGAGCTGTAGTTGAGTGGACCCGCTGGTTATCTTGAAACGAAGCGTCTC
+TCCTCAAAACTGGATTTGCGGAATGACGAACGAAGCAGTCGCCTGACTGCTTCGTTCATTAAAGTGAAAT
+TTATTTCAGTGGGCGCATCGCCGGGAAGAGAATAACGTCGCGAATAGTATGACTGTTTGTAAACAGCATA
+ATCATTCGGTCGATACCAATACCCAGACCAGCGGTTGGCGGCAGACCATATTCCAGCGCAGTCACGTAAT
+CTTCGTCATAGAACATGGCTTCGTCGTCACCTGCAGCTTTAGCGTTAACCTGTTCCTGGAAACGTTCAGC
+CTGATCTTCTGCGTCGTTTAATTCGCTAAAACCATTACCAATTTCACGACCACCGATGAAGAATTCAAAA
+CGGTCGGTGATTTCCGGGTTAACATCATTACGGCGCGCCAGCGGGGACACTTCTGCCGGATATTCCGTAA
+TAAAGGTTGGCTGAATCAGATGTGCTTCTGCCACTTCATCAAAGATCTCCGTAACAATACGTCCCAGTCC
+CCAGCTTTTCTCTACCGTAATACCGATAGATTCAGCTAATGCTTTAGCAGCATCAAAATTATCCAGATCC
+GCCATATCGGTTTCTGGACGATATTTTTTGATTGCTTCGCGCATGGTGAGTTTTTCAAACGGTTTGCCGA
+AATCAAACACATGCTCGCCATAAGTGACTTTAGTGGTACCCAGTACCTCTTGTGCCAGGGTGCGGAACAG
+TGACTCCGTCAGTTCAATCAAATCATGGTAATCCGCATATGCCATGTAGAGTTCCATCATTGTGAACTCA
+GGATTATGGCGAACAGAAATACCTTCATTACGGAAGTTACGGTTGATTTCGAATACCCGTTCAAAACCGC
+CTACAACCAGACGTTTCAGATACAGCTCCGGCGCGATACGCAGGTACATATCTAAATCCAGAGCGTTATG
+ATGGGTAATAAACGGGCGAGCAGATGCCCCACCTGGAATTACCTGCATCATCGGGGTTTCTACTTCCATA
+AAGCCGCGTGCGACCATGAACTGACGGATAGCGGCCAGAATTTTTGAACGGACAACAAACGTTTGACGGG
+ATTTATCGTTAGCGATGAGGTCCAGATAACGTTGACGATAACGGACTTCCTGATCCTGCAGACCATGGAA
+TTTATCTGGTAAAGGACGTAGTGCTTTAGTCAGCAGGCGCAGCTCAGTACAGTGAATGGAAAGCTCACCC
+GTTTGCGTCTTAAACAGCGTACCGCGGGCACCGATAATGTCACCCAGATCCCATTTTTTAAACTGATCGT
+TATAAACACCTTCTGGCAGGCTATCTCTTGCAACGTACAGTTGAATACGGCCACCGACATCCTGCAACGT
+TACAAAGGAGGCTTTCCCCATAATACGACGGGTCATCATTCGGCCAGCAACCGAGACTTCAATGTTTAAG
+GATTCCAGTTCCTGGTTATCCTTCGCATCAAACTCTTCGTGCAACTGGTCAGAGGTATGGTCGCGGCGAA
+AATCATTGGGAAACGCCACACCTTGCTGACGTAGTGCCGCCAGTTTTTCGCGGCGATTTCTCAGTTCATC
+GTTAAAATCAATAGCCTCATTGGCTCCCCGTGTTTCTCGTTCAGACATTTTGGTTCCTCTAAATCCAGCT
+TTCAATTTAGCGTAGATAAAGAGACAGATCGGTACACTGTATTATCTGCCTCGACTATTAATAACTCAGT
+TTATCTTATCGAAACTAACGTTTACCTCAAGTTGATATCACTAATAAATAACCATAAAAATGGTTTAAAT
+GACTTATTAATCTCGATTTTCTAGTGTGATAAACTGAAAGTTAATTTATTCATAACCAATTGTTTTTACG
+ACAGTTAATCGTTGCTCTCCTGTATCATATTCGTCGGCGTGCTAAACAGAAAACGGGTAGCAAAGGCCAA
+TACCACGATGATCGCGACACAAGCCAACGTCCACTCTCCCATCTGAGAAAAGAATCGCTGGTAAGCGGCA
+ATTGCCATACCGCTAATTTGCGACTCTGTCGTCTGCTGTGCCACGACGCCTGCCAGCCAGTTGGCGACTG
+CGCCTGTTGCCAGCATATAAATACCAGTTAATACGCCAGACATTTTCAGACGCGTGATTTGCGCAATCGC
+CACCGGGTCAATAAAGAGTTCAGCAAAGCCCATTAGCGCCAGCCCGGATATCATCACGCCCATTGACGCT
+TGACCGCCAGCCGCTGCATGTCGGGCATCAAATGCCAGCAACATAAAGCCACAAGCCATCAGCAGTAAGC
+CAAAGGCAAACTTCAGCCAGACGCGCAATGCTGAATTGCCGCGGCTTTCTGGCGACGCCAGCCAGGCCAG
+AACAACCCCAGCGAGCATCACCGCAATAGCATTCACCGACTGGAATAGTGCTGTAGGTACTTCAATATTG
+AATGCCTGACGATTCACAAAGCGATCGATAAACAAGCTGATGGTACTGCCGCCCTGTTGTGCCAGTACCC
+AGAACAACGTCCCGACAAACATCAACAATACAATTTGCCAAAGAGCACGGCGGTGTTCGGGGAATTTGAT
+CATCATGCGGGCAATGATTTGTGCGGCAATGAGGCAAACGATCGCCAGCAAATATCCGGACCAGTCGTTC
+TCCAGCAGCAGGGTAAAAAATACTGGGGCTAAACAGAGCATCACCACTAACCAGCTCCATACTGGTAAGG
+CAAATTTGACGCTTGTGAGCGCTTTTTTATCCATACTACGCGTGGACTGGAAATGACGATGACCACTTAA
+GAAAATCAACAAACCGATAAACATGCCGCCTCCCGCAAGGGCAAAGCCAACATGCCATCCATACCACTGA
+GCAGCCAGGCCGCAGGCGATGGGCGCGGCGATAGAACCGATATTGCCCGCAGCATACAGCAGCGAAAAAC
+CGCCATCACGTCGATGATCGTTCTCGTCGTAGAGCTCGCCAAGCAAACAGCTGATGTTTGATTTGAATAA
+ACCGTAGCCACAAATAATGATTGCCAGCGCCAGATACAGGCTAAAGGTTGAATTTGTATCAATGCCCAGC
+ACCACATGGCCAAGGGTCATTAACAGCGCGCCGGCAATCACTGCAGTGCGGTTGCCGAGCAGGCGGTCGG
+CAAGCCAGCCGCCGAGAATAGGGGTAACGTAAACCAGAGAAGCATATGCGCTGAACAGGCTGATGGCATG
+GTTATCATCAAAACCAAGCTGATGGGTGAGATAGAGAATGAGTAAGGCACGCATGCCGTAAAAACTGAAG
+TACTCCCAGATTTGGATCGCCACGATATAGTATATCGCGCGCGGCTGTGAGGGTGTTTTCATGTGTTCTC
+CTTATGAGCAAAAAAGGGAAGTGGCAAGCCACTTCCCTTGTACGAGCTAATTATTTTTTGCTTTCTTCTT
+TCAATACCTTAACGGTATAGCGGCCATCAGCCTGACGGTATGCACCGTGAATATCGGTTTCAAAGCCCGG
+ATAGTGAGCGCCGATTTCACACAGCATCTGCAGGAACTCCAGAACCGGACGGCTTTCTTCGGTGATCATT
+TCACCCGGCATTACCAGAGGAACTCCCGGCGGATACGGAAGGATCATATTGGCGTTAATACGACCTACCA
+TTTCGTCGAGGTAAACTTCTTCGGTCATACCGTGCAGCTCTTTCTGGAACGCAGCATACGGAGTCATTAC
+CATAGTCGGCAGAACTTCAAATGCGCGATACATCAGATCCGGCAGATTGTGGTGAACAATCAGTTTGTGG
+ATATTCTGAGCCAGTTCCTGAATACGCATGTTTTCATAGAATTCAGGATCTTCACGATACAGAGACGGCA
+GCATGTTTTTCACACGCAGGTTCAGATCGAACGCACGTTTGAAGTCAGTCAGAGCACGCAGCAGGCTCAG
+TGCTTTGGTCTTATCGATACCGATGCTGAACAGGAACAGCAGGTTATACGGACCGGTTTTCTCAACAACG
+ATGCCATGTTCGTCGAGGTATTTCGCCACGATGCTGGCCGGAATACCAAAGTCGCTCATGGTGCCGTCTT
+TTTCCATCCCCGGAGTCAGCAGGGTGACTTTGATCGGGTCAAGATACATGTGCTCGTTATCGATGTTTTT
+GAAGCCGTGCCAGGTGCTGTCAGAACGCAGCGGCCAGCATTCAGTCGTATCGATATGATCCGGCTGCCAT
+ACATCAAAGAACCAGCCATCAGATTCCGTTCTCAGACGTTTGATCTCTTTACGGAATTTGATCGCACGTT
+CAATGGAACCATTGATCAGACGTTTACCTGCATTGCCTTTCATCATCGCCGCAGCGGTTTCAGTGGACGC
+CACGATACCGTAGTGCGGAGAGGTGGTGGTGTGCATCATGTAGGCTTCGTTAAAGGTTTCTTCGTTTACG
+TCACCTTTAACGTGGATCATGGAAGCCTGAGAGAACGCCGCCAGCAGTTTGTGAGTAGACTGGGTTTCGT
+AAATCACTTTCCCTTCTACACGGCCACCGCTCATACCGCATTTACCTTCGTAAATCGGTGAGAAGTTGGT
+GTAAGGCACCCACGCGGAGTCAAAGTGGATGGATTTCACATCCAGTGTTTTCTTGATGAAGTCGGTGTTG
+TACAGCAGACCATCATAGGTAGAGTTGGTAATTACAGCATGTACCGGCCAGGTTGCGTTTGGTGTTTCTT
+TCACGCGCTTAGCAATGGTAGCGTGCTGGAATTCACTCTGTGGGATACCACCAAGAATACCGTAAGCGTT
+ACGGGTCGGGCGGAAATAGATTGGCGTAACATCGCTCATCATCATCAGGTGGGTCAGCGATTTGTGGCAG
+TTACGGTCAATCAGAATGGTGCTGCCTGCCGGAGCAGAGTACATACCAACAATTTTGTTCGCAGTGGAAG
+TACCGTTGGTCACCATGTAGCTGCGGTCTGCGTTAAAGACGCGAGCGATATACTGTTCTGCTTCTTTGTG
+TGGACCACTGTGATCCACCAGAGAACCCAATTCAGATACTGAAATGGAAATATCAGATTTCATGGTGTTC
+GGACCAAAGAAATCATAGAACAGGCTACCTACCGGGCTTTTCTGGAATGCAGTACCACCCATGTGACCAG
+GAGTACAGAAAGTATATTTACCTTCACGAACATATTTAAACAGTGCTTTGGTCAGCGGAGGCAGAATAGT
+GTTGATATATTCGTCAGTGGTCTGCTTGATCTTGTTAGCAATATCATCAGCAGCACCCAGCGCATATTCA
+AAGAAGCTAATCTGTAAACGCAGGTCATTCAGGCTTACATCGAGAGTGGAATACGTATTAGCGAACGCGT
+ACAACGGCAGGTTCTCGTTCATTTTGCTAATTTCTTCGCACAGCTCGAGATTATATTTATCCCAGTCAAA
+AATAACGCCGCACAGACGCGCATTGTTTTCGATCAGTTTTAATAAGTCGTCACGGTCGTTCGGGTAAACA
+ATCTGGAAGTTCAGACGTTCAAGCGCGCGATGAAGTTCACGGATGGGTTCTTCTTTAAAATAAACCCCCA
+TGTGATTCAATATTGCAATAACGTTCATAGTCATATCTCCAGGTAAAAAAGGCCCCTCCCAACACATGGG
+ACAAAATGAAAGGAGGAGCCTCGGAAAATACTTTTAATTAATGTGCGTTAGACGCTGTGTGGTTATCCAT
+TGAGTGGCTCTGGCGCTCGTGCATTTTGCGAGCGTAGAACATCAGGATAATCAGGCTGACGATGAAGGTA
+CCTGCCAGCTCGAAGGAGCTTGCGCCCATCAGCGCGATGAAGCAGAACACGCAACCCAGTACAGAGCAGA
+TCAGGCTGACAAAGTTGCGGATGTTAACGCCTTCAAAACGAATCAGGTCAACGCAAGAGTAGAAGTACGG
+CAGCATAGTCAGCAGTACTGCGATACCGGTCAGTTCACCGAACAGGTCAGAGGCTTTACCACCGGCAGAG
+TTCATCAGAGTGATGAGGATCATCAGGGCAGTCATTTTCACTGCAGCCAGCAGCAGACCTTTTTTCGGAA
+TACCGTTGCTGTCGACTTCACCATAAACTTTCGGGAAGTTACCGTCGTTAGCGGCACGTACACCTGCCTG
+GCCTACCAACATCATCCAGGAGCCCAGAGAAGTCAGGCACGCAAAGGCGGTGAATGCAGAAACCAGTGGT
+GCAGCCCAGTTACCGAGGATAGTTGAAGCACTGATTGCAAACGGAGCACCGGAAGCCGCCATTACAGAAG
+ACGGATACATACCGGAAAGCACCTGAGTCGCAGCGATGTAAACAATACCTGCTAAACCAGTACCCAGCAT
+GGTTGCCAGCGGAACGGTACGTTTCGGGTTTTTAACCATACCAGTACTTACTGCTGCGGATTCAACACCC
+ACGAAGGCCCACAGGCAGAGCAGAATACTTTTAATGATCGCATGACCATCAGTGGTATCCGCAGTATTCC
+AGTTAGCTGCATAAGTTGCTGCATCAAACCAATGCCAGCCAACAATAGCAGTCATCACCACAGGAATAAG
+AACCAGCACCAGACCAATCGTGGTTAAACGGCTTACCCAGGTACCGCCGAGCATATTCACAAAGGTAAAT
+ACCCAGACGATAGCAATACAGGCGATACCCGCCGGAACAGGATCATTTAATACTGGGAAGAAGGTGGAAA
+GATAAGATACAGCGGTAATACCAATTGCCAGGTTACCAATCCAGTTAGCATGGTAATAAAGAACACCTGT
+CTGAAAACCAAATGCAGGGGAAATTTCTCCGGCATACGCAATTGGGCCACCTTGTTGCGGGTTTTTTGTT
+GCCAGTCGGGCATATACATATGCCAGCGACATTGCACCAATAATAGAGATAATCCAACCCCAGATAGCAA
+TACCACCGATACTTGCTAGGTTCGCAGGTAATAATGCAATACCGCTCCCCATCATATTACCGGCAACAAC
+ACCGGTACAGGCAAATAGCCCGATCTTCTTGGCAGAACTCATGCTCTTCTCCTAATTTCATTTTTGAATT
+TGGAGTCCGGGTCATGATGTATAACTATTTCCTGACCAGACCAAACTGGCGCTAAGATTACTCACGAAAA
+AAGGATTAATCCTAAAGATTAGGTGAAATAACACAAAAGTTTCTGTAAGTGAGAACTTGAGGTTTTTTAT
+TAACACATCAGGATCGCAAGTTGATATCATGAAAAGATAAACATTCAATGTTTACAATGCATTGCGTTAC
+ATTCTCTGGTTAAATTTATGTAATAAAAATTATGCGGCAAATAAATTGCCGCAACATATTATACCAACGG
+GAACATACAAAAACTCAACAACAAATATTCCCGAGCATGAATCAACCCGGGAGTTACTTATTCTGAAGCG
+AGAAATTTGTCGAGATAAGGTACAACATAAGGAACAGAAGTCTGGAATATACCATTTTCAATCCAGTAAA
+GGGTGTTTGCCCCTGGGCGTAAATTAAAGGCGGTGAGATATGCATCAGCTGCTTCCCGGTTCATCCCCTT
+CATTTCATAAACCTTGCCAAGCAACACATAATTTAGCCAGGACATTTCAAGATCAATGCCGGTATTTATC
+GCCTGATAAGACTCATCTGTTTTACCTTTTACCAGGGCACTGACCGCTTTTATTTGATATATAATGGACA
+GGTTGTTCAATTCCGGCAGTGTAACAATGTTATCTATTTCTGTGTTCAGTGCTGCTAATTGTTTTTCGTC
+TAAAGGATGTTGAGAATGGCGCACGATATCAACTAATGCTTTTTCTGCTCTCGCGTAGGTAAATTCTGGG
+GATGATTGAACAATCTCACCTAATAATTCACTGGCACGATCCAATGATTTATCATCACCATGCAGTAAAT
+AATCATGTGCCTGATAAAAATTAGTTAATAACGCACCACGATGCGGCAAAATTTGCTGGAGCATCTCCTG
+CATTCGTTGTGGCCACGGTTGGTTTAACGCTTTTGATAAACTCTGGAGCAAATCATTTTGAATCGCCAGC
+TGATTACCGTTAGTGATGACATAACGTTTATCCAGCATGGTTGAACCATCTGCATTGTCTACCAATTTTA
+CCGACATAAAGCATTGTTGAGCACGGTATTGGCGCTGATTAACAAACGCAATAGATAATGTTTTACCGGA
+ACTGCTCGGTTCATCAATGTTGTAGTTGATTTTGTCATGCACCATAAAGGTGGAGAAGGTGTTAAGTGAT
+GTCGCCACCAAATCACCCACGCCTATCGCGTAAGAGAGCTGATACGGAGAACTCCAGCTGTTACAACTCT
+TATTAACCATATTAATGTCAATATCGCGTGGATTGAGCAAAATGCGCGATTTACTCATAGGAAGACGTGT
+TTCAAGACTTGAAAACGCTACCAGTGCGACACAGATACCTAACGACAACAGGAAAAAAAACCATACCCAA
+AAGGTAGTGAATCGTTTGCTTTTAACTGGGGATTGTTCAGGTGGCGTTGTGGTGTTTTGAATGTTAAGAC
+TGTGGGAGGGAGAATCTGTGGCAGGAACCGCCTCTGGTATAGGGGGAGGCGAAGATAGCATTATTTCCTC
+TCCCTCTTCTTCGCTGTACCAGATAACCGGCACCATTAATTTATAGCCGCGCTTTGGTACAGTAGCGATA
+TAGACAGGACTATCTTCATCATTATCTTTTAATGACCTACGTAGTTCTGAGATACTCTGCGTCACAACGT
+GATTGGTGACAATACTTCTCTTCCAGACATTATCGATAAGTTCATCCCTGCTAAGTACTTCGCCACTGTG
+TTGAGCAAAGAAAACCAGAAGATCGATTAATCTCGGCTCAAGGGTAAGTTGACGCCCATTGCGGCTAATT
+TGGTTTATGGACGGAGTAACAAGCCATTCGCCAACGCGAACTACAGGTTGTTGCATAATAGAAACTCATT
+CGAAAAGGGAATGATGCAATGATAATTGCCATAACCTATTTTTTCCATCTATAGATGGGTTTATTTACAT
+ATTATTGGTGAATGTAGGACGTTATTTTTACCCGCCATAAACTTCTTGATTACATAGTATTACGAAAGGA
+TTTTACTGAGAACCAGAAGTAATTTTCCTTACCATCAAAATTCATCATCTTTGCCAAAGAAAAATGTTCA
+GAAAATAATCCATGAAAAATTGTCCGGAGCGCTTACTATTTTAATGGATTGTTAGTCTTTGCATGAGCAA
+ACGGACTGATACATTTCTCTTTGTTCTCATTCAGAAAATCTCATCAGTTGGCGTTCTGCCCGATGTTGTG
+CTTTATGGGTGCGTTACGCTCCTGATGACGTCATTTGACGTTCAACAGCATCACGGGGCCGCACGACATT
+TCACGTCAGTCAGCGCTATAGCTCAGAAACAAATTTTCCCGAATTGGGATATGCCCGCAAATTGCTGGTG
+ATGTGGGGAGAATCTGGTTGAGTTCGGTAGAATTGATTTGGCGGCAGGACGCTTAAATCGTGGCGTCCTG
+AAACGAAAAACGGACCTCCGTGGAGGTCCGTTTATATGAATTTGGTGCCCGGACTCGGAATCGAACCAAG
+GACACGGGGATTTTCAATCCCCTGCTCTACCGACTGAGCTATCCGGGCAACGGGGCGCATTAAACCGTAA
+TCTGCACATCTCGTCAACCTAATTTCAGTAAAAGCGATTCAACTGCTTAAGATTGCGGCAAATCGCTTCT
+TTTCTGTGTTTCTGTCAGGTCAGTGCACCACCCTGACGGCAGCGGGCGAAGCGCAGGATATCTTCCGCCA
+GCCGATGTGCGGTGTCGACATCCGCCTGGCTACGATTCACCAGCATTCGGCTTAAACAGCCTTCCAGCAC
+CAGTTCCATCTGCTTTGCTACCATCGCCGGATCGTCAACTTCCAGCGTGGTTAACAGTTCGTGGGTGAAA
+TCGTAGGCCGCGCTTTTTTGCTGATCGGCCAGTTGATGAATAGGGTGGCCAGGATCGGGGTAAAACGTAC
+AGGCAGCGATAAACAGACAGCCCGGATAGCGGTTGTTTTTAACGCACTCCGATAACGCCTGATAACGTGC
+CAGCAACTTTTGTTCGGCGGTTTGCGTTTCGTCCAGCATCAGCTGACGACGCCAGACATCTATCTGTTGG
+CTAAGATAACGCAGCGCATCGTAGAGGATTGCCTCTTTGTCTGGCCAGAAGCGGCGTAGCTCGTCCAGTG
+GATAATCCACACGTTCAGCAACCATCTCCAGCGTGGTGTTGGCAATCCCTTGTAATTCTAATAATTTCAG
+GGCTTCTCCCAGTACATCTTCACGTTGCACGCTATTTTCCTCCGTCTTTCCCACTGCAAGTGTCGTTCAC
+GGTTGGCGATCGCGCAAATGTGCGCTGAAGGTTTCAGCATCCATAAAGCCCGTGACGCGTGCTTGTGGAT
+GCTCCTGGCCTTGTCCGTCAAAAAAGAGAATTGTCGGTAGGCCAAGGACATTAAGATGCTTTAACAGCGC
+CACATCTTGTGCGTCGTTGGCAGTGACGTTGGCCTGAAGTAAGACCGTATCTGCTAACGCTTTTTGCACC
+TGCGGGTCGCTGAAGGTGTATTTCTCAAACTCTTTACAGGCGACGCACCAGTCGGCATAGAGATCTAACA
+TCACTGGTTTGCCTTTGGCTTCAACGAGCGCCTGATTTAACTCATCTACTGTTTTGATTTGTGTAAAGTT
+GAGATGCGTCTGAGTTTGCGCGGTATGTGTTTCACCAAATGCCCAATCCTGAAGTGGGCGCACGCTAACC
+AATGCCGCTGCCAGCAGGATTATTTGCACCACGCGCATCCAGCCGCGTTTGGCCTGTAGGCTGGTGATAA
+AGGCCCAGCCAAAGAATGCGACACCAAGCGCCGACCACAAGCGTAATCCCCATATATCACCAATCACTCG
+CTCCAGCAGGAAGACCGGCAGTGCGAGGATCACAAAACCAAACGCGGTTTTGACTTGTTCCATCCACGGG
+CCGCTTTTCGGCAGCAAGCGGTTACCAAAGACGGTAATTAGCATCAGCGGCAGGCCCATGCCCAGCGCAT
+AAAGATAAAGCGTGCCGCCGCCCAGCCACATGTTCCCGCTTTGGGCGATATACAGCAGAATCGCGCTAAG
+CGGTGCAGTGGTGCATGGTGAACAGATCAGTCCGGCAATCGCCCCCATAATAAACACACCGCCAGGTGAG
+CCGCCCTGTTGGCGATTGCTCATCAGCGTGAGACGTGTTTGCAGCGAAGAGGGGAGTTGCAGAGTAAACA
+AGCCAAACATTGACATCGCCAGCAAGGTAAAGACGATGGCGAGGCCAATGAGCACGTATGGGTGCTGTAG
+CGCCGCCTGGAACTGTAACCCTGCGGCGGCAACCACCAGACCCAGCGCCGTGTAAGTCAGCGCCATCCCC
+TGCACATAAATAAAGGTCAGCAACAATGCTCTGGCAGTGGAAAGCCGCTGTTTACCGCCCAGCACGATGC
+CAGAAATCAGTGGGTACATTGGCAGCACGCATGGCGTAAAGGCGATACCAATACCGATCAACAACGCCCA
+GAGCGCGGAAAAGGGCAATTGCGCGGTGGGCTGCTCTTGCTGCGGAACAGACACAGGCTGTGACGCTTCG
+TTGTTAGCGACCACTTCGCTTAACGGAACGGTTTTGGTTTCTGGCGGATAACAGAAACCGGCATCAGCAC
+AGCCCTGGTAGGTGACAGTTAACGTTGCTCCCGCACTCGCCTGGTTGATGGTTACGGGAAGCGTCAGCCG
+ATCGCGGTAAATCTCGCTTTTGCCGTAAAACTCATCTTCATGCCAGACGCCTTGCGGCAGCTGCACGTCA
+GCAATTTTCGCGTGTTCCGGCGTAATGCGGATCTGTTTACGGTAGAGGTAGTAACCGTCTTTGATCTGCC
+AGGTCAGATTCAGATCATGTTGATTTTGCTGAAAATCAAAAGCAAAGGCTTGATCCGCGGGGACAAATTG
+TGAACGTCCCGGCGCGTCGAATAATCCGGCAAAAACGGAAGTGCTGCAAAGTAGCAGGATCAGCGTAAAG
+ATGCGTTGAGCCATGAGAGGTAATCTGTGTCTCCGTGTGTAACAGGTAAAACCAGAAGTTCCGGGGTTTG
+ATATGGATGATGAGACTTCAGGCATTCCAGCAGCGCCTGCTGGTGAGATACGGTAGTTTTTAAAATCATC
+TGCACTTCGTATTCTTGCTCCAGCTTACCTTCCCAGTAATAGAGAGAGGTAGCGCCGGGGATCAAGGTCG
+CGCAGGCCGCCAGTTTTTCCGCCAGCACTTTGGCGGCTAAATCCTGGGCTGTCGCTTCATCCGGTGCCGT
+ACATAGCACCACGACAGACGTGGTATTCGAACTTTTTTCATCAAGCATAAACACCTCGCAAGAACAGATG
+GAACTGCAAGAGAGAGGTCACTATACAACGGACGGGGAAAGGATGTTAGTCGGCGGGAAAGAAAGCGGGG
+CGTGAACGCCCCGCGATGGGTCATTACAGCATGAAGCTACCCAGCACGAAGCCGAAGCAAACGGCCAGGG
+CAACGCCCAGAGTACCCGGGATGAAGAACGGATGGTTGAAGACGAATTTACCGATACGGGTAGTACCCGT
+GTCATCCATCTGTACCGCAGCAACCAGTGTCGGGTAGGTCGGCAGAATGAACAGACCAGACACCGCAGCG
+AAAGAAGCAACAGCGGTCAGCGGAGAAACGTTCAGTGCCAGAGCCATCGGCATCAGTGCTTTTGCGGTTG
+CAGCCTGAGAGTACAGCAGAGCAGAAGCAAAGAAGAAGATGACGGCCAGCAGCCACGGATGACCCTGAAT
+CACTTCACCAGCGGTATCTTTGATCCAGTCGATGTTGTTGGAAACGAAAGTATCGCCCAGCCACGCAACA
+CCCAGGATACAAATACAGGCGCTCATACCTGCTTTGAAGGTGCTGGAGTTGAGAATGTTGTCGGTATCGA
+CTTTACAGATAACGGTGGTCAGAGTTGCAACGCTGAGCATGATGATCAGGATTGCGTTGGTGGTGTTCAT
+CAGCGGTTTTTCAACCAGACCCATGCTTGGGCTGTTGATGATTGCATAGATAACCACGCCAACTACGCCC
+AGCAGGAACAGCCAGACGGACGTTTTTGCACCGGATTTGATTTCAATCTGCTTTTCACCGCGCAGTTCAA
+CCAGGCCCTCTTCCAGACGCTTGCGATAAATCGGATCGTCAGAGAGTTTGGAGTTGAACAGCATAGTGAC
+CAGGAAGGACATCACCAGAACCGCCAGCAGGGTGGACGGGATGACCACGGAGAGCAGATGGAGGTAGCTG
+ATGCCATGACCTTCCATTACGGAAGACATGTAAACCACTGCCGCTGAGATTGGCGATGCGGTGATCGCAA
+TCTGCGCGGATACCACTGCAGTAGACAGCGGACGGCAAGGTTTAACGCCTTGTTCCTTCGCAACTTCAGC
+GATAACTGGCAGTGTCGCCAGAGAGATGTTGCCAGTACCAGCAAAGATTGTCAGGAAATAGGTCACGATC
+GGTGCGAGGATCGTGATGTATTTCGGGTTACGGCGCAGCAGCTTTTCTGTCTGATGAACCAGATAGTCCA
+GACCGCCAGCAACCTGCATGGCAGAAATAGCGGCGATAACCGCCATGATAATGGAAATGACATCGAACGG
+GATGTTACCGGGTTTAACGCCAATAGCGGCAAGAACCAGCACCCCCAATCCGCCTGCAAAACCAATACCT
+ATTCCCCCCAATCTGGCGCCCAAGAAGATCGCCAGCAAAACTATGATGAGTTCTACAACTAGCATATTAG
+CCTTCCTTGTTTTTTAACAAGTTGATATTAAATTGTTATTTTTAAGTTACTGCTCACAAGAAAAAAGGCA
+CGCCATCTGACGTGCCTTCTTTATTTGTACTACCCTGTACGATTACTGTTCGCTTTCATCAGTATAGCGT
+TTTGCTTTGTAAGCCGGGTGCATCAGATTCTGTACGGAGAAAATATCGTCAAGTTCCGCTTCAGTCAACA
+GACCGCGTTCCAGAACGACTTCACGTACACTCTTACCGGTTTCGGCACAGATTTTACCCACGATGTCACC
+GTTGTGGTGACCGATGAACGGGTTCAGGTAAGTAACGATACCGATAGAGTTGTAAACGTAACCTTCGCAC
+ACTTCTTTGTTAGCAGTGATGCCGTTAATGCATTTTTCCAGCAGGTTGTAGCAAGCGTTGGTCAGAATGT
+GAACGGATTCGAACATGGCCTGGCCAATGACTGGCTCCATAACGTTCAACTGCAGCTGACCTGCTTCTGC
+TGCCATGGTAACAGTGGTGTCGTTACCGATGACTTTGAAGCATACCTGGTTAACCACTTCCGGAACAACC
+GGGTTTACTTTAGCTGGCATGATGGAAGAGCCTGCCTGCAGTTCCGGCAGGTTGATCTCGTTCAGGCCGG
+CACGTGGACCAGAAGAGAGCAAGCGCAGGTCGTTACAGATTTTGGACATCTTCACAGCCAGGCGTTTCAG
+CGCGCCGTGAACCATAACATAAGCGCCGCAGTCGGAGGTCGCTTCGATCAGGTCTTCAGCCGGTACGCAT
+GGGAAGCCAGTGACTTCAGCCAGTTTTTTCACTGCCAGCGGAGAGTACTCTTTCGGCGTGTTCAGACCAG
+TACCGATTGCTGTTGCGCCAAGGTTAACTTCCAGCAGCAGTTCAGCGGTACGTTGGATATTTTTCACTTC
+TTCTTTCAGCAAGATGCTGAAGGCGCGGAATTCCTGACCGAGGGTCATCGGTACTGCGTCCTGCAGCTGG
+GTACGACCCATTTTCAGGATGTCCTGGAATTCGACAGCTTTACGTTCAAAGCCTTCACGCAGTTGGTTAA
+TCGCATCTACCAGTTTAATCAGGGAAGAGTAAACTGCGATACGGAAACCGGTCGGGTAGGCGTCGTTAGT
+AGACTGACATTTGTTAACATGGTCGTTCGGGTTCAGGTACTGATATTCACCTTTCTGGTGACCCATCAGT
+TCCAGACCGATATTGGCCAGCACTTCGTTGGTGTTCATGTTTACGGAAGTACCTGCGCCGCCCTGGTAGA
+CGTCTACCGGGAACTGATCCATGCATTTTCCGTTGTTCAGGACTTCATCACATGCGGCAATGATGGCATT
+CGCTACACTTTTAGGAATGGTTTGCAGCTCTTTGTTTGCCATAGCTGCGGCTTTTTTAACCATTACCATA
+CCGCGAACAAATTCAGGAATATCACTGATTTTGTTGTTGCTGATATAGAAGTTTTCAATCGCTCTCAGAG
+TGTGAACACCATAGTAGGCATCAGCTGGAACTTCCCTGGTACCCAACAGATCTTCTTCGATACGAATGTT
+GTTTGACATGTGAACCTTCTTTTTCAAGCTGCCAATGATTTGCTTTAAACACACAGAATATATGTGGTTT
+CGAATGTTTTTCGGCCGACGATTATCCCCTGCATCGACCGAATACCCGAGATCATATGCTGCTTGAGGAT
+TTCTACCGTAACCTGGATCACTTTAAGTGTCGGTTTTTACCCCTTAATTATTAATTTGTGAAATGGATCA
+CCGCTTTGGGATTACTACCAAAAATAGTTGCGCAAACATCTTGAAATTTTGCTAATGACCACAATATAAG
+CTAAACGCGATTCGCAACCCATTCAGGTAGCCGGGTTTAACCGGCTGCTATTACAGGAGAAACCTTTGCG
+CTGGTTACCTTTTATTGCCATTTTCCTTTATGTCTATATTGAGATTTCAATCTTTATTCAGGTTGCTCAT
+GTATTGGGGGTATTGCTGACCCTCGTGCTGGTTATATTCACGTCAGTTATCGGTATGTCACTGGTACGTA
+ACCAGGGCTTTAAGAATTTCGTGCTGATGCAGCAAAAAATGGCGGCGGGTGAAAACCCAGCGGCGGAGAT
+GATTAAAAGTGTTTCGCTGATCATTGCCGGTTTGCTGCTTTTATTACCGGGCTTTTTCACCGATTTCCTC
+GGTTTGCTTCTTTTATTACCGCCGGTGCAAAAGCATCTGACAGTGAAGTTGATGCCTCATCTGCGTTTTT
+CCCGTATGCCAGGCGGCGGTTTTAGCGCCGGGACCGGTGGCGGTAATACTTTTGATGGTGAGTACCAGCG
+AAAGGATGATGACCGCGACCGCCTTGATCATAAAGACGATCGCCAGGATTAATGTCGAAACGCCGGATTA
+TGTGGTTATGCCATTTTCCGGCGTTTTTCGTTTTGGCAGAAACAGCCATAACCCCGCCAGCATGATCAGC
+GCGTAGAGACTTTTCCAGCCGACCATTGCCAGTAACAGAACGCATAATAGCCCGCCAACCACCGCCAGTA
+GTCGATAACGTCCTTGCAATAATTTACAGCCTGCCAGCATGCATAACAGATAAATCATAATAAAGATGCC
+ATTGGCATAAATAATAAGAGCGTCCAGATTGATCTCTAAAGCATGAATCACCAATGTGCTCACCACGCAG
+CAACCGAGCACTGCATTGAGGGCATTATTCGGGATATGGCGAGAAGAGAGGCGTGCCAGGTAGTGGTCAG
+GATTATGTTGCGCCTGCGACCAGACCAGGCGGGCGAAGCTCTGTATATAAATGTTGAGACTGGCAAAGCA
+GGCCAGATAGCCAATTACGCAGGCAATCCATAACGCTCCTACACCGAACAACTGCACTACAATTTTGGGA
+AGCGATGCTGCCGCCGCCATTTGTTCACCATAGGCGTCGAAGTGTAAGACGACTACCGTACAGCCCCAAT
+AGACTAATCCTGCCAGCAGCAGGCCAATCATCAAAGCACGAGGAAAATCACGCTCTGGATTTTTAAATTC
+CGAGGCAAGATGGGCAAATGCTTCCAGACCGACAAAACACCAGAACATCACTGATAACGCAGCGAATAAC
+CCGGTAAGTTCGATATTTCCTGGCGCAGGGAAGGGGATATTCGCAGGTTTGATATCGCCCGCCCACCAGA
+TAGCGACAATCAGTGCGACGATAAGCCCGGCAATAACTGTTTGTAGATTAGCACTGGAACTGGCACCTCG
+AGTACCGATATACCACACCAGCGCCAGCGTACCGAGTTCTGCCAACAACAGTTGCCCGCTATGCCAGCCA
+AACATTGCCTGGCCGAATCCGGCAGCAATTTGTAGCGCGGCAGGCAAACCCACGGGAATGACCGATAAAA
+ACAACCAGCCGGTGACTCGCTCAAGCCGCGAACCAAACGCCATACCGACGAAGTGTGCGACGCCGCCTGC
+GCTGGGATAGTGGCGACCCAGAATCGCAAACACAATCGCAATCGGGAACACTAAGATAATCAAAACGGGC
+CACGCCCACAGGCTGTTATTGCCTGCTACTAGCGCAGCTAACGCAGGAACGGCAAACACGCCAGTGCCTA
+ATAATGACGTCGATAGCAGGCCGATGCCCTGGGCCAGCCCCAGTTCTTGTTTGAGTCCACTCATGGGTTG
+ATATCCGATTGCGCCCAAATTTTGGGCAACTGCGTAGATTTTCGATGGTAGCACAATCAGATTCGCTTAT
+GACGGTGATGAAGAAATAGCGATGAAATGTGAGGTGAATCAGGGTTTTCACCCGATTTTGTGCTGATCAG
+AATTTTTTTTCTTTTTCCCCCTTGAAGGGGCGAAGCCTCATCCCCATTTCTCTGGTCACCAGCCGGGAAA
+CCACGTAAGCTCCGGCGTCACCCATAACAGATACGGACTTTCTCAAAGGAGAGTTATCAATGAATATTCG
+TCCATTGCATGATCGCGTGATCGTCAAGCGTAAAGAAGTTGAAACTAAATCTGCTGGCGGCATCGTTCTG
+ACCGGCTCTGCAGCGGCTAAATCCACCCGCGGCGAAGTGCTGGCTGTCGGCAATGGCCGTATCCTTGAAA
+ATGGCGAAGTGAAGCCGCTGGATGTGAAAGTTGGCGACATCGTTATTTTCAACGATGGCTACGGTGTGAA
+ATCTGAGAAGATCGACAATGAAGAAGTGTTGATCATGTCCGAAAGCGACATTCTGGCAATTGTTGAAGCG
+TAATCCGCGCACGACACTGAACATACGAATTTAAGGAATAAAGATAATGGCAGCTAAAGACGTAAAATTC
+GGTAACGACGCTCGTGTGAAAATGCTGCGCGGCGTAAACGTACTGGCAGATGCAGTGAAAGTTACCCTCG
+GTCCGAAAGGCCGTAACGTAGTTCTGGATAAATCTTTCGGTGCACCGACCATCACCAAAGATGGTGTTTC
+CGTTGCTCGTGAAATCGAACTGGAAGACAAGTTCGAAAATATGGGTGCGCAGATGGTGAAAGAAGTTGCC
+TCTAAAGCGAACGACGCTGCAGGCGACGGTACCACCACTGCAACCGTACTGGCTCAGGCTATCATCACTG
+AGGGTCTGAAAGCTGTTGCTGCGGGTATGAACCCGATGGATCTGAAACGTGGTATCGACAAAGCTGTCGC
+TGCTGCGGTTGAAGAACTGAAAACACTGTCCGTACCATGCTCCGACTCTAAAGCGATTGCTCAGGTTGGT
+ACCATCTCCGCTAACTCCGACGAAACCGTAGGTAAACTGATCGCTGAAGCGATGGACAAAGTCGGTAAAG
+AAGGCGTTATCACCGTTGAAGACGGTACCGGTCTGCAGGACGAACTGGACGTGGTTGAAGGTATGCAGTT
+CGACCGTGGCTACCTGTCTCCTTACTTCATCAACAAGCCGGAAACTGGCGCAGTAGAACTGGAAAGCCCG
+TTCATCCTGTTGGCTGACAAGAAAATCTCCAACATCCGCGAAATGCTGCCGGTTCTGGAAGCTGTTGCCA
+AAGCAGGTAAACCGCTGCTGATCATCGCTGAAGATGTTGAAGGCGAAGCACTGGCAACTCTGGTTGTTAA
+CACCATGCGTGGCATCGTGAAAGTTGCTGCGGTTAAAGCTCCGGGCTTCGGCGATCGTCGTAAAGCTATG
+CTGCAGGATATCGCAACCCTGACTGGCGGTACCGTAATCTCTGAAGAGATCGGTATGGAGCTGGAAAAAG
+CAACCCTGGAAGACCTGGGTCAGGCTAAACGTGTTGTGATCAACAAAGACACCACCACCATCATCGATGG
+CGTGGGTGAAGAAGCTGCAATCCAGGGCCGTGTTGCTCAGATCCGTCAGCAGATTGAAGAAGCAACTTCT
+GACTACGACCGTGAAAAACTGCAGGAGCGCGTAGCGAAACTGGCAGGCGGCGTTGCAGTTATCAAAGTTG
+GTGCTGCTACCGAAGTTGAAATGAAAGAGAAAAAAGCACGCGTTGAAGACGCCCTGCACGCGACCCGTGC
+TGCGGTAGAAGAAGGCGTGGTTGCTGGTGGTGGTGTTGCGCTGATCCGCGTAGCGTCTAAACTGGCTGAC
+CTGCGTGGTCAGAACGAAGACCAGAACGTGGGTATCAAAGTTGCACTGCGTGCAATGGAAGCTCCGCTGC
+GTCAGATCGTCCTGAACTGCGGCGAAGAACCGTCTGTTGTTGCTAACACCGTTAAAGGCGGCGACGGCAA
+CTACGGTTACAACGCAGCAACTGAAGAATACGGCAACATGATCGATATGGGTATCCTGGATCCAACCAAA
+GTAACCCGTTCTGCTCTGCAGTACGCGGCTTCTGTGGCTGGCCTGATGATCACCACCGAGTGCATGGTTA
+CCGACCTGCCGAAAAACGATGCAGCTGACTTAGGCGCTGCTGGCGGTATGGGCGGCATGGGTGGCATGGG
+CGGCATGATGTAATTGCCCTGCACCTCGCAGAAATAAACAAACCCCCGGGCAGAAATGTCTGGGGGTTTT
+TCTTTTGGTCATCTTTCTAGTATAAGATTCAGACACGGACGACGCGAGTGGCGTCCAGCTCATTGATTAT
+GGGGAATAACATGCACGTAAAATACTTAGCAGGGATTGTCGGTGCCGCGCTACTGATGGCGGGTTGTAGC
+TCCAGCAACGAATTGAGTGCTGCCGGTCAGAGTGTACGCATTGTGGACGAGCAACCAGGTGCAGAGTGCC
+AGCTGATTGGTACTGCGACAGGTAAGCAAAGCAACTGGCTTTCCGGGCAACACGGAGAAGAAGGCGGTTC
+TATGCGCGGCGCAGCAAACGATCTGCGCAACCAGGCGGCTGCAATGGGCGGTAACGTGATTTATGGCATC
+AGCAGCCCGTCGCAGGGAATGTTGTCCAGTTTTGTCCCGACGGATAGCCAGATTATCGGTCAGGTTTATA
+AGTGCCCGAACTGATGTGATCCAGAGGCTGGATACTTCCAGCCTCGTAGTAAAACAGATGAGATTATTTC
+GCCTGTGGTGCAGTTTTGCTGGTGGATTGAACACGTAAGTGATGCAGCGCGCGTAAGCATTGATCCTGGG
+TTAGCGGTTGGGCGTTATTTGCCGCTACGGTGCGAACATAGACCTGACATGGCACACCCGCGAGTTTTTT
+CAGTCGGGGGCTGAAATCAAGCATTCGGCGAGTGATCGCCTCCACTTCTTTACCCGGCGTTGCTTCACGC
+GTTTTCACCACTGCGCCGCTAAATTGTTCATTGCCACTTTCATCTTTAAAGCGGTAAAGCACCGCCAGAT
+AATGGTTGAACAAGTTATGTTTCCATTCCGGTTGGGAATAGGTGTCATATTCCAGATTGCCATTTTCCTG
+GCAGTCAACGTCGTATAACGGCAGGAAATCTAACAGTGAGGTAATACGTAATGCCAGTTCACGCATTTCC
+GCATTATTAATTGCATGAATGATTGCTCGCGCCAGCATTTCAATCTGCAACTCATTGACGACTAACTCAC
+ATTTGCTACCGTCATGTAGCGTTAATACGAAGGTAAGATTTTCGCCCTGATCATCGGTAAGTTCCAGCGT
+GTTAACCCGACGATTAATATCGGCATTTTTAAGCTCATCAACCAGAATTTCTGGGATATTTTCTGCCATT
+TTCTTAATGACTTTATCGCGAGCTTGTTCATACTGAAGGCGTGCAGCAGCATCCAGTTTATGCTTTTGAT
+GCAGACGACTTTCCAGCGCAATCAGAAGGTCGCGCAATTCCATGGCAGACATAAAGAACAACGATTCTTT
+ATTGCGAGGTTCTTTAATTTTCAGCGCCAGTGCAATGAAATTATTACTCTTGCGAATAACACCGGTATTA
+ACACCCTTGATGCTTATGGCCATGTAGGTTCTCCCTAACCATTTCTCAATTAAATAATTAATTTTAGTTT
+ATAAGCCAGATAAATGGGCTTGGTAGTAATAGTTGTTAAAATAACATAAATAGCCGTGCTCACTCTATAT
+AAACAGAAAAGAAAGGTTAATTATTGGTGTTGGTTATATAAAGAGTAACAACAGCAATGTATATGAATAA
+TTAAAGGTTATGCAACGGGCAAAGATTAAACTTCCCTGTTTAATCAGTTACTGCTGGCGTAGCTGGAGAT
+CCAGCGGCGTTTTGCTGGGTTCGCCGCCAATTTCTCGCGCCAGTTTAGGCACCAGATATCCCGACACCAG
+TGTCAGCAACTCACGCATAATCTGCCGTGCTTCGTCATCACTCACCATAAAATGCGCCGCGCCCTGTACT
+TTATCGAGCACATGCAGGTAATACGGCATCACGCCCGCATCGAACAACGCATTACTCAGGTTTGCCAGCG
+TTTGCGCGTTATCGTTCACACCACGTAACAGAACGCTCTGGTTCAGCAAAGTAACGCCCACCCGGCGCAA
+CTTAGCCATCGCCTGACGGAATGTTTCATCTACCTCATTGGCATGGTTGATGTGATTCACCAGCAAGATT
+TGCAGCGTAGAATGAGAAAAGCGTTCAACCAGCGCATCTGTGATGCGTGCCGGGATCACAATCGGCAGAC
+GGCTGTGAATCCGCAGACGTTTGATATGCGGGATGGCTTCCAGTTGTGTGAGCAACCAGTCCAGCTCGTG
+ATCTTTCGCCATCAGCGGATCGCCGCCGGAGAAAATCATCTCGTCCAGTTCCGGATGCGCAGCAACATAC
+TCAAGTGCAGTCTGCCAGTTACGCTTATTGCCCTGATTTTCGGCATAGGGGAAGTGGCGACGGAAGCAAT
+AGCGGCAATTTACCGCGCAGCCGCCTTTGACCAGCAAAAGCGCCCGGTTGTGGTATTTATGCAACAAACC
+AGGCACTACGCTATGCTGTTCTTCCAGCGGGTCGGTGGAGAATCCGGGCGCGACGACAAACTCATCTTGC
+GAGGTAAGTACCTGACGCAAAAGCGGATCGTTCGGATTGCCTTTCTCCATGCGATCGATAAATGAGCGGG
+GCACACGCAGGGCAAACAGCTTTTTGGCGCTGCGTCCGGCCAACAGTTTTTCGTCCGCGTCTATATTCAA
+AAGACGCAGAAGTTCATCAGGATCGGTCACAACATCGGCAAGTTGCGTTAACCAATCTTCTCTGGATGGG
+GTATTTAGGGTTACAATATGCGCCATTTTGTGGCTTAGCTACCAATTAACAAATTTCAGAGGGCCTTATG
+GCAACGTACTATAGCAACGATTTTCGTGCTGGTCTTAAAATCATGTTAGACGGCGAACCTTACGCGGTTG
+AAGCGAGTGAATTCGTAAAACCGGGTAAAGGCCAGGCATTTGCTCGCGTTAAACTGCGTCGTCTGCTGAC
+CGGTACTCGCGTAGAAAAAACCTTCAAATCTACTGATTCCGCTGAAGGCGCTGATGTTGTCGATATGAAC
+CTGACTTACCTGTACAACGACGGTGAGTTCTGGCACTTCATGAACAACGAAACTTTCGAGCAGCTGTCTG
+CTGACGCAAAAGCAATTGGCGACAACGCTAAATGGTTGCTGGATCAGGCAGAGTGTATCGTAACTCTGTG
+GAATGGTCAGCCGATCTCCGTTACTCCGCCGAACTTCGTTGAACTGGAAATCGTTGATACCGATCCGGGC
+CTGAAAGGTGATACCGCAGGTACTGGCGGCAAACCGGCTACCCTGTCTACTGGCGCTGTGGTTAAAGTTC
+CGCTGTTTGTACAAATCGGCGAAGTCATCAAAGTGGATACCCGCTCTGGTGAATACGTCTCTCGCGTGAA
+GTAATGCGGTTGTGGTGCGGCCTGCAGGCTGCACCATCACTTATTCAGGTCAGAGATGATGAAACGCCTT
+ATCGTTCTTGTTTTGCTTGCCAGCACGCTGCTTACGGGCTGTAACACCGCTCGCGGTTTCGGCGAAGATA
+TCAAACACCTCGGCAACTCCATCTCCCGCGCTGCCAGCTAATTTTTCTTCTCTTCCGAAAAATCATCAGA
+TTTCCATCATTTTTGGCGATGTTGTCTATTATTAATTTGCTATAGGCAAACATAAATAACATTACCTAAA
+AGGAAGACGTTATGGTGAAGAAGACAATTGCAGCGATCTTTTCTGTTCTGGTGCTTTCAACAGTATTAAC
+TGCCTGCAACACCACGCGTGGCGTTGGTGAAGACATTTCTGATGGCGGTAACGCGATTTCTGGCGCAGCA
+ACGAAAGCGCAGCAATAAGCAATAAGCAATAAGCAATAACGGTACGACAGCTGTGTCGTGCCGTTTGTTT
+TTTCTGCGATAGTTACATAGGTAATAGTTGAAATTCCCCTGCCACCTGGCAAAATATCCGTTCAACCATC
+AGCTTTGCAGGACGACCTGCAAACGCGTCTTTTCACCGGGGACGGCCCCAATTTTCCGGAGCCTGATATG
+TCCTGGATTATCTTAGTTATTGCTGGTCTGCTGGAAGTGGTATGGGCCGTTGGCCTGAAATATACTCACG
+GCTTTAGTCGTTTGACGCCAAGTGTTATTACCGTGACGGCGATGATTGTCAGTATGGCGCTACTTGCCTG
+GGCGATGAAATCGTTACCAGTAGGGACGGCTTATGCCGTGTGGACGGGTATTGGCGCAGTCGGCGCGGCC
+ATCACCGGCATTGTGCTGCTCGGTGAGTCCGCTAATCCGATGCGCCTGGCGAGTCTGGCGTTAATCGTAT
+TGGGGATTATTGGTCTGAAACTCAGCACTCATTAACTACCGGGCTGCTGTACCCAAATAAACTTACTGAC
+ATCAAACCCTTCCCGGGTCGCGACTGCCAGCATCTCCTGTTTCACTTCGTCAGAAATGGTTGGCGTGCGG
+GAGAGTATCCACAGGTAGTCGCGGTCCGGGCCGCAAACCAGCGCATGGCGGTATTCCTGATCGAGTGCAA
+TAACGTTATAACCGCCATAGAAAGGACCAAAGAATGACACTTTCAGCGCAGCGCGAGTTGGTGCGCCGGT
+AAAGTACGCTTTCCCTTCACTCTGCTGCCACATTTCTCTGTCAGGGTTATAGCCTTTATTAATGACATTC
+AGGCCGCCGTCATCACGCAGGCTGTATGTTGCGGTGACTTTTTCCAGTCCACGTTCAAAGCGGTGATCAA
+AACGGGCAATCTCATACCAGGTACCGAGATAACGTTTAGCGTCGAAATTATTCACTACGGTCACGCCACG
+CGGCGGCGTAGGGGAACTGCAGGCAACGACCAGAAATGCAGCTGTCGCTGCGGCAACGAGAGGGAGCAGG
+CGCATAAATGTTTCCTTACTGGTTTTTTTCTAAGTGTAGATGACAGCAAGGAAAAGCGGAGAAAAGGTCC
+GAAAATTCGGACCCGATGAAATTTTACTGTAGAGCGTTGAGAATCTGCCAGGCGGCGGCGACTCTCGCTG
+GATTGGGGTAGTTTTTGTTAGCCAGCATCACGATACCCAGCTCTTTTTCTGGAATAAACGCGACATAGCT
+ACCAAATCCGCCGGTCGCCCCCGTTTTATGTACCCATGATGCGCGTACTGCAGGAGTTGGGGGCGTAATC
+GGTTTTACGGGGCGTGCTGCCAGTGCAATTTTATTGTCACTGCCGTTAATGATGATGTCAGGATTTACCG
+GCCAGTCCAGCATTTCCCAGCCCAGACCCTGATACATATCGCCGGTTTGCCAGTAGCGAGATTGTGCCAG
+TTGTATCCCTTGTTGAAGTGTTTTCTCATTGATATCAAGGGGTTTTAAATTGCTTTGCACCCAGCGGGCC
+ATATCTTCAATGGTCGACTTCACACCATAAGCTTCAGCATCTAACGCCCCTGGCGAAACATGTACTGCCT
+TACCTTCGCGATATCCCCAGGCGTAGTTCTTTTCTTCTGCGGACGGTACATTAATCCACGTATGATTGAG
+TTTGAGTGGCTGGAAGACACGAGTTTTCATCGCCTGCTCAAAACTCAAACCAGACGGCTTCACAGCCAGT
+GCGCCGAACAAACCGATACTGGAGTTGGCATACAGACGTTGTGTTCCTGGAGCCCATGCAGGCTGCCAGT
+TTTGATAGAAGCGCAGCAAGTCGCTTGAGGATTTCACCTCATCCGGCACCTGCAATGGCAGGCCGCCAGC
+GGTGTAGGTTGCGAGATGTAATAGTGTGATCCCATTCCACTGTTTAGCGGTAAGTTCAGGCCAGTATTTT
+GTTGTGGGATCGCTTAACTTGATTTCCCCTCGAGCAATAGCGTCGCCACCAAGCACGCCCGTAAATGTTT
+TGCTGACCGAACCTAACTCAAACAACGTTTGCTGTGTGACGGGCTGCTTTTTGGCGATGTCCGCATAGCC
+CCAGGTAAAGTAATAAGGTTTACCCTGATAAATTACCGCCACCGCCATACCGGGGATCTTTTGTTGCTCT
+ATAAGCGGGGTAATTGTGCGATGCACAATATCGTTGATTTGTTGAGGGGCGGCAAATGTGGAGCAAGAGG
+CGGTAATTAATAAGGTGCAGAGCGTCGTTTTGAGCATAAGGTCTGGTTTCCATACAAAACGGCCCGCCAT
+AGGCGGGCCGGATTTACATTGGCGATGCGTTAGATTGTAACGACACCAATCAGCGTGACAACTGTCAGGA
+TAGCAGCCAGACCGTAGAAAACCCATTTACCCGCAGGTACGTGGATTTTCAGATCGTGCATCGCGTGGTG
+CATACGGTGTAAACCACACCACAGCGGCAGAACGATCATCAGGAACAGGAATACGCGACCAATGAAGCTC
+TGCGCGAACGCCAGAACGCGCTCGTAGCTCAGCGCATCACCCGGAAACAGCCCTAGCGGCAGCAGAATAC
+CAACCAGCAGGATCATCACCGGCGCAATGATGGCGCTCCACATACCACCGGCCCCGAAGAGGCCCCAGAA
+TACCGGTTCGTCAGAACGCTTTGGATTTGGATTAATCATCTCAGGCTCCTTACCAGTACAGGGCAACAAA
+CAGGATTACGATGGTGGCAACCACAGTTACCGCCCAGAGACTTTTGATAATTGGCTCTGGTCCCATTTTT
+TCGTCTTTTACAATGATATTGGCTGCTTTTGGTGCCAGCTCAAACCAGGTTTTGGTGTGCAGCAGGGCTG
+CCGCCAGAGTGATCAGGTTAATGATCACGATAACCGGGTTTTGTAAAAAGTCGACGAATCCCGCCCAGGC
+TTCCGGGCCATTTTTCAGGGCAAACAGCCCGAAAATCAGTTCAATGCTGAACCACACAGCCGGAACCGCC
+GTGCCTTCGCGCAGCATGTAAAAGCGATAAAACGGCAATTTTTTCCACCAGGTGGACGTCATTGGCCGTA
+CATACGGTTTACGTTTAGTCGTCATGTTGCACTCCTTAGCGTGGTTTCAGGGTCGCGATAAGAAAGTCTT
+TCGAACTTTCTACTTTGCCCTGCTGAATGGCCGCAGCCGGATCGACGTGTTTCGGGCAGACTTCGGAGCA
+GTAGCCCACGAAAGTACAGCTCCATACGCCGTTCTGGCTGTTCAACTGCGCCATACGCTCCTTCTTACCG
+TGGTCGCGGCTATCTTCGTTATAACGATGCGCCAGCGTAATGGCAGCCGGACCGATGAACTCTGGGTTCA
+GGCCAAACTGCGGGCACGCGGCGTAGCACAGACCACAGTTGATGCAACCGGAGAACTGGTGATACTTCGC
+CATCTGCGCCGGGGTCTGGATGTTAGTACCCTGATCCGCGGTGCGGGAGTTGCCGATGATGTACGGTTTG
+ATCGCTTCCAGACTTTCGATGAAGTGAGTCATATCGACCACCAGATCGCGTTCAATCGGGAAGTTAGCTA
+ACGCTTCAACCTTCATACCGTCGGTGTAATCACGCAGGAAGGTTTTACATGCCAGTTTTGGCACGTTGTT
+AACCATCATGCCGCAGGAGCCACAAATCGCCATACGGCAGGACCAGCGGTAGCTCAGGTCCGGTGCCAGG
+TTGTCTTTGATGTAGCCCAGCGCATCCAGTAATGAGGTAGTTGCGTCATAAGGCACTTCATAGAATGCGC
+TATGCGGTGCGGTATCGACTTCCGGGTTATAGCGCACCACCTCAATTTTCAGGTTTTTCATCTCAGCCAT
+TCGCCTTCTCCTTCTTATTGGCTGCTTCCGCCTTATCGGCTGCATCCGCTTCGCCACCGTAAACACGTTT
+AGCTGGCGGCAGCGTAGTAATCTTCACGTCGCTGTACTCCAGGCGAGTCGTGCCATCAGCATCGCGGAAG
+GCGAGGGTGTGTTTGAGGAAGTTGACGTCGTCACGCTCGGTGCAACCTTCGTCCAGACGCTGGTGCGCGC
+CGCGGGACTCTTTACGTGCCATTGCGGAGTGCGCCATACATTCAGCAACGTTCAGACCGTGGCCCAGCTC
+AATGGTGTAGAGCAGGTCGGTGTTGAACACGCTGGAAGTGTCGGTGATGCGCACGCGCTTGAAGCGTTCC
+TGCAGCTCTGCCAGCTTGTCGATGGTTTTCTGCATCAGTTCCGGCGTACGGTAGATACCGCAACCTTCTT
+CCATTGCCATGCCCATTTCGTCGCGGATCTTAGCCCAGTTTTCGCCGCCATCCTGGTTAACCAGATCTTT
+CAGACGTTGTTCAACGCCAGCTGCCTGCGCTTCAATTGCCGCTTCGTTGCCATTACCGGCAGTTGCTGCA
+CGCTCTGTCGCTTGTTCACCGGCCAGACGACCGAAGACCACCAGTTCCGCCAGCGAGTTGGAGCCCAGAC
+GGTTCGCACCGTGCAGACCAACAGAGGAACATTCACCCACGGCGAACAGACCTTTAATGCGGGTTTCACA
+GTTCTGATCGGTTTCGATACCGCCCATGGTGTAGTGTGCGGTCGGACGTACCGGAATCGGTTCTTTAACC
+GGATCGACGCCAACGTACGCTTTCGCCAGTTCGCAGATGAACGGCAGACGTTCATGCAGTTTTTTCTCGC
+CGAGGTGACGCAGGTCGAGGTAAACCACATCGCCACGTGGCGTGGAGATGGTGTTGCCTTTACGCCATTC
+GTGCCAGAAGGCCTGAGAAACTTTGTCGCGTGGACCCAGTTCCATATATTTGTTTTTCGGCTCGCCCAGC
+GGAGTTTCCGGGCCCATGCCGTAATCTTGCAGATAACGGTAGCCATTTTTGTTGACCAGAATACCACCTT
+CACCGCGGCAGCCTTCGGTCATCAGGATACCGGAACCTGGTAGACCGGTTGGGTGATACTGAACGAATTC
+CATGTCACGCAGCGGAACGCCGTGGCTTAGCGCCATACCCATACCGTCACCGGTAACGATGCCGCCGTTG
+GTGTTGTAACGATAAACGCGACCCGCACCGCCGGTAGCCATAACGACCGCGTTAGCACGGATCTGCACCA
+GCGTGCCTTCCATCATGTTCATTGCTACCAGGCCGCGAACATGACCATCATCAACCAGAATATCCAGCAC
+GAAATGTTCGTCAAAACGCTGGATCTGCGGGAATTGCAGAGAGGTCTGGAACAGCGTGTGCAGCATATGG
+AAGCCGGTCTTATCGGCGGCGAACCAGGTGCGCTCGATTTTCATGCCGCCGAAGCGACGTACGTTGACGC
+TACCATCCGGGCGACGGCTCCATGGGCACCCCCACAGTTCCAGTTGGGTCATTTCGGTTGGGCAGTGGTG
+GACGAAATAATCCACGACATCCTGCTCACACAACCAGTCGCCACCCGCTACTGTATCGTGAAAGTGATAT
+TCGAAGCTGTCATGATCCTGCGCGACAGCGGCGGAGCCCCCTTCTGCAGCAACGGTATGGCTACGCATCG
+GGTATACTTTTGAGATTAGTGCGATTTTTGCATTTGGATTTGCCTGCGCGGCAGCAATTGCAGCACGTAA
+TCCCGCGCCACCGGCGCCTACAATGGCAAGATCGGCTTGAAAGGTTTGCACGACATTCCTCCAGATTGTT
+TTTATCCCACAGCCCCGTACTTCAGGGTAAGTGCCTGAAAGTTACGGTCTGCGAACGCTATTCCACTGCT
+CCTTTATAGGTACAACAGTATAGTCTGATGGATAAGTCTGAAATTTGACGAGATCGATTTTTTTAGTGCG
+CAAGAGGGCTAAATTATCACTGAAGATGATTAATTTAATTACTAAACCATCAGATCGTGCTTTTTTTAGT
+CACTGCCCACCGTTGTGTTATTCCTGCGTAAAATTTGTCTCGCCGTCGCGTTGCGAGTAGACTTCGTGCC
+CTTGTCAAAAACTGGAGATTTAACTATGAGCGAAACGGCATCCTGGCAGCCGAGCGCATCCATTCCTAAC
+TTATTAAAACGCGCGGCGATTATGGCGGAGATCCGTCGTTTCTTTGCCGATCGTGGAGTGCTGGAGGTGG
+AGACGCCTTGTATGAGCCAGGCGACGGTAACCGATATTCATTTGGTCCCGTTTGAGACACGTTTCGTTGG
+CCCCGGGCATTCGCAGGGGATGAATCTCTGGTTAATGACCAGCCCGGAATACCATATGAAGCGCCTGCTG
+GTTGCCGGTTGTGGGCCGGTATTCCAGCTGTGCCGCAGCTTCCGTAATGAAGAGATGGGGCGTTATCACA
+ACCCTGAGTTCACTATGCTTGAGTGGTATCGACCGCACTATGATATGTACCGGTTGATGAACGAGGTGGA
+CGATCTCTTGCAACAGGTGCTGGACTGTCCGGCAGCAGAAAGCCTTTCTTATCAACAAGCTTTCTTACGT
+TATCTGGAAATTGACCCACTCTCTGCCGACAAAACGCAACTGCGGGAAGTGGCAGCGAAACTGGATTTGA
+GCAACGTTGCCGATACTGAAGAAGACCGCGACACGCTTCTACAATTGCTGTTTACCTTTGGCGTAGAGCC
+AAATATTGGCAAAGAAAAACCGACCTTTGTGTACCACTTTCCAGCCAGCCAGGCATCACTGGCGCAAATC
+AGTACCGAAGATCATCGGGTCGCTGAACGCTTTGAGGTTTATTATAAAGGTATTGAGCTGGCGAATGGTT
+TCCATGAATTGACGGATGCCCGTGAGCAGCAACAACGCTTTGAACAAGATAACCGTAAGCGCGCGGCGCG
+CGGTTTGCCGCAGCACCCCATTGACCAGAATCTGATTGAAGCCTTGAAAGTCGGTATGCCTGACTGTTCC
+GGCGTGGCATTAGGTGTTGATCGTCTGGTGATGTTGGCGCTGGGCGCGGAGACACTGGCTGAAGTCATCG
+CCTTTAGCGTTGACCGGGCATAATTCTGAAAAATTACTGAATTAACAGCGAAGAATGGCGTGATAAGCGC
+CATTCTGTAGCATATGTTTTCATTTTTCCGCTAAAGGCCACAATTTAAGACTGGATATTTGATATCATCC
+AGGTATCAATTCTGTATTGGTTTTTACGCTGCCCGCTCAATGTTGGGCAGTGCAGTTCAGTGGGCGCGTT
+TTATACACGCGCTGAAATGAAGGATGGTTTCATGCCTCACTCGATAAAAAAGATGAGTCTGATAGGACTC
+ATATTGATGATCTTTACTTCTGTATTTGGATTTGCCAATAGCCCATCGGCTTATTACTTAATGGGTTATA
+GTGCGATTCCCTTTTATATATTTTCTGCATTGTTATTCTTTATTCCATTCGCCTTAATGATGGCTGAAAT
+GGGAGCTGCTTATCGCAAAGAAGAAGGCGGTATCTATTCCTGGATGAATAATAGTGTCGGACCACGTTTT
+GCCTTCATTGGTACGTTTATGTGGTTTTCCTCTTATATCATCTGGATGGTGAGTACCTCCGCGAAAGTTT
+GGGTACCGTTCTCAACATTCCTCTACGGTAGCGACATGACCCAGCACTGGCATATTGCCGGACTGGAGCC
+TACGCAGGTGGTTGGTCTGCTGGCAGTGGCATGGATGATTCTGGTCACCGTCGTTGCTTCAAAAGGGATT
+AATAAAATTGCCCGCATTACTGCGGTGGGCGGTATTGCAGTAATGTGTCTGAATTTAGTATTGCTGTTAG
+TAAGCATTACTATTTTGTTATTAAATGGTGGGCATTTCGCGCAGGATATTAATTTCCTGGCATCACCGAA
+CCCAGGTTATCAGTCCGGTCTGGCAATGCTATCGTTTGTGGTATTTGCCATTTTTGCCTATGGTGGAATT
+GAAGCGGTTGGTGGTCTGGTTGATAAAACGGAAAATCCAGAAAAGAACTTTGCCAAAGGTATTGTTTTTG
+CCGCTATTGTTATTTCAATCGGTTATTCGCTGGCAATATTTTTATGGGGCGTCAGCACAAACTGGCAGCA
+GGTATTAAGTAATGGTTCCGTTAACCTCGGCAATATTACCTATGTGCTGATGAAGAGCCTCGGGGTGACG
+CTGGGTAACGCACTGCATTTGTCACCTGAAGCGTCATTGTCGCTGGGCGTATGGTTTGCGCGTATTACCG
+GACTGTCGATGTTCCTCGCTTATACCGGTGCGTTCTTTACGCTTTGCTATTCACCGCTGAAAGCCATCAT
+CCAGGGAACGCCGAAAGCATTGTGGCCGGAACCGATGACGCGCCTGAATACGATGGGGATGCCGTCTATT
+GCTATGTGGATGCAGTGCGGGTTGGTTACTATCTTCATTCTGCTGGTTTCGTTTGGTGGCGGTACCGCAT
+CGGCGTTCTTTAACAAGCTGACGCTGATGGCGAACGTGTCTATGACGCTTCCTTACCTGTTCCTCGCGCT
+GGCTTTCCCATTTTTTAAAGCACGTCAGGATCTCGACAGACCGTTTGTGATTTTCAAAACGCATATGTCG
+GCAATGATTGCAACAGTGGTTGTCGTACTGGTGGTGACATTTGCGAACGTCTTCACCATCATTCAACCTG
+TGGTTGAAGCTGGAGACTGGGACAGCACATTGTGGATGATTGGCGGCCCTGTCTTCTTCTCGCTGTTAGC
+GATGGCGATTTACCAGAACTATTGCAGTCGCATGGCGAACAAACCTGAGTTAGCTCTCGACTGATCATAT
+GAAATCCTGCAACTCATCGTCTCTCCGGCGATGAGTTGTCAGGAAGTAATGCGTATGGATGATACTCTCC
+GGGGCCAGTGATAACTGAAGATGATGTTAAGCTGCTAAATGAGCCACGTTGACATCATTTGGCAGCTTCA
+TGCATTACAAACTTCCCGCCTGACGACCTTTGCCCGCAGAAGTTAATGTTCTCCCCGTTTGCTTACCATT
+CAGGCTTTCCAGACGCATCTGGAAGGGCGGGAATGGCATATCGATACCGTGGGCGTGGAAGCCAGCCAGA
+ATCAGTTGGTGAATCTCATGGCGTAGTGGCATACGGTGACCCATCTCAGCGGCGTAAATACGCAGCTCGA
+AAATTTGAATCCCCTGTTGCAGATCCACCAGGAAGACTTCCGGTGCTGGGTTATCGATTACCAGCGAGCA
+GCGACGCGCTGCGGTGAGCAGGATTTCCGTCACTTCTTCACTGTTGGCATCGGCAGGGGCCGGAATCGTC
+AACACCACGCGCGTGACCGAGTCAGAGAGCGACCAGTTGATAAACTGCTCGGTAATAAACGCCTTGTTCG
+GCACGATAATTTCTTTGCGGTCCCAGTCACTGATGGTGGTGGCGCGGGTGTTAATTTTCGTCACACTACC
+GGTAAGATCGCGGATCGTTACCGTATCGCCAATGCGAATCGGTTTTTCGAACAGGATAATCAGGCCAGAG
+ATAAAGTTGGCGAAAATTTCCTGCAAACCAAAACCGAGACCAACACCGAGCGCGGCGACCAGCCACTGCA
+ATTTCGACCACTCAATACCAATCATCGAGAAGCCGACCAGCCCGCCAATCAGCATCAGCAGATATTTGGT
+GATGGTGGTGATGGCGTAGCCCGTACCCGGCGTTAAATCCAGGTGCTGCAGAATCGCCAGTTCCAGCAGC
+GCGGGCAGGTTGCGCACCAGCTGCGTGGTGATGATAAACACCAGAATGGCAATCAGCACCGCACCGAGGG
+TAATCGGCTCCAGGCTTTCTACGCCCTGTACCGTGGAAGTGACATCCCACAGCGAAATATTTTCGAGGAA
+GCCGAAAGCGGAATGGATTTCTGACCACAGCACAATGACCGAAAGCAGGGCGATCAACATCAAAATTGAG
+CGCACCAGCCGCAAGGATTGCGCACTGATGGCATCGAGATCGACTTCGCTTTCATCGACTTCAATTGCTC
+CTTCCGGGCTACTGTGATGATGCGCTTCCTCTTCGCCACGCGCACGCTGCGCTAACATCTCTGCCCGGCG
+ATGCTTCGCCCGGTCAAACGCCAGCCTGCGGCGCTGGATCAGCATCCAGCGGCGGATAACGTGATAAACC
+ACCAGTAGCAGGAACCAGATGGCAACCGAGGTTTCAAGCCTCGCTAACAGCGCCTGCGCCGTTGCCAGAT
+AACCCACCGCCGACGCCAGAATGGCAACCAGCGGTGCGCCAATCATCATGTTCCACAGCATATGGTTGGT
+AATGTTGTCGCCGCTGCCTTCTTTGTTGAGATACAGCGGGATCCCGGCCTTTTTCAGACTGAGAGTGACC
+ACCGCCAGCGCACCGCAAATGAGGATAAAGCAAAGCCGTCCCAGCGAACCGGAGAATTCACGGTCGTCGA
+GGTTATCGAACATCATCAGTGCCATAATCAGCGGCACAATAAGCCCGATGCTCATCAGGTAGTAGCGCAT
+CCCACGGGAAACCCGTTCGCGCGGCCAGCCAAAATGAGCGATAAACAAGCCGTTCGGGCGGGCAAAGGTA
+GCGCAAATCATCACTACCCATAGCAGCGGTACGGTGGCTGTTACGCCATCACCAATTGCGACCGCCAGCG
+GATAAGGCCACGCCTCGCGCAAGCCGTAACCCAGCGTCATCCACAGCACCGGCAGCGGTGACGCGACGAG
+AATCGACCAGAAAAGAGTGCGTAACGTCAGCCAGAAGTGATCCTGAGTCACTTTGCCGACTTTCGCCGCC
+GAACGTTCAAGAAAACGGGTGAAATAGCGGCGCGAGTAAATACTGCAACCGACCAGAATCAACGCGCCAA
+ACAGCGGCAAAATCGTCTCTTTACTGGTCAGCATCATCACACTGGCTTTGCCCAACTGACTGAAGGTGTC
+CAGCGAAATGAGACGACGCAGATCCTGGGCGATTTCCAGCGGCCAGGCGATGGTCATCGGGCGCACGTCA
+GAGGTCCAGAACAGATAGCGGTGCGTCGCTTCGTTCACCTCTTTCAGCGCATCCTCCAGTTGCCCGTTGG
+AGACTTTCAGCTTGGTCAGCTCCAGCAGTAGCGTGTCGCCACCCTGCAACAATGAGTTCAGCAACTCACG
+CTGAGTGCGTAGCTGTGCTTCCAGAATACGGTTTTGCTCAGCGGTCAGTGGCTGACTGTCGGCCTGATGG
+ATTTGCCGTAGCAGCGGCTGTTTATTAAGCAGATCCTCATAACGTAACCGTTGCACACGTAACTGCGCCA
+TTTCGGTATCAAGCTGTTGTGGTTTTGGCATTTCCGGTAGCCGTGCCACCTGCGCCCGCAACGCTTCGCC
+GAGCAGGTTAGATGATCCCAGCCATTGCGACTGTTCACGCAGCGTATTCAACGCCTGCCGGACCTGTAAC
+GTCTGGCTGGCAGCCTGACGCTGTTGCGAGGCAACGAGATCCATCCGCTGCGCCTGTTGATTCAGCGCCG
+CCGATAGTTCGCGGTTAATTTTAAACTGGGCGACGATATCTTTTGGCAAATCGGCGCTACTTTCCGCCAG
+TTGCTCGGTACTTTCCAGCGCCCGTTCCGCTTCCAGTTGGCGTTGACTATTCAACTGGTTGCGTAGTGCT
+TGCAAATATGCATCCAGCTGCTGGCTCTCTTTTTCCGCCAGCTCAGAGCGCAAGCGCGCTAATTCCTGGC
+GGTTATTGGCAGATAGCTGCGCCAGCTCCAGTTCATCAACGAGCGCTTTCAGACGTGCGGAGTCAGACTG
+CAACGCGAAATTTTGTGCCTGATTGAGCGGGGTATTGCCGGTAAGCGTCCCCAGGCGGCGCTCGATTTCA
+TTCAACTGACGGCGGGCATCGGTTTGCTGTTGCGGCAGTTGATTCAGCGAATCGGCAATCTCGCGGGCGC
+GCTCCTGCTCTTGCTGGGCCTGACGGCTTTTATCCAGCAACTGACTGCTGATCTGGAGAATTTCCTGATT
+CAGCGCATCGTTAGACATTCCCGGCGACACGCTGCGTGGCTCGTCACGCATGTTGTTTAACTGCGCGCGC
+AGAGTGGCGGAAAGTTTCGGATAATTATCAATGACTTCTTGATATTGCTTGATGCGCTCAAGGGAACCTT
+TTCGTTCCTCAAGCGCATTTAAGGCAGACTGGAGCGCCTCTACGACTTCCGGCTGCGCGGGTTTCGCCGC
+TTTTGCCTGCTCCAGTTCCTGGGTGATTTGTTTGCTATCGGGGGCCGTCGCGGCGTACGCCCCCCAACTG
+AGGCACCAGGCCATCAGAAAAGTGATAATCAGGCGCACGTCAGCGTTTCCTTTGATGGATTAGACCTGGT
+CTTTTTTGTCGTCAACCAATGGGCTGGCGTCGTGTTCTGCCTCGATTTCTTCAGCAGGAAGCGGGGCTGG
+TTCAGCGTCTGGCGTAACAAAGGTTTCGGTAGATACTGCCAGCGGCTGGCCAATTTTCGTGACAGACAGG
+CTTTCCAGTTGCTCAACCAGGTTCACTTTACCTGGTGCAAACAGGTTGATAACGGTAGAGCCAAGTTTAA
+AGCGACCCATTTCCTGGCCTTTCAGCAATGCCACAGAACCGTCGTTTTCCCCGGCAGGCCAGGTCCAGCG
+CTTGATGATGCCTTCGCGCGGCGGCGTAATGGTGCCCGCCCAGACCGTCTCAATGCTGCCTACAATCGTC
+GCACCGACCAGAATCTGCGCCATCGGGCCAAATTCGGTATCGAACAGGCAGATCACGCGTTCGTTACGGG
+CAAACAGATTCGGCACGTTCTGAGCCGTGAGATGGTTAACGGAGAAGAGATCGCCCGGCACGTAGATCAT
+TTCACGCAGAATACCGTTGCACGGCATGTGTACGCGGTGGTAGTCACGTGGGGAGAGGTAAGTGGTCACA
+AACGTACCGTTACGGAAGAGATCCGCCATCAGATAGTTGCCTGCCAGCAGGGCTTCGAGGCTGTAGTTGT
+GGCCTTTGGCTTGCAGGATTTTATCTTCTTCGATTTTACCCAACTGGCTGATAACGCCATCGGCAGGCAT
+AACCAGTACATTCGGATCGGTATCGATTGGGCGTACTTCGTCACGCAGCGGACGGACAAAGAATTCGTTA
+AAGGTGCGGTAGCTGGCGGTGTCCGGCTTTTGCGCCTCTTTCATGTCGACCTTGTAGTATTTAACGAACA
+GATCGATAACCAGTTTTGTCAGCCATCCTGCCCGCTTGCTTGCGCCCCAACCCGCCAGGCGAGTAAGCCA
+TAGTTTCGGCAGAATGTACTGTAGCGAAAGTTTAAATGAATTTAACAAGGTAGCCTCCAGGCCATTGTTT
+TGTCGTTCCTGATCCGGCCTACATGCCGGATCCTGAAAAAAAGGGGACGATTCTAACGACGGTTAGCTTA
+ATTGTCAGTCATCCGTATCAGAAAAGTTTTTACGCGTTTTTACCTGCGCCATGCTTTCCAGAATACGGTG
+ATAGTTTTCGAAACGGGTTTCCGCGATTTTTCCTTCCTCAACCGCTTCCCGGATAGCGCAGCCCGGATCT
+GTATCGTGTTTGCAATCGCGATATTTACACAGACCTAAATAGTCATGGAATTCGACAAAGCCCTGAGTGA
+TTTGTTCCGGCTCCAGGTGCCAGAGACCAAACTCACGCACACCTGGGGAATCAATCACATCACCGCCGTG
+CGGGAAGTGATACAGTCGTGCGGCGGTCGTGGTGTGCTGACCAAGCCCCGAGTTGTCAGAGACATCGTTG
+GTCAGGATCTCTTTTTGCAGCCCCAGCAACGCGTTCAGCAGGCTGGATTTGCCAACGCCAGACTGCCCGG
+CAAAAATGCTGATGCGCCCGGTCAACGCCTCTTCCAGCGGTTTCAGCCCATCCTGAGTATGACTGGAAAC
+CATCAATACGCGATAACCGATATTGCGGTAGATATCCATCTGCTCGTTGACGAACTCCATGCCTTCGTCG
+TCCAGCAGGTCTATCTTGTTGAGCACAATAATCGGCTCAATCTGCAAGGTTTCGCAGGCCACCAGGTAAC
+GGTCGATAATATTGAGCGACAGCTCCGGCAAAATGGCGGAGACAATGACAATCTGGTCGATGTTGGCAGC
+AATAGGTTTCACACCGTCGTAAAAATCCGGGCGCGTCAACACTGAGGTGCGCTCATGCACCGCTTCCACG
+ATCCCTTTGACATTTACGCCTTCCGCCGCTGGTTTACCCGGACGCCAGACTACGCGGTCGCCGGTCACCA
+ACGAACGGATGGTACGGCGAATATTGCAGCGGTGAACGTCGCCATCGGCGGATTCCACATCAGCGTGCAT
+ACCAAAGCGGCTGATGACGATACCTTCATCAGGCTCGCCAAACAGATTGTCGTCGTAGTCGGGCTTCTCC
+TTAGACGTTTTAAGACGACGCTGGTGATTGGCGTTCACGCGGCGCTGCTGGCCTTTGGAGAGTTTATTTT
+TACTCAATCGTACAGACTCCTGGTCGCCCCTGATGGGCAAAACATCTATGATACACGCAATTGTGGATCA
+ATATAGTCACTGTGAATGGGTGGAAAATAGCATGAGTGCCAATGAAAACAACCTGATTTGGATCGATCTT
+GAGATGACCGGTCTGGATCCCGAGCGCGATCGCATTATTGAGATTGCCACGCTGGTGACCGATGCCAACC
+TGAATATTCTGGCAGAAGGGCCGACCATTGCAGTACATCAGTCCGATGAACAGCTGGCGCTGATGGATGA
+CTGGAACGTGCGCACCCATACCGCCAGCGGGCTGGTAGAGCGTGTGAAAGCGAGCACGATGGGCGATCGT
+GAAGCTGAACTGGCAACGCTCGAATTCTTAAAACAGTGGGTGCCTGCGGGAAAATCGCCGATTTGTGGTA
+ACAGCATCGGTCAGGACCGTCGCTTCCTGTTTAAATACATGCCGGAGCTGGAAGCCTACTTCCACTACCG
+CTATCTCGATGTTAGCACCCTGAAAGAGCTGGCGCGCCGCTGGAAGCCGGAAATTCTTGACGGCTTTACC
+AAGCAGGGGACGCATCAGGCGATGGATGATATCCGTGAATCGGTGGCGGAGTTGGCTTACTACCGCGAGC
+ATTTTATCAAGCTGTAAAATTTTTCCTGGTCACGTAAGCGCCGGAATCCACTTGCGGCGGCGTGATTTTG
+ACGCTAAATTGAACGTCTTGCTGATAATTTCAGCACTTGAGATAAAAACTCAAAAAAAATTTTTTAGGGG
+GGTTGCAGAGGGAAAGATTTCTCGTATAATGCGCCTCCCGTAACGACGCAGAAATGCGAAAATTACGAAA
+GCAAAATTAAGTAGTACGCGGGAATAGCTCAGTTGGTAGAGCACGACCTTGCCAAGGTCGGGGTCGCGAG
+TTCGAGTCTCGTTTCCCGCTCCAAAATTTGAAAAGTGCTGTAAAGCACAGACCACCCAAGCGGGAATAGC
+TCAGTTGGTAGAGCACGACCTTGCCAAGGTCGGGGTCGCGAGTTCGAGTCTCGTTTCCCGCTCCAAAATT
+TGAAAGTGCTGTAAAGCACAGACCACCCAAGCGGGAATAGCTCAGTTGGTAGAGCACGACCTTGCCAAGG
+TCGGGGTCGCGAGTTCGAGTCTCGTTTCCCGCTCCAAATTCTTCTCTCAATAAAATATCCACAGCGACGC
+GATGCGTTATTGCTGGTTTTTGTTGTCTCTGACAAACTCTTGTAAACAGAGTTATCCACAGTCTCAGGCT
+GTAATCTTAATTTCAAAGAAACTTCGCACGGTGAATAGTATTTTTTTAACCTATTGATAGATAAGTTAAA
+AATTAAGATTCCGTTTTGTCGAGTCGATCACTTGACGATTTTATTCATCTTGAATTGCAATGCGTTTTAT
+TTTTATTCACAGGCTGTGGATGAATCAGGCGTCACGCGGTAACCCTTTTTCAATCACCCGAACCAGACGC
+TGTTTTTTCTGTAATTGCACTTCGGGTATGCACGCATTTCGCCTCTCGATTTGCTGCGCAATCGCCCACG
+CTATGTGCTCATCGAGAAGTGGGTGCTCACCTTTACGACTTTCCAGCGCTGTCAAAATCGTTTCATCCCA
+GGGGGCATTGCCTAATGCTACGGCGATATTACGCAGCCAACGCAGGTGACCTATACGGGGAATCGCCGAA
+CCTTCCGTGACTTTTAAAAACTGCTCTTCGCTCCAGGCGAATAACTCAATGAGTTCCGGAGCGTGTAGCG
+GCTTACGCGGGCTGAAATCGCCTTCTGTAGTGAGTTGCGAATAGCGATTCCACGGGCAGATAAGCTGGCA
+GTCATCGCAACCATAAATACGATTTCCCATTAACGGTCGCAACTCTTCCGGGATCGCCCCCTCCAGTTCG
+ATGGTGAGATAAGAGATACAGCGGCGAGCATCGACGGTATATGGCTCGACGATGGCACCGGTCGGGCAAA
+TCGTCATACAGGCCACGCATTTACCGCATCCTTCCTCGACTGGTTGATCCACGGGCAGCGGAATATCGAC
+CAGCAATTCGCCTAAAAAGAAGAACGAACCGGCCTCGCGATTGAGGATAAGTGAGTGCTTACCTGTCCAG
+CCAAGACCTGCTTTTTCAGCTAACGGGCGCTCGAGAATAGGCGCAGAATCGACAAACGGTCTAAAATTCA
+GCGAAACACAATGTTGCTGAATCATCTCGCCCAGCTTTTTGAGTCGGTTGCGCAGAAGCTTGTGATAGTC
+ACGGCCCAGCGCATAACGGCTAACATAGCCGAGTTTGGGATTTTTCAGCGTGCTGGCAAATGCGGCGTTA
+GCAGGAAGGTAATTCATCCGAACGCTGATCACGCGCAGCGTCCCGGGCAATAATTGGTGAGGACGAGCAC
+GCAGCATACAGTGACGCGCCATCCAGTCCAATTCCCCGTGGTATTGTTTGTCCAGCCATGCGTGCAGTTT
+GGGCTCGGACGCGCTCAGATCGGTATCGGTAATACCTGCATGATGAAAGCCCAGTTCCAGCCCCCCCTGT
+TTAATATTTTGCGCTAATTGACTAAGATCGAGGGGCTCTGACATGACGGACCATACAATGAAGAAAAACC
+CCGTAAGTATACCACACACCGTCTGGTACGCCGACGATATCCGCCGCGGAGAACGCGAGGCGGCAGATGC
+GCTGGGGCTCACACTCTATGAGCTGATGCTTCGCGCTGGCGAAGCCGCATTCCAGGTGTGTCGTTCGGCT
+TATCCTGACGCCCGCCACTGGCTGGTGCTGTGCGGTCATGGTAATAACGGCGGCGATGGCTACGTGGTCG
+CGCGGCTGGCCAAAGCGATCGGTATTGATGTCACGCTGCTGGCCCAGGAAAGTGACAAACCGTTGCCGGA
+AGAGGCCGCGCTGGCACGCGAAGCATGGTTAAACGCGGGAGGCGAGATCCATGCTTCGAATATTGTCTGG
+CCCGAATCGGTAGATCTGATTGTTGATGCGCTGCTCGGCACCGGCTTGCAGCAAGCGCCCCGCGAATCCA
+TTAGCCAGTTAATCGACCACGCTAATACTCACCCTGCGCCGATTGTGGCGGTTGATATCCCTTCCGGCCT
+TCTGGCTGAAACCGGCGCTACGCCAGGCGCGGTAATCAACGCCGATCACACCATCACTTTTATTGCGCTG
+AAACCAGGCTTGCTCACTGGAAAAGCGCGGGATGTTACCGGACAACTGCATTTTGACTCACTGGGGCTGG
+ATAGCTGGCTGGCAGGTCAGGAGACGAAAATTCAGCGGTTTTCGGCAGAACAACTTTCTCAGTGGCTGAT
+ACCGCGTCGCCCGACTTCGCATAAAGGCGATCACGGGCGGCTGGTGATTATTGGTGGCGATCACGGCACG
+GCGGGGGCTATTCGTATGACGGGGGAAGCGGCGCTGCGTGCTGGCGCTGGTTTAGTCCGAGTACTGACCC
+GCAGTGAGAACATTGCGCCGCTGCTGACTGCACGACCGGAATTGATGGTGCATGAACTGACTATGGACTC
+TCTTACCGAAAGCCTGGAATGGGCCGATGTGGTGGTGATTGGTCCCGGTCTGGGCCAGCAAGAGTGGGGG
+AAAAAAGCCCTGCAAAAAGTTGAGAATTTTCGCAAACCGATGTTGTGGGATGCCGATGCATTGAACCTGC
+TGGCAATCAATCCCGATAAGCGTCACAATCGCGTGATCACGCCGCATCCTGGCGAGGCCGCACGGTTGTT
+AGGCTGTTCCGTCGCTGAAATTGAAAGTGACCGCTTACATTGCACCCAACGTCTGGTACAACGTTATGGC
+GGCGTAGCGGTGCTGAAAGGTGCCGGAACCGTGGTCGCCGCCCATCCTGACGCTTTAGGCATTATTGATG
+CCGGAAATGCAGGCATGGCGAGCGGCGGCATGGGCGATGTGCTCTCTGGTATTATTGGCGCATTGCTTGG
+GCAAAAAATGAGCCCTTATGATGCAGCCTGTGCGGGCTGTGTCGCGCACGGTGCGGCAGCTGACGTACTG
+GCGGCGCGTTTTGGAACGCGCGGGATGCTGGCAACCGATCTCTTTTCCACGCTACAGCGTATTGTTAACC
+CGGAAGTGACTGATAAAAACCATGATGAATCGAGTAATTCCGCTCCCTGATGAGCAGGCAACATTAGACC
+TGGGCGAGCGGGTAGCGAAAGCCTGCGATGGCGCAACCGTAATCTATCTGTATGGCGATTTAGGTGCAGG
+TAAAACCACCTTTAGCCGGGGCTTTTTACAGGCTCTGGGTCATCAGGGTAATGTCAAAAGCCCCACTTAT
+ACGCTGGTCGAACCCTATATGCTCGACAATTTAATGGTTTATCACTTTGATTTGTACCGCCTTGCCGATC
+CCGAGGAGCTGGAGTTTATGGGGATCCGCGATTATTTTGCCAACGATGCCATCTGCCTGGTGGAGTGGCC
+ACAACAAGGTACAGGTGTTCTTCCTGACCCGGATGTCGAAATACACATTGATTATCAGGCACAAGGCCGT
+GAGGCGCGCGTGAGTGCGGTTTCCTCTGCGGGTGAATTGTTGCTGGCGCGTTTAGCCGGTTAACCTTTGA
+AAGGTGGCGGGATGATGTATCGCATCAGAAATTGGTTGGTAGCGACGTTGCTGCTGCTGTGCGCGCAGGT
+GGGTGCCGCGACGCTCTCTGATATTCAGGTTTCTAACGGCAACCAACAGGCGCGGATAACGTTGAGTTTT
+ATTGGCGATCCTGATTATGCGTTTAGCCATCAAAGCAAACGCACCGTGGCGCTCGATATCAAACAAACGG
+GCGTGATTCAGGGACTGCCGTTGTTGTTCAGCGGCAATAATCTGGTGAAGGCGATTCGCTCTGGAACGCC
+TAAAGATGCACAAACGCTACGGCTGGTGGTCGATCTTACCGAAAATGGTAAAACCGAAGCGGTGAAGCGG
+CAGAATGGCAGCAATTACACTGTCGTCTTTACGATTAACGCCGATGTGCCGCCACCGCCTCCTCCGCCGC
+CTGTGGTTGCGAAACGCGTTGAAACGCCTGCGGTTGTCGCACCGCGCGTCAGCGAACCGGCGCGCAATCC
+GTTTAAAACGGAAAGTAACCGCACTACGGGTGTTATCAGCAGTAATACGGTAACGCGTCCGGCAGCGCGC
+GCGACGGCTAACACAGGCGATAAAATTATCATCGCTATTGATGCCGGACACGGCGGTCAGGATCCTGGCG
+CTATCGGCCCCGGTGGTACGCGGGAGAAAAATGTCACCATCGCCATCGCGCGTAAATTGCGTACTTTGCT
+CAATAACGATCCGATGTTTAAAGGCGTTTTAACCCGTGACGGGGATTACTTTATCTCGGTGATGGGGCGC
+AGTGATGTGGCACGTAAGCAAAACGCCAATTTCCTTGTGTCGATTCATGCCGATGCCGCACCAAACCGTA
+GTGCCACCGGTGCCTCTGTATGGGTGCTCTCAAACCGTCGCGCCAACAGCGAAATGGCAAGCTGGCTGGA
+ACAGCATGAGAAGCAGTCGGAGCTGCTGGGCGGGGCGGGTGATGTGCTGGCGAACAGTCAGTCTGACCCC
+TATTTAAGCCAGGCGGTGCTGGATTTACAGTTCGGTCATTCCCAGCGGGTAGGGTATGATGTAGCGACCA
+GTATGATCAGTCAGTTGCAACGCATTGGCGAAATACATAAACGCCGACCAGAACACGCGAGTCTCGGCGT
+TCTGCGTTCGCCGGATATTCCGTCAGTACTGGTCGAAACCGGTTTTATCAGTAACAACAGCGAAGAACGT
+TTGCTGGCGAGCGACGATTACCAACAACAGCTGGCAGAAGCCATTTACAAAGGCCTGCGCAATTACTTCC
+TTGCGCATCCGATGCAATCTGCGCCGCAGGGTGCAACGGCACAAACGGCCAGTACGGTGACGACGCCAGA
+TCGCACGCTGCCAAACTAAGGACGATTGATGCCAATTCAGGTCTTACCGCCACAACTGGCGAACCAGATT
+GCCGCAGGTGAGGTGGTCGAGCGACCTGCGTCGGTAGTCAAAGAACTGGTGGAAAACAGCCTCGATGCAG
+GTGCGACGCGTATCGATATTGATATCGAACGCGGTGGGGCGAAACTTATTCGCATTCGTGATAACGGCTG
+CGGTATCAAAAAAGACGAGCTGGCGCTGGCGCTGGCGCGTCATGCCACCAGTAAAATCGCCTCTCTGGAC
+GATCTCGAAGCCATTATCAGTCTGGGCTTTCGCGGTGAGGCGCTGGCGAGTATCAGTTCGGTTTCCCGCC
+TGACGCTCACTTCACGCACCGCAGAACAGCAGGAAGCCTGGCAGGCCTATGCCGAAGGGCGCGATATGGA
+CGTGACGGTTAAACCGGCGGCGCATCCGGTGGGAACGACGCTGGAGGTGCTGGACCTGTTCTACAACACC
+CCGGCGCGGCGCAAATTCCTGCGCACCGAGAAAACCGAATTTAACCATATCGATGAAATCATCCGCCGCA
+TTGCGCTGGCGCGTTTCGACGTCACTATCAGTCTGTCGCATAACGGCAAAATCGTACGCCAGTATCGTGC
+AGTGCCGGAAGGCGGGCAAAAAGAACGGCGTTTAGGCGCGATTTGCGGCACCGCTTTTCTCGAACAAGCG
+CTGGCGATTGAATGGCAACACGGCGATCTCACGCTGCGCGGCTGGGTGGCCGATCCAAATCACACTACGC
+CCGCACTGGCAGAAATTCAGTATTGCTACGTGAACGGTCGCATGATGCGCGATCGCCTGATCAATCACGC
+GATCCGCCAGGCCTGCGAAGACAAACTGGGGGCCGATCAGCAACCGGCATTTGTGTTGTATCTGGAGATC
+GACCCGCATCAGGTGGACGTCAACGTGCACCCTGCCAAACACGAAGTGCGTTTCCATCAGTCGCGTCTGG
+TGCATGACTTTATCTATCAGGGCGTGCTGAGCGTGCTACAACAGCAACTGGAAACGCCGCTACCGCTGGA
+CGATGAACCACAACCTGCACCGCGTGCCATTCCGGAAAATCGCGTGGCGGCTGGGCGCAATCACTTTGCT
+GAACCGGCAGTTCGTGAGCCGGTAGCTCCGCGCTACTCTCCTGCGCCCGCCTCAGGCAGTCGTCCGGCTG
+CCTCCTGGCCGAATGCGCAGCCTGGTTACCAGAAACAGCAAGGTGAAGTGTATCGCCAGCTTTTGCAAAC
+GCCCGCTCCGATGCAAAAACCAAAAGCGCCAGAACCGCAGGAACCTGCACTTGCGGCGAACAGTCAGAGT
+TTTGGTCGGGTACTGACTATCGTCCATTCCGACTGTGCGTTGCTTGAGCGCGATGGCAACATTTCACTTT
+TATCCTTGCCAGTGGCAGAACGTTGGCTGCGTCAGGCACAATTGACGCCGGGTGAAGTGCCAGTTTGCGC
+CCAACCGCTGCTTATTCCGTTGCGGCTAAAAGTTTCTGGCGAAGAAAAATCGGCATTAGAAAAAGCGCAG
+TCTGCCCTGGCGGAACTGGGTATTGATTTCCAGTCCGATGCGCAGCATGTGACCATCAGGGCCGTGCCTT
+TACCCTTACGCCAACAAAATTTACAAATCTTGATTCCTGAACTGATAGGCTACCTGGCGAAGCAGTCCGT
+ATTCGAACCTGGCAATATTGCGCAGTGGATTGCACGAAATCTGATGAGCGAACATGCGCAGTGGTCAATG
+GCACAGGCCATAACCCTGCTGGCGGACGTGGAACGGTTATGTCCGCAACTTGTGAAAACGCCGCCGGGTG
+GTCTGTTACAATCTGTTGATTTACATCCGGCGATAAAAGCCCTGAAAGATGAGTGATATCAGTAAGGCGA
+GCCTGCCTAAGGCGATTTTTTTGATGGGGCCGACGGCCTCCGGTAAAACGGCGTTAGCCATTGAGCTGCG
+TAAAATTTTACCAGTAGAGTTGATAAGCGTTGATTCTGCCCTTATTTACAAAGGGATGGATATCGGGACG
+GCGAAGCCGAACGCTGAAGAGTTACTCGCCGCGCCGCACCGATTGCTGAATATTCGCGATCCGTCGCAGG
+CTTACTCGGCTGCTGATTTTCGCCGCGATGCGCTGGCGGAAATGGCCGATATCACCGCGGCGGGGCGGAT
+CCCACTGTTAGTGGGCGGTACGATGTTGTATTTCAAGGCATTGCTGGAAGGGTTGTCGCCGCTACCGTCG
+GCAGACCCGGAAGTACGGGCCAGAATTGAGCAACAGGCGGCAGAGCAAGGTTGGGAGTCATTGCATCGTC
+AACTTCAGGAGATCGATCCGGTTGCGGCAGCAAGGATTCATCCAAATGATCCACAAAGGCTTTCCCGGGC
+ACTGGAAGTTTTTTTCATTTCGGGTAAAACTTTACCGGAACTGACGCAAACGTCAGGAGACGCTCTACCG
+TATCAGGTGCATCAGTTCGCCATCGCCCCGGCGAGCCGTGAACTGCTCCATCAACGAATTGAGCAGCGTT
+TTCATCAGATGTTGGCTTCAGGTTTTGAAGCAGAAGTCCGGGCGCTTTTTGCCCGAGGAGATTTGCATAC
+GGATTTGCCTTCCATTCGTTGCGTGGGTTATCGCCAGATGTGGTCTTACCTTGAAGGCGAAATCTCATAC
+GATGAAATGGTTTATCGAGGTGTTTGCGCCACGAGACAGTTGGCGAAGCGGCAGATAACCTGGCTGCGTG
+GTTGGGAAGGGGTTCACTGGCTTGACAGTGAAAAACCAGAACAGGCGCGTGACGAAGTATTACAGGTTGT
+TGGTGCTATCGCAGGCTGAATGTGTACAATTGAGACGTATCGTGCGCAATTTTTTCAGAATCGAAAGGTT
+CAAAGTACAAATAAGCATATAAGGAAAAGAGAGAATGGCTAAGGGGCAATCTTTACAAGATCCGTTCCTG
+AACGCACTGCGTCGGGAACGTGTTCCAGTTTCTATTTATTTGGTGAATGGTATTAAGCTGCAAGGACAAA
+TCGAGTCTTTTGATCAGTTCGTGATCCTGTTGAAAAACACGGTCAGCCAGATGGTTTACAAGCACGCGAT
+TTCTACTGTTGTCCCGTCTCGCCCGGTTTCTCATCACAGTAACAACGCCGGTGGCGGTACCAGCAGTAAC
+TATCATCATGGTAGCAGCGCGCAGAATACTTCCGCGCAACAGGACAGCGAAGAAACCGAATAAGGTTTCG
+GGCTGTTTTTTTACACGGGGAGCCAGCGATCCTGCGTTCCCCGCTGATCTATTTAGAGGGTTATACGCTT
+GTTTGACCGTTATGATGCTGGTGAGCAGGCGGTACTGGTACACATCTATTTTACGCAAGACAAAGATATG
+GAAGACCTCCAGGAGTTTGAATCTCTGGTCTCTTCCGCCGGTGTCGAAGCATTGCAGGTGATTACCGGTA
+GCCGTAAAGCGCCGCACCCAAAGTATTTTGTAGGTGAAGGTAAAGCAGTTGAAATTGCGGAAGCCGTAAA
+AGCGACGGGAGCTTCGGTCGTTCTTTTTGACCATGCCCTGAGCCCGGCGCAGGAGCGTAACCTGGAGCGT
+TTGTGCGAGTGTCGTGTCATCGACCGCACCGGCCTTATTTTAGATATTTTCGCCCAACGTGCGCGTACCC
+ATGAGGGTAAGTTGCAGGTTGAGTTGGCGCAGTTGCGCCATCTGGCTACGCGCCTGGTGCGTGGCTGGAC
+CCACCTTGAAAGACAGAAAGGCGGGATTGGTTTGCGTGGTCCGGGTGAAACCCAGCTCGAAACCGACCGT
+CGTTTGTTGCGTAATCGCATCGTGCAGATACAGTCGCGCCTGGAAAGAGTTGAAAAGCAGCGTGAGCAGG
+GGCGGCAATCGCGTATCAAAGCCGACGTTCCTACTGTTTCGCTGGTGGGATATACCAACGCCGGTAAATC
+TACTCTTTTCAATCGAATCACCGAAGCGCGGGTCTACGCGGCAGACCAGTTGTTTGCCACCCTCGACCCG
+ACGTTGCGGCGTATTGACGTTGCGGATGTCGGTGAAACCGTGTTGGCAGATACCGTAGGGTTTATTCGCC
+ACCTGCCGCATGATCTGGTGGCGGCATTTAAAGCCACGTTACAAGAGACGCGGCAAGCCACATTGCTGCT
+GCACGTCATTGACGCGGCGGATGTGCGTGTACAAGAAAACATCGAAGCGGTGAATACGGTTCTTGAAGAG
+ATTGATGCTCACGAGATCCCAACCCTGCTGGTGATGAACAAGATCGATATGCTGGACGATTTCGAACCGC
+GTATTGACAGAGATGAAGAGAACAAACCGATCCGTGTCTGGCTTTCTGCGCAGACCGGAGCGGGGATACC
+ACAGCTTTTTCAGGCTTTGACGGAGCGTCTTTCCGGCGAGGTGGCGCAGCATACATTGCGTCTGCCGCCG
+CAGGAAGGGCGCCTGAGAAGTCGTTTTTATCAGCTTCAGGCAATAGAAAAAGAGTGGATGGAGGAGGACG
+GCAGCGTAAGTCTGCAAGTTCGTATGCCGATCGTTGACTGGCGTCGCCTCTGTAAACAAGAACCGGCGTT
+GATCGATTACCTGATCTAACGGCGTAGCGTCTGAAGCGTGGAGTCATATCCTCTGGCGTCGAAAGACAAC
+AGGGATCACCGCATAACAAATATGGAGCACAAACATGGCGTGGAATCAGCCCGGTAATAACGGACAAGAC
+CGCGACCCGTGGGGAAGCAGCAAACCTGGCGGCAACTCTGAGGGAAATGGAAACAAAGGCGGTCGCGATC
+AAGGGCCACCTGATTTAGATGATATCTTCCGCAAACTGAGCAAAAAGCTCGGTGGTCTGGGCGGCGGTAA
+AGGCACCGGATCTGGCGGTGGCAGTTCATCGCAAGGCCCGCGCCCGCAGCTTGGCGGTCGCGTCGTTACC
+ATCGCAGCGGCAGCGATTGTCATTATCTGGGCGGCCAGTGGTTTCTATACCATTAAAGAAGCCGAACGCG
+GCGTGGTAACACGCTTTGGTAAATTCAGCCATCTGGTTGAGCCGGGTCTGAACTGGAAACCGACGTTTAT
+TGACGAAGTCAAACCGGTGAACGTGGAAGCCGTGCGTGAACTGGCAGCTTCTGGTGTGATGCTGACGTCT
+GACGAGAACGTAGTGCGCGTTGAGATGAACGTGCAGTACCGCGTCACCGATCCGGAAAAATATCTGTATA
+GCGTGACCAGCCCGGATGACAGTCTGCGTCAGGCTACCGACAGCGCCCTGCGCGGGGTTATCGGTAAATA
+CACCATGGACCGCATTCTGACGGAAGGTCGTACCGTGATTCGTAGCGATACTCAGCGCGAACTGGAAGAG
+ACGATTCGTCCGTATGACATGGGCATCACTCTGCTGGACGTCAACTTCCAGGCTGCTCGTCCGCCGGAAG
+AAGTAAAAGCGGCGTTTGACGATGCGATTGCCGCGCGTGAAAACGAACAGCAATACATTCGTGAAGCAGA
+AGCGTATACCAACGAAGTTCAGCCGCGTGCGAACGGTCAGGCGCAACGTATCCTCGAAGAGGCGCGTGCG
+TACAAGGCCCAGACCATCCTGGAAGCTCAGGGTGAAGTGGCGCGCTTTGCTAAACTTCTGCCGGAATATA
+AAGCCGCGCCGGAAATTACTCGCGAGCGTCTGTATATCGAGACGATGGAAAAAGTGTTGGGCAACACCCG
+CAAAGTGCTGGTTAACGATAAAGGTGGCAACCTGATGGTTCTGCCATTAGACCAGATGCTGAAAGGTGGT
+AACGCCCCTGCGGCGAAGAGCGATAACGGTGCCAGCAATCTGCTGCGTCTGCCGCCAGCCTCTTCCTCCA
+CAACCAGTGGAGCAAGCAACACGTCGTCCACCAGTCAGGGCGATATTATGGACCAACGCCGCGCCAACGC
+GCAGCGTAACGACTACCAGCGTCAGGGGGAATAACGATGCGTAAGTCAGTTATCGCGATTATCATCATCG
+TGCTGGTAGTGCTTTACATGTCTGTCTTTGTCGTCAAAGAAGGTGAGCGCGGTATTACGCTGCGTTTTGG
+TAAGGTACTGCGTGACGATGACAACAAACCTCTGGTTTATGAGCCGGGTCTGCATTTCAAGATACCGTTC
+ATTGAAACGGTGAAAATGCTCGACGCACGTATTCAGACCATGGACAACCAGGCCGACCGCTTTGTGACCA
+AAGAGAAGAAAGACCTGATCGTCGACTCTTACATCAAATGGCGCATCAGCGATTTCAGCCGTTACTATCT
+GGCAACGGGTGGTGGCGACATTTCGCAAGCGGAAGTGCTGTTGAAACGTAAGTTCTCTGACCGTCTGCGT
+TCTGAAATTGGTCGCCTGGACGTGAAAGACATCGTCACCGATTCTCGTGGTCGTCTGACCCTCGAAGTAC
+GTGACGCGCTGAACTCCGGTTCTGCGGGTACAGAAGATGAAGTTACTACCCCTGCAGCAGATAACGCCAT
+TGCCGAAGCGGCAGAGCGCGTAACGGCTGAGACGAAGGGCAAAGTTCCGGTCATCAATCCGAACAGTATG
+GCGGCGCTGGGTATTGAAGTTGTCGATGTGCGAATTAAGCAGATCAACCTGCCGACCGAAGTGTCTGAAG
+CGATCTACAACCGTATGCGCGCCGAGCGTGAAGCGGTAGCGCGTCGTCACCGTTCACAAGGTCAGGAAGA
+AGCGGAAAAACTGCGTGCAACTGCCGACTATGAAGTGACCAGAACGCTGGCAGAAGCTGAGCGTCAGGGC
+CGCATCATGCGTGGTGAAGGCGATGCAGAAGCAGCCAAACTGTTTGCTGATGCATTCAGTAAAGATCCGG
+ACTTCTACGCATTCATCCGTAGCCTGCGTGCTTATGAGAACAGCTTCTCTGGCAATCAGGACGTGATGGT
+CATGAGCCCGGACAGCGATTTCTTCCGCTACATGAAGACGCCGACTTCCGCAACGCGTTAATATAACGAC
+TGCGGTACAGGTCAATAAAGCCACCACATCCTCAGGGATGTCGGTGGTTTTCTTTTTCTATAAGGATAAT
+GAATGAATTCGACAATCTGGCTGGCGCTTGCCCTGGTTTTGGTACTGGAAGGTTTAGGGCCGATGTTTTA
+CCCGAAGGCATGGAAGAAGATGATCTCTGCGATGACCAATTTGCCCGATAATATTTTACGTCGTTTTGGC
+GGTGGACTTGTGGTTGCGGGCGTTGTGGTCTACTACATGTTGAGGAAAACGATTGGCTGAACAAAAAACA
+GACTGATCGAGGTCATTTTTGAGTGCAAAAAGTGCTGTAACTCTGAAAAAGCGATGGTAGAATCCATTTT
+TAAGCAAACGGTGATTTTGAAAAATGGGTAACAACGTCGTCGTACTGGGCACCCAATGGGGTGACGAAGG
+TAAAGGTAAGATCGTCGATCTTCTGACTGAACGGGCTAAATATGTTGTACGCTACCAGGGCGGTCACAAC
+GCAGGCCATACTCTCGTAATCAACGGTGAAAAAACCGTTCTCCATCTTATTCCATCAGGTATTCTCCGCG
+AGAATGTAACCAGCATCATCGGTAACGGTGTTGTGCTGTCTCCGGCTGCGCTGATGAAAGAGATGAAAGA
+ACTGGAAGACCGTGGCATCCCCGTTCGTGAGCGTCTGCTGCTGTCCGAAGCATGTCCGCTGATCCTTGAT
+TATCACGTTGCGCTGGATAACGCGCGTGAGAAAGCGCGTGGCGCGAAAGCGATCGGCACCACCGGTCGTG
+GTATCGGGCCTGCTTATGAAGATAAAGTGGCACGTCGCGGTCTGCGTGTTGGCGACCTTTTCGACAAAGA
+AACCTTCGCTGAAAAACTGAAAGAAGTGATGGAATATCACAACTTCCAGTTGGTTAACTACTACAAAGCT
+GAAGCGGTTGATTACCAGAAAGTTCTGGATGATACGATGGCTGTTGCCGACATCCTGACTTCTATGGTTG
+TTGACGTTTCTGATCTGCTCGACCAGGCGCGTCAGCGTGGCGATTTCGTCATGTTTGAAGGTGCGCAGGG
+TACGCTGCTGGATATCGACCACGGCACTTATCCGTACGTAACTTCTTCCAACACCACTGCTGGTGGCGTG
+GCGACCGGTTCCGGCCTGGGCCCGCGTTATGTTGATTACGTTCTGGGTATCCTCAAAGCTTACTCCACTC
+GTGTGGGTGCAGGTCCGTTCCCGACCGAACTGTTTGATGAAACTGGCGAGTTCCTCTGCAAGCAGGGTAA
+CGAATTCGGCGCAACTACGGGTCGTCGTCGTCGTACCGGCTGGCTGGACACCGTTGCCGTTCGTCGTGCG
+GTACAGCTGAACTCTCTGTCTGGCTTCTGCCTGACTAAACTGGACGTTCTGGATGGCCTGAAAGAGGTTA
+AACTCTGCGTGGCTTACCGTATGCCGGATGGTCGTGAAGTGACTACCACTCCGCTGGCAGCTGACGACTG
+GAAAGGTGTAGAGCCGATTTACGAAACCATGCCGGGCTGGTCTGAATCCACCTTCGGCGTGAAAGATCGT
+AGCGGCCTGCCGCAGGCGGCACTGAACTACATCAAGCGCATTGAAGAGCTGACCGGTGTGCCGATCGATA
+TCATCTCTACCGGTCCGGATCGTACTGAAACCATGATTCTGCGCGACCCGTTCGACGCGTAATTCTGGTA
+CGCCTGGCAGATATTTTGCCTGCCGGGCTAACAGTGTGATACATTGCTGTGTCGGTTAAGCCATTACGCT
+ATCCGACACAGTGTTAAATCCTCGCTTTTTTCCTTCCCCGAACTGAAATAAATTAGCGACACAGCTTGTG
+GCTGGTTTATCATCAATATAAATGTATTTTTCCCCGATTTCCCTTTTGAGGTTGATGTGCAGTTAACGAG
+TTTCACTGATTACGGATTACGTGCGCTGATCTACATGGCGTCATTGCCAGAAGGGCGGATGACCAGTATT
+TCTGAAGTGACTGACGTCTACGGCGTCTCCCGTAATCATATGGTCAAAATAATCAATCAACTTAGTCGTG
+CCGGCTACGTGACTGCTGTTCGTGGAAAAAATGGCGGCATTCGCTTGGGTAAACCGGCGAGTGCAATACG
+TATTGGTGATGTGGTGCGCGAGCTGGAGCCCTTATCGCTGGTGAATTGCAGCAGTGAGTTTTGCCACATT
+ACACCTGCCTGTCGGTTGAAACAGGCGCTTTCTAAGGCCGTGCAAAGTTTTCTTACGGAACTGGATAACT
+ACACGCTTGCCGATTTGGTTGAAGAGAATCAACCGCTTTATAAATTATTGCTGGTGGAGTGACGAAAATC
+TTCATCAGAGATGACAACGGAGGAACCGAGATGTCACAAGATCCTTTCCAGGAACGCGAAGCTGAAAAAT
+ACGCGAATCCCATCCCTAGTCGGGAATTTATCCTCGAACATTTAACCAAACGTGAAAAACCGGCCAGCCG
+TGATGAGCTGGCGGTAGAACTGCACATTGAAGGCGAAGAGCAGCTTGAAGGCCTGCGTCGCCGCCTGCGC
+GCGATGGAGCGCGATGGTCAACTGGTCTTCACTCGCCGTCAGTGCTATGCGCTGCCGGAACGCCTCGACC
+TGGTGAAAGGTACCGTTATTGGCCACCGTGATGGCTACGGCTTTCTGCGAGTTGAAGGGCGTAAAGATGA
+TTTGTATCTCTCCAGCGAGCAGATGAAAACCTGCATTCATGGCGATCAGGTGCTGGCTCAGCCGCTGGGC
+GCTGACCGTAAAGGTCGTCGTGAAGCGCGTATTGTCCGCGTACTGGTGCCAAAAACCAGCCAGATTGTTG
+GTCGCTACTTCACCGAAGCGGGCGTCGGCTTTGTGGTTCCTGACGATAGCCGTCTGAGCTTCGATATCTT
+AATCCCGCCCGATCAGATCATGGGCGCGCGGATGGGCTTTGTGGTGGTGGTTGAACTGACTCAACGCCCG
+ACTCGCCGTACCAAAGCGGTGGGTAAAATCGTCGAAGTGCTGGGCGACAATATGGGCACCGGCATGGCGG
+TTGATATCGCTCTGCGTACCCATGAAATTCCGTACATCTGGCCGCAGGCTGTTGAGCAACAGGTTGCCGG
+GCTGAAAGAAGAAGTGCCGGAAGAAGCAAAAGTGGGCCGTGTCGATCTGCGCGATTTACCGCTGGTCACC
+ATTGATGGCGAAGACGCCCGTGACTTTGACGATGCAGTTTACTGTGAGAAAAAACGCGGCGGCGGCTGGC
+GTTTATGGGTCGCGATTGCCGACGTCAGCTACTATGTGCGTCCGCCAACGCCGCTGGACAGAGAAGCGCG
+TAATCGTGGTACGTCGGTGTACTTCCCTTCGCAGGTTATCCCGATGCTGCCGGAAGTGCTCTCTAACGGC
+CTGTGCTCGCTCAACCCGCAGGTAGACCGCCTGTGTATGGTGTGCGAGATGACGGTTTCGTCGAAAGGCC
+GCCTGACTGGCTACAAATTCTACGAAGCGGTGATGAGTTCTCACGCGCGTCTGACCTACACCAAAGTCTG
+GCATATACTGCAAGGCGATCAGGATCTGCGCGAGCAGTATGCGCCGCTGGTTAAGCATCTCGAAGAGTTA
+CATAACCTCTATAAAGTGCTGGATAAAGCCCGTGAAGAACGCGGTGGGATCTCATTTGAGAGCGAAGAAG
+CGAAGTTCATTTTCAACGCTGAACGCCGTATTGAACGTATCGAACAGACTCAGCGTAACGACGCCCACAA
+GTTAATTGAAGAGTGCATGATTCTGGCGAATATCTCGGCGGCGCGTTTCGTTGAGAAAGCCAAAGAACCG
+GCACTGTTCCGTATTCACGACAAGCCGAGCACCGAAGCGATTACCTCTTTCCGTTCAGTGCTGGCGGAGC
+TGGGGCTGGAACTGCCGGGCGGTAACAAGCCGGAACCGCGCGACTATGCAGAGTTACTGGAATCGGTTGC
+CGATCGTCCTGATGCAGAAATGCTGCAAACCATGCTTTTGCGCTCGATGAAACAGGCGATTTACGATCCG
+GAAAACCGTGGTCACTTCGGTCTGGCATTGCAGTCCTATGCGCACTTTACTTCGCCGATTCGTCGTTATC
+CTGACCTGACGTTGCACCGCGCCATTAAATATCTGCTGGCGAAAGAGCAGGGGCATCAGGGCAACACCAC
+TGAAACCGGCGGCTACCATTATTCGATGGAAGAGATGCTGCAACTGGGTCAGCACTGTTCGATGGCGGAA
+CGTCGTGCCGATGAAGCAACGCGCGATGTGTCTGACTGGCTGAAGTGTGACTTCATGCTCGACCAGGTAG
+GTAACGTCTTTAAAGGCGTAATTTCCAGCGTCACTGGCTTTGGCTTCTTCGTCCGTCTGGACGACTTGTT
+CATTGATGGTCTGGTCCATGTCTCTTCGCTGGACAATGACTACTATCGCTTTGATCAGGTAGGGCAACGC
+CTGATGGGTGAATCCAGCGGCCAGACTTATCGCCTGGGCGATCGCGTGGAAGTTCGCGTTGAAGCGGTTA
+ATATGGACGAGCGCAAAATCGACTTTAGCCTGATCTCCAGCGAACGCGCACCGCGCAACGTCGGTAAAAC
+GGCGCGCGAGAAAGCGAAAAAAGGCGATGCAGGCAAAAAAGGCGGCAAGCGGCGTCAGGTCGGCAAAAAG
+GTCAACTTTGAGCCAGACAGCGCCTTTCGCGGCGAGAAAAAACCGAAGCCGAAAGCAGCGAAGAAAGACG
+CGAGAAAAGCGAAAAAGCCATCGGTGAAAACGCAGAAAATAGCCGCAGCGACCAAAGCGAAGCGTGCGGC
+GAAGAAAAAAGTGGCAGAGTGATCATTACCCTCTTCAAACAGAAGAGGGTGAATTATCCGTAGGCCGGGC
+AAGCGTGGCGCTCCCGGCAAAACGTAAACAACGAGTACATTAATGAGCGAAATGATTTACGGCATCCATG
+CAGTGCAGGCCCTGCTGGAGCGCGCCCCTGAACGTTTTCAGGAAGTCTTTATTTTAAAAGGCCGTGAAGA
+TAAACGTCTGTTACCGCTGATTCACGCCCTTGAGTCTCAGGGCGTGGTTATCCAGTTGGCAAACCGCCAA
+TATCTCGATGAGAAAAGCGACGGTGCCGTGCATCAGGGCATTATCGCTCGTGTGAAGCCAGGACGGCAGT
+ATCAGGAAAACGATCTGCCGGATCTGATCGCTTCGCTCGATCAACCGTTCCTGCTGATCCTCGACGGCGT
+AACCGATCCGCACAACCTCGGCGCGTGTCTGCGTAGCGCGGACGCCGCTGGTGTTCATGCGGTGATTGTG
+CCGAAAGATCGCTCCGCACAGCTCAACGCCACGGCGAAAAAAGTGGCCTGTGGTGCGGCAGAAAGCGTTC
+CGCTGATTCGGGTGACTAATCTGGCGCGCACCATGCGTATGTTGCAGGAAGAGAATATCTGGATCGTCGG
+TACGGCAGGCGAGGCGGATCATACACTCTATCAGAGCAAAATGACCGGACGCCTGGCGCTGGTGATGGGC
+GCGGAAGGTGAAGGTATGCGTCGCCTGACCCGTGAACATTGCGATGAGTTGATCAGCATCCCAATGGCAG
+GAAGTGTTTCTTCCCTGAACGTTTCGGTTGCAACCGGAATTTGCTTATTTGAAGCGGTTCGTCAGCGCAG
+CTAGTTCCTCTGAATTATGAAAAGCCATCCAGATTTGGATGGTTTTTTTTTGTCTATAGCTGGTAAGATA
+ATTACGTACTGCAAATATTCATTTTATTAATATTTAAACTTAATCTATATGGAATAATATATGACATGGA
+ATCCGTTGGCGCTGGCGACGGCGCTGCAAACTGTACCTGAACAAAATATTGATGTAACAAATAGCGAAAG
+CGCATTAATTATTAAAATGAATGATTATGGCGATTTGCAAATCAATATTCTTTTTACTTCCCGCCAAATG
+ATCATCGAAACCTTTATTTGTTCGGTAAGTAGTATCAGCAATCCAGATGAATTTAATACCTTCTTATTAA
+GAAATCAGAAGATGATGCCGTTGTCATCGGTAGGGATCTCCAGCGTGCAACAGGAAGAGTATTACATTGT
+TTTCGGTGCGTTATCGCTTAAATCTTCTCTTGAAGATATCCTGCTTGAGATAACTTCGCTGGTAGATAAC
+GCATTGGATCTGGCTGAAATTACAGAAGAATATTCACACTAATTACAAGGACGGGTATTTATGGGGATTT
+TAAAAAGTTTATTTACGCTGGGGAAATCGTTTATCTCCCAGGCGGAAGAGTCCATTGAAGAAAACCAGGG
+CGTGCGCATGCTGGAACAGCATATTCGTGACGCAAAAACTGAACTCGATAAAGCCGGAAAATCTCGCGTT
+GATCTGCTGGCGCGAGTGAAATTAAGTCACGATAAGCTGAAAGATTTACGTGAGCGTAAAGCCAGTCTGG
+AAGCTCGTGCGCTGGAAGCGTTAAGCAAGAACGTGAATCCGTCGTTGATTAACGAAGTTGCTGAAGAAAT
+CGCGCGCCTTGAGAATCTCATTACCGCTGAAGAGCAAGTGTTGTCGAATCTGGAAGTCTCTCGTGATGGC
+GTGGAAAAAGCAGTTACAGCGACAGCGCAGCGTATCGCTCAGTTTGAGCAGCAAATGGAAGTCGTTAAAG
+CCACTGAAGCCATGCAGCGTGCACAACAGGCTGTAACGACCTCTACTGTTGGCGCATCTTCCAGCGTTTC
+GACAGCGGCAGAATCCTTAAAACGCCTGCAAACGCGTCAGGCCGAACGTCAGGCTCGCCTGGATGCTGCC
+GCACAGTTGGAAAAAGTCGCAGACGGTCGCGATCTCGATGAAAAGCTGGCGGAAGCCGGAATTGGCGGTA
+GCAATAAAAGTAGCGCCCAGGATGTATTAGCAAGACTGCAACGCCAACAGGGCGAGTAATTTTTTGCCAG
+CCTCACTGCAAGGCTGGCAACTATTTTAAGGATAAAATATGTCTGGTTTTTTCCAGCGTCTGTTTGGCAA
+GGATAATAAGCCTGCTATCGCTCGCGGTCCGTTGGGTCTGCATCTCAATAGTGGTTTTACGCTCGATACG
+TTAGCGTTTCGTTTGCTGGAAGATGCATTGCTGATCGAGCTACCGGGTGAAGAATATACCGTGGCCGCCG
+TCAGTTGCATCGATCTGGGCGGGGGTAGCCAGATTTTCCGTTACTACACTTCGGGCGATGAGTTCCTGCA
+AATCAATACCACTGGCGGCGAAGATATTGATGACATTGATGATATCAAGCTCTTTGTCTATGAAGAGAGC
+TACGGTATCAGTAAAGAGAGTCACTGGCGCGAGGCGATCAACGCCAAAGCGATGGGGGCAATGACCTTAA
+ACTGGCAGGAAAAACGCTGGCAGCGATTTTTTAACAGCGAAGAACCGGGAAATATCGAACCCGTCTACAT
+GCTGGAAAAAGTAGAAAATCAAAACCATGCCAAATGGGAAGTGCATAATTTTAGCATGGGCTACCAACGG
+CAGGTGACCGAAGATACTTACGAATATTTGCTGTTAAATGGTGAGGAATCTTTTAACGATCTCGGCGAGC
+CGGAGTGGTTATTTTCGCGCGCGCTGGGTGTCGATATCCCGATGACATCACTTCATATTATTGGTTAATT
+ACAAGGACGTTTACAATGCATATACTGGATTCACTTCTTGCCTTTAGTGCCTATTTTTTTATTGGCGTGG
+CGATGGTGATTATTTTCCTGTTTATCTACTCCAAAATTACACCGCACAACGAATGGCAGTTAATCAAAAA
+CAATAACACCGCGGCGGCACTGGCGTTCAGCGGAACATTGTTGGGGTACGTGATCCCCTTATCCAGTGCG
+GCAATCAATGCGGTGAGTATTCCAGACTATTTCGCATGGGGCGGGATTGCTCTGGTGATTCAATTACTCG
+TTTTTGCTGGCGTCAGGCTTTATATGCCTGCATTAAGCGAAAAAATTATTAATCACAATACCGCAGCAGG
+AATGTTTATGGGAACCGCCGCGCTGGCTGGCGGTATTTTTAACGCAGCTTGTATGACATGGTAATGGACG
+ATCATGGCCAGAAAACGCAAATCCAGAAATAACAAAAATATCGGACATGGGGCAATCAGTCGCATTGGTA
+GACCGCATAATCCTTTTGAGCCGCGCCGCAATCGCTACGCACAAAAATACTTAACGTTGGCACTAATGGG
+CGGTGCCGCTTTTTTCGTATTGAAAGGTTGTGGCGATAGTGGCGATGTCGATAACGACGGCGACGGAACG
+TTTTACGCGACTGTGCAGGATTGTATTGATGATGGTAATAATTCAGATATCTGTGCTCATGGCTGGAACA
+ACGCCAAAGCGGCATTTTATGCCGATGTTCCGAAGAATATGACTCAGCAGAATTGTCAGTCTAAGTACGA
+AAATTGCTACTACGACAATGTTGAACAGAGTTGGATCCCGGTCGTTTCTGGATTTTTGTTAAGCCGGGTT
+ATTCGTAAAGATCGCGATGAGCCGTTCGTCTATAACAGCGGCGGATCCTCATTTGCTTCCCGCCCCGTCT
+GGCGCAACACTTCCGGTGATTACTCCTGGCGCTCCGGTTCTGGCAAAAAAGAGTCTTACTCTTCGGGCGG
+CTTTACCACCAAAAAAGCGTCAACCGTTTCTCGCGGCGGCTATGGTCGTTCTTCCAGCGCCCGTGGGCAT
+TGGGGAGGCTAATCATGCTGAGACACAACGTTACTGTGCGGCGGGATCTGGACCGGATTGCCGCCGATAA
+CGGATTTGACTTTCATATCATCGACAATGAAATCTATTGGGATGAGAGTCGGGCTTACCGCTTTACTCTG
+CGTCAGATTGAAGAGCAGATCGAAAAACCGACTGCGGAACTGCATCAGATGTGCCTTGAGGTGGTGGATC
+GCGCGGTTAAAGATGAAGAGATCCTGACGCAACTGGCGATCCCGCCGTTGTACTGGGATGTGATCGCCGA
+AAGCTGGCGCGCACGCGATCCTTCGTTGTATGGCCGTATGGATTTTGCCTGGTGTGGTAATGCACCGGTT
+AAGCTGCTGGAGTACAACGCTGATACACCGACCTCGTTGTATGAGTCGGCTTATTTCCAGTGGTTGTGGC
+TGGAAGACGCCCGGCGTGGCGGCATTATTCCGCGTGATGCCGATCAGTACAATGCCATTCAGGAACGCCT
+GATTTCGCGTTTTAGCGAGCTTTACAGTCGGGAACCGTTTTATTTTTGCTGCTGTCAGGATACCGACGAA
+GACAGGAGTACCGTGCTGTACTTGCAGGACTGCGCCGAGCAGGCAGGGCAGGAGTCTCGGTTTATCTACA
+TTGAAGAGCTCGGTTTGGGCGTCGGCGGCGTACTGACCGATCTTGATGATAATGTCATCCAGCGTGCATT
+TAAGCTGTATCCGCTGGAGTGGATGATGCGTGACGATAACGGTCCGCTGCTGCGCAAGCGTCGCGAGCAA
+TGGGTGGAGCCGTTATGGAAAAGTATCTTGAGTAATAAAGGGCTAATGCCGCTGCTTTGGCGCTTCTTCC
+CTGGTCATCCTAACCTTCTTGCATCCTGGTTCGATGGTGAAAAACCGCAGATTGCCGCTGGCGAAAGCTA
+TGTGCGTAAACCGATTTACTCGCGCGAAGGCGGAAACGTCACCATTTTCGACGGTCAGAATAACGTCGTT
+GACCACGCTGATGGTGATTACGCCGATGAACCGATGATCTACCAGGCGTTTCAACCTCTGCCGCGATTTG
+GCGATAGCTACACACTCATCGGTAGCTGGATTGTCGATGATGAAGCGTGCGGAATGGGGATCCGTGAAGA
+TAACACGTTGATCACCAAAGACACCTCACGTTTCGTTCCGCATTACATTGCTGGATAAGAATGTTTTAGC
+AATCTCTTTCTGTCATGAATCCATGGCAGTGACCATACTAATGGTGACTGCCATTGATGGAGGGAGACAC
+AGTGCACTGGCAAACTCACACCGTTTTTAATCAACCTATACCATTAAATAACAGCAACTTATACCTGTCT
+GATGGCGCGCTTTGCGAAGCGGTAACGCATGAAGGTGCTGGCTGGGATAGCGATTTTCTCGCCAGTATTG
+GTCAGCAGTTAGGAACGGCTGAATCCCTTGAGCTGGGGCGGCTGGCGAATGTGAATCCGCCTGAATTATT
+GCGCTACGATGCGCAAGGACGCCGTCTGGACGATGTGCGTTTTCACCCCGCCTGGCACCTGCTGATGCAG
+GCGCTATGTACCAATCGGGTGCACAATCTTGCCTGGGAAGAAGACGCTCGCTCCGGCGCATTTGTGGCGC
+GCGCGGCGCGTTTTATGTTACATGCGCAGGTTGAGGCTGGGTCGTTATGTCCGATAACGATGACCTTTGC
+CGCCACGCCATTGTTGTTACAGATGTTACCCGCGCCGTTTCAGGACTGGATCACGCCGCTGTTGAGCGAT
+CGCTACGATTCTCACTTATTGCCGGGTGGGCAAAAACGTGGCTTGTTGATCGGCATGGGAATGACGGAAA
+AGCAGGGCGGTTCCGATGTCATGAGCAACACCACCCGCGCAGAGCGTCTGGACGATGGTTCTTATCGGCT
+GGTGGGGCATAAATGGTTTTTCTCGGTGCCGCAAAGCGATGCGCATCTGGTGCTGGCACAGACCGCGGGC
+GGTTTGTCCTGCTTTTTTGTGCCGCGCTTTTTGCCTGACGGGCAACGCAACGCGATTCGCCTCGAGCGGC
+TGAAAGATAAGCTGGGTAATCGCTCTAACGCCAGCTGCGAAGTGGAGTTTCAGGATGCCATTGGCTGGTT
+GTTGGGGCAGGAAGGGGAAGGAGTTCGTCTGATCCTGAAAATGGGTGGGATGACGCGTTTTGATTGCGCC
+CTGGGTAGCCATGCCATGATGCGCCGTGCATTTTCGCTGGCGATTTACCATGCACATCAACGCCATGTTT
+TTGGTAATCCATTGATCCAACAGCCCCTTATGCGTCATGTCTTAAGTCGCATGGCACTTCAGCTTGAAGG
+GCAAACGGCGTTGCTGTTTCGTCTTGCGCGAGCGTGGGACCGGCGCGCCGATGCCAAAGAAGCTCTGTGG
+GCGCGTTTATTTACGCCTGCGGCGAAATTTGTGATCTGCAAACGTGGCATTCCGTTTGTGGCCGAAGCGA
+TGGAGGTGCTGGGCGGCATTGGTTATTGCGAGGAGAGCGAGCTGCCGCGGCTTTACCGGGAGATGCCGGT
+AAACAGTATTTGGGAAGGTTCCGGCAATATTATGTGCCTGGATGTGCTGCGCGTTCTCAATAAGCAAGCG
+GGCGTATACGACTTATTGTCGGAAGCATTTGTGGAAGTGAAAGGGCAGGATCGCTATTTTGATCGCGCGG
+TTCGTCGTTTACAGCAGCAGCTGCGTAAGCCAGCTGAAGAATTGGGGCGAGAGATTACTCATCAGCTATT
+CCTGCTGGGCTGCGGTGCGCAAATGTTGAAATATGCCTCTCCGCCAATGGCGCAGGCGTGGTGTAAGGTG
+ATGTTAGATACGCGCGGCGGCGTACGGTTGTCAGAGCAGATCCAGAATGATTTATTGCTGCGGGCGACGG
+GAGGAGTGTGTTTGTAAGCGTATACGACTGATGCGACGCTGGTTTCGATTAACTAAATGAAATATTTTAA
+AATTGTAGGCCGGACAAGGCGCTCGCGCCGCATCCGGCATTGTTCATTTGCTGTAGATGACACTCACGCA
+TACAGTATCGCCTGTACGCGCCAGTTATCAGGCTGCTGGTCTTCGTACATGGTAATAATGCGGTACCATG
+ACGCACCTTGTTCATCGGCCTTTAACGCCACGATACGTTCCACGTCCTGCGGATCCCCTGAAATATTGCT
+AACTGAGATCTGACCTATTTCATTCAGGCCCGTCACGCAGTCAGCACTGGCGAATTCTGCAGACTGTGCC
+GTGGCGCTCGCAGGATAAGTCACTAATTGCAGCGAGGGTGAGGCAAGTAATTGTTTCATCGTCAGCTCCA
+TTTTTCGTTTCCCCACATGTTGCAGGGCATTCCATCGCGGTAATAAACGCCCGAGCTTCCAGCCGGTAAT
+TTATTGTGCACAGGTAAACGCATAGGGACGCAAAGCAATGTAAAGCTGACTATGTAAGTTGTCTGATTTA
+TTTACGGTACAAAATGGCTTGTGAATACCACTGTCCTGTCACGATGGTTTCGTCCACCATGACGACAACG
+TAATAATCAGCTTTTGCAGCGACAGCTTTCGCTCTGATTTCTGCTAATGCGTCATCCGGAGAACCCCGAA
+CCATCGTGCTTACGCTACCTATTCGCTGTAACCCTTGCGTCTGGTCGCGGCGAATCTCTTGCGGATGGTC
+CGTTACTGGCGGTGCTGGCTGTGGCGTACCTTGCAGTGCGCTACAGGCACTTAACATCAACACCAATAAT
+AAACTGGCAAACCGGTAAATAACGCTATTACGTTTCCTGCTAACCATAGTGTAGTGCCTTATTAATTTAA
+CTTTGGGGGAATGTTCCCGAATTGTTACCTGGTACGCGATTTTCGAATGAAAACGTGACGAAAGCGTAAC
+CCACATCTCAACATTATGAACTAATACCGCCAGCAGAAACTTGTGCTAAGGATTTCTTCATGTCATACCA
+GACAAAAAGGAGAGACAGATGATTGAAATAGAATCACGCGAGCTGCCAGATATTCCCGTTCTTCATGCTT
+ATCCTGTCGGGCAAAAAGATACCCCGTTACCGTGTGTGATTTTTTATCACGGCTTTACTTCGTCCAGTCT
+GGTGTATAGCTATTTTGCCGTTGCGCTGGCGCAGGCTGGTTTGCGGGTGATCATGCCGGATGCGCCCGAT
+CACGGTAGCCGTTTTAGTGGCGACGCAGCGCGGCGGTTAAATCAATTCTGGCAAATCTTGCTACAAAGTA
+TGCAGGAATTCACTACCTTACGTGCGGCAATAGCCGAAGAAAACTGGCTGCGTGATGACCGTCTGGCAGT
+CGGTGGCGCGTCGATGGGCGCGATGACGGCACTGGGAATTACCGCTCGCCACCCCACGATAAAATGTACC
+GCCAGCATGATGGGATCGGGCTATTTTACATCGCTCGCCCGTTCACTGTTTCCACCGCTGATACCTGAAA
+CGGCAGCACAGCAGAATGAATTCAATAACATTGTCGCGCCGCTGGCAGAGTGGGAAGCGACAAACCACCT
+GGAACAACTTGGTGACAGACCTCTACTGCTGTGGCATGGCCTTGACGATGACGTCGTGCCTGCCGACGAA
+TCACTACGTTTGCAGCAGGCCTTAAGCGAGACGGGGCGGGATAAACTGCTAACCTGTTCATGGCAGCCAG
+GCGTGCGTCACCGCATTACGCCTGAGGCGTTAGATGCTGCCGTGACATTTTTCCGCCAGCATCTTTAAAC
+ACGCAGAATGCTGACCCCTTGCGCTTCCAGTTGTTGCAGGATTTCCGGGTTAGCATTTTTGCCGGTGATC
+AGCATATCGATTTGATCGGCACGGCTAAAAAGCATTCCCGCGCGTTCGCCAATCTTACTGCTATCAACCA
+GTACCACCAGTTTCCCTACCACGCTCAGCATCTTCTGCTCTGCCATTGCCGTCAGCATATCGGTTTTATA
+CAACCCTTCTGCTGTCAGTCCTTTGCCGCTGGTAAACATCCAGTGCCCGGCATAGAGACTGTTTTCGCTG
+CCTTGCGGGCTTAAAGTGATGGACTGACTTTTGTTGTACTGTCCGCCCATAATGATCACGCTGTCATGCT
+CCTGATCGATCAGGTAATTTGCCAGCGGTAGATAATTAGTGATGATTTGCACTGGCTTGCCACACATTTC
+CCGCCCAAGCAGAAACGCGGTGGAGCCGCAGTTGATGACTACGCTTTCGCCCGGATTAACCAGCTGCGAG
+GCCGCTTTAGCAATACGTACTTTTTCATCGTGATTCTGCGCCTGATGCAGATTCATCGGCGTCCAGCGCG
+GGCGCTGTTGGGTAATAGCTTCTGCGCCATTGCGCACTTTTTTCAGTTTGCCGCTTTCGTCAAGTTTATT
+GATATCGCGTCGTGCAGTGGCAGGCGAAATTCCCAGACGCTCAACGACTTTCTCAACGGTCACAAAGCCC
+AATTGTGCGAGCATTTCCAGGAGGATTTGATGTCTTTGTGCTTCAGTCATGAGCTATTCCGATAAAATTT
+GATTTTTTTAGATGATATTTGAAATAGCCAGGAAATACTATGCCGGATAGCGCGAGCATCTCCATGCTAT
+CCGGTACAAGCGACAGATTACAGGAACGACTTGAACGGCAGATCTGGTTCAATAGTGAAGCAATCATCGA
+AACCACGCGGATAGTGGTACTCGAAGTTGTCTTTATCCAGCGGCCAGGTAAATTTGCCGCCGACCTGCCA
+GATAAACGGCTTGAAGCCATACTTCAGGCGATCTTTTTTCATCTCCCACAGCACGCGGATCTCTTGCGGA
+TCGGCCTGGAAGTTTGACCAGATATCGTGGTGGAACGGGATCACTACTTTCGCATTCAGCGCTTCGCCCA
+TACGCAGGATATCAGCACTGGTCATTTTGTCGGTAATACCGCGTGGGTTTTCGCCGTATGAACCTAAAGC
+CACGTCGATCTGATGCTCATTACCATGTTTTGCATAGTAGTTAGAGTAGTGGGAGTCGCCGCTGTGATAC
+AGGGTACCGCCTGGGGTTTTGAACAGATAGTTTACCGCGCGATCGTCCATGCCGTCCGGCAGTACGCCAG
+CCGCTTTTTGATCGGCTGGCAGGGTGATCAGTGCCGTGCGGTCGAAAGCATCAAGTGCATGAATTTCAAT
+GTCTTTTACCTTCACTACGTCGCCAGGTTTAACGACGATGCAACGCTCTTTCGGTACGCCCCAGCCAATC
+CACAAATCAACGCAGGTTTTCGGTCCAATGAACGGTACGTCATCAGCACAGTTCTGCATCACGGCAGCAG
+CGACGTTAACGTCGATATGATCGTTGTGATCGTGAGTCGCCAGTACCGCGTCGATCTGGCGAATCGCAAA
+CGGATCAAGAACAAACGGGGTGGTGCGCAGGTTTGGCTGCAGTTTTTTCACGCCAGCCATGCGCTGCATC
+TGGTGACCCTGTTTCATGAACGGGTTACCGTGGCTTTGTTTGCCAGTACCGCACCAAAAATCAACACAAA
+CGTTGGCACCGCCTTCTGATTTCAACCAGATCCCGGTACAGCCGAGCCACCACATTGCGAAAGTGCCAGG
+TGCGACCTGCTCTTGCTCAATTTCTTCATTCAGCCAGCTACCCCACTCCGGGAAAGTGCTCAGGATCCAG
+GACTCACGGGTGATACTTTTCACTTTACTCATCGCCATTTACCTTCGTGATAGTTCAATTCGAATCAATA
+TGTGATTGGTTTTGATTAATCCTGACACTATTTTTTCAGGAAGGCAATGACCATTTTTTGACTTTTTAGC
+AGGAGAGTTATTGTGGATTTTGAGTGTGGAAAGATTAAATTGAATGTGTAATGCAATTAACTAAATGAAT
+TTAAATGAATAAATATTTCATTATGTGAATCCCATTCTGTTTATATGGAATTATTTGCGTGCGACGTCAC
+ATTTAATCATAAATAATCTTGTTGTGATTACTTTTGAAAATTAGAGTGAGAGCACAACATTCCGGGTGTG
+CGAAATACCCGGTTACCTCTTCTTCAGGAGATCGTTATGGAGATCCTCTACAACATCTTTACCGTGTTTT
+TTAACCAGGTCATGACCAATGCCCCGTTGTTGCTGGGTATTGTGACCTGTCTGGGTTACATCCTACTGCG
+CAAAAGTGTCAGCGTTATTATTAAAGGTACGATTAAAACCATAATTGGTTTCATGTTGTTGCAGGCAGGG
+TCCGGCATCCTGACCAGCACCTTCAAACCGGTGGTGGCGAAAATGTCCGAAGTCTACGGCATTAACGGCG
+CAATTTCCGATACTTACGCGTCGATGATGGCAACCATTGAACGCATGGGCGATGCCTATAGCTGGGTGGG
+TTACGCGGTGTTGTTAGCGCTGGCGCTGAACATCTGTTACGTGCTGCTGCGTCGCATTACCGGTATTCGT
+ACCATCATGCTGACTGGTCACATCATGTTCCAGCAGGCGGGGCTGATTGCCGTTACGCTGTTTATCTTCG
+GCTACTCCATGTGGACGACCATTATCTGCACCGCGATTCTGGTTTCGCTCTACTGGGGCATTACCTCCAA
+CATGATGTACAAGCCGACACAGGAAGTCACCGACGGCTGTGGTTTCTCCATTGGTCACCAGCAGCAGTTC
+GCATCATGGATTGCTTATAAAGTCGCACCGTTCCTCGGCAAAAAAGAGGAAAGCGTTGAAGACCTCAAAC
+TGCCTGGCTGGCTGAATATTTTCCACGACAACATCGTCTCCACGGCGATTGTCATGACTATATTCTTTGG
+TGCCATTCTGCTCTCCTTTGGTATCGACACCGTGCAGGCGATGGCAGGCAAAGTTAACTGGACGGTGTAC
+ATCCTGCAAACCGGTTTCTCCTTCGCGGTGGCGATTTTCATCATCACTCAGGGCGTGCGCATGTTTGTGG
+CGGAACTCTCTGAAGCATTCAACGGTATCTCCCAGCGCCTGATCCCGGGTGCGGTTCTGGCGATTGACTG
+TGCGGCTATTTATAGCTTCGCGCCGAACGCCGTGGTCTGGGGTTTTATGTGGGGCACCATCGGGCAACTG
+ATTGCGGTTGGCATCCTGGTCGCCTGTGGCTCTTCAATCCTGATTATTCCAGGCTTTATCCCGATGTTCT
+TCTCCAACGCCACTATCGGCGTGTTCGCTAACCACTTCGGCGGCTGGCGCGCGGCGCTGAAAATTTGTCT
+GGTGATGGGGATGATCGAAATCTTTGGTTGCGTCTGGGCGGTGAAACTCACCGGTATGAGCGCCTGGATG
+GGCATGGCGGACTGGTCGATTCTGGCACCGCCGATGATGCAGGGCTTCTTCTCCATCGGTATCGCCTTTA
+TGGCCGTCATCATTGTCATTGCACTGGCTTATATGTTCTTCGCTGGCCGCGCACTGCGTGCAGAAGAAGA
+TGCAGAAAAACAACTGGCAGAACAATCTGCTTAATAAGGAGTTTTGATTATGACCGTACGTATTCTGGCT
+GTGTGTGGTAACGGACAAGGCAGTTCCATGATCATGAAAATGAAAGTGGACCAGTTTTTAACCCAGTCGA
+ACATCGACCACACGGTAAACAGCTGCGCGGTTGGCGAATACAAAAGCGAGTTGAGCGGTGCGGATATCAT
+CATCGCTTCTACCCATATTGCGGGCGAAATCACCGTGACCGGCAACAAATATGTGGTTGGCGTGCGCAAC
+ATGCTCTCTCCTGCTGATTTTGGCCCGAAACTGCTGGAAGTGATCAAAGAGCATTTCCCGCAGGACGTGA
+AGTAAGGACGCGCCATGAAATTACGTGATTCGCTGGCTGAAAATAAATCTATCCGCTTGCAAGCGGAAGC
+AGAGACATGGCAGGACGCAGTGAAAATCGGCGTTGATCTGCTGGTAGCGGCAGATGTGGTAGAGCCGCGT
+TACTACCAGGCGATTCTGGATGCGGTTGAACAGCACGGCCCGTACTTTGTGCTCGCACCCGGCCTGGCAA
+TGCCGCATGGACGCCCGGAAGAGGGGGTTAAGAAAACTGGTTTTGCGCTGGTGACGCTGAAAAAGCCGCT
+GGAGTTCAACCACGAAGATAACGATCCGGTGGATATCCTCATCACCATGGCGGCGGTTGATGCCAACACT
+CACCAGGAAGTGGGCATCATGCAGATCGTCAACCTGTTTGAAGATGAAGCCAATTTCGACCGTTTACGTG
+CCTGCCGTACCGAGCAGGAAGTACTGGATCTCATTGACCGCACCAACGCGGCAGCTTAAGAAGGAATTGA
+ACATGTCATTACCGATGTTGCAAGTCGCGCTGGACAACCAGACTATGGATAGCGCCTACGAAACCACTCG
+CCTGATTGCCGAAGAAGTCGACATTATCGAAGTGGGCACCATTCTTTGCGTAGGCGAAGGCGTGCGTGCG
+GTTCGTGACCTGAAAGCGCTGTACCCGCACAAAATCGTACTGGCTGACGCCAAAATTGCCGATGCAGGCA
+AAATCCTTTCTCGCATGTGCTTCGAAGCCAACGCTGACTGGGTGACCGTAATTTGCTGTGCGGATATCAA
+CACCGCCAAAGGCGCGCTGGACGTGGCAAAAGAGTTTAATGGCGACGTGCAGATCGAATTGACCGGCTAC
+TGGACCTGGGAACAGGCGCAGCAGTGGCGCGACGCAGGCATTGGGCAGGTGGTTTATCACCGCAGCCGTG
+ACGCGCAGGCCGCAGGCGTGGCATGGGGCGAAGCGGATATCACCGCGATCAAACGTCTTTCCGATATGGG
+CTTCAAAGTTACCGTCACTGGTGGTCTGGCGCTGGAAGATCTGCCGTTGTTTAAAGGCATTCCGATTCAT
+GTGTTTATCGCTGGTCGCAGCATTCGTGATGCCGCTTCTCCGGTGGAGGCCGCACGTCAGTTCAAACGTT
+CCATCGCTGAACTGTGGGGCTAAGGAGCGGATATGTTGTCCAAACAAATCCCGCTTGGCATCTACGAAAA
+AGCACTCCCCGCTGGGGAGTGCTGGCTGGAACGACTGCAACTGGCAAAAACGTTAGGCTTCGATTTTGTC
+GAGATGTCGGTAGATGAAACGGACGATCGCCTTTCGCGCCTCGACTGGAGCCGCGAGCAGCGTCTGGCGC
+TGGTGAACGCGATTGTTGAAACCGGCGTGCGCGTGCCGTCTATGTGCCTTTCTGCTCATCGTCGTTTCCC
+GCTGGGCAGCGAAGATGACGCGGTGCGGGCGCAGGGGCTGGAGATTATGCGTAAAGCTATCCAGTTCGCC
+CAGGACGTCGGCATTCGCGTGATCCAACTGGCGGGCTATGACGTTTACTATCAGGAAGCCAATAACGAAA
+CGCGTCGTCGTTTCCGTGACGGCCTGAAAGAGAGCGTTGAGATGGCAAGCCGTGCGCAGGTCACGCTGGC
+GATGGAGATCATGGATTACCCATTGATGAACTCCATCAGCAAGGCGCTGGGCTACGCACACTATCTCAAC
+AATCCGTGGTTCCAGCTCTACCCGGATATCGGCAACCTGTCGGCGTGGGATAATGACGTGCAGATGGAGT
+TGCAGGCTGGAATCGGGCACATCGTCGCGGTGCATGTGAAAGACACCAAACCAGGCGTCTTCAAAAACGT
+GCCGTTTGGCGAAGGCGTAGTGGATTTCGAACGTTGCTTCGAAACGCTCAAACAGAGTGGCTATTGCGGG
+CCGTACCTGATTGAGATGTGGAGCGAAACGGCGGAAGACCCGGCGGCAGAAGTAGCGAAAGCGCGTGATT
+GGGTGAAAGCGCGCATGGCCAAAGCAGGCATGGTGGAGGCGGCATAATGCAAAAGCTGAAACAGCAGGTG
+TTTGAAGCCAACATGGATTTACCGCATTACGGGTTGGTGACCTTTACCTGGGGCAACGTCAGCGCTATTG
+ACCGTGAACGCGGGCTGGTGGTGATCAAGCCCAGCGGTGTCGCCTACGAAACCATGAAAGCGGACGATAT
+GGTAGTGGTCGATATGAGCGGCAACGTGGTGGAAGGGGAGTATCGTCCGTCTTCCGACACTGCGACGCAT
+CTCGAACTCTACCGTCGTTATCCGTCGCTTGGTGGTATTGTCCATACCCACTCCACTCATGCCACCGCAT
+GGGCGCAGGCGGGGCTGGCGATCCCGGCGTTAGGCACCACGCACGCCGATTACTTCTTTGGCGATATCCC
+GTGTACGCGTGGGTTAAGTGAAGAAGAAGTGCAGGGCGAATACGAGCTAAACACTGGCAAAGTGATTATC
+GAAACGCTGGGTGACGCCGAGCCGCTGCATACGCCGGGAATTGTGGTGTATCAGCACGGACCGTTCGCCT
+GGGGGAAAGATGCCCACGATGCGGTGCATAACGCGGTGGTGATGGAAGAAGTGGCGAAAATGGCGTGGAT
+TGCGCGCAGTATTAACCCACAACTGAATCACATCGACAGCTTTCTGATGAATAAACACTTCATGCGTAAG
+CACGGTCCTAACGCTTATTACGGGCAGAAGTAAAACACGCGCTGCGGAAATTTCCTTCTTCGGGAGATAA
+CTGGTCTAATTCCGCAGCCGTTTTTCAAAAAAAAGCCCCCTGCGAAGGGGGCAAAGCAAACTATGGCAAT
+GTTTCGTTGGTTATACCTGGTGCTAGCGATAAATATCCGCGCTGGCGTGCATATTGCCGTTACTCCCCGG
+TTCCCGCATCAGAATTACGTGGTAGTACGTTGCGCCTTGCGCATCTGTCTCTTCATTTAATGCCTGACGT
+GCTTCACTCTCAGTGGCGAAGTTATGATTGATATAAATCACGCCTAAGCTTTGCACATCGTCCATATTTC
+TGGCCTGGTGGTTATTAATTTCAATGGCTGCCCATGTATTTGCACTTAGCAAAAGCACAGCCAGAAGGGC
+TAAAACACGACTGAACATAGATACCTCCTTGACGGCTGACTTTGTGTGCTCTCCTCTTGTGGTGATCTTC
+TGATTTAATTTTAATCAATGATAAAGAAGTTGATGGTGACCATTTCTGATGCAGTTGTTCAAAAAAACAC
+CATGACGAAGTGTGATGAACTCCAAATCAGCGGTTTAGAGGTTATTTGCGAAAGGGGCGATTTATTTCTG
+CTCAGCCCTTGAGTTTAGCGGGGTATGTCAGTATTATAACGCGTCATTTTTCAGCCGACCTTTAACACGT
+TCCTTGCCTCCCCGGGATTCGGCTGACCCAGACAGGAGGCTGAATAATCCGTAAGGAGCAATTCGATGCG
+TCATTACGAAATCGTTTTTATGGTCCATCCTGACCAGAGCGAACAGGTTCCGGGCATGATCGAGCGCTAC
+ACTGCTGCCATCACTGGTGCAGAAGGCAAGATCCACCGTCTGGAAGACTTGGGGCCGCCGTCAGCTGGCT
+TACCCGATCAACAAGCTGCACAAAGCACACTACGTTCTGATGAACGTTGAAGCTCCGCAGGAAGTGATCG
+ATGAGCTGGAAACTACCTTCCGCTTCAACGATGCCGTTATCCGCAGCATGGTTATGCGTACCAAGCACGC
+TGTTACCGAAGCATCTCCGATGGTTAAAGCGAAAGACGAGCGCCGTGAGCGTCGCGATGATTTCGCAAAC
+GAAACCGCTGATGATGCTGAAGCTGGGGATTCTGAAGAGTAATTTCTGATGACCAACCGTCTGGTGTTGT
+CCGGCACCGTGTGCAGGACTCCCCTTCGAAAGGTCAGTCCATCAGGAATTCCTCACTGCCAGTTCGTGCT
+TGAGCATCGTTCTGTGCAGGAGGAAGCCGGCTTTCACCGGCAGGCGTGGTGCCAAATGCCCGTTATTGTT
+AGCGGACACGAAAACCAGGCCATTACTCACAGTATAACGGTCGGCAGTCGCATAACCGTTCAGGGGTTCA
+TTTCATGCCATAAGGCAAAGAACGGACTGAGCAAAATGGTTTTGCATGCCGAGCAGATTGAATTGATAGA
+TTCTGGAGACTAGCCATATGGCACGTTATTTCCGTCGTCGCAAGTTCTGCCGTTTCACCGCGGAAGGCGT
+TCAAGAGATCGACTATAAAGATATCGCTACGCTGAAAAACTACATCACCGAAAGCGGTAAGATTGTCCCA
+AGCCGTATCACCGGTACCCGTGCAAAATACCAGCGTCAGCTGGCTCGCGCTATCAAACGCGCTCGCTACC
+TGTCCCTGCTGCCGTACACTGATCGCCATCAGTAATCGGTCACGGTCCATTAATACGACTTTGAGAGGAT
+AAGGTAATGCAAGTTATTCTGCTTGATAAAGTAGCAAACCTGGGTAGCCTGGGTGATCAGGTAAACGTTA
+AAGCGGGCTATGCTCGTAACTTCCTGGTACCGCAGGGTAAAGCTGTTCCAGCTACCAAGAAAAACATTGA
+ATTCTTCGAAGCACGTCGCGCTGAACTGGAAGCTAAACTGGCTGAAGTTCTGGCAGCAGCTAATGCTCGC
+GCTGAGAAAATCAATGCACTGGAAACTGTTACCATCGCGTCTAAAGCTGGCGACGAAGGTAAACTGTTCG
+GTTCCATCGGTACTCGCGACATCGCTGACGCTGTAACTGCAGCTGGCGTTGAAGTGGCTAAGAGCGAAGT
+TCGTCTGCCGAACGGCGTTCTGCGTACCACTGGCGAACACGAAGTGAGCTTCCAGGTTCACAGCGAAGTA
+TTCGCGAAAGTGATCGTAAACGTAGTAGCTGAATAATTCGTTATTCAACGAGACGTAAAAACGCCGACCA
+GTGGTCGGCGTTTTGCTTTTAAGCGATAAAAACCGCAGAAATAGACGTTCCCTCCATAAATCTCTTGCTA
+TTCCTTTTATAAAAAGTTCGCAGTACCCATACCTGGCCCCCAGCCTCGCCGCTGGTAGTTCGTGTCATGT
+TTTTTACGCGTAAAACACGACAAAAGCATCAATACAGCGATCGTCTCCCTTGTATGATAATAAAAACAAT
+ATGTTATATATGAATGCGCTGTTATTTTATTGTTTTTATATATAAAAGGATAAAATATCATCACTTTCGT
+AATCTTGAACGCTTTGCAGGTGCGTTCAATCCAATAAATGCTAATATTATGGCTATCATAGCCATAAAAA
+GATAAAATATTATCACTATGGGTAAAAAAACAGCACCGTTACTCCCTTATACGAATCAGATGCTTAGTGA
+ATTTGGTGAGCGGCTGAAACTTGCTCGTTTACGACGCAGGCTTACCGCAAAGCAAGTTGCTGAACGTGCT
+GGGATGTCGCCAATAACATTGCGCTCTCTGGAGTCAGGAAGTGCAGGGGTCACGATAGGGGCATATTTGT
+CTGTGATGCAGGTTTTGGGCCTGGAAACGGATTTAAATAAGCTTGCAGCTGAAGACGACTTAGGGCGTCA
+GCTCCAGGATTCCCGTTTGATTAAAAAAAGAGGGCTTTCTCGTTCATCAGGTAAAAATGAAGAAGGTATT
+CAGACAGACCCTTTTCAAACGAGGTATGAGAAAGAAGGTTTACTCACCACGGATTTAACAGCACTGGCAG
+AAGGCTCAACGCCATCTATTACAGGAGAAACATCAACCTCTCTTGCAGCACTATTAAAACCGATAAAAAA
+ACCGTTAAAAGGAAATTAATTATGGCATTAATCGGAGTGTATGCGGATTGGGAAGGCCTGGATGGTCCGG
+AGCGGATTGGTTATTTACACAGTCGCCGCACTCGGACGCGTGAGATATTTGAGTTTGAGTACGATAAAAA
+GGCGCTTGCAGATCCTTCACTTAATTTCATTCAGTTAGATCCTGAAATAATGTTGTATGAGGGAGCACAG
+TACCCAATTCCTCCAAAGGATAAATTTGGTGCATTTAGTGATTCCTGCCCGGATCGTTGGGGGCGTATGC
+TAATGAAGCGTCGTTTTGAGAGGGATATTCGAGACGGGTTATGTGATAAAGACTCCCACCTTTATGAGTC
+TGATTATCTACTAGGTGTTCATGATCTTTATCGGGTTGGGGCTCTTCGATACAAACGTGAAGACGCTGGA
+GAGTTTCTTGATAATCGCATTGATGTTGCAGCCCCACCATTTACCGAAATAGCGAGTCTGGAAAGGGCTA
+GCCGGGCAATTGAAGAAGATCCTGATAATAAAGAGCTAATGGGGCAAAAATGGTTAAGAATGCTAATCGC
+TCCGGGGGGATCATTAGGGGGGGGCACGTCCGAAAACCAGTGTTGTTGATGAAGCTGGGCATCTCTACAT
+CGCTAAATTTCCCAGTGTAAAAGATGAGTATGATGTTGGTGGATGGGAAATGGTCGTTAATGCACTTGCT
+GTTGGCTGTGGACTGAATGTTGCACCTGCTCAGGCGCATAAATTTGCCAGCAATTACCATTGTTTTATGG
+TTCGTCGTTTTGACCGCACTAATGCGGGAAGGCGTCTGCATTTTGCTTCGGCTATGACACTAACCAGGCA
+TCAGGATGGTGAAGATGCCTCTACAGGTGTGAGTTATCTGGAATTAGCAGATGTTCTTATCAGACATGGA
+GCGCAGACTAATACTGACCTTAAGGAACTCTGGTCCAGGATTGTTTTTAATATTCTTGTTTCTAATACCG
+ATGACCATTTACGTAATCATGGATATATCTTGATACCGGGAAAAGGTTGGCGGCTTTCTGAGGCATATGA
+TTTGAATCCTGTTGCCAGGTCTGACGGTCTAAAACTCAATATTACAGAAAATGATAATGCACTTGATTTG
+GAATTAGCTCGAGAAGTTGCGGAGTATTTTCGACTTGGTTTGACAGAAGCAGATGACATTATTGCTAATT
+TTAGAGGGATTGTCAGTCAGTGGCGAATCATTGCCGAGCGTCTTCGATTACCTGGTCGTGAGCAAGAGTT
+AATGGCAGAGGCGTTCAGGGGGGCAATTTAGAATAGTTATTTTGATATATTCGCTAAATCATAAATTTGC
+GAAGCAATGCCAGTAGATACTGAACGTTTTGGAAGAGACGTTTAATTTATGAGAAAAATAGAAACGCTAC
+AAAGCTAAATTATAGCGTTTCTATGTAAAATAATTAGCTTGTCGCTAACTGTACTTGTGGTTCTTCGTCT
+TTAACTTTGATAAGCATCCACAGCGCAATGGCGCCAATAATGTCAAAGAAAGCCAGGGCAATAAAGAACG
+GCGCGAAGCCAATAATGTGAACGAATGCCCCGATAAACAGGTTGAAAATCAACTGACCGCTCCATGCACA
+GGCTCCTGCCATACCCACAGCGGTAGCTACTTCGTCTTTTTTGAATAGGTCACCGCCCAGAGTTGCTGCA
+ACAGTAGAAAGACATTGATGCGAGAATGCGCCAATGCTAATCAGTAATACGGCGATGTAGGGATTTTCGA
+CAATACTCACCAGACCAATCGTCATCATAATGACGGCTGCAATAGTGAAGGTAATTCTTCGTGAGTTAAT
+TAAACTCACGCCGCGATCGTGGAAGAACTTCGCGACAAAACCACTGGCTAAACAGCCGAGATCGCCCAGC
+AGGAAAGGCAGCCAGACGAACATGGCAATTTCTTTCAGGCTAAAATGCAGCGTTTCGACGAAGAAAATCG
+GTACCCAGAAGTTAATGGTTCCCCATGCCGGGTCAGCGAGAAAACGCGCGATGCCAATCCCCCAGAAATT
+ACGTTGGCTGAGGATATGCTTGATTGACGTTTTTTCTTTCTTATCTGTTTTAAGATGCTGTTCTTGTCCA
+GACTCAATATAGTGGCGCTCTTCATCAGAAAGGCGTTTAGCATCTTTTGGATCTTTATAACAAAAGAACC
+AAAATAAAGCCGCGAGTAAAGCAAGGCTACCTGAGACAATAAACGCAAATTGCCAGCTATGAAACATAAT
+GCACCAGGCAATCAACGGTGGAGCAAGCATCGCGCCGAGTGAGGTGCCCATATTGAAAACACCTGTCGCC
+ACGCCACGCTCTTTTGCCGGGAACCATGTTGATGCGGTTTTTACACCCGCAGGAATTGCCGATGCTTCGC
+TGAAACCCATCAGGGCGCGCATAAATGCCAGACCTGACCATGTTCCTGTCAAGGCATGCCCCATTGTCGC
+CAGGCCCCAGATTGCGGCACATATCGCAAAACTTAACTTCAGACCCACGGTATCAATAAAGAAGCCCATT
+ATCGGTTGCCCCAATGTATAGGCCAACTGGAATGCACTGACAATCCATGAATATTGTTCTTTGGTTATTC
+CGGTTGTCTCCATAATCGTTGGAGCCGCAATACCTAACGCCGTTCTGTCCAGATAATTGATTACAGTGAT
+AAAGCATACGAGGGCAATCATATGCCATCGATAATTCTTTATTTTATTCATTTTTAAACCTTTTAATTAT
+ATTAATAAACCCTGGTTGTTGGTATTTCCATGTAATAGGCAATAAAAATCAGGTACAGAGGAAATATTGA
+AAATTATTGTGTGTAAATGTCTCCCTTTAAAAAGTCTGGCCAGTTTTTTTCAAAATAAATACCGTTAATA
+CACGGTTGAATACGTAAAGACTTTACTTCGGTAATAAAAGAACCTTGCGAATATTGAATTGTTAATTTGT
+GATTTTTGTCTTCAGCGAGTTCAGAGCGAAAACGCCATTCTTCTTTTGCGCCGCGACGAGTTTGTGGTAG
+GCATTTGCCTTGTGGATCAATAACCATACGCGCCCCACGGCTACCACCACCAGCATCAATATAATGCGTT
+AATTGTGTTAATACCGCGGCAGAAGTCAGCGCCATATGCCGCCACATAAACAGCTCGGCAACTTCACCCA
+CATGTTTGATTGCCAATCCATGCCGTTGCACAAATTCGTTCAATAGCAGGGCATCACGAGTGGCACGTCG
+GACTTTATCGGCATGGCAAATAAATCCCGCATAGTCAGACATTCGTGCCTGAATTTTTTCTCTCACAACC
+GACAACGGCATCCCGGACCCGTTATCGTGCGCCTGAGTAATGATCTCTCTTATAGAAGCCAGTGCCGGAG
+CTGCCAGCTGTGCAATATCTCCATCAATATTCCGCTTTTGCGTGCAACCAATAAAGCGCGCCAGACGAAC
+AGCAAAAACCTGCCCGGCATTCAACGCCGCGCCGCCAGGTCGGGTGACGCCGTGTGTGCCAGCAACTTCC
+CCCACCGCAAAACAACCGGGCAGAGATGTTTGTCCCCAGATATCGACTTCAATGCCGCCATTCATGTGCT
+GATTATTCATGGCAAACTGCAATGGCTGCGTGATGAGATCGTAACCGTGCATCTTATACAGCGAGATAGA
+CAGAGGATTCATTTGTTGCAGGCGTTCGATGGGCGATGGTGCCAGAGCGTCGTTATTTTCCAGATACGCG
+CGAACGTCGTCGTCCAGTCGATCTAATGAGAACGGCAGGTCACCCGGCACAGGTTCTGGATTACGATTGA
+AATCCATAAATACCTGACGACCATGTTGCTGCTCTTGCGCTACTGCCATATCTAACAAGCTGGAGCCAAA
+ATCCATTACCCGCGTGGCGTGGAACGGCCACTGATAGCCTTTACGGAAAATGTTTGAAGCCAGCTCCTGG
+GTGGTGCGATAGTAATCCGCGAGGAAGTTATACTCGTTACCCCCGGCATCCACGGAATAGATATATGGGA
+TCACCTGTACATAGGTGCCGGACAAATTCCACGGAAACGTGCTGCGCGGTGTGCCGATACCAAACTGGCT
+TTCAGTCAGATTGGTTAGCGTCAGACCTTCCTCCAGCGCCAGCCCCAGCGAGCCGAAACATTTGTGTGGA
+TACACACTGTCGCGATAAAGCTCGCCAGGCCCTCCTGTTGCCAGTACCACATTGGGCGCAGTCACAATTG
+CCAGCCCCCATGGGTTATGGGCGCGATGACCGGTCGCGAGGATTGCCCCCGCCACGCGGTCTTCGCCGTT
+TTCGTCACGCTGATGTAGCAGTTTAATCACTGTTGCACTGGTCAACATTGGGATAGCAAGACGCTGTACT
+TCTTCCAGCAGCACTTTCACCATTAACCTTGAGGTACGCGGCCCACACGAGGTTGCACGCCCGGCTTCGT
+CGTGGTCGGTTTGATAACGAAGAATCGCGCCATAGCGATCTTCCGGTAATTCCAGACCAAGATATTGCAA
+CCCGCCAAGAGTGTGCAGAGAACCTACCGCTTCAACATAAGCGGTGTCGTGATCCATCGCCCCACCGCTC
+GCCAGTGCCTCTGCCAGTTTGGCGAAGTTGTCGCCGTTGCCCGCGGTAGCGGCGGTAAACAGTGTTTGTT
+TATCAGAGCCAGAACATGCCGACGTCCCCATATATAACCCGGCGGTGGCGATTAACACATTTTGCTGGCG
+GCGTTTAAGTTCCACAGCTGCACGTAGCCCGGCTGCACCACTGCCGACTACCAGGGCATCTGTTTTCCAG
+AGTGGGTAATCAACACCGTCTACCGTGACAACCCATGCGGGTTCTGCCTGTGCAAAACCCTTTGGGAAAG
+TAACGTGTGTCAGTGCATCAAGGATGGCCTCATCAAGCTGACTCATGCATCCTCCATTGGCGTAAACAGG
+CTACTTTCCATCAGGCGTGGGTGCCTGATAATCGGACGGAAGGCCATATACGGCAGAATGTCGCGGTCAA
+TCTCTACGCCAGGGGCGATCTCAATTAATTCAACGCCTTCTGCCGTTAACTGGAATACCGCACGTTCGGT
+GATATACAGCACTTCCTGACTGCTTTGCTGTGCGTATGCGGCGCTAAAAGTAATTTTTTCCACCTGGGTA
+ACCAGTTTGGGGATTTGACCTGACTGGGCGATATGCAGGCCATCAGGCGTTACATCAATCTTGCTGCCTT
+TGGCGTCAAACGTACCGCAGAACACCACTTTACGGGCGTTTTGCGCAATTTCGAGGAAGCCGCCGGGGCC
+AATGAGATTGCCATTGAGATGGGATACGTTGACGTTACCGTACCGATCCATCTCTCCCATGCCGAGGAAG
+GTGATATCGATACCGCCGCCACTGTAGAATTCGAATTGATCGAGTGATGGAATAATGGCATCGGCGTTAC
+GGGCGCAGCCGAACAGAGCATCATCCAGCATCATGCCGTTATGCACACCCTGTTCTACACTCAGCCACAA
+ACTTTGATAAGGCACGCCTTCGCGCAGCGCAACCCCAGGAATACCGCCCGGAATACCAAAGCCAAAGTTG
+GTTGAAGCGCCTGCCACCAGTTCCCGCGCTGCCCGACGGGCAATCAGGCGACGCACCGGATGACTAACCA
+GTTCAATAGCGTCGTTAGAACTTAGACGGCGATGTTGACCGCTGATGGTCAGGTCGTAACCGCCAAGATA
+GGTTTGCGGTTGTTCGCGGTGCTCAACGATGCCATCGACCAGAATTCCTGGTAGTTTGACCCGACGTGGT
+TCGATGGTACCTGCTTCCAGCACATCGCGGACCTGTACGAACACTTTGCCGCCGCTGTTGTGTGCTGCCA
+GCGCCATCGAATAGCTATCCATATCAATCGCCTCTTCTTCGAGGCTGACGTTGCCACGCGGATCGGCATA
+GGTGCCGCGCAAAATCGCGTAGTCCACTTTGAAAGGGCGATAACGAAGTTTGGTCTCACCGTCGATTTCA
+ATCAGTTCTACCAGGTCGTCGGTCGTGCATTCATTCGACTTACCGCCGCCATTGCGTGGATCAACAAACG
+ATCCCAGCCCAACGTGGGTAAAAAGCCCCGGACGTCCGGCACCGATCTCCCGCAGCAGTGCCTGAATTAC
+GCCACCAGGGAAACAGTAGGCTTCAATAGCATTGCTTTTCACCAGTTCCTGCATCTTGGGCGACCAGGTA
+AAATGTCCGGCAATAATGCGTTTGAGCATTTCGGCGTGAGCAAAACGGTTAGTGCCTTTGCTGTCGCGAT
+CGCCAATACCCAGCGAGTGGATTAATGTCAGATCGCGCGGGTGTCCGGTTTGCAGGAAACGCTCTTCAAT
+GGCGGCCATAATATGGTCAGCTTCCACCATACCGCCGCCGTTACCGCTAATGGCAATGGTTGCGCCGTCC
+TGAATTTGCGCCGCCAGTGTCTCGGCGGTTGATAACTTACGCATACAATTTCCTTATTGATTGTGGAAGC
+TCACGCCGGCTTTTTCGGCAAATGCGTGCGTCGCCTGTTGGCAATCCTGAGTGGCGGACATTAATCCAGC
+CAGTAACTGGTGGGAGTAATCGGCGTGTTTATTTTCCAGCGCCAGAATCAGTTGCTTAATATGTGCCAGT
+GCCACCGGACCACATTTTTCCAGCTGCGCTAACTGGTTCGCCATCCAGCTTTCCACCTGTTCTTTTTCTA
+CCACTTCATCAATTAAATTCGCCACCTGAGCTTCCTGCGCCGTCAGGCGTTTACCCAGCATCAGCATCTG
+GCGACCGACCACCGGGCCAACCTGATTAAGCACGCGTTCAATGCCCATCCAGCCAGGCACCATGCCGAGC
+ATCACTTCCGGGTTAGAGAATTTCGCGCCGGGGCGAGCGATACGAATATCGCAGCACAAGGCAAGTTCAA
+TACCGCCACCGATGGTATGACCGTTGAGATTCGCAACGGTTAATTGGGGTAAGTTGCGCAGGCGATTAAA
+AACCTCGTTACCGCGTTTAATCCATTTTCTGCCCATATCTAATGGCGAATAGGCCGACCACGATTTAATA
+TCGCCGCCCGCACAAAAGAATTTATCGCCGGTTGCCGTTAATTCGACTAATCGTAATGTGGTGTCGTTTT
+CAATTTCATTTAAATAATGGTCGAGAGATTCGATCATTTCTTCATTAATAGCATGACATTTATCTTCACG
+GTTCAATGTCAGGCGGCAAGAAGCCGCCGCTCTGCTGAACAGAACGGGTTGGTCATTCATGATCATTCCT
+TAACAATAATGCGCGATGCGATCGACGCTAATATCCAGCGTGCTGTTAATATCTTTCTGCCACCAGTACG
+GTGAGAATATTTCCAGTTCAATAGCGCCATTAAATCCGGCGTTTTCAACCAGCCGACGAATTGACGGAAT
+ATTGATGACACCATCTCCCGGCATTCCACGGTCATTGACCAGATCGGTGGTCGGCACTAACCAGTCGGAA
+ACATGAAACGCGAGGATGCGTTTTCCGGCACGCAGGATCTGACTGGCGAGATCCGGGTCCCACCAGACAT
+GGTAGACATCTACCGCCACGCCGAGGCCAAATTCGCCATCGGGATCGAGTTCATCACACCAGTCCAGCGC
+CTGACGTAACGTGCACAGACAAGAACGATCGGCAGCAGTCATCGGGTGCAGTGGCTCCAGTGCAATTGGC
+ACGCCGACCTCTTTCGAATGTGGCAGCAACTGGCGAATCCCTTGTTTCACCTGTTCCCGTGCTTCGTACA
+GATCTTTTGTTCCCATTGGCAGACCGCCAACCACCTGCATATAACAGGCGGCGTTCAGTACAGCGGCGTC
+GTCCAGCGCCCGGCGGTTATCGTCAATCGCCAGTTTGCGCTCCGCCAGCGTCGGTGCGGTGTAGTAGGTG
+CTACGGCACAAACCGGAAACGTTCATGTTACTGGCAGCAAGCTGGCGGGCGATTTGCTGGAGATCTTCAC
+TCTGCAACTCCCTGCGCCAGGGGGCAATCGCGCCAATACCGCGTGCGGCGCAGGCATCAATAATGGCGGG
+TAGCGGCGTTTTATAGCCCAGTGTCGCGGTATTGATACTGAATAAATCCGGGCGTTGTAACAGATCTCTC
+ATGATTCAGCCTCAGAAGCGCGGCATACTTAAGCCACCGTCAATGGCGACCGCCTGACCACAGGTGTAAA
+TAAGTTTACCTTCCGCCATCGCGCGGACAGTGGAAGCAATATCCGCCGGATAACCCCAACGTCCCCACGG
+CACCAGACCTTTGGCAATCAGTTCGTCGTAATAGGCCGTTGCCGGAATAGTCATATCGGTTTTGATGAGA
+CCAGGACGCACTTCATATACGCCAATTTGTTCATTACAAAGGCGAGCAGCAAACAGACGAGCAGCGGCAG
+AGACGGCAGTTTTGGCAATGGTATATTCGCCGCGATTCATCGCCAGCATGATGGCGTTGATGGAACTGAC
+AAAAATAATCGAGCGGTGCGGCAGTTCTGCTTCCGGTTTCGGCTGTGCCAGTAAGCGCTTACTGAATGCC
+TGAGCAAGGAAGAACGGTGCGCGGGTGTTAATGGCAATATTTTGGTCGAAGCTGTCTGGTTCGAGGTCGA
+GAAGGTCACCGCGTTTTTTCACTGAAATGCCTGCGTTGTTGAGCAGGCAGTCCAGACGTCCCCACTGGTT
+TTGCGCTGCGTCGAGCATCTCTTCATGCAGGGAGAGATCGCCCACATCAGCAGGGAAGCAAATCACTTCC
+ACGCCTTCCGCCAGACATTCTTGTTGTGTGGCATGTAATTTTTCTACGCTATCCGCATCCGGACGATCAT
+TAATCAGCAGATTAAATCCGCCACGCGCAAGCTCCAGCGCACAGCCCTTTCCAATACCACGAGCGGCTCC
+GGTAATCACGGCAACAGGACGAGTGGATTTCATACAATAGCTCTCTTTTTTTGAATTTTGTTTCCTTAGT
+GATGATTAGCTTGCGACTGGAGGATAAAAAGATCAACCATCTAGTTGGTTGATATGCGATGGCGATCACA
+GGACATTTGATAACCTGATGAAAGTACAAGTTTTTGCCCTTTTTTCTGAAGCTGAAATCAAATCAGGTTA
+TGATAGTCACCACGAAGAGGTCGTGGGGAAGCGTTATGTATCTTGATACCAGCAACGTACAGAGCCTGAA
+AGAAAAGCTGCTGTTATGCGCGGTTAATGAATTTGCCGAATATGGTTACGAAGGGGCCAGAGTCGATAAT
+ATCGTCAAGGCCGCGGGGTGCAGTAAACAGACGGTTTATCACCACTTTGGTAATAAAGAAAATTTATTTA
+TCGAAGTACTGGAATATACCTGGAACGATATTCGACAAAAAGAAAAGGCCCTTGATTTCTCAGATCTTCC
+GCCACAGAAAGCCATTGAGAAAATAATCGATTTTACATGGGATTATTATATTTCTAATCCCTGGTTTTTA
+AAAATTGTGCATAGTGAAAATCAAAGTAAGGGTGTGCATTATGCAAAATCACAGCGTCTTTTAGAAATTA
+ACCATGCGCACTTGCAGTTAATGGAATCCTTATTGGATGAAGGGAAGAAACAAAATATTTTTAAGCCAGA
+TATCGACCCATTGCAGGTGAATATTAATATTGCTGCGCTTGGGGGATATTATTTGATCAACCAGCATACG
+CTTGGCCTGGTTTATCACATCAGTATGGTTTCACCCCAGGCACTGGAAGCCAGACGTAAGGTCATCAAAG
+AGACAATCCTTAGCTGGCTTTTGGTTGACCCTTCATCTACCGCGCGCGAATAAAACTGCCATCCGGCTGG
+CGGGTAAACAGGACCTGTTGATTATTCCCCGTATCAATGGTTAAGCCCGTCACCACGCCGCTGGCGTTCT
+GGCGGATTTTCACCATCTGCCCGTTTTGCAAATTACTCAGTGGCTTATCCGCGCCTTCTACCTGCGCCAT
+GGCATAGACATCGGTAGCGGGCAGTCCGTGGTCGCGGAACAGCTGCGCCATCGTTTTACCGGGTTCGACA
+CGATAGGAGCGCCATTGATTATCAATTCCGCTATCTGGCTGGAATGGTTGCGTATGGGTGGTTTGCGGCT
+GTTCTTCTGGCTGGCCTTCCTGTATTGGTTCTGGAGCGACCGGAGCCACCTGATCAGGATCATTTTGTGG
+CGTAACTAATTGCGCCCGCAGCTGTTCTTCTGTCGGTGGTTGTGATTGCGACTGAATATCTAACTGTGCT
+TCACGCGTCACCACCGGCGCGTTGGGCGTATCATCAGATGGAAGCAGAAATCCGACCACCAATACAATGG
+CGGCAATAATGATCCCCCGACGATGCATCGGCGGCAGCGGGTCCATGAAGCGAAAATTGTCCGGCGCGTG
+CCAGACTTTCTCCAGGGTTGGTTTTAGTTCAAAGCGCCCGGGCATGGTTTCCTCCTGCTCCGCGTCTTGT
+TCCTCAATCATAGCCTATGAATAAGCTAACGCTATGATGTCCGTGGTAAACCCGCCTTTATTATATTCAT
+ACGGGATATTGCTATTGTTTCTTTTTCCCCGGGATTTGTCATCATTCCCGCGACAAAGTTTTACCCAAAG
+AAGTGTGGCTGATATGCTGCCCGCTACTTTATACCCTAAGAAAGGAAATACGATGACCACCCCAACTTTT
+GACACCATCGAAGCGCAAGCAAGCTACGGCATTGGTTTGCAGGTAGGGCAACAACTGAGTGAATCTGGCC
+TGGAAGGGCTGCTGCCAGAAGCACTGGTTGCAGGCATTGCCGATGCGCTGGAAGGCAAACATCCGGCTGT
+TCCGGTTGATGTGGTGCACCGCGCGCTGCGTGAAATCCACGAACGCGCCGATGCCGTTCGTCGTCAGCGT
+TTCCAGGCGATGGCTGCTGAAGGTGTGAAATACCTGGAAGAAAACGCCAAAAAAGAAGGTGTAAATAGCA
+CCGAATCTGGCCTGCAATTCCGCGTGATCAACCAGGGCGAAGGCGCAATTCCGGCACGTACCGACCGCGT
+TCGTGTTCATTACACCGGAAAACTGATCGACGGCACCGTGTTTGACAGCTCCGTTGCTCGCGGCGAGCCA
+GCTGAATTCCCGGTTAACGGCGTGATCCCTGGCTGGATTGAAGCACTGACTCTGATGCCGGTAGGTTCTA
+AATGGGAACTGACTATCCCGCAGGAACTGGCATATGGCGAGCGTGGCGCAGGCGCGTCCATCCCTCCGTT
+CAGCACCCTGGTGTTTGAAGTCGAACTGCTGGAAATCCTCTAAGCAGCGCATTCTGTTCCCCTCGAACCA
+GAGGGGAGCAGGCATTCAGCAATAAACCCTTCAGTTTGCCAAACGGCGCTATTTTATGTTGCAAAGACCC
+TGTAAGCGTGTATTTTTGTGAGCTGTTTCGCGTTATCACCGTGATATGACACTCACTTTAAACATAAAAT
+TAACATTAGATCTAAATCTTAGTATTCATCCCGCGTATTGTTACCTAATATCGATGAGTCCCGATACAGA
+TTCGTCGTATCATAGACTGACTAAAGGCCGTAGAGCCTGAACAACACAGACAGGTACAGGAAGAAAAAAA
+CATGGTAGATCAGGTAAAAGTCGTTGCCGATGATCAGGCTCCGGCTGAACAGTCGCTACGGCGCAATCTT
+ACAAACCGACATATTCAGCTTATTGCCATTGGCGGTGCCATTGGTACAGGGTTGTTTATGGGGTCCGGCA
+AAACGATTAGCCTTGCCGGGCCGTCGATCATTTTCGTTTATATGATCATCGGTTTTATGCTCTTTTTCGT
+GATGCGGGCAATGGGGGAATTGCTGCTTTCGAATCTGGAATACAAATCTTTTAGTGACTTCGCTTCCGAT
+TTACTCGGGCCGTGGGCAGGATATTTCACCGGCTGGACTTACTGGTTCTGCTGGGTTGTAACCGGTATGG
+CAGACGTGGTTGCCATTACCGCCTATGCGCAATTCTGGTTCCCTGGGCTTTCTGACTGGGTTGCTTCGTT
+ATCCGTGATCATTCTGTTACTGGTTCTAAACCTCGCCACGGTAAAAATGTTCGGTGAGATGGAGTTCTGG
+TTTGCGATGATCAAAATCGTCGCCATAGTGTCGCTGATTGTTGTCGGCCTGGTCATGGTGGCGATGCACT
+TTCAGTCACCGACCGGTGTGGAAGCATCATTTGCACATTTGTGGAATGACGGCGGCTGGTTCCCGAAAGG
+CTTAAGCGGCTTCTTTGCCGGATTCCAGATAGCGGTTTTCGCTTTCGTGGGGATTGAGCTGGTAGGTACA
+ACAGCTGCGGAAACCAAAGATCCGGAGAAATCACTGCCACGCGCGATTAACTCCATTCCGATCCGTATCA
+TTATGTTCTACGTCTTCTCGCTGATTGTGATTATGTCCGTGACGCCGTGGAGTTCGGTAGTCCCGGAGAA
+AAGCCCGTTCGTTGAACTGTTTGTGTTGGTAGGTTTGCCTGCGGCTGCCAGCGTGATCAACTTTGTGGTG
+CTGACCTCTGCGGCGTCTTCCGCTAACAGCGGTGTCTTCTCTACCAGCCGTATGCTGTTTGGTCTGGCCC
+AGGAAGGTGTGGCACCGAAAGCGTTCGCTAAACTCTCTAAGCGCGCAGTACCCGCGAAAGGGCTGACCTT
+CTCCTGCATCTGCCTGCTCGGCGGCGTGGTGATGTTGTATGTGAATCCCAGCGTGATTGGCGCGTTCACG
+ATGATTACAACCGTTTCCGCGATTCTGTTTATGTTCGTCTGGACGATTATCCTTTGCTCGTACCTGGTGT
+ATCGCAAACAGCGTCCGCACCTGCATGAGAAATCAATCTACAAGATGCCGCTCGGCAAGCTGATGTGCTG
+GGTATGTATGGCGTTCTTTGTGTTTGTTCTGGTGTTGTTGACACTGGAAGATGACACCCGCCAGGCGCTG
+CTGGTTACCCCGCTGTGGTTTATCGCGCTGGGGCTGGGCTGGCTGTTTATTGGTAAGAAGCGGGCTGCTG
+AACTGCGGAAATAACCGCATTATCATGCTGGATGGCGCAATGCCATCCAGCTTTTAGATCACTCACCCGC
+CAGCGCGCGCGGGAACAGCACATTGTTTTCCAGGCTGATATGCTCCATCAGGTCATCAATTAGTTCATTA
+ATGCCGTTATACATCGCTTTCCAGGTGGTGCAGGCTTCTGGCGGCGGTGTGACGTTATTGGTGGTGTGTT
+TAATTACTTCCAGCAGTTCGCCCGCTTCATCGTGCTCGCTTTCCATTACGCTGATTGGCCCCATTGCCTG
+GCTGCCCATGCCTTGTTTGATCATTGGGAAGAGGATTTGCTCTTCTTTCATCATGTGGCTGGAAAGCTCT
+TCATGCAGCATAGTCAGGTATTTTGTCAGCCCTTTTGGCACACTTGGTTTGTCGGCGTGAACGCGCTCGA
+CTTTAGTCGCTTGCAGGATCAGCTCCGGCAGTTGCTCGCGGTGGCGATCGTGGTAGCGCACGATGATATG
+GTCGATGATTTCTGCCAGCGGGGCGCTACGCCAGTCTTTCTCAATCGGTTGTTCAGCGAGCTTTGCCAGC
+TCAGCTTCAATGACCTCAACATCCAGCTCTTTACGTGCCGCCGCACGCGCCAGCGTTTGCTTACCGCCGC
+AGCAGTAATCCATATCATATTTACGAAACAGAGCCGAAGCGCGAGGAATAGAGAGCGCCAGTTCACCTAA
+AGGTTGGTCGCGATAAGCCATAGCTGATACCTCATTCTTAATAAGATAAGATGCATTTTAAATGCATCTT
+TAAGGCAAAAGCTATAACCCTTACGTAGCAGAGGCTTATTTAACTCACTGCCAGCGTGTCAACTTTCTGA
+GACAGATTCAGTTAAAGGTTTTTCTGGTTTTGCTCTGACCGCGATGACCACGCCAATCACTAACAGCGCG
+ATACCGCTCAGCGTCATTAGCGGCGGCATTTGCTGGCGGAGTAAAAAGGTGTACAGCAAACCTGCCAGCG
+TTTCGAAAACAATCAGCGGCCCGAGAATCACTGTCGGTAATCGCTGGCTGGCGACGTTCCAGCAGAGTGC
+GCCAACCCATGAGCAAAGCACGGCTATCGCAACCATCAGACTAATAAACACCAGCGGACGGGGGCCAAAG
+GGTAAGGAGAAGTCCGGCGTTTGCATATTCAGCCAGTAACAGGCGACGAGATAGCCGATGAGAGAAACCG
+GCGGCGTGACCAGCGCCTGCGCCGTCGCCCACATCATCGGATGTTTGTCGGGATTTTCCCGCAGCCAGCG
+GGCGTTGCGCAGGGCATACCATGCCCAGCAGACCACGGAAACTAACGCTAGCACGATGCCTGAGGTATAA
+CGTGCCCAGTCAAAATCGGGGAGTCCGTGGTTTAACTCAGCAATATTCACACACGACAGGCCGATGCCAA
+TACAAACCAGTGCCGGGGCGAGTTTTCCCCATGCGAGTTTGCCGTCGCGCTGGCTATAAAGCAGATTGGC
+AAAAACGGGAATCACCACCGGCAGGGTGCCGATAATCATCGTGGAAACAGGCGCGCCAGTACGTTGAATG
+GCACTTGCAAGGCAGAAGTAATAGATAAGGTTGCCCATCATGGTGAGCATCAAGGCGGTAAGCCAGTCGC
+GACGCGCCAACTGACGCAGACGCACGCGTCCCAGCCAGGCAATGGGCAGCGCAATTAACCCTAGCGCCAG
+GTAACGGCCCATCGACTGTAACATCGCCGGGTATTCCGGCACGATCAACGGCCCGACAGAAATAAGCCCC
+CACATCAACCCTGCTAACAGGGCGTACAGCACGCCGCTAATCATCACTGGCATCCACTGGTCTGTCAGAA
+GAAATATTCAGGAAGCAGACATGATTGCTCCCGGCATCCCGTCATTATCAGAGAGGATGCGGGAGGATGC
+CACTTTAATTAACTAGTTATTAACATTAAAAAGATGGCTTACGCTTTCGGCTAACGTTGTCGTTGGGCGG
+CCAATCAATTTGCTAAGCGTTTTGCTGTCATCAAACAGACCGCCTTTCGATGCGCCAACGTCAGAATCCG
+CCAGCATATCCGCCAGTCCATCAGGCAGTCCGACGCTTTTCAGCGCCGCAGCGAAATCGGCTTCGCTCAG
+ATTTTGATAGGTAACCGATTTTCCGCTCTGTTTGGTGAGTTCTGCCGCTAACTGTGCCAGCGTCCAGGCA
+CTATCGCCCGCCAGTTCGTAAACCTTGCCTTCGTGACCGGCTTCGCTAATTACGCGTGCCGCAGCTACCG
+CATAATCAGCCCGCGTTGCTGAGGCAATTTTGCCATCGCCAGCGGCACCGATAAATACGCCGTGTTCCAG
+TGCTGCCGGGGCGCTGGCGAGGTAGTTTTCGGTGTACCAGCCGTTGCGCAGCAGGGTGTAAACGATGCCA
+GAATCAGCCAGCATTTTCTCCGTCTCGATGTGCTCATCGGCGAGGCCGAGCGGGGAGGAATCGGCATGTA
+GCAGGCTGGTATAAGCGATAAATTTCACGTCGGCCGCCTTTGCGGCATTAATAACATTACGATGCTGCGG
+GGCACGTTGACCCACTTCGCTGGAAGAGATCAGCAGTAGTTTTTCCACTCCCTGAAGCGCAGATGTCAGT
+GCGGCTTCATCGCCGTAATCAGCCTGACGCACGGTAATGCCTTGTGCTGTCAGTGCCTGTGCTTTTGCCG
+GATTACGAACGATAGCCACTATTTGGCTGGCAGGAACCGTTTTCATCAAGGATTCAATAACATAGTGACC
+AAGTTGGCCAGTGGCACCAGTAATAGCGATCATGGGAAGTCTCCATCGTTTTGTCTTGTGTTTAAATACG
+CTAACACTTAAACTTACTTTTAGTAAGTACGTACAAAAAGGTAAGTATGAAATGAGTCAGATTAGCCTGT
+CGCAACAACTGAAAGAGGGAAATCTCTTTGCGGAACAGTGCCCGTCGCGCGAGGTGTTGAAACACGTCAC
+CAGCCGTTGGGGGGTGTTGATTCTGGTGGCGCTACGCGAAGGTACTCATCGCTTTAGCGACCTGTGGCGC
+AAAATGGGCGGGGTGAGTGAAAAGATGCTTGCGCAGTCGTTACAGGCATTAGAACAGGATGGTTTTCTTA
+ACCGTATCGCGTATCCGGTGGTGCCGCCGCATGTGGAATATAGCCTCACGCCGCTGGGCGAGCAGGTGAG
+CGAAAAGGTTGCTGCACTGGCGGACTGGATTGAGTTGAATTTGCCCGAGGTGTTAGCGGTGCGGGATGAA
+CGTGCGGCATAACTGCCGGATGCGCTGCGCTTATCCGGACTACGGTTCATGGCTTGTAGGGCGGATAAGA
+TGCGTCAGCATCGCATCCGCCAATAAATGCCGGATGCGGTTGATGATTTGTAGGCCGAAAAAGAAGTGTT
+TTACTTACTCAGATCCACCTGATAAATCGCAAACCCGATATCATCGGTCGCGACTTTATTCATCGGATAC
+TGCCCTTTCTCTTTAATAAACGCTGCGGCTTTATCTGACGGAGAGGTTTCGAAACGGATATCCAGTTTCT
+TATCGCCAGCTATCGGTGCTAAACGCCAGTTGTTATCTGCCGCCGGGTGAATTTCCCCCGCACGTTTCGA
+CTCATCAGCAATCCACGCTGCCAGCACCGAGCGGTTCTCATCCGGTGAAGCAAAAGCGATATGGCTGTCG
+CCCGTACCGGCAAATTTGCCGCCGTAAGCGCGATAGTTATTGGTGGCAACGAGGAACATGGCGTTCGGAT
+CAATCGGCTTGCCGTTAAAGGTCAGGTTCTTAATCCTTTCCGCATTGGCATTAATCATCTGGCACTCGCC
+GTCATAACGGGCGGGCTGGGTAACATCAATCTGATAATTCACACCATCAATAACATCAAAGTTATAGGTG
+CGGAAACCATCCCAGTTGATGAGTGACTGTGGTTTCGTGCTGTTAGGATCAATCTGGTTAAACTGTCCGG
+CGGAGCACTCCAGCCACTCTTTCACCTCTTTACCGCTGGCTTTCACCACAATCAGCGTATTGGGGTAGAG
+ATAAAGATCGGCGGCATTACGGAAGGTCAACTGGCCTTTTTCCACCTCCACATAGCTTGCGGGGTCATTT
+TTGCGACCACCAACTTTAAACGGTGCGGCAGCTGAAAGCACTGGCAGTTTTGCCAGATCCGGATCGCCCT
+GAATGTAATGCTCGACATACGCTTTTTGCGCGTTGTTCACCACCTGCACGGTCGGATCGTCCTGCACAAG
+CGCCAGATAGCTATACATATTGTCGGCAGATTTACCGATTGGCTTGCTGACGAACTGGCGTGTGGCATCG
+TGATCGGCTTTGAGTGTTTCTACCAGCTTGCTGTCTTCCGCCGCGAGGGATTTTTTATTCGCGATGTCGT
+AAATCGGCCGTGCTTCCGCTTTCGCCTGCGTCACCTGCCATTTACCGCTGTCATTACTGAGTTGTAAGTC
+GACCACACCAAGATGATCGCCCCACATGCCTGGCATTACCGCCGGAACACCATTCAGCGTGCCTTTCGCG
+ATATCAGCCCCTTCGATATCAGCAAAATCTTTACCTGGGAAAACGGCGTGAGCATGGCCAAACATAATGG
+CGTTAACGCCCGGAATTTCACTGAGGTAATAAACTGAGTTTTCCGCCATCACTTTATACGGATTGGCAGA
+CAGCCCGGAATGCGCCAGAACGACAACGACATCGGCACCTTTCTCGCGCATTTCAGGCACGTATTTGCGC
+ACGGTTTCGGTAATATCATTCACCGTCACTTTCCCGGATAAATTAGCTTTATCCCAGCCCATGATTTGTG
+GCGGGACGACGCCAATATAACCAATCTTCAGCGTCTGTTTTTTTCCGTCTTTATCGACCACTTCGGTGTC
+TTTAATTAAATACGGTGTAAACATTGGCTGTTTGGTTCTGGCGTCAATGACGTTGGCATTTACATAAGGG
+AATTTCGCTCCCGCCAGCGCATTTTTCAGATAATCCAGACCGTAGTTAAACTCGTGGTTGCCAAGCGTGC
+CGACGGTATAGTCCAGCGTATTTAATGCCTTATAGACCGGGTGAATATCACCTGCTTTTAATCCTTTCGC
+CGACATGTAATCTGCCAGCGGACTCCCCTGAATCAAATCGCCGTTATCGACCAGTACGCTGTTTTTCACT
+TCATTGCGGGCATCGTTAATCAGGCTTGCCGTACGTACCAGTCCGAATTTTTCCGTGGCGGTGTCTTTGT
+AATAATCGAAATCCATCATGTTGCTATGCAGATCAGTGGTTTCCATGATACGCAGATCGACCGTCGCTGC
+ATTCACACTGGCGGCAATCAGCGTGGCCAGGAGCGTTGCGCTAAACTTAATCATCAGGGACATCCTTTTA
+TCATCGGGAATACGAAAGAAAAGGGAGAATAAACGTCTTACTTATAGAACAGTGAAGAATGCCACAATTT
+TACGCTTTGAAAATGATGACACTATCACAGTTGGCGCATTCATTAACGATAGGGTATAAGTAAAACAATA
+AGTTAACACCGCTCACAGAGACGAGGTGGAGAAATGTTAGATCAAGTATGCCAGCTTGCACGGAATGCAG
+GCGATGCCATTATGCAGGTCTACGACGGGACGAAACCGATGGACGTCGTCAGCAAAGCGGACAATTCTCC
+GGTAACGGCAGCGGATATTGCCGCTCACACCGTTATCATGGACGGTTTACGTACGCTGACACCGGATATT
+CCGGTCCTTTCTGAAGAAGATCCTCCCGGTTGGGAAGTCCGTCAGCACTGGCAGCGTTACTGGCTGGTAG
+ACCCGCTGGATGGTACTAAAGAGTTTATTAAACGTAATGGCGAATTCACCGTTAACATTGCGCTCATCGA
+CCACGGTAAACCGATTTTAGGTGTGGTGTATGCGCCGGTAATGAACGTAATGTACAGCGCGGCAGAAGGC
+AAAGCCTGGAAAGAAGAGTGCGGTGTGCGCAAGCAGATTCAGGTCCGCGATGCGCGCCCGCCGCTGGTGG
+TAATCAGCCGTTCCCATGCAGATGCGGAGCTGAAAGAGTATCTGCAACAGCTTGGCGAACATCAGACCAC
+GTCCATCGGCTCTTCGCTGAAATTCTGCCTGGTGGCGGAAGGACAGGCGCAGCTGTACCCGCGTTTCGGG
+CCAACGAATATTTGGGATACCGCCGCTGGTCATGCTGTGGCTGCAGCTGCCGGAGCGCACGTTCACGACT
+GGCAGGGTAAACCGCTGGATTACACTCCGCGCGAGTCGTTCCTGAATCCGGGGTTCAGAGTGTCTATTTA
+TTAATTAATTTATGCAGCAGGTCCATCACTTGCTGCACCTCTTCCTGAGTAAGCGCCCCGTCTTTGGCCC
+ATTGCACGCGACCGTCTTTATCCAGCACCACTACAGCGGAACTTTCTTCATCCAGCTGCCAGGCACCGCG
+TGCGACGCCATTGCTATCAACAATAAACTGCGACCAGGGATAAAGCTTTTTATTACTCTCCAGACTGCTG
+CGCACAAACATCCCTGAACCCGGAATCGCGTCGTCGGTGTTAACAATGGTGGTGGTCTGGTAACGATCGT
+GCGGTAACTTCGCTGATTTAATCGCTTCAATCAGCGTCGCGTTTTTCTCTTTTGCAGAGGTGCGACCAGC
+AATATGTTGCAGTACTCGCACTTTTCCCACTAACTGCGCGCTGTTCCAGGTTTTGTAGCTAAACTGATCT
+TTATCAAGCACCAACTCGCCACGATCGGTGATGCCAATCGGCGGCACTCGCTGACCGGTTTCGAACTGAT
+GTGCGGAAGCCATCATCGGCAACAGCAGGCAGGTGAGTGCCAGAATCTTGCGTAGGGTCATGGTGTTTCC
+TTCTTATGATATGCAGGTGATCCGACCACTTGGGTCTGAGTTTTAATCATATGTGCTATTTATCGAATTT
+CCCGCAAGTGTGATGCCAGTTTGCGGTCAAGCGCACAAATCATATGAAAAATGAATGCTTATACTGAAGA
+CCGCGCTTCGGTAAAAAGATAATTCTGAATAATTGTAACCTTTAGGTAAAAAAAGTTATACGCGGTGGAA
+ACATTGCCCGGATAGTCTATAGTCACTAGGCATTAAAATTTGCGCCTCATAATAGTTGGGCTGATTGTGG
+CACCGCAAAGGCGTAATACTCAGCAGGAGATAACAATGAAAATTTTCCAACGGTACAACCCACTTCAGGT
+GGCGAAGTACGTAAAGATCCTGTTCCGTGGACGGTTATACATCAAGGACGTTGGCGCTTTTGAATTTGAT
+AAGGGTAAGATTCTTATCCCAAAAGTGAAGGATAAGCTGCATTTGTCAGTGATGTCCGAAGTTAACCGTC
+AGGTTATGCGTCTGCAAACAGAGATGGCTTAACCAAAGTGCTATGCAGTAAAAAGTGCTATGCAGTAATA
+AGACGGCTCCTGATTCAGGAGCCGTTGATGTTTCTGGGGTTATGCGACGCTTTCTTCTTTATCTTTAGCG
+TCAGGCAGTTTTGGCGAAAGGGCGGTGGCTTTGCTGTCGATTCGGGTCACCAGCAGCTGGTCGATGCGGT
+AGTTATCGATATCCACCACTTCAAATTTGTAGCCGGCGAATTTCACCGAATCGGTGCGTTTCGGGATCTT
+ACGCAGCATAAACATCATAAAGCCGCCGATGGTTTCGTAGTTGCCCGACTGCGGGAACTCGTCAATATCC
+AGCACGCGCATGACGTCGTCAATAGGCGTGCCGCCGTCTATCAGCCATGAGTTCTCATCACGGGCGACAA
+TTTGCTCTTCCAGCCCCTGGCCGACCAGATCGCCCATCAGCGTGGTCATCACGTCGTTGAGGGTGATGAT
+CCCCACTACCAGCGCGTACTCGTTCATGATCACCGCGAAGTCTTCACCTGCGGTTTTAAAACTTTCCAAC
+GCCTCTGAAAGGGTTAACGTATCCGGCACAATCAGCGTGTTGCGAATTTGTACGCCGCTGTTCAGTGCCA
+GGCTTTGGTTAGCCAGCACGCGGTTCAGCAGGTCTTTAGAATCGACATAGCCGATGATGTGGTCAATATC
+TTCATTACAGACGAGAAACTTAGAGTGCGGATGTTCCGCAACCTTATTCTTCAGACTTTGCTCATCTTCG
+TGGAGATCAAACCAAATCACGTTTTCACGCGGTGTCATTGAAGACGGAACGGTACGGGATTCCAGCTCAA
+AGACGTTTTCAATCAGCTCGTGTTCCTGTTTACGTAACACGCCCGCCAGCGCACCGGCTTCCACTACCGC
+GTAGATATCATCAGAAGTGATGTCATCTTTACGTACCATTGGCAGTTTGAAAATACGGAAGATTATGTTC
+GCCAGTCCGTTGAAGAACCACACCAGCGGGGTGCAAACGTACAGGCAGAAGCGCATCGGGTTGATGATAC
+GCAAAGCCACAGCTTCTGGCGCAATCATACCGATGCGTTTCGGGGTTAAATCCGCAAACAGGATAAACAT
+GCCAGTCACTAACGAGAAAGAGAGAATAAAGCTCAGTTGCTCAGAGAGTTCTGCCGACATATAGCGGGAG
+AACAGGCTGTGAAAAGCTGGAGAAAATGCCGCATCACCGACGATACCGCCGAGAATCGCCACTGCGTTCA
+GACCGATTTGGACCACGGTAAAGAACATGCCGGGATTTTCCTGCATATTCAGAACGCGTTGGGCATTTAT
+ATTGCCTTCATCAGCCAGCAGTTTAAGTTTGATTTTGCGTGAGGCGGCAAGCGAGATCTCGGACATCGAG
+AAGAACGCACTTACAGCGATCAAACAGAGTATGACTAAAATACTGTTTAACATATCTTATCCGACCTTTC
+AGGCCAGATCCTCGGAAGGGGAAGTTGATTAATTTGTGTGAAATACACATTGAAAGCCGATTCGAAGAAA
+GTGAACCGGCATTTTCAGTGGCTAGTATAGCGTAAGGTACTGTAAAGCCGCCAGAGGGTTAAAATTCAGA
+CAGCTGAAAAATGAAAAACTGCCTGATGCGCTATGCCGAACAGGCCTACGCAGTCCCCGCAATATATTGA
+ATTTGGACGATTTTGTAGGCCTGGCAAGGCGTTTACGCCGTATCCGGCATAAACAAAATGCACTTTATCA
+ACAATCTACATTTGTACCCGTAACGCTATGCTTCCGGCGGCAGACAGACGCCAATTCCGCCAATTCCACA
+GTAACCATACGGGTTTTTATGCAGATATTGCTGGTGGTCATCTTCGGCATAATAAAACGGTGTGGCGTTA
+GCGATTTCCGTGGTGATGCGACGATCGTCATCGGCGGCAAGCATCGCCGCCTGAAAACGTTCCAGACTGG
+CGCGAGCGGCGGCATCCTGTTCTGGGGTCAGCGGATAAATCGCTGAACGATACTGCGTGCTGTGGTCATT
+GCCCTGACGCATTCCCTGGGCGGGATCGTGATTCTCCCAAAATACTTGTAGCAACTGCTCATAGCTGATG
+ACGGATGGATCGTAAACAATGCGCACCGCTTCGGCATGGCCAGTATCGCCGGAGCACACTTCCCGATAAG
+TCGGATTTGGCGTATAGCCGCCGGTATAGCCTGCGGCGGTGCTGTAAACGCCGGGTAACTGCCAGAACAG
+ACGCTCCACACCCCAGAAACAACCCATCGCAAAAATGGCAATCTCCATTCCGTCAGGTACATTGGTCATT
+GAGTGACCGTTGACCGCATGCAGTGTGGCTACGGGCATCGGGGTGTTACGTCCAGGCAGGGCATCGGCGG
+GGGAAACCAGATGCTTTTTATCAAATAAACTCATGGTGTCGCTCTCCCGAAAATCGGTCATTGGGGTTAA
+GGTTGTAACAAGAGGCGTATTTGCACACAATAACCACCGTGAATAGGTCTAAAGTAAAACATAAGAAATA
+TTTTGGGTTTAGTCTGCTTTTTAATCCATATTACTGGATTTTTGTTAAGCCGTTTAACGGCGTTCCAGGG
+GCAGGAAAAAAAGGATATTCAGGAGAAAATGTGCGCTATATCCGACAGTTATGCTGTGTAAGCTTACTCT
+GCTTAAGCGGATCTGCCGTCGCCGCGAACGTCCGTCTACAGGTCGAGGGGTTATCGGGACAGCTGGAAAA
+GAACGTTCGCGCGCAGCTTTCTACGATTGAAAGTGATGAAGTGACGCCAGACCGTCGCTTTCGCGCACGC
+GTCGATGATGCCATCCGCGAAGGTCTGAAAGCGCTGGGCTATTACCAGCCGACCATTGAATTTGATCTCC
+GTCCACCGCCAAAGAAAGGGCGGCAGGTATTGATCGCCAAAGTCACGCCAGGCGTGCCGGTGTTAATTGG
+CGGCACCGATGTGGTATTGCGCGGCGGCGCGCGGACCGATAAAGACTATTTGAAATTGCTCGATACTCGC
+CCGGCTATTGGTACGGTACTGAACCAGGGCGATTATGAAAATTTCAAAAAGTCCTTAACCAGCATTGCGT
+TACGTAAAGGTTATTTCGATAGCGAATTTACCAAAGCACAGCTGGGCATTGCGCTCGGCCTGCATAAAGC
+CTTCTGGGATATTGATTATAACAGTGGCGAACGTTACCGCTTTGGGCATGTGACCTTTGAAGGATCACAA
+ATCCGCGATGAATACCTGCAAAATCTGGTGCCGTTTAAAGAGGGCGATGAGTACGAATCGAAAGATCTGG
+CAGAACTGAACCGTCGACTTTCTGCTACCGGCTGGTTTAACTCGGTGGTGGTGGCTCCACAATTTGATAA
+AGCGCGCGAAACGAAAGTATTACCATTGACGGGCGTGGTTTCGCCGCGAACAGAAAACACCATCGAAACC
+GGCGTCGGTTACTCTACGGACGTGGGACCGCGCGTGAAAGCGACGTGGAAAAAGCCGTGGATGAACTCTT
+ACGGTCACAGTTTGACCACCAGTACCAGTATTTCCGCGCCGGAACAGATCCTCGACTTCAGCTATAAAAT
+GCCGCTGCTGAAGAATCCGCTGGAACAATATTATTTGGTGCAGGGCGGTTTTAAGCGCACTGACCTGAAC
+GATACCGAGTCTGACTCCACTACGCTGGTGGCTTCTCGCTACTGGGATCTCTCCAGCGGCTGGCAGCGTG
+CCATTAACCTGCGCTGGAGTTTCGACCACTTTACCCAGGGTGAAATTACCAACACCACGATGCTGTTTTA
+TCCTGGGGTGATGATTAGCCGCACGCGTTCTCGTGGTGGCCTGATGCCAACCTGGGGCGACTCGCAACGC
+TACTCTATCGACTACTCCAACACGGCCTGGGGCTCGGATGTTGATTTCTCCGTTTTCCAGGCGCAGAACG
+TCTGGATCCGCACACTGTACGATCGCCATCGTTTTGTGACACGCGGCACGTTGGGCTGGATTGAAACGGG
+TGATTTCGACAAAGTACCGCCGGATCTGCGTTTCTTCGCCGGTGGCGATCGCAGTATTCGCGGCTACAAA
+TACAAATCTATCGCCCCGAAATACGCCAACGGTGACCTGAAAGGGGCCTCGAAGCTGATAACCGGATCGC
+TGGAATACCAGTACAACGTGACCGGAAAATGGTGGGGCGCGGTGTTTGTCGATAGCGGCGAAGCGGTAAG
+CGATATTCGCCGCAGCGACTTTAAAACCGGTACCGGTGTCGGCGTGCGCTGGGAATCGCCGGTCGGGCCA
+ATCAAACTCGATTTTGCCGTACCGGTCGCGGATAAAGACGAACACGGGTTACAGTTTTACATCGGTCTGG
+GGCCAGAATTATGAGTTTATGGAAAAAAATCAGCCTCGGCGTGGTTATCGTTATCTTACTGTTGCTGGGA
+TCGGTGGCGTTTCTGGTGGGCACCACCAGCGGCCTGCATCTGGTATTTAAAGCGGCGGATCGCTGGGTGC
+CAGGACTGGATATTGGCAAGGTCACCGGCGGCTGGCGTGATCTCACCTTGTCTGACGTTCGTTATGAGCA
+GCCAGGCGTGGCGGTAAAAGCGGGCAATCTGCATCTGGCGGTCGGGCTTGAGTGCCTGTGGAACAGTAGC
+GTTTGTATTAATGATCTGGCGCTGAAAGACATTCAGGTCAACATCGACAGTAAAAAAATGCCTCCTTCTG
+AACAGGTTGAAGAAGAGGAAGATAGCGGTCCGCTGGATCTCTCCACGCCGTATCCCATTACCCTGACACG
+GGTGGCGCTGGACAACGTCAACATCAAGATTGATGACACCACGGTATCGGTGATGGACTTCACCTCCGGC
+CTCAACTGGCAGGAGAAAACCCTGACCCTGAAACCGACATCGCTGAAAGGCCTGTTGATTGCTTTGCCGA
+AAGTGGCGGAAGCGGCGCAGGAAGAAGTGGTCGAACCGAAAATTGAAAATCCACAGCCGGAGGAAAAGCC
+GCTCGGCGAAACGCTGAAAGATCTCTTTTCTCGCCCGGTATTGCCGGAAATGACCGACGTGCATTTGCCG
+CTTAACCTGAACATTGAAGAGTTTAAGGGCGAGCAGCTGCGCGTGACGGGCGACACGGACATCACCGTGA
+GCACCATGCTGCTGAAAGTGAGCAGCATTGACGGCAATACTAAACTGGACGCCCTGGATATCGACTCCAG
+TCAAGGGATCGTCAACGCCAGCGGCACGGCGCAGCTGTCAGACAACTGGCCGGTGGATATCACCCTCAAC
+AGCACACTGAACGTGGAGCCGTTGAAAGGTGAAAAGGTGAAGCTGAAAGTGGGCGGTGCGCTGCGCGAAC
+AGCTGGAGATAGGCGTTAACCTTTCCGGTCCGGTGGATATGGATTTACGCGCCCAGACGCGACTGGCGGA
+AGCCGGATTGCCGCTCAACGTGGAAGTGAACAGCAAACAGCTTTACTGGCCGTTCACTGGTGAGAAGCAG
+TATCAGGCGGATGATCTGAAACTGAAACTTACCGGCAAAATGACCGATTACACGCTCTCTATGCGCACGG
+CTGTTAAGGGCCAGGAGATCCCGCCAGCCACCATTACCCTTGATGCCAAAGGTAATGAACAGCAGGTCAA
+TCTCGACAAACTTACCGTCGCGGCGCTGGAAGGGAAAACGGAACTTAAGGCGTTGCTCGACTGGCAGCAG
+GCCATTAGTTGGCGCGGTGAGCTAACGCTTAACGGCATTAACACCGCCAAAGAGATCCCGGAGTGGCCGT
+CGAAACTCAATGGCTTGATTAAAACCCGCGGTAGCCTGTACGGCGGCACCTGGCAGATGGAGGTGCCAGA
+ACTGAAGCTGACCGGTAACGTCAAACAGAACAAAGTGAACGTTGACGGCACGCTGAAAGGCAACAGTTAT
+ATGCAGTGGATGATCCCAGGGCTGCATCTGGAACTGGGGCCAAACAGTGCCGAAGTGAAAGGCGAGCTGG
+GGGTAAAAGATCTCAATCTTGATGCCACCATCAACGCGCCGGGGCTGGATAACGCGCTGCCGGGGCTTGG
+CGGTACAGCGAAAGGGCTGGTGAAAGTACGCGGCACGGTGGAAGCGCCACAACTACTGGCAGATATCACC
+GCGCGCGGCCTGCGCTGGCAGGAACTTTCCGTGGCGCAGGTTCGCGTGGAAGGCGACATTAAATCCACCG
+ATCAGATCGCCGGGAAACTCGACGTACGCGTTGAGCAAATTTCGCAACCGGATGTAAATATCAACCTCGT
+CACCCTGAATGCCAAAGGCAGTGAAAAGCAGCACGAGCTACAGTTGCGGATTCAGGGCGAGCCTGTCTCC
+GGGCAGCTTAATCTGGCAGGAAGTTTTGATCGCAAAGAAGAACGCTGGAAGGGAACTCTTAGCAATACCC
+GCTTCCAGACGCCGGTCGGCCCGTGGTCGCTGACCCGCGATATTGCGCTGGATTACCGCAATAAGGAGCA
+AAAAATCAGCATCGGGCCACACTGCTGGCTTAACCCGAATGCGGAACTGTGCGTGCCGCAAACTATCGAT
+GCGGGTGCCGAAGGGCGTGCGGTGGTGAATCTCAACCGCTTCGACCTGGCCATGCTGAAACCATTTATGC
+CAGAAACCACTCAGGCCAGCGGTATCTTCACGGGTAAAGCGGACGTTGCCTGGGACACCACGAAAGAGGG
+GCTGCCGCAGGGCAGTATCACCCTTTCGGGGCGTAATGTGCAGGTGACGCAAACCGTCAACGATGCGGCG
+CTGCCCGTGGCGTTTCAGACGCTGAATCTGACGGCGGAGTTGCGTAACAACCGTGCCGAATTGGGCTGGA
+CCATCCGCCTGACCAATAACGGCCAGTTTGATGGTCAGGTGCAGGTGACCGATCCGCAAGGCCGCCGTAA
+TCTTGGTGGCAACGTCAATATCCGTAACTTCAACCTTGCGATGATAAACCCCATCTTTACCCGTGGGGAA
+AAAGCCGCGGGGATGGTGAGTGCCAACTTGCGTCTGGGTGGTGATGTGCAAAGCCCGCAGTTGTTTGGTC
+AGCTTCAGGTTACGGGGGTGGATATCGACGGCAACTTTATGCCGTTTGATATGCAACCGAGCCAGCTTGC
+GGTCAACTTTAACGGTATGCGCTCGACGCTTGCAGGTACCGTGCGGACCCAGCAGGGTGAAATCTACCTG
+AACGGTGATGCCGACTGGAGCCAGATTGAAAACTGGCGGGCGCGGGTAACAGCGAAGGGCAGTAAAGTGC
+GTATCACCGTGCCGCCGATGGTACGAATGGATGTATCGCCAGATGTTGTATTCGAGGCTACACCAAACCT
+GTTTACCCTCGATGGTCGCGTGGATGTTCCGTGGGCGCGCATCGTGGTGCACGATCTGCCGGAAAGCGCA
+GTAGGCGTTTCCAGCGATGTGGTGATGCTTAACGATAACCTGCAACCGGAAGAGCCGAAAACGGCGTCGA
+TTCCGATTAACAGTAACCTGACTGTCCACGTTGGCAACAATGTGCGCATTGACGCCTTTGGCCTGAAAGC
+GCGGCTGACGGGCGATCTCAACGTCGTTCAGGACAAACAAGGGCTGGGCCTGAACGGGCAGATCAACATC
+CCTGAAGGGCGCTTCCATGCCTATGGTCAGGATCTGATTGTGCGTAAGGGTGAGCTACTGTTCTCTGGTC
+CGCCAGATCAACCGTATCTTAATATCGAAGCTATTCGTAACCCGGATGCTACAGAAGACGACGTCATCGC
+CGGAGTTCGCGTCACTGGTCTGGCGGACGAACCGAAAGCGGAGATCTTCTCTGACCCGGCGATGTCGCAA
+CAAGCTGCATTGTCTTATTTGCTACGTGGACAAGGGCTGGAGAGCGATCAGAGCGACAGCGCGGCGATGA
+CCTCGATGCTGATTGGCCTGGGGGTTGCGCAAAGTGGCCAGATTGTGGGTAAAATCGGCGAGACGTTTGG
+CGTAAGCAATTTAGCGCTCGACACCGAGGGAGTTGGCGACTCCTCCCAGGTGGTGGTCAGCGGCTATGTA
+TTGCCAGGCCTGCAAGTGAAATACGGCGTGGGTATATTTGACTCTATAGCAACACTCACGTTACGTTATC
+GCCTGATGCCTAAGCTATATCTGGAAGCCGTGTCTGGTGTAGACCAGGCACTGGATTTGCTCTATCAGTT
+CGAGTTTTAGCAATGCGAATATTTGTCTACGGCAGTTTACGCCACAAACAAGGCAACAGTCACTGGATGA
+CCAATGCCCAGTTACTGGGCGATTTCAGTATTGATAACTACCAGTTGTATAGCCTGGGCCACTATCCAGG
+CGCAGTTCCGGGGAACGGAACAGTACACGGTGAAGTTTATCGTATTGACAACGCCACGCTGGCCGAACTT
+GATGCCTTGCGCACCAGGGGCGGTGAATACGCGCGCCAGTTGATTCAGACGCCGTACGGGAGTGCATGGA
+TGTACGTTTATCAACGACCCGTCGATGGATTAAAGCTAATTGAAAGCGGCGACTGGTTAGACAGGGATAA
+GTAATAATAAAAGCACGCCACCTTCGGGTGGCGTTGTTTTATGCGATGTATCTCGCGATTTTTTTTGTAA
+CTTTCCCATCTTTTGCTTTTCTCTCCGGGCCGCTTTCCATATCTGCAATCGCATAAAAAACTCTGCTGGC
+GTTAACAAATGTGCAGGGGTAAAACGGGGGCACGCTTTGAACGGTGAGTATGAGTGAGGCCGGCTAACTT
+CCAGCAAGTGGCTATGAACAGCAAAATGGTGGTCGAGCTTAGCTTGTTCTTACCGTTCAAGCCTTTCAAC
+TGCTGAAAATAATAATAGTGGAGTAGAGAGTTTATAAATTGCGGGCATAAAAAACCCTTACTAACCGAAG
+CCCGGTGTTCAGGGTTATTGCGCCAGAAGAACTTATTTATTCTTGGCGCGCTCGAAGGAAGCAACGATTT
+CAGCTTTAGCGGCTTCTGCGTTTTCCCAACCTTCAACTTTAACCCACTTGCCTTTTTCGAGGTCTTTGTA
+GTGCTCGAAGAAGTGAGCGATTTGCGCTTTCAGCAGCTCTGGCAGATCGTTAACGTCTTTAATGTGATCG
+TATTCTTTGCTCAGCTTGGTGTGCGGAACAGCAATCAGTTTCGCATCTTCACCGGCTTCGTCGGTCATTT
+TCAGTACGCCAACCGGACGGCAGCGGATCACAGAACCCGGCTGCAGCGGGTACGGAGTCGGGACCAGTAC
+GTCAACCGGGTCACCGTCCAGAGACAGAGTGTGGTTGATGTAACCGTAGTTGCACGGATAGAACATCGCG
+GTGGACATGAAGCGGTCAACGAACAGTGCGCCGCTCTCTTTGTCGATTTCGTATTTGATTGGATCTGCGT
+TAGCCGGGATCTCAATAACAACGTAGATGTCTTCCGGCAGATCTTTACCCGCAGGGACGTTGAGTAAGCT
+CATGTCTGTTTCCTTTAAAAATATGTGGCAAACAAGTGCCGAGTATTATAGCCAACTCGCGCCGAATGTC
+TTCGCTTGTTTTCGTCTTCATTTTCCTTTTTCGCCAGTTTTAAGACGGTATACAGAGCAGGAAAATCCAT
+AACCGTAGCCGCATTTTTCATAGTGAGATGAAAGCGATTACAAACTTGTGATTAACGTTTTATTTACTTT
+TTTGAAGTGTGATGTAACGCAATCCGTTACATAACGAATTGTCTATAGTTTTTTCGCGAACATCTTTTCA
+CCAATAATAATTACCCCGACGAGGACAACCCTATGTGGAAACGCTTACTTGTAGTCTCTGCAGTCTCGGC
+AGCCATGTCGTCTATGGCGTTGGCCGCTCCATTAACCGTAGGATTTTCGCAGGTCGGATCGGAATCCGGC
+TGGCGCGCCGCAGAAACCAATGTGGCGAAAAGTGAAGCCGAAAAACGCGGTATCACACTGAAAATTGCCG
+ATGGTCAGCAAAAGCAGGAAAACCAGATTAAAGCGGTACGTTCCTTCGTCGCACAAGGGGTGGATGCGAT
+CTTTATCGCTCCGGTGGTGGCGACGGGTTGGGAACCGGTATTAAAAGAGGCGAAAGATGCCGAAATCCCG
+GTCTTCTTGCTTGACCGTTCCATCGATGTGAAAGACAAATCTCTCTATATGACCACTGTCACCGCCGACA
+ACATCCTCGAAGGCAAGTTGATTGGTGACTGGCTGGTAAAAGAAGTGAATGGCAAACCATGCAACGTGGT
+GGAGCTGCAGGGCACCGTTGGGGCCAGCGTCGCCATTGACCGTAAGAAAGGCTTTGCCGAAGCCATTAAG
+AATGCGCCAAATATCAAAATTATCCGCTCGCAGTCAGGTGACTTCACCCGCAGCAAAGGCAAAGAAGTGA
+TGGAGAGCTTTATCAAAGCGGAAAACAACGGCAAAAACATCTGCATGGTTTACGCCCATAACGATGACAT
+GGTGATTGGTGCAATTCAGGCAATTAAAGAAGCGGGCCTGAAACCGGGCAAAGATATCCTGACAGGCTCT
+ATCGACGGCGTGCCGGACATCTACAAAGCGATGATTGATGGCGAAGCGAACGCCAGCGTTGAACTGACGC
+CGAACATGGCAGGTCCTGCTTTCGATGCGCTGGAGAAATATAAAAAAGACGGCACCATGCCTGAAAAGCT
+AACCCTGACCAAATCCACCCTTTATCTGCCTGATACCGCAAAAGAAGAGTTAGAGAAGAAGAAAAATATG
+GGGTATTGAGGGTTGCTATGCCTGATGCCGATTCGTAGGCCGGATAAGGCGCTCGCGCCGCATCCGGCGG
+TGGTGCGCTGAAGCCTGATGCGACGCTTACCGCGTCTTATCATGCCTACTGGGAGCACGCTTTACACCGG
+GGGAAACCATGACGACCGACCAACACCAGGAAATCCTCCGCACCGAAGGATTAAGTAAATTTTTCCCCGG
+TGTCAAAGCGTTAGACAACGTTGATTTCAGCCTGCGCCGTGGTGAAATCATGGCGCTGCTCGGTGAAAAC
+GGGGCGGGAAAATCGACGCTCATCAAAGCATTAACCGGTGTATACCACGCCGATCGCGGCACCATCTGGC
+TGGAAGGCCAGGCTATCTCACCGAAAAACACCGCCCACGCACAACAACTCGGCATCGGCACCGTCTATCA
+GGAAGTCAACCTGCTACCCAATATGTCGGTCGCTGATAATCTATTCATAGGTCGCGAACCCAAACGTTTC
+GGCCTTCTACGCCGTAAAGAGATAGAAAAGCGCGCCACCGAACTGATGGCATCTTACGGTTTCTCCCTCG
+ACGTGCGCGAACCGCTCAACCGCTTTTCAGTCGCGATGCAGCAAATCGTCGCCATTTGCCGGGCTATCGA
+TCTCTCCGCCAAAGTGCTGATCCTCGATGAACCCACCGCCAGTCTCGACACTCAGGAAGTAGAGTTACTG
+TTTGGCCTGATGCGTCAACTTCGCGATCGCGGCGTCAGTCTGATCTTCGTCACTCATTTTCTCGATCAGG
+TTTATCAGGTTAGCGATCGGATCACCGTCTTACGTAACGGCAGTTTCGTAGGCTGTCGGGAAACGCGCGA
+GCTACCGCAGATCGAACTGGTAAAAATGATGCTGGGGCGTGAACTGGACACCCACGCGCTTCAGCGTGCC
+GGGAGAACATTGCTGAGCGACAAACCTGTTGCCGCGTTCAAGAATTACGGCAAAAAAGGAACGATCGCGC
+CGTTTGATCTCGAAGTACGCCCCGGCGAGATCGTCGGTCTGGCAGGCTTGCTGGGATCAGGACGTACCGA
+AACCGCCGAAGTGATCTTCGGTATCAAACCTGCTGATAGCGGCACGGCGTTGATCAAAGGCAAACTGCAA
+ACGCTACGCTCGCCACATCAGGCTTCGGTTCTTGGCATTGGCTTCTGCCCGGAAGACAGGAAAACCGATG
+GCATCATCGCTGCCGCCTCGGTGCGGGAAAATATCATCCTTGCTCTCCAGGCCCAGCGCGGCTGGTTACG
+ACCTATTTCCCGCAAAGAGCAGCAAGAGATTGCCGAACGCTTTATCCGCCAGCTTGGCATTCGCACACCT
+TCCACCGAACAACCGATTGAATTTCTCTCCGGCGGCAATCAGCAAAAAGTGTTGCTTTCACGTTGGCTAC
+TGACCCGACCGCAATTTCTGATTCTCGACGAGCCAACGCGCGGAATTGATGTTGGTGCCCACGCCGAGAT
+CATCCGCCTGATTGAAACGCTGTGCGCCGATGGGCTGGCGCTGCTGGTGATCTCCTCCGAGCTGGAAGAG
+CTGGTGGGCTATGCCGACCGGGTGATTATCATGCGCGATCGCAAACAGGTAGCGGAGATCCCGCTGGCAG
+AGCTTTCCGTTCCGGCGATCATGAACGCCATTGCGGCGTAAGGAGAATAGTGTGATGCCTCAATCTCTCC
+CGGACACTACGCCGCCGAAAAGGCGTTTTCGCTGGCCAACAGGAATGCCGCAGCTGGCGGCACTGTTGCT
+GGTGCTGCTGGTTGATAGCCTGGTGGCCCCGCATTTCTGGCAGGTGGTGCTTCAGGATGGGCGTTTGTTC
+GGTAGCCCTATCGACATTCTTAACCGTGCGGCCCCCGTTGCGCTACTGGCGATTGGCATGACGCTGGTTA
+TCGCCACTGGTGGGATTGATCTCTCCGTAGGGGCGGTGATGGCTATCGCCGGAGCCACAACGGCTGCGAT
+GACGGTCGCGGGATTCAGCCTGCCAATTGTTTTGTTAAGCGCCCTGGGCACTGGCATCCTGGCGGGATTG
+TGGAACGGCATACTGGTAGCGATCCTCAAAATTCAGCCGTTTGTCGCCACCCTGATCCTGATGGTCGCCG
+GGCGCGGCGTGGCGCAACTGATCACCTCCGGACAGATCGTCACATTTAACTCACCGGATCTCTCCTGGTT
+CGGCAGTGGATCGCTGTTGTTCCTGCCAACGCCAGTCATTATTGCGGTGCTGACGCTTCTCCTGTTCTGG
+CTGTTGACCCGCAAAACGGCACTGGGGATGTTTATCGAAGCCGTTGGTATCAACATTCGGGCGGCAAAAA
+ATGCCGGGGTAAACACGCGGATCATCGTCATGCTCACCTACGTGTTGAGCGGGCTATGTGCGGCGATTGC
+GGGCATTATCGTGGCGGCGGATATTCGCGGTGCCGATGCCAACAATGCCGGATTATGGCTGGAGCTGGAC
+GCCATTCTCGCAGTGGTGATTGGCGGCGGATCGCTGATGGGCGGGCGCTTTAACCTGCTGCTTTCGGTGG
+TGGGGGCGCTGATTATTCAGGGAATGAACACCGGAATTTTGCTTTCTGGCTTTCCGCCGGAGATGAACCA
+GGTGGTGAAAGCGGTGGTGGTGCTTTGCGTGCTGATTGTCCAGTCGCAACGCTTTATCAGTCTGATTAAA
+GGGGTACGTAACCGTGATAAAACGTAATTTGCCACTGATGATCACCATCGGCGTCTTTGTGTTGGGTTAT
+ATCTACTGTCTGACCCAGTTTCCCGGTTTTGCTTCCACAAGAGTGATCTGCAATATCCTGACCGATAATG
+CCTTTCTTGGGATAATCGCCGTTGGTATGACCTTTGTGATCCTCTCCGGTGGGATTGATCTCTCCGTCGG
+TTCGGTGATCGCCTTTACCGGCGTGTTTCTGGCAAAAGTGATTGGCGATTTCGGCCTCTCGCCGTTGCTG
+GCGTTTCCGCTGGTGTTGGTGATGGGCTGTGCCTTCGGCGCATTTATGGGGCTTCTGATTGACGCCCTGA
+AGATCCCGGCGTTTATCATTACCCTTGCGGGAATGTTCTTTTTGCGTGGCGTCAGCTATCTCGTTTCGGA
+AGAGTCGATCCCGATAAACCATCCTGTTTATGACACGCTCTCAAGCCTTGCGTGGAAAATCCCTGGCGGT
+GGTCGCTTAAGTGCGATGGGACTGCTGATGCTGGCGGTGGTGGTTATCGGCATATTCCTCGCGCATCGTA
+CCCGTTTTGGTAATCAGGTATACGCCATTGGCGGTAACGCAACGTCGGCAAACCTGATGGGGATTTCCAC
+TCGCAGCACCACTATTCGCATTTATATGCTCTCCACCGGACTGGCAACGCTGGCGGGGATTGTCTTCTCG
+ATTTATACCCAGGCCGGATATGCACTGGCGGGCGTAGGTGTGGAACTGGATGCTATCGCCTCAGTGGTAA
+TTGGCGGTACGCTTTTGAGTGGTGGCGTTGGAACGGTATTAGGGACGCTTTTTGGCGTGGCGATTCAGGG
+ACTGATTCAGACTTACATAAACTTTGATGGCACGCTGAGTTCCTGGTGGACGAAAATCGCCATCGGTATT
+TTGTTGTTTATTTTTATAGCATTACAGCGTGGATTAACGGTGCTGTGGGAGAATCGTCAGAGTTCGCCAG
+TGACAAGAGTCAACATTGCGCAGCGATAAAAACGCCTCTCCGTGTGGAGAGGCGCAGGAGCTTACGCGTC
+CGGGAACTCACGGATAAAGCGTTCGACATCTTCAACCATATGGTCGTTGCCGACAAAGAACGAACGGCGC
+TGGTGCAGGGTTTCCGGGATAATATCCAGAATACGCTCTTTGCCATCGCTCGCTTTACCGCCCGCTTGTT
+CCGCCAGGAATGCCATCGGGTTGCACTCATACAGTAAACGTAGTTTACCGTCCGGGTGGCTGGCGGTGCT
+TGGGTAGAGATAAATACCGCCTTTCAGCAGGTTACGGTGGAAATCCGCGACCAGTGAACCGATATAACGT
+GAGGTATACGGGCGGTTGGTGGATTTATCTTCTTCCTGGCAGAATTTAATGTACTTCTTCACCCCGTTCG
+GAAACTTAATGTAGTTTCCTTCGTTGATGGAGTAGGTTTTGCCTTTCTCCGGGAAGCGCATCCGTTCCTG
+GCACAGGCAGAAAACACCCAGCGAAGGATCATAAGTAAAGGCGTGAACACCGCATCCGGTGGTGTAAACC
+AGCATAGTAGAGGAGCCGTATACCACGTAACCTGCCGCAACCTGTTTGTTACCAGGCTGGAGGAAATCTT
+CTTCCGTTACCGGCGTGCCAACAGGCGTAACGCGGCGGTAGATGGAGAAAATGGTACCGACAGAGACGTT
+AACATCGATGTTGGACGAGCCATCCAGTGGGTCCATCAGCACCACGTATTTTGCGTGTTCACAGCCTTCA
+AAGACGACAATCTCATCTTCTTCTTCAGAGGCAATGCCCGCAACGATATCGCGTGCTTTCAGTGCGGCTT
+TCAGTTTCTCATTAGCGAACAGGTCGAGTTTCTGCTGAACCTCGCCCTGCACGTTCTCAGCACCGCTGGC
+ACCCAGGATATCAACCAGTCCTGCTTTGTTGATATCGCGATGGATAATCTTGGCGCCCAGTTTTATTGCC
+GACAGCAAAGCAGTGAGCTCACCGGTAGCATGAGAAAACTCGTGCTGCTTTTCGACAATAAATTCACCTA
+ACGTTTTCATAAAACTTTCCCTGCAATGTTTATGGAGTAAAGCGACCGCAACAATCTTAACAAATAATCC
+CAATGTTGCGCTCAGGTGAATCGCGCCAGCAAATTACGGATTATCCTGAAATGCGTTTCTCACTTGCCCG
+ACATATGCGTAAAATGAGCGCCAGATTAAAAAAGGATAGTGACGTATGCGCATTCATATTTTAGGAATTT
+GTGGCACGTTTATGGGCGGTCTGGCGATGCTGGCGCGCCAGTTAGGCCATGAAGTAACGGGTTCGGACGC
+CAATGTGTATCCGCCGATGAGCACCTTACTTGAGAAGCAAGGCATTGAACTGATTCAGGGTTACGATGCC
+AGCCAGCTCGATCCACAGCCGGATCTGGTGATTATTGGTAACGCCATGACCCGTGGAAATCCGTGTGTGG
+AAGCGGTACTGGAAAAAAACATCCCTTATATGTCAGGTCCGCAGTGGCTGCACGATTTTGTGCTGCGCGA
+CCGCTGGGTGCTGGCCGTTGCCGGTACACACGGCAAAACCACCACGGCGGGAATGGCGACCTGGATTCTG
+GAACAATGCGGTTACAAACCGGGATTTGTGATCGGCGGTGTGCCGGGGAACTTTGAGGTTTCGGCGCGTC
+TGGGCGAAAGCGACTTCTTTGTTATCGAAGCGGATGAGTACGACTGCGCCTTCTTCGACAAACGCTCTAA
+ATTTGTCCATTACTGCCCGCGTACGCTGATCCTCAACAACCTTGAGTTCGATCACGCCGATATCTTTGAC
+GACCTGAAAGCGATCCAGAAACAGTTCCACCATCTGGTGCGTATCGTTCCGGGGCAGGGGCGTATTATCT
+GGCCGGAAAACGACATCAACCTGAAACAGACCATGGCGATGGGCTGTTGGAGCGAGCAGGAGCTGGTGGG
+CGAGCAAGGTCACTGGCAGGCGAAAAAGCTGACCACTGACGCTTCTGAATGGGAAGTCTTGCTGGATGGC
+GAAAAAGTGGGCGAAGTGAAATGGTCGCTGGTAGGCGAACATAATATGCACAATGGCCTGATGGCGATTG
+CGGCGGCTCGCCATGTTGGTGTAGCGCCGGCAGATGCCGCTAACGCGCTGGGTTCGTTTATTAACGCTCG
+TCGCCGTCTGGAGTTGCGTGGTGAAGCGAATGGCGTCACGGTATATGACGATTTTGCCCATCACCCGACG
+GCGATTCTGGCAACGCTGGCGGCGCTGCGTGGCAAAGTTGGTGGTACGGCGCGCATTATTGCCGTGCTGG
+AACCGCGCTCAAACACCATGAAAATGGGGATCTGCAAAGACGATCTGGCACCTTCATTAGGTCGTGCCGA
+TGAAGTCTTCCTGCTGCAACCGGCACATATTCCGTGGCAGGTGGCAGAAGTGGCAGAAGCCTGCGTTCAG
+CCTGCACACTGGAGCGGCGATGTGGATACGCTGGCAGATATGGTGGTGAAAACCGCTCAGCCTGGCGACC
+ATATTCTGGTGATGAGCAACGGCGGTTTTGGTGGAATTCATCAGAAACTGCTGGATGGGTTAGCGAAGAA
+AGCGGAAGCCGCGCAGTAATTCACAGCCTCAGCCTGATAGAGTGTGTGTAGGCCGGATAAGGCGTTCACG
+CCGCATCCGGCATTTGAGCATAGTGCCTGATGCGACGCTTGATGCGTCTTATCAGGCCTACAGGTGCACC
+GTATCCGGCAAACCATACTTACATCAACAACGAAAATTACCCTTCGTTTTCCGCTAACTCACGCAGATAC
+TGGAAAATCTGGCGCGCGGATTTCGGCGGCTTATTCCCTTCTTTCTCTTTCTTCGCGTTGCGGATCAGAG
+TTCGCAGTTGCTGACGATCGGCATCGGGCCACAGATTCAATACTTCAGCGATGGCGTCATCACCCTGGTC
+GATCAGACGATCGCGCAGGTTTTCCAGTTTATGGAACAGCACCACCTGCTGGTTGTGACGGTTTTTCAGC
+TTATCCAGCGCCTGACGGATCGGCTCAACATCGCGCTGGCGCAGCATCTTACCGATGAGCTGCAACTGGC
+GGCGACGACCTTCCATCTTAATACGCTGGGCGAGCTCAATAGCCGCGCGCAGATCCGCATCTAACGGGAT
+CTTATCCAGCGCGTTTTTCCCCAGATCAACAATTTCCGCGCCAAGGCGTTTTAGCTCCTCGGCATCACGT
+TTAATTTCACTTTTACTGACCCAGATAATTTCATCGTCTTCGTCTTCGATGTCATCACCGGGAACGTCGT
+CGAGCCAGTCTTCGGGCTGCTTAGTCATCTCAGGCTCCTTAAAAAAAGAGGCTAATGTTACCAGTTAAGA
+TGCGCACTGAAAAACGGTTCTCTGTTAGACTTCAGAGAAACTCTCTACATTATGGCACTTGCAATGAAAG
+TAATCTCTCAAGTTGAAGCGCAGCGCAAGATTCTGGAAGAAGCAGTTTCGACTGCGCTGGAGTTGGCCTC
+AGGCAAATCGGACGGTGCAGAAGTTGCCGTCAGCAAGACCACCGGCATTAGCGTAAGCACGCGTTATGGT
+AAAGTGGAGAATGTTGAATTCAATAGCGATGGCGCGCTGGGGATCACCGTTTATCACCAGAACCGTAAAG
+GTAGCGCATCGTCTACCGATTTAAGCCCGCAGGCCATTGCCCGCACCGTACAGGCGGCGCTGGATATTGC
+CCGTTATACCTCGCCAGATCCGTATGCAGGCGTGGCAGACAAAGAACTGCTGGCTTTTGACGCGCCGGAC
+CTTGACTTGTTCCACCCTGCGGACGTTTCTCCGGATGAAGCCATTGAACTGGCGGCCCGCGCGGAACAGG
+CGGCATTGCAGGCGGACAAACGCATCACCAATACCGAAGGCGGTAGCTTTAACAGCCACTACGGTGTCAA
+AGTTTTTGGCAACAGCCACGGCATGTTGCAGGGTTACTGCTCAACGCGTCATTCGCTCTCCAGCTGTGTA
+ATCGCCGAAGAAAATGGCGATATGGAGCGCGATTATGCCTACACCATTGGGCGTGCGATGAGCGATCTGC
+AAACGCCAGAGTGGGTTGGGGCCGACTGTGCTCGCCGTACCTTATCGCGCCTGTCACCGCGTAAACTTTC
+TACCATGAAAGCGCCGGTGATTTTTGCCAATGAAGTGGCAACAGGGTTGTTTGGTCATTTGGTGGGGGCG
+ATAGCGGGTGGTGCGGTCTACCGTAAATCGACCTTCTTGCTGGATTCGCTGGGTAAACAAATTCTGCCGG
+ACTGGCTGACTATTGAAGAACATCCGCATCTGCTGAAAGGGCTGGCATCTACACCATTCGACAGCGAAGG
+TGTGCGCACCGAGCGCCGCGATATCGTCAAAGATGGCATCCTGACTCAGTGGCTGCTGACCAGCTATTCG
+GCGCGGAAACTGGGGCTGAAAAGCACCGGACATGCGGGCGGTATTCACAACTGGCGGATTGCCGGACAAG
+GGCTAAGCTTCGAACAAATGCTCAAAGAGATGGGCACCGGGCTGGTGGTGACGGAGCTGATGGGCCAGGG
+CGTGAGTGCCATTACCGGTGATTATTCCCGTGGTGCAGCGGGCTTCTGGGTAGAGAATGGCGAGATTCAG
+TATCCGGTGAGCGAAATCACCATCGCTGGTAATTTAAAAGATATGTGGCGCAATATTGTCACCGTCGGTA
+ACGATATTGAAACACGCAGTAATATACAGTGTGGTTCTGTGCTGTTGCCGGAGATGAAAATCGCCGGGCA
+GTAAAAAACTGGCGCGACCTGCCGCGCTATAAACTAAAAAATTACACAAAATCATTCGCACTGCATCGAG
+ACGGAAAGTGAATGAGAGCAGGGGAGCGTACTCGTAGTACGTGACTCGGGCGAATGAGCGTAGCCGTCGA
+TGAGGCAGTGTGAAGGATGAAGTGTAAATAAAAAAGGAAGTGAGCAATGCGTAAAAGCCTGTTAGCTATT
+CTTGCAGTCTCCTCATTGGTATTCAGTTCGGCGTCGTTTGCCGCTGATCTGGAAGACAATATGGAAACCC
+TCAACGACAATTTAAAAGTGGTTGAAAAAGCCGATAACGCGGCGCAAGTCAAAGACGCGTTAACGAAGAT
+GCGCGCTGCGGCGCTGGATGCGCAAAAAGCGACGCCGCCGAAGCTTGAAGGCAAATCACCGGACAGCCCG
+GAAATGAAAGACTTCCGCCACGGTTTCGACATTCTGGTCGGTCAGATTGACGACGCGCTGAAGCTGGCAA
+ATGAAGGTAAAGTAAAAGAAGCGCAGGCTGCCGCAGAGCAACTGAAAACGACCCGCAACGCCTATCACCA
+GAAGTATCGTTAATTCTTTATTTCCCTGTTGCCTGCACTCAGGTAACAGGGAACTTATCATCGCAAATGA
+TGCACCACCTGATTGCTGCTGCCGCGCCAGATCAGGGAAGGGTCTTTTAAATCCTGCACAAATTTGCCGT
+CGACCAGCACGTTAATCAAATCAACAACCTGCATTTGCGCAGCGTTGAGTTCGTCGAGTTTATAGCCTGT
+CCACACCCAGATGTCTTTACCCGGACACTCGGCGCGGATGCGTTGTACCAGTTTCAGAATATCCGGCACG
+TTTTGCGGATGCAGCGGATCGCCGCCGGAGAGGGAAATACCCTGGCGTTTGATGCGAGTGTCATTCAGAT
+CGTTAATGATCTGGTCTTCCATTGCTTTGGTAAATGGCTGACCGGAATTTACCCGCCAGGTGCTTTTGTT
+ATAGCAACCGGGGCATTCATGAACACACCCGGAGACAAACAGGGTGCAGCGAGTGCCGGGGCCGTTGACG
+ATGTCGACAGGATAGTACTGATGATAGTTCATTATTTCACCTGGCTTATCAGTCCGCGTGTAGGCTGCAT
+CCGGTAATCAACGCCTGATGCGACGCTGTCGCGTCTTATCAGGCCTACAGCCGTTGCCAAATGTAGGCCG
+GATAAGGCGTTTACGCCGCATCCGGCATTTGCTTAACACAGAGTGAAGATTAACCTATCTGCCCATTTCC
+CAAATGTTTAACGCGGCGCTTAACTTCTTCCTGCTTACCAGCGTTAAACGGACGTGCATCCGGGCTACCT
+AAATATCCGCACACGCGGCGAGTCACCGACACACGGGAGGTGTCATGGTTACCACATTTCGGACAAGTGA
+AGCCTTTGCTGGTGCACTCAAATTCGCCGGTAAAGCCACACTCGTAGCATTCATCGATCGGTGTGTTGGT
+GCCGTAATACGGTACATGCTGATAGCTGTAATCCCAGACATCTTCCAGCGCCTTCAGGTTGTGCTGAATG
+TTTGGATACTCGCCATAGCAAATGAAGCCACCGTTCGCCAGTGGCGGGTAAGGCGCTTCAAAGTCGATCT
+TGTCGTACGGGTTCACCTTCTTCTCCACATCGAGGTGGAAACTGTTGGTGTAGTAACCTTTATCGGTCAC
+GCCCGGCACCACGCCAAACTCAGCGGTATCGAGACGGCAGAAGCGGTCGCACAGGTTCTCACTCGGTGTA
+CTGTAGAGGCTGAAACCGTAGCCAGTTTCTTCTTTCCACTGATCCACCGCCTGACGCAGACGCTCAACAA
+TCGCAATACCTTTCGCGCGCAGCTGCTCGTTGTCGTAAACATGCTCGCCGCCGAACAGCGCGTTAATGGT
+TTCGTGGATGCCGATGTAACCCAGCGAAATAGACGCACGACCGTTTTTGAAGATTTCAGAAACGTCGTCG
+TCAGCATTCAGACGTACGCCACAAGCGCCTTCCATATAGAGGATCGGGGCTACGCGCGCTTTCACGCCTT
+CGAGACGAGCGATACGGGTCATCAGCGCCTTACGTGCCAACACCAGACGTTCATCCAGCAGCTTCCAGAA
+GGTGGCTTCATCGCCTTTTGCTTCCAGAGCAATACGCGGCAGGTTCAGGCTGATCACGCCGAGGTTGTTA
+CGACCATCGTGGATCTGCTCGCCGTTTTCATTTTCCCACACGCCGAGGAAGCTGCGGCAGCCCATCGGGG
+TTTTAAACGAACCGGTGACTTTCACTACCTGATCGTAGTTAAGGATATCCGGATACATGCGCTTGCTTGC
+GCACTCCAGCGCCAGCTGTTTGATGTCGTAGTTCGGATCGCCTTTTTTATGGTTCAGGCCATCGCGAATC
+GCAAACACCAGTTTCGGGAACACCGCCGTTTTACGGTTTTTACCGAGGCCGGCGATACGGTTACGCAGGA
+TAGATTCCTGAATCAGGCGCGACTCCCAGCTGGTGCCCAGACCAAAACCAAAGGTCACAAACGGTGTTTG
+ACCGTTGGCGGTGTGCAGGGTGTTTACTTCGTACTCCAGCGACTGGAAGGCATCGTAGCACTCTTTGATG
+GTACGAGAGTTAGCGTAGCCTTCGGCGTCCGGGATGTTCCACTCTTCTGCGGTCTTGCGATGTTTGTTGT
+AGCTGGCGGTGACAAACGGTGCCAGCACTTCATCGATACGGTTAATGGTGGTGCCGCCATAAATATGGCT
+GGCGACCTGAGCAATAATCTGCGCAGTTACCGCGGTTGCCGTAGAGATCGATTTCGGCGGTTCAATCTCG
+GCGTTCCCCATTTTAAAGCCCTGGGTCAGCATGCCTTTCAGGTCGATCAACATGCAGTTGAACATCGGGA
+AGAACGGTGAGTAATCGAGATCGTGATAGTGAATATCACCACGTTCATGTGCCTGCACCACGTCACGCGG
+CAGCAGGTGCTGGCGTGCATAGTGTTTAGCCACGATCCCGGCCAGCAGGTCGCGCTGGGTTGGAATCACC
+TTGCTGTCTTTGTTGGCGTTTTCGTTGAGTAACGAGGAGTTGGTCTGCTCGACCAGACCACGGATCTCCT
+GGTTCAGGCGACCGCGTTTTTCACGTTCAATGTCGCGATCGTGACGGTACTCGATGTAAGCACGAGCCAG
+TTGTTTGTATGGCCCCGACATCAGCTGGTTTTCAACTGCGGTCTGGATCTCATTGATATCCACCTGGTTG
+CGGCCCTGCATCTGCTCGCTGACAACCGCAGCAACAGTGGCGCAATAATCGGCATCATCGACTTCCGCTG
+CTTTAGCTGCACGCAGAATCGCTTCTTTGATGCGCTCTGATTTAAACGGCACTTTGCAGCCGTCTCGTTT
+CATCACATGCGGTGTCATGATCGCTCCATATTTTTAAGAACAGGTTATCCACAGAAATTGGGAAAGGCGT
+TTTCCGGTTTTTTCGTTTCGTTTTCCGGTGCTTTCCGCAATCGCCATCCGCTTATCCACAACGCCGCACC
+TTTTTCGTGGGGAGCTGTAGTAGCAATTATAGTTGATTAATACAACATATTGGGTTGGGACGCATTTTAA
+AGTCTATATATAGTGCTTTGCATCAAGGATGTTTGAACTTTTTTTGATGTAGCTCAAAGTAAAAAGCAGA
+GCGTACGGATGACGGGCGCTACAGCGATATGTAAATTTTTTAATGAATTTTTTGATTATAAAATCAACAA
+AAACAACATACTGACAGGCAAAACCCCGGAATGACAGGCATTACCGGGGCTTAGCGAAGATTTACTTCTG
+TAACCACCAGACAGCCTCAAAAGGCCGTAAAGTCATGGTACAGGGTTGTGGTGAGGCTTCTTCGTAGTTA
+TGCATCACAAGCTGCCAGTTGCCGAGCATTTTCCCTGGCTGCCAGGGTTGGGTCTCACGGCTAAGGTTGG
+CAATGACCAGCAAGGTTTGCCCCTTCCACTCACGGCGATAGCACCACAATACAGGGCTGTTTGGCAGCAG
+ATCCTGGTAATCGCCCCATGTCAGGACGGCTTCTTGCTTACGCAGTGCGATTAACTTTTGGTAGGTGTAA
+AACACCGAGGACTCATCGGCCAGCGCTGCTTCTACGTTGATTTCCTGATAGTTATCGCCCAGGCCAATCC
+ACGGTTCGCCAGCCGTAAACCCGGCATTATCGCCGTTGGTCCATTGCATGGGTGTGCGACTGTTGTCACG
+GGATTTACTGGCGAGGATTGTCAATAACTCGTCGGCATCACGCCCATCGTTGCGCAGCTCGGCAAACATA
+TTGAGGCTCTCCACGTCGCGATAGTCAGTAATGCGCGTGAAATGTGGGTTGGTCATGCCAATCTCTTCGC
+CCTGGTAGATATACGGCGTTCCCTGCATGCCATGCAGCACCATCGCCAGCATTTTTGCCGCAGGCACGCG
+GTATTCACCTTCATCACCAAAGCGAGAAACAATGCGCGGCTGATCGTGGTTACACCAGAACAAGGCATTC
+CATGCCACGTTGTGCATTCCTTGTTGCCAGTGGCAGAACAATGTTTTCAACGCCACAAAGTCAGGTTTAG
+CCAGCGTCCATTTTTCACCACCGGGATAATCGACCTTCAGGTGATGAAAATTAAAGGTCATCGACAATTC
+ACTGCCTGTCAGTGCCGCGTATCGCTGGCAATGCTCAAGGCTGGTGGAGGACATTTCACCTACGGTCATT
+AACCCGCGTGGCGTAAACACATCGCGGTTCATCTCGTGCAAAAACTCGTGTGCTCGTGGCCCGTCGGTGT
+AGAAGCGACGCCCGTCGCCATCCAGGTCTTCAGGGTAACGCGGATCTTTGGAGATCAGATTCACCACATC
+CAGGCGCAACCCGTCGACCCCACGATCGGCCCAGAACTCACAGACTTTTTTCAGCTCTGCGCGTACCGCT
+GGATTCTCCCAGTTGAGATCCGCCTGTTCTGGTGCAAAGAGATGCAAATAGTACTGTTCGCTTTCTGCAT
+GCCAGCGCCACGCACTACCACCGAATTTTGAACGCCAGTTGTTCGGTGGCGTTTCTGGTTCTCCATCGCG
+CCAGATATAAAACTGGCGGTAAGGGCTTTCTTTGTTCAGCGCCTCGCGAAACCAGGCATGTTGGGTAGAG
+GTATGGTTAAACACCATATCGAGAATGATACGAATCCCACGCGATTTTGCCTGTGTCACCAGTTCGTCAA
+AATCGTCCAGCGTGCCATAGGTGGGATCAATCGCCGTATAATTCGCTACGTCGTAACCGTTATCGACCTG
+GGGAGAGACATAAAAGGGGGTTAGCCAGATGGCATCAACGCCCAGTTTATACAGATAGTCCAGGCGTTGG
+ATAACGCCACGTAAATCGCCGGTGCCGCTACCCGTGGTGTCCTGAAAACTCTTTGGATAAATCTGGTAGA
+TAACGCCGTTTTGCCACCAGTGGGGAAGATGAGTCATTACGTTATTCCTGCAAATGCGAGGGGGCGCAAT
+TGCGCCCCGAAGAAAATTAAACAATGTCCAGCGTGCCCAGGCGGTATTTCCGCTGATAGATAAACGAGGT
+GAGTACAATCGGGATGATGATGGCGATAGCCATTGCCAGCGCAAACACCTGCCAGTAGCTCGGCTGAATG
+GAGAGGATGCCCGGTAGGCCGCCTACGCCGATGCCATTCGCCATAACGCCGTTCAGGCCGCATAGCAATC
+CTGCCAGACCAGAACCAATCATCGCGCACAGCATCGGGAAACGATATTTCAGGTTGATGCCGTACATAGC
+AGGTTCAGTGACTCCAAGCCAGGCGGAGATAGCGGCAGGCACGGAGATCTCGCGTTCATTGTGCTTGCGG
+CTGGAAATGATAATACCTATCACGGCGGAGCCCTGAGCGATATTCGACAGTGCAATCAGCGGCCACACTG
+GCGTGCCACCCATGCTTTGAATCATCTGCAAATCAATAGCAAGCGTGGTCTGGTGTACGCCGGTGATCAC
+CAGCGGGGCGTACAGGAAGCCAAACAATGCCGCGCCAATCGGAGCAAAGCTGCCGGTCATCAGGTGACGT
+ACCGCAAAGGCAACGCCATCGCCAATCATGCGACCAAACGGACCAATCAGCGCATGGGCGAGGAACACCG
+CGAGGATCAGCGAACAGACGGGCACCACCACCAGATAGAGGTAATCCGGCACGATGCGCTTAAGACGAGT
+TTCAATAACGCCCAGCGCCAGTCCGGCTAACAGTGCCGGGATGACCTGCGCCTGATAGCCCACTTTGGCG
+ATGCTGAACATGCCAAAGTCCCATACTTCCGGCAGCTGCTGCCCGAGCAGATAAGCGTTCATCAGCTGTG
+GAGAAACCAGCGTTACGCCAAGCACGATACCGAGGATCGGTGTACCGCCCATTTTTTTCACCGCTGACCA
+GCAAATCCCGACCGGCAGGTAGAAGAAGATCGCTTCACCGATCAACCACAGAAAATCGTAGATCGTTTGC
+AGGGAAGGGTACATTTGCGCCAGCGTCTGACCGTTGCTCATGGGCAAATCGCCGATCACATTGCGAAAAC
+CGAGGATCAAACCACCACTAATCAACGCGGGCAGCAACGGGAAGAAGATCTCCGCGAAATGAGAGATCAA
+CTGCTCATGACATTTCATATTCTGCCGGGCGGCTTTTTTTACCTGCTCTTTATCAACCTGCGCCTGTCCG
+GTTGACGCAATCAGTGCTTGATAGTAATCACCCACGTTGGTGCCAATCACCACCTGAAATTGCCCGGCAT
+TGGTGAAACAGCCTTTCACCATGGGGAGTTGCTCAATTTCTTTCGGTCTGGCATTGGCCGGTTGGTTGAG
+GACAAAGCGCAGGCGAGTAATACAGTGGCTCACCGTCGCAATATTGCCGCGCCCGCCGACCAGTTCAATC
+AACCGATCGATATCCGTTTGGTTTATTTTGCTCATCATAAAGCCCCATGGCAGATGACATTTTTGGTTGG
+CTGCAGAATATATTGCGCGGAAAAATTTAAAAACGGGAACGTTCCCGAAACGCAGCGAAGATCACAATTT
+ATCGTTCAGGAAACGATCAGGACAGGGTGGCGGGGATGATGATTTGTTGCGGTTCGCTGCGCCCGGTTAC
+CTGCGCGATCAACTGGCAGGCCGCCTGGCGTCCAGCTTCGGCATAACCGGGATCTACGGTGACGATCTCT
+GGATGGAGGAATTTCATTAACGGTGTATTACCGACGCTCGCCAGTTGCAAGGTGTCGATGCGTTGCTCTT
+GCAGGTATTTACTTGCGCCAAGTGCCAGCGTGTCGGTTGCGCACAGTAACGCGGTAGTTTCAGGCGTAAT
+CACTTTTGCTACGTTCTCATAGCCTTGCTTCATAGCAAGCCCTGGCAGAGCGGCAACGGGATGCAATTTA
+TGCGTTTTGCAGAACGCCAGGTAGGCTTCGTGACGTCGCTTACCGGTCGTCACGTCACTATGCGGCACGC
+CGAGATAGCTGATATTACGATGTCCCTGGTCATACAGCCGTTGCATCAGGATCTTGATTGCCCCTTCGTC
+GTCATAACAGACCGAAGCAAAGCCTTTTGCGTCACGCGCCAGCAGAACCAGCGATGACTGCCAGTGGGCT
+AACATTTCTTCTGTTATGCCGGTAAAACCGAACAGCACTACGCCGTCGATATTACGCCGTTTCAGCACCC
+CCAAATGTTCGGCAACTAATTGTGGGGAAAACTGACTTTCCATCATGATTGGATCGTAACCTTGTTCATA
+GAACGCTGGCAGCATGGTTTGAACGGCGAGATTTTCTGACAACGAATCCAGACGGGTAACAATGATGGCG
+ACCACTTTATCGCTTTGCCCACGCATAGCGCGCGCGGAGCGGGAAGGGGAAAATCCATGCTGATTCATCA
+CTGCTTCAACACGCTCGCGCGTGCGCTGGCTCACGCCGCTTTCGTTATTCAGCACCCGGGAAACTGTAGA
+TTTCCCCACGCCGCTTAAGCGCGCGATGTCTTTGATGGTCAGCCGATTTTGCATCCTGTTGTCCCATAAC
+GTGTTGTTTAATTATTTGAGCCTAACTTTACCTGTGCATTCAGCAATGGGTAAAGTCTGGTTTATCGTTG
+GTTTAGTTGCCAGCAGGTATTATATCGCCATAAATGCTACGAATATTATTGGATTCTCCTTATTATTTGC
+GGCGCTTTTTTCACTTACCGGAGGTTATATGGAACCTGATCCCACGCCTCTCCCTCGACGGAGATTAAAA
+CTTTTCCGGTAAGCCCGTCTTTTCACGGCGTTACCGGATGCGTAAGGCCGTGACGTTTTAACGTCCCTGC
+TCAGCTTTATTACCTTCAGGTAAGGCTTCGCCACGCCTGAAGACATTTCTGTACTGTTTCAGACAGTGCG
+GAGGGACTCCTTATGTTTAAAGAAATTTTTACCCGGTTCATTCGCCATTTACCTTCCCGTCTGGTTCATC
+GTGATCCATTGCCTGGCGCGCAGCAGACAGTGAATGCGGCGGTCCCGCCTTCTTTAAGTGCGCATTGCCT
+GAAAATGGCGGTGATGCCCGAAGAAGAATTGTGGAAAACGTTCGACACCCATCCGGAAGGGTTAAATCTG
+GCGGAAGTGGAATCTGCCCGCGAACAACATGGTGAAAATAAATTACCCGCACAACAACCGTCGCCGTGGT
+GGGTACATTTATGGGTCTGCTATCGCAACCCCTTTAATATTTTGCTTACCATTCTCGGTGCTATTTCTTA
+CGCCACGGAAGATTTATTTGCCGCAGGTGTTATCGCGCTAATGGTCGCTATTTCTACGTTGCTGAACTTT
+ATTCAGGAAGCTCGTTCCACCAAAGCGGCAGATGCCCTGAAAGCGATGGTCAGTAATACCGCGACGGTAC
+TGCGCGTAATTAACGATAAAGGTGAAAATGGCTGGCTGGAAATCCCGATAGACCAACTGGTGCCCGGCGA
+TATTATAAAACTGGCGGCGGGGGATATGATCCCGGCAGATTTACGTATCTTGCAGGCGCGGGATCTGTTT
+GTCGCTCAGGCGTCGTTAACCGGTGAGTCTCTGCCCGTAGAAAAAGCCGCTACCACTCGCCAGCCGGAGC
+ACAGCAATCCGCTGGAGTGCGACACCCTGTGTTTTATGGGCACCACCGTGGTGAGCGGCACGGCACAAGC
+AATGGTGATTGCCACAGGTGCCAATACCTGGTTTGGTCAACTGGCGGGTCGTGTTAGTGAGCAGGAAAGC
+GAGCCGAATGCCTTTCAGCAAGGGATTAGCCGCGTCAGTATGCTGCTGATTCGCTTTATGCTGGTGATGG
+CTCCGGTGGTGTTGCTTATCAATGGTTACACTAAAGGCGACTGGTGGGAAGCTGCACTGTTTGCGCTTTC
+GGTCGCGGTAGGCTTAACGCCAGAAATGTTGCCGATGATTGTTACCTCGACGCTGGCGCGTGGCGCAGTC
+AAGTTGTCGAAACAGAAAGTGATCGTCAAACATTTGGATGCCATTCAGAACTTTGGCGCAATGGATATTC
+TGTGCACTGATAAAACCGGCACCCTGACACAGGATAAAATTGTGCTGGAGAATCATACCGATATCTCCGG
+TAAAACTAGCGAACGCGTGCTGCATAGCGCGTGGTTGAACAGCCATTACCAGACCGGGCTTAAAAACCTG
+CTTGATACCGCGGTGCTCGAAGGTACGGATGAAGAGTCAGCGCGCTCGCTGGCCAGCCGTTGGCAAAAAA
+TTGATGAGATTCCATTTGATTTCGAGCGTCGTCGGATGTCGGTGGTTGTGGCAGAAAATACCGAACACCA
+TCAGTTGGTTTGCAAAGGCGCATTGCAGGAAATCCTCAATGTGTGTTCGCAAGTGCGTCACAATGGCGAG
+ATTGTACCGCTCGATGACACCATGCTGCGTAAGATTAAGCGGGTTACTGATACGCTGAATCGTCAGGGGC
+TGCGCGTGGTTGCGGTGGCGACGAAATACCTGCCAGCGCGTGAAGGAGATTACCAGCGGGCGGATGAATC
+CGACCTGATCCTCGAAGGATATATTGCTTTCCTTGATCCGCCAAAAGAGACAACCGCTCCGGCACTGAAG
+GCATTAAAAGCGAGTGGAATTACCGTAAAAATCCTTACTGGCGACAGTGAGTTAGTTGCAGCGAAAGTGT
+GCCATGAAGTGGGGCTGGACGCGGGAGAGGTGGTCATTGGTAGTGATATTGAAACGCTATCTGACGACGA
+ACTGGCAAATCTCGCACAGCGCACCACGCTGTTTGCTCGTCTGACGCCGATGCATAAAGAACGCATCGTA
+ACGTTGCTGAAGCGCGAAGGGCATGTGGTTGGCTTTATGGGCGATGGTATTAATGATGCGCCCGCCTTAC
+GCGCTGCGGATATCGGCATTTCTGTGGACGGCGCGGTAGATATTGCCCGTGAAGCGGCTGATATCATCCT
+ACTGGAAAAAAGCCTGATGGTGCTGGAAGAGGGGGTTATTGAGGGTCGTCGCACTTTCGCCAACATGCTG
+AAATACATCAAAATGACGGCGAGCTCTAACTTCGGTAATGTGTTCAGCGTGCTGGTGGCGAGTGCTTTCT
+TGCCCTTCCTGCCGATGTTGCCGCTACACTTGCTTATTCAAAATCTGCTGTACGATGTGTCACAGGTGGC
+GATCCCATTTGATAACGTCGACGACGAGCAAATTCAAAAGCCGCAGCGTTGGAATCCGGCGGATCTGGGG
+CGCTTTATGGTCTTCTTCGGACCGATCAGCTCGATTTTCGATATTCTGACGTTTTGCCTGATGTGGTGGG
+TATTCCATGCCAACACGCCGGAAACGCAAACGCTGTTCCAGTCGGGCTGGTTTGTGGTGGGCTTACTGTC
+GCAAACGCTGATTGTGCATATGATCCGCACCCGCCGTGTGCCGTTTATTCAGAGCTGTGCATCGTGGCCG
+TTAATGATCATGACCGTGATCGTGATGATTGTCGGGATCGCATTGCCGTTTTCACCGCTGGCCAGTTATC
+TGCAACTGCAGGCGCTGCCGTTAAGCTATTTCCCGTGGCTGGTTGCGATTCTGGCAGGGTATATGACGTT
+AACCCAGTTGGTGAAAGGTTTCTATAGCCGTCGTTACGGTTGGCAGTAAAGAATAAACTGGGCATGGTGG
+CCCGGAATCAGATTGCAGACAAAGTGAGCTTTGTTCATGCCGGATGCGGCGTAACCGCCTAATCCGGTCT
+ACAAATTCAATAAATTGCAGGAATCACGTAGGCCTGATAAGCGTAGCGCATCAGGCGATTTTGCTTTTGT
+CATCAGACTTAATCCGGGCATGATAGCCCGGATTTCCATCAAGATTAGCGACGAACAGCGATCGCTTCGA
+TCTCAATCTTCACGTCTTTCGGCAGACGGGCTACTTCAACGCAAGAACGTGCCGGGAAGGTGGCGTTGTG
+TTCGGTGAAGAAGGCTTCGTAGGTAGCATTAACGGTTGCGAAGTCGTTCAGATCTTTCACAAACACGGTA
+GTTTTAACGATGTCGCCCACTTTCAGGCCAGCGGCTTCGACGATCGCTTTTACGTTATCCAGCGACTGAC
+GCGCCTGTGCAGCGACGTCTGCCGGGACTTCGCCCGTTTTCGGATTTACCGGGATCTGACCGGAGGTGAT
+GATCATATTGCCCAGATCAACGCCCTGTACGTAAGGACCGATAGCTGCCGGTGCATTTTCCGTCGCGATA
+GTTTTGCTCATGATTTCTCCTTTATTACAGCGGTAAAAAGTCTGGCTCATTATAGGGAGCCAGACTTTTA
+TTACCAACCGCAATTAATTGGCCAGCACCACATTATGAGAAAACTCTTTTTCACAGTATTTGCATTTGAG
+CGCGATATCATTGGCGCGTTTTCGCACGGCAAAGCTGGATGAAACCGGTTCGGCATGGCTGATACAGTTG
+CTGTTAGGGCAGACCAGCACATTGTCGATGCGCTCTGGCAAACTGGGGCGCGATTTGCCAACCACTTCAT
+AGTTGTCGATACGGTTAACCGTGGCTTGCGGTGCATATAACGCCAGCTGATCAACCTGATCCTCACTTAA
+AAAGGTATTTTCGATTTTGATCAAATCTTTGCGGCCCATCTCGCCAGAAGGCAAATTCAGACCAATGGTG
+ATGCGCTGATCTGTTTCGGTCAACTTGAACAGACTCAACAGCTTAAAACCGATCTGGGCGGGGATATGGT
+CAATTACCGTGCCGCGTTTAATAGCTTCAACCTGCAATTTATTATCGTGTGTCATCTCTATTTCCCCTTA
+CAGTACCAGATCGCGATTCAGAACCAGTGCCAGTAACGCCTGGCGAGCGAAAATCCCGTTGCCTGCTTGC
+TGGAAGTACCAGGCGTGAGGCGTTTTATCCACATCCGTCGCAATCTCATCAACACGCGGCAGCGGATGCA
+GCACTTTCATATTGGCTTTGGCGTTGTGGAGATCGCTGGCGCGAAGAACAAACTGCGCTTTCACGTTGGC
+GTACTCGGACGGGTCCAGACGCTCTTTTTGCACGCGGGTCATGTACAGGATGTCTACTTCCGCCATCACT
+TCTTCAATAGAGCTGTGCAGACTCCAGGCGATCCCTTTTTCATCGAGCATATCCAGAATGTATTGCGGCA
+TTGCCAGCGCATCCGGCGCGATAAAGTAAAAACGGTTGCCGTCGAACTTCGCTAGCGCCTGGGTCAGGGA
+GTGAACGGTGCGGCCATATTTCAGGTCACCAACCATTGCGACGTGGAGATTGTCCAGACGCCCCTGGGTT
+TCCTGAATGGTGAATAAGTCCAGCAAGGTTTGCGTCGGATGTTGGTTGGAGCCATCACCGGCATTCAGTA
+CCGGTACATTGCCGGAAAACTCGGTGGCCAGGCGCGCTGCACCTTCCTGCGGATGACGCATCACTATCGC
+ATCGACGTAAGTGCTGATAACCGAAATGGTATCGGCCAGCGTTTCGCCCTTTTTACCCAGTGATGTATTG
+GCGCTGTCGGAGAAGCCCACCACGCTGGCACCCAGGCGGTGCATGGAAGTTTCGAAAGAGAGGCGGGTGC
+GGGTAGAGGCTTCGAAGAAACAGCTGGCAATAACTTTGTGCTTCAACAGCTCTGGTTGCGGGTTCGCTTT
+CAGTTTCGCCGCTGTCGCCAGCACCAGATTAAGGTCATCGCGACTAAGGTCGTTTATGGAAATGATATGT
+TTCTGATATAGCGGATTAGCCATCTTTTATCTCCTGACGCCTGGGCAAAAAAAAGCCCCTCGATTGAGGG
+GCTGGGAATGGGTGATCAACGGGAAGAAAAACGGCAGGCCAGCGTCTTTTTTCAGACGCGGTAAGACAAA
+ATGTCGAACACACTGAACCATACATCCTCCCGGCAAATTGTCCGGCATTATACTCAGCTCTGAGAGAGGA
+TCAAGAAGATGATGCAGTTATAAAGCAAGGCAAACGGTTATCATGAATATATATTCAATTTTAATAAGTA
+ATTAATTTGCTTGTGCACCAGGGCTGTACGCTTTACCACACGTGGTGCGACCCAAACGATATTGCTGCCA
+GCAATCACGCCAAGAATTTCTGGCAAAGCATGGAAATCAAGGATTCGCGCTACTGCCCGACCATATCCGG
+CGACGGTATGGATAAGGATAAATTCACCATTATGCTCGACACTCAGGACCATTTCAGCGACGGATCGACC
+TGCGTCAGGTGTGGGAAGTAATTGAGGATTCACCGAATAAATTTTTTGTCCTTTTGTATTTCTAATTTTT
+ATGACTCCCAGCAATTTCAGTAGTCGTGAAACGGTTGACTGACTGATACTGTCAAAGCCATGGTTTTGCA
+AATCGCGGCGGATTTCCTCCTGTGAAAGATAACTTTTTTCGGTAATCAGGCGCTGACAGACCGCCAGTTG
+CTTCTTTTCTTTGGCGGAGTAATCATCGTATTCCTTCATAATGCACCTTTTATTTATTATTACCTGATGA
+TATTTTTCACATTTTATAATGTGAGAGTGGTTCATTTATCACTACACCAGATTTGAAGGCCGCTTTGATA
+AGCGGCCTGTCGCGTTAAATCATCGCGGCGATACTCAGCACAATCATATTCAACATCGTGAGAATCAGCA
+GTAGCGGTGCTACCCATCTCAGATAACGGACCCAGGGTACACGGGCAATCGCCAGACCGCCCATCACTAC
+CGCAGAGGTTGGCGTAATCAAATTAACCACCCCGGAAGCAGACTGATAAGCGGTCACCACCAGATCGCGT
+TGTACATGAGCAAAATCAGCGAGTGGAGCCATTATTGGCATCGTTAACACTGCAAGGCCGGAAGATGAGG
+GAACCAGAAAAGAGAGCAATACTTCCAGCCAATAGGTCACGTTGATGAAAACAGTGGTGGAAAGCCCTGA
+AACCAGATTCTCAGCACTGTGCAGAATTGTGTGCGTAATCATGCCGTTATCCATCACGACCACAATACCG
+CGGGCGATGCCGATAATCAGTGCCACACCAAGGAGATCCCGCGCGCCGTCAATAAAGGTACTGGTGAAGG
+TTTCTTCGCCCATGCGGGCAATGACACCCACGATGACCGCAGCTGCCAGAAAGACAGCAGAGATTTCCGC
+CATCCACCAACCCAGTACCGCTACGCCGTAAATCATAAAGGCAAAGGATGCAGCAAAAAGTATCAGGATC
+GCTTTGCGCGTGGGGGTAAATTCCAGCATCGTTTCTGAACGATTTCCCAGAAAATGCGCCTGGTTTTCAG
+CCATCTTATCCGCCACGATAGAGCTTTCCGGACTGTTGCGAACTTTGCGGGCATAACGCATAACCCAGTA
+AACACAAATCACGTAGCCTACTAACAGCAAAATAACACGCAGCAAAATGCCCTGAGTAAAGGGGATCCCT
+GCGGCGTTGGCAGCAATGACGGTAGCAAATGGGTTAATGGTTGAGCCCAGCGTGCCAATGCCCGATCCCA
+ATAACACTGTGGCGGCAGCGACCAGAGGATCAAAGCGGGCAGCCATCATGACGGGCACCAGCAACGTGTA
+GAAGGGGAGTGATTCTTCCGCCATCCCATAAATAGTACCGCCAGCAGCGAAGAGCGCCATCAGGATCGGA
+ATCATCCACTCTTCCCGACCATTAAGGCGAGTTGTCACTCGTTCGATACCGGCATCTATTGCCCCGGTTT
+TATTTACTACTCCCAAAAATCCACCGATGATCAGGACAAACAGCGCGACATCAATCGCTCCCGCAGTGTA
+GGTTTGATGGTTGTACAAGCCGTCGATGGGCGCTAACAGGACAGCCGTAATACCCTGTGGTTGTGCCTCA
+ACAGGTGCGTAAGTGCCTGCAACAGGAACTTCCTTTCCCAGTGCGGCATTTGTCACCATCTGATATTTTC
+CCGCAGGTACAATCCAGGTCATTGCCGCAACTAACGCAATCAGCACGAACAAGATGGTATAAGCGGTGGG
+AAATTTGAATTTACCCATAATGTGATCTCCATAATCACGGGCATACGCCACTCGTCGACGCATGCCCGTC
+AGGGTTAGTCGCCGAGAGTTGCTACCATCACCGCTTTAATGGTGTGCATCCGGTTTTCTGCTTCATCGAA
+AACAATAGAGTGGGCCGATTCAAAAACCTCTTCAGTAACTTCCAGTCCTTTGAGCCGTAGGCCATCTCGA
+TCTCGCGTCCTACTGTGGTGTGCTCATTATGGAAGGCGGGCAGGCAGTGCATAAATTTAACTTCAGGGTT
+ACGCGTGGCAGTAATCACCTGTTGATTGATCTGATAAGGTGCCATCAGACTCACTCGTTCTGCCCAGGCT
+TCTTTTGGCTCTCCCATCGAAACCCAAACATCCGTATAGAGAAAATCAACGTCGTATACGCCTTCTTCCA
+CATCCTCTGTCAGGGTGATTCTCGCCCCAGTCACGCTGGCGATCTCACGGCATTGTGTTACCAGCGCTTC
+ATCTGGCCAGAAAGATTTAGGTGCCACCAGACGGATATCCATCCCCATTTTTGCAGCACCAACCATCAGC
+GAGTTCCCCATGTTATTTCGGGCATCACCAAGATACGCAAAGCTCAGCTCTGGCAGCGTTTTGCCTGGCG
+CATGTTCCAGCATGGTCATTAAATCCGCGAGGATCTGTGTCGGGTGAAATTCATTGGTCAGTCCGTTCCA
+TACCGGAACACCAGCGAACTCACCTAATTCTTCAACGATATTCTGACCATAACCGCGATACTCAATACCG
+TCATACATGCGTCCGAGTACGCGAGCGGTATCTTTCATTGATTCTTTATGGCCGATTTGTGAGCCGCTGG
+GGCCGATGTAAGTCACCTGCGCACCTTGATCAAAGGCCGCGACTTCAAAGGCACAGCGGGTACGGGTAGA
+GGATTTTTCAAAAATCAACGCAATGTTTTTACCGACCAGCGTTTGTTTTTCGTTTCCAGATTTCTTGGCG
+GCTTTAAGATTGATAGCCAAATCAATCAGGTATTGAATCTCTGCTGGGGTGTAATCAAGCAGCTTAAGAA
+AATTACGGTTTTTCAGTGAAGTAGCCATGGGGATGTCCTTATAAAAATGGATCAAGCGTGGTTATGGGGG
+TATCAAGGCGAATAAGAGTGCCTTTGTCTCCGGCGAGAATTTCCGGACCATCTGCAAGAGAGCCGATCCC
+TGCAATGCCCCGGCACTGACTAACAAACTTTGCGCAGGCGGTGACTTTCGGCCCCATAGACCCGGCATCA
+AACTGCATTTCGTTGAGTAATTCCGGCGTGACCTGGGCCAGCGGGCGTTGGGTTGGCTTGCCCCAGTCGA
+GATATACTGCGTCCGCATCAGTGAGGATCAACAAGGCGTCAGCATGGATCTGACTTGCCAGTAGCGCGGC
+TGAAAGATCTTTGTCGATAACCGCTTCAATCCCATGGTATCCATCGGCTTTTTCAACCACCGGAACACCA
+CCGGCACCATTACAGATCACCAGATGATCGTGGGCGATCAGTGTCTGGATGGCATCCCGCTCGACGATGC
+GTTTAGGTTGTGGAGAAGGTACGACCCGGCGGAAAGAGTGACCATCTGCTTTGAAAACCCAGCCTTTTTC
+TGCCTGTAGTACCTGAGTCTGAGCGTGGTCATAAATTGGGCCGATGTACTTAGTTGGGTTACTGAAGGCG
+GGATCGTTGGCATCCACTTCAACCTGCGTCAGCAGCACGCTGATTTCACGTTGTGGTAGTTGATTTTTCA
+GCGCCTGTTGTAGCATGTAGCCGATCATCCCCTGGCTTTCGGCCCCCAGAATGTCGAGTGGATAGGGAGC
+GACATGGGCATAGGCGCTATTTTGAAGTGCCAGAAGTCCAACTTGTGGACCATTCCCGTGAACCAGTACA
+ACCCGCCAGTGTTGAGTCAGTTGGGCGATAGTTTTAGCCGCAAGATCGATATTTTTACGTTGGATTTCTG
+CTTCGAGTGGTTCGCCTCGTTTAAGCAGGGCATTACCGCCGAGAGCGATAACCAGTGTTGGTTTGTTTTC
+CATGATCTCTTCCTTAGATACCGTCACGATGCAAAGGGCAACTCATGCAACGTGCGCCGCCACGTCCGCG
+GCCTAATTCATCACCGGGGATGGGTAAAACGGTGATGCCTGCTTTGTCATATTTTTCGTTAGTCCAGATG
+TTGCGCTCGTAGCCCACTACCACTCCCGGCCGAAGCGTGAGCACATTGTTAGCGTCATTCCACTGTTCGC
+GTTCTGCCTCAAAGGCATCACCCCCCGTGGTGATTAAACGTACCTGGTCAATACCGAGGGCTTTTTCGAT
+AGCATGGAGGAGTGTGCTTTCTTGAGTACGTTTCAGGCCGCCGTGACCGTCAGGTGTTAGCGTCCAGCAA
+TTAACATCCGGGCGCACAACTTCGGGATAAACCGAGAAGGTGTCGATATCGATATGAGTCATAACGGTGT
+CAAGATGCATACAGTAGCGGTGTTTAGGCAGCTCAACAGCGATTACCCGTTCAGCCTGACGATGTTTAAA
+CAATGCCTGAGCAAGAAACTCGACTCCTTGTGGCGTGGTGCGTTCAGACATGCCGATCAACACGGCCCCC
+CGACCAATCACCAGCACATCACCACCTTCTAACGTGGCGTGGTCATAATTAATATTCTCGTCGCCGAAAT
+ATTTAATAAATTCGCCGCCAGCAAATTGTGGATGCCAGCGATAAATAGCGCGTAGATTATTGGTTTCACG
+TTGGCGAGCAGGTTTTGCCATTGGATTAATCGATACACCGTTATAAATCCAGCATGAGGTATCACGCGTA
+AATAAATGATTCGGTAACGGCTTCATAATGAAATCATTAATATCGTGGGTATCAACCACCATATTTTTAA
+TTGAGGCGGGAATTTCACTATAAGTCAGCCCACCACTTAAATGACGAGCAAGGTCCCGGTGTGACATCTC
+TGCAAGCCAGGTGCGGACGTCAGTAGCAAACGTAGGGCCGAGTCGGTAATCTGATATTTGTGTTTCCAGT
+AACCAGCTTTTGGCTTCCGGGATATCCAATGTTTGTGTTAGTAAATCAGTGAGTAACAGAACTTCTATCC
+CTTGCTGGCGCAGCGTATTGGCGAAAATATCATGCTCTTCACCTGCCCGCTCAACGGACAATACATCGTC
+AAATAACAACTCCTGGCAATTGGATGGTGTTAGACGTTTCAGACTGAGATTTGGGCGATGCAACATAACG
+CTGCATAGTTGTCCAATTTCAGAACCAACATAATGCTTTTCCATCATTATTCCTTTAACACTTTTTCAAA
+AATAAAGAGGAGATGGCTGCAAACAAATGAAATGCTTGTAGTCAGGTCTGTTCAGTAATTTTCAGATGCA
+ATGATTCAGTTTATTTCTTCCAGAAAATGTGACGGCTTTCACACCGGCGGTGATATTAATAATCGAAGTT
+GATAATATTTGATGCGGTTCTGATAAATGATAAAGAAACAAAATACGATAATGCATTAATACGCAAATAT
+ACGCAGAGTTATTCTTCGTTGTTAATTGATTGTTTTATTTTTCAGGAAATGCCTTTAAGTATAATGCATT
+GATATTTATGTATATTTTAATATTCATTGCATATCTATGCGAAAGGATAAGGTGATTATTTTTCACAGCA
+CTATTTTCACGGGATAACTATGACAGCACGGGCATTAAAAGCTAAGAAAATGAACTGTGATCTGACTGAG
+AGTTTTCTTTTAACATATGCAATAACAAGATATTAGGACCAAAATACATAGCTAAGTTATAAGATTTATG
+CAGCAAAACTGCATACAAAATTACTCCTGCTTAACATCAGTACAACATCTCCAGCAATAAACATGCGCAA
+GGGCAAAACCTGATGATTTTTCTATGGTGAGAGGTGGCTTTTTTTCGTATAAGGAAAGAAGTGAAACATT
+GTTTTAATAAAGGAAGATATTATGATTGTTGGCAACATCCATCACTTACAATCCTGGCTGCCGGAAGAAC
+TTCGCGAAGCAATTGAGTACATCAAATCACATGTCAGCGATGAGACAGCAAAAGGTAAGCACGCTATTGA
+CGGCGACCGCCTGTTTTATCTGATTTCTGAGGATACGACTGAACCAGGTGAACTGCGTCGTGCTGAGTAT
+CATGCTCGTTATCTCGATATCCAGATTGTATTAAAAGGGCAGGAAGGGATGACATTTAGCACGCAACCAG
+CAGGCGTACCAGAGACTGACTGGCTGGCAGATAAAGATATTGCTTTTATCGGGCAGGGGATCGATGAAAA
+AACAGTGATTCTTAATGAAGGGGATTTTGTCGTTTTCTATCCTGGCGAAGTTCACAAACCGCTTTGTGCG
+GTGGGAGCCCCCGCTCAGGTACGGAAAGCAGTAGTTAAGCTATTAAAAGCGTAAGTGATCACTGCCGGGG
+GCGCCCTGTGCCGCCGCCCGGCAAAACGTTATTTTGCTAATGTAGCGACCATAACAGCTTTTATGGTGTG
+CATCCGGTTTTCTGCCTGGTCAAAGACAATACTTGCTGGAGATTCAAAGACTTCATCGGTGACTTCCATT
+CCACCATACAGACCGAATTCTGCGGCCATTTTTTTACCCAGCGTGGTTTGCTCATCATGAAATGCAGGCA
+GACAGTGGAGGAACTTAACCTGCGAATTACCGGTCAGGGCCATCATTTTGCTATTCACCTGATAGTCACG
+CAGCAGGGCAATACGCTCCGCCCATTTCTCTTTGGGCTCACCCATCGATACCCAGACATCGGTATAGATA
+AAGTCTGCGCCTTTAACCCCAGAGGCGATATCTTCCGTCAAGGTGATTTTACCCCCGTGTTTTTGTGCCA
+GAGCACTGCATTCGGCGACCAGCGCAGCTTCCGGCCAGCATGCCTGTGGTGCGACCAGACGCAAGTCCAG
+ACCGGTAAGCGCCGCAGCTTCGAGCATCGAATTGCCCATGTTGTTACGCGCGTCACCTGCATAGACCAGC
+GTCATTTCGTTGAATGCTTTGCCGGGCAAATGCTCCTGCATGGTGAGGAGATCCGCCAGCAGCTGCGTGG
+GGTGGAACTCATTGGTCAGGCCGTTCCATACTGGCACGCCAGCGTATTCCAGCCAGTGTTTCGACAATCT
+CCTGACCATAGCCGCGATACTGAATACCGTCATACATGCGACCAAGCACGCGGGCAGTGTCTTTAATCGA
+CTCTTTGTGACCAATCTGGCTGCCGCTTGGGCCGAGATAAGTAACGCGAGCACCCTGGTCATATGCGGCA
+ACTTCGAAAGAGCATCGGGTACGGGTCGAGTCTTTTTCGAAGATGAGCACGATGTTTTTGCCAGTGAGTC
+TGGCTTCTTCTTTACCGCTTTTCTTATCGGCTTTCAGCTTCGCGGCTAACTGCAACAAGCTGTTGAGTTC
+AGCTGGCGTGAAATCGAGTAATTTCAGGAAATGCTTATGATAAAACCCGGACATAGATCCCTCCTGTGGC
+TAACGCCTTAATGAATTAAAATTCAATTTATATGTATGATTATTCATTTGCAAGTCTAAAGCATAAATCT
+TTGTCACAAAGGTGGAGGCAATGTCAGTGGTGTGTGACAATAAGAGTATCGGCAGGACATTAAGAGGAAT
+AAGCCATGGCAAACCCGGAACAACTGGAAGAACAGCGTGAAGAAACACGTTTGATTATTGAAGAATTACT
+GGAAGATGGCAGCGATCCGGACGCGCTGTACACCATCGAACACCATCTTTCCGCAGACGATCTGGAAACC
+CTGGAAAAAGCAGCAGTTGAAGCGTTTAAACTCGGTTACGAAGTGACCGATCCAGAAGAGCTGGAAGTTG
+AAGATGGTGACATCGTGATTTGCTGCGACATCCTCAGCGAGTGTGCGTTGAATGCCGACATGATCGATGC
+CCAGGTTGAACAACTGATGACGCTGGCGGAGAAATTTGACGTTGAGTACGATGGTTGGGGCACTTACTTT
+GAAGATCCTAACGGCGATGACGGCGACGATGAAGATTTTGTCGATGAAGACGATGACGGTATTCGTCACT
+AATTAAGCGTTGACGACAAAGGCTGCGTTACCTGATGCGCTACGCATATCAGGCCCAGGTAGTTCCTGCA
+ACCTGGTGAATTTGTAGCCCGGATAAGGCATTTACGTCACATCCAGCATACTCAAAAAGCACGTGGTTAA
+TGTTCGAATGCCCGCGAGTCTAAGCTCGCGGGCATTTTTCAAAGTTTGCGTAGCATCCGTACTTCACAAT
+CGACATGACCCGTGCAGCCAAGCGCATAGTCGATATGCTCAAAGCCCAAATGCTCATAAAGCGCAATGGC
+TTCCTTTAAAAAAGCGGTCGTTTCCAGATAGCAGCGTTTGAAACCCATTTCTCGCGCCTGCTCCATTGCC
+ATTAAGGCCAGTTTTTTTGCCAGCCCTTTGCCGCGGATAGCCGGAAGAAAATACATCTTTTGCAGTTCGC
+AAATGTCTGACTCACTCCCGGTTAATGGCGCAATCCCACCGCCGCCGACCACTTCACCCTCGTACTCAAC
+CACCCAATATGCGTGGCCAGGCTGACTATACACTTGATACAGCTCGTCAAGGTTCGGATCGGCGACGGTG
+TAGCCTTTATCAGCGGTAAGACCGTATTCGGCGGATACCTGACGAATGACGTGGGCGATAGCAGGATTAT
+CGGCGACGGTAAGTTTGCGCAAACGGAGTGCGGGAGAAGCGACAACATTCATAGCATAGCTCAATTTCAA
+ATGTATGATTTATAGCTCACTTTAATACCACCCTCGCTTAGGTGGTGCAAGAAGAAGATAAATCAGAAAA
+TATTACGCATATCTCTCTGAGATAAAGCGTATTCTAGGCGAACCAGTATCAATTGACTGGAATTATTATC
+GGTATGAATGGAATTTATTTTAGGGATATAGTTCATGAATGATGTAAACATCGGGAAAGATAATTCTCGG
+CACTCGTTTGTTTTCACAGGCAAAGGTGGTGAGTATTTTCTTATTTGTCTTGTGAGTTTTTTACTGACAA
+TTATTACTCTGGGAATATATGGACCGTGGGCATTGATAAAATGCCGTCGTTATATTTATCAACATGTGAC
+ACTCAAGGGGCAACCATTTAGTTATAAGGGAACAGGTGGTGCCATTTTTGTTAGCATGTTACTTATTGTG
+GTGGTTTATCTTCTCAGTATTTCTTGTTTTGCAGGTCAACACTTTGCGCTCGGTTTATTCCTGTTTGCTC
+TCTTGATCTGCGGTATTCCTTGTATGGCAGTGAAGAGTCTGCAGTATCAGGCGAACATGACCTCACTGAA
+TGACATTCGCTTTGGCTTTAACTGCTCAATGATGCGTGCATGGTGGGTTATGCTAGGACTGCCTGTTCTG
+TTGGCGTTAGTTTTTTGGTTCGCACTGTATCTTATTGCGCAAGTGACGACATCGATAGGAGGCTTATTCT
+TTAACTTAGTCGCATTAAGTTTGCTTTCTGCCATCGGGCTAGGTGTTGTCCATGGTATAACCTATAGTAA
+ATGGATGCCATTGCTGGGTAATAATGCAACTTTTGGCATTCATAAGTTTTCTATTCAGGTAAACGTAAAA
+GAATGCATTAAAGGTTGCATGCTCGCAATATTAACCATGGTTCCTTTCATCATTGTGATTGGTATTATGA
+TCGCACCAGTATTCCAGCAGTTAATGATGATGACCATGTTGGGTAGGTCTGATGCTGGCAGTGAGTTTGT
+ATTACAATATTACCCGCAGATTATGGCTTCTTATTTCCTGTATTTTGTCGCGATCCTTGTTTTTGCCAGT
+TATCTCTATGTCACGTTACGCAATCTGTTTTTGAATAATCTGACGCTGGCAAATGGGACAATTCGTTTTC
+ATTCATCTGTTACCGCGATCGGTATGCTTCTGCGCATGTTGGCGGTATTAATGGGGTCCTCAATTACCTG
+TGGTCTGGCTTATCCCTGGCTGAAAATGTGGATGGTTAGCTGGATTGCTAACAATACCCATGTCCAGGGC
+GACCTTGATTCGCTGGAGTTAACCAATGATGACAAACCGCAGGATAGCGGTTCGTTAATGTGGATATCTC
+GCGGTATTATGCCGTATGTTCCGTTTATCTAAATAAAAAGGCCGGAGCACGCTCCGGCCTTCGTTTTCAC
+TATGAGTATTACAGCGCGGCGATAACAGCCTGCTGCTCAATCAGTTTCGCTTTCGCTTCCGCATAACCTT
+CCAGCTTCTCACGCTCTTTCGCGATGACCGCTTCCGGTGCGCGCGCTACAAAGCCTTCGTTCGCCAGTTT
+GTTCTCGATGCGGCTAATTTCACCTTCAATCTTCGCCACTTCTTTCGCCAGACGTGCCAGCTCATCTTCT
+TTGTTGATGAGGCCTGCCATCGGGATCAGCAGTTCTGCGCCGTCGACGATCTTTGTAACGGAAACCGGAC
+CTTTATCATCAGCAGGCAGCACGGTGATGCTTTCCAGACGCGCCAGCGTTTGCAGGAAGCCGCGGTTTTC
+ATTTACGCGACGTTCTGCATCCGCGCTGCAACCACGCAGCAGCAGCTCCAGCGGTTTACCCGGTGCGATG
+TTCATTTCTGCACGGATGTTACGTACAGCAACGATCGCCTGTTTCAGCCACTCGGTGTCGGCCAGTGCGG
+CTTCATCAACCTGAGACGCATCGTACTGCGGGAACGGCTGCAGCATGATGGTGTCGGCAGTGATACCGCA
+AAGTACTTTCACACGCTGCCAGATGGTTTCGGTGATGAACGGAATGATCGGATGCGCGAGGCGCAGCAGA
+CCTTCCAGTACAGTCACCAGCGTATGGCGAGTACCGCGCAGTTCGGCTTCTGTTCCACCGTTCATTACCG
+GCTTGGTCAGCTCCAGATACCAGTCACAGAACTGGTTCCAGGTGAATTCATACAGAATGCCTGCGGCGAT
+ATCGAAGCGGAAGCTGTCCAGCGCTTCGCGGTACGCTTTGATGGTCTGGTTGAACTCCGCCAGAATCCAG
+CGATCCGCCAGCGACAGCGTCATTTCACCGCCGTTGAAGCCGCAATCCTGACCTTCCGTGTTCATCAGCA
+CAAAACGGCTGGCGTTCCACAGCTTGTTACAGAAGTTACGGTAGCCTTCCAGACGCTTCATATCCCAGTT
+GATGTCACGACCGGTAGAAGCCAGCGCCGCCAGGGTGAAGCGCAGCGCGTCAGTACCGTGCGGCTCAATG
+CCGTTCGGGAACTGCTTCTCGGTGCGCTTACGGATTTTGTCCGCCAGCTGCGGCTGCATCATATTGCCGG
+TACGTTTTTCCAGCAGTTCCGGCAGCGAAATACCGTCAACCATATCCAGTGGGTCAATCACGTTACCTTT
+GGATTTGGACATCTTCTGGCCTTCGTCATCACGAATCAGGCCGGTCATGTAAACGGTGTGGAACGGCACC
+TGCGGTTTGCCATTTTCATCTTTGATGAAGTGCATGGTCATCATGATCATGCGGGCAATCCAGAAGAAGA
+TGATGTCGAAGCCGGATACCATCACGCTGGTTGGGTGGAACTGGCGCAGTGCGTCGGTGTTTTCCGGCCA
+GCCGAGCGTGGAGAAGGTCCACAGCGCGGAGGAGAACCAGGTGTCGAGAACGTCTTCATCCTGACGCAGC
+GCAACATCAGCACCGAGGTTATTTTCTTTACGCACTTCGTCTTCGTTGCGGCCAACATAAACATTACCCG
+CTTCGTCATACCATGCCGGGATACGGTGACCCCACCATAGCTGACGAGAGATACACCAGTCCTGAATATC
+GCGCATCCAGGAGAAATACATGTTTTCGTACTGCTTCGGTACGAACTGAATGTCGCCGTTCTCAACCGCT
+TCAACCGCTGGTTTCGCCAGTACATCGGCACGAACGTACCACTGGTCGGTCAGCATCGGTTCGATAACCA
+CGCCGCCACGGTCGCCGTAAGGAACGGTCAGGTCGTGCGGTTTAATTTCTTCCAGCAGGCCGAGCGCGTC
+AACCGCAGCAACGACGGCTTTACGTGCAGCAAAACGCTCCAGTTTCTGGAACTCTGCCGGGATTTCGCTG
+GAATAAACGTCAGATTCGTTACCTTTGGTATCGAACACCTGGGCGCTTTCACGGATATCGCCGTCAAAGG
+TCAGGATGTTGATCATCGGCAGGGCGTGACGTTTACCGACTTCATAGTCGTTAAAGTCGTGCGCTGGGGT
+GATCTTCACGCAGCCAGTGCCTTTTTCCATGTCGGCGTGTTCGTCGCCAACGATCGGAATACGACGGTTA
+ACCAGTGGCAGAATGACATATTTGCCAATCAGATCTTTATAACGCGGATCTTCCGGGTTAACGGCCACGC
+CAGTATCGCCCAGCAGAGTTTCCGGACGGGTAGTCGCAACCACCAGATAATCTTTACCGTCTGCGGTTTT
+CGCGCCGTCAGCCAGCGGATAGCGGATGTGCCACATCGAACCTTTCGATTCGCGGTTTTCCACTTCCAGG
+TCGGAGATAGCGGTGCGCAGTTTCGGGTCCCAGTTTACCAGGCGTTTGCCACGGTAAATCAGGTCTTCTT
+TATACAGACGAACGAAAACTTCTTTCACCGCATTGGACAGGCCTTCGTCCATGGTGAAGCGTTCACGCTC
+CCAGTCGACGGAGTTGCCGAGACGGCGCATCTGACGGGTAATGGTGCCGCCGGATTCCGCTTTCCATTCC
+CAGATTTTGTCGATGAAAGCTTCGCGGCCGTAGTCGTGACGGGTTTTACCTTCTTCTGCGGCAATCTTGC
+GCTCAACGACCATCTGGGTAGCGATCCCGGCGTGGTCAGTACCGACCTGCCACAGGGTGTTTTTGCCCTG
+CATGCGCTGATAGCGGATCATGGTATCCATGATGGTTTGCTGGAAGGCGTGACCCATATGCAAACTGCCG
+GTGACGTTCGGCGGCGGGATCATGATGCAGAAACTTTCCTGGCTTTCATCGCCATTAGGCTTAAAGTAGC
+CCTGCTTTTCCCAGTGCTCGTAAAGCGGCTGTTCGATATCTTGTGGGTTATATGTCTTTTCCATTATTTC
+CAGGTTGCCGTATTCAGGTTGAAACCAGCCACGCGGTAGGCTTTATAGCGTTCGCGCGCCAGTTGTTTCA
+GAGAATCTTCATAAGGAACGAAGTCTACCACTTCTGTGAAAGCGGTGGCAAAATCTGCAAAGCTTGTTCG
+CAGACTAATCAATATATCGCGCGGGCTGCTGCTGCGCTTTTGCGGCCAGGCGATCTCCACCGGCGCACCG
+CCGCGCGGTCCTTCTCCCGCTAAATTATGCGGAACAAAGCTTTCTGCCGGACGCGCCCACAGGGCTTCAT
+CCAGTCGGTAAGCCTGCTTTTCATCTTCACAGGCGATGAGTACGCGCTTACCACTGCGCCAACGTTCTGC
+GGCAATTTCACACACCAACTGCTCAACGGCGCTTAAGCCATCGACGGTGGTGTCATTGTCCAGAAGGTAG
+AACGTTGCGTTTTTCATATATGGGGCTTCTTGTGGTGGATTTAAATACGCATCAGGTATACACCGCAGCG
+CCTGATGCGACGCTGCCGCGTCTTATCAGGCCTACAAGTTAAGTGCTGTGTGTAGGTCGGATAAGGCGTT
+CACGCCGCATCCGACAATAACAGCCTTGCCTGATGCGACGCTGTCGCGTCTCATCAGGCCTACGAGTTCA
+GTGCTGTGTAGGTCGGATAAGGCGTTCACGCCGCATCCGACAATAACAACACAGCCTGATGCAATTACTC
+TTCGCCGTTAAACCCGGCGCGGTTTAGCAGGAACTGTGCCAGCAACGCCACCGGGCGACCGGTTGCGCCT
+TTCGCCTTACCAGAACGCCAGGCAGTACCGGCGATATCCAGGTGCGCCCAGTTATACTTACGGGTAAAGC
+GCGACAGGAAGCAACCTGCGGTAATCGCCCCACCAGGACGACCGCCAATGTTCGCCATATCGGCAAAATT
+GGACTCCAGCTGTTCCTGATACTCGTCACCCAGCGGCAAACGCCATGCGCGGTCACCGGATTGTTCAGAT
+GCGGCAATCAGTTCATGGGCCAGCGGATTGTGGTTCGCCATCAGACCGGTAATGTGATGGCCTAGCGCGA
+TAACGCAGGCACCGGTCAGCGTCGCCACGTCAATCACCGCTTCCGGCTCAAACCGCTCAACGTAAGTTAA
+TACGTCGCACAGTACCAGGCGGCCTTCAGCGTCGGTATTCAGCACTTCAACGGTTTGACCGGACATGGTG
+GTTAACACATCGCCCGGACGATAGGCACGACCGCCAGGCATGTTTTCGCAGCCTGCCAGCACGCCGATAA
+CGTTAATCGGCAGTTGCAGCTCCGCGACCATCCGCATCACACCGTAAACCGCTGCCGCACCGCACATATC
+GTACTTCATCTCATCCATGCCTTCTGAAGGCTTGATCGAGATACCGCCGGAGTCGAAGGTTAAACCTTTA
+CCCACCAGCACGATTGGGCGTGCATCTTCCGACGCGTTGCCTTTGTACTCAATCACCGACATCAGCGATT
+CGTTTTGTGAACCCTGACCGACCGCCAGATAAGAGTGCATTCCCAGCTCTTTCATCTGCTGTTCGCCGAT
+AACGCGGGTGATGACATTCTTGCTGTAGCTGTCAGCCAGCTGGCGCGCCTGAGAGGCGAGATAAGCGGCG
+TTACAGATATTCGGCGGCATATTACCGAGATCTTTCGCTGCTTTTATCCCGGCGGCAATCGCCAGACCGT
+GCTGGATCGCGCGCTCACCGCTGGTCAGTTCACGGCGGGTCGGCACGTTGAACACCATCTTACGCAGCGG
+GCGACGCGGTTCGCTCTTATTCGTTTTCAACTGATCGAAACTGTAGAGCGTCTCTTTTGCTGTCTCGACA
+GCCTGACGCACTTTCCAGTAGTTGTTACGGCCTTTAACGTGCAGTTCAGTCAGAAAGCAGACCGCTTCCA
+TCGAGCCAGTATCATTCAGCGTATTAATGGTTTTCTGAATAACCTGCTTGTACTGACGCTCATCCAGCTC
+ACGTTCTTTGCCGCAACCAATAAGGAGAATTCGCTCGGAAAGTACATTCGGAACATGGTGCAGCAACAGT
+GTCTGCCCCGGTTTTCCTTCCAGTTCGCCCCGACGTAGCAGGGCGCTGATGTACCCATCGCTGATTTTAT
+CGAGCTGTTCTGCAATCGGAGAAAGGCGACGTGGTTCGAAGACGCCCACGACGATGCAGGCACTCCGCTG
+TTTCTCCGGGCTACCGCTTTTTACACTAAACTCCATGCACTACGCTCCTGAATCTTAAAGACAACGGCGG
+TGGCTACAGATAGAATTGCAAGCTTTCGTAACTCATGTCCGCTGTTGCGATGACTTCGTGTTAATCTTAA
+CGTTATTACGGCATTGGCACGTCAGAACAAAATCTGAGAGGTGAATCCGTTGAGTATAATTATCTTAGCG
+ACGATTTCGACGACTCAAGAGAATAAATGACGTTTAAGCCATGAAACAAGCTAAAATCCTGCAAAAGACG
+AGTTTTTACGGGCGTATTTAAAGTGATAATCATAAGATATCTGGTGCGGGAGACGCTCAAAAGCCAGCTG
+GCGATACTCTTCATCTTGCTTTTGATCTTCTTCTGTCAAAAGTTAGTGAGGATCCTCGGCGCAGCGGTTG
+ACGGCGATATTCCGGCGAATCTGGTGCTCTCCCTTCTCGGGTTGGGCGTGCCGGAAATGGCGCAGCTTAT
+CCTGCCATTAAGCCTGTTCCTCGGGCTGCTGATGACGCTGGGCAAACTGTATACCGAAAGTGAAATTACG
+GTAATGCATGCCTGCGGCCTGAGCAAAGCGGTTCTGGTGAAAGCGGCAATGATCCTTGCGGTATTCACGG
+CAATCGTCGCGGCGGTTAACGTGATGTGGGCGGGACCGTGGTCATCGCGTCATCAGGATGAAGTGTTAGC
+AGAAGCGAAAGCGAACCCTGGCATGGCGGCGCTGGCGCAAGGGCAATTCCAGCAAGCGACTAATGGCAGC
+TCGGTGCTGTTCATCGAAAGCGTTGACGGCAGCGATTTCAAAGATGTGTTCCTCGCGCAAATTCGACCAA
+AAGGTAATGCACGTCCTTCTGTGGTGGTGGCCGATTCCGGACATTTAACCCAGCTGCGCGACGGCTCCCA
+GGTCGTCACTCTCAACCAGGGAACGCGCTTCGAAGGCACTGCACTGTTACGTGATTTCCGCATTACGGAT
+TTCCAGGATTATCAGGCGATCATTGGTCACCAGGCGGTGGCGCTCGACCCGAACGATACCGACCAGATGG
+ACATGCGTACATTGTGGAACACTGACACCGATCGTGCCCGCGCAGAACTGAACTGGCGTATCACGTTGGT
+ATTCACCGTGTTTATGATGGCACTTATGGTCGTACCGTTGAGCGTGGTTAACCCGCGTCAGGGACGCGTA
+CTGTCGATGCTGCCAGCCATGCTGCTGTATCTACTTTTCTTCCTGATCCAGACCTCCCTGAAATCGAACG
+GCGGTAAAGGTAAGCTGGACCCGACGCTGTGGATGTGGACCGTTAACCTGATTTATCTGGCTTTGGCGAT
+TGTTCTCAACCTTTGGGACACCGTGCCGGTCCGCCGCCTGCGCGCCAGTTTTTCGCGTAAAGGAGCGGTG
+TGATGCAACCTTTTGGCGTACTTGACCGCTATATCGGTAAAACTATTTTCACCACCATCATGATGACGCT
+GTTCATGCTGGTGTCGCTGTCGGGCATTATCAAGTTTGTCGATCAGCTGAAAAAAGCCGGGCAGGGGAGT
+TACGACGCGTTAGGCGCAGGAATGTATACCTTGCTGAGCGTGCCGAAAGATGTGCAAATCTTCTTCCCGA
+TGGCGGCTCTGCTTGGGGCGTTGCTTGGTCTTGGGATGCTGGCGCAGCGCAGCGAACTGGTGGTGATGCA
+GGCTTCTGGTTTCACCCGTATGCAGGTGGCGCTGTCGGTGATGAAAACCGCCATTCCGCTGGTCTTACTG
+ACGATGGCGATTGGTGAATGGGTCGCGCCGCAGGGCGAGCAGATGGCGCGTAACTACCGTGCGCAGGCGA
+TGTACGGCGGCTCGTTGCTCTCTACCCAGCAAGGTTTATGGGCGAAAGATGGCAACAACTTCGTCTACAT
+TGAGCGGGTTAAAGGTGACGAAGAGTTAGGTGGCATCAGCATTTATGCCTTTAACGAGAATCGTCGTCTG
+CAATCCGTACGCTATGCCGCTACTGCGAAGTTTGACCCGGAACATAAAGTCTGGCGTCTGTCGCAGGTTG
+ATGAATCTGATCTGACCAATCCGAAACAGATTACCGGTTCGCAGACGGTGAGCGGCACCTGGAAAACCAA
+CCTCACGCCTGACAAACTGGGCGTGGTGGCGCTGGACCCGGATGCACTCTCTATCAGCGGTTTGCACAAC
+TATGTGAAGTATCTGAAGTCGAGCGGTCAGGATGCCGGACGTTATCAGCTCAACATGTGGAGCAAAATCT
+TCCAGCCGCTATCTGTGGCGGTGATGATGCTGATGGCGCTGTCGTTCATCTTTGGCCCACTGCGTAGCGT
+ACCGATGGGCGTGCGTGTGGTCACCGGTATTAGCTTCGGTTTTGTCTTTTACGTACTGGACCAGATCTTC
+GGTCCGCTGACGTTGGTTTATGGCATCCCGCCGATCATCGGCGCACTGTTGCCAAGCGCCAGCTTCTTCT
+TAATCAGCCTGTGGCTGTTAATGAGAAAATCGTAACCGAATGAACGCATAAAGGGAGCGAAAGCTCCCTT
+TATTATTGTTAGCAAAGTGTGCTTCGTTCATTCCTGAAAAATAATTAAAATTCAATATATTGCTGTGGGG
+TGGGCATGATAAGACGCGCCAGCGTCGCATCAGGCAAAGACAAATCTCGCCTGACTTACCTTCTTCTCCC
+CCCCAGCAAACTCCCCAACATCCCGCGTACAATCTGATTCGTCACCTGGCGAGCGGCGCTTTTGGCCATT
+GTTTGCACCACACCATCTTTCTTCCCGCCGCGTGGTCCGGTAGTGCCAAACAAAATATCCTTCAATCCAC
+CAAGAATGCCGTCATCCACCGCCACCTCTTTCCCTTTCACGGCAGGATTATTTTGCTGCTCGGTGCTTGC
+CTGTACGCCTTTTTGCAACATCTCATAGGCGGATTCCCGGTCCACGTCATCCTCGTACTTGCCATACACC
+GGAGAGTGATTAATCAAGCCATTACGCTCATCTTCCGTCACCGGTCCCATCCGCGAACAAGGCGCAATCA
+CCATCGCCCGTTCCACCACAGAAGGACTTCCTTTTGCATCGAGAAACGAGATTAACGCCTCGCCGGTCCC
+CAGTTCCTGGATTGCCTTTTCGGTATCAAATGCCGGATTGGCCCGCATGGTTTGCGCCGCTGCCTTCACT
+GCTTTCTGATCTTTTGGCGTAAAAGCCCGCAAAGCGTGCTGAACGCGATTACCGAGCTGCCCGAGCACAT
+TATCCGGAATATCAGACGGGTTTTGCGAAACGAACCAGACGCCCACGCCTTTTGAGCGAATAAGTCTTAT
+CACCTGCTCAATCTTATCCAGCAGTACCTGCGGTGCATCGTTAAACAGCAGATGTGCTTCGTCGAAGAAA
+AACACCAGTCTTGGTTTCTCCAGATCGCCCGCTTCCGGCAATTGTTCATACAACTCTGAAAGCATCCACA
+GCAGGCTGGCGGCGTACAGTTTCGGCATCTGATAAAGTTTCTCGGCGCTGAGGATATTGATAACGCCTTT
+ACCGTTGGCATCGGTGCGCATCCAGTCTTTGATATCCAGCATCGGCTCACCAAAGAAGTGTGCTGCGCCT
+TGCTGTTCCAGCGACAACAGCCCGCGCTGGATGGCACCAACCGATGCGCTACTGATATTTCCGTACTGAT
+TCTGGAAAGATTTGGCGTTATCGCCGATGTACTGGGTAATCGCCCGCAAATCTTTAAAGTCGAGCAGCAA
+CAATCCCTGATCGTCAGCAATACGGAAGATGATATTCAGCACGCCAGATTGCACATCGTTGAGATTCAAC
+AGCCGCGCCAGCAACAGCGGCCCCAGGTCTGAAACCGTCGCCCGCACCGGATGGCCTTTCTCGCCAAAGA
+TATCCCACACCACCACCGGATTGGCATGCGGTTGCCAATCATTGACGCCGATATTTTTAAGCCTTGCGAG
+CAGTTTTTCCGACGCCGTTCCTGCCTGCGCGATACCGGTCAGATCGCCTTTCACATCAGCCATAAACACC
+GGCACGCCGATTTCCGACAATGACTCTGCCAGTTTTTGCAGCGTAACGGTTTTACCTGTCCCCGTTGCGC
+CAGTAATCAGTCCGTGACGGTTAGCCATTCCCGGCAGTAAAAAAAGTTCTGTGTCCGGCGTGCGGGCAAT
+TAACAGGGGTTCGCTCATGAGATTTCCTCCAGTTTCCTGCCTGGAGTATAGGCAACGTCCGGCAAAGAGA
+ATACGTGTAATGAAGAGAAAATAACCTAAAGCGTGTTGCCGTGATAAATCTGATACCCGAGGTCAACAGT
+GTTGTGCTTGTGATCGTTATTTTTAATTTTGCTCAGCAACATTTGGGCAGCCGTCCGACCAATATCAAAA
+CGGGGAGTAATTACGCTGGCGAGGCTTGGGATCATTTGCCTGCCAATCTCCAGCCCATGAAAACCCGCAA
+TGGAAATTTGTTCTGGCACGGCGAGTTTTCGCTCGCGGCACAGTAGAAGCGCACCCATCGCAATATCGTC
+ATTGGTGCAAAATACACCGTCTAAATCCGGGTTTGCGCTAAGGGCATCACGCATTAACTGCATTCCTAAA
+TGAATGGATGAGATGGCGCGTGGATTCATGCGTAATGGGGAAAGATTATGCAGCATCATCGCATCGCAAT
+ACCCCTGATAACGCTGTTCATCGCGGGTGTCATCTTTGGAACCGAGATACAGAATTTTGTGCCTGACTCG
+CTTCTCCAGCATGGTACACACCATGTCAAAAGCGGCCTGCCGATTATCAAAACCGACCTCCATATCCAGC
+CGTTCTCCCTGTACATCCATCAATTCCACGACCGGAATGGTGGCTGAACGCAGAAATTTCACCGTCCTGA
+TGGTGTGATATTTTTCCGAAAGTATAATCCCGTCAATGTTATAAGAGAGCAGGTTAATCACCGACTCTTC
+TTCGGAATCGCGATCGTAATTGTAATTAGCAATAATGGTCTGATAATTATGCACAGAGGTGACGGATTCT
+ATTCCCGCGAGAATGTCAGCGAAGAGTTGATTTTGAAATGACGGAATCAAGATACCGAGGGTATAACTTT
+GTGCATTCAACAACATGCCGGGAGCGCGATTAGGGATATAATTGATCTCTTCCATAATTTTGGCGATGCG
+CTCGCCTGTTTCCTTTGCCACCTTTTTCGGCGAGCGGATATAACGACTCACGGTCATTTTTGTTACGCCA
+GCCAGCGTAGCGATATCCTGTAAAGAAATTCTGTGATTGCGCATAACTTCTCCCAACGTCGGGGGAATCT
+TCAATCTTCCCCCGAAACTACATCACAATATTTTATTCTTTCAGTGCAATACGGCGTTAATGGCTAACAC
+GCCCAGCAAACCCATAATAGAAATAAGGGTTTCCATCACCGTCCAGGTACGCAACGTTTCACCAACCGTC
+AGATTAAAATACCCTTTAAATAGCCAGAAGCCAGGGTCGTTTACGTGTGACGCGATCACGCTGCCCGCAC
+CGGTTGCCAGTACCATTAAAGCGGGATCGGCATGGGTAACGTTGATAATCGGCAACACCACACCCGCGGT
+GGTAATGGCCGCGACGGTGGCAGAGCCCAGAGCGATACGCAACAGCGCCGCGACAGTCCAGCACATCAAT
+AACGGCGAAAGTGTAGTTCCGGTCATTAAGTGTGAAATATACTGCCCGACACCGCTATCTACTAATACCT
+GCTTAAACGCGCCGCCGCCAGCGATAATAAACACAATCATCGCGATAGCGCCTATAGAATCCCCAATGAT
+ATCCATGATTTGCTCGATGGTGCGTCCATTACGTCGGCCCAGTGTGAAAATCGCAATAACAATGGCAATA
+AACAGCGCAACGGCAGGGTTACCGACAAATTCAAAGAAGAGGCGCACGGTGTTAGTTTTCGGTAACGTAA
+TTTCACAAACGGCGGCGATAGCCATCAGGATGACCGGGATCACGGCAGCGAAAATACTGTTCCAGAAGGA
+GGGCATCTCCTCTTCGCTAAACAGATGAGGATTAAATAAGCCTTCCGGTGGTGCTTTCTCAAAGCGAGTT
+AGCAGTTTAGAAAACAGCGGTCCTGCGACAATAACTGTCGGAATGGTAATGATAAATCCATACAGTAAAG
+TCGTTCCGAGATTAGCCTCAAAGATAGTCGCGATGGCAGTAGGCCCTGGATGTGGCGGCAGAAAACAGTG
+GGTTACAGAGAGCGCTGCTACCATTGGTACGCCAACATACAACAGGGGTAATCCTGATGATGCTACGATG
+GTAAATACCAACGGCAACAGCAGGACAAAACCCACTTCAAAAAACATGGCGAGGCCCACAACCAGACCGG
+TGATCACTAGCGCCCATTGCACGCGTTTTTTACCAAAAGTAGCAATCAGCGTAGTGGCGATACGTTGTGC
+CGCACCCGTATCAGAAATCAGCTTGCCTAACATGGCCCCGAAACCGAGGATCATTGCCAGCCCGCCGAGC
+GTGCTGCCGATACCATTTTGTATAGAGTGCAGGACGGCCTGTGCATCCATCCCTTCGGCAAATCCGACGA
+CGGCAGCTACCAGAACGAGGGCAATAAAGCCGTTAACTTTAAAGCCGATCATCAGGATAAGAAGCAGCGC
+GACGCCTGCCGCAATAATGATTAATGGCATAGTCTTTATCTCTTATTAGTGCCAGAAAAGCAGCGCTTTC
+GCGCTGCACGTAGGGTAGTAGGTGTTAAACAGCCACTAACATGCCGCCATCAACAAACAACAGGTGGCCG
+TTTACGAAATCAGAGGCTTTTGAAGAAAGGAACACCGCAGCACCAATCAGTTCCTGCGGATCTCCCCAGC
+GTGCGGCGGGGGTCCGTTTGCACAACCAGGCGGTGAAGGCTTCGTCCTCAACCAGTGCTTTAGTCATTTC
+TGTTTTGAAATAGCCCGGCGCAATACCGTTGACCTGAATATTGTGGCGCGCCAGCTCGACGCACATGCCG
+CGGGTGAGCATTTTTACCGCCCCTTTCGATGCGGCATAAGGGGTGATGGTGTCACGTCCCAGTTCGCTTT
+GCATCGAGCAAATATTAATAACTTTACCTGCCTTGCGTTCAACCATGTGACGAGTTACCGCTTGCGACAC
+CAGGAACACGGCGGTCTGGTTTACTGCGATCACATCATTCCACTCTTGTTCAGGGAACTCAGTAAAAGGA
+TGACGGCGCTGGATACCGGCGTTATTCACCAGCACATCAATGGGGCCGATGTCCTTTTCGATATGTTCAA
+CGGCGGCATCAATTTCATGTTTATGAGTAACATTAAAAGGTGCGGCAACGGCCTGAATACCCTCCTGGTG
+GAGTTTTTTTACAGCAAGTTCTGCGCGTTCGGCAGTAATATCATTAATAATTATTTGTGCGCCATATTTA
+CCCAGGCCGGTTGCCAGTAAAAAGCCAATGCCCTGTGCTGAACCGGTAATCAAGATATTTTTTCCTGCCA
+GTGAAAATAGATCGTTCATTGTATTATTCCTTTATTTATCTCTTAGAAAACAAGCTGGACTTTTGCTGCC
+TGGGTTTTATCACCGGCGAAACGTAGCGCCTCTTCCAGGTCAGTGAAGGGATATTCAGCACTCAGTAAAG
+GCAGTGGATTGATAACGCCATTCGCCAGCCATGACACTGCGGTATTAAATTCGCTGGTAAAACGGAAAGA
+GCCTTTGAGTGAAATCTCCTTACCAATCAATGTCATCATTGGGAATTCTGCCATCGCGCCTCCCATCCCT
+ACCTGCACCATTACGCCGCGTGCACGAGTGACCTCCAGACAGGTATTCACTGATGAAGGATGACCGGACA
+CTTCAAAGCTGACATCGAAATAGCCTTTTTCCGCTTTCCAGTGATCCATGTCGTCGTTTTGTGGGTTTAC
+GAGCACATCCGCCCCCATCTCTTTGCCCAGTGAAAGGGAACGGGGACTCACATCGGCACAGACAATTTCC
+GCGGCCCCCAGTGTTTTCACAGCACTGACAATCAGGCAGCCAATGGGCCCAACACCAGAAATAAATACTC
+GCTTGCCCTGTAACTCGCCGGCCTGATGTGCGGCATGAATCGCGACGGCTAAAGGTTCGGCAAAAGCCAT
+AACCTTTTCGTCAGCTTTGGCCGGATAAGGGACACATTGCGACGTTTCGACCATTTTATAACGGGTAAAG
+CCACCATCAACATGAGGGAAATACATGGCACTGCCAAAAAAACGCATCTCTGTACACTGATTCTCGTTAT
+GTTCAATGCAGTATTTGCAGTGACCGCACGGTTTAGACGGATTAATGGCTACCGTTTGCCCTTCATGTAA
+TTTTGATGAGTCGCTATGAATAACTTTACCGATAACTTCATGACCTAACACCATCGGTGCCTTTATCATG
+AAATTACCTACTTTTCCTTCCTGATAATAATGTAAATCGGAACCGCAAATTCCACCTCGGGTTATTTGTA
+CTAATGTTCCATTATTATTCCAATCTATCGTCTGCTCGGTAACGGCAACAGTTTTCTTGCCCGCAACAAC
+GCAGGACTGTGTTTTCACTTGCATAAATTCCTCACTGGTCAGGTAGACACCTCGGAAGCATTTAAGCGGT
+TTTAATTGTCATTATTTGTGATGAAGATCACGTTAGAAAATTGTTACATTACGATGTTACGCATAACGTG
+ATGTGCCTTGTAATTCTTATCAGCAGAAATAAAAAAACGTGAAATTATTATGCCACCAGGCGTAGTATCG
+CAGCAGGTAAGATGATTCAGGAGATTTTAAATGGCGGGTGAAAGCTTTATTTTGATGGGCGTTTCAGGGA
+GTGGTAAAACATTAATTGGTAGCAAGGTTGCCGCGTTATTATCTGCTAAATTTATTGATGGTGACGATCT
+TCATCCAGCCAAAAATATAGATAAAATGTCGCAAGGGGTACTTCCAATTATCTGATGAAGATCGACTTCC
+CTGGCTGGAACGCTTAAATGATGCTTCATACAGTCTTTATAAAAAGAATGAAACAGGATTTATTGTCTGT
+TCATCATTAAAAAAACAGTATCGTGATATTTTACGCAAGGGTAGCCCCCATGTTCATTTCCTCTGGTTAG
+ATGGCGACTATGAAACTATTCTCGCGCGAATGCAGCGTCGGGCTGGGCATTTTATGCCGGTAGCGTTACT
+AAAAAGTCAGTTTGAGGCACTGGAGCGTCCACAAGACGATGAACAGGATATTGTGCGCATTGATATCAAC
+CATGATATTGCCAATGTCACCGAACAATGTCGGCAGGCTGTGCTGGCGATACGACAAAACAGAATATGTG
+CGAAAGAGGGCAGCGCCTCAGATCAGCGCTGCGAATGATTTTCAAAAATCGGCTTTCAACACCACGCGGT
+AACGCGCCTTACCGTCGCGCACATGCTGGATGGCGTCGTTAATTTTCGACATCGGGAACAGTTCGGTAGT
+CGGCGCAACCTTGCTGCGGGCGGCAAAGCGCATCAGCTTACGCAACTCATAAGGTGTACCGGTAGCAGAG
+CCAGAGACACTGCGATCGCCCGCAATCAGCGTAAAGGCCGGAACCGGCAACGGCGTGAGAACCGCACCGA
+CGGTGTGGAAATTACCGCCATACGTCAGCGCCTCAAAATAAGGCTGCCAGTCGAGGCTGACGTTCACAGT
+ATTGATAATGAGATCAAACTGCCCCGCCAGAGTTTTCAGTGCCTGCGGATCGCGGCTATTCACCACTTTA
+TCGGCACCCATCGCCAGTACTTCCTGCTCTTTCGCCGGATTTGAACTAAAGGCTGTCACCTCGCATCCCA
+TTGCGTGCAGAAGTTTTATAGCGATATGTCCCAGCCCGCCAATACCAATTACCCCAACGCGGCTGGTAGC
+AGTGATATGGTGCATCAACAGTGGTTTAAAGACCGTGATACCACCACACAGCAGCGGCCCGGCGGACTCT
+ATATCGATATTTTCCGGCAGTGGGATCACCCATTGCCAGTCTGCACGCAACTTCTCGGCAAAACCGCCGC
+GATTCATAATTGTTGGCACCGCACCTTGCTCGCAGTTGATCTGATTACCGCTAATACAGGCATCGCAATG
+CCCGCAGCTACGCGCCGTCCAGCCAATCCCGACACGCTGACCGACCTGCAAACCTTTATCCTGCGCGGCG
+CTCCCGAGCGCCACCACGCGACCAATCACCTCATGCCCGGCAACCAGCGGATATTGTGAAAATCCCCATT
+CGTTATCGATCATCGACAGATCGGAATGGCAGATCCCGCAGTAATCCACCTGCACTTCAACATCTTGTGG
+CTTCAGTTCACCGGGATCGTACTCATAAACTTCCAGTTCGCCGCCTGCTTCTTTTGCGGCATAGCTTTTT
+ATCATCGACATTTTTTGGTCCTTCTCTAGTGTTGTCTGGGAAGTGTAGAGCATGGCAGGGCGGGGTGCCT
+GGAGTGTGACAAAGGTTACACATCGCTGTATGCAATGCTGAAAATTTCAGCACTTAGCGAGGTGCGAGCA
+AGCTGGCGCTTGCATGGTGGCGTGCGACAGGTATAATCCACAACGTTTTCCGCATACCTCTTCAGTGCCG
+AAGTGGCGAAATCGGTAGACGCAGTTGATTCAAAATCAACCGTAGAAATACGTGCCGGTTCGAGTCCGGC
+CTTCGGCACCAAAAGTATGTAAATAGACCTCAACTGAGGTCTTTTTTTATGTCTAAAATTCAGTATTTAT
+CTACCTTTCCAGCTATATTAACTCTCTCAAGGTCAACTGATATCAACGTACATCTACCAACACATGTTGG
+TACAGATGATGGTATTTCCGGTTCGATAATGCTTGTACCAACAGGGAGGGAATACGCATGGCATTAACAG
+ATCTCAAAGTCAGAACAGCCAAGCCAGCGGATAAGCAATATAAGCTGACTGATGGTGGCGGTATGCATCT
+GCTTGTCCATCCAAATGGTTCTAAGTACTGGCGTTTGCAGTACCGTTATGAGGGAAAGCAAAAGATGCTA
+GCACTTGGGGTTTATCCTGAAATCACACTAGCGGATGCTAGAGTACGTCGTGACGAGGCGCGTAAGCTGC
+TTGCGAATGGCGTCGATCCGGGAGATAAAAAGAAAAATGATAAGGTTGAACAGAGTAAAGCACGGACCTT
+TAAAGAAGTCGCGATCGAGTGGTATGGCACCAATAAAAAGTGGTCAGAAGATCATGCCCATCGTGTGCTA
+AAAAGTCTGGAAGATAATCTTTTTGCAGCGCTTGGTGAACGTAATATTGCTGAGTTAAAAACTCGAGATT
+TATTAGCACCTATTAAAGCCGTGGAGATGTCTGGACGTCTTGAGGTGGCTGCTCGTCTTCAACAGCGTAC
+TACAGCCATCATGCGCTATGCAGTGCAAAGTGGGTTAATTGATTATAACCCGGCACAAGAGATGGCTGGG
+GCGGTTGCTTCCTGTAATCGACAACATCGTCCCGCGCTTGAATTAAAGCGCATCCCTGAGTTGCTTACAA
+AAATAGATAGCTATACTGGTAGGCCGCTAACCCGATGGGCGACAGAACTTACTTTGCTGATCTTTATTCG
+GTCCAGTGAGCTGCGTTTTGCTCGTTGGTCAGAGATCGATTTCGAAGCGTCTATATGGACTATCCCACCG
+GAGCGGGAGCCTATTCCTGGAGTGAAACATTCCCATAGAGGCTCAAAAATGCGTACAACGCATCTAGTGC
+CTCTTTCAAGGCAAGCCCTTGCAATTTTAAAGCAGATAAAACAGTTTTGTGGGGCTCATGACTTGATATT
+TATTGGTAATCACGATTCGCACAAGCCCATGAGTGAGAATACAGTAAATAGTGCGTTACGGGTCATGGGG
+TATGATACAAAAGTTGAGGTCTGTGGTCATGGTTTCCGAACAATGGCCTGTAGTTCATTGATCGAATCAG
+GTTTGTGGTCTCGTGATGCTGTTGAACGTCAGATGAGTCACATGGAGCGAAATTCAGTGAGGGCTGCGTA
+TATCCATAAAGCAGAACATCTGGAAGAACGTCGACTGATGCTACAGTGGTGGGCTGATTTTCTGGATGCG
+AACCGGGAGAAGGGTATCAGTCCGTTTGAATATGCAAAGATTAACAATCCATTAAAATAGTAAGCAGTCC
+GGGCAATCAGCCCGGACTGCTTTAACTAATTATTTTTCTTTGAAATGATGACGAAGATTGATGTTTCTGA
+CAAGTTACTCCGGCTTCCATTAAAGTCCCTTCGTCACGTTCTTCAGGCTATTTATGACTGTGATTAGCAC
+CAGGAATATATGGTTTCCATGAGAGCAGGTAATAACCCCCGGTGTTTTCGGCTGCTCTGGTATCCCCGTC
+CAACACAGGCAGTTATTATAAACGGTAAAAAATGTATTCACTGTTATGAAATCAATAGTCCTGACGTACT
+GTTTAATGAGCTTGTGTTCTGAACCTCGTACAACCAGTTCATTTGATATCGAATTATAAACAAAATATTG
+CATCCAACTTTTTCAATATGGACAATAGCTGTCCATACGGTGATTTTATATTCGATAAATCAATGGATTT
+CATTGAGTCACAGGACTGGTAATGGATAAAAATGCTTTAGGGTTTGCCTCATACTGGCGCAACTCGCTTG
+CGGATGCTGAGTCAGGAAAGGGCAGTTTTAAACGGAAAGACGCCCAAAATTTCACTCACTGGCATGGGAT
+AGCGGCGGGACGTCTTGACGAAGCGATTGTCAGTAAATTTTTTGAGGGAGAAAAAGACGATGTCGAAACG
+GTCGATGTCATCTTGCGCCCAAAAGTTTATTTCCGGTTACTGCAGCATGGTAAGGACCGTTCCGCAGGCG
+CGCCTGATATTGTTACCCCGATAGTGACGCCAGCCTTGCTAAGCCGTGAGGGTTTTTTATATCCGACGCC
+AGCGACATCCATTCCCAGAGACCTGCTTGAACCTTTGCCAAAAGGAGCATTTTCGATTGGTGAGATTGGG
+CAGTATGACAAATACAAGACAATCCATACCTCATTCTCTATCAACTTTGATGACGGCATTGATAAGACTG
+CCGAAACGGATGAAGAACGGGAAGCACGATATGCAGCCTTGCAGCAGGAGTGGCGTCAATATCTGGATGA
+TTCAGAGAGGCTACTGAAGAACGTTGCCGGCGACTGGATTAAAAATCCTGAGCAATATGAACTCGCTGAG
+CACGGTTATATTGTTAAAACGGCGCAATCTGGCGGTGCCAGTTTCCATATCCTTTCTCTTTATGAACACC
+TGCTTGTTTGCAAGAAGGATGTGCCGCTCTTCAATCGCTTCGCCTCGCGAGAGGTTCATGCTGCAGAGTC
+TTTGCTGGCCCCAGGCGCAAAATTCAGCGACAGGCTTGGACACTCCGGAGATAAGTTTCCGCTGGCAAAG
+GCTCAGCGCGATGCCTTAAGCCATTTTCTGGATGCAAGACATGGCGATATCCTTGCTGTTAATGGCCCTC
+CGGGAACCGGAAAAACCACGCTGGTGCTTTCTATCATCGCCACGCAGTGGGCCAGAGCAGCTCTCGAAAA
+ATCTGAGCCTCCGGTTATTATCGCGACTTCAACGAATAACCAGGCTGTAACGAACATTATTGAGGCATTC
+GGGAAAGACTTTTCGCAAGGTTCAGGTGCGATGGCCGGGCGATGGTTGCCAGAGCTGAAAAGTTTCGGCG
+CTTATTTTCCCTCAAGCAGCCGTAAAGCTGAAGCAGCCAAAAAATATCAAACTGAAGATTTCTTCAACCA
+GGTTGAGTCAAAAGAGTATGTAGAAGATGCACTGCTGTTTTATCTCGAGAAAGCTAAGGCAGCTTTTCCT
+GAAAAAGAGTGTTCATCCCCTGAAAAGGTCATTGAACTCCTGCATGGTCAGTTGGCAGCAAAATCCGAGC
+AACTGATAAGACTGAACGCAACATGGCAAACGTTAAGCCAGGTACGGGCTGCGCGTGAGCTTATTGCTAA
+CGACATTGAGCAATATCTCGATAATTTAAATAAATTACTTTCCGGACAAGAACAAAAAATCACTCTACTG
+AAAAGTGCTAAAACGGAATGGAAAAAATATCGCGCCGGTGAATCACTGATCTATTCATTATTTTCCTGGC
+TCCCGGCGGTTCGCAGTAAGCGACAGTACCAAATACAACTGTTTCTCGAAGATAAATTAGGTGCGCTGAT
+TGCAGGAAATCAGTGGTCTGATCCTGAAACTATCGAACGTAATATTGATGGGCTGCTCAATTCCGCTGAG
+CGCGAGCAAACAACATACCGGCAGCAGATTGACTCCGCCCATGAAATCATTCTTAAAGAACAGCAGGCGG
+TTCAGGAGTGGCAGAGACTGGCTCTTGATTTAGGGTATGAGGGCGACGAGGAACTGAGCTTCTCACTGGC
+CGATGAACTGGCTGATACGCAGATTCGCTTCCCTGCATTTTTACTGACGACTCACTACTGGGAAGGTCGT
+TGGCTGATGGATATGGCCAGCATTGATGATCTGCAGGAAGAGAAGAAGAAAAAAGGCGCTAAAGGGGTAA
+CCGCCCGTTGGCAACGTCGAATGAAACTCACTCCATGTGTGGTGATGACATGCTATATGCTGCCCGGCAA
+TATGCAGATAAGTGAGCACAAAGGACAGCGTAAATTCGAGAAAAGTTATTTGTATGATTTTGCCGATTTA
+CTCATTGTCGATGAAGCCGGGCAGGTGCTTCCTGAAGTGGCTGCTGCCTCGTTTGCATTAGCTAAGAAGG
+CATTAGTGATTGGCGATACGGAGCAGCTCCCGCCAATATGGAGTATTGCTCCTGCGATTGATGTCGGTAA
+CATGCTGGCGGAAAAAATTCTGTCTGGCAGTACGCAAGAAGAGATTACCGAGAAATATACGGCAATCGCA
+GACCTTGGTAAAAGTGCCGCATCTGGCAGCGTTATGAAAATAGCGCAGTTTGCTTCACGCTATCAATATG
+ATCCCGAACTGGCTCGTGGTATGTACCTATATGAACACCGCCGGTGCTACGACAATATTATTGGATACTG
+TAATACGCTCTGCTATCACGGTAAGTTGTTGCCTAAAAGAGGGCGTGAAGAGAGCAATTTAATGCCCGAA
+ATGGGGTATCTCCATATTGATGGTAAAGGTGAGCTGGCAAGTAGTGGAAGTCGATATAATTTGCTTGAGG
+CTGAAACGATAGCGGTCTGGTTGGCAGAGAACCAGCAAAATATTGAAGCGCATTACGGTAAATCGCTTCA
+TGAAGTTGTCGGTATCGTGACGCCTTTTAGCGCTCAGGTATCCACTATCAAACAGGTGCTGGGCAAACAA
+GGTATCAGTACAGGCGCGAATGAAAAATCGCTCACAGTGGGCACCGTGCACTCTCTTCAGGGAGCGGAAA
+GAGCGATTGTGATATTCTCGCCAGTCTATTCAAAACATGAAGACGGCGGGTTTATTGATAGCGATAACAG
+CATGCTGAATGTTGCAGTCTCCCGTGCGAAGGACAGTTTTCTGGTCTTCGGCGATATGGACCTGTTTGAG
+GTCCAGCCAGCCTCATCTCCACGGGGATTACTGGCAAAATACCTCTTTGAGTCAGAGAAGAATGCGCTCT
+CTTTTGATTATAAAGAGCGTAAGGATTTAAAAACCGCCGGGACCAAAATCTACACACTTCATGGTGTGGA
+GCAACATGATAATTTCCTGAATCAGACATTTGAAAATACCAGTAAACACATCACGATAGTTTCTCCATGG
+CTGACCTGGCAAAGGCTGGAGCAAACCGGTTTTCTTGATTCCATGATTGCGGCGTGTTCACGTGGAATTA
+ACGTCACGATAGTCACTGACAGAAGCTACAACACTGAACATAATGATTTTGAGATGCGAAAAGAGAAGCA
+GCAAAACTTTAAAGCGGCGCTGGAGAAACTGAATGCGCTGGGTATTGCTACAAAGCTGGTAAACCGTGTT
+CATAGCAAAATTGTTATTGGTGATGATGGTTTGCTGTGCGTGGGATCGTTCAACTGGTTTAGTGCGACAC
+GGGAAGCGCGATATGAACGATACGATACCTCAATGGTTTATTGCGGTGATAACCTGAAGGGTGAGATTGA
+GGCTATTTATAATAGTCTTGAGAGGCGTCAGGTTTAGAGCAGGAATGGTGAGTAGCCATCTTATCGATTG
+TTTTCGAGCGTAAGATGGCTGAATGGAATGGCTATTATTGCACGGTCCTTAATTATAACATTCATACCGA
+CATGATTATCTTCTGTCCGGAAGAATCAGAGGCTGCGGTTTCAGACTGTCTGCCGGTACATTCCTCTCCC
+CGTTAAAAACCATAACGGGTTCATTATCTTCGTCTGTCAGCGGATTGAATGGCGGTATATTTTCAGTACG
+AATGCCGGTCAGCCACTGAAAAATACCTGCGAAATGACGGGCACTGATTTTTCTGCTGACGGACTGATGA
+GACGTGATGTCACTGGCGGTAATAATCAGGGGAACGCTGTAGCCTCCCTGCACATGACCATCATGATGAA
+CAGGATTAGCACTGTCGCTGACCGACAGACCATGGTCAGAAAAGTAAAGCATGGCAAAATGACGGGAATG
+CCGGCGAAGGATACCATCAAGCTGCCCGAGAAAGTTATCCAGTTTACTGATGCTGGCGAGGTAACAGGCA
+ATCTTCCGGGGGAACTGCTCCTGGTAATTATTCGGCCAGGAGTGAAGCCGGTCACACGGGTTCGGATGAG
+ACCCCATCATGTGCAGGAATATCACCTTCGGAGAGGATTTATCCGCCAGTGCACGTTCTGTTTCCTGTAA
+CAACAACATGTCATCCGTTTTACGGGAAGCAAAGCTGCCTTTCTTGAGGAAAACGGTATGCTCCGCATCT
+GAAGCAATAACAGAGATGCGTGTATCATGCTCCCCCAGCTTTCCCTGATTGGATATCCACCATGTGCTGT
+ATCCTGCTTTTGCTGCCAGCGCCACCACGTTGTTGCCGGAGTCAGGGTTCTGCTCATAGTCATAAATCAG
+TGTCCGGCTCAGGGAAGGTACGGTACTGGCTGCTGCCGATGTATAGCCGTCAATAAATAAACCGGGAGCA
+GTATTCAGCCACGGTGTGGTTGGCACGGGATAGCCATATACCGACATATAATCCCTGCGCACACTCTCAC
+CAGTGACGATAACAATCGTGTCATACAACGGTACACCCGGCAGGATTTTCCAGTTGTCAGCCCCGTGCTG
+ATTCAGTTGTTTATAACGCTGCATTTCACGCAATGTGTCAGTTGTCCCCACAACAGTTCCTTTAACCATC
+CGCAACGGCCAGCTGTTTACTGAGCATAATACGAACAGCAGCAGTGCCAGCCAGTTACGGTGACCGCGGT
+GGTGTGTTCGCCAGAAAATCACCATGAATACCAGAATCGCGGCACTGACCAGAAAATGATAAACAGGAAT
+CATCCCGGTAAACTCCGCTGCCTCATCAGTTGTGGTCTGCAACAACGCGACAATAAAACTGTTGTTGATT
+TTACCGTACGTCATACCGGCAGGCGCATACAGTGCACAACAGAACAGAAATAACAGCGCTGTAATGGATA
+TGAGGGTATTTCTGTGTGCAAGAAGCAGAAGAAAGAACAGCAGCAACACATTCCCGGTGGTATTCTTCTC
+AGTGTATCCGCATGCAATTGTGGTTATGACAGAAACAACAAAAAAGAATAAAAACAATAAAATCCGTGGT
+GTGTTGCCCGGACAAAACAGTTTTCTGATATTCATCGGAATATATCGGTAATATTATTATAAAGGGAATA
+AGATAATAAAAACCAGAAATCTCCTGTGAAACAAATAACCCTGCGATATATTACTGCAGGGTATTTTTGT
+TTAGTTGCAGAAGATATATAAATATCTTAATTACTGAATATGTGTAATTATCGCTCAGGAGCAGTGTCGT
+CAGAAGTTATAAGTCATACCAAGCATGATGTCATGACTTTTAACATCAACTTCTGACTTATATTTATCGC
+CCCACTCGTCCTTGTAACTCACACTGCTGTCACCTGCATCAAGATAGCGATAGCTGAGGTCCAGAGCGAT
+ATCCGGGGTTACGTCATAGCGGACACCCGCGCCAAGGCTCCATGCGAAGTTGTCAGCAGAGCCTGAACGT
+GACAACGATTCGCGACCACTGCTTCCGTACTCATAATCCCAGGTACTGATACCGGTTGTTTTCTGGTGAA
+TTCTGGCGTAGCCAATCCCTGCGGATACCCATGGTGTGAATGCGCTGTCATTCCGGAAGTCATAGTACGC
+ATTCAGCATTAGTGTGTTGACTGACACCTCATTCTTCAGGTCATCACGCCAGTAACCACCTGACCAGCTG
+TCTTTATCTACGTTATACTTCGAATCAGCTTTTCCACGAGCGTAAAACTCCAGTTCTGTACGAACCGGAA
+TACTGAACTGCGGATAAAAATCATAACCGGCCGCAATACCGCCACTGAATACCGTATCATGGTCATCGCC
+GCCTTTATACTTTGATGTTTCTTCCTCATCTCCTGACAGGAAACGCTGGTCTGAAAGTGACACCACAGAG
+GCACCGGCTTTACCGGTCAGATAAAAACCACTTTTACCTTCCTTTGCTCCTGCATTTGCTGCAAATACAC
+AGGCTGCGGCCACCACTGAAACAACAAAAACCTTATTCATTTCAATTATCTCCATTATTGTATCATCATT
+TTAATATATATTTTTAATATTTAAAAACCGGACTAAAGGCAGCCTCAACACTCCACACTACGGAAGCCAG
+ACTTTTAATCTACACAAAATAAATATATCTTCTCAGTGAGGACGTGAACGCCTGTCTGAAATTATGTGAA
+TACAACCTCCCCAGAATACAAACAGGCAGGGGCACTGGAGTAACCGATCACAATACTTCTGCCTTTTTAT
+ATTTTACCGATAATCTCCGTTTAATATAGTTCTTACCGATTTCATAATCGGGGTTCCATGTAGATAAATT
+ATGAACACCTATTGCTACTGCACTCGCCACTCCCAGAATTACGGTTGGTGACCATAAAGAACCAGCTAAA
+GCTGTACTCCTGTACTCAGTATATACACGACAACTTAATTTCGTTTTCTCTATTTCATGCTCCACTCTTT
+TTACCGTTTCACTAACATCGGAAACATTTTCGATCACAAAACTCTTACGTTCATAAATAAGCCTGCTTAA
+TGTATTTATATCTAAAAATTTCGCATCAAAAGAATCAATCTGTACTGTTTTTTCTTGTGCTGACATCTTC
+TTTTCCTGGCTGGTATGGCAAGTGACGGAGACAAGAGAAACGTTTTAAGCTCAGTTATTTCCGCCATCAC
+TTTCCACGAATGACAAGTAATTTTGCCTATTTTAAAACCATGCAAAAGGCAGGGTAAAAGGAGAAAATTC
+GATCGAATCGATCGACAAAATCGATCATACATGATGAAGATTTCTTATCGAATCCATAAAAATAGTGACA
+GCTAACCGGCGTTGCAGGAACAGTCAGAAATGGGCGTTTGGGAAAGAGCCATAGCACTACGTCGTCGCTG
+ACATAGAGGAACTGTGCTTTGTTGATAAGATCCTTTATACGGCAACCAATCCACTGGACAAAAGATGAAC
+TACGTAATCACCGGGTTCTCACTGACGAAATACAGAAGTTAATGACACAACTGTGCCATGTACCTTGTAC
+AACAGCGGTGGAAAGCTCTCAGAACAATGGAATTGCAGAAAGGTGTTAAAACGATGAAAGCCTTCATACC
+CAAATCGAATGTAAGAACGGCAGTAAAGACTGAATTGCGTAACCTTGCAGTAGCTCGAGTATTACACTGC
+ATAGTGTGCAGGGTTATCTCCCATCGAGAAAATATCGGCGCCAGCGAATAACGTCACCTTAGATGTAGCA
+GTTGCCAAATAGTGACTCAAGGGCGGGCTTACCGCATACACTGACACTTAGCGGATCGACAGAATATTAT
+TAGCAGATCATCACTGAACGCTACGTAATTATCGTAATAAAGGCTTTTTCTGGCTACCAGGAAGACCTGA
+CATGGCTCTGCTCTGGAACCAGGCCGCAGGAAGCATCAATCTGGAGTTTATCAGCTACTGGAATTCCGGT
+GTATTGGCAGCCCCTGATAATCACCTGACCCACGAAGAGCGCTCTGCTTTGCAGAAACTCTGGGGCGGTT
+TGGAGGCAGGAGATGCCATTTAACGATTATAGGACGTTCTGATGAAGTCCATGATTTTACCTCCGCCTTA
+ATTAACTGTTTTCTTTCTGAAGAAAAAATTGTCTGGTGGCAATCAGGTGGCATTTTCCCGGATCCCTGGC
+CCGCTAATATATCCCGGCTGAACAGACGATTAACGAGATATTGCAAATATGGCATCTGAATCGATTATGA
+TTTGGCGGCATCCATCTCCGTTCACAGTTTGGCATGCTTCCGATCATTGATTGGCATCCAGCCAGTCACT
+CCGGGAATTAACTCTTTTCACCGCAGTCTCCATTGCCGTGTTTAAACCAATGGAGACGTCAATGTCCAAA
+AAGAGAAAATCCAGGAGTGATCCTACCCACGTAATGTGGACACGGCCCTAAGCGAGATTATGGTTTTCAA
+ATTGTTCCGGGCTGAGACCGCCACAACTCCTTCTCCTGCCCGGGCAAAGTGCCTGGTTCAGACAATGATA
+TTAACTGGCTGAAATTTTCGACGCGGTACAGGTCTCCCTGCTTTGAAAGATGCCTGGCGCTGCAATTTTT
+ATCATTTGTTTTTGTATCCGGAAAAACACATCTGCAAGAATCATTATTCTTTTGCCTGAAGCTATCCGGC
+ATACTCAGGCATTTCACGCTTTATGAGCTGACATCATCAAGATGCGCCAGTAATTTTTTATTAATGACTT
+CAAACAGTTCCTGTTCATCATGGGTCAGATAACCCCAGATTTCTTTCAGATACATGCTTTGTGCAAGAGT
+GAGCCTCTGAATAAAAAACATACCTTCAGATGTCAGACTGATTTTTTTAGCACGGCGATCCTCCCTGCTA
+TCCATCCTTTTTACATATCCGGCTTTTTCTAAAAAATCTGTAATGCGGGTAATATTAGTTCTGGTAAACT
+GAAGTTTCTGGCTTATCTCTGAAGGTGACAGACAATGACTCTCCGCTGCGAATAATGTGGTGAGAACCAT
+ATATACTGAGTGATTTATTCCATACACCCCCAGAAATTCAGATATATTATCCTGCATTCTTTTATTTGTG
+CGAATACAGAGTTGCATCAACAAATGCTCCCGAAAGGGATATGCGGGGTCTTTGTTTTTTTGGTGTCTGA
+TTATTTTTTCTAATGTGTCTGTGTTATTCATTTCATTATTCTCCATATTACTGAAACACACTGTCTGTGT
+ACAAGCGCGCATCAGTCATCCGGTAAACATCGACTTTCCACTACAATTTATTCCTGCCTGATTTCTGTAT
+AACTGAGATATCCCGGCACAGCGTACAGATAAATTCCCTCAGATAAAAGAACATAAATGCTGGCTGCTGA
+CAAGTCTGTGAAAAAGGATTATCCATACTGCTCAGTAATCGCGGATAATTCACCAGCCCTCCGCCCGTCT
+GAAAGGTGACTTCCCGGGGCATCCCAGATATCCACAACACACTATCCGGCTCCGGATAAACCATTTATGG
+CAATATCATGAGCAGCGTTGCTGAACCAGATAGTACTCCTGGTTGTATCTTTGAAGATTCACCATAGAGG
+CGACTGCCGATGGTCAGGTTTTGTGTACCTGCTCTGTACCATCTCATCGTTGTCTCTCCTGTGTCCACGC
+CATTAATCGAAACAATGGAGTCCCAGCCATGACCCAGACCAACCGAAAATTGCTGACCATGGCTGTATGC
+CGGAGTTGTATTGCTTAACAGGAAAAAACGAATATTTGTAGGCACATCGCAAGACACAGAAAGAGTCTGA
+GCCGCATAATGATTATTAGCGCTATTAATCGACAGATCACCATGATTTATTTCCAGAGACTGTGCAGAAG
+GACGGCATCCTCCGGTATTTTTAATTGAGAAATTCAATGTACCATTAAAAGGAAATGTTTTCATTAACGA
+GGAAGGGATTTTGTAGCGTCCACCAATATAATCATAATTATTACGCTGAATGCCACGTAAGAACTTAACT
+GGAAACGTATAATCCCCCTTAGGAAGGTCAACAGGCAATCTGGCGTTCAGGGTAACACCACCAAATGACC
+ATGCCAGACTTCTTTTTTCTCCGATATCGAAACATACCCGTCCAGATGAGTTTACTTCATCCCATGCAAA
+TCCCTTGGTAAGATAGTAATTATCATTATCTTCTGCATCAAGTGAAAAACCTCCTTTGGACTGAAGTTCA
+AGATATATATTATATCCATTATAGGAAACATGTTTAGGAACAACCAGCCATGCAAAATACTCAGACCAGT
+AAAGACCATGAGTCCAGGTAAATCCATTGCAGGCCACATAGCTTAAAGTTGCCGTACTTGATGCGGAGTT
+TATATCCACTATGAATTGAACAATATCGGTTACTTTAACACTAAGTTGAGGATGATAAATGTTATCATTA
+AACGAGTAAAATATTGTACTCTGGTTTGCAGCCAGAGCATCATTACAGCCTGACAGGGATAAAAATAAAA
+AAGCAGGGAACCATTTTTTCATCAGAAATCACTTCCGTAATTACAGTTATTCATTTAGGTATGACTCAGT
+TATAAATCATGCTCATACTGGCCGTGGTCCGGAAATCCCCGCCATTCAGTATCCCGCTGCCATTACGAAA
+GGGCACTGAAGTAAAGGTGAACGTTGAACGTGCTGTGTCCAGACCTGCTGTCACTCTGTAACCATTTCCT
+GAACCATTACCTAATGTAAGAGGTGTTGACATCCCTTTTCCCTGATACAGCGCTATACCAAAATGAGTTA
+TATTTGTTGCCAGTACATTATTCTGACCTCCTCCCATAGTATTTCCCGTAACTTTTATCCAGAGAGAGCC
+ACTCTTATACGGGCAGGATATGCTTATGGTTTTTGTGACTTCACCACGTGAGTTGTCCACGTGCTCAGGA
+TTAATATTCCCAAAATCAACAACAATATTCTGCCCGTTATTAATGGTGCATGGGGGGATATAAACATTTC
+CCCTGATGTTAATCTGCACATCAGCCAGTACAGCGACCGATGTCAGAAGCAACGATATAAATAATGATAA
+GCGAATCATTCCCCCTCCGGAGAGCGGCACAGAAAAAATTTTATTTTATGAGATATAAAGTCGACGTATT
+TTAATTGATAGTATTACGAATATGATGCAACCAGCGTTGCCGTTGCAGAAAATGTTCCCGCCTGCAAACT
+CTGCATATTTCCTTTATATCCAAGTTTTGCGTAAAGAGTAATCTTTCTGGCTGGTGCTGTTCCTGTGATT
+TTTCCGGGCGTAAACTGACTCCCTAAAGTGACAGCGTTACCAATACCACTGTTATTACTATTGTAAAGAT
+AAATGAGCAGCCCATCACCAGAAGCGGTTGAAGTATTAGGCACCAGTATCGAATTACCTGTCTGACCATT
+TGATGTTATTGTAACTTTCATTGTTCCCAGGCTATAGGGGCAGTTCATGTCGACGGTAAAGTCTTTCTGA
+TTACCGCCATTCTGTACCAGATTCTGAATTTCAATATCTCCCCAGTCAACTTCAGCATTTTGTACAGTAC
+AGGCAGGAATAATCAGTTTTCCTTTAAAGGTCAGATTATCAGCTGCATGTGCATGCTGAGACATTAACAC
+TGCCCCCAGCATTACCGGAAGACACAAACCTCTTATCTTTTTCATCTGAAATATCCTGTACAAAAATCTT
+TCTAACGATATGTCAATTCAAACGTGGCTGTTGCTTCATAATCACCGGGCACCACACTCTTCGTCCGCAG
+GGCTTCCGGCGTAGCCACAACATACGCGCCGAAAGGAAGCTCAAGACTGTTTCCGGTAACCTTTTCCCCC
+TGGCCTTTGTTATGGGAAGCGCCGGGTTTCAGCAGACTGCTACCATCGGTGTCCAGCAGTGCAATGCCTA
+ACCGACCGGCATTCACTCCGGTTACCTTCAGATGGCCCGGGAGGGCCGCCTCTTCCGTCCCCTTAAAGGT
+CAGTGTCACAATTTTGCCAACTGCTGTTGCATGGCAGTTTTCCAGCCTGATGACAAACGACTCTGTCGGC
+GAACGTCCGGGCGGATACCAGAAATCCCTGGACGCCCGGGTTTTGAAGACGACATGTTTATTCAGACTGT
+CACCGGACACATGGCAGGGTCTGTCAAGCAGATTACCCCTGAATGCCACATCTGAGGCCATTGCCTGCCC
+GGCAGACAGTGCTGCAAACAATAAAAGAGCGCCTGTGCTTTTTATCATCACATTCCCTTACTCATATTTT
+ATGCTCAGACGCAGCATGGCCGGATTGCTCCTGGCATCAGAATACTCACCCTCCTGTGTCGCCCTTTTCC
+TCCAGGCGGCCAGCATCTCCTCCTGCCGCCGGTCAGGCCGGCACAGTAAAAAGGTATCACCATCGTGTAT
+AACAAGATGGTCACAGCCGGATAGCTTACGGTCAGGAAGTAAAGCACTTCCGCTTCCGGGACCGGTTACC
+AGTGAGCCGGAGACTGTCATCGCAACTCCCCGTTTTCCGGGCTGAAGTGCACCACCGTCCCCACATCCTG
+CCAGCCTCAGCATCAGAGGTGCTCCGGCTGCCGCAGAGTGATTTTCCGGCCGGAGGCTTAACGGCACCTC
+ATTACTCACCAGCGTGCAGGGTGAGGACAGCAGTGCGCCACTGATGGCCAGGCTTCCGGTGCGTCCCCCC
+CGTTCATTTATCCGGTAATGACGCAACTCATCTGCAGTAAAGACGTCATCATATATACCCCGCTCTTCAG
+CCCGCAGGAAAGTATGGATGAAACCACTCAGCGACAGTGCAATAAGATACAGTACTGCTGTTGTTTTATT
+CACAACCATAATATCCCATCCGCATTTAACCGTTATTGCGGTACATTATTTCTCTTTTTTCACAGAGCAA
+CGACTGCCATTACAGATAAACGACAGTACCGGGCGACCACCATAGTCGTTAATATAAGACAGATAAGGGG
+TATTATAATTTGCCGATTTTACTGTCTGCTCTGAACGGGGAGACAGCATCACGGTTTCAAACTCACCTTC
+CTCTGCCTGCTTTTCACTTCCTCCCAGACCAATAACAGTGACATAATAGGGCGTTGGGTTTTCAATACGA
+TACCCACCGCTGACTTTGTTCAGAATTAACTGGTCCTGCCATACTTCATTTGGTCTGGTTTTAATTGCTG
+CCGGGCGATAAAAAAGCTTTATTTTGGTCTGTAAGGCTATCTGCAGTACATTGGCCTTTTCACTCCTCGG
+CGGTATTTCCCGGAGATTAAAATAAAACAGTGATTCCCTGTCCTGAGGAAGTTTACTGATATCCGGTGTG
+GTACTCAGCCTGACCATGCTTTTCGCACCCGGCTCAAGGCGCTGAACCGGAGGGGTGGCAATAACCGGCC
+CTGTAATAATTTTTTCCTGATTTTCATTTTCTATCCATGCCTGAGCAAGATAGGGCAGTTGTTTGTTATC
+ATTGGAGATATCAAGCGTCATTGACTTCTCACTCCCGTCAAACACCGCGCGGGTTCTGTCCAGCGAAACA
+GCAGCGTCTGCCCCGGATATAACAAACAGGGGGATGGCAGCCATCAGAATCTTTTTTCGAATCATACTTA
+ATTTCCACATTCTGTAATTTCACCTGGTCCGGAAAATGGCATAACCGCATTCATCAGCCGTTAATATTCC
+GGACTTTCATTTATTTCTGAGGTGTACAGGGAAGCAATAACTGCTGGTCAGATATTGCTGTCTCCGGTAC
+ATTTACCTGACACTGTATTTTTCCATCCCAGTTTACCGACAGGGTTTCCCCCGGCGTCACGCCACTCAGC
+CAGGCAAGGCCTTCGTCGGCCACCATGCCCAGTTCCCGGCCTTTTTCACTGGTTACACTGGCACCAAACG
+GGGGCTGAGAGCCATCAGCAAGACGCAGTATTGCAAACAGACGTTTCCCTTTAAGCACGCTGAATTTCCG
+GTAACCAATGGCACCTTCTGTCAGCGCCGATTCCACAACAGAACGGGTTGCTTCCACATCATCAGGTAAG
+CGCTTCAGGTCAACAGAGGTTGTATTCCGGTAATAACTGCTGATGTCAGTCACCACGCCCGTTCCCCAGC
+GATTTGTCACCACCTGCCCGCCATCAACCGGTACACCTCCCACACCATCCGTGTCAACAAGAAGACGTGT
+TCCACCGGACATTCCCCCTGCATGTAACGCCGCACCTTTTCCGGTAATTGTTGCCCCACCGGAAGCACTG
+ACGCCGAAAGACGTATATCCTTTCTGCAGGGATGCAATATTCGCGGACAAATTTGCCAGCGGACTACGAT
+GACTGTAATAGGCATTAATCTGACGTTGCGATGTCAGTCCACCGCCACTGTTAAGGCCGGCGTTCAGGCT
+GTAGCTGTCCAGACCGTCATTGAACGTGTCAGTGTAGCCGGCCATATTCACATAACGGTCATTACTCATA
+CTGCCACTGTAGCTCGCTGTCCCCGTCCCCAGCGGCACGGATATACGCAGGTAAGCAGAATCGTTATCAC
+GCCCCAGATATTTAGACCTTGAGGCTGACAATCCAACCGCCACACCCTGCAGTCCGAAAACATTAAAGTA
+GCGGTTGACGCTCACCGTATAATAGTCCGTTTTCCGTATGTCCCAGTATGTCTGACGGCTGTACTGCAGG
+TTAAAAGAGGTGTTCCAGTCCGCCACGTTTTTATTCAGCGTAACGGTATACATCTCTTTTTCCCGACTGC
+TGTAATCATTACGGTAGCGGGCGTTCAGGTACTGCTCCATGGTCATATAGTTTCGCTCTGAGAAACGATA
+CCCGGCGAACGTAATGTCGGCATCCGCATTATCAAACCGTTTGGAGTAGCTCAGACGCCAGGATTTTCCC
+TGAAACGTTCTCTCTCCCTCAATACGGGCTACTGACTGCGTGATATCAGCGGAAAGGGTCCCCGGCACAC
+CCAGGTCCCAGCCGGCACCGGCTGCCAGTGCATTATAATCACCGGCAAGCACAGCCCCGCCATACAGCGA
+CCACTGGTTACTGAGCCCCCAGGATGCCTCTCCGGTCGCAAATACAGGCCCTTCGGTCTCATGCCCGTAT
+CCACGGGAACGACCGGAGACAAGTTTGTACCGGACCTGTCCCGGACGCGTCAGATAAGGAACCGAGGCTG
+TATCGACCTGAAAGGTTTTCTTCCGTCCATTCTGTTCAATAACCTCAACATCAAGACGTCCGCGAACTGA
+ACTGTCCAGGTCCTGAATACTGAATGGCCCTGCGGGGACCATCGAGTCGTACAGCACCCGTCCCTGCTGC
+GACACCACAACACGGGCATTAGTCTCCGCAATCCCGGTAATCTGCGGTGCATAGCCTCGCAGTCTGGGCG
+GCAGCATCCGGTCATCGCTTTCCAGGCTGGCTCCCGTATAACTCCATGACCGGAATATATCTGAGTTGAT
+ATTATTCTCGCCCAGCGTCAGGTTTGCCCGCCACCGGGGAATGGCACGGAACAGATAAAAGCGACTCCAT
+GTGAAATTTCTGTTTGTCGTTTTTTCCCCGTTGTAGCGACTCTGCTCCTGGCTTCCCTGATAGTCAGCCC
+GCAGGCGCCAGGGCCCCAGATTCCCCCCCACAGTCCCGTTATAACTGAACTGATGAGAGTCTCCTCCCTG
+ATAATTACGGGAAACCGTCCCGTTGAGGTTATAATCCAGCATCAGCCCGGGAATGCCGTCGTCCCAGCGT
+GAAGGAGGCAGCCAGGTGGCATCAGAATACTCAAGCCAGGCCTGCGGCATATTGATGCGTAATACGCCCG
+CTCCGGTATCAGGACGAATATCCACTCCCGGCAACCCATGAAAATCCGCACACTGACCATCATGCCAGTA
+AACAACTTTATCCAGAGATTCTGCTGTTAACCCCATCAGTCTGACCATATCTGATGTCAGGCAGGCCTGC
+GGCAATTTTTTTTCTGCCTTATCTCCTGACGACTGAGGTTCAACAAATGAAATCTGTAACGATGCGGGAG
+AAATACTTTGCCCGTTAACAATCACATCCAGAAGATATTGCCCCGGCAGAACATAGCCGGCTTCTGAAAA
+ACGGGTGAAGTCAATATTTTTCTTGTCCGCCGCGTCAAGTACATCTGTATTAAACTCAACGGCACTGGCT
+GCGTTACAAAACAGAGACAACAATATCACACAGGTAATATTGTTGACTGCAAAAGGTATTCTGTCTTTCA
+TTACACGCATCACCAGATTCACAAAAAAGATAAATAACCGGACATCTCACCGGAGTGACTCACTCATAAT
+CGACCCGGAATCCCAGCACGGCAAAATAATTTCCGGCTTCAAGTTTTTTTCCGTTTCTCACAATTCTGAG
+GGTGTAATCCAGCGCTTCTTCATTACCCGTCAATGGTATTGCAGGCATTACTTTCCCTGCCCGGGCAATA
+TTTCCCCTGGCATCAGCTATCTGCAGATTAATGCCTTTTGCCTGACCGGATAAATTAAACTTATCCGGCG
+TTTCACCCCGGACACCATCGAAAGTCACCCTTATCCGGGAATCAGAGAAAAGGTTTCCACCCTGACTGTT
+AAATTCACAGTTCCTGAGCCGTAGGCTGAATTTTCTTTCAGGTCCGGAAAAACCATTCTGTAAATCTCGT
+ACCGGGGTTTCCCCCATATCAATAATCTGCCAGGCGTCTTCCATCGCCAGAGTACAGGCAGGTCTGACAA
+CCTCACCATGAAAAGCAGCCCTGCCGTCCCACCATACGTGTTCTTCTCCCCAGTATTCAGGAAGGGACAT
+GCCGGGCGGAGGAAACGGATCAGCAAAAACACCACGGATAAACACACAGTAAAGAAAGAAAAACAGAGCA
+GAGAATTGCAGCCTCATGATAAATATCCTGAGAAATAAACAGCGGAATATTTCCGCTGTTTACCGGACCA
+GATTATCGTATTACTGTTACTGATAAGTCAGGTTGAAATTCGCAACGGCTGAGAAGGCCCCCTCTTTTAC
+ATGGTTGCCACTACCATCTTTCATAACTGCGGCAGTGAAATGAATCGTGTTATCACCATTAATCAGATTT
+GAAACCCCGGTAGAGGTCCGACCATCAAACTTCACACGTTTGCCATGCGGGTCGATAACAACGATGGCTG
+TATTGGTCTCGCCATTCGTCTGTAACATGTCATTGGCGTTACCTGCACCTGCTGTAACACCGGAGAATGT
+CATGGATACTGTTCCTGCTTTAGGTGCGCCGCCTGGAGCGGCACCAGTGGCTGGTTTCTTATAGTTAGTA
+ATATCGCAATTCACGAGCTTAATATCAAAAGCCTTAGGTGTGGTTTGCCCATCATTGTCCAGAAAGACTT
+TTGATATCTGGCCAAAATCGACAGACTGATCAGCTGACTGCGCATCAATACCACATGGTGCATCAACCAC
+AGTTCCGCTAAAAGTTACCTTACCCTGCCCCTGAGGAACAGTTGCAGCAGCATTTACACCAAAAGACACC
+ACTGCCATAGCTACCGCACCGGCAATAACCGACTTAATCATAAATAACAACCTCTTTTTCATTACTGAAC
+ACACCAGAAATATCTGGCAATTTAAAATGACCCGATTACCTTTAATAACCAGATCAATACAAATAATATT
+CTCGTATTTTCAGGACAGCTTATTTATCGACAGAATACTGATATAACCTGTTTGCTTTCTGATAAGGACT
+TCTTTTTTTATCTTCCAGAAACTCCGGAATGCCATAATTTAGTCAAATGCCGACGACTCATCTGTATAAT
+AAGGTGCAAGCCTTGCTGCAAGAGCATTCAGCCGTATAAGTCTCCCAAGTGTTGTACTGAAATACCCATT
+ATTCATCTGGTGTTTCTCGCAGACCTCCTTACGGGTATGCCCACCTACCAGATAGTCCTTCATAGCCAGA
+ATGACCCTGTCACTGTGAATAGACGAAATACCTATCAGTAAAAAAAAATGCATTTCAGACATAGAGCCGG
+GCAACAGTACGCTCTCGCGTATATTCAGCAAAAACGCATTTCCTGCCCGACTGATGATTTCATGATGCGC
+CATGTTTCCCCCTTCTGTCGGGCCCCTGGATATATGCTTCCGGCCCGGAAATACTCTTCACGCAATAAGT
+TAAATTTAGTTTTTTATGTTGTAAACATTGATTTAAACGATCTTTTAATCTGCAAAACAAAATCAAACCA
+GAATAAAACACCAACAACAAGAATACACTCAGATAAAAACATCATGGTGAATTGAATTTACAGCATAAAA
+GATCGTCTAAATGCATTTTTACGGACTTTCTTTTCACAGAAAAATAACACACAAAATGTGATACACATCA
+AATAAATCCAACAAAAAGCAAATTCACTAAATTTCACAAATAAAGCAAACATAGAGAATAAAAATATCTT
+TCCGTTGATAACAGAGAGCATGATTTTTATTATTCGAAGAAACTTTGTTACAGTGAGATGAGTGAATATA
+TGAAGAATGAAATACTGGAATTTCTGAACAGGCATAATGGAGGGAAAACCGCAGAAATTGCGGAGGCGCT
+GGCGGTAACGGATTATCAGGCACGCTATTACCTGTTATTACTGGAAAAAGAAGGTGTGGTTCAGCGCTCT
+CCATTAAGGCGAGGCATGGCAACATACTGGTTTCTGAAAGGAGAGATGCAGGCGGGACAGAGCTGTTCTT
+CCACAACTTAATAACTCAATCTGTGGACATGCTTCACTGAAACAGATAAAAGTTACATCAGAGTGCAGAT
+TCAATTTTGCAGCATTCGTCACAAAATAAAAATCCAGCATTTTATGTCAGAATACCTCACATGATAATAA
+AACCTGTCCGGTTTTACTGCATGGCCAGACATTATAAAAAAGCAAATCCTGTAAACTCCATTCAGCCTCC
+TTGCTGTCCGGTAACGGAGGCTGTTTTTTCGTTACGCCTTTCCCCGGCAGCATCAGTAGCAGTAATTTAT
+AGATTCTACGAACTGAGACTGTCTGTCCGGGGAGAACATACGCATCCCGGCGCAATGCTCCTGTCATTTA
+CAACCTGCTTCTGATCATAAACGCCACGATCCTTGGCTCTCACAGATTTCGGGAGATGAAAGTTAGTTTA
+CAGGCAGAAACCACTCATGATATTGACATGAGAAAGATTTTCTGTTAAACAAAAAAACACATGAAATGAT
+ATAACATCACAAACTGGAGTTTTTATGGCAGAATCCGGGTTTATTTCTCTCGAATTATCCCGCTCACAGG
+CGCCTGTTACAATTAGCAAGACAGCTATACTCTTTGCAGAAGCAGACAATGATACCCCGGAGTCAACTCA
+TCTACATTGCGTTGGTGGTATCACTCATACCGTAAATGGTGTTTTTAACGATATTGCAGAATTACTTCCG
+CGATTCATTAAGACGCACCGTCGGGATAATGGTCAGCCCGCAGTGGCTATCCATGACTGGAATGTTTCAT
+ACATTGAAAAAGGCAACGATGCTTCTGCTGTTGTTTACTTCACAGAATCAGGCTCAAGTATAACCGTCCG
+TGAATCTTACGAAGACATAATAGCAAAGTTTCACGCTCTTTAGTCAACACCTGTGCTGAGAATTAAAGCA
+GGGGCAGGATACAATTATCCTGCCCCTGCCGTTAAAGATTATACAATGAGTATTACTTTTTAATATTTCG
+GTGGTGGGTTATAAAGATGTGGTCTCCTCAGAGGATCGTTTATGGCAGATAGTGCAGATATTGCTTATGA
+AAATGAACAATTCAGCATGAGCATCAGACTAAAAAATCGTATCCGGAATAGACTCCCTGAAACAGGATTC
+TGCTATAACTGCGGAGAACCTGTTAAGACAGGATTGTTTTGTGATGGTGACTGTCGGGAAGATTATGAGA
+AACGTGAACGATTTGGAAAAATAAATACTGACAATGTTTAAAAGCAATACAATTACTGATATCTCTTTCA
+GACTTCAGAACTAAAGAAAACTGCCCGAATGTTATCCGATGTGACGGCTATAATGTGCCGACACAGAGGG
+TTGCTCACCGATCTCCTTCACGGTAATACGCAGCTCTGAGCATGGTGGTGAGCGGGGAGTGCTACTGTAC
+AGCCTGATCGGGACGTGCAAACTGAACGACGAGGATCCAGAAAACTACCTTCGCCATGTGTTTGGCGTCA
+TAGCTGACTGGCCGGTCAACCGTGTCAGCGAACTGCTTCCGTGGCGCATAGCACTGCCCGCAGGATAACA
+CATCCCCGTCAATACAGCCCTCGCTGTACTCTTACCGTGGATCCAGCAGTACACTTATTTGCATGAATAA
+ACGAGTGGTCGCAGACCACGCAACATCATTCAAATCCCCCGCTAATATTACAGGTAACTTCAGGGGGTAT
+GGAAACACCTCATTAACTGTTATCACAAATAAAACGCATACCTGTTCCATATGAAATTTATCACGCCTGA
+CTACATATGTAGTGGCACACTGAATTTGGCCACCTGAGTAGAGGTGATATGCTCACCTCAACATCTTACA
+GGTGAACCAATGAGCAAAGCATTTACTGCTGAATTTAAAGTCGAAGCGGCAAAACTGGTCCTGGATCAGA
+ACTACACTCACGGCGAAGCGGCTAAGGCGATGAACGTCAGCCTCTCCGCCATCAACCGCTGGGTAAAATC
+GTTACGTATGGAGCGCCAGGGGAAAACGCCCCCGGGGCTGCCTCTGACGCCTGAGCAGACTGAACTCAGG
+GAAATGAGAAAACGAATACAACGCCTTGAAATGGAGAATGAAATCCTAAAAAAGGCTACCGCGCTCTTGA
+TGTCGGACTCCCTGAACAGTTCACGATAATAGACAGTCTTAGGGCGCACTACCCGGTAGCGCCATTTTGC
+CGGCTGTTCGGTGTTCACCGAAGCAGTTATCGCTACATTCGTAAAAACAGCAGGGGGCCTCATGCTGAGC
+GTGCCGTCAAACGGAGTCTCGTCAGTGAAGTCTGGAACGCCAGTGGTGGCTCTGCTGGCGCGAGAAGTAT
+CGCCACGATGGTCAGCGCTAAGGGCGTCAGACTCGGGCGATGGCTGGCCGGTAATCTGATGAAAGAGCTG
+GATATCTCCAGTTGCCAGGTACCGGTGCATAAATACAAACGCGGCGGGAACGAACACGTTGAAATACCGA
+ACCATCTCGACCGGCAGTTCGCGGTTACCGCGCCGGATCAGGTCTGGTGCGGCGATGTGACCTATATCTG
+GACGGGAAAATGCAGGGCTTATCTGGCAGTAGTGCTGGATCTGTTCGCCCGCAAACCTGTGGGCTGGGCG
+ATGTCGACGTCGCCGGACTCGGCCCTCACGGTCAAAGCGTTGCAGATGGCCTGGGAGCTTCGGGGTAAGC
+CAACAGGCGTGATGTTCCACAGTGACAGTAATAATGCCGGTATCAGTTTTTATCATCACTCTGTTTGCTG
+TTTAACCAGACTGGTGTGATTACTGATGCAGTGAAGACCTTCCCGCATCCTGACTCACACAGCGATCGAC
+CCTTTGTGTCCTGCCCTGGACCTGTCGGTTGCCGGAAGCGCCTTCATGCGAGGCGTCTCCTCACCGATGC
+GCGTGACTCAGGAAGGGCCTGACGGTTTGTCTCGTTACTGTCCTGTCCGGGTTATCTGTCTGGAGATTCA
+ACTCTGTTTCCTCACAGGAGCTCTGTTATGGCAGGTAAAGTTACGGAAACCGCTGTTGTGGGTGGCGTGG
+ATACACATAAAGATCTGCACGTTGCCGCTGTCGTAGATCAGAACAATAAAGTTCTGGGGACCCAGTTTTT
+CTCCACAACACGGCAAGGTTACCGGCAGATGCTGGCATGGATGACTTCGTTTGGGGCATTAAAGCGAATT
+GGTGTTGAGTGTACTGGCACCTATGGATCAGGTCTGCTTCGCTATTTACAGAATGCCGGGTTAGACGTTC
+TTGAGGTGACTGCGCCAGATCGGATGGAGCGACGCAAACGGGGTAAAAGTGACACGATTGATGCTGAATG
+TGCCGCTCACGCCGCATTCTCCGGAATAAGAACCGTCACACCCAAAACGCGCAATGGCATGATTGAGTCT
+CTGCGGGTATTAAAAACTTGCCGAAAAACAGCAATATCAGCCCGCAGAGTCGCTCTCCAGATTATCCATT
+CTAATATTATCTCTGCCCCGGATGAATTACGTGAACAGCTCAGAAATATGACGCGCATGCAGCTCATCAG
+GACTCTGGGATCCTGGCGGCCTGATGCCAGTGAATACCGCAATGTTACCAACGTTTATCGTATTTCATTA
+AAGTCCCTTGCCCGACGCTATCTCGAGTTACATGACGAAATCGCTGATTTGGATGTCATGATTGCGGCAA
+TTGTCGATGAGCTGGCGCCTGAACTGATTAAACGTAATGCTATTGGATACGAAAGCGCTTCGCAGTTGCT
+GATCACGGCAGGAGACAATCCCCAACGATTAAGATCAGAATCAGGTTTTGCGGCACTGTGTGGTGTCAGC
+CCTGTTCCCGTATCTTCAGGAAAAACGAATCGTTATCGACTTAACCGGGGTGGAGATCGTGCTGCAAATA
+GTGCACTTCACATCATTGCCATCGGACGTTTGCGAACTGACGATAAAACGAAGGAATATGTCGCCAGACG
+AGTAGCGGAAGGGCATACAAAAATGGAAGCAATACGCTGCCTGAAGCGCTATATCTCACGCGAAGTTTAT
+ACATTACTGCGTAATCAAAACAGGCAGATCAACAGCATCCCGATAACGGCTTGACTCTTAGAAGGGCGTC
+CAGGGCAGCCACTATACCAGCCGCCAGTACCGGCAGGCTCTGTGGCGCTGTCGGATAAAGCAGAGTATGA
+GTCGACGGGGTAACTGCTGGGATAATGCCCCGATGGAGCGGTTCTTCCGGAGCCTGAAGACCGAATGGGT
+GCCGACGAAGGGCTATAACAGCTTCAACGAGGCTCAGAGCGCGATAATCCGCTACATCACAGGCTATTAC
+AGTGCCATCCGGCCCCACTGGTATAACGGTGGCTTAACGCCAAATGAATCAGAGCGGCTGTTCCACGAAC
+AGTCAGGTCGTGTGGCCAAAATTAGTTGACCACTACACCCTAACCAAAGGAGGTTATCACCTGTTTTACT
+TTCATGAAAAATGTCACACTCGCCTCATACATCAACCATTCTCCGCTTCTGCGGGCCAGTACCTCCCCTG
+ACTCCACCTCACAGCGGATTGTGTATTTTTAAACAATCACAGTCTTCTCATATACTTTCCATTCTGAAGC
+TTACCTCTTCCTCTGTGATAAGCTTCCGTCGCGGGATGTGTTATACGCCCTGTAAGACAGTTATAAAGGA
+CATCAATGCAATAGTTAATGACTACCGAATTCCAGTGGATAGTCAGTACTGGTTTGCCACAAAACAGTGC
+AGTCACACATGACAGGAGAAGATATGAGCCGGATACCGCGGCTCTGAGACTTAACGCTCATGTAAACTTT
+CTGTTACAGACTCTTCCAGAGGACTAAGAAGATAGCTGATTACGCTTCGCATTCCAGTCTTTATTTCTGC
+AGTGACAGCCATACCCGAGCTTAATGGAATGTGCTTATTCCCGGTTGACAAATCATTCTCTTCAACAGAA
+ACAATGACATTAAAAACGAGTCCCAGTTTCTGGTCTTCTATTGCATCTAAATTTATATTTTTTACCTTAC
+CCACCAGATAACCATATCGGGTGTAAGGAAAGGCCTCCACTTTAATGATGGCATTCTGCCCGACGTTAAT
+AAAACCAATATCTTTATTTTGTACCAGAGCAGTAACCTCCAGCGTGTCATCTTCCGGAACGATGACCATC
+AGTGTTTCCGCTGTTGTAACAACCCCACCTTCAGTATGAACCTTCAGTTGCTGAACTTTTCCCGAAACAG
+GGGCCCTGATTACTGAAGCCTGTTGACGCTCTTCATTTTTCTCTAATTCCAGAGTTAATAACTCAATGCT
+GTCTGTTGTTTGTCTTAGCTTATCTAAAATTTCATTTTTAAAAAGTTGCGTGACAAGCTGATATTCTTCT
+TTTGCAGACAATATCTCACTCTCAATTTGCTCCAGTTGCGATTTATAAACCCGTAATTCATTTGCTGCCT
+CGACATATTTATTCTCCTGCTCAAGTACAGCATGTTTTGCAATTGCCTGTTTATGCAATAAACTCCTGAA
+ATCATCCAGACGGCTTTTTTCAACTCTCGATAAATTTTCATAACGGTTTATACGGGCAAGTATTGTTAAT
+CGCTCTGCTCTTTTCTTATCCAGATTCAGTTCTTTTTGATACTTCTGATTTTGCCATGTGGAAAACTGTT
+CTTTTATCAAAGAAGTTAAACGCAGTACTTCCTCTTCAGATACATTCTGAAAATAAGATTCATCAGGAAG
+TTTCAGTTCAGGAAGTTTATTTAATTCAATTGACCGGCTCAGAATTTGATACCGAATTTGTTCCAGCCTG
+GCCTGTAACAGTGATGACTGCGTTTTTAACGTATCAGCTTCAGCTCCCAGTGCTGTAAGCTTTAATAACA
+CATCCCCTTTCCGGACTGACTCTCCTTCTTTTACGATAATTTCTTTAACTATTGAGTTTTCAATAGGTTT
+AATTTCTTTGCTACGCCCACTGAGTGTTAATTTCCCATTTGCAGTGGCAACAATTTCCACCTGGCCTAAA
+ACAGATAAAATGAAAGCAATAACCAGAAACCCCATAATAAAATAAGCAACCAGACGCGGCCGTCTGGATA
+CCGGCGTTTCAATTAATTCCAGATGAGCGGGTAAGAATTCATTTTCGTCCTTTTCACGTACCGGAGTATC
+TAATTGCTTCCGGATTTTCCATGTTTCACTCCAGACAAGTTTATAGCGCAACAGGAACTCGCTGAACCCC
+ATTAACCATGTTTTCATATTCTTCTGTTCTTTCTGTTAGTCTGACTGTAACTGATATAAGTAACTGTATA
+AACTTTCTGGTTCAGAAAGCAGCTCCTTATGTTTACCCTGTTCAACAATTTTCCCTTTTTCCATGACAAT
+AATGCGGTCTGCATTTTTTACTGTAGACAGACGATGAGCAATGATTATAACCGTTCTGCCCTTACATATT
+TTGTGCATATTGCGCATGATGACATGCTCCGACTCATAATCCAGAGCACTGGTTGCTTCATCAAAAATGA
+GTATTTTAGGGTTGTTCACCAGCGCCCTTGCAATTGCGATGCGTTGACGTTGACCTCCGGATAATCCTGC
+CCCCTGTTCCCCGACAATGGTGTTATACCCCTCACGCAATTCAGAAATAAAATCATGAGCACCTGCTAAT
+TTCGCTGCATAAATAACTTTTTCGACGGACATACCAGGATTAGCCAGTGAAATATTATCAATAATACTGC
+GATTAAGCAGCACATTGTCCTGCAACACAACCCCCACCTGACGACGTAACCAGTTAGGATCGGCCAACGC
+AAGATCATGTCCATCAATTAATACCTGGCCATTTTCAGGAATATAAAAACGTTGAATTAATTTAGTTAAT
+GTGCTTTTTCCTGAACCAGAACGTCCGACAATACCAATAACCTCCCCCTGCTTAATACTGAGATTGATAT
+TATCTAAAATAACCGGAGAGTCAGGCTTATAGCGAAACCGGATATTACGAAAAGTGATATCACCATTAAT
+TTCCGGTAATGCCAGTTTCCCATGATAACTTTCAGTTGGAGAGTTAAGCACATCACCAAGGCGGGTAACT
+GATATACCAACCTGCTGGAAATCCTGCCAGATTTGTGCAAGGCGAATAACCGGTGCAACAATCTGACCTG
+CAAGCATATTAAAAGCAATTAACTGACCAATACTTAAATCCCCGGAAATAACCAGGTGTGCTCCCAACCA
+CAGGTTGATGATCATAACAGTCTTTTGTATTAACTGTATTCCTTGTTGACCAATGGTGGCTAATACTGTC
+ACTTTAAAGCCTGCAGCAACATATCCTGCCAATTGTTTGTCCCATATGTTCGTCATCTGAGGTGAGACTG
+CCATAGCTTTTATAGTGTTAATCGCCGTGACTGATTCCACCAGGAAAGATTGATTATCCGCATTCCGTGA
+AAACTTATCATCAAGGCGACGTCGCAAAATGGGGCTAATAAAAACAGACCATGCAGCATAGCAGGGCAGC
+GAAAATAAGATCACCAGAGTAAGCTTTGGGCTGTAATACCACATTACCGCAAAAAATATGAATGAAAATA
+ATAAGTCCAGAACAGATGTTAATGCCTGTCCTGTCAGAAAATTACGGATCTGGTCTAATTCTCTTACCCT
+GGCAACAGTATCACCAACACGACGACTCTCAAAATAAGAGATCGGTAGCGCCAGTAAATGCCGGAAGAGT
+TTGGCACCCAACTCAACATCAATCCGACTTGTGCTATGTGCAAAAATGTAAGTTCTTAAACCGCTGAGTA
+TAATCTCAAACACCACCACAACAGATAATGCGACAGTAATAACATTAAGGGTTGAAAACCCCCTGTGTAC
+TAATACTTTGTCCATAACCACCTGAAAAAAAAGGGGGGTTATTAATGCAAATAATTGTAAAAAAACAGAT
+ACAACAAGGGTTTCAATAAATATTTTTCTGTATTTTATAATGGCAGGGATAAACCAGGTAAAGTCAAATT
+TTGCCAGTTTCCCGGTAACAGAAGAACGGGAAGCAATAAGAATAATATGCCCCTGATATAACGCCTCAAA
+CTCAGACTGTTCGAGAACACGGGGATTTCGCTGCTCCAGATCAAAAATAAGATATCTGTTTGCTTCTTTA
+CTGACTTTAGTCAGAATAAAATGACGTCCATCCTCTCTCCAGACTAATGCGGGCAGAGAAATAAAGTTTA
+ATCGGTCAATTGTTTTTTTTACCTGTTTTACCTTTAGTTCTAAAGATTTCGCAGCAAGCAACCATGACGT
+TAATCCCAGACCAGTCCCGTCTGTGTCAAATCTATGTTTAATTTCTTCCGGGTTAACAGAGACGTTATGG
+TATTGGGCTAAAATCTCCAGGGCGTATAACCCATAATCAATTTTATGACAAGAATCCATTATGACTCCAA
+AAAAATAGCAATCTTATGTGGCACAGCCCAGTAAGATTGCTATCGGTTAAATTAATATATTATGCTGATG
+CGGTCAAAGTTATTGAGTTCCGTCCATATGAAAAATCACTGGCATTACCGGACAACTGCAATAAAGAAGC
+GGCAGATCTTTCCTCCTTAACATCGAAGTTACCTGCAGCTGAAATAATTTTGCTGATTTCATTAATTAAT
+GGATTCAGATTATCCAGGTCTGCATAAGTTGATGCATACTCTCCATACACATAATTGGCTTGATTATTAC
+TCTGCTGATATTCAAATGCTTTTTTAAGGGAATCTGGTGTGATGACCCGGCCATCTTTATCAAAAATCTG
+CTCTATCTGGTGATTAGAGATATCACCTGACTCTTTTTCAAACCAGTTCCTGAATGTAATACCATTTTTA
+TGACCAATGGAAAGAACATTACCTTCAGCTTTATACATGATGAGGTCATTTCCTTCTCGCTTAAAGGCAA
+CGTCCCGGAAATCAATATCAGCCAAACTGAGTTTATCGTCTTTTCCCCCATCATCGTCAATAATATGATG
+GCCATATCCTGAAAGATAACGATAAATATCATTACCATACCCCCCCTTCAGGAGATCATTCCCTTCTCCG
+CCATCAAGCAGATCTGCCCCCTCACTGCCGTACAGCTTGTCATTACCTTTTCCACCGGATAATACATTTT
+TAGCAAGAGAATTACCCTGAACCTGAAGCTCATCATCCCCGTCTCCGCCATTAAGGTAGTTATTACCCAC
+ACCTCCGGTTAGCTTATCGTTACCATCACCGCCATAGAGCTGGTCATCCCCGTTTCCGCCCCTCAGTGTG
+TCATTACCTTTATCACCATATAAGCGGTCATTCCCATCATTTCCTTCTATGTGGTCATCACCATCCGCGC
+CATGGAAGATATCTGTAAATTTGCTGCCAAAAAACTTATCAGCACGGTTGGTTCCGATGAGCTCCTCCAC
+GGAGTATAAGTTATCTGTCTCGGTTAAGTCTGTGCCATTAATATGAGTGAATTCATAGCTTCGATATTGT
+GTTTTTTCAGTCCTTTTGCCAACTGAAACCTCCTGCTCCTTCACAACTTCCTGTAAAACCTTAACATCGC
+CACCAAGTACACGTGTTACCGTGTAATTACCGGCTTCAGTTGCTTTTGTGCCATCAATGGTCAGATAACC
+GGTGTCTGTTTTATCATAATAAACAACATCATGTCCCTTTCCTGCGTAGATATTGGCTGAGCCGGCAGAT
+AAAAAGACCTTATCATCCCCGTCTCCCAGGTGTGACTCAATACGAATTTCCCGATACTGGTTATTACCGA
+CAGATGCATGCTGAATCAGGTTAGAGTAATCATACACAGACCCCTTGTCCTGAACCCCCTTCACCGTCCA
+TTTATCAACCCCCTTGACTAATAGTTCGGTAATATACTCGTATTTTCCGGACTGCCTCCTTTCACGAATT
+TCCTTGCCAGGAGTCAATAATGGCGTAATAAACTTTAACAAAGTAGATGACTTAATTACAGACAGGTCAA
+TATTCCCTTTTAATGGGTCAAAGACTTGCTTCTGGAATTCATCCGGTTCTTTCTCCAGTCGTTTTCCTTC
+TTCATAATAGTCAATATAACTTTTACCACTGAGTGTTTTGTCTCCATTTCTGGTGACACCAGCTAACTCA
+CCTATCAGCGTATCCCAATGTTGCTGGGTAATGAGGACAGATCTTTCAACAGAATACTCTTTATTATACT
+GAGATAATATTTCAAAGTTATCCTCTAAAAATGCAGCATGGCGGGCATCATATCCATTTTCAAAGTAATT
+TTTGCCGTGTTTTTTCTCCCATTCAGCAATAACATCGGCCATTTTACTGGCGACATGTTCAAACATTGCC
+TGTTTTGAAGCCTCAAGGATGCCTGAAATTATCCCCGTAACAGCCCCTACCAGCGCGCTTACCGGTGCAC
+CAACCAGAGATGTCGTTGCAGCAGCACTAATACCTGAAGATACTGAAGCCAGAACAGTGCTTATCGTTGT
+TAACGATGCATCAATAGCTCCTGTTTCTTTGTGGAAAGCAGCAAGTAAACTGTCACCATCGTATCCAAGT
+TTTTTGAATCGTTGTGAATACTCCTCTATTTTATTGGCACGTTTAAACTTATCGGCAATGGACAGGAATG
+AGAGTGGACTAATTGCCAGTGTCACAACAGAAGCAATTAAACCGGCAGCAGCAGCAGATGTAGATAACCC
+CTGTGCTGCACGCTGTGCGATAATATATTGAGAAATACCTTTTCCAACATTACCCAGTACTTTCGTTGTT
+AATTCAACACCTGCTGCAGCTTTAGTTCCGGTATCTGCATCTGCATTGCTCAGAATGAAACTTGCTGAAA
+TCGCAGATAAAATACCCGATACAGTATCTAACCCTGCACCGATATTATCAAGGTTAGGTAAATTCTGTAA
+CTTATTACCAACACCGTTCAGGTGCTTTGTATTGGATAATACACTTCCCAGCTTATTGAGTTGTTGAGAA
+AATGAGTTAACATTATTATTAAGGCTGGCAGCTGTGTCCACGAGTTGGTTGATTAGCTCAATACTCGCTT
+TTGCCAGTTCAGAAGAACTGACATTGCCACCAGATTTTTGTTTCTTTATCAGTTCGTCTATTTTCATTGA
+GGAAAGTGCAGTACCCAGAAAATTTTGAAACGTTGACAGTACACTGCCTGCCTTTCCTAAGTTATCACCT
+ATATTTTCAGCACTGCCGCCTAATTTATTACCCGCTTTTTGATACTTTTGCAGTAATTTGTCTAATTGTG
+GTGCAAAGATAGTCACTCCCCGTTCGGTGAGGCCAATGAGTTTCTCTGCTGTGCCGAATACCTGTTTAGT
+AATCGCCGTGCCATTCTTTTCATCATACTGGACTTCAATTCCCAGTTCATCTGCCGTCCTGACAAGGTCA
+TTAAGGCTTGAACCCTGTCCTTTATAATCTTTAGGGATAAGTAAAATGAGTCTGTTTCCCGCATTGCGGG
+TTTGCTCTGCTGCTTTTTTTAATGCATCTTTCGTGCTTTGTCCTGCTGAGTGCAATTTATTTGCAGCGGA
+TTGCTTTGCAGACTGCAGTGTGCTTTTAATTTGTGCAGTGGTTATTGTTGGCATTTAATTACCTCTTAAC
+CTGTTAATGAAAAATTGAAATCTGACTTGTTTTTTACTTCAGTTATTAACTCGTGGTGATATTGTTTAAA
+AATTTTATTCGCTAACTGTTTATCAATTTTACCTCCGTGAAATTCTGATACTTTACCAACATGAGTTTTG
+GGATCCACCCTGATGGCTCGGAATAGTTCATCAGGGAATTTTTTTCGCATATATTTGTACAGGGCACCGT
+TATCCCCGAAAGGAGCAATCCAGTCAATGAACCATTTACGATCACCTGAAGTCCAGTCTTCTGCGACTAA
+TGAGGTAACATCATTAAGATATTTAATTTCATTTTCTAAACTTAAATTAGCCCAACTACAATATGCAACA
+GGGTAATTATCCCGGGTTAATAAAGCATATTGGTTAGCCCGTATTGCAGGTAATACATTTATTGCAAACA
+AAGAGACTGGCCAGTTTCTGTGTAATGGGGAACTGGCCCAGAGCCAGGATACATGCCCAAGAACCTCTAA
+TGGATTGTTCATATTCATAATAAGCTCACTATAAATTAAATTATATTCTTGAATAAGTGAAACGGAGTCT
+GTGAGAGAACGATATTAAGCCTTAAGCCTTTAAATATGTTTCTTGCATTTAGTTTCATAACGCACATTCA
+CATTAAAAAAAGCATTCATTGCGGTAGCAGGTTTAAAAAAAGCAAACCAAAATACTTACATATGCTTATT
+TTTATGCGAAATTTATATAAACCATGCTATTGCATTCTCTTCAATATGCATATTCTAAAGAACTGTTATC
+TTTTTCTTTATCATACATCTAAGATGTATAGTTGCTCATATATATAACTTCCTTACCCAGTACCAATCAG
+CTGCCGAATGATGACCTGTGAGTTGTCATGTGAACCTCTCTTCTTTTTCTACCCCTGTCAGATAAGGGAT
+TGAATTAATCAGGTCATACCAGTCAATGCACTTTTTCTGACTTCGGATAATGATTCAAAGTGTTTATCTC
+ATACAGTACGATCCCAGCACGCAAAAGAAGGCAACTCTATTGGCGGGTGCGCAAGTATACTCTAAAATAT
+GAGGCAAAATTATATCATACACACAAAAATGCTGTAGCCATGATTTAATTCCATCCGACTTCGACCGTGT
+CTCATATTGTATTTTAAATAAGCATGCTACCGCCCTTCCGGAAATTACCCGTATCAACCGGGACCAGAAT
+CCTGTGTAACAAATCAATTCAACTAGAGACGATTTTAACTCTGAGCACTATAGAATAATGATCTACAAAT
+GTTCAATATGGTGGGTATATCTATTACCGTAGCGAAACAGGTTAGCGCATTACACCATAAGACATAGTAA
+AAACGAGTTTATTTGAAATATATTACTTAAATCAGTATAAAACTCCAGAAAAAAATAACAAAAAGAAATA
+CAGTTAATTAGCGCGGTAATAATTTTCAGGTTATTAAATTTATAACATGGAGAATTTTAACGAAAACTGA
+CTGAAACAAATCAGACCAGTTAACCAGTCAGCCGGTTTTATGATTTCACTCACTATACTTTGTTTCATAA
+GGATTTCAGGATCTGCCAGACTGCGCAGAAATGATGCTTACGAATACACAGTAAAGGCAATGTCATTTCC
+GATACAGAGCCTGACATTGCCATAATGAGCTATTTATCTGAAAAACGACAGAATATGATGTTTTATCGTA
+ACGTAATTTTAAGTTCTCAACTTATTGAGACATATTGTCTTTTTTACCCATGTGGTCATTTTTCATCCCA
+TCCGTTTTGCTCATGTGTTCTTTCTCCATTTTCTCTTTATCCATTGCATTTTTGCACATACCATCCTTGC
+ACATTTTATCATGCGCGCTGGACATGCTGCCTTTTACTTCATGTGTTTTATCCATTGTGTCTGCTGCCTG
+AGCATTGAACATGAACAGCGCGGATAGTACAGTTGCAGAAATAATATTTTTCATGGTTCTTCCTCATTTT
+TAACAATTGTATCAACAACCACCAAACCAGTTATAACCCTGGTCTTCCCAGTACCCCCCCGGAAAATGAT
+TAGTGACCTCTATAACCTGAACATGCTTGGGGTTTTTATATCCCAGCTTAGTAGGGATACGTATCTTTAT
+GGGATAGCCATATTCTTTTGGCAATACCCTGTTATTCCATGTCAATGTCAGCAATGTTTGTGAATGTAGT
+GCTGTCGCCATATCAATACTGGTGTAGTAACCATCGACGCAACGAAAACTGACGTATTTTGCCCGCATAT
+CGGCACCAATCAGCGTCAGGAAATGCCGGAATGGTATCCCTCCCCATTTTCCTATTGCACTCCATCCTTC
+AACACAGATATGACGGGTTATCTGACTCACATGCTGCATGTTATACAATTCAGACAAAAACCAGTTACGG
+TTATCACGTACCAACCCCCGTATTTCCAATTTATAATCCTGGCCATCAATTACTGGGATCTCTTCTTCTC
+CATAGAAGGCATTAAAAGGGAATGGAGTGGTAATGTCCTCTGGAAGATATTCTGGTGCCACACTGTTTTT
+GCTGAACAGAAAACTTTGAATCCGGTCATTAAATCTGGATATACGGAACAATGCTTTTTCAATATCATCA
+TTATTGCTTATATCACAGCCAGTCAGCATCATAATTCCCCCAAGCGTCAGCCCCTGTTGGAGTAAACGAC
+GTCTGTCCGGCGCAAGGATTTTTTCTGCATCTTTCACCACGTAATGGGCATCACTGTCAGACAAAAAACG
+TTTTTTCTTCATTAGTGACCCCGTATCATAGATAACAATGCACGCGGAACCAATAACACCATAACCAGGT
+GAATAATAATAAACAGTACCATAATGTTCATGCACAGAAAGTGGATATAACGCGCTGTATCATAACCACC
+GAATAGTATAGTCAGAAGGGAAAACTGAACGGGTTTCCATAAAACCAGACCAGACAATAGCAGAGCAGCG
+CCATCTAAAATAATCAGAATGTAGGCGAATTTTTGCACCATATTGTATTCCTGCATATTCGTATGATGCA
+GCTTTCCATACAATGCCTGCGTAAGGGATTTTTTCAGTGAGGTCCATGACAGCGGGAAAAACTTGCTCCG
+GAAACGTCCGCTACAAATTCCCAGAGTAAGATAGATCGTGGCATTAATCAGCAGAATCCACATCAGGGCG
+AAGTGCCACAGTAACGCACCGCCAAGCCAGCCACCGAGAGTTAATGCTGCCGGATAGTTAAAAGAAAACA
+AAGGAGAAGCATTATAAATGCGCCATCCACTACATATCATGCCTGCGACAGTAACAGCATTAATCCAGTG
+GCAACAGCGTAACCACAGAGGATGTATTTGTTTTAACGGTAATGGCTGCATTATGTGATCTCTGTCTGTA
+AACTAAGTATATTATGGAAAGGAATGTTCATCACATCCTCACAAGAGTTTAAAAAAAATGTGATAATTCA
+TCGTCAAATGCTGGGGTAAAATTCAGATAAAGAATATGTGGATAACTTTTGATGAATAACGTAAAAAAAA
+TACTGCTGATGGAAGATGATTATGATATTGCAGCTCTGTTGCGGCTTAATCTGCAGGATGAAGGGTATCA
+GATAGTTCATGAAGCGGATGGCGCCAGAGCTCGTTTATTACTAGACAAGCAGACCTGGGATGCCGTAATA
+CTTGATCTTATGCTGCCTAATGTTAATGGGCTGGAGATTTGCCGTTATATCCGTCAGATGACCAGTTATC
+TGCCTGTGATTATCATCAGTGCCCGTACCAGCGAAACCCACCGCGTCCTGGGACTGGAAATGGGGGCTGA
+TGACTATCTACCGAAACCCTTTTCCATTCCGGAGCTGATTGCCCGCATCAAAGCGTTGTTTCGTCGTCAG
+GAAGCCATGGGGCAAAATATTCTCCTGGCAAGTGGACTGATTTGCTGTCACGGTCTGTGCATCAATCCAT
+TTTCACGTGAAGTTCATTTGCATAATAAACAGGTTGATCTTACCCCACGCGAGTTTGATCTGCTGCTCTG
+GTTTGCACGTCATCCTGGCGAAGTTTTTTCCCGTCTTTCACTGCTGGATAATGTCTGGGGGTATCAGCAT
+GAAGGATATGAGCATACAGTCAACACGCATATCAACCGTCTTCGTGCCAAAATTGAACAGGATGCAGCAG
+AGCCAAAGATGATCCAGACCGTCTGGGGAAAAGGGTATAGGTTTTCAGTTGACAATGCAGGAATGCGATA
+AATGAATTGTAGCCTGACATTAAGCCAGAGGTTAAGCCTAGTATTTACAGTCGTTTTGCTGTTTTGCGCA
+GCAGTGACATGTGGCGTTCATATTTACAGCAGTAATCTGTATGGCAATGCAATGGTACAGCGTTTATCTG
+CAGGGCTGGCGCAACAGATTGTCATCACGGAGCCTCTGCTGGATAATCGTGGGCAGGTGAATCACCGGAC
+ATTAAAGGGTCTGTTTGAGCGTCTGATGACGCTTAATCCCAGTGTGGAGCTGTATATTGTCTCGCCGGAA
+GGTCGGCTGCTTGTGGAGGCCGCCCCTCCAGGTCATATCAAACGTCGGTATATCAATATAGCGCCCTTGA
+AAAAATTTCTCTCCGGTGCTGTCTGGCCCGTATATGGTGATGATCCCCGAAGTGTAAATAAGAAAAAAGT
+TTTCAGTACCGCACCGCTTTACCTGAGGGATGATCTGAAAGGATATCTGTATATTATTTTACAGGGAGAG
+GAACTTAATGCTCTTACTGATGCAGCCTGGACAAAGGCACTATGGAATGCACTGTACTGGTCGCTGTTTC
+TGGTAGTGATATGTGGTCTGCTGTCGGGTATGCTGGTCTGGTACTGGGTAACCCGTCCCATACAGCAACT
+AACTGAAAATGTCAGTGGGATAGAGCAGGACAGTATTAGTGCCATTAAACAACTGGCAATTCAGCGCCCT
+GCCACCCCCCTAGCAACGAGGTCGAGATATTACACAATGCCTTCATTGAACTGGCCCGTAAAATATCCTG
+TCAGTGGGATCAACTTTCAGAAAGTGATCAACAGCGCCGTGAATTTATTGCCAATATCTCCCATGATTTA
+CGGACGCCATTAACATCACTTCTGGGATATCTGGAAACCCTGTCAATGAAGTCGGATTCGCTATCATCAG
+AGGACTGTCATAAATATCTGACAACAGCTCTCCGGCAGGGACACAAGGTGAGGCATCTGTCCTGTCAGCT
+TTTTGAGCTGGCACGTCTTGAGCATGGTGCTATAAAACCTCAACTGGAGCAATTTTCTGTCTGTGAACTT
+ATTCAGGATGTAGCTCAAAAATTTGAGCTCAGCATAGAAACCCGTCGATTGCAACTAAGAATTATGATGT
+CACATTCCCTGCCTCTTATCAGGGCAGATATTTCAATGATAGAGCGTGTGATAACAAATTTACTGGATAA
+TGCTGTACGCCACACACCTCCGGAAGGCTCGATCAGGCTGAAAGTCTGGCAGGAAGATAATCGATTGCAC
+GTCGAAGTGGCTGACAGCGGCCCTGGACTAACTGAAGATATGCGAACTCATCTTTTCCGGCGGGCATCAG
+TGTTATGTCATGAACCGTCAGAAGAGCCCCGGGGAGGACTGGGATTGCTGATTGTACGCAGGATGCTGGT
+ACTACACGGTGGTGATATCAGGTTGACTGATTCAACGACTGGAGCCTGCTTTCGTTTTTTTCTTCCATTA
+TAACATCAGGCGGCATATTTTGGGGTGGTTATGTGTATCTGCCTTTGTAAAAGGGATACAAGTTCTGTAG
+TGGAGCACAAAATCAGGGCACCGGAATAACCTGTTTCCACTTTTCTTCATGTAAGCAAGGCGGTAAACCA
+TCGTTGTTCGTGTGAGGTCGATAAACGTTGTAATAACCATTAATCCACTGGTTTATATCACGTACCGCAT
+GGATAAAATCACCATAACCACCTTTCGGAAGCCATTCATTTTTAAGGCTGCGAAAGACTCTTTCCATCGG
+CGAATTATCCAGGCCATTCCCTCTGCAACTCATACTTTGCCTTACCCCATAACGCCAGAGTAACTTTCTG
+TATTTATTGCTTTTATACTGAACACCTTGATCTGAATGAAACAGCAGGCGGCCATCACGCGGTCGTGTTT
+CCAGTGCGTTACGCAAAGCCCTACACACCAACTCAGCATCAGCGGTTAATGAGAGGGCTGAACCGATAAT
+CCGCCGTGAATATAAATCAACAACGAGCGCGAGCTAACACCATTTGTCTTGCAGGCGAATAAAACTGATG
+TCGCCGCACCAGACGCAGTTTGGTGCGGCGGGGTGAAATTGCCGATTCAGTAAATTTGGCAATGGCGGAC
+TTTTGTCTTCGTTTACCCGGTTGTGATGTTTAACCGGCTGTCGACTTGTCAGCCCTCATTCCCGCATCAG
+TCGTCATGCCAGCCACCGGCCTGCATCAACGCCACTCTGTCGCAACATCTGACTGATTGCCCAGCTACCC
+GGCTGCGCCACGACTGAGAGCATGGCAAGCCCTCACCCGGCTTCGTAATTCAATTCTTTGCACATTAACA
+GGACGCTTCACCTGCGCGTAATAAACGCTACGGTTAATACCGAATAAATGACAAATAACCCACACTGGCC
+ACTTTGCTTTCAGCTGTGTGATTAGCGCGACAGCTTCCCGGGGATTTCGCTCATCAGCACGGCAGCCTGC
+TTTAGTATTTCTTTTTCCATCTCAACGCGCTTTATCTGCGCTTTAAGCTGCTGAATTTCGCGTTGTTCAG
+GGGTAATAGCATTACCAGCTGGCTCAATACCCTGAAGTTCCTGCTTATACAACCGTATCCATTTACGCAA
+ATGGTCAGGGTTGAGCTCGAGTGCCTGCGCGACTTCTCTGACATCACGCTGGTATTTAACCACCACCTGC
+TCGAAAGCTTCAAGCTTGAACTCCGGGGAAAAGGTACGTTTAGTCCGACGAGTTTTGATCATGCATCACC
+TCATTTTCACTGTTTTAACATTAACAGGATTTCGAGGTGTCCTGAATTACCGATCCACTACAAAGTACGA
+CAGGTACTGTGGAGGTACTCCCGTAAAGACGGCCATCAAGCTCCCGCTCCGACATACCTGCGGGCAGAGG
+CCATGAAAAGCCAGCTTTGCGAAAGCGCACGAACATACCACAAGCTGTTGATTTTGGTACGCCCAGGCGA
+CGCCCGACCACAACCTGGGGTAAATGTTCTTCAAAGTGAAGACGTAAAGCTTCAGTGATCCAAGTCCGGT
+GTTTCATACGATAGTGTCCATTAAAAATGATGGACATTATTTTTGTAAAACCGGAGGAAACAGACCAGAC
+GGTTTAAATGAGCCGGTTACATGTAATCCATACTCATCCAAGGTTTAATTCTGACACAATAAGAAAATAT
+GGAAAGTCTCGCTCTAGAGATGGGGAGAGGGATATTGAAGTGTATGATATTCCAAGAACTGCCGGAGATA
+TCCTCGTAAATGGATTTTCCAGTGCAAACTGATAACAAATTCGAAGTCATTATCTGCAACAAGATTGATT
+GATGTAGGGGATATGTTAGAGCATTATAATGCTCAAGGATTTGGCGTGATGACATCTGCGCCAATTGATG
+CGACACTATATGATAAACTGGATGCTATTTGCAGTAAGTGTAAAATAGAACAAATAAATTTTTCAGTATT
+AGAGTCAGAACGCGCACTATATTATGACGATATATTAAGATGCCGTTACTTTGGTAAATAACATAAAATT
+AATCAATATGGTAATATATCAGTTGTAATTGATCGAAACAAAGCACATAAATGCCATCTTATAAAGATGG
+TGTTTTTTAAGCATATAAAATATATTTTCTATAAGATATAGGGCAAACTAAATTTCTTGACTTCTATGAT
+GGACTAACTAGATATACATGCCGCCAGTTTTTATAAAACGACGGCATATATAATCATTTATATATCTTTT
+GATTTTATTCGTAACCACTCATGTTGATCTAAACCTATTCTTGACAGATTAGCAACAATATCAGTTGTTA
+TTTTTTGCGCGTACGTTGTTTTTATTTCCCCGATCCATTTCAATACTTTTGGAGTAGATATTTTTTCAAC
+GAGTAAAGGAACGAATGAGATATAGTCAGTATTAACTAGATTGTTCTTTTTCCCTATGATGACACCGTTT
+CCATTTTCGACTCCAAATGAAAATGAAATAATATTAGAAGCTTTTGCCGGCATTTTAATTTTATAAAAAC
+CGCCATATTCATCTTCGATTAACAAATTGTAATTATTATCGTCCAGTGTTCCCCTGAGGAATAAAAAATC
+GGCTTTTTCATGCAATCTGACGCTATCACATAATGGTTGTATGCATAGATAGACAAAATTATATGCATCT
+AAAAGTAAAGTTCCTTGTTTTAAGGACACATTATCTATATGAGAATGATATCTTAAACTCCTGCGCGTGA
+TTTCCAGAGAGCATAATTGCATTAACTTTTTATCTTCTTCACCATCTTGGCTTAAGTATTCCTTTTTACC
+TAAAGATGCGTGTTCAATAGCGTGTTGAATTTCTTCTAAAGAATCAGCAGAGAGTATATTCCTTAGATGT
+TCTACTGATAAGTCTTTTTGTTTTTTTCCAGTTAATAGAAAATTCTTACAACCATTTTTTGCATAGTGAA
+AAATAGGCCAATGGGATAAGGAGTTTTTGCTTAGAGATTTCTTTAAGTTTTCACTTATTTGCAATATTGA
+TCTTATTTCTTCAGAAATTAAATCTACTGCATAATCATGAGCATTTTCATAAGCATATGCCCTTGACTCC
+TTGGATTTTATTAAATTTAAGATGTGGGAAACATATGCAGTGTCTAATTTATTATTATATTTTGTTAATA
+TCCCATGGGTTTTTTCTCTTATTTCAGAAATGCAAGAGAGTGCGGCGTTGGATAGCAACCCAGCTGTAAG
+GTTAGTGAATTTTTTTATTAACACATTTGGAAGATCTTTTTCATAAACGTCTTTACTAATAACAACTATA
+CACCATTGTTCGAGTGCATAGTTATCTTCAATAAAAATACTATCATCATTTTTTATTACGCTACGGTATG
+TTTTCTTTAACTCATTGTTCAACTTAGTTATAACAGCAGTAACATGTTCACCAGTATAAATAGAAAGAAG
+ACGTAAACGTCCTCCAGAATTTATATCTGAAACGATTATCGATTTTATTATTTCAATAGCAAATTGCCCA
+CTATCGCTTTGCATATCCCAGTCAAGTATTGTTATATCTGCCTTGTGGGATGATGCTGTAATTATATCTC
+TTTCTTCAACATTAAAACTCTTAGCTAATAATCCGCAACAAGCAATACCATCTTTGGCGAAAGCTTCTGC
+TAGAGCTTGGTAATCAAAAGGATGGTTTTTTACCTTTGCTTTTGATTTAGTTGATTCTATCCTTGGGGAT
+GCTGATGCTGTTATTATTGGTGTAGGATCATCGTCGGGATCAACTAAAGCATTAATATCTTCGTCTGTAG
+GGAAAGTATCACTACCAGCTCCAAAAGACATATTGTCATCTACAGCAACTACAGAATGTAAAAAACGGCG
+AACGCAGTCTTCAGAAAGTTTATGAAAATCAGTAGAGCTTGTCATTTATTTATATCCGCTATTCACTTGT
+TTCTTCTGATGGCTCAATAATAAAGAAAGCACCCTGTTCAGGAGTGTAATCATCCAATCTTATAGTAAAT
+CCATCTCGAGATAAACACTCTTTGGAAATGAATAATCCCATTCCACGCCCTCCTGTTTTTCGTGTAAATC
+CCATATCAAATATTATATCTCGATCTCTAGTTGAAACACCGGGACCAGTATCACCAATAACAAATCCTGT
+TTCAGTAGCATCAAGTATAAGTCTTTTTTCTCCAGTTGTTTTCCCAAGCCAGTATATTGCGTTATCAATT
+AGATTTATAAAGACAGGGTAAATGGTTGATGTGTAAGTTACAATTTCTTGATTAACAAACTTTGAGGTAG
+TGAATAATTCAATTCCTTCTTTCTCAAGACGATCATCGAATACATCTCTGATAAATTCTAAAATGGCAGT
+TCCAGTTATATTGGTTTTAGAGCGACTTAAACGTCTTGTCAATGGTGTAAAGGTTTTTAAATAACCATCT
+AAGTGATCAAAACTAGTTCTGATTTTTTGGTATATAATATCAAGCTTAGGATTTCTGTCAGCCCATGCTT
+TTAATTCCCTTAGCGCACTTCTAATTGCCCTAATATTACCATTAAATTCATGATGTACTACAGAAAGAGC
+CATGCCAAGTAGTATTAACTCTGCGTTATTTGCTTGTTGGTCTCGTAAATGTTCAAGTTCAGTTTCGATT
+GCTTCAGTTACTTGAGCCGATGATAAATTTTCAGAAGTGGTACTATCACTAATTATTGCAATCTGGTCGG
+TTAGTTTTCTTATTTCATTAATCACTTCGTTTGAAGTATTCTCAATTTTACTTTCTAGATTTCTTTTTAC
+ATCCAATATATACGCAGTATCTTTGCCATTGAGATTAGTTGATTGGAATTCATAAGAAATGTTTTTTAGT
+TCACTCTTATGTTTTTTCTTATTATCAGAAATTAACCTATTTGCTTTAGATTGCACATCTTTCAAAGCAT
+TTTTAGCGTCATTATATAACTTTGTTAGTTCTTTTTCATAGTAACTTTGTTGTAGATTCAAAGAATCTTC
+AAGTCTCTTCCGTAAGTTGAGAAAATCATTATTTTTATTATCCAGTTCTATAAGCTTTCTATCAACGTTA
+TCTTTTAGCTCATTTAGTGATAACAGTATTTTTTGTCTTTCTATTTGATATCTATCCCATAAATTAGATA
+ACTCTTTTGTTAATCCAACTCCAGAGGGTTTCTTTATATCCACAGAATTACGTAGATTTTTAATGATAGC
+ATCATTTTGTTCTTTAATTTTATTGTATACATAATCTATATTGGTGTCTGTTATTTCTGTACTGGAGAAA
+TATTCCTCGTTTTTATTGATTAGCTTATTTATTTCAATATTCCAGTAATCATTATCTAACTTATCAAAAA
+AATCATACAGATCTTTCTTTAATCTATCTTTTTTAGCTTTAGTTTGTTTAGATCTTTTAGATAACAAATC
+ATGTTCTTCATTTCTACGTTGCTTTGTCTCAACAAATAATTCAGACATATCGCCATCGTCCTTAAAGAAA
+TCTCTTGCGATTTCGATGAAGAAATTTTCAAGCATTTCTTTAAACTGTTTATATGGCTTATTTTCAATGA
+ATCCTTCTCGCCCAGCTTTTTCAACTAATGAAGCATTGTTTTCTTTTGTTAATTCTATTGCTCCAAACAA
+ACGTCGATATGAGAAAAAATATTCAGAAGCGGATAACGTTCTTCTCTTTTCTATTTTTAGAAAATCCGTA
+TCTGAATCTCCATAGGGCAAAATTCTTAATCCATCTCGATAGATATATAAACCACCATATCTATCTGTTT
+TCTCCTTCAGAGGGGCCCACAACTCCATGGGTAAGCGTGAATCACGAAGCCGACCATGAATATACGCTAA
+TTTTATTTTAAATGGACCGCATTGGGTTAATTGATTATTATTTTTCCAAGTCACGACATGATGAATTGGC
+TCTTCACCATAAACAGAAACAGTTCCACTGAATTGACCAAATTCATTGAACCATCCTTCAATGTGGTGAT
+CTGCAAGATTGAATTCTTGCGGTGTAAAAAAAATTGATTCGCTAATTCTGTCAATGCACTCACCATCTTC
+CAGATAGTCTCTAAAACGAGCTATAATAGGAGGGTTTGAATCACTGTACATTGTGTTTGTAAAACCTAAT
+AAAGCTTTTTCTAAGCGAGAAGACTGCTCTGATGTTTTATTGCTATCGCTCGTGGAAATGTCATCTATTA
+ATATTTCTTCGGTAGGCATTATTATGAAGTGAGTTCCATGCCCATCTCCAGATAGTCTTAGCCCACCTAA
+TTTTTTTTCCCATAGAATAGGATCAAATTCAAAAGATGATAATTGTGTATTTATTTGTGATACTTTTGAT
+TTTGATATTTTGTGTGATAAAGAGTCTAAATTATTTCTTGCTTGCTCAATCATCTCATCAAGAGTTTTTT
+TAGTGAAGCATTCGTCGTTGATAATAGTTCTAATTGGTATTTCTATATCATCAAGATCAAGTGATGGTAT
+AGCAAATAAACTCCAATTAACAAATGCAGCAACTAATGGCTTAAGCTCATTGTCTCTTTTGGCCCTAGTA
+AGAACCAGCACCTGTGGTCCAATTGCTGCGATAGATAAACGGCCTATTCCTTTCTCTCCCATGATAGGGC
+GAAAGGCTTTATTACTATCCACTGCTGGTTTATTAATTGCATCATCGTCGATTAATTTGCTGGAGGTTCC
+AATAGTCAACCACCTCTCTTCAAATTCATCGGTTGTCATACCTAATCCATCATCTCTCAAGATAAGAAGA
+TTTTCTTTCCTAAAAAAATCAACTTCGACATTATCAGCATAGGCATCATGAGCATTTTTAAATAACTCAC
+TCAAGGCAGTAGGTATACCTGCAATTTGTTGTCTGCCAAGCATGTCCAAAGCTCGAGCCTTTGTTCTTAT
+TTTAGCCATATATCTATGAATCCTTATTAGTACAATTTTCTATGAGATGTAGCCCAAATAGTCTAGCGAG
+TTCGCAAGGTACAGCATTGCCGATTTGCTTTGCCATTGAATTCAGCGAACCTTTAAAAACATAGCTTAAA
+GGAAATGTTTGTAATCTTGATGCTTCTCTTATGCTAATTGCTCTATGTTGAGTGGGGTCAGGATGCCCAA
+AACGACCATTGGAGTAACTATTACATTTCGTCGTAAGTGTAGGCGCAGGCTTATCCCAACTCATTCTTCC
+ATAAGTATCTGTGTGGCCATCATAATTTTTATGGCATTTATTAACTAACTCTTCTGGCCAATTTCTTCTA
+TCCCCTCCTTCTGGAGTGTGCATAATTCTTTTTAGGTTAAGAGGGCTCAGTGTTCCAGCCCTATGTAAAG
+GATCTTTGGGGTCGGTTTCTCCTGAACATAACTTTGTGAAGTCCTGGATATAATCTCGTACAGTTTTGAA
+TGGGATTTTATTTTTACCATGGGTTATCTCTGGTAGGGTAACTTTACCTACTCGACTAGCTAAGAGCACG
+AGTCTTTTTCTTCTTTGGGGAATCCCATAGTTCTCAGCATTGGCTATAAAAGATATATAGTTATACTCTA
+ACTCTTTAAGTAGCTTAATAAACTCCTGAAATGGGCCTTCTTTTTCTTCATCAATTTTTTGCATTCCAGG
+AACATTTTCAAGCATAATATATTCAGGAAGAAGTTCTCTAATAAAACGATGAGTTTCATTTAGTAGATTT
+CTCCTTGAGTCGTCACTAGTTTTATTTTTATTCTGTTGCGAAAATGGTTGACATGGTGCACATGCACTCA
+GTAACAAAGGCCGTTTAGCTTTAATATCAATGATGTCGGAGATATCTTGAGGTTCGATTTTCCTAATATC
+ATCTTGGATGAATTTTGCATCAGGGAAATTAGCTTTAAATGTTTCTGAAGCTTGTTGGTCAATATCTAAT
+CCAAGCTCGATATCAAAGCCAGCCTGACGTAGCCCTTCACTGGCTCCACCACAGCCACAAAAAAAATCTA
+TAACTATCAATTTGATACCTTCTTTGAACTAAATAAAACAACTCGAATAAGTTGATATTTTAAATAAAAA
+TAATTGGTATGGATATGAACTTTGGTCACGCTACCGCCCTGAGGTCATGGCCATCCCCAGACCTTTTAAA
+GGGATTATGAACAACACCCAGCCGACGTTCAACGGTGTTACCCATACATATCACAAAGTTAGTTAATTGG
+TTGGTCGTAAATTGACCTAAAATGATTGAGGGCAATGCAAAAATCATTGGGAAATCAGGCGACACAGATG
+TTCGGAAGAGACTGAATGTTAAAAATATAGAATGTATATTCTCAAAAAAGAGATATTTCATTACATTTTA
+TATGTGTATAGGAAAGTGAGATTGGCGAATCACCTCCCAATCATCCCGCCAGCGCTCCATTCAGCGCCAC
+GCCAACCCTCACTCCAGCCCACGTCATCGCCCCCAGCCAGAATGTCGGCAACACCAGAAACATCAACCTC
+ATCACCAGATTGATAATCACGTCATCCTGCGTATTCTGGATCCCGGCTAAATTCCAGCTACTGTGGGTAT
+CGCTGTTGTAGAGCACATCCAGCAGCCAGCTATCAAGCCACCGTGCCAGTTCCCACCAAAAGGTGAGGAA
+AAATAGTGCAAACTGCACAAACGTCAGCGTCATCACTACTTTCACATCCCACGCCGAACAGAGCGTTATC
+AGCGGAATACAGATCACCAGCGCTATTTGCAGCTGCGCCTGTACCATCGGTAGTGCCTAACGCACGCTGT
+CGAATGCCGTACATGCCGCTATGCTGCCGAGGATATTTCTAGCGCCGGATGCCAACCGGGTGGCGGCATT
+GGCGACGGTGCCATCAACGTTACCGCCATAGCTTGGATAAACGCGCCCATTCTGCGATACCTGCATATTT
+CGTTCACTGACCCGCGAGCGCAGCACGGCCTCTTCATACACTACCTGCGACTGGTCGATTTTTTTAAACG
+CCGTCCAGATATCTAGGGCAGGAAGTTGCAGTAGACGGGCTTTCAGCCCAACGGTGTCGTCGGCCCACCG
+CTGTTTACAAGTGGGATAGCCGCCCGCGCCCGTATCGGCCAGCCCGGCATCGCGCGATGCACTGTACGGC
+CAAGCACTGTGTGGTGAAAGCGCATGGTCGGAAAAGGCCTGTTCAGCTAACCAAGCACATCCCACCATCA
+CAAGAATCGCCAGAAAACCAAACTCAGTCAGAATAACTCTTCCTGATTCAGGCTTTGCTCCTGCATTATG
+GCTACCACTATTGTTTGCCTGCACGTATCATCTGATAACGGTTAATTAACTGATTTAGCGCCATTTCAGC
+CTGTTTTTGCTGCTGTTCACTGCCATTCTGGTTACGGACTTCACCGTAGCGACGTAACTGCTCTTCCGCC
+GGGATATGCCGGTTAAAAGCCTGCATGATGCCAAACACCTCCGTTTTCAGTTCACTGACCGTCATGTATT
+TTCCCCGCTGTTCATCCAGACGGTTCAGGCGCTCAGCCAACTGCTGTAAGCGGATCATGCCTTCGTTCCA
+GCCCGTCATCGCCTCTTCCGGGAGCGCACGACTCCTTACACTCTTCTGCCAGTTATCCACCATTTCCTGA
+ACACGGGGATTGCCGGGGAAAAGAACCCTCAGTTGCTGCAGCAGCTGCGCACTGCACCGCAGGTTGTATG
+CTGGAGGTAATTCTGCCAGTCGCGTTATCTGCTGACCGGAAAGGGTTATCCAGTGCACTCAGGGCAGATA
+CCGGATTCAGGTTAATTTTTTCAAACAGGGAAGCATATACGCTGTCGCCGGTATGCGTTTCAGATACCAC
+ACTCTCTGCGACGTTCTTTTCTTTCTGTACAGACATCAGCATTTTCTGTAAGCGTACAGCGAGGGCCGTA
+TTGACGGGGATGTGTTATTCAGCTGGCAGTGCTATGCGCCACGGAAGCAGTTCGCTGACCCGGTTGACCG
+GCCAGTCTGCTATGACGCCAAGCACATGGCGAAGGTAGCTTTCTGGATCCACGTCATTCAGTTTGCACGT
+CCCGATCAGGCTGTACAGTAGCGCTCCCCGCTCACCACCATGGTCAGAGCCGAAGAACAGGAAGTTTTTA
+CGACCCAGACTGACCGCCCGCAGGGCATTTTCAGCGATGTTGTTGTCGATTTCCACCCAGCCATCGTTCG
+CATAGTACGTCAGTGCCGGCCACTGGTTAAGTGCGTACGCGAACGCCTTCGCCACCATCAGGCTGGACAG
+GGGACTTTCACCCCCAAGCTGCTGAACATGCCCGGCACACAAAGAAGATCTCGGCTCAGTGGCCGGGATT
+AGTTATACAATTATCTGATTGATTTTTAATATATCTTTTCTTAAATCATCGTTAATATCTGACGGTTCTA
+GCTGGTTTATAAGTTGCCTTATTTGGGTAAAGGTACTTTTCTGATCTTTTAGATCTTCTCCTTTTATCGT
+TGATAAAGCTGCAATTAGTTCACCATCGTAATATTCACCCGCTAACGGCTCTTTAGTTAGAACTTCCAAC
+ACTCTTGGCATCAACTGATCAATACATAAATTTTGTCGGATAGCGCGGCAAAGATCTTCCACTGTTAACT
+TTTCAAGAGGCACATCTATGATACGTTCGAACCAGAGTTCAAGCGGTGATTGTTGCTCAGGCTCTTTTGT
+CATATTGATGTTTCCAATCAATTTACGTAAGGTAATCATATTCCATATCCTTTCAAGGCTGATTCTATTT
+TATTAATAGCATCTGTTGCTCTGCCATACGCAGCCTGAGCTTCAGGATTGTTGACGTTTTTCAACGTATC
+CGCATGATTTCTTAATCCTCTGAGCGTATTTTGCATTTCCTGCATATGATCCCAATATCCTCCATTCTCT
+TTAGGAACTGGCTTACCATCCATATCCTTGAGAGTTCCAATAATATCATGATCTTTCAGAGCATTTTTTA
+TAGTGTTATCGATCTTCTTAATCGCACTTTCTTGCTTCTGATTAAGCTTATCTACAGTTTTTTCATTTTG
+CTGCTTAGGATCATTTTCCGATGGTGGTGGTGTACCGGTTCCTGAGCCGGAACCGCCCAGTTCTACTTTT
+TCCGCATCGGTCAGATCTTTACCGATATTCGGATTCGAGGCAGCCCCGGAACCGTACTTATCATGCAACG
+AACTGAGATACTTAGTAGTGATCTCATCATTACCCATCATTTGCAGGGTAATCAGATGCTCCAGTTCATC
+GGAGGTCATCCTGTCGGCCATATCCTTGACTGCCGCCCCGGCAAGCCCGGCCATGCCCGCTTTCGCCCCG
+ATTTCTAGCAACTGCTCTGCAACTTTAGTCCTGCAAGGTGCTGCGACCGCACAGCCTCTGGCAACCAGAC
+TCAGCGCATTATTCTCAACAACGTTCTTCCCGGCACCAGCTCCAGCAGCCGCGCCAGCCACATCGCCACT
+GGCAATGCCGCCGGCCATACCCGCTGACAGCGTTGCCAGCGTGCTTACAGTTTGCTTCTGATCTTCTGTC
+AGTTTCGACGGATCTACGCCCGGGTAGAGGCTTTTCGCAATGGCTGACGCGATCACTTCACCAGTACCCG
+CACCAATTGCGCCTGCTGCCGCACTGTTGCCCTGAAGGGCTGCTGTCACACCACCGAGAATGGCATGGGC
+AATGGCTTTTGCCGCTGTATTGTCATCAATACCCGCGTGATGACCGATGATGTTCGCCAGCTCCGGCGCT
+GAAGCACCTGCCAGCGCGCCTGCCATATTGCCGCCCACCAGGCCCTGAAGTGCAGCCGTTGCAGCCTGGA
+TACCGCGCTGCATATCGCTGCCGGTACCATACTTTTCCTGTTCCTTTTTGTATTCCGGCGTATCACGCAG
+TTTTGCCAGATATGCCTGCCGCTGTTCTTCCGTCGCATCCGCCGGAACAGGCCCATATTTATCCTGCGCA
+GCCTTCAACGCATTCAGTTCCCCCTGCGTCCGCGCGATATCCGCCACCTGACTGCCAATGTCACTGATAA
+GCCCCACTGTCTGCAGACGCCTCTGCTCTTTCTCCTTGTCAAATATCGGGCTGATACTGTCATTAGTGTG
+CGCAGGGTCACGGCTCAGGTTCGCCAGATTCTGCTTCTGATTGTCCCTGTCCCGGATGGTGATAGTGCCT
+TCAGCCACTGCGGCCTGAGTCGTTCCTTCCGCATGTCCGCTGTGACCTCCGGCGGATATCATGCCACCCG
+GCATGTTACCCTGAAATTTATCCCCGAAGCTGCCACCACCGCTCAGACTGATTCCACTGTGACTGACTTT
+ATAATCCGCTTCGTTGTGAAGGTCACTGAACCCCAGCGTTCCGGTATCCAGGTGGTTTTTATCCGGTGTG
+GCAGTGGAGGCAATCACCGCACCATCCAGTTGGGTATGTCTGCCCACTGTAATGTCGAAGCCGCCGTCAC
+CGGCAAACATTCCGGTTTGTTCAGCAACGGAGTCAAAGCGGCTCTTCATCTTATCCCGGGAGGCAGCGAT
+GTAACCTGAGCCGGTCATGGAGCCAAAGGTAAAACTGCCGCCGGCAGCCACGCTGGTCTGTTTACTGTCG
+TACTTACTGGTGTCCTGCTGGCTGCTTATCAGCAGGTCGTGGCCCACATCGGCGATAATCCTGTTGCCGT
+TGACCTGAGCACCGTTCAGTACCGTATCCCGACCACTGTTGATGGTGACGGTTTTACCGCTGTCTGTTGT
+GGTTTCAGTCCACTCAGTACCGTTACCTTTCTCGCTGCCTTTTGCCGCATTAACGCCAGCAAAGACGCTG
+ATACCGGCACCGTTACCACCGGCACCGATACTGACACCCACGCCACCGCCACTGCTGCTGTTCCTGCCCG
+TTGTTTTTTGTGTGTTTGCAGCGCCACTCAACAGAATATCATTCGCGGCATCCAGGCTTGTGTTACCACC
+GACCTTAAGCTGGCTTCCGGCAATCACAATATCTCCGCGGTTATCGCCCCTGTTTTTACCGGTTGCGACA
+ACAGACAGATTATTCCCGGCATTCAGCGTACTGCCGGATACTGTGTCACTTTCAGAATGTTGCTGTGATT
+TCGATTTCTGGGTGGTGAGCGACAGGCTGACTCCCGTCGCATTCGGGTCACCGGTTGCGGAGGCCATTGT
+CGCAGCCTGTCCGGCCTGCACACCAGACAGCGCTGTCTTTGTGGCCTGCAGGGCTTTCAGACGGCTGTCA
+CTGCTCTCCTTCGTCTCCTGTGCACTGGTAACCGCATTATTGATGGCACTGCCCACCGTGCCGGAAAGGG
+CAACCGTCAGCCCGCTTTTCTTCTGCTCAAATTTTTCGTCCACAGTACGACGGTCATGCCCCGGGTCAAC
+CACCACACTGTCACCGGTAATGCTGATATCCCGGTTCGCAATCACATCCGAACCGCTGATATGAGCCTGT
+TTGCCCGCGGTAATACTGACATTACCGGCAGTGGAGCCGATGGTGCTGGCACTCTGACTCTGCGTTGTCC
+CGGCCTCGCGCCGGTCGTGCGTTGTCTTACTGCTGCCAATGGTGAAACCAATACCGCCGGTACCCATCAG
+ACCGGATTTCTTCGTTTCCTTAAAGCGCCAGGACGTATCTGTACTGGTGGCAGCAAGAACATCAACATGG
+TTACCCGCCGCCAGTGACACATCCTGGTCAGCCACCACATCCGAACCCTCTACCGTCAGGTTATCACCGG
+CGTTAACGGTCACGCGGTTCCCCGACAGCAGGGAGCCTGCTTCACGGGAGGCACTGTCCTCACTGATGGT
+GTGGGTGGTTTTCTTACTGAGAAAACCTCCGCTTTTTTTCTTCGTTTCCAGATAGTGATAGTCACTTTCT
+GTCGCCGTGGTCAGGGCAACATCACGACCGGCATTCACGCTGATATTGCCGGTTGCGGTAACGGATGACG
+CAACAGCGGTGATATCCCGTCCTGCGTTGACGGTGGTGTCACCACCGCTGGCGATTTCCGTTCCCTGCTG
+ACGGACTGTCTCGTTAATCTCTTTCTTTTTCTTCGACGTATAGCTGTCGCCTGCACCGGCAGACTCTGCC
+ACCAGGTTCACATCACGTCCGCCCCGGATGACCACGTTATTTTCCGCAGCCACACCGGCAGCCTGACTGG
+CAACATCACGACCGGCAACAAGGAGGAGGTTATCGCCCGCCGTCACCGTGGACACTGCTGCGTGGCTTTC
+ATGACTTTCTGACCTGCCGTTGCGACTGTTTTTGCTTTCCCTGACTGCATTCAGACTCAGGTCGTTACCT
+GCAGAAAGCAGGGCGCTGTGCCCGGCAGAAACAGAGGATGCCGTGACATCCAGATTATGGCCTGCAGCCA
+TCGCCAGGTTACCGCCGGCGCTGATGCTGCTGCCCTGTGAGGTGGTGGATGATGCACTGTTGTCATCAGT
+GTGCCAGAAACCGGACTGACTTTTGCTCCCGCTTATCAGGTTTGCGGCAATGTTGATATCATTACCCGCA
+GACATTCCAAGGGTTCCACCGGACGAGACCGTTGCCCCGGTAATATCAATGTTTTTCCCTGCATCCAGTG
+AAAGTGAATCAGTGCCTTTAATGGTCGCAACCGGACCGGTGTCCGTACCGCTGAGATGCACACCACCATA
+TCGGCTGTCACTGCCCGCATTCCATTGCTGACGCCGGGTGATATTGCTGATGTTGCCACTCACGCTTTCC
+AGTTGTACGGTTTTACCGCTGATGACTGAGCTGATATTGCTGATATCCCCGATGGCGCTCAGGTCTAGGC
+TACCGCCCGCGCTTATCAGCCCCGCATTCAGGTTGTCGATATAGCCGGTACTGTCGAGCGAGAGGCCGTT
+TTGTGCGTTGATGCTGCTGCCGCTGTTGGTGATATTGCCACCCGCAAGCTGCACGTTGTTCCCGCTGATA
+ACGCTGCCGTTATGCAGGGTGATATCTTCCGGCGACAGATACAGTTTCGGGACCATGACTGTCTGTCCGT
+TGATGGTGGCTGACTCCCACCACAGTATGCTGCCGTCAAGCTGAGCAATCTGTTCAGCTGTCAGCGCCAC
+ACCAAACTCTAATCCCAGTCCTTTCTGTTGTCTGGCCGCGTTATCCATCAGATACCGCATCTGTTCCGTG
+TCTGAACCCAGTCCGTTGAGATAACGTGAACCCGTCCGGCTCAGCACCGCGTTACTGACATACCGGGTAT
+CAAAGACCGCATCCCCCAGGAAACGATAATCTTTTTCCGGTTTCAGCCCGAGGCGGTCAAGAAAATACGA
+TGAGCCCAGAAACTGTTTTTCATCGGTATACGACGGAGCCGTTTCACGTGGCGCCTGACCCGGTTTCGCT
+CCAAGAAGCTCATACAGTCCGGCAAACAAATGGCTGTCCACCTGTCCGAGACCATCCAGTTTCGGGTTCA
+CCGTAATCAGATACGGACTGTCCGGGTCCGTGGACGGAACCAGGTATCCATTGTTGCCGGAAGGCAGTGG
+CCAGTCATCACTGATACCGGTCTGACCGGTCAGTGGCGAACCTCCGGCAATATTTTTCAGGGCACCTGCC
+AGTTCATCGTGCCATTGCGGAGAGCCAACCACCACCGGCTCATACTGCTGCAGCGCTGTCTGTGTCAGAC
+TGTCTCCGCCGGTCTGCTGACTTAACGTATTCAGTACCGGTGCAGAGACCACCGGACTGACACTACCTGC
+ATGTGCAGTGGTTGTTCCGTTATTGATACTGCTGGTAAAACGGGTCTTAACATCCCCGCCCGCCTGAATA
+ACGGAATAATACGTCTTACCGGGCGTGTAATCTTTTTCCCGGCCATCCAGTGAAAATCTGATGGTATTGT
+TTTCAAATTCCGGTGACAGCAGGGGCAGTTTATCCAGAGAGCCTGTGGCATAGCTACCGTAAAACGTTTT
+CGGGTCGTAGCGGTATACCAGATATTCATTCTCTGTCCCCGTCTGCCAGCTCTGATTGCTTAACTCTCTG
+CCCGAAAGTGCGATATCCCCATTCGCCAGGATAAATGACGCCCGGTTTTCCAGTCGTTCAGCCTCAGCAG
+AAAGATTACGCCCTGACGCAATGCGGCCTGCCGGATTATCAGCACCGGTTACTGTTGTGATGTTCTGGCT
+GCTGAGAAAGCGCTGTGTGGCACTGTCAGCAAACGGAGCGTAATAATAAAGCGTATCCATTGTGATATTG
+CATGCCCCGTGCCCGTTGCAGGGCGTACCGTGCTGATTTTCAACTTCACGGGTGAAATAGCCATAGCTGC
+CGTCAGGAAGAAGGGAAAGGGGAATATCAACCAGAGCATTTCCCATTCCCTGAATGGATGAGGGGTTAGT
+CCGGGTTGTTGTTGTGGCAGAAAATCCCTCCCGCTGGTTCAGAAGATGCCCGGTCCTTACAACAATATCG
+CCCTGATGCGTCTCAATATTCCCGGAGGTATTGATAATCTCTGTGTTTGCACCGCCGGAAGCATCCTTCT
+GTACCCACAGACTGTTGCCGGCCAGGATATCACCATGCTGGTTATGCAGACGGTCTGTAAACAGCTTCAG
+GTTATTCCCCGCATAAATCAGCGCACTGTTCAGCAGGGTACCGGCCACATTCATTGTCAGACTGCCTGCC
+GTGCCGGTAAAACCACTGATGGTGATATCACTCCGGCTGTTCAGACTCACATCGCCACCGGCCTGAAGTG
+AACCCGGTGCGTTAAGGAAAAGACGCTGTGCGCTGAAAACACTGTTGCCTTTACCGGCAGTCAGCATTCC
+ATTGTTGGTGAATGCCTCTCCGGCACCGAGCACCATGGCATCACCCTGCATCACACCGCCGTTGGTGATG
+GCATTTTGCGACGTGACGGAAAGGGTTTTCCCTGCGGCCAGGGTACCATGATTCGTGAGGGCAGCAATCA
+GTTTCAGTGTGACATCACCGGTGGCCACCACCTGCCCCTGACCACTGAAGTCCTGAGCGTCAAGCAGCAG
+GTTGCCTGCACTGTACAGCCGCCCTGTACCATGTTGCAGCAGTGAACTGCCCTTGACGCCAAGCCCGGAG
+GTTCCCAGCAGGGTACCGCTGTTGCTGAATGTGTGGTAATTCACCAGCAGGTCCGCACCCTGAAGCGTAC
+CGGTATTATTCAGCGTGGTTCCTTTAACGTCGGCACTGCCGGTGGCAAGTACGCGTCCGCCGTTGACAGT
+ATTCACCACATCCAGCAGCAGGGTGGCAGCCTGTACCAGTCCACTGCCGGTATTCGCCAGCACCTGCGCC
+GTCAGCGTGAGGTTACTGCCGGAGAGGATTTTGCTGTCGTTCTGCAGACGGTCTGTGACGTTCAGGGAAA
+CCCCGCCTCCACCCTGTATCGTGCCCTGGTTACTCAGGGTCGCAGTACTGACATTCAGTGCATTCCGGCT
+CATCAGAACACCACCGAAACGGTTGTTCACGCCACCGGAGGCGGCCAGCGTCAGCGTTTCGCCCTGCAGA
+TGCCCGCCGTTTGTGAGTTGTCCTGCCGTGATGGTGGTGGCATTTCCCTGTAATTGCCCGTCGTTTGTGA
+CACTGTCTGCCTTCAGCGTCAGCACACCTGCACTGAGCAGTTTTCCGTTCGCCTGATTGTTCAGCGTCTG
+ATTCACCGTGAGCGTGAGAGTATCCACACCGGTGATGTCACCCGCACTGGTCAGTGAGTTCGCCTTCAGG
+GTCAGATTTTTTGCAATCCATTGTCCGCTGTTGCTTAAATTCAGTGCACTGAGCGCCATTTCACCGTTCG
+AGGTGACTTTGCTGCCCGCTGTGCTGACGAGCTCACCCGTCAGACGTGCAGTCAGGCTGTCAGCCGCCTG
+GATCGCCCCGCTGTTTACCAGACTGCCTGCGGTGATTGTCAGATCGCCGCTGGTCAGCAATGAACCTCCG
+TTATTCATCAGCGCAGGTTGAGGGGATACCATACGGGCGGCAAGCGTCAGCGCGGCGATCCCGGTGAGCG
+TGCCACTGTTGGTGACACTGTTCTGGCGAATCGTGACATGGTCACCCTGGACAGTGCCGCTGTTATCCAG
+TGAGTTTCCATCAAGGGAGAGCGTGCCGGCCGAAAGCAGACTGCCCCGGTTGTCCGTGGTGGCTGCTTTC
+AGCGTGGTGTCACCCTGGCTCATGATATCGCCGGTACTGGTCAACTGACCGGTTGCCGAAGCAGTAAGGT
+TACCGGTTGCCAGCACGGAACCACTGTTCGCCCATCTGTCCGCCTGCACGGTGATATTCTGTCCCTGCGT
+GGTCCCTGCGGTATTCAGTGTTTTGCCCCGGAGGGAGAGGTCGTCCGCCGTCAGCCAGCGTCCGTGACTA
+CCCTGTGAGAGGGTGTCGCCAGCAAGCGCCAGTGCACCGGCGCCCTGCAACAGGCCGTCACCATCCAGCG
+TGGTCGCCCTGACGCTCAGCGTGTCAGCGATGATTTTTCCCGGATTGCTGAGGGAGACAGCATTTAACAT
+TAAACCATTATCACCGGTGATAAGCCCGCTGTTGCGGATGTCCGGTATATCCAGCGTCAGGTCTGCAGCA
+CTGTACAGCGTGCCGTTCTGCTGATTATCAAGCCTCTGTGTGTTAACGGTGAGTGAGGCCTCCCCCTGCA
+ACAGACCGCTGTTGGTCAGGGTCTGTGACTGTGTATTCAGGGCGGAACCAACAAGTACGCCGCTGCTGGT
+CAGTTCCGGCGCACTGAGGCTGAGCGACGGGGCACTGCTTTTCCCGCTGTGGGTGAGCTTTTCACTGGCG
+TTCAGGGTAAGGATGTCTCTGGCAGCCTGTGTTCCGTCAAGCTGTGCGTTCTGCACATCCACGCTGACAC
+TGTTGCCCTGCGTCTGCGCAGTGGTCGTGGTCTTCAGACTGTTGCCTTTTACAGACACCGTGCCACCCGC
+ACTGGTTTCACCCGCCAGTGTGGAAGACGCGCTGTCCAGCATGAGGTTACCGTCACTGTTTGTGACCGAT
+TTTTCTGTGGTGGTCAGTGTGTCTGCAGAAGCCACAAGTTCCTTTGCCCCGGAGAGGGTACCGCTGTTGT
+TTATCTGCGTGGCACTGAGCGTCAGCACGTCATCGCTGACAAGTCTGCCGCGGTTTTCGAGTGTACCGCT
+GACGGTAACGCGGGCACTGTCTTTTGCACCGGCATCACCGGACAGTGTGGCATTGCGGGCGCTGATATCG
+AGTGTGCTGCCACTTTTAATACTGCCGGTGCTGGTCAGGTCAGTGGCGGTAACTTTCAGGCCATTCCCCT
+GGACGGTACCGGTATTACTGAATGTCCCGGTTTTCACCGTGGCATCGCGCCCGGCAACCAGTGTCCCACC
+GTTGTTCAGGCTGCCGGAACTGACAGTGAGTGTTTTCCCGGCAATGCTGCGGCCTTTCAGTGTGGTATCA
+TTGGTGGTGGTAAGGGTGACATTTTCAGCTGCATTCACGGTCCCGGAAGTCTGGTTCAGGTGCTGTGCAC
+TGAGCATGGCGTTCTGTCCGGCAGTCAGTTCACCACCGTTCTGTACAATCTGCCCGGATGAAGACAGCAC
+CAGATTTTTATCCGTCACCAGACGGGGCTGATTCAGTGTCAGTCCCGTTGTCCCGGTAACGCTGAGATTT
+CCTCCGGCTTTGTTATCCCCTGAAAGTGAGACATCCGTTCCGGTTACGGTGGTATTGCCGCCGGCAAGGC
+TGTTCTTCAGGACCAGTTTTCCGGCACTGCTCAGTATGATATCGCCATCGCGGGCATAAAGGTTACCAAG
+ATTAACCCCGACACCACTTTCAGTGGAGGTCAGATGAATACGCCTGGCGTACATTCCACCGAGCGCGCCG
+GTATCAACGGCAACTTTCGGCACATCACCTTCGCCCTTCAGGGCACTGACGCGACCATCTGCAGTTATCC
+GGTTAGCGCCTGCAGTGACAGTTAAATCCTTCGCATGAAGCGCGGCATTCACTTCCGTTGCACGGGCAAT
+AATGGATACGGCATCGCTCCGGGTGCCGTCCAGGCCCGCGCCATTGATGGTGATACTGCCTTCAGTCACC
+TCCAGCGCCTGCAGGCTGCCGTCGGCATTCATCACAGGTCTGCCTGTGGTGAGCGTCGCGTGCGGCGTGT
+TGATAAAACCACAGCCGTCACAGGTGATACCATACGGGTTGGCAACCATCACATTCGCCGCTTTGCCGGC
+CACTTCCGTATAGCCCTGCAGCAGTGAACGGTTACCGCCGGTCACTTCGTTGATGATACCCTTCGCTTCC
+CCGCCCGCTTTCAGGTTCGGGTTATTCTGTATCAGTCCACCAAGCTGCGTCGGATTAAGCTTACCGGTGG
+CATTATTGAGAATCAGCCCTTCCTTCCCGACGTTGTAATCCGTAAACCGGTTATGCGAAATCCCGGCCCC
+GTTCGGCGTGGCAATGTTCACGACCGGCACACCATTTGCCGCTTTATCCATTCCGGCCCCGTTTTGTGGG
+GTGATGACGGCCCCCACAGCCGGTAACAACGGCTGCCCGGCGATAATCGTACTGATAAGGTAACTCAGCA
+GGCGGTAAGTGAAGCGAACGGGAGGCTGATGCATGGTAATAATCCCTTAAAACGCGACGGCAACGCGCCA
+GTAAACCGTGAGATGGTCAGGGGCAAGCCAGTCCGGGTAAACAAGAGGCAGTCCGGCAGTGAACGAACCG
+GAAACATGGCCACTGGTGGTGCTGAGCCCGGCAGCAGCACCCCACAGCGTGCCGGACGAGTACGGGTCAT
+CTCTGTCAGAGTGCAGCCAGCCACCGTCCAGTGCAGTCACTGCACGGACAGTTCCCACATATGGCAGGGA
+GAACAGAGACCAGGACAGCTCATTTCGCAGATAACCACCGTTATTACCGGAGATATACTGCTCCTTAAAG
+CCACGCACTGAACTCTCGCCCCCGAGGCTCAGTTGTTCCACACCATGAAGACGGTCCGGTGACCACTGGG
+CATAAGCGCTGGTCAGCCACCACACCCTGTCCGTGACGGGGCGCTGAAAACTGGCACTCACCGACCATTT
+CCGGAACTGATTTACGGGCAGGTCTCCCCTTTTCCCGTGGTCGCTTTCTGCGCCGAACCAGGGCATCCCC
+CGTGTGAATACCGGATTCAGTGTTCCGACACCCCCCAGAAACTTGTGTGTGTGATTCAGCCCGACAGAAA
+ATGAAGTGAGTTTACGGCTGCTGCCCTGAAGCAGAACATCATCCAGATAATTGTGAATAATGCGGTGCTG
+CAGACCTCCGGTCAGTGCTGTCTTCATGTTCCCGTTACGGAACAGGACATGCGACAGTCCCAGCCGGTGA
+GTCTGCAGGTCTCCCGTGGAACGCCACAGCCAGCCCCGGTTATCTATGGTGCTGAGGTAGTCACTCCATG
+AATACGTGTAATCCACCAGGGTATAGCCATACGGCAGACTGACACCGGCGGCAAAATTCCTCGCATCATG
+TGACACCGAAAAGTCACTGCTCCGTCCCCCGCGGACAAACCAGTTGTCAGCCAGCCCCAGAGGATTATTA
+AAGGAAAGGACACCATTTAACTGCCCAGTACCGGTATTCTTCTGCCCGCTGTTGTCGATGCCCACGCTCC
+CTGTGACAGGCCATTCCGGCAATGCCGTCAGTGTCACCACCGACCATCCCTCACGGTCACCGGGCGATAT
+TTCAATCTGTACCGACTCCGTACGCAGACGATTAATCTGCTCCATCCCCTGCTCAATATCCCGCAGGTTC
+AGAACCTTTCCCTCCATTCCCGGAAAAACCATCTTCAGGGTGCGGCCAGGAAGGTCAGCGCCTTCCGCCC
+GGATTTGCTGCAGCCTGCCTTCCATGACCGTTATGTGCAGTACGCCCCCTGAAAGGTCCTGCTCTGTCAG
+AAAGGCCCGGCTGGTGATATATCCCCGGCGTATATAGCCGTCCGTCACGGCATCCGTGACCGCGGTCAGC
+CCCGTGATATTCAGACACTGATTCACCCACGGTGCCACCAGTCTGTCGGTTTCTGCAGACGTCAGTCGGG
+TGGCCCCACTGACAACAATGCGTGACACCGTAAAGCAGGGACCTTCAGTACCGGCAGACGTTTCCGGAGA
+CGGCGTGATGGTCAGCGGCGCACTGCGCTCCAGCGCATCACGCTGACGCTGGTTTTCATCCAGCAACTGC
+TGCTGTTGCTGCTGAATTGCACTGCGGTCACCCGGAGACAGCATGGCTGCCGGAGACGAAAATGAAAGAA
+TGCAAAGGCAGGGGAGGAGGGAAAAATAGCGTACCACCTGAGATAAGGTACGGATCCTGAATGCGTACTG
+ACCGGAAACCATACCAGGCAACAAATTTCTGTTCGCCAGTAAGTTATCCTGCCGGTGCTGCATATTCTCC
+TCGTGGGGTATCCAGTGTAAATTAACGTAAGCGGAATGTCAGTGCTGAAATTTACACCAGATAAAAAACA
+TACAGAAACAATCCTGTTATGTAAAATCCGGGGAAAATATCAGAAATGTGATCGGAGTTGTATTTTTCGG
+AGGGGAAATGGAAAACAAACATCCGTATGGTAAAAAGGATGCTTCCTGCGGAGTAACAATCCGGGACACA
+ACGCAAGTTCCAGTTCAGGTGTTGTGAATTTGAGTAAAAATAATCGTAACTCTCCGGAGAACCGGAGCTT
+TCCCGAAGCGGCGTATTCTTATAAATGGAAATCCCTGCAGGTAATCACTCTGCCCGATAGCAGCATAATT
+TGCCTGTTAATCCTCATCCCCGGAGGCAAGCTCTGAAAACCACTCAGGGTGTTCACTGTATGCCACATTC
+AGCGCATCCCAGGAGACGTCCGCATAAAAACTGTCCCGCAATTTGCGGGTAACCACCTCTGCCAGTCGGT
+TCCGGTTATCCGCCTGTCCGGCATAACCTCTCTCTGCCAGCCACTCATTCAGTTCATGTCCCAGAGACAG
+ATTGATAAAATCGTAATCGGACCTTGCCATTCCCGTTTCCTTTGCACATTTTTTTCAGACACGGGAATAA
+AGTATAAAAAGCGGCACTCTGCCCCTGTCAAGGTGAAATCTGCCCTTCATCGCAATGTCAGAGATGGTAT
+GCCGGTATTTTGCGGGTTGTTCCCGTCAGGTTATCGCTCGCTTCCACGGACGTTGTCACCACCGGCATTC
+CGCTCTTTCTCAGTCTCAGGATATCAGCCGCAATGCGCTGACTACCAGACCAGAACAGCCCGTCCAGTGC
+AGTCACCAGTAAACCGGCTTCCAGCGCATACTTCAGCCGTTCACGGGGCACTTTCACTTCCCGGGCAATC
+TGCTGATATGGCGATGATGTATTTTCATTCCCAACCATCCGGCGAATACGATGAGACAGATGATACCGGA
+ATGTATCCGGTACACCAGAAAGACTGGCCTTCAGGCTGTACACGCAGCCAAACCGTTTATCGTTGAACAC
+CACATTTTTCTGGCTGAGGCCCCATTCTTCCCGAAGCGCGGCAATCAGTTGTGGTGTACGAGTAAGCAAC
+AAGCGAAAAGGCAGTTCAAAACTGGTGACGTAATCCACATTCAGCAGGGCAATACGCAGCCGTTCTTCTG
+GTCCGGCCTCTGTCAGCCGACACTCCTCCAGAACATCCTGCCACTGCCGGCGAAGGCGTGGAGATTCATT
+CCGTTCGGTAAAAGAGTATTTATCCGCCAGATAGTCAATTCGTGTACGCATACTGAAGAGCATTCCGTAT
+AAAGATTCAGCTGGCAAAACTTTATCAGTCCATAAAAATCAACGGAAGCGCAGATGGTTCACACGTCCAT
+TACCAACTGATTGTTGTCACAACCGGTAACACAAAGGACTGAACGACTGTTTTTAACAGCGGTGTTGCGT
+CATCCACCACCGTGAAACAACGCTGTGCAGGGAATCGTCCGCATCCCCATAACGGTCAAACATCGTGGCG
+TTGACAGAATGACCGACGAAAAGCCAGAAAGCGCTGATTCACTGAGCTGTAATCAATGTACAGCGCTGTA
+CCGGACGATGGGTAATGGCGGTCACAACCGGTAACCCCAGAGACAATGCGACTGTTTTTAACGCAACATA
+CTGACCGGATGTATCACCCCGGGCAACCCGAAAACACCTTTCCACCCGGCATTGTCCGCCAGCACTTATC
+ACCTGCCAGCTATGTTGCAGTAAATCCACCACTTGCGAACATTGTTCATCAACTGTGACACTGGCTCGCG
+GGTGACAAATACTCGTCTGGCTGAGCAGCAACAGGCATCGAATTGTTGCTCCTCCATGTTGTTCCCGCAA
+CCAGCGTAATACCACCGACGATGATGGACTGGCAGTGTGATTGCTCTCAGTAATACGTTCATGCAGTTGT
+CGATAAAAGGAAGTGCAGAATGCATGAATCTGTTGCCCGTAGATGTTTCCTTCTGTCGAATGGAGTATGA
+AGTGGACTGCCAGCAGACGCGGCCAGTGGTCAACAGCATGTTGAATAAAACGCCGGATGTCTCCCGGCTC
+TGAAATTAAGGCTTCGGTTATTTGCACGAAATGTTCCTTTTCAAACCCTGTTGAATTTTGTCAAACCGGT
+GCAGACACGCAGGAAAGCACGCCAGCACCGGTGTAATGCCAGTTATAATCAATAAGAATGGAATGACGAA
+TCAGTCAGGAAATGATGACTAACAGTTGGCTGACCGGAGGGTGTCAGCGGAAAGATAAGCGGGAGTGTCG
+CCAGCACCAGGGACAGGGCTGATTTCCACAATACCAGCGCTGGCATTTTGCACATTGCCAACGTACTGGC
+ATCACAACACGTTTCATGCTGCTGCTCCTCGTGATTCCTCAATTCGTTGTTGCATCCACTGCTCCACTTC
+ACTTTTGTACCAGCGGCTGCTGCGCCCCAGTTTGATGGGTTTAGGAAAATGCCCTTCACTGATCAGCCTG
+TAAAACCATTTATCGGTCATGCCGGTGAAACTGGTGATGTAGTTCATGTCGATCAGGGGATCGTCGGCAC
+GCAGCCATACGCTGTCGTGGCTTGTTGTGGTCAACATGGTCAGAATGTCCTCAGTGAGATTTATGAAGAA
+TGGGGTAATACGGGGAATGGGATGGCGTGCTGCTTTCAGCACTGCCAACCGGGATTGCCGGCAAGGCAAC
+GGGCTTCCGGATCGCACACTCCACGGCGATCGCGGGCGAAATCACTGAACGCCCAGATAAGGTCCTTAAA
+CAGGGCTTCGCAGTCCGGTGACCGGCGATCCAGTACCACATCCCGGGTGATCTGCTTCTGGTACGGCTTT
+GCTTCACCTGGTGACGCGAAACCCAGCACATTACTCCAGGCATCCAGTATCAACCGATCCAGTTCGGGGC
+CGTCGAAATACTCCTGTCTGACGCACAGCACCACGTGGTATTCCGGCTTTTCCGGATGACGGGTCAGGAG
+CCAGCAAAGGTCGCGTCCGGGTTTCGCATTCATCAGCGCACTGACGGTTTCGATAAAATCCATACCAAAC
+CAGGTCTGTCTGCTGTTGAAGGCGTTGTCATGTTCCCACGGCAGACGAAGCAGGATCCGCCGTATCCGTG
+AGCCGGACTGCTCACGCAGCGCACGCTCAAGGACGCCGATGACTTTGTTCTGATAAGATGGCCAGAAGGG
+TGCCAGGCTATAGTCGAAATAAGGAATAGCATTCATAAGATATGTTCCGTTATGCGCAGCCCACAATGCG
+TCCTGCCCGTGAATGAGCTGACGTGTTATGGCTTGCGGATGAGATTGATGGAATAAGTGAAGAACCGGAG
+CAGAACGGGAAGACAAGGAACAAAACACCGGATGCAGGTTCAGGATGAATGATCTCCGTTGACTTCAGTT
+CACATCATTAATCAAGGCGGTAAGTTTTTACCGACGGAGTGTTTCCAGGAGCGAAGGCTCAGGCCTTAAG
+CTTCAGAAGTGAGGCTTACGAGGACGCCCTGCAGCAGGACGTTCAGGAACTTCATTGCAGCCGTAAGCAC
+ACAGCCCGTCTTTTTGCTCTTCTTTCGCCAGATAATGCAGGGCACCGCGAATATTATCGATGCTTTCAGG
+ATCGTTGTGGCGCACAGGAATGTTGATGTTGTATGCATAATGCGGCTGATATGTACAGCGGTGCGCCGAA
+CCACAGTTATACGTAATTGCCTGCCAGCATTCCGCTATCCGCTCCGCAAAGGGATATATTTTTTTAACCC
+TCTGACGATCGATCCAGAAAACGACATGCGCATGAAAACCATGATCAGCCGTCCATTCAATCACCCAGAA
+GAAACCAACGATATTTTCAAATTGTTCCACCTGCTCCAGCAGCATACGCAACTGCAATTCAAGCCAGCGA
+TGATCAGGTTGTAAGAAATCGGGCGTATCTTTCCTGTAGAAGAAATCCATCCGTAAGGCCCGCAGGCAGG
+AATAGCGTGCCATCATTTGATTGATGTGATTGTCAAGTAAAGCGGTAAAAAACCAGTTTGGTGTGTAAGA
+TTTAGGCATGTTGATGACTCCTGAAAGTTAATGATGTTTTAAGCTCTGTGAGCGAATTAATGCTTTCGCT
+CATAATCAGATCTAAAACGGTAATAACTTACAGATGGTATTTATCAGGCATGCTGTAGCAGAATGGATAC
+GACGGGTTATTAACGATACGCAGCATTATGCAGAAAGAAATGGATTATCTGATGGTATTAGCTAAAGAGA
+TGAGATAAACGAGGAGCGAATAAAATACAGAATCAATAAACATCACGAAATACTGCAAAACACGCGATAA
+AAACCCACTACCAGAAGTTCAAGAAACATATTACGACCAATAACATCATAAACTACAAACTTGCTCTCAG
+TGAGTCTGAAAAAACGTGTACAAGGCCAACGCAATAAACTTATACGCCCTCATCCAATCTGTTCTTAAGG
+ACATGAACGTTAACCGCACACATTACCAGAGTAAAAAATACCACTGGCATGATTTTTACCCTGCATCTTA
+AACAATACAACCCGAAACAAACATAATCAGGTATCTCTCCTGTCAATTTCATTGTTTATCCAGCTCTGTT
+AATCGTTACAGAATCATGGATACCTTATCAAAGAGTAAACATCCAGTTAATCAGTAATGACAAAAGAATT
+GATGTTCATCAGAATAGTTAAAACACTTCAGATAAACAATTATCGTTAAGTAAATACAGTTCATGATGGA
+TAAGATTAAAATCAATTACTGTTTCAGTGAAGACTGATAACAGATGAATATCATCAGTAGAATGGTAGAG
+GATAACTTATCTGAGTATCGTATGAATTACAGTAGTTATGCCTAATGAAGAAGGAAGTGGATATTATGAT
+AATGGTGACAATGAAGATTAGACAAAGAAGAGTGTGAGTAAAGACAGAGTGAATATAATTATAGTAATAA
+GCCTAAATTAAAATTATCCATGTTTAATGGGTAAAAATGAACAACTCTCCGTTCTGAATATATCCCTGAC
+AGAACTGTTTCCTTACAAAAATTAGATAAATTCTTTCTTATTCAAACCTGAACAACATCTTTTGTCAGCG
+ACAGAAAATATGAACTATCTTTAAGCCACATCATTCTCCCGTAAAAAGGGAGTCGATGTGGCAAAATCAT
+TAGTGCCCCTTAGCCAGATATTGTTCCATTTCTTCTTCCGGCACCATTCCACCTCCCGTCGCCCACACCA
+GATGAGTGGCATTACGCAGTTGTTCTGCGCTGAAACCGTGCATCTGTTGGTAACTTACTGATGCGCACAC
+GCGCTGAGGCCCGGCCATACCCGCCAGTGCCGATGGTTCAAGACGAATACCTTCTTCCTGCGCCAGCCAG
+CCAAGCATGTCATACATGGTTTGATCGCTAAGGGTATAGAAGCCATCCAGCAGACGCTCCATCGCCCGCC
+CGACAAAGCCTGATGCGCGACCAACTGCAAGGCCATCCGCTGCGGTAAGGTTGTCGATACCAATATCCTG
+AACAGAAATCTGATCGTGTAATCCTGTATGGACGCCTAACAACATACAAGGGGAGTGCGTTGGTTCGGCA
+AAAAAGCAGTGAACATGATCGCCAAACGCCAGTTTAAGTCCGAATGCGACGCCACCAGGACCACCACCAA
+CACCACACGGCAGATAGACAAACAGAGGGTTATCAGCATCGACGATACGACCTTGCTGGGCAAATTGCGC
+TTTAAGACGCTGGCCAGCGACGGAATACCCAAGGAACAACGTGCGGGAATTCTCGTCATCAATAAAGAAA
+CAGTTCGGGTCAGACTGCGCTGCTTTACGTCCTTCCTCGACGGCAACACCATAATCTTGCTCATATTCCA
+CGACCGTAACGCCATGGCTGCGCAGTTTCGCTTTTTTCCATGCCCGGGCATCAGCAGACATATGCACTGT
+CACCTTAAAGCCAATGCGGGCGCTCATAATGCCGATTGATAACCCCAGATTTCCGGTTGAGCCCACAGCA
+ATGCTGTATTGGCTAAAGAACTGTTTAAACTCCGGAGAAAGCAGTTTGCTGTAGTCATCTTCAAGCGTCA
+GCAACCCCGCTTCCAGAGCCAGTTTTTCTGCATGTGCCAGGACTTCATAAATCCCGCCGCGTGCTTTTAT
+GGAGCCGGAAATGGGCAAATGGCTATCTTTTTTCAGTAGCAGTTGCCCGCTGATCGGTTGTTGATATTCC
+TTTTCCAGCCGTTTTTGCATAGCCGGAATGGCAACCAGTTCTGATTCAATAATCCCCCCAGTAGCAGCAG
+TTTCAGGAAATGCTTTTGCCAGATAGGGTGCAAAACGGGATAAGCGCGCATGGGCGTCCTGAACATCCTG
+TTCGGTCAGGCCAACATAAGGTAAACCTTCAGCCAATGAGGTCGTGCCAGGATTAAACCAGGTGGTTTCT
+TTAAGAGCAACCAGATCCTTTACCAACGGATACTGGGCGATGAGCGAGTTCATTTTAGCGTTTTCCATAG
+TACGTCTCTTTGCGCTTAGATGATAAATGACAGCAGGAATGTGCCCGCCAGAGCGATGACTGAAGCGATA
+AATGTCGCTGTCGTATAGTATTTAAATGTTTCATTGAGCGTAGCGCCGCAATATTGCTTCACCAGCCAGA
+AAAGCGAGTCCGTAACGATCGTGCAGCCAATCGCACCTGAACCGATAGCAATCGCAATAATTTCCGGGCT
+GATGTCGGGATACAGCGGCAGCATGGGTGCAACAATTGCCGTTGCCCCCATCATTGCCACCGTAGCGGAG
+CCCACTGCAGCATGCAGAATAAGTGCCACCAACCAGGCCAGAAGAATCGGGTGCATATGCATATTGGAGA
+GAATAACTGCCAGCGTATCAGCGAGACTGCTGCTTTTTAAAATGGCGTTGAATGCGCCTCCGGCCCCGAT
+AATCAGCAAAATATTAGCAATAGAACCGAAGCCATTTTCCGTATGTGTGAGCATTGTCCCCATGCTCATA
+TGCTGGCGTATACCCAACACATAATAGGCGACAAACACGGCGATAAACATGGCAGTAATAGGGTTGCCAA
+TAAACTCAAGCAAGGTATAAAAACCACTCTCACGCGCCATATTCAATTCGGCAATCGTTTTAACCAACAT
+CAGCGCAATGGGTAGCAGTATGGTGAATAACGTTGCGCCTAATGACGGTAGTGTTTTTTCATCGCGAACT
+TTGAGATCGGCAAACTCTGTGGGTACAGGTTTAAAGGGCAGTCGTTGACCCAGAAATTTAAGGAAAAGTG
+GGCCACCGATCAGTGATGCCATCAGCCCAACCAGCAAACCGTAGACGATCACCGAACCGATATCTGCGCC
+AAGCTTATTGGCAACATATAAAGCAGCCGGATGTGGGGGAACCACGCAGTGCACTGCCATCAATGCGGTA
+CACAGCGGAATGGCCAGCTTTAACAATGAGGTATTGGTTTTTTTGGCAATTGAAAAAGCCAGAGGAATCA
+ATAGCACGACGCCCACTTCAACAAACAGCGTGATGCCGCAAATCAGGCCAACCAGCACCATAATGACATC
+AGCTGAAAGCCAGCGACAGCGTTGAAGTGTCAGACCAATTCTTTCTGCGGCCCCGGATACTTCCATCATT
+TTTCCCAGTATCGTGCCCAGGCCGATAACCGCAGCAAGGAACCCCAGCGTTCCGCCAATTCCACTTTCAA
+TAGCATTTACCATATCCAGTGGTCCCATACCCATCATCGTTCCCACGAAGAAGCTGGCCAGCAACAGCGC
+CAGAAACGGGTGGAATTTGAACTTCACGATGGTCAGTACAATTAACACGATGCTGATAAGCAGCGTGCTC
+ACAACCCAGATTTGAGAGTGCATATCTCACCTTCCCCTGTGATTAACCTGATGATATTGGACAAAAAAAC
+AACGCAGGCTGACAAACGATAAAATTTGCCTTTCACATGAGCTAAATTGCATCAAGGGAGTGATTTACAT
+CTAAAAATGAAGGTGAATTGAGATATGGTTCACTTTAGCTCACCTTACAGCTGAAATTTTGCCGCTATTT
+TTTTACACTTAAGAGAAAAATGAGGTGATTATGGAACCCCTTCGTGAAATAAGAAATCGACTGCTTAACG
+GCTGGCAACTATCAAAACTGCATACTTTTGAAGTGGCTGCCAGGCATCAGTCCTTCGCTCTCGCGGCAGA
+GGAATTGTCGCTGAGCCCCAGTGCGGTAAGTCACCGTATCAATCAGCTGGAAGAAGAATTAGGTATTCAG
+TTGTTTGTTCGTTCCCATCGCAAAGTGGAATTAACGCACGAGGGGAAACGCGTTTATTGGGCGCTAAAAT
+CGTCGCTGGATACCCTGAACCAGGAAATTCTTGATATCAAAAATCAGGAATTATCGGGAACGTTAACGCT
+GTATTCCCGGCCCTCTATCGCCCAATGCTGGTTGGTGCCCGCATTAGGTGACTTTACACGCCGCTATCCG
+TCTATTTCGCTCACCGTGCTCACCGGTAATGACAATGTCAATTTGCAACGTGCCGGAATCGATTTGGCAA
+TCTACTTTGATGACGCGCCGTCAGCGCAACTGACTCATCACTTTCTGATGGATGAAGAAATCCTGCCTGT
+ATGTAGCCCGGAATACGCTCAAAGACATGCTTTAACCAACCAGGTAATTAACCTTCGCCACTGTACGTTG
+CTCCATGACAGACAGGCCTGGAGCAACGACTCCGGTACGGATGAATGGCATAGTTGGGCGCAACATTATG
+CGGTTAATTTGCCGACATCTTCGGGAATTGGCTTTGATCGTTCTGATTTAGCTGTTATCGCCGCGATGAA
+TCATATTGGGGTGGCGATGGGAAGGAAACGCCTGGTACAAAAAAGACTTATCAGTGGTGAGCTCGTCGCG
+CCGTTTGGCGATATGACGGTGAAATGCCATCAGCATTATTACATCACCACATTACCGGGCAGGCAGTGGC
+CAAAAATTGAGGCATTTATTACCTGGCTAAGAGAGCAGGTATGTCAGTCTTGTCAGTATCAGTGATACCG
+GGGATACCGGGGATACCGACAATATGGAAGGGCTCATTGCCCTGAAAACAACATTGGTGTCGGATGTACC
+GGGCCGCAGACATTGCGCTCCGTCATTTGTGCGGCACAGCCCATCACAGTGATAAAGTTTCTCAGTATGT
+ATCAGGGATCTACACGCAGCAGCTTAAGGAGGCCGGATTGCAAGCATCAACAGGGCGTACAGGCGACTCG
+TATGGCAGCGCGATGGCGGAGAGCATCAATGATCTTTACAAAGCGGAATACACCATAAGAGCTGGAAAAA
+TCGTGCAGAAGTGGAACTGGCCACACTTACGTGGATGGACTGGTATAACAATCGACGTTTACTGGAAAGG
+CTGTGGCACATCCCTCCGGCTGAAGCAGAAAAGCTTATTATGCTTCTATCGGAAATGATGAGCTGGCAGC
+CTGAGTTCAAAGATAAAACACTCTCCAGGAAACACGGGGCGGTTCAACTGACAGACATCACAAATCCCCG
+GGTGGGGATTTGTGTATAAGAGACAGAGCCTAGCTGGGGGCTGTGCACAAGAAAACGGCTCCCTGTTGTG
+GAAGCCGCTATAGTGCCGCAGTTTAAGGACCGGTCAACTGCTCCTTAACTGATCCGCATTGTGCGTGAAA
+GCAGACTTTTGGGGTCATTACATGTTTGAAAATACATTCATAATAATGCCGCCACTAATAATCAGCAACA
+TGGAGAATATGGCAGGTAAATCGGGCTTTTGTTTATAAAGAATCATCGAGAAAATTGTCACGCCAACAAT
+CCCAAAGCCGCACCAGAGTGAATAGGCAACACCAACCGGAATAGTACTCATTGCTCTGGTCAGAGCGAAA
+TAACACGTTGAATAAGCACATACCACCAGAACAGAAGGCCACAGTCGCCTAAAACCATTGGTTTTTTTGA
+TCATTGACGTACCGGTTATTTCAGAACCGATGGAAAGTGCCAGCCATAAAAATCCAATATTAAACATGAG
+CAATTCCTTTTGTCAGTTAGCGATTTTTTTATCGAGGTTGGTAACTGGAGTTTCTTCCGCCTCTTCACTG
+CCCATTTTTGAGAACAGATTCATAATGATAATACCGCTGGCTATGATGACCATACCAATAATGGCGGCGG
+TATCCGGGTGTTGACCGTAAAATAAAATCCCAAGGGTTGAAACCATCAAAATGCCAGTACCGGACCATGT
+GGCGTAAGCCAGACCAACGGGGATATCTTTTACTGCCCGTGAAAGCGAGTAGTAACAAATGCAATACAGT
+ACGACGATTAGGGCCAGCAGCAGCGTTTTTGTCATCCCCTCACTGTTATCGAACATTTTAAGTGTGGATG
+TTGCAGAGGTTTCAGAAAGGATGACCAGTAACATCCATAGCCAGCATTTTGTTTTCGAAGACATATCTAA
+ACTCCAGGTTTGTTATCGAGGTAAGGTTATTTTTTCTGTGCTTTCAAAAAATCGACCGCAGCATCGGTCA
+GTACGGCGTCGGGTGATTTTGCCAGTGCCGGATTATTGACGATATCGGTGACAGTCAGATAACGCCGATG
+ATGACTTACAGGCGATTGACTGCTGACGTCTGTTGCCAGTTTTTCCAGCATTTCATTCATGGAACATAAC
+GTAATGCCACACTCGCTAAGGCCGGTAAGCGTGGCGGAAAGATGCGCCGCGTAGTCGCTGTGAACAGTAC
+CGCGAAGCGCGTTTAATTCGCTGTGCGGATCGCAGTAATAACGCAGTGCCAGTACCGGAATACCCGCCAG
+TAGCGCATCGTGAACCCTTTGCGCTACCGGGCTTTGCAGCGTACCGTTGACAATATCTACAGCCAGCGGG
+TAACTCAAAAACGGCAGCAATAACGCTTTATAGGGCGTTGAAGGCAATTTGTGTTGCCATGTTTTAGCGG
+GTATCACGTCACCAATTTGCTGCCACCGTTCGCTATCACTGATTGTTTCATCCAGCGCCAGATGCAACCG
+TTCGCCACAACGAGCCAACCGCTGATGAATCAGATCCCGATAGCCATCCGCAGATGTCACCATGACCAGT
+ACCGCAGGTTGCAGCCGCTGGAGGATCAGGTTGACGATGGTGTCGATCTGTTGTTCGGTCATGATGGCCT
+CCCTTAGCGAATCAGTGTTACCTGCGCCCCGTTTTTCAGTCCGGCAGCATTGGCTTCTTCCGTATCGATA
+TGCAGTTCAAGGGCAAAATCATTGCGCACCCGTACCACCACTTCATCGAACGTTAACTGGCGTTCACCAT
+GACTGCGAACACTCACCTTCTGCCCATTGCTGACATTCAACAGACGAGCATCCTGGGGAGACATATGAAT
+ATGCCGCCAGGCGCAAATGACTTGTGAATGCAACTCAACATGACCTTTCGGCCCCACCAACAGTGCGTCA
+CCGGCATTTTCCAGTTGCCCGGATTCACGCACTGGCGCTTTAATGCCGAGAGTAAAACAATCGGCACGTG
+AGATTTCCAGCTGGCTTGTCGGGCGAACCGGTCCAAGTACGCGGACGTGAGTCAGAGAACCTTTCGGGCC
+GACAACCGTTACACACTCTTCAGCGGCGAATTGCCCAGGCTGGCGCAACGGCTTAAAGGGCGTAAGTTGG
+TAGCCAACACCAAAAAGTGCTTCAACATCCTGCTGCGACAGATGCACATGACGATTAGAAACACCGACCG
+GAATAGTGGGAGCAGTATCGATCAGTCGCGTGGTGATTTTTTCCTGTAGCAGTGCGTCAATCATGCTTTC
+TTCCCTTTCTTATGCCCGTGGCTTTTCACTTCCACGATGGGGGCTTGCACTTCTTTCTCAGGTACAGGAA
+TTGCAGTTTCAGTATCTGTAGAAACTTCAGCGGTTTCCTCGCAGACAGCCATTTCTGCAACTGTCGGCAG
+CTCTGCATGAGGTTTCTGGCCTGATTCGACACGTGGCGGATGACCTTTCAGGTTGCTGAGAGCCTCAACC
+ACGCAGCGTTCCGGGCGAGCGATCACCAGTGATTTGGCCTGATGGTCGGTTGCGGATGCCACAGCAATAC
+CACGTTCAATGGCCGTGTAAACTGCGCTGATTTCCCCATCAAAACAGACGGTTACCAGCCCGGAACCTAC
+TTTGCGATAACCAATACAGGTCACCCCGGCTGCTTTGCAGGCGGCATCTACGGCCTGGATTGCGGCTACA
+AGACCACGTGTTTCAATTACGCCTAAACTGTTCATTTACGGCTCCTTTAATGACGAACTAAGCGAATATC
+AAAATCGAACTGGGCGAAAAACGCCTCCAGTTTGTCCAGCTCTTCCACGCTGTATGACGGGTCTTCAACA
+ATCGGGTAGGGCATCTCCAGTCGTTCATACTTTTTGCGCCCCAGCTGGTGGTACGGCAGTATATCGATTC
+GGCGAATATTGCCGCGTTTGGCCAGTTTCTGGACGTAGTCGATAGCGCCGGTAATCGCTTCCCACGAATC
+GTTATAACCACGAATCAGCGGCATACGAACAATCACGTTGGCCCCCGAATCCACCAGCCACTCCAGATTG
+CGACGCACGCCTTCGTTGCCAATTCCGAACAGCGTTTTATGGTGATTGCTATCGATCTGTTTGATATCGA
+ACAGGAAGGTGTCGGTGACCGGAGCCAGCTTCTGATAGTTTGCAAGCGGGGTTGTACCCTGGGTCTCGAC
+GGCGGTGTTGATCATCATCTTTTTGCATTCACTGAACAGGGCAACGGCAAAATCAGTTTGCAAGCTCATC
+TCACCGCCCCCAATAGTGACACCACCGCCGGAGGAGACGTAAAAGTCATAGTCCTGCATGATGATCTCCA
+TCAATTCACTGACCGTGACATCTTTACCCATGATATCCAGTGCATTTTGGGTGCAAATTTCTTCACACTT
+GCGACAACCAATGCAGTCTTTATTACGGTTGACGAAATGCTTCATTTCTCCGTTGACTTCCGCGCGGTAG
+TGGATCCCCGCAGGGCATACATTGACGCAGTCGCCGCAGTTGATGCATTTATCCTGAGAGAACATCACCT
+GAAACTGGCTGCTTAACCCTTCCGGGTTGGCACACCACGGGCAGCGAAGATTGCAGCCTTTAAAAAAAAT
+CAGTGTGCGGATACCGTCACCGTCGTAGATCGAATATTTCTGGATATTGAAAATTCGTCCGCTTAATTCT
+TTATTTGCGCTCACGCTTGCCTCCTGAAAATGTCGGACATCCTTGTCCGGTTGCGATCCGTCTTATCAGA
+ACTTCTCAATCACCGTACGGCTGATGATTTCGTCCTGAACTTCCTTGCACAATTCCACGAAGTAGGCGCT
+GTAACCGGCTACACGGACGATCAAATCACGGTATTTTTCCGGTTCCTGTTGTGCTTTTTTCAGTACTTCG
+TTATCGACGTAGCTGAACTGCATCTGACCGTTGCCGAGAATTGATGCTGTACGCAGTAGAGTTATCAGGC
+CGTGGCGTCCTTCAGGTGTATCAAGTAACCCTTTGAGGAATTTGAAGTTATGCACCATGCCGATATTCAT
+GGTTTCAACGTTCATTTTGCTCACAGACTTGATAATCGCCGTTGGGCCATGCTTATCCGCCCCTTGAGTC
+GGGCTGATCCCGTCAGAAAGCGGCATCCACGCCAGACGACCATTTGGTGTGGCATTGGTCAGCTCACCAA
+TCGGCGTATTGTTGGAGATCGACAACGTACCGTGGCTGAGGGTGGAGTAGAGCATCTTGTACTTGCGGCA
+TTCACGTTCAGTCCACTCGGTGATATCCAGAGCGTACTGGTCAACGTAGTTATCGTCGTTGCCGTATTTC
+GGTGCGTTCAGACAGTCGCGACGCAAGCCTTCATAACCTTCAAAGTTTGCCAGCAGAGCGTCCCGTATCT
+GTTCAAGGGTATATTTCTTATCTTCGTAAACCAGTTTGCGGATGGCCGCCATTGAATCGACGTAGGTAGC
+CAGACCAGAGAAAATCAGCCCAGGTCCGTGGTTTACCATTGCGCCACCGGCAGAGACGTCTTTGCCTTTT
+TCCATGCAGCCTTCAACCAGTAGCGACATCAGCGGTTTTGGTGCCACGTCCCGGTGCACACGCTGGCTGA
+TGACCGTACCGATGGCGGACAAGCGTATGATATGAGCAACTTGTTTTTTCACCGCGGCATCAAAATCTTC
+GAATGTGCGCAGATCTTTCAGATCGCCCGTGTCCAGCCCCTGATAGCTATCAAACAGCACCATACGACCA
+CGGTTGAGGACAAACTCGATGGCAATTGGCCATTGGGTGTAGCCGGTGGAAGTCCACTGGTAAATACGAC
+CTGATTTTTGTGGTTCCACGCAGCCCATCAGGCAGTAATCACGGGCATCTTCAAAGTCAAAGCCTTTGCG
+CAGCATCATTTTGATATGGGAGTCATCGAAGTGACAGGCTGGGAAGCCCATCCCCGCTTTCACCACATCG
+ACAATTTTTTCCATATATTTTTGCGGCGACTGGTTATGGATACGGCAAGCCAGTGATGGCTGATACACTT
+TCACAAAACGGACTGCATCCATAATCAGATAGGTGAGATCGTTGCAGGCATCGCCACCGCTACGTTTTTG
+ACCACCGACAGTCAGGTTGATAAATGGCTGATAACCCGCAAAATATTTCGCTCCCAGTTCGCTGGACATC
+CACATCAGCTCGGCACATTTGATGATAAATGCCTGCATCAGCTCCAGTGCACCTTCATGAGTCAGGCGAC
+CTTCACGGATATCTGCTTCAAACATCGGGTAGCAGTACTGGTCAACACGCCCAAGTGACAGGCCTGTCTG
+GTTCTCTTCAATCTCAAACAGTGACTCTACCGTCCAGATACTTTGCAGCGCTTCCTGCAAGGTTTTCGGC
+GGATTCGCCGGAACGTTCTGGTTAACTTCTGCGATAGTCAGTAGCTCTGCTCGACGCTGGGCGTTCTGTT
+CAACGGCAGCCAGTTCACGGGCACGGGCGGCAATACGATGCGCATAGTTGATCACCCCTTCACAGGTGTC
+GATCGCTGCTTTGTAGTAGTAAATGCGATCGATATCTTCCGGGTTTTCCATGCTCAGTTCGGCAAGATGC
+GCCTCGGCATCGGCTTTGATGCCATTCATCCCTTTGGTAAACAGCAGCACATCGTAGCCCGGACAGGTAT
+CACCCCCACCGTTAACCTGATGATAGGAGAGGTCGCTGACGAATGTTTCGCCACTGAACGACCAAACGCC
+AGCTTCGCGGTATTGTGCTTCACAAATTTCATCCAGCGAGCGCCCCTCCCAGAACGGTACAATCTCTTCG
+CGAATGGTTTTTTTATCTTCTTCGCTGATTTCAAACGGATCCTGCGGGCGAGTACTCATGGTATCGAGTT
+CGTCACGCACCCAGCGCCAGGCAATATCAGGTGAAAATGCGCCAGCACGCGGTTTACCGCAAGGATGACC
+GACGATCAGCTCATCGTCCTGAATCAAAATCGGCGCAGTTTCACAGGCGTGACGGAACGCTTTAGCACGC
+AGCAGGATGGTTGGCATTCCTGGATTCGCTTTCACTACTTCGGTAAAAGCCAGTGCACGGTAAATAGAAA
+CACTCGGGCGGACAGTCAGGTAGTGGTTACGCAGACGTTGGATACGTGGTGTCAGGCCTTCCAGCACTGG
+CGTTTCGTTACAGGCGGCACATAGTGTGGTAACGGTTTTGTGGGCGCCATGGAACAGACGTATGGGCAGA
+TTTAGCGCGCTCAGGTTACGTTGTGCATTGAGGAACATCTCTGAAAGAGGGTTAATCACTGCGTTCTCAA
+GGCTTGCACCGTGCAACAGAGCATCGAACATCGGGTAGCCATCGATAGCACAAGCTGCGCGGACTTCACT
+CAGTTCTGCCAGTTTAAACCACAAACATTCGACAATTTCGTAAGCCTGCGCCTCGGTCAGCAGACCGTTG
+GCAATATCATGCTGATAATACGCCAGCAGCGCTTTATCTGCGCCTTCCGGGTTAACAGCATAGCTACCAT
+TATCTAACTGGAGTGCTAACTGGAACAGATAAAATGCCTGGCAAGCCTCTTTAAAACTACGAGCAGGACG
+CGCTGGGATATGGTGCAAAATGGCGGCACTTTCAGATAACTCAGCTTTGCGATACGCATTTGTCTCAGTT
+GCAGCCAGTTTTTCGGCGCTGGTGGCCAGATTTTGCGCTAACTGCATCAGGGCATCACAGGCATAAATCG
+CGGCGCGGCAAGCGTTGACTTCATCCATACCACTGCGGCTAACGGCGCTGCCCAGTGAGCGGGTTTTCTC
+TTCCAATTGCTGTTTGATTGCCAGCACGCCTTTTTCGATCACCAGTTTATAATCCGGGGCATCAAGGTCG
+CTATTTAGATTAAGAAACTGAAAAACAGACGGGCGGTGGGCCGTACTTTCGTCGTGGAAAATCGCACCAT
+GCGGACGATGAGTCTGATTGCCAACAATCAGTTCATCGGGGCTAACAGCGAGCGGTAGCTGGCGCATCAG
+TTCATAGAAACGGCGAGCGGGTTTTACTGCGGCGGGAATGCCCGCGATATCACCATCCAGCCCACTCAGG
+ATCCCGGCATGTTCAACGCACAGGGTACTGGGGTGAGCCAGTAAACGTTCAGCCAGCACTTTTACGCGCG
+GTGTTAAATTGTAGTTTGCCATAAGGTAAGGGTCTCCAGTTCTTGTTATCAGTGGCATTGAGCGATATTG
+CCGCTCCAGGCCTGGCGATAAAGTTCAGTCAGGGCGCGGGCATCCGGTTCGCGCGGGTTGGTTGGGGTGC
+AACTGTCACGCAGTGCCTGGGCAACCATCTCCGCCAGGCGCTGATCGAAATCAGCGGCATTCACGCCGGT
+GTCGTTAATCCCCCTGGGCATATTCATTTCATCTTTCAGCGTTTGGATTGCGACCAGCAGGCTTGTTACT
+CCTTCACGAGGCGTGCTGGCAGGCAGATCCAACAGATGTGCCAGACGTGCATATTTCCGCGCAGCAAGGG
+TGTCGCATTGACCGTGGTAGTCAGCATTCCATGCCACAACGTGTGCCATTAGCAGGGCATTTGCGCGCCC
+ATGAGGGACACGGAAAACACCACCAAGGGCATGAGCTAGGCTATGGGTGATGCCAAGAGAGGCATTGGTA
+AACGCCATTCCTGCCATACATGAGGCGTTGTGCATTTTCTCCCGAGCCTGCAAATCCTGGCCGTTACGCC
+AGCAGCCCGGCAGGTAGCTGAACACCTGTTGCACCACTTTTTCAGCAAGTGCATCGGAAAAGTCGCTGGC
+GGCAAGGGAGACATAAGCCTCCAGAGCGTGGCACAACACATCCATTCCGGTGTCAGCGGTGATAGCAGGT
+GGCACGGATGCCACCAGTGACGGATCAAGAATGGCGATATCCGGTAGCAGCGACGAGTCAACCAGCACCA
+GTTTTTCGGCATGGGCTTTCACCACCGAGAAACTGGTCACTTCTGAGCCCGTACCGCTGGTGGTTGGAAT
+AGCCACAAAGCAGGGGCGTTCACGTCCTGCTTCCGGACGGGTTTGCGCCAGGGCGAAAATAACCGCTTTG
+GCTGCGTCAATGACCGAACCACCGCCGAGTGCGATAACCAGATCCGGGTAGCAGCTGTCCATCAACTTCA
+TCCCTCGGACCACGGTAGCGATATCCGGATCGGCGACAACGTCATCCCACACCTGCCAGTCAATGCCGCG
+CGCACAGAGACGCTGCGTGACACGTTCAGCAAGACCGAATTTGACCATCGCCTGATCGGTAACCAGCAAA
+ACATGACAGGCGGTTAGCTCGTCCAGGACTGACAGCGCGTCTTGACCGAAGCAGATCCGGGGTTTCAGCA
+AAAACTCACTCATTGGTTTTTTCACTCCTTAAGCGTCCCGAAAAACCTTCTCGACAATGGCGACCACTGA
+CATCGCTTTGTAACGATCTTTATTGAGTGCGAAGTACTCCTCCGCCAGCACAACGTCATGAACGCCTGCA
+CCGACGCTATCGACAGCGACCCAGGAGCGGTCCTTCATCAGCTGTTGGTTATCATCCAGTTGGGTGATCA
+ACAACAGGTTGCTGCCGCGCAGCTCATCGCACTTTTGCGTGGCGACGACATGTCCGGTTACCTTTGCGAG
+AATCATCGTTTTTATCGCCTTATCTCAATGAATTACTTGCCTAAGCGCTCAAGCACCTGGCGGATGACTC
+GCTCAACGTTCTGCTCGTTGATCTCGCCTTCGGGATCAGTCGTTGCCACAGTAAAACGATCATCAGCAGA
+TGTGGTTGCCGGGGCAGGGGAGGTGAAGCGGGCATCGTCAAGAATGCTGCGATGCGGATCCACTATCGGC
+GCGGCGATGGCTGGCTGCGGTTCTGCACGGCTACCCGGAGAACGCAACTCATCGATGGAACGCACGCCAT
+AGCCCACTTTACGAATGTTGAGCAGATTCATTGGCCCGACGTTATCGGAAGAGGAACCACCACCTACCGC
+ACCGCATCCAAGCGTCAGGGCGGGGGTAATGTTAGTGGTAGCGCCAATACCGCCAAGCGCCGCAGGGGTA
+TTGATCAGAATGCGGTTAACCGGTTTTTCAAGGCAGAATTGACGGATCACATCCTGGTTGCGGGTATGGA
+TCACCAGTGTGTGGCCCAGACCTTCGTTAGTCAGCAACTCCACCACGCGGTGGCAGGCAGCTTTCCAGTC
+CTCTTCGATATACAGACCAAGAACCGGGCACAGCTTTTCACGTGAGTAGGGGTTTTTGTGAGAAACGGTA
+GTTTGTTCGGCAATCAGTACTCTGGTACTGGCGGGCACACAAAAACCGGCCATCTGGCTTAAATACAGTG
+CGGTTTTTCCCACCACTTTCGGGTTAATCGTGCCGTTCGGGCGCAGCAGCAGAGCTGCCATTTTTGCCGC
+TTCATCTTCGTTCATAAAGTAAGCACCCTGAGCTTCCAGTTCGCGGTGTACTTCGTTGTAAATGCAGCGT
+TCAACAATAATCGACTGTTCAGAAGCGCAGATCACACCATTATCGAAGGTTTTGCTGGTGATGATATCTT
+TCACCGCATGGTGGATATCCGCACTGCGTTCAATAAATGCCGGACCGTTACCAGGACCACCGCTGATGGT
+CGGTGTGCCAGAAGCATATGCTGCTCGTACCATTCCTTCACCACCGGTAGCCAGAATCAGCGAAACATCT
+TTGCTATGCATCAGTTCCTGGGTTGCTTCCAGCGTGAGCTCGGTTACACCATCGACAATACCCGCAGGTG
+CACCAGCAGCTTCTGCGGCACGCTTAACGACTTCTATCGCCTTCCAGCTACACTGACGTGCGCCGGGATG
+CGGAGAGAAAATAATCGCATTACCGGCTTTCAGGGCGATCAGCGTTTTGTAGAAGATGGTGGAAGTCGGG
+TTGGTTGACGGCACCAGGGCGCAAATCACACCCAGCGGCACGCCCACGTCCATCACTTTTTGCTGTTGAT
+CGTCATGAATGATGCCGACGGTCTTCATATCTTTGATGGCATCGTAAACACGCAGCGAGGCGAAACGGTT
+TTTCAGGACTTTATCCTGCCAGTTGCCGAAGCCAGTTTCTTCTGCGGCCATTTTTGCCAGTGCTTCAGCG
+TGGTGTGCTGCTTCCTGGGCCACGTTTTTCACGATGGCGTCGATTTGCTGCTGCGAAAAAGTGGCCATAA
+TCGCTTGCGCTTTTTTGGCGTTACGCACCAGCACCCGCGCGTTCTGACGGGAGCGCAAATCGGTATCCAG
+TTCAATCATGAGTCTATCCTTCATCAGACTAAAAGAGTGCAGACGGGGCGTGCCCTGTCAGGTCATGCTT
+TATGCTGCGACGCGATTTTTTCGATGTCGTTATGCGGGCGGGCGATGACACGGGAGGTCACCACTTCACC
+GATACGTCTTGCTGCTTCAACACCGGAATCCACCGCGGCATTCACTGCGCCAACGTCGCCTTTTACCATC
+GCGGTGACTAGGCCAGAGCCGACGTTTTCATAGCCAATCAACTCAACGTTGGCGGCTTTACACATCGCGT
+CTGCCGCCTCAATACAGGCCACCAGACCTTTGGTTTCGATCAGACCAAGCGCTTCTCTCATTATGTTTTC
+TCCGGTTAATCGGTAATTTTGTAGTGCGAGACAATCTTGTTGATGTCATTGTGTGGACGCGCGATAACCA
+ACGACGTCACCACCTCGCCAATGCGCTGTGCGGACTCAACACCGGAATCCACCGCCGCTTTTACTGCGCC
+GACATCACCTTTCACCATTGCGGTAACCAGACCAGAACCGACGTTTTCATAGCCAATCAACTCAACGTTG
+GCGGCCTTACACATCGCGTCAGCTGCTTCAATACAAGCCACCAAACCTTTGGTTTCAATCAGACCTAATG
+CATCACCCATGTTTCTTCCCTCCGGCCTTAAGCTTTATGTTTAATAACGATTTTGTTGATGTCGTTGTGA
+GGACGCGCGATAACCAGCGACGTCACCACTTCCCCGATGTGCTGTGCGGACTCAAGTCCAGAATCGACAG
+ATGCTTTCACTGCGCCAACGTCGCCTTTCACCATCACGGTCACCAGACCAGAGCCGATGTTTTCATAGCC
+AATCAGTTCAACGTTGGCGGATTTACACATCGCATCCGCTGCGGCAATACAGGCCACCAGGCCTTTGGTT
+TCGATAAGCCCTAATGCATCACCCATGGTGATCTCCTCAGAACAGGTTTTGTGATTCAGGAAAACCGTCC
+GTGACACAGCGTTAACTCACGGAAGCGGCGTTCGAATGTCACTATAGAGCTCATGGAATTTTGTGGAATT
+TAAATCTGCTGACAGCAATGATTTAGAATTAAATTCTGAAATTTAGCTTTCAATACACTCTGATTTATGT
+ATTTGTGCTGGAGTGGTGGGGAGGATTTTGTTTTTAATAATGCGCTTTTTGGCGTATTTTTTTCGCCGGG
+TATGTTTGTTGCTAAGTTGCTAAATAATTACGAAAAGGGGGTAACAGCTACAGCGGTGAAGTGTGTTGGG
+GCTCATACTTTGGCGCAAACCCTAAACGCAAAAAATGCGCTTTTGCTCAGGGCCGTTGAGAAGGGGAAAA
+TGGAATGCGTGGTACATCACAAATCGCCTGTGCTATCACGAAGTTAAAGAGTCGTGTTTCTCGTCAGGCG
+AAGGGGGGACGATGAAAGTGGTGAGCAATTCGTTGCGTAAGGCAGCCAGAAAAAACTAGTCTAATTTGCT
+GCCAGATTTAAGGGTACAGATCCAAAGCGGTGAATTAATAGAACTGAGCAAAATCGCTTTATCGTTCAGC
+TTCTGGGCGTTGAGGAACAGCCCGTCATGGCTGTCAGACATTTCACGCATAAAGTAGTCAAAAATCACAT
+CTGGTGATTCATCTATCGATGAGGCGCTGGATTCCCACTGGCTGATGCGGTAATGGCGTTCCGTGGCGGA
+AACACGTTTACTGGTATAGGTAAATTTGACATAGCGTTGCAGGTACAGCCAGCCAGCGGCAGAGTCCGTG
+TAGCCTTCGAGCACCATCGAACCTTTACCCTGGCTGCCAAAGTTAAAGTGAATATTACCGTTAACGTTCT
+CCTTTTCCATATTCTCAAAACGCATGATGCCTTTTGTTGAACAACTCATAATCCCTGTATTTTCAGCAGG
+GGACAACCGCCAGAAACTAAATCCGGAGGCGACAATAAACGCCAGGGCGGAAATAGCAAAGAAGGTACGC
+GGTGCGATTCTCATTACAGTTTCCAAGAGTAATAAAAGTAGTTATCGCAATAACTAAACGGGTTATTTTC
+ATGCATAGCGCAGTGCGCGAGGAACACTCGCCCAAGGCCGTTGGTTTCCAGCCTGTCACCGTAGAAAAAA
+AGAAAACGCTCACTTGGTTTACAGGCGATATTTAGACGCTTACGGACTTCGTCATAATTTTTCTCATATG
+CCTTCACGCTTACTGAACGGCGCATTTCGTCGCTTGCCAGTAATTCGCACTGGCTATGAGAAAGTTGCGT
+CAAAGCGATGGGGCGCGCCTCGCTGATACCGAACAAATTGAAGGCTACCAACAGAATCGAAATGGTTAAC
+AAACAGGCACCTGCAAAATACCAGTAAGCGTCGTGACGATGGGTGACTGGCGCTAATGTTGGTGGTGAAG
+ACTCGGTATCCTCACTGGATGTTGGTACGTCAACATCAGGGATTATGGATGGCTCTATAATTGCAGGTGG
+CGCAGGGGCTTCATCCAGTGGTTCGATGGATACATTCGGGTTTAGCTGCAGATAGCCGCGTGCAACGGTA
+ATGATAATATTATCAATACCATAGTGACGGAACGTCTTGCGCAGCATACTGAGATACTGATTCAGATTGC
+TGTTAGAAGAAGTTAATCCGTTGTTATCCCAAACTTTTGTCAGTACCTCTTCGCGACTAACGATATCGGT
+ATGATGCAAAAAAAAGTTGAGCAGCGCGCAGGACGTTATCGAGAGTTGGCAGTCTGGCTCAGTGCTTTGC
+GGTAGCGTAAGCGTGCCATCCGTAGCGTCATAAATGAAACGGGCATTGATGTTATAGCGCATCGCGACCT
+CAATCCATGGGACTTCACGCGGGAAGTGTCATCTTATTCAGTGAATCAACCAGTGCCTGACGATGTTCGG
+GGCTCATGGTGATCCCTTCCGTTAACTCAGACAACCAGATGCCATCTGCGGTATAGCGCACCAGCGTTCC
+GGTTGGGCTATTATCCAGTTCATCGCCATTCGCTAAATGACCAAGCATCCAGTCTCGCCAGCATTTTCGC
+AGCACCGGTTCATCGGGCATTGCCAGCGAAAGCACCATCAATTGACGGCTTTCTTGTGTGTCAGTCAGCG
+CAGAAAGATAGTTCACATATGCGCGAGTAAAACGGCCATAGCTTATATTGTCTTTTTGCATCAGGGCAGC
+GATGGCCTCTTCCATTATTGCCAACAACCGGGCAAACAAGGCGTAGATCAGCGCCTGCTTGTTCGGAAAG
+TGATGCAGTAATCCACCTTTACTCACGCCAGCTTCGCGGGCAACCGCATTCAGCGAGAGGGCAGCGATAC
+CGTCACGACCAGCAATCATAGCTGCAGACTCCAGCAACTGCTGATACAGACGGATGGGATCTTTTTTACG
+ATGTTGGGTTTCTGTATTCATAGGCAGAAGCATACCGACCAGACGGTATGTTTTTTTTTGATCGCTATCA
+AGGAGAAGCAGCTACCCATGAAGTGAGTATGGGTATTGCGTGTGAGGTCACAATTTGTCGTATAAATCCT
+ACTGCTGCTGTTAATTCTCCTGGTCTGCACAATGGTGGGAATCTGTTACCCTTTCGATGAACAGAAAATC
+CATAAAAAGATGATCAAATAACTTTTAATGACCTGAATGATGCTTTTTGAAATACAGAAGGCAAGCGAGA
+ATGAACCGCCCCGGGGTTCCTAGAGAGTGTTTTATCTGTGAACTCAGGCTGCCAGCTCATCATTTCCGAT
+AGAAGCATAATACGCTTTTTCTGCTTCTGCCGGAGGAGTATGCCTCAGCCTTCCCAGCAATCGTCGATTG
+TTATACCAGTCCACCCACGTGAGTGTGGCCAGTTCCACTTCTGCACGGTTTTTCCAGCTCTTACGGTGTA
+TTACCTCCGCTTTGTAAAGACCATTGATGCTCTCCGCCATCGCGCTGCCATACGAGTCGCCTGTACTCCC
+TGTTGATGCCAGCAGTTTTGCTTCTTTTAATCGCTCCGTATAGGCCAGTGACACATACTGAGAGCCTTTA
+TCGCTGTGATGGATGGTGCCGGACGGACGACGGGCCCACAACGCCTGCTCCAGCGCATCCAGCACGAATG
+TCGTTTCCATGGACGATGATACCCGCCACCCCACGATGTATCCGGCAAACACATCAATGATGAACGCCAC
+ATAGACGAAGCCCTGCCATGTGCTGACGTAAGTAAAATCAGCCACCCACAGCTGGTCAGGACGTTCTGCC
+ACGCACTGACGGTTTACGCGGTCACCTGCGGCAACGGTTTTCCGGCTGACGGTAGTGCGGACCTTTTTAC
+CCCGGAGAACACCGGAAAGTCCCATAACCGCCATGAGGCGCGCCACTGTACATCTGGCCACCCTGATTCC
+TTCCCGTAACAACTGACGCCAGACTTTACGCACACCGTACACCTGATGATTTTCATCGTATACGCGCTGT
+ATCTCTCTCTTCAGCCAGTCATCGCGCTGTGCATGTGCACTGCGTTTATCAGGATGATGTCGCTGTTGCT
+GACAGTGGTAATACGTTGACGGGGCAATATGCAGTTCACTGCATACCGGTCTGACCCCGTACTGCTCACG
+CAGCTTATCCAGCAGTGCCATCACTTTTTCCAGAGGCGGTCGAACTCCGCCTTCGCAAAATAAGCGGAAG
+CCTGGCGAAGGATATTGTTACTGCGGCGCAGTTCACGATTTTCACGTTCCAGCTCTTTCAGACGCTGACG
+TTCAGCGGTGGTAAGCCCACCATCACCGCCTCCGGTATCCCGCTCATACTGGCGAACCCAGACACGCAGA
+GTCTCCGGCGTACAGCCAGTCTTTGGAGCAATGGAACAAATTGCCGCCCATTGTGAGTCATATTCGCCCT
+GACTTTCCAGAACCATACGAACTGCCCGTTGACGGACTTCGGGGGAAAAACGTGTTTTTTTAGTCATCCT
+GTTTACCTCTTTCTCAGGAAGTTTAGTCTCCAGGATTTCCGGGGCGGTTCAACTCCGTTGCCTCATCAGT
+TGTGGTCTACAGCAACATCCACCATTAAACCGCCAACACAGACTGTTCCGCGTTAAACGAGTGCGGCGGT
+ACTTTCAGCCCGGAAACCTGGGGAGCGCGCTCGCAGGCATCAGTCTGTTATTTGTTGAAGGGGTTATTTC
+CTGCTCTTGTGAATGGAGTTACCGAGATAATGATTGGGTCGAAAGACTCGGCACGCCCTTTTTTTTATGT
+AAATTCCATAGGCTTAAGCGATGTAAAACGTTTACATTTGCTGGAGTCTTTTTATTGACAGATAGTTAAC
+ATCTTTGTGATAAACATCACATATGCAAATTTTCATAATAACGAAAACAAAATACAGAATAACACTTCCT
+CCCTCGATATATTACGTTACCCTAACGATAAAATCGGGCGAGTAACAAATATGAAAGTTTATAATTTTGA
+TAAAGTTATTTCACGCGACGGAACCTATAGCGCTAAATATAATAACAAGGGGCATGACATCATTCCTCTG
+TCTGTAGCTGATATGGATATTCCTGTAGCTGATTTTATAGTTTCTGAATTATCTGTCGCAAATCAGAAAG
+GTATCTACGGTTATACATTATTAAGTGATGACTGGCAGCAAGTGGCAGCACAGTGGTATCAACGCCATTA
+CTCGTGGAAGGTCAACCCTGAACACATTGTTTTTTGCCCACGGGTAGTACAGGCCGTCTCATTATTTATC
+CAGAACTTTACCCAACCGGGAGATGCTATTGTCAGCCTGACACCAGCCTATCATCCTATTAGTCATGCAG
+TTGAAGTCAACCATCGAGTATTGCTGGAAAGTGCGTTACTTTATCGTGACCACCACTATGAAATAGACTT
+TGCGGATCTCGAAGATAAGTTTAAAATGGCTTGTTGTTTCATTCTAATATCGCCGCATAATCCAACAGGA
+ACAATCTGGTCAGAAGACAATCTAAGGAAAATAGCTTCATTAGCAGAAAAATATAATATTTTTATTATTT
+CTGATGATGTTCATGCAGACTTCAACTTCACCCAAAAACAACATCAAACAATTTCTTCTATAAGCTCATA
+CGTTGCACAAAACTCGTTTATTTGTACATCTCCAGCAAAAACTTTTAATATGGCCGGACTTGAAATCGCA
+AATATTGTTATTGCTAACGATAAATATCGTGAACAGTTTAAATTAGCTCTTATTGCAGCAGGTATCCATA
+ATCCTGGTTATTTCTCTGTTCCTGCATTTCTCTGTGCTTACCGCCATGGCGATTCTTGGTTAGCAGCATT
+AAAAGATTATTTGGTCGAAAACAGGAGCTGGGTTCAATCATTCTGCCAAGCTCATTTTCCAGACTGGTTT
+GTCGCCTCTGGTGGCGGAACTTACATGTTGTGGATCGACTACCGGGCAATGAACATCAGCGAAGAGCAAC
+TACGCCATTGGTTTGTCTCGCTCGCAGGTGTTGAGATGAGCTGGGGATCAGATTTTGGCGATGAAGGACT
+TGGTTTTTTCCGTGTGAACATAGCCACGCCGAGAAGCAATCTTACACAAGCATTTGAACGGATTTATCAG
+AGCATCCCCTTCACTACAGGAGTTTCCCTTCATGAATAATAACAATACTCCAAGATCCCCAACTCTGGTG
+GAATCATTATTACCAATACTAGCGATGATACTATTGCTGGGATTTGGTTATGCGGCATTCGATCTGCCAC
+CTGAGCCATTAATGGTTCTTTCAACCGTCATTGCTGCACTGTTAGTTAAGCGGTTGGGGTATGGCTACAA
+TGCAATCCTTGAATCAATATCGCAGAAAATCGCTAAAACAATGCCTGCTCTGCTAATTTTGATCAGCGTG
+GGCCTCCTGATTGGGACATGGATGATAGGCGGTACTATTCCGCTGATGATTTATTACGGCCTTAATCTGA
+TAAATCCTTCCATGATCTATGTGACGGCCCTGCTCGTTACTGCCATCGTTTCTGTATGCACAGGGACATC
+CTGGGGATCCGCAGGCACCGTCGGTGTTGCGTTTATGGGTGTGGCTATCGGAATGGAGGCTAATCTGGCA
+GCAACTGCAGGCGCTATTGTGGCAGGGGCTTACTTCGGGGACAAACTGTCTCCCCTTTCTGGCGATACTA
+ACTTAGCCGCAATGGCAGCCCAGATAGATCTCTATGAACACATCGCTCATTTACTTTATACAACCCTTCC
+TTCATTGATACTGTCAGCCTTTGTTATGACGCTCTATGGGATGAATAGCGAGCTCGGCGGCTCAACCATT
+CCCGAAAAAATTCAGCTAATCACTGAAGGATTAAAAGGAATTTATCATTTTAATTTATTGTTATTGCTAC
+CCATTGCCATTGTCCTGTACGGTTCGATTACCAAGAAACCAACCATTCCAATTATGCTTGTTTCGGCACT
+GGTAGCCATGATCAACGCCAGCGTTATTCAGGGGTTCGCACTACACGACATTGTTAAAAGTGCAGTAGAC
+GGATTTAACGTTTCAATGCTTACCGATAAAGATGTTAATCCGCTATTAGGTAATTTGTTAAACCGCGGTG
+GCATGAACTCGATGATGAGTACGTTGCTTATTTGTTTCTGCGCCCTTTCATTTGCGGGAACATTAGCCTT
+GAGCGGCGCTTTAGAAGTCATCGTCCATAATCTGCTCAAATTAGTTCATTCCACAGGAACCATGATTCTT
+GCGACTATTGCCTGTGGTTTAACAATGATTAGCGTGACCTGTAATTGTCAACGACGGATGAAAAGTGATC
+CACTTATATCTCCACCAACGGCCCAATATTGATCCACCGTTTTACTCAGGATTAGCTTCTGCTATAACCC
+CGGCCTTTCGTTTCTGTCTGAGTCGATAGCTTTCTCCTTTGATTTGAACGACATGTGAGTGGTGTAAGAT
+ACGGTCCAGCATCGCTGAGGTCAGTGCTGCATCACCGGCGAACGTTTGATCCCACTGCCCGAACGGCAGA
+TTGGATGTCAGGATCATTGCGCTCTTTTCGTAACGTTTAGCGATGACCTGGAAGAACAGCTTTGCTTCTT
+CCTGACTGAACGGCAGATAGCCTATTTCATCAATGATGAGCAGGCGGGGGGCCATTACTCCACGCTGAAG
+CGTCGTTTTATAACGGCCCTGACGTTGTGCCGTAGATAACTGAAGTAACAGATCTGCTGCTGTTGTGAAG
+CGAACTTTGATACCTGCACGGACTGCTTCATAGCCCATCGCTATTGCCAGATGGGTTTTCCCCACACCTG
+ATGGCCCCAGTAATACGATATTTTCATTACGTTCTATGAAGCTGAGTGAGCGTAACGACTGGAGTTGCTT
+CTGCGGTGCTCCGGTGGCGAATGTGAAGTCATACTCTTCGAACGTTTTCACCGCCGGGAAGGCTGCCATT
+CGGGTATACATCGCCTGTTTACGTTGATGACGTGCCAGTTTTTCTTCATGAAGCAGATGCTCCAGGAAGT
+CCATATAACTCCATTCCTGGTCTACTGCCTGTTGTGACAGCGCAGGCGCTGCGCTTATAAGGCTTTCCAG
+TTGCAACTGCCCGGCGAGCGCCATCAGTCGTTGATGTTGCAGTTCCATCATCACGCCACTCCTCTGCAGA
+ATGAGTCGTAGATGGAGAGTGGATGATGCAGGGGGTGTTTGTCGAAGTTCACCAGATTTTCACTAGGATG
+CACGTCATACTCTTTTTTCTCCGGAGGCAGTGCCAGCATGGACTGCTGCTCTTCGAGCCAGCGATCGCAG
+GGACGGGCCTGGATTGTTTCATGCTTTCGTTGGTTAGCGACATCGTGCAGCCAGCGCAGACCGTGGCGGT
+TGGCTGTTTCAACATCGACAGTGATCCCCATCGGGCGCAGGCGAGTCATTAGTGGGATGTAAAAACTGTT
+ACGGGTGTACTGCACCATCCGTTCCACCTTACCTTTAGTCTGTGCCCTGAAGGGGCGACACAGTCGGGGA
+GAGAAGCCCATCTCCTTGCCGAACTGCCACAGCGAAGGATGGAACCGGTGCTGACCGGTCTGATATGCGT
+CACGTTGCAGAACCACAGTTTTCATATTGTCATACAACACTTCGCGCGGCACACCACCAAAGAAGCGGAA
+CGCATTACGATGGCAGGTCTCCAGCGTGTCATAACGCATATTGTCAGTGAATTCGATGTACAGCATTCGG
+CTGTATCCGAGAACAGCAACGAACACGTGAAGCGGTGAGCGACCATTACGCATAGTGCCCCAGTCAACCT
+GCATCTGTCGTCCGGGTTCAGTTTCGAACCGAACGGCAGGCTCCTGCTCCTGAGGAACCGAGAGAGAACG
+AATGAATGCCCTGAGAATGGTCATTCCGCCACGATATCCCTGGTCTCTGATCTCGCGAGCGATTACCGTT
+GCCGGGATTTTGTAAGGATGAGCATCGGCGATGCGTTGACGAATATAATCCCGGTATTCATCCAGGAGTG
+AAGCAACAGCAGGTCGCGGCGTATATTTTGGCGGCTCAGATTTTGCCTGCAAATAACGTTTAACCGTATT
+GCGGGAGATCCCCAGTTCTCTGGCAATCGCCCGGCTACTCATTCCCTGCTTGTGCAGGATTTTAATTTCC
+ATAACTGTCTCAAAAGTGACCATAAACTCTCCTGAATCAGGAGAGCAGATTACCCCCTGGATCTGATTTC
+AGGCGTTGGGTGTGGATCACTATTGCACCGTTCGTGACAGTAATGGTCAGATATCAATCCTGATTCCGAT
+TGAAATGCTACGAAGTGCTTATATTGAGCGCGGCCTACATCCAAAAAATCTGGCAAGGACTGTAGAAGAC
+TCTGCCACCATATTTGAACCAATTCTGCCCTGGACTGCCGCGGGTGCCTACATGGCAGGTACACTTGGCG
+TTGCTACATTAAGCTATCTTCCGTGGGCTATTCTCTGCTGGAGTGGCATTTTCTTTGCGACGCTGTGGGG
+GTTCACAGGCTTTGGTATCGCTCGACTGTCCAAAGAAAAGCAGCAACAGCTCATGATGGAAACCATAAAT
+GAAAGCAAATAGAATCGGCCTGATTAATATATTTGATAGTAATTAACCACGTCTACACGCCGCCCCCGAT
+TGCGGCGTGATGTCTGTTACTCTCGCTTCAGCCGTTTGGAATTGCACAACCACAGGGTGATCACCAGTAG
+CAGGAACGCCGCAGTACATCCATAGACGCTTTATGATCGACGAGGATTAATCACACAACCGTGGTGATCC
+CGATATAGACAATAGTCACCGAATTTCAGGCCAGCGAACTTAAGACGGGGTTTATCTTTGGAATCGGAGG
+AGTCTTGAGATTCAGCAAGGTGGCCTTTGAATTCATGTTCCTACTGATCGAACCCAGTGCTGACGAGTCA
+GTACAGATTTTTATTGACGTTGATTGTCGGTAAGGATAGCCGTTGCAGTTAATCGTTCAGGTAAATGTTT
+ATTCGACAAAGCATTGAACTGCCCGTTGACGGACTTCGGGGGAAAAAAGTGTTTTTTTAGTCATCCTGTT
+TGCCTCTTTCTCAGGGAGTTTAGTCTCCAGGATTTCCGGAGCGGTTAACTTACAATTATCTGTTCACTAA
+TGACTACTCTAAAAAGTTGTATCAATTTAAGTGATAGTCTTAATACTAGTTTTTAGACTAGTCATTGGAG
+AACAGATGATTGATGTCTTAGGACCGGAGAAACGCAGACGGCGTACTACACAGGAAAAGATCGCTATTGT
+TCAGCAGAGCTTTGAACCGGGAATGACGGTCTCCCTTGTTGCCCGGCAACATGATGTAGCAGCCAGTTAC
+TTCTCTGGCGCAAGCAATACCAGGAGGGAAGTCTTACTGCGGTGACTGCTGGGGAACAGATCGTTCCTGC
+CTCTGAACTTGCTGCAGCCATAAGGCAGATTAAAGAACGCCAGCGCCTGCCCGGAACAAAACGATGGAAA
+ATGAACTCATTAAAGAAGCCGTTGAATATGGACATGCAAAAAGTGGATAGCGCACGCTCCCTTATTGCCG
+GGGTGATGCACTGGGCGGTCACTACCGGCGGCTTCAACAGTGAAACAGTACAGGACGTCATGCCAGGAGC
+GGTGGAACGCCGCTTCGGCAACGAGCTTCCGGCGTCTCCAGTGGAGTGGCTGACAGATAATGGTTCATGC
+TACCGGGCTAATGAAACACGCCAGTTCGCTCGGATGTTGGGACTTGAATCGAAGAACACGGCGGTGCGGA
+GTCCGGAGAGTAACAGAATAGCAGAGAGCTTCGTGAAAACGATAAAGCGTGACTACATCGTGTTCATGCC
+CAAGCCAGACCCTGTACACGATTCTGTGTGAAACAACGGGGAGCAGGTCATCGCTTCCCAACCCGTTATT
+TCAGCGTGCCGAACTGTTTGTCTTTCAGTGCATATAGTCGGCCGAACTCAGCATAGGGCTCTCCCGTTTC
+AGCCGCGTGCCGGGTTTTAGCATCCAGAAGGTCGGGTAAAGGGATCCTATGATTCAGTGAGTGGTAAAGA
+TCATAACCACTGACACAGATAACCCGCTTCCCTTTACCAAAAGCCGTCAGGCCTTCAGGCGTAAACCCCA
+TCCAACTGATAAAAACACCGCGTGTCCAGGTTGCCTTGGTACTGAGCTTTCCTTCAAATACATGGAGGTC
+GGCAGCCGACGTTCTTTTCTGATGCCACTTTGCCTCCATCAGGTAAAATTCATCATTCAGTCGGAAACTT
+CCGTCAATCTGTTCGCCTGTATTTCGGAAAGACGAACGAGGAGCAAGCTTAAAGATACTGAACAGTTCAG
+CAAGCCAGGCTTCAAACCGAAAACCACGTGGATGTGGCGGCAGAGATTTCATCTCGTTCATTTCAGCGAT
+AAGTGAATGCCAGTCAACACCATGCCATGCCTGGACAGGCTTAACGCCTTTGGCTTCATCGGTGTCAGCG
+TTTTCTAAGCGGGAAATCAGTGCAAGATAGTCATTACGGCTTTGTTCAGCCTGTTCAGGCATGGATTCCG
+TTTTATACTGCCAGAGCGCACCAAGAACCCGCAGAGCGGTCTCACGATCAACCTGTTTCAGCAAGCATCT
+AACTCGTTTGGCTTTTGACGTCCCCTCTTTCTGATAACGTTCATCATCAATATCAATGTTCAATTCTTCA
+TCGAAAAAAGCAGACAAGGTGCGGTTAGATAAATCCAGTATCCAGCCAGGATCGCTCTCGAACACAATAT
+TAAACAGCCTCAAATCCTGCATTTTCAGTTTCACGCCTACCTCCTTTTTTCACAGTATAACGGGATGAAA
+GTGGGGGAGGAAATGAGTCAGAACCTGTACACCAGCATTAGGGGATTCCGCGTCTGGTACAAAGCAGACT
+ATGAGAAGAGAGACGCTATAACATTTGAGTCCTACCAATCGATCTGTTCATTTCTATGAATGGCAGTAAA
+TGCAAATAACCAGAACAACCAAAGGTTTTTCGACTTATGTGTCACGAACGGAAGTAGATGGCAATCCATT
+GCATTACTTCAGGACGACTTTTCAGAAAGCGAGCTAAGGGCGTTGGCATAAACTCAGGCATCGGATGCTG
+TTTTACAGGGTTCACCTGCCATCCAGTAGACGCCCCAGCCCACGACTGCAACCATAATTACGTTGCCCGG
+AACCGTCATGCTGCTTCGTCTCATATTTCACGAGATAACTGGCTCTGTTCCGGGCTTTCTGCATCGCTTC
+CACATCACCACGCTTGACCCAGAGCACAGCGGATCCACCCGGCTTTTTGTCTGAAGCCTTCCTGGTTTCA
+GAACATCCACCCGACAAAGGCGTATCATCGGAAGAAGGGCGAGCATCAGATGATGTCGGTTTACGGAAAG
+GCGTCCGCCTGGAAAAATGAACCAGTCCATTACCCTGCCAGGGCTCAAGATGCAGAGCACTACACCATGC
+CAGCTTGATCAGTGTCGCCAGCGAAGAAGGAACGGTGAAATCCCCTGGCGAGCACCAGGTATCTTTGTTG
+AGCAGTAATATCACGTGATAATGTTTCCTGCCTTTTTCCTTGCCAAACTCCCGACACCAGAAATAATGCA
+GAGTGGTTGCACGCACACGCTTGTTGGCTCGTCGTTTTTTCCGCTGGTAAGCCTGAATTTTTGCTTTCAG
+GGATTCGAAAAAACGAGAAATCACCGCTGAATCTAAATCGGTATCCATAATGGTGGCAGGCATATACTCA
+GGGAAACGTAAATCCACCCGGATTAACGAGATGGCACGGTGTTGCGCCAGGGCACTGTCGAGAATGCTGT
+CAAAACGGGTTAACCAGTAAGCATTGTGTATTGGTTGATTCATGATGAGAGATCTCCGTTGATTTGGATT
+GACTTCACATCATTAATCACTGCGGTAAAACTTTACGGCATCCCGCCATTGAGCAACGCCAATGGCTCCT
+GATTAAAACAGAATGAATCCCCCACGAAGAAAAGATAAACCTACATGCAGGATAAAACACACAACAACGG
+CATAAATGGTTTTTAAAAACTACAAAGCCTGAAGGGAAACGGATCAACAGAACGTGCAAACAAAACATCA
+AAAACGCAATCAGAACGCTTTCTGGCGCTGTAAATCAACAACAACACCAAAACCTACAGCTTAACCATAT
+AACTCAATCACAAATGCGAAATGGCACGCTTAAAACCTGGTTACAGATATCCCGCCACAAGAACAAAAAC
+CACCAATATCAGAATCGATGTTCTTATCCTGAAAACGTTACGTTTCACTCCGCGCCATAAAAACGATTAA
+CCATCGATAACGTAAACCTCATCTGAATCAAAACACCAGAACCAATCATCACGTTTTTTCTGAAAAGAGT
+CTCATGATGAAGAGAATTACCTTGCGCTGATAAAAAACACCAGGGCCAGTTAATCATCTCATCAATCTCA
+TCGTTACAAAAACATCCATAAAACCATTTAACCAAATCGTCGTAAGCACACAGTAAATCACGCCAGGCCA
+CCTCAATCGGATTTGCGTTTTTACATAAAGACACTTGTTTCAGATTAACGATCTAAAACACGAAAACTCA
+GAAAAGGTTAAACGTAACTTCAGCAAAATAGAATGCCATCTTGATTGCTTAAACAGGAAAGATTGTTTTG
+TGGCAGCATTAAACTGATTTTAATTTTCGTAAACACAGGAGTAACAATTTTACCAAACTGGATGTGTATC
+AGACAAAGCAATGTGTATTGTAATGTTTAATGAAAACACTTTTAGAAGTGTTTATGAAAATACGTGTATG
+TTTAGTAAAACACTTAGTAAAATACGTATATAGTACCATTCCCGACATTCTCAACATCTTCAGACATCCA
+TGCAGACTGAGTGTTGATTTCAGTTTTTCACGGCCAGCATGGATCTTTACTGGTCAAAAAACAGACAGGT
+TTACTCTGGAATTATTTTTCTGATTCCGTCTTCAGAACAACAAAAACTCGTGATAACTCTACAACAAACT
+ATCGTAATTGGCTTCTGTAACCCCGTCACTTTTCCTAAGAAACGTGCCCCCATATGATGCGGGAGAGATA
+AGTCATCGTATACAGGAAACACTGCCAATCATAATATGACGTCATTCAGTAATTTTTATCCATAATCAGA
+TTAGCATATCATGATTATTGAATATTATGATATATAACTCATATGAATATGTTATTATCTGTAAGCGTTA
+AGCATCACATTGCATAACCATACTAAGCTGGCTAATCATCAGCATTTTTTACATGTAAATCATTGAAATT
+AATTATATGTTTTTTGTGGATAATTAATATGCAATGTGAAATTAATATTTTTACATCATGAGCGCCATTT
+AAAATCACCATCCTGAATATCATATGACAATATATTTTCACTAAAGCATGAATTGTATATGTCTATTAAC
+TCTGGAAAATTATCAGGATTCACCTTCAAATTCACTTGAATGTTACGCTTAATTTCACCCAGCAGTTCTT
+CATGTGTGGATTTTATTATCCCTTTCTCATAATCGATAAATACACACATGTTCTTTATGAATTCAAAACC
+TTTTCCTGTATACAGTTTAATGAATGCCACCAGAGCAAACATTTCAAGATATAGCCATAATGCCACGTTA
+GTTTTTTGCAAAGTATAAAAAATTGAATTCGCCACTCTTTTACTTATTGCTCTTCTATACTGTGATCGGG
+CAAGATTCAGTAGCGGAAGCTCTCGTTCAATAAATGAATGTGAAAAGACTGGATAAATTGATGTCGGAAA
+CCTTTCAGGTCTTATGATATTTTCTATTTCCACCATAAATCTATCCATAGAAAGAAAGTCACTTTCTTTT
+TTTATTCTGGTATAGAGACCGCCTTTATTCCTTTCTGAGGTTTGTTTTCGTGCTATCCCCCCCAACACTT
+TCTCTAATTGTTTATTTATCTTCGTATAATTAAATACAACCATTCTTCTTATCATCCTCGGAAGGATAAT
+AATATCAGTGCTTGAATCACTTGAGCGGCAATTATTATTTATCCATGCAACTTCAAGTTGCAGTATCGGA
+ACATTAACTTTTCTGGGGTGAATATCTCTCTGATATCGTTTTTTGTATGCGTTTTCATTAAGATATTCTC
+TGCTGTAGAGAAACTTATAGCAATATAATCTGATAATATCTTTTATGTAAAATTTAAATAGTTCACCTGT
+AACAGATATATGTTTTCTGCTCAGTAACTCCTGTGTATTAAGCCATTCCCGTGACCGAAGCACACCCTTG
+TGAGAACTTTTTCTTACTTGCTTTGAAGCACGCCATTGATGTAATATTTTTGTGTCCTCAATAATTCTCT
+TTCCCGTTTTATTTTTTGCAGCATCTCTTACTCTATAAAATATCTCCCAGTCCAGACTTTTGTCATATCT
+ACTAATTATACGACAAATATTCCTGACCCGACGATTCTCTTTATTTCGCTTCCATAGCTTATAATGATCA
+TCGCATAACCTTAAGGCATTTGCCTCATCAAATTCTGAAACAGGATTACTGCATTTTTTATTCCGACAGA
+TACCTTTGTTTTTAGCCATACTCTTCTTCCCGTCAATGGAAAATTTTTCACACCCATATTACCTGAATGA
+TAAACCGGATTAGTGTGATCCGGTTCAGCGAAATCAACAGGATAACGGTATGTCATTCAGCCATTTTTCC
+CTCTCCGCACAAGTGAAATCATATCTGACGTTTCTTCCTGAAGAAATTCGCCAGAAAATCCTTGAACATC
+TCCACGGTGTTATTCATTACGAGCCCGTGATTGGCATTATGGGTAAATCCGGCACCGGCAAAAGCAGCCT
+GTGTAATGCCATTTTTCAGTCCCGTATCTGCGCCACGCATCCCCTGAACGGCTGCACCCGCCAGGCTCAT
+CGTCTTACCCTGCAGCTCGGTGAACGCAGAATGACGCTGGTCGATCTGCCCGGCATTGGTGAAACACCGC
+AGCATGATCAGGAATACCAGGCGCTTTATCGTCAGTTACTGCCGGAACTGGATCTGATTATCTGGATCCT
+GCGGAGTGATGAACGTGCGTATGCTGCCGATATTGCCATGCATCAGTTTTTACTGAATGAGGGCGCAGAT
+CCCTCGCGCTTTTTGTTTGTTCTCAGCCATGCCGATCGCATGTTTCCTGCTGAAGAATGGAATGCCACAG
+AAAAATGCCCGTCCCGTCACCAGGAACTCTCACTGGCGACAGTAACAGCCCGGGTGGCCACCCTGTTCCC
+TTCATCATTTCCGGTACTCCCTGTAGCCGCGCCTGCAGGCTGGAACCTTCCAGCGCTGGTGTCACTGATG
+ATCCACGCGCTGCCACCACAGGCAACCAGCGCAGTTTATTCACATATCCGGGGGGAAAACCGCTCTGAAC
+AGGCCCGGAAACACGCACAACAGACTTTTGGTGATGCCATCGGGAAAAGTTTTGACGACGCCGTTGCCCG
+GTTCAGTTTTCCGGCCTGGATGTTACAGCTTCTGCGTAAAGCCCGGGACCGCATTATCCACCTGCTGATC
+ACACTGTGGGAGCGTCTGTTCTGACACACTCACGCCGACAGGATGTGTCGCTGGATTAACGAGCATTCTT
+CTTTTTATGAAATCCTGCTTAAAAATCAGATAATTAAAAGAATATTTTTTCTGCTGCATTTTATTCCTGA
+TTATCCGGATGCGACACATCCTTTCAACATCATGATGCATAATAACATCATGAAATAAAAGATGTTTTCT
+TACGGAGTGCACATCTATGTCTGATAATCGTTCCCGGCATGATCGCCTGGCGGTTCGCTTATCACTCATT
+ATCAGCCGACTGATGGCCGGAGAATCTCTGTCACTAAAAACACTGTCAGATGAATTTGGCGTTACAGAAC
+GTACTTTACAGCGCGATTTTCATCAGCGTCTGGTTCACCTGGATTTAGAGTACAGAAATGGCAGGTACAG
+CCTCAGACGACAGAGCAGCCCGGGTGCGATCCCTGAAATGCTTTCTTTTATACAGAATACCGGGATCGCA
+CGGATACTTCCGCTCCGGAACGGACGACTGATAACCTGTCTTACCGACAACCAGGAGCCCTCTCCCTGCC
+TTATCTGGCTACCGGCGCCGGATATCACTGCAACGTTCCCCGAGTGTTTCTCGCAACTCATCCTGGCAAT
+AAGACAGTGTATCCACATCTCTCTGATGACTGAGCGATGGTATCCGTCACTGGAGCCCTGCCGGCTCATT
+TATTACAGCGGTAGCTGGTATCTGATCGCATTACAGAAGGGAAAACTGCAGGTCTTTCCTCTGGCAGATA
+TCAAATCAGTCAGCCTGACATCAGAACGGTTTGAACGGAGAGGCCACATCCACAGTCTGGTCGCTGAAGA
+GCGTTTTATCTCCGCCCTGCCACATTTCTCTTTCATCCATAAACTTATCAACACCTTTAACCTGTGATCG
+CCGGCCTGCCAAAGCCGTCCCGACAGGTATGGAGACAATATGTTGAACAGAAAACTAAATATACGGCTAC
+GTCATTCCCTGAACAGTCACTGCATACCTTCCATCATTATCAATAACACCGTACGTTCATTTCAGAGGTC
+AGTCATGAATACCAGAGCTCTTTTTCCCCTGCTGTTCACTGTGGCATCATTCTCCGCCTCCGCCGGCAAC
+TGGGCTGTCAAAAACGGCTGGTGTCAGACCATGACGGAAGATGGTCAGGCGCTGGTAATGCTGAAAAATG
+GCACGATTGGTATTACCGGCCTGATGCAGGGATGCCCGAATGGTGTACAGACGCTCCTGGGCAGCCGTAT
+CAGTATTAACGGTAACCTGATCCCCACATCACAAATGTGTAATCAGCAGACGGGATTCAGGGCTGTTGAG
+GTGGAAATCGGACAGGCGCCGGAAATGGTCAAAAAAGCCGTTCACTCCATAGCAGAGCGTGATGTGTCCG
+TTTTACAGGCATTTGGTGTACGAATGGAATTCACCCGCGGTGATATGCTGAAGGTCTGTCCGAAATTTGT
+CACATCACTTGCCGGTTTTTCCCCGAAACAGACGACCACTATTAATAAAGATTCCGTCCTGCAGGCTGCC
+CGGCAGGCATACGCCCGGGAATATGACGAGGAAACAACAGAAACCGCTGATTTTGGCTCTTACGAAGTAA
+AAGGCAATAAGGTTGAGTTTGAAGTATTCAATCCTGAAGACCGTGCGTACGACAAAGTGACCGTCACGGT
+TGGTGCTGACGGTAATGCCACCGGCGCCAGCGTTGAATTTATCGGAAAATAGCCGGTATGTCGGACTGTC
+ACCCTGTTTTATTGCCCGAAGGCCCTTTCTCACGCGAACAGGCGGTTGCCGTCACAACAGCTTACCGCAA
+TGTGCTTATTGAAGATGACCAGGGAACGCATTTCCGGCTGGTTATCCGCAATGCCGGAGGGCAGCTACGC
+TGGCGGTGCTGGAATTTTGAACCTGATGCCGGAAAACAGCTAAATTCGTATCTCGCCAGTGAGGGAATTC
+TCAGGCAATAAACGTCTTCATTTCATCCATCAGGCCGCGTCTTCTCCGGGAGACGCGGCCTTTTCGTTTA
+TACCGCTAATTCATTCATAAGGAGCAAAGTATGCAATTAGCCAGTCGTTTTGGTCATGTAAATCAGATCC
+GTCGGGAGCGCCCACTGACACGCGAAGAACTGATGTACCACGTCCCGAGTATTTTTGGAGAAGACCGGCA
+CACCTCCCGCAGTGAACGGTATGCGTACATTCCCACCATCACCGTCCTGGAAAATCTGCAGCGGGAAGGC
+TTTCAGCCGTTCTTCGCCTGCCAGACCCGTGTGCGCGACCAGAGCCGCCGGGAATATACCAAACATATGC
+TGCGTCTGCGGCGGGCCGGACAGATAACCGGTCAGCATGTGCCTGAAATTATTCTGCTCAACTCCCATGA
+CGGTTCATCCAGCTACCAGATGTTACCCGGATATTTTCGTGCCATTTGTACCAATGGCCTGGTCTGCGGT
+CAGTCGCTGGGAGAAGTCCGGGTGCCACACCGGGGAAACGTGGTGGACAGGGTCATAGAAGGTGCTTACG
+AAGTGGTGGGCGTGTTTGACCTGATTGAGGAAAAGCGTGATGCCATGCAGTCGCTGGTCCTGCCGCCACC
+GGCACGCCAGGCGCTGGCACAGGCGGCGCTGACTTACCGTTATGGTGATGAACATCAGCCCGTCACCACT
+ACCGACATTCTGACGCCACGACGCCGGGAGGATTACGGTAAGGACCTGTGGAGTGCTTATCAGACCATCC
+AGGAGAATATGCTGAAAGGCGGGATTTCCGCTCGCAGTGCCAGAGGAAAACGTATCCATACCCGGGCCAT
+TCACAGCATCGATACCGACATTAAGCTCAACCGGGCGTTGTGGGTGATGGCAGAAACGCTGCTGGAGAGC
+CTGCGCTGATACCGTTTCCCTGAAAGCGCAGTCCTGATCACGGCTGTCCCTTCCCCCAGACATTCCACCA
+TTCATTTACTTTTTATAAGGAATAATCTCATGACAACCTCTTCGCATAATTCCACCACACCTTCTGTTTC
+CGTGGCCGCTGCATCAGGGAATAACCAGTCTCAACTGGTTGCCACTCCCGTCCCTGATGAACAGCGCATC
+AGCTTCTGGCCGCAGCATTTTGGCCTCATTCCACAGTGGGTCACCCTGGAGCCCCGTGTCTTCGGCTGGA
+TGGACCGTCTGTGCGAAAACTACTGCGGGGGTATCTGGAATCTGTACACCCTGAACAACGGTGGCGCATT
+TATAGCACCTGAACCGGATGAAGATGATGGAGAAACCTGGATACTGTTCAATGCCATGAACGGTAACCGC
+GCTGAAATGAGCCCGGAAGCTGCCGGCATTGCCGCCTGTCTGATGACGTACAGCCATCATGCCTGTCGTA
+CGGAGAATTATGCCATGACGGTCCATTATTACCGGTTGCGGGATTACGCCCTGCAGCATCCGGAATGCAG
+CGCCATTATGCGCATCATTGACTGAAAGGGGCCGGAATAATGCAACAGATTTCCTTTCTGCCCGGAGAAA
+TGACGCCCGGCGAGCGCAGTCACATTCTGCGGGCCCTGAAAACCCTGGACCGCCATCTTCATGAACCCGG
+CGTGGCCTTCACCTCCACCCGTGCAGCACGGGAATGGCTGATTCTTAACATGGCGGGACTGGAGCGTGAA
+GAATTCCGGGTGCTGTATCTGAACAACCAGAATCAGCTGATTGCCGGTGAAACCCTCTTCACCGGCACCA
+TCAACCGCACGGAAGTCCATCCCCGGGAAGTGATTAAACGCGCCCTGTACCACAATGCCGCTGCCGTGGT
+GCTGGCGCACAATCACCCGTCCGGTGAAGTCACACCCAGTAAGGCAGACCGGCTTATCACCGAACGTCTG
+GTACAGGCACTGGGCCTGGTGGATATCCGGGTGCCGGACCATCTGATAGTCGGTGGCAGCCAGGTTTTCT
+CCTTTGCGGAACACGGTCTGCTTTAACCCGTCACCGTCACAATCACCTTCATATCACTTCAGTTTCTCTT
+TCTCAGCTGTTTCTTACTTTCACATTCAGGAGGACTATTCTCATGAAAATCATCACCCGTGGTGAAGCCA
+TGCGTATTCACCGTCAGCATCCTGCATCCCGTCTTTTTCCGTTCTGTACCGGTAAATACCGCTGGCACGG
+TAGCACGGATACATATACCGGCCGTGAAGTACAGGATATTCCCGGTGTGCTGGCTGTGTTTGCTGAACGC
+CGTAAGGACAGTTTTGGCCCGTATGTCCGGCTGATGAGCGTCACCCTGAACTGAATCAGGACGGGCATTC
+AGAAGAGCAGAATTATCGCCACCACCGGACCATTCTTAACCAATTTTCTGTGAGGATTTTATCGTGTCAG
+ACACTCTCCCCGGGACAACGCATCCCGACGATAACAACGACCGCCCCTGGTGGGGGCTACCCTGCACCGT
+GACGCCCTGTTTTGGGGCACGTCTGGTGCAGGAGGGTAACCGGTTGCATTACCTTGCAGACCGCGCCGGT
+ATCAGAGGCCGGTTCAGCGACGCGGATGCGTACCATCTGGACCAGGCCTTTCCGCTGCTGATGAAACAAC
+TGGAACTCATGCTCACCAGCGGTGAACTGAATCCCCGCCATCAGCATACCGTCACGCTGTATGCAAAAAG
+GCTGACCTGCGAAGCCGACACCCTCGGCAGTTGTGGCTACGTTTATATGGCTGTTTATCCGACGCCCGAA
+ACGAAAAAGTAACTCTCCAGAATAACCTTCTGCCCCGGCCTGGTGCTTTCACCACGCCACTTTTCCATTT
+TTCATCTCTGCATATCAGGAAAATCTTCAGTATGAACACATTACCCGATACACACATACGGGAGGCATCG
+CATTGCCAGTCTCCCGTCACCATCTGGCAGACACTGCTCACCCGACTGCTGGACCAGCATTACGGCCTCA
+CACTGAATGACACACCGTTCGCTGATGAACGTGTGATTGAGCAGCATATTGAGGCAGGCATTTCACTGTG
+TGATGCGGTGAACTTTCTCGTTGAAAAATACGCACTGGTGCGTACCGACCAGCCGGGATTCAGCGCCTGT
+ACTCGTTCTCAGTTAATAAACAGTATTGATATCCTCCGGGCCCGCCGGGCAACCGGCCTGATGGCCCGCG
+ACAATTACAGAACGGTAAATAACATTACCCTGGGTAAACATCCGGGGGCGAAACAATGAAACTGGCCCTG
+ACGCTGGAAGCCGACAGCATTAACGTGCAGGCACTGAACATGGGGCGCATTGTCGTTGACGTCGATGGTG
+TTACTCTCGCTGAACTGATTAACGTGGTCTGCGATAACGGTTACTCCCTTCGTGTTGTTGATGAATCTGA
+CCGGACATCAGCAGAGCGCACGCCACCATCTGCGGCCCTTACCGGCATACGCTGCAGTACCGCACATATC
+ACGGAAAAGGATAACGCCTGGCTGTACTCGCTGTCACACCAGACCAGTGACTTCGGTGAATCAGAATGGA
+TTCATTTCACAGGTAGCGGATATCTGTTACGTACCGATGCGTGGTCATATCCGGTTCTGCGGCTTAAACG
+CCTGGGGCTGTCAAAAACGTTCCGTCGTCTGGTTGTCACACTCATCCAACGTTATGGCGTCAGTCTCATT
+CATCTGGATGCCAGCGCTGAATGTCTGCCGGACCTGCCCACTTTCGACTGGTAACCAGGAACAACATGAA
+ATCATTAACCACGGAAACCGCACTGGATATTCTGATTGCGTGGCTACAGGACAATATCGACTGCGAATCG
+GGAATTATCTTTGACAACGATGAGTATAGAACGGATTCGGCAGCACTGTTGCCCTGTATCGAACAGGCCA
+GAGAGGATGTCCGTACCCTGCGTCATCTGCAGCTTCTGCACCAGAACCGGTGAATATCACTCACCACGCT
+TCATTACCCTGACGCCAGCCTGAATACGGCTGGCGTTTTCGTTTATAAACCAAAAGGAAAAATGATGATG
+TCAGATACCACACTCTCCCGCCCGGAGGTGGTCAGCGGGCATACGGACGTTATCTATTCCACCTCAGTCT
+GCCACATTCTGGCTGTACGAAAGAGTACACTGTTGCCAATCGACACAATTATCCGGCATCAAGTGAGTGA
+TATCAGTTAACCGATATAGATGGGGAAGATGCTTTTATCCGGATTGGATCTATCGCGATGGTGCGAGTAC
+CACTTGATGCAATGGAGCCTGTCGAGGCAGATGACGAGTAACAGAGCTCGGTATCTCAATCAGGACCTGA
+TTGTCCTGGTTCGATGCCGAAAACCAGTGATTTTTCGTGTTGGTATCTGTGTTGGTATAGGATGGTGTTG
+TTTATTATTAACAATTTTAAATCATGAGGTTAAATCGCATGTTCGAGTCCGGCCTTCGACCACACCGTAT
+GCAAATCGAGTCGCTCAAGAGCGGCTTTTTTTGTGTCTGAAATCACCCATATCCGTGCAGTATATAGGCC
+TGCCAGAAAAGCAGTTCAGTATTCTTCATTTTGTAGTCGATGGTCCCAAGTTTGCTCTGGCTGGAAGCTG
+CATCGTCCACATTACGTGGGCAGGGTGGTTTCGCTATGCTACTTGAACGTTTTGACCATGTGGCTCAGGT
+AGCTAATATCAAAAGACGTCATTTTGTCTCCACGCCCACCTTGGTGAACATTCAATAAATAGTTTCGGTC
+GAGAGCAGTTATGTAGGGCTAGCAGACGAGATGCGCAGACATCTTGTTGAAGACAATTTTACTGACCACC
+TGAGAACGCTATTCTACCGAATAATATTTATTATCTTGGTGAATAATGATGATTACCTGTGTAACTATGG
+TTTTATGCTGATGGGACCGGCAGTACAATTTCTGTAGTGTACTCGCAATTTCAGGTCTCTGGCGTTTATT
+CTGGTGCAAAGGAGGTATGTGATGAAAACTTTGCTACCATGCCATTAAATGCGACCAATATCGGATTATC
+CATCAGTTGATTGTTGTAGATTTCATTGGTTATAAAAATGCAAGGTGTAAAAGATGAAATTTATAATTAT
+TAGTTAAGTGGCTAGTTTTATAGTAATTTAGACAATAGGATGTATGGAAAAATGGAAAAAGTTTATGATA
+CCACTAGAATTAGTAATCTTGCTAACGACCCGAAACAGTTTTGTTCTTTTTTTTGTGAGTACATAAAAAG
+AGATGATATTAGTATAGATATCGCCTTGGATGTGCTGAGAATATCTTCCATCTATTATAATAGATTTTCA
+GTTCAGACTGAAGTTGAGTATAACAATACATTCAAAAAATGTATTAATGAGCTAGTAAACTCATTTCCTG
+ATAACATTGAACTAATCTCTGAGTTCGAGAGTCAATGTAAAATTATGCATGATATAAATAATTCTTTCTT
+TGCGGCTACAAAATGTGCTGGTATTTGGCGTAAAAATACAAAAAAATCACATGCATTAATACTTAATCTC
+ATCATGTTTTGTGAGATGTTTTTATCATCATTATCATCCTTGGTTGTGGTCAATGATCCTAAAAAAATGA
+AGAGGATTTTTCCATTATTTATCGTTTCTGAAAATATTAATATTCATGCTGAACCTGATATCGAATATTT
+TCGAGTTATCGATAGGGCATTTGATGAGGTAGCCAATTACACCGGAAGAATATTTTCTTATTTACGGACT
+CATGGGCCATTGAAACTAACTTCTTGTGTGAATAAACAAACCTTGCTTTCAATGGGAGGGTACCTTAATG
+AGTGGAATGTTTTTGACTCATTAAGCAGAGTAAGAGACTTTTTCAGACTAAGTAGTGCAGTATTTACAAA
+ATTGGATAATAACATTTACTCTCTTGAGGTTGATAGTTTTTGTTTATACCGAGATTATGAGATTGCAAGA
+AATAGACTAATGATGAGAGCGTCACATCTATATAGCGAAGTTCATGAATTTAGTAACAAACATTTTCATC
+TAAATAGTTGGGTAAAGGATCATATGCCATCTTACTTAAATTCTGATGGCGTTTTTAGCTCATTTCATCT
+AAGCGAGTTGGAAAATATGTCTCCTGATGACCTTCATGAAGAATATGGGAATATATCATTATTTAATTGG
+GTGCACGCTTATCAATGTTTAGTCGAGTTATCTAAAGAAGAAATGAGCAAAAGATTTTCATCGACAAAAC
+CTATACCCCTACAGTTGGATCGCTGGCTGATCATAAAAAGCCGTGAGAGTTGGTTATCATTCTTTCAACG
+TAAGGGGATTGCAGCAGATGCAGCAAAAAAACTGATAGATTATTTTACCTTCAATTCAAAATCACATGAT
+CTTAATGATTGCCCATTTATTCCCTGTATGGACGGTTTATGCTTAATGCCTGCATTAATAGCAAATAGCT
+CAGTGACTCGCTCTCTAATGTCATTATTTGGTTCCAAAAAAATTTCTCAAGCAAGTAAAGGGCGATTTCA
+TGAGCAACAATTTATAAAACGAGTTCGTGATGCGGGGATTAAAGCTTCTCCAATTGATGCTCATGCTAAT
+TATCAGTGTGATTGCGTGATTCTCCTGGATGATTGTTTGATTTTTACAGAACTAAAATCAAATGGTCAAC
+CAATATATTATGGTAAGTACTATCAGCAAGTGTGTAACATCGTTGGAGATAGCTCATTAATACATGATCA
+TAATAATAAATTTATGCGTTCTTATTTTCAACAAATAAATCGAATTTCTGAACATTATCTTAATCATCTT
+GATGTGATCATTAAAGAATTCGAACTACCATCAACATGGCAACCCAAAGGTGTGTATAAGCTTATTGTTA
+CTACAACTATGCTCGGTGGGAAATATCATGTGGATGATACATATGTAGCGGATAAATATGCATTATCTAG
+TTTTTTTCAACGAATACCTGGAGTGATATATCAAACAAATGAAAATGGAAAAATGGCGAAAAATATCATT
+GATGGGTTTGAGTGTTGCGAAGGGGAAATCACTATCGATAAGTTTATAGATTATCTTTCCTCTTTGCCCA
+GTATTAATGCTGTACGTAAAAATATAAAAAAATTAACTTATAGTGTTCGATTTAATGAAAAATTAGTCCA
+TCACCCTTATTATGATTCTTGGGCTTTTGGTCCATATATTCGTAAGGGAAATGATTAGAGCAATTTATTA
+TATAGTCCATGTTATTCACTGATTATATTATTGATAATATAATCAGTGAATAACTCTAATTTTTTTAATG
+TTGGGGTTTGGCCTGAAGTTGAAATTGGTACTACGGAACGGTATGATCATATCGCATCAAAATATCAAGG
+TAGTGATGATTTTCTACGCGCCGATCCAGAAACGTGGATTTTATCATCACCATAAGCAATGGCAGCGACA
+ACACCATCAATTTCTATATCAAAGGTGGTGAAATAAATTAGAAAATTGTTTATTTAATCCATTAGCGATA
+AGTTTTATTGTTATTTAGCCGAGATATATTCCATTGAAAAAAGTAAATTGGCACTGATATTATATCAAAT
+GGGAATAATCCTTTTGTAAATAAGCTGAGGAATGTGTTAATTCACATCCAGCGCCTTATAAACCGCATCA
+ACCGGTTCTGAGTAAAAACTTACCTGAAACTTGGTAAACAACTCTGCCGGAACTGTTGGAATATCCATAG
+CCGAGGATATCGGCAACAGAACTCGTTTTGCGTCGCTATCGAAGGCGAGTTGTAAACTAGTGGCAAGATC
+CTGCACTGATTATGTCAGCAATATTGAACATACTGCGATAGTTATCAACCTCACCCCCTAAAAACCTCTT
+TCCGATGCCACTCCACAAACCCCTCAAAAGGGTAATTTTTACGCACCTGCGGCAACGTAATAGTTTTCCC
+GTCAAAATCCCAGAATAATCTCTCAACGATCCCTCCGCCGTTTACCGCATCTGATACCAGTACCCGCATA
+TTTTCGTCCAGGCCAATCGATCCTTTATCAAAGGCTTTATGGTGAATTGCGCAAAGCGCCAGGCCATTAG
+GAATTTCACAAGGACCGCCGTGCTGTTTCCATTTTATATGCGCCGCTTCCAACGCGACGGTGGTGTCGTC
+GTGGCGCATATTAAAGCCACATATCGCGCACTGGTATTTATAAGCGCGTAATACATTTTTGCGAAATAAC
+GGGTCGCGCTGTTTACGGATTTGCTGGAGATCAAAACCCAGCTCGTCAGCAATTTCTTCCTGAATACTCT
+CGGTGAAGTGCGCTTCGAGTATCTGTTGCGCCAGGGTATTGATGAGTTTTTTATTGCCGGTTACCAGGGC
+GTAGTGCTGTTCATCGAAACCGCCTGCAACGCGGTGTTCGGTCAGTTCCTTCACTGGCGGTTGTCGGCTG
+CTACCTGCTGTTGAGCAAAGCTCGGCATTGCGTAATTGCCAGAATCCGTCGCCTTGTAATCGCCAGAACG
+GCATATCAGGTCGGTACTGTGAACGCTGTGGACCAAAACGTTCCAGTAAACTGTGCAGAGGTTCGTAGAT
+TTCCGAGCCATAATCGAAAAGGCGTGGATGTCCATTCAGGTATCCCGCTAATACGTATAGCAATAACAAT
+GGTTTATGCGGCGCGCGCTGTTCACCCTTGTGCCAGATTTTTATGTTGGCAATTGCCTGCTGTAGCGATT
+TACTGGAAGCCATTGATATCCCTGGCAGTGAAATAATTGCGATCATGCTCGCAAATTTTCTGCTGTTCAA
+GCCTGCAAGCGAAGATATATTACCTTGATCTCATATGTTTTTTTACTTCCTGTGTGCCCTAATTGCCATG
+CGATGTTGCACCGACGCAAACCACCGTTTACGCCGGAGCAGTTAAAAGCGCTGATGGATGCGAATAAATC
+AAATTAATGAACGCTCACCTTTCGCGCCAAAACTGCAAAATTGCTTCTACAAACCTGTTAGAAATAATCC
+CTCGACGGGCTGCCGCGCTGAAATGACTGCTTCGCAGTGCCGTCGTCCAGTTCTCCGGTGACCGGTACGC
+TGAACCGTAATATCCCGTGCTTAAATCGTCCGGGTCTTCATCAGGCACGTTCGTCAGTCCTCTTTCACCT
+TGTTGCTGGAAGTCGACGAAAATAATATTGGCTAAAACATTATTTTGATAATTGCCATAAATAGCTTCAT
+ACGCATGAGGGAAATTTTCTTTCCAGTACCAGGTGGTATCGCCGCAAAACCACGGCGCGTCAGTAATTTT
+ATTAAGCTGAGAATGGTATTGTTTTAGAGCCCTACGAAAGGCGTCAACCATATGATTAAAGTGTTGAGGG
+TGTGACGCGTAGTCACTGGTCATTAAGTCAAATTCGCCTTGCATCCAGCATACGCCGAGGAATTTGTTCT
+GCGGATTTTTTGCCAGTGCGGCTCGCGTTCTGCTGACTAAATCCTGGTATAGCGGAGTATCCGATCCCCA
+ACGACAAGCATCATGGCTGGCTCCGTGCGGTTCTGAATATGTCCCTTCGCTGCCCGCGGTAAAAGCTGAT
+CCGCCACGGCAACACGGAACGATGAGAACCCCTGCATTATCAGGAATAAAGGGCAGTAATTTCCGTGCTA
+TATGCAGTGCCTGGCCAACGGTGCCGTACTGTGTTTGATGATTCGTTGCCAGAGGATGGTGATAACCCTG
+CATATCCTGAACATCGTGTGGGCAGTGAGTCAGTGGAATAATGTCGTTAAAGTGACATGACGGGCCTCCG
+GGATGTGTATGCGCAAATCTCGCTAATTGTTTAATTCTGGGATGAGGCGCATCTTCCTTGTCCGGTAATG
+GTAGTCCTTCGCCATACGCCATGGCATTAGACTGACCAGCAACGGTAAGAACATAGTAATAATCGGGCGA
+TATTATTGCGTTCATATAATTTTCGCGTAATACAAATGACAAATTGATAGCAGGGCCCCTTTACCGGGGC
+CCTGAAGCGTTAGTTTTGTACTGTGACTTTATTATCCTTCACAGAAATCAAAACTGAATCCGTCACCGCT
+TTGCCGCCTGCAGTTTCACCGCCAATAATTAATAAACTATTATTCCAGGGCAATGATACTCCGTAGGCCC
+GACCTTGCGATAATTCGCCCGATTTATCCCATTTCCCGTTATGCCAAAGATGAATATCAGCGCTATATGA
+TTTTTTCAGGCCTTCATGCGCATAGTTCTTACCGTTCTGGTAATTTTCTCGTGAACCTTTGAATCCGGCC
+CCTCCGGCAAATATAAGTGAGTCATTGCTCATGCCTGCAAAACCGCCAGCGACGCCATCTGGTGATGCGA
+CGGGAGCAAGCTTATTCCATTTTAAATTATTACCGGTGAAATCAAGTTCAAATACGGCATCCGTTCGCAA
+TCCTGGTTTGGCTTCGCCATTAATAAGCCAGGTTTTATCACCTTTATTCACAACCGCCGCACCAGCCGTT
+CCGTACCAGGGAGATTCGCCAGCGTAACTCCATTGCTGTGTAGAGGGATCAAAAGATAACAGAAACTTAT
+TGAAGAAATAATCTTCTGCTTTTTTGTCAAAATAGTGGGCGTTGATTTTATCTATAGTGGTTGAATCTTT
+TCCAGCTTCGTTGAGATCTTCAAAATAGCCATTGAAGATATTCTGGTTAACACCGCCAGTAACATAAGCC
+TTGCCGTTGTGTACAAAAGTCACATGGCCCGCCATGCCCATCGGCGCGTGCGACATCAATTTAACCCAGC
+TATTGGTTTTGGGGTTGTATTTGTGTACGTCATTAAATACCTGAGTCAAGCCCTCGCTGTTTTTGCCAAT
+GCCGCCAAACACATACAGATTGCCATCAATAAATGCAGAGGTTGCTTGATCTCTCGGTCCGCCAGGGAAT
+GCAGCTAACGCCGTCCATTTTTTATCTTTGGCCTGTGTATCCAGCTTGTACCATGCCGTACCTGCGCTAC
+CTAACCCAATGTAGACAGTGTCGTTATCAATTGCTCCGGTACCACTTTTAAATGGCACAGGAGTTTCCGG
+TAATACAGACGCGTTTGTGGCAAATGAAGCCATTATGATAGTAAGCGCCGTTATTGTTTTATTCATTGTG
+ACTGTCTCCTGTCTACTACAGTTTAAATGACACACCAATGCGATAACTGTTTTCCGATAAATTATCTCTG
+CCGTTGTAAACACCCTGACGGTCAAGGTAGTCATATTCTATGTATGGCGTAATATCGGGCGTCATATGGT
+ATTGTAGAACAAATGCATTTTCCGTCGCCCATTTCTTATGGTTTGCATAGCGATAATCGTTCTGTTTGCT
+GTATAGCGTCGTTTGCCATGCGAAGGTGAAATCACTATTAATATGGTAAGTGACATATCCATCCCAACGA
+TGAACGTTATCACGAGACATATCACCGGATAAGTCTTGTTGTCGGTAAGCTTTCCAGTCGTAACGATAGC
+GAATGCCAAAATTAAGATCTTTTGTCGCGTCCCAGGACAGTTTTACGTAGGGTCCGTAGCGTGTACCGTT
+GCTGCTAAAATGCGTTAACATTCCCGGGCGCACAGTCCATTGATCATCAAGTTTAATCGCGTAATTAACT
+TCAACCTGAACATCATTGAGTGCGGCATTTTCCTTTTTATTATCATGAATGGTATTCCAGGTATTACTTT
+CCATACTTGCCCACCATCCATTTTGCCATCCCTCACTGACTTTGAGTCGAGTCTCATAGGCGTGGCTTCC
+ACTACGATATCCACCACGTACGTCCAGTGTCGCAGCCTGAGAAATTAATGGGGACGAAAAGCACAGTAAT
+AATACGCCAGAAAGTATTTTAGCCTTTTTCATAAATTTCACTCATTTGTAGGATACAGAAAGCAATACAA
+AGCCCGCATAAACAATTAGCATTTATGTTGTGTAATATTTTTTGCCAGGCTTATAGTGTCTTTGGCAACG
+AGTAGCTGTTTTTATATTTTTTGTATAAGGTCTCCTGTGAAAATTCTCTTTCCACATTATTTAAATAAAC
+AGAGAACCAGATTAAATACCTGAGTATAAAATCTCTTCTGATGTTTAATTGATTTGAATATTCGTAAGCT
+ATATCACTTACTCAATCCATTTTACCCAGAGTCATAAAATAGAGTGTCTGTTGATCTCATTTTCATATTC
+CTTTCAGACTGAAGTGCGTTTTCATCACCCGATGAGAAAGAACTGAAGTGATGTTTGCCATAGATTGCGA
+GATGCCCTGTCTCATTGACTATCGTGGTGCACCTTTGTACCTGTTATACCAGATCAAAAATCACGCAATC
+CATACAACAAAACGAGATTTGTAATTCGTGTCACAAAATATGTCGATCTTTTTCTAAGAGGAAGATGCCA
+TGTGAAGCCAGACGAACACTTGCGGTGGTCTTCAAAAACTAAAGGGTTTCTTTTATCTATTTGTTTTATA
+AATAATTTATTTAGGGTCTAAACAAGGGAAGCTTTGCAAGCTAACTCAGTGAGCGTGGTGAAAATAAGTG
+TTTACCCGCCATCAGGCTGATCATAATTCTCATCATGAAATATGTTTTCTGGTTTTTGGCTTGTAAGTGG
+TCACCCCTGAAGTCGATCTGGAAAGGCTTGTAGATGTTGGTGTTTTCAGGATGATGTTTCAGATAGGTTG
+TTTGCCGTATCGCCCGGCGAATAGCTGTGATTGAGGAAGGTTTAAGTCGCAGTGACCAAAGCCATATTTA
+CTAACGAATGTAGATGAAAAAGCGTCTCCTGCGTTCCCCCATATCTCCAGGAAATACACAGTCTGAAAAA
+GGAATGTAACAATCTCATGGCGTAAGCTGACGAACCAGGCAGGAATAATCGCTAGGGACCTAAGCATTAG
+CATGATAATAGCCACTAAGAAATTACTGTGTTCCATGAAATAGCCATTTTGTGGCAAATGCAGTTGACTA
+ATAATGTCATATGTGAGACGGCTAGTTGAACAAATATTAAATTTTGCTGAATTTTTTATGTTGATTTTAC
+TTGTTACAGAACATATCACATGATATATAGATAAGATTAGTTGCATTAATGATGAGGGTTATTATTCGAT
+TCGTATCAGATTGATAAATATATAAAGGTACATAGCATGCAAGAGCATGGCGTTTGTATGGCAAAGTTAT
+TATAAGTAACTATCGCTACTCCATTTAAGTTCACTCAGAAGAACTGGTCCACTTACGTTAATTATTAAGC
+AAACGTTCGCTTTTATAAACATAATCAGGATTAAAATGTTGGATTATTGCTAACCCAGCACAGCTAGTGC
+GCGTCTGTAATTATAAGGGAAAACGATGAAGAATAAGGCTGATAACAAAAAAAGGAACTTCCTGACCCAT
+AGTGAAATCGAATCACTCCTTAAAGCAGCAAATACCGGGCCTCATGCTGCACGTAATTATTGTCTGACAT
+TACTTTGTTTTATTCATGGTTTCCGGGCGAGTGAAATTTGCCGATTGAGGATTTCGGATATTGATCTTAA
+GGCAAAGTGTATATATATCCATCGATTAAAAAAAGGCTTTTCAACAACGCACCCGCTATTGAACAAAGAA
+ATTCAGGCTTTAAAAAACTGGTTGAGTATCCGTACTTCTTATCCGCATGCTGAGAGCAAGTGGGTATTTT
+TATCACGTAAGGGGAATCCACTTTCTCGGCAACAGTTTTACCATATTATCTCGACTTCCGGTGGTAATGC
+CGGGTTGTCACTGGAGATTCATCCGCACATGTTACGCCATTCGTGTGGTTTTGCTTTGGCGAATATGGGA
+ATAGATACGCGACTTATCCAGGATTATCTTGGACATCGCAATATTCGTCATACTGTCTGGTATACCGCCA
+GCAATGCAGGGCGTTTTTACGGCATCTGGGATAGAGCCAGAGGACGACAGCGTCACGCTGTTTTATAGAG
+ATAGTTGAGATACCAGGGATGGTGTTAAAAACTACATTATTCTTACGATATATCAAAAATGATTAACCAT
+TTATTAATTGATGTTATTGTAAGTATGATTCTTAATTATCATAACAAACATTAAGTTAACCATATCCATA
+CAAAATACAATGGTTTATGTTCTTCAAAATAAATAAACAAAATCATTCATAAATTTACACATCACTTAAA
+TTCGCCTGTTTTCATACTTTTTTCTTTATTTTTTAAGCAACTGGAAGTTAATCCACTGCAATCTATTGTT
+ATATTGAATCAAATCAATGAAAATAGATGTTGTCACATCAGTGATATTTTATTTTTGTATGATATTTAAT
+GTAATTGACTGATAGCCACATCACTTCGGGTGTGGTTATCTTTTTATCTATTGGGCTAATTTTGACCGAT
+TGAGGTTTCCTATAGGTATTCATTCAAATATATCTCAGTCAGGAGTACTACTATTGTGAGTAAACGTCGT
+TATCTTACCGGTAAAGAAGTTCAGGCCATGATGCAGGCGGTGTGTTACGGGGCAACGGGAGCCAGAGATT
+ATTGTCTTATTCTGTTGGCATATCGGCATGGGATGCGTATTAGTGAACTGCTTGATCTGCATTATCAGGA
+TCTTGACCTTAATGAAGGTCGAATAAATATTCGCCGACTGAAGAACGGATTTTCTACCGTTCACCCGTTA
+CGTTTTGATGAGCGTGAAGCCGTGGAACGCTGGACCCAGGAACGTGCTAACTGGAAAGGCGCTGACCGGA
+CCGACGCTATATTTATTTCTCGCCGTGGGAGTCGGCTTTCTCGCCAGCAGGCCTATCGCATTATTCGCGA
+TGCCGGTATTGAAGCTGGAACCGTAACGCAGACTCATCCTCATATGTTAAGGCATGCTTGTGGTTATGAA
+CTGGCGGAGCGTGGTGCAGATACCCGTTTAATTCAGGATTATCTCGGGCATCGAAATATTCGCCATACTG
+TGCGTTATACCGCCAGTAATGCTGCTCGTTTTGCCGGATTATGGGAAAGAAATAATCTCATAAACGAAAA
+ATTAAAAAGAGAAGAAGCTTGATTTAACTTATTGATAATAAAGTTAAAAAACAAATAAATACAAGACAAT
+TGGGGCCAAACTGTCTATATCATAAATAAGTTACGTATTTTTTCTCAAGCATAAAAATATTAAAAAACGA
+CAAAAAGCATCTAACTGTTTGATATGTAAATTATTTCTCTTGTAAATTAATTTCACATCACCTCCGCTAT
+ATGTAAAGCTAACGTTTCTGTAGCTCGACGCAACTTCCTCATTCTTCTCTCCAAAAACCACCTCATGCAA
+TATAAAAAACTGCAAATAAAGATAACTATAGAGCATTAAGCCAACAAATAAACTGAAAAAGTTTGTGCGC
+GATGCTTTCCTCTATGAGTCAAAATGGCCCCAAATGTTTCATCTTTTGGGGGAAAACTGTGCAGTGTTGG
+CAGTCAAACTCGTTGACAAAACAAAGTGTACAGAACGACTGCCCATGTCGATTTAGAAATAGTTTTTTTA
+AAGGAAAGCAGCATGAAAATTAAAACTCTGGCAATCGTTGTTCTGTCGGCTCTGTCCCTCAGTTCCACAG
+CGGCTCTGGCCGCTGCCACGACGGTTAATGGTGGGACCGTTCACTTTAAAGGGGAAGTTGTTAACGCCGC
+TTGCGCAGTTGATGCAGGCTCTGTTGATCAAACCGTTCAGTTAGGGCAGGTTCGTACCGCATCGCTGGCA
+CAAGAAGGAGCAACCAGTTCTGCTGTCGGTTTTAACATTCAACTGAACGATTGTGACACTACTGTTGCAG
+ACAAAGCAGCTATTGCCTTCCTTGGTACCGCAATTGATGGAAATCATCCTAACGTATTGGCTCTGCAGAG
+TTCTGCTGCAGGTAGCGCAACAAGCGTTGGTGTGCAAATTCTGGACAGAACAGGCAATGCTCTGACGCTG
+GACGGTGCGACATTTAGTGCACAAACAACCCTGAATAACGGTACCAACACCATTCCGTTCCAGGCGCGTT
+ATTATGCAATCGGCGAGGCAACCCCGGGTGCAGCTAATGCGGATGCGACCTTCAAGGTTCAGTATCAATA
+ACCTACCCAGGTTCAGGGACGTCATTACGGGCAGGGATGCCCACCCTTGTGCGATCAAAATAACGATGAA
+AAGGAAGAGATTATTTCTGTTAGCGTCGTTGCTGCCAATGTTTGCTCTGGCCGGAAATAAATGGAATACC
+ACGCTGCCCGGCGGAAATATGCAATTTCAGGGCGTCATTATTGCGGAAGCTTGCCGGATTGAAGCCGGTG
+ATAAACAAATGACGGTCAATATGGGGCAAATCAGCAGTAACCGGTTTCATGCGGTAGGGGAAGATAGCTC
+ACCGGTGCCTTTTGTTATTCATTTACGGGAATGTAGCACGGTGGTGAGTGAACGTGTGGGTGTGGCGTTT
+CACGGTGTCGCGGATGGTAAAAATCCGGATGTGCTTTCCGTGGGAGAGGGGCCAGGGATAGCCACCAATA
+TTGGCGTAGCGTTGTTTGATGATGAAGGAAACCTCGTACCGATTAACCGTCCTCCAGCAAACTGGAAACG
+GCTTTACTCAGGCTCTACGTCGCTACATTTCATCGCCAAATATCGTGCTACCGGGCGTCGGGTTACTGGC
+GGCATCGCCAATGCCCAGGCCTGGTTCTCTTTAACCTATCAGTAATTGTTCAGCAGATAATGTGATAACA
+GGAACAGGACAGTGAGTAATAAAAACGTCAATGTAAGGAAATCGCAGGAAATAACATTCTGCTTGCTGGC
+AGGTATCCTGATGTTCATGGCAATGATGGTTGCCGGACGCGCTGAAGCGGGAGTGGCCTTAGGTGCGACT
+CGCGTAATTTATCCGGCAGGGCAAAAACAAGTGCAACTTGCCGTGACAAATAATGATGAAAATAGCACCT
+ATTTAATTCAATCATGGGTAGAAAATGCCGATGGTGTAAAGGATGGCCGTTTTATCGTGACGCCACCTCT
+GTTTGCGATGAAGGGAAAAAAAGAGAATACCTTGCGTATTCTTGATGCAACAAATAACCAATTGCCACAG
+GATCGGGAAAGTTTATTCTGGATGAATGTTAAAGCGATTCCGTCAATGGATAAATCAAAATTGACTGAGA
+ATACGCTACAGCTCGCAATTATCAGCCGCATTAAACTGTACTATCGTCCGGCTAAATTAGCGTTGCCACC
+CGATCAGGCCGCAGAAAAATTAAGATTTCGTCGTAGCGCGAATTCTCTGACGCTGATCAACCCGACACCC
+TATTACCTGACGGTAACAGAGTTGAATGCCGGAACTCGGGTTCTTGAAAATGCATTGGTGCCTCCAATGG
+GCGAAAGCGCGGTTAAATTGCCTTCTGATGCAGGAAGCAATATTACTTACCGAACAATAAATGATTATGG
+CGCACTTACCCCCAAAATGACGGGCGTAATGGAATAACGCAGGGGGATTTTTTCGCCTGAATAAAAAGAA
+TTGACTGCCGGGTGATTTAAACCGGAGGAATAATGTCATATCTGAATTTAAGACTTTACCAGCGAAACAC
+ACAATGCTTGCATATTCGTAAGCATCGTTTGGCTGGTTTTTTTGTCCGACTCTTTGTTGCCTGTGCTTTT
+GCCGCACAGGCACCTTTGTCATCTGCCGAACTCTATTTTAACCCGCGTTTTTTAGCGGATGATCCCCAGG
+CTGTGGCTGATTTATCGCGTTTTGAAAATGGGCAAGAATTACCGCCAGGGACGTATCGTGTTGATATCTA
+TTTGAATAATGGTTATATGGCAACGCGTGATGTCACATTTAATACGGGCGACAGCGAACAAGGGATTGTT
+CCCTGCCTGACACGCGCGCAACTTGCCAGTATGGGGCTGAATACGGCTTCTGTCTCCGGTATGAATCTGC
+TGGCGGATGATGCCTGCGTGCCATTAACCTCAATGATCCATGACGCTACTGCGCAACTGGATGTGGGTCA
+GCAGCGACTCAACCTGACGATCCCTCAGGCATTTATGAGTAATCGCGCGCGTGGTTATATTCCTCCTGAG
+TTATGGGATCCCGGTATTAATGCCGGATTGCTCAATTATAATTTCAGCGGAAATAGTGTACAGAATCGGA
+TTGGGGGTAACAGCCATTATGCATATTTAAACCTACAGAGTGGTTTAAATATTGGTGCGTGGCGTTTACG
+CGACAATACCAGCTGGAGCTATAACAGTAGCGACAGTTCATCAGGTAGCAAAAATAAATGGCAGCATATC
+AATACCTGGCTTGAGCGAGACATAATTCCGTTACGTTCCCGGCTGACGCTGGGTGATGGTTATACTCAGG
+GCGATATTTTCGATGGTATTAACTTTCGCGGCGCACAATTGGCCTCAGATGACAATATGTTACCCGATAG
+CCAAAGAGGATTTGCCCCGGTGATCCACGGTATTGCTCGTGGTACTGCACAGGTCACTATTAAACAAAAT
+GGGTATGACATTTATAATAGTACGGTGCCACCGGGGCCTTTTACCATCAACGATATCTATGCCGCAGGTA
+ATAGTGGTGACTTGCAGGTAACGATTAAAGAGGCTGACGGCAGTACGCAGATTTTTACCGTACCCTATTC
+GTCAGTCCCGCTTTTGCAGCGTGAAGGGCATACACGTTATTCCATTACGGCAGGAGAATACCGTAGTGGA
+AATGCGCAACAGGAAAAACCCCGCTTTTTCCAGAGTACATTACTCCACGGCCTTCCGGCTGGCTGGACAA
+TATATGGTGGAACGCAACTGGCGGATCGTTATCGTGCGTTTAATTTCGGTATCGGGAAAAATATGGGGGC
+ACTGGGCGCTCTGTCTGTGGATATGACGCAGGCTAATTCCACACTTCCCGATGACAGTCAGCATGACGGA
+CAATCGGTGCGTTTTCTCTATAACAAATCGCTCAATGAGTCAGGCACGAATATTCAGTTAGTGGGTTACC
+GTTATTCGACCAGCGGATATTTTAATTTCGCTGATACAACATACAGTCGAATGAATGGCTACAACATCGA
+AACACAGGATGGTGTTATTCAGGTTAAGCCAAAATTCACCGACTATTACAATCTCGCTTATAACAAACGC
+GGGAAATTACAGCTCACCGTTACTCAGCAACTCGGGCGCACATCAACACTGTATTTGAGTGGTAGCCATC
+AAACTTATTGGGGAACGAGTAATGTCGATGAGCAATTCCAGGCTGGATTAAATACTGCGTTCGAAGATAT
+TAACTGGACGCTCAGCTATAGCCTGACGAAAAACGCCTGGCAAAAAGGACGGGATCAGATGTTAGCGCTT
+AACGTCAATATTCCTTTCAGCCACTGGCTGCGTTCTGACAGTAAATCTCAGTGGCGACATGCCAGTGCCA
+GTTACAGCATGTCACACGATCTCAACGGTCGGATGACCAATCTGGCCGGTGTATACGGTACGTTGCTGGA
+AGACAACAACCTCAGCTATAGCGTGCAAACCGGTTATGCCGGGGGAGGCGATGGAAATAGCGGAAGTACA
+GGCTACGCCACGCTGAATTATCGCGGTGGTTACGGCAATGCCAATATCGGTTACAGCCATAGCGATGATA
+TTAAGCAGCTCTATTACGGAGTCAGCGGTGGGGTACTGGCTCATGCCAATGGCGTAACGCTGGGGCAGCC
+GTTAAACGATACGGTGGTGCTTGTTAAAGCGCCTGGCGCAAAAGATGCAAAAGTCGAAAACCAGACAGGA
+GTGCGTACCGACTGGCGGGGTTATGCCGTGCTGCCTTATGCCACTGAATATCGGGAAAACAGAGTGGCGC
+TGGATACCAATACCCTGGCTGATAACGTCGATTTAGATAATGCGGTCGCTAACGTTGTTCCCACCCGTGG
+GGCGATCGTGCGAGCAGAGTTTAAAGCGCGCGTTGGGATAAAACTGCTCATGACGCTAACCCACAATAAT
+AAGCCGCTGCCGTTTGGGGCGATGGTGACATCAGAGAGTAGCCAGAGTAGCGGCATTGTTGCGGATAATG
+GTCAGGTTTACCTCAGCGGAATGCCTTTAGCGGGAAAAGTGCAGGTGAAATGGGGAGAAGAGGAAAATGC
+TCACTGTGTCGCCAATTATCAACTGCCACCAGAGAGTCAGCAGCAGTTATTAACCCAGCTATCAGCTGAA
+TGTCGTTAAGGGGGCGTGATGAGAAACAAACCTTTTTATCTTCTTTGCGCTTTTTTGTGGCTGGCGGTAA
+GTCACGCTTTGGCTGCGGATAGCACGATTACTATCCGCGGCTATGTCAGAGATAATGGCTGTAGTGTGGC
+CGCTGAATCAACCAATTTTACTGTTGATCTGATGGAAAACGCGGTGAAGCAATTTAACAACATTGGCGCG
+ACGACTCCTGTCGTTCCATTTCGTATTTTGCTGTCACCCTGTGGTAACGCTGTTTCTGCCGTAAAGGTTG
+GGTTTACTGGCGTTGCAGATAGCCACAATGCCAACCTGCTTGCACTTGAAAATACGGTGTCAGCGGCTGC
+GGGACTGGGAATACAGCTTCTGAATGAGCAGCAAAATGAGATACCCCTTAATGCCCCATCGTCCGCGATT
+TCGTGGACGACCCTGACGCCGGGTAAACCAAATACGTTGAATTTTTACGCCCGGCTAATGGCGACACAGG
+TGCCTGTCACTGCGGGGCATATCAATGCCACGGCTACCTTCACTCTTGAATATCAGTAACTGGAGATGCT
+CATGAAATGGCGCAAACGTGGGTATGTATTGGCGGCAATGTTGGCGTTCGCAAGTGCGACGATACAGGCA
+GCCGATGTCACCATCACGGTGAACGGTAAGGTCGTCGCCAAACCGTGTACGGTTTCCACCACCAATGCCA
+CGGTAGATCTCGGCGATCTTTATTCTTTCAGTCTCGTGTCTGCCGGGGCGGCATCGGCCTGGCATGATGT
+TGCGCTTGAGTTGACTAATTGTCCGGTGGGAACGTCGAGGGTCACTGCCAGCTTCAGCGGGGCAGCCGAT
+AGTACCGGATATTATAAAAACCAGGGGACCGCGCAAAACATCCAGTTAGAGCTACAGGATGACAGTGGCA
+ACACATTGAATACTGGCGCAACCAAAACAGTTCAGGTGGATGATTCCTCACAATCAGCGCACTTCCCGTT
+ACAGGTCAGAGCATTGACGGTAAATGGCGGAGCCACTCAGGGAACCATTCAGGCAGTGATTAGCATCACC
+TATACCTACAGCTGAACCCGAAGAGATGATTGTAATGAAACGAGTTATTACCCTGTTTGCTGTACTGCTG
+ATGGGCTGGTCGGTAAATGCCTGGTCATTCGCCTGTAAAACCGCCAATGGTACCGCTATCCCTATTGGTG
+GTGGCAGCGCCAATGTTTATGTAAACCTTGCGCCTGCCGTGAATGTGGGGCAAAACCTGGTCGTGGATCT
+TTCGACGCAAATCTTTTGCCATAACGATTACCCGGAAACCATTACAGACTATGTCACACTGCAACGAGGT
+TCGGCTTATGGCGGCGTGTTATCTAGTTTTTCCGGGACCGTAAAATATAATGGCAGTAGCTATCCTTTCC
+CTACTACCAGCGAAACGCCGCGGGTTGTTTATAATTCGAGAACGGATAAGCCGTGGCCGGTGGCGCTTTA
+TTTGACGCCTGTGAGCAGTGCGGGGGGAGTGGCGATTAAAGCTGGCTCATTAATTGCCGTGCTTATTTTG
+CGACAGACCAACAACTATAACAGCGATGATTTCCAGTTTGTGTGGAATATTTACGCCAATAATGATGTGG
+TGGTGCCCACTGGCGGCTGTGATGTTTCTGCTCGTGATGTCACCGTTACTTTGCCGGACTACCCTGGTTC
+AGTGCCGATTCCTCTTACCGTTTATTGTGCGAAAAGCCAAAACCTGGGGTATTACCTCTCCGGCACAACC
+GCAGATGCGGGCAACTCGATTTTCACCAATACCGCGTCGTTTTCACCCGCGCAGGGCGTCGGCGTACAGT
+TGACGCGCAACGGTACGATTATTCCAGCGAATAACACGGTATCGTTAGGAGCAGTAGGGACTTCGGCGGT
+AAGTCTGGGATTAACGGCAAATTACGCACGTACCGGAGGGCAGGTGACTGCAGGGAATGTGCAATCGATT
+ATTGGCGTGACTTTTGTTTATCAATAAAGAAATCACAGGGCATTGCTAATGCAGGTACGCAATATTACCT
+GAAGCTAAAACCTGCACGTTAGCCCTTTGTAGGCCAGATAAGACGCGTCAGCGTCGCATCTGGCATAAAC
+AAAGCGCACTTTACCGACAATCCGAACAGAGCCTGCCAATGGCAGGCTCAGGTGCTCTTTTACGCTACCA
+TGCTAATAATCAGCACAATAATCAGCCCAACCACGGAGTTGACCAGCTCCAGCAGACCCCAGGTTTTCAA
+CGTGTCTTTTACTGACAGGTCAAAGTAATCTAAGAGGCATTGCTAATGTAGGGAATGTGTCTGAACCTGC
+GGTCATTGTCAGTACCAGCATCAGGCCAATGCCGAATACCACCCAGAGAATGTTAAGCACATGCATAACG
+TTTTACCTTACCTGGTTGAACCGTTGTTATTTTGGGCGACATGTTATGTAAATTGGTCAACCATTGTTGC
+GATGAATGTCACATCCTCTGATCAATAACCATCGATTACCCTTTGCTGCAATTTTCAGCAACAACCAGGA
+GAGTGAAATTCTTGTGATGTGGTTAACCAATTTTAGAATTCGGGTTGACATGTCTTACCAAAAGGTAGAA
+CTTATACGCCATCTCATCCGATGCGACGCTACGGCTGTGGCCGGGTTGTTCATCCGGATACCTAAACAAC
+TCCGGGGTTCCGCGTCTCTTCGCTGTTGAACCCACTATGTGAAAGAGGAAAAATCATGGAACAGACCTGG
+CGCTGGTACGGCCCAAACGATCCGGTTTCTTTAGCTGATGTCCGTCAGGCGGGCGCAACTGGCGTGGTTA
+CCGCGCTGCACCATATCCCGAACGGCGAAGTATGGTCCGTTGAAGAGATCCTCAAACGCAAGGCGATCGT
+TGAAGACGCAGGCCTGGTATGGTCTGTCGTAGAAAGCGTACCAATTCACGAAGATATCAAAACCCACACT
+GGCAACTATGAGCAGTGGATTGCTAACTATCAGCAGACCCTGCGCAACCTGGCGCAGTGCGGCATTCGCA
+CCGTGTGCTACAACTTCATGCCGGTGCTCGACTGGACCCGTACTGACCTCGAATACGTGCTGCCAGACGG
+CTCCAAAGCTCTGCGCTTCGACCAGATCGAATTCGCTGCATTCGAAATGCATATCCTGAAGCGTCCAGGC
+GCGGAAGCGGATTACACCGAAGAAGAAATTGCTCAGGCCGCTGAACGCTTCGCCACTATGAGCGACGAAG
+ACAAAGCGCGTCTGACCCGTAACATCATTGCCGGTCTGCCAGGTGCGGAAGAAGGGTATACCCTCGACCA
+GTTCCGTAAGCACCTGGAGCTGTACAAAGATATCGACAAAGCCAAACTGCGCGAAAACTTTGCTGTCTTC
+CTGAAAGCGATTATTCCAGTTGCTGAAGAAGTTGGCGTGCGTATGGCGGTTCACCCGGACGATCCGCCGC
+GCCCGATCCTCGGCCTGCCGCGCATTGTTTCCACCATTGAAGATATGCAGTGGATGGTTGATACCGTAAA
+CAGCATGGCGAACGGTTTCACCATGTGCACCGGTTCCTACGGCGTGCGTGCTGACAACGATCTGGTTGAT
+ATGATCAAGCAGTTCGGTCCGCGTATTTACTTCACCCATCTGCGCTCCACCATGCGTGAAGATAACCCGA
+AAACCTTCCACGAAGCGGCGCACCTGAACGGTGACGTTGATATGTACGAAGTGGTGAAAGCGATTGTTGA
+AGAAGAACACCGTCGTAAAGCGGAAGGCAAAGAAGACCTGATCCCGATGCGTCCGGACCACGGTCATCAG
+ATGCTGGACGACCTGAAGAAGAAAACCAACCCAGGTTACTCCGCAATTGGTCGTCTGAAAGGCCTGGCCG
+AAGTTCGCGGTGTCGAACTGGCGATCCAGCGCGCTTTCTTTAGCCGTTAATATCCACCGGCATGGCTGCG
+CGCCGTGCCGGTTCCTTCTTCCTTGCCGTCACTCTCTGAAGACGGATTCTGGAGTTTACGATGACTACTA
+TTGTTGACAGCAATCTGCCGGTTGCCCGCCCGTCATGGGATCATTCTCGTCTGGAATCACGCATTGTGCA
+TCTCGGTTGCGGGGCGTTTCACCGCGCGCACCAGGCGCTGTATACCCATCATCTGCTGGAAAGTACCGAC
+AGCGACTGGGGTATCTGCGAAGTTAACCTGATGCCAGGCAACGACCGCGTGCTGATCGAAAACCTGAAAA
+AACAGCAACTGCTGTACACCGTGGCGGAAAAAGGCGCGGAAAGCACCGAGCTGAAAATTATCGGTTCGAT
+GAAAGAAGCGCTGCATCCGGAAATCGACGGTTGCGAAGGTATTCTCAACGCGATGGCGCGTCCGCAGACG
+GCGATTGTCTCTCTGACGGTCACGGAAAAAGGCTACTGCGCTGATGCGGCAAGCGGTCAGCTGGATCTCA
+ATAACCCGCTGATCAAGCACGATCTGGAAAACCCGACTGCGCCGAAGTCTGCGATTGGTTACATCGTAGA
+AGCCCTGCGGCTGCGTCGTGAAAAAGGGCTGAAAGCGTTTACGGTGATGTCCTGCGATAACGTGCGTGAA
+AACGGTCATGTGGCGAAGGTTGCCGTTCTTGGGCTGGCTCAGGCGCGTGACCCGCAACTGGCGGCATGGA
+TTGAAGAAAACGTCACCTTCCCGTGCACCATGGTTGACCGCATCGTTCCGGCGGCGACGCCAGAAACCTT
+ACAGGAAATTGCTGACCAGCTGGGTGTTTACGACCCGTGCGCCATTGCCTGCGAACCGTTCCGTCAGTGG
+GTAATTGAAGATAACTTCGTTAATGGTCGTCCGGACTGGGATAAAGTCGGCGCGCAGTTTGTTGCGGATG
+TTGTACCGTTCGAAATGATGAAGCTGCGTATGCTGAACGGTAGCCACTCTTTCCTGGCGTACCTCGGTTA
+CCTCGGCGGCTATGAAACTATTGCCGACACCATGACTAACCCGGCTTATCGCAAAGCGGCCTTTGCCCTG
+ATGATGCAGGAACAAGCGCCAACGCTGTCGATGCCGGAAGGTACGGACCTGAACGCCTATGCGACGCTGC
+TGATCGAGCGTTTCAGCAACCCGTCTCTGCGTCACCGTACCTGGCAGATTGCGATGGACGGCAGCCAGAA
+GTTACCGCAGCGTCTGCTGGATCCGGTACGTCTGCACCTGCAAAACGGCGGCAGCTGGCGTCACCTGGCG
+CTGGGCGTGGCGGGCTGGATGCGCTACACCCAGGGCGTGGATGAGCAGGGTAATGCCATTGACGTGGTTG
+ACCCGATGCTAGCGGAGTTCCAGAAGATCAATGCGCAGTATCAGGGCGCAGACCGTGTGAAAGCGCTGCT
+GGGCCTGAGCGGTATCTTTGCCGATGATCTGCCGCAGAACGCCGACTTTGTTGGCGCGGTGACGGCGGCA
+TATCAGCAGCTGTGTGAGCGCGGTGCGCGCGAGTGTGTGGCTGCGCTGTAACTAACTGATTACCCTACAG
+ACTTACTGGTCAATCAAACTAATATTTGGTTGACCAGTTTTCGTTTTTTTGCCCACCTGTACGTGCCAAC
+ATCCAGTGCTAATGGTATAGTTTGAGCTTAACGGGTGCCGTAAAATTGCCCGTTGTAGGTCGGATAAGGC
+GTTCACGCCGCATCCGGAAAAAATTTGATTAACCGCACCTAACGGACACAACACCATGAAATCTGCCACC
+TCTGCGCAAAGACCTTACCAGGAAGTCGGGGCGATGATCCGCGATCTGATCATAAAGACGCCGTACAATC
+CTGGCGAACGGCTGCCACCGGAGCGTGAAATTGCAGAAATGCTTGATGTCACGCGGACGGTGGTACGTGA
+AGCGCTGATCATGCTGGAGATCAAAGGGCTGGTGGAAGTGCGTCGGGGTGCAGGTATCTATGTTCTTGAT
+AGCTCAGGCAGCCACAACGCAGACAGTCCGGATGCCAACGTCTGCAACGATGCCGGTCCTTTTGAGCTGT
+TACAGGCGCGGCAGTTACTGGAAAGTAACATCGCCGAGTTTGCCGCCCTGCAGGCTACCCGCGAAGATAT
+CGTCAAAATGCGCCAGGCATTGCAACTGGAAGAGCGTGAACTGGCTTCCAGCGCGCCGGGCAGCAGCGAA
+AGCGGTGACATGCAGTTCCATCTCGCTATTGCCGAAGCAACGCATAACAGCATGCTGGTGGAGTTATTCC
+GTCAGTCCTGGCAGTGGCGGGAAAACAATCCAATGTGGATCCAGTTGCACAGCCACCTGGATGACAGCCT
+GTATCGCAAAGAGTGGTTGGGCGATCACAAACAGATCCTCGCCGCGTTAATCAAAAAAGATGCCCGAGCG
+GCGAAGCTGGCAATGTGGCAGCATCTGGAGAATGTGAAGCAGCGCTTGCTGGAGTTCTCTAATGTTGATG
+ACATCTATTTCGATGGCTATCTGTTTGATTCATGGCCGCTGGATAAAGTCGACGCCTGATCCCTCATTTC
+TGGTGCAAAGTTTAACCGCTTTGCACTATGTATGTTCCCTGAATAGTTAATTATGTTCTGCAGAATATAT
+TATGCGTAAATTAATCATTACGTACGATATATTGTTTTGGAATAATTATATATCAGTTTAACGCTGAGAA
+ATTATTCGGAATAATCAGAATATGTTAACGTATTTCCGTTATGTTTAATGACTTTTGTCAAATGATACCT
+TTTTAAATTAAAAGTCAGTGGATATTCTTTTCTGTACAGTGTTTTATCTTTGGCGGATCTTATAAATCCC
+TTATGAAAGTGCCAGGGACGCAATGAGCATAAAGGAATGATTATGGAATATGAGCATCAACCCAGTGGTG
+TCCGGCAGCCAGGGCAGGATACAGATGCCACTAAACGTCAGGAGTGCGCAAAATGATGCGCCAATCAGTT
+CAGACGGTATTACCTGAAAGTACAGGAAACAATACGTTATCGCTGCGTGATTCCGTATGCCGGGATCTCT
+TTCAACTTTTTAGTTCTCCCCATTCACCGCTACCAATATTACTTGTTTCAGGCATGCCTGAGTGGCAAGG
+GCATAATCAGAGCGACAAGCTTCTCCAGAGTTGGTATTGCCGCCAGTTACGTTCCGCGCTTTTATTTCAT
+GAGCCACGTATTGCGGCATTGCAGGTCAATCTGAAAGAAGCCTATTGCTACGAGTTGGCCATTAGTCTGG
+AGATGATGCTGTACCACGATGATGAGCCGCTAACGTTTGACCTGGTCTGGCAGAAGGGCAGCTGGCATCG
+CACGATGCCGCAGTAAATGACGGGAAACGCGATACGCGCAAGACGTATCGCGTTAGGTCACAATTAGTGG
+GAGGTTCTGATTGCTGCTTTCAAGGCCGGAAGCCGGGATGGACTGGCACTGAGCTTATCAATCCCCATGG
+TGAGCAGTCGTGCTGTTTGCTGGATATCTCCAGCCATTTCGCCGCACATACTGACCGGAATTTCATTATT
+ACGTCCGGCCTGACACACCATAGCAATAGCGTTAATCACCGCGTCATTACAATAATCGACCAGTTTCGCG
+ACGGTGCTATTTCCTCTGTCTGCCGCCATAATATATTGCGTCAGATCGTTGGTGCCGATGGAAAAGAAAT
+CGACTTCACTGGCTAATTTTTCTGCAATCATGATTGCGGCAGGAACCTCAATCATAATTCCCAGCGCCGG
+AAGATTTTCTGCAGAAAACTTTCAGCCAGGTTCAATCTCCAGCTCGCGCAGTTCACGCCAGAAGCGTTCG
+GCAACTGGATTCATGCGGGTATTCATCCGGTATGCATAGGCCTGAATCGGGATCACCAGTTCGTCCCGAT
+TCAGTACAACGAGCTGCCCGCTGCGAATTTCTTGTTGGATGGCATACTCCGGCAACCAGGCAATTCCACA
+TCCGTCGAGGGCAACCTGCTTTAAAAGCTCGCTCATCGAAGAGACAAAAAAGGTGCTGAAACTCAACTCA
+CTGTGGCGCGTCAGAGTGCGATTAATCAATCGCCCCATGTAGGAGTTGCGGCTGTAATTCAGTAACGGAA
+AGTGTGGCTGAGCGAGGTTAAAAAGTGCTTCTCCGTGTTCGTCACTGGCGCAGACGGGGAACAATTGAGA
+TTCAAATAAGCGGATGTGGTCAAACGGCGCTTCCAGCAAATCTTCGTCGTGAAAGGAAAAAATACAGTCA
+CTTTGCCCTTCGCGCAGTTTATCGACCGCTTCATCGACATCAATGGCTTCAATTGCCCAGGTAAAGAGCG
+GCGGCATCTGGCTGATAATGGACGGTAACAGACCGAGGGAAAGAGAGTGTGCAGCGGCTATCTTGATTTT
+ACGTTGCGCGTAATCGCTGCCGCCACGCAGCTCTGCCAGATTGCTCTCTAACTGTTGCAACAGATGGCGG
+ATCTGCGAATGGAAGATTTTCCCTTGTTCTGAGAGTTGCAGCGGCGTTACCTGGCGGTTAAACAATTCAA
+CACCAATCGCCTGTTCCAGCGCACGGATGCGGCGGCTGAATGCTGGTTGCGAGACGTTGCGACTGACTGC
+CGCCTGGGAAAAATTGCGACATTTTTCCAGGGTCAGAAAATCATAAAGCCATTTGGTTTCAATGTTATGC
+AAAACCGCACCACAGTCATCCATTACGTTATACTCTGTCAGCCGCCCTTGCGGGCATTCTACGTCCATTC
+GGGCGGCTGACAACCGTTTATGCCGTTTCAAACGTTCCTTTCACGCAGGCTTTGCCGTCTTTGACCATCA
+GTTTGCCGCGAGCGTATACCTGCTCAATGCGCAATTCAGGCGTCATGACCAGTAAGTCTGCGTCATTGCC
+TGGCAGAATTTCGCCTTTCCCGGTCAGGTTAAGGAAACCGGCTACGCTACTGGTGAGCGGGCGCAGGGCA
+TCGCTGATACTGAAATCATAGTCTTTGACCAGCACCTGCACGGTTTCCAGCAATGTTTCAAAACCTGCAA
+CACCGATATGGGTTAAATTTCCTTCGTCATCAAAGAACGGCTGGCTACCGTTGCCGTCGGAGCTGAGGGT
+GACGCGTGCCAGCGGAATACCCGCCTGAACGGCGCGGGCAATACCTTCGGCAGGGGCGACTGGTTCGTCA
+ATGCTGCTGGTGATGTCGATGGTGCCGCCTTTGCGCGCGAACTCCAGCGCCTGCTCAAACAACGGAACGT
+TGCGGTTAACGTGGGTCGGCAGCAACTTGCTGATCGGCACATCGCAGTTTTCCAGCAGGTCATAGACAGG
+CTGTAACGCCTTTTTGCTGTCACCCATGTGGAACACGGTGACGCCAGGTTTACCGCCGAGCAAACCGCCA
+ACGCGGGATTCCGCCGCCATATTAGCCAGGTGATAAACGTCCGGTGCGGCAGAACGGTGATCAGAGATGG
+CGCATTTCACACCAATCACGCGATCGATAATCGCCACGTCTTTTTCCACGGAACCCGTAATAGTGCGGGA
+AGGGACATGATAAGCGCCGGTCAGCATCCAGGCGCTGATGCCTTCTTCATTGAGCGCACGGGTCTTGGCG
+AGCAGGGATTCCGGGTGGCGAGAGATAGAGTCGGTACCCAGCAGGCCAACCACTGACGTGATGCCCGCTT
+CCGTCAGACGACTTAACGCCACTTCCGGCGTGCGTGTCGTGGGACCTGCTTCGCCGCCACCACCAATCAA
+ATGGACGTGTTGATCAATAAAACCTGGGCAGAGGATCTGCCCGCTGAGATCGACAACCGTGCAGTCCGGT
+ACAATGTCAGAAGGGATGTTGCTGGCAACGGCAATAATTTTGCCGTTAGCGATGAGGACATCGCAAATTC
+CCCGATCTTCCGGCGCATACAAATGCGCTCCCTGCAGCAGGGTAAAACCGGCTGCGGAATAATCAATCAT
+GGTAACTCCTTGTTAAACAATAAGCTGCATAACCCAGATCGACAGCAATGCGTTAATCACGCAGACCGTA
+ATGATATGCGGATAATATTTGGCATTCACTTCGGCTGTCCCCAGGCAGCGACCGACATTTTGCACCGGGT
+TGCCCATTAAATACATCGCGGGCAGTAAAACGGTGACATCGTGGCCGGTTAATGCGCCAGCGGTTGCCAG
+ACTGGCGGCAACACCGACTGCGCCGCCCATGCTCATCAATGCGGCTAAAAGGACGGTTGCCGCTTCACCG
+GGCAATCCCCACAGCGCCATTACGGGTTCACAGATATGTCCCACCCAGTCGAGCAGGCCAGTAATTTTCA
+GCGCCTGGATGATGGCAAAGGCCATCACCACGTTTGGCAGCAGGTTGGTGGTAGCGATAGTAAAGCCACG
+GCGCGCGCCATCAATAAACATATCCATGACGTTTTTACGGACCTGAGTTGTCATGCTTGCGCTCCTTGCG
+TTGGGTTGCGACGTTCTTCGAAGTTAAGCCAGACGCGCAAAATGTTGGCTCCGACAAATTTAAACACCAG
+GATGACGGCTAAAGGTACGATTACGGACGTGCCCAGAAAGGCAAACACCGCGACGCCGGAAGAGAAGTAG
+TTGGTGATGATGGCGCTACCGCTGGTTTGATAGGCGGCGAATATCACTTTATCACGTTCGGTAATTTCCC
+CTTCCTGCGCCAGTTCTTTGGTCATACCTGCGGCGGCATCGGTGTTTTGCAGGTTAGCAATCAGCGCCAG
+TGAACAGATGCCTGGAATGCCCAACAACGGTTTTAGCACGGGCGTCATTAACTGCTGCGCGGCGCGCAAT
+CCGCCAAGACCATCGGTAATCGAGATAATTCCCAGAGAGAGAATCACTGACGGAGCCAGTTCCAGTGCGA
+AGAGAAAGCCATCTTTAGCTCCTGTGCCACCTGCGCCGCGAAACGAGGTGGTAGCGCCATTCGCACCAGG
+CAGTTGCCCAAACGATCCGTTCAGAACGGAAAAGTCAAAAACGCGCCACCAACTGTCTGTCCCGGAAAAA
+ACTCCGGAAAAAAAGATAATCGTGAGAAAAAAGGCCAGATACCCTTTACCACCCACTTTTTCTGTCGCCA
+GCTCCCCAGCTACAGCATCCCCTTGTTGTGTCATAACAATCCCCATTGTTTTTTTGTGTATGTGTGTTGC
+TTGAGCCAGGAAAATTCCTGGAGCTGAAAAACCTTATCAGCCATGTGGGTATGGGGAAAATGCAAGTATG
+TTTCTTGCTATGCGTTTTTTGCATAGCGGAAAAATGACGCTGTGTGGCAAAGGTTCTGCGCAGGATTGAG
+TTGCAGAAAATTCATAAACCCAGTGACAATGACATCAGTAAATAAAAACAGAAAATCCAGGGACGAAAAC
+GCGATGGCAAAATACAACGACAAAGAGCTGGCAGAGACGAGCAAGTTTTTAAGTTTTGTCCTCCGACATA
+AACCAGAGGCGATTGGCATCGTGCTGGACCGTGAAGGATGGGCGGATATCGATAAGCTCATACTCTGTGC
+ACAAAAAGCGGGCAAGCGGTTAACCCGCGCATTACTGGATACTGTGGTCGCCACCAGCGATAAGAAGCGC
+TTTAGTTATTCCAGTGATGGTACGTGTATTCGCGCCGTTCAGGGGCATTCGACTTCGCAGGTCGCCATTG
+CCTTCATCGAAAAAACACCGCCACAATTTCTCTACCATGGTACGGCAAGCCGTTTTCTTGACGAGATAAA
+AAAACAAGGGCTGATTGCAGGGGAGCGCCATTACGTGCATCTCTCTGCTGATGAAGCAACGGCACGCAAA
+GTGGGAGCAAGACACGGTTCGCCGGTTATCTTAACCGTCAAAGCACAGGAAATGGCGAAACGAGGGATCC
+CTTTCTGGCAAGCGGAAAACGGGGTCTGGCTGACATCAACAGTTGCGGTTGAGTTTCTTGAGTGGTAAGG
+GAAACTTCTCTCATGAAGTGACCACTTGTAGCTTAAATAATTGCACTGTGCTGATAAGCGCAGCAATAAA
+CAACGCCGCCGCGCCGCAGAGAGTGGCGCTGGCAAGCGCCGATGTTCCATTGCCGAGCATACTGGTCAGC
+GCCGGGCCGAGGATTTGCCCAATGCCGTAAATGAGCGTCACAAAGCCTAAAAGATTGAGATTTCCCGGTA
+CGCTCAGTTGGCGGGCGATAGTCATCACCAGAGATGTCGTGCCCATAAAGGTACCGCCAAAACCAAGACT
+GCTGATGATAAGCAAGAGAGGCGAGTCGCTGGCGAGAGTAAGCAGCACACAGATAGCCTGCACCAGCAAA
+TTCGCCGTCAGGCAGGGCAAAGCCCCCCAACGTTTTGCTGCCCATAGCCAGCCAAAGCAACCAGGCACAA
+TTGATAAGCCGACTAACGTCCAGAGATGGGCGGTTAACAATGGTGAGCCTGCATCTTTCGCCATGAGCGG
+CAGGTAAGTCGCGACGATGATATAACCAAATCCCGCCAGGCCGTACAGAATAGCCAGTAACCACCAGCTC
+ATTATCTGTTGCTCCGTTTTTGCCAATGGCATTGGTGTGATGGCGTGTTTTTTCGAGGGCATTAAAAGCG
+TAAGTGCAATCAGCATCATGCCAGAAAGCGCCCCGGCGCCTTGCCATAACGTTTGCGAGGAGAGGTCAAA
+ATGCAGGCCTGCCAGAACATATTCATTGCCCAGTGCGATGCCAATGCCAACGCCAGAAAACAAAGCTGCC
+AGCACAAAAGGATGGCGCGTGTGCTGCATAATCAGCGTCGAACCAAAAATCAGCATTCCGGCGCTGGCGA
+CACCCGCCAGGACGCGAATCAATAACACCAGAATAAATGGCAGCAACCATGCCATTGCGAGGATCAACAA
+CCCGCTCGCCAGGGCAGAAGCCAACAGAAATGGGCGCAGGCGCGATGGCTGGTGAAATGCGCCAAACGAA
+AATAGCAGACTGCCAGCCAGATACCCCGCATAGTTGCCGCTGGCAATCCACGAGAGCTGGCTAAATGAAA
+ACGATCCTTCCGCCATCATGACGGGCAACATAGGCGTATAAAGGAAGCGGCCTAAACCCATACCTAAGGT
+CAGAACCAGCATCCCGAAAAGCGCGGTGCTGAAAGAAAAGCGTTCTACGGGATGCGTGGATGAAGGCATG
+TTTAACCTTGTTTGTCATTTTTGTTGTTAACAAGTTAATAACAAAAAGGTAAAACATGCCAGCCTGTTAA
+TGCGATGATTGAGGGGTAAAGCGATAAAAACGATTTGGTTCGCTAACGATATAAAGATTACCAGAGGCAT
+CCATCGCAACCCCTTCGGCCTGTTTGATGTTATGCGACAAACCTCGACTGCCTTTGGTTAGTGACATTTC
+ACCGATAACCTCGCCAACCAGCGTTACTTCCTGGAGTGCGCGAGATTCATGAGACAGCACCAGAAGCGTA
+TTTTTTTGTTGGTTAAATTCTGCGCCGGACACATCATCTAAAGTAAATTGCCGTTGTAGTGCCTTGTCTT
+TGCTGATGTGCAATTCATTGCTACTTAACAGCCCGTTAACTTTGTAGACCTCAATCGGGTTTTTCTCTTT
+AAAAAACCAGAAAGTGTGATCCTGGCGAGAATAGGCCAATCCTTCAAAACCGCAATTGGTTGGGGATTCC
+TGCAGCGGGATTTTTATTTTTTTGAGGATTTTTACTTCCGAGTTTGGGGTCAGTGAAATCACATAAATGG
+CATAATCGCGCTCATCGCTAATGACAAACTGATTATCGCCAATGTATTCGATCGTCTCGAGATCCTTAAC
+AAAATCCAGAGGAATTGTGCGGATCAAATCGCCATTGGTGGTCATTTCAACAATGGCGGCCGGTTTGTTG
+ATAGTGCTAAAAAGAGTATTGCTTTGTGCCGACCAGGTCAGCGAAGAGATATTATTCGTTATGCCTGCAA
+TTTCTTTGCCGTCAATGGTGGCGTGGTAATTCTGAAATGATGCTGCATGATTGCTTTTACGGGCGCAAGA
+TTGCACGAAGAAAGTACACACTGCCACAATGACAAAAAGAATCACAATAACGAAGATGCGTTTACTTAAC
+GAAATACTTTTTGTCACGGTAATCCCTTTAAGGCAAATCAATAAGATATCGAGAAGTATACGTAGCGATC
+TTAATGAATCCTTAACGCGGAGAAATCCCGTAATGTGCAATGCAGCGCCAGCCACCATCCTGCTGACAAT
+AAACTGATTCCGTATACCCAGGGATCACCCATTGAATTTCCTCGCCAGGCGGACAGGTCAGCCAAATGCA
+TAACCCGCAGCCGCCGCGTAAATCACGGGGAATATCGCTGACGCGAAAAGTCATGCCCGCTGCCTGCAAC
+GCCTTGCGGGTTTGTATGACGCCGACCGTGGAGTGAAATAAAAACAGATACTCTTTCATGCGCGTTTTCT
+CTGCCGCTGACCGATCACCGCCGCGCCAATTGCACCAGCGAATTGCGCATCAGGGTGAGTTTGTACCGGC
+ATTCCCAGATGGCTTTCCAGCATGTGGGTAAACCTTTGACAGTGGCTAACGCCACCAGTAAACAGAATCG
+GCGCTTCACAGGAGAGACGAGCAATGAAATTGGCGCTCCGCCGCGCCATCGCGTTAATCACTCCGGCGAG
+AATCGCTTCTGGCGCTACGCCCGCAGAGCGCAGGCTGATCACTTCTGATTCAGCAAACACTGTGCACATA
+CTCGTGATGGCGTGCGGTATGACATTTTCGGTAATGCTGTCGAGTTGCTCGACGCTGGTGCCAAGCGTGC
+GCGAGATCACCTCCAGGAAACGCCCGGTGCCCGCCGCGCATTTGTCATTCATCAGGAAATCGCACAGGTT
+ACCGTCATCATCAAGCTGAATCACTTTGCTGTCCTGACCACCGATGTCGATTACCGCGCGCGTTGCTGGC
+TCAAGAAACCGTGCGCCCAGCCCGTGACAGGAGATTTCCGTCACCTGTTTATCGGCAAAATCCACCAGTT
+GCCGTCCGTAGCCGGTGAGCGTCAGAAACGGCGTTGTCTCTAACCCTTCGCGCAGAGTTTCCCAGGCTTC
+AGTAATTGCTGTTGCCGGGCGAAAGGATGTTGGAACGAGGAAACGGCGCGTAATCACGCCGTCAGCCAGT
+AAGATCCCTTTGGTGGCGGTTGAGCCGGAATCAATGCCAATCGAATATGTCACTGCCACTCCTTACAGCA
+TCTCAATAAAGGCCGCGACACGGGTGCTGAGCTGCCCGACATCCGAGGTGGAGTAGTCTGTTTCAATAGC
+GATATAAGGAATGTTGTGCTGCTGGCGCACATGACGTTTAATCGCCAGCGATTCCACCGCGTAGGTATGG
+CACGCCTGCAAAATCACATCAACTACGCCATCGACCTGATATTCTTCAACCATCTGGCTGAGCATTTGCA
+GGCGCTGATCGTTCGGCGAAACACAGGAGCAGCCAATCGCCAGATATTTATCCGCCAGCGCGTCGTACAC
+ATCACCCGTTTCCGCCACGCATTGCTCGGTGGCTTTCGCCCCGGTGCAGTTTTCATAACCGACAACCCAG
+CCGCCATTCTCTTCAATCGCGCGCACCACTTTCTCTGCTGCGCCGCCAATTGGGCAGCCGGTGATTAAAA
+TACGTGGGCGCGGGTCCAGTCGCTGGCCTTCTTCCCACTGCTGACGAACGCGGGCGGTCATTGCATCCAG
+TTCATTGATCAACGCCTCTTTATCGAACCGGAAGGTTGCGCCGTAGACTACTTTCAGAATGTCGCTGCCG
+CTAAGCGCCGGAGGATTTAACTGCCCCAAATGATAAAAGTTGGCCAGTGCGCGACGTTCGCGGTTTTTCA
+GCGCAATGGCATCGCGCAGAGCATCTTCGCTAATCTCGTGCCCAAAACGTTCTTCTACCGTTTTTTGCAA
+GCGCAGCATCTCGGCTTTCCATAACGCGCGTGAGGCATCGTCCTTAACGCTGTTTGGCAGTTGCATCACA
+TGAACGGGCTTAAATTCCGCCATGTATTCATACATTTTCTTTTTGCCGTCGCAGGTGGTTTCACCGACCA
+CCAGATCAGAAAAGTAGAAGTAGGGGCATTTATCGGTTTTGCCGAAGCCGTAGCTGCTTTTAATCAGCGG
+GCAGAGGTTGCGCGGCAGATCTTTCTCGGCTTCTTCAATGGTTTCATCAGAGGTGGAACATAGCGAAACC
+ACAACCGCACCGGCTGCCATCGGGATCTCTTGCGGCATAAAGGTGCAGTAGGTGCCAACCAGCGGAATGC
+CGCGCTCCTTGAGATCCATGACGGTGAGAAAGCCTTTCTGGCGAGCTTCAGAGAACTGATCGAAAATGGC
+GGGTAGATCGGTAACAAGTGACATGATTTTCCTTCCCCGTACCACGGGAGATAATGAAAAGAGGCCACAT
+TATTACCATTCTTTTAGTGTGGTTTATTTGATCTCTCTCGCGGTTAGCCACTTAGTTTTTCATGGATTTC
+TATAAATTGCCGAGGGGGAACAAGGCCGGGAGCTGCGACAGCAAATACAAAATAAGTCCAATACAACCGC
+CAACCAGCGTACCGTTGACACGGATAAACTGGAGATCTTTGCCGATATTTAACTCGATTTGCCGCGACAT
+ATCCCGTGCGTCCCAACTTTTTACCGTATCGCTAATGTGGCGAGTCAGGAATGCGGAAAACTCAGGCGCA
+ACGCGGTGTGCGGCTTGTTCGAGATGACCATTTAACGACGCCCGCAAGGCATCATCGGCAATTAACGTTT
+CGCCAAACCATTGCCCCGCCCGCGCGATACGTTCTTTCACACGAGAATCTTCACTGTTGATATCCGCTTT
+CAGCCATTCCCGTAAATCCCCCCACAATTCACTGAGATAGCGGTTAAAAGCTTCATCTTCTTTCAGATAG
+CTTTTTACGGCGTCGGCTCGCGCTGCCATTTCCGGATCGTTTTTCAGCTTGTCGATCAGGGCAAAAGTGG
+CGCGATCAAACGCATGGCGGATCTGATGCGCACGATCGCGGCTGATATCATCAAGCAAAGAATTCACCGC
+GTCAGAAACCAACTCCGCGCTATGTTCGCCCAGCCATTCAGTGGGCAAAATTTTGGCTTTCAGTGGATGC
+TCGCTCTCCAGCCAGCGAACAATTTGCTGGGCAATAAACTTGCGTGATTTATCGCGCTGAAGCAGGGCGA
+TCAGTTGTGCGATCAGCGTATCGAGCAGCACCTGATGACGATCGTTTCTGGTCATACTCTCCAGCATCAA
+CGCACTGGTGCCGGAAAGATCGACCTTATCGATCGCCCGGTGGACCGCACGCTTAAGCAGGCGCTGAATA
+CGCGCATCATCGGTCAGTTCGAGAAAACCGCTCATGATCTGTAACAGATGCTGACCAACGCGGCGGGCGT
+TCTCCGGCTGACTAAACCAGTTGCCAATCAACAACGCCGGTTCGTGACGTCGAATCAATGCCACCAGCGA
+TTGGGTATCGAGAAATTTTTCCTGCACGAACTGGCCGAGATTTTCGCCAATCCGGTCTTTATTACGCGGG
+ATAATCGCCGTATGACGAGAAATGATCGGAATCGGCACGCGGCGAAACAGCGCCACCACCGCAAACCAGT
+CCGCCAGCGCGCCGACCATCGCCGCTTCAGCAATCGCCTTCACACCGCTCACCCAAAAATTGGGCGGCAA
+AAACAGCGTAACGACAAAGGTAGCAGCGGCGATAAGCAGTAAAGAGAGCGCCAACATTTTGGCGCGTCTG
+AGTTCAATGAGTTTATTCATATCGTAAGAATAGAGCCTGACGGTAAGAAAACGCAAAAAGCGAGATATCT
+TCCATAAAAATGTATCGTTTGCAGAAGAATAAAAATAGCCTGGAAACCGCCTCGGGGAATAGGAAATAGC
+CAGGTGTGAATGGCTTTGTTAGTCGCTAAAGTTGGGCCATCTGATCTACAGGTGACGGATCGCCATGACA
+AACTTTACGACCAGCACGCCGCATGACGCATTATTTAAATCCTTTCTCACACACTCTGACACCGCGCGGG
+ATTTTATGGAGATCCACTTACCCAAAGATTTACGTGAACTGTGCGATCTCGATAGCTTAAAACTGGAATC
+CGCCAGCTTTGTCGATGAAAAATTGCGGGCGCTACATTCCGATATTCTGTGGTCGGTAAAGACCCGTGAA
+GGCGATGGCTATATTTATGTAGTGATTGAACATCAGAGCCGTGAGGATATTCATATGGCCTTTCGTCTGA
+TGCGATATTCCATGGCGGTGATGCAGCGCCATATCGAACATGATAAACGCCGGCAGCTACCACTGGTCAT
+CCCGATGCTGTTTTATCACGGTAGCCGTAGCCCTTATCCCTGGTCTTTGTGCTGGCTGGACGAATTTGCC
+GACCCAACTACCGCACGGAAGCTTTATACCGCCGCGTTCCCGCTGGTGGATATCACTGTCGTGCCAGACG
+ACGAGATTGTGCAGCATCGCAGAGTCGCCCTGTTGGAGTTGATCCAAAAGCATATTCGCCAGCGCGATCT
+GATGGGGCTTATTGACCAACTGGTAGTATTACTGGTTACAGAGTGTGCTAATGACAGCCAGATAACTGCG
+CTGTTAAATTACATTTTACTGACTGGTGATGAAGCGCGTTTTAATGAGTTTATCAGTGAAATTACCCGTC
+GACTGCCACAACAAAGGGAGCGAATAATGACGATTGCAGAGCGAATTCATAATGATGGATATATAAAAGG
+GGAACAGCGCATTCTTCGATTGTTTTTGCAGAATGGGGTAGATCCTGAATGGATACAAAAGATTACCGGA
+CTTTCGGCAGAGCAAATACAGGCATTAGAGCAGCCCTTGCCTGAGCGTGAGCCTTATTCATGGCTCAAGA
+GCTAATCAGAGACGGATGACAAACGCAAAGCTGCCTGATGCGCTACGCTTATCAGACCTACATTATCTCT
+GCAATCTATTGAATTTGCGCGGTTTGTAGGCCGGATAAGGCGTTCACGCCGCATCCGGCATGAACGAAGC
+ACACTTTATGTGGCGATGATAGTGACCTTCCTGCACCAACGTTGCCGCCGCCATTTATGTGAACGGTACA
+TTAACGCTGCTGGTGGCAGCAAATGCAGACCCGGTGCGTGTTACAGCAGGTGAGAGATGAACGGTTAAAG
+GATATTGGGTTATGCAGGGAGGATGTGGTGTAATGGAGAGAGTCCTTCACGAAACGATGGGATTTATATG
+TCACCTCGTCAGATAAGGGGTTATTATTGCGAAATCATCGCTTCACGGAAAGACGTCAGAATGAAAGCTA
+CAGAAGCCCGCCTACTCGATTTTTTAAAACGTTCGCAGCAGTTCGTTATTCCCATTTATCAACGGACTTA
+TTCATGGACAGAACAACAATGTCGGCAACTTTGGGACGACATCATTCGTGCCGGAAAGCGTGACGATATA
+TCAGCGCATTTTATCGGTTCGGTTGTTTATATTGAGCAGGGGTTGTATCAGGTTTCTGGTATTTCTCCGT
+TACTGGTCATTGATGGTCAACAAAGGCTGACGACCGCAATGTTGCTGATTGAGGCTTTATCGCGTCATCT
+TGGCGAAGACGAAGTTTTTGATGGCTTTTCAGCAATGAAATTGCGTAATTATTATTTACTCAATCCTTAT
+GAGTCCGGCGAGAAAGGATTTAAATTACTGCTGACCGAGACTGATAAAGACAGTTTGCTGGCGTTAATAA
+AACAAAGACCAATGCCAGAAAACTATTCCCATCGAATAATGGAAAACTTTACTTTCTTTGATGAACAAAT
+TACCAAACTCGGTGATGACTTGATCCCCTTATGTCGTGGGTTAGCAAAGTTATTAATTGTCGATGTGGCG
+CTTAATCGTGGTCAGGATAATCCGCAACTGATTTTTGAAAGTATGAACTCCACCGGTAAGGCATTAAGTC
+AGGCCGATCTGGTGCGCAATTTTATTCTGATGGGCCTCGAACCAGAGCATCAAACCCGGTTGTATGAAGA
+TCACTGGCGTCCAATGGAAGTCGCGTTTGGTCAGCAAGGTTACAGCGAATATTTTGACAGTTTTATGCGT
+CATTATCTGACGGTAAAAACGGGGGAGATCCCTCGGACAGATGAAGTCTATGAGGCATTTAAACTCCATG
+CCCGCAGCCAGAGTGTTGCTGAAAAAGGTGTAGATCGGCTGGTTGAAGATATTCACATCTACGCGGAGTA
+TTACTGTGCAATGGCATTGGGAAAAGAAAGTGACAAATCGCTTGCTACGGCTTTTCAGGATTTGCGCGAG
+TTAAAGGTCGATGTGGCGTATCCTTTCTTACTGGCGCTTTATCATGACTATAAAAATGGCGTTTTGTCTC
+ACGAAGATTTCCTGAGCATAATTCGTTTAATTGAATCTTATGTTTTCCGCCGTGCAGTATGTGCGATTCC
+GACAAATTCTCTTAACAAGACGTTTGCTACTTTTTATAAGGTCATTAATAAAGAAAAATATCTGGAAAGT
+ATTCAGGTACATTTTCTGAATCTGCCTTCATATCGTCGTTTCCCCAACGATGATGAATTTAAACGGGAAT
+TAAAAGTTCGTGATCTCTATAATTTCCGTAGTCGCAGCTACTGGTTACGACGACTGGAAAACGATAAACG
+CAGAGAGCGCGTGGAAGAGTTTACGATTGAGCATATTATGCCGCAGAACGAAAATTTGTCGGCTAAATGG
+CGTGAAGAGCTGGGAAGTGACTGGCAACGCATTCATAAAGAACTGTTGCATACGTTGGGGAATCTCACAT
+TAACGCGCTATAACTCCCGCTACAGTGACAGACCTTTCGCGGAAAAACGCGATATTGAAGACGGCTTTAA
+ACATAGCCCGCTCTATTTGAATATCGGTCTTGGACAGTGCGAAAAATGGGATGAAGCAGCCATTCGCGCC
+CGTGCAGATCGTCTGGCCGATCTCGCGGTTCAGGTCTGGCAAGCGCCTGCTCTTCCTGAAGAGGTTTTAG
+CTGTTTATCGGGCGCAGCCGGAGAACAAAACCAGTTACAGCCTGAGTGATTATCCTTTTCTTGCTGATGG
+TTCGCATAGCCGGGTGTTATTTGATCATCTTCGCGATGAAGTTATGCGCCTGGACGCAGGGATCACGCAG
+GAAGTTTTAAAGCTCTATATTGCGTTTAAAGCTGAAACGAATTTTGTTGATGTTGTACCGCAAAAAAGCC
+GACTGCGGTTGTCGCTTAATATGCAGTTTCATGAACTGGTCGATCCGAAAGGTATTGCCAAAGATGTGAC
+AAATGTTGGGCGATGGGGCAATGGTGATGTGGAAATTGGTTTCAGTGACCTCGCACAACTTCCTTACATT
+ATGGGATTAATTCGTCAGGCATTTGAAAAACAGATGGAGAGCGCGTTGGTATAACGTGGCGAATAATACC
+CGGTAGCACTGGCGCTACCGGGTCAATGTATCAGGCGACTTTCTGTTTACCCGCAATCACCCCAATAAAC
+TCCTGCACCTGCCTTTGTTTACGCGCCGACAGCTTGCACACCTGGCGCAGCGACTGCATCAGTTCGCTCT
+CGGCGGCGGCGGGTGGTTGGGCGGTGAGGACAATACAGCCTTCCATTACTTTGACATCTACCGCAGTGCC
+GGTGGCAAAACCGGCGGCTTCCAGCCACTGACCTTTCAGGGTGATGGCGGGAATACGGCTGTAATCCGGG
+TAGCGACTCGCATAACTCACGGTTAATTGACGGTTATTTGCCGGGGAGACTTCTGCTTCGAACGGTTGTG
+CAATAGAATGCGTGTCAGTCATAACTGCTATTCCCTATAAATAGTGATTGTGATTAGCGGTGCGGGTGTG
+TTGGCGCACATCCGCACCGCGCTAAATACCTGGACATATCATCAGTAAATACAGGGAAAGTCCAGCTAAA
+AATTAATGAAAATAAGATGAAAATTAGCGTGAAATATAATTTTTGCTGATGTGAATAAAGCGGCTATTGA
+GCCGCTTTATTGCTTTTTTGAGGGCGGGAAAATTAGTTTATCGCCGCGTTAGTCAGTGCGTCTGCAAGGT
+GCAGTTGGGTTTGTTGGGCAGATTGAATTTGACTCTTTAGAGTTATAAAATAATCCATCATTTCATTTAT
+TTTATCTGTTATTTTTAATTGTTCATGTGTAGTCGGGATAGCTATAGGTGCCATTTTTAAAATATCTTGT
+GAAATATTCATCTGACTTTCTGCCATGCCAGATTTGGAGTTTTCAAGATATGTTGAAGTAAACCCATAGT
+TTAGACATAAGGAAATGTATTTCTCGGAGATATCCTCTGATATCAAATGAAATCTGATTATTTTATCTGA
+AATCATTAAATTTTCTCTTGTGTTTTCAACAAGGCATGAAATACCAACCCGATTTTTAGGACCAGCTCTT
+GTTATAAGAATATCTCCTGCTTTTACTTCTAGTTGTGGCCTTGGGGCTTTATTTTTAGGGAGCGCCTTGT
+TTTCGTACTCTCTATATTCAAGAGATTGAACTGCGGTCGTTTTTAACACCCCCCATTCTCCTGGAGCGGC
+TGGTTCAGAAGAACATGCAGGACTCCACCCAGCATCAATGGAATCAATAAGCTCTCCGAGCCTGCACCAT
+TCCCATCCATTAGGCAGTTCAAACGGTTTTTCCTCATCGCTAATTGGCAGCAACGGTTTTTGTTTTTTTA
+TTTTCCCTTCTTTCACCAGTTGAGCTTTTTCCTGCGCAATTCGTTTGAGCAGTTCAGAGGCGGGTTCGTC
+ATTCGGATCCTGCGGCACAAGTTTACCCATTACGGCCAGTTGCAGAATGGTCTGTTTTAACGCATCCACG
+CTGGCTTCGGTGGTAAAAAGTGTGTCGAAATGCTCGCTAATACGCGCCCAGTTTTCAGCCAGTTCCTCGG
+CGTTCTGGCTGTCTGCAAGTGTTCCCAACAGGGTTTCAACCAGTTGCTGATGTGCGTCCAGACTGGTCAA
+GGATTGCTGTTCCAGTTGGTCGCATAGGGACATTAATTCATTTACTTTCGACACTATGGCTTTCTGTTCG
+CTTCGAGGTGGAATAGCAATTACTAAACTATAAGCATCGTTACGATTCAAGCCTGGCTTAATTCCCTTCC
+CTAATTTATCGAGGCCCAATGTATGAAATTGTATAAAGACAAATTCAAGAACCATAGCAATTGGGGGTAT
+AGTGCTATAAGCTACGTCTGTTACCCAACAGGCTGGCTGATTTGAAAGATTTAATGCTCCTGCGGAACCT
+TTTCTGCCAATAATAATACATGGTGATTTAATACATGCTTCATTGTGTGTACCTACAACTCCATTGGAGC
+CATAAACATTATATTCACCAGAATTAGATCTTTTTTCTTGTGGTAAATTATTACCGTACTCCATTTCATA
+GATATTACCAAATCGCACCCACTCCCATCCCTCCGGCAATTCAAATAGCTTCTCTTCCTCGCTAATTTCC
+GGCAGTGGTTTTTGCTTTTTAATTTTCGCCTGTTTCACCAGCTCGGCTTTTTCCGCCGCAATACGCTTCA
+GCAGCTCCGACGCCGGTTCATCATTCGGATCCTGCGGCACCAGTTTACCGCGCACAGCCAGTTCCAGAAT
+CAGCTCACGTAATTTCTTAATGCCATATAAATCAATTTTTCCGGAACTGCCGCGCCCGGCGGTGGAACGG
+GTTTGCAACGCCGAGGTCCAGGTTTCCATATGATCAACGATCAGCTTTTCCACATTCATTAGTTAACCTC
+CTTGCCAGACAGCGCAGCGCCAAGAATATCGCGCAGTTGATTACGCAGCGTCTGGATCTCCGCCTGCTGT
+TTTGCATACTGCGCTAACAGTTCGTCCGGGTCATGGCTGACGGTTTCCGCCTGATGTGGGTTTTTAATAT
+CCAGATTGAAGTTACGCGCAATCACGTCATCAATGCTGACTTTCCACGCTTGCTCATTCTCGATGCGGCT
+GGCAAAACCATCGGCCTCGTTACCCCACCAGTCAATCTCCGCCTGAAACTCTTCGAACTTCATCGGCTTG
+GTTTTACTGTAATTTTTCACGCCCGCCGGATACGGATGATCATAGAACCAAATCTCTTTGGTTGGCTGAC
+CTTTGGTAAAAAACAACAGGTTGGTTTTAATGCCGGTATAGGGGTTAAACACACCATTCGGTAAACGCAC
+GATGGTATGCAGATTGCACTCTTCGGTAAGCAGCTTTTTGATTTTGGTTTTAACGCCTTCGCCAAATAGC
+GTGCCATCCGGCAATACCACCGCCGCGCGACCGTTTTTCGCCAGTACTTCCACAATCAGTTGCAGAAACA
+GATCCGCCGTTTCGCGGGTTTGCATCTCTGCCGGAAAGTTCTTCTCAATACCGTCTTCTTCCGTGCCACC
+AAACGGCGGGTTGGTAACAATGACATCCAGTTGCTCATCCCAGGAGGAAAGCGGTTTGTTCAGGGTGTTG
+TCGTGACGAATTTGTACAGGCACTTCAATGCCGTGCAGCAGCATATTGGTGGTCGCCAGCAGGTGCGGAA
+GCTGTTTTTTCTCGACACCGTGGATCTGTTGTTGCAGCGTCTGATGATCGGCGACGCTCTTCACGTATTT
+GTTCTTTACATGATCGAACGCGCAGGCAAGAAAACCGCCCGTACCGCAGGCCGGGTCCATAATGGATTCG
+CCGAGTTTCGGATCAATGCGATCCACCATAAAGCGAGTGACGGCGCGTGGAGTATAGAATTCGCCCGCAT
+TGCCCGCAGATTGCAGATCTTTAAGGATCTGTTCGTAAATATCACCAAACAGATGGCGTTCGCTGGCGCT
+GGTAAAGTCAATTTCGTTCAGCTTGTTGATCACCTGGCGCAGTAGCGTACCGTTTTTCATGTAGTTATAG
+GCATCGCTGAACGCCTGCTTTACCACGTAGCCGCGTGGGTTTTTATCGATAGGCGCAGTGAGGTTTTTCA
+ACGCCGGGAACAGATCATCATTAACGAATTCCAGCAGGGAATCACCGGTAATGCCCTGAGCGTTTGCGGC
+CCAACTGCGCCATAAATAACGCTGTGGGATCGGATATTGATAGTTATCCTGCTCCAGTTCCAGCGCCTCT
+TCCTGGGCATCGAAGATTTTCAAAAACAGCAGCCAGGAGAGCTGACCGAGACGCTGCGCATCGCCGTCCA
+CACCGGCATCTTTGCGCATAATATCTTGTAATGATTTGATTACTGAACTGATAGACATGTTGTATTCCAT
+GAAAAACAAGGCCTTCTGCAACATGTTGGTTGCAGAAGGCACAAAAGAGAGTTGTTAAGCAGAGCGGGGC
+GGTAATTGGTAGATTTCGTTTTCCAGCTCGCTGAGCGCCTGATTATACCCGTTACGGTCGCCAAATCCGG
+TTTTAATAATCTCCGGTAGGGTGCCCATGCTGTCGAATGGTTTAAGTTTCAGCACCTGAATACTTTCGAT
+CTCCTGTACGCCCGCATCGGCGTATTTATCCAGCAGATTATCGAGCACGGCTTGCGCTGCTTCAGAGTAT
+TTTGTGAAGTAGTTCCGCTTGCGCACGTTCTCGGCGCGCTCTTTGCGGGTTAACGGCGGCTGACCATACA
+CTACGTGGCAAAGCATGTCGAACGGGTCGAGATCTTTACCGACTTCTTCTGCCAGTACTTCCCAGATGAT
+CCCCTGTTGTTCCAGCTCGTGAATGATCGCTTCTTTGCGATCGGCGTCTTGCCACTTGCGGGTAAAGTCA
+TCCAGCGAGGCATATTCTTTGAGCAGTGTTTTGCGGGTGTAATCTTTAAAAGATTCGGTAACCAGTTTAC
+CGTCGGCATCGTAATACTGAACACGCTGCGCAATAACACCCACCGCCACGCCATTGACGTGAAACTTGCG
+GATTTTCTTCTCGTCTTCTTCCGGAAGTGGGCCAACATCATCGGTATCGGTAACCTGGTATGGTGGCGCA
+GGCGGTTCATCAACGCCTGTTACCTGTTCGTCGTCATGTTCGCTGATTTCTTCGAGTTTCTCTTCAAAAT
+CAGATTCTGGATCGGCGATATCCTCTGGTGTGGTATCCATGACTTTTTCGGGAATGCCATCGAAACGCTC
+ATCGGCAAACAGTTCGGTGGCTTTTTTAAAGTCGAGGATGGTAAACCAGAGTTTGCCGTAACGTTCGTCG
+ATGCGTGTACCACGACCGATAATTTGCTTGAATTTGGTCATCGACTGGATGTTCTGGTCCAGTACTACCA
+GTTTGCAGGTTTTAGCATCCACACCAGTGGTCATCAGTTCTGAAGTGGTCGCGATAACCGGGTACGCTTT
+TTTCGGGTTGATGAAGTTATCCAACTGAGCTTTGCCAATTTCATCATCGCCGGTGATTTTCATGACGTAT
+TTGTCGTTCTTTTTCACCTGCTCCGGGTTGAGATTCACCAGGGCGCGGCGCATACGTTCTGCATGATCGA
+TGTCGTTACAGAAGACGATGGTTTTATCCATCGGGTTGGTGCGCTTGAGGTAGTCGGTAATGGTTCTGGC
+AACCAGTTCTGTGCGTTCGTCGATTACCATCGTGCGATCGAAATCTTTCTGGTTATAGATACGATCGTCG
+ATCACTTCGCCGTTTAAGTCAGTTTGCCCTTTGGTTGGGCGCCAGCCTTGCAGATCAACATCAATATCAA
+CACGGACAACTTTATAAGGGGCGAGGAAGCCGTCTTCGATCCCTTCTTTTAGTGAGTAGACGTAAACCGG
+ATCGCCGAAGTAATCCGTGCTGGAGACTTCATGCGTCTCTTTTGGCGTGGCGGTTAAGCCAATTTGGGTG
+GCGGAACTGAAATAATCAAGGATCTCTCGCCAGGCGCTGTCTTCGGATGCGCTGCCGCGATGGCATTCGT
+CGATCACGATCAGATCGAAGAAATCTGGTGCGACTTGTTTAAACGCTTTTTGGTCTTCCTCCGGGCCAGT
+TATAGCCTGATAGAGCGCGAGGTGAATTTCATAAGCGGGATCAATGGTGCGTCCGCTGACTTTGGTCATT
+GCCGTACCAAATGGCTGGAAATCATTATTTTTGGTTTGGTCGACCAGAATGTTGCGATCGGCAAGGAACA
+AAATGCGTTTTTTATTTTTTGATTTCCACAGGCGCCAGATGATCTGGAATGCGGTGTAGGTTTTCCCTGT
+TCCGGTCGCCATGACCAGCAGAACGCGGTTTTGCCCGTTGGAGACGGCTTCAATGGTTTTGTTGATTGCC
+TGAAGCTGGTAATAACGTGGCGATTTACCGCTGCCATCGTCGTAATAGTCCTGAGTAATCACCGGAAGCT
+GAGCTTGTGTGTATCCTTTCCAGAGGCAGAATTTTTGCCAGAGTTCAGCGGGGGAGGGGAAGTCATCCAG
+CGTTATTTGCTTTTCAAGGCATTCACCTTCGGCTGCGGTGGCATCGCGGAAGATAAAGCCATCCCCGTTG
+GTGGCAAAAACAAAAGGAACGTCCAGCAGGCGCGCATATTCAATGCCCTGTTGCATCCCTTTGCCAATTT
+CATGTTTGTTGGCTTTTGCTTCAATCACGGCTAAGGGAATGCCTGGTTTGTGATACAGCACGATGTCAGC
+AGATTTTACCGTTCTGCGTGCCGCAACTTTACCACGTACGATGACTTTACCGTCCCGGAGTTTGACCTCC
+TGTCTGATTTGCGTTGTGTTGTCCCAGCCTGCATTGAGAATGGCTGGCATAACGCATTTGGTAATGATGT
+CTGCTTCCGTCAGGTTACTTAGGTTCAGTTCCGCCATGGGGTGTTCTCGCTTTTATCAGGACGATTCTGA
+TTGTACATAAAATCAATAGCCTGGCTATGACTTAGGGCGGTGTTTCAACGTGAAGTACGTAGCAGAGATC
+ACATTGATATCTCTGTTATATCTTGCTTGAATTAATCTGGGCATATCAGAGACAGATAAACAGAAGTTAC
+AGGAACCGTATCAACTCTAACAAAATATATAAAAATCTTATAGTTGCGTTTCTTTCGAGCAAGAAAGATA
+ATGTTATTGTTGATTGTTTGATTGGGTATATGAAATGGAAGCTAAAGAATGTAAGGTGCAGGATATCCTT
+ACTGAAAACAAAAAGTTTATTATTCCTTCTTATCAGCGTCCTTACAGTTGGACGGTAGATAATGCAGAGC
+AACTCATTGATGACATTTATAAAAGCTCTCAATCAGAAGAGAATGAATATTTTATTGGGAGTATGATTTG
+TATCAATAAAGGGCAAAATCAGTATGAAGTTGTAGATGGACAACAACGTCTTACAACGTTAAGCATTATT
+GTCTCCGAGCTAAAAAAAATCATCCCGATTCAGGGGATAAAAGATGATTTGCAAAAAAGAGTTCTGCCTA
+TTGATGTTTATTCTGATGAAACAGATGAACCAAGGCTAATTGTTAGAAAAAAAGAGTGTGATCTTTATAA
+ATATTATATACTTCAGGATTCTAAAGATTATAAACCTGAAAAACCATCGGATACTGAGTTAGTATTCATT
+AGCAACGCTGAAACAATTAGAGATTACTTGTTGCGGTTATCTGTTGATGAGTTGAAGTTGCTTGCTAAAT
+ATATTTTGCAAAATGTATATATCGTATTTGTGCAAACTGATGATTTCGCATCATCATTTAGACTCTTTAA
+TGTATTAAATAGTCGAGGTTTACCTTTAAGTAATGCAGATCTTTTAAAAAATGCACTGTTTGAATCAGCT
+TCTACGCATAATAAAAAATCAGAGCAAATAGAATCAGCATGGTCGCAAATTGAAGATATGGTTGGAGTGA
+GACGGCTTGATAAATTTCTTACTCTTCATAAGCTTTCCGAGAAAAAAGATCGTGACAGGGTGTTACAAAA
+AGGTTTTGAAGCTTTTATTGAAAATCTCCAGCAGCAATTTGATGGAGATGCTATTGCTATGTCACTGATG
+TTGGTTAATTCTGCAAAAAATTATACTAAGATTTTAGAGAATGATTTTGAACACTCTTCAATACGACGAA
+AAATAGCATCACTAAGTAATTTAGGGGTAGATGAGTGGATTCCTCCGGTTATGGCATTCATGAATCGAAT
+GGCTCGTACAGAAGATTTTAATTTAGATGATTTTTCTCAATTTATTACCGCCTTTGAGAAGGTATATATG
+CATGGGTGGTTAAAAAAACAAATTAAAAGCCAAAGAGAAATGGTTTGTTATTCAGCTCTGGTAGCAATAA
+ATAATGATATGTCTTTTGATTCTGTGATAAATCAGATAAACCAACATGCAGATAATTCAGGTTTTATAGC
+TGCTCTGGATGAAGATTTATATGAGCCTCGTCCGAATCAAGTGAACTTAATAAAAGCAATTTTGCTTCGC
+TTAGATATGGAGCAACAAGATGAGAGCGTGATTAAAACCTATACGGGGAGAATCACAATTGAGCATATTC
+TTCCTCAAGCATTAGTTAATGAATACTGGATTAATAGATTCCAACCTCAAGAGCATGTCTACTGGCTGCA
+TAAAATAGGTAATTTAACACTCATAAGTGGTTCCAAAAATTCTGAAGCACAACACTATGATTTTATCAAA
+AAGAAATCTATTTATGAGAAACTTAATAGTAAAAGCTCTTTTGATTTAACAAAAGATGTTTGTAATTCTT
+CAGAATGGGGATTGGCTGAACTGAAAATGAGACATGAAAAAATGAAAACGCAATTGAAGAAGCTTTGGTT
+GGTCTGACATATCTAAAGAGTTCCACTCGTAATAATGTTGCGGTGGAACTCTCAAAAAGTTGATCTTTCC
+CGAACTTACTTCCTCAACCCAGCAAACGCCGCCCGAATCTCTTCTTCCGGCAGCTGAATCCCGATAAACA
+CCATCGTACTATGCGGTTTTTCATCGCCCCACGGGCGGTCCCAGTCGGCGCTGTAGAGGCGTTGGACGCC
+CTGGAACAGCAGGCGATTAGGTTCGCCGTCAATCCATAGCATCCCTTTGTAACGCAGCAGTTTATCCGCC
+GATTCCAGCAGCAGGTTTTCCATCACCCGGGAAACTTCGCTGATATCTACCGGGTAATCCAGTTCCACCA
+CAATCGACGAAATATCGTTTTGTTTGTCCGCGATAAAGTGAAAACGTGGCTTGGTGCTGACGACGTTTTC
+TTCCAGCATAAAACCGTTGGTGTTGAACAGCAGGCCCAGGTCGATGTCGCCGTGGGTGACGGTGTAGACC
+GGTGCACGGGCGTTGATGCGCGCCAGGCGTTCACGCAGTTTTTCTGCTTCGCCTGCGACGTCGGTTTTAG
+TCAGCAGAATACGGTCGGCGTAGCCAACCTGTGACTGGGCGATGGTGAACTGGTTCATCTGCTCATCGGC
+ATGTACCGCATCCACCAGCGCAATCACTCCGTCCAGCAGGTAACGCTGGCATAAAACTTCATGGGAGAAA
+AAGGTCTGAATAATCGGGCCGGGATCGGCCATGCCGGTGCATTCAATGACCAGACGGTCGAACTGAATAT
+AGCCCTTGTCGAGATTGTCCAGCAGGTCGAGTAGCGCGTCCTCCAGCTCGTTGGAGCGCGAACAGCAGAT
+GCAGCCGTTGGTCAGCGTTTTTATTTGCGTGGCGCGATCGCCAATCAGTTGATCATCAACGGAGACTTCG
+CCGAATTCGTTTTCAATCACGGCAATCTTGTAGCCGTGTTGTTCGTTAAGAATATGGCGCAGCAGGGTGG
+TTTTTCCTGCGCCTAAAAAACCGGTGAGTAGGGTAACTGCAATCGGGTTCATGCTCTCTCCATTAACAAC
+AGCGCATACCGCCTTTACCATCGCCGCCGTAGCGCGCGTTCTGGCGTTCGCGGAAGAATTCTTCATAGCT
+CATGTACGGCTTGTCGGGATGGTTGGTCTTCATATGCTCGACGTAGTTGTCGTAGTCTGGAATGCCAATC
+AACATCTTCGCCGCCTGGCCGAGATATTTTTTTGCCTGTCCTAAGTTACCAAACATTTTGCCTTCCAGAT
+ATGCGTAAAGCCCGGAAGGTCCGGGCTGGGGATTTGCCGGATGCGGCGTAAACGCCTTATCCGGCCTACG
+ATAGACATTTTGTAAGCCGGATAAGGCAACCGGTTAGTGGTGCGAAGAGATCTTCACGCCGCCTTCCGGG
+ATTGGAACGTACGGTGTTTCTTTGTCAGTACGTTTGTCGCTGTTACGCACCTTCAGCCAGGTTTTGAAAC
+CGTAGAAGATGATGCTGTACACCACAATCAGGAACAGAATACTCAGGCCTGCGTTGGTGTAGTTGTTCAC
+AACGATGTGGTTCATGTTGGCAATCTGCTGCGCCGTCAGGTCAGTACCGTTAGCAATCTTCTCTTTGTAC
+TGGCTTGCCATGTAGAAGAAGCCTTCCATCTGCGGGTTGGTACTGAACAGTTTCAGGCCCAGCGCCCAAG
+TGGTGCAGATAAGCAGGCATACTGCCGGGATAACGGTAACCCAGATGTATTGGGTGCGCCTCATCTTAAT
+CAGCACAACGGTGCCCAGTACCAGCGCTACGGCTGGCAGCATCTGGTTGGAGATACCGAACAGCGGGCAC
+AGGCTCTTAACGCCGCCCAGCGGATCGACCACGCCCTGATACAGGAGGTAGCCCCACAGACCCACACAGG
+CCGCAGTACCGATGATACCGGCAACCAGAGAGTCGGTTTTTTTCAGGAACGGGATGAAGTTACCCAGCAG
+GTCTTGCAGCATAAAGCGGCCAGAACGGGTACCCGCATCCAGCGCGGTCAGGATGAACAGGGCTTCGAAC
+AGAATACCGAAGTGATACCAGAAGCCCATGTCAGCCATCGGCAGCACTTTGTGGAACACGTGAGCGATAC
+CTACCGCCAGCGTCGGCGCACCACCTGCACGGTTCAGGACAGAAGGCTCACCAATGTCTTTCGCGGTTTG
+CAGGATCTGCTCTGGCGAAATCACGAAGCCCCAGGAGCTGACGGTCGCTGCCGCGTGTGCGGTAACGTCT
+TTCAGCTGCGCCATGATGATCGGCGCGTTCTCGCCACCCATTTCATGCAGGTTAGGCATGGTGATGCCGA
+GGCCAGCAGGCGGGGTGTTCATCGCGAAGTAAAGACCCGGTTCGATGATGGACGCAGCAACCAGCGCCAT
+AATCGCCACGAAGGACTCCATCAGCATTGCGCCGTAGCCGATGAAACGCGCGTCGGTTTCATTAGCCAGC
+AGTTTCGGCGTCGTACCGGAAGAGATCAGCGCGTGGAAGCCAGATACCGCACCACAGGCGATGGTGATGA
+ACAGGAACGGGAACAGAGCGCCTTTCCACAGCGGGCCAGTACCGTCAATGTACTGGGTCATGGCAGGCAT
+TTTCAGTTCCGGGTTCAGCACCACGATACCCAGCGCCAGGCCGACGATAACGCCGATTTTCAGGAAGGTT
+GCCAGATAGTCGCGCGGTGCGAGGATCAGCCACACTGGCAGCAGTGCGGAAATAAACGCATAGCCAATCA
+GCGCGAAAGTAATGGTGGTGTCTTTAAAGGTCAGTGCCGGACCCCAGTACGGATCGTGAGCAATCACGCC
+ACCGAAGTAGATAGAGGCAACCAGCAGCACGATACCAATGACAGAGACTTCACCCACACGCCCCGGACGA
+ATAAAGCGCATGTAGATACCCATAAACAGCGCAATCGGTACGGTTGAGCAAACGGTGAAGACACCCCACG
+GACTTTCGGCCAGGGCTTTAACCACAATCAGCGCCAGGACGGCGAGGATGATGATCATGATTAAGAAACA
+GCCAAACAGCGCGATAGTCCCCGGTACTGGCCCCATCTCTTCTTTGATCATCTCACCAAGAGATGCGCCA
+TTACGGCGAGAGGAGATAAACAGCACCATAAAGTCCTGAACCGCACCGGCCAGCACTACCCCCGCCAGCA
+GCCACAGCGTGCCAGGCAGGTAGCCCATCTGCGCGGCGAGAACCGGACCCACCAGCGGACCAGCACCGGC
+GATAGCGGCGAAGTGGTGACCAAACAACACGTAACGGTTGGTCGGAACGTAGTTCAGACCGTCGTTGTTA
+ATAACCGCAGGCGTCGCGCGCGTGGGGTCGAGTTTCATTACCTTCTGGGCGATGTACAGACTGTAGTAGC
+GATACGCCACCAGATACACCGACACAGAGGCGACCACGATCCACAGGGCGCTGACGTGCTCCCCCCGACG
+TAATGCAACTACCGCGAGGCAGAATGCACCGATGATTCCGAGAATCACCCAGGGTATGTGCTTGAATATC
+TTTTTAGTATCCATAGTAAAACCTGGCATGTATTGATTAATAGTTGGCCGAAGCCGTTCTAGGTTTGCGT
+TGCGTTTGAGGAGGTAAATTGACCGCTATCCTGCAGTGATGTTGCCAGAGTTACGCGCGCGTAAAGTAAG
+GTAAATAACTGAGTGGTTATTTTAGGGACGTAAGCGGTCAGGAATGGCGGTGAGCGGCAAAGGCGTCGTT
+TAAGTGACCATAAATATGTGATTTATATCACATATTTATATTGCGAATAATTTATGTAAATAATGGCTTT
+TTAAATTCAGAGGGTGAATAAAATTACTCGGCGTCATCTCCGCGGGATTTTCATAAAGTTTTTCCTTTCC
+AGGCCGAAAATCTTGCATCGGTCCACAGGAAAGAGAAACCATGTTAAAACGTATCAAAATTGTGACCAGC
+CTACTGCTGGTTTTGGCCGTTTTTGGCCTTTTACAACTGACTTCAGGCGGTCTGTTCTTTAATGCCTTAA
+AGAACGACAAAGAAAATTTCACTGTTTTACAAACCATTCGCCAGCAGCAATCCACGCTGAATGGCAGCTG
+GGTCGCGTTGTTGCAGACGCGTAACACCCTCAACCGCGCGGGTATCCGCTACATGATGGATCAGAACAAT
+ATTGGTAGCGGTTCAACCGTTGCTGAGCTGATGCAGAGTGCCAGTATTTCGCTGAAACAGGCGGAAAAAA
+ACTGGGCGGATTACGAAGCGTTGCCGCGTGACCCGCGTCAGAGCACCGCCGCAGCGGCAGAGATCAAACG
+TAATTACGATATTTATCACAATGCGCTGGCGGAGCTGATACAACTGTTAGGTGCAGGCAAAATCAACGAG
+TTCTTTGATCAGCCGACCCAGGGATATCAGGACGGTTTCGAGAAGCAGTATGTGGCTTACATGGAGCAAA
+ACGATCGGCTCTATGATATCGCCGTCAGCGATAACAATGCCTCCTACAGCCAGGCGATGTGGATTCTGGT
+AGGCGTGATGATCGTCGTACTGGCGGTCATCTTCGCCGTCTGGTTCGGTATTAAAGCCTCGCTGGTCGCG
+CCAATGAATCGCCTGATTGACAGCATTCGTCATATTGCAGGCGGCGATCTGGTGAAACCGATTGAGGTGG
+ATGGCTCTAATGAGATGGGGCAACTGGCAGAGAGTTTGCGCCATATGCAGGGAGAGCTGATGCGTACCGT
+CGGTGATGTGCGCAACGGGGCCAATGCCATCTATAGCGGTGCCAGCGAAATCGCCACCGGCAATAACGAT
+CTCTCTTCGCGCACCGAGCAACAGGCCGCTTCGCTGGAAGAGACGGCAGCCAGCATGGAGCAACTGACCG
+CAACGGTGAAACAGAATGCCGAAAATGCGCGCCAGGCCAGCCATCTGGCGTTAAGTGCTTCCGAAACGGC
+GCAACGCGGCGGCAAAGTGGTGGATAACGTGGTGCAGACCATGCGCGATATCTCCACCAGTTCGCAGAAA
+ATCGCCGATATTATCAGCGTAATTGACGGCATTGCCTTCCAGACCAATATTCTGGCTTTGAACGCGGCGG
+TTGAGGCTGCGCGTGCGGGTGAGCAAGGACGCGGTTTTGCGGTGGTCGCGGGAGAAGTGCGTAATCTGGC
+CCAGCGTAGCGCTCAGGCTGCTCGTGAAATTAAAAGCCTGATTGAAGACTCGGTGGGGAAAGTGGATGTT
+GGCTCTACGCTGGTCGAAAGCGCCGGGGAAACAATGGCGGAGATTGTCAGTGCCGTGACCCGCGTGACGG
+ACATTATGGGCGAAATTGCTTCTGCTTCTGATGAGCAGAGCCGTGGTATCGATCAAGTTGGCTTAGCGGT
+TGCTGAGATGGACCGGGTAACCCAACAAAACGCCGCGCTGGTGGAAGAATCTGCCGCCGCCGCCGCCGCG
+CTGGAAGAGCAGGCCAGTCGCCTGACCGAAGCAGTGGCAGTGTTCCGGATTCAGCAACAGCAGCAACAGC
+AGCGTGAAGCATCGGCTGTGGTAAAAACCGTGACGCCAGCTACGCCGCGCAAAATGGCCGTGGCAGATAG
+CGAGGAGAACTGGGAAACGTTTTAACGTAATGATGCCGGATGAGTATTTCATCCGGCGTTTTTATTATTA
+AACCAGGAACAGTGAAATCGCCGGGATATATGTCACCAGCATTAGCATTAACAGTAGAGCCGCCAGTAGG
+GGCAGGGATTGTTTAAAGAAATTTCCCACCGAAACTTGCGTGATATTACATACCAGCAGCATCACGGTAC
+CTACCGGTGGCGTGAATGCGCCAATCGACAGGTTGAAGATCATGATGATGCCAAAATGCACCGGATCGAT
+GCCAAAGTGTTCGACCACCGGTTTTAATAGTGGTACCAGGATCAGCAAAATGGCGTTTCCTTCCAGAAAC
+ATCCCCAGCGTCAGCAGCAATATGTTGATAATCAACAGGAACATGTATTTGTTTTCGGTCAGCGAAGTCA
+CAAAATTCGCCACTGCGACACCAGCATGTTCCATTGAGAAAATCCATCCCAATGCGGCGCTGGCCATGAT
+TACCAGCATCACCGATGCGGTTGCGCGTGCCGTTTCGCCCAATGCTTTGACGACATGAGAAATCCGCATT
+TCACGATAGATAAAAAAGCCAATCGCCAGCACGATTAGCACCGCTACTGCACCTGCTTCTGTTGGGGTGA
+AAATGTTAGCGCGAATACCACCCACCACAGCAAAAATGAGGAACAGCGCAGGCCAGGCCTGTCCCAGCGA
+GAACACCACCTCTTTGCCCGTAGGCCAGCTTTCACGCGAGGGTTTAGCGTTAGTTTTGCGGGCGACAAGG
+TAGACGGTAAACATCAGTACGACTGCGCATAGCAAACCAGGTACCAGTCCGGCGATAAACATTTTTCCGA
+TAGAGACGTCGGCAACCAGACCGTAAATAATCAGGGCTATTCCAGGCGGTATGATCGGGGTGACTAACGA
+GCCACCAGCGGTAATGGCGGCGGCAAACGCGCGATTGTAGCCTTTACGCTCCATCTCCGGCACCATCATG
+CGCGACAGCATCGCCGCGTCAGCAAGGTTAGAGGCGCTGACGCCGCCCATCATGGTGCTGACGAGAATGT
+TTGCCACGCCCAGTCCGCCGCGCATTTTCCCCACCAGAACGTTGGCAATGTGCAGGATGCGTTCGGCAAT
+GCCGGTGTAGCTCATTAGTGTGCCGAGCAAGATAAAAAACGGAATTGCCAGCAATGATGGGCTTTGCGTT
+GGCGCGATTAGTCTTTGCACGGCAATTTCAATCGGTACGCTGGAGAAGAATAAAAAGTAAGCGATGATGC
+CAATAAACATCGCCAGATAGACCCGAATGTTGAGAAACAAACAGACGATCATTAGCGGAATAATCAATAA
+CCAACTCATTGCATTTTGTCTCCGCTATCGGATTGTTTTGTATCGTTTATTAACCAGTAGAGGGTATAAA
+TAGCCGTTGCCAGTGCGCCGACAGGGACCGCCAGATCGATCCAGAACCATGAAACCTTCAGAATTTGTGT
+CACTTTAAACTGCGCCATTTCGGCTAGTCGGTAGCCCAGCCAGGCCATATAAAGCAGCAGTGCGATGGAG
+AGAAGGGCGACCAGTACTGCAATAACACGCCTGAGTTTGCCTGGAAGCATCTCCATCAGGAAGGGAATGG
+TCAGGTGCGCCCTGTCACGTTCCGCCACCACTCCACCTAACATCACCACCCAAATCATCAGCATTCCCGA
+CATTTCTTCTGTCCATTGAAGCGGTTGGCCGATGAAATAACGCATAAATACCGCTCCAATTGTCACCACA
+ACCAGAACGAATAGCGCAAAGGCAGCACTAAATTCTGCCACTTTGCCAAAAAGACGCATGAAACCTCCTG
+TTAGTGCGTGTCCTGCCTAAGAGAGATGAGGCAGGACGCTGAGCATTAATGCTTATTGCAGTTGCTGTTG
+AATGGTTTCGTACAGACCTGGTGTCCATTCCGGGAATTGAGAGTAAACTTCGCGTGCTTTCTTCTGGAAT
+GGTCCAGTATCGGGATAGATCACTTCGACGCCGGCTGCCTGCATGGTTTTCAACATTTCGGCATCACGCT
+CAAGAGTGAGTTTCTGGCTATAGACACCCGCTTCATAGCCGGTCTGGTGGATCATCTCCAGTTGTTCTGG
+TGAAAGGGTGCTAAAGAAGGCTTCACCACCTATCCACACTGAGGTATTTGTCAGGTAGTTAACCATTGTC
+AGATATCTTGCCTGCTCATACAGTTTTTGCCCTTGCAGCACTGAAATTGGGTTTTCTACGCCGTCAATAA
+CGCCCTGGGTTAATGCGGGATAAACTTCGCCTAATGGCATGGGAGTTGGTGTTGCCCCCATCGCCTGAAT
+GGCTTTTATTTGCATGACGTTATTAGGAACGCGAATTTTTAAACCTGCGAGATCGTCAACGGTGCGAATG
+GGCTTTTTCGAAATAATCTGTCGAGTGCCATAGAGATAATTATTCATTACCACATGAATTCCCTTTTTCT
+TCAGACTTTCATTTTTTTGTTTAAACCAGTCGCTTTCATATATTTTGAACAGTTTTTGCGGATCGTCAGT
+CAGATACGGTCCAAACAAAATCCCCAAATCGGGTTCATAATCGGCAAGAAAAGCCACATCACTCAAGGTT
+ATGACATTCATGCCCATCATGGCTTGCTCGGTGACATCCTGTTTTGATCCCAATTGGGAGCTGGGATAGA
+GCGCAAGTGTTATTTCGCCATTACTTTTTTTATTTAATAGGTCTGCCCAGTAACGCATGACCACATCCAG
+GGGTTCTCCAGGGTTATTTTCATAGGCAACTTTTATTGAAATAGGTTTTGCCTGGATTATTGACGGTAAA
+AAAAGGGTACTGACAGTAATTAGCATCGCTATTATTTTGCTCATCTTTACTTACTCCATGCTAAGGAAAT
+AAAACTCCAACATTGTTGTCGGGAGTGAAACCTTATGAAAAAGCAGTCATTACTGAAAAGTAGTCAGCGA
+ATAGCAGAATGGCTGCAGATGTATCATAAATTCGTGCACCGGGTAATACTTTGCTGCTTTTAATCGGTTT
+TTAATGCATTTTTTGATTGTATATCTTAAAGTTATGTAATGCATGACGTTACAAGGAACACCCTCTGATG
+AGTTTAGTTATCGCTGATAAGATCTCTTATTCGGTTGATGATTTATTAAAAATAAAATCATTAATTTGGC
+TGCGGTTATTTTTAATTGTCAATACAGATAAAAACTAAGTGTTGACGCAGAATGGTGGTATCCATTAAAT
+TTATTTAGTGCTGATTTAATACATTTGTTGAACGTATAATTCATGCTGATATTAAAAGAAAGCCGTCATT
+CACTAAATAACTTGTTCGGCAAGGAAATCAGAGAGTAACGGATGATTCGTTACAACGGGGAAAGGCAGTA
+AATATTCACATGGTGAATTTGTTATCAACTTGAAAACTTATTTTACTGGGTTCCTTCTGATCATGTGAGT
+GAACGCAGTGATTAATGATTAACGTTAAGTGCTAACCAGAGCGCTTTTTATGAAGTTAAATTAATAATAT
+CCATTATTTATGAATGAGGAAGCCTGTTTATTATATGGAAATACTTTTAACAATTTTAATTCTTACGTTG
+GTAGTATCATTAACCAGCGTGCTTACACGTCTGTCTCCTGTCCAGATACCACTTCCTTTAATCCAGATTG
+CCGCTGGTGCAGTACTGGCCCAGCCTATATTTGGTCTGCATGTGGAATTCAATCCTGAACTTTTTCTCTT
+ATTGTTTATACCACCCCTGTTGTTTGCTGAAAGTTCAAAAATACAACCTAAAGAATTGATCAAGCACAGC
+CGGGAAATTATCAGCCTGGCACTTGTGTTGGTACTAATCACTATTTTTGGTGTCGGCTATGTGATTCATT
+TACTCTTACCGAATGTGCCGCTCATCGCTGCTTTCGCATTAGCCGCCGTGTTGTCGCCTACCGATGCCGT
+GGCGTTGCTGGGGATTGTCGGGAAAGGGCGTATCAGCAAAAACATCCAGGAAGTGCTCGAAGGCGAAGCG
+TTGATGAATGATGCTTCCGGCCTGGTGGCGTTGAAATTTGCTGTTGCAGTGACGATGGGAACGATGGAAT
+TCAGCGTTCATGGCGCAACCATTGCGTTTTTTGTCGTTGCGTTGGGCGGTATTGCCGTGGGGATCGCTGT
+TACCTGGTTATATGGTAAAGGGCTGCTGTTGATCAGCCGATATGCTCACGATGAACCTTCCATTCAGATT
+GTATTGATGCTTCTGTTGCCGTTTATTGTTTATCTGGTTGCGGAACATTTTGGCTTATCTGGCATTCTTG
+CCGCTGTCGCCGCGGGGTTAACAACCAGTCGCATTGGCGTAGTCCACCACGCGCCTATTCGCCTGAGAAT
+TAAAGCTAAAAGTAGCTGGTCGATGCTTGAATATGTCTTTAACGGCATGGTGTTTCTGATTTTAGGCTTA
+CAACTGCCGGGCATTATTTCGGAATCACTGATCCGTGCAGAAAACGATCCACTGGTGGACACCGGATCTC
+TGCTCCTTGATGTCATTTGGATCTACCTGGCGTTAATGGTTGTGCGCCTGGGCTGGCTTTGGCTGATGCG
+TCTGTATAGCCGTAAACGACCCGGCAAACATCCGATGCTGTTTGCTGGATATAAAACGCGTCATATGCTG
+CTGGCGACCTTTGCGGGGGTGCGCGGAGCTATCACGCTTGCGGGGGTGCTTTCTATCCCGTTATTGCTGC
+CGGATGGCACACCTTTTCCCGGGCGTTACTTGCTGGTATTTCTCGCTACAGGTGTGATCCTCTTTTCGCT
+GGTTTGCGGCATTATTATTCTGCCGTTATTACTGGGGAAAAATGTGGGGATTTTCAGCGATAACCGACAA
+AAAGAAGAGGAAGCTGCCGATCTGTTTATGGCTAAAATGGCCATACTGAGTGTGCAAAAGACCGAGCAAC
+GTTTGCTGCGCGCCAGAACAGAAAACCTCGATAACGAGTTGATTATGGAAACGGGGGCCAGAGTTATCGG
+TTATATGCGACATAGTGAAGAGGATATGTCGCCTAATGATAATTCCCTGCATATGCAGCGTGCGAAGCTG
+GAAAGAACATTTAATCTGGCGGCGTTAAATGCCAAACGCGCGGCTATTTACCAGATGCGCGCAAGGCAAG
+AAGTCAGTGATGAAACACTGGCAAAAATAGTCAGTGAATTAGATGTGCTGGAAACGTTAATCATGGATAG
+CCGATAATTTTATCGCTGCCAGTAATAGGGAATTAAATGATGGCTGAGAGTAATACTTCCAGCATCGTTT
+ATTCCCTATGTATTTCCTTATGGGCAGAACAATCGCCTGGATTAATACTGCATTAATACAACATAGTGAT
+ATAAACCAAGAATCAATGTTTTTAATCTGTACTTAATTTATCGGTGATGTTGCCTGATGGAACGAATCAT
+TGATTGTTTGGCGGTATCCAGATGGTTTCGCAACGCCGTTATTGCATCTAAATCGCTACGGCAAATCAGG
+GCGCTGAGAATGGTCATATGTTCATCAACAGCAATGATATTGCGCTGTTTGAGATCGCTTTCATCCCATT
+GATAGTGAAAATGAAAGATCACCGATATAATTTCAAGTGATTGATTAAAAAAGATGTTGTCAGCAGCGGA
+TAACAGCATGGCATGAAAATCACGGTCTAATTGAGAAAACATTCGAAAGTTGCTGCCAATGCTGTCGCGC
+AGCGTCCGGTGGCGTTCGAGCATGGTTTTTGCTTGCAGCCAGCGAGGGTCATCATCGGGAAGGTTGAGAA
+AGTGTTGCAGGGAATGTGTTTCGAGCATTTCGCGTAGCTCAAACAGCTGCTCGGCGTAGGATTGATCGAA
+CTGCTTCATGCTCCATTGGCCGCGCTTTTCGCTTTGAATAAGATTATAACGACCGAATTTCAAAAGATAT
+TCTCGTACCACTACCGGACTGACGCTTGCCGCTCGCGCCAGCTGAAGTTCGGAAAAGCTTTCTCCGGCGC
+GTAACTGGCGCAGGTTAATCATGGTGAAAAATGCCTGCTCGAAAAGACGGTTTTGCTCTTTCAGCGAGGC
+CGTGATGCAATCAAATCCATCGTTCTGTTCGGGTTTGCGGGCGATAACATAATTTTTCCCCACCAGGGTG
+AGCACGCCACATGCGCTTAAATGCTGGAGTATGTGGCGTACCGTAGTGCGACTGATGTTATACATTTCTG
+CCAGTCCGCTTTGTGAAGGCAGCGGAGAAGGAATATTGCCCCTCGCCATATCTTCAATCACCTGATTTAT
+GACGCTATGACGTAAATTCTGCGAACGACTCATTCTTCCCTCCAGTCCGGCATTAAAAGCCGATTTAAAA
+CATTTTTATGCGCGATCATCCGCATATTTTATGGGTAAATTCAGGCGCTCTTATAAATTCGACGATATCT
+GAAAGTCATAAAATAAAAGGAGCGGTGAATCATGTCCACAATGAAAGTATTAATTTGTCAGGAAATAAAG
+AATTTAGTATGGGAAGTCCGGGAAAGACCGGTGCCAGGCGATAATGAAGCATTAATTAAAATTAAAACTG
+TCGGGATTTGCGGTACAGATATTCATGCCTGGGCGGGCAATCAGCCATTTTTCAGTTATCCACGCGTTTT
+AGGCCATGAAATATGTGGGGAGATTATTGAATCAGGAAAAAACATTCACAATTTTAATATCGGACAGCAA
+GTTGCGGTAATTCCGTATATTTCTTGTCAGCAATGCCCGGCGTGTAAAAGCGGTCGTACCAATTGCTGTG
+AAAAAATTTCAGTCATTGGCGTGCATCAGGATGGCGGTTTTAGTGAGTATTTGAGCGTGCCGGTGGCGAA
+CATTTTGCCCGCAGACGGTATTGACCCGCAGGCGGCAGCATTGATTGAACCTTTCGCTATTAGCGCTCAT
+GCGGTGCGTCGTGCAGCCATTGCACCCAGCGAGCAGGTGCTGGTGGTCGGGGCGGGGCCAATCGGTCTGG
+GCGCGGCGGCAATCGCTAAAGCCGATGGCGCGCAGGTGGTGGTGGCGGATACCAGTCCGGCGCGCCGTGA
+ACATGTGGCAACGCGTCTGGAATTACCTGTTCTGGACCCGTCAGCCGAAGATTTTGACGCGCAGCTGCGG
+GCGCAGTTTGGTGGTTCGCTGGCGCAGAAAGTGATTGACGCGACAGGTAATCAACATGCGATGAATAACA
+CCGTAAATCTGATTCGTCACGGCGGCACGGTGGTATTTGTCGGCCTGTTTAAAGGTGAGTTGCAGTTCTC
+CGATCTGGAATTCCATAAAAAAGAAACGACGATGATGGGCAGCCGCAACGCCACGCCGGAAGATTTCGCT
+AAAGTCGGTCGATTGATGGCGGAAGGGAAAATCACTGCCGACATGATGTTAACCCATCGCTATCCGTTCG
+CCACGCTGGCAGAAACCTACGAGCGCGATGTGATTAACAATCGTGAGTTGATTAAGGGCGTAATTACTTT
+CTGATAAGGCGAGATTATTCAAGTTGCCATGCAGCGTCCGGGGAAGTGTTGGGCGCTGTTTTTTTTCTGT
+TTCTCAATAATGTTTTGTAGGCCGGAGAAGGTGTGTAGGTCGCACCTTATGCGACCTACACATCAGTCAG
+GAATTACCCTTCACGTTCTACCACTTTAATTTCCACCATGCCGATCCCGAGCTTACGCGGCGAGTGCCCG
+AGGATATTCCCTTCGTTGGTTGAGACAGGTTCCGGTGGCACAATTACCAGTGTGTCGGCATCGGTTGGGT
+TATCGAAATGCAGTGTGGTGGTGGTCACTTCATTGCCCAGCACAAGGGCTTGTTCTTCATTGCCTACGCG
+TACCGGAATAGGACGGCTGGCGTTATTGCCGTATGCTTTGGCGGTAATCACCAGGTCAAATTTCTTCGGC
+AGCGGATGCTTGTACTCGATTTTTACTTCATCGCCCAGCTGTGCGTTGGACCAGCGGCCCCACGACTCTG
+GACGAGAAATCCCGCTAAACTGTTTCACCTCTTCTGGCGCACCAGCGACGTTAAAGATGAAACTGTCGGC
+TTTGTAGCGAATATCGTTATCAACAATCTTTAGCGTATCGACATTGCCTTTGTAACGCGCCATGTCGATG
+ACCGTATCTTTAAATGCCGTTTTGCCCTTCCATATTGCTTTGTCAACATGCTGAACAATTTGCTGACCGC
+CAAGCTGCCCTTGCGAGACACACCAGTCGGTGGAGAGTGCCAGTTCCGGAGCCCAGAGTTGTGCCATCTT
+GTAGCAACGGTCAACCCAGACGAAATTGTCGCGTGGAGCGAAATCTGCCAGCTGGAAACGCAGCGGTGCT
+GAGTATTCGCTTTCCGGCAGCGGTTCCACGCGTTTGTCTGAAACCCGCAACAGCAGCGGCAAACGGAAAT
+GGCTACCTGAGAAGGCAATCATGTTTTTCTGCTGGTCGATGGTGAACTCTTTCATCTCTTTAGGGAATTT
+CCACAGGCGGATGATATCCGGCTTCCACGCCAATGTTTTCTCTTTGATATTGAGGAAGATTTCCGACATC
+GACTGCCCGGATAAACTGCTACGGCCAAGTCCGAGATAGTTATCGCCACCGAGAATGTCCAGCACCGTCG
+CGCCGTTATCCATCGTATTACGCTTCACTGCCAGCGTCTCTTGCTGCGGCTTGTCGCCACGGATGACAAA
+AAACAGGTTATTGCGATCCTGCTTATTAAGGTATTTCCACGCCGTATTGTTCATCGCTAAATGGTCAGAA
+GAGACGACGATGACGGTATCTTTAAACCACGGTGACGCTTTGATTTTGTTGATAAACGTCGCAATATTCT
+CCTGGCTGCAACTTACCGCGCTGAATGACTGATTCGGCTTACCGTCAAAATCATATTTTTTGCGGTTACA
+GGTGCGCGAGATAAAACCATCCGGGTGATGGGTATCGACTGTCAGGGTAAACAGTGAGAATCGCTGACCT
+GAGCGGGAAAGCTCTTCAAATTTTTTCCACGCTTCATCGAGAACGGTATCGTCGTAGAATCCCCAGTCGT
+TGCGATAGTGCGGGTCGGCCACCACACTTTTCAGCTCTTCTGAGCCGTATAAGTGGTCGAAGCCATGCGA
+CTTCAGGAACACATCTTTACCGGCAAAACGCAGATTCGCGCCCTGCACGAAATAGTTCTGATAACCCGAG
+TTTTTCAGGATATCGCCCAGACAGATGTTCTGCGGGAAGAAGCTGGAGACAGAGGCGGAGGCGTTGCCTT
+CAAATGGGGCAAACAGCGGTATGCCGCACTGAGAAGCCACCATGCCCGCAATCGTGTAATCCGTTCCTGG
+CAGCTGCTGCGTGTGGCTGAAATCCAGGCCTTCATTTTTCAACGCGCCCAGTTCAGGCGTGAGATCCGGG
+AAAACCTCGTTATCAAAATAGGTCCGCTCGAGACTTTCGCCGTAGATATAAACCAGGTTGAGTTTCGGGT
+CAGGGATAGTTTTCGACGGCTCTTTATAATAAGCCGTAAAGTCCGGGTCGCCGTCGCGTGACTGGGATTT
+CACCAGTTCCGTTATCTGACGAAATGCCGGGCTGGCATCCACTGAACCCAGCGCCAGTAAGAGTGCCAGC
+AGGCTGTAACCAAAATGGTGCGGATGATGGCGACGACGGCGCAGGATCCAGCCCAGCGCACCGAACACCG
+CCGCCAGCCCCAGCACAATGCCGATACCAGGCAGGATGTATTTGCTGACACCAGCACCGGTCAGGCTGTT
+GGTTAAGGTATAGAGAACCGCGTCGTTAATACCATCGCCAGTAAAATAGTCGCTGGCAAACAGGGTGATA
+TTTAAAACGACAAATAGCCCCAGTACCGTTAATGTGGCCGCAAACCACCAGGTGTTACGTCCCGCTTTCC
+ATGCGTAAATCAGCACAGAGGCGAGAAAAAGGGCGAAAGAGAGTAGTTCTGACAACGGGCGATCCTCACT
+AAACCGGGCCGTTTAGCCAACGTTTAAGCTTTTTGAGAAGCACAATGTAATGGCGTCGCCATATTGCTGC
+AATTCTAGTGTCAAAAAAATGCGATGTTGTTAGGAATTAGTTTATAAACAGACTTTTTTGATCGCGGTCG
+CTTCCCGTGTAACAGGGGTAAAACCGTCCAGGAGCAGGGAAAAGGGCAGGAGAGAGCCGCGTCAGCCGGG
+TAACAGCTAAAACGCGGCGTTTCGCGGTTCAGGAAATGAAGTTCAGCCCCTGCTTTAACACCAGATCGCA
+GGCTTTGGTTTTCACCTTTTCTGCCAGCGGAGTCGTTCCAATATTATCCAGATTGAGTTGCTGACCATCT
+TTGGTTTTCAGCAAACCCTGAATGCCATCCAGATAGTTGGTGTCTTCTTTTTGCTCTTCACTGTTCAGGC
+CCAGTTTTTCCAGTACCTGATTCTTGATGTTTTCGGCATCGGTTACCGAAGCCAGCTTTTGCTTCGCGCA
+GTATTGCAGAATGCCTGCGGCGTTGTTCATGTTATCTGCGCTTAAGGCCTGGTTCCCGCTGCTAAGCAAG
+TTAGTTAATGACGCGAGCGACCAACCGCCTTCCTGTGTCGTGTTGTTTTGGTTGCCAAGTTCGCTGGCGG
+CGCTGGAGAGCGCATCTTTCCAGGACGCAGCATGCACCCCGGTGGAAATTAATGCGCTGGCGGCAATGGC
+ACAGCACAGAAGATGTTTAATAGTTTTCATCATCATTACTCAAGGTTGAATTGTGTCGCAGTATACCGCC
+AGAAACGGGGATTAATACTCTTTACCTGTTACACGGCTACGGTAGCTATCCCAGTTAAAGATCACCCACA
+AACTGTTACCCAGGCGCATACGGTCCATCACGCGTTCGCCCAGCAACTTGGTCATCTCTTCCATATTACT
+GTTGGTCAGCATCCCGGTTGGGCGTTTGGAAGAAGAGCGGCGATCGACGATCTGGTTAATGATCACTTTT
+TCGTATTTCGATTCGGTCTGCACGCCGATCTCATCGATCACCAGCAGATCAACGTTACTCAGATCGTTAA
+GCAGTTGTTCTTCGCTGGTACCGCTATTCCTGAAGGTATCTTTCATCGCCGACATAATATCGGCCACGGT
+GATGATCAATACGGATTTACCGCGTAGCAGCAGCTCGTTGCAGATTGCCGCCGCCAGATGGTTTTTGCCG
+GTTCCTGGCTTACCAGAAAAGATGAAGCTGGCGATGTTGCCGTCAAACTCTTCGACATACTGGCGCGCTT
+TGCTTAACGCATTCATTTGCCCTTCACACTCAACGCGATAGTTCTCAAAGGAGCAGTTCTGATGCAGTGG
+ACGAATACCGGAGCGGTTAAAGGTGCGCTGCATTTTCATCGCCCGATTTTCACGTTCGAGAGCGGCGGAG
+CGGATCGCCCCTTGTTCTTTCTGCCAGGCCAGTAGTTCTTCACCCGTTTTGAAAGCAGGTTTGATATGGG
+CAGGCATCATTTTTTGCAGGCGTTGCATCAGGTCGCCAACGTTTTTCATCGTTACCCTCTGAATCCTGGT
+GGAATTTGGCTGTCAGGTTCACTGACCGTATTCACATCTCGTTTCGGCAGTCCGCCGTTGCTGGCACGAC
+CGATTTGCAGGCTGCGCGCCAGTTTTTGTTGCCACTGCACATGGTGAAAGACTTTGCCTTCCGCCTGCCA
+GTAGGCAATGAATGACGCCAGTTCTTCGGCGGTCACCGGTTCTCTTAGTGCCACGCCCCATAGCGCCGCC
+AGGCGGATAAAGTCGGCATCGGGTTGCCAGTCCGGATACATGGCAAATTTCCCCATGGGTACGGCAACGG
+GAGCGGTTTGCGGTTCCTGATAGAGTTGATCGTCCAGGGCCACGTCACTTCCCGGACGCGCCAGCTTTTC
+TTCCAGCGCCAGCAGTTCAGCCAGGCGTGCAGGAGTGATGGCATAAAACGCCGGGGCATTGTTAGCAAAT
+ACGGCAACCACACCGCCTTCAGCTTTTGCCAGAACGGTTTGGTGATCGTGTACCAGGGCGTCAATACCAA
+CGACGTCCGGGGTCAAAACTCTGGAAGACATACTGTTTCTCAAATATGGAACGATGAACGAGAAGGGAGA
+TAACTTTTATAGTAACACACGGAGGAGAGGAGGCTGTCTCTCATCCGCGTGCTTTAAGTGAGGCAATTTT
+ATACGCGAGGGCGCTTGCGGTACAACCATAATCCAGGAATGGAAAGACCGATGGATAACGCACCAACAAT
+CGATGAAGCTGTAAGAAAGTTGGTTAACAGGGTAATCATCAACGGTTCGCTGTAACCTAGCTGGCTGATT
+TTTACCGCCGAAATCATTGCGGTATAAGCTGATATGCCAGGGAACATAGGGATAACAGCCGCCACGGTAA
+ACACTTTCGGATGCGCCAGATACCAGCGCGACCATTGAATACCAATGGTGCCGACCAGCATAGAGGCCAT
+AAAGGTTGACCATTCAATATTCAGCCCGCTGGTCATTAAGATCATTCGGGAACCATGACCTATCGCACCA
+AGCAGCGCACACCAGCGTAACGCTCGAACGGGAACGTTGAACACCATCGCAAAGCCGACCGCAGGAATGG
+CGGCGAGGATCATATCCTGCGCCAACGCTAACAGAAATTCGATCACACCCATCCGCGTAGCCCCCAAATC
+GTCAGTGCCATTACTACGCCGACACAGGTAGCCAGTGTCAGCAGACTGGCGATCGCCCAGCGTGCCAGTC
+CGGTATTGATGTGGCCTTTAAACATATCGGCGACGGCATTTATCAACGGAAAGCCCGGCACCAGCAGCAG
+AACGCTGGCGGCCATCGCAATGGTGGGGGTATTGCTGAAAGTGGGAAGTTGCAAAAGCAATCCGGAAATG
+GTGGTGGCGGCGAAAGCGGTGAGGCAAAAGTTGATCTGTGGATGAAGATGACGTTGTGCCAGCAGCTGGC
+GGATATACATCGCGGCCGTACTGGCAAAGAAGGTGATGACGGCACCATCCCAGCCACCTTTATTGAGTTT
+ACAGAAACAGGCGCAGGAAAGGCCAACCATTAAGGCTACCAGCCATCTTGGGTAACGTAATGGCTGAATT
+TGGCTAAATCGTTTCTCTACGCCTTTGTAATCCAGCAGATGATGCTCCGCCAGAATTACAATGTGCTGGA
+CTTCAGTCACCACATGCATATTAATGCCGCGATCGTGATTTTTACGTGTCGATGTCAGGCATTGCCCATC
+TTTAATGGTTGTCAGCACTATGGCGTTCGAAGAGATAGAACTTTCGACGCTGTCCATTCCCAACGCCCGA
+CCCAGTCGTGAGGAAAGCTCATCAACCAACGCGCTTTCCGCACCATGTTGCAAAAGAAATAATCCACACT
+GGATACAAAGCCGTGTTACGGCTCGCTGTTGCTCAGTTTGCATAACTCGCCCTTTGTCATAGACGTGCTG
+CGTATTGTTCAGATAATGAGAATCCATTTGTATCATGAAGCACGGTTGTTTTGCGGTAGGTTAAGATCAA
+AATTGCGCTGATTAATCCTGGTTATCGGGAGATGCTCGGTGATAAAAAGCGAATTATCTCTCGCCGTAAA
+CAAACTATCGCATGAATATTATCACTATAATGAATTTGTTATTTGGCCTTTACGAGTCAGGATAATAGAT
+AGCTGGGCGCGTTTTTTAATGTTAACAAGTTAAAACCATCAGATTTTATTGAATAAATATTGATTGTGTG
+ATTCCCGCATTCTGAGGGAAGAGATATCATTTAATTATAAATTAAATGAATGAGATTTCTGTTTTTCATT
+AAGTATTTCTAACAACTTAATGTAGATATTTTAAATGTCTCCAGGCTATTTCACCAGGTTATCATTTGAT
+GCTAACCTTCTGACACATGCAGTGGAGTTGTTGTGCAGCAGGAGTATGCTGATATGAAAGTGAATGCTAA
+GGATAATTTATTCGCTTAATCTATTAATTTGCTGGGAATATTTAAGGAATGAATACCTTGAATAAACCAT
+CATGATTTTTAGACAGTGGATGTGGAGGAAATATGTTGCCAGGATGCTGCAAAAATGGAATTGTTATCAG
+TAAAATACCTGTTATGCAAGCAGGGTTAAAAGAGGTCATGAGGACTCACTTCCCTGAATATGAAATAATA
+TCCAGCGCCTCTGCGGAGGACCTTACCTTATTACAATTACGTCGTTCCGGATTAGTCATTGCTGATTTAG
+CCGGTGAAAGTGAAGATCCACGTTCCGTTTGTGAGCATTATTACTCTTTAATCTCACAATATCGGGAAAT
+TCACTGGGTTTTCATGGTGTCACGCTCCTGGTATTCCCAGGCAGTAGAATTGCTCATGTGCCCTACGGCG
+ACGTTATTGTCTGATGTTGAACCCATTGAGAATCTGGTCAAGACCGTACGTTCCGGCAATACGCACTCAG
+AGCGTATCAGCGCCATGCTGACCTCTCCGGCGATGACTGAAACTCATGATTTTAGCTATCGCTCCGTCAT
+TCTCACTCTTTCAGAGCGCAAGGTACTGCGGCTATTAGGTAAAGGATGGGGCATCAACCAGATAGCTTCA
+TTGCTTAAGAAAAGTAATAAAACTATTAGCGCCCAAAAAAACAGTGCGATGCGTCGACTGGCAATTCACA
+GCAACGCTGAAATGTATGCATGGATAAATAGCGCGCAGGGTGCAAGAGAACTTAACTTGCCTTCTGTTTA
+TGGAGATGCCGCAGAATGGAACACAGCCGAATTAAGAAGAGAAATGTCGCACTCATAGAAAAATGCGTCA
+TGAGTAGTATCGGTATTGAGAGTTTATTCAGAAAGTTTGCAGGTAACCCTTATAAGCTCCATACCTATAC
+CAGTCAGGAGTCATTTCAGGATGCCATGTCGCGGATCTCGTTTGCAGCGGTCATTTTTTCTTTTTCTGCC
+ATGAGAAGTGCGCGCAGAGAGGGATTATCCTGCCTGACTGAACTGGCGATTAAGTTTCCGCGTACCCGGC
+GTTTAGTTATTGCGGATGATGATATTGAAGCTCGGCTGATTGGTTCATTATCGCCATCACCGCTGGACGG
+TGTATTAAGTAAAGCGTCAACGCTGGAGATTTTTCATCAGGAACTCTTTTTGTCATTAAATGGTGTACGT
+CAGGCGACCGATCGACTGAACAATCAGTGGTACATTAACCAAAGCCGGACGTTAAGCCCGACGGAGAGAG
+AAATATTGCGCTTTATGTCGCGTGGCTACTCAATGACACAAATTGCCGAGCAGCTTAAACGCAATATCAA
+AACGATCCGTGCACATAAATTTAATGTGATGTCGAAACTGGGCGTCAGTTCTGATGCAGGGTTGTTGGAG
+GCCGCAGATATTCTGTTATGTATGCGGCATTGCGAAACAAGTAATGTGTTGCATCCTTATTAATCCGCAT
+GATGCCGGGTTTACTTCCCCGGCAGTGCTTTCATTTCAGCGTACAATCGCCACATTGCTGCACATCCGGT
+AAGCGATAACGCTGGCAGCAAGTGCGGCGCACCAGCAGGCCGTCGCGTAGCACCACGGTACGCCAGAGTG
+GATTATCTTCACCGGTAGTAAGCGTTTTCTCAAAAAAGAGGGCATAGCGCAGCGATTCAACCGTCGCCTC
+GCCGAGCAGCTGTTTCATCTCAGTCAGATACCAGTTGATCAAATAACCGGTATTGCTCCAGATAAGTTTG
+CCGTTAATCTCTCCCGTTGCTTCTAGTGCCTGCACAACCGGAACCAGCGCCTGGCTGATTAACGTTTCCA
+TTCGCTGCTGCGGCGAATGTAGTGTTGCGTTTTTATCTTCACACACATCGACCCAGAAACAGGCGGCGCG
+TCCGGTTTCGTGAAACTCAACGTGGACATGTTCCGGCGACACATCTAATGCTTTTTCCTGAGTCAGCAGC
+GCCAGCATTAATGGTGGTACCATCAGGCCGATATACCATTGCGCCCACAGTGAGATCAGCGGTTTGTTTT
+CGCGGATCATCAAAGGTTGGTTGCGGTAGATATGATCGGAATAGACCGCGAGTAGAGAACTTAGCGCATT
+AGGTGATGACCATTGCGCCAGCGTCATGGCGTTAAGTGGGGCGGGTTCATCCAGGCGGATAAACTCCAGC
+AAATGTTCACGATGTTCGGCGATCGTCGCCCGCACGGCTTGTGCAAGCCCAGCATCCTGCGGCTGGAGAT
+GCGTTCGCCAGATAACATCTTCATAGAGCGGTGCGGAACGATAGGCCATAATCGTGATAGTAATCTAAAT
+GATAATTATTGCTAATCCTATCGATAGGTTTACCCGATAGCAAGGGATTTCTCTGGCTTGCAAATGATAA
+AAATTATCATATGATATTAGTTATCATTATCAATGAAAGAGATGAAACCATGTTGCAACGTACGCTGGGC
+AGTGGCTGGGGAGTGTTGCTGCCGGGATTGCTGATTGCAGGGCTGATGTATGCGGATTTATCGCCGGATC
+AATGGCGGATTGTCATTCTGATGGGATTGGTATTGACGCCGGTGATGTTGTATCACAAACAGTTACGGCA
+TTACGTTTTGCTACCATCGTGCCTGGCGCTTATTGCTGGCATCATGCTGATGATAATGAATTTGAATCAG
+GGGTGATAAAACAGTGAAGAGACAAGAAAAGAAGTAAAGATAATTGGTGCGAGGGGGGGGACTTGAACCC
+CCACGTCCGTAAGGACACTAACACCTGAAGCTAGCGCGTCTACCAATTCCGCCACCTTCGCACAGTCATC
+TTACTTTTTTTGATATCGCCTCGTTTGGTGCGAGGGGGGGGACTTGAACCCCCACGTCCGTAAGAACACT
+AACACCTGAAGCTAGCGCGTCTACCAATTCCGCCACCTTCGCCCAGTGCGAGCAATATCAACGTGGTTTT
+TGGTGCGAGGGGGGGGACTTGAACCCCCACGTCCGTAAGGACACTAACACCTGAAGCTAGCGCGTCTACC
+AATTCCGCCACCTTCGCATACCATCAATTCTTAAAAAGAATTGCTACCACGGAGGCGCATTCTAGTGGTT
+TTCAGCTTTTCGTCAATAGTTAATTATCGACAGCGGTGTAATTGCTGGAAAAATGTCCATCAGCGAATTG
+TGGATAATTCGTTTGTCGGTCAGAGAAGGCGTGTACGCCGCATCCGACACGGTATGCGGCGACATATATC
+AGATACTCAACCTTTCTTCGCCTGGCGGGTCATAATGGCGCGATACACCTTGAAGCGCCCGGTTTGCGCA
+ATCACTTCGTGGAAACCAAATGTCTCATCCAGCACGTCCGGGTAAGGCAGGAAGGCGTTCGCTACAATTC
+GCAACTCGCCGCCGCTGTTCAGATGACGCACCGCGCCGCGAATCAGCGTTTGCGCGGCATCCAGGCTGGT
+TTGCATCCCATCGTGGAACGGCGGGTTGGAGATGATCATATCAAAACGACCTTTCACCTCGGAAAAGACG
+TTACTGGCAAAGACTTCACCTTCAACACCGTTGGTCGCAAGTGTTGCGCGACTGGCTTCTACCGCTGGTG
+CAGAAACATCACACAGAGTGAGGCGGATCTTCGGTGAATGGCGCGCAAAAGCAACGGAAAGCACTCCCGC
+GCCGCAGCCGACATCCAGCACTTTACCTTTCGTGTGTGGAGTTAGCGTCGAGAGCAGCAACTGACTGCCG
+ACATCCAGACCGTCGCGGCTAAACACGCCCGGCAGCGTTTTGACCGTCAAGCCATCGACGCTGTATTCGC
+CCCAGAATTTATTGGCATCAAATACCGGCTGCTTTTCCAGACGACCAAAATAGAGGCCGCAGCGACGGGC
+GCTGTCTACCTTATTCAACGGTGCATAATCGGCCAGCATCTGCTCGGCGCTGCGCACGCCGCTGCGGTTC
+TCGCCAACGACAAAAATATCCGTGCCCACCGGAAGCAGAGAAAGTAAATTCATCAACTGGAACTGGGCTT
+CCGGTTTGTTCTTCGGCCAGTAGTAGATCAGCGTATCGCAATCTGCGACGTCATCTGCCGTGGCGACCAG
+GCTAAAACGGGCGTTATCCCCCATCTGGCGGCTTAACACCTGCCAGTGGTGGAATTGCTGGGTATGAGCA
+CGGCTGGTCGCGGTATCTAAACGCGCGGGCAGGTCATCCTGTAAGTCTCCGGCAAACAGAATACGGCTTT
+GTTCGAAATCATCACTGTGACGCAGCAAGACTTCACTTGCCGGGGTAAATGCAGACATGGAATGCTCCTC
+AATTGATACTGGCGGCGATTATAGCCATATGTTGGCGCGGTATCGACGAATTTGCTATATTTGCGCCCCT
+GACAACAGGAGCGATTCGCTATGACATCCCGACGAGACTGGCAGTTACAGCAACTGGGCATTACCCAGTG
+GTCGCTGCGTCGCCCTGGCGCGTTGCAGGGGGAGATTGCCATTGCGATCCCGCCACACGTCCGTCTGGTG
+ATGGTGGCAAACGATCTTCCCGCCCTGACCGATCCTCTGGTGAGCGATGTTCTGCGTGCGTTAACCGTCA
+GCCCCGATCAAGTGCTGCAACTGACGCCAGAAAAAATCGCGATGCTGCCGCAAGGCAGTCGCTGCAACAG
+CTGGCGGTTGGGTACTGACGAACCGCTATCACTGGAAGGCGCTCAGGTGGCATCACCGGCGCTCACCGAA
+TTACGGGCAAACCCAACGGCACGCGCCGCGTTATGGCAACAAATTTGCACATATGAACACGATTTCTTCC
+CTCGAAACGACTGATTTACCAGCGGCTTACCACATTGAACAACGCGCCCACGCCTTTCCGTGGAGTGAAA
+AAACCTTTGCCAGCAACCAGGGCGAGCGTTATCTCAACTTTCAGTTAACGCAAAACGGCAAAATGGCGGC
+GTTTGCGATTACGCAAGTGGTGCTGGATGAAGCTACATTGTTCAATATTGCGGTCGATCCTGACTATCAG
+CGTCAGGGATTGGGAAGGGCGCTGCTGGAACATCTGATCGACGAACTGGAAAAACGCGGCGTGGCGACGC
+TATGGCTGGAAGTACGTGCCTCAAATGCTGCCGCCATTGCCCTGTACGAAAGTTTAGGCTTTAACGAGGC
+GACGATTCGCCGCAATTACTACCCCACCACGGACGGTCGCGAAGACGCCATCATCATGGCGTTACCAATC
+AGTATGTAAGACAAGGTGGAATAATGAAGTGGGACTGGATTTTCTTTGATGCCGATGAAACGCTGTTTAC
+CTTTGACTCATTCACCGGCCTGCAGCGGATGTTTCTTGATTACAGCGTCACCTTTACCGCTGAAGATTTT
+CAGGACTATCAGGCCGTTAACAAGCCACTGTGGGTGGATTATCAAAACGGCGCGATCACTTCATTACAGC
+TTCAGCACGGGCGGTTTGAGAGCTGGGCCGAACGGCTGAACGTCGAACCGGGTAAACTCAACGAGGCCTT
+TATTAATGCGATGGCGGAAATCTGTACGCCGTTGCCGGGGGCGGTTTCCCTGCTTAACGCCATTCGTGGC
+AACGCCAAAATCGGCATCATCACCAACGGCTTTAGCGCCTTGCAACAGGTACGTCTGGAACGCACGGGCC
+TGCGTGATTACTTCGATTTGCTGGTGATTTCCGAAGAAGTTGGCGTTGCCAAACCGAATAAGAAAATTTT
+TGATTATGCGCTGGAACAAGCGGGCAATCCTGACCGTTCACGCGTGCTGATGGTTGGTGACACTGCCGAG
+TCCGATATTCTCGGTGGCATCAACGCCGGGCTTGCGACCTGCTGGCTGAATGCGCACAATCGCGAGCAAC
+CAGAAGGCATCGCGCCCACCTGGACCGTTTCTTCGTTGCACGAACTGGAGCAGCTCCTGTGTAAACACTG
+ATTGCCTCCCCCCCGTTGATGGGTAAAATAGCCGCAATTTTTCGTTTTCAACAAGCGCGGCGCGATGCCG
+CTTACTCAAGAAGAAAGAATTATGACGTTGTCTCCTTATTTGCAAGAGGTGGCGAAGCGCCGCACTTTTG
+CCATTATTTCTCACCCGGACGCCGGTAAGACTACCATCACCGAGAAGGTGCTGCTGTTCGGACAGGCCAT
+TCAGACCGCCGGTACAGTAAAAGGCCGTGGCTCTAACCAGCACGCTAAGTCGGACTGGATGGAGATGGAA
+AAGCAGCGTGGGATCTCCATCACTACGTCTGTGATGCAGTTTCCGTATCACGACTGCCTGGTTAACTTGC
+TCGATACCCCGGGGCACGAAGACTTCTCGGAAGATACCTATCGTACCCTGACGGCGGTGGACTGCTGCCT
+GATGGTTATCGACGCCGCAAAAGGTGTAGAAGATCGTACCCGTAAGCTGATGGAAGTTACCCGTCTGCGC
+GATACGCCGATCCTCACCTTTATGAACAAACTTGACCGTGATATCCGCGACCCGATGGAACTGCTCGATG
+AAGTTGAGAACGAGCTGAAAATCGGCTGCGCACCGATCACCTGGCCGATTGGCTGCGGCAAGCTGTTTAA
+AGGCGTTTACCACCTTTATAAAGATGAAACCTATCTCTATCAGAGCGGTAAAGGCCACACCATTCAGGAA
+GTCCGCATTGTTAAAGGGCTGAATAACCCGGATCTCGACGCTGCGGTTGGTGAAGATCTGGCACAGCAGC
+TGCGTGACGAACTGGAGCTGGTGAAAGGCGCGTCTAATGAGTTCGACAAAGAGCTGTTCCTTGCGGGCGA
+AATCACCCCGGTATTCTTTGGTACTGCGCTGGGTAACTTCGGCGTCGATCATATGCTGGATGGCCTGGTG
+GAGTGGGCGCCTGCGCCGATGCCGCGTCAGACCGATACCCGTACCGTAGAAGCGAGCGAAGATAAATTTA
+CCGGCTTCGTATTTAAAATTCAGGCCAACATGGACCCGAAACATCGCGACCGCGTGGCGTTTATGCGCGT
+GGTATCCGGTAAATATGAAAAAGGCATGAAGCTGCGCCAGGTGCGCACCGCGAAAGATGTAGTGATCTCC
+GACGCGCTGACCTTTATGGCAGGCGACCGTTCGCACGTTGAAGAAGCGTATCCGGGCGATATCCTCGGCC
+TGCACAATCACGGCACCATTCAGATCGGCGATACCTTTACCCAGGGTGAGATGATGAAGTTCACCGGTAT
+TCCGAACTTCGCGCCAGAACTGTTCCGTCGTATCCGCCTGAAAGATCCGCTGAAGCAAAAACAGCTGCTC
+AAAGGGCTGGTACAGCTTTCCGAAGAGGGGGCAGTGCAGGTGTTCCGTCCGATCTCCAACAACGATCTGA
+TCGTTGGCGCGGTTGGTGTGCTGCAGTTTGATGTGGTGGTAGCGCGCCTGAAGAGCGAATACAACGTTGA
+AGCAGTATATGAGTCAGTCAACGTTGCCACCGCCCGCTGGGTAGAATGTGCGGACGCGAAGAAATTCGAA
+GAGTTCAAGCGTAAGAACGAAAGCCAACTGGCGCTTGATGGCGGCGATAACCTCGCTTACATCGCTACCA
+GCATGGTCAATCTGCGCCTGGCGCAGGAACGTTATCCGGACGTTCAGTTCCACCAGACCCGCGAGCATTA
+ATTCTAGCCTCCAGGGCGCGGTAGCCGCTGCGCCCTGTCAATTTCCCTTCCTTATTAGCCGCTTACGGAA
+TGTTCTTAAAACATTCACTTTTGCTTATGTTTTAGCTGATATCCCGAGCGGTTTCAAAATTGTGATCTAT
+ATTTAACAAAGTAATGACATTTCTGACGGCGTTAAATACCGTTCAATGCGTAGATATCAGTATCTAAAGC
+CGTCGATTGTCATTCTACCGATATTAATAACTGATTCAGAGGCTGTAATGGTCGTTATTCATCACCCATC
+GCTTTTGTGATGGCGACCATTGACTTCTGTAGAGGGTGAAGTCTCTCCCTATTCAGCAATGCAACCTCGT
+GTTGCCAGGCTCAAATTACGAGCAAACATACAGGAATAAATCGATGACTATGACAAGACTGAAGATTTCG
+AAAACTCTGCTGGCTGTAATGTTGACCTCTGCCGTCGCGACCGGCTCTGCCTACGCAGAAAACAACGCGC
+AGACTACCAATGAAAGCGCAGGGCAAAAAGTCGATAGCTCTATGAATAAAGTCGGTAATTTCATGGATGA
+CAGCGCCATCACCGCGAAAGTGAAGGCGGCCCTGGTGGATCATGACAACATCAAGAGCACCGATATCTCT
+GTCAAAACCGATCAAAAAGTCGTGACCCTGAGCGGTTTCGTTGAAAGCCAGGCTCAGGCCGAAGAGGCGG
+TGAAAGTGGCGAAAGGTGTTGAGGGCGTGACCTCTGTCAGCGACAAACTGCACGTTCGCGACGCTAAAGA
+AGGCTCTGTGAAGGGCTACGCGGGTGACACCGCCACCACCAGTGAAATCAAAGCCAAACTGTTGGCAGAT
+GACATTGTCCCTTCCCGTCATGTGAAAGTTGAAACCACCGATGGCGTGGTCCAGCTCTCCGGTACCGTAG
+ATTCTCAGGCACAGAGCGACCGTGCTGAAAGTATCGCCAAAGCGGTAGATGGTGTGAAAAGCGTTAAAAA
+TGATCTGAAAACTAAGTAATTCGTCGTAATTCGACCTCCCGAACTTTGTCGGGAGGCGCGATGTGCACCA
+CACTAAAAATATCGCATTGAGTGATTTTCACGCTCATATCAAGCGGTGACATTAACTATGGTAAAGGAGA
+CGCTTATGTTTCGTTGGGGCATCATATTTCTGGTTATCGCGTTAATCGCCGCCGCACTTGGGTTTGGTGG
+TCTGGCCGGTACTGCTGCAGGCGCAGCTAAAATTGTCTTTGTCGTCGGGATTATTCTGTTCCTGGTGAGT
+TTGTTCATGGGCCGAAAACGACCCTAGATTTCAGACCATTAAGAAAATTTTATCCAAAGCCAGTCCAGCG
+GACTGGCTTTTGCGGTTTTAGCGAATAATAAATTGCGTTACTTTGTCATTCTTTCACAACAAAAACAGGA
+AGGCAGAGGTGGGGCAGCGAATACCTGTAACGCTTGGTAATATTGCGCCGTTGTCGCTAAGGCCGTTCCA
+GCCTGGACGGATTGCTCTGGTGTGCGAAGGCGGCGGACAACGTGGAATTTTCACGGCTGGCGTGCTGGAT
+GAGTTTATGCGCGCGCAGTTTAATCCTTTCGATCTTTATCTCGGCACATCTGCCGGGGCGCAGAACCTCT
+CGGCGTATATCTGCAATCAGCCCGGTTACGCGCGCAAAGTCATCATGCGTTACACCACAAAACGCGAATT
+TTTCGATCCATTGCGCTTTGTCCGTGGAGGAAATCTTATCGATCTCGACTGGCTGGTGGAGGCCACCGCA
+AGCCAGATGCCGTTGCAAATGGATACCGCAGCGCGGTTATTTGACAGCGGCAAATCGTTTTATATGTGCG
+CCTGTCGTCAGGATGACTATGCGCCGAATTACTTTTTGCCAACTAAACAAAACTGGCTGGATGTGATTCG
+CGCCTCCAGTGCGATACCTGGCTTTTATCGTAGCGGAGTGTCGCTGGAAGGTATTAACTACCTGGATGGT
+GGGATCAGTGATGCGATCCCGGTTAAAGAGGCGGCAAGGCAGGGAGCAAAAACGTTGGTCGTCATCCGCA
+CTGTGCCGTCACAAATGTACTACACGCCACAGTGGTTCAAACGCATGGAACGCTGGCTGGGTGACAGTAG
+CCTGCAGCCGCTGGTCAATCTGGTGCAGCATCATGAAACCAGCTATCGTGAGATTCAGCAATTTATTGAG
+AAACCACCGGGCCAGCTGCGGATATTCGAAATTTATCCGCCGAAGCCATTGCATAGTATTGCGCTCGGCA
+GTCGGATTCCGGCGCTGCGTGAAGACTATAAACTTGGGCGTTTATGTGGGCGTTATTTTCTGGCAACGGT
+CGGTAAATTATTGACTGAAAAAGCGCCGCTGAGCCGCCATCTGGTGCCGGTGGTGACGCCGGAGTCGATC
+GTTATTCCGCCTGCGCCAGTCGCCAACGATACGCTGGTTGCCGAAGTGAGCGACGCTCCGCAGGCGAACG
+ACCCGACATTTAACAATGAGGATCTGGCTTGATTTGCCGTTTTATCGACACCCACTGCCATTTTGATTTC
+CCGCCGTTTAGTGGCGATGAAGAGGCCAGCCTGCAACGTGCGGCACAAGCGGGCGTAGGCAAGATCATTG
+TTCCGGCGACAGAGGCGGAAAATTTTGCCCGCGTGCAGGCGTTAGCGGAAAAATATCAACCGCTGTATGC
+CGCATTGGGCTTGCATCCTGGTATGTTGGAAAAACATAGCGATGTGTCTCTTGATCAGCTACAGCAGGCG
+CTGGAAAGGCATCCGGCGAAGGTGGTGGCGGTGGGGGAGATCGGTCTGGATCTCTTTGGCGACGATCCGC
+AATTTGAGAGGCAGCAGTGGTTACTCGACGAACAACTGAAACTGGCGAAACGCTACGATCTGCCGGTGAT
+CCTGCATTCACGACGCACGCACGACAAACTGGCGATGCATCTTAAACGCCACGATTTACCGTGCACTGGC
+GTGGTTCATGGTTTTTCCGGCAGCCTGCAACAGGCCGAACGGTTTGTGCAACTGGGCTACAAAATTGGCG
+TAGGTGGGACTATCACCTATCCACGCGCCAGTAAAACCCGCGATGTCATCGCAAAATTACCGCTGGCATC
+GTTGTTGCTGGAAACCGACGCACCAGATATGCCGCTCAATGGTTTTCAGGGGCAGCCTAATCGCCCTGAA
+CAGGCCGCCCGTGTGTTTGCCGTGCTTTGCGAGTTACGACCGGAACCGGCGGATGAGATTGCGCAAGCGT
+TGCTTAATAACACCTATACGTTGTTTAACGTGCCGTAGGCCGGACAAGGCGTTTACGCCGCATCCGGCCG
+TTGGCGCACAATGCCTGATGCGACGCTGACGCGTCTTATCATGCCTACAAGTCTGTGCCGAACCGTAGGC
+CGGATAAGGCGTTCACGCCGCATCCGGCAGCTGGCGCACAATGCCTGATGCGACGCTTGACGCGTCTTAT
+CATGCCTACAGGTCTGTGCCGATCCGTAGGCCACATCCGGCATGTCACAAATATAGCGCCGGAAATATTA
+ACCGGCTCACCCCGCGCTCCCGTAACGCATCAGCCAGTTGTTCCACATCCTCCGGCGTGGCGCTCGGCCA
+GCTTTGCGCCTCGCCATACACGCCGTGGGCATGAAACGCGTTCAGGCGTACCGGAACATCGCCAAGTCCC
+TTGATTAACGCCGCCAGTTCTTCGATATGTTGCAAATAATCCACCTGGCCAGGGATTACCAGCAAACGCA
+GTTCCGCCAGCTTACCGCGCTCTGCCAGCAAACAGATGCTGCGCTTGATCTGCTGATTATCGCGTCCGGT
+TAATTGCTGATGACATTCGCTCCCCCACGCTTTGAGATCGAGCATTGCGCCGTCACACACCGGGAGCAAT
+TTTTCCCAGCCGGTTTCGCTCAACATGCCGTTACTGTCCACGAGGCAGGTGAGATGGCACAGTTGCGGAT
+CGTTTTTGATGGCAGTAAACAGCGCCACCACAAACGGCAACTGGGTCGTGGCTTCGCCGCCGCTTACCGT
+TATCCCTTCAATAAACAGAACCGCTTTGCGGACATGGTTAAGCACCTCGTCCACGCTCATGGATTGCGCC
+ATTGGCGTAGCATGTTGCGGACACATCTTCAGGCAGGTATCACATTGCTCGCAGACAGCCGCGCTCCACG
+CCACTTTGCCGTCGACAATCTGCAACGCCTGATGCGGACACTGCGGCACGCACTCTCCGCAATCATTACA
+GCGCCCCATCGTCCACGGATTGTGACAGTTTTTGCAGCGCAGATTGCAGCCCTGCAAAAACAGAGCCAGA
+CGACTGCCTGGCCCGTCAACGCAGGAGAAGGGGATAATCTTACTGACTAAAGCGCATCTGCTGTTCATGG
+CTTATCACGCGCGGCTGGCGTTCCAGAATACGAGTGTTGCGTGCGGCTTCTTCTCCCAGCCAGGTGGTGT
+TGGTGCGTGAACCTTCGGCGCGATATTTTTCTAAATCCGACAAACGCACCATATAACCGGTAACGCGAAC
+CAGATCGTTACCGCTGACATTGGCGGTAAATTCACGCATTCCGGCTTTAAAGGCACCGAGGCAAAGCTGT
+ACCAGCGCCTGCGGATTACGTTTGATGGTTTCGTCGAGCGTCAGAATGTCGCTGATGCCGGAATAATAAT
+AAGCATGATGCGGGGCGACAGTTTGCAGATGGGTAATCGGATCTGGCTCATCACCATACGGCAAACGCGC
+GCCCGGCGTGGTGCCGATATCGGAACTTATCCCCGACTGTGCGTGTAACATGGCGCGTTTTTGCCAGCCA
+TATTTCACGGGGGTATTGGCGACAAACTCCGCCAGTTGCGCGCTAATGCGATAACCCACTTCATTTGCGG
+CGGCCTCTTTACCGTAGCGTGCGGCAATCCCTTCTTTTTCACACAGCAAGTTAACCGCTTCCGCCAGCCC
+ATACATGCCAAACATCGGCACAAAACGTTCAGGGTTAATCAGCCCTTCTTTCACCAGGAAGCTATTCTCA
+AAGAAGTGTGATTGTTGATAGAGGAATTCACACCGCGCATCGATGATGGCGATCTGCTGTTGGCAGTAGT
+GCGGTAGAGTGCGCGTAAAGAAGTCCTCCAGCGATTCACTGCGCTCGGCAATGGCTTTCAGGTTTAGGCG
+TACCAGCGTGCTGCCACCACCCGCCAGCGGCAGTGAGTTGTAACAGCTCACAATCCCGTAGCCCCCTTTT
+GTGAAAATTTTATCATGCACCGGACCGTTGGCGATGTGCGGTTTGCTACATTCACAGATGTTTTTCGCCA
+CTTCCAGCAGCAGGTCATCAGGGGTGATATCAGGATCGTAGATAAAGGTCAGGTTCGGTGAAACCTGCTT
+CAGCTCTGCGTCTGCACGTAATATCGCACGGGTAATGGGCGAATCAGACGGGCCGATATTGGCATGCATA
+AAGGCGTCTGGCAGGGTTCTGTCGAGGTAACGCCAGAAACGTTTTATTCGAATATCGATCTCGTCTTGTG
+TTAGAATTCTAACATACGGTTGCAACAACGCATCCAGTTGCCCCAGGTAGACCGGCATCGATGTGACCGA
+AGGAACGTGGTGGTAAAGAATGGTCAGCAGAGAGAGTGCGTCATCAAGATCTTTTGCGCCTTCCAGCTCC
+AGCCATTCGGAACCGTTGGCCAAAAAACGGGCGTAATCGGGTAAGACATAGCGCGGTTTGTACGGCGCAT
+GACCTTCAAACATATCGCAGATTACCCCCTCATCCAGCGCGCGGCGGGCTTCGGCAGGCAGCTGTGGGTA
+AGGCAGATTGTTTTCTGCTTCCAGTGCCAGAAAATGGCGCTTCTGCTCCGGGCTAAGTACCGGGCTGGTG
+ACAATTTGCTGGCAACGTTGTTGCAGTGCATTTTCATGAGAAGTGGGCATCTTCTTTTCCTTTTATGCCG
+AAGGTGATGCGCCATTGTAAGAAGTTTCGTGATGTTCACTTTGATCCTGATGCGTTTGCCACCACTGACG
+CATTCATTTGAAAGTGAATTATTTGAACCAGATCGCATTACAGTGATGCAAACTTGTAAGTAGATTTCCT
+TAATTGTGATGTACATCGACGTGTGTTGCGGAGTAGATGTTAGAATACTAACAAACTCGCAAGGTGAATT
+TTATTGGCGACAAGCCAGGAGAATGAAATGACTGATCTGAAAGCAAGCAGCCTGCGTGCACTGAAATTGA
+TGGACCTGACCACCCTGAATGACGACGACACCGATGAGAAAGTGATCGCCCTGTGTCATCAGGCCAAAAC
+TCCGGTCGGCAATACCGCCGCTATCTGTATCTATCCTCGCTTTATCCCGATTGCTCGCAAAACGCTGAAA
+GAGCAGGGCACCCCGGAAATCCGTATCGCTACGGTAACTAACTTCCCACACGGTAACGACGACATCGACA
+TTGCGCTGGCAGAAACCCGTGCGGCAATCGCCTACGGTGCCGATGAAGTTGACGTGGTGTTCCCGTACCG
+CGCGCTGATGGCGGGTAACGAGCAGGTTGGTTTTGACCTGGTGAAAGCCTGTAAAGAGGCTTGCGCTGCG
+GCGAACGTACTGCTGAAAGTGATTATTGAAACCGGCGAACTGAAAGACGAAGCGCTGATCCGTAAAGCGT
+CTGAAATCTCCATCAAAGCGGGTGCTGACTTCATCAAAACCTCTACCGGTAAAGTGGCTGTGAATGCGAC
+GCCGGAAAGCGCGCGCATCATGATGGAAGTGATCCGCGATATGGGCGTAGAAAAAACCGTTGGTTTCAAA
+CCGGCGGGCGGCGTGCGTACTGCGGAAGATGCGCAGAAATATCTCGCCATTGCAGATGAACTGTTCGGTG
+CTGACTGGGCTGATGCGCGTCACTACCGCTTTGGTGCTTCCAGCTTGCTGGCAAGCCTGCTGAAAGCTCT
+GGGCCACGGCGACGGTAAGAGCGCCAGCAGCTACTAAGGCTTGATTTGCCGGATGATGCAGCGATGCTCA
+TCCGGTTCCCCGATTACCTCGTCTCTTTTCCACGGGAGGTTACCTTGTTTCTCGCACAAGAAATTATTCG
+TAAAAAACGTGATGGTCATGCGCTGAGTGATGAAGAAATTCGTTTCTTTATCAACGGCATTCGCGACAAC
+ACTATCTCCGAAGGGCAGATTGCCGCCCTCGCGATGACCATTTTCTTCCACGATATGACAATGCCTGAGC
+GTGTCTCGCTGACCATGGCGATGCGAGATTCAGGAACCGTTCTCGACTGGAAAAGCCTGTATCTGAATGG
+CCCGATTGTTGATAAACACTCGACCGGCGGTGTCGGCGATGTGACTTCGCTGATGTTGGGGCCGATGGTC
+GCTGCCTGTGGCGGCTATATTCCGATGATCTCCGGTCGCGGCCTCGGTCATACTGGCGGTACGCTCGACA
+AACTGGAATCCATCCCTGGCTTCGACATTTTCCCGGATGACAACCGTTTCCGCGAAATTATTAAAGACGT
+CGGCGTGGCGATTATCGGCCAGACCAGCTCACTGGCTCCGGCGGATAAACGTTTCTACGCGACCCGTGAT
+ATTACCGCAACCGTGGATTCAATCCCGCTGATCACCGCCTCTATTCTGGCGAAGAAACTGGCGGAAGGTC
+TGGACGCGCTGGTGATGGACGTGAAAGTGGGTAGCGGCGCGTTTATGCCGACCTACGAACTCTCTGAAGC
+CCTTGCCGAAGCGATTGTTGGCGTGGCTAACGGCGCTGGCGTGCGCACCACCGCGCTGCTCACCGATATG
+AATCAGGTACTGGCCTCCAGTGCAGGTAACGCGGTTGAAGTTCGTGAAGCGGTGCAGTTCCTGACGGGTG
+AATATCGTAACCCGCGTCTGTTTGATGTCACGATGGCACTGTGCGTGGAGATGCTGATCTCCGGCAAACT
+GGCGAAAGATGACGCCGAAGCGCGCGCGAAATTACAGGCGGTGCTGGACAACGGTAAAGCGGCAGAAGTC
+TTTGGTCGTATGGTAGCGGCACAAAAAGGCCCGACCGACTTCGTTGAGAACTACGCGAAGTATCTGCCGA
+CAGCGATGCTGACGAAAGCAGTCTATGCTGATACCGAAGGGTTTGTCAGTGAAATGGATACCCGCGCGCT
+GGGGATGGCAGTGGTTGCAATGGGCGGCGGACGCCGTCAGGCATCTGACACCATCGATTACAGCGTCGGC
+TTTACTGATATGGCGCGTCTGGGCGACCAGGTAGACGGTCAGCGTCCGCTGGCAGTTATCCACGCGAAAG
+ACGAAAACAGCTGGCAGGAAGCGGCGAAAGCGGTGAAAGCGGCAATTAAACTTGCCGATAAAGCACCGGA
+AAGCACACCAACTGTCTATCGCCGTATCAGCGAATAACGGTATACTGATCTGATCATTTAAATTTGAAGC
+ACTGAGTACGGAGAACATATGAAACGTGCATTTATTATGGTGCTGGACTCATTCGGCATCGGCGCTACAG
+AAGATGCAGAACGCTTTGGTGACGTCGGGGCTGACACCCTGGGTCATATCGCAGAAGCTTGTGCCAAAGG
+CGAAGCTGACCACGGTCGTAAAGGCCCGCTCAATCTGCCAAATCTGACCCGTCTTGGGCTGGCGAAAGCA
+CACGAAGGTTCTACCGGTTTCATTCCGGCGGGAATGGATGGCAACGCTGAAGTTATCGGCGCGTACGCAT
+GGGCGCACGAAATGTCATCCGGTAAAGACACCCCGTCTGGTCACTGGGAAATCGCCGGTGTCCCGGTTCT
+GTTTGAGTGGGGATATTTCTCCGATCACGAAAACAGCTTCCCGCAAGAGCTGCTGGATAAACTGGTTGAA
+CGCGCTAATCTGCCGGGTTACCTCGGTAACTGCCACTCTTCCGGTACGGTCATTCTGGATCAACTGGGCG
+AAGAGCACATGAAAACCGGCAAGCCGATTTTCTATACCTCCGCTGACTCCGTGTTCCAGATTGCCTGCCA
+CGAAGAAACCTTTGGTCTGGATAAACTCTACGAACTGTGCGAAATCGCCCGTGAAGAGCTGACCAACGGC
+GGCTACAACATCGGTCGTGTTATCGCTCGTCCGTTTATCGGCGACAAAGCTGGTAACTTCCAGCGTACTG
+GTAACCGTCACGACCTGGCTGTTGAGCCACCAGCACCGACCGTGCTGCAGAAACTGGTTGATGAAAAACA
+CGGCCAGGTGGTTTCGGTCGGTAAAATTGCAGACATCTACGCCAACTGCGGTATCACCAAAAAAGTGAAA
+GCGACCGGCCTGGACGCGCTGTTTGACGCCACCATCAAAGAGATGAAAGAAGCGGGTGATAACACCATCG
+TCTTCACCAACTTCGTTGACTTCGACTCTTCCTGGGGCCACCGTCGCGACGTCGCCGGTTATGCTGCGGG
+TCTGGAACTGTTCGACCGCCGTCTGCCGGAGCTGATGTCTTTGCTGCGCGATGACGATATTCTGATTCTC
+ACTGCTGACCACGGTTGTGACCCGACCTGGACCGGTACTGACCACACGCGTGAACACATTCCGGTACTGG
+TTTACGGCCCGAAAGTGAAACCAGGTTCGCTGGGGCATCGTGAAACCTTCGCGGATATCGGCCAGACTCT
+GGCAAAATATTTTGGTACTTCTGATATGGAATATGGCAAAGCCATGTTCTGATGGATTTGGGCGGAGCAG
+TGACTCCGCCTTTAATATGTCACAAAAAGGATAAAACGATGGCTACTCCACACATTAATGCAGAAATGGG
+CGATTTTGCTGACGTAGTTTTGATGCCAGGCGACCCGCTGCGTGCGAAGTATATTGCTGAAACTTTCCTT
+GAAGATGCCCGTGAAGTGAACAACGTTCGCGGTATGCTGGGCTTCACTGGTACTTACAAAGGCCGCAAAA
+TTTCCGTAATGGGCCACGGTATGGGTATCCCGTCCTGCTCCATCTACACCAAAGAACTGATCACTGATTT
+CGGCGTGAAGAAAATTATCCGCGTTGGTTCCTGTGGCGCTGTTCTGCCGCACGTAAAACTGCGCGACGTC
+GTTATCGGTATGGGTGCCTGCACCGATTCCAAAGTTAACCGCATCCGTTTTAAAGACCATGACTTTGCCG
+CTATCGCTGACTTCGACATGGTGCGTAACGCGGTAGACGCGGCAAAAGCACTGGGCGTTGATGCTCGCGT
+TGGTAACCTGTTCTCCGCTGACCTGTTCTACTCTCCGGACGGCGAAATGTTCGACGTGATGGAAAAATAC
+GGCATCCTCGGCGTGGAAATGGAAGCGGCTGGTATCTACGGCGTCGCTGCAGAATTTGGCGCGAAAGCCC
+TGACCATCTGCACCGTGTCTGACCACATCCGCACTCACGAGCAGACCACTGCCGCTGAGCGTCAGACCAC
+CTTCAACGACATGATCAAAATCGCGCTGGAATCCGTTCTGCTGGGCGATAAAGAGTAATTGTGTTTTGCT
+GAAAGGCGATTGTCGTGTGAAGCCGGAGTGGGAGACTGCTCCGGCTTTTTAGTATTTATTCATCAATAGC
+AACTGATTTATAGATTTACTATTATTTTTCATATGGATAGAAAATAAAATCCATTCAAGTATCTATTCAC
+GAATCTATTCATTTATGTTCAGCAGTCATTCAGGAAGGGCATATCAGCAACTCTGGTGGACAACCATAAA
+TTCCTGCCATTTTGCTTTTGATGTTTGAACTAAGCCGTTCCGTCTTTTCGATCTGTTTTAGAGAATTAAT
+GGAGATACCTAACATTTTACTTACTTCAGCAAGTGATAGTTTATGCCTGATACGCACGGCGGTTAGCCAG
+GATATACCCTGGCTGAACATTAAATTGATAATCTCCCGTTCCTGGTTTTCCAGATCGATCATATTTCCTT
+CCCTGGATATTTTAATCAGCGAGTTACCTTACCGCCCCTGCCATCCACGCTGACAACTCCCGTAGCTCTT
+TTTCCTGTTCCGGGAAGTCAACCAGCAGCGCTTCGCACTCCTGTTGCAGCATATCCGCGCGGTACAGACA
+GCCTTGCAGTCGCCCGGCGAGGGCTTCCAGCGGCGCGGGGTTGAGACTGTCGGTAAACACCTGGGCGCGG
+GTGATATGGCCTTTTTCAACGTCGAAATGCAGTTCCACGCCGCCCCAGGTAAAGCGTTCATCCAGCAGAT
+GCGAGAATGCCGGAGCCTGACCGAAGTTCCATTCCCAGCTACTCTGGCGGGCAAAGGTTTCGGCGAAGTT
+TGGCAAGTCTGGCGTTTTGTCCGGGGAGATGATTTCCGCTTCCACGCGCTCGCCATAATGGGCGAAAAAG
+GCCTCGGTTATGGCCTCGCAAACCTGCTCATGGGTGATCCCCGGTAGCAATTCGGTCAGATTGGTCACGC
+GGGAACGCACTGAGGTAATGCCTTTCGCCGCCAGTTTCTTTTTATCCGGATTGAGATAGTTTGCCAGGCG
+GCTAAGGTCGGAATTGAGCAGCAAAGTGCCGTGGTGGAAGCCACGATCTTTGGTTTCGCGATAGGCCGAG
+CCTGAGACTTTGCGATCGCCTTCGGCGGTTTTCACCACCAGATCGTTACGCCCGGAAGCTTCGGCGCTGA
+CGCCGAGCGCGTTCAGCGCATTGAGCACAATCGACGTGGAGATGGTTTTATCGTACTCCGGCTTGCCAGC
+CATAAAGGTAAAACAGGTATTGCCGAGATCGTGGAACACTGCGCCGCCACCGCTACTGCGCCGCGCCAGG
+CGGACGTTATCTTCTTCCATCCGCCGGGTATTACACTCTTTCCACGGGTTCTGCGCGCGACCAATCACTA
+CCGTGTCGGCATTGCGCCAGAGAAACAGAACGCGCTGCGTAGCCGGCATCTGGCGAAAAATACACTCCTC
+TACCGCCAGGTTAAACCACGGGTCGTAAGAGTCAGAGATGAGCAGGCGTAATGTGGACATAACGATTTCC
+TTTCTTGTAGTAATGGGTCACTCTTTTTTCTCGCTTTCTTCCTCTTCCGGCACCGGTTTACTGGCGGTTA
+ACAGGAAGGGCGATTGCTGCCAGCGGGTGCGTTTACCCTGTAGCAGCGTGCGGGTCAGCACTACGCCGAT
+TGCCAGCGAGAGCAGCAACATCAGGCGTAAAATGTTAGTGGTGTTATCCACCTGTTGGGCTTCGGTGGCG
+AGCGTATGGGTGTCGAGCGTCAGGCGCAGATAGCCGAGCGGTCCGTTTTTACCCGCAATGGGTTCGACAA
+TCTGCTGGTTAAAATAGCCGCCCGCTTTTTTGCCGTCGAGCGCCAGCCGGTCGCGCACGTCGACGCTTTC
+GCCAGAACGGGCGATAAGATCGCCTTGCTCATCATATACGCCTGCGTCGAGAATGCGGCTTTCATCCGTT
+AACTGATCGAGGATCGCCTGAATGCGTTTTTCATCCGGTGAGTCGGTACGCATCAGCGGTGCAACGTTTA
+GCGTCACCTGCCGCGCCAGGGTGCGGGCCAGTTCTTCCAGTTGCGGATTACGCTGTCGCTGGTGGTTTTG
+ACTAAACCATGACGCCCCCTGCATCAGCGCCACTAACAAGGCAAGACAGAACAGGACAATCACTGCCCGA
+TGCAGCCGAAATTTCAGTTTTGTGCGAGCCATCTTCCACCCTTTGAAAATTTGAGACTTAATGTTGCCAG
+AAGCAATGGATACAAGGTAGCCTCATGCGTTATTTTCCCTGCTTCGAACGATTTTACAGGAGCCTTAATG
+CCTAACATTACCTGGTGCGACCTGCCTGAAGATGTCTCTTTATGGCCTGGTCTGCCTCTTTCATTAAGTG
+GTGATGAAGTGATGCCACTGGATTACCACGCAGGTCGTAGCGGCTGGCTGCTGTATGGTCGTGGGCTGGA
+TAAACAACGTCTGACCCAATACCAGAGCAAACTGGGCGCGGCTATGGTGATTGTTGCCGCCTGGTGCGTG
+GAAGATTATCAGGTGATTCGTCTGGCAGGTTCACTCACTGCGCGGGCTACGCGCCTGGCCCATGAAGCGC
+AACTGGATGTCGCGCCGCTGGGGAAAATCCCACACCTGCGCACGCCGGGGTTGCTGGTGATGGACATGGA
+TTCCACCGCCATCCAGATTGAATGTATTGATGAAATTGCCAAACTGGCCGGAACGGGCGAGAGGGTGGCG
+GAGGTAACCGAACGGGCGATGCGCGGCGAACTCGATTTTACCGCCAGCCTGCGCAGCCGCGTGGCGACGC
+TGAAAGGCGCTGACGCCAATATTCTGCAACAGGTGCGTGAAAATCTGCCGCTGATGCCAGGCTTAACGCA
+GCTGGTACTCAAGCTGGAAACGCTGGGCTGGAAAGTGGCGATTGCCTCCGGCGGCTTTACTTTCTTTGCT
+GAATACCTGCGCGACAAGCTGCGCCTGACAGCCGTGGTAGCCAATGAACTGGAGATCATGGACGGTAAAT
+TTACCGGCAATGTGATCGGCGACATCGTTGACGCGCAATATAAAGCGAAAACCCTGACCCGCCTCGCGCA
+GGAGTATGAAATCCCGCTGGCGCAGACCGTGGCGATTGGCGATGGAGCCAATGACCTGCCGATGATCAAA
+GCGGCAGGGCTGGGGATTGCCTACCATGCCAAGCCAAAAGTGAATGAAAAGACGGAAGTCACCATCCGTC
+ACGCTGACCTGATGGGGGTATTCTGCATCCTCTCTGGCAGCCTGAATCAGAAGTAATTGCCCGCCCGTCA
+TCCTGCGGGCGGCACAGCATTAACGAGGTACATCGTGGCAAAAGCTCCAAAACGCGCCTTTGTTTGTAAT
+GAATGCGGGGCCGATTATCCGCGCTGGCAGGGGCAGTGCAGTGCCTGTCATGCCTGGAACACCATCACCG
+AGGTGCGTCTTGCAGCGTCGCCAACGGTGGCGCGTAACGAGCGTCTCAGTGGCTATGCCGGTAGCGCCGG
+AGTGGCAAAAGTCCAGAAACTTTCCGACATCAGCCTTGAAGAGCTGCCGCGTTTTTCCACCGGATTTAAA
+GAGTTCGACCGCGTATTAGGCGGCGGCGTGGTGCCGGGAAGCGCCATTCTGATTGGCGGTAACCCTGGTG
+CGGGGAAATCCACGCTGTTGCTGCAAACGCTGTGCAAACTGGCGCAGCAGATGAAAACGCTGTATGTCAC
+CGGCGAAGAGTCGCTGCAACAGGTGGCAATGCGCGCTCATCGCCTTGGCCTGCCGACTGACAATCTTAAT
+ATGCTGTCGGAAACCAGCATCGAGCAGATCTGCCTGATTGCCGAAGAAGAGCAACCGAAGCTGATGGTAA
+TTGACTCCATCCAGGTGATGCATATGGCGGATGTACAATCATCACCTGGCAGCGTGGCGCAGGTGCGTGA
+AACGGCGGCTTATCTGACGCGCTTCGCCAAAACGCGCGGTGTGGCGATTGTCATGGTCGGGCACGTAACC
+AAAGATGGCTCGCTGGCTGGCCCTAAAGTGCTGGAACACTGTATCGACTGTTCGGTGCTTTTGGATGGTG
+ATGCCGACTCACGTTTTCGCACCTTACGCAGCCATAAAAACCGCTTCGGCGCGGTGAATGAGCTGGGTGT
+CTTCGCAATGACCGAGCAGGGGCTGCGTGAAGTCAGCAACCCTTCGGCAATTTTCTTAAGTCGCGGCGAT
+GAAGTGACCTCCGGTAGCTCAGTGATGGTAGTGTGGGAAGGAACGCGTCCGCTGCTGGTGGAGATTCAGG
+CGCTCGTCGATCACTCGATGATGGCGAATCCACGCCGCGTGGCAGTCGGGCTGGAGCAAAACCGTCTGGC
+AATCCTGCTGGCGGTGCTTCACCGTCACGGTGGTCTACAAATGGCCGATCAGGATGTGTTTGTTAACGTG
+GTCGGTGGCGTGAAGGTGACGGAAACCAGTGTCGATTTAGCGTTACTGCTGGCGATGGTTTCCAGCCTGC
+GTGACAGACCGCTACCGCAGGATCTGGTGGTGTTTGGTGAAGTCGGGCTGGCAGGGGAGATCCGCCCGGT
+GCCCAGCGGCCAGGAACGAATCTCAGAAGCGGCGAAACACGGTTTTCGCCGGGCAATTGTTCCGGCAGCT
+AACGTGCCGAAAAAAGCGCCGGAAGGGATGCAGATTTTTGGCGTTAAAAAACTCTCCGACGCGCTTAGCG
+TGTTCGACGACTTATAATGAGAGATACGGAGGGAGATATGTCGTCATTTGATTACCTGAAAACTGCCATC
+AAGCAACAGGGCTGCACGCTACAGCAGGTAGCTGATGCCAGCGGTATGACCAAAGGGTATTTAAGCCAGT
+TACTGAATGCCAAAATCAAAAGCCCCAGCGCACAAAAGCTGGAGGCATTGCACCGTTATTTGGGACTTGA
+ATTTCCCCGGCAGAAGAAAACGATCGGTGTCGTATTCGGTAAGTTTTACCCGCTGCATACTGGACATATC
+TACCTTATCCAGCGCGCCTGTAGCCAGGTTGACGAGCTGCATATCATTATGGGTTTTGACGATACCCGCG
+ACCGCGCATTGTTCGAAGACAGCGCCATGTCGCAGCAGCCAACCGTGCCGGATCGTCTGCGCTGGTTATT
+GCAGACCTTTAAGTATCAAAAAAATATCCGCATTCATGCTTTTAACGAAGAGGGCATGGAACCGTATCCA
+CACGGCTGGGATGTGTGGAGCAACGGCATCAAAAAGTTTATGGCCGAAAAAGGCATTCAGCCGGATCTTA
+TCTACACCTCAGAAGAAGCCGATGCGCCGCAGTATATGGAACATCTGGGGATCGAGACGGTGTTGATCGA
+TCCGAAGCGTACCTTTATGAGTATCAGCGGTGCGCAGATCCGCGAAAACCCGTTCCGCTACTGGGAATAT
+ATTCCTACGGAAGTTAAGCCGTTCTTTGTGCGTACCGTGGCGATCCTTGGCGGCGAGTCGAGCGGTAAAT
+CCACCCTGGTAAACAAACTTGCCAATATCTTCAACACTACCAGTGCATGGGAATATGGTCGCGATTATGT
+CTTTTCACACCTTGGCGGTGATGAGATTGCGTTGCAGTATTCCGACTACGATAAAATCGCGCTGGGACAC
+GCGCAATATATTGATTTTGCAGTGAAATATGCCAATAAAGTGGCGTTTATCGACACCGATTTTGTCACTA
+CCCAGGCGTTCTGCAAAAAGTACGAAGGGCGTGAGCATCCGTTCGTGCAGGCGTTGATTGATGAATACCG
+TTTCGATCTGGTGATCCTGCTGGAGAACAACACGCCGTGGGTGGCGGATGGTTTACGCAGCCTCGGCAGT
+TCGGTGGATCGCAAAGAGTTCCAGAACTTGCTGGTGGAGATGTTGGAAGAGAACAATATCGAATTCGTGC
+GGGTTGAAGAGGACGATTACGACAGCCGTTTCCTGCGCTGCGTGGAGCTGGTGCGGGAGATGATGGGGGA
+GCAAAGATAATCATCTTTATAAGATGTTGAGTGGGATTACTGATTTAAAAGTGTACTTAGTACTCCATTT
+AGGTGTACAATGTACCTGCCAGGGAGGGGGAATGGGTAAGGCGATAATATTTATAGAGACGCCAATGTTT
+ACGCGTCAGATCAAGCAGATTGCAACCGATGATGAATTAAAGGAATTACAAAAAGAACTCATCGGAACTC
+CCGATAAAGGTGATCTCATTCAGCAGACTGGTGGATTGCGTAAAGTCCGAATGGCTGCGGGTTCACAGGG
+AAAAAGTGGCAGTGTCAGAATAATTTACTTTCTGGCGACGGAAGAGATTATTTATTTGATTATGGCCTAT
+CCGATAAATGCCAAAGATAGTCTGACAGATACGGAAAAAGCTCAACTAAAGAAGTTGACGAAACTGCTCA
+AAGGCGAGATATAAAATGAGTTTTTTTGATGAGTTGAAAACCTCTCTGGAAGAGGCTGTCGAGATTAAAC
+AAGGTTTAAAAGAACCTGCACGGGTGACCCGCTACGAAATTGCGGATGTTAAAGCTATTCGTGAGCAACT
+CAACGTTTCTCAAAGTGAGATGGCAAAAGCTCTGGGAACCAGTGTGGATACCATTAAAAGCTGGGAATCG
+AAGCGAAGAAATCCTACGGGATTGGCTGCAAAAGTACTTGCCACAATTAAAGAAAATCCTGCCTTTTTCC
+GGGAACTTGCTTCCCATTAATCATTTAACTAATACCGGATGCGATGCTGGTGCGCCGCATCCGGCATTTT
+ACGCATTACTTCGCAATACGCTTGTACTTGATACGCTTCGGCTCCAGCGCGTCTGCGCCCAGCGTGCGTT
+TCTTGTACTCTTCGTACTCGGTAAAGTTACCTTCGAAGAACTCAACTTTACCTTCATCCTGGTAATCCAG
+AATGTGGGTGGCGATACGGTCGAGGAACCAACGGTCGTGCGAGATAACCATCGCGCAGCCCGGGAACTCC
+AGCAGGGCGTTTTCCAGTGCGCGCAGGGTTTCGATATCCAGGTCGTTGGTTGGTTCGTCGAGCAGCAGCA
+TGTTGCCGCCAACCTGCAGCAGCTTCGCCAGATGCAGACGACCGCGCTCACCGCCGGAGAGTTCGCCAAC
+GCGTTTACCCTGATCAACCCCTTTAAAGTTAAAGCGGCCAACGTAGGCGCGGCTTGGCATCTCGGTGTTG
+CCGATCTTCATGATATCCAGCCCGCCGGAAACTTCTTCCCAAACGGTTTTGCTGTTATCCATTGAGTCAC
+GGAACTGATCAACCGACGCCAGTTTCACCGTTTCACCCAAAGTGATGGTGCCGCTGTCCGGCTGTTCCTG
+ACCAGAGATCATACGGAACAGCGTCGATTTACCCGCACCGTTCGGACCGATGATCCCGACGATCGCTCCT
+TTCGGGATCGAGAAGCTCAGGGAGTCAATCAGCAGACGATCACCATAGGATTTACGCAGGTTGCTGACTT
+CCAGCACTTTATCGCCCAGACGCGGTCCAGGTGGAATAAACAGTTCGTTGGTTTCGTTACGTTTCTGATA
+TTCGGTGCTGTTGAGTTCTTCAAAGCGCGCCAGACGTGCTTTACCTTTTGACTGACGGCCTTTAGTTCCC
+TGACGTACCCACTCCAGCTCTTTCTCGATCGACTTACGACGCGCCGCTTCTTGTGAAGCTTCCTGCGCCA
+GACGCTGATCTTTCTGCTCCAGCCAGGAGGAGTAGTTACCTTCCCACGGAATACCTTCACCGCGGTCAAG
+TTCGAGGATCCAGCCCGCAACGTTATCGAGGAAGTAACGGTCGTGGGTAATCGCCACCACGGTGCCTTCG
+AAGTCGTGCAGGAAGCGTTCCAGCCACGCTACGGATTCCGCATCCAGGTGGTTGGTCGGTTCGTCGAGCA
+GCAGCATGTCTGGTTTTTCCAGCAGCAGGCGGCACAACGCCACGCGACGACGCTCACCACCGGAAAGGTT
+AGCGATTTTCGCGTCCCAGTCCGGCAGACGCAGCGCATCCGCCGCACGCTCCAGCTGAACGTTCAGGTTG
+TGACCGTCGTGAGCCTGAATGATCTCTTCCAGACGGCCTTGTTCAGCGGCCAGCTTGTCAAAATCGGCAT
+CCGGATCGGCATACAGCGCATACACTTCATCCAGGCGTTTCAGGGCGTTAACCACTTCAGAAACCGCTTC
+TTCAATGGACTCACGAACGGTGTGTTCCGGGTTCAGCTGCGGTTCCTGCGGCAGATAACCAATCTTGATG
+TCTGGCTGCGGACGTGCTTCACCTTCGATGTCTTTATCAATGCCCGCCATAATGCGCAGCAGGGTGGACT
+TACCCGCGCCGTTCAGACCCAGGACACCAATTTTTGCCCCAGGGAAGAAACTCAGAGAGATGTTTTTCAA
+AATATGACGTTTCGGCGGAACAACTTTGCCGACACGATGCATGGTATAAACGAATTGAGCCACGTTGGAC
+TTCGCCTCTATGTTTATCGTGATGATGAGTTTTCAAAGGCGAAGTGTAGCCTGTTTCCCTGTCTAATCCC
+AGCCAGTCGATCACCCCGTAAAAGTAAAAAAGTGTCCGTAACGTGGCGTAAACGGCAATGACTGGTTAGC
+ATAAATCTATTACGCGGCATGACGCTGCATTGATGTATTGACACTTAGAGGATGCGCTTGTGGAAAAAGC
+CAAACACGTTACCTGGCGGCTGTTGGCTGTCGGTGTCTGTCTGCTGACGGTCAGCAGCGTGGCGCGAGCC
+GACTCACTGGATGAGCAGCGTAGTCGTTACGCGCAAATCAAGCAGGCCTGGGATAATCGACAAATGGATG
+TGGTCGAACAAATGATGCCTGGACTGAAAGATTACCCACTTTATCCCTACCTGGAATACCGCCAGATCAC
+TGATGACCTGATGAATCAACCGGCGGTGACGGTCACTAACTTTGTTCGCGCTAACCCCACGCTTCCTCCC
+GCTCGCACGCTGCAATCTCGTTTCGTCAATGAACTGGCGCGGCGTGAAGACTGGCGTGGCTTGTTAGCCT
+TTAGCCCGGAAAAGCCCGGAACTACCGAAGCGCAATGTAATTACTACTATGCGAAATGGAACACCGGGCA
+GAGTGAAGAAGCCTGGCAAGGGGCGAAAGAGCTGTGGCTAACCGGCAAGAGCCAGCCTAACGCCTGTGAC
+AAGTTATTTAGCGTCTGGCGTGCGTCAGGTAAACAAGATCCGCTGGCGTATTTAGAGCGTATCCGTCTGG
+CGATGAAAGCGGGTAACACCGGCCTGGTAACAGTGCTGGCAGGGCAGATGCCTGCCGATTACCAGACTAT
+CGCTTCGGCAATCATTTCACTGGCGAACAACCCTAATACGGTACTGACCTTCGCGCGTACAACCGGCGCG
+ACCGATTTTACCCGTCAAATGGCGGCGGTGGCGTTTGCCAGTGTGGCGCGGCAGGATGCTGAAAATGCAC
+GGCTGATGATCCCGTCGCTTGCTCAGGCACAGCAGCTTAATGAAGATCAGATTCAGGAGCTGCGCGATAT
+TGTCGCATGGCGTTTGATGGGCAACGATGTCACCGACGAGCAGGCGAAATGGCGCGATGACGCGATTATG
+CGTTCGCAATCTACTTCGCTTATTGAACGCCGTGTGCGAATGGCGCTTGGCACCGGCGATCGTCGCGGCC
+TGAATACCTGGCTGGCGCGTCTGCCTATGGAAGCGAAAGAGAAAGATGAATGGCGTTACTGGCAGGCGGA
+TTTATTGCTGGAACGCGGACGTGAAGCTGAAGCAAAAGAGATTTTGCATCAACTCATGCAACAGCGTGGT
+TTCTACCCGATGGTTGCTGCACAACGCATCGGCGAAGAGTATGAGCTGAAGATTGATAAAGCGCCGCAGA
+ATGTTGACAGCGCCCTGACTCAGGGGCCGGAGATGGCGCGCGTGCGCGAGTTGATGTACTGGAATCTCGA
+TAACACCGCGCGTAGCGAGTGGGCCAATCTGGTGAAGAGCAAGTCAAAAACAGAGCAGGCTCAACTGGCT
+CGGTATGCTTTCAATAACCAATGGTGGGATCTTAGCGTTCAGGCAACGATCGCCGGGAAGCTGTGGGATC
+ATCTGGAAGAGCGATTCCCGCTGGCTTACAACGATCTTTTCAAACGCTACACCAGTGGTAAGGAGATCCC
+GCAAAGCTATGCGATGGCGATTGCCCGTCAGGAGAGTGCCTGGAATCCGAAAGTGAAATCACCGGTAGGG
+GCCAGCGGCCTGATGCAGATTATGCCTGGTACCGCGACCCATACGGTGAAGATGTTCTCTATTCCCGGTT
+ATAGCAGCCCTGGGCAATTGCTGGATCCGGAAACAAACATCAACATTGGCACCAGTTACCTGCAATATGT
+TTATCAGCAGTTTGGCAATAACCGTATTTTCTCCTCAGCAGCTTATAACGCCGGACCAGGGCGGGTGCGA
+ACCTGGCTTGGCAACAGCGCAGGGCGTATCGACGCAGTGGCATTTGTCGAGAGTATTCCATTCTCCGAGA
+CGCGCGGTTATGTGAAAAACGTGCTGGCTTATGACGCTTACTACCGCTATTTCATGGGGGATAAACCGAC
+GTTGATGAGCGCCACGGAATGGGGACGTCGTTACTGATCCACACGTTTATGATATGCTATCGTACTCTTT
+AGCGAGTACAACCGGGGGAGGCATTTTGCTTCCCCCGCTAACAATGGCGACATACTATGGCCCAACAATC
+ACCCTATTCAGCAGCGATGGCAGAACAGCGTCACCAGGAGTGGTTACGTTTTGTCGACCTGCTTAAGAAT
+GCCTACCAAAACGATCTCCATTTACCGTTGTTAAACCTGATGCTGACGCCAGATGAGCGCGAAGCGTTGG
+GGACTCGCGTGCGTATTGTCGAAGAGCTGTTGCGCGGCGAAATGAGCCAGCGTGAGTTAAAAAATGAACT
+CGGCGCGGGCATCGCGACGATTACGCGTGGATCTAATAGTCTGAAAGCCGCGCCCGTCGAGCTGCGCCAG
+TGGCTGGAAGACGTGTTGCTGAAAAGCGATTGATTTTGTAGGCCTGATAGGACATGGCGCATCAGGCATC
+GTGCACCGAATGCCGGATGCGGCGTGAACGCCTAATCAGGCCTGCAATGGCTGATACACGGCATTATGAA
+ACGGACTCAGCGCCAGGATCACCGCCTGGTGATAGACGCTGGTGCGAGTGAGTTTCCCGGCGGTAAACAC
+GCCGATCGCCCCTTCCTTACGACCAATCTCATCAATACCGGTATAACGCGACATCACGGGACCAAGCACC
+TCACCTTCACGCACTTTTTCCAGAATCACCGCAGGCAACGGCAAAGTAGCCGAACGCGCCTCGCCGCGCT
+GGCTGGCGTTTTCTATCACCACCCAACTGAAAGTGCTGTCACCATCGATGCCAGCTTCAATCGCCACCCA
+AAAATCAGCCTCAGGAAGTAAACGGCGGGCATTGGCTACCCTATTTCGTGCGCCAGCGCGCGTTTCCTCA
+CTGCCAAAGGGCTGTTCCGGTACACCGCTCTCGACGGCAACGGATGCAATATGGCAGGATCCTTCGCCGA
+AGATCTCGTGAAATGCCTGCAGAATGGCCTGAATTTTAGCGGGATTGGTGGTCGCACAGACAACTTGGTG
+CATAATCAGCATTACTCAGAAAATTAACGTTACAGCAGTATACGGAAAAAAAGCATGTTACAGGTATACC
+TAGTCCGCCACGGTGAAACGCAGTGGAACGCCGAGCGACGTATTCAGGGCCAGTCTGACAGCCCGCTGAC
+CGCCAAAGGTGAGCAACAGGCGATGCAGGTGGCAACCCGTGCCAAAGAGCTTGGCATTACGCATATCATC
+AGTAGCGATTTAGGACGCACCCGGCGCACGGCGGAAATCATCGCCCAGGCCTGCGGTTGTGACATCATCT
+TTGATTCTCGCCTGCGTGAATTAAATATGGGTGTACTGGAAACAAGAAATATCGATTCACTCACCGAAGA
+AGAAGAGAACTGGCGTCGGCAACTGGTCAATGGCACCGTTGACGGGCGTATTCCTGAAGGTGAGTCAATG
+CAGGAGCTCAGCGATCGCGTTAATGCGGCACTGGAATCTTGCCGGGACTTACCGCAGGGAAGCCGACCGC
+TACTGGTGAGCCATGGTATTGCACTGGGATGCCTGGTGAGTACGATTCTCGGATTACCAGCATGGGCAGA
+GCGCCGCTTACGTCTGCGTAACTGTTCTATTTCGCGCGTGGATTATCAGGAAAGCTTGTGGCTGGCGTCT
+GGCTGGGTGGTTGAAACCGCAGGGGACATCTCGCATCTGGACGCCCCTGCATTAGATGAGCTGCAGCGTT
+AACGACGGATCGGAATCAGCAGTTCACAGCGCAGATTAATTGGGCGATCTCCCGCTTTGGCATCTTCTGC
+CGGGTAGTATCGCTCAATATCCTGACCTTTACGGCGCGTCAAGTTAAGCATTGGCATGCACGTTCCGTAT
+ACCGTCAGGATAAACTCCTGCACGCCGGTTCCCAGACCTTCATAGGTAAACATCACATATTCGCCGCCCT
+GCAACATCACCGGATGCCCAGTCAGTACATAGCCATCTGCCTGATCCTGAGCTAACGCGGTGGTGTAGAA
+CACCTCTTGTTCGTCGTCTTTATCCTGGCTCGGACGTGTTTCGTTCAAACCGTAAAGCACTGGTGGAATG
+GTTGGCGAGTTGCCGAGAAAATCGTGCCAGAACTGGTAGCGCATTTCATGGCGGAAATCAGAGATTTGCT
+CCAGCGAACAGGAGTAGCTCTGGGTAACACCAATCAGCGGCGTATCTTCCAGAGTGACAAATTTGTGCTC
+TGGCATAGTGAATTCACCCAGACGTAGCGGCGGGCGAATACCAAAGGCGCTCCATTCAGGAGAACGGCGG
+TAAAGTGCAGGAGTCTGGGCAAACTGCTTCTTGAAAGCGCGGGTAAATGTCTGTTGAGAGTCGAAGCGGT
+ATTGCAGCGCGATGTCCAGAATCGGACGCGCAGTCAGGCGTAGTGCGACCGCCGATTTCGACAAACGACG
+AGCACGAATATACGCGCCAATAGCATGGCCAGTGACATCTTTAAACATTCTCTGTAAGTGCCACTTGGAA
+TAACCTGCTTTCGCCGCTACATTGTCGAGCGACAGGGGATGATCCAGATGACCTTCCAGCCAGATTAAAA
+GGTCGCGAATAATGCCGGCCTGATCCATAAAATATCCTCATCCTTTCAACAACGAGCACCTGACATCAGG
+TAATTGGATAATAGCATTTTTTGCTGTTTTAGCATTCAGTGTTTTTTTCTTAGTCGAGTATGTTTTAGGT
+CTTGACGGAAATAAAAGTATTGAGATTTTGTTCTTAATCAATATGTTATTTACCGTGACGAACTAATTGC
+TCGTGTAATAGATAAAAATGGTAACGATATGAAATACAAGCATTTAATCCTGTCTTTAAGCCTGATAATG
+CTGGGGCCATTGGCTCATGCAGAAGAGATTGGTTCGGTCGACACCGTATTTAAAATGATCGGCCCGGATC
+ACAAAATTGTTGTTGAAGCCTTTGACGATCCCGATGTGAAAAATGTCACCTGTTATGTGAGCCGGGCGAA
+AACCGGTGGTATTAAAGGGGGATTGGGCCTGGCAGAAGATACCTCCGATGCGGCCATTTCTTGTCAACAA
+GTCGGGCCGATTGAACTGTCGGATCGTATTAAAAACGGCAAAGCTCAGGGCGAGGTAGTATTCAAAAAAC
+GCACGTCCCTGGTCTTTAAGTCGTTACAGGTCGTGCGCTTTTATGACGCTAAACGCAACGCGCTCGCTTA
+TCTGGCTTACTCCGACAAAGTTGTAGAAGGTTCGCCGAAAAACGCGATTAGCGCGGTTCCTGTCATGCCG
+TGGCGGCAATAACAGAGGCGATTTATGCAACGGGAAACGGTCTGGTTAGTCGAAGACGAGCAAGGGATAG
+CCGATACGCTGGTCTACATGTTGCAACAGGAAGGTTTTGACGTCGAGGTCTTTGAGCGAGGCTTGCCAGT
+GCTGGATAAAGCTCGCCAGCAGGTTCCCGATGTCATGATTCTCGATGTTGGTTTGCCTGATATCAGCGGC
+TTTGAATTGTGCCGCCAGTTACTGGCGCTCCATCCGGCGTTACCTGTACTGTTCCTGACGGCCCGAAGTG
+AAGAGGTCGATCGCCTGCTTGGGCTGGAAATTGGCGCTGACGACTACGTGGCTAAACCGTTTTCACCTCG
+CGAAGTGTGCGCCAGAGTGCGCACCTTACTGCGTCGGGTGAAGAAGTTCTCGACGCCGTCTCCCGTTATC
+CGTATTGGTCATTTTGAATTGAATGAACCTGCGGCGCAGATCAGCTGGTTTGACACGCCATTAACGCTGA
+CGCGGTATGAGTTTTTATTGCTGAAGACGTTACTCAAGTCGCCGGGCCGCGTCTGGTCCCGCCAGCAACT
+GATGGATAGCGTGTGGGAAGATGCGCAGGACACCTACGATCGCACCGTCGATACCCACATTAAAACGCTG
+CGTGCCAAGCTGCGCGCCATCAACCCCGATCTTTCACCGATTAATACTCATCGCGGCATGGGATATAGCC
+TGAGGGGCCTGTAATGCGTATCGGCATGCGGTTGTTGCTGGGCTATTTTTTACTGGTGGCGGTGGCGGCC
+TGGTTCGTACTGGCTATTTTTGTCAAAGAAGTTAAACCGGGCGTGCGAAGAGCAACCGAGGGGACGTTAA
+TCGACACCGCAACGTTGCTGGCGGAGCTGGCGCGTCCCGATTTGCTCTCTGGGGACCCAACGCATGGGCA
+ACTGGCGCAGGCGTTTAATCAGCTACAACATCGCCCGTTTCGCGCCAATATCGGTGGCATTAACAAAGTG
+CGCAACGAATATCATGTCTATATGACCGATGCGCAGGGCAAAGTATTGTTCGATTCGGCAAATAAAGCCG
+TTGGACAGGATTATTCGCGCTGGAATGACGTCTGGCTAACGTTGCGTGGTCAGTATGGTGCGCGCAGCAC
+GTTGCAAAATCCTGCCGATCCCGAAAGTTCTGTGATGTATGTTGCCGCGCCGATTATGGACGGCTCGCGG
+CTTATTGGCGTTTTGAGCGTAGGCAAACCGAACGCGGCGATGGCTCCGGTCATTAAGCGTAGCGAGCGGC
+GAATTTTATGGGCCAGCGCCATTTTGTTGGGGATTGCACTGGTGATTGGCGCAGGCATGGTTTGGTGGAT
+CAACCGCTCTATTGCCCGGCTCACTCGCTATGCTGATTCCGTCACTGACAATAAGCCCGTTCCTCTCCCC
+GATCTCGGTAGTAGCGAGTTGCGTAAACTCGCGCAGGCGCTGGAAAGTATGCGCGTGAAGCTGGAAGGGA
+AAAACTATATTGAGCAGTATGTTTATGCGTTAACTCATGAGCTAAAAAGCCCACTGGCGGCGATTCGTGG
+CGCGGCGGAAATTTTACGCGAAGGTCCGCCGCCGGAAGTGGTGGCTCGTTTTACCGACAACATTCTGACG
+CAAAATGCGCGAATGCAGGCACTGGTGGAAACGTTACTACGCCAGGCAAGACTGGAGAATCGTCAGGAAG
+TCGTTCTGACTGCTGTTGATGTGGCGGCATTATTTCGCCGCGTCAGCGAAGCGCGCACCGTGCAGTTGGC
+AGAAAAAAACATCACTTTGCATGTTATGCCTACTGAGATTAACGTTGCTGCTGAACCGGCGTTACTGGAG
+CAGGCGCTGGGGAATTTACTGGATAACGCCATCGATTTTACTCCCGAGAGCGGTCGCATAACGCTAAGCG
+CCGAAGTGGATCAGGAATACGTCACCCTTAAGGTGCTGGATACCGGTAGTGGGATTCCTGACTACGCGCT
+GTCACGTATTTTTGAACGCTTTTACTCTTTGCCGCGTGCAAATGGGCAAAAAAGCAGCGGTCTGGGGTTG
+GCGTTTGTCAGTGAGGTCGCCCGTTTGTTTAACGGCGAAGTCACGCTGCGCAACGTGCAGGAAGGTGGCG
+TGCTGGCCTCGCTTCGACTTCACCGTCACTTCACATAGCTTCAAATTCTTCCCACATAGCCTTCGTATCC
+TGCTGCCATTGCAAAGGAGAAGACTATGTTGAAATCCCCCCTGTTCTGGAAAATGACCACCTTGTTTGGT
+GCAGTATTGCTGTTGTTGATTCCGATAATGCTGATTCGGCAGGTGATTGTCGAACGTGCCGATTACCGTA
+GCGATGTGGAAGATGTGATTCGCCAAAGTACCAGCGGGCCGCAAAAACTCGTTGGACCGCTCATCGCTAT
+TCCTGTGACCGAGCTTTATACGGTGCAGGAAGACGATAAAACCGTGGAGCGGAAACGAAGTTTTATTCAT
+TTTTGGTTACCTGAGTCATTGATGGTTGATGGCAATCAGAACGTGGAAGAACGCAAGATAGGCATCTATA
+CCGGTCAGGTCTGGCACAGTGATTTAACGCTAAAAGCCGATTTCGATGTTTCGCGTCTTAGCGAACTCGA
+CGCGCCAAATATCACCTTAGGCAAGCCATTTATTGTGATTAGCGTCGGGGATGCGCGTGGTATTGGTGTG
+GTGAAAGCGCCTGAAGTTAACGGTACGGCGCTGACCATTGAACCCGGCACCGGGTTAGAGCAAGGCGGGC
+AGGGCGTGCATATCCCTTTACCCGAAGGGGACTGGCGCAAGCAGAACCTGAAGCTGAATGTGGCGCTGAA
+TTTAAGCGGTACCGGCGATCTTTCTGTGGTGCCTGGCGGGCGTTATAGCGAAATGACCTTAACCAGCAAC
+TGGCCGCATCCCAGTTTTTTAGGTGATTTTCTACCAGCCAAACGGGAAGTTAGCGAGTCAGGTTTTCAGG
+CGCAATGGCAAAGTAGCTGGTTTGCTAATAATCTCGGTGAGCGTTTTGCTTCAGGCAATGATACCGGCTG
+GGAAAACTTCCCCGCGTTTAGCGTCGCAGTGACGACGCCAGCCGATCAATACCAATTAACGGACCGGGCG
+ACTAAGTACGCCATTCTGCTGATTGCGCTGACTTTTATGGCATTCTTTGTTTTTGAAACGCTCACCGCGC
+AACGTTTACACCCAATGCAATATTTGCTGGTGGGGCTTTCATTGGTGATGTTTTATTTGCTCTTGCTGGC
+GCTTTCTGAACATACCGGTTTTACCGTGGCATGGATAATCGCCAGTCTGATTGGGGCGTTAATGAACGGT
+ATTTATTTGCAGGCGGTATTGAAAGGCTGGCGTAATAGCATGTTGTTTACCCTCGCGCTGTTGTTGCTGG
+ATGGTGTGATGTGGGGACTGCTCAACTCTGCCGATAGCGCGCTGTTGTTGGGAACCAGTGTGCTGGTGGT
+GGCGCTGGCCGGCATGATGTTTGTGACCCGTAATATCGACTGGTATGCGTTTTCACTGCCGAAAATGAAA
+GCCAGTAAAGAAGTTACAACGGACGATGAATTACGTATCTGGAAATAAGGTAGAAAAATAAAAACGGCGC
+TAAAAAGCGCCGTTTTTTTTGACGGTGGTAAAGCCGATTAATCTTCCAGATCACCGCAGAAGCGATAACC
+TTCACCGTGAATGGTGGCGATGATTTCCGGCGTATCCGGCGTAGATTCGAAATGTTTACGAATACGGCGG
+ATCGTCACGTCTACAGTACGGTCGTGCGGTTTCAGCTCACGGCCAGTCATTTTCTTCAGCAGTTCAGCAC
+GGGACTGAATTTTGCCTGGGTTTTCACAGAAGTGAAGCATGGCGCGGAACTCGCTGCGCGGCAGCTTGTA
+CTGCTCGCCATCAGGGCCGATCAACGAACGGCTGTTGATGTCCAGTTCCCAACCATTGAACTTGTAGCTT
+TCAACGCTACGACGTTCTTCGCTGACAGTACCCAGATTCATGGTACGGGACAGCAGGTTGCGTGCACGAA
+TAGTCAGTTCACGCGGGTTGAACGGTTTGGTGATGTAGTCATCTGCACCGATTTCGAGGCCGAGAATTTT
+ATCGACTTCGTTGTCACGGCCAGTCAGGAACATCAACGCAACATTCGCCTGCTCGCGCAGTTCACGCGCT
+AACAGAAGACCGTTTTTACCCGGCAGATTGATATCCATGATCACCAGGTTGATGTCATATTCAGAGAGGA
+TCTGATGCATTTCCGCGCCATCTGTCGCTTCGAAAACATCATAGCCTTCCGCTTCGAAAATACTTTTCAA
+CGTGTTGCGTGTTACCAACTCGTCTTCAACGATAAGAATGTGCGGGGTCTGCATGTTTGCTACCTAAATT
+GCCAACTAAATCGAAACAGGAAGTACAAAAGTCCCTGACCTGCCTGATGCATGCTGCAAATTAACATGAT
+CGGCGTAACATGACTAAAGTACGTAATTGCGTTCTTGATGCACTTTCCATCAACGTCAACAACATCATTA
+GCTTGGTCGTGGGTACTTTCCCTCAGGACCCGACAGTGTCAAAAACGGCTGTCATCCTAACCATTTTAAC
+AGCAATATAACAGGCTAAGAGGGGCAGGACACCCAATAAAACTACGCTTCGTTGACATATATCAAGTTCA
+ATTGTAGCACGTTAACAGTTTGATGAAATGATCGTATCTAAATGCTAGCTTTCGTCACATTATTTTAATA
+ATCCAACTAGTTGCATCATACAACTAATAAACCTGGTGAATCCAATTATCGAGATTTATTTTTTATAAAA
+TTATCCTAAGTAAACAGAAGGATATGTAGCATTTTTTAACAATTCAATCGTTAGTATAGTCAGGAAATAG
+TTTAGCCTTTTTTAAGCTAAGCAAAGGGCTTTTCCTGCGACTTACGTTAAAGATTTGTAAATTCGCAACG
+CGTAATAAGTTGACAATGATCACCCTGTTCGCGGTTATTTGGTCAAGAAGAGTGGCAATATGCGTATAAC
+GATTATTCTGGTTGCACCCGCCAGAGCAGAAAATATTGGGGCAGCGGCGCGGGCAATGAAAACGATGGGT
+TTTAGCGAACTGCGGATTGTTGATAGTCAGGCACACCTGGAGCCAGCCGCCCGTTGGGTCGCACATGGAT
+CTGGTGATATTATTGATAATATTAAAGTTTTCAAGACACTGGCTGAATCGTTACACGATGTCGATTTCAC
+TGTTGCCACCACTGCGCGCAGTCGGGCGAAATATCATTACTACGCTACGCCAGTAGAACTGGTGCCGCTG
+TTAGAGGAAAAATCTTCATGGATGAGCCATGCCGCTCTGGTGTTTGGTCGCGAAGATTCCGGGCTGACTA
+ACGAAGAGTTAGCGTTGGCTGACGTTCTTACTGGTGTGCCGATGGTGGCGGATTATCCTTCGCTCAATCT
+GGGGTAGGCAGTGATGGTCTATTGCTATCAATTAGCAACATTAATACAACAACCGGCGAAAAGTGACACA
+ACGGCAGACCAACATCAACTGCAAGCTTTACGCGAACGAGCCATGACATTGCTGACGACTCTGGCAGTGG
+CAGATGACATAAAACTGGTCGACTGGTTACAACAACGCCTGGGGCTTTTAGAGCAACGAGACACGGCAAT
+GTTGCACCGTTTGCTGCATGATATTGAAAAAAATATCACCAAATAAAAAACGCCTTAGTAAGTGATTTTC
diff --git a/hit.cpp b/hit.cpp
new file mode 100644 (file)
index 0000000..53fe2bb
--- /dev/null
+++ b/hit.cpp
@@ -0,0 +1,378 @@
+#include "hit.h"
+#include "hit_set.h"
+#include "search_globals.h"
+
+using namespace std;
+using namespace seqan;
+
+/// Sort by text-id then by text-offset
+bool operator< (const Hit& a, const Hit& b) {
+    return a.h < b.h;
+}
+
+/**
+ * Report a batch of hits to a chaining file.
+ */
+void ChainingHitSink::reportHits(vector<Hit>& hs) {
+       size_t hssz = hs.size();
+       assert_gt(hssz, 0);
+       assert_eq(0, hs[0].mate);
+       // Convert vector<Hit> into HitSet
+       {
+               // Critical section for output stream 0
+               HitSet s;
+               Hit::toHitSet(hs, s, amap_);
+               lock(0);
+               s.serialize(out(0));
+               unlock(0);
+       }
+       {
+               // Global critical section
+               mainlock();
+               commitHits(hs); // Commit to recalibration table
+               first_ = false;
+               numReported_ += hssz;
+               numAligned_++;
+               mainunlock();
+       }
+}
+
+/**
+ * Report a maxed-out read.  Typically we do nothing, but we might
+ * want to print a placeholder when output is chained.
+ */
+void ChainingHitSink::reportMaxed(vector<Hit>& hs, PatternSourcePerThread& p) {
+       HitSink::reportMaxed(hs, p);
+       assert(!hs.empty());
+       int8_t loStrat = (strata_ ? hs.front().stratum : 0);
+       HitSet s;
+       p.bufa().toHitSet(s);
+       s.maxedStratum = loStrat;
+       lock(0);
+       s.serialize(out(0));
+       unlock(0);
+}
+
+/**
+ * Report an unaligned read.  Typically we do nothing, but we might
+ * want to print a placeholder when output is chained.
+ */
+void ChainingHitSink::reportUnaligned(PatternSourcePerThread& p) {
+       HitSink::reportUnaligned(p);
+       // Read is unaligned; just report a huge starting stratum
+       HitSet s;
+       p.bufa().toHitSet(s);
+       lock(0);
+       s.serialize(out(0));
+       unlock(0);
+}
+
+/**
+ * Report a maxed-out read.
+ */
+void VerboseHitSink::reportMaxed(vector<Hit>& hs, PatternSourcePerThread& p) {
+       HitSink::reportMaxed(hs, p);
+       if(sampleMax_) {
+               RandomSource rand;
+               rand.init(p.bufa().seed);
+               assert_gt(hs.size(), 0);
+               bool paired = hs.front().mate > 0;
+               size_t num = 1;
+               if(paired) {
+                       num = 0;
+                       int bestStratum = 999;
+                       for(size_t i = 0; i < hs.size()-1; i += 2) {
+                               int strat = min(hs[i].stratum, hs[i+1].stratum);
+                               if(strat < bestStratum) {
+                                       bestStratum = strat;
+                                       num = 1;
+                               } else if(strat == bestStratum) {
+                                       num++;
+                               }
+                       }
+                       assert_leq(num, hs.size());
+                       uint32_t r = rand.nextU32() % num;
+                       num = 0;
+                       for(size_t i = 0; i < hs.size()-1; i += 2) {
+                               int strat = min(hs[i].stratum, hs[i+1].stratum);
+                               if(strat == bestStratum) {
+                                       if(num == r) {
+                                               hs[i].oms = hs[i+1].oms = hs.size()/2;
+                                               reportHits(hs, i, i+2);
+                                               break;
+                                       }
+                                       num++;
+                               }
+                       }
+                       assert_eq(num, r);
+               } else {
+                       for(size_t i = 1; i < hs.size(); i++) {
+                               assert_geq(hs[i].stratum, hs[i-1].stratum);
+                               if(hs[i].stratum == hs[i-1].stratum) num++;
+                               else break;
+                       }
+                       assert_leq(num, hs.size());
+                       uint32_t r = rand.nextU32() % num;
+                       Hit& h = hs[r];
+                       h.oms = hs.size();
+                       reportHit(h, false);
+               }
+       }
+}
+
+/**
+ * Append a verbose, readable hit to the given output stream.
+ */
+void VerboseHitSink::append(ostream& ss,
+                   const Hit& h,
+                   const vector<string>* refnames,
+                   ReferenceMap *rmap,
+                   AnnotationMap *amap,
+                   bool fullRef,
+                   int partition,
+                   int offBase,
+                   bool colorSeq,
+                   bool colorQual,
+                   bool cost,
+                   const Bitset& suppress)
+{
+       bool spill = false;
+       int spillAmt = 0;
+       uint32_t pdiv = 0xffffffff;
+       uint32_t pmod = 0xffffffff;
+       do {
+               bool dospill = false;
+               if(spill) {
+                       // The read spilled over a partition boundary and so
+                       // needs to be printed more than once
+                       spill = false;
+                       dospill = true;
+                       spillAmt++;
+               }
+               assert(!spill);
+               size_t field = 0;
+               bool firstfield = true;
+               if(partition != 0) {
+                       int pospart = abs(partition);
+                       if(!suppress.test(field++)) {
+                               if(firstfield) firstfield = false;
+                               else ss << '\t';
+                               // Output a partitioning key
+                               // First component of the key is the reference index
+                               if(refnames != NULL && rmap != NULL) {
+                                       printUptoWs(ss, rmap->getName(h.h.first), !fullRef);
+                               } else if(refnames != NULL && h.h.first < refnames->size()) {
+                                       printUptoWs(ss, (*refnames)[h.h.first], !fullRef);
+                               } else {
+                                       ss << h.h.first;
+                               }
+                       }
+                       ostringstream ss2, ss3;
+                       // Next component of the key is the partition id
+                       if(!dospill) {
+                               pdiv = (h.h.second + offBase) / pospart;
+                               pmod = (h.h.second + offBase) % pospart;
+                       }
+                       assert_neq(0xffffffff, pdiv);
+                       assert_neq(0xffffffff, pmod);
+                       if(dospill) assert_gt(spillAmt, 0);
+                       ss2 << (pdiv + (dospill ? spillAmt : 0));
+                       if(partition > 0 &&
+                          (pmod + h.length()) >= ((uint32_t)pospart * (spillAmt + 1))) {
+                               // Spills into the next partition so we need to
+                               // output another alignment for that partition
+                               spill = true;
+                       }
+                       if(!suppress.test(field++)) {
+                               if(firstfield) firstfield = false;
+                               else ss << '\t';
+                               // Print partition id with leading 0s so that Hadoop
+                               // can do lexicographical sort (modern Hadoop versions
+                               // seen to support numeric)
+                               string s2 = ss2.str();
+                               size_t partDigits = 1;
+                               if(pospart >= 10) partDigits++;
+                               if(pospart >= 100) partDigits++;
+                               if(pospart >= 1000) partDigits++;
+                               if(pospart >= 10000) partDigits++;
+                               if(pospart >= 100000) partDigits++;
+                               for(size_t i = s2.length(); i < (10-partDigits); i++) {
+                                       ss << "0";
+                               }
+                               ss << s2.c_str();
+                       }
+                       if(!suppress.test(field++)) {
+                               if(firstfield) firstfield = false;
+                               else ss << '\t';
+                               // Print offset with leading 0s
+                               ss3 << (h.h.second + offBase);
+                               string s3 = ss3.str();
+                               for(size_t i = s3.length(); i < 9; i++) {
+                                       ss << "0";
+                               }
+                               ss << s3;
+                       }
+                       if(!suppress.test(field++)) {
+                               if(firstfield) firstfield = false;
+                               else ss << '\t';
+                               ss << (h.fw? "+":"-");
+                       }
+                       // end if(partition != 0)
+               } else {
+                       assert(!dospill);
+                       if(!suppress.test(field++)) {
+                               if(firstfield) firstfield = false;
+                               else ss << '\t';
+                               ss << h.patName;
+                       }
+                       if(!suppress.test(field++)) {
+                               if(firstfield) firstfield = false;
+                               else ss << '\t';
+                               ss << (h.fw? '+' : '-');
+                       }
+                       if(!suppress.test(field++)) {
+                               if(firstfield) firstfield = false;
+                               else ss << '\t';
+                               // .first is text id, .second is offset
+                               if(refnames != NULL && rmap != NULL) {
+                                       printUptoWs(ss, rmap->getName(h.h.first), !fullRef);
+                               } else if(refnames != NULL && h.h.first < refnames->size()) {
+                                       printUptoWs(ss, (*refnames)[h.h.first], !fullRef);
+                               } else {
+                                       ss << h.h.first;
+                               }
+                       }
+                       if(!suppress.test(field++)) {
+                               if(firstfield) firstfield = false;
+                               else ss << '\t';
+                               ss << (h.h.second + offBase);
+                       }
+                       // end else clause of if(partition != 0)
+               }
+               if(!suppress.test(field++)) {
+                       if(firstfield) firstfield = false;
+                       else ss << '\t';
+                       const String<Dna5>* pat = &h.patSeq;
+                       if(h.color && colorSeq) pat = &h.colSeq;
+                       ss << *pat;
+               }
+               if(!suppress.test(field++)) {
+                       if(firstfield) firstfield = false;
+                       else ss << '\t';
+                       const String<char>* qual = &h.quals;
+                       if(h.color && colorQual) qual = &h.colQuals;
+                       ss << *qual;
+               }
+               if(!suppress.test(field++)) {
+                       if(firstfield) firstfield = false;
+                       else ss << '\t';
+                       ss << h.oms;
+               }
+               if(!suppress.test(field++)) {
+                       if(firstfield) firstfield = false;
+                       else ss << '\t';
+                       // Look for SNP annotations falling within the alignment
+                       map<int, char> snpAnnots;
+                       const size_t len = length(h.patSeq);
+                       if(amap != NULL) {
+                               AnnotationMap::Iter ai = amap->lower_bound(h.h);
+                               for(; ai != amap->end(); ai++) {
+                                       assert_geq(ai->first.first, h.h.first);
+                                       if(ai->first.first != h.h.first) {
+                                               // Different chromosome
+                                               break;
+                                       }
+                                       if(ai->first.second >= h.h.second + len) {
+                                               // Doesn't fall into alignment
+                                               break;
+                                       }
+                                       if(ai->second.first != 'S') {
+                                               // Not a SNP annotation
+                                               continue;
+                                       }
+                                       size_t off = ai->first.second - h.h.second;
+                                       if(!h.fw) off = len - off - 1;
+                                       snpAnnots[off] = ai->second.second;
+                               }
+                       }
+                       // Output mismatch column
+                       bool firstmm = true;
+                       for (unsigned int i = 0; i < len; ++ i) {
+                               if(h.mms.test(i)) {
+                                       // There's a mismatch at this position
+                                       if (!firstmm) ss << ",";
+                                       ss << i; // position
+                                       assert_gt(h.refcs.size(), i);
+                                       char refChar = toupper(h.refcs[i]);
+                                       char qryChar = (h.fw ? h.patSeq[i] : h.patSeq[length(h.patSeq)-i-1]);
+                                       assert_neq(refChar, qryChar);
+                                       ss << ":" << refChar << ">" << qryChar;
+                                       firstmm = false;
+                               } else if(snpAnnots.find(i) != snpAnnots.end()) {
+                                       if (!firstmm) ss << ",";
+                                       ss << i; // position
+                                       char qryChar = (h.fw ? h.patSeq[i] : h.patSeq[length(h.patSeq)-i-1]);
+                                       ss << "S:" << snpAnnots[i] << ">" << qryChar;
+                                       firstmm = false;
+                               }
+                       }
+                       if(partition != 0 && firstmm) ss << '-';
+               }
+               if(partition != 0) {
+                       // Fields addded as of Crossbow 0.1.4
+                       if(!suppress.test(field++)) {
+                               if(firstfield) firstfield = false;
+                               else ss << '\t';
+                               ss << (int)h.mate;
+                       }
+                       // Print label, or whole read name if label isn't found
+                       if(!suppress.test(field++)) {
+                               if(firstfield) firstfield = false;
+                               else ss << '\t';
+                               int labelOff = -1;
+                               // If LB: field is present, print its value
+                               for(int i = 0; i < (int)seqan::length(h.patName)-3; i++) {
+                                       if(h.patName[i]   == 'L' &&
+                                          h.patName[i+1] == 'B' &&
+                                          h.patName[i+2] == ':' &&
+                                          ((i == 0) || h.patName[i-1] == ';'))
+                                       {
+                                               labelOff = i+3;
+                                               for(int j = labelOff; j < (int)seqan::length(h.patName); j++) {
+                                                       if(h.patName[j] != ';') {
+                                                               ss << h.patName[j];
+                                                       } else {
+                                                               break;
+                                                       }
+                                               }
+                                       }
+                               }
+                               // Otherwise, print the whole read name
+                               if(labelOff == -1) ss << h.patName;
+                       }
+               }
+               if(cost) {
+                       // Stratum
+                       if(!suppress.test(field++)) {
+                               if(firstfield) firstfield = false;
+                               else ss << '\t';
+                               ss << (int)h.stratum;
+                       }
+                       // Cost
+                       if(!suppress.test(field++)) {
+                               if(firstfield) firstfield = false;
+                               else ss << '\t';
+                               ss << (int)h.cost;
+                       }
+               }
+               if(showSeed) {
+                       // Seed
+                       if(!suppress.test(field++)) {
+                               if(firstfield) firstfield = false;
+                               else ss << '\t';
+                               ss << h.seed;
+                       }
+               }
+               ss << endl;
+       } while(spill);
+}
diff --git a/hit.h b/hit.h
new file mode 100644 (file)
index 0000000..5f6d504
--- /dev/null
+++ b/hit.h
@@ -0,0 +1,2095 @@
+#ifndef HIT_H_
+#define HIT_H_
+
+#include <vector>
+#include <stdint.h>
+#include <iostream>
+#include <sstream>
+#include <fstream>
+#include <string>
+#include <stdexcept>
+#include <seqan/sequence.h>
+#include "alphabet.h"
+#include "assert_helpers.h"
+#include "spinlock.h"
+#include "threading.h"
+#include "bitset.h"
+#include "tokenize.h"
+#include "pat.h"
+#include "formats.h"
+#include "filebuf.h"
+#include "edit.h"
+#include "refmap.h"
+#include "annot.h"
+
+/**
+ * Classes for dealing with reporting alignments.
+ */
+
+using namespace std;
+using namespace seqan;
+
+/// Constants for the various output modes
+enum output_types {
+       OUTPUT_FULL = 1,
+       OUTPUT_CONCISE,
+       OUTPUT_BINARY,
+       OUTPUT_CHAIN,
+       OUTPUT_SAM,
+       OUTPUT_NONE
+};
+
+/// Names of the various output modes
+static const std::string output_type_names[] = {
+       "Invalid!",
+       "Full",
+       "Concise",
+       "Binary",
+       "None"
+};
+
+typedef pair<uint32_t,uint32_t> U32Pair;
+
+/**
+ * Encapsulates a hit, including a text-id/text-offset pair, a pattern
+ * id, and a boolean indicating whether it matched as its forward or
+ * reverse-complement version.
+ */
+class Hit {
+public:
+       Hit() : stratum(-1) { }
+
+       /**
+        * Initialize this Ent to represent the given hit.
+        */
+       void toHitSetEnt(HitSetEnt& hse, AnnotationMap *amap) const {
+               hse.h = h;
+               hse.fw = fw ? 1 : 0;
+               hse.oms = oms;
+               hse.stratum = stratum;
+               hse.cost = cost;
+               if(mms.count() == 0) return;
+               for(int i = 0; i < (int)length(); i++) {
+                       if(mms.test(i)) {
+                               hse.expand();
+                               hse.back().type = EDIT_TYPE_MM;
+                               hse.back().pos = i;
+                               hse.back().chr = refcs[i];
+                       }
+               }
+       }
+
+       /**
+        * Convert a list of Hit objects to a single HitSet object suitable
+        * for chaining.
+        */
+       static void toHitSet(const std::vector<Hit>& hits, HitSet& hs,
+                            AnnotationMap *amap)
+       {
+               if(hits.empty()) return;
+               // Initialize HitSet
+               hs.name = hits.front().patName;
+               hs.seq  = hits.front().patSeq;
+               hs.qual = hits.front().quals;
+               hs.color = hits.front().color;
+               if(!hits.front().fw) {
+                       // Re-reverse
+                       reverseComplementInPlace(hs.seq, hs.color);
+                       reverseInPlace(hs.qual);
+               }
+               // Convert hits to entries
+               hs.ents.resize(hits.size());
+               for(size_t i = 0; i < hs.ents.size(); i++) {
+                       hits[i].toHitSetEnt(hs.ents[i], amap);
+               }
+       }
+
+       /**
+        * Populate a vector of Hits with hits from the given HitSet.
+        */
+       static void fromHitSet(std::vector<Hit>& hits, const HitSet& hs) {
+               assert(hs.sorted());
+               hits.resize(hs.size());
+               for(size_t i = 0; i < hs.size(); i++) {
+                       hits[i].h = hs[i].h;
+                       hits[i].oms = hs[i].oms;
+                       hits[i].fw = hs[i].fw;
+                       hits[i].stratum = hs[i].stratum;
+                       hits[i].cost = hs[i].cost;
+                       hits[i].mate = 0; //hs[i].mate;
+                       hits[i].patName = hs.name;
+                       hits[i].patSeq = hs.seq;
+                       hits[i].quals = hs.qual;
+                       hits[i].color = hs.color;
+                       size_t len = seqan::length(hs.seq);
+                       if(!hs[i].fw) {
+                               reverseComplementInPlace(hits[i].patSeq, hs.color);
+                               reverseInPlace(hits[i].quals);
+                       }
+                       hits[i].refcs.resize(len);
+                       for(size_t j = 0; j < hs[i].size(); j++) {
+                               if(hs[i][j].type != EDIT_TYPE_MM) continue;
+                               hits[i].mms.set(hs[i][j].pos);
+                               hits[i].refcs[hs[i][j].pos] = hs[i][j].chr;
+                       }
+               }
+       }
+
+       U32Pair             h;       /// reference index & offset
+       U32Pair             mh;      /// reference index & offset for mate
+       uint32_t            patId;   /// read index
+       String<char>        patName; /// read name
+       String<Dna5>        patSeq;  /// read sequence
+       String<Dna5>        colSeq;  /// original color sequence, not decoded
+       String<char>        quals;   /// read qualities
+       String<char>        colQuals;/// original color qualities, not decoded
+       FixedBitset<1024>   mms;     /// nucleotide mismatch mask
+       FixedBitset<1024>   cmms;    /// color mismatch mask (if relevant)
+       vector<char>        refcs;   /// reference characters for mms
+       vector<char>        crefcs;  /// reference characters for cmms
+       uint32_t            oms;     /// # of other possible mappings; 0 -> this is unique
+       bool                fw;      /// orientation of read in alignment
+       bool                mfw;     /// orientation of mate in alignment
+       uint16_t            mlen;    /// length of mate
+       int8_t              stratum; /// stratum of hit (= mismatches in seed)
+       uint32_t            cost;    /// total cost, factoring in stratum and quality penalty
+       uint8_t             mate;    /// matedness; 0 = not a mate
+                                    ///            1 = upstream mate
+                                    ///            2 = downstream mate
+       bool                color;   /// read is in colorspace?
+       uint32_t            seed;    /// pseudo-random seed for aligned read
+
+       /**
+        * Return true if this Hit is internally consistent.  Otherwise,
+        * throw an assertion.
+        */
+       bool repOk() const {
+               assert_geq(cost, (uint32_t)(stratum << 14));
+               return true;
+       }
+
+       size_t length() const { return seqan::length(patSeq); }
+
+       Hit& operator = (const Hit &other) {
+               this->h       = other.h;
+               this->mh      = other.mh;
+               this->patId   = other.patId;
+               this->patName = other.patName;
+               this->patSeq  = other.patSeq;
+               this->colSeq  = other.colSeq;
+               this->quals   = other.quals;
+               this->colQuals= other.colQuals;
+               this->mms     = other.mms;
+               this->cmms    = other.cmms;
+               this->refcs   = other.refcs;
+               this->crefcs  = other.crefcs;
+               this->oms     = other.oms;
+               this->fw      = other.fw;
+               this->mfw     = other.mfw;
+               this->mlen    = other.mlen;
+               this->stratum = other.stratum;
+               this->cost    = other.cost;
+               this->mate    = other.mate;
+               this->color   = other.color;
+               this->cmms    = other.cmms;
+               this->seed    = other.seed;
+               return *this;
+       }
+};
+
+/**
+ * Compare hits a and b; a < b if its cost is less than B's.  If
+ * there's a tie, break on position and orientation.
+ */
+class HitCostCompare {
+public:
+       bool operator() (const Hit& a, const Hit& b) {
+               if(a.cost < b.cost) return true;
+               if(a.cost > b.cost) return false;
+               if(a.h < b.h) return true;
+               if(a.h > b.h) return false;
+               if(a.fw < b.fw) return true;
+               if(a.fw > b.fw) return false;
+               return false;
+       }
+};
+
+/// Sort by text-id then by text-offset
+bool operator< (const Hit& a, const Hit& b);
+
+/**
+ * Table for holding recalibration counts, along the lines of the table
+ * presented in the SOAPsnp paper in Genome Res.  Each element maps a
+ * read allele (o), quality score (q), cycle (c), and reference allele
+ * (H), to a count of how many times that combination is observed in a
+ * reported alignment.
+ *
+ * RecalTable is not synchronized, so it's assumed that threads are
+ * incrementing the counters from within critical sections.
+ */
+class RecalTable {
+public:
+       RecalTable(int maxCycle,
+                  int maxQual,
+                  int qualShift) : maxCycle_(maxCycle),
+                                   maxQual_(maxQual),
+                                   qualShift_(qualShift),
+                                   shift1_(6 - qualShift_),
+                                   shift2_(shift1_ + 2),
+                                   shift3_(shift2_ + 2),
+                                   ents_(NULL), len_(0)
+       {
+               if(maxCycle == 0) {
+                       cerr << "Warning: maximum cycle for recalibration table is 0" << endl;
+               } else if(maxQual >> qualShift == 0) {
+                       cerr << "Warning: maximum quality value " << maxQual << ", when shifted, is 0" << endl;
+               } else if(qualShift > 5) {
+                       cerr << "Warning: quality shift value " << qualShift << " exceeds ceiling of 5" << endl;
+               } else {
+                       try {
+                               len_ = maxCycle_ * 4 /* subj alleles*/ * 4 /* ref alleles */ * 64 /* quals */;
+                               ents_ = new uint32_t[len_];
+                               if(ents_ == NULL) {
+                                       throw std::bad_alloc();
+                               }
+                               memset(ents_, 0, len_ << 2);
+                       } catch(std::bad_alloc& e) {
+                               cerr << "Error allocating recalibration table with " << len_ << " entries" << endl;
+                               throw 1;
+                       }
+               }
+       }
+
+       ~RecalTable() {
+               if(ents_ != NULL) delete[] ents_;
+       }
+
+       /**
+        * Factor a new alignment into the recalibration table.
+        */
+       void commitHit(const Hit& h) {
+               // Iterate through the pattern from 5' to 3', calculate the
+               // shifted quality value, obtain the reference character, and
+               // increment the appropriate counter
+               assert(h.repOk());
+               for(int i = 0; i < (int)h.length(); i++) {
+                       int ii = i;
+                       if(!h.fw) {
+                               ii = h.length() - ii - 1;
+                       }
+                       int qc = (int)h.patSeq[ii];
+                       int rc = qc;
+                       if(h.mms.test(i)) {
+                               rc = charToDna5[(int)h.refcs[i]];
+                               assert_neq(rc, qc);
+                       }
+                       int q = (int)h.quals[ii]-33;
+                       assert_lt(q, 64);
+                       q >>= qualShift_;
+                       ents_[calcIdx(i, qc, rc, q)]++;
+               }
+       }
+
+       /**
+        * Print the contents of the recalibration table.
+        */
+       void print (std::ostream& out) const {
+               if(ents_ == NULL) return;
+               const int lim = maxCycle_;
+               for(int i = 0; i < lim; i++) {
+                       out << "t" << i << "\t";
+                       // Iterate over subject alleles
+                       for(int j = 0; j < 4; j++) {
+                               // Iterate over reference alleles
+                               for(int k = 0; k < 4; k++) {
+                                       // Iterate over qualities
+                                       int lim2 = maxQual_ >> qualShift_;
+                                       for(int l = 0; l < lim2; l++) {
+                                               out << ents_[calcIdx(i, j, k, l)] << '\t';
+                                       }
+                               }
+                       }
+                       out << endl;
+               }
+       }
+
+protected:
+
+       /**
+        * Calculate index into the ents_ array given cycle, subject
+        * allele, reference allele, and (shifted) quality.
+        */
+       int calcIdx(int cyc, int sa, int ra, int q) const {
+               int ret = q | (ra << shift1_) | (sa << shift2_) | (cyc << shift3_);
+               assert_lt(ret, len_);
+               return ret;
+       }
+
+       const int maxCycle_;
+       const int maxQual_;
+       const int qualShift_;
+       const int shift1_;
+       const int shift2_;
+       const int shift3_;
+       uint32_t *ents_;
+       int len_;
+};
+
+#define DECL_HIT_DUMPS \
+       const std::string& dumpAl, \
+       const std::string& dumpUnal, \
+       const std::string& dumpMax
+
+#define INIT_HIT_DUMPS \
+       dumpAlBase_(dumpAl), \
+       dumpUnalBase_(dumpUnal), \
+       dumpMaxBase_(dumpMax)
+
+#define DECL_HIT_DUMPS2 \
+       DECL_HIT_DUMPS, \
+       bool onePairFile, \
+       bool sampleMax, \
+       RecalTable *recalTable, \
+       std::vector<std::string>* refnames
+
+#define PASS_HIT_DUMPS \
+       dumpAl, \
+       dumpUnal, \
+       dumpMax
+
+#define PASS_HIT_DUMPS2 \
+       PASS_HIT_DUMPS, \
+       onePairFile, \
+       sampleMax, \
+       recalTable, \
+       refnames
+
+/**
+ * Encapsulates an object that accepts hits, optionally retains them in
+ * a vector, and does something else with them according to
+ * descendent's implementation of pure virtual member reportHitImpl().
+ */
+class HitSink {
+public:
+       explicit HitSink(OutFileBuf* out,
+                       DECL_HIT_DUMPS,
+                       bool onePairFile,
+                       bool sampleMax,
+                       RecalTable *table,
+                       vector<string>* refnames = NULL) :
+               _outs(),
+               _deleteOuts(false),
+               recalTable_(table),
+               _refnames(refnames),
+               _numWrappers(0),
+               _locks(),
+               INIT_HIT_DUMPS,
+               onePairFile_(onePairFile),
+               sampleMax_(sampleMax),
+               first_(true),
+               numAligned_(0llu),
+               numUnaligned_(0llu),
+               numMaxed_(0llu),
+               numReported_(0llu),
+               numReportedPaired_(0llu),
+               quiet_(false),
+               ssmode_(ios_base::out)
+       {
+               _outs.push_back(out);
+               _locks.resize(1);
+               MUTEX_INIT(_locks[0]);
+               MUTEX_INIT(_mainlock);
+               initDumps();
+       }
+
+       /**
+        * Open a number of output streams; usually one per reference
+        * sequence.  For now, we give then names refXXXXX.map where XXXXX
+        * is the 0-padded reference index.  Someday we may want to include
+        * the name of the reference sequence in the filename somehow.
+        */
+       explicit HitSink(size_t numOuts,
+                       DECL_HIT_DUMPS,
+                       bool onePairFile,
+                       bool sampleMax,
+                       RecalTable *table,
+                       vector<string>* refnames = NULL) :
+               _outs(),
+               _deleteOuts(true),
+               recalTable_(table),
+               _refnames(refnames),
+               _locks(),
+               INIT_HIT_DUMPS,
+               onePairFile_(onePairFile),
+               sampleMax_(sampleMax),
+               quiet_(false),
+               ssmode_(ios_base::out)
+       {
+               // Open all files for writing and initialize all locks
+               for(size_t i = 0; i < numOuts; i++) {
+                       _outs.push_back(NULL); // we open output streams lazily
+                       _locks.resize(i+1);
+                       MUTEX_INIT(_locks[i]);
+               }
+               MUTEX_INIT(_mainlock);
+               initDumps();
+       }
+
+       /**
+        * Destroy HitSinkobject;
+        */
+       virtual ~HitSink() {
+               closeOuts();
+               if(_deleteOuts) {
+                       // Delete all non-NULL output streams
+                       for(size_t i = 0; i < _outs.size(); i++) {
+                               if(_outs[i] != NULL) {
+                                       delete _outs[i];
+                                       _outs[i] = NULL;
+                               }
+                       }
+               }
+               destroyDumps();
+       }
+
+       /**
+        * Call this whenever this HitSink is wrapped by a new
+        * HitSinkPerThread.  This helps us keep track of whether the main
+        * lock or any of the per-stream locks will be contended.
+        */
+       void addWrapper() {
+               _numWrappers++;
+       }
+
+       /**
+        * Called by concrete subclasses to figure out which elements of
+        * the _outs/_locks array to use when outputting the alignment.
+        */
+       size_t refIdxToStreamIdx(size_t refIdx) {
+               if(refIdx >= _outs.size()) return 0;
+               return refIdx;
+       }
+
+       /**
+        * Append a single hit to the given output stream.
+        */
+       virtual void append(ostream& o, const Hit& h) = 0;
+
+       /**
+        * Report a batch of hits; all in the given vector.
+        */
+       virtual void reportHits(vector<Hit>& hs) {
+               reportHits(hs, 0, hs.size());
+       }
+
+       /**
+        * Report a batch of hits from a vector, perhaps subsetting it.
+        */
+       virtual void reportHits(vector<Hit>& hs, size_t start, size_t end) {
+               assert_geq(end, start);
+               if(end-start == 0) return;
+               bool paired = hs[start].mate > 0;
+               // Sort reads so that those against the same reference sequence
+               // are consecutive.
+               if(_outs.size() > 1 && end-start > 2) {
+                       sort(hs.begin() + start, hs.begin() + end);
+               }
+               char buf[4096];
+               for(size_t i = start; i < end; i++) {
+                       const Hit& h = hs[i];
+                       assert(h.repOk());
+                       bool diff = false;
+                       if(i > start) {
+                               diff = (refIdxToStreamIdx(h.h.first) != refIdxToStreamIdx(hs[i-1].h.first));
+                               if(diff) unlock(hs[i-1].h.first);
+                       }
+                       ostringstream ss(ssmode_);
+                       ss.rdbuf()->pubsetbuf(buf, 4096);
+                       append(ss, h);
+                       if(i == start || diff) {
+                               lock(h.h.first);
+                       }
+                       out(h.h.first).writeChars(buf, ss.tellp());
+               }
+               unlock(hs[end-1].h.first);
+               mainlock();
+               commitHits(hs);
+               first_ = false;
+               numAligned_++;
+               if(paired) numReportedPaired_ += (end-start);
+               else       numReported_ += (end-start);
+               mainunlock();
+       }
+
+       void commitHit(const Hit& hit) {
+               if(recalTable_ != NULL) {
+                       recalTable_->commitHit(hit);
+               }
+       }
+
+       void commitHits(const std::vector<Hit>& hits) {
+               if(recalTable_ != NULL) {
+                       const size_t sz = hits.size();
+                       for(size_t i = 0; i < sz; i++) {
+                               commitHit(hits[i]);
+                       }
+               }
+       }
+
+       /**
+        * Called when all alignments are complete.  It is assumed that no
+        * synchronization is necessary.
+        */
+       void finish(bool hadoopOut) {
+               // Close output streams
+               closeOuts();
+               if(!quiet_) {
+                       // Print information about how many unpaired and/or paired
+                       // reads were aligned.
+                       uint64_t tot = numAligned_ + numUnaligned_ + numMaxed_;
+                       double alPct = 0.0, unalPct = 0.0, maxPct = 0.0;
+                       if(tot > 0) {
+                               alPct   = 100.0 * (double)numAligned_ / (double)tot;
+                               unalPct = 100.0 * (double)numUnaligned_ / (double)tot;
+                               maxPct  = 100.0 * (double)numMaxed_ / (double)tot;
+                       }
+                       cerr << "# reads processed: " << tot << endl;
+                       cerr << "# reads with at least one reported alignment: "
+                            << numAligned_ << " (" << fixed << setprecision(2)
+                            << alPct << "%)" << endl;
+                       cerr << "# reads that failed to align: "
+                            << numUnaligned_ << " (" << fixed << setprecision(2)
+                            << unalPct << "%)" << endl;
+                       if(numMaxed_ > 0) {
+                               if(sampleMax_) {
+                                       cerr << "# reads with alignments sampled due to -M: "
+                                                << numMaxed_ << " (" << fixed << setprecision(2)
+                                                << maxPct << "%)" << endl;
+                               } else {
+                                       cerr << "# reads with alignments suppressed due to -m: "
+                                                << numMaxed_ << " (" << fixed << setprecision(2)
+                                                << maxPct << "%)" << endl;
+                               }
+                       }
+                       if(first_) {
+                               assert_eq(0llu, numReported_);
+                               cerr << "No alignments" << endl;
+                       }
+                       else if(numReportedPaired_ > 0 && numReported_ == 0) {
+                               cerr << "Reported " << (numReportedPaired_ >> 1)
+                                        << " paired-end alignments to " << _outs.size()
+                                        << " output stream(s)" << endl;
+                       }
+                       else if(numReported_ > 0 && numReportedPaired_ == 0) {
+                               cerr << "Reported " << numReported_
+                                        << " alignments to " << _outs.size()
+                                        << " output stream(s)" << endl;
+                       }
+                       else {
+                               assert_gt(numReported_, 0);
+                               assert_gt(numReportedPaired_, 0);
+                               cerr << "Reported " << (numReportedPaired_ >> 1)
+                                        << " paired-end alignments and " << numReported_
+                                        << " singleton alignments to " << _outs.size()
+                                        << " output stream(s)" << endl;
+                       }
+                       if(hadoopOut) {
+                               cerr << "reporter:counter:Bowtie,Reads with reported alignments," << numAligned_ << endl;
+                               cerr << "reporter:counter:Bowtie,Reads with no alignments," << numUnaligned_ << endl;
+                               cerr << "reporter:counter:Bowtie,Reads exceeding -m limit," << numMaxed_ << endl;
+                               cerr << "reporter:counter:Bowtie,Unpaired alignments reported," << numReported_ << endl;
+                               cerr << "reporter:counter:Bowtie,Paired alignments reported," << numReportedPaired_ << endl;
+                       }
+               }
+               // Print the recalibration table.
+               if(recalTable_ != NULL) {
+                       recalTable_->print(cout);
+               }
+       }
+
+       /// Returns the alignment output stream; if the stream needs to be
+       /// created, create it
+       OutFileBuf& out(size_t refIdx) {
+               size_t strIdx = refIdxToStreamIdx(refIdx);
+               if(_outs[strIdx] == NULL) {
+                       assert(_deleteOuts);
+                       ostringstream oss;
+                       oss << "ref";
+                       if     (strIdx < 10)    oss << "0000";
+                       else if(strIdx < 100)   oss << "000";
+                       else if(strIdx < 1000)  oss << "00";
+                       else if(strIdx < 10000) oss << "0";
+                       oss << strIdx << ".map";
+                       _outs[strIdx] = new OutFileBuf(oss.str().c_str(), ssmode_ == ios_base::binary);
+               }
+               assert(_outs[strIdx] != NULL);
+               return *(_outs[strIdx]);
+       }
+
+       /**
+        * Lock the monolithic lock for this HitSink.  This is useful when,
+        * for example, outputting a read to an unaligned-read file.
+        */
+       void mainlock() {
+               MUTEX_LOCK(_mainlock);
+       }
+
+       /**
+        * Unlock the monolithic lock for this HitSink.  This is useful
+        * when, for example, outputting a read to an unaligned-read file.
+        */
+       void mainunlock() {
+               MUTEX_UNLOCK(_mainlock);
+       }
+
+       /**
+        * Return true iff this HitSink dumps aligned reads to an output
+        * stream (i.e., iff --alfa or --alfq are specified).
+        */
+       bool dumpsAlignedReads() {
+               return dumpAlignFlag_;
+       }
+
+       /**
+        * Return true iff this HitSink dumps unaligned reads to an output
+        * stream (i.e., iff --unfa or --unfq are specified).
+        */
+       bool dumpsUnalignedReads() {
+               return dumpUnalignFlag_;
+       }
+
+       /**
+        * Return true iff this HitSink dumps maxed-out reads to an output
+        * stream (i.e., iff --maxfa or --maxfq are specified).
+        */
+       bool dumpsMaxedReads() {
+               return dumpMaxedFlag_ || dumpUnalignFlag_;
+       }
+
+       /**
+        * Return true iff this HitSink dumps either unaligned or maxed-
+        * out reads to an output stream (i.e., iff --unfa, --maxfa,
+        * --unfq, or --maxfq are specified).
+        */
+       bool dumpsReads() {
+               return dumpAlignFlag_ || dumpUnalignFlag_ || dumpMaxedFlag_;
+       }
+
+       /**
+        * Dump an aligned read to all of the appropriate output streams.
+        * Be careful to synchronize correctly - there may be multiple
+        * simultaneous writers.
+        */
+       void dumpAlign(PatternSourcePerThread& p) {
+               if(!dumpAlignFlag_) return;
+               if(!p.paired() || onePairFile_) {
+                       // Dump unpaired read to an aligned-read file of the same format
+                       if(!dumpAlBase_.empty()) {
+                               MUTEX_LOCK(dumpAlignLock_);
+                               if(dumpAl_ == NULL) {
+                                       assert(dumpAlQv_ == NULL);
+                                       dumpAl_ = openOf(dumpAlBase_, 0, "");
+                                       assert(dumpAl_ != NULL);
+                                       if(p.bufa().qualOrigBufLen > 0) {
+                                               dumpAlQv_ = openOf(dumpAlBase_ + ".qual", 0, "");
+                                               assert(dumpAlQv_ != NULL);
+                                       }
+                               }
+                               dumpAl_->write(p.bufa().readOrigBuf, p.bufa().readOrigBufLen);
+                               if(dumpAlQv_ != NULL) {
+                                       dumpAlQv_->write(p.bufa().qualOrigBuf, p.bufa().qualOrigBufLen);
+                               }
+                               MUTEX_UNLOCK(dumpAlignLock_);
+                       }
+               } else {
+                       // Dump paired-end read to an aligned-read file (or pair of
+                       // files) of the same format
+                       if(!dumpAlBase_.empty()) {
+                               MUTEX_LOCK(dumpAlignLockPE_);
+                               if(dumpAl_1_ == NULL) {
+                                       assert(dumpAlQv_1_ == NULL);
+                                       assert(dumpAlQv_2_ == NULL);
+                                       dumpAl_1_ = openOf(dumpAlBase_, 1, "");
+                                       dumpAl_2_ = openOf(dumpAlBase_, 2, "");
+                                       assert(dumpAl_1_ != NULL);
+                                       assert(dumpAl_2_ != NULL);
+                                       if(p.bufa().qualOrigBufLen > 0) {
+                                               dumpAlQv_1_ = openOf(dumpAlBase_ + ".qual", 1, "");
+                                               dumpAlQv_2_ = openOf(dumpAlBase_ + ".qual", 2, "");
+                                               assert(dumpAlQv_1_ != NULL);
+                                               assert(dumpAlQv_2_ != NULL);
+                                       }
+                               }
+                               dumpAl_1_->write(p.bufa().readOrigBuf, p.bufa().readOrigBufLen);
+                               dumpAl_2_->write(p.bufb().readOrigBuf, p.bufb().readOrigBufLen);
+                               if(dumpAlQv_1_ != NULL) {
+                                       dumpAlQv_1_->write(p.bufa().qualOrigBuf, p.bufa().qualOrigBufLen);
+                                       dumpAlQv_2_->write(p.bufb().qualOrigBuf, p.bufb().qualOrigBufLen);
+                               }
+                               MUTEX_UNLOCK(dumpAlignLockPE_);
+                       }
+               }
+       }
+
+       /**
+        * Dump an unaligned read to all of the appropriate output streams.
+        * Be careful to synchronize correctly - there may be multiple
+        * simultaneous writers.
+        */
+       void dumpUnal(PatternSourcePerThread& p) {
+               if(!dumpUnalignFlag_) return;
+               if(!p.paired() || onePairFile_) {
+                       // Dump unpaired read to an unaligned-read file of the same format
+                       if(!dumpUnalBase_.empty()) {
+                               MUTEX_LOCK(dumpUnalLock_);
+                               if(dumpUnal_ == NULL) {
+                                       assert(dumpUnalQv_ == NULL);
+                                       dumpUnal_ = openOf(dumpUnalBase_, 0, "");
+                                       assert(dumpUnal_ != NULL);
+                                       if(p.bufa().qualOrigBufLen > 0) {
+                                               dumpUnalQv_ = openOf(dumpUnalBase_ + ".qual", 0, "");
+                                               assert(dumpUnalQv_ != NULL);
+                                       }
+                               }
+                               dumpUnal_->write(p.bufa().readOrigBuf, p.bufa().readOrigBufLen);
+                               if(dumpUnalQv_ != NULL) {
+                                       dumpUnalQv_->write(p.bufa().qualOrigBuf, p.bufa().qualOrigBufLen);
+                               }
+                               MUTEX_UNLOCK(dumpUnalLock_);
+                       }
+               } else {
+                       // Dump paired-end read to an unaligned-read file (or pair
+                       // of files) of the same format
+                       if(!dumpUnalBase_.empty()) {
+                               MUTEX_LOCK(dumpUnalLockPE_);
+                               if(dumpUnal_1_ == NULL) {
+                                       assert(dumpUnal_1_ == NULL);
+                                       assert(dumpUnal_2_ == NULL);
+                                       dumpUnal_1_ = openOf(dumpUnalBase_, 1, "");
+                                       dumpUnal_2_ = openOf(dumpUnalBase_, 2, "");
+                                       assert(dumpUnal_1_ != NULL);
+                                       assert(dumpUnal_2_ != NULL);
+                                       if(p.bufa().qualOrigBufLen > 0) {
+                                               dumpUnalQv_1_ = openOf(dumpUnalBase_ + ".qual", 1, "");
+                                               dumpUnalQv_2_ = openOf(dumpUnalBase_ + ".qual", 2, "");
+                                       }
+                               }
+                               dumpUnal_1_->write(p.bufa().readOrigBuf, p.bufa().readOrigBufLen);
+                               dumpUnal_2_->write(p.bufb().readOrigBuf, p.bufb().readOrigBufLen);
+                               if(dumpUnalQv_1_ != NULL) {
+                                       dumpUnalQv_1_->write(p.bufa().qualOrigBuf, p.bufa().qualOrigBufLen);
+                                       dumpUnalQv_2_->write(p.bufb().qualOrigBuf, p.bufb().qualOrigBufLen);
+                               }
+                               MUTEX_UNLOCK(dumpUnalLockPE_);
+                       }
+               }
+       }
+
+       /**
+        * Dump a maxed-out read to all of the appropriate output streams.
+        * Be careful to synchronize correctly - there may be multiple
+        * simultaneous writers.
+        */
+       void dumpMaxed(PatternSourcePerThread& p) {
+               if(!dumpMaxedFlag_) {
+                       if(dumpUnalignFlag_) dumpUnal(p);
+                       return;
+               }
+               if(!p.paired() || onePairFile_) {
+                       // Dump unpaired read to an maxed-out-read file of the same format
+                       if(!dumpMaxBase_.empty()) {
+                               MUTEX_LOCK(dumpMaxLock_);
+                               if(dumpMax_ == NULL) {
+                                       dumpMax_ = openOf(dumpMaxBase_, 0, "");
+                                       assert(dumpMax_ != NULL);
+                                       if(p.bufa().qualOrigBufLen > 0) {
+                                               dumpMaxQv_ = openOf(dumpMaxBase_ + ".qual", 0, "");
+                                       }
+                               }
+                               dumpMax_->write(p.bufa().readOrigBuf, p.bufa().readOrigBufLen);
+                               if(dumpMaxQv_ != NULL) {
+                                       dumpMaxQv_->write(p.bufa().qualOrigBuf, p.bufa().qualOrigBufLen);
+                               }
+                               MUTEX_UNLOCK(dumpMaxLock_);
+                       }
+               } else {
+                       // Dump paired-end read to a maxed-out-read file (or pair
+                       // of files) of the same format
+                       if(!dumpMaxBase_.empty()) {
+                               MUTEX_LOCK(dumpMaxLockPE_);
+                               if(dumpMax_1_ == NULL) {
+                                       assert(dumpMaxQv_1_ == NULL);
+                                       assert(dumpMaxQv_2_ == NULL);
+                                       dumpMax_1_ = openOf(dumpMaxBase_, 1, "");
+                                       dumpMax_2_ = openOf(dumpMaxBase_, 2, "");
+                                       assert(dumpMax_1_ != NULL);
+                                       assert(dumpMax_2_ != NULL);
+                                       if(p.bufa().qualOrigBufLen > 0) {
+                                               dumpMaxQv_1_ = openOf(dumpMaxBase_ + ".qual", 1, "");
+                                               dumpMaxQv_2_ = openOf(dumpMaxBase_ + ".qual", 2, "");
+                                       }
+                               }
+                               dumpMax_1_->write(p.bufa().readOrigBuf, p.bufa().readOrigBufLen);
+                               dumpMax_2_->write(p.bufb().readOrigBuf, p.bufb().readOrigBufLen);
+                               if(dumpMaxQv_1_ != NULL) {
+                                       dumpMaxQv_1_->write(p.bufa().qualOrigBuf, p.bufa().qualOrigBufLen);
+                                       dumpMaxQv_2_->write(p.bufb().qualOrigBuf, p.bufb().qualOrigBufLen);
+                               }
+                               MUTEX_UNLOCK(dumpMaxLockPE_);
+                       }
+               }
+       }
+
+       /**
+        * Report a maxed-out read.  Typically we do nothing, but we might
+        * want to print a placeholder when output is chained.
+        */
+       virtual void reportMaxed(vector<Hit>& hs, PatternSourcePerThread& p) {
+               mainlock();
+               numMaxed_++;
+               mainunlock();
+       }
+
+       /**
+        * Report an unaligned read.  Typically we do nothing, but we might
+        * want to print a placeholder when output is chained.
+        */
+       virtual void reportUnaligned(PatternSourcePerThread& p) {
+               mainlock();
+               numUnaligned_++;
+               mainunlock();
+       }
+
+protected:
+
+       /// Implementation of hit-report
+       virtual void reportHit(const Hit& h) {
+               assert(h.repOk());
+               mainlock();
+               commitHit(h);
+               first_ = false;
+               if(h.mate > 0) numReportedPaired_++;
+               else           numReported_++;
+               numAligned_++;
+               mainunlock();
+       }
+
+       /**
+        * Close (and flush) all OutFileBufs.
+        */
+       void closeOuts() {
+               // Flush and close all non-NULL output streams
+               for(size_t i = 0; i < _outs.size(); i++) {
+                       if(_outs[i] != NULL && !_outs[i]->closed()) {
+                               _outs[i]->close();
+                       }
+               }
+       }
+
+       /**
+        * Lock the output buffer for the output stream for reference with
+        * index 'refIdx'.  By default, hits for all references are
+        * directed to the same output stream, but if --refout is
+        * specified, each reference has its own reference stream.
+        */
+       void lock(size_t refIdx) {
+               size_t strIdx = refIdxToStreamIdx(refIdx);
+               MUTEX_LOCK(_locks[strIdx]);
+       }
+
+       /**
+        * Lock the output buffer for the output stream for reference with
+        * index 'refIdx'.  By default, hits for all references are
+        * directed to the same output stream, but if --refout is
+        * specified, each reference has its own reference stream.
+        */
+       void unlock(size_t refIdx) {
+               size_t strIdx = refIdxToStreamIdx(refIdx);
+               MUTEX_UNLOCK(_locks[strIdx]);
+       }
+
+       vector<OutFileBuf*> _outs;        /// the alignment output stream(s)
+       bool                _deleteOuts;  /// Whether to delete elements of _outs upon exit
+       RecalTable         *recalTable_;  /// recalibration table
+       vector<string>*     _refnames;    /// map from reference indexes to names
+       int                 _numWrappers; /// # threads owning a wrapper for this HitSink
+       vector<MUTEX_T>     _locks;       /// pthreads mutexes for per-file critical sections
+       MUTEX_T             _mainlock;    /// pthreads mutexes for fields of this object
+
+       // Output filenames for dumping
+       std::string dumpAlBase_;
+       std::string dumpUnalBase_;
+       std::string dumpMaxBase_;
+
+       bool onePairFile_;
+       bool sampleMax_;
+
+       // Output streams for dumping sequences
+       std::ofstream *dumpAl_;       // for single-ended reads
+       std::ofstream *dumpAl_1_;     // for first mates
+       std::ofstream *dumpAl_2_;     // for second mates
+       std::ofstream *dumpUnal_;     // for single-ended reads
+       std::ofstream *dumpUnal_1_;   // for first mates
+       std::ofstream *dumpUnal_2_;   // for second mates
+       std::ofstream *dumpMax_;      // for single-ended reads
+       std::ofstream *dumpMax_1_;    // for first mates
+       std::ofstream *dumpMax_2_;    // for second mates
+
+       // Output streams for dumping qualities
+       std::ofstream *dumpAlQv_;     // for single-ended reads
+       std::ofstream *dumpAlQv_1_;   // for first mates
+       std::ofstream *dumpAlQv_2_;   // for second mates
+       std::ofstream *dumpUnalQv_;   // for single-ended reads
+       std::ofstream *dumpUnalQv_1_; // for first mates
+       std::ofstream *dumpUnalQv_2_; // for second mates
+       std::ofstream *dumpMaxQv_;    // for single-ended reads
+       std::ofstream *dumpMaxQv_1_;  // for first mates
+       std::ofstream *dumpMaxQv_2_;  // for second mates
+
+       /**
+        * Open an ofstream with given name; output error message and quit
+        * if it fails.
+        */
+       std::ofstream* openOf(const std::string& name,
+                             int mateType,
+                             const std::string& suffix)
+       {
+               std::string s = name;
+               size_t dotoff = name.find_last_of(".");
+               if(mateType == 1) {
+                       if(dotoff == string::npos) {
+                               s += "_1"; s += suffix;
+                       } else {
+                               s = name.substr(0, dotoff) + "_1" + s.substr(dotoff);
+                       }
+               } else if(mateType == 2) {
+                       if(dotoff == string::npos) {
+                               s += "_2"; s += suffix;
+                       } else {
+                               s = name.substr(0, dotoff) + "_2" + s.substr(dotoff);
+                       }
+               } else if(mateType != 0) {
+                       cerr << "Bad mate type " << mateType << endl; throw 1;
+               }
+               std::ofstream* tmp = new ofstream(s.c_str(), ios::out);
+               if(tmp->fail()) {
+                       if(mateType == 0) {
+                               cerr << "Could not open single-ended aligned/unaligned-read file for writing: " << name << endl;
+                       } else {
+                               cerr << "Could not open paired-end aligned/unaligned-read file for writing: " << name << endl;
+                       }
+                       throw 1;
+               }
+               return tmp;
+       }
+
+       /**
+        * Initialize all the locks for dumping.
+        */
+       void initDumps() {
+               dumpAl_       = dumpAl_1_     = dumpAl_2_     = NULL;
+               dumpUnal_     = dumpUnal_1_   = dumpUnal_2_   = NULL;
+               dumpMax_      = dumpMax_1_    = dumpMax_2_    = NULL;
+               dumpAlQv_     = dumpAlQv_1_   = dumpAlQv_2_   = NULL;
+               dumpUnalQv_   = dumpUnalQv_1_ = dumpUnalQv_2_ = NULL;
+               dumpMaxQv_    = dumpMaxQv_1_  = dumpMaxQv_2_  = NULL;
+               dumpAlignFlag_   = !dumpAlBase_.empty();
+               dumpUnalignFlag_ = !dumpUnalBase_.empty();
+               dumpMaxedFlag_   = !dumpMaxBase_.empty();
+               MUTEX_INIT(dumpAlignLock_);
+               MUTEX_INIT(dumpAlignLockPE_);
+               MUTEX_INIT(dumpUnalLock_);
+               MUTEX_INIT(dumpUnalLockPE_);
+               MUTEX_INIT(dumpMaxLock_);
+               MUTEX_INIT(dumpMaxLockPE_);
+       }
+
+       void destroyDumps() {
+               if(dumpAl_       != NULL) { dumpAl_->close();       delete dumpAl_; }
+               if(dumpAl_1_     != NULL) { dumpAl_1_->close();     delete dumpAl_1_; }
+               if(dumpAl_2_     != NULL) { dumpAl_2_->close();     delete dumpAl_2_; }
+               if(dumpUnal_     != NULL) { dumpUnal_->close();     delete dumpUnal_; }
+               if(dumpUnal_1_   != NULL) { dumpUnal_1_->close();   delete dumpUnal_1_; }
+               if(dumpUnal_2_   != NULL) { dumpUnal_2_->close();   delete dumpUnal_2_; }
+               if(dumpMax_      != NULL) { dumpMax_->close();      delete dumpMax_; }
+               if(dumpMax_1_    != NULL) { dumpMax_1_->close();    delete dumpMax_1_; }
+               if(dumpMax_2_    != NULL) { dumpMax_2_->close();    delete dumpMax_2_; }
+               if(dumpAlQv_     != NULL) { dumpAlQv_->close();     delete dumpAlQv_; }
+               if(dumpAlQv_1_   != NULL) { dumpAlQv_1_->close();   delete dumpAlQv_1_; }
+               if(dumpAlQv_2_   != NULL) { dumpAlQv_2_->close();   delete dumpAlQv_2_; }
+               if(dumpUnalQv_   != NULL) { dumpUnalQv_->close();   delete dumpUnalQv_; }
+               if(dumpUnalQv_1_ != NULL) { dumpUnalQv_1_->close(); delete dumpUnalQv_1_; }
+               if(dumpUnalQv_2_ != NULL) { dumpUnalQv_2_->close(); delete dumpUnalQv_2_; }
+               if(dumpMaxQv_    != NULL) { dumpMaxQv_->close();    delete dumpMaxQv_; }
+               if(dumpMaxQv_1_  != NULL) { dumpMaxQv_1_->close();  delete dumpMaxQv_1_; }
+               if(dumpMaxQv_2_  != NULL) { dumpMaxQv_2_->close();  delete dumpMaxQv_2_; }
+       }
+
+       // Locks for dumping
+       MUTEX_T dumpAlignLock_;
+       MUTEX_T dumpAlignLockPE_; // _1 and _2
+       MUTEX_T dumpUnalLock_;
+       MUTEX_T dumpUnalLockPE_; // _1 and _2
+       MUTEX_T dumpMaxLock_;
+       MUTEX_T dumpMaxLockPE_;   // _1 and _2
+
+       // false -> no dumping
+       bool dumpAlignFlag_;
+       bool dumpUnalignFlag_;
+       bool dumpMaxedFlag_;
+
+       volatile bool     first_;       /// true -> first hit hasn't yet been reported
+       volatile uint64_t numAligned_;  /// # reads with >= 1 alignment
+       volatile uint64_t numUnaligned_;/// # reads with no alignments
+       volatile uint64_t numMaxed_;    /// # reads with # alignments exceeding -m ceiling
+       volatile uint64_t numReported_; /// # single-ended alignments reported
+       volatile uint64_t numReportedPaired_; /// # paired-end alignments reported
+       bool quiet_;  /// true -> don't print alignment stats at the end
+       ios_base::openmode ssmode_;     /// output mode for stringstreams
+};
+
+/**
+ * A per-thread wrapper for a HitSink.  Incorporates state that a
+ * single search thread cares about.
+ */
+class HitSinkPerThread {
+public:
+       HitSinkPerThread(HitSink& sink, uint32_t max, uint32_t n) :
+               _sink(sink),
+               _bestRemainingStratum(0),
+               _numValidHits(0llu),
+               _hits(),
+               _bufferedHits(),
+               hitsForThisRead_(),
+               _max(max),
+               _n(n)
+       {
+               _sink.addWrapper();
+               assert_gt(_n, 0);
+       }
+
+       virtual ~HitSinkPerThread() { }
+
+       /// Return the vector of retained hits
+       vector<Hit>& retainedHits()   { return _hits; }
+
+       /// Finalize current read
+       virtual uint32_t finishRead(PatternSourcePerThread& p, bool report, bool dump) {
+               uint32_t ret = finishReadImpl();
+               _bestRemainingStratum = 0;
+               if(!report) {
+                       _bufferedHits.clear();
+                       return 0;
+               }
+               bool maxed = (ret > _max);
+               bool unal = (ret == 0);
+               if(dump && (unal || maxed)) {
+                       // Either no reportable hits were found or the number of
+                       // reportable hits exceeded the -m limit specified by the
+                       // user
+                       assert(ret == 0 || ret > _max);
+                       if(maxed) _sink.dumpMaxed(p);
+                       else      _sink.dumpUnal(p);
+               }
+               ret = 0;
+               if(maxed) {
+                       // Report that the read maxed-out; useful for chaining output
+                       if(dump) _sink.reportMaxed(_bufferedHits, p);
+                       _bufferedHits.clear();
+               } else if(unal) {
+                       // Report that the read failed to align; useful for chaining output
+                       if(dump) _sink.reportUnaligned(p);
+               } else {
+                       // Flush buffered hits
+                       assert_gt(_bufferedHits.size(), 0);
+                       if(_bufferedHits.size() > _n) {
+                               _bufferedHits.resize(_n);
+                       }
+                       _sink.reportHits(_bufferedHits);
+                       _sink.dumpAlign(p);
+                       ret = _bufferedHits.size();
+                       _bufferedHits.clear();
+               }
+               assert_eq(0, _bufferedHits.size());
+               return ret;
+       }
+
+       virtual uint32_t finishReadImpl() = 0;
+
+       /**
+        * Implementation for hit reporting; update per-thread _hits and
+        * _numReportableHits variables and call the master HitSink to do the actual
+        * reporting
+        */
+       virtual void bufferHit(const Hit& h, int stratum) {
+#ifndef NDEBUG
+               // Ensure all buffered hits have the same patid
+               for(size_t i = 1; i < _bufferedHits.size(); i++) {
+                       assert_eq(_bufferedHits[0].patId, _bufferedHits[i].patId);
+               }
+#endif
+               _bufferedHits.push_back(h);
+       }
+
+       /**
+        * Concrete subclasses override this to (possibly) report a hit and
+        * return true iff the caller should continue to report more hits.
+        */
+       virtual bool reportHit(const Hit& h, int stratum) {
+               assert(h.repOk());
+               _numValidHits++;
+               return true;
+       }
+
+       /// Return the number of valid hits so far (not necessarily
+       /// reported).  It's up to the concrete subclasses
+       uint64_t numValidHits()    { return _numValidHits; }
+
+       /**
+        * Return true if there are no more reportable hits.
+        */
+       bool finishedWithStratum(int stratum) {
+               bool ret = finishedWithStratumImpl(stratum);
+               _bestRemainingStratum = stratum+1;
+               return ret;
+       }
+
+       /**
+        * Use the given set of hits as a starting point.  By default, we don't
+        */
+       virtual bool setHits(HitSet& hs) {
+               if(!hs.empty()) {
+                       cerr << "Error: default setHits() called with non-empty HitSet" << endl;
+                       throw 1;
+               }
+               return false;
+       }
+
+       /**
+        * Return true if there are no reportable hits with the given cost
+        * (or worse).
+        */
+       virtual bool irrelevantCost(uint16_t cost) {
+               return false;
+       }
+
+       /**
+        * Concrete subclasses override this to determine whether the
+        * search routine should keep searching after having finished
+        * reporting all alignments at the given stratum.
+        */
+       virtual bool finishedWithStratumImpl(int stratum) = 0;
+
+       /// The mhits maximum
+       uint32_t overThresh() { return _max; }
+
+       /// Whether this thread, for this read, knows that we have already
+       /// exceeded the mhits maximum
+       bool exceededOverThresh() { return hitsForThisRead_ > _max; }
+
+       /// Return whether we span strata
+       virtual bool spanStrata() = 0;
+
+       /// Return whether we report only the best possible hits
+       virtual bool best() = 0;
+
+       /**
+        * Return true iff the underlying HitSink dumps unaligned or
+        * maxed-out reads.
+        */
+       bool dumpsReads() {
+               return _sink.dumpsReads();
+       }
+
+       /**
+        * Return true iff there are currently no buffered hits.
+        */
+       bool empty() const {
+               return _bufferedHits.empty();
+       }
+
+       /**
+        * Return the number of currently buffered hits.
+        */
+       bool size() const {
+               return _bufferedHits.size();
+       }
+
+       /**
+        * Return max # hits to report (*2 in paired-end mode because mates
+        * count separately)
+        */
+       virtual uint32_t maxHits() {
+               return _n;
+       }
+
+protected:
+       HitSink&    _sink; /// Ultimate destination of reported hits
+       /// Least # mismatches in alignments that will be reported in the
+       /// future.  Updated by the search routine.
+       int         _bestRemainingStratum;
+       /// # hits reported to this HitSink so far (not all of which were
+       /// necesssary reported to _sink)
+       uint64_t    _numValidHits;
+       vector<Hit> _hits; /// Repository for retained hits
+       /// Buffered hits, to be reported and flushed at end of read-phase
+       vector<Hit> _bufferedHits;
+
+       // Following variables are declared in the parent but maintained in
+       // the concrete subcalsses
+       uint32_t hitsForThisRead_; /// # hits for this read so far
+       uint32_t _max; /// don't report any hits if there were > _max
+       uint32_t _n;   /// report at most _n hits
+};
+
+/**
+ * Abstract parent factory for HitSinkPerThreads.
+ */
+class HitSinkPerThreadFactory {
+public:
+       virtual ~HitSinkPerThreadFactory() { }
+       virtual HitSinkPerThread* create() const = 0;
+       virtual HitSinkPerThread* createMult(uint32_t m) const = 0;
+
+       /// Free memory associated with a per-thread hit sink
+       virtual void destroy(HitSinkPerThread* sink) const {
+               assert(sink != NULL);
+               // Free the HitSinkPerThread
+               delete sink;
+       }
+};
+
+/**
+ * Report first N good alignments encountered; trust search routine
+ * to try alignments in something approximating a best-first order.
+ * Best used in combination with a stringent alignment policy.
+ */
+class NGoodHitSinkPerThread : public HitSinkPerThread {
+
+public:
+       NGoodHitSinkPerThread(
+                       HitSink& sink,
+                       uint32_t n,
+                       uint32_t max) :
+                               HitSinkPerThread(sink, max, n)
+       { }
+
+       virtual bool spanStrata() {
+               return true; // we span strata
+       }
+
+       virtual bool best() {
+               return false; // we settle for "good" hits
+       }
+
+       /// Finalize current read
+       virtual uint32_t finishReadImpl() {
+               uint32_t ret = hitsForThisRead_;
+               hitsForThisRead_ = 0;
+               return ret;
+       }
+
+       /**
+        * Report and then return true if we've already reported N good
+        * hits.  Ignore the stratum - it's not relevant for finding "good"
+        * hits.
+        */
+       virtual bool reportHit(const Hit& h, int stratum) {
+               HitSinkPerThread::reportHit(h, stratum);
+               hitsForThisRead_++;
+               if(hitsForThisRead_ > _max) {
+                       return true; // done - report nothing
+               }
+               //if(hitsForThisRead_ <= _n) {
+                       // Only report hit if we haven't
+                       bufferHit(h, stratum);
+               //}
+               if(hitsForThisRead_ == _n &&
+                  (_max == 0xffffffff || _max < _n))
+               {
+                       return true; // already reported N good hits and max isn't set; stop!
+               }
+               return false; // not at N or max yet; keep going
+       }
+
+       /**
+        * Always return true; search routine should only stop if it's
+        * already reported N hits.
+        */
+       virtual bool finishedWithStratumImpl(int stratum) { return false; }
+};
+
+/**
+ * Concrete factory for FirstNGoodHitSinkPerThreads.
+ */
+class NGoodHitSinkPerThreadFactory : public HitSinkPerThreadFactory {
+public:
+       NGoodHitSinkPerThreadFactory(
+                       HitSink& sink,
+                       uint32_t n,
+                       uint32_t max) :
+                       sink_(sink),
+                       n_(n),
+                       max_(max)
+       { }
+
+       /**
+        * Allocate a new NGoodHitSinkPerThread object on the heap,
+        * using the parameters given in the constructor.
+        */
+       virtual HitSinkPerThread* create() const {
+               return new NGoodHitSinkPerThread(sink_, n_, max_);
+       }
+       virtual HitSinkPerThread* createMult(uint32_t m) const {
+               uint32_t max = max_ * (max_ == 0xffffffff ? 1 : m);
+               uint32_t n = n_ * (n_ == 0xffffffff ? 1 : m);
+               return new NGoodHitSinkPerThread(sink_, n, max);
+       }
+
+private:
+       HitSink& sink_;
+       uint32_t n_;
+       uint32_t max_;
+};
+
+/**
+ * Report the first N best alignments encountered in a single
+ * alignment stratum assuming that we're receiving the alignments in
+ * best-first order.
+ */
+class NBestFirstStratHitSinkPerThread : public HitSinkPerThread {
+
+public:
+       NBestFirstStratHitSinkPerThread(
+                       HitSink& sink,
+                       uint32_t n,
+                       uint32_t max,
+                       uint32_t mult) :
+                               HitSinkPerThread(sink, max, n),
+                               bestStratum_(999), mult_(mult)
+       { }
+
+       /**
+        * false -> we do not allow strata to be spanned
+        */
+       virtual bool spanStrata() {
+               return false; // we do not span strata
+       }
+
+       /**
+        * true -> we report best hits
+        */
+       virtual bool best() {
+               return true;
+       }
+
+       /**
+        * Report and then return false if we've already reported N.
+        */
+       virtual bool reportHit(const Hit& h, int stratum) {
+               HitSinkPerThread::reportHit(h, stratum);
+               // This hit is within th best possible remaining stratum,
+               // so it should definitely count
+               hitsForThisRead_++;
+               // It doesn't exceed the limit, so buffer it
+               if(stratum < bestStratum_) {
+                       bestStratum_ = stratum;
+               }
+               if(hitsForThisRead_ > _max) {
+                       return true; // done - report nothing
+               }
+               //if(hitsForThisRead_ <= _n) {
+                       bufferHit(h, stratum);
+               //}
+               if(hitsForThisRead_ == _n &&
+                  (_max == 0xffffffff || _max < _n))
+               {
+                       return true; // already reported N good hits; stop!
+               }
+               return false; // not at N yet; keep going
+       }
+
+       /**
+        * Finalize current read by reporting any buffered hits from best
+        * to worst until they're all reported or until we've reported all
+        * N
+        */
+       virtual uint32_t finishReadImpl() {
+               uint32_t ret = hitsForThisRead_;
+               hitsForThisRead_ = 0;
+               bestStratum_ = 999;
+               const size_t sz = _bufferedHits.size();
+               for(size_t i = 0; i < sz; i++) {
+                       // Set 'oms' according to the number of other alignments
+                       // at this stratum
+                       _bufferedHits[i].oms = (sz / mult_) - 1;
+               }
+               return ret;
+       }
+
+       /**
+        * If we had any alignments at all and we're now moving on to a new
+        * stratum, then we're done.
+        */
+       virtual bool finishedWithStratumImpl(int stratum) {
+               return hitsForThisRead_ > 0;
+       }
+
+       /**
+        * If there have been any hits reported so far, classify any
+        * subsequent alignments with higher strata as irrelevant.
+        */
+       virtual bool irrelevantCost(uint16_t cost) {
+               if(hitsForThisRead_) {
+                       // irrelevant iff at worse stratum
+                       return ((int)cost >> 14) > bestStratum_;
+               }
+               return false;
+       }
+
+private:
+
+       int bestStratum_; /// best stratum observed so far
+       uint32_t mult_; /// number of batched-up alignments
+};
+
+/**
+ * Concrete factory for NBestStratHitSinkPerThread.
+ */
+class NBestFirstStratHitSinkPerThreadFactory : public HitSinkPerThreadFactory {
+public:
+       NBestFirstStratHitSinkPerThreadFactory(
+                       HitSink& sink,
+                       uint32_t n,
+                       uint32_t max) :
+                       sink_(sink),
+                       n_(n),
+                       max_(max)
+       { }
+
+       /**
+        * Allocate a new NGoodHitSinkPerThread object on the heap,
+        * using the parameters given in the constructor.
+        */
+       virtual HitSinkPerThread* create() const {
+               return new NBestFirstStratHitSinkPerThread(sink_, n_, max_, 1);
+       }
+       virtual HitSinkPerThread* createMult(uint32_t m) const {
+               uint32_t max = max_ * (max_ == 0xffffffff ? 1 : m);
+               uint32_t n = n_ * (n_ == 0xffffffff ? 1 : m);
+               return new NBestFirstStratHitSinkPerThread(sink_, n, max, m);
+       }
+
+private:
+       HitSink& sink_;
+       uint32_t n_;
+       uint32_t max_;
+};
+
+/**
+ *
+ */
+class ChainingHitSinkPerThread : public HitSinkPerThread {
+public:
+
+       ChainingHitSinkPerThread(HitSink& sink,
+                                uint32_t n,
+                                uint32_t max,
+                                bool strata,
+                                uint32_t mult) :
+       HitSinkPerThread(sink, max, n),
+       mult_(mult), strata_(strata), cutoff_(0xffff)
+       {
+               hs_ = NULL;
+               hsISz_ = 0;
+       }
+
+       /**
+        * Return true iff we're allowed to span strata.
+        */
+       virtual bool spanStrata() { return !strata_; }
+
+       /**
+        * true -> we report best hits
+        */
+       virtual bool best() { return true; }
+
+       /**
+        * Report and then return false if we've already reported N.
+        */
+       virtual bool reportHit(const Hit& h, int stratum) {
+               HitSinkPerThread::reportHit(h, stratum);
+               assert(hs_->sorted());
+               assert(hs_ != NULL);
+               assert_eq(h.stratum, stratum);
+               assert_eq(1, mult_);
+               assert(consistentStrata());
+               assert(!irrelevantCost(h.cost));
+
+               if(!hs_->empty() && strata_ && stratum < hs_->front().stratum) {
+                       hs_->clear();
+                       _bufferedHits.clear();
+                       hitsForThisRead_ = 0;
+               }
+               assert(consistentStrata());
+
+               size_t replPos = 0;
+               if(!hs_->empty() && hs_->tryReplacing(h.h, h.fw, h.cost, replPos)) {
+                       if(replPos != 0xffffffff) {
+                               // Replaced an existing hit
+                               assert_lt(replPos, _bufferedHits.size());
+                               _bufferedHits[replPos] = h;
+                               hs_->sort();
+                       }
+                       // Size didn't change, so no need to check against _max and _n
+                       assert(hs_->sorted());
+                       assert(consistentStrata());
+               } else {
+                       // Added a new hit
+                       hs_->expand();
+                       hs_->back().h = h.h;
+                       hs_->back().fw = h.fw;
+                       hs_->back().stratum = h.stratum;
+                       hs_->back().cost = h.cost;
+                       hitsForThisRead_++;
+                       if(hs_->size() > _max) {
+                               assert_eq(hs_->size(), _bufferedHits.size());
+                               return true; // done - report nothing
+                       }
+                       _bufferedHits.push_back(h);
+                       if(hsISz_ == 0 &&
+                          hs_->size() == _n &&
+                          (_max == 0xffffffff || _max < _n))
+                       {
+                               assert_eq(hs_->size(), _bufferedHits.size());
+                               return true; // already reported N good hits; stop!
+                       }
+                       hs_->sort();
+                       assert(consistentStrata());
+               }
+               assert_eq(hs_->size(), _bufferedHits.size());
+               updateCutoff();
+               return false; // not at N yet; keep going
+       }
+
+       /**
+        * Finalize current read by reporting any buffered hits from best
+        * to worst until they're all reported or until we've reported all
+        * N
+        */
+       virtual uint32_t finishReadImpl() {
+               assert_eq(1, mult_);
+               assert(hs_ != NULL);
+               assert(consistentStrata());
+               uint32_t ret = hitsForThisRead_;
+               hitsForThisRead_ = 0;
+               if(!hs_->empty() && hs_->size() < _n) {
+                       const size_t sz = _bufferedHits.size();
+                       for(size_t i = 0; i < sz; i++) {
+                               // Set 'oms' according to the number of other alignments
+                               // at this stratum
+                               _bufferedHits[i].oms = (sz / mult_) - 1;
+                       }
+               }
+               std::sort(_bufferedHits.begin(), _bufferedHits.end(), HitCostCompare());
+               if(hs_->size() > _n) {
+                       _bufferedHits.resize(_n);
+               }
+               assert(consistentStrata());
+               // Make sure that a chained, maxed-out read gets treated as
+               // maxed-out and not as unaligned
+               if(hs_->empty() && hs_->maxedStratum != -1) {
+                       assert(_bufferedHits.empty());
+                       // Boy, this is stupid.  Need to switch to just using HitSet
+                       // internally all the time.
+                       _bufferedHits.resize(_max+1);
+                       for(size_t i = 0; i < _max+1; i++) {
+                               _bufferedHits[i].stratum = hs_->maxedStratum;
+                       }
+                       ret = _max+1;
+               } else if(!hs_->empty() && hs_->maxedStratum != -1) {
+                       assert_lt(hs_->front().stratum, hs_->maxedStratum);
+               }
+               return ret;
+       }
+
+       /**
+        * Set the initial set of Hits.
+        */
+       virtual bool setHits(HitSet& hs) {
+               hs_ = &hs;
+               assert(hs_ != NULL);
+               hsISz_ = hs.size();
+               cutoff_ = 0xffff;
+               hitsForThisRead_ = hs.size();
+               assert(_bufferedHits.empty());
+               assert_geq(hs.maxedStratum, -1);
+               assert_lt(hs.maxedStratum, 4);
+               if(!hs.empty()) {
+                       assert_eq(-1, hs.maxedStratum);
+                       hs.sort();
+                       Hit::fromHitSet(_bufferedHits, hs);
+                       assert(!_bufferedHits.empty());
+                       assert_leq(_bufferedHits.size(), _max);
+                       assert(consistentStrata());
+               } else if(hs.maxedStratum != -1) {
+                       if(hs.maxedStratum == 0) {
+                               cutoff_ = 0;
+                               // Already done
+                               return true;
+                       }
+                       cutoff_ = (hs.maxedStratum << 14);
+               }
+               assert_eq(hs_->size(), _bufferedHits.size());
+               updateCutoff();
+               return false;
+       }
+
+       /**
+        * If we had any alignments at all and we're now moving on to a new
+        * stratum, then we're done.
+        */
+       virtual bool finishedWithStratumImpl(int stratum) {
+               assert(false);
+               return false;
+       }
+
+       /**
+        * If there have been any hits reported so far, classify any
+        * subsequent alignments with higher strata as irrelevant.
+        */
+       virtual bool irrelevantCost(uint16_t cost) {
+               if(cutoff_ == 0) return false;
+               return cost > cutoff_;
+       }
+
+protected:
+
+#ifndef NDEBUG
+       /**
+        * Sanity check that, if we're in strata_ mode, all 'stratum's
+        * should be the same among hits.
+        */
+       bool consistentStrata() {
+               if(hs_->empty() || !strata_) return true;
+               int stratum = hs_->front().stratum;
+               for(size_t i = 1; i < hs_->size(); i++) {
+                       assert_eq(stratum, (*hs_)[i].stratum);
+               }
+               return true;
+       }
+#endif
+
+       /**
+        * Update the lowest relevant cost.
+        */
+       void updateCutoff() {
+               ASSERT_ONLY(uint16_t origCutoff = cutoff_);
+               assert(hs_->sorted());
+               assert(hs_->empty() || hs_->back().cost >= hs_->front().cost);
+               bool atCapacity = (hs_->size() >= _n);
+               if(atCapacity && (_max == 0xffffffff || _max < _n)) {
+                       cutoff_ = min(hs_->back().cost, cutoff_);
+               }
+               if(strata_ && !hs_->empty()) {
+                       uint16_t sc = hs_->back().cost;
+                       sc = ((sc >> 14) + 1) << 14;
+                       cutoff_ = min(cutoff_, sc);
+                       assert_leq(cutoff_, origCutoff);
+               }
+       }
+
+       HitSet *hs_;
+       size_t hsISz_;
+       uint32_t mult_;
+       bool strata_; /// true -> reporting is stratified
+       uint16_t cutoff_; /// the smallest irrelevant cost
+};
+
+/**
+ * Concrete factory for ChainingHitSinkPerThread.
+ */
+class ChainingHitSinkPerThreadFactory : public HitSinkPerThreadFactory {
+public:
+       ChainingHitSinkPerThreadFactory(
+                       HitSink& sink,
+                       uint32_t n,
+                       uint32_t max,
+                       bool strata) :
+                       sink_(sink),
+                       n_(n),
+                       max_(max),
+                       strata_(strata)
+       { }
+
+       /**
+        * Allocate a new NGoodHitSinkPerThread object on the heap,
+        * using the parameters given in the constructor.
+        */
+       virtual HitSinkPerThread* create() const {
+               return new ChainingHitSinkPerThread(sink_, n_, max_, strata_, 1);
+       }
+       virtual HitSinkPerThread* createMult(uint32_t m) const {
+               uint32_t max = max_ * (max_ == 0xffffffff ? 1 : m);
+               uint32_t n = n_ * (n_ == 0xffffffff ? 1 : m);
+               return new ChainingHitSinkPerThread(sink_, n, max, strata_, m);
+       }
+
+private:
+       HitSink& sink_;
+       uint32_t n_;
+       uint32_t max_;
+       bool strata_;
+};
+
+/**
+ * Report all valid alignments.
+ */
+class AllHitSinkPerThread : public HitSinkPerThread {
+
+public:
+       AllHitSinkPerThread(
+                       HitSink& sink,
+               uint32_t max) :
+                   HitSinkPerThread(sink, max, 0xffffffff) { }
+
+       virtual bool spanStrata() {
+               return true; // we span strata
+       }
+
+       virtual bool best() {
+               return true; // we report "best" hits
+       }
+
+       /**
+        * Report and always return true; we're finiding all hits so that
+        * search routine should always continue.
+        */
+       virtual bool reportHit(const Hit& h, int stratum) {
+               HitSinkPerThread::reportHit(h, stratum);
+               hitsForThisRead_++;
+               if(hitsForThisRead_ > _max) {
+                       return true; // done - report nothing
+               }
+               bufferHit(h, stratum);
+               return false; // reporting all; always keep going
+       }
+
+       /**
+        * Finalize; do nothing because we haven't buffered anything
+        */
+       virtual uint32_t finishReadImpl() {
+               uint32_t ret = hitsForThisRead_;
+               hitsForThisRead_ = 0;
+               return ret;
+       }
+
+       /**
+        * Always return false; search routine should not stop.
+        */
+       virtual bool finishedWithStratumImpl(int stratum) { return false; }
+};
+
+/**
+ * Concrete factory for AllHitSinkPerThread.
+ */
+class AllHitSinkPerThreadFactory : public HitSinkPerThreadFactory {
+public:
+       AllHitSinkPerThreadFactory(
+                       HitSink& sink,
+                       uint32_t max) :
+                       sink_(sink),
+                       max_(max)
+       { }
+
+       /**
+        * Allocate a new NGoodHitSinkPerThread object on the heap,
+        * using the parameters given in the constructor.
+        */
+       virtual HitSinkPerThread* create() const {
+               return new AllHitSinkPerThread(sink_, max_);
+       }
+       virtual HitSinkPerThread* createMult(uint32_t m) const {
+               uint32_t max = max_ * (max_ == 0xffffffff ? 1 : m);
+               return new AllHitSinkPerThread(sink_, max);
+       }
+
+private:
+       HitSink& sink_;
+       uint32_t max_;
+};
+
+/**
+ * Sink that prints lines like this:
+ * (pat-id)[-|+]:<hit1-text-id,hit2-text-offset>,<hit2-text-id...
+ *
+ * Activated with --concise
+ */
+class ConciseHitSink : public HitSink {
+public:
+       /**
+        * Construct a single-stream ConciseHitSink (default)
+        */
+       ConciseHitSink(OutFileBuf* out,
+                              int offBase,
+                      DECL_HIT_DUMPS2,
+                      bool reportOpps = false) :
+               HitSink(out, PASS_HIT_DUMPS2),
+               _reportOpps(reportOpps),
+               offBase_(offBase) { }
+
+       /**
+        * Construct a multi-stream ConciseHitSink with one stream per
+        * reference string (see --refout)
+        */
+       ConciseHitSink(size_t numOuts,
+                      int offBase,
+                      DECL_HIT_DUMPS2,
+                      bool reportOpps = false) :
+               HitSink(numOuts, PASS_HIT_DUMPS2),
+               _reportOpps(reportOpps),
+               offBase_(offBase) { }
+
+       /**
+        * Append a verbose, readable hit to the given output stream.
+        */
+       static void append(ostream& ss, const Hit& h, int offBase, bool reportOpps) {
+               ss << h.patId;
+               if(h.mate > 0) {
+                       assert(h.mate == 1 || h.mate == 2);
+                       ss << '/' << (int)h.mate;
+               }
+               ss << (h.fw? "+" : "-") << ":";
+               // .first is text id, .second is offset
+               ss << "<" << h.h.first << "," << (h.h.second + offBase) << "," << h.mms.count();
+               if(reportOpps) ss << "," << h.oms;
+               ss << ">" << endl;
+       }
+
+       /**
+        * Append a verbose, readable hit to the given output stream.
+        */
+       void append(ostream& ss, const Hit& h) {
+               ConciseHitSink::append(ss, h, this->offBase_, this->_reportOpps);
+       }
+
+protected:
+
+       /**
+        * Report a concise alignment to the appropriate output stream.
+        */
+       virtual void reportHit(const Hit& h) {
+               HitSink::reportHit(h);
+               ostringstream ss;
+               append(ss, h);
+               lock(h.h.first);
+               out(h.h.first).writeString(ss.str());
+               unlock(h.h.first);
+       }
+
+private:
+       bool _reportOpps;
+       int  offBase_;     /// Add this to reference offsets before outputting.
+                          /// (An easy way to make things 1-based instead of
+                          /// 0-based)
+};
+
+/**
+ * Print the given string.  If ws = true, print only up to and not
+ * including the first space or tab.  Useful for printing reference
+ * names.
+ */
+inline void printUptoWs(std::ostream& os, const std::string& str, bool ws) {
+       if(!ws) {
+               os << str;
+       } else {
+               size_t pos = str.find_first_of(" \t");
+               if(pos != string::npos) {
+                       os << str.substr(0, pos);
+               } else {
+                       os << str;
+               }
+       }
+}
+
+/**
+ * Sink that prints lines like this:
+ * pat-name \t [-|+] \t ref-name \t ref-off \t pat \t qual \t #-alt-hits \t mm-list
+ */
+class VerboseHitSink : public HitSink {
+public:
+       /**
+        * Construct a single-stream VerboseHitSink (default)
+        */
+       VerboseHitSink(OutFileBuf* out,
+                      int offBase,
+                      bool colorSeq,
+                      bool colorQual,
+                      bool printCost,
+                      const Bitset& suppressOuts,
+                      ReferenceMap *rmap,
+                      AnnotationMap *amap,
+                      bool fullRef,
+                      DECL_HIT_DUMPS2,
+                                  int partition = 0) :
+       HitSink(out, PASS_HIT_DUMPS2),
+       partition_(partition),
+       offBase_(offBase),
+       colorSeq_(colorSeq),
+       colorQual_(colorQual),
+       cost_(printCost),
+       suppress_(suppressOuts),
+       fullRef_(fullRef),
+       rmap_(rmap), amap_(amap)
+       { }
+
+       /**
+        * Construct a multi-stream VerboseHitSink with one stream per
+        * reference string (see --refout)
+        */
+       VerboseHitSink(size_t numOuts,
+                      int offBase,
+                      bool colorSeq,
+                      bool colorQual,
+                      bool printCost,
+                      const Bitset& suppressOuts,
+                      ReferenceMap *rmap,
+                      AnnotationMap *amap,
+                      bool fullRef,
+                      DECL_HIT_DUMPS2,
+                                  int partition = 0) :
+       HitSink(numOuts, PASS_HIT_DUMPS2),
+       partition_(partition),
+       offBase_(offBase),
+       colorSeq_(colorSeq),
+       colorQual_(colorQual),
+       cost_(printCost),
+       suppress_(64),
+       fullRef_(fullRef),
+       rmap_(rmap),
+       amap_(amap)
+       { }
+
+       // In hit.cpp
+       static void append(ostream& ss,
+                          const Hit& h,
+                          const vector<string>* refnames,
+                          ReferenceMap *rmap,
+                          AnnotationMap *amap,
+                          bool fullRef,
+                          int partition,
+                          int offBase,
+                          bool colorSeq,
+                          bool colorQual,
+                          bool cost,
+                          const Bitset& suppress);
+
+       /**
+        * Append a verbose, readable hit to the output stream
+        * corresponding to the hit.
+        */
+       virtual void append(ostream& ss, const Hit& h) {
+               VerboseHitSink::append(ss, h, _refnames, rmap_, amap_,
+                                      fullRef_, partition_, offBase_,
+                                      colorSeq_, colorQual_, cost_,
+                                      suppress_);
+       }
+
+       /**
+        * See hit.cpp
+        */
+       virtual void reportMaxed(vector<Hit>& hs, PatternSourcePerThread& p);
+
+protected:
+
+       /**
+        * Report a verbose, human-readable alignment to the appropriate
+        * output stream.
+        */
+       virtual void reportHit(const Hit& h) {
+               reportHit(h, true);
+       }
+
+       /**
+        * Report a verbose, human-readable alignment to the appropriate
+        * output stream.
+        */
+       virtual void reportHit(const Hit& h, bool count) {
+               if(count) HitSink::reportHit(h);
+               ostringstream ss;
+               append(ss, h);
+               // Make sure to grab lock before writing to output stream
+               lock(h.h.first);
+               out(h.h.first).writeString(ss.str());
+               unlock(h.h.first);
+       }
+
+private:
+       int      partition_;   /// partition size, or 0 if partitioning is disabled
+       int      offBase_;     /// Add this to reference offsets before outputting.
+                              /// (An easy way to make things 1-based instead of
+                              /// 0-based)
+       bool     colorSeq_;    /// true -> print colorspace alignment sequence in colors
+       bool     colorQual_;   /// true -> print colorspace quals as originals, not decoded
+       bool     cost_;        /// true -> print statum and cost
+       Bitset   suppress_;    /// output fields to suppress
+       bool fullRef_;         /// print full reference name
+       ReferenceMap *rmap_;   /// mapping to reference coordinate system.
+       AnnotationMap *amap_;  ///
+};
+
+/**
+ * Sink for outputting alignments in a binary format.
+ */
+class ChainingHitSink : public HitSink {
+public:
+
+       /**
+        * Construct a single-stream BinaryHitSink (default)
+        */
+       ChainingHitSink(OutFileBuf* out, bool strata, AnnotationMap *amap, DECL_HIT_DUMPS2) :
+       HitSink(out, PASS_HIT_DUMPS2), amap_(amap), strata_(strata)
+       {
+               ssmode_ |= ios_base::binary;
+       }
+
+       /**
+        * Report a batch of hits.
+        */
+       virtual void reportHits(vector<Hit>& hs);
+
+       /**
+        * Append a binary alignment to the output stream corresponding to
+        * the reference sequence involved.
+        */
+       virtual void append(ostream& o, const Hit& h) {
+               cerr << "Error: ChainingHitSink::append() not implemented" << endl;
+               throw 1;
+       }
+
+       /**
+        * See hit.cpp
+        */
+       virtual void reportMaxed(vector<Hit>& hs, PatternSourcePerThread& p);
+
+       /**
+        * See hit.cpp
+        */
+       virtual void reportUnaligned(PatternSourcePerThread& p);
+
+protected:
+       AnnotationMap *amap_;
+       bool strata_;
+};
+
+/**
+ * Sink that does nothing.
+ */
+class StubHitSink : public HitSink {
+public:
+       StubHitSink() : HitSink(new OutFileBuf(".tmp"), "", "", "", false, false, NULL) { }
+       virtual void append(ostream& o, const Hit& h) { }
+};
+
+#endif /*HIT_H_*/
+
diff --git a/hit_set.cpp b/hit_set.cpp
new file mode 100644 (file)
index 0000000..a1da35b
--- /dev/null
@@ -0,0 +1,72 @@
+/*
+ * hit_set.cpp
+ *
+ *  Created on: Jul 31, 2009
+ *      Author: Ben Langmead
+ */
+
+#include <iostream>
+#include <vector>
+#include <seqan/sequence.h>
+#include "alphabet.h"
+#include "hit_set.h"
+
+using namespace std;
+using namespace seqan;
+
+/**
+ * Report up to 'khits' hits from this HitSet.
+ */
+void HitSet::reportUpTo(ostream& os, int khits) {
+       khits = min(khits, (int)size());
+       String<Dna5> seqrc;
+       String<char> qualr;
+       for(int i = 0; i < khits; i++) {
+               const HitSetEnt& h = ents[i];
+               if(!h.fw && seqan::empty(seqrc)) {
+                       // Lazily initialize seqrc and qualr
+                       seqrc = seq;
+                       reverseComplementInPlace(seqrc, color);
+                       assert_eq(seqan::length(seqrc), seqan::length(seq));
+                       qualr = qual;
+                       reverseInPlace(qualr);
+                       assert_eq(seqan::length(qualr), seqan::length(qual));
+               }
+               os << name << '\t'
+                  << (h.fw ? '+' : '-') << '\t'
+                  << h.h.first << '\t'
+                  << h.h.second << '\t'
+                  << (h.fw ? seq : seqrc) << '\t'
+                  << (h.fw ? qual : qualr) << '\t'
+                  << h.oms << '\t';
+               for(size_t i = 0; i < h.edits.size(); i++) {
+                       const Edit& e = h.edits[i];
+                       os << e.pos;
+                       if(e.type == EDIT_TYPE_SNP) os << "S";
+                       os << ":" << (char)e.chr << ">" << (e.qchr != 0 ? (char)e.qchr : (char)seq[e.pos]);
+                       if(i < h.edits.size()-1 || !h.cedits.empty()) os << ",";
+               }
+               for(size_t i = 0; i < h.cedits.size(); i++) {
+                       const Edit& e = h.cedits[i];
+                       os << e.pos;
+                       if(e.type == EDIT_TYPE_SNP) os << "S";
+                       os << ":" << (char)e.chr << ">" << (e.qchr != 0 ? (char)e.qchr : (char)seq[e.pos]);
+                       if(i < h.cedits.size()-1) os << ",";
+               }
+               os << endl;
+       }
+}
+
+ostream& operator << (ostream& os, const HitSetEnt& hs) {
+       os << "\t" << hs.h.first << ":" << hs.h.second;
+       return os;
+}
+
+ostream& operator << (ostream& os, const HitSet& hs) {
+       os << hs.name << ":" << hs.seq << ":" << hs.qual << endl;
+       vector<HitSetEnt>::const_iterator it;
+       for(it = hs.ents.begin(); it != hs.ents.end(); it++) {
+               os << (*it);
+       }
+       return os;
+}
diff --git a/hit_set.h b/hit_set.h
new file mode 100644 (file)
index 0000000..b833c1b
--- /dev/null
+++ b/hit_set.h
@@ -0,0 +1,483 @@
+/*
+ * hit_set.h
+ *
+ *  Created on: Jul 31, 2009
+ *      Author: Ben Langmead
+ */
+
+#ifndef HIT_SET_H_
+#define HIT_SET_H_
+
+#include <seqan/sequence.h>
+#include <vector>
+#include <algorithm>
+#include "assert_helpers.h"
+#include "filebuf.h"
+#include "edit.h"
+#include "alphabet.h"
+#include "annot.h"
+#include "refmap.h"
+
+/**
+ * Encapsulates a hit contained within a HitSet that can be
+ * (de)serialized to/from FileBufs.  Used for chaining.
+ */
+struct HitSetEnt {
+       typedef std::pair<uint32_t,uint32_t> U32Pair;
+
+       HitSetEnt() { }
+
+       /**
+        * Write binary representation of HitSetEnt to an OutFileBuf.
+        */
+       void serialize(OutFileBuf& fb) const {
+               fb.writeChars((const char*)&h.first, 4);
+               fb.writeChars((const char*)&h.second, 4);
+               assert(fw == 0 || fw == 1);
+               fb.write(fw);
+               assert_geq(stratum, 0);
+               assert_lt(stratum, 4);
+               fb.write(stratum);
+               assert_eq(stratum, (cost >> 14));
+               fb.writeChars((const char*)&cost, 2);
+               fb.writeChars((const char*)&oms, 4);
+               uint32_t sz = edits.size();
+               fb.writeChars((const char*)&sz, 4);
+               std::vector<Edit>::const_iterator it;
+               for(it = edits.begin(); it != edits.end(); it++) {
+                       it->serialize(fb);
+               }
+               sz = cedits.size();
+               fb.writeChars((const char*)&sz, 4);
+               for(it = cedits.begin(); it != cedits.end(); it++) {
+                       it->serialize(fb);
+               }
+       }
+
+       /**
+        * Repopulate a HitSetEnt from its binary representation in FileBuf.
+        */
+       void deserialize(FileBuf& fb) {
+               fb.get((char*)&h.first, 4);
+               fb.get((char*)&h.second, 4);
+               fw = fb.get();
+               assert(fw == 0 || fw == 1);
+               stratum = fb.get();
+               assert_geq(stratum, 0);
+               assert_lt(stratum, 4);
+               fb.get((char*)&cost, 2);
+               assert_eq(stratum, (cost >> 14));
+               fb.get((char*)&oms, 4);
+               uint32_t sz = 0;
+               fb.get((char*)&sz, 4);
+               assert_lt(sz, 1024);
+               edits.resize(sz);
+               for(uint32_t i = 0; i < sz; i++) {
+                       edits[i].deserialize(fb);
+               }
+               fb.get((char*)&sz, 4);
+               assert_lt(sz, 1024);
+               cedits.resize(sz);
+               for(uint32_t i = 0; i < sz; i++) {
+                       cedits[i].deserialize(fb);
+               }
+       }
+
+       /**
+        * Less than operator.  Break HitSetEnt ties by:
+        *  - Stratum, then
+        *  - Cost, then
+        *  - Position, then
+        *  - Orientation
+        */
+       int operator< (const HitSetEnt &rhs) const {
+               if(stratum < rhs.stratum) return 1;
+               if(stratum > rhs.stratum) return 0;
+               if(cost < rhs.cost) return 1;
+               if(cost > rhs.cost) return 0;
+               if(h < rhs.h) return 1;
+               if(h > rhs.h) return 0;
+               return (fw < rhs.fw)? 1 : 0;
+       }
+
+       /**
+        * Greater than operator.
+        */
+       int operator> (const HitSetEnt &rhs) const {
+               if(stratum < rhs.stratum) return 0;
+               if(stratum > rhs.stratum) return 1;
+               if(cost < rhs.cost) return 0;
+               if(cost > rhs.cost) return 1;
+               if(h < rhs.h) return 0;
+               if(h > rhs.h) return 1;
+               return (fw <= rhs.fw)? 0 : 1;
+       }
+
+       /**
+        * Equality comparison operator.
+        */
+       int operator== (const HitSetEnt &rhs) const {
+               return(stratum == rhs.stratum &&
+                      cost == rhs.cost &&
+                      fw == rhs.fw &&
+                      h == rhs.h);
+       }
+
+       /**
+        * Indexing returns edits.
+        */
+       Edit& operator[](unsigned x) {
+               return edits[x];
+       }
+
+       /**
+        * Indexing returns edits.
+        */
+       const Edit& operator[](unsigned x) const {
+               return edits[x];
+       }
+
+       /**
+        * Another way to get at an edit.
+        */
+       Edit& editAt(unsigned i) {
+               return edits[i];
+       }
+
+       /**
+        * Another way to get at a const edit.
+        */
+       const Edit& editAt(unsigned i) const {
+               return edits[i];
+       }
+
+       /**
+        * Get the ith color edit.
+        */
+       Edit& colorEditAt(unsigned i) {
+               return cedits[i];
+       }
+
+       /**
+        * Another way to get at an edit.
+        */
+       const Edit& colorEditAt(unsigned i) const {
+               return cedits[i];
+       }
+
+       /**
+        * Return the front entry.
+        */
+       Edit& front() {
+               return edits.front();
+       }
+
+       /**
+        * Return the back entry.
+        */
+       Edit& back() {
+               return edits.back();
+       }
+
+       /**
+        * Expand the entry list by one.
+        */
+       void expand() {
+               edits.resize(edits.size() + 1);
+       }
+
+       /**
+        * Sort edits by position
+        */
+       void sort() {
+               if(edits.size() > 1) std::sort(edits.begin(), edits.end());
+       }
+
+       /**
+        * Return number of edits.
+        */
+       size_t size() const {
+               return edits.size();
+       }
+
+       bool empty() const {
+               return edits.empty();
+       }
+
+       /**
+        * Write HitSetEnt to an output stream.
+        */
+       friend std::ostream& operator << (std::ostream& os, const HitSetEnt& hse);
+
+       U32Pair h; // reference coordinates
+       uint8_t fw; // orientation
+       int8_t stratum; // stratum
+       uint16_t cost; // cost, including stratum
+       uint32_t oms; // # others
+       std::vector<Edit> edits; // edits to get from reference to subject
+       std::vector<Edit> cedits; // color edits to get from reference to subject
+};
+
+/**
+ * Encapsulates a set of hits that can be (de)serialized to/from
+ * FileBufs.  Used for chaining.
+ */
+struct HitSet {
+
+       typedef std::vector<HitSetEnt> EntVec;
+       typedef EntVec::const_iterator Iter;
+       typedef std::pair<uint32_t,uint32_t> U32Pair;
+
+       HitSet() {
+               maxedStratum = -1;
+       }
+
+       HitSet(FileBuf& fb) {
+               deserialize(fb);
+       }
+
+       /**
+        * Write binary representation of HitSet to an OutFileBuf.
+        */
+       void serialize(OutFileBuf& fb) const {
+               fb.write(color ? 1 : 0);
+               uint32_t i = seqan::length(name);
+               assert_gt(i, 0);
+               fb.writeChars((const char*)&i, 4);
+               fb.writeChars(seqan::begin(name), i);
+               i = seqan::length(seq);
+               assert_gt(i, 0);
+               assert_lt(i, 1024);
+               fb.writeChars((const char*)&i, 4);
+               for(size_t j = 0; j < i; j++) {
+                       fb.write("ACGTN"[(int)seq[j]]);
+               }
+               fb.writeChars(seqan::begin(qual), i);
+               i = ents.size();
+               fb.writeChars((const char*)&i, 4);
+               std::vector<HitSetEnt>::const_iterator it;
+               for(it = ents.begin(); it != ents.end(); it++) {
+                       it->serialize(fb);
+               }
+               fb.write(maxedStratum);
+       }
+
+       /**
+        * Repopulate a HitSet from its binary representation in FileBuf.
+        */
+       void deserialize(FileBuf& fb) {
+               color = (fb.get() != 0 ? true : false);
+               uint32_t sz = 0;
+               if(fb.get((char*)&sz, 4) != 4) {
+                       seqan::clear(name);
+                       seqan::clear(seq);
+                       return;
+               }
+               assert_gt(sz, 0);
+               assert_lt(sz, 1024);
+               seqan::resize(name, sz);
+               fb.get(seqan::begin(name), sz);
+               fb.get((char*)&sz, 4);
+               assert_gt(sz, 0);
+               assert_lt(sz, 1024);
+               seqan::resize(seq, sz);
+               for(size_t j = 0; j < sz; j++) {
+                       seq[j] = charToDna5[fb.get()];
+               }
+               seqan::resize(qual, sz);
+               fb.get(seqan::begin(qual), sz);
+               fb.get((char*)&sz, 4);
+               if(sz > 0) {
+                       ents.resize(sz);
+                       for(size_t i = 0; i < sz; i++) {
+                               ents[i].deserialize(fb);
+                       }
+               } else {
+                       ents.clear();
+               }
+               maxedStratum = fb.get();
+       }
+
+       /**
+        * Return true iff this HitSet is initialized with a read (but not
+        * necessarily any alignments).
+        */
+       bool initialized() const {
+               return !seqan::empty(seq);
+       }
+
+       /**
+        * Return true iff this HitSet has no hits.
+        */
+       bool empty() const {
+               return ents.empty();
+       }
+
+       /**
+        * Return number of entries in this HitSet.
+        */
+       size_t size() const {
+               return ents.size();
+       }
+
+       /**
+        * Remove all entries from this HitSet.
+        */
+       void clear() {
+               maxedStratum = -1;
+               ents.clear();
+       }
+
+       Iter begin() const {
+               return ents.begin();
+       }
+
+       Iter end() const {
+               return ents.end();
+       }
+
+       /**
+        * Return the front entry.
+        */
+       HitSetEnt& front() {
+               return ents.front();
+       }
+
+       /**
+        * Return the back entry.
+        */
+       HitSetEnt& back() {
+               return ents.back();
+       }
+
+       /**
+        * Expand the entry list by one.
+        */
+       void expand() {
+               ents.resize(ents.size() + 1);
+               assert(ents.back().empty());
+       }
+
+       /**
+        * Resize entry list
+        */
+       void resize(size_t sz) {
+               ents.resize(sz);
+       }
+
+       /**
+        * Sort hits by stratum/penalty.
+        */
+       void sort() {
+               if(ents.size() > 1) std::sort(ents.begin(), ents.end());
+       }
+
+       /**
+        * Return true iff Ents are sorted
+        */
+       bool sorted() const {
+               if(ents.empty()) return true;
+               for(size_t i = 0; i < ents.size()-1; i++) {
+                       if(!(ents[i] < ents[i+1])) return false;
+               }
+               return true;
+       }
+
+       /**
+        * Remove the ith hit from the HitSet, shifting all subsequent hits
+        * up by one.
+        */
+       void remove(size_t i) {
+               ents.erase(ents.begin() + i);
+       }
+
+       /**
+        * Return true if strata are uniform across hits; assert if they're
+        * not.
+        */
+       bool uniformStrata() const {
+               for(size_t i = 0; i < ents.size()-1; i++) {
+                       assert(ents[i].stratum == ents[i+1].stratum);
+               }
+               return true;
+       }
+
+       /**
+        * Indexing returns entries.
+        */
+       HitSetEnt& operator[](unsigned x) {
+               return ents[x];
+       }
+
+       /**
+        * Indexing returns entries.
+        */
+       const HitSetEnt& operator[](unsigned x) const {
+               return ents[x];
+       }
+
+       /**
+        * Apply a reference mappings to all the contained hits.
+        */
+       void applyReferenceMap(const ReferenceMap& map) {
+               std::vector<HitSetEnt>::iterator it;
+               for(it = ents.begin(); it != ents.end(); it++) map.map(it->h);
+       }
+
+       /**
+        * Clear out all the strings and all the entries.
+        */
+       void clearAll() {
+               seqan::clear(name);
+               seqan::clear(seq);
+               seqan::clear(qual);
+               ents.clear();
+               color = false;
+       }
+
+       /**
+        *
+        */
+       bool tryReplacing(U32Pair h,
+                         bool fw,
+                         uint16_t cost,
+                         size_t& pos)
+       {
+               for(size_t i = 0; i < ents.size(); i++) {
+                       if(ents[i].h == h && ents[i].fw == fw) {
+                               if(cost < ents[i].cost) {
+                                       // New hit at same position is better!  Replace it.
+                                       ents[i].h = h;
+                                       ents[i].fw = fw;
+                                       ents[i].stratum = cost >> 14;
+                                       ents[i].cost = cost;
+                                       pos = i;
+                                       return true;
+                               } else {
+                                       pos = 0xffffffff;
+                                       return true;
+                               }
+                       }
+               }
+               return false;
+       }
+
+       /**
+        * Report up to 'khits' hits from this HitSet.
+        */
+       void reportUpTo(std::ostream& os, int khits = INT_MAX);
+
+       /**
+        * Print this HitSet.
+        */
+       friend std::ostream& operator << (std::ostream& os, const HitSet& hs);
+
+       seqan::String<char> name;
+       seqan::String<seqan::Dna5> seq;
+       seqan::String<char> qual;
+       int8_t maxedStratum;
+       std::vector<HitSetEnt> ents;
+       bool color; // whether read was orginally in colorspace
+};
+
+#endif /* HIT_SET_H_ */
diff --git a/indexes/e_coli.1.ebwt b/indexes/e_coli.1.ebwt
new file mode 100644 (file)
index 0000000..094a0ed
Binary files /dev/null and b/indexes/e_coli.1.ebwt differ
diff --git a/indexes/e_coli.2.ebwt b/indexes/e_coli.2.ebwt
new file mode 100644 (file)
index 0000000..0d27498
Binary files /dev/null and b/indexes/e_coli.2.ebwt differ
diff --git a/indexes/e_coli.3.ebwt b/indexes/e_coli.3.ebwt
new file mode 100644 (file)
index 0000000..71e4c6d
Binary files /dev/null and b/indexes/e_coli.3.ebwt differ
diff --git a/indexes/e_coli.4.ebwt b/indexes/e_coli.4.ebwt
new file mode 100644 (file)
index 0000000..ad248ac
Binary files /dev/null and b/indexes/e_coli.4.ebwt differ
diff --git a/indexes/e_coli.README b/indexes/e_coli.README
new file mode 100644 (file)
index 0000000..16b09cb
--- /dev/null
@@ -0,0 +1,4 @@
+Generated from bowtie/scripts/make_e_coli.sh.  Built from the strain
+loacted in Bacteria/Escherichia_coli_536 on the NCBI FTP site.  The -t
+parameter (--ftabchars) has been turned down to 7 to keep the index
+small, so that it's reasonable to distribute with the Bowtie source.
diff --git a/indexes/e_coli.rev.1.ebwt b/indexes/e_coli.rev.1.ebwt
new file mode 100644 (file)
index 0000000..0b3f73b
Binary files /dev/null and b/indexes/e_coli.rev.1.ebwt differ
diff --git a/indexes/e_coli.rev.2.ebwt b/indexes/e_coli.rev.2.ebwt
new file mode 100644 (file)
index 0000000..a207667
Binary files /dev/null and b/indexes/e_coli.rev.2.ebwt differ
diff --git a/log.cpp b/log.cpp
new file mode 100644 (file)
index 0000000..70766a8
--- /dev/null
+++ b/log.cpp
@@ -0,0 +1,7 @@
+/*
+ * log.cpp
+ */
+
+#include "log.h"
+
+SyncLogger glog;
diff --git a/log.h b/log.h
new file mode 100644 (file)
index 0000000..7cdd87e
--- /dev/null
+++ b/log.h
@@ -0,0 +1,31 @@
+#ifndef LOG_H_
+#define LOG_H_
+
+#include <iostream>
+#include "threading.h"
+
+class SyncLogger {
+public:
+       SyncLogger() {
+               MUTEX_INIT(lock_);
+       }
+
+       void msg(const char *s) {
+               MUTEX_LOCK(lock_);
+               std::cout << s << std::endl;
+               MUTEX_UNLOCK(lock_);
+       }
+
+       void msg(const std::string& s) {
+               MUTEX_LOCK(lock_);
+               std::cout << s << std::endl;
+               MUTEX_UNLOCK(lock_);
+       }
+
+private:
+       MUTEX_T lock_;
+};
+
+extern SyncLogger glog;
+
+#endif /*LOG_H_*/
diff --git a/mm.h b/mm.h
new file mode 100644 (file)
index 0000000..3a8865b
--- /dev/null
+++ b/mm.h
@@ -0,0 +1,29 @@
+#ifndef MM_H_
+#define MM_H_
+
+/**
+ * mm.h:
+ *
+ * Defines that make it easier to handle files in the two different MM
+ * contexts: i.e. on Linux and Mac where MM is supported and POSIX I/O
+ * functions work as expected, and on Windows where MM is not supported
+ * and where there isn't POSIX I/O,
+ */
+
+#ifdef BOWTIE_MM
+#define MM_FILE_CLOSE(x) if(x > 3) { close(x); }
+#define MM_READ_RET ssize_t
+#define MM_READ read
+#define MM_SEEK lseek
+#define MM_FILE int
+#define MM_FILE_INIT -1
+#else
+#define MM_FILE_CLOSE(x) if(x != NULL) { fclose(x); }
+#define MM_READ_RET size_t
+#define MM_READ(file, dest, sz) fread(dest, 1, sz, file)
+#define MM_SEEK fseek
+#define MM_FILE FILE*
+#define MM_FILE_INIT NULL
+#endif
+
+#endif /* MM_H_ */
diff --git a/multikey_qsort.h b/multikey_qsort.h
new file mode 100644 (file)
index 0000000..62decd2
--- /dev/null
@@ -0,0 +1,1145 @@
+#ifndef MULTIKEY_QSORT_H_
+#define MULTIKEY_QSORT_H_
+
+#include <iostream>
+#include <seqan/basic.h>
+#include <seqan/file.h>
+#include <seqan/sequence.h>
+#include "sequence_io.h"
+#include "alphabet.h"
+#include "assert_helpers.h"
+#include "diff_sample.h"
+
+using namespace std;
+using namespace seqan;
+
+/**
+ * Swap elements a and b in seqan::String s
+ */
+template <typename TStr, typename TPos>
+static inline void swap(TStr& s, size_t slen, TPos a, TPos b) {
+       typedef typename Value<TStr>::Type TAlphabet;
+       assert_lt(a, slen);
+       assert_lt(b, slen);
+       TAlphabet tmp = s[a];
+       s[a] = s[b];
+       s[b] = tmp;
+}
+
+/**
+ * Swap elements a and b in array s
+ */
+template <typename TVal, typename TPos>
+static inline void swap(TVal* s, size_t slen, TPos a, TPos b) {
+       assert_lt(a, slen);
+       assert_lt(b, slen);
+       TVal tmp = s[a];
+       s[a] = s[b];
+       s[b] = tmp;
+}
+
+/**
+ * Helper macro for swapping elements a and b in seqan::String s.  Does
+ * some additional sainty checking w/r/t begin and end (which are
+ * parameters to the sorting routines below).
+ */
+#define SWAP(s, a, b) { \
+       assert_geq(a, begin); \
+       assert_geq(b, begin); \
+       assert_lt(a, end); \
+       assert_lt(b, end); \
+       swap(s, slen, a, b); \
+}
+
+/**
+ * Helper macro for swapping the same pair of elements a and b in
+ * two different seqan::Strings s and s2.  This is a helpful variant
+ * if, for example, the caller would like to see how their input was
+ * permuted by the sort routine (in that case, the caller would let s2
+ * be an array s2[] where s2 is the same length as s and s2[i] = i).
+ */
+#define SWAP2(s, s2, a, b) { \
+       SWAP(s, a, b); \
+       swap(s2, slen, a, b); \
+}
+
+#define SWAP1(s, s2, a, b) { \
+       SWAP(s, a, b); \
+}
+
+/**
+ * Helper macro that swaps a range of elements [i, i+n) with another
+ * range [j, j+n) in seqan::String s.
+ */
+#define VECSWAP(s, i, j, n) { \
+       if(n > 0) { vecswap(s, slen, i, j, n, begin, end); } \
+}
+
+/**
+ * Helper macro that swaps a range of elements [i, i+n) with another
+ * range [j, j+n) both in seqan::String s and seqan::String s2.
+ */
+#define VECSWAP2(s, s2, i, j, n) { \
+       if(n > 0) { vecswap2(s, slen, s2, i, j, n, begin, end); } \
+}
+
+/**
+ * Helper function that swaps a range of elements [i, i+n) with another
+ * range [j, j+n) in seqan::String s.  begin and end represent the
+ * current range under consideration by the caller (one of the
+ * recursive multikey_quicksort routines below).
+ */
+template <typename TStr, typename TPos>
+static inline void vecswap(TStr& s, size_t slen, TPos i, TPos j, TPos n, TPos begin, TPos end) {
+       assert_geq(i, begin);
+       assert_geq(j, begin);
+       assert_lt(i, end);
+       assert_lt(j, end);
+       while(n-- > 0) {
+               assert_geq(n, 0);
+               TPos a = i+n;
+               TPos b = j+n;
+               assert_geq(a, begin);
+               assert_geq(b, begin);
+               assert_lt(a, end);
+               assert_lt(b, end);
+               swap(s, slen, a, b);
+       }
+}
+
+template <typename TVal, typename TPos>
+static inline void vecswap(TVal *s, size_t slen, TPos i, TPos j, TPos n, TPos begin, TPos end) {
+       assert_geq(i, begin);
+       assert_geq(j, begin);
+       assert_lt(i, end);
+       assert_lt(j, end);
+       while(n-- > 0) {
+               assert_geq(n, 0);
+               TPos a = i+n;
+               TPos b = j+n;
+               assert_geq(a, begin);
+               assert_geq(b, begin);
+               assert_lt(a, end);
+               assert_lt(b, end);
+               swap(s, slen, a, b);
+       }
+}
+
+/**
+ * Helper function that swaps a range of elements [i, i+n) with another
+ * range [j, j+n) both in seqan::String s and seqan::String s2.  begin
+ * and end represent the current range under consideration by the
+ * caller (one of the recursive multikey_quicksort routines below).
+ */
+template <typename TStr, typename TPos>
+static inline void vecswap2(TStr& s, size_t slen, TStr& s2, TPos i, TPos j, TPos n, TPos begin, TPos end) {
+       assert_geq(i, begin);
+       assert_geq(j, begin);
+       assert_lt(i, end);
+       assert_lt(j, end);
+       while(n-- > 0) {
+               assert_geq(n, 0);
+               TPos a = i+n;
+               TPos b = j+n;
+               assert_geq(a, begin);
+               assert_geq(b, begin);
+               assert_lt(a, end);
+               assert_lt(b, end);
+               swap(s, slen, a, b);
+               swap(s2, slen, a, b);
+       }
+}
+
+template <typename TVal, typename TPos>
+static inline void vecswap2(TVal* s, size_t slen, TVal* s2, TPos i, TPos j, TPos n, TPos begin, TPos end) {
+       assert_geq(i, begin);
+       assert_geq(j, begin);
+       assert_lt(i, end);
+       assert_lt(j, end);
+       while(n-- > 0) {
+               assert_geq(n, 0);
+               TPos a = i+n;
+               TPos b = j+n;
+               assert_geq(a, begin);
+               assert_geq(b, begin);
+               assert_lt(a, end);
+               assert_lt(b, end);
+               swap(s, slen, a, b);
+               swap(s2, slen, a, b);
+       }
+}
+
+/// Retrieve an int-ized version of the ath character of string s, or,
+/// if a goes off the end of s, return a (user-specified) int greater
+/// than any TAlphabet character - 'hi'.
+#define CHAR_AT(ss, aa) ((length(s[ss]) > aa) ? (int)(Dna)(s[ss][aa]) : hi)
+
+/// Retrieve an int-ized version of the ath character of string s, or,
+/// if a goes off the end of s, return a (user-specified) int greater
+/// than any TAlphabet character - 'hi'.
+#define CHAR_AT_SUF(si, off) (((off+s[si]) < hlen) ? ((int)(Dna)(host[off+s[si]])) : (hi))
+
+/// Retrieve an int-ized version of the ath character of string s, or,
+/// if a goes off the end of s, return a (user-specified) int greater
+/// than any TAlphabet character - 'hi'.
+
+#define CHAR_AT_SUF_U8(si, off) char_at_suf_u8(host, hlen, s, si, off, hi)
+
+// Note that CHOOSE_AND_SWAP_RANDOM_PIVOT is unused
+#define CHOOSE_AND_SWAP_RANDOM_PIVOT(sw, ch) {                            \
+       /* Note: rand() didn't really cut it here; it seemed to run out of */ \
+       /* randomness and, after a time, returned the same thing over and */  \
+       /* over again */                                                      \
+       a = (rand() % n) + begin; /* choose pivot between begin and end */  \
+       assert_lt(a, end); assert_geq(a, begin);                              \
+       sw(s, s2, begin, a); /* move pivot to beginning */                    \
+}
+
+/**
+ * Ad-hoc DNA-centric way of choose a pretty good pivot without using
+ * the pseudo-random number generator.  We try to get a 1 or 2 if
+ * possible, since they'll split things more evenly than a 0 or 4.  We
+ * also avoid swapping in the event that we choose the first element.
+ */
+#define CHOOSE_AND_SWAP_SMART_PIVOT(sw, ch) {                                    \
+       a = begin; /* choose first elt */                                            \
+       /* now try to find a better elt */                                           \
+       if(n >= 5) { /* n is the difference between begin and end */                 \
+               if     (ch(begin+1, depth) == 1 || ch(begin+1, depth) == 2) a = begin+1; \
+               else if(ch(begin+2, depth) == 1 || ch(begin+2, depth) == 2) a = begin+2; \
+               else if(ch(begin+3, depth) == 1 || ch(begin+3, depth) == 2) a = begin+3; \
+               else if(ch(begin+4, depth) == 1 || ch(begin+4, depth) == 2) a = begin+4; \
+               if(a != begin) sw(s, s2, begin, a); /* move pivot to beginning */        \
+       }                                                                            \
+       /* the element at [begin] now holds the pivot value */                       \
+}
+
+#define CHOOSE_AND_SWAP_PIVOT CHOOSE_AND_SWAP_SMART_PIVOT
+
+#ifndef NDEBUG
+
+/**
+ * Assert that the range of chars at depth 'depth' in strings 'begin'
+ * to 'end' in string-of-suffix-offsets s is parititioned properly
+ * according to the ternary paritioning strategy of Bentley and McIlroy
+ * (*prior to* swapping the = regions to the center)
+ */
+template<typename THost>
+bool assertPartitionedSuf(const THost& host,
+                          uint32_t *s,
+                          size_t slen,
+                          int hi,
+                          int pivot,
+                          size_t begin,
+                          size_t end,
+                          size_t depth)
+{
+       size_t hlen = length(host);
+       int state = 0; // 0 -> 1st = section, 1 -> < section, 2 -> > section, 3 -> 2nd = section
+       for(size_t i = begin; i < end; i++) {
+               switch(state) {
+               case 0:
+                       if       (CHAR_AT_SUF(i, depth) < pivot)  { state = 1; break; }
+                       else if  (CHAR_AT_SUF(i, depth) > pivot)  { state = 2; break; }
+                       assert_eq(CHAR_AT_SUF(i, depth), pivot);  break;
+               case 1:
+                       if       (CHAR_AT_SUF(i, depth) > pivot)  { state = 2; break; }
+                       else if  (CHAR_AT_SUF(i, depth) == pivot) { state = 3; break; }
+                       assert_lt(CHAR_AT_SUF(i, depth), pivot);  break;
+               case 2:
+                       if       (CHAR_AT_SUF(i, depth) == pivot) { state = 3; break; }
+                       assert_gt(CHAR_AT_SUF(i, depth), pivot);         break;
+               case 3:
+                       assert_eq(CHAR_AT_SUF(i, depth), pivot);         break;
+               }
+       }
+       return true;
+}
+
+/**
+ * Assert that the range of chars at depth 'depth' in strings 'begin'
+ * to 'end' in string-of-suffix-offsets s is parititioned properly
+ * according to the ternary paritioning strategy of Bentley and McIlroy
+ * (*after* swapping the = regions to the center)
+ */
+template<typename THost>
+bool assertPartitionedSuf2(const THost& host,
+                           uint32_t *s,
+                           size_t slen,
+                           int hi,
+                           int pivot,
+                           size_t begin,
+                           size_t end,
+                           size_t depth)
+{
+       size_t hlen = length(host);
+       int state = 0; // 0 -> < section, 1 -> = section, 2 -> > section
+       for(size_t i = begin; i < end; i++) {
+               switch(state) {
+               case 0:
+                       if       (CHAR_AT_SUF(i, depth) == pivot) { state = 1; break; }
+                       else if  (CHAR_AT_SUF(i, depth) > pivot)  { state = 2; break; }
+                       assert_lt(CHAR_AT_SUF(i, depth), pivot);  break;
+               case 1:
+                       if       (CHAR_AT_SUF(i, depth) > pivot)  { state = 2; break; }
+                       assert_eq(CHAR_AT_SUF(i, depth), pivot);  break;
+               case 2:
+                       assert_gt(CHAR_AT_SUF(i, depth), pivot);  break;
+               }
+       }
+       return true;
+}
+#endif
+
+/**
+ * Assert that the seqan::String s of suffix offsets into seqan::String
+ * 'host' is a seemingly legitimate suffix-offset list (at this time,
+ * we just check that it doesn't list any suffix twice).
+ */
+static void sanityCheckInputSufs(uint32_t *s, size_t slen) {
+       assert_gt(slen, 0);
+       for(size_t i = 0; i < slen; i++) {
+               // Actually, it's convenient to allow the caller to provide
+               // suffix offsets thare are off the end of the host string.
+               // See, e.g., build() in diff_sample.cpp.
+               //assert_lt(s[i], length(host));
+               for(size_t j = i+1; j < slen; j++) {
+                       assert_neq(s[i], s[j]);
+               }
+       }
+}
+
+/**
+ * Assert that the seqan::String s of suffix offsets into seqan::String
+ * 'host' really are in lexicographical order up to depth 'upto'.
+ */
+template <typename T>
+void sanityCheckOrderedSufs(const T& host,
+                            size_t hlen,
+                            uint32_t *s,
+                            size_t slen,
+                            size_t upto,
+                            uint32_t lower = 0,
+                            uint32_t upper = 0xffffffff)
+{
+       assert_lt(s[0], hlen);
+       upper = min<uint32_t>(upper, slen-1);
+       for(size_t i = lower; i < upper; i++) {
+               // Allow s[i+t] to point off the end of the string; this is
+               // convenient for some callers
+               if(s[i+1] >= hlen) continue;
+               if(upto == 0xffffffff) {
+                       assert(dollarLt(suffix(host, s[i]), suffix(host, s[i+1])));
+               } else {
+#ifndef NDEBUG
+                       if(prefix(suffix(host, s[i]), upto) > prefix(suffix(host, s[i+1]), upto)) {
+                               // operator > treats shorter strings as
+                               // lexicographically smaller, but we want to opposite
+                               assert(isPrefix(suffix(host, s[i+1]), suffix(host, s[i])));
+                       }
+#endif
+               }
+       }
+}
+
+/**
+ * Main multikey quicksort function for suffixes.  Based on Bentley &
+ * Sedgewick's algorithm on p.5 of their paper "Fast Algorithms for
+ * Sorting and Searching Strings".  That algorithm has been extended in
+ * three ways:
+ *
+ *  1. Deal with keys of different lengths by checking bounds and
+ *     considering off-the-end values to be 'hi' (b/c our goal is the
+ *     BWT transform, we're biased toward considring prefixes as
+ *     lexicographically *greater* than their extensions).
+ *  2. The multikey_qsort_suffixes version takes a single host string
+ *     and a list of suffix offsets as input.  This reduces memory
+ *     footprint compared to an approach that treats its input
+ *     generically as a set of strings (not necessarily suffixes), thus
+ *     requiring that we store at least two integers worth of
+ *     information for each string.
+ *  3. Sorting functions take an extra "upto" parameter that upper-
+ *     bounds the depth to which the function sorts.
+ *
+ * TODO: Consult a tie-breaker (like a difference cover sample) if two
+ * keys share a long prefix.
+ */
+template<typename T>
+void mkeyQSortSuf(const T& host,
+                  size_t hlen,
+                  uint32_t *s,
+                  size_t slen,
+                  int hi,
+                  size_t begin,
+                  size_t end,
+                  size_t depth,
+                  size_t upto = 0xffffffff)
+{
+       // Helper for making the recursive call; sanity-checks arguments to
+       // make sure that the problem actually got smaller.
+       #define MQS_RECURSE_SUF(nbegin, nend, ndepth) { \
+               assert(nbegin > begin || nend < end || ndepth > depth); \
+               if(ndepth < upto) { /* don't exceed depth of 'upto' */ \
+                       mkeyQSortSuf(host, hlen, s, slen, hi, nbegin, nend, ndepth, upto); \
+               } \
+       }
+       assert_leq(begin, slen);
+       assert_leq(end, slen);
+       size_t a, b, c, d, /*e,*/ r;
+       size_t n = end - begin;
+       if(n <= 1) return;                 // 1-element list already sorted
+       CHOOSE_AND_SWAP_PIVOT(SWAP1, CHAR_AT_SUF); // pick pivot, swap it into [begin]
+       int v = CHAR_AT_SUF(begin, depth); // v <- randomly-selected pivot value
+       #ifndef NDEBUG
+       {
+               bool stillInBounds = false;
+               for(size_t i = begin; i < end; i++) {
+                       if(depth < (hlen-s[i])) {
+                               stillInBounds = true;
+                               break;
+                       } else { /* already fell off this suffix */ }
+               }
+               assert(stillInBounds); // >=1 suffix must still be in bounds
+       }
+       #endif
+       a = b = begin;
+       c = d = end-1;
+       while(true) {
+               // Invariant: everything before a is = pivot, everything
+               // between a and b is <
+               int bc = 0; // shouldn't have to init but gcc on Mac complains
+               while(b <= c && v >= (bc = CHAR_AT_SUF(b, depth))) {
+                       if(v == bc) {
+                               SWAP(s, a, b); a++;
+                       }
+                       b++;
+               }
+               // Invariant: everything after d is = pivot, everything
+               // between c and d is >
+               int cc = 0; // shouldn't have to init but gcc on Mac complains
+               while(b <= c && v <= (cc = CHAR_AT_SUF(c, depth))) {
+                       if(v == cc) {
+                               SWAP(s, c, d); d--;
+                       }
+                       c--;
+               }
+               if(b > c) break;
+               SWAP(s, b, c);
+               b++;
+               c--;
+       }
+       assert(a > begin || c < end-1);                      // there was at least one =s
+       assert_lt(d-c, n); // they can't all have been > pivot
+       assert_lt(b-a, n); // they can't all have been < pivot
+       assert(assertPartitionedSuf(host, s, slen, hi, v, begin, end, depth));  // check pre-=-swap invariant
+       r = min(a-begin, b-a); VECSWAP(s, begin, b-r,   r);  // swap left = to center
+       r = min(d-c, end-d-1); VECSWAP(s, b,     end-r, r);  // swap right = to center
+       assert(assertPartitionedSuf2(host, s, slen, hi, v, begin, end, depth)); // check post-=-swap invariant
+       r = b-a; // r <- # of <'s
+       if(r > 0) {
+               MQS_RECURSE_SUF(begin, begin + r, depth); // recurse on <'s
+       }
+       // Do not recurse on ='s if the pivot was the off-the-end value;
+       // they're already fully sorted
+       if(v != hi) {
+               MQS_RECURSE_SUF(begin + r, begin + r + (a-begin) + (end-d-1), depth+1); // recurse on ='s
+       }
+       r = d-c; // r <- # of >'s excluding those exhausted
+       if(r > 0 && v < hi-1) {
+               MQS_RECURSE_SUF(end-r, end, depth); // recurse on >'s
+       }
+}
+
+/**
+ * Toplevel function for multikey quicksort over suffixes.
+ */
+template<typename T>
+void mkeyQSortSuf(const T& host,
+                  uint32_t *s,
+                  size_t slen,
+                  int hi,
+                  bool verbose = false,
+                  bool sanityCheck = false,
+                  size_t upto = 0xffffffff)
+{
+       size_t hlen = length(host);
+       assert(!empty(s));
+       if(sanityCheck) sanityCheckInputSufs(s, slen);
+       mkeyQSortSuf(host, hlen, s, slen, hi, (size_t)0, slen, (size_t)0, upto);
+       if(sanityCheck) sanityCheckOrderedSufs(host, hlen, s, slen, upto);
+}
+
+/**
+ * Just like mkeyQSortSuf but all swaps are applied to s2 as well as s.
+ * This is a helpful variant if, for example, the caller would like to
+ * see how their input was permuted by the sort routine (in that case,
+ * the caller would let s2 be an array s2[] where s2 is the same length
+ * as s and s2[i] = i).
+ */
+template<typename T>
+void mkeyQSortSuf2(const T& host,
+                   size_t hlen,
+                   uint32_t *s,
+                   size_t slen,
+                   uint32_t *s2,
+                   int hi,
+                   size_t begin,
+                   size_t end,
+                   size_t depth,
+                   size_t upto = 0xffffffff)
+{
+       // Helper for making the recursive call; sanity-checks arguments to
+       // make sure that the problem actually got smaller.
+       #define MQS_RECURSE_SUF_DS(nbegin, nend, ndepth) { \
+               assert(nbegin > begin || nend < end || ndepth > depth); \
+               if(ndepth < upto) { /* don't exceed depth of 'upto' */ \
+                       mkeyQSortSuf2(host, hlen, s, slen, s2, hi, nbegin, nend, ndepth, upto); \
+               } \
+       }
+       assert_leq(begin, slen);
+       assert_leq(end, slen);
+       size_t a, b, c, d, /*e,*/ r;
+       size_t n = end - begin;
+       if(n <= 1) return;                 // 1-element list already sorted
+       CHOOSE_AND_SWAP_PIVOT(SWAP2, CHAR_AT_SUF); // pick pivot, swap it into [begin]
+       int v = CHAR_AT_SUF(begin, depth); // v <- randomly-selected pivot value
+       #ifndef NDEBUG
+       {
+               bool stillInBounds = false;
+               for(size_t i = begin; i < end; i++) {
+                       if(depth < (hlen-s[i])) {
+                               stillInBounds = true;
+                               break;
+                       } else { /* already fell off this suffix */ }
+               }
+               assert(stillInBounds); // >=1 suffix must still be in bounds
+       }
+       #endif
+       a = b = begin;
+       c = d = /*e =*/ end-1;
+       while(true) {
+               // Invariant: everything before a is = pivot, everything
+               // between a and b is <
+               int bc = 0; // shouldn't have to init but gcc on Mac complains
+               while(b <= c && v >= (bc = CHAR_AT_SUF(b, depth))) {
+                       if(v == bc) {
+                               SWAP2(s, s2, a, b); a++;
+                       }
+                       b++;
+               }
+               // Invariant: everything after d is = pivot, everything
+               // between c and d is >
+               int cc = 0; // shouldn't have to init but gcc on Mac complains
+               while(b <= c && v <= (cc = CHAR_AT_SUF(c, depth))) {
+                       if(v == cc) {
+                               SWAP2(s, s2, c, d); d--; /*e--;*/
+                       }
+                       //else if(c == e && v == hi) e--;
+                       c--;
+               }
+               if(b > c) break;
+               SWAP2(s, s2, b, c);
+               b++;
+               c--;
+       }
+       assert(a > begin || c < end-1);                      // there was at least one =s
+       assert_lt(/*e*/d-c, n); // they can't all have been > pivot
+       assert_lt(b-a, n); // they can't all have been < pivot
+       assert(assertPartitionedSuf(host, s, slen, hi, v, begin, end, depth));  // check pre-=-swap invariant
+       r = min(a-begin, b-a); VECSWAP2(s, s2, begin, b-r,   r);  // swap left = to center
+       r = min(d-c, end-d-1); VECSWAP2(s, s2, b,     end-r, r);  // swap right = to center
+       assert(assertPartitionedSuf2(host, s, slen, hi, v, begin, end, depth)); // check post-=-swap invariant
+       r = b-a; // r <- # of <'s
+       if(r > 0) {
+               MQS_RECURSE_SUF_DS(begin, begin + r, depth); // recurse on <'s
+       }
+       // Do not recurse on ='s if the pivot was the off-the-end value;
+       // they're already fully sorted
+       if(v != hi) {
+               MQS_RECURSE_SUF_DS(begin + r, begin + r + (a-begin) + (end-d-1), depth+1); // recurse on ='s
+       }
+       r = d-c;   // r <- # of >'s excluding those exhausted
+       if(r > 0 && v < hi-1) {
+               MQS_RECURSE_SUF_DS(end-r, end, depth); // recurse on >'s
+       }
+}
+
+/**
+ * Toplevel function for multikey quicksort over suffixes with double
+ * swapping.
+ */
+template<typename T>
+void mkeyQSortSuf2(const T& host,
+                   uint32_t *s,
+                   size_t slen,
+                   uint32_t *s2,
+                   int hi,
+                   bool verbose = false,
+                   bool sanityCheck = false,
+                   size_t upto = 0xffffffff)
+{
+       size_t hlen = length(host);
+       if(sanityCheck) sanityCheckInputSufs(s, slen);
+       uint32_t *sOrig = NULL;
+       if(sanityCheck) {
+               sOrig = new uint32_t[slen];
+               memcpy(sOrig, s, 4 * slen);
+       }
+       mkeyQSortSuf2(host, hlen, s, slen, s2, hi, (size_t)0, slen, (size_t)0, upto);
+       if(sanityCheck) {
+               sanityCheckOrderedSufs(host, hlen, s, slen, upto);
+               for(size_t i = 0; i < slen; i++) {
+                       assert_eq(s[i], sOrig[s2[i]]);
+               }
+       }
+}
+
+// Ugly but necessary; otherwise the compiler chokes dramatically on
+// the DifferenceCoverSample<> template args to the next few functions
+template <typename T>
+class DifferenceCoverSample;
+
+/**
+ * Constant time
+ */
+template<typename T1, typename T2> inline
+bool sufDcLt(const T1& host,
+             const T2& s1,
+             const T2& s2,
+             const DifferenceCoverSample<T1>& dc,
+             bool sanityCheck = false)
+{
+       uint32_t diff = dc.tieBreakOff(s1, s2);
+       assert_lt(diff, dc.v());
+       assert_lt(diff, length(host)-s1);
+       assert_lt(diff, length(host)-s2);
+       if(sanityCheck) {
+               for(uint32_t i = 0; i < diff; i++) {
+                       assert_eq(host[s1+i], host[s2+i]);
+               }
+       }
+       bool ret = dc.breakTie(s1+diff, s2+diff) < 0;
+#ifndef NDEBUG
+       if(sanityCheck && ret != dollarLt(suffix(host, s1), suffix(host, s2))) {
+               assert(false);
+       }
+#endif
+       return ret;
+}
+
+/**
+ * k log(k)
+ */
+template<typename T> inline
+void qsortSufDc(const T& host,
+                size_t hlen,
+                uint32_t* s,
+                size_t slen,
+                const DifferenceCoverSample<T>& dc,
+                size_t begin,
+                size_t end,
+                bool sanityCheck = false)
+{
+       assert_leq(end, slen);
+       assert_lt(begin, slen);
+       assert_gt(end, begin);
+       size_t n = end - begin;
+       if(n <= 1) return;                 // 1-element list already sorted
+       // Note: rand() didn't really cut it here; it seemed to run out of
+       // randomness and, after a time, returned the same thing over and
+       // over again
+       size_t a = (rand() % n) + begin; // choose pivot between begin and end
+       assert_lt(a, end);
+       assert_geq(a, begin);
+       SWAP(s, end-1, a); // move pivot to end
+       size_t cur = 0;
+       for(size_t i = begin; i < end-1; i++) {
+               if(sufDcLt(host, s[i], s[end-1], dc, sanityCheck)) {
+                       if(sanityCheck)
+                               assert(dollarLt(suffix(host, s[i]), suffix(host, s[end-1])));
+                       assert_lt(begin + cur, end-1);
+                       SWAP(s, i, begin + cur);
+                       cur++;
+               }
+       }
+       // Put pivot into place
+       assert_lt(cur, end-begin);
+       SWAP(s, end-1, begin+cur);
+       if(begin+cur > begin) qsortSufDc(host, hlen, s, slen, dc, begin, begin+cur);
+       if(end > begin+cur+1) qsortSufDc(host, hlen, s, slen, dc, begin+cur+1, end);
+}
+
+/**
+ * Toplevel function for multikey quicksort over suffixes.
+ */
+template<typename T1, typename T2>
+void mkeyQSortSufDcU8(const T1& seqanHost,
+                      const T2& host,
+                      size_t hlen,
+                      uint32_t* s,
+                      size_t slen,
+                      const DifferenceCoverSample<T1>& dc,
+                      int hi,
+                      bool verbose = false,
+                      bool sanityCheck = false)
+{
+       if(sanityCheck) sanityCheckInputSufs(s, slen);
+       mkeyQSortSufDcU8(seqanHost, host, hlen, s, slen, dc, hi, 0, slen, 0, sanityCheck);
+       if(sanityCheck) sanityCheckOrderedSufs(seqanHost, hlen, s, slen, 0xffffffff);
+}
+
+/**
+ * Return a boolean indicating whether s1 < s2 using the difference
+ * cover to break the tie.
+ */
+template<typename T1, typename T2> inline
+bool sufDcLtU8(const T1& seqanHost,
+               const T2& host,
+               size_t hlen,
+               uint32_t s1,
+               uint32_t s2,
+               const DifferenceCoverSample<T1>& dc,
+               bool sanityCheck = false)
+{
+       hlen += 0;
+       uint32_t diff = dc.tieBreakOff(s1, s2);
+       assert_lt(diff, dc.v());
+       assert_lt(diff, hlen-s1);
+       assert_lt(diff, hlen-s2);
+       if(sanityCheck) {
+               for(uint32_t i = 0; i < diff; i++) {
+                       assert_eq(host[s1+i], host[s2+i]);
+               }
+       }
+       bool ret = dc.breakTie(s1+diff, s2+diff) < 0;
+       // Sanity-check return value using dollarLt
+#ifndef NDEBUG
+       if(sanityCheck &&
+          ret != dollarLt(suffix(seqanHost, s1), suffix(seqanHost, s2)))
+       {
+               assert(false);
+       }
+#endif
+       return ret;
+}
+
+/**
+ * k log(k)
+ */
+template<typename T1, typename T2> inline
+void qsortSufDcU8(const T1& seqanHost,
+                  const T2& host,
+                  size_t hlen,
+                  uint32_t* s,
+                  size_t slen,
+                  const DifferenceCoverSample<T1>& dc,
+                  size_t begin,
+                  size_t end,
+                  bool sanityCheck = false)
+{
+       assert_leq(end, slen);
+       assert_lt(begin, slen);
+       assert_gt(end, begin);
+       size_t n = end - begin;
+       if(n <= 1) return;                 // 1-element list already sorted
+       // Note: rand() didn't really cut it here; it seemed to run out of
+       // randomness and, after a time, returned the same thing over and
+       // over again
+       size_t a = (rand() % n) + begin; // choose pivot between begin and end
+       assert_lt(a, end);
+       assert_geq(a, begin);
+       SWAP(s, end-1, a); // move pivot to end
+       size_t cur = 0;
+       for(size_t i = begin; i < end-1; i++) {
+               if(sufDcLtU8(seqanHost, host, hlen, s[i], s[end-1], dc, sanityCheck)) {
+#ifndef NDEBUG
+                       if(sanityCheck)
+                               assert(dollarLt(suffix(seqanHost, s[i]), suffix(seqanHost, s[end-1])));
+                       assert_lt(begin + cur, end-1);
+#endif
+                       SWAP(s, i, begin + cur);
+                       cur++;
+               }
+       }
+       // Put pivot into place
+       assert_lt(cur, end-begin);
+       SWAP(s, end-1, begin+cur);
+       if(begin+cur > begin) qsortSufDcU8(seqanHost, host, hlen, s, slen, dc, begin, begin+cur);
+       if(end > begin+cur+1) qsortSufDcU8(seqanHost, host, hlen, s, slen, dc, begin+cur+1, end);
+}
+
+#define BUCKET_SORT_CUTOFF (4 * 1024 * 1024)
+#define SELECTION_SORT_CUTOFF 6
+
+// 5 64-element buckets for bucket-sorting A, C, G, T, $
+static uint32_t bkts[4][4 * 1024 * 1024];
+
+/**
+ * Straightforwardly obtain a uint8_t-ized version of t[off].  This
+ * works fine as long as TStr is not packed.
+ */
+template<typename TStr>
+inline uint8_t get_uint8(const TStr& t, uint32_t off) {
+       return t[off];
+}
+
+/**
+ * For incomprehensible generic-programming reasons, getting a uint8_t
+ * version of a character in a packed String<> requires casting first
+ * to Dna then to uint8_t.
+ */
+template<>
+inline uint8_t get_uint8(const String<Dna, Packed<> >& t, uint32_t off) {
+       return (uint8_t)(Dna)t[off];
+}
+
+/**
+ * Return character at offset 'off' from the 'si'th suffix in the array
+ * 's' of suffixes.  If the character is out-of-bounds, return hi.
+ */
+template<typename TStr>
+static inline int char_at_suf_u8(const TStr& host,
+                                 uint32_t hlen,
+                                 uint32_t* s,
+                                 uint32_t si,
+                                 uint32_t off,
+                                 uint8_t hi)
+{
+       return ((off+s[si]) < hlen) ? get_uint8(host, off+s[si]) : (hi);
+}
+
+template<typename T1, typename T2>
+static void selectionSortSufDcU8(
+               const T1& seqanHost,
+               const T2& host,
+        size_t hlen,
+        uint32_t* s,
+        size_t slen,
+        const DifferenceCoverSample<T1>& dc,
+        uint8_t hi,
+        size_t begin,
+        size_t end,
+        size_t depth,
+        bool sanityCheck = false)
+{
+#define ASSERT_SUF_LT(l, r) \
+       if(sanityCheck && \
+          !dollarLt(suffix(seqanHost, s[l]), \
+                    suffix(seqanHost, s[r]))) { \
+               cout << "l: " << suffixStr(seqanHost, s[l]) << endl; \
+               cout << "r: " << suffixStr(seqanHost, s[r]) << endl; \
+               assert(false); \
+       }
+
+       assert_gt(end, begin+1);
+       assert_leq(end-begin, SELECTION_SORT_CUTOFF);
+       assert_eq(hi, 4);
+       uint32_t v = dc.v();
+       if(end == begin+2) {
+               uint32_t off = dc.tieBreakOff(s[begin], s[begin+1]);
+               if(off + s[begin] >= hlen ||
+                  off + s[begin+1] >= hlen)
+               {
+                       off = 0xffffffff;
+               }
+               if(off != 0xffffffff) {
+                       if(off < depth) {
+                               qsortSufDcU8<T1,T2>(seqanHost, host, hlen, s, slen, dc,
+                                                   begin, end, sanityCheck);
+                               // It's helpful for debugging if we call this here
+                               if(sanityCheck) {
+                                       sanityCheckOrderedSufs(seqanHost, hlen, s, slen,
+                                                              0xffffffff, begin, end);
+                               }
+                               return;
+                       }
+                       v = off - depth + 1;
+               }
+       }
+       assert_leq(v, dc.v());
+       uint32_t lim = v;
+       assert_geq(lim, 0);
+       for(size_t i = begin; i < end-1; i++) {
+               uint32_t targ = i;
+               uint32_t targoff = depth + s[i];
+               for(size_t j = i+1; j < end; j++) {
+                       assert_neq(j, targ);
+                       uint32_t joff = depth + s[j];
+                       uint32_t k;
+                       for(k = 0; k <= lim; k++) {
+                               assert_neq(j, targ);
+                               uint8_t jc = (k + joff < hlen)    ? get_uint8(host, k + joff)    : hi;
+                               uint8_t tc = (k + targoff < hlen) ? get_uint8(host, k + targoff) : hi;
+                               assert(jc != hi || tc != hi);
+                               if(jc > tc) {
+                                       // the jth suffix is greater than the current
+                                       // smallest suffix
+                                       ASSERT_SUF_LT(targ, j);
+                                       break;
+                               } else if(jc < tc) {
+                                       // the jth suffix is less than the current smallest
+                                       // suffix, so update smallest to be j
+                                       ASSERT_SUF_LT(j, targ);
+                                       targ = j;
+                                       targoff = joff;
+                                       break;
+                               } else if(k == lim) {
+                                       // Check whether either string ends immediately
+                                       // after this character
+                                       assert_leq(k + joff + 1, hlen);
+                                       assert_leq(k + targoff + 1, hlen);
+                                       if(k + joff + 1 == hlen) {
+                                               // targ < j
+                                               assert_neq(k + targoff + 1, hlen);
+                                               ASSERT_SUF_LT(targ, j);
+                                               break;
+                                       } else if(k + targoff + 1 == hlen) {
+                                               // j < targ
+                                               ASSERT_SUF_LT(j, targ);
+                                               targ = j;
+                                               targoff = joff;
+                                               break;
+                                       }
+                               } else {
+                                       // They're equal so far, keep going
+                               }
+                       }
+                       // The jth suffix was equal to the current smallest suffix
+                       // up to the difference-cover period, so disambiguate with
+                       // difference cover
+                       if(k == lim+1) {
+                               assert_neq(j, targ);
+                               if(sufDcLtU8(seqanHost, host, hlen, s[j], s[targ], dc, sanityCheck)) {
+                                       // j < targ
+                                       assert(!sufDcLtU8(seqanHost, host, hlen, s[targ], s[j], dc, sanityCheck));
+                                       ASSERT_SUF_LT(j, targ);
+                                       targ = j;
+                                       targoff = joff;
+                               } else {
+                                       assert(sufDcLtU8(seqanHost, host, hlen, s[targ], s[j], dc, sanityCheck));
+                                       ASSERT_SUF_LT(targ, j); // !
+                               }
+                       }
+               }
+               if(i != targ) {
+                       ASSERT_SUF_LT(targ, i);
+                       // swap i and targ
+                       uint32_t tmp = s[i];
+                       s[i] = s[targ];
+                       s[targ] = tmp;
+               }
+               for(size_t j = i+1; j < end; j++) {
+                       ASSERT_SUF_LT(i, j);
+               }
+       }
+       if(sanityCheck) {
+               sanityCheckOrderedSufs(seqanHost, hlen, s, slen,
+                                      0xffffffff, begin, end);
+       }
+}
+
+template<typename T1, typename T2>
+static void bucketSortSufDcU8(
+               const T1& seqanHost,
+               const T2& host,
+        size_t hlen,
+        uint32_t* s,
+        size_t slen,
+        const DifferenceCoverSample<T1>& dc,
+        uint8_t hi,
+        size_t begin,
+        size_t end,
+        size_t depth,
+        bool sanityCheck = false)
+{
+       uint32_t cnts[] = { 0, 0, 0, 0, 0 };
+       #define BKT_RECURSE_SUF_DC_U8(nbegin, nend) { \
+               bucketSortSufDcU8<T1,T2>(seqanHost, host, hlen, s, slen, dc, hi, \
+                                        (nbegin), (nend), depth+1, sanityCheck); \
+       }
+       assert_gt(end, begin);
+       assert_leq(end-begin, BUCKET_SORT_CUTOFF);
+       assert_eq(hi, 4);
+       if(end == begin+1) return; // 1-element list already sorted
+       if(depth > dc.v()) {
+               // Quicksort the remaining suffixes using difference cover
+               // for constant-time comparisons; this is O(k*log(k)) where
+               // k=(end-begin)
+               qsortSufDcU8<T1,T2>(seqanHost, host, hlen, s, slen, dc, begin, end, sanityCheck);
+               return;
+       }
+       if(end-begin <= SELECTION_SORT_CUTOFF) {
+               // Bucket sort remaining items
+               selectionSortSufDcU8(seqanHost, host, hlen, s, slen, dc, hi,
+                                    begin, end, depth, sanityCheck);
+               if(sanityCheck) {
+                       sanityCheckOrderedSufs(seqanHost, hlen, s, slen,
+                                              0xffffffff, begin, end);
+               }
+               return;
+       }
+       for(size_t i = begin; i < end; i++) {
+               uint32_t off = depth+s[i];
+               uint8_t c = (off < hlen) ? get_uint8(host, off) : hi;
+               assert_leq(c, 4);
+               if(c == 0) {
+                       s[begin + cnts[0]++] = s[i];
+               } else {
+                       bkts[c-1][cnts[c]++] = s[i];
+               }
+       }
+       assert_eq(cnts[0] + cnts[1] + cnts[2] + cnts[3] + cnts[4], end - begin);
+       uint32_t cur = begin + cnts[0];
+       if(cnts[1] > 0) { memcpy(&s[cur], bkts[0], cnts[1] << 2); cur += cnts[1]; }
+       if(cnts[2] > 0) { memcpy(&s[cur], bkts[1], cnts[2] << 2); cur += cnts[2]; }
+       if(cnts[3] > 0) { memcpy(&s[cur], bkts[2], cnts[3] << 2); cur += cnts[3]; }
+       if(cnts[4] > 0) { memcpy(&s[cur], bkts[3], cnts[4] << 2); }
+       // This frame is now totally finished with bkts[][], so recursive
+       // callees can safely clobber it; we're not done with cnts[], but
+       // that's local to the stack frame.
+       cur = begin;
+       if(cnts[0] > 0) {
+               BKT_RECURSE_SUF_DC_U8(cur, cur + cnts[0]); cur += cnts[0];
+       }
+       if(cnts[1] > 0) {
+               BKT_RECURSE_SUF_DC_U8(cur, cur + cnts[1]); cur += cnts[1];
+       }
+       if(cnts[2] > 0) {
+               BKT_RECURSE_SUF_DC_U8(cur, cur + cnts[2]); cur += cnts[2];
+       }
+       if(cnts[3] > 0) {
+               BKT_RECURSE_SUF_DC_U8(cur, cur + cnts[3]);
+       }
+       // Done
+}
+
+/**
+ * Main multikey quicksort function for suffixes.  Based on Bentley &
+ * Sedgewick's algorithm on p.5 of their paper "Fast Algorithms for
+ * Sorting and Searching Strings".  That algorithm has been extended in
+ * three ways:
+ *
+ *  1. Deal with keys of different lengths by checking bounds and
+ *     considering off-the-end values to be 'hi' (b/c our goal is the
+ *     BWT transform, we're biased toward considring prefixes as
+ *     lexicographically *greater* than their extensions).
+ *  2. The multikey_qsort_suffixes version takes a single host string
+ *     and a list of suffix offsets as input.  This reduces memory
+ *     footprint compared to an approach that treats its input
+ *     generically as a set of strings (not necessarily suffixes), thus
+ *     requiring that we store at least two integers worth of
+ *     information for each string.
+ *  3. Sorting functions take an extra "upto" parameter that upper-
+ *     bounds the depth to which the function sorts.
+ */
+template<typename T1, typename T2>
+void mkeyQSortSufDcU8(const T1& seqanHost,
+                      const T2& host,
+                      size_t hlen,
+                      uint32_t* s,
+                      size_t slen,
+                      const DifferenceCoverSample<T1>& dc,
+                      int hi,
+                      size_t begin,
+                      size_t end,
+                      size_t depth,
+                      bool sanityCheck = false)
+{
+       // Helper for making the recursive call; sanity-checks arguments to
+       // make sure that the problem actually got smaller.
+       #define MQS_RECURSE_SUF_DC_U8(nbegin, nend, ndepth) { \
+               assert(nbegin > begin || nend < end || ndepth > depth); \
+               mkeyQSortSufDcU8(seqanHost, host, hlen, s, slen, dc, hi, nbegin, nend, ndepth, sanityCheck); \
+       }
+       assert_leq(begin, slen);
+       assert_leq(end, slen);
+       size_t n = end - begin;
+       if(n <= 1) return; // 1-element list already sorted
+       if(depth > dc.v()) {
+               // Quicksort the remaining suffixes using difference cover
+               // for constant-time comparisons; this is O(k*log(k)) where
+               // k=(end-begin)
+               qsortSufDcU8<T1,T2>(seqanHost, host, hlen, s, slen, dc, begin, end, sanityCheck);
+               if(sanityCheck) {
+                       sanityCheckOrderedSufs(seqanHost, hlen, s, slen, 0xffffffff, begin, end);
+               }
+               return;
+       }
+       if(n <= BUCKET_SORT_CUTOFF) {
+               // Bucket sort remaining items
+               bucketSortSufDcU8(seqanHost, host, hlen, s, slen, dc,
+                                 (uint8_t)hi, begin, end, depth, sanityCheck);
+               if(sanityCheck) {
+                       sanityCheckOrderedSufs(seqanHost, hlen, s, slen, 0xffffffff, begin, end);
+               }
+               return;
+       }
+       size_t a, b, c, d, r;
+       CHOOSE_AND_SWAP_PIVOT(SWAP1, CHAR_AT_SUF_U8); // choose pivot, swap to begin
+       int v = CHAR_AT_SUF_U8(begin, depth); // v <- pivot value
+       #ifndef NDEBUG
+       {
+               bool stillInBounds = false;
+               for(size_t i = begin; i < end; i++) {
+                       if(depth < (hlen-s[i])) {
+                               stillInBounds = true;
+                               break;
+                       } else { /* already fell off this suffix */ }
+               }
+               assert(stillInBounds); // >=1 suffix must still be in bounds
+       }
+       #endif
+       a = b = begin;
+       c = d = end-1;
+       while(true) {
+               // Invariant: everything before a is = pivot, everything
+               // between a and b is <
+               int bc = 0; // shouldn't have to init but gcc on Mac complains
+               while(b <= c && v >= (bc = CHAR_AT_SUF_U8(b, depth))) {
+                       if(v == bc) {
+                               SWAP(s, a, b); a++;
+                       }
+                       b++;
+               }
+               // Invariant: everything after d is = pivot, everything
+               // between c and d is >
+               int cc = 0; // shouldn't have to init but gcc on Mac complains
+               bool hiLatch = true;
+               while(b <= c && v <= (cc = CHAR_AT_SUF_U8(c, depth))) {
+                       if(v == cc) {
+                               SWAP(s, c, d); d--;
+                       }
+                       else if(hiLatch && cc == hi) {
+
+                       }
+                       c--;
+               }
+               if(b > c) break;
+               SWAP(s, b, c);
+               b++;
+               c--;
+       }
+       assert(a > begin || c < end-1);                      // there was at least one =s
+       assert_lt(d-c, n); // they can't all have been > pivot
+       assert_lt(b-a, n); // they can't all have been < pivot
+       //assert(assertPartitionedSuf(host, s, slen, hi, v, begin, end, depth));  // check pre-=-swap invariant
+       r = min(a-begin, b-a); VECSWAP(s, begin, b-r,   r);  // swap left = to center
+       r = min(d-c, end-d-1); VECSWAP(s, b,     end-r, r);  // swap right = to center
+       //assert(assertPartitionedSuf2(host, s, slen, hi, v, begin, end, depth)); // check post-=-swap invariant
+       r = b-a; // r <- # of <'s
+       if(r > 0) {
+               MQS_RECURSE_SUF_DC_U8(begin, begin + r, depth); // recurse on <'s
+       }
+       // Do not recurse on ='s if the pivot was the off-the-end value;
+       // they're already fully sorted
+       if(v != hi) {
+               MQS_RECURSE_SUF_DC_U8(begin + r, begin + r + (a-begin) + (end-d-1), depth+1); // recurse on ='s
+       }
+       r = d-c; // r <- # of >'s excluding those exhausted
+       if(r > 0 && v < hi-1) {
+               MQS_RECURSE_SUF_DC_U8(end-r, end, depth); // recurse on >'s
+       }
+}
+
+
+#endif /*MULTIKEY_QSORT_H_*/
diff --git a/pat.cpp b/pat.cpp
new file mode 100644 (file)
index 0000000..a9db128
--- /dev/null
+++ b/pat.cpp
@@ -0,0 +1,147 @@
+#include <cmath>
+#include <iostream>
+#include <string>
+#include <stdexcept>
+#include <seqan/sequence.h>
+#include <seqan/file.h>
+
+#include "pat.h"
+#include "filebuf.h"
+
+using namespace std;
+using namespace seqan;
+
+/**
+ * Parse a single quality string from fb and store qualities in r.
+ * Assume the next character obtained via fb.get() is the first
+ * character of the quality string.  When returning, the next
+ * character returned by fb.peek() or fb.get() should be the first
+ * character of the following line.
+ */
+int parseQuals(ReadBuf& r,
+               FileBuf& fb,
+               int readLen,
+               int trim3,
+               int trim5,
+               bool intQuals,
+               bool phred64,
+               bool solexa64)
+{
+       int qualsRead = 0;
+       int c = 0;
+       assert(fb.peek() != '\n' && fb.peek() != '\r');
+       _setBegin (r.qual, (char*)r.qualBuf);
+       _setLength(r.qual, 0);
+       if (intQuals) {
+               while (c != '\r' && c != '\n' && c != -1) {
+                       bool neg = false;
+                       int num = 0;
+                       while(!isspace(c = fb.peek()) && !fb.eof()) {
+                               if(c == '-') {
+                                       neg = true;
+                                       assert_eq(num, 0);
+                               } else {
+                                       if(!isdigit(c)) {
+                                               char buf[2048];
+                                               cerr << "Warning: could not parse quality line:" << endl;
+                                               fb.getPastNewline();
+                                               cerr << fb.copyLastN(buf);
+                                               buf[2047] = '\0';
+                                               cerr << buf;
+                                               throw 1;
+                                       }
+                                       assert(isdigit(c));
+                                       num *= 10;
+                                       num += (c - '0');
+                               }
+                               fb.get();
+                       }
+                       if(neg) num = 0;
+                       // Phred-33 ASCII encode it and add it to the back of the
+                       // quality string
+                       r.qualBuf[qualsRead++] = ('!' + num);
+                       // Skip over next stretch of whitespace
+                       c = fb.peek();
+                       while(c != '\r' && c != '\n' && isspace(c) && !fb.eof()) {
+                               fb.get();
+                               c = fb.peek();
+                       }
+               }
+       } else {
+               while (c != '\r' && c != '\n' && c != -1) {
+                       c = fb.get();
+                       r.qualBuf[qualsRead++] = charToPhred33(c, solexa64, phred64);
+                       c = fb.peek();
+                       while(c != '\r' && c != '\n' && isspace(c) && !fb.eof()) {
+                               fb.get();
+                               c = fb.peek();
+                       }
+               }
+       }
+       if (qualsRead < readLen-1 ||
+           (qualsRead < readLen && !r.color))
+       {
+               tooFewQualities(r.name);
+       }
+       qualsRead -= trim3;
+       if(qualsRead <= 0) return 0;
+       int trimmedReadLen = readLen-trim3-trim5;
+       if(trimmedReadLen < 0) trimmedReadLen = 0;
+       if(qualsRead > trimmedReadLen) {
+               // Shift everybody left
+               for(int i = 0; i < readLen; i++) {
+                       r.qualBuf[i] = r.qualBuf[i+qualsRead-trimmedReadLen];
+               }
+       }
+       _setLength(r.qual, trimmedReadLen);
+       while(fb.peek() == '\n' || fb.peek() == '\r') fb.get();
+       return qualsRead;
+}
+
+void wrongQualityFormat(const String<char>& read_name) {
+       cerr << "Encountered a space parsing the quality string for read " << read_name << endl
+            << "If this is a FASTQ file with integer (non-ASCII-encoded) qualities, please" << endl
+            << "re-run Bowtie with the --integer-quals option.  If this is a FASTQ file with" << endl
+            << "alternate basecall information, please re-run Bowtie with the --fuzzy option." << endl;
+       throw 1;
+}
+
+void tooFewQualities(const String<char>& read_name) {
+       cerr << "Too few quality values for read: " << read_name << endl
+                << "\tare you sure this is a FASTQ-int file?" << endl;
+       throw 1;
+}
+
+void tooManyQualities(const String<char>& read_name) {
+       cerr << "Reads file contained a pattern with more than 1024 quality values." << endl
+                << "Please truncate reads and quality values and and re-run Bowtie" << endl;
+       throw 1;
+}
+
+void tooManySeqChars(const String<char>& read_name) {
+       cerr << "Reads file contained a pattern with more than 1024 sequence characters." << endl
+                << "Please truncate reads and quality values and and re-run Bowtie." << endl
+                << "Offending read: " << read_name << endl;
+       throw 1;
+}
+
+/**
+ * C++ version char* style "itoa":
+ */
+char* itoa10(int value, char* result) {
+       // Check that base is valid
+       char* out = result;
+       int quotient = value;
+       do {
+               *out = "0123456789"[ std::abs( quotient % 10 ) ];
+               ++out;
+               quotient /= 10;
+       } while ( quotient );
+
+       // Only apply negative sign for base 10
+       if (value < 0) *out++ = '-';
+       std::reverse( result, out );
+
+       *out = 0; // terminator
+       return out;
+}
diff --git a/pat.h b/pat.h
new file mode 100644 (file)
index 0000000..a9c5ff9
--- /dev/null
+++ b/pat.h
@@ -0,0 +1,3133 @@
+#ifndef PAT_H_
+#define PAT_H_
+
+#include <cassert>
+#include <cmath>
+#include <stdexcept>
+#include <vector>
+#include <string>
+#include <cstring>
+#include <ctype.h>
+#include <fstream>
+#include <seqan/sequence.h>
+#include "alphabet.h"
+#include "assert_helpers.h"
+#include "tokenize.h"
+#include "random_source.h"
+#include "spinlock.h"
+#include "threading.h"
+#include "filebuf.h"
+#include "qual.h"
+#include "hit_set.h"
+#include "search_globals.h"
+
+/**
+ * Classes and routines for reading reads from various input sources.
+ */
+
+using namespace std;
+using namespace seqan;
+
+/// Constructs string base-10 representation of integer 'value'
+extern char* itoa10(int value, char* result);
+
+/**
+ * Calculate a per-read random seed based on a combination of
+ * the read data (incl. sequence, name, quals) and the global
+ * seed in '_randSeed'.
+ */
+static inline uint32_t genRandSeed(const String<Dna5>& qry,
+                                   const String<char>& qual,
+                                   const String<char>& name,
+                                   uint32_t seed)
+{
+       // Calculate a per-read random seed based on a combination of
+       // the read data (incl. sequence, name, quals) and the global
+       // seed
+       uint32_t rseed = (seed + 101) * 59 * 61 * 67 * 71 * 73 * 79 * 83;
+       size_t qlen = seqan::length(qry);
+       // Throw all the characters of the read into the random seed
+       for(size_t i = 0; i < qlen; i++) {
+               int p = (int)qry[i];
+               assert_leq(p, 4);
+               size_t off = ((i & 15) << 1);
+               rseed ^= (p << off);
+       }
+       // Throw all the quality values for the read into the random
+       // seed
+       for(size_t i = 0; i < qlen; i++) {
+               int p = (int)qual[i];
+               assert_leq(p, 255);
+               size_t off = ((i & 3) << 3);
+               rseed ^= (p << off);
+       }
+       // Throw all the characters in the read name into the random
+       // seed
+       size_t namelen = seqan::length(name);
+       for(size_t i = 0; i < namelen; i++) {
+               int p = (int)name[i];
+               assert_leq(p, 255);
+               size_t off = ((i & 3) << 3);
+               rseed ^= (p << off);
+       }
+       return rseed;
+}
+
+/**
+ * A buffer for keeping all relevant information about a single read.
+ * Each search thread has one.
+ */
+struct ReadBuf {
+       ReadBuf() { reset(); }
+
+       ~ReadBuf() {
+               clearAll(); reset();
+               // Prevent seqan from trying to free buffers
+               _setBegin(patFw, NULL);
+               _setBegin(patRc, NULL);
+               _setBegin(qual, NULL);
+               _setBegin(patFwRev, NULL);
+               _setBegin(patRcRev, NULL);
+               _setBegin(qualRev, NULL);
+               _setBegin(name, NULL);
+               for(int j = 0; j < 3; j++) {
+                       _setBegin(altPatFw[j], NULL);
+                       _setBegin(altPatFwRev[j], NULL);
+                       _setBegin(altPatRc[j], NULL);
+                       _setBegin(altPatRcRev[j], NULL);
+                       _setBegin(altQual[j], NULL);
+                       _setBegin(altQualRev[j], NULL);
+               }
+       }
+
+#define RESET_BUF(str, buf, typ) _setBegin(str, (typ*)buf); _setLength(str, 0); _setCapacity(str, BUF_SIZE);
+#define RESET_BUF_LEN(str, buf, len, typ) _setBegin(str, (typ*)buf); _setLength(str, len); _setCapacity(str, BUF_SIZE);
+
+       /// Point all Strings to the beginning of their respective buffers
+       /// and set all lengths to 0
+       void reset() {
+               patid = 0;
+               readOrigBufLen = 0;
+               qualOrigBufLen = 0;
+               alts = 0;
+               trimmed5 = trimmed3 = 0;
+               fuzzy = false;
+               color = false;
+               primer = '?';
+               trimc = '?';
+               seed = 0;
+               RESET_BUF(patFw, patBufFw, Dna5);
+               RESET_BUF(patRc, patBufRc, Dna5);
+               RESET_BUF(qual, qualBuf, char);
+               RESET_BUF(patFwRev, patBufFwRev, Dna5);
+               RESET_BUF(patRcRev, patBufRcRev, Dna5);
+               RESET_BUF(qualRev, qualBufRev, char);
+               RESET_BUF(name, nameBuf, char);
+               for(int j = 0; j < 3; j++) {
+                       RESET_BUF(altPatFw[j], altPatBufFw[j], Dna5);
+                       RESET_BUF(altPatFwRev[j], altPatBufFwRev[j], Dna5);
+                       RESET_BUF(altPatRc[j], altPatBufRc[j], Dna5);
+                       RESET_BUF(altPatRcRev[j], altPatBufRcRev[j], Dna5);
+                       RESET_BUF(altQual[j], altQualBuf[j], char);
+                       RESET_BUF(altQualRev[j], altQualBufRev[j], char);
+               }
+       }
+
+       void clearAll() {
+               seqan::clear(patFw);
+               seqan::clear(patRc);
+               seqan::clear(qual);
+               seqan::clear(patFwRev);
+               seqan::clear(patRcRev);
+               seqan::clear(qualRev);
+               seqan::clear(name);
+               for(int j = 0; j < 3; j++) {
+                       seqan::clear(altPatFw[j]);
+                       seqan::clear(altPatFwRev[j]);
+                       seqan::clear(altPatRc[j]);
+                       seqan::clear(altPatRcRev[j]);
+                       seqan::clear(altQual[j]);
+                       seqan::clear(altQualRev[j]);
+               }
+               trimmed5 = trimmed3 = 0;
+               readOrigBufLen = 0;
+               qualOrigBufLen = 0;
+               color = fuzzy = false;
+               primer = '?';
+               trimc = '?';
+               seed = 0;
+       }
+
+       /// Return true iff the read (pair) is empty
+       bool empty() const {
+               return seqan::empty(patFw);
+       }
+
+       /// Return length of the read in the buffer
+       uint32_t length() const {
+               return seqan::length(patFw);
+       }
+
+       /**
+        * Construct reverse complement of the pattern and the fuzzy
+        * alternative patters.  If read is in colorspace, just reverse
+        * them.
+        */
+       void constructRevComps() {
+               uint32_t len = length();
+               assert_gt(len, 0);
+               RESET_BUF_LEN(patRc, patBufRc, len, Dna5);
+               for(int j = 0; j < alts; j++) {
+                       RESET_BUF_LEN(altPatRc[j], altPatBufRc[j], len, Dna5);
+               }
+               if(color) {
+                       for(uint32_t i = 0; i < len; i++) {
+                               // Reverse the sequence
+                               patBufRc[i]  = patBufFw[len-i-1];
+                               for(int j = 0; j < alts; j++) {
+                                       // Reverse the fuzzy alternatives
+                                       altPatBufRc[j][i] = altPatBufFw[j][len-i-1];
+                               }
+                       }
+               } else {
+                       for(uint32_t i = 0; i < len; i++) {
+                               // Reverse-complement the sequence
+                               patBufRc[i]  = (patBufFw[len-i-1] == 4) ? 4 : (patBufFw[len-i-1] ^ 3);
+                               for(int j = 0; j < alts; j++) {
+                                       // Reverse-complement the fuzzy alternatives
+                                       altPatBufRc[j][i] = (altPatBufFw[j][len-i-1] == 4) ? 4 : (altPatBufFw[j][len-i-1] ^ 3);
+                               }
+                       }
+               }
+       }
+
+       /**
+        * Given patFw, patRc, and qual, construct the *Rev versions in
+        * place.  Assumes constructRevComps() was called previously.
+        */
+       void constructReverses() {
+               uint32_t len = length();
+               assert_gt(len, 0);
+               RESET_BUF_LEN(patFwRev, patBufFwRev, len, Dna5);
+               RESET_BUF_LEN(patRcRev, patBufRcRev, len, Dna5);
+               RESET_BUF_LEN(qualRev, qualBufRev, len, char);
+               for(int j = 0; j < alts; j++) {
+                       RESET_BUF_LEN(altPatFwRev[j], altPatBufFwRev[j], len, Dna5);
+                       RESET_BUF_LEN(altPatRcRev[j], altPatBufRcRev[j], len, Dna5);
+                       RESET_BUF_LEN(altQualRev[j], altQualBufRev[j], len, char);
+               }
+               for(uint32_t i = 0; i < len; i++) {
+                       patFwRev[i]  = patFw[len-i-1];
+                       patRcRev[i]  = patRc[len-i-1];
+                       qualRev[i]   = qual[len-i-1];
+                       for(int j = 0; j < alts; j++) {
+                               altPatFwRev[j][i] = altPatFw[j][len-i-1];
+                               altPatRcRev[j][i] = altPatRc[j][len-i-1];
+                               altQualRev[j][i]  = altQual[j][len-i-1];
+                       }
+               }
+       }
+
+       /**
+        * Append a "/1" or "/2" string onto the end of the name buf if
+        * it's not already there.
+        */
+       void fixMateName(int i) {
+               assert(i == 1 || i == 2);
+               size_t namelen = seqan::length(name);
+               bool append = false;
+               if(namelen < 2) {
+                       // Name is too short to possibly have /1 or /2 on the end
+                       append = true;
+               } else {
+                       if(i == 1) {
+                               // append = true iff mate name does not already end in /1
+                               append =
+                                       nameBuf[namelen-2] != '/' ||
+                                       nameBuf[namelen-1] != '1';
+                       } else {
+                               // append = true iff mate name does not already end in /2
+                               append =
+                                       nameBuf[namelen-2] != '/' ||
+                                       nameBuf[namelen-1] != '2';
+                       }
+               }
+               if(append) {
+                       assert_leq(namelen, BUF_SIZE-2);
+                       _setLength(name, namelen + 2);
+                       nameBuf[namelen] = '/';
+                       nameBuf[namelen+1] = "012"[i];
+               }
+       }
+
+       /**
+        * Dump basic information about this read to the given ostream.
+        */
+       void dump(std::ostream& os) const {
+               os << name << ' ';
+               if(color) {
+                       for(size_t i = 0; i < seqan::length(patFw); i++) {
+                               os << "0123."[(int)patFw[i]];
+                       }
+               } else {
+                       os << patFw;
+               }
+               os << ' ';
+               // Print out the fuzzy alternative sequences
+               for(int j = 0; j < 3; j++) {
+                       bool started = false;
+                       if(seqan::length(altQual[j]) > 0) {
+                               for(size_t i = 0; i < length(); i++) {
+                                       if(altQual[j][i] != '!') {
+                                               started = true;
+                                       }
+                                       if(started) {
+                                               if(altQual[j][i] == '!') {
+                                                       os << '-';
+                                               } else {
+                                                       if(color) {
+                                                               os << "0123."[(int)altPatFw[j][i]];
+                                                       } else {
+                                                               os << altPatFw[j][i];
+                                                       }
+                                               }
+                                       }
+                               }
+                       }
+                       cout << " ";
+               }
+               os << qual << " ";
+               // Print out the fuzzy alternative quality strings
+               for(int j = 0; j < 3; j++) {
+                       bool started = false;
+                       if(seqan::length(altQual[j]) > 0) {
+                               for(size_t i = 0; i < length(); i++) {
+                                       if(altQual[j][i] != '!') {
+                                               started = true;
+                                       }
+                                       if(started) {
+                                               os << altQual[j][i];
+                                       }
+                               }
+                       }
+                       if(j == 2) {
+                               os << endl;
+                       } else {
+                               os << " ";
+                       }
+               }
+       }
+
+       /**
+        * Write read details to a HitSet object.
+        */
+       void toHitSet(HitSet& hs) {
+               assert(!empty());
+               hs.name = name;
+               hs.seq = patFw;
+               hs.qual = qual;
+               hs.color = color;
+       }
+
+       static const int BUF_SIZE = 1024;
+
+       String<Dna5>  patFw;               // forward-strand sequence
+       uint8_t       patBufFw[BUF_SIZE];  // forward-strand sequence buffer
+       String<Dna5>  patRc;               // reverse-complement sequence
+       uint8_t       patBufRc[BUF_SIZE];  // reverse-complement sequence buffer
+       String<char>  qual;                // quality values
+       char          qualBuf[BUF_SIZE];   // quality value buffer
+
+       String<Dna5>  altPatFw[3];              // forward-strand sequence
+       uint8_t       altPatBufFw[3][BUF_SIZE]; // forward-strand sequence buffer
+       String<Dna5>  altPatRc[3];              // reverse-complement sequence
+       uint8_t       altPatBufRc[3][BUF_SIZE]; // reverse-complement sequence buffer
+       String<char>  altQual[3];               // quality values for alternate basecalls
+       char          altQualBuf[3][BUF_SIZE];  // quality value buffer for alternate basecalls
+
+       String<Dna5>  patFwRev;               // forward-strand sequence reversed
+       uint8_t       patBufFwRev[BUF_SIZE];  // forward-strand sequence buffer reversed
+       String<Dna5>  patRcRev;               // reverse-complement sequence reversed
+       uint8_t       patBufRcRev[BUF_SIZE];  // reverse-complement sequence buffer reversed
+       String<char>  qualRev;                // quality values reversed
+       char          qualBufRev[BUF_SIZE];   // quality value buffer reversed
+
+       String<Dna5>  altPatFwRev[3];              // forward-strand sequence reversed
+       uint8_t       altPatBufFwRev[3][BUF_SIZE]; // forward-strand sequence buffer reversed
+       String<Dna5>  altPatRcRev[3];              // reverse-complement sequence reversed
+       uint8_t       altPatBufRcRev[3][BUF_SIZE]; // reverse-complement sequence buffer reversed
+       String<char>  altQualRev[3];              // quality values for alternate basecalls reversed
+       char          altQualBufRev[3][BUF_SIZE]; // quality value buffer for alternate basecalls reversed
+
+       // For remembering the exact input text used to define a read
+       char          readOrigBuf[FileBuf::LASTN_BUF_SZ];
+       size_t        readOrigBufLen;
+
+       // For when qualities are in a separate file
+       char          qualOrigBuf[FileBuf::LASTN_BUF_SZ];
+       size_t        qualOrigBufLen;
+
+       String<char>  name;                // read name
+       char          nameBuf[BUF_SIZE];   // read name buffer
+       uint32_t      patid;               // unique 0-based id based on order in read file(s)
+       int           mate;                // 0 = single-end, 1 = mate1, 2 = mate2
+       uint32_t      seed;                // random seed
+       int           alts;                // number of alternatives
+       bool          fuzzy;               // whether to employ fuzziness
+       bool          color;               // whether read is in color space
+       char          primer;              // primer base, for csfasta files
+       char          trimc;               // trimmed color, for csfasta files
+       int           trimmed5;            // amount actually trimmed off 5' end
+       int           trimmed3;            // amount actually trimmed off 3' end
+       HitSet        hitset;              // holds previously-found hits; for chaining
+};
+
+/**
+ * Encapsulates a synchronized source of patterns; usually a file.
+ * Handles dumping patterns to a logfile (useful for debugging).  Also
+ * optionally reverses reads and quality strings before returning them,
+ * though that is usually more efficiently done by the concrete
+ * subclass.  Concrete subclasses should delimit critical sections with
+ * calls to lock() and unlock().
+ */
+class PatternSource {
+public:
+       PatternSource(uint32_t seed,
+                     bool randomizeQuals = false,
+                     bool useSpinlock = true,
+                     const char *dumpfile = NULL,
+                     bool verbose = false) :
+               seed_(seed),
+               readCnt_(0),
+               dumpfile_(dumpfile),
+               numWrappers_(0),
+               doLocking_(true),
+               useSpinlock_(useSpinlock),
+               randomizeQuals_(randomizeQuals),
+               lock_(),
+               verbose_(verbose)
+       {
+               // Open dumpfile, if specified
+               if(dumpfile_ != NULL) {
+                       out_.open(dumpfile_, ios_base::out);
+                       if(!out_.good()) {
+                               cerr << "Could not open pattern dump file \"" << dumpfile_ << "\" for writing" << endl;
+                               throw 1;
+                       }
+               }
+               MUTEX_INIT(lock_);
+       }
+
+       virtual ~PatternSource() { }
+
+       /**
+        * Call this whenever this PatternSource is wrapped by a new
+        * WrappedPatternSourcePerThread.  This helps us keep track of
+        * whether locks will be contended.
+        */
+       void addWrapper() {
+               numWrappers_++;
+       }
+
+       /**
+        * The main member function for dispensing patterns.
+        */
+       virtual void nextReadPair(ReadBuf& ra, ReadBuf& rb, uint32_t& patid) {
+               // nextPatternImpl does the reading from the ultimate source;
+               // it is implemented in concrete subclasses
+               nextReadPairImpl(ra, rb, patid);
+               if(!ra.empty()) {
+                       // Possibly randomize the qualities so that they're more
+                       // scattered throughout the range of possible values
+                       if(randomizeQuals_) {
+                               randomizeQuals(ra);
+                               if(!rb.empty()) {
+                                       randomizeQuals(rb);
+                               }
+                       }
+                       // TODO: Perhaps bundle all of the following up into a
+                       // finalize() member in the ReadBuf class?
+
+                       // Construct the reversed versions of the fw and rc seqs
+                       // and quals
+                       ra.constructRevComps();
+                       ra.constructReverses();
+                       if(!rb.empty()) {
+                               rb.constructRevComps();
+                               rb.constructReverses();
+                       }
+                       // Fill in the random-seed field using a combination of
+                       // information from the user-specified seed and the read
+                       // sequence, qualities, and name
+                       ra.seed = genRandSeed(ra.patFw, ra.qual, ra.name, seed_);
+                       if(!rb.empty()) {
+                               rb.seed = genRandSeed(rb.patFw, rb.qual, rb.name, seed_);
+                       }
+                       // Output it, if desired
+                       if(dumpfile_ != NULL) {
+                               dumpBuf(ra);
+                               if(!rb.empty()) {
+                                       dumpBuf(rb);
+                               }
+                       }
+                       if(verbose_) {
+                               cout << "Parsed mate 1: "; ra.dump(cout);
+                               cout << "Parsed mate 2: "; rb.dump(cout);
+                       }
+               }
+       }
+
+       /**
+        * The main member function for dispensing patterns.
+        */
+       virtual void nextRead(ReadBuf& r, uint32_t& patid) {
+               // nextPatternImpl does the reading from the ultimate source;
+               // it is implemented in concrete subclasses
+               nextReadImpl(r, patid);
+               if(!r.empty()) {
+                       // Possibly randomize the qualities so that they're more
+                       // scattered throughout the range of possible values
+                       if(randomizeQuals_) {
+                               randomizeQuals(r);
+                       }
+                       // Construct the reversed versions of the fw and rc seqs
+                       // and quals
+                       r.constructRevComps();
+                       r.constructReverses();
+                       // Fill in the random-seed field using a combination of
+                       // information from the user-specified seed and the read
+                       // sequence, qualities, and name
+                       r.seed = genRandSeed(r.patFw, r.qual, r.name, seed_);
+                       // Output it, if desired
+                       if(dumpfile_ != NULL) {
+                               dumpBuf(r);
+                       }
+                       if(verbose_) {
+                               cout << "Parsed read: "; r.dump(cout);
+                       }
+               }
+       }
+
+       /**
+        * Implementation to be provided by concrete subclasses.  An
+        * implementation for this member is only relevant for formats that
+        * can read in a pair of reads in a single transaction with a
+        * single input source.  If paired-end input is given as a pair of
+        * parallel files, this member should throw an error and exit.
+        */
+       virtual void nextReadPairImpl(ReadBuf& ra, ReadBuf& rb, uint32_t& patid) = 0;
+
+       /**
+        * Implementation to be provided by concrete subclasses.  An
+        * implementation for this member is only relevant for formats
+        * where individual input sources look like single-end-read
+        * sources, e.g., formats where paired-end reads are specified in
+        * parallel read files.
+        */
+       virtual void nextReadImpl(ReadBuf& r, uint32_t& patid) = 0;
+
+       /// Reset state to start over again with the first read
+       virtual void reset() { readCnt_ = 0; }
+
+       /**
+        * Concrete subclasses call lock() to enter a critical region.
+        * What constitutes a critical region depends on the subclass.
+        */
+       void lock() {
+               if(!doLocking_) return; // no contention
+#ifdef USE_SPINLOCK
+               if(useSpinlock_) {
+                       // User can ask to use the normal pthreads lock even if
+                       // spinlocks are compiled in.
+                       spinlock_.Enter();
+               } else {
+#endif
+                       MUTEX_LOCK(lock_);
+#ifdef USE_SPINLOCK
+               }
+#endif
+       }
+
+       /**
+        * Concrete subclasses call unlock() to exit a critical region
+        * What constitutes a critical region depends on the subclass.
+        */
+       void unlock() {
+               if(!doLocking_) return; // no contention
+#ifdef USE_SPINLOCK
+               if(useSpinlock_) {
+                       // User can ask to use the normal pthreads lock even if
+                       // spinlocks are compiled in.
+                       spinlock_.Leave();
+               } else {
+#endif
+                       MUTEX_UNLOCK(lock_);
+#ifdef USE_SPINLOCK
+               }
+#endif
+       }
+
+       /**
+        * Return the number of reads attempted.
+        */
+       uint64_t readCnt() const { return readCnt_ - 1; }
+
+protected:
+
+       /**
+        * Mix up the quality values for ReadBuf r.  There's probably a
+        * more (pseudo-)randomly rigorous way to do this; the output looks
+        * pretty cyclic.
+        */
+       void randomizeQuals(ReadBuf& r) {
+               const size_t rlen = r.length();
+               for(size_t i = 0; i < rlen; i++) {
+                       if(i < rlen-1) {
+                               r.qual[i] *= (r.qual[i+1] + 7);
+                       }
+                       if(i > 0) {
+                               r.qual[i] *= (r.qual[i-1] + 11);
+                       }
+                       // A user says that g++ complained here about "comparison
+                       // is always false due to limited range of data type", but
+                       // I can't see why.  I added the (int) cast to try to avoid
+                       // the warning.
+                       if((int)r.qual[i] < 0) r.qual[i] = -(r.qual[i]+1);
+                       r.qual[i] %= 41;
+                       assert_leq(r.qual[i], 40);
+                       r.qual[i] += 33;
+               }
+       }
+
+       /**
+        * Dump the contents of the ReadBuf to the dump file.
+        */
+       void dumpBuf(const ReadBuf& r) {
+               assert(dumpfile_ != NULL);
+               dump(out_, r.patFw,
+                    empty(r.qual) ? String<char>("(empty)") : r.qual,
+                    empty(r.name)   ? String<char>("(empty)") : r.name);
+               dump(out_, r.patRc,
+                    empty(r.qualRev) ? String<char>("(empty)") : r.qualRev,
+                    empty(r.name)   ? String<char>("(empty)") : r.name);
+       }
+
+       /**
+        * Default format for dumping a read to an output stream.  Concrete
+        * subclasses might want to do something fancier.
+        */
+       virtual void dump(ostream& out,
+                         const String<Dna5>& seq,
+                         const String<char>& qual,
+                         const String<char>& name)
+       {
+               out << name << ": " << seq << " " << qual << endl;
+       }
+
+       uint32_t seed_;
+
+       /// The number of reads read by this PatternSource
+       uint64_t readCnt_;
+
+       const char *dumpfile_; /// dump patterns to this file before returning them
+       ofstream out_;         /// output stream for dumpfile
+       int numWrappers_;      /// # threads that own a wrapper for this PatternSource
+       bool doLocking_;       /// override whether to lock (true = don't override)
+       /// User can ask to use the normal pthreads-style lock even if
+       /// spinlocks is enabled and compiled in.  This is sometimes better
+       /// if we expect bad I/O latency on some reads.
+       bool useSpinlock_;
+       bool randomizeQuals_;  /// true -> mess up qualities in a random way
+#ifdef USE_SPINLOCK
+       SpinLock spinlock_;
+#endif
+       MUTEX_T lock_; /// mutex for locking critical regions
+       bool verbose_;
+};
+
+/**
+ * Abstract parent class for synhconized sources of paired-end reads
+ * (and possibly also single-end reads).
+ */
+class PairedPatternSource {
+public:
+       PairedPatternSource(uint32_t seed) {
+               MUTEX_INIT(lock_);
+               seed_ = seed;
+       }
+       virtual ~PairedPatternSource() { }
+
+       virtual void addWrapper() = 0;
+       virtual void reset() = 0;
+       virtual bool nextReadPair(ReadBuf& ra, ReadBuf& rb, uint32_t& patid) = 0;
+       virtual pair<uint64_t,uint64_t> readCnt() const = 0;
+
+       /**
+        * Lock this PairedPatternSource, usually because one of its shared
+        * fields is being updated.
+        */
+       void lock() {
+#ifdef USE_SPINLOCK
+               spinlock_.Enter();
+#else
+               MUTEX_LOCK(lock_);
+#endif
+       }
+
+       /**
+        * Unlock this PairedPatternSource.
+        */
+       void unlock() {
+#ifdef USE_SPINLOCK
+               spinlock_.Leave();
+#else
+               MUTEX_UNLOCK(lock_);
+#endif
+       }
+
+protected:
+
+#ifdef USE_SPINLOCK
+       SpinLock spinlock_;
+#endif
+       MUTEX_T lock_; /// mutex for locking critical regions
+       uint32_t seed_;
+};
+
+/**
+ * Encapsulates a synchronized source of both paired-end reads and
+ * unpaired reads, where the paired-end must come from parallel files.
+ */
+class PairedSoloPatternSource : public PairedPatternSource {
+
+public:
+
+       PairedSoloPatternSource(const vector<PatternSource*>& src,
+                               uint32_t seed) :
+               PairedPatternSource(seed), cur_(0), src_(src)
+       {
+           for(size_t i = 0; i < src_.size(); i++) {
+               assert(src_[i] != NULL);
+           }
+       }
+
+       virtual ~PairedSoloPatternSource() { }
+
+       /**
+        * Call this whenever this PairedPatternSource is wrapped by a new
+        * WrappedPatternSourcePerThread.  This helps us keep track of
+        * whether locks within PatternSources will be contended.
+        */
+       virtual void addWrapper() {
+               for(size_t i = 0; i < src_.size(); i++) {
+                       src_[i]->addWrapper();
+               }
+       }
+
+       /**
+        * Reset this object and all the PatternSources under it so that
+        * the next call to nextReadPair gets the very first read pair.
+        */
+       virtual void reset() {
+               for(size_t i = 0; i < src_.size(); i++) {
+                       src_[i]->reset();
+               }
+               cur_ = 0;
+       }
+
+       /**
+        * The main member function for dispensing pairs of reads or
+        * singleton reads.  Returns true iff ra and rb contain a new
+        * pair; returns false if ra contains a new unpaired read.
+        */
+       virtual bool nextReadPair(ReadBuf& ra, ReadBuf& rb, uint32_t& patid) {
+               uint32_t cur = cur_;
+               while(cur < src_.size()) {
+                       // Patterns from srca_[cur_] are unpaired
+                       src_[cur]->nextReadPair(ra, rb, patid);
+                       if(seqan::empty(ra.patFw)) {
+                               // If patFw is empty, that's our signal that the
+                               // input dried up
+                               lock();
+                               if(cur + 1 > cur_) cur_++;
+                               cur = cur_;
+                               unlock();
+                               continue; // on to next pair of PatternSources
+                       }
+                       ra.seed = genRandSeed(ra.patFw, ra.qual, ra.name, seed_);
+                       if(!rb.empty()) {
+                               rb.seed = genRandSeed(rb.patFw, rb.qual, rb.name, seed_);
+                               ra.fixMateName(1);
+                               rb.fixMateName(2);
+                       }
+                       ra.patid = patid;
+                       ra.mate  = 1;
+                       rb.mate  = 2;
+                       return true; // paired
+               }
+               return false;
+       }
+
+       /**
+        * Return the number of reads attempted.
+        */
+       virtual pair<uint64_t,uint64_t> readCnt() const {
+               uint64_t ret = 0llu;
+               vector<PatternSource*>::const_iterator it;
+               for(it = src_.begin(); it != src_.end(); it++) {
+                       ret += (*it)->readCnt();
+               }
+               return make_pair(ret, 0llu);
+       }
+
+protected:
+
+       volatile uint32_t cur_; // current element in parallel srca_, srcb_ vectors
+       vector<PatternSource*> src_; /// PatternSources for paired-end reads
+};
+
+/**
+ * Encapsulates a synchronized source of both paired-end reads and
+ * unpaired reads, where the paired-end must come from parallel files.
+ */
+class PairedDualPatternSource : public PairedPatternSource {
+
+public:
+
+       PairedDualPatternSource(const vector<PatternSource*>& srca,
+                               const vector<PatternSource*>& srcb,
+                               uint32_t seed) :
+               PairedPatternSource(seed), cur_(0), srca_(srca), srcb_(srcb)
+       {
+               // srca_ and srcb_ must be parallel
+               assert_eq(srca_.size(), srcb_.size());
+               for(size_t i = 0; i < srca_.size(); i++) {
+                       // Can't have NULL first-mate sources.  Second-mate sources
+                       // can be NULL, in the case when the corresponding first-
+                       // mate source is unpaired.
+                       assert(srca_[i] != NULL);
+                       for(size_t j = 0; j < srcb_.size(); j++) {
+                               assert_neq(srca_[i], srcb_[j]);
+                       }
+               }
+       }
+
+       virtual ~PairedDualPatternSource() { }
+
+       /**
+        * Call this whenever this PairedPatternSource is wrapped by a new
+        * WrappedPatternSourcePerThread.  This helps us keep track of
+        * whether locks within PatternSources will be contended.
+        */
+       virtual void addWrapper() {
+               for(size_t i = 0; i < srca_.size(); i++) {
+                       srca_[i]->addWrapper();
+                       if(srcb_[i] != NULL) {
+                               srcb_[i]->addWrapper();
+                       }
+               }
+       }
+
+       /**
+        * Reset this object and all the PatternSources under it so that
+        * the next call to nextReadPair gets the very first read pair.
+        */
+       virtual void reset() {
+               for(size_t i = 0; i < srca_.size(); i++) {
+                       srca_[i]->reset();
+                       if(srcb_[i] != NULL) {
+                               srcb_[i]->reset();
+                       }
+               }
+               cur_ = 0;
+       }
+
+       /**
+        * The main member function for dispensing pairs of reads or
+        * singleton reads.  Returns true iff ra and rb contain a new
+        * pair; returns false if ra contains a new unpaired read.
+        */
+       virtual bool nextReadPair(ReadBuf& ra, ReadBuf& rb, uint32_t& patid) {
+               uint32_t cur = cur_;
+               while(cur < srca_.size()) {
+                       if(srcb_[cur] == NULL) {
+                               // Patterns from srca_[cur_] are unpaired
+                               srca_[cur]->nextRead(ra, patid);
+                               if(seqan::empty(ra.patFw)) {
+                                       // If patFw is empty, that's our signal that the
+                                       // input dried up
+                                       lock();
+                                       if(cur + 1 > cur_) cur_++;
+                                       cur = cur_;
+                                       unlock();
+                                       continue; // on to next pair of PatternSources
+                               }
+                               ra.patid = patid;
+                               ra.mate  = 0;
+                               return false; // unpaired
+                       } else {
+                               // Patterns from srca_[cur_] and srcb_[cur_] are paired
+                               uint32_t patid_a = 0;
+                               uint32_t patid_b = 0;
+                               // Lock to ensure that this thread gets parallel reads
+                               // in the two mate files
+                               lock();
+                               srca_[cur]->nextRead(ra, patid_a);
+                               srcb_[cur]->nextRead(rb, patid_b);
+                               bool cont = false;
+                               // Did the pair obtained fail to match up?
+                               while(patid_a != patid_b) {
+                                       // Is either input exhausted?  If so, bail.
+                                       if(seqan::empty(ra.patFw) || seqan::empty(rb.patFw)) {
+                                               seqan::clear(ra.patFw);
+                                               if(cur + 1 > cur_) cur_++;
+                                               cur = cur_;
+                                               cont = true;
+                                               break;
+                                       }
+                                       if(patid_a < patid_b) {
+                                               srca_[cur]->nextRead(ra, patid_a);
+                                               ra.fixMateName(1);
+                                       } else {
+                                               srcb_[cur]->nextRead(rb, patid_b);
+                                               rb.fixMateName(2);
+                                       }
+                               }
+                               unlock();
+                               if(cont) continue; // on to next pair of PatternSources
+                               ra.fixMateName(1);
+                               rb.fixMateName(2);
+                               if(seqan::empty(ra.patFw)) {
+                                       // If patFw is empty, that's our signal that the
+                                       // input dried up
+                                       lock();
+                                       if(cur + 1 > cur_) cur_++;
+                                       cur = cur_;
+                                       unlock();
+                                       continue; // on to next pair of PatternSources
+                               }
+                               assert_eq(patid_a, patid_b);
+                               patid = patid_a;
+                               ra.patid = patid;
+                               rb.patid = patid;
+                               ra.mate  = 1;
+                               rb.mate  = 2;
+                               return true; // paired
+                       }
+               }
+               return false;
+       }
+
+       /**
+        * Return the number of reads attempted.
+        */
+       virtual pair<uint64_t,uint64_t> readCnt() const {
+               uint64_t rets = 0llu, retp = 0llu;
+               for(size_t i = 0; i < srca_.size(); i++) {
+                       if(srcb_[i] == NULL) {
+                               rets += srca_[i]->readCnt();
+                       } else {
+                               assert_eq(srca_[i]->readCnt(), srcb_[i]->readCnt());
+                               retp += srca_[i]->readCnt();
+                       }
+               }
+               return make_pair(rets, retp);
+       }
+
+protected:
+
+       volatile uint32_t cur_; // current element in parallel srca_, srcb_ vectors
+       vector<PatternSource*> srca_; /// PatternSources for 1st mates and/or unpaired reads
+       vector<PatternSource*> srcb_; /// PatternSources for 2nd mates
+};
+
+/**
+ * Encapsulates a single thread's interaction with the PatternSource.
+ * Most notably, this class holds the buffers into which the
+ * PatterSource will write sequences.  This class is *not* threadsafe
+ * - it doesn't need to be since there's one per thread.  PatternSource
+ * is thread-safe.
+ */
+class PatternSourcePerThread {
+public:
+       PatternSourcePerThread() :
+               buf1_(), buf2_(), patid_(0xffffffff) { }
+
+       virtual ~PatternSourcePerThread() { }
+
+       /**
+        * Read the next read pair.
+        */
+       virtual void nextReadPair() { }
+
+       ReadBuf& bufa()        { return buf1_;         }
+       ReadBuf& bufb()        { return buf2_;         }
+
+       uint32_t      patid() const { return patid_;        }
+       virtual void  reset()       { patid_ = 0xffffffff;  }
+       bool          empty() const { return buf1_.empty(); }
+       uint32_t length(int mate) const {
+               return (mate == 1)? buf1_.length() : buf2_.length();
+       }
+
+       /**
+        * Return true iff the buffers jointly contain a paired-end read.
+        */
+       bool paired() {
+               bool ret = !buf2_.empty();
+               assert(!ret || !empty());
+               return ret;
+       }
+
+protected:
+       ReadBuf  buf1_;    // read buffer for mate a
+       ReadBuf  buf2_;    // read buffer for mate b
+       uint32_t patid_;   // index of read just read
+};
+
+/**
+ * Abstract parent factory for PatternSourcePerThreads.
+ */
+class PatternSourcePerThreadFactory {
+public:
+       virtual ~PatternSourcePerThreadFactory() { }
+       virtual PatternSourcePerThread* create() const = 0;
+       virtual std::vector<PatternSourcePerThread*>* create(uint32_t n) const = 0;
+
+       /// Free memory associated with a pattern source
+       virtual void destroy(PatternSourcePerThread* patsrc) const {
+               assert(patsrc != NULL);
+               // Free the PatternSourcePerThread
+               delete patsrc;
+       }
+
+       /// Free memory associated with a pattern source list
+       virtual void destroy(std::vector<PatternSourcePerThread*>* patsrcs) const {
+               assert(patsrcs != NULL);
+               // Free all of the PatternSourcePerThreads
+               for(size_t i = 0; i < patsrcs->size(); i++) {
+                       if((*patsrcs)[i] != NULL) {
+                               delete (*patsrcs)[i];
+                               (*patsrcs)[i] = NULL;
+                       }
+               }
+               // Free the vector
+               delete patsrcs;
+       }
+};
+
+/**
+ * A per-thread wrapper for a PairedPatternSource.
+ */
+class WrappedPatternSourcePerThread : public PatternSourcePerThread {
+public:
+       WrappedPatternSourcePerThread(PairedPatternSource& __patsrc) :
+               patsrc_(__patsrc)
+       {
+               patsrc_.addWrapper();
+       }
+
+       /**
+        * Get the next paired or unpaired read from the wrapped
+        * PairedPatternSource.
+        */
+       virtual void nextReadPair() {
+               PatternSourcePerThread::nextReadPair();
+               ASSERT_ONLY(uint32_t lastPatid = patid_);
+               buf1_.clearAll();
+               buf2_.clearAll();
+               patsrc_.nextReadPair(buf1_, buf2_, patid_);
+               assert(buf1_.empty() || patid_ != lastPatid);
+       }
+
+private:
+
+       /// Container for obtaining paired reads from PatternSources
+       PairedPatternSource& patsrc_;
+};
+
+/**
+ * Abstract parent factory for PatternSourcePerThreads.
+ */
+class WrappedPatternSourcePerThreadFactory : public PatternSourcePerThreadFactory {
+public:
+       WrappedPatternSourcePerThreadFactory(PairedPatternSource& patsrc) :
+               patsrc_(patsrc) { }
+
+       /**
+        * Create a new heap-allocated WrappedPatternSourcePerThreads.
+        */
+       virtual PatternSourcePerThread* create() const {
+               return new WrappedPatternSourcePerThread(patsrc_);
+       }
+
+       /**
+        * Create a new heap-allocated vector of heap-allocated
+        * WrappedPatternSourcePerThreads.
+        */
+       virtual std::vector<PatternSourcePerThread*>* create(uint32_t n) const {
+               std::vector<PatternSourcePerThread*>* v = new std::vector<PatternSourcePerThread*>;
+               for(size_t i = 0; i < n; i++) {
+                       v->push_back(new WrappedPatternSourcePerThread(patsrc_));
+                       assert(v->back() != NULL);
+               }
+               return v;
+       }
+
+private:
+       /// Container for obtaining paired reads from PatternSources
+       PairedPatternSource& patsrc_;
+};
+
+/**
+ * Encapsualtes a source of patterns where each raw pattern is trimmed
+ * by some user-defined amount on the 3' and 5' ends.  Doesn't
+ * implement the actual trimming - that's up to the concrete
+ * descendants.
+ */
+class TrimmingPatternSource : public PatternSource {
+public:
+       TrimmingPatternSource(uint32_t seed,
+                             bool randomizeQuals = false,
+                             bool useSpinlock = true,
+                             const char *dumpfile = NULL,
+                             bool verbose = false,
+                             int trim3 = 0,
+                             int trim5 = 0) :
+               PatternSource(seed, randomizeQuals, useSpinlock, dumpfile, verbose),
+               trim3_(trim3), trim5_(trim5) { }
+protected:
+       int trim3_;
+       int trim5_;
+};
+
+/**
+ * A synchronized pattern source that simply returns random reads
+ * without reading from the disk or storing lists of reads in memory.
+ * Reads are generated with a RandomSource.
+ */
+class RandomPatternSource : public PatternSource {
+public:
+       RandomPatternSource(uint32_t seed,
+                           uint32_t numReads = 2000000,
+                           int length = 35,
+                           bool useSpinlock = true,
+                           const char *dumpfile = NULL,
+                           bool verbose = false) :
+               PatternSource(seed, false, useSpinlock, dumpfile, verbose),
+               numReads_(numReads),
+               length_(length),
+               seed_(seed)
+       {
+               if(length_ > 1024) {
+                       cerr << "Read length for RandomPatternSource may not exceed 1024; got " << length_ << endl;
+                       throw 1;
+               }
+               rand_.init(seed_);
+       }
+
+       /** Get the next random read and set patid */
+       virtual void nextReadImpl(ReadBuf& r, uint32_t& patid) {
+               // Begin critical section
+               lock();
+               if(readCnt_ >= numReads_) {
+                       r.clearAll();
+                       unlock();
+                       return;
+               }
+               uint32_t ra = rand_.nextU32();
+               patid = readCnt_;
+               readCnt_++;
+               unlock();
+               fillRandomRead(r, ra, length_, patid);
+       }
+
+       /** Get the next random read and set patid */
+       virtual void nextReadPairImpl(ReadBuf& ra, ReadBuf& rb, uint32_t& patid) {
+               // Begin critical section
+               lock();
+               if(readCnt_ >= numReads_) {
+                       ra.clearAll();
+                       rb.clearAll();
+                       unlock();
+                       return;
+               }
+               uint32_t rna = rand_.nextU32();
+               uint32_t rnb = rand_.nextU32();
+               patid = readCnt_;
+               readCnt_++;
+               unlock();
+               fillRandomRead(ra, rna, length_, patid);
+               fillRandomRead(rb, rnb, length_, patid);
+       }
+
+       /** */
+       static void fillRandomRead(ReadBuf& r,
+                                  uint32_t ra,
+                                  int length,
+                                  uint32_t patid)
+       {
+               // End critical section
+               for(int i = 0; i < length; i++) {
+                       ra = RandomSource::nextU32(ra) >> 8;
+                       r.patBufFw[i]           = (ra & 3);
+                       char c                  = 'I' - ((ra >> 2) & 31);
+                       r.qualBuf[i]            = c;
+               }
+               _setBegin (r.patFw, (Dna5*)r.patBufFw);
+               _setLength(r.patFw, length);
+               _setBegin (r.qual, r.qualBuf);
+               _setLength(r.qual, length);
+               itoa10(patid, r.nameBuf);
+               _setBegin(r.name, r.nameBuf);
+               _setLength(r.name, strlen(r.nameBuf));
+       }
+
+       /** Reset the pattern source to the beginning */
+       virtual void reset() {
+               PatternSource::reset();
+               // reset pseudo-random generator; next string of calls to
+               // nextU32() will return same pseudo-randoms as the last
+               rand_.init(seed_);
+       }
+private:
+       uint32_t     numReads_; /// number of reads to dish out
+       int          length_;   /// length of reads
+       uint32_t     seed_;     /// seed for pseudo-randoms
+       RandomSource rand_;     /// pseudo-random generator
+};
+
+/**
+ * A version of PatternSourcePerThread that dishes out random patterns
+ * without any synchronization.
+ */
+class RandomPatternSourcePerThread : public PatternSourcePerThread {
+public:
+       RandomPatternSourcePerThread(uint32_t numreads,
+                                    int length,
+                                    int numthreads,
+                                    int thread) :
+               PatternSourcePerThread(),
+               numreads_(numreads),
+               length_(length),
+               numthreads_(numthreads),
+               thread_(thread)
+       {
+               patid_ = thread_;
+               if(length_ > 1024) {
+                       cerr << "Read length for RandomPatternSourcePerThread may not exceed 1024; got " << length_ << endl;
+                       throw 1;
+               }
+               rand_.init(thread_);
+       }
+
+       virtual void nextReadPair() {
+               PatternSourcePerThread::nextReadPair();
+               if(patid_ >= numreads_) {
+                       buf1_.clearAll();
+                       buf2_.clearAll();
+                       return;
+               }
+               RandomPatternSource::fillRandomRead(
+                       buf1_, rand_.nextU32(), length_, patid_);
+               RandomPatternSource::fillRandomRead(
+                       buf2_, rand_.nextU32(), length_, patid_);
+               patid_ += numthreads_;
+       }
+
+       virtual void reset() {
+               PatternSourcePerThread::reset();
+               patid_ = thread_;
+               rand_.init(thread_);
+       }
+
+private:
+       uint32_t     numreads_;
+       int          length_;
+       int          numthreads_;
+       int          thread_;
+       RandomSource rand_;
+};
+
+/**
+ * Abstract parent factory for PatternSourcePerThreads.
+ */
+class RandomPatternSourcePerThreadFactory : public PatternSourcePerThreadFactory {
+public:
+       RandomPatternSourcePerThreadFactory(
+               uint32_t numreads,
+               int length,
+               int numthreads,
+               int thread) :
+               numreads_(numreads),
+               length_(length),
+               numthreads_(numthreads),
+               thread_(thread) { }
+
+       /**
+        * Create a new heap-allocated WrappedPatternSourcePerThreads.
+        */
+       virtual PatternSourcePerThread* create() const {
+               return new RandomPatternSourcePerThread(
+                       numreads_, length_, numthreads_, thread_);
+       }
+
+       /**
+        * Create a new heap-allocated vector of heap-allocated
+        * WrappedPatternSourcePerThreads.
+        */
+       virtual std::vector<PatternSourcePerThread*>* create(uint32_t n) const {
+               std::vector<PatternSourcePerThread*>* v = new std::vector<PatternSourcePerThread*>;
+               for(size_t i = 0; i < n; i++) {
+                       v->push_back(new RandomPatternSourcePerThread(
+                               numreads_, length_, numthreads_, thread_));
+                       assert(v->back() != NULL);
+               }
+               return v;
+       }
+
+private:
+       uint32_t numreads_;
+       int length_;
+       int numthreads_;
+       int thread_;
+};
+
+/// Skip to the end of the current string of newline chars and return
+/// the first character after the newline chars, or -1 for EOF
+static inline int getOverNewline(FileBuf& in) {
+       int c;
+       while(isspace(c = in.get()));
+       return c;
+}
+
+/// Skip to the end of the current string of newline chars such that
+/// the next call to get() returns the first character after the
+/// whitespace
+static inline int peekOverNewline(FileBuf& in) {
+       while(true) {
+               int c = in.peek();
+               if(c != '\r' && c != '\n') {
+                       return c;
+               }
+               in.get();
+       }
+}
+
+/// Skip to the end of the current line; return the first character
+/// of the next line or -1 for EOF
+static inline int getToEndOfLine(FileBuf& in) {
+       while(true) {
+               int c = in.get(); if(c < 0) return -1;
+               if(c == '\n' || c == '\r') {
+                       while(c == '\n' || c == '\r') {
+                               c = in.get(); if(c < 0) return -1;
+                       }
+                       // c now holds first character of next line
+                       return c;
+               }
+       }
+}
+
+/// Skip to the end of the current line such that the next call to
+/// get() returns the first character on the next line
+static inline int peekToEndOfLine(FileBuf& in) {
+       while(true) {
+               int c = in.get(); if(c < 0) return c;
+               if(c == '\n' || c == '\r') {
+                       c = in.peek();
+                       while(c == '\n' || c == '\r') {
+                               in.get(); if(c < 0) return c; // consume \r or \n
+                               c = in.peek();
+                       }
+                       // next get() gets first character of next line
+                       return c;
+               }
+       }
+}
+
+extern void wrongQualityFormat(const String<char>& read_name);
+extern void tooFewQualities(const String<char>& read_name);
+extern void tooManyQualities(const String<char>& read_name);
+extern void tooManySeqChars(const String<char>& read_name);
+
+/**
+ * Encapsulates a source of patterns which is an in-memory vector.
+ */
+class VectorPatternSource : public TrimmingPatternSource {
+public:
+       VectorPatternSource(uint32_t seed,
+                           const vector<string>& v,
+                           bool color,
+                           bool randomizeQuals = false,
+                           bool useSpinlock = true,
+                           const char *dumpfile = NULL,
+                           bool verbose = false,
+                           int trim3 = 0,
+                           int trim5 = 0,
+                               uint32_t skip = 0) :
+               TrimmingPatternSource(seed, randomizeQuals, useSpinlock,
+                                     dumpfile, verbose, trim3, trim5),
+               color_(color), cur_(skip), skip_(skip), paired_(false), v_(),
+               quals_()
+       {
+               for(size_t i = 0; i < v.size(); i++) {
+                       vector<string> ss;
+                       tokenize(v[i], ":", ss, 2);
+                       assert_gt(ss.size(), 0);
+                       assert_leq(ss.size(), 2);
+                       // Initialize s
+                       string s = ss[0];
+                       int mytrim5 = this->trim5_;
+                       if(color_ && s.length() > 1) {
+                               // This may be a primer character.  If so, keep it in the
+                               // 'primer' field of the read buf and parse the rest of the
+                               // read without it.
+                               int c = toupper(s[0]);
+                               if(asc2dnacat[c] > 0) {
+                                       // First char is a DNA char
+                                       int c2 = toupper(s[1]);
+                                       // Second char is a color char
+                                       if(asc2colcat[c2] > 0) {
+                                               mytrim5 += 2; // trim primer and first color
+                                       }
+                               }
+                       }
+                       if(color_) {
+                               // Convert '0'-'3' to 'A'-'T'
+                               for(size_t i = 0; i < s.length(); i++) {
+                                       if(s[i] >= '0' && s[i] <= '4') {
+                                               s[i] = "ACGTN"[(int)s[i] - '0'];
+                                       }
+                                       if(s[i] == '.') s[i] = 'N';
+                               }
+                       }
+                       if(s.length() <= (size_t)(trim3_ + mytrim5)) {
+                               // Entire read is trimmed away
+                               continue;
+                       } else {
+                               // Trim on 5' (high-quality) end
+                               if(mytrim5 > 0) {
+                                       s.erase(0, mytrim5);
+                               }
+                               // Trim on 3' (low-quality) end
+                               if(trim3_ > 0) {
+                                       s.erase(s.length()-trim3_);
+                               }
+                       }
+                       //  Initialize vq
+                       string vq;
+                       if(ss.size() == 2) {
+                               vq = ss[1];
+                       }
+                       // Trim qualities
+                       if(vq.length() > (size_t)(trim3_ + mytrim5)) {
+                               // Trim on 5' (high-quality) end
+                               if(mytrim5 > 0) {
+                                       vq.erase(0, mytrim5);
+                               }
+                               // Trim on 3' (low-quality) end
+                               if(trim3_ > 0) {
+                                       vq.erase(vq.length()-trim3_);
+                               }
+                       }
+                       // Pad quals with Is if necessary; this shouldn't happen
+                       while(vq.length() < length(s)) {
+                               vq.push_back('I');
+                       }
+                       // Truncate quals to match length of read if necessary;
+                       // this shouldn't happen
+                       if(vq.length() > length(s)) {
+                               vq.erase(length(s));
+                       }
+                       assert_eq(vq.length(), length(s));
+                       v_.push_back(s);
+                       quals_.push_back(vq);
+                       trimmed3_.push_back(trim3_);
+                       trimmed5_.push_back(mytrim5);
+                       ostringstream os;
+                       os << (names_.size());
+                       names_.push_back(os.str());
+               }
+               assert_eq(v_.size(), quals_.size());
+       }
+       virtual ~VectorPatternSource() { }
+       virtual void nextReadImpl(ReadBuf& r, uint32_t& patid) {
+               // Let Strings begin at the beginning of the respective bufs
+               r.reset();
+               lock();
+               if(cur_ >= v_.size()) {
+                       unlock();
+                       // Clear all the Strings, as a signal to the caller that
+                       // we're out of reads
+                       r.clearAll();
+                       assert(r.empty());
+                       return;
+               }
+               // Copy v_*, quals_* strings into the respective Strings
+               r.color = color_;
+               r.patFw  = v_[cur_];
+               r.qual = quals_[cur_];
+               r.trimmed3 = trimmed3_[cur_];
+               r.trimmed5 = trimmed5_[cur_];
+               ostringstream os;
+               os << cur_;
+               r.name = os.str();
+               cur_++;
+               readCnt_++;
+               patid = readCnt_;
+               unlock();
+       }
+       /**
+        * This is unused, but implementation is given for completeness.
+        */
+       virtual void nextReadPairImpl(ReadBuf& ra, ReadBuf& rb, uint32_t& patid) {
+               // Let Strings begin at the beginning of the respective bufs
+               ra.reset();
+               rb.reset();
+               if(!paired_) {
+                       paired_ = true;
+                       cur_ <<= 1;
+               }
+               lock();
+               if(cur_ >= v_.size()-1) {
+                       unlock();
+                       // Clear all the Strings, as a signal to the caller that
+                       // we're out of reads
+                       ra.clearAll();
+                       rb.clearAll();
+                       assert(ra.empty());
+                       assert(rb.empty());
+                       return;
+               }
+               // Copy v_*, quals_* strings into the respective Strings
+               ra.patFw  = v_[cur_];
+               ra.qual = quals_[cur_];
+               ra.trimmed3 = trimmed3_[cur_];
+               ra.trimmed5 = trimmed5_[cur_];
+               cur_++;
+               rb.patFw  = v_[cur_];
+               rb.qual = quals_[cur_];
+               rb.trimmed3 = trimmed3_[cur_];
+               rb.trimmed5 = trimmed5_[cur_];
+               ostringstream os;
+               os << readCnt_;
+               ra.name = os.str();
+               rb.name = os.str();
+               ra.color = rb.color = color_;
+               cur_++;
+               readCnt_++;
+               patid = readCnt_;
+               unlock();
+       }
+       virtual void reset() {
+               TrimmingPatternSource::reset();
+               cur_ = skip_;
+               paired_ = false;
+       }
+private:
+       bool color_;
+       size_t cur_;
+       uint32_t skip_;
+       bool paired_;
+       vector<String<Dna5> > v_;     /// forward sequences
+       vector<String<char> > quals_; /// quality values parallel to v_
+       vector<String<char> > names_; /// names
+       vector<int> trimmed3_; // names
+       vector<int> trimmed5_; // names
+};
+
+/**
+ *
+ */
+class BufferedFilePatternSource : public TrimmingPatternSource {
+public:
+       BufferedFilePatternSource(uint32_t seed,
+                                 const vector<string>& infiles,
+                                 const vector<string>* qinfiles,
+                                 bool randomizeQuals = false,
+                                 bool useSpinlock = true,
+                                 const char *dumpfile = NULL,
+                                 bool verbose = false,
+                                 int trim3 = 0,
+                                 int trim5 = 0,
+                                 uint32_t skip = 0) :
+               TrimmingPatternSource(seed, randomizeQuals, useSpinlock,
+                                     dumpfile, verbose, trim3, trim5),
+               infiles_(infiles),
+               filecur_(0),
+               fb_(),
+               qfb_(),
+               skip_(skip),
+               first_(true)
+       {
+               qinfiles_.clear();
+               if(qinfiles != NULL) qinfiles_ = *qinfiles;
+               assert_gt(infiles.size(), 0);
+               errs_.resize(infiles_.size(), false);
+               if(qinfiles_.size() > 0 &&
+                  qinfiles_.size() != infiles_.size())
+               {
+                       cerr << "Error: Different numbers of input FASTA/quality files ("
+                            << infiles_.size() << "/" << qinfiles_.size() << ")" << endl;
+                       throw 1;
+               }
+               assert(!fb_.isOpen());
+               assert(!qfb_.isOpen());
+               open(); // open first file in the list
+               filecur_++;
+       }
+
+       virtual ~BufferedFilePatternSource() {
+               if(fb_.isOpen()) fb_.close();
+               if(qfb_.isOpen()) {
+                       assert_gt(qinfiles_.size(), 0);
+                       qfb_.close();
+               }
+       }
+
+       /**
+        * Fill ReadBuf with the sequence, quality and name for the next
+        * read in the list of read files.  This function gets called by
+        * all the search threads, so we must handle synchronization.
+        */
+       virtual void nextReadImpl(ReadBuf& r, uint32_t& patid) {
+               // We are entering a critical region, because we're
+               // manipulating our file handle and filecur_ state
+               lock();
+               bool notDone = true;
+               do {
+                       read(r, patid);
+                       // Try again if r is empty (indicating an error) and input
+                       // is not yet exhausted, OR if we have more reads to skip
+                       // over
+                       notDone = seqan::empty(r.patFw) && !fb_.eof();
+               } while(notDone || (!fb_.eof() && patid < skip_));
+               if(patid < skip_) {
+                       unlock();
+                       r.clearAll();
+                       assert(seqan::empty(r.patFw));
+                       return;
+               }
+               if(first_ && seqan::empty(r.patFw) /* && !quiet_ */) {
+                       // No reads could be extracted from the first _infile
+                       cerr << "Warning: Could not find any reads in \"" << infiles_[0] << "\"" << endl;
+               }
+               first_ = false;
+               while(seqan::empty(r.patFw) && filecur_ < infiles_.size()) {
+                       // Open next file
+                       open();
+                       resetForNextFile(); // reset state to handle a fresh file
+                       do {
+                               read(r, patid);
+                       } while((seqan::empty(r.patFw) && !fb_.eof()));
+                       assert_geq(patid, skip_);
+                       if(seqan::empty(r.patFw) /*&& !quiet_ */) {
+                               // No reads could be extracted from this _infile
+                               cerr << "Warning: Could not find any reads in \"" << infiles_[filecur_] << "\"" << endl;
+                       }
+                       filecur_++;
+               }
+               // Leaving critical region
+               unlock();
+               // If r.patFw is empty, then the caller knows that we are
+               // finished with the reads
+       }
+       /**
+        *
+        */
+       virtual void nextReadPairImpl(ReadBuf& ra, ReadBuf& rb, uint32_t& patid) {
+               // We are entering a critical region, because we're
+               // manipulating our file handle and filecur_ state
+               lock();
+               bool notDone = true;
+               do {
+                       readPair(ra, rb, patid);
+                       // Try again if ra is empty (indicating an error) and input
+                       // is not yet exhausted, OR if we have more reads to skip
+                       // over
+                       notDone = seqan::empty(ra.patFw) && !fb_.eof();
+               } while(notDone || (!fb_.eof() && patid < skip_));
+               if(patid < skip_) {
+                       unlock();
+                       ra.clearAll();
+                       rb.clearAll();
+                       assert(seqan::empty(ra.patFw));
+                       return;
+               }
+               if(first_ && seqan::empty(ra.patFw) /*&& !quiet_*/) {
+                       // No reads could be extracted from the first _infile
+                       cerr << "Warning: Could not find any read pairs in \"" << infiles_[0] << "\"" << endl;
+               }
+               first_ = false;
+               while(seqan::empty(ra.patFw) && filecur_ < infiles_.size()) {
+                       // Open next file
+                       open();
+                       resetForNextFile(); // reset state to handle a fresh file
+                       do {
+                               readPair(ra, rb, patid);
+                       } while((seqan::empty(ra.patFw) && !fb_.eof()));
+                       assert_geq(patid, skip_);
+                       if(seqan::empty(ra.patFw) /*&& !quiet_*/) {
+                               // No reads could be extracted from this _infile
+                               cerr << "Warning: Could not find any reads in \"" << infiles_[filecur_] << "\"" << endl;
+                       }
+                       filecur_++;
+               }
+               // Leaving critical region
+               unlock();
+               // If ra.patFw is empty, then the caller knows that we are
+               // finished with the reads
+       }
+       /**
+        * Reset state so that we read start reading again from the
+        * beginning of the first file.  Should only be called by the
+        * master thread.
+        */
+       virtual void reset() {
+               TrimmingPatternSource::reset();
+               filecur_ = 0,
+               open();
+               filecur_++;
+       }
+protected:
+       /// Read another pattern from the input file; this is overridden
+       /// to deal with specific file formats
+       virtual void read(ReadBuf& r, uint32_t& patid) = 0;
+       /// Read another pattern pair from the input file; this is
+       /// overridden to deal with specific file formats
+       virtual void readPair(ReadBuf& ra, ReadBuf& rb, uint32_t& patid) = 0;
+       /// Reset state to handle a fresh file
+       virtual void resetForNextFile() { }
+       void open() {
+               if(fb_.isOpen()) fb_.close();
+               if(qfb_.isOpen()) qfb_.close();
+               while(filecur_ < infiles_.size()) {
+                       // Open read
+                       FILE *in;
+                       if(infiles_[filecur_] == "-") {
+                               in = stdin;
+                       } else if((in = fopen(infiles_[filecur_].c_str(), "rb")) == NULL) {
+                               if(!errs_[filecur_]) {
+                                       cerr << "Warning: Could not open read file \"" << infiles_[filecur_] << "\" for reading; skipping..." << endl;
+                                       errs_[filecur_] = true;
+                               }
+                               filecur_++;
+                               continue;
+                       }
+                       fb_.newFile(in);
+                       // Open quality
+                       if(!qinfiles_.empty()) {
+                               FILE *in;
+                               if(qinfiles_[filecur_] == "-") {
+                                       in = stdin;
+                               } else if((in = fopen(qinfiles_[filecur_].c_str(), "rb")) == NULL) {
+                                       if(!errs_[filecur_]) {
+                                               cerr << "Warning: Could not open quality file \"" << qinfiles_[filecur_] << "\" for reading; skipping..." << endl;
+                                               errs_[filecur_] = true;
+                                       }
+                                       filecur_++;
+                                       continue;
+                               }
+                               qfb_.newFile(in);
+                       }
+                       return;
+               }
+               throw 1;
+       }
+       vector<string> infiles_; /// filenames for read files
+       vector<string> qinfiles_; /// filenames for quality files
+       vector<bool> errs_; /// whether we've already printed an error for each file
+       size_t filecur_;   /// index into infiles_ of next file to read
+       FileBuf fb_;  /// read file currently being read from
+       FileBuf qfb_; /// quality file currently being read from
+       uint32_t skip_;     /// number of reads to skip
+       bool first_;
+};
+
+/**
+ * Parse a single quality string from fb and store qualities in r.
+ * Assume the next character obtained via fb.get() is the first
+ * character of the quality string.  When returning, the next
+ * character returned by fb.peek() or fb.get() should be the first
+ * character of the following line.
+ */
+int parseQuals(ReadBuf& r,
+               FileBuf& fb,
+               int readLen,
+               int trim3,
+               int trim5,
+               bool intQuals,
+               bool phred64,
+               bool solexa64);
+
+/**
+ * Synchronized concrete pattern source for a list of FASTA or CSFASTA
+ * (if color = true) files.
+ */
+class FastaPatternSource : public BufferedFilePatternSource {
+public:
+       FastaPatternSource(uint32_t seed,
+                          const vector<string>& infiles,
+                          const vector<string>* qinfiles,
+                          bool color,
+                          bool randomizeQuals,
+                          bool useSpinlock = true,
+                          const char *dumpfile = NULL,
+                          bool verbose = false,
+                          int trim3 = 0,
+                          int trim5 = 0,
+                          bool solexa64 = false,
+                          bool phred64 = false,
+                          bool intQuals = false,
+                          uint32_t skip = 0) :
+               BufferedFilePatternSource(seed, infiles, qinfiles, randomizeQuals,
+                                         useSpinlock, dumpfile, verbose, trim3,
+                                         trim5, skip),
+               first_(true), color_(color), solexa64_(solexa64),
+               phred64_(phred64), intQuals_(intQuals)
+       { }
+       virtual void reset() {
+               first_ = true;
+               BufferedFilePatternSource::reset();
+       }
+protected:
+       /**
+        * Scan to the next FASTA record (starting with >) and return the first
+        * character of the record (which will always be >).
+        */
+       static int skipToNextFastaRecord(FileBuf& in) {
+               int c;
+               while((c = in.get()) != '>') {
+                       if(in.eof()) return -1;
+               }
+               return c;
+       }
+
+       /// Called when we have to bail without having parsed a read.
+       void bail(ReadBuf& r) {
+               r.clearAll();
+               fb_.resetLastN();
+               qfb_.resetLastN();
+       }
+
+       /// Read another pattern from a FASTA input file
+       virtual void read(ReadBuf& r, uint32_t& patid) {
+               int c, qc = 0;
+               int dstLen = 0;
+               int nameLen = 0;
+               bool doquals = qinfiles_.size() > 0;
+               assert(!doquals || qfb_.isOpen());
+               assert(fb_.isOpen());
+               r.color = color_;
+
+               // Skip over between-read comments.  Note that SOLiD's comments use #s
+               c = fb_.get();
+               if(c < 0) { bail(r); return; }
+               while(c == '#' || c == ';') {
+                       c = fb_.peekUptoNewline();
+                       fb_.resetLastN();
+                       c = fb_.get();
+               }
+               assert_eq(1, fb_.lastNCur());
+               if(doquals) {
+                       qc = qfb_.get();
+                       if(qc < 0) { bail(r); return; }
+                       while(qc == '#' || qc == ';') {
+                               qc = qfb_.peekUptoNewline();
+                               qfb_.resetLastN();
+                               qc = qfb_.get();
+                       }
+                       assert_eq(1, qfb_.lastNCur());
+               }
+
+               // Pick off the first carat
+               if(first_) {
+                       if(c != '>') {
+                               cerr << "Error: reads file does not look like a FASTA file" << endl;
+                               throw 1;
+                       }
+                       if(doquals && qc != '>') {
+                               cerr << "Error: quality file does not look like a FASTA quality file" << endl;
+                               throw 1;
+                       }
+                       first_ = false;
+               }
+               assert_eq('>', c);
+               if(doquals) assert_eq('>', qc);
+               c = fb_.get(); // get next char after '>'
+               if(doquals) qc = qfb_.get();
+
+               // Read to the end of the id line, sticking everything after the '>'
+               // into *name
+               bool warning = false;
+               while(true) {
+                       if(c < 0 || qc < 0) { bail(r); return; }
+                       if(c == '\n' || c == '\r') {
+                               // Break at end of line, after consuming all \r's, \n's
+                               while(c == '\n' || c == '\r') {
+                                       c = fb_.get();
+                                       if(doquals) qc = qfb_.get();
+                                       if(c < 0 || qc < 0) { bail(r); return; }
+                               }
+                               break;
+                       }
+                       if(doquals && c != qc) {
+                               cerr << "Warning: one or more mismatched read names between FASTA and quality files" << endl;
+                               warning = true;
+                       }
+                       r.nameBuf[nameLen++] = c;
+                       c = fb_.get();
+                       if(doquals) qc = qfb_.get();
+               }
+               _setBegin(r.name, r.nameBuf);
+               _setLength(r.name, nameLen);
+               if(warning) {
+                       cerr << "         Offending read name: \"" << r.name << "\"" << endl;
+               }
+
+               // _in now points just past the first character of a sequence
+               // line, and c holds the first character
+               int begin = 0;
+               int mytrim5 = this->trim5_;
+               if(color_) {
+                       // This is the primer character, keep it in the
+                       // 'primer' field of the read buf and keep parsing
+                       c = toupper(c);
+                       if(asc2dnacat[c] > 0) {
+                               // First char is a DNA char
+                               int c2 = toupper(fb_.peek());
+                               if(asc2colcat[c2] > 0) {
+                                       // Second char is a color char
+                                       r.primer = c;
+                                       r.trimc = c2;
+                                       mytrim5 += 2;
+                               }
+                       }
+                       if(c < 0) { bail(r); return; }
+               }
+               while(c != '>' && c >= 0) {
+                       if(color_) {
+                               if(c >= '0' && c <= '4') c = "ACGTN"[(int)c - '0'];
+                               if(c == '.') c = 'N';
+                       }
+                       if(asc2dnacat[c] > 0 && begin++ >= mytrim5) {
+                               if(dstLen + 1 > 1024) tooManySeqChars(r.name);
+                               r.patBufFw[dstLen] = charToDna5[c];
+                               if(!doquals) r.qualBuf[dstLen]  = 'I';
+                               dstLen++;
+                       }
+                       if(fb_.peek() == '>') break;
+                       c = fb_.get();
+               }
+               dstLen -= this->trim3_;
+               if(dstLen < 0) dstLen = 0;
+               _setBegin (r.patFw, (Dna5*)r.patBufFw);
+               _setLength(r.patFw, dstLen);
+               r.trimmed3 = this->trim3_;
+               r.trimmed5 = mytrim5;
+               if(doquals) {
+                       if(dstLen > 0) {
+                               parseQuals(r, qfb_, dstLen + r.trimmed3 + r.trimmed5,
+                                                  r.trimmed3, r.trimmed5, intQuals_, phred64_,
+                                                  solexa64_);
+                       } else {
+                               // Bail
+                               qfb_.peekUptoNewline();
+                               qfb_.get();
+                               qfb_.resetLastN();
+                               fb_.resetLastN();
+                               // Count the read
+                               readCnt_++;
+                               patid = readCnt_-1;
+                               return;
+                       }
+               }
+               _setBegin (r.qual,  r.qualBuf);
+               _setLength(r.qual,  dstLen);
+               // Set up a default name if one hasn't been set
+               if(nameLen == 0) {
+                       itoa10(readCnt_, r.nameBuf);
+                       _setBegin(r.name, r.nameBuf);
+                       nameLen = strlen(r.nameBuf);
+                       _setLength(r.name, nameLen);
+               }
+               assert_gt(nameLen, 0);
+               readCnt_++;
+               patid = readCnt_-1;
+               r.readOrigBufLen = fb_.copyLastN(r.readOrigBuf);
+               fb_.resetLastN();
+               if(doquals) {
+                       r.qualOrigBufLen = qfb_.copyLastN(r.qualOrigBuf);
+                       qfb_.resetLastN();
+                       if(false) {
+                               cout << "Name: " << r.name << endl
+                                        << " Seq: " << r.patFw << " (" << seqan::length(r.patFw) << ")" << endl
+                                        << "Qual: " << r.qual  << " (" << seqan::length(r.qual) << ")" << endl
+                                        << "Orig seq:" << endl;
+                               for(size_t i = 0; i < r.readOrigBufLen; i++) cout << r.readOrigBuf[i];
+                               cout << "Orig qual:" << endl;
+                               for(size_t i = 0; i < r.qualOrigBufLen; i++) cout << r.qualOrigBuf[i];
+                               cout << endl;
+                       }
+               }
+       }
+       /// Read another pair of patterns from a FASTA input file
+       virtual void readPair(ReadBuf& ra, ReadBuf& rb, uint32_t& patid) {
+               // (For now, we shouldn't ever be here)
+               cerr << "In FastaPatternSource.readPair()" << endl;
+               throw 1;
+               read(ra, patid);
+               readCnt_--;
+               read(rb, patid);
+       }
+       virtual void resetForNextFile() {
+               first_ = true;
+       }
+       virtual void dump(ostream& out,
+                         const String<Dna5>& seq,
+                         const String<char>& qual,
+                         const String<char>& name)
+       {
+               out << ">" << name << endl << seq << endl;
+       }
+private:
+       bool first_;
+       bool color_;
+       bool solexa64_;
+       bool phred64_;
+       bool intQuals_;
+};
+
+
+/**
+ * Tokenize a line of space-separated integer quality values.
+ */
+static inline bool tokenizeQualLine(FileBuf& filebuf, char *buf, size_t buflen, vector<string>& toks) {
+       size_t rd = filebuf.gets(buf, buflen);
+       if(rd == 0) return false;
+       assert(NULL == strrchr(buf, '\n'));
+       tokenize(string(buf), " ", toks);
+       return true;
+}
+
+/**
+ * Synchronized concrete pattern source for a list of files with tab-
+ * delimited name, seq, qual fields (or, for paired-end reads,
+ * basename, seq1, qual1, seq2, qual2).
+ */
+class TabbedPatternSource : public BufferedFilePatternSource {
+public:
+       TabbedPatternSource(uint32_t seed,
+                           const vector<string>& infiles,
+                           bool color,
+                           bool randomizeQuals = false,
+                           bool useSpinlock = true,
+                           const char *dumpfile = NULL,
+                           bool verbose = false,
+                           int trim3 = 0,
+                           int trim5 = 0,
+                           bool solQuals = false,
+                           bool phred64Quals = false,
+                           bool intQuals = false,
+                           uint32_t skip = 0) :
+               BufferedFilePatternSource(seed, infiles, NULL, randomizeQuals,
+                                         useSpinlock, dumpfile, verbose,
+                                         trim3, trim5, skip),
+               color_(color),
+               solQuals_(solQuals),
+               phred64Quals_(phred64Quals),
+               intQuals_(intQuals)
+       { }
+
+protected:
+
+       /// Read another pattern from a FASTA input file
+       virtual void read(ReadBuf& r, uint32_t& patid) {
+               r.color = color_;
+               int trim5 = this->trim5_;
+               // fb_ is about to dish out the first character of the
+               // name field
+               if(parseName(r, NULL, '\t') == -1) {
+                       peekOverNewline(fb_); // skip rest of line
+                       r.clearAll();
+                       return;
+               }
+               assert_neq('\t', fb_.peek());
+
+               // fb_ is about to dish out the first character of the
+               // sequence field
+               int charsRead = 0;
+               int dstLen = parseSeq(r, charsRead, trim5, '\t');
+               assert_neq('\t', fb_.peek());
+               if(dstLen <= 0) {
+                       peekOverNewline(fb_); // skip rest of line
+                       r.clearAll();
+                       return;
+               }
+
+               // fb_ is about to dish out the first character of the
+               // quality-string field
+               char ct = 0;
+               if(parseQuals(r, charsRead, dstLen, trim5, ct, '\n') <= 0) {
+                       peekOverNewline(fb_); // skip rest of line
+                       r.clearAll();
+                       return;
+               }
+               r.trimmed3 = this->trim3_;
+               r.trimmed5 = trim5;
+               assert_eq(ct, '\n');
+               assert_neq('\n', fb_.peek());
+               r.readOrigBufLen = fb_.copyLastN(r.readOrigBuf);
+               fb_.resetLastN();
+               // The last character read in parseQuals should have been a
+               // '\n'
+
+               readCnt_++;
+               patid = readCnt_-1;
+       }
+
+       /// Read another pair of patterns from a FASTA input file
+       virtual void readPair(ReadBuf& ra, ReadBuf& rb, uint32_t& patid) {
+               // fb_ is about to dish out the first character of the
+               // name field
+               int mytrim5_1 = this->trim5_;
+               if(parseName(ra, &rb, '\t') == -1) {
+                       peekOverNewline(fb_); // skip rest of line
+                       ra.clearAll();
+                       rb.clearAll();
+                       fb_.resetLastN();
+                       return;
+               }
+               assert_neq('\t', fb_.peek());
+
+               // fb_ is about to dish out the first character of the
+               // sequence field for the first mate
+               int charsRead1 = 0;
+               int dstLen1 = parseSeq(ra, charsRead1, mytrim5_1, '\t');
+               if(dstLen1 <= -1) {
+                       peekOverNewline(fb_); // skip rest of line
+                       ra.clearAll();
+                       rb.clearAll();
+                       fb_.resetLastN();
+                       return;
+               }
+               assert_neq('\t', fb_.peek());
+
+               // fb_ is about to dish out the first character of the
+               // quality-string field
+               char ct = 0;
+               if(parseQuals(ra, charsRead1, dstLen1, mytrim5_1, ct, '\t', '\n') <= 0) {
+                       peekOverNewline(fb_); // skip rest of line
+                       ra.clearAll();
+                       rb.clearAll();
+                       fb_.resetLastN();
+                       return;
+               }
+               ra.trimmed3 = this->trim3_;
+               ra.trimmed5 = mytrim5_1;
+               assert(ct == '\t' || ct == '\n');
+               if(ct == '\n') {
+                       // Unpaired record; return.
+                       rb.clearAll();
+                       peekOverNewline(fb_);
+                       ra.readOrigBufLen = fb_.copyLastN(ra.readOrigBuf);
+                       fb_.resetLastN();
+                       readCnt_++;
+                       patid = readCnt_-1;
+                       return;
+               }
+               assert_neq('\t', fb_.peek());
+
+               // fb_ is about to dish out the first character of the
+               // sequence field for the second mate
+               int charsRead2 = 0;
+               int mytrim5_2 = this->trim5_;
+               int dstLen2 = parseSeq(rb, charsRead2, mytrim5_2, '\t');
+               if(dstLen2 <= 0) {
+                       peekOverNewline(fb_); // skip rest of line
+                       ra.clearAll();
+                       rb.clearAll();
+                       fb_.resetLastN();
+                       return;
+               }
+               assert_neq('\t', fb_.peek());
+
+               // fb_ is about to dish out the first character of the
+               // quality-string field
+               if(parseQuals(rb, charsRead2, dstLen2, mytrim5_2, ct, '\n') <= 0) {
+                       peekOverNewline(fb_); // skip rest of line
+                       ra.clearAll();
+                       rb.clearAll();
+                       fb_.resetLastN();
+                       return;
+               }
+               assert_eq('\n', ct);
+               if(fb_.peek() == '\n') {
+                       assert(false);
+               }
+               peekOverNewline(fb_);
+               ra.readOrigBufLen = fb_.copyLastN(ra.readOrigBuf);
+               fb_.resetLastN();
+
+               rb.trimmed3 = this->trim3_;
+               rb.trimmed5 = mytrim5_2;
+
+               // The last character read in parseQuals should have been a
+               // '\n'
+
+               readCnt_++;
+               patid = readCnt_-1;
+       }
+
+       /**
+        * Dump a FASTQ-style record for the read.
+        */
+       virtual void dump(ostream& out,
+                         const String<Dna5>& seq,
+                         const String<char>& qual,
+                         const String<char>& name)
+       {
+               out << "@" << name << endl << seq << endl
+                   << "+" << endl << qual << endl;
+       }
+private:
+
+       /**
+        * Parse a name from fb_ and store in r.  Assume that the next
+        * character obtained via fb_.get() is the first character of
+        * the sequence and the string stops at the next char upto (could
+        * be tab, newline, etc.).
+        */
+       int parseName(ReadBuf& r, ReadBuf* r2, char upto = '\t') {
+               // Read the name out of the first field
+               int c = 0;
+               int nameLen = 0;
+               while(true) {
+                       if((c = fb_.get()) < 0) {
+                               return -1;
+                       }
+                       if(c == upto) {
+                               // Finished with first field
+                               break;
+                       }
+                       if(c == '\n' || c == '\r') {
+                               return -1;
+                       }
+                       if(r2 != NULL) (*r2).nameBuf[nameLen] = c;
+                       r.nameBuf[nameLen++] = c;
+               }
+               _setBegin(r.name, r.nameBuf);
+               _setLength(r.name, nameLen);
+               if(r2 != NULL) {
+                       _setBegin((*r2).name, (*r2).nameBuf);
+                       _setLength((*r2).name, nameLen);
+               }
+               // Set up a default name if one hasn't been set
+               if(nameLen == 0) {
+                       itoa10(readCnt_, r.nameBuf);
+                       _setBegin(r.name, r.nameBuf);
+                       nameLen = strlen(r.nameBuf);
+                       _setLength(r.name, nameLen);
+                       if(r2 != NULL) {
+                               itoa10(readCnt_, (*r2).nameBuf);
+                               _setBegin((*r2).name, (*r2).nameBuf);
+                               _setLength((*r2).name, nameLen);
+                       }
+               }
+               assert_gt(nameLen, 0);
+               return nameLen;
+       }
+
+       /**
+        * Parse a single sequence from fb_ and store in r.  Assume
+        * that the next character obtained via fb_.get() is the first
+        * character of the sequence and the sequence stops at the next
+        * char upto (could be tab, newline, etc.).
+        */
+       int parseSeq(ReadBuf& r, int& charsRead, int& trim5, char upto = '\t') {
+               int begin = 0;
+               int dstLen = 0;
+               int c = fb_.get();
+               assert(c != upto);
+               r.color = color_;
+               if(color_) {
+                       // This may be a primer character.  If so, keep it in the
+                       // 'primer' field of the read buf and parse the rest of the
+                       // read without it.
+                       c = toupper(c);
+                       if(asc2dnacat[c] > 0) {
+                               // First char is a DNA char
+                               int c2 = toupper(fb_.peek());
+                               // Second char is a color char
+                               if(asc2colcat[c2] > 0) {
+                                       r.primer = c;
+                                       r.trimc = c2;
+                                       trim5 += 2; // trim primer and first color
+                               }
+                       }
+                       if(c < 0) { return -1; }
+               }
+               while(c != upto) {
+                       if(color_) {
+                               if(c >= '0' && c <= '4') c = "ACGTN"[(int)c - '0'];
+                       }
+                       if(c == '.') c = 'N';
+                       if(isalpha(c)) {
+                               assert_in(toupper(c), "ACGTN");
+                               if(begin++ >= trim5) {
+                                       assert_neq(0, dna4Cat[c]);
+                                       if(dstLen + 1 > 1024) {
+                                               cerr << "Input file contained a pattern more than 1024 characters long.  Please truncate" << endl
+                                                        << "reads and re-run Bowtie" << endl;
+                                               throw 1;
+                                       }
+                                       r.patBufFw[dstLen] = charToDna5[c];
+                                       dstLen++;
+                               }
+                               charsRead++;
+                       }
+                       if((c = fb_.get()) < 0) {
+                               return -1;
+                       }
+               }
+               dstLen -= this->trim3_;
+               _setBegin (r.patFw,  (Dna5*)r.patBufFw);
+               _setLength(r.patFw,  dstLen);
+               return dstLen;
+       }
+
+       /**
+        * Parse a single quality string from fb_ and store in r.
+        * Assume that the next character obtained via fb_.get() is
+        * the first character of the quality string and the string stops
+        * at the next char upto (could be tab, newline, etc.).
+        */
+       int parseQuals(ReadBuf& r, int charsRead, int dstLen, int trim5,
+                      char& c2, char upto = '\t', char upto2 = -1)
+       {
+               int qualsRead = 0;
+               int c = 0;
+               if (intQuals_) {
+                       char buf[4096];
+                       while (qualsRead < charsRead) {
+                               vector<string> s_quals;
+                               if(!tokenizeQualLine(fb_, buf, 4096, s_quals)) break;
+                               for (unsigned int j = 0; j < s_quals.size(); ++j) {
+                                       char c = intToPhred33(atoi(s_quals[j].c_str()), solQuals_);
+                                       assert_geq(c, 33);
+                                       if (qualsRead >= trim5) {
+                                               size_t off = qualsRead - trim5;
+                                               if(off >= 1024) tooManyQualities(r.name);
+                                               r.qualBuf[off] = c;
+                                       }
+                                       ++qualsRead;
+                               }
+                       } // done reading integer quality lines
+                       if (charsRead > qualsRead) tooFewQualities(r.name);
+               } else {
+                       // Non-integer qualities
+                       while((qualsRead < dstLen + trim5) && c >= 0) {
+                               c = fb_.get();
+                               c2 = c;
+                               if (c == ' ') wrongQualityFormat(r.name);
+                               if(c < 0) {
+                                       // EOF occurred in the middle of a read - abort
+                                       return -1;
+                               }
+                               if(!isspace(c) && c != upto && (upto2 == -1 || c != upto2)) {
+                                       if (qualsRead >= trim5) {
+                                               size_t off = qualsRead - trim5;
+                                               if(off >= 1024) tooManyQualities(r.name);
+                                               c = charToPhred33(c, solQuals_, phred64Quals_);
+                                               assert_geq(c, 33);
+                                               r.qualBuf[off] = c;
+                                       }
+                                       qualsRead++;
+                               } else {
+                                       break;
+                               }
+                       }
+                       if(qualsRead != dstLen + trim5) {
+                               assert(false);
+                       }
+               }
+               _setBegin (r.qual, (char*)r.qualBuf);
+               _setLength(r.qual, dstLen);
+               while(c != upto && (upto2 == -1 || c != upto2)) {
+                       c = fb_.get();
+                       c2 = c;
+               }
+               return qualsRead;
+       }
+
+       bool color_;
+       bool solQuals_;
+       bool phred64Quals_;
+       bool intQuals_;
+};
+
+/**
+ * Synchronized concrete pattern source for a list of FASTA files where
+ * reads need to be extracted from long continuous sequences.
+ */
+class FastaContinuousPatternSource : public BufferedFilePatternSource {
+public:
+       FastaContinuousPatternSource(
+                       uint32_t seed,
+                       const vector<string>& infiles,
+                       size_t length,
+                       size_t freq,
+                       bool useSpinlock = true,
+                       const char *dumpfile = NULL,
+                       bool verbose = false,
+                       uint32_t skip = 0) :
+               BufferedFilePatternSource(seed, infiles, NULL, false, useSpinlock,
+                                         dumpfile, verbose, 0, 0, skip),
+               length_(length), freq_(freq),
+               eat_(length_-1), beginning_(true),
+               nameChars_(0), bufCur_(0), subReadCnt_(0llu)
+       {
+               resetForNextFile();
+               assert_lt(length_, (size_t)ReadBuf::BUF_SIZE);
+       }
+
+       virtual void reset() {
+               BufferedFilePatternSource::reset();
+               resetForNextFile();
+       }
+
+protected:
+       /// Read another pattern from a FASTA input file
+       virtual void read(ReadBuf& r, uint32_t& patid) {
+               while(true) {
+                       int c = fb_.get();
+                       if(c < 0) {
+                               seqan::clear(r.patFw);
+                               return;
+                       }
+                       if(c == '>') {
+                               resetForNextFile();
+                               c = fb_.peek();
+                               bool sawSpace = false;
+                               while(c != '\n' && c != '\r') {
+                                       if(!sawSpace) {
+                                               sawSpace = isspace(c);
+                                       }
+                                       if(!sawSpace) {
+                                               nameBuf_[nameChars_++] = c;
+                                       }
+                                       fb_.get();
+                                       c = fb_.peek();
+                               }
+                               while(c == '\n' || c == '\r') {
+                                       fb_.get();
+                                       c = fb_.peek();
+                               }
+                               nameBuf_[nameChars_++] = '_';
+                       } else {
+                               int cat = dna4Cat[c];
+                               if(cat == 2) c = 'N';
+                               if(cat == 0) {
+                                       // Encountered non-DNA, non-IUPAC char; skip it
+                                       continue;
+                               } else {
+                                       // DNA char
+                                       buf_[bufCur_++] = c;
+                                       if(bufCur_ == 1024) bufCur_ = 0;
+                                       if(eat_ > 0) {
+                                               eat_--;
+                                               // Try to keep readCnt_ aligned with the offset
+                                               // into the reference; that let's us see where
+                                               // the sampling gaps are by looking at the read
+                                               // name
+                                               if(!beginning_) readCnt_++;
+                                               continue;
+                                       }
+                                       for(size_t i = 0; i < length_; i++) {
+                                               if(length_ - i <= bufCur_) {
+                                                       c = buf_[bufCur_ - (length_ - i)];
+                                               } else {
+                                                       // Rotate
+                                                       c = buf_[bufCur_ - (length_ - i) + 1024];
+                                               }
+                                               r.patBufFw [i] = charToDna5[c];
+                                               r.qualBuf[i] = 'I';
+                                       }
+                                       _setBegin (r.patFw,  (Dna5*)r.patBufFw);
+                                       _setLength(r.patFw,  length_);
+                                       _setBegin (r.qual, r.qualBuf);
+                                       _setLength(r.qual, length_);
+                                       // Set up a default name if one hasn't been set
+                                       for(size_t i = 0; i < nameChars_; i++) {
+                                               r.nameBuf[i] = nameBuf_[i];
+                                       }
+                                       itoa10(readCnt_ - subReadCnt_, &r.nameBuf[nameChars_]);
+                                       _setBegin(r.name, r.nameBuf);
+                                       _setLength(r.name, strlen(r.nameBuf));
+                                       eat_ = freq_-1;
+                                       readCnt_++;
+                                       beginning_ = false;
+                                       patid = readCnt_-1;
+                                       break;
+                               }
+                       }
+               }
+       }
+       /// Shouldn't ever be here; it's not sensible to obtain read pairs
+       // from a continuous input.
+       virtual void readPair(ReadBuf& ra, ReadBuf& rb, uint32_t& patid) {
+               cerr << "In FastaContinuousPatternSource.readPair()" << endl;
+               throw 1;
+       }
+
+       /**
+        * Reset state to be read for the next file.
+        */
+       virtual void resetForNextFile() {
+               eat_ = length_-1;
+               beginning_ = true;
+               bufCur_ = nameChars_ = 0;
+               subReadCnt_ = readCnt_;
+       }
+
+private:
+       size_t length_;     /// length of reads to generate
+       size_t freq_;       /// frequency to sample reads
+       size_t eat_;        /// number of characters we need to skip before
+                           /// we have flushed all of the ambiguous or
+                           /// non-existent characters out of our read
+                           /// window
+       bool beginning_;    /// skipping over the first read length?
+       char buf_[1024];    /// read buffer
+       char nameBuf_[1024];/// read buffer for name of fasta record being
+                           /// split into mers
+       size_t nameChars_;  /// number of name characters copied into buf
+       size_t bufCur_;     /// buffer cursor; points to where we should
+                           /// insert the next character
+       uint64_t subReadCnt_;/// number to subtract from readCnt_ to get
+                           /// the pat id to output (so it resets to 0 for
+                           /// each new sequence)
+};
+
+/**
+ * Read a FASTQ-format file.
+ * See: http://maq.sourceforge.net/fastq.shtml
+ */
+class FastqPatternSource : public BufferedFilePatternSource {
+public:
+       FastqPatternSource(uint32_t seed,
+                          const vector<string>& infiles,
+                          bool color,
+                          bool randomizeQuals = false,
+                          bool useSpinlock = true,
+                          const char *dumpfile = NULL,
+                          bool verbose = false,
+                          int trim3 = 0,
+                          int trim5 = 0,
+                          bool solexa_quals = false,
+                          bool phred64Quals = false,
+                          bool integer_quals = false,
+                          bool fuzzy = false,
+                          uint32_t skip = 0) :
+               BufferedFilePatternSource(seed, infiles, NULL, randomizeQuals,
+                                         useSpinlock, dumpfile, verbose,
+                                         trim3, trim5, skip),
+               first_(true),
+               solQuals_(solexa_quals),
+               phred64Quals_(phred64Quals),
+               intQuals_(integer_quals),
+               fuzzy_(fuzzy),
+               color_(color)
+       { }
+       virtual void reset() {
+               first_ = true;
+               fb_.resetLastN();
+               BufferedFilePatternSource::reset();
+       }
+protected:
+       /**
+        * Scan to the next FASTQ record (starting with @) and return the first
+        * character of the record (which will always be @).  Since the quality
+        * line may start with @, we keep scanning until we've seen a line
+        * beginning with @ where the line two lines back began with +.
+        */
+       static int skipToNextFastqRecord(FileBuf& in, bool sawPlus) {
+               int line = 0;
+               int plusLine = -1;
+               int c = in.get();
+               int firstc = c;
+               while(true) {
+                       if(line > 20) {
+                               // If we couldn't find our desired '@' in the first 20
+                               // lines, it's time to give up
+                               if(firstc == '>') {
+                                       // That firstc is '>' may be a hint that this is
+                                       // actually a FASTA file, so return it intact
+                                       return '>';
+                               }
+                               // Return an error
+                               return -1;
+                       }
+                       if(c == -1) return -1;
+                       if(c == '\n') {
+                               c = in.get();
+                               if(c == '@' && sawPlus && plusLine == (line-2)) {
+                                       return '@';
+                               }
+                               else if(c == '+') {
+                                       // Saw a '+' at the beginning of a line; remember where
+                                       // we saw it
+                                       sawPlus = true;
+                                       plusLine = line;
+                               }
+                               else if(c == -1) {
+                                       return -1;
+                               }
+                               line++;
+                       }
+                       c = in.get();
+               }
+       }
+
+       /// Read another pattern from a FASTQ input file
+       virtual void read(ReadBuf& r, uint32_t& patid) {
+               const int bufSz = ReadBuf::BUF_SIZE;
+               while(true) {
+                       int c;
+                       int dstLen = 0;
+                       int nameLen = 0;
+                       r.fuzzy = fuzzy_;
+                       r.color = color_;
+                       r.primer = -1;
+                       r.alts = 0;
+                       // Pick off the first at
+                       if(first_) {
+                               c = fb_.get();
+                               if(c != '@') {
+                                       c = getOverNewline(fb_);
+                                       if(c < 0) { bail(r); return; }
+                               }
+                               if(c != '@') {
+                                       cerr << "Error: reads file does not look like a FASTQ file" << endl;
+                                       throw 1;
+                               }
+                               assert_eq('@', c);
+                               first_ = false;
+                       }
+
+                       // Read to the end of the id line, sticking everything after the '@'
+                       // into *name
+                       while(true) {
+                               c = fb_.get();
+                               if(c < 0) { bail(r); return; }
+                               if(c == '\n' || c == '\r') {
+                                       // Break at end of line, after consuming all \r's, \n's
+                                       while(c == '\n' || c == '\r') {
+                                               c = fb_.get();
+                                               if(c < 0) { bail(r); return; }
+                                       }
+                                       break;
+                               }
+                               r.nameBuf[nameLen++] = c;
+                               if(nameLen > bufSz-2) {
+                                       // Too many chars in read name; print friendly error message
+                                       _setBegin(r.name, r.nameBuf);
+                                       _setLength(r.name, nameLen);
+                                       cerr << "FASTQ read name is too long; read names must be " << (bufSz-2) << " characters or fewer." << endl;
+                                       cerr << "Beginning of bad read name: " << r.name << endl;
+                                       throw 1;
+                               }
+                       }
+                       _setBegin(r.name, r.nameBuf);
+                       assert_leq(nameLen, bufSz-2);
+                       _setLength(r.name, nameLen);
+                       // c now holds the first character on the line after the
+                       // @name line
+
+                       // fb_ now points just past the first character of a
+                       // sequence line, and c holds the first character
+                       int charsRead = 0;
+                       uint8_t *sbuf = r.patBufFw;
+                       int dstLens[] = {0, 0, 0, 0};
+                       int *dstLenCur = &dstLens[0];
+                       int mytrim5 = this->trim5_;
+                       int altBufIdx = 0;
+                       if(color_) {
+                               // This may be a primer character.  If so, keep it in the
+                               // 'primer' field of the read buf and parse the rest of the
+                               // read without it.
+                               c = toupper(c);
+                               if(asc2dnacat[c] > 0) {
+                                       // First char is a DNA char
+                                       int c2 = toupper(fb_.peek());
+                                       // Second char is a color char
+                                       if(asc2colcat[c2] > 0) {
+                                               r.primer = c;
+                                               r.trimc = c2;
+                                               mytrim5 += 2; // trim primer and first color
+                                       }
+                               }
+                               if(c < 0) { bail(r); return; }
+                       }
+                       int trim5 = mytrim5;
+                       if(c == '+') {
+                               // Read had length 0; print warning (if not quiet) and quit
+                               if(!quiet) {
+                                       cerr << "Warning: Skipping read (" << r.name << ") because it had length 0" << endl;
+                               }
+                               peekToEndOfLine(fb_);
+                               fb_.get();
+                               continue;
+                       }
+                       while(c != '+') {
+                               // Convert color numbers to letters if necessary
+                               if(color_) {
+                                       if(c >= '0' && c <= '4') c = "ACGTN"[(int)c - '0'];
+                               }
+                               if(c == '.') c = 'N';
+                               if(fuzzy_ && c == '-') c = 'A';
+                               if(isalpha(c)) {
+                                       // If it's past the 5'-end trim point
+                                       assert_in(toupper(c), "ACGTN");
+                                       if(charsRead >= trim5) {
+                                               if((*dstLenCur) >= 1024) tooManySeqChars(r.name);
+                                               sbuf[(*dstLenCur)++] = charToDna5[c];
+                                       }
+                                       charsRead++;
+                               } else if(fuzzy_ && c == ' ') {
+                                       trim5 = 0; // disable 5' trimming for now
+                                       if(charsRead == 0) {
+                                               c = fb_.get();
+                                               continue;
+                                       }
+                                       charsRead = 0;
+                                       if(altBufIdx >= 3) {
+                                               cerr << "At most 3 alternate sequence strings permitted; offending read: " << r.name << endl;
+                                               throw 1;
+                                       }
+                                       // Move on to the next alternate-sequence buffer
+                                       sbuf = r.altPatBufFw[altBufIdx++];
+                                       dstLenCur = &dstLens[altBufIdx];
+                               }
+                               c = fb_.get();
+                               if(c < 0) { bail(r); return; }
+                       }
+                       // Trim from 3' end
+                       dstLen = dstLens[0];
+                       charsRead = dstLen + mytrim5;
+                       dstLen -= this->trim3_;
+                       // Set trimmed bounds of buffers
+                       _setBegin(r.patFw, (Dna5*)r.patBufFw);
+                       _setLength(r.patFw, dstLen);
+                       assert_eq('+', c);
+
+                       // Chew up the optional name on the '+' line
+                       peekToEndOfLine(fb_);
+
+                       // Now read the qualities
+                       if (intQuals_) {
+                               assert(!fuzzy_);
+                               int qualsRead = 0;
+                               char buf[4096];
+                               if(color_ && r.primer != -1) mytrim5--;
+                               while (qualsRead < charsRead) {
+                                       vector<string> s_quals;
+                                       if(!tokenizeQualLine(fb_, buf, 4096, s_quals)) break;
+                                       for (unsigned int j = 0; j < s_quals.size(); ++j) {
+                                               char c = intToPhred33(atoi(s_quals[j].c_str()), solQuals_);
+                                               assert_geq(c, 33);
+                                               if (qualsRead >= mytrim5) {
+                                                       size_t off = qualsRead - mytrim5;
+                                                       if(off >= 1024) tooManyQualities(r.name);
+                                                       r.qualBuf[off] = c;
+                                               }
+                                               ++qualsRead;
+                                       }
+                               } // done reading integer quality lines
+                               if(color_ && r.primer != -1) mytrim5++;
+                               if(qualsRead < charsRead-mytrim5) {
+                                       tooFewQualities(r.name);
+                               } else if(qualsRead > charsRead-mytrim5+1) {
+                                       tooManyQualities(r.name);
+                               }
+                               if(qualsRead == charsRead-mytrim5+1 && color_ && r.primer != -1) {
+                                       for(int i = 0; i < qualsRead-1; i++) {
+                                               r.qualBuf[i] = r.qualBuf[i+1];
+                                       }
+                               }
+                               _setBegin(r.qual, (char*)r.qualBuf);
+                               _setLength(r.qual, dstLen);
+                               peekOverNewline(fb_);
+                       } else {
+                               // Non-integer qualities
+                               char *qbuf = r.qualBuf;
+                               altBufIdx = 0;
+                               trim5 = mytrim5;
+                               if(color_ && r.primer != -1) trim5--;
+                               int itrim5 = trim5;
+                               int qualsRead[4] = {0, 0, 0, 0};
+                               int *qualsReadCur = &qualsRead[0];
+                               while(true) {
+                                       c = fb_.get();
+                                       if (!fuzzy_ && c == ' ') {
+                                               wrongQualityFormat(r.name);
+                                       } else if(c == ' ') {
+                                               trim5 = 0; // disable 5' trimming for now
+                                               if((*qualsReadCur) == 0) continue;
+                                               if(altBufIdx >= 3) {
+                                                       cerr << "At most 3 alternate quality strings permitted; offending read: " << r.name << endl;
+                                                       throw 1;
+                                               }
+                                               qbuf = r.altQualBuf[altBufIdx++];
+                                               qualsReadCur = &qualsRead[altBufIdx];
+                                               continue;
+                                       }
+                                       if(c < 0) { bail(r); return; }
+                                       if (c != '\r' && c != '\n') {
+                                               if (*qualsReadCur >= trim5) {
+                                                       size_t off = (*qualsReadCur) - trim5;
+                                                       if(off >= 1024) tooManyQualities(r.name);
+                                                       c = charToPhred33(c, solQuals_, phred64Quals_);
+                                                       assert_geq(c, 33);
+                                                       qbuf[off] = c;
+                                               }
+                                               (*qualsReadCur)++;
+                                       } else {
+                                               break;
+                                       }
+                               }
+                               qualsRead[0] -= this->trim3_;
+                               int qRead = (int)(qualsRead[0] - itrim5);
+                               if(qRead < dstLen) {
+                                       tooFewQualities(r.name);
+                               } else if(qRead > dstLen+1) {
+                                       tooManyQualities(r.name);
+                               }
+                               if(qRead == dstLen+1 && color_ && r.primer != -1) {
+                                       for(int i = 0; i < dstLen; i++) {
+                                               r.qualBuf[i] = r.qualBuf[i+1];
+                                       }
+                               }
+                               _setBegin (r.qual, (char*)r.qualBuf);
+                               _setLength(r.qual, dstLen);
+
+                               if(fuzzy_) {
+                                       // Trim from 3' end of alternate basecall and quality strings
+                                       if(this->trim3_ > 0) {
+                                               for(int i = 1; i < 4; i++) {
+                                                       assert_eq(qualsRead[i], dstLens[i]);
+                                                       qualsRead[i] = dstLens[i] =
+                                                               max<int>(0, dstLens[i] - this->trim3_);
+                                               }
+                                       }
+                                       // Shift to RHS, and install in Strings
+                                       assert_eq(0, r.alts);
+                                       for(int i = 1; i < 4; i++) {
+                                               if(qualsRead[i] == 0) continue;
+                                               if(qualsRead[i] > dstLen) {
+                                                       // Shift everybody up
+                                                       int shiftAmt = qualsRead[i] - dstLen;
+                                                       for(int j = 0; j < dstLen; j++) {
+                                                               r.altQualBuf[i-1][j]  = r.altQualBuf[i-1][j+shiftAmt];
+                                                               r.altPatBufFw[i-1][j] = r.altPatBufFw[i-1][j+shiftAmt];
+                                                       }
+                                               } else if (qualsRead[i] < dstLen) {
+                                                       // Shift everybody down
+                                                       int shiftAmt = dstLen - qualsRead[i];
+                                                       for(int j = dstLen-1; j >= shiftAmt; j--) {
+                                                               r.altQualBuf[i-1][j]  = r.altQualBuf[i-1][j-shiftAmt];
+                                                               r.altPatBufFw[i-1][j] = r.altPatBufFw[i-1][j-shiftAmt];
+                                                       }
+                                                       // Fill in unset positions
+                                                       for(int j = 0; j < shiftAmt; j++) {
+                                                               // '!' - indicates no alternate basecall at
+                                                               // this position
+                                                               r.altQualBuf[i-1][j] = (char)33;
+                                                       }
+                                               }
+                                               _setBegin (r.altPatFw[i-1], (Dna5*)r.altPatBufFw[i-1]);
+                                               _setLength(r.altPatFw[i-1], dstLen);
+                                               _setBegin (r.altQual[i-1], (char*)r.altQualBuf[i-1]);
+                                               _setLength(r.altQual[i-1], dstLen);
+                                               r.alts++;
+                                       }
+                               }
+
+                               if(c == '\r' || c == '\n') {
+                                       c = peekOverNewline(fb_);
+                               } else {
+                                       c = peekToEndOfLine(fb_);
+                               }
+                       }
+                       r.readOrigBufLen = fb_.copyLastN(r.readOrigBuf);
+                       fb_.resetLastN();
+
+                       c = fb_.get();
+                       assert(c == -1 || c == '@');
+
+                       // Set up a default name if one hasn't been set
+                       if(nameLen == 0) {
+                               itoa10(readCnt_, r.nameBuf);
+                               _setBegin(r.name, r.nameBuf);
+                               nameLen = strlen(r.nameBuf);
+                               _setLength(r.name, nameLen);
+                       }
+                       r.trimmed3 = this->trim3_;
+                       r.trimmed5 = mytrim5;
+                       assert_gt(nameLen, 0);
+                       readCnt_++;
+                       patid = readCnt_-1;
+                       return;
+               }
+       }
+       /// Read another read pair from a FASTQ input file
+       virtual void readPair(ReadBuf& ra, ReadBuf& rb, uint32_t& patid) {
+               // (For now, we shouldn't ever be here)
+               cerr << "In FastqPatternSource.readPair()" << endl;
+               throw 1;
+               read(ra, patid);
+               readCnt_--;
+               read(rb, patid);
+       }
+       virtual void resetForNextFile() {
+               first_ = true;
+       }
+       virtual void dump(ostream& out,
+                         const String<Dna5>& seq,
+                         const String<char>& qual,
+                         const String<char>& name)
+       {
+               out << "@" << name << endl << seq << endl << "+" << endl << qual << endl;
+       }
+private:
+
+       /**
+        * Do things we need to do if we have to bail in the middle of a
+        * read, usually because we reached the end of the input without
+        * finishing.
+        */
+       void bail(ReadBuf& r) {
+               seqan::clear(r.patFw);
+               fb_.resetLastN();
+       }
+
+       bool first_;
+       bool solQuals_;
+       bool phred64Quals_;
+       bool intQuals_;
+       bool fuzzy_;
+       bool color_;
+};
+
+/**
+ * Read a Raw-format file (one sequence per line).  No quality strings
+ * allowed.  All qualities are assumed to be 'I' (40 on the Phred-33
+ * scale).
+ */
+class RawPatternSource : public BufferedFilePatternSource {
+public:
+       RawPatternSource(uint32_t seed,
+                        const vector<string>& infiles,
+                        bool color,
+                        bool randomizeQuals = false,
+                        bool useSpinlock = true,
+                        const char *dumpfile = NULL,
+                        bool verbose = false,
+                        int trim3 = 0,
+                        int trim5 = 0,
+                        uint32_t skip = 0) :
+               BufferedFilePatternSource(seed, infiles, NULL, randomizeQuals, useSpinlock,
+                                         dumpfile, verbose, trim3, trim5, skip),
+               first_(true), color_(color)
+       { }
+       virtual void reset() {
+               first_ = true;
+               BufferedFilePatternSource::reset();
+       }
+protected:
+       /// Read another pattern from a Raw input file
+       virtual void read(ReadBuf& r, uint32_t& patid) {
+               int c;
+               int dstLen = 0;
+               int nameLen = 0;
+               c = getOverNewline(this->fb_);
+               if(c < 0) { bail(r); return; }
+               assert(!isspace(c));
+               r.color = color_;
+               int mytrim5 = this->trim5_;
+               if(first_) {
+                       // Check that the first character is sane for a raw file
+                       int cc = c;
+                       if(color_) {
+                               if(cc >= '0' && cc <= '4') cc = "ACGTN"[(int)cc - '0'];
+                               if(cc == '.') cc = 'N';
+                       }
+                       if(dna4Cat[cc] == 0) {
+                               cerr << "Error: reads file does not look like a Raw file" << endl;
+                               if(c == '>') {
+                                       cerr << "Reads file looks like a FASTA file; please use -f" << endl;
+                               }
+                               if(c == '@') {
+                                       cerr << "Reads file looks like a FASTQ file; please use -q" << endl;
+                               }
+                               throw 1;
+                       }
+                       first_ = false;
+               }
+               if(color_) {
+                       // This may be a primer character.  If so, keep it in the
+                       // 'primer' field of the read buf and parse the rest of the
+                       // read without it.
+                       c = toupper(c);
+                       if(asc2dnacat[c] > 0) {
+                               // First char is a DNA char
+                               int c2 = toupper(fb_.peek());
+                               // Second char is a color char
+                               if(asc2colcat[c2] > 0) {
+                                       r.primer = c;
+                                       r.trimc = c2;
+                                       mytrim5 += 2; // trim primer and first color
+                               }
+                       }
+                       if(c < 0) { bail(r); return; }
+               }
+               // _in now points just past the first character of a sequence
+               // line, and c holds the first character
+               while(!isspace(c) && c >= 0) {
+                       if(color_) {
+                               if(c >= '0' && c <= '4') c = "ACGTN"[(int)c - '0'];
+                       }
+                       if(c == '.') c = 'N';
+                       if(isalpha(c) && dstLen >= mytrim5) {
+                               size_t len = dstLen - mytrim5;
+                               if(len >= 1024) tooManyQualities(String<char>("(no name)"));
+                               r.patBufFw [len] = charToDna5[c];
+                               r.qualBuf[len] = 'I';
+                               dstLen++;
+                       } else if(isalpha(c)) dstLen++;
+                       if(isspace(fb_.peek())) break;
+                       c = fb_.get();
+               }
+               if(dstLen >= (this->trim3_ + mytrim5)) {
+                       dstLen -= (this->trim3_ + mytrim5);
+               } else {
+                       dstLen = 0;
+               }
+               _setBegin (r.patFw,  (Dna5*)r.patBufFw);
+               _setLength(r.patFw,  dstLen);
+               _setBegin (r.qual, r.qualBuf);
+               _setLength(r.qual, dstLen);
+
+               c = peekToEndOfLine(fb_);
+               r.trimmed3 = this->trim3_;
+               r.trimmed5 = mytrim5;
+               r.readOrigBufLen = fb_.copyLastN(r.readOrigBuf);
+               fb_.resetLastN();
+
+               // Set up name
+               itoa10(readCnt_, r.nameBuf);
+               _setBegin(r.name, r.nameBuf);
+               nameLen = strlen(r.nameBuf);
+               _setLength(r.name, nameLen);
+               readCnt_++;
+
+               patid = readCnt_-1;
+       }
+       /// Read another read pair from a FASTQ input file
+       virtual void readPair(ReadBuf& ra, ReadBuf& rb, uint32_t& patid) {
+               // (For now, we shouldn't ever be here)
+               cerr << "In RawPatternSource.readPair()" << endl;
+               throw 1;
+               read(ra, patid);
+               readCnt_--;
+               read(rb, patid);
+       }
+       virtual void resetForNextFile() {
+               first_ = true;
+       }
+       virtual void dump(ostream& out,
+                         const String<Dna5>& seq,
+                         const String<char>& qual,
+                         const String<char>& name)
+       {
+               out << seq << endl;
+       }
+private:
+       /**
+        * Do things we need to do if we have to bail in the middle of a
+        * read, usually because we reached the end of the input without
+        * finishing.
+        */
+       void bail(ReadBuf& r) {
+               seqan::clear(r.patFw);
+               fb_.resetLastN();
+       }
+       bool first_;
+       bool color_;
+};
+
+/**
+ * Read a Raw-format file (one sequence per line).  No quality strings
+ * allowed.  All qualities are assumed to be 'I' (40 on the Phred-33
+ * scale).
+ */
+class ChainPatternSource : public BufferedFilePatternSource {
+public:
+       ChainPatternSource(uint32_t seed,
+                          const vector<string>& infiles,
+                          bool useSpinlock,
+                          const char *dumpfile,
+                          bool verbose,
+                          uint32_t skip) :
+       BufferedFilePatternSource(
+               seed, infiles, NULL, false, useSpinlock, dumpfile, verbose, 0, 0, skip) { }
+
+protected:
+
+       /// Read another pattern from a Raw input file
+       virtual void read(ReadBuf& r, uint32_t& patid) {
+               fb_.peek();
+               if(fb_.eof()) {
+                       fb_.resetLastN();
+                       seqan::clear(r.patFw);
+                       return;
+               }
+               do {
+                       r.hitset.deserialize(fb_);
+               } while(!r.hitset.initialized() && !fb_.eof());
+               if(!r.hitset.initialized()) {
+                       fb_.resetLastN();
+                       seqan::clear(r.patFw);
+                       return;
+               }
+               // Now copy the name/sequence/quals into r.name/r.patFw/r.qualFw
+               _setBegin(r.name, (char*)r.nameBuf);
+               _setCapacity(r.name, seqan::length(r.hitset.name));
+               _setLength(r.name, seqan::length(r.hitset.name));
+               memcpy(r.nameBuf, seqan::begin(r.hitset.name), seqan::length(r.hitset.name));
+               _setBegin (r.patFw, (Dna5*)r.patBufFw);
+               _setCapacity(r.patFw, seqan::length(r.hitset.seq));
+               _setLength(r.patFw, seqan::length(r.hitset.seq));
+               memcpy(r.patBufFw, seqan::begin(r.hitset.seq), seqan::length(r.hitset.seq));
+               _setBegin (r.qual, r.qualBuf);
+               _setCapacity(r.qual, seqan::length(r.hitset.qual));
+               _setLength(r.qual, seqan::length(r.hitset.qual));
+               memcpy(r.qualBuf, seqan::begin(r.hitset.qual), seqan::length(r.hitset.qual));
+
+               r.readOrigBufLen = fb_.copyLastN(r.readOrigBuf);
+               fb_.resetLastN();
+
+               readCnt_++;
+               patid = readCnt_-1;
+       }
+
+       /// Read another read pair
+       virtual void readPair(ReadBuf& ra, ReadBuf& rb, uint32_t& patid) {
+               // (For now, we shouldn't ever be here)
+               cerr << "In ChainPatternSource.readPair()" << endl;
+               throw 1;
+       }
+};
+
+#endif /*PAT_H_*/
diff --git a/pool.h b/pool.h
new file mode 100644 (file)
index 0000000..6c39b7f
--- /dev/null
+++ b/pool.h
@@ -0,0 +1,401 @@
+/*
+ * pool.h
+ */
+
+#ifndef POOL_H_
+#define POOL_H_
+
+#include <iostream>
+#include <vector>
+#include <stdexcept>
+#include <string.h>
+#include <stdlib.h>
+#include "bitset.h"
+#include "log.h"
+#include "search_globals.h"
+
+/**
+ * Very simple allocator for fixed-size chunks of memory.  Chunk size
+ * is set at construction time.  Heap memory is only allocated at
+ * construction and deallocated at destruction.
+ */
+class ChunkPool {
+public:
+       /**
+        * Initialize a new pool with an initial size of about 'bytes'
+        * bytes.  Exit with an error message if we can't allocate it.
+        */
+       ChunkPool(uint32_t chunkSz, uint32_t totSz, bool verbose_) :
+               verbose(verbose_), patid(0), pool_(NULL), cur_(0),
+               chunkSz_(chunkSz), totSz_(totSz), lim_(totSz/chunkSz),
+               bits_(lim_), exhaustCrash_(false),
+               lastSkippedRead_(0xffffffff), readName_(NULL)
+       {
+               assert_gt(lim_, 0);
+               try {
+                       if((pool_ = new int8_t[totSz_]) == NULL) {
+                               throw std::bad_alloc();
+                       }
+               } catch(std::bad_alloc& e) {
+                       ThreadSafe _ts(&gLock);
+                       std::cerr << "Error: Could not allocate ChunkPool of "
+                                 << totSz << " bytes" << std::endl;
+                       exhausted();
+                       throw 1; // Exit if we haven't already
+               }
+       }
+
+       /**
+        * Delete all the pools.
+        */
+       ~ChunkPool() {
+               if(pool_ != NULL) delete[] pool_;
+       }
+
+       /**
+        * Reset the pool, freeing all arrays that had been given out.
+        */
+       void reset(String<char>* name, uint32_t patid_) {
+               patid = patid_;
+               readName_ = name;
+               cur_ = 0;
+               bits_.clear();
+               assert_eq(0, bits_.test(0));
+       }
+
+       /**
+        * Return our current position.
+        */
+       uint32_t pos() {
+               return cur_;
+       }
+
+       /**
+        * Return our current position.
+        */
+       uint32_t remaining() {
+               assert_geq(lim_, cur_);
+               return lim_ - cur_;
+       }
+
+       /**
+        * Allocate a single T from the pool.
+        */
+       void* alloc() {
+               assert_lt(cur_, lim_);
+               uint32_t cur = cur_;
+               while(bits_.test(cur)) {
+                       cur++;
+                       if(cur >= lim_) {
+                               cur = 0;
+                       }
+                       if(cur == cur_) {
+                               // Wrapped all the way around without finding a free
+                               // chunk
+                               return NULL;
+                       }
+               }
+               void * ptr = (void *)(&pool_[cur * chunkSz_]);
+               assert(!bits_.test(cur));
+               bits_.set(cur);
+               assert(bits_.test(cur));
+               if(verbose) {
+                       stringstream ss;
+                       ss << patid << ": Allocating chunk with offset: " << cur;
+                       glog.msg(ss.str());
+               }
+               cur_ = cur;
+               return ptr;
+       }
+
+       /**
+        *
+        */
+       void free(void *ptr) {
+               uint32_t off = (uint32_t)((int8_t*)ptr - pool_);
+               assert_eq(0, off % chunkSz_);
+               off /= chunkSz_;
+               if(verbose) {
+                       stringstream ss;
+                       ss << patid << ": Freeing chunk with offset: " << cur_;
+                       glog.msg(ss.str());
+               }
+               bits_.clear(off);
+       }
+
+       /**
+        *
+        */
+       uint32_t chunkSize() const {
+               return chunkSz_;
+       }
+
+       /**
+        *
+        */
+       uint32_t totalSize() const {
+               return totSz_;
+       }
+
+       /**
+        * Utility function to call when memory has been exhausted.
+        * Currently just prints a friendly message and quits.
+        */
+       void exhausted() {
+               if(patid != lastSkippedRead_) {
+                       if(!exhaustCrash_ && !quiet) std::cerr << "Warning: ";
+                       if(!quiet) {
+                               std::cerr << "Exhausted best-first chunk memory for read "
+                                         << (*readName_) << " (patid " << patid
+                                         << "); skipping read" << std::endl;
+                       }
+                       if(exhaustCrash_) {
+                               if(!quiet) {
+                                       std::cerr << "Please try specifying a larger --chunkmbs <int> (default is 32)" << std::endl;
+                               }
+                               throw 1;
+                       }
+               }
+               lastSkippedRead_ = patid;
+       }
+
+       bool verbose;
+       uint32_t patid;
+
+protected:
+
+       int8_t*  pool_; /// the memory pools
+       uint32_t cur_;  /// index of next free element of pool_
+       const uint32_t chunkSz_;
+       const uint32_t totSz_;
+       uint32_t lim_;  /// # elements held in pool_
+       FixedBitset2 bits_;
+       bool exhaustCrash_; /// abort hard when memory's exhausted?
+       uint32_t lastSkippedRead_;
+       String<char>* readName_;
+};
+
+/**
+ * Class for managing a pool of memory from which items of type T
+ * (which must have a default constructor) are allocated.  Does not
+ * support freeing or resizing individual items - just allocation and
+ * then freeing all items at once.
+ */
+template<typename T>
+class AllocOnlyPool {
+       typedef std::pair<uint32_t, uint32_t> U32Pair;
+public:
+       /**
+        * Initialize a new pool with an initial size of about 'bytes'
+        * bytes.  Exit with an error message if we can't allocate it.
+        */
+       AllocOnlyPool(ChunkPool* pool, const char *name) :
+               pool_(pool), name_(name), curPool_(0), cur_(0)
+       {
+               assert(pool != NULL);
+               lim_ = pool->chunkSize() / sizeof(T);
+               assert_gt(lim_, 0);
+               assert_gt(lim_, 1024);
+       }
+
+       /**
+        * Reset the pool, freeing all arrays that had been given out.
+        */
+       void reset() {
+               pools_.clear();
+               lastCurInPool_.clear();
+               cur_ = 0;
+               curPool_ = 0;
+       }
+
+       /**
+        * Allocate a single T from the pool.
+        */
+       T* alloc() {
+               if(!lazyInit()) return NULL;
+               if(cur_ + 1 >= lim_) {
+                       if(!allocNextPool()) return NULL;
+               }
+               cur_ ++;
+               return &pools_[curPool_][cur_ - 1];
+       }
+
+       /**
+        * Allocate a single T from the pool and clear it.
+        */
+       T* allocC() {
+               T* t = alloc();
+               if(t != NULL) {
+                       memset(t, 0, sizeof(T));
+               }
+               return t;
+       }
+
+       /**
+        * Allocate an array of Ts from the pool.
+        */
+       T* alloc(uint32_t num) {
+               if(!lazyInit()) return NULL;
+               if(cur_ + num >= lim_) {
+                       if(!allocNextPool()) return NULL;
+                       assert_eq(0, cur_);
+               }
+               assert_leq(num, lim_);
+               cur_ += num;
+               return &pools_[curPool_][cur_ - num];
+       }
+
+       /**
+        * Allocate an array of Ts and clear them.
+        */
+       T* allocC(uint32_t num) {
+               T* t = alloc(num);
+               if(t != NULL) {
+                       memset(t, 0, sizeof(T) * num);
+               }
+               return t;
+       }
+
+       /**
+        * Return the current pool.
+        */
+       uint32_t curPool() const {
+               return curPool_;
+       }
+
+       /**
+        * Return the current position within the current pool.
+        */
+       uint32_t cur() const {
+               return cur_;
+       }
+
+       /**
+        * Free a pointer allocated from this pool.  Fow, we only know how
+        * to free the topmost element.
+        */
+       void free(T* t) {
+               assert(t != NULL);
+               if(pool_->verbose) {
+                       stringstream ss;
+                       ss << pool_->patid << ": Freeing a " << name_;
+                       glog.msg(ss.str());
+               }
+               if(cur_ > 0 && t == &pools_[curPool_][cur_-1]) {
+                       cur_--;
+                       ASSERT_ONLY(memset(&pools_[curPool_][cur_], 0, sizeof(T)));
+                       if(cur_ == 0 && curPool_ > 0) {
+                               rewindPool();
+                       }
+               }
+       }
+
+       /**
+        * Free an array of pointers allocated from this pool.  For now, we
+        * only know how to free the topmost array.
+        */
+       bool free(T* t, uint32_t num) {
+               assert(t != NULL);
+               if(pool_->verbose) {
+                       stringstream ss;
+                       ss << pool_->patid << ": Freeing " << num << " " << name_ << "s";
+                       glog.msg(ss.str());
+               }
+               if(num <= cur_ && t == &pools_[curPool_][cur_ - num]) {
+                       cur_ -= num;
+                       ASSERT_ONLY(memset(&pools_[curPool_][cur_], 0, num * sizeof(T)));
+                       if(cur_ == 0 && curPool_ > 0) {
+                               rewindPool();
+                       }
+                       return true; // deallocated
+               }
+               return false; // didn't deallocate
+       }
+
+       /**
+        * Return a unique (with respect to every other object allocated
+        * from this pool) identifier for the last object that was just
+        * allocated.
+        */
+       uint32_t lastId() const {
+               return (curPool_ << 16) | cur_;
+       }
+
+#ifndef NDEBUG
+       bool empty() const {
+               assert(pools_.empty());
+               assert_eq(0, cur_);
+               assert_eq(0, curPool_);
+               return true;
+       }
+#endif
+
+protected:
+
+       bool allocNextPool() {
+               assert_eq(curPool_+1, pools_.size());
+               T *pool;
+               try {
+                       if((pool = (T*)pool_->alloc()) == NULL) {
+                               throw std::bad_alloc();
+                       }
+               } catch(std::bad_alloc& e) {
+                       ThreadSafe _ts(&gLock);
+                       pool_->exhausted();
+                       return false;
+               }
+               ASSERT_ONLY(memset(pool, 0, lim_ * sizeof(T)));
+               pools_.push_back(pool);
+               lastCurInPool_.push_back(cur_);
+               curPool_++;
+               cur_ = 0;
+               return true;
+       }
+
+       bool lazyInit() {
+               if(cur_ == 0 && pools_.empty()) {
+                       T *pool;
+                       try {
+                               if((pool = (T*)pool_->alloc()) == NULL) {
+                                       throw std::bad_alloc();
+                               }
+                       } catch(std::bad_alloc& e) {
+                               ThreadSafe _ts(&gLock);
+                               pool_->exhausted();
+                               return false;
+                       }
+                       ASSERT_ONLY(memset(pool, 0, lim_ * sizeof(T)));
+                       pools_.push_back(pool);
+                       assert_eq(1, pools_.size());
+               }
+               assert(!pools_.empty());
+               return true;
+       }
+
+       void rewindPool() {
+               assert_eq(curPool_+1, pools_.size());
+               assert_eq(curPool_, lastCurInPool_.size());
+               if(pool_->verbose) {
+                       stringstream ss;
+                       ss << pool_->patid << ": Freeing a " << name_ << " pool";
+                       glog.msg(ss.str());
+               }
+               pool_->free(pools_.back());
+               pools_.pop_back();
+               curPool_--;
+               assert_gt(lastCurInPool_.size(), 0);
+               cur_ = lastCurInPool_.back();
+               lastCurInPool_.pop_back();
+       }
+
+       ChunkPool*      pool_;
+       const char     *name_;
+       std::vector<T*> pools_; /// the memory pools
+       uint32_t        curPool_; /// pool we're current allocating from
+       std::vector<uint32_t> lastCurInPool_;
+       uint32_t        lim_;  /// # elements held in pool_
+       uint32_t        cur_;  /// index of next free element of pool_
+};
+
+#endif /* POOL_H_ */
+
diff --git a/qual.cpp b/qual.cpp
new file mode 100644 (file)
index 0000000..283ca3f
--- /dev/null
+++ b/qual.cpp
@@ -0,0 +1,66 @@
+/// An array that transforms Phred qualities into their maq-like
+/// equivalents by dividing by ten and rounding to the nearest 10,
+/// but saturating at 3.
+unsigned char qualRounds[] = {
+       0, 0, 0, 0, 0,                          //   0 -   4
+       10, 10, 10, 10, 10, 10, 10, 10, 10, 10, //   5 -  14
+       20, 20, 20, 20, 20, 20, 20, 20, 20, 20, //  15 -  24
+       30, 30, 30, 30, 30, 30, 30, 30, 30, 30, //  25 -  34
+       30, 30, 30, 30, 30, 30, 30, 30, 30, 30, //  35 -  44
+       30, 30, 30, 30, 30, 30, 30, 30, 30, 30, //  45 -  54
+       30, 30, 30, 30, 30, 30, 30, 30, 30, 30, //  55 -  64
+       30, 30, 30, 30, 30, 30, 30, 30, 30, 30, //  65 -  74
+       30, 30, 30, 30, 30, 30, 30, 30, 30, 30, //  75 -  84
+       30, 30, 30, 30, 30, 30, 30, 30, 30, 30, //  85 -  94
+       30, 30, 30, 30, 30, 30, 30, 30, 30, 30, //  95 - 104
+       30, 30, 30, 30, 30, 30, 30, 30, 30, 30, // 105 - 114
+       30, 30, 30, 30, 30, 30, 30, 30, 30, 30, // 115 - 124
+       30, 30, 30, 30, 30, 30, 30, 30, 30, 30, // 125 - 134
+       30, 30, 30, 30, 30, 30, 30, 30, 30, 30, // 135 - 144
+       30, 30, 30, 30, 30, 30, 30, 30, 30, 30, // 145 - 154
+       30, 30, 30, 30, 30, 30, 30, 30, 30, 30, // 155 - 164
+       30, 30, 30, 30, 30, 30, 30, 30, 30, 30, // 165 - 174
+       30, 30, 30, 30, 30, 30, 30, 30, 30, 30, // 175 - 184
+       30, 30, 30, 30, 30, 30, 30, 30, 30, 30, // 185 - 194
+       30, 30, 30, 30, 30, 30, 30, 30, 30, 30, // 195 - 204
+       30, 30, 30, 30, 30, 30, 30, 30, 30, 30, // 205 - 214
+       30, 30, 30, 30, 30, 30, 30, 30, 30, 30, // 215 - 224
+       30, 30, 30, 30, 30, 30, 30, 30, 30, 30, // 225 - 234
+       30, 30, 30, 30, 30, 30, 30, 30, 30, 30, // 235 - 244
+       30, 30, 30, 30, 30, 30, 30, 30, 30, 30, // 245 - 254
+       30                                      // 255
+};
+
+/**
+ * Lookup table for converting from Solexa-scaled (log-odds) quality
+ * values to Phred-scaled quality values.
+ */
+unsigned char solToPhred[] = {
+       /* -10 */ 0, 1, 1, 1, 1, 1, 1, 2, 2, 3,
+       /* 0 */ 3, 4, 4, 5, 5, 6, 7, 8, 9, 10,
+       /* 10 */ 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
+       /* 20 */ 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
+       /* 30 */ 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
+       /* 40 */ 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+       /* 50 */ 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
+       /* 60 */ 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
+       /* 70 */ 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+       /* 80 */ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
+       /* 90 */ 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
+       /* 100 */ 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
+       /* 110 */ 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
+       /* 120 */ 120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
+       /* 130 */ 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
+       /* 140 */ 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
+       /* 150 */ 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
+       /* 160 */ 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
+       /* 170 */ 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
+       /* 180 */ 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
+       /* 190 */ 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
+       /* 200 */ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
+       /* 210 */ 210, 211, 212, 213, 214, 215, 216, 217, 218, 219,
+       /* 220 */ 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
+       /* 230 */ 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
+       /* 240 */ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
+       /* 250 */ 250, 251, 252, 253, 254, 255
+};
diff --git a/qual.h b/qual.h
new file mode 100644 (file)
index 0000000..832c70a
--- /dev/null
+++ b/qual.h
@@ -0,0 +1,201 @@
+#ifndef QUAL_H_
+#define QUAL_H_
+
+#include <stdexcept>
+
+extern unsigned char qualRounds[];
+extern unsigned char solToPhred[];
+
+/// Translate a Phred-encoded ASCII character into a Phred quality
+static inline uint8_t phredCharToPhredQual(char c) {
+       return ((uint8_t)c >= 33 ? ((uint8_t)c - 33) : 0);
+}
+
+/**
+ * Convert a Solexa-scaled quality value into a Phred-scale quality
+ * value.
+ *
+ * p = probability that base is miscalled
+ * Qphred = -10 * log10 (p)
+ * Qsolexa = -10 * log10 (p / (1 - p))
+ * See: http://en.wikipedia.org/wiki/FASTQ_format
+ *
+ */
+static inline uint8_t solexaToPhred(int sol) {
+       assert_lt(sol, 256);
+       if(sol < -10) return 0;
+       return solToPhred[sol+10];
+}
+
+class SimplePhredPenalty {
+public:
+       static uint8_t mmPenalty (uint8_t qual) {
+               return qual;
+       }
+       static uint8_t delPenalty(uint8_t qual) {
+               return qual;
+       }
+       static uint8_t insPenalty(uint8_t qual_left, uint8_t qual_right) {
+               return std::max(qual_left, qual_right);
+       }
+};
+
+class MaqPhredPenalty {
+public:
+       static uint8_t mmPenalty (uint8_t qual) {
+               return qualRounds[qual];
+       }
+       static uint8_t delPenalty(uint8_t qual) {
+               return qualRounds[qual];
+       }
+       static uint8_t insPenalty(uint8_t qual_left, uint8_t qual_right) {
+               return qualRounds[std::max(qual_left, qual_right)];
+       }
+};
+
+static inline uint8_t mmPenalty(bool maq, uint8_t qual) {
+       if(maq) {
+               return MaqPhredPenalty::mmPenalty(qual);
+       } else {
+               return SimplePhredPenalty::mmPenalty(qual);
+       }
+}
+
+static inline uint8_t delPenalty(bool maq, uint8_t qual) {
+       if(maq) {
+               return MaqPhredPenalty::delPenalty(qual);
+       } else {
+               return SimplePhredPenalty::delPenalty(qual);
+       }
+}
+
+static inline uint8_t insPenalty(bool maq, uint8_t qual_left, uint8_t qual_right) {
+       if(maq) {
+               return MaqPhredPenalty::insPenalty(qual_left, qual_right);
+       } else {
+               return SimplePhredPenalty::insPenalty(qual_left, qual_right);
+       }
+}
+
+/**
+ * Take an ASCII-encoded quality value and convert it to a Phred33
+ * ASCII char.
+ */
+inline static char charToPhred33(char c, bool solQuals, bool phred64Quals) {
+       if(c == ' ') {
+               cerr << "Saw a space but expected an ASCII-encoded quality value." << endl
+                    << "Are quality values formatted as integers?  If so, try --integer-quals." << endl;
+               throw 1;
+       }
+       if (solQuals) {
+               // Convert solexa-scaled chars to phred
+               // http://maq.sourceforge.net/fastq.shtml
+               char cc = solexaToPhred((int)c - 64) + 33;
+               if (cc < 33) {
+                       cerr << "Saw ASCII character "
+                            << ((int)c)
+                            << " but expected 64-based Solexa qual (converts to " << (int)cc << ")." << endl
+                            << "Try not specifying --solexa-quals." << endl;
+                       throw 1;
+               }
+               c = cc;
+       }
+       else if(phred64Quals) {
+               if (c < 64) {
+                       cerr << "Saw ASCII character "
+                            << ((int)c)
+                            << " but expected 64-based Phred qual." << endl
+                            << "Try not specifying --solexa1.3-quals/--phred64-quals." << endl;
+                       throw 1;
+               }
+               // Convert to 33-based phred
+               c -= (64-33);
+       }
+       else {
+               // Keep the phred quality
+               if (c < 33) {
+                       cerr << "Saw ASCII character "
+                            << ((int)c)
+                            << " but expected 33-based Phred qual." << endl;
+                       throw 1;
+               }
+       }
+       return c;
+}
+
+/**
+ * Take an integer quality value and convert it to a Phred33 ASCII
+ * char.
+ */
+inline static char intToPhred33(int iQ, bool solQuals) {
+       int pQ;
+       if (solQuals) {
+               // Convert from solexa quality to phred
+               // quality and translate to ASCII
+               // http://maq.sourceforge.net/qual.shtml
+               pQ = solexaToPhred((int)iQ) + 33;
+       } else {
+               // Keep the phred quality and translate
+               // to ASCII
+               pQ = (iQ <= 93 ? iQ : 93) + 33;
+       }
+       if (pQ < 33) {
+               cerr << "Saw negative Phred quality " << ((int)pQ-33) << "." << endl;
+               throw 1;
+       }
+       assert_geq(pQ, 0);
+       return (int)pQ;
+}
+
+/**
+ * Fill the q[] array with the penalties that are determined by
+ * subtracting the quality values of the alternate basecalls from
+ * the quality of the primary basecall.
+ */
+inline static uint8_t penaltiesAt(size_t off, uint8_t *q,
+                                  int alts,
+                                  const String<char>& qual,
+                                  const String<Dna5>* altQry,
+                                  const String<char>* altQual)
+{
+       uint8_t primQ = qual[off]; // qual of primary call
+       uint8_t bestPenalty = primQ - 33;
+       q[0] = q[1] = q[2] = q[3] = bestPenalty;
+       for(int i = 0; i < alts; i++) {
+               uint8_t altQ = altQual[i][off]; // qual of alt call
+               if(altQ == 33) break; // no alt call
+               assert_leq(altQ, primQ);
+               if(primQ - altQ < bestPenalty) {
+                       bestPenalty = primQ - altQ;
+               }
+               // Get the base
+               int altC = (int)altQry[i][off];
+               assert_lt(altC, 4);
+               q[altC] = primQ - altQ;
+       }
+       return bestPenalty;
+}
+
+/**
+ * Fill the q[] array with the penalties that are determined by
+ * subtracting the quality values of the alternate basecalls from
+ * the quality of the primary basecall.
+ */
+inline static uint8_t loPenaltyAt(size_t off, int alts,
+                                  const String<char>& qual,
+                                  const String<char>* altQual)
+{
+       uint8_t primQ = qual[off]; // qual of primary call
+       uint8_t bestPenalty = primQ - 33;
+       for(int i = 0; i < alts; i++) {
+               uint8_t altQ = altQual[i][off]; // qual of alt call
+               if(altQ == 33) break; // no more alt calls at this position
+               assert_leq(altQ, primQ);
+               if(primQ - altQ < bestPenalty) {
+                       bestPenalty = primQ - altQ;
+               }
+       }
+       return bestPenalty;
+}
+
+#endif /*QUAL_H_*/
diff --git a/random_source.h b/random_source.h
new file mode 100644 (file)
index 0000000..65ec646
--- /dev/null
@@ -0,0 +1,61 @@
+#ifndef RANDOM_GEN_H_
+#define RANDOM_GEN_H_
+
+#include "assert_helpers.h"
+
+/**
+ * Simple pseudo-random linear congruential generator, a la Numerical
+ * Recipes.
+ */
+class RandomSource {
+public:
+       static const uint32_t DEFUALT_A = 1664525;
+       static const uint32_t DEFUALT_C = 1013904223;
+
+       RandomSource() :
+               a(DEFUALT_A), c(DEFUALT_C), inited_(false) { }
+       RandomSource(uint32_t _a, uint32_t _c) :
+               a(_a), c(_c), inited_(false) { }
+
+       void init(uint32_t seed = 0) {
+               last = seed;
+               inited_ = true;
+       }
+
+       uint32_t nextU32() {
+               assert(inited_);
+               uint32_t ret;
+               last = a * last + c;
+               ret = last >> 16;
+               last = a * last + c;
+               ret ^= last;
+               lastOff = 0;
+               return ret;
+       }
+
+       uint32_t nextU2() {
+               assert(inited_);
+               if(lastOff > 30) {
+                       nextU32();
+               }
+               uint32_t ret = (last >> lastOff) & 3;
+               lastOff += 2;
+               return ret;
+       }
+
+       static uint32_t nextU32(uint32_t last,
+                               uint32_t a = DEFUALT_A,
+                               uint32_t c = DEFUALT_C)
+       {
+               return (a * last) + c;
+       }
+
+private:
+       uint32_t a;
+       uint32_t c;
+       uint32_t last;
+       uint32_t lastOff;
+       bool inited_;
+};
+
+#endif /*RANDOM_GEN_H_*/
diff --git a/random_test.cpp b/random_test.cpp
new file mode 100644 (file)
index 0000000..f8c21a6
--- /dev/null
@@ -0,0 +1,48 @@
+/*
+ * random_test.cpp
+ *
+ *  Created on: Dec 11, 2009
+ *      Author: Ben Langmead
+ */
+
+#include <iostream>
+#include <string.h>
+#include "random_source.h"
+
+using namespace std;
+
+int main(void) {
+       RandomSource rand;
+       rand.init(0);
+       uint32_t ts[32];
+       memset(ts, 0, 32*sizeof(uint32_t));
+       uint32_t r = rand.nextU32();
+       cout << "Without reseeding:" << endl;
+       for(int i = 0; i < 10000; i++) {
+               uint32_t nr = rand.nextU32();
+               for(int j = 0; j < 32; j++) {
+                       if(((r >> j) & 1) != ((nr >> j) & 1)) {
+                               ts[j]++;
+                       }
+               }
+       }
+       for(int j = 0; j < 32; j++) {
+               cout << ts[j] << endl;
+       }
+       memset(ts, 0, 32*sizeof(uint32_t));
+       rand.init(0);
+       r = rand.nextU32();
+       cout << "With reseeding:" << endl;
+       for(int i = 0; i < 10000; i++) {
+               rand.init(i+1);
+               uint32_t nr = rand.nextU32();
+               for(int j = 0; j < 32; j++) {
+                       if(((r >> j) & 1) != ((nr >> j) & 1)) {
+                               ts[j]++;
+                       }
+               }
+       }
+       for(int j = 0; j < 32; j++) {
+               cout << ts[j] << endl;
+       }
+}
diff --git a/range.h b/range.h
new file mode 100644 (file)
index 0000000..7ab11df
--- /dev/null
+++ b/range.h
@@ -0,0 +1,50 @@
+/**
+ * range.h
+ */
+
+#ifndef RANGE_H_
+#define RANGE_H_
+
+#include <vector>
+#include <stdint.h>
+
+/**
+ * A range along with the alignment it represents.
+ */
+struct Range {
+       Range() :
+               top(0xffffffff), bot(0), cost(0), stratum(0), numMms(0),
+               fw(true), mate1(true), ebwt(NULL)
+       {
+               mms.clear();
+               refcs.clear();
+       }
+
+       bool valid() const {
+               return top < 0xffffffff;
+       }
+
+       void invalidate() {
+               top = 0xffffffff;
+       }
+
+       uint32_t top;     // top of range
+       uint32_t bot;     // bottom of range
+       uint16_t cost;    // cost
+       uint32_t stratum; // stratum
+       uint32_t numMms;  // # mismatches
+       bool fw;          // the forward orientation of read aligned?
+       bool mate1;       // read aligned is #1 mate/single?
+       std::vector<uint32_t> mms;   // list of positions with mismatches
+       std::vector<uint8_t>  refcs; // reference characters at mismatch positions
+       const Ebwt<seqan::String<seqan::Dna> > *ebwt;
+
+       bool repOk() const {
+               assert_eq(refcs.size(), mms.size());
+               assert_eq(numMms, mms.size());
+               assert_leq(stratum, numMms);
+               return true;
+       }
+};
+
+#endif /* RANGE_H_ */
diff --git a/range_cache.h b/range_cache.h
new file mode 100644 (file)
index 0000000..447ae38
--- /dev/null
@@ -0,0 +1,546 @@
+/*
+ * range_cache.h
+ *
+ * Classes that encapsulate the caching of
+ */
+
+#ifndef RANGE_CACHE_H_
+#define RANGE_CACHE_H_
+
+#include <stdint.h>
+#include <utility>
+#include <iostream>
+#include <stdexcept>
+#include <map>
+#include "ebwt.h"
+#include "row_chaser.h"
+
+#define RANGE_NOT_SET 0xffffffff
+#define RANGE_CACHE_BAD_ALLOC 0xffffffff
+
+/**
+ * Manages a pool of memory used exclusively for range cache entries.
+ * This manager is allocate-only; it exists mainly so that we can avoid
+ * lots of new[]s and delete[]s.
+ *
+ * A given stretch of words may be one of two types: a cache entry, or
+ * a cache entry wrapper.  A cache entry has a length and a list of
+ * already-resolved reference positions.  A cache entry wrapper has a
+ * pointer to a cache entry for a different range, along with an
+ * integer indicating how many "jumps" to the left that range is from
+ * the one that owns the wrapper.
+ */
+class RangeCacheMemPool {
+public:
+       RangeCacheMemPool(uint32_t lim /* max cache size in bytes */) :
+               lim_(lim >> 2 /* convert to words */), occ_(0), buf_(NULL),
+               closed_(false)
+       {
+               if(lim_ > 0) {
+                       try {
+                               buf_ = new uint32_t[lim_];
+                               if(buf_ == NULL) throw std::bad_alloc();
+                       } catch(std::bad_alloc& e) {
+                               cerr << "Allocation error allocating " << lim
+                                        << " words of range-cache memory" << endl;
+                               throw 1;
+                       }
+                       assert(buf_ != NULL);
+                       // Fill with 1s to signal that these elements are
+                       // uninitialized
+                       memset(buf_, 0xff, lim_ << 2 /* convert back to bytes */);
+               }
+       }
+
+       ~RangeCacheMemPool() {
+               // Release all word memory!
+               if(lim_ > 0) delete[] buf_;
+       }
+
+       /**
+        * Allocate numElts elements from the word pool.
+        */
+       uint32_t alloc(uint32_t numElts) {
+               assert_gt(numElts, 0);
+               assert_leq(occ_, lim_);
+               if(occ_ + numElts > lim_ || numElts >= 0x80000000) {
+                       return RANGE_CACHE_BAD_ALLOC;
+               }
+               assert_gt(lim_, 0);
+               uint32_t ret = occ_;
+               assert(allocs_.find(ret) == allocs_.end());
+               ASSERT_ONLY(allocs_.insert(ret));
+               // Clear the first elt so that we don't think there's already
+               // something there
+#ifndef NDEBUG
+               for(size_t i = 0; i < numElts; i++) {
+                       assert_eq(0xffffffff, buf_[occ_ + i]);
+               }
+#endif
+               buf_[occ_] = 0;
+               occ_ += numElts;
+               assert_leq(occ_, lim_);
+               if(lim_ - occ_ < 10) {
+                       // No more room - don't try anymore
+                       closed_ = true;
+               }
+               return ret;
+       }
+
+       /**
+        * Turn a pool-array index into a pointer; check that it doesn't
+        * fall outside the pool first.
+        */
+       inline uint32_t *get(uint32_t off) {
+               assert_gt(lim_, 0);
+               assert_lt(off, lim_);
+               assert(allocs_.find(off) != allocs_.end());
+               uint32_t *ret = buf_ + off;
+               assert_neq(0x80000000, ret[0]);
+               assert_neq(0xffffffff, ret[0]);
+               return ret;
+       }
+
+       /**
+        * Return true iff there's no more room in the cache.
+        */
+       inline bool closed() {
+               return closed_;
+       }
+
+private:
+       uint32_t lim_;  /// limit on number of 32-bit words to dish out in total
+       uint32_t occ_;  /// number of occupied words
+       uint32_t *buf_; /// buffer of 32-bit words
+       bool closed_;   ///
+#ifndef NDEBUG
+       std::set<uint32_t> allocs_; // elements allocated
+#endif
+};
+
+/**
+ * A view to a range of cached reference positions.
+ */
+class RangeCacheEntry {
+
+       typedef Ebwt<String<Dna> > TEbwt;
+       typedef std::pair<uint32_t,uint32_t> U32Pair;
+       typedef RowChaser<String<Dna> > TRowChaser;
+
+public:
+       /**
+        *
+        */
+       RangeCacheEntry(bool sanity = false) :
+               top_(0xffffffff), jumps_(0), len_(0), ents_(NULL), ebwt_(NULL),
+               sanity_(sanity)
+       { }
+
+       /**
+        * Create a new RangeCacheEntry from the data in the pool at 'ents'.
+        */
+       RangeCacheEntry(RangeCacheMemPool& pool, uint32_t top,
+                       uint32_t ent, TEbwt* ebwt, bool sanity = false) :
+           sanity_(sanity)
+       {
+               init(pool, top, ent, ebwt);
+       }
+
+       /**
+        * Initialize a RangeCacheEntry from the data in the pool at 'ents'.
+        */
+       void init(RangeCacheMemPool& pool, uint32_t top, uint32_t ent, TEbwt* ebwt) {
+               assert(ebwt != NULL);
+               top_ = top;
+               ebwt_ = ebwt;
+               uint32_t *ents = pool.get(ent);
+               assert_neq(0x80000000, ents[0]);
+               // Is hi bit set?
+               if((ents[0] & 0x80000000) != 0) {
+                       // If so, the target is a wrapper and the non-hi bits
+                       // contain the # jumps
+                       jumps_ = (ents[0] & ~0x80000000);
+                       assert_gt(jumps_, 0);
+                       assert_leq(jumps_, ebwt_->_eh._len);
+                       // Get the target entry
+                       uint32_t *dest = pool.get(ents[1]);
+                       // Get the length from the target entry
+                       len_ = dest[0];
+                       assert_leq(top_ + len_, ebwt_->_eh._len);
+                       assert_gt(len_, 0);
+                       assert_leq(len_, ebwt_->_eh._len);
+                       // Get the pointer to the entries themselves
+                       ents_ = dest + 1;
+               } else {
+                       // Not a wrapper, so there are no jumps
+                       jumps_ = 0;
+                       // Get the length from the target entry
+                       len_  = ents[0];
+                       assert_leq(top_ + len_, ebwt_->_eh._len);
+                       assert_gt(len_, 0);
+                       assert_leq(len_, ebwt_->_eh._len);
+                       // Get the pointer to the entries themselves
+                       ents_ = ents + 1;
+               }
+               assert(sanityCheckEnts());
+       }
+
+       /**
+        * Initialize a wrapper with given number of jumps and given target
+        * entry index.
+        */
+       void init(RangeCacheMemPool& pool, uint32_t top, uint32_t jumps,
+                 uint32_t ent, TEbwt* ebwt)
+       {
+               assert(ebwt != NULL);
+               ebwt_ = ebwt;
+               top_ = top;
+               jumps_ = jumps;
+               uint32_t *ents = pool.get(ent);
+               // Must not be a wrapper
+               assert_eq(0, ents[0] & 0x80000000);
+               // Get the length from the target entry
+               len_ = ents[0];
+               assert_gt(len_, 0);
+               assert_leq(len_, ebwt_->_eh._len);
+               // Get the pointer to the entries themselves
+               ents_ = ents + 1;
+               assert_leq(top_ + len_, ebwt_->_eh._len);
+               assert(sanityCheckEnts());
+       }
+
+       uint32_t len() const   {
+               assert(ents_ != NULL);
+               assert(ebwt_ != NULL);
+               return len_;
+       }
+
+       uint32_t jumps() const {
+               assert(ents_ != NULL);
+               assert(ebwt_ != NULL);
+               return jumps_;
+       }
+
+       /**
+        *
+        */
+       void reset() {
+               ents_ = NULL;
+       }
+
+       /**
+        * Return true iff this object represents a valid cache entry.
+        */
+       bool valid() const {
+               return ents_ != NULL;
+       }
+
+       TEbwt *ebwt() {
+               return ebwt_;
+       }
+
+       /**
+        * Install a result obtained by a client of this cache; be sure to
+        * adjust for how many jumps down the tunnel the cache entry is
+        * situated.
+        */
+       void install(uint32_t elt, uint32_t val) {
+               if(ents_ == NULL) {
+                       // This is not a valid cache entry; do nothing
+                       return;
+               }
+               assert(ents_ != NULL);
+               assert(ebwt_ != NULL);
+               assert_leq(jumps_, val);
+               assert_neq(0xffffffff, val);
+               assert_leq(top_ + len_, ebwt_->_eh._len);
+               if(elt < len_) {
+                       val -= jumps_;
+                       if(verbose_) cout << "Installed reference offset: " << (top_ + elt) << endl;
+                       ASSERT_ONLY(uint32_t sanity = TRowChaser::toFlatRefOff(ebwt_, 1, top_ + elt));
+                       assert_eq(sanity, val);
+#ifndef NDEBUG
+                       for(size_t i = 0; i < len_; i++) {
+                               if(i == elt) continue;
+                               assert_neq(val, ents_[i]);
+                       }
+#endif
+                       ents_[elt] = val;
+               } else {
+                       // ignore install request
+                       if(verbose_) cout << "Fell off end of cache entry for install: " << (top_ + elt) << endl;
+               }
+       }
+
+       /**
+        * Get an element from the cache, adjusted for tunnel jumps.
+        */
+       inline uint32_t get(uint32_t elt) const {
+               if(ents_ == NULL) {
+                       // This is not a valid cache entry; do nothing
+                       return RANGE_NOT_SET;
+               }
+               assert(ents_ != NULL);
+               assert(ebwt_ != NULL);
+               assert_leq(top_ + len_, ebwt_->_eh._len);
+               if(elt < len_ && ents_[elt] != RANGE_NOT_SET) {
+                       if(verbose_) cout << "Retrieved result from cache: " << (top_ + elt) << endl;
+                       uint32_t ret = ents_[elt] + jumps_;
+                       ASSERT_ONLY(uint32_t sanity = TRowChaser::toFlatRefOff(ebwt_, 1, top_ + elt));
+                       assert_eq(sanity, ret);
+                       return ret;
+               } else {
+                       if(verbose_) cout << "Cache entry not set: " << (top_ + elt) << endl;
+                       return RANGE_NOT_SET;
+               }
+       }
+
+       /**
+        * Check that len_ and the ents_ array both make sense.
+        */
+       static bool sanityCheckEnts(uint32_t len, uint32_t *ents, TEbwt* ebwt) {
+               assert_gt(len, 0);
+               assert_leq(len, ebwt->_eh._len);
+               if(len < 10) {
+                       for(size_t i = 0; i < len; i++) {
+                               if(ents[i] == 0xffffffff) continue;
+                               assert_leq(ents[i], ebwt->_eh._len);
+                               for(size_t j = i+1; j < len; j++) {
+                                       if(ents[j] == 0xffffffff) continue;
+                                       assert_neq(ents[i], ents[j]);
+                               }
+                       }
+               } else {
+                       std::set<uint32_t> seen;
+                       for(size_t i = 0; i < len; i++) {
+                               if(ents[i] == 0xffffffff) continue;
+                               assert(seen.find(ents[i]) == seen.end());
+                               seen.insert(ents[i]);
+                       }
+               }
+               return true;
+       }
+
+       /**
+        * Check that len_ and the ents_ array both make sense.
+        */
+       bool sanityCheckEnts() {
+               return RangeCacheEntry::sanityCheckEnts(len_, ents_, ebwt_);
+       }
+
+private:
+
+       uint32_t top_;   /// top pointer for this range
+       uint32_t jumps_; /// how many tunnel-jumps it is away from the requester
+       uint32_t len_;   /// # of entries in cache entry
+       uint32_t *ents_; /// ptr to entries, which are flat offs within joined ref
+       //U32Pair *ents_;  /// pointer to entries, which are tidx,toff pairs
+       TEbwt    *ebwt_; /// index that alignments are in
+       bool     verbose_; /// be talkative?
+       bool     sanity_;  /// do consistency checks?
+};
+
+/**
+ *
+ */
+class RangeCache {
+
+       typedef Ebwt<String<Dna> > TEbwt;
+       typedef std::vector<uint32_t> TU32Vec;
+       typedef std::map<uint32_t, uint32_t> TMap;
+       typedef std::map<uint32_t, uint32_t>::iterator TMapItr;
+
+public:
+       RangeCache(uint32_t lim, TEbwt* ebwt) :
+               lim_(lim), map_(), pool_(lim), closed_(false), ebwt_(ebwt), sanity_(true) { }
+
+       /**
+        * Given top and bot offsets, retrieve the canonical cache entry
+        * that best covers that range.  The cache entry may not directly
+        * correspond to the top offset provided, rather, it might be an
+        * entry that lies "at the end of the tunnel" when top and bot are
+        * walked backward.
+        */
+       bool lookup(uint32_t top, uint32_t bot, RangeCacheEntry& ent) {
+               if(ebwt_ == NULL || lim_ == 0) return false;
+               assert_gt(bot, top);
+               ent.reset();
+               TMapItr itr = map_.find(top);
+               if(itr == map_.end()) {
+                       // No cache entry for the given 'top' offset
+                       if(closed_) {
+                               return false; // failed to get cache entry
+                       } else {
+                               if(pool_.closed()) {
+                                       closed_ = true;
+                                       return false; // failed to get cache entry
+                               }
+                       }
+                       // Use the tunnel
+                       bool ret = tunnel(top, bot, ent);
+                       return ret;
+               } else {
+                       // There is a cache entry for the given 'top' offset
+                       uint32_t ret = itr->second;
+                       ent.init(pool_, top, ret, ebwt_);
+                       return true; // success
+               }
+       }
+
+       /**
+        * Exhaustively check all entries linked to from map_ to ensure
+        * they're well-formed.
+        */
+       bool repOk() {
+#ifndef NDEBUG
+               for(TMapItr itr = map_.begin(); itr != map_.end(); itr++) {
+                       uint32_t top = itr->first;
+                       uint32_t idx = itr->second;
+                       uint32_t jumps = 0;
+                       assert_leq(top, ebwt_->_eh._len);
+                       uint32_t *ents = pool_.get(idx);
+                       if((ents[0] & 0x80000000) != 0) {
+                               jumps = ents[0] & ~0x80000000;
+                               assert_leq(jumps, ebwt_->_eh._len);
+                               idx = ents[1];
+                               ents = pool_.get(idx);
+                       }
+                       uint32_t len = ents[0];
+                       assert_leq(top + len, ebwt_->_eh._len);
+                       RangeCacheEntry::sanityCheckEnts(len, ents + 1, ebwt_);
+               }
+#endif
+               return true;
+       }
+
+protected:
+
+       /**
+        * Tunnel through to the first range that 1) includes all the same
+        * suffixes (though longer) as the given range, and 2) has a cache
+        * entry for it.
+        */
+       bool tunnel(uint32_t top, uint32_t bot, RangeCacheEntry& ent) {
+               assert_gt(bot, top);
+               TU32Vec tops;
+               const uint32_t spread = bot - top;
+               SideLocus tloc, bloc;
+               SideLocus::initFromTopBot(top, bot, ebwt_->_eh, ebwt_->_ebwt, tloc, bloc);
+               uint32_t newtop = top, newbot = bot;
+               uint32_t jumps = 0;
+               // Walk left through the tunnel
+               while(true) {
+                       if(ebwt_->rowL(tloc) != ebwt_->rowL(bloc)) {
+                               // Different characters at top and bot positions of
+                               // BWT; this means that the calls to mapLF below are
+                               // guaranteed to yield rows in two different character-
+                               // sections of the BWT.
+                               break;
+                       }
+                       // Advance top and bot
+                       newtop = ebwt_->mapLF(tloc);
+                       newbot = ebwt_->mapLF(bloc);
+                       assert_geq(newbot, newtop);
+                       assert_leq(newbot - newtop, spread);
+                       // If the new spread is the same as the old spread, we can
+                       // be confident that the new range includes all of the same
+                       // suffixes as the last range (though longer by 1 char)
+                       if((newbot - newtop) == spread) {
+                               // Check if newtop is already cached
+                               TMapItr itr = map_.find(newtop);
+                               jumps++;
+                               if(itr != map_.end()) {
+                                       // This range, which is further to the left in the
+                                       // same tunnel as the query range, has a cache
+                                       // entry already, so use that
+                                       uint32_t idx = itr->second;
+                                       uint32_t *ents = pool_.get(idx);
+                                       if((ents[0] & 0x80000000) != 0) {
+                                               // The cache entry we found was a wrapper; make
+                                               // a new wrapper that points to that wrapper's
+                                               // target, with the appropriate number of jumps
+                                               jumps += (ents[0] & ~0x80000000);
+                                               idx = ents[1];
+                                       }
+                                       // Allocate a new wrapper
+                                       uint32_t newentIdx = pool_.alloc(2);
+                                       if(newentIdx != RANGE_CACHE_BAD_ALLOC) {
+                                               // We successfully made a new wrapper entry;
+                                               // now populate it and install it in map_
+                                               uint32_t *newent = pool_.get(newentIdx); // get ptr to it
+                                               assert_eq(0, newent[0]);
+                                               newent[0] = 0x80000000 | jumps; // set jumps
+                                               newent[1] = idx;                // set target
+                                               assert(map_.find(top) == map_.end());
+                                               map_[top] = newentIdx;
+                                               if(sanity_) assert(repOk());
+                                       }
+                                       // Initialize the entry
+                                       ent.init(pool_, top, jumps, idx, ebwt_);
+                                       return true;
+                               }
+                               // Save this range
+                               tops.push_back(newtop);
+                               SideLocus::initFromTopBot(newtop, newbot, ebwt_->_eh, ebwt_->_ebwt, tloc, bloc);
+                       } else {
+                               // Not all the suffixes were preserved, so we can't
+                               // link the source range's cached result to this
+                               // range's cached results
+                               break;
+                       }
+                       assert_eq(jumps, tops.size());
+               }
+               assert_eq(jumps, tops.size());
+               // Try to create a new cache entry for the leftmost range in
+               // the tunnel (which might be the query range)
+               uint32_t newentIdx = pool_.alloc(spread + 1);
+               if(newentIdx != RANGE_CACHE_BAD_ALLOC) {
+                       // Successfully allocated new range cache entry; install it
+                       uint32_t *newent = pool_.get(newentIdx);
+                       assert_eq(0, newent[0]);
+                       // Store cache-range length in first word
+                       newent[0] = spread;
+                       assert_lt(newent[0], 0x80000000);
+                       assert_eq(spread, newent[0]);
+                       uint32_t entTop = top;
+                       uint32_t jumps = 0;
+                       if(tops.size() > 0) {
+                               entTop = tops.back();
+                               jumps = tops.size();
+                       }
+                       // Cache the entry for the end of the tunnel
+                       assert(map_.find(entTop) == map_.end());
+                       map_[entTop] = newentIdx;
+                       if(sanity_) assert(repOk());
+                       ent.init(pool_, entTop, jumps, newentIdx, ebwt_);
+                       assert_eq(spread, newent[0]);
+                       if(jumps > 0) {
+                               assert_neq(entTop, top);
+                               // Cache a wrapper entry for the query range (if possible)
+                               uint32_t wrapentIdx = pool_.alloc(2);
+                               if(wrapentIdx != RANGE_CACHE_BAD_ALLOC) {
+                                       uint32_t *wrapent = pool_.get(wrapentIdx);
+                                       assert_eq(0, wrapent[0]);
+                                       wrapent[0] = 0x80000000 | jumps;
+                                       wrapent[1] = newentIdx;
+                                       assert(map_.find(top) == map_.end());
+                                       map_[top] = wrapentIdx;
+                                       if(sanity_) assert(repOk());
+                               }
+                       }
+                       return true;
+               } else {
+                       // Could not allocate new range cache entry
+                       return false;
+               }
+       }
+
+       uint32_t lim_;           /// Total number of key/val bytes to keep in cache
+       TMap map_;               ///
+       RangeCacheMemPool pool_; /// Memory pool
+       bool closed_;            /// Out of space; no new entries
+       TEbwt* ebwt_;            /// Index that alignments are in
+       bool sanity_;
+};
+
+#endif /* RANGE_CACHE_H_ */
diff --git a/range_chaser.h b/range_chaser.h
new file mode 100644 (file)
index 0000000..918cad5
--- /dev/null
@@ -0,0 +1,296 @@
+/*
+ * range_chaser.h
+ */
+
+#ifndef RANGE_CHASER_H_
+#define RANGE_CHASER_H_
+
+#include <stdint.h>
+#include "ebwt.h"
+#include "random_source.h"
+#include "row_chaser.h"
+#include "range_cache.h"
+#include "aligner_metrics.h"
+
+/**
+ * A class that statefully processes a range by picking one row
+ * randomly and then linearly scanning forward through the range,
+ * reporting reference offsets as we go.
+ */
+template<typename TStr>
+class RangeChaser {
+
+       typedef Ebwt<TStr> TEbwt;
+       typedef std::pair<uint32_t,uint32_t> U32Pair;
+       typedef std::vector<U32Pair> U32PairVec;
+       typedef RowChaser<TStr> TRowChaser;
+
+public:
+       RangeChaser(uint32_t cacheThresh,
+                   RangeCache* cacheFw, RangeCache* cacheBw,
+                   AlignerMetrics *metrics = NULL) :
+               done(false),
+               ebwt_(NULL),
+               qlen_(0),
+               cacheThresh_(cacheThresh),
+               top_(0xffffffff),
+               bot_(0xffffffff),
+               irow_(0xffffffff),
+               row_(0xffffffff),
+               off_(make_pair(0xffffffff, 0)),
+               tlen_(0),
+               chaser_(metrics),
+               cached_(false),
+               cacheFw_(cacheFw), cacheBw_(cacheBw),
+               metrics_(metrics)
+       { }
+
+       ~RangeChaser() { }
+
+       /**
+        * Convert a range to a vector of reference loci, where a locus is
+        * a u32 pair of <ref-idx, ref-offset>.
+        */
+       static void toOffs(const TEbwt& ebwt,
+                          uint32_t qlen,
+                          RandomSource& rand,
+                          uint32_t top,
+                          uint32_t bot,
+                          U32PairVec& dest)
+       {
+               RangeChaser rc(ebwt, rand);
+               rc.setTopBot(top, bot, qlen);
+               rc.prep();
+               while(!rc.done) {
+                       rc.advance();
+                       if(rc.foundOff()) {
+                               dest.push_back(rc.off());
+                               rc.reset();
+                               assert(!rc.foundOff());
+                       }
+                       rc.prep();
+               }
+       }
+
+       /**
+        * Set the row to chase
+        */
+       void setRow(uint32_t row) {
+               // Must be within bounds of range
+               assert_lt(row, bot_);
+               assert_geq(row, top_);
+               row_ = row;
+               while(true) {
+                       // First thing to try is the cache
+                       if(cached_) {
+                               assert(cacheEnt_.valid());
+                               uint32_t cached = cacheEnt_.get(row_ - top_);
+                               assert(cacheEnt_.valid());
+                               if(cached != RANGE_NOT_SET) {
+                                       // Assert that it matches what we would have got...
+                                       ASSERT_ONLY(uint32_t sanity = TRowChaser::toFlatRefOff(ebwt_, 1, row_));
+                                       assert_eq(sanity, cached);
+                                       // We have a cached result.  Cached result is in the
+                                       // form of an offset into the joined reference string,
+                                       // so now we have to convert it to a tidx/toff pair.
+                                       ebwt_->joinedToTextOff(qlen_, cached, off_.first, off_.second, tlen_);
+                                       // Note: tidx may be 0xffffffff, if alignment overlaps a
+                                       // reference boundary
+                                       if(off_.first != 0xffffffff) {
+                                               // Bingo, we found a valid result using the cache
+                                               assert(foundOff());
+                                               return;
+                                       }
+                               } else {
+                                       // Wasn't in the cache; use the RowChaser
+                               }
+                       }
+                       // Second thing to try is the chaser
+                       chaser_.setRow(row_, qlen_, ebwt_);
+                       assert(chaser_.prepped_ || chaser_.done);
+                       // It might be done immediately...
+                       if(chaser_.done) {
+                               // We're done immediately
+                               off_ = chaser_.off();
+                               if(off_.first != 0xffffffff) {
+                                       // This is a valid result
+                                       if(cached_) {
+                                               // Install the result in the cache
+                                               assert(cacheEnt_.valid());
+                                               cacheEnt_.install(row_ - top_, chaser_.flatOff());
+                                               //if(ebwt_->fw()) assert(cacheFw_->repOk());
+                                               //else            assert(cacheBw_->repOk());
+                                       }
+                                       tlen_ = chaser_.tlen();
+                                       assert(foundOff());
+                                       return; // found result
+                               }
+                       } else {
+                               // Pursue this row
+                               break;
+                       }
+                       // That row didn't have a valid result, move to the next
+                       row_++;
+                       if(row_ == bot_) {
+                               // Wrap back to top_
+                               row_ = top_;
+                       }
+                       if(row_ == irow_) {
+                               // Exhausted all possible rows
+                               done = true;
+                               assert_eq(0xffffffff, off_.first);
+                               return;
+                       }
+               }
+               assert(chaser_.prepped_);
+       }
+
+       /**
+        * Set the next range for us to "chase" (i.e. convert row-by-row
+        * to reference loci).
+        */
+       void setTopBot(uint32_t top,
+                      uint32_t bot,
+                      uint32_t qlen,
+                      RandomSource& rand,
+                      const TEbwt* ebwt)
+       {
+               assert_neq(0xffffffff, top);
+               assert_neq(0xffffffff, bot);
+               assert_gt(bot, top);
+               assert_gt(qlen, 0);
+               assert(ebwt != NULL);
+               ebwt_ = ebwt;
+               qlen_ = qlen;
+               top_ = top;
+               bot_ = bot;
+               uint32_t spread = bot - top;
+               irow_ = top + (rand.nextU32() % spread); // initial row
+               done = false;
+               cached_ = false;
+               reset();
+               if(cacheFw_ != NULL || cacheBw_ != NULL) {
+                       if(spread > cacheThresh_) {
+                               bool ret = false;
+                               if(ebwt->fw() && cacheFw_ != NULL) {
+                                       ret = cacheFw_->lookup(top, bot, cacheEnt_);
+                                       if(ret) assert(cacheEnt_.ebwt()->fw());
+                               } else if(!ebwt->fw() && cacheBw_ != NULL) {
+                                       ret = cacheBw_->lookup(top, bot, cacheEnt_);
+                                       if(ret) assert(!cacheEnt_.ebwt()->fw());
+                               } else {
+                                       cacheEnt_.reset();
+                               }
+                               assert_eq(cacheEnt_.valid(), ret);
+                               cached_ = ret;
+                       } else {
+                               cacheEnt_.reset();
+                       }
+               }
+               setRow(irow_);
+               assert(chaser_.prepped_ || foundOff() || done);
+       }
+
+       /**
+        * Advance the step-left process by one step.  Check if we're done.
+        */
+       void advance() {
+               assert(!done);
+               assert(chaser_.prepped_ || chaser_.done);
+               reset();
+               if(chaser_.done) {
+                       // chaser finished with this row
+                       row_++;
+                       if(row_ == bot_) {
+                               row_ = top_;
+                       }
+                       if(row_ == irow_) {
+                               // Exhausted all possible rows
+                               done = true;
+                               assert_eq(0xffffffff, off_.first);
+                               return;
+                       }
+                       setRow(row_);
+                       assert(chaser_.prepped_ || foundOff() || done);
+               } else {
+                       chaser_.advance();
+                       assert(chaser_.prepped_ || chaser_.done);
+                       if(chaser_.done) {
+                               // We're done immediately
+                               off_ = chaser_.off();
+                               if(off_.first != 0xffffffff) {
+                                       if(cached_) {
+                                               // Install the result in the cache
+                                               assert(cacheEnt_.valid());
+                                               cacheEnt_.install(row_ - top_, chaser_.flatOff());
+                                               //if(ebwt_->fw()) assert(cacheFw_->repOk());
+                                               //else            assert(cacheBw_->repOk());
+                                       }
+                                       // Found a reference position
+                                       tlen_ = chaser_.tlen();
+                                       assert(foundOff());
+                               }
+                       }
+               }
+       }
+
+       /**
+        * Prepare for the next call to advance() by prefetching relevant
+        * data.  In this case, 'chaser_' is doing this for us.
+        */
+       void prep() {
+               // nothing
+       }
+
+       /**
+        * Return true iff off_ contains a valid reference location for
+        * this range.
+        */
+       bool foundOff() const {
+               return off_.first != 0xffffffff;
+       }
+
+       /**
+        * Reset the chaser so that 'off_' does not hold a valid offset and
+        * foundOff() returns false.
+        */
+       void reset() {
+               off_.first = 0xffffffff;
+       }
+
+       /**
+        * Get the calculated offset.
+        */
+       U32Pair off() const {
+               return off_;
+       }
+
+       /**
+        * Get the length of the hit reference.
+        */
+       uint32_t tlen() const {
+               return tlen_;
+       }
+
+       bool done;             /// true = chase is done & answer is in off_
+
+protected:
+
+       const TEbwt* ebwt_;    /// index to resolve row in
+       uint32_t qlen_;        /// length of read; needed to convert to ref. coordinates
+       uint32_t cacheThresh_; /// ranges wider than thresh use cacheing
+       uint32_t top_;         /// range top
+       uint32_t bot_;         /// range bottom
+       uint32_t irow_;        /// initial randomly-chosen row within range
+       uint32_t row_;         /// current row within range
+       U32Pair off_;          /// calculated offset (0xffffffff if not done)
+       uint32_t tlen_;        /// length of text hit
+       TRowChaser chaser_;    /// stateful row chaser
+       RangeCacheEntry cacheEnt_; /// current cache entry
+       bool cached_;          /// cacheEnt is active for current range?
+       RangeCache* cacheFw_; /// cache for the forward index
+       RangeCache* cacheBw_; /// cache for the backward index
+       AlignerMetrics *metrics_;
+};
+
+#endif /* RANGE_CHASER_H_ */
diff --git a/range_source.h b/range_source.h
new file mode 100644 (file)
index 0000000..8291adb
--- /dev/null
@@ -0,0 +1,2555 @@
+/*
+ * range_source.h
+ */
+
+#ifndef RANGE_SOURCE_H_
+#define RANGE_SOURCE_H_
+
+#include <stdint.h>
+#include <vector>
+#include "seqan/sequence.h"
+#include "ebwt.h"
+#include "range.h"
+#include "pool.h"
+#include "edit.h"
+
+enum AdvanceUntil {
+       ADV_FOUND_RANGE = 1,
+       ADV_COST_CHANGES,
+       ADV_STEP
+};
+
+/**
+ * List of Edits that automatically expands as edits are added.
+ */
+struct EditList {
+
+       EditList() : sz_(0), moreEdits_(NULL), yetMoreEdits_(NULL) { }
+
+       /**
+        * Add an edit to the edit list.
+        */
+       bool add(const Edit& e, AllocOnlyPool<Edit>& pool, size_t qlen) {
+               assert_lt(sz_, qlen + 10);
+               if(sz_ < numEdits) {
+                       assert(moreEdits_ == NULL);
+                       assert(yetMoreEdits_ == NULL);
+                       edits_[sz_++] = e;
+               } else if(sz_ == numEdits) {
+                       assert(moreEdits_ == NULL);
+                       assert(yetMoreEdits_ == NULL);
+                       moreEdits_ = pool.alloc(numMoreEdits);
+                       if(moreEdits_ == NULL) {
+                               return false;
+                       }
+                       assert(moreEdits_ != NULL);
+                       moreEdits_[0] = e;
+                       sz_++;
+               } else if(sz_ < (numEdits + numMoreEdits)) {
+                       assert(moreEdits_ != NULL);
+                       assert(yetMoreEdits_ == NULL);
+                       moreEdits_[sz_ - numEdits] = e;
+                       sz_++;
+               } else if(sz_ == (numEdits + numMoreEdits)) {
+                       assert(moreEdits_ != NULL);
+                       assert(yetMoreEdits_ == NULL);
+                       yetMoreEdits_ = pool.alloc(qlen + 10 - numMoreEdits - numEdits);
+                       if(yetMoreEdits_ == NULL) {
+                               return false;
+                       }
+                       assert(yetMoreEdits_ != NULL);
+                       yetMoreEdits_[0] = e;
+                       sz_++;
+               } else {
+                       assert(moreEdits_ != NULL);
+                       assert(yetMoreEdits_ != NULL);
+                       yetMoreEdits_[sz_ - numEdits - numMoreEdits] = e;
+                       sz_++;
+               }
+               return true;
+       }
+
+       /**
+        * Return a const reference to the ith Edit in the list.
+        */
+       const Edit& get(size_t i) const {
+               assert_lt(i, sz_);
+               if(i < numEdits) {
+                       return edits_[i];
+               } else if(i < (numEdits + numMoreEdits)) {
+                       assert(moreEdits_ != NULL);
+                       return moreEdits_[i-numEdits];
+               } else {
+                       assert(moreEdits_ != NULL);
+                       assert(yetMoreEdits_ != NULL);
+                       return yetMoreEdits_[i-numEdits-numMoreEdits];
+               }
+       }
+
+       /**
+        * Get most recently added Edit.
+        */
+       const Edit& top() const {
+               assert_gt(size(), 0);
+               return get(size()-1);
+       }
+
+       /**
+        * Return true iff no Edits have been added.
+        */
+       bool empty() const { return size() == 0; }
+
+       /**
+        * Set a particular element of the EditList.
+        */
+       void set(size_t i, const Edit& e) {
+               assert_lt(i, sz_);
+               if(i < numEdits) {
+                       edits_[i] = e;
+               } else if(i < (numEdits + numMoreEdits)) {
+                       assert(moreEdits_ != NULL);
+                       moreEdits_[i-numEdits] = e;
+               } else {
+                       assert(moreEdits_ != NULL);
+                       assert(yetMoreEdits_ != NULL);
+                       yetMoreEdits_[i-numEdits-numMoreEdits] = e;
+               }
+       }
+
+       /**
+        * Remove all Edits from the list.
+        */
+       void clear() {
+               sz_ = 0;
+               moreEdits_ = NULL;
+               yetMoreEdits_ = NULL;
+       }
+
+       /**
+        * Return number of Edits in the List.
+        */
+       size_t size() const { return sz_; }
+
+       /**
+        * Free all the heap-allocated edit lists
+        */
+       void free(AllocOnlyPool<Edit>& epool, size_t qlen) {
+               if(yetMoreEdits_ != NULL)
+                       epool.free(yetMoreEdits_, qlen + 10 - numMoreEdits - numEdits);
+               if(moreEdits_ != NULL)
+                       epool.free(moreEdits_, numMoreEdits);
+       }
+
+       const static size_t numEdits = 6; // part of object allocation
+       const static size_t numMoreEdits = 16; // first extra allocation
+       size_t sz_;          // number of Edits stored in the EditList
+       Edit edits_[numEdits]; // first 4 edits; typically, no more are needed
+       Edit *moreEdits_;    // if used, size is dictated by numMoreEdits
+       Edit *yetMoreEdits_; // if used, size is dictated by length of read
+};
+
+/**
+ * Holds per-position information about what outgoing paths have been
+ * eliminated and what the quality value(s) is (are) at the position.
+ */
+union ElimsAndQual {
+
+       /**
+        * Assuming qual A/C/G/T are already set, set quallo and quallo2
+        * to the additional cost incurred by the least and second-least
+        * costly paths.
+        */
+       void updateLo() {
+               flags.quallo = 127;
+               flags.quallo2 = 127;
+               if(!flags.mmA) {
+                       // A mismatch to an A in the genome has not been ruled out
+                       if(flags.qualA < flags.quallo) {
+                               //flags.quallo2 = flags.quallo;
+                               flags.quallo = flags.qualA;
+                       }
+                       //else if(flags.qualA == flags.quallo) {
+                       //      flags.quallo2 = flags.quallo;
+                       //} else if(flags.qualA < flags.quallo2) {
+                       //      flags.quallo2 = flags.qualA;
+                       //}
+               }
+               if(!flags.mmC) {
+                       // A mismatch to a C in the genome has not been ruled out
+                       if(flags.qualC < flags.quallo) {
+                               flags.quallo2 = flags.quallo;
+                               flags.quallo = flags.qualC;
+                       } else if(flags.qualC == flags.quallo) {
+                               flags.quallo2 = flags.quallo;
+                       } else if(flags.qualC < flags.quallo2) {
+                               flags.quallo2 = flags.qualC;
+                       }
+               }
+               if(!flags.mmG) {
+                       // A mismatch to a G in the genome has not been ruled out
+                       if(flags.qualG < flags.quallo) {
+                               flags.quallo2 = flags.quallo;
+                               flags.quallo = flags.qualG;
+                       } else if(flags.qualG == flags.quallo) {
+                               flags.quallo2 = flags.quallo;
+                       } else if(flags.qualG < flags.quallo2) {
+                               flags.quallo2 = flags.qualG;
+                       }
+               }
+               if(!flags.mmT) {
+                       // A mismatch to a T in the genome has not been ruled out
+                       if(flags.qualT < flags.quallo) {
+                               flags.quallo2 = flags.quallo;
+                               flags.quallo = flags.qualT;
+                       } else if(flags.qualT == flags.quallo) {
+                               flags.quallo2 = flags.quallo;
+                       } else if(flags.qualT < flags.quallo2) {
+                               flags.quallo2 = flags.qualT;
+                       }
+               }
+               assert(repOk());
+       }
+
+       /**
+        * Set all 13 elimination bits of the flags field to 1, indicating
+        * that all outgoing paths are eliminated.
+        */
+       inline void eliminate() {
+               join.elims = ((1 << 13) - 1);
+       }
+
+       /**
+        * Internal consistency check.  Basically just checks that lo and
+        * lo2 are set correctly.
+        */
+       bool repOk() const {
+               uint8_t lo = 127;
+               uint8_t lo2 = 127;
+               assert_lt(flags.qualA, 127);
+               assert_lt(flags.qualC, 127);
+               assert_lt(flags.qualG, 127);
+               assert_lt(flags.qualT, 127);
+               if(!flags.mmA) {
+                       if(flags.qualA < lo) {
+                               lo = flags.qualA;
+                       }
+                       //else if(flags.qualA == lo || flags.qualA < lo2) {
+                       //      lo2 = flags.qualA;
+                       //}
+               }
+               if(!flags.mmC) {
+                       if(flags.qualC < lo) {
+                               lo2 = lo;
+                               lo = flags.qualC;
+                       } else if(flags.qualC == lo || flags.qualC < lo2) {
+                               lo2 = flags.qualC;
+                       }
+               }
+               if(!flags.mmG) {
+                       if(flags.qualG < lo) {
+                               lo2 = lo;
+                               lo = flags.qualG;
+                       } else if(flags.qualG == lo || flags.qualG < lo2) {
+                               lo2 = flags.qualG;
+                       }
+               }
+               if(!flags.mmT) {
+                       if(flags.qualT < lo) {
+                               lo2 = lo;
+                               lo = flags.qualT;
+                       } else if(flags.qualT == lo || flags.qualT < lo2) {
+                               lo2 = flags.qualT;
+                       }
+               }
+               assert_eq((int)lo, (int)flags.quallo);
+               assert_eq((int)lo2, (int)flags.quallo2);
+               return true;
+       }
+
+       struct {
+               uint64_t mmA   : 1; // A in ref aligns to non-A char in read
+               uint64_t mmC   : 1; // C in ref aligns to non-C char in read
+               uint64_t mmG   : 1; // G in ref aligns to non-G char in read
+               uint64_t mmT   : 1; // T in ref aligns to non-T char in read
+               uint64_t snpA  : 1; // Same as mmA, but we think it's a SNP and not a miscall
+               uint64_t snpC  : 1; // Same as mmC, but we think it's a SNP and not a miscall
+               uint64_t snpG  : 1; // Same as mmG, but we think it's a SNP and not a miscall
+               uint64_t snpT  : 1; // Same as mmT, but we think it's a SNP and not a miscall
+               uint64_t insA  : 1; // A insertion in reference w/r/t read
+               uint64_t insC  : 1; // C insertion in reference w/r/t read
+               uint64_t insG  : 1; // G insertion in reference w/r/t read
+               uint64_t insT  : 1; // T insertion in reference w/r/t read
+               uint64_t del   : 1; // deletion of read character
+               uint64_t qualA : 7; // quality penalty for picking A at this position
+               uint64_t qualC : 7; // quality penalty for picking C at this position
+               uint64_t qualG : 7; // quality penalty for picking G at this position
+               uint64_t qualT : 7; // quality penalty for picking T at this position
+               uint64_t quallo : 7; // lowest quality penalty at this position
+               uint64_t quallo2 : 7; // 2nd-lowest quality penalty at this position
+               uint64_t reserved : 9;
+       } flags;
+       struct {
+               uint64_t elims : 13; // all of the edit-elim flags bundled together
+               uint64_t quals : 42; // quality of positions
+               uint64_t reserved : 9;
+       } join;
+       struct {
+               uint64_t mmElims  : 4; // substitution flags bundled together
+               uint64_t snpElims : 4; // substitution flags bundled together
+               uint64_t insElims : 4; // inserts-in-reference flags bundled together
+               uint64_t delElims : 1; // deletion of read character
+               uint64_t quals    : 42; // quality of positions
+               uint64_t reserved : 9;
+       } join2;
+};
+
+/**
+ * All per-position state, including the ranges calculated for each
+ * character, the quality value at the position, and a set of flags
+ * recording whether we've tried each way of proceeding from this
+ * position.
+ */
+struct RangeState {
+
+       /**
+        * Using randomness when picking from among multiple choices, pick
+        * an edit to make.  TODO: Only knows how to pick mismatches for
+        * now.
+        */
+       Edit pickEdit(int pos, RandomSource& rand, bool fuzzy,
+                     uint32_t& top, uint32_t& bot, bool indels,
+                     bool& last)
+       {
+               bool color = false;
+               Edit ret;
+               ret.type = EDIT_TYPE_MM;
+               ret.pos = pos;
+               ret.chr = 0;
+               ret.qchr = 0;
+               ret.reserved = 0;
+               assert(!eliminated_);
+               assert(!fuzzy || eq.repOk());
+               assert(!eq.flags.mmA || !eq.flags.mmC || !eq.flags.mmG || !eq.flags.mmT);
+               int num = !eq.flags.mmA + !eq.flags.mmC + !eq.flags.mmG + !eq.flags.mmT;
+               assert_leq(num, 4);
+               assert_gt(num, 0);
+               uint8_t lo2 = eq.flags.quallo2;
+               if(num == 2) eq.flags.quallo2 = 127;
+               // Only need to pick randomly if there's a quality tie
+               if(num > 1 && (!fuzzy || eq.flags.quallo == lo2)) {
+                       last = false; // not the last at this pos
+                       // Sum up range sizes and do a random weighted pick
+                       uint32_t tot = 0;
+                       bool candA = !eq.flags.mmA; bool candC = !eq.flags.mmC;
+                       bool candG = !eq.flags.mmG; bool candT = !eq.flags.mmT;
+                       bool candInsA = false, candInsC = false;
+                       bool candInsG = false, candInsT = false;
+                       bool candDel = false;
+                       if(indels) {
+                               // Insertions and deletions can only be candidates
+                               // if the user asked for indels
+                               candInsA = !eq.flags.insA;
+                               candInsC = !eq.flags.insC;
+                               candInsG = !eq.flags.insG;
+                               candInsT = !eq.flags.insT;
+                               candDel = !eq.flags.del;
+                       }
+                       if(fuzzy) {
+                               // To be a candidate in fuzzy mode, you have to both
+                               // (a) not have been eliminated, and (b) be tied for
+                               // lowest penalty.
+                               candA = (candA && eq.flags.qualA == eq.flags.quallo);
+                               candC = (candC && eq.flags.qualC == eq.flags.quallo);
+                               candG = (candG && eq.flags.qualG == eq.flags.quallo);
+                               candT = (candT && eq.flags.qualT == eq.flags.quallo);
+                       }
+                       ASSERT_ONLY(int origNum = num);
+                       if(candA) {
+                               assert_gt(bots[0], tops[0]);
+                               tot += (bots[0] - tops[0]);
+                               assert_gt(num, 0);
+                               ASSERT_ONLY(num--);
+                       }
+                       if(candC) {
+                               assert_gt(bots[1], tops[1]);
+                               tot += (bots[1] - tops[1]);
+                               assert_gt(num, 0);
+                               ASSERT_ONLY(num--);
+                       }
+                       if(candG) {
+                               assert_gt(bots[2], tops[2]);
+                               tot += (bots[2] - tops[2]);
+                               assert_gt(num, 0);
+                               ASSERT_ONLY(num--);
+                       }
+                       if(candT) {
+                               assert_gt(bots[3], tops[3]);
+                               tot += (bots[3] - tops[3]);
+                               assert_gt(num, 0);
+                               ASSERT_ONLY(num--);
+                       }
+                       if(indels) {
+                               if(candInsA) {
+                                       assert_gt(bots[0], tops[0]);
+                                       tot += (bots[0] - tops[0]);
+                                       assert_gt(num, 0);
+                                       ASSERT_ONLY(num--);
+                               }
+                               if(candInsC) {
+                                       assert_gt(bots[1], tops[1]);
+                                       tot += (bots[1] - tops[1]);
+                                       assert_gt(num, 0);
+                                       ASSERT_ONLY(num--);
+                               }
+                               if(candInsG) {
+                                       assert_gt(bots[2], tops[2]);
+                                       tot += (bots[2] - tops[2]);
+                                       assert_gt(num, 0);
+                                       ASSERT_ONLY(num--);
+                               }
+                               if(candInsT) {
+                                       assert_gt(bots[3], tops[3]);
+                                       tot += (bots[3] - tops[3]);
+                                       assert_gt(num, 0);
+                                       ASSERT_ONLY(num--);
+                               }
+                               if(candDel) {
+                                       // Always a candidate?
+                                       // Always a candidate just within the window?
+                                       // We can eliminate some indels based on the content downstream, but not many
+                               }
+                       }
+
+                       assert_geq(num, 0);
+                       assert_lt(num, origNum);
+                       // Throw a dart randomly that hits one of the possible
+                       // substitutions, with likelihoods weighted by range size
+                       uint32_t dart = rand.nextU32() % tot;
+                       if(candA) {
+                               if(dart < (bots[0] - tops[0])) {
+                                       // Eliminate A mismatch
+                                       top = tops[0];
+                                       bot = bots[0];
+                                       eq.flags.mmA = 1;
+                                       assert_lt(eq.join2.mmElims, 15);
+                                       ret.chr = color ? '0' : 'A';
+                                       if(fuzzy) eq.updateLo();
+                                       return ret;
+                               }
+                               dart -= (bots[0] - tops[0]);
+                       }
+                       if(candC) {
+                               if(dart < (bots[1] - tops[1])) {
+                                       // Eliminate C mismatch
+                                       top = tops[1];
+                                       bot = bots[1];
+                                       eq.flags.mmC = 1;
+                                       assert_lt(eq.join2.mmElims, 15);
+                                       ret.chr = color ? '1' : 'C';
+                                       if(fuzzy) eq.updateLo();
+                                       return ret;
+                               }
+                               dart -= (bots[1] - tops[1]);
+                       }
+                       if(candG) {
+                               if(dart < (bots[2] - tops[2])) {
+                                       // Eliminate G mismatch
+                                       top = tops[2];
+                                       bot = bots[2];
+                                       eq.flags.mmG = 1;
+                                       assert_lt(eq.join2.mmElims, 15);
+                                       ret.chr = color ? '2' : 'G';
+                                       if(fuzzy) eq.updateLo();
+                                       return ret;
+                               }
+                               dart -= (bots[2] - tops[2]);
+                       }
+                       if(candT) {
+                               assert_lt(dart, (bots[3] - tops[3]));
+                               // Eliminate T mismatch
+                               top = tops[3];
+                               bot = bots[3];
+                               eq.flags.mmT = 1;
+                               assert_lt(eq.join2.mmElims, 15);
+                               ret.chr = color ? '3' : 'T';
+                               if(fuzzy) eq.updateLo();
+                       }
+               } else {
+                       if(fuzzy) {
+                               last = (num == 1);
+                               int chr = -1;
+                               if(eq.flags.qualA == eq.flags.quallo && eq.flags.mmA == 0) {
+                                       eq.flags.mmA = 1;
+                                       chr = 0;
+                               } else if(eq.flags.qualC == eq.flags.quallo && eq.flags.mmC == 0) {
+                                       eq.flags.mmC = 1;
+                                       chr = 1;
+                               } else if(eq.flags.qualG == eq.flags.quallo && eq.flags.mmG == 0) {
+                                       eq.flags.mmG = 1;
+                                       chr = 2;
+                               } else {
+                                       assert_eq(eq.flags.qualT, eq.flags.quallo);
+                                       assert_eq(0, eq.flags.mmT);
+                                       eq.flags.mmT = 1;
+                                       chr = 3;
+                               }
+                               ret.chr = color ? "0123"[chr] : "ACGT"[chr];
+                               top = tops[chr];
+                               bot = bots[chr];
+                               eliminated_ = last;
+                               if(!last) eq.updateLo();
+               } else {
+                       last = true; // last at this pos
+                       // There's only one; pick it!
+                       int chr = -1;
+                       if(!eq.flags.mmA) {
+                               chr = 0;
+                       } else if(!eq.flags.mmC) {
+                               chr = 1;
+                       } else if(!eq.flags.mmG) {
+                               chr = 2;
+                       } else {
+                               assert(!eq.flags.mmT);
+                               chr = 3;
+                       }
+                       ret.chr = color ? "0123"[chr] : "ACGT"[chr];
+                       top = tops[chr];
+                       bot = bots[chr];
+                       //assert_eq(15, eq.join2.mmElims);
+                       // Mark entire position as eliminated
+                       eliminated_ = true;
+                       }
+               }
+                       return ret;
+       }
+
+       /**
+        * Return true (without assertion) iff this RangeState is
+        * internally consistent.
+        */
+       bool repOk() {
+               if(eliminated_) return true;
+               // Uneliminated chars must have non-empty ranges
+               if(!eq.flags.mmA || !eq.flags.insA) assert_gt(bots[0], tops[0]);
+               if(!eq.flags.mmC || !eq.flags.insC) assert_gt(bots[1], tops[1]);
+               if(!eq.flags.mmG || !eq.flags.insG) assert_gt(bots[2], tops[2]);
+               if(!eq.flags.mmT || !eq.flags.insT) assert_gt(bots[3], tops[3]);
+               return true;
+       }
+
+       // Outgoing ranges; if the position being described is not a
+       // legitimate jumping-off point for a branch, tops[] and bots[]
+       // will be filled with 0s and all possibilities in eq will be
+       // eliminated
+       uint32_t tops[4]; // A, C, G, T top offsets
+       uint32_t bots[4]; // A, C, G, T bot offsets
+       ElimsAndQual eq;  // Which outgoing paths have been tried already
+       bool eliminated_;  // Whether all outgoing paths have been eliminated
+};
+
+/**
+ * Encapsulates a "branch" of the search space; i.e. all of the
+ * information deduced by walking along a path with only matches, along
+ * with information about the decisions that lead to the root of that
+ * path.
+ */
+class Branch {
+       typedef std::pair<uint32_t, uint32_t> U32Pair;
+public:
+       Branch() :
+               delayedCost_(0), curtailed_(false), exhausted_(false),
+               prepped_(false), delayedIncrease_(false) { }
+
+       /**
+        * Initialize a new branch object with an empty path.
+        */
+       bool init(AllocOnlyPool<RangeState>& rsPool,
+                 AllocOnlyPool<Edit>& epool,
+                 uint32_t id,
+                 uint32_t qlen,
+                 uint16_t depth0,
+                 uint16_t depth1,
+                 uint16_t depth2,
+                 uint16_t depth3,
+                 uint16_t rdepth,
+                 uint16_t len,
+                 uint16_t cost,
+                 uint16_t ham,
+                 uint32_t itop,
+                 uint32_t ibot,
+                 const EbwtParams& ep,
+                 const uint8_t* ebwt,
+                 const EditList* edits = NULL)
+       {
+               id_ = id;
+               delayedCost_ = 0;
+               depth0_ = depth0;
+               depth1_ = depth1;
+               depth2_ = depth2;
+               depth3_ = depth3;
+               assert_gt(depth3_, 0);
+               rdepth_ = rdepth;
+               len_ = len;
+               cost_ = cost;
+               ham_ = ham;
+               top_ = itop;
+               bot_ = ibot;
+
+               if(ibot > itop+1) {
+                       // Care about both top and bot
+                       SideLocus::initFromTopBot(itop, ibot, ep, ebwt, ltop_, lbot_);
+               } else if(ibot > itop) {
+                       // Only care about top
+                       ltop_.initFromRow(itop, ep, ebwt);
+                       lbot_.invalidate();
+               }
+               if(qlen - rdepth_ > 0) {
+                       ranges_ = rsPool.allocC(qlen - rdepth_); // allocated from the RangeStatePool
+                       if(ranges_ == NULL) {
+                               return false; // RangeStatePool exhausted
+                       }
+                       rangesSz_ = qlen - rdepth_;
+               } else {
+                       ranges_ = NULL;
+                       rangesSz_ = 0;
+               }
+#ifndef NDEBUG
+               for(size_t i = 0; i < (qlen - rdepth_); i++) {
+                       for(int j = 0; j < 4; j++) {
+                               assert_eq(0, ranges_[i].tops[j]);
+                               assert_eq(0, ranges_[i].bots[j]);
+                       }
+               }
+#endif
+               curtailed_ = false;
+               exhausted_ = false;
+               prepped_ = true;
+               delayedIncrease_ = false;
+               edits_.clear();
+               if(edits != NULL) {
+                       const size_t numEdits = edits->size();
+                       for(size_t i = 0; i < numEdits; i++) {
+                               edits_.add(edits->get(i), epool, qlen);
+                       }
+               }
+               // If we're starting with a non-zero length, that means we're
+               // jumping over a bunch of unrevisitable positions.
+               for(size_t i = 0; i < len_; i++) {
+                       ranges_[i].eliminated_ = true;
+                       assert(eliminated(i));
+               }
+               assert(repOk(qlen));
+               return true;
+       }
+
+       /**
+        * Depth of the deepest tip of the branch.
+        */
+       uint16_t tipDepth() const {
+               return rdepth_ + len_;
+       }
+
+       /**
+        * Return true iff all outgoing edges from position i have been
+        * eliminated.
+        */
+       inline bool eliminated(int i) const {
+               assert(!exhausted_);
+               if(i <= len_ && i < rangesSz_) {
+                       assert(ranges_ != NULL);
+#ifndef NDEBUG
+                       if(!ranges_[i].eliminated_) {
+                               // Someone must be as-yet-uneliminated
+                               assert(!ranges_[i].eq.flags.mmA ||
+                                      !ranges_[i].eq.flags.mmC ||
+                                      !ranges_[i].eq.flags.mmG ||
+                                      !ranges_[i].eq.flags.mmT);
+                               assert_lt(ranges_[i].eq.flags.quallo, 127);
+                       }
+#endif
+                       return ranges_[i].eliminated_;
+               }
+               return true;
+       }
+
+       /**
+        * Split off a new branch by selecting a good outgoing path and
+        * creating a new Branch object for it and inserting that branch
+        * into the priority queue.  Mark that outgoing path from the
+        * parent branch as eliminated.  If the second-best outgoing path
+        * cost more, add the difference to the cost of this branch (since
+        * that's the best we can do starting from here from now on).
+        */
+       Branch* splitBranch(AllocOnlyPool<RangeState>& rpool,
+                           AllocOnlyPool<Edit>& epool,
+                           AllocOnlyPool<Branch>& bpool,
+                           uint32_t pmSz,
+                           RandomSource& rand, uint32_t qlen,
+                           uint32_t qualLim, int seedLen,
+                           bool qualOrder, const EbwtParams& ep,
+                           const uint8_t* ebwt, bool ebwtFw,
+                           bool fuzzy,
+                           bool verbose,
+                           bool quiet)
+       {
+               assert(!exhausted_);
+               assert(ranges_ != NULL);
+               assert(curtailed_);
+               assert_gt(pmSz, 0);
+               Branch *newBranch = bpool.alloc();
+               if(newBranch == NULL) {
+                       return NULL;
+               }
+               assert(newBranch != NULL);
+               uint32_t id = bpool.lastId();
+               int tiedPositions[3];
+               int numTiedPositions = 0;
+               // Lowest marginal cost incurred by any of the positions with
+               // non-eliminated outgoing edges
+               uint16_t bestCost = 0xffff;
+               // Next-lowest
+               uint16_t nextCost = 0xffff;
+               int numNotEliminated = 0;
+               int i = (int)depth0_;
+               i = max(0, i - rdepth_);
+               // Iterate over revisitable positions in the path
+               for(; i <= len_; i++) {
+                       // If there are still valid options for leaving out of this
+                       // position
+                       if(!eliminated(i)) {
+                               numNotEliminated++;
+                               if(fuzzy) {
+                                       assert_lt(ranges_[i].eq.flags.quallo, 127);
+                                       if(ranges_[i].eq.flags.quallo2 < 127) {
+                                               numNotEliminated++;
+                                       }
+                               }
+                               uint16_t stratum = (rdepth_ + i < seedLen) ? (1 << 14) : 0;
+                               uint16_t cost = stratum;
+                               cost |= (qualOrder ? ranges_[i].eq.flags.quallo : 0);
+                               if(cost < bestCost) {
+                                       // Demote the old best to the next-best
+                                       nextCost = bestCost;
+                                       if(fuzzy) {
+                                               if(ranges_[i].eq.flags.quallo2 < 127) {
+                                                       nextCost = min<uint16_t>(
+                                                               nextCost, ranges_[i].eq.flags.quallo2 | stratum);
+                                               }
+                                       }
+                                       // Update the new best
+                                       bestCost = cost;
+                                       numTiedPositions = 1;
+                                       tiedPositions[0] = i;
+                               } else if(cost == bestCost) {
+                                       // As good as the best so far
+                                       if(fuzzy) nextCost = cost;
+                                       assert_gt(numTiedPositions, 0);
+                                       if(numTiedPositions < 3) {
+                                               tiedPositions[numTiedPositions++] = i;
+                                       } else {
+                                               tiedPositions[0] = tiedPositions[1];
+                                               tiedPositions[1] = tiedPositions[2];
+                                               tiedPositions[2] = i;
+                                       }
+                               } else if(cost < nextCost) {
+                                       // 'cost' isn't beter than the best, but it is
+                                       // better than the next-best
+                                       nextCost = cost;
+                               }
+                       }
+               }
+               assert_gt(numNotEliminated, 0);
+               assert_gt(numTiedPositions, 0);
+               //if(nextCost != 0xffff) assert_gt(nextCost, bestCost);
+               int r = 0;
+               if(numTiedPositions > 1) {
+                       r = rand.nextU32() % numTiedPositions;
+               }
+               int pos = tiedPositions[r];
+               bool last = false;
+               // Pick an edit from among the edits tied for lowest cost
+               // (using randomness to break ties).  If the selected edit is
+               // the last remaining one at this position, 'last' is set to
+               // true.
+               uint32_t top = 0, bot = 0;
+               Edit e = ranges_[pos].pickEdit(pos + rdepth_, rand, fuzzy, top,
+                                              bot, false, last);
+               assert_gt(bot, top);
+               // Create and initialize a new Branch
+               uint16_t newRdepth = rdepth_ + pos + 1;
+               assert_lt((bestCost >> 14), 4);
+               uint32_t hamadd = (bestCost & ~0xc000);
+               uint16_t depth = pos + rdepth_;
+               assert_geq(depth, depth0_);
+               uint16_t newDepth0 = depth0_;
+               uint16_t newDepth1 = depth1_;
+               uint16_t newDepth2 = depth2_;
+               uint16_t newDepth3 = depth3_;
+               if(depth < depth1_) newDepth0 = depth1_;
+               if(depth < depth2_) newDepth1 = depth2_;
+               if(depth < depth3_) newDepth2 = depth3_;
+               assert_eq((uint32_t)(cost_ & ~0xc000), (uint32_t)(ham_ + hamadd));
+               if(!newBranch->init(
+                               rpool, epool, id, qlen,
+                               newDepth0, newDepth1, newDepth2, newDepth3,
+                               newRdepth, 0, cost_, ham_ + hamadd,
+                               top, bot, ep, ebwt, &edits_))
+               {
+                       return NULL;
+               }
+               // Add the new edit
+               newBranch->edits_.add(e, epool, qlen);
+               if(numNotEliminated == 1 && last) {
+                       // This branch is totally exhausted; there are no more
+                       // valid outgoing paths from any positions within it.
+                       // Remove it from the PathManager and mark it as exhausted.
+                       // The caller should delete it.
+                       exhausted_ = true;
+                       if(ranges_ != NULL) {
+                               assert_gt(rangesSz_, 0);
+                               if(rpool.free(ranges_, rangesSz_)) {
+                                       ranges_ = NULL;
+                                       rangesSz_ = 0;
+                               }
+                       }
+               }
+               else if(fuzzy && bestCost != nextCost) {
+                       // We exhausted the last outgoing edge at the current best
+                       // cost; update the best cost to be the next-best
+                       assert_gt(nextCost, bestCost);
+                       delayedCost_ = (cost_ - bestCost + nextCost);
+                       assert_gt(delayedCost_, cost_);
+                       delayedIncrease_ = true;
+               }
+               else if(!fuzzy && numTiedPositions == 1 && last) {
+                       // We exhausted the last outgoing edge at the current best
+                       // cost; update the best cost to be the next-best
+                       assert_neq(0xffff, nextCost);
+                       if(bestCost != nextCost) {
+                               assert_gt(nextCost, bestCost);
+                               delayedCost_ = (cost_ - bestCost + nextCost);
+                               delayedIncrease_ = true;
+                       }
+               }
+               return newBranch;
+       }
+
+       /**
+        * Free a branch and all its contents.
+        */
+       void free(uint32_t qlen,
+                 AllocOnlyPool<RangeState>& rpool,
+                 AllocOnlyPool<Edit>& epool,
+                 AllocOnlyPool<Branch>& bpool)
+       {
+               edits_.free(epool, qlen);
+               if(ranges_ != NULL) {
+                       assert_gt(rangesSz_, 0);
+                       rpool.free(ranges_, rangesSz_);
+                       ranges_ = NULL;
+                       rangesSz_ = 0;
+               }
+               bpool.free(this);
+       }
+
+       /**
+        * Pretty-print the state of this branch.
+        */
+       void print(const String<Dna5>& qry,
+                  const String<char>& quals,
+                  uint16_t minCost,
+                  std::ostream& out,
+                  bool halfAndHalf,
+                  bool seeded,
+                  bool fw,
+                  bool ebwtFw)
+       {
+               size_t editidx = 0;
+               size_t printed = 0;
+               const size_t qlen = seqan::length(qry);
+               if(exhausted_)      out << "E ";
+               else if(curtailed_) out << "C ";
+               else                out << "  ";
+               if(ebwtFw) out << "<";
+               else       out << ">";
+               if(fw)     out << "F ";
+               else       out << "R ";
+               std::stringstream ss;
+               ss << cost_;
+               string s = ss.str();
+               if(s.length() < 6) {
+                       for(size_t i = 0; i < 6 - s.length(); i++) {
+                               out << "0";
+                       }
+               }
+               out << s << " ";
+               std::stringstream ss2;
+               ss2 << minCost;
+               s = ss2.str();
+               if(s.length() < 6) {
+                       for(size_t i = 0; i < 6 - s.length(); i++) {
+                               out << "0";
+                       }
+               }
+               out << s;
+               if(halfAndHalf) out << " h ";
+               else if(seeded) out << " s ";
+               else            out << "   ";
+               std::stringstream ss3;
+               const size_t numEdits = edits_.size();
+               if(rdepth_ > 0) {
+                       for(size_t i = 0; i < rdepth_; i++) {
+                               if(editidx < numEdits && edits_.get(editidx).pos == i) {
+                                       ss3 << " " << (char)tolower(edits_.get(editidx).chr);
+                                       editidx++;
+                               } else {
+                                       ss3 << " " << (char)qry[qlen - i - 1];
+                               }
+                               printed++;
+                       }
+                       ss3 << "|";
+               } else {
+                       ss3 << " ";
+               }
+               for(size_t i = 0; i < len_; i++) {
+                       if(editidx < numEdits && edits_.get(editidx).pos == printed) {
+                               ss3 << (char)tolower(edits_.get(editidx).chr) << " ";
+                               editidx++;
+                       } else {
+                               ss3 << (char)qry[qlen - printed - 1] << " ";
+                       }
+                       printed++;
+               }
+               assert_eq(editidx, edits_.size());
+               for(size_t i = printed; i < qlen; i++) {
+                       ss3 << "= ";
+               }
+               s = ss3.str();
+               if(ebwtFw) {
+                       std::reverse(s.begin(), s.end());
+               }
+               out << s << endl;
+       }
+
+       /**
+        * Called when the most recent branch extension resulted in an
+        * empty range or some other constraint violation (e.g., a
+        * half-and-half constraint).
+        */
+       void curtail(AllocOnlyPool<RangeState>& rpool, int seedLen, bool qualOrder) {
+               assert(!curtailed_);
+               assert(!exhausted_);
+               if(ranges_ == NULL) {
+                       exhausted_ = true;
+                       curtailed_ = true;
+                       return;
+               }
+               uint16_t lowestCost = 0xffff;
+               // Iterate over positions in the path looking for the cost of
+               // the lowest-cost non-eliminated position
+               uint32_t eliminatedStretch = 0;
+               int i = (int)depth0_;
+               i = max(0, i - rdepth_);
+               // TODO: It matters whether an insertion/deletion at given
+               // position would be a gap open or a gap extension
+               for(; i <= len_; i++) {
+                       if(!eliminated(i)) {
+                               eliminatedStretch = 0;
+                               uint16_t stratum = (rdepth_ + i < seedLen) ? (1 << 14) : 0;
+                               uint16_t cost = (qualOrder ? /*TODO*/ ranges_[i].eq.flags.quallo : 0) | stratum;
+                               if(cost < lowestCost) lowestCost = cost;
+                       } else if(i < rangesSz_) {
+                               eliminatedStretch++;
+                       }
+               }
+               if(lowestCost > 0 && lowestCost != 0xffff) {
+                       // This branch's cost will change when curtailed; the
+                       // caller should re-insert it into the priority queue so
+                       // that the new cost takes effect.
+                       cost_ += lowestCost;
+               } else if(lowestCost == 0xffff) {
+                       // This branch is totally exhausted; there are no more
+                       // valid outgoing paths from any positions within it.
+                       // Remove it from the PathManager and mark it as exhausted.
+                       // The caller should delete it.
+                       exhausted_ = true;
+                       if(ranges_ != NULL) {
+                               assert_gt(rangesSz_, 0);
+                               if(rpool.free(ranges_, rangesSz_)) {
+                                       ranges_ = NULL;
+                                       rangesSz_ = 0;
+                               }
+                       }
+               } else {
+                       // Just mark it as curtailed and keep the same cost
+               }
+               if(ranges_ != NULL) {
+                       // Try to trim off no-longer-relevant elements of the
+                       // ranges_ array
+                       assert(!exhausted_);
+                       assert_gt(rangesSz_, 0);
+                       uint32_t trim = (rangesSz_ - len_ - 1) + eliminatedStretch;
+                       assert_leq(trim, rangesSz_);
+                       if(rpool.free(ranges_ + rangesSz_ - trim, trim)) {
+                               rangesSz_ -= trim;
+                               if(rangesSz_ == 0) {
+                                       ranges_ = NULL;
+                               }
+                       }
+               }
+               curtailed_ = true;
+       }
+
+       /**
+        * Prep this branch for the next extension by calculating the
+        * SideLocus information and prefetching cache lines from the
+        * appropriate loci.
+        */
+       void prep(const EbwtParams& ep, const uint8_t* ebwt) {
+               if(bot_ > top_+1) {
+                       SideLocus::initFromTopBot(top_, bot_, ep, ebwt, ltop_, lbot_);
+               } else if(bot_ > top_) {
+                       ltop_.initFromRow(top_, ep, ebwt);
+                       lbot_.invalidate();
+               }
+               prepped_ = true;
+       }
+
+       /**
+        * Get the furthest-out RangeState.
+        */
+       RangeState* rangeState() {
+               assert(!exhausted_);
+               assert(ranges_ != NULL);
+               assert_lt(len_, rangesSz_);
+               return &ranges_[len_];
+       }
+
+       /**
+        * Set the elims to match the ranges in ranges_[len_], already
+        * calculated by the caller.  Only does mismatches for now.
+        */
+       int installRanges(int c, int nextc, bool fuzzy, uint32_t qAllow,
+                         const uint8_t* qs)
+       {
+               assert(!exhausted_);
+               assert(ranges_ != NULL);
+               RangeState& r = ranges_[len_];
+               int ret = 0;
+               r.eliminated_ = true; // start with everything eliminated
+               r.eq.eliminate(); // set all elim flags to 1
+               assert_lt(qs[0], 127);
+               assert_lt(qs[1], 127);
+               assert_lt(qs[2], 127);
+               assert_lt(qs[3], 127);
+               if(!fuzzy) {
+                       assert_eq(qs[0], qs[1]);
+                       assert_eq(qs[0], qs[2]);
+                       assert_eq(qs[0], qs[3]);
+                       r.eq.flags.quallo = qs[0];
+                       if(qs[0] > qAllow) return 0;
+               }
+               // Set one/both of these to true to do the accounting for
+               // insertions and deletions as well as mismatches
+               bool doInserts = false;
+               bool doDeletes = false;
+               // We can proceed on an A
+               if(c != 0 && r.bots[0] > r.tops[0] && qs[0] <= qAllow) {
+                       r.eliminated_ = false;
+                       r.eq.flags.mmA = 0; // A substitution is an option
+                       if(doInserts) r.eq.flags.insA = 0;
+                       if(doDeletes && nextc == 0) r.eq.flags.del = 0;
+                       ret++;
+               }
+               // We can proceed on a C
+               if(c != 1 && r.bots[1] > r.tops[1] && qs[1] <= qAllow) {
+                       r.eliminated_ = false;
+                       r.eq.flags.mmC = 0; // C substitution is an option
+                       if(doInserts) r.eq.flags.insC = 0;
+                       if(doDeletes && nextc == 1) r.eq.flags.del = 0;
+                       ret++;
+               }
+               // We can proceed on a G
+               if(c != 2 && r.bots[2] > r.tops[2] && qs[2] <= qAllow) {
+                       r.eliminated_ = false;
+                       r.eq.flags.mmG = 0; // G substitution is an option
+                       if(doInserts) r.eq.flags.insG = 0;
+                       if(doDeletes && nextc == 2) r.eq.flags.del = 0;
+                       ret++;
+               }
+               // We can proceed on a T
+               if(c != 3 && r.bots[3] > r.tops[3] && qs[3] <= qAllow) {
+                       r.eliminated_ = false;
+                       r.eq.flags.mmT = 0; // T substitution is an option
+                       if(doInserts) r.eq.flags.insT = 0;
+                       if(doDeletes && nextc == 3) r.eq.flags.del = 0;
+                       ret++;
+               }
+               if(!r.eliminated_ && fuzzy) {
+                       // Copy quals
+                       r.eq.flags.qualA = qs[0];
+                       r.eq.flags.qualC = qs[1];
+                       r.eq.flags.qualG = qs[2];
+                       r.eq.flags.qualT = qs[3];
+
+                       // Now that the quals are set and the elim flags are set
+                       // according to which Burrows-Wheeler ranges are empty,
+                       // determine best and second-best quals
+                       r.eq.updateLo();
+
+                       assert_lt(r.eq.flags.quallo, 127);
+               }
+               return ret;
+       }
+
+       /**
+        * Extend this branch by one position.
+        */
+       void extend() {
+               assert(!exhausted_);
+               assert(!curtailed_);
+               assert(ranges_ != NULL);
+               assert(repOk());
+               prepped_ = false;
+               len_++;
+       }
+
+       /**
+        * Do an internal consistency check
+        */
+       bool repOk(uint32_t qlen = 0) const{
+               assert_leq(depth0_, depth1_);
+               assert_leq(depth1_, depth2_);
+               assert_leq(depth2_, depth3_);
+               assert_gt(depth3_, 0);
+               if(qlen > 0) {
+                       assert_leq(edits_.size(), qlen); // might have to relax this with inserts
+                       assert_leq(rdepth_, qlen);
+               }
+               for(int i = 0; i < len_; i++) {
+                       if(!eliminated(i)) {
+                               assert_lt(i, (int)(len_));
+                               assert(ranges_[i].repOk());
+                       }
+               }
+               const size_t numEdits = edits_.size();
+               for(size_t i = 0; i < numEdits; i++) {
+                       for(size_t j = i+1; j < numEdits; j++) {
+                               // No two edits should be at the same position (might
+                               // have to relax this with inserts)
+                               assert_neq(edits_.get(i).pos, edits_.get(j).pos);
+                       }
+               }
+               assert_lt((cost_ >> 14), 4);
+               return true;
+       }
+
+       uint32_t id_;     // branch id; needed to make the ordering of
+                         // branches that are tied in the priority queue
+                         // totally unambiguous.  Otherwise, things start
+                         // getting non-deterministic.
+       uint16_t depth0_; // no edits at depths < depth0
+       uint16_t depth1_; // at most 1 edit at depths < depth1
+       uint16_t depth2_; // at most 2 edits at depths < depth2
+       uint16_t depth3_; // at most 3 edits at depths < depth3
+       uint16_t rdepth_; // offset in read space from root of search space
+       uint16_t len_;    // length of the branch
+       uint16_t cost_;   // top 2 bits = stratum, bottom 14 = qual ham
+                         // it's up to Branch to keep this updated with the
+                         // cumulative cost of the best path leaving the
+                         // branch; if the branch hasn't been fully
+                         // extended yet, then that path will always be the
+                         // one that extends it by one more
+       uint16_t ham_;    // quality-weighted hamming distance so far
+       RangeState *ranges_; // Allocated from the RangeStatePool
+       uint16_t rangesSz_;
+       uint32_t top_;    // top offset leading to the root of this subtree
+       uint32_t bot_;    // bot offset leading to the root of this subtree
+       SideLocus ltop_;
+       SideLocus lbot_;
+       EditList edits_;   // edits leading to the root of the branch
+
+       uint16_t delayedCost_;
+
+       bool curtailed_;  // can't be extended anymore without using edits
+       bool exhausted_;  // all outgoing edges exhausted, including all edits
+       bool prepped_;    // whether SideLocus's are inited
+       bool delayedIncrease_;
+};
+
+/**
+ * Order two Branches based on cost.
+ */
+class CostCompare {
+public:
+       /**
+        * true -> b before a
+        * false -> a before b
+        */
+       bool operator()(const Branch* a, const Branch* b) const {
+               bool aUnextendable = a->curtailed_ || a->exhausted_;
+               bool bUnextendable = b->curtailed_ || b->exhausted_;
+               // Branch with the best cost
+               if(a->cost_ == b->cost_) {
+                       // If one or the other is curtailed, take the one that's
+                       // still getting extended
+                       if(bUnextendable && !aUnextendable) {
+                               // a still being extended, return false
+                               return false;
+                       }
+                       if(aUnextendable && !bUnextendable) {
+                               // b still being extended, return true
+                               return true;
+                       }
+                       // Either both are curtailed or both are still being
+                       // extended, pick based on which one is deeper
+                       if(a->tipDepth() != b->tipDepth()) {
+                               // Expression is true if b is deeper
+                               return a->tipDepth() < b->tipDepth();
+                       }
+                       // Keep things deterministic by providing an unambiguous
+                       // order using the id_ field
+                       assert_neq(b->id_, a->id_);
+                       return b->id_ < a->id_;
+               } else {
+                       return b->cost_ < a->cost_;
+               }
+       }
+
+       static bool equal(const Branch* a, const Branch* b) {
+               return a->cost_ == b->cost_ && a->curtailed_ == b->curtailed_ && a->tipDepth() == b->tipDepth();
+       }
+};
+
+/**
+ * A priority queue for Branch objects; makes it easy to process
+ * branches in a best-first manner by prioritizing branches with lower
+ * cumulative costs over branches with higher cumulative costs.
+ */
+class BranchQueue {
+
+       typedef std::pair<int, int> TIntPair;
+       typedef std::priority_queue<Branch*, std::vector<Branch*>, CostCompare> TBranchQueue;
+
+public:
+
+       BranchQueue(bool verbose, bool quiet) :
+               sz_(0), branchQ_(), patid_(0), verbose_(verbose), quiet_(quiet)
+       { }
+
+       /**
+        * Return the front (highest-priority) element of the queue.
+        */
+       Branch *front() {
+               Branch *b = branchQ_.top();
+               if(verbose_) {
+                       stringstream ss;
+                       ss << patid_ << ": Fronting " << b->id_ << ", " << b << ", " << b->cost_ << ", " << b->exhausted_ << ", " << b->curtailed_ << ", " << sz_ << "->" << (sz_-1);
+                       glog.msg(ss.str());
+               }
+               return b;
+       }
+
+       /**
+        * Remove and return the front (highest-priority) element of the
+        * queue.
+        */
+       Branch *pop() {
+               Branch *b = branchQ_.top(); // get it
+               branchQ_.pop(); // remove it
+               if(verbose_) {
+                       stringstream ss;
+                       ss << patid_ << ": Popping " << b->id_ << ", " << b << ", " << b->cost_ << ", " << b->exhausted_ << ", " << b->curtailed_ << ", " << sz_ << "->" << (sz_-1);
+                       glog.msg(ss.str());
+               }
+               sz_--;
+               return b;
+       }
+
+       /**
+        * Insert a new Branch into the sorted priority queue.
+        */
+       void push(Branch *b) {
+#ifndef NDEBUG
+               bool bIsBetter = empty() || !CostCompare()(b, branchQ_.top());
+#endif
+               if(verbose_) {
+                       stringstream ss;
+                       ss << patid_ << ": Pushing " << b->id_ << ", " << b << ", " << b->cost_ << ", " << b->exhausted_ << ", " << b->curtailed_ << ", " << sz_ << "->" << (sz_+1);
+                       glog.msg(ss.str());
+               }
+               branchQ_.push(b);
+#ifndef NDEBUG
+               assert(bIsBetter  || branchQ_.top() != b || CostCompare::equal(branchQ_.top(), b));
+               assert(!bIsBetter || branchQ_.top() == b || CostCompare::equal(branchQ_.top(), b));
+#endif
+               sz_++;
+       }
+
+       /**
+        * Empty the priority queue and reset the count.
+        */
+       void reset(uint32_t patid) {
+               patid_ = patid;
+               branchQ_ = TBranchQueue();
+               sz_ = 0;
+       }
+
+       /**
+        * Return true iff the priority queue of branches is empty.
+        */
+       bool empty() const {
+               bool ret = branchQ_.empty();
+               assert(ret || sz_ > 0);
+               assert(!ret || sz_ == 0);
+               return ret;
+       }
+
+       /**
+        * Return the number of Branches in the queue.
+        */
+       uint32_t size() const {
+               return sz_;
+       }
+
+#ifndef NDEBUG
+       /**
+        * Consistency check.
+        */
+       bool repOk(std::set<Branch*>& bset) {
+               TIntPair pair = bestStratumAndHam(bset);
+               Branch *b = branchQ_.top();
+               assert_eq(pair.first, (b->cost_ >> 14));
+               assert_eq(pair.second, (b->cost_ & ~0xc000));
+               std::set<Branch*>::iterator it;
+               for(it = bset.begin(); it != bset.end(); it++) {
+                       assert_gt((*it)->depth3_, 0);
+               }
+               return true;
+       }
+#endif
+
+protected:
+
+#ifndef NDEBUG
+       /**
+        * Return the stratum and quality-weight (sum of qualities of all
+        * edited positions) of the lowest-cost branch.
+        */
+       TIntPair bestStratumAndHam(std::set<Branch*>& bset) const {
+               TIntPair ret = make_pair(0xffff, 0xffff);
+               std::set<Branch*>::iterator it;
+               for(it = bset.begin(); it != bset.end(); it++) {
+                       Branch *b = *it;
+                       int stratum = b->cost_ >> 14;
+                       assert_lt(stratum, 4);
+                       int qual = b->cost_ & ~0xc000;
+                       if(stratum < ret.first ||
+                          (stratum == ret.first && qual < ret.second))
+                       {
+                               ret.first = stratum;
+                               ret.second = qual;
+                       }
+               }
+               return ret;
+       }
+#endif
+
+       uint32_t sz_;
+       TBranchQueue branchQ_; // priority queue of branches
+       uint32_t patid_;
+       bool verbose_;
+       bool quiet_;
+};
+
+/**
+ * A class that both contains Branches and determines how those
+ * branches are extended to form longer paths.  The overall goal is to
+ * find the best full alignment(s) as quickly as possible so that a
+ * successful search can finish quickly.  A second goal is to ensure
+ * that the most "promising" paths are tried first so that, if there is
+ * a limit on the amount of effort spent searching before we give up,
+ * we can be as sensitive as possible given that limit.
+ *
+ * The quality (or cost) of a given alignment path will ultimately be
+ * configurable.  The default cost model is:
+ *
+ * 1. Mismatches incur one "edit" penalty and a "quality" penalty with
+ *    magnitude equal to the Phred quality score of the read position
+ *    involved in the edit (note that insertions into the read are a
+ *    little trickier).
+ * 2. Edit penalties are all more costly than any quality penalty; i.e.
+ *    the policy sorts alignments first by edit penalty, then by
+ *    quality penalty.
+ * 3. For the Maq-like alignment policy, edit penalties saturate (don't
+ *    get any greater) after leaving the seed region of the alignment.
+ */
+class PathManager {
+
+public:
+
+       PathManager(ChunkPool* cpool_, int *btCnt, bool verbose, bool quiet) :
+               branchQ_(verbose, quiet),
+               cpool(cpool_),
+               bpool(cpool, "branch"),
+               rpool(cpool, "range state"),
+               epool(cpool, "edit"),
+               minCost(0), btCnt_(btCnt),
+               verbose_(verbose),
+               quiet_(quiet)
+       { }
+
+       ~PathManager() { }
+
+       /**
+        * Return the "front" (highest-priority) branch in the collection.
+        */
+       Branch* front() {
+               assert(!empty());
+               assert_gt(branchQ_.front()->depth3_, 0);
+               return branchQ_.front();
+       }
+
+       /**
+        * Pop the highest-priority (lowest cost) element from the
+        * priority queue.
+        */
+       Branch* pop() {
+               Branch* b = branchQ_.pop();
+               assert_gt(b->depth3_, 0);
+#ifndef NDEBUG
+               // Also remove it from the set
+               assert(branchSet_.find(b) != branchSet_.end());
+               ASSERT_ONLY(size_t setSz = branchSet_.size());
+               branchSet_.erase(branchSet_.find(b));
+               assert_eq(setSz-1, branchSet_.size());
+               if(!branchQ_.empty()) {
+                       // Top shouldn't be b any more
+                       Branch *newtop = branchQ_.front();
+                       assert(b != newtop);
+               }
+#endif
+               // Update this PathManager's cost
+               minCost = branchQ_.front()->cost_;
+               assert(repOk());
+               return b;
+       }
+
+       /**
+        * Push a new element onto the priority queue.
+        */
+       void push(Branch *b) {
+               assert(!b->exhausted_);
+               assert_gt(b->depth3_, 0);
+               branchQ_.push(b);
+#ifndef NDEBUG
+               // Also insert it into the set
+               assert(branchSet_.find(b) == branchSet_.end());
+               branchSet_.insert(b);
+#endif
+               // Update this PathManager's cost
+               minCost = branchQ_.front()->cost_;
+       }
+
+       /**
+        * Return the number of active branches in the best-first
+        * BranchQueue.
+        */
+       uint32_t size() {
+               return branchQ_.size();
+       }
+
+       /**
+        * Reset the PathManager, clearing out the priority queue and
+        * resetting the RangeStatePool.
+        */
+       void reset(uint32_t patid) {
+               branchQ_.reset(patid); // reset the priority queue
+               assert(branchQ_.empty());
+               bpool.reset();    // reset the Branch pool
+               epool.reset();    // reset the Edit pool
+               rpool.reset();    // reset the RangeState pool
+               assert(bpool.empty());
+               assert(epool.empty());
+               assert(rpool.empty());
+               ASSERT_ONLY(branchSet_.clear());
+               assert_eq(0, branchSet_.size());
+               assert_eq(0, branchQ_.size());
+               minCost = 0;
+       }
+
+#ifndef NDEBUG
+       /**
+        * Return true iff Branch b is in the priority queue;
+        */
+       bool contains(Branch *b) const {
+               bool ret = branchSet_.find(b) != branchSet_.end();
+               assert(!ret || !b->exhausted_);
+               return ret;
+       }
+
+       /**
+        * Do a consistenty-check on the collection of branches contained
+        * in this PathManager.
+        */
+       bool repOk() {
+               if(empty()) return true;
+               assert(branchQ_.repOk(branchSet_));
+               return true;
+       }
+#endif
+
+       /**
+        * Return true iff the priority queue of branches is empty.
+        */
+       bool empty() const {
+               bool ret = branchQ_.empty();
+               assert_eq(ret, branchSet_.empty());
+               return ret;
+       }
+
+       /**
+        * Curtail the given branch, and possibly remove it from or
+        * re-insert it into the priority queue.
+        */
+       void curtail(Branch *br, uint32_t qlen, int seedLen, bool qualOrder) {
+               assert(!br->exhausted_);
+               assert(!br->curtailed_);
+               uint16_t origCost = br->cost_;
+               br->curtail(rpool, seedLen, qualOrder);
+               assert(br->curtailed_);
+               assert_geq(br->cost_, origCost);
+               if(br->exhausted_) {
+                       assert(br == front());
+                       ASSERT_ONLY(Branch *popped =) pop();
+                       assert(popped == br);
+                       br->free(qlen, rpool, epool, bpool);
+               } else if(br->cost_ != origCost) {
+                       // Re-insert the newly-curtailed branch
+                       assert(br == front());
+                       Branch *popped = pop();
+                       assert(popped == br);
+                       push(popped);
+               }
+       }
+
+       /**
+        * If the frontmost branch is a curtailed branch, split off an
+        * extendable branch and add it to the queue.
+        */
+       bool splitAndPrep(RandomSource& rand, uint32_t qlen,
+                         uint32_t qualLim, int seedLen,
+                         bool qualOrder, bool fuzzy,
+                         const EbwtParams& ep, const uint8_t* ebwt,
+                         bool ebwtFw)
+       {
+               if(empty()) return true;
+               // This counts as a backtrack
+               if(btCnt_ != NULL && (*btCnt_ == 0)) {
+                       // Abruptly end search
+                       return false;
+               }
+               Branch *f = front();
+               assert(!f->exhausted_);
+               while(f->delayedIncrease_) {
+                       assert(!f->exhausted_);
+                       if(f->delayedIncrease_) {
+                               assert_neq(0, f->delayedCost_);
+                               ASSERT_ONLY(Branch *popped =) pop();
+                               assert(popped == f);
+                               f->cost_ = f->delayedCost_;
+                               f->delayedIncrease_ = false;
+                               f->delayedCost_ = 0;
+                               push(f); // re-insert it
+                               assert(!empty());
+                       }
+                       f = front();
+                       assert(!f->exhausted_);
+               }
+               if(f->curtailed_) {
+                       ASSERT_ONLY(uint16_t origCost = f->cost_);
+                       // This counts as a backtrack
+                       if(btCnt_ != NULL) {
+                               if(--(*btCnt_) == 0) {
+                                       // Abruptly end search
+                                       return false;
+                               }
+                       }
+                       Branch* newbr = splitBranch(
+                                       f, rand, qlen, qualLim, seedLen, qualOrder, fuzzy, ep, ebwt,
+                                       ebwtFw);
+                       if(newbr == NULL) {
+                               return false;
+                       }
+                       // If f is exhausted, get rid of it immediately
+                       if(f->exhausted_) {
+                               assert(!f->delayedIncrease_);
+                               ASSERT_ONLY(Branch *popped =) pop();
+                               assert(popped == f);
+                               f->free(qlen, rpool, epool, bpool);
+                       }
+                       assert_eq(origCost, f->cost_);
+                       assert(newbr != NULL);
+                       push(newbr);
+                       assert(newbr == front());
+               }
+               prep(ep, ebwt);
+               return true;
+       }
+
+       /**
+        * Return true iff the front element of the queue is prepped.
+        */
+       bool prepped() {
+               return front()->prepped_;
+       }
+
+protected:
+
+       /**
+        * Split off an extendable branch from a curtailed branch.
+        */
+       Branch* splitBranch(Branch* src, RandomSource& rand, uint32_t qlen,
+                           uint32_t qualLim, int seedLen, bool qualOrder, bool fuzzy,
+                           const EbwtParams& ep, const uint8_t* ebwt,
+                           bool ebwtFw)
+       {
+               Branch* dst = src->splitBranch(
+                               rpool, epool, bpool, size(), rand,
+                       qlen, qualLim, seedLen, qualOrder, ep, ebwt, ebwtFw, fuzzy,
+                       verbose_, quiet_);
+               assert(dst->repOk());
+               return dst;
+       }
+
+       /**
+        * Prep the next branch to be extended in advanceBranch().
+        */
+       void prep(const EbwtParams& ep, const uint8_t* ebwt) {
+               if(!branchQ_.empty()) {
+                       branchQ_.front()->prep(ep, ebwt);
+               }
+       }
+
+       BranchQueue branchQ_; // priority queue for selecting lowest-cost Branch
+       // set of branches in priority queue, for sanity checks
+       ASSERT_ONLY(std::set<Branch*> branchSet_);
+
+public:
+
+       ChunkPool *cpool; // pool for generic chunks of memory
+       AllocOnlyPool<Branch> bpool; // pool for allocating Branches
+       AllocOnlyPool<RangeState> rpool; // pool for allocating RangeStates
+       AllocOnlyPool<Edit> epool; // pool for allocating Edits
+       /// The minimum possible cost for any alignments obtained by
+       /// advancing further
+       uint16_t minCost;
+
+protected:
+       /// Pointer to the aligner's per-read backtrack counter.  We
+       /// increment it in splitBranch.
+       int *btCnt_;
+       bool verbose_;
+       bool quiet_;
+};
+
+/**
+ * Encapsulates an algorithm that navigates the Bowtie index to produce
+ * candidate ranges of alignments in the Burrows-Wheeler matrix.  A
+ * higher authority is responsible for reporting hits out of those
+ * ranges, and stopping when the consumer is satisfied.
+ */
+class RangeSource {
+       typedef Ebwt<String<Dna> > TEbwt;
+public:
+       RangeSource() :
+               done(false), foundRange(false), curEbwt_(NULL) { }
+
+       virtual ~RangeSource() { }
+
+       /// Set query to find ranges for
+       virtual void setQuery(ReadBuf& r, Range *partial) = 0;
+       /// Set up the range search.
+       virtual void initBranch(PathManager& pm) = 0;
+       /// Advance the range search by one memory op
+       virtual void advanceBranch(int until, uint16_t minCost, PathManager& pm) = 0;
+
+       /// Return the last valid range found
+       virtual Range& range() = 0;
+       /// Return ptr to index this RangeSource is currently getting ranges from
+       const TEbwt *curEbwt() const { return curEbwt_; }
+
+       /// All searching w/r/t the current query is finished
+       bool done;
+       /// Set to true iff the last call to advance yielded a range
+       bool foundRange;
+protected:
+       /// ptr to index this RangeSource is currently getting ranges from
+       const TEbwt *curEbwt_;
+};
+
+/**
+ * Abstract parent of RangeSourceDrivers.
+ */
+template<typename TRangeSource>
+class RangeSourceDriver {
+       typedef Ebwt<String<Dna> > TEbwt;
+public:
+       RangeSourceDriver(bool _done, uint32_t minCostAdjustment = 0) :
+               foundRange(false), done(_done), minCostAdjustment_(minCostAdjustment)
+       {
+               minCost = minCostAdjustment_;
+       }
+
+       virtual ~RangeSourceDriver() { }
+
+       /**
+        * Prepare this aligner for the next read.
+        */
+       virtual void setQuery(PatternSourcePerThread* patsrc, Range *r) {
+               // Clear our buffer of previously-dished-out top offsets
+               ASSERT_ONLY(allTops_.clear());
+               setQueryImpl(patsrc, r);
+       }
+
+       /**
+        * Prepare this aligner for the next read.
+        */
+       virtual void setQueryImpl(PatternSourcePerThread* patsrc, Range *r) = 0;
+
+       /**
+        * Advance the aligner by one memory op.  Return true iff we're
+        * done with this read.
+        */
+       virtual void advance(int until) {
+               advanceImpl(until);
+#ifndef NDEBUG
+               if(this->foundRange) {
+                       // Assert that we have not yet dished out a range with this
+                       // top offset
+                       assert_gt(range().bot, range().top);
+                       assert(range().ebwt != NULL);
+                       int64_t top = (int64_t)range().top;
+                       top++; // ensure it's not 0
+                       if(!range().ebwt->fw()) top = -top;
+                       assert(allTops_.find(top) == allTops_.end());
+                       allTops_.insert(top);
+               }
+#endif
+       }
+       /**
+        * Advance the aligner by one memory op.  Return true iff we're
+        * done with this read.
+        */
+       virtual void advanceImpl(int until) = 0;
+       /**
+        * Return the range found.
+        */
+       virtual Range& range() = 0;
+
+       /**
+        * Return whether we're generating ranges for the first or the
+        * second mate.
+        */
+       virtual bool mate1() const = 0;
+
+       /**
+        * Return true iff current pattern is forward-oriented.
+        */
+       virtual bool fw() const = 0;
+
+       virtual void removeMate(int m) { }
+
+       /// Set to true iff we just found a range.
+       bool foundRange;
+
+       /**
+        * Set to true if all searching w/r/t the current query is
+        * finished or if there is no current query.
+        */
+       bool done;
+
+       /**
+        * The minimum "combined" stratum/qual cost that could possibly
+        * result from subsequent calls to advance() for this driver.
+        */
+       uint16_t minCost;
+
+       /**
+        * Adjustment to the minCost given by the caller that constructed
+        * the object.  This is useful if we know the lowest-cost branch is
+        * likely to cost less than the any of the alignments that could
+        * possibly result from advancing (e.g. when we're going to force a
+        * mismatch somewhere down the line).
+        */
+       uint16_t minCostAdjustment_;
+
+protected:
+
+#ifndef NDEBUG
+       std::set<int64_t> allTops_;
+#endif
+};
+
+/**
+ * A concrete driver wrapper for a single RangeSource.
+ */
+template<typename TRangeSource>
+class SingleRangeSourceDriver : public RangeSourceDriver<TRangeSource> {
+
+       typedef Ebwt<String<Dna> > TEbwt;
+
+public:
+       SingleRangeSourceDriver(
+               EbwtSearchParams<String<Dna> >& params,
+               TRangeSource* rs,
+               bool fw,
+               HitSink& sink,
+               HitSinkPerThread* sinkPt,
+               vector<String<Dna5> >& os,
+               bool verbose,
+               bool quiet,
+               bool mate1,
+               uint32_t minCostAdjustment,
+               ChunkPool* pool,
+               int *btCnt) :
+               RangeSourceDriver<TRangeSource>(true, minCostAdjustment),
+               len_(0), mate1_(mate1),
+               sinkPt_(sinkPt),
+               params_(params),
+               fw_(fw), rs_(rs),
+               ebwtFw_(rs_->curEbwt()->fw()),
+               pm_(pool, btCnt, verbose, quiet)
+       {
+               assert(rs_ != NULL);
+       }
+
+       virtual ~SingleRangeSourceDriver() {
+               delete rs_; rs_ = NULL;
+       }
+
+       /**
+        * Prepare this aligner for the next read.
+        */
+       virtual void setQueryImpl(PatternSourcePerThread* patsrc, Range *r) {
+               this->done = false;
+               pm_.reset(patsrc->patid());
+               ReadBuf* buf = mate1_ ? &patsrc->bufa() : &patsrc->bufb();
+               len_ = buf->length();
+               rs_->setQuery(*buf, r);
+               initRangeSource((fw_ == ebwtFw_) ? buf->qual : buf->qualRev,
+                               buf->fuzzy, buf->alts,
+                               (fw_ == ebwtFw_) ? buf->altQual : buf->altQualRev);
+               assert_gt(len_, 0);
+               if(this->done) return;
+               ASSERT_ONLY(allTops_.clear());
+               if(!rs_->done) {
+                       rs_->initBranch(pm_); // set up initial branch
+               }
+               uint16_t icost = (r != NULL) ? r->cost : 0;
+               this->minCost = max<uint16_t>(icost, this->minCostAdjustment_);
+               this->done = rs_->done;
+               this->foundRange = rs_->foundRange;
+               if(!pm_.empty()) {
+                       assert(!pm_.front()->curtailed_);
+                       assert(!pm_.front()->exhausted_);
+               }
+       }
+
+       /**
+        * Advance the aligner by one memory op.  Return true iff we're
+        * done with this read.
+        */
+       virtual void advanceImpl(int until) {
+               if(this->done || pm_.empty()) {
+                       this->done = true;
+                       return;
+               }
+               assert(!pm_.empty());
+               assert(!pm_.front()->curtailed_);
+               assert(!pm_.front()->exhausted_);
+               params_.setFw(fw_);
+               // Advance the RangeSource for the forward-oriented read
+               ASSERT_ONLY(uint16_t oldMinCost = this->minCost);
+               ASSERT_ONLY(uint16_t oldPmMinCost = pm_.minCost);
+               rs_->advanceBranch(until, this->minCost, pm_);
+               this->done = pm_.empty();
+               if(pm_.minCost != 0) {
+                       this->minCost = max(pm_.minCost, this->minCostAdjustment_);
+               } else {
+                       // pm_.minCost is 0 because we reset it due to exceptional
+                       // circumstances
+               }
+#ifndef NDEBUG
+               {
+                       bool error = false;
+                       if(pm_.minCost != 0 && pm_.minCost < oldPmMinCost) {
+                               cerr << "PathManager's cost went down" << endl;
+                               error = true;
+                       }
+                       if(this->minCost < oldMinCost) {
+                               cerr << "this->minCost cost went down" << endl;
+                               error = true;
+                       }
+                       if(error) {
+                               cerr << "pm.minCost went from " << oldPmMinCost
+                                    << " to " << pm_.minCost << endl;
+                               cerr << "this->minCost went from " << oldMinCost
+                                    << " to " << this->minCost << endl;
+                               cerr << "this->minCostAdjustment_ == "
+                                    << this->minCostAdjustment_ << endl;
+                       }
+                       assert(!error);
+               }
+#endif
+               this->foundRange = rs_->foundRange;
+#ifndef NDEBUG
+               if(this->foundRange) {
+                       if(until >= ADV_COST_CHANGES) assert_eq(oldMinCost, range().cost);
+                       // Assert that we have not yet dished out a range with this
+                       // top offset
+                       assert_gt(range().bot, range().top);
+                       assert(range().ebwt != NULL);
+                       int64_t top = (int64_t)range().top;
+                       top++; // ensure it's not 0
+                       if(!range().ebwt->fw()) top = -top;
+                       assert(allTops_.find(top) == allTops_.end());
+                       allTops_.insert(top);
+               }
+               if(!pm_.empty()) {
+                       assert(!pm_.front()->curtailed_);
+                       assert(!pm_.front()->exhausted_);
+               }
+#endif
+       }
+
+       /**
+        * Return the range found.
+        */
+       virtual Range& range() {
+               rs_->range().fw = fw_;
+               rs_->range().mate1 = mate1_;
+               return rs_->range();
+       }
+
+       /**
+        * Return whether we're generating ranges for the first or the
+        * second mate.
+        */
+       bool mate1() const {
+               return mate1_;
+       }
+
+       /**
+        * Return true iff current pattern is forward-oriented.
+        */
+       bool fw() const {
+               return fw_;
+       }
+
+       virtual void initRangeSource(const String<char>& qual, bool fuzzy,
+                                    int alts, const String<char>* altQuals) = 0;
+
+protected:
+
+       // Progress state
+       uint32_t len_;
+       bool mate1_;
+
+       // Temporary HitSink; to be deleted
+       HitSinkPerThread* sinkPt_;
+
+       // State for alignment
+       EbwtSearchParams<String<Dna> >& params_;
+       bool                            fw_;
+       TRangeSource*                   rs_; // delete this in destructor
+       bool ebwtFw_;
+       PathManager pm_;
+       ASSERT_ONLY(std::set<int64_t> allTops_);
+};
+
+/**
+ * Encapsulates an algorithm that navigates the Bowtie index to produce
+ * candidate ranges of alignments in the Burrows-Wheeler matrix.  A
+ * higher authority is responsible for reporting hits out of those
+ * ranges, and stopping when the consumer is satisfied.
+ */
+template<typename TRangeSource>
+class StubRangeSourceDriver : public RangeSourceDriver<TRangeSource> {
+
+       typedef Ebwt<String<Dna> > TEbwt;
+       typedef std::vector<RangeSourceDriver<TRangeSource>*> TRangeSrcDrPtrVec;
+
+public:
+
+       StubRangeSourceDriver() :
+               RangeSourceDriver<TRangeSource>(false)
+       {
+               this->done = true;
+               this->foundRange = false;
+       }
+
+       virtual ~StubRangeSourceDriver() { }
+
+       /// Set query to find ranges for
+       virtual void setQueryImpl(PatternSourcePerThread* patsrc, Range *r) { }
+
+       /// Advance the range search by one memory op
+       virtual void advanceImpl(int until) { }
+
+       /// Return the last valid range found
+       virtual Range& range() { throw 1; }
+
+       /**
+        * Return whether we're generating ranges for the first or the
+        * second mate.
+        */
+       virtual bool mate1() const {
+               return true;
+       }
+
+       /**
+        * Return true iff current pattern is forward-oriented.
+        */
+       virtual bool fw() const {
+               return true;
+       }
+
+};
+
+/**
+ * Encapsulates an algorithm that navigates the Bowtie index to produce
+ * candidate ranges of alignments in the Burrows-Wheeler matrix.  A
+ * higher authority is responsible for reporting hits out of those
+ * ranges, and stopping when the consumer is satisfied.
+ */
+template<typename TRangeSource>
+class ListRangeSourceDriver : public RangeSourceDriver<TRangeSource> {
+
+       typedef Ebwt<String<Dna> > TEbwt;
+       typedef std::vector<RangeSourceDriver<TRangeSource>*> TRangeSrcDrPtrVec;
+
+public:
+
+       ListRangeSourceDriver(const TRangeSrcDrPtrVec& rss) :
+               RangeSourceDriver<TRangeSource>(false),
+               cur_(0), ham_(0), rss_(rss) /* copy */,
+               patsrc_(NULL), seedRange_(NULL)
+       {
+               assert_gt(rss_.size(), 0);
+               assert(!this->done);
+       }
+
+       virtual ~ListRangeSourceDriver() {
+               for(size_t i = 0; i < rss_.size(); i++) {
+                       delete rss_[i];
+               }
+       }
+
+       /// Set query to find ranges for
+       virtual void setQueryImpl(PatternSourcePerThread* patsrc, Range *r) {
+               cur_ = 0; // go back to first RangeSource in list
+               this->done = false;
+               rss_[cur_]->setQuery(patsrc, r);
+               patsrc_ = patsrc; // so that we can call setQuery on the other elements later
+               seedRange_ = r;
+               this->done = (cur_ == rss_.size()-1) && rss_[cur_]->done;
+               this->minCost = max(rss_[cur_]->minCost, this->minCostAdjustment_);
+               this->foundRange = rss_[cur_]->foundRange;
+       }
+
+       /// Advance the range search by one memory op
+       virtual void advanceImpl(int until) {
+               assert(!this->done);
+               assert_lt(cur_, rss_.size());
+               if(rss_[cur_]->done) {
+                       // Move on to next RangeSourceDriver
+                       if(cur_ < rss_.size()-1) {
+                               rss_[++cur_]->setQuery(patsrc_, seedRange_);
+                               this->minCost = max(rss_[cur_]->minCost, this->minCostAdjustment_);
+                               this->foundRange = rss_[cur_]->foundRange;
+                       } else {
+                               // No RangeSources in list; done
+                               cur_ = 0xffffffff;
+                               this->done = true;
+                       }
+               } else {
+                       // Advance current RangeSource
+                       rss_[cur_]->advance(until);
+                       this->done = (cur_ == rss_.size()-1 && rss_[cur_]->done);
+                       this->foundRange = rss_[cur_]->foundRange;
+                       this->minCost = max(rss_[cur_]->minCost, this->minCostAdjustment_);
+               }
+       }
+
+       /// Return the last valid range found
+       virtual Range& range() { return rss_[cur_]->range(); }
+
+       /**
+        * Return whether we're generating ranges for the first or the
+        * second mate.
+        */
+       virtual bool mate1() const {
+               return rss_[0]->mate1();
+       }
+
+       /**
+        * Return true iff current pattern is forward-oriented.
+        */
+       virtual bool fw() const {
+               return rss_[0]->fw();
+       }
+
+protected:
+
+       uint32_t cur_;
+       uint32_t ham_;
+       TRangeSrcDrPtrVec rss_;
+       PatternSourcePerThread* patsrc_;
+       Range *seedRange_;
+};
+
+/**
+ * A RangeSourceDriver that wraps a set of other RangeSourceDrivers and
+ * chooses which one to advance at any given moment by picking one with
+ * minimal "cumulative cost" so far.
+ *
+ * Note that costs have to be "adjusted" to account for the fact that
+ * the alignment policy for the underlying RangeSource might force
+ * mismatches.
+ */
+template<typename TRangeSource>
+class CostAwareRangeSourceDriver : public RangeSourceDriver<TRangeSource> {
+
+       typedef Ebwt<String<Dna> > TEbwt;
+       typedef RangeSourceDriver<TRangeSource>* TRangeSrcDrPtr;
+       typedef std::vector<TRangeSrcDrPtr> TRangeSrcDrPtrVec;
+
+public:
+
+       CostAwareRangeSourceDriver(
+                       bool strandFix,
+                       const TRangeSrcDrPtrVec* rss,
+                       bool verbose,
+                       bool quiet,
+                       bool mixesReads) :
+               RangeSourceDriver<TRangeSource>(false),
+               rss_(), active_(), strandFix_(strandFix),
+               lastRange_(NULL), delayedRange_(NULL), patsrc_(NULL),
+               verbose_(verbose), quiet_(quiet), mixesReads_(mixesReads)
+       {
+               if(rss != NULL) {
+                       rss_ = (*rss);
+               }
+               paired_ = false;
+               this->foundRange = false;
+               this->done = false;
+               if(rss_.empty()) {
+                       return;
+               }
+               calcPaired();
+               active_ = rss_;
+               this->minCost = 0;
+       }
+
+       /// Destroy all underlying RangeSourceDrivers
+       virtual ~CostAwareRangeSourceDriver() {
+               const size_t rssSz = rss_.size();
+               for(size_t i = 0; i < rssSz; i++) {
+                       delete rss_[i];
+               }
+               rss_.clear();
+               active_.clear();
+       }
+
+       /// Set query to find ranges for
+       virtual void setQueryImpl(PatternSourcePerThread* patsrc, Range *r) {
+               this->done = false;
+               this->foundRange = false;
+               lastRange_ = NULL;
+               delayedRange_ = NULL;
+               ASSERT_ONLY(allTopsRc_.clear());
+               patsrc_ = patsrc;
+               rand_.init(patsrc->bufa().seed);
+               const size_t rssSz = rss_.size();
+               if(rssSz == 0) return;
+               for(size_t i = 0; i < rssSz; i++) {
+                       // Assuming that all
+                       rss_[i]->setQuery(patsrc, r);
+               }
+               active_ = rss_;
+               this->minCost = 0;
+               sortActives();
+       }
+
+       /**
+        * Add a new RangeSource to the list and re-sort it.
+        */
+       void addSource(TRangeSrcDrPtr p, Range *r) {
+               assert(!this->foundRange);
+               this->lastRange_ = NULL;
+               this->delayedRange_ = NULL;
+               this->done = false;
+               if(patsrc_ != NULL) {
+                       p->setQuery(patsrc_, r);
+               }
+               rss_.push_back(p);
+               active_.push_back(p);
+               calcPaired();
+               this->minCost = 0;
+               sortActives();
+       }
+
+       /**
+        * Free and remove all contained RangeSources.
+        */
+       void clearSources() {
+               const size_t rssSz = rss_.size();
+               for(size_t i = 0; i < rssSz; i++) {
+                       delete rss_[i];
+               }
+               rss_.clear();
+               active_.clear();
+               paired_ = false;
+       }
+
+       /**
+        * Return the number of RangeSources contained within.
+        */
+       size_t size() const {
+               return rss_.size();
+       }
+
+       /**
+        * Return true iff no RangeSources are contained within.
+        */
+       bool empty() const {
+               return rss_.empty();
+       }
+
+       /**
+        * Advance the aligner by one memory op.  Return true iff we're
+        * done with this read.
+        */
+       virtual void advance(int until) {
+               ASSERT_ONLY(uint16_t precost = this->minCost);
+               assert(!this->done);
+               assert(!this->foundRange);
+               until = max<int>(until, ADV_COST_CHANGES);
+               advanceImpl(until);
+               assert(!this->foundRange || lastRange_ != NULL);
+               if(this->foundRange) {
+                       assert_eq(range().cost, precost);
+               }
+       }
+
+       /// Advance the range search
+       virtual void advanceImpl(int until) {
+               lastRange_ = NULL;
+               ASSERT_ONLY(uint16_t iminCost = this->minCost);
+               const size_t actSz = active_.size();
+               assert(sortedActives());
+               if(delayedRange_ != NULL) {
+                       assert_eq(iminCost, delayedRange_->cost);
+                       lastRange_ = delayedRange_;
+                       delayedRange_ = NULL;
+                       this->foundRange = true;
+                       assert_eq(range().cost, iminCost);
+                       if(!active_.empty()) {
+                               assert_geq(active_[0]->minCost, this->minCost);
+                               this->minCost = max(active_[0]->minCost, this->minCost);
+                       } else {
+                               this->done = true;
+                       }
+                       return; // found a range
+               }
+               assert(delayedRange_ == NULL);
+               if(mateEliminated() || actSz == 0) {
+                       // No more alternatoves; clear the active set and signal
+                       // we're done
+                       active_.clear();
+                       this->done = true;
+                       return;
+               }
+               // Advance lowest-cost RangeSourceDriver
+               TRangeSrcDrPtr p = active_[0];
+               uint16_t precost = p->minCost;
+               assert(!p->done || p->foundRange);
+               if(!p->foundRange) {
+                       p->advance(until);
+               }
+               bool needsSort = false;
+               if(p->foundRange) {
+                       Range *r = &p->range();
+                       assert_eq(r->cost, iminCost);
+                       needsSort = foundFirstRange(r); // may set delayedRange_; re-sorts active_
+                       assert_eq(lastRange_->cost, iminCost);
+                       if(delayedRange_ != NULL) assert_eq(delayedRange_->cost, iminCost);
+                       p->foundRange = false;
+               }
+               if(p->done || (precost != p->minCost) || needsSort) {
+                       sortActives();
+                       if(mateEliminated() || active_.empty()) {
+                               active_.clear();
+                               this->done = (delayedRange_ == NULL);
+                       }
+               }
+               assert(sortedActives());
+               assert(lastRange_ == NULL || lastRange_->cost == iminCost);
+               assert(delayedRange_ == NULL || delayedRange_->cost == iminCost);
+       }
+
+       /// Return the last valid range found
+       virtual Range& range() {
+               assert(lastRange_ != NULL);
+               return *lastRange_;
+       }
+
+       /**
+        * Return whether we're generating ranges for the first or the
+        * second mate.
+        */
+       virtual bool mate1() const {
+               return rss_[0]->mate1();
+       }
+
+       /**
+        * Return true iff current pattern is forward-oriented.
+        */
+       virtual bool fw() const {
+               return rss_[0]->fw();
+       }
+
+       virtual void removeMate(int m) {
+               bool qmate1 = (m == 1);
+               assert(paired_);
+               for(size_t i = 0; i < active_.size(); i++) {
+                       if(active_[i]->mate1() == qmate1) {
+                               active_[i]->done = true;
+                       }
+               }
+               sortActives();
+               assert(mateEliminated());
+       }
+
+protected:
+
+       /**
+        * Set paired_ to true iff there are mate1 and mate2 range sources
+        * in the rss_ vector.
+        */
+       void calcPaired() {
+               const size_t rssSz = rss_.size();
+               bool saw1 = false;
+               bool saw2 = false;
+               for(size_t i = 0; i < rssSz; i++) {
+                       if(rss_[i]->mate1()) saw1 = true;
+                       else saw2 = true;
+               }
+               assert(saw1 || saw2);
+               paired_ = saw1 && saw2;
+       }
+
+       /**
+        * Return true iff one mate or the other has been eliminated.
+        */
+       bool mateEliminated() {
+               if(!paired_) return false;
+               bool mate1sLeft = false;
+               bool mate2sLeft = false;
+               // If this RangeSourceDriver is done, shift everyone else
+               // up and delete it
+               const size_t rssSz = active_.size();
+               for(size_t i = 0; i < rssSz; i++) {
+                       if(!active_[i]->done) {
+                               if(active_[i]->mate1()) mate1sLeft = true;
+                               else mate2sLeft = true;
+                       }
+               }
+               return !mate1sLeft || !mate2sLeft;
+       }
+
+#ifndef NDEBUG
+       /**
+        * Check that the given range has not yet been reported.
+        */
+       bool checkRange(Range* r) {
+               // Assert that we have not yet dished out a range with this
+               // top offset
+               assert_gt(r->bot, r->top);
+               assert(r->ebwt != NULL);
+               int64_t top = (int64_t)r->top;
+               top++; // ensure it's not 0
+               if(!r->ebwt->fw()) top = -top;
+               if(r->fw) {
+                       assert(this->allTops_.find(top) == this->allTops_.end());
+                       if(!mixesReads_) this->allTops_.insert(top);
+               } else {
+                       assert(this->allTopsRc_.find(top) == this->allTopsRc_.end());
+                       if(!mixesReads_) this->allTopsRc_.insert(top);
+               }
+               return true;
+       }
+#endif
+
+       /**
+        * We found a range; check whether we should attempt to find a
+        * range of equal quality from the opposite strand so that we can
+        * resolve the strand bias.  Return true iff we modified the cost
+        * of one or more items after the first item.
+        */
+       bool foundFirstRange(Range* r) {
+               assert(r != NULL);
+               assert(checkRange(r));
+               this->foundRange = true;
+               lastRange_ = r;
+               if(strandFix_) {
+                       // We found a range but there may be an equally good range
+                       // on the other strand; let's try to get it.
+                       const size_t sz = active_.size();
+                       for(size_t i = 1; i < sz; i++) {
+                               // Same mate, different orientation?
+                               if(rss_[i]->mate1() == r->mate1 && rss_[i]->fw() != r->fw) {
+                                       // Yes; see if it has the same cost
+                                       TRangeSrcDrPtr p = active_[i];
+                                       uint16_t minCost = max(this->minCost, p->minCost);
+                                       if(minCost > r->cost) break;
+                                       // Yes, it has the same cost
+                                       assert_eq(minCost, r->cost); // can't be better
+                                       // Advance it until it's done, we've found a range,
+                                       // or its cost increases
+                                       if(this->verbose_) cout << " Looking for opposite range to avoid strand bias:" << endl;
+                                       while(!p->done && !p->foundRange) {
+                                               p->advance(ADV_COST_CHANGES);
+                                               assert_geq(p->minCost, minCost);
+                                               if(p->minCost > minCost) break;
+                                       }
+                                       if(p->foundRange) {
+                                               // Found one!  Now we have to choose which one
+                                               // to give out first; we choose randomly using
+                                               // the size of the ranges as weights.
+                                               delayedRange_ = &p->range();
+                                               assert(checkRange(delayedRange_));
+                                               size_t tot = (delayedRange_->bot - delayedRange_->top) +
+                                                            (lastRange_->bot    - lastRange_->top);
+                                               uint32_t rq = rand_.nextU32() % tot;
+                                               // We picked this range, not the first one
+                                               if(rq < (delayedRange_->bot - delayedRange_->top)) {
+                                                       Range *tmp = lastRange_;
+                                                       lastRange_ = delayedRange_;
+                                                       delayedRange_ = tmp;
+                                               }
+                                               p->foundRange = false;
+                                       }
+                                       // Return true iff we need to force a re-sort
+                                       return true;
+                               }
+                       }
+                       // OK, now we have a choice of two equally good ranges from
+                       // each strand.
+               }
+               return false;
+       }
+
+       /**
+        * Sort all of the RangeSourceDriver ptrs in the rss_ array so that
+        * the one with the lowest cumulative cost is at the top.  Break
+        * ties randomly.  Just do selection sort for now; we don't expect
+        * the list to be long.
+        */
+       void sortActives() {
+               TRangeSrcDrPtrVec& vec = active_;
+               size_t sz = vec.size();
+               // Selection sort / removal outer loop
+               for(size_t i = 0; i < sz;) {
+                       // Remove elements that we're done with
+                       if(vec[i]->done && !vec[i]->foundRange) {
+                               vec.erase(vec.begin() + i);
+                               if(sz == 0) break;
+                               else sz--;
+                               continue;
+                       }
+                       uint16_t minCost = vec[i]->minCost;
+                       size_t minOff = i;
+                       // Selection sort inner loop
+                       for(size_t j = i+1; j < sz; j++) {
+                               if(vec[j]->done && !vec[j]->foundRange) {
+                                       // We'll get rid of this guy later
+                                       continue;
+                               }
+                               if(vec[j]->minCost < minCost) {
+                                       minCost = vec[j]->minCost;
+                                       minOff = j;
+                               } else if(vec[j]->minCost == minCost) {
+                                       // Possibly randomly pick the other
+                                       if(rand_.nextU32() & 0x1000) {
+                                               minOff = j;
+                                       }
+                               }
+                       }
+                       // Do the swap, if necessary
+                       if(i != minOff) {
+                               assert_leq(minCost, vec[i]->minCost);
+                               TRangeSrcDrPtr tmp = vec[i];
+                               vec[i] = vec[minOff];
+                               vec[minOff] = tmp;
+                       }
+                       i++;
+               }
+               if(delayedRange_ == NULL) {
+                       assert_geq(this->minCost, this->minCostAdjustment_);
+                       assert_geq(vec[0]->minCost, this->minCost);
+                       this->minCost = vec[0]->minCost;
+               }
+               assert(sortedActives());
+       }
+
+#ifndef NDEBUG
+       /**
+        * Check that the rss_ array is sorted by minCost; assert if it's
+        * not.
+        */
+       bool sortedActives() const {
+               // Selection sort outer loop
+               const TRangeSrcDrPtrVec& vec = active_;
+               const size_t sz = vec.size();
+               for(size_t i = 0; i < sz; i++) {
+                       assert(!vec[i]->done || vec[i]->foundRange);
+                       for(size_t j = i+1; j < sz; j++) {
+                               assert(!vec[j]->done || vec[j]->foundRange);
+                               assert_leq(vec[i]->minCost, vec[j]->minCost);
+                       }
+               }
+               if(delayedRange_ == NULL && sz > 0) {
+                       // Only assert this if there's no delayed range; if there's
+                       // a delayed range, the minCost is its cost, not the 0th
+                       // element's cost
+                       assert_leq(vec[0]->minCost, this->minCost);
+               }
+               return true;
+       }
+#endif
+
+       /// List of all the drivers
+       TRangeSrcDrPtrVec rss_;
+       /// List of all the as-yet-uneliminated drivers
+       TRangeSrcDrPtrVec active_;
+       /// Whether the list of drivers contains drivers for both mates 1 and 2
+       bool paired_;
+       /// If true, this driver will make an attempt to dish out ranges in
+       /// a way that approaches the right distribution based on the
+       /// number of hits on both strands.
+       bool strandFix_;
+       uint32_t randSeed_;
+       /// The random seed from the Aligner, which we use to randomly break ties
+       RandomSource rand_;
+       Range *lastRange_;
+       Range *delayedRange_;
+       PatternSourcePerThread* patsrc_;
+       bool verbose_;
+       bool quiet_;
+       bool mixesReads_;
+       ASSERT_ONLY(std::set<int64_t> allTopsRc_);
+};
+
+#endif /* RANGE_SOURCE_H_ */
diff --git a/reads/e_coli_1000.fa b/reads/e_coli_1000.fa
new file mode 100644 (file)
index 0000000..40514ac
--- /dev/null
@@ -0,0 +1,2000 @@
+>r0
+GAACGATACCCACCCAACTATCGCCATTCCAGCAT
+>r1
+CCGAACTGGATGTCTCATGGGATAAAAATCATCCG
+>r2
+TCAAAATTGTTATAGTATAACACTGTTGCTTTATG
+>r3
+AAAATTTGTGCCTGGATGGCCTGAGTACCNANTAC
+>r4
+GCAGAGCAGTTGCTAGAAANNNNNTTGAAGAGGTT
+>r5
+CAGCATAAGTGGATATTCAAAGTTTTGCTGTTTTA
+>r6
+GGCAGTGATGCAACTGCCCGTTATCAACAGNCNCT
+>r7
+GCATATTGCCAATTTTCGCTTCGGGGATCAGGCTA
+>r8
+GGTTCAGTTCAGTATACGCCTTATCCGGCCTACGG
+>r9
+GGCGATGATTTCATTACCCTCAACGCCGAACAGGC
+>r10
+AATCCCACGGCGGCAGCATGGTCCTAGANAGGNCG
+>r11
+TTACCACCGAAGTAGCTTACCCATGCGCCGCCGAC
+>r12
+AATCACAGGCGGTGAGCAGTAACGATAATTCGGCT
+>r13
+CAGCTCGCACGCCACGCCGAACCATGTCATCAATT
+>r14
+CGCTTTTGTCCTCGGCGACTTCGGCAACCGATGCG
+>r15
+GGGTCTGGCCGTTTTCTGCTTCAACTTCAACAATC
+>r16
+ATCCGGTTAAAGATGTTGAGAAATATGTGGTGATG
+>r17
+TTTTGTGTGTGTAGTAGGCCTTGGATATTGGGGCT
+>r18
+CCTGAAGGCGCGCGTGACTACCTGGTGCCTTCTCG
+>r19
+CATATGCCCCAGCACTCTGATGGCATCGCCTTCCA
+>r20
+ATAGACGCAAAAGAGCAAATAACATTTCTTCACAA
+>r21
+TAATGATAAGGAATCACTGTTTTTGAGAAAAGATA
+>r22
+TTGGGATTGTGGGCGTGACAATTTTCTCGATGATT
+>r23
+ATCGCGAACACCTTTACCGATTTATCGCCGAAGTG
+>r24
+AGATGAAGTTGTTTTGGCGTCATTCCGAAAAATTG
+>r25
+TCCGTATTCAGGGCGCTGCGGGAGAAGAAATCNGT
+>r26
+ATGGGAACAGTAATCTTTTTTACTGGTTCTGCGTC
+>r27
+TATGTCACATTTATTTTTCCTTAAAACTACAATAT
+>r28
+TGTTTTCCCGGTTGTCGGGGATCGGTTTGCCGCTG
+>r29
+ACCTGGAAATCTGTACCAAACCCCATGCCGGATAA
+>r30
+AGCAACATCATTCTCCCGTAAAAAGGGAGTCGATG
+>r31
+CCGATAGTGCCGTAGTANAATTAGTTTTTNNTTAG
+>r32
+TCGTTTCTGTCTGAGTCGATAGCTTTCTCCTTTGA
+>r33
+CGTGGTCATCAGATCATGCGGCAAACCAAANNNNN
+>r34
+AGCGGCCAGGTGCTTTCCGGGATAGTAAACAGGCG
+>r35
+GCAACGCGCGGGGCTAATCGGGATCTGCCCGGAAG
+>r36
+CCGGTTTCACATCCGGTGCAGGCTGTGGTGCTGAC
+>r37
+GCATTGCTGCCCATCCTGATTTGCCTGTTAAGCAG
+>r38
+GCCGTCTGCACCGTAGCCTGGTATGTGAGTGCGAA
+>r39
+GCTATCTGCCGTTCAGTCAGAGTNCGANGCCTNAN
+>r40
+CGCAGTCGAAGAGGTGGAAGCATTAATGCNTAATA
+>r41
+CGAATCAGGCGATTCGTCAGACGGGAATGTTGNGT
+>r42
+TCCACGGAAGTTTTCAGAGATGAGAATGTGCCTTC
+>r43
+TTGCAGGAAATTCTGTNACCCTCNACNAAGCATCA
+>r44
+AGAAAATATGACCCCGCAGGATTACAACGACGTCN
+>r45
+GAAAAAGTTTCATAAAGACTCCAGATGATCGATGG
+>r46
+TTTCGGGGATGCGGTGGCGCGTCTGGATAAGCGTC
+>r47
+ATCCGGATTGTATTGAGATCCTGCCCGTGNGCTCA
+>r48
+CCAACCTTCTCCGCCTGCTTCGGCGCGGCGTTCCT
+>r49
+TGTTTCGCGTCGCAAAGTGGAGCGAGACGTGCAAG
+>r50
+GTGGTGCATTTTGATATTCCGCGCAATATCGAATC
+>r51
+GTCGTTATAGTCTTCAAGCCACGGGTAGACGAAAG
+>r52
+GCGTTTATGCGCGTGAACANNANTCCTCATATTAA
+>r53
+GCTGCGGGATCACCTGATCTGCCGGATGTCGTGTA
+>r54
+ATCGTTCATTGAGCGCAAAATGACGCTTTTGAGGG
+>r55
+AATGACTATCCGCTGGATCACGAATTTATCAGTGT
+>r56
+AAGGCAACGAAGAAGCCGATGATCCAGATCCAGCA
+>r57
+TGGGTGTAAGCCTGTTCCACTGCCTGCTGTTANCT
+>r58
+ACGCGTTTACTGTTCACCAGATCGCCCATCAACAT
+>r59
+TGATGTAACGCCTGATGGCCTGCATATCGCCCAGT
+>r60
+ACGGGTCAGCAACATCTGCCCGATATGAATGTNGN
+>r61
+CGATGAAGAAAAATCGCTGGTGAAACAAGCAGATG
+>r62
+GTCGCTCGCTACGATCAGCAAAAATATGACATCTT
+>r63
+CATTTCTGTACTCATGCAGCCCCCTTCTGAAATAA
+>r64
+CACGCGTTGGGTATGGACGAACTGGAAGGTCATGA
+>r65
+TGAGAACGGCTTATCTCATTTTCGCAGTCACTATT
+>r66
+GTCCGGCATCCAGGTTTTTCACGGCAGATTATCAG
+>r67
+GACATGTGAACCTTCTTTTTCAAGCTGCCAATGAT
+>r68
+TGCTATTTATCGAACTGGGGGGGGAGAACCTGCNC
+>r69
+ACCCCCTCATACCCACCTCTTTCTCCANGTNNGTN
+>r70
+TAATTCGATGCAACGCGAAGAACCTTACCTGGACT
+>r71
+TNNNNNNNNNNNNNNNNNNNNNNNNNGNNNNNNNN
+>r72
+GTTCACGGGGTTAGCGAAGATCCATCCCGCGTGCA
+>r73
+CCAATGANNNNNNNNNNNNNNNNNNNNNNNNNNNN
+>r74
+AGTTGAAACATTTTACCTGCATCAGCACACGGTNG
+>r75
+ACGTTCAGTTCTTTCGCCAGTGCTTTCAGCTAACG
+>r76
+TTTGCAGTAAAGGGTAAACGGATTGCCAGACNCCA
+>r77
+ATAGCCGCCCGCCGGAAAGATTTTTGCTGCCGGGA
+>r78
+GCAGGTGCTGCTGTATGNNGNAATTAGAATANTNN
+>r79
+CAGCTTCGTTGCAATGGCAAAAGCTTGCCGCTCCG
+>r80
+TTGGAGCGGGGTGGTTGGCACGCTCGAGAACGTCA
+>r81
+GACGCCGCCGCAGAGGCCAACAATCTCTTTCGGCG
+>r82
+CGACTCTAACGCGCTGATGGCGGTCACCTCCTNCC
+>r83
+AACACCGGGGATGTTATGGGTACCGGCGGATCCAC
+>r84
+TGATTTACGCATTATCACTAATAGCCTGCGTGTGG
+>r85
+GATAACCGGCCTCCAGCTCAGCCCATTTCGCATCN
+>r86
+TACCGCAGCAAAATCGGTCCCNANCGTNTNTNNCN
+>r87
+TGGCGTAACAAACGAAGGGCAACTGATGAACAANT
+>r88
+AACAGCCATAGCGTCATTTCCGGACTCATNNGNCT
+>r89
+CGTCTTGTCCTGCCTACGCGAATCCAGGTCGGTAC
+>r90
+ATTGGCGGTTTATTAGCGAACCGAGTAATAAACCG
+>r91
+GGCATTACCGACCCGTGGTACACCCCCGGCGATGT
+>r92
+TGCAACGCATTGGCGAAATACATAAACGCCGACCA
+>r93
+TGGGTTACTGAAACTGTCACCCAGCCCTGGGGCGT
+>r94
+CNNNNNNNNNNNNNNNNNNTNNNNNNNNNNNNNNG
+>r95
+GGTTTTACAAACTCATGGTTTATGTTGAGCNCTNA
+>r96
+GTTGCCTGATGAACCAACGTAATGCTTCAATGACT
+>r97
+AAAAACCAGTTTAAGTTGGTTATTTCTAATCGCTT
+>r98
+AACCTGATTACCTCATTACATACGCTTATACGTTT
+>r99
+CCCGCAGATTATGGCTTCTTATTTCCTGTATNCCA
+>r100
+TTTTCCGGCGGCGAGAAAAAGCGCAACGATATTTT
+>r101
+CNNNNNTNNNNNNNNNNNNNNNNNNNNTNGNNNNN
+>r102
+GTTATTTGTAAAGTACTTNGGTNTNCNACGCCNAA
+>r103
+CAAAGACATTTGCGAATACCAGATGCAACTATCCG
+>r104
+TTCCTGGTCATTCACTTTTGCGGCGTAGCTATTGT
+>r105
+CCCGCGGCTTAATCCAGCTGGCGTATATGCTCCGC
+>r106
+GGCAGCAACGGCATTCTGCCAGACGTCTATAGNCA
+>r107
+TGTTCATCCCGAACTACAGTGTTAGCCTGGCGCAG
+>r108
+CNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNNNNN
+>r109
+ACTGCGCTTCGCCGTAATACCAGGTTGGGAAGCCC
+>r110
+TTGCCGGGTTCAACCCACGCTCTTCGAAGGTTTTT
+>r111
+CTACCATCCTGACGTTCGTGTGTGGGAAATTTTAT
+>r112
+TCAGGACGCGAACGTTCTGTTTAGCGGCGGTTATT
+>r113
+TTGGCGATGAACCAACCACCGCGCTGGACGTCTCT
+>r114
+TGCCGCCCGCACGCGCGGTGTTAGACGGTGTTGCC
+>r115
+GGTGACCTGCTGAGAACAGAGGTTGCCGGTACAAT
+>r116
+ATCGGCATTATGGTTTCGTGGCAGGCGCGAGGATT
+>r117
+TCACGCATAATTTTTCCGGTTCGGGAATGTGTAGA
+>r118
+GGACTGGATTGCCGAACCGTTAGCTTTTAGTCANG
+>r119
+CGGTGTTGACGGTCAGTTCGTAGTGCCACTTCTAN
+>r120
+AGACATAACCAAGGTCCATTGCGATATCAAAAATC
+>r121
+GTTTGGCGTAGCCAATGCCATTGCGATCCCTGTTA
+>r122
+AATGGTTTTTTTATCTTCTTCGCTGATTTTACATT
+>r123
+CTGTTCGAACAATATGAGTCCCCCAGACNTGNANA
+>r124
+TTCGCTGCACTGGCACTACTGGGCTTCAACTCTCT
+>r125
+GTGAGCGACGCCCGCTACCGCACGAGATTGCAACG
+>r126
+CAACAACTCATCCATAAATTTTGCATAATTACNNN
+>r127
+GCGGCCTGCAAAGTCCGGTGGACGTGCTGACTTTG
+>r128
+GTNNNNNNANNNNNNNNNNNNNNNTNNNNNNNGAN
+>r129
+CAGCGGCACGCTCAGCTACGTGCTTACGGTATTCT
+>r130
+AAAATGCGTACAATCCTTCAGAATATTTTCATCAA
+>r131
+ANNNNNNNNNNNNNNNNNNNNNNNNNNGNNNNNNN
+>r132
+AGGGATATCAGCTTGATACCCGACGGGATTGTNCT
+>r133
+CCCATCCCTATTGCCAGATGGGTTTTCCCCACACG
+>r134
+TGATTTTGTTGACTTGGATNTCGTGTTNACAGTCT
+>r135
+TGATATTCTACGCTGGNTNNGTGCNACTACCNNGT
+>r136
+GGACGATATTCTGACCAAGTACAACACTGACCANG
+>r137
+TGGGGAAATGACGTCGTGCTACTACCGAGCAAAAC
+>r138
+CTGGATTGCAGAGAAGTGTACGAACACGTCTTTAC
+>r139
+GCCCTCGACCCGTAATATCTTATTACTACTGGTGA
+>r140
+TGCGCTGTAAAACGCTGACTGCTGCAGCAGCAGTA
+>r141
+TGCTGGCCTGGAGCGCCATCGTACTGAACGCCCCG
+>r142
+TCATTAAGATATTTAATTTCATTTTCTAAACTTAG
+>r143
+ATCGCCCAGCGGAACCCGACCGGGTGNNNNNNNNN
+>r144
+GGTGCGGCGGCAGATAAACTGTACACNGTNGACCN
+>r145
+CGGCGGTGAATGCTTGCATGGATAGATTTGTGTTT
+>r146
+CAGTAAAGAAGTAATCGCGTTTCTGGCCGAACGTT
+>r147
+TAAGCNNNGANNNNCNANNNTNTNNNNNNNNNNNN
+>r148
+CTTCGATGCTATCGACGTGCATATGAGCGATCTAC
+>r149
+CCTCGGCTTAATTGGTGAAATCCTTGATGTCGACA
+>r150
+CAATACCAGTTTGATTCCGAACNAGATTGNCTGGA
+>r151
+GAACACCACATTTTTCTGGCTGAGGCCCCATTCTT
+>r152
+CTTCATGCAGGTTTCTTACTCAAANTAGNATANCT
+>r153
+ATTGAAAAGGATGGAATACTCACTGAGGATGACTT
+>r154
+TAATTGTTATGTGGTCGGATGAATTCTAATTTAGT
+>r155
+TCGTGCAGGATTCGAACCTGCGACCAATTGATTAA
+>r156
+CAACTACCGTGAAGCCACGGCGGAACTGACCACAG
+>r157
+CAGCCCAGCAGGGCGTACTCATCGATTAATGACGT
+>r158
+CAGTACCGCGTCACCGATCCGGAAAAATATCTGTA
+>r159
+TGGCGGCACGACGCTAAACCGACTGAACGCCTGCT
+>r160
+CACCGAGATGATCATAGCTTTCGAATGGACCGTGG
+>r161
+ACCCAGTGTGGTCTGGACGTTGCTCCGCGTGGGNG
+>r162
+GTTTTGATGTCGGTAGTTGCGGCTTCCACTTGGAT
+>r163
+CGAATTGCCGGACTAACTTCTTTTTCGACAAACAC
+>r164
+TAACCAGGCATTACAGGAGAGTTTCACTTCCNNAN
+>r165
+CGNNNNNNNNTNNGNNNNNNNNNNNNNNNNGNTNN
+>r166
+AACATAAAACGGACAGCCTGAGGGCGGCATGGAAA
+>r167
+AGCCTAAAGGCATAACCCGTCAGGGATAAGACGAA
+>r168
+TCACCTCTCAGCAACTGACCTGGCCGGAANGTNCC
+>r169
+TAATCATTCTCATTCGCACTTGTCCAACACTTTTT
+>r170
+TATGCAGGTTAATGAGNGANCACGTCTNGATACCT
+>r171
+TGGGGGTAAAAGTTGCTGGAATCACTCAGGACTTT
+>r172
+TTCAAACAGAAGAGGGTGAATAATCCGTAGGCCGG
+>r173
+GGATACTTACCGCGAAAACAGCACGCCTGTCAAAA
+>r174
+GTTTTTGCTGATAGCGGTTAGTNAAGTAATCNGTA
+>r175
+GACCAATCCTCTGAGATGGATCAAAGAATTGCCCT
+>r176
+TCAGGAACCTGATCCNAATGCTTTTTCATNTTTGA
+>r177
+GAGTTGTTGCATACTGTTTTTAATTCACTGGGATG
+>r178
+CCATCGACTGCGCCCCTGTCAGGAGATAGCTGCCT
+>r179
+CCATATTCGAACCCGTGAAGGTGGCGCAGGTACTG
+>r180
+CGTGCTGGTCCATTCTCACGGCCCGTTTGCATGGG
+>r181
+GTGGTTGATTTTAAAGGATTTACTAAAACTTCACT
+>r182
+GGGGAACGCCAGTAATACTTCTTCTAATGATGAGC
+>r183
+AGTTTATTTATATTCATCCTGATAACCCGCAGCAA
+>r184
+GGTTAAAGTCTGGAAAGCATCTGTCATCGATACGG
+>r185
+CTGGTTTCAGCGGATTAATGATTGATGCTTCTGCT
+>r186
+AGAAATTTATTTGACTGAAGTACAATGAAATAAAA
+>r187
+GCTGAATTTTCTTTCAGGTCCGGAAAAACCATTCT
+>r188
+AATGAATTTGATAATGATAGTCGCCTTGAGGCAAG
+>r189
+GTTTTCGGAGGTGGTTACAGTGAGTCAGCCCATCN
+>r190
+CGGATACAGCCGAATGCTGTACATCGAATTNCTCG
+>r191
+GATGGTGATGATAGCAATGTTGTCCAGACGAACAT
+>r192
+GCTCTGCTGAACAATAGCGATCTTTTCCTGTGTAG
+>r193
+TTGGTCTGCGGGCAAGTTCTGCGCATCAGGCGGCG
+>r194
+ACCGGCGGCAACAATCGCNGNNNNNNNNNNNNNNC
+>r195
+CGGACAATATATCCTGGGGCTATCGGGGGGNTACN
+>r196
+ATGACGGCGATTCCTGTTGCCCGTATCGTCGANTN
+>r197
+TCTTTTTGAGTCTTGAAACGCGTGAACGCGCCGAC
+>r198
+TGACCAGCGCAGACGTCATAACCAGCAACCTGCGA
+>r199
+GCAACGGTTGGCAATTCTCCCGCAGAACGCCTCCT
+>r200
+TCACGCTGACGTTGCGCTCTGCCAGNNAAAAAGCA
+>r201
+CCGGTACGGCGACGTTATCGTGCATCAGCACTTGT
+>r202
+CCATCGAGCGTACCACTAANGCTAGNACTACGNCN
+>r203
+CCGTAGTCGCAGCTACTGGTTACGACTATCAGCGG
+>r204
+GCTTCTATCTGGGCGCTGGGGCCGCTGGTAGCGCG
+>r205
+ATTAAACAAGGTGTGCGGGGAAGGGATTCGTANNT
+>r206
+ACAAAGTGACCGTGCGTACTCGCGCGGCAGTCACC
+>r207
+TATTAGTTATTTATTTTAAAGTTTCATTGATATAT
+>r208
+ACTGATAGTTATGAAAAAGATGAGTAACGCGGTAT
+>r209
+TTTTCCAATGCCTTATTACTTTGACCCGGAGCTNT
+>r210
+TTGTCGCAAATAATCACGGGGCTTATTGAAGTTGT
+>r211
+CATAATAGGATCGCGTCGCGTGTGTGCCAGACTTT
+>r212
+TTCTCGCCCAGCGTCAGGTTTGCCCGCCATNTNAT
+>r213
+GTTTCGTAGTTTTCGACCATCTGGCTTAAGGCAGC
+>r214
+GTATATAAAGCTGCTGTTCTGCCATTCGGGACATC
+>r215
+GACCACTCCGGCATGATATGTAACATACCTAAAAG
+>r216
+GAAGTTGGACGGCAGGCACCTTGTTGTGCGTCAAN
+>r217
+AACTGGGTCGTCAGATTACTGTGCGTTACAAAGAC
+>r218
+CGTCTGAAGTTCTGCGACGAGCTGCGCGATCAATC
+>r219
+CGCACCTGCGAATTTGCGCCGTCGGCACCAATCAC
+>r220
+AACAACACTTTACGGCTGGTCCGCTACAGCAACAT
+>r221
+ATGGCTGTTTCTCATTGCGTGCTCCTNNATGACAC
+>r222
+CAATAACAATAAATTAAAATGATAAATTCCTTTTA
+>r223
+CAGCCAGCGATCCTGGGCGGGTGGTGGAGTCCTNG
+>r224
+AAAGAGTTTCAGCACCTGATCGAGCATCTCCCGAT
+>r225
+CGGTGGTGCGGGCATTTTAGGGGGNNNGAACCNGT
+>r226
+CCGAAAACCCCGGTATTGAGCGCCCGAATTGCGGA
+>r227
+GAAAGCGCAGGAAACCAAAGNCAAAGCGACGGTAA
+>r228
+TTCTGGGGTCTTGATTGAGATAGCCATTAATTCTG
+>r229
+CTGCATGTACAGACTGACCGGGTGTTTAATTTGAG
+>r230
+CCACATCTGCCGCACGGGTCAGTAAGCCATCAGTA
+>r231
+TCGGGTTGTTCGACNANNNNNNNNNNNNANNNNNN
+>r232
+TGAATCAAAGGTCACAATGGCTGGGATGCTGGCGA
+>r233
+TGTCGGCATGGCAATTGATATCCAGCAGGCAAAAG
+>r234
+AGGATATAGAATATGCGTAAATTAACTGNGCCACA
+>r235
+AAACAGCCGTTTCTGCTGCCGGTCGGTATAGGGGA
+>r236
+GAAGCTGCCACTCTGCCTGTTCATTTGCATTATTT
+>r237
+AATCCCACTGGCAGCGTCGCGAAAAGACGCACCGG
+>r238
+AAAGCGTCCTGGACCTGGCTTGATGCGACCAATCG
+>r239
+GCGAAGAGACGGGGAGCNNGTTTNGNTNCACAATC
+>r240
+ATACCCAAGGTATGACGGTTGTTGATTATTATTAT
+>r241
+ATTGACGATCATCCGCTGCATTTTGGCGATTATTC
+>r242
+CGCGAATCCAGCTCCTGATTGCCGTTCTGATAGTA
+>r243
+TACCCGATCCACTGAAACATGAACATCAAGCGGCG
+>r244
+ATAAGAAGATGAGTAACGCGATTACGATGGGGATA
+>r245
+AATTGTGCAGCGTCAGCGGACACTCCATACCATTT
+>r246
+GTGATGGACGTGAAAGTGGGTAGCGGCGCGCTATA
+>r247
+CATGGGCGAAATCGGTAACCGAAATTGCTCGTANC
+>r248
+GCCTGCCTCCAGCCTCGATTTCGGCCATCAGATCC
+>r249
+AAACTGCGTTGCCCGACTGCTTACTGCCTGCGATT
+>r250
+TAGCTGCGGCGATTAACCGTGGTGATAAAAGGGCA
+>r251
+CAGCACAATTTAAAANGNNNNNNNNNNNNTNNNNN
+>r252
+ATATTCGGCGGCAGCAAAAGCGCTGGTTGACAACA
+>r253
+AAGCCATTGATGGTGTTCACAATGCCCGCCGAACG
+>r254
+CGCCCCAGACAGCCAACATTCCTCTCAGAACGTGA
+>r255
+GGCATCGCCACCTCGGTGGAAACCGCCGCCGTGCT
+>r256
+CCCGCAGAGAAATATCGTGAGAGANAGCTCACCCT
+>r257
+TTGTACTACCACAAAGAGATTGGCTCCCGGATTAA
+>r258
+CTGTGGCTGATAAGACGACAAGACTTCAATCCCGC
+>r259
+ACACCAAGTCCGGCACAATGCGGTAATGCAGCTGA
+>r260
+TAATTAACGATGCTGAATAGCTGGTCTTTAANCGC
+>r261
+CGCCGCGCCTGAATCCCCCCCGCATGCTGATATCC
+>r262
+CTGGGGCGGTTGCCTCCTGTAATCGACAACATCGT
+>r263
+GCAAGCCAGGTGGCAATTGANTGTNCTTGNNGAGC
+>r264
+CGGGCAATGTTGCGCCATTGACCTTGCTNACGNCG
+>r265
+CTGGCGGCGGGTGCACTGGCTACAACCTGTAAATA
+>r266
+CGGAGGCGGCGACAGCCAACTGAGCCTGCAGACCT
+>r267
+CCAGTACGTTGCTCCAGGCATCCAGAATCAGCCGG
+>r268
+CGCATCCGTATGGCGAATANCTGTTGATTGTGNGN
+>r269
+TTCGGTATAAACTAANTNTNTTNNTAATGTNANTT
+>r270
+TCCAGTTCCTCAATGATTTTATCCATCGTCATGCC
+>r271
+CGCTGGAAGACATGCAGAAAGCCAATGATAAATCA
+>r272
+GCGCTGCGTCACGAACTGGCGCAACTGCTGGGCNT
+>r273
+CCGAACAACCACCTGGATATGGAATCCATCGAGTC
+>r274
+ACCAGTAGCCAGCCGAGCGGTTCATCGGTGTTTGC
+>r275
+AATGCTGCTGATGATCGTACTGGATAATCTTTACT
+>r276
+CTCGGCGGTAAAGTTGTCGCTNGCNATNCTTTANN
+>r277
+GGATTTTAACCCCTCCTGTTTTTCGCATCCGCTAA
+>r278
+ACGCTGAACTGGCACAATCCANNATNATGTGTTAA
+>r279
+ATAGAAACTCCGATGCTGCCCAAAGCCACGCCTGA
+>r280
+CGCTGCGTCATTCGTTCTGCTGAATTGGCGCAACT
+>r281
+GCGGTGGNAATGATTTNNTAAGACTTTCGNANGNC
+>r282
+TACTGAAACCGTTGGGATTTGTGAGTANTANTANN
+>r283
+TCCAGTGCGGCGATCGGTANATCGAGCAGGGTTNN
+>r284
+GACATGAGATGCCATGCGCGCTGTTTTTTTCCGGC
+>r285
+GNNNNNCNNNNNNNNNNNNNNTNNNTNNNNNNNNN
+>r286
+GAATATTACGCCTGATACAGATGGCGTGGCTNAAA
+>r287
+TGCCACCAGCACGATAGCAATCGCTTTCAGGAATT
+>r288
+TTTCGTCGCCCCAGGGGCTGCACTCGGGGACTCAT
+>r289
+GGTATCGCAACCCTTTGCTGAAAAATAGCGGCGTG
+>r290
+AGCCTTTGCGGAGTATCTCCATGAGCGTGTGCGTA
+>r291
+CCAAACTGGTCGTGTAGCGTTTCATGCCACTGTTT
+>r292
+AGTTCCGGAACAAACGCGACTGCTGTTTGTAAATC
+>r293
+GTCTGACCGGTCGTGATGGCCCGGACCGNNGTTTA
+>r294
+GTCCGTTACCGGCAGATTATGTTACGCACTACCGG
+>r295
+TGATTTGTCAGTAATTTAAAGGCCGGAANNTTAGT
+>r296
+GGCAATGCTGCTGAAAGCCATTGAAGAGAAAACCT
+>r297
+CGCTCGCTGCAATTGCCGGACTGGGTACTCATGCC
+>r298
+TTTTCATTCAGCCACTGACCNCACACGGAANTTNT
+>r299
+TCGCAGGCAAAGAAGCTACCGCTGCCTGGGTTGGA
+>r300
+AATCCTTGTTTAACAGCTTGCGGCTGGCCATTGCG
+>r301
+CTTTGACAATATTAATCAGTCTAAAGTCTCGCGGG
+>r302
+CCCACGTCGGTGGTGATAATCGCATTGTCATCGAC
+>r303
+GNNNNNNANNNNNNNNNNNNNNNNNCNNNANNNNN
+>r304
+AATCAGCCAGGTGATCCGCAATCCGGATATTCAGG
+>r305
+TTTATGGTAAATGGTATGGTTAGTTTTCTTTCCGG
+>r306
+CCTGTTGCAGCACGTTCTGGTAGAGGGTGTTTTCG
+>r307
+AGAAAGTGAACTTTCAGAATTTATTGGCGTAACGC
+>r308
+ACGGGCTAACCTGCTGCGCAGACTGTTCTCCAAAT
+>r309
+TCCCCGAACCCATTAATTAACGATGGCTTGCTGCA
+>r310
+GCTGCATCAGTAAACTGAGCTTTGAAATCGGCAAA
+>r311
+ATCCTCAGAAATCAGATAAAACAGGCAANTNCTAA
+>r312
+TATTGTTGAGCGCGTGATCCGCCGCGTCAACGAAC
+>r313
+CTGTTCCCGCATCTGGATTTCGCCATCCCGGAAAT
+>r314
+CTTCAATCCCGCGACTGATATACCAGATGGTGAAA
+>r315
+GGGTACTTCACTGGACATTAGCCATCCTCACNTAA
+>r316
+CTTTCTTCCCCTTCGGTACTGGCGTTAACTGCACA
+>r317
+ATGTCATACAGCAGCACAACGAGGATCATCGGCGA
+>r318
+AGCAATAAAGCGGCTCAAATGCTAGTNTGANGGNC
+>r319
+AAACCAGGGTGATCAGCGCCATCAGCGTCAACAGC
+>r320
+GGCTAATTTTGCGAGTCGCACAGGTGCGATACGGA
+>r321
+CAGTGCCTCATTACGTTCAGCAATTCAAAGGNCNN
+>r322
+AAGAAATAATTCGTAAAAAACGTGATGGTCATGCG
+>r323
+AGCGCGAAAACGAAGCCACCTGTTTTGGTCGCAGA
+>r324
+ATNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
+>r325
+CGGCAGCAGAAAGCGACTCNAGTAAGNTNNGNAAA
+>r326
+GGGCGTTATACCTGCATTGCCCGCAANNCCCNNCA
+>r327
+AGCACCAGCACCACCATGTAAAGCTGAAACAGCAT
+>r328
+ATTACCGCCGTCCGGCATGACGAACGGGCGTATTC
+>r329
+TGCCTGCAAAGGGAGCAGGAACTTCCATAGACGCG
+>r330
+TGACATTTATTGCCCGCCGCGATGTTACGCCACAG
+>r331
+AAAGACCCGCTAAGCCGTACCGCGGGCGTTGGTAG
+>r332
+TGACAGGCGGGATGATCGGCTCGTTTATTCTCCAA
+>r333
+CACAATTTCCAGCCGTAGAAAATCGACCTGATACG
+>r334
+GCGGCGGGGTCAGTGGGGTTACGCCATCTGCAACA
+>r335
+CAATGCCGCGCATCGATTTAACAGGATGAATAAAA
+>r336
+ATTTTGTACGGGATGCGGTTTTGCATCAGGAACCC
+>r337
+GTGGGCGTTGACCATATATTCAACGGAATCAGCGA
+>r338
+TCTGGTCCCGTTCGGTGATGACGAAAGCCGGTGGG
+>r339
+ACTATTCGCCACACCACGCGTAACTTCCCGAAGNN
+>r340
+GAACCATAAAGGAGTATGGAACACGTAATAANNTN
+>r341
+AAAGCCCCTCGATTGAGGGGCTGGGAATGGGTGAT
+>r342
+CCTCCGATATCGTCGAGCGCATGGGAAGTGAAACT
+>r343
+ACTATCATCTATCGTTGGCATCAGNTACTTGTANT
+>r344
+GTGGGCTGGGCTGCTGCCGGGCAACTGATTGATGG
+>r345
+GCCGGTATGTCGGACTGCCACCCTTTTTTATTGCC
+>r346
+GTTTCAATCAATTCATCTGAAATCGATAAAGAACT
+>r347
+CCACGGCGAAAATGACTGGGTGCGACGTTAATGCC
+>r348
+CGCAGGCGGTCAAAGGTTAAACAACTGTTACTTTA
+>r349
+AACGGTGCGTTAAATACCGGGATCCCGCGCTTTGC
+>r350
+GCGATTATCCTTGGCCTGATGCTCTATATCGTGGG
+>r351
+GACGGCTTAAGGAGTAGAGCGCTCNAGACANGTCG
+>r352
+ATCTCTTCCCATGGCAGGACATCATTNCNNCTANT
+>r353
+GGGATAGTTTTCGACGGCTCTTTATAATAAGCCGT
+>r354
+GCTAAGATATAGCCTGTATTTTTCATCATGATTTA
+>r355
+CGGATGATAACGCCAGCGGCGTGGCAGGATTACTC
+>r356
+CGGCCATCATCGCTTCGAGNATGGCGCGGCTCGGT
+>r357
+AGCCTTTCTTACGGTCAATGGCGACGCTGGCCCCA
+>r358
+AAACCAGGCGGAGACCTTTGCGACATCTTCACGNN
+>r359
+ATATGCGCCAGCTGCATTTCATATTCAAAATCTGC
+>r360
+GCTACACCGCCCCAGTACTGCGTANACANCGNGCA
+>r361
+TTGTCACTGAAAAACGCAAAGCGTGAGTNATNTNN
+>r362
+AACATCGCGGGTATTTNGGTTTAAGCCCATGNCTC
+>r363
+GCAACGGGTGGTTATAGCCAATGATGGTAACTGTT
+>r364
+CATTCGCAGATCGAACTGCACCACGTTCCAACCGA
+>r365
+TAATACTTCAAAGAAGCGATTAGCATAAACAGGTT
+>r366
+GAAAACTTTCAGCTTCCCCCGATGCGGCGCGGCAG
+>r367
+ACCAGAGATAATGAGAAAGGTAACTTCCCTNNAAN
+>r368
+TAATATCTTTATACGATGTTTTACCCCCTTTCTCT
+>r369
+TGAAGATGAGATGTTCAGCATCAGATACTTTAAGA
+>r370
+GGATGCTGGTATTTAAAAAGAATGTTTTCTNTNTG
+>r371
+TACTTTAAAAGGAGTGAAGGGATGTCTGATATAAA
+>r372
+ACGTAGGCAGGCTACTTAATGTGTCTGGCAAAGCA
+>r373
+GGCCTCAACCGGCGTTTCCGGATTAAGAATCAGCC
+>r374
+ACGCTATCGAGATGCCGGAAAACCCGGATTCCCTG
+>r375
+TTCGCCACGTTGTTTCATCAGGTCCGCTTTAGTTT
+>r376
+CATTTATTCATTTTATCCAACCATGAACGATAGNA
+>r377
+TCTTCCGCAACTGGTGGATGTTAGGCTCAACAACC
+>r378
+CTAAAGGAGCTAAATATATGTGAACCCTGATGTCC
+>r379
+CAACAGAACCTCCGGTGTTAATGTTGTCAACAGGA
+>r380
+CGGCATCCGCATGTGGACGCCGCGGTGGTGGCCTG
+>r381
+ATTCCGGCAGGCAGTTGCAAAGTCAAAAATNTGTT
+>r382
+ACCTCTTATTGCAAACGTTCTAATCAACGAGCCTG
+>r383
+TCCAGCCATAGCGCGCCTTGCTGATAGGAGGCGAT
+>r384
+TTTTACGAACACAATGTACAGTGATTCAAACCCTC
+>r385
+TAAGGCTGGGACATCCCAGTANGTCTGATGTGCCA
+>r386
+GCCGTCCGACTCGTGCGCAAAAAGCGCGTAATGTT
+>r387
+ATTCGGTTATGCCGATGGACAATTTAGCGAAGGAA
+>r388
+GTGATGGGAATGACGGGCAGGCTGAATTAATTGGT
+>r389
+CAGCTGGTTCCGGACAGCCCGCTCGATGAACCCGA
+>r390
+CAGGCCGGTGAATGAGTCAAAGGTAAACAGCGTTT
+>r391
+AAGCGAAGAAGATTGACGCCATCATGTCATNNGCC
+>r392
+CTAAATTTATTGCCGGATTACATCATCAGGATATT
+>r393
+AGGTTGACTTCATTGGCTTTTACAGGTTTCTTCAC
+>r394
+TGTGACGCCTTATGCGGGTGTGAAACTTAGTCATA
+>r395
+TCGGCGACATCTACCTCGGCAAAATCAAGAAGTGN
+>r396
+TTTTTGCACTGACCATTAATTGCCTGCTATTTATG
+>r397
+CTATGAAAACCGGCATCGTGACCACCTTGATTGCA
+>r398
+TTGCCAGTTACCAGCGTGGCAGCCGTAAACCGGTT
+>r399
+CGTCTGGTTTAATGTTTCCGGATTCTTGCATAACG
+>r400
+CCGGCGATAGAAGAAGATGAACCGGTGAAATGGTT
+>r401
+TGTGATTGAATATAATCATTGTTATCATAAACGCA
+>r402
+CCGTCAACGACTTGCCCATTTGCTCGGCTTCGAAC
+>r403
+GATGTGACCATAGGCAGTGCCGAGTTCGTATTTAC
+>r404
+GCCACATCCATCATCGTGGCCCGCAGTTCTGCAGT
+>r405
+TTAGTACTTCTTTCGTGTTTTTCTATTGTCATAAT
+>r406
+GGCGAGACTGCGCGCCGCCGCTGAAAAGACTAGGT
+>r407
+GTTTTTTGCGCAGCGAACTGGCGATTAAAACCTGG
+>r408
+GATCATGACTGACGAACAGGCCCGCGTGAAACTGT
+>r409
+CATGTCTTGCTCGTCCAGTTCCACGTCGTCAAAAG
+>r410
+ATTTTCAACAGCAAGAGGCAGGTTTGATCGGTGCT
+>r411
+GCATGTTGTCGGCCTGAATTGCATAGCTTCAGCAA
+>r412
+CGCCAACGGATCTGTTATACNTAGGAGTGTATAGT
+>r413
+TCAAGCATTTTAGCGCGCCAGGAAGCCTGAAAACG
+>r414
+TTCGAATATTTTGCAGCATTGTCTTTCTTCATCTA
+>r415
+TACACATTTTTTCCGTCAAACAGTGAGGCTGGCCA
+>r416
+CATTTCAACGGCATTAACCATACGTTTTGACCNGT
+>r417
+GATAAATAGCGGAGGCTTACCTGCAGGTGGTGTGA
+>r418
+TTCAGTGTATTGTTTAGATAATAGGATTTTNTANT
+>r419
+TTGCGCGTGAAATTCAGCACTTCATTGCGGAACTT
+>r420
+AAGCTTTCCAGCCGCGCTTCATCTTTCGGCCTACN
+>r421
+CGGCGTAAACGCCTTATCCGGCCTACGGTAAGCCA
+>r422
+ACCCGCACTCAGGCCAACCTGGTCGCTCTGCTCAG
+>r423
+ATCTGCTTATTCTCCGGCATCTTTAGTGGACTGAT
+>r424
+CCAGTACTGCCCACATCAGCGCGGCTCNTTCCNCG
+>r425
+ACGGAATTATCGCCTTTACGCTAATCGCTGCACTG
+>r426
+TCGCCAGAAAGTACGTTGATAGCGTCATNCGGGGT
+>r427
+TCATATTGGCTGCTTTAGCTTCCATGAAACCAAAA
+>r428
+CTGCTAACCCTGTGACCTGCAATACTGTTTTGCGG
+>r429
+GTTCGAAAAAGATCCGCAGACTGAAGCGATCGTNG
+>r430
+GGNNNNNNNNNNNNNNTNNNNNNNNNNNNNNNNCN
+>r431
+CGCGACTGGGTTTTGAAAAAGAAGGCTATGCGTCG
+>r432
+TCCAAAGCGGCTGATGACGATACCTTCATCAGGCT
+>r433
+AGTTTGTTTTCGCGGATTAAGGAACTGAAGACCGA
+>r434
+AGGACAGGCATAAACTGGTTGTAGAGTATAAGGAT
+>r435
+AAGAGCTTGGCGTTTGTACGGCTAAGTCATAANAA
+>r436
+GCAATGACCGCTTTAGTAAATACTCGTGACCTCAA
+>r437
+GCCTTCTTTCACTGCATAGTCCAGTTTCAGCCCAA
+>r438
+TTAAGAAACGGATGCGTTTCTTATCGTNANAAAGA
+>r439
+GGGTTTACGCCTGTTGAGNNAAGGGCTCTANNNTT
+>r440
+GCTACCGTCATCGTTTAAACCTGGTGATAACAACG
+>r441
+CCTGTACGGCAGCAACGCCGGACTCGAAATGACCA
+>r442
+GGGGAACGGCAAATATTGCCGACACAGACAAGNCC
+>r443
+ACGACGCAACCAGGCCTCGCTACAGGGGATCGTGG
+>r444
+ACCGCATGCAGCACCAGCGGCGGCAGCGAGAACTG
+>r445
+AATGTCTTACTGTCAGGATTAATTAAACGGAGCTC
+>r446
+CACTGAGCTACATGCTGGCGAACAACTTTATGAGA
+>r447
+AGTAACGGACTGTTCAGCGAAGCCGATCTCAACCG
+>r448
+TAAAAATCCGGATGTGCTCTCCGTGGGAGAGGGGA
+>r449
+TACCGCAAAGCGAATAGGTTAATTAGCAAANNCCA
+>r450
+GACCTTGGTTTTGCTTTCAAGNANNNATGTNNCAG
+>r451
+GCTTTGCCGCTGCCAAATTTGCGCCACNCTGNATN
+>r452
+GCCTTTGCCGTCATTAGCGATGTTATTGTGAAATG
+>r453
+ATGACGCTCGCAGAAGCCGAAGGCTTGTTCCGTAA
+>r454
+GAGCAATGCCTGAGTGTACGGGTGGCGCGGGTTGN
+>r455
+CGCGATGATTTAACNGAGNTTGTNTCTCGACCAAN
+>r456
+GGCCCTGTGGATTGGGCGCACGCTGGACATNGAGC
+>r457
+ACAGAGGAACGGATCATATGNACAGCGGAACNACA
+>r458
+AGCAGGTCATGATGCGGGAAGACGGCGCATGGCTT
+>r459
+ATAATGAGAAAGTTTGCCAAAACAGCCATTGCCGA
+>r460
+GCATGTTATCTGGCGGTTCCTGTGGATCTAGTNNG
+>r461
+ACCAACGATTGACATCGACACGGTGGACATCGCCG
+>r462
+GCTGAAAAGGTGCGTACGGCAGCAAAGGCNAGCCT
+>r463
+TACCGCCAACTTCATAACCACGCGCTTTCGACATG
+>r464
+TGGCTAATTATTCAGGTGGTTTTTGAGGGTGTTTT
+>r465
+CGCGTCGCAGACAGACTGGCAATCTGTTTTGGTAT
+>r466
+AGGCTTTATGGACGAAGCCATCAGCGTATATNTGG
+>r467
+CCTCTTCCGGCCTGATAGCTGGCTACCAGTTTCTC
+>r468
+CGCGCCGTTATGATTTGCNCCTNACTTTATCTANG
+>r469
+TCAATTTTATGTCCATGGCAGGGAAGGATACTTGT
+>r470
+CGGCAGATTTTTCTTTGGCTAATGCAGCAAAATCC
+>r471
+GTGAGTTGATGGAACTCATACCAGCGATCGATAAC
+>r472
+ANNCNNNNNNNNNNNNNNNNNNNANNNNNNNTNNN
+>r473
+GATAAAGTCCACGCCCGTTTCGGCAAATTCGCGCA
+>r474
+TTACAGTAACAAACCGTATTGTGTAATTATTTCTC
+>r475
+CGCAACGGCGAAAACCCCAACCGTTTACAGCACTA
+>r476
+ATACATGATGTAGCGGGTACGAATTGANACAANTT
+>r477
+GCCATTTTACTTTTTATCGCCGCTGGCGGTGCAAT
+>r478
+CGGTCATCTTAATTACAGACATGGTGAATCCTCTC
+>r479
+TGAATGATAACTCCATAAAGCCAATGCATTTTAAC
+>r480
+TCAAGNNNGCNNNNNNNNNNNNNNNNNNNNNNNNN
+>r481
+GTTGCAGGGCGTTGCGGGTCGTTTTCTCTACCGAA
+>r482
+CTGACCTGGCAGATATTGCATTTCTACTGCCTTCG
+>r483
+TTAATCGCCAATAATCTCTCATTAAAAGAGTTTGC
+>r484
+GGTAATATGAATGTTTTTATGGCCGTACTGGGAAT
+>r485
+AACCGATCACTTTGTTTTTGTTCGGGAATGAGGCT
+>r486
+AGCCTTATCCTCTCGCGTGATGGCACAAAAGCCTN
+>r487
+TCGGCGTGCTGGAACAGCAATCAGATCTAAAAGGG
+>r488
+GAGCATGCGCTGACGACCCAGAACACTGACGAATA
+>r489
+CAGAAACGCATAGATACCGTCAGCGTCGCTATGCC
+>r490
+TTGCGAATCAGTGGCATACGTGTAGTGCCACCCAC
+>r491
+AACATTCCGGTCGATGGTATAGACATGGGCAGTAA
+>r492
+GTTTATTCTCGGCGTGCCGTATCGCGGGTCGCTGC
+>r493
+GGCTGAAGAACCAAAACCGATATCCGCATCCACCA
+>r494
+CGCGCCGGTTGCCAGCTTAATCCCCAGGCCCGNTA
+>r495
+GTTTACGTTTATTAAATAGCAGCCCTTGTAATGCC
+>r496
+TGAACCCTGAACGGCATGAATGCGACGAATAAGAT
+>r497
+GCATTGCAGGCATCAAGATAATCATTAAACGTATT
+>r498
+AAGCCGACATACAAATATCCGACATCAGTCACAAA
+>r499
+GGAGTCAGTTCCCCGTCATCTTAGGTATCACTTTC
+>r500
+CCGCCCACCAACTTTGCGGCATGGCAACCAGNCTG
+>r501
+GCGTCCGGGGAAGTTAAAGCGCGTCACCAGCCAGG
+>r502
+CGCTGCGCCGCCTGCGCCCGCAATAATCACCTGAT
+>r503
+TCTACCAGCACCTGCTTGAACGCACCGCCACCACC
+>r504
+TTTTTCCCTCGCACGGTTGCGCCATTATACCGGTA
+>r505
+ATCACGGGTAGGAGCCACCTTATGAGTCAGAACAG
+>r506
+CGGCACCGAGGGGGCACTGGATTCTCTACGCGTGC
+>r507
+ACCGTCAGTATACCGCCAAAGCGGCTGTNNNGGCG
+>r508
+GCAAAAAATTGTTATTGNCGGAGAAATCACCGAAG
+>r509
+CGACAGGCTCATCCCCGGGTACCCAATCAGTCATA
+>r510
+GGTTACCCTTGCGCGTCATAACTTGGAAAAAGAAN
+>r511
+ATGTGGATATTATCGTTGGTACTTTCAGTAAAGNC
+>r512
+CATGGTCTCAGCAATAAATTTCTTGTCAGCAAGTT
+>r513
+GACGTGCGTTTTGTGACCGACTTGAGCCAGCCGGT
+>r514
+TTGCCATCAGAACCGAACAGTTCAATGTTATCGTA
+>r515
+GGCTGCAACCTGCGGTACTGTTCATGGTGACATCT
+>r516
+GGCGAGGAGTGAGTGTGAAAGCGAAGAAGCAGGAA
+>r517
+TCAAAGCGCTCAATAACGCAACCTTTAGTAAAGAT
+>r518
+TCAAGCCCGATGTCTCCTGTCAGCGCACCTAATAC
+>r519
+TATGAAAACTTTTCACTGGAGTGGCAGTCCGCCAT
+>r520
+CCCACAATCCTTAACTCAACGCAGTACNCNGAGCC
+>r521
+TCCCGTCAACGTAACCGACCTGGAGATCGAATACC
+>r522
+GCGTACCATCTGCGACGAGCTGGGCGTTCTTGGCA
+>r523
+GGGCAAGCGTAATGCCATCCGGGGAGTTAACNCTA
+>r524
+TTGTTTAACACTTTGCGTAACGTACACTGGGANCG
+>r525
+TCTGCTGAACAATAGCGATCTTTTCCTGTGTAGTA
+>r526
+GTGAAATAGTAGATTATCTCCTGCCCTTCTNCTGC
+>r527
+TCTTCCCCTGATTTGGCGTTGACGACGCTGCTGCT
+>r528
+TGGCGCAATATTCATTCTTANAANTGNANAAATCN
+>r529
+TGCCAAGTAAGTGACTTCAAAACCTTCGCGCTCNT
+>r530
+TGGAAAACTCTTTCGCGTCACCACCTTCGGCGAAT
+>r531
+GGTACGAAATAATGTCTGGCGTGCATTTTCTAACC
+>r532
+AGGGTGACATAAGCACCATCACGAGCAACGATCTG
+>r533
+TGCGCGGNNNNNNNNNNNNNNNNNNNNNNTNNNTN
+>r534
+GTGAGCTTCCTGCATCTGCCGGTACAGANNGNNNN
+>r535
+TACGGTACGCTGATGGCGCTGGCGCTGTATACCAT
+>r536
+GAGGATTGCTGCAATCTGCCAGTCAGCCAATTTCC
+>r537
+CGGAGCGACCCAGGCCGGGATTTACGATTTCATCG
+>r538
+TTNNNNNNNNNNNNNNCNNCNNNNANTNNNANNCN
+>r539
+AGCGGCGCATCGGCGATTGTTATCGTGTCTAACTT
+>r540
+GCGCCAGCAACAATTCACCCGCAGAGGAAGCGNNT
+>r541
+TTACGATGAAAAAATTGCAACTACGCCCGACGGTA
+>r542
+CTGTGGTGACCAGTCGGTTTGTGGGAAATTGCCAT
+>r543
+TGCGTCTTATCAGTTCGCTAATGTGATGGATATGG
+>r544
+TGACCCCGTTTGGCGACAGCGATTATGCTGTTGCA
+>r545
+TTATTCTCCGCCTGAATGTTATCTACGCATGAATG
+>r546
+GTGGCAAACCCATCCGGATCAAAGTGAACATCAGG
+>r547
+GATCGCCCTTCAACCAGATGTCATACAGGTTTTTA
+>r548
+ATACCGGCGTTTCTCCGGTCTTCGCTGGCGGTGTT
+>r549
+GTAGTGAGGACGAAAAGAAGAATATAATAAATAAC
+>r550
+CAGCTCTTTAATCTGATTGGTCAAAGTATTTACTT
+>r551
+GCAGTGCGACAGATTCTCCGCGTTTNACGCCTTGC
+>r552
+TCTTCTACATTTCTTTAGTCCCGGCGATAGTACAT
+>r553
+GATACTCCTGAAGTAGTCGGGTATCGACACCACNT
+>r554
+ATCCCGGCGAGTCTTTNGNGTTGTAATGAGCGGAT
+>r555
+TGNNNNNGNNNNNNNNTNNNNNNNNNNNNNNNNNN
+>r556
+AACATGGTCAGAATGTCCTTTGTGAGATTTATGAA
+>r557
+CGCCCGCCAGCGGTGCCGAAGGGGTAGAAACGTTG
+>r558
+GTCGGTTGCTCCACATTTTTGATTGGNTTCTNNNC
+>r559
+GACCAGATACTCCACATTTTTGCGGGAGACCCTGC
+>r560
+GCGTGGGCCGCACCTTCNTCTCAGCATNAGNGCGA
+>r561
+AATTTTCATTATTTTTGGTTTTCCCAAAATGATGG
+>r562
+AGCGGTGTCCAGGCGCGGTTCGCGTCAAGACGCAA
+>r563
+AAACGGCCGTCAAACTGGACGGCGTTAATCGCGTC
+>r564
+AACGACAATGGTCGCTACGCCGTTANCGGGCTTNT
+>r565
+CAGGAGAAAGCATCAGCACCGGATTGCTCATCGTC
+>r566
+CGACTTACTGTAAGGCATGTGCGAACGGTTTGCCG
+>r567
+AGCGAAAAATTTGAAAGGCGCATCTTACTCTTTTC
+>r568
+GCGGTGCTGGTGGCCTCGATTCCGCAATTTGTGCT
+>r569
+TTAGGCTGTTCCGTCGCTGAAATTGAATGTAGCNN
+>r570
+ATACATAAACTATACGAATAGGTTCCAGTTTTATA
+>r571
+TTATGATTAACGACAGTGACACTGCCTGAGAGTTG
+>r572
+AGATTTCGCCGAGATGTCGCTGATTGGTATCANTC
+>r573
+GAAAAAGCACTCGATGCGTACTACGCGCCGCAGCA
+>r574
+TTTGCGTTTAGGGTTTGCGCCAAAGTATGAGCCCC
+>r575
+TCGCTGGAGTTGGGCGTTATCATCGAACGTGACAN
+>r576
+GCGTGCCTGACTTCTCTGGGCTCCTGGATGATGTT
+>r577
+GCGAAGAACTGGGAGAACAGCTGCTTTTGACAGAA
+>r578
+GTTCTTCCGCCAGATAACGCTCATGCTCAGAAGAG
+>r579
+GGCGCACGTACGCTTGATGCACCGCGTGAACGTCT
+>r580
+CCAGACACCGTTCCTTTTTTCCGACACCGTAGCGA
+>r581
+GAAGAAGATTACACGCGCCAGACGCGCGGCATGTA
+>r582
+GACAAAATTAAACAGGACAAGACAAATCTGACCAG
+>r583
+ATCCTGACATTCTTATTTCACCCAAAGAAGTTANN
+>r584
+GATGAGTCATCAGGGGGNTGGTTGTGNGGACTTGT
+>r585
+ATTATTGTTTAATCGCCAGCAAAAATAACTGTTAA
+>r586
+GCCGGATTTGCGTGAGCGTTATCCGCATCAGCTTT
+>r587
+ATCTTCTCTCATCCGCCAAAACANCTTCGGCGTTG
+>r588
+ANNNNNNNNNNNNNNNNNNNNNNNTNNNNTNGNNN
+>r589
+ACCAACACCGGACTGGCGATAATCCCCATATGTGC
+>r590
+AGCAACTTGTTTTTTNNNNNCNNNNNCNANNNNNN
+>r591
+CTTACGCGCTAAGCCTGTTTGATGGCGACGGCATG
+>r592
+TGTCAGGCGATGACCGCACGGATAATCAGCGATAT
+>r593
+CGGTCATGTAATAACTAAAAGAGATGAAATCTCCG
+>r594
+CGGCGAGAAAAACAAATACGGAGAAGAAGGCGGGG
+>r595
+CATCCGGCGCGGGTTGGCCTGACCTGCCAGCTGGC
+>r596
+AATTTGGCGCGTTGCTGATCATCGATGAAGTGATG
+>r597
+AGCAGATTCGGATTGCCGCGTACGACACCAGCGAA
+>r598
+ATGGCGGAGGCGAAAAAACGTCTGGCGCTGAANNG
+>r599
+CAAGTGACCTGGTCTTTTTCAAAACGGGTCCGTGA
+>r600
+GCTGCGCGCGAACGTTCTTTTCCAGCTGTCCCGAT
+>r601
+GTTCGTTTTTATTTTTTGCACCGTTTTGCTGTTCC
+>r602
+AAAAGTGAAGCCGAAAAACGCGTAATNAGGNCAAA
+>r603
+GTTGAAGAAATTATGCATGGCAGTCTCCTTTCGTT
+>r604
+ACCAATGCCTGGGCCCCCTGGCAGGATTCTTTGAT
+>r605
+CGACGTTACATATGTTGTAACTATAAATGTACTTA
+>r606
+CTGCTTGGTCCGGTGTAGANNCNGGCAGNTNNNAN
+>r607
+GTCGCCATGAACCATAACCAGCGATGTTTTCNNGA
+>r608
+GACAGTGAAACCAGATGTGCGCCGGCTANTNNTCT
+>r609
+CCGTGGCGATTGGCGATGGAGCCAATGACCTANCN
+>r610
+CGTGACAATAGTTAACATNGTCATCGCTACAATTT
+>r611
+GACACGGTCGGGTCGCACTGCACCCTTGCGACGAT
+>r612
+GTCAGAGCCGCAGATAACCAGGAGACACTCCAACA
+>r613
+CGTCGCAGCCCGCTACGTCAGCAAAGGTCGAANCT
+>r614
+GCGGTGAAGTGCCTCTGGATGTTGGCCCGCAAGGA
+>r615
+GTTCTCGGGCAAGCGATTTGATAGATTTTTCCTGC
+>r616
+AGCTACGTTCCCGGGCGCATGGTCCGCGCATCTGC
+>r617
+GGCCCGATGGTTATATCCATCGCACCATCGGTGGT
+>r618
+CACAGGCCGCTCCACAGCCTGTTAAAGTCAACTGC
+>r619
+TGATTTTTATGCTGCGCCAGCAACTGGATTTTCTA
+>r620
+GCAAGGTTTTCCCTGAGCAAATTTGCCAGACAGAG
+>r621
+CGAAGGTCAACGACAATTGGTATAAACNTANCAAN
+>r622
+GGATGTAGGCTGAGCCTGGCAAATTCATACGATGC
+>r623
+CGGTTTAACCCATATCTCCTTGNCGATTCTCTTAA
+>r624
+TTCATAGCCCCTACGGTATGGGAAGATGCTGGCGN
+>r625
+GTCAAGAATTGCCAGCGTCAGCGGCAGTAAAATGC
+>r626
+TGGATGGTCGAGGTTTGTCCGGTTTTACGATCTGT
+>r627
+GGTGGCTAATACGCCTGCAGAGATGCTTGTANANN
+>r628
+ATAGGCAATAAAGTTTTCAGANTGACCCAGAATCG
+>r629
+ACACCCAGCGGGCTGTTGTCTTCTTCATAGCGGAT
+>r630
+GTACCGCTAAATTAGTTAAATCAAAAGCGCGCTAA
+>r631
+TACGGTGGCACATGAGAATCATCATCCAGTATCAA
+>r632
+GATACCATTCAAAATCAGAACAGCGGCACGGTGGA
+>r633
+GGCTTTCTCGAAGCAGACGAAGGCTGGATGCACAA
+>r634
+GGGACCAAGACAGAGTGTATGCGGTGACTTGCAGG
+>r635
+CGGGATAGTGATCCTCGCCATTATCCTCGACCGCC
+>r636
+ACGCTATCGATAAGAATAAAAAGGAATAAAAGTGG
+>r637
+TCCCACTGAATCAGGCTGTTAATCATAAATAAGAC
+>r638
+ACAAACTGCACATAGCGCTGGATGGCATTATGAAA
+>r639
+GCCATGATGACGCTGGCGCTGGCGGTTTTGGGGTA
+>r640
+GCTGCAACCGCTTGTNNNNNNNNTNNCNNNNNNNN
+>r641
+TCTAAACAGATAGGCTTTTACGGTTTCCCCGTTGC
+>r642
+CATCTCGACGACTGAAGGCACCGCTGCATAGGCAC
+>r643
+GTAGATGACACTCACGCATACAGTATCGCCTGTTG
+>r644
+GAACAGGTGGCGTTAAATGCCTGGAAAGAGGAGCT
+>r645
+CGATGCAGGCGCCTCTTATCCGGTCTACGGATTAG
+>r646
+TCTTCTTTCGGTGGTGCCACTTCGCCGATACGTAA
+>r647
+ACCTGTCCCCGATACTTGATGAGTTTAANGGGGAA
+>r648
+AGATCGGTCCAATGTCGACCATGNCTCTNATNATT
+>r649
+TACGGCGAATACCAGACTTTTTAATAANATTAGNC
+>r650
+CACCATCGTCGGCGGGCATACCAACATTGTGCATA
+>r651
+TGAAAGATGTGATGCGCTTTAACGAGCCGGCAAAC
+>r652
+AACAGCGCGTCAGTATCGCGCGGGCATTGACNTCN
+>r653
+AGCAGCATCAGGATGAGCATATCCGGCAGCTTCTG
+>r654
+CACATTGGCCCCTGCCCAACCGCATGGCGGCCTTT
+>r655
+CGGTTATCTCTGGCCCAAGGTTTGCGAAAGAACTG
+>r656
+TGCCAATGACCTGCGCTTATCGGTTGCCTTGTGGG
+>r657
+CTATTTTCGACAGCGTCAGNCAANNCTNCTCTCCC
+>r658
+CAGTGAATTTGTCATGCCAGCCGATGCGGTGATTA
+>r659
+AACGCGCCGCCGCTCATCGTCTAACGAGTCCTTTA
+>r660
+TACATCGGTGCCTACACTGCACTNCCTGATGTNTT
+>r661
+GCCGTGGTGGCGTTTCTGNTTTCACTAACANTTTA
+>r662
+GATGGTCATATGAGCGGGGATCTTCTTCGCCAATT
+>r663
+ATTGCGAAGTAATGCGTAAAATGCCGGATGCGGCG
+>r664
+CAGGAACTGCCAGGGATGTCGCTGCGTGAGCTGTT
+>r665
+TAAATTCAGCATCATGAGGAAAAGAGATCAAACAA
+>r666
+ATGATGTCTACACGCCCCACCACATCGCAGATTNT
+>r667
+TACACGCCGCTAAAACGCTGGGCGCTAACGCAATA
+>r668
+TCAGGCGCGGGGTGGAGCAGCCTGGTAGCTCGTCG
+>r669
+GGTGACGCTGGCTAGCCAGAAACGGATCTGGCGAC
+>r670
+GGCTTGATAAACCTCGTCTCCAGATATTCATCAGT
+>r671
+CAGACCCACGTGATGATCGTAAAGATGAATACGGA
+>r672
+CGCGCACTCAGTATGGATGCGGTACAATAAGCCAA
+>r673
+TGAGCATAACCCTGTGGATCGCGACGCAAACTATC
+>r674
+TGCGGTGTTAGTAGTGCCGCTCGGTACCAGTGCAC
+>r675
+TACCTATAATGGTATCTTTCTTTATGATGCTATTA
+>r676
+GGCTGATAAAGCGCAGGTTGTACCATCCAANTTAA
+>r677
+TACACCACTGTGGCGGAACGTATCCGGTTTTCCCG
+>r678
+TACCACTTTTGCACTGCGTAATATCTCCTTTCGTN
+>r679
+GACGGCNNNNNNCNNNNNNNNNNNNNNNNNNNNNN
+>r680
+ACCGTAACTGCCCCAGGACGCACTATTGCTGATGC
+>r681
+TGGCGGACGCGGACTAGATCCCTAATTATTGTGTG
+>r682
+CTCCAGCGCATTACCCGCATCAGAGATAAGCGGTA
+>r683
+GTTGTCTGCCCTGGGGGTTTTATCTACACTNAATN
+>r684
+AAGAGTCACCGTAAAATCAACGCCATGACACTTCA
+>r685
+AAACCGTAGGCCTGATAAGACGCGCACGCATCGCA
+>r686
+TGCTGACCTGCCTGAACGAAGGTCAGAAGTTAATT
+>r687
+TGCACAAATTCTGTCGCTGGCGCTGCTGCTGCGTT
+>r688
+TATAAACCGTTTGATAAAGTTCGCGGTCTGCATTC
+>r689
+ATTACATGCGGCCATTCACCGTATTGAGTGGTTGT
+>r690
+ACTTATCATTATAAATGACGGGAGATTTTTTCTCG
+>r691
+TTTATGACGAAGCACACACATTTTAAGTTCGGTAT
+>r692
+TCAATCTCTTGCTGGGTGGCATTCGGGCAACCCAA
+>r693
+CGCCCTCATTCAGTAAAAACTGATGCATGGCAATA
+>r694
+TGAACAGCTTTATCGCCGCTATTAGCAATGGGCGA
+>r695
+TCCCACGACTCCAGGTTGAATAATCGCGAAAGCAT
+>r696
+TCAGTGTCAGATTTTCACCCAATGGAAAACGATGA
+>r697
+ACCCTCCCTGACGCTCGGCGCGGCAGTGGCCGCCG
+>r698
+TGCCGCTTTCATTATTTCAACATTGCCGATCCAAA
+>r699
+AAAATAATCCATGACATAATGCCCACTGTTTGNTC
+>r700
+CGCGGCCCAATGGGGCTGGAAGCACTGACCACTTG
+>r701
+GGTGCAGGAACTGATTGACTACATCGGGCAAAACN
+>r702
+GATGATTTAGCACATCCATTAAAGATCCCGCAGCT
+>r703
+GATTTTGCTCCGGCTGGGCGGCTACAGCTGGCTCA
+>r704
+ACTTACTGGAAGGCTTTGTTACCAGAAATTATCCG
+>r705
+ANNNNNNNNNNNNNNNNNNCGNNNNNNNNNGNNNN
+>r706
+GTAGCGGGTTCTCAATGTCGTCCGCTANTNCATCA
+>r707
+CCAGCACGCGCAGGCGAGCGGCGACGGTTTGCGCA
+>r708
+TCGCCGTATTGAACAAGCGTCGGCGCGTGAAATTG
+>r709
+AGAATGATTACTTTATTGGTAGTAACATTTCTGCN
+>r710
+AACGCTACGCCGAAGAAGGTGCAGATGAACTNTAN
+>r711
+GGTGGTCACTGACAGCCTGTGCCTCTCTTCCTGGA
+>r712
+GTCATCCATAGATTTGACTTTCAGGTTGACGTACA
+>r713
+TGATTTCCCGGATGAAGAGATCGATTTCCTCTCCG
+>r714
+CGTTATCCACCGCGGCGAGGAAGAGGTGCGNCCGA
+>r715
+ATAGGAACCCTTTACCCGACCTTCTGGATGCTAAA
+>r716
+CGCCGCCGGGTCAGCGGGGTTCTCCTGATGTNTNC
+>r717
+GAGCCAGGTACCTTTATGACCCAGGATGTCAACAT
+>r718
+GCCTGCCAGCGCCATATAGCGTTGTAATAATNACG
+>r719
+CGGCCTGAAGTCTCCTGTGCGCCTGAAGGCACATC
+>r720
+GGATCTGACATTTTTGCAGTTGCAACTCGACGGGC
+>r721
+TTCCCATTGCATCATGGAGGTAATCACGGAAGAAT
+>r722
+TGCTTTCGGCAGCCTGTGCATTATGTCGGAAGGTC
+>r723
+AGATTCCTGACCTTTGAGCATACCACGACGACGGC
+>r724
+AANCNNNNNNNNNNNNNNNCNNNNNNNNNNNNNTN
+>r725
+CATAGCGGAGTTATCAAACCCCAGGACATCCAGTG
+>r726
+GACGCCGCTGAACTTAAGCTACCGTTGCCNGANAC
+>r727
+TCGTCAATAACAAGTTCACCAATGTACAAACCGTA
+>r728
+AATGCCGCAAGCTGACGTAAGCATTCTCCGGAATG
+>r729
+GCNNNNNNNNNNGNNNTNNANNNNNNNNNNNNNNN
+>r730
+ATAGATTGGTGTATCCACGCNAAANCGCTNCTTTC
+>r731
+GAGTAAGATTTGCCGTCACTGATTTGAAACGGCGG
+>r732
+GATATTCCTAAGCCAGTGGGCAGCATAACTGACAG
+>r733
+CCTCGCGCTCTACGGTGAAGNGCGTTNNGTTCCNG
+>r734
+ACAGAGATGGAAATATCACAATGATTAATAACATA
+>r735
+TACGATAACAATCATTTATCGACAAATCGTGCGGA
+>r736
+ACGTAAACCCGAATCCATCTTCGACTACCGTTTCT
+>r737
+GCATCACCTCCGGTCCTTTGACACAAAGCTCACCT
+>r738
+ATTTATTGATGGTGAATATTAATGTTTTGTGACCT
+>r739
+TGCAGGAGGCAGTTAGCTATCGTGCGATTGACCGT
+>r740
+AAATGACATTAATCCAGCGCTCCCACCAGGACGTC
+>r741
+CATTGGCTTCCGTGTGCACATTATGATCGACGCCC
+>r742
+AGTACCAGCGGGTAATGTTTGTTCNTNANNCTGNA
+>r743
+GCATTTGCCTATACGTTAGCAATTCTTTACTACGA
+>r744
+TCGGCTGGCATATCCGGGTTCTTTTCTGCCACCAT
+>r745
+AGCACCAGATTCGCCGGAATATCGCCGTCAACCGC
+>r746
+TACCTCGTACAGCGCCCCCTCTACCTGGTCAATCA
+>r747
+GAGCTTGCGCCCATCAGCGCGANNAGNTNACTGCN
+>r748
+CGCCGGTGGGCGTTTCAATCATCTTCATNAACTAA
+>r749
+TGTGCTTTGCTGGCATGAGGATGAACACGCGACGG
+>r750
+TACCAACCCCTGCCGTTATTACTGGGGCGACATTA
+>r751
+GGTTCTTCCGCCAGTAGTGCGGCAAAAAGGATAGG
+>r752
+ACATTTCCATACCNNGTCCTGNGTCACNTNATATT
+>r753
+GTAAATGCGTTTTGAGTTGGGAAAGGCGGAGCATA
+>r754
+TATTGTTCACCCGATTTCAGTAGNNACGNNTATAG
+>r755
+CAAATGTCAGCATTTTGNANAANGAGGNCTCNTCG
+>r756
+TATCCTGACCGAAGAATTTGCTGGTTTCTTCCCGC
+>r757
+TGCGCATTAATATACTTCTGGGTTCCTTCCAGTTG
+>r758
+GCAGATAGTCAACCACCATCCAGTCACGGTAANAN
+>r759
+TGTCTTCATTCAAAACGTCTTTGATTTTCTGATAG
+>r760
+TTGTTTGATACCCACATTCAGCCGAATGGCGCGNT
+>r761
+ACGCACTTTACTTCTCTCGCGCCACCATTCCGTGG
+>r762
+GTCGTTTATTGAGCTGGAAGAGAATGTGNNAATTT
+>r763
+CTGAAACAGCTAAGTACCCCGAGGAAAAGAAATCA
+>r764
+GGGCGTTGGCGCTCGGCCGTGGCCTGAATCTGGCT
+>r765
+AGTGTGGCAAAGTTGCTCGTCCCGGCTGTCCCCAC
+>r766
+CTGGCAAGTGGTTTTTGTTGAGCAGAATCTGCCGG
+>r767
+CCCCANNNNNANGNTNNTNNNNNNNNNNNNNNNNN
+>r768
+CCGAAACTGCGCCCGGCATTCCCGCCGAAGATTCG
+>r769
+AGACATTCCAGATTGTTCCATCGCTAGGTTTAAGC
+>r770
+GCATAGGGGAAGTAGCNCCCGAAANCTCGCAACAG
+>r771
+ATTTAATNNNNNNNNNNNTNNNNNNNNNNNNNNNN
+>r772
+TAACCACGGTATCGATATGCGAACCGCTCAGAACC
+>r773
+CACCGGCACGCTCAAATCCTCACTAAAATCGCGCA
+>r774
+TGAGCGCTCTGTTCCTGCAACAAGGCATCGAACTG
+>r775
+TCGCGTCAGCGTTTTCTCCAGTCGCGCTTCATCAA
+>r776
+CGCGGTCATCCTGCTGATACATGCCGTGGAAGNGG
+>r777
+CAACCATAGCACCAAAACCATTGGTGTTTATTNCG
+>r778
+AAGTTGGTGGATATTTTAATAACCTGCGGGCGGCA
+>r779
+CGAAAAGCTGGGGATGGCAAAACGCGTTAAACCGA
+>r780
+TGACATCCTGACGTACGACCTGAATAGTGTCGATA
+>r781
+TGTAGCGAAATACTCACGCCGTCACTGCGCGAAGC
+>r782
+TGCACTTACAGGCCTGATAAGACGCGTTAANNTAG
+>r783
+CGTTCAGGGGCATTCGACTTCGCAGGTCGCCATTG
+>r784
+GCGGCCACGGTCCAACAGACGACNTCCNNATANCA
+>r785
+GCAACTGACTGGTAATGGTTAACAGGTCGCTTAAA
+>r786
+AGATGTGCTGAACGTCGCCACTCCGGCAATTAATA
+>r787
+CCAGCAATAGCAGTGAAACCAGGACCACAAAGAAG
+>r788
+TGTTTGCCCACTGGACGGTGTACTGTNNCGTNNGG
+>r789
+GCATGATAATCAGCGCAATAATCAAACGAGCTGAC
+>r790
+GACCACCCACATTAACGGACAGGTTTTGCGTCTTA
+>r791
+TCTGCTTCGCCCTTATCTTTGCCGNCNTCTATCCA
+>r792
+GGTCATTATTCTCTGCGGTATCCGTTAATGGNCNG
+>r793
+TCAGTGGCATACGTGTAGTGCCACCCACAAGAAGC
+>r794
+AATCAGAGAATGAAGGTTACCAAAGTCGATCATGC
+>r795
+AGCACGAAAGCGGGTACCTGATCGGCGGCAAGATA
+>r796
+AACCATACACCCTGACTATTGTTACTATAGTTGGT
+>r797
+CGCGACTGCGCCGTCTGGTTACGCAATAAAAAAAT
+>r798
+GCGCCGTTGATTGCTCGCCAGCTACTGCGTGAACA
+>r799
+GCTGGTCGATGGCTTCAGTTTCCCGGCCATTACAC
+>r800
+GCGAAATCACAGAAATGGCGGCATCGGGTGGTAAG
+>r801
+CTGTGGTTAGTCAGCTCTTTCGCCAGCGCCATCGC
+>r802
+CACGGTGTTCAATATGACCAGTACATGCAGTTAAC
+>r803
+CCAGCGCCACGGTGACAGTCACAGCAACTGATGCA
+>r804
+GTATCCGGCAAACCATACTTACATCAACAACGAAT
+>r805
+GAACAGGCGATGCAGGATGCAGGCCTGGTGCCGTG
+>r806
+CTACTTACGCGGTGAAGTGGAGCTGGTTCGTCTGC
+>r807
+CCGGACTATGCGCCGCCGCTGGCGAATGTCGCCAC
+>r808
+TCACAGACCCTGACCAACAGCGGTCTGTTGCAGGG
+>r809
+AGNNTNNNNNNTNCNNTNNNNCNNNNNNNNNNNNN
+>r810
+CTCGACTCCTTATCGAAACAAAAAATTAGCGTCAT
+>r811
+CACCGCGAATAAACTGCTGATGCTGGGCAAGAAAT
+>r812
+ATACCAGTGCCGGCACTTGTGCCNNNCCNNCATCT
+>r813
+TCTGGAAACGGTTCTGGAAGCCTGGGACCGCAACN
+>r814
+TTCCAGGGGGCGGTTAGCCGCATTGGGGGGGCTAG
+>r815
+CGTCTGCTGGCTGGTCATATTTTACCATTGTGCCT
+>r816
+AACGTCTGCGCATGAGCCGCCAAAAGCAGCGTTAT
+>r817
+GAGCGATCCCGGCTGGGATCGAGGCGAACAAAAGG
+>r818
+TACCGGGGCGGAGAAACGCCCGTGACGCAGGANNT
+>r819
+CGAGCAGCCTCATGCTCCTGGGCGTTAGCCGTNTN
+>r820
+TGAAAAATTCTCGTAACTCAGGGTCAAGGTTCCCC
+>r821
+TCTCTACACCTGCTCTNCACCTGNGGTTTNNTGGG
+>r822
+CAAAGCCCAGGCCACCNNCNGATTTGANCTTCTCN
+>r823
+GCGTTTCACTTCAATCACGATGCGCATACNNCGCN
+>r824
+AATGCCGGAGGTTAATGTTAATGAATCCCTGGCGT
+>r825
+CACCATAGGCCCCCACCATTTCACTTTGCGGATAA
+>r826
+ATAGTGGCTTTGATTATTGATTTTGGCTTTACTTA
+>r827
+CCATCAGGTTGGGAACCACCAGGCTGGCGAACCNN
+>r828
+GGTNNNNNNNNNNNGNNNCNNNNNNNNNNNGNNNN
+>r829
+TTTGTGCATCCAACCGCCATTGTGGAAGAGGGCGC
+>r830
+GGCTCCGTTTTCAAAAATTCCTGTAACGAGCGATA
+>r831
+TTCTCCCGGAGCCACAGACAAATTCAGACCACTGT
+>r832
+CCCGGATGAAGGGGAAAAGTTCGCCGGTGCTGCCG
+>r833
+GCAGCAGCCGCTGGTACAAAAGCGAAGTGGAGNCN
+>r834
+CCGTACAAGGGCCGAATGCGGAGGCAAAAGCTGCC
+>r835
+TTGTGGGTTGCTGCACTGACCGTCATGGCAATGGA
+>r836
+CGAGGAGATTTGGAGGATGGTTGAGAGGATTGCTG
+>r837
+TCATTTCTACGGCAAAACTCTTTCAACTTTCTCAC
+>r838
+AGCAACTGGTCGCCGATCTGTAGNNTTANTTCACG
+>r839
+TTCTGTGGTTGATCGGTGAAGCGATCTTCCNCAAG
+>r840
+AACAAGCTGCACAAAGCACACTACGTTCTGGTGAA
+>r841
+GTGATCCACCCACGGTACGTTAGGCAGCGCCTTTA
+>r842
+GGCTGATCCAACCCCAGCTGCTGACGCACCAGTTC
+>r843
+GCCGCTGACCCTGCTCTACTCAGCAAAAAACTCNG
+>r844
+AACGCCCGCTGGCAGGAGGCCTGTCGTCTGCTTTC
+>r845
+CCAGAGAGGCCGCCCATAGCACCACGCCGATCACT
+>r846
+AATGATTTAGGTGCAATGTATTATATTGGCGAGAT
+>r847
+TAATTCGCCAGCACCGTGGCGTTATCAACTAACAT
+>r848
+GGTGGTGAAGCGTTAGAGTATAAGCAGATAGCTTG
+>r849
+GTTTCTGGCTGGCCGGAGCAAGGCGTTCAGGGCAG
+>r850
+CACAGCGGGAGATAACGCTANGATCGGTTCAGACA
+>r851
+CACCGCTTTGTTGACCGCCTTTTTTACCTGCTTCG
+>r852
+GTCTGCACCATGCGGTCATGCCCGCCGGGCTCCAT
+>r853
+ACAGACAAATAATGTACCGACCGGGCANNGANTNT
+>r854
+GAGTATAACAAAAGGGACAGGCATCAAGGGATTTT
+>r855
+TTTATCAATGGAATCCACTGGCTNGCGCATATAAT
+>r856
+CGGCCTCTTCAATGATGGTTTCTTCCGGCTCGACC
+>r857
+GGCGAGCTGGATGTGAGCGGTGGCGGTCACGGGAT
+>r858
+ATCAACGGTTCTGTTGNNCNNNNNNNNNNCNNNNN
+>r859
+AATGTAGGGGGTAGAGAGNATTTTACNACGTCANC
+>r860
+GATTTCATAAAAACTCCTGATTGTTAAGGGGGATA
+>r861
+TACAGCGCATCCCAGCAGCCGTTGTATANCTNCAG
+>r862
+GNNNNNNNNNNNTNNNNNNNNNNNNNNNNGNNNNN
+>r863
+ACCGGAGCCGTGCAGCCGGGGAGNCGGGTCATGTA
+>r864
+CAGTATGGCGCATTATTAGGTGGTAAGCGCCTGCN
+>r865
+CCCGATGCATCCGTAGCTCAGCTGGATAGAGTAGT
+>r866
+GCCGCTGCGCGATCGCGTACTGGGTCGTGTAACTG
+>r867
+GTTTCACTTGCCGCTTCTGAAACCAGTACGGTTTT
+>r868
+TCAGCCGCAAAGTCACCCGCAGCGGCACGCGCATC
+>r869
+CCTGGACGCGCAAAAGACGGTCGTTACCGCGGTCA
+>r870
+ATTATTTTTTTGAGCCAGAACGGATTCCTGAAAGA
+>r871
+CATGCTGCTGATAATCTGACCTTTAAAGGAAAACT
+>r872
+ACGGCAGTGAGGGGGCAGATCTGCTTGATTNCATG
+>r873
+TGGCATCAGCGTTATAACTTTGCGTCATGGTTTAA
+>r874
+ACTTTGTTTTGTCAACGAGTCTGACTGCCAACACT
+>r875
+TCGCGCCGTTCAGGGGCATTCGACTTCGCAGGTCG
+>r876
+TTACGCGGCCTGACCAACAAACTGGATTATCTCTA
+>r877
+CGTCACACCGTATACGTCCACTTTCGTGTTTGCAC
+>r878
+GAACTACGCCAGGATTNTTNNNNNNNNNNTNNNNN
+>r879
+GAACGCCTGTATCGACAAGGGCGCGGTAATATTNN
+>r880
+TTGCGCGCAGCGACGAGCTGGCGCAATACGGNCCG
+>r881
+GAAACTGACCCTGGCAGGATGTGAAGAGCGAAATG
+>r882
+TCAGGCCCACCGCCGTTAAGCGTCCATCATCATCA
+>r883
+TGCGCCCAGCCGCCCCCGCTNTAGGTAAGTCTCNG
+>r884
+TCCAGCTGTTATCGTCATTACGCTTTAAGGCGCGG
+>r885
+TCAAGCGATGCGCCAAGTTTTAACTGAATATAAGG
+>r886
+ATTACGAGATTTTGTAGTGACTGATGTTTGCCCTT
+>r887
+CATGAGAAGAAAAGAGGATTGTGGCATTAAGTGCT
+>r888
+AAGGTCACTTCGTTGTAACCCATGCGGGTTTGCTC
+>r889
+GAAGGTATCAGTGTAGCGTCCTCAAAGAGCTTGCG
+>r890
+ATACCTTTCTGATATTTGTTATCGCCGATCCGTCT
+>r891
+GCAAAGGGCTACAGGCCACCGTACCATGGGCAGNC
+>r892
+CCATGCTGGCACTGACGATTTTCATTCGGCTTNCN
+>r893
+CAATTGCCCCAAGCGACGAATAGCCGCCTGTTCCG
+>r894
+TCGGAATCCCTAGGTAATACGTGGATCAGAATGCC
+>r895
+CCAGCTCCTGATGCAGAGCTCNCCTCCCGTNTTAC
+>r896
+TTGACAAGGGTATTTTTTAAGCTATGAATCAGCGC
+>r897
+TAGTTTTGCTGGCGATTATTATTTTCCAGGACCCA
+>r898
+ATCACCGCGTGGAAAGAACATGCGGTAGAAGCGTT
+>r899
+CCNNNNNNANNNNNNNNNNGNNNNNNNNNNNGGNN
+>r900
+GTTCGTTTAACCACGGTTCGATGGCTAACGTTTAG
+>r901
+TGTCGATTTCGCGTCGTTGCGCCATCAGCANNNNN
+>r902
+CGGCTATGGCGATTCCAGCAAACTTTTTGCGCGCC
+>r903
+ATCTGCGAGGGTCTATGGTGAACCAGAGATAATTC
+>r904
+ATTAACGACAGAAGAACAAACTGCTTTAAATCAAC
+>r905
+GAATTTGCAAATAAATAAGTGTCGTCATATTTCCC
+>r906
+CCGAACGTGGNAAAGTCNGNTTTNATNCTGCTNNG
+>r907
+AGCAAAATGCAGGTCGGCGCAGCGGCGTCGCCACG
+>r908
+TGTTCAGGCCGTTGCCGCACCTTTTAATGTTACTC
+>r909
+TGGAAGGGGCCCGGGGAGATAATGTCTCGNTTTAC
+>r910
+AAAGAAATGCGTTCAGCAGCCAATGCTAAGTTCAT
+>r911
+ATTGAAGCGGCTAAACGTTTTGGTCTGAGCGCGCA
+>r912
+TTTTAACGACAAGTGGCGGGTANAGATTGAGGGAT
+>r913
+GAGCCAACAGAAAACGCTGAAAAAACATCCAAAAG
+>r914
+GCATAATAGCTACCCGTCNGAATNTCGGTTCTGAC
+>r915
+GCAACCAACCAGGCATCCGCTTCAACTTGGCGTCG
+>r916
+GGCAAGTACAGGACAGCATTAGCACAAAACTGTCT
+>r917
+TNNNNNNNNNNNNNNANNNNNNNNNTNNNNNNNTN
+>r918
+TTCTTCAATAAGTATCTGTTATCTTTTGATCCCNN
+>r919
+TNNCNNNNNNNNNNNNNNNNNNNNNNNNTNNNNNN
+>r920
+ACGAGTGCCGAGACTTATCTTTCCCGATGTTTTGG
+>r921
+TTGCCGCAGGCCANNAGAACCNTGGTANANATCTN
+>r922
+CCCTGCCAGCGTTGCGTGTGCTGTACTCATCCGAA
+>r923
+TTAAAAAGTAACGCCATAGTCGCTAAATCTGATGA
+>r924
+AACGCCGAGGCAAAGATCACCCGCCTGCCGCTGGG
+>r925
+AATATTCAAAGTGACAGCGCATGGCAGCAAGCCTG
+>r926
+GCCCCCCAGCAACAAATGCAGCGTGCCGTCTATAN
+>r927
+CTTCCCGTGCCGAAGATACCGACCTGCAAGACGAT
+>r928
+GCTCGCGGACGACGATCNGGAGGATNAGNACAATA
+>r929
+GGCATCGGGTATGGCTGCGTGTTAATCCGGGGTAC
+>r930
+GTGTTCTCTTTGCCGGAGGTAAAAAAAGAGGATGA
+>r931
+CCTGACGCTGATGGCAATTGGCGGCGCGTTTTTCA
+>r932
+CCGAACTGGTCGATGGGACGTAAAATTTCTGTCGG
+>r933
+CGAAAAAGATCACAAACTTTGCCATANCATCTGTG
+>r934
+AATNTNNNNNNNNNNNNNNNNGNNNTNGNNNTNNN
+>r935
+TTTTGGGGAAAGTTTTGGGGCAGATTTTACATCAT
+>r936
+TGCCGATACTGAATTGATGCTTGCGGATATCATCG
+>r937
+TGGTGCTGATTGGTATGGTTGCTAATATCTTCCTG
+>r938
+TCTACAAAGCCATCGCGAAGAAATTCTCNATTGTG
+>r939
+CGTGCGNCTGTATGTCAGCGAAAACGAGCTGAAAA
+>r940
+CCTGCTTATGCTGGTCCGCTCGGTACTGCTGATAA
+>r941
+GCCAGAAGAACCAGTCGCGCTGTTTTTCACTTTCC
+>r942
+GCAGGAACAGAGAAATAACCAGGATTATGGATGTN
+>r943
+ACAGCGCCGGATACGGCGTGAATGCCTTATCCGAT
+>r944
+GCTGTTGGCGCTGAAAACATCGCTACTAACCAGAT
+>r945
+GCGGTAGCGGCCCTGCCGGGCTTTCGGCTATGGCG
+>r946
+CATCGTGTTTATTCCCGGTGACTTCACCCGCGCGG
+>r947
+CAACGAAGGGTTCTACTGGTGGATACACATACCTA
+>r948
+TCAGCCCGCGCTCGTAGCCGCTCTGGTCGTCNTAC
+>r949
+CAACCTCCCAGTCGACATCGTTTACGGNGTGGACT
+>r950
+GCGGACACTCATCACGGGCAAGGGCCCGNTTTAAA
+>r951
+GGAGGGGAAGGGGAACTGAGTCCTGACCTGACTCT
+>r952
+TAAGTCATAAACCAGAATTATGTNAANGNCTNNTN
+>r953
+CGGTGATGTTATATCGCGTTGATTATTGATGCTGT
+>r954
+AGGCATCCGTAAGATGCTGGCGCTGAACATCAACC
+>r955
+CGTAGTCGGATTCTGGCGGTGGGCCAGATGTCGGA
+>r956
+GCGATACCNNNNANNNNNNNGNNNCNNNTNNNNNN
+>r957
+GTAGTCGATATCAATACCGACGACTGGAATCTNNT
+>r958
+AATTGTCGGCGTAATTGGCCTAACAGGTGAACCAG
+>r959
+ACGACAACGGCTTTGCGTTCAACGATGCCAGCGCT
+>r960
+TCTGGCCGCAGCCTGATGGACAAAGCGTTCATTAN
+>r961
+GCTGTTTAAAGAGAATAGCAACTTCCGTCGTACNN
+>r962
+AACCAGGGCGCGCAGGGGGGGCTTNCGCCNTCGAT
+>r963
+GGTCGGACAGGTTTTCACACAAGCCGGCTCCTGGC
+>r964
+ATTCCGTAATGCCATCTTATTTCGTAATGGATTGA
+>r965
+CCTGCTGCTCATTGAGTACGCCTGCTGTATTACNN
+>r966
+TGAACGCCTTATCCGACCTACGTTCGCCTTGTTGA
+>r967
+TCAAGCTGGCGATTGATCGCTATAAAGCTAACGAG
+>r968
+CATCAATTACCTGAATCGTTGCCTCTGCAACAAAC
+>r969
+TGCCCTGGCGAGCGGTTTGTTGATCCNNGGAANNG
+>r970
+AGGATTTCCTTATAACCATTTATATGTATTTGCGT
+>r971
+GATGCCGATGCGGCGGATCTGATATGTCNTTGNTG
+>r972
+TAATGCCGGTATTGAAGTTGTCGAAGCCACGGAAG
+>r973
+GTACATGTGGAGTTACAGCCTATTGCCGATGAGTT
+>r974
+GAATATGCAAAATAGTGCGTATTTTCAGAAGTATT
+>r975
+CTGTTGTGGTTGCGCTTTGCACGTTTATTCACCGT
+>r976
+AATGAACGCCTTGCTGCTGGGCAGCGTGGATGAAA
+>r977
+GTCAATTCGGTCGTGCCCAGTTTTACAGGCGCAGT
+>r978
+TCNNNNNNNNNNGNNNNTNNCNNANTNNTNNNNNN
+>r979
+TGTTGATCCGGTTTGCATGGCGTACCCGGCACGTA
+>r980
+CTGACGCCGTTGATTTCTGCGATCGGCGTGGTGGC
+>r981
+TGGATACTGCGCTCCAGCGCCTGCTGGTTAGCGGN
+>r982
+GCACCAGCCTCTTTCAGCGTAGCGCAGGCATTGCT
+>r983
+ACAGACAAAGTATACCTGTTCGGGTCCCTNAATAT
+>r984
+ACTTAGCACCCGCAATTTTACTTNTGTTGGTTGCC
+>r985
+ACGCGTACAGATGACTGAATGCAGTGCCCTGGCAA
+>r986
+ACGTTGCGTCTGTTCCANGACNGGANNCTTAACTG
+>r987
+TCTGGTGGTCAGCGCCAGCGAGTCGCCATCGCCAG
+>r988
+TCACTCAGTGGCAAACGATGGATGGACGCTCCTGC
+>r989
+GGCGGCACCAGCCCCTGGTGATACAGCACGTAAGA
+>r990
+CCNNNNGNNNGNNNNNNNNNNNTNAAGNNNNNNNN
+>r991
+CACGCGCTGTTCTGGCTATNGGNACNNCCTGCAAC
+>r992
+AGCCATCATCAAACCGTCACTNGCATTTAAAAATA
+>r993
+TGGTAGTCAATAATGACGGCAAGGCGACCGATGCC
+>r994
+GCATTTTTTTCGCCAGCCAGGCTTTCGCTTTGGGT
+>r995
+TGGCACCTGCCGTTTGCTGTGCGACGAATCAACGC
+>r996
+GGTGCGTTACTGTGGCACTTCGNCCTGATGTGGAT
+>r997
+AACCAACACGCCAAGCATCGCTTCACGGCTGACTC
+>r998
+TATGGTGGATCTCATTACTTACACTAATCGTCTTC
+>r999
+AGGATAATGAGGCGAGCCGGGGGAACTGAAANTGG
diff --git a/reads/e_coli_1000.fq b/reads/e_coli_1000.fq
new file mode 100644 (file)
index 0000000..a6c9dbc
--- /dev/null
@@ -0,0 +1,4000 @@
+@r0
+GAACGATACCCACCCAACTATCGCCATTCCAGCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1
+CCGAACTGGATGTCTCATGGGATAAAAATCATCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2
+TCAAAATTGTTATAGTATAACACTGTTGCTTTATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3
+AAAATTTGTGCCTGGATGGCCTGAGTACCNANTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4
+GCAGAGCAGTTGCTAGAAANNNNNTTGAAGAGGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5
+CAGCATAAGTGGATATTCAAAGTTTTGCTGTTTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6
+GGCAGTGATGCAACTGCCCGTTATCAACAGNCNCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7
+GCATATTGCCAATTTTCGCTTCGGGGATCAGGCTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8
+GGTTCAGTTCAGTATACGCCTTATCCGGCCTACGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9
+GGCGATGATTTCATTACCCTCAACGCCGAACAGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r10
+AATCCCACGGCGGCAGCATGGTCCTAGANAGGNCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r11
+TTACCACCGAAGTAGCTTACCCATGCGCCGCCGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r12
+AATCACAGGCGGTGAGCAGTAACGATAATTCGGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r13
+CAGCTCGCACGCCACGCCGAACCATGTCATCAATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r14
+CGCTTTTGTCCTCGGCGACTTCGGCAACCGATGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r15
+GGGTCTGGCCGTTTTCTGCTTCAACTTCAACAATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r16
+ATCCGGTTAAAGATGTTGAGAAATATGTGGTGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r17
+TTTTGTGTGTGTAGTAGGCCTTGGATATTGGGGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r18
+CCTGAAGGCGCGCGTGACTACCTGGTGCCTTCTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r19
+CATATGCCCCAGCACTCTGATGGCATCGCCTTCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r20
+ATAGACGCAAAAGAGCAAATAACATTTCTTCACAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r21
+TAATGATAAGGAATCACTGTTTTTGAGAAAAGATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r22
+TTGGGATTGTGGGCGTGACAATTTTCTCGATGATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r23
+ATCGCGAACACCTTTACCGATTTATCGCCGAAGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r24
+AGATGAAGTTGTTTTGGCGTCATTCCGAAAAATTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r25
+TCCGTATTCAGGGCGCTGCGGGAGAAGAAATCNGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r26
+ATGGGAACAGTAATCTTTTTTACTGGTTCTGCGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r27
+TATGTCACATTTATTTTTCCTTAAAACTACAATAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r28
+TGTTTTCCCGGTTGTCGGGGATCGGTTTGCCGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r29
+ACCTGGAAATCTGTACCAAACCCCATGCCGGATAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r30
+AGCAACATCATTCTCCCGTAAAAAGGGAGTCGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r31
+CCGATAGTGCCGTAGTANAATTAGTTTTTNNTTAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r32
+TCGTTTCTGTCTGAGTCGATAGCTTTCTCCTTTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r33
+CGTGGTCATCAGATCATGCGGCAAACCAAANNNNN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r34
+AGCGGCCAGGTGCTTTCCGGGATAGTAAACAGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r35
+GCAACGCGCGGGGCTAATCGGGATCTGCCCGGAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r36
+CCGGTTTCACATCCGGTGCAGGCTGTGGTGCTGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r37
+GCATTGCTGCCCATCCTGATTTGCCTGTTAAGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r38
+GCCGTCTGCACCGTAGCCTGGTATGTGAGTGCGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r39
+GCTATCTGCCGTTCAGTCAGAGTNCGANGCCTNAN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r40
+CGCAGTCGAAGAGGTGGAAGCATTAATGCNTAATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r41
+CGAATCAGGCGATTCGTCAGACGGGAATGTTGNGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r42
+TCCACGGAAGTTTTCAGAGATGAGAATGTGCCTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r43
+TTGCAGGAAATTCTGTNACCCTCNACNAAGCATCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r44
+AGAAAATATGACCCCGCAGGATTACAACGACGTCN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r45
+GAAAAAGTTTCATAAAGACTCCAGATGATCGATGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r46
+TTTCGGGGATGCGGTGGCGCGTCTGGATAAGCGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r47
+ATCCGGATTGTATTGAGATCCTGCCCGTGNGCTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r48
+CCAACCTTCTCCGCCTGCTTCGGCGCGGCGTTCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r49
+TGTTTCGCGTCGCAAAGTGGAGCGAGACGTGCAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r50
+GTGGTGCATTTTGATATTCCGCGCAATATCGAATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r51
+GTCGTTATAGTCTTCAAGCCACGGGTAGACGAAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r52
+GCGTTTATGCGCGTGAACANNANTCCTCATATTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r53
+GCTGCGGGATCACCTGATCTGCCGGATGTCGTGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r54
+ATCGTTCATTGAGCGCAAAATGACGCTTTTGAGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r55
+AATGACTATCCGCTGGATCACGAATTTATCAGTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r56
+AAGGCAACGAAGAAGCCGATGATCCAGATCCAGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r57
+TGGGTGTAAGCCTGTTCCACTGCCTGCTGTTANCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r58
+ACGCGTTTACTGTTCACCAGATCGCCCATCAACAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r59
+TGATGTAACGCCTGATGGCCTGCATATCGCCCAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r60
+ACGGGTCAGCAACATCTGCCCGATATGAATGTNGN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r61
+CGATGAAGAAAAATCGCTGGTGAAACAAGCAGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r62
+GTCGCTCGCTACGATCAGCAAAAATATGACATCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r63
+CATTTCTGTACTCATGCAGCCCCCTTCTGAAATAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r64
+CACGCGTTGGGTATGGACGAACTGGAAGGTCATGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r65
+TGAGAACGGCTTATCTCATTTTCGCAGTCACTATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r66
+GTCCGGCATCCAGGTTTTTCACGGCAGATTATCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r67
+GACATGTGAACCTTCTTTTTCAAGCTGCCAATGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r68
+TGCTATTTATCGAACTGGGGGGGGAGAACCTGCNC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r69
+ACCCCCTCATACCCACCTCTTTCTCCANGTNNGTN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r70
+TAATTCGATGCAACGCGAAGAACCTTACCTGGACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r71
+TNNNNNNNNNNNNNNNNNNNNNNNNNGNNNNNNNN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r72
+GTTCACGGGGTTAGCGAAGATCCATCCCGCGTGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r73
+CCAATGANNNNNNNNNNNNNNNNNNNNNNNNNNNN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r74
+AGTTGAAACATTTTACCTGCATCAGCACACGGTNG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r75
+ACGTTCAGTTCTTTCGCCAGTGCTTTCAGCTAACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r76
+TTTGCAGTAAAGGGTAAACGGATTGCCAGACNCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r77
+ATAGCCGCCCGCCGGAAAGATTTTTGCTGCCGGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r78
+GCAGGTGCTGCTGTATGNNGNAATTAGAATANTNN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r79
+CAGCTTCGTTGCAATGGCAAAAGCTTGCCGCTCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r80
+TTGGAGCGGGGTGGTTGGCACGCTCGAGAACGTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r81
+GACGCCGCCGCAGAGGCCAACAATCTCTTTCGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r82
+CGACTCTAACGCGCTGATGGCGGTCACCTCCTNCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r83
+AACACCGGGGATGTTATGGGTACCGGCGGATCCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r84
+TGATTTACGCATTATCACTAATAGCCTGCGTGTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r85
+GATAACCGGCCTCCAGCTCAGCCCATTTCGCATCN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r86
+TACCGCAGCAAAATCGGTCCCNANCGTNTNTNNCN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r87
+TGGCGTAACAAACGAAGGGCAACTGATGAACAANT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r88
+AACAGCCATAGCGTCATTTCCGGACTCATNNGNCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r89
+CGTCTTGTCCTGCCTACGCGAATCCAGGTCGGTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r90
+ATTGGCGGTTTATTAGCGAACCGAGTAATAAACCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r91
+GGCATTACCGACCCGTGGTACACCCCCGGCGATGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r92
+TGCAACGCATTGGCGAAATACATAAACGCCGACCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r93
+TGGGTTACTGAAACTGTCACCCAGCCCTGGGGCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r94
+CNNNNNNNNNNNNNNNNNNTNNNNNNNNNNNNNNG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r95
+GGTTTTACAAACTCATGGTTTATGTTGAGCNCTNA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r96
+GTTGCCTGATGAACCAACGTAATGCTTCAATGACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r97
+AAAAACCAGTTTAAGTTGGTTATTTCTAATCGCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r98
+AACCTGATTACCTCATTACATACGCTTATACGTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r99
+CCCGCAGATTATGGCTTCTTATTTCCTGTATNCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r100
+TTTTCCGGCGGCGAGAAAAAGCGCAACGATATTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r101
+CNNNNNTNNNNNNNNNNNNNNNNNNNNTNGNNNNN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r102
+GTTATTTGTAAAGTACTTNGGTNTNCNACGCCNAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r103
+CAAAGACATTTGCGAATACCAGATGCAACTATCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r104
+TTCCTGGTCATTCACTTTTGCGGCGTAGCTATTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r105
+CCCGCGGCTTAATCCAGCTGGCGTATATGCTCCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r106
+GGCAGCAACGGCATTCTGCCAGACGTCTATAGNCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r107
+TGTTCATCCCGAACTACAGTGTTAGCCTGGCGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r108
+CNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNNNNN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r109
+ACTGCGCTTCGCCGTAATACCAGGTTGGGAAGCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r110
+TTGCCGGGTTCAACCCACGCTCTTCGAAGGTTTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r111
+CTACCATCCTGACGTTCGTGTGTGGGAAATTTTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r112
+TCAGGACGCGAACGTTCTGTTTAGCGGCGGTTATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r113
+TTGGCGATGAACCAACCACCGCGCTGGACGTCTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r114
+TGCCGCCCGCACGCGCGGTGTTAGACGGTGTTGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r115
+GGTGACCTGCTGAGAACAGAGGTTGCCGGTACAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r116
+ATCGGCATTATGGTTTCGTGGCAGGCGCGAGGATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r117
+TCACGCATAATTTTTCCGGTTCGGGAATGTGTAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r118
+GGACTGGATTGCCGAACCGTTAGCTTTTAGTCANG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r119
+CGGTGTTGACGGTCAGTTCGTAGTGCCACTTCTAN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r120
+AGACATAACCAAGGTCCATTGCGATATCAAAAATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r121
+GTTTGGCGTAGCCAATGCCATTGCGATCCCTGTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r122
+AATGGTTTTTTTATCTTCTTCGCTGATTTTACATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r123
+CTGTTCGAACAATATGAGTCCCCCAGACNTGNANA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r124
+TTCGCTGCACTGGCACTACTGGGCTTCAACTCTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r125
+GTGAGCGACGCCCGCTACCGCACGAGATTGCAACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r126
+CAACAACTCATCCATAAATTTTGCATAATTACNNN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r127
+GCGGCCTGCAAAGTCCGGTGGACGTGCTGACTTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r128
+GTNNNNNNANNNNNNNNNNNNNNNTNNNNNNNGAN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r129
+CAGCGGCACGCTCAGCTACGTGCTTACGGTATTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r130
+AAAATGCGTACAATCCTTCAGAATATTTTCATCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r131
+ANNNNNNNNNNNNNNNNNNNNNNNNNNGNNNNNNN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r132
+AGGGATATCAGCTTGATACCCGACGGGATTGTNCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r133
+CCCATCCCTATTGCCAGATGGGTTTTCCCCACACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r134
+TGATTTTGTTGACTTGGATNTCGTGTTNACAGTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r135
+TGATATTCTACGCTGGNTNNGTGCNACTACCNNGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r136
+GGACGATATTCTGACCAAGTACAACACTGACCANG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r137
+TGGGGAAATGACGTCGTGCTACTACCGAGCAAAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r138
+CTGGATTGCAGAGAAGTGTACGAACACGTCTTTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r139
+GCCCTCGACCCGTAATATCTTATTACTACTGGTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r140
+TGCGCTGTAAAACGCTGACTGCTGCAGCAGCAGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r141
+TGCTGGCCTGGAGCGCCATCGTACTGAACGCCCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r142
+TCATTAAGATATTTAATTTCATTTTCTAAACTTAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r143
+ATCGCCCAGCGGAACCCGACCGGGTGNNNNNNNNN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r144
+GGTGCGGCGGCAGATAAACTGTACACNGTNGACCN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r145
+CGGCGGTGAATGCTTGCATGGATAGATTTGTGTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r146
+CAGTAAAGAAGTAATCGCGTTTCTGGCCGAACGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r147
+TAAGCNNNGANNNNCNANNNTNTNNNNNNNNNNNN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r148
+CTTCGATGCTATCGACGTGCATATGAGCGATCTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r149
+CCTCGGCTTAATTGGTGAAATCCTTGATGTCGACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r150
+CAATACCAGTTTGATTCCGAACNAGATTGNCTGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r151
+GAACACCACATTTTTCTGGCTGAGGCCCCATTCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r152
+CTTCATGCAGGTTTCTTACTCAAANTAGNATANCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r153
+ATTGAAAAGGATGGAATACTCACTGAGGATGACTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r154
+TAATTGTTATGTGGTCGGATGAATTCTAATTTAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r155
+TCGTGCAGGATTCGAACCTGCGACCAATTGATTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r156
+CAACTACCGTGAAGCCACGGCGGAACTGACCACAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r157
+CAGCCCAGCAGGGCGTACTCATCGATTAATGACGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r158
+CAGTACCGCGTCACCGATCCGGAAAAATATCTGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r159
+TGGCGGCACGACGCTAAACCGACTGAACGCCTGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r160
+CACCGAGATGATCATAGCTTTCGAATGGACCGTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r161
+ACCCAGTGTGGTCTGGACGTTGCTCCGCGTGGGNG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r162
+GTTTTGATGTCGGTAGTTGCGGCTTCCACTTGGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r163
+CGAATTGCCGGACTAACTTCTTTTTCGACAAACAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r164
+TAACCAGGCATTACAGGAGAGTTTCACTTCCNNAN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r165
+CGNNNNNNNNTNNGNNNNNNNNNNNNNNNNGNTNN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r166
+AACATAAAACGGACAGCCTGAGGGCGGCATGGAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r167
+AGCCTAAAGGCATAACCCGTCAGGGATAAGACGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r168
+TCACCTCTCAGCAACTGACCTGGCCGGAANGTNCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r169
+TAATCATTCTCATTCGCACTTGTCCAACACTTTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r170
+TATGCAGGTTAATGAGNGANCACGTCTNGATACCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r171
+TGGGGGTAAAAGTTGCTGGAATCACTCAGGACTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r172
+TTCAAACAGAAGAGGGTGAATAATCCGTAGGCCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r173
+GGATACTTACCGCGAAAACAGCACGCCTGTCAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r174
+GTTTTTGCTGATAGCGGTTAGTNAAGTAATCNGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r175
+GACCAATCCTCTGAGATGGATCAAAGAATTGCCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r176
+TCAGGAACCTGATCCNAATGCTTTTTCATNTTTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r177
+GAGTTGTTGCATACTGTTTTTAATTCACTGGGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r178
+CCATCGACTGCGCCCCTGTCAGGAGATAGCTGCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r179
+CCATATTCGAACCCGTGAAGGTGGCGCAGGTACTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r180
+CGTGCTGGTCCATTCTCACGGCCCGTTTGCATGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r181
+GTGGTTGATTTTAAAGGATTTACTAAAACTTCACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r182
+GGGGAACGCCAGTAATACTTCTTCTAATGATGAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r183
+AGTTTATTTATATTCATCCTGATAACCCGCAGCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r184
+GGTTAAAGTCTGGAAAGCATCTGTCATCGATACGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r185
+CTGGTTTCAGCGGATTAATGATTGATGCTTCTGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r186
+AGAAATTTATTTGACTGAAGTACAATGAAATAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r187
+GCTGAATTTTCTTTCAGGTCCGGAAAAACCATTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r188
+AATGAATTTGATAATGATAGTCGCCTTGAGGCAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r189
+GTTTTCGGAGGTGGTTACAGTGAGTCAGCCCATCN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r190
+CGGATACAGCCGAATGCTGTACATCGAATTNCTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r191
+GATGGTGATGATAGCAATGTTGTCCAGACGAACAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r192
+GCTCTGCTGAACAATAGCGATCTTTTCCTGTGTAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r193
+TTGGTCTGCGGGCAAGTTCTGCGCATCAGGCGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r194
+ACCGGCGGCAACAATCGCNGNNNNNNNNNNNNNNC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r195
+CGGACAATATATCCTGGGGCTATCGGGGGGNTACN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r196
+ATGACGGCGATTCCTGTTGCCCGTATCGTCGANTN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r197
+TCTTTTTGAGTCTTGAAACGCGTGAACGCGCCGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r198
+TGACCAGCGCAGACGTCATAACCAGCAACCTGCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r199
+GCAACGGTTGGCAATTCTCCCGCAGAACGCCTCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r200
+TCACGCTGACGTTGCGCTCTGCCAGNNAAAAAGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r201
+CCGGTACGGCGACGTTATCGTGCATCAGCACTTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r202
+CCATCGAGCGTACCACTAANGCTAGNACTACGNCN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r203
+CCGTAGTCGCAGCTACTGGTTACGACTATCAGCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r204
+GCTTCTATCTGGGCGCTGGGGCCGCTGGTAGCGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r205
+ATTAAACAAGGTGTGCGGGGAAGGGATTCGTANNT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r206
+ACAAAGTGACCGTGCGTACTCGCGCGGCAGTCACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r207
+TATTAGTTATTTATTTTAAAGTTTCATTGATATAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r208
+ACTGATAGTTATGAAAAAGATGAGTAACGCGGTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r209
+TTTTCCAATGCCTTATTACTTTGACCCGGAGCTNT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r210
+TTGTCGCAAATAATCACGGGGCTTATTGAAGTTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r211
+CATAATAGGATCGCGTCGCGTGTGTGCCAGACTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r212
+TTCTCGCCCAGCGTCAGGTTTGCCCGCCATNTNAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r213
+GTTTCGTAGTTTTCGACCATCTGGCTTAAGGCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r214
+GTATATAAAGCTGCTGTTCTGCCATTCGGGACATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r215
+GACCACTCCGGCATGATATGTAACATACCTAAAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r216
+GAAGTTGGACGGCAGGCACCTTGTTGTGCGTCAAN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r217
+AACTGGGTCGTCAGATTACTGTGCGTTACAAAGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r218
+CGTCTGAAGTTCTGCGACGAGCTGCGCGATCAATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r219
+CGCACCTGCGAATTTGCGCCGTCGGCACCAATCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r220
+AACAACACTTTACGGCTGGTCCGCTACAGCAACAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r221
+ATGGCTGTTTCTCATTGCGTGCTCCTNNATGACAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r222
+CAATAACAATAAATTAAAATGATAAATTCCTTTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r223
+CAGCCAGCGATCCTGGGCGGGTGGTGGAGTCCTNG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r224
+AAAGAGTTTCAGCACCTGATCGAGCATCTCCCGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r225
+CGGTGGTGCGGGCATTTTAGGGGGNNNGAACCNGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r226
+CCGAAAACCCCGGTATTGAGCGCCCGAATTGCGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r227
+GAAAGCGCAGGAAACCAAAGNCAAAGCGACGGTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r228
+TTCTGGGGTCTTGATTGAGATAGCCATTAATTCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r229
+CTGCATGTACAGACTGACCGGGTGTTTAATTTGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r230
+CCACATCTGCCGCACGGGTCAGTAAGCCATCAGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r231
+TCGGGTTGTTCGACNANNNNNNNNNNNNANNNNNN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r232
+TGAATCAAAGGTCACAATGGCTGGGATGCTGGCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r233
+TGTCGGCATGGCAATTGATATCCAGCAGGCAAAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r234
+AGGATATAGAATATGCGTAAATTAACTGNGCCACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r235
+AAACAGCCGTTTCTGCTGCCGGTCGGTATAGGGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r236
+GAAGCTGCCACTCTGCCTGTTCATTTGCATTATTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r237
+AATCCCACTGGCAGCGTCGCGAAAAGACGCACCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r238
+AAAGCGTCCTGGACCTGGCTTGATGCGACCAATCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r239
+GCGAAGAGACGGGGAGCNNGTTTNGNTNCACAATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r240
+ATACCCAAGGTATGACGGTTGTTGATTATTATTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r241
+ATTGACGATCATCCGCTGCATTTTGGCGATTATTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r242
+CGCGAATCCAGCTCCTGATTGCCGTTCTGATAGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r243
+TACCCGATCCACTGAAACATGAACATCAAGCGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r244
+ATAAGAAGATGAGTAACGCGATTACGATGGGGATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r245
+AATTGTGCAGCGTCAGCGGACACTCCATACCATTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r246
+GTGATGGACGTGAAAGTGGGTAGCGGCGCGCTATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r247
+CATGGGCGAAATCGGTAACCGAAATTGCTCGTANC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r248
+GCCTGCCTCCAGCCTCGATTTCGGCCATCAGATCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r249
+AAACTGCGTTGCCCGACTGCTTACTGCCTGCGATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r250
+TAGCTGCGGCGATTAACCGTGGTGATAAAAGGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r251
+CAGCACAATTTAAAANGNNNNNNNNNNNNTNNNNN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r252
+ATATTCGGCGGCAGCAAAAGCGCTGGTTGACAACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r253
+AAGCCATTGATGGTGTTCACAATGCCCGCCGAACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r254
+CGCCCCAGACAGCCAACATTCCTCTCAGAACGTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r255
+GGCATCGCCACCTCGGTGGAAACCGCCGCCGTGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r256
+CCCGCAGAGAAATATCGTGAGAGANAGCTCACCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r257
+TTGTACTACCACAAAGAGATTGGCTCCCGGATTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r258
+CTGTGGCTGATAAGACGACAAGACTTCAATCCCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r259
+ACACCAAGTCCGGCACAATGCGGTAATGCAGCTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r260
+TAATTAACGATGCTGAATAGCTGGTCTTTAANCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r261
+CGCCGCGCCTGAATCCCCCCCGCATGCTGATATCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r262
+CTGGGGCGGTTGCCTCCTGTAATCGACAACATCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r263
+GCAAGCCAGGTGGCAATTGANTGTNCTTGNNGAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r264
+CGGGCAATGTTGCGCCATTGACCTTGCTNACGNCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r265
+CTGGCGGCGGGTGCACTGGCTACAACCTGTAAATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r266
+CGGAGGCGGCGACAGCCAACTGAGCCTGCAGACCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r267
+CCAGTACGTTGCTCCAGGCATCCAGAATCAGCCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r268
+CGCATCCGTATGGCGAATANCTGTTGATTGTGNGN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r269
+TTCGGTATAAACTAANTNTNTTNNTAATGTNANTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r270
+TCCAGTTCCTCAATGATTTTATCCATCGTCATGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r271
+CGCTGGAAGACATGCAGAAAGCCAATGATAAATCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r272
+GCGCTGCGTCACGAACTGGCGCAACTGCTGGGCNT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r273
+CCGAACAACCACCTGGATATGGAATCCATCGAGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r274
+ACCAGTAGCCAGCCGAGCGGTTCATCGGTGTTTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r275
+AATGCTGCTGATGATCGTACTGGATAATCTTTACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r276
+CTCGGCGGTAAAGTTGTCGCTNGCNATNCTTTANN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r277
+GGATTTTAACCCCTCCTGTTTTTCGCATCCGCTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r278
+ACGCTGAACTGGCACAATCCANNATNATGTGTTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r279
+ATAGAAACTCCGATGCTGCCCAAAGCCACGCCTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r280
+CGCTGCGTCATTCGTTCTGCTGAATTGGCGCAACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r281
+GCGGTGGNAATGATTTNNTAAGACTTTCGNANGNC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r282
+TACTGAAACCGTTGGGATTTGTGAGTANTANTANN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r283
+TCCAGTGCGGCGATCGGTANATCGAGCAGGGTTNN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r284
+GACATGAGATGCCATGCGCGCTGTTTTTTTCCGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r285
+GNNNNNCNNNNNNNNNNNNNNTNNNTNNNNNNNNN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r286
+GAATATTACGCCTGATACAGATGGCGTGGCTNAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r287
+TGCCACCAGCACGATAGCAATCGCTTTCAGGAATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r288
+TTTCGTCGCCCCAGGGGCTGCACTCGGGGACTCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r289
+GGTATCGCAACCCTTTGCTGAAAAATAGCGGCGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r290
+AGCCTTTGCGGAGTATCTCCATGAGCGTGTGCGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r291
+CCAAACTGGTCGTGTAGCGTTTCATGCCACTGTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r292
+AGTTCCGGAACAAACGCGACTGCTGTTTGTAAATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r293
+GTCTGACCGGTCGTGATGGCCCGGACCGNNGTTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r294
+GTCCGTTACCGGCAGATTATGTTACGCACTACCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r295
+TGATTTGTCAGTAATTTAAAGGCCGGAANNTTAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r296
+GGCAATGCTGCTGAAAGCCATTGAAGAGAAAACCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r297
+CGCTCGCTGCAATTGCCGGACTGGGTACTCATGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r298
+TTTTCATTCAGCCACTGACCNCACACGGAANTTNT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r299
+TCGCAGGCAAAGAAGCTACCGCTGCCTGGGTTGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r300
+AATCCTTGTTTAACAGCTTGCGGCTGGCCATTGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r301
+CTTTGACAATATTAATCAGTCTAAAGTCTCGCGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r302
+CCCACGTCGGTGGTGATAATCGCATTGTCATCGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r303
+GNNNNNNANNNNNNNNNNNNNNNNNCNNNANNNNN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r304
+AATCAGCCAGGTGATCCGCAATCCGGATATTCAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r305
+TTTATGGTAAATGGTATGGTTAGTTTTCTTTCCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r306
+CCTGTTGCAGCACGTTCTGGTAGAGGGTGTTTTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r307
+AGAAAGTGAACTTTCAGAATTTATTGGCGTAACGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r308
+ACGGGCTAACCTGCTGCGCAGACTGTTCTCCAAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r309
+TCCCCGAACCCATTAATTAACGATGGCTTGCTGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r310
+GCTGCATCAGTAAACTGAGCTTTGAAATCGGCAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r311
+ATCCTCAGAAATCAGATAAAACAGGCAANTNCTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r312
+TATTGTTGAGCGCGTGATCCGCCGCGTCAACGAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r313
+CTGTTCCCGCATCTGGATTTCGCCATCCCGGAAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r314
+CTTCAATCCCGCGACTGATATACCAGATGGTGAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r315
+GGGTACTTCACTGGACATTAGCCATCCTCACNTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r316
+CTTTCTTCCCCTTCGGTACTGGCGTTAACTGCACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r317
+ATGTCATACAGCAGCACAACGAGGATCATCGGCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r318
+AGCAATAAAGCGGCTCAAATGCTAGTNTGANGGNC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r319
+AAACCAGGGTGATCAGCGCCATCAGCGTCAACAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r320
+GGCTAATTTTGCGAGTCGCACAGGTGCGATACGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r321
+CAGTGCCTCATTACGTTCAGCAATTCAAAGGNCNN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r322
+AAGAAATAATTCGTAAAAAACGTGATGGTCATGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r323
+AGCGCGAAAACGAAGCCACCTGTTTTGGTCGCAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r324
+ATNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r325
+CGGCAGCAGAAAGCGACTCNAGTAAGNTNNGNAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r326
+GGGCGTTATACCTGCATTGCCCGCAANNCCCNNCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r327
+AGCACCAGCACCACCATGTAAAGCTGAAACAGCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r328
+ATTACCGCCGTCCGGCATGACGAACGGGCGTATTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r329
+TGCCTGCAAAGGGAGCAGGAACTTCCATAGACGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r330
+TGACATTTATTGCCCGCCGCGATGTTACGCCACAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r331
+AAAGACCCGCTAAGCCGTACCGCGGGCGTTGGTAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r332
+TGACAGGCGGGATGATCGGCTCGTTTATTCTCCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r333
+CACAATTTCCAGCCGTAGAAAATCGACCTGATACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r334
+GCGGCGGGGTCAGTGGGGTTACGCCATCTGCAACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r335
+CAATGCCGCGCATCGATTTAACAGGATGAATAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r336
+ATTTTGTACGGGATGCGGTTTTGCATCAGGAACCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r337
+GTGGGCGTTGACCATATATTCAACGGAATCAGCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r338
+TCTGGTCCCGTTCGGTGATGACGAAAGCCGGTGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r339
+ACTATTCGCCACACCACGCGTAACTTCCCGAAGNN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r340
+GAACCATAAAGGAGTATGGAACACGTAATAANNTN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r341
+AAAGCCCCTCGATTGAGGGGCTGGGAATGGGTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r342
+CCTCCGATATCGTCGAGCGCATGGGAAGTGAAACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r343
+ACTATCATCTATCGTTGGCATCAGNTACTTGTANT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r344
+GTGGGCTGGGCTGCTGCCGGGCAACTGATTGATGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r345
+GCCGGTATGTCGGACTGCCACCCTTTTTTATTGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r346
+GTTTCAATCAATTCATCTGAAATCGATAAAGAACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r347
+CCACGGCGAAAATGACTGGGTGCGACGTTAATGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r348
+CGCAGGCGGTCAAAGGTTAAACAACTGTTACTTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r349
+AACGGTGCGTTAAATACCGGGATCCCGCGCTTTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r350
+GCGATTATCCTTGGCCTGATGCTCTATATCGTGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r351
+GACGGCTTAAGGAGTAGAGCGCTCNAGACANGTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r352
+ATCTCTTCCCATGGCAGGACATCATTNCNNCTANT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r353
+GGGATAGTTTTCGACGGCTCTTTATAATAAGCCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r354
+GCTAAGATATAGCCTGTATTTTTCATCATGATTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r355
+CGGATGATAACGCCAGCGGCGTGGCAGGATTACTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r356
+CGGCCATCATCGCTTCGAGNATGGCGCGGCTCGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r357
+AGCCTTTCTTACGGTCAATGGCGACGCTGGCCCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r358
+AAACCAGGCGGAGACCTTTGCGACATCTTCACGNN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r359
+ATATGCGCCAGCTGCATTTCATATTCAAAATCTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r360
+GCTACACCGCCCCAGTACTGCGTANACANCGNGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r361
+TTGTCACTGAAAAACGCAAAGCGTGAGTNATNTNN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r362
+AACATCGCGGGTATTTNGGTTTAAGCCCATGNCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r363
+GCAACGGGTGGTTATAGCCAATGATGGTAACTGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r364
+CATTCGCAGATCGAACTGCACCACGTTCCAACCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r365
+TAATACTTCAAAGAAGCGATTAGCATAAACAGGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r366
+GAAAACTTTCAGCTTCCCCCGATGCGGCGCGGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r367
+ACCAGAGATAATGAGAAAGGTAACTTCCCTNNAAN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r368
+TAATATCTTTATACGATGTTTTACCCCCTTTCTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r369
+TGAAGATGAGATGTTCAGCATCAGATACTTTAAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r370
+GGATGCTGGTATTTAAAAAGAATGTTTTCTNTNTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r371
+TACTTTAAAAGGAGTGAAGGGATGTCTGATATAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r372
+ACGTAGGCAGGCTACTTAATGTGTCTGGCAAAGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r373
+GGCCTCAACCGGCGTTTCCGGATTAAGAATCAGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r374
+ACGCTATCGAGATGCCGGAAAACCCGGATTCCCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r375
+TTCGCCACGTTGTTTCATCAGGTCCGCTTTAGTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r376
+CATTTATTCATTTTATCCAACCATGAACGATAGNA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r377
+TCTTCCGCAACTGGTGGATGTTAGGCTCAACAACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r378
+CTAAAGGAGCTAAATATATGTGAACCCTGATGTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r379
+CAACAGAACCTCCGGTGTTAATGTTGTCAACAGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r380
+CGGCATCCGCATGTGGACGCCGCGGTGGTGGCCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r381
+ATTCCGGCAGGCAGTTGCAAAGTCAAAAATNTGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r382
+ACCTCTTATTGCAAACGTTCTAATCAACGAGCCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r383
+TCCAGCCATAGCGCGCCTTGCTGATAGGAGGCGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r384
+TTTTACGAACACAATGTACAGTGATTCAAACCCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r385
+TAAGGCTGGGACATCCCAGTANGTCTGATGTGCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r386
+GCCGTCCGACTCGTGCGCAAAAAGCGCGTAATGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r387
+ATTCGGTTATGCCGATGGACAATTTAGCGAAGGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r388
+GTGATGGGAATGACGGGCAGGCTGAATTAATTGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r389
+CAGCTGGTTCCGGACAGCCCGCTCGATGAACCCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r390
+CAGGCCGGTGAATGAGTCAAAGGTAAACAGCGTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r391
+AAGCGAAGAAGATTGACGCCATCATGTCATNNGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r392
+CTAAATTTATTGCCGGATTACATCATCAGGATATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r393
+AGGTTGACTTCATTGGCTTTTACAGGTTTCTTCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r394
+TGTGACGCCTTATGCGGGTGTGAAACTTAGTCATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r395
+TCGGCGACATCTACCTCGGCAAAATCAAGAAGTGN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r396
+TTTTTGCACTGACCATTAATTGCCTGCTATTTATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r397
+CTATGAAAACCGGCATCGTGACCACCTTGATTGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r398
+TTGCCAGTTACCAGCGTGGCAGCCGTAAACCGGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r399
+CGTCTGGTTTAATGTTTCCGGATTCTTGCATAACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r400
+CCGGCGATAGAAGAAGATGAACCGGTGAAATGGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r401
+TGTGATTGAATATAATCATTGTTATCATAAACGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r402
+CCGTCAACGACTTGCCCATTTGCTCGGCTTCGAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r403
+GATGTGACCATAGGCAGTGCCGAGTTCGTATTTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r404
+GCCACATCCATCATCGTGGCCCGCAGTTCTGCAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r405
+TTAGTACTTCTTTCGTGTTTTTCTATTGTCATAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r406
+GGCGAGACTGCGCGCCGCCGCTGAAAAGACTAGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r407
+GTTTTTTGCGCAGCGAACTGGCGATTAAAACCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r408
+GATCATGACTGACGAACAGGCCCGCGTGAAACTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r409
+CATGTCTTGCTCGTCCAGTTCCACGTCGTCAAAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r410
+ATTTTCAACAGCAAGAGGCAGGTTTGATCGGTGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r411
+GCATGTTGTCGGCCTGAATTGCATAGCTTCAGCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r412
+CGCCAACGGATCTGTTATACNTAGGAGTGTATAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r413
+TCAAGCATTTTAGCGCGCCAGGAAGCCTGAAAACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r414
+TTCGAATATTTTGCAGCATTGTCTTTCTTCATCTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r415
+TACACATTTTTTCCGTCAAACAGTGAGGCTGGCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r416
+CATTTCAACGGCATTAACCATACGTTTTGACCNGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r417
+GATAAATAGCGGAGGCTTACCTGCAGGTGGTGTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r418
+TTCAGTGTATTGTTTAGATAATAGGATTTTNTANT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r419
+TTGCGCGTGAAATTCAGCACTTCATTGCGGAACTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r420
+AAGCTTTCCAGCCGCGCTTCATCTTTCGGCCTACN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r421
+CGGCGTAAACGCCTTATCCGGCCTACGGTAAGCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r422
+ACCCGCACTCAGGCCAACCTGGTCGCTCTGCTCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r423
+ATCTGCTTATTCTCCGGCATCTTTAGTGGACTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r424
+CCAGTACTGCCCACATCAGCGCGGCTCNTTCCNCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r425
+ACGGAATTATCGCCTTTACGCTAATCGCTGCACTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r426
+TCGCCAGAAAGTACGTTGATAGCGTCATNCGGGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r427
+TCATATTGGCTGCTTTAGCTTCCATGAAACCAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r428
+CTGCTAACCCTGTGACCTGCAATACTGTTTTGCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r429
+GTTCGAAAAAGATCCGCAGACTGAAGCGATCGTNG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r430
+GGNNNNNNNNNNNNNNTNNNNNNNNNNNNNNNNCN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r431
+CGCGACTGGGTTTTGAAAAAGAAGGCTATGCGTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r432
+TCCAAAGCGGCTGATGACGATACCTTCATCAGGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r433
+AGTTTGTTTTCGCGGATTAAGGAACTGAAGACCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r434
+AGGACAGGCATAAACTGGTTGTAGAGTATAAGGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r435
+AAGAGCTTGGCGTTTGTACGGCTAAGTCATAANAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r436
+GCAATGACCGCTTTAGTAAATACTCGTGACCTCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r437
+GCCTTCTTTCACTGCATAGTCCAGTTTCAGCCCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r438
+TTAAGAAACGGATGCGTTTCTTATCGTNANAAAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r439
+GGGTTTACGCCTGTTGAGNNAAGGGCTCTANNNTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r440
+GCTACCGTCATCGTTTAAACCTGGTGATAACAACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r441
+CCTGTACGGCAGCAACGCCGGACTCGAAATGACCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r442
+GGGGAACGGCAAATATTGCCGACACAGACAAGNCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r443
+ACGACGCAACCAGGCCTCGCTACAGGGGATCGTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r444
+ACCGCATGCAGCACCAGCGGCGGCAGCGAGAACTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r445
+AATGTCTTACTGTCAGGATTAATTAAACGGAGCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r446
+CACTGAGCTACATGCTGGCGAACAACTTTATGAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r447
+AGTAACGGACTGTTCAGCGAAGCCGATCTCAACCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r448
+TAAAAATCCGGATGTGCTCTCCGTGGGAGAGGGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r449
+TACCGCAAAGCGAATAGGTTAATTAGCAAANNCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r450
+GACCTTGGTTTTGCTTTCAAGNANNNATGTNNCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r451
+GCTTTGCCGCTGCCAAATTTGCGCCACNCTGNATN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r452
+GCCTTTGCCGTCATTAGCGATGTTATTGTGAAATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r453
+ATGACGCTCGCAGAAGCCGAAGGCTTGTTCCGTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r454
+GAGCAATGCCTGAGTGTACGGGTGGCGCGGGTTGN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r455
+CGCGATGATTTAACNGAGNTTGTNTCTCGACCAAN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r456
+GGCCCTGTGGATTGGGCGCACGCTGGACATNGAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r457
+ACAGAGGAACGGATCATATGNACAGCGGAACNACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r458
+AGCAGGTCATGATGCGGGAAGACGGCGCATGGCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r459
+ATAATGAGAAAGTTTGCCAAAACAGCCATTGCCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r460
+GCATGTTATCTGGCGGTTCCTGTGGATCTAGTNNG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r461
+ACCAACGATTGACATCGACACGGTGGACATCGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r462
+GCTGAAAAGGTGCGTACGGCAGCAAAGGCNAGCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r463
+TACCGCCAACTTCATAACCACGCGCTTTCGACATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r464
+TGGCTAATTATTCAGGTGGTTTTTGAGGGTGTTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r465
+CGCGTCGCAGACAGACTGGCAATCTGTTTTGGTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r466
+AGGCTTTATGGACGAAGCCATCAGCGTATATNTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r467
+CCTCTTCCGGCCTGATAGCTGGCTACCAGTTTCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r468
+CGCGCCGTTATGATTTGCNCCTNACTTTATCTANG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r469
+TCAATTTTATGTCCATGGCAGGGAAGGATACTTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r470
+CGGCAGATTTTTCTTTGGCTAATGCAGCAAAATCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r471
+GTGAGTTGATGGAACTCATACCAGCGATCGATAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r472
+ANNCNNNNNNNNNNNNNNNNNNNANNNNNNNTNNN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r473
+GATAAAGTCCACGCCCGTTTCGGCAAATTCGCGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r474
+TTACAGTAACAAACCGTATTGTGTAATTATTTCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r475
+CGCAACGGCGAAAACCCCAACCGTTTACAGCACTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r476
+ATACATGATGTAGCGGGTACGAATTGANACAANTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r477
+GCCATTTTACTTTTTATCGCCGCTGGCGGTGCAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r478
+CGGTCATCTTAATTACAGACATGGTGAATCCTCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r479
+TGAATGATAACTCCATAAAGCCAATGCATTTTAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r480
+TCAAGNNNGCNNNNNNNNNNNNNNNNNNNNNNNNN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r481
+GTTGCAGGGCGTTGCGGGTCGTTTTCTCTACCGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r482
+CTGACCTGGCAGATATTGCATTTCTACTGCCTTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r483
+TTAATCGCCAATAATCTCTCATTAAAAGAGTTTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r484
+GGTAATATGAATGTTTTTATGGCCGTACTGGGAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r485
+AACCGATCACTTTGTTTTTGTTCGGGAATGAGGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r486
+AGCCTTATCCTCTCGCGTGATGGCACAAAAGCCTN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r487
+TCGGCGTGCTGGAACAGCAATCAGATCTAAAAGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r488
+GAGCATGCGCTGACGACCCAGAACACTGACGAATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r489
+CAGAAACGCATAGATACCGTCAGCGTCGCTATGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r490
+TTGCGAATCAGTGGCATACGTGTAGTGCCACCCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r491
+AACATTCCGGTCGATGGTATAGACATGGGCAGTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r492
+GTTTATTCTCGGCGTGCCGTATCGCGGGTCGCTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r493
+GGCTGAAGAACCAAAACCGATATCCGCATCCACCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r494
+CGCGCCGGTTGCCAGCTTAATCCCCAGGCCCGNTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r495
+GTTTACGTTTATTAAATAGCAGCCCTTGTAATGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r496
+TGAACCCTGAACGGCATGAATGCGACGAATAAGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r497
+GCATTGCAGGCATCAAGATAATCATTAAACGTATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r498
+AAGCCGACATACAAATATCCGACATCAGTCACAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r499
+GGAGTCAGTTCCCCGTCATCTTAGGTATCACTTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r500
+CCGCCCACCAACTTTGCGGCATGGCAACCAGNCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r501
+GCGTCCGGGGAAGTTAAAGCGCGTCACCAGCCAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r502
+CGCTGCGCCGCCTGCGCCCGCAATAATCACCTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r503
+TCTACCAGCACCTGCTTGAACGCACCGCCACCACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r504
+TTTTTCCCTCGCACGGTTGCGCCATTATACCGGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r505
+ATCACGGGTAGGAGCCACCTTATGAGTCAGAACAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r506
+CGGCACCGAGGGGGCACTGGATTCTCTACGCGTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r507
+ACCGTCAGTATACCGCCAAAGCGGCTGTNNNGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r508
+GCAAAAAATTGTTATTGNCGGAGAAATCACCGAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r509
+CGACAGGCTCATCCCCGGGTACCCAATCAGTCATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r510
+GGTTACCCTTGCGCGTCATAACTTGGAAAAAGAAN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r511
+ATGTGGATATTATCGTTGGTACTTTCAGTAAAGNC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r512
+CATGGTCTCAGCAATAAATTTCTTGTCAGCAAGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r513
+GACGTGCGTTTTGTGACCGACTTGAGCCAGCCGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r514
+TTGCCATCAGAACCGAACAGTTCAATGTTATCGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r515
+GGCTGCAACCTGCGGTACTGTTCATGGTGACATCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r516
+GGCGAGGAGTGAGTGTGAAAGCGAAGAAGCAGGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r517
+TCAAAGCGCTCAATAACGCAACCTTTAGTAAAGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r518
+TCAAGCCCGATGTCTCCTGTCAGCGCACCTAATAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r519
+TATGAAAACTTTTCACTGGAGTGGCAGTCCGCCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r520
+CCCACAATCCTTAACTCAACGCAGTACNCNGAGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r521
+TCCCGTCAACGTAACCGACCTGGAGATCGAATACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r522
+GCGTACCATCTGCGACGAGCTGGGCGTTCTTGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r523
+GGGCAAGCGTAATGCCATCCGGGGAGTTAACNCTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r524
+TTGTTTAACACTTTGCGTAACGTACACTGGGANCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r525
+TCTGCTGAACAATAGCGATCTTTTCCTGTGTAGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r526
+GTGAAATAGTAGATTATCTCCTGCCCTTCTNCTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r527
+TCTTCCCCTGATTTGGCGTTGACGACGCTGCTGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r528
+TGGCGCAATATTCATTCTTANAANTGNANAAATCN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r529
+TGCCAAGTAAGTGACTTCAAAACCTTCGCGCTCNT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r530
+TGGAAAACTCTTTCGCGTCACCACCTTCGGCGAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r531
+GGTACGAAATAATGTCTGGCGTGCATTTTCTAACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r532
+AGGGTGACATAAGCACCATCACGAGCAACGATCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r533
+TGCGCGGNNNNNNNNNNNNNNNNNNNNNNTNNNTN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r534
+GTGAGCTTCCTGCATCTGCCGGTACAGANNGNNNN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r535
+TACGGTACGCTGATGGCGCTGGCGCTGTATACCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r536
+GAGGATTGCTGCAATCTGCCAGTCAGCCAATTTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r537
+CGGAGCGACCCAGGCCGGGATTTACGATTTCATCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r538
+TTNNNNNNNNNNNNNNCNNCNNNNANTNNNANNCN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r539
+AGCGGCGCATCGGCGATTGTTATCGTGTCTAACTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r540
+GCGCCAGCAACAATTCACCCGCAGAGGAAGCGNNT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r541
+TTACGATGAAAAAATTGCAACTACGCCCGACGGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r542
+CTGTGGTGACCAGTCGGTTTGTGGGAAATTGCCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r543
+TGCGTCTTATCAGTTCGCTAATGTGATGGATATGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r544
+TGACCCCGTTTGGCGACAGCGATTATGCTGTTGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r545
+TTATTCTCCGCCTGAATGTTATCTACGCATGAATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r546
+GTGGCAAACCCATCCGGATCAAAGTGAACATCAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r547
+GATCGCCCTTCAACCAGATGTCATACAGGTTTTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r548
+ATACCGGCGTTTCTCCGGTCTTCGCTGGCGGTGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r549
+GTAGTGAGGACGAAAAGAAGAATATAATAAATAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r550
+CAGCTCTTTAATCTGATTGGTCAAAGTATTTACTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r551
+GCAGTGCGACAGATTCTCCGCGTTTNACGCCTTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r552
+TCTTCTACATTTCTTTAGTCCCGGCGATAGTACAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r553
+GATACTCCTGAAGTAGTCGGGTATCGACACCACNT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r554
+ATCCCGGCGAGTCTTTNGNGTTGTAATGAGCGGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r555
+TGNNNNNGNNNNNNNNTNNNNNNNNNNNNNNNNNN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r556
+AACATGGTCAGAATGTCCTTTGTGAGATTTATGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r557
+CGCCCGCCAGCGGTGCCGAAGGGGTAGAAACGTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r558
+GTCGGTTGCTCCACATTTTTGATTGGNTTCTNNNC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r559
+GACCAGATACTCCACATTTTTGCGGGAGACCCTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r560
+GCGTGGGCCGCACCTTCNTCTCAGCATNAGNGCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r561
+AATTTTCATTATTTTTGGTTTTCCCAAAATGATGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r562
+AGCGGTGTCCAGGCGCGGTTCGCGTCAAGACGCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r563
+AAACGGCCGTCAAACTGGACGGCGTTAATCGCGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r564
+AACGACAATGGTCGCTACGCCGTTANCGGGCTTNT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r565
+CAGGAGAAAGCATCAGCACCGGATTGCTCATCGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r566
+CGACTTACTGTAAGGCATGTGCGAACGGTTTGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r567
+AGCGAAAAATTTGAAAGGCGCATCTTACTCTTTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r568
+GCGGTGCTGGTGGCCTCGATTCCGCAATTTGTGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r569
+TTAGGCTGTTCCGTCGCTGAAATTGAATGTAGCNN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r570
+ATACATAAACTATACGAATAGGTTCCAGTTTTATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r571
+TTATGATTAACGACAGTGACACTGCCTGAGAGTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r572
+AGATTTCGCCGAGATGTCGCTGATTGGTATCANTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r573
+GAAAAAGCACTCGATGCGTACTACGCGCCGCAGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r574
+TTTGCGTTTAGGGTTTGCGCCAAAGTATGAGCCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r575
+TCGCTGGAGTTGGGCGTTATCATCGAACGTGACAN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r576
+GCGTGCCTGACTTCTCTGGGCTCCTGGATGATGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r577
+GCGAAGAACTGGGAGAACAGCTGCTTTTGACAGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r578
+GTTCTTCCGCCAGATAACGCTCATGCTCAGAAGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r579
+GGCGCACGTACGCTTGATGCACCGCGTGAACGTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r580
+CCAGACACCGTTCCTTTTTTCCGACACCGTAGCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r581
+GAAGAAGATTACACGCGCCAGACGCGCGGCATGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r582
+GACAAAATTAAACAGGACAAGACAAATCTGACCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r583
+ATCCTGACATTCTTATTTCACCCAAAGAAGTTANN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r584
+GATGAGTCATCAGGGGGNTGGTTGTGNGGACTTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r585
+ATTATTGTTTAATCGCCAGCAAAAATAACTGTTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r586
+GCCGGATTTGCGTGAGCGTTATCCGCATCAGCTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r587
+ATCTTCTCTCATCCGCCAAAACANCTTCGGCGTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r588
+ANNNNNNNNNNNNNNNNNNNNNNNTNNNNTNGNNN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r589
+ACCAACACCGGACTGGCGATAATCCCCATATGTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r590
+AGCAACTTGTTTTTTNNNNNCNNNNNCNANNNNNN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r591
+CTTACGCGCTAAGCCTGTTTGATGGCGACGGCATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r592
+TGTCAGGCGATGACCGCACGGATAATCAGCGATAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r593
+CGGTCATGTAATAACTAAAAGAGATGAAATCTCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r594
+CGGCGAGAAAAACAAATACGGAGAAGAAGGCGGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r595
+CATCCGGCGCGGGTTGGCCTGACCTGCCAGCTGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r596
+AATTTGGCGCGTTGCTGATCATCGATGAAGTGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r597
+AGCAGATTCGGATTGCCGCGTACGACACCAGCGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r598
+ATGGCGGAGGCGAAAAAACGTCTGGCGCTGAANNG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r599
+CAAGTGACCTGGTCTTTTTCAAAACGGGTCCGTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r600
+GCTGCGCGCGAACGTTCTTTTCCAGCTGTCCCGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r601
+GTTCGTTTTTATTTTTTGCACCGTTTTGCTGTTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r602
+AAAAGTGAAGCCGAAAAACGCGTAATNAGGNCAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r603
+GTTGAAGAAATTATGCATGGCAGTCTCCTTTCGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r604
+ACCAATGCCTGGGCCCCCTGGCAGGATTCTTTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r605
+CGACGTTACATATGTTGTAACTATAAATGTACTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r606
+CTGCTTGGTCCGGTGTAGANNCNGGCAGNTNNNAN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r607
+GTCGCCATGAACCATAACCAGCGATGTTTTCNNGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r608
+GACAGTGAAACCAGATGTGCGCCGGCTANTNNTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r609
+CCGTGGCGATTGGCGATGGAGCCAATGACCTANCN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r610
+CGTGACAATAGTTAACATNGTCATCGCTACAATTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r611
+GACACGGTCGGGTCGCACTGCACCCTTGCGACGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r612
+GTCAGAGCCGCAGATAACCAGGAGACACTCCAACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r613
+CGTCGCAGCCCGCTACGTCAGCAAAGGTCGAANCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r614
+GCGGTGAAGTGCCTCTGGATGTTGGCCCGCAAGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r615
+GTTCTCGGGCAAGCGATTTGATAGATTTTTCCTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r616
+AGCTACGTTCCCGGGCGCATGGTCCGCGCATCTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r617
+GGCCCGATGGTTATATCCATCGCACCATCGGTGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r618
+CACAGGCCGCTCCACAGCCTGTTAAAGTCAACTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r619
+TGATTTTTATGCTGCGCCAGCAACTGGATTTTCTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r620
+GCAAGGTTTTCCCTGAGCAAATTTGCCAGACAGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r621
+CGAAGGTCAACGACAATTGGTATAAACNTANCAAN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r622
+GGATGTAGGCTGAGCCTGGCAAATTCATACGATGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r623
+CGGTTTAACCCATATCTCCTTGNCGATTCTCTTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r624
+TTCATAGCCCCTACGGTATGGGAAGATGCTGGCGN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r625
+GTCAAGAATTGCCAGCGTCAGCGGCAGTAAAATGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r626
+TGGATGGTCGAGGTTTGTCCGGTTTTACGATCTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r627
+GGTGGCTAATACGCCTGCAGAGATGCTTGTANANN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r628
+ATAGGCAATAAAGTTTTCAGANTGACCCAGAATCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r629
+ACACCCAGCGGGCTGTTGTCTTCTTCATAGCGGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r630
+GTACCGCTAAATTAGTTAAATCAAAAGCGCGCTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r631
+TACGGTGGCACATGAGAATCATCATCCAGTATCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r632
+GATACCATTCAAAATCAGAACAGCGGCACGGTGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r633
+GGCTTTCTCGAAGCAGACGAAGGCTGGATGCACAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r634
+GGGACCAAGACAGAGTGTATGCGGTGACTTGCAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r635
+CGGGATAGTGATCCTCGCCATTATCCTCGACCGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r636
+ACGCTATCGATAAGAATAAAAAGGAATAAAAGTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r637
+TCCCACTGAATCAGGCTGTTAATCATAAATAAGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r638
+ACAAACTGCACATAGCGCTGGATGGCATTATGAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r639
+GCCATGATGACGCTGGCGCTGGCGGTTTTGGGGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r640
+GCTGCAACCGCTTGTNNNNNNNNTNNCNNNNNNNN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r641
+TCTAAACAGATAGGCTTTTACGGTTTCCCCGTTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r642
+CATCTCGACGACTGAAGGCACCGCTGCATAGGCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r643
+GTAGATGACACTCACGCATACAGTATCGCCTGTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r644
+GAACAGGTGGCGTTAAATGCCTGGAAAGAGGAGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r645
+CGATGCAGGCGCCTCTTATCCGGTCTACGGATTAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r646
+TCTTCTTTCGGTGGTGCCACTTCGCCGATACGTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r647
+ACCTGTCCCCGATACTTGATGAGTTTAANGGGGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r648
+AGATCGGTCCAATGTCGACCATGNCTCTNATNATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r649
+TACGGCGAATACCAGACTTTTTAATAANATTAGNC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r650
+CACCATCGTCGGCGGGCATACCAACATTGTGCATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r651
+TGAAAGATGTGATGCGCTTTAACGAGCCGGCAAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r652
+AACAGCGCGTCAGTATCGCGCGGGCATTGACNTCN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r653
+AGCAGCATCAGGATGAGCATATCCGGCAGCTTCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r654
+CACATTGGCCCCTGCCCAACCGCATGGCGGCCTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r655
+CGGTTATCTCTGGCCCAAGGTTTGCGAAAGAACTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r656
+TGCCAATGACCTGCGCTTATCGGTTGCCTTGTGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r657
+CTATTTTCGACAGCGTCAGNCAANNCTNCTCTCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r658
+CAGTGAATTTGTCATGCCAGCCGATGCGGTGATTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r659
+AACGCGCCGCCGCTCATCGTCTAACGAGTCCTTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r660
+TACATCGGTGCCTACACTGCACTNCCTGATGTNTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r661
+GCCGTGGTGGCGTTTCTGNTTTCACTAACANTTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r662
+GATGGTCATATGAGCGGGGATCTTCTTCGCCAATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r663
+ATTGCGAAGTAATGCGTAAAATGCCGGATGCGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r664
+CAGGAACTGCCAGGGATGTCGCTGCGTGAGCTGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r665
+TAAATTCAGCATCATGAGGAAAAGAGATCAAACAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r666
+ATGATGTCTACACGCCCCACCACATCGCAGATTNT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r667
+TACACGCCGCTAAAACGCTGGGCGCTAACGCAATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r668
+TCAGGCGCGGGGTGGAGCAGCCTGGTAGCTCGTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r669
+GGTGACGCTGGCTAGCCAGAAACGGATCTGGCGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r670
+GGCTTGATAAACCTCGTCTCCAGATATTCATCAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r671
+CAGACCCACGTGATGATCGTAAAGATGAATACGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r672
+CGCGCACTCAGTATGGATGCGGTACAATAAGCCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r673
+TGAGCATAACCCTGTGGATCGCGACGCAAACTATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r674
+TGCGGTGTTAGTAGTGCCGCTCGGTACCAGTGCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r675
+TACCTATAATGGTATCTTTCTTTATGATGCTATTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r676
+GGCTGATAAAGCGCAGGTTGTACCATCCAANTTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r677
+TACACCACTGTGGCGGAACGTATCCGGTTTTCCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r678
+TACCACTTTTGCACTGCGTAATATCTCCTTTCGTN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r679
+GACGGCNNNNNNCNNNNNNNNNNNNNNNNNNNNNN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r680
+ACCGTAACTGCCCCAGGACGCACTATTGCTGATGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r681
+TGGCGGACGCGGACTAGATCCCTAATTATTGTGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r682
+CTCCAGCGCATTACCCGCATCAGAGATAAGCGGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r683
+GTTGTCTGCCCTGGGGGTTTTATCTACACTNAATN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r684
+AAGAGTCACCGTAAAATCAACGCCATGACACTTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r685
+AAACCGTAGGCCTGATAAGACGCGCACGCATCGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r686
+TGCTGACCTGCCTGAACGAAGGTCAGAAGTTAATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r687
+TGCACAAATTCTGTCGCTGGCGCTGCTGCTGCGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r688
+TATAAACCGTTTGATAAAGTTCGCGGTCTGCATTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r689
+ATTACATGCGGCCATTCACCGTATTGAGTGGTTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r690
+ACTTATCATTATAAATGACGGGAGATTTTTTCTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r691
+TTTATGACGAAGCACACACATTTTAAGTTCGGTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r692
+TCAATCTCTTGCTGGGTGGCATTCGGGCAACCCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r693
+CGCCCTCATTCAGTAAAAACTGATGCATGGCAATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r694
+TGAACAGCTTTATCGCCGCTATTAGCAATGGGCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r695
+TCCCACGACTCCAGGTTGAATAATCGCGAAAGCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r696
+TCAGTGTCAGATTTTCACCCAATGGAAAACGATGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r697
+ACCCTCCCTGACGCTCGGCGCGGCAGTGGCCGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r698
+TGCCGCTTTCATTATTTCAACATTGCCGATCCAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r699
+AAAATAATCCATGACATAATGCCCACTGTTTGNTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r700
+CGCGGCCCAATGGGGCTGGAAGCACTGACCACTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r701
+GGTGCAGGAACTGATTGACTACATCGGGCAAAACN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r702
+GATGATTTAGCACATCCATTAAAGATCCCGCAGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r703
+GATTTTGCTCCGGCTGGGCGGCTACAGCTGGCTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r704
+ACTTACTGGAAGGCTTTGTTACCAGAAATTATCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r705
+ANNNNNNNNNNNNNNNNNNCGNNNNNNNNNGNNNN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r706
+GTAGCGGGTTCTCAATGTCGTCCGCTANTNCATCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r707
+CCAGCACGCGCAGGCGAGCGGCGACGGTTTGCGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r708
+TCGCCGTATTGAACAAGCGTCGGCGCGTGAAATTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r709
+AGAATGATTACTTTATTGGTAGTAACATTTCTGCN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r710
+AACGCTACGCCGAAGAAGGTGCAGATGAACTNTAN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r711
+GGTGGTCACTGACAGCCTGTGCCTCTCTTCCTGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r712
+GTCATCCATAGATTTGACTTTCAGGTTGACGTACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r713
+TGATTTCCCGGATGAAGAGATCGATTTCCTCTCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r714
+CGTTATCCACCGCGGCGAGGAAGAGGTGCGNCCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r715
+ATAGGAACCCTTTACCCGACCTTCTGGATGCTAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r716
+CGCCGCCGGGTCAGCGGGGTTCTCCTGATGTNTNC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r717
+GAGCCAGGTACCTTTATGACCCAGGATGTCAACAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r718
+GCCTGCCAGCGCCATATAGCGTTGTAATAATNACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r719
+CGGCCTGAAGTCTCCTGTGCGCCTGAAGGCACATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r720
+GGATCTGACATTTTTGCAGTTGCAACTCGACGGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r721
+TTCCCATTGCATCATGGAGGTAATCACGGAAGAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r722
+TGCTTTCGGCAGCCTGTGCATTATGTCGGAAGGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r723
+AGATTCCTGACCTTTGAGCATACCACGACGACGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r724
+AANCNNNNNNNNNNNNNNNCNNNNNNNNNNNNNTN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r725
+CATAGCGGAGTTATCAAACCCCAGGACATCCAGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r726
+GACGCCGCTGAACTTAAGCTACCGTTGCCNGANAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r727
+TCGTCAATAACAAGTTCACCAATGTACAAACCGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r728
+AATGCCGCAAGCTGACGTAAGCATTCTCCGGAATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r729
+GCNNNNNNNNNNGNNNTNNANNNNNNNNNNNNNNN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r730
+ATAGATTGGTGTATCCACGCNAAANCGCTNCTTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r731
+GAGTAAGATTTGCCGTCACTGATTTGAAACGGCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r732
+GATATTCCTAAGCCAGTGGGCAGCATAACTGACAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r733
+CCTCGCGCTCTACGGTGAAGNGCGTTNNGTTCCNG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r734
+ACAGAGATGGAAATATCACAATGATTAATAACATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r735
+TACGATAACAATCATTTATCGACAAATCGTGCGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r736
+ACGTAAACCCGAATCCATCTTCGACTACCGTTTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r737
+GCATCACCTCCGGTCCTTTGACACAAAGCTCACCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r738
+ATTTATTGATGGTGAATATTAATGTTTTGTGACCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r739
+TGCAGGAGGCAGTTAGCTATCGTGCGATTGACCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r740
+AAATGACATTAATCCAGCGCTCCCACCAGGACGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r741
+CATTGGCTTCCGTGTGCACATTATGATCGACGCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r742
+AGTACCAGCGGGTAATGTTTGTTCNTNANNCTGNA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r743
+GCATTTGCCTATACGTTAGCAATTCTTTACTACGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r744
+TCGGCTGGCATATCCGGGTTCTTTTCTGCCACCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r745
+AGCACCAGATTCGCCGGAATATCGCCGTCAACCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r746
+TACCTCGTACAGCGCCCCCTCTACCTGGTCAATCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r747
+GAGCTTGCGCCCATCAGCGCGANNAGNTNACTGCN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r748
+CGCCGGTGGGCGTTTCAATCATCTTCATNAACTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r749
+TGTGCTTTGCTGGCATGAGGATGAACACGCGACGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r750
+TACCAACCCCTGCCGTTATTACTGGGGCGACATTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r751
+GGTTCTTCCGCCAGTAGTGCGGCAAAAAGGATAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r752
+ACATTTCCATACCNNGTCCTGNGTCACNTNATATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r753
+GTAAATGCGTTTTGAGTTGGGAAAGGCGGAGCATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r754
+TATTGTTCACCCGATTTCAGTAGNNACGNNTATAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r755
+CAAATGTCAGCATTTTGNANAANGAGGNCTCNTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r756
+TATCCTGACCGAAGAATTTGCTGGTTTCTTCCCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r757
+TGCGCATTAATATACTTCTGGGTTCCTTCCAGTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r758
+GCAGATAGTCAACCACCATCCAGTCACGGTAANAN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r759
+TGTCTTCATTCAAAACGTCTTTGATTTTCTGATAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r760
+TTGTTTGATACCCACATTCAGCCGAATGGCGCGNT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r761
+ACGCACTTTACTTCTCTCGCGCCACCATTCCGTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r762
+GTCGTTTATTGAGCTGGAAGAGAATGTGNNAATTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r763
+CTGAAACAGCTAAGTACCCCGAGGAAAAGAAATCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r764
+GGGCGTTGGCGCTCGGCCGTGGCCTGAATCTGGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r765
+AGTGTGGCAAAGTTGCTCGTCCCGGCTGTCCCCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r766
+CTGGCAAGTGGTTTTTGTTGAGCAGAATCTGCCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r767
+CCCCANNNNNANGNTNNTNNNNNNNNNNNNNNNNN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r768
+CCGAAACTGCGCCCGGCATTCCCGCCGAAGATTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r769
+AGACATTCCAGATTGTTCCATCGCTAGGTTTAAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r770
+GCATAGGGGAAGTAGCNCCCGAAANCTCGCAACAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r771
+ATTTAATNNNNNNNNNNNTNNNNNNNNNNNNNNNN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r772
+TAACCACGGTATCGATATGCGAACCGCTCAGAACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r773
+CACCGGCACGCTCAAATCCTCACTAAAATCGCGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r774
+TGAGCGCTCTGTTCCTGCAACAAGGCATCGAACTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r775
+TCGCGTCAGCGTTTTCTCCAGTCGCGCTTCATCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r776
+CGCGGTCATCCTGCTGATACATGCCGTGGAAGNGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r777
+CAACCATAGCACCAAAACCATTGGTGTTTATTNCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r778
+AAGTTGGTGGATATTTTAATAACCTGCGGGCGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r779
+CGAAAAGCTGGGGATGGCAAAACGCGTTAAACCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r780
+TGACATCCTGACGTACGACCTGAATAGTGTCGATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r781
+TGTAGCGAAATACTCACGCCGTCACTGCGCGAAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r782
+TGCACTTACAGGCCTGATAAGACGCGTTAANNTAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r783
+CGTTCAGGGGCATTCGACTTCGCAGGTCGCCATTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r784
+GCGGCCACGGTCCAACAGACGACNTCCNNATANCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r785
+GCAACTGACTGGTAATGGTTAACAGGTCGCTTAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r786
+AGATGTGCTGAACGTCGCCACTCCGGCAATTAATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r787
+CCAGCAATAGCAGTGAAACCAGGACCACAAAGAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r788
+TGTTTGCCCACTGGACGGTGTACTGTNNCGTNNGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r789
+GCATGATAATCAGCGCAATAATCAAACGAGCTGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r790
+GACCACCCACATTAACGGACAGGTTTTGCGTCTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r791
+TCTGCTTCGCCCTTATCTTTGCCGNCNTCTATCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r792
+GGTCATTATTCTCTGCGGTATCCGTTAATGGNCNG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r793
+TCAGTGGCATACGTGTAGTGCCACCCACAAGAAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r794
+AATCAGAGAATGAAGGTTACCAAAGTCGATCATGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r795
+AGCACGAAAGCGGGTACCTGATCGGCGGCAAGATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r796
+AACCATACACCCTGACTATTGTTACTATAGTTGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r797
+CGCGACTGCGCCGTCTGGTTACGCAATAAAAAAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r798
+GCGCCGTTGATTGCTCGCCAGCTACTGCGTGAACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r799
+GCTGGTCGATGGCTTCAGTTTCCCGGCCATTACAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r800
+GCGAAATCACAGAAATGGCGGCATCGGGTGGTAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r801
+CTGTGGTTAGTCAGCTCTTTCGCCAGCGCCATCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r802
+CACGGTGTTCAATATGACCAGTACATGCAGTTAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r803
+CCAGCGCCACGGTGACAGTCACAGCAACTGATGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r804
+GTATCCGGCAAACCATACTTACATCAACAACGAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r805
+GAACAGGCGATGCAGGATGCAGGCCTGGTGCCGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r806
+CTACTTACGCGGTGAAGTGGAGCTGGTTCGTCTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r807
+CCGGACTATGCGCCGCCGCTGGCGAATGTCGCCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r808
+TCACAGACCCTGACCAACAGCGGTCTGTTGCAGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r809
+AGNNTNNNNNNTNCNNTNNNNCNNNNNNNNNNNNN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r810
+CTCGACTCCTTATCGAAACAAAAAATTAGCGTCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r811
+CACCGCGAATAAACTGCTGATGCTGGGCAAGAAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r812
+ATACCAGTGCCGGCACTTGTGCCNNNCCNNCATCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r813
+TCTGGAAACGGTTCTGGAAGCCTGGGACCGCAACN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r814
+TTCCAGGGGGCGGTTAGCCGCATTGGGGGGGCTAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r815
+CGTCTGCTGGCTGGTCATATTTTACCATTGTGCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r816
+AACGTCTGCGCATGAGCCGCCAAAAGCAGCGTTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r817
+GAGCGATCCCGGCTGGGATCGAGGCGAACAAAAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r818
+TACCGGGGCGGAGAAACGCCCGTGACGCAGGANNT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r819
+CGAGCAGCCTCATGCTCCTGGGCGTTAGCCGTNTN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r820
+TGAAAAATTCTCGTAACTCAGGGTCAAGGTTCCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r821
+TCTCTACACCTGCTCTNCACCTGNGGTTTNNTGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r822
+CAAAGCCCAGGCCACCNNCNGATTTGANCTTCTCN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r823
+GCGTTTCACTTCAATCACGATGCGCATACNNCGCN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r824
+AATGCCGGAGGTTAATGTTAATGAATCCCTGGCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r825
+CACCATAGGCCCCCACCATTTCACTTTGCGGATAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r826
+ATAGTGGCTTTGATTATTGATTTTGGCTTTACTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r827
+CCATCAGGTTGGGAACCACCAGGCTGGCGAACCNN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r828
+GGTNNNNNNNNNNNGNNNCNNNNNNNNNNNGNNNN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r829
+TTTGTGCATCCAACCGCCATTGTGGAAGAGGGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r830
+GGCTCCGTTTTCAAAAATTCCTGTAACGAGCGATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r831
+TTCTCCCGGAGCCACAGACAAATTCAGACCACTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r832
+CCCGGATGAAGGGGAAAAGTTCGCCGGTGCTGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r833
+GCAGCAGCCGCTGGTACAAAAGCGAAGTGGAGNCN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r834
+CCGTACAAGGGCCGAATGCGGAGGCAAAAGCTGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r835
+TTGTGGGTTGCTGCACTGACCGTCATGGCAATGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r836
+CGAGGAGATTTGGAGGATGGTTGAGAGGATTGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r837
+TCATTTCTACGGCAAAACTCTTTCAACTTTCTCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r838
+AGCAACTGGTCGCCGATCTGTAGNNTTANTTCACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r839
+TTCTGTGGTTGATCGGTGAAGCGATCTTCCNCAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r840
+AACAAGCTGCACAAAGCACACTACGTTCTGGTGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r841
+GTGATCCACCCACGGTACGTTAGGCAGCGCCTTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r842
+GGCTGATCCAACCCCAGCTGCTGACGCACCAGTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r843
+GCCGCTGACCCTGCTCTACTCAGCAAAAAACTCNG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r844
+AACGCCCGCTGGCAGGAGGCCTGTCGTCTGCTTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r845
+CCAGAGAGGCCGCCCATAGCACCACGCCGATCACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r846
+AATGATTTAGGTGCAATGTATTATATTGGCGAGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r847
+TAATTCGCCAGCACCGTGGCGTTATCAACTAACAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r848
+GGTGGTGAAGCGTTAGAGTATAAGCAGATAGCTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r849
+GTTTCTGGCTGGCCGGAGCAAGGCGTTCAGGGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r850
+CACAGCGGGAGATAACGCTANGATCGGTTCAGACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r851
+CACCGCTTTGTTGACCGCCTTTTTTACCTGCTTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r852
+GTCTGCACCATGCGGTCATGCCCGCCGGGCTCCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r853
+ACAGACAAATAATGTACCGACCGGGCANNGANTNT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r854
+GAGTATAACAAAAGGGACAGGCATCAAGGGATTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r855
+TTTATCAATGGAATCCACTGGCTNGCGCATATAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r856
+CGGCCTCTTCAATGATGGTTTCTTCCGGCTCGACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r857
+GGCGAGCTGGATGTGAGCGGTGGCGGTCACGGGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r858
+ATCAACGGTTCTGTTGNNCNNNNNNNNNNCNNNNN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r859
+AATGTAGGGGGTAGAGAGNATTTTACNACGTCANC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r860
+GATTTCATAAAAACTCCTGATTGTTAAGGGGGATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r861
+TACAGCGCATCCCAGCAGCCGTTGTATANCTNCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r862
+GNNNNNNNNNNNTNNNNNNNNNNNNNNNNGNNNNN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r863
+ACCGGAGCCGTGCAGCCGGGGAGNCGGGTCATGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r864
+CAGTATGGCGCATTATTAGGTGGTAAGCGCCTGCN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r865
+CCCGATGCATCCGTAGCTCAGCTGGATAGAGTAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r866
+GCCGCTGCGCGATCGCGTACTGGGTCGTGTAACTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r867
+GTTTCACTTGCCGCTTCTGAAACCAGTACGGTTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r868
+TCAGCCGCAAAGTCACCCGCAGCGGCACGCGCATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r869
+CCTGGACGCGCAAAAGACGGTCGTTACCGCGGTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r870
+ATTATTTTTTTGAGCCAGAACGGATTCCTGAAAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r871
+CATGCTGCTGATAATCTGACCTTTAAAGGAAAACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r872
+ACGGCAGTGAGGGGGCAGATCTGCTTGATTNCATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r873
+TGGCATCAGCGTTATAACTTTGCGTCATGGTTTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r874
+ACTTTGTTTTGTCAACGAGTCTGACTGCCAACACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r875
+TCGCGCCGTTCAGGGGCATTCGACTTCGCAGGTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r876
+TTACGCGGCCTGACCAACAAACTGGATTATCTCTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r877
+CGTCACACCGTATACGTCCACTTTCGTGTTTGCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r878
+GAACTACGCCAGGATTNTTNNNNNNNNNNTNNNNN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r879
+GAACGCCTGTATCGACAAGGGCGCGGTAATATTNN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r880
+TTGCGCGCAGCGACGAGCTGGCGCAATACGGNCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r881
+GAAACTGACCCTGGCAGGATGTGAAGAGCGAAATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r882
+TCAGGCCCACCGCCGTTAAGCGTCCATCATCATCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r883
+TGCGCCCAGCCGCCCCCGCTNTAGGTAAGTCTCNG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r884
+TCCAGCTGTTATCGTCATTACGCTTTAAGGCGCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r885
+TCAAGCGATGCGCCAAGTTTTAACTGAATATAAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r886
+ATTACGAGATTTTGTAGTGACTGATGTTTGCCCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r887
+CATGAGAAGAAAAGAGGATTGTGGCATTAAGTGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r888
+AAGGTCACTTCGTTGTAACCCATGCGGGTTTGCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r889
+GAAGGTATCAGTGTAGCGTCCTCAAAGAGCTTGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r890
+ATACCTTTCTGATATTTGTTATCGCCGATCCGTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r891
+GCAAAGGGCTACAGGCCACCGTACCATGGGCAGNC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r892
+CCATGCTGGCACTGACGATTTTCATTCGGCTTNCN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r893
+CAATTGCCCCAAGCGACGAATAGCCGCCTGTTCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r894
+TCGGAATCCCTAGGTAATACGTGGATCAGAATGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r895
+CCAGCTCCTGATGCAGAGCTCNCCTCCCGTNTTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r896
+TTGACAAGGGTATTTTTTAAGCTATGAATCAGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r897
+TAGTTTTGCTGGCGATTATTATTTTCCAGGACCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r898
+ATCACCGCGTGGAAAGAACATGCGGTAGAAGCGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r899
+CCNNNNNNANNNNNNNNNNGNNNNNNNNNNNGGNN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r900
+GTTCGTTTAACCACGGTTCGATGGCTAACGTTTAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r901
+TGTCGATTTCGCGTCGTTGCGCCATCAGCANNNNN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r902
+CGGCTATGGCGATTCCAGCAAACTTTTTGCGCGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r903
+ATCTGCGAGGGTCTATGGTGAACCAGAGATAATTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r904
+ATTAACGACAGAAGAACAAACTGCTTTAAATCAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r905
+GAATTTGCAAATAAATAAGTGTCGTCATATTTCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r906
+CCGAACGTGGNAAAGTCNGNTTTNATNCTGCTNNG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r907
+AGCAAAATGCAGGTCGGCGCAGCGGCGTCGCCACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r908
+TGTTCAGGCCGTTGCCGCACCTTTTAATGTTACTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r909
+TGGAAGGGGCCCGGGGAGATAATGTCTCGNTTTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r910
+AAAGAAATGCGTTCAGCAGCCAATGCTAAGTTCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r911
+ATTGAAGCGGCTAAACGTTTTGGTCTGAGCGCGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r912
+TTTTAACGACAAGTGGCGGGTANAGATTGAGGGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r913
+GAGCCAACAGAAAACGCTGAAAAAACATCCAAAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r914
+GCATAATAGCTACCCGTCNGAATNTCGGTTCTGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r915
+GCAACCAACCAGGCATCCGCTTCAACTTGGCGTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r916
+GGCAAGTACAGGACAGCATTAGCACAAAACTGTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r917
+TNNNNNNNNNNNNNNANNNNNNNNNTNNNNNNNTN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r918
+TTCTTCAATAAGTATCTGTTATCTTTTGATCCCNN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r919
+TNNCNNNNNNNNNNNNNNNNNNNNNNNNTNNNNNN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r920
+ACGAGTGCCGAGACTTATCTTTCCCGATGTTTTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r921
+TTGCCGCAGGCCANNAGAACCNTGGTANANATCTN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r922
+CCCTGCCAGCGTTGCGTGTGCTGTACTCATCCGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r923
+TTAAAAAGTAACGCCATAGTCGCTAAATCTGATGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r924
+AACGCCGAGGCAAAGATCACCCGCCTGCCGCTGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r925
+AATATTCAAAGTGACAGCGCATGGCAGCAAGCCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r926
+GCCCCCCAGCAACAAATGCAGCGTGCCGTCTATAN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r927
+CTTCCCGTGCCGAAGATACCGACCTGCAAGACGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r928
+GCTCGCGGACGACGATCNGGAGGATNAGNACAATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r929
+GGCATCGGGTATGGCTGCGTGTTAATCCGGGGTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r930
+GTGTTCTCTTTGCCGGAGGTAAAAAAAGAGGATGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r931
+CCTGACGCTGATGGCAATTGGCGGCGCGTTTTTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r932
+CCGAACTGGTCGATGGGACGTAAAATTTCTGTCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r933
+CGAAAAAGATCACAAACTTTGCCATANCATCTGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r934
+AATNTNNNNNNNNNNNNNNNNGNNNTNGNNNTNNN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r935
+TTTTGGGGAAAGTTTTGGGGCAGATTTTACATCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r936
+TGCCGATACTGAATTGATGCTTGCGGATATCATCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r937
+TGGTGCTGATTGGTATGGTTGCTAATATCTTCCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r938
+TCTACAAAGCCATCGCGAAGAAATTCTCNATTGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r939
+CGTGCGNCTGTATGTCAGCGAAAACGAGCTGAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r940
+CCTGCTTATGCTGGTCCGCTCGGTACTGCTGATAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r941
+GCCAGAAGAACCAGTCGCGCTGTTTTTCACTTTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r942
+GCAGGAACAGAGAAATAACCAGGATTATGGATGTN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r943
+ACAGCGCCGGATACGGCGTGAATGCCTTATCCGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r944
+GCTGTTGGCGCTGAAAACATCGCTACTAACCAGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r945
+GCGGTAGCGGCCCTGCCGGGCTTTCGGCTATGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r946
+CATCGTGTTTATTCCCGGTGACTTCACCCGCGCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r947
+CAACGAAGGGTTCTACTGGTGGATACACATACCTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r948
+TCAGCCCGCGCTCGTAGCCGCTCTGGTCGTCNTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r949
+CAACCTCCCAGTCGACATCGTTTACGGNGTGGACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r950
+GCGGACACTCATCACGGGCAAGGGCCCGNTTTAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r951
+GGAGGGGAAGGGGAACTGAGTCCTGACCTGACTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r952
+TAAGTCATAAACCAGAATTATGTNAANGNCTNNTN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r953
+CGGTGATGTTATATCGCGTTGATTATTGATGCTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r954
+AGGCATCCGTAAGATGCTGGCGCTGAACATCAACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r955
+CGTAGTCGGATTCTGGCGGTGGGCCAGATGTCGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r956
+GCGATACCNNNNANNNNNNNGNNNCNNNTNNNNNN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r957
+GTAGTCGATATCAATACCGACGACTGGAATCTNNT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r958
+AATTGTCGGCGTAATTGGCCTAACAGGTGAACCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r959
+ACGACAACGGCTTTGCGTTCAACGATGCCAGCGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r960
+TCTGGCCGCAGCCTGATGGACAAAGCGTTCATTAN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r961
+GCTGTTTAAAGAGAATAGCAACTTCCGTCGTACNN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r962
+AACCAGGGCGCGCAGGGGGGGCTTNCGCCNTCGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r963
+GGTCGGACAGGTTTTCACACAAGCCGGCTCCTGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r964
+ATTCCGTAATGCCATCTTATTTCGTAATGGATTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r965
+CCTGCTGCTCATTGAGTACGCCTGCTGTATTACNN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r966
+TGAACGCCTTATCCGACCTACGTTCGCCTTGTTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r967
+TCAAGCTGGCGATTGATCGCTATAAAGCTAACGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r968
+CATCAATTACCTGAATCGTTGCCTCTGCAACAAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r969
+TGCCCTGGCGAGCGGTTTGTTGATCCNNGGAANNG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r970
+AGGATTTCCTTATAACCATTTATATGTATTTGCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r971
+GATGCCGATGCGGCGGATCTGATATGTCNTTGNTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r972
+TAATGCCGGTATTGAAGTTGTCGAAGCCACGGAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r973
+GTACATGTGGAGTTACAGCCTATTGCCGATGAGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r974
+GAATATGCAAAATAGTGCGTATTTTCAGAAGTATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r975
+CTGTTGTGGTTGCGCTTTGCACGTTTATTCACCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r976
+AATGAACGCCTTGCTGCTGGGCAGCGTGGATGAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r977
+GTCAATTCGGTCGTGCCCAGTTTTACAGGCGCAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r978
+TCNNNNNNNNNNGNNNNTNNCNNANTNNTNNNNNN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r979
+TGTTGATCCGGTTTGCATGGCGTACCCGGCACGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r980
+CTGACGCCGTTGATTTCTGCGATCGGCGTGGTGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r981
+TGGATACTGCGCTCCAGCGCCTGCTGGTTAGCGGN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r982
+GCACCAGCCTCTTTCAGCGTAGCGCAGGCATTGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r983
+ACAGACAAAGTATACCTGTTCGGGTCCCTNAATAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r984
+ACTTAGCACCCGCAATTTTACTTNTGTTGGTTGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r985
+ACGCGTACAGATGACTGAATGCAGTGCCCTGGCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r986
+ACGTTGCGTCTGTTCCANGACNGGANNCTTAACTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r987
+TCTGGTGGTCAGCGCCAGCGAGTCGCCATCGCCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r988
+TCACTCAGTGGCAAACGATGGATGGACGCTCCTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r989
+GGCGGCACCAGCCCCTGGTGATACAGCACGTAAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r990
+CCNNNNGNNNGNNNNNNNNNNNTNAAGNNNNNNNN
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r991
+CACGCGCTGTTCTGGCTATNGGNACNNCCTGCAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r992
+AGCCATCATCAAACCGTCACTNGCATTTAAAAATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r993
+TGGTAGTCAATAATGACGGCAAGGCGACCGATGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r994
+GCATTTTTTTCGCCAGCCAGGCTTTCGCTTTGGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r995
+TGGCACCTGCCGTTTGCTGTGCGACGAATCAACGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r996
+GGTGCGTTACTGTGGCACTTCGNCCTGATGTGGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r997
+AACCAACACGCCAAGCATCGCTTCACGGCTGACTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r998
+TATGGTGGATCTCATTACTTACACTAATCGTCTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r999
+AGGATAATGAGGCGAGCCGGGGGAACTGAAANTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
diff --git a/reads/e_coli_1000.raw b/reads/e_coli_1000.raw
new file mode 100644 (file)
index 0000000..53434f7
--- /dev/null
@@ -0,0 +1,1000 @@
+GAACGATACCCACCCAACTATCGCCATTCCAGCAT
+CCGAACTGGATGTCTCATGGGATAAAAATCATCCG
+TCAAAATTGTTATAGTATAACACTGTTGCTTTATG
+AAAATTTGTGCCTGGATGGCCTGAGTACCNANTAC
+GCAGAGCAGTTGCTAGAAANNNNNTTGAAGAGGTT
+CAGCATAAGTGGATATTCAAAGTTTTGCTGTTTTA
+GGCAGTGATGCAACTGCCCGTTATCAACAGNCNCT
+GCATATTGCCAATTTTCGCTTCGGGGATCAGGCTA
+GGTTCAGTTCAGTATACGCCTTATCCGGCCTACGG
+GGCGATGATTTCATTACCCTCAACGCCGAACAGGC
+AATCCCACGGCGGCAGCATGGTCCTAGANAGGNCG
+TTACCACCGAAGTAGCTTACCCATGCGCCGCCGAC
+AATCACAGGCGGTGAGCAGTAACGATAATTCGGCT
+CAGCTCGCACGCCACGCCGAACCATGTCATCAATT
+CGCTTTTGTCCTCGGCGACTTCGGCAACCGATGCG
+GGGTCTGGCCGTTTTCTGCTTCAACTTCAACAATC
+ATCCGGTTAAAGATGTTGAGAAATATGTGGTGATG
+TTTTGTGTGTGTAGTAGGCCTTGGATATTGGGGCT
+CCTGAAGGCGCGCGTGACTACCTGGTGCCTTCTCG
+CATATGCCCCAGCACTCTGATGGCATCGCCTTCCA
+ATAGACGCAAAAGAGCAAATAACATTTCTTCACAA
+TAATGATAAGGAATCACTGTTTTTGAGAAAAGATA
+TTGGGATTGTGGGCGTGACAATTTTCTCGATGATT
+ATCGCGAACACCTTTACCGATTTATCGCCGAAGTG
+AGATGAAGTTGTTTTGGCGTCATTCCGAAAAATTG
+TCCGTATTCAGGGCGCTGCGGGAGAAGAAATCNGT
+ATGGGAACAGTAATCTTTTTTACTGGTTCTGCGTC
+TATGTCACATTTATTTTTCCTTAAAACTACAATAT
+TGTTTTCCCGGTTGTCGGGGATCGGTTTGCCGCTG
+ACCTGGAAATCTGTACCAAACCCCATGCCGGATAA
+AGCAACATCATTCTCCCGTAAAAAGGGAGTCGATG
+CCGATAGTGCCGTAGTANAATTAGTTTTTNNTTAG
+TCGTTTCTGTCTGAGTCGATAGCTTTCTCCTTTGA
+CGTGGTCATCAGATCATGCGGCAAACCAAANNNNN
+AGCGGCCAGGTGCTTTCCGGGATAGTAAACAGGCG
+GCAACGCGCGGGGCTAATCGGGATCTGCCCGGAAG
+CCGGTTTCACATCCGGTGCAGGCTGTGGTGCTGAC
+GCATTGCTGCCCATCCTGATTTGCCTGTTAAGCAG
+GCCGTCTGCACCGTAGCCTGGTATGTGAGTGCGAA
+GCTATCTGCCGTTCAGTCAGAGTNCGANGCCTNAN
+CGCAGTCGAAGAGGTGGAAGCATTAATGCNTAATA
+CGAATCAGGCGATTCGTCAGACGGGAATGTTGNGT
+TCCACGGAAGTTTTCAGAGATGAGAATGTGCCTTC
+TTGCAGGAAATTCTGTNACCCTCNACNAAGCATCA
+AGAAAATATGACCCCGCAGGATTACAACGACGTCN
+GAAAAAGTTTCATAAAGACTCCAGATGATCGATGG
+TTTCGGGGATGCGGTGGCGCGTCTGGATAAGCGTC
+ATCCGGATTGTATTGAGATCCTGCCCGTGNGCTCA
+CCAACCTTCTCCGCCTGCTTCGGCGCGGCGTTCCT
+TGTTTCGCGTCGCAAAGTGGAGCGAGACGTGCAAG
+GTGGTGCATTTTGATATTCCGCGCAATATCGAATC
+GTCGTTATAGTCTTCAAGCCACGGGTAGACGAAAG
+GCGTTTATGCGCGTGAACANNANTCCTCATATTAA
+GCTGCGGGATCACCTGATCTGCCGGATGTCGTGTA
+ATCGTTCATTGAGCGCAAAATGACGCTTTTGAGGG
+AATGACTATCCGCTGGATCACGAATTTATCAGTGT
+AAGGCAACGAAGAAGCCGATGATCCAGATCCAGCA
+TGGGTGTAAGCCTGTTCCACTGCCTGCTGTTANCT
+ACGCGTTTACTGTTCACCAGATCGCCCATCAACAT
+TGATGTAACGCCTGATGGCCTGCATATCGCCCAGT
+ACGGGTCAGCAACATCTGCCCGATATGAATGTNGN
+CGATGAAGAAAAATCGCTGGTGAAACAAGCAGATG
+GTCGCTCGCTACGATCAGCAAAAATATGACATCTT
+CATTTCTGTACTCATGCAGCCCCCTTCTGAAATAA
+CACGCGTTGGGTATGGACGAACTGGAAGGTCATGA
+TGAGAACGGCTTATCTCATTTTCGCAGTCACTATT
+GTCCGGCATCCAGGTTTTTCACGGCAGATTATCAG
+GACATGTGAACCTTCTTTTTCAAGCTGCCAATGAT
+TGCTATTTATCGAACTGGGGGGGGAGAACCTGCNC
+ACCCCCTCATACCCACCTCTTTCTCCANGTNNGTN
+TAATTCGATGCAACGCGAAGAACCTTACCTGGACT
+TNNNNNNNNNNNNNNNNNNNNNNNNNGNNNNNNNN
+GTTCACGGGGTTAGCGAAGATCCATCCCGCGTGCA
+CCAATGANNNNNNNNNNNNNNNNNNNNNNNNNNNN
+AGTTGAAACATTTTACCTGCATCAGCACACGGTNG
+ACGTTCAGTTCTTTCGCCAGTGCTTTCAGCTAACG
+TTTGCAGTAAAGGGTAAACGGATTGCCAGACNCCA
+ATAGCCGCCCGCCGGAAAGATTTTTGCTGCCGGGA
+GCAGGTGCTGCTGTATGNNGNAATTAGAATANTNN
+CAGCTTCGTTGCAATGGCAAAAGCTTGCCGCTCCG
+TTGGAGCGGGGTGGTTGGCACGCTCGAGAACGTCA
+GACGCCGCCGCAGAGGCCAACAATCTCTTTCGGCG
+CGACTCTAACGCGCTGATGGCGGTCACCTCCTNCC
+AACACCGGGGATGTTATGGGTACCGGCGGATCCAC
+TGATTTACGCATTATCACTAATAGCCTGCGTGTGG
+GATAACCGGCCTCCAGCTCAGCCCATTTCGCATCN
+TACCGCAGCAAAATCGGTCCCNANCGTNTNTNNCN
+TGGCGTAACAAACGAAGGGCAACTGATGAACAANT
+AACAGCCATAGCGTCATTTCCGGACTCATNNGNCT
+CGTCTTGTCCTGCCTACGCGAATCCAGGTCGGTAC
+ATTGGCGGTTTATTAGCGAACCGAGTAATAAACCG
+GGCATTACCGACCCGTGGTACACCCCCGGCGATGT
+TGCAACGCATTGGCGAAATACATAAACGCCGACCA
+TGGGTTACTGAAACTGTCACCCAGCCCTGGGGCGT
+CNNNNNNNNNNNNNNNNNNTNNNNNNNNNNNNNNG
+GGTTTTACAAACTCATGGTTTATGTTGAGCNCTNA
+GTTGCCTGATGAACCAACGTAATGCTTCAATGACT
+AAAAACCAGTTTAAGTTGGTTATTTCTAATCGCTT
+AACCTGATTACCTCATTACATACGCTTATACGTTT
+CCCGCAGATTATGGCTTCTTATTTCCTGTATNCCA
+TTTTCCGGCGGCGAGAAAAAGCGCAACGATATTTT
+CNNNNNTNNNNNNNNNNNNNNNNNNNNTNGNNNNN
+GTTATTTGTAAAGTACTTNGGTNTNCNACGCCNAA
+CAAAGACATTTGCGAATACCAGATGCAACTATCCG
+TTCCTGGTCATTCACTTTTGCGGCGTAGCTATTGT
+CCCGCGGCTTAATCCAGCTGGCGTATATGCTCCGC
+GGCAGCAACGGCATTCTGCCAGACGTCTATAGNCA
+TGTTCATCCCGAACTACAGTGTTAGCCTGGCGCAG
+CNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNNNNN
+ACTGCGCTTCGCCGTAATACCAGGTTGGGAAGCCC
+TTGCCGGGTTCAACCCACGCTCTTCGAAGGTTTTT
+CTACCATCCTGACGTTCGTGTGTGGGAAATTTTAT
+TCAGGACGCGAACGTTCTGTTTAGCGGCGGTTATT
+TTGGCGATGAACCAACCACCGCGCTGGACGTCTCT
+TGCCGCCCGCACGCGCGGTGTTAGACGGTGTTGCC
+GGTGACCTGCTGAGAACAGAGGTTGCCGGTACAAT
+ATCGGCATTATGGTTTCGTGGCAGGCGCGAGGATT
+TCACGCATAATTTTTCCGGTTCGGGAATGTGTAGA
+GGACTGGATTGCCGAACCGTTAGCTTTTAGTCANG
+CGGTGTTGACGGTCAGTTCGTAGTGCCACTTCTAN
+AGACATAACCAAGGTCCATTGCGATATCAAAAATC
+GTTTGGCGTAGCCAATGCCATTGCGATCCCTGTTA
+AATGGTTTTTTTATCTTCTTCGCTGATTTTACATT
+CTGTTCGAACAATATGAGTCCCCCAGACNTGNANA
+TTCGCTGCACTGGCACTACTGGGCTTCAACTCTCT
+GTGAGCGACGCCCGCTACCGCACGAGATTGCAACG
+CAACAACTCATCCATAAATTTTGCATAATTACNNN
+GCGGCCTGCAAAGTCCGGTGGACGTGCTGACTTTG
+GTNNNNNNANNNNNNNNNNNNNNNTNNNNNNNGAN
+CAGCGGCACGCTCAGCTACGTGCTTACGGTATTCT
+AAAATGCGTACAATCCTTCAGAATATTTTCATCAA
+ANNNNNNNNNNNNNNNNNNNNNNNNNNGNNNNNNN
+AGGGATATCAGCTTGATACCCGACGGGATTGTNCT
+CCCATCCCTATTGCCAGATGGGTTTTCCCCACACG
+TGATTTTGTTGACTTGGATNTCGTGTTNACAGTCT
+TGATATTCTACGCTGGNTNNGTGCNACTACCNNGT
+GGACGATATTCTGACCAAGTACAACACTGACCANG
+TGGGGAAATGACGTCGTGCTACTACCGAGCAAAAC
+CTGGATTGCAGAGAAGTGTACGAACACGTCTTTAC
+GCCCTCGACCCGTAATATCTTATTACTACTGGTGA
+TGCGCTGTAAAACGCTGACTGCTGCAGCAGCAGTA
+TGCTGGCCTGGAGCGCCATCGTACTGAACGCCCCG
+TCATTAAGATATTTAATTTCATTTTCTAAACTTAG
+ATCGCCCAGCGGAACCCGACCGGGTGNNNNNNNNN
+GGTGCGGCGGCAGATAAACTGTACACNGTNGACCN
+CGGCGGTGAATGCTTGCATGGATAGATTTGTGTTT
+CAGTAAAGAAGTAATCGCGTTTCTGGCCGAACGTT
+TAAGCNNNGANNNNCNANNNTNTNNNNNNNNNNNN
+CTTCGATGCTATCGACGTGCATATGAGCGATCTAC
+CCTCGGCTTAATTGGTGAAATCCTTGATGTCGACA
+CAATACCAGTTTGATTCCGAACNAGATTGNCTGGA
+GAACACCACATTTTTCTGGCTGAGGCCCCATTCTT
+CTTCATGCAGGTTTCTTACTCAAANTAGNATANCT
+ATTGAAAAGGATGGAATACTCACTGAGGATGACTT
+TAATTGTTATGTGGTCGGATGAATTCTAATTTAGT
+TCGTGCAGGATTCGAACCTGCGACCAATTGATTAA
+CAACTACCGTGAAGCCACGGCGGAACTGACCACAG
+CAGCCCAGCAGGGCGTACTCATCGATTAATGACGT
+CAGTACCGCGTCACCGATCCGGAAAAATATCTGTA
+TGGCGGCACGACGCTAAACCGACTGAACGCCTGCT
+CACCGAGATGATCATAGCTTTCGAATGGACCGTGG
+ACCCAGTGTGGTCTGGACGTTGCTCCGCGTGGGNG
+GTTTTGATGTCGGTAGTTGCGGCTTCCACTTGGAT
+CGAATTGCCGGACTAACTTCTTTTTCGACAAACAC
+TAACCAGGCATTACAGGAGAGTTTCACTTCCNNAN
+CGNNNNNNNNTNNGNNNNNNNNNNNNNNNNGNTNN
+AACATAAAACGGACAGCCTGAGGGCGGCATGGAAA
+AGCCTAAAGGCATAACCCGTCAGGGATAAGACGAA
+TCACCTCTCAGCAACTGACCTGGCCGGAANGTNCC
+TAATCATTCTCATTCGCACTTGTCCAACACTTTTT
+TATGCAGGTTAATGAGNGANCACGTCTNGATACCT
+TGGGGGTAAAAGTTGCTGGAATCACTCAGGACTTT
+TTCAAACAGAAGAGGGTGAATAATCCGTAGGCCGG
+GGATACTTACCGCGAAAACAGCACGCCTGTCAAAA
+GTTTTTGCTGATAGCGGTTAGTNAAGTAATCNGTA
+GACCAATCCTCTGAGATGGATCAAAGAATTGCCCT
+TCAGGAACCTGATCCNAATGCTTTTTCATNTTTGA
+GAGTTGTTGCATACTGTTTTTAATTCACTGGGATG
+CCATCGACTGCGCCCCTGTCAGGAGATAGCTGCCT
+CCATATTCGAACCCGTGAAGGTGGCGCAGGTACTG
+CGTGCTGGTCCATTCTCACGGCCCGTTTGCATGGG
+GTGGTTGATTTTAAAGGATTTACTAAAACTTCACT
+GGGGAACGCCAGTAATACTTCTTCTAATGATGAGC
+AGTTTATTTATATTCATCCTGATAACCCGCAGCAA
+GGTTAAAGTCTGGAAAGCATCTGTCATCGATACGG
+CTGGTTTCAGCGGATTAATGATTGATGCTTCTGCT
+AGAAATTTATTTGACTGAAGTACAATGAAATAAAA
+GCTGAATTTTCTTTCAGGTCCGGAAAAACCATTCT
+AATGAATTTGATAATGATAGTCGCCTTGAGGCAAG
+GTTTTCGGAGGTGGTTACAGTGAGTCAGCCCATCN
+CGGATACAGCCGAATGCTGTACATCGAATTNCTCG
+GATGGTGATGATAGCAATGTTGTCCAGACGAACAT
+GCTCTGCTGAACAATAGCGATCTTTTCCTGTGTAG
+TTGGTCTGCGGGCAAGTTCTGCGCATCAGGCGGCG
+ACCGGCGGCAACAATCGCNGNNNNNNNNNNNNNNC
+CGGACAATATATCCTGGGGCTATCGGGGGGNTACN
+ATGACGGCGATTCCTGTTGCCCGTATCGTCGANTN
+TCTTTTTGAGTCTTGAAACGCGTGAACGCGCCGAC
+TGACCAGCGCAGACGTCATAACCAGCAACCTGCGA
+GCAACGGTTGGCAATTCTCCCGCAGAACGCCTCCT
+TCACGCTGACGTTGCGCTCTGCCAGNNAAAAAGCA
+CCGGTACGGCGACGTTATCGTGCATCAGCACTTGT
+CCATCGAGCGTACCACTAANGCTAGNACTACGNCN
+CCGTAGTCGCAGCTACTGGTTACGACTATCAGCGG
+GCTTCTATCTGGGCGCTGGGGCCGCTGGTAGCGCG
+ATTAAACAAGGTGTGCGGGGAAGGGATTCGTANNT
+ACAAAGTGACCGTGCGTACTCGCGCGGCAGTCACC
+TATTAGTTATTTATTTTAAAGTTTCATTGATATAT
+ACTGATAGTTATGAAAAAGATGAGTAACGCGGTAT
+TTTTCCAATGCCTTATTACTTTGACCCGGAGCTNT
+TTGTCGCAAATAATCACGGGGCTTATTGAAGTTGT
+CATAATAGGATCGCGTCGCGTGTGTGCCAGACTTT
+TTCTCGCCCAGCGTCAGGTTTGCCCGCCATNTNAT
+GTTTCGTAGTTTTCGACCATCTGGCTTAAGGCAGC
+GTATATAAAGCTGCTGTTCTGCCATTCGGGACATC
+GACCACTCCGGCATGATATGTAACATACCTAAAAG
+GAAGTTGGACGGCAGGCACCTTGTTGTGCGTCAAN
+AACTGGGTCGTCAGATTACTGTGCGTTACAAAGAC
+CGTCTGAAGTTCTGCGACGAGCTGCGCGATCAATC
+CGCACCTGCGAATTTGCGCCGTCGGCACCAATCAC
+AACAACACTTTACGGCTGGTCCGCTACAGCAACAT
+ATGGCTGTTTCTCATTGCGTGCTCCTNNATGACAC
+CAATAACAATAAATTAAAATGATAAATTCCTTTTA
+CAGCCAGCGATCCTGGGCGGGTGGTGGAGTCCTNG
+AAAGAGTTTCAGCACCTGATCGAGCATCTCCCGAT
+CGGTGGTGCGGGCATTTTAGGGGGNNNGAACCNGT
+CCGAAAACCCCGGTATTGAGCGCCCGAATTGCGGA
+GAAAGCGCAGGAAACCAAAGNCAAAGCGACGGTAA
+TTCTGGGGTCTTGATTGAGATAGCCATTAATTCTG
+CTGCATGTACAGACTGACCGGGTGTTTAATTTGAG
+CCACATCTGCCGCACGGGTCAGTAAGCCATCAGTA
+TCGGGTTGTTCGACNANNNNNNNNNNNNANNNNNN
+TGAATCAAAGGTCACAATGGCTGGGATGCTGGCGA
+TGTCGGCATGGCAATTGATATCCAGCAGGCAAAAG
+AGGATATAGAATATGCGTAAATTAACTGNGCCACA
+AAACAGCCGTTTCTGCTGCCGGTCGGTATAGGGGA
+GAAGCTGCCACTCTGCCTGTTCATTTGCATTATTT
+AATCCCACTGGCAGCGTCGCGAAAAGACGCACCGG
+AAAGCGTCCTGGACCTGGCTTGATGCGACCAATCG
+GCGAAGAGACGGGGAGCNNGTTTNGNTNCACAATC
+ATACCCAAGGTATGACGGTTGTTGATTATTATTAT
+ATTGACGATCATCCGCTGCATTTTGGCGATTATTC
+CGCGAATCCAGCTCCTGATTGCCGTTCTGATAGTA
+TACCCGATCCACTGAAACATGAACATCAAGCGGCG
+ATAAGAAGATGAGTAACGCGATTACGATGGGGATA
+AATTGTGCAGCGTCAGCGGACACTCCATACCATTT
+GTGATGGACGTGAAAGTGGGTAGCGGCGCGCTATA
+CATGGGCGAAATCGGTAACCGAAATTGCTCGTANC
+GCCTGCCTCCAGCCTCGATTTCGGCCATCAGATCC
+AAACTGCGTTGCCCGACTGCTTACTGCCTGCGATT
+TAGCTGCGGCGATTAACCGTGGTGATAAAAGGGCA
+CAGCACAATTTAAAANGNNNNNNNNNNNNTNNNNN
+ATATTCGGCGGCAGCAAAAGCGCTGGTTGACAACA
+AAGCCATTGATGGTGTTCACAATGCCCGCCGAACG
+CGCCCCAGACAGCCAACATTCCTCTCAGAACGTGA
+GGCATCGCCACCTCGGTGGAAACCGCCGCCGTGCT
+CCCGCAGAGAAATATCGTGAGAGANAGCTCACCCT
+TTGTACTACCACAAAGAGATTGGCTCCCGGATTAA
+CTGTGGCTGATAAGACGACAAGACTTCAATCCCGC
+ACACCAAGTCCGGCACAATGCGGTAATGCAGCTGA
+TAATTAACGATGCTGAATAGCTGGTCTTTAANCGC
+CGCCGCGCCTGAATCCCCCCCGCATGCTGATATCC
+CTGGGGCGGTTGCCTCCTGTAATCGACAACATCGT
+GCAAGCCAGGTGGCAATTGANTGTNCTTGNNGAGC
+CGGGCAATGTTGCGCCATTGACCTTGCTNACGNCG
+CTGGCGGCGGGTGCACTGGCTACAACCTGTAAATA
+CGGAGGCGGCGACAGCCAACTGAGCCTGCAGACCT
+CCAGTACGTTGCTCCAGGCATCCAGAATCAGCCGG
+CGCATCCGTATGGCGAATANCTGTTGATTGTGNGN
+TTCGGTATAAACTAANTNTNTTNNTAATGTNANTT
+TCCAGTTCCTCAATGATTTTATCCATCGTCATGCC
+CGCTGGAAGACATGCAGAAAGCCAATGATAAATCA
+GCGCTGCGTCACGAACTGGCGCAACTGCTGGGCNT
+CCGAACAACCACCTGGATATGGAATCCATCGAGTC
+ACCAGTAGCCAGCCGAGCGGTTCATCGGTGTTTGC
+AATGCTGCTGATGATCGTACTGGATAATCTTTACT
+CTCGGCGGTAAAGTTGTCGCTNGCNATNCTTTANN
+GGATTTTAACCCCTCCTGTTTTTCGCATCCGCTAA
+ACGCTGAACTGGCACAATCCANNATNATGTGTTAA
+ATAGAAACTCCGATGCTGCCCAAAGCCACGCCTGA
+CGCTGCGTCATTCGTTCTGCTGAATTGGCGCAACT
+GCGGTGGNAATGATTTNNTAAGACTTTCGNANGNC
+TACTGAAACCGTTGGGATTTGTGAGTANTANTANN
+TCCAGTGCGGCGATCGGTANATCGAGCAGGGTTNN
+GACATGAGATGCCATGCGCGCTGTTTTTTTCCGGC
+GNNNNNCNNNNNNNNNNNNNNTNNNTNNNNNNNNN
+GAATATTACGCCTGATACAGATGGCGTGGCTNAAA
+TGCCACCAGCACGATAGCAATCGCTTTCAGGAATT
+TTTCGTCGCCCCAGGGGCTGCACTCGGGGACTCAT
+GGTATCGCAACCCTTTGCTGAAAAATAGCGGCGTG
+AGCCTTTGCGGAGTATCTCCATGAGCGTGTGCGTA
+CCAAACTGGTCGTGTAGCGTTTCATGCCACTGTTT
+AGTTCCGGAACAAACGCGACTGCTGTTTGTAAATC
+GTCTGACCGGTCGTGATGGCCCGGACCGNNGTTTA
+GTCCGTTACCGGCAGATTATGTTACGCACTACCGG
+TGATTTGTCAGTAATTTAAAGGCCGGAANNTTAGT
+GGCAATGCTGCTGAAAGCCATTGAAGAGAAAACCT
+CGCTCGCTGCAATTGCCGGACTGGGTACTCATGCC
+TTTTCATTCAGCCACTGACCNCACACGGAANTTNT
+TCGCAGGCAAAGAAGCTACCGCTGCCTGGGTTGGA
+AATCCTTGTTTAACAGCTTGCGGCTGGCCATTGCG
+CTTTGACAATATTAATCAGTCTAAAGTCTCGCGGG
+CCCACGTCGGTGGTGATAATCGCATTGTCATCGAC
+GNNNNNNANNNNNNNNNNNNNNNNNCNNNANNNNN
+AATCAGCCAGGTGATCCGCAATCCGGATATTCAGG
+TTTATGGTAAATGGTATGGTTAGTTTTCTTTCCGG
+CCTGTTGCAGCACGTTCTGGTAGAGGGTGTTTTCG
+AGAAAGTGAACTTTCAGAATTTATTGGCGTAACGC
+ACGGGCTAACCTGCTGCGCAGACTGTTCTCCAAAT
+TCCCCGAACCCATTAATTAACGATGGCTTGCTGCA
+GCTGCATCAGTAAACTGAGCTTTGAAATCGGCAAA
+ATCCTCAGAAATCAGATAAAACAGGCAANTNCTAA
+TATTGTTGAGCGCGTGATCCGCCGCGTCAACGAAC
+CTGTTCCCGCATCTGGATTTCGCCATCCCGGAAAT
+CTTCAATCCCGCGACTGATATACCAGATGGTGAAA
+GGGTACTTCACTGGACATTAGCCATCCTCACNTAA
+CTTTCTTCCCCTTCGGTACTGGCGTTAACTGCACA
+ATGTCATACAGCAGCACAACGAGGATCATCGGCGA
+AGCAATAAAGCGGCTCAAATGCTAGTNTGANGGNC
+AAACCAGGGTGATCAGCGCCATCAGCGTCAACAGC
+GGCTAATTTTGCGAGTCGCACAGGTGCGATACGGA
+CAGTGCCTCATTACGTTCAGCAATTCAAAGGNCNN
+AAGAAATAATTCGTAAAAAACGTGATGGTCATGCG
+AGCGCGAAAACGAAGCCACCTGTTTTGGTCGCAGA
+ATNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
+CGGCAGCAGAAAGCGACTCNAGTAAGNTNNGNAAA
+GGGCGTTATACCTGCATTGCCCGCAANNCCCNNCA
+AGCACCAGCACCACCATGTAAAGCTGAAACAGCAT
+ATTACCGCCGTCCGGCATGACGAACGGGCGTATTC
+TGCCTGCAAAGGGAGCAGGAACTTCCATAGACGCG
+TGACATTTATTGCCCGCCGCGATGTTACGCCACAG
+AAAGACCCGCTAAGCCGTACCGCGGGCGTTGGTAG
+TGACAGGCGGGATGATCGGCTCGTTTATTCTCCAA
+CACAATTTCCAGCCGTAGAAAATCGACCTGATACG
+GCGGCGGGGTCAGTGGGGTTACGCCATCTGCAACA
+CAATGCCGCGCATCGATTTAACAGGATGAATAAAA
+ATTTTGTACGGGATGCGGTTTTGCATCAGGAACCC
+GTGGGCGTTGACCATATATTCAACGGAATCAGCGA
+TCTGGTCCCGTTCGGTGATGACGAAAGCCGGTGGG
+ACTATTCGCCACACCACGCGTAACTTCCCGAAGNN
+GAACCATAAAGGAGTATGGAACACGTAATAANNTN
+AAAGCCCCTCGATTGAGGGGCTGGGAATGGGTGAT
+CCTCCGATATCGTCGAGCGCATGGGAAGTGAAACT
+ACTATCATCTATCGTTGGCATCAGNTACTTGTANT
+GTGGGCTGGGCTGCTGCCGGGCAACTGATTGATGG
+GCCGGTATGTCGGACTGCCACCCTTTTTTATTGCC
+GTTTCAATCAATTCATCTGAAATCGATAAAGAACT
+CCACGGCGAAAATGACTGGGTGCGACGTTAATGCC
+CGCAGGCGGTCAAAGGTTAAACAACTGTTACTTTA
+AACGGTGCGTTAAATACCGGGATCCCGCGCTTTGC
+GCGATTATCCTTGGCCTGATGCTCTATATCGTGGG
+GACGGCTTAAGGAGTAGAGCGCTCNAGACANGTCG
+ATCTCTTCCCATGGCAGGACATCATTNCNNCTANT
+GGGATAGTTTTCGACGGCTCTTTATAATAAGCCGT
+GCTAAGATATAGCCTGTATTTTTCATCATGATTTA
+CGGATGATAACGCCAGCGGCGTGGCAGGATTACTC
+CGGCCATCATCGCTTCGAGNATGGCGCGGCTCGGT
+AGCCTTTCTTACGGTCAATGGCGACGCTGGCCCCA
+AAACCAGGCGGAGACCTTTGCGACATCTTCACGNN
+ATATGCGCCAGCTGCATTTCATATTCAAAATCTGC
+GCTACACCGCCCCAGTACTGCGTANACANCGNGCA
+TTGTCACTGAAAAACGCAAAGCGTGAGTNATNTNN
+AACATCGCGGGTATTTNGGTTTAAGCCCATGNCTC
+GCAACGGGTGGTTATAGCCAATGATGGTAACTGTT
+CATTCGCAGATCGAACTGCACCACGTTCCAACCGA
+TAATACTTCAAAGAAGCGATTAGCATAAACAGGTT
+GAAAACTTTCAGCTTCCCCCGATGCGGCGCGGCAG
+ACCAGAGATAATGAGAAAGGTAACTTCCCTNNAAN
+TAATATCTTTATACGATGTTTTACCCCCTTTCTCT
+TGAAGATGAGATGTTCAGCATCAGATACTTTAAGA
+GGATGCTGGTATTTAAAAAGAATGTTTTCTNTNTG
+TACTTTAAAAGGAGTGAAGGGATGTCTGATATAAA
+ACGTAGGCAGGCTACTTAATGTGTCTGGCAAAGCA
+GGCCTCAACCGGCGTTTCCGGATTAAGAATCAGCC
+ACGCTATCGAGATGCCGGAAAACCCGGATTCCCTG
+TTCGCCACGTTGTTTCATCAGGTCCGCTTTAGTTT
+CATTTATTCATTTTATCCAACCATGAACGATAGNA
+TCTTCCGCAACTGGTGGATGTTAGGCTCAACAACC
+CTAAAGGAGCTAAATATATGTGAACCCTGATGTCC
+CAACAGAACCTCCGGTGTTAATGTTGTCAACAGGA
+CGGCATCCGCATGTGGACGCCGCGGTGGTGGCCTG
+ATTCCGGCAGGCAGTTGCAAAGTCAAAAATNTGTT
+ACCTCTTATTGCAAACGTTCTAATCAACGAGCCTG
+TCCAGCCATAGCGCGCCTTGCTGATAGGAGGCGAT
+TTTTACGAACACAATGTACAGTGATTCAAACCCTC
+TAAGGCTGGGACATCCCAGTANGTCTGATGTGCCA
+GCCGTCCGACTCGTGCGCAAAAAGCGCGTAATGTT
+ATTCGGTTATGCCGATGGACAATTTAGCGAAGGAA
+GTGATGGGAATGACGGGCAGGCTGAATTAATTGGT
+CAGCTGGTTCCGGACAGCCCGCTCGATGAACCCGA
+CAGGCCGGTGAATGAGTCAAAGGTAAACAGCGTTT
+AAGCGAAGAAGATTGACGCCATCATGTCATNNGCC
+CTAAATTTATTGCCGGATTACATCATCAGGATATT
+AGGTTGACTTCATTGGCTTTTACAGGTTTCTTCAC
+TGTGACGCCTTATGCGGGTGTGAAACTTAGTCATA
+TCGGCGACATCTACCTCGGCAAAATCAAGAAGTGN
+TTTTTGCACTGACCATTAATTGCCTGCTATTTATG
+CTATGAAAACCGGCATCGTGACCACCTTGATTGCA
+TTGCCAGTTACCAGCGTGGCAGCCGTAAACCGGTT
+CGTCTGGTTTAATGTTTCCGGATTCTTGCATAACG
+CCGGCGATAGAAGAAGATGAACCGGTGAAATGGTT
+TGTGATTGAATATAATCATTGTTATCATAAACGCA
+CCGTCAACGACTTGCCCATTTGCTCGGCTTCGAAC
+GATGTGACCATAGGCAGTGCCGAGTTCGTATTTAC
+GCCACATCCATCATCGTGGCCCGCAGTTCTGCAGT
+TTAGTACTTCTTTCGTGTTTTTCTATTGTCATAAT
+GGCGAGACTGCGCGCCGCCGCTGAAAAGACTAGGT
+GTTTTTTGCGCAGCGAACTGGCGATTAAAACCTGG
+GATCATGACTGACGAACAGGCCCGCGTGAAACTGT
+CATGTCTTGCTCGTCCAGTTCCACGTCGTCAAAAG
+ATTTTCAACAGCAAGAGGCAGGTTTGATCGGTGCT
+GCATGTTGTCGGCCTGAATTGCATAGCTTCAGCAA
+CGCCAACGGATCTGTTATACNTAGGAGTGTATAGT
+TCAAGCATTTTAGCGCGCCAGGAAGCCTGAAAACG
+TTCGAATATTTTGCAGCATTGTCTTTCTTCATCTA
+TACACATTTTTTCCGTCAAACAGTGAGGCTGGCCA
+CATTTCAACGGCATTAACCATACGTTTTGACCNGT
+GATAAATAGCGGAGGCTTACCTGCAGGTGGTGTGA
+TTCAGTGTATTGTTTAGATAATAGGATTTTNTANT
+TTGCGCGTGAAATTCAGCACTTCATTGCGGAACTT
+AAGCTTTCCAGCCGCGCTTCATCTTTCGGCCTACN
+CGGCGTAAACGCCTTATCCGGCCTACGGTAAGCCA
+ACCCGCACTCAGGCCAACCTGGTCGCTCTGCTCAG
+ATCTGCTTATTCTCCGGCATCTTTAGTGGACTGAT
+CCAGTACTGCCCACATCAGCGCGGCTCNTTCCNCG
+ACGGAATTATCGCCTTTACGCTAATCGCTGCACTG
+TCGCCAGAAAGTACGTTGATAGCGTCATNCGGGGT
+TCATATTGGCTGCTTTAGCTTCCATGAAACCAAAA
+CTGCTAACCCTGTGACCTGCAATACTGTTTTGCGG
+GTTCGAAAAAGATCCGCAGACTGAAGCGATCGTNG
+GGNNNNNNNNNNNNNNTNNNNNNNNNNNNNNNNCN
+CGCGACTGGGTTTTGAAAAAGAAGGCTATGCGTCG
+TCCAAAGCGGCTGATGACGATACCTTCATCAGGCT
+AGTTTGTTTTCGCGGATTAAGGAACTGAAGACCGA
+AGGACAGGCATAAACTGGTTGTAGAGTATAAGGAT
+AAGAGCTTGGCGTTTGTACGGCTAAGTCATAANAA
+GCAATGACCGCTTTAGTAAATACTCGTGACCTCAA
+GCCTTCTTTCACTGCATAGTCCAGTTTCAGCCCAA
+TTAAGAAACGGATGCGTTTCTTATCGTNANAAAGA
+GGGTTTACGCCTGTTGAGNNAAGGGCTCTANNNTT
+GCTACCGTCATCGTTTAAACCTGGTGATAACAACG
+CCTGTACGGCAGCAACGCCGGACTCGAAATGACCA
+GGGGAACGGCAAATATTGCCGACACAGACAAGNCC
+ACGACGCAACCAGGCCTCGCTACAGGGGATCGTGG
+ACCGCATGCAGCACCAGCGGCGGCAGCGAGAACTG
+AATGTCTTACTGTCAGGATTAATTAAACGGAGCTC
+CACTGAGCTACATGCTGGCGAACAACTTTATGAGA
+AGTAACGGACTGTTCAGCGAAGCCGATCTCAACCG
+TAAAAATCCGGATGTGCTCTCCGTGGGAGAGGGGA
+TACCGCAAAGCGAATAGGTTAATTAGCAAANNCCA
+GACCTTGGTTTTGCTTTCAAGNANNNATGTNNCAG
+GCTTTGCCGCTGCCAAATTTGCGCCACNCTGNATN
+GCCTTTGCCGTCATTAGCGATGTTATTGTGAAATG
+ATGACGCTCGCAGAAGCCGAAGGCTTGTTCCGTAA
+GAGCAATGCCTGAGTGTACGGGTGGCGCGGGTTGN
+CGCGATGATTTAACNGAGNTTGTNTCTCGACCAAN
+GGCCCTGTGGATTGGGCGCACGCTGGACATNGAGC
+ACAGAGGAACGGATCATATGNACAGCGGAACNACA
+AGCAGGTCATGATGCGGGAAGACGGCGCATGGCTT
+ATAATGAGAAAGTTTGCCAAAACAGCCATTGCCGA
+GCATGTTATCTGGCGGTTCCTGTGGATCTAGTNNG
+ACCAACGATTGACATCGACACGGTGGACATCGCCG
+GCTGAAAAGGTGCGTACGGCAGCAAAGGCNAGCCT
+TACCGCCAACTTCATAACCACGCGCTTTCGACATG
+TGGCTAATTATTCAGGTGGTTTTTGAGGGTGTTTT
+CGCGTCGCAGACAGACTGGCAATCTGTTTTGGTAT
+AGGCTTTATGGACGAAGCCATCAGCGTATATNTGG
+CCTCTTCCGGCCTGATAGCTGGCTACCAGTTTCTC
+CGCGCCGTTATGATTTGCNCCTNACTTTATCTANG
+TCAATTTTATGTCCATGGCAGGGAAGGATACTTGT
+CGGCAGATTTTTCTTTGGCTAATGCAGCAAAATCC
+GTGAGTTGATGGAACTCATACCAGCGATCGATAAC
+ANNCNNNNNNNNNNNNNNNNNNNANNNNNNNTNNN
+GATAAAGTCCACGCCCGTTTCGGCAAATTCGCGCA
+TTACAGTAACAAACCGTATTGTGTAATTATTTCTC
+CGCAACGGCGAAAACCCCAACCGTTTACAGCACTA
+ATACATGATGTAGCGGGTACGAATTGANACAANTT
+GCCATTTTACTTTTTATCGCCGCTGGCGGTGCAAT
+CGGTCATCTTAATTACAGACATGGTGAATCCTCTC
+TGAATGATAACTCCATAAAGCCAATGCATTTTAAC
+TCAAGNNNGCNNNNNNNNNNNNNNNNNNNNNNNNN
+GTTGCAGGGCGTTGCGGGTCGTTTTCTCTACCGAA
+CTGACCTGGCAGATATTGCATTTCTACTGCCTTCG
+TTAATCGCCAATAATCTCTCATTAAAAGAGTTTGC
+GGTAATATGAATGTTTTTATGGCCGTACTGGGAAT
+AACCGATCACTTTGTTTTTGTTCGGGAATGAGGCT
+AGCCTTATCCTCTCGCGTGATGGCACAAAAGCCTN
+TCGGCGTGCTGGAACAGCAATCAGATCTAAAAGGG
+GAGCATGCGCTGACGACCCAGAACACTGACGAATA
+CAGAAACGCATAGATACCGTCAGCGTCGCTATGCC
+TTGCGAATCAGTGGCATACGTGTAGTGCCACCCAC
+AACATTCCGGTCGATGGTATAGACATGGGCAGTAA
+GTTTATTCTCGGCGTGCCGTATCGCGGGTCGCTGC
+GGCTGAAGAACCAAAACCGATATCCGCATCCACCA
+CGCGCCGGTTGCCAGCTTAATCCCCAGGCCCGNTA
+GTTTACGTTTATTAAATAGCAGCCCTTGTAATGCC
+TGAACCCTGAACGGCATGAATGCGACGAATAAGAT
+GCATTGCAGGCATCAAGATAATCATTAAACGTATT
+AAGCCGACATACAAATATCCGACATCAGTCACAAA
+GGAGTCAGTTCCCCGTCATCTTAGGTATCACTTTC
+CCGCCCACCAACTTTGCGGCATGGCAACCAGNCTG
+GCGTCCGGGGAAGTTAAAGCGCGTCACCAGCCAGG
+CGCTGCGCCGCCTGCGCCCGCAATAATCACCTGAT
+TCTACCAGCACCTGCTTGAACGCACCGCCACCACC
+TTTTTCCCTCGCACGGTTGCGCCATTATACCGGTA
+ATCACGGGTAGGAGCCACCTTATGAGTCAGAACAG
+CGGCACCGAGGGGGCACTGGATTCTCTACGCGTGC
+ACCGTCAGTATACCGCCAAAGCGGCTGTNNNGGCG
+GCAAAAAATTGTTATTGNCGGAGAAATCACCGAAG
+CGACAGGCTCATCCCCGGGTACCCAATCAGTCATA
+GGTTACCCTTGCGCGTCATAACTTGGAAAAAGAAN
+ATGTGGATATTATCGTTGGTACTTTCAGTAAAGNC
+CATGGTCTCAGCAATAAATTTCTTGTCAGCAAGTT
+GACGTGCGTTTTGTGACCGACTTGAGCCAGCCGGT
+TTGCCATCAGAACCGAACAGTTCAATGTTATCGTA
+GGCTGCAACCTGCGGTACTGTTCATGGTGACATCT
+GGCGAGGAGTGAGTGTGAAAGCGAAGAAGCAGGAA
+TCAAAGCGCTCAATAACGCAACCTTTAGTAAAGAT
+TCAAGCCCGATGTCTCCTGTCAGCGCACCTAATAC
+TATGAAAACTTTTCACTGGAGTGGCAGTCCGCCAT
+CCCACAATCCTTAACTCAACGCAGTACNCNGAGCC
+TCCCGTCAACGTAACCGACCTGGAGATCGAATACC
+GCGTACCATCTGCGACGAGCTGGGCGTTCTTGGCA
+GGGCAAGCGTAATGCCATCCGGGGAGTTAACNCTA
+TTGTTTAACACTTTGCGTAACGTACACTGGGANCG
+TCTGCTGAACAATAGCGATCTTTTCCTGTGTAGTA
+GTGAAATAGTAGATTATCTCCTGCCCTTCTNCTGC
+TCTTCCCCTGATTTGGCGTTGACGACGCTGCTGCT
+TGGCGCAATATTCATTCTTANAANTGNANAAATCN
+TGCCAAGTAAGTGACTTCAAAACCTTCGCGCTCNT
+TGGAAAACTCTTTCGCGTCACCACCTTCGGCGAAT
+GGTACGAAATAATGTCTGGCGTGCATTTTCTAACC
+AGGGTGACATAAGCACCATCACGAGCAACGATCTG
+TGCGCGGNNNNNNNNNNNNNNNNNNNNNNTNNNTN
+GTGAGCTTCCTGCATCTGCCGGTACAGANNGNNNN
+TACGGTACGCTGATGGCGCTGGCGCTGTATACCAT
+GAGGATTGCTGCAATCTGCCAGTCAGCCAATTTCC
+CGGAGCGACCCAGGCCGGGATTTACGATTTCATCG
+TTNNNNNNNNNNNNNNCNNCNNNNANTNNNANNCN
+AGCGGCGCATCGGCGATTGTTATCGTGTCTAACTT
+GCGCCAGCAACAATTCACCCGCAGAGGAAGCGNNT
+TTACGATGAAAAAATTGCAACTACGCCCGACGGTA
+CTGTGGTGACCAGTCGGTTTGTGGGAAATTGCCAT
+TGCGTCTTATCAGTTCGCTAATGTGATGGATATGG
+TGACCCCGTTTGGCGACAGCGATTATGCTGTTGCA
+TTATTCTCCGCCTGAATGTTATCTACGCATGAATG
+GTGGCAAACCCATCCGGATCAAAGTGAACATCAGG
+GATCGCCCTTCAACCAGATGTCATACAGGTTTTTA
+ATACCGGCGTTTCTCCGGTCTTCGCTGGCGGTGTT
+GTAGTGAGGACGAAAAGAAGAATATAATAAATAAC
+CAGCTCTTTAATCTGATTGGTCAAAGTATTTACTT
+GCAGTGCGACAGATTCTCCGCGTTTNACGCCTTGC
+TCTTCTACATTTCTTTAGTCCCGGCGATAGTACAT
+GATACTCCTGAAGTAGTCGGGTATCGACACCACNT
+ATCCCGGCGAGTCTTTNGNGTTGTAATGAGCGGAT
+TGNNNNNGNNNNNNNNTNNNNNNNNNNNNNNNNNN
+AACATGGTCAGAATGTCCTTTGTGAGATTTATGAA
+CGCCCGCCAGCGGTGCCGAAGGGGTAGAAACGTTG
+GTCGGTTGCTCCACATTTTTGATTGGNTTCTNNNC
+GACCAGATACTCCACATTTTTGCGGGAGACCCTGC
+GCGTGGGCCGCACCTTCNTCTCAGCATNAGNGCGA
+AATTTTCATTATTTTTGGTTTTCCCAAAATGATGG
+AGCGGTGTCCAGGCGCGGTTCGCGTCAAGACGCAA
+AAACGGCCGTCAAACTGGACGGCGTTAATCGCGTC
+AACGACAATGGTCGCTACGCCGTTANCGGGCTTNT
+CAGGAGAAAGCATCAGCACCGGATTGCTCATCGTC
+CGACTTACTGTAAGGCATGTGCGAACGGTTTGCCG
+AGCGAAAAATTTGAAAGGCGCATCTTACTCTTTTC
+GCGGTGCTGGTGGCCTCGATTCCGCAATTTGTGCT
+TTAGGCTGTTCCGTCGCTGAAATTGAATGTAGCNN
+ATACATAAACTATACGAATAGGTTCCAGTTTTATA
+TTATGATTAACGACAGTGACACTGCCTGAGAGTTG
+AGATTTCGCCGAGATGTCGCTGATTGGTATCANTC
+GAAAAAGCACTCGATGCGTACTACGCGCCGCAGCA
+TTTGCGTTTAGGGTTTGCGCCAAAGTATGAGCCCC
+TCGCTGGAGTTGGGCGTTATCATCGAACGTGACAN
+GCGTGCCTGACTTCTCTGGGCTCCTGGATGATGTT
+GCGAAGAACTGGGAGAACAGCTGCTTTTGACAGAA
+GTTCTTCCGCCAGATAACGCTCATGCTCAGAAGAG
+GGCGCACGTACGCTTGATGCACCGCGTGAACGTCT
+CCAGACACCGTTCCTTTTTTCCGACACCGTAGCGA
+GAAGAAGATTACACGCGCCAGACGCGCGGCATGTA
+GACAAAATTAAACAGGACAAGACAAATCTGACCAG
+ATCCTGACATTCTTATTTCACCCAAAGAAGTTANN
+GATGAGTCATCAGGGGGNTGGTTGTGNGGACTTGT
+ATTATTGTTTAATCGCCAGCAAAAATAACTGTTAA
+GCCGGATTTGCGTGAGCGTTATCCGCATCAGCTTT
+ATCTTCTCTCATCCGCCAAAACANCTTCGGCGTTG
+ANNNNNNNNNNNNNNNNNNNNNNNTNNNNTNGNNN
+ACCAACACCGGACTGGCGATAATCCCCATATGTGC
+AGCAACTTGTTTTTTNNNNNCNNNNNCNANNNNNN
+CTTACGCGCTAAGCCTGTTTGATGGCGACGGCATG
+TGTCAGGCGATGACCGCACGGATAATCAGCGATAT
+CGGTCATGTAATAACTAAAAGAGATGAAATCTCCG
+CGGCGAGAAAAACAAATACGGAGAAGAAGGCGGGG
+CATCCGGCGCGGGTTGGCCTGACCTGCCAGCTGGC
+AATTTGGCGCGTTGCTGATCATCGATGAAGTGATG
+AGCAGATTCGGATTGCCGCGTACGACACCAGCGAA
+ATGGCGGAGGCGAAAAAACGTCTGGCGCTGAANNG
+CAAGTGACCTGGTCTTTTTCAAAACGGGTCCGTGA
+GCTGCGCGCGAACGTTCTTTTCCAGCTGTCCCGAT
+GTTCGTTTTTATTTTTTGCACCGTTTTGCTGTTCC
+AAAAGTGAAGCCGAAAAACGCGTAATNAGGNCAAA
+GTTGAAGAAATTATGCATGGCAGTCTCCTTTCGTT
+ACCAATGCCTGGGCCCCCTGGCAGGATTCTTTGAT
+CGACGTTACATATGTTGTAACTATAAATGTACTTA
+CTGCTTGGTCCGGTGTAGANNCNGGCAGNTNNNAN
+GTCGCCATGAACCATAACCAGCGATGTTTTCNNGA
+GACAGTGAAACCAGATGTGCGCCGGCTANTNNTCT
+CCGTGGCGATTGGCGATGGAGCCAATGACCTANCN
+CGTGACAATAGTTAACATNGTCATCGCTACAATTT
+GACACGGTCGGGTCGCACTGCACCCTTGCGACGAT
+GTCAGAGCCGCAGATAACCAGGAGACACTCCAACA
+CGTCGCAGCCCGCTACGTCAGCAAAGGTCGAANCT
+GCGGTGAAGTGCCTCTGGATGTTGGCCCGCAAGGA
+GTTCTCGGGCAAGCGATTTGATAGATTTTTCCTGC
+AGCTACGTTCCCGGGCGCATGGTCCGCGCATCTGC
+GGCCCGATGGTTATATCCATCGCACCATCGGTGGT
+CACAGGCCGCTCCACAGCCTGTTAAAGTCAACTGC
+TGATTTTTATGCTGCGCCAGCAACTGGATTTTCTA
+GCAAGGTTTTCCCTGAGCAAATTTGCCAGACAGAG
+CGAAGGTCAACGACAATTGGTATAAACNTANCAAN
+GGATGTAGGCTGAGCCTGGCAAATTCATACGATGC
+CGGTTTAACCCATATCTCCTTGNCGATTCTCTTAA
+TTCATAGCCCCTACGGTATGGGAAGATGCTGGCGN
+GTCAAGAATTGCCAGCGTCAGCGGCAGTAAAATGC
+TGGATGGTCGAGGTTTGTCCGGTTTTACGATCTGT
+GGTGGCTAATACGCCTGCAGAGATGCTTGTANANN
+ATAGGCAATAAAGTTTTCAGANTGACCCAGAATCG
+ACACCCAGCGGGCTGTTGTCTTCTTCATAGCGGAT
+GTACCGCTAAATTAGTTAAATCAAAAGCGCGCTAA
+TACGGTGGCACATGAGAATCATCATCCAGTATCAA
+GATACCATTCAAAATCAGAACAGCGGCACGGTGGA
+GGCTTTCTCGAAGCAGACGAAGGCTGGATGCACAA
+GGGACCAAGACAGAGTGTATGCGGTGACTTGCAGG
+CGGGATAGTGATCCTCGCCATTATCCTCGACCGCC
+ACGCTATCGATAAGAATAAAAAGGAATAAAAGTGG
+TCCCACTGAATCAGGCTGTTAATCATAAATAAGAC
+ACAAACTGCACATAGCGCTGGATGGCATTATGAAA
+GCCATGATGACGCTGGCGCTGGCGGTTTTGGGGTA
+GCTGCAACCGCTTGTNNNNNNNNTNNCNNNNNNNN
+TCTAAACAGATAGGCTTTTACGGTTTCCCCGTTGC
+CATCTCGACGACTGAAGGCACCGCTGCATAGGCAC
+GTAGATGACACTCACGCATACAGTATCGCCTGTTG
+GAACAGGTGGCGTTAAATGCCTGGAAAGAGGAGCT
+CGATGCAGGCGCCTCTTATCCGGTCTACGGATTAG
+TCTTCTTTCGGTGGTGCCACTTCGCCGATACGTAA
+ACCTGTCCCCGATACTTGATGAGTTTAANGGGGAA
+AGATCGGTCCAATGTCGACCATGNCTCTNATNATT
+TACGGCGAATACCAGACTTTTTAATAANATTAGNC
+CACCATCGTCGGCGGGCATACCAACATTGTGCATA
+TGAAAGATGTGATGCGCTTTAACGAGCCGGCAAAC
+AACAGCGCGTCAGTATCGCGCGGGCATTGACNTCN
+AGCAGCATCAGGATGAGCATATCCGGCAGCTTCTG
+CACATTGGCCCCTGCCCAACCGCATGGCGGCCTTT
+CGGTTATCTCTGGCCCAAGGTTTGCGAAAGAACTG
+TGCCAATGACCTGCGCTTATCGGTTGCCTTGTGGG
+CTATTTTCGACAGCGTCAGNCAANNCTNCTCTCCC
+CAGTGAATTTGTCATGCCAGCCGATGCGGTGATTA
+AACGCGCCGCCGCTCATCGTCTAACGAGTCCTTTA
+TACATCGGTGCCTACACTGCACTNCCTGATGTNTT
+GCCGTGGTGGCGTTTCTGNTTTCACTAACANTTTA
+GATGGTCATATGAGCGGGGATCTTCTTCGCCAATT
+ATTGCGAAGTAATGCGTAAAATGCCGGATGCGGCG
+CAGGAACTGCCAGGGATGTCGCTGCGTGAGCTGTT
+TAAATTCAGCATCATGAGGAAAAGAGATCAAACAA
+ATGATGTCTACACGCCCCACCACATCGCAGATTNT
+TACACGCCGCTAAAACGCTGGGCGCTAACGCAATA
+TCAGGCGCGGGGTGGAGCAGCCTGGTAGCTCGTCG
+GGTGACGCTGGCTAGCCAGAAACGGATCTGGCGAC
+GGCTTGATAAACCTCGTCTCCAGATATTCATCAGT
+CAGACCCACGTGATGATCGTAAAGATGAATACGGA
+CGCGCACTCAGTATGGATGCGGTACAATAAGCCAA
+TGAGCATAACCCTGTGGATCGCGACGCAAACTATC
+TGCGGTGTTAGTAGTGCCGCTCGGTACCAGTGCAC
+TACCTATAATGGTATCTTTCTTTATGATGCTATTA
+GGCTGATAAAGCGCAGGTTGTACCATCCAANTTAA
+TACACCACTGTGGCGGAACGTATCCGGTTTTCCCG
+TACCACTTTTGCACTGCGTAATATCTCCTTTCGTN
+GACGGCNNNNNNCNNNNNNNNNNNNNNNNNNNNNN
+ACCGTAACTGCCCCAGGACGCACTATTGCTGATGC
+TGGCGGACGCGGACTAGATCCCTAATTATTGTGTG
+CTCCAGCGCATTACCCGCATCAGAGATAAGCGGTA
+GTTGTCTGCCCTGGGGGTTTTATCTACACTNAATN
+AAGAGTCACCGTAAAATCAACGCCATGACACTTCA
+AAACCGTAGGCCTGATAAGACGCGCACGCATCGCA
+TGCTGACCTGCCTGAACGAAGGTCAGAAGTTAATT
+TGCACAAATTCTGTCGCTGGCGCTGCTGCTGCGTT
+TATAAACCGTTTGATAAAGTTCGCGGTCTGCATTC
+ATTACATGCGGCCATTCACCGTATTGAGTGGTTGT
+ACTTATCATTATAAATGACGGGAGATTTTTTCTCG
+TTTATGACGAAGCACACACATTTTAAGTTCGGTAT
+TCAATCTCTTGCTGGGTGGCATTCGGGCAACCCAA
+CGCCCTCATTCAGTAAAAACTGATGCATGGCAATA
+TGAACAGCTTTATCGCCGCTATTAGCAATGGGCGA
+TCCCACGACTCCAGGTTGAATAATCGCGAAAGCAT
+TCAGTGTCAGATTTTCACCCAATGGAAAACGATGA
+ACCCTCCCTGACGCTCGGCGCGGCAGTGGCCGCCG
+TGCCGCTTTCATTATTTCAACATTGCCGATCCAAA
+AAAATAATCCATGACATAATGCCCACTGTTTGNTC
+CGCGGCCCAATGGGGCTGGAAGCACTGACCACTTG
+GGTGCAGGAACTGATTGACTACATCGGGCAAAACN
+GATGATTTAGCACATCCATTAAAGATCCCGCAGCT
+GATTTTGCTCCGGCTGGGCGGCTACAGCTGGCTCA
+ACTTACTGGAAGGCTTTGTTACCAGAAATTATCCG
+ANNNNNNNNNNNNNNNNNNCGNNNNNNNNNGNNNN
+GTAGCGGGTTCTCAATGTCGTCCGCTANTNCATCA
+CCAGCACGCGCAGGCGAGCGGCGACGGTTTGCGCA
+TCGCCGTATTGAACAAGCGTCGGCGCGTGAAATTG
+AGAATGATTACTTTATTGGTAGTAACATTTCTGCN
+AACGCTACGCCGAAGAAGGTGCAGATGAACTNTAN
+GGTGGTCACTGACAGCCTGTGCCTCTCTTCCTGGA
+GTCATCCATAGATTTGACTTTCAGGTTGACGTACA
+TGATTTCCCGGATGAAGAGATCGATTTCCTCTCCG
+CGTTATCCACCGCGGCGAGGAAGAGGTGCGNCCGA
+ATAGGAACCCTTTACCCGACCTTCTGGATGCTAAA
+CGCCGCCGGGTCAGCGGGGTTCTCCTGATGTNTNC
+GAGCCAGGTACCTTTATGACCCAGGATGTCAACAT
+GCCTGCCAGCGCCATATAGCGTTGTAATAATNACG
+CGGCCTGAAGTCTCCTGTGCGCCTGAAGGCACATC
+GGATCTGACATTTTTGCAGTTGCAACTCGACGGGC
+TTCCCATTGCATCATGGAGGTAATCACGGAAGAAT
+TGCTTTCGGCAGCCTGTGCATTATGTCGGAAGGTC
+AGATTCCTGACCTTTGAGCATACCACGACGACGGC
+AANCNNNNNNNNNNNNNNNCNNNNNNNNNNNNNTN
+CATAGCGGAGTTATCAAACCCCAGGACATCCAGTG
+GACGCCGCTGAACTTAAGCTACCGTTGCCNGANAC
+TCGTCAATAACAAGTTCACCAATGTACAAACCGTA
+AATGCCGCAAGCTGACGTAAGCATTCTCCGGAATG
+GCNNNNNNNNNNGNNNTNNANNNNNNNNNNNNNNN
+ATAGATTGGTGTATCCACGCNAAANCGCTNCTTTC
+GAGTAAGATTTGCCGTCACTGATTTGAAACGGCGG
+GATATTCCTAAGCCAGTGGGCAGCATAACTGACAG
+CCTCGCGCTCTACGGTGAAGNGCGTTNNGTTCCNG
+ACAGAGATGGAAATATCACAATGATTAATAACATA
+TACGATAACAATCATTTATCGACAAATCGTGCGGA
+ACGTAAACCCGAATCCATCTTCGACTACCGTTTCT
+GCATCACCTCCGGTCCTTTGACACAAAGCTCACCT
+ATTTATTGATGGTGAATATTAATGTTTTGTGACCT
+TGCAGGAGGCAGTTAGCTATCGTGCGATTGACCGT
+AAATGACATTAATCCAGCGCTCCCACCAGGACGTC
+CATTGGCTTCCGTGTGCACATTATGATCGACGCCC
+AGTACCAGCGGGTAATGTTTGTTCNTNANNCTGNA
+GCATTTGCCTATACGTTAGCAATTCTTTACTACGA
+TCGGCTGGCATATCCGGGTTCTTTTCTGCCACCAT
+AGCACCAGATTCGCCGGAATATCGCCGTCAACCGC
+TACCTCGTACAGCGCCCCCTCTACCTGGTCAATCA
+GAGCTTGCGCCCATCAGCGCGANNAGNTNACTGCN
+CGCCGGTGGGCGTTTCAATCATCTTCATNAACTAA
+TGTGCTTTGCTGGCATGAGGATGAACACGCGACGG
+TACCAACCCCTGCCGTTATTACTGGGGCGACATTA
+GGTTCTTCCGCCAGTAGTGCGGCAAAAAGGATAGG
+ACATTTCCATACCNNGTCCTGNGTCACNTNATATT
+GTAAATGCGTTTTGAGTTGGGAAAGGCGGAGCATA
+TATTGTTCACCCGATTTCAGTAGNNACGNNTATAG
+CAAATGTCAGCATTTTGNANAANGAGGNCTCNTCG
+TATCCTGACCGAAGAATTTGCTGGTTTCTTCCCGC
+TGCGCATTAATATACTTCTGGGTTCCTTCCAGTTG
+GCAGATAGTCAACCACCATCCAGTCACGGTAANAN
+TGTCTTCATTCAAAACGTCTTTGATTTTCTGATAG
+TTGTTTGATACCCACATTCAGCCGAATGGCGCGNT
+ACGCACTTTACTTCTCTCGCGCCACCATTCCGTGG
+GTCGTTTATTGAGCTGGAAGAGAATGTGNNAATTT
+CTGAAACAGCTAAGTACCCCGAGGAAAAGAAATCA
+GGGCGTTGGCGCTCGGCCGTGGCCTGAATCTGGCT
+AGTGTGGCAAAGTTGCTCGTCCCGGCTGTCCCCAC
+CTGGCAAGTGGTTTTTGTTGAGCAGAATCTGCCGG
+CCCCANNNNNANGNTNNTNNNNNNNNNNNNNNNNN
+CCGAAACTGCGCCCGGCATTCCCGCCGAAGATTCG
+AGACATTCCAGATTGTTCCATCGCTAGGTTTAAGC
+GCATAGGGGAAGTAGCNCCCGAAANCTCGCAACAG
+ATTTAATNNNNNNNNNNNTNNNNNNNNNNNNNNNN
+TAACCACGGTATCGATATGCGAACCGCTCAGAACC
+CACCGGCACGCTCAAATCCTCACTAAAATCGCGCA
+TGAGCGCTCTGTTCCTGCAACAAGGCATCGAACTG
+TCGCGTCAGCGTTTTCTCCAGTCGCGCTTCATCAA
+CGCGGTCATCCTGCTGATACATGCCGTGGAAGNGG
+CAACCATAGCACCAAAACCATTGGTGTTTATTNCG
+AAGTTGGTGGATATTTTAATAACCTGCGGGCGGCA
+CGAAAAGCTGGGGATGGCAAAACGCGTTAAACCGA
+TGACATCCTGACGTACGACCTGAATAGTGTCGATA
+TGTAGCGAAATACTCACGCCGTCACTGCGCGAAGC
+TGCACTTACAGGCCTGATAAGACGCGTTAANNTAG
+CGTTCAGGGGCATTCGACTTCGCAGGTCGCCATTG
+GCGGCCACGGTCCAACAGACGACNTCCNNATANCA
+GCAACTGACTGGTAATGGTTAACAGGTCGCTTAAA
+AGATGTGCTGAACGTCGCCACTCCGGCAATTAATA
+CCAGCAATAGCAGTGAAACCAGGACCACAAAGAAG
+TGTTTGCCCACTGGACGGTGTACTGTNNCGTNNGG
+GCATGATAATCAGCGCAATAATCAAACGAGCTGAC
+GACCACCCACATTAACGGACAGGTTTTGCGTCTTA
+TCTGCTTCGCCCTTATCTTTGCCGNCNTCTATCCA
+GGTCATTATTCTCTGCGGTATCCGTTAATGGNCNG
+TCAGTGGCATACGTGTAGTGCCACCCACAAGAAGC
+AATCAGAGAATGAAGGTTACCAAAGTCGATCATGC
+AGCACGAAAGCGGGTACCTGATCGGCGGCAAGATA
+AACCATACACCCTGACTATTGTTACTATAGTTGGT
+CGCGACTGCGCCGTCTGGTTACGCAATAAAAAAAT
+GCGCCGTTGATTGCTCGCCAGCTACTGCGTGAACA
+GCTGGTCGATGGCTTCAGTTTCCCGGCCATTACAC
+GCGAAATCACAGAAATGGCGGCATCGGGTGGTAAG
+CTGTGGTTAGTCAGCTCTTTCGCCAGCGCCATCGC
+CACGGTGTTCAATATGACCAGTACATGCAGTTAAC
+CCAGCGCCACGGTGACAGTCACAGCAACTGATGCA
+GTATCCGGCAAACCATACTTACATCAACAACGAAT
+GAACAGGCGATGCAGGATGCAGGCCTGGTGCCGTG
+CTACTTACGCGGTGAAGTGGAGCTGGTTCGTCTGC
+CCGGACTATGCGCCGCCGCTGGCGAATGTCGCCAC
+TCACAGACCCTGACCAACAGCGGTCTGTTGCAGGG
+AGNNTNNNNNNTNCNNTNNNNCNNNNNNNNNNNNN
+CTCGACTCCTTATCGAAACAAAAAATTAGCGTCAT
+CACCGCGAATAAACTGCTGATGCTGGGCAAGAAAT
+ATACCAGTGCCGGCACTTGTGCCNNNCCNNCATCT
+TCTGGAAACGGTTCTGGAAGCCTGGGACCGCAACN
+TTCCAGGGGGCGGTTAGCCGCATTGGGGGGGCTAG
+CGTCTGCTGGCTGGTCATATTTTACCATTGTGCCT
+AACGTCTGCGCATGAGCCGCCAAAAGCAGCGTTAT
+GAGCGATCCCGGCTGGGATCGAGGCGAACAAAAGG
+TACCGGGGCGGAGAAACGCCCGTGACGCAGGANNT
+CGAGCAGCCTCATGCTCCTGGGCGTTAGCCGTNTN
+TGAAAAATTCTCGTAACTCAGGGTCAAGGTTCCCC
+TCTCTACACCTGCTCTNCACCTGNGGTTTNNTGGG
+CAAAGCCCAGGCCACCNNCNGATTTGANCTTCTCN
+GCGTTTCACTTCAATCACGATGCGCATACNNCGCN
+AATGCCGGAGGTTAATGTTAATGAATCCCTGGCGT
+CACCATAGGCCCCCACCATTTCACTTTGCGGATAA
+ATAGTGGCTTTGATTATTGATTTTGGCTTTACTTA
+CCATCAGGTTGGGAACCACCAGGCTGGCGAACCNN
+GGTNNNNNNNNNNNGNNNCNNNNNNNNNNNGNNNN
+TTTGTGCATCCAACCGCCATTGTGGAAGAGGGCGC
+GGCTCCGTTTTCAAAAATTCCTGTAACGAGCGATA
+TTCTCCCGGAGCCACAGACAAATTCAGACCACTGT
+CCCGGATGAAGGGGAAAAGTTCGCCGGTGCTGCCG
+GCAGCAGCCGCTGGTACAAAAGCGAAGTGGAGNCN
+CCGTACAAGGGCCGAATGCGGAGGCAAAAGCTGCC
+TTGTGGGTTGCTGCACTGACCGTCATGGCAATGGA
+CGAGGAGATTTGGAGGATGGTTGAGAGGATTGCTG
+TCATTTCTACGGCAAAACTCTTTCAACTTTCTCAC
+AGCAACTGGTCGCCGATCTGTAGNNTTANTTCACG
+TTCTGTGGTTGATCGGTGAAGCGATCTTCCNCAAG
+AACAAGCTGCACAAAGCACACTACGTTCTGGTGAA
+GTGATCCACCCACGGTACGTTAGGCAGCGCCTTTA
+GGCTGATCCAACCCCAGCTGCTGACGCACCAGTTC
+GCCGCTGACCCTGCTCTACTCAGCAAAAAACTCNG
+AACGCCCGCTGGCAGGAGGCCTGTCGTCTGCTTTC
+CCAGAGAGGCCGCCCATAGCACCACGCCGATCACT
+AATGATTTAGGTGCAATGTATTATATTGGCGAGAT
+TAATTCGCCAGCACCGTGGCGTTATCAACTAACAT
+GGTGGTGAAGCGTTAGAGTATAAGCAGATAGCTTG
+GTTTCTGGCTGGCCGGAGCAAGGCGTTCAGGGCAG
+CACAGCGGGAGATAACGCTANGATCGGTTCAGACA
+CACCGCTTTGTTGACCGCCTTTTTTACCTGCTTCG
+GTCTGCACCATGCGGTCATGCCCGCCGGGCTCCAT
+ACAGACAAATAATGTACCGACCGGGCANNGANTNT
+GAGTATAACAAAAGGGACAGGCATCAAGGGATTTT
+TTTATCAATGGAATCCACTGGCTNGCGCATATAAT
+CGGCCTCTTCAATGATGGTTTCTTCCGGCTCGACC
+GGCGAGCTGGATGTGAGCGGTGGCGGTCACGGGAT
+ATCAACGGTTCTGTTGNNCNNNNNNNNNNCNNNNN
+AATGTAGGGGGTAGAGAGNATTTTACNACGTCANC
+GATTTCATAAAAACTCCTGATTGTTAAGGGGGATA
+TACAGCGCATCCCAGCAGCCGTTGTATANCTNCAG
+GNNNNNNNNNNNTNNNNNNNNNNNNNNNNGNNNNN
+ACCGGAGCCGTGCAGCCGGGGAGNCGGGTCATGTA
+CAGTATGGCGCATTATTAGGTGGTAAGCGCCTGCN
+CCCGATGCATCCGTAGCTCAGCTGGATAGAGTAGT
+GCCGCTGCGCGATCGCGTACTGGGTCGTGTAACTG
+GTTTCACTTGCCGCTTCTGAAACCAGTACGGTTTT
+TCAGCCGCAAAGTCACCCGCAGCGGCACGCGCATC
+CCTGGACGCGCAAAAGACGGTCGTTACCGCGGTCA
+ATTATTTTTTTGAGCCAGAACGGATTCCTGAAAGA
+CATGCTGCTGATAATCTGACCTTTAAAGGAAAACT
+ACGGCAGTGAGGGGGCAGATCTGCTTGATTNCATG
+TGGCATCAGCGTTATAACTTTGCGTCATGGTTTAA
+ACTTTGTTTTGTCAACGAGTCTGACTGCCAACACT
+TCGCGCCGTTCAGGGGCATTCGACTTCGCAGGTCG
+TTACGCGGCCTGACCAACAAACTGGATTATCTCTA
+CGTCACACCGTATACGTCCACTTTCGTGTTTGCAC
+GAACTACGCCAGGATTNTTNNNNNNNNNNTNNNNN
+GAACGCCTGTATCGACAAGGGCGCGGTAATATTNN
+TTGCGCGCAGCGACGAGCTGGCGCAATACGGNCCG
+GAAACTGACCCTGGCAGGATGTGAAGAGCGAAATG
+TCAGGCCCACCGCCGTTAAGCGTCCATCATCATCA
+TGCGCCCAGCCGCCCCCGCTNTAGGTAAGTCTCNG
+TCCAGCTGTTATCGTCATTACGCTTTAAGGCGCGG
+TCAAGCGATGCGCCAAGTTTTAACTGAATATAAGG
+ATTACGAGATTTTGTAGTGACTGATGTTTGCCCTT
+CATGAGAAGAAAAGAGGATTGTGGCATTAAGTGCT
+AAGGTCACTTCGTTGTAACCCATGCGGGTTTGCTC
+GAAGGTATCAGTGTAGCGTCCTCAAAGAGCTTGCG
+ATACCTTTCTGATATTTGTTATCGCCGATCCGTCT
+GCAAAGGGCTACAGGCCACCGTACCATGGGCAGNC
+CCATGCTGGCACTGACGATTTTCATTCGGCTTNCN
+CAATTGCCCCAAGCGACGAATAGCCGCCTGTTCCG
+TCGGAATCCCTAGGTAATACGTGGATCAGAATGCC
+CCAGCTCCTGATGCAGAGCTCNCCTCCCGTNTTAC
+TTGACAAGGGTATTTTTTAAGCTATGAATCAGCGC
+TAGTTTTGCTGGCGATTATTATTTTCCAGGACCCA
+ATCACCGCGTGGAAAGAACATGCGGTAGAAGCGTT
+CCNNNNNNANNNNNNNNNNGNNNNNNNNNNNGGNN
+GTTCGTTTAACCACGGTTCGATGGCTAACGTTTAG
+TGTCGATTTCGCGTCGTTGCGCCATCAGCANNNNN
+CGGCTATGGCGATTCCAGCAAACTTTTTGCGCGCC
+ATCTGCGAGGGTCTATGGTGAACCAGAGATAATTC
+ATTAACGACAGAAGAACAAACTGCTTTAAATCAAC
+GAATTTGCAAATAAATAAGTGTCGTCATATTTCCC
+CCGAACGTGGNAAAGTCNGNTTTNATNCTGCTNNG
+AGCAAAATGCAGGTCGGCGCAGCGGCGTCGCCACG
+TGTTCAGGCCGTTGCCGCACCTTTTAATGTTACTC
+TGGAAGGGGCCCGGGGAGATAATGTCTCGNTTTAC
+AAAGAAATGCGTTCAGCAGCCAATGCTAAGTTCAT
+ATTGAAGCGGCTAAACGTTTTGGTCTGAGCGCGCA
+TTTTAACGACAAGTGGCGGGTANAGATTGAGGGAT
+GAGCCAACAGAAAACGCTGAAAAAACATCCAAAAG
+GCATAATAGCTACCCGTCNGAATNTCGGTTCTGAC
+GCAACCAACCAGGCATCCGCTTCAACTTGGCGTCG
+GGCAAGTACAGGACAGCATTAGCACAAAACTGTCT
+TNNNNNNNNNNNNNNANNNNNNNNNTNNNNNNNTN
+TTCTTCAATAAGTATCTGTTATCTTTTGATCCCNN
+TNNCNNNNNNNNNNNNNNNNNNNNNNNNTNNNNNN
+ACGAGTGCCGAGACTTATCTTTCCCGATGTTTTGG
+TTGCCGCAGGCCANNAGAACCNTGGTANANATCTN
+CCCTGCCAGCGTTGCGTGTGCTGTACTCATCCGAA
+TTAAAAAGTAACGCCATAGTCGCTAAATCTGATGA
+AACGCCGAGGCAAAGATCACCCGCCTGCCGCTGGG
+AATATTCAAAGTGACAGCGCATGGCAGCAAGCCTG
+GCCCCCCAGCAACAAATGCAGCGTGCCGTCTATAN
+CTTCCCGTGCCGAAGATACCGACCTGCAAGACGAT
+GCTCGCGGACGACGATCNGGAGGATNAGNACAATA
+GGCATCGGGTATGGCTGCGTGTTAATCCGGGGTAC
+GTGTTCTCTTTGCCGGAGGTAAAAAAAGAGGATGA
+CCTGACGCTGATGGCAATTGGCGGCGCGTTTTTCA
+CCGAACTGGTCGATGGGACGTAAAATTTCTGTCGG
+CGAAAAAGATCACAAACTTTGCCATANCATCTGTG
+AATNTNNNNNNNNNNNNNNNNGNNNTNGNNNTNNN
+TTTTGGGGAAAGTTTTGGGGCAGATTTTACATCAT
+TGCCGATACTGAATTGATGCTTGCGGATATCATCG
+TGGTGCTGATTGGTATGGTTGCTAATATCTTCCTG
+TCTACAAAGCCATCGCGAAGAAATTCTCNATTGTG
+CGTGCGNCTGTATGTCAGCGAAAACGAGCTGAAAA
+CCTGCTTATGCTGGTCCGCTCGGTACTGCTGATAA
+GCCAGAAGAACCAGTCGCGCTGTTTTTCACTTTCC
+GCAGGAACAGAGAAATAACCAGGATTATGGATGTN
+ACAGCGCCGGATACGGCGTGAATGCCTTATCCGAT
+GCTGTTGGCGCTGAAAACATCGCTACTAACCAGAT
+GCGGTAGCGGCCCTGCCGGGCTTTCGGCTATGGCG
+CATCGTGTTTATTCCCGGTGACTTCACCCGCGCGG
+CAACGAAGGGTTCTACTGGTGGATACACATACCTA
+TCAGCCCGCGCTCGTAGCCGCTCTGGTCGTCNTAC
+CAACCTCCCAGTCGACATCGTTTACGGNGTGGACT
+GCGGACACTCATCACGGGCAAGGGCCCGNTTTAAA
+GGAGGGGAAGGGGAACTGAGTCCTGACCTGACTCT
+TAAGTCATAAACCAGAATTATGTNAANGNCTNNTN
+CGGTGATGTTATATCGCGTTGATTATTGATGCTGT
+AGGCATCCGTAAGATGCTGGCGCTGAACATCAACC
+CGTAGTCGGATTCTGGCGGTGGGCCAGATGTCGGA
+GCGATACCNNNNANNNNNNNGNNNCNNNTNNNNNN
+GTAGTCGATATCAATACCGACGACTGGAATCTNNT
+AATTGTCGGCGTAATTGGCCTAACAGGTGAACCAG
+ACGACAACGGCTTTGCGTTCAACGATGCCAGCGCT
+TCTGGCCGCAGCCTGATGGACAAAGCGTTCATTAN
+GCTGTTTAAAGAGAATAGCAACTTCCGTCGTACNN
+AACCAGGGCGCGCAGGGGGGGCTTNCGCCNTCGAT
+GGTCGGACAGGTTTTCACACAAGCCGGCTCCTGGC
+ATTCCGTAATGCCATCTTATTTCGTAATGGATTGA
+CCTGCTGCTCATTGAGTACGCCTGCTGTATTACNN
+TGAACGCCTTATCCGACCTACGTTCGCCTTGTTGA
+TCAAGCTGGCGATTGATCGCTATAAAGCTAACGAG
+CATCAATTACCTGAATCGTTGCCTCTGCAACAAAC
+TGCCCTGGCGAGCGGTTTGTTGATCCNNGGAANNG
+AGGATTTCCTTATAACCATTTATATGTATTTGCGT
+GATGCCGATGCGGCGGATCTGATATGTCNTTGNTG
+TAATGCCGGTATTGAAGTTGTCGAAGCCACGGAAG
+GTACATGTGGAGTTACAGCCTATTGCCGATGAGTT
+GAATATGCAAAATAGTGCGTATTTTCAGAAGTATT
+CTGTTGTGGTTGCGCTTTGCACGTTTATTCACCGT
+AATGAACGCCTTGCTGCTGGGCAGCGTGGATGAAA
+GTCAATTCGGTCGTGCCCAGTTTTACAGGCGCAGT
+TCNNNNNNNNNNGNNNNTNNCNNANTNNTNNNNNN
+TGTTGATCCGGTTTGCATGGCGTACCCGGCACGTA
+CTGACGCCGTTGATTTCTGCGATCGGCGTGGTGGC
+TGGATACTGCGCTCCAGCGCCTGCTGGTTAGCGGN
+GCACCAGCCTCTTTCAGCGTAGCGCAGGCATTGCT
+ACAGACAAAGTATACCTGTTCGGGTCCCTNAATAT
+ACTTAGCACCCGCAATTTTACTTNTGTTGGTTGCC
+ACGCGTACAGATGACTGAATGCAGTGCCCTGGCAA
+ACGTTGCGTCTGTTCCANGACNGGANNCTTAACTG
+TCTGGTGGTCAGCGCCAGCGAGTCGCCATCGCCAG
+TCACTCAGTGGCAAACGATGGATGGACGCTCCTGC
+GGCGGCACCAGCCCCTGGTGATACAGCACGTAAGA
+CCNNNNGNNNGNNNNNNNNNNNTNAAGNNNNNNNN
+CACGCGCTGTTCTGGCTATNGGNACNNCCTGCAAC
+AGCCATCATCAAACCGTCACTNGCATTTAAAAATA
+TGGTAGTCAATAATGACGGCAAGGCGACCGATGCC
+GCATTTTTTTCGCCAGCCAGGCTTTCGCTTTGGGT
+TGGCACCTGCCGTTTGCTGTGCGACGAATCAACGC
+GGTGCGTTACTGTGGCACTTCGNCCTGATGTGGAT
+AACCAACACGCCAAGCATCGCTTCACGGCTGACTC
+TATGGTGGATCTCATTACTTACACTAATCGTCTTC
+AGGATAATGAGGCGAGCCGGGGGAACTGAAANTGG
diff --git a/reads/e_coli_10000snp.fa b/reads/e_coli_10000snp.fa
new file mode 100644 (file)
index 0000000..d7d6d13
--- /dev/null
@@ -0,0 +1,20000 @@
+>r0
+GCATCTTTTTCACAGGTTACTCCTTTTATCATTGC
+>r1
+TATGTTGGCAATATTGATGAAGATGGCGTCTGCCG
+>r2
+GCCGAAGAAATTGAATGCCGAGATTATCAAGCCAG
+>r3
+GCGGCGGTGACACCTGTTGATGGTGCATTGCTCGG
+>r4
+CTTTATGGCACAAATGCTGACCCATATTGCGGGCG
+>r5
+CACGTACGCGCTCTTCCAGGATTTCCTGCGGGATT
+>r6
+AATCTTTAAATGCCAGCGTTGGCCCGTGGAACAAT
+>r7
+CCGATCGGTTCGGGCTTAGGCTCCAGCGCCTGTTC
+>r8
+TTTGCGGAACGCAGAAACTGATACTGTATTCGGAA
+>r9
+CGGCCTGATTGAGATAATGAATAGATGTTACTGAT
+>r10
+GCGTCAGTTTCCGCGCTTCATGGATCAGCTGCTGG
+>r11
+CGCACAGTTGCCGCAAGAAGCACGTAACCAGTTGG
+>r12
+CCGTAACCCAGGGGTTAGGCAAAAATCAGGGGCTG
+>r13
+AGGTTACTCCTTTTATCATTGCCCGTTATGGGTCG
+>r14
+CCACGATCTGCTGCGCGCGATCGTTGCTCTGCTGT
+>r15
+GGGATGATGTTTCGCAGGAGTAATCACAACTATCG
+>r16
+CCAGGCAATTCTGGCGTTTAAAGGTGATGTCTACA
+>r17
+GTTAACAATCTTATCCCTTCGAGCGGGGGGAGCTT
+>r18
+GGCGGGTAACGGCACAACCTACATGCCGCTGGAAG
+>r19
+GACGCAGCTGCCGCTGCCGCGTTTGGCGTCGACCC
+>r20
+CACACTGGCGCGGGAAATGGGTTATACCGAACCGG
+>r21
+GGCTTAAGGTATATCCCGCCGCGCCGCCTGCAGCT
+>r22
+TGCGAGTGTTGAAGTTCGGCGGTACATCAGTGGCA
+>r23
+CCCGCCGTATTGCGGCAAGCCGCATTCCGGCTGAC
+>r24
+GGGATGGTTGGCATGGCGGCGCGCGTCTTTGCAGC
+>r25
+GGCGGGCATTCTCCGGTGTGAAATTTGGCTGCCAG
+>r26
+GCGCTGATCCTTAACTTACCCGGTCAACCGAAGTC
+>r27
+TTCCGTAACATCGGCGAAATTCTGGAACTGGCAGG
+>r28
+TGGCGCGGCGATGACGGCGGTCCATGTGGGTGCCA
+>r29
+GTGCCATAAAGCGACCGCCGAAATCTTTAAATGCC
+>r30
+TAGCGCCGAAGTAAGAAAGCTCCATCGCTTCCTGA
+>r31
+TATTATTCTCGCTGTCTTTGCTCTGCTGGCGATCA
+>r32
+GGTGAAGCCGAAGAAATTGAATGCCGAGATTATCA
+>r33
+GAAACAACATTATGAATGGCGAGGCAATCGCTGGC
+>r34
+TTGCTGATCTGCTACGTACCCTCCCATGGAAGTTA
+>r35
+AGATTGTTAACAACGTGCGCTTTGTTTATGCCGGA
+>r36
+CAGCAACTGAATGCAGTACGGTACGCTGGCAAAAA
+>r37
+TCACTTTTCGTACCGGATTTGTGCAGTTTCGCTAC
+>r38
+GCAGCTGATCCATGAAGCGCGGAAACTGACGCCCC
+>r39
+GGTTACATCCCCCTAACAAGCTGTTTAAAGAGAAA
+>r40
+AACGGTAGATTCGAGGTAATGACCCACTGCCAGCA
+>r41
+GAACTCTTCCTGCATTGCCCGTTCAGCTCGCACAC
+>r42
+GCCGGTCCGCCACGAAACTGCCCATTGGCATCACG
+>r43
+AGTATTTAGTGACCTAAGTCAATAAAATTTTAATT
+>r44
+CCGTCGAGACTTTAATCCCCGGATACGCCAGCACC
+>r45
+GATCTGCACCTTCGCAACGGTCATCGGCGGCACCT
+>r46
+TTGATTTTCCCCCGCTGGTAACAGGTATTATTCTC
+>r47
+TTTCGATGCCTGTCAGGCGCTGGTGAAGCAGGCGT
+>r48
+AGATGCTGAAGCTGGATTTTGTCACCCGCAGTGCG
+>r49
+TGACACCGAAGCGTCAATTGCGAAAGCAAAACGCC
+>r50
+CCTATGACACCGAAGCGTCAATTGCGAAAGCAAAA
+>r51
+GAGCGGCCGCCAGTGTGATGGATATCTGCAGAATT
+>r52
+TACATCCCCCTAACAAGCTGTTTAAAGAGAAATAC
+>r53
+CGGCGATTTGACGGCGGGTCTGCTGGCGAAGTCAC
+>r54
+TGGCGAGAAAATGTCGATCGCCATTATGGCCGGCG
+>r55
+GGGTGACCACTGACCGTCGTGCAGGAAACGTGGTA
+>r56
+CTTTGGTGAACAGATGCGCCAGATCAGCCTGCATT
+>r57
+CGGTCAGTGGTCACCCAAAGCGACTCAGGCGACGT
+>r58
+AAATTACGCTAGTCCCGTCAGTAAAATTACAGATA
+>r59
+ATCCATGAAGCGCGGAAACTGACGCCCCCGCAGAT
+>r60
+TATCTCGGTGGTAGGTGATGGTATGCGCACCTTAC
+>r61
+AGCGTAGAAGCTGATGATCTTAAATTTGCCGTTCT
+>r62
+TGAACAGATGCGCCAGATCAGCCTGCATTTTGTAC
+>r63
+CGACAGCATCATCAATCAACTTACGGTATTCCGGA
+>r64
+CTGGAAGGGCCATACGTTGAAACGGCACCGGAAGT
+>r65
+AAATAAGAATCAGCATATCCAGTCCTTGCAGGAAA
+>r66
+CAGGTAAATCATTACCGATCCCCAAAGGACGCTGT
+>r67
+GTGGATGGTAATGATCCGCTGTTCAAAGTGAAAAA
+>r68
+GTTTGATGTGCTCGGGGCGGCGGTGACACCTGTTG
+>r69
+AGAGACATTCAGTCTCAACAACCTCGGACGCTTTG
+>r70
+TTCACGTCCCGTTTCACGAGCGAGAATCAATAGCT
+>r71
+CTGCTTTTCGGCGCAGGTTGTTGGTTCACTTTTCG
+>r72
+GAAGATCGTAGGCCTGATAAGCGTAGCGCATCAGG
+>r73
+ACTCCTTTTATCATTGCCCGTTATGGGTCGATATC
+>r74
+GTTTTCAGCGCAGTATGTTTTCCAATGAGGCGGGA
+>r75
+TCTGTGCGCTATGCCTATATTGGTTAAAGTATTTA
+>r76
+CCAAACGCGGCAGCGGCAGCTGCGTCCTGGCCTCC
+>r77
+CAATCTGAAAGATCACAATGAGCAGGTCAGCTTTG
+>r78
+GTTCTCCGGCATTCTTTCAGGTTCGCTTTCTTATA
+>r79
+AAATTCAATATATTGCAAGAAGATCGTAGGCCTGA
+>r80
+CTGTGTGCGAGCTGAACGGGCAATGCAGGAAGAGT
+>r81
+GTCGCCAGCTTTCTCCAGACGCGTGGGATGATGTT
+>r82
+CATCATCAGCCAGCAAGTGCCAGGGTTTGATGAGT
+>r83
+GGAACTGAAAGAAGGCTTACTGGAGCCGTTGGCGG
+>r84
+TCTGACCATCGCACCGGCACTGCTGAAAGAGCTGG
+>r85
+TCGCAAATGCTGTTGGGCAAAATCGAAATCGTCTT
+>r86
+ACCAACCCTTCTCTCATTCTTAACGCAGCGCAGAT
+>r87
+AAATCTGGCGTCAGATGAGTATTTTAAATCGGTGA
+>r88
+GAAATTTGGCTGCCAGTCATGAAAGCGAGCGGCGT
+>r89
+AGATCTTTCCCTCGGGCATTCTCAAGACGTATCCC
+>r90
+TGCGCCCATAACCACGGTTTCATAACCATGCTCTT
+>r91
+CGTAACCAGTTGGTTGTCTCGGTACCGAGTGGAAA
+>r92
+GCTGGCTAACATCCATCGCATTGGATAACGTCGCC
+>r93
+CCGCACAAGCACGAGCCTGAGCGAAGGAGAACAGC
+>r94
+TTGAGACTGAATGTCTCTGCCGCCTCAACCGTGAC
+>r95
+TATTCTCCGCAATCCTAATCTCTAAGTTACCGCAT
+>r96
+CCTGAACTCCGCTGAAAATTATGCCGTAGGCGATG
+>r97
+TGCGCTTTGTTTATGCCGGATGCGGCGTGAACGCC
+>r98
+GCGTATCCGGGGATTAAAGTCTCGACGGCAGAAGC
+>r99
+GGCAGTAGCGGACCGCGAGATGCCAGGCTTTGGTG
+>r100
+TACAACGATGCAGGTATTAGCAACGATCGTATTCT
+>r101
+GACGCGAAGTTAGCGAATAAAAAAATCCCCCCAGG
+>r102
+ACCAGAGCAACTGACTGGTTTTAATAGCGAAGGTT
+>r103
+TTTATAAAGCTGTGCGAGGGAACATTCGGCAAACG
+>r104
+TATTTTCCCGTGGCTCTGACGGCAGCTTATCGGCA
+>r105
+TCATCCACAGCCAGGCGGTTTAACCTCATTTCAGT
+>r106
+TTCCAGCTGTTCTGCAGCACGGATACCCTGCCAGG
+>r107
+CATTAGCACCACCATTACCACCACCATCACCATTA
+>r108
+CACCAGTTCACACAACGTTTGCTCGATGATCGCCT
+>r109
+ATCAGCATATCCAGTCCTTGCAGGAAATTTATGCC
+>r110
+GTTCTTACCCAACCAGTCGGCAACGCGCTGGGCGG
+>r111
+GACATCGGCGCTAACCACGCCGTTTGAACTGGAAA
+>r112
+GTTCCTCGATGAGAAGAACGGCAAATTTAAGATCA
+>r113
+TGATGGAGTTAGCAGAATTCAGCCCCAGCGCCACT
+>r114
+AGACTTTAATCCCCGGATACGCCAGCACCCACAGC
+>r115
+ATTGCCAGCGCAACGCCGGCCAGGTTGCCGCTACC
+>r116
+GAAAATCGGCTGACCAAACCAGAGCAACTGACTGG
+>r117
+AAAGAGAGCGTGGAAGCGATTCTCGGTGAAACGTT
+>r118
+GCTCATCGGGGATTAAGCGGGTTTCCAGTTCAAAC
+>r119
+GCTACTGCCAGCGTCGCATCGGGCGTTACGTCACG
+>r120
+TCTGATCAAACTGGCTTCTACCTGGCAGGGTATCC
+>r121
+GAAAACAATCTCTTCTTTTTACGCCTGAACAACCC
+>r122
+GTTTCGCCCAGGCGACAGCATCATCAATCAACTTA
+>r123
+GACATTCAGTCTCAACAACCTCGGACGCTTTGCCG
+>r124
+AATCCATCGACGAGGTGTTGGCCTTTTTGTTCGGC
+>r125
+GGATCATTACCATCCACTTCGGCAATCTTCACGCG
+>r126
+GCTTGAGCTTGCCGCGAAGCTGATGAAAGATGTTA
+>r127
+CACCAGATGGCAACTCATTTCATCCACCAGTTCAC
+>r128
+CCGGTCCGCCACGAAACTGCCCATTGGCATCACGT
+>r129
+GCTGGCGGCCTGTTTACGCGCCGATTGTTGCGAGA
+>r130
+ACGCCGAGAGGATCTTCGCACTGCGGGTGACAAAA
+>r131
+CAGTGATACGCGCCGGACGCGCTTTCACTTCACCA
+>r132
+CTCGCCGTTTGTTGGCCGTATTCTTGACTGATACA
+>r133
+GCTGGTCAGTACCCAGATTATCGCCATCAACGGGA
+>r134
+AGTGTAAGACAGTTTACGTTCGATAGCCCCTTCGC
+>r135
+ATAAGCTGCCGTCAGAGCCACGGGAAAATATCGTT
+>r136
+ACCCGACGCTCATATTGGCACTGGAAGCCGGGGCA
+>r137
+AATCACCAGGCTGGTCAGTACCCAGATTATCGCCA
+>r138
+ATCGGCAAAGCGTCCGAGGTTGTTGAGACTGAATG
+>r139
+ATTTCTCCTTTTTCCCTGTCGTTTTTCTCCATATT
+>r140
+TCCGCCGCATAACGCAACTGATGGTAGTAATCCAT
+>r141
+CCCGTGCGCAATGCAATCCTGGCGGCGATACTGCG
+>r142
+CCCTCGGGCATTCTCAAGACGTATCCCCATTTCCA
+>r143
+GTGGCGGACCGGCATGGTATATGGCGCGCGGGCTG
+>r144
+AAGTATTCATCAAGATTTTTCCGTTTAAACAGTCT
+>r145
+CGGCAAGCGCCATGCTGATATTACTGGCGGGTAAC
+>r146
+TACTGCGCCGGTAAAATAGCCCTGGCTTCTGCCGT
+>r147
+TGGTCAATAACGATGATGCGACCACTGGCGTGCGC
+>r148
+ACATCCATGCCAGAAAGATCATCTCGCGGGTCCGG
+>r149
+ATAAGAATCAGCATATCCAGTCCTTGCAGGAAATT
+>r150
+TGAAGCTGTATCAACCGCAGGATGCCACAACCAAC
+>r151
+TTTCGCTACATCCGCCAGTTTGGCAAAAGTCTTAA
+>r152
+CGTCAGTAAAATTACAGATAGGCGATCGTGATAAT
+>r153
+ACCAGTTGAATCCAGGCGAATATGGCTTGTTCCTC
+>r154
+TTGTGCAGTTTCGCTACATCCGCCAGTTTGGCAAA
+>r155
+TCGGGCATTCTCAAGACGTATCCCCATTTCCAGAC
+>r156
+AAATCCTGGAAGAGCGCGTACGTGCGGCGTTTGCC
+>r157
+ACACTTCGATAACCTGATCGGTATTGAACAGCATC
+>r158
+AACTGGGCGATGGGGGTAATGGTGCGGGGGTGAAG
+>r159
+GCTTGTATGGCGTACTGCGCCCGCTCGATTTAATG
+>r160
+GCTCTTCCAGGATTTCCTGCGGGATTTCATCACCA
+>r161
+GGCGGATATTGAAATTGAACCTGTGCTGCCCGCAG
+>r162
+CGAATACAGTATCAGTTTCTGCGTTCCGCAAAGCG
+>r163
+CTGGTTTTAATAGCGAAGGTTACTTCTTTGATGAA
+>r164
+TTCAAACGGCGTGGTTAGCGCCGATGTCAGCCATT
+>r165
+CATTCATCCACAGCCAGGCGGTTTAACCTCATTTC
+>r166
+CAGGTTGCCGCTACCCACGCGCGCTGCAAGACTGG
+>r167
+TGCCAGCCGTGATGAAGACGAATTACCGGTCAAGG
+>r168
+CGCAACGGTCATCGGCGGCACCTTGTTAAGTTTTC
+>r169
+CGAAGATCCTCTCGGCGTTTATTGGTGATGAAATC
+>r170
+GGTATAACCCATTTCCCGCGCCAGTGTGGTCGCCT
+>r171
+AGAAGTTCGGCAAAAATAAGTTCGGCATCGCTGAT
+>r172
+AGCTGTATCAACCGCAGGATGCCACAACCAACCCT
+>r173
+CGCAGCCTGCCAGTTCCAGAATTTCGCCGATGTTA
+>r174
+GGCGGATGTAGCGAAACTGCACAAATCCGGTACGA
+>r175
+ATGCTTTCCGGCTTGTATGGCGTACTGCGCCCGCT
+>r176
+ACGTTTTCTGCGGGTTGCCGATATTCTGGAAAGCA
+>r177
+TTCCGCAGCCTGCGCTGCCATGGGAGCGACCAGAA
+>r178
+TGCGACCGTCTGACCATCGCACCGGCACTGCTGAA
+>r179
+GTTTTCCAGATTAAGGCCATGTACATTGGTGAGCA
+>r180
+GCGAACTGGTGTTTAAACGCTACGAACAACGTTAA
+>r181
+CTGTACTTCCAGCCAGGCTGTGGCAGATCAATATG
+>r182
+CGGCCAGGTTGCCGCTACCCACGCGCGCTGCAAGA
+>r183
+CAGCTCGACGATCTCTTTGCCGCGCGTGTGGCGAA
+>r184
+CAGTCAACAATGACCGGGTTCAGCAGATGATATTC
+>r185
+TGGCGGCGCGCGTCTTTGCAGCGATGTCACGCGCC
+>r186
+GAACTCGGACTCAGTGATACGCGCCGGACGCGCTT
+>r187
+ACACGGTGCCACGTTGTCGTAATGAATGCTGCCGG
+>r188
+GAATAACCACGAGGGTAACAAACTCCGCACCCCAG
+>r189
+AGGTGTCACCGCCGCCCCGAGCACATCAAACCCGA
+>r190
+CATTTTGTACCAACTGCGATCCTTTCGCGTCAGGT
+>r191
+CCCTTCGCTCTCCGCCAGCTCTTTCAGCAGTGCCG
+>r192
+TTAAGCTCCCCCCGCTCGAAGGGATAAGATTGTTA
+>r193
+GGGCGAATTCTGCAGATATCCATCACACTGGCGGC
+>r194
+CGCAGGTTGTTGGTTCACTTTTCGTACCGGATTTG
+>r195
+GATGAGTGGCTGTGGGTGCTGGCGTATCCGGGGAT
+>r196
+AGCCCCAACGTTGGTGTCATAGAGGAATTTACGCC
+>r197
+CTCTGCCGCCTCAACCGTGACTACATCTCCGAGCA
+>r198
+CGCCGGTGGACCTGGAGCCGTCTTCTGGATGTGGG
+>r199
+GCAAATGCAGAACGTTTTCTGCGGGTTGCCGATAT
+>r200
+CGTTTTACCGGCAGACCGAGTGACTTCGCCAGCAG
+>r201
+AACCCAGGGGTTAGGCAAAAATCAGGGGCTGTTTT
+>r202
+CCGGAGCTGTTAGACAACGCCCAGCAGCTGATCCA
+>r203
+GATGAGTGGCTGTGGGTGCTGGCGTATCCGGGGAT
+>r204
+ATTACTGGGATGGCGGTCATTGGGGCGACCACGGC
+>r205
+GGTGCGGGCTTTTTTCTGTGTTTCCTGTACGCGTC
+>r206
+CCGCCTGGCTGTGGATGAATGCTATTTTTAAGACT
+>r207
+ATTTTTAATCAGGCAAGGGATCTGGAACTGGGCGA
+>r208
+GCGTACTGCGCCCGCTCGATTTAATGCAGCCTTAT
+>r209
+CAGTGTATCATTCTGCTTAACGAGACTGTTTAAAC
+>r210
+TATGGCGCGGCGATGACGGCGGTCCATGTGGGTGC
+>r211
+CATCTGGCAGGCTTCATTCACGCCTGCTATTCCCG
+>r212
+TTTTTTCAATCATCGCTACCAGATGGTTGGTGATT
+>r213
+TATGTCTCTGTGTGGATTAAAAAAAGAGTGTCTGA
+>r214
+TGATGATATCACAAGGGCGAATTCTGCAGATATCC
+>r215
+CTGGAGCCGTCTTCTGGATGTGGGTTGCCGCATTT
+>r216
+GCCGTAGCTTATCGTGCGCTGCGTGACCAGTTGAA
+>r217
+GAATACCGATAAGAAAGAGTACGCTCCGGCAGAAG
+>r218
+TCAACAACCTCGCATCGGGCACCTGACGCGGATCG
+>r219
+CAGGTGGCCACCGTCCTCTCTGCCCCCGCCAAAAT
+>r220
+CTGCTGGCGAAGTCACTCGGTCTGCCGGTAAAACG
+>r221
+ACCTCATTTCAGTCATTGTGTACCAGTCTTGCAGC
+>r222
+TCATGAAAGCGAGCGGCGTTGATACCCGCCAGTTT
+>r223
+ATAGCGCAAAACTTTTCCTTCATCACGGGCCTTCG
+>r224
+GATGGAGTTAGCAGAATTCAGCCCCAGCGCCACTT
+>r225
+TGAATTGATGAAGTTCTCCGGCATTCTTTCAGGTT
+>r226
+GTCAGGATGCTTTACCCAATATCAGCGATGCCGAA
+>r227
+TAACCAGTTCAGAAGCTGCTATCAGACACTCTTTT
+>r228
+GTTGATTGATGATGCTGTCGCCTGGGCGAAACAGC
+>r229
+CGATCGTGATAATCGTGGCTATTACTGGGATGGCG
+>r230
+ATGCTGCCGGAGATACGCCCTTCCAACTCGCCCAT
+>r231
+AAAGATGCAATCTATCGTACTCGCACTTTCCCTGG
+>r232
+TGCCAATCATCTGGACAATTCCTTGCGCTGCCGGA
+>r233
+ACCAGCCGTGGTCGCCCCAATGACCGCCATCCCAG
+>r234
+TCTCCGAGGCGACCACACTGGCGCGGGAAATGGGT
+>r235
+ATAACGGTAACGTTGTGACCACGCGCTTCTAACAC
+>r236
+GCCCCGAGCACATCAAACCCGACGCTCATATTGGC
+>r237
+TTGAACAGCATCTGATGAGTAACGCGCACGCCAGT
+>r238
+CGGTTGCGGAAATCGGCGCGGTAGCGAGCGGTATC
+>r239
+AATTTCAGTCAGGCTGAATTCCGGCAGGTCGTGCG
+>r240
+GAGAAACTCATGCCTTCGTCTAACTTGCCGAAGAT
+>r241
+CATCAGTGGCAAATGCAGAACGTTTTCTGCGGGTT
+>r242
+GCATGCTCGAGCGGCCGCCAGTGTGATGGATATCT
+>r243
+TTACCTGCCGTGAGTAAATTAAAATTTTATTGACT
+>r244
+AAGGGCGTATCTCCGGCAGCATTCATTACGACAAC
+>r245
+GGATCCAATGGCAGTAGATAAACTGGCGGAAGGTA
+>r246
+CCCAGCTCTTTCAGTTGCCAGATTTTGCGGCGGAA
+>r247
+CGACATTTTCTCGCCACGGCAAATCAGCGCAGCGT
+>r248
+CCGGTAAAACGTTTTATTGCTGCGACCAACGTGAA
+>r249
+CGTCCTTCACACCTTCCAGCGTCTCTTTAATAGAC
+>r250
+TTGGTTGTGGCATCCTGCGGTTGATACAGCTTCAT
+>r251
+CTTATTTCACCTGCGAAAACGCTTGATTACCAAAG
+>r252
+ACCGCATTTATTGAGAATTTCTCCTTTTTCCCTGT
+>r253
+TCAGCAAAGACACCGGCAGCTGTAACGTCATTGCC
+>r254
+GTAAATCAGCACGTTCTGCCAGCTCTTTTGGCAGA
+>r255
+CTTAACGTTGTTCGTAGCGTTTAAACACCAGTTCG
+>r256
+AGGAACTCGGACTCAGTGATACGCGCCGGACGCGC
+>r257
+GGCTATAGAAGGCCAGGGCGTTTTCGCCATTTTTC
+>r258
+AGCAGATCGCCGATCATTTTTTCCAGTTTTTCCTG
+>r259
+TGGAAGGTGTGAAGGACGCTGAGGGTAACGTTGTG
+>r260
+GCGGCAAGCCGCATTCCGGCTGACCACATGGTGCT
+>r261
+CTGCAAAGACGCGCGCCGCCATGCCAACCATCCCT
+>r262
+TACGTATTGGCTTAGTTTCCATCTCTGATCGCGCA
+>r263
+CAACCGCCTGCCGCGCCTGCCGGAAGCCTGGCAGT
+>r264
+TGAGGCTGTCGCACAGTTGCCGCAAGAAGCACGTA
+>r265
+CGAAGTCTATTAAAGAGACGCTGGAAGGTGTGAAG
+>r266
+CAGATTAGCTCCCTGATGCGCATCAGCGACAAACT
+>r267
+TATCCAGTCCTTGCAGGAAATTTATGCCGACTTTA
+>r268
+TGCCAGTTGCCACATCAGCGGAAAACTTAACAAGG
+>r269
+CCAGTTTATCTACTGCCATTGGATCCTGGTTGTGC
+>r270
+TACTGCCAGTTTGTCGGTCGCGTCCACGATCTGCT
+>r271
+ATTTACCTGCTTTTCGGCGCAGGTTGTTGGTTCAC
+>r272
+GAATACCTTCCAGCGGCATGTAGGTTGTGCCGTTA
+>r273
+TTTTATTTGGGCAAATTCCTGGTCGACGAAAGTTT
+>r274
+ATTTATCACCACATTATCGCCTTGTGCTGCGAGCG
+>r275
+CAGTACCCAGATTATCGCCATCAACGGGACAAACC
+>r276
+TAGATTGCATCTTTTTCACAGGTTACTCCTTTTAT
+>r277
+ATTTACCCTTGCTTTCGCATAACCTGCCCGCCGAT
+>r278
+CTGATATTACTGGCGGGTAACGGCACAACCTACAT
+>r279
+CGGCTGACCACATGGTGCTGATGGCTGGTTTCACT
+>r280
+CGATGCCTGTCAGGCGCTGGTGAAGCAGGCGTTTG
+>r281
+TCCGCTGATGTGGCAACTGGCAGATATCATTATGG
+>r282
+TCCTAACTTCCATGGGAGGGTACGTAGCAGATCAG
+>r283
+GTGGAAACTTCGGCGATTTGACGGCGGGTCTGCTG
+>r284
+GAGCTTTCTTACTTCGGCGCTAAAGTTCTTCACCC
+>r285
+TTACCCAACCAGTCGGCAACGCGCTGGGCGGTATC
+>r286
+GCAGATATCCATCACACTGGCGGCCGCTCGAGCAT
+>r287
+CGGTTCGGGCTTAGGCTCCAGCGCCTGTTCAGTGG
+>r288
+CTTCGTCAGTACACCACCGTAGTGGCCGACACTGG
+>r289
+CCGGAAGCCTGGCAGTAACCGTTCACGGTAGGGTT
+>r290
+CAGAAAAAAGCCCGCACCTGACAGTGCGGGCTTTT
+>r291
+CTGGCAGGCTTCATTCACGCCTGCTATTCCCGTCA
+>r292
+GACTACAAACTTAACGTTGTTCGTAGCGTTTAAAC
+>r293
+GCCATTTTTCACTTTGAACAGCGGATCATTACCAT
+>r294
+TTTGATGGGCGAGTTGGAAGGGCGTATCTCCGGCA
+>r295
+AGCTTTCTCCAGACGCGTGGGATGATGTTTCGCAG
+>r296
+GAACAACCCTAAAGCGATCTGGTGTCTGCGGATCT
+>r297
+TGCCTGTCAGGCGCTGGTGAAGCAGGCGTTTGATG
+>r298
+ATGCAGCCCGGCTTTTTTTATGAAGAAAATATGGA
+>r299
+TGGCCATTATCTCGGTGGTAGGTGATGGTATGCGC
+>r300
+GAAAAAGAAGGTATTAACTGTAACCTGACCCTGCT
+>r301
+TTCGCCTCGTGAAAGAATATCATCTGCTGAACCCG
+>r302
+TCCATCTCTGATCGCGCATCCAGCGGCGTTTATCA
+>r303
+GGCGAGTCCCGTCAGAAGTTCGGCAAAAATAAGTT
+>r304
+ATATTTTCTTCATAAAAAAAGCCGGGCTGCATAAA
+>r305
+GGCGATAAGCCAGTGACCATTCTGACCGCGACATC
+>r306
+CGAAGTAAGAAAGCTCCATCGCTTCCTGATAGGAC
+>r307
+TCCGCAACCGCCTGCCGCGCCTGCCGGAAGCCTGG
+>r308
+TCCGGCATTCTTTCAGGTTCGCTTTCTTATATCTT
+>r309
+CGTAAGTCGATATGTTTATTCTTCAACCAGCTTTG
+>r310
+CCACATCCATGCCAGAAAGATCATCTCGCGGGTCC
+>r311
+TATTGGCTTAGTTTCCATCTCTGATCGCGCATCCA
+>r312
+GCTTTCAACATTGGCGACCGGAGCCGGGAAGGCAA
+>r313
+CTGCGTGACCAGTTGAATCCAGGCGAATATGGCTT
+>r314
+GATTTTGCTGCGTTGCGTAAATTGATGATGAATCA
+>r315
+GATCCCACGTAAGGTGCGCATACCATCACCTACCA
+>r316
+CCGAATGTGAAAGTGGTTATCCTCTATCCACGAGG
+>r317
+AATACTTTACGTATTGGCTTAGTTTCCATCTCTGA
+>r318
+TCCACGCTCTCTTTAAATTTCGCCGGATGCGCGGT
+>r319
+ACCGTGAACGGTTACTGCCAGGCTTCCGGCAGGCG
+>r320
+CTGTCTGTGCGCTATGCCTATATTGGTTAAAGTAT
+>r321
+AGGGAAAGTGCGAGTACGATAGATTGCATCTTTTT
+>r322
+CAAAGGACGCTGTTAATAAAGGAGAAAAAATCTGG
+>r323
+GGACTCGCCGCCGCCCAGCCGGGATTTCCGCTGGC
+>r324
+TTACCGGTCAAGGGCATTTCCAATCTGAATAACAT
+>r325
+CCGCAGACACGTAAGTCGATATGTTTATTCTTCAA
+>r326
+GTGCCAGGGTTTGATGAGTGGCTGTGGGTGCTGGC
+>r327
+TGCTGCCACAGGAACTCGGACTCAGTGATACGCGC
+>r328
+GGTATCCGGCTTGTCACACAGAGCGAACAAAGTCG
+>r329
+CTTCCGCCAGTTTATCTACTGCCATTGGATCCTGG
+>r330
+CTCATATTGGCACTGGAAGCCGGGGCATAAACTTT
+>r331
+GCCGAGGAACAAGCCATATTCGCCTGGATTCAACT
+>r332
+ATTTATGCCGAAAACAATCTCTTCTTTTTACGCCT
+>r333
+ATCGCCATCAGCGCCGCGACCACTGAACAGGCGCT
+>r334
+AATACTTTAACCAATATAGGCATAGCGCACAGACA
+>r335
+AGGCTTACTGGAGCCGTTGGCGGTGACGGAACGGC
+>r336
+GGCGGCGGCGAGTCCCGTCAGAAGTTCGGCAAAAA
+>r337
+TCCCCAAAGGACGCTGTTAATAAAGGAGAAAAAAT
+>r338
+TGGCCGACACTGGGGACATCGCGGCAATGAAGCTG
+>r339
+AAGAACTGGGCTATACCTCGGAGCCGCACGCTGCC
+>r340
+TAAGGTATATCCCGCCGCGCCGCCTGCAGCTTCCT
+>r341
+CAGCTTCTACGCTAAGAAAGCACGCGGTCTGATGA
+>r342
+TGCGGGCTTTTTTTTCGACCAAAGGTAACGAGGTA
+>r343
+GAAGTTCGGCGGTACATCAGTGGCAAATGCAGAAC
+>r344
+GCACCATTACCCCCATCGCCCAGTTCCAGATCCCT
+>r345
+GCGGAGAATAACAACTGCCGTTCTCATCGCGTAAT
+>r346
+TTCACGCGGCAGACGCCATCTTCATCAATATTGCC
+>r347
+CGAGCTGGTGGTTCTGGGACGCAACGGTTCCGACT
+>r348
+CCGAAAACAATCTCTTCTTTTTACGCCTGAACAAC
+>r349
+GGCTCATGCAGGGGTTTGTCCCGTTGATGGCGATA
+>r350
+ACAATTCCTTGCGCTGCCGGATGCGGAGGCCAGGA
+>r351
+GCAGGAAGCTGCAGGCGGCGCGGCGGGATATACCT
+>r352
+TGACGAAGGGAGGTCAATTTGTCCGTCATGATAGT
+>r353
+CTGGAAAAAGAAGGTATTAACTGTAACCTGACCCT
+>r354
+GAAGGTGTGAAGGACGCTGAGGGTAACGTTGTGGT
+>r355
+ACGCTGCCGTAGCTTATCGTGCGCTGCGTGACCAG
+>r356
+TGAAGATTGCCGAAGTGGATGGTAATGATCCGCTG
+>r357
+AGTTTTGCGTTTGTCATCAGTCTGATCCCCCCGCC
+>r358
+TATTGCCGGTCGCGATGACTTTCCTGTGTAAACGT
+>r359
+TCTGGCGCATCTGTTCACCAAAGCCTGGCATCTCG
+>r360
+AATCTGCTCAATGCTGGTGATGAATTGATGAAGTT
+>r361
+TCCCGTGGCTCTGACGGCAGCTTATCGGCAAAGCG
+>r362
+AACAATCGGCGCGTAAACAGGCCGCCAGCACCGCA
+>r363
+CGATGGAGCTGAAGGCAAACAGAATAACCACGAGG
+>r364
+GCACAATTGAAAACTTTCGTCGACCAGGAATTTGC
+>r365
+CAGCCATCAGCACCATGTGGTCAGCCGGAATGCGG
+>r366
+AAGTTTGCTGTTGACCAGGAAAAACTGGAAAAAAT
+>r367
+ATTTACCTGCTTTTCGGCGCAGGTTGTTGGTTCAC
+>r368
+GCGATCAGAGATGGAAACTAAGCCAATACGTAAAG
+>r369
+GCGCAAAACTTTTCCTTCATCACGGGCCTTCGCCA
+>r370
+AGCTATTGATTCTCGCTCGTGAAACGGGACGTGAA
+>r371
+CGACAGCATCATCAATCAACTTACGGTATTCCGGA
+>r372
+TTTACCGAATGTGAAAGTGGTTATCCTCTATCCAC
+>r373
+AGTTTCGATATTGCCGCCCAATGTACAGAACAGTT
+>r374
+TAACAGGTATTATTCTCGCTGTCTTTGCTCTGCTG
+>r375
+ATGGGCGTTCTGTTCGCCGTCTTTTTGCTCATCGC
+>r376
+GAGGTTGTTGAAGTCGATGTCCTATCAGGAAGCGA
+>r377
+ATCCGGCAGCGCAAGGAATTGTCCAGATGATTGGC
+>r378
+TTTCAATTGTGCCAGCGGAAATCCCGGCTGGGCGG
+>r379
+ACACTGGCTTGCAGGCCGAAACCTTCAGCGAAGAC
+>r380
+ATTTGTGCCATAAAGCGACCGCCGAAATCTTTAAA
+>r381
+AAAATATGGAGAAAAACGACAGGGAAAAAGGAGAA
+>r382
+TTGGAAATGCCCTTGACCGGTAATTCGTCTTCATC
+>r383
+TGCCGATAAGCTGCCGTCAGAGCCACGGGAAAATA
+>r384
+TTAAACGGCTCTTTGGCTTGCGCCAGTTCTTCCTG
+>r385
+GAGCAACTGACTGGTTTTAATAGCGAAGGTTACTT
+>r386
+CCGTTTAAACAGTCTCGTTAAGCAGAATGATACAC
+>r387
+ATCAGGATAAAGGCATCCCTGCGCTGGAAGAATGG
+>r388
+CTTCAACAACCTCGCATCGGGCACCTGACGCGGAT
+>r389
+CACCGACGCCAATCACAAACACTTCGATAACCTGA
+>r390
+TGACCACCACGCGCTATACGCTGCCGGAGCTGTTA
+>r391
+GGCTCATGCTTTCTACGGTTTACCGAATGTGAAAG
+>r392
+CCGATTTAAAATACTCATCTGACGCCAGATTTATC
+>r393
+CGAGCAAACGTTGTGTGAACTGGTGGATGAAATGA
+>r394
+GTGCTTGGGGATTTCCGGTATTTTTAATCAGGCAA
+>r395
+AAAGCCCGCACTGTCAGGTGCGGGCTTTTTTCTGT
+>r396
+ATACCGATAAGAAAGAGTACGCTCCGGCAGAAGAT
+>r397
+AACTGGCCGCGTGTGGAAGAGTTGTTCCGCCGCAA
+>r398
+TGCCGGTAATGAAAAAGGCGAGCTGGTGGTTCTGG
+>r399
+TTGCCAACTACATTTATGCCGAAAACAATCTCTTC
+>r400
+TTTTAAATCGGTGAAGCCGAAGAAATTGAATGCCG
+>r401
+AGCTGCAGGCGGCGCGGCGGGATATACCTTAAGCC
+>r402
+AGTAATAGCCACGATTATCACGATCGCCTATCTGT
+>r403
+CGTCAACATCCGTCCAGATCTCGCAACAATCGGCG
+>r404
+AGCGAAGGGGCTATCGAACGTAAACTGTCTTACAC
+>r405
+GTGCCCGATGCGAGGTTGTTGAAGTCGATGTCCTA
+>r406
+TGGGGACATCGCGGCAATGAAGCTGTATCAACCGC
+>r407
+CCTTCGCCACACGCGCGGCAAAGAGATCGTCGAGC
+>r408
+GTCAACAGCAAACTTACGGATACCTTCCGCCAGTT
+>r409
+TCGCGGCGCTGATGGCGATGAATGAACACTGCGGC
+>r410
+AGACATATTGCCCGTTGCAGTCAGAATGAAAAGCT
+>r411
+ACAAGCTGTTTAAAGAGAAATACTATCATGACGGA
+>r412
+TCTCCTTTTTCCCTGTCGTTTTTCTCCATATTTTC
+>r413
+TCTTTGCAGCGATGTCACGCGCCCGTATTTCCGTG
+>r414
+GGAACTGGCCCTGCGCGTCGTGACGTAACGCCCGA
+>r415
+AGGATTGCGGAGAATAACAACTGCCGTTCTCATCG
+>r416
+TAACCACGAGGGTAACAAACTCCGCACCCCAGGAA
+>r417
+CTCGCCTGTGGTTCATACCATTGCCAGTGATTATC
+>r418
+CAATGTTCAGCGTTTCCGGCCCGGGGATGAAAGGG
+>r419
+CCTCGGCACCGCGCATCCGGCGAAATTTAAAGAGA
+>r420
+TGGCAGATATCATTATGGCCTGCATGGCTATTACC
+>r421
+GATAATCGTGGCTATTACTGGGATGGCGGTCATTG
+>r422
+GGGCTGTTTTTTCCGCACGACCTGCCGGAATTCAG
+>r423
+TGGAGCCGTTGGCGGTGACGGAACGGCTGGCCATT
+>r424
+TGCAAGCCAGTGTAGACATCACCTTTAAACGCCAG
+>r425
+GCGTGCTTTCTTAGCGTAGAAGCTGATGATCTTAA
+>r426
+AATGGCGGGCGATATCAACGCAGCGAATTGGGCCT
+>r427
+CCCATTGGCATCACGTTCTTTATAAAGCTGTGCGA
+>r428
+GCTGACATCGGCGCTAACCACGCCGTTTGAACTGG
+>r429
+TGCCAGCGATTGCCTCGCCATTCATAATGTTGTTT
+>r430
+CCGCCAGTAATATCAGCATGGCGCTTGCCGTGCAG
+>r431
+TGTTACCTCGTTACCTTTGGTCGAAAAAAAAGCCC
+>r432
+AAACCTGTCTGTCACTCCCTTCGCAGTGTATCATT
+>r433
+TTAGCAACGATCGTATTCTGATCAAACTGGCTTCT
+>r434
+CTTAAGCCAGGCGATTACTAACGGTTTTCAGCGCA
+>r435
+GGCACAATTGAAAACTTTCGTCGACCAGGAATTTG
+>r436
+AATATCATCTGCTGAACCCGGTCATTGTTGACTGT
+>r437
+ACAGCTTTATAAAGAACGTGATGCCAATGGGCAGT
+>r438
+ACAGACAGATAAAAATTACAGAGTACACAACATCC
+>r439
+GAAAGGGATGGTTGGCATGGCGGCGCGCGTCTTTG
+>r440
+AGATTGTTAACAACGTGCGCTTTGTTTATGCCGGA
+>r441
+AAAGCAAACCCGGCCTGATTGAGATAATGAATAGA
+>r442
+ACAAAGTCGGGCCGGAGCCGGAGATACCGCTCGCT
+>r443
+TTCATATTTGCCGGCTGGATACGGCGGGCGCACGA
+>r444
+GTCTTAAAAATAGCATTCATCCACAGCCAGGCGGT
+>r445
+CGCCTGCTTCACCAGCGCCTGACAGGCATCGAAAT
+>r446
+ATCGAGCGGGCGCAGTACGCCATACAAGCCGGAAA
+>r447
+CTGAGTTTTTCTTTTGATTTTCCCCCGCTGGTAAC
+>r448
+GCCGCTCCAGTATCACCGGATGTCGCGGTCAGAAT
+>r449
+AACTGGCAGGAAGAACTGGCGCAAGCCAAAGAGCC
+>r450
+AAATATCAATGCCGGATTGCCATCCGGCATTATCC
+>r451
+ATTTATCGGCATGGCGACCTCGTTTGCCGAATGTT
+>r452
+GGGATCTGGAACTGGGCGATGGGGGTAATGGTGCG
+>r453
+ATTAAAGAGACGCTGGAAGGTGTGAAGGACGCTGA
+>r454
+TTGCCACTGATGTACCGCCGAACTTCAACACTCGC
+>r455
+GTCAAATTGGTAATAGCCATGCAGGCCATAATGAT
+>r456
+GAAGCAGGCGTTTGATGATGAAGAACTGAAAGTGG
+>r457
+TGCTGATGGCTGGTTTCACTGCCGGTAATGAAAAA
+>r458
+TCCAGAAGGCGATGCGGGTGCTAATGGGTTCCTGG
+>r459
+CTGCTATTCCCGTCAGCTTGAGCTTGCCGCGAAGC
+>r460
+CCACACAGAGACATATTGCCCGTTGCAGTCAGAAT
+>r461
+GTTTATTCTTCAACCAGCTTTGCTGACGCTTCAGT
+>r462
+GATCTCGCCGTTTGTTGGCCGTATTCTTGACTGAT
+>r463
+CAATTTCAGTCAGGCTGAATTCCGGCAGGTCGTGC
+>r464
+TGAATAACATGGCAATGTTCAGCGTTTCCGGCCCG
+>r465
+AAGGTGCCGCCGATGACCGTTGCGAAGGTGCAGAT
+>r466
+GTCCCAGAACCACCAGCTCGCCTTTTTCATTACCG
+>r467
+CTGCCCCAACAAACTGATGCCATGCAGGACATGTT
+>r468
+CTTTGGCTTGCGCCAGTTCTTCCTGCCAGTTTTCC
+>r469
+GCTCGTGAAACGGGACGTGAACTGGAGCTGGCGGA
+>r470
+CACCAATAAACGCCGAGAGGATCTTCGCACTGCGG
+>r471
+CAGGTTACTCCTTTTATCATTGCCCGTTATGGGTC
+>r472
+CCAGGGTGTCGATAAAAATGCCAATCATCTGGACA
+>r473
+AGAGCATGGTTATGAAACCGTGGTTATGGGCGCAA
+>r474
+GTTGATGCTATCCGGGCACTGCCCCAACAAACTGA
+>r475
+TTCCGACTACTCCGCTGCGGTGCTGGCGGCCTGTT
+>r476
+CAAAGTGAAAAATGGCGAAAACGCCCTGGCCTTCT
+>r477
+AACTCATTTCATCCACCAGTTCACACAACGTTTGC
+>r478
+GACACTGGGGACATCGCGGCAATGAAGCTGTATCA
+>r479
+GGCAAACAGAATAACCACGAGGGTAACAAACTCCG
+>r480
+GCCTGCGCTGCCATGGGAGCGACCAGAACCAGGGA
+>r481
+GCTGCCACAGGAACTCGGACTCAGTGATACGCGCC
+>r482
+TCGACCAAAGGTAACGAGGTAACAACCATGCGAGT
+>r483
+ATCGCCAGCAGAGCAAAGACAGCGAGAATAATACC
+>r484
+TCTTCATCAATATTGCCAACATAGCGCAAAACTTT
+>r485
+TTATCGATCCGGTCGAAAAACTGCTGGCAGTGGGT
+>r486
+GATGATGAATCATCAGTAACATCTATTCATTATCT
+>r487
+TTGTTGCGAGATCTGGACGGATGTTGACGGTGTTT
+>r488
+ATCTCAACTGAAGTTGATGCGCGTCTTTCCTATGA
+>r489
+CTGGAAATCCTGAAACTGGTTCCGGGCCGTATCTC
+>r490
+ATCCACGGCTGCATAACCCAGCTCTTTCAGTTGCC
+>r491
+ACCCTCGGCGTTAAACTCTGCGGGCAGCACAGGTT
+>r492
+GAAGTTGATGCGCGTCTTTCCTATGACACCGAAGC
+>r493
+TGCGTTGCGTAAATTGATGATGAATCATCAGTAAC
+>r494
+ACGCGCCCGTATTTCCGTGGTGCTGATTACGCAAT
+>r495
+CGGTTTCATAACCATGCTCTTTGTAGTACTGGTAG
+>r496
+GCCGAGATCCCACGTAAGGTGCGCATACCATCACC
+>r497
+GATTAAGGCCATGTACATTGGTGAGCAGTGCCTTC
+>r498
+GCCGGCAAATATGAACAAAACCTTCCTGATTTTGC
+>r499
+ATATTCTGGAAAGCAATGCCAGGCAGGGGCAGGTG
+>r500
+CGGAGAATAACAACTGCCGTTCTCATCGCGTAATC
+>r501
+TCAACAGCAAACTTACGGATACCTTCCGCCAGTTT
+>r502
+TATATTGCAAGAAGATCGTAGGCCTGATAAGCGTA
+>r503
+CGCTGCCGTAGCTTATCGTGCGCTGCGTGACCAGT
+>r504
+CGGCAAAGAGATCGTCGAGCTGTGACAGATTCGCC
+>r505
+GTGTGGATTAAAAAAAGAGTGTCTGATAGCAGCTT
+>r506
+GCCAGCTCTTTCAGCAGTGCCGGTGCGATGGTCAG
+>r507
+TGAAACCAGCCATCAGCACCATGTGGTCAGCCGGA
+>r508
+CCAAACGCGGCAGCGGCAGCTGCGTCCTGGCCTCC
+>r509
+GGTAATAGCCATGCAGGCCATAATGATATCTGCCA
+>r510
+GCTTTCAACATTGGCGACCGGAGCCGGGAAGGCAA
+>r511
+AATGACTGAAATGAGGTTAAACCGCCTGGCTGTGG
+>r512
+CCGATCGGTTCGGGCTTAGGCTCCAGCGCCTGTTC
+>r513
+GGCGTTCGCCTGAACTCCGCTGAAAATTATGCCGT
+>r514
+GCGTAATCAGCACCACGGAAATACGGGCGCGTGAC
+>r515
+GTTTCCAGTTCAAACGGCGTGGTTAGCGCCGATGT
+>r516
+CTGAACGCTCAATCTCTGTCGTGGTCAATAACGAT
+>r517
+TCGAGCAAACGTTGTGTGAACTGGTGGATGAAATG
+>r518
+CCTCGCATCGGGCACCTGACGCGGATCGCAGGTAT
+>r519
+TTTAAACGCCAGAATTGCCTGGCGGGCATTCTCCG
+>r520
+TTGTTCATATTTGCCGGCTGGATACGGCGGGCGCA
+>r521
+GGAATAGCAGGCGTGAATGAAGCCTGCCAGATGTC
+>r522
+CATCAATTTACGCAACGCAGCAAAATCGGCGGGCA
+>r523
+GCATCAGCGACAAACTGGCGGGTATCAACGCCGCT
+>r524
+ACAGGTGTCACCGCCGCCCCGAGCACATCAAACCC
+>r525
+CTGCACCTTCGCAACGGTCATCGGCGGCACCTTGT
+>r526
+ACCCGCCGTCAAATCGCCGAAGTTTCCACTCGGTA
+>r527
+CAGAAAGATCATCTCGCGGGTCCGGTTCGGTATAA
+>r528
+ACATCCATGAAACGCATTAGCACCACCATTACCAC
+>r529
+CCTTGCGCTGCCGGATGCGGAGGCCAGGACGCAGC
+>r530
+GCACAGACAGATAAAAATTACAGAGTACACAACAT
+>r531
+CTGTGCGACAGCCTCAAAGTAATAACAAATCTGCG
+>r532
+AGCAAAGACAGCGAGAATAATACCTGTTACCAGCG
+>r533
+TGGAAGGTGTGAAGGACGCTGAGGGTAACGTTGTG
+>r534
+AAACTGTTGCCATCGACGGCGATTTCGATGCCTGT
+>r535
+ACCAACGTGAACGATACCGTACCACGTTTCCTGCA
+>r536
+GGCCTTAATCTGGAAAACTGGCAGGAAGAACTGGC
+>r537
+TGGAAGGTATTCAGCTTATCCAGAAGGCGATGCGG
+>r538
+ACCCTTGCTTTCGCATAACCTGCCCGCCGATTTTG
+>r539
+GGAGAATAACAACTGCCGTTCTCATCGCGTAATCT
+>r540
+CTGCATCGTTGTAGAGTTTGATCAGGCGTTTTGCT
+>r541
+ACTCCGCTGCGGTGCTGGCGGCCTGTTTACGCGCC
+>r542
+CGGTCGCAGCCTGCCAGTTCCAGAATTTCGCCGAT
+>r543
+CCGGAGATACGCCCTTCCAACTCGCCCATCAAAGC
+>r544
+GAGTCGTTTCATTATTGAAAATCGGCTGACCAAAC
+>r545
+TGGTATGCAGTTGATGATCGAAGAAAACGACATCA
+>r546
+AGACTCCTAACTTCCATGGGAGGGTACGTAGCAGA
+>r547
+CCGCCGAACTTCAACACTCGCATGGTTGTTACCTC
+>r548
+CGGATGTCGCGGTCAGAATGGTCACTGGCTTATCG
+>r549
+AAGAAAGCTCCATCGCTTCCTGATAGGACATCGAC
+>r550
+GCCTTTTTGTTCGGCGTAACAACGTGGAAACCTTC
+>r551
+AAACGCCCTGGCCTTCTATAGCCACTATTATCAGC
+>r552
+TGATTACCAAAGCCCGTTGACCACCACGCGCTATA
+>r553
+ACGGTAGGGTTCAGCGATAACATCTTTCATCAGCT
+>r554
+AAAGAATTTCGCCGAGATCCCACGTAAGGTGCGCA
+>r555
+TGGGGCGACCACGGCTGGTGGAAACAACATTATGA
+>r556
+AACACTGCGGCAAGCCGCTTAATGACACTCGTTTG
+>r557
+GCGGGTTTCCAGTTCAAACGGCGTGGTTAGCGCCG
+>r558
+CTGCATTAAATCGAGCGGGCGCAGTACGCCATACA
+>r559
+AATCAGGAAGGTTTTGTTCATATTTGCCGGCTGGA
+>r560
+GGATCCTGGTTGTGCTGCCACAGGAACTCGGACTC
+>r561
+AAACGCATTAGCACCACCATTACCACCACCATCAC
+>r562
+ACCACCAGCTCGCCTTTTTCATTACCGGCAGTGAA
+>r563
+CTGACGAAGGGAGGTCAATTTGTCCGTCATGATAG
+>r564
+TTGATGGGCGAGTTGGAAGGGCGTATCTCCGGCAG
+>r565
+TGCTGCAACCACTTCCGGTGCCGTTTCAACGTATG
+>r566
+AAATACCGGAAATCCCCAAGCACCAGGTACGCTCA
+>r567
+GATGTTTGTCAGGCCCCGGACGATGATCGCCACGA
+>r568
+GTTTCCTGCACGACGGTCAGTGGTCACCCAAAGCG
+>r569
+GCCCGGCTTTTTTTATGAAGAAAATATGGAGAAAA
+>r570
+CCGCAGGAAATCCTGGAAGAGCGCGTACGTGCGGC
+>r571
+ACGCGCGGCAAAGAGATCGTCGAGCTGTGACAGAT
+>r572
+GGCAAGCCGCTTAATGACACTCGTTTGCTGGCTTT
+>r573
+CGCCACCGACGCCAATCACAAACACTTCGATAACC
+>r574
+CGGATGCGGAGGCCAGGACGCAGCTGCCGCTGCCG
+>r575
+CTGGCAGTAACCGTTCACGGTAGGGTTCAGCGATA
+>r576
+CCGGTTCGGTATAACCCATTTCCCGCGCCAGTGTG
+>r577
+CACGGGCCAACGCTGGCATTTAAAGATTTCGGCGG
+>r578
+GGTCATCTGCACGGCAAGCGCCATGCTGATATTAC
+>r579
+ACCACTGACCGTCGTGCAGGAAACGTGGTACGGTA
+>r580
+GTGCAGTTTCGCTACATCCGCCAGTTTGGCAAAAG
+>r581
+ATCATCGTTATTGACCACGACAGAGATTGAGCGTT
+>r582
+CACTGGAATTTGCTTGCCAAGCTCCTGGCAAAAAC
+>r583
+GGCAATGACGTTACAGCTGCCGGTGTCTTTGCTGA
+>r584
+TGTTACGGAAGCTTGCGCCCATAACCACGGTTTCA
+>r585
+GGCGCACGAGTACTGGAAAACTAAATGAAACTCTA
+>r586
+CTGGGACGCAACGGTTCCGACTACTCCGCTGCGGT
+>r587
+CGAATCTGTCACAGCTCGACGATCTCTTTGCCGCG
+>r588
+ACGCCGGCCATAATGGCGATCGACATTTTCTCGCC
+>r589
+AGGGAAAGATCTGTATCAATTCTGGGGAGATATCA
+>r590
+AGTCTATTAAAGAGACGCTGGAAGGTGTGAAGGAC
+>r591
+CCTGATTTTGCAGGTAGTTCTTACCCAACCAGTCG
+>r592
+CGGGCGGAACTGGCCCTGCGCGTCGTGACGTAACG
+>r593
+GTTAATAAAGGAGAAAAAATCTGGCATGCATATCC
+>r594
+ATACCCGCCAGTTTGTCGCTGATGCGCATCAGGGA
+>r595
+CTTAGCGTGACCGGGAAGTCGGTCACGCTACCTCT
+>r596
+TCCAGAGTCATCGCCACTGGAATTTGCTTGCCAAG
+>r597
+TAAACAGTCTCGTTAAGCAGAATGATACACTGCGA
+>r598
+AATTGTGCCAGCGGAAATCCCGGCTGGGCGGCGGC
+>r599
+CTAATTGTTAAGCTCCCCCCGCTCGAAGGGATAAG
+>r600
+TCCCGTTTCACGAGCGAGAATCAATAGCTTACGCG
+>r601
+CGTCTTTCCTATGACACCGAAGCGTCAATTGCGAA
+>r602
+AGATGGCGTCTGCCGCGTGAAGATTGCCGAAGTGG
+>r603
+GTAAATTAAAATTTTATTGACTTAGGTCACTAAAT
+>r604
+CCGTTGGCGGTGACGGAACGGCTGGCCATTATCTC
+>r605
+TCAGGCGAACGCCGTTGCGCGAGCCCTGAGTTTTT
+>r606
+AGCAGCGCACCGCCAACGCCACCGACGCCAATCAC
+>r607
+GTCGATGGATTACTACCATCAGTTGCGTTATGCGG
+>r608
+ATGTCACGCGCCCGTATTTCCGTGGTGCTGATTAC
+>r609
+TCCATGAAACGCATTAGCACCACCATTACCACCAC
+>r610
+CGGCCTGATTGAGATAATGAATAGATGTTACTGAT
+>r611
+CGGTGATACTGGAGCGGCAGTGGCTCATGCTTTCT
+>r612
+TGCGGGCAATGACGTTACAGCTGCCGGTGTCTTTG
+>r613
+GAAGGCAAACAGAATAACCACGAGGGTAACAAACT
+>r614
+GCATACCATCACCTACCACCGAGATAATGGCCAGC
+>r615
+GCCCCAATGACCGCCATCCCAGTAATAGCCACGAT
+>r616
+CGATGAATGAACACTGCGGCAAGCCGCTTAATGAC
+>r617
+GCTGGGCGTTGTCTAACAGCTCCGGCAGCGTATAG
+>r618
+GAACAGAACGCCCATCCAGCGCATCCCCAGCCCGC
+>r619
+TTCAATACCGATCAGGTTATCGAAGTGTTTGTGAT
+>r620
+CCGGATCTTCTGCCGGAGCGTACTCTTTCTTATCG
+>r621
+ACGTTACAGCTGCCGGTGTCTTTGCTGATCTGCTA
+>r622
+CGTTACAGCTGCCGGTGTCTTTGCTGATCTGCTAC
+>r623
+AGGCGTTTGATGATGAAGAACTGAAAGTGGCGCTG
+>r624
+TCAGGAAGCGATGGAGCTTTCTTACTTCGGCGCTA
+>r625
+AATCAGCGCAGCGTTGATGCTATCCGGGCACTGCC
+>r626
+TAAACTCGGCGTGCGCCCGGTGTTTGATCCGTTGC
+>r627
+CCGCTGGAAGGTATTCAGCTTATCCAGAAGGCGAT
+>r628
+CTTTAAACAGCTTGTTAGGGGGATGTAACCGGTCT
+>r629
+TTTTCACAGGTTACTCCTTTTATCATTGCCCGTTA
+>r630
+TTTAGGGTTGTTCAGGCGTAAAAAGAAGAGATTGT
+>r631
+AGTTTTGCGCTATGTTGGCAATATTGATGAAGATG
+>r632
+GGCGTGAATGAAGCCTGCCAGATGTCGCCCGTGCG
+>r633
+AACTGGCAGGAAGAACTGGCGCAAGCCAAAGAGCC
+>r634
+GGCCATTATCTCGGTGGTAGGTGATGGTATGCGCA
+>r635
+TGTGCTGCCCGCAGAGTTTAACGCCGAGGGTGATG
+>r636
+CGTGGTCGCCCCAATGACCGCCATCCCAGTAATAG
+>r637
+CAGTATCGCCGCCAGGATTGCATTGCGCACGGGCG
+>r638
+CGTTGGTACTGCGCGGATATGGTGCGGGCAATGAC
+>r639
+AGAGCGTGGAAGCGATTCTCGGTGAAACGTTGGAT
+>r640
+CTCGGTGAAACGTTGGATCTGCCAAAAGAGCTGGC
+>r641
+ATCCACTTCGGCAATCTTCACGCGGCAGACGCCAT
+>r642
+AGAAAACGTTCTGCATTTGCCACTGATGTACCGCC
+>r643
+CCGGCAGCGCAAGGAATTGTCCAGATGATTGGCAT
+>r644
+GGCATATTCTTTTCCAGAGTCATCGCCACTGGAAT
+>r645
+GAGAGTGCTTTTGGCTGGCAGGAAGCTGCAGGCGG
+>r646
+CGGTCCATGTGGGTGCCAGCGATTGCCTCGCCATT
+>r647
+GTCTTGAGAATGCCCGAGGGAAAGATCTGTATCAA
+>r648
+CGTTGCTAATACCTGCATCGTTGTAGAGTTTGATC
+>r649
+ATGCTTTCCGGCTTGTATGGCGTACTGCGCCCGCT
+>r650
+CCGCGACATCCGGTGATACTGGAGCGGCAGTGGCT
+>r651
+GCAGCTTATCGGCAAAGCGTCCGAGGTTGTTGAGA
+>r652
+TGATTCTTATTTCACCTGCGAAAACGCTTGATTAC
+>r653
+TCCCGCAGGAAATCCTGGAAGAGCGCGTACGTGCG
+>r654
+GGTTGTTCAGGCGTAAAAAGAAGAGATTGTTTTCG
+>r655
+TTTAAACAGTCTCGTTAAGCAGAATGATACACTGC
+>r656
+CGTTAGTAATCGCCTGGCTTAAGGTATATCCCGCC
+>r657
+GCCAAGCTCCTGGCAAAAACGCTCCCAGCACTGAT
+>r658
+TTGCCTGATTAAAAATACCGGAAATCCCCAAGCAC
+>r659
+AGCTGGAAAAAGAAGGTATTAACTGTAACCTGACC
+>r660
+GCCTGGATTCAACTGGTCACGCAGCGCACGATAAG
+>r661
+AGGTGCCGCCGATGACCGTTGCGAAGGTGCAGATC
+>r662
+AGGCGATCGTGATAATCGTGGCTATTACTGGGATG
+>r663
+CAGCAGCGCACCGCCAACGCCACCGACGCCAATCA
+>r664
+CCAGCGCCTGTTCAGTGGTCGCGGCGCTGATGGCG
+>r665
+CTGTGGTTCATACCATTGCCAGTGATTATCTACGC
+>r666
+GATAGCCCCTTCGCTCTCCGCCAGCTCTTTCAGCA
+>r667
+AGCCCGAACCGATCGGCATATTCTTTTCCAGAGTC
+>r668
+AAAAATCGCGGCGTAAATTCCTCTATGACACCAAC
+>r669
+TGTACAGAACAGTTTTTCTTGCAGTGGACTGATTT
+>r670
+AGTTTGATCAGAATACGATCGTTGCTAATACCTGC
+>r671
+TAATGGGTTCCTGGGGTGCGGAGTTTGTTACCCTC
+>r672
+AAATTCTCAATAAATGCGGTAACTTAGAGATTAGG
+>r673
+ATCCCCGATGAGCAGGCGATCATCGAGCAAACGTT
+>r674
+TGAACCTGTGCTGCCCGCAGAGTTTAACGCCGAGG
+>r675
+GGTGCCACGTTGTCGTAATGAATGCTGCCGGAGAT
+>r676
+AGGGATAAGATTGTTAACAACGTGCGCTTTGTTTA
+>r677
+CCGAGTTTACGCTGGCGTAGATAATCACTGGCAAT
+>r678
+ATGCGGTAACTTAGAGATTAGGATTGCGGAGAATA
+>r679
+GTTGAAGAATAAACATATCGACTTACGTGTCTGCG
+>r680
+GAGATGATCTTTCTGGCATGGATGTGGCGCGTAAG
+>r681
+GACGGACAAATTGACCTCCCTTCGTCAGTACACCA
+>r682
+GCTGATATTGGGTAAAGCATCCTGACCGCTAATGG
+>r683
+AGACGCGTGGGATGATGTTTCGCAGGAGTAATCAC
+>r684
+GCGTCGCCCGGCTCATGCAGGGGTTTGTCCCGTTG
+>r685
+CATGCTTTCTACGGTTTACCGAATGTGAAAGTGGT
+>r686
+CGCAGAAAACGTTCTGCATTTGCCACTGATGTACC
+>r687
+CTCATTTCAGTCATTGTGTACCAGTCTTGCAGCGC
+>r688
+CCGTCAGCTTGAGCTTGCCGCGAAGCTGATGAAAG
+>r689
+AAGCTGTTTAAAGAGAAATACTATCATGACGGACA
+>r690
+TAATTGCCAGCGCAACGCCGGCCAGGTTGCCGCTA
+>r691
+TGGTGATAAATCTGGCGTCAGATGAGTATTTTAAA
+>r692
+ACCACCATCACCATTACCACAGGTAACGGTGCGGG
+>r693
+TTCATCAAGATTTTTCCGTTTAAACAGTCTCGTTA
+>r694
+GCAAATTCCTGGTCGACGAAAGTTTTCAATTGTGC
+>r695
+ACCACGCGCTATACGCTGCCGGAGCTGTTAGACAA
+>r696
+TGGCAGATCAATATGCCGACTTCCTGCGCGAAGGT
+>r697
+TTCGGCAAAAATAAGTTCGGCATCGCTGATATTGG
+>r698
+CGGCGGAACAACTCTTCCACACGCGGCCAGTTGTT
+>r699
+GAGGGATATGCATGCCAGATTTTTTCTCCTTTATT
+>r700
+GGTCGAAAAAAAAGCCCGCACTGTCAGGTGCGGGC
+>r701
+GCGCGTACGTGCGGCGTTTGCCTTCCCGGCTCCGG
+>r702
+CAGTTCAAACGGCGTGGTTAGCGCCGATGTCAGCC
+>r703
+AAACGCCAGAATTGCCTGGCGGGCATTCTCCGGTG
+>r704
+GCAGGTTATGCGAAAGCAAGGGTAAATCAGCACGT
+>r705
+GATTCATCATCAATTTACGCAACGCAGCAAAATCG
+>r706
+GACGGTCAGTGGTCACCCAAAGCGACTCAGGCGAC
+>r707
+TAAGTCAATAAAATTTTAATTTACTCACGGCAGGT
+>r708
+CCAGGCTTTGGTGAACAGATGCGCCAGATCAGCCT
+>r709
+ACGCCAGCGTAAACTCGGCGTGCGCCCGGTGTTTG
+>r710
+CAACCTCGGACGCTTTGCCGATAAGCTGCCGTCAG
+>r711
+AGAAGAACGGCAAATTTAAGATCATCAGCTTCTAC
+>r712
+CTACAAAATCGTGCAAATTCAATATATTGCAAGAA
+>r713
+AAAAATTACAGAGTACACAACATCCATGAAACGCA
+>r714
+GCTTTCTTATATCTTCGGCAAGTTAGACGAAGGCA
+>r715
+CTTCCATGGGAGGGTACGTAGCAGATCAGCAAAGA
+>r716
+TTCCTGCAAGGACTGGATATGCTGATTCTTATTTC
+>r717
+ATACGCCCTTCCAACTCGCCCATCAAAGCCAGCAA
+>r718
+TCGCCTGGGCGAAACAGCAGAGCAACGATCGCGCG
+>r719
+ATGTCCTATCAGGAAGCGATGGAGCTTTCTTACTT
+>r720
+ATGAAGGAAAAGTTTTGCGCTATGTTGGCAATATT
+>r721
+AAACTCTACAACGATGCAGGTATTAGCAACGATCG
+>r722
+GTGGGGGTGATTCGCAAACAGGCGCTGATCCTTAA
+>r723
+AATCTCGGGCGCTTAATTCGCCTCGTGAAAGAATA
+>r724
+GCGATGCCGAACTTATTTTTGCCGAACTTCTGACG
+>r725
+GATCATCGTCCGGGGCCTGACAAACATCATCGCTA
+>r726
+TCGCCATGCCGATAAATGCGGCAACCCACATCCAG
+>r727
+GGGCGATGGGGGTAATGGTGCGGGGGTGAAGAACT
+>r728
+CCATGAAACGCATTAGCACCACCATTACCACCACC
+>r729
+ACAACTCTTCCACACGCGGCCAGTTGTTTGGCTGG
+>r730
+TGATCTGCCACAGCCTGGCTGGAAGTACAGTCAAC
+>r731
+TGACATCGCTGCAAAGACGCGCGCCGCCATGCCAA
+>r732
+GATGTCGCGGTCAGAATGGTCACTGGCTTATCGCC
+>r733
+GTCATCGCCACTGGAATTTGCTTGCCAAGCTCCTG
+>r734
+TGATCCGTTGCGTTATCCGGAGATCGGTCGCCAGC
+>r735
+TCATCCACGGCTGCATAACCCAGCTCTTTCAGTTG
+>r736
+GGCGCACGCCGAGTTTACGCTGGCGTAGATAATCA
+>r737
+CGCCGCTCGCTTTCATGACTGGCAGCCAAATTTCA
+>r738
+ACATCCCCCTAACAAGCTGTTTAAAGAGAAATACT
+>r739
+GCCAACGGCTCCAGTAAGCCTTCTTTCAGTTCCAG
+>r740
+GCACCATCAACAGGTGTCACCGCCGCCCCGAGCAC
+>r741
+GGATTCAACTGGTCACGCAGCGCACGATAAGCTAC
+>r742
+GCAGGAAACGTGGTACGGTATCGTTCACGTTGGTC
+>r743
+GGCAAAAATAAGTTCGGCATCGCTGATATTGGGTA
+>r744
+GATAAGGCGTTCACGCCGCATCCGGCATAAACAAA
+>r745
+CGGCCTACAAAATCGTGCAAATTCAATATATTGCA
+>r746
+GAAAAGTTTTGCGCTATGTTGGCAATATTGATGAA
+>r747
+GTCTCAACAACCTCGGACGCTTTGCCGATAAGCTG
+>r748
+CCTGCGCGAAGGTTTCCACGTTGTTACGCCGAACA
+>r749
+CGTCATGATAGTATTTCTCTTTAAACAGCTTGTTA
+>r750
+TAACCAGTTCAGAAGCTGCTATCAGACACTCTTTT
+>r751
+CTGCGGGTGACAAAATCCAGCTTCAGCATCTCATC
+>r752
+AACCGGACCCGCGAGATGATCTTTCTGGCATGGAT
+>r753
+CACGATTATCACGATCGCCTATCTGTAATTTTACT
+>r754
+TTGCCGCAAGAAGCACGTAACCAGTTGGTTGTCTC
+>r755
+GGCGGTGCGCTGCTGGAGCAACTGAAGCGTCAGCA
+>r756
+TATGCCTATATTGGTTAAAGTATTTAGTGACCTAA
+>r757
+ATTGCTTTCCAGAATATCGGCAACCCGCAGAAAAC
+>r758
+AATCTCCGGATATCGACCCATAACGGGCAATGATA
+>r759
+ACCATCAGTTGCGTTATGCGGCGGAAAAATCGCGG
+>r760
+CGTGAACTGGAGCTGGCGGATATTGAAATTGAACC
+>r761
+CGGCAGAAGCCAGGGCTATTTTACCGGCGCAGTAT
+>r762
+GAGATATCATCACCAACAAGCTGAACGAGGCGCTC
+>r763
+CCAGCGCCACTTTCAGTTCTTCATCATCAAACGCC
+>r764
+TATTAACTGTAACCTGACCCTGCTGTTCTCCTTCG
+>r765
+TGTCAGACTCCTAACTTCCATGGGAGGGTACGTAG
+>r766
+GTATGCTACGCAGAAGTTATCCAAGTACCTCGTAG
+>r767
+TATATACTTCGTAAACAATTGGTAACGTTTACACA
+>r768
+CCACATCAGCGGAAAACTTAACAAGGTGCCGCCGA
+>r769
+ATTCAGACCGAAGAGTGCAAGACGCGAAGTTAGCG
+>r770
+TGCAGGAAATTTATGCCGACTTTAGCAAAAAAAGA
+>r771
+TAGGCGATGAGCAAAAAGACGGCGAACAGAACGCC
+>r772
+GAGACAACCAACTGGTTACGTGCTTCTTGCGGCAA
+>r773
+GCCTGACTGAAATTGATGAGATGCTGAAGCTGGAT
+>r774
+GCATAAAAGCAAACCCGGCCTGATTGAGATAATGA
+>r775
+CGCTTCCTGATAGGACATCGACTTCAACAACCTCG
+>r776
+GCCCAAATAAAACATGTCCTGCATGGCATCAGTTT
+>r777
+ACCGCATTTATTGAGAATTTCTCCTTTTTCCCTGT
+>r778
+AATGAAGCCTGCCAGATGTCGCCCGTGCGCAATGC
+>r779
+GACCCACTGCCAGCAGTTTTTCGACCGGATCGATA
+>r780
+GGAAACGTGGTACGGTATCGTTCACGTTGGTCGCA
+>r781
+CTGCCGTCGAGACTTTAATCCCCGGATACGCCAGC
+>r782
+TTTACGCTGGCGTAGATAATCACTGGCAATGGTAT
+>r783
+AGCAAAGCTGGTTGAAGAATAAACATATCGACTTA
+>r784
+CTTCCCCACGTCATTTGGTCTATTTTTGAGAGTGC
+>r785
+CATGGCGCTTGCCGTGCAGATGACCAGGGTGTCGA
+>r786
+GAATATGCCGATCGGTTCGGGCTTAGGCTCCAGCG
+>r787
+CATATCCGCGCAGTACCAACGGCAGCGGCTGATAA
+>r788
+TCGCAATTGACGCTTCGGTGTCATAGGAAAGACGC
+>r789
+GCAGTTTTGCGTTTGTCATCAGTCTGATCCCCCCG
+>r790
+TCTGGAACTGGCAGGCTGCGACCGTCTGACCATCG
+>r791
+GTTCGCTCTGTGTGACAAGCCGGATACCGCCCAGC
+>r792
+AGAGGCCCAATTCGCTGCGTTGATATCGCCCGCCA
+>r793
+GAAAGATCATCTCGCGGGTCCGGTTCGGTATAACC
+>r794
+TACCGAGTGGAAACTTCGGCGATTTGACGGCGGGT
+>r795
+GCCATACGTTGAAACGGCACCGGAAGTGGTTGCAG
+>r796
+TCCCCGATGAGCAGGCGATCATCGAGCAAACGTTG
+>r797
+AGTGGTTATCCTCTATCCACGAGGCAAAATCAGTC
+>r798
+TTGAAAACTTTCGTCGACCAGGAATTTGCCCAAAT
+>r799
+GTGGTCGCCCCAATGACCGCCATCCCAGTAATAGC
+>r800
+GCCGAGAGGATCTTCGCACTGCGGGTGACAAAATC
+>r801
+AATCCTGGAAGAGCGCGTACGTGCGGCGTTTGCCT
+>r802
+CGGCAAAGCGTCCGAGGTTGTTGAGACTGAATGTC
+>r803
+ACTTCCCCACGTCATTTGGTCTATTTTTGAGAGTG
+>r804
+CGCCCTTCCAACTCGCCCATCAAAGCCAGCAAACG
+>r805
+ATCTTCGCACTGCGGGTGACAAAATCCAGCTTCAG
+>r806
+GGATAACCACTTTCACATTCGGTAAACCGTAGAAA
+>r807
+TTTTCTCCTTTATTAACAGCGTCCTTTGGGGATCG
+>r808
+TCTCTTTGCCGCGCGTGTGGCGAAGGCCCGTGATG
+>r809
+AACGCCCAGCAGCTGATCCATGAAGCGCGGAAACT
+>r810
+CCATTTCCCGCGCCAGTGTGGTCGCCTCGGAGAAA
+>r811
+CAAAGCGAATACCGATAAGAAAGAGTACGCTCCGG
+>r812
+ATCCCAGTAATAGCCACGATTATCACGATCGCCTA
+>r813
+GCATCACGTTCTTTATAAAGCTGTGCGAGGGAACA
+>r814
+TTGCATCTTTTTCACAGGTTACTCCTTTTATCATT
+>r815
+ATCGATCAACTCATTCTCTTTTTTTGCTAAAGTCG
+>r816
+GAACTGAAAGAAGGCTTACTGGAGCCGTTGGCGGT
+>r817
+GGGCGTGGTTTCTGTATCTGAAATCTACCAGTACT
+>r818
+CCAATCATCTGGACAATTCCTTGCGCTGCCGGATG
+>r819
+GCTGCGTGACCAGTTGAATCCAGGCGAATATGGCT
+>r820
+TCTGCTTAACGAGACTGTTTAAACGGAAAAATCTT
+>r821
+TGCGTGACCAGTTGAATCCAGGCGAATATGGCTTG
+>r822
+TGTCACAGCTCGACGATCTCTTTGCCGCGCGTGTG
+>r823
+GTACGGTATCGTTCACGTTGGTCGCAGCAATAAAA
+>r824
+CGCCATAACAAGCACAATGATCATCGTGGCGATCA
+>r825
+GTGGACGCGACCGACAAACTGGCAGTAAATATTGG
+>r826
+ATCGGTTCGGGCTTAGGCTCCAGCGCCTGTTCAGT
+>r827
+AGCTGATGATCTTAAATTTGCCGTTCTTCTCATCG
+>r828
+TGGTAATGATCCGCTGTTCAAAGTGAAAAATGGCG
+>r829
+CTTAAGCCAGGCGATTACTAACGGTTTTCAGCGCA
+>r830
+ACCGTGGTTATGGGCGCAAGCTTCCGTAACATCGG
+>r831
+ACAGCCACTCATCAAACCCTGGCACTTGCTGGCTG
+>r832
+CTTAGGTCACTAAATACTTTAACCAATATAGGCAT
+>r833
+CTCATCGCCTACGGCATAATTTTCAGCGGAGTTCA
+>r834
+GCAAATTCCTGGTCGACGAAAGTTTTCAATTGTGC
+>r835
+CTTATCCGGCCTACAAAATCGTGCAAATTCAATAT
+>r836
+AGCGGTATCTCCGGCTCCGGCCCGACTTTGTTCGC
+>r837
+CATTCAATTTCTTCGGCTTCACCGATTTAAAATAC
+>r838
+AGGTTTTGTTCATATTTGCCGGCTGGATACGGCGG
+>r839
+CATGGTATATGGCGCGCGGGCTGGGGATGCGCTGG
+>r840
+ATGGGCAGTTTCGTGGCGGACCGGCATGGTATATG
+>r841
+TCAAGACGTATCCCCATTTCCAGACGATAAGGCTG
+>r842
+ATGCCGGATGGCAATCCGGCATTGATATTTAGCGA
+>r843
+AGCGCAGGCTGCGGAAATTACGCTAGTCCCGTCAG
+>r844
+TTGCCGCTACCCACGCGCGCTGCAAGACTGGTACA
+>r845
+CATCCATGCCAGAAAGATCATCTCGCGGGTCCGGT
+>r846
+GTAATCCAGCCCCAACGTTGGTGTCATAGAGGAAT
+>r847
+TGGCGATGACTCTGGAAAAGAATATGCCGATCGGT
+>r848
+ATTTGCCACTGATGTACCGCCGAACTTCAACACTC
+>r849
+AACAACGTGGAAACCTTCGCGCAGGAAGTCGGCAT
+>r850
+GCCAGTGGTCGCATCATCGTTATTGACCACGACAG
+>r851
+GCCAGGCGATTACTAACGGTTTTCAGCGCAGTATG
+>r852
+CGATATTTTCCCGTGGCTCTGACGGCAGCTTATCG
+>r853
+TCAGCGTTTCCGGCCCGGGGATGAAAGGGATGGTT
+>r854
+ACTGCGATCCTTTCGCGTCAGGTGGGGGTGATTCG
+>r855
+GAATCCAGGCGAATATGGCTTGTTCCTCGGCACCG
+>r856
+CAGTACCCAGATTATCGCCATCAACGGGACAAACC
+>r857
+CCGAGAGGATCTTCGCACTGCGGGTGACAAAATCC
+>r858
+GGGTCGATATCCGGAGATTACGCGATGAGAACGGC
+>r859
+GGCGTCGCCCGGCTCATGCAGGGGTTTGTCCCGTT
+>r860
+CTGGCCATTATCTCGGTGGTAGGTGATGGTATGCG
+>r861
+CGCTGGATGCGCGATCAGAGATGGAAACTAAGCCA
+>r862
+CGTAAACAATTGGTAACGTTTACACAGGAAAGTCA
+>r863
+GGCAAGTTAGACGAAGGCATGAGTTTCTCCGAGGC
+>r864
+CATAATGTTGTTTCCACCAGCCGTGGTCGCCCCAA
+>r865
+TGACAAACATCATCGCTAAATATCAATGCCGGATT
+>r866
+GAAAAGTTTTGCGCTATGTTGGCAATATTGATGAA
+>r867
+TTCCGCACAAGCACGAGCCTGAGCGAAGGAGAACA
+>r868
+TGCGCTGCTGGAGCAACTGAAGCGTCAGCAAAGCT
+>r869
+CACGGCTGGCACCAATGAGCGTACCTGGTGCTTGG
+>r870
+ATCAATTTACGCAACGCAGCAAAATCGGCGGGCAG
+>r871
+CTGGACGGATGTTGACGGTGTTTATACCTGCGATC
+>r872
+TGAACAGATGCGCCAGATCAGCCTGCATTTTGTAC
+>r873
+AGGGCATTTCCAATCTGAATAACATGGCAATGTTC
+>r874
+TCGGCGGTCGCTTTATGGCACAAATGCTGACCCAT
+>r875
+TTCCGCACGACCTGCCGGAATTCAGCCTGACTGAA
+>r876
+CAACTGTGCGACAGCCTCAAAGTAATAACAAATCT
+>r877
+TCAGCAGATGATATTCTTTCACGAGGCGAATTAAG
+>r878
+GGCCTCTAGATGCATGCTCGAGCGGCCGCCAGTGT
+>r879
+TGAATACCTTCCAGCGGCATGTAGGTTGTGCCGTT
+>r880
+ACGCTCTCTTTAAATTTCGCCGGATGCGCGGTGCC
+>r881
+ACACTGCGGCAAGCCGCTTAATGACACTCGTTTGC
+>r882
+CCCTTTCATCCCCGGGCCGGAAACGCTGAACATTG
+>r883
+CTGAACCCGGTCATTGTTGACTGTACTTCCAGCCA
+>r884
+CTGAACGCTCAATCTCTGTCGTGGTCAATAACGAT
+>r885
+GGGAATAGCAGGCGTGAATGAAGCCTGCCAGATGT
+>r886
+ATTAAACGGCTCTTTGGCTTGCGCCAGTTCTTCCT
+>r887
+GAAGGCTTACTGGAGCCGTTGGCGGTGACGGAACG
+>r888
+GAAAATCGGCTGACCAAACCAGAGCAACTGACTGG
+>r889
+GCATGGTTATGAAACCGTGGTTATGGGCGCAAGCT
+>r890
+TGATGAAATCCCGCAGGAAATCCTGGAAGAGCGCG
+>r891
+GCTCGAGCATGCATCTAGAGGCCCAATTCGCTGCG
+>r892
+AAGTCGGCATATTGATCTGCCACAGCCTGGCTGGA
+>r893
+GCATCCGGCAGCGCAAGGAATTGTCCAGATGATTG
+>r894
+GTCAGGATGCTTTACCCAATATCAGCGATGCCGAA
+>r895
+TTTTATTCGCTAACTTCGCGTCTTGCACTCTTCGG
+>r896
+ACTTTTCCTTCATCACGGGCCTTCGCCACACGCGC
+>r897
+GGAGTGACAGACAGGTTTCAGAAGAGGTAGCGTGA
+>r898
+TTCCACACGCGGCCAGTTGTTTGGCTGGCTAACAT
+>r899
+TAAGGATCAGCGCCTGTTTGCGAATCACCCCCACC
+>r900
+GTCGACCAGGAATTTGCCCAAATAAAACATGTCCT
+>r901
+GGGCGCTTAATTCGCCTCGTGAAAGAATATCATCT
+>r902
+TGAAAGATCACAATGAGCAGGTCAGCTTTGCGCAA
+>r903
+TGCCAGTTGCCACATCAGCGGAAAACTTAACAAGG
+>r904
+CTCCGCCAGCTCTTTCAGCAGTGCCGGTGCGATGG
+>r905
+GTGAGCAGTGCCTTCGAGTTAGCAACACCGCAGAC
+>r906
+GCGAATTGGGCCTCTAGATGCATGCTCGAGCGGCC
+>r907
+AATGGGCAGTTTCGTGGCGGACCGGCATGGTATAT
+>r908
+TGACTGGCAGCCAAATTTCACACCGGAGAATGCCC
+>r909
+CAGGAAATTTATGCCGACTTTAGCAAAAAAAGAGA
+>r910
+TTGGGTGACCACTGACCGTCGTGCAGGAAACGTGG
+>r911
+ATTTACTGCCAGTTTGTCGGTCGCGTCCACGATCT
+>r912
+TGTTTCCACCAGCCGTGGTCGCCCCAATGACCGCC
+>r913
+CGGCAACGCGCTGGGCGGTATCCGGCTTGTCACAC
+>r914
+CGGTGAAACGTTGGATCTGCCAAAAGAGCTGGCAG
+>r915
+ACAACCAGGATCCAATGGCAGTAGATAAACTGGCG
+>r916
+GGCAAAGAGATCGTCGAGCTGTGACAGATTCGCCA
+>r917
+GTTGTGACCACGCGCTTCTAACACGCCGGCCATAA
+>r918
+TGATTTGCCGTGGCGAGAAAATGTCGATCGCCATT
+>r919
+AAGTCGGCATATTGATCTGCCACAGCCTGGCTGGA
+>r920
+CACGATGATCATTGTGCTTGTTATGGCGCGGCGAT
+>r921
+GATGATCTTTCTGGCATGGATGTGGCGCGTAAGCT
+>r922
+GCAACGGGCAATATGTCTCTGTGTGGATTAAAAAA
+>r923
+GAGCGGCGTTGATACCCGCCAGTTTGTCGCTGATG
+>r924
+AATTGTGCCAGCGGAAATCCCGGCTGGGCGGCGGC
+>r925
+CTTCTGAAACCTGTCTGTCACTCCCTTCGCAGTGT
+>r926
+GCAAACCCGGCCTGATTGAGATAATGAATAGATGT
+>r927
+CGAAGGAGAACAGCAGGGTCAGGTTACAGTTAATA
+>r928
+CCTTTCATCCCCGGGCCGGAAACGCTGAACATTGC
+>r929
+AGTTGGCAACGATGGAGCTGAAGGCAAACAGAATA
+>r930
+TGCTGTTCAATACCGATCAGGTTATCGAAGTGTTT
+>r931
+GCGGCAACTGTGCGACAGCCTCAAAGTAATAACAA
+>r932
+GAGCTTGGCAAGCAAATTCCAGTGGCGATGACTCT
+>r933
+GTTCCTGGGGTGCGGAGTTTGTTACCCTCGTGGTT
+>r934
+CCTTTTATCATTGCCCGTTATGGGTCGATATCCGG
+>r935
+AAGGTGTGAAGGACGCTGAGGGTAACGTTGTGGTG
+>r936
+AGTAAAATTACAGATAGGCGATCGTGATAATCGTG
+>r937
+GTTTTTTCAATCATCGCTACCAGATGGTTGGTGAT
+>r938
+ACGGTGGTGTACTGACGAAGGGAGGTCAATTTGTC
+>r939
+GTTATCCTCTATCCACGAGGCAAAATCAGTCCACT
+>r940
+CCGGATGGCAATCCGGCATTGATATTTAGCGATGA
+>r941
+ATTTGACCGCCATATTACTGCTCTCGCCTGTGGTT
+>r942
+TCGGGCAACTTCCCCACGTCATTTGGTCTATTTTT
+>r943
+GGAGTAGTCGGAACCGTTGCGTCCCAGAACCACCA
+>r944
+TCTGTGTGGATTAAAAAAAGAGTGTCTGATAGCAG
+>r945
+TTTTCTTTTGATTTTCCCCCGCTGGTAACAGGTAT
+>r946
+TCCCCCCGCCTGGGGGGATTTTTTTATTCGCTAAC
+>r947
+ACGGCCAACAAACGGCGAGATCAGGAACACGCCCG
+>r948
+GTTTGCGAATCACCCCCACCTGACGCGAAAGGATC
+>r949
+CGCTGGCGTAGATAATCACTGGCAATGGTATGAAC
+>r950
+AGATGACCAGGGTGTCGATAAAAATGCCAATCATC
+>r951
+CACCGCCAACGCCACCGACGCCAATCACAAACACT
+>r952
+CGGCAGACCGAGTGACTTCGCCAGCAGACCCGCCG
+>r953
+GTTACCTCGTTACCTTTGGTCGAAAAAAAAGCCCG
+>r954
+ACGTAAGGTGCGCATACCATCACCTACCACCGAGA
+>r955
+TAAAGATTTCGGCGGTCGCTTTATGGCACAAATGC
+>r956
+AAAATAAGTTCGGCATCGCTGATATTGGGTAAAGC
+>r957
+CCGGCGTTGCGCTGGCAATTACCGCCGGTGGACCT
+>r958
+ATCAGGCGTTTTGCTTTCGCAATTGACGCTTCGGT
+>r959
+TAAACTCTGCGGGCAGCACAGGTTCAATTTCAATA
+>r960
+CATCTTCATCAATATTGCCAACATAGCGCAAAACT
+>r961
+ATGGCGGTCAAATTGGTAATAGCCATGCAGGCCAT
+>r962
+AACAGCGTCCTTTGGGGATCGGTAATGATTTACCT
+>r963
+ACGGCAGTTGTTATTCTCCGCAATCCTAATCTCTA
+>r964
+GCGGGAATGGGGTCGACGCCAAACGCGGCAGCGGC
+>r965
+CGCAGCGCACGATAAGCTACGGCAGCGTGCGGCTC
+>r966
+TATCAGCGATGCCGAACTTATTTTTGCCGAACTTC
+>r967
+AAAAAGATGCAATCTATCGTACTCGCACTTTCCCT
+>r968
+CCCGTTCAGCTCGCACACAGTCGCTTTGCGGAACG
+>r969
+GGCGGTACATCAGTGGCAAATGCAGAACGTTTTCT
+>r970
+AGCAAAGACACCGGCAGCTGTAACGTCATTGCCCG
+>r971
+TCGGCATAAATTTCCTGCAAGGACTGGATATGCTG
+>r972
+CGCTACATCCGCCAGTTTGGCAAAAGTCTTAAAAA
+>r973
+ACTCGCGGTCTTCATGGCGTCGCCCGGCTCATGCA
+>r974
+CAACTGCCGTTCTCATCGCGTAATCTCCGGATATC
+>r975
+AGCCAGCCAAACAACTGGCCGCGTGTGGAAGAGTT
+>r976
+CGTTATGCGGCGGAAAAATCGCGGCGTAAATTCCT
+>r977
+ATGATGTTTCGCAGGAGTAATCACAACTATCGATC
+>r978
+GAAGCCGGGGCATAAACTTTAACCATGTCAGACTC
+>r979
+TGTTAACAATCTTATCCCTTCGAGCGGGGGGAGCT
+>r980
+CAGAATTGATACAGATCTTTCCCTCGGGCATTCTC
+>r981
+GGAAGTTAGGAGTCTGACATGGTTAAAGTTTATGC
+>r982
+TACGTGCGGCGTTTGCCTTCCCGGCTCCGGTCGCC
+>r983
+ATTACCGATCCCCAAAGGACGCTGTTAATAAAGGA
+>r984
+TTTGTAGGCCGGATAAGGCGTTCACGCCGCATCCG
+>r985
+AGCTCTTTCAGTTGCCAGATTTTGCGGCGGAACAA
+>r986
+TTCCCTGGTTCTGGTCGCTCCCATGGCAGCGCAGG
+>r987
+CAGGTTACAGTTAATACCTTCTTTTTCCAGCTGTT
+>r988
+ACTGAAATGAGGTTAAACCGCCTGGCTGTGGATGA
+>r989
+AAACCTGTCTGTCACTCCCTTCGCAGTGTATCATT
+>r990
+TTTATTGCTGCGACCAACGTGAACGATACCGTACC
+>r991
+AGCATGGCGCTTGCCGTGCAGATGACCAGGGTGTC
+>r992
+AGTTTGGCAAAAGTCTTAAAAATAGCATTCATCCA
+>r993
+TTATCAGGATAAAGGCATCCCTGCGCTGGAAGAAT
+>r994
+ACATCCAGAAGACGGCTCCAGGTCCACCGGCGGTA
+>r995
+CTGGCAAAAACGCTCCCAGCACTGATAAACGATAT
+>r996
+GCGTTTTTGCCAGGAGCTTGGCAAGCAAATTCCAG
+>r997
+CCCGTTGACCACCACGCGCTATACGCTGCCGGAGC
+>r998
+CCAATATAGGCATAGCGCACAGACAGATAAAAATT
+>r999
+CAAAGCGAATACCGATAAGAAAGAGTACGCTCCGG
+>r1000
+TTTACCCTTGCTTTCGCATAACCTGCCCGCCGATT
+>r1001
+ACCAGCCGTGGTCGCCCCAATGACCGCCATCCCAG
+>r1002
+TGGCTGGCAGGAAGCTGCAGGCGGCGCGGCGGGAT
+>r1003
+ACTGCGATCCTTTCGCGTCAGGTGGGGGTGATTCG
+>r1004
+CCCGCCAGGCAATTCTGGCGTTTAAAGGTGATGTC
+>r1005
+AGAGCGCGTACGTGCGGCGTTTGCCTTCCCGGCTC
+>r1006
+AGAATTTCGCCGATGTTACGGAAGCTTGCGCCCAT
+>r1007
+CGCGTTGCCGACTGGTTGGGTAAGAACTACCTGCA
+>r1008
+CAGAAGTTCGGCAAAAATAAGTTCGGCATCGCTGA
+>r1009
+CCGTACTGCATTCAGTTGCTGGAAGGGCCATACGT
+>r1010
+ATTTCCGGTATTTTTAATCAGGCAAGGGATCTGGA
+>r1011
+GAGGTACTTGGATAACTTCTGCGTAGCATACATGA
+>r1012
+CCGTAGCTTATCGTGCGCTGCGTGACCAGTTGAAT
+>r1013
+CCGCACCATTACCCCCATCGCCCAGTTCCAGATCC
+>r1014
+TTTCAGCGGAGTTCAGGCGAACGCCGTTGCGCGAG
+>r1015
+TTGGCATGGCGGCGCGCGTCTTTGCAGCGATGTCA
+>r1016
+AAGATCTGTATCAATTCTGGGGAGATATCATCACC
+>r1017
+CCGCCAGCTCTTTCAGCAGTGCCGGTGCGATGGTC
+>r1018
+CGCTGCCGGATGCGGAGGCCAGGACGCAGCTGCCG
+>r1019
+CCATTCTGACCGCGACATCCGGTGATACTGGAGCG
+>r1020
+CAAGCTCAAGCTGACGGGAATAGCAGGCGTGAATG
+>r1021
+AGGTAACCAGTTCAGAAGCTGCTATCAGACACTCT
+>r1022
+ACGACAGAGATTGAGCGTTCAGAAGATCCCTGAGC
+>r1023
+AACTCTTCCTGCATTGCCCGTTCAGCTCGCACACA
+>r1024
+TCCCTGCGCTGGAAGAATGGCTGACATCGGCGCTA
+>r1025
+TCCCGTGGCTCTGACGGCAGCTTATCGGCAAAGCG
+>r1026
+CGCACAGACAGATAAAAATTACAGAGTACACAACA
+>r1027
+GGCGCGTAAACAGGCCGCCAGCACCGCAGCGGAGT
+>r1028
+GTAAATCATTACCGATCCCCAAAGGACGCTGTTAA
+>r1029
+CCAGCAGCTGATCCATGAAGCGCGGAAACTGACGC
+>r1030
+TGCGATGGATGTTAGCCAGCCAAACAACTGGCCGC
+>r1031
+GTCGTGCGGAAAAAACAGCCCCTGATTTTTGCCTA
+>r1032
+TCCGCTGGCACAATTGAAAACTTTCGTCGACCAGG
+>r1033
+TTGCAATATATTGAATTTGCACGATTTTGTAGGCC
+>r1034
+TAACCCCTGGGTTACGGCTTGCGCAAAGCTGACCT
+>r1035
+AACGCGGCAGCGGCAGCTGCGTCCTGGCCTCCGCA
+>r1036
+AGCGTGCGGCTCCGAGGTATAGCCCAGTTCTTTTA
+>r1037
+GAAATTGAATGCCGAGATTATCAAGCCAGTGTTCC
+>r1038
+TTAGTAATCGCCTGGCTTAAGGTATATCCCGCCGC
+>r1039
+TTCAGATTGGAAATGCCCTTGACCGGTAATTCGTC
+>r1040
+GCAAAATCTGGCAACTGAAAGAGCTGGGTTATGCA
+>r1041
+TGCCAGGCTTTGGTGAACAGATGCGCCAGATCAGC
+>r1042
+TAATGATTTACCTGCTTTTCGGCGCAGGTTGTTGG
+>r1043
+ATCCCCCCGCCTGGGGGGATTTTTTTATTCGCTAA
+>r1044
+GAGCGACCAGAACCAGGGAAAGTGCGAGTACGATA
+>r1045
+CAAGCTCAAGCTGACGGGAATAGCAGGCGTGAATG
+>r1046
+GCGTTGTCTAACAGCTCCGGCAGCGTATAGCGCGT
+>r1047
+GGCAACGATGGAGCTGAAGGCAAACAGAATAACCA
+>r1048
+GAACTCGGACTCAGTGATACGCGCCGGACGCGCTT
+>r1049
+TACCGTTATCGATCCGGTCGAAAAACTGCTGGCAG
+>r1050
+TGCCGGATGCGGAGGCCAGGACGCAGCTGCCGCTG
+>r1051
+ATACGCTGCCGGAGCTGTTAGACAACGCCCAGCAG
+>r1052
+AGGCAAGGGATCTGGAACTGGGCGATGGGGGTAAT
+>r1053
+TGGAAACTTCGGCGATTTGACGGCGGGTCTGCTGG
+>r1054
+GCTTCCTCCAGCAATGGCGAACTGGTGTTTAAACG
+>r1055
+CTGTCTTTGCTCTGCTGGCGATCACTCGCGGTCTT
+>r1056
+TGGATCAGCTGCTGGGCGTTGTCTAACAGCTCCGG
+>r1057
+CGGCTCCAGTAAGCCTTCTTTCAGTTCCAGGTAGA
+>r1058
+GCGGTAGCGAGCGGTATCTCCGGCTCCGGCCCGAC
+>r1059
+GTTCGGTATAACCCATTTCCCGCGCCAGTGTGGTC
+>r1060
+AATTGTTAAGCTCCCCCCGCTCGAAGGGATAAGAT
+>r1061
+TCAGGCCGGGTTTGCTTTTATGCAGCCCGGCTTTT
+>r1062
+AACCTTCGCGCAGGAAGTCGGCATATTGATCTGCC
+>r1063
+CGTCGCATCGGGCGTTACGTCACGACGCGCAGGGC
+>r1064
+GCAATTGACGCTTCGGTGTCATAGGAAAGACGCGC
+>r1065
+CAGGAAGGTTTTGTTCATATTTGCCGGCTGGATAC
+>r1066
+AGTTTGTTGGGGCAGTGCCCGGATAGCATCAACGC
+>r1067
+CCCTACCGTGAACGGTTACTGCCAGGCTTCCGGCA
+>r1068
+AAACAGCAGAGCAACGATCGCGCGCAGCAGATCGT
+>r1069
+GACACCGGCAGCTGTAACGTCATTGCCCGCACCAT
+>r1070
+ATGTCTCTGTGTGGATTAAAAAAAGAGTGTCTGAT
+>r1071
+CCGCCAGTAATATCAGCATGGCGCTTGCCGTGCAG
+>r1072
+CTACTGCCAGCGTCGCATCGGGCGTTACGTCACGA
+>r1073
+AGCGTTTTTGCCAGGAGCTTGGCAAGCAAATTCCA
+>r1074
+TCGCGGGTCCGGTTCGGTATAACCCATTTCCCGCG
+>r1075
+CGCAGCAATAAAACGTTTTACCGGCAGACCGAGTG
+>r1076
+AAATTAAAATTTTATTGACTTAGGTCACTAAATAC
+>r1077
+CCACGCTCTCTTTAAATTTCGCCGGATGCGCGGTG
+>r1078
+GATGAATGCTATTTTTAAGACTTTTGCCAAACTGG
+>r1079
+CCGATCGGTTCGGGCTTAGGCTCCAGCGCCTGTTC
+>r1080
+GTTGATGGCGATAATCTGGGTACTGACCAGCCTGG
+>r1081
+ATACTTCGTAAACAATTGGTAACGTTTACACAGGA
+>r1082
+CAACTCATTTCATCCACCAGTTCACACAACGTTTG
+>r1083
+AACAGCATTTGCGAATGCTTTCCGGCTTGTATGGC
+>r1084
+CTACGCTAAGAAAGCACGCGGTCTGATGAGTCGTT
+>r1085
+CTGTCAGGCGCTGGTGAAGCAGGCGTTTGATGATG
+>r1086
+CTGCGTTCCGCAAAGCGACTGTGTGCGAGCTGAAC
+>r1087
+CTGGCAGTAAATATTGGTCTGGAAATCCTGAAACT
+>r1088
+TGCCTTCGTCTAACTTGCCGAAGATATAAGAAAGC
+>r1089
+CCGTTACCTGTGGTAATGGTGATGGTGGTGGTAAT
+>r1090
+GAAGCTGATGATCTTAAATTTGCCGTTCTTCTCAT
+>r1091
+CACGTTGTCGTAATGAATGCTGCCGGAGATACGCC
+>r1092
+TTTGCCCAAATAAAACATGTCCTGCATGGCATCAG
+>r1093
+ATAACTTCTGCGTAGCATACATGAGGTTTCGTATA
+>r1094
+CTTTGCGGAACGCAGAAACTGATACTGTATTCGGA
+>r1095
+GGTCATTACCTCGAATCTACCGTTGATATTGCTGA
+>r1096
+CCAAAATCACCAACCATCTGGTAGCGATGATTGAA
+>r1097
+CACTGGAAGCCGGGGCATAAACTTTAACCATGTCA
+>r1098
+AGTTAGGAGTCTGACATGGTTAAAGTTTATGCCCC
+>r1099
+TGCGGGTGACAAAATCCAGCTTCAGCATCTCATCA
+>r1100
+TTTGTCACCCGCAGTGCGAAGATCCTCTCGGCGTT
+>r1101
+TTTCAATTGTGCCAGCGGAAATCCCGGCTGGGCGG
+>r1102
+GAAAGCACGCGGTCTGATGAGTCGTTTCATTATTG
+>r1103
+CTTCGCCACACGCGCGGCAAAGAGATCGTCGAGCT
+>r1104
+GAGCAAACGTTGTGTGAACTGGTGGATGAAATGAG
+>r1105
+CTCCGCCAGCTCTTTCAGCAGTGCCGGTGCGATGG
+>r1106
+AAAAAACAGCCCCTGATTTTTGCCTAACCCCTGGG
+>r1107
+CCGCTGGTAACAGGTATTATTCTCGCTGTCTTTGC
+>r1108
+GTATCATTCTGCTTAACGAGACTGTTTAAACGGAA
+>r1109
+TACTTAGCGTGACCGGGAAGTCGGTCACGCTACCT
+>r1110
+GCGTGAAGATTGCCGAAGTGGATGGTAATGATCCG
+>r1111
+CGTTAAGCAGAATGATACACTGCGAAGGGAGTGAC
+>r1112
+CAAGACTGGTACACAATGACTGAAATGAGGTTAAA
+>r1113
+TTCGTAGCGTTTAAACACCAGTTCGCCATTGCTGG
+>r1114
+TCTTTCATCAGCTTCGCGGCAAGCTCAAGCTGACG
+>r1115
+CTGGTCGCTCCCATGGCAGCGCAGGCTGCGGAAAT
+>r1116
+CGACCGGAGCCGGGAAGGCAAACGCCGCACGTACG
+>r1117
+AAATTACAGATAGGCGATCGTGATAATCGTGGCTA
+>r1118
+GCTTCAGCATCTCATCAATTTCAGTCAGGCTGAAT
+>r1119
+AGCCGGGAAGGCAAACGCCGCACGTACGCGCTCTT
+>r1120
+CCTGGTCATCTGCACGGCAAGCGCCATGCTGATAT
+>r1121
+TGTGGAAGAGTTGTTCCGCCGCAAAATCTGGCAAC
+>r1122
+ATCCAGAAGACGGCTCCAGGTCCACCGGCGGTAAT
+>r1123
+CGATCCCCAAAGGACGCTGTTAATAAAGGAGAAAA
+>r1124
+AGATACCGCTCGCTACCGCGCCGATTTCCGCAACC
+>r1125
+TTCCTGATTTTGCAGGTAGTTCTTACCCAACCAGT
+>r1126
+CTGAACGAGGCGCTCGCAGCACAAGGCGATAATGT
+>r1127
+CAATCAACTTACGGTATTCCGGAATCTGCGCTGCG
+>r1128
+TATATGGCGCGCGGGCTGGGGATGCGCTGGATGGG
+>r1129
+GGGCTTTTTTTTCGACCAAAGGTAACGAGGTAACA
+>r1130
+TACGCCAGCACCCACAGCCACTCATCAAACCCTGG
+>r1131
+GACCGTCGTGCAGGAAACGTGGTACGGTATCGTTC
+>r1132
+GCGACATCCGGTGATACTGGAGCGGCAGTGGCTCA
+>r1133
+AGTTGATGATCGAAGAAAACGACATCATCAGCCAG
+>r1134
+ATGGCACAAATGCTGACCCATATTGCGGGCGATAA
+>r1135
+CGCCGAGAGGATCTTCGCACTGCGGGTGACAAAAT
+>r1136
+AGACACCGGCAGCTGTAACGTCATTGCCCGCACCA
+>r1137
+AAATCTGCGCCAGCAAGCGACTGATGTTGATGGAG
+>r1138
+AACACGGTGCCACGTTGTCGTAATGAATGCTGCCG
+>r1139
+TTCGGTCTGAATGCTGCAACCACTTCCGGTGCCGT
+>r1140
+TATGTTTATTCTTCAACCAGCTTTGCTGACGCTTC
+>r1141
+GCGTTTAAACACCAGTTCGCCATTGCTGGAGGAAG
+>r1142
+CCAGCTCTTTCAGCAGTGCCGGTGCGATGGTCAGA
+>r1143
+CCTCGTTTGCCGAATGTTCCCTCGCACAGCTTTAT
+>r1144
+GGATGAATGCTATTTTTAAGACTTTTGCCAAACTG
+>r1145
+GCAACCGCCTGCCGCGCCTGCCGGAAGCCTGGCAG
+>r1146
+CGGCACCGGAAGTGGTTGCAGCATTCAGACCGAAG
+>r1147
+AACGGTTCCGACTACTCCGCTGCGGTGCTGGCGGC
+>r1148
+CGTTGATGCTATCCGGGCACTGCCCCAACAAACTG
+>r1149
+GACCACATGGTGCTGATGGCTGGTTTCACTGCCGG
+>r1150
+GTATCACCGGATGTCGCGGTCAGAATGGTCACTGG
+>r1151
+CGTTGTTACGCCGAACAAAAAGGCCAACACCTCGT
+>r1152
+ACAGCATTTGCGAATGCTTTCCGGCTTGTATGGCG
+>r1153
+GATGCGCATCAGCGACAAACTGGCGGGTATCAACG
+>r1154
+GCGCGCCGCCATGCCAACCATCCCTTTCATCCCCG
+>r1155
+GGTCCGGTTCGGTATAACCCATTTCCCGCGCCAGT
+>r1156
+TTTTAATAGCGAAGGTTACTTCTTTGATGAAGCTT
+>r1157
+CTTAAGGTATATCCCGCCGCGCCGCCTGCAGCTTC
+>r1158
+GTCATGATAGTATTTCTCTTTAAACAGCTTGTTAG
+>r1159
+CATTTGGTCTATTTTTGAGAGTGCTTTTGGCTGGC
+>r1160
+GTATCTGAAATCTACCAGTACTACAAAGAGCATGG
+>r1161
+GGTGAACAGATGCGCCAGATCAGCCTGCATTTTGT
+>r1162
+AGCTCGCACACAGTCGCTTTGCGGAACGCAGAAAC
+>r1163
+CTTCCGAATACAGTATCAGTTTCTGCGTTCCGCAA
+>r1164
+TTGCGAGATCTGGACGGATGTTGACGGTGTTTATA
+>r1165
+TCGCCCATCAAAGCCAGCAAACGAGTGTCATTAAG
+>r1166
+TGTCGCCCGTGCGCAATGCAATCCTGGCGGCGATA
+>r1167
+CTGCTGTTTCGCCCAGGCGACAGCATCATCAATCA
+>r1168
+CAGAATTCAGCCCCAGCGCCACTTTCAGTTCTTCA
+>r1169
+CCTTGCTTTCGCATAACCTGCCCGCCGATTTTGCT
+>r1170
+GGCGTAAAAAGAAGAGATTGTTTTCGGCATAAATG
+>r1171
+GCAAAGCGACTGTGTGCGAGCTGAACGGGCAATGC
+>r1172
+GAACGGCTGGCCATTATCTCGGTGGTAGGTGATGG
+>r1173
+AATGAATGCTGCCGGAGATACGCCCTTCCAACTCG
+>r1174
+TTTCTTCGGCTTCACCGATTTAAAATACTCATCTG
+>r1175
+TACTATCATGACGGACAAATTGACCTCCCTTCGTC
+>r1176
+TCCCCCGCTGGTAACAGGTATTATTCTCGCTGTCT
+>r1177
+GATGATCTTAAATTTGCCGTTCTTCTCATCGAGGA
+>r1178
+ATCATCAGGGCAGACCGGTTACATCCCCCTAACAA
+>r1179
+CGTCATTTGGTCTATTTTTGAGAGTGCTTTTGGCT
+>r1180
+ATTATCAAGCCAGTGTTCCTCGATGAGAAGAACGG
+>r1181
+AAGTGGTTATCCTCTATCCACGAGGCAAAATCAGT
+>r1182
+GACACTGGGGACATCGCGGCAATGAAGCTGTATCA
+>r1183
+AGAGCGTGGAAGCGATTCTCGGTGAAACGTTGGAT
+>r1184
+GTGAAGGACGCTGAGGGTAACGTTGTGGTGCACGG
+>r1185
+TGGTCAGCCGGAATGCGGCTTGCCGCAATACGGCG
+>r1186
+TCCCGTCAGCTTGAGCTTGCCGCGAAGCTGATGAA
+>r1187
+CATATTTTCTTCATAAAAAAAGCCGGGCTGCATAA
+>r1188
+TATCGCTGAACCCTACCGTGAACGGTTACTGCCAG
+>r1189
+TAACAGGTATTATTCTCGCTGTCTTTGCTCTGCTG
+>r1190
+CCATGTTATTCAGATTGGAAATGCCCTTGACCGGT
+>r1191
+ACCACAGGCGAGAGCAGTAATATGGCGGTCAAATT
+>r1192
+CCGATCGGCATATTCTTTTCCAGAGTCATCGCCAC
+>r1193
+CCCCCGCTCGAAGGGATAAGATTGTTAACAACGTG
+>r1194
+CGGTGAAGCCGAAGAAATTGAATGCCGAGATTATC
+>r1195
+TATGAACCACAGGCGAGAGCAGTAATATGGCGGTC
+>r1196
+TGTCTGATAGCAGCTTCTGAACTGGTTACCTGCCG
+>r1197
+CATTGGAAAACATACTGCGCTGAAAACCGTTAGTA
+>r1198
+GAATGCCCGAGGGAAAGATCTGTATCAATTCTGGG
+>r1199
+CAGCGATAACATCTTTCATCAGCTTCGCGGCAAGC
+>r1200
+TCCGTCATGATAGTATTTCTCTTTAAACAGCTTGT
+>r1201
+CATCATCAATCAACTTACGGTATTCCGGAATCTGC
+>r1202
+TGCGCTGGAAGAATGGCTGACATCGGCGCTAACCA
+>r1203
+GATGCGCGATCAGAGATGGAAACTAAGCCAATACG
+>r1204
+ATCGAAACTGTTGCCATCGACGGCGATTTCGATGC
+>r1205
+CGGCAGCGTGCGGCTCCGAGGTATAGCCCAGTTCT
+>r1206
+ATCATCAATCAACTTACGGTATTCCGGAATCTGCG
+>r1207
+ATATTCTGGAAAGCAATGCCAGGCAGGGGCAGGTG
+>r1208
+CTTATCCCTTCGAGCGGGGGGAGCTTAACAATTAG
+>r1209
+AGAGCATGGTTATGAAACCGTGGTTATGGGCGCAA
+>r1210
+ATCTGTCTGTGCGCTATGCCTATATTGGTTAAAGT
+>r1211
+TAATCCACACAGAGACATATTGCCCGTTGCAGTCA
+>r1212
+GAGCTGGCGGATATTGAAATTGAACCTGTGCTGCC
+>r1213
+TCGGAGCCGCACGCTGCCGTAGCTTATCGTGCGCT
+>r1214
+CTGTGGCAGCACAACCAGGATCCAATGGCAGTAGA
+>r1215
+GGTAACGGTGCGGGCTGACGCGTACAGGAAACACA
+>r1216
+ATCTATCGTACTCGCACTTTCCCTGGTTCTGGTCG
+>r1217
+ATGAATAGATGTTACTGATGATTCATCATCAATTT
+>r1218
+CCGGTAAAACGTTTTATTGCTGCGACCAACGTGAA
+>r1219
+CTAATTGTTAAGCTCCCCCCGCTCGAAGGGATAAG
+>r1220
+CACGCCGGCCATAATGGCGATCGACATTTTCTCGC
+>r1221
+GGCACTGCCCCAACAAACTGATGCCATGCAGGACA
+>r1222
+CGGAAGCTTGCGCCCATAACCACGGTTTCATAACC
+>r1223
+CATCAGCGGAAAACTTAACAAGGTGCCGCCGATGA
+>r1224
+CGGGCGATAAGCCAGTGACCATTCTGACCGCGACA
+>r1225
+ATCGCCATCAACGGGACAAACCCCTGCATGAGCCG
+>r1226
+TATTCCCGTCAGCTTGAGCTTGCCGCGAAGCTGAT
+>r1227
+GCAGTTTTTCGACCGGATCGATAACGGTAACGTTG
+>r1228
+ACGCCTGCTTCACCAGCGCCTGACAGGCATCGAAA
+>r1229
+GCCAGTAATATCAGCATGGCGCTTGCCGTGCAGAT
+>r1230
+ATGAGCGTCGGGTTTGATGTGCTCGGGGCGGCGGT
+>r1231
+GGAGCCTAAGCCCGAACCGATCGGCATATTCTTTT
+>r1232
+CAGCAGATCGTGGACGCGACCGACAAACTGGCAGT
+>r1233
+TAGTCCCGTCAGTAAAATTACAGATAGGCGATCGT
+>r1234
+CACGCCCGCTTCCGCACAAGCACGAGCCTGAGCGA
+>r1235
+TCGAGCATGCATCTAGAGGCCCAATTCGCTGCGTT
+>r1236
+TGGAAGTTAGGAGTCTGACATGGTTAAAGTTTATG
+>r1237
+CGCAGGTATAAACACCGTCAACATCCGTCCAGATC
+>r1238
+TCAGCGAAGACGATTTCGATTTTGCCCAACAGCAT
+>r1239
+GCTTGGCAAGCAAATTCCAGTGGCGATGACTCTGG
+>r1240
+GCCAGTGTTCCTCGATGAGAAGAACGGCAAATTTA
+>r1241
+TGGCGAGAAAATGTCGATCGCCATTATGGCCGGCG
+>r1242
+ATTTCAGTCAGGCTGAATTCCGGCAGGTCGTGCGG
+>r1243
+ATCCGGTACGAAAAGTGAACCAACAACCTGCGCCG
+>r1244
+AAGGTGATGTCTACACTGGCTTGCAGGCCGAAACC
+>r1245
+GTCACTGGCTTATCGCCCGCAATATGGGTCAGCAT
+>r1246
+GATTTGACGGCGGGTCTGCTGGCGAAGTCACTCGG
+>r1247
+CGCCAAACGCGGCAGCGGCAGCTGCGTCCTGGCCT
+>r1248
+TTCGCCGAGATCCCACGTAAGGTGCGCATACCATC
+>r1249
+ATCCTGAAACTGGTTCCGGGCCGTATCTCAACTGA
+>r1250
+GCTTTCAACATTGGCGACCGGAGCCGGGAAGGCAA
+>r1251
+GCACAAGGCGATAATGTGGTGATAAATCTGGCGTC
+>r1252
+AAACTGATACTGTATTCGGAAGATGATTGCGTAAT
+>r1253
+CCTGACGCGGATCGCAGGTATAAACACCGTCAACA
+>r1254
+GAATGCGGCTTGCCGCAATACGGCGGGTGGATTCA
+>r1255
+GCGGGCTTTTTTCTGTGTTTCCTGTACGCGTCAGC
+>r1256
+GATTTCGATGCCTGTCAGGCGCTGGTGAAGCAGGC
+>r1257
+TCTACAACGATGCAGGTATTAGCAACGATCGTATT
+>r1258
+CAGTTGTTATTCTCCGCAATCCTAATCTCTAAGTT
+>r1259
+GCGCCGGACGCGCTTTCACTTCACCAGTGTAAGAC
+>r1260
+GCGCTGGGCGGTATCCGGCTTGTCACACAGAGCGA
+>r1261
+ACTTAGGTCACTAAATACTTTAACCAATATAGGCA
+>r1262
+TCAACAGGTGTCACCGCCGCCCCGAGCACATCAAA
+>r1263
+ATTGTTAAGCTCCCCCCGCTCGAAGGGATAAGATT
+>r1264
+GGAATTTACGCCGCGATTTTTCCGCCGCATAACGC
+>r1265
+GCTCTGCTGGCGATCACTCGCGGTCTTCATGGCGT
+>r1266
+ATCCCCAGCCCGCGCGCCATATACCATGCCGGTCC
+>r1267
+CTGGAAAACTGGCAGGAAGAACTGGCGCAAGCCAA
+>r1268
+CGAAAACGCTTGATTACCAAAGCCCGTTGACCACC
+>r1269
+GGCAGCGCAGGCTGCGGAAATTACGCTAGTCCCGT
+>r1270
+AAATGCCAATCATCTGGACAATTCCTTGCGCTGCC
+>r1271
+GGGGCATAAACTTTAACCATGTCAGACTCCTAACT
+>r1272
+CCATCAACAGGTGTCACCGCCGCCCCGAGCACATC
+>r1273
+GGCCTTTTTGTTCGGCGTAACAACGTGGAAACCTT
+>r1274
+TGCTGAAGCTGGATTTTGTCACCCGCAGTGCGAAG
+>r1275
+AAGCCAATACGTAAAGTATTCATCAAGATTTTTCC
+>r1276
+AGGTGCAGATCCGCAGACACCAGATCGCTTTAGGG
+>r1277
+CTTAACGCAGCGCAGATTCCGGAATACCGTAAGTT
+>r1278
+GCGCCATAACAAGCACAATGATCATCGTGGCGATC
+>r1279
+CTGCCAGTTGCCACATCAGCGGAAAACTTAACAAG
+>r1280
+TAAAGGCATCCCTGCGCTGGAAGAATGGCTGACAT
+>r1281
+TGCGCGGATATGGTGCGGGCAATGACGTTACAGCT
+>r1282
+TGCCAGCGTACCGTACTGCATTCAGTTGCTGGAAG
+>r1283
+ACAACCAACCCTTCTCTCATTCTTAACGCAGCGCA
+>r1284
+GCCGAATGTTCCCTCGCACAGCTTTATAAAGAACG
+>r1285
+ATAAATCTGGCGTCAGATGAGTATTTTAAATCGGT
+>r1286
+CCATGTGGGTGCCAGCGATTGCCTCGCCATTCATA
+>r1287
+GCGTAACAACGTGGAAACCTTCGCGCAGGAAGTCG
+>r1288
+CAGCAGCTGATCCATGAAGCGCGGAAACTGACGCC
+>r1289
+GCCGGAGCTGTTAGACAACGCCCAGCAGCTGATCC
+>r1290
+TTGGTTCACTTTTCGTACCGGATTTGTGCAGTTTC
+>r1291
+TTGTTAAGTTTTCCGCTGATGTGGCAACTGGCAGA
+>r1292
+GGCAGGTCGTGCGGAAAAAACAGCCCCTGATTTTT
+>r1293
+TAACAAGGTGCCGCCGATGACCGTTGCGAAGGTGC
+>r1294
+CGCGTCGTGACGTAACGCCCGATGCGACGCTGGCA
+>r1295
+GGCGTATCTCCGGCAGCATTCATTACGACAACGTG
+>r1296
+ATTGCAAGAAGATCGTAGGCCTGATAAGCGTAGCG
+>r1297
+CCAGCTTTGCTGACGCTTCAGTTGCTCCAGCAGCG
+>r1298
+TAAGCTGAATACCTTCCAGCGGCATGTAGGTTGTG
+>r1299
+TTTTCCAGATTAAGGCCATGTACATTGGTGAGCAG
+>r1300
+GCGTCAGTTTCCGCGCTTCATGGATCAGCTGCTGG
+>r1301
+GCGATGAGAACGGCAGTTGTTATTCTCCGCAATCC
+>r1302
+CACAACCAGGATCCAATGGCAGTAGATAAACTGGC
+>r1303
+TATGCCGGATGCGGCGTGAACGCCTTATCCGGCCT
+>r1304
+ACCGGAGCCGGGAAGGCAAACGCCGCACGTACGCG
+>r1305
+ACAAATCTGCGCCAGCAAGCGACTGATGTTGATGG
+>r1306
+CGCTGGTGAAGCAGGCGTTTGATGATGAAGAACTG
+>r1307
+GGGTGATGTCGCCGCTTTTATGGCGAATCTGTCAC
+>r1308
+GTGATGAATTGATGAAGTTCTCCGGCATTCTTTCA
+>r1309
+AACTAAATGAAACTCTACAATCTGAAAGATCACAA
+>r1310
+GAGCTGAACGGGCAATGCAGGAAGAGTTCTACCTG
+>r1311
+GGCGCTGGAGCCTAAGCCCGAACCGATCGGCATAT
+>r1312
+ATAATGCCGGATGGCAATCCGGCATTGATATTTAG
+>r1313
+GCGGGTGGATTCAGCAATATCAACGGTAGATTCGA
+>r1314
+GGTCGCCATGCCGATAAATGCGGCAACCCACATCC
+>r1315
+GCGACCACTGAACAGGCGCTGGAGCCTAAGCCCGA
+>r1316
+TGGAGCCTAAGCCCGAACCGATCGGCATATTCTTT
+>r1317
+CGGTGCGCTGCTGGAGCAACTGAAGCGTCAGCAAA
+>r1318
+AAACAACATTATGAATGGCGAGGCAATCGCTGGCA
+>r1319
+CTAATTGTTAAGCTCCCCCCGCTCGAAGGGATAAG
+>r1320
+GTCCCGTCAGAAGTTCGGCAAAAATAAGTTCGGCA
+>r1321
+AAAAGACGGCGAACAGAACGCCCATCCAGCGCATC
+>r1322
+AGCATCTGATGAGTAACGCGCACGCCAGTGGTCGC
+>r1323
+TGGCTGACATCGGCGCTAACCACGCCGTTTGAACT
+>r1324
+CTGATGATATCACAAGGGCGAATTCTGCAGATATC
+>r1325
+TTCCGGAATCTGCGCTGCGTTAAGAATGAGAGAAG
+>r1326
+TATAGAAGGCCAGGGCGTTTTCGCCATTTTTCACT
+>r1327
+GTAATGACCCACTGCCAGCAGTTTTTCGACCGGAT
+>r1328
+CGAATCTGTCACAGCTCGACGATCTCTTTGCCGCG
+>r1329
+GGTCATCTGCACGGCAAGCGCCATGCTGATATTAC
+>r1330
+CCTGGCTTCTGCCGTCGAGACTTTAATCCCCGGAT
+>r1331
+CACGCCGAGTTTACGCTGGCGTAGATAATCACTGG
+>r1332
+GTTGTGGCATCCTGCGGTTGATACAGCTTCATTGC
+>r1333
+AAGGGATCTGGAACTGGGCGATGGGGGTAATGGTG
+>r1334
+GTGGCTATAGAAGGCCAGGGCGTTTTCGCCATTTT
+>r1335
+GTTGCTCTGGTTTGGTCAGCCGATTTTCAATAATG
+>r1336
+CACTACGGTGGTGTACTGACGAAGGGAGGTCAATT
+>r1337
+CGCTTCTAACACGCCGGCCATAATGGCGATCGACA
+>r1338
+AATCGGCTGACCAAACCAGAGCAACTGACTGGTTT
+>r1339
+TGGGATGATGTTTCGCAGGAGTAATCACAACTATC
+>r1340
+GATGAGAAGAACGGCAAATTTAAGATCATCAGCTT
+>r1341
+GCGTCAGGTGGGGGTGATTCGCAAACAGGCGCTGA
+>r1342
+TCTCGCGGGTCCGGTTCGGTATAACCCATTTCCCG
+>r1343
+CTTCCAGCGCAGGGATGCCTTTATCCTGATAAACG
+>r1344
+GATGTTAGCCAGCCAAACAACTGGCCGCGTGTGGA
+>r1345
+CTTCTGGATGTGGGTTGCCGCATTTATCGGCATGG
+>r1346
+GCTTTTATGGCGAATCTGTCACAGCTCGACGATCT
+>r1347
+TTGCCGTGGCGAGAAAATGTCGATCGCCATTATGG
+>r1348
+CCGGGCTGCATAAAAGCAAACCCGGCCTGATTGAG
+>r1349
+ACGGCAGAAGCCAGGGCTATTTTACCGGCGCAGTA
+>r1350
+GTTTCCAGTTCAAACGGCGTGGTTAGCGCCGATGT
+>r1351
+GCTCATGCAGGGGTTTGTCCCGTTGATGGCGATAA
+>r1352
+CCATCGCCCAGTTCCAGATCCCTTGCCTGATTAAA
+>r1353
+ACCGCCCAGCGCGTTGCCGACTGGTTGGGTAAGAA
+>r1354
+CGCTGGTGAAGCAGGCGTTTGATGATGAAGAACTG
+>r1355
+ACTGCATACCACCAAGAAAACACGGTGCCACGTTG
+>r1356
+CCGCGTCAGGTGCCCGATGCGAGGTTGTTGAAGTC
+>r1357
+CGCACGATAAGCTACGGCAGCGTGCGGCTCCGAGG
+>r1358
+CCTGGCATCTCGCGGTCCGCTACTGCCAGCGTCGC
+>r1359
+TTCCGGCTGACCACATGGTGCTGATGGCTGGTTTC
+>r1360
+TCGGAGATGTAGTCACGGTTGAGGCGGCAGAGACA
+>r1361
+ATCCATCGACGAGGTGTTGGCCTTTTTGTTCGGCG
+>r1362
+TCGGCGAAATTCTGGAACTGGCAGGCTGCGACCGT
+>r1363
+ACCACGGTTTCATAACCATGCTCTTTGTAGTACTG
+>r1364
+GCGCGTAAACAGGCCGCCAGCACCGCAGCGGAGTA
+>r1365
+GTGTAAACGTTACCAATTGTTTACGAAGTATATAA
+>r1366
+TCCATGAAACGCATTAGCACCACCATTACCACCAC
+>r1367
+TCGGCGGTCGCTTTATGGCACAAATGCTGACCCAT
+>r1368
+CGAACCGATCGGCATATTCTTTTCCAGAGTCATCG
+>r1369
+TACCGGCAGACCGAGTGACTTCGCCAGCAGACCCG
+>r1370
+GGCAGAGAGGACGGTGGCCACCTGCCCCTGCCTGG
+>r1371
+AAATTAAAATTTTATTGACTTAGGTCACTAAATAC
+>r1372
+GATATTGGGTAAAGCATCCTGACCGCTAATGGTTT
+>r1373
+TTATCGGCATGGCGACCTCGTTTGCCGAATGTTCC
+>r1374
+GCTGCCATGGGAGCGACCAGAACCAGGGAAAGTGC
+>r1375
+TGGCCACCTGCCCCTGCCTGGCATTGCTTTCCAGA
+>r1376
+GTTTGCTGGCTTTGATGGGCGAGTTGGAAGGGCGT
+>r1377
+AGTTTCCGCGCTTCATGGATCAGCTGCTGGGCGTT
+>r1378
+TCATGTATGCTACGCAGAAGTTATCCAAGTACCTC
+>r1379
+GGGTATCCGTGCTGCAGAACAGCTGGAAAAAGAAG
+>r1380
+TAGCGCATCAGGCAGTTTTGCGTTTGTCATCAGTC
+>r1381
+CGGGGCCTGACAAACATCATCGCTAAATATCAATG
+>r1382
+ACCAATTGTTTACGAAGTATATAACGCTACGAGGT
+>r1383
+GGCAAAAGTCTTAAAAATAGCATTCATCCACAGCC
+>r1384
+AAAGCGCACGTTGTTAACAATCTTATCCCTTCGAG
+>r1385
+GAGATCTGGACGGATGTTGACGGTGTTTATACCTG
+>r1386
+GCTGCTGGGCGTTGTCTAACAGCTCCGGCAGCGTA
+>r1387
+CGTTCACGTTGGTCGCAGCAATAAAACGTTTTACC
+>r1388
+CCAGAAAGATCATCTCGCGGGTCCGGTTCGGTATA
+>r1389
+CTGGAAAAGAATATGCCGATCGGTTCGGGCTTAGG
+>r1390
+GGGTAACAAACTCCGCACCCCAGGAACCCATTAGC
+>r1391
+GACACCGAAGCGTCAATTGCGAAAGCAAAACGCCT
+>r1392
+GATCAGGAACACGCCCGCTTCCGCACAAGCACGAG
+>r1393
+GGTATAAACACCGTCAACATCCGTCCAGATCTCGC
+>r1394
+GCGAAGACGATTTCGATTTTGCCCAACAGCATTTG
+>r1395
+CTTCGTCAGTACACCACCGTAGTGGCCGACACTGG
+>r1396
+GAGATGATCTTTCTGGCATGGATGTGGCGCGTAAG
+>r1397
+ACAGTTAATACCTTCTTTTTCCAGCTGTTCTGCAG
+>r1398
+GGATACGTCTTGAGAATGCCCGAGGGAAAGATCTG
+>r1399
+GATAAATGCGGCAACCCACATCCAGAAGACGGCTC
+>r1400
+CCTATGACACCGAAGCGTCAATTGCGAAAGCAAAA
+>r1401
+CTTCGGCAATCTTCACGCGGCAGACGCCATCTTCA
+>r1402
+CATACAAGCCGGAAAGCATTCGCAAATGCTGTTGG
+>r1403
+GGCAGTGGCTCATGCTTTCTACGGTTTACCGAATG
+>r1404
+GCAATCCGGCATTGATATTTAGCGATGATGTTTGT
+>r1405
+ACGAAGGCATGAGTTTCTCCGAGGCGACCACACTG
+>r1406
+CAATCCTGGCGGCGATACTGCGCCGGTAAAATAGC
+>r1407
+CGCGTGACATCGCTGCAAAGACGCGCGCCGCCATG
+>r1408
+TTCAGTTGCTCCAGCAGCGCACCGCCAACGCCACC
+>r1409
+AGGGCATTTCCAATCTGAATAACATGGCAATGTTC
+>r1410
+CGCCAGTTCTTCCTGCCAGTTTTCCAGATTAAGGC
+>r1411
+ATAAGAATCAGCATATCCAGTCCTTGCAGGAAATT
+>r1412
+AGAAATTGAATGCCGAGATTATCAAGCCAGTGTTC
+>r1413
+GCCGCAATACGGCGGGTGGATTCAGCAATATCAAC
+>r1414
+GTATTTTTAATCAGGCAAGGGATCTGGAACTGGGC
+>r1415
+GCAATTACCGCCGGTGGACCTGGAGCCGTCTTCTG
+>r1416
+CCAGCACCCACAGCCACTCATCAAACCCTGGCACT
+>r1417
+GTCGACGCCAAACGCGGCAGCGGCAGCTGCGTCCT
+>r1418
+AGTTCTTACCCAACCAGTCGGCAACGCGCTGGGCG
+>r1419
+AATTCCAGACAACCGACATCGCTTTCAACATTGGC
+>r1420
+AACTGAAAGAGCTGGGTTATGCAGCCGTGGATGAT
+>r1421
+ACATTCGGTAAACCGTAGAAAGCATGAGCCACTGC
+>r1422
+TACTGCATTCAGTTGCTGGAAGGGCCATACGTTGA
+>r1423
+TAACTTCCATGGGAGGGTACGTAGCAGATCAGCAA
+>r1424
+TCACATTCGGTAAACCGTAGAAAGCATGAGCCACT
+>r1425
+CAGCAATGGCGAACTGGTGTTTAAACGCTACGAAC
+>r1426
+GGCGGGCATTCTCCGGTGTGAAATTTGGCTGCCAG
+>r1427
+AACGATATTTTCCCGTGGCTCTGACGGCAGCTTAT
+>r1428
+TAATGAATGCTGCCGGAGATACGCCCTTCCAACTC
+>r1429
+TGTGACAAGCCGGATACCGCCCAGCGCGTTGCCGA
+>r1430
+GCAGATTTTGCAGGTTCTCAATAACCGGTAATCCA
+>r1431
+AGCGGAAAACTTAACAAGGTGCCGCCGATGACCGT
+>r1432
+TTTGTGCCATAAAGCGACCGCCGAAATCTTTAAAT
+>r1433
+TACTTCGGCGCTAAAGTTCTTCACCCCCGCACCAT
+>r1434
+TTCTTCACCCCCGCACCATTACCCCCATCGCCCAG
+>r1435
+ACACTCGTTTGCTGGCTTTGATGGGCGAGTTGGAA
+>r1436
+TATCGCCCGCAATATGGGTCAGCATTTGTGCCATA
+>r1437
+GATATCATTATGGCCTGCATGGCTATTACCAATTT
+>r1438
+ATCATCGTGGCGATCATCGTCCGGGGCCTGACAAA
+>r1439
+GGGCCAGCGCGGCAAAGAATTTCGCCGAGATCCCA
+>r1440
+CGAAATCGTCTTCGCTGAAGGTTTCGGCCTGCAAG
+>r1441
+AACCAGTTTCAGGATTTCCAGACCAATATTTACTG
+>r1442
+GCTGGCACCCACATGGACCGCCGTCATCGCCGCGC
+>r1443
+GGTGGCCACCGTCCTCTCTGCCCCCGCCAAAATCA
+>r1444
+TTCTACCTGGAACTGAAAGAAGGCTTACTGGAGCC
+>r1445
+CGGCGCTAACCACGCCGTTTGAACTGGAAACCCGC
+>r1446
+TTGGCGCGGGCCAGCGCGGCAAAGAATTTCGCCGA
+>r1447
+AGCAAAGCTGGTTGAAGAATAAACATATCGACTTA
+>r1448
+AGACGAAGGCATGAGTTTCTCCGAGGCGACCACAC
+>r1449
+CGTGCACCACAACGTTACCCTCAGCGTCCTTCACA
+>r1450
+CGTGGCGAGAAAATGTCGATCGCCATTATGGCCGG
+>r1451
+ACAAACTTAACGTTGTTCGTAGCGTTTAAACACCA
+>r1452
+CAGTGTATCATTCTGCTTAACGAGACTGTTTAAAC
+>r1453
+TCTTTTGGCAGATCCAACGTTTCACCGAGAATCGC
+>r1454
+TGGCATGCATATCCCTCTTATTGCCGGTCGCGATG
+>r1455
+GCAGCGGCAGCTGCGTCCTGGCCTCCGCATCCGGC
+>r1456
+ACAATCTTATCCCTTCGAGCGGGGGGAGCTTAACA
+>r1457
+CGTTAAACTCTGCGGGCAGCACAGGTTCAATTTCA
+>r1458
+TGGCAAGCAAATTCCAGTGGCGATGACTCTGGAAA
+>r1459
+GCCGAAAACAATCTCTTCTTTTTACGCCTGAACAA
+>r1460
+GGTCATCTGCACGGCAAGCGCCATGCTGATATTAC
+>r1461
+ACTTCGGCGATTTGACGGCGGGTCTGCTGGCGAAG
+>r1462
+CGCGTGTGGAAGAGTTGTTCCGCCGCAAAATCTGG
+>r1463
+CCACGAGGGTAACAAACTCCGCACCCCAGGAACCC
+>r1464
+GCGCCAGTTCTTCCTGCCAGTTTTCCAGATTAAGG
+>r1465
+CGCCTGAACAACCCTAAAGCGATCTGGTGTCTGCG
+>r1466
+CCGTAAGTTGATTGATGATGCTGTCGCCTGGGCGA
+>r1467
+CTACGGCATAATTTTCAGCGGAGTTCAGGCGAACG
+>r1468
+CCAGCCAAAAGCACTCTCAAAAATAGACCAAATGA
+>r1469
+AATTGACGCTTCGGTGTCATAGGAAAGACGCGCAT
+>r1470
+GGCTTTTTTTATGAAGAAAATATGGAGAAAAACGA
+>r1471
+ACCTGTGAAAAAGATGCAATCTATCGTACTCGCAC
+>r1472
+CAGCGATAACATCTTTCATCAGCTTCGCGGCAAGC
+>r1473
+TTTGTTACCCTCGTGGTTATTCTGTTTGCCTTCAG
+>r1474
+ATGTAGGTTGTGCCGTTACCCGCCAGTAATATCAG
+>r1475
+GCCGTTGCGCGAGCCCTGAGTTTTTCTTTTGATTT
+>r1476
+TGCCGGAGAACTTCATCAATTCATCACCAGCATTG
+>r1477
+ATTTACCCTTGCTTTCGCATAACCTGCCCGCCGAT
+>r1478
+AGGTAATGACCCACTGCCAGCAGTTTTTCGACCGG
+>r1479
+CGGGCGCACGCCGAGTTTACGCTGGCGTAGATAAT
+>r1480
+AACCAGCCATCAGCACCATGTGGTCAGCCGGAATG
+>r1481
+CGACCAGAACCAGGGAAAGTGCGAGTACGATAGAT
+>r1482
+AGTGTCGGCCACTACGGTGGTGTACTGACGAAGGG
+>r1483
+CAACAACCTCGGACGCTTTGCCGATAAGCTGCCGT
+>r1484
+CATCCAGAAGACGGCTCCAGGTCCACCGGCGGTAA
+>r1485
+ACGATATTTTCCCGTGGCTCTGACGGCAGCTTATC
+>r1486
+AGCGGACCGCGAGATGCCAGGCTTTGGTGAACAGA
+>r1487
+TTAAATGCCAGCGTTGGCCCGTGGAACAATTCCAG
+>r1488
+GGAGAACTTCATCAATTCATCACCAGCATTGAGCA
+>r1489
+GAATGCCGAGATTATCAAGCCAGTGTTCCTCGATG
+>r1490
+TATCCGGGGATTAAAGTCTCGACGGCAGAAGCCAG
+>r1491
+AACTAAGCCAATACGTAAAGTATTCATCAAGATTT
+>r1492
+GCGTGGGTAGCGGCAACCTGGCCGGCGTTGCGCTG
+>r1493
+CGCATTTATTGAGAATTTCTCCTTTTTCCCTGTCG
+>r1494
+AGGTATTAACTGTAACCTGACCCTGCTGTTCTCCT
+>r1495
+ATAGGACATCGACTTCAACAACCTCGCATCGGGCA
+>r1496
+ATCCAGCTTCAGCATCTCATCAATTTCAGTCAGGC
+>r1497
+GACTGGTACACAATGACTGAAATGAGGTTAAACCG
+>r1498
+TTGTCGCCATTGCTCAGGGATCTTCTGAACGCTCA
+>r1499
+CTAATTGTTAAGCTCCCCCCGCTCGAAGGGATAAG
+>r1500
+CCAGATTTTGCGGCGGAACAACTCTTCCACACGCG
+>r1501
+ATCGTTCACGTTGGTCGCAGCAATAAAACGTTTTA
+>r1502
+ACTGCCCATTGGCATCACGTTCTTTATAAAGCTGT
+>r1503
+CAAGCTGACGGGAATAGCAGGCGTGAATGAAGCCT
+>r1504
+TTTGTTCGGCGTAACAACGTGGAAACCTTCGCGCA
+>r1505
+AAAAGGAGAAATTCTCAATAAATGCGGTAACTTAG
+>r1506
+AATTGATGATGAATCATCAGTAACATCTATTCATT
+>r1507
+CGATCACTCGCGGTCTTCATGGCGTCGCCCGGCTC
+>r1508
+CCATCGCCCAGTTCCAGATCCCTTGCCTGATTAAA
+>r1509
+GCTCGCGCAACGGCGTTCGCCTGAACTCCGCTGAA
+>r1510
+CTGGGAGCGTTTTTGCCAGGAGCTTGGCAAGCAAA
+>r1511
+GGAATCTGCGCTGCGTTAAGAATGAGAGAAGGGTT
+>r1512
+TGATAGGACATCGACTTCAACAACCTCGCATCGGG
+>r1513
+TAACGGGCAATGATAAAAGGAGTAACCTGTGAAAA
+>r1514
+ATGAGCGTCGGGTTTGATGTGCTCGGGGCGGCGGT
+>r1515
+GGTAATGAAAAAGGCGAGCTGGTGGTTCTGGGACG
+>r1516
+TTGACGGCGGGTCTGCTGGCGAAGTCACTCGGTCT
+>r1517
+ATGGCGGGCGATATCAACGCAGCGAATTGGGCCTC
+>r1518
+TGCGAGTGTTGAAGTTCGGCGGTACATCAGTGGCA
+>r1519
+CCAGCAAGCGACTGATGTTGATGGAGTTAGCAGAA
+>r1520
+TGATGAGTGGCTGTGGGTGCTGGCGTATCCGGGGA
+>r1521
+CGGTCAGAATGGTCACTGGCTTATCGCCCGCAATA
+>r1522
+TGCGCTATGCCTATATTGGTTAAAGTATTTAGTGA
+>r1523
+AGTCGGCAACGCGCTGGGCGGTATCCGGCTTGTCA
+>r1524
+ACAACTATCGATCAACTCATTCTCTTTTTTTGCTA
+>r1525
+ACGGCAGGTAACCAGTTCAGAAGCTGCTATCAGAC
+>r1526
+TCATCGAGCAAACGTTGTGTGAACTGGTGGATGAA
+>r1527
+TTAGACAACGCCCAGCAGCTGATCCATGAAGCGCG
+>r1528
+TTATTTTTGCCGAACTTCTGACGGGACTCGCCGCC
+>r1529
+TTCCTCTATGACACCAACGTTGGGGCTGGATTACC
+>r1530
+AATCCCCGATGAGCAGGCGATCATCGAGCAAACGT
+>r1531
+CATCAACGGGACAAACCCCTGCATGAGCCGGGCGA
+>r1532
+TAAATTTCGCCGGATGCGCGGTGCCGAGGAACAAG
+>r1533
+CACCAACGTTGGGGCTGGATTACCGGTTATTGAGA
+>r1534
+ATCGGGGATTAAGCGGGTTTCCAGTTCAAACGGCG
+>r1535
+CTGTCAGGTGCGGGCTTTTTTCTGTGTTTCCTGTA
+>r1536
+CCAGAAAGATCATCTCGCGGGTCCGGTTCGGTATA
+>r1537
+CTAATTGTTAAGCTCCCCCCGCTCGAAGGGATAAG
+>r1538
+CTTTTTGTTCGGCGTAACAACGTGGAAACCTTCGC
+>r1539
+CTTTAACCATGTCAGACTCCTAACTTCCATGGGAG
+>r1540
+TATTGCTGCGACCAACGTGAACGATACCGTACCAC
+>r1541
+GTTTACCGAATGTGAAAGTGGTTATCCTCTATCCA
+>r1542
+CGAAACTGCCCATTGGCATCACGTTCTTTATAAAG
+>r1543
+TGGCGTCGACCCCATTCCCGCCTCATTGGAAAACA
+>r1544
+CCACTGACCGTCGTGCAGGAAACGTGGTACGGTAT
+>r1545
+TGTTGGTTCACTTTTCGTACCGGATTTGTGCAGTT
+>r1546
+CTGCCAAAAGAGCTGGCAGAACGTGCTGATTTACC
+>r1547
+ATGGTCACTGGCTTATCGCCCGCAATATGGGTCAG
+>r1548
+CGTAGATAATCACTGGCAATGGTATGAACCACAGG
+>r1549
+GCCATGCCAACCATCCCTTTCATCCCCGGGCCGGA
+>r1550
+ATCATTGTGCTTGTTATGGCGCGGCGATGACGGCG
+>r1551
+ATCCCTTGCCTGATTAAAAATACCGGAAATCCCCA
+>r1552
+ACTCATGCCTTCGTCTAACTTGCCGAAGATATAAG
+>r1553
+CTTATCGGCAAAGCGTCCGAGGTTGTTGAGACTGA
+>r1554
+AGCCGTGGATGATGAAACCACGCAACAGACAATGC
+>r1555
+CGGCGATGACGGCGGTCCATGTGGGTGCCAGCGAT
+>r1556
+GGCAGATCCAACGTTTCACCGAGAATCGCTTCCAC
+>r1557
+GTTGGTACAAAATGCAGGCTGATCTGGCGCATCTG
+>r1558
+ACCGGCAGCTGTAACGTCATTGCCCGCACCATATC
+>r1559
+GCTCCATCGTTGCCAACTACATTTATGCCGAAAAC
+>r1560
+CCTGAAACTGGTTCCGGGCCGTATCTCAACTGAAG
+>r1561
+AACGCCGAGAGGATCTTCGCACTGCGGGTGACAAA
+>r1562
+AATTTCTTCGGCTTCACCGATTTAAAATACTCATC
+>r1563
+GGGCGGAACTGGCCCTGCGCGTCGTGACGTAACGC
+>r1564
+GATGATCGAAGAAAACGACATCATCAGCCAGCAAG
+>r1565
+CACATGGTGCTGATGGCTGGTTTCACTGCCGGTAA
+>r1566
+AGGCTCGTGCTTGTGCGGAAGCGGGCGTGTTCCTG
+>r1567
+TGAGCGTCGGGTTTGATGTGCTCGGGGCGGCGGTG
+>r1568
+CAATTCTGGGGAGATATCATCACCAACAAGCTGAA
+>r1569
+TTATCTCGGTGGTAGGTGATGGTATGCGCACCTTA
+>r1570
+CGTGGATAGAGGATAACCACTTTCACATTCGGTAA
+>r1571
+ATGAAGCGCGGAAACTGACGCCCCCGCAGATTAGC
+>r1572
+GTTGTTGAGACTGAATGTCTCTGCCGCCTCAACCG
+>r1573
+AAGCATGAGCCACTGCCGCTCCAGTATCACCGGAT
+>r1574
+GGGATGAAAGGGATGGTTGGCATGGCGGCGCGCGT
+>r1575
+AACAATGACCGGGTTCAGCAGATGATATTCTTTCA
+>r1576
+TCTGCAGAATTCGCCCTTGTGATATCATCAGGGCA
+>r1577
+TTCTACGCTAAGAAAGCACGCGGTCTGATGAGTCG
+>r1578
+CAGTGATTATCTACGCCAGCGTAAACTCGGCGTGC
+>r1579
+GAGCGAAGGGGCTATCGAACGTAAACTGTCTTACA
+>r1580
+AGAACTTCATCAATTCATCACCAGCATTGAGCAGA
+>r1581
+ATACCTGCATCGTTGTAGAGTTTGATCAGGCGTTT
+>r1582
+AAAACGTTTTATTGCTGCGACCAACGTGAACGATA
+>r1583
+CTTGCGGCAACTGTGCGACAGCCTCAAAGTAATAA
+>r1584
+ATTCTCCGGTGTGAAATTTGGCTGCCAGTCATGAA
+>r1585
+TTTTTGCTCATCGCCTACGGCATAATTTTCAGCGG
+>r1586
+CCTCCAGCAATGGCGAACTGGTGTTTAAACGCTAC
+>r1587
+TGGTAGTAATCCATCGACGAGGTGTTGGCCTTTTT
+>r1588
+GTAAATATTGGTCTGGAAATCCTGAAACTGGTTCC
+>r1589
+GGTATTCAGCTTATCCAGAAGGCGATGCGGGTGCT
+>r1590
+TGGCAGCCAAATTTCACACCGGAGAATGCCCGCCA
+>r1591
+TGATGGTAGTAATCCATCGACGAGGTGTTGGCCTT
+>r1592
+TGGCGGCCTGTTTACGCGCCGATTGTTGCGAGATC
+>r1593
+GCTGGCAGGAAGCTGCAGGCGGCGCGGCGGGATAT
+>r1594
+TTTATCAGGATAAAGGCATCCCTGCGCTGGAAGAA
+>r1595
+GCCGGGCGACGCCATGAAGACCGCGAGTGATCGCC
+>r1596
+AATACCTGCATCGTTGTAGAGTTTGATCAGGCGTT
+>r1597
+CTGATGATTCATCATCAATTTACGCAACGCAGCAA
+>r1598
+CCGGAAGTGGTTGCAGCATTCAGACCGAAGAGTGC
+>r1599
+CCTGGGGGGATTTTTTTATTCGCTAACTTCGCGTC
+>r1600
+GATGCATGCTCGAGCGGCCGCCAGTGTGATGGATA
+>r1601
+GCACTGCTGAAAGAGCTGGCGGAGAGCGAAGGGGC
+>r1602
+CCCGTCAGCTTGAGCTTGCCGCGAAGCTGATGAAA
+>r1603
+CGTGACCAGTTGAATCCAGGCGAATATGGCTTGTT
+>r1604
+GCGCTACGCTTATCAGGCCTACGATCTTCTTGCAA
+>r1605
+GCAGTGGACTGATTTTGCCTCGTGGATAGAGGATA
+>r1606
+AACAGAATAACCACGAGGGTAACAAACTCCGCACC
+>r1607
+ATGAATACTTTACGTATTGGCTTAGTTTCCATCTC
+>r1608
+CTGCCCCTGCCTGGCATTGCTTTCCAGAATATCGG
+>r1609
+CAATGGCGACAATGTTGATATTGGCGCGGGCCAGC
+>r1610
+GTTTCTCCGAGGCGACCACACTGGCGCGGGAAATG
+>r1611
+CAGGCTGAATTCCGGCAGGTCGTGCGGAAAAAACA
+>r1612
+CGCTGTCTTTGCTCTGCTGGCGATCACTCGCGGTC
+>r1613
+CTATGCCTATATTGGTTAAAGTATTTAGTGACCTA
+>r1614
+TTTTCATTACCGGCAGTGAAACCAGCCATCAGCAC
+>r1615
+TACAAACTTAACGTTGTTCGTAGCGTTTAAACACC
+>r1616
+CGTCTTGCACTCTTCGGTCTGAATGCTGCAACCAC
+>r1617
+GTACGATAGATTGCATCTTTTTCACAGGTTACTCC
+>r1618
+AGCAGCGCACCGCCAACGCCACCGACGCCAATCAC
+>r1619
+TGCTATTTTTAAGACTTTTGCCAAACTGGCGGATG
+>r1620
+TTGAACAGCATCTGATGAGTAACGCGCACGCCAGT
+>r1621
+CGCACTGTCAGGTGCGGGCTTTTTTCTGTGTTTCC
+>r1622
+GCATTCCGGCTGACCACATGGTGCTGATGGCTGGT
+>r1623
+CCGGACGCGCTTTCACTTCACCAGTGTAAGACAGT
+>r1624
+CTTCTCATCGAGGAACACTGGCTTGATAATCTCGG
+>r1625
+TAGTTCTTACCCAACCAGTCGGCAACGCGCTGGGC
+>r1626
+TTACGCCGAACAAAAAGGCCAACACCTCGTCGATG
+>r1627
+CTGGCCATTATCTCGGTGGTAGGTGATGGTATGCG
+>r1628
+CCATCCACTTCGGCAATCTTCACGCGGCAGACGCC
+>r1629
+GCCACTATTATCAGCCGCTGCCGTTGGTACTGCGC
+>r1630
+AAGAAAAACTGTTCTGTACATTGGGCGGCAATATC
+>r1631
+GAGAAAAACGACAGGGAAAAAGGAGAAATTCTCAA
+>r1632
+TGCCGTTGGTACTGCGCGGATATGGTGCGGGCAAT
+>r1633
+TCAGGCCTACGATCTTCTTGCAATATATTGAATTT
+>r1634
+GAAAACGTTCTGCATTTGCCACTGATGTACCGCCG
+>r1635
+GGTAGATTTCAGATACAGAAACCACGCCCGGATCT
+>r1636
+CTGGATTACCGGTTATTGAGAACCTGCAAAATCTG
+>r1637
+CTCCGGCAGCATTCATTACGACAACGTGGCACCGT
+>r1638
+GCGTGACCAGTTGAATCCAGGCGAATATGGCTTGT
+>r1639
+AGCTGCCGCTGCCGCGTTTGGCGTCGACCCCATTC
+>r1640
+ATAGGCGATCGTGATAATCGTGGCTATTACTGGGA
+>r1641
+ACGGAAATACGGGCGCGTGACATCGCTGCAAAGAC
+>r1642
+TGTCGCACAGTTGCCGCAAGAAGCACGTAACCAGT
+>r1643
+CACTGAACAGGCGCTGGAGCCTAAGCCCGAACCGA
+>r1644
+TCAGCCGGAATGCGGCTTGCCGCAATACGGCGGGT
+>r1645
+GGCGTATCTCCGGCAGCATTCATTACGACAACGTG
+>r1646
+AGGGTTGTTCAGGCGTAAAAAGAAGAGATTGTTTT
+>r1647
+TTGGCGTCGGTGGCGTTGGCGGTGCGCTGCTGGAG
+>r1648
+ACCCTTGCTTTCGCATAACCTGCCCGCCGATTTTG
+>r1649
+GGTATGAACCACAGGCGAGAGCAGTAATATGGCGG
+>r1650
+ACATGGCCTTAATCTGGAAAACTGGCAGGAAGAAC
+>r1651
+GTGGATTAAAAAAAGAGTGTCTGATAGCAGCTTCT
+>r1652
+TCGACGGCGATTTCGATGCCTGTCAGGCGCTGGTG
+>r1653
+GAAGTTAGCGAATAAAAAAATCCCCCCAGGCGGGG
+>r1654
+TAACCGGTCTGCCCTGATGATATCACAAGGGCGAA
+>r1655
+AAAGCATTCGCAAATGCTGTTGGGCAAAATCGAAA
+>r1656
+ATATTGGTTAAAGTATTTAGTGACCTAAGTCAATA
+>r1657
+TAATGAATATCGGGCAACTTCCCCACGTCATTTGG
+>r1658
+CAGTAATATGGCGGTCAAATTGGTAATAGCCATGC
+>r1659
+TCTGTACATTGGGCGGCAATATCGAAACTGTTGCC
+>r1660
+TCTTGACTGATACAAAGCGAATACCGATAAGAAAG
+>r1661
+GGATATCGACCCATAACGGGCAATGATAAAAGGAG
+>r1662
+AAAAAGGCCAACACCTCGTCGATGGATTACTACCA
+>r1663
+AATCAGGCAAGGGATCTGGAACTGGGCGATGGGGG
+>r1664
+AGCTCTTTTGGCAGATCCAACGTTTCACCGAGAAT
+>r1665
+TAAAAGCAAACCCGGCCTGATTGAGATAATGAATA
+>r1666
+GCTCCCAGCACTGATAAACGATATTTTCCCGTGGC
+>r1667
+GTGATTTGCGTAATGAATATCGGGCAACTTCCCCA
+>r1668
+GCAGGTATAAACACCGTCAACATCCGTCCAGATCT
+>r1669
+GCTGCCGTTGGTACTGCGCGGATATGGTGCGGGCA
+>r1670
+CTTCTGAACTGGTTACCTGCCGTGAGTAAATTAAA
+>r1671
+TCATCGCGTAATCTCCGGATATCGACCCATAACGG
+>r1672
+TTAAACTCTGCGGGCAGCACAGGTTCAATTTCAAT
+>r1673
+CCCGATGCGAGGTTGTTGAAGTCGATGTCCTATCA
+>r1674
+GCCATGGGAGCGACCAGAACCAGGGAAAGTGCGAG
+>r1675
+ATGTCAGACTCCTAACTTCCATGGGAGGGTACGTA
+>r1676
+CGACTTCCCGGTCACGCTAAGTATGATTACAGCAG
+>r1677
+ATGAGTCGTTTCATTATTGAAAATCGGCTGACCAA
+>r1678
+GGTCAAGGGCATTTCCAATCTGAATAACATGGCAA
+>r1679
+GTCGCCCGGCTCATGCAGGGGTTTGTCCCGTTGAT
+>r1680
+CCGGCTGACCACATGGTGCTGATGGCTGGTTTCAC
+>r1681
+GCGGCAGAGACATTCAGTCTCAACAACCTCGGACG
+>r1682
+TGCAAAATCAGGAAGGTTTTGTTCATATTTGCCGG
+>r1683
+AGTTTCGTGGCGGACCGGCATGGTATATGGCGCGC
+>r1684
+TTTCCAATGAGGCGGGAATGGGGTCGACGCCAAAC
+>r1685
+ATCATCCCACGCGTCTGGAGAAAGCTGGCGACCGA
+>r1686
+GCGCGGGCCAGCGCGGCAAAGAATTTCGCCGAGAT
+>r1687
+CTTATCCCTTCGAGCGGGGGGAGCTTAACAATTAG
+>r1688
+CGGGCTTTTTTTTCGACCAAAGGTAACGAGGTAAC
+>r1689
+GATGAGCAGGCGATCATCGAGCAAACGTTGTGTGA
+>r1690
+AACGGCAGCGGCTGATAATAGTGGCTATAGAAGGC
+>r1691
+ATCTGCTCAATGCTGGTGATGAATTGATGAAGTTC
+>r1692
+CCATGGAAGTTAGGAGTCTGACATGGTTAAAGTTT
+>r1693
+CTTTGATGAAGCTTCCTCCAGCAATGGCGAACTGG
+>r1694
+ATAGGACATCGACTTCAACAACCTCGCATCGGGCA
+>r1695
+CAGAGTACACAACATCCATGAAACGCATTAGCACC
+>r1696
+CTTCCTGCATTGCCCGTTCAGCTCGCACACAGTCG
+>r1697
+TCGAGGAACACTGGCTTGATAATCTCGGCATTCAA
+>r1698
+AAAGGATCGCAGTTGGTACAAAATGCAGGCTGATC
+>r1699
+TCGCCATAAAAGCGGCGACATCACCCTCGGCGTTA
+>r1700
+GATATTGAAATTGAACCTGTGCTGCCCGCAGAGTT
+>r1701
+ATATGCTGATTCTTATTTCACCTGCGAAAACGCTT
+>r1702
+GGCATGTAGGTTGTGCCGTTACCCGCCAGTAATAT
+>r1703
+GGCGATCGACATTTTCTCGCCACGGCAAATCAGCG
+>r1704
+GCCGGCAAATATGAACAAAACCTTCCTGATTTTGC
+>r1705
+ATGACGGCGGTCCATGTGGGTGCCAGCGATTGCCT
+>r1706
+ATCGCTTCCACGCTCTCTTTAAATTTCGCCGGATG
+>r1707
+CGGTACCGAGACAACCAACTGGTTACGTGCTTCTT
+>r1708
+AGGCCATGTACATTGGTGAGCAGTGCCTTCGAGTT
+>r1709
+TCCATCACACTGGCGGCCGCTCGAGCATGCATCTA
+>r1710
+GGCTTAGTTTCCATCTCTGATCGCGCATCCAGCGG
+>r1711
+GGTGCCGAGGAACAAGCCATATTCGCCTGGATTCA
+>r1712
+GACAACCGACATCGCTTTCAACATTGGCGACCGGA
+>r1713
+CACCGAAGCGTCAATTGCGAAAGCAAAACGCCTGA
+>r1714
+AACCGTGACTACATCTCCGAGCAATGCACCATCAA
+>r1715
+CAACTATCGATCAACTCATTCTCTTTTTTTGCTAA
+>r1716
+GACAAACTGGCGGGTATCAACGCCGCTCGCTTTCA
+>r1717
+TGACCAAACCAGAGCAACTGACTGGTTTTAATAGC
+>r1718
+ATAATCGTGGCTATTACTGGGATGGCGGTCATTGG
+>r1719
+GAGACTGAATGTCTCTGCCGCCTCAACCGTGACTA
+>r1720
+GGAGGGTACGTAGCAGATCAGCAAAGACACCGGCA
+>r1721
+TGATGATATCACAAGGGCGAATTCTGCAGATATCC
+>r1722
+AGGCGACCACACTGGCGCGGGAAATGGGTTATACC
+>r1723
+ATTTTTATACGAAACCTCATGTATGCTACGCAGAA
+>r1724
+ACCTGTGAAAAAGATGCAATCTATCGTACTCGCAC
+>r1725
+GAATGAAGCCTGCCAGATGTCGCCCGTGCGCAATG
+>r1726
+AAAATAAGTTCGGCATCGCTGATATTGGGTAAAGC
+>r1727
+TACCGATCCCCAAAGGACGCTGTTAATAAAGGAGA
+>r1728
+CGCGATGACTTTCCTGTGTAAACGTTACCAATTGT
+>r1729
+GACTGATGTTGATGGAGTTAGCAGAATTCAGCCCC
+>r1730
+TGGTGATTTGCGTAATGAATATCGGGCAACTTCCC
+>r1731
+ACCAGTACTACAAAGAGCATGGTTATGAAACCGTG
+>r1732
+GCTGCCAGTCATGAAAGCGAGCGGCGTTGATACCC
+>r1733
+AGCTGTAACGTCATTGCCCGCACCATATCCGCGCA
+>r1734
+TATTTTTGAGAGTGCTTTTGGCTGGCAGGAAGCTG
+>r1735
+CTGCATACCACCAAGAAAACACGGTGCCACGTTGT
+>r1736
+TCGTTACCTTTGGTCGAAAAAAAAGCCCGCACTGT
+>r1737
+ATTACAGAGTACACAACATCCATGAAACGCATTAG
+>r1738
+TTATTGACTTAGGTCACTAAATACTTTAACCAATA
+>r1739
+CGCGTCGTGACGTAACGCCCGATGCGACGCTGGCA
+>r1740
+GTCCTCTCTGCCCCCGCCAAAATCACCAACCATCT
+>r1741
+CGCGGCAAAGAGATCGTCGAGCTGTGACAGATTCG
+>r1742
+AGGTCACTAAATACTTTAACCAATATAGGCATAGC
+>r1743
+ACCTCCCTTCGTCAGTACACCACCGTAGTGGCCGA
+>r1744
+GTTGTTGAGACTGAATGTCTCTGCCGCCTCAACCG
+>r1745
+TGCAGGAAGAGTTCTACCTGGAACTGAAAGAAGGC
+>r1746
+TCGTCTGGAAATGGGGATACGTCTTGAGAATGCCC
+>r1747
+AGAATGCCCGCCAGGCAATTCTGGCGTTTAAAGGT
+>r1748
+TCAGGCGAACGCCGTTGCGCGAGCCCTGAGTTTTT
+>r1749
+CGCTCGAAGGGATAAGATTGTTAACAACGTGCGCT
+>r1750
+AGCCAAAAGCACTCTCAAAAATAGACCAAATGACG
+>r1751
+GTTTGGCGTCGACCCCATTCCCGCCTCATTGGAAA
+>r1752
+AGATTCGAGGTAATGACCCACTGCCAGCAGTTTTT
+>r1753
+GCGCGGATATGGTGCGGGCAATGACGTTACAGCTG
+>r1754
+GTCGTGGTCAATAACGATGATGCGACCACTGGCGT
+>r1755
+GCAGCGCAGGCTGCGGAAATTACGCTAGTCCCGTC
+>r1756
+TGGCATTTAAAGATTTCGGCGGTCGCTTTATGGCA
+>r1757
+ACGCCGCGATTTTTCCGCCGCATAACGCAACTGAT
+>r1758
+GAAAAACTGCTGGCAGTGGGTCATTACCTCGAATC
+>r1759
+AATTCGTCTTCATCACGGCTGGCACCAATGAGCGT
+>r1760
+AATAAACATATCGACTTACGTGTCTGCGGTGTTGC
+>r1761
+CCGGTGTTTGATCCGTTGCGTTATCCGGAGATCGG
+>r1762
+CCTCCAGCAATGGCGAACTGGTGTTTAAACGCTAC
+>r1763
+GCCCCCGCAGATTAGCTCCCTGATGCGCATCAGCG
+>r1764
+CCCATATTGCGGGCGATAAGCCAGTGACCATTCTG
+>r1765
+AACTCTACAATCTGAAAGATCACAATGAGCAGGTC
+>r1766
+TGAAAATCGGCTGACCAAACCAGAGCAACTGACTG
+>r1767
+CGCGTCTTTGCAGCGATGTCACGCGCCCGTATTTC
+>r1768
+CAAACGCCTGCTTCACCAGCGCCTGACAGGCATCG
+>r1769
+TTTCGCAGGAGTAATCACAACTATCGATCAACTCA
+>r1770
+TGTAAGACAGTTTACGTTCGATAGCCCCTTCGCTC
+>r1771
+TGGCTGGCAGGAAGCTGCAGGCGGCGCGGCGGGAT
+>r1772
+AAATACTCATCTGACGCCAGATTTATCACCACATT
+>r1773
+CAGTCATGAAAGCGAGCGGCGTTGATACCCGCCAG
+>r1774
+CGTTGGGGCTGGATTACCGGTTATTGAGAACCTGC
+>r1775
+TCTGGTGTCTGCGGATCTGCACCTTCGCAACGGTC
+>r1776
+TTTAGCAAAAAAAGAGAATGAGTTGATCGATAGTT
+>r1777
+TGATATCATCAGGGCAGACCGGTTACATCCCCCTA
+>r1778
+CGCCGAACAAAAAGGCCAACACCTCGTCGATGGAT
+>r1779
+GCACGTTCTGCCAGCTCTTTTGGCAGATCCAACGT
+>r1780
+TACCCTCGTGGTTATTCTGTTTGCCTTCAGCTCCA
+>r1781
+AATTTACTCACGGCAGGTAACCAGTTCAGAAGCTG
+>r1782
+AGTGTTCCTCGATGAGAAGAACGGCAAATTTAAGA
+>r1783
+CTCATGTATGCTACGCAGAAGTTATCCAAGTACCT
+>r1784
+ACGTAAGTCGATATGTTTATTCTTCAACCAGCTTT
+>r1785
+ATCCATGCCAGAAAGATCATCTCGCGGGTCCGGTT
+>r1786
+GCTCCAGTTCACGTCCCGTTTCACGAGCGAGAATC
+>r1787
+GCACCATATCCGCGCAGTACCAACGGCAGCGGCTG
+>r1788
+ACTGATGATTCATCATCAATTTACGCAACGCAGCA
+>r1789
+AATGAGCGTACCTGGTGCTTGGGGATTTCCGGTAT
+>r1790
+AGCTAATCTGCGGGGGCGTCAGTTTCCGCGCTTCA
+>r1791
+GCTGAATTCCGGCAGGTCGTGCGGAAAAAACAGCC
+>r1792
+AAAACTCAGGGCTCGCGCAACGGCGTTCGCCTGAA
+>r1793
+TGGTGGTTCTGGGACGCAACGGTTCCGACTACTCC
+>r1794
+TCTCCGCCAGCTCTTTCAGCAGTGCCGGTGCGATG
+>r1795
+CAACTTACGGTATTCCGGAATCTGCGCTGCGTTAA
+>r1796
+GATAATCTGGGTACTGACCAGCCTGGTGATTTGCG
+>r1797
+ACAACGTTACCGTTATCGATCCGGTCGAAAAACTG
+>r1798
+GTTTCGGCCTGCAAGCCAGTGTAGACATCACCTTT
+>r1799
+AACTGGAAACCCGCTTAATCCCCGATGAGCAGGCG
+>r1800
+CCGTGGTGAGCACCAGATGGCAACTCATTTCATCC
+>r1801
+CTTGCAGCGCGCGTGGGTAGCGGCAACCTGGCCGG
+>r1802
+GCGGACCGGCATGGTATATGGCGCGCGGGCTGGGG
+>r1803
+CTAATTGTTAAGCTCCCCCCGCTCGAAGGGATAAG
+>r1804
+CCTGACAAACATCATCGCTAAATATCAATGCCGGA
+>r1805
+CAAGTTAGACGAAGGCATGAGTTTCTCCGAGGCGA
+>r1806
+CATTGGGGCGACCACGGCTGGTGGAAACAACATTA
+>r1807
+GCGCAGTATGTTTTCCAATGAGGCGGGAATGGGGT
+>r1808
+ATGATGAAGAACTGAAAGTGGCGCTGGGGCTGAAT
+>r1809
+TAATACCTGCATCGTTGTAGAGTTTGATCAGGCGT
+>r1810
+TCTACGCCAGCGTAAACTCGGCGTGCGCCCGGTGT
+>r1811
+TGGGTCGATATCCGGAGATTACGCGATGAGAACGG
+>r1812
+GCAGGTTGTTGGTTCACTTTTCGTACCGGATTTGT
+>r1813
+CGCCTGCTCATCGGGGATTAAGCGGGTTTCCAGTT
+>r1814
+CTGTTTACGCGCCGATTGTTGCGAGATCTGGACGG
+>r1815
+ATTTGTTATTACTTTGAGGCTGTCGCACAGTTGCC
+>r1816
+TGGTGTCTGCGGATCTGCACCTTCGCAACGGTCAT
+>r1817
+TATGACACCAACGTTGGGGCTGGATTACCGGTTAT
+>r1818
+TCTCAATCAGGCCGGGTTTGCTTTTATGCAGCCCG
+>r1819
+ATCTCTGATCGCGCATCCAGCGGCGTTTATCAGGA
+>r1820
+GAAAGCATTCGCAAATGCTGTTGGGCAAAATCGAA
+>r1821
+TTCGCTCAGGCTCGTGCTTGTGCGGAAGCGGGCGT
+>r1822
+CAAACGCCGCACGTACGCGCTCTTCCAGGATTTCC
+>r1823
+TTAGCACCCGCATCGCCTTCTGGATAAGCTGAATA
+>r1824
+CACCTGCGAAAACGCTTGATTACCAAAGCCCGTTG
+>r1825
+ATCATTACCGATCCCCAAAGGACGCTGTTAATAAA
+>r1826
+TTCTTTTAACTCACGCATTGTCTGTTGCGTGGTTT
+>r1827
+ACTAAGCCAATACGTAAAGTATTCATCAAGATTTT
+>r1828
+TGCCATGGGAGCGACCAGAACCAGGGAAAGTGCGA
+>r1829
+ACAGCAAACTTACGGATACCTTCCGCCAGTTTATC
+>r1830
+GCCGATTTCCGCAACCGCCTGCCGCGCCTGCCGGA
+>r1831
+TGATAAACGATATTTTCCCGTGGCTCTGACGGCAG
+>r1832
+TATCATGACGGACAAATTGACCTCCCTTCGTCAGT
+>r1833
+ACGGCAGAAGCCAGGGCTATTTTACCGGCGCAGTA
+>r1834
+TTCACCTGCGAAAACGCTTGATTACCAAAGCCCGT
+>r1835
+CACGGCAGGTAACCAGTTCAGAAGCTGCTATCAGA
+>r1836
+ACCGTCCTCTCTGCCCCCGCCAAAATCACCAACCA
+>r1837
+GCGAAACATCATCCCACGCGTCTGGAGAAAGCTGG
+>r1838
+GTCGACCCCATTCCCGCCTCATTGGAAAACATACT
+>r1839
+CCGCCAGTTTATCTACTGCCATTGGATCCTGGTTG
+>r1840
+TCAGCACGTTCTGCCAGCTCTTTTGGCAGATCCAA
+>r1841
+TTTTATGGCGAATCTGTCACAGCTCGACGATCTCT
+>r1842
+CTGTGACAGATTCGCCATAAAAGCGGCGACATCAC
+>r1843
+ATGCGCGGTGCCGAGGAACAAGCCATATTCGCCTG
+>r1844
+GTTGAGACTGAATGTCTCTGCCGCCTCAACCGTGA
+>r1845
+CCTAAAGCGATCTGGTGTCTGCGGATCTGCACCTT
+>r1846
+TAACAATCTTATCCCTTCGAGCGGGGGGAGCTTAA
+>r1847
+CGTTTGAACTGGAAACCCGCTTAATCCCCGATGAG
+>r1848
+CGCCATATACCATGCCGGTCCGCCACGAAACTGCC
+>r1849
+CGTGCGGCGTTTGCCTTCCCGGCTCCGGTCGCCAA
+>r1850
+GATCCCTGAGCAATGGCGACAATGTTGATATTGGC
+>r1851
+TCACCCTCGGCGTTAAACTCTGCGGGCAGCACAGG
+>r1852
+CTGGTGGAAACAACATTATGAATGGCGAGGCAATC
+>r1853
+GGGATGATGTTTCGCAGGAGTAATCACAACTATCG
+>r1854
+TACGATCGTTGCTAATACCTGCATCGTTGTAGAGT
+>r1855
+GCCGCGATTTTTCCGCCGCATAACGCAACTGATGG
+>r1856
+TCTGCCAGCTCTTTTGGCAGATCCAACGTTTCACC
+>r1857
+TTCCTCGATGAGAAGAACGGCAAATTTAAGATCAT
+>r1858
+TCAGTAAAATTACAGATAGGCGATCGTGATAATCG
+>r1859
+AGCCTTCTTTCAGTTCCAGGTAGAACTCTTCCTGC
+>r1860
+CAGCCAAAAGCACTCTCAAAAATAGACCAAATGAC
+>r1861
+TCTGGACGGATGTTGACGGTGTTTATACCTGCGAT
+>r1862
+ACCGCGACATCCGGTGATACTGGAGCGGCAGTGGC
+>r1863
+GAAAAACTGTTCTGTACATTGGGCGGCAATATCGA
+>r1864
+ACACAACGTTTGCTCGATGATCGCCTGCTCATCGG
+>r1865
+GCGCGTTACTCATCAGATGCTGTTCAATACCGATC
+>r1866
+AATCAGCACGTTCTGCCAGCTCTTTTGGCAGATCC
+>r1867
+TTGCTCGATGATCGCCTGCTCATCGGGGATTAAGC
+>r1868
+AGCGTTTTTGCCAGGAGCTTGGCAAGCAAATTCCA
+>r1869
+GCTGTAATCATACTTAGCGTGACCGGGAAGTCGGT
+>r1870
+CTCGTTTGCCGAATGTTCCCTCGCACAGCTTTATA
+>r1871
+ATTACCGGTCAAGGGCATTTCCAATCTGAATAACA
+>r1872
+GAATCCAGGCGAATATGGCTTGTTCCTCGGCACCG
+>r1873
+TCCGGTGTGAAATTTGGCTGCCAGTCATGAAAGCG
+>r1874
+ATTGGTGATGAAATCCCGCAGGAAATCCTGGAAGA
+>r1875
+TTGGTCTGGAAATCCTGAAACTGGTTCCGGGCCGT
+>r1876
+AATTTAAGATCATCAGCTTCTACGCTAAGAAAGCA
+>r1877
+GATATTGCTGAATCCACCCGCCGTATTGCGGCAAG
+>r1878
+GAGCTGGCGGATATTGAAATTGAACCTGTGCTGCC
+>r1879
+AATGATTTACCTGCTTTTCGGCGCAGGTTGTTGGT
+>r1880
+CGTATCCCCATTTCCAGACGATAAGGCTGCATTAA
+>r1881
+GTCCATGTGGGTGCCAGCGATTGCCTCGCCATTCA
+>r1882
+GCACGTTGTTAACAATCTTATCCCTTCGAGCGGGG
+>r1883
+CGTACCTGGTGCTTGGGGATTTCCGGTATTTTTAA
+>r1884
+TAACGGCACAACCTACATGCCGCTGGAAGGTATTC
+>r1885
+CAGTGGGTCATTACCTCGAATCTACCGTTGATATT
+>r1886
+CAGTGGCTCATGCTTTCTACGGTTTACCGAATGTG
+>r1887
+TCTGTTCACCAAAGCCTGGCATCTCGCGGTCCGCT
+>r1888
+GTTTGTGATTGGCGTCGGTGGCGTTGGCGGTGCGC
+>r1889
+ACTGCGAAGGGAGTGACAGACAGGTTTCAGAAGAG
+>r1890
+CCGGCAGCATTCATTACGACAACGTGGCACCGTGT
+>r1891
+GCCATCTGGTGCTCACCACGGGCGGAACTGGCCCT
+>r1892
+TAACTTACCCGGTCAACCGAAGTCTATTAAAGAGA
+>r1893
+GAACTGAAAGAAGGCTTACTGGAGCCGTTGGCGGT
+>r1894
+AACGCAGCGAATTGGGCCTCTAGATGCATGCTCGA
+>r1895
+CTGTCTGTGCGCTATGCCTATATTGGTTAAAGTAT
+>r1896
+GCCCGTTCAGCTCGCACACAGTCGCTTTGCGGAAC
+>r1897
+CCTGATTAAAAATACCGGAAATCCCCAAGCACCAG
+>r1898
+TAACAAGGTGCCGCCGATGACCGTTGCGAAGGTGC
+>r1899
+GATGATGAAGAACTGAAAGTGGCGCTGGGGCTGAA
+>r1900
+GAGTCCGAGTTCCTGTGGCAGCACAACCAGGATCC
+>r1901
+AGTCCACTGCAAGAAAAACTGTTCTGTACATTGGG
+>r1902
+GCAGCTGATCCATGAAGCGCGGAAACTGACGCCCC
+>r1903
+CAGGCGTTTTGCTTTCGCAATTGACGCTTCGGTGT
+>r1904
+AGCGGGTTTCCAGTTCAAACGGCGTGGTTAGCGCC
+>r1905
+CTAATTGTTAAGCTCCCCCCGCTCGAAGGGATAAG
+>r1906
+CAACCTGCGCCGAAAAGCAGGTAAATCATTACCGA
+>r1907
+GATACTGGAGCGGCAGTGGCTCATGCTTTCTACGG
+>r1908
+GCTTTGTATCAGTCAAGAATACGGCCAACAAACGG
+>r1909
+TAGAAGCTGATGATCTTAAATTTGCCGTTCTTCTC
+>r1910
+ACCCACATCCAGAAGACGGCTCCAGGTCCACCGGC
+>r1911
+TCTGCCGTCGAGACTTTAATCCCCGGATACGCCAG
+>r1912
+AGTGACCATTCTGACCGCGACATCCGGTGATACTG
+>r1913
+CGGCGGTACATCAGTGGCAAATGCAGAACGTTTTC
+>r1914
+TCCGGCAGCATTCATTACGACAACGTGGCACCGTG
+>r1915
+GCATCGAAATCGCCGTCGATGGCAACAGTTTCGAT
+>r1916
+CGTCTGACCATCGCACCGGCACTGCTGAAAGAGCT
+>r1917
+GCATCTAGAGGCCCAATTCGCTGCGTTGATATCGC
+>r1918
+CACGGATACCCTGCCAGGTAGAAGCCAGTTTGATC
+>r1919
+CGATGACTCTGGAAAAGAATATGCCGATCGGTTCG
+>r1920
+TGCCGAAAACAATCTCTTCTTTTTACGCCTGAACA
+>r1921
+TGGCGATGACTCTGGAAAAGAATATGCCGATCGGT
+>r1922
+TTTCAGTTCCAGGTAGAACTCTTCCTGCATTGCCC
+>r1923
+TGAGAGAAGGGTTGGTTGTGGCATCCTGCGGTTGA
+>r1924
+ATTTAGCGATGATGTTTGTCAGGCCCCGGACGATG
+>r1925
+ACCGCGAGATGCCAGGCTTTGGTGAACAGATGCGC
+>r1926
+CCTTCGCTCTCCGCCAGCTCTTTCAGCAGTGCCGG
+>r1927
+GGTTCCGGGCCGTATCTCAACTGAAGTTGATGCGC
+>r1928
+GCTTTTCATTCTGACTGCAACGGGCAATATGTCTC
+>r1929
+AGTGACCTAAGTCAATAAAATTTTAATTTACTCAC
+>r1930
+TTCATGACTGGCAGCCAAATTTCACACCGGAGAAT
+>r1931
+GATATCATCAGGGCAGACCGGTTACATCCCCCTAA
+>r1932
+TCAATGCCGGATTGCCATCCGGCATTATCCGGCAT
+>r1933
+TTCTGAACTGGTTACCTGCCGTGAGTAAATTAAAA
+>r1934
+TTTTCACAGGTTACTCCTTTTATCATTGCCCGTTA
+>r1935
+CAACGGTTCCGACTACTCCGCTGCGGTGCTGGCGG
+>r1936
+CGGATATCGACCCATAACGGGCAATGATAAAAGGA
+>r1937
+GACTCCTAACTTCCATGGGAGGGTACGTAGCAGAT
+>r1938
+AAGCTGGATTTTGTCACCCGCAGTGCGAAGATCCT
+>r1939
+GCATCTCGCGGTCCGCTACTGCCAGCGTCGCATCG
+>r1940
+CGCTACCCACGCGCGCTGCAAGACTGGTACACAAT
+>r1941
+GTTATGAAACCGTGGTTATGGGCGCAAGCTTCCGT
+>r1942
+CTGGCAGTGGGTCATTACCTCGAATCTACCGTTGA
+>r1943
+TGCAAAATCTGCTCAATGCTGGTGATGAATTGATG
+>r1944
+ATTTCCCGCGCCAGTGTGGTCGCCTCGGAGAAACT
+>r1945
+GGCGGTACATCAGTGGCAAATGCAGAACGTTTTCT
+>r1946
+CTCGATGATCGCCTGCTCATCGGGGATTAAGCGGG
+>r1947
+TTTTATTCGCTAACTTCGCGTCTTGCACTCTTCGG
+>r1948
+ACCCGCCGTATTGCGGCAAGCCGCATTCCGGCTGA
+>r1949
+GAGGCCCAATTCGCTGCGTTGATATCGCCCGCCAT
+>r1950
+CCAGCCAGGCTGTGGCAGATCAATATGCCGACTTC
+>r1951
+GCCCCAGCGCCACTTTCAGTTCTTCATCATCAAAC
+>r1952
+GATGTCAGCCATTCTTCCAGCGCAGGGATGCCTTT
+>r1953
+TCACTGGCAATGGTATGAACCACAGGCGAGAGCAG
+>r1954
+CTTTGAGGCTGTCGCACAGTTGCCGCAAGAAGCAC
+>r1955
+GCTCTCCGCCAGCTCTTTCAGCAGTGCCGGTGCGA
+>r1956
+CCACGCGCGCTGCAAGACTGGTACACAATGACTGA
+>r1957
+TAGCGGCAACCTGGCCGGCGTTGCGCTGGCAATTA
+>r1958
+AGGTCGCCATGCCGATAAATGCGGCAACCCACATC
+>r1959
+GTTCGTAGCGTTTAAACACCAGTTCGCCATTGCTG
+>r1960
+TTGATGCGCGTCTTTCCTATGACACCGAAGCGTCA
+>r1961
+AACAGGCCGCCAGCACCGCAGCGGAGTAGTCGGAA
+>r1962
+GTCGATCGCCATTATGGCCGGCGTGTTAGAAGCGC
+>r1963
+TTACAGATAGGCGATCGTGATAATCGTGGCTATTA
+>r1964
+GTGGTATGCAGTTGATGATCGAAGAAAACGACATC
+>r1965
+CTTTCAACATTGGCGACCGGAGCCGGGAAGGCAAA
+>r1966
+CAGGTTCGCTTTCTTATATCTTCGGCAAGTTAGAC
+>r1967
+ATGTTACGGAAGCTTGCGCCCATAACCACGGTTTC
+>r1968
+GATCAGGTTATCGAAGTGTTTGTGATTGGCGTCGG
+>r1969
+GATCGCAGGTATAAACACCGTCAACATCCGTCCAG
+>r1970
+ATGAGGTTAAACCGCCTGGCTGTGGATGAATGCTA
+>r1971
+GGCAGTGAAACCAGCCATCAGCACCATGTGGTCAG
+>r1972
+TCCTGTACGCGTCAGCCCGCACCGTTACCTGTGGT
+>r1973
+CTGGAGAAAGCTGGCGACCGATCTCCGGATAACGC
+>r1974
+GCCAGTTGTTTGGCTGGCTAACATCCATCGCATTG
+>r1975
+TTTTTCGACCAAAGGTAACGAGGTAACAACCATGC
+>r1976
+CTGAAAGTGGCGCTGGGGCTGAATTCTGCTAACTC
+>r1977
+CCGCAACCGCCTGCCGCGCCTGCCGGAAGCCTGGC
+>r1978
+AGTTGTTCCGCCGCAAAATCTGGCAACTGAAAGAG
+>r1979
+GCCACGGGAAAATATCGTTTATCAGTGCTGGGAGC
+>r1980
+GATCGTATTCTGATCAAACTGGCTTCTACCTGGCA
+>r1981
+ACGCCCTTCCAACTCGCCCATCAAAGCCAGCAAAC
+>r1982
+GCCGCGCTGGCCCGCGCCAATATCAACATTGTCGC
+>r1983
+GGCTCGTGCTTGTGCGGAAGCGGGCGTGTTCCTGA
+>r1984
+GCCAGCAGAGCAAAGACAGCGAGAATAATACCTGT
+>r1985
+CGGTGAAGCCGAAGAAATTGAATGCCGAGATTATC
+>r1986
+ATTATCGCCTTGTGCTGCGAGCGCCTCGTTCAGCT
+>r1987
+CTCCCAGCACTGATAAACGATATTTTCCCGTGGCT
+>r1988
+ATCGCGACCGGCAATAAGAGGGATATGCATGCCAG
+>r1989
+CACCACCATCACCATTACCACAGGTAACGGTGCGG
+>r1990
+CATGCCAGATTTTTTCTCCTTTATTAACAGCGTCC
+>r1991
+CCACAACCAACCCTTCTCTCATTCTTAACGCAGCG
+>r1992
+CGGCGATTTGACGGCGGGTCTGCTGGCGAAGTCAC
+>r1993
+GAGCGGTATCTCCGGCTCCGGCCCGACTTTGTTCG
+>r1994
+GCTGGCACAATTGAAAACTTTCGTCGACCAGGAAT
+>r1995
+CGGCGGGATATACCTTAAGCCAGGCGATTACTAAC
+>r1996
+CTGCCTGATGCGCTACGCTTATCAGGCCTACGATC
+>r1997
+CATGAAGCGCGGAAACTGACGCCCCCGCAGATTAG
+>r1998
+CAGCTGTTCTGCAGCACGGATACCCTGCCAGGTAG
+>r1999
+GCCGAAGTAAGAAAGCTCCATCGCTTCCTGATAGG
+>r2000
+GGTACTGACCAGCCTGGTGATTTGCGTAATGAATA
+>r2001
+AGGCCTGATAAGCGTAGCGCATCAGGCAGTTTTGC
+>r2002
+TGTTAGACAACGCCCAGCAGCTGATCCATGAAGCG
+>r2003
+GATCATCGTGGCGATCATCGTCCGGGGCCTGACAA
+>r2004
+GCGAAGGAGAACAGCAGGGTCAGGTTACAGTTAAT
+>r2005
+GGCAGAGACATTCAGTCTCAACAACCTCGGACGCT
+>r2006
+GCCGGACGCGCTTTCACTTCACCAGTGTAAGACAG
+>r2007
+TGCCAAAAGAGCTGGCAGAACGTGCTGATTTACCC
+>r2008
+GGATGCCTTTATCCTGATAAACGCCGCTGGATGCG
+>r2009
+CTATCGAACGTAAACTGTCTTACACTGGTGAAGTG
+>r2010
+GATTACGCAATCATCTTCCGAATACAGTATCAGTT
+>r2011
+GGTCGCATCATCGTTATTGACCACGACAGAGATTG
+>r2012
+CGCTATGTTGGCAATATTGATGAAGATGGCGTCTG
+>r2013
+CCAGGATCCAATGGCAGTAGATAAACTGGCGGAAG
+>r2014
+GGGTGCCAGCGATTGCCTCGCCATTCATAATGTTG
+>r2015
+GGCTGCATTAAATCGAGCGGGCGCAGTACGCCATA
+>r2016
+TTGATGAGTGGCTGTGGGTGCTGGCGTATCCGGGG
+>r2017
+GAACCCGGTCATTGTTGACTGTACTTCCAGCCAGG
+>r2018
+CATCAATTTACGCAACGCAGCAAAATCGGCGGGCA
+>r2019
+CTAATTGTTAAGCTCCCCCCGCTCGAAGGGATAAG
+>r2020
+TGATGAATTGATGAAGTTCTCCGGCATTCTTTCAG
+>r2021
+TGATTCTTATTTCACCTGCGAAAACGCTTGATTAC
+>r2022
+TGGCAACGATGGAGCTGAAGGCAAACAGAATAACC
+>r2023
+CTGCATGAGCCGGGCGACGCCATGAAGACCGCGAG
+>r2024
+GTTTCGGCCTGCAAGCCAGTGTAGACATCACCTTT
+>r2025
+TTCATCAATTCATCACCAGCATTGAGCAGATTTTG
+>r2026
+CGTTGCTAATACCTGCATCGTTGTAGAGTTTGATC
+>r2027
+ACATCTATTCATTATCTCAATCAGGCCGGGTTTGC
+>r2028
+TCTGCAGAATTCGCCCTTGTGATATCATCAGGGCA
+>r2029
+ACCAGGTACGCTCATTGGTGCCAGCCGTGATGAAG
+>r2030
+AGATGGTTGGTGATTTTGGCGGGGGCAGAGAGGAC
+>r2031
+AAACGGGACGTGAACTGGAGCTGGCGGATATTGAA
+>r2032
+CGATGAGCAGGCGATCATCGAGCAAACGTTGTGTG
+>r2033
+AAATCGAGCGGGCGCAGTACGCCATACAAGCCGGA
+>r2034
+TGGTACGGTATCGTTCACGTTGGTCGCAGCAATAA
+>r2035
+CCGGTCGCGATGACTTTCCTGTGTAAACGTTACCA
+>r2036
+ACAATGTTGATATTGGCGCGGGCCAGCGCGGCAAA
+>r2037
+TTTCCGCTGGCACAATTGAAAACTTTCGTCGACCA
+>r2038
+TCTTCAACCAGCTTTGCTGACGCTTCAGTTGCTCC
+>r2039
+CGCTGATTTGCCGTGGCGAGAAAATGTCGATCGCC
+>r2040
+TGATGTACCGCCGAACTTCAACACTCGCATGGTTG
+>r2041
+GCCGCTCGAGCATGCATCTAGAGGCCCAATTCGCT
+>r2042
+CCGCGACCACTGAACAGGCGCTGGAGCCTAAGCCC
+>r2043
+GCCATCTTCATCAATATTGCCAACATAGCGCAAAA
+>r2044
+CAGATGTCGCCCGTGCGCAATGCAATCCTGGCGGC
+>r2045
+GAATAATACCTGTTACCAGCGGGGGAAAATCAAAA
+>r2046
+CGAGAATAATACCTGTTACCAGCGGGGGAAAATCA
+>r2047
+CAGAAAAAAGCCCGCACCTGACAGTGCGGGCTTTT
+>r2048
+GGGGTGCGGAGTTTGTTACCCTCGTGGTTATTCTG
+>r2049
+AATCGGCGCGTAAACAGGCCGCCAGCACCGCAGCG
+>r2050
+TATTAACTGTAACCTGACCCTGCTGTTCTCCTTCG
+>r2051
+CCCACTGCCAGCAGTTTTTCGACCGGATCGATAAC
+>r2052
+GTGAACTGGTGGATGAAATGAGTTGCCATCTGGTG
+>r2053
+CGCATCCGGCGAAATTTAAAGAGAGCGTGGAAGCG
+>r2054
+AACGGAAAAATCTTGATGAATACTTTACGTATTGG
+>r2055
+TGTTCAATACCGATCAGGTTATCGAAGTGTTTGTG
+>r2056
+CAGGCGTTTTGCTTTCGCAATTGACGCTTCGGTGT
+>r2057
+CATAACCCAGCTCTTTCAGTTGCCAGATTTTGCGG
+>r2058
+AATCATACTTAGCGTGACCGGGAAGTCGGTCACGC
+>r2059
+ACTGGGATGGCGGTCATTGGGGCGACCACGGCTGG
+>r2060
+CAACGGCGTTCGCCTGAACTCCGCTGAAAATTATG
+>r2061
+ATGGCAGTAGATAAACTGGCGGAAGGTATCCGTAA
+>r2062
+CCGGCAGAAGATCCGGGCGTGGTTTCTGTATCTGA
+>r2063
+GGATGAAAGGGATGGTTGGCATGGCGGCGCGCGTC
+>r2064
+ATCTGGAAAACTGGCAGGAAGAACTGGCGCAAGCC
+>r2065
+TTTGTACCAACTGCGATCCTTTCGCGTCAGGTGGG
+>r2066
+CAATGGGCAGTTTCGTGGCGGACCGGCATGGTATA
+>r2067
+CGCCAAACGCGGCAGCGGCAGCTGCGTCCTGGCCT
+>r2068
+ATAACGATGATGCGACCACTGGCGTGCGCGTTACT
+>r2069
+ACATACTGCGCTGAAAACCGTTAGTAATCGCCTGG
+>r2070
+GATGCGCTGGATGGGCGTTCTGTTCGCCGTCTTTT
+>r2071
+GCGACCACTGAACAGGCGCTGGAGCCTAAGCCCGA
+>r2072
+CGCGGTGCCGAGGAACAAGCCATATTCGCCTGGAT
+>r2073
+CCTAAGTCAATAAAATTTTAATTTACTCACGGCAG
+>r2074
+ACGCGCCCGTATTTCCGTGGTGCTGATTACGCAAT
+>r2075
+TGGACCGCCGTCATCGCCGCGCCATAACAAGCACA
+>r2076
+GAGGTCAATTTGTCCGTCATGATAGTATTTCTCTT
+>r2077
+TTACCGGCGCAGTATCGCCGCCAGGATTGCATTGC
+>r2078
+TCTCCAGACGCGTGGGATGATGTTTCGCAGGAGTA
+>r2079
+CGGATCTTCTGCCGGAGCGTACTCTTTCTTATCGG
+>r2080
+CAGGGTTTGATGAGTGGCTGTGGGTGCTGGCGTAT
+>r2081
+TGTTATTCTCCGCAATCCTAATCTCTAAGTTACCG
+>r2082
+CCAGCTGTTCTGCAGCACGGATACCCTGCCAGGTA
+>r2083
+ACAAGGTGCCGCCGATGACCGTTGCGAAGGTGCAG
+>r2084
+CCGCCGAACTTCAACACTCGCATGGTTGTTACCTC
+>r2085
+CTATGCCTATATTGGTTAAAGTATTTAGTGACCTA
+>r2086
+TTCCGTAACATCGGCGAAATTCTGGAACTGGCAGG
+>r2087
+TTGATTACCAAAGCCCGTTGACCACCACGCGCTAT
+>r2088
+AATACCTGTTACCAGCGGGGGAAAATCAAAAGAAA
+>r2089
+AGGAAACACAGAAAAAAGCCCGCACCTGACAGTGC
+>r2090
+CAGCTTCATTGCCGCGATGTCCCCAGTGTCGGCCA
+>r2091
+AATAAAATTTTAATTTACTCACGGCAGGTAACCAG
+>r2092
+GAGCAATGCACCATCAACAGGTGTCACCGCCGCCC
+>r2093
+AATGCAGGCTGATCTGGCGCATCTGTTCACCAAAG
+>r2094
+GCAATACGGCGGGTGGATTCAGCAATATCAACGGT
+>r2095
+CTTTTTTTTCGACCAAAGGTAACGAGGTAACAACC
+>r2096
+GGAGTCTGACATGGTTAAAGTTTATGCCCCGGCTT
+>r2097
+AAGACGGCTCCAGGTCCACCGGCGGTAATTGCCAG
+>r2098
+TCCTCTCGGCGTTTATTGGTGATGAAATCCCGCAG
+>r2099
+CGCTGGCACAATTGAAAACTTTCGTCGACCAGGAA
+>r2100
+ACGGCGATTTCGATGCCTGTCAGGCGCTGGTGAAG
+>r2101
+GATCTGCTGCGCGCGATCGTTGCTCTGCTGTTTCG
+>r2102
+AGGTGCGGGCTTTTTTCTGTGTTTCCTGTACGCGT
+>r2103
+CATCAGCGCCGCGACCACTGAACAGGCGCTGGAGC
+>r2104
+AAATCAAAAGAAAAACTCAGGGCTCGCGCAACGGC
+>r2105
+CGTAATTTCCGCAGCCTGCGCTGCCATGGGAGCGA
+>r2106
+TGCTGACGCTTCAGTTGCTCCAGCAGCGCACCGCC
+>r2107
+CGTCAGTACACCACCGTAGTGGCCGACACTGGGGA
+>r2108
+GATTACGCGATGAGAACGGCAGTTGTTATTCTCCG
+>r2109
+TAAGTTTTCCGCTGATGTGGCAACTGGCAGATATC
+>r2110
+GGTTACAGTTAATACCTTCTTTTTCCAGCTGTTCT
+>r2111
+GCGTCTGGAGAAAGCTGGCGACCGATCTCCGGATA
+>r2112
+TTCTGCCGGAGCGTACTCTTTCTTATCGGTATTCG
+>r2113
+CCATTCATAATGTTGTTTCCACCAGCCGTGGTCGC
+>r2114
+GCGCGTAAACAGGCCGCCAGCACCGCAGCGGAGTA
+>r2115
+CCCCCACCTGACGCGAAAGGATCGCAGTTGGTACA
+>r2116
+TTCCAGTGGCGATGACTCTGGAAAAGAATATGCCG
+>r2117
+TGCATAACCCAGCTCTTTCAGTTGCCAGATTTTGC
+>r2118
+GTTATGGGCGCAAGCTTCCGTAACATCGGCGAAAT
+>r2119
+GTCGGGCCGGAGCCGGAGATACCGCTCGCTACCGC
+>r2120
+CACGACCTGCCGGAATTCAGCCTGACTGAAATTGA
+>r2121
+GGCGATATCAACGCAGCGAATTGGGCCTCTAGATG
+>r2122
+TTGCCGAACTTCTGACGGGACTCGCCGCCGCCCAG
+>r2123
+AGCGTCCGAGGTTGTTGAGACTGAATGTCTCTGCC
+>r2124
+TTCATGGATGTTGTGTACTCTGTAATTTTTATCTG
+>r2125
+ACCACTGGCGTGCGCGTTACTCATCAGATGCTGTT
+>r2126
+ATGGTTAAAGTTTATGCCCCGGCTTCCAGTGCCAA
+>r2127
+TCCTGCGAAACATCATCCCACGCGTCTGGAGAAAG
+>r2128
+GGTAGAAGCCAGTTTGATCAGAATACGATCGTTGC
+>r2129
+TGCGGGTGCTAATGGGTTCCTGGGGTGCGGAGTTT
+>r2130
+TTCGGTAAACCGTAGAAAGCATGAGCCACTGCCGC
+>r2131
+GATGCGAGGTTGTTGAAGTCGATGTCCTATCAGGA
+>r2132
+GCCGAACTTATTTTTGCCGAACTTCTGACGGGACT
+>r2133
+GTATTCAGCTTATCCAGAAGGCGATGCGGGTGCTA
+>r2134
+TCTGCGGGGGCGTCAGTTTCCGCGCTTCATGGATC
+>r2135
+TAGCAACACCGCAGACACGTAAGTCGATATGTTTA
+>r2136
+CTTTCACGAGGCGAATTAAGCGCCCGAGATTAAAC
+>r2137
+GACTGTACTTCCAGCCAGGCTGTGGCAGATCAATA
+>r2138
+ACCACACTGGCGCGGGAAATGGGTTATACCGAACC
+>r2139
+CGGTAAAACGTTTTATTGCTGCGACCAACGTGAAC
+>r2140
+TTCCACTCGGTACCGAGACAACCAACTGGTTACGT
+>r2141
+CGAGGTCGCCATGCCGATAAATGCGGCAACCCACA
+>r2142
+CATCAACGCTGCGCTGATTTGCCGTGGCGAGAAAA
+>r2143
+TCCAGGTAGAACTCTTCCTGCATTGCCCGTTCAGC
+>r2144
+CTCTACAACGATGCAGGTATTAGCAACGATCGTAT
+>r2145
+TTCCGTGGTGCTGATTACGCAATCATCTTCCGAAT
+>r2146
+CACGACGGTCAGTGGTCACCCAAAGCGACTCAGGC
+>r2147
+GAGCGGCGTTGATACCCGCCAGTTTGTCGCTGATG
+>r2148
+GTGAAACCAGCCATCAGCACCATGTGGTCAGCCGG
+>r2149
+TATCAACGGTAGATTCGAGGTAATGACCCACTGCC
+>r2150
+CCCTCGGCGTTAAACTCTGCGGGCAGCACAGGTTC
+>r2151
+TCAAAAATAGACCAAATGACGTGGGGAAGTTGCCC
+>r2152
+CTGGAGCTGGCGGATATTGAAATTGAACCTGTGCT
+>r2153
+GTTGTCGTAATGAATGCTGCCGGAGATACGCCCTT
+>r2154
+GTTGCCGATATTCTGGAAAGCAATGCCAGGCAGGG
+>r2155
+TCGCTACCGCGCCGATTTCCGCAACCGCCTGCCGC
+>r2156
+GAAAAAAGCCCGCACCTGACAGTGCGGGCTTTTTT
+>r2157
+TCGGAGCCGCACGCTGCCGTAGCTTATCGTGCGCT
+>r2158
+GCGGGCGATAAGCCAGTGACCATTCTGACCGCGAC
+>r2159
+GATTATCTACGCCAGCGTAAACTCGGCGTGCGCCC
+>r2160
+CGGCGGGTGGATTCAGCAATATCAACGGTAGATTC
+>r2161
+GCGCGGGCCAGCGCGGCAAAGAATTTCGCCGAGAT
+>r2162
+GTGCTGGGAGCGTTTTTGCCAGGAGCTTGGCAAGC
+>r2163
+GACAACGTGGCACCGTGTTTTCTTGGTGGTATGCA
+>r2164
+TCAGTCTGATCCCCCCGCCTGGGGGGATTTTTTTA
+>r2165
+TTACCAGCGGGGGAAAATCAAAAGAAAAACTCAGG
+>r2166
+AAAATATCGTTTATCAGTGCTGGGAGCGTTTTTGC
+>r2167
+TCGGACGCTTTGCCGATAAGCTGCCGTCAGAGCCA
+>r2168
+GGGATAAGATTGTTAACAACGTGCGCTTTGTTTAT
+>r2169
+GGCTTCCAGTGCCAATATGAGCGTCGGGTTTGATG
+>r2170
+TGTGGTAATGGTGATGGTGGTGGTAATGGTGGTGC
+>r2171
+AACGTTTACACAGGAAAGTCATCGCGACCGGCAAT
+>r2172
+TACTTTAACCAATATAGGCATAGCGCACAGACAGA
+>r2173
+CTGCGCCGAAAAGCAGGTAAATCATTACCGATCCC
+>r2174
+AGGAGTAACCTGTGAAAAAGATGCAATCTATCGTA
+>r2175
+ACACTCGTTTGCTGGCTTTGATGGGCGAGTTGGAA
+>r2176
+GCATCCGGCGAAATTTAAAGAGAGCGTGGAAGCGA
+>r2177
+AGCGGCAGTGGCTCATGCTTTCTACGGTTTACCGA
+>r2178
+TCGATATCCGGAGATTACGCGATGAGAACGGCAGT
+>r2179
+CTCGGTACCGAGACAACCAACTGGTTACGTGCTTC
+>r2180
+TTTCGTACCGGATTTGTGCAGTTTCGCTACATCCG
+>r2181
+TTACGCAAATCACCAGGCTGGTCAGTACCCAGATT
+>r2182
+CGCCATCTTCATCAATATTGCCAACATAGCGCAAA
+>r2183
+ACAGATTCGCCATAAAAGCGGCGACATCACCCTCG
+>r2184
+GATCCTGGTTGTGCTGCCACAGGAACTCGGACTCA
+>r2185
+ATGCCGGATAATGCCGGATGGCAATCCGGCATTGA
+>r2186
+CGATATCAACGCAGCGAATTGGGCCTCTAGATGCA
+>r2187
+AGCGGGCGCAGTACGCCATACAAGCCGGAAAGCAT
+>r2188
+CAATTTCAATATCCGCCAGCTCCAGTTCACGTCCC
+>r2189
+TTCATAAAAAAAGCCGGGCTGCATAAAAGCAAACC
+>r2190
+CTGTCGCACAGTTGCCGCAAGAAGCACGTAACCAG
+>r2191
+GAAATTTATGCCGACTTTAGCAAAAAAAGAGAATG
+>r2192
+TGACTGGTTTTAATAGCGAAGGTTACTTCTTTGAT
+>r2193
+AACCCTACCGTGAACGGTTACTGCCAGGCTTCCGG
+>r2194
+TCGACGAAAGTTTTCAATTGTGCCAGCGGAAATCC
+>r2195
+ATTTGCCGTTCTTCTCATCGAGGAACACTGGCTTG
+>r2196
+AATGCTGTTGGGCAAAATCGAAATCGTCTTCGCTG
+>r2197
+GCCATTCATAATGTTGTTTCCACCAGCCGTGGTCG
+>r2198
+ATCGAGGAACACTGGCTTGATAATCTCGGCATTCA
+>r2199
+GTTAGGCAAAAATCAGGGGCTGTTTTTTCCGCACG
+>r2200
+GCAGGCTGATCTGGCGCATCTGTTCACCAAAGCCT
+>r2201
+GTACAGGAAACACAGAAAAAAGCCCGCACCTGACA
+>r2202
+TGACCGACTTCCCGGTCACGCTAAGTATGATTACA
+>r2203
+CGCGTGTGGAAGAGTTGTTCCGCCGCAAAATCTGG
+>r2204
+ATCGATCAACTCATTCTCTTTTTTTGCTAAAGTCG
+>r2205
+TTCGAGTTAGCAACACCGCAGACACGTAAGTCGAT
+>r2206
+CGTCGACCAGGAATTTGCCCAAATAAAACATGTCC
+>r2207
+AGCTTTCTCCAGACGCGTGGGATGATGTTTCGCAG
+>r2208
+TCAGCTCGCACACAGTCGCTTTGCGGAACGCAGAA
+>r2209
+CGATTACTAACGGTTTTCAGCGCAGTATGTTTTCC
+>r2210
+TGACGGGACTCGCCGCCGCCCAGCCGGGATTTCCG
+>r2211
+CCGTTGCGAAGGTGCAGATCCGCAGACACCAGATC
+>r2212
+GGCGTTTTGCTTTCGCAATTGACGCTTCGGTGTCA
+>r2213
+CTGTGTAAACGTTACCAATTGTTTACGAAGTATAT
+>r2214
+CGCGCTATACGCTGCCGGAGCTGTTAGACAACGCC
+>r2215
+TTGGGCCTCTAGATGCATGCTCGAGCGGCCGCCAG
+>r2216
+GTTGACGGTGTTTATACCTGCGATCCGCGTCAGGT
+>r2217
+GGTATAACCCATTTCCCGCGCCAGTGTGGTCGCCT
+>r2218
+TCGCCCGGCTCATGCAGGGGTTTGTCCCGTTGATG
+>r2219
+CTTCATCATCAAACGCCTGCTTCACCAGCGCCTGA
+>r2220
+CATCGCCACTGGAATTTGCTTGCCAAGCTCCTGGC
+>r2221
+TTTTCGACCGGATCGATAACGGTAACGTTGTGACC
+>r2222
+TTTGTTGGGGCAGTGCCCGGATAGCATCAACGCTG
+>r2223
+GGCGTCAGTTTCCGCGCTTCATGGATCAGCTGCTG
+>r2224
+TAGCGCATCAGGCAGTTTTGCGTTTGTCATCAGTC
+>r2225
+TATCGCCCGCAATATGGGTCAGCATTTGTGCCATA
+>r2226
+GCATGGTTATGAAACCGTGGTTATGGGCGCAAGCT
+>r2227
+CAACTGAATGCAGTACGGTACGCTGGCAAAAATAC
+>r2228
+TCACTCCCTTCGCAGTGTATCATTCTGCTTAACGA
+>r2229
+CATTAGCGGTCAGGATGCTTTACCCAATATCAGCG
+>r2230
+GCGGCGTTTATCAGGATAAAGGCATCCCTGCGCTG
+>r2231
+ATCTTCGCACTGCGGGTGACAAAATCCAGCTTCAG
+>r2232
+CGATGAATGAACACTGCGGCAAGCCGCTTAATGAC
+>r2233
+GCCCTGCGCGTCGTGACGTAACGCCCGATGCGACG
+>r2234
+TGAATGAACACTGCGGCAAGCCGCTTAATGACACT
+>r2235
+CGCATGGTTGTTACCTCGTTACCTTTGGTCGAAAA
+>r2236
+GCTACGCTTATCAGGCCTACGATCTTCTTGCAATA
+>r2237
+GTCGAGCTGTGACAGATTCGCCATAAAAGCGGCGA
+>r2238
+GCGTAAACAGGCCGCCAGCACCGCAGCGGAGTAGT
+>r2239
+TGAAGTGAAAGCGCGTCCGGCGCGTATCACTGAGT
+>r2240
+CTGCATAACCCAGCTCTTTCAGTTGCCAGATTTTG
+>r2241
+TCTTTATAAAGCTGTGCGAGGGAACATTCGGCAAA
+>r2242
+CACGCGTCTGGAGAAAGCTGGCGACCGATCTCCGG
+>r2243
+TCATTGGAAAACATACTGCGCTGAAAACCGTTAGT
+>r2244
+GCGATGGAGCTTTCTTACTTCGGCGCTAAAGTTCT
+>r2245
+GCGCAACGGCGTTCGCCTGAACTCCGCTGAAAATT
+>r2246
+ATCCGCCAGCTCCAGTTCACGTCCCGTTTCACGAG
+>r2247
+CAGCAACTGAATGCAGTACGGTACGCTGGCAAAAA
+>r2248
+ATCTGAAAGATCACAATGAGCAGGTCAGCTTTGCG
+>r2249
+ATTGATGAAGTTCTCCGGCATTCTTTCAGGTTCGC
+>r2250
+GGAAAAATCTTGATGAATACTTTACGTATTGGCTT
+>r2251
+CGTGCTTTCTTAGCGTAGAAGCTGATGATCTTAAA
+>r2252
+TAAACAAAGCGCACGTTGTTAACAATCTTATCCCT
+>r2253
+GGAAAGATCTGTATCAATTCTGGGGAGATATCATC
+>r2254
+CCGAAGTCTATTAAAGAGACGCTGGAAGGTGTGAA
+>r2255
+AGATATCCATCACACTGGCGGCCGCTCGAGCATGC
+>r2256
+CGGCTGGGCGGCGGCGAGTCCCGTCAGAAGTTCGG
+>r2257
+TGACCATTCTGACCGCGACATCCGGTGATACTGGA
+>r2258
+CGTTGGCGGTGCGCTGCTGGAGCAACTGAAGCGTC
+>r2259
+TGGCGTCTGCCGCGTGAAGATTGCCGAAGTGGATG
+>r2260
+TAAAAAAAGCCGGGCTGCATAAAAGCAAACCCGGC
+>r2261
+TGATATCTCCCCAGAATTGATACAGATCTTTCCCT
+>r2262
+GAAGCTGGATTTTGTCACCCGCAGTGCGAAGATCC
+>r2263
+TAAGCGGGTTTCCAGTTCAAACGGCGTGGTTAGCG
+>r2264
+GTAGGCGATGAGCAAAAAGACGGCGAACAGAACGC
+>r2265
+AGCCGGAATGCGGCTTGCCGCAATACGGCGGGTGG
+>r2266
+ATTCTGTTTGCCTTCAGCTCCATCGTTGCCAACTA
+>r2267
+ACAGCCTGGCTGGAAGTACAGTCAACAATGACCGG
+>r2268
+CGTGATGCCAATGGGCAGTTTCGTGGCGGACCGGC
+>r2269
+GGCAAACGCCGCACGTACGCGCTCTTCCAGGATTT
+>r2270
+CGGCGATCTGCTGTAATCATACTTAGCGTGACCGG
+>r2271
+TGCCAAACTGGCGGATGTAGCGAAACTGCACAAAT
+>r2272
+CCATATTACTGCTCTCGCCTGTGGTTCATACCATT
+>r2273
+AGAGCCACGGGAAAATATCGTTTATCAGTGCTGGG
+>r2274
+GTTTGCTCGATGATCGCCTGCTCATCGGGGATTAA
+>r2275
+GACCTCGTTTGCCGAATGTTCCCTCGCACAGCTTT
+>r2276
+GCTGTATCAACCGCAGGATGCCACAACCAACCCTT
+>r2277
+GCCGGTAAAACGTTTTATTGCTGCGACCAACGTGA
+>r2278
+TCGATAACCTGATCGGTATTGAACAGCATCTGATG
+>r2279
+GCTTGCAGGCCGAAACCTTCAGCGAAGACGATTTC
+>r2280
+CGGTCTGCCCTGATGATATCACAAGGGCGAATTCT
+>r2281
+CTTCCTGCGCGAAGGTTTCCACGTTGTTACGCCGA
+>r2282
+GGATCAGACTGATGACAAACGCAAAACTGCCTGAT
+>r2283
+CATATCCCTCTTATTGCCGGTCGCGATGACTTTCC
+>r2284
+CTGGCAGGAAGAACTGGCGCAAGCCAAAGAGCCGT
+>r2285
+ACCTTAAGCCAGGCGATTACTAACGGTTTTCAGCG
+>r2286
+CAAACCCGACGCTCATATTGGCACTGGAAGCCGGG
+>r2287
+CAGGGTTTGATGAGTGGCTGTGGGTGCTGGCGTAT
+>r2288
+TGCTCATCGGGGATTAAGCGGGTTTCCAGTTCAAA
+>r2289
+TCCACAGCCAGGCGGTTTAACCTCATTTCAGTCAT
+>r2290
+GGTGCTGATGGCTGGTTTCACTGCCGGTAATGAAA
+>r2291
+TGATCTTAAATTTGCCGTTCTTCTCATCGAGGAAC
+>r2292
+GATTTACCCTTGCTTTCGCATAACCTGCCCGCCGA
+>r2293
+TGTCACCCGCAGTGCGAAGATCCTCTCGGCGTTTA
+>r2294
+GACACTCGTTTGCTGGCTTTGATGGGCGAGTTGGA
+>r2295
+TTCCGCCGCATAACGCAACTGATGGTAGTAATCCA
+>r2296
+CGTAATGAATGCTGCCGGAGATACGCCCTTCCAAC
+>r2297
+CTATTGATTCTCGCTCGTGAAACGGGACGTGAACT
+>r2298
+GACCGAGTGACTTCGCCAGCAGACCCGCCGTCAAA
+>r2299
+GGGAAAATATCGTTTATCAGTGCTGGGAGCGTTTT
+>r2300
+GAAGCGATGGAGCTTTCTTACTTCGGCGCTAAAGT
+>r2301
+GAGTGTCTGATAGCAGCTTCTGAACTGGTTACCTG
+>r2302
+ACATTCGGCAAACGAGGTCGCCATGCCGATAAATG
+>r2303
+AAAACGACATCATCAGCCAGCAAGTGCCAGGGTTT
+>r2304
+GGCCGTATTCTTGACTGATACAAAGCGAATACCGA
+>r2305
+CTGTATCAACCGCAGGATGCCACAACCAACCCTTC
+>r2306
+GATTCGCCATAAAAGCGGCGACATCACCCTCGGCG
+>r2307
+CCTGATTGAGATAATGAATAGATGTTACTGATGAT
+>r2308
+TGTCCAGATGATTGGCATTTTTATCGACACCCTGG
+>r2309
+TGGCAACGATGGAGCTGAAGGCAAACAGAATAACC
+>r2310
+CGGTGGTAGGTGATGGTATGCGCACCTTACGTGGG
+>r2311
+GCGGTTTAACCTCATTTCAGTCATTGTGTACCAGT
+>r2312
+CGCCTGCTCATCGGGGATTAAGCGGGTTTCCAGTT
+>r2313
+CGCCCGCAATATGGGTCAGCATTTGTGCCATAAAG
+>r2314
+ACGGGAAAATATCGTTTATCAGTGCTGGGAGCGTT
+>r2315
+ATGGTATGAACCACAGGCGAGAGCAGTAATATGGC
+>r2316
+AAAAAATCCCCCCAGGCGGGGGGATCAGACTGATG
+>r2317
+TGAAGAACTGAAAGTGGCGCTGGGGCTGAATTCTG
+>r2318
+TGGCAGTAGATAAACTGGCGGAAGGTATCCGTAAG
+>r2319
+GCGGCATGTAGGTTGTGCCGTTACCCGCCAGTAAT
+>r2320
+AGCGTGGAAGCGATTCTCGGTGAAACGTTGGATCT
+>r2321
+GGTATCCGGCTTGTCACACAGAGCGAACAAAGTCG
+>r2322
+GACCACGGCTGGTGGAAACAACATTATGAATGGCG
+>r2323
+ATACCATGCCGGTCCGCCACGAAACTGCCCATTGG
+>r2324
+TGGTGATGGTGGTGGTAATGGTGGTGCTAATGCGT
+>r2325
+GAGAAATTCTCAATAAATGCGGTAACTTAGAGATT
+>r2326
+TTACGTCACGACGCGCAGGGCCAGTTCCGCCCGTG
+>r2327
+CGGAGATCGGTCGCCAGCTTTCTCCAGACGCGTGG
+>r2328
+GCCTGACAAACATCATCGCTAAATATCAATGCCGG
+>r2329
+GCACTTTCCCTGGTTCTGGTCGCTCCCATGGCAGC
+>r2330
+TGTTAAGTTTTCCGCTGATGTGGCAACTGGCAGAT
+>r2331
+GCTGCCATGGGAGCGACCAGAACCAGGGAAAGTGC
+>r2332
+ACTTCGGCGCTAAAGTTCTTCACCCCCGCACCATT
+>r2333
+CTTTCTCCAGACGCGTGGGATGATGTTTCGCAGGA
+>r2334
+AGGCGGTTGCGGAAATCGGCGCGGTAGCGAGCGGT
+>r2335
+CGTCCTTTGGGGATCGGTAATGATTTACCTGCTTT
+>r2336
+GATGAAACCACGCAACAGACAATGCGTGAGTTAAA
+>r2337
+TAATACCTGCATCGTTGTAGAGTTTGATCAGGCGT
+>r2338
+GGACTGGATATGCTGATTCTTATTTCACCTGCGAA
+>r2339
+GAGAACGGCAGTTGTTATTCTCCGCAATCCTAATC
+>r2340
+CTCGGGGCGGCGGTGACACCTGTTGATGGTGCATT
+>r2341
+AGCGACTCAGGCGACGTTATCCAATGCGATGGATG
+>r2342
+GGCAAATTTAAGATCATCAGCTTCTACGCTAAGAA
+>r2343
+TAAAATTTTAATTTACTCACGGCAGGTAACCAGTT
+>r2344
+CATGCAGGACATGTTTTATTTGGGCAAATTCCTGG
+>r2345
+AAACTCTGCGGGCAGCACAGGTTCAATTTCAATAT
+>r2346
+ACCCTACCGTGAACGGTTACTGCCAGGCTTCCGGC
+>r2347
+AACCTTCCTGATTTTGCAGGTAGTTCTTACCCAAC
+>r2348
+TGATCGCCAGCAGAGCAAAGACAGCGAGAATAATA
+>r2349
+CGCATTGTCTGTTGCGTGGTTTCATCATCCACGGC
+>r2350
+CGTTGAAACGGCACCGGAAGTGGTTGCAGCATTCA
+>r2351
+CGCTTAATTCGCCTCGTGAAAGAATATCATCTGCT
+>r2352
+GGCAACTGGCAGATATCATTATGGCCTGCATGGCT
+>r2353
+GGAACCGTTGCGTCCCAGAACCACCAGCTCGCCTT
+>r2354
+GTGCCAGCGATTGCCTCGCCATTCATAATGTTGTT
+>r2355
+CAACGTTGGGGCTGGATTACCGGTTATTGAGAACC
+>r2356
+CTTCTATAGCCACTATTATCAGCCGCTGCCGTTGG
+>r2357
+TTGGTGGTATGCAGTTGATGATCGAAGAAAACGAC
+>r2358
+AAAAATAAGTTCGGCATCGCTGATATTGGGTAAAG
+>r2359
+CCGGCTTGTATGGCGTACTGCGCCCGCTCGATTTA
+>r2360
+ATTGAGATAATGAATAGATGTTACTGATGATTCAT
+>r2361
+CGTGGATGATGAAACCACGCAACAGACAATGCGTG
+>r2362
+ACCTTTAAACGCCAGAATTGCCTGGCGGGCATTCT
+>r2363
+TCTCGCGGTCCGCTACTGCCAGCGTCGCATCGGGC
+>r2364
+AACTGGTCACGCAGCGCACGATAAGCTACGGCAGC
+>r2365
+CAGTAATATCAGCATGGCGCTTGCCGTGCAGATGA
+>r2366
+GGATGAAATGAGTTGCCATCTGGTGCTCACCACGG
+>r2367
+AGTCCCGTCAGTAAAATTACAGATAGGCGATCGTG
+>r2368
+CACCAGTTCGCCATTGCTGGAGGAAGCTTCATCAA
+>r2369
+ATTGAGCGTTCAGAAGATCCCTGAGCAATGGCGAC
+>r2370
+TGAATCATCAGTAACATCTATTCATTATCTCAATC
+>r2371
+GAGGAAGCTTCATCAAAGAAGTAACCTTCGCTATT
+>r2372
+TGATCCTTAACTTACCCGGTCAACCGAAGTCTATT
+>r2373
+TATTGAAATTGAACCTGTGCTGCCCGCAGAGTTTA
+>r2374
+GAGCGTGGAAGCGATTCTCGGTGAAACGTTGGATC
+>r2375
+TTGCGCTGGCAATTACCGCCGGTGGACCTGGAGCC
+>r2376
+AGGTATTCAGCTTATCCAGAAGGCGATGCGGGTGC
+>r2377
+AGCCCAGTTCTTTTAACTCACGCATTGTCTGTTGC
+>r2378
+GTATGTTTTCCAATGAGGCGGGAATGGGGTCGACG
+>r2379
+GATAAACTGGCGGAAGGTATCCGTAAGTTTGCTGT
+>r2380
+CGTGGATGATGAAACCACGCAACAGACAATGCGTG
+>r2381
+CATAATGTTGTTTCCACCAGCCGTGGTCGCCCCAA
+>r2382
+ACAATGCGTGAGTTAAAAGAACTGGGCTATACCTC
+>r2383
+TGGTTAAAGTTTATGCCCCGGCTTCCAGTGCCAAT
+>r2384
+ACCGTGCACCACAACGTTACCCTCAGCGTCCTTCA
+>r2385
+GCAATATGGGTCAGCATTTGTGCCATAAAGCGACC
+>r2386
+CACTCGCGGTCTTCATGGCGTCGCCCGGCTCATGC
+>r2387
+CCGTATTCTTGACTGATACAAAGCGAATACCGATA
+>r2388
+TAATTGCCAGCGCAACGCCGGCCAGGTTGCCGCTA
+>r2389
+CAGCCACTCATCAAACCCTGGCACTTGCTGGCTGA
+>r2390
+GATCAGCCTGCATTTTGTACCAACTGCGATCCTTT
+>r2391
+GGCAGAAGATCCGGGCGTGGTTTCTGTATCTGAAA
+>r2392
+GTGCTGCGAGCGCCTCGTTCAGCTTGTTGGTGATG
+>r2393
+CCACAGCCTGGCTGGAAGTACAGTCAACAATGACC
+>r2394
+GCCAGGCGGTTTAACCTCATTTCAGTCATTGTGTA
+>r2395
+AGCAGGTCAGCTTTGCGCAAGCCGTAACCCAGGGG
+>r2396
+TTGATGATCGAAGAAAACGACATCATCAGCCAGCA
+>r2397
+CGGGTTTGATGTGCTCGGGGCGGCGGTGACACCTG
+>r2398
+CGCTGATGCGCATCAGGGAGCTAATCTGCGGGGGC
+>r2399
+GCCCGATGCGAGGTTGTTGAAGTCGATGTCCTATC
+>r2400
+TCAGACTCCTAACTTCCATGGGAGGGTACGTAGCA
+>r2401
+GCTGGAAGGTATTCAGCTTATCCAGAAGGCGATGC
+>r2402
+GGTGACAAAATCCAGCTTCAGCATCTCATCAATTT
+>r2403
+TGGAAGGGCGTATCTCCGGCAGCATTCATTACGAC
+>r2404
+TGCCGTCAGAGCCACGGGAAAATATCGTTTATCAG
+>r2405
+TGGAAGAGCGCGTACGTGCGGCGTTTGCCTTCCCG
+>r2406
+CTCGTGCGCCCGCCGTATCCAGCCGGCAAATATGA
+>r2407
+GGTGGTAGGTGATGGTATGCGCACCTTACGTGGGA
+>r2408
+GGTGTGAAATTTGGCTGCCAGTCATGAAAGCGAGC
+>r2409
+ATTACGCGATGAGAACGGCAGTTGTTATTCTCCGC
+>r2410
+GCAATAAAACGTTTTACCGGCAGACCGAGTGACTT
+>r2411
+CGTTCGATAGCCCCTTCGCTCTCCGCCAGCTCTTT
+>r2412
+CCGGTCTGCCCTGATGATATCACAAGGGCGAATTC
+>r2413
+CCTGCATCGTTGTAGAGTTTGATCAGGCGTTTTGC
+>r2414
+AAAATTTTAATTTACTCACGGCAGGTAACCAGTTC
+>r2415
+ATGGTTAAAGTTTATGCCCCGGCTTCCAGTGCCAA
+>r2416
+GGAGTTCAGGCGAACGCCGTTGCGCGAGCCCTGAG
+>r2417
+CATCCGGCATTATCCGGCATTGACTACAAACTTAA
+>r2418
+GAGCCGTTGGCGGTGACGGAACGGCTGGCCATTAT
+>r2419
+AACGCCCTGGCCTTCTATAGCCACTATTATCAGCC
+>r2420
+CGGCAAAGAATTTCGCCGAGATCCCACGTAAGGTG
+>r2421
+GATACGCCAGCACCCACAGCCACTCATCAAACCCT
+>r2422
+ACTGGTTTTAATAGCGAAGGTTACTTCTTTGATGA
+>r2423
+TCACGTTCTTTATAAAGCTGTGCGAGGGAACATTC
+>r2424
+CATCATCCACGGCTGCATAACCCAGCTCTTTCAGT
+>r2425
+TCCAATGCGATGGATGTTAGCCAGCCAAACAACTG
+>r2426
+GAAGTTATCCAAGTACCTCGTAGCGTTATATACTT
+>r2427
+ATTTTTGCCAGCGTACCGTACTGCATTCAGTTGCT
+>r2428
+TTGCCGCGCTGGCCCGCGCCAATATCAACATTGTC
+>r2429
+CTCTGACGGCAGCTTATCGGCAAAGCGTCCGAGGT
+>r2430
+TCATCCACAGCCAGGCGGTTTAACCTCATTTCAGT
+>r2431
+CTGGTCAGTACCCAGATTATCGCCATCAACGGGAC
+>r2432
+CGCCACCGACGCCAATCACAAACACTTCGATAACC
+>r2433
+GGCAGACGCCATCTTCATCAATATTGCCAACATAG
+>r2434
+AAAGGAGAAAAAATCTGGCATGCATATCCCTCTTA
+>r2435
+CCTGGCATTGCTTTCCAGAATATCGGCAACCCGCA
+>r2436
+TTATTGCTGCGACCAACGTGAACGATACCGTACCA
+>r2437
+AACGCCGTTGCGCGAGCCCTGAGTTTTTCTTTTGA
+>r2438
+TCCGGCGAAATTTAAAGAGAGCGTGGAAGCGATTC
+>r2439
+AGCCAGCCAAACAACTGGCCGCGTGTGGAAGAGTT
+>r2440
+TCATCAATTTCAGTCAGGCTGAATTCCGGCAGGTC
+>r2441
+CAATAAATGCGGTAACTTAGAGATTAGGATTGCGG
+>r2442
+TACCCTCCCATGGAAGTTAGGAGTCTGACATGGTT
+>r2443
+TGCTGACCCATATTGCGGGCGATAAGCCAGTGACC
+>r2444
+AGTTCAAACGGCGTGGTTAGCGCCGATGTCAGCCA
+>r2445
+GTACGCTCCGGCAGAAGATCCGGGCGTGGTTTCTG
+>r2446
+GGTCACGCTACCTCTTCTGAAACCTGTCTGTCACT
+>r2447
+GCCGCAAAATCTGGCAACTGAAAGAGCTGGGTTAT
+>r2448
+AACATCTATTCATTATCTCAATCAGGCCGGGTTTG
+>r2449
+GAGCTGAAGGCAAACAGAATAACCACGAGGGTAAC
+>r2450
+GGCGAAATTCTGGAACTGGCAGGCTGCGACCGTCT
+>r2451
+AAATCGGCGGGCAGGTTATGCGAAAGCAAGGGTAA
+>r2452
+ATGGCGATAATCTGGGTACTGACCAGCCTGGTGAT
+>r2453
+CCTTATCCGGCCTACAAAATCGTGCAAATTCAATA
+>r2454
+GTTCAGCGATAACATCTTTCATCAGCTTCGCGGCA
+>r2455
+TTTCGTATAAAAATGGCGGGCGATATCAACGCAGC
+>r2456
+TAGGCATAGCGCACAGACAGATAAAAATTACAGAG
+>r2457
+CGGCTGGTGGAAACAACATTATGAATGGCGAGGCA
+>r2458
+GGCACAATTGAAAACTTTCGTCGACCAGGAATTTG
+>r2459
+CTTATCCCTTCGAGCGGGGGGAGCTTAACAATTAG
+>r2460
+TGATGAATACTTTACGTATTGGCTTAGTTTCCATC
+>r2461
+GCAGCATTCATTACGACAACGTGGCACCGTGTTTT
+>r2462
+GCGCGTAAACAGGCCGCCAGCACCGCAGCGGAGTA
+>r2463
+ATCCGGCATTGATATTTAGCGATGATGTTTGTCAG
+>r2464
+CCGTTCCGTCACCGCCAACGGCTCCAGTAAGCCTT
+>r2465
+TTCGTAAACAATTGGTAACGTTTACACAGGAAAGT
+>r2466
+CTTGATAATCTCGGCATTCAATTTCTTCGGCTTCA
+>r2467
+GCCGACTTTAGCAAAAAAAGAGAATGAGTTGATCG
+>r2468
+CAGATTTTTTCTCCTTTATTAACAGCGTCCTTTGG
+>r2469
+ACGCAGAAACTGATACTGTATTCGGAAGATGATTG
+>r2470
+AAAAATAGACCAAATGACGTGGGGAAGTTGCCCGA
+>r2471
+ACATGGCAATGTTCAGCGTTTCCGGCCCGGGGATG
+>r2472
+GATTACGCGATGAGAACGGCAGTTGTTATTCTCCG
+>r2473
+TAGTCACGGTTGAGGCGGCAGAGACATTCAGTCTC
+>r2474
+TCAGCAGTGCCGGTGCGATGGTCAGACGGTCGCAG
+>r2475
+GACTGTACTTCCAGCCAGGCTGTGGCAGATCAATA
+>r2476
+CTGACAGGCATCGAAATCGCCGTCGATGGCAACAG
+>r2477
+AAGACACCGGCAGCTGTAACGTCATTGCCCGCACC
+>r2478
+CTTGATAATCTCGGCATTCAATTTCTTCGGCTTCA
+>r2479
+TCTCGGCGTTTATTGGTGATGAAATCCCGCAGGAA
+>r2480
+CCACCAAGAAAACACGGTGCCACGTTGTCGTAATG
+>r2481
+CTGACAGTGCGGGCTTTTTTTTCGACCAAAGGTAA
+>r2482
+AAATCAAAAGAAAAACTCAGGGCTCGCGCAACGGC
+>r2483
+TAACCCAGCTCTTTCAGTTGCCAGATTTTGCGGCG
+>r2484
+CAGCTTATCGGCAAAGCGTCCGAGGTTGTTGAGAC
+>r2485
+AAACTTTAACCATGTCAGACTCCTAACTTCCATGG
+>r2486
+CGAAGGGAGGTCAATTTGTCCGTCATGATAGTATT
+>r2487
+TAGCAGCTTCTGAACTGGTTACCTGCCGTGAGTAA
+>r2488
+TTCATTCACGCCTGCTATTCCCGTCAGCTTGAGCT
+>r2489
+CACCGCCAACGCCACCGACGCCAATCACAAACACT
+>r2490
+TTTCCAGCTGTTCTGCAGCACGGATACCCTGCCAG
+>r2491
+AGCAAATTCCAGTGGCGATGACTCTGGAAAAGAAT
+>r2492
+CACGACAGAGATTGAGCGTTCAGAAGATCCCTGAG
+>r2493
+GCGACAGCCTCAAAGTAATAACAAATCTGCGCCAG
+>r2494
+CGCCTGAACAACCCTAAAGCGATCTGGTGTCTGCG
+>r2495
+CAACCTCGCATCGGGCACCTGACGCGGATCGCAGG
+>r2496
+TCATCCCACGCGTCTGGAGAAAGCTGGCGACCGAT
+>r2497
+GAAGATCCCTGAGCAATGGCGACAATGTTGATATT
+>r2498
+GTTGATGGAGTTAGCAGAATTCAGCCCCAGCGCCA
+>r2499
+ACGCGCTTTCACTTCACCAGTGTAAGACAGTTTAC
+>r2500
+GATCTTCTGCCGGAGCGTACTCTTTCTTATCGGTA
+>r2501
+GAGTGTCTGATAGCAGCTTCTGAACTGGTTACCTG
+>r2502
+TGATCAGGCGTTTTGCTTTCGCAATTGACGCTTCG
+>r2503
+GCTGGCGACCGATCTCCGGATAACGCAACGGATCA
+>r2504
+TGAAGCCGAAGAAATTGAATGCCGAGATTATCAAG
+>r2505
+AATACCTTCCAGCGGCATGTAGGTTGTGCCGTTAC
+>r2506
+CCCAGGCGACAGCATCATCAATCAACTTACGGTAT
+>r2507
+GGGCAACTTCCCCACGTCATTTGGTCTATTTTTGA
+>r2508
+ATATTGATCTGCCACAGCCTGGCTGGAAGTACAGT
+>r2509
+CAACGGGCAATATGTCTCTGTGTGGATTAAAAAAA
+>r2510
+TGATACCCGCCAGTTTGTCGCTGATGCGCATCAGG
+>r2511
+TGTTCAGCGTTTCCGGCCCGGGGATGAAAGGGATG
+>r2512
+CTCCTTTTTCCCTGTCGTTTTTCTCCATATTTTCT
+>r2513
+CTGCCGGTGTCTTTGCTGATCTGCTACGTACCCTC
+>r2514
+TGGCCTTAATCTGGAAAACTGGCAGGAAGAACTGG
+>r2515
+TGACTCTGGAAAAGAATATGCCGATCGGTTCGGGC
+>r2516
+ACTGGCTTGCAGGCCGAAACCTTCAGCGAAGACGA
+>r2517
+ATGAGCAGGTCAGCTTTGCGCAAGCCGTAACCCAG
+>r2518
+TTCGCAAACAGGCGCTGATCCTTAACTTACCCGGT
+>r2519
+AATCATACTTAGCGTGACCGGGAAGTCGGTCACGC
+>r2520
+TATACCTCGGAGCCGCACGCTGCCGTAGCTTATCG
+>r2521
+CTGTTGGGCAAAATCGAAATCGTCTTCGCTGAAGG
+>r2522
+AACCTGCAAAATCTGCTCAATGCTGGTGATGAATT
+>r2523
+CGGCTGACCAAACCAGAGCAACTGACTGGTTTTAA
+>r2524
+ACGGCGAACAGAACGCCCATCCAGCGCATCCCCAG
+>r2525
+CGGCATTGACTACAAACTTAACGTTGTTCGTAGCG
+>r2526
+CGCGACCACTGAACAGGCGCTGGAGCCTAAGCCCG
+>r2527
+GCGCTATGTTGGCAATATTGATGAAGATGGCGTCT
+>r2528
+GAAACCGTGGTTATGGGCGCAAGCTTCCGTAACAT
+>r2529
+TGCGCTGGCAATTACCGCCGGTGGACCTGGAGCCG
+>r2530
+CGTCGAGACTTTAATCCCCGGATACGCCAGCACCC
+>r2531
+CGGCGGTAATTGCCAGCGCAACGCCGGCCAGGTTG
+>r2532
+ACCTAAGTCAATAAAATTTTAATTTACTCACGGCA
+>r2533
+CAAATTGGTAATAGCCATGCAGGCCATAATGATAT
+>r2534
+ATTTCGATGCCTGTCAGGCGCTGGTGAAGCAGGCG
+>r2535
+ACTTTTGCCAAACTGGCGGATGTAGCGAAACTGCA
+>r2536
+GTTTCGTATAAAAATGGCGGGCGATATCAACGCAG
+>r2537
+AAGCCATATTCGCCTGGATTCAACTGGTCACGCAG
+>r2538
+AGCACCCACAGCCACTCATCAAACCCTGGCACTTG
+>r2539
+CCTCATTGGAAAACATACTGCGCTGAAAACCGTTA
+>r2540
+CGAATCTGTCACAGCTCGACGATCTCTTTGCCGCG
+>r2541
+GGGCACTGCCCCAACAAACTGATGCCATGCAGGAC
+>r2542
+ACACCAACGTTGGGGCTGGATTACCGGTTATTGAG
+>r2543
+CCTGCCGTGAGTAAATTAAAATTTTATTGACTTAG
+>r2544
+AATCGCTTCCACGCTCTCTTTAAATTTCGCCGGAT
+>r2545
+TCGCCCGCCATTTTTATACGAAACCTCATGTATGC
+>r2546
+GCGAGATCTGGACGGATGTTGACGGTGTTTATACC
+>r2547
+CGTACAGGAAACACAGAAAAAAGCCCGCACCTGAC
+>r2548
+CTCAGCGTCCTTCACACCTTCCAGCGTCTCTTTAA
+>r2549
+TTTGCGTTTGTCATCAGTCTGATCCCCCCGCCTGG
+>r2550
+TCTCTTTGCCGCGCGTGTGGCGAAGGCCCGTGATG
+>r2551
+AGTTGCTCTGGTTTGGTCAGCCGATTTTCAATAAT
+>r2552
+GTGTACCAGTCTTGCAGCGCGCGTGGGTAGCGGCA
+>r2553
+CTGCGCCGGTAAAATAGCCCTGGCTTCTGCCGTCG
+>r2554
+AGAACTACCTGCAAAATCAGGAAGGTTTTGTTCAT
+>r2555
+TTTCGTATAAAAATGGCGGGCGATATCAACGCAGC
+>r2556
+ATTTTCAATAATGAAACGACTCATCAGACCGCGTG
+>r2557
+CTTGTGATATCATCAGGGCAGACCGGTTACATCCC
+>r2558
+TCGTTCACGTTGGTCGCAGCAATAAAACGTTTTAC
+>r2559
+AGGCTTACTGGAGCCGTTGGCGGTGACGGAACGGC
+>r2560
+TTAAAGAGAGCGTGGAAGCGATTCTCGGTGAAACG
+>r2561
+AAAGCCCGCACCTGACAGTGCGGGCTTTTTTTTCG
+>r2562
+GCTATTTTTAAGACTTTTGCCAAACTGGCGGATGT
+>r2563
+GGTATTTTTGCCAGCGTACCGTACTGCATTCAGTT
+>r2564
+ATTGTGATCTTTCAGATTGTAGAGTTTCATTTAGT
+>r2565
+TACCTTTGGTCGAAAAAAAAGCCCGCACTGTCAGG
+>r2566
+GACGGCAGAAGCCAGGGCTATTTTACCGGCGCAGT
+>r2567
+GGCCCTGCGCGTCGTGACGTAACGCCCGATGCGAC
+>r2568
+CAGAATGATACACTGCGAAGGGAGTGACAGACAGG
+>r2569
+CTCATTCTTAACGCAGCGCAGATTCCGGAATACCG
+>r2570
+GGATCGCAGTTGGTACAAAATGCAGGCTGATCTGG
+>r2571
+ATGGCAGCGCAGGCTGCGGAAATTACGCTAGTCCC
+>r2572
+CGAGGTCGCCATGCCGATAAATGCGGCAACCCACA
+>r2573
+GAGTTGCCATCTGGTGCTCACCACGGGCGGAACTG
+>r2574
+AATGTACAGAACAGTTTTTCTTGCAGTGGACTGAT
+>r2575
+GCTTTACCCAATATCAGCGATGCCGAACTTATTTT
+>r2576
+AACAACCCTAAAGCGATCTGGTGTCTGCGGATCTG
+>r2577
+CGTGACATCGCTGCAAAGACGCGCGCCGCCATGCC
+>r2578
+CCGAAATCTTTAAATGCCAGCGTTGGCCCGTGGAA
+>r2579
+CTGTCGCACAGTTGCCGCAAGAAGCACGTAACCAG
+>r2580
+ACCCATTAGCACCCGCATCGCCTTCTGGATAAGCT
+>r2581
+TCTCTTCTTTTTACGCCTGAACAACCCTAAAGCGA
+>r2582
+TGAGGCGGGAATGGGGTCGACGCCAAACGCGGCAG
+>r2583
+CGAATGTTCCCTCGCACAGCTTTATAAAGAACGTG
+>r2584
+TTGTCGCCATTGCTCAGGGATCTTCTGAACGCTCA
+>r2585
+TGGCAGCGCAGGCTGCGGAAATTACGCTAGTCCCG
+>r2586
+CAGCAGAGCAACGATCGCGCGCAGCAGATCGTGGA
+>r2587
+TCATTTTTTCCAGTTTTTCCTGGTCAACAGCAAAC
+>r2588
+ACGGTCATCGGCGGCACCTTGTTAAGTTTTCCGCT
+>r2589
+GCTGCCGGATGCGGAGGCCAGGACGCAGCTGCCGC
+>r2590
+TATGCCGACTTCCTGCGCGAAGGTTTCCACGTTGT
+>r2591
+TGAAAAATGGCGAAAACGCCCTGGCCTTCTATAGC
+>r2592
+TGCGATGGATGTTAGCCAGCCAAACAACTGGCCGC
+>r2593
+TTTTAAATCGGTGAAGCCGAAGAAATTGAATGCCG
+>r2594
+TGACTGAAATGAGGTTAAACCGCCTGGCTGTGGAT
+>r2595
+ACAGACAGGTTTCAGAAGAGGTAGCGTGACCGACT
+>r2596
+GGCCAGGTTGCCGCTACCCACGCGCGCTGCAAGAC
+>r2597
+CTGGACGGATGTTGACGGTGTTTATACCTGCGATC
+>r2598
+CCAAACAACTGGCCGCGTGTGGAAGAGTTGTTCCG
+>r2599
+TGTTATCGCTGAACCCTACCGTGAACGGTTACTGC
+>r2600
+TTATTTGGGCAAATTCCTGGTCGACGAAAGTTTTC
+>r2601
+ATTTAGTGACCTAAGTCAATAAAATTTTAATTTAC
+>r2602
+ACGCGCATCAACTTCAGTTGAGATACGGCCCGGAA
+>r2603
+ACGAAACTGCCCATTGGCATCACGTTCTTTATAAA
+>r2604
+GAAAAAAGCCCGCACCTGACAGTGCGGGCTTTTTT
+>r2605
+GCCTGAGCGAAGGAGAACAGCAGGGTCAGGTTACA
+>r2606
+CAGCAGATGATATTCTTTCACGAGGCGAATTAAGC
+>r2607
+GCGCAACGGCGTTCGCCTGAACTCCGCTGAAAATT
+>r2608
+TTACGTGGGATCTCGGCGAAATTCTTTGCCGCGCT
+>r2609
+ACGCTACGAGGTACTTGGATAACTTCTGCGTAGCA
+>r2610
+AGGTGATGTCTACACTGGCTTGCAGGCCGAAACCT
+>r2611
+AGCTTCTGAACTGGTTACCTGCCGTGAGTAAATTA
+>r2612
+GATGGAAACTAAGCCAATACGTAAAGTATTCATCA
+>r2613
+GTTTATACCTGCGATCCGCGTCAGGTGCCCGATGC
+>r2614
+GGAAATGGGGATACGTCTTGAGAATGCCCGAGGGA
+>r2615
+AAACCCGACGCTCATATTGGCACTGGAAGCCGGGG
+>r2616
+CATTAAATCGAGCGGGCGCAGTACGCCATACAAGC
+>r2617
+AGTACACCACCGTAGTGGCCGACACTGGGGACATC
+>r2618
+ACAATGCGTGAGTTAAAAGAACTGGGCTATACCTC
+>r2619
+AATTGAATGCCGAGATTATCAAGCCAGTGTTCCTC
+>r2620
+TCCGGAGATCGGTCGCCAGCTTTCTCCAGACGCGT
+>r2621
+TTACCAGCGGGGGAAAATCAAAAGAAAAACTCAGG
+>r2622
+GAAAGAATATCATCTGCTGAACCCGGTCATTGTTG
+>r2623
+CAGCCAGGCGGTTTAACCTCATTTCAGTCATTGTG
+>r2624
+ATCAGCGATGCCGAACTTATTTTTGCCGAACTTCT
+>r2625
+CTTAGCGTGACCGGGAAGTCGGTCACGCTACCTCT
+>r2626
+TGTGGCAGCACAACCAGGATCCAATGGCAGTAGAT
+>r2627
+CGCAACGGTCATCGGCGGCACCTTGTTAAGTTTTC
+>r2628
+GGCTCTGACGGCAGCTTATCGGCAAAGCGTCCGAG
+>r2629
+TGGAAATCCTGAAACTGGTTCCGGGCCGTATCTCA
+>r2630
+CTGCAGCACGGATACCCTGCCAGGTAGAAGCCAGT
+>r2631
+GAGAAATACTATCATGACGGACAAATTGACCTCCC
+>r2632
+AATCACCAACCATCTGGTAGCGATGATTGAAAAAA
+>r2633
+TGGGAGCGACCAGAACCAGGGAAAGTGCGAGTACG
+>r2634
+TAAGTTGATTGATGATGCTGTCGCCTGGGCGAAAC
+>r2635
+CACCATTACCACAGGTAACGGTGCGGGCTGACGCG
+>r2636
+TTGGCGTCGGTGGCGTTGGCGGTGCGCTGCTGGAG
+>r2637
+ATTTAAAATACTCATCTGACGCCAGATTTATCACC
+>r2638
+CAATCTGAATAACATGGCAATGTTCAGCGTTTCCG
+>r2639
+CACGCCGCATCCGGCATAAACAAAGCGCACGTTGT
+>r2640
+AATCGCTGGCACCCACATGGACCGCCGTCATCGCC
+>r2641
+CCAGTTCTTTTAACTCACGCATTGTCTGTTGCGTG
+>r2642
+TTTCATTACCGGCAGTGAAACCAGCCATCAGCACC
+>r2643
+GAAAGCGCGTCCGGCGCGTATCACTGAGTCCGAGT
+>r2644
+ATTGCCTCGCCATTCATAATGTTGTTTCCACCAGC
+>r2645
+GCGGTGCGCTGCTGGAGCAACTGAAGCGTCAGCAA
+>r2646
+TTAAAGAGAGCGTGGAAGCGATTCTCGGTGAAACG
+>r2647
+TAATCAGGCAAGGGATCTGGAACTGGGCGATGGGG
+>r2648
+CGATAGCCCCTTCGCTCTCCGCCAGCTCTTTCAGC
+>r2649
+GCCAGTAATATCAGCATGGCGCTTGCCGTGCAGAT
+>r2650
+TTTAACCAATATAGGCATAGCGCACAGACAGATAA
+>r2651
+TCTCTCATTCTTAACGCAGCGCAGATTCCGGAATA
+>r2652
+GCGTTCGCCTGAACTCCGCTGAAAATTATGCCGTA
+>r2653
+ATCTCGGGCGCTTAATTCGCCTCGTGAAAGAATAT
+>r2654
+TTTCCTGCGGGATTTCATCACCAATAAACGCCGAG
+>r2655
+GTTACCCTCGTGGTTATTCTGTTTGCCTTCAGCTC
+>r2656
+GGCGTCGCCCGGCTCATGCAGGGGTTTGTCCCGTT
+>r2657
+CGCGTCTGGAGAAAGCTGGCGACCGATCTCCGGAT
+>r2658
+CCATCTCTGATCGCGCATCCAGCGGCGTTTATCAG
+>r2659
+GGAACAACTCTTCCACACGCGGCCAGTTGTTTGGC
+>r2660
+TGCTGGAGCAACTGAAGCGTCAGCAAAGCTGGTTG
+>r2661
+AACGCTGAACATTGCCATGTTATTCAGATTGGAAA
+>r2662
+AAATGGCGAAAACGCCCTGGCCTTCTATAGCCACT
+>r2663
+AGCAGATCGTGGACGCGACCGACAAACTGGCAGTA
+>r2664
+ACGGAACGGCTGGCCATTATCTCGGTGGTAGGTGA
+>r2665
+ATAAAAAAAGCCGGGCTGCATAAAAGCAAACCCGG
+>r2666
+CCGATAAGAAAGAGTACGCTCCGGCAGAAGATCCG
+>r2667
+AGCTGATCCATGAAGCGCGGAAACTGACGCCCCCG
+>r2668
+CTCACGGCAGGTAACCAGTTCAGAAGCTGCTATCA
+>r2669
+TGGGCGTTCTGTTCGCCGTCTTTTTGCTCATCGCC
+>r2670
+CTTGCAGGAAATTTATGCCGACTTTAGCAAAAAAA
+>r2671
+CCATACAAGCCGGAAAGCATTCGCAAATGCTGTTG
+>r2672
+TCATTATTGAAAATCGGCTGACCAAACCAGAGCAA
+>r2673
+TCACAACGTTACCGTTATCGATCCGGTCGAAAAAC
+>r2674
+ACTTCTGACGGGACTCGCCGCCGCCCAGCCGGGAT
+>r2675
+GGCATTCTTTCAGGTTCGCTTTCTTATATCTTCGG
+>r2676
+CACGTTGGTCGCAGCAATAAAACGTTTTACCGGCA
+>r2677
+TAGCCACGATTATCACGATCGCCTATCTGTAATTT
+>r2678
+TGCTGTTCTCCTTCGCTCAGGCTCGTGCTTGTGCG
+>r2679
+ATATTTTCTTCATAAAAAAAGCCGGGCTGCATAAA
+>r2680
+AATATCAACATTGTCGCCATTGCTCAGGGATCTTC
+>r2681
+CGCCGTCAAATCGCCGAAGTTTCCACTCGGTACCG
+>r2682
+CACCCTCGGCGTTAAACTCTGCGGGCAGCACAGGT
+>r2683
+ATCTGCTGTAATCATACTTAGCGTGACCGGGAAGT
+>r2684
+TTACTCCTTTTATCATTGCCCGTTATGGGTCGATA
+>r2685
+GACCGATCTCCGGATAACGCAACGGATCAAACACC
+>r2686
+GCACTGCCCCAACAAACTGATGCCATGCAGGACAT
+>r2687
+GAGGCAAAATCAGTCCACTGCAAGAAAAACTGTTC
+>r2688
+CACGCGCGCTGCAAGACTGGTACACAATGACTGAA
+>r2689
+CTTCCAGGATTTCCTGCGGGATTTCATCACCAATA
+>r2690
+TCGGGCTTAGGCTCCAGCGCCTGTTCAGTGGTCGC
+>r2691
+CTGATATTACTGGCGGGTAACGGCACAACCTACAT
+>r2692
+CGAATGCTTTCCGGCTTGTATGGCGTACTGCGCCC
+>r2693
+CTGGGCGATGGGGGTAATGGTGCGGGGGTGAAGAA
+>r2694
+GGAAAAAGAAGGTATTAACTGTAACCTGACCCTGC
+>r2695
+GCGCGCGGGCTGGGGATGCGCTGGATGGGCGTTCT
+>r2696
+ATCTACTGCCATTGGATCCTGGTTGTGCTGCCACA
+>r2697
+GCCGCTGGAAGGTATTCAGCTTATCCAGAAGGCGA
+>r2698
+TGTCTTACACTGGTGAAGTGAAAGCGCGTCCGGCG
+>r2699
+CGCTCTTCCAGGATTTCCTGCGGGATTTCATCACC
+>r2700
+TTTCTGTATCTGAAATCTACCAGTACTACAAAGAG
+>r2701
+GTTCTTTTAACTCACGCATTGTCTGTTGCGTGGTT
+>r2702
+TTCACGAGGCGAATTAAGCGCCCGAGATTAAACGG
+>r2703
+AGACGCGCATCAACTTCAGTTGAGATACGGCCCGG
+>r2704
+ACTGTCAGGTGCGGGCTTTTTTCTGTGTTTCCTGT
+>r2705
+CTCCAGTATCACCGGATGTCGCGGTCAGAATGGTC
+>r2706
+GTTGAATCCAGGCGAATATGGCTTGTTCCTCGGCA
+>r2707
+CACCGCAGCGGAGTAGTCGGAACCGTTGCGTCCCA
+>r2708
+GAATCACCCCCACCTGACGCGAAAGGATCGCAGTT
+>r2709
+TCAACCAGCTTTGCTGACGCTTCAGTTGCTCCAGC
+>r2710
+GCCGCCAGCACCGCAGCGGAGTAGTCGGAACCGTT
+>r2711
+TTGATGATGCTGTCGCCTGGGCGAAACAGCAGAGC
+>r2712
+CGTAACCCAGGGGTTAGGCAAAAATCAGGGGCTGT
+>r2713
+CCAGTTTGGCAAAAGTCTTAAAAATAGCATTCATC
+>r2714
+AAAGATCACAATGAGCAGGTCAGCTTTGCGCAAGC
+>r2715
+CCACCTGACGCGAAAGGATCGCAGTTGGTACAAAA
+>r2716
+TGTTGAAGTCGATGTCCTATCAGGAAGCGATGGAG
+>r2717
+CCAACCCTTCTCTCATTCTTAACGCAGCGCAGATT
+>r2718
+GATCAGCGCCTGTTTGCGAATCACCCCCACCTGAC
+>r2719
+TTTCACTTCACCAGTGTAAGACAGTTTACGTTCGA
+>r2720
+AATAACGATGATGCGACCACTGGCGTGCGCGTTAC
+>r2721
+TGAACGAGGCGCTCGCAGCACAAGGCGATAATGTG
+>r2722
+GTCGGTTGTCTGGAATTGTTCCACGGGCCAACGCT
+>r2723
+ATACCTGTTACCAGCGGGGGAAAATCAAAAGAAAA
+>r2724
+GGGATCTCGGCGAAATTCTTTGCCGCGCTGGCCCG
+>r2725
+TCTGCGCCAGCAAGCGACTGATGTTGATGGAGTTA
+>r2726
+TCCGTCCAGATCTCGCAACAATCGGCGCGTAAACA
+>r2727
+GATGTTACGGAAGCTTGCGCCCATAACCACGGTTT
+>r2728
+TGAAAAAACCATTAGCGGTCAGGATGCTTTACCCA
+>r2729
+TCAATTTCAGTCAGGCTGAATTCCGGCAGGTCGTG
+>r2730
+GCGGGTGGATTCAGCAATATCAACGGTAGATTCGA
+>r2731
+CCATCGTTGCCAACTACATTTATGCCGAAAACAAT
+>r2732
+GTAACAACCATGCGAGTGTTGAAGTTCGGCGGTAC
+>r2733
+GCGCTGGCAATTACCGCCGGTGGACCTGGAGCCGT
+>r2734
+AGGCGTTTGATGATGAAGAACTGAAAGTGGCGCTG
+>r2735
+ACGGGACGTGAACTGGAGCTGGCGGATATTGAAAT
+>r2736
+AGGATCGCAGTTGGTACAAAATGCAGGCTGATCTG
+>r2737
+CGAGGGTGATGTCGCCGCTTTTATGGCGAATCTGT
+>r2738
+GCTTTTCGGCGCAGGTTGTTGGTTCACTTTTCGTA
+>r2739
+CGAAGTTAGCGAATAAAAAAATCCCCCCAGGCGGG
+>r2740
+GGCCAGCGCGGCAAAGAATTTCGCCGAGATCCCAC
+>r2741
+GTACATTGGTGAGCAGTGCCTTCGAGTTAGCAACA
+>r2742
+CCGCTTAATGACACTCGTTTGCTGGCTTTGATGGG
+>r2743
+ATCCAGCCGGCAAATATGAACAAAACCTTCCTGAT
+>r2744
+ATGAAAGATGTTATCGCTGAACCCTACCGTGAACG
+>r2745
+TTGCCGCCCAATGTACAGAACAGTTTTTCTTGCAG
+>r2746
+GCGGTAGCGAGCGGTATCTCCGGCTCCGGCCCGAC
+>r2747
+AGTGCGAGTACGATAGATTGCATCTTTTTCACAGG
+>r2748
+AACGGCGAGATCAGGAACACGCCCGCTTCCGCACA
+>r2749
+GGTCACTAAATACTTTAACCAATATAGGCATAGCG
+>r2750
+ATCGGCTGACCAAACCAGAGCAACTGACTGGTTTT
+>r2751
+CGCTCCCATGGCAGCGCAGGCTGCGGAAATTACGC
+>r2752
+TGGCAGTAACCGTTCACGGTAGGGTTCAGCGATAA
+>r2753
+CACAGTCGCTTTGCGGAACGCAGAAACTGATACTG
+>r2754
+CGGTCAAATTGGTAATAGCCATGCAGGCCATAATG
+>r2755
+CGCCCAGCCGGGATTTCCGCTGGCACAATTGAAAA
+>r2756
+AGATATCCATCACACTGGCGGCCGCTCGAGCATGC
+>r2757
+AAGCCTGCCAGATGTCGCCCGTGCGCAATGCAATC
+>r2758
+AGTTCCGCCCGTGGTGAGCACCAGATGGCAACTCA
+>r2759
+CCGGTATTTTTAATCAGGCAAGGGATCTGGAACTG
+>r2760
+GCCGGTAATGAAAAAGGCGAGCTGGTGGTTCTGGG
+>r2761
+TCCATGAAGCGCGGAAACTGACGCCCCCGCAGATT
+>r2762
+GCCGCTGCCGTTGGTACTGCGCGGATATGGTGCGG
+>r2763
+GGTTTCATCATCCACGGCTGCATAACCCAGCTCTT
+>r2764
+GGACATGTTTTATTTGGGCAAATTCCTGGTCGACG
+>r2765
+ACTGATGCCATGCAGGACATGTTTTATTTGGGCAA
+>r2766
+AGTTCAGAAGCTGCTATCAGACACTCTTTTTTTAA
+>r2767
+CAGCGTCCTTTGGGGATCGGTAATGATTTACCTGC
+>r2768
+TTTGCTAAAGTCGGCATAAATTTCCTGCAAGGACT
+>r2769
+AACTGGGCGATGGGGGTAATGGTGCGGGGGTGAAG
+>r2770
+GGCTTAGGCTCCAGCGCCTGTTCAGTGGTCGCGGC
+>r2771
+AAACAGCCCCTGATTTTTGCCTAACCCCTGGGTTA
+>r2772
+CTTATCCAGAAGGCGATGCGGGTGCTAATGGGTTC
+>r2773
+AGATCAGGAACACGCCCGCTTCCGCACAAGCACGA
+>r2774
+AATTCCTGGTCGACGAAAGTTTTCAATTGTGCCAG
+>r2775
+CAAATTGACCTCCCTTCGTCAGTACACCACCGTAG
+>r2776
+ATTGCCGGTCGCGATGACTTTCCTGTGTAAACGTT
+>r2777
+GGTATTCGCTTTGTATCAGTCAAGAATACGGCCAA
+>r2778
+GGCTGGATTACCGGTTATTGAGAACCTGCAAAATC
+>r2779
+GTGGTCACCCAAAGCGACTCAGGCGACGTTATCCA
+>r2780
+AGGAAACGTGGTACGGTATCGTTCACGTTGGTCGC
+>r2781
+GTCGGTGGCGTTGGCGGTGCGCTGCTGGAGCAACT
+>r2782
+GCTTTATAAAGAACGTGATGCCAATGGGCAGTTTC
+>r2783
+ATACGGCGGGTGGATTCAGCAATATCAACGGTAGA
+>r2784
+TTCAGTTCCAGGTAGAACTCTTCCTGCATTGCCCG
+>r2785
+GCGAGATGCCAGGCTTTGGTGAACAGATGCGCCAG
+>r2786
+GCTTTTCATTCTGACTGCAACGGGCAATATGTCTC
+>r2787
+ATCTGCCACAGCCTGGCTGGAAGTACAGTCAACAA
+>r2788
+AAACTCCGCACCCCAGGAACCCATTAGCACCCGCA
+>r2789
+TCGATGAGAAGAACGGCAAATTTAAGATCATCAGC
+>r2790
+ACGCCCGATGCGACGCTGGCAGTAGCGGACCGCGA
+>r2791
+AGCGACCAGAACCAGGGAAAGTGCGAGTACGATAG
+>r2792
+CATCGCATTGGATAACGTCGCCTGAGTCGCTTTGG
+>r2793
+CTGGTCGACGAAAGTTTTCAATTGTGCCAGCGGAA
+>r2794
+TTGGGTAAGAACTACCTGCAAAATCAGGAAGGTTT
+>r2795
+GTATCAATTCTGGGGAGATATCATCACCAACAAGC
+>r2796
+ATTCTGTTTGCCTTCAGCTCCATCGTTGCCAACTA
+>r2797
+ATCATCGTGGCGATCATCGTCCGGGGCCTGACAAA
+>r2798
+CACGATTTTGTAGGCCGGATAAGGCGTTCACGCCG
+>r2799
+TCGATCCGGTCGAAAAACTGCTGGCAGTGGGTCAT
+>r2800
+GCGACTCAGGCGACGTTATCCAATGCGATGGATGT
+>r2801
+AAGTTCTCCGGCATTCTTTCAGGTTCGCTTTCTTA
+>r2802
+TATTGAATTTGCACGATTTTGTAGGCCGGATAAGG
+>r2803
+TCCGGTGATACTGGAGCGGCAGTGGCTCATGCTTT
+>r2804
+CGCATTTATCGGCATGGCGACCTCGTTTGCCGAAT
+>r2805
+CACCGTCCTCTCTGCCCCCGCCAAAATCACCAACC
+>r2806
+TTGACTTAGGTCACTAAATACTTTAACCAATATAG
+>r2807
+AGGCGGGAATGGGGTCGACGCCAAACGCGGCAGCG
+>r2808
+CGGGTCCGGTTCGGTATAACCCATTTCCCGCGCCA
+>r2809
+CTGTTAATAAAGGAGAAAAAATCTGGCATGCATAT
+>r2810
+TACACTGCGAAGGGAGTGACAGACAGGTTTCAGAA
+>r2811
+ACACGGTGCCACGTTGTCGTAATGAATGCTGCCGG
+>r2812
+TTATGGCACAAATGCTGACCCATATTGCGGGCGAT
+>r2813
+CATCAAACCCGACGCTCATATTGGCACTGGAAGCC
+>r2814
+TTGGCAAAAGTCTTAAAAATAGCATTCATCCACAG
+>r2815
+CTATCTGTAATTTTACTGACGGGACTAGCGTAATT
+>r2816
+ATTACCAATTTGACCGCCATATTACTGCTCTCGCC
+>r2817
+GAAGTCTATTAAAGAGACGCTGGAAGGTGTGAAGG
+>r2818
+ATTTCTCTTTAAACAGCTTGTTAGGGGGATGTAAC
+>r2819
+GCGAGATGCCAGGCTTTGGTGAACAGATGCGCCAG
+>r2820
+GCTGATTCTTATTTCACCTGCGAAAACGCTTGATT
+>r2821
+ATTACGCTAGTCCCGTCAGTAAAATTACAGATAGG
+>r2822
+TCAACAATGACCGGGTTCAGCAGATGATATTCTTT
+>r2823
+TCCCTCGCACAGCTTTATAAAGAACGTGATGCCAA
+>r2824
+ACGCGCTATACGCTGCCGGAGCTGTTAGACAACGC
+>r2825
+ATTCAGTCTCAACAACCTCGGACGCTTTGCCGATA
+>r2826
+CCACGGCTGGTGGAAACAACATTATGAATGGCGAG
+>r2827
+ACCGACATCGCTTTCAACATTGGCGACCGGAGCCG
+>r2828
+TTGGGGATTTCCGGTATTTTTAATCAGGCAAGGGA
+>r2829
+CGAAGTTAGCGAATAAAAAAATCCCCCCAGGCGGG
+>r2830
+CTGTTCAGTGGTCGCGGCGCTGATGGCGATGAATG
+>r2831
+AGATGCTGAAGCTGGATTTTGTCACCCGCAGTGCG
+>r2832
+TGGATCCTGGTTGTGCTGCCACAGGAACTCGGACT
+>r2833
+TTTAAACGCCAGAATTGCCTGGCGGGCATTCTCCG
+>r2834
+ACAACGTGCGCTTTGTTTATGCCGGATGCGGCGTG
+>r2835
+CAGCAGCGCACCGCCAACGCCACCGACGCCAATCA
+>r2836
+GCTCACCAATGTACATGGCCTTAATCTGGAAAACT
+>r2837
+GGAAGGTATCCGTAAGTTTGCTGTTGACCAGGAAA
+>r2838
+GATGGTAGTAATCCATCGACGAGGTGTTGGCCTTT
+>r2839
+AGCACGTAACCAGTTGGTTGTCTCGGTACCGAGTG
+>r2840
+TTGATACAGCTTCATTGCCGCGATGTCCCCAGTGT
+>r2841
+CAGCTTTCTCCAGACGCGTGGGATGATGTTTCGCA
+>r2842
+CGCTACGCTTATCAGGCCTACGATCTTCTTGCAAT
+>r2843
+AGCTGATGATCTTAAATTTGCCGTTCTTCTCATCG
+>r2844
+CTTTGTTTATGCCGGATGCGGCGTGAACGCCTTAT
+>r2845
+TTGATGAAGATGGCGTCTGCCGCGTGAAGATTGCC
+>r2846
+ATCCCCGGATACGCCAGCACCCACAGCCACTCATC
+>r2847
+CGGAAGGTATCCGTAAGTTTGCTGTTGACCAGGAA
+>r2848
+GTTGACCACCACGCGCTATACGCTGCCGGAGCTGT
+>r2849
+CGCGAAGGTTTCCACGTTGTTACGCCGAACAAAAA
+>r2850
+GCTGACGGGAATAGCAGGCGTGAATGAAGCCTGCC
+>r2851
+ACCCTCGGCGTTAAACTCTGCGGGCAGCACAGGTT
+>r2852
+CCGCTCGCTACCGCGCCGATTTCCGCAACCGCCTG
+>r2853
+GCCGTCATCGCCGCGCCATAACAAGCACAATGATC
+>r2854
+CTCGCCACGGCAAATCAGCGCAGCGTTGATGCTAT
+>r2855
+GTTACCTCGTTACCTTTGGTCGAAAAAAAAGCCCG
+>r2856
+CTTTGGTAATCAAGCGTTTTCGCAGGTGAAATAAG
+>r2857
+AGATAATGGCCAGCCGTTCCGTCACCGCCAACGGC
+>r2858
+CAAGAAGATCGTAGGCCTGATAAGCGTAGCGCATC
+>r2859
+TCCGGCCTACAAAATCGTGCAAATTCAATATATTG
+>r2860
+CCACGATGATCATTGTGCTTGTTATGGCGCGGCGA
+>r2861
+CTTACGTGTCTGCGGTGTTGCTAACTCGAAGGCAC
+>r2862
+CGTTCAGAAGATCCCTGAGCAATGGCGACAATGTT
+>r2863
+TCGCCGTCTTTTTGCTCATCGCCTACGGCATAATT
+>r2864
+TCTTATCGGTATTCGCTTTGTATCAGTCAAGAATA
+>r2865
+GCTGACCCATATTGCGGGCGATAAGCCAGTGACCA
+>r2866
+TCTCCCCAGAATTGATACAGATCTTTCCCTCGGGC
+>r2867
+TTACCTGCCGTGAGTAAATTAAAATTTTATTGACT
+>r2868
+CTAACGGTTTTCAGCGCAGTATGTTTTCCAATGAG
+>r2869
+TATGCAGCCCGGCTTTTTTTATGAAGAAAATATGG
+>r2870
+CTTCGGCGATTTGACGGCGGGTCTGCTGGCGAAGT
+>r2871
+GAATGGCTGACATCGGCGCTAACCACGCCGTTTGA
+>r2872
+CGCACGCTGCCGTAGCTTATCGTGCGCTGCGTGAC
+>r2873
+ATCCCCGGATACGCCAGCACCCACAGCCACTCATC
+>r2874
+ATTATGGCCGGCGTGTTAGAAGCGCGTGGTCACAA
+>r2875
+TCCCGTCAGCTTGAGCTTGCCGCGAAGCTGATGAA
+>r2876
+ACCAATATTTACTGCCAGTTTGTCGGTCGCGTCCA
+>r2877
+GACTGGTACACAATGACTGAAATGAGGTTAAACCG
+>r2878
+GGGTGATGTCGCCGCTTTTATGGCGAATCTGTCAC
+>r2879
+GCAGTGGACTGATTTTGCCTCGTGGATAGAGGATA
+>r2880
+GGCTTCCGGCAGGCGCGGCAGGCGGTTGCGGAAAT
+>r2881
+TACCCGGTCAACCGAAGTCTATTAAAGAGACGCTG
+>r2882
+GTTCTTTATAAAGCTGTGCGAGGGAACATTCGGCA
+>r2883
+CTGCTGAAAGAGCTGGCGGAGAGCGAAGGGGCTAT
+>r2884
+CGAAGTATATAACGCTACGAGGTACTTGGATAACT
+>r2885
+CAATTTACGCAACGCAGCAAAATCGGCGGGCAGGT
+>r2886
+TGACTGTACTTCCAGCCAGGCTGTGGCAGATCAAT
+>r2887
+CGTAATGAATGCTGCCGGAGATACGCCCTTCCAAC
+>r2888
+GCACAAATCCGGTACGAAAAGTGAACCAACAACCT
+>r2889
+CGGTACGAAAAGTGAACCAACAACCTGCGCCGAAA
+>r2890
+GTAAGCTATTGATTCTCGCTCGTGAAACGGGACGT
+>r2891
+AACTAAATGAAACTCTACAATCTGAAAGATCACAA
+>r2892
+GCCCGGTGTTTGATCCGTTGCGTTATCCGGAGATC
+>r2893
+ATTCCCGCCTCATTGGAAAACATACTGCGCTGAAA
+>r2894
+ACCTCTTCTGAAACCTGTCTGTCACTCCCTTCGCA
+>r2895
+TCCCACGCGTCTGGAGAAAGCTGGCGACCGATCTC
+>r2896
+GAGGCGCTCGCAGCACAAGGCGATAATGTGGTGAT
+>r2897
+TGACGCTTCGGTGTCATAGGAAAGACGCGCATCAA
+>r2898
+TGACGCTTCGGTGTCATAGGAAAGACGCGCATCAA
+>r2899
+CAATTGAAAACTTTCGTCGACCAGGAATTTGCCCA
+>r2900
+GAAATCCTGGAAGAGCGCGTACGTGCGGCGTTTGC
+>r2901
+TACTGGTAGATTTCAGATACAGAAACCACGCCCGG
+>r2902
+GCGTTGATACCCGCCAGTTTGTCGCTGATGCGCAT
+>r2903
+TGATTACAGCAGATCGCCGATCATTTTTTCCAGTT
+>r2904
+AAGAACTGGGCTATACCTCGGAGCCGCACGCTGCC
+>r2905
+CTCTAAGTTACCGCATTTATTGAGAATTTCTCCTT
+>r2906
+CAACATCAGTCGCTTGCTGGCGCAGATTTGTTATT
+>r2907
+TGTACAGAACAGTTTTTCTTGCAGTGGACTGATTT
+>r2908
+AGCAGTAATATGGCGGTCAAATTGGTAATAGCCAT
+>r2909
+GAATCTGTCACAGCTCGACGATCTCTTTGCCGCGC
+>r2910
+CGGTCGCAGCCTGCCAGTTCCAGAATTTCGCCGAT
+>r2911
+GGCTGCATAACCCAGCTCTTTCAGTTGCCAGATTT
+>r2912
+TCTTAAAAATAGCATTCATCCACAGCCAGGCGGTT
+>r2913
+ATGGCCGGCGTGTTAGAAGCGCGTGGTCACAACGT
+>r2914
+TGATGGCGATGAATGAACACTGCGGCAAGCCGCTT
+>r2915
+CCGCAGAGTTTAACGCCGAGGGTGATGTCGCCGCT
+>r2916
+CGGTCAACCGAAGTCTATTAAAGAGACGCTGGAAG
+>r2917
+GTTTGCTCGATGATCGCCTGCTCATCGGGGATTAA
+>r2918
+TGGCATCTCGCGGTCCGCTACTGCCAGCGTCGCAT
+>r2919
+CGAAATCGTCTTCGCTGAAGGTTTCGGCCTGCAAG
+>r2920
+AGTATATAACGCTACGAGGTACTTGGATAACTTCT
+>r2921
+GAAGATGATTGCGTAATCAGCACCACGGAAATACG
+>r2922
+ATCAGCATATCCAGTCCTTGCAGGAAATTTATGCC
+>r2923
+CGCCAGATTTATCACCACATTATCGCCTTGTGCTG
+>r2924
+CTTTGATGGGCGAGTTGGAAGGGCGTATCTCCGGC
+>r2925
+TCGCATAACCTGCCCGCCGATTTTGCTGCGTTGCG
+>r2926
+CTAATTGTTAAGCTCCCCCCGCTCGAAGGGATAAG
+>r2927
+TTGTGTGAACTGGTGGATGAAATGAGTTGCCATCT
+>r2928
+CGCGCCATAACAAGCACAATGATCATCGTGGCGAT
+>r2929
+TCTGTGCGCTATGCCTATATTGGTTAAAGTATTTA
+>r2930
+GCGGCAGTGGCTCATGCTTTCTACGGTTTACCGAA
+>r2931
+TTGATCTGCCACAGCCTGGCTGGAAGTACAGTCAA
+>r2932
+GGCGACCGATCTCCGGATAACGCAACGGATCAAAC
+>r2933
+TGCGAGCGCCTCGTTCAGCTTGTTGGTGATGATAT
+>r2934
+CGTTAAACTCTGCGGGCAGCACAGGTTCAATTTCA
+>r2935
+GTTGTGTACTCTGTAATTTTTATCTGTCTGTGCGC
+>r2936
+ATCTCGGCATTCAATTTCTTCGGCTTCACCGATTT
+>r2937
+AGGATCCAATGGCAGTAGATAAACTGGCGGAAGGT
+>r2938
+ATCAGTCTGATCCCCCCGCCTGGGGGGATTTTTTT
+>r2939
+AGTTTCTGCGTTCCGCAAAGCGACTGTGTGCGAGC
+>r2940
+GAGATATCATCACCAACAAGCTGAACGAGGCGCTC
+>r2941
+CAGCCAGGCGGTTTAACCTCATTTCAGTCATTGTG
+>r2942
+ACAGAAACCACGCCCGGATCTTCTGCCGGAGCGTA
+>r2943
+CAGCTGATCCATGAAGCGCGGAAACTGACGCCCCC
+>r2944
+TACGCTTATCAGGCCTACGATCTTCTTGCAATATA
+>r2945
+GACAGACAGGTTTCAGAAGAGGTAGCGTGACCGAC
+>r2946
+AAATGGCGGGCGATATCAACGCAGCGAATTGGGCC
+>r2947
+GGCGATAAGCCAGTGACCATTCTGACCGCGACATC
+>r2948
+AGGCTTACTGGAGCCGTTGGCGGTGACGGAACGGC
+>r2949
+GCAGAACGTTTTCTGCGGGTTGCCGATATTCTGGA
+>r2950
+TAACATCCATCGCATTGGATAACGTCGCCTGAGTC
+>r2951
+CAGGAATTTGCCCAAATAAAACATGTCCTGCATGG
+>r2952
+AAGCGATGGAGCTTTCTTACTTCGGCGCTAAAGTT
+>r2953
+AAGACAGTTTACGTTCGATAGCCCCTTCGCTCTCC
+>r2954
+GGGTCATTACCTCGAATCTACCGTTGATATTGCTG
+>r2955
+ACCGCCATATTACTGCTCTCGCCTGTGGTTCATAC
+>r2956
+CCAGAGTCATCGCCACTGGAATTTGCTTGCCAAGC
+>r2957
+CGCGCCAATATCAACATTGTCGCCATTGCTCAGGG
+>r2958
+GTAATTGCCAGCGCAACGCCGGCCAGGTTGCCGCT
+>r2959
+TTAGACGAAGGCATGAGTTTCTCCGAGGCGACCAC
+>r2960
+GCACCGTGTTTTCTTGGTGGTATGCAGTTGATGAT
+>r2961
+ATCATTACCGATCCCCAAAGGACGCTGTTAATAAA
+>r2962
+TCCTTTTATCATTGCCCGTTATGGGTCGATATCCG
+>r2963
+AAAACCAGTCAGTTGCTCTGGTTTGGTCAGCCGAT
+>r2964
+CACGACGGTCAGTGGTCACCCAAAGCGACTCAGGC
+>r2965
+CGGCAGCGCAAGGAATTGTCCAGATGATTGGCATT
+>r2966
+TTATCAGGATAAAGGCATCCCTGCGCTGGAAGAAT
+>r2967
+AACCCATTTCCCGCGCCAGTGTGGTCGCCTCGGAG
+>r2968
+CTCGCTACCGCGCCGATTTCCGCAACCGCCTGCCG
+>r2969
+TCCAGGTCCACCGGCGGTAATTGCCAGCGCAACGC
+>r2970
+ACCGGCAATAAGAGGGATATGCATGCCAGATTTTT
+>r2971
+ACTAAATGAAACTCTACAATCTGAAAGATCACAAT
+>r2972
+GAAAGAGCTGGGTTATGCAGCCGTGGATGATGAAA
+>r2973
+GGTTGTGCTGCCACAGGAACTCGGACTCAGTGATA
+>r2974
+AGGCGCTCGCAGCACAAGGCGATAATGTGGTGATA
+>r2975
+GCCATAAAAGCGGCGACATCACCCTCGGCGTTAAA
+>r2976
+CCGAGTTCCTGTGGCAGCACAACCAGGATCCAATG
+>r2977
+TCGTTACCTTTGGTCGAAAAAAAAGCCCGCACTGT
+>r2978
+GTGCCAGCCGTGATGAAGACGAATTACCGGTCAAG
+>r2979
+GGAGATACCGCTCGCTACCGCGCCGATTTCCGCAA
+>r2980
+CCGCAAAATCTGGCAACTGAAAGAGCTGGGTTATG
+>r2981
+TTGGCAAAAGTCTTAAAAATAGCATTCATCCACAG
+>r2982
+CGTGCTTCTTGCGGCAACTGTGCGACAGCCTCAAA
+>r2983
+CCGGGCACTGCCCCAACAAACTGATGCCATGCAGG
+>r2984
+ATTTTGTCACCCGCAGTGCGAAGATCCTCTCGGCG
+>r2985
+GTGCGGAAGCGGGCGTGTTCCTGATCTCGCCGTTT
+>r2986
+TTCCCTGTCGTTTTTCTCCATATTTTCTTCATAAA
+>r2987
+GAAAGCGCGTCCGGCGCGTATCACTGAGTCCGAGT
+>r2988
+GGTTGCCGATATTCTGGAAAGCAATGCCAGGCAGG
+>r2989
+GATGCGCGTCTTTCCTATGACACCGAAGCGTCAAT
+>r2990
+ATGATGTTTGTCAGGCCCCGGACGATGATCGCCAC
+>r2991
+CGATTATCACGATCGCCTATCTGTAATTTTACTGA
+>r2992
+CTGAAATTGATGAGATGCTGAAGCTGGATTTTGTC
+>r2993
+GGGCGCGTGACATCGCTGCAAAGACGCGCGCCGCC
+>r2994
+AAACTGTTGCCATCGACGGCGATTTCGATGCCTGT
+>r2995
+GCTCCGGCCCGACTTTGTTCGCTCTGTGTGACAAG
+>r2996
+TATTACTGGGATGGCGGTCATTGGGGCGACCACGG
+>r2997
+GCCTTTATCCTGATAAACGCCGCTGGATGCGCGAT
+>r2998
+TTCAACATTGGCGACCGGAGCCGGGAAGGCAAACG
+>r2999
+TTTATGGCACAAATGCTGACCCATATTGCGGGCGA
+>r3000
+CCGTTGATATTGCTGAATCCACCCGCCGTATTGCG
+>r3001
+CGTCTTGAGAATGCCCGAGGGAAAGATCTGTATCA
+>r3002
+AGTGAACCAACAACCTGCGCCGAAAAGCAGGTAAA
+>r3003
+CAACGTGGAAACCTTCGCGCAGGAAGTCGGCATAT
+>r3004
+CCGGACGATGATCGCCACGATGATCATTGTGCTTG
+>r3005
+CGTGGTCACAACGTTACCGTTATCGATCCGGTCGA
+>r3006
+CCATAAAGCGACCGCCGAAATCTTTAAATGCCAGC
+>r3007
+AAGGGAGGTCAATTTGTCCGTCATGATAGTATTTC
+>r3008
+CAACTGTGCGACAGCCTCAAAGTAATAACAAATCT
+>r3009
+GTTTCATTATTGAAAATCGGCTGACCAAACCAGAG
+>r3010
+GATGATGAAGAACTGAAAGTGGCGCTGGGGCTGAA
+>r3011
+TGCCAGCGCAACGCCGGCCAGGTTGCCGCTACCCA
+>r3012
+TTGTGCCGTTACCCGCCAGTAATATCAGCATGGCG
+>r3013
+TGGGGCTGGATTACCGGTTATTGAGAACCTGCAAA
+>r3014
+CGTCGTGACGTAACGCCCGATGCGACGCTGGCAGT
+>r3015
+TTCATAAAAAAAGCCGGGCTGCATAAAAGCAAACC
+>r3016
+ACTAGCGTAATTTCCGCAGCCTGCGCTGCCATGGG
+>r3017
+CTCTTTGCCGCGCGTGTGGCGAAGGCCCGTGATGA
+>r3018
+GGAAGCGATTCTCGGTGAAACGTTGGATCTGCCAA
+>r3019
+AACCCACATCCAGAAGACGGCTCCAGGTCCACCGG
+>r3020
+CACCACGGAAATACGGGCGCGTGACATCGCTGCAA
+>r3021
+TTCCACGGGCCAACGCTGGCATTTAAAGATTTCGG
+>r3022
+CCGGATCGATAACGGTAACGTTGTGACCACGCGCT
+>r3023
+GGCTGCATTAAATCGAGCGGGCGCAGTACGCCATA
+>r3024
+CCCGCCATTTTTATACGAAACCTCATGTATGCTAC
+>r3025
+TCCGGCAGGTCGTGCGGAAAAAACAGCCCCTGATT
+>r3026
+ACGCCATGAAGACCGCGAGTGATCGCCAGCAGAGC
+>r3027
+AAGAGTTGTTCCGCCGCAAAATCTGGCAACTGAAA
+>r3028
+GCGGTGCTGGCGGCCTGTTTACGCGCCGATTGTTG
+>r3029
+CGTCTTTGCAGCGATGTCACGCGCCCGTATTTCCG
+>r3030
+CTGGAGCCTAAGCCCGAACCGATCGGCATATTCTT
+>r3031
+ACCCCATTCCCGCCTCATTGGAAAACATACTGCGC
+>r3032
+AGTGTCTGATAGCAGCTTCTGAACTGGTTACCTGC
+>r3033
+AGGTTGTTGGTTCACTTTTCGTACCGGATTTGTGC
+>r3034
+TGGTCACTGGCTTATCGCCCGCAATATGGGTCAGC
+>r3035
+CGTGGTCAATAACGATGATGCGACCACTGGCGTGC
+>r3036
+CTAATTGTTAAGCTCCCCCCGCTCGAAGGGATAAG
+>r3037
+TGACGTGGGGAAGTTGCCCGATATTCATTACGCAA
+>r3038
+GGCGGCGAGTCCCGTCAGAAGTTCGGCAAAAATAA
+>r3039
+CTTGCCGAAGATATAAGAAAGCGAACCTGAAAGAA
+>r3040
+GCAAGGGATCTGGAACTGGGCGATGGGGGTAATGG
+>r3041
+CCAAAAGCACTCTCAAAAATAGACCAAATGACGTG
+>r3042
+ATGCGTTTCATGGATGTTGTGTACTCTGTAATTTT
+>r3043
+AAAGATGCAATCTATCGTACTCGCACTTTCCCTGG
+>r3044
+CTGATGATTCATCATCAATTTACGCAACGCAGCAA
+>r3045
+TGTAAACGTTACCAATTGTTTACGAAGTATATAAC
+>r3046
+ACCAGTCAGTTGCTCTGGTTTGGTCAGCCGATTTT
+>r3047
+TAGCGTGACCGACTTCCCGGTCACGCTAAGTATGA
+>r3048
+GTACCGAGTGGAAACTTCGGCGATTTGACGGCGGG
+>r3049
+ATGAGGCGGGAATGGGGTCGACGCCAAACGCGGCA
+>r3050
+CGCTTCCACGCTCTCTTTAAATTTCGCCGGATGCG
+>r3051
+ACGAGGTAACAACCATGCGAGTGTTGAAGTTCGGC
+>r3052
+GGGCGACATCTGGCAGGCTTCATTCACGCCTGCTA
+>r3053
+GTTGCTCTGCTGTTTCGCCCAGGCGACAGCATCAT
+>r3054
+AATTCCTTGCGCTGCCGGATGCGGAGGCCAGGACG
+>r3055
+GTGGTTATGGGCGCAAGCTTCCGTAACATCGGCGA
+>r3056
+TCAGTCTCAACAACCTCGGACGCTTTGCCGATAAG
+>r3057
+CAGAGATGGAAACTAAGCCAATACGTAAAGTATTC
+>r3058
+TTTTGGCGGGGGCAGAGAGGACGGTGGCCACCTGC
+>r3059
+TGTCCAGATGATTGGCATTTTTATCGACACCCTGG
+>r3060
+CTGAACTCCGCTGAAAATTATGCCGTAGGCGATGA
+>r3061
+GCGGGTATCAACGCCGCTCGCTTTCATGACTGGCA
+>r3062
+ATGCCCGCCAGGCAATTCTGGCGTTTAAAGGTGAT
+>r3063
+TTTCAGTTCCAGGTAGAACTCTTCCTGCATTGCCC
+>r3064
+ACGCTGCCGTAGCTTATCGTGCGCTGCGTGACCAG
+>r3065
+AGCAACACCGCAGACACGTAAGTCGATATGTTTAT
+>r3066
+CGCAAAACTGCCTGATGCGCTACGCTTATCAGGCC
+>r3067
+GTCAGTACCCAGATTATCGCCATCAACGGGACAAA
+>r3068
+TCTCGCGGGTCCGGTTCGGTATAACCCATTTCCCG
+>r3069
+TACCGCTCGCTACCGCGCCGATTTCCGCAACCGCC
+>r3070
+GTTCACGTCCCGTTTCACGAGCGAGAATCAATAGC
+>r3071
+CATCCCACGCGTCTGGAGAAAGCTGGCGACCGATC
+>r3072
+GCTGGCTAACATCCATCGCATTGGATAACGTCGCC
+>r3073
+TGGTGCGGGGGTGAAGAACTTTAGCGCCGAAGTAA
+>r3074
+AGTAAATTAAAATTTTATTGACTTAGGTCACTAAA
+>r3075
+TAATGACACTCGTTTGCTGGCTTTGATGGGCGAGT
+>r3076
+GTATTGGCTTAGTTTCCATCTCTGATCGCGCATCC
+>r3077
+ATCTCCGGCAGCATTCATTACGACAACGTGGCACC
+>r3078
+TTTCACTGCCGGTAATGAAAAAGGCGAGCTGGTGG
+>r3079
+GGTTATGCGAAAGCAAGGGTAAATCAGCACGTTCT
+>r3080
+GCATCTCGCGGTCCGCTACTGCCAGCGTCGCATCG
+>r3081
+CTGATCGGTATTGAACAGCATCTGATGAGTAACGC
+>r3082
+GACAATGTTGATATTGGCGCGGGCCAGCGCGGCAA
+>r3083
+GTGAAAAAGATGCAATCTATCGTACTCGCACTTTC
+>r3084
+TGTTAGAAGCGCGTGGTCACAACGTTACCGTTATC
+>r3085
+GCCGAAGATATAAGAAAGCGAACCTGAAAGAATGC
+>r3086
+TACTTCGGCGCTAAAGTTCTTCACCCCCGCACCAT
+>r3087
+GTCACGCAGCGCACGATAAGCTACGGCAGCGTGCG
+>r3088
+GAATTCAGCCCCAGCGCCACTTTCAGTTCTTCATC
+>r3089
+CGAAGCTGATGAAAGATGTTATCGCTGAACCCTAC
+>r3090
+CTCCTGGCAAAAACGCTCCCAGCACTGATAAACGA
+>r3091
+ACGTCGCCTGAGTCGCTTTGGGTGACCACTGACCG
+>r3092
+ACGTCTTGAGAATGCCCGAGGGAAAGATCTGTATC
+>r3093
+CCATTACCACAGGTAACGGTGCGGGCTGACGCGTA
+>r3094
+GGAAGCTTGCGCCCATAACCACGGTTTCATAACCA
+>r3095
+CGCTCTCCGCCAGCTCTTTCAGCAGTGCCGGTGCG
+>r3096
+CAATCAACTTACGGTATTCCGGAATCTGCGCTGCG
+>r3097
+GTGTTTCCTGTACGCGTCAGCCCGCACCGTTACCT
+>r3098
+TTCTTCGGCTTCACCGATTTAAAATACTCATCTGA
+>r3099
+GGAGATCGGTCGCCAGCTTTCTCCAGACGCGTGGG
+>r3100
+TGTACATTGGGCGGCAATATCGAAACTGTTGCCAT
+>r3101
+TCGCAAATGCTGTTGGGCAAAATCGAAATCGTCTT
+>r3102
+AACGGCGTTCGCCTGAACTCCGCTGAAAATTATGC
+>r3103
+TGATTTTTGCCTAACCCCTGGGTTACGGCTTGCGC
+>r3104
+CTTCTCATCGAGGAACACTGGCTTGATAATCTCGG
+>r3105
+GTTCCAGAATTTCGCCGATGTTACGGAAGCTTGCG
+>r3106
+GCACCGTTACCTGTGGTAATGGTGATGGTGGTGGT
+>r3107
+TGTTACCAGCGGGGGAAAATCAAAAGAAAAACTCA
+>r3108
+TTTGTCACCCGCAGTGCGAAGATCCTCTCGGCGTT
+>r3109
+TTATTGAAAATCGGCTGACCAAACCAGAGCAACTG
+>r3110
+CAGGAAAAACTGGAAAAAATGATCGGCGATCTGCT
+>r3111
+AAGCCGGATACCGCCCAGCGCGTTGCCGACTGGTT
+>r3112
+ACATTCGGTAAACCGTAGAAAGCATGAGCCACTGC
+>r3113
+GAACGGTTACTGCCAGGCTTCCGGCAGGCGCGGCA
+>r3114
+TTGCTCTGGTTTGGTCAGCCGATTTTCAATAATGA
+>r3115
+CCGAGCAATGCACCATCAACAGGTGTCACCGCCGC
+>r3116
+TGCTTGTGCGGAAGCGGGCGTGTTCCTGATCTCGC
+>r3117
+GTTTGATGATGAAGAACTGAAAGTGGCGCTGGGGC
+>r3118
+TGAACTGGAGCTGGCGGATATTGAAATTGAACCTG
+>r3119
+GAACGTTTTCTGCGGGTTGCCGATATTCTGGAAAG
+>r3120
+TGTGATGGATATCTGCAGAATTCGCCCTTGTGATA
+>r3121
+TCCAGATGATTGGCATTTTTATCGACACCCTGGTC
+>r3122
+GTTATTGACCACGACAGAGATTGAGCGTTCAGAAG
+>r3123
+CCGCCGCGCCGCCTGCAGCTTCCTGCCAGCCAAAA
+>r3124
+ATCATGACGGACAAATTGACCTCCCTTCGTCAGTA
+>r3125
+TTTTCATTACCGGCAGTGAAACCAGCCATCAGCAC
+>r3126
+ATATCCAGTCCTTGCAGGAAATTTATGCCGACTTT
+>r3127
+GTCAGCCGGAATGCGGCTTGCCGCAATACGGCGGG
+>r3128
+AGGACATCGACTTCAACAACCTCGCATCGGGCACC
+>r3129
+CCCCAGGAACCCATTAGCACCCGCATCGCCTTCTG
+>r3130
+ATGGCATCAGTTTGTTGGGGCAGTGCCCGGATAGC
+>r3131
+TTGCTCGATGATCGCCTGCTCATCGGGGATTAAGC
+>r3132
+GGGTAAATCAGCACGTTCTGCCAGCTCTTTTGGCA
+>r3133
+ATTCGCTGCGTTGATATCGCCCGCCATTTTTATAC
+>r3134
+TCATGATAGTATTTCTCTTTAAACAGCTTGTTAGG
+>r3135
+ATTGATATTTAGCGATGATGTTTGTCAGGCCCCGG
+>r3136
+ACGGTGCGGGCTGACGCGTACAGGAAACACAGAAA
+>r3137
+TTTTTGAGAGTGCTTTTGGCTGGCAGGAAGCTGCA
+>r3138
+GGCAAGCAAATTCCAGTGGCGATGACTCTGGAAAA
+>r3139
+ATTAAAATTTTATTGACTTAGGTCACTAAATACTT
+>r3140
+TGCCAGCGTACCGTACTGCATTCAGTTGCTGGAAG
+>r3141
+CATCATCCACGGCTGCATAACCCAGCTCTTTCAGT
+>r3142
+TGGGGACATCGCGGCAATGAAGCTGTATCAACCGC
+>r3143
+CTCTGCCGCCTCAACCGTGACTACATCTCCGAGCA
+>r3144
+AGCTGTTAGACAACGCCCAGCAGCTGATCCATGAA
+>r3145
+CGCGGGAAATGGGTTATACCGAACCGGACCCGCGA
+>r3146
+CATAACGCAACTGATGGTAGTAATCCATCGACGAG
+>r3147
+CGCAAAACTTTTCCTTCATCACGGGCCTTCGCCAC
+>r3148
+GCGCACGCCAGTGGTCGCATCATCGTTATTGACCA
+>r3149
+TCTCGCCACGGCAAATCAGCGCAGCGTTGATGCTA
+>r3150
+GCCAGCGCGGCAAAGAATTTCGCCGAGATCCCACG
+>r3151
+ACACGCCCGCTTCCGCACAAGCACGAGCCTGAGCG
+>r3152
+GCGTGACATCGCTGCAAAGACGCGCGCCGCCATGC
+>r3153
+GCTATCAGACACTCTTTTTTTAATCCACACAGAGA
+>r3154
+CGCTTGATTACCAAAGCCCGTTGACCACCACGCGC
+>r3155
+ATCAACCGCAGGATGCCACAACCAACCCTTCTCTC
+>r3156
+CCGGTCCGCCACGAAACTGCCCATTGGCATCACGT
+>r3157
+AGGTTGTTGAAGTCGATGTCCTATCAGGAAGCGAT
+>r3158
+TTTCCGGTATTTTTAATCAGGCAAGGGATCTGGAA
+>r3159
+TTGCCATGTTATTCAGATTGGAAATGCCCTTGACC
+>r3160
+TCCTTGCAGGAAATTTATGCCGACTTTAGCAAAAA
+>r3161
+TGATGCTATCCGGGCACTGCCCCAACAAACTGATG
+>r3162
+AAGTTATCCAAGTACCTCGTAGCGTTATATACTTC
+>r3163
+GACACGTAAGTCGATATGTTTATTCTTCAACCAGC
+>r3164
+GAGTAATCACAACTATCGATCAACTCATTCTCTTT
+>r3165
+TTGGCCTTTTTGTTCGGCGTAACAACGTGGAAACC
+>r3166
+ATCTATTCATTATCTCAATCAGGCCGGGTTTGCTT
+>r3167
+CCGAGGGTGATGTCGCCGCTTTTATGGCGAATCTG
+>r3168
+AGCGTGACCGGGAAGTCGGTCACGCTACCTCTTCT
+>r3169
+GGAAAACATACTGCGCTGAAAACCGTTAGTAATCG
+>r3170
+TACAGATAGGCGATCGTGATAATCGTGGCTATTAC
+>r3171
+GCAGGGGCAGGTGGCCACCGTCCTCTCTGCCCCCG
+>r3172
+GACCACATGGTGCTGATGGCTGGTTTCACTGCCGG
+>r3173
+CGCTGCGTGACCAGTTGAATCCAGGCGAATATGGC
+>r3174
+GTCGATATGTTTATTCTTCAACCAGCTTTGCTGAC
+>r3175
+TTTTAAATCGGTGAAGCCGAAGAAATTGAATGCCG
+>r3176
+CCAGAAAGATCATCTCGCGGGTCCGGTTCGGTATA
+>r3177
+ATGTGGCAACTGGCAGATATCATTATGGCCTGCAT
+>r3178
+CGCGCCACATCCATGCCAGAAAGATCATCTCGCGG
+>r3179
+TGCGCATCAGCGACAAACTGGCGGGTATCAACGCC
+>r3180
+TCTTCATGGCGTCGCCCGGCTCATGCAGGGGTTTG
+>r3181
+GTTGCCATCTGGTGCTCACCACGGGCGGAACTGGC
+>r3182
+TGCCGCGCTGGCCCGCGCCAATATCAACATTGTCG
+>r3183
+CCCTTGCTTTCGCATAACCTGCCCGCCGATTTTGC
+>r3184
+CTTCTAACACGCCGGCCATAATGGCGATCGACATT
+>r3185
+AGCATGGTTATGAAACCGTGGTTATGGGCGCAAGC
+>r3186
+CCAGTCGGCAACGCGCTGGGCGGTATCCGGCTTGT
+>r3187
+TTTTCACAGGTTACTCCTTTTATCATTGCCCGTTA
+>r3188
+CATCAACGCTGCGCTGATTTGCCGTGGCGAGAAAA
+>r3189
+CAACCGTGACTACATCTCCGAGCAATGCACCATCA
+>r3190
+GCTTGCGCCCATAACCACGGTTTCATAACCATGCT
+>r3191
+CGCGGCAGCGGCAGCTGCGTCCTGGCCTCCGCATC
+>r3192
+TATTCTCCGCAATCCTAATCTCTAAGTTACCGCAT
+>r3193
+TCCGCCAGTTTGGCAAAAGTCTTAAAAATAGCATT
+>r3194
+GCTGCATAACCCAGCTCTTTCAGTTGCCAGATTTT
+>r3195
+CGAACGTAAACTGTCTTACACTGGTGAAGTGAAAG
+>r3196
+TAGCTTATCGTGCGCTGCGTGACCAGTTGAATCCA
+>r3197
+CCGAATGTGAAAGTGGTTATCCTCTATCCACGAGG
+>r3198
+GTAATGGTGGTGCTAATGCGTTTCATGGATGTTGT
+>r3199
+CTGGGGGGATTTTTTTATTCGCTAACTTCGCGTCT
+>r3200
+ATAAAGAACGTGATGCCAATGGGCAGTTTCGTGGC
+>r3201
+TTGATGAGTGGCTGTGGGTGCTGGCGTATCCGGGG
+>r3202
+AGGTTGTTGGTTCACTTTTCGTACCGGATTTGTGC
+>r3203
+TACCGTAAGTTGATTGATGATGCTGTCGCCTGGGC
+>r3204
+AGCCGTGATGAAGACGAATTACCGGTCAAGGGCAT
+>r3205
+CCGGATACCGCCCAGCGCGTTGCCGACTGGTTGGG
+>r3206
+TAGGCCTGATAAGCGTAGCGCATCAGGCAGTTTTG
+>r3207
+AGGCTGAATTCCGGCAGGTCGTGCGGAAAAAACAG
+>r3208
+TGCCGAACTTATTTTTGCCGAACTTCTGACGGGAC
+>r3209
+ACTTAGAGATTAGGATTGCGGAGAATAACAACTGC
+>r3210
+CATCCCCCTAACAAGCTGTTTAAAGAGAAATACTA
+>r3211
+GAACCCTACCGTGAACGGTTACTGCCAGGCTTCCG
+>r3212
+GAGCGAGAATCAATAGCTTACGCGCCACATCCATG
+>r3213
+CTGCCACAGCCTGGCTGGAAGTACAGTCAACAATG
+>r3214
+TTTGGTGAACAGATGCGCCAGATCAGCCTGCATTT
+>r3215
+AAATTTGGCTGCCAGTCATGAAAGCGAGCGGCGTT
+>r3216
+CCGCCGATGACCGTTGCGAAGGTGCAGATCCGCAG
+>r3217
+ACAACGTTACCGTTATCGATCCGGTCGAAAAACTG
+>r3218
+TCAGTTCTTCATCATCAAACGCCTGCTTCACCAGC
+>r3219
+AAGTTTGTAGTCAATGCCGGATAATGCCGGATGGC
+>r3220
+ACCGCCATATTACTGCTCTCGCCTGTGGTTCATAC
+>r3221
+TTTGGCTTGCGCCAGTTCTTCCTGCCAGTTTTCCA
+>r3222
+CGAAGAGTGCAAGACGCGAAGTTAGCGAATAAAAA
+>r3223
+CATTTGTGCCATAAAGCGACCGCCGAAATCTTTAA
+>r3224
+TCTCCGGCTCCGGCCCGACTTTGTTCGCTCTGTGT
+>r3225
+ATCAACCGCAGGATGCCACAACCAACCCTTCTCTC
+>r3226
+CTCGGGCATTCTCAAGACGTATCCCCATTTCCAGA
+>r3227
+CGGAACCGTTGCGTCCCAGAACCACCAGCTCGCCT
+>r3228
+TTCTTAGCGTAGAAGCTGATGATCTTAAATTTGCC
+>r3229
+CCGGAGATACCGCTCGCTACCGCGCCGATTTCCGC
+>r3230
+ACGCGGATCGCAGGTATAAACACCGTCAACATCCG
+>r3231
+ACCTTCTTTTTCCAGCTGTTCTGCAGCACGGATAC
+>r3232
+GATGTTTGTCAGGCCCCGGACGATGATCGCCACGA
+>r3233
+AGCCGCACGCTGCCGTAGCTTATCGTGCGCTGCGT
+>r3234
+TCCTGATAGGACATCGACTTCAACAACCTCGCATC
+>r3235
+GATGCGACCACTGGCGTGCGCGTTACTCATCAGAT
+>r3236
+CCAGGCTTTGGTGAACAGATGCGCCAGATCAGCCT
+>r3237
+TTTTTACGCCTGAACAACCCTAAAGCGATCTGGTG
+>r3238
+GAAGGTTACTTCTTTGATGAAGCTTCCTCCAGCAA
+>r3239
+TTCGCTTTCTTATATCTTCGGCAAGTTAGACGAAG
+>r3240
+GGCGTTTTCGCCATTTTTCACTTTGAACAGCGGAT
+>r3241
+TTATCGCCATCAACGGGACAAACCCCTGCATGAGC
+>r3242
+CTGATCAAACTGGCTTCTACCTGGCAGGGTATCCG
+>r3243
+CGCAAACAGGCGCTGATCCTTAACTTACCCGGTCA
+>r3244
+AAAGATCACAATGAGCAGGTCAGCTTTGCGCAAGC
+>r3245
+ATCACCAGCATTGAGCAGATTTTGCAGGTTCTCAA
+>r3246
+GCAATCCGGCATTGATATTTAGCGATGATGTTTGT
+>r3247
+AACGGCAGTTGTTATTCTCCGCAATCCTAATCTCT
+>r3248
+TTCCATGGGAGGGTACGTAGCAGATCAGCAAAGAC
+>r3249
+CTGCCGGAAGCCTGGCAGTAACCGTTCACGGTAGG
+>r3250
+ACGCGTACAGGAAACACAGAAAAAAGCCCGCACCT
+>r3251
+ACTGCCGCTCCAGTATCACCGGATGTCGCGGTCAG
+>r3252
+GTGTGCGAGCTGAACGGGCAATGCAGGAAGAGTTC
+>r3253
+TCAGATGCTGTTCAATACCGATCAGGTTATCGAAG
+>r3254
+CATCGAAATCGCCGTCGATGGCAACAGTTTCGATA
+>r3255
+TTACCATCCACTTCGGCAATCTTCACGCGGCAGAC
+>r3256
+GGTCTATTTTTGAGAGTGCTTTTGGCTGGCAGGAA
+>r3257
+ATGTCCCCAGTGTCGGCCACTACGGTGGTGTACTG
+>r3258
+ATGCTATCCGGGCACTGCCCCAACAAACTGATGCC
+>r3259
+TGCCGCGTGAAGATTGCCGAAGTGGATGGTAATGA
+>r3260
+GGGGTTTGTCCCGTTGATGGCGATAATCTGGGTAC
+>r3261
+CCGGATGGCAATCCGGCATTGATATTTAGCGATGA
+>r3262
+CAGTTTTCCAGATTAAGGCCATGTACATTGGTGAG
+>r3263
+CTGAACTGGTTACCTGCCGTGAGTAAATTAAAATT
+>r3264
+GGAATTGTCCAGATGATTGGCATTTTTATCGACAC
+>r3265
+CTGGGCGATGGGGGTAATGGTGCGGGGGTGAAGAA
+>r3266
+GCTGAACGGGCAATGCAGGAAGAGTTCTACCTGGA
+>r3267
+ACCGTGCACCACAACGTTACCCTCAGCGTCCTTCA
+>r3268
+CGGTTTCATAACCATGCTCTTTGTAGTACTGGTAG
+>r3269
+TCCGGCAGCGTATAGCGCGTGGTGGTCAACGGGCT
+>r3270
+CAACGCAGCGAATTGGGCCTCTAGATGCATGCTCG
+>r3271
+GAGTCCGAGTTCCTGTGGCAGCACAACCAGGATCC
+>r3272
+GGAACGCAGAAACTGATACTGTATTCGGAAGATGA
+>r3273
+TGCCGCGAAGCTGATGAAAGATGTTATCGCTGAAC
+>r3274
+GACCGGTAATTCGTCTTCATCACGGCTGGCACCAA
+>r3275
+CCCACGCGTCTGGAGAAAGCTGGCGACCGATCTCC
+>r3276
+GCGGTTGCGGAAATCGGCGCGGTAGCGAGCGGTAT
+>r3277
+TCACGTTCTTTATAAAGCTGTGCGAGGGAACATTC
+>r3278
+AAATTACAGATAGGCGATCGTGATAATCGTGGCTA
+>r3279
+AAGACACCGGCAGCTGTAACGTCATTGCCCGCACC
+>r3280
+ATTGGCATCACGTTCTTTATAAAGCTGTGCGAGGG
+>r3281
+TCAGATGAGTATTTTAAATCGGTGAAGCCGAAGAA
+>r3282
+AATTGACCTCCCTTCGTCAGTACACCACCGTAGTG
+>r3283
+TCCCCAGTGTCGGCCACTACGGTGGTGTACTGACG
+>r3284
+TGCAGGCTGATCTGGCGCATCTGTTCACCAAAGCC
+>r3285
+AGGGCGTTTTCGCCATTTTTCACTTTGAACAGCGG
+>r3286
+ATTTTGCCCAACAGCATTTGCGAATGCTTTCCGGC
+>r3287
+CGCTAGTCCCGTCAGTAAAATTACAGATAGGCGAT
+>r3288
+AAAATATGGAGAAAAACGACAGGGAAAAAGGAGAA
+>r3289
+TCCGCTACTGCCAGCGTCGCATCGGGCGTTACGTC
+>r3290
+TGGGTTGCCGCATTTATCGGCATGGCGACCTCGTT
+>r3291
+GTAAGAAAGCTCCATCGCTTCCTGATAGGACATCG
+>r3292
+CAGCGGAAATCCCGGCTGGGCGGCGGCGAGTCCCG
+>r3293
+CCGCCCCGAGCACATCAAACCCGACGCTCATATTG
+>r3294
+AAATTTGGCTGCCAGTCATGAAAGCGAGCGGCGTT
+>r3295
+CAATAAAACGTTTTACCGGCAGACCGAGTGACTTC
+>r3296
+CCATCAGTTGCGTTATGCGGCGGAAAAATCGCGGC
+>r3297
+TAAACTGTCTTACACTGGTGAAGTGAAAGCGCGTC
+>r3298
+ACCTGCATCGTTGTAGAGTTTGATCAGGCGTTTTG
+>r3299
+CAGGCCTACGATCTTCTTGCAATATATTGAATTTG
+>r3300
+TTGCCGGTCGCGATGACTTTCCTGTGTAAACGTTA
+>r3301
+CAACACCGCAGACACGTAAGTCGATATGTTTATTC
+>r3302
+GCTACCAGATGGTTGGTGATTTTGGCGGGGGCAGA
+>r3303
+CTCATTTCAGTCATTGTGTACCAGTCTTGCAGCGC
+>r3304
+AGCACGAGCCTGAGCGAAGGAGAACAGCAGGGTCA
+>r3305
+GCCGACACTGGGGACATCGCGGCAATGAAGCTGTA
+>r3306
+CGCGGTCTGATGAGTCGTTTCATTATTGAAAATCG
+>r3307
+AGGCGTTCACGCCGCATCCGGCATAAACAAAGCGC
+>r3308
+AAAGTGGTTATCCTCTATCCACGAGGCAAAATCAG
+>r3309
+CAACGATGCAGGTATTAGCAACGATCGTATTCTGA
+>r3310
+AGGTATAAACACCGTCAACATCCGTCCAGATCTCG
+>r3311
+GATCTGGTGTCTGCGGATCTGCACCTTCGCAACGG
+>r3312
+GAAAGCATTCGCAAATGCTGTTGGGCAAAATCGAA
+>r3313
+AATCGTCTTCGCTGAAGGTTTCGGCCTGCAAGCCA
+>r3314
+AAACTGGCGGAAGGTATCCGTAAGTTTGCTGTTGA
+>r3315
+CATAAAAGCGGCGACATCACCCTCGGCGTTAAACT
+>r3316
+AAAGAACTGGGCTATACCTCGGAGCCGCACGCTGC
+>r3317
+AAGATGTTATCGCTGAACCCTACCGTGAACGGTTA
+>r3318
+AGCGAAACTGCACAAATCCGGTACGAAAAGTGAAC
+>r3319
+CAGCTTCGCGGCAAGCTCAAGCTGACGGGAATAGC
+>r3320
+TGGGTGACCACTGACCGTCGTGCAGGAAACGTGGT
+>r3321
+TTGCCCGTTATGGGTCGATATCCGGAGATTACGCG
+>r3322
+ATAAGATTGTTAACAACGTGCGCTTTGTTTATGCC
+>r3323
+GCAATGCACCATCAACAGGTGTCACCGCCGCCCCG
+>r3324
+TTGCAGTGGACTGATTTTGCCTCGTGGATAGAGGA
+>r3325
+AATATCAACGGTAGATTCGAGGTAATGACCCACTG
+>r3326
+AAGCCAGGCGATTACTAACGGTTTTCAGCGCAGTA
+>r3327
+TTTGCGGCGGAACAACTCTTCCACACGCGGCCAGT
+>r3328
+ATCAAGCCAGTGTTCCTCGATGAGAAGAACGGCAA
+>r3329
+CGCCGGTGGACCTGGAGCCGTCTTCTGGATGTGGG
+>r3330
+ACGCTCCCAGCACTGATAAACGATATTTTCCCGTG
+>r3331
+TGCGCCAGCAAGCGACTGATGTTGATGGAGTTAGC
+>r3332
+GGTCGACGCCAAACGCGGCAGCGGCAGCTGCGTCC
+>r3333
+GAAGTCGGCATATTGATCTGCCACAGCCTGGCTGG
+>r3334
+AGTCCCGTCAGTAAAATTACAGATAGGCGATCGTG
+>r3335
+CCCCTGATTTTTGCCTAACCCCTGGGTTACGGCTT
+>r3336
+AGTGCAAGACGCGAAGTTAGCGAATAAAAAAATCC
+>r3337
+CAGCGTAAACTCGGCGTGCGCCCGGTGTTTGATCC
+>r3338
+ATGGGTCAGCATTTGTGCCATAAAGCGACCGCCGA
+>r3339
+GGTGCTAATGCGTTTCATGGATGTTGTGTACTCTG
+>r3340
+GCACGGGCGACATCTGGCAGGCTTCATTCACGCCT
+>r3341
+CAGGCGGGGGGATCAGACTGATGACAAACGCAAAA
+>r3342
+ACCCCCATCGCCCAGTTCCAGATCCCTTGCCTGAT
+>r3343
+ACGCCTTATCCGGCCTACAAAATCGTGCAAATTCA
+>r3344
+GTAACGTTTACACAGGAAAGTCATCGCGACCGGCA
+>r3345
+GCTCGAGCGGCCGCCAGTGTGATGGATATCTGCAG
+>r3346
+ACATCCATGAAACGCATTAGCACCACCATTACCAC
+>r3347
+CATTTCAGTCATTGTGTACCAGTCTTGCAGCGCGC
+>r3348
+GTCAAATTGGTAATAGCCATGCAGGCCATAATGAT
+>r3349
+CAGCATCATCAATCAACTTACGGTATTCCGGAATC
+>r3350
+GGTAGAACTCTTCCTGCATTGCCCGTTCAGCTCGC
+>r3351
+TCATGACGGACAAATTGACCTCCCTTCGTCAGTAC
+>r3352
+ACGGCATAATTTTCAGCGGAGTTCAGGCGAACGCC
+>r3353
+AGTCGGCAACGCGCTGGGCGGTATCCGGCTTGTCA
+>r3354
+AACAACCCTAAAGCGATCTGGTGTCTGCGGATCTG
+>r3355
+GCGTAAGCTATTGATTCTCGCTCGTGAAACGGGAC
+>r3356
+TCTTACTTCGGCGCTAAAGTTCTTCACCCCCGCAC
+>r3357
+CAGTAATATCAGCATGGCGCTTGCCGTGCAGATGA
+>r3358
+TTAATCCCCGATGAGCAGGCGATCATCGAGCAAAC
+>r3359
+TTTCCAGATTAAGGCCATGTACATTGGTGAGCAGT
+>r3360
+CCGCTGGCACAATTGAAAACTTTCGTCGACCAGGA
+>r3361
+AGCTTCCTGCCAGCCAAAAGCACTCTCAAAAATAG
+>r3362
+CTCGTGCTTGTGCGGAAGCGGGCGTGTTCCTGATC
+>r3363
+CAGTTCTTCATCATCAAACGCCTGCTTCACCAGCG
+>r3364
+TCTTGCGGCAACTGTGCGACAGCCTCAAAGTAATA
+>r3365
+CAGGCAGTTTTGCGTTTGTCATCAGTCTGATCCCC
+>r3366
+CGCAACAATCGGCGCGTAAACAGGCCGCCAGCACC
+>r3367
+GCATTGCGCACGGGCGACATCTGGCAGGCTTCATT
+>r3368
+TCAGGGATCTTCTGAACGCTCAATCTCTGTCGTGG
+>r3369
+AAAGCGGCGACATCACCCTCGGCGTTAAACTCTGC
+>r3370
+GCAACTTCCCCACGTCATTTGGTCTATTTTTGAGA
+>r3371
+AGGTATAGCCCAGTTCTTTTAACTCACGCATTGTC
+>r3372
+CACTTCCGGTGCCGTTTCAACGTATGGCCCTTCCA
+>r3373
+CGGTGCCACGTTGTCGTAATGAATGCTGCCGGAGA
+>r3374
+TCACCCCCGCACCATTACCCCCATCGCCCAGTTCC
+>r3375
+CACTGAGTCCGAGTTCCTGTGGCAGCACAACCAGG
+>r3376
+CCATGCCAACCATCCCTTTCATCCCCGGGCCGGAA
+>r3377
+ATCGACCCATAACGGGCAATGATAAAAGGAGTAAC
+>r3378
+GGCGATAATCTGGGTACTGACCAGCCTGGTGATTT
+>r3379
+ATAAAGGAGAAAAAATCTGGCATGCATATCCCTCT
+>r3380
+ACGATAAGCTACGGCAGCGTGCGGCTCCGAGGTAT
+>r3381
+TAACCCAGGGGTTAGGCAAAAATCAGGGGCTGTTT
+>r3382
+CAGCCAAACAACTGGCCGCGTGTGGAAGAGTTGTT
+>r3383
+AACAGAATAACCACGAGGGTAACAAACTCCGCACC
+>r3384
+ATCTGCACGGCAAGCGCCATGCTGATATTACTGGC
+>r3385
+CTGAGTCGCTTTGGGTGACCACTGACCGTCGTGCA
+>r3386
+ATGCCAGGCAGGGGCAGGTGGCCACCGTCCTCTCT
+>r3387
+CGTGCTTGTGCGGAAGCGGGCGTGTTCCTGATCTC
+>r3388
+CACTCTTTTTTTAATCCACACAGAGACATATTGCC
+>r3389
+AATGCCGGATGGCAATCCGGCATTGATATTTAGCG
+>r3390
+TCCTTAACTTACCCGGTCAACCGAAGTCTATTAAA
+>r3391
+AACTGGTGTTTAAACGCTACGAACAACGTTAAGTT
+>r3392
+GCATTTTTATCGACACCCTGGTCATCTGCACGGCA
+>r3393
+GACGTGGGGAAGTTGCCCGATATTCATTACGCAAA
+>r3394
+CGCTCCCAGCACTGATAAACGATATTTTCCCGTGG
+>r3395
+ACGTTGTTACGCCGAACAAAAAGGCCAACACCTCG
+>r3396
+GATCGGTATTGAACAGCATCTGATGAGTAACGCGC
+>r3397
+GATGCGCATCAGGGAGCTAATCTGCGGGGGCGTCA
+>r3398
+CCAGATGGCAACTCATTTCATCCACCAGTTCACAC
+>r3399
+AAGATTGCCGAAGTGGATGGTAATGATCCGCTGTT
+>r3400
+CAGGTTACAGTTAATACCTTCTTTTTCCAGCTGTT
+>r3401
+TGCGGATCTGCACCTTCGCAACGGTCATCGGCGGC
+>r3402
+TTAAACGCTACGAACAACGTTAAGTTTGTAGTCAA
+>r3403
+ACGATGATCATTGTGCTTGTTATGGCGCGGCGATG
+>r3404
+ATCAGCGACAAACTGGCGGGTATCAACGCCGCTCG
+>r3405
+CATCGCCATCAGCGCCGCGACCACTGAACAGGCGC
+>r3406
+TCGAGTTAGCAACACCGCAGACACGTAAGTCGATA
+>r3407
+CCAAGCTCCTGGCAAAAACGCTCCCAGCACTGATA
+>r3408
+TATGACACCAACGTTGGGGCTGGATTACCGGTTAT
+>r3409
+AAAATCTTGATGAATACTTTACGTATTGGCTTAGT
+>r3410
+TCTTGCAGTGGACTGATTTTGCCTCGTGGATAGAG
+>r3411
+CGAACTGGTGTTTAAACGCTACGAACAACGTTAAG
+>r3412
+TCATCAGTCTGATCCCCCCGCCTGGGGGGATTTTT
+>r3413
+TGAAGTTCTCCGGCATTCTTTCAGGTTCGCTTTCT
+>r3414
+CCATGCCGGTCCGCCACGAAACTGCCCATTGGCAT
+>r3415
+TCAGCAAAGCTGGTTGAAGAATAAACATATCGACT
+>r3416
+CGCATTGTCTGTTGCGTGGTTTCATCATCCACGGC
+>r3417
+GGCCTGATTGAGATAATGAATAGATGTTACTGATG
+>r3418
+AAGCCGGGGCATAAACTTTAACCATGTCAGACTCC
+>r3419
+TTCTCCGGCATTCTTTCAGGTTCGCTTTCTTATAT
+>r3420
+GGTAAATCATTACCGATCCCCAAAGGACGCTGTTA
+>r3421
+TGCAGCCGTGGATGATGAAACCACGCAACAGACAA
+>r3422
+AGATCGCTTTAGGGTTGTTCAGGCGTAAAAAGAAG
+>r3423
+CGTGGTTTCATCATCCACGGCTGCATAACCCAGCT
+>r3424
+GACTCGCCGCCGCCCAGCCGGGATTTCCGCTGGCA
+>r3425
+AAAGCGATCTGGTGTCTGCGGATCTGCACCTTCGC
+>r3426
+ACAGTTTTTCTTGCAGTGGACTGATTTTGCCTCGT
+>r3427
+CATGGCATCAGTTTGTTGGGGCAGTGCCCGGATAG
+>r3428
+TAGGCTCCAGCGCCTGTTCAGTGGTCGCGGCGCTG
+>r3429
+AAAGGATCGCAGTTGGTACAAAATGCAGGCTGATC
+>r3430
+CGGTGGCCACCTGCCCCTGCCTGGCATTGCTTTCC
+>r3431
+TATGGCCTGCATGGCTATTACCAATTTGACCGCCA
+>r3432
+ACGCCGAGGGTGATGTCGCCGCTTTTATGGCGAAT
+>r3433
+CAATTTGTCCGTCATGATAGTATTTCTCTTTAAAC
+>r3434
+GTTAAAAGAACTGGGCTATACCTCGGAGCCGCACG
+>r3435
+CGGGACTCGCCGCCGCCCAGCCGGGATTTCCGCTG
+>r3436
+TCAATATGCCGACTTCCTGCGCGAAGGTTTCCACG
+>r3437
+TGATCAAACTGGCTTCTACCTGGCAGGGTATCCGT
+>r3438
+CACGCGGTCTGATGAGTCGTTTCATTATTGAAAAT
+>r3439
+GTTTATTGGTGATGAAATCCCGCAGGAAATCCTGG
+>r3440
+GATTAGCTCCCTGATGCGCATCAGCGACAAACTGG
+>r3441
+CTGACGCGGATCGCAGGTATAAACACCGTCAACAT
+>r3442
+AACTGGCAGGAAGAACTGGCGCAAGCCAAAGAGCC
+>r3443
+GCGTGTTAGAAGCGCGTGGTCACAACGTTACCGTT
+>r3444
+GTTCGCTCTGTGTGACAAGCCGGATACCGCCCAGC
+>r3445
+TAATGCCGGATGGCAATCCGGCATTGATATTTAGC
+>r3446
+CCATCGACGGCGATTTCGATGCCTGTCAGGCGCTG
+>r3447
+GTGAGCAGTGCCTTCGAGTTAGCAACACCGCAGAC
+>r3448
+AAAAAGAGAATGAGTTGATCGATAGTTGTGATTAC
+>r3449
+TTTACTGCCAGTTTGTCGGTCGCGTCCACGATCTG
+>r3450
+TACCTCGTTACCTTTGGTCGAAAAAAAAGCCCGCA
+>r3451
+TCACGGCAGGTAACCAGTTCAGAAGCTGCTATCAG
+>r3452
+TCCCGTCAGAAGTTCGGCAAAAATAAGTTCGGCAT
+>r3453
+AAAATTATGCCGTAGGCGATGAGCAAAAAGACGGC
+>r3454
+TTCCGGCTGACCACATGGTGCTGATGGCTGGTTTC
+>r3455
+CGAAATTCTGGAACTGGCAGGCTGCGACCGTCTGA
+>r3456
+GGTCAGTGGTCACCCAAAGCGACTCAGGCGACGTT
+>r3457
+AGGTCGTGCGGAAAAAACAGCCCCTGATTTTTGCC
+>r3458
+ATTGTGCCAGCGGAAATCCCGGCTGGGCGGCGGCG
+>r3459
+AAGCCTTCTTTCAGTTCCAGGTAGAACTCTTCCTG
+>r3460
+CGCCCAGTTCCAGATCCCTTGCCTGATTAAAAATA
+>r3461
+GTTGGTCGCAGCAATAAAACGTTTTACCGGCAGAC
+>r3462
+CGTCAGCAAAGCTGGTTGAAGAATAAACATATCGA
+>r3463
+CTGCCAGGTAGAAGCCAGTTTGATCAGAATACGAT
+>r3464
+ATGGCGAAAACGCCCTGGCCTTCTATAGCCACTAT
+>r3465
+CTTTTTGTTCGGCGTAACAACGTGGAAACCTTCGC
+>r3466
+GTTGTAGAGTTTGATCAGGCGTTTTGCTTTCGCAA
+>r3467
+AGCGTTCAGAAGATCCCTGAGCAATGGCGACAATG
+>r3468
+TGCCAGATGTCGCCCGTGCGCAATGCAATCCTGGC
+>r3469
+GAAGTTATCCAAGTACCTCGTAGCGTTATATACTT
+>r3470
+ACCTTCGCAACGGTCATCGGCGGCACCTTGTTAAG
+>r3471
+GGAATTGTTCCACGGGCCAACGCTGGCATTTAAAG
+>r3472
+CCAGTTCAAACGGCGTGGTTAGCGCCGATGTCAGC
+>r3473
+CCCGCAATATGGGTCAGCATTTGTGCCATAAAGCG
+>r3474
+TCGTTTTTCTCCATATTTTCTTCATAAAAAAAGCC
+>r3475
+CACGGGCCAACGCTGGCATTTAAAGATTTCGGCGG
+>r3476
+ATCTTTTTCACAGGTTACTCCTTTTATCATTGCCC
+>r3477
+CAACGCAGCGAATTGGGCCTCTAGATGCATGCTCG
+>r3478
+CATTGCCATGTTATTCAGATTGGAAATGCCCTTGA
+>r3479
+TACTTCGTAAACAATTGGTAACGTTTACACAGGAA
+>r3480
+AAAGGTGATGTCTACACTGGCTTGCAGGCCGAAAC
+>r3481
+CCGGCAGCATTCATTACGACAACGTGGCACCGTGT
+>r3482
+AAACCACGCAACAGACAATGCGTGAGTTAAAAGAA
+>r3483
+CCCAGCAGCTGATCCATGAAGCGCGGAAACTGACG
+>r3484
+GCGTTTCATGGATGTTGTGTACTCTGTAATTTTTA
+>r3485
+TTCTCCTTTTTCCCTGTCGTTTTTCTCCATATTTT
+>r3486
+TGAGCCGGGCGACGCCATGAAGACCGCGAGTGATC
+>r3487
+CGATAACGGTAACGTTGTGACCACGCGCTTCTAAC
+>r3488
+TCATCAAACCCTGGCACTTGCTGGCTGATGATGTC
+>r3489
+GTTGATCGATAGTTGTGATTACTCCTGCGAAACAT
+>r3490
+CCTGAACAACCCTAAAGCGATCTGGTGTCTGCGGA
+>r3491
+GTCCCAGAACCACCAGCTCGCCTTTTTCATTACCG
+>r3492
+CCAGTAATAGCCACGATTATCACGATCGCCTATCT
+>r3493
+AATCTATCGTACTCGCACTTTCCCTGGTTCTGGTC
+>r3494
+AGGGAGGTCAATTTGTCCGTCATGATAGTATTTCT
+>r3495
+TACATGCCGCTGGAAGGTATTCAGCTTATCCAGAA
+>r3496
+GCCGAGATTATCAAGCCAGTGTTCCTCGATGAGAA
+>r3497
+GTGTGCGAGCTGAACGGGCAATGCAGGAAGAGTTC
+>r3498
+GTAATTCGTCTTCATCACGGCTGGCACCAATGAGC
+>r3499
+ATCATCAATTTACGCAACGCAGCAAAATCGGCGGG
+>r3500
+GATGTCCCCAGTGTCGGCCACTACGGTGGTGTACT
+>r3501
+TTTTTCATTACCGGCAGTGAAACCAGCCATCAGCA
+>r3502
+CGGCATTGATATTTAGCGATGATGTTTGTCAGGCC
+>r3503
+CCTGGGCGAAACAGCAGAGCAACGATCGCGCGCAG
+>r3504
+GAGATCGGTCGCCAGCTTTCTCCAGACGCGTGGGA
+>r3505
+TGATGAAAGATGTTATCGCTGAACCCTACCGTGAA
+>r3506
+CGTTGGCGGTGACGGAACGGCTGGCCATTATCTCG
+>r3507
+CTGATACTGTATTCGGAAGATGATTGCGTAATCAG
+>r3508
+AATGCTTTCCGGCTTGTATGGCGTACTGCGCCCGC
+>r3509
+GGGCATTCTCCGGTGTGAAATTTGGCTGCCAGTCA
+>r3510
+TTAACGCCGAGGGTGATGTCGCCGCTTTTATGGCG
+>r3511
+CACCTGACGCGGATCGCAGGTATAAACACCGTCAA
+>r3512
+CTGATGGTAGTAATCCATCGACGAGGTGTTGGCCT
+>r3513
+TTCAGATACAGAAACCACGCCCGGATCTTCTGCCG
+>r3514
+TTCCAGTGCCAATATGAGCGTCGGGTTTGATGTGC
+>r3515
+CGCCTACGGCATAATTTTCAGCGGAGTTCAGGCGA
+>r3516
+TGCGTTATCCGGAGATCGGTCGCCAGCTTTCTCCA
+>r3517
+TCAGAAGAGGTAGCGTGACCGACTTCCCGGTCACG
+>r3518
+GCGTCTGCCGCGTGAAGATTGCCGAAGTGGATGGT
+>r3519
+CGTCAGCTTGAGCTTGCCGCGAAGCTGATGAAAGA
+>r3520
+CCTGCATCGTTGTAGAGTTTGATCAGGCGTTTTGC
+>r3521
+CGAAATTTAAAGAGAGCGTGGAAGCGATTCTCGGT
+>r3522
+GCGTTGGCCCGTGGAACAATTCCAGACAACCGACA
+>r3523
+CAGTTGGTACAAAATGCAGGCTGATCTGGCGCATC
+>r3524
+TTGGCTTAGTTTCCATCTCTGATCGCGCATCCAGC
+>r3525
+ATTCAGCTTATCCAGAAGGCGATGCGGGTGCTAAT
+>r3526
+CAATGACTGAAATGAGGTTAAACCGCCTGGCTGTG
+>r3527
+GCTGGGCGTTGTCTAACAGCTCCGGCAGCGTATAG
+>r3528
+CACCAGTTCACACAACGTTTGCTCGATGATCGCCT
+>r3529
+TTGTGTGAACTGGTGGATGAAATGAGTTGCCATCT
+>r3530
+CTCAATCAGGCCGGGTTTGCTTTTATGCAGCCCGG
+>r3531
+CCAACAAGCTGAACGAGGCGCTCGCAGCACAAGGC
+>r3532
+CCAGTTTGGCAAAAGTCTTAAAAATAGCATTCATC
+>r3533
+TGGCGGGTATCAACGCCGCTCGCTTTCATGACTGG
+>r3534
+TTCAGATACAGAAACCACGCCCGGATCTTCTGCCG
+>r3535
+TTCCTGCGCGAAGGTTTCCACGTTGTTACGCCGAA
+>r3536
+TAGTTTCCATCTCTGATCGCGCATCCAGCGGCGTT
+>r3537
+CGATCTTCTTGCAATATATTGAATTTGCACGATTT
+>r3538
+TACAAAATGCAGGCTGATCTGGCGCATCTGTTCAC
+>r3539
+GTCTGGAAATGGGGATACGTCTTGAGAATGCCCGA
+>r3540
+CTTTTGCCAAACTGGCGGATGTAGCGAAACTGCAC
+>r3541
+GGTCGCGGCGCTGATGGCGATGAATGAACACTGCG
+>r3542
+TCGAGACTTTAATCCCCGGATACGCCAGCACCCAC
+>r3543
+GCCAACGGCTCCAGTAAGCCTTCTTTCAGTTCCAG
+>r3544
+TTTGCCGTGGCGAGAAAATGTCGATCGCCATTATG
+>r3545
+GCCGTCTTCTGGATGTGGGTTGCCGCATTTATCGG
+>r3546
+AGTGCGGGCTTTTTTTTCGACCAAAGGTAACGAGG
+>r3547
+CGCATCCGGCATAAACAAAGCGCACGTTGTTAACA
+>r3548
+GAAGCGATGGAGCTTTCTTACTTCGGCGCTAAAGT
+>r3549
+TCCACACGCGGCCAGTTGTTTGGCTGGCTAACATC
+>r3550
+TTTTGTTCGGCGTAACAACGTGGAAACCTTCGCGC
+>r3551
+TGCAACCACTTCCGGTGCCGTTTCAACGTATGGCC
+>r3552
+ACAGAGCGAACAAAGTCGGGCCGGAGCCGGAGATA
+>r3553
+TGTGGTCAGCCGGAATGCGGCTTGCCGCAATACGG
+>r3554
+TAACGATGATGCGACCACTGGCGTGCGCGTTACTC
+>r3555
+CTGCTGGCGAAGTCACTCGGTCTGCCGGTAAAACG
+>r3556
+TATATCTTCGGCAAGTTAGACGAAGGCATGAGTTT
+>r3557
+TCCGCCACGAAACTGCCCATTGGCATCACGTTCTT
+>r3558
+GGCTTCTGCCGTCGAGACTTTAATCCCCGGATACG
+>r3559
+GCCGCCAGCACCGCAGCGGAGTAGTCGGAACCGTT
+>r3560
+ACGCCGCTCGCTTTCATGACTGGCAGCCAAATTTC
+>r3561
+AATTGCCTGGCGGGCATTCTCCGGTGTGAAATTTG
+>r3562
+GTTGTTTGGCTGGCTAACATCCATCGCATTGGATA
+>r3563
+AATGACCCACTGCCAGCAGTTTTTCGACCGGATCG
+>r3564
+GATGCGCGGTGCCGAGGAACAAGCCATATTCGCCT
+>r3565
+TTGCGCCAGTTCTTCCTGCCAGTTTTCCAGATTAA
+>r3566
+TTTCGCAATTGACGCTTCGGTGTCATAGGAAAGAC
+>r3567
+GAATGCGGCTTGCCGCAATACGGCGGGTGGATTCA
+>r3568
+TAAACGCCGAGAGGATCTTCGCACTGCGGGTGACA
+>r3569
+GGGGATCGGTAATGATTTACCTGCTTTTCGGCGCA
+>r3570
+AAAATACCGGAAATCCCCAAGCACCAGGTACGCTC
+>r3571
+TCAGTCATTGTGTACCAGTCTTGCAGCGCGCGTGG
+>r3572
+CTTCATGGATCAGCTGCTGGGCGTTGTCTAACAGC
+>r3573
+CGCCAATCACAAACACTTCGATAACCTGATCGGTA
+>r3574
+ACGGTGGCCACCTGCCCCTGCCTGGCATTGCTTTC
+>r3575
+GCGCTGGGCGGTATCCGGCTTGTCACACAGAGCGA
+>r3576
+TTCGCACTGCGGGTGACAAAATCCAGCTTCAGCAT
+>r3577
+ACGCGGTCTGATGAGTCGTTTCATTATTGAAAATC
+>r3578
+ACAAGCCATATTCGCCTGGATTCAACTGGTCACGC
+>r3579
+ATCCCGGCTGGGCGGCGGCGAGTCCCGTCAGAAGT
+>r3580
+TCTGCGCTGCGTTAAGAATGAGAGAAGGGTTGGTT
+>r3581
+GCTGGATGCGCGATCAGAGATGGAAACTAAGCCAA
+>r3582
+AGGCTCCAGCGCCTGTTCAGTGGTCGCGGCGCTGA
+>r3583
+CATTATCTCAATCAGGCCGGGTTTGCTTTTATGCA
+>r3584
+GTTGGTTGTCTCGGTACCGAGTGGAAACTTCGGCG
+>r3585
+AGTAACCTGTGAAAAAGATGCAATCTATCGTACTC
+>r3586
+CGGGCAATGCAGGAAGAGTTCTACCTGGAACTGAA
+>r3587
+GCAATCGCTGGCACCCACATGGACCGCCGTCATCG
+>r3588
+TATAAAAATGGCGGGCGATATCAACGCAGCGAATT
+>r3589
+GTCTTTGCTCTGCTGGCGATCACTCGCGGTCTTCA
+>r3590
+CATCGCACCGGCACTGCTGAAAGAGCTGGCGGAGA
+>r3591
+CCCACGCGCGCTGCAAGACTGGTACACAATGACTG
+>r3592
+AGCCACTCATCAAACCCTGGCACTTGCTGGCTGAT
+>r3593
+CATCCAGAAGACGGCTCCAGGTCCACCGGCGGTAA
+>r3594
+TTTGTCATCAGTCTGATCCCCCCGCCTGGGGGGAT
+>r3595
+TACCAGATGGTTGGTGATTTTGGCGGGGGCAGAGA
+>r3596
+CGTCCTTCACACCTTCCAGCGTCTCTTTAATAGAC
+>r3597
+AGGTGCCCGATGCGAGGTTGTTGAAGTCGATGTCC
+>r3598
+TCGGCCTGCAAGCCAGTGTAGACATCACCTTTAAA
+>r3599
+GTAAGCTATTGATTCTCGCTCGTGAAACGGGACGT
+>r3600
+TGGCCCGCGCCAATATCAACATTGTCGCCATTGCT
+>r3601
+CGATCTCTTTGCCGCGCGTGTGGCGAAGGCCCGTG
+>r3602
+TTATCCAGAAGGCGATGCGGGTGCTAATGGGTTCC
+>r3603
+CTTAAGGTATATCCCGCCGCGCCGCCTGCAGCTTC
+>r3604
+CGCCGAAAAGCAGGTAAATCATTACCGATCCCCAA
+>r3605
+TGGGGAGATATCATCACCAACAAGCTGAACGAGGC
+>r3606
+TACGAAGTATATAACGCTACGAGGTACTTGGATAA
+>r3607
+GCGTAGAAGCTGATGATCTTAAATTTGCCGTTCTT
+>r3608
+ACAACCTACATGCCGCTGGAAGGTATTCAGCTTAT
+>r3609
+ATCGTGGACGCGACCGACAAACTGGCAGTAAATAT
+>r3610
+ATTGAAAAAACCATTAGCGGTCAGGATGCTTTACC
+>r3611
+TGTTTATACCTGCGATCCGCGTCAGGTGCCCGATG
+>r3612
+TTGATCAGGCGTTTTGCTTTCGCAATTGACGCTTC
+>r3613
+CGGGGCCTGACAAACATCATCGCTAAATATCAATG
+>r3614
+TGCAGGGGTTTGTCCCGTTGATGGCGATAATCTGG
+>r3615
+TTCGGCGCAGGTTGTTGGTTCACTTTTCGTACCGG
+>r3616
+GTTGATACAGCTTCATTGCCGCGATGTCCCCAGTG
+>r3617
+CGTGCAGGAAACGTGGTACGGTATCGTTCACGTTG
+>r3618
+CCACTGACCGTCGTGCAGGAAACGTGGTACGGTAT
+>r3619
+ACAGCTCGACGATCTCTTTGCCGCGCGTGTGGCGA
+>r3620
+GAGCGTACTCTTTCTTATCGGTATTCGCTTTGTAT
+>r3621
+TTCGATAACCTGATCGGTATTGAACAGCATCTGAT
+>r3622
+GCGCCCGAGATTAAACGGCTCTTTGGCTTGCGCCA
+>r3623
+CTGAATACCTTCCAGCGGCATGTAGGTTGTGCCGT
+>r3624
+AAATCCCCCCAGGCGGGGGGATCAGACTGATGACA
+>r3625
+TAACAAGCTGTTTAAAGAGAAATACTATCATGACG
+>r3626
+AGACAACCGACATCGCTTTCAACATTGGCGACCGG
+>r3627
+CTTAGGCTCCAGCGCCTGTTCAGTGGTCGCGGCGC
+>r3628
+TTATTGGTGATGAAATCCCGCAGGAAATCCTGGAA
+>r3629
+GATTTTGCCCAACAGCATTTGCGAATGCTTTCCGG
+>r3630
+CATCAAGATTTTTCCGTTTAAACAGTCTCGTTAAG
+>r3631
+ACCAAAGCCCGTTGACCACCACGCGCTATACGCTG
+>r3632
+ATTTGTGCCATAAAGCGACCGCCGAAATCTTTAAA
+>r3633
+AAACCACGCCCGGATCTTCTGCCGGAGCGTACTCT
+>r3634
+CGGTCGCAGCCTGCCAGTTCCAGAATTTCGCCGAT
+>r3635
+CTGACTGCAACGGGCAATATGTCTCTGTGTGGATT
+>r3636
+TTTAATGCAGCCTTATCGTCTGGAAATGGGGATAC
+>r3637
+AGCTTATCCAGAAGGCGATGCGGGTGCTAATGGGT
+>r3638
+GCAATGAAGCTGTATCAACCGCAGGATGCCACAAC
+>r3639
+TCGCCTGCTCATCGGGGATTAAGCGGGTTTCCAGT
+>r3640
+GAAATTCTTTGCCGCGCTGGCCCGCGCCAATATCA
+>r3641
+GCGGCCAGTTGTTTGGCTGGCTAACATCCATCGCA
+>r3642
+AAGGCATCCCTGCGCTGGAAGAATGGCTGACATCG
+>r3643
+TAATGGCGATCGACATTTTCTCGCCACGGCAAATC
+>r3644
+TACGGATACCTTCCGCCAGTTTATCTACTGCCATT
+>r3645
+ATGTTTTCCAATGAGGCGGGAATGGGGTCGACGCC
+>r3646
+AACCTACATGCCGCTGGAAGGTATTCAGCTTATCC
+>r3647
+GGCTTGCGCCAGTTCTTCCTGCCAGTTTTCCAGAT
+>r3648
+AAAACCATTAGCGGTCAGGATGCTTTACCCAATAT
+>r3649
+GAATGCCGGAGAACTTCATCAATTCATCACCAGCA
+>r3650
+CTGCCGGTAAAACGTTTTATTGCTGCGACCAACGT
+>r3651
+TTTGTACCAACTGCGATCCTTTCGCGTCAGGTGGG
+>r3652
+GTCATCGGCGGCACCTTGTTAAGTTTTCCGCTGAT
+>r3653
+CGTCAGGTGCCCGATGCGAGGTTGTTGAAGTCGAT
+>r3654
+AGCAGATCAGCAAAGACACCGGCAGCTGTAACGTC
+>r3655
+CGTAAAGTATTCATCAAGATTTTTCCGTTTAAACA
+>r3656
+GATGCTTTACCCAATATCAGCGATGCCGAACTTAT
+>r3657
+TGATCCATGAAGCGCGGAAACTGACGCCCCCGCAG
+>r3658
+CGGTCGCGATGACTTTCCTGTGTAAACGTTACCAA
+>r3659
+CTCTGGTTTGGTCAGCCGATTTTCAATAATGAAAC
+>r3660
+AAATTTCCTGCAAGGACTGGATATGCTGATTCTTA
+>r3661
+ACACAGTCGCTTTGCGGAACGCAGAAACTGATACT
+>r3662
+CGAATGCTTTCCGGCTTGTATGGCGTACTGCGCCC
+>r3663
+GTTCCTGGGGTGCGGAGTTTGTTACCCTCGTGGTT
+>r3664
+CTGGCAGATATCATTATGGCCTGCATGGCTATTAC
+>r3665
+AGAAGCCAGTTTGATCAGAATACGATCGTTGCTAA
+>r3666
+TTTATTGGTGATGAAATCCCGCAGGAAATCCTGGA
+>r3667
+CGAAACCTCATGTATGCTACGCAGAAGTTATCCAA
+>r3668
+TATATCCCGCCGCGCCGCCTGCAGCTTCCTGCCAG
+>r3669
+AGTGTTTGTGATTGGCGTCGGTGGCGTTGGCGGTG
+>r3670
+TCAACTGAAGTTGATGCGCGTCTTTCCTATGACAC
+>r3671
+GGGTAAAGCATCCTGACCGCTAATGGTTTTTTCAA
+>r3672
+TCCTATCAGGAAGCGATGGAGCTTTCTTACTTCGG
+>r3673
+AGTTTCTGCGTTCCGCAAAGCGACTGTGTGCGAGC
+>r3674
+TATTATCAGCCGCTGCCGTTGGTACTGCGCGGATA
+>r3675
+AACCTGCAAAATCTGCTCAATGCTGGTGATGAATT
+>r3676
+CGGGCATTCTCCGGTGTGAAATTTGGCTGCCAGTC
+>r3677
+AAAAGAGCTGGCAGAACGTGCTGATTTACCCTTGC
+>r3678
+CATGCTGATATTACTGGCGGGTAACGGCACAACCT
+>r3679
+TCGCTGCAAAGACGCGCGCCGCCATGCCAACCATC
+>r3680
+TGCGCTGAAAACCGTTAGTAATCGCCTGGCTTAAG
+>r3681
+GCGGAGTAGTCGGAACCGTTGCGTCCCAGAACCAC
+>r3682
+CCAGCGGAAATCCCGGCTGGGCGGCGGCGAGTCCC
+>r3683
+CCGGTCGCGATGACTTTCCTGTGTAAACGTTACCA
+>r3684
+GCATTTTTATCGACACCCTGGTCATCTGCACGGCA
+>r3685
+ATCCATGAAACGCATTAGCACCACCATTACCACCA
+>r3686
+GTTGTGCCGTTACCCGCCAGTAATATCAGCATGGC
+>r3687
+CTGGCCTCCGCATCCGGCAGCGCAAGGAATTGTCC
+>r3688
+AAGTCAATAAAATTTTAATTTACTCACGGCAGGTA
+>r3689
+ATCAAACCCTGGCACTTGCTGGCTGATGATGTCGT
+>r3690
+GTTGAAGAATAAACATATCGACTTACGTGTCTGCG
+>r3691
+ACTACGGTGGTGTACTGACGAAGGGAGGTCAATTT
+>r3692
+TGGTGGAAACAACATTATGAATGGCGAGGCAATCG
+>r3693
+GTTTCGCAGGAGTAATCACAACTATCGATCAACTC
+>r3694
+GCGCACGATAAGCTACGGCAGCGTGCGGCTCCGAG
+>r3695
+ACCGAAGCGTCAATTGCGAAAGCAAAACGCCTGAT
+>r3696
+TGCGGGCTGACGCGTACAGGAAACACAGAAAAAAG
+>r3697
+GTGTATCATTCTGCTTAACGAGACTGTTTAAACGG
+>r3698
+GCGCGTAAACAGGCCGCCAGCACCGCAGCGGAGTA
+>r3699
+TGGGGATTTCCGGTATTTTTAATCAGGCAAGGGAT
+>r3700
+CCCGATGAGCAGGCGATCATCGAGCAAACGTTGTG
+>r3701
+CAAGAAAACACGGTGCCACGTTGTCGTAATGAATG
+>r3702
+ATATTGGTCTGGAAATCCTGAAACTGGTTCCGGGC
+>r3703
+CGGCGAGTCCCGTCAGAAGTTCGGCAAAAATAAGT
+>r3704
+GCGATTCTCGGTGAAACGTTGGATCTGCCAAAAGA
+>r3705
+CCAGAAGACGGCTCCAGGTCCACCGGCGGTAATTG
+>r3706
+CTGGAAGTACAGTCAACAATGACCGGGTTCAGCAG
+>r3707
+GGCCTGTTTACGCGCCGATTGTTGCGAGATCTGGA
+>r3708
+GGCCAGCCGTTCCGTCACCGCCAACGGCTCCAGTA
+>r3709
+ATGATCTTTCTGGCATGGATGTGGCGCGTAAGCTA
+>r3710
+TACCGATCCCCAAAGGACGCTGTTAATAAAGGAGA
+>r3711
+TCATTACCTCGAATCTACCGTTGATATTGCTGAAT
+>r3712
+CGCCTGTGGTTCATACCATTGCCAGTGATTATCTA
+>r3713
+TGGGATCTCGGCGAAATTCTTTGCCGCGCTGGCCC
+>r3714
+CAGAAGCCAGGGCTATTTTACCGGCGCAGTATCGC
+>r3715
+ACTGGGATGGCGGTCATTGGGGCGACCACGGCTGG
+>r3716
+GCTGACCCATATTGCGGGCGATAAGCCAGTGACCA
+>r3717
+TCTGGTCGCTCCCATGGCAGCGCAGGCTGCGGAAA
+>r3718
+CTTTCAGTTCCAGGTAGAACTCTTCCTGCATTGCC
+>r3719
+TACCCAACCAGTCGGCAACGCGCTGGGCGGTATCC
+>r3720
+TCTTATCGGTATTCGCTTTGTATCAGTCAAGAATA
+>r3721
+TTCCTCGATGAGAAGAACGGCAAATTTAAGATCAT
+>r3722
+CTATTAAAGAGACGCTGGAAGGTGTGAAGGACGCT
+>r3723
+GTCGATCGCCATTATGGCCGGCGTGTTAGAAGCGC
+>r3724
+CAGAAGGCGATGCGGGTGCTAATGGGTTCCTGGGG
+>r3725
+TCATTGTGATCTTTCAGATTGTAGAGTTTCATTTA
+>r3726
+CCATCACCATTACCACAGGTAACGGTGCGGGCTGA
+>r3727
+AATGTTGTTTCCACCAGCCGTGGTCGCCCCAATGA
+>r3728
+AGCACCATGTGGTCAGCCGGAATGCGGCTTGCCGC
+>r3729
+ATTCCTGGTCGACGAAAGTTTTCAATTGTGCCAGC
+>r3730
+GACGATTTCGATTTTGCCCAACAGCATTTGCGAAT
+>r3731
+TGATCGAAGAAAACGACATCATCAGCCAGCAAGTG
+>r3732
+ACCCCTGCATGAGCCGGGCGACGCCATGAAGACCG
+>r3733
+CGCAGCCTGCGCTGCCATGGGAGCGACCAGAACCA
+>r3734
+GCGTGAATGAAGCCTGCCAGATGTCGCCCGTGCGC
+>r3735
+CGCAGAAACTGATACTGTATTCGGAAGATGATTGC
+>r3736
+TGCGAAACATCATCCCACGCGTCTGGAGAAAGCTG
+>r3737
+GACTTCCCGGTCACGCTAAGTATGATTACAGCAGA
+>r3738
+TACCTGTGGTAATGGTGATGGTGGTGGTAATGGTG
+>r3739
+GCCTGCCGCGCCTGCCGGAAGCCTGGCAGTAACCG
+>r3740
+AACTGGTGTTTAAACGCTACGAACAACGTTAAGTT
+>r3741
+TGATGTTGATGGAGTTAGCAGAATTCAGCCCCAGC
+>r3742
+GCTGGAGCAACTGAAGCGTCAGCAAAGCTGGTTGA
+>r3743
+ATCGTACTCGCACTTTCCCTGGTTCTGGTCGCTCC
+>r3744
+CGTTGTGTGAACTGGTGGATGAAATGAGTTGCCAT
+>r3745
+CACGTTGTCGTAATGAATGCTGCCGGAGATACGCC
+>r3746
+GGCGAAGTCACTCGGTCTGCCGGTAAAACGTTTTA
+>r3747
+AGAGAAGGGTTGGTTGTGGCATCCTGCGGTTGATA
+>r3748
+TGCCATAAAGCGACCGCCGAAATCTTTAAATGCCA
+>r3749
+GGGGTGCGGAGTTTGTTACCCTCGTGGTTATTCTG
+>r3750
+TTTTTCCCTGTCGTTTTTCTCCATATTTTCTTCAT
+>r3751
+GACGCGAAAGGATCGCAGTTGGTACAAAATGCAGG
+>r3752
+CGCAGCGAATTGGGCCTCTAGATGCATGCTCGAGC
+>r3753
+ACTGTCAGGTGCGGGCTTTTTTCTGTGTTTCCTGT
+>r3754
+TAATGGTGCGGGGGTGAAGAACTTTAGCGCCGAAG
+>r3755
+CTACGAGGTACTTGGATAACTTCTGCGTAGCATAC
+>r3756
+ATAATTTTCAGCGGAGTTCAGGCGAACGCCGTTGC
+>r3757
+TTTTATCATTGCCCGTTATGGGTCGATATCCGGAG
+>r3758
+GACCGACAAACTGGCAGTAAATATTGGTCTGGAAA
+>r3759
+CTGTTTAAAGAGAAATACTATCATGACGGACAAAT
+>r3760
+ATAGGCGATCGTGATAATCGTGGCTATTACTGGGA
+>r3761
+GACCGCGAGATGCCAGGCTTTGGTGAACAGATGCG
+>r3762
+ATCCAGAAGGCGATGCGGGTGCTAATGGGTTCCTG
+>r3763
+TGCCGCGCTGGCCCGCGCCAATATCAACATTGTCG
+>r3764
+AACGCCGAGAGGATCTTCGCACTGCGGGTGACAAA
+>r3765
+CGCCTGGGCGAAACAGCAGAGCAACGATCGCGCGC
+>r3766
+TTTATCCTGATAAACGCCGCTGGATGCGCGATCAG
+>r3767
+CCGGAGATACGCCCTTCCAACTCGCCCATCAAAGC
+>r3768
+ATGATGTTTGTCAGGCCCCGGACGATGATCGCCAC
+>r3769
+ACGTAAGTCGATATGTTTATTCTTCAACCAGCTTT
+>r3770
+GTAGGCCGGATAAGGCGTTCACGCCGCATCCGGCA
+>r3771
+CTTTCCGGCTTGTATGGCGTACTGCGCCCGCTCGA
+>r3772
+GCCAGGCTGTGGCAGATCAATATGCCGACTTCCTG
+>r3773
+ATCACAACTATCGATCAACTCATTCTCTTTTTTTG
+>r3774
+TGCCCGGATAGCATCAACGCTGCGCTGATTTGCCG
+>r3775
+AGATTCGAGGTAATGACCCACTGCCAGCAGTTTTT
+>r3776
+TCGTATTCTGATCAAACTGGCTTCTACCTGGCAGG
+>r3777
+CACCACATTATCGCCTTGTGCTGCGAGCGCCTCGT
+>r3778
+AGGCGTTTGATGATGAAGAACTGAAAGTGGCGCTG
+>r3779
+ATTGCCAACATAGCGCAAAACTTTTCCTTCATCAC
+>r3780
+CGATCGTATTCTGATCAAACTGGCTTCTACCTGGC
+>r3781
+AGGCCTACGATCTTCTTGCAATATATTGAATTTGC
+>r3782
+CGTACCGGATTTGTGCAGTTTCGCTACATCCGCCA
+>r3783
+GCACCACGGAAATACGGGCGCGTGACATCGCTGCA
+>r3784
+TCTGCTTAACGAGACTGTTTAAACGGAAAAATCTT
+>r3785
+GCGCATCAGCGACAAACTGGCGGGTATCAACGCCG
+>r3786
+TGGATGCGCGATCAGAGATGGAAACTAAGCCAATA
+>r3787
+CAAGGACTGGATATGCTGATTCTTATTTCACCTGC
+>r3788
+AGGCCGAAACCTTCAGCGAAGACGATTTCGATTTT
+>r3789
+CCCCAACAAACTGATGCCATGCAGGACATGTTTTA
+>r3790
+AAGATTGTTAACAACGTGCGCTTTGTTTATGCCGG
+>r3791
+CGTTACAGCTGCCGGTGTCTTTGCTGATCTGCTAC
+>r3792
+AACCTGATCGGTATTGAACAGCATCTGATGAGTAA
+>r3793
+CGCAACGGATCAAACACCGGGCGCACGCCGAGTTT
+>r3794
+AGAATTTCTCCTTTTTCCCTGTCGTTTTTCTCCAT
+>r3795
+TTTTATCGACACCCTGGTCATCTGCACGGCAAGCG
+>r3796
+TCAGTGATACGCGCCGGACGCGCTTTCACTTCACC
+>r3797
+TTTCGGCGGTCGCTTTATGGCACAAATGCTGACCC
+>r3798
+GTCATGAAAGCGAGCGGCGTTGATACCCGCCAGTT
+>r3799
+TCCGCGCTTCATGGATCAGCTGCTGGGCGTTGTCT
+>r3800
+TATTCAGATTGGAAATGCCCTTGACCGGTAATTCG
+>r3801
+AGCGCGTGGTCACAACGTTACCGTTATCGATCCGG
+>r3802
+GGTATTATTCTCGCTGTCTTTGCTCTGCTGGCGAT
+>r3803
+CAGCCTCAAAGTAATAACAAATCTGCGCCAGCAAG
+>r3804
+CAAACTGGCGGGTATCAACGCCGCTCGCTTTCATG
+>r3805
+AGAATGAGTTGATCGATAGTTGTGATTACTCCTGC
+>r3806
+TCCGGAGATCGGTCGCCAGCTTTCTCCAGACGCGT
+>r3807
+GAGCCGGGCGACGCCATGAAGACCGCGAGTGATCG
+>r3808
+AACAGAATAACCACGAGGGTAACAAACTCCGCACC
+>r3809
+ATACCTTCCAGCGGCATGTAGGTTGTGCCGTTACC
+>r3810
+ATCGACTTACGTGTCTGCGGTGTTGCTAACTCGAA
+>r3811
+TCGAGTTAGCAACACCGCAGACACGTAAGTCGATA
+>r3812
+AGTAATATCAGCATGGCGCTTGCCGTGCAGATGAC
+>r3813
+CTGTGCGCTATGCCTATATTGGTTAAAGTATTTAG
+>r3814
+CCAGGTTGCCGCTACCCACGCGCGCTGCAAGACTG
+>r3815
+TCAGGAAGCGATGGAGCTTTCTTACTTCGGCGCTA
+>r3816
+CACCGCCAACGGCTCCAGTAAGCCTTCTTTCAGTT
+>r3817
+AGTCGTTTCATTATTGAAAATCGGCTGACCAAACC
+>r3818
+TGTCTTACACTGGTGAAGTGAAAGCGCGTCCGGCG
+>r3819
+GCCGCACGCTGCCGTAGCTTATCGTGCGCTGCGTG
+>r3820
+AGAACTCTTCCTGCATTGCCCGTTCAGCTCGCACA
+>r3821
+TTTTGTCACCCGCAGTGCGAAGATCCTCTCGGCGT
+>r3822
+AGATGGCAACTCATTTCATCCACCAGTTCACACAA
+>r3823
+AAGATCCGGGCGTGGTTTCTGTATCTGAAATCTAC
+>r3824
+TATTGGTGATGAAATCCCGCAGGAAATCCTGGAAG
+>r3825
+GCATGCTCGAGCGGCCGCCAGTGTGATGGATATCT
+>r3826
+AGTAATCCATCGACGAGGTGTTGGCCTTTTTGTTC
+>r3827
+ACTAAGCCAATACGTAAAGTATTCATCAAGATTTT
+>r3828
+AAAAAGGCCAACACCTCGTCGATGGATTACTACCA
+>r3829
+TCACGCATTGTCTGTTGCGTGGTTTCATCATCCAC
+>r3830
+CTTCCTGCGCGAAGGTTTCCACGTTGTTACGCCGA
+>r3831
+GGAAACGCTGAACATTGCCATGTTATTCAGATTGG
+>r3832
+CTGCAAGACTGGTACACAATGACTGAAATGAGGTT
+>r3833
+CCTGCCCGCCGATTTTGCTGCGTTGCGTAAATTGA
+>r3834
+CAGAAGCCAGGGCTATTTTACCGGCGCAGTATCGC
+>r3835
+CCAGCAAGCGACTGATGTTGATGGAGTTAGCAGAA
+>r3836
+ACTGGTTGGGTAAGAACTACCTGCAAAATCAGGAA
+>r3837
+GCGGTCATTGGGGCGACCACGGCTGGTGGAAACAA
+>r3838
+TAAGATCATCAGCTTCTACGCTAAGAAAGCACGCG
+>r3839
+ATCGCTAAATATCAATGCCGGATTGCCATCCGGCA
+>r3840
+AAATCGAAATCGTCTTCGCTGAAGGTTTCGGCCTG
+>r3841
+GGTTATCGAAGTGTTTGTGATTGGCGTCGGTGGCG
+>r3842
+ACATCACCCTCGGCGTTAAACTCTGCGGGCAGCAC
+>r3843
+TCATTCACGCCTGCTATTCCCGTCAGCTTGAGCTT
+>r3844
+AACTGGCAGATATCATTATGGCCTGCATGGCTATT
+>r3845
+GGCGCTTGCCGTGCAGATGACCAGGGTGTCGATAA
+>r3846
+AACACTCGCATGGTTGTTACCTCGTTACCTTTGGT
+>r3847
+ATATGGCTTGTTCCTCGGCACCGCGCATCCGGCGA
+>r3848
+AGAAATTCTCAATAAATGCGGTAACTTAGAGATTA
+>r3849
+TCTTCATGGCGTCGCCCGGCTCATGCAGGGGTTTG
+>r3850
+CTCCTTCGCTCAGGCTCGTGCTTGTGCGGAAGCGG
+>r3851
+CGGGTCCGGTTCGGTATAACCCATTTCCCGCGCCA
+>r3852
+CCGCCAGTTTGTCGCTGATGCGCATCAGGGAGCTA
+>r3853
+GCTGCGTTGATATCGCCCGCCATTTTTATACGAAA
+>r3854
+CTACGGTGGTGTACTGACGAAGGGAGGTCAATTTG
+>r3855
+TTATATACTTCGTAAACAATTGGTAACGTTTACAC
+>r3856
+GGTTGCAGCATTCAGACCGAAGAGTGCAAGACGCG
+>r3857
+TCATCAGTAACATCTATTCATTATCTCAATCAGGC
+>r3858
+TGATGTCGTTTTCTTCGATCATCAACTGCATACCA
+>r3859
+CTAAGCCCGAACCGATCGGCATATTCTTTTCCAGA
+>r3860
+CAAACGGCGTGGTTAGCGCCGATGTCAGCCATTCT
+>r3861
+GAACAAGCCATATTCGCCTGGATTCAACTGGTCAC
+>r3862
+GGCAGACCGAGTGACTTCGCCAGCAGACCCGCCGT
+>r3863
+CCCGCACTGTCAGGTGCGGGCTTTTTTCTGTGTTT
+>r3864
+ATTTTGCAGGTTCTCAATAACCGGTAATCCAGCCC
+>r3865
+TTATCGATCCGGTCGAAAAACTGCTGGCAGTGGGT
+>r3866
+TGTGCTTGTTATGGCGCGGCGATGACGGCGGTCCA
+>r3867
+TGAACTGGTGGATGAAATGAGTTGCCATCTGGTGC
+>r3868
+TGCCAGCCAAAAGCACTCTCAAAAATAGACCAAAT
+>r3869
+GCCTTATCCGGCCTACAAAATCGTGCAAATTCAAT
+>r3870
+CCGTTGATGGCGATAATCTGGGTACTGACCAGCCT
+>r3871
+GGGGCTGGATTACCGGTTATTGAGAACCTGCAAAA
+>r3872
+CTGGAGAAAGCTGGCGACCGATCTCCGGATAACGC
+>r3873
+GTCTGCGGTGTTGCTAACTCGAAGGCACTGCTCAC
+>r3874
+CGAAACAGCAGAGCAACGATCGCGCGCAGCAGATC
+>r3875
+AATCACCCCCACCTGACGCGAAAGGATCGCAGTTG
+>r3876
+GGAGCCGTCTTCTGGATGTGGGTTGCCGCATTTAT
+>r3877
+GCCGGATAAGGCGTTCACGCCGCATCCGGCATAAA
+>r3878
+TGTTCAGGCGTAAAAAGAAGAGATTGTTTTCGGCA
+>r3879
+GCAGCGAATTGGGCCTCTAGATGCATGCTCGAGCG
+>r3880
+CGAAATCTTTAAATGCCAGCGTTGGCCCGTGGAAC
+>r3881
+ATTTGCGAATGCTTTCCGGCTTGTATGGCGTACTG
+>r3882
+TGACCACTGACCGTCGTGCAGGAAACGTGGTACGG
+>r3883
+GGGTGAAGAACTTTAGCGCCGAAGTAAGAAAGCTC
+>r3884
+GTAATCATACTTAGCGTGACCGGGAAGTCGGTCAC
+>r3885
+ATGAGTGGCTGTGGGTGCTGGCGTATCCGGGGATT
+>r3886
+ACGGCTCCAGTAAGCCTTCTTTCAGTTCCAGGTAG
+>r3887
+CGCCAGTGTGGTCGCCTCGGAGAAACTCATGCCTT
+>r3888
+ACAACCAGGATCCAATGGCAGTAGATAAACTGGCG
+>r3889
+CCTTCCCGGCTCCGGTCGCCAATGTTGAAAGCGAT
+>r3890
+ATCTGCAGAATTCGCCCTTGTGATATCATCAGGGC
+>r3891
+TGAACATTGCCATGTTATTCAGATTGGAAATGCCC
+>r3892
+GCCGCCGCCCAGCCGGGATTTCCGCTGGCACAATT
+>r3893
+GATGTCGGTTGTCTGGAATTGTTCCACGGGCCAAC
+>r3894
+GCCTGGCTGTGGATGAATGCTATTTTTAAGACTTT
+>r3895
+GGCCTTCGCCACACGCGCGGCAAAGAGATCGTCGA
+>r3896
+TGCCTGATGCGCTACGCTTATCAGGCCTACGATCT
+>r3897
+AATACCGGAAATCCCCAAGCACCAGGTACGCTCAT
+>r3898
+CTTTTTTCTGTGTTTCCTGTACGCGTCAGCCCGCA
+>r3899
+GTGTAGACATCACCTTTAAACGCCAGAATTGCCTG
+>r3900
+CGTACTGCGCCCGCTCGATTTAATGCAGCCTTATC
+>r3901
+TCTTTCAGTTGCCAGATTTTGCGGCGGAACAACTC
+>r3902
+GCTCATTGGTGCCAGCCGTGATGAAGACGAATTAC
+>r3903
+GATGTAACCGGTCTGCCCTGATGATATCACAAGGG
+>r3904
+GTCAGCTTTGCGCAAGCCGTAACCCAGGGGTTAGG
+>r3905
+GAAATTGATGAGATGCTGAAGCTGGATTTTGTCAC
+>r3906
+AATCAACTTACGGTATTCCGGAATCTGCGCTGCGT
+>r3907
+AGCCCCTGATTTTTGCCTAACCCCTGGGTTACGGC
+>r3908
+TCCTGTGGCAGCACAACCAGGATCCAATGGCAGTA
+>r3909
+TGCCAGTTCCAGAATTTCGCCGATGTTACGGAAGC
+>r3910
+CCACACGCGCGGCAAAGAGATCGTCGAGCTGTGAC
+>r3911
+GTCTGGAAATCCTGAAACTGGTTCCGGGCCGTATC
+>r3912
+AGCTCCCTGATGCGCATCAGCGACAAACTGGCGGG
+>r3913
+GCGCCTGTTCAGTGGTCGCGGCGCTGATGGCGATG
+>r3914
+AGAACCACCAGCTCGCCTTTTTCATTACCGGCAGT
+>r3915
+GTGACCAGTTGAATCCAGGCGAATATGGCTTGTTC
+>r3916
+GGCAGAACGTGCTGATTTACCCTTGCTTTCGCATA
+>r3917
+GCAGTATGTTTTCCAATGAGGCGGGAATGGGGTCG
+>r3918
+AGTCTGACATGGTTAAAGTTTATGCCCCGGCTTCC
+>r3919
+CCAGGAAAAACTGGAAAAAATGATCGGCGATCTGC
+>r3920
+GATCGTAGGCCTGATAAGCGTAGCGCATCAGGCAG
+>r3921
+CTGGAAATCCTGAAACTGGTTCCGGGCCGTATCTC
+>r3922
+CGCGGCGGGATATACCTTAAGCCAGGCGATTACTA
+>r3923
+CTCATCAAACCCTGGCACTTGCTGGCTGATGATGT
+>r3924
+TTCACCTGCGAAAACGCTTGATTACCAAAGCCCGT
+>r3925
+AATGATCGGCGATCTGCTGTAATCATACTTAGCGT
+>r3926
+TTTATTCGCTAACTTCGCGTCTTGCACTCTTCGGT
+>r3927
+AAAATCCAGCTTCAGCATCTCATCAATTTCAGTCA
+>r3928
+CTGCAACCACTTCCGGTGCCGTTTCAACGTATGGC
+>r3929
+AGCGACTGTGTGCGAGCTGAACGGGCAATGCAGGA
+>r3930
+CCGCTTTTATGGCGAATCTGTCACAGCTCGACGAT
+>r3931
+ACAAAATCCAGCTTCAGCATCTCATCAATTTCAGT
+>r3932
+TAGCGTAGAAGCTGATGATCTTAAATTTGCCGTTC
+>r3933
+ACTTTGAACAGCGGATCATTACCATCCACTTCGGC
+>r3934
+ATCGGTATTCGCTTTGTATCAGTCAAGAATACGGC
+>r3935
+GAAAATATGGAGAAAAACGACAGGGAAAAAGGAGA
+>r3936
+ATTCTCGCTGTCTTTGCTCTGCTGGCGATCACTCG
+>r3937
+CATAATGATATCTGCCAGTTGCCACATCAGCGGAA
+>r3938
+GCCAGTTTGTCGGTCGCGTCCACGATCTGCTGCGC
+>r3939
+TAAATGTAGTTGGCAACGATGGAGCTGAAGGCAAA
+>r3940
+AGTTGTTCCGCCGCAAAATCTGGCAACTGAAAGAG
+>r3941
+CTGCCAGTCATGAAAGCGAGCGGCGTTGATACCCG
+>r3942
+GCGTCCTTCACACCTTCCAGCGTCTCTTTAATAGA
+>r3943
+TTCGGGCTTAGGCTCCAGCGCCTGTTCAGTGGTCG
+>r3944
+CGGATACGCCAGCACCCACAGCCACTCATCAAACC
+>r3945
+GAAAACGCCCTGGCCTTCTATAGCCACTATTATCA
+>r3946
+TAGAAGCGCGTGGTCACAACGTTACCGTTATCGAT
+>r3947
+CTGTATCAATTCTGGGGAGATATCATCACCAACAA
+>r3948
+TGAGTAAATTAAAATTTTATTGACTTAGGTCACTA
+>r3949
+ATGCTATTTTTAAGACTTTTGCCAAACTGGCGGAT
+>r3950
+GTTCATACCATTGCCAGTGATTATCTACGCCAGCG
+>r3951
+TGCAGGTAGTTCTTACCCAACCAGTCGGCAACGCG
+>r3952
+GGCGCGTATCACTGAGTCCGAGTTCCTGTGGCAGC
+>r3953
+AGCCGGAATGCGGCTTGCCGCAATACGGCGGGTGG
+>r3954
+GTATTCATCAAGATTTTTCCGTTTAAACAGTCTCG
+>r3955
+CACACGCGGCCAGTTGTTTGGCTGGCTAACATCCA
+>r3956
+CACGGGCGACATCTGGCAGGCTTCATTCACGCCTG
+>r3957
+CACACGCGGCCAGTTGTTTGGCTGGCTAACATCCA
+>r3958
+GGAAGCCTGGCAGTAACCGTTCACGGTAGGGTTCA
+>r3959
+CAGTTTCTGCGTTCCGCAAAGCGACTGTGTGCGAG
+>r3960
+AACAGCTGGAAAAAGAAGGTATTAACTGTAACCTG
+>r3961
+GCTCAGGGATCTTCTGAACGCTCAATCTCTGTCGT
+>r3962
+ACAACGTTACCCTCAGCGTCCTTCACACCTTCCAG
+>r3963
+GATGCAGGTATTAGCAACGATCGTATTCTGATCAA
+>r3964
+GGTAGATTTCAGATACAGAAACCACGCCCGGATCT
+>r3965
+GGCACCAATGAGCGTACCTGGTGCTTGGGGATTTC
+>r3966
+GCGCGTTACTCATCAGATGCTGTTCAATACCGATC
+>r3967
+CAGTTGCTCCAGCAGCGCACCGCCAACGCCACCGA
+>r3968
+CTGCTTTTCGGCGCAGGTTGTTGGTTCACTTTTCG
+>r3969
+CCCCAACAAACTGATGCCATGCAGGACATGTTTTA
+>r3970
+TCCATGAAACGCATTAGCACCACCATTACCACCAC
+>r3971
+TATCGGGCAACTTCCCCACGTCATTTGGTCTATTT
+>r3972
+GACGTGAACTGGAGCTGGCGGATATTGAAATTGAA
+>r3973
+GTTGCTCTGGTTTGGTCAGCCGATTTTCAATAATG
+>r3974
+ACAAGGCGATAATGTGGTGATAAATCTGGCGTCAG
+>r3975
+TGATTGGCGTCGGTGGCGTTGGCGGTGCGCTGCTG
+>r3976
+CCAGCTTCAGCATCTCATCAATTTCAGTCAGGCTG
+>r3977
+TTTTAATTTACTCACGGCAGGTAACCAGTTCAGAA
+>r3978
+GGCGGTATCCGGCTTGTCACACAGAGCGAACAAAG
+>r3979
+AAAGATCTGTATCAATTCTGGGGAGATATCATCAC
+>r3980
+AGAACGTGATGCCAATGGGCAGTTTCGTGGCGGAC
+>r3981
+ATCCCGCAGGAAATCCTGGAAGAGCGCGTACGTGC
+>r3982
+CGTTATCCAATGCGATGGATGTTAGCCAGCCAAAC
+>r3983
+AACTGGCGGGTATCAACGCCGCTCGCTTTCATGAC
+>r3984
+CACGCGGCCAGTTGTTTGGCTGGCTAACATCCATC
+>r3985
+CCGACTTCCTGCGCGAAGGTTTCCACGTTGTTACG
+>r3986
+GGTGTCATAGGAAAGACGCGCATCAACTTCAGTTG
+>r3987
+GGTAATGGTGCGGGGGTGAAGAACTTTAGCGCCGA
+>r3988
+TATGAACAAAACCTTCCTGATTTTGCAGGTAGTTC
+>r3989
+GAAATTGAATGCCGAGATTATCAAGCCAGTGTTCC
+>r3990
+GCGAGAGCAGTAATATGGCGGTCAAATTGGTAATA
+>r3991
+CGGGCTTTTTTCTGTGTTTCCTGTACGCGTCAGCC
+>r3992
+GCGGTATCCGGCTTGTCACACAGAGCGAACAAAGT
+>r3993
+TTGGTAATAGCCATGCAGGCCATAATGATATCTGC
+>r3994
+TGGATAACTTCTGCGTAGCATACATGAGGTTTCGT
+>r3995
+AGATGCGCCAGATCAGCCTGCATTTTGTACCAACT
+>r3996
+GAAATGGGGATACGTCTTGAGAATGCCCGAGGGAA
+>r3997
+GTAGTCGGAACCGTTGCGTCCCAGAACCACCAGCT
+>r3998
+AAGCACAATGATCATCGTGGCGATCATCGTCCGGG
+>r3999
+GCAACTGACTGGTTTTAATAGCGAAGGTTACTTCT
+>r4000
+TCAAATTGGTAATAGCCATGCAGGCCATAATGATA
+>r4001
+AACATGGCAATGTTCAGCGTTTCCGGCCCGGGGAT
+>r4002
+AGGGCGTATCTCCGGCAGCATTCATTACGACAACG
+>r4003
+ATCAAACTGGCTTCTACCTGGCAGGGTATCCGTGC
+>r4004
+GTTCTTCCTGCCAGTTTTCCAGATTAAGGCCATGT
+>r4005
+CACCATATCCGCGCAGTACCAACGGCAGCGGCTGA
+>r4006
+CGGTAAAACGTTTTATTGCTGCGACCAACGTGAAC
+>r4007
+GTTACTCCTTTTATCATTGCCCGTTATGGGTCGAT
+>r4008
+CGCTCGATTTAATGCAGCCTTATCGTCTGGAAATG
+>r4009
+GCTGCGGAAATTACGCTAGTCCCGTCAGTAAAATT
+>r4010
+TGCCGGATGCGGAGGCCAGGACGCAGCTGCCGCTG
+>r4011
+ATATGCCGACTTCCTGCGCGAAGGTTTCCACGTTG
+>r4012
+TCGCATTGGATAACGTCGCCTGAGTCGCTTTGGGT
+>r4013
+TCAGACTGATGACAAACGCAAAACTGCCTGATGCG
+>r4014
+GGTACGTAGCAGATCAGCAAAGACACCGGCAGCTG
+>r4015
+CCTGTGGTTCATACCATTGCCAGTGATTATCTACG
+>r4016
+GTTCACCAAAGCCTGGCATCTCGCGGTCCGCTACT
+>r4017
+CGCAGTATGTTTTCCAATGAGGCGGGAATGGGGTC
+>r4018
+TGTCTCTGCCGCCTCAACCGTGACTACATCTCCGA
+>r4019
+ATTATCGCCTTGTGCTGCGAGCGCCTCGTTCAGCT
+>r4020
+CATCAGGGAGCTAATCTGCGGGGGCGTCAGTTTCC
+>r4021
+CGGCAGCATTCATTACGACAACGTGGCACCGTGTT
+>r4022
+ATCCTCTATCCACGAGGCAAAATCAGTCCACTGCA
+>r4023
+GGCTGCGACCGTCTGACCATCGCACCGGCACTGCT
+>r4024
+CTTTATCCTGATAAACGCCGCTGGATGCGCGATCA
+>r4025
+TACCCTCGTGGTTATTCTGTTTGCCTTCAGCTCCA
+>r4026
+AAATTACGCTAGTCCCGTCAGTAAAATTACAGATA
+>r4027
+GTCAGGCCCCGGACGATGATCGCCACGATGATCAT
+>r4028
+ACCGGTTACATCCCCCTAACAAGCTGTTTAAAGAG
+>r4029
+GCGCAGTACCAACGGCAGCGGCTGATAATAGTGGC
+>r4030
+CTTGAGCTTGCCGCGAAGCTGATGAAAGATGTTAT
+>r4031
+CAATGCACCATCAACAGGTGTCACCGCCGCCCCGA
+>r4032
+GGGCTATTTTACCGGCGCAGTATCGCCGCCAGGAT
+>r4033
+GATGCTGTCGCCTGGGCGAAACAGCAGAGCAACGA
+>r4034
+ATATGTTTATTCTTCAACCAGCTTTGCTGACGCTT
+>r4035
+ACTCCGCTGAAAATTATGCCGTAGGCGATGAGCAA
+>r4036
+ATTATGAATGGCGAGGCAATCGCTGGCACCCACAT
+>r4037
+ATGAAGAAAATATGGAGAAAAACGACAGGGAAAAA
+>r4038
+CCACTGGCGTGCGCGTTACTCATCAGATGCTGTTC
+>r4039
+CCGAGGGTGATGTCGCCGCTTTTATGGCGAATCTG
+>r4040
+GTTATCGATCCGGTCGAAAAACTGCTGGCAGTGGG
+>r4041
+TCGCTGAACCCTACCGTGAACGGTTACTGCCAGGC
+>r4042
+AACATCAGTCGCTTGCTGGCGCAGATTTGTTATTA
+>r4043
+CGTACTCTTTCTTATCGGTATTCGCTTTGTATCAG
+>r4044
+TTCCTTGCGCTGCCGGATGCGGAGGCCAGGACGCA
+>r4045
+CAATAGCTTACGCGCCACATCCATGCCAGAAAGAT
+>r4046
+CGCCCAGCCGGGATTTCCGCTGGCACAATTGAAAA
+>r4047
+TTGCAGGCCGAAACCTTCAGCGAAGACGATTTCGA
+>r4048
+TATTGAGAATTTCTCCTTTTTCCCTGTCGTTTTTC
+>r4049
+GGAGATGTAGTCACGGTTGAGGCGGCAGAGACATT
+>r4050
+CAGGTACGCTCATTGGTGCCAGCCGTGATGAAGAC
+>r4051
+GCCCTTGACCGGTAATTCGTCTTCATCACGGCTGG
+>r4052
+CCCGTTGATGGCGATAATCTGGGTACTGACCAGCC
+>r4053
+TCTTCACGCGGCAGACGCCATCTTCATCAATATTG
+>r4054
+TATCGGCAAAGCGTCCGAGGTTGTTGAGACTGAAT
+>r4055
+TCACAGCTCGACGATCTCTTTGCCGCGCGTGTGGC
+>r4056
+ACTGATGCCATGCAGGACATGTTTTATTTGGGCAA
+>r4057
+CTTTTATGGCGAATCTGTCACAGCTCGACGATCTC
+>r4058
+GCCAGGCGGTTTAACCTCATTTCAGTCATTGTGTA
+>r4059
+GCTGGCGTAGATAATCACTGGCAATGGTATGAACC
+>r4060
+CAACATAGCGCAAAACTTTTCCTTCATCACGGGCC
+>r4061
+CACAAATCCGGTACGAAAAGTGAACCAACAACCTG
+>r4062
+GAATGGTCACTGGCTTATCGCCCGCAATATGGGTC
+>r4063
+CCGGAGAATGCCCGCCAGGCAATTCTGGCGTTTAA
+>r4064
+CATGTGGTCAGCCGGAATGCGGCTTGCCGCAATAC
+>r4065
+TCTACCAGTACTACAAAGAGCATGGTTATGAAACC
+>r4066
+ATGTCAGCCATTCTTCCAGCGCAGGGATGCCTTTA
+>r4067
+TTATCTCAATCAGGCCGGGTTTGCTTTTATGCAGC
+>r4068
+CCGCCAGTTTATCTACTGCCATTGGATCCTGGTTG
+>r4069
+GATGATATCACAAGGGCGAATTCTGCAGATATCCA
+>r4070
+CAATGACCGCCATCCCAGTAATAGCCACGATTATC
+>r4071
+TGCTGAACCCGGTCATTGTTGACTGTACTTCCAGC
+>r4072
+GCTCGGAGATGTAGTCACGGTTGAGGCGGCAGAGA
+>r4073
+TCATATTTGCCGGCTGGATACGGCGGGCGCACGAG
+>r4074
+ACAGCCTGGCTGGAAGTACAGTCAACAATGACCGG
+>r4075
+GTAAACAATTGGTAACGTTTACACAGGAAAGTCAT
+>r4076
+TGCTGTAATCATACTTAGCGTGACCGGGAAGTCGG
+>r4077
+ACGCCTGAACAACCCTAAAGCGATCTGGTGTCTGC
+>r4078
+TGATAATCTCGGCATTCAATTTCTTCGGCTTCACC
+>r4079
+CACAGTCGCTTTGCGGAACGCAGAAACTGATACTG
+>r4080
+AATTGACCTCCCTTCGTCAGTACACCACCGTAGTG
+>r4081
+GCTTTTATGCAGCCCGGCTTTTTTTATGAAGAAAA
+>r4082
+TATCTACGCCAGCGTAAACTCGGCGTGCGCCCGGT
+>r4083
+TGTTTCCTGTACGCGTCAGCCCGCACCGTTACCTG
+>r4084
+TGCCTGGCATTGCTTTCCAGAATATCGGCAACCCG
+>r4085
+GAGCAGGTCAGCTTTGCGCAAGCCGTAACCCAGGG
+>r4086
+TCTCCGGATATCGACCCATAACGGGCAATGATAAA
+>r4087
+GGATGTAACCGGTCTGCCCTGATGATATCACAAGG
+>r4088
+GTCTCTGCCGCCTCAACCGTGACTACATCTCCGAG
+>r4089
+AAATACGGGCGCGTGACATCGCTGCAAAGACGCGC
+>r4090
+GCGAAACAGCAGAGCAACGATCGCGCGCAGCAGAT
+>r4091
+ATTACTACCATCAGTTGCGTTATGCGGCGGAAAAA
+>r4092
+ATCACGGCTGGCACCAATGAGCGTACCTGGTGCTT
+>r4093
+CAGCGTCCTTCACACCTTCCAGCGTCTCTTTAATA
+>r4094
+CGCTACGAGGTACTTGGATAACTTCTGCGTAGCAT
+>r4095
+CAAGGACTGGATATGCTGATTCTTATTTCACCTGC
+>r4096
+GGTTGCCGCATTTATCGGCATGGCGACCTCGTTTG
+>r4097
+GAAGATCGTAGGCCTGATAAGCGTAGCGCATCAGG
+>r4098
+GATAGAGGATAACCACTTTCACATTCGGTAAACCG
+>r4099
+GAAGATATAAGAAAGCGAACCTGAAAGAATGCCGG
+>r4100
+CATCGCTTCCTGATAGGACATCGACTTCAACAACC
+>r4101
+TTGCTTGCCAAGCTCCTGGCAAAAACGCTCCCAGC
+>r4102
+ACCGAGACAACCAACTGGTTACGTGCTTCTTGCGG
+>r4103
+TCCCGCCTCATTGGAAAACATACTGCGCTGAAAAC
+>r4104
+TAACGAGACTGTTTAAACGGAAAAATCTTGATGAA
+>r4105
+CAGGGTATCCGTGCTGCAGAACAGCTGGAAAAAGA
+>r4106
+CGCCGCACGTACGCGCTCTTCCAGGATTTCCTGCG
+>r4107
+TGCGCTGGCAATTACCGCCGGTGGACCTGGAGCCG
+>r4108
+GGAACACTGGCTTGATAATCTCGGCATTCAATTTC
+>r4109
+GCGGTGCCGAGGAACAAGCCATATTCGCCTGGATT
+>r4110
+AATGAGAGAAGGGTTGGTTGTGGCATCCTGCGGTT
+>r4111
+TCATGACTGGCAGCCAAATTTCACACCGGAGAATG
+>r4112
+ATCCCTGAGCAATGGCGACAATGTTGATATTGGCG
+>r4113
+GCGAATCTGTCACAGCTCGACGATCTCTTTGCCGC
+>r4114
+ACCATGCTCTTTGTAGTACTGGTAGATTTCAGATA
+>r4115
+AGCAAATTCCAGTGGCGATGACTCTGGAAAAGAAT
+>r4116
+AGGCTTCATTCACGCCTGCTATTCCCGTCAGCTTG
+>r4117
+TGGCGGATATTGAAATTGAACCTGTGCTGCCCGCA
+>r4118
+TGAGCTTGCCGCGAAGCTGATGAAAGATGTTATCG
+>r4119
+TAAACAATTGGTAACGTTTACACAGGAAAGTCATC
+>r4120
+TCAGAAGTTCGGCAAAAATAAGTTCGGCATCGCTG
+>r4121
+TGTTTGATCCGTTGCGTTATCCGGAGATCGGTCGC
+>r4122
+CGCGAAGTTAGCGAATAAAAAAATCCCCCCAGGCG
+>r4123
+GGCGACCACACTGGCGCGGGAAATGGGTTATACCG
+>r4124
+CGGCAACCTGGCCGGCGTTGCGCTGGCAATTACCG
+>r4125
+TTCTTTGATGAAGCTTCCTCCAGCAATGGCGAACT
+>r4126
+AGTTCAGGCGAACGCCGTTGCGCGAGCCCTGAGTT
+>r4127
+CCAGCGCCTGACAGGCATCGAAATCGCCGTCGATG
+>r4128
+GGTCGCTTTATGGCACAAATGCTGACCCATATTGC
+>r4129
+ATCGCTTCCTGATAGGACATCGACTTCAACAACCT
+>r4130
+AAAAATCTGGCATGCATATCCCTCTTATTGCCGGT
+>r4131
+GTTTATCTACTGCCATTGGATCCTGGTTGTGCTGC
+>r4132
+GGATAACGCAACGGATCAAACACCGGGCGCACGCC
+>r4133
+GCCTTCGAGTTAGCAACACCGCAGACACGTAAGTC
+>r4134
+GAACAAAGTCGGGCCGGAGCCGGAGATACCGCTCG
+>r4135
+TAAACTGTCTTACACTGGTGAAGTGAAAGCGCGTC
+>r4136
+TTTTATGGCGAATCTGTCACAGCTCGACGATCTCT
+>r4137
+GGCATTTCCAATCTGAATAACATGGCAATGTTCAG
+>r4138
+CTTGATAATCTCGGCATTCAATTTCTTCGGCTTCA
+>r4139
+CAAAAATAAGTTCGGCATCGCTGATATTGGGTAAA
+>r4140
+TTGCACTCTTCGGTCTGAATGCTGCAACCACTTCC
+>r4141
+ATTATCCGGCATTGACTACAAACTTAACGTTGTTC
+>r4142
+GTACAGAACAGTTTTTCTTGCAGTGGACTGATTTT
+>r4143
+TTCGATTTTGCCCAACAGCATTTGCGAATGCTTTC
+>r4144
+CGCTTTGCCGATAAGCTGCCGTCAGAGCCACGGGA
+>r4145
+ATCCCCAGCCCGCGCGCCATATACCATGCCGGTCC
+>r4146
+ATAAACGCCGAGAGGATCTTCGCACTGCGGGTGAC
+>r4147
+TATCTCAACTGAAGTTGATGCGCGTCTTTCCTATG
+>r4148
+ATTTTGCCTCGTGGATAGAGGATAACCACTTTCAC
+>r4149
+GGTGCCGCCGATGACCGTTGCGAAGGTGCAGATCC
+>r4150
+TAGCGCGTGGTGGTCAACGGGCTTTGGTAATCAAG
+>r4151
+AAACGTGGTACGGTATCGTTCACGTTGGTCGCAGC
+>r4152
+TTTTCTTTTGATTTTCCCCCGCTGGTAACAGGTAT
+>r4153
+GCTGACCTGCTCATTGTGATCTTTCAGATTGTAGA
+>r4154
+ATCGACGAGGTGTTGGCCTTTTTGTTCGGCGTAAC
+>r4155
+ACGTAAAGTATTCATCAAGATTTTTCCGTTTAAAC
+>r4156
+TTGCCAACTACATTTATGCCGAAAACAATCTCTTC
+>r4157
+CCCCTTCGCTCTCCGCCAGCTCTTTCAGCAGTGCC
+>r4158
+GGCGAGCTGGTGGTTCTGGGACGCAACGGTTCCGA
+>r4159
+TAAACGCTACGAACAACGTTAAGTTTGTAGTCAAT
+>r4160
+ACAACCTCGCATCGGGCACCTGACGCGGATCGCAG
+>r4161
+ATGTTGACGGTGTTTATACCTGCGATCCGCGTCAG
+>r4162
+TCGCATCGGGCGTTACGTCACGACGCGCAGGGCCA
+>r4163
+TGAACGCTCAATCTCTGTCGTGGTCAATAACGATG
+>r4164
+TTCACGAGCGAGAATCAATAGCTTACGCGCCACAT
+>r4165
+CCGCAATATGGGTCAGCATTTGTGCCATAAAGCGA
+>r4166
+CCCGCACCGTTACCTGTGGTAATGGTGATGGTGGT
+>r4167
+GCGTAAACTCGGCGTGCGCCCGGTGTTTGATCCGT
+>r4168
+TGGTCACAACGTTACCGTTATCGATCCGGTCGAAA
+>r4169
+AGCAACTGAATGCAGTACGGTACGCTGGCAAAAAT
+>r4170
+TGCTGAATCCACCCGCCGTATTGCGGCAAGCCGCA
+>r4171
+CTCCGCTGCGGTGCTGGCGGCCTGTTTACGCGCCG
+>r4172
+TCCCCCCGCTCGAAGGGATAAGATTGTTAACAACG
+>r4173
+GCACCGCGCATCCGGCGAAATTTAAAGAGAGCGTG
+>r4174
+CGTAACCCAGGGGTTAGGCAAAAATCAGGGGCTGT
+>r4175
+AGTTTCGTGGCGGACCGGCATGGTATATGGCGCGC
+>r4176
+GTTAGCGAATAAAAAAATCCCCCCAGGCGGGGGGA
+>r4177
+GGTTGCAGCATTCAGACCGAAGAGTGCAAGACGCG
+>r4178
+CGCATCCGGCAGCGCAAGGAATTGTCCAGATGATT
+>r4179
+GGATAATGCCGGATGGCAATCCGGCATTGATATTT
+>r4180
+TTCACGTCCCGTTTCACGAGCGAGAATCAATAGCT
+>r4181
+TCCCGCCTCATTGGAAAACATACTGCGCTGAAAAC
+>r4182
+CGTGCAGGAAACGTGGTACGGTATCGTTCACGTTG
+>r4183
+TCCAGTGCCAATATGAGCGTCGGGTTTGATGTGCT
+>r4184
+ATTGGTTAAAGTATTTAGTGACCTAAGTCAATAAA
+>r4185
+CGTTGATATTGCTGAATCCACCCGCCGTATTGCGG
+>r4186
+TTTTTAAGACTTTTGCCAAACTGGCGGATGTAGCG
+>r4187
+TCCACGCTCTCTTTAAATTTCGCCGGATGCGCGGT
+>r4188
+AATTCAGCCCCAGCGCCACTTTCAGTTCTTCATCA
+>r4189
+GAATTACCGGTCAAGGGCATTTCCAATCTGAATAA
+>r4190
+GTCACCGCCGCCCCGAGCACATCAAACCCGACGCT
+>r4191
+GCAGCTTATCGGCAAAGCGTCCGAGGTTGTTGAGA
+>r4192
+TCGTGCAAATTCAATATATTGCAAGAAGATCGTAG
+>r4193
+CGTTTTATTGCTGCGACCAACGTGAACGATACCGT
+>r4194
+CGATGGAGCTGAAGGCAAACAGAATAACCACGAGG
+>r4195
+GTGCCGGTGCGATGGTCAGACGGTCGCAGCCTGCC
+>r4196
+AGCATTTGCGAATGCTTTCCGGCTTGTATGGCGTA
+>r4197
+AGACCGGTTACATCCCCCTAACAAGCTGTTTAAAG
+>r4198
+GGGCCAGTTCCGCCCGTGGTGAGCACCAGATGGCA
+>r4199
+TCAGGTTACAGTTAATACCTTCTTTTTCCAGCTGT
+>r4200
+GAATTGCCTGGCGGGCATTCTCCGGTGTGAAATTT
+>r4201
+CAAACTCCGCACCCCAGGAACCCATTAGCACCCGC
+>r4202
+TGTCACCCGCAGTGCGAAGATCCTCTCGGCGTTTA
+>r4203
+GTTATCCTCTATCCACGAGGCAAAATCAGTCCACT
+>r4204
+TGGCTTATCGCCCGCAATATGGGTCAGCATTTGTG
+>r4205
+TTCTATAGCCACTATTATCAGCCGCTGCCGTTGGT
+>r4206
+AGCACCCGCATCGCCTTCTGGATAAGCTGAATACC
+>r4207
+GCCGAAGATATAAGAAAGCGAACCTGAAAGAATGC
+>r4208
+ACATCCGTCCAGATCTCGCAACAATCGGCGCGTAA
+>r4209
+TAATCTGCGGGGGCGTCAGTTTCCGCGCTTCATGG
+>r4210
+AGGTATTCAGCTTATCCAGAAGGCGATGCGGGTGC
+>r4211
+CGTCTCTTTAATAGACTTCGGTTGACCGGGTAAGT
+>r4212
+CCTTCCTGATTTTGCAGGTAGTTCTTACCCAACCA
+>r4213
+AGACATCACCTTTAAACGCCAGAATTGCCTGGCGG
+>r4214
+AAGACTGGTACACAATGACTGAAATGAGGTTAAAC
+>r4215
+CTCGCACTTTCCCTGGTTCTGGTCGCTCCCATGGC
+>r4216
+GGCAACGATGGAGCTGAAGGCAAACAGAATAACCA
+>r4217
+GGAAGGCAAACGCCGCACGTACGCGCTCTTCCAGG
+>r4218
+TGATTACTCCTGCGAAACATCATCCCACGCGTCTG
+>r4219
+TTCACAGGTTACTCCTTTTATCATTGCCCGTTATG
+>r4220
+GACCACCACGCGCTATACGCTGCCGGAGCTGTTAG
+>r4221
+TATGCCTATATTGGTTAAAGTATTTAGTGACCTAA
+>r4222
+CAAAACTGCCTGATGCGCTACGCTTATCAGGCCTA
+>r4223
+ATTTGGCTGCCAGTCATGAAAGCGAGCGGCGTTGA
+>r4224
+ACGCTACCTCTTCTGAAACCTGTCTGTCACTCCCT
+>r4225
+ATAACATGGCAATGTTCAGCGTTTCCGGCCCGGGG
+>r4226
+CGGATAACGCAACGGATCAAACACCGGGCGCACGC
+>r4227
+AGCCGTTCCGTCACCGCCAACGGCTCCAGTAAGCC
+>r4228
+GGGCATTTCCAATCTGAATAACATGGCAATGTTCA
+>r4229
+GAAAGGATCGCAGTTGGTACAAAATGCAGGCTGAT
+>r4230
+AATCGGCGGGCAGGTTATGCGAAAGCAAGGGTAAA
+>r4231
+AGTACCAACGGCAGCGGCTGATAATAGTGGCTATA
+>r4232
+TGTCGTAATGAATGCTGCCGGAGATACGCCCTTCC
+>r4233
+TTCTGCCGGAGCGTACTCTTTCTTATCGGTATTCG
+>r4234
+CAATGGGCAGTTTCGTGGCGGACCGGCATGGTATA
+>r4235
+AAAGCTGGCGACCGATCTCCGGATAACGCAACGGA
+>r4236
+TGACGAAGGGAGGTCAATTTGTCCGTCATGATAGT
+>r4237
+ACCCGCATCGCCTTCTGGATAAGCTGAATACCTTC
+>r4238
+TTACACTGGTGAAGTGAAAGCGCGTCCGGCGCGTA
+>r4239
+CAGTTGTTATTCTCCGCAATCCTAATCTCTAAGTT
+>r4240
+AGATTTGTTATTACTTTGAGGCTGTCGCACAGTTG
+>r4241
+ATCGCTTTAGGGTTGTTCAGGCGTAAAAAGAAGAG
+>r4242
+CAGCGCGTTGCCGACTGGTTGGGTAAGAACTACCT
+>r4243
+AAACACCGTCAACATCCGTCCAGATCTCGCAACAA
+>r4244
+GTGTCATAGAGGAATTTACGCCGCGATTTTTCCGC
+>r4245
+CCCAGGGGTTAGGCAAAAATCAGGGGCTGTTTTTT
+>r4246
+CGAGCATGCATCTAGAGGCCCAATTCGCTGCGTTG
+>r4247
+AATAAATGCGGTAACTTAGAGATTAGGATTGCGGA
+>r4248
+TCGGTGAAGCCGAAGAAATTGAATGCCGAGATTAT
+>r4249
+TAGACCAAATGACGTGGGGAAGTTGCCCGATATTC
+>r4250
+ATTTTGGCGGGGGCAGAGAGGACGGTGGCCACCTG
+>r4251
+TAGCCCTGGCTTCTGCCGTCGAGACTTTAATCCCC
+>r4252
+ATTGCTCGGAGATGTAGTCACGGTTGAGGCGGCAG
+>r4253
+TTAGTTTCCATCTCTGATCGCGCATCCAGCGGCGT
+>r4254
+GAACTTCATCAATTCATCACCAGCATTGAGCAGAT
+>r4255
+GCAGACGCCATCTTCATCAATATTGCCAACATAGC
+>r4256
+CCTGCCAGCCAAAAGCACTCTCAAAAATAGACCAA
+>r4257
+TTTTTCCGCACGACCTGCCGGAATTCAGCCTGACT
+>r4258
+CGCGCCATATACCATGCCGGTCCGCCACGAAACTG
+>r4259
+CCACAGCCTGGCTGGAAGTACAGTCAACAATGACC
+>r4260
+AAGGGCGAATTCTGCAGATATCCATCACACTGGCG
+>r4261
+TCCCCGATGAGCAGGCGATCATCGAGCAAACGTTG
+>r4262
+CTGATTTACCCTTGCTTTCGCATAACCTGCCCGCC
+>r4263
+CCCGGCTCATGCAGGGGTTTGTCCCGTTGATGGCG
+>r4264
+CCGATTGTTGCGAGATCTGGACGGATGTTGACGGT
+>r4265
+TCCGCAGACACCAGATCGCTTTAGGGTTGTTCAGG
+>r4266
+CGCCACGGCAAATCAGCGCAGCGTTGATGCTATCC
+>r4267
+CTATTATCAGCCGCTGCCGTTGGTACTGCGCGGAT
+>r4268
+TCTCGCCTGTGGTTCATACCATTGCCAGTGATTAT
+>r4269
+ACCGCCAACGCCACCGACGCCAATCACAAACACTT
+>r4270
+CCATTTTTCACTTTGAACAGCGGATCATTACCATC
+>r4271
+GTCAGTAAAATTACAGATAGGCGATCGTGATAATC
+>r4272
+GAACAAAGTCGGGCCGGAGCCGGAGATACCGCTCG
+>r4273
+GCCTTCTGGATAAGCTGAATACCTTCCAGCGGCAT
+>r4274
+TGACCGTTGCGAAGGTGCAGATCCGCAGACACCAG
+>r4275
+ACGCCAGCACCCACAGCCACTCATCAAACCCTGGC
+>r4276
+CAGCGAGAATAATACCTGTTACCAGCGGGGGAAAA
+>r4277
+GCCGGCGTGTTAGAAGCGCGTGGTCACAACGTTAC
+>r4278
+GGGGGGATCAGACTGATGACAAACGCAAAACTGCC
+>r4279
+TGGTTTGGTCAGCCGATTTTCAATAATGAAACGAC
+>r4280
+TTACGCAATCATCTTCCGAATACAGTATCAGTTTC
+>r4281
+GAAAGCAAGGGTAAATCAGCACGTTCTGCCAGCTC
+>r4282
+AGCTATTGATTCTCGCTCGTGAAACGGGACGTGAA
+>r4283
+ACAGCCTGGCTGGAAGTACAGTCAACAATGACCGG
+>r4284
+CACCAACAAGCTGAACGAGGCGCTCGCAGCACAAG
+>r4285
+GAACAATTCCAGACAACCGACATCGCTTTCAACAT
+>r4286
+ACTCCATCAACATCAGTCGCTTGCTGGCGCAGATT
+>r4287
+CGACGGTCAGTGGTCACCCAAAGCGACTCAGGCGA
+>r4288
+CAGATCCCTTGCCTGATTAAAAATACCGGAAATCC
+>r4289
+TCTGTCGTGGTCAATAACGATGATGCGACCACTGG
+>r4290
+CGCTTTGCCGATAAGCTGCCGTCAGAGCCACGGGA
+>r4291
+TTCGATAGCCCCTTCGCTCTCCGCCAGCTCTTTCA
+>r4292
+TACCTTTGGTCGAAAAAAAAGCCCGCACTGTCAGG
+>r4293
+CCTTTTATCATTGCCCGTTATGGGTCGATATCCGG
+>r4294
+GCCCGCACCTGACAGTGCGGGCTTTTTTTTCGACC
+>r4295
+CGATCACTCGCGGTCTTCATGGCGTCGCCCGGCTC
+>r4296
+ACAGGCGCTGATCCTTAACTTACCCGGTCAACCGA
+>r4297
+CTGGAAAACTAAATGAAACTCTACAATCTGAAAGA
+>r4298
+TAGCGAATAAAAAAATCCCCCCAGGCGGGGGGATC
+>r4299
+CGCCCGGCTCATGCAGGGGTTTGTCCCGTTGATGG
+>r4300
+CCGAGATTATCAAGCCAGTGTTCCTCGATGAGAAG
+>r4301
+ACCATTAGCGGTCAGGATGCTTTACCCAATATCAG
+>r4302
+TTTTCTTCGATCATCAACTGCATACCACCAAGAAA
+>r4303
+CGTTACCGTTATCGATCCGGTCGAAAAACTGCTGG
+>r4304
+AGAGATGGAAACTAAGCCAATACGTAAAGTATTCA
+>r4305
+TTATGCGAAAGCAAGGGTAAATCAGCACGTTCTGC
+>r4306
+TTAATTTACTCACGGCAGGTAACCAGTTCAGAAGC
+>r4307
+AAGTTACCGCATTTATTGAGAATTTCTCCTTTTTC
+>r4308
+GCGAATAAAAAAATCCCCCCAGGCGGGGGGATCAG
+>r4309
+CGGGTGCTAATGGGTTCCTGGGGTGCGGAGTTTGT
+>r4310
+GCGACCTCGTTTGCCGAATGTTCCCTCGCACAGCT
+>r4311
+CAGGTTATCGAAGTGTTTGTGATTGGCGTCGGTGG
+>r4312
+CTTCACGCGGCAGACGCCATCTTCATCAATATTGC
+>r4313
+AGCGATTGCCTCGCCATTCATAATGTTGTTTCCAC
+>r4314
+ATCCAGCTTCAGCATCTCATCAATTTCAGTCAGGC
+>r4315
+CGAGAAAATGTCGATCGCCATTATGGCCGGCGTGT
+>r4316
+GCAATGGTATGAACCACAGGCGAGAGCAGTAATAT
+>r4317
+GGCGACATCACCCTCGGCGTTAAACTCTGCGGGCA
+>r4318
+GGCGATCGTGATAATCGTGGCTATTACTGGGATGG
+>r4319
+TTTTCTTCGATCATCAACTGCATACCACCAAGAAA
+>r4320
+ACTGCCAGTTTGTCGGTCGCGTCCACGATCTGCTG
+>r4321
+CATCTGGTGCTCACCACGGGCGGAACTGGCCCTGC
+>r4322
+CTGCCACAGCCTGGCTGGAAGTACAGTCAACAATG
+>r4323
+CTCCAGTAAGCCTTCTTTCAGTTCCAGGTAGAACT
+>r4324
+CAGTTCCAGATCCCTTGCCTGATTAAAAATACCGG
+>r4325
+GACACTGGGGACATCGCGGCAATGAAGCTGTATCA
+>r4326
+CAAACCCGGCCTGATTGAGATAATGAATAGATGTT
+>r4327
+GTTATGCGGCGGAAAAATCGCGGCGTAAATTCCTC
+>r4328
+CTGCAGAATTCGCCCTTGTGATATCATCAGGGCAG
+>r4329
+ATAGTGGCTATAGAAGGCCAGGGCGTTTTCGCCAT
+>r4330
+TAAACTCGGCGTGCGCCCGGTGTTTGATCCGTTGC
+>r4331
+CCGCCCAATGTACAGAACAGTTTTTCTTGCAGTGG
+>r4332
+CAGCGCGTTGCCGACTGGTTGGGTAAGAACTACCT
+>r4333
+TGGCAATCCGGCATTGATATTTAGCGATGATGTTT
+>r4334
+TCCACTTCGGCAATCTTCACGCGGCAGACGCCATC
+>r4335
+ATCCATGAAGCGCGGAAACTGACGCCCCCGCAGAT
+>r4336
+GATTGGCATTTTTATCGACACCCTGGTCATCTGCA
+>r4337
+TGTTCGGCGTAACAACGTGGAAACCTTCGCGCAGG
+>r4338
+CGCAACGGATCAAACACCGGGCGCACGCCGAGTTT
+>r4339
+ACCCCATTCCCGCCTCATTGGAAAACATACTGCGC
+>r4340
+GTTTAAAGAGAAATACTATCATGACGGACAAATTG
+>r4341
+CAGCGGCTGATAATAGTGGCTATAGAAGGCCAGGG
+>r4342
+CTGGAACTGAAAGAAGGCTTACTGGAGCCGTTGGC
+>r4343
+GCAAGCTCAAGCTGACGGGAATAGCAGGCGTGAAT
+>r4344
+TTTCTCCGAGGCGACCACACTGGCGCGGGAAATGG
+>r4345
+TGATACTGGAGCGGCAGTGGCTCATGCTTTCTACG
+>r4346
+GGTATTAGCAACGATCGTATTCTGATCAAACTGGC
+>r4347
+CGTCAGTACACCACCGTAGTGGCCGACACTGGGGA
+>r4348
+TGGCGGATGTAGCGAAACTGCACAAATCCGGTACG
+>r4349
+GCAAAAATCAGGGGCTGTTTTTTCCGCACGACCTG
+>r4350
+ATATTGAAATTGAACCTGTGCTGCCCGCAGAGTTT
+>r4351
+AGCCGGGAAGGCAAACGCCGCACGTACGCGCTCTT
+>r4352
+ACTTCCAGCCAGGCTGTGGCAGATCAATATGCCGA
+>r4353
+ACTCCGCTGCGGTGCTGGCGGCCTGTTTACGCGCC
+>r4354
+CATCTGACGCCAGATTTATCACCACATTATCGCCT
+>r4355
+CGGGCATTCTCCGGTGTGAAATTTGGCTGCCAGTC
+>r4356
+GCGCCTGTTTGCGAATCACCCCCACCTGACGCGAA
+>r4357
+AAAAAATCCCCCCAGGCGGGGGGATCAGACTGATG
+>r4358
+CGTGCGCTTTGTTTATGCCGGATGCGGCGTGAACG
+>r4359
+TTGATGATCGAAGAAAACGACATCATCAGCCAGCA
+>r4360
+CGCAGGAAGTCGGCATATTGATCTGCCACAGCCTG
+>r4361
+TCAGGCGAACGCCGTTGCGCGAGCCCTGAGTTTTT
+>r4362
+CCATCAGTTGCGTTATGCGGCGGAAAAATCGCGGC
+>r4363
+CGCCAGTTTATCTACTGCCATTGGATCCTGGTTGT
+>r4364
+TAACGAGACTGTTTAAACGGAAAAATCTTGATGAA
+>r4365
+CTCGGGGCGGCGGTGACACCTGTTGATGGTGCATT
+>r4366
+TCATTCTGCTTAACGAGACTGTTTAAACGGAAAAA
+>r4367
+ACTACCTGCAAAATCAGGAAGGTTTTGTTCATATT
+>r4368
+TTAAGCAGAATGATACACTGCGAAGGGAGTGACAG
+>r4369
+GGACGCTGAGGGTAACGTTGTGGTGCACGGTATTT
+>r4370
+TGCTGCCACAGGAACTCGGACTCAGTGATACGCGC
+>r4371
+CGTTATTGACCACGACAGAGATTGAGCGTTCAGAA
+>r4372
+AAGACCGCGAGTGATCGCCAGCAGAGCAAAGACAG
+>r4373
+CGAAGATATAAGAAAGCGAACCTGAAAGAATGCCG
+>r4374
+GTTGCGAGATCTGGACGGATGTTGACGGTGTTTAT
+>r4375
+TGATCTTAAATTTGCCGTTCTTCTCATCGAGGAAC
+>r4376
+ATGGTGCATTGCTCGGAGATGTAGTCACGGTTGAG
+>r4377
+TCGTGCAAATTCAATATATTGCAAGAAGATCGTAG
+>r4378
+GTATTAACTGTAACCTGACCCTGCTGTTCTCCTTC
+>r4379
+TTGGGGATTTCCGGTATTTTTAATCAGGCAAGGGA
+>r4380
+AACGCAGCGAATTGGGCCTCTAGATGCATGCTCGA
+>r4381
+TCAACTGAAGTTGATGCGCGTCTTTCCTATGACAC
+>r4382
+TCATTACGCAAATCACCAGGCTGGTCAGTACCCAG
+>r4383
+GTTCCGCCGCAAAATCTGGCAACTGAAAGAGCTGG
+>r4384
+CCAGTGGCGATGACTCTGGAAAAGAATATGCCGAT
+>r4385
+CGTTGGCCCGTGGAACAATTCCAGACAACCGACAT
+>r4386
+CACTGGAAGCCGGGGCATAAACTTTAACCATGTCA
+>r4387
+CGGCACAACCTACATGCCGCTGGAAGGTATTCAGC
+>r4388
+AAGCTGACGGGAATAGCAGGCGTGAATGAAGCCTG
+>r4389
+CCCCGCTCGAAGGGATAAGATTGTTAACAACGTGC
+>r4390
+AGCTGGTGGTTCTGGGACGCAACGGTTCCGACTAC
+>r4391
+TATCTGTCTGTGCGCTATGCCTATATTGGTTAAAG
+>r4392
+GCATGGTTATGAAACCGTGGTTATGGGCGCAAGCT
+>r4393
+GAGAACGGCAGTTGTTATTCTCCGCAATCCTAATC
+>r4394
+GGCAAAGAATTTCGCCGAGATCCCACGTAAGGTGC
+>r4395
+GAATGTGAAAGTGGTTATCCTCTATCCACGAGGCA
+>r4396
+TCCGCAGACACCAGATCGCTTTAGGGTTGTTCAGG
+>r4397
+ACGGGCGGAACTGGCCCTGCGCGTCGTGACGTAAC
+>r4398
+TGACGCGGATCGCAGGTATAAACACCGTCAACATC
+>r4399
+CTCGGAGATGTAGTCACGGTTGAGGCGGCAGAGAC
+>r4400
+GCGATGGGGGTAATGGTGCGGGGGTGAAGAACTTT
+>r4401
+TCTGAAATCTACCAGTACTACAAAGAGCATGGTTA
+>r4402
+GCGGAGAGCGAAGGGGCTATCGAACGTAAACTGTC
+>r4403
+CAGATCCGCAGACACCAGATCGCTTTAGGGTTGTT
+>r4404
+TCGACTTCAACAACCTCGCATCGGGCACCTGACGC
+>r4405
+GCGCGTCGTGACGTAACGCCCGATGCGACGCTGGC
+>r4406
+AGAAAGATCATCTCGCGGGTCCGGTTCGGTATAAC
+>r4407
+ACTGGCTTGATAATCTCGGCATTCAATTTCTTCGG
+>r4408
+AACACGCCCGCTTCCGCACAAGCACGAGCCTGAGC
+>r4409
+TGGTGCTTGGGGATTTCCGGTATTTTTAATCAGGC
+>r4410
+ATAAACAAAGCGCACGTTGTTAACAATCTTATCCC
+>r4411
+TGAAATTGAACCTGTGCTGCCCGCAGAGTTTAACG
+>r4412
+GCATGGCATCAGTTTGTTGGGGCAGTGCCCGGATA
+>r4413
+CCTTCTGGATAAGCTGAATACCTTCCAGCGGCATG
+>r4414
+GTTCCTGATCTCGCCGTTTGTTGGCCGTATTCTTG
+>r4415
+TTGATGCGCGTCTTTCCTATGACACCGAAGCGTCA
+>r4416
+CATCAGCGGAAAACTTAACAAGGTGCCGCCGATGA
+>r4417
+TTCAGAAGCTGCTATCAGACACTCTTTTTTTAATC
+>r4418
+CTGTCTGTCACTCCCTTCGCAGTGTATCATTCTGC
+>r4419
+ATTTTTGCCGAACTTCTGACGGGACTCGCCGCCGC
+>r4420
+TTCCGGTGCCGTTTCAACGTATGGCCCTTCCAGCA
+>r4421
+AGCAACGATCGTATTCTGATCAAACTGGCTTCTAC
+>r4422
+GCACAAGCACGAGCCTGAGCGAAGGAGAACAGCAG
+>r4423
+GACGCCAGATTTATCACCACATTATCGCCTTGTGC
+>r4424
+GAAGTTATCCAAGTACCTCGTAGCGTTATATACTT
+>r4425
+GAAAGATCACAATGAGCAGGTCAGCTTTGCGCAAG
+>r4426
+CCTGTCGTTTTTCTCCATATTTTCTTCATAAAAAA
+>r4427
+TCGGCGATTTGACGGCGGGTCTGCTGGCGAAGTCA
+>r4428
+TGGCCGGCGTGTTAGAAGCGCGTGGTCACAACGTT
+>r4429
+CCGTGAGTAAATTAAAATTTTATTGACTTAGGTCA
+>r4430
+AAAAAGACGGCGAACAGAACGCCCATCCAGCGCAT
+>r4431
+TGTATCATTCTGCTTAACGAGACTGTTTAAACGGA
+>r4432
+TGGCCTTTTTGTTCGGCGTAACAACGTGGAAACCT
+>r4433
+GCCTCGGAGAAACTCATGCCTTCGTCTAACTTGCC
+>r4434
+ACGAAGGCATGAGTTTCTCCGAGGCGACCACACTG
+>r4435
+ACTTTTGCCAAACTGGCGGATGTAGCGAAACTGCA
+>r4436
+GCCATGTACATTGGTGAGCAGTGCCTTCGAGTTAG
+>r4437
+GGCAAATGCAGAACGTTTTCTGCGGGTTGCCGATA
+>r4438
+CTGCATACCACCAAGAAAACACGGTGCCACGTTGT
+>r4439
+GTTCCACGGGCCAACGCTGGCATTTAAAGATTTCG
+>r4440
+TTGACCGGGTAAGTTAAGGATCAGCGCCTGTTTGC
+>r4441
+TACCTTCCGCCAGTTTATCTACTGCCATTGGATCC
+>r4442
+GTCTGCGGATCTGCACCTTCGCAACGGTCATCGGC
+>r4443
+ACAGGCGCTGGAGCCTAAGCCCGAACCGATCGGCA
+>r4444
+TGACAAAATCCAGCTTCAGCATCTCATCAATTTCA
+>r4445
+ACAGAATAACCACGAGGGTAACAAACTCCGCACCC
+>r4446
+ATGCATGCTCGAGCGGCCGCCAGTGTGATGGATAT
+>r4447
+GGCCGCTCGAGCATGCATCTAGAGGCCCAATTCGC
+>r4448
+ATCTGGCATGCATATCCCTCTTATTGCCGGTCGCG
+>r4449
+AGCGCGTACGTGCGGCGTTTGCCTTCCCGGCTCCG
+>r4450
+GAAGCCGAAGAAATTGAATGCCGAGATTATCAAGC
+>r4451
+AAGCCATATTCGCCTGGATTCAACTGGTCACGCAG
+>r4452
+ATTGAAAACTTTCGTCGACCAGGAATTTGCCCAAA
+>r4453
+CGCAAGAAGCACGTAACCAGTTGGTTGTCTCGGTA
+>r4454
+GTAGCGAAACTGCACAAATCCGGTACGAAAAGTGA
+>r4455
+ACGCAACGCAGCAAAATCGGCGGGCAGGTTATGCG
+>r4456
+TTCGGCAATCTTCACGCGGCAGACGCCATCTTCAT
+>r4457
+TGCCAGATTTTGCGGCGGAACAACTCTTCCACACG
+>r4458
+CGTAAACTCGGCGTGCGCCCGGTGTTTGATCCGTT
+>r4459
+GCGGAAAACTTAACAAGGTGCCGCCGATGACCGTT
+>r4460
+TTTCATTACCGGCAGTGAAACCAGCCATCAGCACC
+>r4461
+GTAGCATACATGAGGTTTCGTATAAAAATGGCGGG
+>r4462
+GTAATCCATCGACGAGGTGTTGGCCTTTTTGTTCG
+>r4463
+CGACCACTGGCGTGCGCGTTACTCATCAGATGCTG
+>r4464
+CTCAGTGATACGCGCCGGACGCGCTTTCACTTCAC
+>r4465
+ACAACTATCGATCAACTCATTCTCTTTTTTTGCTA
+>r4466
+TTTCATTCTGACTGCAACGGGCAATATGTCTCTGT
+>r4467
+TTATGCAGCCCGGCTTTTTTTATGAAGAAAATATG
+>r4468
+GACGTTACAGCTGCCGGTGTCTTTGCTGATCTGCT
+>r4469
+AGACAACCAACTGGTTACGTGCTTCTTGCGGCAAC
+>r4470
+GATAACTTCTGCGTAGCATACATGAGGTTTCGTAT
+>r4471
+AAAAACCATTAGCGGTCAGGATGCTTTACCCAATA
+>r4472
+CAGGCCGAAACCTTCAGCGAAGACGATTTCGATTT
+>r4473
+GATGTCGCCGCTTTTATGGCGAATCTGTCACAGCT
+>r4474
+TGGTGCATTGCTCGGAGATGTAGTCACGGTTGAGG
+>r4475
+CAATGGCGAACTGGTGTTTAAACGCTACGAACAAC
+>r4476
+GAAAGTGCGAGTACGATAGATTGCATCTTTTTCAC
+>r4477
+CATTGGGGCGACCACGGCTGGTGGAAACAACATTA
+>r4478
+TATCACCACATTATCGCCTTGTGCTGCGAGCGCCT
+>r4479
+GTAGCGAGCGGTATCTCCGGCTCCGGCCCGACTTT
+>r4480
+CCACGGCTGGTGGAAACAACATTATGAATGGCGAG
+>r4481
+CTGAAAGAATGCCGGAGAACTTCATCAATTCATCA
+>r4482
+TTCTTTATAAAGCTGTGCGAGGGAACATTCGGCAA
+>r4483
+GCAGTACGCCATACAAGCCGGAAAGCATTCGCAAA
+>r4484
+TATTCTGTTTGCCTTCAGCTCCATCGTTGCCAACT
+>r4485
+GAATAGCAGGCGTGAATGAAGCCTGCCAGATGTCG
+>r4486
+TTGCCGCGCGTGTGGCGAAGGCCCGTGATGAAGGA
+>r4487
+TGCTTCACCAGCGCCTGACAGGCATCGAAATCGCC
+>r4488
+GGAAAAACTGGAAAAAATGATCGGCGATCTGCTGT
+>r4489
+ATTCCGGCAGGTCGTGCGGAAAAAACAGCCCCTGA
+>r4490
+ATTGATGAAGTTCTCCGGCATTCTTTCAGGTTCGC
+>r4491
+CAGCGTGCGGCTCCGAGGTATAGCCCAGTTCTTTT
+>r4492
+GGCGTGGTTAGCGCCGATGTCAGCCATTCTTCCAG
+>r4493
+ATGCGTGAGTTAAAAGAACTGGGCTATACCTCGGA
+>r4494
+CGCTGCCGGAGCTGTTAGACAACGCCCAGCAGCTG
+>r4495
+ATGATCCGCTGTTCAAAGTGAAAAATGGCGAAAAC
+>r4496
+CTGGCTAACATCCATCGCATTGGATAACGTCGCCT
+>r4497
+ACTAACGGTTTTCAGCGCAGTATGTTTTCCAATGA
+>r4498
+GTTGCGTTATGCGGCGGAAAAATCGCGGCGTAAAT
+>r4499
+TTTTATGCAGCCCGGCTTTTTTTATGAAGAAAATA
+>r4500
+GATGCGCATCAGCGACAAACTGGCGGGTATCAACG
+>r4501
+GAAGTGGATGGTAATGATCCGCTGTTCAAAGTGAA
+>r4502
+GGATGTGGCGCGTAAGCTATTGATTCTCGCTCGTG
+>r4503
+AATCAAGCGTTTTCGCAGGTGAAATAAGAATCAGC
+>r4504
+ATGAACAAAACCTTCCTGATTTTGCAGGTAGTTCT
+>r4505
+GAACTGGAGCTGGCGGATATTGAAATTGAACCTGT
+>r4506
+TGCTGCGAGCGCCTCGTTCAGCTTGTTGGTGATGA
+>r4507
+CTTCTGCCGTCGAGACTTTAATCCCCGGATACGCC
+>r4508
+TTTTTAATCCACACAGAGACATATTGCCCGTTGCA
+>r4509
+GCTTGCCAAGCTCCTGGCAAAAACGCTCCCAGCAC
+>r4510
+CGTGACCGACTTCCCGGTCACGCTAAGTATGATTA
+>r4511
+ACGAAGTATATAACGCTACGAGGTACTTGGATAAC
+>r4512
+AACCCATTAGCACCCGCATCGCCTTCTGGATAAGC
+>r4513
+CCCTGCCAGGTAGAAGCCAGTTTGATCAGAATACG
+>r4514
+CTGCGCTGAAAACCGTTAGTAATCGCCTGGCTTAA
+>r4515
+CTGGATAAGCTGAATACCTTCCAGCGGCATGTAGG
+>r4516
+AATCCTGAAACTGGTTCCGGGCCGTATCTCAACTG
+>r4517
+GATGGATGTTAGCCAGCCAAACAACTGGCCGCGTG
+>r4518
+TGCTAAAGTCGGCATAAATTTCCTGCAAGGACTGG
+>r4519
+CGTTTCACCGAGAATCGCTTCCACGCTCTCTTTAA
+>r4520
+ATCCAGCGCATCCCCAGCCCGCGCGCCATATACCA
+>r4521
+CGAAGATATAAGAAAGCGAACCTGAAAGAATGCCG
+>r4522
+GGATTCAGCAATATCAACGGTAGATTCGAGGTAAT
+>r4523
+CGGCATGGCGACCTCGTTTGCCGAATGTTCCCTCG
+>r4524
+CAAGGACTGGATATGCTGATTCTTATTTCACCTGC
+>r4525
+ATCTTTCATCAGCTTCGCGGCAAGCTCAAGCTGAC
+>r4526
+TTCAGCAGTGCCGGTGCGATGGTCAGACGGTCGCA
+>r4527
+GACTTACGTGTCTGCGGTGTTGCTAACTCGAAGGC
+>r4528
+TTTTTCCTGGTCAACAGCAAACTTACGGATACCTT
+>r4529
+ACTACCTGCAAAATCAGGAAGGTTTTGTTCATATT
+>r4530
+TTAAGTTTTCCGCTGATGTGGCAACTGGCAGATAT
+>r4531
+GTCAGTTGCTCTGGTTTGGTCAGCCGATTTTCAAT
+>r4532
+TTTGGTAATCAAGCGTTTTCGCAGGTGAAATAAGA
+>r4533
+ATTGCGAAAGCAAAACGCCTGATCAAACTCTACAA
+>r4534
+GAGCCGGGAAGGCAAACGCCGCACGTACGCGCTCT
+>r4535
+GGCGACCACGGCTGGTGGAAACAACATTATGAATG
+>r4536
+GCTGCCGGATGCGGAGGCCAGGACGCAGCTGCCGC
+>r4537
+ATGCCGTAGGCGATGAGCAAAAAGACGGCGAACAG
+>r4538
+ACCTGACGCGAAAGGATCGCAGTTGGTACAAAATG
+>r4539
+TAACCTGCCCGCCGATTTTGCTGCGTTGCGTAAAT
+>r4540
+CTGACGAAGGGAGGTCAATTTGTCCGTCATGATAG
+>r4541
+CGGTCGCCAATGTTGAAAGCGATGTCGGTTGTCTG
+>r4542
+TCGTCGAGCTGTGACAGATTCGCCATAAAAGCGGC
+>r4543
+TGGCAGTAGATAAACTGGCGGAAGGTATCCGTAAG
+>r4544
+ATAACGGGCAATGATAAAAGGAGTAACCTGTGAAA
+>r4545
+CAAACGCCGCACGTACGCGCTCTTCCAGGATTTCC
+>r4546
+GCGCCAGATCAGCCTGCATTTTGTACCAACTGCGA
+>r4547
+GCATTTTGTACCAACTGCGATCCTTTCGCGTCAGG
+>r4548
+CGTGAAGATTGCCGAAGTGGATGGTAATGATCCGC
+>r4549
+CATCACGGCTGGCACCAATGAGCGTACCTGGTGCT
+>r4550
+GCATGGCGGCGCGCGTCTTTGCAGCGATGTCACGC
+>r4551
+CGCCTGCTTCACCAGCGCCTGACAGGCATCGAAAT
+>r4552
+CGAGGCAAAATCAGTCCACTGCAAGAAAAACTGTT
+>r4553
+TCGGCGTTAAACTCTGCGGGCAGCACAGGTTCAAT
+>r4554
+GGAAGAATGGCTGACATCGGCGCTAACCACGCCGT
+>r4555
+CGGTATAACCCATTTCCCGCGCCAGTGTGGTCGCC
+>r4556
+CCTGCCAGGTAGAAGCCAGTTTGATCAGAATACGA
+>r4557
+ACCGGATCGATAACGGTAACGTTGTGACCACGCGC
+>r4558
+GATTCAACTGGTCACGCAGCGCACGATAAGCTACG
+>r4559
+ACCGTCTGACCATCGCACCGGCACTGCTGAAAGAG
+>r4560
+GCAATCCTAATCTCTAAGTTACCGCATTTATTGAG
+>r4561
+CATTGCCGCGATGTCCCCAGTGTCGGCCACTACGG
+>r4562
+CCGCATTTATTGAGAATTTCTCCTTTTTCCCTGTC
+>r4563
+GCCCTTCCAACTCGCCCATCAAAGCCAGCAAACGA
+>r4564
+TTTTTGTTCGGCGTAACAACGTGGAAACCTTCGCG
+>r4565
+TTTTATTTGGGCAAATTCCTGGTCGACGAAAGTTT
+>r4566
+AGGCCGCCAGCACCGCAGCGGAGTAGTCGGAACCG
+>r4567
+ACACTGGCGGCCGCTCGAGCATGCATCTAGAGGCC
+>r4568
+AGGAAGCTTCATCAAAGAAGTAACCTTCGCTATTA
+>r4569
+GAGCAATGGCGACAATGTTGATATTGGCGCGGGCC
+>r4570
+TTTCTTGCAGTGGACTGATTTTGCCTCGTGGATAG
+>r4571
+CTCAATCAGGCCGGGTTTGCTTTTATGCAGCCCGG
+>r4572
+TAGATAATCACTGGCAATGGTATGAACCACAGGCG
+>r4573
+TAGCAGCTTCTGAACTGGTTACCTGCCGTGAGTAA
+>r4574
+ACTGGCAGGAAGAACTGGCGCAAGCCAAAGAGCCG
+>r4575
+GGGCCAACGCTGGCATTTAAAGATTTCGGCGGTCG
+>r4576
+AGGCTGTCGCACAGTTGCCGCAAGAAGCACGTAAC
+>r4577
+CAACGCAGCGAATTGGGCCTCTAGATGCATGCTCG
+>r4578
+ATTGCCGAAGTGGATGGTAATGATCCGCTGTTCAA
+>r4579
+GCGAACAAAGTCGGGCCGGAGCCGGAGATACCGCT
+>r4580
+GTTCTTCCTGCCAGTTTTCCAGATTAAGGCCATGT
+>r4581
+TGGGCCTCTAGATGCATGCTCGAGCGGCCGCCAGT
+>r4582
+CCAGCTTTGCTGACGCTTCAGTTGCTCCAGCAGCG
+>r4583
+AGCATCAACGCTGCGCTGATTTGCCGTGGCGAGAA
+>r4584
+CTTCCAGTGCCAATATGAGCGTCGGGTTTGATGTG
+>r4585
+CTGATTGAGATAATGAATAGATGTTACTGATGATT
+>r4586
+AGCCCCTTCGCTCTCCGCCAGCTCTTTCAGCAGTG
+>r4587
+ACCCTCGGCGTTAAACTCTGCGGGCAGCACAGGTT
+>r4588
+GTTATTGAGAACCTGCAAAATCTGCTCAATGCTGG
+>r4589
+TGCGCGTCGTGACGTAACGCCCGATGCGACGCTGG
+>r4590
+CGCGACATCCGGTGATACTGGAGCGGCAGTGGCTC
+>r4591
+CGGCATGGTATATGGCGCGCGGGCTGGGGATGCGC
+>r4592
+TACGGCCCGGAACCAGTTTCAGGATTTCCAGACCA
+>r4593
+TATTACTTTGAGGCTGTCGCACAGTTGCCGCAAGA
+>r4594
+CTGACATCGGCGCTAACCACGCCGTTTGAACTGGA
+>r4595
+ACTGACTGGTTTTAATAGCGAAGGTTACTTCTTTG
+>r4596
+ATGCAGGTATTAGCAACGATCGTATTCTGATCAAA
+>r4597
+AGATCGCTTTAGGGTTGTTCAGGCGTAAAAAGAAG
+>r4598
+CCGTTTCACGAGCGAGAATCAATAGCTTACGCGCC
+>r4599
+CGGCAACCCGCAGAAAACGTTCTGCATTTGCCACT
+>r4600
+GAGCGAGAATCAATAGCTTACGCGCCACATCCATG
+>r4601
+TGAATAACATGGCAATGTTCAGCGTTTCCGGCCCG
+>r4602
+TTGCTGACGCTTCAGTTGCTCCAGCAGCGCACCGC
+>r4603
+GCCAAGCTCCTGGCAAAAACGCTCCCAGCACTGAT
+>r4604
+GCGCTTTCACTTCACCAGTGTAAGACAGTTTACGT
+>r4605
+ATCTGCGCCAGCAAGCGACTGATGTTGATGGAGTT
+>r4606
+TGCTGTTCTCCTTCGCTCAGGCTCGTGCTTGTGCG
+>r4607
+GCGATTTCGATGCCTGTCAGGCGCTGGTGAAGCAG
+>r4608
+TATCCGGCTTGTCACACAGAGCGAACAAAGTCGGG
+>r4609
+CTGCGTTGATATCGCCCGCCATTTTTATACGAAAC
+>r4610
+CGCCGATGACCGTTGCGAAGGTGCAGATCCGCAGA
+>r4611
+GCAACGATGGAGCTGAAGGCAAACAGAATAACCAC
+>r4612
+GCTCCCCCCGCTCGAAGGGATAAGATTGTTAACAA
+>r4613
+CTGGAGCAACTGAAGCGTCAGCAAAGCTGGTTGAA
+>r4614
+TGCACGATTTTGTAGGCCGGATAAGGCGTTCACGC
+>r4615
+ATCACCATTACCACAGGTAACGGTGCGGGCTGACG
+>r4616
+CACCACCATCACCATTACCACAGGTAACGGTGCGG
+>r4617
+GCCCCCGCAGATTAGCTCCCTGATGCGCATCAGCG
+>r4618
+AAAGAATTTCGCCGAGATCCCACGTAAGGTGCGCA
+>r4619
+TAGACGAAGGCATGAGTTTCTCCGAGGCGACCACA
+>r4620
+TGAAGAACTGAAAGTGGCGCTGGGGCTGAATTCTG
+>r4621
+AGCGCGGAAACTGACGCCCCCGCAGATTAGCTCCC
+>r4622
+CTGCCGTAGCTTATCGTGCGCTGCGTGACCAGTTG
+>r4623
+TGCGCTTTGTTTATGCCGGATGCGGCGTGAACGCC
+>r4624
+TGCCGGATAATGCCGGATGGCAATCCGGCATTGAT
+>r4625
+TTTCAACATTGGCGACCGGAGCCGGGAAGGCAAAC
+>r4626
+CTCTATCCACGAGGCAAAATCAGTCCACTGCAAGA
+>r4627
+TTAGTTTTCCAGTACTCGTGCGCCCGCCGTATCCA
+>r4628
+GCGAGTCCCGTCAGAAGTTCGGCAAAAATAAGTTC
+>r4629
+TCAATGCCGGATTGCCATCCGGCATTATCCGGCAT
+>r4630
+CGGCGTTTGCCTTCCCGGCTCCGGTCGCCAATGTT
+>r4631
+AAGTTTGCTGTTGACCAGGAAAAACTGGAAAAAAT
+>r4632
+GCGCTGGGCGGTATCCGGCTTGTCACACAGAGCGA
+>r4633
+ACGGGCCTTCGCCACACGCGCGGCAAAGAGATCGT
+>r4634
+ATCGATCCGGTCGAAAAACTGCTGGCAGTGGGTCA
+>r4635
+GTTGTTCCGCCGCAAAATCTGGCAACTGAAAGAGC
+>r4636
+GTAATGATTTACCTGCTTTTCGGCGCAGGTTGTTG
+>r4637
+GGCGCAGATTTGTTATTACTTTGAGGCTGTCGCAC
+>r4638
+GGTCACTGGCTTATCGCCCGCAATATGGGTCAGCA
+>r4639
+GAACTACCTGCAAAATCAGGAAGGTTTTGTTCATA
+>r4640
+AGGGTATCCGTGCTGCAGAACAGCTGGAAAAAGAA
+>r4641
+AGTGTCGGCCACTACGGTGGTGTACTGACGAAGGG
+>r4642
+GACGCGACCGACAAACTGGCAGTAAATATTGGTCT
+>r4643
+CGGTCAACCGAAGTCTATTAAAGAGACGCTGGAAG
+>r4644
+ATGTCTCTGTGTGGATTAAAAAAAGAGTGTCTGAT
+>r4645
+GATCAATATGCCGACTTCCTGCGCGAAGGTTTCCA
+>r4646
+CACTCGCGGTCTTCATGGCGTCGCCCGGCTCATGC
+>r4647
+CGGTAAAACGTTTTATTGCTGCGACCAACGTGAAC
+>r4648
+CCGCCAGTTTATCTACTGCCATTGGATCCTGGTTG
+>r4649
+GTTTGCTTTTATGCAGCCCGGCTTTTTTTATGAAG
+>r4650
+CGTTCACGTTGGTCGCAGCAATAAAACGTTTTACC
+>r4651
+GCCCTTGACCGGTAATTCGTCTTCATCACGGCTGG
+>r4652
+CATCTGGACAATTCCTTGCGCTGCCGGATGCGGAG
+>r4653
+CGTACGCGCTCTTCCAGGATTTCCTGCGGGATTTC
+>r4654
+CGTTGACCACCACGCGCTATACGCTGCCGGAGCTG
+>r4655
+GCGGCGATACTGCGCCGGTAAAATAGCCCTGGCTT
+>r4656
+CCATAACGGGCAATGATAAAAGGAGTAACCTGTGA
+>r4657
+GTGATGAAATCCCGCAGGAAATCCTGGAAGAGCGC
+>r4658
+CTGCAACCACTTCCGGTGCCGTTTCAACGTATGGC
+>r4659
+AGAGATTAGGATTGCGGAGAATAACAACTGCCGTT
+>r4660
+CGGCCTGATTGAGATAATGAATAGATGTTACTGAT
+>r4661
+TAGTGACCTAAGTCAATAAAATTTTAATTTACTCA
+>r4662
+CGTTGCGTCCCAGAACCACCAGCTCGCCTTTTTCA
+>r4663
+GTATTTTAAATCGGTGAAGCCGAAGAAATTGAATG
+>r4664
+GTGGCGAGAAAATGTCGATCGCCATTATGGCCGGC
+>r4665
+CGATTTCGATTTTGCCCAACAGCATTTGCGAATGC
+>r4666
+CGTGCAGATGACCAGGGTGTCGATAAAAATGCCAA
+>r4667
+AACTGGCAGATATCATTATGGCCTGCATGGCTATT
+>r4668
+GATGCGCGATCAGAGATGGAAACTAAGCCAATACG
+>r4669
+GCTTTCAACATTGGCGACCGGAGCCGGGAAGGCAA
+>r4670
+GATAGTATTTCTCTTTAAACAGCTTGTTAGGGGGA
+>r4671
+CGTTGCGAAGGTGCAGATCCGCAGACACCAGATCG
+>r4672
+CTTTTATCATTGCCCGTTATGGGTCGATATCCGGA
+>r4673
+CAGCATTCATTACGACAACGTGGCACCGTGTTTTC
+>r4674
+CGGAGATACGCCCTTCCAACTCGCCCATCAAAGCC
+>r4675
+GCGCAACGGCGTTCGCCTGAACTCCGCTGAAAATT
+>r4676
+AAGCTGTATCAACCGCAGGATGCCACAACCAACCC
+>r4677
+AAGCCAGCAAACGAGTGTCATTAAGCGGCTTGCCG
+>r4678
+TACGGCAGCGTGCGGCTCCGAGGTATAGCCCAGTT
+>r4679
+TCCAGTTTTTCCTGGTCAACAGCAAACTTACGGAT
+>r4680
+CGCTCGCTTTCATGACTGGCAGCCAAATTTCACAC
+>r4681
+GACATCTGGCAGGCTTCATTCACGCCTGCTATTCC
+>r4682
+GATCTCGCCGTTTGTTGGCCGTATTCTTGACTGAT
+>r4683
+GCTTTCCGGCTTGTATGGCGTACTGCGCCCGCTCG
+>r4684
+CCATGCTGATATTACTGGCGGGTAACGGCACAACC
+>r4685
+AGGTTTCGGCCTGCAAGCCAGTGTAGACATCACCT
+>r4686
+TTCCTGATTTTGCAGGTAGTTCTTACCCAACCAGT
+>r4687
+GGATGTTAGCCAGCCAAACAACTGGCCGCGTGTGG
+>r4688
+GCGAAGACGATTTCGATTTTGCCCAACAGCATTTG
+>r4689
+ACCTAAGTCAATAAAATTTTAATTTACTCACGGCA
+>r4690
+AGGCCCGTGATGAAGGAAAAGTTTTGCGCTATGTT
+>r4691
+ACCTGCTCATTGTGATCTTTCAGATTGTAGAGTTT
+>r4692
+GACGAATTACCGGTCAAGGGCATTTCCAATCTGAA
+>r4693
+CTGATCCATGAAGCGCGGAAACTGACGCCCCCGCA
+>r4694
+GCAGATTTTGCAGGTTCTCAATAACCGGTAATCCA
+>r4695
+GTGAAAGTGGTTATCCTCTATCCACGAGGCAAAAT
+>r4696
+TGTCTGCGGATCTGCACCTTCGCAACGGTCATCGG
+>r4697
+TATCGCCCGCAATATGGGTCAGCATTTGTGCCATA
+>r4698
+CGGAGCCGGGAAGGCAAACGCCGCACGTACGCGCT
+>r4699
+TCTGTATCAATTCTGGGGAGATATCATCACCAACA
+>r4700
+AGATCAGCAAAGACACCGGCAGCTGTAACGTCATT
+>r4701
+TGGGGCTGGATTACCGGTTATTGAGAACCTGCAAA
+>r4702
+CCGATGCGAGGTTGTTGAAGTCGATGTCCTATCAG
+>r4703
+CAGGTTACTCCTTTTATCATTGCCCGTTATGGGTC
+>r4704
+TACGCGCCGATTGTTGCGAGATCTGGACGGATGTT
+>r4705
+CAGGATCCAATGGCAGTAGATAAACTGGCGGAAGG
+>r4706
+GATCTGCTGTAATCATACTTAGCGTGACCGGGAAG
+>r4707
+GCTGCCGGATGCGGAGGCCAGGACGCAGCTGCCGC
+>r4708
+TATCCCCATTTCCAGACGATAAGGCTGCATTAAAT
+>r4709
+TTTTTCCTGGTCAACAGCAAACTTACGGATACCTT
+>r4710
+CTTATCGTGCGCTGCGTGACCAGTTGAATCCAGGC
+>r4711
+GGGCATAAACTTTAACCATGTCAGACTCCTAACTT
+>r4712
+CTGCCGCGCCTGCCGGAAGCCTGGCAGTAACCGTT
+>r4713
+GAACACTGCGGCAAGCCGCTTAATGACACTCGTTT
+>r4714
+TACTGCGCCCGCTCGATTTAATGCAGCCTTATCGT
+>r4715
+CGCCGATTGTTGCGAGATCTGGACGGATGTTGACG
+>r4716
+GCGGAGTTCAGGCGAACGCCGTTGCGCGAGCCCTG
+>r4717
+CCCTGTCGTTTTTCTCCATATTTTCTTCATAAAAA
+>r4718
+CCGCTCGAAGGGATAAGATTGTTAACAACGTGCGC
+>r4719
+ATCCTGCGGTTGATACAGCTTCATTGCCGCGATGT
+>r4720
+TCAATCAACTTACGGTATTCCGGAATCTGCGCTGC
+>r4721
+TGGATTCAGCAATATCAACGGTAGATTCGAGGTAA
+>r4722
+CCACCACGCGCTATACGCTGCCGGAGCTGTTAGAC
+>r4723
+ACCCGCAGAAAACGTTCTGCATTTGCCACTGATGT
+>r4724
+GCGAACGCCGTTGCGCGAGCCCTGAGTTTTTCTTT
+>r4725
+CTTTAGGGTTGTTCAGGCGTAAAAAGAAGAGATTG
+>r4726
+AACTCGGACTCAGTGATACGCGCCGGACGCGCTTT
+>r4727
+CCCCCCGCTCGAAGGGATAAGATTGTTAACAACGT
+>r4728
+TGTTGACCAGGAAAAACTGGAAAAAATGATCGGCG
+>r4729
+TGCTGGGCGTTGTCTAACAGCTCCGGCAGCGTATA
+>r4730
+CGTGACCAGTTGAATCCAGGCGAATATGGCTTGTT
+>r4731
+TACTGGAAAACTAAATGAAACTCTACAATCTGAAA
+>r4732
+AGTTGGCAACGATGGAGCTGAAGGCAAACAGAATA
+>r4733
+CTTGCCGTGCAGATGACCAGGGTGTCGATAAAAAT
+>r4734
+GGCGGTGCGCTGCTGGAGCAACTGAAGCGTCAGCA
+>r4735
+TCGCCAATGTTGAAAGCGATGTCGGTTGTCTGGAA
+>r4736
+GTGTTCCTGATCTCGCCGTTTGTTGGCCGTATTCT
+>r4737
+GATTGTAGAGTTTCATTTAGTTTTCCAGTACTCGT
+>r4738
+GACGGGACTAGCGTAATTTCCGCAGCCTGCGCTGC
+>r4739
+CTACCGTGAACGGTTACTGCCAGGCTTCCGGCAGG
+>r4740
+GGCAGTTTTGCGTTTGTCATCAGTCTGATCCCCCC
+>r4741
+CGGCGCTAAAGTTCTTCACCCCCGCACCATTACCC
+>r4742
+CTGTTGGGCAAAATCGAAATCGTCTTCGCTGAAGG
+>r4743
+CCGATAAATGCGGCAACCCACATCCAGAAGACGGC
+>r4744
+AGCTGAATACCTTCCAGCGGCATGTAGGTTGTGCC
+>r4745
+GTCTGGAGAAAGCTGGCGACCGATCTCCGGATAAC
+>r4746
+GGGGATGCGCTGGATGGGCGTTCTGTTCGCCGTCT
+>r4747
+ACAACATCCATGAAACGCATTAGCACCACCATTAC
+>r4748
+AATAACGATGATGCGACCACTGGCGTGCGCGTTAC
+>r4749
+GGTATCTCCGGCTCCGGCCCGACTTTGTTCGCTCT
+>r4750
+GCACGTTCTGCCAGCTCTTTTGGCAGATCCAACGT
+>r4751
+CCAGGCGGGGGGATCAGACTGATGACAAACGCAAA
+>r4752
+GCCCGGCTTTTTTTATGAAGAAAATATGGAGAAAA
+>r4753
+GCGTACCTGGTGCTTGGGGATTTCCGGTATTTTTA
+>r4754
+GAAATCCTGGAAGAGCGCGTACGTGCGGCGTTTGC
+>r4755
+TTCCTGCGCGAAGGTTTCCACGTTGTTACGCCGAA
+>r4756
+GAAATGCCCTTGACCGGTAATTCGTCTTCATCACG
+>r4757
+TGCGACCGTCTGACCATCGCACCGGCACTGCTGAA
+>r4758
+GCATTTTTATCGACACCCTGGTCATCTGCACGGCA
+>r4759
+GATCTTCTGCCGGAGCGTACTCTTTCTTATCGGTA
+>r4760
+GTCCGAGGTTGTTGAGACTGAATGTCTCTGCCGCC
+>r4761
+CGGTGGTGTACTGACGAAGGGAGGTCAATTTGTCC
+>r4762
+CAGCATCTGATGAGTAACGCGCACGCCAGTGGTCG
+>r4763
+CCAGGCTGGTCAGTACCCAGATTATCGCCATCAAC
+>r4764
+GAGGTCAATTTGTCCGTCATGATAGTATTTCTCTT
+>r4765
+TTAAGCGGCTTGCCGCAGTGTTCATTCATCGCCAT
+>r4766
+GTTCCGCCGCAAAATCTGGCAACTGAAAGAGCTGG
+>r4767
+CCAGAGCAACTGACTGGTTTTAATAGCGAAGGTTA
+>r4768
+GAGTCTGACATGGTTAAAGTTTATGCCCCGGCTTC
+>r4769
+CTCGTTAAGCAGAATGATACACTGCGAAGGGAGTG
+>r4770
+GTCATCGCGACCGGCAATAAGAGGGATATGCATGC
+>r4771
+GCGAGTTGGAAGGGCGTATCTCCGGCAGCATTCAT
+>r4772
+TCGCCACGGCAAATCAGCGCAGCGTTGATGCTATC
+>r4773
+GTTGGTACTGCGCGGATATGGTGCGGGCAATGACG
+>r4774
+CACCATTACCCCCATCGCCCAGTTCCAGATCCCTT
+>r4775
+ATGGCACAAATGCTGACCCATATTGCGGGCGATAA
+>r4776
+GTTGAGGCGGCAGAGACATTCAGTCTCAACAACCT
+>r4777
+TTATGGCCGGCGTGTTAGAAGCGCGTGGTCACAAC
+>r4778
+GTTACCCGCCAGTAATATCAGCATGGCGCTTGCCG
+>r4779
+ATGCTACGCAGAAGTTATCCAAGTACCTCGTAGCG
+>r4780
+CCGGAGCGTACTCTTTCTTATCGGTATTCGCTTTG
+>r4781
+TAACGGTAACGTTGTGACCACGCGCTTCTAACACG
+>r4782
+CCGCCGAACTTCAACACTCGCATGGTTGTTACCTC
+>r4783
+GGCGTCAGATGAGTATTTTAAATCGGTGAAGCCGA
+>r4784
+GTGGGGGTGATTCGCAAACAGGCGCTGATCCTTAA
+>r4785
+CAATATTGCCAACATAGCGCAAAACTTTTCCTTCA
+>r4786
+GTGTGAAATTTGGCTGCCAGTCATGAAAGCGAGCG
+>r4787
+TTTGATGTGCTCGGGGCGGCGGTGACACCTGTTGA
+>r4788
+GCTCCAGTATCACCGGATGTCGCGGTCAGAATGGT
+>r4789
+CCTGCCAGCCAAAAGCACTCTCAAAAATAGACCAA
+>r4790
+AATCCCCGGATACGCCAGCACCCACAGCCACTCAT
+>r4791
+ATCGGCTGACCAAACCAGAGCAACTGACTGGTTTT
+>r4792
+CACGGGCGACATCTGGCAGGCTTCATTCACGCCTG
+>r4793
+AATATCAACGGTAGATTCGAGGTAATGACCCACTG
+>r4794
+GGGCAGTGCCCGGATAGCATCAACGCTGCGCTGAT
+>r4795
+CCAGTGGTCGCATCATCGTTATTGACCACGACAGA
+>r4796
+CCGCTTTTATGGCGAATCTGTCACAGCTCGACGAT
+>r4797
+GCACCCACATGGACCGCCGTCATCGCCGCGCCATA
+>r4798
+CCGTTCCGTCACCGCCAACGGCTCCAGTAAGCCTT
+>r4799
+GGTCGCCTCGGAGAAACTCATGCCTTCGTCTAACT
+>r4800
+TTTTGCGCTATGTTGGCAATATTGATGAAGATGGC
+>r4801
+TTGTAGAGTTTGATCAGGCGTTTTGCTTTCGCAAT
+>r4802
+GGCTGGGCGGCGGCGAGTCCCGTCAGAAGTTCGGC
+>r4803
+AAGAATGAGAGAAGGGTTGGTTGTGGCATCCTGCG
+>r4804
+AAGAAAACACGGTGCCACGTTGTCGTAATGAATGC
+>r4805
+TTTTCACTTTGAACAGCGGATCATTACCATCCACT
+>r4806
+GCCGCCTCAACCGTGACTACATCTCCGAGCAATGC
+>r4807
+GATCTGCTGTAATCATACTTAGCGTGACCGGGAAG
+>r4808
+GGATGTTGACGGTGTTTATACCTGCGATCCGCGTC
+>r4809
+CGGCAGCTTATCGGCAAAGCGTCCGAGGTTGTTGA
+>r4810
+AGGGATGGTTGGCATGGCGGCGCGCGTCTTTGCAG
+>r4811
+GCTTGCGCAAAGCTGACCTGCTCATTGTGATCTTT
+>r4812
+CCTTCAGCGAAGACGATTTCGATTTTGCCCAACAG
+>r4813
+CATGCAGGCCATAATGATATCTGCCAGTTGCCACA
+>r4814
+GCCAGCAAACGAGTGTCATTAAGCGGCTTGCCGCA
+>r4815
+GGGTCAGGTTACAGTTAATACCTTCTTTTTCCAGC
+>r4816
+TCAGAAGCTGCTATCAGACACTCTTTTTTTAATCC
+>r4817
+GCTTGAGCTTGCCGCGAAGCTGATGAAAGATGTTA
+>r4818
+ACTTCAACAACCTCGCATCGGGCACCTGACGCGGA
+>r4819
+GGTGAAGCAGGCGTTTGATGATGAAGAACTGAAAG
+>r4820
+TACGTTGAAACGGCACCGGAAGTGGTTGCAGCATT
+>r4821
+CTATTTTTGAGAGTGCTTTTGGCTGGCAGGAAGCT
+>r4822
+CAGGTTACTCCTTTTATCATTGCCCGTTATGGGTC
+>r4823
+GAGCGAAGGGGCTATCGAACGTAAACTGTCTTACA
+>r4824
+ACTCTGCGGGCAGCACAGGTTCAATTTCAATATCC
+>r4825
+TATTTGGGCAAATTCCTGGTCGACGAAAGTTTTCA
+>r4826
+GCACAATGATCATCGTGGCGATCATCGTCCGGGGC
+>r4827
+TTGCCGCATTTATCGGCATGGCGACCTCGTTTGCC
+>r4828
+GCTTCATGGATCAGCTGCTGGGCGTTGTCTAACAG
+>r4829
+AGTTTGCTGTTGACCAGGAAAAACTGGAAAAAATG
+>r4830
+ACGACTCATCAGACCGCGTGCTTTCTTAGCGTAGA
+>r4831
+GTAGAAAGCATGAGCCACTGCCGCTCCAGTATCAC
+>r4832
+GTCAACATCCGTCCAGATCTCGCAACAATCGGCGC
+>r4833
+CTCGCCATTCATAATGTTGTTTCCACCAGCCGTGG
+>r4834
+CATTGCTGGAGGAAGCTTCATCAAAGAAGTAACCT
+>r4835
+CCAGGGCGTTTTCGCCATTTTTCACTTTGAACAGC
+>r4836
+AGTTGCCACATCAGCGGAAAACTTAACAAGGTGCC
+>r4837
+TGCCTGTCAGGCGCTGGTGAAGCAGGCGTTTGATG
+>r4838
+GAGGCGACCACACTGGCGCGGGAAATGGGTTATAC
+>r4839
+TAACGGTAACGTTGTGACCACGCGCTTCTAACACG
+>r4840
+CCAAACTGGCGGATGTAGCGAAACTGCACAAATCC
+>r4841
+AAGCCATATTCGCCTGGATTCAACTGGTCACGCAG
+>r4842
+GACGCGCATCAACTTCAGTTGAGATACGGCCCGGA
+>r4843
+ATGCAGCCGTGGATGATGAAACCACGCAACAGACA
+>r4844
+AAGTATTCATCAAGATTTTTCCGTTTAAACAGTCT
+>r4845
+TCGTTGCCAACTACATTTATGCCGAAAACAATCTC
+>r4846
+TCGCTACATCCGCCAGTTTGGCAAAAGTCTTAAAA
+>r4847
+GGATTAAAGTCTCGACGGCAGAAGCCAGGGCTATT
+>r4848
+AGTTTGATCAGGCGTTTTGCTTTCGCAATTGACGC
+>r4849
+AGCTTCGCGGCAAGCTCAAGCTGACGGGAATAGCA
+>r4850
+CCTCGGAGCCGCACGCTGCCGTAGCTTATCGTGCG
+>r4851
+AGTTGCGTTATGCGGCGGAAAAATCGCGGCGTAAA
+>r4852
+CAGCACGGATACCCTGCCAGGTAGAAGCCAGTTTG
+>r4853
+AGATCTTTCCCTCGGGCATTCTCAAGACGTATCCC
+>r4854
+TTCTCCGAGGCGACCACACTGGCGCGGGAAATGGG
+>r4855
+ACTTACGGTATTCCGGAATCTGCGCTGCGTTAAGA
+>r4856
+CGCTTCTAACACGCCGGCCATAATGGCGATCGACA
+>r4857
+GATTCGCAAACAGGCGCTGATCCTTAACTTACCCG
+>r4858
+TTGGCGGTGCGCTGCTGGAGCAACTGAAGCGTCAG
+>r4859
+TGCGCTATGCCTATATTGGTTAAAGTATTTAGTGA
+>r4860
+GGTATATCCCGCCGCGCCGCCTGCAGCTTCCTGCC
+>r4861
+GTTATTGAGAACCTGCAAAATCTGCTCAATGCTGG
+>r4862
+ACTTTTGCCAAACTGGCGGATGTAGCGAAACTGCA
+>r4863
+GCGGAAACTGACGCCCCCGCAGATTAGCTCCCTGA
+>r4864
+CGCAAGGAATTGTCCAGATGATTGGCATTTTTATC
+>r4865
+TCCAGTTCAAACGGCGTGGTTAGCGCCGATGTCAG
+>r4866
+GTTGATGCGCGTCTTTCCTATGACACCGAAGCGTC
+>r4867
+TCACCAAAGCCTGGCATCTCGCGGTCCGCTACTGC
+>r4868
+AGTTCGGCATCGCTGATATTGGGTAAAGCATCCTG
+>r4869
+ATCCGGTGATACTGGAGCGGCAGTGGCTCATGCTT
+>r4870
+ACGCTTCGGTGTCATAGGAAAGACGCGCATCAACT
+>r4871
+CATCATCGCTAAATATCAATGCCGGATTGCCATCC
+>r4872
+AAGCTGGTTGAAGAATAAACATATCGACTTACGTG
+>r4873
+GGTGCTGGCGGCCTGTTTACGCGCCGATTGTTGCG
+>r4874
+TGATGCGCGTCTTTCCTATGACACCGAAGCGTCAA
+>r4875
+CATGTGGTCAGCCGGAATGCGGCTTGCCGCAATAC
+>r4876
+CCTGTCAGGCGCTGGTGAAGCAGGCGTTTGATGAT
+>r4877
+TAAAGCGATCTGGTGTCTGCGGATCTGCACCTTCG
+>r4878
+TTACCGGTCAAGGGCATTTCCAATCTGAATAACAT
+>r4879
+CTTTTTCATTACCGGCAGTGAAACCAGCCATCAGC
+>r4880
+AAAGTGCGAGTACGATAGATTGCATCTTTTTCACA
+>r4881
+TACGCTGCCGGAGCTGTTAGACAACGCCCAGCAGC
+>r4882
+TCATCAAACGCCTGCTTCACCAGCGCCTGACAGGC
+>r4883
+CTGTGGGTGCTGGCGTATCCGGGGATTAAAGTCTC
+>r4884
+GCTTTATAAAGAACGTGATGCCAATGGGCAGTTTC
+>r4885
+TTTTTTTTCGACCAAAGGTAACGAGGTAACAACCA
+>r4886
+GTTGATACCCGCCAGTTTGTCGCTGATGCGCATCA
+>r4887
+GCACAAATCCGGTACGAAAAGTGAACCAACAACCT
+>r4888
+ACAAGCCGGATACCGCCCAGCGCGTTGCCGACTGG
+>r4889
+CTTCGTAAACAATTGGTAACGTTTACACAGGAAAG
+>r4890
+GCGACAAACTGGCGGGTATCAACGCCGCTCGCTTT
+>r4891
+GGAGCCGTCTTCTGGATGTGGGTTGCCGCATTTAT
+>r4892
+TAAAGAGAAATACTATCATGACGGACAAATTGACC
+>r4893
+CGTTATGGGTCGATATCCGGAGATTACGCGATGAG
+>r4894
+AGCGACAAACTGGCGGGTATCAACGCCGCTCGCTT
+>r4895
+ACGCGTACAGGAAACACAGAAAAAAGCCCGCACCT
+>r4896
+GCTGCCACAGGAACTCGGACTCAGTGATACGCGCC
+>r4897
+TCCGGTACGAAAAGTGAACCAACAACCTGCGCCGA
+>r4898
+ACTGTAACCTGACCCTGCTGTTCTCCTTCGCTCAG
+>r4899
+CCGGATCGATAACGGTAACGTTGTGACCACGCGCT
+>r4900
+AATCGCTTCCACGCTCTCTTTAAATTTCGCCGGAT
+>r4901
+TCGGTCGCGTCCACGATCTGCTGCGCGCGATCGTT
+>r4902
+CAACTGCATACCACCAAGAAAACACGGTGCCACGT
+>r4903
+CCGATCAGGTTATCGAAGTGTTTGTGATTGGCGTC
+>r4904
+TGCCGAATGTTCCCTCGCACAGCTTTATAAAGAAC
+>r4905
+AAGGAGTAACCTGTGAAAAAGATGCAATCTATCGT
+>r4906
+ATCATCCACGGCTGCATAACCCAGCTCTTTCAGTT
+>r4907
+GTATTCAGCTTATCCAGAAGGCGATGCGGGTGCTA
+>r4908
+CTTCCGGTGCCGTTTCAACGTATGGCCCTTCCAGC
+>r4909
+AGATCCAACGTTTCACCGAGAATCGCTTCCACGCT
+>r4910
+ACTGCCAGCAGTTTTTCGACCGGATCGATAACGGT
+>r4911
+TTCTTACCCAACCAGTCGGCAACGCGCTGGGCGGT
+>r4912
+GCTCGAGCATGCATCTAGAGGCCCAATTCGCTGCG
+>r4913
+CCGACTTCCTGCGCGAAGGTTTCCACGTTGTTACG
+>r4914
+TTATGGGCGCAAGCTTCCGTAACATCGGCGAAATT
+>r4915
+AACAGCAAACTTACGGATACCTTCCGCCAGTTTAT
+>r4916
+ACATCCATGAAACGCATTAGCACCACCATTACCAC
+>r4917
+GATGCGCTGGATGGGCGTTCTGTTCGCCGTCTTTT
+>r4918
+AGCCAAATTTCACACCGGAGAATGCCCGCCAGGCA
+>r4919
+GGCTCTGACGGCAGCTTATCGGCAAAGCGTCCGAG
+>r4920
+GAATTTCTCCTTTTTCCCTGTCGTTTTTCTCCATA
+>r4921
+CTAATTGTTAAGCTCCCCCCGCTCGAAGGGATAAG
+>r4922
+CCCCGCTGGTAACAGGTATTATTCTCGCTGTCTTT
+>r4923
+TGTAATTTTACTGACGGGACTAGCGTAATTTCCGC
+>r4924
+ATGGGTCGATATCCGGAGATTACGCGATGAGAACG
+>r4925
+CTTAGTTTCCATCTCTGATCGCGCATCCAGCGGCG
+>r4926
+TCTGCAGATATCCATCACACTGGCGGCCGCTCGAG
+>r4927
+GTGGATGATGAAACCACGCAACAGACAATGCGTGA
+>r4928
+AGTTTTCAATTGTGCCAGCGGAAATCCCGGCTGGG
+>r4929
+CCATTGGATCCTGGTTGTGCTGCCACAGGAACTCG
+>r4930
+GCGCCTCGTTCAGCTTGTTGGTGATGATATCTCCC
+>r4931
+TCCTCGATGAGAAGAACGGCAAATTTAAGATCATC
+>r4932
+CTCGAGCGGCCGCCAGTGTGATGGATATCTGCAGA
+>r4933
+CCGGTTATTGAGAACCTGCAAAATCTGCTCAATGC
+>r4934
+AGGCATGAGTTTCTCCGAGGCGACCACACTGGCGC
+>r4935
+ATCTGGTAGCGATGATTGAAAAAACCATTAGCGGT
+>r4936
+ACAGCCACTCATCAAACCCTGGCACTTGCTGGCTG
+>r4937
+CGCGCCTGCCGGAAGCCTGGCAGTAACCGTTCACG
+>r4938
+GTATTATTCTCGCTGTCTTTGCTCTGCTGGCGATC
+>r4939
+GTACGCGCTCTTCCAGGATTTCCTGCGGGATTTCA
+>r4940
+ACCTGATCGGTATTGAACAGCATCTGATGAGTAAC
+>r4941
+CAGCCCGCGCGCCATATACCATGCCGGTCCGCCAC
+>r4942
+AATACCGATAAGAAAGAGTACGCTCCGGCAGAAGA
+>r4943
+TAAATTTGCCGTTCTTCTCATCGAGGAACACTGGC
+>r4944
+GCAGCCTGCGCTGCCATGGGAGCGACCAGAACCAG
+>r4945
+ATGATTGCGTAATCAGCACCACGGAAATACGGGCG
+>r4946
+CCATGTGGGTGCCAGCGATTGCCTCGCCATTCATA
+>r4947
+CGAACAAAGTCGGGCCGGAGCCGGAGATACCGCTC
+>r4948
+CAGGTGCGGGCTTTTTTCTGTGTTTCCTGTACGCG
+>r4949
+ACCTCGTTACCTTTGGTCGAAAAAAAAGCCCGCAC
+>r4950
+ACCCAGATTATCGCCATCAACGGGACAAACCCCTG
+>r4951
+AGATTGCCGAAGTGGATGGTAATGATCCGCTGTTC
+>r4952
+TGGCAATTACCGCCGGTGGACCTGGAGCCGTCTTC
+>r4953
+CGGGCTGGGGATGCGCTGGATGGGCGTTCTGTTCG
+>r4954
+AACGCCGGCCAGGTTGCCGCTACCCACGCGCGCTG
+>r4955
+TCATTCTGACTGCAACGGGCAATATGTCTCTGTGT
+>r4956
+TCAGCCGGAATGCGGCTTGCCGCAATACGGCGGGT
+>r4957
+TTTTTCCAGTTTTTCCTGGTCAACAGCAAACTTAC
+>r4958
+AAAGATCATCTCGCGGGTCCGGTTCGGTATAACCC
+>r4959
+TTATCTCGGTGGTAGGTGATGGTATGCGCACCTTA
+>r4960
+CAGGTTACAGTTAATACCTTCTTTTTCCAGCTGTT
+>r4961
+ACGGGCAATGCAGGAAGAGTTCTACCTGGAACTGA
+>r4962
+TCCTGCAAGGACTGGATATGCTGATTCTTATTTCA
+>r4963
+AAATACTTTAACCAATATAGGCATAGCGCACAGAC
+>r4964
+GCTTGCCGCGAAGCTGATGAAAGATGTTATCGCTG
+>r4965
+GGTGAGCAGTGCCTTCGAGTTAGCAACACCGCAGA
+>r4966
+CCAATAAACGCCGAGAGGATCTTCGCACTGCGGGT
+>r4967
+GTTCCAGATCCCTTGCCTGATTAAAAATACCGGAA
+>r4968
+CTGGCTGATGATGTCGTTTTCTTCGATCATCAACT
+>r4969
+TTCTATAGCCACTATTATCAGCCGCTGCCGTTGGT
+>r4970
+GACCACCACGCGCTATACGCTGCCGGAGCTGTTAG
+>r4971
+CTCGCCTGTGGTTCATACCATTGCCAGTGATTATC
+>r4972
+CCGCCGCCCCGAGCACATCAAACCCGACGCTCATA
+>r4973
+CTCATTTCATCCACCAGTTCACACAACGTTTGCTC
+>r4974
+CTGGTGCTCACCACGGGCGGAACTGGCCCTGCGCG
+>r4975
+GTTTCAGAAGAGGTAGCGTGACCGACTTCCCGGTC
+>r4976
+TATCTGTCTGTGCGCTATGCCTATATTGGTTAAAG
+>r4977
+GCTGCGCGCGATCGTTGCTCTGCTGTTTCGCCCAG
+>r4978
+GCCAAAGAGCCGTTTAATCTCGGGCGCTTAATTCG
+>r4979
+CTCACCACGGGCGGAACTGGCCCTGCGCGTCGTGA
+>r4980
+GCACCTTACGTGGGATCTCGGCGAAATTCTTTGCC
+>r4981
+CGAAACCTTCAGCGAAGACGATTTCGATTTTGCCC
+>r4982
+AACTTCAGTTGAGATACGGCCCGGAACCAGTTTCA
+>r4983
+GATCGAAGAAAACGACATCATCAGCCAGCAAGTGC
+>r4984
+ATCGTTGCTAATACCTGCATCGTTGTAGAGTTTGA
+>r4985
+TAAAAGGAGTAACCTGTGAAAAAGATGCAATCTAT
+>r4986
+CATAACCTGCCCGCCGATTTTGCTGCGTTGCGTAA
+>r4987
+GTTTCCTGCACGACGGTCAGTGGTCACCCAAAGCG
+>r4988
+CTCTTTTTTTAATCCACACAGAGACATATTGCCCG
+>r4989
+TAAGCGGGTTTCCAGTTCAAACGGCGTGGTTAGCG
+>r4990
+GTGGGTTGCCGCATTTATCGGCATGGCGACCTCGT
+>r4991
+CACAATGAGCAGGTCAGCTTTGCGCAAGCCGTAAC
+>r4992
+ATCGCCTATCTGTAATTTTACTGACGGGACTAGCG
+>r4993
+TGATACTGGAGCGGCAGTGGCTCATGCTTTCTACG
+>r4994
+ACCTACATGCCGCTGGAAGGTATTCAGCTTATCCA
+>r4995
+GTGCTGCCACAGGAACTCGGACTCAGTGATACGCG
+>r4996
+CTGAAATTGATGAGATGCTGAAGCTGGATTTTGTC
+>r4997
+TGGTATGAACCACAGGCGAGAGCAGTAATATGGCG
+>r4998
+GAAACGTTGGATCTGCCAAAAGAGCTGGCAGAACG
+>r4999
+ATAGCCATGCAGGCCATAATGATATCTGCCAGTTG
+>r5000
+TGGATTACTACCATCAGTTGCGTTATGCGGCGGAA
+>r5001
+CGGCGGGTCTGCTGGCGAAGTCACTCGGTCTGCCG
+>r5002
+TGTCTAACAGCTCCGGCAGCGTATAGCGCGTGGTG
+>r5003
+GCACCAGGTACGCTCATTGGTGCCAGCCGTGATGA
+>r5004
+CTCATCAGACCGCGTGCTTTCTTAGCGTAGAAGCT
+>r5005
+AGTTGATGCGCGTCTTTCCTATGACACCGAAGCGT
+>r5006
+CCGCAGCCTGCGCTGCCATGGGAGCGACCAGAACC
+>r5007
+GCTGTCTTTGCTCTGCTGGCGATCACTCGCGGTCT
+>r5008
+AAATTCCTGGTCGACGAAAGTTTTCAATTGTGCCA
+>r5009
+GAGGATAACCACTTTCACATTCGGTAAACCGTAGA
+>r5010
+CTGGTACACAATGACTGAAATGAGGTTAAACCGCC
+>r5011
+TTTTTCCAGCTGTTCTGCAGCACGGATACCCTGCC
+>r5012
+GCAATACGGCGGGTGGATTCAGCAATATCAACGGT
+>r5013
+TTATTGACTTAGGTCACTAAATACTTTAACCAATA
+>r5014
+CATTGCCATGTTATTCAGATTGGAAATGCCCTTGA
+>r5015
+ACGATGATCGCCACGATGATCATTGTGCTTGTTAT
+>r5016
+TGACCGGTAATTCGTCTTCATCACGGCTGGCACCA
+>r5017
+GCCGATATTCTGGAAAGCAATGCCAGGCAGGGGCA
+>r5018
+CAACGCCACCGACGCCAATCACAAACACTTCGATA
+>r5019
+TACTTTAACCAATATAGGCATAGCGCACAGACAGA
+>r5020
+AGCCATATTCGCCTGGATTCAACTGGTCACGCAGC
+>r5021
+CAGGATTGCATTGCGCACGGGCGACATCTGGCAGG
+>r5022
+AGCTGCAGGCGGCGCGGCGGGATATACCTTAAGCC
+>r5023
+GCGCAATGCAATCCTGGCGGCGATACTGCGCCGGT
+>r5024
+CATAGGAAAGACGCGCATCAACTTCAGTTGAGATA
+>r5025
+CCTGGAACTGAAAGAAGGCTTACTGGAGCCGTTGG
+>r5026
+ATCCTGGCGGCGATACTGCGCCGGTAAAATAGCCC
+>r5027
+CCGCACCTGACAGTGCGGGCTTTTTTTTCGACCAA
+>r5028
+GAAGAGTTCTACCTGGAACTGAAAGAAGGCTTACT
+>r5029
+GTTGTCTAACAGCTCCGGCAGCGTATAGCGCGTGG
+>r5030
+TCATCAGCTTCGCGGCAAGCTCAAGCTGACGGGAA
+>r5031
+GCTTGCAGGCCGAAACCTTCAGCGAAGACGATTTC
+>r5032
+GATATCACAAGGGCGAATTCTGCAGATATCCATCA
+>r5033
+AGGTATTAGCAACGATCGTATTCTGATCAAACTGG
+>r5034
+AAGCGCGTGGTCACAACGTTACCGTTATCGATCCG
+>r5035
+GTGCGCTTTGTTTATGCCGGATGCGGCGTGAACGC
+>r5036
+GCCTTATCCGGCCTACAAAATCGTGCAAATTCAAT
+>r5037
+GACGCGACCGACAAACTGGCAGTAAATATTGGTCT
+>r5038
+AACTTCAACACTCGCATGGTTGTTACCTCGTTACC
+>r5039
+TATAAACACCGTCAACATCCGTCCAGATCTCGCAA
+>r5040
+AGAATATCATCTGCTGAACCCGGTCATTGTTGACT
+>r5041
+ACGTTCTTTATAAAGCTGTGCGAGGGAACATTCGG
+>r5042
+AACTGGCAGGCTGCGACCGTCTGACCATCGCACCG
+>r5043
+CACATTATCGCCTTGTGCTGCGAGCGCCTCGTTCA
+>r5044
+CACGTTGGTCGCAGCAATAAAACGTTTTACCGGCA
+>r5045
+GTTTTTGCCAGGAGCTTGGCAAGCAAATTCCAGTG
+>r5046
+ATTGATGAGATGCTGAAGCTGGATTTTGTCACCCG
+>r5047
+AATAGCCACGATTATCACGATCGCCTATCTGTAAT
+>r5048
+CCAGTTTTCCAGATTAAGGCCATGTACATTGGTGA
+>r5049
+AATTCTGCAGATATCCATCACACTGGCGGCCGCTC
+>r5050
+CGATATCCGGAGATTACGCGATGAGAACGGCAGTT
+>r5051
+CCACATGGTGCTGATGGCTGGTTTCACTGCCGGTA
+>r5052
+CATTTCCAATCTGAATAACATGGCAATGTTCAGCG
+>r5053
+GGATGATGAAACCACGCAACAGACAATGCGTGAGT
+>r5054
+AGGCCGCCAGCACCGCAGCGGAGTAGTCGGAACCG
+>r5055
+TGCCGCCGATGACCGTTGCGAAGGTGCAGATCCGC
+>r5056
+GACCAACGTGAACGATACCGTACCACGTTTCCTGC
+>r5057
+CGCCTGAGTCGCTTTGGGTGACCACTGACCGTCGT
+>r5058
+TCTGCTGTTTCGCCCAGGCGACAGCATCATCAATC
+>r5059
+TACTCGTGCGCCCGCCGTATCCAGCCGGCAAATAT
+>r5060
+CGTAAACTGTCTTACACTGGTGAAGTGAAAGCGCG
+>r5061
+GGCCTGATAAGCGTAGCGCATCAGGCAGTTTTGCG
+>r5062
+GGAATTTACGCCGCGATTTTTCCGCCGCATAACGC
+>r5063
+TCGCATCGGGCACCTGACGCGGATCGCAGGTATAA
+>r5064
+CTCATCAGATGCTGTTCAATACCGATCAGGTTATC
+>r5065
+AATGGCTGACATCGGCGCTAACCACGCCGTTTGAA
+>r5066
+AATGAGGCGGGAATGGGGTCGACGCCAAACGCGGC
+>r5067
+GTTTGGCTGGCTAACATCCATCGCATTGGATAACG
+>r5068
+TTGCCATCTGGTGCTCACCACGGGCGGAACTGGCC
+>r5069
+TCAATATTGCCAACATAGCGCAAAACTTTTCCTTC
+>r5070
+TTCCGCAAAGCGACTGTGTGCGAGCTGAACGGGCA
+>r5071
+CATTTCCAGACGATAAGGCTGCATTAAATCGAGCG
+>r5072
+CGCTGAAGGTTTCGGCCTGCAAGCCAGTGTAGACA
+>r5073
+CCAGTTCACACAACGTTTGCTCGATGATCGCCTGC
+>r5074
+TTGCCGGCTGGATACGGCGGGCGCACGAGTACTGG
+>r5075
+TACGATCTTCTTGCAATATATTGAATTTGCACGAT
+>r5076
+GAACCTGTGCTGCCCGCAGAGTTTAACGCCGAGGG
+>r5077
+TCGAAGTGTTTGTGATTGGCGTCGGTGGCGTTGGC
+>r5078
+GCAACCCACATCCAGAAGACGGCTCCAGGTCCACC
+>r5079
+TTTAAAGAGAGCGTGGAAGCGATTCTCGGTGAAAC
+>r5080
+GGTAAAACGTTTTATTGCTGCGACCAACGTGAACG
+>r5081
+TCAGACGGTCGCAGCCTGCCAGTTCCAGAATTTCG
+>r5082
+AAGTGGCGCTGGGGCTGAATTCTGCTAACTCCATC
+>r5083
+CACGGGCCTTCGCCACACGCGCGGCAAAGAGATCG
+>r5084
+TAACTCGAAGGCACTGCTCACCAATGTACATGGCC
+>r5085
+GAGGGTAACAAACTCCGCACCCCAGGAACCCATTA
+>r5086
+CTTGCGCTGCCGGATGCGGAGGCCAGGACGCAGCT
+>r5087
+CAATGGCGAACTGGTGTTTAAACGCTACGAACAAC
+>r5088
+CAGCATTTGCGAATGCTTTCCGGCTTGTATGGCGT
+>r5089
+CTCTACAATCTGAAAGATCACAATGAGCAGGTCAG
+>r5090
+CTCGCCACGGCAAATCAGCGCAGCGTTGATGCTAT
+>r5091
+TTCCTGATCTCGCCGTTTGTTGGCCGTATTCTTGA
+>r5092
+TACGCCATACAAGCCGGAAAGCATTCGCAAATGCT
+>r5093
+CATCCACAGCCAGGCGGTTTAACCTCATTTCAGTC
+>r5094
+GCTCAATGCTGGTGATGAATTGATGAAGTTCTCCG
+>r5095
+ATGCCGGATAATGCCGGATGGCAATCCGGCATTGA
+>r5096
+TCACGACGCGCAGGGCCAGTTCCGCCCGTGGTGAG
+>r5097
+GCGGTGCTGGCGGCCTGTTTACGCGCCGATTGTTG
+>r5098
+ACTGGCGGGTAACGGCACAACCTACATGCCGCTGG
+>r5099
+CATTAGCACCACCATTACCACCACCATCACCATTA
+>r5100
+ACCGGTCAAGGGCATTTCCAATCTGAATAACATGG
+>r5101
+GCCTGGCTGGAAGTACAGTCAACAATGACCGGGTT
+>r5102
+CACCTTTAAACGCCAGAATTGCCTGGCGGGCATTC
+>r5103
+CATTGCCATGTTATTCAGATTGGAAATGCCCTTGA
+>r5104
+GCGACCGTCTGACCATCGCACCGGCACTGCTGAAA
+>r5105
+TAAAACGTTTTACCGGCAGACCGAGTGACTTCGCC
+>r5106
+GGCCCGGGGATGAAAGGGATGGTTGGCATGGCGGC
+>r5107
+ATGGCAGTAGATAAACTGGCGGAAGGTATCCGTAA
+>r5108
+GCTGTTAGACAACGCCCAGCAGCTGATCCATGAAG
+>r5109
+GTCGCCCGGCTCATGCAGGGGTTTGTCCCGTTGAT
+>r5110
+AAAGAGCCGTTTAATCTCGGGCGCTTAATTCGCCT
+>r5111
+ATTGGTAACGTTTACACAGGAAAGTCATCGCGACC
+>r5112
+ATGACAAACGCAAAACTGCCTGATGCGCTACGCTT
+>r5113
+AGGTAGAACTCTTCCTGCATTGCCCGTTCAGCTCG
+>r5114
+CGTATTCTTGACTGATACAAAGCGAATACCGATAA
+>r5115
+GCGATTGCCTCGCCATTCATAATGTTGTTTCCACC
+>r5116
+TGATGATTCATCATCAATTTACGCAACGCAGCAAA
+>r5117
+GACGGCGGGTCTGCTGGCGAAGTCACTCGGTCTGC
+>r5118
+ACGCGCGCTGCAAGACTGGTACACAATGACTGAAA
+>r5119
+ATCAATTCTGGGGAGATATCATCACCAACAAGCTG
+>r5120
+GCCTGCTATTCCCGTCAGCTTGAGCTTGCCGCGAA
+>r5121
+GTAAGCTATTGATTCTCGCTCGTGAAACGGGACGT
+>r5122
+AGGCCGGATAAGGCGTTCACGCCGCATCCGGCATA
+>r5123
+ATCCTGAAACTGGTTCCGGGCCGTATCTCAACTGA
+>r5124
+TCGACCGGATCGATAACGGTAACGTTGTGACCACG
+>r5125
+GCGAGAATAATACCTGTTACCAGCGGGGGAAAATC
+>r5126
+TCACGCATTGTCTGTTGCGTGGTTTCATCATCCAC
+>r5127
+GTTCAGGCGTAAAAAGAAGAGATTGTTTTCGGCAT
+>r5128
+GAATATCGGCAACCCGCAGAAAACGTTCTGCATTT
+>r5129
+GATTGGAAATGCCCTTGACCGGTAATTCGTCTTCA
+>r5130
+GTGAAATTTGGCTGCCAGTCATGAAAGCGAGCGGC
+>r5131
+TTATCACGATCGCCTATCTGTAATTTTACTGACGG
+>r5132
+ATGCCGAAAACAATCTCTTCTTTTTACGCCTGAAC
+>r5133
+TAATACCTTCTTTTTCCAGCTGTTCTGCAGCACGG
+>r5134
+CCGAGATTAAACGGCTCTTTGGCTTGCGCCAGTTC
+>r5135
+CCCGCCGTATTGCGGCAAGCCGCATTCCGGCTGAC
+>r5136
+GGCTGGCACCAATGAGCGTACCTGGTGCTTGGGGA
+>r5137
+AATTTTAATTTACTCACGGCAGGTAACCAGTTCAG
+>r5138
+TTCTTTTGATTTTCCCCCGCTGGTAACAGGTATTA
+>r5139
+TTAACAATCTTATCCCTTCGAGCGGGGGGAGCTTA
+>r5140
+TTGGCGGGGGCAGAGAGGACGGTGGCCACCTGCCC
+>r5141
+CTATTCCCGTCAGCTTGAGCTTGCCGCGAAGCTGA
+>r5142
+AACTTAGAGATTAGGATTGCGGAGAATAACAACTG
+>r5143
+GGCAAAATCGAAATCGTCTTCGCTGAAGGTTTCGG
+>r5144
+AGATTTTGCGGCGGAACAACTCTTCCACACGCGGC
+>r5145
+TCACTGCCGGTAATGAAAAAGGCGAGCTGGTGGTT
+>r5146
+TATCTGCCAGTTGCCACATCAGCGGAAAACTTAAC
+>r5147
+GGAATACCGTAAGTTGATTGATGATGCTGTCGCCT
+>r5148
+CTCCAGTTCACGTCCCGTTTCACGAGCGAGAATCA
+>r5149
+AACCGCCTGGCTGTGGATGAATGCTATTTTTAAGA
+>r5150
+ACCGACATCGCTTTCAACATTGGCGACCGGAGCCG
+>r5151
+AACGTTACCCTCAGCGTCCTTCACACCTTCCAGCG
+>r5152
+GATTCAGCAATATCAACGGTAGATTCGAGGTAATG
+>r5153
+TGTGGCAGCACAACCAGGATCCAATGGCAGTAGAT
+>r5154
+CCGCATTCCGGCTGACCACATGGTGCTGATGGCTG
+>r5155
+TCGATAGCCCCTTCGCTCTCCGCCAGCTCTTTCAG
+>r5156
+TATCGTACTCGCACTTTCCCTGGTTCTGGTCGCTC
+>r5157
+GGAGTCTGACATGGTTAAAGTTTATGCCCCGGCTT
+>r5158
+ATCGCGTAATCTCCGGATATCGACCCATAACGGGC
+>r5159
+GAGCCTGAGCGAAGGAGAACAGCAGGGTCAGGTTA
+>r5160
+CCGTAACATCGGCGAAATTCTGGAACTGGCAGGCT
+>r5161
+GCCAAACGCGGCAGCGGCAGCTGCGTCCTGGCCTC
+>r5162
+GTTGATGCGCGTCTTTCCTATGACACCGAAGCGTC
+>r5163
+TCTACCAGTACTACAAAGAGCATGGTTATGAAACC
+>r5164
+CCCCCATCGCCCAGTTCCAGATCCCTTGCCTGATT
+>r5165
+GACAGGGAAAAAGGAGAAATTCTCAATAAATGCGG
+>r5166
+GGGCCAACGCTGGCATTTAAAGATTTCGGCGGTCG
+>r5167
+TGGGAGCGTTTTTGCCAGGAGCTTGGCAAGCAAAT
+>r5168
+TCCCCACGTCATTTGGTCTATTTTTGAGAGTGCTT
+>r5169
+GCTAACCACGCCGTTTGAACTGGAAACCCGCTTAA
+>r5170
+GTAGTTCTTACCCAACCAGTCGGCAACGCGCTGGG
+>r5171
+GAAGTAACCTTCGCTATTAAAACCAGTCAGTTGCT
+>r5172
+TAAGTTAAGGATCAGCGCCTGTTTGCGAATCACCC
+>r5173
+GTTACTTCTTTGATGAAGCTTCCTCCAGCAATGGC
+>r5174
+CTAATTGTTAAGCTCCCCCCGCTCGAAGGGATAAG
+>r5175
+GTGGTTCTGGGACGCAACGGTTCCGACTACTCCGC
+>r5176
+ATGTTTCGCAGGAGTAATCACAACTATCGATCAAC
+>r5177
+ACTCGCCGCCGCCCAGCCGGGATTTCCGCTGGCAC
+>r5178
+TCGTTCAGCTTGTTGGTGATGATATCTCCCCAGAA
+>r5179
+CATATTGATCTGCCACAGCCTGGCTGGAAGTACAG
+>r5180
+GCTAATACCTGCATCGTTGTAGAGTTTGATCAGGC
+>r5181
+GGTAGAAGCCAGTTTGATCAGAATACGATCGTTGC
+>r5182
+TTGCCGCGATGTCCCCAGTGTCGGCCACTACGGTG
+>r5183
+TACGGCGGGCGCACGAGTACTGGAAAACTAAATGA
+>r5184
+GATGCGCATCAGGGAGCTAATCTGCGGGGGCGTCA
+>r5185
+GCATTTGCGAATGCTTTCCGGCTTGTATGGCGTAC
+>r5186
+GATCCTCTCGGCGTTTATTGGTGATGAAATCCCGC
+>r5187
+TTTTATGCAGCCCGGCTTTTTTTATGAAGAAAATA
+>r5188
+CCAGACGCGTGGGATGATGTTTCGCAGGAGTAATC
+>r5189
+ACCGTACCACGTTTCCTGCACGACGGTCAGTGGTC
+>r5190
+GGCAATTACCGCCGGTGGACCTGGAGCCGTCTTCT
+>r5191
+TGCGCATACCATCACCTACCACCGAGATAATGGCC
+>r5192
+CAGCCAAATTTCACACCGGAGAATGCCCGCCAGGC
+>r5193
+GTCGATATCCGGAGATTACGCGATGAGAACGGCAG
+>r5194
+ACTGCCGCTCCAGTATCACCGGATGTCGCGGTCAG
+>r5195
+ACCACGGCTGGTGGAAACAACATTATGAATGGCGA
+>r5196
+GAAAACTTTCGTCGACCAGGAATTTGCCCAAATAA
+>r5197
+TCTCCTTTATTAACAGCGTCCTTTGGGGATCGGTA
+>r5198
+GTTTAAAGAGAAATACTATCATGACGGACAAATTG
+>r5199
+TGGGGTGCGGAGTTTGTTACCCTCGTGGTTATTCT
+>r5200
+TGAAACCAGCCATCAGCACCATGTGGTCAGCCGGA
+>r5201
+ACCATTAGCGGTCAGGATGCTTTACCCAATATCAG
+>r5202
+GAGGTAATGACCCACTGCCAGCAGTTTTTCGACCG
+>r5203
+GTGGTCACCCAAAGCGACTCAGGCGACGTTATCCA
+>r5204
+GGCAGACGCCATCTTCATCAATATTGCCAACATAG
+>r5205
+GCGAAAACGCTTGATTACCAAAGCCCGTTGACCAC
+>r5206
+CAGGTATAAACACCGTCAACATCCGTCCAGATCTC
+>r5207
+CATCCTGACCGCTAATGGTTTTTTCAATCATCGCT
+>r5208
+TCACTTTGAACAGCGGATCATTACCATCCACTTCG
+>r5209
+ATCATCGTGGCGATCATCGTCCGGGGCCTGACAAA
+>r5210
+AGTGTATCATTCTGCTTAACGAGACTGTTTAAACG
+>r5211
+TTCCTGCGCGAAGGTTTCCACGTTGTTACGCCGAA
+>r5212
+CACGAAACTGCCCATTGGCATCACGTTCTTTATAA
+>r5213
+ATTACCGGTCAAGGGCATTTCCAATCTGAATAACA
+>r5214
+CGTAATCAGCACCACGGAAATACGGGCGCGTGACA
+>r5215
+CCGAAGTGGATGGTAATGATCCGCTGTTCAAAGTG
+>r5216
+GCCTGGTGATTTGCGTAATGAATATCGGGCAACTT
+>r5217
+CTGCGCCGGTAAAATAGCCCTGGCTTCTGCCGTCG
+>r5218
+ATCATCAGTAACATCTATTCATTATCTCAATCAGG
+>r5219
+CACAGGAAAGTCATCGCGACCGGCAATAAGAGGGA
+>r5220
+CGTCAGCTTGAGCTTGCCGCGAAGCTGATGAAAGA
+>r5221
+TTTATGGCACAAATGCTGACCCATATTGCGGGCGA
+>r5222
+CGCAGCAGATCGTGGACGCGACCGACAAACTGGCA
+>r5223
+TGCTACGCAGAAGTTATCCAAGTACCTCGTAGCGT
+>r5224
+TGAATGTCTCTGCCGCCTCAACCGTGACTACATCT
+>r5225
+CCAACGCTGGCATTTAAAGATTTCGGCGGTCGCTT
+>r5226
+GCCAAACGCGGCAGCGGCAGCTGCGTCCTGGCCTC
+>r5227
+TGCCGGTAAAACGTTTTATTGCTGCGACCAACGTG
+>r5228
+ATCTTCGGCAAGTTAGACGAAGGCATGAGTTTCTC
+>r5229
+CAGACTCCTAACTTCCATGGGAGGGTACGTAGCAG
+>r5230
+GGCATAGCGCACAGACAGATAAAAATTACAGAGTA
+>r5231
+ATTCATCACCAGCATTGAGCAGATTTTGCAGGTTC
+>r5232
+CCGGATGCGCGGTGCCGAGGAACAAGCCATATTCG
+>r5233
+CATGAGGTTTCGTATAAAAATGGCGGGCGATATCA
+>r5234
+CGTTGATACCCGCCAGTTTGTCGCTGATGCGCATC
+>r5235
+GCCTAACCCCTGGGTTACGGCTTGCGCAAAGCTGA
+>r5236
+CTAATTGTTAAGCTCCCCCCGCTCGAAGGGATAAG
+>r5237
+GCGGAGTTTGTTACCCTCGTGGTTATTCTGTTTGC
+>r5238
+TGAGAATTTCTCCTTTTTCCCTGTCGTTTTTCTCC
+>r5239
+GCCTGGCTGGAAGTACAGTCAACAATGACCGGGTT
+>r5240
+CCGAGTGGAAACTTCGGCGATTTGACGGCGGGTCT
+>r5241
+CCGGTGTCTTTGCTGATCTGCTACGTACCCTCCCA
+>r5242
+CACGCAGCGCACGATAAGCTACGGCAGCGTGCGGC
+>r5243
+GTTAGACGAAGGCATGAGTTTCTCCGAGGCGACCA
+>r5244
+GGTGAGCACCAGATGGCAACTCATTTCATCCACCA
+>r5245
+TCAGTTTGTTGGGGCAGTGCCCGGATAGCATCAAC
+>r5246
+GGCGCTGATGGCGATGAATGAACACTGCGGCAAGC
+>r5247
+CGATCCTTTCGCGTCAGGTGGGGGTGATTCGCAAA
+>r5248
+AAGTAAGAAAGCTCCATCGCTTCCTGATAGGACAT
+>r5249
+CGGTAAACCGTAGAAAGCATGAGCCACTGCCGCTC
+>r5250
+ATGGCCCTTCCAGCAACTGAATGCAGTACGGTACG
+>r5251
+CTTCGGTTGACCGGGTAAGTTAAGGATCAGCGCCT
+>r5252
+GTCAATTGCGAAAGCAAAACGCCTGATCAAACTCT
+>r5253
+CTGATTTGCCGTGGCGAGAAAATGTCGATCGCCAT
+>r5254
+CTGGGGATGCGCTGGATGGGCGTTCTGTTCGCCGT
+>r5255
+CAGTTTCGATATTGCCGCCCAATGTACAGAACAGT
+>r5256
+GCGGAACGCAGAAACTGATACTGTATTCGGAAGAT
+>r5257
+ACCTTCAGCGAAGACGATTTCGATTTTGCCCAACA
+>r5258
+CAATCATCTGGACAATTCCTTGCGCTGCCGGATGC
+>r5259
+TGCATACCACCAAGAAAACACGGTGCCACGTTGTC
+>r5260
+AATCGAAATCGTCTTCGCTGAAGGTTTCGGCCTGC
+>r5261
+CTGGAAAAAGAAGGTATTAACTGTAACCTGACCCT
+>r5262
+GGAACACTGGCTTGATAATCTCGGCATTCAATTTC
+>r5263
+CGCGAAGCTGATGAAAGATGTTATCGCTGAACCCT
+>r5264
+GCCTGGCTGGAAGTACAGTCAACAATGACCGGGTT
+>r5265
+GTTTTTTCAATCATCGCTACCAGATGGTTGGTGAT
+>r5266
+GATGCCACAACCAACCCTTCTCTCATTCTTAACGC
+>r5267
+ATAAAGCGACCGCCGAAATCTTTAAATGCCAGCGT
+>r5268
+GTCTTTGCTGATCTGCTACGTACCCTCCCATGGAA
+>r5269
+GCGGTCAAATTGGTAATAGCCATGCAGGCCATAAT
+>r5270
+TATGCCTATATTGGTTAAAGTATTTAGTGACCTAA
+>r5271
+ACTGGTTCCGGGCCGTATCTCAACTGAAGTTGATG
+>r5272
+CGGCAGTGGCTCATGCTTTCTACGGTTTACCGAAT
+>r5273
+CGGGCCAACGCTGGCATTTAAAGATTTCGGCGGTC
+>r5274
+GCGTGACCGGGAAGTCGGTCACGCTACCTCTTCTG
+>r5275
+AAAAACAGCCCCTGATTTTTGCCTAACCCCTGGGT
+>r5276
+CATCCATGAAACGCATTAGCACCACCATTACCACC
+>r5277
+TTCCAATGAGGCGGGAATGGGGTCGACGCCAAACG
+>r5278
+AGCACCCGCATCGCCTTCTGGATAAGCTGAATACC
+>r5279
+AGATTTTTCCGTTTAAACAGTCTCGTTAAGCAGAA
+>r5280
+GGTAGATTCGAGGTAATGACCCACTGCCAGCAGTT
+>r5281
+CGGAGATACGCCCTTCCAACTCGCCCATCAAAGCC
+>r5282
+CGCGTAAGCTATTGATTCTCGCTCGTGAAACGGGA
+>r5283
+CGTTGTTACGCCGAACAAAAAGGCCAACACCTCGT
+>r5284
+CGATCGTTGCTCTGCTGTTTCGCCCAGGCGACAGC
+>r5285
+CATGGCAGCGCAGGCTGCGGAAATTACGCTAGTCC
+>r5286
+TATTTTAAATCGGTGAAGCCGAAGAAATTGAATGC
+>r5287
+CGCCATTTTTCACTTTGAACAGCGGATCATTACCA
+>r5288
+AATACGGCGGGTGGATTCAGCAATATCAACGGTAG
+>r5289
+GAAAGATCACAATGAGCAGGTCAGCTTTGCGCAAG
+>r5290
+ATAATGATATCTGCCAGTTGCCACATCAGCGGAAA
+>r5291
+AACCAACAACCTGCGCCGAAAAGCAGGTAAATCAT
+>r5292
+TGAAGATTGCCGAAGTGGATGGTAATGATCCGCTG
+>r5293
+CACGATGATCATTGTGCTTGTTATGGCGCGGCGAT
+>r5294
+CGCTGCGTTGATATCGCCCGCCATTTTTATACGAA
+>r5295
+AGCACCGCAGCGGAGTAGTCGGAACCGTTGCGTCC
+>r5296
+GTGGCTGTGGGTGCTGGCGTATCCGGGGATTAAAG
+>r5297
+GTGATACTGGAGCGGCAGTGGCTCATGCTTTCTAC
+>r5298
+TGACATCGCTGCAAAGACGCGCGCCGCCATGCCAA
+>r5299
+AGCAATATCAACGGTAGATTCGAGGTAATGACCCA
+>r5300
+GAACATTCGGCAAACGAGGTCGCCATGCCGATAAA
+>r5301
+GCTTGCTGGCGCAGATTTGTTATTACTTTGAGGCT
+>r5302
+GAAATTCTGGAACTGGCAGGCTGCGACCGTCTGAC
+>r5303
+CGATAAGGCTGCATTAAATCGAGCGGGCGCAGTAC
+>r5304
+GACTGCAACGGGCAATATGTCTCTGTGTGGATTAA
+>r5305
+GACGAAGGCATGAGTTTCTCCGAGGCGACCACACT
+>r5306
+CTAATTGTTAAGCTCCCCCCGCTCGAAGGGATAAG
+>r5307
+CTGTGACAGATTCGCCATAAAAGCGGCGACATCAC
+>r5308
+CTGGATGTGGGTTGCCGCATTTATCGGCATGGCGA
+>r5309
+GCTGGGTTATGCAGCCGTGGATGATGAAACCACGC
+>r5310
+AACATTGTCGCCATTGCTCAGGGATCTTCTGAACG
+>r5311
+CAAATAAAACATGTCCTGCATGGCATCAGTTTGTT
+>r5312
+CCGAAGAGTGCAAGACGCGAAGTTAGCGAATAAAA
+>r5313
+CAATCATCTGGACAATTCCTTGCGCTGCCGGATGC
+>r5314
+CCTGCAAAATCAGGAAGGTTTTGTTCATATTTGCC
+>r5315
+AACATACTGCGCTGAAAACCGTTAGTAATCGCCTG
+>r5316
+TTGAGACTGAATGTCTCTGCCGCCTCAACCGTGAC
+>r5317
+GGCAAGCCGCATTCCGGCTGACCACATGGTGCTGA
+>r5318
+TCAACTGGTCACGCAGCGCACGATAAGCTACGGCA
+>r5319
+ACTTTTCGTACCGGATTTGTGCAGTTTCGCTACAT
+>r5320
+CGCCATTGCTGGAGGAAGCTTCATCAAAGAAGTAA
+>r5321
+ATTGAAAAAACCATTAGCGGTCAGGATGCTTTACC
+>r5322
+GTGGGATGATGTTTCGCAGGAGTAATCACAACTAT
+>r5323
+ATGTGGTCAGCCGGAATGCGGCTTGCCGCAATACG
+>r5324
+GGCGGTATCCGGCTTGTCACACAGAGCGAACAAAG
+>r5325
+GTGGTGATAAATCTGGCGTCAGATGAGTATTTTAA
+>r5326
+TCTTCATCACGGCTGGCACCAATGAGCGTACCTGG
+>r5327
+GCCCGGTGTTTGATCCGTTGCGTTATCCGGAGATC
+>r5328
+TGGCAATTACCGCCGGTGGACCTGGAGCCGTCTTC
+>r5329
+CATCAACTTCAGTTGAGATACGGCCCGGAACCAGT
+>r5330
+GGGTTGCCGCATTTATCGGCATGGCGACCTCGTTT
+>r5331
+CTACAAAGAGCATGGTTATGAAACCGTGGTTATGG
+>r5332
+TTCGATCATCAACTGCATACCACCAAGAAAACACG
+>r5333
+TGATCAAACTGGCTTCTACCTGGCAGGGTATCCGT
+>r5334
+ATCATCGCTAAATATCAATGCCGGATTGCCATCCG
+>r5335
+CAATGCCGGATAATGCCGGATGGCAATCCGGCATT
+>r5336
+AATGATCCGCTGTTCAAAGTGAAAAATGGCGAAAA
+>r5337
+ACGACGCGCAGGGCCAGTTCCGCCCGTGGTGAGCA
+>r5338
+ATTACAGATAGGCGATCGTGATAATCGTGGCTATT
+>r5339
+GCAGGCGATCATCGAGCAAACGTTGTGTGAACTGG
+>r5340
+CCGATTTAAAATACTCATCTGACGCCAGATTTATC
+>r5341
+TAGCGATGATTGAAAAAACCATTAGCGGTCAGGAT
+>r5342
+GGCGATATCAACGCAGCGAATTGGGCCTCTAGATG
+>r5343
+TGTTGATGGAGTTAGCAGAATTCAGCCCCAGCGCC
+>r5344
+AAGAGATTGTTTTCGGCATAAATGTAGTTGGCAAC
+>r5345
+TTGGTACAAAATGCAGGCTGATCTGGCGCATCTGT
+>r5346
+TTATTGCTGCGACCAACGTGAACGATACCGTACCA
+>r5347
+AAAAAGACGGCGAACAGAACGCCCATCCAGCGCAT
+>r5348
+TCGTCGACCAGGAATTTGCCCAAATAAAACATGTC
+>r5349
+CTATGACACCAACGTTGGGGCTGGATTACCGGTTA
+>r5350
+CAGCTCTTTTGGCAGATCCAACGTTTCACCGAGAA
+>r5351
+CTAATTGTTAAGCTCCCCCCGCTCGAAGGGATAAG
+>r5352
+GTGTCTGATAGCAGCTTCTGAACTGGTTACCTGCC
+>r5353
+AGCGTCCGAGGTTGTTGAGACTGAATGTCTCTGCC
+>r5354
+GAAGGACGCTGAGGGTAACGTTGTGGTGCACGGTA
+>r5355
+CAGCGTTGATGCTATCCGGGCACTGCCCCAACAAA
+>r5356
+CAGGTCGTGCGGAAAAAACAGCCCCTGATTTTTGC
+>r5357
+GATATCGACCCATAACGGGCAATGATAAAAGGAGT
+>r5358
+ACTGCTGGCAGTGGGTCATTACCTCGAATCTACCG
+>r5359
+ACTCACGGCAGGTAACCAGTTCAGAAGCTGCTATC
+>r5360
+TTTGCTGCGTTGCGTAAATTGATGATGAATCATCA
+>r5361
+GCAGACCGAGTGACTTCGCCAGCAGACCCGCCGTC
+>r5362
+CTCTATCCACGAGGCAAAATCAGTCCACTGCAAGA
+>r5363
+GACTGGTTGGGTAAGAACTACCTGCAAAATCAGGA
+>r5364
+AGTCCCGTCAGAAGTTCGGCAAAAATAAGTTCGGC
+>r5365
+AACCTTCCTGATTTTGCAGGTAGTTCTTACCCAAC
+>r5366
+CTGATGACAAACGCAAAACTGCCTGATGCGCTACG
+>r5367
+TGCCGATAAGCTGCCGTCAGAGCCACGGGAAAATA
+>r5368
+GTTTGCTCGATGATCGCCTGCTCATCGGGGATTAA
+>r5369
+TTGATATCGCCCGCCATTTTTATACGAAACCTCAT
+>r5370
+TTACCGGCAGACCGAGTGACTTCGCCAGCAGACCC
+>r5371
+AATATCGGGCAACTTCCCCACGTCATTTGGTCTAT
+>r5372
+TCGCAGCCTGCCAGTTCCAGAATTTCGCCGATGTT
+>r5373
+ACTGGAAGCCGGGGCATAAACTTTAACCATGTCAG
+>r5374
+CACGACGGTCAGTGGTCACCCAAAGCGACTCAGGC
+>r5375
+CGCTGAACCCTACCGTGAACGGTTACTGCCAGGCT
+>r5376
+AAAGAGCATGGTTATGAAACCGTGGTTATGGGCGC
+>r5377
+CGCGGCGATGACGGCGGTCCATGTGGGTGCCAGCG
+>r5378
+GGCGTCAGTTTCCGCGCTTCATGGATCAGCTGCTG
+>r5379
+ATCGCCTTCTGGATAAGCTGAATACCTTCCAGCGG
+>r5380
+GTACGCTCATTGGTGCCAGCCGTGATGAAGACGAA
+>r5381
+CTGGCAGGGTATCCGTGCTGCAGAACAGCTGGAAA
+>r5382
+CCTCTCTGCCCCCGCCAAAATCACCAACCATCTGG
+>r5383
+TGACAAGCCGGATACCGCCCAGCGCGTTGCCGACT
+>r5384
+GGAAAACTAAATGAAACTCTACAATCTGAAAGATC
+>r5385
+GCTCCAGTAAGCCTTCTTTCAGTTCCAGGTAGAAC
+>r5386
+TGAGACTGAATGTCTCTGCCGCCTCAACCGTGACT
+>r5387
+TTGGCTTAGTTTCCATCTCTGATCGCGCATCCAGC
+>r5388
+CTTTTGATTTTCCCCCGCTGGTAACAGGTATTATT
+>r5389
+CCTGGCTGTGGATGAATGCTATTTTTAAGACTTTT
+>r5390
+CCTTGACCGGTAATTCGTCTTCATCACGGCTGGCA
+>r5391
+GGTAAATCATTACCGATCCCCAAAGGACGCTGTTA
+>r5392
+TCCGGCATTGATATTTAGCGATGATGTTTGTCAGG
+>r5393
+ATGCCGACTTCCTGCGCGAAGGTTTCCACGTTGTT
+>r5394
+TTCGGTATAACCCATTTCCCGCGCCAGTGTGGTCG
+>r5395
+TTCATCACGGCTGGCACCAATGAGCGTACCTGGTG
+>r5396
+GAAAGCACGCGGTCTGATGAGTCGTTTCATTATTG
+>r5397
+GCATGAGCCGGGCGACGCCATGAAGACCGCGAGTG
+>r5398
+CCGGCGGTAATTGCCAGCGCAACGCCGGCCAGGTT
+>r5399
+CAGGAACACGCCCGCTTCCGCACAAGCACGAGCCT
+>r5400
+TGCGCCCATAACCACGGTTTCATAACCATGCTCTT
+>r5401
+GTTCAGCTTGTTGGTGATGATATCTCCCCAGAATT
+>r5402
+CACACAGTCGCTTTGCGGAACGCAGAAACTGATAC
+>r5403
+ACCGGAGAATGCCCGCCAGGCAATTCTGGCGTTTA
+>r5404
+TGATAAGCGTAGCGCATCAGGCAGTTTTGCGTTTG
+>r5405
+GGGTTTGATGAGTGGCTGTGGGTGCTGGCGTATCC
+>r5406
+AAATAGCATTCATCCACAGCCAGGCGGTTTAACCT
+>r5407
+AAAGATCACAATGAGCAGGTCAGCTTTGCGCAAGC
+>r5408
+CGGATAGCATCAACGCTGCGCTGATTTGCCGTGGC
+>r5409
+GGCTCCGGTCGCCAATGTTGAAAGCGATGTCGGTT
+>r5410
+CGCGCCGATTGTTGCGAGATCTGGACGGATGTTGA
+>r5411
+TAAGCCAATACGTAAAGTATTCATCAAGATTTTTC
+>r5412
+TCCCTTTCATCCCCGGGCCGGAAACGCTGAACATT
+>r5413
+TAATGCCGGATGGCAATCCGGCATTGATATTTAGC
+>r5414
+CTGGTAACAGGTATTATTCTCGCTGTCTTTGCTCT
+>r5415
+GGTATGAACCACAGGCGAGAGCAGTAATATGGCGG
+>r5416
+CGCAAGGAATTGTCCAGATGATTGGCATTTTTATC
+>r5417
+GTAACAAACTCCGCACCCCAGGAACCCATTAGCAC
+>r5418
+GGGCTTTTTTCTGTGTTTCCTGTACGCGTCAGCCC
+>r5419
+ACCGAAGAGTGCAAGACGCGAAGTTAGCGAATAAA
+>r5420
+TTTGCCGTTCTTCTCATCGAGGAACACTGGCTTGA
+>r5421
+TCAATTTCAGTCAGGCTGAATTCCGGCAGGTCGTG
+>r5422
+TCGGCATCGCTGATATTGGGTAAAGCATCCTGACC
+>r5423
+AACTGGAAACCCGCTTAATCCCCGATGAGCAGGCG
+>r5424
+ACTGGCTTGCAGGCCGAAACCTTCAGCGAAGACGA
+>r5425
+AAAATAAGTTCGGCATCGCTGATATTGGGTAAAGC
+>r5426
+TGGCTTGTTCCTCGGCACCGCGCATCCGGCGAAAT
+>r5427
+CGAAACATCATCCCACGCGTCTGGAGAAAGCTGGC
+>r5428
+GCCGCTCGCTTTCATGACTGGCAGCCAAATTTCAC
+>r5429
+TTGCGTAATCAGCACCACGGAAATACGGGCGCGTG
+>r5430
+CAACTGCCGTTCTCATCGCGTAATCTCCGGATATC
+>r5431
+CAGGGTATCCGTGCTGCAGAACAGCTGGAAAAAGA
+>r5432
+GAAATGAGTTGCCATCTGGTGCTCACCACGGGCGG
+>r5433
+CCAACTCGCCCATCAAAGCCAGCAAACGAGTGTCA
+>r5434
+TAATACCTGTTACCAGCGGGGGAAAATCAAAAGAA
+>r5435
+TGCGGGCAGCACAGGTTCAATTTCAATATCCGCCA
+>r5436
+GATCATCTCGCGGGTCCGGTTCGGTATAACCCATT
+>r5437
+CATCAACAGGTGTCACCGCCGCCCCGAGCACATCA
+>r5438
+GTAATGGTGGTGCTAATGCGTTTCATGGATGTTGT
+>r5439
+GTTGGCCCGTGGAACAATTCCAGACAACCGACATC
+>r5440
+GTCAGGCCCCGGACGATGATCGCCACGATGATCAT
+>r5441
+TGCACCACAACGTTACCCTCAGCGTCCTTCACACC
+>r5442
+GCCCAGCCGGGATTTCCGCTGGCACAATTGAAAAC
+>r5443
+ACATGGTTAAAGTTTATGCCCCGGCTTCCAGTGCC
+>r5444
+TGGCCGGCGTGTTAGAAGCGCGTGGTCACAACGTT
+>r5445
+TGATGTGCTCGGGGCGGCGGTGACACCTGTTGATG
+>r5446
+TTACTTCGGCGCTAAAGTTCTTCACCCCCGCACCA
+>r5447
+CAGCAAGCGACTGATGTTGATGGAGTTAGCAGAAT
+>r5448
+CCGCTACTGCCAGCGTCGCATCGGGCGTTACGTCA
+>r5449
+ACGCCAGCGTAAACTCGGCGTGCGCCCGGTGTTTG
+>r5450
+GCAAACAGAATAACCACGAGGGTAACAAACTCCGC
+>r5451
+TCAGACTGATGACAAACGCAAAACTGCCTGATGCG
+>r5452
+GCATACCATCACCTACCACCGAGATAATGGCCAGC
+>r5453
+CGAGGCGAATTAAGCGCCCGAGATTAAACGGCTCT
+>r5454
+GGAAATCCCCAAGCACCAGGTACGCTCATTGGTGC
+>r5455
+TACTTGGATAACTTCTGCGTAGCATACATGAGGTT
+>r5456
+TGCTAATGGGTTCCTGGGGTGCGGAGTTTGTTACC
+>r5457
+TGCGCCGGTAAAATAGCCCTGGCTTCTGCCGTCGA
+>r5458
+CGGCATAAATTTCCTGCAAGGACTGGATATGCTGA
+>r5459
+AATGGGTTCCTGGGGTGCGGAGTTTGTTACCCTCG
+>r5460
+CAGTGCTGGGAGCGTTTTTGCCAGGAGCTTGGCAA
+>r5461
+TGCTCGATGATCGCCTGCTCATCGGGGATTAAGCG
+>r5462
+CCGTAGGCGATGAGCAAAAAGACGGCGAACAGAAC
+>r5463
+CTAACATCCATCGCATTGGATAACGTCGCCTGAGT
+>r5464
+CCTGGAGCCGTCTTCTGGATGTGGGTTGCCGCATT
+>r5465
+TCGAAGGGATAAGATTGTTAACAACGTGCGCTTTG
+>r5466
+CAGCAAAGACACCGGCAGCTGTAACGTCATTGCCC
+>r5467
+TCACGCCTGCTATTCCCGTCAGCTTGAGCTTGCCG
+>r5468
+AAATGCGGTAACTTAGAGATTAGGATTGCGGAGAA
+>r5469
+GTATAACCCATTTCCCGCGCCAGTGTGGTCGCCTC
+>r5470
+CCGGTCGCCAATGTTGAAAGCGATGTCGGTTGTCT
+>r5471
+TTAATCCCCGATGAGCAGGCGATCATCGAGCAAAC
+>r5472
+ACTGGCGGGTAACGGCACAACCTACATGCCGCTGG
+>r5473
+GCGGCAAGCCGCATTCCGGCTGACCACATGGTGCT
+>r5474
+TCGCGTAATCTCCGGATATCGACCCATAACGGGCA
+>r5475
+ATCTGCACCTTCGCAACGGTCATCGGCGGCACCTT
+>r5476
+TGGGTAAGAACTACCTGCAAAATCAGGAAGGTTTT
+>r5477
+AACGGCGAGATCAGGAACACGCCCGCTTCCGCACA
+>r5478
+TCCAGTTCACGTCCCGTTTCACGAGCGAGAATCAA
+>r5479
+AAGAAAAACTGTTCTGTACATTGGGCGGCAATATC
+>r5480
+GCGCACGGGCGACATCTGGCAGGCTTCATTCACGC
+>r5481
+ACTGATGCCATGCAGGACATGTTTTATTTGGGCAA
+>r5482
+ATCAGCGGAAAACTTAACAAGGTGCCGCCGATGAC
+>r5483
+TTCGGGCTTAGGCTCCAGCGCCTGTTCAGTGGTCG
+>r5484
+CATAGAGGAATTTACGCCGCGATTTTTCCGCCGCA
+>r5485
+GAGACAACCAACTGGTTACGTGCTTCTTGCGGCAA
+>r5486
+GTGGAAGAGTTGTTCCGCCGCAAAATCTGGCAACT
+>r5487
+ATAGACTTCGGTTGACCGGGTAAGTTAAGGATCAG
+>r5488
+TCATATTGGCACTGGAAGCCGGGGCATAAACTTTA
+>r5489
+ATGGAGCTTTCTTACTTCGGCGCTAAAGTTCTTCA
+>r5490
+TAACCAGTTGGTTGTCTCGGTACCGAGTGGAAACT
+>r5491
+CCATCGCACCGGCACTGCTGAAAGAGCTGGCGGAG
+>r5492
+TGGAAGCCGGGGCATAAACTTTAACCATGTCAGAC
+>r5493
+TGATCATCGTGGCGATCATCGTCCGGGGCCTGACA
+>r5494
+TTCATCAGCTTCGCGGCAAGCTCAAGCTGACGGGA
+>r5495
+TTCTCAATAAATGCGGTAACTTAGAGATTAGGATT
+>r5496
+GATATCATTATGGCCTGCATGGCTATTACCAATTT
+>r5497
+CTGGAAACCCGCTTAATCCCCGATGAGCAGGCGAT
+>r5498
+ACTGGCGGGTATCAACGCCGCTCGCTTTCATGACT
+>r5499
+GCCAACGCTGGCATTTAAAGATTTCGGCGGTCGCT
+>r5500
+AAAGCATCCTGACCGCTAATGGTTTTTTCAATCAT
+>r5501
+ATCGCCTGGCTTAAGGTATATCCCGCCGCGCCGCC
+>r5502
+GGTTATGCGAAAGCAAGGGTAAATCAGCACGTTCT
+>r5503
+TCTTTTCCAGAGTCATCGCCACTGGAATTTGCTTG
+>r5504
+GAGCTTGCCGCGAAGCTGATGAAAGATGTTATCGC
+>r5505
+TGACGCTTCGGTGTCATAGGAAAGACGCGCATCAA
+>r5506
+CCTGAGTCGCTTTGGGTGACCACTGACCGTCGTGC
+>r5507
+TTACGCGCCACATCCATGCCAGAAAGATCATCTCG
+>r5508
+ATTGGCATCACGTTCTTTATAAAGCTGTGCGAGGG
+>r5509
+GAAGGGGCTATCGAACGTAAACTGTCTTACACTGG
+>r5510
+TTTCTGTGTTTCCTGTACGCGTCAGCCCGCACCGT
+>r5511
+TAGAAAGCATGAGCCACTGCCGCTCCAGTATCACC
+>r5512
+TTGCCTGGCGGGCATTCTCCGGTGTGAAATTTGGC
+>r5513
+TGTCTTTGCTGATCTGCTACGTACCCTCCCATGGA
+>r5514
+GGTCAGGTTACAGTTAATACCTTCTTTTTCCAGCT
+>r5515
+CAGTTGATGATCGAAGAAAACGACATCATCAGCCA
+>r5516
+TTCTGCGTAGCATACATGAGGTTTCGTATAAAAAT
+>r5517
+TTCTTGCAGTGGACTGATTTTGCCTCGTGGATAGA
+>r5518
+GCCAGGACGCAGCTGCCGCTGCCGCGTTTGGCGTC
+>r5519
+CGCTGCCGGATGCGGAGGCCAGGACGCAGCTGCCG
+>r5520
+CGGCGGTCGCTTTATGGCACAAATGCTGACCCATA
+>r5521
+GTTTCATCATCCACGGCTGCATAACCCAGCTCTTT
+>r5522
+GATTGGCGTCGGTGGCGTTGGCGGTGCGCTGCTGG
+>r5523
+CGAGCGAGAATCAATAGCTTACGCGCCACATCCAT
+>r5524
+CTGGCAATTACCGCCGGTGGACCTGGAGCCGTCTT
+>r5525
+ACGCTGGCGTAGATAATCACTGGCAATGGTATGAA
+>r5526
+TTCTGAACGCTCAATCTCTGTCGTGGTCAATAACG
+>r5527
+TCAGCGGAGTTCAGGCGAACGCCGTTGCGCGAGCC
+>r5528
+AACCCATTAGCACCCGCATCGCCTTCTGGATAAGC
+>r5529
+CCGACTTTAGCAAAAAAAGAGAATGAGTTGATCGA
+>r5530
+GATCCTTAACTTACCCGGTCAACCGAAGTCTATTA
+>r5531
+GCACGTAACCAGTTGGTTGTCTCGGTACCGAGTGG
+>r5532
+TTCTTATTTCACCTGCGAAAACGCTTGATTACCAA
+>r5533
+CAGGGGCAGGTGGCCACCGTCCTCTCTGCCCCCGC
+>r5534
+GGGTCAGGTTACAGTTAATACCTTCTTTTTCCAGC
+>r5535
+TTGGTTAAAGTATTTAGTGACCTAAGTCAATAAAA
+>r5536
+GATTAAGGCCATGTACATTGGTGAGCAGTGCCTTC
+>r5537
+CGCTTTCAACATTGGCGACCGGAGCCGGGAAGGCA
+>r5538
+TCCCAGAACCACCAGCTCGCCTTTTTCATTACCGG
+>r5539
+CTGTTTAAACGGAAAAATCTTGATGAATACTTTAC
+>r5540
+ATGGTTGTTACCTCGTTACCTTTGGTCGAAAAAAA
+>r5541
+TAGATAAACTGGCGGAAGGTATCCGTAAGTTTGCT
+>r5542
+AAGTATGATTACAGCAGATCGCCGATCATTTTTTC
+>r5543
+GCCGAAACCTTCAGCGAAGACGATTTCGATTTTGC
+>r5544
+ATCATTCTGCTTAACGAGACTGTTTAAACGGAAAA
+>r5545
+TCCCCGGGCCGGAAACGCTGAACATTGCCATGTTA
+>r5546
+ACGGCAGCGTGCGGCTCCGAGGTATAGCCCAGTTC
+>r5547
+CGTATAGCGCGTGGTGGTCAACGGGCTTTGGTAAT
+>r5548
+GGGCGACATCTGGCAGGCTTCATTCACGCCTGCTA
+>r5549
+TAACGTTGTGACCACGCGCTTCTAACACGCCGGCC
+>r5550
+CGTTTGCTGGCTTTGATGGGCGAGTTGGAAGGGCG
+>r5551
+AGTTTTTCTTTTGATTTTCCCCCGCTGGTAACAGG
+>r5552
+GTGGTTTCATCATCCACGGCTGCATAACCCAGCTC
+>r5553
+CATAACCTGCCCGCCGATTTTGCTGCGTTGCGTAA
+>r5554
+TTTCAACATTGGCGACCGGAGCCGGGAAGGCAAAC
+>r5555
+GATGCGGGTGCTAATGGGTTCCTGGGGTGCGGAGT
+>r5556
+GATGCGCATCAGGGAGCTAATCTGCGGGGGCGTCA
+>r5557
+ACGCCATCTTCATCAATATTGCCAACATAGCGCAA
+>r5558
+TCAAACTGGCTTCTACCTGGCAGGGTATCCGTGCT
+>r5559
+GCCGAATGTTCCCTCGCACAGCTTTATAAAGAACG
+>r5560
+CTCTACAATCTGAAAGATCACAATGAGCAGGTCAG
+>r5561
+TGGAAGCCGGGGCATAAACTTTAACCATGTCAGAC
+>r5562
+GAGATACCGCTCGCTACCGCGCCGATTTCCGCAAC
+>r5563
+AAATGGGGATACGTCTTGAGAATGCCCGAGGGAAA
+>r5564
+ATCAGAATACGATCGTTGCTAATACCTGCATCGTT
+>r5565
+CTCCCATGGCAGCGCAGGCTGCGGAAATTACGCTA
+>r5566
+CACCACCATCACCATTACCACAGGTAACGGTGCGG
+>r5567
+CGTTGTGTGAACTGGTGGATGAAATGAGTTGCCAT
+>r5568
+CATTACCACAGGTAACGGTGCGGGCTGACGCGTAC
+>r5569
+CCGTTACCCGCCAGTAATATCAGCATGGCGCTTGC
+>r5570
+GATGCGCGGTGCCGAGGAACAAGCCATATTCGCCT
+>r5571
+GCATCGTTGTAGAGTTTGATCAGGCGTTTTGCTTT
+>r5572
+CCACATTATCGCCTTGTGCTGCGAGCGCCTCGTTC
+>r5573
+CCAATGGCAGTAGATAAACTGGCGGAAGGTATCCG
+>r5574
+CGGCTTGTATGGCGTACTGCGCCCGCTCGATTTAA
+>r5575
+ATTGACGCTTCGGTGTCATAGGAAAGACGCGCATC
+>r5576
+AGCAGAATTCAGCCCCAGCGCCACTTTCAGTTCTT
+>r5577
+TGCACGACGGTCAGTGGTCACCCAAAGCGACTCAG
+>r5578
+GATCTGCACCTTCGCAACGGTCATCGGCGGCACCT
+>r5579
+GATTAAAAATACCGGAAATCCCCAAGCACCAGGTA
+>r5580
+CTCGCTACCGCGCCGATTTCCGCAACCGCCTGCCG
+>r5581
+GAACGAGGCGCTCGCAGCACAAGGCGATAATGTGG
+>r5582
+CGCTTCAGTTGCTCCAGCAGCGCACCGCCAACGCC
+>r5583
+TCTATTCATTATCTCAATCAGGCCGGGTTTGCTTT
+>r5584
+TTGAGAATGCCCGAGGGAAAGATCTGTATCAATTC
+>r5585
+TCCCTGATGCGCATCAGCGACAAACTGGCGGGTAT
+>r5586
+CGCGATCGTTGCTCTGCTGTTTCGCCCAGGCGACA
+>r5587
+ACCGAGTGACTTCGCCAGCAGACCCGCCGTCAAAT
+>r5588
+TGGTCTGGAAATCCTGAAACTGGTTCCGGGCCGTA
+>r5589
+GCTCTTTTGGCAGATCCAACGTTTCACCGAGAATC
+>r5590
+CGCACCATATCCGCGCAGTACCAACGGCAGCGGCT
+>r5591
+CGAGGGTAACAAACTCCGCACCCCAGGAACCCATT
+>r5592
+GATCACTCGCGGTCTTCATGGCGTCGCCCGGCTCA
+>r5593
+GCCATGTTATTCAGATTGGAAATGCCCTTGACCGG
+>r5594
+TAACGTCGCCTGAGTCGCTTTGGGTGACCACTGAC
+>r5595
+ATCCCCCTAACAAGCTGTTTAAAGAGAAATACTAT
+>r5596
+CGCGCTGGCCCGCGCCAATATCAACATTGTCGCCA
+>r5597
+GAGTCGCTTTGGGTGACCACTGACCGTCGTGCAGG
+>r5598
+TAGTCAATGCCGGATAATGCCGGATGGCAATCCGG
+>r5599
+ATTACAGATAGGCGATCGTGATAATCGTGGCTATT
+>r5600
+GGCAAAATCAGTCCACTGCAAGAAAAACTGTTCTG
+>r5601
+TTGGATCTGCCAAAAGAGCTGGCAGAACGTGCTGA
+>r5602
+TCCGCCAGCTCTTTCAGCAGTGCCGGTGCGATGGT
+>r5603
+AGTCATCGCCACTGGAATTTGCTTGCCAAGCTCCT
+>r5604
+TTATCCTGATAAACGCCGCTGGATGCGCGATCAGA
+>r5605
+ACTTTCAGTTCTTCATCATCAAACGCCTGCTTCAC
+>r5606
+GTGCGGGCTTTTTTTTCGACCAAAGGTAACGAGGT
+>r5607
+GCGGAAATTACGCTAGTCCCGTCAGTAAAATTACA
+>r5608
+CATCGCGTAATCTCCGGATATCGACCCATAACGGG
+>r5609
+TCCTTTGGGGATCGGTAATGATTTACCTGCTTTTC
+>r5610
+CACGATTATCACGATCGCCTATCTGTAATTTTACT
+>r5611
+TGGCAACAGTTTCGATATTGCCGCCCAATGTACAG
+>r5612
+CATCAATATTGCCAACATAGCGCAAAACTTTTCCT
+>r5613
+AGTTTTCCGCTGATGTGGCAACTGGCAGATATCAT
+>r5614
+TGGGCTATACCTCGGAGCCGCACGCTGCCGTAGCT
+>r5615
+CTTTCTTATATCTTCGGCAAGTTAGACGAAGGCAT
+>r5616
+GTCATGAAAGCGAGCGGCGTTGATACCCGCCAGTT
+>r5617
+AGTGGACTGATTTTGCCTCGTGGATAGAGGATAAC
+>r5618
+CCGAGGTTGTTGAGACTGAATGTCTCTGCCGCCTC
+>r5619
+CCGCTTCCGCACAAGCACGAGCCTGAGCGAAGGAG
+>r5620
+ACTGAAAGAAGGCTTACTGGAGCCGTTGGCGGTGA
+>r5621
+GTGATTTTGGCGGGGGCAGAGAGGACGGTGGCCAC
+>r5622
+AAGAAGAGATTGTTTTCGGCATAAATGTAGTTGGC
+>r5623
+GAAAATCGGCTGACCAAACCAGAGCAACTGACTGG
+>r5624
+TGTGCGGAAGCGGGCGTGTTCCTGATCTCGCCGTT
+>r5625
+GATGATGCGACCACTGGCGTGCGCGTTACTCATCA
+>r5626
+GGTTTCCACGTTGTTACGCCGAACAAAAAGGCCAA
+>r5627
+GTCACACAGAGCGAACAAAGTCGGGCCGGAGCCGG
+>r5628
+CCAGCGCATCCCCAGCCCGCGCGCCATATACCATG
+>r5629
+TTTGCTGTTGACCAGGAAAAACTGGAAAAAATGAT
+>r5630
+CCGGAAATCCCCAAGCACCAGGTACGCTCATTGGT
+>r5631
+TTGTCACCCGCAGTGCGAAGATCCTCTCGGCGTTT
+>r5632
+AGTTTGATCAGGCGTTTTGCTTTCGCAATTGACGC
+>r5633
+TACAGAAACCACGCCCGGATCTTCTGCCGGAGCGT
+>r5634
+CGTTATTGACCACGACAGAGATTGAGCGTTCAGAA
+>r5635
+ATCTTCTTGCAATATATTGAATTTGCACGATTTTG
+>r5636
+CGATAAGCTGCCGTCAGAGCCACGGGAAAATATCG
+>r5637
+CCAGGTCCACCGGCGGTAATTGCCAGCGCAACGCC
+>r5638
+GATTCTCGCTCGTGAAACGGGACGTGAACTGGAGC
+>r5639
+GGCGACAATGTTGATATTGGCGCGGGCCAGCGCGG
+>r5640
+CTCTGGAAAAGAATATGCCGATCGGTTCGGGCTTA
+>r5641
+AAAGCGACCGCCGAAATCTTTAAATGCCAGCGTTG
+>r5642
+AGGATGCCACAACCAACCCTTCTCTCATTCTTAAC
+>r5643
+CAAAATCGAAATCGTCTTCGCTGAAGGTTTCGGCC
+>r5644
+AGGATGCTTTACCCAATATCAGCGATGCCGAACTT
+>r5645
+GGACTCGCCGCCGCCCAGCCGGGATTTCCGCTGGC
+>r5646
+GATCAGCAAAGACACCGGCAGCTGTAACGTCATTG
+>r5647
+CGGCTGGTGGAAACAACATTATGAATGGCGAGGCA
+>r5648
+AGTACGATAGATTGCATCTTTTTCACAGGTTACTC
+>r5649
+CACCAGTGTAAGACAGTTTACGTTCGATAGCCCCT
+>r5650
+GGTAAATCATTACCGATCCCCAAAGGACGCTGTTA
+>r5651
+CGTTTTCGCAGGTGAAATAAGAATCAGCATATCCA
+>r5652
+AGCAACTGAAGCGTCAGCAAAGCTGGTTGAAGAAT
+>r5653
+CCACGAGGGTAACAAACTCCGCACCCCAGGAACCC
+>r5654
+CGCAACCGCCTGCCGCGCCTGCCGGAAGCCTGGCA
+>r5655
+CCTGTGTAAACGTTACCAATTGTTTACGAAGTATA
+>r5656
+TCGACATTTTCTCGCCACGGCAAATCAGCGCAGCG
+>r5657
+ACAAATCTGCGCCAGCAAGCGACTGATGTTGATGG
+>r5658
+CAGCTTGTTGGTGATGATATCTCCCCAGAATTGAT
+>r5659
+GTATTATTCTCGCTGTCTTTGCTCTGCTGGCGATC
+>r5660
+AGATTAAGGCCATGTACATTGGTGAGCAGTGCCTT
+>r5661
+TGGCAGTGGGTCATTACCTCGAATCTACCGTTGAT
+>r5662
+AACAAACGGCGAGATCAGGAACACGCCCGCTTCCG
+>r5663
+CTGCATCGTTGTAGAGTTTGATCAGGCGTTTTGCT
+>r5664
+GTTTTTGCCAGGAGCTTGGCAAGCAAATTCCAGTG
+>r5665
+CGGCGCGGCGGGATATACCTTAAGCCAGGCGATTA
+>r5666
+CTGCGACCGTCTGACCATCGCACCGGCACTGCTGA
+>r5667
+CTGACAGGCATCGAAATCGCCGTCGATGGCAACAG
+>r5668
+TCCAGCCGGCAAATATGAACAAAACCTTCCTGATT
+>r5669
+TCACGTTCTTTATAAAGCTGTGCGAGGGAACATTC
+>r5670
+ATTCCTCTATGACACCAACGTTGGGGCTGGATTAC
+>r5671
+TAAAATTTTATTGACTTAGGTCACTAAATACTTTA
+>r5672
+AAATCAGGAAGGTTTTGTTCATATTTGCCGGCTGG
+>r5673
+CATCCCCCTAACAAGCTGTTTAAAGAGAAATACTA
+>r5674
+AAGACGAATTACCGGTCAAGGGCATTTCCAATCTG
+>r5675
+TCTCGCCGTTTGTTGGCCGTATTCTTGACTGATAC
+>r5676
+GATTCGCAAACAGGCGCTGATCCTTAACTTACCCG
+>r5677
+TGCCAACTACATTTATGCCGAAAACAATCTCTTCT
+>r5678
+GACCGACAAACTGGCAGTAAATATTGGTCTGGAAA
+>r5679
+ACGATAAGCTACGGCAGCGTGCGGCTCCGAGGTAT
+>r5680
+AAACTGTCTTACACTGGTGAAGTGAAAGCGCGTCC
+>r5681
+CACGGATACCCTGCCAGGTAGAAGCCAGTTTGATC
+>r5682
+AGATCCCTGAGCAATGGCGACAATGTTGATATTGG
+>r5683
+GAGCTTTCTTACTTCGGCGCTAAAGTTCTTCACCC
+>r5684
+GCACCACCATTACCACCACCATCACCATTACCACA
+>r5685
+GATTACGCGATGAGAACGGCAGTTGTTATTCTCCG
+>r5686
+TTGCCACTGATGTACCGCCGAACTTCAACACTCGC
+>r5687
+AAGGTGCGCATACCATCACCTACCACCGAGATAAT
+>r5688
+AGCATGGTTATGAAACCGTGGTTATGGGCGCAAGC
+>r5689
+GGATAAGGCGTTCACGCCGCATCCGGCATAAACAA
+>r5690
+ACGCGCCCGTATTTCCGTGGTGCTGATTACGCAAT
+>r5691
+GTCAGATGAGTATTTTAAATCGGTGAAGCCGAAGA
+>r5692
+AGCTGCAGGCGGCGCGGCGGGATATACCTTAAGCC
+>r5693
+GTTTGTCAGGCCCCGGACGATGATCGCCACGATGA
+>r5694
+ATGGTCACTGGCTTATCGCCCGCAATATGGGTCAG
+>r5695
+CCAACTCGCCCATCAAAGCCAGCAAACGAGTGTCA
+>r5696
+TTGTAGAGTTTGATCAGGCGTTTTGCTTTCGCAAT
+>r5697
+CGTTCACGGTAGGGTTCAGCGATAACATCTTTCAT
+>r5698
+GTACTGACCAGCCTGGTGATTTGCGTAATGAATAT
+>r5699
+TGCTGGCGCAGATTTGTTATTACTTTGAGGCTGTC
+>r5700
+CCTGCATTTTGTACCAACTGCGATCCTTTCGCGTC
+>r5701
+TTTCGGCCTGCAAGCCAGTGTAGACATCACCTTTA
+>r5702
+GACTGAAATTGATGAGATGCTGAAGCTGGATTTTG
+>r5703
+CCGCACCGTTACCTGTGGTAATGGTGATGGTGGTG
+>r5704
+GCATCCGGCATAAACAAAGCGCACGTTGTTAACAA
+>r5705
+ATCCAATGGCAGTAGATAAACTGGCGGAAGGTATC
+>r5706
+CAGTATCAGTTTCTGCGTTCCGCAAAGCGACTGTG
+>r5707
+CAGTTAATACCTTCTTTTTCCAGCTGTTCTGCAGC
+>r5708
+AAAAAAGAGTGTCTGATAGCAGCTTCTGAACTGGT
+>r5709
+TCGAAAAAAAAGCCCGCACTGTCAGGTGCGGGCTT
+>r5710
+GGCGGGAATGGGGTCGACGCCAAACGCGGCAGCGG
+>r5711
+CTGGCAGTAACCGTTCACGGTAGGGTTCAGCGATA
+>r5712
+ACGGTTTACCGAATGTGAAAGTGGTTATCCTCTAT
+>r5713
+TGCGCTGCGTTAAGAATGAGAGAAGGGTTGGTTGT
+>r5714
+CAACAGTTTCGATATTGCCGCCCAATGTACAGAAC
+>r5715
+TTTTCCCTGTCGTTTTTCTCCATATTTTCTTCATA
+>r5716
+TCCGGCGAAATTTAAAGAGAGCGTGGAAGCGATTC
+>r5717
+CTTATCCCTTCGAGCGGGGGGAGCTTAACAATTAG
+>r5718
+TTCTTTCAGTTCCAGGTAGAACTCTTCCTGCATTG
+>r5719
+GATGAATGCTATTTTTAAGACTTTTGCCAAACTGG
+>r5720
+GTTGCGAAGGTGCAGATCCGCAGACACCAGATCGC
+>r5721
+ACTGGCGGAAGGTATCCGTAAGTTTGCTGTTGACC
+>r5722
+AGAACAGTTTTTCTTGCAGTGGACTGATTTTGCCT
+>r5723
+GTTGAGGCGGCAGAGACATTCAGTCTCAACAACCT
+>r5724
+ATGATGAAGAACTGAAAGTGGCGCTGGGGCTGAAT
+>r5725
+AGTTGAGATACGGCCCGGAACCAGTTTCAGGATTT
+>r5726
+TGAACTGGAAACCCGCTTAATCCCCGATGAGCAGG
+>r5727
+TGGTGAACAGATGCGCCAGATCAGCCTGCATTTTG
+>r5728
+CTTCGTAAACAATTGGTAACGTTTACACAGGAAAG
+>r5729
+CCAATGAGCGTACCTGGTGCTTGGGGATTTCCGGT
+>r5730
+GGAAAAGAATATGCCGATCGGTTCGGGCTTAGGCT
+>r5731
+CTTGCCGAAGATATAAGAAAGCGAACCTGAAAGAA
+>r5732
+CGACCGATCTCCGGATAACGCAACGGATCAAACAC
+>r5733
+CAACGTTTGCTCGATGATCGCCTGCTCATCGGGGA
+>r5734
+CATAACCATGCTCTTTGTAGTACTGGTAGATTTCA
+>r5735
+ATTAAAACCAGTCAGTTGCTCTGGTTTGGTCAGCC
+>r5736
+TCCCACGCGTCTGGAGAAAGCTGGCGACCGATCTC
+>r5737
+CTGACGCCCCCGCAGATTAGCTCCCTGATGCGCAT
+>r5738
+CCTTGCTTTCGCATAACCTGCCCGCCGATTTTGCT
+>r5739
+TTTCCAATCTGAATAACATGGCAATGTTCAGCGTT
+>r5740
+TGAGATAATGAATAGATGTTACTGATGATTCATCA
+>r5741
+TGGCTGTGGGTGCTGGCGTATCCGGGGATTAAAGT
+>r5742
+CCACTGCAAGAAAAACTGTTCTGTACATTGGGCGG
+>r5743
+CAATATCAGCGATGCCGAACTTATTTTTGCCGAAC
+>r5744
+GCCAGTAATATCAGCATGGCGCTTGCCGTGCAGAT
+>r5745
+TCGACGAAAGTTTTCAATTGTGCCAGCGGAAATCC
+>r5746
+CGGCAAATCAGCGCAGCGTTGATGCTATCCGGGCA
+>r5747
+AGTTTTCAATTGTGCCAGCGGAAATCCCGGCTGGG
+>r5748
+TCATCTTCCGAATACAGTATCAGTTTCTGCGTTCC
+>r5749
+CGTTCAGCTCGCACACAGTCGCTTTGCGGAACGCA
+>r5750
+GTGCACGGTATTTTTGCCAGCGTACCGTACTGCAT
+>r5751
+GCCAGTTGTTTGGCTGGCTAACATCCATCGCATTG
+>r5752
+GTTTCCACTCGGTACCGAGACAACCAACTGGTTAC
+>r5753
+GCGCTGATGGCGATGAATGAACACTGCGGCAAGCC
+>r5754
+TGATTACCAAAGCCCGTTGACCACCACGCGCTATA
+>r5755
+GCTGATTACGCAATCATCTTCCGAATACAGTATCA
+>r5756
+CAACTACATTTATGCCGAAAACAATCTCTTCTTTT
+>r5757
+AGAGCAACGATCGCGCGCAGCAGATCGTGGACGCG
+>r5758
+TCCAGCTTCAGCATCTCATCAATTTCAGTCAGGCT
+>r5759
+ATCAAGCCAGTGTTCCTCGATGAGAAGAACGGCAA
+>r5760
+CAGTTGATGATCGAAGAAAACGACATCATCAGCCA
+>r5761
+GAAGCCTGCCAGATGTCGCCCGTGCGCAATGCAAT
+>r5762
+AAACATCATCGCTAAATATCAATGCCGGATTGCCA
+>r5763
+CTTTGCGCAAGCCGTAACCCAGGGGTTAGGCAAAA
+>r5764
+CAACTGGCAGATATCATTATGGCCTGCATGGCTAT
+>r5765
+GCTAACTTCGCGTCTTGCACTCTTCGGTCTGAATG
+>r5766
+GCATAACCTGCCCGCCGATTTTGCTGCGTTGCGTA
+>r5767
+TTATGAAGAAAATATGGAGAAAAACGACAGGGAAA
+>r5768
+CACCTTACGTGGGATCTCGGCGAAATTCTTTGCCG
+>r5769
+TGCGGAGAATAACAACTGCCGTTCTCATCGCGTAA
+>r5770
+GCCATTGCTCAGGGATCTTCTGAACGCTCAATCTC
+>r5771
+GTACATTGGTGAGCAGTGCCTTCGAGTTAGCAACA
+>r5772
+CAACCCACATCCAGAAGACGGCTCCAGGTCCACCG
+>r5773
+AGAGCAACTGACTGGTTTTAATAGCGAAGGTTACT
+>r5774
+ACACTTCGATAACCTGATCGGTATTGAACAGCATC
+>r5775
+GGTATTAGCAACGATCGTATTCTGATCAAACTGGC
+>r5776
+CGGTCAGAATGGTCACTGGCTTATCGCCCGCAATA
+>r5777
+CGCGCTGGCCCGCGCCAATATCAACATTGTCGCCA
+>r5778
+CTGGAAAAAGAAGGTATTAACTGTAACCTGACCCT
+>r5779
+CCGAGCAATGCACCATCAACAGGTGTCACCGCCGC
+>r5780
+CCTGGTCATCTGCACGGCAAGCGCCATGCTGATAT
+>r5781
+AAGCATGAGCCACTGCCGCTCCAGTATCACCGGAT
+>r5782
+CTGCATTCAGTTGCTGGAAGGGCCATACGTTGAAA
+>r5783
+GGCCGGAAACGCTGAACATTGCCATGTTATTCAGA
+>r5784
+GCGTCTGGAGAAAGCTGGCGACCGATCTCCGGATA
+>r5785
+AGCTGGTTGAAGAATAAACATATCGACTTACGTGT
+>r5786
+TTTCCAGTTCAAACGGCGTGGTTAGCGCCGATGTC
+>r5787
+CTACGTACCCTCCCATGGAAGTTAGGAGTCTGACA
+>r5788
+GGCGCACGCCGAGTTTACGCTGGCGTAGATAATCA
+>r5789
+AGGCGACAGCATCATCAATCAACTTACGGTATTCC
+>r5790
+AGTCATGAAAGCGAGCGGCGTTGATACCCGCCAGT
+>r5791
+GTGCTGCGAGCGCCTCGTTCAGCTTGTTGGTGATG
+>r5792
+TAAAAGCAAACCCGGCCTGATTGAGATAATGAATA
+>r5793
+TTATCAGGCCTACGATCTTCTTGCAATATATTGAA
+>r5794
+TCATCAAGATTTTTCCGTTTAAACAGTCTCGTTAA
+>r5795
+TAATCTCTAAGTTACCGCATTTATTGAGAATTTCT
+>r5796
+GCCGCCAGTGTGATGGATATCTGCAGAATTCGCCC
+>r5797
+GGTACTTGGATAACTTCTGCGTAGCATACATGAGG
+>r5798
+CTTTATAAAGCTGTGCGAGGGAACATTCGGCAAAC
+>r5799
+AGTAATAGCCACGATTATCACGATCGCCTATCTGT
+>r5800
+ACGATCGCGCGCAGCAGATCGTGGACGCGACCGAC
+>r5801
+ATTGGTCTGGAAATCCTGAAACTGGTTCCGGGCCG
+>r5802
+CAGCCAAAAGCACTCTCAAAAATAGACCAAATGAC
+>r5803
+GATGGCGATAATCTGGGTACTGACCAGCCTGGTGA
+>r5804
+CCTTTCGCGTCAGGTGGGGGTGATTCGCAAACAGG
+>r5805
+CAGCTCGCCTTTTTCATTACCGGCAGTGAAACCAG
+>r5806
+GATTTACCCTTGCTTTCGCATAACCTGCCCGCCGA
+>r5807
+GTCCGGTTCGGTATAACCCATTTCCCGCGCCAGTG
+>r5808
+AGGGTGTCGATAAAAATGCCAATCATCTGGACAAT
+>r5809
+ACCACGCGCTATACGCTGCCGGAGCTGTTAGACAA
+>r5810
+ATTGGAAATGCCCTTGACCGGTAATTCGTCTTCAT
+>r5811
+TCTGCAGCACGGATACCCTGCCAGGTAGAAGCCAG
+>r5812
+CTGGCTTCTGCCGTCGAGACTTTAATCCCCGGATA
+>r5813
+TCCGGTGCCGTTTCAACGTATGGCCCTTCCAGCAA
+>r5814
+TATTGGTCTGGAAATCCTGAAACTGGTTCCGGGCC
+>r5815
+CACCATTACCCCCATCGCCCAGTTCCAGATCCCTT
+>r5816
+CACGGATACCCTGCCAGGTAGAAGCCAGTTTGATC
+>r5817
+TTCAGCGCAGTATGTTTTCCAATGAGGCGGGAATG
+>r5818
+GCTGCCGCGTTTGGCGTCGACCCCATTCCCGCCTC
+>r5819
+TCTGCCACAGCCTGGCTGGAAGTACAGTCAACAAT
+>r5820
+AAACCTTCAGCGAAGACGATTTCGATTTTGCCCAA
+>r5821
+CCTTCGCTCAGGCTCGTGCTTGTGCGGAAGCGGGC
+>r5822
+AGTACGCCATACAAGCCGGAAAGCATTCGCAAATG
+>r5823
+TCTTTTGATTTTCCCCCGCTGGTAACAGGTATTAT
+>r5824
+CAGCGTCGCATCGGGCGTTACGTCACGACGCGCAG
+>r5825
+TGCCTCGCCATTCATAATGTTGTTTCCACCAGCCG
+>r5826
+GGCGGTTTAACCTCATTTCAGTCATTGTGTACCAG
+>r5827
+TATAGAAGGCCAGGGCGTTTTCGCCATTTTTCACT
+>r5828
+ATAAATGTAGTTGGCAACGATGGAGCTGAAGGCAA
+>r5829
+CACCACCGTAGTGGCCGACACTGGGGACATCGCGG
+>r5830
+AAGCTGACCTGCTCATTGTGATCTTTCAGATTGTA
+>r5831
+TCATTGCCGCGATGTCCCCAGTGTCGGCCACTACG
+>r5832
+TTCTCATCGCGTAATCTCCGGATATCGACCCATAA
+>r5833
+TGTTGCCATCGACGGCGATTTCGATGCCTGTCAGG
+>r5834
+ACTGGCCCTGCGCGTCGTGACGTAACGCCCGATGC
+>r5835
+TGAGAATTTCTCCTTTTTCCCTGTCGTTTTTCTCC
+>r5836
+GATGTTTGTCAGGCCCCGGACGATGATCGCCACGA
+>r5837
+CCGTTTAAACAGTCTCGTTAAGCAGAATGATACAC
+>r5838
+AAATCAAAAGAAAAACTCAGGGCTCGCGCAACGGC
+>r5839
+CCCACGTCATTTGGTCTATTTTTGAGAGTGCTTTT
+>r5840
+AGGGTACGTAGCAGATCAGCAAAGACACCGGCAGC
+>r5841
+CTGTAATTTTTATCTGTCTGTGCGCTATGCCTATA
+>r5842
+ATATTGGCACTGGAAGCCGGGGCATAAACTTTAAC
+>r5843
+CAGAAACTGATACTGTATTCGGAAGATGATTGCGT
+>r5844
+CCGTTCCGTCACCGCCAACGGCTCCAGTAAGCCTT
+>r5845
+GCACCTGACGCGGATCGCAGGTATAAACACCGTCA
+>r5846
+TCTTTTTCACAGGTTACTCCTTTTATCATTGCCCG
+>r5847
+TCAGCCTGACTGAAATTGATGAGATGCTGAAGCTG
+>r5848
+CGCGTGGTCACAACGTTACCGTTATCGATCCGGTC
+>r5849
+CGCTTTCACTTCACCAGTGTAAGACAGTTTACGTT
+>r5850
+CGGCGGGATATACCTTAAGCCAGGCGATTACTAAC
+>r5851
+GATTTCCAGACCAATATTTACTGCCAGTTTGTCGG
+>r5852
+AATATGGGTCAGCATTTGTGCCATAAAGCGACCGC
+>r5853
+AGTGGTCGCGGCGCTGATGGCGATGAATGAACACT
+>r5854
+CCATGCGAGTGTTGAAGTTCGGCGGTACATCAGTG
+>r5855
+AATAAAACGTTTTACCGGCAGACCGAGTGACTTCG
+>r5856
+GATCTGCTACGTACCCTCCCATGGAAGTTAGGAGT
+>r5857
+TTCACGGTAGGGTTCAGCGATAACATCTTTCATCA
+>r5858
+TGGTATATGGCGCGCGGGCTGGGGATGCGCTGGAT
+>r5859
+AGAGTTCTACCTGGAACTGAAAGAAGGCTTACTGG
+>r5860
+TGAGAGTGCTTTTGGCTGGCAGGAAGCTGCAGGCG
+>r5861
+GGATAAGCTGAATACCTTCCAGCGGCATGTAGGTT
+>r5862
+GAATTCTGCAGATATCCATCACACTGGCGGCCGCT
+>r5863
+CCAGGAAAAACTGGAAAAAATGATCGGCGATCTGC
+>r5864
+TCCCTCTTATTGCCGGTCGCGATGACTTTCCTGTG
+>r5865
+TGATGCGACCACTGGCGTGCGCGTTACTCATCAGA
+>r5866
+TGGAAGTACAGTCAACAATGACCGGGTTCAGCAGA
+>r5867
+AATGGTATGAACCACAGGCGAGAGCAGTAATATGG
+>r5868
+TCTGGATGTGGGTTGCCGCATTTATCGGCATGGCG
+>r5869
+CAGCTTTGCGCAAGCCGTAACCCAGGGGTTAGGCA
+>r5870
+GCCTTATCCGGCCTACAAAATCGTGCAAATTCAAT
+>r5871
+CTTTTGATTTTCCCCCGCTGGTAACAGGTATTATT
+>r5872
+TAGCGCCGATGTCAGCCATTCTTCCAGCGCAGGGA
+>r5873
+CGGTAATGAAAAAGGCGAGCTGGTGGTTCTGGGAC
+>r5874
+CGCAGCAGATCGTGGACGCGACCGACAAACTGGCA
+>r5875
+TCGCGCGCAGCAGATCGTGGACGCGACCGACAAAC
+>r5876
+CGGCAACCCACATCCAGAAGACGGCTCCAGGTCCA
+>r5877
+GACCATTCTGACCGCGACATCCGGTGATACTGGAG
+>r5878
+AGAGCTGGCAGAACGTGCTGATTTACCCTTGCTTT
+>r5879
+CTGCAGGCGGCGCGGCGGGATATACCTTAAGCCAG
+>r5880
+GCTTTATAAAGAACGTGATGCCAATGGGCAGTTTC
+>r5881
+CAGGGGCAGGTGGCCACCGTCCTCTCTGCCCCCGC
+>r5882
+AACTTAGAGATTAGGATTGCGGAGAATAACAACTG
+>r5883
+CCGACACTGGGGACATCGCGGCAATGAAGCTGTAT
+>r5884
+AGCACTGATAAACGATATTTTCCCGTGGCTCTGAC
+>r5885
+ATCGACACCCTGGTCATCTGCACGGCAAGCGCCAT
+>r5886
+GTCAAATTGGTAATAGCCATGCAGGCCATAATGAT
+>r5887
+GGTTGTGGCATCCTGCGGTTGATACAGCTTCATTG
+>r5888
+TTGCAGCGATGTCACGCGCCCGTATTTCCGTGGTG
+>r5889
+TTCCGCAGCCTGCGCTGCCATGGGAGCGACCAGAA
+>r5890
+GGTTATCCTCTATCCACGAGGCAAAATCAGTCCAC
+>r5891
+CTCAATAAATGCGGTAACTTAGAGATTAGGATTGC
+>r5892
+CGTTCCGTCACCGCCAACGGCTCCAGTAAGCCTTC
+>r5893
+GCAGGAGTAATCACAACTATCGATCAACTCATTCT
+>r5894
+TTCTGTATCTGAAATCTACCAGTACTACAAAGAGC
+>r5895
+GGAAGAACTGGCGCAAGCCAAAGAGCCGTTTAATC
+>r5896
+TGAGCGAAGGAGAACAGCAGGGTCAGGTTACAGTT
+>r5897
+CGTAACAACGTGGAAACCTTCGCGCAGGAAGTCGG
+>r5898
+CAGAGCAACTGACTGGTTTTAATAGCGAAGGTTAC
+>r5899
+GCTGATCTGCTACGTACCCTCCCATGGAAGTTAGG
+>r5900
+ATCGTATTCTGATCAAACTGGCTTCTACCTGGCAG
+>r5901
+CAAAGGACGCTGTTAATAAAGGAGAAAAAATCTGG
+>r5902
+TACCACAGGTAACGGTGCGGGCTGACGCGTACAGG
+>r5903
+TGCAAAATCAGGAAGGTTTTGTTCATATTTGCCGG
+>r5904
+GCCGTTCCGTCACCGCCAACGGCTCCAGTAAGCCT
+>r5905
+CGGTCAAGGGCATTTCCAATCTGAATAACATGGCA
+>r5906
+AGTTTACGTTCGATAGCCCCTTCGCTCTCCGCCAG
+>r5907
+CCCTGATTTTTGCCTAACCCCTGGGTTACGGCTTG
+>r5908
+CTCGTGAAAGAATATCATCTGCTGAACCCGGTCAT
+>r5909
+CAGCAAACGAGTGTCATTAAGCGGCTTGCCGCAGT
+>r5910
+TTTTTAATCCACACAGAGACATATTGCCCGTTGCA
+>r5911
+ATGACCAGGGTGTCGATAAAAATGCCAATCATCTG
+>r5912
+TTGTAGAGTTTCATTTAGTTTTCCAGTACTCGTGC
+>r5913
+AATCATCTTCCGAATACAGTATCAGTTTCTGCGTT
+>r5914
+GGATGGCAATCCGGCATTGATATTTAGCGATGATG
+>r5915
+GGGCAGTGCCCGGATAGCATCAACGCTGCGCTGAT
+>r5916
+TGCCAGTGATTATCTACGCCAGCGTAAACTCGGCG
+>r5917
+ATCATCGTGGCGATCATCGTCCGGGGCCTGACAAA
+>r5918
+AATAAAACGTTTTACCGGCAGACCGAGTGACTTCG
+>r5919
+GTTGCCAGATTTTGCGGCGGAACAACTCTTCCACA
+>r5920
+ACCGAGACAACCAACTGGTTACGTGCTTCTTGCGG
+>r5921
+AGATATCCATCACACTGGCGGCCGCTCGAGCATGC
+>r5922
+CTTGTGCGGAAGCGGGCGTGTTCCTGATCTCGCCG
+>r5923
+AAAAAAAGAGTGTCTGATAGCAGCTTCTGAACTGG
+>r5924
+CGGCTGCATAACCCAGCTCTTTCAGTTGCCAGATT
+>r5925
+AGTCATTGTGTACCAGTCTTGCAGCGCGCGTGGGT
+>r5926
+TCGGAACCGTTGCGTCCCAGAACCACCAGCTCGCC
+>r5927
+TCACGAGCGAGAATCAATAGCTTACGCGCCACATC
+>r5928
+AGCTGATCCATGAAGCGCGGAAACTGACGCCCCCG
+>r5929
+GACACCAGATCGCTTTAGGGTTGTTCAGGCGTAAA
+>r5930
+TGTAAACGTTACCAATTGTTTACGAAGTATATAAC
+>r5931
+GGAACACTGGCTTGATAATCTCGGCATTCAATTTC
+>r5932
+CAGATTTATCACCACATTATCGCCTTGTGCTGCGA
+>r5933
+CACGTTCTTTATAAAGCTGTGCGAGGGAACATTCG
+>r5934
+CCGCAGTGTTCATTCATCGCCATCAGCGCCGCGAC
+>r5935
+CAGGAAAAACTGGAAAAAATGATCGGCGATCTGCT
+>r5936
+AGACAACCAACTGGTTACGTGCTTCTTGCGGCAAC
+>r5937
+CCAGATTATCGCCATCAACGGGACAAACCCCTGCA
+>r5938
+TCATGTATGCTACGCAGAAGTTATCCAAGTACCTC
+>r5939
+GGCATAAATTTCCTGCAAGGACTGGATATGCTGAT
+>r5940
+AAGCCGCTTAATGACACTCGTTTGCTGGCTTTGAT
+>r5941
+GTCTCTGTGTGGATTAAAAAAAGAGTGTCTGATAG
+>r5942
+AGGGCATTTCCAATCTGAATAACATGGCAATGTTC
+>r5943
+TATTTTCTTCATAAAAAAAGCCGGGCTGCATAAAA
+>r5944
+GTATCAACGCCGCTCGCTTTCATGACTGGCAGCCA
+>r5945
+ACAAACTTAACGTTGTTCGTAGCGTTTAAACACCA
+>r5946
+GGTTTCAGAAGAGGTAGCGTGACCGACTTCCCGGT
+>r5947
+ATTTTTAATCAGGCAAGGGATCTGGAACTGGGCGA
+>r5948
+AGTAACGCGCACGCCAGTGGTCGCATCATCGTTAT
+>r5949
+AATTGGGCCTCTAGATGCATGCTCGAGCGGCCGCC
+>r5950
+GGAAGTTGCCCGATATTCATTACGCAAATCACCAG
+>r5951
+TAACATCTATTCATTATCTCAATCAGGCCGGGTTT
+>r5952
+CCGCTGGAAGGTATTCAGCTTATCCAGAAGGCGAT
+>r5953
+CGCAACGGCGTTCGCCTGAACTCCGCTGAAAATTA
+>r5954
+TGCAAAATCTGCTCAATGCTGGTGATGAATTGATG
+>r5955
+AAGTATTTAGTGACCTAAGTCAATAAAATTTTAAT
+>r5956
+TTGCCGATATTCTGGAAAGCAATGCCAGGCAGGGG
+>r5957
+AATTTGCCGTTCTTCTCATCGAGGAACACTGGCTT
+>r5958
+CGCGTGTGGCGAAGGCCCGTGATGAAGGAAAAGTT
+>r5959
+CGTGTCTGCGGTGTTGCTAACTCGAAGGCACTGCT
+>r5960
+GGGGCTATCGAACGTAAACTGTCTTACACTGGTGA
+>r5961
+GACGGCGGTCCATGTGGGTGCCAGCGATTGCCTCG
+>r5962
+AAGCCTTCTTTCAGTTCCAGGTAGAACTCTTCCTG
+>r5963
+TGAAAATCGGCTGACCAAACCAGAGCAACTGACTG
+>r5964
+GAAATTCTTTGCCGCGCTGGCCCGCGCCAATATCA
+>r5965
+TTGGGCAAATTCCTGGTCGACGAAAGTTTTCAATT
+>r5966
+GCGGCAAGCTCAAGCTGACGGGAATAGCAGGCGTG
+>r5967
+CTGAACAACCCTAAAGCGATCTGGTGTCTGCGGAT
+>r5968
+CCTCTATCCACGAGGCAAAATCAGTCCACTGCAAG
+>r5969
+GTTGGTTCACTTTTCGTACCGGATTTGTGCAGTTT
+>r5970
+TGCGGGCGATAAGCCAGTGACCATTCTGACCGCGA
+>r5971
+GTGATATCATCAGGGCAGACCGGTTACATCCCCCT
+>r5972
+TTCGTATAAAAATGGCGGGCGATATCAACGCAGCG
+>r5973
+GGTGCGATGGTCAGACGGTCGCAGCCTGCCAGTTC
+>r5974
+CAGGCGAACGCCGTTGCGCGAGCCCTGAGTTTTTC
+>r5975
+GCCAGTTCTTCCTGCCAGTTTTCCAGATTAAGGCC
+>r5976
+TATCGATCCGGTCGAAAAACTGCTGGCAGTGGGTC
+>r5977
+CCGCATCCGGCAGCGCAAGGAATTGTCCAGATGAT
+>r5978
+AGGATCTTCGCACTGCGGGTGACAAAATCCAGCTT
+>r5979
+GCAGAATTCGCCCTTGTGATATCATCAGGGCAGAC
+>r5980
+AGGCCAGGGCGTTTTCGCCATTTTTCACTTTGAAC
+>r5981
+GCGGCGGCGAGTCCCGTCAGAAGTTCGGCAAAAAT
+>r5982
+ACCAGCGCCTGACAGGCATCGAAATCGCCGTCGAT
+>r5983
+TGTTGACCAGGAAAAACTGGAAAAAATGATCGGCG
+>r5984
+CTTTCAACATTGGCGACCGGAGCCGGGAAGGCAAA
+>r5985
+TACGCTCATTGGTGCCAGCCGTGATGAAGACGAAT
+>r5986
+TTTACGCGCCGATTGTTGCGAGATCTGGACGGATG
+>r5987
+CATGGGAGCGACCAGAACCAGGGAAAGTGCGAGTA
+>r5988
+GGCTTCACCGATTTAAAATACTCATCTGACGCCAG
+>r5989
+TTGCAGGTTCTCAATAACCGGTAATCCAGCCCCAA
+>r5990
+GGTAATGGTGCGGGGGTGAAGAACTTTAGCGCCGA
+>r5991
+CGCGATTTTTCCGCCGCATAACGCAACTGATGGTA
+>r5992
+GTCTTTGCAGCGATGTCACGCGCCCGTATTTCCGT
+>r5993
+TCTGGTAGCGATGATTGAAAAAACCATTAGCGGTC
+>r5994
+GATGATGCGACCACTGGCGTGCGCGTTACTCATCA
+>r5995
+GCAATCCTGGCGGCGATACTGCGCCGGTAAAATAG
+>r5996
+GATACCGCTCGCTACCGCGCCGATTTCCGCAACCG
+>r5997
+CGCCGCGACCACTGAACAGGCGCTGGAGCCTAAGC
+>r5998
+GCCGGAATTCAGCCTGACTGAAATTGATGAGATGC
+>r5999
+ACCAGGATCCAATGGCAGTAGATAAACTGGCGGAA
+>r6000
+GCAGCCTGCGCTGCCATGGGAGCGACCAGAACCAG
+>r6001
+AAAGCGAACCTGAAAGAATGCCGGAGAACTTCATC
+>r6002
+ATCAATTCATCACCAGCATTGAGCAGATTTTGCAG
+>r6003
+CGAAGTATATAACGCTACGAGGTACTTGGATAACT
+>r6004
+TCTCGGCGAAATTCTTTGCCGCGCTGGCCCGCGCC
+>r6005
+TTGATGAGATGCTGAAGCTGGATTTTGTCACCCGC
+>r6006
+CTAATGGTTTTTTCAATCATCGCTACCAGATGGTT
+>r6007
+TCGGAACCGTTGCGTCCCAGAACCACCAGCTCGCC
+>r6008
+CCGGCCTGATTGAGATAATGAATAGATGTTACTGA
+>r6009
+ATGCTGCAACCACTTCCGGTGCCGTTTCAACGTAT
+>r6010
+GGCGTTTTCGCCATTTTTCACTTTGAACAGCGGAT
+>r6011
+CCAGTTCAGAAGCTGCTATCAGACACTCTTTTTTT
+>r6012
+TTCAACGTATGGCCCTTCCAGCAACTGAATGCAGT
+>r6013
+CACCAGATCGCTTTAGGGTTGTTCAGGCGTAAAAA
+>r6014
+ATCAACATTGTCGCCATTGCTCAGGGATCTTCTGA
+>r6015
+CGGAAATACGGGCGCGTGACATCGCTGCAAAGACG
+>r6016
+TCTTTCAGGTTCGCTTTCTTATATCTTCGGCAAGT
+>r6017
+TGGCGCATCTGTTCACCAAAGCCTGGCATCTCGCG
+>r6018
+AATTATGCCGTAGGCGATGAGCAAAAAGACGGCGA
+>r6019
+AACTTAGAGATTAGGATTGCGGAGAATAACAACTG
+>r6020
+TCAATTTCAGTCAGGCTGAATTCCGGCAGGTCGTG
+>r6021
+TGGCGCTGGGGCTGAATTCTGCTAACTCCATCAAC
+>r6022
+TTGCTTTCGCATAACCTGCCCGCCGATTTTGCTGC
+>r6023
+GGGCGCAAGCTTCCGTAACATCGGCGAAATTCTGG
+>r6024
+CGAGCAAACGTTGTGTGAACTGGTGGATGAAATGA
+>r6025
+TACGCTAAGAAAGCACGCGGTCTGATGAGTCGTTT
+>r6026
+AAGCAGGCGTTTGATGATGAAGAACTGAAAGTGGC
+>r6027
+AGTGAAACCAGCCATCAGCACCATGTGGTCAGCCG
+>r6028
+ATAGCCCCTTCGCTCTCCGCCAGCTCTTTCAGCAG
+>r6029
+ACGAGGTCGCCATGCCGATAAATGCGGCAACCCAC
+>r6030
+GGTCAACCGAAGTCTATTAAAGAGACGCTGGAAGG
+>r6031
+GATTGTAGAGTTTCATTTAGTTTTCCAGTACTCGT
+>r6032
+CAGTTGTTATTCTCCGCAATCCTAATCTCTAAGTT
+>r6033
+GCCATTTTTCACTTTGAACAGCGGATCATTACCAT
+>r6034
+ATGCCAATCATCTGGACAATTCCTTGCGCTGCCGG
+>r6035
+TCCCGTCAGAAGTTCGGCAAAAATAAGTTCGGCAT
+>r6036
+TGTAGTTGGCAACGATGGAGCTGAAGGCAAACAGA
+>r6037
+TGCATTGCCCGTTCAGCTCGCACACAGTCGCTTTG
+>r6038
+CAGGTGTCACCGCCGCCCCGAGCACATCAAACCCG
+>r6039
+CCACGCGCTTCTAACACGCCGGCCATAATGGCGAT
+>r6040
+GCCTTCTTTCAGTTCCAGGTAGAACTCTTCCTGCA
+>r6041
+ATGGCGCTTGCCGTGCAGATGACCAGGGTGTCGAT
+>r6042
+CCAGCATTGAGCAGATTTTGCAGGTTCTCAATAAC
+>r6043
+ACGCGAAGTTAGCGAATAAAAAAATCCCCCCAGGC
+>r6044
+TCGATAACCTGATCGGTATTGAACAGCATCTGATG
+>r6045
+TGTGTAAACGTTACCAATTGTTTACGAAGTATATA
+>r6046
+AGCTGGCGGAGAGCGAAGGGGCTATCGAACGTAAA
+>r6047
+AATGCAGGCTGATCTGGCGCATCTGTTCACCAAAG
+>r6048
+GCCCAGTTCCAGATCCCTTGCCTGATTAAAAATAC
+>r6049
+AGGGATGCCTTTATCCTGATAAACGCCGCTGGATG
+>r6050
+CAGCAGCTGATCCATGAAGCGCGGAAACTGACGCC
+>r6051
+CTTTGCCGCGCTGGCCCGCGCCAATATCAACATTG
+>r6052
+CAGGTATAAACACCGTCAACATCCGTCCAGATCTC
+>r6053
+CTACAATCTGAAAGATCACAATGAGCAGGTCAGCT
+>r6054
+CTCGGGCATTCTCAAGACGTATCCCCATTTCCAGA
+>r6055
+TTTCATAACCATGCTCTTTGTAGTACTGGTAGATT
+>r6056
+CTCGCCTTTTTCATTACCGGCAGTGAAACCAGCCA
+>r6057
+CGCCAGATCAGCCTGCATTTTGTACCAACTGCGAT
+>r6058
+GGCGGGTATCAACGCCGCTCGCTTTCATGACTGGC
+>r6059
+CATCCTGACCGCTAATGGTTTTTTCAATCATCGCT
+>r6060
+CTGACCAAACCAGAGCAACTGACTGGTTTTAATAG
+>r6061
+GCTCACCAATGTACATGGCCTTAATCTGGAAAACT
+>r6062
+ACTGGATATGCTGATTCTTATTTCACCTGCGAAAA
+>r6063
+GCCGGAAACGCTGAACATTGCCATGTTATTCAGAT
+>r6064
+AACGCAAAACTGCCTGATGCGCTACGCTTATCAGG
+>r6065
+TAGCCAGCCAAACAACTGGCCGCGTGTGGAAGAGT
+>r6066
+CTTCGCAACGGTCATCGGCGGCACCTTGTTAAGTT
+>r6067
+TGTGATTGGCGTCGGTGGCGTTGGCGGTGCGCTGC
+>r6068
+TCTCGGGCGCTTAATTCGCCTCGTGAAAGAATATC
+>r6069
+CGAACTTCTGACGGGACTCGCCGCCGCCCAGCCGG
+>r6070
+CGCTCGAAGGGATAAGATTGTTAACAACGTGCGCT
+>r6071
+TGCGTTGATATCGCCCGCCATTTTTATACGAAACC
+>r6072
+TTAAAAATAGCATTCATCCACAGCCAGGCGGTTTA
+>r6073
+GAAACACAGAAAAAAGCCCGCACCTGACAGTGCGG
+>r6074
+TTCACCAAAGCCTGGCATCTCGCGGTCCGCTACTG
+>r6075
+AACTGTGCGACAGCCTCAAAGTAATAACAAATCTG
+>r6076
+GCCATAACAAGCACAATGATCATCGTGGCGATCAT
+>r6077
+AGCCGGAAAGCATTCGCAAATGCTGTTGGGCAAAA
+>r6078
+TTCAACATTGGCGACCGGAGCCGGGAAGGCAAACG
+>r6079
+CGCGCGCAGCAGATCGTGGACGCGACCGACAAACT
+>r6080
+CGGCAGTGGCTCATGCTTTCTACGGTTTACCGAAT
+>r6081
+CCATCTTCATCAATATTGCCAACATAGCGCAAAAC
+>r6082
+TGCCATCCGGCATTATCCGGCATTGACTACAAACT
+>r6083
+TGTTCCCTCGCACAGCTTTATAAAGAACGTGATGC
+>r6084
+TTTCATGACTGGCAGCCAAATTTCACACCGGAGAA
+>r6085
+TCAGATGCTGTTCAATACCGATCAGGTTATCGAAG
+>r6086
+CGGGCGCACGAGTACTGGAAAACTAAATGAAACTC
+>r6087
+AGAGACGCTGGAAGGTGTGAAGGACGCTGAGGGTA
+>r6088
+ACGGTTACTGCCAGGCTTCCGGCAGGCGCGGCAGG
+>r6089
+GTATGCTACGCAGAAGTTATCCAAGTACCTCGTAG
+>r6090
+CCCAAATAAAACATGTCCTGCATGGCATCAGTTTG
+>r6091
+GTTGTCTCGGTACCGAGTGGAAACTTCGGCGATTT
+>r6092
+TTCAGCGTTTCCGGCCCGGGGATGAAAGGGATGGT
+>r6093
+ATTCCTGGTCGACGAAAGTTTTCAATTGTGCCAGC
+>r6094
+AGCCAGTGACCATTCTGACCGCGACATCCGGTGAT
+>r6095
+CGTCATGATAGTATTTCTCTTTAAACAGCTTGTTA
+>r6096
+CTGGCAGGAAGAACTGGCGCAAGCCAAAGAGCCGT
+>r6097
+TTGGCGTCGGTGGCGTTGGCGGTGCGCTGCTGGAG
+>r6098
+TCATCCACAGCCAGGCGGTTTAACCTCATTTCAGT
+>r6099
+GAATAACATGGCAATGTTCAGCGTTTCCGGCCCGG
+>r6100
+CTGATTTTGCAGGTAGTTCTTACCCAACCAGTCGG
+>r6101
+TGAAGATGGCGTCTGCCGCGTGAAGATTGCCGAAG
+>r6102
+ACCTTCCGCCAGTTTATCTACTGCCATTGGATCCT
+>r6103
+AATATGGAGAAAAACGACAGGGAAAAAGGAGAAAT
+>r6104
+ATTTTTCCGCCGCATAACGCAACTGATGGTAGTAA
+>r6105
+GACACTGGGGACATCGCGGCAATGAAGCTGTATCA
+>r6106
+TGTGATGGATATCTGCAGAATTCGCCCTTGTGATA
+>r6107
+GGTGCGCATACCATCACCTACCACCGAGATAATGG
+>r6108
+CTGGCGTCAGATGAGTATTTTAAATCGGTGAAGCC
+>r6109
+ACTGGTTGGGTAAGAACTACCTGCAAAATCAGGAA
+>r6110
+CGATCCGCGTCAGGTGCCCGATGCGAGGTTGTTGA
+>r6111
+GCTGACCACATGGTGCTGATGGCTGGTTTCACTGC
+>r6112
+CCAGTACTACAAAGAGCATGGTTATGAAACCGTGG
+>r6113
+CGACCACTGAACAGGCGCTGGAGCCTAAGCCCGAA
+>r6114
+TATCAACCGCAGGATGCCACAACCAACCCTTCTCT
+>r6115
+ATTGGTAATAGCCATGCAGGCCATAATGATATCTG
+>r6116
+CACTCTTTTTTTAATCCACACAGAGACATATTGCC
+>r6117
+AAGTTTGTAGTCAATGCCGGATAATGCCGGATGGC
+>r6118
+GGCGGATGTAGCGAAACTGCACAAATCCGGTACGA
+>r6119
+CTGCAAGAAAAACTGTTCTGTACATTGGGCGGCAA
+>r6120
+CGGCATAAATTTCCTGCAAGGACTGGATATGCTGA
+>r6121
+GGGCTATCGAACGTAAACTGTCTTACACTGGTGAA
+>r6122
+CACAAATCCGGTACGAAAAGTGAACCAACAACCTG
+>r6123
+ACTGGTTACCTGCCGTGAGTAAATTAAAATTTTAT
+>r6124
+GTGTAAGACAGTTTACGTTCGATAGCCCCTTCGCT
+>r6125
+CAGTTTGTCGCTGATGCGCATCAGGGAGCTAATCT
+>r6126
+ACATATCGACTTACGTGTCTGCGGTGTTGCTAACT
+>r6127
+AAACTTAACGTTGTTCGTAGCGTTTAAACACCAGT
+>r6128
+TTCAGCGAAGACGATTTCGATTTTGCCCAACAGCA
+>r6129
+AATGCAATCCTGGCGGCGATACTGCGCCGGTAAAA
+>r6130
+TACGCTAAGAAAGCACGCGGTCTGATGAGTCGTTT
+>r6131
+AAAGCGGCGACATCACCCTCGGCGTTAAACTCTGC
+>r6132
+CAGGCCCCGGACGATGATCGCCACGATGATCATTG
+>r6133
+GAAGAACTTTAGCGCCGAAGTAAGAAAGCTCCATC
+>r6134
+GGAAATACGGGCGCGTGACATCGCTGCAAAGACGC
+>r6135
+TCGGCATATTCTTTTCCAGAGTCATCGCCACTGGA
+>r6136
+GAATAACCACGAGGGTAACAAACTCCGCACCCCAG
+>r6137
+AACACCTCGTCGATGGATTACTACCATCAGTTGCG
+>r6138
+TTCCTGCATTGCCCGTTCAGCTCGCACACAGTCGC
+>r6139
+AGCAATATCAACGGTAGATTCGAGGTAATGACCCA
+>r6140
+AGCAGGGTCAGGTTACAGTTAATACCTTCTTTTTC
+>r6141
+GTTAAGTTTTCCGCTGATGTGGCAACTGGCAGATA
+>r6142
+GAAAGCAATGCCAGGCAGGGGCAGGTGGCCACCGT
+>r6143
+CCCGCCGTATCCAGCCGGCAAATATGAACAAAACC
+>r6144
+GATGCGGCGTGAACGCCTTATCCGGCCTACAAAAT
+>r6145
+CGATTACTAACGGTTTTCAGCGCAGTATGTTTTCC
+>r6146
+GGGGTCGACGCCAAACGCGGCAGCGGCAGCTGCGT
+>r6147
+GTTAAACCGCCTGGCTGTGGATGAATGCTATTTTT
+>r6148
+ACAAAATCCAGCTTCAGCATCTCATCAATTTCAGT
+>r6149
+GCGCGAAGGTTTCCACGTTGTTACGCCGAACAAAA
+>r6150
+CGGGTGCTAATGGGTTCCTGGGGTGCGGAGTTTGT
+>r6151
+GCTTAGTTTCCATCTCTGATCGCGCATCCAGCGGC
+>r6152
+GTTGAAACGGCACCGGAAGTGGTTGCAGCATTCAG
+>r6153
+GGAAACTTCGGCGATTTGACGGCGGGTCTGCTGGC
+>r6154
+TCATGAAAGCGAGCGGCGTTGATACCCGCCAGTTT
+>r6155
+GGGATATGCATGCCAGATTTTTTCTCCTTTATTAA
+>r6156
+AGGAACACGCCCGCTTCCGCACAAGCACGAGCCTG
+>r6157
+TGTTAATAAAGGAGAAAAAATCTGGCATGCATATC
+>r6158
+AAGCACGCGGTCTGATGAGTCGTTTCATTATTGAA
+>r6159
+GTGCCTTCGAGTTAGCAACACCGCAGACACGTAAG
+>r6160
+CCAGCTCTTTTGGCAGATCCAACGTTTCACCGAGA
+>r6161
+CCATGCCGATAAATGCGGCAACCCACATCCAGAAG
+>r6162
+ACTCACGCATTGTCTGTTGCGTGGTTTCATCATCC
+>r6163
+ACGCGCTTCTAACACGCCGGCCATAATGGCGATCG
+>r6164
+GCGGTACATCAGTGGCAAATGCAGAACGTTTTCTG
+>r6165
+GCGACCGATCTCCGGATAACGCAACGGATCAAACA
+>r6166
+CGGCGGCGAGTCCCGTCAGAAGTTCGGCAAAAATA
+>r6167
+TTTCATCAGCTTCGCGGCAAGCTCAAGCTGACGGG
+>r6168
+CGACGCCAAACGCGGCAGCGGCAGCTGCGTCCTGG
+>r6169
+CTGACCGCGACATCCGGTGATACTGGAGCGGCAGT
+>r6170
+TGGTGATGATATCTCCCCAGAATTGATACAGATCT
+>r6171
+TCCGCTGGCACAATTGAAAACTTTCGTCGACCAGG
+>r6172
+CAGAAGAGGTAGCGTGACCGACTTCCCGGTCACGC
+>r6173
+GCCGGATGCGGCGTGAACGCCTTATCCGGCCTACA
+>r6174
+TTTCGCCATTTTTCACTTTGAACAGCGGATCATTA
+>r6175
+CTCCATCGTTGCCAACTACATTTATGCCGAAAACA
+>r6176
+GCATCCGGCAGCGCAAGGAATTGTCCAGATGATTG
+>r6177
+TTGAATGCCGAGATTATCAAGCCAGTGTTCCTCGA
+>r6178
+CATTATCGCCTTGTGCTGCGAGCGCCTCGTTCAGC
+>r6179
+AGGCCATAATGATATCTGCCAGTTGCCACATCAGC
+>r6180
+AGAATATCATCTGCTGAACCCGGTCATTGTTGACT
+>r6181
+TTCGGCCTGCAAGCCAGTGTAGACATCACCTTTAA
+>r6182
+CTACCAGTACTACAAAGAGCATGGTTATGAAACCG
+>r6183
+GACGATGATCGCCACGATGATCATTGTGCTTGTTA
+>r6184
+AAAAACAGCCCCTGATTTTTGCCTAACCCCTGGGT
+>r6185
+CAACATTGTCGCCATTGCTCAGGGATCTTCTGAAC
+>r6186
+CCTGTGTAAACGTTACCAATTGTTTACGAAGTATA
+>r6187
+GGGACTCGCCGCCGCCCAGCCGGGATTTCCGCTGG
+>r6188
+GTATTTTTGCCAGCGTACCGTACTGCATTCAGTTG
+>r6189
+ATTTGACGGCGGGTCTGCTGGCGAAGTCACTCGGT
+>r6190
+CCAGCTCTTTTGGCAGATCCAACGTTTCACCGAGA
+>r6191
+GATGCGCATCAGCGACAAACTGGCGGGTATCAACG
+>r6192
+CACTGCTCACCAATGTACATGGCCTTAATCTGGAA
+>r6193
+GCAGGCGCGGCAGGCGGTTGCGGAAATCGGCGCGG
+>r6194
+CCCCCATCGCCCAGTTCCAGATCCCTTGCCTGATT
+>r6195
+CCTTTGGTCGAAAAAAAAGCCCGCACTGTCAGGTG
+>r6196
+CGGCAGCATTCATTACGACAACGTGGCACCGTGTT
+>r6197
+AAGAATATCATCTGCTGAACCCGGTCATTGTTGAC
+>r6198
+AGATATAAGAAAGCGAACCTGAAAGAATGCCGGAG
+>r6199
+GGCGGGGGCAGAGAGGACGGTGGCCACCTGCCCCT
+>r6200
+GCAATGCAATCCTGGCGGCGATACTGCGCCGGTAA
+>r6201
+TCTCAACTGAAGTTGATGCGCGTCTTTCCTATGAC
+>r6202
+GCAAGTGCCAGGGTTTGATGAGTGGCTGTGGGTGC
+>r6203
+CATCGCATTGGATAACGTCGCCTGAGTCGCTTTGG
+>r6204
+TTTGATCAGAATACGATCGTTGCTAATACCTGCAT
+>r6205
+ACATTGTCGCCATTGCTCAGGGATCTTCTGAACGC
+>r6206
+TTTGCCAGGAGCTTGGCAAGCAAATTCCAGTGGCG
+>r6207
+ACCAGAACCAGGGAAAGTGCGAGTACGATAGATTG
+>r6208
+CAATTCTGGCGTTTAAAGGTGATGTCTACACTGGC
+>r6209
+AGTGAAAGCGCGTCCGGCGCGTATCACTGAGTCCG
+>r6210
+CCATGGGAGCGACCAGAACCAGGGAAAGTGCGAGT
+>r6211
+GACACCAGATCGCTTTAGGGTTGTTCAGGCGTAAA
+>r6212
+TGATTGATGATGCTGTCGCCTGGGCGAAACAGCAG
+>r6213
+GAATGAACACTGCGGCAAGCCGCTTAATGACACTC
+>r6214
+TGAAATTGAACCTGTGCTGCCCGCAGAGTTTAACG
+>r6215
+GCCTTTATCCTGATAAACGCCGCTGGATGCGCGAT
+>r6216
+CTGCTGTTTCGCCCAGGCGACAGCATCATCAATCA
+>r6217
+CGACATCTGGCAGGCTTCATTCACGCCTGCTATTC
+>r6218
+CGGTCTGATGAGTCGTTTCATTATTGAAAATCGGC
+>r6219
+GTGCTGATGGCTGGTTTCACTGCCGGTAATGAAAA
+>r6220
+CCAGGCGGGGGGATCAGACTGATGACAAACGCAAA
+>r6221
+AAGACGGCTCCAGGTCCACCGGCGGTAATTGCCAG
+>r6222
+CGGAAAACTTAACAAGGTGCCGCCGATGACCGTTG
+>r6223
+TAAAGCGACCGCCGAAATCTTTAAATGCCAGCGTT
+>r6224
+ACTTCTGCGTAGCATACATGAGGTTTCGTATAAAA
+>r6225
+ATTTCACCTGCGAAAACGCTTGATTACCAAAGCCC
+>r6226
+ATCCGTGCTGCAGAACAGCTGGAAAAAGAAGGTAT
+>r6227
+ATCACACTGGCGGCCGCTCGAGCATGCATCTAGAG
+>r6228
+AATTCTGCTAACTCCATCAACATCAGTCGCTTGCT
+>r6229
+GCGCACGAGTACTGGAAAACTAAATGAAACTCTAC
+>r6230
+GCGATGAGCAAAAAGACGGCGAACAGAACGCCCAT
+>r6231
+GTGAAAGCGCGTCCGGCGCGTATCACTGAGTCCGA
+>r6232
+TTGTGGTGCACGGTATTTTTGCCAGCGTACCGTAC
+>r6233
+CCATGAAGACCGCGAGTGATCGCCAGCAGAGCAAA
+>r6234
+ACAGGCGCTGGAGCCTAAGCCCGAACCGATCGGCA
+>r6235
+CCACCTGACGCGAAAGGATCGCAGTTGGTACAAAA
+>r6236
+ATGGGGTCGACGCCAAACGCGGCAGCGGCAGCTGC
+>r6237
+TGCGCGAAGGTTTCCACGTTGTTACGCCGAACAAA
+>r6238
+CAGCGTATAGCGCGTGGTGGTCAACGGGCTTTGGT
+>r6239
+CGGCAGCTGTAACGTCATTGCCCGCACCATATCCG
+>r6240
+AGGAAAAACTGGAAAAAATGATCGGCGATCTGCTG
+>r6241
+AACCCAGGGGTTAGGCAAAAATCAGGGGCTGTTTT
+>r6242
+TGTCCTATCAGGAAGCGATGGAGCTTTCTTACTTC
+>r6243
+ATGAATATCGGGCAACTTCCCCACGTCATTTGGTC
+>r6244
+GACCAAACCAGAGCAACTGACTGGTTTTAATAGCG
+>r6245
+CAGCAGGGTCAGGTTACAGTTAATACCTTCTTTTT
+>r6246
+GCGGTGACACCTGTTGATGGTGCATTGCTCGGAGA
+>r6247
+ATATGGAGAAAAACGACAGGGAAAAAGGAGAAATT
+>r6248
+CACGCGGCAGACGCCATCTTCATCAATATTGCCAA
+>r6249
+TTGGTAACGTTTACACAGGAAAGTCATCGCGACCG
+>r6250
+ATCTCCGGCAGCATTCATTACGACAACGTGGCACC
+>r6251
+GCGCATCCGGCGAAATTTAAAGAGAGCGTGGAAGC
+>r6252
+CAGCCATCAGCACCATGTGGTCAGCCGGAATGCGG
+>r6253
+CACTGGCAATGGTATGAACCACAGGCGAGAGCAGT
+>r6254
+GAGCCACGGGAAAATATCGTTTATCAGTGCTGGGA
+>r6255
+GCGGATGTAGCGAAACTGCACAAATCCGGTACGAA
+>r6256
+CGGCCTGTTTACGCGCCGATTGTTGCGAGATCTGG
+>r6257
+GTACTCTTTCTTATCGGTATTCGCTTTGTATCAGT
+>r6258
+TTCGCAAATGCTGTTGGGCAAAATCGAAATCGTCT
+>r6259
+TCCAGCTTCAGCATCTCATCAATTTCAGTCAGGCT
+>r6260
+AGTTCCGCCCGTGGTGAGCACCAGATGGCAACTCA
+>r6261
+CATCCAGCGCATCCCCAGCCCGCGCGCCATATACC
+>r6262
+TGATTACCAAAGCCCGTTGACCACCACGCGCTATA
+>r6263
+ACTGGTCACGCAGCGCACGATAAGCTACGGCAGCG
+>r6264
+GGTAATTCGTCTTCATCACGGCTGGCACCAATGAG
+>r6265
+ATGTGGTCAGCCGGAATGCGGCTTGCCGCAATACG
+>r6266
+GTGATTACTCCTGCGAAACATCATCCCACGCGTCT
+>r6267
+TGTTACCAGCGGGGGAAAATCAAAAGAAAAACTCA
+>r6268
+ATCACTGAGTCCGAGTTCCTGTGGCAGCACAACCA
+>r6269
+GATTCGAGGTAATGACCCACTGCCAGCAGTTTTTC
+>r6270
+CTCGCGGTCCGCTACTGCCAGCGTCGCATCGGGCG
+>r6271
+TGCCAGGAGCTTGGCAAGCAAATTCCAGTGGCGAT
+>r6272
+AAAAGAGAATGAGTTGATCGATAGTTGTGATTACT
+>r6273
+TTACTCCTTTTATCATTGCCCGTTATGGGTCGATA
+>r6274
+CCAATAAACGCCGAGAGGATCTTCGCACTGCGGGT
+>r6275
+CGATGCGGGTGCTAATGGGTTCCTGGGGTGCGGAG
+>r6276
+CCCAAAGGACGCTGTTAATAAAGGAGAAAAAATCT
+>r6277
+ATCCGGCATTATCCGGCATTGACTACAAACTTAAC
+>r6278
+TAGTTGGCAACGATGGAGCTGAAGGCAAACAGAAT
+>r6279
+TGCTCTGGTTTGGTCAGCCGATTTTCAATAATGAA
+>r6280
+AGGCGATCATCGAGCAAACGTTGTGTGAACTGGTG
+>r6281
+TGTGCGAGCTGAACGGGCAATGCAGGAAGAGTTCT
+>r6282
+CAGGTTATGCGAAAGCAAGGGTAAATCAGCACGTT
+>r6283
+ATGCCGAGATTATCAAGCCAGTGTTCCTCGATGAG
+>r6284
+GCCACAGGAACTCGGACTCAGTGATACGCGCCGGA
+>r6285
+TGGAAGCGATTCTCGGTGAAACGTTGGATCTGCCA
+>r6286
+TCTTCCTGCATTGCCCGTTCAGCTCGCACACAGTC
+>r6287
+CGCCGAGATCCCACGTAAGGTGCGCATACCATCAC
+>r6288
+GGGTCCGGTTCGGTATAACCCATTTCCCGCGCCAG
+>r6289
+TATTTTCCCGTGGCTCTGACGGCAGCTTATCGGCA
+>r6290
+GCCCCAACGTTGGTGTCATAGAGGAATTTACGCCG
+>r6291
+CTGGCGCATCTGTTCACCAAAGCCTGGCATCTCGC
+>r6292
+TTGAAAGCGATGTCGGTTGTCTGGAATTGTTCCAC
+>r6293
+GGTTATTCTGTTTGCCTTCAGCTCCATCGTTGCCA
+>r6294
+ATATCATCAGGGCAGACCGGTTACATCCCCCTAAC
+>r6295
+AACCAACAACCTGCGCCGAAAAGCAGGTAAATCAT
+>r6296
+CCAGTGGTCGCATCATCGTTATTGACCACGACAGA
+>r6297
+TCCCCAGAATTGATACAGATCTTTCCCTCGGGCAT
+>r6298
+CCCGCCATTTTTATACGAAACCTCATGTATGCTAC
+>r6299
+AGGGCGTATCTCCGGCAGCATTCATTACGACAACG
+>r6300
+TCAGTGGTCACCCAAAGCGACTCAGGCGACGTTAT
+>r6301
+CTAGATGCATGCTCGAGCGGCCGCCAGTGTGATGG
+>r6302
+CTGATACAAAGCGAATACCGATAAGAAAGAGTACG
+>r6303
+CATTAGCACCACCATTACCACCACCATCACCATTA
+>r6304
+AAAATGGCGAAAACGCCCTGGCCTTCTATAGCCAC
+>r6305
+CCAGGCTGGTCAGTACCCAGATTATCGCCATCAAC
+>r6306
+CAGGATAAAGGCATCCCTGCGCTGGAAGAATGGCT
+>r6307
+CCAGCGCATCCCCAGCCCGCGCGCCATATACCATG
+>r6308
+TTACCGTTATCGATCCGGTCGAAAAACTGCTGGCA
+>r6309
+TTTATGCCGAAAACAATCTCTTCTTTTTACGCCTG
+>r6310
+CTGGTTTGGTCAGCCGATTTTCAATAATGAAACGA
+>r6311
+CTGTGGCAGCACAACCAGGATCCAATGGCAGTAGA
+>r6312
+GTAACCAGTTCAGAAGCTGCTATCAGACACTCTTT
+>r6313
+CCTTGTTAAGTTTTCCGCTGATGTGGCAACTGGCA
+>r6314
+GACATTCAGTCTCAACAACCTCGGACGCTTTGCCG
+>r6315
+CGCCGGCCAGGTTGCCGCTACCCACGCGCGCTGCA
+>r6316
+TGGCACAATTGAAAACTTTCGTCGACCAGGAATTT
+>r6317
+GCCTTATCCGGCCTACAAAATCGTGCAAATTCAAT
+>r6318
+ATTTCGCCGAGATCCCACGTAAGGTGCGCATACCA
+>r6319
+CATCGGCGGCACCTTGTTAAGTTTTCCGCTGATGT
+>r6320
+TCTGGAAATGGGGATACGTCTTGAGAATGCCCGAG
+>r6321
+TGAACAGCATCTGATGAGTAACGCGCACGCCAGTG
+>r6322
+GTGGGGGTGATTCGCAAACAGGCGCTGATCCTTAA
+>r6323
+TCCCTTGCCTGATTAAAAATACCGGAAATCCCCAA
+>r6324
+CATGGATGTGGCGCGTAAGCTATTGATTCTCGCTC
+>r6325
+GCCAGTTCTTCCTGCCAGTTTTCCAGATTAAGGCC
+>r6326
+CTTTTTCCCTGTCGTTTTTCTCCATATTTTCTTCA
+>r6327
+AATACCGATCAGGTTATCGAAGTGTTTGTGATTGG
+>r6328
+ACCATCAGTTGCGTTATGCGGCGGAAAAATCGCGG
+>r6329
+ATCTGACGCCAGATTTATCACCACATTATCGCCTT
+>r6330
+GTCTGCTGGCGAAGTCACTCGGTCTGCCGGTAAAA
+>r6331
+ATGCAATCTATCGTACTCGCACTTTCCCTGGTTCT
+>r6332
+ACATGGACCGCCGTCATCGCCGCGCCATAACAAGC
+>r6333
+CGCCTGGCTTAAGGTATATCCCGCCGCGCCGCCTG
+>r6334
+TGACAGGCATCGAAATCGCCGTCGATGGCAACAGT
+>r6335
+GTGGGTTGCCGCATTTATCGGCATGGCGACCTCGT
+>r6336
+TTCTGTGTTTCCTGTACGCGTCAGCCCGCACCGTT
+>r6337
+CAAGCTGTTTAAAGAGAAATACTATCATGACGGAC
+>r6338
+CAAAATCTGGCAACTGAAAGAGCTGGGTTATGCAG
+>r6339
+TATGAGCGTCGGGTTTGATGTGCTCGGGGCGGCGG
+>r6340
+TAATCTGCGGGGGCGTCAGTTTCCGCGCTTCATGG
+>r6341
+TAGAACTCTTCCTGCATTGCCCGTTCAGCTCGCAC
+>r6342
+AAAGAGCCGTTTAATCTCGGGCGCTTAATTCGCCT
+>r6343
+TTTAACCATGTCAGACTCCTAACTTCCATGGGAGG
+>r6344
+GCAATAAGAGGGATATGCATGCCAGATTTTTTCTC
+>r6345
+GCGTCGGTGGCGTTGGCGGTGCGCTGCTGGAGCAA
+>r6346
+ACTGAAGTTGATGCGCGTCTTTCCTATGACACCGA
+>r6347
+TTTTTATCTGTCTGTGCGCTATGCCTATATTGGTT
+>r6348
+CTGATTAAAAATACCGGAAATCCCCAAGCACCAGG
+>r6349
+GCCGTATTGCGGCAAGCCGCATTCCGGCTGACCAC
+>r6350
+ATTATTCTCGCTGTCTTTGCTCTGCTGGCGATCAC
+>r6351
+ACTTCCAGCCAGGCTGTGGCAGATCAATATGCCGA
+>r6352
+GTACGTGCGGCGTTTGCCTTCCCGGCTCCGGTCGC
+>r6353
+TCTTTTTTTAATCCACACAGAGACATATTGCCCGT
+>r6354
+CGCCGCATAACGCAACTGATGGTAGTAATCCATCG
+>r6355
+AAACTGGTTCCGGGCCGTATCTCAACTGAAGTTGA
+>r6356
+CTTCCAGGATTTCCTGCGGGATTTCATCACCAATA
+>r6357
+AAGACGTATCCCCATTTCCAGACGATAAGGCTGCA
+>r6358
+TCGATGATCGCCTGCTCATCGGGGATTAAGCGGGT
+>r6359
+CGCGGAAACTGACGCCCCCGCAGATTAGCTCCCTG
+>r6360
+AGAAGCTGCTATCAGACACTCTTTTTTTAATCCAC
+>r6361
+TTATCGCCTTGTGCTGCGAGCGCCTCGTTCAGCTT
+>r6362
+GTTGGCCCGTGGAACAATTCCAGACAACCGACATC
+>r6363
+TATTCGCTTTGTATCAGTCAAGAATACGGCCAACA
+>r6364
+TGGGGGTGATTCGCAAACAGGCGCTGATCCTTAAC
+>r6365
+GCGCTGCCGGATGCGGAGGCCAGGACGCAGCTGCC
+>r6366
+ATGTTTTATTTGGGCAAATTCCTGGTCGACGAAAG
+>r6367
+ATAGCAGGCGTGAATGAAGCCTGCCAGATGTCGCC
+>r6368
+CAACTGAAGCGTCAGCAAAGCTGGTTGAAGAATAA
+>r6369
+AATGCCCGAGGGAAAGATCTGTATCAATTCTGGGG
+>r6370
+CTGTTCAAAGTGAAAAATGGCGAAAACGCCCTGGC
+>r6371
+TCAAACTGGCTTCTACCTGGCAGGGTATCCGTGCT
+>r6372
+AAAAAACCATTAGCGGTCAGGATGCTTTACCCAAT
+>r6373
+TTGTAGTACTGGTAGATTTCAGATACAGAAACCAC
+>r6374
+ATATCTCCCCAGAATTGATACAGATCTTTCCCTCG
+>r6375
+ACTGCGCCGGTAAAATAGCCCTGGCTTCTGCCGTC
+>r6376
+ATCATCTGCTGAACCCGGTCATTGTTGACTGTACT
+>r6377
+CGTGGTCACAACGTTACCGTTATCGATCCGGTCGA
+>r6378
+CCTTACGTGGGATCTCGGCGAAATTCTTTGCCGCG
+>r6379
+TCTTTATAAAGCTGTGCGAGGGAACATTCGGCAAA
+>r6380
+AATCTCTGTCGTGGTCAATAACGATGATGCGACCA
+>r6381
+TTTGTTGGGGCAGTGCCCGGATAGCATCAACGCTG
+>r6382
+GGGTATCAACGCCGCTCGCTTTCATGACTGGCAGC
+>r6383
+GATGGGCGAGTTGGAAGGGCGTATCTCCGGCAGCA
+>r6384
+GACTGAAATTGATGAGATGCTGAAGCTGGATTTTG
+>r6385
+CCCTTCGTCAGTACACCACCGTAGTGGCCGACACT
+>r6386
+AACTTCGCGTCTTGCACTCTTCGGTCTGAATGCTG
+>r6387
+ACTACCATCAGTTGCGTTATGCGGCGGAAAAATCG
+>r6388
+AGATGCTGAAGCTGGATTTTGTCACCCGCAGTGCG
+>r6389
+TGCTACGTACCCTCCCATGGAAGTTAGGAGTCTGA
+>r6390
+TGATCAGAATACGATCGTTGCTAATACCTGCATCG
+>r6391
+GATGGTAGTAATCCATCGACGAGGTGTTGGCCTTT
+>r6392
+ATGATGCGACCACTGGCGTGCGCGTTACTCATCAG
+>r6393
+AACCTGTCTGTCACTCCCTTCGCAGTGTATCATTC
+>r6394
+CTTTCGCATAACCTGCCCGCCGATTTTGCTGCGTT
+>r6395
+TAATGGCGATCGACATTTTCTCGCCACGGCAAATC
+>r6396
+CCGGTCCGCCACGAAACTGCCCATTGGCATCACGT
+>r6397
+GACCATCGCACCGGCACTGCTGAAAGAGCTGGCGG
+>r6398
+CATGACGGACAAATTGACCTCCCTTCGTCAGTACA
+>r6399
+ACCAATTGTTTACGAAGTATATAACGCTACGAGGT
+>r6400
+ACGAAACTGCCCATTGGCATCACGTTCTTTATAAA
+>r6401
+GCCGCATTTATCGGCATGGCGACCTCGTTTGCCGA
+>r6402
+ACTTAGCGTGACCGGGAAGTCGGTCACGCTACCTC
+>r6403
+AATTACAGAGTACACAACATCCATGAAACGCATTA
+>r6404
+GAACCCATTAGCACCCGCATCGCCTTCTGGATAAG
+>r6405
+GACCGACTTCCCGGTCACGCTAAGTATGATTACAG
+>r6406
+GCCTCGCCATTCATAATGTTGTTTCCACCAGCCGT
+>r6407
+CTGATCAAACTCTACAACGATGCAGGTATTAGCAA
+>r6408
+CGCCTGAACAACCCTAAAGCGATCTGGTGTCTGCG
+>r6409
+TGCGGGCTTTTTTTTCGACCAAAGGTAACGAGGTA
+>r6410
+TTTATTTGGGCAAATTCCTGGTCGACGAAAGTTTT
+>r6411
+CCCAAAGCGACTCAGGCGACGTTATCCAATGCGAT
+>r6412
+TCAGCTCGCACACAGTCGCTTTGCGGAACGCAGAA
+>r6413
+TGTGATGGATATCTGCAGAATTCGCCCTTGTGATA
+>r6414
+TCGAAGGCACTGCTCACCAATGTACATGGCCTTAA
+>r6415
+CAACAGTTTCGATATTGCCGCCCAATGTACAGAAC
+>r6416
+CAAACTGGCAGTAAATATTGGTCTGGAAATCCTGA
+>r6417
+TTCTTCCAGCGCAGGGATGCCTTTATCCTGATAAA
+>r6418
+GTTGTTGGTTCACTTTTCGTACCGGATTTGTGCAG
+>r6419
+ATGCCAGGCAGGGGCAGGTGGCCACCGTCCTCTCT
+>r6420
+ACGCCCGGATCTTCTGCCGGAGCGTACTCTTTCTT
+>r6421
+CAGTTTCCGCGCTTCATGGATCAGCTGCTGGGCGT
+>r6422
+GGCGGGAATGGGGTCGACGCCAAACGCGGCAGCGG
+>r6423
+CCCTTGCCTGATTAAAAATACCGGAAATCCCCAAG
+>r6424
+TCTTATCGGTATTCGCTTTGTATCAGTCAAGAATA
+>r6425
+GTGCGCGTTACTCATCAGATGCTGTTCAATACCGA
+>r6426
+ATAACAACTGCCGTTCTCATCGCGTAATCTCCGGA
+>r6427
+TAGAGTTTCATTTAGTTTTCCAGTACTCGTGCGCC
+>r6428
+GAATGCCCGCCAGGCAATTCTGGCGTTTAAAGGTG
+>r6429
+CTGTGACAGATTCGCCATAAAAGCGGCGACATCAC
+>r6430
+GGTGGCCACCTGCCCCTGCCTGGCATTGCTTTCCA
+>r6431
+GCAAGGACTGGATATGCTGATTCTTATTTCACCTG
+>r6432
+CAGGCGAATATGGCTTGTTCCTCGGCACCGCGCAT
+>r6433
+GATCCATGAAGCGCGGAAACTGACGCCCCCGCAGA
+>r6434
+TACTGTATTCGGAAGATGATTGCGTAATCAGCACC
+>r6435
+TAGACCAAATGACGTGGGGAAGTTGCCCGATATTC
+>r6436
+TTTTATGGCGAATCTGTCACAGCTCGACGATCTCT
+>r6437
+GAAAGTGGTTATCCTCTATCCACGAGGCAAAATCA
+>r6438
+TCAACGGTAGATTCGAGGTAATGACCCACTGCCAG
+>r6439
+CCAACTGCGATCCTTTCGCGTCAGGTGGGGGTGAT
+>r6440
+GATCAGCCTGCATTTTGTACCAACTGCGATCCTTT
+>r6441
+AGAGTTCTACCTGGAACTGAAAGAAGGCTTACTGG
+>r6442
+GCCCGCACCGTTACCTGTGGTAATGGTGATGGTGG
+>r6443
+TAATTGCCAGCGCAACGCCGGCCAGGTTGCCGCTA
+>r6444
+GACGCTGGAAGGTGTGAAGGACGCTGAGGGTAACG
+>r6445
+CAGCTGCGTCCTGGCCTCCGCATCCGGCAGCGCAA
+>r6446
+TGCCAGGCTTTGGTGAACAGATGCGCCAGATCAGC
+>r6447
+ATTGCGGAGAATAACAACTGCCGTTCTCATCGCGT
+>r6448
+GGAGCGACCAGAACCAGGGAAAGTGCGAGTACGAT
+>r6449
+AGTTGATGATCGAAGAAAACGACATCATCAGCCAG
+>r6450
+ATTCTGCTAACTCCATCAACATCAGTCGCTTGCTG
+>r6451
+ACAATCTCTTCTTTTTACGCCTGAACAACCCTAAA
+>r6452
+AGCGTCGGGTTTGATGTGCTCGGGGCGGCGGTGAC
+>r6453
+AGTTTGCTGTTGACCAGGAAAAACTGGAAAAAATG
+>r6454
+GGAACTCGGACTCAGTGATACGCGCCGGACGCGCT
+>r6455
+CTGGCGTCAGATGAGTATTTTAAATCGGTGAAGCC
+>r6456
+TTCGCCACACGCGCGGCAAAGAGATCGTCGAGCTG
+>r6457
+GGCTTTGGTGAACAGATGCGCCAGATCAGCCTGCA
+>r6458
+ACGCGATGAGAACGGCAGTTGTTATTCTCCGCAAT
+>r6459
+AGCAGCGCACCGCCAACGCCACCGACGCCAATCAC
+>r6460
+GCAATATATTGAATTTGCACGATTTTGTAGGCCGG
+>r6461
+GCGACCTCGTTTGCCGAATGTTCCCTCGCACAGCT
+>r6462
+GGAACCAGTTTCAGGATTTCCAGACCAATATTTAC
+>r6463
+AAAAAAGAGAATGAGTTGATCGATAGTTGTGATTA
+>r6464
+TCTGCGGGTTGCCGATATTCTGGAAAGCAATGCCA
+>r6465
+GGCAACTGGCAGATATCATTATGGCCTGCATGGCT
+>r6466
+AGAATGAGTTGATCGATAGTTGTGATTACTCCTGC
+>r6467
+AAACGCCTGCTTCACCAGCGCCTGACAGGCATCGA
+>r6468
+GGTATGCAGTTGATGATCGAAGAAAACGACATCAT
+>r6469
+TTAGTTTCCATCTCTGATCGCGCATCCAGCGGCGT
+>r6470
+AGCGACTCAGGCGACGTTATCCAATGCGATGGATG
+>r6471
+TGATGCTATCCGGGCACTGCCCCAACAAACTGATG
+>r6472
+AGCAAACCCGGCCTGATTGAGATAATGAATAGATG
+>r6473
+GGCGAAGGCCCGTGATGAAGGAAAAGTTTTGCGCT
+>r6474
+GTTGTTAACAATCTTATCCCTTCGAGCGGGGGGAG
+>r6475
+AAGCGATGTCGGTTGTCTGGAATTGTTCCACGGGC
+>r6476
+CGTTTGCTCGATGATCGCCTGCTCATCGGGGATTA
+>r6477
+CGAGATTAAACGGCTCTTTGGCTTGCGCCAGTTCT
+>r6478
+TTCGATCATCAACTGCATACCACCAAGAAAACACG
+>r6479
+CAACGCTGGCATTTAAAGATTTCGGCGGTCGCTTT
+>r6480
+TACGAAACCTCATGTATGCTACGCAGAAGTTATCC
+>r6481
+GAGGTTGTTGAAGTCGATGTCCTATCAGGAAGCGA
+>r6482
+TCGTTTATCAGTGCTGGGAGCGTTTTTGCCAGGAG
+>r6483
+AGCGTATAGCGCGTGGTGGTCAACGGGCTTTGGTA
+>r6484
+TTCGTACCGGATTTGTGCAGTTTCGCTACATCCGC
+>r6485
+GATGCGCGTCTTTCCTATGACACCGAAGCGTCAAT
+>r6486
+CTGGCTGATGATGTCGTTTTCTTCGATCATCAACT
+>r6487
+CAATAACCGGTAATCCAGCCCCAACGTTGGTGTCA
+>r6488
+AGATGATATTCTTTCACGAGGCGAATTAAGCGCCC
+>r6489
+GAATGTTCCCTCGCACAGCTTTATAAAGAACGTGA
+>r6490
+TTACGCTAGTCCCGTCAGTAAAATTACAGATAGGC
+>r6491
+GTGATATCATCAGGGCAGACCGGTTACATCCCCCT
+>r6492
+TGGTAGTAATCCATCGACGAGGTGTTGGCCTTTTT
+>r6493
+GAAAGAGTACGCTCCGGCAGAAGATCCGGGCGTGG
+>r6494
+CCAATGCGATGGATGTTAGCCAGCCAAACAACTGG
+>r6495
+CCGCAGCCTGCGCTGCCATGGGAGCGACCAGAACC
+>r6496
+ATTCTGGCGTTTAAAGGTGATGTCTACACTGGCTT
+>r6497
+TCTATTAAAGAGACGCTGGAAGGTGTGAAGGACGC
+>r6498
+TGGCGCAGATTTGTTATTACTTTGAGGCTGTCGCA
+>r6499
+GTCAATAACGATGATGCGACCACTGGCGTGCGCGT
+>r6500
+TGCTTTTCGGCGCAGGTTGTTGGTTCACTTTTCGT
+>r6501
+TACCTCGAATCTACCGTTGATATTGCTGAATCCAC
+>r6502
+ATCGCTAAATATCAATGCCGGATTGCCATCCGGCA
+>r6503
+CGTGGACGCGACCGACAAACTGGCAGTAAATATTG
+>r6504
+TGTTGAAAGCGATGTCGGTTGTCTGGAATTGTTCC
+>r6505
+CGCTAAGAAAGCACGCGGTCTGATGAGTCGTTTCA
+>r6506
+CCAGTTCAGAAGCTGCTATCAGACACTCTTTTTTT
+>r6507
+TTTTCGACCAAAGGTAACGAGGTAACAACCATGCG
+>r6508
+GTTAAAGTATTTAGTGACCTAAGTCAATAAAATTT
+>r6509
+GCGAACAGAACGCCCATCCAGCGCATCCCCAGCCC
+>r6510
+ATCTACCGTTGATATTGCTGAATCCACCCGCCGTA
+>r6511
+CAAAACCTTCCTGATTTTGCAGGTAGTTCTTACCC
+>r6512
+TGTTTCCACCAGCCGTGGTCGCCCCAATGACCGCC
+>r6513
+CTTTCTTATCGGTATTCGCTTTGTATCAGTCAAGA
+>r6514
+TGGCAATCCGGCATTGATATTTAGCGATGATGTTT
+>r6515
+ACCCTTCTCTCATTCTTAACGCAGCGCAGATTCCG
+>r6516
+CAGAATAACCACGAGGGTAACAAACTCCGCACCCC
+>r6517
+CAGCTGCCGCTGCCGCGTTTGGCGTCGACCCCATT
+>r6518
+GCAGCCGTGGATGATGAAACCACGCAACAGACAAT
+>r6519
+GAGGGTGATGTCGCCGCTTTTATGGCGAATCTGTC
+>r6520
+GATGTGGGTTGCCGCATTTATCGGCATGGCGACCT
+>r6521
+AAATCTGCGCCAGCAAGCGACTGATGTTGATGGAG
+>r6522
+GCGGAACAACTCTTCCACACGCGGCCAGTTGTTTG
+>r6523
+TCAGTTGCTGGAAGGGCCATACGTTGAAACGGCAC
+>r6524
+AATCACAACTATCGATCAACTCATTCTCTTTTTTT
+>r6525
+CATCACCAGCATTGAGCAGATTTTGCAGGTTCTCA
+>r6526
+CGACGATCTCTTTGCCGCGCGTGTGGCGAAGGCCC
+>r6527
+ACCATCTGGTAGCGATGATTGAAAAAACCATTAGC
+>r6528
+TGCTTGTTATGGCGCGGCGATGACGGCGGTCCATG
+>r6529
+TCGGCGGTACATCAGTGGCAAATGCAGAACGTTTT
+>r6530
+GCAGCACAAGGCGATAATGTGGTGATAAATCTGGC
+>r6531
+ATAAAAATGCCAATCATCTGGACAATTCCTTGCGC
+>r6532
+TTCTGCATTTGCCACTGATGTACCGCCGAACTTCA
+>r6533
+TGTTCAGCGTTTCCGGCCCGGGGATGAAAGGGATG
+>r6534
+AGCAACTGACTGGTTTTAATAGCGAAGGTTACTTC
+>r6535
+TCTGTGCGCTATGCCTATATTGGTTAAAGTATTTA
+>r6536
+GAATACCGTAAGTTGATTGATGATGCTGTCGCCTG
+>r6537
+TTCCTGCCAGCCAAAAGCACTCTCAAAAATAGACC
+>r6538
+TGGCAATCCGGCATTGATATTTAGCGATGATGTTT
+>r6539
+CCGAAATCTTTAAATGCCAGCGTTGGCCCGTGGAA
+>r6540
+TTCGCAACGGTCATCGGCGGCACCTTGTTAAGTTT
+>r6541
+ACTTACGTGTCTGCGGTGTTGCTAACTCGAAGGCA
+>r6542
+TCCTGAAACTGGTTCCGGGCCGTATCTCAACTGAA
+>r6543
+GCCAGATGTCGCCCGTGCGCAATGCAATCCTGGCG
+>r6544
+CAGCGTCCTTTGGGGATCGGTAATGATTTACCTGC
+>r6545
+GCCTGACTGAAATTGATGAGATGCTGAAGCTGGAT
+>r6546
+TCTTGACTGATACAAAGCGAATACCGATAAGAAAG
+>r6547
+TTTTTCACTTTGAACAGCGGATCATTACCATCCAC
+>r6548
+GGCATGGTATATGGCGCGCGGGCTGGGGATGCGCT
+>r6549
+GTCCTCTCTGCCCCCGCCAAAATCACCAACCATCT
+>r6550
+GCGTTGGCCCGTGGAACAATTCCAGACAACCGACA
+>r6551
+GTATCACTGAGTCCGAGTTCCTGTGGCAGCACAAC
+>r6552
+CAGTTTCTGCGTTCCGCAAAGCGACTGTGTGCGAG
+>r6553
+ACCTTACGTGGGATCTCGGCGAAATTCTTTGCCGC
+>r6554
+GATGAAGCTTCCTCCAGCAATGGCGAACTGGTGTT
+>r6555
+GTGGTAGGTGATGGTATGCGCACCTTACGTGGGAT
+>r6556
+ACCGGCAGACCGAGTGACTTCGCCAGCAGACCCGC
+>r6557
+ACTGCACAAATCCGGTACGAAAAGTGAACCAACAA
+>r6558
+GCAGGAAGTCGGCATATTGATCTGCCACAGCCTGG
+>r6559
+GTTACGTCACGACGCGCAGGGCCAGTTCCGCCCGT
+>r6560
+AAATTTAAAGAGAGCGTGGAAGCGATTCTCGGTGA
+>r6561
+GAAATTTGGCTGCCAGTCATGAAAGCGAGCGGCGT
+>r6562
+GGACGGTGGCCACCTGCCCCTGCCTGGCATTGCTT
+>r6563
+ACTAGCGTAATTTCCGCAGCCTGCGCTGCCATGGG
+>r6564
+CACCAGCCGTGGTCGCCCCAATGACCGCCATCCCA
+>r6565
+GCGAGTGATCGCCAGCAGAGCAAAGACAGCGAGAA
+>r6566
+GAAGGCCAGGGCGTTTTCGCCATTTTTCACTTTGA
+>r6567
+GCGCCAGCAAGCGACTGATGTTGATGGAGTTAGCA
+>r6568
+TCAGTAACATCTATTCATTATCTCAATCAGGCCGG
+>r6569
+GGGGAAAATCAAAAGAAAAACTCAGGGCTCGCGCA
+>r6570
+TCTGACGGGACTCGCCGCCGCCCAGCCGGGATTTC
+>r6571
+GATCAGAGATGGAAACTAAGCCAATACGTAAAGTA
+>r6572
+AGGGTCAGGTTACAGTTAATACCTTCTTTTTCCAG
+>r6573
+ACGCCTGCTTCACCAGCGCCTGACAGGCATCGAAA
+>r6574
+TCTTTAAACAGCTTGTTAGGGGGATGTAACCGGTC
+>r6575
+CCGCGACCACTGAACAGGCGCTGGAGCCTAAGCCC
+>r6576
+GGCTTCTGCCGTCGAGACTTTAATCCCCGGATACG
+>r6577
+GCTGGATGCGCGATCAGAGATGGAAACTAAGCCAA
+>r6578
+CGACATTTTCTCGCCACGGCAAATCAGCGCAGCGT
+>r6579
+TGTATGCTACGCAGAAGTTATCCAAGTACCTCGTA
+>r6580
+CAGCTTATCGGCAAAGCGTCCGAGGTTGTTGAGAC
+>r6581
+TGGTGTACTGACGAAGGGAGGTCAATTTGTCCGTC
+>r6582
+GATACTGGAGCGGCAGTGGCTCATGCTTTCTACGG
+>r6583
+CGATAAGGCTGCATTAAATCGAGCGGGCGCAGTAC
+>r6584
+TAAAGTTCTTCACCCCCGCACCATTACCCCCATCG
+>r6585
+TTTTTTTATTCGCTAACTTCGCGTCTTGCACTCTT
+>r6586
+AGCAACGATCGTATTCTGATCAAACTGGCTTCTAC
+>r6587
+TGCCAACTACATTTATGCCGAAAACAATCTCTTCT
+>r6588
+GAAGGCATGAGTTTCTCCGAGGCGACCACACTGGC
+>r6589
+GTCGGTTGTCTGGAATTGTTCCACGGGCCAACGCT
+>r6590
+GAACGCCCATCCAGCGCATCCCCAGCCCGCGCGCC
+>r6591
+GGCCCTTCCAGCAACTGAATGCAGTACGGTACGCT
+>r6592
+GCAGCGGCTGATAATAGTGGCTATAGAAGGCCAGG
+>r6593
+TGCTGAATCCACCCGCCGTATTGCGGCAAGCCGCA
+>r6594
+GATTCGCCATAAAAGCGGCGACATCACCCTCGGCG
+>r6595
+TCATAGAGGAATTTACGCCGCGATTTTTCCGCCGC
+>r6596
+AACGAGGTAACAACCATGCGAGTGTTGAAGTTCGG
+>r6597
+AGCGGGGGAAAATCAAAAGAAAAACTCAGGGCTCG
+>r6598
+TTGCTGATCTGCTACGTACCCTCCCATGGAAGTTA
+>r6599
+TAACAATCTTATCCCTTCGAGCGGGGGGAGCTTAA
+>r6600
+TGGCTGACATCGGCGCTAACCACGCCGTTTGAACT
+>r6601
+CCGGCATTATCCGGCATTGACTACAAACTTAACGT
+>r6602
+CGCTTTGCGGAACGCAGAAACTGATACTGTATTCG
+>r6603
+AGATTGGAAATGCCCTTGACCGGTAATTCGTCTTC
+>r6604
+GCGGGCGCAGTACGCCATACAAGCCGGAAAGCATT
+>r6605
+TTGTGCCATAAAGCGACCGCCGAAATCTTTAAATG
+>r6606
+AATCAGGCCGGGTTTGCTTTTATGCAGCCCGGCTT
+>r6607
+CCAATATCAGCGATGCCGAACTTATTTTTGCCGAA
+>r6608
+ATCGGTATTGAACAGCATCTGATGAGTAACGCGCA
+>r6609
+ATGAGCAGGTCAGCTTTGCGCAAGCCGTAACCCAG
+>r6610
+CCCGGTGTTTGATCCGTTGCGTTATCCGGAGATCG
+>r6611
+AAAGATCTGTATCAATTCTGGGGAGATATCATCAC
+>r6612
+CTTTCATGACTGGCAGCCAAATTTCACACCGGAGA
+>r6613
+AGCGGCAACCTGGCCGGCGTTGCGCTGGCAATTAC
+>r6614
+CTGGATGCGCGATCAGAGATGGAAACTAAGCCAAT
+>r6615
+CGATGATCGCCACGATGATCATTGTGCTTGTTATG
+>r6616
+CTAATTGTTAAGCTCCCCCCGCTCGAAGGGATAAG
+>r6617
+AACGGCAGCGGCTGATAATAGTGGCTATAGAAGGC
+>r6618
+TTTGCGAATGCTTTCCGGCTTGTATGGCGTACTGC
+>r6619
+AGCTCGCACACAGTCGCTTTGCGGAACGCAGAAAC
+>r6620
+CGAAGGCACTGCTCACCAATGTACATGGCCTTAAT
+>r6621
+GGTCAATTTGTCCGTCATGATAGTATTTCTCTTTA
+>r6622
+TCTTTGGCTTGCGCCAGTTCTTCCTGCCAGTTTTC
+>r6623
+CCCCCGCTGGTAACAGGTATTATTCTCGCTGTCTT
+>r6624
+TAAATTTCCTGCAAGGACTGGATATGCTGATTCTT
+>r6625
+AATGGTCACTGGCTTATCGCCCGCAATATGGGTCA
+>r6626
+CAGGGTGTCGATAAAAATGCCAATCATCTGGACAA
+>r6627
+CCCCATTTCCAGACGATAAGGCTGCATTAAATCGA
+>r6628
+AAGGATCAGCGCCTGTTTGCGAATCACCCCCACCT
+>r6629
+GGCCGCGTGTGGAAGAGTTGTTCCGCCGCAAAATC
+>r6630
+CAATTTCAGTCAGGCTGAATTCCGGCAGGTCGTGC
+>r6631
+AAACCTTCCTGATTTTGCAGGTAGTTCTTACCCAA
+>r6632
+ATCCAGCTTCAGCATCTCATCAATTTCAGTCAGGC
+>r6633
+TAGCGTTATATACTTCGTAAACAATTGGTAACGTT
+>r6634
+GCAAAGCGTCCGAGGTTGTTGAGACTGAATGTCTC
+>r6635
+ACCAACGTGAACGATACCGTACCACGTTTCCTGCA
+>r6636
+GCGCTAAAGTTCTTCACCCCCGCACCATTACCCCC
+>r6637
+AACTCCATCAACATCAGTCGCTTGCTGGCGCAGAT
+>r6638
+TGGTACACAATGACTGAAATGAGGTTAAACCGCCT
+>r6639
+TCAACAACCTCGGACGCTTTGCCGATAAGCTGCCG
+>r6640
+AAAAATGATCGGCGATCTGCTGTAATCATACTTAG
+>r6641
+TGGCTTTGATGGGCGAGTTGGAAGGGCGTATCTCC
+>r6642
+TGGCGGCGATACTGCGCCGGTAAAATAGCCCTGGC
+>r6643
+CTTTGCTGACGCTTCAGTTGCTCCAGCAGCGCACC
+>r6644
+TGCTCCAGCAGCGCACCGCCAACGCCACCGACGCC
+>r6645
+TTTGTTATTACTTTGAGGCTGTCGCACAGTTGCCG
+>r6646
+AGCGCAGGGATGCCTTTATCCTGATAAACGCCGCT
+>r6647
+GGATTACTACCATCAGTTGCGTTATGCGGCGGAAA
+>r6648
+ACGCCGGCCATAATGGCGATCGACATTTTCTCGCC
+>r6649
+TTTCCAGTTCAAACGGCGTGGTTAGCGCCGATGTC
+>r6650
+TGACCAAACCAGAGCAACTGACTGGTTTTAATAGC
+>r6651
+ACCATGCCGGTCCGCCACGAAACTGCCCATTGGCA
+>r6652
+ATTGGCTTAGTTTCCATCTCTGATCGCGCATCCAG
+>r6653
+TGTCGCCGCTTTTATGGCGAATCTGTCACAGCTCG
+>r6654
+GTTTGTCGCTGATGCGCATCAGGGAGCTAATCTGC
+>r6655
+GGGACAAACCCCTGCATGAGCCGGGCGACGCCATG
+>r6656
+GGAAGCTTGCGCCCATAACCACGGTTTCATAACCA
+>r6657
+GTAGCGGCAACCTGGCCGGCGTTGCGCTGGCAATT
+>r6658
+ATTAACTGTAACCTGACCCTGCTGTTCTCCTTCGC
+>r6659
+TTTTCGGCGCAGGTTGTTGGTTCACTTTTCGTACC
+>r6660
+AGTTTGATCAGAATACGATCGTTGCTAATACCTGC
+>r6661
+TCTTCGGCAAGTTAGACGAAGGCATGAGTTTCTCC
+>r6662
+CAATTTGACCGCCATATTACTGCTCTCGCCTGTGG
+>r6663
+GTCAGTACCCAGATTATCGCCATCAACGGGACAAA
+>r6664
+GGCGATTACTAACGGTTTTCAGCGCAGTATGTTTT
+>r6665
+TGTTAACAATCTTATCCCTTCGAGCGGGGGGAGCT
+>r6666
+CTGGAAAAGAATATGCCGATCGGTTCGGGCTTAGG
+>r6667
+TGAGCAGATTTTGCAGGTTCTCAATAACCGGTAAT
+>r6668
+ACCGGGTTCAGCAGATGATATTCTTTCACGAGGCG
+>r6669
+CCGGGGCCTGACAAACATCATCGCTAAATATCAAT
+>r6670
+GATCGATAGTTGTGATTACTCCTGCGAAACATCAT
+>r6671
+GCAGCATTCAGACCGAAGAGTGCAAGACGCGAAGT
+>r6672
+ATCTGACGCCAGATTTATCACCACATTATCGCCTT
+>r6673
+GTGTGGATTAAAAAAAGAGTGTCTGATAGCAGCTT
+>r6674
+GGAACTGGCCCTGCGCGTCGTGACGTAACGCCCGA
+>r6675
+ACTTCGGCGCTAAAGTTCTTCACCCCCGCACCATT
+>r6676
+CGGCTGATAATAGTGGCTATAGAAGGCCAGGGCGT
+>r6677
+AGATACGGCCCGGAACCAGTTTCAGGATTTCCAGA
+>r6678
+TGATTTTGGCGGGGGCAGAGAGGACGGTGGCCACC
+>r6679
+CCAATACGTAAAGTATTCATCAAGATTTTTCCGTT
+>r6680
+ACTGGTCACGCAGCGCACGATAAGCTACGGCAGCG
+>r6681
+TAGATAATCACTGGCAATGGTATGAACCACAGGCG
+>r6682
+TCCGAGGTTGTTGAGACTGAATGTCTCTGCCGCCT
+>r6683
+CCGATCTCCGGATAACGCAACGGATCAAACACCGG
+>r6684
+GCCGTTTCAACGTATGGCCCTTCCAGCAACTGAAT
+>r6685
+CGACTCATCAGACCGCGTGCTTTCTTAGCGTAGAA
+>r6686
+ATGCGAGGTTGTTGAAGTCGATGTCCTATCAGGAA
+>r6687
+ATGTCGGTTGTCTGGAATTGTTCCACGGGCCAACG
+>r6688
+CCTGACAAACATCATCGCTAAATATCAATGCCGGA
+>r6689
+GAAATGAGGTTAAACCGCCTGGCTGTGGATGAATG
+>r6690
+AGCTCGCCTTTTTCATTACCGGCAGTGAAACCAGC
+>r6691
+GCGAATTAAGCGCCCGAGATTAAACGGCTCTTTGG
+>r6692
+TTCCACGCTCTCTTTAAATTTCGCCGGATGCGCGG
+>r6693
+ACACTGCGAAGGGAGTGACAGACAGGTTTCAGAAG
+>r6694
+ATTAACTGTAACCTGACCCTGCTGTTCTCCTTCGC
+>r6695
+AGGGAGTGACAGACAGGTTTCAGAAGAGGTAGCGT
+>r6696
+AAAATTACAGAGTACACAACATCCATGAAACGCAT
+>r6697
+TCCAGAAGACGGCTCCAGGTCCACCGGCGGTAATT
+>r6698
+AGCCAGGCGATTACTAACGGTTTTCAGCGCAGTAT
+>r6699
+CCGGGCACTGCCCCAACAAACTGATGCCATGCAGG
+>r6700
+TGGCGCGTAAGCTATTGATTCTCGCTCGTGAAACG
+>r6701
+AAACGCTACGAACAACGTTAAGTTTGTAGTCAATG
+>r6702
+AGTCACTCGGTCTGCCGGTAAAACGTTTTATTGCT
+>r6703
+TGCAGATCCGCAGACACCAGATCGCTTTAGGGTTG
+>r6704
+TAATCAAGCGTTTTCGCAGGTGAAATAAGAATCAG
+>r6705
+GTACACAATGACTGAAATGAGGTTAAACCGCCTGG
+>r6706
+CAAGGCGATAATGTGGTGATAAATCTGGCGTCAGA
+>r6707
+CCCACTGCCAGCAGTTTTTCGACCGGATCGATAAC
+>r6708
+GGGGCGTCAGTTTCCGCGCTTCATGGATCAGCTGC
+>r6709
+CACATCCATGCCAGAAAGATCATCTCGCGGGTCCG
+>r6710
+TTATTCTCGCTGTCTTTGCTCTGCTGGCGATCACT
+>r6711
+TTGCTGCGACCAACGTGAACGATACCGTACCACGT
+>r6712
+AGGCAGTTTTGCGTTTGTCATCAGTCTGATCCCCC
+>r6713
+GATATTACTGGCGGGTAACGGCACAACCTACATGC
+>r6714
+ACCATCGCACCGGCACTGCTGAAAGAGCTGGCGGA
+>r6715
+AATCAAGCGTTTTCGCAGGTGAAATAAGAATCAGC
+>r6716
+GGCCTGCATGGCTATTACCAATTTGACCGCCATAT
+>r6717
+GTGTGGAAGAGTTGTTCCGCCGCAAAATCTGGCAA
+>r6718
+TCTCCTTTATTAACAGCGTCCTTTGGGGATCGGTA
+>r6719
+TGGGCAGTTTCGTGGCGGACCGGCATGGTATATGG
+>r6720
+CTGGTTCCGGGCCGTATCTCAACTGAAGTTGATGC
+>r6721
+TTGCAGCGATGTCACGCGCCCGTATTTCCGTGGTG
+>r6722
+GGCGTTCTGTTCGCCGTCTTTTTGCTCATCGCCTA
+>r6723
+TGTTCAGCGTTTCCGGCCCGGGGATGAAAGGGATG
+>r6724
+TGAAGTCGATGTCCTATCAGGAAGCGATGGAGCTT
+>r6725
+CCGCACGCTGCCGTAGCTTATCGTGCGCTGCGTGA
+>r6726
+CTTCCTGCATTGCCCGTTCAGCTCGCACACAGTCG
+>r6727
+ATCCAGCCCCAACGTTGGTGTCATAGAGGAATTTA
+>r6728
+CGGTAAACCGTAGAAAGCATGAGCCACTGCCGCTC
+>r6729
+TCGCCGAAGTTTCCACTCGGTACCGAGACAACCAA
+>r6730
+GTTGATGGTGCATTGCTCGGAGATGTAGTCACGGT
+>r6731
+TTCCTGGTCGACGAAAGTTTTCAATTGTGCCAGCG
+>r6732
+GATAATAGTGGCTATAGAAGGCCAGGGCGTTTTCG
+>r6733
+CACGGCAAGCGCCATGCTGATATTACTGGCGGGTA
+>r6734
+ACATCGGCGCTAACCACGCCGTTTGAACTGGAAAC
+>r6735
+CAGCACCGCAGCGGAGTAGTCGGAACCGTTGCGTC
+>r6736
+TGGCGTCAGATGAGTATTTTAAATCGGTGAAGCCG
+>r6737
+GCTGTTTCGCCCAGGCGACAGCATCATCAATCAAC
+>r6738
+TTGAGCTTGCCGCGAAGCTGATGAAAGATGTTATC
+>r6739
+AATGAATGCTGCCGGAGATACGCCCTTCCAACTCG
+>r6740
+TGCGATCCTTTCGCGTCAGGTGGGGGTGATTCGCA
+>r6741
+GCTTAGTTTCCATCTCTGATCGCGCATCCAGCGGC
+>r6742
+CTAATTGTTAAGCTCCCCCCGCTCGAAGGGATAAG
+>r6743
+TGGTGATGAATTGATGAAGTTCTCCGGCATTCTTT
+>r6744
+TACATTTATGCCGAAAACAATCTCTTCTTTTTACG
+>r6745
+AAACTGACGCCCCCGCAGATTAGCTCCCTGATGCG
+>r6746
+CGTAACCCAGGGGTTAGGCAAAAATCAGGGGCTGT
+>r6747
+GGAAACAACATTATGAATGGCGAGGCAATCGCTGG
+>r6748
+TGAGTTAAAAGAACTGGGCTATACCTCGGAGCCGC
+>r6749
+CTTGCTGGCTGATGATGTCGTTTTCTTCGATCATC
+>r6750
+TCCTGGCAAAAACGCTCCCAGCACTGATAAACGAT
+>r6751
+TTGTCTCGGTACCGAGTGGAAACTTCGGCGATTTG
+>r6752
+GTAGTCAATGCCGGATAATGCCGGATGGCAATCCG
+>r6753
+TGTCTGTTGCGTGGTTTCATCATCCACGGCTGCAT
+>r6754
+CTTTGTATCAGTCAAGAATACGGCCAACAAACGGC
+>r6755
+TACAAAATCGTGCAAATTCAATATATTGCAAGAAG
+>r6756
+TCAGGTTACAGTTAATACCTTCTTTTTCCAGCTGT
+>r6757
+AATATCAATGCCGGATTGCCATCCGGCATTATCCG
+>r6758
+CTCGTTTGCTGGCTTTGATGGGCGAGTTGGAAGGG
+>r6759
+CATTATGAATGGCGAGGCAATCGCTGGCACCCACA
+>r6760
+GACCGGATCGATAACGGTAACGTTGTGACCACGCG
+>r6761
+ATAATGTGGTGATAAATCTGGCGTCAGATGAGTAT
+>r6762
+AAGAACTGGGCTATACCTCGGAGCCGCACGCTGCC
+>r6763
+AACGCCGTTGCGCGAGCCCTGAGTTTTTCTTTTGA
+>r6764
+TTGCAATATATTGAATTTGCACGATTTTGTAGGCC
+>r6765
+TTTCGCCATTTTTCACTTTGAACAGCGGATCATTA
+>r6766
+CAGCCTGACTGAAATTGATGAGATGCTGAAGCTGG
+>r6767
+TAGATGCATGCTCGAGCGGCCGCCAGTGTGATGGA
+>r6768
+CAAAACTTTTCCTTCATCACGGGCCTTCGCCACAC
+>r6769
+TTCTTTTAACTCACGCATTGTCTGTTGCGTGGTTT
+>r6770
+CGGCAGCGGCAGCTGCGTCCTGGCCTCCGCATCCG
+>r6771
+CATCAGTTGCGTTATGCGGCGGAAAAATCGCGGCG
+>r6772
+TTTCGCAGGAGTAATCACAACTATCGATCAACTCA
+>r6773
+CAGGAACCCATTAGCACCCGCATCGCCTTCTGGAT
+>r6774
+TCAGGTTATCGAAGTGTTTGTGATTGGCGTCGGTG
+>r6775
+TCAATAACCGGTAATCCAGCCCCAACGTTGGTGTC
+>r6776
+AACGCATTAGCACCACCATTACCACCACCATCACC
+>r6777
+CATACGTTGAAACGGCACCGGAAGTGGTTGCAGCA
+>r6778
+CGACAGCATCATCAATCAACTTACGGTATTCCGGA
+>r6779
+CCGCGCCGATTTCCGCAACCGCCTGCCGCGCCTGC
+>r6780
+TCTGCATTTGCCACTGATGTACCGCCGAACTTCAA
+>r6781
+GCGTTCGCCTGAACTCCGCTGAAAATTATGCCGTA
+>r6782
+TCGTCTGGAAATGGGGATACGTCTTGAGAATGCCC
+>r6783
+GTTAACAACGTGCGCTTTGTTTATGCCGGATGCGG
+>r6784
+TCGAATCTACCGTTGATATTGCTGAATCCACCCGC
+>r6785
+ACAGAAACCACGCCCGGATCTTCTGCCGGAGCGTA
+>r6786
+ATTGCTGGAGGAAGCTTCATCAAAGAAGTAACCTT
+>r6787
+CAGGCCGAAACCTTCAGCGAAGACGATTTCGATTT
+>r6788
+ATTCGCCTGGATTCAACTGGTCACGCAGCGCACGA
+>r6789
+CACTGCCCCAACAAACTGATGCCATGCAGGACATG
+>r6790
+CTGAACGGGCAATGCAGGAAGAGTTCTACCTGGAA
+>r6791
+AGAATTCGCCCTTGTGATATCATCAGGGCAGACCG
+>r6792
+CTGATAAGCGTAGCGCATCAGGCAGTTTTGCGTTT
+>r6793
+CCAGTTCAAACGGCGTGGTTAGCGCCGATGTCAGC
+>r6794
+AGCGTACCTGGTGCTTGGGGATTTCCGGTATTTTT
+>r6795
+CTGCCGCGTGAAGATTGCCGAAGTGGATGGTAATG
+>r6796
+TTGAACAGCATCTGATGAGTAACGCGCACGCCAGT
+>r6797
+ACTGAAGTTGATGCGCGTCTTTCCTATGACACCGA
+>r6798
+GTGTGATGGATATCTGCAGAATTCGCCCTTGTGAT
+>r6799
+TGGTTATGGGCGCAAGCTTCCGTAACATCGGCGAA
+>r6800
+GGCGATCATCGAGCAAACGTTGTGTGAACTGGTGG
+>r6801
+TCATCCACCAGTTCACACAACGTTTGCTCGATGAT
+>r6802
+TTCAACAACCTCGCATCGGGCACCTGACGCGGATC
+>r6803
+AAATCGAAATCGTCTTCGCTGAAGGTTTCGGCCTG
+>r6804
+CCAATGCGATGGATGTTAGCCAGCCAAACAACTGG
+>r6805
+CTTTTTCCCTGTCGTTTTTCTCCATATTTTCTTCA
+>r6806
+TACTCATCTGACGCCAGATTTATCACCACATTATC
+>r6807
+GGACGGTGGCCACCTGCCCCTGCCTGGCATTGCTT
+>r6808
+TGAAAAAGGCGAGCTGGTGGTTCTGGGACGCAACG
+>r6809
+TTGACTTAGGTCACTAAATACTTTAACCAATATAG
+>r6810
+GAAAGTGCGAGTACGATAGATTGCATCTTTTTCAC
+>r6811
+AGCCACTATTATCAGCCGCTGCCGTTGGTACTGCG
+>r6812
+CAGCGGCTGATAATAGTGGCTATAGAAGGCCAGGG
+>r6813
+CTGATGGCTGGTTTCACTGCCGGTAATGAAAAAGG
+>r6814
+TCTCGGCATTCAATTTCTTCGGCTTCACCGATTTA
+>r6815
+GGTCGCCTCGGAGAAACTCATGCCTTCGTCTAACT
+>r6816
+GGCCGGATAAGGCGTTCACGCCGCATCCGGCATAA
+>r6817
+AGTGCCAATATGAGCGTCGGGTTTGATGTGCTCGG
+>r6818
+CGCGTCTTGCACTCTTCGGTCTGAATGCTGCAACC
+>r6819
+AGCCGCTTAATGACACTCGTTTGCTGGCTTTGATG
+>r6820
+GAATTAAGCGCCCGAGATTAAACGGCTCTTTGGCT
+>r6821
+GCGGCAAGCCGCTTAATGACACTCGTTTGCTGGCT
+>r6822
+AAGATGATTGCGTAATCAGCACCACGGAAATACGG
+>r6823
+TTCACACCGGAGAATGCCCGCCAGGCAATTCTGGC
+>r6824
+ATCCCCATTTCCAGACGATAAGGCTGCATTAAATC
+>r6825
+ATTCACGCCTGCTATTCCCGTCAGCTTGAGCTTGC
+>r6826
+TTACACTGGTGAAGTGAAAGCGCGTCCGGCGCGTA
+>r6827
+CGTCAAATCGCCGAAGTTTCCACTCGGTACCGAGA
+>r6828
+GGCGCGGTAGCGAGCGGTATCTCCGGCTCCGGCCC
+>r6829
+CGCGCCCGTATTTCCGTGGTGCTGATTACGCAATC
+>r6830
+GTTCACTTTTCGTACCGGATTTGTGCAGTTTCGCT
+>r6831
+CGGGCCGGAGCCGGAGATACCGCTCGCTACCGCGC
+>r6832
+GTTCAGAAGATCCCTGAGCAATGGCGACAATGTTG
+>r6833
+AAATCGGCGGGCAGGTTATGCGAAAGCAAGGGTAA
+>r6834
+GTTCAGAAGATCCCTGAGCAATGGCGACAATGTTG
+>r6835
+TGATGGTAGTAATCCATCGACGAGGTGTTGGCCTT
+>r6836
+TGGCCTTCTATAGCCACTATTATCAGCCGCTGCCG
+>r6837
+TCCCGGCTCCGGTCGCCAATGTTGAAAGCGATGTC
+>r6838
+AGTTCTACCTGGAACTGAAAGAAGGCTTACTGGAG
+>r6839
+AAACTTACGGATACCTTCCGCCAGTTTATCTACTG
+>r6840
+AACAGCAAACTTACGGATACCTTCCGCCAGTTTAT
+>r6841
+AATTTACGCAACGCAGCAAAATCGGCGGGCAGGTT
+>r6842
+GCCATGTTATTCAGATTGGAAATGCCCTTGACCGG
+>r6843
+TGCCGAAGATATAAGAAAGCGAACCTGAAAGAATG
+>r6844
+CATCAATTTCAGTCAGGCTGAATTCCGGCAGGTCG
+>r6845
+GAATACCTTCCAGCGGCATGTAGGTTGTGCCGTTA
+>r6846
+AGAGCGAACAAAGTCGGGCCGGAGCCGGAGATACC
+>r6847
+CACGAGGCGAATTAAGCGCCCGAGATTAAACGGCT
+>r6848
+CCATCAAAGCCAGCAAACGAGTGTCATTAAGCGGC
+>r6849
+CTCTGATCGCGCATCCAGCGGCGTTTATCAGGATA
+>r6850
+TCGCTGCAAAGACGCGCGCCGCCATGCCAACCATC
+>r6851
+ATCCGTCCAGATCTCGCAACAATCGGCGCGTAAAC
+>r6852
+CGCCGCTGGATGCGCGATCAGAGATGGAAACTAAG
+>r6853
+AACACGCCGGCCATAATGGCGATCGACATTTTCTC
+>r6854
+CACCGGATGTCGCGGTCAGAATGGTCACTGGCTTA
+>r6855
+CGCCGTCAAATCGCCGAAGTTTCCACTCGGTACCG
+>r6856
+GCGCATCCGGCGAAATTTAAAGAGAGCGTGGAAGC
+>r6857
+AAAGACGGCGAACAGAACGCCCATCCAGCGCATCC
+>r6858
+ATTGTTTACGAAGTATATAACGCTACGAGGTACTT
+>r6859
+CAACCAGTCGGCAACGCGCTGGGCGGTATCCGGCT
+>r6860
+GGGCATTCTCAAGACGTATCCCCATTTCCAGACGA
+>r6861
+GTACGGTACGCTGGCAAAAATACCGTGCACCACAA
+>r6862
+TCCGGCTTGTCACACAGAGCGAACAAAGTCGGGCC
+>r6863
+GGGCGTTCTGTTCGCCGTCTTTTTGCTCATCGCCT
+>r6864
+TATTCGCCTGGATTCAACTGGTCACGCAGCGCACG
+>r6865
+GTTATCCTCTATCCACGAGGCAAAATCAGTCCACT
+>r6866
+TCCTGCATGGCATCAGTTTGTTGGGGCAGTGCCCG
+>r6867
+AGTTTATGCCCCGGCTTCCAGTGCCAATATGAGCG
+>r6868
+TGTCACCGCCGCCCCGAGCACATCAAACCCGACGC
+>r6869
+ATGGCGCTTGCCGTGCAGATGACCAGGGTGTCGAT
+>r6870
+TTAACTTACCCGGTCAACCGAAGTCTATTAAAGAG
+>r6871
+GATGATGTTTCGCAGGAGTAATCACAACTATCGAT
+>r6872
+CCGCGCCTGCCGGAAGCCTGGCAGTAACCGTTCAC
+>r6873
+CTGGCACTTGCTGGCTGATGATGTCGTTTTCTTCG
+>r6874
+AGCGGCGTTGATACCCGCCAGTTTGTCGCTGATGC
+>r6875
+TGGTGAACAGATGCGCCAGATCAGCCTGCATTTTG
+>r6876
+GGATACGGCGGGCGCACGAGTACTGGAAAACTAAA
+>r6877
+ATTCGCTGCGTTGATATCGCCCGCCATTTTTATAC
+>r6878
+TCCCGCCGCGCCGCCTGCAGCTTCCTGCCAGCCAA
+>r6879
+TACATTTATGCCGAAAACAATCTCTTCTTTTTACG
+>r6880
+TGCGAGGTTGTTGAAGTCGATGTCCTATCAGGAAG
+>r6881
+CCATTATGGCCGGCGTGTTAGAAGCGCGTGGTCAC
+>r6882
+AAACCGTGGTTATGGGCGCAAGCTTCCGTAACATC
+>r6883
+GCTACGCAGAAGTTATCCAAGTACCTCGTAGCGTT
+>r6884
+GGCGACATCTGGCAGGCTTCATTCACGCCTGCTAT
+>r6885
+TTCATCCCCGGGCCGGAAACGCTGAACATTGCCAT
+>r6886
+ACTTTCCCTGGTTCTGGTCGCTCCCATGGCAGCGC
+>r6887
+TCATGGATGTTGTGTACTCTGTAATTTTTATCTGT
+>r6888
+CACAGGAAAGTCATCGCGACCGGCAATAAGAGGGA
+>r6889
+GCGTAGATAATCACTGGCAATGGTATGAACCACAG
+>r6890
+AAGGTGCCGCCGATGACCGTTGCGAAGGTGCAGAT
+>r6891
+GAAATTTGGCTGCCAGTCATGAAAGCGAGCGGCGT
+>r6892
+GCCGAGATCCCACGTAAGGTGCGCATACCATCACC
+>r6893
+TTGCCACTGATGTACCGCCGAACTTCAACACTCGC
+>r6894
+GCAGGGTATCCGTGCTGCAGAACAGCTGGAAAAAG
+>r6895
+ATCTGCACGGCAAGCGCCATGCTGATATTACTGGC
+>r6896
+CAGCCCCAGCGCCACTTTCAGTTCTTCATCATCAA
+>r6897
+ACAGCCAGGCGGTTTAACCTCATTTCAGTCATTGT
+>r6898
+AGATGCTGAAGCTGGATTTTGTCACCCGCAGTGCG
+>r6899
+AGAACTTTAGCGCCGAAGTAAGAAAGCTCCATCGC
+>r6900
+CGCATCTGTTCACCAAAGCCTGGCATCTCGCGGTC
+>r6901
+CGATGATCGCCTGCTCATCGGGGATTAAGCGGGTT
+>r6902
+CGATAGTTGTGATTACTCCTGCGAAACATCATCCC
+>r6903
+AATTCAATATATTGCAAGAAGATCGTAGGCCTGAT
+>r6904
+AGGATAAAGGCATCCCTGCGCTGGAAGAATGGCTG
+>r6905
+GCTGCGCGCGATCGTTGCTCTGCTGTTTCGCCCAG
+>r6906
+CCAGTACTACAAAGAGCATGGTTATGAAACCGTGG
+>r6907
+TTTTCACTTTGAACAGCGGATCATTACCATCCACT
+>r6908
+AATAACATGGCAATGTTCAGCGTTTCCGGCCCGGG
+>r6909
+AATCTCTGTCGTGGTCAATAACGATGATGCGACCA
+>r6910
+TGACTGCAACGGGCAATATGTCTCTGTGTGGATTA
+>r6911
+AGGAACACTGGCTTGATAATCTCGGCATTCAATTT
+>r6912
+CCTTCGCTCTCCGCCAGCTCTTTCAGCAGTGCCGG
+>r6913
+CGTGCGGAAAAAACAGCCCCTGATTTTTGCCTAAC
+>r6914
+ACAGCTTGTTAGGGGGATGTAACCGGTCTGCCCTG
+>r6915
+GGATATGGTGCGGGCAATGACGTTACAGCTGCCGG
+>r6916
+CGGATACCGCCCAGCGCGTTGCCGACTGGTTGGGT
+>r6917
+GATCTCGCCGTTTGTTGGCCGTATTCTTGACTGAT
+>r6918
+TATACTTCGTAAACAATTGGTAACGTTTACACAGG
+>r6919
+CGCTGGTGAAGCAGGCGTTTGATGATGAAGAACTG
+>r6920
+AAGGGCATTTCCAATCTGAATAACATGGCAATGTT
+>r6921
+CTGAACAGGCGCTGGAGCCTAAGCCCGAACCGATC
+>r6922
+AATAGCAGGCGTGAATGAAGCCTGCCAGATGTCGC
+>r6923
+GCACCAGATGGCAACTCATTTCATCCACCAGTTCA
+>r6924
+AAATTGATGATGAATCATCAGTAACATCTATTCAT
+>r6925
+TTTGTCCCGTTGATGGCGATAATCTGGGTACTGAC
+>r6926
+TCGCAAACAGGCGCTGATCCTTAACTTACCCGGTC
+>r6927
+TTCAATAATGAAACGACTCATCAGACCGCGTGCTT
+>r6928
+AAGCACAATGATCATCGTGGCGATCATCGTCCGGG
+>r6929
+TTGTCACCCGCAGTGCGAAGATCCTCTCGGCGTTT
+>r6930
+TGGCCGGCGTGTTAGAAGCGCGTGGTCACAACGTT
+>r6931
+TCCGCCACGAAACTGCCCATTGGCATCACGTTCTT
+>r6932
+TAATCAGCACCACGGAAATACGGGCGCGTGACATC
+>r6933
+GTTGTGACCACGCGCTTCTAACACGCCGGCCATAA
+>r6934
+TGTTGCGAGATCTGGACGGATGTTGACGGTGTTTA
+>r6935
+CCGGTGTCTTTGCTGATCTGCTACGTACCCTCCCA
+>r6936
+GTGGAACAATTCCAGACAACCGACATCGCTTTCAA
+>r6937
+TGGCGGCGCGCGTCTTTGCAGCGATGTCACGCGCC
+>r6938
+CAGAACAGTTTTTCTTGCAGTGGACTGATTTTGCC
+>r6939
+ATCAGGCAAGGGATCTGGAACTGGGCGATGGGGGT
+>r6940
+AGTGTTTGTGATTGGCGTCGGTGGCGTTGGCGGTG
+>r6941
+GACTCGCCGCCGCCCAGCCGGGATTTCCGCTGGCA
+>r6942
+CGACCGCCGAAATCTTTAAATGCCAGCGTTGGCCC
+>r6943
+CAGAGTTTAACGCCGAGGGTGATGTCGCCGCTTTT
+>r6944
+AGCGTCAATTGCGAAAGCAAAACGCCTGATCAAAC
+>r6945
+TCACGACGCGCAGGGCCAGTTCCGCCCGTGGTGAG
+>r6946
+GACTGTACTTCCAGCCAGGCTGTGGCAGATCAATA
+>r6947
+GCTTCATGGATCAGCTGCTGGGCGTTGTCTAACAG
+>r6948
+CAAACGTTGTGTGAACTGGTGGATGAAATGAGTTG
+>r6949
+CTCCCATGGCAGCGCAGGCTGCGGAAATTACGCTA
+>r6950
+ATGCAGCCGTGGATGATGAAACCACGCAACAGACA
+>r6951
+GTCAGTAAAATTACAGATAGGCGATCGTGATAATC
+>r6952
+CCGCCATATTACTGCTCTCGCCTGTGGTTCATACC
+>r6953
+ATCGGCGAAATTCTGGAACTGGCAGGCTGCGACCG
+>r6954
+AGAGTTTCATTTAGTTTTCCAGTACTCGTGCGCCC
+>r6955
+TCTTATTTCACCTGCGAAAACGCTTGATTACCAAA
+>r6956
+TTTCAGTTGCCAGATTTTGCGGCGGAACAACTCTT
+>r6957
+CGCCCGATGCGACGCTGGCAGTAGCGGACCGCGAG
+>r6958
+CACAAGGCGATAATGTGGTGATAAATCTGGCGTCA
+>r6959
+CGATACCGTACCACGTTTCCTGCACGACGGTCAGT
+>r6960
+GGTTCCGACTACTCCGCTGCGGTGCTGGCGGCCTG
+>r6961
+CGCCAGTTTGTCGCTGATGCGCATCAGGGAGCTAA
+>r6962
+ATGCAGGGGTTTGTCCCGTTGATGGCGATAATCTG
+>r6963
+GCAGCACAACCAGGATCCAATGGCAGTAGATAAAC
+>r6964
+ATTTACGCCGCGATTTTTCCGCCGCATAACGCAAC
+>r6965
+AGGGTAACGTTGTGGTGCACGGTATTTTTGCCAGC
+>r6966
+TTGATGATGAATCATCAGTAACATCTATTCATTAT
+>r6967
+TGGCTTGCGCCAGTTCTTCCTGCCAGTTTTCCAGA
+>r6968
+AGAATTCAGCCCCAGCGCCACTTTCAGTTCTTCAT
+>r6969
+CTGATTGAGATAATGAATAGATGTTACTGATGATT
+>r6970
+AGCGCAGTATGTTTTCCAATGAGGCGGGAATGGGG
+>r6971
+CCTGATAAGCGTAGCGCATCAGGCAGTTTTGCGTT
+>r6972
+TTCACTGCCGGTAATGAAAAAGGCGAGCTGGTGGT
+>r6973
+GTGTTCATTCATCGCCATCAGCGCCGCGACCACTG
+>r6974
+CTGGATGTGGGTTGCCGCATTTATCGGCATGGCGA
+>r6975
+TCTACAATCTGAAAGATCACAATGAGCAGGTCAGC
+>r6976
+ATCTAGAGGCCCAATTCGCTGCGTTGATATCGCCC
+>r6977
+ACCGTAGAAAGCATGAGCCACTGCCGCTCCAGTAT
+>r6978
+CCGATAAGAAAGAGTACGCTCCGGCAGAAGATCCG
+>r6979
+TGAATCCACCCGCCGTATTGCGGCAAGCCGCATTC
+>r6980
+AAGCTGACCTGCTCATTGTGATCTTTCAGATTGTA
+>r6981
+CGGTCGCCAATGTTGAAAGCGATGTCGGTTGTCTG
+>r6982
+ACGTTGGTCGCAGCAATAAAACGTTTTACCGGCAG
+>r6983
+GCGGAAAACTTAACAAGGTGCCGCCGATGACCGTT
+>r6984
+GTGGTTAGCGCCGATGTCAGCCATTCTTCCAGCGC
+>r6985
+TTCTTCGATCATCAACTGCATACCACCAAGAAAAC
+>r6986
+TCATTATTGAAAATCGGCTGACCAAACCAGAGCAA
+>r6987
+CGAGAAAATGTCGATCGCCATTATGGCCGGCGTGT
+>r6988
+CTTCTGCCGGAGCGTACTCTTTCTTATCGGTATTC
+>r6989
+GTGCACGGTATTTTTGCCAGCGTACCGTACTGCAT
+>r6990
+TTAATAAAGGAGAAAAAATCTGGCATGCATATCCC
+>r6991
+GGAAAAAACAGCCCCTGATTTTTGCCTAACCCCTG
+>r6992
+CCAGCGTACCGTACTGCATTCAGTTGCTGGAAGGG
+>r6993
+TAAAATTTTAATTTACTCACGGCAGGTAACCAGTT
+>r6994
+CAAAAAGACGGCGAACAGAACGCCCATCCAGCGCA
+>r6995
+TTAACGCAGCGCAGATTCCGGAATACCGTAAGTTG
+>r6996
+CCAGTGACCATTCTGACCGCGACATCCGGTGATAC
+>r6997
+CCGCGCTTCATGGATCAGCTGCTGGGCGTTGTCTA
+>r6998
+GCCGTCAAATCGCCGAAGTTTCCACTCGGTACCGA
+>r6999
+AACATCCATGAAACGCATTAGCACCACCATTACCA
+>r7000
+TCAACGGGACAAACCCCTGCATGAGCCGGGCGACG
+>r7001
+TCCTAACTTCCATGGGAGGGTACGTAGCAGATCAG
+>r7002
+CCGCCGCCCCGAGCACATCAAACCCGACGCTCATA
+>r7003
+TTCACCGATTTAAAATACTCATCTGACGCCAGATT
+>r7004
+CTTATCCCTTCGAGCGGGGGGAGCTTAACAATTAG
+>r7005
+GGAAGGTATTCAGCTTATCCAGAAGGCGATGCGGG
+>r7006
+TGGCCCGCGCCAATATCAACATTGTCGCCATTGCT
+>r7007
+TAAGAATCAGCATATCCAGTCCTTGCAGGAAATTT
+>r7008
+GCACGTTCTGCCAGCTCTTTTGGCAGATCCAACGT
+>r7009
+CAGAAACCACGCCCGGATCTTCTGCCGGAGCGTAC
+>r7010
+CTGTGTGGATTAAAAAAAGAGTGTCTGATAGCAGC
+>r7011
+AGCGACAAACTGGCGGGTATCAACGCCGCTCGCTT
+>r7012
+CGCTACGAACAACGTTAAGTTTGTAGTCAATGCCG
+>r7013
+GCACAATGATCATCGTGGCGATCATCGTCCGGGGC
+>r7014
+GAAAGTGGCGCTGGGGCTGAATTCTGCTAACTCCA
+>r7015
+CGGTGTTTGATCCGTTGCGTTATCCGGAGATCGGT
+>r7016
+GCGATGACGGCGGTCCATGTGGGTGCCAGCGATTG
+>r7017
+TCATTACCTCGAATCTACCGTTGATATTGCTGAAT
+>r7018
+GGAAACAACATTATGAATGGCGAGGCAATCGCTGG
+>r7019
+TTCAGCAGTGCCGGTGCGATGGTCAGACGGTCGCA
+>r7020
+TGCGTGACCAGTTGAATCCAGGCGAATATGGCTTG
+>r7021
+AAGTTAAGGATCAGCGCCTGTTTGCGAATCACCCC
+>r7022
+GATAAACTGGCGGAAGGTATCCGTAAGTTTGCTGT
+>r7023
+TGGCATTGCTTTCCAGAATATCGGCAACCCGCAGA
+>r7024
+GCTGCATAAAAGCAAACCCGGCCTGATTGAGATAA
+>r7025
+GACGGGACTAGCGTAATTTCCGCAGCCTGCGCTGC
+>r7026
+GATATTGAAATTGAACCTGTGCTGCCCGCAGAGTT
+>r7027
+ATCATCAATCAACTTACGGTATTCCGGAATCTGCG
+>r7028
+GCTATTACCAATTTGACCGCCATATTACTGCTCTC
+>r7029
+AAAATGTCGATCGCCATTATGGCCGGCGTGTTAGA
+>r7030
+CCGCGATTTTTCCGCCGCATAACGCAACTGATGGT
+>r7031
+CTGCCGTTCTCATCGCGTAATCTCCGGATATCGAC
+>r7032
+TACGTACCCTCCCATGGAAGTTAGGAGTCTGACAT
+>r7033
+TCAGAATACGATCGTTGCTAATACCTGCATCGTTG
+>r7034
+TGCCACAGGAACTCGGACTCAGTGATACGCGCCGG
+>r7035
+GCGTTGTCTAACAGCTCCGGCAGCGTATAGCGCGT
+>r7036
+CTTAGCGTAGAAGCTGATGATCTTAAATTTGCCGT
+>r7037
+CTGTTGATGGTGCATTGCTCGGAGATGTAGTCACG
+>r7038
+CCACTCGGTACCGAGACAACCAACTGGTTACGTGC
+>r7039
+TTCGGAAGATGATTGCGTAATCAGCACCACGGAAA
+>r7040
+GCTTTTTTTATGAAGAAAATATGGAGAAAAACGAC
+>r7041
+CCCCTGCATGAGCCGGGCGACGCCATGAAGACCGC
+>r7042
+CTCGAATCTACCGTTGATATTGCTGAATCCACCCG
+>r7043
+TCTGCGGTGTTGCTAACTCGAAGGCACTGCTCACC
+>r7044
+TAATTCGCCTCGTGAAAGAATATCATCTGCTGAAC
+>r7045
+ATCCGTCCAGATCTCGCAACAATCGGCGCGTAAAC
+>r7046
+CAGTGTAGACATCACCTTTAAACGCCAGAATTGCC
+>r7047
+ACGCAGAAGTTATCCAAGTACCTCGTAGCGTTATA
+>r7048
+AAATCGCGGCGTAAATTCCTCTATGACACCAACGT
+>r7049
+CGGTCTGAATGCTGCAACCACTTCCGGTGCCGTTT
+>r7050
+AAGCTGGCGACCGATCTCCGGATAACGCAACGGAT
+>r7051
+ATGCCGATAAATGCGGCAACCCACATCCAGAAGAC
+>r7052
+ACCGTAGTGGCCGACACTGGGGACATCGCGGCAAT
+>r7053
+GGTGTGAAGGACGCTGAGGGTAACGTTGTGGTGCA
+>r7054
+AGCTGCTATCAGACACTCTTTTTTTAATCCACACA
+>r7055
+TCTTTCCTATGACACCGAAGCGTCAATTGCGAAAG
+>r7056
+ATCAGTGGCAAATGCAGAACGTTTTCTGCGGGTTG
+>r7057
+TAATTTTACTGACGGGACTAGCGTAATTTCCGCAG
+>r7058
+GATTTTGTCACCCGCAGTGCGAAGATCCTCTCGGC
+>r7059
+AACGTTGGATCTGCCAAAAGAGCTGGCAGAACGTG
+>r7060
+ATGCTGTTGGGCAAAATCGAAATCGTCTTCGCTGA
+>r7061
+ATCTGCGGGGGCGTCAGTTTCCGCGCTTCATGGAT
+>r7062
+TCAACTTCAGTTGAGATACGGCCCGGAACCAGTTT
+>r7063
+CGTGCGCCCGCCGTATCCAGCCGGCAAATATGAAC
+>r7064
+GGCACTTGCTGGCTGATGATGTCGTTTTCTTCGAT
+>r7065
+TGATGCTATCCGGGCACTGCCCCAACAAACTGATG
+>r7066
+TAAATTTGCCGTTCTTCTCATCGAGGAACACTGGC
+>r7067
+TTTGGCTGGCTAACATCCATCGCATTGGATAACGT
+>r7068
+ATGATTCATCATCAATTTACGCAACGCAGCAAAAT
+>r7069
+GCCTTTATCCTGATAAACGCCGCTGGATGCGCGAT
+>r7070
+ATCGCCCGCCATTTTTATACGAAACCTCATGTATG
+>r7071
+CTTCCAGTGCCAATATGAGCGTCGGGTTTGATGTG
+>r7072
+AAATCGTCTTCGCTGAAGGTTTCGGCCTGCAAGCC
+>r7073
+TTTATCACCACATTATCGCCTTGTGCTGCGAGCGC
+>r7074
+ATCAACATTGTCGCCATTGCTCAGGGATCTTCTGA
+>r7075
+TTGTAGAGTTTGATCAGGCGTTTTGCTTTCGCAAT
+>r7076
+GCTGGGAGCGTTTTTGCCAGGAGCTTGGCAAGCAA
+>r7077
+AGGGTGATGTCGCCGCTTTTATGGCGAATCTGTCA
+>r7078
+AGGTGCGCATACCATCACCTACCACCGAGATAATG
+>r7079
+TTGTTTGGCTGGCTAACATCCATCGCATTGGATAA
+>r7080
+CTCCCCAGAATTGATACAGATCTTTCCCTCGGGCA
+>r7081
+CAGATTATCGCCATCAACGGGACAAACCCCTGCAT
+>r7082
+GCCTGATAAGCGTAGCGCATCAGGCAGTTTTGCGT
+>r7083
+TGCTCTGCTGTTTCGCCCAGGCGACAGCATCATCA
+>r7084
+TTGAACCTGTGCTGCCCGCAGAGTTTAACGCCGAG
+>r7085
+AAACTTTTCCTTCATCACGGGCCTTCGCCACACGC
+>r7086
+CCAGCGCGGCAAAGAATTTCGCCGAGATCCCACGT
+>r7087
+GTACGCTCCGGCAGAAGATCCGGGCGTGGTTTCTG
+>r7088
+GCTGATGAAAGATGTTATCGCTGAACCCTACCGTG
+>r7089
+AGGCCATAATGATATCTGCCAGTTGCCACATCAGC
+>r7090
+CAGCATCTGATGAGTAACGCGCACGCCAGTGGTCG
+>r7091
+GTCACGCTAAGTATGATTACAGCAGATCGCCGATC
+>r7092
+GCGACATCACCCTCGGCGTTAAACTCTGCGGGCAG
+>r7093
+TTGCGCCCATAACCACGGTTTCATAACCATGCTCT
+>r7094
+TGGCATTTAAAGATTTCGGCGGTCGCTTTATGGCA
+>r7095
+AGAGTTCTACCTGGAACTGAAAGAAGGCTTACTGG
+>r7096
+CTGATTACGCAATCATCTTCCGAATACAGTATCAG
+>r7097
+AGCCCCAGCGCCACTTTCAGTTCTTCATCATCAAA
+>r7098
+GTTCGGCATCGCTGATATTGGGTAAAGCATCCTGA
+>r7099
+ACGCTCCGGCAGAAGATCCGGGCGTGGTTTCTGTA
+>r7100
+CATCAACAGGTGTCACCGCCGCCCCGAGCACATCA
+>r7101
+CGTATGGCCCTTCCAGCAACTGAATGCAGTACGGT
+>r7102
+CAACTGGCAGATATCATTATGGCCTGCATGGCTAT
+>r7103
+CCGAAGTAAGAAAGCTCCATCGCTTCCTGATAGGA
+>r7104
+TCGCCTGCTCATCGGGGATTAAGCGGGTTTCCAGT
+>r7105
+CTGGAGCCGTTGGCGGTGACGGAACGGCTGGCCAT
+>r7106
+CTTCCATGGGAGGGTACGTAGCAGATCAGCAAAGA
+>r7107
+TTCGGCGTAACAACGTGGAAACCTTCGCGCAGGAA
+>r7108
+AGAGTTTGATCAGGCGTTTTGCTTTCGCAATTGAC
+>r7109
+TCGCTAAATATCAATGCCGGATTGCCATCCGGCAT
+>r7110
+GCGCTTGCCGTGCAGATGACCAGGGTGTCGATAAA
+>r7111
+CCAGAATTTCGCCGATGTTACGGAAGCTTGCGCCC
+>r7112
+GTGGCAGATCAATATGCCGACTTCCTGCGCGAAGG
+>r7113
+TGCTCAATGCTGGTGATGAATTGATGAAGTTCTCC
+>r7114
+TCAACTGGTCACGCAGCGCACGATAAGCTACGGCA
+>r7115
+TGTCCCCAGTGTCGGCCACTACGGTGGTGTACTGA
+>r7116
+GGCTGGATTACCGGTTATTGAGAACCTGCAAAATC
+>r7117
+GTGCGGCTCCGAGGTATAGCCCAGTTCTTTTAACT
+>r7118
+TTTGAACAGCGGATCATTACCATCCACTTCGGCAA
+>r7119
+TAAGGTGCGCATACCATCACCTACCACCGAGATAA
+>r7120
+GCGCCGATTTCCGCAACCGCCTGCCGCGCCTGCCG
+>r7121
+CTGACGGCAGCTTATCGGCAAAGCGTCCGAGGTTG
+>r7122
+TGATTACCAAAGCCCGTTGACCACCACGCGCTATA
+>r7123
+GCTGTTAATAAAGGAGAAAAAATCTGGCATGCATA
+>r7124
+ACTCTACAACGATGCAGGTATTAGCAACGATCGTA
+>r7125
+CCCGCTCGAAGGGATAAGATTGTTAACAACGTGCG
+>r7126
+ATGAAATGAGTTGCCATCTGGTGCTCACCACGGGC
+>r7127
+CAAAAAAAGAGAATGAGTTGATCGATAGTTGTGAT
+>r7128
+CGCCTGAGTCGCTTTGGGTGACCACTGACCGTCGT
+>r7129
+GTTGCCACATCAGCGGAAAACTTAACAAGGTGCCG
+>r7130
+CATTATCGCCTTGTGCTGCGAGCGCCTCGTTCAGC
+>r7131
+GCAATGCAATCCTGGCGGCGATACTGCGCCGGTAA
+>r7132
+TTCAAAGTGAAAAATGGCGAAAACGCCCTGGCCTT
+>r7133
+GAGATGCCAGGCTTTGGTGAACAGATGCGCCAGAT
+>r7134
+AGGTAACGAGGTAACAACCATGCGAGTGTTGAAGT
+>r7135
+CAGGCGGTTGCGGAAATCGGCGCGGTAGCGAGCGG
+>r7136
+AGCTCCATCGTTGCCAACTACATTTATGCCGAAAA
+>r7137
+GACCGATCTCCGGATAACGCAACGGATCAAACACC
+>r7138
+GTGGCTCATGCTTTCTACGGTTTACCGAATGTGAA
+>r7139
+TCCTGACCGCTAATGGTTTTTTCAATCATCGCTAC
+>r7140
+CGCTTTAGGGTTGTTCAGGCGTAAAAAGAAGAGAT
+>r7141
+AACGGTAACGTTGTGACCACGCGCTTCTAACACGC
+>r7142
+CCGGATAATGCCGGATGGCAATCCGGCATTGATAT
+>r7143
+ATGTTCCCTCGCACAGCTTTATAAAGAACGTGATG
+>r7144
+TTGACGCTTCGGTGTCATAGGAAAGACGCGCATCA
+>r7145
+TCATCAATTCATCACCAGCATTGAGCAGATTTTGC
+>r7146
+GCTGCCATGGGAGCGACCAGAACCAGGGAAAGTGC
+>r7147
+CGCCGTTTGTTGGCCGTATTCTTGACTGATACAAA
+>r7148
+AAGCTGCTATCAGACACTCTTTTTTTAATCCACAC
+>r7149
+TATCACCACATTATCGCCTTGTGCTGCGAGCGCCT
+>r7150
+CAAACATCATCGCTAAATATCAATGCCGGATTGCC
+>r7151
+TGCAGTGGACTGATTTTGCCTCGTGGATAGAGGAT
+>r7152
+AATTGATGAAGTTCTCCGGCATTCTTTCAGGTTCG
+>r7153
+GGATCTTCTGAACGCTCAATCTCTGTCGTGGTCAA
+>r7154
+ACAATGACTGAAATGAGGTTAAACCGCCTGGCTGT
+>r7155
+AACCGGTCTGCCCTGATGATATCACAAGGGCGAAT
+>r7156
+ACGTTCGATAGCCCCTTCGCTCTCCGCCAGCTCTT
+>r7157
+GGCGATGCGGGTGCTAATGGGTTCCTGGGGTGCGG
+>r7158
+GAAGCGGGCGTGTTCCTGATCTCGCCGTTTGTTGG
+>r7159
+CCGGCAGTGAAACCAGCCATCAGCACCATGTGGTC
+>r7160
+TTCACCCCCGCACCATTACCCCCATCGCCCAGTTC
+>r7161
+TGCGTAATCAGCACCACGGAAATACGGGCGCGTGA
+>r7162
+CTGATGATTCATCATCAATTTACGCAACGCAGCAA
+>r7163
+GCCAGGACGCAGCTGCCGCTGCCGCGTTTGGCGTC
+>r7164
+CTCGGTCTGCCGGTAAAACGTTTTATTGCTGCGAC
+>r7165
+CAGGTTATCGAAGTGTTTGTGATTGGCGTCGGTGG
+>r7166
+CCGGCATTCTTTCAGGTTCGCTTTCTTATATCTTC
+>r7167
+TTGTGCGGAAGCGGGCGTGTTCCTGATCTCGCCGT
+>r7168
+CGGCGTGGTTAGCGCCGATGTCAGCCATTCTTCCA
+>r7169
+TCTTGCAATATATTGAATTTGCACGATTTTGTAGG
+>r7170
+TCCGGCAGAAGATCCGGGCGTGGTTTCTGTATCTG
+>r7171
+TTAAATGCCAGCGTTGGCCCGTGGAACAATTCCAG
+>r7172
+GCGCCTGTTCAGTGGTCGCGGCGCTGATGGCGATG
+>r7173
+GCCCGGAACCAGTTTCAGGATTTCCAGACCAATAT
+>r7174
+ATAAAGGAGAAAAAATCTGGCATGCATATCCCTCT
+>r7175
+GCGGAGAATAACAACTGCCGTTCTCATCGCGTAAT
+>r7176
+GCCGTATTCTTGACTGATACAAAGCGAATACCGAT
+>r7177
+TTCGATAACCTGATCGGTATTGAACAGCATCTGAT
+>r7178
+GACTACATCTCCGAGCAATGCACCATCAACAGGTG
+>r7179
+ATTACGCAATCATCTTCCGAATACAGTATCAGTTT
+>r7180
+GTGGTAGGTGATGGTATGCGCACCTTACGTGGGAT
+>r7181
+GCGAACAGAACGCCCATCCAGCGCATCCCCAGCCC
+>r7182
+GGCGGTCATTGGGGCGACCACGGCTGGTGGAAACA
+>r7183
+CGAGTGATCGCCAGCAGAGCAAAGACAGCGAGAAT
+>r7184
+GGTCAACAGCAAACTTACGGATACCTTCCGCCAGT
+>r7185
+CAGCGCAGCGTTGATGCTATCCGGGCACTGCCCCA
+>r7186
+AGAACTCTTCCTGCATTGCCCGTTCAGCTCGCACA
+>r7187
+CATCAGATGCTGTTCAATACCGATCAGGTTATCGA
+>r7188
+GTATCAACCGCAGGATGCCACAACCAACCCTTCTC
+>r7189
+TTTCACTTTGAACAGCGGATCATTACCATCCACTT
+>r7190
+TGGTCAGCCGATTTTCAATAATGAAACGACTCATC
+>r7191
+AGATGATTGCGTAATCAGCACCACGGAAATACGGG
+>r7192
+CCAGCGCCTGACAGGCATCGAAATCGCCGTCGATG
+>r7193
+TAACACGCCGGCCATAATGGCGATCGACATTTTCT
+>r7194
+TCGGTGGCGTTGGCGGTGCGCTGCTGGAGCAACTG
+>r7195
+TGGTGCTGATGGCTGGTTTCACTGCCGGTAATGAA
+>r7196
+TATGCGCACCTTACGTGGGATCTCGGCGAAATTCT
+>r7197
+ACCGAAGAGTGCAAGACGCGAAGTTAGCGAATAAA
+>r7198
+AAGCCAGGCGATTACTAACGGTTTTCAGCGCAGTA
+>r7199
+ACATGTCCTGCATGGCATCAGTTTGTTGGGGCAGT
+>r7200
+GCGATGCCGAACTTATTTTTGCCGAACTTCTGACG
+>r7201
+TGCGTTTCATGGATGTTGTGTACTCTGTAATTTTT
+>r7202
+ACGCGCCACATCCATGCCAGAAAGATCATCTCGCG
+>r7203
+AACAGGTGTCACCGCCGCCCCGAGCACATCAAACC
+>r7204
+TGATGATGCTGTCGCCTGGGCGAAACAGCAGAGCA
+>r7205
+CGCTAACCACGCCGTTTGAACTGGAAACCCGCTTA
+>r7206
+GACTTCGGTTGACCGGGTAAGTTAAGGATCAGCGC
+>r7207
+TTATACCTGCGATCCGCGTCAGGTGCCCGATGCGA
+>r7208
+TCAATAAAATTTTAATTTACTCACGGCAGGTAACC
+>r7209
+GGGCGCACGAGTACTGGAAAACTAAATGAAACTCT
+>r7210
+GGCAATGGTATGAACCACAGGCGAGAGCAGTAATA
+>r7211
+GACGCTGTTAATAAAGGAGAAAAAATCTGGCATGC
+>r7212
+TTAAACACCAGTTCGCCATTGCTGGAGGAAGCTTC
+>r7213
+TTCCGTGGTGCTGATTACGCAATCATCTTCCGAAT
+>r7214
+TCAGGAAGGTTTTGTTCATATTTGCCGGCTGGATA
+>r7215
+TCAGATACAGAAACCACGCCCGGATCTTCTGCCGG
+>r7216
+ATGCAGTACGGTACGCTGGCAAAAATACCGTGCAC
+>r7217
+CGATCTCTTTGCCGCGCGTGTGGCGAAGGCCCGTG
+>r7218
+GAGTGCTTTTGGCTGGCAGGAAGCTGCAGGCGGCG
+>r7219
+GCAGCCTGCGCTGCCATGGGAGCGACCAGAACCAG
+>r7220
+GCCGATTTCCGCAACCGCCTGCCGCGCCTGCCGGA
+>r7221
+TGATGGTAGTAATCCATCGACGAGGTGTTGGCCTT
+>r7222
+TGAGCAATGGCGACAATGTTGATATTGGCGCGGGC
+>r7223
+AATGCAGTACGGTACGCTGGCAAAAATACCGTGCA
+>r7224
+GCGGGATTTCATCACCAATAAACGCCGAGAGGATC
+>r7225
+CGCGGAAACTGACGCCCCCGCAGATTAGCTCCCTG
+>r7226
+GCCCCAGCGCCACTTTCAGTTCTTCATCATCAAAC
+>r7227
+TGTTCTGCAGCACGGATACCCTGCCAGGTAGAAGC
+>r7228
+AAATCAGCGCAGCGTTGATGCTATCCGGGCACTGC
+>r7229
+CGCCGGACGCGCTTTCACTTCACCAGTGTAAGACA
+>r7230
+GGCGACGTTATCCAATGCGATGGATGTTAGCCAGC
+>r7231
+CGTGGAAGCGATTCTCGGTGAAACGTTGGATCTGC
+>r7232
+GATCGCGCATCCAGCGGCGTTTATCAGGATAAAGG
+>r7233
+ACCAGGATCCAATGGCAGTAGATAAACTGGCGGAA
+>r7234
+CCGCGCCATAACAAGCACAATGATCATCGTGGCGA
+>r7235
+AGTTTCCACTCGGTACCGAGACAACCAACTGGTTA
+>r7236
+CCGGATATCGACCCATAACGGGCAATGATAAAAGG
+>r7237
+TATGACACCGAAGCGTCAATTGCGAAAGCAAAACG
+>r7238
+GGGTTATACCGAACCGGACCCGCGAGATGATCTTT
+>r7239
+ATGGCGACCTCGTTTGCCGAATGTTCCCTCGCACA
+>r7240
+ATAAGAGGGATATGCATGCCAGATTTTTTCTCCTT
+>r7241
+AGCTTGGCAAGCAAATTCCAGTGGCGATGACTCTG
+>r7242
+GTTTTTTCAATCATCGCTACCAGATGGTTGGTGAT
+>r7243
+TTGATGCGCGTCTTTCCTATGACACCGAAGCGTCA
+>r7244
+AGGATAACCACTTTCACATTCGGTAAACCGTAGAA
+>r7245
+TCGACTTACGTGTCTGCGGTGTTGCTAACTCGAAG
+>r7246
+GATGTCACGCGCCCGTATTTCCGTGGTGCTGATTA
+>r7247
+CGCGCAGGGCCAGTTCCGCCCGTGGTGAGCACCAG
+>r7248
+AAGGCGATGCGGGTGCTAATGGGTTCCTGGGGTGC
+>r7249
+CAGCAAGTGCCAGGGTTTGATGAGTGGCTGTGGGT
+>r7250
+AACAGCAAACTTACGGATACCTTCCGCCAGTTTAT
+>r7251
+CGTGCGGCGTTTGCCTTCCCGGCTCCGGTCGCCAA
+>r7252
+GCATCCGGCAGCGCAAGGAATTGTCCAGATGATTG
+>r7253
+TTAAAAAAAGAGTGTCTGATAGCAGCTTCTGAACT
+>r7254
+TACGACAACGTGGCACCGTGTTTTCTTGGTGGTAT
+>r7255
+TTGGTTGTGGCATCCTGCGGTTGATACAGCTTCAT
+>r7256
+GTCATTGTGTACCAGTCTTGCAGCGCGCGTGGGTA
+>r7257
+CTCCCCAGAATTGATACAGATCTTTCCCTCGGGCA
+>r7258
+CTGTCTGTCACTCCCTTCGCAGTGTATCATTCTGC
+>r7259
+ATATTCTTTCACGAGGCGAATTAAGCGCCCGAGAT
+>r7260
+CTGGCGCAGATTTGTTATTACTTTGAGGCTGTCGC
+>r7261
+AGCCGCACGCTGCCGTAGCTTATCGTGCGCTGCGT
+>r7262
+ACCCCAGGAACCCATTAGCACCCGCATCGCCTTCT
+>r7263
+TAGCCACTATTATCAGCCGCTGCCGTTGGTACTGC
+>r7264
+TTACTGACGGGACTAGCGTAATTTCCGCAGCCTGC
+>r7265
+GCACGAGCCTGAGCGAAGGAGAACAGCAGGGTCAG
+>r7266
+TCCATGGGAGGGTACGTAGCAGATCAGCAAAGACA
+>r7267
+CATTGGTGCCAGCCGTGATGAAGACGAATTACCGG
+>r7268
+CCACAGCCAGGCGGTTTAACCTCATTTCAGTCATT
+>r7269
+AAAATTACAGATAGGCGATCGTGATAATCGTGGCT
+>r7270
+TATGGGTCGATATCCGGAGATTACGCGATGAGAAC
+>r7271
+CTTCCACACGCGGCCAGTTGTTTGGCTGGCTAACA
+>r7272
+GGGTAATGGTGCGGGGGTGAAGAACTTTAGCGCCG
+>r7273
+CAGTCGGCAACGCGCTGGGCGGTATCCGGCTTGTC
+>r7274
+AGGTCCACCGGCGGTAATTGCCAGCGCAACGCCGG
+>r7275
+AGGCCGGATAAGGCGTTCACGCCGCATCCGGCATA
+>r7276
+CCTTCGCTATTAAAACCAGTCAGTTGCTCTGGTTT
+>r7277
+TCGCCCGCAATATGGGTCAGCATTTGTGCCATAAA
+>r7278
+AAAGTGCGAGTACGATAGATTGCATCTTTTTCACA
+>r7279
+GTTATGAAACCGTGGTTATGGGCGCAAGCTTCCGT
+>r7280
+CATGTGGGTGCCAGCGATTGCCTCGCCATTCATAA
+>r7281
+ACCGGAAATCCCCAAGCACCAGGTACGCTCATTGG
+>r7282
+TGAAAAATGGCGAAAACGCCCTGGCCTTCTATAGC
+>r7283
+AATCAGTCCACTGCAAGAAAAACTGTTCTGTACAT
+>r7284
+CAGGAAATTTATGCCGACTTTAGCAAAAAAAGAGA
+>r7285
+GGGCTTTTTTCTGTGTTTCCTGTACGCGTCAGCCC
+>r7286
+ACTGGCTTGATAATCTCGGCATTCAATTTCTTCGG
+>r7287
+CATACTGCGCTGAAAACCGTTAGTAATCGCCTGGC
+>r7288
+GACGGACAAATTGACCTCCCTTCGTCAGTACACCA
+>r7289
+TAGACCAAATGACGTGGGGAAGTTGCCCGATATTC
+>r7290
+AAAAGTTTTGCGCTATGTTGGCAATATTGATGAAG
+>r7291
+ACATCCGCCAGTTTGGCAAAAGTCTTAAAAATAGC
+>r7292
+GGTTACATCCCCCTAACAAGCTGTTTAAAGAGAAA
+>r7293
+AATCCTGGCGGCGATACTGCGCCGGTAAAATAGCC
+>r7294
+TGCCCTTGACCGGTAATTCGTCTTCATCACGGCTG
+>r7295
+CACAGGCGAGAGCAGTAATATGGCGGTCAAATTGG
+>r7296
+CTGGGGAGATATCATCACCAACAAGCTGAACGAGG
+>r7297
+TTTGCCGAATGTTCCCTCGCACAGCTTTATAAAGA
+>r7298
+TGTGCTCGGGGCGGCGGTGACACCTGTTGATGGTG
+>r7299
+TAGCGTTATATACTTCGTAAACAATTGGTAACGTT
+>r7300
+GCGCGTGGGTAGCGGCAACCTGGCCGGCGTTGCGC
+>r7301
+CGCGAAGCTGATGAAAGATGTTATCGCTGAACCCT
+>r7302
+GTGAGCACCAGATGGCAACTCATTTCATCCACCAG
+>r7303
+CGCAACGGTCATCGGCGGCACCTTGTTAAGTTTTC
+>r7304
+TTTTGTCACCCGCAGTGCGAAGATCCTCTCGGCGT
+>r7305
+CCGGTCAACCGAAGTCTATTAAAGAGACGCTGGAA
+>r7306
+GGAGATACCGCTCGCTACCGCGCCGATTTCCGCAA
+>r7307
+TCAGGCGAACGCCGTTGCGCGAGCCCTGAGTTTTT
+>r7308
+AAGCGTCAGCAAAGCTGGTTGAAGAATAAACATAT
+>r7309
+CATCCACAGCCAGGCGGTTTAACCTCATTTCAGTC
+>r7310
+TTGATGAATACTTTACGTATTGGCTTAGTTTCCAT
+>r7311
+TCTTTCTGGCATGGATGTGGCGCGTAAGCTATTGA
+>r7312
+AGCTCTTTCAGTTGCCAGATTTTGCGGCGGAACAA
+>r7313
+TGCTGATTCTTATTTCACCTGCGAAAACGCTTGAT
+>r7314
+GCTACGCAGAAGTTATCCAAGTACCTCGTAGCGTT
+>r7315
+CGGTCCGCTACTGCCAGCGTCGCATCGGGCGTTAC
+>r7316
+AGAAACCACGCCCGGATCTTCTGCCGGAGCGTACT
+>r7317
+CGTTATTGACCACGACAGAGATTGAGCGTTCAGAA
+>r7318
+AAGAGATCGTCGAGCTGTGACAGATTCGCCATAAA
+>r7319
+TGAACCCGGTCATTGTTGACTGTACTTCCAGCCAG
+>r7320
+GGTGTCATAGGAAAGACGCGCATCAACTTCAGTTG
+>r7321
+GGCATTGATATTTAGCGATGATGTTTGTCAGGCCC
+>r7322
+AAAAAGATGCAATCTATCGTACTCGCACTTTCCCT
+>r7323
+ACGTTGTTAACAATCTTATCCCTTCGAGCGGGGGG
+>r7324
+GATTTTGTAGGCCGGATAAGGCGTTCACGCCGCAT
+>r7325
+GGTACGTAGCAGATCAGCAAAGACACCGGCAGCTG
+>r7326
+GGCATCCTGCGGTTGATACAGCTTCATTGCCGCGA
+>r7327
+AACTTATTTTTGCCGAACTTCTGACGGGACTCGCC
+>r7328
+CCGGGGATGAAAGGGATGGTTGGCATGGCGGCGCG
+>r7329
+TTCAGTGGTCGCGGCGCTGATGGCGATGAATGAAC
+>r7330
+GCCCATCCAGCGCATCCCCAGCCCGCGCGCCATAT
+>r7331
+TGGGGGTAATGGTGCGGGGGTGAAGAACTTTAGCG
+>r7332
+ACCACCGTAGTGGCCGACACTGGGGACATCGCGGC
+>r7333
+ATGCCAATCATCTGGACAATTCCTTGCGCTGCCGG
+>r7334
+GAAAATTATGCCGTAGGCGATGAGCAAAAAGACGG
+>r7335
+CGTGCGCAATGCAATCCTGGCGGCGATACTGCGCC
+>r7336
+GCACAACCTACATGCCGCTGGAAGGTATTCAGCTT
+>r7337
+GTGACCATTCTGACCGCGACATCCGGTGATACTGG
+>r7338
+TATCATCAGGGCAGACCGGTTACATCCCCCTAACA
+>r7339
+AAACATATCGACTTACGTGTCTGCGGTGTTGCTAA
+>r7340
+GCGGCCGCCAGTGTGATGGATATCTGCAGAATTCG
+>r7341
+CGGCGCGGCGGGATATACCTTAAGCCAGGCGATTA
+>r7342
+GGGCGCAGTACGCCATACAAGCCGGAAAGCATTCG
+>r7343
+CCAGTGTCGGCCACTACGGTGGTGTACTGACGAAG
+>r7344
+AATACGGCGGGTGGATTCAGCAATATCAACGGTAG
+>r7345
+GTGGTTCATACCATTGCCAGTGATTATCTACGCCA
+>r7346
+CCGAGTTTACGCTGGCGTAGATAATCACTGGCAAT
+>r7347
+TTTGGCTGGCAGGAAGCTGCAGGCGGCGCGGCGGG
+>r7348
+TTCATTCATCGCCATCAGCGCCGCGACCACTGAAC
+>r7349
+CACAAGGGCGAATTCTGCAGATATCCATCACACTG
+>r7350
+TCTGGTTTGGTCAGCCGATTTTCAATAATGAAACG
+>r7351
+GGGCGTTTTCGCCATTTTTCACTTTGAACAGCGGA
+>r7352
+TAACAAGGTGCCGCCGATGACCGTTGCGAAGGTGC
+>r7353
+CCTGAGTTTTTCTTTTGATTTTCCCCCGCTGGTAA
+>r7354
+TGACGTGGGGAAGTTGCCCGATATTCATTACGCAA
+>r7355
+GAAACAACATTATGAATGGCGAGGCAATCGCTGGC
+>r7356
+TCTGTGTGGATTAAAAAAAGAGTGTCTGATAGCAG
+>r7357
+AGCCACTGCCGCTCCAGTATCACCGGATGTCGCGG
+>r7358
+GAGATCGGTCGCCAGCTTTCTCCAGACGCGTGGGA
+>r7359
+GCCCTGGCTTCTGCCGTCGAGACTTTAATCCCCGG
+>r7360
+TGAACGCCTTATCCGGCCTACAAAATCGTGCAAAT
+>r7361
+CCGCAGGATGCCACAACCAACCCTTCTCTCATTCT
+>r7362
+CTGTGGTAATGGTGATGGTGGTGGTAATGGTGGTG
+>r7363
+ACCCAGGGGTTAGGCAAAAATCAGGGGCTGTTTTT
+>r7364
+TGGTAGTAATCCATCGACGAGGTGTTGGCCTTTTT
+>r7365
+GTAATTTTTATCTGTCTGTGCGCTATGCCTATATT
+>r7366
+AGCGTCTCTTTAATAGACTTCGGTTGACCGGGTAA
+>r7367
+CTTGTTAAGTTTTCCGCTGATGTGGCAACTGGCAG
+>r7368
+AACAAGCTGAACGAGGCGCTCGCAGCACAAGGCGA
+>r7369
+ACACTCTTTTTTTAATCCACACAGAGACATATTGC
+>r7370
+CGTCACGACGCGCAGGGCCAGTTCCGCCCGTGGTG
+>r7371
+GACCACTGACCGTCGTGCAGGAAACGTGGTACGGT
+>r7372
+TATCGAAACTGTTGCCATCGACGGCGATTTCGATG
+>r7373
+CTGCGGTGTTGCTAACTCGAAGGCACTGCTCACCA
+>r7374
+GGAAGGTTTTGTTCATATTTGCCGGCTGGATACGG
+>r7375
+GCAGTATGTTTTCCAATGAGGCGGGAATGGGGTCG
+>r7376
+GGATTTGTGCAGTTTCGCTACATCCGCCAGTTTGG
+>r7377
+TGATTCTTATTTCACCTGCGAAAACGCTTGATTAC
+>r7378
+AAAACGACATCATCAGCCAGCAAGTGCCAGGGTTT
+>r7379
+GGCTCCAGGTCCACCGGCGGTAATTGCCAGCGCAA
+>r7380
+ATTGATGATGCTGTCGCCTGGGCGAAACAGCAGAG
+>r7381
+GGCCCTGCGCGTCGTGACGTAACGCCCGATGCGAC
+>r7382
+TCTGGATAAGCTGAATACCTTCCAGCGGCATGTAG
+>r7383
+GCATCGCCTTCTGGATAAGCTGAATACCTTCCAGC
+>r7384
+CCTGCAAGGACTGGATATGCTGATTCTTATTTCAC
+>r7385
+CTCGTCGATGGATTACTACCATCAGTTGCGTTATG
+>r7386
+GAAGCGGGCGTGTTCCTGATCTCGCCGTTTGTTGG
+>r7387
+ACCTTACGTGGGATCTCGGCGAAATTCTTTGCCGC
+>r7388
+TGCGACAGCCTCAAAGTAATAACAAATCTGCGCCA
+>r7389
+AACGGGCTTTGGTAATCAAGCGTTTTCGCAGGTGA
+>r7390
+ATTTCCAATCTGAATAACATGGCAATGTTCAGCGT
+>r7391
+ATTCGCTGCGTTGATATCGCCCGCCATTTTTATAC
+>r7392
+CTGGCAGAACGTGCTGATTTACCCTTGCTTTCGCA
+>r7393
+GCGCCCGCTCGATTTAATGCAGCCTTATCGTCTGG
+>r7394
+AGTGCTTTTGGCTGGCAGGAAGCTGCAGGCGGCGC
+>r7395
+TGAATTTGCACGATTTTGTAGGCCGGATAAGGCGT
+>r7396
+CCCGGCTCCGGTCGCCAATGTTGAAAGCGATGTCG
+>r7397
+GGAAGGTGTGAAGGACGCTGAGGGTAACGTTGTGG
+>r7398
+TAGGGGGATGTAACCGGTCTGCCCTGATGATATCA
+>r7399
+CTTATCCGGCCTACAAAATCGTGCAAATTCAATAT
+>r7400
+GCGAAGACGATTTCGATTTTGCCCAACAGCATTTG
+>r7401
+TACATCTCCGAGCAATGCACCATCAACAGGTGTCA
+>r7402
+TGGTTGGCATGGCGGCGCGCGTCTTTGCAGCGATG
+>r7403
+TGATGAAATCCCGCAGGAAATCCTGGAAGAGCGCG
+>r7404
+CAATATCAGCGATGCCGAACTTATTTTTGCCGAAC
+>r7405
+CACTAAATACTTTAACCAATATAGGCATAGCGCAC
+>r7406
+AAGTCGGGCCGGAGCCGGAGATACCGCTCGCTACC
+>r7407
+CGTAGCGCATCAGGCAGTTTTGCGTTTGTCATCAG
+>r7408
+TGTAGTACTGGTAGATTTCAGATACAGAAACCACG
+>r7409
+CAGTGGCGATGACTCTGGAAAAGAATATGCCGATC
+>r7410
+TTTCAATAATGAAACGACTCATCAGACCGCGTGCT
+>r7411
+GGCCGGCGTTGCGCTGGCAATTACCGCCGGTGGAC
+>r7412
+GGGGATGAAAGGGATGGTTGGCATGGCGGCGCGCG
+>r7413
+TTCTGGATAAGCTGAATACCTTCCAGCGGCATGTA
+>r7414
+AGTAATCACAACTATCGATCAACTCATTCTCTTTT
+>r7415
+GATCAAACACCGGGCGCACGCCGAGTTTACGCTGG
+>r7416
+GGGTTTGCTTTTATGCAGCCCGGCTTTTTTTATGA
+>r7417
+AACATCTTTCATCAGCTTCGCGGCAAGCTCAAGCT
+>r7418
+CAGCGTAAACTCGGCGTGCGCCCGGTGTTTGATCC
+>r7419
+ACGATAAGCTACGGCAGCGTGCGGCTCCGAGGTAT
+>r7420
+TAATTGCCAGCGCAACGCCGGCCAGGTTGCCGCTA
+>r7421
+ATAATGGCCAGCCGTTCCGTCACCGCCAACGGCTC
+>r7422
+AGCTCCTGGCAAAAACGCTCCCAGCACTGATAAAC
+>r7423
+CTGGCATGGATGTGGCGCGTAAGCTATTGATTCTC
+>r7424
+GCGATAACATCTTTCATCAGCTTCGCGGCAAGCTC
+>r7425
+CGCACCTGACAGTGCGGGCTTTTTTTTCGACCAAA
+>r7426
+TGAAAATTATGCCGTAGGCGATGAGCAAAAAGACG
+>r7427
+ATGGGTCGATATCCGGAGATTACGCGATGAGAACG
+>r7428
+TATTAACAGCGTCCTTTGGGGATCGGTAATGATTT
+>r7429
+GTTACGTGCTTCTTGCGGCAACTGTGCGACAGCCT
+>r7430
+AAAAACGACAGGGAAAAAGGAGAAATTCTCAATAA
+>r7431
+GATCGCCTGCTCATCGGGGATTAAGCGGGTTTCCA
+>r7432
+AGCCACGGGAAAATATCGTTTATCAGTGCTGGGAG
+>r7433
+ATGAATACTTTACGTATTGGCTTAGTTTCCATCTC
+>r7434
+GTGATTATCTACGCCAGCGTAAACTCGGCGTGCGC
+>r7435
+CAATATGAGCGTCGGGTTTGATGTGCTCGGGGCGG
+>r7436
+GGCACTGCTGAAAGAGCTGGCGGAGAGCGAAGGGG
+>r7437
+ATAAAAATGGCGGGCGATATCAACGCAGCGAATTG
+>r7438
+TGGACGCGACCGACAAACTGGCAGTAAATATTGGT
+>r7439
+CTGCGAAAACGCTTGATTACCAAAGCCCGTTGACC
+>r7440
+TGCTTTCGCAATTGACGCTTCGGTGTCATAGGAAA
+>r7441
+TACCTGCAAAATCAGGAAGGTTTTGTTCATATTTG
+>r7442
+GGATTCAGCAATATCAACGGTAGATTCGAGGTAAT
+>r7443
+TTGCGGCAAGCCGCATTCCGGCTGACCACATGGTG
+>r7444
+ACCAGGCTGGTCAGTACCCAGATTATCGCCATCAA
+>r7445
+GTGTATCATTCTGCTTAACGAGACTGTTTAAACGG
+>r7446
+TGAAAGAGCTGGCGGAGAGCGAAGGGGCTATCGAA
+>r7447
+TGCGGTAACTTAGAGATTAGGATTGCGGAGAATAA
+>r7448
+TTGCAGCGCGCGTGGGTAGCGGCAACCTGGCCGGC
+>r7449
+AATGAGGTTAAACCGCCTGGCTGTGGATGAATGCT
+>r7450
+CGATCTGCTGCGCGCGATCGTTGCTCTGCTGTTTC
+>r7451
+ACCGCAGCGGAGTAGTCGGAACCGTTGCGTCCCAG
+>r7452
+GTGGGTTGCCGCATTTATCGGCATGGCGACCTCGT
+>r7453
+GTGGCGTTGGCGGTGCGCTGCTGGAGCAACTGAAG
+>r7454
+GTGAAAGAATATCATCTGCTGAACCCGGTCATTGT
+>r7455
+CATAAATGTAGTTGGCAACGATGGAGCTGAAGGCA
+>r7456
+ACCGTCAACATCCGTCCAGATCTCGCAACAATCGG
+>r7457
+CCTGGTTCTGGTCGCTCCCATGGCAGCGCAGGCTG
+>r7458
+ACGTTGTTCGTAGCGTTTAAACACCAGTTCGCCAT
+>r7459
+TACCCTCGTGGTTATTCTGTTTGCCTTCAGCTCCA
+>r7460
+ATGTCGCGGTCAGAATGGTCACTGGCTTATCGCCC
+>r7461
+TTACCTGCTTTTCGGCGCAGGTTGTTGGTTCACTT
+>r7462
+CTTCCTGCCAGCCAAAAGCACTCTCAAAAATAGAC
+>r7463
+GTGGGTTGCCGCATTTATCGGCATGGCGACCTCGT
+>r7464
+CGGCTTGTCACACAGAGCGAACAAAGTCGGGCCGG
+>r7465
+TTGCATCTTTTTCACAGGTTACTCCTTTTATCATT
+>r7466
+CGCTTCGGTGTCATAGGAAAGACGCGCATCAACTT
+>r7467
+GAAGCGTCAGCAAAGCTGGTTGAAGAATAAACATA
+>r7468
+GAACCAACAACCTGCGCCGAAAAGCAGGTAAATCA
+>r7469
+GTTTCACTGCCGGTAATGAAAAAGGCGAGCTGGTG
+>r7470
+TTCTGCGTAGCATACATGAGGTTTCGTATAAAAAT
+>r7471
+ACGAGACTGTTTAAACGGAAAAATCTTGATGAATA
+>r7472
+CGGCAACTGTGCGACAGCCTCAAAGTAATAACAAA
+>r7473
+CAGGCGGGGGGATCAGACTGATGACAAACGCAAAA
+>r7474
+CGTGCAGATGACCAGGGTGTCGATAAAAATGCCAA
+>r7475
+CGCGCCATAACAAGCACAATGATCATCGTGGCGAT
+>r7476
+CAGGTTACTCCTTTTATCATTGCCCGTTATGGGTC
+>r7477
+ATCGCTTTAGGGTTGTTCAGGCGTAAAAAGAAGAG
+>r7478
+TGGTCAGACGGTCGCAGCCTGCCAGTTCCAGAATT
+>r7479
+CACGGGCGACATCTGGCAGGCTTCATTCACGCCTG
+>r7480
+CACCAACGTTGGGGCTGGATTACCGGTTATTGAGA
+>r7481
+CGCAGCGTTGATGCTATCCGGGCACTGCCCCAACA
+>r7482
+GCCACGAAACTGCCCATTGGCATCACGTTCTTTAT
+>r7483
+CTGATCGCGCATCCAGCGGCGTTTATCAGGATAAA
+>r7484
+CGCGCCACATCCATGCCAGAAAGATCATCTCGCGG
+>r7485
+GGCGCGTGACATCGCTGCAAAGACGCGCGCCGCCA
+>r7486
+TGATACTGGAGCGGCAGTGGCTCATGCTTTCTACG
+>r7487
+TGATGATGCTGTCGCCTGGGCGAAACAGCAGAGCA
+>r7488
+CGCCGCCATGCCAACCATCCCTTTCATCCCCGGGC
+>r7489
+GCGAAATTTAAAGAGAGCGTGGAAGCGATTCTCGG
+>r7490
+GATGTTGACGGTGTTTATACCTGCGATCCGCGTCA
+>r7491
+CGCTTAATTCGCCTCGTGAAAGAATATCATCTGCT
+>r7492
+CGTTGTCTAACAGCTCCGGCAGCGTATAGCGCGTG
+>r7493
+AGATCCAACGTTTCACCGAGAATCGCTTCCACGCT
+>r7494
+TAAACGCCGCTGGATGCGCGATCAGAGATGGAAAC
+>r7495
+CACTGCGGGTGACAAAATCCAGCTTCAGCATCTCA
+>r7496
+GGCACTTGCTGGCTGATGATGTCGTTTTCTTCGAT
+>r7497
+TGCTGCGCGCGATCGTTGCTCTGCTGTTTCGCCCA
+>r7498
+TATCCGGGGATTAAAGTCTCGACGGCAGAAGCCAG
+>r7499
+ACCGGACCCGCGAGATGATCTTTCTGGCATGGATG
+>r7500
+TTTCGGCATAAATGTAGTTGGCAACGATGGAGCTG
+>r7501
+CGCGGGAAATGGGTTATACCGAACCGGACCCGCGA
+>r7502
+GCGGCATGTAGGTTGTGCCGTTACCCGCCAGTAAT
+>r7503
+GAGATTATCAAGCCAGTGTTCCTCGATGAGAAGAA
+>r7504
+TTTTCTTCATAAAAAAAGCCGGGCTGCATAAAAGC
+>r7505
+CATACTTAGCGTGACCGGGAAGTCGGTCACGCTAC
+>r7506
+ATCCAGCCGGCAAATATGAACAAAACCTTCCTGAT
+>r7507
+AAACGGCGAGATCAGGAACACGCCCGCTTCCGCAC
+>r7508
+CGGTATTTTTGCCAGCGTACCGTACTGCATTCAGT
+>r7509
+GGCGGATGTAGCGAAACTGCACAAATCCGGTACGA
+>r7510
+GTCCCCAGTGTCGGCCACTACGGTGGTGTACTGAC
+>r7511
+TCATCGGCGGCACCTTGTTAAGTTTTCCGCTGATG
+>r7512
+GATGTCGCCGCTTTTATGGCGAATCTGTCACAGCT
+>r7513
+AGGTAGAAGCCAGTTTGATCAGAATACGATCGTTG
+>r7514
+CTCCGGATATCGACCCATAACGGGCAATGATAAAA
+>r7515
+GACGCTGTTAATAAAGGAGAAAAAATCTGGCATGC
+>r7516
+GGCAAGCCGCATTCCGGCTGACCACATGGTGCTGA
+>r7517
+CGCAGTGTATCATTCTGCTTAACGAGACTGTTTAA
+>r7518
+GCTGGCAGGAAGCTGCAGGCGGCGCGGCGGGATAT
+>r7519
+GTTCGCTTTCTTATATCTTCGGCAAGTTAGACGAA
+>r7520
+TTAACGCAGCGCAGATTCCGGAATACCGTAAGTTG
+>r7521
+CGTACCACGTTTCCTGCACGACGGTCAGTGGTCAC
+>r7522
+CAGATACAGAAACCACGCCCGGATCTTCTGCCGGA
+>r7523
+TCCCAGAACCACCAGCTCGCCTTTTTCATTACCGG
+>r7524
+GATCGGTTCGGGCTTAGGCTCCAGCGCCTGTTCAG
+>r7525
+TGGGTAAGAACTACCTGCAAAATCAGGAAGGTTTT
+>r7526
+GGCAGATATCATTATGGCCTGCATGGCTATTACCA
+>r7527
+ATAATAGTGGCTATAGAAGGCCAGGGCGTTTTCGC
+>r7528
+GGCGCGGGCCAGCGCGGCAAAGAATTTCGCCGAGA
+>r7529
+TTGGTGCCAGCCGTGATGAAGACGAATTACCGGTC
+>r7530
+ACTGGCAGTAAATATTGGTCTGGAAATCCTGAAAC
+>r7531
+AAGCCGGGCTGCATAAAAGCAAACCCGGCCTGATT
+>r7532
+TAATCTGGAAAACTGGCAGGAAGAACTGGCGCAAG
+>r7533
+TCCCCGGATACGCCAGCACCCACAGCCACTCATCA
+>r7534
+TAAACATATCGACTTACGTGTCTGCGGTGTTGCTA
+>r7535
+CGCCACGAAACTGCCCATTGGCATCACGTTCTTTA
+>r7536
+TTAACTTACCCGGTCAACCGAAGTCTATTAAAGAG
+>r7537
+TGGCAACTGAAAGAGCTGGGTTATGCAGCCGTGGA
+>r7538
+GCTGGCCCGCGCCAATATCAACATTGTCGCCATTG
+>r7539
+TCACGACGCGCAGGGCCAGTTCCGCCCGTGGTGAG
+>r7540
+CAAATTCCTGGTCGACGAAAGTTTTCAATTGTGCC
+>r7541
+TTCGTCTAACTTGCCGAAGATATAAGAAAGCGAAC
+>r7542
+TGGGCAAAATCGAAATCGTCTTCGCTGAAGGTTTC
+>r7543
+CGCGTGAAGATTGCCGAAGTGGATGGTAATGATCC
+>r7544
+GCCCATAACCACGGTTTCATAACCATGCTCTTTGT
+>r7545
+CGCGGCGGGATATACCTTAAGCCAGGCGATTACTA
+>r7546
+CGCGATCAGAGATGGAAACTAAGCCAATACGTAAA
+>r7547
+GCAGCTGTAACGTCATTGCCCGCACCATATCCGCG
+>r7548
+TGGCAGTAGATAAACTGGCGGAAGGTATCCGTAAG
+>r7549
+GATTACTCCTGCGAAACATCATCCCACGCGTCTGG
+>r7550
+ACCAGGAATTTGCCCAAATAAAACATGTCCTGCAT
+>r7551
+ACCCCTGCATGAGCCGGGCGACGCCATGAAGACCG
+>r7552
+GAAGCGGGCGTGTTCCTGATCTCGCCGTTTGTTGG
+>r7553
+GTGATGAAGACGAATTACCGGTCAAGGGCATTTCC
+>r7554
+AAACGCCGAGAGGATCTTCGCACTGCGGGTGACAA
+>r7555
+CAACCTGGCCGGCGTTGCGCTGGCAATTACCGCCG
+>r7556
+TGTCTGATAGCAGCTTCTGAACTGGTTACCTGCCG
+>r7557
+TCACACTGGCGGCCGCTCGAGCATGCATCTAGAGG
+>r7558
+GAGCTTTCTTACTTCGGCGCTAAAGTTCTTCACCC
+>r7559
+GATAGCAGCTTCTGAACTGGTTACCTGCCGTGAGT
+>r7560
+GTCGAAAAACTGCTGGCAGTGGGTCATTACCTCGA
+>r7561
+AGGGCCATACGTTGAAACGGCACCGGAAGTGGTTG
+>r7562
+GGGTTCAGCAGATGATATTCTTTCACGAGGCGAAT
+>r7563
+GTGCGGAAAAAACAGCCCCTGATTTTTGCCTAACC
+>r7564
+CATTACCCCCATCGCCCAGTTCCAGATCCCTTGCC
+>r7565
+GCTTTGCTGACGCTTCAGTTGCTCCAGCAGCGCAC
+>r7566
+GCTTATCCAGAAGGCGATGCGGGTGCTAATGGGTT
+>r7567
+GGTCGCGTCCACGATCTGCTGCGCGCGATCGTTGC
+>r7568
+CGACTGGTTGGGTAAGAACTACCTGCAAAATCAGG
+>r7569
+AAGGTTTCCACGTTGTTACGCCGAACAAAAAGGCC
+>r7570
+GTAATGGTGATGGTGGTGGTAATGGTGGTGCTAAT
+>r7571
+TGGTTTCATCATCCACGGCTGCATAACCCAGCTCT
+>r7572
+ATCTGACGCCAGATTTATCACCACATTATCGCCTT
+>r7573
+AAACTGGAAAAAATGATCGGCGATCTGCTGTAATC
+>r7574
+GGCCCTTCCAGCAACTGAATGCAGTACGGTACGCT
+>r7575
+CGCCCTTCCAACTCGCCCATCAAAGCCAGCAAACG
+>r7576
+GTGCTGCCACAGGAACTCGGACTCAGTGATACGCG
+>r7577
+CCGGAGATACGCCCTTCCAACTCGCCCATCAAAGC
+>r7578
+TCTGTCGTGGTCAATAACGATGATGCGACCACTGG
+>r7579
+TGGTTGTGGCATCCTGCGGTTGATACAGCTTCATT
+>r7580
+AGGCGGTTGCGGAAATCGGCGCGGTAGCGAGCGGT
+>r7581
+CAGAACCACCAGCTCGCCTTTTTCATTACCGGCAG
+>r7582
+CCACTGGCGTGCGCGTTACTCATCAGATGCTGTTC
+>r7583
+TGAGCAGATTTTGCAGGTTCTCAATAACCGGTAAT
+>r7584
+TAACTTAGAGATTAGGATTGCGGAGAATAACAACT
+>r7585
+TTTGTAGTCAATGCCGGATAATGCCGGATGGCAAT
+>r7586
+TACCTGTGGTAATGGTGATGGTGGTGGTAATGGTG
+>r7587
+TGATGATGCTGTCGCCTGGGCGAAACAGCAGAGCA
+>r7588
+TCGGGGATTAAGCGGGTTTCCAGTTCAAACGGCGT
+>r7589
+TCGATGATCGCCTGCTCATCGGGGATTAAGCGGGT
+>r7590
+CGGCTTCCAGTGCCAATATGAGCGTCGGGTTTGAT
+>r7591
+TGATAAATCTGGCGTCAGATGAGTATTTTAAATCG
+>r7592
+GATATCATCAGGGCAGACCGGTTACATCCCCCTAA
+>r7593
+CAGTTTTTCCTGGTCAACAGCAAACTTACGGATAC
+>r7594
+CTCGATTTAATGCAGCCTTATCGTCTGGAAATGGG
+>r7595
+GCACTGCTGAAAGAGCTGGCGGAGAGCGAAGGGGC
+>r7596
+CGGGCCGGAGCCGGAGATACCGCTCGCTACCGCGC
+>r7597
+GCGCGGAAACTGACGCCCCCGCAGATTAGCTCCCT
+>r7598
+CGTGGTCGCCCCAATGACCGCCATCCCAGTAATAG
+>r7599
+AGCATGGCGCTTGCCGTGCAGATGACCAGGGTGTC
+>r7600
+GGCTGCGGAAATTACGCTAGTCCCGTCAGTAAAAT
+>r7601
+TCACCAGCATTGAGCAGATTTTGCAGGTTCTCAAT
+>r7602
+TGACCAGGAAAAACTGGAAAAAATGATCGGCGATC
+>r7603
+TCGCCGTCGATGGCAACAGTTTCGATATTGCCGCC
+>r7604
+TGGATAGAGGATAACCACTTTCACATTCGGTAAAC
+>r7605
+GCGTTCGCCTGAACTCCGCTGAAAATTATGCCGTA
+>r7606
+CGGAAGCTTGCGCCCATAACCACGGTTTCATAACC
+>r7607
+CTACCTGGAACTGAAAGAAGGCTTACTGGAGCCGT
+>r7608
+ACCAGCATTGAGCAGATTTTGCAGGTTCTCAATAA
+>r7609
+CAACCTCGGACGCTTTGCCGATAAGCTGCCGTCAG
+>r7610
+ACTGGCGGATGTAGCGAAACTGCACAAATCCGGTA
+>r7611
+TGTTGAAGTTCGGCGGTACATCAGTGGCAAATGCA
+>r7612
+TTCATCATCAAACGCCTGCTTCACCAGCGCCTGAC
+>r7613
+TGACTACATCTCCGAGCAATGCACCATCAACAGGT
+>r7614
+ACCCACGCGCGCTGCAAGACTGGTACACAATGACT
+>r7615
+CGGGGCGGCGGTGACACCTGTTGATGGTGCATTGC
+>r7616
+TTATGCGAAAGCAAGGGTAAATCAGCACGTTCTGC
+>r7617
+GCTGCCGTAGCTTATCGTGCGCTGCGTGACCAGTT
+>r7618
+GAGAAGGGTTGGTTGTGGCATCCTGCGGTTGATAC
+>r7619
+GCGCCACATCCATGCCAGAAAGATCATCTCGCGGG
+>r7620
+TCTACTGCCATTGGATCCTGGTTGTGCTGCCACAG
+>r7621
+CAACACCTCGTCGATGGATTACTACCATCAGTTGC
+>r7622
+GATCGCGCATCCAGCGGCGTTTATCAGGATAAAGG
+>r7623
+ATCTCGCAACAATCGGCGCGTAAACAGGCCGCCAG
+>r7624
+TGCCATAAAGCGACCGCCGAAATCTTTAAATGCCA
+>r7625
+ATCTTCGGCAAGTTAGACGAAGGCATGAGTTTCTC
+>r7626
+CGCAATTGACGCTTCGGTGTCATAGGAAAGACGCG
+>r7627
+CCGTTCTTCTCATCGAGGAACACTGGCTTGATAAT
+>r7628
+TGCTCACCAATGTACATGGCCTTAATCTGGAAAAC
+>r7629
+AGAAAAACGACAGGGAAAAAGGAGAAATTCTCAAT
+>r7630
+GCGCTAAAGTTCTTCACCCCCGCACCATTACCCCC
+>r7631
+GCGTTAAACTCTGCGGGCAGCACAGGTTCAATTTC
+>r7632
+TTAATCCCCGATGAGCAGGCGATCATCGAGCAAAC
+>r7633
+CAGACACTCTTTTTTTAATCCACACAGAGACATAT
+>r7634
+TTTTTCACTTTGAACAGCGGATCATTACCATCCAC
+>r7635
+GTATAGCGCGTGGTGGTCAACGGGCTTTGGTAATC
+>r7636
+GACGCTTCGGTGTCATAGGAAAGACGCGCATCAAC
+>r7637
+ATCAGACCGCGTGCTTTCTTAGCGTAGAAGCTGAT
+>r7638
+TAAGCGCCCGAGATTAAACGGCTCTTTGGCTTGCG
+>r7639
+AAGCGTCAGCAAAGCTGGTTGAAGAATAAACATAT
+>r7640
+CAATCATCTGGACAATTCCTTGCGCTGCCGGATGC
+>r7641
+ATTTTGGCGGGGGCAGAGAGGACGGTGGCCACCTG
+>r7642
+TCCACCAGTTCACACAACGTTTGCTCGATGATCGC
+>r7643
+TACCGAGTGGAAACTTCGGCGATTTGACGGCGGGT
+>r7644
+ATTTATCGGCATGGCGACCTCGTTTGCCGAATGTT
+>r7645
+ACCGTTAGTAATCGCCTGGCTTAAGGTATATCCCG
+>r7646
+ATTGATGAGATGCTGAAGCTGGATTTTGTCACCCG
+>r7647
+CGTAGGCGATGAGCAAAAAGACGGCGAACAGAACG
+>r7648
+ACCACTGAACAGGCGCTGGAGCCTAAGCCCGAACC
+>r7649
+CCGCGCCGCCTGCAGCTTCCTGCCAGCCAAAAGCA
+>r7650
+CGCGGCAAAGAGATCGTCGAGCTGTGACAGATTCG
+>r7651
+GCAAAGACAGCGAGAATAATACCTGTTACCAGCGG
+>r7652
+CCGTCATGATAGTATTTCTCTTTAAACAGCTTGTT
+>r7653
+ACCATCCCTTTCATCCCCGGGCCGGAAACGCTGAA
+>r7654
+AACCTTCAGCGAAGACGATTTCGATTTTGCCCAAC
+>r7655
+GTTATACCGAACCGGACCCGCGAGATGATCTTTCT
+>r7656
+TGATAAGCGTAGCGCATCAGGCAGTTTTGCGTTTG
+>r7657
+CGAAGTAAGAAAGCTCCATCGCTTCCTGATAGGAC
+>r7658
+GTCGCATCATCGTTATTGACCACGACAGAGATTGA
+>r7659
+ATTCTGTTTGCCTTCAGCTCCATCGTTGCCAACTA
+>r7660
+TCCTTTATTAACAGCGTCCTTTGGGGATCGGTAAT
+>r7661
+CGGCAAAAATAAGTTCGGCATCGCTGATATTGGGT
+>r7662
+GCTGGCGTATCCGGGGATTAAAGTCTCGACGGCAG
+>r7663
+CTCATTGGTGCCAGCCGTGATGAAGACGAATTACC
+>r7664
+ATTGAACAGCATCTGATGAGTAACGCGCACGCCAG
+>r7665
+CGCCGCATAACGCAACTGATGGTAGTAATCCATCG
+>r7666
+GTCTGCCCTGATGATATCACAAGGGCGAATTCTGC
+>r7667
+AACGGGCAATGCAGGAAGAGTTCTACCTGGAACTG
+>r7668
+ATTTCTCCTTTTTCCCTGTCGTTTTTCTCCATATT
+>r7669
+CAACATAGCGCAAAACTTTTCCTTCATCACGGGCC
+>r7670
+GCAGGTTCTCAATAACCGGTAATCCAGCCCCAACG
+>r7671
+ACCCATTAGCACCCGCATCGCCTTCTGGATAAGCT
+>r7672
+CGCCGAACTTCAACACTCGCATGGTTGTTACCTCG
+>r7673
+AGGGAACATTCGGCAAACGAGGTCGCCATGCCGAT
+>r7674
+CAGCTCGACGATCTCTTTGCCGCGCGTGTGGCGAA
+>r7675
+GGCATCACGTTCTTTATAAAGCTGTGCGAGGGAAC
+>r7676
+ATTTCTCTTTAAACAGCTTGTTAGGGGGATGTAAC
+>r7677
+CGATCGCGCGCAGCAGATCGTGGACGCGACCGACA
+>r7678
+TTAGACGAAGGCATGAGTTTCTCCGAGGCGACCAC
+>r7679
+TTTACCCAATATCAGCGATGCCGAACTTATTTTTG
+>r7680
+CAGAACAGTTTTTCTTGCAGTGGACTGATTTTGCC
+>r7681
+TACTGACGAAGGGAGGTCAATTTGTCCGTCATGAT
+>r7682
+CTGCGATCCGCGTCAGGTGCCCGATGCGAGGTTGT
+>r7683
+GGTCACGCAGCGCACGATAAGCTACGGCAGCGTGC
+>r7684
+GCTTTGTATCAGTCAAGAATACGGCCAACAAACGG
+>r7685
+CGCTGGGCGGTATCCGGCTTGTCACACAGAGCGAA
+>r7686
+CTCTTTTGGCAGATCCAACGTTTCACCGAGAATCG
+>r7687
+GTTTATGCCCCGGCTTCCAGTGCCAATATGAGCGT
+>r7688
+GGTGTTTATACCTGCGATCCGCGTCAGGTGCCCGA
+>r7689
+ATTTGCACGATTTTGTAGGCCGGATAAGGCGTTCA
+>r7690
+GACTACTCCGCTGCGGTGCTGGCGGCCTGTTTACG
+>r7691
+GTGATGGTGGTGGTAATGGTGGTGCTAATGCGTTT
+>r7692
+TCCAGCAGCGCACCGCCAACGCCACCGACGCCAAT
+>r7693
+GCCTGCATTTTGTACCAACTGCGATCCTTTCGCGT
+>r7694
+CCGGTCTGCCCTGATGATATCACAAGGGCGAATTC
+>r7695
+TGAAGAACTGAAAGTGGCGCTGGGGCTGAATTCTG
+>r7696
+TACTCATCAGATGCTGTTCAATACCGATCAGGTTA
+>r7697
+TGATGGCTGGTTTCACTGCCGGTAATGAAAAAGGC
+>r7698
+CAACTTCAGTTGAGATACGGCCCGGAACCAGTTTC
+>r7699
+GACCGTCTGACCATCGCACCGGCACTGCTGAAAGA
+>r7700
+CCACCAGTTCACACAACGTTTGCTCGATGATCGCC
+>r7701
+AACAATTGGTAACGTTTACACAGGAAAGTCATCGC
+>r7702
+ACAAACTTAACGTTGTTCGTAGCGTTTAAACACCA
+>r7703
+TTGAGCAGATTTTGCAGGTTCTCAATAACCGGTAA
+>r7704
+TGGAAAACTAAATGAAACTCTACAATCTGAAAGAT
+>r7705
+CGGATAACGCAACGGATCAAACACCGGGCGCACGC
+>r7706
+TTTAAATCGGTGAAGCCGAAGAAATTGAATGCCGA
+>r7707
+CCAGCTTTCTCCAGACGCGTGGGATGATGTTTCGC
+>r7708
+GATGGTATGCGCACCTTACGTGGGATCTCGGCGAA
+>r7709
+TTACGAAGTATATAACGCTACGAGGTACTTGGATA
+>r7710
+GAATACCGATAAGAAAGAGTACGCTCCGGCAGAAG
+>r7711
+GCACGACGGTCAGTGGTCACCCAAAGCGACTCAGG
+>r7712
+GCCCGATGCGAGGTTGTTGAAGTCGATGTCCTATC
+>r7713
+GACCGCGAGATGCCAGGCTTTGGTGAACAGATGCG
+>r7714
+TGCCGAATGTTCCCTCGCACAGCTTTATAAAGAAC
+>r7715
+GGGCGCACGCCGAGTTTACGCTGGCGTAGATAATC
+>r7716
+AGCCTGGCAGTAACCGTTCACGGTAGGGTTCAGCG
+>r7717
+GGGGCTGTTTTTTCCGCACGACCTGCCGGAATTCA
+>r7718
+CCAACAACCTGCGCCGAAAAGCAGGTAAATCATTA
+>r7719
+CTTCGCGCAGGAAGTCGGCATATTGATCTGCCACA
+>r7720
+GATTTGTTATTACTTTGAGGCTGTCGCACAGTTGC
+>r7721
+TGCTGAAAGAGCTGGCGGAGAGCGAAGGGGCTATC
+>r7722
+TTATTGCCGGTCGCGATGACTTTCCTGTGTAAACG
+>r7723
+CCCATATTGCGGGCGATAAGCCAGTGACCATTCTG
+>r7724
+TCGCTTTCAACATTGGCGACCGGAGCCGGGAAGGC
+>r7725
+TGGGATGGCGGTCATTGGGGCGACCACGGCTGGTG
+>r7726
+AAAATGCCAATCATCTGGACAATTCCTTGCGCTGC
+>r7727
+TGAATGCCGAGATTATCAAGCCAGTGTTCCTCGAT
+>r7728
+CTGCTGGAGCAACTGAAGCGTCAGCAAAGCTGGTT
+>r7729
+TCGTGGCGGACCGGCATGGTATATGGCGCGCGGGC
+>r7730
+GGATAAGATTGTTAACAACGTGCGCTTTGTTTATG
+>r7731
+GCGATGGTCAGACGGTCGCAGCCTGCCAGTTCCAG
+>r7732
+AATCTGGCAACTGAAAGAGCTGGGTTATGCAGCCG
+>r7733
+AACTGGCAGGCTGCGACCGTCTGACCATCGCACCG
+>r7734
+GCGTCTTTGCAGCGATGTCACGCGCCCGTATTTCC
+>r7735
+CTGGTGTCTGCGGATCTGCACCTTCGCAACGGTCA
+>r7736
+CGCATCAACTTCAGTTGAGATACGGCCCGGAACCA
+>r7737
+TACAGATCTTTCCCTCGGGCATTCTCAAGACGTAT
+>r7738
+CCGGATAAGGCGTTCACGCCGCATCCGGCATAAAC
+>r7739
+AGTCGTTTCATTATTGAAAATCGGCTGACCAAACC
+>r7740
+CATTGTCTGTTGCGTGGTTTCATCATCCACGGCTG
+>r7741
+CGTTTATCAGGATAAAGGCATCCCTGCGCTGGAAG
+>r7742
+CGGAGTTCAGGCGAACGCCGTTGCGCGAGCCCTGA
+>r7743
+CAGTACGGTACGCTGGCAAAAATACCGTGCACCAC
+>r7744
+GGCAAAAACGCTCCCAGCACTGATAAACGATATTT
+>r7745
+AGACAATGCGTGAGTTAAAAGAACTGGGCTATACC
+>r7746
+AGGTCAGCTTTGCGCAAGCCGTAACCCAGGGGTTA
+>r7747
+TCATTGCCCGCACCATATCCGCGCAGTACCAACGG
+>r7748
+ACTGGTGAAGTGAAAGCGCGTCCGGCGCGTATCAC
+>r7749
+GTTCTTACCCAACCAGTCGGCAACGCGCTGGGCGG
+>r7750
+CAGTTCCAGGTAGAACTCTTCCTGCATTGCCCGTT
+>r7751
+ATAGCTTACGCGCCACATCCATGCCAGAAAGATCA
+>r7752
+AGCGTGGAAGCGATTCTCGGTGAAACGTTGGATCT
+>r7753
+TAACGCCGAGGGTGATGTCGCCGCTTTTATGGCGA
+>r7754
+GCCGATTGTTGCGAGATCTGGACGGATGTTGACGG
+>r7755
+TGCATAAAAGCAAACCCGGCCTGATTGAGATAATG
+>r7756
+TCTGGAAAACTGGCAGGAAGAACTGGCGCAAGCCA
+>r7757
+AAACTAAATGAAACTCTACAATCTGAAAGATCACA
+>r7758
+GGAAACCTTCGCGCAGGAAGTCGGCATATTGATCT
+>r7759
+AAAGAGCTGGGTTATGCAGCCGTGGATGATGAAAC
+>r7760
+CCGGCAGCATTCATTACGACAACGTGGCACCGTGT
+>r7761
+ATCGACGGCGATTTCGATGCCTGTCAGGCGCTGGT
+>r7762
+CAGATGGCAACTCATTTCATCCACCAGTTCACACA
+>r7763
+CTGGAGCAACTGAAGCGTCAGCAAAGCTGGTTGAA
+>r7764
+CACATCCAGAAGACGGCTCCAGGTCCACCGGCGGT
+>r7765
+ATGGCAATGTTCAGCGTTTCCGGCCCGGGGATGAA
+>r7766
+GCAACAGACAATGCGTGAGTTAAAAGAACTGGGCT
+>r7767
+GCAATGATAAAAGGAGTAACCTGTGAAAAAGATGC
+>r7768
+TAACATCCATCGCATTGGATAACGTCGCCTGAGTC
+>r7769
+CTGTCGCACAGTTGCCGCAAGAAGCACGTAACCAG
+>r7770
+TTTGCAGGTTCTCAATAACCGGTAATCCAGCCCCA
+>r7771
+TTGTCTGGAATTGTTCCACGGGCCAACGCTGGCAT
+>r7772
+CCAGCTTTCTCCAGACGCGTGGGATGATGTTTCGC
+>r7773
+CTGGAAGGTGTGAAGGACGCTGAGGGTAACGTTGT
+>r7774
+CGACCTGCCGGAATTCAGCCTGACTGAAATTGATG
+>r7775
+AGGCGGGGGGATCAGACTGATGACAAACGCAAAAC
+>r7776
+TGCGCAAGCCGTAACCCAGGGGTTAGGCAAAAATC
+>r7777
+AAACAATCTCTTCTTTTTACGCCTGAACAACCCTA
+>r7778
+CAATGAGCAGGTCAGCTTTGCGCAAGCCGTAACCC
+>r7779
+TTCTACGGTTTACCGAATGTGAAAGTGGTTATCCT
+>r7780
+TCAAATTGGTAATAGCCATGCAGGCCATAATGATA
+>r7781
+TCTTTTTACGCCTGAACAACCCTAAAGCGATCTGG
+>r7782
+ACGGCGGTCCATGTGGGTGCCAGCGATTGCCTCGC
+>r7783
+ATTTTCCCCCGCTGGTAACAGGTATTATTCTCGCT
+>r7784
+TCTTTCCCTCGGGCATTCTCAAGACGTATCCCCAT
+>r7785
+AGTTTGTCGGTCGCGTCCACGATCTGCTGCGCGCG
+>r7786
+TGAGATGCTGAAGCTGGATTTTGTCACCCGCAGTG
+>r7787
+ACAACGATGCAGGTATTAGCAACGATCGTATTCTG
+>r7788
+TAGGAGTCTGACATGGTTAAAGTTTATGCCCCGGC
+>r7789
+ACCGCATTTATTGAGAATTTCTCCTTTTTCCCTGT
+>r7790
+AAGCGGCGACATCACCCTCGGCGTTAAACTCTGCG
+>r7791
+CTGTAACGTCATTGCCCGCACCATATCCGCGCAGT
+>r7792
+CCAGTGTGATGGATATCTGCAGAATTCGCCCTTGT
+>r7793
+TGCTTTCGCAATTGACGCTTCGGTGTCATAGGAAA
+>r7794
+CATTGGGCGGCAATATCGAAACTGTTGCCATCGAC
+>r7795
+AAATACTCATCTGACGCCAGATTTATCACCACATT
+>r7796
+ACTGTGCGACAGCCTCAAAGTAATAACAAATCTGC
+>r7797
+CACCGCGCATCCGGCGAAATTTAAAGAGAGCGTGG
+>r7798
+GAGGTAATGACCCACTGCCAGCAGTTTTTCGACCG
+>r7799
+AGTGTAAGACAGTTTACGTTCGATAGCCCCTTCGC
+>r7800
+AATATGGCGGTCAAATTGGTAATAGCCATGCAGGC
+>r7801
+TATTCGCCTGGATTCAACTGGTCACGCAGCGCACG
+>r7802
+GGGATACGTCTTGAGAATGCCCGAGGGAAAGATCT
+>r7803
+GCTTAAGGTATATCCCGCCGCGCCGCCTGCAGCTT
+>r7804
+TGAACCAACAACCTGCGCCGAAAAGCAGGTAAATC
+>r7805
+GCGACAGCCTCAAAGTAATAACAAATCTGCGCCAG
+>r7806
+TGTCATCAGTCTGATCCCCCCGCCTGGGGGGATTT
+>r7807
+TTTAAACAGTCTCGTTAAGCAGAATGATACACTGC
+>r7808
+CACGCCGAGTTTACGCTGGCGTAGATAATCACTGG
+>r7809
+ACATCCATGCCAGAAAGATCATCTCGCGGGTCCGG
+>r7810
+ATGGTATGAACCACAGGCGAGAGCAGTAATATGGC
+>r7811
+CATGTCCTGCATGGCATCAGTTTGTTGGGGCAGTG
+>r7812
+ACGCTGCGCTGATTTGCCGTGGCGAGAAAATGTCG
+>r7813
+GGATCAGACTGATGACAAACGCAAAACTGCCTGAT
+>r7814
+GCAGAAAACGTTCTGCATTTGCCACTGATGTACCG
+>r7815
+GGTTGATACAGCTTCATTGCCGCGATGTCCCCAGT
+>r7816
+GCATTCTCAAGACGTATCCCCATTTCCAGACGATA
+>r7817
+CTTCTGAACTGGTTACCTGCCGTGAGTAAATTAAA
+>r7818
+ACCTTCCGCCAGTTTATCTACTGCCATTGGATCCT
+>r7819
+AAGGACGCTGAGGGTAACGTTGTGGTGCACGGTAT
+>r7820
+AGCACGCGGTCTGATGAGTCGTTTCATTATTGAAA
+>r7821
+CGCCGGTAAAATAGCCCTGGCTTCTGCCGTCGAGA
+>r7822
+TTCACCCCCGCACCATTACCCCCATCGCCCAGTTC
+>r7823
+GATTTCGATTTTGCCCAACAGCATTTGCGAATGCT
+>r7824
+GGAGATCGGTCGCCAGCTTTCTCCAGACGCGTGGG
+>r7825
+CGCGCGCCATATACCATGCCGGTCCGCCACGAAAC
+>r7826
+TGGCGTAGATAATCACTGGCAATGGTATGAACCAC
+>r7827
+AGCGGAAAACTTAACAAGGTGCCGCCGATGACCGT
+>r7828
+GCGCGTGGTGGTCAACGGGCTTTGGTAATCAAGCG
+>r7829
+AAAAAAGCCGGGCTGCATAAAAGCAAACCCGGCCT
+>r7830
+TAACAACTGCCGTTCTCATCGCGTAATCTCCGGAT
+>r7831
+AAAGCCCGTTGACCACCACGCGCTATACGCTGCCG
+>r7832
+TAATTTCCGCAGCCTGCGCTGCCATGGGAGCGACC
+>r7833
+CGGCGTAACAACGTGGAAACCTTCGCGCAGGAAGT
+>r7834
+TTATCAGGCCTACGATCTTCTTGCAATATATTGAA
+>r7835
+TCAACAACCTCGCATCGGGCACCTGACGCGGATCG
+>r7836
+ATCGACGAGGTGTTGGCCTTTTTGTTCGGCGTAAC
+>r7837
+TTCGCCGTCTTTTTGCTCATCGCCTACGGCATAAT
+>r7838
+TCTTCGATCATCAACTGCATACCACCAAGAAAACA
+>r7839
+CAGGCGCGGCAGGCGGTTGCGGAAATCGGCGCGGT
+>r7840
+GGAGGTCAATTTGTCCGTCATGATAGTATTTCTCT
+>r7841
+TTCCTGGTCAACAGCAAACTTACGGATACCTTCCG
+>r7842
+ATGATCGGCGATCTGCTGTAATCATACTTAGCGTG
+>r7843
+GAGAGAAGGGTTGGTTGTGGCATCCTGCGGTTGAT
+>r7844
+TTGTAGAGTTTGATCAGGCGTTTTGCTTTCGCAAT
+>r7845
+TGCAGCCGTGGATGATGAAACCACGCAACAGACAA
+>r7846
+AATACGTAAAGTATTCATCAAGATTTTTCCGTTTA
+>r7847
+GTAAGAAAGCTCCATCGCTTCCTGATAGGACATCG
+>r7848
+TTTAGTTTTCCAGTACTCGTGCGCCCGCCGTATCC
+>r7849
+TGAGAATTTCTCCTTTTTCCCTGTCGTTTTTCTCC
+>r7850
+ATCTGGAACTGGGCGATGGGGGTAATGGTGCGGGG
+>r7851
+TCATCGCCGCGCCATAACAAGCACAATGATCATCG
+>r7852
+TTACGACAACGTGGCACCGTGTTTTCTTGGTGGTA
+>r7853
+AATGACGTTACAGCTGCCGGTGTCTTTGCTGATCT
+>r7854
+TGAAGATTGCCGAAGTGGATGGTAATGATCCGCTG
+>r7855
+TCGTCGAGCTGTGACAGATTCGCCATAAAAGCGGC
+>r7856
+TATCCGGCTTGTCACACAGAGCGAACAAAGTCGGG
+>r7857
+CGCCACCGACGCCAATCACAAACACTTCGATAACC
+>r7858
+TCGTGCAAATTCAATATATTGCAAGAAGATCGTAG
+>r7859
+ATCAACATCAGTCGCTTGCTGGCGCAGATTTGTTA
+>r7860
+CGCCTGTTTGCGAATCACCCCCACCTGACGCGAAA
+>r7861
+ATTCGCCTCGTGAAAGAATATCATCTGCTGAACCC
+>r7862
+CGAAACATCATCCCACGCGTCTGGAGAAAGCTGGC
+>r7863
+GAGGGAAAGATCTGTATCAATTCTGGGGAGATATC
+>r7864
+TCTCCGGATATCGACCCATAACGGGCAATGATAAA
+>r7865
+TGTGGATTAAAAAAAGAGTGTCTGATAGCAGCTTC
+>r7866
+CAAACGCAAAACTGCCTGATGCGCTACGCTTATCA
+>r7867
+GAACCTGAAAGAATGCCGGAGAACTTCATCAATTC
+>r7868
+CGATCCGCGTCAGGTGCCCGATGCGAGGTTGTTGA
+>r7869
+CGCCAGATTTATCACCACATTATCGCCTTGTGCTG
+>r7870
+ATAAATGCGGCAACCCACATCCAGAAGACGGCTCC
+>r7871
+GTCGATCGCCATTATGGCCGGCGTGTTAGAAGCGC
+>r7872
+GCAAAACTTTTCCTTCATCACGGGCCTTCGCCACA
+>r7873
+ACCGGGCGCACGCCGAGTTTACGCTGGCGTAGATA
+>r7874
+TTGTAGTACTGGTAGATTTCAGATACAGAAACCAC
+>r7875
+GCGCGGCGGGATATACCTTAAGCCAGGCGATTACT
+>r7876
+CGCCCTGGCCTTCTATAGCCACTATTATCAGCCGC
+>r7877
+AATTCTGGCGTTTAAAGGTGATGTCTACACTGGCT
+>r7878
+GGAGCTTTCTTACTTCGGCGCTAAAGTTCTTCACC
+>r7879
+ATATTCTTTCACGAGGCGAATTAAGCGCCCGAGAT
+>r7880
+ATTTTCAATAATGAAACGACTCATCAGACCGCGTG
+>r7881
+GTTGTGCTGCCACAGGAACTCGGACTCAGTGATAC
+>r7882
+ATTACAGAGTACACAACATCCATGAAACGCATTAG
+>r7883
+TGGATCTGCCAAAAGAGCTGGCAGAACGTGCTGAT
+>r7884
+CTGTGACAGATTCGCCATAAAAGCGGCGACATCAC
+>r7885
+TCATCACGGCTGGCACCAATGAGCGTACCTGGTGC
+>r7886
+GTTTATTCTTCAACCAGCTTTGCTGACGCTTCAGT
+>r7887
+TGAAGCTGGATTTTGTCACCCGCAGTGCGAAGATC
+>r7888
+AATCGCCTGGCTTAAGGTATATCCCGCCGCGCCGC
+>r7889
+GCTGGAGCCTAAGCCCGAACCGATCGGCATATTCT
+>r7890
+CAACCTGGCCGGCGTTGCGCTGGCAATTACCGCCG
+>r7891
+GATACGCCCTTCCAACTCGCCCATCAAAGCCAGCA
+>r7892
+CACTGCTCACCAATGTACATGGCCTTAATCTGGAA
+>r7893
+GCTTCTACGCTAAGAAAGCACGCGGTCTGATGAGT
+>r7894
+GCTTTTTTTTCGACCAAAGGTAACGAGGTAACAAC
+>r7895
+CGCGCATCCAGCGGCGTTTATCAGGATAAAGGCAT
+>r7896
+ATCTCGCGGGTCCGGTTCGGTATAACCCATTTCCC
+>r7897
+TACAGAACAGTTTTTCTTGCAGTGGACTGATTTTG
+>r7898
+AACGGCAAATTTAAGATCATCAGCTTCTACGCTAA
+>r7899
+AGTTCAGAAGCTGCTATCAGACACTCTTTTTTTAA
+>r7900
+CTTCGGCAATCTTCACGCGGCAGACGCCATCTTCA
+>r7901
+GCAGAGCAAAGACAGCGAGAATAATACCTGTTACC
+>r7902
+ATAAGAAAGCGAACCTGAAAGAATGCCGGAGAACT
+>r7903
+CCGGGCTGCATAAAAGCAAACCCGGCCTGATTGAG
+>r7904
+TAAACAATTGGTAACGTTTACACAGGAAAGTCATC
+>r7905
+CCGAATGTGAAAGTGGTTATCCTCTATCCACGAGG
+>r7906
+GCGGAGTAGTCGGAACCGTTGCGTCCCAGAACCAC
+>r7907
+ATGACACCGAAGCGTCAATTGCGAAAGCAAAACGC
+>r7908
+TGACATCGGCGCTAACCACGCCGTTTGAACTGGAA
+>r7909
+TGATCTTAAATTTGCCGTTCTTCTCATCGAGGAAC
+>r7910
+GGGTCTGCTGGCGAAGTCACTCGGTCTGCCGGTAA
+>r7911
+CAGATGATATTCTTTCACGAGGCGAATTAAGCGCC
+>r7912
+CTGTATCAATTCTGGGGAGATATCATCACCAACAA
+>r7913
+TCGCTATTAAAACCAGTCAGTTGCTCTGGTTTGGT
+>r7914
+TAAAAATGGCGGGCGATATCAACGCAGCGAATTGG
+>r7915
+GCGCAAAACTTTTCCTTCATCACGGGCCTTCGCCA
+>r7916
+GCGGGCGCAGTACGCCATACAAGCCGGAAAGCATT
+>r7917
+CCCTTTCATCCCCGGGCCGGAAACGCTGAACATTG
+>r7918
+TTGCGCGAGCCCTGAGTTTTTCTTTTGATTTTCCC
+>r7919
+ATTACCACAGGTAACGGTGCGGGCTGACGCGTACA
+>r7920
+TGCAGCTTCCTGCCAGCCAAAAGCACTCTCAAAAA
+>r7921
+CCTGCCAGATGTCGCCCGTGCGCAATGCAATCCTG
+>r7922
+GTTGGTTGTCTCGGTACCGAGTGGAAACTTCGGCG
+>r7923
+TTGCTGAATCCACCCGCCGTATTGCGGCAAGCCGC
+>r7924
+ACATCCATGCCAGAAAGATCATCTCGCGGGTCCGG
+>r7925
+CATTCAGTTGCTGGAAGGGCCATACGTTGAAACGG
+>r7926
+CCATCGACGGCGATTTCGATGCCTGTCAGGCGCTG
+>r7927
+CTAATTGTTAAGCTCCCCCCGCTCGAAGGGATAAG
+>r7928
+ATATTGGGTAAAGCATCCTGACCGCTAATGGTTTT
+>r7929
+AATTGACCTCCCTTCGTCAGTACACCACCGTAGTG
+>r7930
+GTGCCATAAAGCGACCGCCGAAATCTTTAAATGCC
+>r7931
+TGGGGCGACCACGGCTGGTGGAAACAACATTATGA
+>r7932
+AACCTACATGCCGCTGGAAGGTATTCAGCTTATCC
+>r7933
+CAATCGGCGCGTAAACAGGCCGCCAGCACCGCAGC
+>r7934
+CCTGCGCGAAGGTTTCCACGTTGTTACGCCGAACA
+>r7935
+TAGCGTAGAAGCTGATGATCTTAAATTTGCCGTTC
+>r7936
+GCCTCGTGAAAGAATATCATCTGCTGAACCCGGTC
+>r7937
+GATGGCGATAATCTGGGTACTGACCAGCCTGGTGA
+>r7938
+TTCTTTTGATTTTCCCCCGCTGGTAACAGGTATTA
+>r7939
+CGGGCGCACGCCGAGTTTACGCTGGCGTAGATAAT
+>r7940
+GTTTTTCTTTTGATTTTCCCCCGCTGGTAACAGGT
+>r7941
+CTCCGGATAACGCAACGGATCAAACACCGGGCGCA
+>r7942
+GTTATCCTCTATCCACGAGGCAAAATCAGTCCACT
+>r7943
+AGTTGCTCCAGCAGCGCACCGCCAACGCCACCGAC
+>r7944
+AAACGCCTGATCAAACTCTACAACGATGCAGGTAT
+>r7945
+TGAACAGATGCGCCAGATCAGCCTGCATTTTGTAC
+>r7946
+AGCCACTCATCAAACCCTGGCACTTGCTGGCTGAT
+>r7947
+TGCCATGGGAGCGACCAGAACCAGGGAAAGTGCGA
+>r7948
+AAACTTTCGTCGACCAGGAATTTGCCCAAATAAAA
+>r7949
+CTGCCGCTGCCGCGTTTGGCGTCGACCCCATTCCC
+>r7950
+GCCTAACCCCTGGGTTACGGCTTGCGCAAAGCTGA
+>r7951
+GGACAAATTGACCTCCCTTCGTCAGTACACCACCG
+>r7952
+AAGCTGTATCAACCGCAGGATGCCACAACCAACCC
+>r7953
+GGTGCCGAGGAACAAGCCATATTCGCCTGGATTCA
+>r7954
+GAAGGGCCATACGTTGAAACGGCACCGGAAGTGGT
+>r7955
+TGACGGAACGGCTGGCCATTATCTCGGTGGTAGGT
+>r7956
+TTGTCACCCGCAGTGCGAAGATCCTCTCGGCGTTT
+>r7957
+AACGCAGCAAAATCGGCGGGCAGGTTATGCGAAAG
+>r7958
+TTACCTCGAATCTACCGTTGATATTGCTGAATCCA
+>r7959
+GCCGCGCCATAACAAGCACAATGATCATCGTGGCG
+>r7960
+CTAACCACGCCGTTTGAACTGGAAACCCGCTTAAT
+>r7961
+CGGCCACTACGGTGGTGTACTGACGAAGGGAGGTC
+>r7962
+GGGCTATCGAACGTAAACTGTCTTACACTGGTGAA
+>r7963
+TGGCGAGGCAATCGCTGGCACCCACATGGACCGCC
+>r7964
+GCTTGTATGGCGTACTGCGCCCGCTCGATTTAATG
+>r7965
+ATTAGCAACGATCGTATTCTGATCAAACTGGCTTC
+>r7966
+CCTACCACCGAGATAATGGCCAGCCGTTCCGTCAC
+>r7967
+GTGCCTTCGAGTTAGCAACACCGCAGACACGTAAG
+>r7968
+AGTTTGTCGGTCGCGTCCACGATCTGCTGCGCGCG
+>r7969
+ACAATGTTGATATTGGCGCGGGCCAGCGCGGCAAA
+>r7970
+TAGCAGAATTCAGCCCCAGCGCCACTTTCAGTTCT
+>r7971
+CGTTCAGCTCGCACACAGTCGCTTTGCGGAACGCA
+>r7972
+CATCCAGCGCATCCCCAGCCCGCGCGCCATATACC
+>r7973
+ACCAGGATCCAATGGCAGTAGATAAACTGGCGGAA
+>r7974
+GCCGAAGAAATTGAATGCCGAGATTATCAAGCCAG
+>r7975
+CTGGATTTTGTCACCCGCAGTGCGAAGATCCTCTC
+>r7976
+TGTCATAGAGGAATTTACGCCGCGATTTTTCCGCC
+>r7977
+CGACCGCCGAAATCTTTAAATGCCAGCGTTGGCCC
+>r7978
+ACGGACAAATTGACCTCCCTTCGTCAGTACACCAC
+>r7979
+ACGGCAAGCGCCATGCTGATATTACTGGCGGGTAA
+>r7980
+GGATGCCACAACCAACCCTTCTCTCATTCTTAACG
+>r7981
+TTACCACAGGTAACGGTGCGGGCTGACGCGTACAG
+>r7982
+ACTTCAGTTGAGATACGGCCCGGAACCAGTTTCAG
+>r7983
+CGGTCCGCTACTGCCAGCGTCGCATCGGGCGTTAC
+>r7984
+AGTTTCTGCGTTCCGCAAAGCGACTGTGTGCGAGC
+>r7985
+GGGGGTAATGGTGCGGGGGTGAAGAACTTTAGCGC
+>r7986
+GCACCCGCATCGCCTTCTGGATAAGCTGAATACCT
+>r7987
+GCCGATGACCGTTGCGAAGGTGCAGATCCGCAGAC
+>r7988
+TATCAACATTGTCGCCATTGCTCAGGGATCTTCTG
+>r7989
+CTTTCAGCAGTGCCGGTGCGATGGTCAGACGGTCG
+>r7990
+TTGCGTTATCCGGAGATCGGTCGCCAGCTTTCTCC
+>r7991
+ATTCTGGAACTGGCAGGCTGCGACCGTCTGACCAT
+>r7992
+GAATTCCGGCAGGTCGTGCGGAAAAAACAGCCCCT
+>r7993
+ATGCAGCCTTATCGTCTGGAAATGGGGATACGTCT
+>r7994
+AGCAAACCCGGCCTGATTGAGATAATGAATAGATG
+>r7995
+AACTCTGCGGGCAGCACAGGTTCAATTTCAATATC
+>r7996
+CGTCGCCTGAGTCGCTTTGGGTGACCACTGACCGT
+>r7997
+ACGCTCCCAGCACTGATAAACGATATTTTCCCGTG
+>r7998
+AGGTCAGCTTTGCGCAAGCCGTAACCCAGGGGTTA
+>r7999
+ATCGAAATCGTCTTCGCTGAAGGTTTCGGCCTGCA
+>r8000
+TCATCACGGGCCTTCGCCACACGCGCGGCAAAGAG
+>r8001
+TCGCTGTCTTTGCTCTGCTGGCGATCACTCGCGGT
+>r8002
+AACGGGACGTGAACTGGAGCTGGCGGATATTGAAA
+>r8003
+TTAACAATCTTATCCCTTCGAGCGGGGGGAGCTTA
+>r8004
+TCGGTTGACCGGGTAAGTTAAGGATCAGCGCCTGT
+>r8005
+GGATGTCGCGGTCAGAATGGTCACTGGCTTATCGC
+>r8006
+TGTACATTGGGCGGCAATATCGAAACTGTTGCCAT
+>r8007
+TCCGCTGCGGTGCTGGCGGCCTGTTTACGCGCCGA
+>r8008
+CTCTCTTTAAATTTCGCCGGATGCGCGGTGCCGAG
+>r8009
+CTAAAGTCGGCATAAATTTCCTGCAAGGACTGGAT
+>r8010
+ACCGGAGAATGCCCGCCAGGCAATTCTGGCGTTTA
+>r8011
+CGCTGGCAGTAGCGGACCGCGAGATGCCAGGCTTT
+>r8012
+GTAAACCGTAGAAAGCATGAGCCACTGCCGCTCCA
+>r8013
+AACGGGCAATATGTCTCTGTGTGGATTAAAAAAAG
+>r8014
+GAAATCCCGCAGGAAATCCTGGAAGAGCGCGTACG
+>r8015
+AGCGCCGCGACCACTGAACAGGCGCTGGAGCCTAA
+>r8016
+TAATAGACTTCGGTTGACCGGGTAAGTTAAGGATC
+>r8017
+CGGTAATCCAGCCCCAACGTTGGTGTCATAGAGGA
+>r8018
+CCAAATAAAACATGTCCTGCATGGCATCAGTTTGT
+>r8019
+TTTTCTTCATAAAAAAAGCCGGGCTGCATAAAAGC
+>r8020
+CTTTGCTCTGCTGGCGATCACTCGCGGTCTTCATG
+>r8021
+CATTACCATCCACTTCGGCAATCTTCACGCGGCAG
+>r8022
+GTCACGCAGCGCACGATAAGCTACGGCAGCGTGCG
+>r8023
+TCAGGTGGGGGTGATTCGCAAACAGGCGCTGATCC
+>r8024
+GATGGGCGAGTTGGAAGGGCGTATCTCCGGCAGCA
+>r8025
+CTGAAAGAATGCCGGAGAACTTCATCAATTCATCA
+>r8026
+ACATCGACTTCAACAACCTCGCATCGGGCACCTGA
+>r8027
+GCAGTACCAACGGCAGCGGCTGATAATAGTGGCTA
+>r8028
+AATGCTGCCGGAGATACGCCCTTCCAACTCGCCCA
+>r8029
+GCGGTCCGCTACTGCCAGCGTCGCATCGGGCGTTA
+>r8030
+CCACGGTTTCATAACCATGCTCTTTGTAGTACTGG
+>r8031
+CCGGATGCGGCGTGAACGCCTTATCCGGCCTACAA
+>r8032
+CCTTTATCCTGATAAACGCCGCTGGATGCGCGATC
+>r8033
+GTTCCGCCCGTGGTGAGCACCAGATGGCAACTCAT
+>r8034
+CCATTAGCGGTCAGGATGCTTTACCCAATATCAGC
+>r8035
+CGAAACATCATCCCACGCGTCTGGAGAAAGCTGGC
+>r8036
+CCCCCGCTCGAAGGGATAAGATTGTTAACAACGTG
+>r8037
+CATTCTTCCAGCGCAGGGATGCCTTTATCCTGATA
+>r8038
+TCGCATCATCGTTATTGACCACGACAGAGATTGAG
+>r8039
+ATTCACGCCTGCTATTCCCGTCAGCTTGAGCTTGC
+>r8040
+GCGCATCCCCAGCCCGCGCGCCATATACCATGCCG
+>r8041
+CCCTTCCAACTCGCCCATCAAAGCCAGCAAACGAG
+>r8042
+GCAATATGTCTCTGTGTGGATTAAAAAAAGAGTGT
+>r8043
+AGACACTCTTTTTTTAATCCACACAGAGACATATT
+>r8044
+GTTCTGCAGCACGGATACCCTGCCAGGTAGAAGCC
+>r8045
+TTTTGCCAGGAGCTTGGCAAGCAAATTCCAGTGGC
+>r8046
+CCAGTTTCAGGATTTCCAGACCAATATTTACTGCC
+>r8047
+GATTTCCAGACCAATATTTACTGCCAGTTTGTCGG
+>r8048
+CAGCCAGGCGGTTTAACCTCATTTCAGTCATTGTG
+>r8049
+TGGTAATGGTGGTGCTAATGCGTTTCATGGATGTT
+>r8050
+TACCTTCTTTTTCCAGCTGTTCTGCAGCACGGATA
+>r8051
+GCCTCGGAGAAACTCATGCCTTCGTCTAACTTGCC
+>r8052
+TGGTTTCATCATCCACGGCTGCATAACCCAGCTCT
+>r8053
+ATCGTCTGGAAATGGGGATACGTCTTGAGAATGCC
+>r8054
+GACTCTGGAAAAGAATATGCCGATCGGTTCGGGCT
+>r8055
+AGGATCTTCGCACTGCGGGTGACAAAATCCAGCTT
+>r8056
+TTTCCGTGGTGCTGATTACGCAATCATCTTCCGAA
+>r8057
+TCCGAGTTCCTGTGGCAGCACAACCAGGATCCAAT
+>r8058
+ACACCTGTTGATGGTGCATTGCTCGGAGATGTAGT
+>r8059
+GACAGCGAGAATAATACCTGTTACCAGCGGGGGAA
+>r8060
+GCGGTGCCGAGGAACAAGCCATATTCGCCTGGATT
+>r8061
+CAGTTTCTGCGTTCCGCAAAGCGACTGTGTGCGAG
+>r8062
+GATACGTCTTGAGAATGCCCGAGGGAAAGATCTGT
+>r8063
+CTTATCAGGCCTACGATCTTCTTGCAATATATTGA
+>r8064
+GTCAGCCCGCACCGTTACCTGTGGTAATGGTGATG
+>r8065
+CATCCCCCTAACAAGCTGTTTAAAGAGAAATACTA
+>r8066
+ATCCACCAGTTCACACAACGTTTGCTCGATGATCG
+>r8067
+CTTATCCCTTCGAGCGGGGGGAGCTTAACAATTAG
+>r8068
+TCTCATTCTTAACGCAGCGCAGATTCCGGAATACC
+>r8069
+TCGTGGTTATTCTGTTTGCCTTCAGCTCCATCGTT
+>r8070
+GCTCAATCTCTGTCGTGGTCAATAACGATGATGCG
+>r8071
+ACTGAAGCGTCAGCAAAGCTGGTTGAAGAATAAAC
+>r8072
+GAATTGTTCCACGGGCCAACGCTGGCATTTAAAGA
+>r8073
+CCGCGCCGCCTGCAGCTTCCTGCCAGCCAAAAGCA
+>r8074
+AAAAGCGGCGACATCACCCTCGGCGTTAAACTCTG
+>r8075
+TTGCGAGATCTGGACGGATGTTGACGGTGTTTATA
+>r8076
+AAGACGGCGAACAGAACGCCCATCCAGCGCATCCC
+>r8077
+AATGCTGCCGGAGATACGCCCTTCCAACTCGCCCA
+>r8078
+CACGGATACCCTGCCAGGTAGAAGCCAGTTTGATC
+>r8079
+CCACTCATCAAACCCTGGCACTTGCTGGCTGATGA
+>r8080
+GAAATTGAATGCCGAGATTATCAAGCCAGTGTTCC
+>r8081
+GCGTCAGCCCGCACCGTTACCTGTGGTAATGGTGA
+>r8082
+TTTCTCTTTAAACAGCTTGTTAGGGGGATGTAACC
+>r8083
+TTAAGTTTGTAGTCAATGCCGGATAATGCCGGATG
+>r8084
+ATGTCGCCGCTTTTATGGCGAATCTGTCACAGCTC
+>r8085
+AGTCATTGTGTACCAGTCTTGCAGCGCGCGTGGGT
+>r8086
+CCAGTTCAAACGGCGTGGTTAGCGCCGATGTCAGC
+>r8087
+ATGTTATCGCTGAACCCTACCGTGAACGGTTACTG
+>r8088
+ACCGTGACTACATCTCCGAGCAATGCACCATCAAC
+>r8089
+CGAGGTTGTTGAGACTGAATGTCTCTGCCGCCTCA
+>r8090
+CGCGTCTTTGCAGCGATGTCACGCGCCCGTATTTC
+>r8091
+ATCCTGGTTGTGCTGCCACAGGAACTCGGACTCAG
+>r8092
+GTACCAACGGCAGCGGCTGATAATAGTGGCTATAG
+>r8093
+GCGTCTTTCCTATGACACCGAAGCGTCAATTGCGA
+>r8094
+GTAAACAATTGGTAACGTTTACACAGGAAAGTCAT
+>r8095
+AGTGGCTATAGAAGGCCAGGGCGTTTTCGCCATTT
+>r8096
+ATAATCTCGGCATTCAATTTCTTCGGCTTCACCGA
+>r8097
+ATTAGGATTGCGGAGAATAACAACTGCCGTTCTCA
+>r8098
+CATCGGGCGTTACGTCACGACGCGCAGGGCCAGTT
+>r8099
+ACCATTACCACAGGTAACGGTGCGGGCTGACGCGT
+>r8100
+ACCAGTTCACACAACGTTTGCTCGATGATCGCCTG
+>r8101
+CGTCCCGTTTCACGAGCGAGAATCAATAGCTTACG
+>r8102
+TTGCCGACTGGTTGGGTAAGAACTACCTGCAAAAT
+>r8103
+GGGCACCTGACGCGGATCGCAGGTATAAACACCGT
+>r8104
+TCGTTAAGCAGAATGATACACTGCGAAGGGAGTGA
+>r8105
+ATCGCGGCAATGAAGCTGTATCAACCGCAGGATGC
+>r8106
+ATCCACGAGGCAAAATCAGTCCACTGCAAGAAAAA
+>r8107
+GTTTAATCTCGGGCGCTTAATTCGCCTCGTGAAAG
+>r8108
+GCTGTGGCAGATCAATATGCCGACTTCCTGCGCGA
+>r8109
+CGATCCGGTCGAAAAACTGCTGGCAGTGGGTCATT
+>r8110
+CGATAAGCTACGGCAGCGTGCGGCTCCGAGGTATA
+>r8111
+CGGATGCGGCGTGAACGCCTTATCCGGCCTACAAA
+>r8112
+AACTTACGGATACCTTCCGCCAGTTTATCTACTGC
+>r8113
+CCGAAGTTTCCACTCGGTACCGAGACAACCAACTG
+>r8114
+TCCGCCGCATAACGCAACTGATGGTAGTAATCCAT
+>r8115
+CGATCGGCATATTCTTTTCCAGAGTCATCGCCACT
+>r8116
+CTGGCGGAGAGCGAAGGGGCTATCGAACGTAAACT
+>r8117
+CCTTCGCAGTGTATCATTCTGCTTAACGAGACTGT
+>r8118
+CCGACATCGCTTTCAACATTGGCGACCGGAGCCGG
+>r8119
+TTTGTGATTGGCGTCGGTGGCGTTGGCGGTGCGCT
+>r8120
+TCACCAACCATCTGGTAGCGATGATTGAAAAAACC
+>r8121
+TTGTTAACAATCTTATCCCTTCGAGCGGGGGGAGC
+>r8122
+CCCAGGCGGGGGGATCAGACTGATGACAAACGCAA
+>r8123
+ATGGCAACAGTTTCGATATTGCCGCCCAATGTACA
+>r8124
+GATTTACCCTTGCTTTCGCATAACCTGCCCGCCGA
+>r8125
+GCCCTGATGATATCACAAGGGCGAATTCTGCAGAT
+>r8126
+CTTATCGTGCGCTGCGTGACCAGTTGAATCCAGGC
+>r8127
+TCAGCGGAAAACTTAACAAGGTGCCGCCGATGACC
+>r8128
+ACGACTCATCAGACCGCGTGCTTTCTTAGCGTAGA
+>r8129
+ATCGGCGGGCAGGTTATGCGAAAGCAAGGGTAAAT
+>r8130
+TTGCGAAAGCAAAACGCCTGATCAAACTCTACAAC
+>r8131
+ATCGTTGCTCTGCTGTTTCGCCCAGGCGACAGCAT
+>r8132
+AGACCGAAGAGTGCAAGACGCGAAGTTAGCGAATA
+>r8133
+CAATCTTCACGCGGCAGACGCCATCTTCATCAATA
+>r8134
+GGCCAGGTTGCCGCTACCCACGCGCGCTGCAAGAC
+>r8135
+CAAGAAAACACGGTGCCACGTTGTCGTAATGAATG
+>r8136
+ATCTGGACAATTCCTTGCGCTGCCGGATGCGGAGG
+>r8137
+TGATCATTGTGCTTGTTATGGCGCGGCGATGACGG
+>r8138
+GTTGTTGGTTCACTTTTCGTACCGGATTTGTGCAG
+>r8139
+GTCAGGTTACAGTTAATACCTTCTTTTTCCAGCTG
+>r8140
+TTGTCTGTTGCGTGGTTTCATCATCCACGGCTGCA
+>r8141
+GAAATTCTCAATAAATGCGGTAACTTAGAGATTAG
+>r8142
+AACAGGTATTATTCTCGCTGTCTTTGCTCTGCTGG
+>r8143
+TTCGCAAATGCTGTTGGGCAAAATCGAAATCGTCT
+>r8144
+CGTAAAGTATTCATCAAGATTTTTCCGTTTAAACA
+>r8145
+TCGCTGAACCCTACCGTGAACGGTTACTGCCAGGC
+>r8146
+GATCGCCTATCTGTAATTTTACTGACGGGACTAGC
+>r8147
+GATGAATGCTATTTTTAAGACTTTTGCCAAACTGG
+>r8148
+CGTTGTTCGTAGCGTTTAAACACCAGTTCGCCATT
+>r8149
+GGTGACGGAACGGCTGGCCATTATCTCGGTGGTAG
+>r8150
+GATTTTCCCCCGCTGGTAACAGGTATTATTCTCGC
+>r8151
+GAACAATTCCAGACAACCGACATCGCTTTCAACAT
+>r8152
+CGACGAAAGTTTTCAATTGTGCCAGCGGAAATCCC
+>r8153
+TCGCCTGAACTCCGCTGAAAATTATGCCGTAGGCG
+>r8154
+GCGATGATGTTTGTCAGGCCCCGGACGATGATCGC
+>r8155
+ATTGTGATCTTTCAGATTGTAGAGTTTCATTTAGT
+>r8156
+CGCTGCCATGGGAGCGACCAGAACCAGGGAAAGTG
+>r8157
+ATTGAAATTGAACCTGTGCTGCCCGCAGAGTTTAA
+>r8158
+CCGCTGGCACAATTGAAAACTTTCGTCGACCAGGA
+>r8159
+TCTGCGCTGCGTTAAGAATGAGAGAAGGGTTGGTT
+>r8160
+AGCCGAAGAAATTGAATGCCGAGATTATCAAGCCA
+>r8161
+CTGTGCGCTATGCCTATATTGGTTAAAGTATTTAG
+>r8162
+GCGCGGAAACTGACGCCCCCGCAGATTAGCTCCCT
+>r8163
+CACCGGCACTGCTGAAAGAGCTGGCGGAGAGCGAA
+>r8164
+AGCAATATCAACGGTAGATTCGAGGTAATGACCCA
+>r8165
+GTCACGCGCCCGTATTTCCGTGGTGCTGATTACGC
+>r8166
+TGAACGGGCAATGCAGGAAGAGTTCTACCTGGAAC
+>r8167
+CCCGGCTTTTTTTATGAAGAAAATATGGAGAAAAA
+>r8168
+CATCACGTTCTTTATAAAGCTGTGCGAGGGAACAT
+>r8169
+GAATATGCCGATCGGTTCGGGCTTAGGCTCCAGCG
+>r8170
+TTGTCTGTTGCGTGGTTTCATCATCCACGGCTGCA
+>r8171
+CTGTTTGCGAATCACCCCCACCTGACGCGAAAGGA
+>r8172
+GACTGGTTTTAATAGCGAAGGTTACTTCTTTGATG
+>r8173
+GATATTGGCGCGGGCCAGCGCGGCAAAGAATTTCG
+>r8174
+GCCAGCAAACGAGTGTCATTAAGCGGCTTGCCGCA
+>r8175
+CTTTTATGCAGCCCGGCTTTTTTTATGAAGAAAAT
+>r8176
+CTGTTCTGTACATTGGGCGGCAATATCGAAACTGT
+>r8177
+CAAAGACACCGGCAGCTGTAACGTCATTGCCCGCA
+>r8178
+GAAACGACTCATCAGACCGCGTGCTTTCTTAGCGT
+>r8179
+CCTGAGCGAAGGAGAACAGCAGGGTCAGGTTACAG
+>r8180
+CGCGTCCACGATCTGCTGCGCGCGATCGTTGCTCT
+>r8181
+CGGCGCGTAAACAGGCCGCCAGCACCGCAGCGGAG
+>r8182
+TGCATCTAGAGGCCCAATTCGCTGCGTTGATATCG
+>r8183
+CTACGGTGGTGTACTGACGAAGGGAGGTCAATTTG
+>r8184
+ATTCGCCTGGATTCAACTGGTCACGCAGCGCACGA
+>r8185
+TAATACCTGCATCGTTGTAGAGTTTGATCAGGCGT
+>r8186
+TCAACGCAGCGAATTGGGCCTCTAGATGCATGCTC
+>r8187
+CCGGAGAACTTCATCAATTCATCACCAGCATTGAG
+>r8188
+TACAGCAGATCGCCGATCATTTTTTCCAGTTTTTC
+>r8189
+ACTTCACCAGTGTAAGACAGTTTACGTTCGATAGC
+>r8190
+ATAGCGCGTGGTGGTCAACGGGCTTTGGTAATCAA
+>r8191
+GCTAATGCGTTTCATGGATGTTGTGTACTCTGTAA
+>r8192
+TCGTGGCGATCATCGTCCGGGGCCTGACAAACATC
+>r8193
+GGGGAAAATCAAAAGAAAAACTCAGGGCTCGCGCA
+>r8194
+TGCGGCTTGCCGCAATACGGCGGGTGGATTCAGCA
+>r8195
+TTTAAAGATTTCGGCGGTCGCTTTATGGCACAAAT
+>r8196
+GAAAGAATGCCGGAGAACTTCATCAATTCATCACC
+>r8197
+CCGCAGCCTGCGCTGCCATGGGAGCGACCAGAACC
+>r8198
+AACTCTACAATCTGAAAGATCACAATGAGCAGGTC
+>r8199
+GCGAAGGTTTCCACGTTGTTACGCCGAACAAAAAG
+>r8200
+ATCTCGCAACAATCGGCGCGTAAACAGGCCGCCAG
+>r8201
+TTACGTGCTTCTTGCGGCAACTGTGCGACAGCCTC
+>r8202
+TGGCCGGCGTTGCGCTGGCAATTACCGCCGGTGGA
+>r8203
+CTGTAATTTTACTGACGGGACTAGCGTAATTTCCG
+>r8204
+TCATCGCCATCAGCGCCGCGACCACTGAACAGGCG
+>r8205
+GTGATGGTATGCGCACCTTACGTGGGATCTCGGCG
+>r8206
+CTGCCGGTAAAACGTTTTATTGCTGCGACCAACGT
+>r8207
+ACGCGCTATACGCTGCCGGAGCTGTTAGACAACGC
+>r8208
+GTAAACAGGCCGCCAGCACCGCAGCGGAGTAGTCG
+>r8209
+CGGGATTTCATCACCAATAAACGCCGAGAGGATCT
+>r8210
+AAGAATGCCGGAGAACTTCATCAATTCATCACCAG
+>r8211
+GTAAGAACTACCTGCAAAATCAGGAAGGTTTTGTT
+>r8212
+AAAATCGGCTGACCAAACCAGAGCAACTGACTGGT
+>r8213
+TTGCGCGAGCCCTGAGTTTTTCTTTTGATTTTCCC
+>r8214
+AGGCCGGGTTTGCTTTTATGCAGCCCGGCTTTTTT
+>r8215
+ACCTCATGTATGCTACGCAGAAGTTATCCAAGTAC
+>r8216
+TGAAGATGGCGTCTGCCGCGTGAAGATTGCCGAAG
+>r8217
+AAAGTCTTAAAAATAGCATTCATCCACAGCCAGGC
+>r8218
+CGATGATGCGACCACTGGCGTGCGCGTTACTCATC
+>r8219
+CTGCCGGAGATACGCCCTTCCAACTCGCCCATCAA
+>r8220
+ATGCCGGATGCGGCGTGAACGCCTTATCCGGCCTA
+>r8221
+CTGAATACCTTCCAGCGGCATGTAGGTTGTGCCGT
+>r8222
+TTCTCCAGACGCGTGGGATGATGTTTCGCAGGAGT
+>r8223
+ATTCGAGGTAATGACCCACTGCCAGCAGTTTTTCG
+>r8224
+GTTCTTCTCATCGAGGAACACTGGCTTGATAATCT
+>r8225
+CGCTAAATATCAATGCCGGATTGCCATCCGGCATT
+>r8226
+ACAACCAGGATCCAATGGCAGTAGATAAACTGGCG
+>r8227
+TTTATTGAGAATTTCTCCTTTTTCCCTGTCGTTTT
+>r8228
+TGGCAGTGGGTCATTACCTCGAATCTACCGTTGAT
+>r8229
+ACCTGCCCCTGCCTGGCATTGCTTTCCAGAATATC
+>r8230
+AGACCGAGTGACTTCGCCAGCAGACCCGCCGTCAA
+>r8231
+GACCGTCGTGCAGGAAACGTGGTACGGTATCGTTC
+>r8232
+CGCGTCTTGCACTCTTCGGTCTGAATGCTGCAACC
+>r8233
+ACGCGCTGGGCGGTATCCGGCTTGTCACACAGAGC
+>r8234
+GAAACCTCATGTATGCTACGCAGAAGTTATCCAAG
+>r8235
+TGAAAGAGCTGGCGGAGAGCGAAGGGGCTATCGAA
+>r8236
+AAAAAATCTGGCATGCATATCCCTCTTATTGCCGG
+>r8237
+TCAGGAACACGCCCGCTTCCGCACAAGCACGAGCC
+>r8238
+CGCGGCAAAGAATTTCGCCGAGATCCCACGTAAGG
+>r8239
+GCGAATTGGGCCTCTAGATGCATGCTCGAGCGGCC
+>r8240
+ACTCCGCACCCCAGGAACCCATTAGCACCCGCATC
+>r8241
+CATCATCGTTATTGACCACGACAGAGATTGAGCGT
+>r8242
+GGTGCCAGCGATTGCCTCGCCATTCATAATGTTGT
+>r8243
+GCCCATCAAAGCCAGCAAACGAGTGTCATTAAGCG
+>r8244
+CTGCTCACCAATGTACATGGCCTTAATCTGGAAAA
+>r8245
+GAGGTATAGCCCAGTTCTTTTAACTCACGCATTGT
+>r8246
+CACCGCAGCGGAGTAGTCGGAACCGTTGCGTCCCA
+>r8247
+CGAGCTGTGACAGATTCGCCATAAAAGCGGCGACA
+>r8248
+ACGTTACCAATTGTTTACGAAGTATATAACGCTAC
+>r8249
+TAGCTTATCGTGCGCTGCGTGACCAGTTGAATCCA
+>r8250
+CATTATCCGGCATTGACTACAAACTTAACGTTGTT
+>r8251
+AGCTGCTATCAGACACTCTTTTTTTAATCCACACA
+>r8252
+CGGCGGAAAAATCGCGGCGTAAATTCCTCTATGAC
+>r8253
+GAATTGTTCCACGGGCCAACGCTGGCATTTAAAGA
+>r8254
+ATGACCCACTGCCAGCAGTTTTTCGACCGGATCGA
+>r8255
+ACACCGTCAACATCCGTCCAGATCTCGCAACAATC
+>r8256
+AACTGGCGCAAGCCAAAGAGCCGTTTAATCTCGGG
+>r8257
+TGGCGTTTAAAGGTGATGTCTACACTGGCTTGCAG
+>r8258
+AACACCTCGTCGATGGATTACTACCATCAGTTGCG
+>r8259
+TCTGCGGGGGCGTCAGTTTCCGCGCTTCATGGATC
+>r8260
+ATGATCATCGTGGCGATCATCGTCCGGGGCCTGAC
+>r8261
+TCGTTTATCAGTGCTGGGAGCGTTTTTGCCAGGAG
+>r8262
+AAAGCCCGCACTGTCAGGTGCGGGCTTTTTTCTGT
+>r8263
+ATAACATCTTTCATCAGCTTCGCGGCAAGCTCAAG
+>r8264
+GTAAACGTTACCAATTGTTTACGAAGTATATAACG
+>r8265
+GCCGAAAACAATCTCTTCTTTTTACGCCTGAACAA
+>r8266
+TCCACACGCGGCCAGTTGTTTGGCTGGCTAACATC
+>r8267
+CTCCGGCAGCATTCATTACGACAACGTGGCACCGT
+>r8268
+TTTGTCCGTCATGATAGTATTTCTCTTTAAACAGC
+>r8269
+GATTTTGGCGGGGGCAGAGAGGACGGTGGCCACCT
+>r8270
+AAGCTTCCTCCAGCAATGGCGAACTGGTGTTTAAA
+>r8271
+GAGCACATCAAACCCGACGCTCATATTGGCACTGG
+>r8272
+AGCGGCTTGCCGCAGTGTTCATTCATCGCCATCAG
+>r8273
+GCGAGGGAACATTCGGCAAACGAGGTCGCCATGCC
+>r8274
+GATTTGACGGCGGGTCTGCTGGCGAAGTCACTCGG
+>r8275
+CATCGTGGCGATCATCGTCCGGGGCCTGACAAACA
+>r8276
+GCGTGGTTTCATCATCCACGGCTGCATAACCCAGC
+>r8277
+AATCATACTTAGCGTGACCGGGAAGTCGGTCACGC
+>r8278
+AGTGCGGGCTTTTTTTTCGACCAAAGGTAACGAGG
+>r8279
+GATTTATCACCACATTATCGCCTTGTGCTGCGAGC
+>r8280
+CTACCGTGAACGGTTACTGCCAGGCTTCCGGCAGG
+>r8281
+GCATCTAGAGGCCCAATTCGCTGCGTTGATATCGC
+>r8282
+AAATCGGCTGACCAAACCAGAGCAACTGACTGGTT
+>r8283
+TCAGATTGGAAATGCCCTTGACCGGTAATTCGTCT
+>r8284
+CGGCAGCGTGCGGCTCCGAGGTATAGCCCAGTTCT
+>r8285
+CAACAGCAAACTTACGGATACCTTCCGCCAGTTTA
+>r8286
+TAAATCGGTGAAGCCGAAGAAATTGAATGCCGAGA
+>r8287
+ATGTACAGAACAGTTTTTCTTGCAGTGGACTGATT
+>r8288
+CGTCAGCTTGAGCTTGCCGCGAAGCTGATGAAAGA
+>r8289
+TTTTTCAATCATCGCTACCAGATGGTTGGTGATTT
+>r8290
+CCGGACGATGATCGCCACGATGATCATTGTGCTTG
+>r8291
+ATTTGGGCAAATTCCTGGTCGACGAAAGTTTTCAA
+>r8292
+CACTGCCAGCAGTTTTTCGACCGGATCGATAACGG
+>r8293
+GCGGTGACGGAACGGCTGGCCATTATCTCGGTGGT
+>r8294
+GTATTAACTGTAACCTGACCCTGCTGTTCTCCTTC
+>r8295
+CACCAGTTCGCCATTGCTGGAGGAAGCTTCATCAA
+>r8296
+CGTTGTCTAACAGCTCCGGCAGCGTATAGCGCGTG
+>r8297
+GGCTATTACCAATTTGACCGCCATATTACTGCTCT
+>r8298
+GGATCTGGAACTGGGCGATGGGGGTAATGGTGCGG
+>r8299
+GGTGTTGGCCTTTTTGTTCGGCGTAACAACGTGGA
+>r8300
+CCGATTTAAAATACTCATCTGACGCCAGATTTATC
+>r8301
+TTGCCGAAGTGGATGGTAATGATCCGCTGTTCAAA
+>r8302
+CAGTTCGCCATTGCTGGAGGAAGCTTCATCAAAGA
+>r8303
+GTTGTGCCGTTACCCGCCAGTAATATCAGCATGGC
+>r8304
+GTTGGATCTGCCAAAAGAGCTGGCAGAACGTGCTG
+>r8305
+CGTATGGCCCTTCCAGCAACTGAATGCAGTACGGT
+>r8306
+AGGTGTGAAGGACGCTGAGGGTAACGTTGTGGTGC
+>r8307
+CCTGGCACTTGCTGGCTGATGATGTCGTTTTCTTC
+>r8308
+CTTATCCCTTCGAGCGGGGGGAGCTTAACAATTAG
+>r8309
+CAACGGCTCCAGTAAGCCTTCTTTCAGTTCCAGGT
+>r8310
+AATCCAGGCGAATATGGCTTGTTCCTCGGCACCGC
+>r8311
+ATGGGGTCGACGCCAAACGCGGCAGCGGCAGCTGC
+>r8312
+GTTTTCCAATGAGGCGGGAATGGGGTCGACGCCAA
+>r8313
+GCAAACGTTGTGTGAACTGGTGGATGAAATGAGTT
+>r8314
+TTCCGTGGTGCTGATTACGCAATCATCTTCCGAAT
+>r8315
+TTGGCAACGATGGAGCTGAAGGCAAACAGAATAAC
+>r8316
+AGATCCCACGTAAGGTGCGCATACCATCACCTACC
+>r8317
+GGTGACGGAACGGCTGGCCATTATCTCGGTGGTAG
+>r8318
+TTGCCAACATAGCGCAAAACTTTTCCTTCATCACG
+>r8319
+CGAAGGGGCTATCGAACGTAAACTGTCTTACACTG
+>r8320
+CAACACCTCGTCGATGGATTACTACCATCAGTTGC
+>r8321
+CTTATTTTTGCCGAACTTCTGACGGGACTCGCCGC
+>r8322
+TGAAAGAGCTGGCGGAGAGCGAAGGGGCTATCGAA
+>r8323
+AAAACGCCTGATCAAACTCTACAACGATGCAGGTA
+>r8324
+AGAGCTGGCAGAACGTGCTGATTTACCCTTGCTTT
+>r8325
+CCCCTGATTTTTGCCTAACCCCTGGGTTACGGCTT
+>r8326
+ATGCAATCCTGGCGGCGATACTGCGCCGGTAAAAT
+>r8327
+CGTTGATGGCGATAATCTGGGTACTGACCAGCCTG
+>r8328
+ATGTTGATGGAGTTAGCAGAATTCAGCCCCAGCGC
+>r8329
+TTTGGCAGATCCAACGTTTCACCGAGAATCGCTTC
+>r8330
+ATTTTCTCGCCACGGCAAATCAGCGCAGCGTTGAT
+>r8331
+CGTGAAAGAATATCATCTGCTGAACCCGGTCATTG
+>r8332
+GTTCGCCTGAACTCCGCTGAAAATTATGCCGTAGG
+>r8333
+AAGATCATCAGCTTCTACGCTAAGAAAGCACGCGG
+>r8334
+GTGGCATCCTGCGGTTGATACAGCTTCATTGCCGC
+>r8335
+ACGAGTACTGGAAAACTAAATGAAACTCTACAATC
+>r8336
+AGGTGGGGGTGATTCGCAAACAGGCGCTGATCCTT
+>r8337
+TATTTACTGCCAGTTTGTCGGTCGCGTCCACGATC
+>r8338
+ACTTTGAGGCTGTCGCACAGTTGCCGCAAGAAGCA
+>r8339
+ACTACCTGCAAAATCAGGAAGGTTTTGTTCATATT
+>r8340
+CGCAGTGTTCATTCATCGCCATCAGCGCCGCGACC
+>r8341
+GCGTCAGCAAAGCTGGTTGAAGAATAAACATATCG
+>r8342
+ACCACGTTTCCTGCACGACGGTCAGTGGTCACCCA
+>r8343
+CCAAGAAAACACGGTGCCACGTTGTCGTAATGAAT
+>r8344
+GAGATTAAACGGCTCTTTGGCTTGCGCCAGTTCTT
+>r8345
+CGTTGCGCGAGCCCTGAGTTTTTCTTTTGATTTTC
+>r8346
+ATCACCTTTAAACGCCAGAATTGCCTGGCGGGCAT
+>r8347
+ATGGCGACCTCGTTTGCCGAATGTTCCCTCGCACA
+>r8348
+CTGCCGGTGTCTTTGCTGATCTGCTACGTACCCTC
+>r8349
+CGTTGAAACGGCACCGGAAGTGGTTGCAGCATTCA
+>r8350
+AAATCCCGGCTGGGCGGCGGCGAGTCCCGTCAGAA
+>r8351
+GCGCTCTTCCAGGATTTCCTGCGGGATTTCATCAC
+>r8352
+CCCCTGCCTGGCATTGCTTTCCAGAATATCGGCAA
+>r8353
+AACGTTGGATCTGCCAAAAGAGCTGGCAGAACGTG
+>r8354
+GCGGCGATGACGGCGGTCCATGTGGGTGCCAGCGA
+>r8355
+CGCCTTCTGGATAAGCTGAATACCTTCCAGCGGCA
+>r8356
+AATAGCTTACGCGCCACATCCATGCCAGAAAGATC
+>r8357
+GTATTTCCGTGGTGCTGATTACGCAATCATCTTCC
+>r8358
+GAACTTCAACACTCGCATGGTTGTTACCTCGTTAC
+>r8359
+TTCATCACCAGCATTGAGCAGATTTTGCAGGTTCT
+>r8360
+GAAGGTATCCGTAAGTTTGCTGTTGACCAGGAAAA
+>r8361
+GCGACCTCGTTTGCCGAATGTTCCCTCGCACAGCT
+>r8362
+ATTAGGATTGCGGAGAATAACAACTGCCGTTCTCA
+>r8363
+CCAACCATCCCTTTCATCCCCGGGCCGGAAACGCT
+>r8364
+CGCTGCGGTGCTGGCGGCCTGTTTACGCGCCGATT
+>r8365
+TGACTTTCCTGTGTAAACGTTACCAATTGTTTACG
+>r8366
+TATCAACGGTAGATTCGAGGTAATGACCCACTGCC
+>r8367
+TAGAGGCCCAATTCGCTGCGTTGATATCGCCCGCC
+>r8368
+GCGGGGGCAGAGAGGACGGTGGCCACCTGCCCCTG
+>r8369
+TTCTGCCGGAGCGTACTCTTTCTTATCGGTATTCG
+>r8370
+TTACCGATCCCCAAAGGACGCTGTTAATAAAGGAG
+>r8371
+CTGGCAGGAAGCTGCAGGCGGCGCGGCGGGATATA
+>r8372
+ACTGCATACCACCAAGAAAACACGGTGCCACGTTG
+>r8373
+ATTCACGCCTGCTATTCCCGTCAGCTTGAGCTTGC
+>r8374
+AGCGTAGAAGCTGATGATCTTAAATTTGCCGTTCT
+>r8375
+CGTTATGCGGCGGAAAAATCGCGGCGTAAATTCCT
+>r8376
+AACTGAAAGAAGGCTTACTGGAGCCGTTGGCGGTG
+>r8377
+TTCGGCAATCTTCACGCGGCAGACGCCATCTTCAT
+>r8378
+AATTTTCAGCGGAGTTCAGGCGAACGCCGTTGCGC
+>r8379
+CAAAGTCGGGCCGGAGCCGGAGATACCGCTCGCTA
+>r8380
+CAGATTGGAAATGCCCTTGACCGGTAATTCGTCTT
+>r8381
+ACTGCCTGATGCGCTACGCTTATCAGGCCTACGAT
+>r8382
+CAGTTGATGATCGAAGAAAACGACATCATCAGCCA
+>r8383
+AATGGGGATACGTCTTGAGAATGCCCGAGGGAAAG
+>r8384
+CGGGATATACCTTAAGCCAGGCGATTACTAACGGT
+>r8385
+AAGATATAAGAAAGCGAACCTGAAAGAATGCCGGA
+>r8386
+GCCGCTGGATGCGCGATCAGAGATGGAAACTAAGC
+>r8387
+CGCAGAAACTGATACTGTATTCGGAAGATGATTGC
+>r8388
+GTAAAGCATCCTGACCGCTAATGGTTTTTTCAATC
+>r8389
+CATTAAATCGAGCGGGCGCAGTACGCCATACAAGC
+>r8390
+GCAGGTGGCCACCGTCCTCTCTGCCCCCGCCAAAA
+>r8391
+GTTGCGCGAGCCCTGAGTTTTTCTTTTGATTTTCC
+>r8392
+AGGGGCAGGTGGCCACCGTCCTCTCTGCCCCCGCC
+>r8393
+CCGTGATGAAGACGAATTACCGGTCAAGGGCATTT
+>r8394
+AACCAATATAGGCATAGCGCACAGACAGATAAAAA
+>r8395
+GCCCGCCAGGCAATTCTGGCGTTTAAAGGTGATGT
+>r8396
+TGAAAGCGCGTCCGGCGCGTATCACTGAGTCCGAG
+>r8397
+ACGCCAGAATTGCCTGGCGGGCATTCTCCGGTGTG
+>r8398
+TATTGACTTAGGTCACTAAATACTTTAACCAATAT
+>r8399
+AGGGTCAGGTTACAGTTAATACCTTCTTTTTCCAG
+>r8400
+AGATGGCAACTCATTTCATCCACCAGTTCACACAA
+>r8401
+GACGCGCATCAACTTCAGTTGAGATACGGCCCGGA
+>r8402
+CGGATAACGCAACGGATCAAACACCGGGCGCACGC
+>r8403
+TAGGCGATGAGCAAAAAGACGGCGAACAGAACGCC
+>r8404
+CAAAGCGACTCAGGCGACGTTATCCAATGCGATGG
+>r8405
+CCCCACCTGACGCGAAAGGATCGCAGTTGGTACAA
+>r8406
+TGCCTCGTGGATAGAGGATAACCACTTTCACATTC
+>r8407
+AAATCGAGCGGGCGCAGTACGCCATACAAGCCGGA
+>r8408
+GAGCTGAAGGCAAACAGAATAACCACGAGGGTAAC
+>r8409
+GTAGATTTCAGATACAGAAACCACGCCCGGATCTT
+>r8410
+TTATGCAGCCGTGGATGATGAAACCACGCAACAGA
+>r8411
+GGCGGCCTGTTTACGCGCCGATTGTTGCGAGATCT
+>r8412
+TGCAGCTTCCTGCCAGCCAAAAGCACTCTCAAAAA
+>r8413
+CTGCTCAATGCTGGTGATGAATTGATGAAGTTCTC
+>r8414
+AATGATCATCGTGGCGATCATCGTCCGGGGCCTGA
+>r8415
+GCTTTTGGCTGGCAGGAAGCTGCAGGCGGCGCGGC
+>r8416
+TCGACGGCGATTTCGATGCCTGTCAGGCGCTGGTG
+>r8417
+AGTCATGAAAGCGAGCGGCGTTGATACCCGCCAGT
+>r8418
+GCATGCATCTAGAGGCCCAATTCGCTGCGTTGATA
+>r8419
+TATGGCACAAATGCTGACCCATATTGCGGGCGATA
+>r8420
+AGGTGTGAAGGACGCTGAGGGTAACGTTGTGGTGC
+>r8421
+AACAACCATGCGAGTGTTGAAGTTCGGCGGTACAT
+>r8422
+GTTTTTTCAATCATCGCTACCAGATGGTTGGTGAT
+>r8423
+CTGGGCTATACCTCGGAGCCGCACGCTGCCGTAGC
+>r8424
+GCCTTATCCGGCCTACAAAATCGTGCAAATTCAAT
+>r8425
+TGGAAGGGCGTATCTCCGGCAGCATTCATTACGAC
+>r8426
+TTCCGCCGCAAAATCTGGCAACTGAAAGAGCTGGG
+>r8427
+AAAGCGACTCAGGCGACGTTATCCAATGCGATGGA
+>r8428
+GCGGCAACCTGGCCGGCGTTGCGCTGGCAATTACC
+>r8429
+TGTAACCGGTCTGCCCTGATGATATCACAAGGGCG
+>r8430
+TTGCCACATCAGCGGAAAACTTAACAAGGTGCCGC
+>r8431
+TGCCCCAACAAACTGATGCCATGCAGGACATGTTT
+>r8432
+GCGCAGTATCGCCGCCAGGATTGCATTGCGCACGG
+>r8433
+TTGGGCCTCTAGATGCATGCTCGAGCGGCCGCCAG
+>r8434
+ACTCTGGAAAAGAATATGCCGATCGGTTCGGGCTT
+>r8435
+AACTTCAACACTCGCATGGTTGTTACCTCGTTACC
+>r8436
+TCCTGCGCGAAGGTTTCCACGTTGTTACGCCGAAC
+>r8437
+GAGATGGAAACTAAGCCAATACGTAAAGTATTCAT
+>r8438
+TGTGGGTGCTGGCGTATCCGGGGATTAAAGTCTCG
+>r8439
+CATGGTTATGAAACCGTGGTTATGGGCGCAAGCTT
+>r8440
+TTTTCCGCACGACCTGCCGGAATTCAGCCTGACTG
+>r8441
+GCATCGCTGATATTGGGTAAAGCATCCTGACCGCT
+>r8442
+CTTTTATGGCGAATCTGTCACAGCTCGACGATCTC
+>r8443
+GTTTATCAGTGCTGGGAGCGTTTTTGCCAGGAGCT
+>r8444
+GCGCGTAAACAGGCCGCCAGCACCGCAGCGGAGTA
+>r8445
+AGATCAGCCTGCATTTTGTACCAACTGCGATCCTT
+>r8446
+AATCTTCACGCGGCAGACGCCATCTTCATCAATAT
+>r8447
+TTCGCCGGATGCGCGGTGCCGAGGAACAAGCCATA
+>r8448
+ACAGCATTTGCGAATGCTTTCCGGCTTGTATGGCG
+>r8449
+CGGGGGAAAATCAAAAGAAAAACTCAGGGCTCGCG
+>r8450
+GCAATGTTCAGCGTTTCCGGCCCGGGGATGAAAGG
+>r8451
+CCGAAGTTTCCACTCGGTACCGAGACAACCAACTG
+>r8452
+ATGTTAGCCAGCCAAACAACTGGCCGCGTGTGGAA
+>r8453
+CCGGCGAAATTTAAAGAGAGCGTGGAAGCGATTCT
+>r8454
+GACATCGCTTTCAACATTGGCGACCGGAGCCGGGA
+>r8455
+ACCACCATTACCACCACCATCACCATTACCACAGG
+>r8456
+TCTGCTGAACCCGGTCATTGTTGACTGTACTTCCA
+>r8457
+GAAAAATGGCGAAAACGCCCTGGCCTTCTATAGCC
+>r8458
+ACGATCGTATTCTGATCAAACTGGCTTCTACCTGG
+>r8459
+GCATGAGCCGGGCGACGCCATGAAGACCGCGAGTG
+>r8460
+GCCCGAACCGATCGGCATATTCTTTTCCAGAGTCA
+>r8461
+ATAGCAGGCGTGAATGAAGCCTGCCAGATGTCGCC
+>r8462
+CCTCAGCGTCCTTCACACCTTCCAGCGTCTCTTTA
+>r8463
+TGTATGCTACGCAGAAGTTATCCAAGTACCTCGTA
+>r8464
+CCGCGCGCCATATACCATGCCGGTCCGCCACGAAA
+>r8465
+CGATCCGCGTCAGGTGCCCGATGCGAGGTTGTTGA
+>r8466
+AGCTTCCTCCAGCAATGGCGAACTGGTGTTTAAAC
+>r8467
+CGAGGTATAGCCCAGTTCTTTTAACTCACGCATTG
+>r8468
+TTAAGCAGAATGATACACTGCGAAGGGAGTGACAG
+>r8469
+CGGTCTTCATGGCGTCGCCCGGCTCATGCAGGGGT
+>r8470
+CGTCCTTCACACCTTCCAGCGTCTCTTTAATAGAC
+>r8471
+ACCGCGAGTGATCGCCAGCAGAGCAAAGACAGCGA
+>r8472
+ATTGACCTCCCTTCGTCAGTACACCACCGTAGTGG
+>r8473
+GCGTGGTTTCTGTATCTGAAATCTACCAGTACTAC
+>r8474
+CGCAGCGCAGATTCCGGAATACCGTAAGTTGATTG
+>r8475
+CGCTTTTATGGCGAATCTGTCACAGCTCGACGATC
+>r8476
+TTAGCGTGACCGGGAAGTCGGTCACGCTACCTCTT
+>r8477
+CGTGCACCACAACGTTACCCTCAGCGTCCTTCACA
+>r8478
+AAACCATTAGCGGTCAGGATGCTTTACCCAATATC
+>r8479
+CGCTGATTTGCCGTGGCGAGAAAATGTCGATCGCC
+>r8480
+CTAAATATCAATGCCGGATTGCCATCCGGCATTAT
+>r8481
+CAGAGTCATCGCCACTGGAATTTGCTTGCCAAGCT
+>r8482
+ATCAACGGGACAAACCCCTGCATGAGCCGGGCGAC
+>r8483
+TATGGGTCAGCATTTGTGCCATAAAGCGACCGCCG
+>r8484
+AAACTCTACAATCTGAAAGATCACAATGAGCAGGT
+>r8485
+CATCTGACGCCAGATTTATCACCACATTATCGCCT
+>r8486
+GTACTGGTAGATTTCAGATACAGAAACCACGCCCG
+>r8487
+CATCCCTTTCATCCCCGGGCCGGAAACGCTGAACA
+>r8488
+GCTTTCTTAGCGTAGAAGCTGATGATCTTAAATTT
+>r8489
+GGAGCTGTTAGACAACGCCCAGCAGCTGATCCATG
+>r8490
+GCGAGAATCAATAGCTTACGCGCCACATCCATGCC
+>r8491
+GCATGCATCTAGAGGCCCAATTCGCTGCGTTGATA
+>r8492
+TTGCGCGAGCCCTGAGTTTTTCTTTTGATTTTCCC
+>r8493
+TGGCGTAGATAATCACTGGCAATGGTATGAACCAC
+>r8494
+CCAATTGTTTACGAAGTATATAACGCTACGAGGTA
+>r8495
+TGCGAAAGCAAAACGCCTGATCAAACTCTACAACG
+>r8496
+GCCTATCTGTAATTTTACTGACGGGACTAGCGTAA
+>r8497
+ACGCCATGAAGACCGCGAGTGATCGCCAGCAGAGC
+>r8498
+CAGTTCGCCATTGCTGGAGGAAGCTTCATCAAAGA
+>r8499
+CAATATCAACATTGTCGCCATTGCTCAGGGATCTT
+>r8500
+TCACTGAGTCCGAGTTCCTGTGGCAGCACAACCAG
+>r8501
+GCCGATCATTTTTTCCAGTTTTTCCTGGTCAACAG
+>r8502
+TATGCAGTTGATGATCGAAGAAAACGACATCATCA
+>r8503
+TTCCTGATTTTGCAGGTAGTTCTTACCCAACCAGT
+>r8504
+AGCCTAAGCCCGAACCGATCGGCATATTCTTTTCC
+>r8505
+GCGCTAACCACGCCGTTTGAACTGGAAACCCGCTT
+>r8506
+CGTGACATCGCTGCAAAGACGCGCGCCGCCATGCC
+>r8507
+AACAGGCGCTGATCCTTAACTTACCCGGTCAACCG
+>r8508
+CATCCCTTTCATCCCCGGGCCGGAAACGCTGAACA
+>r8509
+CCGGCTTCCAGTGCCAATATGAGCGTCGGGTTTGA
+>r8510
+TTCGCAAATGCTGTTGGGCAAAATCGAAATCGTCT
+>r8511
+CGAGTTCCTGTGGCAGCACAACCAGGATCCAATGG
+>r8512
+GTCACGCTACCTCTTCTGAAACCTGTCTGTCACTC
+>r8513
+GGCCTGCATGGCTATTACCAATTTGACCGCCATAT
+>r8514
+TGCGAAGATCCTCTCGGCGTTTATTGGTGATGAAA
+>r8515
+GGAGCTGAAGGCAAACAGAATAACCACGAGGGTAA
+>r8516
+GGAAGTACAGTCAACAATGACCGGGTTCAGCAGAT
+>r8517
+CTGGCACTTGCTGGCTGATGATGTCGTTTTCTTCG
+>r8518
+ATATCGACCCATAACGGGCAATGATAAAAGGAGTA
+>r8519
+GGACTGATTTTGCCTCGTGGATAGAGGATAACCAC
+>r8520
+CAAGCCGCTTAATGACACTCGTTTGCTGGCTTTGA
+>r8521
+GAAATTTATGCCGACTTTAGCAAAAAAAGAGAATG
+>r8522
+ACCGTGAACGGTTACTGCCAGGCTTCCGGCAGGCG
+>r8523
+GCTTGCCGCAGTGTTCATTCATCGCCATCAGCGCC
+>r8524
+GGTGCGGGGGTGAAGAACTTTAGCGCCGAAGTAAG
+>r8525
+GGTAACAACCATGCGAGTGTTGAAGTTCGGCGGTA
+>r8526
+CTTTGTTTATGCCGGATGCGGCGTGAACGCCTTAT
+>r8527
+TGATTAAAAATACCGGAAATCCCCAAGCACCAGGT
+>r8528
+GCGCCAGTTCTTCCTGCCAGTTTTCCAGATTAAGG
+>r8529
+TGCGTTATCCGGAGATCGGTCGCCAGCTTTCTCCA
+>r8530
+GAAGGCATGAGTTTCTCCGAGGCGACCACACTGGC
+>r8531
+ATGTTACTGATGATTCATCATCAATTTACGCAACG
+>r8532
+CTTTAAACAGCTTGTTAGGGGGATGTAACCGGTCT
+>r8533
+CTTCACCGATTTAAAATACTCATCTGACGCCAGAT
+>r8534
+GCGGTGACGGAACGGCTGGCCATTATCTCGGTGGT
+>r8535
+CTTTCCTGTGTAAACGTTACCAATTGTTTACGAAG
+>r8536
+CGCATCAGGGAGCTAATCTGCGGGGGCGTCAGTTT
+>r8537
+CGGTCACGCTACCTCTTCTGAAACCTGTCTGTCAC
+>r8538
+ATCAGGATAAAGGCATCCCTGCGCTGGAAGAATGG
+>r8539
+GGAATGCGGCTTGCCGCAATACGGCGGGTGGATTC
+>r8540
+CAAGCCGCATTCCGGCTGACCACATGGTGCTGATG
+>r8541
+AATTGATGAGATGCTGAAGCTGGATTTTGTCACCC
+>r8542
+TCCAGAAGGCGATGCGGGTGCTAATGGGTTCCTGG
+>r8543
+CTGGCGGGTATCAACGCCGCTCGCTTTCATGACTG
+>r8544
+AGAATGATACACTGCGAAGGGAGTGACAGACAGGT
+>r8545
+AATACGGCGGGTGGATTCAGCAATATCAACGGTAG
+>r8546
+AAGCGATTCTCGGTGAAACGTTGGATCTGCCAAAA
+>r8547
+ATTGAAAATCGGCTGACCAAACCAGAGCAACTGAC
+>r8548
+GAGGACGGTGGCCACCTGCCCCTGCCTGGCATTGC
+>r8549
+AAGTGGATGGTAATGATCCGCTGTTCAAAGTGAAA
+>r8550
+TGGACTGATTTTGCCTCGTGGATAGAGGATAACCA
+>r8551
+GGCAGAGACATTCAGTCTCAACAACCTCGGACGCT
+>r8552
+GGCTGAATTCCGGCAGGTCGTGCGGAAAAAACAGC
+>r8553
+ATCCGGAGATCGGTCGCCAGCTTTCTCCAGACGCG
+>r8554
+GACATGTTTTATTTGGGCAAATTCCTGGTCGACGA
+>r8555
+GTCAGCTTGAGCTTGCCGCGAAGCTGATGAAAGAT
+>r8556
+TCGTGCGCTGCGTGACCAGTTGAATCCAGGCGAAT
+>r8557
+CAGCAAAATCGGCGGGCAGGTTATGCGAAAGCAAG
+>r8558
+TACAAAGCGAATACCGATAAGAAAGAGTACGCTCC
+>r8559
+GATCTGGTGTCTGCGGATCTGCACCTTCGCAACGG
+>r8560
+TTACTCCTGCGAAACATCATCCCACGCGTCTGGAG
+>r8561
+AGCTTCCTCCAGCAATGGCGAACTGGTGTTTAAAC
+>r8562
+CTGGCAAAAATACCGTGCACCACAACGTTACCCTC
+>r8563
+ATCCGGGCACTGCCCCAACAAACTGATGCCATGCA
+>r8564
+GTGCTTGTTATGGCGCGGCGATGACGGCGGTCCAT
+>r8565
+GCATAACCCAGCTCTTTCAGTTGCCAGATTTTGCG
+>r8566
+GGTCACTAAATACTTTAACCAATATAGGCATAGCG
+>r8567
+GATCAACTCATTCTCTTTTTTTGCTAAAGTCGGCA
+>r8568
+CGGCTTGTATGGCGTACTGCGCCCGCTCGATTTAA
+>r8569
+CAATGAGGCGGGAATGGGGTCGACGCCAAACGCGG
+>r8570
+GCTATGCCTATATTGGTTAAAGTATTTAGTGACCT
+>r8571
+ACGTCATTTGGTCTATTTTTGAGAGTGCTTTTGGC
+>r8572
+CGCTAATGGTTTTTTCAATCATCGCTACCAGATGG
+>r8573
+GGAGATGTAGTCACGGTTGAGGCGGCAGAGACATT
+>r8574
+GCGAATCACCCCCACCTGACGCGAAAGGATCGCAG
+>r8575
+TCAACGTATGGCCCTTCCAGCAACTGAATGCAGTA
+>r8576
+CGCACGGGCGACATCTGGCAGGCTTCATTCACGCC
+>r8577
+ATTTTGCAGGTAGTTCTTACCCAACCAGTCGGCAA
+>r8578
+CAGCGCAGGGATGCCTTTATCCTGATAAACGCCGC
+>r8579
+ACCGGTTATTGAGAACCTGCAAAATCTGCTCAATG
+>r8580
+TCTTCTGGATGTGGGTTGCCGCATTTATCGGCATG
+>r8581
+AGCATCAACGCTGCGCTGATTTGCCGTGGCGAGAA
+>r8582
+ATTACCTCGAATCTACCGTTGATATTGCTGAATCC
+>r8583
+CATTTTTATACGAAACCTCATGTATGCTACGCAGA
+>r8584
+TTTGCACGATTTTGTAGGCCGGATAAGGCGTTCAC
+>r8585
+GCGGCGACATCACCCTCGGCGTTAAACTCTGCGGG
+>r8586
+TTCGGCGATTTGACGGCGGGTCTGCTGGCGAAGTC
+>r8587
+CTACCCACGCGCGCTGCAAGACTGGTACACAATGA
+>r8588
+CTGGCGGCCGCTCGAGCATGCATCTAGAGGCCCAA
+>r8589
+GATACGCCCTTCCAACTCGCCCATCAAAGCCAGCA
+>r8590
+TCCCACGCGTCTGGAGAAAGCTGGCGACCGATCTC
+>r8591
+CGATCTTCTTGCAATATATTGAATTTGCACGATTT
+>r8592
+CGTTTTACCGGCAGACCGAGTGACTTCGCCAGCAG
+>r8593
+CAGTTCGCCATTGCTGGAGGAAGCTTCATCAAAGA
+>r8594
+GATACTGGAGCGGCAGTGGCTCATGCTTTCTACGG
+>r8595
+CGCCTGGATTCAACTGGTCACGCAGCGCACGATAA
+>r8596
+AACATCCGTCCAGATCTCGCAACAATCGGCGCGTA
+>r8597
+CGTTGTTACGCCGAACAAAAAGGCCAACACCTCGT
+>r8598
+GAAGGGGCTATCGAACGTAAACTGTCTTACACTGG
+>r8599
+TAACCTCATTTCAGTCATTGTGTACCAGTCTTGCA
+>r8600
+TGTTCCACGGGCCAACGCTGGCATTTAAAGATTTC
+>r8601
+ACCACCGAGATAATGGCCAGCCGTTCCGTCACCGC
+>r8602
+AGTTCACGTCCCGTTTCACGAGCGAGAATCAATAG
+>r8603
+ACTGGCGGGTATCAACGCCGCTCGCTTTCATGACT
+>r8604
+AAAGCATTCGCAAATGCTGTTGGGCAAAATCGAAA
+>r8605
+TCATCAAACGCCTGCTTCACCAGCGCCTGACAGGC
+>r8606
+TGAGAACCTGCAAAATCTGCTCAATGCTGGTGATG
+>r8607
+CAAACCCGGCCTGATTGAGATAATGAATAGATGTT
+>r8608
+TCTGGAATTGTTCCACGGGCCAACGCTGGCATTTA
+>r8609
+GCGGCAAGCCGCTTAATGACACTCGTTTGCTGGCT
+>r8610
+TGAGTTAAAAGAACTGGGCTATACCTCGGAGCCGC
+>r8611
+GCCAACATAGCGCAAAACTTTTCCTTCATCACGGG
+>r8612
+CCCCCCGCCTGGGGGGATTTTTTTATTCGCTAACT
+>r8613
+GCAACTGGCAGATATCATTATGGCCTGCATGGCTA
+>r8614
+GTTCCGACTACTCCGCTGCGGTGCTGGCGGCCTGT
+>r8615
+ATGGTGGTGCTAATGCGTTTCATGGATGTTGTGTA
+>r8616
+GGCGATTACTAACGGTTTTCAGCGCAGTATGTTTT
+>r8617
+GCAAAACTGCCTGATGCGCTACGCTTATCAGGCCT
+>r8618
+GGCAGGCGCGGCAGGCGGTTGCGGAAATCGGCGCG
+>r8619
+GCGCATCAGCGACAAACTGGCGGGTATCAACGCCG
+>r8620
+CGCTAGTCCCGTCAGTAAAATTACAGATAGGCGAT
+>r8621
+GCATTGTCTGTTGCGTGGTTTCATCATCCACGGCT
+>r8622
+AATCAAAAGAAAAACTCAGGGCTCGCGCAACGGCG
+>r8623
+CGCCATGCTGATATTACTGGCGGGTAACGGCACAA
+>r8624
+ACATCAGTGGCAAATGCAGAACGTTTTCTGCGGGT
+>r8625
+CAATGCTGGTGATGAATTGATGAAGTTCTCCGGCA
+>r8626
+CGCCACTTTCAGTTCTTCATCATCAAACGCCTGCT
+>r8627
+AGTCGGGCCGGAGCCGGAGATACCGCTCGCTACCG
+>r8628
+TTAATCCCCGATGAGCAGGCGATCATCGAGCAAAC
+>r8629
+GGCCCCGGACGATGATCGCCACGATGATCATTGTG
+>r8630
+GCGCGTGGTCACAACGTTACCGTTATCGATCCGGT
+>r8631
+CTGCGTTGATATCGCCCGCCATTTTTATACGAAAC
+>r8632
+AGAAGCTGCTATCAGACACTCTTTTTTTAATCCAC
+>r8633
+TCCGGCCCGACTTTGTTCGCTCTGTGTGACAAGCC
+>r8634
+GAAAAAACAGCCCCTGATTTTTGCCTAACCCCTGG
+>r8635
+TTCACCGATTTAAAATACTCATCTGACGCCAGATT
+>r8636
+AGACATTCAGTCTCAACAACCTCGGACGCTTTGCC
+>r8637
+CATCGGCGCTAACCACGCCGTTTGAACTGGAAACC
+>r8638
+AGAAAAAAGCCCGCACCTGACAGTGCGGGCTTTTT
+>r8639
+CCATTTTTATACGAAACCTCATGTATGCTACGCAG
+>r8640
+GGAAAAGTTTTGCGCTATGTTGGCAATATTGATGA
+>r8641
+CACCGAAGCGTCAATTGCGAAAGCAAAACGCCTGA
+>r8642
+CAAGGGCATTTCCAATCTGAATAACATGGCAATGT
+>r8643
+TGCAAAATCAGGAAGGTTTTGTTCATATTTGCCGG
+>r8644
+CCGGCGAAATTTAAAGAGAGCGTGGAAGCGATTCT
+>r8645
+GGATAAGATTGTTAACAACGTGCGCTTTGTTTATG
+>r8646
+ATCCAGCTTCAGCATCTCATCAATTTCAGTCAGGC
+>r8647
+GGCAGCCAAATTTCACACCGGAGAATGCCCGCCAG
+>r8648
+CAGCTTCTACGCTAAGAAAGCACGCGGTCTGATGA
+>r8649
+ATGGATGTTGTGTACTCTGTAATTTTTATCTGTCT
+>r8650
+GGGGCTGGATTACCGGTTATTGAGAACCTGCAAAA
+>r8651
+GAAAGGGATGGTTGGCATGGCGGCGCGCGTCTTTG
+>r8652
+GGCGGCGGTGACACCTGTTGATGGTGCATTGCTCG
+>r8653
+ATCACAAGGGCGAATTCTGCAGATATCCATCACAC
+>r8654
+AAGCCGCTTAATGACACTCGTTTGCTGGCTTTGAT
+>r8655
+GGCGACCGATCTCCGGATAACGCAACGGATCAAAC
+>r8656
+ACCGTCTGACCATCGCACCGGCACTGCTGAAAGAG
+>r8657
+CGCTTTCACTTCACCAGTGTAAGACAGTTTACGTT
+>r8658
+GAGACGCTGGAAGGTGTGAAGGACGCTGAGGGTAA
+>r8659
+CGTGAATGAAGCCTGCCAGATGTCGCCCGTGCGCA
+>r8660
+TTACCGTTATCGATCCGGTCGAAAAACTGCTGGCA
+>r8661
+TCATTCTGCTTAACGAGACTGTTTAAACGGAAAAA
+>r8662
+CCGGTCAAGGGCATTTCCAATCTGAATAACATGGC
+>r8663
+CAGGTACGCTCATTGGTGCCAGCCGTGATGAAGAC
+>r8664
+ATTTGTGCCATAAAGCGACCGCCGAAATCTTTAAA
+>r8665
+TTTTCCGTTTAAACAGTCTCGTTAAGCAGAATGAT
+>r8666
+ATTTGCCGGCTGGATACGGCGGGCGCACGAGTACT
+>r8667
+CCGTGGAACAATTCCAGACAACCGACATCGCTTTC
+>r8668
+CGCCGAAGTAAGAAAGCTCCATCGCTTCCTGATAG
+>r8669
+GCGAAGACGATTTCGATTTTGCCCAACAGCATTTG
+>r8670
+GCGACAGCCTCAAAGTAATAACAAATCTGCGCCAG
+>r8671
+CCCGTTGACCACCACGCGCTATACGCTGCCGGAGC
+>r8672
+GCAGGTCAGCTTTGCGCAAGCCGTAACCCAGGGGT
+>r8673
+GGCTTGCAGGCCGAAACCTTCAGCGAAGACGATTT
+>r8674
+CAGCTTATCCAGAAGGCGATGCGGGTGCTAATGGG
+>r8675
+GGTGTCGATAAAAATGCCAATCATCTGGACAATTC
+>r8676
+TCGTCCGGGGCCTGACAAACATCATCGCTAAATAT
+>r8677
+AGTTAATACCTTCTTTTTCCAGCTGTTCTGCAGCA
+>r8678
+GGTCAGAATGGTCACTGGCTTATCGCCCGCAATAT
+>r8679
+ATGTTTCGCAGGAGTAATCACAACTATCGATCAAC
+>r8680
+ACGAAACTGCCCATTGGCATCACGTTCTTTATAAA
+>r8681
+GCCAGGCGATTACTAACGGTTTTCAGCGCAGTATG
+>r8682
+CGTGAAACGGGACGTGAACTGGAGCTGGCGGATAT
+>r8683
+GCCCGCAATATGGGTCAGCATTTGTGCCATAAAGC
+>r8684
+GGCATTCAATTTCTTCGGCTTCACCGATTTAAAAT
+>r8685
+CAATGCCAGGCAGGGGCAGGTGGCCACCGTCCTCT
+>r8686
+CACAGGAACTCGGACTCAGTGATACGCGCCGGACG
+>r8687
+TCCGGTGTGAAATTTGGCTGCCAGTCATGAAAGCG
+>r8688
+CGTCGCCTGAGTCGCTTTGGGTGACCACTGACCGT
+>r8689
+TTCCAGAATTTCGCCGATGTTACGGAAGCTTGCGC
+>r8690
+GGGCTGAATTCTGCTAACTCCATCAACATCAGTCG
+>r8691
+CAGATGCTGTTCAATACCGATCAGGTTATCGAAGT
+>r8692
+TGCGACCAACGTGAACGATACCGTACCACGTTTCC
+>r8693
+GACGCTTTGCCGATAAGCTGCCGTCAGAGCCACGG
+>r8694
+ATCAACTCATTCTCTTTTTTTGCTAAAGTCGGCAT
+>r8695
+ATCTGTTCACCAAAGCCTGGCATCTCGCGGTCCGC
+>r8696
+ATGGCAATGTTCAGCGTTTCCGGCCCGGGGATGAA
+>r8697
+CAAACTGGCGGATGTAGCGAAACTGCACAAATCCG
+>r8698
+AGCGGAAAACTTAACAAGGTGCCGCCGATGACCGT
+>r8699
+ATTCAATATATTGCAAGAAGATCGTAGGCCTGATA
+>r8700
+GCATTGGATAACGTCGCCTGAGTCGCTTTGGGTGA
+>r8701
+AGTTCCTGTGGCAGCACAACCAGGATCCAATGGCA
+>r8702
+CTGTGGGTGCTGGCGTATCCGGGGATTAAAGTCTC
+>r8703
+CACTGAGTCCGAGTTCCTGTGGCAGCACAACCAGG
+>r8704
+TTTTCATTCTGACTGCAACGGGCAATATGTCTCTG
+>r8705
+GCTGTGGCAGATCAATATGCCGACTTCCTGCGCGA
+>r8706
+TGAAGCGCGGAAACTGACGCCCCCGCAGATTAGCT
+>r8707
+AATCCCGGCTGGGCGGCGGCGAGTCCCGTCAGAAG
+>r8708
+GTAACAACCATGCGAGTGTTGAAGTTCGGCGGTAC
+>r8709
+CGATTTTTCCGCCGCATAACGCAACTGATGGTAGT
+>r8710
+CTACGAACAACGTTAAGTTTGTAGTCAATGCCGGA
+>r8711
+GAAGAAAACGACATCATCAGCCAGCAAGTGCCAGG
+>r8712
+GTCATTACCTCGAATCTACCGTTGATATTGCTGAA
+>r8713
+TACCACCAAGAAAACACGGTGCCACGTTGTCGTAA
+>r8714
+TGATGTTTGTCAGGCCCCGGACGATGATCGCCACG
+>r8715
+CCGGCCTACAAAATCGTGCAAATTCAATATATTGC
+>r8716
+TTCAACGTATGGCCCTTCCAGCAACTGAATGCAGT
+>r8717
+CTAATTGTTAAGCTCCCCCCGCTCGAAGGGATAAG
+>r8718
+ATCTGGTGTCTGCGGATCTGCACCTTCGCAACGGT
+>r8719
+GACGCCATGAAGACCGCGAGTGATCGCCAGCAGAG
+>r8720
+TATGCCGATCGGTTCGGGCTTAGGCTCCAGCGCCT
+>r8721
+ACTAAATGAAACTCTACAATCTGAAAGATCACAAT
+>r8722
+GAAACCCGCTTAATCCCCGATGAGCAGGCGATCAT
+>r8723
+TCACAACTATCGATCAACTCATTCTCTTTTTTTGC
+>r8724
+GTGATACTGGAGCGGCAGTGGCTCATGCTTTCTAC
+>r8725
+GCGGATATGGTGCGGGCAATGACGTTACAGCTGCC
+>r8726
+TGGGATGATGTTTCGCAGGAGTAATCACAACTATC
+>r8727
+GTGCATTGCTCGGAGATGTAGTCACGGTTGAGGCG
+>r8728
+TGCTGGCGTATCCGGGGATTAAAGTCTCGACGGCA
+>r8729
+ATGTTGACGGTGTTTATACCTGCGATCCGCGTCAG
+>r8730
+AATGCCGGATGGCAATCCGGCATTGATATTTAGCG
+>r8731
+ACAGTTTACGTTCGATAGCCCCTTCGCTCTCCGCC
+>r8732
+CGCAGAGTTTAACGCCGAGGGTGATGTCGCCGCTT
+>r8733
+GAGTCGCTTTGGGTGACCACTGACCGTCGTGCAGG
+>r8734
+AATATCAGCGATGCCGAACTTATTTTTGCCGAACT
+>r8735
+CTTGTTCCTCGGCACCGCGCATCCGGCGAAATTTA
+>r8736
+GCAAAAATCAGGGGCTGTTTTTTCCGCACGACCTG
+>r8737
+TGGATGCGCGATCAGAGATGGAAACTAAGCCAATA
+>r8738
+GAGATGGAAACTAAGCCAATACGTAAAGTATTCAT
+>r8739
+GTCTGTCACTCCCTTCGCAGTGTATCATTCTGCTT
+>r8740
+TCGCTACCAGATGGTTGGTGATTTTGGCGGGGGCA
+>r8741
+TGGTGAGCACCAGATGGCAACTCATTTCATCCACC
+>r8742
+TGTGAAAGTGGTTATCCTCTATCCACGAGGCAAAA
+>r8743
+GTTGGTGATTTTGGCGGGGGCAGAGAGGACGGTGG
+>r8744
+AGTCGATGTCCTATCAGGAAGCGATGGAGCTTTCT
+>r8745
+GGCTGATAATAGTGGCTATAGAAGGCCAGGGCGTT
+>r8746
+ATACCGATAAGAAAGAGTACGCTCCGGCAGAAGAT
+>r8747
+ACCACCGTAGTGGCCGACACTGGGGACATCGCGGC
+>r8748
+CGCATCTGTTCACCAAAGCCTGGCATCTCGCGGTC
+>r8749
+GATCGCCTGCTCATCGGGGATTAAGCGGGTTTCCA
+>r8750
+GATTTTGCAGGTAGTTCTTACCCAACCAGTCGGCA
+>r8751
+CGACTTTGTTCGCTCTGTGTGACAAGCCGGATACC
+>r8752
+TGCCGGTGTCTTTGCTGATCTGCTACGTACCCTCC
+>r8753
+TGCAGATGACCAGGGTGTCGATAAAAATGCCAATC
+>r8754
+CGATGGGGGTAATGGTGCGGGGGTGAAGAACTTTA
+>r8755
+CATCGTTATTGACCACGACAGAGATTGAGCGTTCA
+>r8756
+CCAGGAATTTGCCCAAATAAAACATGTCCTGCATG
+>r8757
+CGCAGCGCACGATAAGCTACGGCAGCGTGCGGCTC
+>r8758
+CGCAGTACGCCATACAAGCCGGAAAGCATTCGCAA
+>r8759
+ATGAATCATCAGTAACATCTATTCATTATCTCAAT
+>r8760
+GATGGCAACTCATTTCATCCACCAGTTCACACAAC
+>r8761
+TATGCCGACTTTAGCAAAAAAAGAGAATGAGTTGA
+>r8762
+GAGGCGAATTAAGCGCCCGAGATTAAACGGCTCTT
+>r8763
+GATATTCTTTCACGAGGCGAATTAAGCGCCCGAGA
+>r8764
+CTTATCCCTTCGAGCGGGGGGAGCTTAACAATTAG
+>r8765
+CAGTATCAGTTTCTGCGTTCCGCAAAGCGACTGTG
+>r8766
+TGAAGCGTCAGCAAAGCTGGTTGAAGAATAAACAT
+>r8767
+CGCGCGGGCTGGGGATGCGCTGGATGGGCGTTCTG
+>r8768
+TGAATACCTTCCAGCGGCATGTAGGTTGTGCCGTT
+>r8769
+AGACTGTTTAAACGGAAAAATCTTGATGAATACTT
+>r8770
+CTGGCATCTCGCGGTCCGCTACTGCCAGCGTCGCA
+>r8771
+CTGTATCAATTCTGGGGAGATATCATCACCAACAA
+>r8772
+ACCAACGTGAACGATACCGTACCACGTTTCCTGCA
+>r8773
+GTTGCGCTGGCAATTACCGCCGGTGGACCTGGAGC
+>r8774
+CTGACCCTGCTGTTCTCCTTCGCTCAGGCTCGTGC
+>r8775
+TAACAACCATGCGAGTGTTGAAGTTCGGCGGTACA
+>r8776
+GGCCATAATGATATCTGCCAGTTGCCACATCAGCG
+>r8777
+AAACGGGACGTGAACTGGAGCTGGCGGATATTGAA
+>r8778
+TAATTGCCAGCGCAACGCCGGCCAGGTTGCCGCTA
+>r8779
+GCCCGTTGACCACCACGCGCTATACGCTGCCGGAG
+>r8780
+CGATCGTTGCTCTGCTGTTTCGCCCAGGCGACAGC
+>r8781
+GCAGGAAATCCTGGAAGAGCGCGTACGTGCGGCGT
+>r8782
+GTTGTTTCCACCAGCCGTGGTCGCCCCAATGACCG
+>r8783
+CCGCTGCGGTGCTGGCGGCCTGTTTACGCGCCGAT
+>r8784
+GAGTTAAAAGAACTGGGCTATACCTCGGAGCCGCA
+>r8785
+CACCATTACCACCACCATCACCATTACCACAGGTA
+>r8786
+TGTTACCAGCGGGGGAAAATCAAAAGAAAAACTCA
+>r8787
+AGCTGCCGCTGCCGCGTTTGGCGTCGACCCCATTC
+>r8788
+GGCGCATCTGTTCACCAAAGCCTGGCATCTCGCGG
+>r8789
+CTAATCTCTAAGTTACCGCATTTATTGAGAATTTC
+>r8790
+GATATTCATTACGCAAATCACCAGGCTGGTCAGTA
+>r8791
+GCTTGCAGGCCGAAACCTTCAGCGAAGACGATTTC
+>r8792
+GTTTGATCAGAATACGATCGTTGCTAATACCTGCA
+>r8793
+TCCGGTTCGGTATAACCCATTTCCCGCGCCAGTGT
+>r8794
+CGATGATGTTTGTCAGGCCCCGGACGATGATCGCC
+>r8795
+TGTTTCGCAGGAGTAATCACAACTATCGATCAACT
+>r8796
+AAGTGGATGGTAATGATCCGCTGTTCAAAGTGAAA
+>r8797
+AGGATCTTCGCACTGCGGGTGACAAAATCCAGCTT
+>r8798
+GCGTGGTCACAACGTTACCGTTATCGATCCGGTCG
+>r8799
+TATGGCGGTCAAATTGGTAATAGCCATGCAGGCCA
+>r8800
+AACCGCCTGGCTGTGGATGAATGCTATTTTTAAGA
+>r8801
+TTGAAATTGAACCTGTGCTGCCCGCAGAGTTTAAC
+>r8802
+AGCAATGGCGAACTGGTGTTTAAACGCTACGAACA
+>r8803
+AGTTAAGGATCAGCGCCTGTTTGCGAATCACCCCC
+>r8804
+TGGAATTGTTCCACGGGCCAACGCTGGCATTTAAA
+>r8805
+GCTTAATGACACTCGTTTGCTGGCTTTGATGGGCG
+>r8806
+CGGTGTTTGATCCGTTGCGTTATCCGGAGATCGGT
+>r8807
+ATGGCGGCGCGCGTCTTTGCAGCGATGTCACGCGC
+>r8808
+CATCAGTGGCAAATGCAGAACGTTTTCTGCGGGTT
+>r8809
+GGCGCGCGGGCTGGGGATGCGCTGGATGGGCGTTC
+>r8810
+GCCAAAAGAGCTGGCAGAACGTGCTGATTTACCCT
+>r8811
+ATACCGTGCACCACAACGTTACCCTCAGCGTCCTT
+>r8812
+TGGCACCGTGTTTTCTTGGTGGTATGCAGTTGATG
+>r8813
+TGCGCTGCGTTAAGAATGAGAGAAGGGTTGGTTGT
+>r8814
+CTGATAGGACATCGACTTCAACAACCTCGCATCGG
+>r8815
+ACTTCATCAATTCATCACCAGCATTGAGCAGATTT
+>r8816
+CGAAACCTCATGTATGCTACGCAGAAGTTATCCAA
+>r8817
+AGTGACCTAAGTCAATAAAATTTTAATTTACTCAC
+>r8818
+AAAGCAATGCCAGGCAGGGGCAGGTGGCCACCGTC
+>r8819
+AAAATCGGCGGGCAGGTTATGCGAAAGCAAGGGTA
+>r8820
+TAGCATCAACGCTGCGCTGATTTGCCGTGGCGAGA
+>r8821
+CAGCTCTTTCAGTTGCCAGATTTTGCGGCGGAACA
+>r8822
+TTTCATTCTGACTGCAACGGGCAATATGTCTCTGT
+>r8823
+AATACCTGCATCGTTGTAGAGTTTGATCAGGCGTT
+>r8824
+ACATCCATGCCAGAAAGATCATCTCGCGGGTCCGG
+>r8825
+GCGGCAGACGCCATCTTCATCAATATTGCCAACAT
+>r8826
+CGTTTAAAGGTGATGTCTACACTGGCTTGCAGGCC
+>r8827
+AATGTTCCCTCGCACAGCTTTATAAAGAACGTGAT
+>r8828
+CGCAGCGCACGATAAGCTACGGCAGCGTGCGGCTC
+>r8829
+TCCGGCTTGTATGGCGTACTGCGCCCGCTCGATTT
+>r8830
+GCGAGTCCCGTCAGAAGTTCGGCAAAAATAAGTTC
+>r8831
+CGGAGTAGTCGGAACCGTTGCGTCCCAGAACCACC
+>r8832
+GTGTATCATTCTGCTTAACGAGACTGTTTAAACGG
+>r8833
+GGTTATGCAGCCGTGGATGATGAAACCACGCAACA
+>r8834
+CTTCGGTCTGAATGCTGCAACCACTTCCGGTGCCG
+>r8835
+AGCCCGAACCGATCGGCATATTCTTTTCCAGAGTC
+>r8836
+ACCCCAGGAACCCATTAGCACCCGCATCGCCTTCT
+>r8837
+TTCCAGGATTTCCTGCGGGATTTCATCACCAATAA
+>r8838
+CAATAAAATTTTAATTTACTCACGGCAGGTAACCA
+>r8839
+TATTGAATTTGCACGATTTTGTAGGCCGGATAAGG
+>r8840
+GTTAGCCAGCCAAACAACTGGCCGCGTGTGGAAGA
+>r8841
+ATTTCGATTTTGCCCAACAGCATTTGCGAATGCTT
+>r8842
+ACTGGAAAACTAAATGAAACTCTACAATCTGAAAG
+>r8843
+CGGGCAATGACGTTACAGCTGCCGGTGTCTTTGCT
+>r8844
+AGGGATGCCTTTATCCTGATAAACGCCGCTGGATG
+>r8845
+ATCGACATTTTCTCGCCACGGCAAATCAGCGCAGC
+>r8846
+GTATGCAGTTGATGATCGAAGAAAACGACATCATC
+>r8847
+AGCCCTGAGTTTTTCTTTTGATTTTCCCCCGCTGG
+>r8848
+TCGATAACCTGATCGGTATTGAACAGCATCTGATG
+>r8849
+CCCAGCTCTTTCAGTTGCCAGATTTTGCGGCGGAA
+>r8850
+TGGCGCAGATTTGTTATTACTTTGAGGCTGTCGCA
+>r8851
+ATCCTGCGGTTGATACAGCTTCATTGCCGCGATGT
+>r8852
+CCGCAGACACGTAAGTCGATATGTTTATTCTTCAA
+>r8853
+TCGATCGCCATTATGGCCGGCGTGTTAGAAGCGCG
+>r8854
+TCAGTACCCAGATTATCGCCATCAACGGGACAAAC
+>r8855
+CATGGCATCAGTTTGTTGGGGCAGTGCCCGGATAG
+>r8856
+TGCTCACCACGGGCGGAACTGGCCCTGCGCGTCGT
+>r8857
+CTTTCCCTGGTTCTGGTCGCTCCCATGGCAGCGCA
+>r8858
+CAATGGTATGAACCACAGGCGAGAGCAGTAATATG
+>r8859
+TAGAGGCCCAATTCGCTGCGTTGATATCGCCCGCC
+>r8860
+ACTCTGGAAAAGAATATGCCGATCGGTTCGGGCTT
+>r8861
+TTCGCCCAGGCGACAGCATCATCAATCAACTTACG
+>r8862
+AATTTGCTTGCCAAGCTCCTGGCAAAAACGCTCCC
+>r8863
+CTCGCACACAGTCGCTTTGCGGAACGCAGAAACTG
+>r8864
+CCGACATCGCTTTCAACATTGGCGACCGGAGCCGG
+>r8865
+GCTTTCATGACTGGCAGCCAAATTTCACACCGGAG
+>r8866
+TACCATTGCCAGTGATTATCTACGCCAGCGTAAAC
+>r8867
+GTGTGGTCGCCTCGGAGAAACTCATGCCTTCGTCT
+>r8868
+GAGTCTGACATGGTTAAAGTTTATGCCCCGGCTTC
+>r8869
+ACAGGCGAGAGCAGTAATATGGCGGTCAAATTGGT
+>r8870
+GGCAACGCGCTGGGCGGTATCCGGCTTGTCACACA
+>r8871
+TGCGGTTGATACAGCTTCATTGCCGCGATGTCCCC
+>r8872
+ACAGGTAACGGTGCGGGCTGACGCGTACAGGAAAC
+>r8873
+CTTTCAGCAGTGCCGGTGCGATGGTCAGACGGTCG
+>r8874
+GAGCGGCAGTGGCTCATGCTTTCTACGGTTTACCG
+>r8875
+CTGTCTTACACTGGTGAAGTGAAAGCGCGTCCGGC
+>r8876
+CTGCCAGTTTTCCAGATTAAGGCCATGTACATTGG
+>r8877
+ACGCCCCCGCAGATTAGCTCCCTGATGCGCATCAG
+>r8878
+AACAGTCTCGTTAAGCAGAATGATACACTGCGAAG
+>r8879
+TTGACCGGGTAAGTTAAGGATCAGCGCCTGTTTGC
+>r8880
+AGTTCAGAAGCTGCTATCAGACACTCTTTTTTTAA
+>r8881
+AGTTTTTCTTGCAGTGGACTGATTTTGCCTCGTGG
+>r8882
+ACAACTATCGATCAACTCATTCTCTTTTTTTGCTA
+>r8883
+CAGATTGGAAATGCCCTTGACCGGTAATTCGTCTT
+>r8884
+CTGTTCACCAAAGCCTGGCATCTCGCGGTCCGCTA
+>r8885
+GCCAGTTCTTCCTGCCAGTTTTCCAGATTAAGGCC
+>r8886
+CTATTTTTAAGACTTTTGCCAAACTGGCGGATGTA
+>r8887
+TTATGGGCGCAAGCTTCCGTAACATCGGCGAAATT
+>r8888
+AGCTGATCCATGAAGCGCGGAAACTGACGCCCCCG
+>r8889
+GGCGCGCGGGCTGGGGATGCGCTGGATGGGCGTTC
+>r8890
+TGATGGCGATAATCTGGGTACTGACCAGCCTGGTG
+>r8891
+CACAGAAAAAAGCCCGCACCTGACAGTGCGGGCTT
+>r8892
+CTGCCGGAGCTGTTAGACAACGCCCAGCAGCTGAT
+>r8893
+CCGCACCTGACAGTGCGGGCTTTTTTTTCGACCAA
+>r8894
+GGGGCAGGTGGCCACCGTCCTCTCTGCCCCCGCCA
+>r8895
+GTGGAAGCGATTCTCGGTGAAACGTTGGATCTGCC
+>r8896
+TGTTTGGCTGGCTAACATCCATCGCATTGGATAAC
+>r8897
+CCGGAAGTGGTTGCAGCATTCAGACCGAAGAGTGC
+>r8898
+TGACTACAAACTTAACGTTGTTCGTAGCGTTTAAA
+>r8899
+TGCCTTTATCCTGATAAACGCCGCTGGATGCGCGA
+>r8900
+ACCTGGAACTGAAAGAAGGCTTACTGGAGCCGTTG
+>r8901
+TTGATATTGCTGAATCCACCCGCCGTATTGCGGCA
+>r8902
+TCACCAATAAACGCCGAGAGGATCTTCGCACTGCG
+>r8903
+GATGACAAACGCAAAACTGCCTGATGCGCTACGCT
+>r8904
+CTTATCCCTTCGAGCGGGGGGAGCTTAACAATTAG
+>r8905
+TGTCGTAATGAATGCTGCCGGAGATACGCCCTTCC
+>r8906
+TCGAAGGGATAAGATTGTTAACAACGTGCGCTTTG
+>r8907
+CATCCACTTCGGCAATCTTCACGCGGCAGACGCCA
+>r8908
+TAATGATCCGCTGTTCAAAGTGAAAAATGGCGAAA
+>r8909
+GATCCCTGAGCAATGGCGACAATGTTGATATTGGC
+>r8910
+GTTTATTCTTCAACCAGCTTTGCTGACGCTTCAGT
+>r8911
+GCTGATCCATGAAGCGCGGAAACTGACGCCCCCGC
+>r8912
+TATTCTTTCACGAGGCGAATTAAGCGCCCGAGATT
+>r8913
+CTTAGGTCACTAAATACTTTAACCAATATAGGCAT
+>r8914
+CACCACAACGTTACCCTCAGCGTCCTTCACACCTT
+>r8915
+CGACCAGAACCAGGGAAAGTGCGAGTACGATAGAT
+>r8916
+TAGCACCCGCATCGCCTTCTGGATAAGCTGAATAC
+>r8917
+TGGCAAAAACGCTCCCAGCACTGATAAACGATATT
+>r8918
+TGTTACGCCGAACAAAAAGGCCAACACCTCGTCGA
+>r8919
+CGCAAATCACCAGGCTGGTCAGTACCCAGATTATC
+>r8920
+TTTCGCAGGAGTAATCACAACTATCGATCAACTCA
+>r8921
+GTGTTTAAACGCTACGAACAACGTTAAGTTTGTAG
+>r8922
+GCATTGCTCGGAGATGTAGTCACGGTTGAGGCGGC
+>r8923
+ATTGCCAACATAGCGCAAAACTTTTCCTTCATCAC
+>r8924
+CGTGAGTAAATTAAAATTTTATTGACTTAGGTCAC
+>r8925
+GCCGGAAACGCTGAACATTGCCATGTTATTCAGAT
+>r8926
+CGTATGGCCCTTCCAGCAACTGAATGCAGTACGGT
+>r8927
+CCAGATCTCGCAACAATCGGCGCGTAAACAGGCCG
+>r8928
+CGGGTATCAACGCCGCTCGCTTTCATGACTGGCAG
+>r8929
+CCGGACGATGATCGCCACGATGATCATTGTGCTTG
+>r8930
+TGCCCCCGCCAAAATCACCAACCATCTGGTAGCGA
+>r8931
+GTCTCTTTAATAGACTTCGGTTGACCGGGTAAGTT
+>r8932
+CCGCTTAATGACACTCGTTTGCTGGCTTTGATGGG
+>r8933
+GCTGGGGCTGAATTCTGCTAACTCCATCAACATCA
+>r8934
+GCGCACCGCCAACGCCACCGACGCCAATCACAAAC
+>r8935
+CGCACGTTGTTAACAATCTTATCCCTTCGAGCGGG
+>r8936
+TCCGCTGCGGTGCTGGCGGCCTGTTTACGCGCCGA
+>r8937
+GGCAGACCGAGTGACTTCGCCAGCAGACCCGCCGT
+>r8938
+TACAGCTGCCGGTGTCTTTGCTGATCTGCTACGTA
+>r8939
+ATCAGCTTCTACGCTAAGAAAGCACGCGGTCTGAT
+>r8940
+AGGTAACGGTGCGGGCTGACGCGTACAGGAAACAC
+>r8941
+AGGTGCCCGATGCGAGGTTGTTGAAGTCGATGTCC
+>r8942
+ATACGGCGGGTGGATTCAGCAATATCAACGGTAGA
+>r8943
+AACGTTACCAATTGTTTACGAAGTATATAACGCTA
+>r8944
+GTTCACCAAAGCCTGGCATCTCGCGGTCCGCTACT
+>r8945
+GTCGGTCACGCTACCTCTTCTGAAACCTGTCTGTC
+>r8946
+AATGGGTTCCTGGGGTGCGGAGTTTGTTACCCTCG
+>r8947
+CGGATGCGGCGTGAACGCCTTATCCGGCCTACAAA
+>r8948
+CAGTCATTGTGTACCAGTCTTGCAGCGCGCGTGGG
+>r8949
+CGCGACCGGCAATAAGAGGGATATGCATGCCAGAT
+>r8950
+AAACTCTACAACGATGCAGGTATTAGCAACGATCG
+>r8951
+CGAGGGAACATTCGGCAAACGAGGTCGCCATGCCG
+>r8952
+CGATTTTGCCCAACAGCATTTGCGAATGCTTTCCG
+>r8953
+CAAAAATACCGTGCACCACAACGTTACCCTCAGCG
+>r8954
+TTGCTCCAGCAGCGCACCGCCAACGCCACCGACGC
+>r8955
+GAGGTACTTGGATAACTTCTGCGTAGCATACATGA
+>r8956
+GGAGCGTACTCTTTCTTATCGGTATTCGCTTTGTA
+>r8957
+ATCATCAATCAACTTACGGTATTCCGGAATCTGCG
+>r8958
+AGTACTGGAAAACTAAATGAAACTCTACAATCTGA
+>r8959
+GAGCGTCGGGTTTGATGTGCTCGGGGCGGCGGTGA
+>r8960
+GCATTCTTTCAGGTTCGCTTTCTTATATCTTCGGC
+>r8961
+TCTGGCGTCAGATGAGTATTTTAAATCGGTGAAGC
+>r8962
+TCCTGGCGGCGATACTGCGCCGGTAAAATAGCCCT
+>r8963
+ATTATCACGATCGCCTATCTGTAATTTTACTGACG
+>r8964
+GATTCTTATTTCACCTGCGAAAACGCTTGATTACC
+>r8965
+AAGAAGAGATTGTTTTCGGCATAAATGTAGTTGGC
+>r8966
+TATCCAGCCGGCAAATATGAACAAAACCTTCCTGA
+>r8967
+CAATCATCTGGACAATTCCTTGCGCTGCCGGATGC
+>r8968
+TATCACTGAGTCCGAGTTCCTGTGGCAGCACAACC
+>r8969
+TAATCAGGCAAGGGATCTGGAACTGGGCGATGGGG
+>r8970
+GTGTGGAAGAGTTGTTCCGCCGCAAAATCTGGCAA
+>r8971
+GCGATTGCCTCGCCATTCATAATGTTGTTTCCACC
+>r8972
+CTGCCAGCAGTTTTTCGACCGGATCGATAACGGTA
+>r8973
+TATTGGCTTAGTTTCCATCTCTGATCGCGCATCCA
+>r8974
+AAACTTTTCCTTCATCACGGGCCTTCGCCACACGC
+>r8975
+GCCGAAATCTTTAAATGCCAGCGTTGGCCCGTGGA
+>r8976
+CGAAAACAATCTCTTCTTTTTACGCCTGAACAACC
+>r8977
+AGGCATAGCGCACAGACAGATAAAAATTACAGAGT
+>r8978
+TCATCAATCAACTTACGGTATTCCGGAATCTGCGC
+>r8979
+AACAGAACGCCCATCCAGCGCATCCCCAGCCCGCG
+>r8980
+TTACTGATGATTCATCATCAATTTACGCAACGCAG
+>r8981
+GCATAACGCAACTGATGGTAGTAATCCATCGACGA
+>r8982
+GAAGAACTTTAGCGCCGAAGTAAGAAAGCTCCATC
+>r8983
+CCACGGCTGCATAACCCAGCTCTTTCAGTTGCCAG
+>r8984
+CCACGGCTGCATAACCCAGCTCTTTCAGTTGCCAG
+>r8985
+TTCCTGCCAGCCAAAAGCACTCTCAAAAATAGACC
+>r8986
+CCCGGGCCGGAAACGCTGAACATTGCCATGTTATT
+>r8987
+CCATGTGGGTGCCAGCGATTGCCTCGCCATTCATA
+>r8988
+ACGTTCGATAGCCCCTTCGCTCTCCGCCAGCTCTT
+>r8989
+AACCGTGACTACATCTCCGAGCAATGCACCATCAA
+>r8990
+TGAAATGAGTTGCCATCTGGTGCTCACCACGGGCG
+>r8991
+TGCTGAAAGAGCTGGCGGAGAGCGAAGGGGCTATC
+>r8992
+TAACGCCCGATGCGACGCTGGCAGTAGCGGACCGC
+>r8993
+CCGCGCGTGTGGCGAAGGCCCGTGATGAAGGAAAA
+>r8994
+CCGAGTGACTTCGCCAGCAGACCCGCCGTCAAATC
+>r8995
+AATGAATAGATGTTACTGATGATTCATCATCAATT
+>r8996
+AGATGGTTGGTGATTTTGGCGGGGGCAGAGAGGAC
+>r8997
+GGAGGTCAATTTGTCCGTCATGATAGTATTTCTCT
+>r8998
+TCGCAGCCTGCCAGTTCCAGAATTTCGCCGATGTT
+>r8999
+TATACGAAACCTCATGTATGCTACGCAGAAGTTAT
+>r9000
+ATGAATCATCAGTAACATCTATTCATTATCTCAAT
+>r9001
+GTGTTTAAACGCTACGAACAACGTTAAGTTTGTAG
+>r9002
+ACCTTTGGTCGAAAAAAAAGCCCGCACTGTCAGGT
+>r9003
+TTCAGTTGCCAGATTTTGCGGCGGAACAACTCTTC
+>r9004
+GGAAGTACAGTCAACAATGACCGGGTTCAGCAGAT
+>r9005
+CACCCACAGCCACTCATCAAACCCTGGCACTTGCT
+>r9006
+TGCGTAATGAATATCGGGCAACTTCCCCACGTCAT
+>r9007
+GCTGAATTCCGGCAGGTCGTGCGGAAAAAACAGCC
+>r9008
+TACCGGAAATCCCCAAGCACCAGGTACGCTCATTG
+>r9009
+TCGACCCCATTCCCGCCTCATTGGAAAACATACTG
+>r9010
+TTTATCTACTGCCATTGGATCCTGGTTGTGCTGCC
+>r9011
+ATGGCCAGCCGTTCCGTCACCGCCAACGGCTCCAG
+>r9012
+ATGATCATTGTGCTTGTTATGGCGCGGCGATGACG
+>r9013
+CTGTTACCAGCGGGGGAAAATCAAAAGAAAAACTC
+>r9014
+TAACTTAGAGATTAGGATTGCGGAGAATAACAACT
+>r9015
+ATTGGGTAAAGCATCCTGACCGCTAATGGTTTTTT
+>r9016
+TAAAGCGATCTGGTGTCTGCGGATCTGCACCTTCG
+>r9017
+ATGTCAGACTCCTAACTTCCATGGGAGGGTACGTA
+>r9018
+GCATTGCGCACGGGCGACATCTGGCAGGCTTCATT
+>r9019
+GCCGCTTTTATGGCGAATCTGTCACAGCTCGACGA
+>r9020
+AAATACGGGCGCGTGACATCGCTGCAAAGACGCGC
+>r9021
+TCGGGCTTAGGCTCCAGCGCCTGTTCAGTGGTCGC
+>r9022
+CCTGCTTCACCAGCGCCTGACAGGCATCGAAATCG
+>r9023
+AGTGGCTCATGCTTTCTACGGTTTACCGAATGTGA
+>r9024
+TTTCCCTCGGGCATTCTCAAGACGTATCCCCATTT
+>r9025
+GCAAGGGATCTGGAACTGGGCGATGGGGGTAATGG
+>r9026
+CCTGTTTGCGAATCACCCCCACCTGACGCGAAAGG
+>r9027
+GCTGCGCTGATTTGCCGTGGCGAGAAAATGTCGAT
+>r9028
+TGCTTTCGCATAACCTGCCCGCCGATTTTGCTGCG
+>r9029
+CAGCCTGGCTGGAAGTACAGTCAACAATGACCGGG
+>r9030
+GCCCGCTCGATTTAATGCAGCCTTATCGTCTGGAA
+>r9031
+GGCGGTCAAATTGGTAATAGCCATGCAGGCCATAA
+>r9032
+AGAGAGCGTGGAAGCGATTCTCGGTGAAACGTTGG
+>r9033
+GACCACACTGGCGCGGGAAATGGGTTATACCGAAC
+>r9034
+AAACGAGTGTCATTAAGCGGCTTGCCGCAGTGTTC
+>r9035
+CTTATCCCTTCGAGCGGGGGGAGCTTAACAATTAG
+>r9036
+AGTTGATGATCGAAGAAAACGACATCATCAGCCAG
+>r9037
+TTCGCGCAGGAAGTCGGCATATTGATCTGCCACAG
+>r9038
+TCCTGGTCAACAGCAAACTTACGGATACCTTCCGC
+>r9039
+GAATTTGCTTGCCAAGCTCCTGGCAAAAACGCTCC
+>r9040
+TTGCCGGCTGGATACGGCGGGCGCACGAGTACTGG
+>r9041
+GCAATATTGATGAAGATGGCGTCTGCCGCGTGAAG
+>r9042
+CGCGAGATGCCAGGCTTTGGTGAACAGATGCGCCA
+>r9043
+AGACAGCGAGAATAATACCTGTTACCAGCGGGGGA
+>r9044
+TCCCGGCTCCGGTCGCCAATGTTGAAAGCGATGTC
+>r9045
+CGGCAGTGAAACCAGCCATCAGCACCATGTGGTCA
+>r9046
+AGTTTCCACTCGGTACCGAGACAACCAACTGGTTA
+>r9047
+CATGGCAGCGCAGGCTGCGGAAATTACGCTAGTCC
+>r9048
+AACTCGCCCATCAAAGCCAGCAAACGAGTGTCATT
+>r9049
+GCGTACGTGCGGCGTTTGCCTTCCCGGCTCCGGTC
+>r9050
+AGATACAGAAACCACGCCCGGATCTTCTGCCGGAG
+>r9051
+GCGGGGGGATCAGACTGATGACAAACGCAAAACTG
+>r9052
+GCGCAGTATCGCCGCCAGGATTGCATTGCGCACGG
+>r9053
+CAAGCTGAACGAGGCGCTCGCAGCACAAGGCGATA
+>r9054
+TAGCAGAATTCAGCCCCAGCGCCACTTTCAGTTCT
+>r9055
+GCAGGTAACCAGTTCAGAAGCTGCTATCAGACACT
+>r9056
+CTCATTTCATCCACCAGTTCACACAACGTTTGCTC
+>r9057
+AAAGGTAACGAGGTAACAACCATGCGAGTGTTGAA
+>r9058
+TTCGTCTAACTTGCCGAAGATATAAGAAAGCGAAC
+>r9059
+TCGAGCGGGCGCAGTACGCCATACAAGCCGGAAAG
+>r9060
+CTTCGATCATCAACTGCATACCACCAAGAAAACAC
+>r9061
+CTTCATCACGGGCCTTCGCCACACGCGCGGCAAAG
+>r9062
+CACGGCAAATCAGCGCAGCGTTGATGCTATCCGGG
+>r9063
+AGCCAGGGCTATTTTACCGGCGCAGTATCGCCGCC
+>r9064
+TTACATCCCCCTAACAAGCTGTTTAAAGAGAAATA
+>r9065
+TCAAGATTTTTCCGTTTAAACAGTCTCGTTAAGCA
+>r9066
+CGCAACGCCGGCCAGGTTGCCGCTACCCACGCGCG
+>r9067
+AGATAATGGCCAGCCGTTCCGTCACCGCCAACGGC
+>r9068
+ATAGACCAAATGACGTGGGGAAGTTGCCCGATATT
+>r9069
+CAGTGTAGACATCACCTTTAAACGCCAGAATTGCC
+>r9070
+CCCAGCAGCTGATCCATGAAGCGCGGAAACTGACG
+>r9071
+CCGGAGAACTTCATCAATTCATCACCAGCATTGAG
+>r9072
+ACTACAAAGAGCATGGTTATGAAACCGTGGTTATG
+>r9073
+ATGAATATCGGGCAACTTCCCCACGTCATTTGGTC
+>r9074
+TCTGTGCGCTATGCCTATATTGGTTAAAGTATTTA
+>r9075
+TTTGTTCGCTCTGTGTGACAAGCCGGATACCGCCC
+>r9076
+GTCCTTGCAGGAAATTTATGCCGACTTTAGCAAAA
+>r9077
+CTACAATCTGAAAGATCACAATGAGCAGGTCAGCT
+>r9078
+CTTGTTAAGTTTTCCGCTGATGTGGCAACTGGCAG
+>r9079
+GTATCTCCGGCTCCGGCCCGACTTTGTTCGCTCTG
+>r9080
+GTCACAACGTTACCGTTATCGATCCGGTCGAAAAA
+>r9081
+CTTCGTAAACAATTGGTAACGTTTACACAGGAAAG
+>r9082
+GGGATGTAACCGGTCTGCCCTGATGATATCACAAG
+>r9083
+GTAATCCATCGACGAGGTGTTGGCCTTTTTGTTCG
+>r9084
+ATTCATCGCCATCAGCGCCGCGACCACTGAACAGG
+>r9085
+TGAGTTGCCATCTGGTGCTCACCACGGGCGGAACT
+>r9086
+CCTGTCAGGCGCTGGTGAAGCAGGCGTTTGATGAT
+>r9087
+TACCAGTCTTGCAGCGCGCGTGGGTAGCGGCAACC
+>r9088
+CAACCATCTGGTAGCGATGATTGAAAAAACCATTA
+>r9089
+TTGGTGATTTTGGCGGGGGCAGAGAGGACGGTGGC
+>r9090
+GCCATGCAGGACATGTTTTATTTGGGCAAATTCCT
+>r9091
+GATCTGCACCTTCGCAACGGTCATCGGCGGCACCT
+>r9092
+CAGGTGTCACCGCCGCCCCGAGCACATCAAACCCG
+>r9093
+AAAAGAAGAGATTGTTTTCGGCATAAATGTAGTTG
+>r9094
+GAATTCAGCCTGACTGAAATTGATGAGATGCTGAA
+>r9095
+GATGCCGAACTTATTTTTGCCGAACTTCTGACGGG
+>r9096
+CGTGGTGAGCACCAGATGGCAACTCATTTCATCCA
+>r9097
+TGGTTTGGTCAGCCGATTTTCAATAATGAAACGAC
+>r9098
+GTCAGGATGCTTTACCCAATATCAGCGATGCCGAA
+>r9099
+GCCAACGCCACCGACGCCAATCACAAACACTTCGA
+>r9100
+TCAGGTTCGCTTTCTTATATCTTCGGCAAGTTAGA
+>r9101
+TGCGCTGGAAGAATGGCTGACATCGGCGCTAACCA
+>r9102
+TCTGCTGTAATCATACTTAGCGTGACCGGGAAGTC
+>r9103
+ATCAGTCAAGAATACGGCCAACAAACGGCGAGATC
+>r9104
+AAGGGCGAATTCTGCAGATATCCATCACACTGGCG
+>r9105
+GTCGGGTTTGATGTGCTCGGGGCGGCGGTGACACC
+>r9106
+ATTTAAAATACTCATCTGACGCCAGATTTATCACC
+>r9107
+GTGGACGCGACCGACAAACTGGCAGTAAATATTGG
+>r9108
+ATCCACTTCGGCAATCTTCACGCGGCAGACGCCAT
+>r9109
+GGCGATTTGACGGCGGGTCTGCTGGCGAAGTCACT
+>r9110
+TACCGATCAGGTTATCGAAGTGTTTGTGATTGGCG
+>r9111
+CCTGCCGTGAGTAAATTAAAATTTTATTGACTTAG
+>r9112
+TCTCCGGTGTGAAATTTGGCTGCCAGTCATGAAAG
+>r9113
+GGGCCGGAAACGCTGAACATTGCCATGTTATTCAG
+>r9114
+ACTGACGCCCCCGCAGATTAGCTCCCTGATGCGCA
+>r9115
+TAATAGCCATGCAGGCCATAATGATATCTGCCAGT
+>r9116
+GATGATTGAAAAAACCATTAGCGGTCAGGATGCTT
+>r9117
+CCGCCTGGCTGTGGATGAATGCTATTTTTAAGACT
+>r9118
+GAAGTTAGGAGTCTGACATGGTTAAAGTTTATGCC
+>r9119
+GCAACACCGCAGACACGTAAGTCGATATGTTTATT
+>r9120
+ATATGTTTATTCTTCAACCAGCTTTGCTGACGCTT
+>r9121
+AGAACCTGCAAAATCTGCTCAATGCTGGTGATGAA
+>r9122
+ACAACCTACATGCCGCTGGAAGGTATTCAGCTTAT
+>r9123
+GGCGTTTTCGCCATTTTTCACTTTGAACAGCGGAT
+>r9124
+CTCGTGAAAGAATATCATCTGCTGAACCCGGTCAT
+>r9125
+AAAGAGCTGGCAGAACGTGCTGATTTACCCTTGCT
+>r9126
+AAAATACCGGAAATCCCCAAGCACCAGGTACGCTC
+>r9127
+TTTATAAAGAACGTGATGCCAATGGGCAGTTTCGT
+>r9128
+TTCCTGCCAGCCAAAAGCACTCTCAAAAATAGACC
+>r9129
+TCTGCGGATCTGCACCTTCGCAACGGTCATCGGCG
+>r9130
+CGCCGAAGTTTCCACTCGGTACCGAGACAACCAAC
+>r9131
+TCAATTTGTCCGTCATGATAGTATTTCTCTTTAAA
+>r9132
+TACCTCTTCTGAAACCTGTCTGTCACTCCCTTCGC
+>r9133
+TCAGCCGGAATGCGGCTTGCCGCAATACGGCGGGT
+>r9134
+CTCTCTTTAAATTTCGCCGGATGCGCGGTGCCGAG
+>r9135
+GCGGCGATGACGGCGGTCCATGTGGGTGCCAGCGA
+>r9136
+TTAATCCACACAGAGACATATTGCCCGTTGCAGTC
+>r9137
+ATTTGGGCAAATTCCTGGTCGACGAAAGTTTTCAA
+>r9138
+CGCCGTATTGCGGCAAGCCGCATTCCGGCTGACCA
+>r9139
+GTCGCCCCAATGACCGCCATCCCAGTAATAGCCAC
+>r9140
+GGGCCAGTTCCGCCCGTGGTGAGCACCAGATGGCA
+>r9141
+CTTCCAGTGCCAATATGAGCGTCGGGTTTGATGTG
+>r9142
+TCATCGTTATTGACCACGACAGAGATTGAGCGTTC
+>r9143
+TTTATTTGGGCAAATTCCTGGTCGACGAAAGTTTT
+>r9144
+GTCGGTGGCGTTGGCGGTGCGCTGCTGGAGCAACT
+>r9145
+ACGCAGCGCACGATAAGCTACGGCAGCGTGCGGCT
+>r9146
+AAAAATAAGTTCGGCATCGCTGATATTGGGTAAAG
+>r9147
+CGCACAGCTTTATAAAGAACGTGATGCCAATGGGC
+>r9148
+GGTACGAAAAGTGAACCAACAACCTGCGCCGAAAA
+>r9149
+TGTAAACGTTACCAATTGTTTACGAAGTATATAAC
+>r9150
+GCCGGCTGGATACGGCGGGCGCACGAGTACTGGAA
+>r9151
+GATGAAGCTTCCTCCAGCAATGGCGAACTGGTGTT
+>r9152
+CAAAGACAGCGAGAATAATACCTGTTACCAGCGGG
+>r9153
+TACCCTCAGCGTCCTTCACACCTTCCAGCGTCTCT
+>r9154
+TCAGAATACGATCGTTGCTAATACCTGCATCGTTG
+>r9155
+AAAGACAGCGAGAATAATACCTGTTACCAGCGGGG
+>r9156
+AGCGTTCAGAAGATCCCTGAGCAATGGCGACAATG
+>r9157
+ATGAGCGTACCTGGTGCTTGGGGATTTCCGGTATT
+>r9158
+TGATGGCGATGAATGAACACTGCGGCAAGCCGCTT
+>r9159
+TGCAGCCGTGGATGATGAAACCACGCAACAGACAA
+>r9160
+TGCCAGCGATTGCCTCGCCATTCATAATGTTGTTT
+>r9161
+GAACGCCCATCCAGCGCATCCCCAGCCCGCGCGCC
+>r9162
+ATGCAGGAAGAGTTCTACCTGGAACTGAAAGAAGG
+>r9163
+CCCGAGATTAAACGGCTCTTTGGCTTGCGCCAGTT
+>r9164
+TTATCGTCTGGAAATGGGGATACGTCTTGAGAATG
+>r9165
+CTTACGTGTCTGCGGTGTTGCTAACTCGAAGGCAC
+>r9166
+AAATACTCATCTGACGCCAGATTTATCACCACATT
+>r9167
+ATATCCGCCAGCTCCAGTTCACGTCCCGTTTCACG
+>r9168
+CAGGTGAAATAAGAATCAGCATATCCAGTCCTTGC
+>r9169
+CGGCGTTTGCCTTCCCGGCTCCGGTCGCCAATGTT
+>r9170
+GCAGAAGCCAGGGCTATTTTACCGGCGCAGTATCG
+>r9171
+CGGCGATCTGCTGTAATCATACTTAGCGTGACCGG
+>r9172
+ATTTGTGCAGTTTCGCTACATCCGCCAGTTTGGCA
+>r9173
+AAAGGCGAGCTGGTGGTTCTGGGACGCAACGGTTC
+>r9174
+TTTCCACGTTGTTACGCCGAACAAAAAGGCCAACA
+>r9175
+GCCGAACAAAAAGGCCAACACCTCGTCGATGGATT
+>r9176
+AGGAGAAAAAATCTGGCATGCATATCCCTCTTATT
+>r9177
+TACGTTGAAACGGCACCGGAAGTGGTTGCAGCATT
+>r9178
+CCCGCCGCGCCGCCTGCAGCTTCCTGCCAGCCAAA
+>r9179
+TTCCACGCTCTCTTTAAATTTCGCCGGATGCGCGG
+>r9180
+GATGATTGAAAAAACCATTAGCGGTCAGGATGCTT
+>r9181
+ATAATGTTGTTTCCACCAGCCGTGGTCGCCCCAAT
+>r9182
+CCCAGGAACCCATTAGCACCCGCATCGCCTTCTGG
+>r9183
+CGTAAATTCCTCTATGACACCAACGTTGGGGCTGG
+>r9184
+ATCCCCCCAGGCGGGGGGATCAGACTGATGACAAA
+>r9185
+TATAAAAATGGCGGGCGATATCAACGCAGCGAATT
+>r9186
+ATAATTTTCAGCGGAGTTCAGGCGAACGCCGTTGC
+>r9187
+CTCGAATCTACCGTTGATATTGCTGAATCCACCCG
+>r9188
+CTGCAAAATCAGGAAGGTTTTGTTCATATTTGCCG
+>r9189
+GGCTCGTGCTTGTGCGGAAGCGGGCGTGTTCCTGA
+>r9190
+GATCTTTCAGATTGTAGAGTTTCATTTAGTTTTCC
+>r9191
+TTATCGCCTTGTGCTGCGAGCGCCTCGTTCAGCTT
+>r9192
+CGTGACTACATCTCCGAGCAATGCACCATCAACAG
+>r9193
+CGGCGCGGTAGCGAGCGGTATCTCCGGCTCCGGCC
+>r9194
+CGCGCTATACGCTGCCGGAGCTGTTAGACAACGCC
+>r9195
+AGCAAACGTTGTGTGAACTGGTGGATGAAATGAGT
+>r9196
+CGGGCAATGCAGGAAGAGTTCTACCTGGAACTGAA
+>r9197
+GCGCAGGGCCAGTTCCGCCCGTGGTGAGCACCAGA
+>r9198
+AACTTTTCCTTCATCACGGGCCTTCGCCACACGCG
+>r9199
+ACGAAAAGTGAACCAACAACCTGCGCCGAAAAGCA
+>r9200
+ATGTTGAAAGCGATGTCGGTTGTCTGGAATTGTTC
+>r9201
+CGTTCACGTTGGTCGCAGCAATAAAACGTTTTACC
+>r9202
+CGATCATCGTCCGGGGCCTGACAAACATCATCGCT
+>r9203
+AAACCTGTCTGTCACTCCCTTCGCAGTGTATCATT
+>r9204
+GCGGCGCGGCGGGATATACCTTAAGCCAGGCGATT
+>r9205
+TAATTCGTCTTCATCACGGCTGGCACCAATGAGCG
+>r9206
+GGATTCAACTGGTCACGCAGCGCACGATAAGCTAC
+>r9207
+TTTCTCCATATTTTCTTCATAAAAAAAGCCGGGCT
+>r9208
+CAAACTTACGGATACCTTCCGCCAGTTTATCTACT
+>r9209
+CGTGGAACAATTCCAGACAACCGACATCGCTTTCA
+>r9210
+CCCCATTCCCGCCTCATTGGAAAACATACTGCGCT
+>r9211
+GAACCAGTTTCAGGATTTCCAGACCAATATTTACT
+>r9212
+CGGCGGGTGGATTCAGCAATATCAACGGTAGATTC
+>r9213
+TCGTGACGTAACGCCCGATGCGACGCTGGCAGTAG
+>r9214
+TTTCATTATTGAAAATCGGCTGACCAAACCAGAGC
+>r9215
+AAATATTGGTCTGGAAATCCTGAAACTGGTTCCGG
+>r9216
+TTCCAGTTCAAACGGCGTGGTTAGCGCCGATGTCA
+>r9217
+CGCCTGAACTCCGCTGAAAATTATGCCGTAGGCGA
+>r9218
+CCCTTCTCTCATTCTTAACGCAGCGCAGATTCCGG
+>r9219
+TGTTACCTCGTTACCTTTGGTCGAAAAAAAAGCCC
+>r9220
+TCGTCGACCAGGAATTTGCCCAAATAAAACATGTC
+>r9221
+CGTTCTCATCGCGTAATCTCCGGATATCGACCCAT
+>r9222
+CAACCATCCCTTTCATCCCCGGGCCGGAAACGCTG
+>r9223
+GAAGCCGAAGAAATTGAATGCCGAGATTATCAAGC
+>r9224
+ACCCATAACGGGCAATGATAAAAGGAGTAACCTGT
+>r9225
+CGGAATACCGTAAGTTGATTGATGATGCTGTCGCC
+>r9226
+ATCACCACATTATCGCCTTGTGCTGCGAGCGCCTC
+>r9227
+GGCGACATCTGGCAGGCTTCATTCACGCCTGCTAT
+>r9228
+ATTTGGTCTATTTTTGAGAGTGCTTTTGGCTGGCA
+>r9229
+CAGGAAATTTATGCCGACTTTAGCAAAAAAAGAGA
+>r9230
+GATGATGTTTCGCAGGAGTAATCACAACTATCGAT
+>r9231
+AACAACTGCCGTTCTCATCGCGTAATCTCCGGATA
+>r9232
+GTTGAAGTTCGGCGGTACATCAGTGGCAAATGCAG
+>r9233
+GGCAGCATTCATTACGACAACGTGGCACCGTGTTT
+>r9234
+AGTGTTTGTGATTGGCGTCGGTGGCGTTGGCGGTG
+>r9235
+CAGGCCATAATGATATCTGCCAGTTGCCACATCAG
+>r9236
+CGCCCGCAATATGGGTCAGCATTTGTGCCATAAAG
+>r9237
+AATCACCAACCATCTGGTAGCGATGATTGAAAAAA
+>r9238
+ACAAACTGGCAGTAAATATTGGTCTGGAAATCCTG
+>r9239
+ACCGACAAACTGGCAGTAAATATTGGTCTGGAAAT
+>r9240
+AGTTCACGTCCCGTTTCACGAGCGAGAATCAATAG
+>r9241
+TCAGAATACGATCGTTGCTAATACCTGCATCGTTG
+>r9242
+GTACTGCGCCCGCTCGATTTAATGCAGCCTTATCG
+>r9243
+CCAGCGCAACGCCGGCCAGGTTGCCGCTACCCACG
+>r9244
+AATGGGCAGTTTCGTGGCGGACCGGCATGGTATAT
+>r9245
+CTTTCAGGTTCGCTTTCTTATATCTTCGGCAAGTT
+>r9246
+CATTGCCCGTTCAGCTCGCACACAGTCGCTTTGCG
+>r9247
+GGCATGAGTTTCTCCGAGGCGACCACACTGGCGCG
+>r9248
+CAGCGTATAGCGCGTGGTGGTCAACGGGCTTTGGT
+>r9249
+TCGCTTTAGGGTTGTTCAGGCGTAAAAAGAAGAGA
+>r9250
+TATCACAAGGGCGAATTCTGCAGATATCCATCACA
+>r9251
+GGCGTAAAAAGAAGAGATTGTTTTCGGCATAAATG
+>r9252
+GGATCGGTAATGATTTACCTGCTTTTCGGCGCAGG
+>r9253
+TACAGAGTACACAACATCCATGAAACGCATTAGCA
+>r9254
+CCGCCTGGGGGGATTTTTTTATTCGCTAACTTCGC
+>r9255
+TCAATTTCAATATCCGCCAGCTCCAGTTCACGTCC
+>r9256
+CGGTGACGGAACGGCTGGCCATTATCTCGGTGGTA
+>r9257
+GCGCCTGTTCAGTGGTCGCGGCGCTGATGGCGATG
+>r9258
+ACAGTCTCGTTAAGCAGAATGATACACTGCGAAGG
+>r9259
+CAGATGATTGGCATTTTTATCGACACCCTGGTCAT
+>r9260
+ATTATGCCGTAGGCGATGAGCAAAAAGACGGCGAA
+>r9261
+TAATGAATGCTGCCGGAGATACGCCCTTCCAACTC
+>r9262
+GCAAAGCGTCCGAGGTTGTTGAGACTGAATGTCTC
+>r9263
+GCCACTCATCAAACCCTGGCACTTGCTGGCTGATG
+>r9264
+CAAATATGAACAAAACCTTCCTGATTTTGCAGGTA
+>r9265
+GCATCCGGCATAAACAAAGCGCACGTTGTTAACAA
+>r9266
+TTAAATCGAGCGGGCGCAGTACGCCATACAAGCCG
+>r9267
+GTTTACGCTGGCGTAGATAATCACTGGCAATGGTA
+>r9268
+TACACAACATCCATGAAACGCATTAGCACCACCAT
+>r9269
+GATCCTGGTTGTGCTGCCACAGGAACTCGGACTCA
+>r9270
+GGGATCTCGGCGAAATTCTTTGCCGCGCTGGCCCG
+>r9271
+TGCGTGACCAGTTGAATCCAGGCGAATATGGCTTG
+>r9272
+TCAGGCTCGTGCTTGTGCGGAAGCGGGCGTGTTCC
+>r9273
+TGCTGGCTGATGATGTCGTTTTCTTCGATCATCAA
+>r9274
+TCGCTGCAAAGACGCGCGCCGCCATGCCAACCATC
+>r9275
+CTTAAGGTATATCCCGCCGCGCCGCCTGCAGCTTC
+>r9276
+CGCTAAGAAAGCACGCGGTCTGATGAGTCGTTTCA
+>r9277
+CCACCACCATCACCATTACCACAGGTAACGGTGCG
+>r9278
+CGCCGCATAACGCAACTGATGGTAGTAATCCATCG
+>r9279
+GCCGAACTTATTTTTGCCGAACTTCTGACGGGACT
+>r9280
+AGCGTAGCGCATCAGGCAGTTTTGCGTTTGTCATC
+>r9281
+CCGGGCGCACGCCGAGTTTACGCTGGCGTAGATAA
+>r9282
+TGCCGCGAAGCTGATGAAAGATGTTATCGCTGAAC
+>r9283
+AACGGCGAGATCAGGAACACGCCCGCTTCCGCACA
+>r9284
+ACACTGGCTTGCAGGCCGAAACCTTCAGCGAAGAC
+>r9285
+AACGCTTGATTACCAAAGCCCGTTGACCACCACGC
+>r9286
+ACGATTATCACGATCGCCTATCTGTAATTTTACTG
+>r9287
+AAAACATACTGCGCTGAAAACCGTTAGTAATCGCC
+>r9288
+CCGATCAGGTTATCGAAGTGTTTGTGATTGGCGTC
+>r9289
+CGCACAGTTGCCGCAAGAAGCACGTAACCAGTTGG
+>r9290
+CCGCTGGAAGGTATTCAGCTTATCCAGAAGGCGAT
+>r9291
+CCACTCGGTACCGAGACAACCAACTGGTTACGTGC
+>r9292
+TGACGAAGGGAGGTCAATTTGTCCGTCATGATAGT
+>r9293
+TGGCGACCTCGTTTGCCGAATGTTCCCTCGCACAG
+>r9294
+CCGTATTGCGGCAAGCCGCATTCCGGCTGACCACA
+>r9295
+CATCTATTCATTATCTCAATCAGGCCGGGTTTGCT
+>r9296
+CTCATTGGTGCCAGCCGTGATGAAGACGAATTACC
+>r9297
+TTAAACGGAAAAATCTTGATGAATACTTTACGTAT
+>r9298
+TCGCCTTTTTCATTACCGGCAGTGAAACCAGCCAT
+>r9299
+CCTGACGCGGATCGCAGGTATAAACACCGTCAACA
+>r9300
+GGCGAGGCAATCGCTGGCACCCACATGGACCGCCG
+>r9301
+AGTAGTCGGAACCGTTGCGTCCCAGAACCACCAGC
+>r9302
+CTGGGCGATGGGGGTAATGGTGCGGGGGTGAAGAA
+>r9303
+CTTCAACAACCTCGCATCGGGCACCTGACGCGGAT
+>r9304
+TGTTTACGCGCCGATTGTTGCGAGATCTGGACGGA
+>r9305
+AAGGAGAACAGCAGGGTCAGGTTACAGTTAATACC
+>r9306
+CTTCTGCCGTCGAGACTTTAATCCCCGGATACGCC
+>r9307
+TTGTTCAGGCGTAAAAAGAAGAGATTGTTTTCGGC
+>r9308
+TTTTCTGCGGGTTGCCGATATTCTGGAAAGCAATG
+>r9309
+CGCCATTATGGCCGGCGTGTTAGAAGCGCGTGGTC
+>r9310
+CGGGCGCGTGACATCGCTGCAAAGACGCGCGCCGC
+>r9311
+GCCCGAGATTAAACGGCTCTTTGGCTTGCGCCAGT
+>r9312
+CTTACCCAACCAGTCGGCAACGCGCTGGGCGGTAT
+>r9313
+AGAGCGAACAAAGTCGGGCCGGAGCCGGAGATACC
+>r9314
+CTGCGCTGCCATGGGAGCGACCAGAACCAGGGAAA
+>r9315
+ATAGAGGATAACCACTTTCACATTCGGTAAACCGT
+>r9316
+CTTAACGCAGCGCAGATTCCGGAATACCGTAAGTT
+>r9317
+GATCGGTAATGATTTACCTGCTTTTCGGCGCAGGT
+>r9318
+AGAAATTGAATGCCGAGATTATCAAGCCAGTGTTC
+>r9319
+GAAAAAGAAGGTATTAACTGTAACCTGACCCTGCT
+>r9320
+GCCCCAACAAACTGATGCCATGCAGGACATGTTTT
+>r9321
+GGTAACAGGTATTATTCTCGCTGTCTTTGCTCTGC
+>r9322
+CTCTCGCCTGTGGTTCATACCATTGCCAGTGATTA
+>r9323
+GCAGACCCGCCGTCAAATCGCCGAAGTTTCCACTC
+>r9324
+GTATTATTCTCGCTGTCTTTGCTCTGCTGGCGATC
+>r9325
+GGCCACTACGGTGGTGTACTGACGAAGGGAGGTCA
+>r9326
+AGACAGCGAGAATAATACCTGTTACCAGCGGGGGA
+>r9327
+TTAATCAGGCAAGGGATCTGGAACTGGGCGATGGG
+>r9328
+CAAAATCCAGCTTCAGCATCTCATCAATTTCAGTC
+>r9329
+ACTATCATGACGGACAAATTGACCTCCCTTCGTCA
+>r9330
+AAACCAGTCAGTTGCTCTGGTTTGGTCAGCCGATT
+>r9331
+CTGCCAGTCATGAAAGCGAGCGGCGTTGATACCCG
+>r9332
+TGAAAGATCACAATGAGCAGGTCAGCTTTGCGCAA
+>r9333
+GAAGGACGCTGAGGGTAACGTTGTGGTGCACGGTA
+>r9334
+GCCACGATGATCATTGTGCTTGTTATGGCGCGGCG
+>r9335
+CAACCAGGATCCAATGGCAGTAGATAAACTGGCGG
+>r9336
+CGCCACCGACGCCAATCACAAACACTTCGATAACC
+>r9337
+AGACTCCTAACTTCCATGGGAGGGTACGTAGCAGA
+>r9338
+AGTTGCCACATCAGCGGAAAACTTAACAAGGTGCC
+>r9339
+CCGTTATGGGTCGATATCCGGAGATTACGCGATGA
+>r9340
+AAACTCTGCGGGCAGCACAGGTTCAATTTCAATAT
+>r9341
+GGCCTTCGCCACACGCGCGGCAAAGAGATCGTCGA
+>r9342
+AATTCTGGCGTTTAAAGGTGATGTCTACACTGGCT
+>r9343
+AAGTCTCGACGGCAGAAGCCAGGGCTATTTTACCG
+>r9344
+AAGTAAGAAAGCTCCATCGCTTCCTGATAGGACAT
+>r9345
+AAACAACATTATGAATGGCGAGGCAATCGCTGGCA
+>r9346
+GTGCGCTATGCCTATATTGGTTAAAGTATTTAGTG
+>r9347
+AGCTGCCGCTGCCGCGTTTGGCGTCGACCCCATTC
+>r9348
+TGTACATTGGTGAGCAGTGCCTTCGAGTTAGCAAC
+>r9349
+GCAGCATTCAGACCGAAGAGTGCAAGACGCGAAGT
+>r9350
+TACGCTCATTGGTGCCAGCCGTGATGAAGACGAAT
+>r9351
+CTAACTTCGCGTCTTGCACTCTTCGGTCTGAATGC
+>r9352
+TTTCCGTGGTGCTGATTACGCAATCATCTTCCGAA
+>r9353
+CGGCTGGCACCAATGAGCGTACCTGGTGCTTGGGG
+>r9354
+AGACATCACCTTTAAACGCCAGAATTGCCTGGCGG
+>r9355
+TATTCCGGAATCTGCGCTGCGTTAAGAATGAGAGA
+>r9356
+AATTTCAATATCCGCCAGCTCCAGTTCACGTCCCG
+>r9357
+GGCCGCCAGCACCGCAGCGGAGTAGTCGGAACCGT
+>r9358
+AGGGTTCAGCGATAACATCTTTCATCAGCTTCGCG
+>r9359
+TCACCCCCGCACCATTACCCCCATCGCCCAGTTCC
+>r9360
+TATCAAGCCAGTGTTCCTCGATGAGAAGAACGGCA
+>r9361
+CCCTTTCATCCCCGGGCCGGAAACGCTGAACATTG
+>r9362
+TCTTTAAACAGCTTGTTAGGGGGATGTAACCGGTC
+>r9363
+AGAATGCCCGCCAGGCAATTCTGGCGTTTAAAGGT
+>r9364
+TCATCCCCGGGCCGGAAACGCTGAACATTGCCATG
+>r9365
+GGCCCGACTTTGTTCGCTCTGTGTGACAAGCCGGA
+>r9366
+GCAAAGACAGCGAGAATAATACCTGTTACCAGCGG
+>r9367
+CTGGAGCAACTGAAGCGTCAGCAAAGCTGGTTGAA
+>r9368
+CCTTCTTTTTCCAGCTGTTCTGCAGCACGGATACC
+>r9369
+ATGAGCAGGCGATCATCGAGCAAACGTTGTGTGAA
+>r9370
+TCCACGTTGTTACGCCGAACAAAAAGGCCAACACC
+>r9371
+ATCACCAACAAGCTGAACGAGGCGCTCGCAGCACA
+>r9372
+ATGAGCAAAAAGACGGCGAACAGAACGCCCATCCA
+>r9373
+ACCAGAGCAACTGACTGGTTTTAATAGCGAAGGTT
+>r9374
+CAATGGGCAGTTTCGTGGCGGACCGGCATGGTATA
+>r9375
+ACATTATGAATGGCGAGGCAATCGCTGGCACCCAC
+>r9376
+TACGGTACGCTGGCAAAAATACCGTGCACCACAAC
+>r9377
+AGACACGTAAGTCGATATGTTTATTCTTCAACCAG
+>r9378
+TGAGGTTAAACCGCCTGGCTGTGGATGAATGCTAT
+>r9379
+CTGCGGGTTGCCGATATTCTGGAAAGCAATGCCAG
+>r9380
+TGGAGAAAGCTGGCGACCGATCTCCGGATAACGCA
+>r9381
+GAGCGGCAGTGGCTCATGCTTTCTACGGTTTACCG
+>r9382
+ACCTGCAAAATCAGGAAGGTTTTGTTCATATTTGC
+>r9383
+GAAAAAGGAGAAATTCTCAATAAATGCGGTAACTT
+>r9384
+CAGAACCAGGGAAAGTGCGAGTACGATAGATTGCA
+>r9385
+GAAAACACGGTGCCACGTTGTCGTAATGAATGCTG
+>r9386
+CGTGAGTTAAAAGAACTGGGCTATACCTCGGAGCC
+>r9387
+CCAGTTGGTTGTCTCGGTACCGAGTGGAAACTTCG
+>r9388
+TTCGCTTTCTTATATCTTCGGCAAGTTAGACGAAG
+>r9389
+AACGTTGTGTGAACTGGTGGATGAAATGAGTTGCC
+>r9390
+GACAACGTGGCACCGTGTTTTCTTGGTGGTATGCA
+>r9391
+GCTTCATCAAAGAAGTAACCTTCGCTATTAAAACC
+>r9392
+CTCGTGGATAGAGGATAACCACTTTCACATTCGGT
+>r9393
+ATAGCCCTGGCTTCTGCCGTCGAGACTTTAATCCC
+>r9394
+GTATTGAACAGCATCTGATGAGTAACGCGCACGCC
+>r9395
+CCGCCTGCCGCGCCTGCCGGAAGCCTGGCAGTAAC
+>r9396
+GGCATTTAAAGATTTCGGCGGTCGCTTTATGGCAC
+>r9397
+GGAATCTGCGCTGCGTTAAGAATGAGAGAAGGGTT
+>r9398
+ACGCCGCATCCGGCATAAACAAAGCGCACGTTGTT
+>r9399
+TTCACTTTGAACAGCGGATCATTACCATCCACTTC
+>r9400
+GCGGTCAGGATGCTTTACCCAATATCAGCGATGCC
+>r9401
+CAACTGCCGTTCTCATCGCGTAATCTCCGGATATC
+>r9402
+GTAATTGCCAGCGCAACGCCGGCCAGGTTGCCGCT
+>r9403
+TGGGTTACGGCTTGCGCAAAGCTGACCTGCTCATT
+>r9404
+CACTGGCTTGCAGGCCGAAACCTTCAGCGAAGACG
+>r9405
+ATCTCCCCAGAATTGATACAGATCTTTCCCTCGGG
+>r9406
+GAAACTGTTGCCATCGACGGCGATTTCGATGCCTG
+>r9407
+GCGCATCCGGCGAAATTTAAAGAGAGCGTGGAAGC
+>r9408
+CCCGTCAGTAAAATTACAGATAGGCGATCGTGATA
+>r9409
+GCCAAGCTCCTGGCAAAAACGCTCCCAGCACTGAT
+>r9410
+GCATCATCAATCAACTTACGGTATTCCGGAATCTG
+>r9411
+AGCCGTTGGCGGTGACGGAACGGCTGGCCATTATC
+>r9412
+GATGCTTTACCCAATATCAGCGATGCCGAACTTAT
+>r9413
+GATATGGTGCGGGCAATGACGTTACAGCTGCCGGT
+>r9414
+GCCGAAGAAATTGAATGCCGAGATTATCAAGCCAG
+>r9415
+TCGTGAAAGAATATCATCTGCTGAACCCGGTCATT
+>r9416
+GTGACAAAATCCAGCTTCAGCATCTCATCAATTTC
+>r9417
+TCCTGTGTAAACGTTACCAATTGTTTACGAAGTAT
+>r9418
+GCGCCGCGACCACTGAACAGGCGCTGGAGCCTAAG
+>r9419
+GGTTGTCTGGAATTGTTCCACGGGCCAACGCTGGC
+>r9420
+TGGAACTGGGCGATGGGGGTAATGGTGCGGGGGTG
+>r9421
+GGCGATGGGGGTAATGGTGCGGGGGTGAAGAACTT
+>r9422
+ATAACCACTTTCACATTCGGTAAACCGTAGAAAGC
+>r9423
+ATCCATGAAACGCATTAGCACCACCATTACCACCA
+>r9424
+GTCAGAAGTTCGGCAAAAATAAGTTCGGCATCGCT
+>r9425
+GAGCGTCGGGTTTGATGTGCTCGGGGCGGCGGTGA
+>r9426
+TTCAGCGAAGACGATTTCGATTTTGCCCAACAGCA
+>r9427
+AAATCAGGGGCTGTTTTTTCCGCACGACCTGCCGG
+>r9428
+GCAGGGGCAGGTGGCCACCGTCCTCTCTGCCCCCG
+>r9429
+CCGGGGATTAAAGTCTCGACGGCAGAAGCCAGGGC
+>r9430
+ACCGTCGTGCAGGAAACGTGGTACGGTATCGTTCA
+>r9431
+CGGTGCGATGGTCAGACGGTCGCAGCCTGCCAGTT
+>r9432
+TAAGTTACCGCATTTATTGAGAATTTCTCCTTTTT
+>r9433
+TTGGCAATATTGATGAAGATGGCGTCTGCCGCGTG
+>r9434
+TTTAACTCACGCATTGTCTGTTGCGTGGTTTCATC
+>r9435
+TCGTGCGCCCGCCGTATCCAGCCGGCAAATATGAA
+>r9436
+TGCACCATCAACAGGTGTCACCGCCGCCCCGAGCA
+>r9437
+AATTGCCAGCGCAACGCCGGCCAGGTTGCCGCTAC
+>r9438
+TCTCAAAAATAGACCAAATGACGTGGGGAAGTTGC
+>r9439
+TTGATGTGCTCGGGGCGGCGGTGACACCTGTTGAT
+>r9440
+CGCCGTATCCAGCCGGCAAATATGAACAAAACCTT
+>r9441
+TATCATTCTGCTTAACGAGACTGTTTAAACGGAAA
+>r9442
+TCATTCTCTTTTTTTGCTAAAGTCGGCATAAATTT
+>r9443
+TTGTGCTGCCACAGGAACTCGGACTCAGTGATACG
+>r9444
+AAAATCTGCTCAATGCTGGTGATGAATTGATGAAG
+>r9445
+CGCTAAGAAAGCACGCGGTCTGATGAGTCGTTTCA
+>r9446
+TCGAAAAAAAAGCCCGCACTGTCAGGTGCGGGCTT
+>r9447
+CCCTCTTATTGCCGGTCGCGATGACTTTCCTGTGT
+>r9448
+CCGGCCAGGTTGCCGCTACCCACGCGCGCTGCAAG
+>r9449
+AACAACGTGCGCTTTGTTTATGCCGGATGCGGCGT
+>r9450
+TTCCAATGAGGCGGGAATGGGGTCGACGCCAAACG
+>r9451
+CGATACCGTACCACGTTTCCTGCACGACGGTCAGT
+>r9452
+GTATCTCAACTGAAGTTGATGCGCGTCTTTCCTAT
+>r9453
+TTTTCTTCGATCATCAACTGCATACCACCAAGAAA
+>r9454
+GAAAACGCCCTGGCCTTCTATAGCCACTATTATCA
+>r9455
+TAAGTTAAGGATCAGCGCCTGTTTGCGAATCACCC
+>r9456
+GGGAGGTCAATTTGTCCGTCATGATAGTATTTCTC
+>r9457
+CTTTGTAGTACTGGTAGATTTCAGATACAGAAACC
+>r9458
+ATGATATCACAAGGGCGAATTCTGCAGATATCCAT
+>r9459
+GTTCTGCATTTGCCACTGATGTACCGCCGAACTTC
+>r9460
+GCTGCCGTTGGTACTGCGCGGATATGGTGCGGGCA
+>r9461
+GCCGGTAAAATAGCCCTGGCTTCTGCCGTCGAGAC
+>r9462
+CGATAAAAATGCCAATCATCTGGACAATTCCTTGC
+>r9463
+TGCGTGGTTTCATCATCCACGGCTGCATAACCCAG
+>r9464
+GCGATATCAACGCAGCGAATTGGGCCTCTAGATGC
+>r9465
+GGCACTTGCTGGCTGATGATGTCGTTTTCTTCGAT
+>r9466
+GAATCTGCGCTGCGTTAAGAATGAGAGAAGGGTTG
+>r9467
+AGACGGCTCCAGGTCCACCGGCGGTAATTGCCAGC
+>r9468
+TGCAAGGACTGGATATGCTGATTCTTATTTCACCT
+>r9469
+TCTTTTTCCAGCTGTTCTGCAGCACGGATACCCTG
+>r9470
+CAACCGAAGTCTATTAAAGAGACGCTGGAAGGTGT
+>r9471
+TGCGACCACTGGCGTGCGCGTTACTCATCAGATGC
+>r9472
+GATCCTTTCGCGTCAGGTGGGGGTGATTCGCAAAC
+>r9473
+CTGGCAGAACGTGCTGATTTACCCTTGCTTTCGCA
+>r9474
+GGAAACTTCGGCGATTTGACGGCGGGTCTGCTGGC
+>r9475
+CTTATTTTTGCCGAACTTCTGACGGGACTCGCCGC
+>r9476
+TAGCATTCATCCACAGCCAGGCGGTTTAACCTCAT
+>r9477
+GATCAAACACCGGGCGCACGCCGAGTTTACGCTGG
+>r9478
+CGAGCTGAACGGGCAATGCAGGAAGAGTTCTACCT
+>r9479
+CACAACCAACCCTTCTCTCATTCTTAACGCAGCGC
+>r9480
+TTCATCACCAGCATTGAGCAGATTTTGCAGGTTCT
+>r9481
+GGCAACTTCCCCACGTCATTTGGTCTATTTTTGAG
+>r9482
+GTCAGTTGCTCTGGTTTGGTCAGCCGATTTTCAAT
+>r9483
+GCCTGGGGGGATTTTTTTATTCGCTAACTTCGCGT
+>r9484
+AGTGGTCACCCAAAGCGACTCAGGCGACGTTATCC
+>r9485
+CTGGATACGGCGGGCGCACGAGTACTGGAAAACTA
+>r9486
+TTAGGAGTCTGACATGGTTAAAGTTTATGCCCCGG
+>r9487
+CCGTAAGTTGATTGATGATGCTGTCGCCTGGGCGA
+>r9488
+CGGTAATCCAGCCCCAACGTTGGTGTCATAGAGGA
+>r9489
+GTTTTCGCCATTTTTCACTTTGAACAGCGGATCAT
+>r9490
+ACCAATGAGCGTACCTGGTGCTTGGGGATTTCCGG
+>r9491
+AACGGATCAAACACCGGGCGCACGCCGAGTTTACG
+>r9492
+GCGTGAATGAAGCCTGCCAGATGTCGCCCGTGCGC
+>r9493
+GCGAAGGCCCGTGATGAAGGAAAAGTTTTGCGCTA
+>r9494
+GTTACCCGCCAGTAATATCAGCATGGCGCTTGCCG
+>r9495
+CGGCAGCTGCGTCCTGGCCTCCGCATCCGGCAGCG
+>r9496
+GCTTCCGCACAAGCACGAGCCTGAGCGAAGGAGAA
+>r9497
+GAGAACTTCATCAATTCATCACCAGCATTGAGCAG
+>r9498
+TCCTGTGTAAACGTTACCAATTGTTTACGAAGTAT
+>r9499
+CTACTGCCATTGGATCCTGGTTGTGCTGCCACAGG
+>r9500
+AGTGCGGGCTTTTTTTTCGACCAAAGGTAACGAGG
+>r9501
+TTCTTTTCCAGAGTCATCGCCACTGGAATTTGCTT
+>r9502
+ATTTGTTATTACTTTGAGGCTGTCGCACAGTTGCC
+>r9503
+GCTGTTTAAAGAGAAATACTATCATGACGGACAAA
+>r9504
+GCCCGGCTCATGCAGGGGTTTGTCCCGTTGATGGC
+>r9505
+GATGAATTGATGAAGTTCTCCGGCATTCTTTCAGG
+>r9506
+GCACTGTCAGGTGCGGGCTTTTTTCTGTGTTTCCT
+>r9507
+CTAATTGTTAAGCTCCCCCCGCTCGAAGGGATAAG
+>r9508
+CGACAGCCTCAAAGTAATAACAAATCTGCGCCAGC
+>r9509
+TCCACGCTCTCTTTAAATTTCGCCGGATGCGCGGT
+>r9510
+CGCTGGAAGGTGTGAAGGACGCTGAGGGTAACGTT
+>r9511
+TCTCTTCTTTTTACGCCTGAACAACCCTAAAGCGA
+>r9512
+AGAATACGGCCAACAAACGGCGAGATCAGGAACAC
+>r9513
+TCTCCGCCAGCTCTTTCAGCAGTGCCGGTGCGATG
+>r9514
+ATTCCGGCTGACCACATGGTGCTGATGGCTGGTTT
+>r9515
+TTCCACCAGCCGTGGTCGCCCCAATGACCGCCATC
+>r9516
+CCCAATATCAGCGATGCCGAACTTATTTTTGCCGA
+>r9517
+GATACGCCAGCACCCACAGCCACTCATCAAACCCT
+>r9518
+TCTACACTGGCTTGCAGGCCGAAACCTTCAGCGAA
+>r9519
+GCTTTCTACGGTTTACCGAATGTGAAAGTGGTTAT
+>r9520
+AAGCCAGTTTGATCAGAATACGATCGTTGCTAATA
+>r9521
+GGATCGATAACGGTAACGTTGTGACCACGCGCTTC
+>r9522
+ATGAAGAAAATATGGAGAAAAACGACAGGGAAAAA
+>r9523
+ATGGTTATGAAACCGTGGTTATGGGCGCAAGCTTC
+>r9524
+CGGGCATTCTCAAGACGTATCCCCATTTCCAGACG
+>r9525
+CTGGCAGGAAGCTGCAGGCGGCGCGGCGGGATATA
+>r9526
+CGACTTACGTGTCTGCGGTGTTGCTAACTCGAAGG
+>r9527
+CCGGCAGGTCGTGCGGAAAAAACAGCCCCTGATTT
+>r9528
+GCCGATCATTTTTTCCAGTTTTTCCTGGTCAACAG
+>r9529
+AATCCTGGCGGCGATACTGCGCCGGTAAAATAGCC
+>r9530
+CCAGCGGCATGTAGGTTGTGCCGTTACCCGCCAGT
+>r9531
+CGCAAGCCGTAACCCAGGGGTTAGGCAAAAATCAG
+>r9532
+ATCGCTGAACCCTACCGTGAACGGTTACTGCCAGG
+>r9533
+TCAAGAATACGGCCAACAAACGGCGAGATCAGGAA
+>r9534
+AATATGGCTTGTTCCTCGGCACCGCGCATCCGGCG
+>r9535
+GGAAAACTGGCAGGAAGAACTGGCGCAAGCCAAAG
+>r9536
+AAACGGAAAAATCTTGATGAATACTTTACGTATTG
+>r9537
+AGCCATATTCGCCTGGATTCAACTGGTCACGCAGC
+>r9538
+GGGCCATACGTTGAAACGGCACCGGAAGTGGTTGC
+>r9539
+CCAGCTTTCTCCAGACGCGTGGGATGATGTTTCGC
+>r9540
+CCGGCTTGTCACACAGAGCGAACAAAGTCGGGCCG
+>r9541
+CAATTACCGCCGGTGGACCTGGAGCCGTCTTCTGG
+>r9542
+CACTCTTTTTTTAATCCACACAGAGACATATTGCC
+>r9543
+AGGAGAACAGCAGGGTCAGGTTACAGTTAATACCT
+>r9544
+GTTGGCAACGATGGAGCTGAAGGCAAACAGAATAA
+>r9545
+AATAGCCACGATTATCACGATCGCCTATCTGTAAT
+>r9546
+ATCGCCGCCAGGATTGCATTGCGCACGGGCGACAT
+>r9547
+GCAACGGCGTTCGCCTGAACTCCGCTGAAAATTAT
+>r9548
+CATAGCGCAAAACTTTTCCTTCATCACGGGCCTTC
+>r9549
+GCTACCTCTTCTGAAACCTGTCTGTCACTCCCTTC
+>r9550
+TTCTCATCGCGTAATCTCCGGATATCGACCCATAA
+>r9551
+TGGCAGGCTTCATTCACGCCTGCTATTCCCGTCAG
+>r9552
+CTTATCCCTTCGAGCGGGGGGAGCTTAACAATTAG
+>r9553
+GGCGCGCGTCTTTGCAGCGATGTCACGCGCCCGTA
+>r9554
+GGTAAAACGTTTTATTGCTGCGACCAACGTGAACG
+>r9555
+GGGGATGTAACCGGTCTGCCCTGATGATATCACAA
+>r9556
+GTTCTGCATTTGCCACTGATGTACCGCCGAACTTC
+>r9557
+CTGCGGGGGCGTCAGTTTCCGCGCTTCATGGATCA
+>r9558
+CGGCACCGGAAGTGGTTGCAGCATTCAGACCGAAG
+>r9559
+TGATAATCTCGGCATTCAATTTCTTCGGCTTCACC
+>r9560
+GTTCAGTGGTCGCGGCGCTGATGGCGATGAATGAA
+>r9561
+TTTATTGACTTAGGTCACTAAATACTTTAACCAAT
+>r9562
+CATTATGGCCTGCATGGCTATTACCAATTTGACCG
+>r9563
+GTTGCTGGAAGGGCCATACGTTGAAACGGCACCGG
+>r9564
+GATGACAAACGCAAAACTGCCTGATGCGCTACGCT
+>r9565
+AAAAATCTTGATGAATACTTTACGTATTGGCTTAG
+>r9566
+AAACTGCCTGATGCGCTACGCTTATCAGGCCTACG
+>r9567
+CGCCGAACAAAAAGGCCAACACCTCGTCGATGGAT
+>r9568
+GCGGAAATCGGCGCGGTAGCGAGCGGTATCTCCGG
+>r9569
+TTGGTGATGATATCTCCCCAGAATTGATACAGATC
+>r9570
+CCGTTACCTGTGGTAATGGTGATGGTGGTGGTAAT
+>r9571
+TTTACGTTCGATAGCCCCTTCGCTCTCCGCCAGCT
+>r9572
+GCGCCCGCTCGATTTAATGCAGCCTTATCGTCTGG
+>r9573
+TAGTCGGAACCGTTGCGTCCCAGAACCACCAGCTC
+>r9574
+ACGCGCTATACGCTGCCGGAGCTGTTAGACAACGC
+>r9575
+CTGTTCTGCAGCACGGATACCCTGCCAGGTAGAAG
+>r9576
+CTGATTTTGCCTCGTGGATAGAGGATAACCACTTT
+>r9577
+TGCTCAATGCTGGTGATGAATTGATGAAGTTCTCC
+>r9578
+GCAAGCTTCCGTAACATCGGCGAAATTCTGGAACT
+>r9579
+GGACTCAGTGATACGCGCCGGACGCGCTTTCACTT
+>r9580
+CCTGGCTTAAGGTATATCCCGCCGCGCCGCCTGCA
+>r9581
+GACTGGATATGCTGATTCTTATTTCACCTGCGAAA
+>r9582
+ACATCTTTCATCAGCTTCGCGGCAAGCTCAAGCTG
+>r9583
+TCGCGGTCCGCTACTGCCAGCGTCGCATCGGGCGT
+>r9584
+CCGAGTGACTTCGCCAGCAGACCCGCCGTCAAATC
+>r9585
+ATGATTTACCTGCTTTTCGGCGCAGGTTGTTGGTT
+>r9586
+TGCCGACTTCCTGCGCGAAGGTTTCCACGTTGTTA
+>r9587
+GGGAGCGACCAGAACCAGGGAAAGTGCGAGTACGA
+>r9588
+GAGGTCAATTTGTCCGTCATGATAGTATTTCTCTT
+>r9589
+AAAGAGAATGAGTTGATCGATAGTTGTGATTACTC
+>r9590
+GATGCCTTTATCCTGATAAACGCCGCTGGATGCGC
+>r9591
+CTGGAGAAAGCTGGCGACCGATCTCCGGATAACGC
+>r9592
+GCCGCATCCGGCATAAACAAAGCGCACGTTGTTAA
+>r9593
+GGCTGATGATGTCGTTTTCTTCGATCATCAACTGC
+>r9594
+ATCGAAGAAAACGACATCATCAGCCAGCAAGTGCC
+>r9595
+TTAATTTACTCACGGCAGGTAACCAGTTCAGAAGC
+>r9596
+CTAAAGCGATCTGGTGTCTGCGGATCTGCACCTTC
+>r9597
+TTCTTATTTCACCTGCGAAAACGCTTGATTACCAA
+>r9598
+CCATTACCCCCATCGCCCAGTTCCAGATCCCTTGC
+>r9599
+GTTCACGGTAGGGTTCAGCGATAACATCTTTCATC
+>r9600
+TTCAGTCAGGCTGAATTCCGGCAGGTCGTGCGGAA
+>r9601
+GAAGGTGCAGATCCGCAGACACCAGATCGCTTTAG
+>r9602
+CATCGAAATCGCCGTCGATGGCAACAGTTTCGATA
+>r9603
+TGGTATGAACCACAGGCGAGAGCAGTAATATGGCG
+>r9604
+GATTCAGCAATATCAACGGTAGATTCGAGGTAATG
+>r9605
+GGCAGTAGCGGACCGCGAGATGCCAGGCTTTGGTG
+>r9606
+GATATTGCCGCCCAATGTACAGAACAGTTTTTCTT
+>r9607
+CCAGTTTGTCGCTGATGCGCATCAGGGAGCTAATC
+>r9608
+GGAGTAGTCGGAACCGTTGCGTCCCAGAACCACCA
+>r9609
+ATCGCGCATCCAGCGGCGTTTATCAGGATAAAGGC
+>r9610
+CCACGACAGAGATTGAGCGTTCAGAAGATCCCTGA
+>r9611
+TTCATTACCGGCAGTGAAACCAGCCATCAGCACCA
+>r9612
+ACGCCGAACAAAAAGGCCAACACCTCGTCGATGGA
+>r9613
+GCGCACGATAAGCTACGGCAGCGTGCGGCTCCGAG
+>r9614
+CCGTTTGAACTGGAAACCCGCTTAATCCCCGATGA
+>r9615
+GCCCGTTATGGGTCGATATCCGGAGATTACGCGAT
+>r9616
+GCGCTCGCAGCACAAGGCGATAATGTGGTGATAAA
+>r9617
+TTACTCATCAGATGCTGTTCAATACCGATCAGGTT
+>r9618
+TTTAACCAATATAGGCATAGCGCACAGACAGATAA
+>r9619
+TACTCCTTTTATCATTGCCCGTTATGGGTCGATAT
+>r9620
+CGCAGTGCGAAGATCCTCTCGGCGTTTATTGGTGA
+>r9621
+TCAGGGCTCGCGCAACGGCGTTCGCCTGAACTCCG
+>r9622
+CGCAAGGAATTGTCCAGATGATTGGCATTTTTATC
+>r9623
+CTCGTGCTTGTGCGGAAGCGGGCGTGTTCCTGATC
+>r9624
+CTGCTCATCGGGGATTAAGCGGGTTTCCAGTTCAA
+>r9625
+AATCCATCGACGAGGTGTTGGCCTTTTTGTTCGGC
+>r9626
+GGCGCGGCAGGCGGTTGCGGAAATCGGCGCGGTAG
+>r9627
+TTTGATGAAGCTTCCTCCAGCAATGGCGAACTGGT
+>r9628
+CTACGCCAGCGTAAACTCGGCGTGCGCCCGGTGTT
+>r9629
+GAAACCGTGGTTATGGGCGCAAGCTTCCGTAACAT
+>r9630
+GCGTTGCGTAAATTGATGATGAATCATCAGTAACA
+>r9631
+ATCACACTGGCGGCCGCTCGAGCATGCATCTAGAG
+>r9632
+CACGGATACCCTGCCAGGTAGAAGCCAGTTTGATC
+>r9633
+AACAAAACCTTCCTGATTTTGCAGGTAGTTCTTAC
+>r9634
+GTTGATGCTATCCGGGCACTGCCCCAACAAACTGA
+>r9635
+AGCCTTATCGTCTGGAAATGGGGATACGTCTTGAG
+>r9636
+GCAAATTCAATATATTGCAAGAAGATCGTAGGCCT
+>r9637
+TTTCCACCAGCCGTGGTCGCCCCAATGACCGCCAT
+>r9638
+CCACCTGACGCGAAAGGATCGCAGTTGGTACAAAA
+>r9639
+GTGTTTATACCTGCGATCCGCGTCAGGTGCCCGAT
+>r9640
+AATGAGAGAAGGGTTGGTTGTGGCATCCTGCGGTT
+>r9641
+GCCTTCGCCACACGCGCGGCAAAGAGATCGTCGAG
+>r9642
+TTCTCGCTCGTGAAACGGGACGTGAACTGGAGCTG
+>r9643
+CAGGCGAACGCCGTTGCGCGAGCCCTGAGTTTTTC
+>r9644
+CCCAAGCACCAGGTACGCTCATTGGTGCCAGCCGT
+>r9645
+AATGAGCAGGTCAGCTTTGCGCAAGCCGTAACCCA
+>r9646
+TAAACAGTCTCGTTAAGCAGAATGATACACTGCGA
+>r9647
+ACCGGCGCAGTATCGCCGCCAGGATTGCATTGCGC
+>r9648
+AGGAGAAAAAATCTGGCATGCATATCCCTCTTATT
+>r9649
+ACCATATCCGCGCAGTACCAACGGCAGCGGCTGAT
+>r9650
+GGTCAGGTTACAGTTAATACCTTCTTTTTCCAGCT
+>r9651
+TGTTCCTCGATGAGAAGAACGGCAAATTTAAGATC
+>r9652
+GGATGTTAGCCAGCCAAACAACTGGCCGCGTGTGG
+>r9653
+TTGCCGCGCTGGCCCGCGCCAATATCAACATTGTC
+>r9654
+AACGGCTCCAGTAAGCCTTCTTTCAGTTCCAGGTA
+>r9655
+GCAACTCATTTCATCCACCAGTTCACACAACGTTT
+>r9656
+CACGTTGTTACGCCGAACAAAAAGGCCAACACCTC
+>r9657
+GTGCGAGCTGAACGGGCAATGCAGGAAGAGTTCTA
+>r9658
+GCCGCTGCCGTTGGTACTGCGCGGATATGGTGCGG
+>r9659
+CTATTGATTCTCGCTCGTGAAACGGGACGTGAACT
+>r9660
+GCCAGCGCAACGCCGGCCAGGTTGCCGCTACCCAC
+>r9661
+CTCCAGACGCGTGGGATGATGTTTCGCAGGAGTAA
+>r9662
+CTGACAGGCATCGAAATCGCCGTCGATGGCAACAG
+>r9663
+CGGTAGATTCGAGGTAATGACCCACTGCCAGCAGT
+>r9664
+TGCTGCGAGCGCCTCGTTCAGCTTGTTGGTGATGA
+>r9665
+ATCCCCGGATACGCCAGCACCCACAGCCACTCATC
+>r9666
+ACCTGCATCGTTGTAGAGTTTGATCAGGCGTTTTG
+>r9667
+CGCCGCTGGATGCGCGATCAGAGATGGAAACTAAG
+>r9668
+ACCTGTTGATGGTGCATTGCTCGGAGATGTAGTCA
+>r9669
+TTCTTACCCAACCAGTCGGCAACGCGCTGGGCGGT
+>r9670
+TGGCGGGCATTCTCCGGTGTGAAATTTGGCTGCCA
+>r9671
+ACCGCCGAAATCTTTAAATGCCAGCGTTGGCCCGT
+>r9672
+ATCCAGAAGACGGCTCCAGGTCCACCGGCGGTAAT
+>r9673
+TCACGATCGCCTATCTGTAATTTTACTGACGGGAC
+>r9674
+TGGCACAATTGAAAACTTTCGTCGACCAGGAATTT
+>r9675
+AGTTCGGCATCGCTGATATTGGGTAAAGCATCCTG
+>r9676
+AAACGCATTAGCACCACCATTACCACCACCATCAC
+>r9677
+GACTGAAATGAGGTTAAACCGCCTGGCTGTGGATG
+>r9678
+TGGCTTGATAATCTCGGCATTCAATTTCTTCGGCT
+>r9679
+ATAAAGGCATCCCTGCGCTGGAAGAATGGCTGACA
+>r9680
+GATGCTGTCGCCTGGGCGAAACAGCAGAGCAACGA
+>r9681
+TCACCTTTAAACGCCAGAATTGCCTGGCGGGCATT
+>r9682
+TCGCTGCGTTGATATCGCCCGCCATTTTTATACGA
+>r9683
+TGATCCATGAAGCGCGGAAACTGACGCCCCCGCAG
+>r9684
+GGAACTGGCAGGCTGCGACCGTCTGACCATCGCAC
+>r9685
+CCGAGATCCCACGTAAGGTGCGCATACCATCACCT
+>r9686
+TTAAACGGAAAAATCTTGATGAATACTTTACGTAT
+>r9687
+CACTGCGGCAAGCCGCTTAATGACACTCGTTTGCT
+>r9688
+TCTGTTCGCCGTCTTTTTGCTCATCGCCTACGGCA
+>r9689
+AGTATGTTTTCCAATGAGGCGGGAATGGGGTCGAC
+>r9690
+ACAGCTCGACGATCTCTTTGCCGCGCGTGTGGCGA
+>r9691
+TGGCGGAGAGCGAAGGGGCTATCGAACGTAAACTG
+>r9692
+TCCGCAACCGCCTGCCGCGCCTGCCGGAAGCCTGG
+>r9693
+AAATTCAATATATTGCAAGAAGATCGTAGGCCTGA
+>r9694
+TGCCAAACTGGCGGATGTAGCGAAACTGCACAAAT
+>r9695
+GCGTAAACAGGCCGCCAGCACCGCAGCGGAGTAGT
+>r9696
+TGATGATATCACAAGGGCGAATTCTGCAGATATCC
+>r9697
+AACCTGTCTGTCACTCCCTTCGCAGTGTATCATTC
+>r9698
+AATATGGAGAAAAACGACAGGGAAAAAGGAGAAAT
+>r9699
+CGCAAACAGGCGCTGATCCTTAACTTACCCGGTCA
+>r9700
+ACCCATAACGGGCAATGATAAAAGGAGTAACCTGT
+>r9701
+GGAAAGTGCGAGTACGATAGATTGCATCTTTTTCA
+>r9702
+ATCCGCAGACACCAGATCGCTTTAGGGTTGTTCAG
+>r9703
+GAATGTTCCCTCGCACAGCTTTATAAAGAACGTGA
+>r9704
+CTGCATTTTGTACCAACTGCGATCCTTTCGCGTCA
+>r9705
+GTATCTCAACTGAAGTTGATGCGCGTCTTTCCTAT
+>r9706
+GCGGCTCCGAGGTATAGCCCAGTTCTTTTAACTCA
+>r9707
+CCCATCCAGCGCATCCCCAGCCCGCGCGCCATATA
+>r9708
+GCGAGAGCAGTAATATGGCGGTCAAATTGGTAATA
+>r9709
+CGCGCTCTTCCAGGATTTCCTGCGGGATTTCATCA
+>r9710
+ATGTCAGACTCCTAACTTCCATGGGAGGGTACGTA
+>r9711
+CTGGAATTTGCTTGCCAAGCTCCTGGCAAAAACGC
+>r9712
+ACTCTTCCACACGCGGCCAGTTGTTTGGCTGGCTA
+>r9713
+AGGGCGTATCTCCGGCAGCATTCATTACGACAACG
+>r9714
+ACCTGTGGTAATGGTGATGGTGGTGGTAATGGTGG
+>r9715
+CTTATCCCTTCGAGCGGGGGGAGCTTAACAATTAG
+>r9716
+CCGAGAGGATCTTCGCACTGCGGGTGACAAAATCC
+>r9717
+ACGCCGCTCGCTTTCATGACTGGCAGCCAAATTTC
+>r9718
+CAACGGGCTTTGGTAATCAAGCGTTTTCGCAGGTG
+>r9719
+CGCGCCGATTGTTGCGAGATCTGGACGGATGTTGA
+>r9720
+ACTCGGTCTGCCGGTAAAACGTTTTATTGCTGCGA
+>r9721
+GTACAGAACAGTTTTTCTTGCAGTGGACTGATTTT
+>r9722
+CAGGGCCAGTTCCGCCCGTGGTGAGCACCAGATGG
+>r9723
+TTTTTCTGTGTTTCCTGTACGCGTCAGCCCGCACC
+>r9724
+ATTGACCACGACAGAGATTGAGCGTTCAGAAGATC
+>r9725
+GATATTTTCCCGTGGCTCTGACGGCAGCTTATCGG
+>r9726
+TGGTGGAAACAACATTATGAATGGCGAGGCAATCG
+>r9727
+GATCTCGGCGAAATTCTTTGCCGCGCTGGCCCGCG
+>r9728
+GGTGGATTCAGCAATATCAACGGTAGATTCGAGGT
+>r9729
+CAAATTTCACACCGGAGAATGCCCGCCAGGCAATT
+>r9730
+GTACGCGTCAGCCCGCACCGTTACCTGTGGTAATG
+>r9731
+TCCCATGGAAGTTAGGAGTCTGACATGGTTAAAGT
+>r9732
+CAGCATTTGTGCCATAAAGCGACCGCCGAAATCTT
+>r9733
+TGATCTTTCAGATTGTAGAGTTTCATTTAGTTTTC
+>r9734
+TGCGCTGCCATGGGAGCGACCAGAACCAGGGAAAG
+>r9735
+GGCCCGTGATGAAGGAAAAGTTTTGCGCTATGTTG
+>r9736
+CAGGAACCCATTAGCACCCGCATCGCCTTCTGGAT
+>r9737
+TGATAGTATTTCTCTTTAAACAGCTTGTTAGGGGG
+>r9738
+AGACAATGCGTGAGTTAAAAGAACTGGGCTATACC
+>r9739
+AGCTGTTCTGCAGCACGGATACCCTGCCAGGTAGA
+>r9740
+CGATCTCTTTGCCGCGCGTGTGGCGAAGGCCCGTG
+>r9741
+TAACCGTTCACGGTAGGGTTCAGCGATAACATCTT
+>r9742
+AAAAATTACAGAGTACACAACATCCATGAAACGCA
+>r9743
+GGCGCTGGTGAAGCAGGCGTTTGATGATGAAGAAC
+>r9744
+TCGACGATCTCTTTGCCGCGCGTGTGGCGAAGGCC
+>r9745
+TGGACGCGACCGACAAACTGGCAGTAAATATTGGT
+>r9746
+TATCCTGATAAACGCCGCTGGATGCGCGATCAGAG
+>r9747
+TGTTGGTGATGATATCTCCCCAGAATTGATACAGA
+>r9748
+GCCGGTGTCTTTGCTGATCTGCTACGTACCCTCCC
+>r9749
+CTAATTGTTAAGCTCCCCCCGCTCGAAGGGATAAG
+>r9750
+GCATCAACGCTGCGCTGATTTGCCGTGGCGAGAAA
+>r9751
+CATGCCGCTGGAAGGTATTCAGCTTATCCAGAAGG
+>r9752
+AGAAGTAACCTTCGCTATTAAAACCAGTCAGTTGC
+>r9753
+TCTTTCAGATTGTAGAGTTTCATTTAGTTTTCCAG
+>r9754
+CAGCACCCACAGCCACTCATCAAACCCTGGCACTT
+>r9755
+GCGACGCTGGCAGTAGCGGACCGCGAGATGCCAGG
+>r9756
+TTTATGCCCCGGCTTCCAGTGCCAATATGAGCGTC
+>r9757
+TAGCAGCTTCTGAACTGGTTACCTGCCGTGAGTAA
+>r9758
+AAAGTGGCGCTGGGGCTGAATTCTGCTAACTCCAT
+>r9759
+ATGGTTGTTACCTCGTTACCTTTGGTCGAAAAAAA
+>r9760
+CCCGCACCATTACCCCCATCGCCCAGTTCCAGATC
+>r9761
+ACAAACGGCGAGATCAGGAACACGCCCGCTTCCGC
+>r9762
+ATGTCGCCGCTTTTATGGCGAATCTGTCACAGCTC
+>r9763
+TCCACACAGAGACATATTGCCCGTTGCAGTCAGAA
+>r9764
+TCAGGATGCTTTACCCAATATCAGCGATGCCGAAC
+>r9765
+CTTTCCCTCGGGCATTCTCAAGACGTATCCCCATT
+>r9766
+GCAATCTATCGTACTCGCACTTTCCCTGGTTCTGG
+>r9767
+AAAAAAAGCCGGGCTGCATAAAAGCAAACCCGGCC
+>r9768
+TTATGGCACAAATGCTGACCCATATTGCGGGCGAT
+>r9769
+GCAGCGCGCGTGGGTAGCGGCAACCTGGCCGGCGT
+>r9770
+GAAAACTAAATGAAACTCTACAATCTGAAAGATCA
+>r9771
+TGCGCCAGATCAGCCTGCATTTTGTACCAACTGCG
+>r9772
+AGCAAAGACACCGGCAGCTGTAACGTCATTGCCCG
+>r9773
+CACATTATCGCCTTGTGCTGCGAGCGCCTCGTTCA
+>r9774
+GAAATCCTGGAAGAGCGCGTACGTGCGGCGTTTGC
+>r9775
+CTGATAAACGATATTTTCCCGTGGCTCTGACGGCA
+>r9776
+CTGTGCGAGGGAACATTCGGCAAACGAGGTCGCCA
+>r9777
+CGTAAGTCGATATGTTTATTCTTCAACCAGCTTTG
+>r9778
+CAAAGAGATCGTCGAGCTGTGACAGATTCGCCATA
+>r9779
+ACTGTTGCCATCGACGGCGATTTCGATGCCTGTCA
+>r9780
+GTCGCAGCAATAAAACGTTTTACCGGCAGACCGAG
+>r9781
+CCGAACTTATTTTTGCCGAACTTCTGACGGGACTC
+>r9782
+TGGTTTGGTCAGCCGATTTTCAATAATGAAACGAC
+>r9783
+TCGACGCCAAACGCGGCAGCGGCAGCTGCGTCCTG
+>r9784
+ACATTTTCTCGCCACGGCAAATCAGCGCAGCGTTG
+>r9785
+TGCTTTTGGCTGGCAGGAAGCTGCAGGCGGCGCGG
+>r9786
+GCAGATTTGTTATTACTTTGAGGCTGTCGCACAGT
+>r9787
+AACAAAACCTTCCTGATTTTGCAGGTAGTTCTTAC
+>r9788
+CAGTTTGTCGCTGATGCGCATCAGGGAGCTAATCT
+>r9789
+GCCGAACTTATTTTTGCCGAACTTCTGACGGGACT
+>r9790
+AAATATTGGTCTGGAAATCCTGAAACTGGTTCCGG
+>r9791
+CGCACCTTACGTGGGATCTCGGCGAAATTCTTTGC
+>r9792
+CCTTCTTTCAGTTCCAGGTAGAACTCTTCCTGCAT
+>r9793
+GGAGAACAGCAGGGTCAGGTTACAGTTAATACCTT
+>r9794
+ATCCCTCTTATTGCCGGTCGCGATGACTTTCCTGT
+>r9795
+TGAAGGACGCTGAGGGTAACGTTGTGGTGCACGGT
+>r9796
+AGTGTTCCTCGATGAGAAGAACGGCAAATTTAAGA
+>r9797
+TACGATCGTTGCTAATACCTGCATCGTTGTAGAGT
+>r9798
+CATCAGTTGCGTTATGCGGCGGAAAAATCGCGGCG
+>r9799
+GCTTGGGGATTTCCGGTATTTTTAATCAGGCAAGG
+>r9800
+CATCCCACGCGTCTGGAGAAAGCTGGCGACCGATC
+>r9801
+TATGCCGGATGCGGCGTGAACGCCTTATCCGGCCT
+>r9802
+AGACGAATTACCGGTCAAGGGCATTTCCAATCTGA
+>r9803
+CAGTTTGTTGGGGCAGTGCCCGGATAGCATCAACG
+>r9804
+GCGCTGGAGCCTAAGCCCGAACCGATCGGCATATT
+>r9805
+GCGTACAGGAAACACAGAAAAAAGCCCGCACCTGA
+>r9806
+GACTTCAACAACCTCGCATCGGGCACCTGACGCGG
+>r9807
+AATATGTCTCTGTGTGGATTAAAAAAAGAGTGTCT
+>r9808
+CTCTTATTGCCGGTCGCGATGACTTTCCTGTGTAA
+>r9809
+GTTAAGCAGAATGATACACTGCGAAGGGAGTGACA
+>r9810
+CATGCTTTCTACGGTTTACCGAATGTGAAAGTGGT
+>r9811
+GTTGGTTGTCTCGGTACCGAGTGGAAACTTCGGCG
+>r9812
+CGTATCACTGAGTCCGAGTTCCTGTGGCAGCACAA
+>r9813
+AATACGGGCGCGTGACATCGCTGCAAAGACGCGCG
+>r9814
+TGGGCTATACCTCGGAGCCGCACGCTGCCGTAGCT
+>r9815
+ATTTGACCGCCATATTACTGCTCTCGCCTGTGGTT
+>r9816
+GAAAGATGTTATCGCTGAACCCTACCGTGAACGGT
+>r9817
+GCTTTCTTACTTCGGCGCTAAAGTTCTTCACCCCC
+>r9818
+TGCAACGGGCAATATGTCTCTGTGTGGATTAAAAA
+>r9819
+GGCTTGTTCCTCGGCACCGCGCATCCGGCGAAATT
+>r9820
+GGCGCTAACCACGCCGTTTGAACTGGAAACCCGCT
+>r9821
+CAGAGCGAACAAAGTCGGGCCGGAGCCGGAGATAC
+>r9822
+AGTCTATTAAAGAGACGCTGGAAGGTGTGAAGGAC
+>r9823
+AATCTTGATGAATACTTTACGTATTGGCTTAGTTT
+>r9824
+GTTAATACCTTCTTTTTCCAGCTGTTCTGCAGCAC
+>r9825
+CGCGTCAGGTGGGGGTGATTCGCAAACAGGCGCTG
+>r9826
+ACCGTTCACGGTAGGGTTCAGCGATAACATCTTTC
+>r9827
+CGCCATTTTTCACTTTGAACAGCGGATCATTACCA
+>r9828
+GACGCTGAGGGTAACGTTGTGGTGCACGGTATTTT
+>r9829
+CTGATGCGCATCAGGGAGCTAATCTGCGGGGGCGT
+>r9830
+CAATCCGGCATTGATATTTAGCGATGATGTTTGTC
+>r9831
+TAACCCAGCTCTTTCAGTTGCCAGATTTTGCGGCG
+>r9832
+AAACGCTACGAACAACGTTAAGTTTGTAGTCAATG
+>r9833
+TGTTTCGCAGGAGTAATCACAACTATCGATCAACT
+>r9834
+TTCATCACCAATAAACGCCGAGAGGATCTTCGCAC
+>r9835
+TTCGGAAGATGATTGCGTAATCAGCACCACGGAAA
+>r9836
+TCATTGCCCGCACCATATCCGCGCAGTACCAACGG
+>r9837
+GGATGCGGCGTGAACGCCTTATCCGGCCTACAAAA
+>r9838
+CGTGGAAGCGATTCTCGGTGAAACGTTGGATCTGC
+>r9839
+CGAATCTGTCACAGCTCGACGATCTCTTTGCCGCG
+>r9840
+AAAAAACAGCCCCTGATTTTTGCCTAACCCCTGGG
+>r9841
+CGGGCCTTCGCCACACGCGCGGCAAAGAGATCGTC
+>r9842
+TCTGAAATCTACCAGTACTACAAAGAGCATGGTTA
+>r9843
+CGAAATCGTCTTCGCTGAAGGTTTCGGCCTGCAAG
+>r9844
+AGTCGATATGTTTATTCTTCAACCAGCTTTGCTGA
+>r9845
+TTCCTGCCAGTTTTCCAGATTAAGGCCATGTACAT
+>r9846
+ACGCGCCCGTATTTCCGTGGTGCTGATTACGCAAT
+>r9847
+ATACCTTCCGCCAGTTTATCTACTGCCATTGGATC
+>r9848
+CAATCAGGCCGGGTTTGCTTTTATGCAGCCCGGCT
+>r9849
+ACCGTCTGACCATCGCACCGGCACTGCTGAAAGAG
+>r9850
+AAGGTGCCGCCGATGACCGTTGCGAAGGTGCAGAT
+>r9851
+CAAACTCTACAACGATGCAGGTATTAGCAACGATC
+>r9852
+ACAGGAAAGTCATCGCGACCGGCAATAAGAGGGAT
+>r9853
+AAATCTGCGCCAGCAAGCGACTGATGTTGATGGAG
+>r9854
+AAACTGCCCATTGGCATCACGTTCTTTATAAAGCT
+>r9855
+AGTTTGTCGCTGATGCGCATCAGGGAGCTAATCTG
+>r9856
+CGCACTTTCCCTGGTTCTGGTCGCTCCCATGGCAG
+>r9857
+TTATTCAGATTGGAAATGCCCTTGACCGGTAATTC
+>r9858
+ATCCATGAAACGCATTAGCACCACCATTACCACCA
+>r9859
+TACCTGGAACTGAAAGAAGGCTTACTGGAGCCGTT
+>r9860
+CTGTATCAATTCTGGGGAGATATCATCACCAACAA
+>r9861
+ATCTGCCACAGCCTGGCTGGAAGTACAGTCAACAA
+>r9862
+CCGCGCTTCATGGATCAGCTGCTGGGCGTTGTCTA
+>r9863
+GGTTTACCGAATGTGAAAGTGGTTATCCTCTATCC
+>r9864
+AACTATCGATCAACTCATTCTCTTTTTTTGCTAAA
+>r9865
+ACAGGCGAGAGCAGTAATATGGCGGTCAAATTGGT
+>r9866
+ACTTACCCGGTCAACCGAAGTCTATTAAAGAGACG
+>r9867
+GAAAAACGACAGGGAAAAAGGAGAAATTCTCAATA
+>r9868
+GCTCAAGCTGACGGGAATAGCAGGCGTGAATGAAG
+>r9869
+GAACCACAGGCGAGAGCAGTAATATGGCGGTCAAA
+>r9870
+TACCAACGGCAGCGGCTGATAATAGTGGCTATAGA
+>r9871
+GATTGGAAATGCCCTTGACCGGTAATTCGTCTTCA
+>r9872
+AGCGTCCTTTGGGGATCGGTAATGATTTACCTGCT
+>r9873
+AACAACTGGCCGCGTGTGGAAGAGTTGTTCCGCCG
+>r9874
+GGGGGGATTTTTTTATTCGCTAACTTCGCGTCTTG
+>r9875
+GATAAACTGGCGGAAGGTATCCGTAAGTTTGCTGT
+>r9876
+GCATCTCGCGGTCCGCTACTGCCAGCGTCGCATCG
+>r9877
+GTCAGCCATTCTTCCAGCGCAGGGATGCCTTTATC
+>r9878
+CGCGCAGCAGATCGTGGACGCGACCGACAAACTGG
+>r9879
+TTTTGCCAGCGTACCGTACTGCATTCAGTTGCTGG
+>r9880
+TGCCCCGGCTTCCAGTGCCAATATGAGCGTCGGGT
+>r9881
+CAGAAGGCGATGCGGGTGCTAATGGGTTCCTGGGG
+>r9882
+GTTGCCGCTACCCACGCGCGCTGCAAGACTGGTAC
+>r9883
+GCGGCAGACGCCATCTTCATCAATATTGCCAACAT
+>r9884
+GACTTTTGCCAAACTGGCGGATGTAGCGAAACTGC
+>r9885
+AGTTGCCAGATTTTGCGGCGGAACAACTCTTCCAC
+>r9886
+TCAACCGCAGGATGCCACAACCAACCCTTCTCTCA
+>r9887
+CATCGGGCACCTGACGCGGATCGCAGGTATAAACA
+>r9888
+TGATGAAACCACGCAACAGACAATGCGTGAGTTAA
+>r9889
+CACCAGATCGCTTTAGGGTTGTTCAGGCGTAAAAA
+>r9890
+AAAGCTGGTTGAAGAATAAACATATCGACTTACGT
+>r9891
+CATTGCCAGTGATTATCTACGCCAGCGTAAACTCG
+>r9892
+CTGGTGCTCACCACGGGCGGAACTGGCCCTGCGCG
+>r9893
+CATACAAGCCGGAAAGCATTCGCAAATGCTGTTGG
+>r9894
+GAGCCGTTTAATCTCGGGCGCTTAATTCGCCTCGT
+>r9895
+AACTGCCGTTCTCATCGCGTAATCTCCGGATATCG
+>r9896
+CAGGCGACAGCATCATCAATCAACTTACGGTATTC
+>r9897
+TGCCGGAAGCCTGGCAGTAACCGTTCACGGTAGGG
+>r9898
+ATTGGTAATAGCCATGCAGGCCATAATGATATCTG
+>r9899
+GTTGTGGTGCACGGTATTTTTGCCAGCGTACCGTA
+>r9900
+GGTAGGTGATGGTATGCGCACCTTACGTGGGATCT
+>r9901
+CGATGAGCAAAAAGACGGCGAACAGAACGCCCATC
+>r9902
+TATGGCCTGCATGGCTATTACCAATTTGACCGCCA
+>r9903
+ATAGAGGAATTTACGCCGCGATTTTTCCGCCGCAT
+>r9904
+TCACCGGATGTCGCGGTCAGAATGGTCACTGGCTT
+>r9905
+ATTAGCAACGATCGTATTCTGATCAAACTGGCTTC
+>r9906
+CCGCATTCCGGCTGACCACATGGTGCTGATGGCTG
+>r9907
+GAGCTAATCTGCGGGGGCGTCAGTTTCCGCGCTTC
+>r9908
+GAACGGTTACTGCCAGGCTTCCGGCAGGCGCGGCA
+>r9909
+GCTTCTAACACGCCGGCCATAATGGCGATCGACAT
+>r9910
+CCAAGTACCTCGTAGCGTTATATACTTCGTAAACA
+>r9911
+ATTGCCAGTGATTATCTACGCCAGCGTAAACTCGG
+>r9912
+CTCGCCGCCGCCCAGCCGGGATTTCCGCTGGCACA
+>r9913
+TCCTATGACACCGAAGCGTCAATTGCGAAAGCAAA
+>r9914
+CGGATATTGAAATTGAACCTGTGCTGCCCGCAGAG
+>r9915
+CCGATCCCCAAAGGACGCTGTTAATAAAGGAGAAA
+>r9916
+TTGCGCCCATAACCACGGTTTCATAACCATGCTCT
+>r9917
+AGATTGTAGAGTTTCATTTAGTTTTCCAGTACTCG
+>r9918
+GCCGACTGGTTGGGTAAGAACTACCTGCAAAATCA
+>r9919
+TCATCAGCTTCTACGCTAAGAAAGCACGCGGTCTG
+>r9920
+TCAACATCCGTCCAGATCTCGCAACAATCGGCGCG
+>r9921
+GAATCAGCATATCCAGTCCTTGCAGGAAATTTATG
+>r9922
+GTAGCGTTTAAACACCAGTTCGCCATTGCTGGAGG
+>r9923
+GATGCGCGGTGCCGAGGAACAAGCCATATTCGCCT
+>r9924
+AGCCGCACGCTGCCGTAGCTTATCGTGCGCTGCGT
+>r9925
+GGCTGACCACATGGTGCTGATGGCTGGTTTCACTG
+>r9926
+TTTGGGGATCGGTAATGATTTACCTGCTTTTCGGC
+>r9927
+CTTTGCCGCGCTGGCCCGCGCCAATATCAACATTG
+>r9928
+GAAAGATCACAATGAGCAGGTCAGCTTTGCGCAAG
+>r9929
+CTGCTCACCAATGTACATGGCCTTAATCTGGAAAA
+>r9930
+ACCGTTGATATTGCTGAATCCACCCGCCGTATTGC
+>r9931
+GCAACGGATCAAACACCGGGCGCACGCCGAGTTTA
+>r9932
+AAGAGAGCGTGGAAGCGATTCTCGGTGAAACGTTG
+>r9933
+CCAGGCGGTTTAACCTCATTTCAGTCATTGTGTAC
+>r9934
+ACTGGTAGATTTCAGATACAGAAACCACGCCCGGA
+>r9935
+GGTTGTGCTGCCACAGGAACTCGGACTCAGTGATA
+>r9936
+CGGGAAGGCAAACGCCGCACGTACGCGCTCTTCCA
+>r9937
+CGATTTCGATGCCTGTCAGGCGCTGGTGAAGCAGG
+>r9938
+GTTTACACAGGAAAGTCATCGCGACCGGCAATAAG
+>r9939
+GTCTTTGCAGCGATGTCACGCGCCCGTATTTCCGT
+>r9940
+CTCATCGCCTACGGCATAATTTTCAGCGGAGTTCA
+>r9941
+TGATGGATATCTGCAGAATTCGCCCTTGTGATATC
+>r9942
+CGGTTCGGTATAACCCATTTCCCGCGCCAGTGTGG
+>r9943
+CCTACGATCTTCTTGCAATATATTGAATTTGCACG
+>r9944
+GCAGTACGCCATACAAGCCGGAAAGCATTCGCAAA
+>r9945
+ATGCGAAAGCAAGGGTAAATCAGCACGTTCTGCCA
+>r9946
+AAACTGCACAAATCCGGTACGAAAAGTGAACCAAC
+>r9947
+ATAAACTTTAACCATGTCAGACTCCTAACTTCCAT
+>r9948
+GATGATGAAGAACTGAAAGTGGCGCTGGGGCTGAA
+>r9949
+CAGCTTCAGCATCTCATCAATTTCAGTCAGGCTGA
+>r9950
+TGACACCTGTTGATGGTGCATTGCTCGGAGATGTA
+>r9951
+ATCGTGGCGATCATCGTCCGGGGCCTGACAAACAT
+>r9952
+CCGCCGTCAAATCGCCGAAGTTTCCACTCGGTACC
+>r9953
+AAAACTGGAAAAAATGATCGGCGATCTGCTGTAAT
+>r9954
+AATGGCGACAATGTTGATATTGGCGCGGGCCAGCG
+>r9955
+TAAACCGCCTGGCTGTGGATGAATGCTATTTTTAA
+>r9956
+TACGCTAGTCCCGTCAGTAAAATTACAGATAGGCG
+>r9957
+GACCGCTAATGGTTTTTTCAATCATCGCTACCAGA
+>r9958
+CTGTTCAATACCGATCAGGTTATCGAAGTGTTTGT
+>r9959
+GAAATTTATGCCGACTTTAGCAAAAAAAGAGAATG
+>r9960
+GAACTGGGCTATACCTCGGAGCCGCACGCTGCCGT
+>r9961
+CTGCATGAGCCGGGCGACGCCATGAAGACCGCGAG
+>r9962
+GTCACGCTAAGTATGATTACAGCAGATCGCCGATC
+>r9963
+CAATAAGAGGGATATGCATGCCAGATTTTTTCTCC
+>r9964
+GGATCGCAGTTGGTACAAAATGCAGGCTGATCTGG
+>r9965
+TCATATTGGCACTGGAAGCCGGGGCATAAACTTTA
+>r9966
+ATGGCGATAATCTGGGTACTGACCAGCCTGGTGAT
+>r9967
+CCGGCATTATCCGGCATTGACTACAAACTTAACGT
+>r9968
+TACGTGCTTCTTGCGGCAACTGTGCGACAGCCTCA
+>r9969
+ACGCCTGAACAACCCTAAAGCGATCTGGTGTCTGC
+>r9970
+ACGCGCCCGTATTTCCGTGGTGCTGATTACGCAAT
+>r9971
+ATCGCTGCAAAGACGCGCGCCGCCATGCCAACCAT
+>r9972
+TCATATTGGCACTGGAAGCCGGGGCATAAACTTTA
+>r9973
+GATGCGGAGGCCAGGACGCAGCTGCCGCTGCCGCG
+>r9974
+CCTGATCAAACTCTACAACGATGCAGGTATTAGCA
+>r9975
+GCGAAAGCAAGGGTAAATCAGCACGTTCTGCCAGC
+>r9976
+GATCTGGACGGATGTTGACGGTGTTTATACCTGCG
+>r9977
+ATCAGTTGCGTTATGCGGCGGAAAAATCGCGGCGT
+>r9978
+CGATTCTCGGTGAAACGTTGGATCTGCCAAAAGAG
+>r9979
+CGTTGATACCCGCCAGTTTGTCGCTGATGCGCATC
+>r9980
+TATAAAAATGGCGGGCGATATCAACGCAGCGAATT
+>r9981
+GAGGGTAACAAACTCCGCACCCCAGGAACCCATTA
+>r9982
+CTTATCCCTTCGAGCGGGGGGAGCTTAACAATTAG
+>r9983
+CTGCCGGAGATACGCCCTTCCAACTCGCCCATCAA
+>r9984
+TGAGTGGCTGTGGGTGCTGGCGTATCCGGGGATTA
+>r9985
+AGCGCCTGTTCAGTGGTCGCGGCGCTGATGGCGAT
+>r9986
+ATTTCCGCTGGCACAATTGAAAACTTTCGTCGACC
+>r9987
+GCCGAAATCTTTAAATGCCAGCGTTGGCCCGTGGA
+>r9988
+GAAGGAAAAGTTTTGCGCTATGTTGGCAATATTGA
+>r9989
+GCAATATCGAAACTGTTGCCATCGACGGCGATTTC
+>r9990
+GGGATATACCTTAAGCCAGGCGATTACTAACGGTT
+>r9991
+GCGCTGCCGGATGCGGAGGCCAGGACGCAGCTGCC
+>r9992
+CATCCGCCAGTTTGGCAAAAGTCTTAAAAATAGCA
+>r9993
+ATTGCGGCAAGCCGCATTCCGGCTGACCACATGGT
+>r9994
+ACCGACGCCAATCACAAACACTTCGATAACCTGAT
+>r9995
+ATCCTGGCGGCGATACTGCGCCGGTAAAATAGCCC
+>r9996
+GCATGGATGTGGCGCGTAAGCTATTGATTCTCGCT
+>r9997
+CACATCCAGAAGACGGCTCCAGGTCCACCGGCGGT
+>r9998
+TTTCACAGGTTACTCCTTTTATCATTGCCCGTTAT
+>r9999
+CCACTGAACAGGCGCTGGAGCCTAAGCCCGAACCG
diff --git a/reads/e_coli_10000snp.fq b/reads/e_coli_10000snp.fq
new file mode 100644 (file)
index 0000000..901448e
--- /dev/null
@@ -0,0 +1,40000 @@
+@r0
+GCATCTTTTTCACAGGTTACTCCTTTTATCATTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1
+TATGTTGGCAATATTGATGAAGATGGCGTCTGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2
+GCCGAAGAAATTGAATGCCGAGATTATCAAGCCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3
+GCGGCGGTGACACCTGTTGATGGTGCATTGCTCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4
+CTTTATGGCACAAATGCTGACCCATATTGCGGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5
+CACGTACGCGCTCTTCCAGGATTTCCTGCGGGATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6
+AATCTTTAAATGCCAGCGTTGGCCCGTGGAACAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7
+CCGATCGGTTCGGGCTTAGGCTCCAGCGCCTGTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8
+TTTGCGGAACGCAGAAACTGATACTGTATTCGGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9
+CGGCCTGATTGAGATAATGAATAGATGTTACTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r10
+GCGTCAGTTTCCGCGCTTCATGGATCAGCTGCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r11
+CGCACAGTTGCCGCAAGAAGCACGTAACCAGTTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r12
+CCGTAACCCAGGGGTTAGGCAAAAATCAGGGGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r13
+AGGTTACTCCTTTTATCATTGCCCGTTATGGGTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r14
+CCACGATCTGCTGCGCGCGATCGTTGCTCTGCTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r15
+GGGATGATGTTTCGCAGGAGTAATCACAACTATCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r16
+CCAGGCAATTCTGGCGTTTAAAGGTGATGTCTACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r17
+GTTAACAATCTTATCCCTTCGAGCGGGGGGAGCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r18
+GGCGGGTAACGGCACAACCTACATGCCGCTGGAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r19
+GACGCAGCTGCCGCTGCCGCGTTTGGCGTCGACCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r20
+CACACTGGCGCGGGAAATGGGTTATACCGAACCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r21
+GGCTTAAGGTATATCCCGCCGCGCCGCCTGCAGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r22
+TGCGAGTGTTGAAGTTCGGCGGTACATCAGTGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r23
+CCCGCCGTATTGCGGCAAGCCGCATTCCGGCTGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r24
+GGGATGGTTGGCATGGCGGCGCGCGTCTTTGCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r25
+GGCGGGCATTCTCCGGTGTGAAATTTGGCTGCCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r26
+GCGCTGATCCTTAACTTACCCGGTCAACCGAAGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r27
+TTCCGTAACATCGGCGAAATTCTGGAACTGGCAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r28
+TGGCGCGGCGATGACGGCGGTCCATGTGGGTGCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r29
+GTGCCATAAAGCGACCGCCGAAATCTTTAAATGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r30
+TAGCGCCGAAGTAAGAAAGCTCCATCGCTTCCTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r31
+TATTATTCTCGCTGTCTTTGCTCTGCTGGCGATCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r32
+GGTGAAGCCGAAGAAATTGAATGCCGAGATTATCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r33
+GAAACAACATTATGAATGGCGAGGCAATCGCTGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r34
+TTGCTGATCTGCTACGTACCCTCCCATGGAAGTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r35
+AGATTGTTAACAACGTGCGCTTTGTTTATGCCGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r36
+CAGCAACTGAATGCAGTACGGTACGCTGGCAAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r37
+TCACTTTTCGTACCGGATTTGTGCAGTTTCGCTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r38
+GCAGCTGATCCATGAAGCGCGGAAACTGACGCCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r39
+GGTTACATCCCCCTAACAAGCTGTTTAAAGAGAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r40
+AACGGTAGATTCGAGGTAATGACCCACTGCCAGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r41
+GAACTCTTCCTGCATTGCCCGTTCAGCTCGCACAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r42
+GCCGGTCCGCCACGAAACTGCCCATTGGCATCACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r43
+AGTATTTAGTGACCTAAGTCAATAAAATTTTAATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r44
+CCGTCGAGACTTTAATCCCCGGATACGCCAGCACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r45
+GATCTGCACCTTCGCAACGGTCATCGGCGGCACCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r46
+TTGATTTTCCCCCGCTGGTAACAGGTATTATTCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r47
+TTTCGATGCCTGTCAGGCGCTGGTGAAGCAGGCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r48
+AGATGCTGAAGCTGGATTTTGTCACCCGCAGTGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r49
+TGACACCGAAGCGTCAATTGCGAAAGCAAAACGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r50
+CCTATGACACCGAAGCGTCAATTGCGAAAGCAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r51
+GAGCGGCCGCCAGTGTGATGGATATCTGCAGAATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r52
+TACATCCCCCTAACAAGCTGTTTAAAGAGAAATAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r53
+CGGCGATTTGACGGCGGGTCTGCTGGCGAAGTCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r54
+TGGCGAGAAAATGTCGATCGCCATTATGGCCGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r55
+GGGTGACCACTGACCGTCGTGCAGGAAACGTGGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r56
+CTTTGGTGAACAGATGCGCCAGATCAGCCTGCATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r57
+CGGTCAGTGGTCACCCAAAGCGACTCAGGCGACGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r58
+AAATTACGCTAGTCCCGTCAGTAAAATTACAGATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r59
+ATCCATGAAGCGCGGAAACTGACGCCCCCGCAGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r60
+TATCTCGGTGGTAGGTGATGGTATGCGCACCTTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r61
+AGCGTAGAAGCTGATGATCTTAAATTTGCCGTTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r62
+TGAACAGATGCGCCAGATCAGCCTGCATTTTGTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r63
+CGACAGCATCATCAATCAACTTACGGTATTCCGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r64
+CTGGAAGGGCCATACGTTGAAACGGCACCGGAAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r65
+AAATAAGAATCAGCATATCCAGTCCTTGCAGGAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r66
+CAGGTAAATCATTACCGATCCCCAAAGGACGCTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r67
+GTGGATGGTAATGATCCGCTGTTCAAAGTGAAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r68
+GTTTGATGTGCTCGGGGCGGCGGTGACACCTGTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r69
+AGAGACATTCAGTCTCAACAACCTCGGACGCTTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r70
+TTCACGTCCCGTTTCACGAGCGAGAATCAATAGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r71
+CTGCTTTTCGGCGCAGGTTGTTGGTTCACTTTTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r72
+GAAGATCGTAGGCCTGATAAGCGTAGCGCATCAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r73
+ACTCCTTTTATCATTGCCCGTTATGGGTCGATATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r74
+GTTTTCAGCGCAGTATGTTTTCCAATGAGGCGGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r75
+TCTGTGCGCTATGCCTATATTGGTTAAAGTATTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r76
+CCAAACGCGGCAGCGGCAGCTGCGTCCTGGCCTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r77
+CAATCTGAAAGATCACAATGAGCAGGTCAGCTTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r78
+GTTCTCCGGCATTCTTTCAGGTTCGCTTTCTTATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r79
+AAATTCAATATATTGCAAGAAGATCGTAGGCCTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r80
+CTGTGTGCGAGCTGAACGGGCAATGCAGGAAGAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r81
+GTCGCCAGCTTTCTCCAGACGCGTGGGATGATGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r82
+CATCATCAGCCAGCAAGTGCCAGGGTTTGATGAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r83
+GGAACTGAAAGAAGGCTTACTGGAGCCGTTGGCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r84
+TCTGACCATCGCACCGGCACTGCTGAAAGAGCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r85
+TCGCAAATGCTGTTGGGCAAAATCGAAATCGTCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r86
+ACCAACCCTTCTCTCATTCTTAACGCAGCGCAGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r87
+AAATCTGGCGTCAGATGAGTATTTTAAATCGGTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r88
+GAAATTTGGCTGCCAGTCATGAAAGCGAGCGGCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r89
+AGATCTTTCCCTCGGGCATTCTCAAGACGTATCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r90
+TGCGCCCATAACCACGGTTTCATAACCATGCTCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r91
+CGTAACCAGTTGGTTGTCTCGGTACCGAGTGGAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r92
+GCTGGCTAACATCCATCGCATTGGATAACGTCGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r93
+CCGCACAAGCACGAGCCTGAGCGAAGGAGAACAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r94
+TTGAGACTGAATGTCTCTGCCGCCTCAACCGTGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r95
+TATTCTCCGCAATCCTAATCTCTAAGTTACCGCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r96
+CCTGAACTCCGCTGAAAATTATGCCGTAGGCGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r97
+TGCGCTTTGTTTATGCCGGATGCGGCGTGAACGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r98
+GCGTATCCGGGGATTAAAGTCTCGACGGCAGAAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r99
+GGCAGTAGCGGACCGCGAGATGCCAGGCTTTGGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r100
+TACAACGATGCAGGTATTAGCAACGATCGTATTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r101
+GACGCGAAGTTAGCGAATAAAAAAATCCCCCCAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r102
+ACCAGAGCAACTGACTGGTTTTAATAGCGAAGGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r103
+TTTATAAAGCTGTGCGAGGGAACATTCGGCAAACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r104
+TATTTTCCCGTGGCTCTGACGGCAGCTTATCGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r105
+TCATCCACAGCCAGGCGGTTTAACCTCATTTCAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r106
+TTCCAGCTGTTCTGCAGCACGGATACCCTGCCAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r107
+CATTAGCACCACCATTACCACCACCATCACCATTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r108
+CACCAGTTCACACAACGTTTGCTCGATGATCGCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r109
+ATCAGCATATCCAGTCCTTGCAGGAAATTTATGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r110
+GTTCTTACCCAACCAGTCGGCAACGCGCTGGGCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r111
+GACATCGGCGCTAACCACGCCGTTTGAACTGGAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r112
+GTTCCTCGATGAGAAGAACGGCAAATTTAAGATCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r113
+TGATGGAGTTAGCAGAATTCAGCCCCAGCGCCACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r114
+AGACTTTAATCCCCGGATACGCCAGCACCCACAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r115
+ATTGCCAGCGCAACGCCGGCCAGGTTGCCGCTACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r116
+GAAAATCGGCTGACCAAACCAGAGCAACTGACTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r117
+AAAGAGAGCGTGGAAGCGATTCTCGGTGAAACGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r118
+GCTCATCGGGGATTAAGCGGGTTTCCAGTTCAAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r119
+GCTACTGCCAGCGTCGCATCGGGCGTTACGTCACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r120
+TCTGATCAAACTGGCTTCTACCTGGCAGGGTATCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r121
+GAAAACAATCTCTTCTTTTTACGCCTGAACAACCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r122
+GTTTCGCCCAGGCGACAGCATCATCAATCAACTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r123
+GACATTCAGTCTCAACAACCTCGGACGCTTTGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r124
+AATCCATCGACGAGGTGTTGGCCTTTTTGTTCGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r125
+GGATCATTACCATCCACTTCGGCAATCTTCACGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r126
+GCTTGAGCTTGCCGCGAAGCTGATGAAAGATGTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r127
+CACCAGATGGCAACTCATTTCATCCACCAGTTCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r128
+CCGGTCCGCCACGAAACTGCCCATTGGCATCACGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r129
+GCTGGCGGCCTGTTTACGCGCCGATTGTTGCGAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r130
+ACGCCGAGAGGATCTTCGCACTGCGGGTGACAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r131
+CAGTGATACGCGCCGGACGCGCTTTCACTTCACCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r132
+CTCGCCGTTTGTTGGCCGTATTCTTGACTGATACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r133
+GCTGGTCAGTACCCAGATTATCGCCATCAACGGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r134
+AGTGTAAGACAGTTTACGTTCGATAGCCCCTTCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r135
+ATAAGCTGCCGTCAGAGCCACGGGAAAATATCGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r136
+ACCCGACGCTCATATTGGCACTGGAAGCCGGGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r137
+AATCACCAGGCTGGTCAGTACCCAGATTATCGCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r138
+ATCGGCAAAGCGTCCGAGGTTGTTGAGACTGAATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r139
+ATTTCTCCTTTTTCCCTGTCGTTTTTCTCCATATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r140
+TCCGCCGCATAACGCAACTGATGGTAGTAATCCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r141
+CCCGTGCGCAATGCAATCCTGGCGGCGATACTGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r142
+CCCTCGGGCATTCTCAAGACGTATCCCCATTTCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r143
+GTGGCGGACCGGCATGGTATATGGCGCGCGGGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r144
+AAGTATTCATCAAGATTTTTCCGTTTAAACAGTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r145
+CGGCAAGCGCCATGCTGATATTACTGGCGGGTAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r146
+TACTGCGCCGGTAAAATAGCCCTGGCTTCTGCCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r147
+TGGTCAATAACGATGATGCGACCACTGGCGTGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r148
+ACATCCATGCCAGAAAGATCATCTCGCGGGTCCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r149
+ATAAGAATCAGCATATCCAGTCCTTGCAGGAAATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r150
+TGAAGCTGTATCAACCGCAGGATGCCACAACCAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r151
+TTTCGCTACATCCGCCAGTTTGGCAAAAGTCTTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r152
+CGTCAGTAAAATTACAGATAGGCGATCGTGATAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r153
+ACCAGTTGAATCCAGGCGAATATGGCTTGTTCCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r154
+TTGTGCAGTTTCGCTACATCCGCCAGTTTGGCAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r155
+TCGGGCATTCTCAAGACGTATCCCCATTTCCAGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r156
+AAATCCTGGAAGAGCGCGTACGTGCGGCGTTTGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r157
+ACACTTCGATAACCTGATCGGTATTGAACAGCATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r158
+AACTGGGCGATGGGGGTAATGGTGCGGGGGTGAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r159
+GCTTGTATGGCGTACTGCGCCCGCTCGATTTAATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r160
+GCTCTTCCAGGATTTCCTGCGGGATTTCATCACCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r161
+GGCGGATATTGAAATTGAACCTGTGCTGCCCGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r162
+CGAATACAGTATCAGTTTCTGCGTTCCGCAAAGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r163
+CTGGTTTTAATAGCGAAGGTTACTTCTTTGATGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r164
+TTCAAACGGCGTGGTTAGCGCCGATGTCAGCCATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r165
+CATTCATCCACAGCCAGGCGGTTTAACCTCATTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r166
+CAGGTTGCCGCTACCCACGCGCGCTGCAAGACTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r167
+TGCCAGCCGTGATGAAGACGAATTACCGGTCAAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r168
+CGCAACGGTCATCGGCGGCACCTTGTTAAGTTTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r169
+CGAAGATCCTCTCGGCGTTTATTGGTGATGAAATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r170
+GGTATAACCCATTTCCCGCGCCAGTGTGGTCGCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r171
+AGAAGTTCGGCAAAAATAAGTTCGGCATCGCTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r172
+AGCTGTATCAACCGCAGGATGCCACAACCAACCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r173
+CGCAGCCTGCCAGTTCCAGAATTTCGCCGATGTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r174
+GGCGGATGTAGCGAAACTGCACAAATCCGGTACGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r175
+ATGCTTTCCGGCTTGTATGGCGTACTGCGCCCGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r176
+ACGTTTTCTGCGGGTTGCCGATATTCTGGAAAGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r177
+TTCCGCAGCCTGCGCTGCCATGGGAGCGACCAGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r178
+TGCGACCGTCTGACCATCGCACCGGCACTGCTGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r179
+GTTTTCCAGATTAAGGCCATGTACATTGGTGAGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r180
+GCGAACTGGTGTTTAAACGCTACGAACAACGTTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r181
+CTGTACTTCCAGCCAGGCTGTGGCAGATCAATATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r182
+CGGCCAGGTTGCCGCTACCCACGCGCGCTGCAAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r183
+CAGCTCGACGATCTCTTTGCCGCGCGTGTGGCGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r184
+CAGTCAACAATGACCGGGTTCAGCAGATGATATTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r185
+TGGCGGCGCGCGTCTTTGCAGCGATGTCACGCGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r186
+GAACTCGGACTCAGTGATACGCGCCGGACGCGCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r187
+ACACGGTGCCACGTTGTCGTAATGAATGCTGCCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r188
+GAATAACCACGAGGGTAACAAACTCCGCACCCCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r189
+AGGTGTCACCGCCGCCCCGAGCACATCAAACCCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r190
+CATTTTGTACCAACTGCGATCCTTTCGCGTCAGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r191
+CCCTTCGCTCTCCGCCAGCTCTTTCAGCAGTGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r192
+TTAAGCTCCCCCCGCTCGAAGGGATAAGATTGTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r193
+GGGCGAATTCTGCAGATATCCATCACACTGGCGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r194
+CGCAGGTTGTTGGTTCACTTTTCGTACCGGATTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r195
+GATGAGTGGCTGTGGGTGCTGGCGTATCCGGGGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r196
+AGCCCCAACGTTGGTGTCATAGAGGAATTTACGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r197
+CTCTGCCGCCTCAACCGTGACTACATCTCCGAGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r198
+CGCCGGTGGACCTGGAGCCGTCTTCTGGATGTGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r199
+GCAAATGCAGAACGTTTTCTGCGGGTTGCCGATAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r200
+CGTTTTACCGGCAGACCGAGTGACTTCGCCAGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r201
+AACCCAGGGGTTAGGCAAAAATCAGGGGCTGTTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r202
+CCGGAGCTGTTAGACAACGCCCAGCAGCTGATCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r203
+GATGAGTGGCTGTGGGTGCTGGCGTATCCGGGGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r204
+ATTACTGGGATGGCGGTCATTGGGGCGACCACGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r205
+GGTGCGGGCTTTTTTCTGTGTTTCCTGTACGCGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r206
+CCGCCTGGCTGTGGATGAATGCTATTTTTAAGACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r207
+ATTTTTAATCAGGCAAGGGATCTGGAACTGGGCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r208
+GCGTACTGCGCCCGCTCGATTTAATGCAGCCTTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r209
+CAGTGTATCATTCTGCTTAACGAGACTGTTTAAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r210
+TATGGCGCGGCGATGACGGCGGTCCATGTGGGTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r211
+CATCTGGCAGGCTTCATTCACGCCTGCTATTCCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r212
+TTTTTTCAATCATCGCTACCAGATGGTTGGTGATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r213
+TATGTCTCTGTGTGGATTAAAAAAAGAGTGTCTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r214
+TGATGATATCACAAGGGCGAATTCTGCAGATATCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r215
+CTGGAGCCGTCTTCTGGATGTGGGTTGCCGCATTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r216
+GCCGTAGCTTATCGTGCGCTGCGTGACCAGTTGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r217
+GAATACCGATAAGAAAGAGTACGCTCCGGCAGAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r218
+TCAACAACCTCGCATCGGGCACCTGACGCGGATCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r219
+CAGGTGGCCACCGTCCTCTCTGCCCCCGCCAAAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r220
+CTGCTGGCGAAGTCACTCGGTCTGCCGGTAAAACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r221
+ACCTCATTTCAGTCATTGTGTACCAGTCTTGCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r222
+TCATGAAAGCGAGCGGCGTTGATACCCGCCAGTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r223
+ATAGCGCAAAACTTTTCCTTCATCACGGGCCTTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r224
+GATGGAGTTAGCAGAATTCAGCCCCAGCGCCACTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r225
+TGAATTGATGAAGTTCTCCGGCATTCTTTCAGGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r226
+GTCAGGATGCTTTACCCAATATCAGCGATGCCGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r227
+TAACCAGTTCAGAAGCTGCTATCAGACACTCTTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r228
+GTTGATTGATGATGCTGTCGCCTGGGCGAAACAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r229
+CGATCGTGATAATCGTGGCTATTACTGGGATGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r230
+ATGCTGCCGGAGATACGCCCTTCCAACTCGCCCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r231
+AAAGATGCAATCTATCGTACTCGCACTTTCCCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r232
+TGCCAATCATCTGGACAATTCCTTGCGCTGCCGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r233
+ACCAGCCGTGGTCGCCCCAATGACCGCCATCCCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r234
+TCTCCGAGGCGACCACACTGGCGCGGGAAATGGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r235
+ATAACGGTAACGTTGTGACCACGCGCTTCTAACAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r236
+GCCCCGAGCACATCAAACCCGACGCTCATATTGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r237
+TTGAACAGCATCTGATGAGTAACGCGCACGCCAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r238
+CGGTTGCGGAAATCGGCGCGGTAGCGAGCGGTATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r239
+AATTTCAGTCAGGCTGAATTCCGGCAGGTCGTGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r240
+GAGAAACTCATGCCTTCGTCTAACTTGCCGAAGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r241
+CATCAGTGGCAAATGCAGAACGTTTTCTGCGGGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r242
+GCATGCTCGAGCGGCCGCCAGTGTGATGGATATCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r243
+TTACCTGCCGTGAGTAAATTAAAATTTTATTGACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r244
+AAGGGCGTATCTCCGGCAGCATTCATTACGACAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r245
+GGATCCAATGGCAGTAGATAAACTGGCGGAAGGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r246
+CCCAGCTCTTTCAGTTGCCAGATTTTGCGGCGGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r247
+CGACATTTTCTCGCCACGGCAAATCAGCGCAGCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r248
+CCGGTAAAACGTTTTATTGCTGCGACCAACGTGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r249
+CGTCCTTCACACCTTCCAGCGTCTCTTTAATAGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r250
+TTGGTTGTGGCATCCTGCGGTTGATACAGCTTCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r251
+CTTATTTCACCTGCGAAAACGCTTGATTACCAAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r252
+ACCGCATTTATTGAGAATTTCTCCTTTTTCCCTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r253
+TCAGCAAAGACACCGGCAGCTGTAACGTCATTGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r254
+GTAAATCAGCACGTTCTGCCAGCTCTTTTGGCAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r255
+CTTAACGTTGTTCGTAGCGTTTAAACACCAGTTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r256
+AGGAACTCGGACTCAGTGATACGCGCCGGACGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r257
+GGCTATAGAAGGCCAGGGCGTTTTCGCCATTTTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r258
+AGCAGATCGCCGATCATTTTTTCCAGTTTTTCCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r259
+TGGAAGGTGTGAAGGACGCTGAGGGTAACGTTGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r260
+GCGGCAAGCCGCATTCCGGCTGACCACATGGTGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r261
+CTGCAAAGACGCGCGCCGCCATGCCAACCATCCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r262
+TACGTATTGGCTTAGTTTCCATCTCTGATCGCGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r263
+CAACCGCCTGCCGCGCCTGCCGGAAGCCTGGCAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r264
+TGAGGCTGTCGCACAGTTGCCGCAAGAAGCACGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r265
+CGAAGTCTATTAAAGAGACGCTGGAAGGTGTGAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r266
+CAGATTAGCTCCCTGATGCGCATCAGCGACAAACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r267
+TATCCAGTCCTTGCAGGAAATTTATGCCGACTTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r268
+TGCCAGTTGCCACATCAGCGGAAAACTTAACAAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r269
+CCAGTTTATCTACTGCCATTGGATCCTGGTTGTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r270
+TACTGCCAGTTTGTCGGTCGCGTCCACGATCTGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r271
+ATTTACCTGCTTTTCGGCGCAGGTTGTTGGTTCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r272
+GAATACCTTCCAGCGGCATGTAGGTTGTGCCGTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r273
+TTTTATTTGGGCAAATTCCTGGTCGACGAAAGTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r274
+ATTTATCACCACATTATCGCCTTGTGCTGCGAGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r275
+CAGTACCCAGATTATCGCCATCAACGGGACAAACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r276
+TAGATTGCATCTTTTTCACAGGTTACTCCTTTTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r277
+ATTTACCCTTGCTTTCGCATAACCTGCCCGCCGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r278
+CTGATATTACTGGCGGGTAACGGCACAACCTACAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r279
+CGGCTGACCACATGGTGCTGATGGCTGGTTTCACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r280
+CGATGCCTGTCAGGCGCTGGTGAAGCAGGCGTTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r281
+TCCGCTGATGTGGCAACTGGCAGATATCATTATGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r282
+TCCTAACTTCCATGGGAGGGTACGTAGCAGATCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r283
+GTGGAAACTTCGGCGATTTGACGGCGGGTCTGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r284
+GAGCTTTCTTACTTCGGCGCTAAAGTTCTTCACCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r285
+TTACCCAACCAGTCGGCAACGCGCTGGGCGGTATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r286
+GCAGATATCCATCACACTGGCGGCCGCTCGAGCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r287
+CGGTTCGGGCTTAGGCTCCAGCGCCTGTTCAGTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r288
+CTTCGTCAGTACACCACCGTAGTGGCCGACACTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r289
+CCGGAAGCCTGGCAGTAACCGTTCACGGTAGGGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r290
+CAGAAAAAAGCCCGCACCTGACAGTGCGGGCTTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r291
+CTGGCAGGCTTCATTCACGCCTGCTATTCCCGTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r292
+GACTACAAACTTAACGTTGTTCGTAGCGTTTAAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r293
+GCCATTTTTCACTTTGAACAGCGGATCATTACCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r294
+TTTGATGGGCGAGTTGGAAGGGCGTATCTCCGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r295
+AGCTTTCTCCAGACGCGTGGGATGATGTTTCGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r296
+GAACAACCCTAAAGCGATCTGGTGTCTGCGGATCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r297
+TGCCTGTCAGGCGCTGGTGAAGCAGGCGTTTGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r298
+ATGCAGCCCGGCTTTTTTTATGAAGAAAATATGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r299
+TGGCCATTATCTCGGTGGTAGGTGATGGTATGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r300
+GAAAAAGAAGGTATTAACTGTAACCTGACCCTGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r301
+TTCGCCTCGTGAAAGAATATCATCTGCTGAACCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r302
+TCCATCTCTGATCGCGCATCCAGCGGCGTTTATCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r303
+GGCGAGTCCCGTCAGAAGTTCGGCAAAAATAAGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r304
+ATATTTTCTTCATAAAAAAAGCCGGGCTGCATAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r305
+GGCGATAAGCCAGTGACCATTCTGACCGCGACATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r306
+CGAAGTAAGAAAGCTCCATCGCTTCCTGATAGGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r307
+TCCGCAACCGCCTGCCGCGCCTGCCGGAAGCCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r308
+TCCGGCATTCTTTCAGGTTCGCTTTCTTATATCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r309
+CGTAAGTCGATATGTTTATTCTTCAACCAGCTTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r310
+CCACATCCATGCCAGAAAGATCATCTCGCGGGTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r311
+TATTGGCTTAGTTTCCATCTCTGATCGCGCATCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r312
+GCTTTCAACATTGGCGACCGGAGCCGGGAAGGCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r313
+CTGCGTGACCAGTTGAATCCAGGCGAATATGGCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r314
+GATTTTGCTGCGTTGCGTAAATTGATGATGAATCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r315
+GATCCCACGTAAGGTGCGCATACCATCACCTACCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r316
+CCGAATGTGAAAGTGGTTATCCTCTATCCACGAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r317
+AATACTTTACGTATTGGCTTAGTTTCCATCTCTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r318
+TCCACGCTCTCTTTAAATTTCGCCGGATGCGCGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r319
+ACCGTGAACGGTTACTGCCAGGCTTCCGGCAGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r320
+CTGTCTGTGCGCTATGCCTATATTGGTTAAAGTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r321
+AGGGAAAGTGCGAGTACGATAGATTGCATCTTTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r322
+CAAAGGACGCTGTTAATAAAGGAGAAAAAATCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r323
+GGACTCGCCGCCGCCCAGCCGGGATTTCCGCTGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r324
+TTACCGGTCAAGGGCATTTCCAATCTGAATAACAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r325
+CCGCAGACACGTAAGTCGATATGTTTATTCTTCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r326
+GTGCCAGGGTTTGATGAGTGGCTGTGGGTGCTGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r327
+TGCTGCCACAGGAACTCGGACTCAGTGATACGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r328
+GGTATCCGGCTTGTCACACAGAGCGAACAAAGTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r329
+CTTCCGCCAGTTTATCTACTGCCATTGGATCCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r330
+CTCATATTGGCACTGGAAGCCGGGGCATAAACTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r331
+GCCGAGGAACAAGCCATATTCGCCTGGATTCAACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r332
+ATTTATGCCGAAAACAATCTCTTCTTTTTACGCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r333
+ATCGCCATCAGCGCCGCGACCACTGAACAGGCGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r334
+AATACTTTAACCAATATAGGCATAGCGCACAGACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r335
+AGGCTTACTGGAGCCGTTGGCGGTGACGGAACGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r336
+GGCGGCGGCGAGTCCCGTCAGAAGTTCGGCAAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r337
+TCCCCAAAGGACGCTGTTAATAAAGGAGAAAAAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r338
+TGGCCGACACTGGGGACATCGCGGCAATGAAGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r339
+AAGAACTGGGCTATACCTCGGAGCCGCACGCTGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r340
+TAAGGTATATCCCGCCGCGCCGCCTGCAGCTTCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r341
+CAGCTTCTACGCTAAGAAAGCACGCGGTCTGATGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r342
+TGCGGGCTTTTTTTTCGACCAAAGGTAACGAGGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r343
+GAAGTTCGGCGGTACATCAGTGGCAAATGCAGAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r344
+GCACCATTACCCCCATCGCCCAGTTCCAGATCCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r345
+GCGGAGAATAACAACTGCCGTTCTCATCGCGTAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r346
+TTCACGCGGCAGACGCCATCTTCATCAATATTGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r347
+CGAGCTGGTGGTTCTGGGACGCAACGGTTCCGACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r348
+CCGAAAACAATCTCTTCTTTTTACGCCTGAACAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r349
+GGCTCATGCAGGGGTTTGTCCCGTTGATGGCGATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r350
+ACAATTCCTTGCGCTGCCGGATGCGGAGGCCAGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r351
+GCAGGAAGCTGCAGGCGGCGCGGCGGGATATACCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r352
+TGACGAAGGGAGGTCAATTTGTCCGTCATGATAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r353
+CTGGAAAAAGAAGGTATTAACTGTAACCTGACCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r354
+GAAGGTGTGAAGGACGCTGAGGGTAACGTTGTGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r355
+ACGCTGCCGTAGCTTATCGTGCGCTGCGTGACCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r356
+TGAAGATTGCCGAAGTGGATGGTAATGATCCGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r357
+AGTTTTGCGTTTGTCATCAGTCTGATCCCCCCGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r358
+TATTGCCGGTCGCGATGACTTTCCTGTGTAAACGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r359
+TCTGGCGCATCTGTTCACCAAAGCCTGGCATCTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r360
+AATCTGCTCAATGCTGGTGATGAATTGATGAAGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r361
+TCCCGTGGCTCTGACGGCAGCTTATCGGCAAAGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r362
+AACAATCGGCGCGTAAACAGGCCGCCAGCACCGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r363
+CGATGGAGCTGAAGGCAAACAGAATAACCACGAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r364
+GCACAATTGAAAACTTTCGTCGACCAGGAATTTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r365
+CAGCCATCAGCACCATGTGGTCAGCCGGAATGCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r366
+AAGTTTGCTGTTGACCAGGAAAAACTGGAAAAAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r367
+ATTTACCTGCTTTTCGGCGCAGGTTGTTGGTTCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r368
+GCGATCAGAGATGGAAACTAAGCCAATACGTAAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r369
+GCGCAAAACTTTTCCTTCATCACGGGCCTTCGCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r370
+AGCTATTGATTCTCGCTCGTGAAACGGGACGTGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r371
+CGACAGCATCATCAATCAACTTACGGTATTCCGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r372
+TTTACCGAATGTGAAAGTGGTTATCCTCTATCCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r373
+AGTTTCGATATTGCCGCCCAATGTACAGAACAGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r374
+TAACAGGTATTATTCTCGCTGTCTTTGCTCTGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r375
+ATGGGCGTTCTGTTCGCCGTCTTTTTGCTCATCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r376
+GAGGTTGTTGAAGTCGATGTCCTATCAGGAAGCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r377
+ATCCGGCAGCGCAAGGAATTGTCCAGATGATTGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r378
+TTTCAATTGTGCCAGCGGAAATCCCGGCTGGGCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r379
+ACACTGGCTTGCAGGCCGAAACCTTCAGCGAAGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r380
+ATTTGTGCCATAAAGCGACCGCCGAAATCTTTAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r381
+AAAATATGGAGAAAAACGACAGGGAAAAAGGAGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r382
+TTGGAAATGCCCTTGACCGGTAATTCGTCTTCATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r383
+TGCCGATAAGCTGCCGTCAGAGCCACGGGAAAATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r384
+TTAAACGGCTCTTTGGCTTGCGCCAGTTCTTCCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r385
+GAGCAACTGACTGGTTTTAATAGCGAAGGTTACTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r386
+CCGTTTAAACAGTCTCGTTAAGCAGAATGATACAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r387
+ATCAGGATAAAGGCATCCCTGCGCTGGAAGAATGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r388
+CTTCAACAACCTCGCATCGGGCACCTGACGCGGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r389
+CACCGACGCCAATCACAAACACTTCGATAACCTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r390
+TGACCACCACGCGCTATACGCTGCCGGAGCTGTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r391
+GGCTCATGCTTTCTACGGTTTACCGAATGTGAAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r392
+CCGATTTAAAATACTCATCTGACGCCAGATTTATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r393
+CGAGCAAACGTTGTGTGAACTGGTGGATGAAATGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r394
+GTGCTTGGGGATTTCCGGTATTTTTAATCAGGCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r395
+AAAGCCCGCACTGTCAGGTGCGGGCTTTTTTCTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r396
+ATACCGATAAGAAAGAGTACGCTCCGGCAGAAGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r397
+AACTGGCCGCGTGTGGAAGAGTTGTTCCGCCGCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r398
+TGCCGGTAATGAAAAAGGCGAGCTGGTGGTTCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r399
+TTGCCAACTACATTTATGCCGAAAACAATCTCTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r400
+TTTTAAATCGGTGAAGCCGAAGAAATTGAATGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r401
+AGCTGCAGGCGGCGCGGCGGGATATACCTTAAGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r402
+AGTAATAGCCACGATTATCACGATCGCCTATCTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r403
+CGTCAACATCCGTCCAGATCTCGCAACAATCGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r404
+AGCGAAGGGGCTATCGAACGTAAACTGTCTTACAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r405
+GTGCCCGATGCGAGGTTGTTGAAGTCGATGTCCTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r406
+TGGGGACATCGCGGCAATGAAGCTGTATCAACCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r407
+CCTTCGCCACACGCGCGGCAAAGAGATCGTCGAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r408
+GTCAACAGCAAACTTACGGATACCTTCCGCCAGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r409
+TCGCGGCGCTGATGGCGATGAATGAACACTGCGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r410
+AGACATATTGCCCGTTGCAGTCAGAATGAAAAGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r411
+ACAAGCTGTTTAAAGAGAAATACTATCATGACGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r412
+TCTCCTTTTTCCCTGTCGTTTTTCTCCATATTTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r413
+TCTTTGCAGCGATGTCACGCGCCCGTATTTCCGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r414
+GGAACTGGCCCTGCGCGTCGTGACGTAACGCCCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r415
+AGGATTGCGGAGAATAACAACTGCCGTTCTCATCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r416
+TAACCACGAGGGTAACAAACTCCGCACCCCAGGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r417
+CTCGCCTGTGGTTCATACCATTGCCAGTGATTATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r418
+CAATGTTCAGCGTTTCCGGCCCGGGGATGAAAGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r419
+CCTCGGCACCGCGCATCCGGCGAAATTTAAAGAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r420
+TGGCAGATATCATTATGGCCTGCATGGCTATTACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r421
+GATAATCGTGGCTATTACTGGGATGGCGGTCATTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r422
+GGGCTGTTTTTTCCGCACGACCTGCCGGAATTCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r423
+TGGAGCCGTTGGCGGTGACGGAACGGCTGGCCATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r424
+TGCAAGCCAGTGTAGACATCACCTTTAAACGCCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r425
+GCGTGCTTTCTTAGCGTAGAAGCTGATGATCTTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r426
+AATGGCGGGCGATATCAACGCAGCGAATTGGGCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r427
+CCCATTGGCATCACGTTCTTTATAAAGCTGTGCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r428
+GCTGACATCGGCGCTAACCACGCCGTTTGAACTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r429
+TGCCAGCGATTGCCTCGCCATTCATAATGTTGTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r430
+CCGCCAGTAATATCAGCATGGCGCTTGCCGTGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r431
+TGTTACCTCGTTACCTTTGGTCGAAAAAAAAGCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r432
+AAACCTGTCTGTCACTCCCTTCGCAGTGTATCATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r433
+TTAGCAACGATCGTATTCTGATCAAACTGGCTTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r434
+CTTAAGCCAGGCGATTACTAACGGTTTTCAGCGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r435
+GGCACAATTGAAAACTTTCGTCGACCAGGAATTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r436
+AATATCATCTGCTGAACCCGGTCATTGTTGACTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r437
+ACAGCTTTATAAAGAACGTGATGCCAATGGGCAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r438
+ACAGACAGATAAAAATTACAGAGTACACAACATCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r439
+GAAAGGGATGGTTGGCATGGCGGCGCGCGTCTTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r440
+AGATTGTTAACAACGTGCGCTTTGTTTATGCCGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r441
+AAAGCAAACCCGGCCTGATTGAGATAATGAATAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r442
+ACAAAGTCGGGCCGGAGCCGGAGATACCGCTCGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r443
+TTCATATTTGCCGGCTGGATACGGCGGGCGCACGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r444
+GTCTTAAAAATAGCATTCATCCACAGCCAGGCGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r445
+CGCCTGCTTCACCAGCGCCTGACAGGCATCGAAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r446
+ATCGAGCGGGCGCAGTACGCCATACAAGCCGGAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r447
+CTGAGTTTTTCTTTTGATTTTCCCCCGCTGGTAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r448
+GCCGCTCCAGTATCACCGGATGTCGCGGTCAGAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r449
+AACTGGCAGGAAGAACTGGCGCAAGCCAAAGAGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r450
+AAATATCAATGCCGGATTGCCATCCGGCATTATCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r451
+ATTTATCGGCATGGCGACCTCGTTTGCCGAATGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r452
+GGGATCTGGAACTGGGCGATGGGGGTAATGGTGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r453
+ATTAAAGAGACGCTGGAAGGTGTGAAGGACGCTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r454
+TTGCCACTGATGTACCGCCGAACTTCAACACTCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r455
+GTCAAATTGGTAATAGCCATGCAGGCCATAATGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r456
+GAAGCAGGCGTTTGATGATGAAGAACTGAAAGTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r457
+TGCTGATGGCTGGTTTCACTGCCGGTAATGAAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r458
+TCCAGAAGGCGATGCGGGTGCTAATGGGTTCCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r459
+CTGCTATTCCCGTCAGCTTGAGCTTGCCGCGAAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r460
+CCACACAGAGACATATTGCCCGTTGCAGTCAGAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r461
+GTTTATTCTTCAACCAGCTTTGCTGACGCTTCAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r462
+GATCTCGCCGTTTGTTGGCCGTATTCTTGACTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r463
+CAATTTCAGTCAGGCTGAATTCCGGCAGGTCGTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r464
+TGAATAACATGGCAATGTTCAGCGTTTCCGGCCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r465
+AAGGTGCCGCCGATGACCGTTGCGAAGGTGCAGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r466
+GTCCCAGAACCACCAGCTCGCCTTTTTCATTACCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r467
+CTGCCCCAACAAACTGATGCCATGCAGGACATGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r468
+CTTTGGCTTGCGCCAGTTCTTCCTGCCAGTTTTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r469
+GCTCGTGAAACGGGACGTGAACTGGAGCTGGCGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r470
+CACCAATAAACGCCGAGAGGATCTTCGCACTGCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r471
+CAGGTTACTCCTTTTATCATTGCCCGTTATGGGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r472
+CCAGGGTGTCGATAAAAATGCCAATCATCTGGACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r473
+AGAGCATGGTTATGAAACCGTGGTTATGGGCGCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r474
+GTTGATGCTATCCGGGCACTGCCCCAACAAACTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r475
+TTCCGACTACTCCGCTGCGGTGCTGGCGGCCTGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r476
+CAAAGTGAAAAATGGCGAAAACGCCCTGGCCTTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r477
+AACTCATTTCATCCACCAGTTCACACAACGTTTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r478
+GACACTGGGGACATCGCGGCAATGAAGCTGTATCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r479
+GGCAAACAGAATAACCACGAGGGTAACAAACTCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r480
+GCCTGCGCTGCCATGGGAGCGACCAGAACCAGGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r481
+GCTGCCACAGGAACTCGGACTCAGTGATACGCGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r482
+TCGACCAAAGGTAACGAGGTAACAACCATGCGAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r483
+ATCGCCAGCAGAGCAAAGACAGCGAGAATAATACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r484
+TCTTCATCAATATTGCCAACATAGCGCAAAACTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r485
+TTATCGATCCGGTCGAAAAACTGCTGGCAGTGGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r486
+GATGATGAATCATCAGTAACATCTATTCATTATCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r487
+TTGTTGCGAGATCTGGACGGATGTTGACGGTGTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r488
+ATCTCAACTGAAGTTGATGCGCGTCTTTCCTATGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r489
+CTGGAAATCCTGAAACTGGTTCCGGGCCGTATCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r490
+ATCCACGGCTGCATAACCCAGCTCTTTCAGTTGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r491
+ACCCTCGGCGTTAAACTCTGCGGGCAGCACAGGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r492
+GAAGTTGATGCGCGTCTTTCCTATGACACCGAAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r493
+TGCGTTGCGTAAATTGATGATGAATCATCAGTAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r494
+ACGCGCCCGTATTTCCGTGGTGCTGATTACGCAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r495
+CGGTTTCATAACCATGCTCTTTGTAGTACTGGTAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r496
+GCCGAGATCCCACGTAAGGTGCGCATACCATCACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r497
+GATTAAGGCCATGTACATTGGTGAGCAGTGCCTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r498
+GCCGGCAAATATGAACAAAACCTTCCTGATTTTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r499
+ATATTCTGGAAAGCAATGCCAGGCAGGGGCAGGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r500
+CGGAGAATAACAACTGCCGTTCTCATCGCGTAATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r501
+TCAACAGCAAACTTACGGATACCTTCCGCCAGTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r502
+TATATTGCAAGAAGATCGTAGGCCTGATAAGCGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r503
+CGCTGCCGTAGCTTATCGTGCGCTGCGTGACCAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r504
+CGGCAAAGAGATCGTCGAGCTGTGACAGATTCGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r505
+GTGTGGATTAAAAAAAGAGTGTCTGATAGCAGCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r506
+GCCAGCTCTTTCAGCAGTGCCGGTGCGATGGTCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r507
+TGAAACCAGCCATCAGCACCATGTGGTCAGCCGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r508
+CCAAACGCGGCAGCGGCAGCTGCGTCCTGGCCTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r509
+GGTAATAGCCATGCAGGCCATAATGATATCTGCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r510
+GCTTTCAACATTGGCGACCGGAGCCGGGAAGGCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r511
+AATGACTGAAATGAGGTTAAACCGCCTGGCTGTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r512
+CCGATCGGTTCGGGCTTAGGCTCCAGCGCCTGTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r513
+GGCGTTCGCCTGAACTCCGCTGAAAATTATGCCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r514
+GCGTAATCAGCACCACGGAAATACGGGCGCGTGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r515
+GTTTCCAGTTCAAACGGCGTGGTTAGCGCCGATGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r516
+CTGAACGCTCAATCTCTGTCGTGGTCAATAACGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r517
+TCGAGCAAACGTTGTGTGAACTGGTGGATGAAATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r518
+CCTCGCATCGGGCACCTGACGCGGATCGCAGGTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r519
+TTTAAACGCCAGAATTGCCTGGCGGGCATTCTCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r520
+TTGTTCATATTTGCCGGCTGGATACGGCGGGCGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r521
+GGAATAGCAGGCGTGAATGAAGCCTGCCAGATGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r522
+CATCAATTTACGCAACGCAGCAAAATCGGCGGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r523
+GCATCAGCGACAAACTGGCGGGTATCAACGCCGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r524
+ACAGGTGTCACCGCCGCCCCGAGCACATCAAACCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r525
+CTGCACCTTCGCAACGGTCATCGGCGGCACCTTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r526
+ACCCGCCGTCAAATCGCCGAAGTTTCCACTCGGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r527
+CAGAAAGATCATCTCGCGGGTCCGGTTCGGTATAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r528
+ACATCCATGAAACGCATTAGCACCACCATTACCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r529
+CCTTGCGCTGCCGGATGCGGAGGCCAGGACGCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r530
+GCACAGACAGATAAAAATTACAGAGTACACAACAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r531
+CTGTGCGACAGCCTCAAAGTAATAACAAATCTGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r532
+AGCAAAGACAGCGAGAATAATACCTGTTACCAGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r533
+TGGAAGGTGTGAAGGACGCTGAGGGTAACGTTGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r534
+AAACTGTTGCCATCGACGGCGATTTCGATGCCTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r535
+ACCAACGTGAACGATACCGTACCACGTTTCCTGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r536
+GGCCTTAATCTGGAAAACTGGCAGGAAGAACTGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r537
+TGGAAGGTATTCAGCTTATCCAGAAGGCGATGCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r538
+ACCCTTGCTTTCGCATAACCTGCCCGCCGATTTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r539
+GGAGAATAACAACTGCCGTTCTCATCGCGTAATCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r540
+CTGCATCGTTGTAGAGTTTGATCAGGCGTTTTGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r541
+ACTCCGCTGCGGTGCTGGCGGCCTGTTTACGCGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r542
+CGGTCGCAGCCTGCCAGTTCCAGAATTTCGCCGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r543
+CCGGAGATACGCCCTTCCAACTCGCCCATCAAAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r544
+GAGTCGTTTCATTATTGAAAATCGGCTGACCAAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r545
+TGGTATGCAGTTGATGATCGAAGAAAACGACATCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r546
+AGACTCCTAACTTCCATGGGAGGGTACGTAGCAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r547
+CCGCCGAACTTCAACACTCGCATGGTTGTTACCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r548
+CGGATGTCGCGGTCAGAATGGTCACTGGCTTATCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r549
+AAGAAAGCTCCATCGCTTCCTGATAGGACATCGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r550
+GCCTTTTTGTTCGGCGTAACAACGTGGAAACCTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r551
+AAACGCCCTGGCCTTCTATAGCCACTATTATCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r552
+TGATTACCAAAGCCCGTTGACCACCACGCGCTATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r553
+ACGGTAGGGTTCAGCGATAACATCTTTCATCAGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r554
+AAAGAATTTCGCCGAGATCCCACGTAAGGTGCGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r555
+TGGGGCGACCACGGCTGGTGGAAACAACATTATGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r556
+AACACTGCGGCAAGCCGCTTAATGACACTCGTTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r557
+GCGGGTTTCCAGTTCAAACGGCGTGGTTAGCGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r558
+CTGCATTAAATCGAGCGGGCGCAGTACGCCATACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r559
+AATCAGGAAGGTTTTGTTCATATTTGCCGGCTGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r560
+GGATCCTGGTTGTGCTGCCACAGGAACTCGGACTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r561
+AAACGCATTAGCACCACCATTACCACCACCATCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r562
+ACCACCAGCTCGCCTTTTTCATTACCGGCAGTGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r563
+CTGACGAAGGGAGGTCAATTTGTCCGTCATGATAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r564
+TTGATGGGCGAGTTGGAAGGGCGTATCTCCGGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r565
+TGCTGCAACCACTTCCGGTGCCGTTTCAACGTATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r566
+AAATACCGGAAATCCCCAAGCACCAGGTACGCTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r567
+GATGTTTGTCAGGCCCCGGACGATGATCGCCACGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r568
+GTTTCCTGCACGACGGTCAGTGGTCACCCAAAGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r569
+GCCCGGCTTTTTTTATGAAGAAAATATGGAGAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r570
+CCGCAGGAAATCCTGGAAGAGCGCGTACGTGCGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r571
+ACGCGCGGCAAAGAGATCGTCGAGCTGTGACAGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r572
+GGCAAGCCGCTTAATGACACTCGTTTGCTGGCTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r573
+CGCCACCGACGCCAATCACAAACACTTCGATAACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r574
+CGGATGCGGAGGCCAGGACGCAGCTGCCGCTGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r575
+CTGGCAGTAACCGTTCACGGTAGGGTTCAGCGATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r576
+CCGGTTCGGTATAACCCATTTCCCGCGCCAGTGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r577
+CACGGGCCAACGCTGGCATTTAAAGATTTCGGCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r578
+GGTCATCTGCACGGCAAGCGCCATGCTGATATTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r579
+ACCACTGACCGTCGTGCAGGAAACGTGGTACGGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r580
+GTGCAGTTTCGCTACATCCGCCAGTTTGGCAAAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r581
+ATCATCGTTATTGACCACGACAGAGATTGAGCGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r582
+CACTGGAATTTGCTTGCCAAGCTCCTGGCAAAAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r583
+GGCAATGACGTTACAGCTGCCGGTGTCTTTGCTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r584
+TGTTACGGAAGCTTGCGCCCATAACCACGGTTTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r585
+GGCGCACGAGTACTGGAAAACTAAATGAAACTCTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r586
+CTGGGACGCAACGGTTCCGACTACTCCGCTGCGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r587
+CGAATCTGTCACAGCTCGACGATCTCTTTGCCGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r588
+ACGCCGGCCATAATGGCGATCGACATTTTCTCGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r589
+AGGGAAAGATCTGTATCAATTCTGGGGAGATATCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r590
+AGTCTATTAAAGAGACGCTGGAAGGTGTGAAGGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r591
+CCTGATTTTGCAGGTAGTTCTTACCCAACCAGTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r592
+CGGGCGGAACTGGCCCTGCGCGTCGTGACGTAACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r593
+GTTAATAAAGGAGAAAAAATCTGGCATGCATATCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r594
+ATACCCGCCAGTTTGTCGCTGATGCGCATCAGGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r595
+CTTAGCGTGACCGGGAAGTCGGTCACGCTACCTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r596
+TCCAGAGTCATCGCCACTGGAATTTGCTTGCCAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r597
+TAAACAGTCTCGTTAAGCAGAATGATACACTGCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r598
+AATTGTGCCAGCGGAAATCCCGGCTGGGCGGCGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r599
+CTAATTGTTAAGCTCCCCCCGCTCGAAGGGATAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r600
+TCCCGTTTCACGAGCGAGAATCAATAGCTTACGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r601
+CGTCTTTCCTATGACACCGAAGCGTCAATTGCGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r602
+AGATGGCGTCTGCCGCGTGAAGATTGCCGAAGTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r603
+GTAAATTAAAATTTTATTGACTTAGGTCACTAAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r604
+CCGTTGGCGGTGACGGAACGGCTGGCCATTATCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r605
+TCAGGCGAACGCCGTTGCGCGAGCCCTGAGTTTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r606
+AGCAGCGCACCGCCAACGCCACCGACGCCAATCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r607
+GTCGATGGATTACTACCATCAGTTGCGTTATGCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r608
+ATGTCACGCGCCCGTATTTCCGTGGTGCTGATTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r609
+TCCATGAAACGCATTAGCACCACCATTACCACCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r610
+CGGCCTGATTGAGATAATGAATAGATGTTACTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r611
+CGGTGATACTGGAGCGGCAGTGGCTCATGCTTTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r612
+TGCGGGCAATGACGTTACAGCTGCCGGTGTCTTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r613
+GAAGGCAAACAGAATAACCACGAGGGTAACAAACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r614
+GCATACCATCACCTACCACCGAGATAATGGCCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r615
+GCCCCAATGACCGCCATCCCAGTAATAGCCACGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r616
+CGATGAATGAACACTGCGGCAAGCCGCTTAATGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r617
+GCTGGGCGTTGTCTAACAGCTCCGGCAGCGTATAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r618
+GAACAGAACGCCCATCCAGCGCATCCCCAGCCCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r619
+TTCAATACCGATCAGGTTATCGAAGTGTTTGTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r620
+CCGGATCTTCTGCCGGAGCGTACTCTTTCTTATCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r621
+ACGTTACAGCTGCCGGTGTCTTTGCTGATCTGCTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r622
+CGTTACAGCTGCCGGTGTCTTTGCTGATCTGCTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r623
+AGGCGTTTGATGATGAAGAACTGAAAGTGGCGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r624
+TCAGGAAGCGATGGAGCTTTCTTACTTCGGCGCTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r625
+AATCAGCGCAGCGTTGATGCTATCCGGGCACTGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r626
+TAAACTCGGCGTGCGCCCGGTGTTTGATCCGTTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r627
+CCGCTGGAAGGTATTCAGCTTATCCAGAAGGCGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r628
+CTTTAAACAGCTTGTTAGGGGGATGTAACCGGTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r629
+TTTTCACAGGTTACTCCTTTTATCATTGCCCGTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r630
+TTTAGGGTTGTTCAGGCGTAAAAAGAAGAGATTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r631
+AGTTTTGCGCTATGTTGGCAATATTGATGAAGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r632
+GGCGTGAATGAAGCCTGCCAGATGTCGCCCGTGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r633
+AACTGGCAGGAAGAACTGGCGCAAGCCAAAGAGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r634
+GGCCATTATCTCGGTGGTAGGTGATGGTATGCGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r635
+TGTGCTGCCCGCAGAGTTTAACGCCGAGGGTGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r636
+CGTGGTCGCCCCAATGACCGCCATCCCAGTAATAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r637
+CAGTATCGCCGCCAGGATTGCATTGCGCACGGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r638
+CGTTGGTACTGCGCGGATATGGTGCGGGCAATGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r639
+AGAGCGTGGAAGCGATTCTCGGTGAAACGTTGGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r640
+CTCGGTGAAACGTTGGATCTGCCAAAAGAGCTGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r641
+ATCCACTTCGGCAATCTTCACGCGGCAGACGCCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r642
+AGAAAACGTTCTGCATTTGCCACTGATGTACCGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r643
+CCGGCAGCGCAAGGAATTGTCCAGATGATTGGCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r644
+GGCATATTCTTTTCCAGAGTCATCGCCACTGGAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r645
+GAGAGTGCTTTTGGCTGGCAGGAAGCTGCAGGCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r646
+CGGTCCATGTGGGTGCCAGCGATTGCCTCGCCATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r647
+GTCTTGAGAATGCCCGAGGGAAAGATCTGTATCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r648
+CGTTGCTAATACCTGCATCGTTGTAGAGTTTGATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r649
+ATGCTTTCCGGCTTGTATGGCGTACTGCGCCCGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r650
+CCGCGACATCCGGTGATACTGGAGCGGCAGTGGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r651
+GCAGCTTATCGGCAAAGCGTCCGAGGTTGTTGAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r652
+TGATTCTTATTTCACCTGCGAAAACGCTTGATTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r653
+TCCCGCAGGAAATCCTGGAAGAGCGCGTACGTGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r654
+GGTTGTTCAGGCGTAAAAAGAAGAGATTGTTTTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r655
+TTTAAACAGTCTCGTTAAGCAGAATGATACACTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r656
+CGTTAGTAATCGCCTGGCTTAAGGTATATCCCGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r657
+GCCAAGCTCCTGGCAAAAACGCTCCCAGCACTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r658
+TTGCCTGATTAAAAATACCGGAAATCCCCAAGCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r659
+AGCTGGAAAAAGAAGGTATTAACTGTAACCTGACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r660
+GCCTGGATTCAACTGGTCACGCAGCGCACGATAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r661
+AGGTGCCGCCGATGACCGTTGCGAAGGTGCAGATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r662
+AGGCGATCGTGATAATCGTGGCTATTACTGGGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r663
+CAGCAGCGCACCGCCAACGCCACCGACGCCAATCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r664
+CCAGCGCCTGTTCAGTGGTCGCGGCGCTGATGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r665
+CTGTGGTTCATACCATTGCCAGTGATTATCTACGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r666
+GATAGCCCCTTCGCTCTCCGCCAGCTCTTTCAGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r667
+AGCCCGAACCGATCGGCATATTCTTTTCCAGAGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r668
+AAAAATCGCGGCGTAAATTCCTCTATGACACCAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r669
+TGTACAGAACAGTTTTTCTTGCAGTGGACTGATTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r670
+AGTTTGATCAGAATACGATCGTTGCTAATACCTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r671
+TAATGGGTTCCTGGGGTGCGGAGTTTGTTACCCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r672
+AAATTCTCAATAAATGCGGTAACTTAGAGATTAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r673
+ATCCCCGATGAGCAGGCGATCATCGAGCAAACGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r674
+TGAACCTGTGCTGCCCGCAGAGTTTAACGCCGAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r675
+GGTGCCACGTTGTCGTAATGAATGCTGCCGGAGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r676
+AGGGATAAGATTGTTAACAACGTGCGCTTTGTTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r677
+CCGAGTTTACGCTGGCGTAGATAATCACTGGCAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r678
+ATGCGGTAACTTAGAGATTAGGATTGCGGAGAATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r679
+GTTGAAGAATAAACATATCGACTTACGTGTCTGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r680
+GAGATGATCTTTCTGGCATGGATGTGGCGCGTAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r681
+GACGGACAAATTGACCTCCCTTCGTCAGTACACCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r682
+GCTGATATTGGGTAAAGCATCCTGACCGCTAATGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r683
+AGACGCGTGGGATGATGTTTCGCAGGAGTAATCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r684
+GCGTCGCCCGGCTCATGCAGGGGTTTGTCCCGTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r685
+CATGCTTTCTACGGTTTACCGAATGTGAAAGTGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r686
+CGCAGAAAACGTTCTGCATTTGCCACTGATGTACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r687
+CTCATTTCAGTCATTGTGTACCAGTCTTGCAGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r688
+CCGTCAGCTTGAGCTTGCCGCGAAGCTGATGAAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r689
+AAGCTGTTTAAAGAGAAATACTATCATGACGGACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r690
+TAATTGCCAGCGCAACGCCGGCCAGGTTGCCGCTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r691
+TGGTGATAAATCTGGCGTCAGATGAGTATTTTAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r692
+ACCACCATCACCATTACCACAGGTAACGGTGCGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r693
+TTCATCAAGATTTTTCCGTTTAAACAGTCTCGTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r694
+GCAAATTCCTGGTCGACGAAAGTTTTCAATTGTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r695
+ACCACGCGCTATACGCTGCCGGAGCTGTTAGACAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r696
+TGGCAGATCAATATGCCGACTTCCTGCGCGAAGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r697
+TTCGGCAAAAATAAGTTCGGCATCGCTGATATTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r698
+CGGCGGAACAACTCTTCCACACGCGGCCAGTTGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r699
+GAGGGATATGCATGCCAGATTTTTTCTCCTTTATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r700
+GGTCGAAAAAAAAGCCCGCACTGTCAGGTGCGGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r701
+GCGCGTACGTGCGGCGTTTGCCTTCCCGGCTCCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r702
+CAGTTCAAACGGCGTGGTTAGCGCCGATGTCAGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r703
+AAACGCCAGAATTGCCTGGCGGGCATTCTCCGGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r704
+GCAGGTTATGCGAAAGCAAGGGTAAATCAGCACGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r705
+GATTCATCATCAATTTACGCAACGCAGCAAAATCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r706
+GACGGTCAGTGGTCACCCAAAGCGACTCAGGCGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r707
+TAAGTCAATAAAATTTTAATTTACTCACGGCAGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r708
+CCAGGCTTTGGTGAACAGATGCGCCAGATCAGCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r709
+ACGCCAGCGTAAACTCGGCGTGCGCCCGGTGTTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r710
+CAACCTCGGACGCTTTGCCGATAAGCTGCCGTCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r711
+AGAAGAACGGCAAATTTAAGATCATCAGCTTCTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r712
+CTACAAAATCGTGCAAATTCAATATATTGCAAGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r713
+AAAAATTACAGAGTACACAACATCCATGAAACGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r714
+GCTTTCTTATATCTTCGGCAAGTTAGACGAAGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r715
+CTTCCATGGGAGGGTACGTAGCAGATCAGCAAAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r716
+TTCCTGCAAGGACTGGATATGCTGATTCTTATTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r717
+ATACGCCCTTCCAACTCGCCCATCAAAGCCAGCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r718
+TCGCCTGGGCGAAACAGCAGAGCAACGATCGCGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r719
+ATGTCCTATCAGGAAGCGATGGAGCTTTCTTACTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r720
+ATGAAGGAAAAGTTTTGCGCTATGTTGGCAATATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r721
+AAACTCTACAACGATGCAGGTATTAGCAACGATCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r722
+GTGGGGGTGATTCGCAAACAGGCGCTGATCCTTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r723
+AATCTCGGGCGCTTAATTCGCCTCGTGAAAGAATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r724
+GCGATGCCGAACTTATTTTTGCCGAACTTCTGACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r725
+GATCATCGTCCGGGGCCTGACAAACATCATCGCTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r726
+TCGCCATGCCGATAAATGCGGCAACCCACATCCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r727
+GGGCGATGGGGGTAATGGTGCGGGGGTGAAGAACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r728
+CCATGAAACGCATTAGCACCACCATTACCACCACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r729
+ACAACTCTTCCACACGCGGCCAGTTGTTTGGCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r730
+TGATCTGCCACAGCCTGGCTGGAAGTACAGTCAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r731
+TGACATCGCTGCAAAGACGCGCGCCGCCATGCCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r732
+GATGTCGCGGTCAGAATGGTCACTGGCTTATCGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r733
+GTCATCGCCACTGGAATTTGCTTGCCAAGCTCCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r734
+TGATCCGTTGCGTTATCCGGAGATCGGTCGCCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r735
+TCATCCACGGCTGCATAACCCAGCTCTTTCAGTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r736
+GGCGCACGCCGAGTTTACGCTGGCGTAGATAATCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r737
+CGCCGCTCGCTTTCATGACTGGCAGCCAAATTTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r738
+ACATCCCCCTAACAAGCTGTTTAAAGAGAAATACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r739
+GCCAACGGCTCCAGTAAGCCTTCTTTCAGTTCCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r740
+GCACCATCAACAGGTGTCACCGCCGCCCCGAGCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r741
+GGATTCAACTGGTCACGCAGCGCACGATAAGCTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r742
+GCAGGAAACGTGGTACGGTATCGTTCACGTTGGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r743
+GGCAAAAATAAGTTCGGCATCGCTGATATTGGGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r744
+GATAAGGCGTTCACGCCGCATCCGGCATAAACAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r745
+CGGCCTACAAAATCGTGCAAATTCAATATATTGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r746
+GAAAAGTTTTGCGCTATGTTGGCAATATTGATGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r747
+GTCTCAACAACCTCGGACGCTTTGCCGATAAGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r748
+CCTGCGCGAAGGTTTCCACGTTGTTACGCCGAACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r749
+CGTCATGATAGTATTTCTCTTTAAACAGCTTGTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r750
+TAACCAGTTCAGAAGCTGCTATCAGACACTCTTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r751
+CTGCGGGTGACAAAATCCAGCTTCAGCATCTCATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r752
+AACCGGACCCGCGAGATGATCTTTCTGGCATGGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r753
+CACGATTATCACGATCGCCTATCTGTAATTTTACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r754
+TTGCCGCAAGAAGCACGTAACCAGTTGGTTGTCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r755
+GGCGGTGCGCTGCTGGAGCAACTGAAGCGTCAGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r756
+TATGCCTATATTGGTTAAAGTATTTAGTGACCTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r757
+ATTGCTTTCCAGAATATCGGCAACCCGCAGAAAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r758
+AATCTCCGGATATCGACCCATAACGGGCAATGATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r759
+ACCATCAGTTGCGTTATGCGGCGGAAAAATCGCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r760
+CGTGAACTGGAGCTGGCGGATATTGAAATTGAACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r761
+CGGCAGAAGCCAGGGCTATTTTACCGGCGCAGTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r762
+GAGATATCATCACCAACAAGCTGAACGAGGCGCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r763
+CCAGCGCCACTTTCAGTTCTTCATCATCAAACGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r764
+TATTAACTGTAACCTGACCCTGCTGTTCTCCTTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r765
+TGTCAGACTCCTAACTTCCATGGGAGGGTACGTAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r766
+GTATGCTACGCAGAAGTTATCCAAGTACCTCGTAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r767
+TATATACTTCGTAAACAATTGGTAACGTTTACACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r768
+CCACATCAGCGGAAAACTTAACAAGGTGCCGCCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r769
+ATTCAGACCGAAGAGTGCAAGACGCGAAGTTAGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r770
+TGCAGGAAATTTATGCCGACTTTAGCAAAAAAAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r771
+TAGGCGATGAGCAAAAAGACGGCGAACAGAACGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r772
+GAGACAACCAACTGGTTACGTGCTTCTTGCGGCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r773
+GCCTGACTGAAATTGATGAGATGCTGAAGCTGGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r774
+GCATAAAAGCAAACCCGGCCTGATTGAGATAATGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r775
+CGCTTCCTGATAGGACATCGACTTCAACAACCTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r776
+GCCCAAATAAAACATGTCCTGCATGGCATCAGTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r777
+ACCGCATTTATTGAGAATTTCTCCTTTTTCCCTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r778
+AATGAAGCCTGCCAGATGTCGCCCGTGCGCAATGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r779
+GACCCACTGCCAGCAGTTTTTCGACCGGATCGATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r780
+GGAAACGTGGTACGGTATCGTTCACGTTGGTCGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r781
+CTGCCGTCGAGACTTTAATCCCCGGATACGCCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r782
+TTTACGCTGGCGTAGATAATCACTGGCAATGGTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r783
+AGCAAAGCTGGTTGAAGAATAAACATATCGACTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r784
+CTTCCCCACGTCATTTGGTCTATTTTTGAGAGTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r785
+CATGGCGCTTGCCGTGCAGATGACCAGGGTGTCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r786
+GAATATGCCGATCGGTTCGGGCTTAGGCTCCAGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r787
+CATATCCGCGCAGTACCAACGGCAGCGGCTGATAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r788
+TCGCAATTGACGCTTCGGTGTCATAGGAAAGACGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r789
+GCAGTTTTGCGTTTGTCATCAGTCTGATCCCCCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r790
+TCTGGAACTGGCAGGCTGCGACCGTCTGACCATCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r791
+GTTCGCTCTGTGTGACAAGCCGGATACCGCCCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r792
+AGAGGCCCAATTCGCTGCGTTGATATCGCCCGCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r793
+GAAAGATCATCTCGCGGGTCCGGTTCGGTATAACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r794
+TACCGAGTGGAAACTTCGGCGATTTGACGGCGGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r795
+GCCATACGTTGAAACGGCACCGGAAGTGGTTGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r796
+TCCCCGATGAGCAGGCGATCATCGAGCAAACGTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r797
+AGTGGTTATCCTCTATCCACGAGGCAAAATCAGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r798
+TTGAAAACTTTCGTCGACCAGGAATTTGCCCAAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r799
+GTGGTCGCCCCAATGACCGCCATCCCAGTAATAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r800
+GCCGAGAGGATCTTCGCACTGCGGGTGACAAAATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r801
+AATCCTGGAAGAGCGCGTACGTGCGGCGTTTGCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r802
+CGGCAAAGCGTCCGAGGTTGTTGAGACTGAATGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r803
+ACTTCCCCACGTCATTTGGTCTATTTTTGAGAGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r804
+CGCCCTTCCAACTCGCCCATCAAAGCCAGCAAACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r805
+ATCTTCGCACTGCGGGTGACAAAATCCAGCTTCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r806
+GGATAACCACTTTCACATTCGGTAAACCGTAGAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r807
+TTTTCTCCTTTATTAACAGCGTCCTTTGGGGATCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r808
+TCTCTTTGCCGCGCGTGTGGCGAAGGCCCGTGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r809
+AACGCCCAGCAGCTGATCCATGAAGCGCGGAAACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r810
+CCATTTCCCGCGCCAGTGTGGTCGCCTCGGAGAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r811
+CAAAGCGAATACCGATAAGAAAGAGTACGCTCCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r812
+ATCCCAGTAATAGCCACGATTATCACGATCGCCTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r813
+GCATCACGTTCTTTATAAAGCTGTGCGAGGGAACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r814
+TTGCATCTTTTTCACAGGTTACTCCTTTTATCATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r815
+ATCGATCAACTCATTCTCTTTTTTTGCTAAAGTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r816
+GAACTGAAAGAAGGCTTACTGGAGCCGTTGGCGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r817
+GGGCGTGGTTTCTGTATCTGAAATCTACCAGTACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r818
+CCAATCATCTGGACAATTCCTTGCGCTGCCGGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r819
+GCTGCGTGACCAGTTGAATCCAGGCGAATATGGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r820
+TCTGCTTAACGAGACTGTTTAAACGGAAAAATCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r821
+TGCGTGACCAGTTGAATCCAGGCGAATATGGCTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r822
+TGTCACAGCTCGACGATCTCTTTGCCGCGCGTGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r823
+GTACGGTATCGTTCACGTTGGTCGCAGCAATAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r824
+CGCCATAACAAGCACAATGATCATCGTGGCGATCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r825
+GTGGACGCGACCGACAAACTGGCAGTAAATATTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r826
+ATCGGTTCGGGCTTAGGCTCCAGCGCCTGTTCAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r827
+AGCTGATGATCTTAAATTTGCCGTTCTTCTCATCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r828
+TGGTAATGATCCGCTGTTCAAAGTGAAAAATGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r829
+CTTAAGCCAGGCGATTACTAACGGTTTTCAGCGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r830
+ACCGTGGTTATGGGCGCAAGCTTCCGTAACATCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r831
+ACAGCCACTCATCAAACCCTGGCACTTGCTGGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r832
+CTTAGGTCACTAAATACTTTAACCAATATAGGCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r833
+CTCATCGCCTACGGCATAATTTTCAGCGGAGTTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r834
+GCAAATTCCTGGTCGACGAAAGTTTTCAATTGTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r835
+CTTATCCGGCCTACAAAATCGTGCAAATTCAATAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r836
+AGCGGTATCTCCGGCTCCGGCCCGACTTTGTTCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r837
+CATTCAATTTCTTCGGCTTCACCGATTTAAAATAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r838
+AGGTTTTGTTCATATTTGCCGGCTGGATACGGCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r839
+CATGGTATATGGCGCGCGGGCTGGGGATGCGCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r840
+ATGGGCAGTTTCGTGGCGGACCGGCATGGTATATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r841
+TCAAGACGTATCCCCATTTCCAGACGATAAGGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r842
+ATGCCGGATGGCAATCCGGCATTGATATTTAGCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r843
+AGCGCAGGCTGCGGAAATTACGCTAGTCCCGTCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r844
+TTGCCGCTACCCACGCGCGCTGCAAGACTGGTACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r845
+CATCCATGCCAGAAAGATCATCTCGCGGGTCCGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r846
+GTAATCCAGCCCCAACGTTGGTGTCATAGAGGAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r847
+TGGCGATGACTCTGGAAAAGAATATGCCGATCGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r848
+ATTTGCCACTGATGTACCGCCGAACTTCAACACTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r849
+AACAACGTGGAAACCTTCGCGCAGGAAGTCGGCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r850
+GCCAGTGGTCGCATCATCGTTATTGACCACGACAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r851
+GCCAGGCGATTACTAACGGTTTTCAGCGCAGTATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r852
+CGATATTTTCCCGTGGCTCTGACGGCAGCTTATCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r853
+TCAGCGTTTCCGGCCCGGGGATGAAAGGGATGGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r854
+ACTGCGATCCTTTCGCGTCAGGTGGGGGTGATTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r855
+GAATCCAGGCGAATATGGCTTGTTCCTCGGCACCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r856
+CAGTACCCAGATTATCGCCATCAACGGGACAAACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r857
+CCGAGAGGATCTTCGCACTGCGGGTGACAAAATCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r858
+GGGTCGATATCCGGAGATTACGCGATGAGAACGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r859
+GGCGTCGCCCGGCTCATGCAGGGGTTTGTCCCGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r860
+CTGGCCATTATCTCGGTGGTAGGTGATGGTATGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r861
+CGCTGGATGCGCGATCAGAGATGGAAACTAAGCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r862
+CGTAAACAATTGGTAACGTTTACACAGGAAAGTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r863
+GGCAAGTTAGACGAAGGCATGAGTTTCTCCGAGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r864
+CATAATGTTGTTTCCACCAGCCGTGGTCGCCCCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r865
+TGACAAACATCATCGCTAAATATCAATGCCGGATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r866
+GAAAAGTTTTGCGCTATGTTGGCAATATTGATGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r867
+TTCCGCACAAGCACGAGCCTGAGCGAAGGAGAACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r868
+TGCGCTGCTGGAGCAACTGAAGCGTCAGCAAAGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r869
+CACGGCTGGCACCAATGAGCGTACCTGGTGCTTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r870
+ATCAATTTACGCAACGCAGCAAAATCGGCGGGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r871
+CTGGACGGATGTTGACGGTGTTTATACCTGCGATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r872
+TGAACAGATGCGCCAGATCAGCCTGCATTTTGTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r873
+AGGGCATTTCCAATCTGAATAACATGGCAATGTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r874
+TCGGCGGTCGCTTTATGGCACAAATGCTGACCCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r875
+TTCCGCACGACCTGCCGGAATTCAGCCTGACTGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r876
+CAACTGTGCGACAGCCTCAAAGTAATAACAAATCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r877
+TCAGCAGATGATATTCTTTCACGAGGCGAATTAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r878
+GGCCTCTAGATGCATGCTCGAGCGGCCGCCAGTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r879
+TGAATACCTTCCAGCGGCATGTAGGTTGTGCCGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r880
+ACGCTCTCTTTAAATTTCGCCGGATGCGCGGTGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r881
+ACACTGCGGCAAGCCGCTTAATGACACTCGTTTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r882
+CCCTTTCATCCCCGGGCCGGAAACGCTGAACATTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r883
+CTGAACCCGGTCATTGTTGACTGTACTTCCAGCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r884
+CTGAACGCTCAATCTCTGTCGTGGTCAATAACGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r885
+GGGAATAGCAGGCGTGAATGAAGCCTGCCAGATGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r886
+ATTAAACGGCTCTTTGGCTTGCGCCAGTTCTTCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r887
+GAAGGCTTACTGGAGCCGTTGGCGGTGACGGAACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r888
+GAAAATCGGCTGACCAAACCAGAGCAACTGACTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r889
+GCATGGTTATGAAACCGTGGTTATGGGCGCAAGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r890
+TGATGAAATCCCGCAGGAAATCCTGGAAGAGCGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r891
+GCTCGAGCATGCATCTAGAGGCCCAATTCGCTGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r892
+AAGTCGGCATATTGATCTGCCACAGCCTGGCTGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r893
+GCATCCGGCAGCGCAAGGAATTGTCCAGATGATTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r894
+GTCAGGATGCTTTACCCAATATCAGCGATGCCGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r895
+TTTTATTCGCTAACTTCGCGTCTTGCACTCTTCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r896
+ACTTTTCCTTCATCACGGGCCTTCGCCACACGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r897
+GGAGTGACAGACAGGTTTCAGAAGAGGTAGCGTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r898
+TTCCACACGCGGCCAGTTGTTTGGCTGGCTAACAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r899
+TAAGGATCAGCGCCTGTTTGCGAATCACCCCCACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r900
+GTCGACCAGGAATTTGCCCAAATAAAACATGTCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r901
+GGGCGCTTAATTCGCCTCGTGAAAGAATATCATCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r902
+TGAAAGATCACAATGAGCAGGTCAGCTTTGCGCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r903
+TGCCAGTTGCCACATCAGCGGAAAACTTAACAAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r904
+CTCCGCCAGCTCTTTCAGCAGTGCCGGTGCGATGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r905
+GTGAGCAGTGCCTTCGAGTTAGCAACACCGCAGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r906
+GCGAATTGGGCCTCTAGATGCATGCTCGAGCGGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r907
+AATGGGCAGTTTCGTGGCGGACCGGCATGGTATAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r908
+TGACTGGCAGCCAAATTTCACACCGGAGAATGCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r909
+CAGGAAATTTATGCCGACTTTAGCAAAAAAAGAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r910
+TTGGGTGACCACTGACCGTCGTGCAGGAAACGTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r911
+ATTTACTGCCAGTTTGTCGGTCGCGTCCACGATCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r912
+TGTTTCCACCAGCCGTGGTCGCCCCAATGACCGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r913
+CGGCAACGCGCTGGGCGGTATCCGGCTTGTCACAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r914
+CGGTGAAACGTTGGATCTGCCAAAAGAGCTGGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r915
+ACAACCAGGATCCAATGGCAGTAGATAAACTGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r916
+GGCAAAGAGATCGTCGAGCTGTGACAGATTCGCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r917
+GTTGTGACCACGCGCTTCTAACACGCCGGCCATAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r918
+TGATTTGCCGTGGCGAGAAAATGTCGATCGCCATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r919
+AAGTCGGCATATTGATCTGCCACAGCCTGGCTGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r920
+CACGATGATCATTGTGCTTGTTATGGCGCGGCGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r921
+GATGATCTTTCTGGCATGGATGTGGCGCGTAAGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r922
+GCAACGGGCAATATGTCTCTGTGTGGATTAAAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r923
+GAGCGGCGTTGATACCCGCCAGTTTGTCGCTGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r924
+AATTGTGCCAGCGGAAATCCCGGCTGGGCGGCGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r925
+CTTCTGAAACCTGTCTGTCACTCCCTTCGCAGTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r926
+GCAAACCCGGCCTGATTGAGATAATGAATAGATGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r927
+CGAAGGAGAACAGCAGGGTCAGGTTACAGTTAATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r928
+CCTTTCATCCCCGGGCCGGAAACGCTGAACATTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r929
+AGTTGGCAACGATGGAGCTGAAGGCAAACAGAATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r930
+TGCTGTTCAATACCGATCAGGTTATCGAAGTGTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r931
+GCGGCAACTGTGCGACAGCCTCAAAGTAATAACAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r932
+GAGCTTGGCAAGCAAATTCCAGTGGCGATGACTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r933
+GTTCCTGGGGTGCGGAGTTTGTTACCCTCGTGGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r934
+CCTTTTATCATTGCCCGTTATGGGTCGATATCCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r935
+AAGGTGTGAAGGACGCTGAGGGTAACGTTGTGGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r936
+AGTAAAATTACAGATAGGCGATCGTGATAATCGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r937
+GTTTTTTCAATCATCGCTACCAGATGGTTGGTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r938
+ACGGTGGTGTACTGACGAAGGGAGGTCAATTTGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r939
+GTTATCCTCTATCCACGAGGCAAAATCAGTCCACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r940
+CCGGATGGCAATCCGGCATTGATATTTAGCGATGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r941
+ATTTGACCGCCATATTACTGCTCTCGCCTGTGGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r942
+TCGGGCAACTTCCCCACGTCATTTGGTCTATTTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r943
+GGAGTAGTCGGAACCGTTGCGTCCCAGAACCACCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r944
+TCTGTGTGGATTAAAAAAAGAGTGTCTGATAGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r945
+TTTTCTTTTGATTTTCCCCCGCTGGTAACAGGTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r946
+TCCCCCCGCCTGGGGGGATTTTTTTATTCGCTAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r947
+ACGGCCAACAAACGGCGAGATCAGGAACACGCCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r948
+GTTTGCGAATCACCCCCACCTGACGCGAAAGGATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r949
+CGCTGGCGTAGATAATCACTGGCAATGGTATGAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r950
+AGATGACCAGGGTGTCGATAAAAATGCCAATCATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r951
+CACCGCCAACGCCACCGACGCCAATCACAAACACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r952
+CGGCAGACCGAGTGACTTCGCCAGCAGACCCGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r953
+GTTACCTCGTTACCTTTGGTCGAAAAAAAAGCCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r954
+ACGTAAGGTGCGCATACCATCACCTACCACCGAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r955
+TAAAGATTTCGGCGGTCGCTTTATGGCACAAATGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r956
+AAAATAAGTTCGGCATCGCTGATATTGGGTAAAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r957
+CCGGCGTTGCGCTGGCAATTACCGCCGGTGGACCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r958
+ATCAGGCGTTTTGCTTTCGCAATTGACGCTTCGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r959
+TAAACTCTGCGGGCAGCACAGGTTCAATTTCAATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r960
+CATCTTCATCAATATTGCCAACATAGCGCAAAACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r961
+ATGGCGGTCAAATTGGTAATAGCCATGCAGGCCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r962
+AACAGCGTCCTTTGGGGATCGGTAATGATTTACCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r963
+ACGGCAGTTGTTATTCTCCGCAATCCTAATCTCTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r964
+GCGGGAATGGGGTCGACGCCAAACGCGGCAGCGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r965
+CGCAGCGCACGATAAGCTACGGCAGCGTGCGGCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r966
+TATCAGCGATGCCGAACTTATTTTTGCCGAACTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r967
+AAAAAGATGCAATCTATCGTACTCGCACTTTCCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r968
+CCCGTTCAGCTCGCACACAGTCGCTTTGCGGAACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r969
+GGCGGTACATCAGTGGCAAATGCAGAACGTTTTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r970
+AGCAAAGACACCGGCAGCTGTAACGTCATTGCCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r971
+TCGGCATAAATTTCCTGCAAGGACTGGATATGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r972
+CGCTACATCCGCCAGTTTGGCAAAAGTCTTAAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r973
+ACTCGCGGTCTTCATGGCGTCGCCCGGCTCATGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r974
+CAACTGCCGTTCTCATCGCGTAATCTCCGGATATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r975
+AGCCAGCCAAACAACTGGCCGCGTGTGGAAGAGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r976
+CGTTATGCGGCGGAAAAATCGCGGCGTAAATTCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r977
+ATGATGTTTCGCAGGAGTAATCACAACTATCGATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r978
+GAAGCCGGGGCATAAACTTTAACCATGTCAGACTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r979
+TGTTAACAATCTTATCCCTTCGAGCGGGGGGAGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r980
+CAGAATTGATACAGATCTTTCCCTCGGGCATTCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r981
+GGAAGTTAGGAGTCTGACATGGTTAAAGTTTATGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r982
+TACGTGCGGCGTTTGCCTTCCCGGCTCCGGTCGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r983
+ATTACCGATCCCCAAAGGACGCTGTTAATAAAGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r984
+TTTGTAGGCCGGATAAGGCGTTCACGCCGCATCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r985
+AGCTCTTTCAGTTGCCAGATTTTGCGGCGGAACAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r986
+TTCCCTGGTTCTGGTCGCTCCCATGGCAGCGCAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r987
+CAGGTTACAGTTAATACCTTCTTTTTCCAGCTGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r988
+ACTGAAATGAGGTTAAACCGCCTGGCTGTGGATGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r989
+AAACCTGTCTGTCACTCCCTTCGCAGTGTATCATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r990
+TTTATTGCTGCGACCAACGTGAACGATACCGTACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r991
+AGCATGGCGCTTGCCGTGCAGATGACCAGGGTGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r992
+AGTTTGGCAAAAGTCTTAAAAATAGCATTCATCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r993
+TTATCAGGATAAAGGCATCCCTGCGCTGGAAGAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r994
+ACATCCAGAAGACGGCTCCAGGTCCACCGGCGGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r995
+CTGGCAAAAACGCTCCCAGCACTGATAAACGATAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r996
+GCGTTTTTGCCAGGAGCTTGGCAAGCAAATTCCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r997
+CCCGTTGACCACCACGCGCTATACGCTGCCGGAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r998
+CCAATATAGGCATAGCGCACAGACAGATAAAAATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r999
+CAAAGCGAATACCGATAAGAAAGAGTACGCTCCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1000
+TTTACCCTTGCTTTCGCATAACCTGCCCGCCGATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1001
+ACCAGCCGTGGTCGCCCCAATGACCGCCATCCCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1002
+TGGCTGGCAGGAAGCTGCAGGCGGCGCGGCGGGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1003
+ACTGCGATCCTTTCGCGTCAGGTGGGGGTGATTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1004
+CCCGCCAGGCAATTCTGGCGTTTAAAGGTGATGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1005
+AGAGCGCGTACGTGCGGCGTTTGCCTTCCCGGCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1006
+AGAATTTCGCCGATGTTACGGAAGCTTGCGCCCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1007
+CGCGTTGCCGACTGGTTGGGTAAGAACTACCTGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1008
+CAGAAGTTCGGCAAAAATAAGTTCGGCATCGCTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1009
+CCGTACTGCATTCAGTTGCTGGAAGGGCCATACGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1010
+ATTTCCGGTATTTTTAATCAGGCAAGGGATCTGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1011
+GAGGTACTTGGATAACTTCTGCGTAGCATACATGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1012
+CCGTAGCTTATCGTGCGCTGCGTGACCAGTTGAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1013
+CCGCACCATTACCCCCATCGCCCAGTTCCAGATCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1014
+TTTCAGCGGAGTTCAGGCGAACGCCGTTGCGCGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1015
+TTGGCATGGCGGCGCGCGTCTTTGCAGCGATGTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1016
+AAGATCTGTATCAATTCTGGGGAGATATCATCACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1017
+CCGCCAGCTCTTTCAGCAGTGCCGGTGCGATGGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1018
+CGCTGCCGGATGCGGAGGCCAGGACGCAGCTGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1019
+CCATTCTGACCGCGACATCCGGTGATACTGGAGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1020
+CAAGCTCAAGCTGACGGGAATAGCAGGCGTGAATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1021
+AGGTAACCAGTTCAGAAGCTGCTATCAGACACTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1022
+ACGACAGAGATTGAGCGTTCAGAAGATCCCTGAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1023
+AACTCTTCCTGCATTGCCCGTTCAGCTCGCACACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1024
+TCCCTGCGCTGGAAGAATGGCTGACATCGGCGCTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1025
+TCCCGTGGCTCTGACGGCAGCTTATCGGCAAAGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1026
+CGCACAGACAGATAAAAATTACAGAGTACACAACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1027
+GGCGCGTAAACAGGCCGCCAGCACCGCAGCGGAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1028
+GTAAATCATTACCGATCCCCAAAGGACGCTGTTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1029
+CCAGCAGCTGATCCATGAAGCGCGGAAACTGACGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1030
+TGCGATGGATGTTAGCCAGCCAAACAACTGGCCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1031
+GTCGTGCGGAAAAAACAGCCCCTGATTTTTGCCTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1032
+TCCGCTGGCACAATTGAAAACTTTCGTCGACCAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1033
+TTGCAATATATTGAATTTGCACGATTTTGTAGGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1034
+TAACCCCTGGGTTACGGCTTGCGCAAAGCTGACCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1035
+AACGCGGCAGCGGCAGCTGCGTCCTGGCCTCCGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1036
+AGCGTGCGGCTCCGAGGTATAGCCCAGTTCTTTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1037
+GAAATTGAATGCCGAGATTATCAAGCCAGTGTTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1038
+TTAGTAATCGCCTGGCTTAAGGTATATCCCGCCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1039
+TTCAGATTGGAAATGCCCTTGACCGGTAATTCGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1040
+GCAAAATCTGGCAACTGAAAGAGCTGGGTTATGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1041
+TGCCAGGCTTTGGTGAACAGATGCGCCAGATCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1042
+TAATGATTTACCTGCTTTTCGGCGCAGGTTGTTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1043
+ATCCCCCCGCCTGGGGGGATTTTTTTATTCGCTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1044
+GAGCGACCAGAACCAGGGAAAGTGCGAGTACGATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1045
+CAAGCTCAAGCTGACGGGAATAGCAGGCGTGAATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1046
+GCGTTGTCTAACAGCTCCGGCAGCGTATAGCGCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1047
+GGCAACGATGGAGCTGAAGGCAAACAGAATAACCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1048
+GAACTCGGACTCAGTGATACGCGCCGGACGCGCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1049
+TACCGTTATCGATCCGGTCGAAAAACTGCTGGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1050
+TGCCGGATGCGGAGGCCAGGACGCAGCTGCCGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1051
+ATACGCTGCCGGAGCTGTTAGACAACGCCCAGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1052
+AGGCAAGGGATCTGGAACTGGGCGATGGGGGTAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1053
+TGGAAACTTCGGCGATTTGACGGCGGGTCTGCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1054
+GCTTCCTCCAGCAATGGCGAACTGGTGTTTAAACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1055
+CTGTCTTTGCTCTGCTGGCGATCACTCGCGGTCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1056
+TGGATCAGCTGCTGGGCGTTGTCTAACAGCTCCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1057
+CGGCTCCAGTAAGCCTTCTTTCAGTTCCAGGTAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1058
+GCGGTAGCGAGCGGTATCTCCGGCTCCGGCCCGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1059
+GTTCGGTATAACCCATTTCCCGCGCCAGTGTGGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1060
+AATTGTTAAGCTCCCCCCGCTCGAAGGGATAAGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1061
+TCAGGCCGGGTTTGCTTTTATGCAGCCCGGCTTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1062
+AACCTTCGCGCAGGAAGTCGGCATATTGATCTGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1063
+CGTCGCATCGGGCGTTACGTCACGACGCGCAGGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1064
+GCAATTGACGCTTCGGTGTCATAGGAAAGACGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1065
+CAGGAAGGTTTTGTTCATATTTGCCGGCTGGATAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1066
+AGTTTGTTGGGGCAGTGCCCGGATAGCATCAACGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1067
+CCCTACCGTGAACGGTTACTGCCAGGCTTCCGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1068
+AAACAGCAGAGCAACGATCGCGCGCAGCAGATCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1069
+GACACCGGCAGCTGTAACGTCATTGCCCGCACCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1070
+ATGTCTCTGTGTGGATTAAAAAAAGAGTGTCTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1071
+CCGCCAGTAATATCAGCATGGCGCTTGCCGTGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1072
+CTACTGCCAGCGTCGCATCGGGCGTTACGTCACGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1073
+AGCGTTTTTGCCAGGAGCTTGGCAAGCAAATTCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1074
+TCGCGGGTCCGGTTCGGTATAACCCATTTCCCGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1075
+CGCAGCAATAAAACGTTTTACCGGCAGACCGAGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1076
+AAATTAAAATTTTATTGACTTAGGTCACTAAATAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1077
+CCACGCTCTCTTTAAATTTCGCCGGATGCGCGGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1078
+GATGAATGCTATTTTTAAGACTTTTGCCAAACTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1079
+CCGATCGGTTCGGGCTTAGGCTCCAGCGCCTGTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1080
+GTTGATGGCGATAATCTGGGTACTGACCAGCCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1081
+ATACTTCGTAAACAATTGGTAACGTTTACACAGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1082
+CAACTCATTTCATCCACCAGTTCACACAACGTTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1083
+AACAGCATTTGCGAATGCTTTCCGGCTTGTATGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1084
+CTACGCTAAGAAAGCACGCGGTCTGATGAGTCGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1085
+CTGTCAGGCGCTGGTGAAGCAGGCGTTTGATGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1086
+CTGCGTTCCGCAAAGCGACTGTGTGCGAGCTGAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1087
+CTGGCAGTAAATATTGGTCTGGAAATCCTGAAACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1088
+TGCCTTCGTCTAACTTGCCGAAGATATAAGAAAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1089
+CCGTTACCTGTGGTAATGGTGATGGTGGTGGTAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1090
+GAAGCTGATGATCTTAAATTTGCCGTTCTTCTCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1091
+CACGTTGTCGTAATGAATGCTGCCGGAGATACGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1092
+TTTGCCCAAATAAAACATGTCCTGCATGGCATCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1093
+ATAACTTCTGCGTAGCATACATGAGGTTTCGTATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1094
+CTTTGCGGAACGCAGAAACTGATACTGTATTCGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1095
+GGTCATTACCTCGAATCTACCGTTGATATTGCTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1096
+CCAAAATCACCAACCATCTGGTAGCGATGATTGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1097
+CACTGGAAGCCGGGGCATAAACTTTAACCATGTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1098
+AGTTAGGAGTCTGACATGGTTAAAGTTTATGCCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1099
+TGCGGGTGACAAAATCCAGCTTCAGCATCTCATCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1100
+TTTGTCACCCGCAGTGCGAAGATCCTCTCGGCGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1101
+TTTCAATTGTGCCAGCGGAAATCCCGGCTGGGCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1102
+GAAAGCACGCGGTCTGATGAGTCGTTTCATTATTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1103
+CTTCGCCACACGCGCGGCAAAGAGATCGTCGAGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1104
+GAGCAAACGTTGTGTGAACTGGTGGATGAAATGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1105
+CTCCGCCAGCTCTTTCAGCAGTGCCGGTGCGATGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1106
+AAAAAACAGCCCCTGATTTTTGCCTAACCCCTGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1107
+CCGCTGGTAACAGGTATTATTCTCGCTGTCTTTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1108
+GTATCATTCTGCTTAACGAGACTGTTTAAACGGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1109
+TACTTAGCGTGACCGGGAAGTCGGTCACGCTACCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1110
+GCGTGAAGATTGCCGAAGTGGATGGTAATGATCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1111
+CGTTAAGCAGAATGATACACTGCGAAGGGAGTGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1112
+CAAGACTGGTACACAATGACTGAAATGAGGTTAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1113
+TTCGTAGCGTTTAAACACCAGTTCGCCATTGCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1114
+TCTTTCATCAGCTTCGCGGCAAGCTCAAGCTGACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1115
+CTGGTCGCTCCCATGGCAGCGCAGGCTGCGGAAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1116
+CGACCGGAGCCGGGAAGGCAAACGCCGCACGTACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1117
+AAATTACAGATAGGCGATCGTGATAATCGTGGCTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1118
+GCTTCAGCATCTCATCAATTTCAGTCAGGCTGAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1119
+AGCCGGGAAGGCAAACGCCGCACGTACGCGCTCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1120
+CCTGGTCATCTGCACGGCAAGCGCCATGCTGATAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1121
+TGTGGAAGAGTTGTTCCGCCGCAAAATCTGGCAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1122
+ATCCAGAAGACGGCTCCAGGTCCACCGGCGGTAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1123
+CGATCCCCAAAGGACGCTGTTAATAAAGGAGAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1124
+AGATACCGCTCGCTACCGCGCCGATTTCCGCAACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1125
+TTCCTGATTTTGCAGGTAGTTCTTACCCAACCAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1126
+CTGAACGAGGCGCTCGCAGCACAAGGCGATAATGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1127
+CAATCAACTTACGGTATTCCGGAATCTGCGCTGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1128
+TATATGGCGCGCGGGCTGGGGATGCGCTGGATGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1129
+GGGCTTTTTTTTCGACCAAAGGTAACGAGGTAACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1130
+TACGCCAGCACCCACAGCCACTCATCAAACCCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1131
+GACCGTCGTGCAGGAAACGTGGTACGGTATCGTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1132
+GCGACATCCGGTGATACTGGAGCGGCAGTGGCTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1133
+AGTTGATGATCGAAGAAAACGACATCATCAGCCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1134
+ATGGCACAAATGCTGACCCATATTGCGGGCGATAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1135
+CGCCGAGAGGATCTTCGCACTGCGGGTGACAAAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1136
+AGACACCGGCAGCTGTAACGTCATTGCCCGCACCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1137
+AAATCTGCGCCAGCAAGCGACTGATGTTGATGGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1138
+AACACGGTGCCACGTTGTCGTAATGAATGCTGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1139
+TTCGGTCTGAATGCTGCAACCACTTCCGGTGCCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1140
+TATGTTTATTCTTCAACCAGCTTTGCTGACGCTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1141
+GCGTTTAAACACCAGTTCGCCATTGCTGGAGGAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1142
+CCAGCTCTTTCAGCAGTGCCGGTGCGATGGTCAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1143
+CCTCGTTTGCCGAATGTTCCCTCGCACAGCTTTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1144
+GGATGAATGCTATTTTTAAGACTTTTGCCAAACTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1145
+GCAACCGCCTGCCGCGCCTGCCGGAAGCCTGGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1146
+CGGCACCGGAAGTGGTTGCAGCATTCAGACCGAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1147
+AACGGTTCCGACTACTCCGCTGCGGTGCTGGCGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1148
+CGTTGATGCTATCCGGGCACTGCCCCAACAAACTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1149
+GACCACATGGTGCTGATGGCTGGTTTCACTGCCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1150
+GTATCACCGGATGTCGCGGTCAGAATGGTCACTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1151
+CGTTGTTACGCCGAACAAAAAGGCCAACACCTCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1152
+ACAGCATTTGCGAATGCTTTCCGGCTTGTATGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1153
+GATGCGCATCAGCGACAAACTGGCGGGTATCAACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1154
+GCGCGCCGCCATGCCAACCATCCCTTTCATCCCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1155
+GGTCCGGTTCGGTATAACCCATTTCCCGCGCCAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1156
+TTTTAATAGCGAAGGTTACTTCTTTGATGAAGCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1157
+CTTAAGGTATATCCCGCCGCGCCGCCTGCAGCTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1158
+GTCATGATAGTATTTCTCTTTAAACAGCTTGTTAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1159
+CATTTGGTCTATTTTTGAGAGTGCTTTTGGCTGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1160
+GTATCTGAAATCTACCAGTACTACAAAGAGCATGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1161
+GGTGAACAGATGCGCCAGATCAGCCTGCATTTTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1162
+AGCTCGCACACAGTCGCTTTGCGGAACGCAGAAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1163
+CTTCCGAATACAGTATCAGTTTCTGCGTTCCGCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1164
+TTGCGAGATCTGGACGGATGTTGACGGTGTTTATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1165
+TCGCCCATCAAAGCCAGCAAACGAGTGTCATTAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1166
+TGTCGCCCGTGCGCAATGCAATCCTGGCGGCGATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1167
+CTGCTGTTTCGCCCAGGCGACAGCATCATCAATCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1168
+CAGAATTCAGCCCCAGCGCCACTTTCAGTTCTTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1169
+CCTTGCTTTCGCATAACCTGCCCGCCGATTTTGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1170
+GGCGTAAAAAGAAGAGATTGTTTTCGGCATAAATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1171
+GCAAAGCGACTGTGTGCGAGCTGAACGGGCAATGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1172
+GAACGGCTGGCCATTATCTCGGTGGTAGGTGATGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1173
+AATGAATGCTGCCGGAGATACGCCCTTCCAACTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1174
+TTTCTTCGGCTTCACCGATTTAAAATACTCATCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1175
+TACTATCATGACGGACAAATTGACCTCCCTTCGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1176
+TCCCCCGCTGGTAACAGGTATTATTCTCGCTGTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1177
+GATGATCTTAAATTTGCCGTTCTTCTCATCGAGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1178
+ATCATCAGGGCAGACCGGTTACATCCCCCTAACAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1179
+CGTCATTTGGTCTATTTTTGAGAGTGCTTTTGGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1180
+ATTATCAAGCCAGTGTTCCTCGATGAGAAGAACGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1181
+AAGTGGTTATCCTCTATCCACGAGGCAAAATCAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1182
+GACACTGGGGACATCGCGGCAATGAAGCTGTATCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1183
+AGAGCGTGGAAGCGATTCTCGGTGAAACGTTGGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1184
+GTGAAGGACGCTGAGGGTAACGTTGTGGTGCACGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1185
+TGGTCAGCCGGAATGCGGCTTGCCGCAATACGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1186
+TCCCGTCAGCTTGAGCTTGCCGCGAAGCTGATGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1187
+CATATTTTCTTCATAAAAAAAGCCGGGCTGCATAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1188
+TATCGCTGAACCCTACCGTGAACGGTTACTGCCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1189
+TAACAGGTATTATTCTCGCTGTCTTTGCTCTGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1190
+CCATGTTATTCAGATTGGAAATGCCCTTGACCGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1191
+ACCACAGGCGAGAGCAGTAATATGGCGGTCAAATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1192
+CCGATCGGCATATTCTTTTCCAGAGTCATCGCCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1193
+CCCCCGCTCGAAGGGATAAGATTGTTAACAACGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1194
+CGGTGAAGCCGAAGAAATTGAATGCCGAGATTATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1195
+TATGAACCACAGGCGAGAGCAGTAATATGGCGGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1196
+TGTCTGATAGCAGCTTCTGAACTGGTTACCTGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1197
+CATTGGAAAACATACTGCGCTGAAAACCGTTAGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1198
+GAATGCCCGAGGGAAAGATCTGTATCAATTCTGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1199
+CAGCGATAACATCTTTCATCAGCTTCGCGGCAAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1200
+TCCGTCATGATAGTATTTCTCTTTAAACAGCTTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1201
+CATCATCAATCAACTTACGGTATTCCGGAATCTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1202
+TGCGCTGGAAGAATGGCTGACATCGGCGCTAACCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1203
+GATGCGCGATCAGAGATGGAAACTAAGCCAATACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1204
+ATCGAAACTGTTGCCATCGACGGCGATTTCGATGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1205
+CGGCAGCGTGCGGCTCCGAGGTATAGCCCAGTTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1206
+ATCATCAATCAACTTACGGTATTCCGGAATCTGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1207
+ATATTCTGGAAAGCAATGCCAGGCAGGGGCAGGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1208
+CTTATCCCTTCGAGCGGGGGGAGCTTAACAATTAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1209
+AGAGCATGGTTATGAAACCGTGGTTATGGGCGCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1210
+ATCTGTCTGTGCGCTATGCCTATATTGGTTAAAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1211
+TAATCCACACAGAGACATATTGCCCGTTGCAGTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1212
+GAGCTGGCGGATATTGAAATTGAACCTGTGCTGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1213
+TCGGAGCCGCACGCTGCCGTAGCTTATCGTGCGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1214
+CTGTGGCAGCACAACCAGGATCCAATGGCAGTAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1215
+GGTAACGGTGCGGGCTGACGCGTACAGGAAACACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1216
+ATCTATCGTACTCGCACTTTCCCTGGTTCTGGTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1217
+ATGAATAGATGTTACTGATGATTCATCATCAATTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1218
+CCGGTAAAACGTTTTATTGCTGCGACCAACGTGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1219
+CTAATTGTTAAGCTCCCCCCGCTCGAAGGGATAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1220
+CACGCCGGCCATAATGGCGATCGACATTTTCTCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1221
+GGCACTGCCCCAACAAACTGATGCCATGCAGGACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1222
+CGGAAGCTTGCGCCCATAACCACGGTTTCATAACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1223
+CATCAGCGGAAAACTTAACAAGGTGCCGCCGATGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1224
+CGGGCGATAAGCCAGTGACCATTCTGACCGCGACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1225
+ATCGCCATCAACGGGACAAACCCCTGCATGAGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1226
+TATTCCCGTCAGCTTGAGCTTGCCGCGAAGCTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1227
+GCAGTTTTTCGACCGGATCGATAACGGTAACGTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1228
+ACGCCTGCTTCACCAGCGCCTGACAGGCATCGAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1229
+GCCAGTAATATCAGCATGGCGCTTGCCGTGCAGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1230
+ATGAGCGTCGGGTTTGATGTGCTCGGGGCGGCGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1231
+GGAGCCTAAGCCCGAACCGATCGGCATATTCTTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1232
+CAGCAGATCGTGGACGCGACCGACAAACTGGCAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1233
+TAGTCCCGTCAGTAAAATTACAGATAGGCGATCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1234
+CACGCCCGCTTCCGCACAAGCACGAGCCTGAGCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1235
+TCGAGCATGCATCTAGAGGCCCAATTCGCTGCGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1236
+TGGAAGTTAGGAGTCTGACATGGTTAAAGTTTATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1237
+CGCAGGTATAAACACCGTCAACATCCGTCCAGATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1238
+TCAGCGAAGACGATTTCGATTTTGCCCAACAGCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1239
+GCTTGGCAAGCAAATTCCAGTGGCGATGACTCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1240
+GCCAGTGTTCCTCGATGAGAAGAACGGCAAATTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1241
+TGGCGAGAAAATGTCGATCGCCATTATGGCCGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1242
+ATTTCAGTCAGGCTGAATTCCGGCAGGTCGTGCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1243
+ATCCGGTACGAAAAGTGAACCAACAACCTGCGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1244
+AAGGTGATGTCTACACTGGCTTGCAGGCCGAAACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1245
+GTCACTGGCTTATCGCCCGCAATATGGGTCAGCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1246
+GATTTGACGGCGGGTCTGCTGGCGAAGTCACTCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1247
+CGCCAAACGCGGCAGCGGCAGCTGCGTCCTGGCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1248
+TTCGCCGAGATCCCACGTAAGGTGCGCATACCATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1249
+ATCCTGAAACTGGTTCCGGGCCGTATCTCAACTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1250
+GCTTTCAACATTGGCGACCGGAGCCGGGAAGGCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1251
+GCACAAGGCGATAATGTGGTGATAAATCTGGCGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1252
+AAACTGATACTGTATTCGGAAGATGATTGCGTAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1253
+CCTGACGCGGATCGCAGGTATAAACACCGTCAACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1254
+GAATGCGGCTTGCCGCAATACGGCGGGTGGATTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1255
+GCGGGCTTTTTTCTGTGTTTCCTGTACGCGTCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1256
+GATTTCGATGCCTGTCAGGCGCTGGTGAAGCAGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1257
+TCTACAACGATGCAGGTATTAGCAACGATCGTATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1258
+CAGTTGTTATTCTCCGCAATCCTAATCTCTAAGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1259
+GCGCCGGACGCGCTTTCACTTCACCAGTGTAAGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1260
+GCGCTGGGCGGTATCCGGCTTGTCACACAGAGCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1261
+ACTTAGGTCACTAAATACTTTAACCAATATAGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1262
+TCAACAGGTGTCACCGCCGCCCCGAGCACATCAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1263
+ATTGTTAAGCTCCCCCCGCTCGAAGGGATAAGATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1264
+GGAATTTACGCCGCGATTTTTCCGCCGCATAACGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1265
+GCTCTGCTGGCGATCACTCGCGGTCTTCATGGCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1266
+ATCCCCAGCCCGCGCGCCATATACCATGCCGGTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1267
+CTGGAAAACTGGCAGGAAGAACTGGCGCAAGCCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1268
+CGAAAACGCTTGATTACCAAAGCCCGTTGACCACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1269
+GGCAGCGCAGGCTGCGGAAATTACGCTAGTCCCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1270
+AAATGCCAATCATCTGGACAATTCCTTGCGCTGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1271
+GGGGCATAAACTTTAACCATGTCAGACTCCTAACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1272
+CCATCAACAGGTGTCACCGCCGCCCCGAGCACATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1273
+GGCCTTTTTGTTCGGCGTAACAACGTGGAAACCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1274
+TGCTGAAGCTGGATTTTGTCACCCGCAGTGCGAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1275
+AAGCCAATACGTAAAGTATTCATCAAGATTTTTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1276
+AGGTGCAGATCCGCAGACACCAGATCGCTTTAGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1277
+CTTAACGCAGCGCAGATTCCGGAATACCGTAAGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1278
+GCGCCATAACAAGCACAATGATCATCGTGGCGATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1279
+CTGCCAGTTGCCACATCAGCGGAAAACTTAACAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1280
+TAAAGGCATCCCTGCGCTGGAAGAATGGCTGACAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1281
+TGCGCGGATATGGTGCGGGCAATGACGTTACAGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1282
+TGCCAGCGTACCGTACTGCATTCAGTTGCTGGAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1283
+ACAACCAACCCTTCTCTCATTCTTAACGCAGCGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1284
+GCCGAATGTTCCCTCGCACAGCTTTATAAAGAACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1285
+ATAAATCTGGCGTCAGATGAGTATTTTAAATCGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1286
+CCATGTGGGTGCCAGCGATTGCCTCGCCATTCATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1287
+GCGTAACAACGTGGAAACCTTCGCGCAGGAAGTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1288
+CAGCAGCTGATCCATGAAGCGCGGAAACTGACGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1289
+GCCGGAGCTGTTAGACAACGCCCAGCAGCTGATCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1290
+TTGGTTCACTTTTCGTACCGGATTTGTGCAGTTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1291
+TTGTTAAGTTTTCCGCTGATGTGGCAACTGGCAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1292
+GGCAGGTCGTGCGGAAAAAACAGCCCCTGATTTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1293
+TAACAAGGTGCCGCCGATGACCGTTGCGAAGGTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1294
+CGCGTCGTGACGTAACGCCCGATGCGACGCTGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1295
+GGCGTATCTCCGGCAGCATTCATTACGACAACGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1296
+ATTGCAAGAAGATCGTAGGCCTGATAAGCGTAGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1297
+CCAGCTTTGCTGACGCTTCAGTTGCTCCAGCAGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1298
+TAAGCTGAATACCTTCCAGCGGCATGTAGGTTGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1299
+TTTTCCAGATTAAGGCCATGTACATTGGTGAGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1300
+GCGTCAGTTTCCGCGCTTCATGGATCAGCTGCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1301
+GCGATGAGAACGGCAGTTGTTATTCTCCGCAATCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1302
+CACAACCAGGATCCAATGGCAGTAGATAAACTGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1303
+TATGCCGGATGCGGCGTGAACGCCTTATCCGGCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1304
+ACCGGAGCCGGGAAGGCAAACGCCGCACGTACGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1305
+ACAAATCTGCGCCAGCAAGCGACTGATGTTGATGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1306
+CGCTGGTGAAGCAGGCGTTTGATGATGAAGAACTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1307
+GGGTGATGTCGCCGCTTTTATGGCGAATCTGTCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1308
+GTGATGAATTGATGAAGTTCTCCGGCATTCTTTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1309
+AACTAAATGAAACTCTACAATCTGAAAGATCACAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1310
+GAGCTGAACGGGCAATGCAGGAAGAGTTCTACCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1311
+GGCGCTGGAGCCTAAGCCCGAACCGATCGGCATAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1312
+ATAATGCCGGATGGCAATCCGGCATTGATATTTAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1313
+GCGGGTGGATTCAGCAATATCAACGGTAGATTCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1314
+GGTCGCCATGCCGATAAATGCGGCAACCCACATCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1315
+GCGACCACTGAACAGGCGCTGGAGCCTAAGCCCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1316
+TGGAGCCTAAGCCCGAACCGATCGGCATATTCTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1317
+CGGTGCGCTGCTGGAGCAACTGAAGCGTCAGCAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1318
+AAACAACATTATGAATGGCGAGGCAATCGCTGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1319
+CTAATTGTTAAGCTCCCCCCGCTCGAAGGGATAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1320
+GTCCCGTCAGAAGTTCGGCAAAAATAAGTTCGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1321
+AAAAGACGGCGAACAGAACGCCCATCCAGCGCATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1322
+AGCATCTGATGAGTAACGCGCACGCCAGTGGTCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1323
+TGGCTGACATCGGCGCTAACCACGCCGTTTGAACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1324
+CTGATGATATCACAAGGGCGAATTCTGCAGATATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1325
+TTCCGGAATCTGCGCTGCGTTAAGAATGAGAGAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1326
+TATAGAAGGCCAGGGCGTTTTCGCCATTTTTCACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1327
+GTAATGACCCACTGCCAGCAGTTTTTCGACCGGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1328
+CGAATCTGTCACAGCTCGACGATCTCTTTGCCGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1329
+GGTCATCTGCACGGCAAGCGCCATGCTGATATTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1330
+CCTGGCTTCTGCCGTCGAGACTTTAATCCCCGGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1331
+CACGCCGAGTTTACGCTGGCGTAGATAATCACTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1332
+GTTGTGGCATCCTGCGGTTGATACAGCTTCATTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1333
+AAGGGATCTGGAACTGGGCGATGGGGGTAATGGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1334
+GTGGCTATAGAAGGCCAGGGCGTTTTCGCCATTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1335
+GTTGCTCTGGTTTGGTCAGCCGATTTTCAATAATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1336
+CACTACGGTGGTGTACTGACGAAGGGAGGTCAATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1337
+CGCTTCTAACACGCCGGCCATAATGGCGATCGACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1338
+AATCGGCTGACCAAACCAGAGCAACTGACTGGTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1339
+TGGGATGATGTTTCGCAGGAGTAATCACAACTATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1340
+GATGAGAAGAACGGCAAATTTAAGATCATCAGCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1341
+GCGTCAGGTGGGGGTGATTCGCAAACAGGCGCTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1342
+TCTCGCGGGTCCGGTTCGGTATAACCCATTTCCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1343
+CTTCCAGCGCAGGGATGCCTTTATCCTGATAAACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1344
+GATGTTAGCCAGCCAAACAACTGGCCGCGTGTGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1345
+CTTCTGGATGTGGGTTGCCGCATTTATCGGCATGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1346
+GCTTTTATGGCGAATCTGTCACAGCTCGACGATCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1347
+TTGCCGTGGCGAGAAAATGTCGATCGCCATTATGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1348
+CCGGGCTGCATAAAAGCAAACCCGGCCTGATTGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1349
+ACGGCAGAAGCCAGGGCTATTTTACCGGCGCAGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1350
+GTTTCCAGTTCAAACGGCGTGGTTAGCGCCGATGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1351
+GCTCATGCAGGGGTTTGTCCCGTTGATGGCGATAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1352
+CCATCGCCCAGTTCCAGATCCCTTGCCTGATTAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1353
+ACCGCCCAGCGCGTTGCCGACTGGTTGGGTAAGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1354
+CGCTGGTGAAGCAGGCGTTTGATGATGAAGAACTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1355
+ACTGCATACCACCAAGAAAACACGGTGCCACGTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1356
+CCGCGTCAGGTGCCCGATGCGAGGTTGTTGAAGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1357
+CGCACGATAAGCTACGGCAGCGTGCGGCTCCGAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1358
+CCTGGCATCTCGCGGTCCGCTACTGCCAGCGTCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1359
+TTCCGGCTGACCACATGGTGCTGATGGCTGGTTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1360
+TCGGAGATGTAGTCACGGTTGAGGCGGCAGAGACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1361
+ATCCATCGACGAGGTGTTGGCCTTTTTGTTCGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1362
+TCGGCGAAATTCTGGAACTGGCAGGCTGCGACCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1363
+ACCACGGTTTCATAACCATGCTCTTTGTAGTACTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1364
+GCGCGTAAACAGGCCGCCAGCACCGCAGCGGAGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1365
+GTGTAAACGTTACCAATTGTTTACGAAGTATATAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1366
+TCCATGAAACGCATTAGCACCACCATTACCACCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1367
+TCGGCGGTCGCTTTATGGCACAAATGCTGACCCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1368
+CGAACCGATCGGCATATTCTTTTCCAGAGTCATCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1369
+TACCGGCAGACCGAGTGACTTCGCCAGCAGACCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1370
+GGCAGAGAGGACGGTGGCCACCTGCCCCTGCCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1371
+AAATTAAAATTTTATTGACTTAGGTCACTAAATAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1372
+GATATTGGGTAAAGCATCCTGACCGCTAATGGTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1373
+TTATCGGCATGGCGACCTCGTTTGCCGAATGTTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1374
+GCTGCCATGGGAGCGACCAGAACCAGGGAAAGTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1375
+TGGCCACCTGCCCCTGCCTGGCATTGCTTTCCAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1376
+GTTTGCTGGCTTTGATGGGCGAGTTGGAAGGGCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1377
+AGTTTCCGCGCTTCATGGATCAGCTGCTGGGCGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1378
+TCATGTATGCTACGCAGAAGTTATCCAAGTACCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1379
+GGGTATCCGTGCTGCAGAACAGCTGGAAAAAGAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1380
+TAGCGCATCAGGCAGTTTTGCGTTTGTCATCAGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1381
+CGGGGCCTGACAAACATCATCGCTAAATATCAATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1382
+ACCAATTGTTTACGAAGTATATAACGCTACGAGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1383
+GGCAAAAGTCTTAAAAATAGCATTCATCCACAGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1384
+AAAGCGCACGTTGTTAACAATCTTATCCCTTCGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1385
+GAGATCTGGACGGATGTTGACGGTGTTTATACCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1386
+GCTGCTGGGCGTTGTCTAACAGCTCCGGCAGCGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1387
+CGTTCACGTTGGTCGCAGCAATAAAACGTTTTACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1388
+CCAGAAAGATCATCTCGCGGGTCCGGTTCGGTATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1389
+CTGGAAAAGAATATGCCGATCGGTTCGGGCTTAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1390
+GGGTAACAAACTCCGCACCCCAGGAACCCATTAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1391
+GACACCGAAGCGTCAATTGCGAAAGCAAAACGCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1392
+GATCAGGAACACGCCCGCTTCCGCACAAGCACGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1393
+GGTATAAACACCGTCAACATCCGTCCAGATCTCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1394
+GCGAAGACGATTTCGATTTTGCCCAACAGCATTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1395
+CTTCGTCAGTACACCACCGTAGTGGCCGACACTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1396
+GAGATGATCTTTCTGGCATGGATGTGGCGCGTAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1397
+ACAGTTAATACCTTCTTTTTCCAGCTGTTCTGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1398
+GGATACGTCTTGAGAATGCCCGAGGGAAAGATCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1399
+GATAAATGCGGCAACCCACATCCAGAAGACGGCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1400
+CCTATGACACCGAAGCGTCAATTGCGAAAGCAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1401
+CTTCGGCAATCTTCACGCGGCAGACGCCATCTTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1402
+CATACAAGCCGGAAAGCATTCGCAAATGCTGTTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1403
+GGCAGTGGCTCATGCTTTCTACGGTTTACCGAATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1404
+GCAATCCGGCATTGATATTTAGCGATGATGTTTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1405
+ACGAAGGCATGAGTTTCTCCGAGGCGACCACACTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1406
+CAATCCTGGCGGCGATACTGCGCCGGTAAAATAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1407
+CGCGTGACATCGCTGCAAAGACGCGCGCCGCCATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1408
+TTCAGTTGCTCCAGCAGCGCACCGCCAACGCCACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1409
+AGGGCATTTCCAATCTGAATAACATGGCAATGTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1410
+CGCCAGTTCTTCCTGCCAGTTTTCCAGATTAAGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1411
+ATAAGAATCAGCATATCCAGTCCTTGCAGGAAATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1412
+AGAAATTGAATGCCGAGATTATCAAGCCAGTGTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1413
+GCCGCAATACGGCGGGTGGATTCAGCAATATCAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1414
+GTATTTTTAATCAGGCAAGGGATCTGGAACTGGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1415
+GCAATTACCGCCGGTGGACCTGGAGCCGTCTTCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1416
+CCAGCACCCACAGCCACTCATCAAACCCTGGCACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1417
+GTCGACGCCAAACGCGGCAGCGGCAGCTGCGTCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1418
+AGTTCTTACCCAACCAGTCGGCAACGCGCTGGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1419
+AATTCCAGACAACCGACATCGCTTTCAACATTGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1420
+AACTGAAAGAGCTGGGTTATGCAGCCGTGGATGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1421
+ACATTCGGTAAACCGTAGAAAGCATGAGCCACTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1422
+TACTGCATTCAGTTGCTGGAAGGGCCATACGTTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1423
+TAACTTCCATGGGAGGGTACGTAGCAGATCAGCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1424
+TCACATTCGGTAAACCGTAGAAAGCATGAGCCACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1425
+CAGCAATGGCGAACTGGTGTTTAAACGCTACGAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1426
+GGCGGGCATTCTCCGGTGTGAAATTTGGCTGCCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1427
+AACGATATTTTCCCGTGGCTCTGACGGCAGCTTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1428
+TAATGAATGCTGCCGGAGATACGCCCTTCCAACTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1429
+TGTGACAAGCCGGATACCGCCCAGCGCGTTGCCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1430
+GCAGATTTTGCAGGTTCTCAATAACCGGTAATCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1431
+AGCGGAAAACTTAACAAGGTGCCGCCGATGACCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1432
+TTTGTGCCATAAAGCGACCGCCGAAATCTTTAAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1433
+TACTTCGGCGCTAAAGTTCTTCACCCCCGCACCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1434
+TTCTTCACCCCCGCACCATTACCCCCATCGCCCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1435
+ACACTCGTTTGCTGGCTTTGATGGGCGAGTTGGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1436
+TATCGCCCGCAATATGGGTCAGCATTTGTGCCATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1437
+GATATCATTATGGCCTGCATGGCTATTACCAATTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1438
+ATCATCGTGGCGATCATCGTCCGGGGCCTGACAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1439
+GGGCCAGCGCGGCAAAGAATTTCGCCGAGATCCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1440
+CGAAATCGTCTTCGCTGAAGGTTTCGGCCTGCAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1441
+AACCAGTTTCAGGATTTCCAGACCAATATTTACTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1442
+GCTGGCACCCACATGGACCGCCGTCATCGCCGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1443
+GGTGGCCACCGTCCTCTCTGCCCCCGCCAAAATCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1444
+TTCTACCTGGAACTGAAAGAAGGCTTACTGGAGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1445
+CGGCGCTAACCACGCCGTTTGAACTGGAAACCCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1446
+TTGGCGCGGGCCAGCGCGGCAAAGAATTTCGCCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1447
+AGCAAAGCTGGTTGAAGAATAAACATATCGACTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1448
+AGACGAAGGCATGAGTTTCTCCGAGGCGACCACAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1449
+CGTGCACCACAACGTTACCCTCAGCGTCCTTCACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1450
+CGTGGCGAGAAAATGTCGATCGCCATTATGGCCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1451
+ACAAACTTAACGTTGTTCGTAGCGTTTAAACACCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1452
+CAGTGTATCATTCTGCTTAACGAGACTGTTTAAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1453
+TCTTTTGGCAGATCCAACGTTTCACCGAGAATCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1454
+TGGCATGCATATCCCTCTTATTGCCGGTCGCGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1455
+GCAGCGGCAGCTGCGTCCTGGCCTCCGCATCCGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1456
+ACAATCTTATCCCTTCGAGCGGGGGGAGCTTAACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1457
+CGTTAAACTCTGCGGGCAGCACAGGTTCAATTTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1458
+TGGCAAGCAAATTCCAGTGGCGATGACTCTGGAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1459
+GCCGAAAACAATCTCTTCTTTTTACGCCTGAACAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1460
+GGTCATCTGCACGGCAAGCGCCATGCTGATATTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1461
+ACTTCGGCGATTTGACGGCGGGTCTGCTGGCGAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1462
+CGCGTGTGGAAGAGTTGTTCCGCCGCAAAATCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1463
+CCACGAGGGTAACAAACTCCGCACCCCAGGAACCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1464
+GCGCCAGTTCTTCCTGCCAGTTTTCCAGATTAAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1465
+CGCCTGAACAACCCTAAAGCGATCTGGTGTCTGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1466
+CCGTAAGTTGATTGATGATGCTGTCGCCTGGGCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1467
+CTACGGCATAATTTTCAGCGGAGTTCAGGCGAACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1468
+CCAGCCAAAAGCACTCTCAAAAATAGACCAAATGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1469
+AATTGACGCTTCGGTGTCATAGGAAAGACGCGCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1470
+GGCTTTTTTTATGAAGAAAATATGGAGAAAAACGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1471
+ACCTGTGAAAAAGATGCAATCTATCGTACTCGCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1472
+CAGCGATAACATCTTTCATCAGCTTCGCGGCAAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1473
+TTTGTTACCCTCGTGGTTATTCTGTTTGCCTTCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1474
+ATGTAGGTTGTGCCGTTACCCGCCAGTAATATCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1475
+GCCGTTGCGCGAGCCCTGAGTTTTTCTTTTGATTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1476
+TGCCGGAGAACTTCATCAATTCATCACCAGCATTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1477
+ATTTACCCTTGCTTTCGCATAACCTGCCCGCCGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1478
+AGGTAATGACCCACTGCCAGCAGTTTTTCGACCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1479
+CGGGCGCACGCCGAGTTTACGCTGGCGTAGATAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1480
+AACCAGCCATCAGCACCATGTGGTCAGCCGGAATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1481
+CGACCAGAACCAGGGAAAGTGCGAGTACGATAGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1482
+AGTGTCGGCCACTACGGTGGTGTACTGACGAAGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1483
+CAACAACCTCGGACGCTTTGCCGATAAGCTGCCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1484
+CATCCAGAAGACGGCTCCAGGTCCACCGGCGGTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1485
+ACGATATTTTCCCGTGGCTCTGACGGCAGCTTATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1486
+AGCGGACCGCGAGATGCCAGGCTTTGGTGAACAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1487
+TTAAATGCCAGCGTTGGCCCGTGGAACAATTCCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1488
+GGAGAACTTCATCAATTCATCACCAGCATTGAGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1489
+GAATGCCGAGATTATCAAGCCAGTGTTCCTCGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1490
+TATCCGGGGATTAAAGTCTCGACGGCAGAAGCCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1491
+AACTAAGCCAATACGTAAAGTATTCATCAAGATTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1492
+GCGTGGGTAGCGGCAACCTGGCCGGCGTTGCGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1493
+CGCATTTATTGAGAATTTCTCCTTTTTCCCTGTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1494
+AGGTATTAACTGTAACCTGACCCTGCTGTTCTCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1495
+ATAGGACATCGACTTCAACAACCTCGCATCGGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1496
+ATCCAGCTTCAGCATCTCATCAATTTCAGTCAGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1497
+GACTGGTACACAATGACTGAAATGAGGTTAAACCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1498
+TTGTCGCCATTGCTCAGGGATCTTCTGAACGCTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1499
+CTAATTGTTAAGCTCCCCCCGCTCGAAGGGATAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1500
+CCAGATTTTGCGGCGGAACAACTCTTCCACACGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1501
+ATCGTTCACGTTGGTCGCAGCAATAAAACGTTTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1502
+ACTGCCCATTGGCATCACGTTCTTTATAAAGCTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1503
+CAAGCTGACGGGAATAGCAGGCGTGAATGAAGCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1504
+TTTGTTCGGCGTAACAACGTGGAAACCTTCGCGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1505
+AAAAGGAGAAATTCTCAATAAATGCGGTAACTTAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1506
+AATTGATGATGAATCATCAGTAACATCTATTCATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1507
+CGATCACTCGCGGTCTTCATGGCGTCGCCCGGCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1508
+CCATCGCCCAGTTCCAGATCCCTTGCCTGATTAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1509
+GCTCGCGCAACGGCGTTCGCCTGAACTCCGCTGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1510
+CTGGGAGCGTTTTTGCCAGGAGCTTGGCAAGCAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1511
+GGAATCTGCGCTGCGTTAAGAATGAGAGAAGGGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1512
+TGATAGGACATCGACTTCAACAACCTCGCATCGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1513
+TAACGGGCAATGATAAAAGGAGTAACCTGTGAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1514
+ATGAGCGTCGGGTTTGATGTGCTCGGGGCGGCGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1515
+GGTAATGAAAAAGGCGAGCTGGTGGTTCTGGGACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1516
+TTGACGGCGGGTCTGCTGGCGAAGTCACTCGGTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1517
+ATGGCGGGCGATATCAACGCAGCGAATTGGGCCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1518
+TGCGAGTGTTGAAGTTCGGCGGTACATCAGTGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1519
+CCAGCAAGCGACTGATGTTGATGGAGTTAGCAGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1520
+TGATGAGTGGCTGTGGGTGCTGGCGTATCCGGGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1521
+CGGTCAGAATGGTCACTGGCTTATCGCCCGCAATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1522
+TGCGCTATGCCTATATTGGTTAAAGTATTTAGTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1523
+AGTCGGCAACGCGCTGGGCGGTATCCGGCTTGTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1524
+ACAACTATCGATCAACTCATTCTCTTTTTTTGCTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1525
+ACGGCAGGTAACCAGTTCAGAAGCTGCTATCAGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1526
+TCATCGAGCAAACGTTGTGTGAACTGGTGGATGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1527
+TTAGACAACGCCCAGCAGCTGATCCATGAAGCGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1528
+TTATTTTTGCCGAACTTCTGACGGGACTCGCCGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1529
+TTCCTCTATGACACCAACGTTGGGGCTGGATTACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1530
+AATCCCCGATGAGCAGGCGATCATCGAGCAAACGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1531
+CATCAACGGGACAAACCCCTGCATGAGCCGGGCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1532
+TAAATTTCGCCGGATGCGCGGTGCCGAGGAACAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1533
+CACCAACGTTGGGGCTGGATTACCGGTTATTGAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1534
+ATCGGGGATTAAGCGGGTTTCCAGTTCAAACGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1535
+CTGTCAGGTGCGGGCTTTTTTCTGTGTTTCCTGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1536
+CCAGAAAGATCATCTCGCGGGTCCGGTTCGGTATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1537
+CTAATTGTTAAGCTCCCCCCGCTCGAAGGGATAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1538
+CTTTTTGTTCGGCGTAACAACGTGGAAACCTTCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1539
+CTTTAACCATGTCAGACTCCTAACTTCCATGGGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1540
+TATTGCTGCGACCAACGTGAACGATACCGTACCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1541
+GTTTACCGAATGTGAAAGTGGTTATCCTCTATCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1542
+CGAAACTGCCCATTGGCATCACGTTCTTTATAAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1543
+TGGCGTCGACCCCATTCCCGCCTCATTGGAAAACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1544
+CCACTGACCGTCGTGCAGGAAACGTGGTACGGTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1545
+TGTTGGTTCACTTTTCGTACCGGATTTGTGCAGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1546
+CTGCCAAAAGAGCTGGCAGAACGTGCTGATTTACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1547
+ATGGTCACTGGCTTATCGCCCGCAATATGGGTCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1548
+CGTAGATAATCACTGGCAATGGTATGAACCACAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1549
+GCCATGCCAACCATCCCTTTCATCCCCGGGCCGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1550
+ATCATTGTGCTTGTTATGGCGCGGCGATGACGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1551
+ATCCCTTGCCTGATTAAAAATACCGGAAATCCCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1552
+ACTCATGCCTTCGTCTAACTTGCCGAAGATATAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1553
+CTTATCGGCAAAGCGTCCGAGGTTGTTGAGACTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1554
+AGCCGTGGATGATGAAACCACGCAACAGACAATGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1555
+CGGCGATGACGGCGGTCCATGTGGGTGCCAGCGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1556
+GGCAGATCCAACGTTTCACCGAGAATCGCTTCCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1557
+GTTGGTACAAAATGCAGGCTGATCTGGCGCATCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1558
+ACCGGCAGCTGTAACGTCATTGCCCGCACCATATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1559
+GCTCCATCGTTGCCAACTACATTTATGCCGAAAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1560
+CCTGAAACTGGTTCCGGGCCGTATCTCAACTGAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1561
+AACGCCGAGAGGATCTTCGCACTGCGGGTGACAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1562
+AATTTCTTCGGCTTCACCGATTTAAAATACTCATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1563
+GGGCGGAACTGGCCCTGCGCGTCGTGACGTAACGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1564
+GATGATCGAAGAAAACGACATCATCAGCCAGCAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1565
+CACATGGTGCTGATGGCTGGTTTCACTGCCGGTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1566
+AGGCTCGTGCTTGTGCGGAAGCGGGCGTGTTCCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1567
+TGAGCGTCGGGTTTGATGTGCTCGGGGCGGCGGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1568
+CAATTCTGGGGAGATATCATCACCAACAAGCTGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1569
+TTATCTCGGTGGTAGGTGATGGTATGCGCACCTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1570
+CGTGGATAGAGGATAACCACTTTCACATTCGGTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1571
+ATGAAGCGCGGAAACTGACGCCCCCGCAGATTAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1572
+GTTGTTGAGACTGAATGTCTCTGCCGCCTCAACCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1573
+AAGCATGAGCCACTGCCGCTCCAGTATCACCGGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1574
+GGGATGAAAGGGATGGTTGGCATGGCGGCGCGCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1575
+AACAATGACCGGGTTCAGCAGATGATATTCTTTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1576
+TCTGCAGAATTCGCCCTTGTGATATCATCAGGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1577
+TTCTACGCTAAGAAAGCACGCGGTCTGATGAGTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1578
+CAGTGATTATCTACGCCAGCGTAAACTCGGCGTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1579
+GAGCGAAGGGGCTATCGAACGTAAACTGTCTTACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1580
+AGAACTTCATCAATTCATCACCAGCATTGAGCAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1581
+ATACCTGCATCGTTGTAGAGTTTGATCAGGCGTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1582
+AAAACGTTTTATTGCTGCGACCAACGTGAACGATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1583
+CTTGCGGCAACTGTGCGACAGCCTCAAAGTAATAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1584
+ATTCTCCGGTGTGAAATTTGGCTGCCAGTCATGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1585
+TTTTTGCTCATCGCCTACGGCATAATTTTCAGCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1586
+CCTCCAGCAATGGCGAACTGGTGTTTAAACGCTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1587
+TGGTAGTAATCCATCGACGAGGTGTTGGCCTTTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1588
+GTAAATATTGGTCTGGAAATCCTGAAACTGGTTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1589
+GGTATTCAGCTTATCCAGAAGGCGATGCGGGTGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1590
+TGGCAGCCAAATTTCACACCGGAGAATGCCCGCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1591
+TGATGGTAGTAATCCATCGACGAGGTGTTGGCCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1592
+TGGCGGCCTGTTTACGCGCCGATTGTTGCGAGATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1593
+GCTGGCAGGAAGCTGCAGGCGGCGCGGCGGGATAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1594
+TTTATCAGGATAAAGGCATCCCTGCGCTGGAAGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1595
+GCCGGGCGACGCCATGAAGACCGCGAGTGATCGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1596
+AATACCTGCATCGTTGTAGAGTTTGATCAGGCGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1597
+CTGATGATTCATCATCAATTTACGCAACGCAGCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1598
+CCGGAAGTGGTTGCAGCATTCAGACCGAAGAGTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1599
+CCTGGGGGGATTTTTTTATTCGCTAACTTCGCGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1600
+GATGCATGCTCGAGCGGCCGCCAGTGTGATGGATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1601
+GCACTGCTGAAAGAGCTGGCGGAGAGCGAAGGGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1602
+CCCGTCAGCTTGAGCTTGCCGCGAAGCTGATGAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1603
+CGTGACCAGTTGAATCCAGGCGAATATGGCTTGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1604
+GCGCTACGCTTATCAGGCCTACGATCTTCTTGCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1605
+GCAGTGGACTGATTTTGCCTCGTGGATAGAGGATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1606
+AACAGAATAACCACGAGGGTAACAAACTCCGCACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1607
+ATGAATACTTTACGTATTGGCTTAGTTTCCATCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1608
+CTGCCCCTGCCTGGCATTGCTTTCCAGAATATCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1609
+CAATGGCGACAATGTTGATATTGGCGCGGGCCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1610
+GTTTCTCCGAGGCGACCACACTGGCGCGGGAAATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1611
+CAGGCTGAATTCCGGCAGGTCGTGCGGAAAAAACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1612
+CGCTGTCTTTGCTCTGCTGGCGATCACTCGCGGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1613
+CTATGCCTATATTGGTTAAAGTATTTAGTGACCTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1614
+TTTTCATTACCGGCAGTGAAACCAGCCATCAGCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1615
+TACAAACTTAACGTTGTTCGTAGCGTTTAAACACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1616
+CGTCTTGCACTCTTCGGTCTGAATGCTGCAACCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1617
+GTACGATAGATTGCATCTTTTTCACAGGTTACTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1618
+AGCAGCGCACCGCCAACGCCACCGACGCCAATCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1619
+TGCTATTTTTAAGACTTTTGCCAAACTGGCGGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1620
+TTGAACAGCATCTGATGAGTAACGCGCACGCCAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1621
+CGCACTGTCAGGTGCGGGCTTTTTTCTGTGTTTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1622
+GCATTCCGGCTGACCACATGGTGCTGATGGCTGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1623
+CCGGACGCGCTTTCACTTCACCAGTGTAAGACAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1624
+CTTCTCATCGAGGAACACTGGCTTGATAATCTCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1625
+TAGTTCTTACCCAACCAGTCGGCAACGCGCTGGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1626
+TTACGCCGAACAAAAAGGCCAACACCTCGTCGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1627
+CTGGCCATTATCTCGGTGGTAGGTGATGGTATGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1628
+CCATCCACTTCGGCAATCTTCACGCGGCAGACGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1629
+GCCACTATTATCAGCCGCTGCCGTTGGTACTGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1630
+AAGAAAAACTGTTCTGTACATTGGGCGGCAATATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1631
+GAGAAAAACGACAGGGAAAAAGGAGAAATTCTCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1632
+TGCCGTTGGTACTGCGCGGATATGGTGCGGGCAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1633
+TCAGGCCTACGATCTTCTTGCAATATATTGAATTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1634
+GAAAACGTTCTGCATTTGCCACTGATGTACCGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1635
+GGTAGATTTCAGATACAGAAACCACGCCCGGATCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1636
+CTGGATTACCGGTTATTGAGAACCTGCAAAATCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1637
+CTCCGGCAGCATTCATTACGACAACGTGGCACCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1638
+GCGTGACCAGTTGAATCCAGGCGAATATGGCTTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1639
+AGCTGCCGCTGCCGCGTTTGGCGTCGACCCCATTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1640
+ATAGGCGATCGTGATAATCGTGGCTATTACTGGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1641
+ACGGAAATACGGGCGCGTGACATCGCTGCAAAGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1642
+TGTCGCACAGTTGCCGCAAGAAGCACGTAACCAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1643
+CACTGAACAGGCGCTGGAGCCTAAGCCCGAACCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1644
+TCAGCCGGAATGCGGCTTGCCGCAATACGGCGGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1645
+GGCGTATCTCCGGCAGCATTCATTACGACAACGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1646
+AGGGTTGTTCAGGCGTAAAAAGAAGAGATTGTTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1647
+TTGGCGTCGGTGGCGTTGGCGGTGCGCTGCTGGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1648
+ACCCTTGCTTTCGCATAACCTGCCCGCCGATTTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1649
+GGTATGAACCACAGGCGAGAGCAGTAATATGGCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1650
+ACATGGCCTTAATCTGGAAAACTGGCAGGAAGAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1651
+GTGGATTAAAAAAAGAGTGTCTGATAGCAGCTTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1652
+TCGACGGCGATTTCGATGCCTGTCAGGCGCTGGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1653
+GAAGTTAGCGAATAAAAAAATCCCCCCAGGCGGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1654
+TAACCGGTCTGCCCTGATGATATCACAAGGGCGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1655
+AAAGCATTCGCAAATGCTGTTGGGCAAAATCGAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1656
+ATATTGGTTAAAGTATTTAGTGACCTAAGTCAATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1657
+TAATGAATATCGGGCAACTTCCCCACGTCATTTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1658
+CAGTAATATGGCGGTCAAATTGGTAATAGCCATGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1659
+TCTGTACATTGGGCGGCAATATCGAAACTGTTGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1660
+TCTTGACTGATACAAAGCGAATACCGATAAGAAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1661
+GGATATCGACCCATAACGGGCAATGATAAAAGGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1662
+AAAAAGGCCAACACCTCGTCGATGGATTACTACCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1663
+AATCAGGCAAGGGATCTGGAACTGGGCGATGGGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1664
+AGCTCTTTTGGCAGATCCAACGTTTCACCGAGAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1665
+TAAAAGCAAACCCGGCCTGATTGAGATAATGAATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1666
+GCTCCCAGCACTGATAAACGATATTTTCCCGTGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1667
+GTGATTTGCGTAATGAATATCGGGCAACTTCCCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1668
+GCAGGTATAAACACCGTCAACATCCGTCCAGATCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1669
+GCTGCCGTTGGTACTGCGCGGATATGGTGCGGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1670
+CTTCTGAACTGGTTACCTGCCGTGAGTAAATTAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1671
+TCATCGCGTAATCTCCGGATATCGACCCATAACGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1672
+TTAAACTCTGCGGGCAGCACAGGTTCAATTTCAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1673
+CCCGATGCGAGGTTGTTGAAGTCGATGTCCTATCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1674
+GCCATGGGAGCGACCAGAACCAGGGAAAGTGCGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1675
+ATGTCAGACTCCTAACTTCCATGGGAGGGTACGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1676
+CGACTTCCCGGTCACGCTAAGTATGATTACAGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1677
+ATGAGTCGTTTCATTATTGAAAATCGGCTGACCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1678
+GGTCAAGGGCATTTCCAATCTGAATAACATGGCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1679
+GTCGCCCGGCTCATGCAGGGGTTTGTCCCGTTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1680
+CCGGCTGACCACATGGTGCTGATGGCTGGTTTCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1681
+GCGGCAGAGACATTCAGTCTCAACAACCTCGGACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1682
+TGCAAAATCAGGAAGGTTTTGTTCATATTTGCCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1683
+AGTTTCGTGGCGGACCGGCATGGTATATGGCGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1684
+TTTCCAATGAGGCGGGAATGGGGTCGACGCCAAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1685
+ATCATCCCACGCGTCTGGAGAAAGCTGGCGACCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1686
+GCGCGGGCCAGCGCGGCAAAGAATTTCGCCGAGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1687
+CTTATCCCTTCGAGCGGGGGGAGCTTAACAATTAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1688
+CGGGCTTTTTTTTCGACCAAAGGTAACGAGGTAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1689
+GATGAGCAGGCGATCATCGAGCAAACGTTGTGTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1690
+AACGGCAGCGGCTGATAATAGTGGCTATAGAAGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1691
+ATCTGCTCAATGCTGGTGATGAATTGATGAAGTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1692
+CCATGGAAGTTAGGAGTCTGACATGGTTAAAGTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1693
+CTTTGATGAAGCTTCCTCCAGCAATGGCGAACTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1694
+ATAGGACATCGACTTCAACAACCTCGCATCGGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1695
+CAGAGTACACAACATCCATGAAACGCATTAGCACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1696
+CTTCCTGCATTGCCCGTTCAGCTCGCACACAGTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1697
+TCGAGGAACACTGGCTTGATAATCTCGGCATTCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1698
+AAAGGATCGCAGTTGGTACAAAATGCAGGCTGATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1699
+TCGCCATAAAAGCGGCGACATCACCCTCGGCGTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1700
+GATATTGAAATTGAACCTGTGCTGCCCGCAGAGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1701
+ATATGCTGATTCTTATTTCACCTGCGAAAACGCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1702
+GGCATGTAGGTTGTGCCGTTACCCGCCAGTAATAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1703
+GGCGATCGACATTTTCTCGCCACGGCAAATCAGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1704
+GCCGGCAAATATGAACAAAACCTTCCTGATTTTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1705
+ATGACGGCGGTCCATGTGGGTGCCAGCGATTGCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1706
+ATCGCTTCCACGCTCTCTTTAAATTTCGCCGGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1707
+CGGTACCGAGACAACCAACTGGTTACGTGCTTCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1708
+AGGCCATGTACATTGGTGAGCAGTGCCTTCGAGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1709
+TCCATCACACTGGCGGCCGCTCGAGCATGCATCTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1710
+GGCTTAGTTTCCATCTCTGATCGCGCATCCAGCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1711
+GGTGCCGAGGAACAAGCCATATTCGCCTGGATTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1712
+GACAACCGACATCGCTTTCAACATTGGCGACCGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1713
+CACCGAAGCGTCAATTGCGAAAGCAAAACGCCTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1714
+AACCGTGACTACATCTCCGAGCAATGCACCATCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1715
+CAACTATCGATCAACTCATTCTCTTTTTTTGCTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1716
+GACAAACTGGCGGGTATCAACGCCGCTCGCTTTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1717
+TGACCAAACCAGAGCAACTGACTGGTTTTAATAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1718
+ATAATCGTGGCTATTACTGGGATGGCGGTCATTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1719
+GAGACTGAATGTCTCTGCCGCCTCAACCGTGACTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1720
+GGAGGGTACGTAGCAGATCAGCAAAGACACCGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1721
+TGATGATATCACAAGGGCGAATTCTGCAGATATCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1722
+AGGCGACCACACTGGCGCGGGAAATGGGTTATACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1723
+ATTTTTATACGAAACCTCATGTATGCTACGCAGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1724
+ACCTGTGAAAAAGATGCAATCTATCGTACTCGCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1725
+GAATGAAGCCTGCCAGATGTCGCCCGTGCGCAATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1726
+AAAATAAGTTCGGCATCGCTGATATTGGGTAAAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1727
+TACCGATCCCCAAAGGACGCTGTTAATAAAGGAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1728
+CGCGATGACTTTCCTGTGTAAACGTTACCAATTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1729
+GACTGATGTTGATGGAGTTAGCAGAATTCAGCCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1730
+TGGTGATTTGCGTAATGAATATCGGGCAACTTCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1731
+ACCAGTACTACAAAGAGCATGGTTATGAAACCGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1732
+GCTGCCAGTCATGAAAGCGAGCGGCGTTGATACCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1733
+AGCTGTAACGTCATTGCCCGCACCATATCCGCGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1734
+TATTTTTGAGAGTGCTTTTGGCTGGCAGGAAGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1735
+CTGCATACCACCAAGAAAACACGGTGCCACGTTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1736
+TCGTTACCTTTGGTCGAAAAAAAAGCCCGCACTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1737
+ATTACAGAGTACACAACATCCATGAAACGCATTAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1738
+TTATTGACTTAGGTCACTAAATACTTTAACCAATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1739
+CGCGTCGTGACGTAACGCCCGATGCGACGCTGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1740
+GTCCTCTCTGCCCCCGCCAAAATCACCAACCATCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1741
+CGCGGCAAAGAGATCGTCGAGCTGTGACAGATTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1742
+AGGTCACTAAATACTTTAACCAATATAGGCATAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1743
+ACCTCCCTTCGTCAGTACACCACCGTAGTGGCCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1744
+GTTGTTGAGACTGAATGTCTCTGCCGCCTCAACCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1745
+TGCAGGAAGAGTTCTACCTGGAACTGAAAGAAGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1746
+TCGTCTGGAAATGGGGATACGTCTTGAGAATGCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1747
+AGAATGCCCGCCAGGCAATTCTGGCGTTTAAAGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1748
+TCAGGCGAACGCCGTTGCGCGAGCCCTGAGTTTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1749
+CGCTCGAAGGGATAAGATTGTTAACAACGTGCGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1750
+AGCCAAAAGCACTCTCAAAAATAGACCAAATGACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1751
+GTTTGGCGTCGACCCCATTCCCGCCTCATTGGAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1752
+AGATTCGAGGTAATGACCCACTGCCAGCAGTTTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1753
+GCGCGGATATGGTGCGGGCAATGACGTTACAGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1754
+GTCGTGGTCAATAACGATGATGCGACCACTGGCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1755
+GCAGCGCAGGCTGCGGAAATTACGCTAGTCCCGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1756
+TGGCATTTAAAGATTTCGGCGGTCGCTTTATGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1757
+ACGCCGCGATTTTTCCGCCGCATAACGCAACTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1758
+GAAAAACTGCTGGCAGTGGGTCATTACCTCGAATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1759
+AATTCGTCTTCATCACGGCTGGCACCAATGAGCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1760
+AATAAACATATCGACTTACGTGTCTGCGGTGTTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1761
+CCGGTGTTTGATCCGTTGCGTTATCCGGAGATCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1762
+CCTCCAGCAATGGCGAACTGGTGTTTAAACGCTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1763
+GCCCCCGCAGATTAGCTCCCTGATGCGCATCAGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1764
+CCCATATTGCGGGCGATAAGCCAGTGACCATTCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1765
+AACTCTACAATCTGAAAGATCACAATGAGCAGGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1766
+TGAAAATCGGCTGACCAAACCAGAGCAACTGACTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1767
+CGCGTCTTTGCAGCGATGTCACGCGCCCGTATTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1768
+CAAACGCCTGCTTCACCAGCGCCTGACAGGCATCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1769
+TTTCGCAGGAGTAATCACAACTATCGATCAACTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1770
+TGTAAGACAGTTTACGTTCGATAGCCCCTTCGCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1771
+TGGCTGGCAGGAAGCTGCAGGCGGCGCGGCGGGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1772
+AAATACTCATCTGACGCCAGATTTATCACCACATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1773
+CAGTCATGAAAGCGAGCGGCGTTGATACCCGCCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1774
+CGTTGGGGCTGGATTACCGGTTATTGAGAACCTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1775
+TCTGGTGTCTGCGGATCTGCACCTTCGCAACGGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1776
+TTTAGCAAAAAAAGAGAATGAGTTGATCGATAGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1777
+TGATATCATCAGGGCAGACCGGTTACATCCCCCTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1778
+CGCCGAACAAAAAGGCCAACACCTCGTCGATGGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1779
+GCACGTTCTGCCAGCTCTTTTGGCAGATCCAACGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1780
+TACCCTCGTGGTTATTCTGTTTGCCTTCAGCTCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1781
+AATTTACTCACGGCAGGTAACCAGTTCAGAAGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1782
+AGTGTTCCTCGATGAGAAGAACGGCAAATTTAAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1783
+CTCATGTATGCTACGCAGAAGTTATCCAAGTACCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1784
+ACGTAAGTCGATATGTTTATTCTTCAACCAGCTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1785
+ATCCATGCCAGAAAGATCATCTCGCGGGTCCGGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1786
+GCTCCAGTTCACGTCCCGTTTCACGAGCGAGAATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1787
+GCACCATATCCGCGCAGTACCAACGGCAGCGGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1788
+ACTGATGATTCATCATCAATTTACGCAACGCAGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1789
+AATGAGCGTACCTGGTGCTTGGGGATTTCCGGTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1790
+AGCTAATCTGCGGGGGCGTCAGTTTCCGCGCTTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1791
+GCTGAATTCCGGCAGGTCGTGCGGAAAAAACAGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1792
+AAAACTCAGGGCTCGCGCAACGGCGTTCGCCTGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1793
+TGGTGGTTCTGGGACGCAACGGTTCCGACTACTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1794
+TCTCCGCCAGCTCTTTCAGCAGTGCCGGTGCGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1795
+CAACTTACGGTATTCCGGAATCTGCGCTGCGTTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1796
+GATAATCTGGGTACTGACCAGCCTGGTGATTTGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1797
+ACAACGTTACCGTTATCGATCCGGTCGAAAAACTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1798
+GTTTCGGCCTGCAAGCCAGTGTAGACATCACCTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1799
+AACTGGAAACCCGCTTAATCCCCGATGAGCAGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1800
+CCGTGGTGAGCACCAGATGGCAACTCATTTCATCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1801
+CTTGCAGCGCGCGTGGGTAGCGGCAACCTGGCCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1802
+GCGGACCGGCATGGTATATGGCGCGCGGGCTGGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1803
+CTAATTGTTAAGCTCCCCCCGCTCGAAGGGATAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1804
+CCTGACAAACATCATCGCTAAATATCAATGCCGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1805
+CAAGTTAGACGAAGGCATGAGTTTCTCCGAGGCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1806
+CATTGGGGCGACCACGGCTGGTGGAAACAACATTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1807
+GCGCAGTATGTTTTCCAATGAGGCGGGAATGGGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1808
+ATGATGAAGAACTGAAAGTGGCGCTGGGGCTGAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1809
+TAATACCTGCATCGTTGTAGAGTTTGATCAGGCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1810
+TCTACGCCAGCGTAAACTCGGCGTGCGCCCGGTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1811
+TGGGTCGATATCCGGAGATTACGCGATGAGAACGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1812
+GCAGGTTGTTGGTTCACTTTTCGTACCGGATTTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1813
+CGCCTGCTCATCGGGGATTAAGCGGGTTTCCAGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1814
+CTGTTTACGCGCCGATTGTTGCGAGATCTGGACGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1815
+ATTTGTTATTACTTTGAGGCTGTCGCACAGTTGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1816
+TGGTGTCTGCGGATCTGCACCTTCGCAACGGTCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1817
+TATGACACCAACGTTGGGGCTGGATTACCGGTTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1818
+TCTCAATCAGGCCGGGTTTGCTTTTATGCAGCCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1819
+ATCTCTGATCGCGCATCCAGCGGCGTTTATCAGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1820
+GAAAGCATTCGCAAATGCTGTTGGGCAAAATCGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1821
+TTCGCTCAGGCTCGTGCTTGTGCGGAAGCGGGCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1822
+CAAACGCCGCACGTACGCGCTCTTCCAGGATTTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1823
+TTAGCACCCGCATCGCCTTCTGGATAAGCTGAATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1824
+CACCTGCGAAAACGCTTGATTACCAAAGCCCGTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1825
+ATCATTACCGATCCCCAAAGGACGCTGTTAATAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1826
+TTCTTTTAACTCACGCATTGTCTGTTGCGTGGTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1827
+ACTAAGCCAATACGTAAAGTATTCATCAAGATTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1828
+TGCCATGGGAGCGACCAGAACCAGGGAAAGTGCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1829
+ACAGCAAACTTACGGATACCTTCCGCCAGTTTATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1830
+GCCGATTTCCGCAACCGCCTGCCGCGCCTGCCGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1831
+TGATAAACGATATTTTCCCGTGGCTCTGACGGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1832
+TATCATGACGGACAAATTGACCTCCCTTCGTCAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1833
+ACGGCAGAAGCCAGGGCTATTTTACCGGCGCAGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1834
+TTCACCTGCGAAAACGCTTGATTACCAAAGCCCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1835
+CACGGCAGGTAACCAGTTCAGAAGCTGCTATCAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1836
+ACCGTCCTCTCTGCCCCCGCCAAAATCACCAACCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1837
+GCGAAACATCATCCCACGCGTCTGGAGAAAGCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1838
+GTCGACCCCATTCCCGCCTCATTGGAAAACATACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1839
+CCGCCAGTTTATCTACTGCCATTGGATCCTGGTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1840
+TCAGCACGTTCTGCCAGCTCTTTTGGCAGATCCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1841
+TTTTATGGCGAATCTGTCACAGCTCGACGATCTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1842
+CTGTGACAGATTCGCCATAAAAGCGGCGACATCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1843
+ATGCGCGGTGCCGAGGAACAAGCCATATTCGCCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1844
+GTTGAGACTGAATGTCTCTGCCGCCTCAACCGTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1845
+CCTAAAGCGATCTGGTGTCTGCGGATCTGCACCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1846
+TAACAATCTTATCCCTTCGAGCGGGGGGAGCTTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1847
+CGTTTGAACTGGAAACCCGCTTAATCCCCGATGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1848
+CGCCATATACCATGCCGGTCCGCCACGAAACTGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1849
+CGTGCGGCGTTTGCCTTCCCGGCTCCGGTCGCCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1850
+GATCCCTGAGCAATGGCGACAATGTTGATATTGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1851
+TCACCCTCGGCGTTAAACTCTGCGGGCAGCACAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1852
+CTGGTGGAAACAACATTATGAATGGCGAGGCAATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1853
+GGGATGATGTTTCGCAGGAGTAATCACAACTATCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1854
+TACGATCGTTGCTAATACCTGCATCGTTGTAGAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1855
+GCCGCGATTTTTCCGCCGCATAACGCAACTGATGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1856
+TCTGCCAGCTCTTTTGGCAGATCCAACGTTTCACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1857
+TTCCTCGATGAGAAGAACGGCAAATTTAAGATCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1858
+TCAGTAAAATTACAGATAGGCGATCGTGATAATCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1859
+AGCCTTCTTTCAGTTCCAGGTAGAACTCTTCCTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1860
+CAGCCAAAAGCACTCTCAAAAATAGACCAAATGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1861
+TCTGGACGGATGTTGACGGTGTTTATACCTGCGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1862
+ACCGCGACATCCGGTGATACTGGAGCGGCAGTGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1863
+GAAAAACTGTTCTGTACATTGGGCGGCAATATCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1864
+ACACAACGTTTGCTCGATGATCGCCTGCTCATCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1865
+GCGCGTTACTCATCAGATGCTGTTCAATACCGATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1866
+AATCAGCACGTTCTGCCAGCTCTTTTGGCAGATCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1867
+TTGCTCGATGATCGCCTGCTCATCGGGGATTAAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1868
+AGCGTTTTTGCCAGGAGCTTGGCAAGCAAATTCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1869
+GCTGTAATCATACTTAGCGTGACCGGGAAGTCGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1870
+CTCGTTTGCCGAATGTTCCCTCGCACAGCTTTATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1871
+ATTACCGGTCAAGGGCATTTCCAATCTGAATAACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1872
+GAATCCAGGCGAATATGGCTTGTTCCTCGGCACCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1873
+TCCGGTGTGAAATTTGGCTGCCAGTCATGAAAGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1874
+ATTGGTGATGAAATCCCGCAGGAAATCCTGGAAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1875
+TTGGTCTGGAAATCCTGAAACTGGTTCCGGGCCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1876
+AATTTAAGATCATCAGCTTCTACGCTAAGAAAGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1877
+GATATTGCTGAATCCACCCGCCGTATTGCGGCAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1878
+GAGCTGGCGGATATTGAAATTGAACCTGTGCTGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1879
+AATGATTTACCTGCTTTTCGGCGCAGGTTGTTGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1880
+CGTATCCCCATTTCCAGACGATAAGGCTGCATTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1881
+GTCCATGTGGGTGCCAGCGATTGCCTCGCCATTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1882
+GCACGTTGTTAACAATCTTATCCCTTCGAGCGGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1883
+CGTACCTGGTGCTTGGGGATTTCCGGTATTTTTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1884
+TAACGGCACAACCTACATGCCGCTGGAAGGTATTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1885
+CAGTGGGTCATTACCTCGAATCTACCGTTGATATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1886
+CAGTGGCTCATGCTTTCTACGGTTTACCGAATGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1887
+TCTGTTCACCAAAGCCTGGCATCTCGCGGTCCGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1888
+GTTTGTGATTGGCGTCGGTGGCGTTGGCGGTGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1889
+ACTGCGAAGGGAGTGACAGACAGGTTTCAGAAGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1890
+CCGGCAGCATTCATTACGACAACGTGGCACCGTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1891
+GCCATCTGGTGCTCACCACGGGCGGAACTGGCCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1892
+TAACTTACCCGGTCAACCGAAGTCTATTAAAGAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1893
+GAACTGAAAGAAGGCTTACTGGAGCCGTTGGCGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1894
+AACGCAGCGAATTGGGCCTCTAGATGCATGCTCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1895
+CTGTCTGTGCGCTATGCCTATATTGGTTAAAGTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1896
+GCCCGTTCAGCTCGCACACAGTCGCTTTGCGGAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1897
+CCTGATTAAAAATACCGGAAATCCCCAAGCACCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1898
+TAACAAGGTGCCGCCGATGACCGTTGCGAAGGTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1899
+GATGATGAAGAACTGAAAGTGGCGCTGGGGCTGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1900
+GAGTCCGAGTTCCTGTGGCAGCACAACCAGGATCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1901
+AGTCCACTGCAAGAAAAACTGTTCTGTACATTGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1902
+GCAGCTGATCCATGAAGCGCGGAAACTGACGCCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1903
+CAGGCGTTTTGCTTTCGCAATTGACGCTTCGGTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1904
+AGCGGGTTTCCAGTTCAAACGGCGTGGTTAGCGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1905
+CTAATTGTTAAGCTCCCCCCGCTCGAAGGGATAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1906
+CAACCTGCGCCGAAAAGCAGGTAAATCATTACCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1907
+GATACTGGAGCGGCAGTGGCTCATGCTTTCTACGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1908
+GCTTTGTATCAGTCAAGAATACGGCCAACAAACGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1909
+TAGAAGCTGATGATCTTAAATTTGCCGTTCTTCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1910
+ACCCACATCCAGAAGACGGCTCCAGGTCCACCGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1911
+TCTGCCGTCGAGACTTTAATCCCCGGATACGCCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1912
+AGTGACCATTCTGACCGCGACATCCGGTGATACTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1913
+CGGCGGTACATCAGTGGCAAATGCAGAACGTTTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1914
+TCCGGCAGCATTCATTACGACAACGTGGCACCGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1915
+GCATCGAAATCGCCGTCGATGGCAACAGTTTCGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1916
+CGTCTGACCATCGCACCGGCACTGCTGAAAGAGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1917
+GCATCTAGAGGCCCAATTCGCTGCGTTGATATCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1918
+CACGGATACCCTGCCAGGTAGAAGCCAGTTTGATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1919
+CGATGACTCTGGAAAAGAATATGCCGATCGGTTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1920
+TGCCGAAAACAATCTCTTCTTTTTACGCCTGAACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1921
+TGGCGATGACTCTGGAAAAGAATATGCCGATCGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1922
+TTTCAGTTCCAGGTAGAACTCTTCCTGCATTGCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1923
+TGAGAGAAGGGTTGGTTGTGGCATCCTGCGGTTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1924
+ATTTAGCGATGATGTTTGTCAGGCCCCGGACGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1925
+ACCGCGAGATGCCAGGCTTTGGTGAACAGATGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1926
+CCTTCGCTCTCCGCCAGCTCTTTCAGCAGTGCCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1927
+GGTTCCGGGCCGTATCTCAACTGAAGTTGATGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1928
+GCTTTTCATTCTGACTGCAACGGGCAATATGTCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1929
+AGTGACCTAAGTCAATAAAATTTTAATTTACTCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1930
+TTCATGACTGGCAGCCAAATTTCACACCGGAGAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1931
+GATATCATCAGGGCAGACCGGTTACATCCCCCTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1932
+TCAATGCCGGATTGCCATCCGGCATTATCCGGCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1933
+TTCTGAACTGGTTACCTGCCGTGAGTAAATTAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1934
+TTTTCACAGGTTACTCCTTTTATCATTGCCCGTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1935
+CAACGGTTCCGACTACTCCGCTGCGGTGCTGGCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1936
+CGGATATCGACCCATAACGGGCAATGATAAAAGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1937
+GACTCCTAACTTCCATGGGAGGGTACGTAGCAGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1938
+AAGCTGGATTTTGTCACCCGCAGTGCGAAGATCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1939
+GCATCTCGCGGTCCGCTACTGCCAGCGTCGCATCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1940
+CGCTACCCACGCGCGCTGCAAGACTGGTACACAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1941
+GTTATGAAACCGTGGTTATGGGCGCAAGCTTCCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1942
+CTGGCAGTGGGTCATTACCTCGAATCTACCGTTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1943
+TGCAAAATCTGCTCAATGCTGGTGATGAATTGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1944
+ATTTCCCGCGCCAGTGTGGTCGCCTCGGAGAAACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1945
+GGCGGTACATCAGTGGCAAATGCAGAACGTTTTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1946
+CTCGATGATCGCCTGCTCATCGGGGATTAAGCGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1947
+TTTTATTCGCTAACTTCGCGTCTTGCACTCTTCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1948
+ACCCGCCGTATTGCGGCAAGCCGCATTCCGGCTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1949
+GAGGCCCAATTCGCTGCGTTGATATCGCCCGCCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1950
+CCAGCCAGGCTGTGGCAGATCAATATGCCGACTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1951
+GCCCCAGCGCCACTTTCAGTTCTTCATCATCAAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1952
+GATGTCAGCCATTCTTCCAGCGCAGGGATGCCTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1953
+TCACTGGCAATGGTATGAACCACAGGCGAGAGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1954
+CTTTGAGGCTGTCGCACAGTTGCCGCAAGAAGCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1955
+GCTCTCCGCCAGCTCTTTCAGCAGTGCCGGTGCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1956
+CCACGCGCGCTGCAAGACTGGTACACAATGACTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1957
+TAGCGGCAACCTGGCCGGCGTTGCGCTGGCAATTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1958
+AGGTCGCCATGCCGATAAATGCGGCAACCCACATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1959
+GTTCGTAGCGTTTAAACACCAGTTCGCCATTGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1960
+TTGATGCGCGTCTTTCCTATGACACCGAAGCGTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1961
+AACAGGCCGCCAGCACCGCAGCGGAGTAGTCGGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1962
+GTCGATCGCCATTATGGCCGGCGTGTTAGAAGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1963
+TTACAGATAGGCGATCGTGATAATCGTGGCTATTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1964
+GTGGTATGCAGTTGATGATCGAAGAAAACGACATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1965
+CTTTCAACATTGGCGACCGGAGCCGGGAAGGCAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1966
+CAGGTTCGCTTTCTTATATCTTCGGCAAGTTAGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1967
+ATGTTACGGAAGCTTGCGCCCATAACCACGGTTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1968
+GATCAGGTTATCGAAGTGTTTGTGATTGGCGTCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1969
+GATCGCAGGTATAAACACCGTCAACATCCGTCCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1970
+ATGAGGTTAAACCGCCTGGCTGTGGATGAATGCTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1971
+GGCAGTGAAACCAGCCATCAGCACCATGTGGTCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1972
+TCCTGTACGCGTCAGCCCGCACCGTTACCTGTGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1973
+CTGGAGAAAGCTGGCGACCGATCTCCGGATAACGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1974
+GCCAGTTGTTTGGCTGGCTAACATCCATCGCATTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1975
+TTTTTCGACCAAAGGTAACGAGGTAACAACCATGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1976
+CTGAAAGTGGCGCTGGGGCTGAATTCTGCTAACTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1977
+CCGCAACCGCCTGCCGCGCCTGCCGGAAGCCTGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1978
+AGTTGTTCCGCCGCAAAATCTGGCAACTGAAAGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1979
+GCCACGGGAAAATATCGTTTATCAGTGCTGGGAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1980
+GATCGTATTCTGATCAAACTGGCTTCTACCTGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1981
+ACGCCCTTCCAACTCGCCCATCAAAGCCAGCAAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1982
+GCCGCGCTGGCCCGCGCCAATATCAACATTGTCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1983
+GGCTCGTGCTTGTGCGGAAGCGGGCGTGTTCCTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1984
+GCCAGCAGAGCAAAGACAGCGAGAATAATACCTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1985
+CGGTGAAGCCGAAGAAATTGAATGCCGAGATTATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1986
+ATTATCGCCTTGTGCTGCGAGCGCCTCGTTCAGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1987
+CTCCCAGCACTGATAAACGATATTTTCCCGTGGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1988
+ATCGCGACCGGCAATAAGAGGGATATGCATGCCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1989
+CACCACCATCACCATTACCACAGGTAACGGTGCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1990
+CATGCCAGATTTTTTCTCCTTTATTAACAGCGTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1991
+CCACAACCAACCCTTCTCTCATTCTTAACGCAGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1992
+CGGCGATTTGACGGCGGGTCTGCTGGCGAAGTCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1993
+GAGCGGTATCTCCGGCTCCGGCCCGACTTTGTTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1994
+GCTGGCACAATTGAAAACTTTCGTCGACCAGGAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1995
+CGGCGGGATATACCTTAAGCCAGGCGATTACTAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1996
+CTGCCTGATGCGCTACGCTTATCAGGCCTACGATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1997
+CATGAAGCGCGGAAACTGACGCCCCCGCAGATTAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1998
+CAGCTGTTCTGCAGCACGGATACCCTGCCAGGTAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1999
+GCCGAAGTAAGAAAGCTCCATCGCTTCCTGATAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2000
+GGTACTGACCAGCCTGGTGATTTGCGTAATGAATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2001
+AGGCCTGATAAGCGTAGCGCATCAGGCAGTTTTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2002
+TGTTAGACAACGCCCAGCAGCTGATCCATGAAGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2003
+GATCATCGTGGCGATCATCGTCCGGGGCCTGACAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2004
+GCGAAGGAGAACAGCAGGGTCAGGTTACAGTTAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2005
+GGCAGAGACATTCAGTCTCAACAACCTCGGACGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2006
+GCCGGACGCGCTTTCACTTCACCAGTGTAAGACAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2007
+TGCCAAAAGAGCTGGCAGAACGTGCTGATTTACCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2008
+GGATGCCTTTATCCTGATAAACGCCGCTGGATGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2009
+CTATCGAACGTAAACTGTCTTACACTGGTGAAGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2010
+GATTACGCAATCATCTTCCGAATACAGTATCAGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2011
+GGTCGCATCATCGTTATTGACCACGACAGAGATTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2012
+CGCTATGTTGGCAATATTGATGAAGATGGCGTCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2013
+CCAGGATCCAATGGCAGTAGATAAACTGGCGGAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2014
+GGGTGCCAGCGATTGCCTCGCCATTCATAATGTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2015
+GGCTGCATTAAATCGAGCGGGCGCAGTACGCCATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2016
+TTGATGAGTGGCTGTGGGTGCTGGCGTATCCGGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2017
+GAACCCGGTCATTGTTGACTGTACTTCCAGCCAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2018
+CATCAATTTACGCAACGCAGCAAAATCGGCGGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2019
+CTAATTGTTAAGCTCCCCCCGCTCGAAGGGATAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2020
+TGATGAATTGATGAAGTTCTCCGGCATTCTTTCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2021
+TGATTCTTATTTCACCTGCGAAAACGCTTGATTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2022
+TGGCAACGATGGAGCTGAAGGCAAACAGAATAACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2023
+CTGCATGAGCCGGGCGACGCCATGAAGACCGCGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2024
+GTTTCGGCCTGCAAGCCAGTGTAGACATCACCTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2025
+TTCATCAATTCATCACCAGCATTGAGCAGATTTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2026
+CGTTGCTAATACCTGCATCGTTGTAGAGTTTGATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2027
+ACATCTATTCATTATCTCAATCAGGCCGGGTTTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2028
+TCTGCAGAATTCGCCCTTGTGATATCATCAGGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2029
+ACCAGGTACGCTCATTGGTGCCAGCCGTGATGAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2030
+AGATGGTTGGTGATTTTGGCGGGGGCAGAGAGGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2031
+AAACGGGACGTGAACTGGAGCTGGCGGATATTGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2032
+CGATGAGCAGGCGATCATCGAGCAAACGTTGTGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2033
+AAATCGAGCGGGCGCAGTACGCCATACAAGCCGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2034
+TGGTACGGTATCGTTCACGTTGGTCGCAGCAATAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2035
+CCGGTCGCGATGACTTTCCTGTGTAAACGTTACCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2036
+ACAATGTTGATATTGGCGCGGGCCAGCGCGGCAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2037
+TTTCCGCTGGCACAATTGAAAACTTTCGTCGACCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2038
+TCTTCAACCAGCTTTGCTGACGCTTCAGTTGCTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2039
+CGCTGATTTGCCGTGGCGAGAAAATGTCGATCGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2040
+TGATGTACCGCCGAACTTCAACACTCGCATGGTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2041
+GCCGCTCGAGCATGCATCTAGAGGCCCAATTCGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2042
+CCGCGACCACTGAACAGGCGCTGGAGCCTAAGCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2043
+GCCATCTTCATCAATATTGCCAACATAGCGCAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2044
+CAGATGTCGCCCGTGCGCAATGCAATCCTGGCGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2045
+GAATAATACCTGTTACCAGCGGGGGAAAATCAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2046
+CGAGAATAATACCTGTTACCAGCGGGGGAAAATCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2047
+CAGAAAAAAGCCCGCACCTGACAGTGCGGGCTTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2048
+GGGGTGCGGAGTTTGTTACCCTCGTGGTTATTCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2049
+AATCGGCGCGTAAACAGGCCGCCAGCACCGCAGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2050
+TATTAACTGTAACCTGACCCTGCTGTTCTCCTTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2051
+CCCACTGCCAGCAGTTTTTCGACCGGATCGATAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2052
+GTGAACTGGTGGATGAAATGAGTTGCCATCTGGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2053
+CGCATCCGGCGAAATTTAAAGAGAGCGTGGAAGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2054
+AACGGAAAAATCTTGATGAATACTTTACGTATTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2055
+TGTTCAATACCGATCAGGTTATCGAAGTGTTTGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2056
+CAGGCGTTTTGCTTTCGCAATTGACGCTTCGGTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2057
+CATAACCCAGCTCTTTCAGTTGCCAGATTTTGCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2058
+AATCATACTTAGCGTGACCGGGAAGTCGGTCACGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2059
+ACTGGGATGGCGGTCATTGGGGCGACCACGGCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2060
+CAACGGCGTTCGCCTGAACTCCGCTGAAAATTATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2061
+ATGGCAGTAGATAAACTGGCGGAAGGTATCCGTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2062
+CCGGCAGAAGATCCGGGCGTGGTTTCTGTATCTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2063
+GGATGAAAGGGATGGTTGGCATGGCGGCGCGCGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2064
+ATCTGGAAAACTGGCAGGAAGAACTGGCGCAAGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2065
+TTTGTACCAACTGCGATCCTTTCGCGTCAGGTGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2066
+CAATGGGCAGTTTCGTGGCGGACCGGCATGGTATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2067
+CGCCAAACGCGGCAGCGGCAGCTGCGTCCTGGCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2068
+ATAACGATGATGCGACCACTGGCGTGCGCGTTACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2069
+ACATACTGCGCTGAAAACCGTTAGTAATCGCCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2070
+GATGCGCTGGATGGGCGTTCTGTTCGCCGTCTTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2071
+GCGACCACTGAACAGGCGCTGGAGCCTAAGCCCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2072
+CGCGGTGCCGAGGAACAAGCCATATTCGCCTGGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2073
+CCTAAGTCAATAAAATTTTAATTTACTCACGGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2074
+ACGCGCCCGTATTTCCGTGGTGCTGATTACGCAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2075
+TGGACCGCCGTCATCGCCGCGCCATAACAAGCACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2076
+GAGGTCAATTTGTCCGTCATGATAGTATTTCTCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2077
+TTACCGGCGCAGTATCGCCGCCAGGATTGCATTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2078
+TCTCCAGACGCGTGGGATGATGTTTCGCAGGAGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2079
+CGGATCTTCTGCCGGAGCGTACTCTTTCTTATCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2080
+CAGGGTTTGATGAGTGGCTGTGGGTGCTGGCGTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2081
+TGTTATTCTCCGCAATCCTAATCTCTAAGTTACCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2082
+CCAGCTGTTCTGCAGCACGGATACCCTGCCAGGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2083
+ACAAGGTGCCGCCGATGACCGTTGCGAAGGTGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2084
+CCGCCGAACTTCAACACTCGCATGGTTGTTACCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2085
+CTATGCCTATATTGGTTAAAGTATTTAGTGACCTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2086
+TTCCGTAACATCGGCGAAATTCTGGAACTGGCAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2087
+TTGATTACCAAAGCCCGTTGACCACCACGCGCTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2088
+AATACCTGTTACCAGCGGGGGAAAATCAAAAGAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2089
+AGGAAACACAGAAAAAAGCCCGCACCTGACAGTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2090
+CAGCTTCATTGCCGCGATGTCCCCAGTGTCGGCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2091
+AATAAAATTTTAATTTACTCACGGCAGGTAACCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2092
+GAGCAATGCACCATCAACAGGTGTCACCGCCGCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2093
+AATGCAGGCTGATCTGGCGCATCTGTTCACCAAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2094
+GCAATACGGCGGGTGGATTCAGCAATATCAACGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2095
+CTTTTTTTTCGACCAAAGGTAACGAGGTAACAACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2096
+GGAGTCTGACATGGTTAAAGTTTATGCCCCGGCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2097
+AAGACGGCTCCAGGTCCACCGGCGGTAATTGCCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2098
+TCCTCTCGGCGTTTATTGGTGATGAAATCCCGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2099
+CGCTGGCACAATTGAAAACTTTCGTCGACCAGGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2100
+ACGGCGATTTCGATGCCTGTCAGGCGCTGGTGAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2101
+GATCTGCTGCGCGCGATCGTTGCTCTGCTGTTTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2102
+AGGTGCGGGCTTTTTTCTGTGTTTCCTGTACGCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2103
+CATCAGCGCCGCGACCACTGAACAGGCGCTGGAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2104
+AAATCAAAAGAAAAACTCAGGGCTCGCGCAACGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2105
+CGTAATTTCCGCAGCCTGCGCTGCCATGGGAGCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2106
+TGCTGACGCTTCAGTTGCTCCAGCAGCGCACCGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2107
+CGTCAGTACACCACCGTAGTGGCCGACACTGGGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2108
+GATTACGCGATGAGAACGGCAGTTGTTATTCTCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2109
+TAAGTTTTCCGCTGATGTGGCAACTGGCAGATATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2110
+GGTTACAGTTAATACCTTCTTTTTCCAGCTGTTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2111
+GCGTCTGGAGAAAGCTGGCGACCGATCTCCGGATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2112
+TTCTGCCGGAGCGTACTCTTTCTTATCGGTATTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2113
+CCATTCATAATGTTGTTTCCACCAGCCGTGGTCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2114
+GCGCGTAAACAGGCCGCCAGCACCGCAGCGGAGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2115
+CCCCCACCTGACGCGAAAGGATCGCAGTTGGTACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2116
+TTCCAGTGGCGATGACTCTGGAAAAGAATATGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2117
+TGCATAACCCAGCTCTTTCAGTTGCCAGATTTTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2118
+GTTATGGGCGCAAGCTTCCGTAACATCGGCGAAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2119
+GTCGGGCCGGAGCCGGAGATACCGCTCGCTACCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2120
+CACGACCTGCCGGAATTCAGCCTGACTGAAATTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2121
+GGCGATATCAACGCAGCGAATTGGGCCTCTAGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2122
+TTGCCGAACTTCTGACGGGACTCGCCGCCGCCCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2123
+AGCGTCCGAGGTTGTTGAGACTGAATGTCTCTGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2124
+TTCATGGATGTTGTGTACTCTGTAATTTTTATCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2125
+ACCACTGGCGTGCGCGTTACTCATCAGATGCTGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2126
+ATGGTTAAAGTTTATGCCCCGGCTTCCAGTGCCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2127
+TCCTGCGAAACATCATCCCACGCGTCTGGAGAAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2128
+GGTAGAAGCCAGTTTGATCAGAATACGATCGTTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2129
+TGCGGGTGCTAATGGGTTCCTGGGGTGCGGAGTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2130
+TTCGGTAAACCGTAGAAAGCATGAGCCACTGCCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2131
+GATGCGAGGTTGTTGAAGTCGATGTCCTATCAGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2132
+GCCGAACTTATTTTTGCCGAACTTCTGACGGGACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2133
+GTATTCAGCTTATCCAGAAGGCGATGCGGGTGCTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2134
+TCTGCGGGGGCGTCAGTTTCCGCGCTTCATGGATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2135
+TAGCAACACCGCAGACACGTAAGTCGATATGTTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2136
+CTTTCACGAGGCGAATTAAGCGCCCGAGATTAAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2137
+GACTGTACTTCCAGCCAGGCTGTGGCAGATCAATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2138
+ACCACACTGGCGCGGGAAATGGGTTATACCGAACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2139
+CGGTAAAACGTTTTATTGCTGCGACCAACGTGAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2140
+TTCCACTCGGTACCGAGACAACCAACTGGTTACGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2141
+CGAGGTCGCCATGCCGATAAATGCGGCAACCCACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2142
+CATCAACGCTGCGCTGATTTGCCGTGGCGAGAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2143
+TCCAGGTAGAACTCTTCCTGCATTGCCCGTTCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2144
+CTCTACAACGATGCAGGTATTAGCAACGATCGTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2145
+TTCCGTGGTGCTGATTACGCAATCATCTTCCGAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2146
+CACGACGGTCAGTGGTCACCCAAAGCGACTCAGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2147
+GAGCGGCGTTGATACCCGCCAGTTTGTCGCTGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2148
+GTGAAACCAGCCATCAGCACCATGTGGTCAGCCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2149
+TATCAACGGTAGATTCGAGGTAATGACCCACTGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2150
+CCCTCGGCGTTAAACTCTGCGGGCAGCACAGGTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2151
+TCAAAAATAGACCAAATGACGTGGGGAAGTTGCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2152
+CTGGAGCTGGCGGATATTGAAATTGAACCTGTGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2153
+GTTGTCGTAATGAATGCTGCCGGAGATACGCCCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2154
+GTTGCCGATATTCTGGAAAGCAATGCCAGGCAGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2155
+TCGCTACCGCGCCGATTTCCGCAACCGCCTGCCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2156
+GAAAAAAGCCCGCACCTGACAGTGCGGGCTTTTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2157
+TCGGAGCCGCACGCTGCCGTAGCTTATCGTGCGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2158
+GCGGGCGATAAGCCAGTGACCATTCTGACCGCGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2159
+GATTATCTACGCCAGCGTAAACTCGGCGTGCGCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2160
+CGGCGGGTGGATTCAGCAATATCAACGGTAGATTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2161
+GCGCGGGCCAGCGCGGCAAAGAATTTCGCCGAGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2162
+GTGCTGGGAGCGTTTTTGCCAGGAGCTTGGCAAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2163
+GACAACGTGGCACCGTGTTTTCTTGGTGGTATGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2164
+TCAGTCTGATCCCCCCGCCTGGGGGGATTTTTTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2165
+TTACCAGCGGGGGAAAATCAAAAGAAAAACTCAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2166
+AAAATATCGTTTATCAGTGCTGGGAGCGTTTTTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2167
+TCGGACGCTTTGCCGATAAGCTGCCGTCAGAGCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2168
+GGGATAAGATTGTTAACAACGTGCGCTTTGTTTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2169
+GGCTTCCAGTGCCAATATGAGCGTCGGGTTTGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2170
+TGTGGTAATGGTGATGGTGGTGGTAATGGTGGTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2171
+AACGTTTACACAGGAAAGTCATCGCGACCGGCAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2172
+TACTTTAACCAATATAGGCATAGCGCACAGACAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2173
+CTGCGCCGAAAAGCAGGTAAATCATTACCGATCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2174
+AGGAGTAACCTGTGAAAAAGATGCAATCTATCGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2175
+ACACTCGTTTGCTGGCTTTGATGGGCGAGTTGGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2176
+GCATCCGGCGAAATTTAAAGAGAGCGTGGAAGCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2177
+AGCGGCAGTGGCTCATGCTTTCTACGGTTTACCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2178
+TCGATATCCGGAGATTACGCGATGAGAACGGCAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2179
+CTCGGTACCGAGACAACCAACTGGTTACGTGCTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2180
+TTTCGTACCGGATTTGTGCAGTTTCGCTACATCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2181
+TTACGCAAATCACCAGGCTGGTCAGTACCCAGATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2182
+CGCCATCTTCATCAATATTGCCAACATAGCGCAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2183
+ACAGATTCGCCATAAAAGCGGCGACATCACCCTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2184
+GATCCTGGTTGTGCTGCCACAGGAACTCGGACTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2185
+ATGCCGGATAATGCCGGATGGCAATCCGGCATTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2186
+CGATATCAACGCAGCGAATTGGGCCTCTAGATGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2187
+AGCGGGCGCAGTACGCCATACAAGCCGGAAAGCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2188
+CAATTTCAATATCCGCCAGCTCCAGTTCACGTCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2189
+TTCATAAAAAAAGCCGGGCTGCATAAAAGCAAACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2190
+CTGTCGCACAGTTGCCGCAAGAAGCACGTAACCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2191
+GAAATTTATGCCGACTTTAGCAAAAAAAGAGAATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2192
+TGACTGGTTTTAATAGCGAAGGTTACTTCTTTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2193
+AACCCTACCGTGAACGGTTACTGCCAGGCTTCCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2194
+TCGACGAAAGTTTTCAATTGTGCCAGCGGAAATCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2195
+ATTTGCCGTTCTTCTCATCGAGGAACACTGGCTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2196
+AATGCTGTTGGGCAAAATCGAAATCGTCTTCGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2197
+GCCATTCATAATGTTGTTTCCACCAGCCGTGGTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2198
+ATCGAGGAACACTGGCTTGATAATCTCGGCATTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2199
+GTTAGGCAAAAATCAGGGGCTGTTTTTTCCGCACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2200
+GCAGGCTGATCTGGCGCATCTGTTCACCAAAGCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2201
+GTACAGGAAACACAGAAAAAAGCCCGCACCTGACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2202
+TGACCGACTTCCCGGTCACGCTAAGTATGATTACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2203
+CGCGTGTGGAAGAGTTGTTCCGCCGCAAAATCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2204
+ATCGATCAACTCATTCTCTTTTTTTGCTAAAGTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2205
+TTCGAGTTAGCAACACCGCAGACACGTAAGTCGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2206
+CGTCGACCAGGAATTTGCCCAAATAAAACATGTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2207
+AGCTTTCTCCAGACGCGTGGGATGATGTTTCGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2208
+TCAGCTCGCACACAGTCGCTTTGCGGAACGCAGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2209
+CGATTACTAACGGTTTTCAGCGCAGTATGTTTTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2210
+TGACGGGACTCGCCGCCGCCCAGCCGGGATTTCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2211
+CCGTTGCGAAGGTGCAGATCCGCAGACACCAGATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2212
+GGCGTTTTGCTTTCGCAATTGACGCTTCGGTGTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2213
+CTGTGTAAACGTTACCAATTGTTTACGAAGTATAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2214
+CGCGCTATACGCTGCCGGAGCTGTTAGACAACGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2215
+TTGGGCCTCTAGATGCATGCTCGAGCGGCCGCCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2216
+GTTGACGGTGTTTATACCTGCGATCCGCGTCAGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2217
+GGTATAACCCATTTCCCGCGCCAGTGTGGTCGCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2218
+TCGCCCGGCTCATGCAGGGGTTTGTCCCGTTGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2219
+CTTCATCATCAAACGCCTGCTTCACCAGCGCCTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2220
+CATCGCCACTGGAATTTGCTTGCCAAGCTCCTGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2221
+TTTTCGACCGGATCGATAACGGTAACGTTGTGACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2222
+TTTGTTGGGGCAGTGCCCGGATAGCATCAACGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2223
+GGCGTCAGTTTCCGCGCTTCATGGATCAGCTGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2224
+TAGCGCATCAGGCAGTTTTGCGTTTGTCATCAGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2225
+TATCGCCCGCAATATGGGTCAGCATTTGTGCCATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2226
+GCATGGTTATGAAACCGTGGTTATGGGCGCAAGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2227
+CAACTGAATGCAGTACGGTACGCTGGCAAAAATAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2228
+TCACTCCCTTCGCAGTGTATCATTCTGCTTAACGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2229
+CATTAGCGGTCAGGATGCTTTACCCAATATCAGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2230
+GCGGCGTTTATCAGGATAAAGGCATCCCTGCGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2231
+ATCTTCGCACTGCGGGTGACAAAATCCAGCTTCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2232
+CGATGAATGAACACTGCGGCAAGCCGCTTAATGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2233
+GCCCTGCGCGTCGTGACGTAACGCCCGATGCGACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2234
+TGAATGAACACTGCGGCAAGCCGCTTAATGACACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2235
+CGCATGGTTGTTACCTCGTTACCTTTGGTCGAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2236
+GCTACGCTTATCAGGCCTACGATCTTCTTGCAATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2237
+GTCGAGCTGTGACAGATTCGCCATAAAAGCGGCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2238
+GCGTAAACAGGCCGCCAGCACCGCAGCGGAGTAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2239
+TGAAGTGAAAGCGCGTCCGGCGCGTATCACTGAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2240
+CTGCATAACCCAGCTCTTTCAGTTGCCAGATTTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2241
+TCTTTATAAAGCTGTGCGAGGGAACATTCGGCAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2242
+CACGCGTCTGGAGAAAGCTGGCGACCGATCTCCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2243
+TCATTGGAAAACATACTGCGCTGAAAACCGTTAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2244
+GCGATGGAGCTTTCTTACTTCGGCGCTAAAGTTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2245
+GCGCAACGGCGTTCGCCTGAACTCCGCTGAAAATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2246
+ATCCGCCAGCTCCAGTTCACGTCCCGTTTCACGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2247
+CAGCAACTGAATGCAGTACGGTACGCTGGCAAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2248
+ATCTGAAAGATCACAATGAGCAGGTCAGCTTTGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2249
+ATTGATGAAGTTCTCCGGCATTCTTTCAGGTTCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2250
+GGAAAAATCTTGATGAATACTTTACGTATTGGCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2251
+CGTGCTTTCTTAGCGTAGAAGCTGATGATCTTAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2252
+TAAACAAAGCGCACGTTGTTAACAATCTTATCCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2253
+GGAAAGATCTGTATCAATTCTGGGGAGATATCATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2254
+CCGAAGTCTATTAAAGAGACGCTGGAAGGTGTGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2255
+AGATATCCATCACACTGGCGGCCGCTCGAGCATGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2256
+CGGCTGGGCGGCGGCGAGTCCCGTCAGAAGTTCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2257
+TGACCATTCTGACCGCGACATCCGGTGATACTGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2258
+CGTTGGCGGTGCGCTGCTGGAGCAACTGAAGCGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2259
+TGGCGTCTGCCGCGTGAAGATTGCCGAAGTGGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2260
+TAAAAAAAGCCGGGCTGCATAAAAGCAAACCCGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2261
+TGATATCTCCCCAGAATTGATACAGATCTTTCCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2262
+GAAGCTGGATTTTGTCACCCGCAGTGCGAAGATCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2263
+TAAGCGGGTTTCCAGTTCAAACGGCGTGGTTAGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2264
+GTAGGCGATGAGCAAAAAGACGGCGAACAGAACGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2265
+AGCCGGAATGCGGCTTGCCGCAATACGGCGGGTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2266
+ATTCTGTTTGCCTTCAGCTCCATCGTTGCCAACTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2267
+ACAGCCTGGCTGGAAGTACAGTCAACAATGACCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2268
+CGTGATGCCAATGGGCAGTTTCGTGGCGGACCGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2269
+GGCAAACGCCGCACGTACGCGCTCTTCCAGGATTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2270
+CGGCGATCTGCTGTAATCATACTTAGCGTGACCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2271
+TGCCAAACTGGCGGATGTAGCGAAACTGCACAAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2272
+CCATATTACTGCTCTCGCCTGTGGTTCATACCATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2273
+AGAGCCACGGGAAAATATCGTTTATCAGTGCTGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2274
+GTTTGCTCGATGATCGCCTGCTCATCGGGGATTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2275
+GACCTCGTTTGCCGAATGTTCCCTCGCACAGCTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2276
+GCTGTATCAACCGCAGGATGCCACAACCAACCCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2277
+GCCGGTAAAACGTTTTATTGCTGCGACCAACGTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2278
+TCGATAACCTGATCGGTATTGAACAGCATCTGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2279
+GCTTGCAGGCCGAAACCTTCAGCGAAGACGATTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2280
+CGGTCTGCCCTGATGATATCACAAGGGCGAATTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2281
+CTTCCTGCGCGAAGGTTTCCACGTTGTTACGCCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2282
+GGATCAGACTGATGACAAACGCAAAACTGCCTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2283
+CATATCCCTCTTATTGCCGGTCGCGATGACTTTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2284
+CTGGCAGGAAGAACTGGCGCAAGCCAAAGAGCCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2285
+ACCTTAAGCCAGGCGATTACTAACGGTTTTCAGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2286
+CAAACCCGACGCTCATATTGGCACTGGAAGCCGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2287
+CAGGGTTTGATGAGTGGCTGTGGGTGCTGGCGTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2288
+TGCTCATCGGGGATTAAGCGGGTTTCCAGTTCAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2289
+TCCACAGCCAGGCGGTTTAACCTCATTTCAGTCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2290
+GGTGCTGATGGCTGGTTTCACTGCCGGTAATGAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2291
+TGATCTTAAATTTGCCGTTCTTCTCATCGAGGAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2292
+GATTTACCCTTGCTTTCGCATAACCTGCCCGCCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2293
+TGTCACCCGCAGTGCGAAGATCCTCTCGGCGTTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2294
+GACACTCGTTTGCTGGCTTTGATGGGCGAGTTGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2295
+TTCCGCCGCATAACGCAACTGATGGTAGTAATCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2296
+CGTAATGAATGCTGCCGGAGATACGCCCTTCCAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2297
+CTATTGATTCTCGCTCGTGAAACGGGACGTGAACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2298
+GACCGAGTGACTTCGCCAGCAGACCCGCCGTCAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2299
+GGGAAAATATCGTTTATCAGTGCTGGGAGCGTTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2300
+GAAGCGATGGAGCTTTCTTACTTCGGCGCTAAAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2301
+GAGTGTCTGATAGCAGCTTCTGAACTGGTTACCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2302
+ACATTCGGCAAACGAGGTCGCCATGCCGATAAATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2303
+AAAACGACATCATCAGCCAGCAAGTGCCAGGGTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2304
+GGCCGTATTCTTGACTGATACAAAGCGAATACCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2305
+CTGTATCAACCGCAGGATGCCACAACCAACCCTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2306
+GATTCGCCATAAAAGCGGCGACATCACCCTCGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2307
+CCTGATTGAGATAATGAATAGATGTTACTGATGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2308
+TGTCCAGATGATTGGCATTTTTATCGACACCCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2309
+TGGCAACGATGGAGCTGAAGGCAAACAGAATAACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2310
+CGGTGGTAGGTGATGGTATGCGCACCTTACGTGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2311
+GCGGTTTAACCTCATTTCAGTCATTGTGTACCAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2312
+CGCCTGCTCATCGGGGATTAAGCGGGTTTCCAGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2313
+CGCCCGCAATATGGGTCAGCATTTGTGCCATAAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2314
+ACGGGAAAATATCGTTTATCAGTGCTGGGAGCGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2315
+ATGGTATGAACCACAGGCGAGAGCAGTAATATGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2316
+AAAAAATCCCCCCAGGCGGGGGGATCAGACTGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2317
+TGAAGAACTGAAAGTGGCGCTGGGGCTGAATTCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2318
+TGGCAGTAGATAAACTGGCGGAAGGTATCCGTAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2319
+GCGGCATGTAGGTTGTGCCGTTACCCGCCAGTAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2320
+AGCGTGGAAGCGATTCTCGGTGAAACGTTGGATCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2321
+GGTATCCGGCTTGTCACACAGAGCGAACAAAGTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2322
+GACCACGGCTGGTGGAAACAACATTATGAATGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2323
+ATACCATGCCGGTCCGCCACGAAACTGCCCATTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2324
+TGGTGATGGTGGTGGTAATGGTGGTGCTAATGCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2325
+GAGAAATTCTCAATAAATGCGGTAACTTAGAGATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2326
+TTACGTCACGACGCGCAGGGCCAGTTCCGCCCGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2327
+CGGAGATCGGTCGCCAGCTTTCTCCAGACGCGTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2328
+GCCTGACAAACATCATCGCTAAATATCAATGCCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2329
+GCACTTTCCCTGGTTCTGGTCGCTCCCATGGCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2330
+TGTTAAGTTTTCCGCTGATGTGGCAACTGGCAGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2331
+GCTGCCATGGGAGCGACCAGAACCAGGGAAAGTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2332
+ACTTCGGCGCTAAAGTTCTTCACCCCCGCACCATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2333
+CTTTCTCCAGACGCGTGGGATGATGTTTCGCAGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2334
+AGGCGGTTGCGGAAATCGGCGCGGTAGCGAGCGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2335
+CGTCCTTTGGGGATCGGTAATGATTTACCTGCTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2336
+GATGAAACCACGCAACAGACAATGCGTGAGTTAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2337
+TAATACCTGCATCGTTGTAGAGTTTGATCAGGCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2338
+GGACTGGATATGCTGATTCTTATTTCACCTGCGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2339
+GAGAACGGCAGTTGTTATTCTCCGCAATCCTAATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2340
+CTCGGGGCGGCGGTGACACCTGTTGATGGTGCATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2341
+AGCGACTCAGGCGACGTTATCCAATGCGATGGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2342
+GGCAAATTTAAGATCATCAGCTTCTACGCTAAGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2343
+TAAAATTTTAATTTACTCACGGCAGGTAACCAGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2344
+CATGCAGGACATGTTTTATTTGGGCAAATTCCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2345
+AAACTCTGCGGGCAGCACAGGTTCAATTTCAATAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2346
+ACCCTACCGTGAACGGTTACTGCCAGGCTTCCGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2347
+AACCTTCCTGATTTTGCAGGTAGTTCTTACCCAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2348
+TGATCGCCAGCAGAGCAAAGACAGCGAGAATAATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2349
+CGCATTGTCTGTTGCGTGGTTTCATCATCCACGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2350
+CGTTGAAACGGCACCGGAAGTGGTTGCAGCATTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2351
+CGCTTAATTCGCCTCGTGAAAGAATATCATCTGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2352
+GGCAACTGGCAGATATCATTATGGCCTGCATGGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2353
+GGAACCGTTGCGTCCCAGAACCACCAGCTCGCCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2354
+GTGCCAGCGATTGCCTCGCCATTCATAATGTTGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2355
+CAACGTTGGGGCTGGATTACCGGTTATTGAGAACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2356
+CTTCTATAGCCACTATTATCAGCCGCTGCCGTTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2357
+TTGGTGGTATGCAGTTGATGATCGAAGAAAACGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2358
+AAAAATAAGTTCGGCATCGCTGATATTGGGTAAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2359
+CCGGCTTGTATGGCGTACTGCGCCCGCTCGATTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2360
+ATTGAGATAATGAATAGATGTTACTGATGATTCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2361
+CGTGGATGATGAAACCACGCAACAGACAATGCGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2362
+ACCTTTAAACGCCAGAATTGCCTGGCGGGCATTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2363
+TCTCGCGGTCCGCTACTGCCAGCGTCGCATCGGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2364
+AACTGGTCACGCAGCGCACGATAAGCTACGGCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2365
+CAGTAATATCAGCATGGCGCTTGCCGTGCAGATGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2366
+GGATGAAATGAGTTGCCATCTGGTGCTCACCACGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2367
+AGTCCCGTCAGTAAAATTACAGATAGGCGATCGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2368
+CACCAGTTCGCCATTGCTGGAGGAAGCTTCATCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2369
+ATTGAGCGTTCAGAAGATCCCTGAGCAATGGCGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2370
+TGAATCATCAGTAACATCTATTCATTATCTCAATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2371
+GAGGAAGCTTCATCAAAGAAGTAACCTTCGCTATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2372
+TGATCCTTAACTTACCCGGTCAACCGAAGTCTATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2373
+TATTGAAATTGAACCTGTGCTGCCCGCAGAGTTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2374
+GAGCGTGGAAGCGATTCTCGGTGAAACGTTGGATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2375
+TTGCGCTGGCAATTACCGCCGGTGGACCTGGAGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2376
+AGGTATTCAGCTTATCCAGAAGGCGATGCGGGTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2377
+AGCCCAGTTCTTTTAACTCACGCATTGTCTGTTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2378
+GTATGTTTTCCAATGAGGCGGGAATGGGGTCGACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2379
+GATAAACTGGCGGAAGGTATCCGTAAGTTTGCTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2380
+CGTGGATGATGAAACCACGCAACAGACAATGCGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2381
+CATAATGTTGTTTCCACCAGCCGTGGTCGCCCCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2382
+ACAATGCGTGAGTTAAAAGAACTGGGCTATACCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2383
+TGGTTAAAGTTTATGCCCCGGCTTCCAGTGCCAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2384
+ACCGTGCACCACAACGTTACCCTCAGCGTCCTTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2385
+GCAATATGGGTCAGCATTTGTGCCATAAAGCGACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2386
+CACTCGCGGTCTTCATGGCGTCGCCCGGCTCATGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2387
+CCGTATTCTTGACTGATACAAAGCGAATACCGATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2388
+TAATTGCCAGCGCAACGCCGGCCAGGTTGCCGCTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2389
+CAGCCACTCATCAAACCCTGGCACTTGCTGGCTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2390
+GATCAGCCTGCATTTTGTACCAACTGCGATCCTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2391
+GGCAGAAGATCCGGGCGTGGTTTCTGTATCTGAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2392
+GTGCTGCGAGCGCCTCGTTCAGCTTGTTGGTGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2393
+CCACAGCCTGGCTGGAAGTACAGTCAACAATGACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2394
+GCCAGGCGGTTTAACCTCATTTCAGTCATTGTGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2395
+AGCAGGTCAGCTTTGCGCAAGCCGTAACCCAGGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2396
+TTGATGATCGAAGAAAACGACATCATCAGCCAGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2397
+CGGGTTTGATGTGCTCGGGGCGGCGGTGACACCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2398
+CGCTGATGCGCATCAGGGAGCTAATCTGCGGGGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2399
+GCCCGATGCGAGGTTGTTGAAGTCGATGTCCTATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2400
+TCAGACTCCTAACTTCCATGGGAGGGTACGTAGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2401
+GCTGGAAGGTATTCAGCTTATCCAGAAGGCGATGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2402
+GGTGACAAAATCCAGCTTCAGCATCTCATCAATTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2403
+TGGAAGGGCGTATCTCCGGCAGCATTCATTACGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2404
+TGCCGTCAGAGCCACGGGAAAATATCGTTTATCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2405
+TGGAAGAGCGCGTACGTGCGGCGTTTGCCTTCCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2406
+CTCGTGCGCCCGCCGTATCCAGCCGGCAAATATGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2407
+GGTGGTAGGTGATGGTATGCGCACCTTACGTGGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2408
+GGTGTGAAATTTGGCTGCCAGTCATGAAAGCGAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2409
+ATTACGCGATGAGAACGGCAGTTGTTATTCTCCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2410
+GCAATAAAACGTTTTACCGGCAGACCGAGTGACTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2411
+CGTTCGATAGCCCCTTCGCTCTCCGCCAGCTCTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2412
+CCGGTCTGCCCTGATGATATCACAAGGGCGAATTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2413
+CCTGCATCGTTGTAGAGTTTGATCAGGCGTTTTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2414
+AAAATTTTAATTTACTCACGGCAGGTAACCAGTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2415
+ATGGTTAAAGTTTATGCCCCGGCTTCCAGTGCCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2416
+GGAGTTCAGGCGAACGCCGTTGCGCGAGCCCTGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2417
+CATCCGGCATTATCCGGCATTGACTACAAACTTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2418
+GAGCCGTTGGCGGTGACGGAACGGCTGGCCATTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2419
+AACGCCCTGGCCTTCTATAGCCACTATTATCAGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2420
+CGGCAAAGAATTTCGCCGAGATCCCACGTAAGGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2421
+GATACGCCAGCACCCACAGCCACTCATCAAACCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2422
+ACTGGTTTTAATAGCGAAGGTTACTTCTTTGATGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2423
+TCACGTTCTTTATAAAGCTGTGCGAGGGAACATTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2424
+CATCATCCACGGCTGCATAACCCAGCTCTTTCAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2425
+TCCAATGCGATGGATGTTAGCCAGCCAAACAACTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2426
+GAAGTTATCCAAGTACCTCGTAGCGTTATATACTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2427
+ATTTTTGCCAGCGTACCGTACTGCATTCAGTTGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2428
+TTGCCGCGCTGGCCCGCGCCAATATCAACATTGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2429
+CTCTGACGGCAGCTTATCGGCAAAGCGTCCGAGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2430
+TCATCCACAGCCAGGCGGTTTAACCTCATTTCAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2431
+CTGGTCAGTACCCAGATTATCGCCATCAACGGGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2432
+CGCCACCGACGCCAATCACAAACACTTCGATAACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2433
+GGCAGACGCCATCTTCATCAATATTGCCAACATAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2434
+AAAGGAGAAAAAATCTGGCATGCATATCCCTCTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2435
+CCTGGCATTGCTTTCCAGAATATCGGCAACCCGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2436
+TTATTGCTGCGACCAACGTGAACGATACCGTACCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2437
+AACGCCGTTGCGCGAGCCCTGAGTTTTTCTTTTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2438
+TCCGGCGAAATTTAAAGAGAGCGTGGAAGCGATTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2439
+AGCCAGCCAAACAACTGGCCGCGTGTGGAAGAGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2440
+TCATCAATTTCAGTCAGGCTGAATTCCGGCAGGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2441
+CAATAAATGCGGTAACTTAGAGATTAGGATTGCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2442
+TACCCTCCCATGGAAGTTAGGAGTCTGACATGGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2443
+TGCTGACCCATATTGCGGGCGATAAGCCAGTGACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2444
+AGTTCAAACGGCGTGGTTAGCGCCGATGTCAGCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2445
+GTACGCTCCGGCAGAAGATCCGGGCGTGGTTTCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2446
+GGTCACGCTACCTCTTCTGAAACCTGTCTGTCACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2447
+GCCGCAAAATCTGGCAACTGAAAGAGCTGGGTTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2448
+AACATCTATTCATTATCTCAATCAGGCCGGGTTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2449
+GAGCTGAAGGCAAACAGAATAACCACGAGGGTAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2450
+GGCGAAATTCTGGAACTGGCAGGCTGCGACCGTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2451
+AAATCGGCGGGCAGGTTATGCGAAAGCAAGGGTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2452
+ATGGCGATAATCTGGGTACTGACCAGCCTGGTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2453
+CCTTATCCGGCCTACAAAATCGTGCAAATTCAATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2454
+GTTCAGCGATAACATCTTTCATCAGCTTCGCGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2455
+TTTCGTATAAAAATGGCGGGCGATATCAACGCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2456
+TAGGCATAGCGCACAGACAGATAAAAATTACAGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2457
+CGGCTGGTGGAAACAACATTATGAATGGCGAGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2458
+GGCACAATTGAAAACTTTCGTCGACCAGGAATTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2459
+CTTATCCCTTCGAGCGGGGGGAGCTTAACAATTAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2460
+TGATGAATACTTTACGTATTGGCTTAGTTTCCATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2461
+GCAGCATTCATTACGACAACGTGGCACCGTGTTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2462
+GCGCGTAAACAGGCCGCCAGCACCGCAGCGGAGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2463
+ATCCGGCATTGATATTTAGCGATGATGTTTGTCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2464
+CCGTTCCGTCACCGCCAACGGCTCCAGTAAGCCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2465
+TTCGTAAACAATTGGTAACGTTTACACAGGAAAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2466
+CTTGATAATCTCGGCATTCAATTTCTTCGGCTTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2467
+GCCGACTTTAGCAAAAAAAGAGAATGAGTTGATCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2468
+CAGATTTTTTCTCCTTTATTAACAGCGTCCTTTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2469
+ACGCAGAAACTGATACTGTATTCGGAAGATGATTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2470
+AAAAATAGACCAAATGACGTGGGGAAGTTGCCCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2471
+ACATGGCAATGTTCAGCGTTTCCGGCCCGGGGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2472
+GATTACGCGATGAGAACGGCAGTTGTTATTCTCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2473
+TAGTCACGGTTGAGGCGGCAGAGACATTCAGTCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2474
+TCAGCAGTGCCGGTGCGATGGTCAGACGGTCGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2475
+GACTGTACTTCCAGCCAGGCTGTGGCAGATCAATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2476
+CTGACAGGCATCGAAATCGCCGTCGATGGCAACAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2477
+AAGACACCGGCAGCTGTAACGTCATTGCCCGCACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2478
+CTTGATAATCTCGGCATTCAATTTCTTCGGCTTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2479
+TCTCGGCGTTTATTGGTGATGAAATCCCGCAGGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2480
+CCACCAAGAAAACACGGTGCCACGTTGTCGTAATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2481
+CTGACAGTGCGGGCTTTTTTTTCGACCAAAGGTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2482
+AAATCAAAAGAAAAACTCAGGGCTCGCGCAACGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2483
+TAACCCAGCTCTTTCAGTTGCCAGATTTTGCGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2484
+CAGCTTATCGGCAAAGCGTCCGAGGTTGTTGAGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2485
+AAACTTTAACCATGTCAGACTCCTAACTTCCATGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2486
+CGAAGGGAGGTCAATTTGTCCGTCATGATAGTATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2487
+TAGCAGCTTCTGAACTGGTTACCTGCCGTGAGTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2488
+TTCATTCACGCCTGCTATTCCCGTCAGCTTGAGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2489
+CACCGCCAACGCCACCGACGCCAATCACAAACACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2490
+TTTCCAGCTGTTCTGCAGCACGGATACCCTGCCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2491
+AGCAAATTCCAGTGGCGATGACTCTGGAAAAGAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2492
+CACGACAGAGATTGAGCGTTCAGAAGATCCCTGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2493
+GCGACAGCCTCAAAGTAATAACAAATCTGCGCCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2494
+CGCCTGAACAACCCTAAAGCGATCTGGTGTCTGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2495
+CAACCTCGCATCGGGCACCTGACGCGGATCGCAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2496
+TCATCCCACGCGTCTGGAGAAAGCTGGCGACCGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2497
+GAAGATCCCTGAGCAATGGCGACAATGTTGATATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2498
+GTTGATGGAGTTAGCAGAATTCAGCCCCAGCGCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2499
+ACGCGCTTTCACTTCACCAGTGTAAGACAGTTTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2500
+GATCTTCTGCCGGAGCGTACTCTTTCTTATCGGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2501
+GAGTGTCTGATAGCAGCTTCTGAACTGGTTACCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2502
+TGATCAGGCGTTTTGCTTTCGCAATTGACGCTTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2503
+GCTGGCGACCGATCTCCGGATAACGCAACGGATCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2504
+TGAAGCCGAAGAAATTGAATGCCGAGATTATCAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2505
+AATACCTTCCAGCGGCATGTAGGTTGTGCCGTTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2506
+CCCAGGCGACAGCATCATCAATCAACTTACGGTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2507
+GGGCAACTTCCCCACGTCATTTGGTCTATTTTTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2508
+ATATTGATCTGCCACAGCCTGGCTGGAAGTACAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2509
+CAACGGGCAATATGTCTCTGTGTGGATTAAAAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2510
+TGATACCCGCCAGTTTGTCGCTGATGCGCATCAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2511
+TGTTCAGCGTTTCCGGCCCGGGGATGAAAGGGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2512
+CTCCTTTTTCCCTGTCGTTTTTCTCCATATTTTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2513
+CTGCCGGTGTCTTTGCTGATCTGCTACGTACCCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2514
+TGGCCTTAATCTGGAAAACTGGCAGGAAGAACTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2515
+TGACTCTGGAAAAGAATATGCCGATCGGTTCGGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2516
+ACTGGCTTGCAGGCCGAAACCTTCAGCGAAGACGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2517
+ATGAGCAGGTCAGCTTTGCGCAAGCCGTAACCCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2518
+TTCGCAAACAGGCGCTGATCCTTAACTTACCCGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2519
+AATCATACTTAGCGTGACCGGGAAGTCGGTCACGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2520
+TATACCTCGGAGCCGCACGCTGCCGTAGCTTATCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2521
+CTGTTGGGCAAAATCGAAATCGTCTTCGCTGAAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2522
+AACCTGCAAAATCTGCTCAATGCTGGTGATGAATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2523
+CGGCTGACCAAACCAGAGCAACTGACTGGTTTTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2524
+ACGGCGAACAGAACGCCCATCCAGCGCATCCCCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2525
+CGGCATTGACTACAAACTTAACGTTGTTCGTAGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2526
+CGCGACCACTGAACAGGCGCTGGAGCCTAAGCCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2527
+GCGCTATGTTGGCAATATTGATGAAGATGGCGTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2528
+GAAACCGTGGTTATGGGCGCAAGCTTCCGTAACAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2529
+TGCGCTGGCAATTACCGCCGGTGGACCTGGAGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2530
+CGTCGAGACTTTAATCCCCGGATACGCCAGCACCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2531
+CGGCGGTAATTGCCAGCGCAACGCCGGCCAGGTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2532
+ACCTAAGTCAATAAAATTTTAATTTACTCACGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2533
+CAAATTGGTAATAGCCATGCAGGCCATAATGATAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2534
+ATTTCGATGCCTGTCAGGCGCTGGTGAAGCAGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2535
+ACTTTTGCCAAACTGGCGGATGTAGCGAAACTGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2536
+GTTTCGTATAAAAATGGCGGGCGATATCAACGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2537
+AAGCCATATTCGCCTGGATTCAACTGGTCACGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2538
+AGCACCCACAGCCACTCATCAAACCCTGGCACTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2539
+CCTCATTGGAAAACATACTGCGCTGAAAACCGTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2540
+CGAATCTGTCACAGCTCGACGATCTCTTTGCCGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2541
+GGGCACTGCCCCAACAAACTGATGCCATGCAGGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2542
+ACACCAACGTTGGGGCTGGATTACCGGTTATTGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2543
+CCTGCCGTGAGTAAATTAAAATTTTATTGACTTAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2544
+AATCGCTTCCACGCTCTCTTTAAATTTCGCCGGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2545
+TCGCCCGCCATTTTTATACGAAACCTCATGTATGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2546
+GCGAGATCTGGACGGATGTTGACGGTGTTTATACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2547
+CGTACAGGAAACACAGAAAAAAGCCCGCACCTGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2548
+CTCAGCGTCCTTCACACCTTCCAGCGTCTCTTTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2549
+TTTGCGTTTGTCATCAGTCTGATCCCCCCGCCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2550
+TCTCTTTGCCGCGCGTGTGGCGAAGGCCCGTGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2551
+AGTTGCTCTGGTTTGGTCAGCCGATTTTCAATAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2552
+GTGTACCAGTCTTGCAGCGCGCGTGGGTAGCGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2553
+CTGCGCCGGTAAAATAGCCCTGGCTTCTGCCGTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2554
+AGAACTACCTGCAAAATCAGGAAGGTTTTGTTCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2555
+TTTCGTATAAAAATGGCGGGCGATATCAACGCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2556
+ATTTTCAATAATGAAACGACTCATCAGACCGCGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2557
+CTTGTGATATCATCAGGGCAGACCGGTTACATCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2558
+TCGTTCACGTTGGTCGCAGCAATAAAACGTTTTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2559
+AGGCTTACTGGAGCCGTTGGCGGTGACGGAACGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2560
+TTAAAGAGAGCGTGGAAGCGATTCTCGGTGAAACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2561
+AAAGCCCGCACCTGACAGTGCGGGCTTTTTTTTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2562
+GCTATTTTTAAGACTTTTGCCAAACTGGCGGATGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2563
+GGTATTTTTGCCAGCGTACCGTACTGCATTCAGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2564
+ATTGTGATCTTTCAGATTGTAGAGTTTCATTTAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2565
+TACCTTTGGTCGAAAAAAAAGCCCGCACTGTCAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2566
+GACGGCAGAAGCCAGGGCTATTTTACCGGCGCAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2567
+GGCCCTGCGCGTCGTGACGTAACGCCCGATGCGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2568
+CAGAATGATACACTGCGAAGGGAGTGACAGACAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2569
+CTCATTCTTAACGCAGCGCAGATTCCGGAATACCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2570
+GGATCGCAGTTGGTACAAAATGCAGGCTGATCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2571
+ATGGCAGCGCAGGCTGCGGAAATTACGCTAGTCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2572
+CGAGGTCGCCATGCCGATAAATGCGGCAACCCACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2573
+GAGTTGCCATCTGGTGCTCACCACGGGCGGAACTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2574
+AATGTACAGAACAGTTTTTCTTGCAGTGGACTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2575
+GCTTTACCCAATATCAGCGATGCCGAACTTATTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2576
+AACAACCCTAAAGCGATCTGGTGTCTGCGGATCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2577
+CGTGACATCGCTGCAAAGACGCGCGCCGCCATGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2578
+CCGAAATCTTTAAATGCCAGCGTTGGCCCGTGGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2579
+CTGTCGCACAGTTGCCGCAAGAAGCACGTAACCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2580
+ACCCATTAGCACCCGCATCGCCTTCTGGATAAGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2581
+TCTCTTCTTTTTACGCCTGAACAACCCTAAAGCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2582
+TGAGGCGGGAATGGGGTCGACGCCAAACGCGGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2583
+CGAATGTTCCCTCGCACAGCTTTATAAAGAACGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2584
+TTGTCGCCATTGCTCAGGGATCTTCTGAACGCTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2585
+TGGCAGCGCAGGCTGCGGAAATTACGCTAGTCCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2586
+CAGCAGAGCAACGATCGCGCGCAGCAGATCGTGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2587
+TCATTTTTTCCAGTTTTTCCTGGTCAACAGCAAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2588
+ACGGTCATCGGCGGCACCTTGTTAAGTTTTCCGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2589
+GCTGCCGGATGCGGAGGCCAGGACGCAGCTGCCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2590
+TATGCCGACTTCCTGCGCGAAGGTTTCCACGTTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2591
+TGAAAAATGGCGAAAACGCCCTGGCCTTCTATAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2592
+TGCGATGGATGTTAGCCAGCCAAACAACTGGCCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2593
+TTTTAAATCGGTGAAGCCGAAGAAATTGAATGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2594
+TGACTGAAATGAGGTTAAACCGCCTGGCTGTGGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2595
+ACAGACAGGTTTCAGAAGAGGTAGCGTGACCGACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2596
+GGCCAGGTTGCCGCTACCCACGCGCGCTGCAAGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2597
+CTGGACGGATGTTGACGGTGTTTATACCTGCGATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2598
+CCAAACAACTGGCCGCGTGTGGAAGAGTTGTTCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2599
+TGTTATCGCTGAACCCTACCGTGAACGGTTACTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2600
+TTATTTGGGCAAATTCCTGGTCGACGAAAGTTTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2601
+ATTTAGTGACCTAAGTCAATAAAATTTTAATTTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2602
+ACGCGCATCAACTTCAGTTGAGATACGGCCCGGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2603
+ACGAAACTGCCCATTGGCATCACGTTCTTTATAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2604
+GAAAAAAGCCCGCACCTGACAGTGCGGGCTTTTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2605
+GCCTGAGCGAAGGAGAACAGCAGGGTCAGGTTACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2606
+CAGCAGATGATATTCTTTCACGAGGCGAATTAAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2607
+GCGCAACGGCGTTCGCCTGAACTCCGCTGAAAATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2608
+TTACGTGGGATCTCGGCGAAATTCTTTGCCGCGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2609
+ACGCTACGAGGTACTTGGATAACTTCTGCGTAGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2610
+AGGTGATGTCTACACTGGCTTGCAGGCCGAAACCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2611
+AGCTTCTGAACTGGTTACCTGCCGTGAGTAAATTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2612
+GATGGAAACTAAGCCAATACGTAAAGTATTCATCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2613
+GTTTATACCTGCGATCCGCGTCAGGTGCCCGATGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2614
+GGAAATGGGGATACGTCTTGAGAATGCCCGAGGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2615
+AAACCCGACGCTCATATTGGCACTGGAAGCCGGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2616
+CATTAAATCGAGCGGGCGCAGTACGCCATACAAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2617
+AGTACACCACCGTAGTGGCCGACACTGGGGACATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2618
+ACAATGCGTGAGTTAAAAGAACTGGGCTATACCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2619
+AATTGAATGCCGAGATTATCAAGCCAGTGTTCCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2620
+TCCGGAGATCGGTCGCCAGCTTTCTCCAGACGCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2621
+TTACCAGCGGGGGAAAATCAAAAGAAAAACTCAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2622
+GAAAGAATATCATCTGCTGAACCCGGTCATTGTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2623
+CAGCCAGGCGGTTTAACCTCATTTCAGTCATTGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2624
+ATCAGCGATGCCGAACTTATTTTTGCCGAACTTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2625
+CTTAGCGTGACCGGGAAGTCGGTCACGCTACCTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2626
+TGTGGCAGCACAACCAGGATCCAATGGCAGTAGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2627
+CGCAACGGTCATCGGCGGCACCTTGTTAAGTTTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2628
+GGCTCTGACGGCAGCTTATCGGCAAAGCGTCCGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2629
+TGGAAATCCTGAAACTGGTTCCGGGCCGTATCTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2630
+CTGCAGCACGGATACCCTGCCAGGTAGAAGCCAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2631
+GAGAAATACTATCATGACGGACAAATTGACCTCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2632
+AATCACCAACCATCTGGTAGCGATGATTGAAAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2633
+TGGGAGCGACCAGAACCAGGGAAAGTGCGAGTACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2634
+TAAGTTGATTGATGATGCTGTCGCCTGGGCGAAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2635
+CACCATTACCACAGGTAACGGTGCGGGCTGACGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2636
+TTGGCGTCGGTGGCGTTGGCGGTGCGCTGCTGGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2637
+ATTTAAAATACTCATCTGACGCCAGATTTATCACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2638
+CAATCTGAATAACATGGCAATGTTCAGCGTTTCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2639
+CACGCCGCATCCGGCATAAACAAAGCGCACGTTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2640
+AATCGCTGGCACCCACATGGACCGCCGTCATCGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2641
+CCAGTTCTTTTAACTCACGCATTGTCTGTTGCGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2642
+TTTCATTACCGGCAGTGAAACCAGCCATCAGCACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2643
+GAAAGCGCGTCCGGCGCGTATCACTGAGTCCGAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2644
+ATTGCCTCGCCATTCATAATGTTGTTTCCACCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2645
+GCGGTGCGCTGCTGGAGCAACTGAAGCGTCAGCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2646
+TTAAAGAGAGCGTGGAAGCGATTCTCGGTGAAACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2647
+TAATCAGGCAAGGGATCTGGAACTGGGCGATGGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2648
+CGATAGCCCCTTCGCTCTCCGCCAGCTCTTTCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2649
+GCCAGTAATATCAGCATGGCGCTTGCCGTGCAGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2650
+TTTAACCAATATAGGCATAGCGCACAGACAGATAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2651
+TCTCTCATTCTTAACGCAGCGCAGATTCCGGAATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2652
+GCGTTCGCCTGAACTCCGCTGAAAATTATGCCGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2653
+ATCTCGGGCGCTTAATTCGCCTCGTGAAAGAATAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2654
+TTTCCTGCGGGATTTCATCACCAATAAACGCCGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2655
+GTTACCCTCGTGGTTATTCTGTTTGCCTTCAGCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2656
+GGCGTCGCCCGGCTCATGCAGGGGTTTGTCCCGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2657
+CGCGTCTGGAGAAAGCTGGCGACCGATCTCCGGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2658
+CCATCTCTGATCGCGCATCCAGCGGCGTTTATCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2659
+GGAACAACTCTTCCACACGCGGCCAGTTGTTTGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2660
+TGCTGGAGCAACTGAAGCGTCAGCAAAGCTGGTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2661
+AACGCTGAACATTGCCATGTTATTCAGATTGGAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2662
+AAATGGCGAAAACGCCCTGGCCTTCTATAGCCACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2663
+AGCAGATCGTGGACGCGACCGACAAACTGGCAGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2664
+ACGGAACGGCTGGCCATTATCTCGGTGGTAGGTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2665
+ATAAAAAAAGCCGGGCTGCATAAAAGCAAACCCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2666
+CCGATAAGAAAGAGTACGCTCCGGCAGAAGATCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2667
+AGCTGATCCATGAAGCGCGGAAACTGACGCCCCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2668
+CTCACGGCAGGTAACCAGTTCAGAAGCTGCTATCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2669
+TGGGCGTTCTGTTCGCCGTCTTTTTGCTCATCGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2670
+CTTGCAGGAAATTTATGCCGACTTTAGCAAAAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2671
+CCATACAAGCCGGAAAGCATTCGCAAATGCTGTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2672
+TCATTATTGAAAATCGGCTGACCAAACCAGAGCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2673
+TCACAACGTTACCGTTATCGATCCGGTCGAAAAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2674
+ACTTCTGACGGGACTCGCCGCCGCCCAGCCGGGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2675
+GGCATTCTTTCAGGTTCGCTTTCTTATATCTTCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2676
+CACGTTGGTCGCAGCAATAAAACGTTTTACCGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2677
+TAGCCACGATTATCACGATCGCCTATCTGTAATTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2678
+TGCTGTTCTCCTTCGCTCAGGCTCGTGCTTGTGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2679
+ATATTTTCTTCATAAAAAAAGCCGGGCTGCATAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2680
+AATATCAACATTGTCGCCATTGCTCAGGGATCTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2681
+CGCCGTCAAATCGCCGAAGTTTCCACTCGGTACCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2682
+CACCCTCGGCGTTAAACTCTGCGGGCAGCACAGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2683
+ATCTGCTGTAATCATACTTAGCGTGACCGGGAAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2684
+TTACTCCTTTTATCATTGCCCGTTATGGGTCGATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2685
+GACCGATCTCCGGATAACGCAACGGATCAAACACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2686
+GCACTGCCCCAACAAACTGATGCCATGCAGGACAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2687
+GAGGCAAAATCAGTCCACTGCAAGAAAAACTGTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2688
+CACGCGCGCTGCAAGACTGGTACACAATGACTGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2689
+CTTCCAGGATTTCCTGCGGGATTTCATCACCAATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2690
+TCGGGCTTAGGCTCCAGCGCCTGTTCAGTGGTCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2691
+CTGATATTACTGGCGGGTAACGGCACAACCTACAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2692
+CGAATGCTTTCCGGCTTGTATGGCGTACTGCGCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2693
+CTGGGCGATGGGGGTAATGGTGCGGGGGTGAAGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2694
+GGAAAAAGAAGGTATTAACTGTAACCTGACCCTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2695
+GCGCGCGGGCTGGGGATGCGCTGGATGGGCGTTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2696
+ATCTACTGCCATTGGATCCTGGTTGTGCTGCCACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2697
+GCCGCTGGAAGGTATTCAGCTTATCCAGAAGGCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2698
+TGTCTTACACTGGTGAAGTGAAAGCGCGTCCGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2699
+CGCTCTTCCAGGATTTCCTGCGGGATTTCATCACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2700
+TTTCTGTATCTGAAATCTACCAGTACTACAAAGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2701
+GTTCTTTTAACTCACGCATTGTCTGTTGCGTGGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2702
+TTCACGAGGCGAATTAAGCGCCCGAGATTAAACGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2703
+AGACGCGCATCAACTTCAGTTGAGATACGGCCCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2704
+ACTGTCAGGTGCGGGCTTTTTTCTGTGTTTCCTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2705
+CTCCAGTATCACCGGATGTCGCGGTCAGAATGGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2706
+GTTGAATCCAGGCGAATATGGCTTGTTCCTCGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2707
+CACCGCAGCGGAGTAGTCGGAACCGTTGCGTCCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2708
+GAATCACCCCCACCTGACGCGAAAGGATCGCAGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2709
+TCAACCAGCTTTGCTGACGCTTCAGTTGCTCCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2710
+GCCGCCAGCACCGCAGCGGAGTAGTCGGAACCGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2711
+TTGATGATGCTGTCGCCTGGGCGAAACAGCAGAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2712
+CGTAACCCAGGGGTTAGGCAAAAATCAGGGGCTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2713
+CCAGTTTGGCAAAAGTCTTAAAAATAGCATTCATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2714
+AAAGATCACAATGAGCAGGTCAGCTTTGCGCAAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2715
+CCACCTGACGCGAAAGGATCGCAGTTGGTACAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2716
+TGTTGAAGTCGATGTCCTATCAGGAAGCGATGGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2717
+CCAACCCTTCTCTCATTCTTAACGCAGCGCAGATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2718
+GATCAGCGCCTGTTTGCGAATCACCCCCACCTGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2719
+TTTCACTTCACCAGTGTAAGACAGTTTACGTTCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2720
+AATAACGATGATGCGACCACTGGCGTGCGCGTTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2721
+TGAACGAGGCGCTCGCAGCACAAGGCGATAATGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2722
+GTCGGTTGTCTGGAATTGTTCCACGGGCCAACGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2723
+ATACCTGTTACCAGCGGGGGAAAATCAAAAGAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2724
+GGGATCTCGGCGAAATTCTTTGCCGCGCTGGCCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2725
+TCTGCGCCAGCAAGCGACTGATGTTGATGGAGTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2726
+TCCGTCCAGATCTCGCAACAATCGGCGCGTAAACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2727
+GATGTTACGGAAGCTTGCGCCCATAACCACGGTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2728
+TGAAAAAACCATTAGCGGTCAGGATGCTTTACCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2729
+TCAATTTCAGTCAGGCTGAATTCCGGCAGGTCGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2730
+GCGGGTGGATTCAGCAATATCAACGGTAGATTCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2731
+CCATCGTTGCCAACTACATTTATGCCGAAAACAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2732
+GTAACAACCATGCGAGTGTTGAAGTTCGGCGGTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2733
+GCGCTGGCAATTACCGCCGGTGGACCTGGAGCCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2734
+AGGCGTTTGATGATGAAGAACTGAAAGTGGCGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2735
+ACGGGACGTGAACTGGAGCTGGCGGATATTGAAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2736
+AGGATCGCAGTTGGTACAAAATGCAGGCTGATCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2737
+CGAGGGTGATGTCGCCGCTTTTATGGCGAATCTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2738
+GCTTTTCGGCGCAGGTTGTTGGTTCACTTTTCGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2739
+CGAAGTTAGCGAATAAAAAAATCCCCCCAGGCGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2740
+GGCCAGCGCGGCAAAGAATTTCGCCGAGATCCCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2741
+GTACATTGGTGAGCAGTGCCTTCGAGTTAGCAACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2742
+CCGCTTAATGACACTCGTTTGCTGGCTTTGATGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2743
+ATCCAGCCGGCAAATATGAACAAAACCTTCCTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2744
+ATGAAAGATGTTATCGCTGAACCCTACCGTGAACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2745
+TTGCCGCCCAATGTACAGAACAGTTTTTCTTGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2746
+GCGGTAGCGAGCGGTATCTCCGGCTCCGGCCCGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2747
+AGTGCGAGTACGATAGATTGCATCTTTTTCACAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2748
+AACGGCGAGATCAGGAACACGCCCGCTTCCGCACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2749
+GGTCACTAAATACTTTAACCAATATAGGCATAGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2750
+ATCGGCTGACCAAACCAGAGCAACTGACTGGTTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2751
+CGCTCCCATGGCAGCGCAGGCTGCGGAAATTACGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2752
+TGGCAGTAACCGTTCACGGTAGGGTTCAGCGATAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2753
+CACAGTCGCTTTGCGGAACGCAGAAACTGATACTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2754
+CGGTCAAATTGGTAATAGCCATGCAGGCCATAATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2755
+CGCCCAGCCGGGATTTCCGCTGGCACAATTGAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2756
+AGATATCCATCACACTGGCGGCCGCTCGAGCATGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2757
+AAGCCTGCCAGATGTCGCCCGTGCGCAATGCAATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2758
+AGTTCCGCCCGTGGTGAGCACCAGATGGCAACTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2759
+CCGGTATTTTTAATCAGGCAAGGGATCTGGAACTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2760
+GCCGGTAATGAAAAAGGCGAGCTGGTGGTTCTGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2761
+TCCATGAAGCGCGGAAACTGACGCCCCCGCAGATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2762
+GCCGCTGCCGTTGGTACTGCGCGGATATGGTGCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2763
+GGTTTCATCATCCACGGCTGCATAACCCAGCTCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2764
+GGACATGTTTTATTTGGGCAAATTCCTGGTCGACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2765
+ACTGATGCCATGCAGGACATGTTTTATTTGGGCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2766
+AGTTCAGAAGCTGCTATCAGACACTCTTTTTTTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2767
+CAGCGTCCTTTGGGGATCGGTAATGATTTACCTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2768
+TTTGCTAAAGTCGGCATAAATTTCCTGCAAGGACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2769
+AACTGGGCGATGGGGGTAATGGTGCGGGGGTGAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2770
+GGCTTAGGCTCCAGCGCCTGTTCAGTGGTCGCGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2771
+AAACAGCCCCTGATTTTTGCCTAACCCCTGGGTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2772
+CTTATCCAGAAGGCGATGCGGGTGCTAATGGGTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2773
+AGATCAGGAACACGCCCGCTTCCGCACAAGCACGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2774
+AATTCCTGGTCGACGAAAGTTTTCAATTGTGCCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2775
+CAAATTGACCTCCCTTCGTCAGTACACCACCGTAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2776
+ATTGCCGGTCGCGATGACTTTCCTGTGTAAACGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2777
+GGTATTCGCTTTGTATCAGTCAAGAATACGGCCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2778
+GGCTGGATTACCGGTTATTGAGAACCTGCAAAATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2779
+GTGGTCACCCAAAGCGACTCAGGCGACGTTATCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2780
+AGGAAACGTGGTACGGTATCGTTCACGTTGGTCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2781
+GTCGGTGGCGTTGGCGGTGCGCTGCTGGAGCAACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2782
+GCTTTATAAAGAACGTGATGCCAATGGGCAGTTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2783
+ATACGGCGGGTGGATTCAGCAATATCAACGGTAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2784
+TTCAGTTCCAGGTAGAACTCTTCCTGCATTGCCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2785
+GCGAGATGCCAGGCTTTGGTGAACAGATGCGCCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2786
+GCTTTTCATTCTGACTGCAACGGGCAATATGTCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2787
+ATCTGCCACAGCCTGGCTGGAAGTACAGTCAACAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2788
+AAACTCCGCACCCCAGGAACCCATTAGCACCCGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2789
+TCGATGAGAAGAACGGCAAATTTAAGATCATCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2790
+ACGCCCGATGCGACGCTGGCAGTAGCGGACCGCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2791
+AGCGACCAGAACCAGGGAAAGTGCGAGTACGATAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2792
+CATCGCATTGGATAACGTCGCCTGAGTCGCTTTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2793
+CTGGTCGACGAAAGTTTTCAATTGTGCCAGCGGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2794
+TTGGGTAAGAACTACCTGCAAAATCAGGAAGGTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2795
+GTATCAATTCTGGGGAGATATCATCACCAACAAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2796
+ATTCTGTTTGCCTTCAGCTCCATCGTTGCCAACTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2797
+ATCATCGTGGCGATCATCGTCCGGGGCCTGACAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2798
+CACGATTTTGTAGGCCGGATAAGGCGTTCACGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2799
+TCGATCCGGTCGAAAAACTGCTGGCAGTGGGTCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2800
+GCGACTCAGGCGACGTTATCCAATGCGATGGATGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2801
+AAGTTCTCCGGCATTCTTTCAGGTTCGCTTTCTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2802
+TATTGAATTTGCACGATTTTGTAGGCCGGATAAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2803
+TCCGGTGATACTGGAGCGGCAGTGGCTCATGCTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2804
+CGCATTTATCGGCATGGCGACCTCGTTTGCCGAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2805
+CACCGTCCTCTCTGCCCCCGCCAAAATCACCAACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2806
+TTGACTTAGGTCACTAAATACTTTAACCAATATAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2807
+AGGCGGGAATGGGGTCGACGCCAAACGCGGCAGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2808
+CGGGTCCGGTTCGGTATAACCCATTTCCCGCGCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2809
+CTGTTAATAAAGGAGAAAAAATCTGGCATGCATAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2810
+TACACTGCGAAGGGAGTGACAGACAGGTTTCAGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2811
+ACACGGTGCCACGTTGTCGTAATGAATGCTGCCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2812
+TTATGGCACAAATGCTGACCCATATTGCGGGCGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2813
+CATCAAACCCGACGCTCATATTGGCACTGGAAGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2814
+TTGGCAAAAGTCTTAAAAATAGCATTCATCCACAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2815
+CTATCTGTAATTTTACTGACGGGACTAGCGTAATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2816
+ATTACCAATTTGACCGCCATATTACTGCTCTCGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2817
+GAAGTCTATTAAAGAGACGCTGGAAGGTGTGAAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2818
+ATTTCTCTTTAAACAGCTTGTTAGGGGGATGTAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2819
+GCGAGATGCCAGGCTTTGGTGAACAGATGCGCCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2820
+GCTGATTCTTATTTCACCTGCGAAAACGCTTGATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2821
+ATTACGCTAGTCCCGTCAGTAAAATTACAGATAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2822
+TCAACAATGACCGGGTTCAGCAGATGATATTCTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2823
+TCCCTCGCACAGCTTTATAAAGAACGTGATGCCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2824
+ACGCGCTATACGCTGCCGGAGCTGTTAGACAACGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2825
+ATTCAGTCTCAACAACCTCGGACGCTTTGCCGATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2826
+CCACGGCTGGTGGAAACAACATTATGAATGGCGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2827
+ACCGACATCGCTTTCAACATTGGCGACCGGAGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2828
+TTGGGGATTTCCGGTATTTTTAATCAGGCAAGGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2829
+CGAAGTTAGCGAATAAAAAAATCCCCCCAGGCGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2830
+CTGTTCAGTGGTCGCGGCGCTGATGGCGATGAATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2831
+AGATGCTGAAGCTGGATTTTGTCACCCGCAGTGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2832
+TGGATCCTGGTTGTGCTGCCACAGGAACTCGGACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2833
+TTTAAACGCCAGAATTGCCTGGCGGGCATTCTCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2834
+ACAACGTGCGCTTTGTTTATGCCGGATGCGGCGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2835
+CAGCAGCGCACCGCCAACGCCACCGACGCCAATCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2836
+GCTCACCAATGTACATGGCCTTAATCTGGAAAACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2837
+GGAAGGTATCCGTAAGTTTGCTGTTGACCAGGAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2838
+GATGGTAGTAATCCATCGACGAGGTGTTGGCCTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2839
+AGCACGTAACCAGTTGGTTGTCTCGGTACCGAGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2840
+TTGATACAGCTTCATTGCCGCGATGTCCCCAGTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2841
+CAGCTTTCTCCAGACGCGTGGGATGATGTTTCGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2842
+CGCTACGCTTATCAGGCCTACGATCTTCTTGCAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2843
+AGCTGATGATCTTAAATTTGCCGTTCTTCTCATCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2844
+CTTTGTTTATGCCGGATGCGGCGTGAACGCCTTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2845
+TTGATGAAGATGGCGTCTGCCGCGTGAAGATTGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2846
+ATCCCCGGATACGCCAGCACCCACAGCCACTCATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2847
+CGGAAGGTATCCGTAAGTTTGCTGTTGACCAGGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2848
+GTTGACCACCACGCGCTATACGCTGCCGGAGCTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2849
+CGCGAAGGTTTCCACGTTGTTACGCCGAACAAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2850
+GCTGACGGGAATAGCAGGCGTGAATGAAGCCTGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2851
+ACCCTCGGCGTTAAACTCTGCGGGCAGCACAGGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2852
+CCGCTCGCTACCGCGCCGATTTCCGCAACCGCCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2853
+GCCGTCATCGCCGCGCCATAACAAGCACAATGATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2854
+CTCGCCACGGCAAATCAGCGCAGCGTTGATGCTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2855
+GTTACCTCGTTACCTTTGGTCGAAAAAAAAGCCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2856
+CTTTGGTAATCAAGCGTTTTCGCAGGTGAAATAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2857
+AGATAATGGCCAGCCGTTCCGTCACCGCCAACGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2858
+CAAGAAGATCGTAGGCCTGATAAGCGTAGCGCATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2859
+TCCGGCCTACAAAATCGTGCAAATTCAATATATTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2860
+CCACGATGATCATTGTGCTTGTTATGGCGCGGCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2861
+CTTACGTGTCTGCGGTGTTGCTAACTCGAAGGCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2862
+CGTTCAGAAGATCCCTGAGCAATGGCGACAATGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2863
+TCGCCGTCTTTTTGCTCATCGCCTACGGCATAATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2864
+TCTTATCGGTATTCGCTTTGTATCAGTCAAGAATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2865
+GCTGACCCATATTGCGGGCGATAAGCCAGTGACCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2866
+TCTCCCCAGAATTGATACAGATCTTTCCCTCGGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2867
+TTACCTGCCGTGAGTAAATTAAAATTTTATTGACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2868
+CTAACGGTTTTCAGCGCAGTATGTTTTCCAATGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2869
+TATGCAGCCCGGCTTTTTTTATGAAGAAAATATGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2870
+CTTCGGCGATTTGACGGCGGGTCTGCTGGCGAAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2871
+GAATGGCTGACATCGGCGCTAACCACGCCGTTTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2872
+CGCACGCTGCCGTAGCTTATCGTGCGCTGCGTGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2873
+ATCCCCGGATACGCCAGCACCCACAGCCACTCATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2874
+ATTATGGCCGGCGTGTTAGAAGCGCGTGGTCACAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2875
+TCCCGTCAGCTTGAGCTTGCCGCGAAGCTGATGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2876
+ACCAATATTTACTGCCAGTTTGTCGGTCGCGTCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2877
+GACTGGTACACAATGACTGAAATGAGGTTAAACCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2878
+GGGTGATGTCGCCGCTTTTATGGCGAATCTGTCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2879
+GCAGTGGACTGATTTTGCCTCGTGGATAGAGGATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2880
+GGCTTCCGGCAGGCGCGGCAGGCGGTTGCGGAAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2881
+TACCCGGTCAACCGAAGTCTATTAAAGAGACGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2882
+GTTCTTTATAAAGCTGTGCGAGGGAACATTCGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2883
+CTGCTGAAAGAGCTGGCGGAGAGCGAAGGGGCTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2884
+CGAAGTATATAACGCTACGAGGTACTTGGATAACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2885
+CAATTTACGCAACGCAGCAAAATCGGCGGGCAGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2886
+TGACTGTACTTCCAGCCAGGCTGTGGCAGATCAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2887
+CGTAATGAATGCTGCCGGAGATACGCCCTTCCAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2888
+GCACAAATCCGGTACGAAAAGTGAACCAACAACCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2889
+CGGTACGAAAAGTGAACCAACAACCTGCGCCGAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2890
+GTAAGCTATTGATTCTCGCTCGTGAAACGGGACGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2891
+AACTAAATGAAACTCTACAATCTGAAAGATCACAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2892
+GCCCGGTGTTTGATCCGTTGCGTTATCCGGAGATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2893
+ATTCCCGCCTCATTGGAAAACATACTGCGCTGAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2894
+ACCTCTTCTGAAACCTGTCTGTCACTCCCTTCGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2895
+TCCCACGCGTCTGGAGAAAGCTGGCGACCGATCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2896
+GAGGCGCTCGCAGCACAAGGCGATAATGTGGTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2897
+TGACGCTTCGGTGTCATAGGAAAGACGCGCATCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2898
+TGACGCTTCGGTGTCATAGGAAAGACGCGCATCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2899
+CAATTGAAAACTTTCGTCGACCAGGAATTTGCCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2900
+GAAATCCTGGAAGAGCGCGTACGTGCGGCGTTTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2901
+TACTGGTAGATTTCAGATACAGAAACCACGCCCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2902
+GCGTTGATACCCGCCAGTTTGTCGCTGATGCGCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2903
+TGATTACAGCAGATCGCCGATCATTTTTTCCAGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2904
+AAGAACTGGGCTATACCTCGGAGCCGCACGCTGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2905
+CTCTAAGTTACCGCATTTATTGAGAATTTCTCCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2906
+CAACATCAGTCGCTTGCTGGCGCAGATTTGTTATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2907
+TGTACAGAACAGTTTTTCTTGCAGTGGACTGATTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2908
+AGCAGTAATATGGCGGTCAAATTGGTAATAGCCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2909
+GAATCTGTCACAGCTCGACGATCTCTTTGCCGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2910
+CGGTCGCAGCCTGCCAGTTCCAGAATTTCGCCGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2911
+GGCTGCATAACCCAGCTCTTTCAGTTGCCAGATTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2912
+TCTTAAAAATAGCATTCATCCACAGCCAGGCGGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2913
+ATGGCCGGCGTGTTAGAAGCGCGTGGTCACAACGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2914
+TGATGGCGATGAATGAACACTGCGGCAAGCCGCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2915
+CCGCAGAGTTTAACGCCGAGGGTGATGTCGCCGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2916
+CGGTCAACCGAAGTCTATTAAAGAGACGCTGGAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2917
+GTTTGCTCGATGATCGCCTGCTCATCGGGGATTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2918
+TGGCATCTCGCGGTCCGCTACTGCCAGCGTCGCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2919
+CGAAATCGTCTTCGCTGAAGGTTTCGGCCTGCAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2920
+AGTATATAACGCTACGAGGTACTTGGATAACTTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2921
+GAAGATGATTGCGTAATCAGCACCACGGAAATACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2922
+ATCAGCATATCCAGTCCTTGCAGGAAATTTATGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2923
+CGCCAGATTTATCACCACATTATCGCCTTGTGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2924
+CTTTGATGGGCGAGTTGGAAGGGCGTATCTCCGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2925
+TCGCATAACCTGCCCGCCGATTTTGCTGCGTTGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2926
+CTAATTGTTAAGCTCCCCCCGCTCGAAGGGATAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2927
+TTGTGTGAACTGGTGGATGAAATGAGTTGCCATCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2928
+CGCGCCATAACAAGCACAATGATCATCGTGGCGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2929
+TCTGTGCGCTATGCCTATATTGGTTAAAGTATTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2930
+GCGGCAGTGGCTCATGCTTTCTACGGTTTACCGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2931
+TTGATCTGCCACAGCCTGGCTGGAAGTACAGTCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2932
+GGCGACCGATCTCCGGATAACGCAACGGATCAAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2933
+TGCGAGCGCCTCGTTCAGCTTGTTGGTGATGATAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2934
+CGTTAAACTCTGCGGGCAGCACAGGTTCAATTTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2935
+GTTGTGTACTCTGTAATTTTTATCTGTCTGTGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2936
+ATCTCGGCATTCAATTTCTTCGGCTTCACCGATTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2937
+AGGATCCAATGGCAGTAGATAAACTGGCGGAAGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2938
+ATCAGTCTGATCCCCCCGCCTGGGGGGATTTTTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2939
+AGTTTCTGCGTTCCGCAAAGCGACTGTGTGCGAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2940
+GAGATATCATCACCAACAAGCTGAACGAGGCGCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2941
+CAGCCAGGCGGTTTAACCTCATTTCAGTCATTGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2942
+ACAGAAACCACGCCCGGATCTTCTGCCGGAGCGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2943
+CAGCTGATCCATGAAGCGCGGAAACTGACGCCCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2944
+TACGCTTATCAGGCCTACGATCTTCTTGCAATATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2945
+GACAGACAGGTTTCAGAAGAGGTAGCGTGACCGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2946
+AAATGGCGGGCGATATCAACGCAGCGAATTGGGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2947
+GGCGATAAGCCAGTGACCATTCTGACCGCGACATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2948
+AGGCTTACTGGAGCCGTTGGCGGTGACGGAACGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2949
+GCAGAACGTTTTCTGCGGGTTGCCGATATTCTGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2950
+TAACATCCATCGCATTGGATAACGTCGCCTGAGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2951
+CAGGAATTTGCCCAAATAAAACATGTCCTGCATGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2952
+AAGCGATGGAGCTTTCTTACTTCGGCGCTAAAGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2953
+AAGACAGTTTACGTTCGATAGCCCCTTCGCTCTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2954
+GGGTCATTACCTCGAATCTACCGTTGATATTGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2955
+ACCGCCATATTACTGCTCTCGCCTGTGGTTCATAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2956
+CCAGAGTCATCGCCACTGGAATTTGCTTGCCAAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2957
+CGCGCCAATATCAACATTGTCGCCATTGCTCAGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2958
+GTAATTGCCAGCGCAACGCCGGCCAGGTTGCCGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2959
+TTAGACGAAGGCATGAGTTTCTCCGAGGCGACCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2960
+GCACCGTGTTTTCTTGGTGGTATGCAGTTGATGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2961
+ATCATTACCGATCCCCAAAGGACGCTGTTAATAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2962
+TCCTTTTATCATTGCCCGTTATGGGTCGATATCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2963
+AAAACCAGTCAGTTGCTCTGGTTTGGTCAGCCGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2964
+CACGACGGTCAGTGGTCACCCAAAGCGACTCAGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2965
+CGGCAGCGCAAGGAATTGTCCAGATGATTGGCATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2966
+TTATCAGGATAAAGGCATCCCTGCGCTGGAAGAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2967
+AACCCATTTCCCGCGCCAGTGTGGTCGCCTCGGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2968
+CTCGCTACCGCGCCGATTTCCGCAACCGCCTGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2969
+TCCAGGTCCACCGGCGGTAATTGCCAGCGCAACGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2970
+ACCGGCAATAAGAGGGATATGCATGCCAGATTTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2971
+ACTAAATGAAACTCTACAATCTGAAAGATCACAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2972
+GAAAGAGCTGGGTTATGCAGCCGTGGATGATGAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2973
+GGTTGTGCTGCCACAGGAACTCGGACTCAGTGATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2974
+AGGCGCTCGCAGCACAAGGCGATAATGTGGTGATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2975
+GCCATAAAAGCGGCGACATCACCCTCGGCGTTAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2976
+CCGAGTTCCTGTGGCAGCACAACCAGGATCCAATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2977
+TCGTTACCTTTGGTCGAAAAAAAAGCCCGCACTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2978
+GTGCCAGCCGTGATGAAGACGAATTACCGGTCAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2979
+GGAGATACCGCTCGCTACCGCGCCGATTTCCGCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2980
+CCGCAAAATCTGGCAACTGAAAGAGCTGGGTTATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2981
+TTGGCAAAAGTCTTAAAAATAGCATTCATCCACAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2982
+CGTGCTTCTTGCGGCAACTGTGCGACAGCCTCAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2983
+CCGGGCACTGCCCCAACAAACTGATGCCATGCAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2984
+ATTTTGTCACCCGCAGTGCGAAGATCCTCTCGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2985
+GTGCGGAAGCGGGCGTGTTCCTGATCTCGCCGTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2986
+TTCCCTGTCGTTTTTCTCCATATTTTCTTCATAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2987
+GAAAGCGCGTCCGGCGCGTATCACTGAGTCCGAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2988
+GGTTGCCGATATTCTGGAAAGCAATGCCAGGCAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2989
+GATGCGCGTCTTTCCTATGACACCGAAGCGTCAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2990
+ATGATGTTTGTCAGGCCCCGGACGATGATCGCCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2991
+CGATTATCACGATCGCCTATCTGTAATTTTACTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2992
+CTGAAATTGATGAGATGCTGAAGCTGGATTTTGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2993
+GGGCGCGTGACATCGCTGCAAAGACGCGCGCCGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2994
+AAACTGTTGCCATCGACGGCGATTTCGATGCCTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2995
+GCTCCGGCCCGACTTTGTTCGCTCTGTGTGACAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2996
+TATTACTGGGATGGCGGTCATTGGGGCGACCACGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2997
+GCCTTTATCCTGATAAACGCCGCTGGATGCGCGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2998
+TTCAACATTGGCGACCGGAGCCGGGAAGGCAAACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2999
+TTTATGGCACAAATGCTGACCCATATTGCGGGCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3000
+CCGTTGATATTGCTGAATCCACCCGCCGTATTGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3001
+CGTCTTGAGAATGCCCGAGGGAAAGATCTGTATCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3002
+AGTGAACCAACAACCTGCGCCGAAAAGCAGGTAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3003
+CAACGTGGAAACCTTCGCGCAGGAAGTCGGCATAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3004
+CCGGACGATGATCGCCACGATGATCATTGTGCTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3005
+CGTGGTCACAACGTTACCGTTATCGATCCGGTCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3006
+CCATAAAGCGACCGCCGAAATCTTTAAATGCCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3007
+AAGGGAGGTCAATTTGTCCGTCATGATAGTATTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3008
+CAACTGTGCGACAGCCTCAAAGTAATAACAAATCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3009
+GTTTCATTATTGAAAATCGGCTGACCAAACCAGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3010
+GATGATGAAGAACTGAAAGTGGCGCTGGGGCTGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3011
+TGCCAGCGCAACGCCGGCCAGGTTGCCGCTACCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3012
+TTGTGCCGTTACCCGCCAGTAATATCAGCATGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3013
+TGGGGCTGGATTACCGGTTATTGAGAACCTGCAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3014
+CGTCGTGACGTAACGCCCGATGCGACGCTGGCAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3015
+TTCATAAAAAAAGCCGGGCTGCATAAAAGCAAACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3016
+ACTAGCGTAATTTCCGCAGCCTGCGCTGCCATGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3017
+CTCTTTGCCGCGCGTGTGGCGAAGGCCCGTGATGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3018
+GGAAGCGATTCTCGGTGAAACGTTGGATCTGCCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3019
+AACCCACATCCAGAAGACGGCTCCAGGTCCACCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3020
+CACCACGGAAATACGGGCGCGTGACATCGCTGCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3021
+TTCCACGGGCCAACGCTGGCATTTAAAGATTTCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3022
+CCGGATCGATAACGGTAACGTTGTGACCACGCGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3023
+GGCTGCATTAAATCGAGCGGGCGCAGTACGCCATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3024
+CCCGCCATTTTTATACGAAACCTCATGTATGCTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3025
+TCCGGCAGGTCGTGCGGAAAAAACAGCCCCTGATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3026
+ACGCCATGAAGACCGCGAGTGATCGCCAGCAGAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3027
+AAGAGTTGTTCCGCCGCAAAATCTGGCAACTGAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3028
+GCGGTGCTGGCGGCCTGTTTACGCGCCGATTGTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3029
+CGTCTTTGCAGCGATGTCACGCGCCCGTATTTCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3030
+CTGGAGCCTAAGCCCGAACCGATCGGCATATTCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3031
+ACCCCATTCCCGCCTCATTGGAAAACATACTGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3032
+AGTGTCTGATAGCAGCTTCTGAACTGGTTACCTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3033
+AGGTTGTTGGTTCACTTTTCGTACCGGATTTGTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3034
+TGGTCACTGGCTTATCGCCCGCAATATGGGTCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3035
+CGTGGTCAATAACGATGATGCGACCACTGGCGTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3036
+CTAATTGTTAAGCTCCCCCCGCTCGAAGGGATAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3037
+TGACGTGGGGAAGTTGCCCGATATTCATTACGCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3038
+GGCGGCGAGTCCCGTCAGAAGTTCGGCAAAAATAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3039
+CTTGCCGAAGATATAAGAAAGCGAACCTGAAAGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3040
+GCAAGGGATCTGGAACTGGGCGATGGGGGTAATGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3041
+CCAAAAGCACTCTCAAAAATAGACCAAATGACGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3042
+ATGCGTTTCATGGATGTTGTGTACTCTGTAATTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3043
+AAAGATGCAATCTATCGTACTCGCACTTTCCCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3044
+CTGATGATTCATCATCAATTTACGCAACGCAGCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3045
+TGTAAACGTTACCAATTGTTTACGAAGTATATAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3046
+ACCAGTCAGTTGCTCTGGTTTGGTCAGCCGATTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3047
+TAGCGTGACCGACTTCCCGGTCACGCTAAGTATGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3048
+GTACCGAGTGGAAACTTCGGCGATTTGACGGCGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3049
+ATGAGGCGGGAATGGGGTCGACGCCAAACGCGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3050
+CGCTTCCACGCTCTCTTTAAATTTCGCCGGATGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3051
+ACGAGGTAACAACCATGCGAGTGTTGAAGTTCGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3052
+GGGCGACATCTGGCAGGCTTCATTCACGCCTGCTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3053
+GTTGCTCTGCTGTTTCGCCCAGGCGACAGCATCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3054
+AATTCCTTGCGCTGCCGGATGCGGAGGCCAGGACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3055
+GTGGTTATGGGCGCAAGCTTCCGTAACATCGGCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3056
+TCAGTCTCAACAACCTCGGACGCTTTGCCGATAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3057
+CAGAGATGGAAACTAAGCCAATACGTAAAGTATTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3058
+TTTTGGCGGGGGCAGAGAGGACGGTGGCCACCTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3059
+TGTCCAGATGATTGGCATTTTTATCGACACCCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3060
+CTGAACTCCGCTGAAAATTATGCCGTAGGCGATGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3061
+GCGGGTATCAACGCCGCTCGCTTTCATGACTGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3062
+ATGCCCGCCAGGCAATTCTGGCGTTTAAAGGTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3063
+TTTCAGTTCCAGGTAGAACTCTTCCTGCATTGCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3064
+ACGCTGCCGTAGCTTATCGTGCGCTGCGTGACCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3065
+AGCAACACCGCAGACACGTAAGTCGATATGTTTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3066
+CGCAAAACTGCCTGATGCGCTACGCTTATCAGGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3067
+GTCAGTACCCAGATTATCGCCATCAACGGGACAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3068
+TCTCGCGGGTCCGGTTCGGTATAACCCATTTCCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3069
+TACCGCTCGCTACCGCGCCGATTTCCGCAACCGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3070
+GTTCACGTCCCGTTTCACGAGCGAGAATCAATAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3071
+CATCCCACGCGTCTGGAGAAAGCTGGCGACCGATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3072
+GCTGGCTAACATCCATCGCATTGGATAACGTCGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3073
+TGGTGCGGGGGTGAAGAACTTTAGCGCCGAAGTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3074
+AGTAAATTAAAATTTTATTGACTTAGGTCACTAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3075
+TAATGACACTCGTTTGCTGGCTTTGATGGGCGAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3076
+GTATTGGCTTAGTTTCCATCTCTGATCGCGCATCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3077
+ATCTCCGGCAGCATTCATTACGACAACGTGGCACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3078
+TTTCACTGCCGGTAATGAAAAAGGCGAGCTGGTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3079
+GGTTATGCGAAAGCAAGGGTAAATCAGCACGTTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3080
+GCATCTCGCGGTCCGCTACTGCCAGCGTCGCATCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3081
+CTGATCGGTATTGAACAGCATCTGATGAGTAACGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3082
+GACAATGTTGATATTGGCGCGGGCCAGCGCGGCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3083
+GTGAAAAAGATGCAATCTATCGTACTCGCACTTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3084
+TGTTAGAAGCGCGTGGTCACAACGTTACCGTTATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3085
+GCCGAAGATATAAGAAAGCGAACCTGAAAGAATGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3086
+TACTTCGGCGCTAAAGTTCTTCACCCCCGCACCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3087
+GTCACGCAGCGCACGATAAGCTACGGCAGCGTGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3088
+GAATTCAGCCCCAGCGCCACTTTCAGTTCTTCATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3089
+CGAAGCTGATGAAAGATGTTATCGCTGAACCCTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3090
+CTCCTGGCAAAAACGCTCCCAGCACTGATAAACGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3091
+ACGTCGCCTGAGTCGCTTTGGGTGACCACTGACCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3092
+ACGTCTTGAGAATGCCCGAGGGAAAGATCTGTATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3093
+CCATTACCACAGGTAACGGTGCGGGCTGACGCGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3094
+GGAAGCTTGCGCCCATAACCACGGTTTCATAACCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3095
+CGCTCTCCGCCAGCTCTTTCAGCAGTGCCGGTGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3096
+CAATCAACTTACGGTATTCCGGAATCTGCGCTGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3097
+GTGTTTCCTGTACGCGTCAGCCCGCACCGTTACCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3098
+TTCTTCGGCTTCACCGATTTAAAATACTCATCTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3099
+GGAGATCGGTCGCCAGCTTTCTCCAGACGCGTGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3100
+TGTACATTGGGCGGCAATATCGAAACTGTTGCCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3101
+TCGCAAATGCTGTTGGGCAAAATCGAAATCGTCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3102
+AACGGCGTTCGCCTGAACTCCGCTGAAAATTATGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3103
+TGATTTTTGCCTAACCCCTGGGTTACGGCTTGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3104
+CTTCTCATCGAGGAACACTGGCTTGATAATCTCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3105
+GTTCCAGAATTTCGCCGATGTTACGGAAGCTTGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3106
+GCACCGTTACCTGTGGTAATGGTGATGGTGGTGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3107
+TGTTACCAGCGGGGGAAAATCAAAAGAAAAACTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3108
+TTTGTCACCCGCAGTGCGAAGATCCTCTCGGCGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3109
+TTATTGAAAATCGGCTGACCAAACCAGAGCAACTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3110
+CAGGAAAAACTGGAAAAAATGATCGGCGATCTGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3111
+AAGCCGGATACCGCCCAGCGCGTTGCCGACTGGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3112
+ACATTCGGTAAACCGTAGAAAGCATGAGCCACTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3113
+GAACGGTTACTGCCAGGCTTCCGGCAGGCGCGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3114
+TTGCTCTGGTTTGGTCAGCCGATTTTCAATAATGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3115
+CCGAGCAATGCACCATCAACAGGTGTCACCGCCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3116
+TGCTTGTGCGGAAGCGGGCGTGTTCCTGATCTCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3117
+GTTTGATGATGAAGAACTGAAAGTGGCGCTGGGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3118
+TGAACTGGAGCTGGCGGATATTGAAATTGAACCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3119
+GAACGTTTTCTGCGGGTTGCCGATATTCTGGAAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3120
+TGTGATGGATATCTGCAGAATTCGCCCTTGTGATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3121
+TCCAGATGATTGGCATTTTTATCGACACCCTGGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3122
+GTTATTGACCACGACAGAGATTGAGCGTTCAGAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3123
+CCGCCGCGCCGCCTGCAGCTTCCTGCCAGCCAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3124
+ATCATGACGGACAAATTGACCTCCCTTCGTCAGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3125
+TTTTCATTACCGGCAGTGAAACCAGCCATCAGCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3126
+ATATCCAGTCCTTGCAGGAAATTTATGCCGACTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3127
+GTCAGCCGGAATGCGGCTTGCCGCAATACGGCGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3128
+AGGACATCGACTTCAACAACCTCGCATCGGGCACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3129
+CCCCAGGAACCCATTAGCACCCGCATCGCCTTCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3130
+ATGGCATCAGTTTGTTGGGGCAGTGCCCGGATAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3131
+TTGCTCGATGATCGCCTGCTCATCGGGGATTAAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3132
+GGGTAAATCAGCACGTTCTGCCAGCTCTTTTGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3133
+ATTCGCTGCGTTGATATCGCCCGCCATTTTTATAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3134
+TCATGATAGTATTTCTCTTTAAACAGCTTGTTAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3135
+ATTGATATTTAGCGATGATGTTTGTCAGGCCCCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3136
+ACGGTGCGGGCTGACGCGTACAGGAAACACAGAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3137
+TTTTTGAGAGTGCTTTTGGCTGGCAGGAAGCTGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3138
+GGCAAGCAAATTCCAGTGGCGATGACTCTGGAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3139
+ATTAAAATTTTATTGACTTAGGTCACTAAATACTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3140
+TGCCAGCGTACCGTACTGCATTCAGTTGCTGGAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3141
+CATCATCCACGGCTGCATAACCCAGCTCTTTCAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3142
+TGGGGACATCGCGGCAATGAAGCTGTATCAACCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3143
+CTCTGCCGCCTCAACCGTGACTACATCTCCGAGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3144
+AGCTGTTAGACAACGCCCAGCAGCTGATCCATGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3145
+CGCGGGAAATGGGTTATACCGAACCGGACCCGCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3146
+CATAACGCAACTGATGGTAGTAATCCATCGACGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3147
+CGCAAAACTTTTCCTTCATCACGGGCCTTCGCCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3148
+GCGCACGCCAGTGGTCGCATCATCGTTATTGACCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3149
+TCTCGCCACGGCAAATCAGCGCAGCGTTGATGCTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3150
+GCCAGCGCGGCAAAGAATTTCGCCGAGATCCCACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3151
+ACACGCCCGCTTCCGCACAAGCACGAGCCTGAGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3152
+GCGTGACATCGCTGCAAAGACGCGCGCCGCCATGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3153
+GCTATCAGACACTCTTTTTTTAATCCACACAGAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3154
+CGCTTGATTACCAAAGCCCGTTGACCACCACGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3155
+ATCAACCGCAGGATGCCACAACCAACCCTTCTCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3156
+CCGGTCCGCCACGAAACTGCCCATTGGCATCACGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3157
+AGGTTGTTGAAGTCGATGTCCTATCAGGAAGCGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3158
+TTTCCGGTATTTTTAATCAGGCAAGGGATCTGGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3159
+TTGCCATGTTATTCAGATTGGAAATGCCCTTGACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3160
+TCCTTGCAGGAAATTTATGCCGACTTTAGCAAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3161
+TGATGCTATCCGGGCACTGCCCCAACAAACTGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3162
+AAGTTATCCAAGTACCTCGTAGCGTTATATACTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3163
+GACACGTAAGTCGATATGTTTATTCTTCAACCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3164
+GAGTAATCACAACTATCGATCAACTCATTCTCTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3165
+TTGGCCTTTTTGTTCGGCGTAACAACGTGGAAACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3166
+ATCTATTCATTATCTCAATCAGGCCGGGTTTGCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3167
+CCGAGGGTGATGTCGCCGCTTTTATGGCGAATCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3168
+AGCGTGACCGGGAAGTCGGTCACGCTACCTCTTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3169
+GGAAAACATACTGCGCTGAAAACCGTTAGTAATCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3170
+TACAGATAGGCGATCGTGATAATCGTGGCTATTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3171
+GCAGGGGCAGGTGGCCACCGTCCTCTCTGCCCCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3172
+GACCACATGGTGCTGATGGCTGGTTTCACTGCCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3173
+CGCTGCGTGACCAGTTGAATCCAGGCGAATATGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3174
+GTCGATATGTTTATTCTTCAACCAGCTTTGCTGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3175
+TTTTAAATCGGTGAAGCCGAAGAAATTGAATGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3176
+CCAGAAAGATCATCTCGCGGGTCCGGTTCGGTATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3177
+ATGTGGCAACTGGCAGATATCATTATGGCCTGCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3178
+CGCGCCACATCCATGCCAGAAAGATCATCTCGCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3179
+TGCGCATCAGCGACAAACTGGCGGGTATCAACGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3180
+TCTTCATGGCGTCGCCCGGCTCATGCAGGGGTTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3181
+GTTGCCATCTGGTGCTCACCACGGGCGGAACTGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3182
+TGCCGCGCTGGCCCGCGCCAATATCAACATTGTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3183
+CCCTTGCTTTCGCATAACCTGCCCGCCGATTTTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3184
+CTTCTAACACGCCGGCCATAATGGCGATCGACATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3185
+AGCATGGTTATGAAACCGTGGTTATGGGCGCAAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3186
+CCAGTCGGCAACGCGCTGGGCGGTATCCGGCTTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3187
+TTTTCACAGGTTACTCCTTTTATCATTGCCCGTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3188
+CATCAACGCTGCGCTGATTTGCCGTGGCGAGAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3189
+CAACCGTGACTACATCTCCGAGCAATGCACCATCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3190
+GCTTGCGCCCATAACCACGGTTTCATAACCATGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3191
+CGCGGCAGCGGCAGCTGCGTCCTGGCCTCCGCATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3192
+TATTCTCCGCAATCCTAATCTCTAAGTTACCGCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3193
+TCCGCCAGTTTGGCAAAAGTCTTAAAAATAGCATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3194
+GCTGCATAACCCAGCTCTTTCAGTTGCCAGATTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3195
+CGAACGTAAACTGTCTTACACTGGTGAAGTGAAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3196
+TAGCTTATCGTGCGCTGCGTGACCAGTTGAATCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3197
+CCGAATGTGAAAGTGGTTATCCTCTATCCACGAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3198
+GTAATGGTGGTGCTAATGCGTTTCATGGATGTTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3199
+CTGGGGGGATTTTTTTATTCGCTAACTTCGCGTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3200
+ATAAAGAACGTGATGCCAATGGGCAGTTTCGTGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3201
+TTGATGAGTGGCTGTGGGTGCTGGCGTATCCGGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3202
+AGGTTGTTGGTTCACTTTTCGTACCGGATTTGTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3203
+TACCGTAAGTTGATTGATGATGCTGTCGCCTGGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3204
+AGCCGTGATGAAGACGAATTACCGGTCAAGGGCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3205
+CCGGATACCGCCCAGCGCGTTGCCGACTGGTTGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3206
+TAGGCCTGATAAGCGTAGCGCATCAGGCAGTTTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3207
+AGGCTGAATTCCGGCAGGTCGTGCGGAAAAAACAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3208
+TGCCGAACTTATTTTTGCCGAACTTCTGACGGGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3209
+ACTTAGAGATTAGGATTGCGGAGAATAACAACTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3210
+CATCCCCCTAACAAGCTGTTTAAAGAGAAATACTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3211
+GAACCCTACCGTGAACGGTTACTGCCAGGCTTCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3212
+GAGCGAGAATCAATAGCTTACGCGCCACATCCATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3213
+CTGCCACAGCCTGGCTGGAAGTACAGTCAACAATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3214
+TTTGGTGAACAGATGCGCCAGATCAGCCTGCATTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3215
+AAATTTGGCTGCCAGTCATGAAAGCGAGCGGCGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3216
+CCGCCGATGACCGTTGCGAAGGTGCAGATCCGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3217
+ACAACGTTACCGTTATCGATCCGGTCGAAAAACTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3218
+TCAGTTCTTCATCATCAAACGCCTGCTTCACCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3219
+AAGTTTGTAGTCAATGCCGGATAATGCCGGATGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3220
+ACCGCCATATTACTGCTCTCGCCTGTGGTTCATAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3221
+TTTGGCTTGCGCCAGTTCTTCCTGCCAGTTTTCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3222
+CGAAGAGTGCAAGACGCGAAGTTAGCGAATAAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3223
+CATTTGTGCCATAAAGCGACCGCCGAAATCTTTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3224
+TCTCCGGCTCCGGCCCGACTTTGTTCGCTCTGTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3225
+ATCAACCGCAGGATGCCACAACCAACCCTTCTCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3226
+CTCGGGCATTCTCAAGACGTATCCCCATTTCCAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3227
+CGGAACCGTTGCGTCCCAGAACCACCAGCTCGCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3228
+TTCTTAGCGTAGAAGCTGATGATCTTAAATTTGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3229
+CCGGAGATACCGCTCGCTACCGCGCCGATTTCCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3230
+ACGCGGATCGCAGGTATAAACACCGTCAACATCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3231
+ACCTTCTTTTTCCAGCTGTTCTGCAGCACGGATAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3232
+GATGTTTGTCAGGCCCCGGACGATGATCGCCACGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3233
+AGCCGCACGCTGCCGTAGCTTATCGTGCGCTGCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3234
+TCCTGATAGGACATCGACTTCAACAACCTCGCATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3235
+GATGCGACCACTGGCGTGCGCGTTACTCATCAGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3236
+CCAGGCTTTGGTGAACAGATGCGCCAGATCAGCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3237
+TTTTTACGCCTGAACAACCCTAAAGCGATCTGGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3238
+GAAGGTTACTTCTTTGATGAAGCTTCCTCCAGCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3239
+TTCGCTTTCTTATATCTTCGGCAAGTTAGACGAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3240
+GGCGTTTTCGCCATTTTTCACTTTGAACAGCGGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3241
+TTATCGCCATCAACGGGACAAACCCCTGCATGAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3242
+CTGATCAAACTGGCTTCTACCTGGCAGGGTATCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3243
+CGCAAACAGGCGCTGATCCTTAACTTACCCGGTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3244
+AAAGATCACAATGAGCAGGTCAGCTTTGCGCAAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3245
+ATCACCAGCATTGAGCAGATTTTGCAGGTTCTCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3246
+GCAATCCGGCATTGATATTTAGCGATGATGTTTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3247
+AACGGCAGTTGTTATTCTCCGCAATCCTAATCTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3248
+TTCCATGGGAGGGTACGTAGCAGATCAGCAAAGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3249
+CTGCCGGAAGCCTGGCAGTAACCGTTCACGGTAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3250
+ACGCGTACAGGAAACACAGAAAAAAGCCCGCACCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3251
+ACTGCCGCTCCAGTATCACCGGATGTCGCGGTCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3252
+GTGTGCGAGCTGAACGGGCAATGCAGGAAGAGTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3253
+TCAGATGCTGTTCAATACCGATCAGGTTATCGAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3254
+CATCGAAATCGCCGTCGATGGCAACAGTTTCGATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3255
+TTACCATCCACTTCGGCAATCTTCACGCGGCAGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3256
+GGTCTATTTTTGAGAGTGCTTTTGGCTGGCAGGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3257
+ATGTCCCCAGTGTCGGCCACTACGGTGGTGTACTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3258
+ATGCTATCCGGGCACTGCCCCAACAAACTGATGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3259
+TGCCGCGTGAAGATTGCCGAAGTGGATGGTAATGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3260
+GGGGTTTGTCCCGTTGATGGCGATAATCTGGGTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3261
+CCGGATGGCAATCCGGCATTGATATTTAGCGATGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3262
+CAGTTTTCCAGATTAAGGCCATGTACATTGGTGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3263
+CTGAACTGGTTACCTGCCGTGAGTAAATTAAAATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3264
+GGAATTGTCCAGATGATTGGCATTTTTATCGACAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3265
+CTGGGCGATGGGGGTAATGGTGCGGGGGTGAAGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3266
+GCTGAACGGGCAATGCAGGAAGAGTTCTACCTGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3267
+ACCGTGCACCACAACGTTACCCTCAGCGTCCTTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3268
+CGGTTTCATAACCATGCTCTTTGTAGTACTGGTAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3269
+TCCGGCAGCGTATAGCGCGTGGTGGTCAACGGGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3270
+CAACGCAGCGAATTGGGCCTCTAGATGCATGCTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3271
+GAGTCCGAGTTCCTGTGGCAGCACAACCAGGATCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3272
+GGAACGCAGAAACTGATACTGTATTCGGAAGATGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3273
+TGCCGCGAAGCTGATGAAAGATGTTATCGCTGAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3274
+GACCGGTAATTCGTCTTCATCACGGCTGGCACCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3275
+CCCACGCGTCTGGAGAAAGCTGGCGACCGATCTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3276
+GCGGTTGCGGAAATCGGCGCGGTAGCGAGCGGTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3277
+TCACGTTCTTTATAAAGCTGTGCGAGGGAACATTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3278
+AAATTACAGATAGGCGATCGTGATAATCGTGGCTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3279
+AAGACACCGGCAGCTGTAACGTCATTGCCCGCACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3280
+ATTGGCATCACGTTCTTTATAAAGCTGTGCGAGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3281
+TCAGATGAGTATTTTAAATCGGTGAAGCCGAAGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3282
+AATTGACCTCCCTTCGTCAGTACACCACCGTAGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3283
+TCCCCAGTGTCGGCCACTACGGTGGTGTACTGACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3284
+TGCAGGCTGATCTGGCGCATCTGTTCACCAAAGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3285
+AGGGCGTTTTCGCCATTTTTCACTTTGAACAGCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3286
+ATTTTGCCCAACAGCATTTGCGAATGCTTTCCGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3287
+CGCTAGTCCCGTCAGTAAAATTACAGATAGGCGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3288
+AAAATATGGAGAAAAACGACAGGGAAAAAGGAGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3289
+TCCGCTACTGCCAGCGTCGCATCGGGCGTTACGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3290
+TGGGTTGCCGCATTTATCGGCATGGCGACCTCGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3291
+GTAAGAAAGCTCCATCGCTTCCTGATAGGACATCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3292
+CAGCGGAAATCCCGGCTGGGCGGCGGCGAGTCCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3293
+CCGCCCCGAGCACATCAAACCCGACGCTCATATTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3294
+AAATTTGGCTGCCAGTCATGAAAGCGAGCGGCGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3295
+CAATAAAACGTTTTACCGGCAGACCGAGTGACTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3296
+CCATCAGTTGCGTTATGCGGCGGAAAAATCGCGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3297
+TAAACTGTCTTACACTGGTGAAGTGAAAGCGCGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3298
+ACCTGCATCGTTGTAGAGTTTGATCAGGCGTTTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3299
+CAGGCCTACGATCTTCTTGCAATATATTGAATTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3300
+TTGCCGGTCGCGATGACTTTCCTGTGTAAACGTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3301
+CAACACCGCAGACACGTAAGTCGATATGTTTATTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3302
+GCTACCAGATGGTTGGTGATTTTGGCGGGGGCAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3303
+CTCATTTCAGTCATTGTGTACCAGTCTTGCAGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3304
+AGCACGAGCCTGAGCGAAGGAGAACAGCAGGGTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3305
+GCCGACACTGGGGACATCGCGGCAATGAAGCTGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3306
+CGCGGTCTGATGAGTCGTTTCATTATTGAAAATCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3307
+AGGCGTTCACGCCGCATCCGGCATAAACAAAGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3308
+AAAGTGGTTATCCTCTATCCACGAGGCAAAATCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3309
+CAACGATGCAGGTATTAGCAACGATCGTATTCTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3310
+AGGTATAAACACCGTCAACATCCGTCCAGATCTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3311
+GATCTGGTGTCTGCGGATCTGCACCTTCGCAACGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3312
+GAAAGCATTCGCAAATGCTGTTGGGCAAAATCGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3313
+AATCGTCTTCGCTGAAGGTTTCGGCCTGCAAGCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3314
+AAACTGGCGGAAGGTATCCGTAAGTTTGCTGTTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3315
+CATAAAAGCGGCGACATCACCCTCGGCGTTAAACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3316
+AAAGAACTGGGCTATACCTCGGAGCCGCACGCTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3317
+AAGATGTTATCGCTGAACCCTACCGTGAACGGTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3318
+AGCGAAACTGCACAAATCCGGTACGAAAAGTGAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3319
+CAGCTTCGCGGCAAGCTCAAGCTGACGGGAATAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3320
+TGGGTGACCACTGACCGTCGTGCAGGAAACGTGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3321
+TTGCCCGTTATGGGTCGATATCCGGAGATTACGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3322
+ATAAGATTGTTAACAACGTGCGCTTTGTTTATGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3323
+GCAATGCACCATCAACAGGTGTCACCGCCGCCCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3324
+TTGCAGTGGACTGATTTTGCCTCGTGGATAGAGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3325
+AATATCAACGGTAGATTCGAGGTAATGACCCACTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3326
+AAGCCAGGCGATTACTAACGGTTTTCAGCGCAGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3327
+TTTGCGGCGGAACAACTCTTCCACACGCGGCCAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3328
+ATCAAGCCAGTGTTCCTCGATGAGAAGAACGGCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3329
+CGCCGGTGGACCTGGAGCCGTCTTCTGGATGTGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3330
+ACGCTCCCAGCACTGATAAACGATATTTTCCCGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3331
+TGCGCCAGCAAGCGACTGATGTTGATGGAGTTAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3332
+GGTCGACGCCAAACGCGGCAGCGGCAGCTGCGTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3333
+GAAGTCGGCATATTGATCTGCCACAGCCTGGCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3334
+AGTCCCGTCAGTAAAATTACAGATAGGCGATCGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3335
+CCCCTGATTTTTGCCTAACCCCTGGGTTACGGCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3336
+AGTGCAAGACGCGAAGTTAGCGAATAAAAAAATCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3337
+CAGCGTAAACTCGGCGTGCGCCCGGTGTTTGATCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3338
+ATGGGTCAGCATTTGTGCCATAAAGCGACCGCCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3339
+GGTGCTAATGCGTTTCATGGATGTTGTGTACTCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3340
+GCACGGGCGACATCTGGCAGGCTTCATTCACGCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3341
+CAGGCGGGGGGATCAGACTGATGACAAACGCAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3342
+ACCCCCATCGCCCAGTTCCAGATCCCTTGCCTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3343
+ACGCCTTATCCGGCCTACAAAATCGTGCAAATTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3344
+GTAACGTTTACACAGGAAAGTCATCGCGACCGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3345
+GCTCGAGCGGCCGCCAGTGTGATGGATATCTGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3346
+ACATCCATGAAACGCATTAGCACCACCATTACCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3347
+CATTTCAGTCATTGTGTACCAGTCTTGCAGCGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3348
+GTCAAATTGGTAATAGCCATGCAGGCCATAATGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3349
+CAGCATCATCAATCAACTTACGGTATTCCGGAATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3350
+GGTAGAACTCTTCCTGCATTGCCCGTTCAGCTCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3351
+TCATGACGGACAAATTGACCTCCCTTCGTCAGTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3352
+ACGGCATAATTTTCAGCGGAGTTCAGGCGAACGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3353
+AGTCGGCAACGCGCTGGGCGGTATCCGGCTTGTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3354
+AACAACCCTAAAGCGATCTGGTGTCTGCGGATCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3355
+GCGTAAGCTATTGATTCTCGCTCGTGAAACGGGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3356
+TCTTACTTCGGCGCTAAAGTTCTTCACCCCCGCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3357
+CAGTAATATCAGCATGGCGCTTGCCGTGCAGATGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3358
+TTAATCCCCGATGAGCAGGCGATCATCGAGCAAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3359
+TTTCCAGATTAAGGCCATGTACATTGGTGAGCAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3360
+CCGCTGGCACAATTGAAAACTTTCGTCGACCAGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3361
+AGCTTCCTGCCAGCCAAAAGCACTCTCAAAAATAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3362
+CTCGTGCTTGTGCGGAAGCGGGCGTGTTCCTGATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3363
+CAGTTCTTCATCATCAAACGCCTGCTTCACCAGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3364
+TCTTGCGGCAACTGTGCGACAGCCTCAAAGTAATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3365
+CAGGCAGTTTTGCGTTTGTCATCAGTCTGATCCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3366
+CGCAACAATCGGCGCGTAAACAGGCCGCCAGCACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3367
+GCATTGCGCACGGGCGACATCTGGCAGGCTTCATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3368
+TCAGGGATCTTCTGAACGCTCAATCTCTGTCGTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3369
+AAAGCGGCGACATCACCCTCGGCGTTAAACTCTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3370
+GCAACTTCCCCACGTCATTTGGTCTATTTTTGAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3371
+AGGTATAGCCCAGTTCTTTTAACTCACGCATTGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3372
+CACTTCCGGTGCCGTTTCAACGTATGGCCCTTCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3373
+CGGTGCCACGTTGTCGTAATGAATGCTGCCGGAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3374
+TCACCCCCGCACCATTACCCCCATCGCCCAGTTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3375
+CACTGAGTCCGAGTTCCTGTGGCAGCACAACCAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3376
+CCATGCCAACCATCCCTTTCATCCCCGGGCCGGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3377
+ATCGACCCATAACGGGCAATGATAAAAGGAGTAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3378
+GGCGATAATCTGGGTACTGACCAGCCTGGTGATTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3379
+ATAAAGGAGAAAAAATCTGGCATGCATATCCCTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3380
+ACGATAAGCTACGGCAGCGTGCGGCTCCGAGGTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3381
+TAACCCAGGGGTTAGGCAAAAATCAGGGGCTGTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3382
+CAGCCAAACAACTGGCCGCGTGTGGAAGAGTTGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3383
+AACAGAATAACCACGAGGGTAACAAACTCCGCACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3384
+ATCTGCACGGCAAGCGCCATGCTGATATTACTGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3385
+CTGAGTCGCTTTGGGTGACCACTGACCGTCGTGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3386
+ATGCCAGGCAGGGGCAGGTGGCCACCGTCCTCTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3387
+CGTGCTTGTGCGGAAGCGGGCGTGTTCCTGATCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3388
+CACTCTTTTTTTAATCCACACAGAGACATATTGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3389
+AATGCCGGATGGCAATCCGGCATTGATATTTAGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3390
+TCCTTAACTTACCCGGTCAACCGAAGTCTATTAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3391
+AACTGGTGTTTAAACGCTACGAACAACGTTAAGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3392
+GCATTTTTATCGACACCCTGGTCATCTGCACGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3393
+GACGTGGGGAAGTTGCCCGATATTCATTACGCAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3394
+CGCTCCCAGCACTGATAAACGATATTTTCCCGTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3395
+ACGTTGTTACGCCGAACAAAAAGGCCAACACCTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3396
+GATCGGTATTGAACAGCATCTGATGAGTAACGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3397
+GATGCGCATCAGGGAGCTAATCTGCGGGGGCGTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3398
+CCAGATGGCAACTCATTTCATCCACCAGTTCACAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3399
+AAGATTGCCGAAGTGGATGGTAATGATCCGCTGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3400
+CAGGTTACAGTTAATACCTTCTTTTTCCAGCTGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3401
+TGCGGATCTGCACCTTCGCAACGGTCATCGGCGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3402
+TTAAACGCTACGAACAACGTTAAGTTTGTAGTCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3403
+ACGATGATCATTGTGCTTGTTATGGCGCGGCGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3404
+ATCAGCGACAAACTGGCGGGTATCAACGCCGCTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3405
+CATCGCCATCAGCGCCGCGACCACTGAACAGGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3406
+TCGAGTTAGCAACACCGCAGACACGTAAGTCGATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3407
+CCAAGCTCCTGGCAAAAACGCTCCCAGCACTGATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3408
+TATGACACCAACGTTGGGGCTGGATTACCGGTTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3409
+AAAATCTTGATGAATACTTTACGTATTGGCTTAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3410
+TCTTGCAGTGGACTGATTTTGCCTCGTGGATAGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3411
+CGAACTGGTGTTTAAACGCTACGAACAACGTTAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3412
+TCATCAGTCTGATCCCCCCGCCTGGGGGGATTTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3413
+TGAAGTTCTCCGGCATTCTTTCAGGTTCGCTTTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3414
+CCATGCCGGTCCGCCACGAAACTGCCCATTGGCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3415
+TCAGCAAAGCTGGTTGAAGAATAAACATATCGACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3416
+CGCATTGTCTGTTGCGTGGTTTCATCATCCACGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3417
+GGCCTGATTGAGATAATGAATAGATGTTACTGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3418
+AAGCCGGGGCATAAACTTTAACCATGTCAGACTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3419
+TTCTCCGGCATTCTTTCAGGTTCGCTTTCTTATAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3420
+GGTAAATCATTACCGATCCCCAAAGGACGCTGTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3421
+TGCAGCCGTGGATGATGAAACCACGCAACAGACAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3422
+AGATCGCTTTAGGGTTGTTCAGGCGTAAAAAGAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3423
+CGTGGTTTCATCATCCACGGCTGCATAACCCAGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3424
+GACTCGCCGCCGCCCAGCCGGGATTTCCGCTGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3425
+AAAGCGATCTGGTGTCTGCGGATCTGCACCTTCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3426
+ACAGTTTTTCTTGCAGTGGACTGATTTTGCCTCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3427
+CATGGCATCAGTTTGTTGGGGCAGTGCCCGGATAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3428
+TAGGCTCCAGCGCCTGTTCAGTGGTCGCGGCGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3429
+AAAGGATCGCAGTTGGTACAAAATGCAGGCTGATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3430
+CGGTGGCCACCTGCCCCTGCCTGGCATTGCTTTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3431
+TATGGCCTGCATGGCTATTACCAATTTGACCGCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3432
+ACGCCGAGGGTGATGTCGCCGCTTTTATGGCGAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3433
+CAATTTGTCCGTCATGATAGTATTTCTCTTTAAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3434
+GTTAAAAGAACTGGGCTATACCTCGGAGCCGCACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3435
+CGGGACTCGCCGCCGCCCAGCCGGGATTTCCGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3436
+TCAATATGCCGACTTCCTGCGCGAAGGTTTCCACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3437
+TGATCAAACTGGCTTCTACCTGGCAGGGTATCCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3438
+CACGCGGTCTGATGAGTCGTTTCATTATTGAAAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3439
+GTTTATTGGTGATGAAATCCCGCAGGAAATCCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3440
+GATTAGCTCCCTGATGCGCATCAGCGACAAACTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3441
+CTGACGCGGATCGCAGGTATAAACACCGTCAACAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3442
+AACTGGCAGGAAGAACTGGCGCAAGCCAAAGAGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3443
+GCGTGTTAGAAGCGCGTGGTCACAACGTTACCGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3444
+GTTCGCTCTGTGTGACAAGCCGGATACCGCCCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3445
+TAATGCCGGATGGCAATCCGGCATTGATATTTAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3446
+CCATCGACGGCGATTTCGATGCCTGTCAGGCGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3447
+GTGAGCAGTGCCTTCGAGTTAGCAACACCGCAGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3448
+AAAAAGAGAATGAGTTGATCGATAGTTGTGATTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3449
+TTTACTGCCAGTTTGTCGGTCGCGTCCACGATCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3450
+TACCTCGTTACCTTTGGTCGAAAAAAAAGCCCGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3451
+TCACGGCAGGTAACCAGTTCAGAAGCTGCTATCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3452
+TCCCGTCAGAAGTTCGGCAAAAATAAGTTCGGCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3453
+AAAATTATGCCGTAGGCGATGAGCAAAAAGACGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3454
+TTCCGGCTGACCACATGGTGCTGATGGCTGGTTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3455
+CGAAATTCTGGAACTGGCAGGCTGCGACCGTCTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3456
+GGTCAGTGGTCACCCAAAGCGACTCAGGCGACGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3457
+AGGTCGTGCGGAAAAAACAGCCCCTGATTTTTGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3458
+ATTGTGCCAGCGGAAATCCCGGCTGGGCGGCGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3459
+AAGCCTTCTTTCAGTTCCAGGTAGAACTCTTCCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3460
+CGCCCAGTTCCAGATCCCTTGCCTGATTAAAAATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3461
+GTTGGTCGCAGCAATAAAACGTTTTACCGGCAGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3462
+CGTCAGCAAAGCTGGTTGAAGAATAAACATATCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3463
+CTGCCAGGTAGAAGCCAGTTTGATCAGAATACGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3464
+ATGGCGAAAACGCCCTGGCCTTCTATAGCCACTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3465
+CTTTTTGTTCGGCGTAACAACGTGGAAACCTTCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3466
+GTTGTAGAGTTTGATCAGGCGTTTTGCTTTCGCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3467
+AGCGTTCAGAAGATCCCTGAGCAATGGCGACAATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3468
+TGCCAGATGTCGCCCGTGCGCAATGCAATCCTGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3469
+GAAGTTATCCAAGTACCTCGTAGCGTTATATACTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3470
+ACCTTCGCAACGGTCATCGGCGGCACCTTGTTAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3471
+GGAATTGTTCCACGGGCCAACGCTGGCATTTAAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3472
+CCAGTTCAAACGGCGTGGTTAGCGCCGATGTCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3473
+CCCGCAATATGGGTCAGCATTTGTGCCATAAAGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3474
+TCGTTTTTCTCCATATTTTCTTCATAAAAAAAGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3475
+CACGGGCCAACGCTGGCATTTAAAGATTTCGGCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3476
+ATCTTTTTCACAGGTTACTCCTTTTATCATTGCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3477
+CAACGCAGCGAATTGGGCCTCTAGATGCATGCTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3478
+CATTGCCATGTTATTCAGATTGGAAATGCCCTTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3479
+TACTTCGTAAACAATTGGTAACGTTTACACAGGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3480
+AAAGGTGATGTCTACACTGGCTTGCAGGCCGAAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3481
+CCGGCAGCATTCATTACGACAACGTGGCACCGTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3482
+AAACCACGCAACAGACAATGCGTGAGTTAAAAGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3483
+CCCAGCAGCTGATCCATGAAGCGCGGAAACTGACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3484
+GCGTTTCATGGATGTTGTGTACTCTGTAATTTTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3485
+TTCTCCTTTTTCCCTGTCGTTTTTCTCCATATTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3486
+TGAGCCGGGCGACGCCATGAAGACCGCGAGTGATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3487
+CGATAACGGTAACGTTGTGACCACGCGCTTCTAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3488
+TCATCAAACCCTGGCACTTGCTGGCTGATGATGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3489
+GTTGATCGATAGTTGTGATTACTCCTGCGAAACAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3490
+CCTGAACAACCCTAAAGCGATCTGGTGTCTGCGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3491
+GTCCCAGAACCACCAGCTCGCCTTTTTCATTACCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3492
+CCAGTAATAGCCACGATTATCACGATCGCCTATCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3493
+AATCTATCGTACTCGCACTTTCCCTGGTTCTGGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3494
+AGGGAGGTCAATTTGTCCGTCATGATAGTATTTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3495
+TACATGCCGCTGGAAGGTATTCAGCTTATCCAGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3496
+GCCGAGATTATCAAGCCAGTGTTCCTCGATGAGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3497
+GTGTGCGAGCTGAACGGGCAATGCAGGAAGAGTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3498
+GTAATTCGTCTTCATCACGGCTGGCACCAATGAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3499
+ATCATCAATTTACGCAACGCAGCAAAATCGGCGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3500
+GATGTCCCCAGTGTCGGCCACTACGGTGGTGTACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3501
+TTTTTCATTACCGGCAGTGAAACCAGCCATCAGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3502
+CGGCATTGATATTTAGCGATGATGTTTGTCAGGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3503
+CCTGGGCGAAACAGCAGAGCAACGATCGCGCGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3504
+GAGATCGGTCGCCAGCTTTCTCCAGACGCGTGGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3505
+TGATGAAAGATGTTATCGCTGAACCCTACCGTGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3506
+CGTTGGCGGTGACGGAACGGCTGGCCATTATCTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3507
+CTGATACTGTATTCGGAAGATGATTGCGTAATCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3508
+AATGCTTTCCGGCTTGTATGGCGTACTGCGCCCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3509
+GGGCATTCTCCGGTGTGAAATTTGGCTGCCAGTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3510
+TTAACGCCGAGGGTGATGTCGCCGCTTTTATGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3511
+CACCTGACGCGGATCGCAGGTATAAACACCGTCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3512
+CTGATGGTAGTAATCCATCGACGAGGTGTTGGCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3513
+TTCAGATACAGAAACCACGCCCGGATCTTCTGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3514
+TTCCAGTGCCAATATGAGCGTCGGGTTTGATGTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3515
+CGCCTACGGCATAATTTTCAGCGGAGTTCAGGCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3516
+TGCGTTATCCGGAGATCGGTCGCCAGCTTTCTCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3517
+TCAGAAGAGGTAGCGTGACCGACTTCCCGGTCACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3518
+GCGTCTGCCGCGTGAAGATTGCCGAAGTGGATGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3519
+CGTCAGCTTGAGCTTGCCGCGAAGCTGATGAAAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3520
+CCTGCATCGTTGTAGAGTTTGATCAGGCGTTTTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3521
+CGAAATTTAAAGAGAGCGTGGAAGCGATTCTCGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3522
+GCGTTGGCCCGTGGAACAATTCCAGACAACCGACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3523
+CAGTTGGTACAAAATGCAGGCTGATCTGGCGCATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3524
+TTGGCTTAGTTTCCATCTCTGATCGCGCATCCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3525
+ATTCAGCTTATCCAGAAGGCGATGCGGGTGCTAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3526
+CAATGACTGAAATGAGGTTAAACCGCCTGGCTGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3527
+GCTGGGCGTTGTCTAACAGCTCCGGCAGCGTATAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3528
+CACCAGTTCACACAACGTTTGCTCGATGATCGCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3529
+TTGTGTGAACTGGTGGATGAAATGAGTTGCCATCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3530
+CTCAATCAGGCCGGGTTTGCTTTTATGCAGCCCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3531
+CCAACAAGCTGAACGAGGCGCTCGCAGCACAAGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3532
+CCAGTTTGGCAAAAGTCTTAAAAATAGCATTCATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3533
+TGGCGGGTATCAACGCCGCTCGCTTTCATGACTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3534
+TTCAGATACAGAAACCACGCCCGGATCTTCTGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3535
+TTCCTGCGCGAAGGTTTCCACGTTGTTACGCCGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3536
+TAGTTTCCATCTCTGATCGCGCATCCAGCGGCGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3537
+CGATCTTCTTGCAATATATTGAATTTGCACGATTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3538
+TACAAAATGCAGGCTGATCTGGCGCATCTGTTCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3539
+GTCTGGAAATGGGGATACGTCTTGAGAATGCCCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3540
+CTTTTGCCAAACTGGCGGATGTAGCGAAACTGCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3541
+GGTCGCGGCGCTGATGGCGATGAATGAACACTGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3542
+TCGAGACTTTAATCCCCGGATACGCCAGCACCCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3543
+GCCAACGGCTCCAGTAAGCCTTCTTTCAGTTCCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3544
+TTTGCCGTGGCGAGAAAATGTCGATCGCCATTATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3545
+GCCGTCTTCTGGATGTGGGTTGCCGCATTTATCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3546
+AGTGCGGGCTTTTTTTTCGACCAAAGGTAACGAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3547
+CGCATCCGGCATAAACAAAGCGCACGTTGTTAACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3548
+GAAGCGATGGAGCTTTCTTACTTCGGCGCTAAAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3549
+TCCACACGCGGCCAGTTGTTTGGCTGGCTAACATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3550
+TTTTGTTCGGCGTAACAACGTGGAAACCTTCGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3551
+TGCAACCACTTCCGGTGCCGTTTCAACGTATGGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3552
+ACAGAGCGAACAAAGTCGGGCCGGAGCCGGAGATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3553
+TGTGGTCAGCCGGAATGCGGCTTGCCGCAATACGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3554
+TAACGATGATGCGACCACTGGCGTGCGCGTTACTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3555
+CTGCTGGCGAAGTCACTCGGTCTGCCGGTAAAACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3556
+TATATCTTCGGCAAGTTAGACGAAGGCATGAGTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3557
+TCCGCCACGAAACTGCCCATTGGCATCACGTTCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3558
+GGCTTCTGCCGTCGAGACTTTAATCCCCGGATACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3559
+GCCGCCAGCACCGCAGCGGAGTAGTCGGAACCGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3560
+ACGCCGCTCGCTTTCATGACTGGCAGCCAAATTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3561
+AATTGCCTGGCGGGCATTCTCCGGTGTGAAATTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3562
+GTTGTTTGGCTGGCTAACATCCATCGCATTGGATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3563
+AATGACCCACTGCCAGCAGTTTTTCGACCGGATCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3564
+GATGCGCGGTGCCGAGGAACAAGCCATATTCGCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3565
+TTGCGCCAGTTCTTCCTGCCAGTTTTCCAGATTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3566
+TTTCGCAATTGACGCTTCGGTGTCATAGGAAAGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3567
+GAATGCGGCTTGCCGCAATACGGCGGGTGGATTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3568
+TAAACGCCGAGAGGATCTTCGCACTGCGGGTGACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3569
+GGGGATCGGTAATGATTTACCTGCTTTTCGGCGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3570
+AAAATACCGGAAATCCCCAAGCACCAGGTACGCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3571
+TCAGTCATTGTGTACCAGTCTTGCAGCGCGCGTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3572
+CTTCATGGATCAGCTGCTGGGCGTTGTCTAACAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3573
+CGCCAATCACAAACACTTCGATAACCTGATCGGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3574
+ACGGTGGCCACCTGCCCCTGCCTGGCATTGCTTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3575
+GCGCTGGGCGGTATCCGGCTTGTCACACAGAGCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3576
+TTCGCACTGCGGGTGACAAAATCCAGCTTCAGCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3577
+ACGCGGTCTGATGAGTCGTTTCATTATTGAAAATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3578
+ACAAGCCATATTCGCCTGGATTCAACTGGTCACGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3579
+ATCCCGGCTGGGCGGCGGCGAGTCCCGTCAGAAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3580
+TCTGCGCTGCGTTAAGAATGAGAGAAGGGTTGGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3581
+GCTGGATGCGCGATCAGAGATGGAAACTAAGCCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3582
+AGGCTCCAGCGCCTGTTCAGTGGTCGCGGCGCTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3583
+CATTATCTCAATCAGGCCGGGTTTGCTTTTATGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3584
+GTTGGTTGTCTCGGTACCGAGTGGAAACTTCGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3585
+AGTAACCTGTGAAAAAGATGCAATCTATCGTACTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3586
+CGGGCAATGCAGGAAGAGTTCTACCTGGAACTGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3587
+GCAATCGCTGGCACCCACATGGACCGCCGTCATCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3588
+TATAAAAATGGCGGGCGATATCAACGCAGCGAATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3589
+GTCTTTGCTCTGCTGGCGATCACTCGCGGTCTTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3590
+CATCGCACCGGCACTGCTGAAAGAGCTGGCGGAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3591
+CCCACGCGCGCTGCAAGACTGGTACACAATGACTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3592
+AGCCACTCATCAAACCCTGGCACTTGCTGGCTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3593
+CATCCAGAAGACGGCTCCAGGTCCACCGGCGGTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3594
+TTTGTCATCAGTCTGATCCCCCCGCCTGGGGGGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3595
+TACCAGATGGTTGGTGATTTTGGCGGGGGCAGAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3596
+CGTCCTTCACACCTTCCAGCGTCTCTTTAATAGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3597
+AGGTGCCCGATGCGAGGTTGTTGAAGTCGATGTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3598
+TCGGCCTGCAAGCCAGTGTAGACATCACCTTTAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3599
+GTAAGCTATTGATTCTCGCTCGTGAAACGGGACGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3600
+TGGCCCGCGCCAATATCAACATTGTCGCCATTGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3601
+CGATCTCTTTGCCGCGCGTGTGGCGAAGGCCCGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3602
+TTATCCAGAAGGCGATGCGGGTGCTAATGGGTTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3603
+CTTAAGGTATATCCCGCCGCGCCGCCTGCAGCTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3604
+CGCCGAAAAGCAGGTAAATCATTACCGATCCCCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3605
+TGGGGAGATATCATCACCAACAAGCTGAACGAGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3606
+TACGAAGTATATAACGCTACGAGGTACTTGGATAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3607
+GCGTAGAAGCTGATGATCTTAAATTTGCCGTTCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3608
+ACAACCTACATGCCGCTGGAAGGTATTCAGCTTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3609
+ATCGTGGACGCGACCGACAAACTGGCAGTAAATAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3610
+ATTGAAAAAACCATTAGCGGTCAGGATGCTTTACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3611
+TGTTTATACCTGCGATCCGCGTCAGGTGCCCGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3612
+TTGATCAGGCGTTTTGCTTTCGCAATTGACGCTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3613
+CGGGGCCTGACAAACATCATCGCTAAATATCAATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3614
+TGCAGGGGTTTGTCCCGTTGATGGCGATAATCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3615
+TTCGGCGCAGGTTGTTGGTTCACTTTTCGTACCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3616
+GTTGATACAGCTTCATTGCCGCGATGTCCCCAGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3617
+CGTGCAGGAAACGTGGTACGGTATCGTTCACGTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3618
+CCACTGACCGTCGTGCAGGAAACGTGGTACGGTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3619
+ACAGCTCGACGATCTCTTTGCCGCGCGTGTGGCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3620
+GAGCGTACTCTTTCTTATCGGTATTCGCTTTGTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3621
+TTCGATAACCTGATCGGTATTGAACAGCATCTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3622
+GCGCCCGAGATTAAACGGCTCTTTGGCTTGCGCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3623
+CTGAATACCTTCCAGCGGCATGTAGGTTGTGCCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3624
+AAATCCCCCCAGGCGGGGGGATCAGACTGATGACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3625
+TAACAAGCTGTTTAAAGAGAAATACTATCATGACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3626
+AGACAACCGACATCGCTTTCAACATTGGCGACCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3627
+CTTAGGCTCCAGCGCCTGTTCAGTGGTCGCGGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3628
+TTATTGGTGATGAAATCCCGCAGGAAATCCTGGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3629
+GATTTTGCCCAACAGCATTTGCGAATGCTTTCCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3630
+CATCAAGATTTTTCCGTTTAAACAGTCTCGTTAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3631
+ACCAAAGCCCGTTGACCACCACGCGCTATACGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3632
+ATTTGTGCCATAAAGCGACCGCCGAAATCTTTAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3633
+AAACCACGCCCGGATCTTCTGCCGGAGCGTACTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3634
+CGGTCGCAGCCTGCCAGTTCCAGAATTTCGCCGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3635
+CTGACTGCAACGGGCAATATGTCTCTGTGTGGATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3636
+TTTAATGCAGCCTTATCGTCTGGAAATGGGGATAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3637
+AGCTTATCCAGAAGGCGATGCGGGTGCTAATGGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3638
+GCAATGAAGCTGTATCAACCGCAGGATGCCACAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3639
+TCGCCTGCTCATCGGGGATTAAGCGGGTTTCCAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3640
+GAAATTCTTTGCCGCGCTGGCCCGCGCCAATATCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3641
+GCGGCCAGTTGTTTGGCTGGCTAACATCCATCGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3642
+AAGGCATCCCTGCGCTGGAAGAATGGCTGACATCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3643
+TAATGGCGATCGACATTTTCTCGCCACGGCAAATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3644
+TACGGATACCTTCCGCCAGTTTATCTACTGCCATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3645
+ATGTTTTCCAATGAGGCGGGAATGGGGTCGACGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3646
+AACCTACATGCCGCTGGAAGGTATTCAGCTTATCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3647
+GGCTTGCGCCAGTTCTTCCTGCCAGTTTTCCAGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3648
+AAAACCATTAGCGGTCAGGATGCTTTACCCAATAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3649
+GAATGCCGGAGAACTTCATCAATTCATCACCAGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3650
+CTGCCGGTAAAACGTTTTATTGCTGCGACCAACGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3651
+TTTGTACCAACTGCGATCCTTTCGCGTCAGGTGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3652
+GTCATCGGCGGCACCTTGTTAAGTTTTCCGCTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3653
+CGTCAGGTGCCCGATGCGAGGTTGTTGAAGTCGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3654
+AGCAGATCAGCAAAGACACCGGCAGCTGTAACGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3655
+CGTAAAGTATTCATCAAGATTTTTCCGTTTAAACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3656
+GATGCTTTACCCAATATCAGCGATGCCGAACTTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3657
+TGATCCATGAAGCGCGGAAACTGACGCCCCCGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3658
+CGGTCGCGATGACTTTCCTGTGTAAACGTTACCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3659
+CTCTGGTTTGGTCAGCCGATTTTCAATAATGAAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3660
+AAATTTCCTGCAAGGACTGGATATGCTGATTCTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3661
+ACACAGTCGCTTTGCGGAACGCAGAAACTGATACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3662
+CGAATGCTTTCCGGCTTGTATGGCGTACTGCGCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3663
+GTTCCTGGGGTGCGGAGTTTGTTACCCTCGTGGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3664
+CTGGCAGATATCATTATGGCCTGCATGGCTATTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3665
+AGAAGCCAGTTTGATCAGAATACGATCGTTGCTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3666
+TTTATTGGTGATGAAATCCCGCAGGAAATCCTGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3667
+CGAAACCTCATGTATGCTACGCAGAAGTTATCCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3668
+TATATCCCGCCGCGCCGCCTGCAGCTTCCTGCCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3669
+AGTGTTTGTGATTGGCGTCGGTGGCGTTGGCGGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3670
+TCAACTGAAGTTGATGCGCGTCTTTCCTATGACAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3671
+GGGTAAAGCATCCTGACCGCTAATGGTTTTTTCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3672
+TCCTATCAGGAAGCGATGGAGCTTTCTTACTTCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3673
+AGTTTCTGCGTTCCGCAAAGCGACTGTGTGCGAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3674
+TATTATCAGCCGCTGCCGTTGGTACTGCGCGGATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3675
+AACCTGCAAAATCTGCTCAATGCTGGTGATGAATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3676
+CGGGCATTCTCCGGTGTGAAATTTGGCTGCCAGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3677
+AAAAGAGCTGGCAGAACGTGCTGATTTACCCTTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3678
+CATGCTGATATTACTGGCGGGTAACGGCACAACCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3679
+TCGCTGCAAAGACGCGCGCCGCCATGCCAACCATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3680
+TGCGCTGAAAACCGTTAGTAATCGCCTGGCTTAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3681
+GCGGAGTAGTCGGAACCGTTGCGTCCCAGAACCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3682
+CCAGCGGAAATCCCGGCTGGGCGGCGGCGAGTCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3683
+CCGGTCGCGATGACTTTCCTGTGTAAACGTTACCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3684
+GCATTTTTATCGACACCCTGGTCATCTGCACGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3685
+ATCCATGAAACGCATTAGCACCACCATTACCACCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3686
+GTTGTGCCGTTACCCGCCAGTAATATCAGCATGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3687
+CTGGCCTCCGCATCCGGCAGCGCAAGGAATTGTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3688
+AAGTCAATAAAATTTTAATTTACTCACGGCAGGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3689
+ATCAAACCCTGGCACTTGCTGGCTGATGATGTCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3690
+GTTGAAGAATAAACATATCGACTTACGTGTCTGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3691
+ACTACGGTGGTGTACTGACGAAGGGAGGTCAATTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3692
+TGGTGGAAACAACATTATGAATGGCGAGGCAATCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3693
+GTTTCGCAGGAGTAATCACAACTATCGATCAACTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3694
+GCGCACGATAAGCTACGGCAGCGTGCGGCTCCGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3695
+ACCGAAGCGTCAATTGCGAAAGCAAAACGCCTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3696
+TGCGGGCTGACGCGTACAGGAAACACAGAAAAAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3697
+GTGTATCATTCTGCTTAACGAGACTGTTTAAACGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3698
+GCGCGTAAACAGGCCGCCAGCACCGCAGCGGAGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3699
+TGGGGATTTCCGGTATTTTTAATCAGGCAAGGGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3700
+CCCGATGAGCAGGCGATCATCGAGCAAACGTTGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3701
+CAAGAAAACACGGTGCCACGTTGTCGTAATGAATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3702
+ATATTGGTCTGGAAATCCTGAAACTGGTTCCGGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3703
+CGGCGAGTCCCGTCAGAAGTTCGGCAAAAATAAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3704
+GCGATTCTCGGTGAAACGTTGGATCTGCCAAAAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3705
+CCAGAAGACGGCTCCAGGTCCACCGGCGGTAATTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3706
+CTGGAAGTACAGTCAACAATGACCGGGTTCAGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3707
+GGCCTGTTTACGCGCCGATTGTTGCGAGATCTGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3708
+GGCCAGCCGTTCCGTCACCGCCAACGGCTCCAGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3709
+ATGATCTTTCTGGCATGGATGTGGCGCGTAAGCTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3710
+TACCGATCCCCAAAGGACGCTGTTAATAAAGGAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3711
+TCATTACCTCGAATCTACCGTTGATATTGCTGAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3712
+CGCCTGTGGTTCATACCATTGCCAGTGATTATCTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3713
+TGGGATCTCGGCGAAATTCTTTGCCGCGCTGGCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3714
+CAGAAGCCAGGGCTATTTTACCGGCGCAGTATCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3715
+ACTGGGATGGCGGTCATTGGGGCGACCACGGCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3716
+GCTGACCCATATTGCGGGCGATAAGCCAGTGACCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3717
+TCTGGTCGCTCCCATGGCAGCGCAGGCTGCGGAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3718
+CTTTCAGTTCCAGGTAGAACTCTTCCTGCATTGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3719
+TACCCAACCAGTCGGCAACGCGCTGGGCGGTATCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3720
+TCTTATCGGTATTCGCTTTGTATCAGTCAAGAATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3721
+TTCCTCGATGAGAAGAACGGCAAATTTAAGATCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3722
+CTATTAAAGAGACGCTGGAAGGTGTGAAGGACGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3723
+GTCGATCGCCATTATGGCCGGCGTGTTAGAAGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3724
+CAGAAGGCGATGCGGGTGCTAATGGGTTCCTGGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3725
+TCATTGTGATCTTTCAGATTGTAGAGTTTCATTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3726
+CCATCACCATTACCACAGGTAACGGTGCGGGCTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3727
+AATGTTGTTTCCACCAGCCGTGGTCGCCCCAATGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3728
+AGCACCATGTGGTCAGCCGGAATGCGGCTTGCCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3729
+ATTCCTGGTCGACGAAAGTTTTCAATTGTGCCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3730
+GACGATTTCGATTTTGCCCAACAGCATTTGCGAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3731
+TGATCGAAGAAAACGACATCATCAGCCAGCAAGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3732
+ACCCCTGCATGAGCCGGGCGACGCCATGAAGACCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3733
+CGCAGCCTGCGCTGCCATGGGAGCGACCAGAACCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3734
+GCGTGAATGAAGCCTGCCAGATGTCGCCCGTGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3735
+CGCAGAAACTGATACTGTATTCGGAAGATGATTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3736
+TGCGAAACATCATCCCACGCGTCTGGAGAAAGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3737
+GACTTCCCGGTCACGCTAAGTATGATTACAGCAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3738
+TACCTGTGGTAATGGTGATGGTGGTGGTAATGGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3739
+GCCTGCCGCGCCTGCCGGAAGCCTGGCAGTAACCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3740
+AACTGGTGTTTAAACGCTACGAACAACGTTAAGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3741
+TGATGTTGATGGAGTTAGCAGAATTCAGCCCCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3742
+GCTGGAGCAACTGAAGCGTCAGCAAAGCTGGTTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3743
+ATCGTACTCGCACTTTCCCTGGTTCTGGTCGCTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3744
+CGTTGTGTGAACTGGTGGATGAAATGAGTTGCCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3745
+CACGTTGTCGTAATGAATGCTGCCGGAGATACGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3746
+GGCGAAGTCACTCGGTCTGCCGGTAAAACGTTTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3747
+AGAGAAGGGTTGGTTGTGGCATCCTGCGGTTGATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3748
+TGCCATAAAGCGACCGCCGAAATCTTTAAATGCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3749
+GGGGTGCGGAGTTTGTTACCCTCGTGGTTATTCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3750
+TTTTTCCCTGTCGTTTTTCTCCATATTTTCTTCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3751
+GACGCGAAAGGATCGCAGTTGGTACAAAATGCAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3752
+CGCAGCGAATTGGGCCTCTAGATGCATGCTCGAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3753
+ACTGTCAGGTGCGGGCTTTTTTCTGTGTTTCCTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3754
+TAATGGTGCGGGGGTGAAGAACTTTAGCGCCGAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3755
+CTACGAGGTACTTGGATAACTTCTGCGTAGCATAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3756
+ATAATTTTCAGCGGAGTTCAGGCGAACGCCGTTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3757
+TTTTATCATTGCCCGTTATGGGTCGATATCCGGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3758
+GACCGACAAACTGGCAGTAAATATTGGTCTGGAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3759
+CTGTTTAAAGAGAAATACTATCATGACGGACAAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3760
+ATAGGCGATCGTGATAATCGTGGCTATTACTGGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3761
+GACCGCGAGATGCCAGGCTTTGGTGAACAGATGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3762
+ATCCAGAAGGCGATGCGGGTGCTAATGGGTTCCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3763
+TGCCGCGCTGGCCCGCGCCAATATCAACATTGTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3764
+AACGCCGAGAGGATCTTCGCACTGCGGGTGACAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3765
+CGCCTGGGCGAAACAGCAGAGCAACGATCGCGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3766
+TTTATCCTGATAAACGCCGCTGGATGCGCGATCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3767
+CCGGAGATACGCCCTTCCAACTCGCCCATCAAAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3768
+ATGATGTTTGTCAGGCCCCGGACGATGATCGCCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3769
+ACGTAAGTCGATATGTTTATTCTTCAACCAGCTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3770
+GTAGGCCGGATAAGGCGTTCACGCCGCATCCGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3771
+CTTTCCGGCTTGTATGGCGTACTGCGCCCGCTCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3772
+GCCAGGCTGTGGCAGATCAATATGCCGACTTCCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3773
+ATCACAACTATCGATCAACTCATTCTCTTTTTTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3774
+TGCCCGGATAGCATCAACGCTGCGCTGATTTGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3775
+AGATTCGAGGTAATGACCCACTGCCAGCAGTTTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3776
+TCGTATTCTGATCAAACTGGCTTCTACCTGGCAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3777
+CACCACATTATCGCCTTGTGCTGCGAGCGCCTCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3778
+AGGCGTTTGATGATGAAGAACTGAAAGTGGCGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3779
+ATTGCCAACATAGCGCAAAACTTTTCCTTCATCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3780
+CGATCGTATTCTGATCAAACTGGCTTCTACCTGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3781
+AGGCCTACGATCTTCTTGCAATATATTGAATTTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3782
+CGTACCGGATTTGTGCAGTTTCGCTACATCCGCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3783
+GCACCACGGAAATACGGGCGCGTGACATCGCTGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3784
+TCTGCTTAACGAGACTGTTTAAACGGAAAAATCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3785
+GCGCATCAGCGACAAACTGGCGGGTATCAACGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3786
+TGGATGCGCGATCAGAGATGGAAACTAAGCCAATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3787
+CAAGGACTGGATATGCTGATTCTTATTTCACCTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3788
+AGGCCGAAACCTTCAGCGAAGACGATTTCGATTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3789
+CCCCAACAAACTGATGCCATGCAGGACATGTTTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3790
+AAGATTGTTAACAACGTGCGCTTTGTTTATGCCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3791
+CGTTACAGCTGCCGGTGTCTTTGCTGATCTGCTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3792
+AACCTGATCGGTATTGAACAGCATCTGATGAGTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3793
+CGCAACGGATCAAACACCGGGCGCACGCCGAGTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3794
+AGAATTTCTCCTTTTTCCCTGTCGTTTTTCTCCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3795
+TTTTATCGACACCCTGGTCATCTGCACGGCAAGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3796
+TCAGTGATACGCGCCGGACGCGCTTTCACTTCACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3797
+TTTCGGCGGTCGCTTTATGGCACAAATGCTGACCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3798
+GTCATGAAAGCGAGCGGCGTTGATACCCGCCAGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3799
+TCCGCGCTTCATGGATCAGCTGCTGGGCGTTGTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3800
+TATTCAGATTGGAAATGCCCTTGACCGGTAATTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3801
+AGCGCGTGGTCACAACGTTACCGTTATCGATCCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3802
+GGTATTATTCTCGCTGTCTTTGCTCTGCTGGCGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3803
+CAGCCTCAAAGTAATAACAAATCTGCGCCAGCAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3804
+CAAACTGGCGGGTATCAACGCCGCTCGCTTTCATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3805
+AGAATGAGTTGATCGATAGTTGTGATTACTCCTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3806
+TCCGGAGATCGGTCGCCAGCTTTCTCCAGACGCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3807
+GAGCCGGGCGACGCCATGAAGACCGCGAGTGATCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3808
+AACAGAATAACCACGAGGGTAACAAACTCCGCACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3809
+ATACCTTCCAGCGGCATGTAGGTTGTGCCGTTACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3810
+ATCGACTTACGTGTCTGCGGTGTTGCTAACTCGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3811
+TCGAGTTAGCAACACCGCAGACACGTAAGTCGATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3812
+AGTAATATCAGCATGGCGCTTGCCGTGCAGATGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3813
+CTGTGCGCTATGCCTATATTGGTTAAAGTATTTAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3814
+CCAGGTTGCCGCTACCCACGCGCGCTGCAAGACTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3815
+TCAGGAAGCGATGGAGCTTTCTTACTTCGGCGCTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3816
+CACCGCCAACGGCTCCAGTAAGCCTTCTTTCAGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3817
+AGTCGTTTCATTATTGAAAATCGGCTGACCAAACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3818
+TGTCTTACACTGGTGAAGTGAAAGCGCGTCCGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3819
+GCCGCACGCTGCCGTAGCTTATCGTGCGCTGCGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3820
+AGAACTCTTCCTGCATTGCCCGTTCAGCTCGCACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3821
+TTTTGTCACCCGCAGTGCGAAGATCCTCTCGGCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3822
+AGATGGCAACTCATTTCATCCACCAGTTCACACAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3823
+AAGATCCGGGCGTGGTTTCTGTATCTGAAATCTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3824
+TATTGGTGATGAAATCCCGCAGGAAATCCTGGAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3825
+GCATGCTCGAGCGGCCGCCAGTGTGATGGATATCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3826
+AGTAATCCATCGACGAGGTGTTGGCCTTTTTGTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3827
+ACTAAGCCAATACGTAAAGTATTCATCAAGATTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3828
+AAAAAGGCCAACACCTCGTCGATGGATTACTACCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3829
+TCACGCATTGTCTGTTGCGTGGTTTCATCATCCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3830
+CTTCCTGCGCGAAGGTTTCCACGTTGTTACGCCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3831
+GGAAACGCTGAACATTGCCATGTTATTCAGATTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3832
+CTGCAAGACTGGTACACAATGACTGAAATGAGGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3833
+CCTGCCCGCCGATTTTGCTGCGTTGCGTAAATTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3834
+CAGAAGCCAGGGCTATTTTACCGGCGCAGTATCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3835
+CCAGCAAGCGACTGATGTTGATGGAGTTAGCAGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3836
+ACTGGTTGGGTAAGAACTACCTGCAAAATCAGGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3837
+GCGGTCATTGGGGCGACCACGGCTGGTGGAAACAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3838
+TAAGATCATCAGCTTCTACGCTAAGAAAGCACGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3839
+ATCGCTAAATATCAATGCCGGATTGCCATCCGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3840
+AAATCGAAATCGTCTTCGCTGAAGGTTTCGGCCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3841
+GGTTATCGAAGTGTTTGTGATTGGCGTCGGTGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3842
+ACATCACCCTCGGCGTTAAACTCTGCGGGCAGCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3843
+TCATTCACGCCTGCTATTCCCGTCAGCTTGAGCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3844
+AACTGGCAGATATCATTATGGCCTGCATGGCTATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3845
+GGCGCTTGCCGTGCAGATGACCAGGGTGTCGATAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3846
+AACACTCGCATGGTTGTTACCTCGTTACCTTTGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3847
+ATATGGCTTGTTCCTCGGCACCGCGCATCCGGCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3848
+AGAAATTCTCAATAAATGCGGTAACTTAGAGATTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3849
+TCTTCATGGCGTCGCCCGGCTCATGCAGGGGTTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3850
+CTCCTTCGCTCAGGCTCGTGCTTGTGCGGAAGCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3851
+CGGGTCCGGTTCGGTATAACCCATTTCCCGCGCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3852
+CCGCCAGTTTGTCGCTGATGCGCATCAGGGAGCTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3853
+GCTGCGTTGATATCGCCCGCCATTTTTATACGAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3854
+CTACGGTGGTGTACTGACGAAGGGAGGTCAATTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3855
+TTATATACTTCGTAAACAATTGGTAACGTTTACAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3856
+GGTTGCAGCATTCAGACCGAAGAGTGCAAGACGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3857
+TCATCAGTAACATCTATTCATTATCTCAATCAGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3858
+TGATGTCGTTTTCTTCGATCATCAACTGCATACCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3859
+CTAAGCCCGAACCGATCGGCATATTCTTTTCCAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3860
+CAAACGGCGTGGTTAGCGCCGATGTCAGCCATTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3861
+GAACAAGCCATATTCGCCTGGATTCAACTGGTCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3862
+GGCAGACCGAGTGACTTCGCCAGCAGACCCGCCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3863
+CCCGCACTGTCAGGTGCGGGCTTTTTTCTGTGTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3864
+ATTTTGCAGGTTCTCAATAACCGGTAATCCAGCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3865
+TTATCGATCCGGTCGAAAAACTGCTGGCAGTGGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3866
+TGTGCTTGTTATGGCGCGGCGATGACGGCGGTCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3867
+TGAACTGGTGGATGAAATGAGTTGCCATCTGGTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3868
+TGCCAGCCAAAAGCACTCTCAAAAATAGACCAAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3869
+GCCTTATCCGGCCTACAAAATCGTGCAAATTCAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3870
+CCGTTGATGGCGATAATCTGGGTACTGACCAGCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3871
+GGGGCTGGATTACCGGTTATTGAGAACCTGCAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3872
+CTGGAGAAAGCTGGCGACCGATCTCCGGATAACGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3873
+GTCTGCGGTGTTGCTAACTCGAAGGCACTGCTCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3874
+CGAAACAGCAGAGCAACGATCGCGCGCAGCAGATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3875
+AATCACCCCCACCTGACGCGAAAGGATCGCAGTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3876
+GGAGCCGTCTTCTGGATGTGGGTTGCCGCATTTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3877
+GCCGGATAAGGCGTTCACGCCGCATCCGGCATAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3878
+TGTTCAGGCGTAAAAAGAAGAGATTGTTTTCGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3879
+GCAGCGAATTGGGCCTCTAGATGCATGCTCGAGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3880
+CGAAATCTTTAAATGCCAGCGTTGGCCCGTGGAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3881
+ATTTGCGAATGCTTTCCGGCTTGTATGGCGTACTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3882
+TGACCACTGACCGTCGTGCAGGAAACGTGGTACGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3883
+GGGTGAAGAACTTTAGCGCCGAAGTAAGAAAGCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3884
+GTAATCATACTTAGCGTGACCGGGAAGTCGGTCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3885
+ATGAGTGGCTGTGGGTGCTGGCGTATCCGGGGATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3886
+ACGGCTCCAGTAAGCCTTCTTTCAGTTCCAGGTAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3887
+CGCCAGTGTGGTCGCCTCGGAGAAACTCATGCCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3888
+ACAACCAGGATCCAATGGCAGTAGATAAACTGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3889
+CCTTCCCGGCTCCGGTCGCCAATGTTGAAAGCGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3890
+ATCTGCAGAATTCGCCCTTGTGATATCATCAGGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3891
+TGAACATTGCCATGTTATTCAGATTGGAAATGCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3892
+GCCGCCGCCCAGCCGGGATTTCCGCTGGCACAATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3893
+GATGTCGGTTGTCTGGAATTGTTCCACGGGCCAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3894
+GCCTGGCTGTGGATGAATGCTATTTTTAAGACTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3895
+GGCCTTCGCCACACGCGCGGCAAAGAGATCGTCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3896
+TGCCTGATGCGCTACGCTTATCAGGCCTACGATCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3897
+AATACCGGAAATCCCCAAGCACCAGGTACGCTCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3898
+CTTTTTTCTGTGTTTCCTGTACGCGTCAGCCCGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3899
+GTGTAGACATCACCTTTAAACGCCAGAATTGCCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3900
+CGTACTGCGCCCGCTCGATTTAATGCAGCCTTATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3901
+TCTTTCAGTTGCCAGATTTTGCGGCGGAACAACTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3902
+GCTCATTGGTGCCAGCCGTGATGAAGACGAATTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3903
+GATGTAACCGGTCTGCCCTGATGATATCACAAGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3904
+GTCAGCTTTGCGCAAGCCGTAACCCAGGGGTTAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3905
+GAAATTGATGAGATGCTGAAGCTGGATTTTGTCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3906
+AATCAACTTACGGTATTCCGGAATCTGCGCTGCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3907
+AGCCCCTGATTTTTGCCTAACCCCTGGGTTACGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3908
+TCCTGTGGCAGCACAACCAGGATCCAATGGCAGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3909
+TGCCAGTTCCAGAATTTCGCCGATGTTACGGAAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3910
+CCACACGCGCGGCAAAGAGATCGTCGAGCTGTGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3911
+GTCTGGAAATCCTGAAACTGGTTCCGGGCCGTATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3912
+AGCTCCCTGATGCGCATCAGCGACAAACTGGCGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3913
+GCGCCTGTTCAGTGGTCGCGGCGCTGATGGCGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3914
+AGAACCACCAGCTCGCCTTTTTCATTACCGGCAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3915
+GTGACCAGTTGAATCCAGGCGAATATGGCTTGTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3916
+GGCAGAACGTGCTGATTTACCCTTGCTTTCGCATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3917
+GCAGTATGTTTTCCAATGAGGCGGGAATGGGGTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3918
+AGTCTGACATGGTTAAAGTTTATGCCCCGGCTTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3919
+CCAGGAAAAACTGGAAAAAATGATCGGCGATCTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3920
+GATCGTAGGCCTGATAAGCGTAGCGCATCAGGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3921
+CTGGAAATCCTGAAACTGGTTCCGGGCCGTATCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3922
+CGCGGCGGGATATACCTTAAGCCAGGCGATTACTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3923
+CTCATCAAACCCTGGCACTTGCTGGCTGATGATGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3924
+TTCACCTGCGAAAACGCTTGATTACCAAAGCCCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3925
+AATGATCGGCGATCTGCTGTAATCATACTTAGCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3926
+TTTATTCGCTAACTTCGCGTCTTGCACTCTTCGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3927
+AAAATCCAGCTTCAGCATCTCATCAATTTCAGTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3928
+CTGCAACCACTTCCGGTGCCGTTTCAACGTATGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3929
+AGCGACTGTGTGCGAGCTGAACGGGCAATGCAGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3930
+CCGCTTTTATGGCGAATCTGTCACAGCTCGACGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3931
+ACAAAATCCAGCTTCAGCATCTCATCAATTTCAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3932
+TAGCGTAGAAGCTGATGATCTTAAATTTGCCGTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3933
+ACTTTGAACAGCGGATCATTACCATCCACTTCGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3934
+ATCGGTATTCGCTTTGTATCAGTCAAGAATACGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3935
+GAAAATATGGAGAAAAACGACAGGGAAAAAGGAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3936
+ATTCTCGCTGTCTTTGCTCTGCTGGCGATCACTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3937
+CATAATGATATCTGCCAGTTGCCACATCAGCGGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3938
+GCCAGTTTGTCGGTCGCGTCCACGATCTGCTGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3939
+TAAATGTAGTTGGCAACGATGGAGCTGAAGGCAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3940
+AGTTGTTCCGCCGCAAAATCTGGCAACTGAAAGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3941
+CTGCCAGTCATGAAAGCGAGCGGCGTTGATACCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3942
+GCGTCCTTCACACCTTCCAGCGTCTCTTTAATAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3943
+TTCGGGCTTAGGCTCCAGCGCCTGTTCAGTGGTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3944
+CGGATACGCCAGCACCCACAGCCACTCATCAAACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3945
+GAAAACGCCCTGGCCTTCTATAGCCACTATTATCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3946
+TAGAAGCGCGTGGTCACAACGTTACCGTTATCGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3947
+CTGTATCAATTCTGGGGAGATATCATCACCAACAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3948
+TGAGTAAATTAAAATTTTATTGACTTAGGTCACTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3949
+ATGCTATTTTTAAGACTTTTGCCAAACTGGCGGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3950
+GTTCATACCATTGCCAGTGATTATCTACGCCAGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3951
+TGCAGGTAGTTCTTACCCAACCAGTCGGCAACGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3952
+GGCGCGTATCACTGAGTCCGAGTTCCTGTGGCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3953
+AGCCGGAATGCGGCTTGCCGCAATACGGCGGGTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3954
+GTATTCATCAAGATTTTTCCGTTTAAACAGTCTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3955
+CACACGCGGCCAGTTGTTTGGCTGGCTAACATCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3956
+CACGGGCGACATCTGGCAGGCTTCATTCACGCCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3957
+CACACGCGGCCAGTTGTTTGGCTGGCTAACATCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3958
+GGAAGCCTGGCAGTAACCGTTCACGGTAGGGTTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3959
+CAGTTTCTGCGTTCCGCAAAGCGACTGTGTGCGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3960
+AACAGCTGGAAAAAGAAGGTATTAACTGTAACCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3961
+GCTCAGGGATCTTCTGAACGCTCAATCTCTGTCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3962
+ACAACGTTACCCTCAGCGTCCTTCACACCTTCCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3963
+GATGCAGGTATTAGCAACGATCGTATTCTGATCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3964
+GGTAGATTTCAGATACAGAAACCACGCCCGGATCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3965
+GGCACCAATGAGCGTACCTGGTGCTTGGGGATTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3966
+GCGCGTTACTCATCAGATGCTGTTCAATACCGATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3967
+CAGTTGCTCCAGCAGCGCACCGCCAACGCCACCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3968
+CTGCTTTTCGGCGCAGGTTGTTGGTTCACTTTTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3969
+CCCCAACAAACTGATGCCATGCAGGACATGTTTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3970
+TCCATGAAACGCATTAGCACCACCATTACCACCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3971
+TATCGGGCAACTTCCCCACGTCATTTGGTCTATTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3972
+GACGTGAACTGGAGCTGGCGGATATTGAAATTGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3973
+GTTGCTCTGGTTTGGTCAGCCGATTTTCAATAATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3974
+ACAAGGCGATAATGTGGTGATAAATCTGGCGTCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3975
+TGATTGGCGTCGGTGGCGTTGGCGGTGCGCTGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3976
+CCAGCTTCAGCATCTCATCAATTTCAGTCAGGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3977
+TTTTAATTTACTCACGGCAGGTAACCAGTTCAGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3978
+GGCGGTATCCGGCTTGTCACACAGAGCGAACAAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3979
+AAAGATCTGTATCAATTCTGGGGAGATATCATCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3980
+AGAACGTGATGCCAATGGGCAGTTTCGTGGCGGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3981
+ATCCCGCAGGAAATCCTGGAAGAGCGCGTACGTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3982
+CGTTATCCAATGCGATGGATGTTAGCCAGCCAAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3983
+AACTGGCGGGTATCAACGCCGCTCGCTTTCATGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3984
+CACGCGGCCAGTTGTTTGGCTGGCTAACATCCATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3985
+CCGACTTCCTGCGCGAAGGTTTCCACGTTGTTACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3986
+GGTGTCATAGGAAAGACGCGCATCAACTTCAGTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3987
+GGTAATGGTGCGGGGGTGAAGAACTTTAGCGCCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3988
+TATGAACAAAACCTTCCTGATTTTGCAGGTAGTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3989
+GAAATTGAATGCCGAGATTATCAAGCCAGTGTTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3990
+GCGAGAGCAGTAATATGGCGGTCAAATTGGTAATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3991
+CGGGCTTTTTTCTGTGTTTCCTGTACGCGTCAGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3992
+GCGGTATCCGGCTTGTCACACAGAGCGAACAAAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3993
+TTGGTAATAGCCATGCAGGCCATAATGATATCTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3994
+TGGATAACTTCTGCGTAGCATACATGAGGTTTCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3995
+AGATGCGCCAGATCAGCCTGCATTTTGTACCAACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3996
+GAAATGGGGATACGTCTTGAGAATGCCCGAGGGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3997
+GTAGTCGGAACCGTTGCGTCCCAGAACCACCAGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3998
+AAGCACAATGATCATCGTGGCGATCATCGTCCGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3999
+GCAACTGACTGGTTTTAATAGCGAAGGTTACTTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4000
+TCAAATTGGTAATAGCCATGCAGGCCATAATGATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4001
+AACATGGCAATGTTCAGCGTTTCCGGCCCGGGGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4002
+AGGGCGTATCTCCGGCAGCATTCATTACGACAACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4003
+ATCAAACTGGCTTCTACCTGGCAGGGTATCCGTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4004
+GTTCTTCCTGCCAGTTTTCCAGATTAAGGCCATGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4005
+CACCATATCCGCGCAGTACCAACGGCAGCGGCTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4006
+CGGTAAAACGTTTTATTGCTGCGACCAACGTGAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4007
+GTTACTCCTTTTATCATTGCCCGTTATGGGTCGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4008
+CGCTCGATTTAATGCAGCCTTATCGTCTGGAAATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4009
+GCTGCGGAAATTACGCTAGTCCCGTCAGTAAAATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4010
+TGCCGGATGCGGAGGCCAGGACGCAGCTGCCGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4011
+ATATGCCGACTTCCTGCGCGAAGGTTTCCACGTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4012
+TCGCATTGGATAACGTCGCCTGAGTCGCTTTGGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4013
+TCAGACTGATGACAAACGCAAAACTGCCTGATGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4014
+GGTACGTAGCAGATCAGCAAAGACACCGGCAGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4015
+CCTGTGGTTCATACCATTGCCAGTGATTATCTACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4016
+GTTCACCAAAGCCTGGCATCTCGCGGTCCGCTACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4017
+CGCAGTATGTTTTCCAATGAGGCGGGAATGGGGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4018
+TGTCTCTGCCGCCTCAACCGTGACTACATCTCCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4019
+ATTATCGCCTTGTGCTGCGAGCGCCTCGTTCAGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4020
+CATCAGGGAGCTAATCTGCGGGGGCGTCAGTTTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4021
+CGGCAGCATTCATTACGACAACGTGGCACCGTGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4022
+ATCCTCTATCCACGAGGCAAAATCAGTCCACTGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4023
+GGCTGCGACCGTCTGACCATCGCACCGGCACTGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4024
+CTTTATCCTGATAAACGCCGCTGGATGCGCGATCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4025
+TACCCTCGTGGTTATTCTGTTTGCCTTCAGCTCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4026
+AAATTACGCTAGTCCCGTCAGTAAAATTACAGATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4027
+GTCAGGCCCCGGACGATGATCGCCACGATGATCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4028
+ACCGGTTACATCCCCCTAACAAGCTGTTTAAAGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4029
+GCGCAGTACCAACGGCAGCGGCTGATAATAGTGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4030
+CTTGAGCTTGCCGCGAAGCTGATGAAAGATGTTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4031
+CAATGCACCATCAACAGGTGTCACCGCCGCCCCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4032
+GGGCTATTTTACCGGCGCAGTATCGCCGCCAGGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4033
+GATGCTGTCGCCTGGGCGAAACAGCAGAGCAACGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4034
+ATATGTTTATTCTTCAACCAGCTTTGCTGACGCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4035
+ACTCCGCTGAAAATTATGCCGTAGGCGATGAGCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4036
+ATTATGAATGGCGAGGCAATCGCTGGCACCCACAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4037
+ATGAAGAAAATATGGAGAAAAACGACAGGGAAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4038
+CCACTGGCGTGCGCGTTACTCATCAGATGCTGTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4039
+CCGAGGGTGATGTCGCCGCTTTTATGGCGAATCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4040
+GTTATCGATCCGGTCGAAAAACTGCTGGCAGTGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4041
+TCGCTGAACCCTACCGTGAACGGTTACTGCCAGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4042
+AACATCAGTCGCTTGCTGGCGCAGATTTGTTATTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4043
+CGTACTCTTTCTTATCGGTATTCGCTTTGTATCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4044
+TTCCTTGCGCTGCCGGATGCGGAGGCCAGGACGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4045
+CAATAGCTTACGCGCCACATCCATGCCAGAAAGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4046
+CGCCCAGCCGGGATTTCCGCTGGCACAATTGAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4047
+TTGCAGGCCGAAACCTTCAGCGAAGACGATTTCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4048
+TATTGAGAATTTCTCCTTTTTCCCTGTCGTTTTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4049
+GGAGATGTAGTCACGGTTGAGGCGGCAGAGACATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4050
+CAGGTACGCTCATTGGTGCCAGCCGTGATGAAGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4051
+GCCCTTGACCGGTAATTCGTCTTCATCACGGCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4052
+CCCGTTGATGGCGATAATCTGGGTACTGACCAGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4053
+TCTTCACGCGGCAGACGCCATCTTCATCAATATTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4054
+TATCGGCAAAGCGTCCGAGGTTGTTGAGACTGAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4055
+TCACAGCTCGACGATCTCTTTGCCGCGCGTGTGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4056
+ACTGATGCCATGCAGGACATGTTTTATTTGGGCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4057
+CTTTTATGGCGAATCTGTCACAGCTCGACGATCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4058
+GCCAGGCGGTTTAACCTCATTTCAGTCATTGTGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4059
+GCTGGCGTAGATAATCACTGGCAATGGTATGAACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4060
+CAACATAGCGCAAAACTTTTCCTTCATCACGGGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4061
+CACAAATCCGGTACGAAAAGTGAACCAACAACCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4062
+GAATGGTCACTGGCTTATCGCCCGCAATATGGGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4063
+CCGGAGAATGCCCGCCAGGCAATTCTGGCGTTTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4064
+CATGTGGTCAGCCGGAATGCGGCTTGCCGCAATAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4065
+TCTACCAGTACTACAAAGAGCATGGTTATGAAACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4066
+ATGTCAGCCATTCTTCCAGCGCAGGGATGCCTTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4067
+TTATCTCAATCAGGCCGGGTTTGCTTTTATGCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4068
+CCGCCAGTTTATCTACTGCCATTGGATCCTGGTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4069
+GATGATATCACAAGGGCGAATTCTGCAGATATCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4070
+CAATGACCGCCATCCCAGTAATAGCCACGATTATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4071
+TGCTGAACCCGGTCATTGTTGACTGTACTTCCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4072
+GCTCGGAGATGTAGTCACGGTTGAGGCGGCAGAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4073
+TCATATTTGCCGGCTGGATACGGCGGGCGCACGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4074
+ACAGCCTGGCTGGAAGTACAGTCAACAATGACCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4075
+GTAAACAATTGGTAACGTTTACACAGGAAAGTCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4076
+TGCTGTAATCATACTTAGCGTGACCGGGAAGTCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4077
+ACGCCTGAACAACCCTAAAGCGATCTGGTGTCTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4078
+TGATAATCTCGGCATTCAATTTCTTCGGCTTCACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4079
+CACAGTCGCTTTGCGGAACGCAGAAACTGATACTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4080
+AATTGACCTCCCTTCGTCAGTACACCACCGTAGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4081
+GCTTTTATGCAGCCCGGCTTTTTTTATGAAGAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4082
+TATCTACGCCAGCGTAAACTCGGCGTGCGCCCGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4083
+TGTTTCCTGTACGCGTCAGCCCGCACCGTTACCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4084
+TGCCTGGCATTGCTTTCCAGAATATCGGCAACCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4085
+GAGCAGGTCAGCTTTGCGCAAGCCGTAACCCAGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4086
+TCTCCGGATATCGACCCATAACGGGCAATGATAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4087
+GGATGTAACCGGTCTGCCCTGATGATATCACAAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4088
+GTCTCTGCCGCCTCAACCGTGACTACATCTCCGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4089
+AAATACGGGCGCGTGACATCGCTGCAAAGACGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4090
+GCGAAACAGCAGAGCAACGATCGCGCGCAGCAGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4091
+ATTACTACCATCAGTTGCGTTATGCGGCGGAAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4092
+ATCACGGCTGGCACCAATGAGCGTACCTGGTGCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4093
+CAGCGTCCTTCACACCTTCCAGCGTCTCTTTAATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4094
+CGCTACGAGGTACTTGGATAACTTCTGCGTAGCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4095
+CAAGGACTGGATATGCTGATTCTTATTTCACCTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4096
+GGTTGCCGCATTTATCGGCATGGCGACCTCGTTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4097
+GAAGATCGTAGGCCTGATAAGCGTAGCGCATCAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4098
+GATAGAGGATAACCACTTTCACATTCGGTAAACCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4099
+GAAGATATAAGAAAGCGAACCTGAAAGAATGCCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4100
+CATCGCTTCCTGATAGGACATCGACTTCAACAACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4101
+TTGCTTGCCAAGCTCCTGGCAAAAACGCTCCCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4102
+ACCGAGACAACCAACTGGTTACGTGCTTCTTGCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4103
+TCCCGCCTCATTGGAAAACATACTGCGCTGAAAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4104
+TAACGAGACTGTTTAAACGGAAAAATCTTGATGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4105
+CAGGGTATCCGTGCTGCAGAACAGCTGGAAAAAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4106
+CGCCGCACGTACGCGCTCTTCCAGGATTTCCTGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4107
+TGCGCTGGCAATTACCGCCGGTGGACCTGGAGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4108
+GGAACACTGGCTTGATAATCTCGGCATTCAATTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4109
+GCGGTGCCGAGGAACAAGCCATATTCGCCTGGATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4110
+AATGAGAGAAGGGTTGGTTGTGGCATCCTGCGGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4111
+TCATGACTGGCAGCCAAATTTCACACCGGAGAATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4112
+ATCCCTGAGCAATGGCGACAATGTTGATATTGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4113
+GCGAATCTGTCACAGCTCGACGATCTCTTTGCCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4114
+ACCATGCTCTTTGTAGTACTGGTAGATTTCAGATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4115
+AGCAAATTCCAGTGGCGATGACTCTGGAAAAGAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4116
+AGGCTTCATTCACGCCTGCTATTCCCGTCAGCTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4117
+TGGCGGATATTGAAATTGAACCTGTGCTGCCCGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4118
+TGAGCTTGCCGCGAAGCTGATGAAAGATGTTATCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4119
+TAAACAATTGGTAACGTTTACACAGGAAAGTCATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4120
+TCAGAAGTTCGGCAAAAATAAGTTCGGCATCGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4121
+TGTTTGATCCGTTGCGTTATCCGGAGATCGGTCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4122
+CGCGAAGTTAGCGAATAAAAAAATCCCCCCAGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4123
+GGCGACCACACTGGCGCGGGAAATGGGTTATACCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4124
+CGGCAACCTGGCCGGCGTTGCGCTGGCAATTACCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4125
+TTCTTTGATGAAGCTTCCTCCAGCAATGGCGAACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4126
+AGTTCAGGCGAACGCCGTTGCGCGAGCCCTGAGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4127
+CCAGCGCCTGACAGGCATCGAAATCGCCGTCGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4128
+GGTCGCTTTATGGCACAAATGCTGACCCATATTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4129
+ATCGCTTCCTGATAGGACATCGACTTCAACAACCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4130
+AAAAATCTGGCATGCATATCCCTCTTATTGCCGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4131
+GTTTATCTACTGCCATTGGATCCTGGTTGTGCTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4132
+GGATAACGCAACGGATCAAACACCGGGCGCACGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4133
+GCCTTCGAGTTAGCAACACCGCAGACACGTAAGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4134
+GAACAAAGTCGGGCCGGAGCCGGAGATACCGCTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4135
+TAAACTGTCTTACACTGGTGAAGTGAAAGCGCGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4136
+TTTTATGGCGAATCTGTCACAGCTCGACGATCTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4137
+GGCATTTCCAATCTGAATAACATGGCAATGTTCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4138
+CTTGATAATCTCGGCATTCAATTTCTTCGGCTTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4139
+CAAAAATAAGTTCGGCATCGCTGATATTGGGTAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4140
+TTGCACTCTTCGGTCTGAATGCTGCAACCACTTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4141
+ATTATCCGGCATTGACTACAAACTTAACGTTGTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4142
+GTACAGAACAGTTTTTCTTGCAGTGGACTGATTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4143
+TTCGATTTTGCCCAACAGCATTTGCGAATGCTTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4144
+CGCTTTGCCGATAAGCTGCCGTCAGAGCCACGGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4145
+ATCCCCAGCCCGCGCGCCATATACCATGCCGGTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4146
+ATAAACGCCGAGAGGATCTTCGCACTGCGGGTGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4147
+TATCTCAACTGAAGTTGATGCGCGTCTTTCCTATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4148
+ATTTTGCCTCGTGGATAGAGGATAACCACTTTCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4149
+GGTGCCGCCGATGACCGTTGCGAAGGTGCAGATCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4150
+TAGCGCGTGGTGGTCAACGGGCTTTGGTAATCAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4151
+AAACGTGGTACGGTATCGTTCACGTTGGTCGCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4152
+TTTTCTTTTGATTTTCCCCCGCTGGTAACAGGTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4153
+GCTGACCTGCTCATTGTGATCTTTCAGATTGTAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4154
+ATCGACGAGGTGTTGGCCTTTTTGTTCGGCGTAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4155
+ACGTAAAGTATTCATCAAGATTTTTCCGTTTAAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4156
+TTGCCAACTACATTTATGCCGAAAACAATCTCTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4157
+CCCCTTCGCTCTCCGCCAGCTCTTTCAGCAGTGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4158
+GGCGAGCTGGTGGTTCTGGGACGCAACGGTTCCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4159
+TAAACGCTACGAACAACGTTAAGTTTGTAGTCAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4160
+ACAACCTCGCATCGGGCACCTGACGCGGATCGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4161
+ATGTTGACGGTGTTTATACCTGCGATCCGCGTCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4162
+TCGCATCGGGCGTTACGTCACGACGCGCAGGGCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4163
+TGAACGCTCAATCTCTGTCGTGGTCAATAACGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4164
+TTCACGAGCGAGAATCAATAGCTTACGCGCCACAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4165
+CCGCAATATGGGTCAGCATTTGTGCCATAAAGCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4166
+CCCGCACCGTTACCTGTGGTAATGGTGATGGTGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4167
+GCGTAAACTCGGCGTGCGCCCGGTGTTTGATCCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4168
+TGGTCACAACGTTACCGTTATCGATCCGGTCGAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4169
+AGCAACTGAATGCAGTACGGTACGCTGGCAAAAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4170
+TGCTGAATCCACCCGCCGTATTGCGGCAAGCCGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4171
+CTCCGCTGCGGTGCTGGCGGCCTGTTTACGCGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4172
+TCCCCCCGCTCGAAGGGATAAGATTGTTAACAACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4173
+GCACCGCGCATCCGGCGAAATTTAAAGAGAGCGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4174
+CGTAACCCAGGGGTTAGGCAAAAATCAGGGGCTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4175
+AGTTTCGTGGCGGACCGGCATGGTATATGGCGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4176
+GTTAGCGAATAAAAAAATCCCCCCAGGCGGGGGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4177
+GGTTGCAGCATTCAGACCGAAGAGTGCAAGACGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4178
+CGCATCCGGCAGCGCAAGGAATTGTCCAGATGATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4179
+GGATAATGCCGGATGGCAATCCGGCATTGATATTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4180
+TTCACGTCCCGTTTCACGAGCGAGAATCAATAGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4181
+TCCCGCCTCATTGGAAAACATACTGCGCTGAAAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4182
+CGTGCAGGAAACGTGGTACGGTATCGTTCACGTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4183
+TCCAGTGCCAATATGAGCGTCGGGTTTGATGTGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4184
+ATTGGTTAAAGTATTTAGTGACCTAAGTCAATAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4185
+CGTTGATATTGCTGAATCCACCCGCCGTATTGCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4186
+TTTTTAAGACTTTTGCCAAACTGGCGGATGTAGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4187
+TCCACGCTCTCTTTAAATTTCGCCGGATGCGCGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4188
+AATTCAGCCCCAGCGCCACTTTCAGTTCTTCATCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4189
+GAATTACCGGTCAAGGGCATTTCCAATCTGAATAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4190
+GTCACCGCCGCCCCGAGCACATCAAACCCGACGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4191
+GCAGCTTATCGGCAAAGCGTCCGAGGTTGTTGAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4192
+TCGTGCAAATTCAATATATTGCAAGAAGATCGTAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4193
+CGTTTTATTGCTGCGACCAACGTGAACGATACCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4194
+CGATGGAGCTGAAGGCAAACAGAATAACCACGAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4195
+GTGCCGGTGCGATGGTCAGACGGTCGCAGCCTGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4196
+AGCATTTGCGAATGCTTTCCGGCTTGTATGGCGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4197
+AGACCGGTTACATCCCCCTAACAAGCTGTTTAAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4198
+GGGCCAGTTCCGCCCGTGGTGAGCACCAGATGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4199
+TCAGGTTACAGTTAATACCTTCTTTTTCCAGCTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4200
+GAATTGCCTGGCGGGCATTCTCCGGTGTGAAATTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4201
+CAAACTCCGCACCCCAGGAACCCATTAGCACCCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4202
+TGTCACCCGCAGTGCGAAGATCCTCTCGGCGTTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4203
+GTTATCCTCTATCCACGAGGCAAAATCAGTCCACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4204
+TGGCTTATCGCCCGCAATATGGGTCAGCATTTGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4205
+TTCTATAGCCACTATTATCAGCCGCTGCCGTTGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4206
+AGCACCCGCATCGCCTTCTGGATAAGCTGAATACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4207
+GCCGAAGATATAAGAAAGCGAACCTGAAAGAATGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4208
+ACATCCGTCCAGATCTCGCAACAATCGGCGCGTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4209
+TAATCTGCGGGGGCGTCAGTTTCCGCGCTTCATGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4210
+AGGTATTCAGCTTATCCAGAAGGCGATGCGGGTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4211
+CGTCTCTTTAATAGACTTCGGTTGACCGGGTAAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4212
+CCTTCCTGATTTTGCAGGTAGTTCTTACCCAACCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4213
+AGACATCACCTTTAAACGCCAGAATTGCCTGGCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4214
+AAGACTGGTACACAATGACTGAAATGAGGTTAAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4215
+CTCGCACTTTCCCTGGTTCTGGTCGCTCCCATGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4216
+GGCAACGATGGAGCTGAAGGCAAACAGAATAACCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4217
+GGAAGGCAAACGCCGCACGTACGCGCTCTTCCAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4218
+TGATTACTCCTGCGAAACATCATCCCACGCGTCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4219
+TTCACAGGTTACTCCTTTTATCATTGCCCGTTATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4220
+GACCACCACGCGCTATACGCTGCCGGAGCTGTTAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4221
+TATGCCTATATTGGTTAAAGTATTTAGTGACCTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4222
+CAAAACTGCCTGATGCGCTACGCTTATCAGGCCTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4223
+ATTTGGCTGCCAGTCATGAAAGCGAGCGGCGTTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4224
+ACGCTACCTCTTCTGAAACCTGTCTGTCACTCCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4225
+ATAACATGGCAATGTTCAGCGTTTCCGGCCCGGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4226
+CGGATAACGCAACGGATCAAACACCGGGCGCACGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4227
+AGCCGTTCCGTCACCGCCAACGGCTCCAGTAAGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4228
+GGGCATTTCCAATCTGAATAACATGGCAATGTTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4229
+GAAAGGATCGCAGTTGGTACAAAATGCAGGCTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4230
+AATCGGCGGGCAGGTTATGCGAAAGCAAGGGTAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4231
+AGTACCAACGGCAGCGGCTGATAATAGTGGCTATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4232
+TGTCGTAATGAATGCTGCCGGAGATACGCCCTTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4233
+TTCTGCCGGAGCGTACTCTTTCTTATCGGTATTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4234
+CAATGGGCAGTTTCGTGGCGGACCGGCATGGTATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4235
+AAAGCTGGCGACCGATCTCCGGATAACGCAACGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4236
+TGACGAAGGGAGGTCAATTTGTCCGTCATGATAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4237
+ACCCGCATCGCCTTCTGGATAAGCTGAATACCTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4238
+TTACACTGGTGAAGTGAAAGCGCGTCCGGCGCGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4239
+CAGTTGTTATTCTCCGCAATCCTAATCTCTAAGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4240
+AGATTTGTTATTACTTTGAGGCTGTCGCACAGTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4241
+ATCGCTTTAGGGTTGTTCAGGCGTAAAAAGAAGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4242
+CAGCGCGTTGCCGACTGGTTGGGTAAGAACTACCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4243
+AAACACCGTCAACATCCGTCCAGATCTCGCAACAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4244
+GTGTCATAGAGGAATTTACGCCGCGATTTTTCCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4245
+CCCAGGGGTTAGGCAAAAATCAGGGGCTGTTTTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4246
+CGAGCATGCATCTAGAGGCCCAATTCGCTGCGTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4247
+AATAAATGCGGTAACTTAGAGATTAGGATTGCGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4248
+TCGGTGAAGCCGAAGAAATTGAATGCCGAGATTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4249
+TAGACCAAATGACGTGGGGAAGTTGCCCGATATTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4250
+ATTTTGGCGGGGGCAGAGAGGACGGTGGCCACCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4251
+TAGCCCTGGCTTCTGCCGTCGAGACTTTAATCCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4252
+ATTGCTCGGAGATGTAGTCACGGTTGAGGCGGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4253
+TTAGTTTCCATCTCTGATCGCGCATCCAGCGGCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4254
+GAACTTCATCAATTCATCACCAGCATTGAGCAGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4255
+GCAGACGCCATCTTCATCAATATTGCCAACATAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4256
+CCTGCCAGCCAAAAGCACTCTCAAAAATAGACCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4257
+TTTTTCCGCACGACCTGCCGGAATTCAGCCTGACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4258
+CGCGCCATATACCATGCCGGTCCGCCACGAAACTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4259
+CCACAGCCTGGCTGGAAGTACAGTCAACAATGACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4260
+AAGGGCGAATTCTGCAGATATCCATCACACTGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4261
+TCCCCGATGAGCAGGCGATCATCGAGCAAACGTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4262
+CTGATTTACCCTTGCTTTCGCATAACCTGCCCGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4263
+CCCGGCTCATGCAGGGGTTTGTCCCGTTGATGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4264
+CCGATTGTTGCGAGATCTGGACGGATGTTGACGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4265
+TCCGCAGACACCAGATCGCTTTAGGGTTGTTCAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4266
+CGCCACGGCAAATCAGCGCAGCGTTGATGCTATCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4267
+CTATTATCAGCCGCTGCCGTTGGTACTGCGCGGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4268
+TCTCGCCTGTGGTTCATACCATTGCCAGTGATTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4269
+ACCGCCAACGCCACCGACGCCAATCACAAACACTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4270
+CCATTTTTCACTTTGAACAGCGGATCATTACCATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4271
+GTCAGTAAAATTACAGATAGGCGATCGTGATAATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4272
+GAACAAAGTCGGGCCGGAGCCGGAGATACCGCTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4273
+GCCTTCTGGATAAGCTGAATACCTTCCAGCGGCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4274
+TGACCGTTGCGAAGGTGCAGATCCGCAGACACCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4275
+ACGCCAGCACCCACAGCCACTCATCAAACCCTGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4276
+CAGCGAGAATAATACCTGTTACCAGCGGGGGAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4277
+GCCGGCGTGTTAGAAGCGCGTGGTCACAACGTTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4278
+GGGGGGATCAGACTGATGACAAACGCAAAACTGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4279
+TGGTTTGGTCAGCCGATTTTCAATAATGAAACGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4280
+TTACGCAATCATCTTCCGAATACAGTATCAGTTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4281
+GAAAGCAAGGGTAAATCAGCACGTTCTGCCAGCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4282
+AGCTATTGATTCTCGCTCGTGAAACGGGACGTGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4283
+ACAGCCTGGCTGGAAGTACAGTCAACAATGACCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4284
+CACCAACAAGCTGAACGAGGCGCTCGCAGCACAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4285
+GAACAATTCCAGACAACCGACATCGCTTTCAACAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4286
+ACTCCATCAACATCAGTCGCTTGCTGGCGCAGATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4287
+CGACGGTCAGTGGTCACCCAAAGCGACTCAGGCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4288
+CAGATCCCTTGCCTGATTAAAAATACCGGAAATCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4289
+TCTGTCGTGGTCAATAACGATGATGCGACCACTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4290
+CGCTTTGCCGATAAGCTGCCGTCAGAGCCACGGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4291
+TTCGATAGCCCCTTCGCTCTCCGCCAGCTCTTTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4292
+TACCTTTGGTCGAAAAAAAAGCCCGCACTGTCAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4293
+CCTTTTATCATTGCCCGTTATGGGTCGATATCCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4294
+GCCCGCACCTGACAGTGCGGGCTTTTTTTTCGACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4295
+CGATCACTCGCGGTCTTCATGGCGTCGCCCGGCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4296
+ACAGGCGCTGATCCTTAACTTACCCGGTCAACCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4297
+CTGGAAAACTAAATGAAACTCTACAATCTGAAAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4298
+TAGCGAATAAAAAAATCCCCCCAGGCGGGGGGATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4299
+CGCCCGGCTCATGCAGGGGTTTGTCCCGTTGATGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4300
+CCGAGATTATCAAGCCAGTGTTCCTCGATGAGAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4301
+ACCATTAGCGGTCAGGATGCTTTACCCAATATCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4302
+TTTTCTTCGATCATCAACTGCATACCACCAAGAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4303
+CGTTACCGTTATCGATCCGGTCGAAAAACTGCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4304
+AGAGATGGAAACTAAGCCAATACGTAAAGTATTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4305
+TTATGCGAAAGCAAGGGTAAATCAGCACGTTCTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4306
+TTAATTTACTCACGGCAGGTAACCAGTTCAGAAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4307
+AAGTTACCGCATTTATTGAGAATTTCTCCTTTTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4308
+GCGAATAAAAAAATCCCCCCAGGCGGGGGGATCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4309
+CGGGTGCTAATGGGTTCCTGGGGTGCGGAGTTTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4310
+GCGACCTCGTTTGCCGAATGTTCCCTCGCACAGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4311
+CAGGTTATCGAAGTGTTTGTGATTGGCGTCGGTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4312
+CTTCACGCGGCAGACGCCATCTTCATCAATATTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4313
+AGCGATTGCCTCGCCATTCATAATGTTGTTTCCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4314
+ATCCAGCTTCAGCATCTCATCAATTTCAGTCAGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4315
+CGAGAAAATGTCGATCGCCATTATGGCCGGCGTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4316
+GCAATGGTATGAACCACAGGCGAGAGCAGTAATAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4317
+GGCGACATCACCCTCGGCGTTAAACTCTGCGGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4318
+GGCGATCGTGATAATCGTGGCTATTACTGGGATGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4319
+TTTTCTTCGATCATCAACTGCATACCACCAAGAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4320
+ACTGCCAGTTTGTCGGTCGCGTCCACGATCTGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4321
+CATCTGGTGCTCACCACGGGCGGAACTGGCCCTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4322
+CTGCCACAGCCTGGCTGGAAGTACAGTCAACAATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4323
+CTCCAGTAAGCCTTCTTTCAGTTCCAGGTAGAACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4324
+CAGTTCCAGATCCCTTGCCTGATTAAAAATACCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4325
+GACACTGGGGACATCGCGGCAATGAAGCTGTATCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4326
+CAAACCCGGCCTGATTGAGATAATGAATAGATGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4327
+GTTATGCGGCGGAAAAATCGCGGCGTAAATTCCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4328
+CTGCAGAATTCGCCCTTGTGATATCATCAGGGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4329
+ATAGTGGCTATAGAAGGCCAGGGCGTTTTCGCCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4330
+TAAACTCGGCGTGCGCCCGGTGTTTGATCCGTTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4331
+CCGCCCAATGTACAGAACAGTTTTTCTTGCAGTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4332
+CAGCGCGTTGCCGACTGGTTGGGTAAGAACTACCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4333
+TGGCAATCCGGCATTGATATTTAGCGATGATGTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4334
+TCCACTTCGGCAATCTTCACGCGGCAGACGCCATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4335
+ATCCATGAAGCGCGGAAACTGACGCCCCCGCAGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4336
+GATTGGCATTTTTATCGACACCCTGGTCATCTGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4337
+TGTTCGGCGTAACAACGTGGAAACCTTCGCGCAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4338
+CGCAACGGATCAAACACCGGGCGCACGCCGAGTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4339
+ACCCCATTCCCGCCTCATTGGAAAACATACTGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4340
+GTTTAAAGAGAAATACTATCATGACGGACAAATTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4341
+CAGCGGCTGATAATAGTGGCTATAGAAGGCCAGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4342
+CTGGAACTGAAAGAAGGCTTACTGGAGCCGTTGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4343
+GCAAGCTCAAGCTGACGGGAATAGCAGGCGTGAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4344
+TTTCTCCGAGGCGACCACACTGGCGCGGGAAATGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4345
+TGATACTGGAGCGGCAGTGGCTCATGCTTTCTACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4346
+GGTATTAGCAACGATCGTATTCTGATCAAACTGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4347
+CGTCAGTACACCACCGTAGTGGCCGACACTGGGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4348
+TGGCGGATGTAGCGAAACTGCACAAATCCGGTACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4349
+GCAAAAATCAGGGGCTGTTTTTTCCGCACGACCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4350
+ATATTGAAATTGAACCTGTGCTGCCCGCAGAGTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4351
+AGCCGGGAAGGCAAACGCCGCACGTACGCGCTCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4352
+ACTTCCAGCCAGGCTGTGGCAGATCAATATGCCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4353
+ACTCCGCTGCGGTGCTGGCGGCCTGTTTACGCGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4354
+CATCTGACGCCAGATTTATCACCACATTATCGCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4355
+CGGGCATTCTCCGGTGTGAAATTTGGCTGCCAGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4356
+GCGCCTGTTTGCGAATCACCCCCACCTGACGCGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4357
+AAAAAATCCCCCCAGGCGGGGGGATCAGACTGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4358
+CGTGCGCTTTGTTTATGCCGGATGCGGCGTGAACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4359
+TTGATGATCGAAGAAAACGACATCATCAGCCAGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4360
+CGCAGGAAGTCGGCATATTGATCTGCCACAGCCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4361
+TCAGGCGAACGCCGTTGCGCGAGCCCTGAGTTTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4362
+CCATCAGTTGCGTTATGCGGCGGAAAAATCGCGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4363
+CGCCAGTTTATCTACTGCCATTGGATCCTGGTTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4364
+TAACGAGACTGTTTAAACGGAAAAATCTTGATGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4365
+CTCGGGGCGGCGGTGACACCTGTTGATGGTGCATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4366
+TCATTCTGCTTAACGAGACTGTTTAAACGGAAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4367
+ACTACCTGCAAAATCAGGAAGGTTTTGTTCATATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4368
+TTAAGCAGAATGATACACTGCGAAGGGAGTGACAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4369
+GGACGCTGAGGGTAACGTTGTGGTGCACGGTATTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4370
+TGCTGCCACAGGAACTCGGACTCAGTGATACGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4371
+CGTTATTGACCACGACAGAGATTGAGCGTTCAGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4372
+AAGACCGCGAGTGATCGCCAGCAGAGCAAAGACAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4373
+CGAAGATATAAGAAAGCGAACCTGAAAGAATGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4374
+GTTGCGAGATCTGGACGGATGTTGACGGTGTTTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4375
+TGATCTTAAATTTGCCGTTCTTCTCATCGAGGAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4376
+ATGGTGCATTGCTCGGAGATGTAGTCACGGTTGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4377
+TCGTGCAAATTCAATATATTGCAAGAAGATCGTAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4378
+GTATTAACTGTAACCTGACCCTGCTGTTCTCCTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4379
+TTGGGGATTTCCGGTATTTTTAATCAGGCAAGGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4380
+AACGCAGCGAATTGGGCCTCTAGATGCATGCTCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4381
+TCAACTGAAGTTGATGCGCGTCTTTCCTATGACAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4382
+TCATTACGCAAATCACCAGGCTGGTCAGTACCCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4383
+GTTCCGCCGCAAAATCTGGCAACTGAAAGAGCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4384
+CCAGTGGCGATGACTCTGGAAAAGAATATGCCGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4385
+CGTTGGCCCGTGGAACAATTCCAGACAACCGACAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4386
+CACTGGAAGCCGGGGCATAAACTTTAACCATGTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4387
+CGGCACAACCTACATGCCGCTGGAAGGTATTCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4388
+AAGCTGACGGGAATAGCAGGCGTGAATGAAGCCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4389
+CCCCGCTCGAAGGGATAAGATTGTTAACAACGTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4390
+AGCTGGTGGTTCTGGGACGCAACGGTTCCGACTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4391
+TATCTGTCTGTGCGCTATGCCTATATTGGTTAAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4392
+GCATGGTTATGAAACCGTGGTTATGGGCGCAAGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4393
+GAGAACGGCAGTTGTTATTCTCCGCAATCCTAATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4394
+GGCAAAGAATTTCGCCGAGATCCCACGTAAGGTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4395
+GAATGTGAAAGTGGTTATCCTCTATCCACGAGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4396
+TCCGCAGACACCAGATCGCTTTAGGGTTGTTCAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4397
+ACGGGCGGAACTGGCCCTGCGCGTCGTGACGTAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4398
+TGACGCGGATCGCAGGTATAAACACCGTCAACATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4399
+CTCGGAGATGTAGTCACGGTTGAGGCGGCAGAGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4400
+GCGATGGGGGTAATGGTGCGGGGGTGAAGAACTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4401
+TCTGAAATCTACCAGTACTACAAAGAGCATGGTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4402
+GCGGAGAGCGAAGGGGCTATCGAACGTAAACTGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4403
+CAGATCCGCAGACACCAGATCGCTTTAGGGTTGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4404
+TCGACTTCAACAACCTCGCATCGGGCACCTGACGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4405
+GCGCGTCGTGACGTAACGCCCGATGCGACGCTGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4406
+AGAAAGATCATCTCGCGGGTCCGGTTCGGTATAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4407
+ACTGGCTTGATAATCTCGGCATTCAATTTCTTCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4408
+AACACGCCCGCTTCCGCACAAGCACGAGCCTGAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4409
+TGGTGCTTGGGGATTTCCGGTATTTTTAATCAGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4410
+ATAAACAAAGCGCACGTTGTTAACAATCTTATCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4411
+TGAAATTGAACCTGTGCTGCCCGCAGAGTTTAACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4412
+GCATGGCATCAGTTTGTTGGGGCAGTGCCCGGATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4413
+CCTTCTGGATAAGCTGAATACCTTCCAGCGGCATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4414
+GTTCCTGATCTCGCCGTTTGTTGGCCGTATTCTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4415
+TTGATGCGCGTCTTTCCTATGACACCGAAGCGTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4416
+CATCAGCGGAAAACTTAACAAGGTGCCGCCGATGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4417
+TTCAGAAGCTGCTATCAGACACTCTTTTTTTAATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4418
+CTGTCTGTCACTCCCTTCGCAGTGTATCATTCTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4419
+ATTTTTGCCGAACTTCTGACGGGACTCGCCGCCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4420
+TTCCGGTGCCGTTTCAACGTATGGCCCTTCCAGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4421
+AGCAACGATCGTATTCTGATCAAACTGGCTTCTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4422
+GCACAAGCACGAGCCTGAGCGAAGGAGAACAGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4423
+GACGCCAGATTTATCACCACATTATCGCCTTGTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4424
+GAAGTTATCCAAGTACCTCGTAGCGTTATATACTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4425
+GAAAGATCACAATGAGCAGGTCAGCTTTGCGCAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4426
+CCTGTCGTTTTTCTCCATATTTTCTTCATAAAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4427
+TCGGCGATTTGACGGCGGGTCTGCTGGCGAAGTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4428
+TGGCCGGCGTGTTAGAAGCGCGTGGTCACAACGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4429
+CCGTGAGTAAATTAAAATTTTATTGACTTAGGTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4430
+AAAAAGACGGCGAACAGAACGCCCATCCAGCGCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4431
+TGTATCATTCTGCTTAACGAGACTGTTTAAACGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4432
+TGGCCTTTTTGTTCGGCGTAACAACGTGGAAACCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4433
+GCCTCGGAGAAACTCATGCCTTCGTCTAACTTGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4434
+ACGAAGGCATGAGTTTCTCCGAGGCGACCACACTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4435
+ACTTTTGCCAAACTGGCGGATGTAGCGAAACTGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4436
+GCCATGTACATTGGTGAGCAGTGCCTTCGAGTTAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4437
+GGCAAATGCAGAACGTTTTCTGCGGGTTGCCGATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4438
+CTGCATACCACCAAGAAAACACGGTGCCACGTTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4439
+GTTCCACGGGCCAACGCTGGCATTTAAAGATTTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4440
+TTGACCGGGTAAGTTAAGGATCAGCGCCTGTTTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4441
+TACCTTCCGCCAGTTTATCTACTGCCATTGGATCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4442
+GTCTGCGGATCTGCACCTTCGCAACGGTCATCGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4443
+ACAGGCGCTGGAGCCTAAGCCCGAACCGATCGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4444
+TGACAAAATCCAGCTTCAGCATCTCATCAATTTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4445
+ACAGAATAACCACGAGGGTAACAAACTCCGCACCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4446
+ATGCATGCTCGAGCGGCCGCCAGTGTGATGGATAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4447
+GGCCGCTCGAGCATGCATCTAGAGGCCCAATTCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4448
+ATCTGGCATGCATATCCCTCTTATTGCCGGTCGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4449
+AGCGCGTACGTGCGGCGTTTGCCTTCCCGGCTCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4450
+GAAGCCGAAGAAATTGAATGCCGAGATTATCAAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4451
+AAGCCATATTCGCCTGGATTCAACTGGTCACGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4452
+ATTGAAAACTTTCGTCGACCAGGAATTTGCCCAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4453
+CGCAAGAAGCACGTAACCAGTTGGTTGTCTCGGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4454
+GTAGCGAAACTGCACAAATCCGGTACGAAAAGTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4455
+ACGCAACGCAGCAAAATCGGCGGGCAGGTTATGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4456
+TTCGGCAATCTTCACGCGGCAGACGCCATCTTCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4457
+TGCCAGATTTTGCGGCGGAACAACTCTTCCACACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4458
+CGTAAACTCGGCGTGCGCCCGGTGTTTGATCCGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4459
+GCGGAAAACTTAACAAGGTGCCGCCGATGACCGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4460
+TTTCATTACCGGCAGTGAAACCAGCCATCAGCACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4461
+GTAGCATACATGAGGTTTCGTATAAAAATGGCGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4462
+GTAATCCATCGACGAGGTGTTGGCCTTTTTGTTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4463
+CGACCACTGGCGTGCGCGTTACTCATCAGATGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4464
+CTCAGTGATACGCGCCGGACGCGCTTTCACTTCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4465
+ACAACTATCGATCAACTCATTCTCTTTTTTTGCTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4466
+TTTCATTCTGACTGCAACGGGCAATATGTCTCTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4467
+TTATGCAGCCCGGCTTTTTTTATGAAGAAAATATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4468
+GACGTTACAGCTGCCGGTGTCTTTGCTGATCTGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4469
+AGACAACCAACTGGTTACGTGCTTCTTGCGGCAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4470
+GATAACTTCTGCGTAGCATACATGAGGTTTCGTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4471
+AAAAACCATTAGCGGTCAGGATGCTTTACCCAATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4472
+CAGGCCGAAACCTTCAGCGAAGACGATTTCGATTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4473
+GATGTCGCCGCTTTTATGGCGAATCTGTCACAGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4474
+TGGTGCATTGCTCGGAGATGTAGTCACGGTTGAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4475
+CAATGGCGAACTGGTGTTTAAACGCTACGAACAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4476
+GAAAGTGCGAGTACGATAGATTGCATCTTTTTCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4477
+CATTGGGGCGACCACGGCTGGTGGAAACAACATTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4478
+TATCACCACATTATCGCCTTGTGCTGCGAGCGCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4479
+GTAGCGAGCGGTATCTCCGGCTCCGGCCCGACTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4480
+CCACGGCTGGTGGAAACAACATTATGAATGGCGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4481
+CTGAAAGAATGCCGGAGAACTTCATCAATTCATCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4482
+TTCTTTATAAAGCTGTGCGAGGGAACATTCGGCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4483
+GCAGTACGCCATACAAGCCGGAAAGCATTCGCAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4484
+TATTCTGTTTGCCTTCAGCTCCATCGTTGCCAACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4485
+GAATAGCAGGCGTGAATGAAGCCTGCCAGATGTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4486
+TTGCCGCGCGTGTGGCGAAGGCCCGTGATGAAGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4487
+TGCTTCACCAGCGCCTGACAGGCATCGAAATCGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4488
+GGAAAAACTGGAAAAAATGATCGGCGATCTGCTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4489
+ATTCCGGCAGGTCGTGCGGAAAAAACAGCCCCTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4490
+ATTGATGAAGTTCTCCGGCATTCTTTCAGGTTCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4491
+CAGCGTGCGGCTCCGAGGTATAGCCCAGTTCTTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4492
+GGCGTGGTTAGCGCCGATGTCAGCCATTCTTCCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4493
+ATGCGTGAGTTAAAAGAACTGGGCTATACCTCGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4494
+CGCTGCCGGAGCTGTTAGACAACGCCCAGCAGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4495
+ATGATCCGCTGTTCAAAGTGAAAAATGGCGAAAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4496
+CTGGCTAACATCCATCGCATTGGATAACGTCGCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4497
+ACTAACGGTTTTCAGCGCAGTATGTTTTCCAATGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4498
+GTTGCGTTATGCGGCGGAAAAATCGCGGCGTAAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4499
+TTTTATGCAGCCCGGCTTTTTTTATGAAGAAAATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4500
+GATGCGCATCAGCGACAAACTGGCGGGTATCAACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4501
+GAAGTGGATGGTAATGATCCGCTGTTCAAAGTGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4502
+GGATGTGGCGCGTAAGCTATTGATTCTCGCTCGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4503
+AATCAAGCGTTTTCGCAGGTGAAATAAGAATCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4504
+ATGAACAAAACCTTCCTGATTTTGCAGGTAGTTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4505
+GAACTGGAGCTGGCGGATATTGAAATTGAACCTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4506
+TGCTGCGAGCGCCTCGTTCAGCTTGTTGGTGATGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4507
+CTTCTGCCGTCGAGACTTTAATCCCCGGATACGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4508
+TTTTTAATCCACACAGAGACATATTGCCCGTTGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4509
+GCTTGCCAAGCTCCTGGCAAAAACGCTCCCAGCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4510
+CGTGACCGACTTCCCGGTCACGCTAAGTATGATTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4511
+ACGAAGTATATAACGCTACGAGGTACTTGGATAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4512
+AACCCATTAGCACCCGCATCGCCTTCTGGATAAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4513
+CCCTGCCAGGTAGAAGCCAGTTTGATCAGAATACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4514
+CTGCGCTGAAAACCGTTAGTAATCGCCTGGCTTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4515
+CTGGATAAGCTGAATACCTTCCAGCGGCATGTAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4516
+AATCCTGAAACTGGTTCCGGGCCGTATCTCAACTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4517
+GATGGATGTTAGCCAGCCAAACAACTGGCCGCGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4518
+TGCTAAAGTCGGCATAAATTTCCTGCAAGGACTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4519
+CGTTTCACCGAGAATCGCTTCCACGCTCTCTTTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4520
+ATCCAGCGCATCCCCAGCCCGCGCGCCATATACCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4521
+CGAAGATATAAGAAAGCGAACCTGAAAGAATGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4522
+GGATTCAGCAATATCAACGGTAGATTCGAGGTAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4523
+CGGCATGGCGACCTCGTTTGCCGAATGTTCCCTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4524
+CAAGGACTGGATATGCTGATTCTTATTTCACCTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4525
+ATCTTTCATCAGCTTCGCGGCAAGCTCAAGCTGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4526
+TTCAGCAGTGCCGGTGCGATGGTCAGACGGTCGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4527
+GACTTACGTGTCTGCGGTGTTGCTAACTCGAAGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4528
+TTTTTCCTGGTCAACAGCAAACTTACGGATACCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4529
+ACTACCTGCAAAATCAGGAAGGTTTTGTTCATATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4530
+TTAAGTTTTCCGCTGATGTGGCAACTGGCAGATAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4531
+GTCAGTTGCTCTGGTTTGGTCAGCCGATTTTCAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4532
+TTTGGTAATCAAGCGTTTTCGCAGGTGAAATAAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4533
+ATTGCGAAAGCAAAACGCCTGATCAAACTCTACAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4534
+GAGCCGGGAAGGCAAACGCCGCACGTACGCGCTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4535
+GGCGACCACGGCTGGTGGAAACAACATTATGAATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4536
+GCTGCCGGATGCGGAGGCCAGGACGCAGCTGCCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4537
+ATGCCGTAGGCGATGAGCAAAAAGACGGCGAACAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4538
+ACCTGACGCGAAAGGATCGCAGTTGGTACAAAATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4539
+TAACCTGCCCGCCGATTTTGCTGCGTTGCGTAAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4540
+CTGACGAAGGGAGGTCAATTTGTCCGTCATGATAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4541
+CGGTCGCCAATGTTGAAAGCGATGTCGGTTGTCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4542
+TCGTCGAGCTGTGACAGATTCGCCATAAAAGCGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4543
+TGGCAGTAGATAAACTGGCGGAAGGTATCCGTAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4544
+ATAACGGGCAATGATAAAAGGAGTAACCTGTGAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4545
+CAAACGCCGCACGTACGCGCTCTTCCAGGATTTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4546
+GCGCCAGATCAGCCTGCATTTTGTACCAACTGCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4547
+GCATTTTGTACCAACTGCGATCCTTTCGCGTCAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4548
+CGTGAAGATTGCCGAAGTGGATGGTAATGATCCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4549
+CATCACGGCTGGCACCAATGAGCGTACCTGGTGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4550
+GCATGGCGGCGCGCGTCTTTGCAGCGATGTCACGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4551
+CGCCTGCTTCACCAGCGCCTGACAGGCATCGAAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4552
+CGAGGCAAAATCAGTCCACTGCAAGAAAAACTGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4553
+TCGGCGTTAAACTCTGCGGGCAGCACAGGTTCAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4554
+GGAAGAATGGCTGACATCGGCGCTAACCACGCCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4555
+CGGTATAACCCATTTCCCGCGCCAGTGTGGTCGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4556
+CCTGCCAGGTAGAAGCCAGTTTGATCAGAATACGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4557
+ACCGGATCGATAACGGTAACGTTGTGACCACGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4558
+GATTCAACTGGTCACGCAGCGCACGATAAGCTACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4559
+ACCGTCTGACCATCGCACCGGCACTGCTGAAAGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4560
+GCAATCCTAATCTCTAAGTTACCGCATTTATTGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4561
+CATTGCCGCGATGTCCCCAGTGTCGGCCACTACGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4562
+CCGCATTTATTGAGAATTTCTCCTTTTTCCCTGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4563
+GCCCTTCCAACTCGCCCATCAAAGCCAGCAAACGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4564
+TTTTTGTTCGGCGTAACAACGTGGAAACCTTCGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4565
+TTTTATTTGGGCAAATTCCTGGTCGACGAAAGTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4566
+AGGCCGCCAGCACCGCAGCGGAGTAGTCGGAACCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4567
+ACACTGGCGGCCGCTCGAGCATGCATCTAGAGGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4568
+AGGAAGCTTCATCAAAGAAGTAACCTTCGCTATTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4569
+GAGCAATGGCGACAATGTTGATATTGGCGCGGGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4570
+TTTCTTGCAGTGGACTGATTTTGCCTCGTGGATAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4571
+CTCAATCAGGCCGGGTTTGCTTTTATGCAGCCCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4572
+TAGATAATCACTGGCAATGGTATGAACCACAGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4573
+TAGCAGCTTCTGAACTGGTTACCTGCCGTGAGTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4574
+ACTGGCAGGAAGAACTGGCGCAAGCCAAAGAGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4575
+GGGCCAACGCTGGCATTTAAAGATTTCGGCGGTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4576
+AGGCTGTCGCACAGTTGCCGCAAGAAGCACGTAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4577
+CAACGCAGCGAATTGGGCCTCTAGATGCATGCTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4578
+ATTGCCGAAGTGGATGGTAATGATCCGCTGTTCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4579
+GCGAACAAAGTCGGGCCGGAGCCGGAGATACCGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4580
+GTTCTTCCTGCCAGTTTTCCAGATTAAGGCCATGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4581
+TGGGCCTCTAGATGCATGCTCGAGCGGCCGCCAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4582
+CCAGCTTTGCTGACGCTTCAGTTGCTCCAGCAGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4583
+AGCATCAACGCTGCGCTGATTTGCCGTGGCGAGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4584
+CTTCCAGTGCCAATATGAGCGTCGGGTTTGATGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4585
+CTGATTGAGATAATGAATAGATGTTACTGATGATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4586
+AGCCCCTTCGCTCTCCGCCAGCTCTTTCAGCAGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4587
+ACCCTCGGCGTTAAACTCTGCGGGCAGCACAGGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4588
+GTTATTGAGAACCTGCAAAATCTGCTCAATGCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4589
+TGCGCGTCGTGACGTAACGCCCGATGCGACGCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4590
+CGCGACATCCGGTGATACTGGAGCGGCAGTGGCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4591
+CGGCATGGTATATGGCGCGCGGGCTGGGGATGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4592
+TACGGCCCGGAACCAGTTTCAGGATTTCCAGACCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4593
+TATTACTTTGAGGCTGTCGCACAGTTGCCGCAAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4594
+CTGACATCGGCGCTAACCACGCCGTTTGAACTGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4595
+ACTGACTGGTTTTAATAGCGAAGGTTACTTCTTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4596
+ATGCAGGTATTAGCAACGATCGTATTCTGATCAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4597
+AGATCGCTTTAGGGTTGTTCAGGCGTAAAAAGAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4598
+CCGTTTCACGAGCGAGAATCAATAGCTTACGCGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4599
+CGGCAACCCGCAGAAAACGTTCTGCATTTGCCACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4600
+GAGCGAGAATCAATAGCTTACGCGCCACATCCATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4601
+TGAATAACATGGCAATGTTCAGCGTTTCCGGCCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4602
+TTGCTGACGCTTCAGTTGCTCCAGCAGCGCACCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4603
+GCCAAGCTCCTGGCAAAAACGCTCCCAGCACTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4604
+GCGCTTTCACTTCACCAGTGTAAGACAGTTTACGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4605
+ATCTGCGCCAGCAAGCGACTGATGTTGATGGAGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4606
+TGCTGTTCTCCTTCGCTCAGGCTCGTGCTTGTGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4607
+GCGATTTCGATGCCTGTCAGGCGCTGGTGAAGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4608
+TATCCGGCTTGTCACACAGAGCGAACAAAGTCGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4609
+CTGCGTTGATATCGCCCGCCATTTTTATACGAAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4610
+CGCCGATGACCGTTGCGAAGGTGCAGATCCGCAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4611
+GCAACGATGGAGCTGAAGGCAAACAGAATAACCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4612
+GCTCCCCCCGCTCGAAGGGATAAGATTGTTAACAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4613
+CTGGAGCAACTGAAGCGTCAGCAAAGCTGGTTGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4614
+TGCACGATTTTGTAGGCCGGATAAGGCGTTCACGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4615
+ATCACCATTACCACAGGTAACGGTGCGGGCTGACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4616
+CACCACCATCACCATTACCACAGGTAACGGTGCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4617
+GCCCCCGCAGATTAGCTCCCTGATGCGCATCAGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4618
+AAAGAATTTCGCCGAGATCCCACGTAAGGTGCGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4619
+TAGACGAAGGCATGAGTTTCTCCGAGGCGACCACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4620
+TGAAGAACTGAAAGTGGCGCTGGGGCTGAATTCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4621
+AGCGCGGAAACTGACGCCCCCGCAGATTAGCTCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4622
+CTGCCGTAGCTTATCGTGCGCTGCGTGACCAGTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4623
+TGCGCTTTGTTTATGCCGGATGCGGCGTGAACGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4624
+TGCCGGATAATGCCGGATGGCAATCCGGCATTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4625
+TTTCAACATTGGCGACCGGAGCCGGGAAGGCAAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4626
+CTCTATCCACGAGGCAAAATCAGTCCACTGCAAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4627
+TTAGTTTTCCAGTACTCGTGCGCCCGCCGTATCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4628
+GCGAGTCCCGTCAGAAGTTCGGCAAAAATAAGTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4629
+TCAATGCCGGATTGCCATCCGGCATTATCCGGCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4630
+CGGCGTTTGCCTTCCCGGCTCCGGTCGCCAATGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4631
+AAGTTTGCTGTTGACCAGGAAAAACTGGAAAAAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4632
+GCGCTGGGCGGTATCCGGCTTGTCACACAGAGCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4633
+ACGGGCCTTCGCCACACGCGCGGCAAAGAGATCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4634
+ATCGATCCGGTCGAAAAACTGCTGGCAGTGGGTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4635
+GTTGTTCCGCCGCAAAATCTGGCAACTGAAAGAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4636
+GTAATGATTTACCTGCTTTTCGGCGCAGGTTGTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4637
+GGCGCAGATTTGTTATTACTTTGAGGCTGTCGCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4638
+GGTCACTGGCTTATCGCCCGCAATATGGGTCAGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4639
+GAACTACCTGCAAAATCAGGAAGGTTTTGTTCATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4640
+AGGGTATCCGTGCTGCAGAACAGCTGGAAAAAGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4641
+AGTGTCGGCCACTACGGTGGTGTACTGACGAAGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4642
+GACGCGACCGACAAACTGGCAGTAAATATTGGTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4643
+CGGTCAACCGAAGTCTATTAAAGAGACGCTGGAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4644
+ATGTCTCTGTGTGGATTAAAAAAAGAGTGTCTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4645
+GATCAATATGCCGACTTCCTGCGCGAAGGTTTCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4646
+CACTCGCGGTCTTCATGGCGTCGCCCGGCTCATGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4647
+CGGTAAAACGTTTTATTGCTGCGACCAACGTGAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4648
+CCGCCAGTTTATCTACTGCCATTGGATCCTGGTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4649
+GTTTGCTTTTATGCAGCCCGGCTTTTTTTATGAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4650
+CGTTCACGTTGGTCGCAGCAATAAAACGTTTTACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4651
+GCCCTTGACCGGTAATTCGTCTTCATCACGGCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4652
+CATCTGGACAATTCCTTGCGCTGCCGGATGCGGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4653
+CGTACGCGCTCTTCCAGGATTTCCTGCGGGATTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4654
+CGTTGACCACCACGCGCTATACGCTGCCGGAGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4655
+GCGGCGATACTGCGCCGGTAAAATAGCCCTGGCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4656
+CCATAACGGGCAATGATAAAAGGAGTAACCTGTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4657
+GTGATGAAATCCCGCAGGAAATCCTGGAAGAGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4658
+CTGCAACCACTTCCGGTGCCGTTTCAACGTATGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4659
+AGAGATTAGGATTGCGGAGAATAACAACTGCCGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4660
+CGGCCTGATTGAGATAATGAATAGATGTTACTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4661
+TAGTGACCTAAGTCAATAAAATTTTAATTTACTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4662
+CGTTGCGTCCCAGAACCACCAGCTCGCCTTTTTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4663
+GTATTTTAAATCGGTGAAGCCGAAGAAATTGAATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4664
+GTGGCGAGAAAATGTCGATCGCCATTATGGCCGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4665
+CGATTTCGATTTTGCCCAACAGCATTTGCGAATGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4666
+CGTGCAGATGACCAGGGTGTCGATAAAAATGCCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4667
+AACTGGCAGATATCATTATGGCCTGCATGGCTATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4668
+GATGCGCGATCAGAGATGGAAACTAAGCCAATACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4669
+GCTTTCAACATTGGCGACCGGAGCCGGGAAGGCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4670
+GATAGTATTTCTCTTTAAACAGCTTGTTAGGGGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4671
+CGTTGCGAAGGTGCAGATCCGCAGACACCAGATCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4672
+CTTTTATCATTGCCCGTTATGGGTCGATATCCGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4673
+CAGCATTCATTACGACAACGTGGCACCGTGTTTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4674
+CGGAGATACGCCCTTCCAACTCGCCCATCAAAGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4675
+GCGCAACGGCGTTCGCCTGAACTCCGCTGAAAATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4676
+AAGCTGTATCAACCGCAGGATGCCACAACCAACCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4677
+AAGCCAGCAAACGAGTGTCATTAAGCGGCTTGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4678
+TACGGCAGCGTGCGGCTCCGAGGTATAGCCCAGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4679
+TCCAGTTTTTCCTGGTCAACAGCAAACTTACGGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4680
+CGCTCGCTTTCATGACTGGCAGCCAAATTTCACAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4681
+GACATCTGGCAGGCTTCATTCACGCCTGCTATTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4682
+GATCTCGCCGTTTGTTGGCCGTATTCTTGACTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4683
+GCTTTCCGGCTTGTATGGCGTACTGCGCCCGCTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4684
+CCATGCTGATATTACTGGCGGGTAACGGCACAACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4685
+AGGTTTCGGCCTGCAAGCCAGTGTAGACATCACCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4686
+TTCCTGATTTTGCAGGTAGTTCTTACCCAACCAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4687
+GGATGTTAGCCAGCCAAACAACTGGCCGCGTGTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4688
+GCGAAGACGATTTCGATTTTGCCCAACAGCATTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4689
+ACCTAAGTCAATAAAATTTTAATTTACTCACGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4690
+AGGCCCGTGATGAAGGAAAAGTTTTGCGCTATGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4691
+ACCTGCTCATTGTGATCTTTCAGATTGTAGAGTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4692
+GACGAATTACCGGTCAAGGGCATTTCCAATCTGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4693
+CTGATCCATGAAGCGCGGAAACTGACGCCCCCGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4694
+GCAGATTTTGCAGGTTCTCAATAACCGGTAATCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4695
+GTGAAAGTGGTTATCCTCTATCCACGAGGCAAAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4696
+TGTCTGCGGATCTGCACCTTCGCAACGGTCATCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4697
+TATCGCCCGCAATATGGGTCAGCATTTGTGCCATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4698
+CGGAGCCGGGAAGGCAAACGCCGCACGTACGCGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4699
+TCTGTATCAATTCTGGGGAGATATCATCACCAACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4700
+AGATCAGCAAAGACACCGGCAGCTGTAACGTCATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4701
+TGGGGCTGGATTACCGGTTATTGAGAACCTGCAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4702
+CCGATGCGAGGTTGTTGAAGTCGATGTCCTATCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4703
+CAGGTTACTCCTTTTATCATTGCCCGTTATGGGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4704
+TACGCGCCGATTGTTGCGAGATCTGGACGGATGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4705
+CAGGATCCAATGGCAGTAGATAAACTGGCGGAAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4706
+GATCTGCTGTAATCATACTTAGCGTGACCGGGAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4707
+GCTGCCGGATGCGGAGGCCAGGACGCAGCTGCCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4708
+TATCCCCATTTCCAGACGATAAGGCTGCATTAAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4709
+TTTTTCCTGGTCAACAGCAAACTTACGGATACCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4710
+CTTATCGTGCGCTGCGTGACCAGTTGAATCCAGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4711
+GGGCATAAACTTTAACCATGTCAGACTCCTAACTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4712
+CTGCCGCGCCTGCCGGAAGCCTGGCAGTAACCGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4713
+GAACACTGCGGCAAGCCGCTTAATGACACTCGTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4714
+TACTGCGCCCGCTCGATTTAATGCAGCCTTATCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4715
+CGCCGATTGTTGCGAGATCTGGACGGATGTTGACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4716
+GCGGAGTTCAGGCGAACGCCGTTGCGCGAGCCCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4717
+CCCTGTCGTTTTTCTCCATATTTTCTTCATAAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4718
+CCGCTCGAAGGGATAAGATTGTTAACAACGTGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4719
+ATCCTGCGGTTGATACAGCTTCATTGCCGCGATGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4720
+TCAATCAACTTACGGTATTCCGGAATCTGCGCTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4721
+TGGATTCAGCAATATCAACGGTAGATTCGAGGTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4722
+CCACCACGCGCTATACGCTGCCGGAGCTGTTAGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4723
+ACCCGCAGAAAACGTTCTGCATTTGCCACTGATGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4724
+GCGAACGCCGTTGCGCGAGCCCTGAGTTTTTCTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4725
+CTTTAGGGTTGTTCAGGCGTAAAAAGAAGAGATTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4726
+AACTCGGACTCAGTGATACGCGCCGGACGCGCTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4727
+CCCCCCGCTCGAAGGGATAAGATTGTTAACAACGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4728
+TGTTGACCAGGAAAAACTGGAAAAAATGATCGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4729
+TGCTGGGCGTTGTCTAACAGCTCCGGCAGCGTATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4730
+CGTGACCAGTTGAATCCAGGCGAATATGGCTTGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4731
+TACTGGAAAACTAAATGAAACTCTACAATCTGAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4732
+AGTTGGCAACGATGGAGCTGAAGGCAAACAGAATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4733
+CTTGCCGTGCAGATGACCAGGGTGTCGATAAAAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4734
+GGCGGTGCGCTGCTGGAGCAACTGAAGCGTCAGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4735
+TCGCCAATGTTGAAAGCGATGTCGGTTGTCTGGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4736
+GTGTTCCTGATCTCGCCGTTTGTTGGCCGTATTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4737
+GATTGTAGAGTTTCATTTAGTTTTCCAGTACTCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4738
+GACGGGACTAGCGTAATTTCCGCAGCCTGCGCTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4739
+CTACCGTGAACGGTTACTGCCAGGCTTCCGGCAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4740
+GGCAGTTTTGCGTTTGTCATCAGTCTGATCCCCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4741
+CGGCGCTAAAGTTCTTCACCCCCGCACCATTACCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4742
+CTGTTGGGCAAAATCGAAATCGTCTTCGCTGAAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4743
+CCGATAAATGCGGCAACCCACATCCAGAAGACGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4744
+AGCTGAATACCTTCCAGCGGCATGTAGGTTGTGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4745
+GTCTGGAGAAAGCTGGCGACCGATCTCCGGATAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4746
+GGGGATGCGCTGGATGGGCGTTCTGTTCGCCGTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4747
+ACAACATCCATGAAACGCATTAGCACCACCATTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4748
+AATAACGATGATGCGACCACTGGCGTGCGCGTTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4749
+GGTATCTCCGGCTCCGGCCCGACTTTGTTCGCTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4750
+GCACGTTCTGCCAGCTCTTTTGGCAGATCCAACGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4751
+CCAGGCGGGGGGATCAGACTGATGACAAACGCAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4752
+GCCCGGCTTTTTTTATGAAGAAAATATGGAGAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4753
+GCGTACCTGGTGCTTGGGGATTTCCGGTATTTTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4754
+GAAATCCTGGAAGAGCGCGTACGTGCGGCGTTTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4755
+TTCCTGCGCGAAGGTTTCCACGTTGTTACGCCGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4756
+GAAATGCCCTTGACCGGTAATTCGTCTTCATCACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4757
+TGCGACCGTCTGACCATCGCACCGGCACTGCTGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4758
+GCATTTTTATCGACACCCTGGTCATCTGCACGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4759
+GATCTTCTGCCGGAGCGTACTCTTTCTTATCGGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4760
+GTCCGAGGTTGTTGAGACTGAATGTCTCTGCCGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4761
+CGGTGGTGTACTGACGAAGGGAGGTCAATTTGTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4762
+CAGCATCTGATGAGTAACGCGCACGCCAGTGGTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4763
+CCAGGCTGGTCAGTACCCAGATTATCGCCATCAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4764
+GAGGTCAATTTGTCCGTCATGATAGTATTTCTCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4765
+TTAAGCGGCTTGCCGCAGTGTTCATTCATCGCCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4766
+GTTCCGCCGCAAAATCTGGCAACTGAAAGAGCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4767
+CCAGAGCAACTGACTGGTTTTAATAGCGAAGGTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4768
+GAGTCTGACATGGTTAAAGTTTATGCCCCGGCTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4769
+CTCGTTAAGCAGAATGATACACTGCGAAGGGAGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4770
+GTCATCGCGACCGGCAATAAGAGGGATATGCATGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4771
+GCGAGTTGGAAGGGCGTATCTCCGGCAGCATTCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4772
+TCGCCACGGCAAATCAGCGCAGCGTTGATGCTATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4773
+GTTGGTACTGCGCGGATATGGTGCGGGCAATGACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4774
+CACCATTACCCCCATCGCCCAGTTCCAGATCCCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4775
+ATGGCACAAATGCTGACCCATATTGCGGGCGATAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4776
+GTTGAGGCGGCAGAGACATTCAGTCTCAACAACCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4777
+TTATGGCCGGCGTGTTAGAAGCGCGTGGTCACAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4778
+GTTACCCGCCAGTAATATCAGCATGGCGCTTGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4779
+ATGCTACGCAGAAGTTATCCAAGTACCTCGTAGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4780
+CCGGAGCGTACTCTTTCTTATCGGTATTCGCTTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4781
+TAACGGTAACGTTGTGACCACGCGCTTCTAACACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4782
+CCGCCGAACTTCAACACTCGCATGGTTGTTACCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4783
+GGCGTCAGATGAGTATTTTAAATCGGTGAAGCCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4784
+GTGGGGGTGATTCGCAAACAGGCGCTGATCCTTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4785
+CAATATTGCCAACATAGCGCAAAACTTTTCCTTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4786
+GTGTGAAATTTGGCTGCCAGTCATGAAAGCGAGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4787
+TTTGATGTGCTCGGGGCGGCGGTGACACCTGTTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4788
+GCTCCAGTATCACCGGATGTCGCGGTCAGAATGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4789
+CCTGCCAGCCAAAAGCACTCTCAAAAATAGACCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4790
+AATCCCCGGATACGCCAGCACCCACAGCCACTCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4791
+ATCGGCTGACCAAACCAGAGCAACTGACTGGTTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4792
+CACGGGCGACATCTGGCAGGCTTCATTCACGCCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4793
+AATATCAACGGTAGATTCGAGGTAATGACCCACTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4794
+GGGCAGTGCCCGGATAGCATCAACGCTGCGCTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4795
+CCAGTGGTCGCATCATCGTTATTGACCACGACAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4796
+CCGCTTTTATGGCGAATCTGTCACAGCTCGACGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4797
+GCACCCACATGGACCGCCGTCATCGCCGCGCCATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4798
+CCGTTCCGTCACCGCCAACGGCTCCAGTAAGCCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4799
+GGTCGCCTCGGAGAAACTCATGCCTTCGTCTAACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4800
+TTTTGCGCTATGTTGGCAATATTGATGAAGATGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4801
+TTGTAGAGTTTGATCAGGCGTTTTGCTTTCGCAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4802
+GGCTGGGCGGCGGCGAGTCCCGTCAGAAGTTCGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4803
+AAGAATGAGAGAAGGGTTGGTTGTGGCATCCTGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4804
+AAGAAAACACGGTGCCACGTTGTCGTAATGAATGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4805
+TTTTCACTTTGAACAGCGGATCATTACCATCCACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4806
+GCCGCCTCAACCGTGACTACATCTCCGAGCAATGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4807
+GATCTGCTGTAATCATACTTAGCGTGACCGGGAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4808
+GGATGTTGACGGTGTTTATACCTGCGATCCGCGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4809
+CGGCAGCTTATCGGCAAAGCGTCCGAGGTTGTTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4810
+AGGGATGGTTGGCATGGCGGCGCGCGTCTTTGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4811
+GCTTGCGCAAAGCTGACCTGCTCATTGTGATCTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4812
+CCTTCAGCGAAGACGATTTCGATTTTGCCCAACAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4813
+CATGCAGGCCATAATGATATCTGCCAGTTGCCACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4814
+GCCAGCAAACGAGTGTCATTAAGCGGCTTGCCGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4815
+GGGTCAGGTTACAGTTAATACCTTCTTTTTCCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4816
+TCAGAAGCTGCTATCAGACACTCTTTTTTTAATCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4817
+GCTTGAGCTTGCCGCGAAGCTGATGAAAGATGTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4818
+ACTTCAACAACCTCGCATCGGGCACCTGACGCGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4819
+GGTGAAGCAGGCGTTTGATGATGAAGAACTGAAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4820
+TACGTTGAAACGGCACCGGAAGTGGTTGCAGCATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4821
+CTATTTTTGAGAGTGCTTTTGGCTGGCAGGAAGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4822
+CAGGTTACTCCTTTTATCATTGCCCGTTATGGGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4823
+GAGCGAAGGGGCTATCGAACGTAAACTGTCTTACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4824
+ACTCTGCGGGCAGCACAGGTTCAATTTCAATATCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4825
+TATTTGGGCAAATTCCTGGTCGACGAAAGTTTTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4826
+GCACAATGATCATCGTGGCGATCATCGTCCGGGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4827
+TTGCCGCATTTATCGGCATGGCGACCTCGTTTGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4828
+GCTTCATGGATCAGCTGCTGGGCGTTGTCTAACAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4829
+AGTTTGCTGTTGACCAGGAAAAACTGGAAAAAATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4830
+ACGACTCATCAGACCGCGTGCTTTCTTAGCGTAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4831
+GTAGAAAGCATGAGCCACTGCCGCTCCAGTATCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4832
+GTCAACATCCGTCCAGATCTCGCAACAATCGGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4833
+CTCGCCATTCATAATGTTGTTTCCACCAGCCGTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4834
+CATTGCTGGAGGAAGCTTCATCAAAGAAGTAACCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4835
+CCAGGGCGTTTTCGCCATTTTTCACTTTGAACAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4836
+AGTTGCCACATCAGCGGAAAACTTAACAAGGTGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4837
+TGCCTGTCAGGCGCTGGTGAAGCAGGCGTTTGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4838
+GAGGCGACCACACTGGCGCGGGAAATGGGTTATAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4839
+TAACGGTAACGTTGTGACCACGCGCTTCTAACACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4840
+CCAAACTGGCGGATGTAGCGAAACTGCACAAATCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4841
+AAGCCATATTCGCCTGGATTCAACTGGTCACGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4842
+GACGCGCATCAACTTCAGTTGAGATACGGCCCGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4843
+ATGCAGCCGTGGATGATGAAACCACGCAACAGACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4844
+AAGTATTCATCAAGATTTTTCCGTTTAAACAGTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4845
+TCGTTGCCAACTACATTTATGCCGAAAACAATCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4846
+TCGCTACATCCGCCAGTTTGGCAAAAGTCTTAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4847
+GGATTAAAGTCTCGACGGCAGAAGCCAGGGCTATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4848
+AGTTTGATCAGGCGTTTTGCTTTCGCAATTGACGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4849
+AGCTTCGCGGCAAGCTCAAGCTGACGGGAATAGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4850
+CCTCGGAGCCGCACGCTGCCGTAGCTTATCGTGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4851
+AGTTGCGTTATGCGGCGGAAAAATCGCGGCGTAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4852
+CAGCACGGATACCCTGCCAGGTAGAAGCCAGTTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4853
+AGATCTTTCCCTCGGGCATTCTCAAGACGTATCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4854
+TTCTCCGAGGCGACCACACTGGCGCGGGAAATGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4855
+ACTTACGGTATTCCGGAATCTGCGCTGCGTTAAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4856
+CGCTTCTAACACGCCGGCCATAATGGCGATCGACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4857
+GATTCGCAAACAGGCGCTGATCCTTAACTTACCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4858
+TTGGCGGTGCGCTGCTGGAGCAACTGAAGCGTCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4859
+TGCGCTATGCCTATATTGGTTAAAGTATTTAGTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4860
+GGTATATCCCGCCGCGCCGCCTGCAGCTTCCTGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4861
+GTTATTGAGAACCTGCAAAATCTGCTCAATGCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4862
+ACTTTTGCCAAACTGGCGGATGTAGCGAAACTGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4863
+GCGGAAACTGACGCCCCCGCAGATTAGCTCCCTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4864
+CGCAAGGAATTGTCCAGATGATTGGCATTTTTATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4865
+TCCAGTTCAAACGGCGTGGTTAGCGCCGATGTCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4866
+GTTGATGCGCGTCTTTCCTATGACACCGAAGCGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4867
+TCACCAAAGCCTGGCATCTCGCGGTCCGCTACTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4868
+AGTTCGGCATCGCTGATATTGGGTAAAGCATCCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4869
+ATCCGGTGATACTGGAGCGGCAGTGGCTCATGCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4870
+ACGCTTCGGTGTCATAGGAAAGACGCGCATCAACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4871
+CATCATCGCTAAATATCAATGCCGGATTGCCATCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4872
+AAGCTGGTTGAAGAATAAACATATCGACTTACGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4873
+GGTGCTGGCGGCCTGTTTACGCGCCGATTGTTGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4874
+TGATGCGCGTCTTTCCTATGACACCGAAGCGTCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4875
+CATGTGGTCAGCCGGAATGCGGCTTGCCGCAATAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4876
+CCTGTCAGGCGCTGGTGAAGCAGGCGTTTGATGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4877
+TAAAGCGATCTGGTGTCTGCGGATCTGCACCTTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4878
+TTACCGGTCAAGGGCATTTCCAATCTGAATAACAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4879
+CTTTTTCATTACCGGCAGTGAAACCAGCCATCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4880
+AAAGTGCGAGTACGATAGATTGCATCTTTTTCACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4881
+TACGCTGCCGGAGCTGTTAGACAACGCCCAGCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4882
+TCATCAAACGCCTGCTTCACCAGCGCCTGACAGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4883
+CTGTGGGTGCTGGCGTATCCGGGGATTAAAGTCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4884
+GCTTTATAAAGAACGTGATGCCAATGGGCAGTTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4885
+TTTTTTTTCGACCAAAGGTAACGAGGTAACAACCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4886
+GTTGATACCCGCCAGTTTGTCGCTGATGCGCATCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4887
+GCACAAATCCGGTACGAAAAGTGAACCAACAACCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4888
+ACAAGCCGGATACCGCCCAGCGCGTTGCCGACTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4889
+CTTCGTAAACAATTGGTAACGTTTACACAGGAAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4890
+GCGACAAACTGGCGGGTATCAACGCCGCTCGCTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4891
+GGAGCCGTCTTCTGGATGTGGGTTGCCGCATTTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4892
+TAAAGAGAAATACTATCATGACGGACAAATTGACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4893
+CGTTATGGGTCGATATCCGGAGATTACGCGATGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4894
+AGCGACAAACTGGCGGGTATCAACGCCGCTCGCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4895
+ACGCGTACAGGAAACACAGAAAAAAGCCCGCACCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4896
+GCTGCCACAGGAACTCGGACTCAGTGATACGCGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4897
+TCCGGTACGAAAAGTGAACCAACAACCTGCGCCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4898
+ACTGTAACCTGACCCTGCTGTTCTCCTTCGCTCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4899
+CCGGATCGATAACGGTAACGTTGTGACCACGCGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4900
+AATCGCTTCCACGCTCTCTTTAAATTTCGCCGGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4901
+TCGGTCGCGTCCACGATCTGCTGCGCGCGATCGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4902
+CAACTGCATACCACCAAGAAAACACGGTGCCACGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4903
+CCGATCAGGTTATCGAAGTGTTTGTGATTGGCGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4904
+TGCCGAATGTTCCCTCGCACAGCTTTATAAAGAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4905
+AAGGAGTAACCTGTGAAAAAGATGCAATCTATCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4906
+ATCATCCACGGCTGCATAACCCAGCTCTTTCAGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4907
+GTATTCAGCTTATCCAGAAGGCGATGCGGGTGCTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4908
+CTTCCGGTGCCGTTTCAACGTATGGCCCTTCCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4909
+AGATCCAACGTTTCACCGAGAATCGCTTCCACGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4910
+ACTGCCAGCAGTTTTTCGACCGGATCGATAACGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4911
+TTCTTACCCAACCAGTCGGCAACGCGCTGGGCGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4912
+GCTCGAGCATGCATCTAGAGGCCCAATTCGCTGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4913
+CCGACTTCCTGCGCGAAGGTTTCCACGTTGTTACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4914
+TTATGGGCGCAAGCTTCCGTAACATCGGCGAAATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4915
+AACAGCAAACTTACGGATACCTTCCGCCAGTTTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4916
+ACATCCATGAAACGCATTAGCACCACCATTACCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4917
+GATGCGCTGGATGGGCGTTCTGTTCGCCGTCTTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4918
+AGCCAAATTTCACACCGGAGAATGCCCGCCAGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4919
+GGCTCTGACGGCAGCTTATCGGCAAAGCGTCCGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4920
+GAATTTCTCCTTTTTCCCTGTCGTTTTTCTCCATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4921
+CTAATTGTTAAGCTCCCCCCGCTCGAAGGGATAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4922
+CCCCGCTGGTAACAGGTATTATTCTCGCTGTCTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4923
+TGTAATTTTACTGACGGGACTAGCGTAATTTCCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4924
+ATGGGTCGATATCCGGAGATTACGCGATGAGAACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4925
+CTTAGTTTCCATCTCTGATCGCGCATCCAGCGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4926
+TCTGCAGATATCCATCACACTGGCGGCCGCTCGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4927
+GTGGATGATGAAACCACGCAACAGACAATGCGTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4928
+AGTTTTCAATTGTGCCAGCGGAAATCCCGGCTGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4929
+CCATTGGATCCTGGTTGTGCTGCCACAGGAACTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4930
+GCGCCTCGTTCAGCTTGTTGGTGATGATATCTCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4931
+TCCTCGATGAGAAGAACGGCAAATTTAAGATCATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4932
+CTCGAGCGGCCGCCAGTGTGATGGATATCTGCAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4933
+CCGGTTATTGAGAACCTGCAAAATCTGCTCAATGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4934
+AGGCATGAGTTTCTCCGAGGCGACCACACTGGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4935
+ATCTGGTAGCGATGATTGAAAAAACCATTAGCGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4936
+ACAGCCACTCATCAAACCCTGGCACTTGCTGGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4937
+CGCGCCTGCCGGAAGCCTGGCAGTAACCGTTCACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4938
+GTATTATTCTCGCTGTCTTTGCTCTGCTGGCGATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4939
+GTACGCGCTCTTCCAGGATTTCCTGCGGGATTTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4940
+ACCTGATCGGTATTGAACAGCATCTGATGAGTAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4941
+CAGCCCGCGCGCCATATACCATGCCGGTCCGCCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4942
+AATACCGATAAGAAAGAGTACGCTCCGGCAGAAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4943
+TAAATTTGCCGTTCTTCTCATCGAGGAACACTGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4944
+GCAGCCTGCGCTGCCATGGGAGCGACCAGAACCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4945
+ATGATTGCGTAATCAGCACCACGGAAATACGGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4946
+CCATGTGGGTGCCAGCGATTGCCTCGCCATTCATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4947
+CGAACAAAGTCGGGCCGGAGCCGGAGATACCGCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4948
+CAGGTGCGGGCTTTTTTCTGTGTTTCCTGTACGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4949
+ACCTCGTTACCTTTGGTCGAAAAAAAAGCCCGCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4950
+ACCCAGATTATCGCCATCAACGGGACAAACCCCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4951
+AGATTGCCGAAGTGGATGGTAATGATCCGCTGTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4952
+TGGCAATTACCGCCGGTGGACCTGGAGCCGTCTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4953
+CGGGCTGGGGATGCGCTGGATGGGCGTTCTGTTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4954
+AACGCCGGCCAGGTTGCCGCTACCCACGCGCGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4955
+TCATTCTGACTGCAACGGGCAATATGTCTCTGTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4956
+TCAGCCGGAATGCGGCTTGCCGCAATACGGCGGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4957
+TTTTTCCAGTTTTTCCTGGTCAACAGCAAACTTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4958
+AAAGATCATCTCGCGGGTCCGGTTCGGTATAACCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4959
+TTATCTCGGTGGTAGGTGATGGTATGCGCACCTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4960
+CAGGTTACAGTTAATACCTTCTTTTTCCAGCTGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4961
+ACGGGCAATGCAGGAAGAGTTCTACCTGGAACTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4962
+TCCTGCAAGGACTGGATATGCTGATTCTTATTTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4963
+AAATACTTTAACCAATATAGGCATAGCGCACAGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4964
+GCTTGCCGCGAAGCTGATGAAAGATGTTATCGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4965
+GGTGAGCAGTGCCTTCGAGTTAGCAACACCGCAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4966
+CCAATAAACGCCGAGAGGATCTTCGCACTGCGGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4967
+GTTCCAGATCCCTTGCCTGATTAAAAATACCGGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4968
+CTGGCTGATGATGTCGTTTTCTTCGATCATCAACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4969
+TTCTATAGCCACTATTATCAGCCGCTGCCGTTGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4970
+GACCACCACGCGCTATACGCTGCCGGAGCTGTTAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4971
+CTCGCCTGTGGTTCATACCATTGCCAGTGATTATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4972
+CCGCCGCCCCGAGCACATCAAACCCGACGCTCATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4973
+CTCATTTCATCCACCAGTTCACACAACGTTTGCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4974
+CTGGTGCTCACCACGGGCGGAACTGGCCCTGCGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4975
+GTTTCAGAAGAGGTAGCGTGACCGACTTCCCGGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4976
+TATCTGTCTGTGCGCTATGCCTATATTGGTTAAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4977
+GCTGCGCGCGATCGTTGCTCTGCTGTTTCGCCCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4978
+GCCAAAGAGCCGTTTAATCTCGGGCGCTTAATTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4979
+CTCACCACGGGCGGAACTGGCCCTGCGCGTCGTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4980
+GCACCTTACGTGGGATCTCGGCGAAATTCTTTGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4981
+CGAAACCTTCAGCGAAGACGATTTCGATTTTGCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4982
+AACTTCAGTTGAGATACGGCCCGGAACCAGTTTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4983
+GATCGAAGAAAACGACATCATCAGCCAGCAAGTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4984
+ATCGTTGCTAATACCTGCATCGTTGTAGAGTTTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4985
+TAAAAGGAGTAACCTGTGAAAAAGATGCAATCTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4986
+CATAACCTGCCCGCCGATTTTGCTGCGTTGCGTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4987
+GTTTCCTGCACGACGGTCAGTGGTCACCCAAAGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4988
+CTCTTTTTTTAATCCACACAGAGACATATTGCCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4989
+TAAGCGGGTTTCCAGTTCAAACGGCGTGGTTAGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4990
+GTGGGTTGCCGCATTTATCGGCATGGCGACCTCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4991
+CACAATGAGCAGGTCAGCTTTGCGCAAGCCGTAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4992
+ATCGCCTATCTGTAATTTTACTGACGGGACTAGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4993
+TGATACTGGAGCGGCAGTGGCTCATGCTTTCTACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4994
+ACCTACATGCCGCTGGAAGGTATTCAGCTTATCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4995
+GTGCTGCCACAGGAACTCGGACTCAGTGATACGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4996
+CTGAAATTGATGAGATGCTGAAGCTGGATTTTGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4997
+TGGTATGAACCACAGGCGAGAGCAGTAATATGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4998
+GAAACGTTGGATCTGCCAAAAGAGCTGGCAGAACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4999
+ATAGCCATGCAGGCCATAATGATATCTGCCAGTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5000
+TGGATTACTACCATCAGTTGCGTTATGCGGCGGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5001
+CGGCGGGTCTGCTGGCGAAGTCACTCGGTCTGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5002
+TGTCTAACAGCTCCGGCAGCGTATAGCGCGTGGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5003
+GCACCAGGTACGCTCATTGGTGCCAGCCGTGATGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5004
+CTCATCAGACCGCGTGCTTTCTTAGCGTAGAAGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5005
+AGTTGATGCGCGTCTTTCCTATGACACCGAAGCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5006
+CCGCAGCCTGCGCTGCCATGGGAGCGACCAGAACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5007
+GCTGTCTTTGCTCTGCTGGCGATCACTCGCGGTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5008
+AAATTCCTGGTCGACGAAAGTTTTCAATTGTGCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5009
+GAGGATAACCACTTTCACATTCGGTAAACCGTAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5010
+CTGGTACACAATGACTGAAATGAGGTTAAACCGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5011
+TTTTTCCAGCTGTTCTGCAGCACGGATACCCTGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5012
+GCAATACGGCGGGTGGATTCAGCAATATCAACGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5013
+TTATTGACTTAGGTCACTAAATACTTTAACCAATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5014
+CATTGCCATGTTATTCAGATTGGAAATGCCCTTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5015
+ACGATGATCGCCACGATGATCATTGTGCTTGTTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5016
+TGACCGGTAATTCGTCTTCATCACGGCTGGCACCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5017
+GCCGATATTCTGGAAAGCAATGCCAGGCAGGGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5018
+CAACGCCACCGACGCCAATCACAAACACTTCGATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5019
+TACTTTAACCAATATAGGCATAGCGCACAGACAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5020
+AGCCATATTCGCCTGGATTCAACTGGTCACGCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5021
+CAGGATTGCATTGCGCACGGGCGACATCTGGCAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5022
+AGCTGCAGGCGGCGCGGCGGGATATACCTTAAGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5023
+GCGCAATGCAATCCTGGCGGCGATACTGCGCCGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5024
+CATAGGAAAGACGCGCATCAACTTCAGTTGAGATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5025
+CCTGGAACTGAAAGAAGGCTTACTGGAGCCGTTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5026
+ATCCTGGCGGCGATACTGCGCCGGTAAAATAGCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5027
+CCGCACCTGACAGTGCGGGCTTTTTTTTCGACCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5028
+GAAGAGTTCTACCTGGAACTGAAAGAAGGCTTACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5029
+GTTGTCTAACAGCTCCGGCAGCGTATAGCGCGTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5030
+TCATCAGCTTCGCGGCAAGCTCAAGCTGACGGGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5031
+GCTTGCAGGCCGAAACCTTCAGCGAAGACGATTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5032
+GATATCACAAGGGCGAATTCTGCAGATATCCATCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5033
+AGGTATTAGCAACGATCGTATTCTGATCAAACTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5034
+AAGCGCGTGGTCACAACGTTACCGTTATCGATCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5035
+GTGCGCTTTGTTTATGCCGGATGCGGCGTGAACGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5036
+GCCTTATCCGGCCTACAAAATCGTGCAAATTCAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5037
+GACGCGACCGACAAACTGGCAGTAAATATTGGTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5038
+AACTTCAACACTCGCATGGTTGTTACCTCGTTACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5039
+TATAAACACCGTCAACATCCGTCCAGATCTCGCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5040
+AGAATATCATCTGCTGAACCCGGTCATTGTTGACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5041
+ACGTTCTTTATAAAGCTGTGCGAGGGAACATTCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5042
+AACTGGCAGGCTGCGACCGTCTGACCATCGCACCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5043
+CACATTATCGCCTTGTGCTGCGAGCGCCTCGTTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5044
+CACGTTGGTCGCAGCAATAAAACGTTTTACCGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5045
+GTTTTTGCCAGGAGCTTGGCAAGCAAATTCCAGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5046
+ATTGATGAGATGCTGAAGCTGGATTTTGTCACCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5047
+AATAGCCACGATTATCACGATCGCCTATCTGTAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5048
+CCAGTTTTCCAGATTAAGGCCATGTACATTGGTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5049
+AATTCTGCAGATATCCATCACACTGGCGGCCGCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5050
+CGATATCCGGAGATTACGCGATGAGAACGGCAGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5051
+CCACATGGTGCTGATGGCTGGTTTCACTGCCGGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5052
+CATTTCCAATCTGAATAACATGGCAATGTTCAGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5053
+GGATGATGAAACCACGCAACAGACAATGCGTGAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5054
+AGGCCGCCAGCACCGCAGCGGAGTAGTCGGAACCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5055
+TGCCGCCGATGACCGTTGCGAAGGTGCAGATCCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5056
+GACCAACGTGAACGATACCGTACCACGTTTCCTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5057
+CGCCTGAGTCGCTTTGGGTGACCACTGACCGTCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5058
+TCTGCTGTTTCGCCCAGGCGACAGCATCATCAATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5059
+TACTCGTGCGCCCGCCGTATCCAGCCGGCAAATAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5060
+CGTAAACTGTCTTACACTGGTGAAGTGAAAGCGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5061
+GGCCTGATAAGCGTAGCGCATCAGGCAGTTTTGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5062
+GGAATTTACGCCGCGATTTTTCCGCCGCATAACGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5063
+TCGCATCGGGCACCTGACGCGGATCGCAGGTATAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5064
+CTCATCAGATGCTGTTCAATACCGATCAGGTTATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5065
+AATGGCTGACATCGGCGCTAACCACGCCGTTTGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5066
+AATGAGGCGGGAATGGGGTCGACGCCAAACGCGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5067
+GTTTGGCTGGCTAACATCCATCGCATTGGATAACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5068
+TTGCCATCTGGTGCTCACCACGGGCGGAACTGGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5069
+TCAATATTGCCAACATAGCGCAAAACTTTTCCTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5070
+TTCCGCAAAGCGACTGTGTGCGAGCTGAACGGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5071
+CATTTCCAGACGATAAGGCTGCATTAAATCGAGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5072
+CGCTGAAGGTTTCGGCCTGCAAGCCAGTGTAGACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5073
+CCAGTTCACACAACGTTTGCTCGATGATCGCCTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5074
+TTGCCGGCTGGATACGGCGGGCGCACGAGTACTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5075
+TACGATCTTCTTGCAATATATTGAATTTGCACGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5076
+GAACCTGTGCTGCCCGCAGAGTTTAACGCCGAGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5077
+TCGAAGTGTTTGTGATTGGCGTCGGTGGCGTTGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5078
+GCAACCCACATCCAGAAGACGGCTCCAGGTCCACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5079
+TTTAAAGAGAGCGTGGAAGCGATTCTCGGTGAAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5080
+GGTAAAACGTTTTATTGCTGCGACCAACGTGAACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5081
+TCAGACGGTCGCAGCCTGCCAGTTCCAGAATTTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5082
+AAGTGGCGCTGGGGCTGAATTCTGCTAACTCCATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5083
+CACGGGCCTTCGCCACACGCGCGGCAAAGAGATCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5084
+TAACTCGAAGGCACTGCTCACCAATGTACATGGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5085
+GAGGGTAACAAACTCCGCACCCCAGGAACCCATTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5086
+CTTGCGCTGCCGGATGCGGAGGCCAGGACGCAGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5087
+CAATGGCGAACTGGTGTTTAAACGCTACGAACAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5088
+CAGCATTTGCGAATGCTTTCCGGCTTGTATGGCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5089
+CTCTACAATCTGAAAGATCACAATGAGCAGGTCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5090
+CTCGCCACGGCAAATCAGCGCAGCGTTGATGCTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5091
+TTCCTGATCTCGCCGTTTGTTGGCCGTATTCTTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5092
+TACGCCATACAAGCCGGAAAGCATTCGCAAATGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5093
+CATCCACAGCCAGGCGGTTTAACCTCATTTCAGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5094
+GCTCAATGCTGGTGATGAATTGATGAAGTTCTCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5095
+ATGCCGGATAATGCCGGATGGCAATCCGGCATTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5096
+TCACGACGCGCAGGGCCAGTTCCGCCCGTGGTGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5097
+GCGGTGCTGGCGGCCTGTTTACGCGCCGATTGTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5098
+ACTGGCGGGTAACGGCACAACCTACATGCCGCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5099
+CATTAGCACCACCATTACCACCACCATCACCATTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5100
+ACCGGTCAAGGGCATTTCCAATCTGAATAACATGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5101
+GCCTGGCTGGAAGTACAGTCAACAATGACCGGGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5102
+CACCTTTAAACGCCAGAATTGCCTGGCGGGCATTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5103
+CATTGCCATGTTATTCAGATTGGAAATGCCCTTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5104
+GCGACCGTCTGACCATCGCACCGGCACTGCTGAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5105
+TAAAACGTTTTACCGGCAGACCGAGTGACTTCGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5106
+GGCCCGGGGATGAAAGGGATGGTTGGCATGGCGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5107
+ATGGCAGTAGATAAACTGGCGGAAGGTATCCGTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5108
+GCTGTTAGACAACGCCCAGCAGCTGATCCATGAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5109
+GTCGCCCGGCTCATGCAGGGGTTTGTCCCGTTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5110
+AAAGAGCCGTTTAATCTCGGGCGCTTAATTCGCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5111
+ATTGGTAACGTTTACACAGGAAAGTCATCGCGACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5112
+ATGACAAACGCAAAACTGCCTGATGCGCTACGCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5113
+AGGTAGAACTCTTCCTGCATTGCCCGTTCAGCTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5114
+CGTATTCTTGACTGATACAAAGCGAATACCGATAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5115
+GCGATTGCCTCGCCATTCATAATGTTGTTTCCACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5116
+TGATGATTCATCATCAATTTACGCAACGCAGCAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5117
+GACGGCGGGTCTGCTGGCGAAGTCACTCGGTCTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5118
+ACGCGCGCTGCAAGACTGGTACACAATGACTGAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5119
+ATCAATTCTGGGGAGATATCATCACCAACAAGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5120
+GCCTGCTATTCCCGTCAGCTTGAGCTTGCCGCGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5121
+GTAAGCTATTGATTCTCGCTCGTGAAACGGGACGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5122
+AGGCCGGATAAGGCGTTCACGCCGCATCCGGCATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5123
+ATCCTGAAACTGGTTCCGGGCCGTATCTCAACTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5124
+TCGACCGGATCGATAACGGTAACGTTGTGACCACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5125
+GCGAGAATAATACCTGTTACCAGCGGGGGAAAATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5126
+TCACGCATTGTCTGTTGCGTGGTTTCATCATCCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5127
+GTTCAGGCGTAAAAAGAAGAGATTGTTTTCGGCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5128
+GAATATCGGCAACCCGCAGAAAACGTTCTGCATTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5129
+GATTGGAAATGCCCTTGACCGGTAATTCGTCTTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5130
+GTGAAATTTGGCTGCCAGTCATGAAAGCGAGCGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5131
+TTATCACGATCGCCTATCTGTAATTTTACTGACGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5132
+ATGCCGAAAACAATCTCTTCTTTTTACGCCTGAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5133
+TAATACCTTCTTTTTCCAGCTGTTCTGCAGCACGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5134
+CCGAGATTAAACGGCTCTTTGGCTTGCGCCAGTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5135
+CCCGCCGTATTGCGGCAAGCCGCATTCCGGCTGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5136
+GGCTGGCACCAATGAGCGTACCTGGTGCTTGGGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5137
+AATTTTAATTTACTCACGGCAGGTAACCAGTTCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5138
+TTCTTTTGATTTTCCCCCGCTGGTAACAGGTATTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5139
+TTAACAATCTTATCCCTTCGAGCGGGGGGAGCTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5140
+TTGGCGGGGGCAGAGAGGACGGTGGCCACCTGCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5141
+CTATTCCCGTCAGCTTGAGCTTGCCGCGAAGCTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5142
+AACTTAGAGATTAGGATTGCGGAGAATAACAACTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5143
+GGCAAAATCGAAATCGTCTTCGCTGAAGGTTTCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5144
+AGATTTTGCGGCGGAACAACTCTTCCACACGCGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5145
+TCACTGCCGGTAATGAAAAAGGCGAGCTGGTGGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5146
+TATCTGCCAGTTGCCACATCAGCGGAAAACTTAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5147
+GGAATACCGTAAGTTGATTGATGATGCTGTCGCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5148
+CTCCAGTTCACGTCCCGTTTCACGAGCGAGAATCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5149
+AACCGCCTGGCTGTGGATGAATGCTATTTTTAAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5150
+ACCGACATCGCTTTCAACATTGGCGACCGGAGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5151
+AACGTTACCCTCAGCGTCCTTCACACCTTCCAGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5152
+GATTCAGCAATATCAACGGTAGATTCGAGGTAATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5153
+TGTGGCAGCACAACCAGGATCCAATGGCAGTAGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5154
+CCGCATTCCGGCTGACCACATGGTGCTGATGGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5155
+TCGATAGCCCCTTCGCTCTCCGCCAGCTCTTTCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5156
+TATCGTACTCGCACTTTCCCTGGTTCTGGTCGCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5157
+GGAGTCTGACATGGTTAAAGTTTATGCCCCGGCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5158
+ATCGCGTAATCTCCGGATATCGACCCATAACGGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5159
+GAGCCTGAGCGAAGGAGAACAGCAGGGTCAGGTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5160
+CCGTAACATCGGCGAAATTCTGGAACTGGCAGGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5161
+GCCAAACGCGGCAGCGGCAGCTGCGTCCTGGCCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5162
+GTTGATGCGCGTCTTTCCTATGACACCGAAGCGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5163
+TCTACCAGTACTACAAAGAGCATGGTTATGAAACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5164
+CCCCCATCGCCCAGTTCCAGATCCCTTGCCTGATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5165
+GACAGGGAAAAAGGAGAAATTCTCAATAAATGCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5166
+GGGCCAACGCTGGCATTTAAAGATTTCGGCGGTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5167
+TGGGAGCGTTTTTGCCAGGAGCTTGGCAAGCAAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5168
+TCCCCACGTCATTTGGTCTATTTTTGAGAGTGCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5169
+GCTAACCACGCCGTTTGAACTGGAAACCCGCTTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5170
+GTAGTTCTTACCCAACCAGTCGGCAACGCGCTGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5171
+GAAGTAACCTTCGCTATTAAAACCAGTCAGTTGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5172
+TAAGTTAAGGATCAGCGCCTGTTTGCGAATCACCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5173
+GTTACTTCTTTGATGAAGCTTCCTCCAGCAATGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5174
+CTAATTGTTAAGCTCCCCCCGCTCGAAGGGATAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5175
+GTGGTTCTGGGACGCAACGGTTCCGACTACTCCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5176
+ATGTTTCGCAGGAGTAATCACAACTATCGATCAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5177
+ACTCGCCGCCGCCCAGCCGGGATTTCCGCTGGCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5178
+TCGTTCAGCTTGTTGGTGATGATATCTCCCCAGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5179
+CATATTGATCTGCCACAGCCTGGCTGGAAGTACAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5180
+GCTAATACCTGCATCGTTGTAGAGTTTGATCAGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5181
+GGTAGAAGCCAGTTTGATCAGAATACGATCGTTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5182
+TTGCCGCGATGTCCCCAGTGTCGGCCACTACGGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5183
+TACGGCGGGCGCACGAGTACTGGAAAACTAAATGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5184
+GATGCGCATCAGGGAGCTAATCTGCGGGGGCGTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5185
+GCATTTGCGAATGCTTTCCGGCTTGTATGGCGTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5186
+GATCCTCTCGGCGTTTATTGGTGATGAAATCCCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5187
+TTTTATGCAGCCCGGCTTTTTTTATGAAGAAAATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5188
+CCAGACGCGTGGGATGATGTTTCGCAGGAGTAATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5189
+ACCGTACCACGTTTCCTGCACGACGGTCAGTGGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5190
+GGCAATTACCGCCGGTGGACCTGGAGCCGTCTTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5191
+TGCGCATACCATCACCTACCACCGAGATAATGGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5192
+CAGCCAAATTTCACACCGGAGAATGCCCGCCAGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5193
+GTCGATATCCGGAGATTACGCGATGAGAACGGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5194
+ACTGCCGCTCCAGTATCACCGGATGTCGCGGTCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5195
+ACCACGGCTGGTGGAAACAACATTATGAATGGCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5196
+GAAAACTTTCGTCGACCAGGAATTTGCCCAAATAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5197
+TCTCCTTTATTAACAGCGTCCTTTGGGGATCGGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5198
+GTTTAAAGAGAAATACTATCATGACGGACAAATTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5199
+TGGGGTGCGGAGTTTGTTACCCTCGTGGTTATTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5200
+TGAAACCAGCCATCAGCACCATGTGGTCAGCCGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5201
+ACCATTAGCGGTCAGGATGCTTTACCCAATATCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5202
+GAGGTAATGACCCACTGCCAGCAGTTTTTCGACCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5203
+GTGGTCACCCAAAGCGACTCAGGCGACGTTATCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5204
+GGCAGACGCCATCTTCATCAATATTGCCAACATAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5205
+GCGAAAACGCTTGATTACCAAAGCCCGTTGACCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5206
+CAGGTATAAACACCGTCAACATCCGTCCAGATCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5207
+CATCCTGACCGCTAATGGTTTTTTCAATCATCGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5208
+TCACTTTGAACAGCGGATCATTACCATCCACTTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5209
+ATCATCGTGGCGATCATCGTCCGGGGCCTGACAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5210
+AGTGTATCATTCTGCTTAACGAGACTGTTTAAACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5211
+TTCCTGCGCGAAGGTTTCCACGTTGTTACGCCGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5212
+CACGAAACTGCCCATTGGCATCACGTTCTTTATAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5213
+ATTACCGGTCAAGGGCATTTCCAATCTGAATAACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5214
+CGTAATCAGCACCACGGAAATACGGGCGCGTGACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5215
+CCGAAGTGGATGGTAATGATCCGCTGTTCAAAGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5216
+GCCTGGTGATTTGCGTAATGAATATCGGGCAACTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5217
+CTGCGCCGGTAAAATAGCCCTGGCTTCTGCCGTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5218
+ATCATCAGTAACATCTATTCATTATCTCAATCAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5219
+CACAGGAAAGTCATCGCGACCGGCAATAAGAGGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5220
+CGTCAGCTTGAGCTTGCCGCGAAGCTGATGAAAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5221
+TTTATGGCACAAATGCTGACCCATATTGCGGGCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5222
+CGCAGCAGATCGTGGACGCGACCGACAAACTGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5223
+TGCTACGCAGAAGTTATCCAAGTACCTCGTAGCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5224
+TGAATGTCTCTGCCGCCTCAACCGTGACTACATCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5225
+CCAACGCTGGCATTTAAAGATTTCGGCGGTCGCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5226
+GCCAAACGCGGCAGCGGCAGCTGCGTCCTGGCCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5227
+TGCCGGTAAAACGTTTTATTGCTGCGACCAACGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5228
+ATCTTCGGCAAGTTAGACGAAGGCATGAGTTTCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5229
+CAGACTCCTAACTTCCATGGGAGGGTACGTAGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5230
+GGCATAGCGCACAGACAGATAAAAATTACAGAGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5231
+ATTCATCACCAGCATTGAGCAGATTTTGCAGGTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5232
+CCGGATGCGCGGTGCCGAGGAACAAGCCATATTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5233
+CATGAGGTTTCGTATAAAAATGGCGGGCGATATCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5234
+CGTTGATACCCGCCAGTTTGTCGCTGATGCGCATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5235
+GCCTAACCCCTGGGTTACGGCTTGCGCAAAGCTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5236
+CTAATTGTTAAGCTCCCCCCGCTCGAAGGGATAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5237
+GCGGAGTTTGTTACCCTCGTGGTTATTCTGTTTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5238
+TGAGAATTTCTCCTTTTTCCCTGTCGTTTTTCTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5239
+GCCTGGCTGGAAGTACAGTCAACAATGACCGGGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5240
+CCGAGTGGAAACTTCGGCGATTTGACGGCGGGTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5241
+CCGGTGTCTTTGCTGATCTGCTACGTACCCTCCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5242
+CACGCAGCGCACGATAAGCTACGGCAGCGTGCGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5243
+GTTAGACGAAGGCATGAGTTTCTCCGAGGCGACCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5244
+GGTGAGCACCAGATGGCAACTCATTTCATCCACCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5245
+TCAGTTTGTTGGGGCAGTGCCCGGATAGCATCAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5246
+GGCGCTGATGGCGATGAATGAACACTGCGGCAAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5247
+CGATCCTTTCGCGTCAGGTGGGGGTGATTCGCAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5248
+AAGTAAGAAAGCTCCATCGCTTCCTGATAGGACAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5249
+CGGTAAACCGTAGAAAGCATGAGCCACTGCCGCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5250
+ATGGCCCTTCCAGCAACTGAATGCAGTACGGTACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5251
+CTTCGGTTGACCGGGTAAGTTAAGGATCAGCGCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5252
+GTCAATTGCGAAAGCAAAACGCCTGATCAAACTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5253
+CTGATTTGCCGTGGCGAGAAAATGTCGATCGCCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5254
+CTGGGGATGCGCTGGATGGGCGTTCTGTTCGCCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5255
+CAGTTTCGATATTGCCGCCCAATGTACAGAACAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5256
+GCGGAACGCAGAAACTGATACTGTATTCGGAAGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5257
+ACCTTCAGCGAAGACGATTTCGATTTTGCCCAACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5258
+CAATCATCTGGACAATTCCTTGCGCTGCCGGATGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5259
+TGCATACCACCAAGAAAACACGGTGCCACGTTGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5260
+AATCGAAATCGTCTTCGCTGAAGGTTTCGGCCTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5261
+CTGGAAAAAGAAGGTATTAACTGTAACCTGACCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5262
+GGAACACTGGCTTGATAATCTCGGCATTCAATTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5263
+CGCGAAGCTGATGAAAGATGTTATCGCTGAACCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5264
+GCCTGGCTGGAAGTACAGTCAACAATGACCGGGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5265
+GTTTTTTCAATCATCGCTACCAGATGGTTGGTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5266
+GATGCCACAACCAACCCTTCTCTCATTCTTAACGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5267
+ATAAAGCGACCGCCGAAATCTTTAAATGCCAGCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5268
+GTCTTTGCTGATCTGCTACGTACCCTCCCATGGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5269
+GCGGTCAAATTGGTAATAGCCATGCAGGCCATAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5270
+TATGCCTATATTGGTTAAAGTATTTAGTGACCTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5271
+ACTGGTTCCGGGCCGTATCTCAACTGAAGTTGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5272
+CGGCAGTGGCTCATGCTTTCTACGGTTTACCGAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5273
+CGGGCCAACGCTGGCATTTAAAGATTTCGGCGGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5274
+GCGTGACCGGGAAGTCGGTCACGCTACCTCTTCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5275
+AAAAACAGCCCCTGATTTTTGCCTAACCCCTGGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5276
+CATCCATGAAACGCATTAGCACCACCATTACCACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5277
+TTCCAATGAGGCGGGAATGGGGTCGACGCCAAACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5278
+AGCACCCGCATCGCCTTCTGGATAAGCTGAATACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5279
+AGATTTTTCCGTTTAAACAGTCTCGTTAAGCAGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5280
+GGTAGATTCGAGGTAATGACCCACTGCCAGCAGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5281
+CGGAGATACGCCCTTCCAACTCGCCCATCAAAGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5282
+CGCGTAAGCTATTGATTCTCGCTCGTGAAACGGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5283
+CGTTGTTACGCCGAACAAAAAGGCCAACACCTCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5284
+CGATCGTTGCTCTGCTGTTTCGCCCAGGCGACAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5285
+CATGGCAGCGCAGGCTGCGGAAATTACGCTAGTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5286
+TATTTTAAATCGGTGAAGCCGAAGAAATTGAATGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5287
+CGCCATTTTTCACTTTGAACAGCGGATCATTACCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5288
+AATACGGCGGGTGGATTCAGCAATATCAACGGTAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5289
+GAAAGATCACAATGAGCAGGTCAGCTTTGCGCAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5290
+ATAATGATATCTGCCAGTTGCCACATCAGCGGAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5291
+AACCAACAACCTGCGCCGAAAAGCAGGTAAATCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5292
+TGAAGATTGCCGAAGTGGATGGTAATGATCCGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5293
+CACGATGATCATTGTGCTTGTTATGGCGCGGCGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5294
+CGCTGCGTTGATATCGCCCGCCATTTTTATACGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5295
+AGCACCGCAGCGGAGTAGTCGGAACCGTTGCGTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5296
+GTGGCTGTGGGTGCTGGCGTATCCGGGGATTAAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5297
+GTGATACTGGAGCGGCAGTGGCTCATGCTTTCTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5298
+TGACATCGCTGCAAAGACGCGCGCCGCCATGCCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5299
+AGCAATATCAACGGTAGATTCGAGGTAATGACCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5300
+GAACATTCGGCAAACGAGGTCGCCATGCCGATAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5301
+GCTTGCTGGCGCAGATTTGTTATTACTTTGAGGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5302
+GAAATTCTGGAACTGGCAGGCTGCGACCGTCTGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5303
+CGATAAGGCTGCATTAAATCGAGCGGGCGCAGTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5304
+GACTGCAACGGGCAATATGTCTCTGTGTGGATTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5305
+GACGAAGGCATGAGTTTCTCCGAGGCGACCACACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5306
+CTAATTGTTAAGCTCCCCCCGCTCGAAGGGATAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5307
+CTGTGACAGATTCGCCATAAAAGCGGCGACATCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5308
+CTGGATGTGGGTTGCCGCATTTATCGGCATGGCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5309
+GCTGGGTTATGCAGCCGTGGATGATGAAACCACGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5310
+AACATTGTCGCCATTGCTCAGGGATCTTCTGAACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5311
+CAAATAAAACATGTCCTGCATGGCATCAGTTTGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5312
+CCGAAGAGTGCAAGACGCGAAGTTAGCGAATAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5313
+CAATCATCTGGACAATTCCTTGCGCTGCCGGATGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5314
+CCTGCAAAATCAGGAAGGTTTTGTTCATATTTGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5315
+AACATACTGCGCTGAAAACCGTTAGTAATCGCCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5316
+TTGAGACTGAATGTCTCTGCCGCCTCAACCGTGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5317
+GGCAAGCCGCATTCCGGCTGACCACATGGTGCTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5318
+TCAACTGGTCACGCAGCGCACGATAAGCTACGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5319
+ACTTTTCGTACCGGATTTGTGCAGTTTCGCTACAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5320
+CGCCATTGCTGGAGGAAGCTTCATCAAAGAAGTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5321
+ATTGAAAAAACCATTAGCGGTCAGGATGCTTTACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5322
+GTGGGATGATGTTTCGCAGGAGTAATCACAACTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5323
+ATGTGGTCAGCCGGAATGCGGCTTGCCGCAATACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5324
+GGCGGTATCCGGCTTGTCACACAGAGCGAACAAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5325
+GTGGTGATAAATCTGGCGTCAGATGAGTATTTTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5326
+TCTTCATCACGGCTGGCACCAATGAGCGTACCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5327
+GCCCGGTGTTTGATCCGTTGCGTTATCCGGAGATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5328
+TGGCAATTACCGCCGGTGGACCTGGAGCCGTCTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5329
+CATCAACTTCAGTTGAGATACGGCCCGGAACCAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5330
+GGGTTGCCGCATTTATCGGCATGGCGACCTCGTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5331
+CTACAAAGAGCATGGTTATGAAACCGTGGTTATGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5332
+TTCGATCATCAACTGCATACCACCAAGAAAACACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5333
+TGATCAAACTGGCTTCTACCTGGCAGGGTATCCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5334
+ATCATCGCTAAATATCAATGCCGGATTGCCATCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5335
+CAATGCCGGATAATGCCGGATGGCAATCCGGCATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5336
+AATGATCCGCTGTTCAAAGTGAAAAATGGCGAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5337
+ACGACGCGCAGGGCCAGTTCCGCCCGTGGTGAGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5338
+ATTACAGATAGGCGATCGTGATAATCGTGGCTATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5339
+GCAGGCGATCATCGAGCAAACGTTGTGTGAACTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5340
+CCGATTTAAAATACTCATCTGACGCCAGATTTATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5341
+TAGCGATGATTGAAAAAACCATTAGCGGTCAGGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5342
+GGCGATATCAACGCAGCGAATTGGGCCTCTAGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5343
+TGTTGATGGAGTTAGCAGAATTCAGCCCCAGCGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5344
+AAGAGATTGTTTTCGGCATAAATGTAGTTGGCAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5345
+TTGGTACAAAATGCAGGCTGATCTGGCGCATCTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5346
+TTATTGCTGCGACCAACGTGAACGATACCGTACCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5347
+AAAAAGACGGCGAACAGAACGCCCATCCAGCGCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5348
+TCGTCGACCAGGAATTTGCCCAAATAAAACATGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5349
+CTATGACACCAACGTTGGGGCTGGATTACCGGTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5350
+CAGCTCTTTTGGCAGATCCAACGTTTCACCGAGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5351
+CTAATTGTTAAGCTCCCCCCGCTCGAAGGGATAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5352
+GTGTCTGATAGCAGCTTCTGAACTGGTTACCTGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5353
+AGCGTCCGAGGTTGTTGAGACTGAATGTCTCTGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5354
+GAAGGACGCTGAGGGTAACGTTGTGGTGCACGGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5355
+CAGCGTTGATGCTATCCGGGCACTGCCCCAACAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5356
+CAGGTCGTGCGGAAAAAACAGCCCCTGATTTTTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5357
+GATATCGACCCATAACGGGCAATGATAAAAGGAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5358
+ACTGCTGGCAGTGGGTCATTACCTCGAATCTACCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5359
+ACTCACGGCAGGTAACCAGTTCAGAAGCTGCTATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5360
+TTTGCTGCGTTGCGTAAATTGATGATGAATCATCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5361
+GCAGACCGAGTGACTTCGCCAGCAGACCCGCCGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5362
+CTCTATCCACGAGGCAAAATCAGTCCACTGCAAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5363
+GACTGGTTGGGTAAGAACTACCTGCAAAATCAGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5364
+AGTCCCGTCAGAAGTTCGGCAAAAATAAGTTCGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5365
+AACCTTCCTGATTTTGCAGGTAGTTCTTACCCAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5366
+CTGATGACAAACGCAAAACTGCCTGATGCGCTACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5367
+TGCCGATAAGCTGCCGTCAGAGCCACGGGAAAATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5368
+GTTTGCTCGATGATCGCCTGCTCATCGGGGATTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5369
+TTGATATCGCCCGCCATTTTTATACGAAACCTCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5370
+TTACCGGCAGACCGAGTGACTTCGCCAGCAGACCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5371
+AATATCGGGCAACTTCCCCACGTCATTTGGTCTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5372
+TCGCAGCCTGCCAGTTCCAGAATTTCGCCGATGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5373
+ACTGGAAGCCGGGGCATAAACTTTAACCATGTCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5374
+CACGACGGTCAGTGGTCACCCAAAGCGACTCAGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5375
+CGCTGAACCCTACCGTGAACGGTTACTGCCAGGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5376
+AAAGAGCATGGTTATGAAACCGTGGTTATGGGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5377
+CGCGGCGATGACGGCGGTCCATGTGGGTGCCAGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5378
+GGCGTCAGTTTCCGCGCTTCATGGATCAGCTGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5379
+ATCGCCTTCTGGATAAGCTGAATACCTTCCAGCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5380
+GTACGCTCATTGGTGCCAGCCGTGATGAAGACGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5381
+CTGGCAGGGTATCCGTGCTGCAGAACAGCTGGAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5382
+CCTCTCTGCCCCCGCCAAAATCACCAACCATCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5383
+TGACAAGCCGGATACCGCCCAGCGCGTTGCCGACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5384
+GGAAAACTAAATGAAACTCTACAATCTGAAAGATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5385
+GCTCCAGTAAGCCTTCTTTCAGTTCCAGGTAGAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5386
+TGAGACTGAATGTCTCTGCCGCCTCAACCGTGACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5387
+TTGGCTTAGTTTCCATCTCTGATCGCGCATCCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5388
+CTTTTGATTTTCCCCCGCTGGTAACAGGTATTATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5389
+CCTGGCTGTGGATGAATGCTATTTTTAAGACTTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5390
+CCTTGACCGGTAATTCGTCTTCATCACGGCTGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5391
+GGTAAATCATTACCGATCCCCAAAGGACGCTGTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5392
+TCCGGCATTGATATTTAGCGATGATGTTTGTCAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5393
+ATGCCGACTTCCTGCGCGAAGGTTTCCACGTTGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5394
+TTCGGTATAACCCATTTCCCGCGCCAGTGTGGTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5395
+TTCATCACGGCTGGCACCAATGAGCGTACCTGGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5396
+GAAAGCACGCGGTCTGATGAGTCGTTTCATTATTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5397
+GCATGAGCCGGGCGACGCCATGAAGACCGCGAGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5398
+CCGGCGGTAATTGCCAGCGCAACGCCGGCCAGGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5399
+CAGGAACACGCCCGCTTCCGCACAAGCACGAGCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5400
+TGCGCCCATAACCACGGTTTCATAACCATGCTCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5401
+GTTCAGCTTGTTGGTGATGATATCTCCCCAGAATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5402
+CACACAGTCGCTTTGCGGAACGCAGAAACTGATAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5403
+ACCGGAGAATGCCCGCCAGGCAATTCTGGCGTTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5404
+TGATAAGCGTAGCGCATCAGGCAGTTTTGCGTTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5405
+GGGTTTGATGAGTGGCTGTGGGTGCTGGCGTATCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5406
+AAATAGCATTCATCCACAGCCAGGCGGTTTAACCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5407
+AAAGATCACAATGAGCAGGTCAGCTTTGCGCAAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5408
+CGGATAGCATCAACGCTGCGCTGATTTGCCGTGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5409
+GGCTCCGGTCGCCAATGTTGAAAGCGATGTCGGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5410
+CGCGCCGATTGTTGCGAGATCTGGACGGATGTTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5411
+TAAGCCAATACGTAAAGTATTCATCAAGATTTTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5412
+TCCCTTTCATCCCCGGGCCGGAAACGCTGAACATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5413
+TAATGCCGGATGGCAATCCGGCATTGATATTTAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5414
+CTGGTAACAGGTATTATTCTCGCTGTCTTTGCTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5415
+GGTATGAACCACAGGCGAGAGCAGTAATATGGCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5416
+CGCAAGGAATTGTCCAGATGATTGGCATTTTTATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5417
+GTAACAAACTCCGCACCCCAGGAACCCATTAGCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5418
+GGGCTTTTTTCTGTGTTTCCTGTACGCGTCAGCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5419
+ACCGAAGAGTGCAAGACGCGAAGTTAGCGAATAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5420
+TTTGCCGTTCTTCTCATCGAGGAACACTGGCTTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5421
+TCAATTTCAGTCAGGCTGAATTCCGGCAGGTCGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5422
+TCGGCATCGCTGATATTGGGTAAAGCATCCTGACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5423
+AACTGGAAACCCGCTTAATCCCCGATGAGCAGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5424
+ACTGGCTTGCAGGCCGAAACCTTCAGCGAAGACGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5425
+AAAATAAGTTCGGCATCGCTGATATTGGGTAAAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5426
+TGGCTTGTTCCTCGGCACCGCGCATCCGGCGAAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5427
+CGAAACATCATCCCACGCGTCTGGAGAAAGCTGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5428
+GCCGCTCGCTTTCATGACTGGCAGCCAAATTTCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5429
+TTGCGTAATCAGCACCACGGAAATACGGGCGCGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5430
+CAACTGCCGTTCTCATCGCGTAATCTCCGGATATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5431
+CAGGGTATCCGTGCTGCAGAACAGCTGGAAAAAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5432
+GAAATGAGTTGCCATCTGGTGCTCACCACGGGCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5433
+CCAACTCGCCCATCAAAGCCAGCAAACGAGTGTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5434
+TAATACCTGTTACCAGCGGGGGAAAATCAAAAGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5435
+TGCGGGCAGCACAGGTTCAATTTCAATATCCGCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5436
+GATCATCTCGCGGGTCCGGTTCGGTATAACCCATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5437
+CATCAACAGGTGTCACCGCCGCCCCGAGCACATCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5438
+GTAATGGTGGTGCTAATGCGTTTCATGGATGTTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5439
+GTTGGCCCGTGGAACAATTCCAGACAACCGACATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5440
+GTCAGGCCCCGGACGATGATCGCCACGATGATCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5441
+TGCACCACAACGTTACCCTCAGCGTCCTTCACACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5442
+GCCCAGCCGGGATTTCCGCTGGCACAATTGAAAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5443
+ACATGGTTAAAGTTTATGCCCCGGCTTCCAGTGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5444
+TGGCCGGCGTGTTAGAAGCGCGTGGTCACAACGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5445
+TGATGTGCTCGGGGCGGCGGTGACACCTGTTGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5446
+TTACTTCGGCGCTAAAGTTCTTCACCCCCGCACCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5447
+CAGCAAGCGACTGATGTTGATGGAGTTAGCAGAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5448
+CCGCTACTGCCAGCGTCGCATCGGGCGTTACGTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5449
+ACGCCAGCGTAAACTCGGCGTGCGCCCGGTGTTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5450
+GCAAACAGAATAACCACGAGGGTAACAAACTCCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5451
+TCAGACTGATGACAAACGCAAAACTGCCTGATGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5452
+GCATACCATCACCTACCACCGAGATAATGGCCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5453
+CGAGGCGAATTAAGCGCCCGAGATTAAACGGCTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5454
+GGAAATCCCCAAGCACCAGGTACGCTCATTGGTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5455
+TACTTGGATAACTTCTGCGTAGCATACATGAGGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5456
+TGCTAATGGGTTCCTGGGGTGCGGAGTTTGTTACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5457
+TGCGCCGGTAAAATAGCCCTGGCTTCTGCCGTCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5458
+CGGCATAAATTTCCTGCAAGGACTGGATATGCTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5459
+AATGGGTTCCTGGGGTGCGGAGTTTGTTACCCTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5460
+CAGTGCTGGGAGCGTTTTTGCCAGGAGCTTGGCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5461
+TGCTCGATGATCGCCTGCTCATCGGGGATTAAGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5462
+CCGTAGGCGATGAGCAAAAAGACGGCGAACAGAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5463
+CTAACATCCATCGCATTGGATAACGTCGCCTGAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5464
+CCTGGAGCCGTCTTCTGGATGTGGGTTGCCGCATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5465
+TCGAAGGGATAAGATTGTTAACAACGTGCGCTTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5466
+CAGCAAAGACACCGGCAGCTGTAACGTCATTGCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5467
+TCACGCCTGCTATTCCCGTCAGCTTGAGCTTGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5468
+AAATGCGGTAACTTAGAGATTAGGATTGCGGAGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5469
+GTATAACCCATTTCCCGCGCCAGTGTGGTCGCCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5470
+CCGGTCGCCAATGTTGAAAGCGATGTCGGTTGTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5471
+TTAATCCCCGATGAGCAGGCGATCATCGAGCAAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5472
+ACTGGCGGGTAACGGCACAACCTACATGCCGCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5473
+GCGGCAAGCCGCATTCCGGCTGACCACATGGTGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5474
+TCGCGTAATCTCCGGATATCGACCCATAACGGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5475
+ATCTGCACCTTCGCAACGGTCATCGGCGGCACCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5476
+TGGGTAAGAACTACCTGCAAAATCAGGAAGGTTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5477
+AACGGCGAGATCAGGAACACGCCCGCTTCCGCACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5478
+TCCAGTTCACGTCCCGTTTCACGAGCGAGAATCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5479
+AAGAAAAACTGTTCTGTACATTGGGCGGCAATATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5480
+GCGCACGGGCGACATCTGGCAGGCTTCATTCACGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5481
+ACTGATGCCATGCAGGACATGTTTTATTTGGGCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5482
+ATCAGCGGAAAACTTAACAAGGTGCCGCCGATGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5483
+TTCGGGCTTAGGCTCCAGCGCCTGTTCAGTGGTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5484
+CATAGAGGAATTTACGCCGCGATTTTTCCGCCGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5485
+GAGACAACCAACTGGTTACGTGCTTCTTGCGGCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5486
+GTGGAAGAGTTGTTCCGCCGCAAAATCTGGCAACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5487
+ATAGACTTCGGTTGACCGGGTAAGTTAAGGATCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5488
+TCATATTGGCACTGGAAGCCGGGGCATAAACTTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5489
+ATGGAGCTTTCTTACTTCGGCGCTAAAGTTCTTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5490
+TAACCAGTTGGTTGTCTCGGTACCGAGTGGAAACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5491
+CCATCGCACCGGCACTGCTGAAAGAGCTGGCGGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5492
+TGGAAGCCGGGGCATAAACTTTAACCATGTCAGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5493
+TGATCATCGTGGCGATCATCGTCCGGGGCCTGACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5494
+TTCATCAGCTTCGCGGCAAGCTCAAGCTGACGGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5495
+TTCTCAATAAATGCGGTAACTTAGAGATTAGGATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5496
+GATATCATTATGGCCTGCATGGCTATTACCAATTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5497
+CTGGAAACCCGCTTAATCCCCGATGAGCAGGCGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5498
+ACTGGCGGGTATCAACGCCGCTCGCTTTCATGACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5499
+GCCAACGCTGGCATTTAAAGATTTCGGCGGTCGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5500
+AAAGCATCCTGACCGCTAATGGTTTTTTCAATCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5501
+ATCGCCTGGCTTAAGGTATATCCCGCCGCGCCGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5502
+GGTTATGCGAAAGCAAGGGTAAATCAGCACGTTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5503
+TCTTTTCCAGAGTCATCGCCACTGGAATTTGCTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5504
+GAGCTTGCCGCGAAGCTGATGAAAGATGTTATCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5505
+TGACGCTTCGGTGTCATAGGAAAGACGCGCATCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5506
+CCTGAGTCGCTTTGGGTGACCACTGACCGTCGTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5507
+TTACGCGCCACATCCATGCCAGAAAGATCATCTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5508
+ATTGGCATCACGTTCTTTATAAAGCTGTGCGAGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5509
+GAAGGGGCTATCGAACGTAAACTGTCTTACACTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5510
+TTTCTGTGTTTCCTGTACGCGTCAGCCCGCACCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5511
+TAGAAAGCATGAGCCACTGCCGCTCCAGTATCACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5512
+TTGCCTGGCGGGCATTCTCCGGTGTGAAATTTGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5513
+TGTCTTTGCTGATCTGCTACGTACCCTCCCATGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5514
+GGTCAGGTTACAGTTAATACCTTCTTTTTCCAGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5515
+CAGTTGATGATCGAAGAAAACGACATCATCAGCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5516
+TTCTGCGTAGCATACATGAGGTTTCGTATAAAAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5517
+TTCTTGCAGTGGACTGATTTTGCCTCGTGGATAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5518
+GCCAGGACGCAGCTGCCGCTGCCGCGTTTGGCGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5519
+CGCTGCCGGATGCGGAGGCCAGGACGCAGCTGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5520
+CGGCGGTCGCTTTATGGCACAAATGCTGACCCATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5521
+GTTTCATCATCCACGGCTGCATAACCCAGCTCTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5522
+GATTGGCGTCGGTGGCGTTGGCGGTGCGCTGCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5523
+CGAGCGAGAATCAATAGCTTACGCGCCACATCCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5524
+CTGGCAATTACCGCCGGTGGACCTGGAGCCGTCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5525
+ACGCTGGCGTAGATAATCACTGGCAATGGTATGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5526
+TTCTGAACGCTCAATCTCTGTCGTGGTCAATAACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5527
+TCAGCGGAGTTCAGGCGAACGCCGTTGCGCGAGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5528
+AACCCATTAGCACCCGCATCGCCTTCTGGATAAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5529
+CCGACTTTAGCAAAAAAAGAGAATGAGTTGATCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5530
+GATCCTTAACTTACCCGGTCAACCGAAGTCTATTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5531
+GCACGTAACCAGTTGGTTGTCTCGGTACCGAGTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5532
+TTCTTATTTCACCTGCGAAAACGCTTGATTACCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5533
+CAGGGGCAGGTGGCCACCGTCCTCTCTGCCCCCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5534
+GGGTCAGGTTACAGTTAATACCTTCTTTTTCCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5535
+TTGGTTAAAGTATTTAGTGACCTAAGTCAATAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5536
+GATTAAGGCCATGTACATTGGTGAGCAGTGCCTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5537
+CGCTTTCAACATTGGCGACCGGAGCCGGGAAGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5538
+TCCCAGAACCACCAGCTCGCCTTTTTCATTACCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5539
+CTGTTTAAACGGAAAAATCTTGATGAATACTTTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5540
+ATGGTTGTTACCTCGTTACCTTTGGTCGAAAAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5541
+TAGATAAACTGGCGGAAGGTATCCGTAAGTTTGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5542
+AAGTATGATTACAGCAGATCGCCGATCATTTTTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5543
+GCCGAAACCTTCAGCGAAGACGATTTCGATTTTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5544
+ATCATTCTGCTTAACGAGACTGTTTAAACGGAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5545
+TCCCCGGGCCGGAAACGCTGAACATTGCCATGTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5546
+ACGGCAGCGTGCGGCTCCGAGGTATAGCCCAGTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5547
+CGTATAGCGCGTGGTGGTCAACGGGCTTTGGTAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5548
+GGGCGACATCTGGCAGGCTTCATTCACGCCTGCTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5549
+TAACGTTGTGACCACGCGCTTCTAACACGCCGGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5550
+CGTTTGCTGGCTTTGATGGGCGAGTTGGAAGGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5551
+AGTTTTTCTTTTGATTTTCCCCCGCTGGTAACAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5552
+GTGGTTTCATCATCCACGGCTGCATAACCCAGCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5553
+CATAACCTGCCCGCCGATTTTGCTGCGTTGCGTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5554
+TTTCAACATTGGCGACCGGAGCCGGGAAGGCAAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5555
+GATGCGGGTGCTAATGGGTTCCTGGGGTGCGGAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5556
+GATGCGCATCAGGGAGCTAATCTGCGGGGGCGTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5557
+ACGCCATCTTCATCAATATTGCCAACATAGCGCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5558
+TCAAACTGGCTTCTACCTGGCAGGGTATCCGTGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5559
+GCCGAATGTTCCCTCGCACAGCTTTATAAAGAACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5560
+CTCTACAATCTGAAAGATCACAATGAGCAGGTCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5561
+TGGAAGCCGGGGCATAAACTTTAACCATGTCAGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5562
+GAGATACCGCTCGCTACCGCGCCGATTTCCGCAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5563
+AAATGGGGATACGTCTTGAGAATGCCCGAGGGAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5564
+ATCAGAATACGATCGTTGCTAATACCTGCATCGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5565
+CTCCCATGGCAGCGCAGGCTGCGGAAATTACGCTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5566
+CACCACCATCACCATTACCACAGGTAACGGTGCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5567
+CGTTGTGTGAACTGGTGGATGAAATGAGTTGCCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5568
+CATTACCACAGGTAACGGTGCGGGCTGACGCGTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5569
+CCGTTACCCGCCAGTAATATCAGCATGGCGCTTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5570
+GATGCGCGGTGCCGAGGAACAAGCCATATTCGCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5571
+GCATCGTTGTAGAGTTTGATCAGGCGTTTTGCTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5572
+CCACATTATCGCCTTGTGCTGCGAGCGCCTCGTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5573
+CCAATGGCAGTAGATAAACTGGCGGAAGGTATCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5574
+CGGCTTGTATGGCGTACTGCGCCCGCTCGATTTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5575
+ATTGACGCTTCGGTGTCATAGGAAAGACGCGCATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5576
+AGCAGAATTCAGCCCCAGCGCCACTTTCAGTTCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5577
+TGCACGACGGTCAGTGGTCACCCAAAGCGACTCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5578
+GATCTGCACCTTCGCAACGGTCATCGGCGGCACCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5579
+GATTAAAAATACCGGAAATCCCCAAGCACCAGGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5580
+CTCGCTACCGCGCCGATTTCCGCAACCGCCTGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5581
+GAACGAGGCGCTCGCAGCACAAGGCGATAATGTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5582
+CGCTTCAGTTGCTCCAGCAGCGCACCGCCAACGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5583
+TCTATTCATTATCTCAATCAGGCCGGGTTTGCTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5584
+TTGAGAATGCCCGAGGGAAAGATCTGTATCAATTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5585
+TCCCTGATGCGCATCAGCGACAAACTGGCGGGTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5586
+CGCGATCGTTGCTCTGCTGTTTCGCCCAGGCGACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5587
+ACCGAGTGACTTCGCCAGCAGACCCGCCGTCAAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5588
+TGGTCTGGAAATCCTGAAACTGGTTCCGGGCCGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5589
+GCTCTTTTGGCAGATCCAACGTTTCACCGAGAATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5590
+CGCACCATATCCGCGCAGTACCAACGGCAGCGGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5591
+CGAGGGTAACAAACTCCGCACCCCAGGAACCCATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5592
+GATCACTCGCGGTCTTCATGGCGTCGCCCGGCTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5593
+GCCATGTTATTCAGATTGGAAATGCCCTTGACCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5594
+TAACGTCGCCTGAGTCGCTTTGGGTGACCACTGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5595
+ATCCCCCTAACAAGCTGTTTAAAGAGAAATACTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5596
+CGCGCTGGCCCGCGCCAATATCAACATTGTCGCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5597
+GAGTCGCTTTGGGTGACCACTGACCGTCGTGCAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5598
+TAGTCAATGCCGGATAATGCCGGATGGCAATCCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5599
+ATTACAGATAGGCGATCGTGATAATCGTGGCTATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5600
+GGCAAAATCAGTCCACTGCAAGAAAAACTGTTCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5601
+TTGGATCTGCCAAAAGAGCTGGCAGAACGTGCTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5602
+TCCGCCAGCTCTTTCAGCAGTGCCGGTGCGATGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5603
+AGTCATCGCCACTGGAATTTGCTTGCCAAGCTCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5604
+TTATCCTGATAAACGCCGCTGGATGCGCGATCAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5605
+ACTTTCAGTTCTTCATCATCAAACGCCTGCTTCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5606
+GTGCGGGCTTTTTTTTCGACCAAAGGTAACGAGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5607
+GCGGAAATTACGCTAGTCCCGTCAGTAAAATTACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5608
+CATCGCGTAATCTCCGGATATCGACCCATAACGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5609
+TCCTTTGGGGATCGGTAATGATTTACCTGCTTTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5610
+CACGATTATCACGATCGCCTATCTGTAATTTTACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5611
+TGGCAACAGTTTCGATATTGCCGCCCAATGTACAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5612
+CATCAATATTGCCAACATAGCGCAAAACTTTTCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5613
+AGTTTTCCGCTGATGTGGCAACTGGCAGATATCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5614
+TGGGCTATACCTCGGAGCCGCACGCTGCCGTAGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5615
+CTTTCTTATATCTTCGGCAAGTTAGACGAAGGCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5616
+GTCATGAAAGCGAGCGGCGTTGATACCCGCCAGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5617
+AGTGGACTGATTTTGCCTCGTGGATAGAGGATAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5618
+CCGAGGTTGTTGAGACTGAATGTCTCTGCCGCCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5619
+CCGCTTCCGCACAAGCACGAGCCTGAGCGAAGGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5620
+ACTGAAAGAAGGCTTACTGGAGCCGTTGGCGGTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5621
+GTGATTTTGGCGGGGGCAGAGAGGACGGTGGCCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5622
+AAGAAGAGATTGTTTTCGGCATAAATGTAGTTGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5623
+GAAAATCGGCTGACCAAACCAGAGCAACTGACTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5624
+TGTGCGGAAGCGGGCGTGTTCCTGATCTCGCCGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5625
+GATGATGCGACCACTGGCGTGCGCGTTACTCATCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5626
+GGTTTCCACGTTGTTACGCCGAACAAAAAGGCCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5627
+GTCACACAGAGCGAACAAAGTCGGGCCGGAGCCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5628
+CCAGCGCATCCCCAGCCCGCGCGCCATATACCATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5629
+TTTGCTGTTGACCAGGAAAAACTGGAAAAAATGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5630
+CCGGAAATCCCCAAGCACCAGGTACGCTCATTGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5631
+TTGTCACCCGCAGTGCGAAGATCCTCTCGGCGTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5632
+AGTTTGATCAGGCGTTTTGCTTTCGCAATTGACGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5633
+TACAGAAACCACGCCCGGATCTTCTGCCGGAGCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5634
+CGTTATTGACCACGACAGAGATTGAGCGTTCAGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5635
+ATCTTCTTGCAATATATTGAATTTGCACGATTTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5636
+CGATAAGCTGCCGTCAGAGCCACGGGAAAATATCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5637
+CCAGGTCCACCGGCGGTAATTGCCAGCGCAACGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5638
+GATTCTCGCTCGTGAAACGGGACGTGAACTGGAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5639
+GGCGACAATGTTGATATTGGCGCGGGCCAGCGCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5640
+CTCTGGAAAAGAATATGCCGATCGGTTCGGGCTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5641
+AAAGCGACCGCCGAAATCTTTAAATGCCAGCGTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5642
+AGGATGCCACAACCAACCCTTCTCTCATTCTTAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5643
+CAAAATCGAAATCGTCTTCGCTGAAGGTTTCGGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5644
+AGGATGCTTTACCCAATATCAGCGATGCCGAACTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5645
+GGACTCGCCGCCGCCCAGCCGGGATTTCCGCTGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5646
+GATCAGCAAAGACACCGGCAGCTGTAACGTCATTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5647
+CGGCTGGTGGAAACAACATTATGAATGGCGAGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5648
+AGTACGATAGATTGCATCTTTTTCACAGGTTACTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5649
+CACCAGTGTAAGACAGTTTACGTTCGATAGCCCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5650
+GGTAAATCATTACCGATCCCCAAAGGACGCTGTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5651
+CGTTTTCGCAGGTGAAATAAGAATCAGCATATCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5652
+AGCAACTGAAGCGTCAGCAAAGCTGGTTGAAGAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5653
+CCACGAGGGTAACAAACTCCGCACCCCAGGAACCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5654
+CGCAACCGCCTGCCGCGCCTGCCGGAAGCCTGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5655
+CCTGTGTAAACGTTACCAATTGTTTACGAAGTATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5656
+TCGACATTTTCTCGCCACGGCAAATCAGCGCAGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5657
+ACAAATCTGCGCCAGCAAGCGACTGATGTTGATGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5658
+CAGCTTGTTGGTGATGATATCTCCCCAGAATTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5659
+GTATTATTCTCGCTGTCTTTGCTCTGCTGGCGATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5660
+AGATTAAGGCCATGTACATTGGTGAGCAGTGCCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5661
+TGGCAGTGGGTCATTACCTCGAATCTACCGTTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5662
+AACAAACGGCGAGATCAGGAACACGCCCGCTTCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5663
+CTGCATCGTTGTAGAGTTTGATCAGGCGTTTTGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5664
+GTTTTTGCCAGGAGCTTGGCAAGCAAATTCCAGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5665
+CGGCGCGGCGGGATATACCTTAAGCCAGGCGATTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5666
+CTGCGACCGTCTGACCATCGCACCGGCACTGCTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5667
+CTGACAGGCATCGAAATCGCCGTCGATGGCAACAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5668
+TCCAGCCGGCAAATATGAACAAAACCTTCCTGATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5669
+TCACGTTCTTTATAAAGCTGTGCGAGGGAACATTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5670
+ATTCCTCTATGACACCAACGTTGGGGCTGGATTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5671
+TAAAATTTTATTGACTTAGGTCACTAAATACTTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5672
+AAATCAGGAAGGTTTTGTTCATATTTGCCGGCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5673
+CATCCCCCTAACAAGCTGTTTAAAGAGAAATACTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5674
+AAGACGAATTACCGGTCAAGGGCATTTCCAATCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5675
+TCTCGCCGTTTGTTGGCCGTATTCTTGACTGATAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5676
+GATTCGCAAACAGGCGCTGATCCTTAACTTACCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5677
+TGCCAACTACATTTATGCCGAAAACAATCTCTTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5678
+GACCGACAAACTGGCAGTAAATATTGGTCTGGAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5679
+ACGATAAGCTACGGCAGCGTGCGGCTCCGAGGTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5680
+AAACTGTCTTACACTGGTGAAGTGAAAGCGCGTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5681
+CACGGATACCCTGCCAGGTAGAAGCCAGTTTGATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5682
+AGATCCCTGAGCAATGGCGACAATGTTGATATTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5683
+GAGCTTTCTTACTTCGGCGCTAAAGTTCTTCACCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5684
+GCACCACCATTACCACCACCATCACCATTACCACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5685
+GATTACGCGATGAGAACGGCAGTTGTTATTCTCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5686
+TTGCCACTGATGTACCGCCGAACTTCAACACTCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5687
+AAGGTGCGCATACCATCACCTACCACCGAGATAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5688
+AGCATGGTTATGAAACCGTGGTTATGGGCGCAAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5689
+GGATAAGGCGTTCACGCCGCATCCGGCATAAACAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5690
+ACGCGCCCGTATTTCCGTGGTGCTGATTACGCAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5691
+GTCAGATGAGTATTTTAAATCGGTGAAGCCGAAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5692
+AGCTGCAGGCGGCGCGGCGGGATATACCTTAAGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5693
+GTTTGTCAGGCCCCGGACGATGATCGCCACGATGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5694
+ATGGTCACTGGCTTATCGCCCGCAATATGGGTCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5695
+CCAACTCGCCCATCAAAGCCAGCAAACGAGTGTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5696
+TTGTAGAGTTTGATCAGGCGTTTTGCTTTCGCAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5697
+CGTTCACGGTAGGGTTCAGCGATAACATCTTTCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5698
+GTACTGACCAGCCTGGTGATTTGCGTAATGAATAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5699
+TGCTGGCGCAGATTTGTTATTACTTTGAGGCTGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5700
+CCTGCATTTTGTACCAACTGCGATCCTTTCGCGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5701
+TTTCGGCCTGCAAGCCAGTGTAGACATCACCTTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5702
+GACTGAAATTGATGAGATGCTGAAGCTGGATTTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5703
+CCGCACCGTTACCTGTGGTAATGGTGATGGTGGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5704
+GCATCCGGCATAAACAAAGCGCACGTTGTTAACAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5705
+ATCCAATGGCAGTAGATAAACTGGCGGAAGGTATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5706
+CAGTATCAGTTTCTGCGTTCCGCAAAGCGACTGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5707
+CAGTTAATACCTTCTTTTTCCAGCTGTTCTGCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5708
+AAAAAAGAGTGTCTGATAGCAGCTTCTGAACTGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5709
+TCGAAAAAAAAGCCCGCACTGTCAGGTGCGGGCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5710
+GGCGGGAATGGGGTCGACGCCAAACGCGGCAGCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5711
+CTGGCAGTAACCGTTCACGGTAGGGTTCAGCGATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5712
+ACGGTTTACCGAATGTGAAAGTGGTTATCCTCTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5713
+TGCGCTGCGTTAAGAATGAGAGAAGGGTTGGTTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5714
+CAACAGTTTCGATATTGCCGCCCAATGTACAGAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5715
+TTTTCCCTGTCGTTTTTCTCCATATTTTCTTCATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5716
+TCCGGCGAAATTTAAAGAGAGCGTGGAAGCGATTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5717
+CTTATCCCTTCGAGCGGGGGGAGCTTAACAATTAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5718
+TTCTTTCAGTTCCAGGTAGAACTCTTCCTGCATTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5719
+GATGAATGCTATTTTTAAGACTTTTGCCAAACTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5720
+GTTGCGAAGGTGCAGATCCGCAGACACCAGATCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5721
+ACTGGCGGAAGGTATCCGTAAGTTTGCTGTTGACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5722
+AGAACAGTTTTTCTTGCAGTGGACTGATTTTGCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5723
+GTTGAGGCGGCAGAGACATTCAGTCTCAACAACCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5724
+ATGATGAAGAACTGAAAGTGGCGCTGGGGCTGAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5725
+AGTTGAGATACGGCCCGGAACCAGTTTCAGGATTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5726
+TGAACTGGAAACCCGCTTAATCCCCGATGAGCAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5727
+TGGTGAACAGATGCGCCAGATCAGCCTGCATTTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5728
+CTTCGTAAACAATTGGTAACGTTTACACAGGAAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5729
+CCAATGAGCGTACCTGGTGCTTGGGGATTTCCGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5730
+GGAAAAGAATATGCCGATCGGTTCGGGCTTAGGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5731
+CTTGCCGAAGATATAAGAAAGCGAACCTGAAAGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5732
+CGACCGATCTCCGGATAACGCAACGGATCAAACAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5733
+CAACGTTTGCTCGATGATCGCCTGCTCATCGGGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5734
+CATAACCATGCTCTTTGTAGTACTGGTAGATTTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5735
+ATTAAAACCAGTCAGTTGCTCTGGTTTGGTCAGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5736
+TCCCACGCGTCTGGAGAAAGCTGGCGACCGATCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5737
+CTGACGCCCCCGCAGATTAGCTCCCTGATGCGCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5738
+CCTTGCTTTCGCATAACCTGCCCGCCGATTTTGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5739
+TTTCCAATCTGAATAACATGGCAATGTTCAGCGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5740
+TGAGATAATGAATAGATGTTACTGATGATTCATCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5741
+TGGCTGTGGGTGCTGGCGTATCCGGGGATTAAAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5742
+CCACTGCAAGAAAAACTGTTCTGTACATTGGGCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5743
+CAATATCAGCGATGCCGAACTTATTTTTGCCGAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5744
+GCCAGTAATATCAGCATGGCGCTTGCCGTGCAGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5745
+TCGACGAAAGTTTTCAATTGTGCCAGCGGAAATCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5746
+CGGCAAATCAGCGCAGCGTTGATGCTATCCGGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5747
+AGTTTTCAATTGTGCCAGCGGAAATCCCGGCTGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5748
+TCATCTTCCGAATACAGTATCAGTTTCTGCGTTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5749
+CGTTCAGCTCGCACACAGTCGCTTTGCGGAACGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5750
+GTGCACGGTATTTTTGCCAGCGTACCGTACTGCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5751
+GCCAGTTGTTTGGCTGGCTAACATCCATCGCATTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5752
+GTTTCCACTCGGTACCGAGACAACCAACTGGTTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5753
+GCGCTGATGGCGATGAATGAACACTGCGGCAAGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5754
+TGATTACCAAAGCCCGTTGACCACCACGCGCTATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5755
+GCTGATTACGCAATCATCTTCCGAATACAGTATCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5756
+CAACTACATTTATGCCGAAAACAATCTCTTCTTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5757
+AGAGCAACGATCGCGCGCAGCAGATCGTGGACGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5758
+TCCAGCTTCAGCATCTCATCAATTTCAGTCAGGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5759
+ATCAAGCCAGTGTTCCTCGATGAGAAGAACGGCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5760
+CAGTTGATGATCGAAGAAAACGACATCATCAGCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5761
+GAAGCCTGCCAGATGTCGCCCGTGCGCAATGCAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5762
+AAACATCATCGCTAAATATCAATGCCGGATTGCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5763
+CTTTGCGCAAGCCGTAACCCAGGGGTTAGGCAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5764
+CAACTGGCAGATATCATTATGGCCTGCATGGCTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5765
+GCTAACTTCGCGTCTTGCACTCTTCGGTCTGAATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5766
+GCATAACCTGCCCGCCGATTTTGCTGCGTTGCGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5767
+TTATGAAGAAAATATGGAGAAAAACGACAGGGAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5768
+CACCTTACGTGGGATCTCGGCGAAATTCTTTGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5769
+TGCGGAGAATAACAACTGCCGTTCTCATCGCGTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5770
+GCCATTGCTCAGGGATCTTCTGAACGCTCAATCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5771
+GTACATTGGTGAGCAGTGCCTTCGAGTTAGCAACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5772
+CAACCCACATCCAGAAGACGGCTCCAGGTCCACCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5773
+AGAGCAACTGACTGGTTTTAATAGCGAAGGTTACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5774
+ACACTTCGATAACCTGATCGGTATTGAACAGCATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5775
+GGTATTAGCAACGATCGTATTCTGATCAAACTGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5776
+CGGTCAGAATGGTCACTGGCTTATCGCCCGCAATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5777
+CGCGCTGGCCCGCGCCAATATCAACATTGTCGCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5778
+CTGGAAAAAGAAGGTATTAACTGTAACCTGACCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5779
+CCGAGCAATGCACCATCAACAGGTGTCACCGCCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5780
+CCTGGTCATCTGCACGGCAAGCGCCATGCTGATAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5781
+AAGCATGAGCCACTGCCGCTCCAGTATCACCGGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5782
+CTGCATTCAGTTGCTGGAAGGGCCATACGTTGAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5783
+GGCCGGAAACGCTGAACATTGCCATGTTATTCAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5784
+GCGTCTGGAGAAAGCTGGCGACCGATCTCCGGATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5785
+AGCTGGTTGAAGAATAAACATATCGACTTACGTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5786
+TTTCCAGTTCAAACGGCGTGGTTAGCGCCGATGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5787
+CTACGTACCCTCCCATGGAAGTTAGGAGTCTGACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5788
+GGCGCACGCCGAGTTTACGCTGGCGTAGATAATCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5789
+AGGCGACAGCATCATCAATCAACTTACGGTATTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5790
+AGTCATGAAAGCGAGCGGCGTTGATACCCGCCAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5791
+GTGCTGCGAGCGCCTCGTTCAGCTTGTTGGTGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5792
+TAAAAGCAAACCCGGCCTGATTGAGATAATGAATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5793
+TTATCAGGCCTACGATCTTCTTGCAATATATTGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5794
+TCATCAAGATTTTTCCGTTTAAACAGTCTCGTTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5795
+TAATCTCTAAGTTACCGCATTTATTGAGAATTTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5796
+GCCGCCAGTGTGATGGATATCTGCAGAATTCGCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5797
+GGTACTTGGATAACTTCTGCGTAGCATACATGAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5798
+CTTTATAAAGCTGTGCGAGGGAACATTCGGCAAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5799
+AGTAATAGCCACGATTATCACGATCGCCTATCTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5800
+ACGATCGCGCGCAGCAGATCGTGGACGCGACCGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5801
+ATTGGTCTGGAAATCCTGAAACTGGTTCCGGGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5802
+CAGCCAAAAGCACTCTCAAAAATAGACCAAATGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5803
+GATGGCGATAATCTGGGTACTGACCAGCCTGGTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5804
+CCTTTCGCGTCAGGTGGGGGTGATTCGCAAACAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5805
+CAGCTCGCCTTTTTCATTACCGGCAGTGAAACCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5806
+GATTTACCCTTGCTTTCGCATAACCTGCCCGCCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5807
+GTCCGGTTCGGTATAACCCATTTCCCGCGCCAGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5808
+AGGGTGTCGATAAAAATGCCAATCATCTGGACAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5809
+ACCACGCGCTATACGCTGCCGGAGCTGTTAGACAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5810
+ATTGGAAATGCCCTTGACCGGTAATTCGTCTTCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5811
+TCTGCAGCACGGATACCCTGCCAGGTAGAAGCCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5812
+CTGGCTTCTGCCGTCGAGACTTTAATCCCCGGATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5813
+TCCGGTGCCGTTTCAACGTATGGCCCTTCCAGCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5814
+TATTGGTCTGGAAATCCTGAAACTGGTTCCGGGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5815
+CACCATTACCCCCATCGCCCAGTTCCAGATCCCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5816
+CACGGATACCCTGCCAGGTAGAAGCCAGTTTGATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5817
+TTCAGCGCAGTATGTTTTCCAATGAGGCGGGAATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5818
+GCTGCCGCGTTTGGCGTCGACCCCATTCCCGCCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5819
+TCTGCCACAGCCTGGCTGGAAGTACAGTCAACAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5820
+AAACCTTCAGCGAAGACGATTTCGATTTTGCCCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5821
+CCTTCGCTCAGGCTCGTGCTTGTGCGGAAGCGGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5822
+AGTACGCCATACAAGCCGGAAAGCATTCGCAAATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5823
+TCTTTTGATTTTCCCCCGCTGGTAACAGGTATTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5824
+CAGCGTCGCATCGGGCGTTACGTCACGACGCGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5825
+TGCCTCGCCATTCATAATGTTGTTTCCACCAGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5826
+GGCGGTTTAACCTCATTTCAGTCATTGTGTACCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5827
+TATAGAAGGCCAGGGCGTTTTCGCCATTTTTCACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5828
+ATAAATGTAGTTGGCAACGATGGAGCTGAAGGCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5829
+CACCACCGTAGTGGCCGACACTGGGGACATCGCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5830
+AAGCTGACCTGCTCATTGTGATCTTTCAGATTGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5831
+TCATTGCCGCGATGTCCCCAGTGTCGGCCACTACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5832
+TTCTCATCGCGTAATCTCCGGATATCGACCCATAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5833
+TGTTGCCATCGACGGCGATTTCGATGCCTGTCAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5834
+ACTGGCCCTGCGCGTCGTGACGTAACGCCCGATGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5835
+TGAGAATTTCTCCTTTTTCCCTGTCGTTTTTCTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5836
+GATGTTTGTCAGGCCCCGGACGATGATCGCCACGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5837
+CCGTTTAAACAGTCTCGTTAAGCAGAATGATACAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5838
+AAATCAAAAGAAAAACTCAGGGCTCGCGCAACGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5839
+CCCACGTCATTTGGTCTATTTTTGAGAGTGCTTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5840
+AGGGTACGTAGCAGATCAGCAAAGACACCGGCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5841
+CTGTAATTTTTATCTGTCTGTGCGCTATGCCTATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5842
+ATATTGGCACTGGAAGCCGGGGCATAAACTTTAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5843
+CAGAAACTGATACTGTATTCGGAAGATGATTGCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5844
+CCGTTCCGTCACCGCCAACGGCTCCAGTAAGCCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5845
+GCACCTGACGCGGATCGCAGGTATAAACACCGTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5846
+TCTTTTTCACAGGTTACTCCTTTTATCATTGCCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5847
+TCAGCCTGACTGAAATTGATGAGATGCTGAAGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5848
+CGCGTGGTCACAACGTTACCGTTATCGATCCGGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5849
+CGCTTTCACTTCACCAGTGTAAGACAGTTTACGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5850
+CGGCGGGATATACCTTAAGCCAGGCGATTACTAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5851
+GATTTCCAGACCAATATTTACTGCCAGTTTGTCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5852
+AATATGGGTCAGCATTTGTGCCATAAAGCGACCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5853
+AGTGGTCGCGGCGCTGATGGCGATGAATGAACACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5854
+CCATGCGAGTGTTGAAGTTCGGCGGTACATCAGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5855
+AATAAAACGTTTTACCGGCAGACCGAGTGACTTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5856
+GATCTGCTACGTACCCTCCCATGGAAGTTAGGAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5857
+TTCACGGTAGGGTTCAGCGATAACATCTTTCATCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5858
+TGGTATATGGCGCGCGGGCTGGGGATGCGCTGGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5859
+AGAGTTCTACCTGGAACTGAAAGAAGGCTTACTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5860
+TGAGAGTGCTTTTGGCTGGCAGGAAGCTGCAGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5861
+GGATAAGCTGAATACCTTCCAGCGGCATGTAGGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5862
+GAATTCTGCAGATATCCATCACACTGGCGGCCGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5863
+CCAGGAAAAACTGGAAAAAATGATCGGCGATCTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5864
+TCCCTCTTATTGCCGGTCGCGATGACTTTCCTGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5865
+TGATGCGACCACTGGCGTGCGCGTTACTCATCAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5866
+TGGAAGTACAGTCAACAATGACCGGGTTCAGCAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5867
+AATGGTATGAACCACAGGCGAGAGCAGTAATATGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5868
+TCTGGATGTGGGTTGCCGCATTTATCGGCATGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5869
+CAGCTTTGCGCAAGCCGTAACCCAGGGGTTAGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5870
+GCCTTATCCGGCCTACAAAATCGTGCAAATTCAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5871
+CTTTTGATTTTCCCCCGCTGGTAACAGGTATTATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5872
+TAGCGCCGATGTCAGCCATTCTTCCAGCGCAGGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5873
+CGGTAATGAAAAAGGCGAGCTGGTGGTTCTGGGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5874
+CGCAGCAGATCGTGGACGCGACCGACAAACTGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5875
+TCGCGCGCAGCAGATCGTGGACGCGACCGACAAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5876
+CGGCAACCCACATCCAGAAGACGGCTCCAGGTCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5877
+GACCATTCTGACCGCGACATCCGGTGATACTGGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5878
+AGAGCTGGCAGAACGTGCTGATTTACCCTTGCTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5879
+CTGCAGGCGGCGCGGCGGGATATACCTTAAGCCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5880
+GCTTTATAAAGAACGTGATGCCAATGGGCAGTTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5881
+CAGGGGCAGGTGGCCACCGTCCTCTCTGCCCCCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5882
+AACTTAGAGATTAGGATTGCGGAGAATAACAACTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5883
+CCGACACTGGGGACATCGCGGCAATGAAGCTGTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5884
+AGCACTGATAAACGATATTTTCCCGTGGCTCTGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5885
+ATCGACACCCTGGTCATCTGCACGGCAAGCGCCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5886
+GTCAAATTGGTAATAGCCATGCAGGCCATAATGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5887
+GGTTGTGGCATCCTGCGGTTGATACAGCTTCATTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5888
+TTGCAGCGATGTCACGCGCCCGTATTTCCGTGGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5889
+TTCCGCAGCCTGCGCTGCCATGGGAGCGACCAGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5890
+GGTTATCCTCTATCCACGAGGCAAAATCAGTCCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5891
+CTCAATAAATGCGGTAACTTAGAGATTAGGATTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5892
+CGTTCCGTCACCGCCAACGGCTCCAGTAAGCCTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5893
+GCAGGAGTAATCACAACTATCGATCAACTCATTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5894
+TTCTGTATCTGAAATCTACCAGTACTACAAAGAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5895
+GGAAGAACTGGCGCAAGCCAAAGAGCCGTTTAATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5896
+TGAGCGAAGGAGAACAGCAGGGTCAGGTTACAGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5897
+CGTAACAACGTGGAAACCTTCGCGCAGGAAGTCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5898
+CAGAGCAACTGACTGGTTTTAATAGCGAAGGTTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5899
+GCTGATCTGCTACGTACCCTCCCATGGAAGTTAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5900
+ATCGTATTCTGATCAAACTGGCTTCTACCTGGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5901
+CAAAGGACGCTGTTAATAAAGGAGAAAAAATCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5902
+TACCACAGGTAACGGTGCGGGCTGACGCGTACAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5903
+TGCAAAATCAGGAAGGTTTTGTTCATATTTGCCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5904
+GCCGTTCCGTCACCGCCAACGGCTCCAGTAAGCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5905
+CGGTCAAGGGCATTTCCAATCTGAATAACATGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5906
+AGTTTACGTTCGATAGCCCCTTCGCTCTCCGCCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5907
+CCCTGATTTTTGCCTAACCCCTGGGTTACGGCTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5908
+CTCGTGAAAGAATATCATCTGCTGAACCCGGTCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5909
+CAGCAAACGAGTGTCATTAAGCGGCTTGCCGCAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5910
+TTTTTAATCCACACAGAGACATATTGCCCGTTGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5911
+ATGACCAGGGTGTCGATAAAAATGCCAATCATCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5912
+TTGTAGAGTTTCATTTAGTTTTCCAGTACTCGTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5913
+AATCATCTTCCGAATACAGTATCAGTTTCTGCGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5914
+GGATGGCAATCCGGCATTGATATTTAGCGATGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5915
+GGGCAGTGCCCGGATAGCATCAACGCTGCGCTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5916
+TGCCAGTGATTATCTACGCCAGCGTAAACTCGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5917
+ATCATCGTGGCGATCATCGTCCGGGGCCTGACAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5918
+AATAAAACGTTTTACCGGCAGACCGAGTGACTTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5919
+GTTGCCAGATTTTGCGGCGGAACAACTCTTCCACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5920
+ACCGAGACAACCAACTGGTTACGTGCTTCTTGCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5921
+AGATATCCATCACACTGGCGGCCGCTCGAGCATGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5922
+CTTGTGCGGAAGCGGGCGTGTTCCTGATCTCGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5923
+AAAAAAAGAGTGTCTGATAGCAGCTTCTGAACTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5924
+CGGCTGCATAACCCAGCTCTTTCAGTTGCCAGATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5925
+AGTCATTGTGTACCAGTCTTGCAGCGCGCGTGGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5926
+TCGGAACCGTTGCGTCCCAGAACCACCAGCTCGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5927
+TCACGAGCGAGAATCAATAGCTTACGCGCCACATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5928
+AGCTGATCCATGAAGCGCGGAAACTGACGCCCCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5929
+GACACCAGATCGCTTTAGGGTTGTTCAGGCGTAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5930
+TGTAAACGTTACCAATTGTTTACGAAGTATATAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5931
+GGAACACTGGCTTGATAATCTCGGCATTCAATTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5932
+CAGATTTATCACCACATTATCGCCTTGTGCTGCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5933
+CACGTTCTTTATAAAGCTGTGCGAGGGAACATTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5934
+CCGCAGTGTTCATTCATCGCCATCAGCGCCGCGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5935
+CAGGAAAAACTGGAAAAAATGATCGGCGATCTGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5936
+AGACAACCAACTGGTTACGTGCTTCTTGCGGCAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5937
+CCAGATTATCGCCATCAACGGGACAAACCCCTGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5938
+TCATGTATGCTACGCAGAAGTTATCCAAGTACCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5939
+GGCATAAATTTCCTGCAAGGACTGGATATGCTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5940
+AAGCCGCTTAATGACACTCGTTTGCTGGCTTTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5941
+GTCTCTGTGTGGATTAAAAAAAGAGTGTCTGATAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5942
+AGGGCATTTCCAATCTGAATAACATGGCAATGTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5943
+TATTTTCTTCATAAAAAAAGCCGGGCTGCATAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5944
+GTATCAACGCCGCTCGCTTTCATGACTGGCAGCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5945
+ACAAACTTAACGTTGTTCGTAGCGTTTAAACACCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5946
+GGTTTCAGAAGAGGTAGCGTGACCGACTTCCCGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5947
+ATTTTTAATCAGGCAAGGGATCTGGAACTGGGCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5948
+AGTAACGCGCACGCCAGTGGTCGCATCATCGTTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5949
+AATTGGGCCTCTAGATGCATGCTCGAGCGGCCGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5950
+GGAAGTTGCCCGATATTCATTACGCAAATCACCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5951
+TAACATCTATTCATTATCTCAATCAGGCCGGGTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5952
+CCGCTGGAAGGTATTCAGCTTATCCAGAAGGCGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5953
+CGCAACGGCGTTCGCCTGAACTCCGCTGAAAATTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5954
+TGCAAAATCTGCTCAATGCTGGTGATGAATTGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5955
+AAGTATTTAGTGACCTAAGTCAATAAAATTTTAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5956
+TTGCCGATATTCTGGAAAGCAATGCCAGGCAGGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5957
+AATTTGCCGTTCTTCTCATCGAGGAACACTGGCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5958
+CGCGTGTGGCGAAGGCCCGTGATGAAGGAAAAGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5959
+CGTGTCTGCGGTGTTGCTAACTCGAAGGCACTGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5960
+GGGGCTATCGAACGTAAACTGTCTTACACTGGTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5961
+GACGGCGGTCCATGTGGGTGCCAGCGATTGCCTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5962
+AAGCCTTCTTTCAGTTCCAGGTAGAACTCTTCCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5963
+TGAAAATCGGCTGACCAAACCAGAGCAACTGACTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5964
+GAAATTCTTTGCCGCGCTGGCCCGCGCCAATATCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5965
+TTGGGCAAATTCCTGGTCGACGAAAGTTTTCAATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5966
+GCGGCAAGCTCAAGCTGACGGGAATAGCAGGCGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5967
+CTGAACAACCCTAAAGCGATCTGGTGTCTGCGGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5968
+CCTCTATCCACGAGGCAAAATCAGTCCACTGCAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5969
+GTTGGTTCACTTTTCGTACCGGATTTGTGCAGTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5970
+TGCGGGCGATAAGCCAGTGACCATTCTGACCGCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5971
+GTGATATCATCAGGGCAGACCGGTTACATCCCCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5972
+TTCGTATAAAAATGGCGGGCGATATCAACGCAGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5973
+GGTGCGATGGTCAGACGGTCGCAGCCTGCCAGTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5974
+CAGGCGAACGCCGTTGCGCGAGCCCTGAGTTTTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5975
+GCCAGTTCTTCCTGCCAGTTTTCCAGATTAAGGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5976
+TATCGATCCGGTCGAAAAACTGCTGGCAGTGGGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5977
+CCGCATCCGGCAGCGCAAGGAATTGTCCAGATGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5978
+AGGATCTTCGCACTGCGGGTGACAAAATCCAGCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5979
+GCAGAATTCGCCCTTGTGATATCATCAGGGCAGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5980
+AGGCCAGGGCGTTTTCGCCATTTTTCACTTTGAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5981
+GCGGCGGCGAGTCCCGTCAGAAGTTCGGCAAAAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5982
+ACCAGCGCCTGACAGGCATCGAAATCGCCGTCGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5983
+TGTTGACCAGGAAAAACTGGAAAAAATGATCGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5984
+CTTTCAACATTGGCGACCGGAGCCGGGAAGGCAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5985
+TACGCTCATTGGTGCCAGCCGTGATGAAGACGAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5986
+TTTACGCGCCGATTGTTGCGAGATCTGGACGGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5987
+CATGGGAGCGACCAGAACCAGGGAAAGTGCGAGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5988
+GGCTTCACCGATTTAAAATACTCATCTGACGCCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5989
+TTGCAGGTTCTCAATAACCGGTAATCCAGCCCCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5990
+GGTAATGGTGCGGGGGTGAAGAACTTTAGCGCCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5991
+CGCGATTTTTCCGCCGCATAACGCAACTGATGGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5992
+GTCTTTGCAGCGATGTCACGCGCCCGTATTTCCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5993
+TCTGGTAGCGATGATTGAAAAAACCATTAGCGGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5994
+GATGATGCGACCACTGGCGTGCGCGTTACTCATCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5995
+GCAATCCTGGCGGCGATACTGCGCCGGTAAAATAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5996
+GATACCGCTCGCTACCGCGCCGATTTCCGCAACCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5997
+CGCCGCGACCACTGAACAGGCGCTGGAGCCTAAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5998
+GCCGGAATTCAGCCTGACTGAAATTGATGAGATGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5999
+ACCAGGATCCAATGGCAGTAGATAAACTGGCGGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6000
+GCAGCCTGCGCTGCCATGGGAGCGACCAGAACCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6001
+AAAGCGAACCTGAAAGAATGCCGGAGAACTTCATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6002
+ATCAATTCATCACCAGCATTGAGCAGATTTTGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6003
+CGAAGTATATAACGCTACGAGGTACTTGGATAACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6004
+TCTCGGCGAAATTCTTTGCCGCGCTGGCCCGCGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6005
+TTGATGAGATGCTGAAGCTGGATTTTGTCACCCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6006
+CTAATGGTTTTTTCAATCATCGCTACCAGATGGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6007
+TCGGAACCGTTGCGTCCCAGAACCACCAGCTCGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6008
+CCGGCCTGATTGAGATAATGAATAGATGTTACTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6009
+ATGCTGCAACCACTTCCGGTGCCGTTTCAACGTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6010
+GGCGTTTTCGCCATTTTTCACTTTGAACAGCGGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6011
+CCAGTTCAGAAGCTGCTATCAGACACTCTTTTTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6012
+TTCAACGTATGGCCCTTCCAGCAACTGAATGCAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6013
+CACCAGATCGCTTTAGGGTTGTTCAGGCGTAAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6014
+ATCAACATTGTCGCCATTGCTCAGGGATCTTCTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6015
+CGGAAATACGGGCGCGTGACATCGCTGCAAAGACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6016
+TCTTTCAGGTTCGCTTTCTTATATCTTCGGCAAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6017
+TGGCGCATCTGTTCACCAAAGCCTGGCATCTCGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6018
+AATTATGCCGTAGGCGATGAGCAAAAAGACGGCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6019
+AACTTAGAGATTAGGATTGCGGAGAATAACAACTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6020
+TCAATTTCAGTCAGGCTGAATTCCGGCAGGTCGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6021
+TGGCGCTGGGGCTGAATTCTGCTAACTCCATCAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6022
+TTGCTTTCGCATAACCTGCCCGCCGATTTTGCTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6023
+GGGCGCAAGCTTCCGTAACATCGGCGAAATTCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6024
+CGAGCAAACGTTGTGTGAACTGGTGGATGAAATGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6025
+TACGCTAAGAAAGCACGCGGTCTGATGAGTCGTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6026
+AAGCAGGCGTTTGATGATGAAGAACTGAAAGTGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6027
+AGTGAAACCAGCCATCAGCACCATGTGGTCAGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6028
+ATAGCCCCTTCGCTCTCCGCCAGCTCTTTCAGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6029
+ACGAGGTCGCCATGCCGATAAATGCGGCAACCCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6030
+GGTCAACCGAAGTCTATTAAAGAGACGCTGGAAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6031
+GATTGTAGAGTTTCATTTAGTTTTCCAGTACTCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6032
+CAGTTGTTATTCTCCGCAATCCTAATCTCTAAGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6033
+GCCATTTTTCACTTTGAACAGCGGATCATTACCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6034
+ATGCCAATCATCTGGACAATTCCTTGCGCTGCCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6035
+TCCCGTCAGAAGTTCGGCAAAAATAAGTTCGGCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6036
+TGTAGTTGGCAACGATGGAGCTGAAGGCAAACAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6037
+TGCATTGCCCGTTCAGCTCGCACACAGTCGCTTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6038
+CAGGTGTCACCGCCGCCCCGAGCACATCAAACCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6039
+CCACGCGCTTCTAACACGCCGGCCATAATGGCGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6040
+GCCTTCTTTCAGTTCCAGGTAGAACTCTTCCTGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6041
+ATGGCGCTTGCCGTGCAGATGACCAGGGTGTCGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6042
+CCAGCATTGAGCAGATTTTGCAGGTTCTCAATAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6043
+ACGCGAAGTTAGCGAATAAAAAAATCCCCCCAGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6044
+TCGATAACCTGATCGGTATTGAACAGCATCTGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6045
+TGTGTAAACGTTACCAATTGTTTACGAAGTATATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6046
+AGCTGGCGGAGAGCGAAGGGGCTATCGAACGTAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6047
+AATGCAGGCTGATCTGGCGCATCTGTTCACCAAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6048
+GCCCAGTTCCAGATCCCTTGCCTGATTAAAAATAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6049
+AGGGATGCCTTTATCCTGATAAACGCCGCTGGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6050
+CAGCAGCTGATCCATGAAGCGCGGAAACTGACGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6051
+CTTTGCCGCGCTGGCCCGCGCCAATATCAACATTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6052
+CAGGTATAAACACCGTCAACATCCGTCCAGATCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6053
+CTACAATCTGAAAGATCACAATGAGCAGGTCAGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6054
+CTCGGGCATTCTCAAGACGTATCCCCATTTCCAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6055
+TTTCATAACCATGCTCTTTGTAGTACTGGTAGATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6056
+CTCGCCTTTTTCATTACCGGCAGTGAAACCAGCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6057
+CGCCAGATCAGCCTGCATTTTGTACCAACTGCGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6058
+GGCGGGTATCAACGCCGCTCGCTTTCATGACTGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6059
+CATCCTGACCGCTAATGGTTTTTTCAATCATCGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6060
+CTGACCAAACCAGAGCAACTGACTGGTTTTAATAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6061
+GCTCACCAATGTACATGGCCTTAATCTGGAAAACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6062
+ACTGGATATGCTGATTCTTATTTCACCTGCGAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6063
+GCCGGAAACGCTGAACATTGCCATGTTATTCAGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6064
+AACGCAAAACTGCCTGATGCGCTACGCTTATCAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6065
+TAGCCAGCCAAACAACTGGCCGCGTGTGGAAGAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6066
+CTTCGCAACGGTCATCGGCGGCACCTTGTTAAGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6067
+TGTGATTGGCGTCGGTGGCGTTGGCGGTGCGCTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6068
+TCTCGGGCGCTTAATTCGCCTCGTGAAAGAATATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6069
+CGAACTTCTGACGGGACTCGCCGCCGCCCAGCCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6070
+CGCTCGAAGGGATAAGATTGTTAACAACGTGCGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6071
+TGCGTTGATATCGCCCGCCATTTTTATACGAAACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6072
+TTAAAAATAGCATTCATCCACAGCCAGGCGGTTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6073
+GAAACACAGAAAAAAGCCCGCACCTGACAGTGCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6074
+TTCACCAAAGCCTGGCATCTCGCGGTCCGCTACTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6075
+AACTGTGCGACAGCCTCAAAGTAATAACAAATCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6076
+GCCATAACAAGCACAATGATCATCGTGGCGATCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6077
+AGCCGGAAAGCATTCGCAAATGCTGTTGGGCAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6078
+TTCAACATTGGCGACCGGAGCCGGGAAGGCAAACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6079
+CGCGCGCAGCAGATCGTGGACGCGACCGACAAACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6080
+CGGCAGTGGCTCATGCTTTCTACGGTTTACCGAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6081
+CCATCTTCATCAATATTGCCAACATAGCGCAAAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6082
+TGCCATCCGGCATTATCCGGCATTGACTACAAACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6083
+TGTTCCCTCGCACAGCTTTATAAAGAACGTGATGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6084
+TTTCATGACTGGCAGCCAAATTTCACACCGGAGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6085
+TCAGATGCTGTTCAATACCGATCAGGTTATCGAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6086
+CGGGCGCACGAGTACTGGAAAACTAAATGAAACTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6087
+AGAGACGCTGGAAGGTGTGAAGGACGCTGAGGGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6088
+ACGGTTACTGCCAGGCTTCCGGCAGGCGCGGCAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6089
+GTATGCTACGCAGAAGTTATCCAAGTACCTCGTAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6090
+CCCAAATAAAACATGTCCTGCATGGCATCAGTTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6091
+GTTGTCTCGGTACCGAGTGGAAACTTCGGCGATTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6092
+TTCAGCGTTTCCGGCCCGGGGATGAAAGGGATGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6093
+ATTCCTGGTCGACGAAAGTTTTCAATTGTGCCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6094
+AGCCAGTGACCATTCTGACCGCGACATCCGGTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6095
+CGTCATGATAGTATTTCTCTTTAAACAGCTTGTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6096
+CTGGCAGGAAGAACTGGCGCAAGCCAAAGAGCCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6097
+TTGGCGTCGGTGGCGTTGGCGGTGCGCTGCTGGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6098
+TCATCCACAGCCAGGCGGTTTAACCTCATTTCAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6099
+GAATAACATGGCAATGTTCAGCGTTTCCGGCCCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6100
+CTGATTTTGCAGGTAGTTCTTACCCAACCAGTCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6101
+TGAAGATGGCGTCTGCCGCGTGAAGATTGCCGAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6102
+ACCTTCCGCCAGTTTATCTACTGCCATTGGATCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6103
+AATATGGAGAAAAACGACAGGGAAAAAGGAGAAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6104
+ATTTTTCCGCCGCATAACGCAACTGATGGTAGTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6105
+GACACTGGGGACATCGCGGCAATGAAGCTGTATCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6106
+TGTGATGGATATCTGCAGAATTCGCCCTTGTGATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6107
+GGTGCGCATACCATCACCTACCACCGAGATAATGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6108
+CTGGCGTCAGATGAGTATTTTAAATCGGTGAAGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6109
+ACTGGTTGGGTAAGAACTACCTGCAAAATCAGGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6110
+CGATCCGCGTCAGGTGCCCGATGCGAGGTTGTTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6111
+GCTGACCACATGGTGCTGATGGCTGGTTTCACTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6112
+CCAGTACTACAAAGAGCATGGTTATGAAACCGTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6113
+CGACCACTGAACAGGCGCTGGAGCCTAAGCCCGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6114
+TATCAACCGCAGGATGCCACAACCAACCCTTCTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6115
+ATTGGTAATAGCCATGCAGGCCATAATGATATCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6116
+CACTCTTTTTTTAATCCACACAGAGACATATTGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6117
+AAGTTTGTAGTCAATGCCGGATAATGCCGGATGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6118
+GGCGGATGTAGCGAAACTGCACAAATCCGGTACGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6119
+CTGCAAGAAAAACTGTTCTGTACATTGGGCGGCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6120
+CGGCATAAATTTCCTGCAAGGACTGGATATGCTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6121
+GGGCTATCGAACGTAAACTGTCTTACACTGGTGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6122
+CACAAATCCGGTACGAAAAGTGAACCAACAACCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6123
+ACTGGTTACCTGCCGTGAGTAAATTAAAATTTTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6124
+GTGTAAGACAGTTTACGTTCGATAGCCCCTTCGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6125
+CAGTTTGTCGCTGATGCGCATCAGGGAGCTAATCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6126
+ACATATCGACTTACGTGTCTGCGGTGTTGCTAACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6127
+AAACTTAACGTTGTTCGTAGCGTTTAAACACCAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6128
+TTCAGCGAAGACGATTTCGATTTTGCCCAACAGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6129
+AATGCAATCCTGGCGGCGATACTGCGCCGGTAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6130
+TACGCTAAGAAAGCACGCGGTCTGATGAGTCGTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6131
+AAAGCGGCGACATCACCCTCGGCGTTAAACTCTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6132
+CAGGCCCCGGACGATGATCGCCACGATGATCATTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6133
+GAAGAACTTTAGCGCCGAAGTAAGAAAGCTCCATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6134
+GGAAATACGGGCGCGTGACATCGCTGCAAAGACGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6135
+TCGGCATATTCTTTTCCAGAGTCATCGCCACTGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6136
+GAATAACCACGAGGGTAACAAACTCCGCACCCCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6137
+AACACCTCGTCGATGGATTACTACCATCAGTTGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6138
+TTCCTGCATTGCCCGTTCAGCTCGCACACAGTCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6139
+AGCAATATCAACGGTAGATTCGAGGTAATGACCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6140
+AGCAGGGTCAGGTTACAGTTAATACCTTCTTTTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6141
+GTTAAGTTTTCCGCTGATGTGGCAACTGGCAGATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6142
+GAAAGCAATGCCAGGCAGGGGCAGGTGGCCACCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6143
+CCCGCCGTATCCAGCCGGCAAATATGAACAAAACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6144
+GATGCGGCGTGAACGCCTTATCCGGCCTACAAAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6145
+CGATTACTAACGGTTTTCAGCGCAGTATGTTTTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6146
+GGGGTCGACGCCAAACGCGGCAGCGGCAGCTGCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6147
+GTTAAACCGCCTGGCTGTGGATGAATGCTATTTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6148
+ACAAAATCCAGCTTCAGCATCTCATCAATTTCAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6149
+GCGCGAAGGTTTCCACGTTGTTACGCCGAACAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6150
+CGGGTGCTAATGGGTTCCTGGGGTGCGGAGTTTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6151
+GCTTAGTTTCCATCTCTGATCGCGCATCCAGCGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6152
+GTTGAAACGGCACCGGAAGTGGTTGCAGCATTCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6153
+GGAAACTTCGGCGATTTGACGGCGGGTCTGCTGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6154
+TCATGAAAGCGAGCGGCGTTGATACCCGCCAGTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6155
+GGGATATGCATGCCAGATTTTTTCTCCTTTATTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6156
+AGGAACACGCCCGCTTCCGCACAAGCACGAGCCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6157
+TGTTAATAAAGGAGAAAAAATCTGGCATGCATATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6158
+AAGCACGCGGTCTGATGAGTCGTTTCATTATTGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6159
+GTGCCTTCGAGTTAGCAACACCGCAGACACGTAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6160
+CCAGCTCTTTTGGCAGATCCAACGTTTCACCGAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6161
+CCATGCCGATAAATGCGGCAACCCACATCCAGAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6162
+ACTCACGCATTGTCTGTTGCGTGGTTTCATCATCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6163
+ACGCGCTTCTAACACGCCGGCCATAATGGCGATCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6164
+GCGGTACATCAGTGGCAAATGCAGAACGTTTTCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6165
+GCGACCGATCTCCGGATAACGCAACGGATCAAACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6166
+CGGCGGCGAGTCCCGTCAGAAGTTCGGCAAAAATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6167
+TTTCATCAGCTTCGCGGCAAGCTCAAGCTGACGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6168
+CGACGCCAAACGCGGCAGCGGCAGCTGCGTCCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6169
+CTGACCGCGACATCCGGTGATACTGGAGCGGCAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6170
+TGGTGATGATATCTCCCCAGAATTGATACAGATCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6171
+TCCGCTGGCACAATTGAAAACTTTCGTCGACCAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6172
+CAGAAGAGGTAGCGTGACCGACTTCCCGGTCACGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6173
+GCCGGATGCGGCGTGAACGCCTTATCCGGCCTACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6174
+TTTCGCCATTTTTCACTTTGAACAGCGGATCATTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6175
+CTCCATCGTTGCCAACTACATTTATGCCGAAAACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6176
+GCATCCGGCAGCGCAAGGAATTGTCCAGATGATTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6177
+TTGAATGCCGAGATTATCAAGCCAGTGTTCCTCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6178
+CATTATCGCCTTGTGCTGCGAGCGCCTCGTTCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6179
+AGGCCATAATGATATCTGCCAGTTGCCACATCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6180
+AGAATATCATCTGCTGAACCCGGTCATTGTTGACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6181
+TTCGGCCTGCAAGCCAGTGTAGACATCACCTTTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6182
+CTACCAGTACTACAAAGAGCATGGTTATGAAACCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6183
+GACGATGATCGCCACGATGATCATTGTGCTTGTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6184
+AAAAACAGCCCCTGATTTTTGCCTAACCCCTGGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6185
+CAACATTGTCGCCATTGCTCAGGGATCTTCTGAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6186
+CCTGTGTAAACGTTACCAATTGTTTACGAAGTATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6187
+GGGACTCGCCGCCGCCCAGCCGGGATTTCCGCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6188
+GTATTTTTGCCAGCGTACCGTACTGCATTCAGTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6189
+ATTTGACGGCGGGTCTGCTGGCGAAGTCACTCGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6190
+CCAGCTCTTTTGGCAGATCCAACGTTTCACCGAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6191
+GATGCGCATCAGCGACAAACTGGCGGGTATCAACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6192
+CACTGCTCACCAATGTACATGGCCTTAATCTGGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6193
+GCAGGCGCGGCAGGCGGTTGCGGAAATCGGCGCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6194
+CCCCCATCGCCCAGTTCCAGATCCCTTGCCTGATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6195
+CCTTTGGTCGAAAAAAAAGCCCGCACTGTCAGGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6196
+CGGCAGCATTCATTACGACAACGTGGCACCGTGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6197
+AAGAATATCATCTGCTGAACCCGGTCATTGTTGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6198
+AGATATAAGAAAGCGAACCTGAAAGAATGCCGGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6199
+GGCGGGGGCAGAGAGGACGGTGGCCACCTGCCCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6200
+GCAATGCAATCCTGGCGGCGATACTGCGCCGGTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6201
+TCTCAACTGAAGTTGATGCGCGTCTTTCCTATGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6202
+GCAAGTGCCAGGGTTTGATGAGTGGCTGTGGGTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6203
+CATCGCATTGGATAACGTCGCCTGAGTCGCTTTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6204
+TTTGATCAGAATACGATCGTTGCTAATACCTGCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6205
+ACATTGTCGCCATTGCTCAGGGATCTTCTGAACGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6206
+TTTGCCAGGAGCTTGGCAAGCAAATTCCAGTGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6207
+ACCAGAACCAGGGAAAGTGCGAGTACGATAGATTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6208
+CAATTCTGGCGTTTAAAGGTGATGTCTACACTGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6209
+AGTGAAAGCGCGTCCGGCGCGTATCACTGAGTCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6210
+CCATGGGAGCGACCAGAACCAGGGAAAGTGCGAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6211
+GACACCAGATCGCTTTAGGGTTGTTCAGGCGTAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6212
+TGATTGATGATGCTGTCGCCTGGGCGAAACAGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6213
+GAATGAACACTGCGGCAAGCCGCTTAATGACACTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6214
+TGAAATTGAACCTGTGCTGCCCGCAGAGTTTAACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6215
+GCCTTTATCCTGATAAACGCCGCTGGATGCGCGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6216
+CTGCTGTTTCGCCCAGGCGACAGCATCATCAATCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6217
+CGACATCTGGCAGGCTTCATTCACGCCTGCTATTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6218
+CGGTCTGATGAGTCGTTTCATTATTGAAAATCGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6219
+GTGCTGATGGCTGGTTTCACTGCCGGTAATGAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6220
+CCAGGCGGGGGGATCAGACTGATGACAAACGCAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6221
+AAGACGGCTCCAGGTCCACCGGCGGTAATTGCCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6222
+CGGAAAACTTAACAAGGTGCCGCCGATGACCGTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6223
+TAAAGCGACCGCCGAAATCTTTAAATGCCAGCGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6224
+ACTTCTGCGTAGCATACATGAGGTTTCGTATAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6225
+ATTTCACCTGCGAAAACGCTTGATTACCAAAGCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6226
+ATCCGTGCTGCAGAACAGCTGGAAAAAGAAGGTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6227
+ATCACACTGGCGGCCGCTCGAGCATGCATCTAGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6228
+AATTCTGCTAACTCCATCAACATCAGTCGCTTGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6229
+GCGCACGAGTACTGGAAAACTAAATGAAACTCTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6230
+GCGATGAGCAAAAAGACGGCGAACAGAACGCCCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6231
+GTGAAAGCGCGTCCGGCGCGTATCACTGAGTCCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6232
+TTGTGGTGCACGGTATTTTTGCCAGCGTACCGTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6233
+CCATGAAGACCGCGAGTGATCGCCAGCAGAGCAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6234
+ACAGGCGCTGGAGCCTAAGCCCGAACCGATCGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6235
+CCACCTGACGCGAAAGGATCGCAGTTGGTACAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6236
+ATGGGGTCGACGCCAAACGCGGCAGCGGCAGCTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6237
+TGCGCGAAGGTTTCCACGTTGTTACGCCGAACAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6238
+CAGCGTATAGCGCGTGGTGGTCAACGGGCTTTGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6239
+CGGCAGCTGTAACGTCATTGCCCGCACCATATCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6240
+AGGAAAAACTGGAAAAAATGATCGGCGATCTGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6241
+AACCCAGGGGTTAGGCAAAAATCAGGGGCTGTTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6242
+TGTCCTATCAGGAAGCGATGGAGCTTTCTTACTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6243
+ATGAATATCGGGCAACTTCCCCACGTCATTTGGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6244
+GACCAAACCAGAGCAACTGACTGGTTTTAATAGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6245
+CAGCAGGGTCAGGTTACAGTTAATACCTTCTTTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6246
+GCGGTGACACCTGTTGATGGTGCATTGCTCGGAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6247
+ATATGGAGAAAAACGACAGGGAAAAAGGAGAAATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6248
+CACGCGGCAGACGCCATCTTCATCAATATTGCCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6249
+TTGGTAACGTTTACACAGGAAAGTCATCGCGACCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6250
+ATCTCCGGCAGCATTCATTACGACAACGTGGCACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6251
+GCGCATCCGGCGAAATTTAAAGAGAGCGTGGAAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6252
+CAGCCATCAGCACCATGTGGTCAGCCGGAATGCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6253
+CACTGGCAATGGTATGAACCACAGGCGAGAGCAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6254
+GAGCCACGGGAAAATATCGTTTATCAGTGCTGGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6255
+GCGGATGTAGCGAAACTGCACAAATCCGGTACGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6256
+CGGCCTGTTTACGCGCCGATTGTTGCGAGATCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6257
+GTACTCTTTCTTATCGGTATTCGCTTTGTATCAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6258
+TTCGCAAATGCTGTTGGGCAAAATCGAAATCGTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6259
+TCCAGCTTCAGCATCTCATCAATTTCAGTCAGGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6260
+AGTTCCGCCCGTGGTGAGCACCAGATGGCAACTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6261
+CATCCAGCGCATCCCCAGCCCGCGCGCCATATACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6262
+TGATTACCAAAGCCCGTTGACCACCACGCGCTATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6263
+ACTGGTCACGCAGCGCACGATAAGCTACGGCAGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6264
+GGTAATTCGTCTTCATCACGGCTGGCACCAATGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6265
+ATGTGGTCAGCCGGAATGCGGCTTGCCGCAATACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6266
+GTGATTACTCCTGCGAAACATCATCCCACGCGTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6267
+TGTTACCAGCGGGGGAAAATCAAAAGAAAAACTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6268
+ATCACTGAGTCCGAGTTCCTGTGGCAGCACAACCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6269
+GATTCGAGGTAATGACCCACTGCCAGCAGTTTTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6270
+CTCGCGGTCCGCTACTGCCAGCGTCGCATCGGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6271
+TGCCAGGAGCTTGGCAAGCAAATTCCAGTGGCGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6272
+AAAAGAGAATGAGTTGATCGATAGTTGTGATTACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6273
+TTACTCCTTTTATCATTGCCCGTTATGGGTCGATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6274
+CCAATAAACGCCGAGAGGATCTTCGCACTGCGGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6275
+CGATGCGGGTGCTAATGGGTTCCTGGGGTGCGGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6276
+CCCAAAGGACGCTGTTAATAAAGGAGAAAAAATCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6277
+ATCCGGCATTATCCGGCATTGACTACAAACTTAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6278
+TAGTTGGCAACGATGGAGCTGAAGGCAAACAGAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6279
+TGCTCTGGTTTGGTCAGCCGATTTTCAATAATGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6280
+AGGCGATCATCGAGCAAACGTTGTGTGAACTGGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6281
+TGTGCGAGCTGAACGGGCAATGCAGGAAGAGTTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6282
+CAGGTTATGCGAAAGCAAGGGTAAATCAGCACGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6283
+ATGCCGAGATTATCAAGCCAGTGTTCCTCGATGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6284
+GCCACAGGAACTCGGACTCAGTGATACGCGCCGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6285
+TGGAAGCGATTCTCGGTGAAACGTTGGATCTGCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6286
+TCTTCCTGCATTGCCCGTTCAGCTCGCACACAGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6287
+CGCCGAGATCCCACGTAAGGTGCGCATACCATCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6288
+GGGTCCGGTTCGGTATAACCCATTTCCCGCGCCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6289
+TATTTTCCCGTGGCTCTGACGGCAGCTTATCGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6290
+GCCCCAACGTTGGTGTCATAGAGGAATTTACGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6291
+CTGGCGCATCTGTTCACCAAAGCCTGGCATCTCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6292
+TTGAAAGCGATGTCGGTTGTCTGGAATTGTTCCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6293
+GGTTATTCTGTTTGCCTTCAGCTCCATCGTTGCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6294
+ATATCATCAGGGCAGACCGGTTACATCCCCCTAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6295
+AACCAACAACCTGCGCCGAAAAGCAGGTAAATCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6296
+CCAGTGGTCGCATCATCGTTATTGACCACGACAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6297
+TCCCCAGAATTGATACAGATCTTTCCCTCGGGCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6298
+CCCGCCATTTTTATACGAAACCTCATGTATGCTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6299
+AGGGCGTATCTCCGGCAGCATTCATTACGACAACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6300
+TCAGTGGTCACCCAAAGCGACTCAGGCGACGTTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6301
+CTAGATGCATGCTCGAGCGGCCGCCAGTGTGATGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6302
+CTGATACAAAGCGAATACCGATAAGAAAGAGTACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6303
+CATTAGCACCACCATTACCACCACCATCACCATTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6304
+AAAATGGCGAAAACGCCCTGGCCTTCTATAGCCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6305
+CCAGGCTGGTCAGTACCCAGATTATCGCCATCAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6306
+CAGGATAAAGGCATCCCTGCGCTGGAAGAATGGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6307
+CCAGCGCATCCCCAGCCCGCGCGCCATATACCATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6308
+TTACCGTTATCGATCCGGTCGAAAAACTGCTGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6309
+TTTATGCCGAAAACAATCTCTTCTTTTTACGCCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6310
+CTGGTTTGGTCAGCCGATTTTCAATAATGAAACGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6311
+CTGTGGCAGCACAACCAGGATCCAATGGCAGTAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6312
+GTAACCAGTTCAGAAGCTGCTATCAGACACTCTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6313
+CCTTGTTAAGTTTTCCGCTGATGTGGCAACTGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6314
+GACATTCAGTCTCAACAACCTCGGACGCTTTGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6315
+CGCCGGCCAGGTTGCCGCTACCCACGCGCGCTGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6316
+TGGCACAATTGAAAACTTTCGTCGACCAGGAATTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6317
+GCCTTATCCGGCCTACAAAATCGTGCAAATTCAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6318
+ATTTCGCCGAGATCCCACGTAAGGTGCGCATACCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6319
+CATCGGCGGCACCTTGTTAAGTTTTCCGCTGATGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6320
+TCTGGAAATGGGGATACGTCTTGAGAATGCCCGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6321
+TGAACAGCATCTGATGAGTAACGCGCACGCCAGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6322
+GTGGGGGTGATTCGCAAACAGGCGCTGATCCTTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6323
+TCCCTTGCCTGATTAAAAATACCGGAAATCCCCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6324
+CATGGATGTGGCGCGTAAGCTATTGATTCTCGCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6325
+GCCAGTTCTTCCTGCCAGTTTTCCAGATTAAGGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6326
+CTTTTTCCCTGTCGTTTTTCTCCATATTTTCTTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6327
+AATACCGATCAGGTTATCGAAGTGTTTGTGATTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6328
+ACCATCAGTTGCGTTATGCGGCGGAAAAATCGCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6329
+ATCTGACGCCAGATTTATCACCACATTATCGCCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6330
+GTCTGCTGGCGAAGTCACTCGGTCTGCCGGTAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6331
+ATGCAATCTATCGTACTCGCACTTTCCCTGGTTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6332
+ACATGGACCGCCGTCATCGCCGCGCCATAACAAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6333
+CGCCTGGCTTAAGGTATATCCCGCCGCGCCGCCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6334
+TGACAGGCATCGAAATCGCCGTCGATGGCAACAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6335
+GTGGGTTGCCGCATTTATCGGCATGGCGACCTCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6336
+TTCTGTGTTTCCTGTACGCGTCAGCCCGCACCGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6337
+CAAGCTGTTTAAAGAGAAATACTATCATGACGGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6338
+CAAAATCTGGCAACTGAAAGAGCTGGGTTATGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6339
+TATGAGCGTCGGGTTTGATGTGCTCGGGGCGGCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6340
+TAATCTGCGGGGGCGTCAGTTTCCGCGCTTCATGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6341
+TAGAACTCTTCCTGCATTGCCCGTTCAGCTCGCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6342
+AAAGAGCCGTTTAATCTCGGGCGCTTAATTCGCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6343
+TTTAACCATGTCAGACTCCTAACTTCCATGGGAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6344
+GCAATAAGAGGGATATGCATGCCAGATTTTTTCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6345
+GCGTCGGTGGCGTTGGCGGTGCGCTGCTGGAGCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6346
+ACTGAAGTTGATGCGCGTCTTTCCTATGACACCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6347
+TTTTTATCTGTCTGTGCGCTATGCCTATATTGGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6348
+CTGATTAAAAATACCGGAAATCCCCAAGCACCAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6349
+GCCGTATTGCGGCAAGCCGCATTCCGGCTGACCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6350
+ATTATTCTCGCTGTCTTTGCTCTGCTGGCGATCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6351
+ACTTCCAGCCAGGCTGTGGCAGATCAATATGCCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6352
+GTACGTGCGGCGTTTGCCTTCCCGGCTCCGGTCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6353
+TCTTTTTTTAATCCACACAGAGACATATTGCCCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6354
+CGCCGCATAACGCAACTGATGGTAGTAATCCATCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6355
+AAACTGGTTCCGGGCCGTATCTCAACTGAAGTTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6356
+CTTCCAGGATTTCCTGCGGGATTTCATCACCAATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6357
+AAGACGTATCCCCATTTCCAGACGATAAGGCTGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6358
+TCGATGATCGCCTGCTCATCGGGGATTAAGCGGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6359
+CGCGGAAACTGACGCCCCCGCAGATTAGCTCCCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6360
+AGAAGCTGCTATCAGACACTCTTTTTTTAATCCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6361
+TTATCGCCTTGTGCTGCGAGCGCCTCGTTCAGCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6362
+GTTGGCCCGTGGAACAATTCCAGACAACCGACATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6363
+TATTCGCTTTGTATCAGTCAAGAATACGGCCAACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6364
+TGGGGGTGATTCGCAAACAGGCGCTGATCCTTAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6365
+GCGCTGCCGGATGCGGAGGCCAGGACGCAGCTGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6366
+ATGTTTTATTTGGGCAAATTCCTGGTCGACGAAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6367
+ATAGCAGGCGTGAATGAAGCCTGCCAGATGTCGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6368
+CAACTGAAGCGTCAGCAAAGCTGGTTGAAGAATAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6369
+AATGCCCGAGGGAAAGATCTGTATCAATTCTGGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6370
+CTGTTCAAAGTGAAAAATGGCGAAAACGCCCTGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6371
+TCAAACTGGCTTCTACCTGGCAGGGTATCCGTGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6372
+AAAAAACCATTAGCGGTCAGGATGCTTTACCCAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6373
+TTGTAGTACTGGTAGATTTCAGATACAGAAACCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6374
+ATATCTCCCCAGAATTGATACAGATCTTTCCCTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6375
+ACTGCGCCGGTAAAATAGCCCTGGCTTCTGCCGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6376
+ATCATCTGCTGAACCCGGTCATTGTTGACTGTACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6377
+CGTGGTCACAACGTTACCGTTATCGATCCGGTCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6378
+CCTTACGTGGGATCTCGGCGAAATTCTTTGCCGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6379
+TCTTTATAAAGCTGTGCGAGGGAACATTCGGCAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6380
+AATCTCTGTCGTGGTCAATAACGATGATGCGACCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6381
+TTTGTTGGGGCAGTGCCCGGATAGCATCAACGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6382
+GGGTATCAACGCCGCTCGCTTTCATGACTGGCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6383
+GATGGGCGAGTTGGAAGGGCGTATCTCCGGCAGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6384
+GACTGAAATTGATGAGATGCTGAAGCTGGATTTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6385
+CCCTTCGTCAGTACACCACCGTAGTGGCCGACACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6386
+AACTTCGCGTCTTGCACTCTTCGGTCTGAATGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6387
+ACTACCATCAGTTGCGTTATGCGGCGGAAAAATCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6388
+AGATGCTGAAGCTGGATTTTGTCACCCGCAGTGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6389
+TGCTACGTACCCTCCCATGGAAGTTAGGAGTCTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6390
+TGATCAGAATACGATCGTTGCTAATACCTGCATCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6391
+GATGGTAGTAATCCATCGACGAGGTGTTGGCCTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6392
+ATGATGCGACCACTGGCGTGCGCGTTACTCATCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6393
+AACCTGTCTGTCACTCCCTTCGCAGTGTATCATTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6394
+CTTTCGCATAACCTGCCCGCCGATTTTGCTGCGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6395
+TAATGGCGATCGACATTTTCTCGCCACGGCAAATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6396
+CCGGTCCGCCACGAAACTGCCCATTGGCATCACGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6397
+GACCATCGCACCGGCACTGCTGAAAGAGCTGGCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6398
+CATGACGGACAAATTGACCTCCCTTCGTCAGTACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6399
+ACCAATTGTTTACGAAGTATATAACGCTACGAGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6400
+ACGAAACTGCCCATTGGCATCACGTTCTTTATAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6401
+GCCGCATTTATCGGCATGGCGACCTCGTTTGCCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6402
+ACTTAGCGTGACCGGGAAGTCGGTCACGCTACCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6403
+AATTACAGAGTACACAACATCCATGAAACGCATTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6404
+GAACCCATTAGCACCCGCATCGCCTTCTGGATAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6405
+GACCGACTTCCCGGTCACGCTAAGTATGATTACAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6406
+GCCTCGCCATTCATAATGTTGTTTCCACCAGCCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6407
+CTGATCAAACTCTACAACGATGCAGGTATTAGCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6408
+CGCCTGAACAACCCTAAAGCGATCTGGTGTCTGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6409
+TGCGGGCTTTTTTTTCGACCAAAGGTAACGAGGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6410
+TTTATTTGGGCAAATTCCTGGTCGACGAAAGTTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6411
+CCCAAAGCGACTCAGGCGACGTTATCCAATGCGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6412
+TCAGCTCGCACACAGTCGCTTTGCGGAACGCAGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6413
+TGTGATGGATATCTGCAGAATTCGCCCTTGTGATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6414
+TCGAAGGCACTGCTCACCAATGTACATGGCCTTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6415
+CAACAGTTTCGATATTGCCGCCCAATGTACAGAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6416
+CAAACTGGCAGTAAATATTGGTCTGGAAATCCTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6417
+TTCTTCCAGCGCAGGGATGCCTTTATCCTGATAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6418
+GTTGTTGGTTCACTTTTCGTACCGGATTTGTGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6419
+ATGCCAGGCAGGGGCAGGTGGCCACCGTCCTCTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6420
+ACGCCCGGATCTTCTGCCGGAGCGTACTCTTTCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6421
+CAGTTTCCGCGCTTCATGGATCAGCTGCTGGGCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6422
+GGCGGGAATGGGGTCGACGCCAAACGCGGCAGCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6423
+CCCTTGCCTGATTAAAAATACCGGAAATCCCCAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6424
+TCTTATCGGTATTCGCTTTGTATCAGTCAAGAATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6425
+GTGCGCGTTACTCATCAGATGCTGTTCAATACCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6426
+ATAACAACTGCCGTTCTCATCGCGTAATCTCCGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6427
+TAGAGTTTCATTTAGTTTTCCAGTACTCGTGCGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6428
+GAATGCCCGCCAGGCAATTCTGGCGTTTAAAGGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6429
+CTGTGACAGATTCGCCATAAAAGCGGCGACATCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6430
+GGTGGCCACCTGCCCCTGCCTGGCATTGCTTTCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6431
+GCAAGGACTGGATATGCTGATTCTTATTTCACCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6432
+CAGGCGAATATGGCTTGTTCCTCGGCACCGCGCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6433
+GATCCATGAAGCGCGGAAACTGACGCCCCCGCAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6434
+TACTGTATTCGGAAGATGATTGCGTAATCAGCACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6435
+TAGACCAAATGACGTGGGGAAGTTGCCCGATATTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6436
+TTTTATGGCGAATCTGTCACAGCTCGACGATCTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6437
+GAAAGTGGTTATCCTCTATCCACGAGGCAAAATCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6438
+TCAACGGTAGATTCGAGGTAATGACCCACTGCCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6439
+CCAACTGCGATCCTTTCGCGTCAGGTGGGGGTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6440
+GATCAGCCTGCATTTTGTACCAACTGCGATCCTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6441
+AGAGTTCTACCTGGAACTGAAAGAAGGCTTACTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6442
+GCCCGCACCGTTACCTGTGGTAATGGTGATGGTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6443
+TAATTGCCAGCGCAACGCCGGCCAGGTTGCCGCTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6444
+GACGCTGGAAGGTGTGAAGGACGCTGAGGGTAACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6445
+CAGCTGCGTCCTGGCCTCCGCATCCGGCAGCGCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6446
+TGCCAGGCTTTGGTGAACAGATGCGCCAGATCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6447
+ATTGCGGAGAATAACAACTGCCGTTCTCATCGCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6448
+GGAGCGACCAGAACCAGGGAAAGTGCGAGTACGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6449
+AGTTGATGATCGAAGAAAACGACATCATCAGCCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6450
+ATTCTGCTAACTCCATCAACATCAGTCGCTTGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6451
+ACAATCTCTTCTTTTTACGCCTGAACAACCCTAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6452
+AGCGTCGGGTTTGATGTGCTCGGGGCGGCGGTGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6453
+AGTTTGCTGTTGACCAGGAAAAACTGGAAAAAATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6454
+GGAACTCGGACTCAGTGATACGCGCCGGACGCGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6455
+CTGGCGTCAGATGAGTATTTTAAATCGGTGAAGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6456
+TTCGCCACACGCGCGGCAAAGAGATCGTCGAGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6457
+GGCTTTGGTGAACAGATGCGCCAGATCAGCCTGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6458
+ACGCGATGAGAACGGCAGTTGTTATTCTCCGCAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6459
+AGCAGCGCACCGCCAACGCCACCGACGCCAATCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6460
+GCAATATATTGAATTTGCACGATTTTGTAGGCCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6461
+GCGACCTCGTTTGCCGAATGTTCCCTCGCACAGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6462
+GGAACCAGTTTCAGGATTTCCAGACCAATATTTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6463
+AAAAAAGAGAATGAGTTGATCGATAGTTGTGATTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6464
+TCTGCGGGTTGCCGATATTCTGGAAAGCAATGCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6465
+GGCAACTGGCAGATATCATTATGGCCTGCATGGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6466
+AGAATGAGTTGATCGATAGTTGTGATTACTCCTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6467
+AAACGCCTGCTTCACCAGCGCCTGACAGGCATCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6468
+GGTATGCAGTTGATGATCGAAGAAAACGACATCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6469
+TTAGTTTCCATCTCTGATCGCGCATCCAGCGGCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6470
+AGCGACTCAGGCGACGTTATCCAATGCGATGGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6471
+TGATGCTATCCGGGCACTGCCCCAACAAACTGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6472
+AGCAAACCCGGCCTGATTGAGATAATGAATAGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6473
+GGCGAAGGCCCGTGATGAAGGAAAAGTTTTGCGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6474
+GTTGTTAACAATCTTATCCCTTCGAGCGGGGGGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6475
+AAGCGATGTCGGTTGTCTGGAATTGTTCCACGGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6476
+CGTTTGCTCGATGATCGCCTGCTCATCGGGGATTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6477
+CGAGATTAAACGGCTCTTTGGCTTGCGCCAGTTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6478
+TTCGATCATCAACTGCATACCACCAAGAAAACACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6479
+CAACGCTGGCATTTAAAGATTTCGGCGGTCGCTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6480
+TACGAAACCTCATGTATGCTACGCAGAAGTTATCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6481
+GAGGTTGTTGAAGTCGATGTCCTATCAGGAAGCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6482
+TCGTTTATCAGTGCTGGGAGCGTTTTTGCCAGGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6483
+AGCGTATAGCGCGTGGTGGTCAACGGGCTTTGGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6484
+TTCGTACCGGATTTGTGCAGTTTCGCTACATCCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6485
+GATGCGCGTCTTTCCTATGACACCGAAGCGTCAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6486
+CTGGCTGATGATGTCGTTTTCTTCGATCATCAACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6487
+CAATAACCGGTAATCCAGCCCCAACGTTGGTGTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6488
+AGATGATATTCTTTCACGAGGCGAATTAAGCGCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6489
+GAATGTTCCCTCGCACAGCTTTATAAAGAACGTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6490
+TTACGCTAGTCCCGTCAGTAAAATTACAGATAGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6491
+GTGATATCATCAGGGCAGACCGGTTACATCCCCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6492
+TGGTAGTAATCCATCGACGAGGTGTTGGCCTTTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6493
+GAAAGAGTACGCTCCGGCAGAAGATCCGGGCGTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6494
+CCAATGCGATGGATGTTAGCCAGCCAAACAACTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6495
+CCGCAGCCTGCGCTGCCATGGGAGCGACCAGAACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6496
+ATTCTGGCGTTTAAAGGTGATGTCTACACTGGCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6497
+TCTATTAAAGAGACGCTGGAAGGTGTGAAGGACGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6498
+TGGCGCAGATTTGTTATTACTTTGAGGCTGTCGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6499
+GTCAATAACGATGATGCGACCACTGGCGTGCGCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6500
+TGCTTTTCGGCGCAGGTTGTTGGTTCACTTTTCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6501
+TACCTCGAATCTACCGTTGATATTGCTGAATCCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6502
+ATCGCTAAATATCAATGCCGGATTGCCATCCGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6503
+CGTGGACGCGACCGACAAACTGGCAGTAAATATTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6504
+TGTTGAAAGCGATGTCGGTTGTCTGGAATTGTTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6505
+CGCTAAGAAAGCACGCGGTCTGATGAGTCGTTTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6506
+CCAGTTCAGAAGCTGCTATCAGACACTCTTTTTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6507
+TTTTCGACCAAAGGTAACGAGGTAACAACCATGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6508
+GTTAAAGTATTTAGTGACCTAAGTCAATAAAATTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6509
+GCGAACAGAACGCCCATCCAGCGCATCCCCAGCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6510
+ATCTACCGTTGATATTGCTGAATCCACCCGCCGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6511
+CAAAACCTTCCTGATTTTGCAGGTAGTTCTTACCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6512
+TGTTTCCACCAGCCGTGGTCGCCCCAATGACCGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6513
+CTTTCTTATCGGTATTCGCTTTGTATCAGTCAAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6514
+TGGCAATCCGGCATTGATATTTAGCGATGATGTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6515
+ACCCTTCTCTCATTCTTAACGCAGCGCAGATTCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6516
+CAGAATAACCACGAGGGTAACAAACTCCGCACCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6517
+CAGCTGCCGCTGCCGCGTTTGGCGTCGACCCCATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6518
+GCAGCCGTGGATGATGAAACCACGCAACAGACAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6519
+GAGGGTGATGTCGCCGCTTTTATGGCGAATCTGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6520
+GATGTGGGTTGCCGCATTTATCGGCATGGCGACCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6521
+AAATCTGCGCCAGCAAGCGACTGATGTTGATGGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6522
+GCGGAACAACTCTTCCACACGCGGCCAGTTGTTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6523
+TCAGTTGCTGGAAGGGCCATACGTTGAAACGGCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6524
+AATCACAACTATCGATCAACTCATTCTCTTTTTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6525
+CATCACCAGCATTGAGCAGATTTTGCAGGTTCTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6526
+CGACGATCTCTTTGCCGCGCGTGTGGCGAAGGCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6527
+ACCATCTGGTAGCGATGATTGAAAAAACCATTAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6528
+TGCTTGTTATGGCGCGGCGATGACGGCGGTCCATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6529
+TCGGCGGTACATCAGTGGCAAATGCAGAACGTTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6530
+GCAGCACAAGGCGATAATGTGGTGATAAATCTGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6531
+ATAAAAATGCCAATCATCTGGACAATTCCTTGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6532
+TTCTGCATTTGCCACTGATGTACCGCCGAACTTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6533
+TGTTCAGCGTTTCCGGCCCGGGGATGAAAGGGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6534
+AGCAACTGACTGGTTTTAATAGCGAAGGTTACTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6535
+TCTGTGCGCTATGCCTATATTGGTTAAAGTATTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6536
+GAATACCGTAAGTTGATTGATGATGCTGTCGCCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6537
+TTCCTGCCAGCCAAAAGCACTCTCAAAAATAGACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6538
+TGGCAATCCGGCATTGATATTTAGCGATGATGTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6539
+CCGAAATCTTTAAATGCCAGCGTTGGCCCGTGGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6540
+TTCGCAACGGTCATCGGCGGCACCTTGTTAAGTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6541
+ACTTACGTGTCTGCGGTGTTGCTAACTCGAAGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6542
+TCCTGAAACTGGTTCCGGGCCGTATCTCAACTGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6543
+GCCAGATGTCGCCCGTGCGCAATGCAATCCTGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6544
+CAGCGTCCTTTGGGGATCGGTAATGATTTACCTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6545
+GCCTGACTGAAATTGATGAGATGCTGAAGCTGGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6546
+TCTTGACTGATACAAAGCGAATACCGATAAGAAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6547
+TTTTTCACTTTGAACAGCGGATCATTACCATCCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6548
+GGCATGGTATATGGCGCGCGGGCTGGGGATGCGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6549
+GTCCTCTCTGCCCCCGCCAAAATCACCAACCATCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6550
+GCGTTGGCCCGTGGAACAATTCCAGACAACCGACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6551
+GTATCACTGAGTCCGAGTTCCTGTGGCAGCACAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6552
+CAGTTTCTGCGTTCCGCAAAGCGACTGTGTGCGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6553
+ACCTTACGTGGGATCTCGGCGAAATTCTTTGCCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6554
+GATGAAGCTTCCTCCAGCAATGGCGAACTGGTGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6555
+GTGGTAGGTGATGGTATGCGCACCTTACGTGGGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6556
+ACCGGCAGACCGAGTGACTTCGCCAGCAGACCCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6557
+ACTGCACAAATCCGGTACGAAAAGTGAACCAACAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6558
+GCAGGAAGTCGGCATATTGATCTGCCACAGCCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6559
+GTTACGTCACGACGCGCAGGGCCAGTTCCGCCCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6560
+AAATTTAAAGAGAGCGTGGAAGCGATTCTCGGTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6561
+GAAATTTGGCTGCCAGTCATGAAAGCGAGCGGCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6562
+GGACGGTGGCCACCTGCCCCTGCCTGGCATTGCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6563
+ACTAGCGTAATTTCCGCAGCCTGCGCTGCCATGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6564
+CACCAGCCGTGGTCGCCCCAATGACCGCCATCCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6565
+GCGAGTGATCGCCAGCAGAGCAAAGACAGCGAGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6566
+GAAGGCCAGGGCGTTTTCGCCATTTTTCACTTTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6567
+GCGCCAGCAAGCGACTGATGTTGATGGAGTTAGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6568
+TCAGTAACATCTATTCATTATCTCAATCAGGCCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6569
+GGGGAAAATCAAAAGAAAAACTCAGGGCTCGCGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6570
+TCTGACGGGACTCGCCGCCGCCCAGCCGGGATTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6571
+GATCAGAGATGGAAACTAAGCCAATACGTAAAGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6572
+AGGGTCAGGTTACAGTTAATACCTTCTTTTTCCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6573
+ACGCCTGCTTCACCAGCGCCTGACAGGCATCGAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6574
+TCTTTAAACAGCTTGTTAGGGGGATGTAACCGGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6575
+CCGCGACCACTGAACAGGCGCTGGAGCCTAAGCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6576
+GGCTTCTGCCGTCGAGACTTTAATCCCCGGATACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6577
+GCTGGATGCGCGATCAGAGATGGAAACTAAGCCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6578
+CGACATTTTCTCGCCACGGCAAATCAGCGCAGCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6579
+TGTATGCTACGCAGAAGTTATCCAAGTACCTCGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6580
+CAGCTTATCGGCAAAGCGTCCGAGGTTGTTGAGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6581
+TGGTGTACTGACGAAGGGAGGTCAATTTGTCCGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6582
+GATACTGGAGCGGCAGTGGCTCATGCTTTCTACGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6583
+CGATAAGGCTGCATTAAATCGAGCGGGCGCAGTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6584
+TAAAGTTCTTCACCCCCGCACCATTACCCCCATCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6585
+TTTTTTTATTCGCTAACTTCGCGTCTTGCACTCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6586
+AGCAACGATCGTATTCTGATCAAACTGGCTTCTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6587
+TGCCAACTACATTTATGCCGAAAACAATCTCTTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6588
+GAAGGCATGAGTTTCTCCGAGGCGACCACACTGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6589
+GTCGGTTGTCTGGAATTGTTCCACGGGCCAACGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6590
+GAACGCCCATCCAGCGCATCCCCAGCCCGCGCGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6591
+GGCCCTTCCAGCAACTGAATGCAGTACGGTACGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6592
+GCAGCGGCTGATAATAGTGGCTATAGAAGGCCAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6593
+TGCTGAATCCACCCGCCGTATTGCGGCAAGCCGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6594
+GATTCGCCATAAAAGCGGCGACATCACCCTCGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6595
+TCATAGAGGAATTTACGCCGCGATTTTTCCGCCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6596
+AACGAGGTAACAACCATGCGAGTGTTGAAGTTCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6597
+AGCGGGGGAAAATCAAAAGAAAAACTCAGGGCTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6598
+TTGCTGATCTGCTACGTACCCTCCCATGGAAGTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6599
+TAACAATCTTATCCCTTCGAGCGGGGGGAGCTTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6600
+TGGCTGACATCGGCGCTAACCACGCCGTTTGAACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6601
+CCGGCATTATCCGGCATTGACTACAAACTTAACGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6602
+CGCTTTGCGGAACGCAGAAACTGATACTGTATTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6603
+AGATTGGAAATGCCCTTGACCGGTAATTCGTCTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6604
+GCGGGCGCAGTACGCCATACAAGCCGGAAAGCATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6605
+TTGTGCCATAAAGCGACCGCCGAAATCTTTAAATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6606
+AATCAGGCCGGGTTTGCTTTTATGCAGCCCGGCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6607
+CCAATATCAGCGATGCCGAACTTATTTTTGCCGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6608
+ATCGGTATTGAACAGCATCTGATGAGTAACGCGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6609
+ATGAGCAGGTCAGCTTTGCGCAAGCCGTAACCCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6610
+CCCGGTGTTTGATCCGTTGCGTTATCCGGAGATCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6611
+AAAGATCTGTATCAATTCTGGGGAGATATCATCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6612
+CTTTCATGACTGGCAGCCAAATTTCACACCGGAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6613
+AGCGGCAACCTGGCCGGCGTTGCGCTGGCAATTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6614
+CTGGATGCGCGATCAGAGATGGAAACTAAGCCAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6615
+CGATGATCGCCACGATGATCATTGTGCTTGTTATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6616
+CTAATTGTTAAGCTCCCCCCGCTCGAAGGGATAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6617
+AACGGCAGCGGCTGATAATAGTGGCTATAGAAGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6618
+TTTGCGAATGCTTTCCGGCTTGTATGGCGTACTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6619
+AGCTCGCACACAGTCGCTTTGCGGAACGCAGAAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6620
+CGAAGGCACTGCTCACCAATGTACATGGCCTTAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6621
+GGTCAATTTGTCCGTCATGATAGTATTTCTCTTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6622
+TCTTTGGCTTGCGCCAGTTCTTCCTGCCAGTTTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6623
+CCCCCGCTGGTAACAGGTATTATTCTCGCTGTCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6624
+TAAATTTCCTGCAAGGACTGGATATGCTGATTCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6625
+AATGGTCACTGGCTTATCGCCCGCAATATGGGTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6626
+CAGGGTGTCGATAAAAATGCCAATCATCTGGACAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6627
+CCCCATTTCCAGACGATAAGGCTGCATTAAATCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6628
+AAGGATCAGCGCCTGTTTGCGAATCACCCCCACCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6629
+GGCCGCGTGTGGAAGAGTTGTTCCGCCGCAAAATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6630
+CAATTTCAGTCAGGCTGAATTCCGGCAGGTCGTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6631
+AAACCTTCCTGATTTTGCAGGTAGTTCTTACCCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6632
+ATCCAGCTTCAGCATCTCATCAATTTCAGTCAGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6633
+TAGCGTTATATACTTCGTAAACAATTGGTAACGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6634
+GCAAAGCGTCCGAGGTTGTTGAGACTGAATGTCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6635
+ACCAACGTGAACGATACCGTACCACGTTTCCTGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6636
+GCGCTAAAGTTCTTCACCCCCGCACCATTACCCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6637
+AACTCCATCAACATCAGTCGCTTGCTGGCGCAGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6638
+TGGTACACAATGACTGAAATGAGGTTAAACCGCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6639
+TCAACAACCTCGGACGCTTTGCCGATAAGCTGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6640
+AAAAATGATCGGCGATCTGCTGTAATCATACTTAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6641
+TGGCTTTGATGGGCGAGTTGGAAGGGCGTATCTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6642
+TGGCGGCGATACTGCGCCGGTAAAATAGCCCTGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6643
+CTTTGCTGACGCTTCAGTTGCTCCAGCAGCGCACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6644
+TGCTCCAGCAGCGCACCGCCAACGCCACCGACGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6645
+TTTGTTATTACTTTGAGGCTGTCGCACAGTTGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6646
+AGCGCAGGGATGCCTTTATCCTGATAAACGCCGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6647
+GGATTACTACCATCAGTTGCGTTATGCGGCGGAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6648
+ACGCCGGCCATAATGGCGATCGACATTTTCTCGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6649
+TTTCCAGTTCAAACGGCGTGGTTAGCGCCGATGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6650
+TGACCAAACCAGAGCAACTGACTGGTTTTAATAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6651
+ACCATGCCGGTCCGCCACGAAACTGCCCATTGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6652
+ATTGGCTTAGTTTCCATCTCTGATCGCGCATCCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6653
+TGTCGCCGCTTTTATGGCGAATCTGTCACAGCTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6654
+GTTTGTCGCTGATGCGCATCAGGGAGCTAATCTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6655
+GGGACAAACCCCTGCATGAGCCGGGCGACGCCATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6656
+GGAAGCTTGCGCCCATAACCACGGTTTCATAACCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6657
+GTAGCGGCAACCTGGCCGGCGTTGCGCTGGCAATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6658
+ATTAACTGTAACCTGACCCTGCTGTTCTCCTTCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6659
+TTTTCGGCGCAGGTTGTTGGTTCACTTTTCGTACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6660
+AGTTTGATCAGAATACGATCGTTGCTAATACCTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6661
+TCTTCGGCAAGTTAGACGAAGGCATGAGTTTCTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6662
+CAATTTGACCGCCATATTACTGCTCTCGCCTGTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6663
+GTCAGTACCCAGATTATCGCCATCAACGGGACAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6664
+GGCGATTACTAACGGTTTTCAGCGCAGTATGTTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6665
+TGTTAACAATCTTATCCCTTCGAGCGGGGGGAGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6666
+CTGGAAAAGAATATGCCGATCGGTTCGGGCTTAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6667
+TGAGCAGATTTTGCAGGTTCTCAATAACCGGTAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6668
+ACCGGGTTCAGCAGATGATATTCTTTCACGAGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6669
+CCGGGGCCTGACAAACATCATCGCTAAATATCAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6670
+GATCGATAGTTGTGATTACTCCTGCGAAACATCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6671
+GCAGCATTCAGACCGAAGAGTGCAAGACGCGAAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6672
+ATCTGACGCCAGATTTATCACCACATTATCGCCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6673
+GTGTGGATTAAAAAAAGAGTGTCTGATAGCAGCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6674
+GGAACTGGCCCTGCGCGTCGTGACGTAACGCCCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6675
+ACTTCGGCGCTAAAGTTCTTCACCCCCGCACCATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6676
+CGGCTGATAATAGTGGCTATAGAAGGCCAGGGCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6677
+AGATACGGCCCGGAACCAGTTTCAGGATTTCCAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6678
+TGATTTTGGCGGGGGCAGAGAGGACGGTGGCCACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6679
+CCAATACGTAAAGTATTCATCAAGATTTTTCCGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6680
+ACTGGTCACGCAGCGCACGATAAGCTACGGCAGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6681
+TAGATAATCACTGGCAATGGTATGAACCACAGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6682
+TCCGAGGTTGTTGAGACTGAATGTCTCTGCCGCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6683
+CCGATCTCCGGATAACGCAACGGATCAAACACCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6684
+GCCGTTTCAACGTATGGCCCTTCCAGCAACTGAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6685
+CGACTCATCAGACCGCGTGCTTTCTTAGCGTAGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6686
+ATGCGAGGTTGTTGAAGTCGATGTCCTATCAGGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6687
+ATGTCGGTTGTCTGGAATTGTTCCACGGGCCAACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6688
+CCTGACAAACATCATCGCTAAATATCAATGCCGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6689
+GAAATGAGGTTAAACCGCCTGGCTGTGGATGAATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6690
+AGCTCGCCTTTTTCATTACCGGCAGTGAAACCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6691
+GCGAATTAAGCGCCCGAGATTAAACGGCTCTTTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6692
+TTCCACGCTCTCTTTAAATTTCGCCGGATGCGCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6693
+ACACTGCGAAGGGAGTGACAGACAGGTTTCAGAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6694
+ATTAACTGTAACCTGACCCTGCTGTTCTCCTTCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6695
+AGGGAGTGACAGACAGGTTTCAGAAGAGGTAGCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6696
+AAAATTACAGAGTACACAACATCCATGAAACGCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6697
+TCCAGAAGACGGCTCCAGGTCCACCGGCGGTAATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6698
+AGCCAGGCGATTACTAACGGTTTTCAGCGCAGTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6699
+CCGGGCACTGCCCCAACAAACTGATGCCATGCAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6700
+TGGCGCGTAAGCTATTGATTCTCGCTCGTGAAACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6701
+AAACGCTACGAACAACGTTAAGTTTGTAGTCAATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6702
+AGTCACTCGGTCTGCCGGTAAAACGTTTTATTGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6703
+TGCAGATCCGCAGACACCAGATCGCTTTAGGGTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6704
+TAATCAAGCGTTTTCGCAGGTGAAATAAGAATCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6705
+GTACACAATGACTGAAATGAGGTTAAACCGCCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6706
+CAAGGCGATAATGTGGTGATAAATCTGGCGTCAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6707
+CCCACTGCCAGCAGTTTTTCGACCGGATCGATAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6708
+GGGGCGTCAGTTTCCGCGCTTCATGGATCAGCTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6709
+CACATCCATGCCAGAAAGATCATCTCGCGGGTCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6710
+TTATTCTCGCTGTCTTTGCTCTGCTGGCGATCACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6711
+TTGCTGCGACCAACGTGAACGATACCGTACCACGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6712
+AGGCAGTTTTGCGTTTGTCATCAGTCTGATCCCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6713
+GATATTACTGGCGGGTAACGGCACAACCTACATGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6714
+ACCATCGCACCGGCACTGCTGAAAGAGCTGGCGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6715
+AATCAAGCGTTTTCGCAGGTGAAATAAGAATCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6716
+GGCCTGCATGGCTATTACCAATTTGACCGCCATAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6717
+GTGTGGAAGAGTTGTTCCGCCGCAAAATCTGGCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6718
+TCTCCTTTATTAACAGCGTCCTTTGGGGATCGGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6719
+TGGGCAGTTTCGTGGCGGACCGGCATGGTATATGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6720
+CTGGTTCCGGGCCGTATCTCAACTGAAGTTGATGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6721
+TTGCAGCGATGTCACGCGCCCGTATTTCCGTGGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6722
+GGCGTTCTGTTCGCCGTCTTTTTGCTCATCGCCTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6723
+TGTTCAGCGTTTCCGGCCCGGGGATGAAAGGGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6724
+TGAAGTCGATGTCCTATCAGGAAGCGATGGAGCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6725
+CCGCACGCTGCCGTAGCTTATCGTGCGCTGCGTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6726
+CTTCCTGCATTGCCCGTTCAGCTCGCACACAGTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6727
+ATCCAGCCCCAACGTTGGTGTCATAGAGGAATTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6728
+CGGTAAACCGTAGAAAGCATGAGCCACTGCCGCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6729
+TCGCCGAAGTTTCCACTCGGTACCGAGACAACCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6730
+GTTGATGGTGCATTGCTCGGAGATGTAGTCACGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6731
+TTCCTGGTCGACGAAAGTTTTCAATTGTGCCAGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6732
+GATAATAGTGGCTATAGAAGGCCAGGGCGTTTTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6733
+CACGGCAAGCGCCATGCTGATATTACTGGCGGGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6734
+ACATCGGCGCTAACCACGCCGTTTGAACTGGAAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6735
+CAGCACCGCAGCGGAGTAGTCGGAACCGTTGCGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6736
+TGGCGTCAGATGAGTATTTTAAATCGGTGAAGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6737
+GCTGTTTCGCCCAGGCGACAGCATCATCAATCAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6738
+TTGAGCTTGCCGCGAAGCTGATGAAAGATGTTATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6739
+AATGAATGCTGCCGGAGATACGCCCTTCCAACTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6740
+TGCGATCCTTTCGCGTCAGGTGGGGGTGATTCGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6741
+GCTTAGTTTCCATCTCTGATCGCGCATCCAGCGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6742
+CTAATTGTTAAGCTCCCCCCGCTCGAAGGGATAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6743
+TGGTGATGAATTGATGAAGTTCTCCGGCATTCTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6744
+TACATTTATGCCGAAAACAATCTCTTCTTTTTACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6745
+AAACTGACGCCCCCGCAGATTAGCTCCCTGATGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6746
+CGTAACCCAGGGGTTAGGCAAAAATCAGGGGCTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6747
+GGAAACAACATTATGAATGGCGAGGCAATCGCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6748
+TGAGTTAAAAGAACTGGGCTATACCTCGGAGCCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6749
+CTTGCTGGCTGATGATGTCGTTTTCTTCGATCATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6750
+TCCTGGCAAAAACGCTCCCAGCACTGATAAACGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6751
+TTGTCTCGGTACCGAGTGGAAACTTCGGCGATTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6752
+GTAGTCAATGCCGGATAATGCCGGATGGCAATCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6753
+TGTCTGTTGCGTGGTTTCATCATCCACGGCTGCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6754
+CTTTGTATCAGTCAAGAATACGGCCAACAAACGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6755
+TACAAAATCGTGCAAATTCAATATATTGCAAGAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6756
+TCAGGTTACAGTTAATACCTTCTTTTTCCAGCTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6757
+AATATCAATGCCGGATTGCCATCCGGCATTATCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6758
+CTCGTTTGCTGGCTTTGATGGGCGAGTTGGAAGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6759
+CATTATGAATGGCGAGGCAATCGCTGGCACCCACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6760
+GACCGGATCGATAACGGTAACGTTGTGACCACGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6761
+ATAATGTGGTGATAAATCTGGCGTCAGATGAGTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6762
+AAGAACTGGGCTATACCTCGGAGCCGCACGCTGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6763
+AACGCCGTTGCGCGAGCCCTGAGTTTTTCTTTTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6764
+TTGCAATATATTGAATTTGCACGATTTTGTAGGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6765
+TTTCGCCATTTTTCACTTTGAACAGCGGATCATTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6766
+CAGCCTGACTGAAATTGATGAGATGCTGAAGCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6767
+TAGATGCATGCTCGAGCGGCCGCCAGTGTGATGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6768
+CAAAACTTTTCCTTCATCACGGGCCTTCGCCACAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6769
+TTCTTTTAACTCACGCATTGTCTGTTGCGTGGTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6770
+CGGCAGCGGCAGCTGCGTCCTGGCCTCCGCATCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6771
+CATCAGTTGCGTTATGCGGCGGAAAAATCGCGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6772
+TTTCGCAGGAGTAATCACAACTATCGATCAACTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6773
+CAGGAACCCATTAGCACCCGCATCGCCTTCTGGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6774
+TCAGGTTATCGAAGTGTTTGTGATTGGCGTCGGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6775
+TCAATAACCGGTAATCCAGCCCCAACGTTGGTGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6776
+AACGCATTAGCACCACCATTACCACCACCATCACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6777
+CATACGTTGAAACGGCACCGGAAGTGGTTGCAGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6778
+CGACAGCATCATCAATCAACTTACGGTATTCCGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6779
+CCGCGCCGATTTCCGCAACCGCCTGCCGCGCCTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6780
+TCTGCATTTGCCACTGATGTACCGCCGAACTTCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6781
+GCGTTCGCCTGAACTCCGCTGAAAATTATGCCGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6782
+TCGTCTGGAAATGGGGATACGTCTTGAGAATGCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6783
+GTTAACAACGTGCGCTTTGTTTATGCCGGATGCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6784
+TCGAATCTACCGTTGATATTGCTGAATCCACCCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6785
+ACAGAAACCACGCCCGGATCTTCTGCCGGAGCGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6786
+ATTGCTGGAGGAAGCTTCATCAAAGAAGTAACCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6787
+CAGGCCGAAACCTTCAGCGAAGACGATTTCGATTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6788
+ATTCGCCTGGATTCAACTGGTCACGCAGCGCACGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6789
+CACTGCCCCAACAAACTGATGCCATGCAGGACATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6790
+CTGAACGGGCAATGCAGGAAGAGTTCTACCTGGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6791
+AGAATTCGCCCTTGTGATATCATCAGGGCAGACCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6792
+CTGATAAGCGTAGCGCATCAGGCAGTTTTGCGTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6793
+CCAGTTCAAACGGCGTGGTTAGCGCCGATGTCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6794
+AGCGTACCTGGTGCTTGGGGATTTCCGGTATTTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6795
+CTGCCGCGTGAAGATTGCCGAAGTGGATGGTAATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6796
+TTGAACAGCATCTGATGAGTAACGCGCACGCCAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6797
+ACTGAAGTTGATGCGCGTCTTTCCTATGACACCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6798
+GTGTGATGGATATCTGCAGAATTCGCCCTTGTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6799
+TGGTTATGGGCGCAAGCTTCCGTAACATCGGCGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6800
+GGCGATCATCGAGCAAACGTTGTGTGAACTGGTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6801
+TCATCCACCAGTTCACACAACGTTTGCTCGATGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6802
+TTCAACAACCTCGCATCGGGCACCTGACGCGGATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6803
+AAATCGAAATCGTCTTCGCTGAAGGTTTCGGCCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6804
+CCAATGCGATGGATGTTAGCCAGCCAAACAACTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6805
+CTTTTTCCCTGTCGTTTTTCTCCATATTTTCTTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6806
+TACTCATCTGACGCCAGATTTATCACCACATTATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6807
+GGACGGTGGCCACCTGCCCCTGCCTGGCATTGCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6808
+TGAAAAAGGCGAGCTGGTGGTTCTGGGACGCAACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6809
+TTGACTTAGGTCACTAAATACTTTAACCAATATAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6810
+GAAAGTGCGAGTACGATAGATTGCATCTTTTTCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6811
+AGCCACTATTATCAGCCGCTGCCGTTGGTACTGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6812
+CAGCGGCTGATAATAGTGGCTATAGAAGGCCAGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6813
+CTGATGGCTGGTTTCACTGCCGGTAATGAAAAAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6814
+TCTCGGCATTCAATTTCTTCGGCTTCACCGATTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6815
+GGTCGCCTCGGAGAAACTCATGCCTTCGTCTAACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6816
+GGCCGGATAAGGCGTTCACGCCGCATCCGGCATAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6817
+AGTGCCAATATGAGCGTCGGGTTTGATGTGCTCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6818
+CGCGTCTTGCACTCTTCGGTCTGAATGCTGCAACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6819
+AGCCGCTTAATGACACTCGTTTGCTGGCTTTGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6820
+GAATTAAGCGCCCGAGATTAAACGGCTCTTTGGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6821
+GCGGCAAGCCGCTTAATGACACTCGTTTGCTGGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6822
+AAGATGATTGCGTAATCAGCACCACGGAAATACGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6823
+TTCACACCGGAGAATGCCCGCCAGGCAATTCTGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6824
+ATCCCCATTTCCAGACGATAAGGCTGCATTAAATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6825
+ATTCACGCCTGCTATTCCCGTCAGCTTGAGCTTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6826
+TTACACTGGTGAAGTGAAAGCGCGTCCGGCGCGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6827
+CGTCAAATCGCCGAAGTTTCCACTCGGTACCGAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6828
+GGCGCGGTAGCGAGCGGTATCTCCGGCTCCGGCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6829
+CGCGCCCGTATTTCCGTGGTGCTGATTACGCAATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6830
+GTTCACTTTTCGTACCGGATTTGTGCAGTTTCGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6831
+CGGGCCGGAGCCGGAGATACCGCTCGCTACCGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6832
+GTTCAGAAGATCCCTGAGCAATGGCGACAATGTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6833
+AAATCGGCGGGCAGGTTATGCGAAAGCAAGGGTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6834
+GTTCAGAAGATCCCTGAGCAATGGCGACAATGTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6835
+TGATGGTAGTAATCCATCGACGAGGTGTTGGCCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6836
+TGGCCTTCTATAGCCACTATTATCAGCCGCTGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6837
+TCCCGGCTCCGGTCGCCAATGTTGAAAGCGATGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6838
+AGTTCTACCTGGAACTGAAAGAAGGCTTACTGGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6839
+AAACTTACGGATACCTTCCGCCAGTTTATCTACTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6840
+AACAGCAAACTTACGGATACCTTCCGCCAGTTTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6841
+AATTTACGCAACGCAGCAAAATCGGCGGGCAGGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6842
+GCCATGTTATTCAGATTGGAAATGCCCTTGACCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6843
+TGCCGAAGATATAAGAAAGCGAACCTGAAAGAATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6844
+CATCAATTTCAGTCAGGCTGAATTCCGGCAGGTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6845
+GAATACCTTCCAGCGGCATGTAGGTTGTGCCGTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6846
+AGAGCGAACAAAGTCGGGCCGGAGCCGGAGATACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6847
+CACGAGGCGAATTAAGCGCCCGAGATTAAACGGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6848
+CCATCAAAGCCAGCAAACGAGTGTCATTAAGCGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6849
+CTCTGATCGCGCATCCAGCGGCGTTTATCAGGATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6850
+TCGCTGCAAAGACGCGCGCCGCCATGCCAACCATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6851
+ATCCGTCCAGATCTCGCAACAATCGGCGCGTAAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6852
+CGCCGCTGGATGCGCGATCAGAGATGGAAACTAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6853
+AACACGCCGGCCATAATGGCGATCGACATTTTCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6854
+CACCGGATGTCGCGGTCAGAATGGTCACTGGCTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6855
+CGCCGTCAAATCGCCGAAGTTTCCACTCGGTACCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6856
+GCGCATCCGGCGAAATTTAAAGAGAGCGTGGAAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6857
+AAAGACGGCGAACAGAACGCCCATCCAGCGCATCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6858
+ATTGTTTACGAAGTATATAACGCTACGAGGTACTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6859
+CAACCAGTCGGCAACGCGCTGGGCGGTATCCGGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6860
+GGGCATTCTCAAGACGTATCCCCATTTCCAGACGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6861
+GTACGGTACGCTGGCAAAAATACCGTGCACCACAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6862
+TCCGGCTTGTCACACAGAGCGAACAAAGTCGGGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6863
+GGGCGTTCTGTTCGCCGTCTTTTTGCTCATCGCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6864
+TATTCGCCTGGATTCAACTGGTCACGCAGCGCACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6865
+GTTATCCTCTATCCACGAGGCAAAATCAGTCCACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6866
+TCCTGCATGGCATCAGTTTGTTGGGGCAGTGCCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6867
+AGTTTATGCCCCGGCTTCCAGTGCCAATATGAGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6868
+TGTCACCGCCGCCCCGAGCACATCAAACCCGACGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6869
+ATGGCGCTTGCCGTGCAGATGACCAGGGTGTCGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6870
+TTAACTTACCCGGTCAACCGAAGTCTATTAAAGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6871
+GATGATGTTTCGCAGGAGTAATCACAACTATCGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6872
+CCGCGCCTGCCGGAAGCCTGGCAGTAACCGTTCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6873
+CTGGCACTTGCTGGCTGATGATGTCGTTTTCTTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6874
+AGCGGCGTTGATACCCGCCAGTTTGTCGCTGATGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6875
+TGGTGAACAGATGCGCCAGATCAGCCTGCATTTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6876
+GGATACGGCGGGCGCACGAGTACTGGAAAACTAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6877
+ATTCGCTGCGTTGATATCGCCCGCCATTTTTATAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6878
+TCCCGCCGCGCCGCCTGCAGCTTCCTGCCAGCCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6879
+TACATTTATGCCGAAAACAATCTCTTCTTTTTACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6880
+TGCGAGGTTGTTGAAGTCGATGTCCTATCAGGAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6881
+CCATTATGGCCGGCGTGTTAGAAGCGCGTGGTCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6882
+AAACCGTGGTTATGGGCGCAAGCTTCCGTAACATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6883
+GCTACGCAGAAGTTATCCAAGTACCTCGTAGCGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6884
+GGCGACATCTGGCAGGCTTCATTCACGCCTGCTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6885
+TTCATCCCCGGGCCGGAAACGCTGAACATTGCCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6886
+ACTTTCCCTGGTTCTGGTCGCTCCCATGGCAGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6887
+TCATGGATGTTGTGTACTCTGTAATTTTTATCTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6888
+CACAGGAAAGTCATCGCGACCGGCAATAAGAGGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6889
+GCGTAGATAATCACTGGCAATGGTATGAACCACAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6890
+AAGGTGCCGCCGATGACCGTTGCGAAGGTGCAGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6891
+GAAATTTGGCTGCCAGTCATGAAAGCGAGCGGCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6892
+GCCGAGATCCCACGTAAGGTGCGCATACCATCACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6893
+TTGCCACTGATGTACCGCCGAACTTCAACACTCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6894
+GCAGGGTATCCGTGCTGCAGAACAGCTGGAAAAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6895
+ATCTGCACGGCAAGCGCCATGCTGATATTACTGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6896
+CAGCCCCAGCGCCACTTTCAGTTCTTCATCATCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6897
+ACAGCCAGGCGGTTTAACCTCATTTCAGTCATTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6898
+AGATGCTGAAGCTGGATTTTGTCACCCGCAGTGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6899
+AGAACTTTAGCGCCGAAGTAAGAAAGCTCCATCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6900
+CGCATCTGTTCACCAAAGCCTGGCATCTCGCGGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6901
+CGATGATCGCCTGCTCATCGGGGATTAAGCGGGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6902
+CGATAGTTGTGATTACTCCTGCGAAACATCATCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6903
+AATTCAATATATTGCAAGAAGATCGTAGGCCTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6904
+AGGATAAAGGCATCCCTGCGCTGGAAGAATGGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6905
+GCTGCGCGCGATCGTTGCTCTGCTGTTTCGCCCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6906
+CCAGTACTACAAAGAGCATGGTTATGAAACCGTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6907
+TTTTCACTTTGAACAGCGGATCATTACCATCCACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6908
+AATAACATGGCAATGTTCAGCGTTTCCGGCCCGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6909
+AATCTCTGTCGTGGTCAATAACGATGATGCGACCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6910
+TGACTGCAACGGGCAATATGTCTCTGTGTGGATTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6911
+AGGAACACTGGCTTGATAATCTCGGCATTCAATTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6912
+CCTTCGCTCTCCGCCAGCTCTTTCAGCAGTGCCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6913
+CGTGCGGAAAAAACAGCCCCTGATTTTTGCCTAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6914
+ACAGCTTGTTAGGGGGATGTAACCGGTCTGCCCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6915
+GGATATGGTGCGGGCAATGACGTTACAGCTGCCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6916
+CGGATACCGCCCAGCGCGTTGCCGACTGGTTGGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6917
+GATCTCGCCGTTTGTTGGCCGTATTCTTGACTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6918
+TATACTTCGTAAACAATTGGTAACGTTTACACAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6919
+CGCTGGTGAAGCAGGCGTTTGATGATGAAGAACTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6920
+AAGGGCATTTCCAATCTGAATAACATGGCAATGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6921
+CTGAACAGGCGCTGGAGCCTAAGCCCGAACCGATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6922
+AATAGCAGGCGTGAATGAAGCCTGCCAGATGTCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6923
+GCACCAGATGGCAACTCATTTCATCCACCAGTTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6924
+AAATTGATGATGAATCATCAGTAACATCTATTCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6925
+TTTGTCCCGTTGATGGCGATAATCTGGGTACTGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6926
+TCGCAAACAGGCGCTGATCCTTAACTTACCCGGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6927
+TTCAATAATGAAACGACTCATCAGACCGCGTGCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6928
+AAGCACAATGATCATCGTGGCGATCATCGTCCGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6929
+TTGTCACCCGCAGTGCGAAGATCCTCTCGGCGTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6930
+TGGCCGGCGTGTTAGAAGCGCGTGGTCACAACGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6931
+TCCGCCACGAAACTGCCCATTGGCATCACGTTCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6932
+TAATCAGCACCACGGAAATACGGGCGCGTGACATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6933
+GTTGTGACCACGCGCTTCTAACACGCCGGCCATAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6934
+TGTTGCGAGATCTGGACGGATGTTGACGGTGTTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6935
+CCGGTGTCTTTGCTGATCTGCTACGTACCCTCCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6936
+GTGGAACAATTCCAGACAACCGACATCGCTTTCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6937
+TGGCGGCGCGCGTCTTTGCAGCGATGTCACGCGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6938
+CAGAACAGTTTTTCTTGCAGTGGACTGATTTTGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6939
+ATCAGGCAAGGGATCTGGAACTGGGCGATGGGGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6940
+AGTGTTTGTGATTGGCGTCGGTGGCGTTGGCGGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6941
+GACTCGCCGCCGCCCAGCCGGGATTTCCGCTGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6942
+CGACCGCCGAAATCTTTAAATGCCAGCGTTGGCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6943
+CAGAGTTTAACGCCGAGGGTGATGTCGCCGCTTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6944
+AGCGTCAATTGCGAAAGCAAAACGCCTGATCAAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6945
+TCACGACGCGCAGGGCCAGTTCCGCCCGTGGTGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6946
+GACTGTACTTCCAGCCAGGCTGTGGCAGATCAATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6947
+GCTTCATGGATCAGCTGCTGGGCGTTGTCTAACAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6948
+CAAACGTTGTGTGAACTGGTGGATGAAATGAGTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6949
+CTCCCATGGCAGCGCAGGCTGCGGAAATTACGCTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6950
+ATGCAGCCGTGGATGATGAAACCACGCAACAGACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6951
+GTCAGTAAAATTACAGATAGGCGATCGTGATAATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6952
+CCGCCATATTACTGCTCTCGCCTGTGGTTCATACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6953
+ATCGGCGAAATTCTGGAACTGGCAGGCTGCGACCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6954
+AGAGTTTCATTTAGTTTTCCAGTACTCGTGCGCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6955
+TCTTATTTCACCTGCGAAAACGCTTGATTACCAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6956
+TTTCAGTTGCCAGATTTTGCGGCGGAACAACTCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6957
+CGCCCGATGCGACGCTGGCAGTAGCGGACCGCGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6958
+CACAAGGCGATAATGTGGTGATAAATCTGGCGTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6959
+CGATACCGTACCACGTTTCCTGCACGACGGTCAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6960
+GGTTCCGACTACTCCGCTGCGGTGCTGGCGGCCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6961
+CGCCAGTTTGTCGCTGATGCGCATCAGGGAGCTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6962
+ATGCAGGGGTTTGTCCCGTTGATGGCGATAATCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6963
+GCAGCACAACCAGGATCCAATGGCAGTAGATAAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6964
+ATTTACGCCGCGATTTTTCCGCCGCATAACGCAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6965
+AGGGTAACGTTGTGGTGCACGGTATTTTTGCCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6966
+TTGATGATGAATCATCAGTAACATCTATTCATTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6967
+TGGCTTGCGCCAGTTCTTCCTGCCAGTTTTCCAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6968
+AGAATTCAGCCCCAGCGCCACTTTCAGTTCTTCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6969
+CTGATTGAGATAATGAATAGATGTTACTGATGATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6970
+AGCGCAGTATGTTTTCCAATGAGGCGGGAATGGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6971
+CCTGATAAGCGTAGCGCATCAGGCAGTTTTGCGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6972
+TTCACTGCCGGTAATGAAAAAGGCGAGCTGGTGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6973
+GTGTTCATTCATCGCCATCAGCGCCGCGACCACTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6974
+CTGGATGTGGGTTGCCGCATTTATCGGCATGGCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6975
+TCTACAATCTGAAAGATCACAATGAGCAGGTCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6976
+ATCTAGAGGCCCAATTCGCTGCGTTGATATCGCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6977
+ACCGTAGAAAGCATGAGCCACTGCCGCTCCAGTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6978
+CCGATAAGAAAGAGTACGCTCCGGCAGAAGATCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6979
+TGAATCCACCCGCCGTATTGCGGCAAGCCGCATTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6980
+AAGCTGACCTGCTCATTGTGATCTTTCAGATTGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6981
+CGGTCGCCAATGTTGAAAGCGATGTCGGTTGTCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6982
+ACGTTGGTCGCAGCAATAAAACGTTTTACCGGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6983
+GCGGAAAACTTAACAAGGTGCCGCCGATGACCGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6984
+GTGGTTAGCGCCGATGTCAGCCATTCTTCCAGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6985
+TTCTTCGATCATCAACTGCATACCACCAAGAAAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6986
+TCATTATTGAAAATCGGCTGACCAAACCAGAGCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6987
+CGAGAAAATGTCGATCGCCATTATGGCCGGCGTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6988
+CTTCTGCCGGAGCGTACTCTTTCTTATCGGTATTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6989
+GTGCACGGTATTTTTGCCAGCGTACCGTACTGCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6990
+TTAATAAAGGAGAAAAAATCTGGCATGCATATCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6991
+GGAAAAAACAGCCCCTGATTTTTGCCTAACCCCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6992
+CCAGCGTACCGTACTGCATTCAGTTGCTGGAAGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6993
+TAAAATTTTAATTTACTCACGGCAGGTAACCAGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6994
+CAAAAAGACGGCGAACAGAACGCCCATCCAGCGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6995
+TTAACGCAGCGCAGATTCCGGAATACCGTAAGTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6996
+CCAGTGACCATTCTGACCGCGACATCCGGTGATAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6997
+CCGCGCTTCATGGATCAGCTGCTGGGCGTTGTCTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6998
+GCCGTCAAATCGCCGAAGTTTCCACTCGGTACCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6999
+AACATCCATGAAACGCATTAGCACCACCATTACCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7000
+TCAACGGGACAAACCCCTGCATGAGCCGGGCGACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7001
+TCCTAACTTCCATGGGAGGGTACGTAGCAGATCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7002
+CCGCCGCCCCGAGCACATCAAACCCGACGCTCATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7003
+TTCACCGATTTAAAATACTCATCTGACGCCAGATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7004
+CTTATCCCTTCGAGCGGGGGGAGCTTAACAATTAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7005
+GGAAGGTATTCAGCTTATCCAGAAGGCGATGCGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7006
+TGGCCCGCGCCAATATCAACATTGTCGCCATTGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7007
+TAAGAATCAGCATATCCAGTCCTTGCAGGAAATTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7008
+GCACGTTCTGCCAGCTCTTTTGGCAGATCCAACGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7009
+CAGAAACCACGCCCGGATCTTCTGCCGGAGCGTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7010
+CTGTGTGGATTAAAAAAAGAGTGTCTGATAGCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7011
+AGCGACAAACTGGCGGGTATCAACGCCGCTCGCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7012
+CGCTACGAACAACGTTAAGTTTGTAGTCAATGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7013
+GCACAATGATCATCGTGGCGATCATCGTCCGGGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7014
+GAAAGTGGCGCTGGGGCTGAATTCTGCTAACTCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7015
+CGGTGTTTGATCCGTTGCGTTATCCGGAGATCGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7016
+GCGATGACGGCGGTCCATGTGGGTGCCAGCGATTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7017
+TCATTACCTCGAATCTACCGTTGATATTGCTGAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7018
+GGAAACAACATTATGAATGGCGAGGCAATCGCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7019
+TTCAGCAGTGCCGGTGCGATGGTCAGACGGTCGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7020
+TGCGTGACCAGTTGAATCCAGGCGAATATGGCTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7021
+AAGTTAAGGATCAGCGCCTGTTTGCGAATCACCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7022
+GATAAACTGGCGGAAGGTATCCGTAAGTTTGCTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7023
+TGGCATTGCTTTCCAGAATATCGGCAACCCGCAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7024
+GCTGCATAAAAGCAAACCCGGCCTGATTGAGATAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7025
+GACGGGACTAGCGTAATTTCCGCAGCCTGCGCTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7026
+GATATTGAAATTGAACCTGTGCTGCCCGCAGAGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7027
+ATCATCAATCAACTTACGGTATTCCGGAATCTGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7028
+GCTATTACCAATTTGACCGCCATATTACTGCTCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7029
+AAAATGTCGATCGCCATTATGGCCGGCGTGTTAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7030
+CCGCGATTTTTCCGCCGCATAACGCAACTGATGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7031
+CTGCCGTTCTCATCGCGTAATCTCCGGATATCGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7032
+TACGTACCCTCCCATGGAAGTTAGGAGTCTGACAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7033
+TCAGAATACGATCGTTGCTAATACCTGCATCGTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7034
+TGCCACAGGAACTCGGACTCAGTGATACGCGCCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7035
+GCGTTGTCTAACAGCTCCGGCAGCGTATAGCGCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7036
+CTTAGCGTAGAAGCTGATGATCTTAAATTTGCCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7037
+CTGTTGATGGTGCATTGCTCGGAGATGTAGTCACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7038
+CCACTCGGTACCGAGACAACCAACTGGTTACGTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7039
+TTCGGAAGATGATTGCGTAATCAGCACCACGGAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7040
+GCTTTTTTTATGAAGAAAATATGGAGAAAAACGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7041
+CCCCTGCATGAGCCGGGCGACGCCATGAAGACCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7042
+CTCGAATCTACCGTTGATATTGCTGAATCCACCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7043
+TCTGCGGTGTTGCTAACTCGAAGGCACTGCTCACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7044
+TAATTCGCCTCGTGAAAGAATATCATCTGCTGAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7045
+ATCCGTCCAGATCTCGCAACAATCGGCGCGTAAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7046
+CAGTGTAGACATCACCTTTAAACGCCAGAATTGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7047
+ACGCAGAAGTTATCCAAGTACCTCGTAGCGTTATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7048
+AAATCGCGGCGTAAATTCCTCTATGACACCAACGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7049
+CGGTCTGAATGCTGCAACCACTTCCGGTGCCGTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7050
+AAGCTGGCGACCGATCTCCGGATAACGCAACGGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7051
+ATGCCGATAAATGCGGCAACCCACATCCAGAAGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7052
+ACCGTAGTGGCCGACACTGGGGACATCGCGGCAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7053
+GGTGTGAAGGACGCTGAGGGTAACGTTGTGGTGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7054
+AGCTGCTATCAGACACTCTTTTTTTAATCCACACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7055
+TCTTTCCTATGACACCGAAGCGTCAATTGCGAAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7056
+ATCAGTGGCAAATGCAGAACGTTTTCTGCGGGTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7057
+TAATTTTACTGACGGGACTAGCGTAATTTCCGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7058
+GATTTTGTCACCCGCAGTGCGAAGATCCTCTCGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7059
+AACGTTGGATCTGCCAAAAGAGCTGGCAGAACGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7060
+ATGCTGTTGGGCAAAATCGAAATCGTCTTCGCTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7061
+ATCTGCGGGGGCGTCAGTTTCCGCGCTTCATGGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7062
+TCAACTTCAGTTGAGATACGGCCCGGAACCAGTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7063
+CGTGCGCCCGCCGTATCCAGCCGGCAAATATGAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7064
+GGCACTTGCTGGCTGATGATGTCGTTTTCTTCGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7065
+TGATGCTATCCGGGCACTGCCCCAACAAACTGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7066
+TAAATTTGCCGTTCTTCTCATCGAGGAACACTGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7067
+TTTGGCTGGCTAACATCCATCGCATTGGATAACGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7068
+ATGATTCATCATCAATTTACGCAACGCAGCAAAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7069
+GCCTTTATCCTGATAAACGCCGCTGGATGCGCGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7070
+ATCGCCCGCCATTTTTATACGAAACCTCATGTATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7071
+CTTCCAGTGCCAATATGAGCGTCGGGTTTGATGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7072
+AAATCGTCTTCGCTGAAGGTTTCGGCCTGCAAGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7073
+TTTATCACCACATTATCGCCTTGTGCTGCGAGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7074
+ATCAACATTGTCGCCATTGCTCAGGGATCTTCTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7075
+TTGTAGAGTTTGATCAGGCGTTTTGCTTTCGCAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7076
+GCTGGGAGCGTTTTTGCCAGGAGCTTGGCAAGCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7077
+AGGGTGATGTCGCCGCTTTTATGGCGAATCTGTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7078
+AGGTGCGCATACCATCACCTACCACCGAGATAATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7079
+TTGTTTGGCTGGCTAACATCCATCGCATTGGATAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7080
+CTCCCCAGAATTGATACAGATCTTTCCCTCGGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7081
+CAGATTATCGCCATCAACGGGACAAACCCCTGCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7082
+GCCTGATAAGCGTAGCGCATCAGGCAGTTTTGCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7083
+TGCTCTGCTGTTTCGCCCAGGCGACAGCATCATCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7084
+TTGAACCTGTGCTGCCCGCAGAGTTTAACGCCGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7085
+AAACTTTTCCTTCATCACGGGCCTTCGCCACACGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7086
+CCAGCGCGGCAAAGAATTTCGCCGAGATCCCACGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7087
+GTACGCTCCGGCAGAAGATCCGGGCGTGGTTTCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7088
+GCTGATGAAAGATGTTATCGCTGAACCCTACCGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7089
+AGGCCATAATGATATCTGCCAGTTGCCACATCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7090
+CAGCATCTGATGAGTAACGCGCACGCCAGTGGTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7091
+GTCACGCTAAGTATGATTACAGCAGATCGCCGATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7092
+GCGACATCACCCTCGGCGTTAAACTCTGCGGGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7093
+TTGCGCCCATAACCACGGTTTCATAACCATGCTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7094
+TGGCATTTAAAGATTTCGGCGGTCGCTTTATGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7095
+AGAGTTCTACCTGGAACTGAAAGAAGGCTTACTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7096
+CTGATTACGCAATCATCTTCCGAATACAGTATCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7097
+AGCCCCAGCGCCACTTTCAGTTCTTCATCATCAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7098
+GTTCGGCATCGCTGATATTGGGTAAAGCATCCTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7099
+ACGCTCCGGCAGAAGATCCGGGCGTGGTTTCTGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7100
+CATCAACAGGTGTCACCGCCGCCCCGAGCACATCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7101
+CGTATGGCCCTTCCAGCAACTGAATGCAGTACGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7102
+CAACTGGCAGATATCATTATGGCCTGCATGGCTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7103
+CCGAAGTAAGAAAGCTCCATCGCTTCCTGATAGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7104
+TCGCCTGCTCATCGGGGATTAAGCGGGTTTCCAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7105
+CTGGAGCCGTTGGCGGTGACGGAACGGCTGGCCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7106
+CTTCCATGGGAGGGTACGTAGCAGATCAGCAAAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7107
+TTCGGCGTAACAACGTGGAAACCTTCGCGCAGGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7108
+AGAGTTTGATCAGGCGTTTTGCTTTCGCAATTGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7109
+TCGCTAAATATCAATGCCGGATTGCCATCCGGCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7110
+GCGCTTGCCGTGCAGATGACCAGGGTGTCGATAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7111
+CCAGAATTTCGCCGATGTTACGGAAGCTTGCGCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7112
+GTGGCAGATCAATATGCCGACTTCCTGCGCGAAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7113
+TGCTCAATGCTGGTGATGAATTGATGAAGTTCTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7114
+TCAACTGGTCACGCAGCGCACGATAAGCTACGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7115
+TGTCCCCAGTGTCGGCCACTACGGTGGTGTACTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7116
+GGCTGGATTACCGGTTATTGAGAACCTGCAAAATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7117
+GTGCGGCTCCGAGGTATAGCCCAGTTCTTTTAACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7118
+TTTGAACAGCGGATCATTACCATCCACTTCGGCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7119
+TAAGGTGCGCATACCATCACCTACCACCGAGATAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7120
+GCGCCGATTTCCGCAACCGCCTGCCGCGCCTGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7121
+CTGACGGCAGCTTATCGGCAAAGCGTCCGAGGTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7122
+TGATTACCAAAGCCCGTTGACCACCACGCGCTATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7123
+GCTGTTAATAAAGGAGAAAAAATCTGGCATGCATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7124
+ACTCTACAACGATGCAGGTATTAGCAACGATCGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7125
+CCCGCTCGAAGGGATAAGATTGTTAACAACGTGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7126
+ATGAAATGAGTTGCCATCTGGTGCTCACCACGGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7127
+CAAAAAAAGAGAATGAGTTGATCGATAGTTGTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7128
+CGCCTGAGTCGCTTTGGGTGACCACTGACCGTCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7129
+GTTGCCACATCAGCGGAAAACTTAACAAGGTGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7130
+CATTATCGCCTTGTGCTGCGAGCGCCTCGTTCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7131
+GCAATGCAATCCTGGCGGCGATACTGCGCCGGTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7132
+TTCAAAGTGAAAAATGGCGAAAACGCCCTGGCCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7133
+GAGATGCCAGGCTTTGGTGAACAGATGCGCCAGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7134
+AGGTAACGAGGTAACAACCATGCGAGTGTTGAAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7135
+CAGGCGGTTGCGGAAATCGGCGCGGTAGCGAGCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7136
+AGCTCCATCGTTGCCAACTACATTTATGCCGAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7137
+GACCGATCTCCGGATAACGCAACGGATCAAACACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7138
+GTGGCTCATGCTTTCTACGGTTTACCGAATGTGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7139
+TCCTGACCGCTAATGGTTTTTTCAATCATCGCTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7140
+CGCTTTAGGGTTGTTCAGGCGTAAAAAGAAGAGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7141
+AACGGTAACGTTGTGACCACGCGCTTCTAACACGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7142
+CCGGATAATGCCGGATGGCAATCCGGCATTGATAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7143
+ATGTTCCCTCGCACAGCTTTATAAAGAACGTGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7144
+TTGACGCTTCGGTGTCATAGGAAAGACGCGCATCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7145
+TCATCAATTCATCACCAGCATTGAGCAGATTTTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7146
+GCTGCCATGGGAGCGACCAGAACCAGGGAAAGTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7147
+CGCCGTTTGTTGGCCGTATTCTTGACTGATACAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7148
+AAGCTGCTATCAGACACTCTTTTTTTAATCCACAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7149
+TATCACCACATTATCGCCTTGTGCTGCGAGCGCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7150
+CAAACATCATCGCTAAATATCAATGCCGGATTGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7151
+TGCAGTGGACTGATTTTGCCTCGTGGATAGAGGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7152
+AATTGATGAAGTTCTCCGGCATTCTTTCAGGTTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7153
+GGATCTTCTGAACGCTCAATCTCTGTCGTGGTCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7154
+ACAATGACTGAAATGAGGTTAAACCGCCTGGCTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7155
+AACCGGTCTGCCCTGATGATATCACAAGGGCGAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7156
+ACGTTCGATAGCCCCTTCGCTCTCCGCCAGCTCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7157
+GGCGATGCGGGTGCTAATGGGTTCCTGGGGTGCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7158
+GAAGCGGGCGTGTTCCTGATCTCGCCGTTTGTTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7159
+CCGGCAGTGAAACCAGCCATCAGCACCATGTGGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7160
+TTCACCCCCGCACCATTACCCCCATCGCCCAGTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7161
+TGCGTAATCAGCACCACGGAAATACGGGCGCGTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7162
+CTGATGATTCATCATCAATTTACGCAACGCAGCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7163
+GCCAGGACGCAGCTGCCGCTGCCGCGTTTGGCGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7164
+CTCGGTCTGCCGGTAAAACGTTTTATTGCTGCGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7165
+CAGGTTATCGAAGTGTTTGTGATTGGCGTCGGTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7166
+CCGGCATTCTTTCAGGTTCGCTTTCTTATATCTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7167
+TTGTGCGGAAGCGGGCGTGTTCCTGATCTCGCCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7168
+CGGCGTGGTTAGCGCCGATGTCAGCCATTCTTCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7169
+TCTTGCAATATATTGAATTTGCACGATTTTGTAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7170
+TCCGGCAGAAGATCCGGGCGTGGTTTCTGTATCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7171
+TTAAATGCCAGCGTTGGCCCGTGGAACAATTCCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7172
+GCGCCTGTTCAGTGGTCGCGGCGCTGATGGCGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7173
+GCCCGGAACCAGTTTCAGGATTTCCAGACCAATAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7174
+ATAAAGGAGAAAAAATCTGGCATGCATATCCCTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7175
+GCGGAGAATAACAACTGCCGTTCTCATCGCGTAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7176
+GCCGTATTCTTGACTGATACAAAGCGAATACCGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7177
+TTCGATAACCTGATCGGTATTGAACAGCATCTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7178
+GACTACATCTCCGAGCAATGCACCATCAACAGGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7179
+ATTACGCAATCATCTTCCGAATACAGTATCAGTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7180
+GTGGTAGGTGATGGTATGCGCACCTTACGTGGGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7181
+GCGAACAGAACGCCCATCCAGCGCATCCCCAGCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7182
+GGCGGTCATTGGGGCGACCACGGCTGGTGGAAACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7183
+CGAGTGATCGCCAGCAGAGCAAAGACAGCGAGAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7184
+GGTCAACAGCAAACTTACGGATACCTTCCGCCAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7185
+CAGCGCAGCGTTGATGCTATCCGGGCACTGCCCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7186
+AGAACTCTTCCTGCATTGCCCGTTCAGCTCGCACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7187
+CATCAGATGCTGTTCAATACCGATCAGGTTATCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7188
+GTATCAACCGCAGGATGCCACAACCAACCCTTCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7189
+TTTCACTTTGAACAGCGGATCATTACCATCCACTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7190
+TGGTCAGCCGATTTTCAATAATGAAACGACTCATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7191
+AGATGATTGCGTAATCAGCACCACGGAAATACGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7192
+CCAGCGCCTGACAGGCATCGAAATCGCCGTCGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7193
+TAACACGCCGGCCATAATGGCGATCGACATTTTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7194
+TCGGTGGCGTTGGCGGTGCGCTGCTGGAGCAACTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7195
+TGGTGCTGATGGCTGGTTTCACTGCCGGTAATGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7196
+TATGCGCACCTTACGTGGGATCTCGGCGAAATTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7197
+ACCGAAGAGTGCAAGACGCGAAGTTAGCGAATAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7198
+AAGCCAGGCGATTACTAACGGTTTTCAGCGCAGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7199
+ACATGTCCTGCATGGCATCAGTTTGTTGGGGCAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7200
+GCGATGCCGAACTTATTTTTGCCGAACTTCTGACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7201
+TGCGTTTCATGGATGTTGTGTACTCTGTAATTTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7202
+ACGCGCCACATCCATGCCAGAAAGATCATCTCGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7203
+AACAGGTGTCACCGCCGCCCCGAGCACATCAAACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7204
+TGATGATGCTGTCGCCTGGGCGAAACAGCAGAGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7205
+CGCTAACCACGCCGTTTGAACTGGAAACCCGCTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7206
+GACTTCGGTTGACCGGGTAAGTTAAGGATCAGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7207
+TTATACCTGCGATCCGCGTCAGGTGCCCGATGCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7208
+TCAATAAAATTTTAATTTACTCACGGCAGGTAACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7209
+GGGCGCACGAGTACTGGAAAACTAAATGAAACTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7210
+GGCAATGGTATGAACCACAGGCGAGAGCAGTAATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7211
+GACGCTGTTAATAAAGGAGAAAAAATCTGGCATGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7212
+TTAAACACCAGTTCGCCATTGCTGGAGGAAGCTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7213
+TTCCGTGGTGCTGATTACGCAATCATCTTCCGAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7214
+TCAGGAAGGTTTTGTTCATATTTGCCGGCTGGATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7215
+TCAGATACAGAAACCACGCCCGGATCTTCTGCCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7216
+ATGCAGTACGGTACGCTGGCAAAAATACCGTGCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7217
+CGATCTCTTTGCCGCGCGTGTGGCGAAGGCCCGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7218
+GAGTGCTTTTGGCTGGCAGGAAGCTGCAGGCGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7219
+GCAGCCTGCGCTGCCATGGGAGCGACCAGAACCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7220
+GCCGATTTCCGCAACCGCCTGCCGCGCCTGCCGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7221
+TGATGGTAGTAATCCATCGACGAGGTGTTGGCCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7222
+TGAGCAATGGCGACAATGTTGATATTGGCGCGGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7223
+AATGCAGTACGGTACGCTGGCAAAAATACCGTGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7224
+GCGGGATTTCATCACCAATAAACGCCGAGAGGATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7225
+CGCGGAAACTGACGCCCCCGCAGATTAGCTCCCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7226
+GCCCCAGCGCCACTTTCAGTTCTTCATCATCAAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7227
+TGTTCTGCAGCACGGATACCCTGCCAGGTAGAAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7228
+AAATCAGCGCAGCGTTGATGCTATCCGGGCACTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7229
+CGCCGGACGCGCTTTCACTTCACCAGTGTAAGACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7230
+GGCGACGTTATCCAATGCGATGGATGTTAGCCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7231
+CGTGGAAGCGATTCTCGGTGAAACGTTGGATCTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7232
+GATCGCGCATCCAGCGGCGTTTATCAGGATAAAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7233
+ACCAGGATCCAATGGCAGTAGATAAACTGGCGGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7234
+CCGCGCCATAACAAGCACAATGATCATCGTGGCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7235
+AGTTTCCACTCGGTACCGAGACAACCAACTGGTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7236
+CCGGATATCGACCCATAACGGGCAATGATAAAAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7237
+TATGACACCGAAGCGTCAATTGCGAAAGCAAAACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7238
+GGGTTATACCGAACCGGACCCGCGAGATGATCTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7239
+ATGGCGACCTCGTTTGCCGAATGTTCCCTCGCACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7240
+ATAAGAGGGATATGCATGCCAGATTTTTTCTCCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7241
+AGCTTGGCAAGCAAATTCCAGTGGCGATGACTCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7242
+GTTTTTTCAATCATCGCTACCAGATGGTTGGTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7243
+TTGATGCGCGTCTTTCCTATGACACCGAAGCGTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7244
+AGGATAACCACTTTCACATTCGGTAAACCGTAGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7245
+TCGACTTACGTGTCTGCGGTGTTGCTAACTCGAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7246
+GATGTCACGCGCCCGTATTTCCGTGGTGCTGATTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7247
+CGCGCAGGGCCAGTTCCGCCCGTGGTGAGCACCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7248
+AAGGCGATGCGGGTGCTAATGGGTTCCTGGGGTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7249
+CAGCAAGTGCCAGGGTTTGATGAGTGGCTGTGGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7250
+AACAGCAAACTTACGGATACCTTCCGCCAGTTTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7251
+CGTGCGGCGTTTGCCTTCCCGGCTCCGGTCGCCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7252
+GCATCCGGCAGCGCAAGGAATTGTCCAGATGATTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7253
+TTAAAAAAAGAGTGTCTGATAGCAGCTTCTGAACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7254
+TACGACAACGTGGCACCGTGTTTTCTTGGTGGTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7255
+TTGGTTGTGGCATCCTGCGGTTGATACAGCTTCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7256
+GTCATTGTGTACCAGTCTTGCAGCGCGCGTGGGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7257
+CTCCCCAGAATTGATACAGATCTTTCCCTCGGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7258
+CTGTCTGTCACTCCCTTCGCAGTGTATCATTCTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7259
+ATATTCTTTCACGAGGCGAATTAAGCGCCCGAGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7260
+CTGGCGCAGATTTGTTATTACTTTGAGGCTGTCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7261
+AGCCGCACGCTGCCGTAGCTTATCGTGCGCTGCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7262
+ACCCCAGGAACCCATTAGCACCCGCATCGCCTTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7263
+TAGCCACTATTATCAGCCGCTGCCGTTGGTACTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7264
+TTACTGACGGGACTAGCGTAATTTCCGCAGCCTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7265
+GCACGAGCCTGAGCGAAGGAGAACAGCAGGGTCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7266
+TCCATGGGAGGGTACGTAGCAGATCAGCAAAGACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7267
+CATTGGTGCCAGCCGTGATGAAGACGAATTACCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7268
+CCACAGCCAGGCGGTTTAACCTCATTTCAGTCATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7269
+AAAATTACAGATAGGCGATCGTGATAATCGTGGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7270
+TATGGGTCGATATCCGGAGATTACGCGATGAGAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7271
+CTTCCACACGCGGCCAGTTGTTTGGCTGGCTAACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7272
+GGGTAATGGTGCGGGGGTGAAGAACTTTAGCGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7273
+CAGTCGGCAACGCGCTGGGCGGTATCCGGCTTGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7274
+AGGTCCACCGGCGGTAATTGCCAGCGCAACGCCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7275
+AGGCCGGATAAGGCGTTCACGCCGCATCCGGCATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7276
+CCTTCGCTATTAAAACCAGTCAGTTGCTCTGGTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7277
+TCGCCCGCAATATGGGTCAGCATTTGTGCCATAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7278
+AAAGTGCGAGTACGATAGATTGCATCTTTTTCACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7279
+GTTATGAAACCGTGGTTATGGGCGCAAGCTTCCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7280
+CATGTGGGTGCCAGCGATTGCCTCGCCATTCATAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7281
+ACCGGAAATCCCCAAGCACCAGGTACGCTCATTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7282
+TGAAAAATGGCGAAAACGCCCTGGCCTTCTATAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7283
+AATCAGTCCACTGCAAGAAAAACTGTTCTGTACAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7284
+CAGGAAATTTATGCCGACTTTAGCAAAAAAAGAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7285
+GGGCTTTTTTCTGTGTTTCCTGTACGCGTCAGCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7286
+ACTGGCTTGATAATCTCGGCATTCAATTTCTTCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7287
+CATACTGCGCTGAAAACCGTTAGTAATCGCCTGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7288
+GACGGACAAATTGACCTCCCTTCGTCAGTACACCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7289
+TAGACCAAATGACGTGGGGAAGTTGCCCGATATTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7290
+AAAAGTTTTGCGCTATGTTGGCAATATTGATGAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7291
+ACATCCGCCAGTTTGGCAAAAGTCTTAAAAATAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7292
+GGTTACATCCCCCTAACAAGCTGTTTAAAGAGAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7293
+AATCCTGGCGGCGATACTGCGCCGGTAAAATAGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7294
+TGCCCTTGACCGGTAATTCGTCTTCATCACGGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7295
+CACAGGCGAGAGCAGTAATATGGCGGTCAAATTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7296
+CTGGGGAGATATCATCACCAACAAGCTGAACGAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7297
+TTTGCCGAATGTTCCCTCGCACAGCTTTATAAAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7298
+TGTGCTCGGGGCGGCGGTGACACCTGTTGATGGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7299
+TAGCGTTATATACTTCGTAAACAATTGGTAACGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7300
+GCGCGTGGGTAGCGGCAACCTGGCCGGCGTTGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7301
+CGCGAAGCTGATGAAAGATGTTATCGCTGAACCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7302
+GTGAGCACCAGATGGCAACTCATTTCATCCACCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7303
+CGCAACGGTCATCGGCGGCACCTTGTTAAGTTTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7304
+TTTTGTCACCCGCAGTGCGAAGATCCTCTCGGCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7305
+CCGGTCAACCGAAGTCTATTAAAGAGACGCTGGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7306
+GGAGATACCGCTCGCTACCGCGCCGATTTCCGCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7307
+TCAGGCGAACGCCGTTGCGCGAGCCCTGAGTTTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7308
+AAGCGTCAGCAAAGCTGGTTGAAGAATAAACATAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7309
+CATCCACAGCCAGGCGGTTTAACCTCATTTCAGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7310
+TTGATGAATACTTTACGTATTGGCTTAGTTTCCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7311
+TCTTTCTGGCATGGATGTGGCGCGTAAGCTATTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7312
+AGCTCTTTCAGTTGCCAGATTTTGCGGCGGAACAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7313
+TGCTGATTCTTATTTCACCTGCGAAAACGCTTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7314
+GCTACGCAGAAGTTATCCAAGTACCTCGTAGCGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7315
+CGGTCCGCTACTGCCAGCGTCGCATCGGGCGTTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7316
+AGAAACCACGCCCGGATCTTCTGCCGGAGCGTACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7317
+CGTTATTGACCACGACAGAGATTGAGCGTTCAGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7318
+AAGAGATCGTCGAGCTGTGACAGATTCGCCATAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7319
+TGAACCCGGTCATTGTTGACTGTACTTCCAGCCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7320
+GGTGTCATAGGAAAGACGCGCATCAACTTCAGTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7321
+GGCATTGATATTTAGCGATGATGTTTGTCAGGCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7322
+AAAAAGATGCAATCTATCGTACTCGCACTTTCCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7323
+ACGTTGTTAACAATCTTATCCCTTCGAGCGGGGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7324
+GATTTTGTAGGCCGGATAAGGCGTTCACGCCGCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7325
+GGTACGTAGCAGATCAGCAAAGACACCGGCAGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7326
+GGCATCCTGCGGTTGATACAGCTTCATTGCCGCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7327
+AACTTATTTTTGCCGAACTTCTGACGGGACTCGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7328
+CCGGGGATGAAAGGGATGGTTGGCATGGCGGCGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7329
+TTCAGTGGTCGCGGCGCTGATGGCGATGAATGAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7330
+GCCCATCCAGCGCATCCCCAGCCCGCGCGCCATAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7331
+TGGGGGTAATGGTGCGGGGGTGAAGAACTTTAGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7332
+ACCACCGTAGTGGCCGACACTGGGGACATCGCGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7333
+ATGCCAATCATCTGGACAATTCCTTGCGCTGCCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7334
+GAAAATTATGCCGTAGGCGATGAGCAAAAAGACGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7335
+CGTGCGCAATGCAATCCTGGCGGCGATACTGCGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7336
+GCACAACCTACATGCCGCTGGAAGGTATTCAGCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7337
+GTGACCATTCTGACCGCGACATCCGGTGATACTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7338
+TATCATCAGGGCAGACCGGTTACATCCCCCTAACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7339
+AAACATATCGACTTACGTGTCTGCGGTGTTGCTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7340
+GCGGCCGCCAGTGTGATGGATATCTGCAGAATTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7341
+CGGCGCGGCGGGATATACCTTAAGCCAGGCGATTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7342
+GGGCGCAGTACGCCATACAAGCCGGAAAGCATTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7343
+CCAGTGTCGGCCACTACGGTGGTGTACTGACGAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7344
+AATACGGCGGGTGGATTCAGCAATATCAACGGTAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7345
+GTGGTTCATACCATTGCCAGTGATTATCTACGCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7346
+CCGAGTTTACGCTGGCGTAGATAATCACTGGCAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7347
+TTTGGCTGGCAGGAAGCTGCAGGCGGCGCGGCGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7348
+TTCATTCATCGCCATCAGCGCCGCGACCACTGAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7349
+CACAAGGGCGAATTCTGCAGATATCCATCACACTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7350
+TCTGGTTTGGTCAGCCGATTTTCAATAATGAAACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7351
+GGGCGTTTTCGCCATTTTTCACTTTGAACAGCGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7352
+TAACAAGGTGCCGCCGATGACCGTTGCGAAGGTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7353
+CCTGAGTTTTTCTTTTGATTTTCCCCCGCTGGTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7354
+TGACGTGGGGAAGTTGCCCGATATTCATTACGCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7355
+GAAACAACATTATGAATGGCGAGGCAATCGCTGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7356
+TCTGTGTGGATTAAAAAAAGAGTGTCTGATAGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7357
+AGCCACTGCCGCTCCAGTATCACCGGATGTCGCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7358
+GAGATCGGTCGCCAGCTTTCTCCAGACGCGTGGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7359
+GCCCTGGCTTCTGCCGTCGAGACTTTAATCCCCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7360
+TGAACGCCTTATCCGGCCTACAAAATCGTGCAAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7361
+CCGCAGGATGCCACAACCAACCCTTCTCTCATTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7362
+CTGTGGTAATGGTGATGGTGGTGGTAATGGTGGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7363
+ACCCAGGGGTTAGGCAAAAATCAGGGGCTGTTTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7364
+TGGTAGTAATCCATCGACGAGGTGTTGGCCTTTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7365
+GTAATTTTTATCTGTCTGTGCGCTATGCCTATATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7366
+AGCGTCTCTTTAATAGACTTCGGTTGACCGGGTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7367
+CTTGTTAAGTTTTCCGCTGATGTGGCAACTGGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7368
+AACAAGCTGAACGAGGCGCTCGCAGCACAAGGCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7369
+ACACTCTTTTTTTAATCCACACAGAGACATATTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7370
+CGTCACGACGCGCAGGGCCAGTTCCGCCCGTGGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7371
+GACCACTGACCGTCGTGCAGGAAACGTGGTACGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7372
+TATCGAAACTGTTGCCATCGACGGCGATTTCGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7373
+CTGCGGTGTTGCTAACTCGAAGGCACTGCTCACCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7374
+GGAAGGTTTTGTTCATATTTGCCGGCTGGATACGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7375
+GCAGTATGTTTTCCAATGAGGCGGGAATGGGGTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7376
+GGATTTGTGCAGTTTCGCTACATCCGCCAGTTTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7377
+TGATTCTTATTTCACCTGCGAAAACGCTTGATTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7378
+AAAACGACATCATCAGCCAGCAAGTGCCAGGGTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7379
+GGCTCCAGGTCCACCGGCGGTAATTGCCAGCGCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7380
+ATTGATGATGCTGTCGCCTGGGCGAAACAGCAGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7381
+GGCCCTGCGCGTCGTGACGTAACGCCCGATGCGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7382
+TCTGGATAAGCTGAATACCTTCCAGCGGCATGTAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7383
+GCATCGCCTTCTGGATAAGCTGAATACCTTCCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7384
+CCTGCAAGGACTGGATATGCTGATTCTTATTTCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7385
+CTCGTCGATGGATTACTACCATCAGTTGCGTTATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7386
+GAAGCGGGCGTGTTCCTGATCTCGCCGTTTGTTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7387
+ACCTTACGTGGGATCTCGGCGAAATTCTTTGCCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7388
+TGCGACAGCCTCAAAGTAATAACAAATCTGCGCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7389
+AACGGGCTTTGGTAATCAAGCGTTTTCGCAGGTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7390
+ATTTCCAATCTGAATAACATGGCAATGTTCAGCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7391
+ATTCGCTGCGTTGATATCGCCCGCCATTTTTATAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7392
+CTGGCAGAACGTGCTGATTTACCCTTGCTTTCGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7393
+GCGCCCGCTCGATTTAATGCAGCCTTATCGTCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7394
+AGTGCTTTTGGCTGGCAGGAAGCTGCAGGCGGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7395
+TGAATTTGCACGATTTTGTAGGCCGGATAAGGCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7396
+CCCGGCTCCGGTCGCCAATGTTGAAAGCGATGTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7397
+GGAAGGTGTGAAGGACGCTGAGGGTAACGTTGTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7398
+TAGGGGGATGTAACCGGTCTGCCCTGATGATATCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7399
+CTTATCCGGCCTACAAAATCGTGCAAATTCAATAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7400
+GCGAAGACGATTTCGATTTTGCCCAACAGCATTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7401
+TACATCTCCGAGCAATGCACCATCAACAGGTGTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7402
+TGGTTGGCATGGCGGCGCGCGTCTTTGCAGCGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7403
+TGATGAAATCCCGCAGGAAATCCTGGAAGAGCGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7404
+CAATATCAGCGATGCCGAACTTATTTTTGCCGAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7405
+CACTAAATACTTTAACCAATATAGGCATAGCGCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7406
+AAGTCGGGCCGGAGCCGGAGATACCGCTCGCTACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7407
+CGTAGCGCATCAGGCAGTTTTGCGTTTGTCATCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7408
+TGTAGTACTGGTAGATTTCAGATACAGAAACCACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7409
+CAGTGGCGATGACTCTGGAAAAGAATATGCCGATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7410
+TTTCAATAATGAAACGACTCATCAGACCGCGTGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7411
+GGCCGGCGTTGCGCTGGCAATTACCGCCGGTGGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7412
+GGGGATGAAAGGGATGGTTGGCATGGCGGCGCGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7413
+TTCTGGATAAGCTGAATACCTTCCAGCGGCATGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7414
+AGTAATCACAACTATCGATCAACTCATTCTCTTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7415
+GATCAAACACCGGGCGCACGCCGAGTTTACGCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7416
+GGGTTTGCTTTTATGCAGCCCGGCTTTTTTTATGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7417
+AACATCTTTCATCAGCTTCGCGGCAAGCTCAAGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7418
+CAGCGTAAACTCGGCGTGCGCCCGGTGTTTGATCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7419
+ACGATAAGCTACGGCAGCGTGCGGCTCCGAGGTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7420
+TAATTGCCAGCGCAACGCCGGCCAGGTTGCCGCTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7421
+ATAATGGCCAGCCGTTCCGTCACCGCCAACGGCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7422
+AGCTCCTGGCAAAAACGCTCCCAGCACTGATAAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7423
+CTGGCATGGATGTGGCGCGTAAGCTATTGATTCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7424
+GCGATAACATCTTTCATCAGCTTCGCGGCAAGCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7425
+CGCACCTGACAGTGCGGGCTTTTTTTTCGACCAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7426
+TGAAAATTATGCCGTAGGCGATGAGCAAAAAGACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7427
+ATGGGTCGATATCCGGAGATTACGCGATGAGAACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7428
+TATTAACAGCGTCCTTTGGGGATCGGTAATGATTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7429
+GTTACGTGCTTCTTGCGGCAACTGTGCGACAGCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7430
+AAAAACGACAGGGAAAAAGGAGAAATTCTCAATAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7431
+GATCGCCTGCTCATCGGGGATTAAGCGGGTTTCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7432
+AGCCACGGGAAAATATCGTTTATCAGTGCTGGGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7433
+ATGAATACTTTACGTATTGGCTTAGTTTCCATCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7434
+GTGATTATCTACGCCAGCGTAAACTCGGCGTGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7435
+CAATATGAGCGTCGGGTTTGATGTGCTCGGGGCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7436
+GGCACTGCTGAAAGAGCTGGCGGAGAGCGAAGGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7437
+ATAAAAATGGCGGGCGATATCAACGCAGCGAATTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7438
+TGGACGCGACCGACAAACTGGCAGTAAATATTGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7439
+CTGCGAAAACGCTTGATTACCAAAGCCCGTTGACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7440
+TGCTTTCGCAATTGACGCTTCGGTGTCATAGGAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7441
+TACCTGCAAAATCAGGAAGGTTTTGTTCATATTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7442
+GGATTCAGCAATATCAACGGTAGATTCGAGGTAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7443
+TTGCGGCAAGCCGCATTCCGGCTGACCACATGGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7444
+ACCAGGCTGGTCAGTACCCAGATTATCGCCATCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7445
+GTGTATCATTCTGCTTAACGAGACTGTTTAAACGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7446
+TGAAAGAGCTGGCGGAGAGCGAAGGGGCTATCGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7447
+TGCGGTAACTTAGAGATTAGGATTGCGGAGAATAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7448
+TTGCAGCGCGCGTGGGTAGCGGCAACCTGGCCGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7449
+AATGAGGTTAAACCGCCTGGCTGTGGATGAATGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7450
+CGATCTGCTGCGCGCGATCGTTGCTCTGCTGTTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7451
+ACCGCAGCGGAGTAGTCGGAACCGTTGCGTCCCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7452
+GTGGGTTGCCGCATTTATCGGCATGGCGACCTCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7453
+GTGGCGTTGGCGGTGCGCTGCTGGAGCAACTGAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7454
+GTGAAAGAATATCATCTGCTGAACCCGGTCATTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7455
+CATAAATGTAGTTGGCAACGATGGAGCTGAAGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7456
+ACCGTCAACATCCGTCCAGATCTCGCAACAATCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7457
+CCTGGTTCTGGTCGCTCCCATGGCAGCGCAGGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7458
+ACGTTGTTCGTAGCGTTTAAACACCAGTTCGCCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7459
+TACCCTCGTGGTTATTCTGTTTGCCTTCAGCTCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7460
+ATGTCGCGGTCAGAATGGTCACTGGCTTATCGCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7461
+TTACCTGCTTTTCGGCGCAGGTTGTTGGTTCACTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7462
+CTTCCTGCCAGCCAAAAGCACTCTCAAAAATAGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7463
+GTGGGTTGCCGCATTTATCGGCATGGCGACCTCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7464
+CGGCTTGTCACACAGAGCGAACAAAGTCGGGCCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7465
+TTGCATCTTTTTCACAGGTTACTCCTTTTATCATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7466
+CGCTTCGGTGTCATAGGAAAGACGCGCATCAACTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7467
+GAAGCGTCAGCAAAGCTGGTTGAAGAATAAACATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7468
+GAACCAACAACCTGCGCCGAAAAGCAGGTAAATCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7469
+GTTTCACTGCCGGTAATGAAAAAGGCGAGCTGGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7470
+TTCTGCGTAGCATACATGAGGTTTCGTATAAAAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7471
+ACGAGACTGTTTAAACGGAAAAATCTTGATGAATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7472
+CGGCAACTGTGCGACAGCCTCAAAGTAATAACAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7473
+CAGGCGGGGGGATCAGACTGATGACAAACGCAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7474
+CGTGCAGATGACCAGGGTGTCGATAAAAATGCCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7475
+CGCGCCATAACAAGCACAATGATCATCGTGGCGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7476
+CAGGTTACTCCTTTTATCATTGCCCGTTATGGGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7477
+ATCGCTTTAGGGTTGTTCAGGCGTAAAAAGAAGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7478
+TGGTCAGACGGTCGCAGCCTGCCAGTTCCAGAATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7479
+CACGGGCGACATCTGGCAGGCTTCATTCACGCCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7480
+CACCAACGTTGGGGCTGGATTACCGGTTATTGAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7481
+CGCAGCGTTGATGCTATCCGGGCACTGCCCCAACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7482
+GCCACGAAACTGCCCATTGGCATCACGTTCTTTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7483
+CTGATCGCGCATCCAGCGGCGTTTATCAGGATAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7484
+CGCGCCACATCCATGCCAGAAAGATCATCTCGCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7485
+GGCGCGTGACATCGCTGCAAAGACGCGCGCCGCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7486
+TGATACTGGAGCGGCAGTGGCTCATGCTTTCTACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7487
+TGATGATGCTGTCGCCTGGGCGAAACAGCAGAGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7488
+CGCCGCCATGCCAACCATCCCTTTCATCCCCGGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7489
+GCGAAATTTAAAGAGAGCGTGGAAGCGATTCTCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7490
+GATGTTGACGGTGTTTATACCTGCGATCCGCGTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7491
+CGCTTAATTCGCCTCGTGAAAGAATATCATCTGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7492
+CGTTGTCTAACAGCTCCGGCAGCGTATAGCGCGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7493
+AGATCCAACGTTTCACCGAGAATCGCTTCCACGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7494
+TAAACGCCGCTGGATGCGCGATCAGAGATGGAAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7495
+CACTGCGGGTGACAAAATCCAGCTTCAGCATCTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7496
+GGCACTTGCTGGCTGATGATGTCGTTTTCTTCGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7497
+TGCTGCGCGCGATCGTTGCTCTGCTGTTTCGCCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7498
+TATCCGGGGATTAAAGTCTCGACGGCAGAAGCCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7499
+ACCGGACCCGCGAGATGATCTTTCTGGCATGGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7500
+TTTCGGCATAAATGTAGTTGGCAACGATGGAGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7501
+CGCGGGAAATGGGTTATACCGAACCGGACCCGCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7502
+GCGGCATGTAGGTTGTGCCGTTACCCGCCAGTAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7503
+GAGATTATCAAGCCAGTGTTCCTCGATGAGAAGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7504
+TTTTCTTCATAAAAAAAGCCGGGCTGCATAAAAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7505
+CATACTTAGCGTGACCGGGAAGTCGGTCACGCTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7506
+ATCCAGCCGGCAAATATGAACAAAACCTTCCTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7507
+AAACGGCGAGATCAGGAACACGCCCGCTTCCGCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7508
+CGGTATTTTTGCCAGCGTACCGTACTGCATTCAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7509
+GGCGGATGTAGCGAAACTGCACAAATCCGGTACGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7510
+GTCCCCAGTGTCGGCCACTACGGTGGTGTACTGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7511
+TCATCGGCGGCACCTTGTTAAGTTTTCCGCTGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7512
+GATGTCGCCGCTTTTATGGCGAATCTGTCACAGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7513
+AGGTAGAAGCCAGTTTGATCAGAATACGATCGTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7514
+CTCCGGATATCGACCCATAACGGGCAATGATAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7515
+GACGCTGTTAATAAAGGAGAAAAAATCTGGCATGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7516
+GGCAAGCCGCATTCCGGCTGACCACATGGTGCTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7517
+CGCAGTGTATCATTCTGCTTAACGAGACTGTTTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7518
+GCTGGCAGGAAGCTGCAGGCGGCGCGGCGGGATAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7519
+GTTCGCTTTCTTATATCTTCGGCAAGTTAGACGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7520
+TTAACGCAGCGCAGATTCCGGAATACCGTAAGTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7521
+CGTACCACGTTTCCTGCACGACGGTCAGTGGTCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7522
+CAGATACAGAAACCACGCCCGGATCTTCTGCCGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7523
+TCCCAGAACCACCAGCTCGCCTTTTTCATTACCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7524
+GATCGGTTCGGGCTTAGGCTCCAGCGCCTGTTCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7525
+TGGGTAAGAACTACCTGCAAAATCAGGAAGGTTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7526
+GGCAGATATCATTATGGCCTGCATGGCTATTACCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7527
+ATAATAGTGGCTATAGAAGGCCAGGGCGTTTTCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7528
+GGCGCGGGCCAGCGCGGCAAAGAATTTCGCCGAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7529
+TTGGTGCCAGCCGTGATGAAGACGAATTACCGGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7530
+ACTGGCAGTAAATATTGGTCTGGAAATCCTGAAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7531
+AAGCCGGGCTGCATAAAAGCAAACCCGGCCTGATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7532
+TAATCTGGAAAACTGGCAGGAAGAACTGGCGCAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7533
+TCCCCGGATACGCCAGCACCCACAGCCACTCATCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7534
+TAAACATATCGACTTACGTGTCTGCGGTGTTGCTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7535
+CGCCACGAAACTGCCCATTGGCATCACGTTCTTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7536
+TTAACTTACCCGGTCAACCGAAGTCTATTAAAGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7537
+TGGCAACTGAAAGAGCTGGGTTATGCAGCCGTGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7538
+GCTGGCCCGCGCCAATATCAACATTGTCGCCATTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7539
+TCACGACGCGCAGGGCCAGTTCCGCCCGTGGTGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7540
+CAAATTCCTGGTCGACGAAAGTTTTCAATTGTGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7541
+TTCGTCTAACTTGCCGAAGATATAAGAAAGCGAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7542
+TGGGCAAAATCGAAATCGTCTTCGCTGAAGGTTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7543
+CGCGTGAAGATTGCCGAAGTGGATGGTAATGATCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7544
+GCCCATAACCACGGTTTCATAACCATGCTCTTTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7545
+CGCGGCGGGATATACCTTAAGCCAGGCGATTACTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7546
+CGCGATCAGAGATGGAAACTAAGCCAATACGTAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7547
+GCAGCTGTAACGTCATTGCCCGCACCATATCCGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7548
+TGGCAGTAGATAAACTGGCGGAAGGTATCCGTAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7549
+GATTACTCCTGCGAAACATCATCCCACGCGTCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7550
+ACCAGGAATTTGCCCAAATAAAACATGTCCTGCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7551
+ACCCCTGCATGAGCCGGGCGACGCCATGAAGACCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7552
+GAAGCGGGCGTGTTCCTGATCTCGCCGTTTGTTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7553
+GTGATGAAGACGAATTACCGGTCAAGGGCATTTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7554
+AAACGCCGAGAGGATCTTCGCACTGCGGGTGACAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7555
+CAACCTGGCCGGCGTTGCGCTGGCAATTACCGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7556
+TGTCTGATAGCAGCTTCTGAACTGGTTACCTGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7557
+TCACACTGGCGGCCGCTCGAGCATGCATCTAGAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7558
+GAGCTTTCTTACTTCGGCGCTAAAGTTCTTCACCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7559
+GATAGCAGCTTCTGAACTGGTTACCTGCCGTGAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7560
+GTCGAAAAACTGCTGGCAGTGGGTCATTACCTCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7561
+AGGGCCATACGTTGAAACGGCACCGGAAGTGGTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7562
+GGGTTCAGCAGATGATATTCTTTCACGAGGCGAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7563
+GTGCGGAAAAAACAGCCCCTGATTTTTGCCTAACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7564
+CATTACCCCCATCGCCCAGTTCCAGATCCCTTGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7565
+GCTTTGCTGACGCTTCAGTTGCTCCAGCAGCGCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7566
+GCTTATCCAGAAGGCGATGCGGGTGCTAATGGGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7567
+GGTCGCGTCCACGATCTGCTGCGCGCGATCGTTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7568
+CGACTGGTTGGGTAAGAACTACCTGCAAAATCAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7569
+AAGGTTTCCACGTTGTTACGCCGAACAAAAAGGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7570
+GTAATGGTGATGGTGGTGGTAATGGTGGTGCTAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7571
+TGGTTTCATCATCCACGGCTGCATAACCCAGCTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7572
+ATCTGACGCCAGATTTATCACCACATTATCGCCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7573
+AAACTGGAAAAAATGATCGGCGATCTGCTGTAATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7574
+GGCCCTTCCAGCAACTGAATGCAGTACGGTACGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7575
+CGCCCTTCCAACTCGCCCATCAAAGCCAGCAAACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7576
+GTGCTGCCACAGGAACTCGGACTCAGTGATACGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7577
+CCGGAGATACGCCCTTCCAACTCGCCCATCAAAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7578
+TCTGTCGTGGTCAATAACGATGATGCGACCACTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7579
+TGGTTGTGGCATCCTGCGGTTGATACAGCTTCATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7580
+AGGCGGTTGCGGAAATCGGCGCGGTAGCGAGCGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7581
+CAGAACCACCAGCTCGCCTTTTTCATTACCGGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7582
+CCACTGGCGTGCGCGTTACTCATCAGATGCTGTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7583
+TGAGCAGATTTTGCAGGTTCTCAATAACCGGTAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7584
+TAACTTAGAGATTAGGATTGCGGAGAATAACAACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7585
+TTTGTAGTCAATGCCGGATAATGCCGGATGGCAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7586
+TACCTGTGGTAATGGTGATGGTGGTGGTAATGGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7587
+TGATGATGCTGTCGCCTGGGCGAAACAGCAGAGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7588
+TCGGGGATTAAGCGGGTTTCCAGTTCAAACGGCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7589
+TCGATGATCGCCTGCTCATCGGGGATTAAGCGGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7590
+CGGCTTCCAGTGCCAATATGAGCGTCGGGTTTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7591
+TGATAAATCTGGCGTCAGATGAGTATTTTAAATCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7592
+GATATCATCAGGGCAGACCGGTTACATCCCCCTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7593
+CAGTTTTTCCTGGTCAACAGCAAACTTACGGATAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7594
+CTCGATTTAATGCAGCCTTATCGTCTGGAAATGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7595
+GCACTGCTGAAAGAGCTGGCGGAGAGCGAAGGGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7596
+CGGGCCGGAGCCGGAGATACCGCTCGCTACCGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7597
+GCGCGGAAACTGACGCCCCCGCAGATTAGCTCCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7598
+CGTGGTCGCCCCAATGACCGCCATCCCAGTAATAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7599
+AGCATGGCGCTTGCCGTGCAGATGACCAGGGTGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7600
+GGCTGCGGAAATTACGCTAGTCCCGTCAGTAAAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7601
+TCACCAGCATTGAGCAGATTTTGCAGGTTCTCAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7602
+TGACCAGGAAAAACTGGAAAAAATGATCGGCGATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7603
+TCGCCGTCGATGGCAACAGTTTCGATATTGCCGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7604
+TGGATAGAGGATAACCACTTTCACATTCGGTAAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7605
+GCGTTCGCCTGAACTCCGCTGAAAATTATGCCGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7606
+CGGAAGCTTGCGCCCATAACCACGGTTTCATAACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7607
+CTACCTGGAACTGAAAGAAGGCTTACTGGAGCCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7608
+ACCAGCATTGAGCAGATTTTGCAGGTTCTCAATAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7609
+CAACCTCGGACGCTTTGCCGATAAGCTGCCGTCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7610
+ACTGGCGGATGTAGCGAAACTGCACAAATCCGGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7611
+TGTTGAAGTTCGGCGGTACATCAGTGGCAAATGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7612
+TTCATCATCAAACGCCTGCTTCACCAGCGCCTGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7613
+TGACTACATCTCCGAGCAATGCACCATCAACAGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7614
+ACCCACGCGCGCTGCAAGACTGGTACACAATGACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7615
+CGGGGCGGCGGTGACACCTGTTGATGGTGCATTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7616
+TTATGCGAAAGCAAGGGTAAATCAGCACGTTCTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7617
+GCTGCCGTAGCTTATCGTGCGCTGCGTGACCAGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7618
+GAGAAGGGTTGGTTGTGGCATCCTGCGGTTGATAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7619
+GCGCCACATCCATGCCAGAAAGATCATCTCGCGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7620
+TCTACTGCCATTGGATCCTGGTTGTGCTGCCACAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7621
+CAACACCTCGTCGATGGATTACTACCATCAGTTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7622
+GATCGCGCATCCAGCGGCGTTTATCAGGATAAAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7623
+ATCTCGCAACAATCGGCGCGTAAACAGGCCGCCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7624
+TGCCATAAAGCGACCGCCGAAATCTTTAAATGCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7625
+ATCTTCGGCAAGTTAGACGAAGGCATGAGTTTCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7626
+CGCAATTGACGCTTCGGTGTCATAGGAAAGACGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7627
+CCGTTCTTCTCATCGAGGAACACTGGCTTGATAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7628
+TGCTCACCAATGTACATGGCCTTAATCTGGAAAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7629
+AGAAAAACGACAGGGAAAAAGGAGAAATTCTCAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7630
+GCGCTAAAGTTCTTCACCCCCGCACCATTACCCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7631
+GCGTTAAACTCTGCGGGCAGCACAGGTTCAATTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7632
+TTAATCCCCGATGAGCAGGCGATCATCGAGCAAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7633
+CAGACACTCTTTTTTTAATCCACACAGAGACATAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7634
+TTTTTCACTTTGAACAGCGGATCATTACCATCCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7635
+GTATAGCGCGTGGTGGTCAACGGGCTTTGGTAATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7636
+GACGCTTCGGTGTCATAGGAAAGACGCGCATCAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7637
+ATCAGACCGCGTGCTTTCTTAGCGTAGAAGCTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7638
+TAAGCGCCCGAGATTAAACGGCTCTTTGGCTTGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7639
+AAGCGTCAGCAAAGCTGGTTGAAGAATAAACATAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7640
+CAATCATCTGGACAATTCCTTGCGCTGCCGGATGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7641
+ATTTTGGCGGGGGCAGAGAGGACGGTGGCCACCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7642
+TCCACCAGTTCACACAACGTTTGCTCGATGATCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7643
+TACCGAGTGGAAACTTCGGCGATTTGACGGCGGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7644
+ATTTATCGGCATGGCGACCTCGTTTGCCGAATGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7645
+ACCGTTAGTAATCGCCTGGCTTAAGGTATATCCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7646
+ATTGATGAGATGCTGAAGCTGGATTTTGTCACCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7647
+CGTAGGCGATGAGCAAAAAGACGGCGAACAGAACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7648
+ACCACTGAACAGGCGCTGGAGCCTAAGCCCGAACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7649
+CCGCGCCGCCTGCAGCTTCCTGCCAGCCAAAAGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7650
+CGCGGCAAAGAGATCGTCGAGCTGTGACAGATTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7651
+GCAAAGACAGCGAGAATAATACCTGTTACCAGCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7652
+CCGTCATGATAGTATTTCTCTTTAAACAGCTTGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7653
+ACCATCCCTTTCATCCCCGGGCCGGAAACGCTGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7654
+AACCTTCAGCGAAGACGATTTCGATTTTGCCCAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7655
+GTTATACCGAACCGGACCCGCGAGATGATCTTTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7656
+TGATAAGCGTAGCGCATCAGGCAGTTTTGCGTTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7657
+CGAAGTAAGAAAGCTCCATCGCTTCCTGATAGGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7658
+GTCGCATCATCGTTATTGACCACGACAGAGATTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7659
+ATTCTGTTTGCCTTCAGCTCCATCGTTGCCAACTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7660
+TCCTTTATTAACAGCGTCCTTTGGGGATCGGTAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7661
+CGGCAAAAATAAGTTCGGCATCGCTGATATTGGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7662
+GCTGGCGTATCCGGGGATTAAAGTCTCGACGGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7663
+CTCATTGGTGCCAGCCGTGATGAAGACGAATTACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7664
+ATTGAACAGCATCTGATGAGTAACGCGCACGCCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7665
+CGCCGCATAACGCAACTGATGGTAGTAATCCATCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7666
+GTCTGCCCTGATGATATCACAAGGGCGAATTCTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7667
+AACGGGCAATGCAGGAAGAGTTCTACCTGGAACTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7668
+ATTTCTCCTTTTTCCCTGTCGTTTTTCTCCATATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7669
+CAACATAGCGCAAAACTTTTCCTTCATCACGGGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7670
+GCAGGTTCTCAATAACCGGTAATCCAGCCCCAACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7671
+ACCCATTAGCACCCGCATCGCCTTCTGGATAAGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7672
+CGCCGAACTTCAACACTCGCATGGTTGTTACCTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7673
+AGGGAACATTCGGCAAACGAGGTCGCCATGCCGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7674
+CAGCTCGACGATCTCTTTGCCGCGCGTGTGGCGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7675
+GGCATCACGTTCTTTATAAAGCTGTGCGAGGGAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7676
+ATTTCTCTTTAAACAGCTTGTTAGGGGGATGTAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7677
+CGATCGCGCGCAGCAGATCGTGGACGCGACCGACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7678
+TTAGACGAAGGCATGAGTTTCTCCGAGGCGACCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7679
+TTTACCCAATATCAGCGATGCCGAACTTATTTTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7680
+CAGAACAGTTTTTCTTGCAGTGGACTGATTTTGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7681
+TACTGACGAAGGGAGGTCAATTTGTCCGTCATGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7682
+CTGCGATCCGCGTCAGGTGCCCGATGCGAGGTTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7683
+GGTCACGCAGCGCACGATAAGCTACGGCAGCGTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7684
+GCTTTGTATCAGTCAAGAATACGGCCAACAAACGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7685
+CGCTGGGCGGTATCCGGCTTGTCACACAGAGCGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7686
+CTCTTTTGGCAGATCCAACGTTTCACCGAGAATCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7687
+GTTTATGCCCCGGCTTCCAGTGCCAATATGAGCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7688
+GGTGTTTATACCTGCGATCCGCGTCAGGTGCCCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7689
+ATTTGCACGATTTTGTAGGCCGGATAAGGCGTTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7690
+GACTACTCCGCTGCGGTGCTGGCGGCCTGTTTACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7691
+GTGATGGTGGTGGTAATGGTGGTGCTAATGCGTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7692
+TCCAGCAGCGCACCGCCAACGCCACCGACGCCAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7693
+GCCTGCATTTTGTACCAACTGCGATCCTTTCGCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7694
+CCGGTCTGCCCTGATGATATCACAAGGGCGAATTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7695
+TGAAGAACTGAAAGTGGCGCTGGGGCTGAATTCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7696
+TACTCATCAGATGCTGTTCAATACCGATCAGGTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7697
+TGATGGCTGGTTTCACTGCCGGTAATGAAAAAGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7698
+CAACTTCAGTTGAGATACGGCCCGGAACCAGTTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7699
+GACCGTCTGACCATCGCACCGGCACTGCTGAAAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7700
+CCACCAGTTCACACAACGTTTGCTCGATGATCGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7701
+AACAATTGGTAACGTTTACACAGGAAAGTCATCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7702
+ACAAACTTAACGTTGTTCGTAGCGTTTAAACACCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7703
+TTGAGCAGATTTTGCAGGTTCTCAATAACCGGTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7704
+TGGAAAACTAAATGAAACTCTACAATCTGAAAGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7705
+CGGATAACGCAACGGATCAAACACCGGGCGCACGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7706
+TTTAAATCGGTGAAGCCGAAGAAATTGAATGCCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7707
+CCAGCTTTCTCCAGACGCGTGGGATGATGTTTCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7708
+GATGGTATGCGCACCTTACGTGGGATCTCGGCGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7709
+TTACGAAGTATATAACGCTACGAGGTACTTGGATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7710
+GAATACCGATAAGAAAGAGTACGCTCCGGCAGAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7711
+GCACGACGGTCAGTGGTCACCCAAAGCGACTCAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7712
+GCCCGATGCGAGGTTGTTGAAGTCGATGTCCTATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7713
+GACCGCGAGATGCCAGGCTTTGGTGAACAGATGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7714
+TGCCGAATGTTCCCTCGCACAGCTTTATAAAGAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7715
+GGGCGCACGCCGAGTTTACGCTGGCGTAGATAATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7716
+AGCCTGGCAGTAACCGTTCACGGTAGGGTTCAGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7717
+GGGGCTGTTTTTTCCGCACGACCTGCCGGAATTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7718
+CCAACAACCTGCGCCGAAAAGCAGGTAAATCATTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7719
+CTTCGCGCAGGAAGTCGGCATATTGATCTGCCACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7720
+GATTTGTTATTACTTTGAGGCTGTCGCACAGTTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7721
+TGCTGAAAGAGCTGGCGGAGAGCGAAGGGGCTATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7722
+TTATTGCCGGTCGCGATGACTTTCCTGTGTAAACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7723
+CCCATATTGCGGGCGATAAGCCAGTGACCATTCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7724
+TCGCTTTCAACATTGGCGACCGGAGCCGGGAAGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7725
+TGGGATGGCGGTCATTGGGGCGACCACGGCTGGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7726
+AAAATGCCAATCATCTGGACAATTCCTTGCGCTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7727
+TGAATGCCGAGATTATCAAGCCAGTGTTCCTCGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7728
+CTGCTGGAGCAACTGAAGCGTCAGCAAAGCTGGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7729
+TCGTGGCGGACCGGCATGGTATATGGCGCGCGGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7730
+GGATAAGATTGTTAACAACGTGCGCTTTGTTTATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7731
+GCGATGGTCAGACGGTCGCAGCCTGCCAGTTCCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7732
+AATCTGGCAACTGAAAGAGCTGGGTTATGCAGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7733
+AACTGGCAGGCTGCGACCGTCTGACCATCGCACCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7734
+GCGTCTTTGCAGCGATGTCACGCGCCCGTATTTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7735
+CTGGTGTCTGCGGATCTGCACCTTCGCAACGGTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7736
+CGCATCAACTTCAGTTGAGATACGGCCCGGAACCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7737
+TACAGATCTTTCCCTCGGGCATTCTCAAGACGTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7738
+CCGGATAAGGCGTTCACGCCGCATCCGGCATAAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7739
+AGTCGTTTCATTATTGAAAATCGGCTGACCAAACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7740
+CATTGTCTGTTGCGTGGTTTCATCATCCACGGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7741
+CGTTTATCAGGATAAAGGCATCCCTGCGCTGGAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7742
+CGGAGTTCAGGCGAACGCCGTTGCGCGAGCCCTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7743
+CAGTACGGTACGCTGGCAAAAATACCGTGCACCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7744
+GGCAAAAACGCTCCCAGCACTGATAAACGATATTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7745
+AGACAATGCGTGAGTTAAAAGAACTGGGCTATACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7746
+AGGTCAGCTTTGCGCAAGCCGTAACCCAGGGGTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7747
+TCATTGCCCGCACCATATCCGCGCAGTACCAACGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7748
+ACTGGTGAAGTGAAAGCGCGTCCGGCGCGTATCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7749
+GTTCTTACCCAACCAGTCGGCAACGCGCTGGGCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7750
+CAGTTCCAGGTAGAACTCTTCCTGCATTGCCCGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7751
+ATAGCTTACGCGCCACATCCATGCCAGAAAGATCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7752
+AGCGTGGAAGCGATTCTCGGTGAAACGTTGGATCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7753
+TAACGCCGAGGGTGATGTCGCCGCTTTTATGGCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7754
+GCCGATTGTTGCGAGATCTGGACGGATGTTGACGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7755
+TGCATAAAAGCAAACCCGGCCTGATTGAGATAATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7756
+TCTGGAAAACTGGCAGGAAGAACTGGCGCAAGCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7757
+AAACTAAATGAAACTCTACAATCTGAAAGATCACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7758
+GGAAACCTTCGCGCAGGAAGTCGGCATATTGATCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7759
+AAAGAGCTGGGTTATGCAGCCGTGGATGATGAAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7760
+CCGGCAGCATTCATTACGACAACGTGGCACCGTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7761
+ATCGACGGCGATTTCGATGCCTGTCAGGCGCTGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7762
+CAGATGGCAACTCATTTCATCCACCAGTTCACACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7763
+CTGGAGCAACTGAAGCGTCAGCAAAGCTGGTTGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7764
+CACATCCAGAAGACGGCTCCAGGTCCACCGGCGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7765
+ATGGCAATGTTCAGCGTTTCCGGCCCGGGGATGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7766
+GCAACAGACAATGCGTGAGTTAAAAGAACTGGGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7767
+GCAATGATAAAAGGAGTAACCTGTGAAAAAGATGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7768
+TAACATCCATCGCATTGGATAACGTCGCCTGAGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7769
+CTGTCGCACAGTTGCCGCAAGAAGCACGTAACCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7770
+TTTGCAGGTTCTCAATAACCGGTAATCCAGCCCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7771
+TTGTCTGGAATTGTTCCACGGGCCAACGCTGGCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7772
+CCAGCTTTCTCCAGACGCGTGGGATGATGTTTCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7773
+CTGGAAGGTGTGAAGGACGCTGAGGGTAACGTTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7774
+CGACCTGCCGGAATTCAGCCTGACTGAAATTGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7775
+AGGCGGGGGGATCAGACTGATGACAAACGCAAAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7776
+TGCGCAAGCCGTAACCCAGGGGTTAGGCAAAAATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7777
+AAACAATCTCTTCTTTTTACGCCTGAACAACCCTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7778
+CAATGAGCAGGTCAGCTTTGCGCAAGCCGTAACCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7779
+TTCTACGGTTTACCGAATGTGAAAGTGGTTATCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7780
+TCAAATTGGTAATAGCCATGCAGGCCATAATGATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7781
+TCTTTTTACGCCTGAACAACCCTAAAGCGATCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7782
+ACGGCGGTCCATGTGGGTGCCAGCGATTGCCTCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7783
+ATTTTCCCCCGCTGGTAACAGGTATTATTCTCGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7784
+TCTTTCCCTCGGGCATTCTCAAGACGTATCCCCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7785
+AGTTTGTCGGTCGCGTCCACGATCTGCTGCGCGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7786
+TGAGATGCTGAAGCTGGATTTTGTCACCCGCAGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7787
+ACAACGATGCAGGTATTAGCAACGATCGTATTCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7788
+TAGGAGTCTGACATGGTTAAAGTTTATGCCCCGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7789
+ACCGCATTTATTGAGAATTTCTCCTTTTTCCCTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7790
+AAGCGGCGACATCACCCTCGGCGTTAAACTCTGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7791
+CTGTAACGTCATTGCCCGCACCATATCCGCGCAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7792
+CCAGTGTGATGGATATCTGCAGAATTCGCCCTTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7793
+TGCTTTCGCAATTGACGCTTCGGTGTCATAGGAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7794
+CATTGGGCGGCAATATCGAAACTGTTGCCATCGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7795
+AAATACTCATCTGACGCCAGATTTATCACCACATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7796
+ACTGTGCGACAGCCTCAAAGTAATAACAAATCTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7797
+CACCGCGCATCCGGCGAAATTTAAAGAGAGCGTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7798
+GAGGTAATGACCCACTGCCAGCAGTTTTTCGACCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7799
+AGTGTAAGACAGTTTACGTTCGATAGCCCCTTCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7800
+AATATGGCGGTCAAATTGGTAATAGCCATGCAGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7801
+TATTCGCCTGGATTCAACTGGTCACGCAGCGCACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7802
+GGGATACGTCTTGAGAATGCCCGAGGGAAAGATCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7803
+GCTTAAGGTATATCCCGCCGCGCCGCCTGCAGCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7804
+TGAACCAACAACCTGCGCCGAAAAGCAGGTAAATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7805
+GCGACAGCCTCAAAGTAATAACAAATCTGCGCCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7806
+TGTCATCAGTCTGATCCCCCCGCCTGGGGGGATTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7807
+TTTAAACAGTCTCGTTAAGCAGAATGATACACTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7808
+CACGCCGAGTTTACGCTGGCGTAGATAATCACTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7809
+ACATCCATGCCAGAAAGATCATCTCGCGGGTCCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7810
+ATGGTATGAACCACAGGCGAGAGCAGTAATATGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7811
+CATGTCCTGCATGGCATCAGTTTGTTGGGGCAGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7812
+ACGCTGCGCTGATTTGCCGTGGCGAGAAAATGTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7813
+GGATCAGACTGATGACAAACGCAAAACTGCCTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7814
+GCAGAAAACGTTCTGCATTTGCCACTGATGTACCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7815
+GGTTGATACAGCTTCATTGCCGCGATGTCCCCAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7816
+GCATTCTCAAGACGTATCCCCATTTCCAGACGATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7817
+CTTCTGAACTGGTTACCTGCCGTGAGTAAATTAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7818
+ACCTTCCGCCAGTTTATCTACTGCCATTGGATCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7819
+AAGGACGCTGAGGGTAACGTTGTGGTGCACGGTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7820
+AGCACGCGGTCTGATGAGTCGTTTCATTATTGAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7821
+CGCCGGTAAAATAGCCCTGGCTTCTGCCGTCGAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7822
+TTCACCCCCGCACCATTACCCCCATCGCCCAGTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7823
+GATTTCGATTTTGCCCAACAGCATTTGCGAATGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7824
+GGAGATCGGTCGCCAGCTTTCTCCAGACGCGTGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7825
+CGCGCGCCATATACCATGCCGGTCCGCCACGAAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7826
+TGGCGTAGATAATCACTGGCAATGGTATGAACCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7827
+AGCGGAAAACTTAACAAGGTGCCGCCGATGACCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7828
+GCGCGTGGTGGTCAACGGGCTTTGGTAATCAAGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7829
+AAAAAAGCCGGGCTGCATAAAAGCAAACCCGGCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7830
+TAACAACTGCCGTTCTCATCGCGTAATCTCCGGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7831
+AAAGCCCGTTGACCACCACGCGCTATACGCTGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7832
+TAATTTCCGCAGCCTGCGCTGCCATGGGAGCGACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7833
+CGGCGTAACAACGTGGAAACCTTCGCGCAGGAAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7834
+TTATCAGGCCTACGATCTTCTTGCAATATATTGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7835
+TCAACAACCTCGCATCGGGCACCTGACGCGGATCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7836
+ATCGACGAGGTGTTGGCCTTTTTGTTCGGCGTAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7837
+TTCGCCGTCTTTTTGCTCATCGCCTACGGCATAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7838
+TCTTCGATCATCAACTGCATACCACCAAGAAAACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7839
+CAGGCGCGGCAGGCGGTTGCGGAAATCGGCGCGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7840
+GGAGGTCAATTTGTCCGTCATGATAGTATTTCTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7841
+TTCCTGGTCAACAGCAAACTTACGGATACCTTCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7842
+ATGATCGGCGATCTGCTGTAATCATACTTAGCGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7843
+GAGAGAAGGGTTGGTTGTGGCATCCTGCGGTTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7844
+TTGTAGAGTTTGATCAGGCGTTTTGCTTTCGCAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7845
+TGCAGCCGTGGATGATGAAACCACGCAACAGACAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7846
+AATACGTAAAGTATTCATCAAGATTTTTCCGTTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7847
+GTAAGAAAGCTCCATCGCTTCCTGATAGGACATCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7848
+TTTAGTTTTCCAGTACTCGTGCGCCCGCCGTATCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7849
+TGAGAATTTCTCCTTTTTCCCTGTCGTTTTTCTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7850
+ATCTGGAACTGGGCGATGGGGGTAATGGTGCGGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7851
+TCATCGCCGCGCCATAACAAGCACAATGATCATCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7852
+TTACGACAACGTGGCACCGTGTTTTCTTGGTGGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7853
+AATGACGTTACAGCTGCCGGTGTCTTTGCTGATCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7854
+TGAAGATTGCCGAAGTGGATGGTAATGATCCGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7855
+TCGTCGAGCTGTGACAGATTCGCCATAAAAGCGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7856
+TATCCGGCTTGTCACACAGAGCGAACAAAGTCGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7857
+CGCCACCGACGCCAATCACAAACACTTCGATAACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7858
+TCGTGCAAATTCAATATATTGCAAGAAGATCGTAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7859
+ATCAACATCAGTCGCTTGCTGGCGCAGATTTGTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7860
+CGCCTGTTTGCGAATCACCCCCACCTGACGCGAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7861
+ATTCGCCTCGTGAAAGAATATCATCTGCTGAACCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7862
+CGAAACATCATCCCACGCGTCTGGAGAAAGCTGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7863
+GAGGGAAAGATCTGTATCAATTCTGGGGAGATATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7864
+TCTCCGGATATCGACCCATAACGGGCAATGATAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7865
+TGTGGATTAAAAAAAGAGTGTCTGATAGCAGCTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7866
+CAAACGCAAAACTGCCTGATGCGCTACGCTTATCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7867
+GAACCTGAAAGAATGCCGGAGAACTTCATCAATTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7868
+CGATCCGCGTCAGGTGCCCGATGCGAGGTTGTTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7869
+CGCCAGATTTATCACCACATTATCGCCTTGTGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7870
+ATAAATGCGGCAACCCACATCCAGAAGACGGCTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7871
+GTCGATCGCCATTATGGCCGGCGTGTTAGAAGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7872
+GCAAAACTTTTCCTTCATCACGGGCCTTCGCCACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7873
+ACCGGGCGCACGCCGAGTTTACGCTGGCGTAGATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7874
+TTGTAGTACTGGTAGATTTCAGATACAGAAACCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7875
+GCGCGGCGGGATATACCTTAAGCCAGGCGATTACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7876
+CGCCCTGGCCTTCTATAGCCACTATTATCAGCCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7877
+AATTCTGGCGTTTAAAGGTGATGTCTACACTGGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7878
+GGAGCTTTCTTACTTCGGCGCTAAAGTTCTTCACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7879
+ATATTCTTTCACGAGGCGAATTAAGCGCCCGAGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7880
+ATTTTCAATAATGAAACGACTCATCAGACCGCGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7881
+GTTGTGCTGCCACAGGAACTCGGACTCAGTGATAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7882
+ATTACAGAGTACACAACATCCATGAAACGCATTAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7883
+TGGATCTGCCAAAAGAGCTGGCAGAACGTGCTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7884
+CTGTGACAGATTCGCCATAAAAGCGGCGACATCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7885
+TCATCACGGCTGGCACCAATGAGCGTACCTGGTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7886
+GTTTATTCTTCAACCAGCTTTGCTGACGCTTCAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7887
+TGAAGCTGGATTTTGTCACCCGCAGTGCGAAGATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7888
+AATCGCCTGGCTTAAGGTATATCCCGCCGCGCCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7889
+GCTGGAGCCTAAGCCCGAACCGATCGGCATATTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7890
+CAACCTGGCCGGCGTTGCGCTGGCAATTACCGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7891
+GATACGCCCTTCCAACTCGCCCATCAAAGCCAGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7892
+CACTGCTCACCAATGTACATGGCCTTAATCTGGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7893
+GCTTCTACGCTAAGAAAGCACGCGGTCTGATGAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7894
+GCTTTTTTTTCGACCAAAGGTAACGAGGTAACAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7895
+CGCGCATCCAGCGGCGTTTATCAGGATAAAGGCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7896
+ATCTCGCGGGTCCGGTTCGGTATAACCCATTTCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7897
+TACAGAACAGTTTTTCTTGCAGTGGACTGATTTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7898
+AACGGCAAATTTAAGATCATCAGCTTCTACGCTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7899
+AGTTCAGAAGCTGCTATCAGACACTCTTTTTTTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7900
+CTTCGGCAATCTTCACGCGGCAGACGCCATCTTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7901
+GCAGAGCAAAGACAGCGAGAATAATACCTGTTACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7902
+ATAAGAAAGCGAACCTGAAAGAATGCCGGAGAACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7903
+CCGGGCTGCATAAAAGCAAACCCGGCCTGATTGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7904
+TAAACAATTGGTAACGTTTACACAGGAAAGTCATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7905
+CCGAATGTGAAAGTGGTTATCCTCTATCCACGAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7906
+GCGGAGTAGTCGGAACCGTTGCGTCCCAGAACCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7907
+ATGACACCGAAGCGTCAATTGCGAAAGCAAAACGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7908
+TGACATCGGCGCTAACCACGCCGTTTGAACTGGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7909
+TGATCTTAAATTTGCCGTTCTTCTCATCGAGGAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7910
+GGGTCTGCTGGCGAAGTCACTCGGTCTGCCGGTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7911
+CAGATGATATTCTTTCACGAGGCGAATTAAGCGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7912
+CTGTATCAATTCTGGGGAGATATCATCACCAACAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7913
+TCGCTATTAAAACCAGTCAGTTGCTCTGGTTTGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7914
+TAAAAATGGCGGGCGATATCAACGCAGCGAATTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7915
+GCGCAAAACTTTTCCTTCATCACGGGCCTTCGCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7916
+GCGGGCGCAGTACGCCATACAAGCCGGAAAGCATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7917
+CCCTTTCATCCCCGGGCCGGAAACGCTGAACATTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7918
+TTGCGCGAGCCCTGAGTTTTTCTTTTGATTTTCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7919
+ATTACCACAGGTAACGGTGCGGGCTGACGCGTACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7920
+TGCAGCTTCCTGCCAGCCAAAAGCACTCTCAAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7921
+CCTGCCAGATGTCGCCCGTGCGCAATGCAATCCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7922
+GTTGGTTGTCTCGGTACCGAGTGGAAACTTCGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7923
+TTGCTGAATCCACCCGCCGTATTGCGGCAAGCCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7924
+ACATCCATGCCAGAAAGATCATCTCGCGGGTCCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7925
+CATTCAGTTGCTGGAAGGGCCATACGTTGAAACGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7926
+CCATCGACGGCGATTTCGATGCCTGTCAGGCGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7927
+CTAATTGTTAAGCTCCCCCCGCTCGAAGGGATAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7928
+ATATTGGGTAAAGCATCCTGACCGCTAATGGTTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7929
+AATTGACCTCCCTTCGTCAGTACACCACCGTAGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7930
+GTGCCATAAAGCGACCGCCGAAATCTTTAAATGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7931
+TGGGGCGACCACGGCTGGTGGAAACAACATTATGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7932
+AACCTACATGCCGCTGGAAGGTATTCAGCTTATCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7933
+CAATCGGCGCGTAAACAGGCCGCCAGCACCGCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7934
+CCTGCGCGAAGGTTTCCACGTTGTTACGCCGAACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7935
+TAGCGTAGAAGCTGATGATCTTAAATTTGCCGTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7936
+GCCTCGTGAAAGAATATCATCTGCTGAACCCGGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7937
+GATGGCGATAATCTGGGTACTGACCAGCCTGGTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7938
+TTCTTTTGATTTTCCCCCGCTGGTAACAGGTATTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7939
+CGGGCGCACGCCGAGTTTACGCTGGCGTAGATAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7940
+GTTTTTCTTTTGATTTTCCCCCGCTGGTAACAGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7941
+CTCCGGATAACGCAACGGATCAAACACCGGGCGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7942
+GTTATCCTCTATCCACGAGGCAAAATCAGTCCACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7943
+AGTTGCTCCAGCAGCGCACCGCCAACGCCACCGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7944
+AAACGCCTGATCAAACTCTACAACGATGCAGGTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7945
+TGAACAGATGCGCCAGATCAGCCTGCATTTTGTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7946
+AGCCACTCATCAAACCCTGGCACTTGCTGGCTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7947
+TGCCATGGGAGCGACCAGAACCAGGGAAAGTGCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7948
+AAACTTTCGTCGACCAGGAATTTGCCCAAATAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7949
+CTGCCGCTGCCGCGTTTGGCGTCGACCCCATTCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7950
+GCCTAACCCCTGGGTTACGGCTTGCGCAAAGCTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7951
+GGACAAATTGACCTCCCTTCGTCAGTACACCACCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7952
+AAGCTGTATCAACCGCAGGATGCCACAACCAACCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7953
+GGTGCCGAGGAACAAGCCATATTCGCCTGGATTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7954
+GAAGGGCCATACGTTGAAACGGCACCGGAAGTGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7955
+TGACGGAACGGCTGGCCATTATCTCGGTGGTAGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7956
+TTGTCACCCGCAGTGCGAAGATCCTCTCGGCGTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7957
+AACGCAGCAAAATCGGCGGGCAGGTTATGCGAAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7958
+TTACCTCGAATCTACCGTTGATATTGCTGAATCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7959
+GCCGCGCCATAACAAGCACAATGATCATCGTGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7960
+CTAACCACGCCGTTTGAACTGGAAACCCGCTTAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7961
+CGGCCACTACGGTGGTGTACTGACGAAGGGAGGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7962
+GGGCTATCGAACGTAAACTGTCTTACACTGGTGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7963
+TGGCGAGGCAATCGCTGGCACCCACATGGACCGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7964
+GCTTGTATGGCGTACTGCGCCCGCTCGATTTAATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7965
+ATTAGCAACGATCGTATTCTGATCAAACTGGCTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7966
+CCTACCACCGAGATAATGGCCAGCCGTTCCGTCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7967
+GTGCCTTCGAGTTAGCAACACCGCAGACACGTAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7968
+AGTTTGTCGGTCGCGTCCACGATCTGCTGCGCGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7969
+ACAATGTTGATATTGGCGCGGGCCAGCGCGGCAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7970
+TAGCAGAATTCAGCCCCAGCGCCACTTTCAGTTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7971
+CGTTCAGCTCGCACACAGTCGCTTTGCGGAACGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7972
+CATCCAGCGCATCCCCAGCCCGCGCGCCATATACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7973
+ACCAGGATCCAATGGCAGTAGATAAACTGGCGGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7974
+GCCGAAGAAATTGAATGCCGAGATTATCAAGCCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7975
+CTGGATTTTGTCACCCGCAGTGCGAAGATCCTCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7976
+TGTCATAGAGGAATTTACGCCGCGATTTTTCCGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7977
+CGACCGCCGAAATCTTTAAATGCCAGCGTTGGCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7978
+ACGGACAAATTGACCTCCCTTCGTCAGTACACCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7979
+ACGGCAAGCGCCATGCTGATATTACTGGCGGGTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7980
+GGATGCCACAACCAACCCTTCTCTCATTCTTAACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7981
+TTACCACAGGTAACGGTGCGGGCTGACGCGTACAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7982
+ACTTCAGTTGAGATACGGCCCGGAACCAGTTTCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7983
+CGGTCCGCTACTGCCAGCGTCGCATCGGGCGTTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7984
+AGTTTCTGCGTTCCGCAAAGCGACTGTGTGCGAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7985
+GGGGGTAATGGTGCGGGGGTGAAGAACTTTAGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7986
+GCACCCGCATCGCCTTCTGGATAAGCTGAATACCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7987
+GCCGATGACCGTTGCGAAGGTGCAGATCCGCAGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7988
+TATCAACATTGTCGCCATTGCTCAGGGATCTTCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7989
+CTTTCAGCAGTGCCGGTGCGATGGTCAGACGGTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7990
+TTGCGTTATCCGGAGATCGGTCGCCAGCTTTCTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7991
+ATTCTGGAACTGGCAGGCTGCGACCGTCTGACCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7992
+GAATTCCGGCAGGTCGTGCGGAAAAAACAGCCCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7993
+ATGCAGCCTTATCGTCTGGAAATGGGGATACGTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7994
+AGCAAACCCGGCCTGATTGAGATAATGAATAGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7995
+AACTCTGCGGGCAGCACAGGTTCAATTTCAATATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7996
+CGTCGCCTGAGTCGCTTTGGGTGACCACTGACCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7997
+ACGCTCCCAGCACTGATAAACGATATTTTCCCGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7998
+AGGTCAGCTTTGCGCAAGCCGTAACCCAGGGGTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7999
+ATCGAAATCGTCTTCGCTGAAGGTTTCGGCCTGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8000
+TCATCACGGGCCTTCGCCACACGCGCGGCAAAGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8001
+TCGCTGTCTTTGCTCTGCTGGCGATCACTCGCGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8002
+AACGGGACGTGAACTGGAGCTGGCGGATATTGAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8003
+TTAACAATCTTATCCCTTCGAGCGGGGGGAGCTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8004
+TCGGTTGACCGGGTAAGTTAAGGATCAGCGCCTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8005
+GGATGTCGCGGTCAGAATGGTCACTGGCTTATCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8006
+TGTACATTGGGCGGCAATATCGAAACTGTTGCCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8007
+TCCGCTGCGGTGCTGGCGGCCTGTTTACGCGCCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8008
+CTCTCTTTAAATTTCGCCGGATGCGCGGTGCCGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8009
+CTAAAGTCGGCATAAATTTCCTGCAAGGACTGGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8010
+ACCGGAGAATGCCCGCCAGGCAATTCTGGCGTTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8011
+CGCTGGCAGTAGCGGACCGCGAGATGCCAGGCTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8012
+GTAAACCGTAGAAAGCATGAGCCACTGCCGCTCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8013
+AACGGGCAATATGTCTCTGTGTGGATTAAAAAAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8014
+GAAATCCCGCAGGAAATCCTGGAAGAGCGCGTACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8015
+AGCGCCGCGACCACTGAACAGGCGCTGGAGCCTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8016
+TAATAGACTTCGGTTGACCGGGTAAGTTAAGGATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8017
+CGGTAATCCAGCCCCAACGTTGGTGTCATAGAGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8018
+CCAAATAAAACATGTCCTGCATGGCATCAGTTTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8019
+TTTTCTTCATAAAAAAAGCCGGGCTGCATAAAAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8020
+CTTTGCTCTGCTGGCGATCACTCGCGGTCTTCATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8021
+CATTACCATCCACTTCGGCAATCTTCACGCGGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8022
+GTCACGCAGCGCACGATAAGCTACGGCAGCGTGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8023
+TCAGGTGGGGGTGATTCGCAAACAGGCGCTGATCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8024
+GATGGGCGAGTTGGAAGGGCGTATCTCCGGCAGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8025
+CTGAAAGAATGCCGGAGAACTTCATCAATTCATCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8026
+ACATCGACTTCAACAACCTCGCATCGGGCACCTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8027
+GCAGTACCAACGGCAGCGGCTGATAATAGTGGCTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8028
+AATGCTGCCGGAGATACGCCCTTCCAACTCGCCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8029
+GCGGTCCGCTACTGCCAGCGTCGCATCGGGCGTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8030
+CCACGGTTTCATAACCATGCTCTTTGTAGTACTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8031
+CCGGATGCGGCGTGAACGCCTTATCCGGCCTACAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8032
+CCTTTATCCTGATAAACGCCGCTGGATGCGCGATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8033
+GTTCCGCCCGTGGTGAGCACCAGATGGCAACTCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8034
+CCATTAGCGGTCAGGATGCTTTACCCAATATCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8035
+CGAAACATCATCCCACGCGTCTGGAGAAAGCTGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8036
+CCCCCGCTCGAAGGGATAAGATTGTTAACAACGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8037
+CATTCTTCCAGCGCAGGGATGCCTTTATCCTGATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8038
+TCGCATCATCGTTATTGACCACGACAGAGATTGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8039
+ATTCACGCCTGCTATTCCCGTCAGCTTGAGCTTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8040
+GCGCATCCCCAGCCCGCGCGCCATATACCATGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8041
+CCCTTCCAACTCGCCCATCAAAGCCAGCAAACGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8042
+GCAATATGTCTCTGTGTGGATTAAAAAAAGAGTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8043
+AGACACTCTTTTTTTAATCCACACAGAGACATATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8044
+GTTCTGCAGCACGGATACCCTGCCAGGTAGAAGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8045
+TTTTGCCAGGAGCTTGGCAAGCAAATTCCAGTGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8046
+CCAGTTTCAGGATTTCCAGACCAATATTTACTGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8047
+GATTTCCAGACCAATATTTACTGCCAGTTTGTCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8048
+CAGCCAGGCGGTTTAACCTCATTTCAGTCATTGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8049
+TGGTAATGGTGGTGCTAATGCGTTTCATGGATGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8050
+TACCTTCTTTTTCCAGCTGTTCTGCAGCACGGATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8051
+GCCTCGGAGAAACTCATGCCTTCGTCTAACTTGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8052
+TGGTTTCATCATCCACGGCTGCATAACCCAGCTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8053
+ATCGTCTGGAAATGGGGATACGTCTTGAGAATGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8054
+GACTCTGGAAAAGAATATGCCGATCGGTTCGGGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8055
+AGGATCTTCGCACTGCGGGTGACAAAATCCAGCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8056
+TTTCCGTGGTGCTGATTACGCAATCATCTTCCGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8057
+TCCGAGTTCCTGTGGCAGCACAACCAGGATCCAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8058
+ACACCTGTTGATGGTGCATTGCTCGGAGATGTAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8059
+GACAGCGAGAATAATACCTGTTACCAGCGGGGGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8060
+GCGGTGCCGAGGAACAAGCCATATTCGCCTGGATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8061
+CAGTTTCTGCGTTCCGCAAAGCGACTGTGTGCGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8062
+GATACGTCTTGAGAATGCCCGAGGGAAAGATCTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8063
+CTTATCAGGCCTACGATCTTCTTGCAATATATTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8064
+GTCAGCCCGCACCGTTACCTGTGGTAATGGTGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8065
+CATCCCCCTAACAAGCTGTTTAAAGAGAAATACTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8066
+ATCCACCAGTTCACACAACGTTTGCTCGATGATCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8067
+CTTATCCCTTCGAGCGGGGGGAGCTTAACAATTAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8068
+TCTCATTCTTAACGCAGCGCAGATTCCGGAATACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8069
+TCGTGGTTATTCTGTTTGCCTTCAGCTCCATCGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8070
+GCTCAATCTCTGTCGTGGTCAATAACGATGATGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8071
+ACTGAAGCGTCAGCAAAGCTGGTTGAAGAATAAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8072
+GAATTGTTCCACGGGCCAACGCTGGCATTTAAAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8073
+CCGCGCCGCCTGCAGCTTCCTGCCAGCCAAAAGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8074
+AAAAGCGGCGACATCACCCTCGGCGTTAAACTCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8075
+TTGCGAGATCTGGACGGATGTTGACGGTGTTTATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8076
+AAGACGGCGAACAGAACGCCCATCCAGCGCATCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8077
+AATGCTGCCGGAGATACGCCCTTCCAACTCGCCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8078
+CACGGATACCCTGCCAGGTAGAAGCCAGTTTGATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8079
+CCACTCATCAAACCCTGGCACTTGCTGGCTGATGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8080
+GAAATTGAATGCCGAGATTATCAAGCCAGTGTTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8081
+GCGTCAGCCCGCACCGTTACCTGTGGTAATGGTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8082
+TTTCTCTTTAAACAGCTTGTTAGGGGGATGTAACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8083
+TTAAGTTTGTAGTCAATGCCGGATAATGCCGGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8084
+ATGTCGCCGCTTTTATGGCGAATCTGTCACAGCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8085
+AGTCATTGTGTACCAGTCTTGCAGCGCGCGTGGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8086
+CCAGTTCAAACGGCGTGGTTAGCGCCGATGTCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8087
+ATGTTATCGCTGAACCCTACCGTGAACGGTTACTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8088
+ACCGTGACTACATCTCCGAGCAATGCACCATCAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8089
+CGAGGTTGTTGAGACTGAATGTCTCTGCCGCCTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8090
+CGCGTCTTTGCAGCGATGTCACGCGCCCGTATTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8091
+ATCCTGGTTGTGCTGCCACAGGAACTCGGACTCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8092
+GTACCAACGGCAGCGGCTGATAATAGTGGCTATAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8093
+GCGTCTTTCCTATGACACCGAAGCGTCAATTGCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8094
+GTAAACAATTGGTAACGTTTACACAGGAAAGTCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8095
+AGTGGCTATAGAAGGCCAGGGCGTTTTCGCCATTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8096
+ATAATCTCGGCATTCAATTTCTTCGGCTTCACCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8097
+ATTAGGATTGCGGAGAATAACAACTGCCGTTCTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8098
+CATCGGGCGTTACGTCACGACGCGCAGGGCCAGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8099
+ACCATTACCACAGGTAACGGTGCGGGCTGACGCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8100
+ACCAGTTCACACAACGTTTGCTCGATGATCGCCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8101
+CGTCCCGTTTCACGAGCGAGAATCAATAGCTTACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8102
+TTGCCGACTGGTTGGGTAAGAACTACCTGCAAAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8103
+GGGCACCTGACGCGGATCGCAGGTATAAACACCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8104
+TCGTTAAGCAGAATGATACACTGCGAAGGGAGTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8105
+ATCGCGGCAATGAAGCTGTATCAACCGCAGGATGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8106
+ATCCACGAGGCAAAATCAGTCCACTGCAAGAAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8107
+GTTTAATCTCGGGCGCTTAATTCGCCTCGTGAAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8108
+GCTGTGGCAGATCAATATGCCGACTTCCTGCGCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8109
+CGATCCGGTCGAAAAACTGCTGGCAGTGGGTCATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8110
+CGATAAGCTACGGCAGCGTGCGGCTCCGAGGTATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8111
+CGGATGCGGCGTGAACGCCTTATCCGGCCTACAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8112
+AACTTACGGATACCTTCCGCCAGTTTATCTACTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8113
+CCGAAGTTTCCACTCGGTACCGAGACAACCAACTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8114
+TCCGCCGCATAACGCAACTGATGGTAGTAATCCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8115
+CGATCGGCATATTCTTTTCCAGAGTCATCGCCACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8116
+CTGGCGGAGAGCGAAGGGGCTATCGAACGTAAACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8117
+CCTTCGCAGTGTATCATTCTGCTTAACGAGACTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8118
+CCGACATCGCTTTCAACATTGGCGACCGGAGCCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8119
+TTTGTGATTGGCGTCGGTGGCGTTGGCGGTGCGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8120
+TCACCAACCATCTGGTAGCGATGATTGAAAAAACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8121
+TTGTTAACAATCTTATCCCTTCGAGCGGGGGGAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8122
+CCCAGGCGGGGGGATCAGACTGATGACAAACGCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8123
+ATGGCAACAGTTTCGATATTGCCGCCCAATGTACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8124
+GATTTACCCTTGCTTTCGCATAACCTGCCCGCCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8125
+GCCCTGATGATATCACAAGGGCGAATTCTGCAGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8126
+CTTATCGTGCGCTGCGTGACCAGTTGAATCCAGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8127
+TCAGCGGAAAACTTAACAAGGTGCCGCCGATGACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8128
+ACGACTCATCAGACCGCGTGCTTTCTTAGCGTAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8129
+ATCGGCGGGCAGGTTATGCGAAAGCAAGGGTAAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8130
+TTGCGAAAGCAAAACGCCTGATCAAACTCTACAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8131
+ATCGTTGCTCTGCTGTTTCGCCCAGGCGACAGCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8132
+AGACCGAAGAGTGCAAGACGCGAAGTTAGCGAATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8133
+CAATCTTCACGCGGCAGACGCCATCTTCATCAATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8134
+GGCCAGGTTGCCGCTACCCACGCGCGCTGCAAGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8135
+CAAGAAAACACGGTGCCACGTTGTCGTAATGAATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8136
+ATCTGGACAATTCCTTGCGCTGCCGGATGCGGAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8137
+TGATCATTGTGCTTGTTATGGCGCGGCGATGACGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8138
+GTTGTTGGTTCACTTTTCGTACCGGATTTGTGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8139
+GTCAGGTTACAGTTAATACCTTCTTTTTCCAGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8140
+TTGTCTGTTGCGTGGTTTCATCATCCACGGCTGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8141
+GAAATTCTCAATAAATGCGGTAACTTAGAGATTAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8142
+AACAGGTATTATTCTCGCTGTCTTTGCTCTGCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8143
+TTCGCAAATGCTGTTGGGCAAAATCGAAATCGTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8144
+CGTAAAGTATTCATCAAGATTTTTCCGTTTAAACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8145
+TCGCTGAACCCTACCGTGAACGGTTACTGCCAGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8146
+GATCGCCTATCTGTAATTTTACTGACGGGACTAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8147
+GATGAATGCTATTTTTAAGACTTTTGCCAAACTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8148
+CGTTGTTCGTAGCGTTTAAACACCAGTTCGCCATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8149
+GGTGACGGAACGGCTGGCCATTATCTCGGTGGTAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8150
+GATTTTCCCCCGCTGGTAACAGGTATTATTCTCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8151
+GAACAATTCCAGACAACCGACATCGCTTTCAACAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8152
+CGACGAAAGTTTTCAATTGTGCCAGCGGAAATCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8153
+TCGCCTGAACTCCGCTGAAAATTATGCCGTAGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8154
+GCGATGATGTTTGTCAGGCCCCGGACGATGATCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8155
+ATTGTGATCTTTCAGATTGTAGAGTTTCATTTAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8156
+CGCTGCCATGGGAGCGACCAGAACCAGGGAAAGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8157
+ATTGAAATTGAACCTGTGCTGCCCGCAGAGTTTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8158
+CCGCTGGCACAATTGAAAACTTTCGTCGACCAGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8159
+TCTGCGCTGCGTTAAGAATGAGAGAAGGGTTGGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8160
+AGCCGAAGAAATTGAATGCCGAGATTATCAAGCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8161
+CTGTGCGCTATGCCTATATTGGTTAAAGTATTTAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8162
+GCGCGGAAACTGACGCCCCCGCAGATTAGCTCCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8163
+CACCGGCACTGCTGAAAGAGCTGGCGGAGAGCGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8164
+AGCAATATCAACGGTAGATTCGAGGTAATGACCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8165
+GTCACGCGCCCGTATTTCCGTGGTGCTGATTACGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8166
+TGAACGGGCAATGCAGGAAGAGTTCTACCTGGAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8167
+CCCGGCTTTTTTTATGAAGAAAATATGGAGAAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8168
+CATCACGTTCTTTATAAAGCTGTGCGAGGGAACAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8169
+GAATATGCCGATCGGTTCGGGCTTAGGCTCCAGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8170
+TTGTCTGTTGCGTGGTTTCATCATCCACGGCTGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8171
+CTGTTTGCGAATCACCCCCACCTGACGCGAAAGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8172
+GACTGGTTTTAATAGCGAAGGTTACTTCTTTGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8173
+GATATTGGCGCGGGCCAGCGCGGCAAAGAATTTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8174
+GCCAGCAAACGAGTGTCATTAAGCGGCTTGCCGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8175
+CTTTTATGCAGCCCGGCTTTTTTTATGAAGAAAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8176
+CTGTTCTGTACATTGGGCGGCAATATCGAAACTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8177
+CAAAGACACCGGCAGCTGTAACGTCATTGCCCGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8178
+GAAACGACTCATCAGACCGCGTGCTTTCTTAGCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8179
+CCTGAGCGAAGGAGAACAGCAGGGTCAGGTTACAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8180
+CGCGTCCACGATCTGCTGCGCGCGATCGTTGCTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8181
+CGGCGCGTAAACAGGCCGCCAGCACCGCAGCGGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8182
+TGCATCTAGAGGCCCAATTCGCTGCGTTGATATCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8183
+CTACGGTGGTGTACTGACGAAGGGAGGTCAATTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8184
+ATTCGCCTGGATTCAACTGGTCACGCAGCGCACGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8185
+TAATACCTGCATCGTTGTAGAGTTTGATCAGGCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8186
+TCAACGCAGCGAATTGGGCCTCTAGATGCATGCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8187
+CCGGAGAACTTCATCAATTCATCACCAGCATTGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8188
+TACAGCAGATCGCCGATCATTTTTTCCAGTTTTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8189
+ACTTCACCAGTGTAAGACAGTTTACGTTCGATAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8190
+ATAGCGCGTGGTGGTCAACGGGCTTTGGTAATCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8191
+GCTAATGCGTTTCATGGATGTTGTGTACTCTGTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8192
+TCGTGGCGATCATCGTCCGGGGCCTGACAAACATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8193
+GGGGAAAATCAAAAGAAAAACTCAGGGCTCGCGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8194
+TGCGGCTTGCCGCAATACGGCGGGTGGATTCAGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8195
+TTTAAAGATTTCGGCGGTCGCTTTATGGCACAAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8196
+GAAAGAATGCCGGAGAACTTCATCAATTCATCACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8197
+CCGCAGCCTGCGCTGCCATGGGAGCGACCAGAACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8198
+AACTCTACAATCTGAAAGATCACAATGAGCAGGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8199
+GCGAAGGTTTCCACGTTGTTACGCCGAACAAAAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8200
+ATCTCGCAACAATCGGCGCGTAAACAGGCCGCCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8201
+TTACGTGCTTCTTGCGGCAACTGTGCGACAGCCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8202
+TGGCCGGCGTTGCGCTGGCAATTACCGCCGGTGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8203
+CTGTAATTTTACTGACGGGACTAGCGTAATTTCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8204
+TCATCGCCATCAGCGCCGCGACCACTGAACAGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8205
+GTGATGGTATGCGCACCTTACGTGGGATCTCGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8206
+CTGCCGGTAAAACGTTTTATTGCTGCGACCAACGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8207
+ACGCGCTATACGCTGCCGGAGCTGTTAGACAACGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8208
+GTAAACAGGCCGCCAGCACCGCAGCGGAGTAGTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8209
+CGGGATTTCATCACCAATAAACGCCGAGAGGATCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8210
+AAGAATGCCGGAGAACTTCATCAATTCATCACCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8211
+GTAAGAACTACCTGCAAAATCAGGAAGGTTTTGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8212
+AAAATCGGCTGACCAAACCAGAGCAACTGACTGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8213
+TTGCGCGAGCCCTGAGTTTTTCTTTTGATTTTCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8214
+AGGCCGGGTTTGCTTTTATGCAGCCCGGCTTTTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8215
+ACCTCATGTATGCTACGCAGAAGTTATCCAAGTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8216
+TGAAGATGGCGTCTGCCGCGTGAAGATTGCCGAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8217
+AAAGTCTTAAAAATAGCATTCATCCACAGCCAGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8218
+CGATGATGCGACCACTGGCGTGCGCGTTACTCATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8219
+CTGCCGGAGATACGCCCTTCCAACTCGCCCATCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8220
+ATGCCGGATGCGGCGTGAACGCCTTATCCGGCCTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8221
+CTGAATACCTTCCAGCGGCATGTAGGTTGTGCCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8222
+TTCTCCAGACGCGTGGGATGATGTTTCGCAGGAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8223
+ATTCGAGGTAATGACCCACTGCCAGCAGTTTTTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8224
+GTTCTTCTCATCGAGGAACACTGGCTTGATAATCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8225
+CGCTAAATATCAATGCCGGATTGCCATCCGGCATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8226
+ACAACCAGGATCCAATGGCAGTAGATAAACTGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8227
+TTTATTGAGAATTTCTCCTTTTTCCCTGTCGTTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8228
+TGGCAGTGGGTCATTACCTCGAATCTACCGTTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8229
+ACCTGCCCCTGCCTGGCATTGCTTTCCAGAATATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8230
+AGACCGAGTGACTTCGCCAGCAGACCCGCCGTCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8231
+GACCGTCGTGCAGGAAACGTGGTACGGTATCGTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8232
+CGCGTCTTGCACTCTTCGGTCTGAATGCTGCAACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8233
+ACGCGCTGGGCGGTATCCGGCTTGTCACACAGAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8234
+GAAACCTCATGTATGCTACGCAGAAGTTATCCAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8235
+TGAAAGAGCTGGCGGAGAGCGAAGGGGCTATCGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8236
+AAAAAATCTGGCATGCATATCCCTCTTATTGCCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8237
+TCAGGAACACGCCCGCTTCCGCACAAGCACGAGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8238
+CGCGGCAAAGAATTTCGCCGAGATCCCACGTAAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8239
+GCGAATTGGGCCTCTAGATGCATGCTCGAGCGGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8240
+ACTCCGCACCCCAGGAACCCATTAGCACCCGCATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8241
+CATCATCGTTATTGACCACGACAGAGATTGAGCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8242
+GGTGCCAGCGATTGCCTCGCCATTCATAATGTTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8243
+GCCCATCAAAGCCAGCAAACGAGTGTCATTAAGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8244
+CTGCTCACCAATGTACATGGCCTTAATCTGGAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8245
+GAGGTATAGCCCAGTTCTTTTAACTCACGCATTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8246
+CACCGCAGCGGAGTAGTCGGAACCGTTGCGTCCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8247
+CGAGCTGTGACAGATTCGCCATAAAAGCGGCGACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8248
+ACGTTACCAATTGTTTACGAAGTATATAACGCTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8249
+TAGCTTATCGTGCGCTGCGTGACCAGTTGAATCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8250
+CATTATCCGGCATTGACTACAAACTTAACGTTGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8251
+AGCTGCTATCAGACACTCTTTTTTTAATCCACACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8252
+CGGCGGAAAAATCGCGGCGTAAATTCCTCTATGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8253
+GAATTGTTCCACGGGCCAACGCTGGCATTTAAAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8254
+ATGACCCACTGCCAGCAGTTTTTCGACCGGATCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8255
+ACACCGTCAACATCCGTCCAGATCTCGCAACAATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8256
+AACTGGCGCAAGCCAAAGAGCCGTTTAATCTCGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8257
+TGGCGTTTAAAGGTGATGTCTACACTGGCTTGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8258
+AACACCTCGTCGATGGATTACTACCATCAGTTGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8259
+TCTGCGGGGGCGTCAGTTTCCGCGCTTCATGGATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8260
+ATGATCATCGTGGCGATCATCGTCCGGGGCCTGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8261
+TCGTTTATCAGTGCTGGGAGCGTTTTTGCCAGGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8262
+AAAGCCCGCACTGTCAGGTGCGGGCTTTTTTCTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8263
+ATAACATCTTTCATCAGCTTCGCGGCAAGCTCAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8264
+GTAAACGTTACCAATTGTTTACGAAGTATATAACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8265
+GCCGAAAACAATCTCTTCTTTTTACGCCTGAACAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8266
+TCCACACGCGGCCAGTTGTTTGGCTGGCTAACATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8267
+CTCCGGCAGCATTCATTACGACAACGTGGCACCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8268
+TTTGTCCGTCATGATAGTATTTCTCTTTAAACAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8269
+GATTTTGGCGGGGGCAGAGAGGACGGTGGCCACCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8270
+AAGCTTCCTCCAGCAATGGCGAACTGGTGTTTAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8271
+GAGCACATCAAACCCGACGCTCATATTGGCACTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8272
+AGCGGCTTGCCGCAGTGTTCATTCATCGCCATCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8273
+GCGAGGGAACATTCGGCAAACGAGGTCGCCATGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8274
+GATTTGACGGCGGGTCTGCTGGCGAAGTCACTCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8275
+CATCGTGGCGATCATCGTCCGGGGCCTGACAAACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8276
+GCGTGGTTTCATCATCCACGGCTGCATAACCCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8277
+AATCATACTTAGCGTGACCGGGAAGTCGGTCACGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8278
+AGTGCGGGCTTTTTTTTCGACCAAAGGTAACGAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8279
+GATTTATCACCACATTATCGCCTTGTGCTGCGAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8280
+CTACCGTGAACGGTTACTGCCAGGCTTCCGGCAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8281
+GCATCTAGAGGCCCAATTCGCTGCGTTGATATCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8282
+AAATCGGCTGACCAAACCAGAGCAACTGACTGGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8283
+TCAGATTGGAAATGCCCTTGACCGGTAATTCGTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8284
+CGGCAGCGTGCGGCTCCGAGGTATAGCCCAGTTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8285
+CAACAGCAAACTTACGGATACCTTCCGCCAGTTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8286
+TAAATCGGTGAAGCCGAAGAAATTGAATGCCGAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8287
+ATGTACAGAACAGTTTTTCTTGCAGTGGACTGATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8288
+CGTCAGCTTGAGCTTGCCGCGAAGCTGATGAAAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8289
+TTTTTCAATCATCGCTACCAGATGGTTGGTGATTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8290
+CCGGACGATGATCGCCACGATGATCATTGTGCTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8291
+ATTTGGGCAAATTCCTGGTCGACGAAAGTTTTCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8292
+CACTGCCAGCAGTTTTTCGACCGGATCGATAACGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8293
+GCGGTGACGGAACGGCTGGCCATTATCTCGGTGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8294
+GTATTAACTGTAACCTGACCCTGCTGTTCTCCTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8295
+CACCAGTTCGCCATTGCTGGAGGAAGCTTCATCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8296
+CGTTGTCTAACAGCTCCGGCAGCGTATAGCGCGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8297
+GGCTATTACCAATTTGACCGCCATATTACTGCTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8298
+GGATCTGGAACTGGGCGATGGGGGTAATGGTGCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8299
+GGTGTTGGCCTTTTTGTTCGGCGTAACAACGTGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8300
+CCGATTTAAAATACTCATCTGACGCCAGATTTATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8301
+TTGCCGAAGTGGATGGTAATGATCCGCTGTTCAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8302
+CAGTTCGCCATTGCTGGAGGAAGCTTCATCAAAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8303
+GTTGTGCCGTTACCCGCCAGTAATATCAGCATGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8304
+GTTGGATCTGCCAAAAGAGCTGGCAGAACGTGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8305
+CGTATGGCCCTTCCAGCAACTGAATGCAGTACGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8306
+AGGTGTGAAGGACGCTGAGGGTAACGTTGTGGTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8307
+CCTGGCACTTGCTGGCTGATGATGTCGTTTTCTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8308
+CTTATCCCTTCGAGCGGGGGGAGCTTAACAATTAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8309
+CAACGGCTCCAGTAAGCCTTCTTTCAGTTCCAGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8310
+AATCCAGGCGAATATGGCTTGTTCCTCGGCACCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8311
+ATGGGGTCGACGCCAAACGCGGCAGCGGCAGCTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8312
+GTTTTCCAATGAGGCGGGAATGGGGTCGACGCCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8313
+GCAAACGTTGTGTGAACTGGTGGATGAAATGAGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8314
+TTCCGTGGTGCTGATTACGCAATCATCTTCCGAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8315
+TTGGCAACGATGGAGCTGAAGGCAAACAGAATAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8316
+AGATCCCACGTAAGGTGCGCATACCATCACCTACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8317
+GGTGACGGAACGGCTGGCCATTATCTCGGTGGTAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8318
+TTGCCAACATAGCGCAAAACTTTTCCTTCATCACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8319
+CGAAGGGGCTATCGAACGTAAACTGTCTTACACTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8320
+CAACACCTCGTCGATGGATTACTACCATCAGTTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8321
+CTTATTTTTGCCGAACTTCTGACGGGACTCGCCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8322
+TGAAAGAGCTGGCGGAGAGCGAAGGGGCTATCGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8323
+AAAACGCCTGATCAAACTCTACAACGATGCAGGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8324
+AGAGCTGGCAGAACGTGCTGATTTACCCTTGCTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8325
+CCCCTGATTTTTGCCTAACCCCTGGGTTACGGCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8326
+ATGCAATCCTGGCGGCGATACTGCGCCGGTAAAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8327
+CGTTGATGGCGATAATCTGGGTACTGACCAGCCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8328
+ATGTTGATGGAGTTAGCAGAATTCAGCCCCAGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8329
+TTTGGCAGATCCAACGTTTCACCGAGAATCGCTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8330
+ATTTTCTCGCCACGGCAAATCAGCGCAGCGTTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8331
+CGTGAAAGAATATCATCTGCTGAACCCGGTCATTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8332
+GTTCGCCTGAACTCCGCTGAAAATTATGCCGTAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8333
+AAGATCATCAGCTTCTACGCTAAGAAAGCACGCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8334
+GTGGCATCCTGCGGTTGATACAGCTTCATTGCCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8335
+ACGAGTACTGGAAAACTAAATGAAACTCTACAATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8336
+AGGTGGGGGTGATTCGCAAACAGGCGCTGATCCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8337
+TATTTACTGCCAGTTTGTCGGTCGCGTCCACGATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8338
+ACTTTGAGGCTGTCGCACAGTTGCCGCAAGAAGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8339
+ACTACCTGCAAAATCAGGAAGGTTTTGTTCATATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8340
+CGCAGTGTTCATTCATCGCCATCAGCGCCGCGACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8341
+GCGTCAGCAAAGCTGGTTGAAGAATAAACATATCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8342
+ACCACGTTTCCTGCACGACGGTCAGTGGTCACCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8343
+CCAAGAAAACACGGTGCCACGTTGTCGTAATGAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8344
+GAGATTAAACGGCTCTTTGGCTTGCGCCAGTTCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8345
+CGTTGCGCGAGCCCTGAGTTTTTCTTTTGATTTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8346
+ATCACCTTTAAACGCCAGAATTGCCTGGCGGGCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8347
+ATGGCGACCTCGTTTGCCGAATGTTCCCTCGCACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8348
+CTGCCGGTGTCTTTGCTGATCTGCTACGTACCCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8349
+CGTTGAAACGGCACCGGAAGTGGTTGCAGCATTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8350
+AAATCCCGGCTGGGCGGCGGCGAGTCCCGTCAGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8351
+GCGCTCTTCCAGGATTTCCTGCGGGATTTCATCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8352
+CCCCTGCCTGGCATTGCTTTCCAGAATATCGGCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8353
+AACGTTGGATCTGCCAAAAGAGCTGGCAGAACGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8354
+GCGGCGATGACGGCGGTCCATGTGGGTGCCAGCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8355
+CGCCTTCTGGATAAGCTGAATACCTTCCAGCGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8356
+AATAGCTTACGCGCCACATCCATGCCAGAAAGATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8357
+GTATTTCCGTGGTGCTGATTACGCAATCATCTTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8358
+GAACTTCAACACTCGCATGGTTGTTACCTCGTTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8359
+TTCATCACCAGCATTGAGCAGATTTTGCAGGTTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8360
+GAAGGTATCCGTAAGTTTGCTGTTGACCAGGAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8361
+GCGACCTCGTTTGCCGAATGTTCCCTCGCACAGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8362
+ATTAGGATTGCGGAGAATAACAACTGCCGTTCTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8363
+CCAACCATCCCTTTCATCCCCGGGCCGGAAACGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8364
+CGCTGCGGTGCTGGCGGCCTGTTTACGCGCCGATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8365
+TGACTTTCCTGTGTAAACGTTACCAATTGTTTACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8366
+TATCAACGGTAGATTCGAGGTAATGACCCACTGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8367
+TAGAGGCCCAATTCGCTGCGTTGATATCGCCCGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8368
+GCGGGGGCAGAGAGGACGGTGGCCACCTGCCCCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8369
+TTCTGCCGGAGCGTACTCTTTCTTATCGGTATTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8370
+TTACCGATCCCCAAAGGACGCTGTTAATAAAGGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8371
+CTGGCAGGAAGCTGCAGGCGGCGCGGCGGGATATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8372
+ACTGCATACCACCAAGAAAACACGGTGCCACGTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8373
+ATTCACGCCTGCTATTCCCGTCAGCTTGAGCTTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8374
+AGCGTAGAAGCTGATGATCTTAAATTTGCCGTTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8375
+CGTTATGCGGCGGAAAAATCGCGGCGTAAATTCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8376
+AACTGAAAGAAGGCTTACTGGAGCCGTTGGCGGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8377
+TTCGGCAATCTTCACGCGGCAGACGCCATCTTCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8378
+AATTTTCAGCGGAGTTCAGGCGAACGCCGTTGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8379
+CAAAGTCGGGCCGGAGCCGGAGATACCGCTCGCTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8380
+CAGATTGGAAATGCCCTTGACCGGTAATTCGTCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8381
+ACTGCCTGATGCGCTACGCTTATCAGGCCTACGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8382
+CAGTTGATGATCGAAGAAAACGACATCATCAGCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8383
+AATGGGGATACGTCTTGAGAATGCCCGAGGGAAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8384
+CGGGATATACCTTAAGCCAGGCGATTACTAACGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8385
+AAGATATAAGAAAGCGAACCTGAAAGAATGCCGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8386
+GCCGCTGGATGCGCGATCAGAGATGGAAACTAAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8387
+CGCAGAAACTGATACTGTATTCGGAAGATGATTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8388
+GTAAAGCATCCTGACCGCTAATGGTTTTTTCAATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8389
+CATTAAATCGAGCGGGCGCAGTACGCCATACAAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8390
+GCAGGTGGCCACCGTCCTCTCTGCCCCCGCCAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8391
+GTTGCGCGAGCCCTGAGTTTTTCTTTTGATTTTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8392
+AGGGGCAGGTGGCCACCGTCCTCTCTGCCCCCGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8393
+CCGTGATGAAGACGAATTACCGGTCAAGGGCATTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8394
+AACCAATATAGGCATAGCGCACAGACAGATAAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8395
+GCCCGCCAGGCAATTCTGGCGTTTAAAGGTGATGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8396
+TGAAAGCGCGTCCGGCGCGTATCACTGAGTCCGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8397
+ACGCCAGAATTGCCTGGCGGGCATTCTCCGGTGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8398
+TATTGACTTAGGTCACTAAATACTTTAACCAATAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8399
+AGGGTCAGGTTACAGTTAATACCTTCTTTTTCCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8400
+AGATGGCAACTCATTTCATCCACCAGTTCACACAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8401
+GACGCGCATCAACTTCAGTTGAGATACGGCCCGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8402
+CGGATAACGCAACGGATCAAACACCGGGCGCACGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8403
+TAGGCGATGAGCAAAAAGACGGCGAACAGAACGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8404
+CAAAGCGACTCAGGCGACGTTATCCAATGCGATGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8405
+CCCCACCTGACGCGAAAGGATCGCAGTTGGTACAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8406
+TGCCTCGTGGATAGAGGATAACCACTTTCACATTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8407
+AAATCGAGCGGGCGCAGTACGCCATACAAGCCGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8408
+GAGCTGAAGGCAAACAGAATAACCACGAGGGTAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8409
+GTAGATTTCAGATACAGAAACCACGCCCGGATCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8410
+TTATGCAGCCGTGGATGATGAAACCACGCAACAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8411
+GGCGGCCTGTTTACGCGCCGATTGTTGCGAGATCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8412
+TGCAGCTTCCTGCCAGCCAAAAGCACTCTCAAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8413
+CTGCTCAATGCTGGTGATGAATTGATGAAGTTCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8414
+AATGATCATCGTGGCGATCATCGTCCGGGGCCTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8415
+GCTTTTGGCTGGCAGGAAGCTGCAGGCGGCGCGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8416
+TCGACGGCGATTTCGATGCCTGTCAGGCGCTGGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8417
+AGTCATGAAAGCGAGCGGCGTTGATACCCGCCAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8418
+GCATGCATCTAGAGGCCCAATTCGCTGCGTTGATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8419
+TATGGCACAAATGCTGACCCATATTGCGGGCGATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8420
+AGGTGTGAAGGACGCTGAGGGTAACGTTGTGGTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8421
+AACAACCATGCGAGTGTTGAAGTTCGGCGGTACAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8422
+GTTTTTTCAATCATCGCTACCAGATGGTTGGTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8423
+CTGGGCTATACCTCGGAGCCGCACGCTGCCGTAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8424
+GCCTTATCCGGCCTACAAAATCGTGCAAATTCAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8425
+TGGAAGGGCGTATCTCCGGCAGCATTCATTACGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8426
+TTCCGCCGCAAAATCTGGCAACTGAAAGAGCTGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8427
+AAAGCGACTCAGGCGACGTTATCCAATGCGATGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8428
+GCGGCAACCTGGCCGGCGTTGCGCTGGCAATTACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8429
+TGTAACCGGTCTGCCCTGATGATATCACAAGGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8430
+TTGCCACATCAGCGGAAAACTTAACAAGGTGCCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8431
+TGCCCCAACAAACTGATGCCATGCAGGACATGTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8432
+GCGCAGTATCGCCGCCAGGATTGCATTGCGCACGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8433
+TTGGGCCTCTAGATGCATGCTCGAGCGGCCGCCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8434
+ACTCTGGAAAAGAATATGCCGATCGGTTCGGGCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8435
+AACTTCAACACTCGCATGGTTGTTACCTCGTTACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8436
+TCCTGCGCGAAGGTTTCCACGTTGTTACGCCGAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8437
+GAGATGGAAACTAAGCCAATACGTAAAGTATTCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8438
+TGTGGGTGCTGGCGTATCCGGGGATTAAAGTCTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8439
+CATGGTTATGAAACCGTGGTTATGGGCGCAAGCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8440
+TTTTCCGCACGACCTGCCGGAATTCAGCCTGACTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8441
+GCATCGCTGATATTGGGTAAAGCATCCTGACCGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8442
+CTTTTATGGCGAATCTGTCACAGCTCGACGATCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8443
+GTTTATCAGTGCTGGGAGCGTTTTTGCCAGGAGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8444
+GCGCGTAAACAGGCCGCCAGCACCGCAGCGGAGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8445
+AGATCAGCCTGCATTTTGTACCAACTGCGATCCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8446
+AATCTTCACGCGGCAGACGCCATCTTCATCAATAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8447
+TTCGCCGGATGCGCGGTGCCGAGGAACAAGCCATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8448
+ACAGCATTTGCGAATGCTTTCCGGCTTGTATGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8449
+CGGGGGAAAATCAAAAGAAAAACTCAGGGCTCGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8450
+GCAATGTTCAGCGTTTCCGGCCCGGGGATGAAAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8451
+CCGAAGTTTCCACTCGGTACCGAGACAACCAACTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8452
+ATGTTAGCCAGCCAAACAACTGGCCGCGTGTGGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8453
+CCGGCGAAATTTAAAGAGAGCGTGGAAGCGATTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8454
+GACATCGCTTTCAACATTGGCGACCGGAGCCGGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8455
+ACCACCATTACCACCACCATCACCATTACCACAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8456
+TCTGCTGAACCCGGTCATTGTTGACTGTACTTCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8457
+GAAAAATGGCGAAAACGCCCTGGCCTTCTATAGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8458
+ACGATCGTATTCTGATCAAACTGGCTTCTACCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8459
+GCATGAGCCGGGCGACGCCATGAAGACCGCGAGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8460
+GCCCGAACCGATCGGCATATTCTTTTCCAGAGTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8461
+ATAGCAGGCGTGAATGAAGCCTGCCAGATGTCGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8462
+CCTCAGCGTCCTTCACACCTTCCAGCGTCTCTTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8463
+TGTATGCTACGCAGAAGTTATCCAAGTACCTCGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8464
+CCGCGCGCCATATACCATGCCGGTCCGCCACGAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8465
+CGATCCGCGTCAGGTGCCCGATGCGAGGTTGTTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8466
+AGCTTCCTCCAGCAATGGCGAACTGGTGTTTAAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8467
+CGAGGTATAGCCCAGTTCTTTTAACTCACGCATTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8468
+TTAAGCAGAATGATACACTGCGAAGGGAGTGACAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8469
+CGGTCTTCATGGCGTCGCCCGGCTCATGCAGGGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8470
+CGTCCTTCACACCTTCCAGCGTCTCTTTAATAGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8471
+ACCGCGAGTGATCGCCAGCAGAGCAAAGACAGCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8472
+ATTGACCTCCCTTCGTCAGTACACCACCGTAGTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8473
+GCGTGGTTTCTGTATCTGAAATCTACCAGTACTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8474
+CGCAGCGCAGATTCCGGAATACCGTAAGTTGATTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8475
+CGCTTTTATGGCGAATCTGTCACAGCTCGACGATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8476
+TTAGCGTGACCGGGAAGTCGGTCACGCTACCTCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8477
+CGTGCACCACAACGTTACCCTCAGCGTCCTTCACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8478
+AAACCATTAGCGGTCAGGATGCTTTACCCAATATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8479
+CGCTGATTTGCCGTGGCGAGAAAATGTCGATCGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8480
+CTAAATATCAATGCCGGATTGCCATCCGGCATTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8481
+CAGAGTCATCGCCACTGGAATTTGCTTGCCAAGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8482
+ATCAACGGGACAAACCCCTGCATGAGCCGGGCGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8483
+TATGGGTCAGCATTTGTGCCATAAAGCGACCGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8484
+AAACTCTACAATCTGAAAGATCACAATGAGCAGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8485
+CATCTGACGCCAGATTTATCACCACATTATCGCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8486
+GTACTGGTAGATTTCAGATACAGAAACCACGCCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8487
+CATCCCTTTCATCCCCGGGCCGGAAACGCTGAACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8488
+GCTTTCTTAGCGTAGAAGCTGATGATCTTAAATTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8489
+GGAGCTGTTAGACAACGCCCAGCAGCTGATCCATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8490
+GCGAGAATCAATAGCTTACGCGCCACATCCATGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8491
+GCATGCATCTAGAGGCCCAATTCGCTGCGTTGATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8492
+TTGCGCGAGCCCTGAGTTTTTCTTTTGATTTTCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8493
+TGGCGTAGATAATCACTGGCAATGGTATGAACCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8494
+CCAATTGTTTACGAAGTATATAACGCTACGAGGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8495
+TGCGAAAGCAAAACGCCTGATCAAACTCTACAACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8496
+GCCTATCTGTAATTTTACTGACGGGACTAGCGTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8497
+ACGCCATGAAGACCGCGAGTGATCGCCAGCAGAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8498
+CAGTTCGCCATTGCTGGAGGAAGCTTCATCAAAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8499
+CAATATCAACATTGTCGCCATTGCTCAGGGATCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8500
+TCACTGAGTCCGAGTTCCTGTGGCAGCACAACCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8501
+GCCGATCATTTTTTCCAGTTTTTCCTGGTCAACAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8502
+TATGCAGTTGATGATCGAAGAAAACGACATCATCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8503
+TTCCTGATTTTGCAGGTAGTTCTTACCCAACCAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8504
+AGCCTAAGCCCGAACCGATCGGCATATTCTTTTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8505
+GCGCTAACCACGCCGTTTGAACTGGAAACCCGCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8506
+CGTGACATCGCTGCAAAGACGCGCGCCGCCATGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8507
+AACAGGCGCTGATCCTTAACTTACCCGGTCAACCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8508
+CATCCCTTTCATCCCCGGGCCGGAAACGCTGAACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8509
+CCGGCTTCCAGTGCCAATATGAGCGTCGGGTTTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8510
+TTCGCAAATGCTGTTGGGCAAAATCGAAATCGTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8511
+CGAGTTCCTGTGGCAGCACAACCAGGATCCAATGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8512
+GTCACGCTACCTCTTCTGAAACCTGTCTGTCACTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8513
+GGCCTGCATGGCTATTACCAATTTGACCGCCATAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8514
+TGCGAAGATCCTCTCGGCGTTTATTGGTGATGAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8515
+GGAGCTGAAGGCAAACAGAATAACCACGAGGGTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8516
+GGAAGTACAGTCAACAATGACCGGGTTCAGCAGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8517
+CTGGCACTTGCTGGCTGATGATGTCGTTTTCTTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8518
+ATATCGACCCATAACGGGCAATGATAAAAGGAGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8519
+GGACTGATTTTGCCTCGTGGATAGAGGATAACCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8520
+CAAGCCGCTTAATGACACTCGTTTGCTGGCTTTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8521
+GAAATTTATGCCGACTTTAGCAAAAAAAGAGAATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8522
+ACCGTGAACGGTTACTGCCAGGCTTCCGGCAGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8523
+GCTTGCCGCAGTGTTCATTCATCGCCATCAGCGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8524
+GGTGCGGGGGTGAAGAACTTTAGCGCCGAAGTAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8525
+GGTAACAACCATGCGAGTGTTGAAGTTCGGCGGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8526
+CTTTGTTTATGCCGGATGCGGCGTGAACGCCTTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8527
+TGATTAAAAATACCGGAAATCCCCAAGCACCAGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8528
+GCGCCAGTTCTTCCTGCCAGTTTTCCAGATTAAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8529
+TGCGTTATCCGGAGATCGGTCGCCAGCTTTCTCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8530
+GAAGGCATGAGTTTCTCCGAGGCGACCACACTGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8531
+ATGTTACTGATGATTCATCATCAATTTACGCAACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8532
+CTTTAAACAGCTTGTTAGGGGGATGTAACCGGTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8533
+CTTCACCGATTTAAAATACTCATCTGACGCCAGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8534
+GCGGTGACGGAACGGCTGGCCATTATCTCGGTGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8535
+CTTTCCTGTGTAAACGTTACCAATTGTTTACGAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8536
+CGCATCAGGGAGCTAATCTGCGGGGGCGTCAGTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8537
+CGGTCACGCTACCTCTTCTGAAACCTGTCTGTCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8538
+ATCAGGATAAAGGCATCCCTGCGCTGGAAGAATGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8539
+GGAATGCGGCTTGCCGCAATACGGCGGGTGGATTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8540
+CAAGCCGCATTCCGGCTGACCACATGGTGCTGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8541
+AATTGATGAGATGCTGAAGCTGGATTTTGTCACCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8542
+TCCAGAAGGCGATGCGGGTGCTAATGGGTTCCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8543
+CTGGCGGGTATCAACGCCGCTCGCTTTCATGACTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8544
+AGAATGATACACTGCGAAGGGAGTGACAGACAGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8545
+AATACGGCGGGTGGATTCAGCAATATCAACGGTAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8546
+AAGCGATTCTCGGTGAAACGTTGGATCTGCCAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8547
+ATTGAAAATCGGCTGACCAAACCAGAGCAACTGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8548
+GAGGACGGTGGCCACCTGCCCCTGCCTGGCATTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8549
+AAGTGGATGGTAATGATCCGCTGTTCAAAGTGAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8550
+TGGACTGATTTTGCCTCGTGGATAGAGGATAACCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8551
+GGCAGAGACATTCAGTCTCAACAACCTCGGACGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8552
+GGCTGAATTCCGGCAGGTCGTGCGGAAAAAACAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8553
+ATCCGGAGATCGGTCGCCAGCTTTCTCCAGACGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8554
+GACATGTTTTATTTGGGCAAATTCCTGGTCGACGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8555
+GTCAGCTTGAGCTTGCCGCGAAGCTGATGAAAGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8556
+TCGTGCGCTGCGTGACCAGTTGAATCCAGGCGAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8557
+CAGCAAAATCGGCGGGCAGGTTATGCGAAAGCAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8558
+TACAAAGCGAATACCGATAAGAAAGAGTACGCTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8559
+GATCTGGTGTCTGCGGATCTGCACCTTCGCAACGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8560
+TTACTCCTGCGAAACATCATCCCACGCGTCTGGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8561
+AGCTTCCTCCAGCAATGGCGAACTGGTGTTTAAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8562
+CTGGCAAAAATACCGTGCACCACAACGTTACCCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8563
+ATCCGGGCACTGCCCCAACAAACTGATGCCATGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8564
+GTGCTTGTTATGGCGCGGCGATGACGGCGGTCCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8565
+GCATAACCCAGCTCTTTCAGTTGCCAGATTTTGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8566
+GGTCACTAAATACTTTAACCAATATAGGCATAGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8567
+GATCAACTCATTCTCTTTTTTTGCTAAAGTCGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8568
+CGGCTTGTATGGCGTACTGCGCCCGCTCGATTTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8569
+CAATGAGGCGGGAATGGGGTCGACGCCAAACGCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8570
+GCTATGCCTATATTGGTTAAAGTATTTAGTGACCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8571
+ACGTCATTTGGTCTATTTTTGAGAGTGCTTTTGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8572
+CGCTAATGGTTTTTTCAATCATCGCTACCAGATGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8573
+GGAGATGTAGTCACGGTTGAGGCGGCAGAGACATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8574
+GCGAATCACCCCCACCTGACGCGAAAGGATCGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8575
+TCAACGTATGGCCCTTCCAGCAACTGAATGCAGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8576
+CGCACGGGCGACATCTGGCAGGCTTCATTCACGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8577
+ATTTTGCAGGTAGTTCTTACCCAACCAGTCGGCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8578
+CAGCGCAGGGATGCCTTTATCCTGATAAACGCCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8579
+ACCGGTTATTGAGAACCTGCAAAATCTGCTCAATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8580
+TCTTCTGGATGTGGGTTGCCGCATTTATCGGCATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8581
+AGCATCAACGCTGCGCTGATTTGCCGTGGCGAGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8582
+ATTACCTCGAATCTACCGTTGATATTGCTGAATCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8583
+CATTTTTATACGAAACCTCATGTATGCTACGCAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8584
+TTTGCACGATTTTGTAGGCCGGATAAGGCGTTCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8585
+GCGGCGACATCACCCTCGGCGTTAAACTCTGCGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8586
+TTCGGCGATTTGACGGCGGGTCTGCTGGCGAAGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8587
+CTACCCACGCGCGCTGCAAGACTGGTACACAATGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8588
+CTGGCGGCCGCTCGAGCATGCATCTAGAGGCCCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8589
+GATACGCCCTTCCAACTCGCCCATCAAAGCCAGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8590
+TCCCACGCGTCTGGAGAAAGCTGGCGACCGATCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8591
+CGATCTTCTTGCAATATATTGAATTTGCACGATTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8592
+CGTTTTACCGGCAGACCGAGTGACTTCGCCAGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8593
+CAGTTCGCCATTGCTGGAGGAAGCTTCATCAAAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8594
+GATACTGGAGCGGCAGTGGCTCATGCTTTCTACGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8595
+CGCCTGGATTCAACTGGTCACGCAGCGCACGATAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8596
+AACATCCGTCCAGATCTCGCAACAATCGGCGCGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8597
+CGTTGTTACGCCGAACAAAAAGGCCAACACCTCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8598
+GAAGGGGCTATCGAACGTAAACTGTCTTACACTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8599
+TAACCTCATTTCAGTCATTGTGTACCAGTCTTGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8600
+TGTTCCACGGGCCAACGCTGGCATTTAAAGATTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8601
+ACCACCGAGATAATGGCCAGCCGTTCCGTCACCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8602
+AGTTCACGTCCCGTTTCACGAGCGAGAATCAATAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8603
+ACTGGCGGGTATCAACGCCGCTCGCTTTCATGACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8604
+AAAGCATTCGCAAATGCTGTTGGGCAAAATCGAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8605
+TCATCAAACGCCTGCTTCACCAGCGCCTGACAGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8606
+TGAGAACCTGCAAAATCTGCTCAATGCTGGTGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8607
+CAAACCCGGCCTGATTGAGATAATGAATAGATGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8608
+TCTGGAATTGTTCCACGGGCCAACGCTGGCATTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8609
+GCGGCAAGCCGCTTAATGACACTCGTTTGCTGGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8610
+TGAGTTAAAAGAACTGGGCTATACCTCGGAGCCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8611
+GCCAACATAGCGCAAAACTTTTCCTTCATCACGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8612
+CCCCCCGCCTGGGGGGATTTTTTTATTCGCTAACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8613
+GCAACTGGCAGATATCATTATGGCCTGCATGGCTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8614
+GTTCCGACTACTCCGCTGCGGTGCTGGCGGCCTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8615
+ATGGTGGTGCTAATGCGTTTCATGGATGTTGTGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8616
+GGCGATTACTAACGGTTTTCAGCGCAGTATGTTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8617
+GCAAAACTGCCTGATGCGCTACGCTTATCAGGCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8618
+GGCAGGCGCGGCAGGCGGTTGCGGAAATCGGCGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8619
+GCGCATCAGCGACAAACTGGCGGGTATCAACGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8620
+CGCTAGTCCCGTCAGTAAAATTACAGATAGGCGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8621
+GCATTGTCTGTTGCGTGGTTTCATCATCCACGGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8622
+AATCAAAAGAAAAACTCAGGGCTCGCGCAACGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8623
+CGCCATGCTGATATTACTGGCGGGTAACGGCACAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8624
+ACATCAGTGGCAAATGCAGAACGTTTTCTGCGGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8625
+CAATGCTGGTGATGAATTGATGAAGTTCTCCGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8626
+CGCCACTTTCAGTTCTTCATCATCAAACGCCTGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8627
+AGTCGGGCCGGAGCCGGAGATACCGCTCGCTACCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8628
+TTAATCCCCGATGAGCAGGCGATCATCGAGCAAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8629
+GGCCCCGGACGATGATCGCCACGATGATCATTGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8630
+GCGCGTGGTCACAACGTTACCGTTATCGATCCGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8631
+CTGCGTTGATATCGCCCGCCATTTTTATACGAAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8632
+AGAAGCTGCTATCAGACACTCTTTTTTTAATCCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8633
+TCCGGCCCGACTTTGTTCGCTCTGTGTGACAAGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8634
+GAAAAAACAGCCCCTGATTTTTGCCTAACCCCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8635
+TTCACCGATTTAAAATACTCATCTGACGCCAGATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8636
+AGACATTCAGTCTCAACAACCTCGGACGCTTTGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8637
+CATCGGCGCTAACCACGCCGTTTGAACTGGAAACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8638
+AGAAAAAAGCCCGCACCTGACAGTGCGGGCTTTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8639
+CCATTTTTATACGAAACCTCATGTATGCTACGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8640
+GGAAAAGTTTTGCGCTATGTTGGCAATATTGATGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8641
+CACCGAAGCGTCAATTGCGAAAGCAAAACGCCTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8642
+CAAGGGCATTTCCAATCTGAATAACATGGCAATGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8643
+TGCAAAATCAGGAAGGTTTTGTTCATATTTGCCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8644
+CCGGCGAAATTTAAAGAGAGCGTGGAAGCGATTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8645
+GGATAAGATTGTTAACAACGTGCGCTTTGTTTATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8646
+ATCCAGCTTCAGCATCTCATCAATTTCAGTCAGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8647
+GGCAGCCAAATTTCACACCGGAGAATGCCCGCCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8648
+CAGCTTCTACGCTAAGAAAGCACGCGGTCTGATGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8649
+ATGGATGTTGTGTACTCTGTAATTTTTATCTGTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8650
+GGGGCTGGATTACCGGTTATTGAGAACCTGCAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8651
+GAAAGGGATGGTTGGCATGGCGGCGCGCGTCTTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8652
+GGCGGCGGTGACACCTGTTGATGGTGCATTGCTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8653
+ATCACAAGGGCGAATTCTGCAGATATCCATCACAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8654
+AAGCCGCTTAATGACACTCGTTTGCTGGCTTTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8655
+GGCGACCGATCTCCGGATAACGCAACGGATCAAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8656
+ACCGTCTGACCATCGCACCGGCACTGCTGAAAGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8657
+CGCTTTCACTTCACCAGTGTAAGACAGTTTACGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8658
+GAGACGCTGGAAGGTGTGAAGGACGCTGAGGGTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8659
+CGTGAATGAAGCCTGCCAGATGTCGCCCGTGCGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8660
+TTACCGTTATCGATCCGGTCGAAAAACTGCTGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8661
+TCATTCTGCTTAACGAGACTGTTTAAACGGAAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8662
+CCGGTCAAGGGCATTTCCAATCTGAATAACATGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8663
+CAGGTACGCTCATTGGTGCCAGCCGTGATGAAGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8664
+ATTTGTGCCATAAAGCGACCGCCGAAATCTTTAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8665
+TTTTCCGTTTAAACAGTCTCGTTAAGCAGAATGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8666
+ATTTGCCGGCTGGATACGGCGGGCGCACGAGTACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8667
+CCGTGGAACAATTCCAGACAACCGACATCGCTTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8668
+CGCCGAAGTAAGAAAGCTCCATCGCTTCCTGATAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8669
+GCGAAGACGATTTCGATTTTGCCCAACAGCATTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8670
+GCGACAGCCTCAAAGTAATAACAAATCTGCGCCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8671
+CCCGTTGACCACCACGCGCTATACGCTGCCGGAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8672
+GCAGGTCAGCTTTGCGCAAGCCGTAACCCAGGGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8673
+GGCTTGCAGGCCGAAACCTTCAGCGAAGACGATTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8674
+CAGCTTATCCAGAAGGCGATGCGGGTGCTAATGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8675
+GGTGTCGATAAAAATGCCAATCATCTGGACAATTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8676
+TCGTCCGGGGCCTGACAAACATCATCGCTAAATAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8677
+AGTTAATACCTTCTTTTTCCAGCTGTTCTGCAGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8678
+GGTCAGAATGGTCACTGGCTTATCGCCCGCAATAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8679
+ATGTTTCGCAGGAGTAATCACAACTATCGATCAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8680
+ACGAAACTGCCCATTGGCATCACGTTCTTTATAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8681
+GCCAGGCGATTACTAACGGTTTTCAGCGCAGTATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8682
+CGTGAAACGGGACGTGAACTGGAGCTGGCGGATAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8683
+GCCCGCAATATGGGTCAGCATTTGTGCCATAAAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8684
+GGCATTCAATTTCTTCGGCTTCACCGATTTAAAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8685
+CAATGCCAGGCAGGGGCAGGTGGCCACCGTCCTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8686
+CACAGGAACTCGGACTCAGTGATACGCGCCGGACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8687
+TCCGGTGTGAAATTTGGCTGCCAGTCATGAAAGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8688
+CGTCGCCTGAGTCGCTTTGGGTGACCACTGACCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8689
+TTCCAGAATTTCGCCGATGTTACGGAAGCTTGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8690
+GGGCTGAATTCTGCTAACTCCATCAACATCAGTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8691
+CAGATGCTGTTCAATACCGATCAGGTTATCGAAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8692
+TGCGACCAACGTGAACGATACCGTACCACGTTTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8693
+GACGCTTTGCCGATAAGCTGCCGTCAGAGCCACGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8694
+ATCAACTCATTCTCTTTTTTTGCTAAAGTCGGCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8695
+ATCTGTTCACCAAAGCCTGGCATCTCGCGGTCCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8696
+ATGGCAATGTTCAGCGTTTCCGGCCCGGGGATGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8697
+CAAACTGGCGGATGTAGCGAAACTGCACAAATCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8698
+AGCGGAAAACTTAACAAGGTGCCGCCGATGACCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8699
+ATTCAATATATTGCAAGAAGATCGTAGGCCTGATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8700
+GCATTGGATAACGTCGCCTGAGTCGCTTTGGGTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8701
+AGTTCCTGTGGCAGCACAACCAGGATCCAATGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8702
+CTGTGGGTGCTGGCGTATCCGGGGATTAAAGTCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8703
+CACTGAGTCCGAGTTCCTGTGGCAGCACAACCAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8704
+TTTTCATTCTGACTGCAACGGGCAATATGTCTCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8705
+GCTGTGGCAGATCAATATGCCGACTTCCTGCGCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8706
+TGAAGCGCGGAAACTGACGCCCCCGCAGATTAGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8707
+AATCCCGGCTGGGCGGCGGCGAGTCCCGTCAGAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8708
+GTAACAACCATGCGAGTGTTGAAGTTCGGCGGTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8709
+CGATTTTTCCGCCGCATAACGCAACTGATGGTAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8710
+CTACGAACAACGTTAAGTTTGTAGTCAATGCCGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8711
+GAAGAAAACGACATCATCAGCCAGCAAGTGCCAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8712
+GTCATTACCTCGAATCTACCGTTGATATTGCTGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8713
+TACCACCAAGAAAACACGGTGCCACGTTGTCGTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8714
+TGATGTTTGTCAGGCCCCGGACGATGATCGCCACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8715
+CCGGCCTACAAAATCGTGCAAATTCAATATATTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8716
+TTCAACGTATGGCCCTTCCAGCAACTGAATGCAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8717
+CTAATTGTTAAGCTCCCCCCGCTCGAAGGGATAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8718
+ATCTGGTGTCTGCGGATCTGCACCTTCGCAACGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8719
+GACGCCATGAAGACCGCGAGTGATCGCCAGCAGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8720
+TATGCCGATCGGTTCGGGCTTAGGCTCCAGCGCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8721
+ACTAAATGAAACTCTACAATCTGAAAGATCACAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8722
+GAAACCCGCTTAATCCCCGATGAGCAGGCGATCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8723
+TCACAACTATCGATCAACTCATTCTCTTTTTTTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8724
+GTGATACTGGAGCGGCAGTGGCTCATGCTTTCTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8725
+GCGGATATGGTGCGGGCAATGACGTTACAGCTGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8726
+TGGGATGATGTTTCGCAGGAGTAATCACAACTATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8727
+GTGCATTGCTCGGAGATGTAGTCACGGTTGAGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8728
+TGCTGGCGTATCCGGGGATTAAAGTCTCGACGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8729
+ATGTTGACGGTGTTTATACCTGCGATCCGCGTCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8730
+AATGCCGGATGGCAATCCGGCATTGATATTTAGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8731
+ACAGTTTACGTTCGATAGCCCCTTCGCTCTCCGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8732
+CGCAGAGTTTAACGCCGAGGGTGATGTCGCCGCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8733
+GAGTCGCTTTGGGTGACCACTGACCGTCGTGCAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8734
+AATATCAGCGATGCCGAACTTATTTTTGCCGAACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8735
+CTTGTTCCTCGGCACCGCGCATCCGGCGAAATTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8736
+GCAAAAATCAGGGGCTGTTTTTTCCGCACGACCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8737
+TGGATGCGCGATCAGAGATGGAAACTAAGCCAATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8738
+GAGATGGAAACTAAGCCAATACGTAAAGTATTCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8739
+GTCTGTCACTCCCTTCGCAGTGTATCATTCTGCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8740
+TCGCTACCAGATGGTTGGTGATTTTGGCGGGGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8741
+TGGTGAGCACCAGATGGCAACTCATTTCATCCACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8742
+TGTGAAAGTGGTTATCCTCTATCCACGAGGCAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8743
+GTTGGTGATTTTGGCGGGGGCAGAGAGGACGGTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8744
+AGTCGATGTCCTATCAGGAAGCGATGGAGCTTTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8745
+GGCTGATAATAGTGGCTATAGAAGGCCAGGGCGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8746
+ATACCGATAAGAAAGAGTACGCTCCGGCAGAAGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8747
+ACCACCGTAGTGGCCGACACTGGGGACATCGCGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8748
+CGCATCTGTTCACCAAAGCCTGGCATCTCGCGGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8749
+GATCGCCTGCTCATCGGGGATTAAGCGGGTTTCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8750
+GATTTTGCAGGTAGTTCTTACCCAACCAGTCGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8751
+CGACTTTGTTCGCTCTGTGTGACAAGCCGGATACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8752
+TGCCGGTGTCTTTGCTGATCTGCTACGTACCCTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8753
+TGCAGATGACCAGGGTGTCGATAAAAATGCCAATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8754
+CGATGGGGGTAATGGTGCGGGGGTGAAGAACTTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8755
+CATCGTTATTGACCACGACAGAGATTGAGCGTTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8756
+CCAGGAATTTGCCCAAATAAAACATGTCCTGCATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8757
+CGCAGCGCACGATAAGCTACGGCAGCGTGCGGCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8758
+CGCAGTACGCCATACAAGCCGGAAAGCATTCGCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8759
+ATGAATCATCAGTAACATCTATTCATTATCTCAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8760
+GATGGCAACTCATTTCATCCACCAGTTCACACAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8761
+TATGCCGACTTTAGCAAAAAAAGAGAATGAGTTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8762
+GAGGCGAATTAAGCGCCCGAGATTAAACGGCTCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8763
+GATATTCTTTCACGAGGCGAATTAAGCGCCCGAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8764
+CTTATCCCTTCGAGCGGGGGGAGCTTAACAATTAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8765
+CAGTATCAGTTTCTGCGTTCCGCAAAGCGACTGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8766
+TGAAGCGTCAGCAAAGCTGGTTGAAGAATAAACAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8767
+CGCGCGGGCTGGGGATGCGCTGGATGGGCGTTCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8768
+TGAATACCTTCCAGCGGCATGTAGGTTGTGCCGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8769
+AGACTGTTTAAACGGAAAAATCTTGATGAATACTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8770
+CTGGCATCTCGCGGTCCGCTACTGCCAGCGTCGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8771
+CTGTATCAATTCTGGGGAGATATCATCACCAACAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8772
+ACCAACGTGAACGATACCGTACCACGTTTCCTGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8773
+GTTGCGCTGGCAATTACCGCCGGTGGACCTGGAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8774
+CTGACCCTGCTGTTCTCCTTCGCTCAGGCTCGTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8775
+TAACAACCATGCGAGTGTTGAAGTTCGGCGGTACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8776
+GGCCATAATGATATCTGCCAGTTGCCACATCAGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8777
+AAACGGGACGTGAACTGGAGCTGGCGGATATTGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8778
+TAATTGCCAGCGCAACGCCGGCCAGGTTGCCGCTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8779
+GCCCGTTGACCACCACGCGCTATACGCTGCCGGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8780
+CGATCGTTGCTCTGCTGTTTCGCCCAGGCGACAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8781
+GCAGGAAATCCTGGAAGAGCGCGTACGTGCGGCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8782
+GTTGTTTCCACCAGCCGTGGTCGCCCCAATGACCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8783
+CCGCTGCGGTGCTGGCGGCCTGTTTACGCGCCGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8784
+GAGTTAAAAGAACTGGGCTATACCTCGGAGCCGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8785
+CACCATTACCACCACCATCACCATTACCACAGGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8786
+TGTTACCAGCGGGGGAAAATCAAAAGAAAAACTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8787
+AGCTGCCGCTGCCGCGTTTGGCGTCGACCCCATTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8788
+GGCGCATCTGTTCACCAAAGCCTGGCATCTCGCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8789
+CTAATCTCTAAGTTACCGCATTTATTGAGAATTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8790
+GATATTCATTACGCAAATCACCAGGCTGGTCAGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8791
+GCTTGCAGGCCGAAACCTTCAGCGAAGACGATTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8792
+GTTTGATCAGAATACGATCGTTGCTAATACCTGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8793
+TCCGGTTCGGTATAACCCATTTCCCGCGCCAGTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8794
+CGATGATGTTTGTCAGGCCCCGGACGATGATCGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8795
+TGTTTCGCAGGAGTAATCACAACTATCGATCAACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8796
+AAGTGGATGGTAATGATCCGCTGTTCAAAGTGAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8797
+AGGATCTTCGCACTGCGGGTGACAAAATCCAGCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8798
+GCGTGGTCACAACGTTACCGTTATCGATCCGGTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8799
+TATGGCGGTCAAATTGGTAATAGCCATGCAGGCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8800
+AACCGCCTGGCTGTGGATGAATGCTATTTTTAAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8801
+TTGAAATTGAACCTGTGCTGCCCGCAGAGTTTAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8802
+AGCAATGGCGAACTGGTGTTTAAACGCTACGAACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8803
+AGTTAAGGATCAGCGCCTGTTTGCGAATCACCCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8804
+TGGAATTGTTCCACGGGCCAACGCTGGCATTTAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8805
+GCTTAATGACACTCGTTTGCTGGCTTTGATGGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8806
+CGGTGTTTGATCCGTTGCGTTATCCGGAGATCGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8807
+ATGGCGGCGCGCGTCTTTGCAGCGATGTCACGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8808
+CATCAGTGGCAAATGCAGAACGTTTTCTGCGGGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8809
+GGCGCGCGGGCTGGGGATGCGCTGGATGGGCGTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8810
+GCCAAAAGAGCTGGCAGAACGTGCTGATTTACCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8811
+ATACCGTGCACCACAACGTTACCCTCAGCGTCCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8812
+TGGCACCGTGTTTTCTTGGTGGTATGCAGTTGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8813
+TGCGCTGCGTTAAGAATGAGAGAAGGGTTGGTTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8814
+CTGATAGGACATCGACTTCAACAACCTCGCATCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8815
+ACTTCATCAATTCATCACCAGCATTGAGCAGATTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8816
+CGAAACCTCATGTATGCTACGCAGAAGTTATCCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8817
+AGTGACCTAAGTCAATAAAATTTTAATTTACTCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8818
+AAAGCAATGCCAGGCAGGGGCAGGTGGCCACCGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8819
+AAAATCGGCGGGCAGGTTATGCGAAAGCAAGGGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8820
+TAGCATCAACGCTGCGCTGATTTGCCGTGGCGAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8821
+CAGCTCTTTCAGTTGCCAGATTTTGCGGCGGAACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8822
+TTTCATTCTGACTGCAACGGGCAATATGTCTCTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8823
+AATACCTGCATCGTTGTAGAGTTTGATCAGGCGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8824
+ACATCCATGCCAGAAAGATCATCTCGCGGGTCCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8825
+GCGGCAGACGCCATCTTCATCAATATTGCCAACAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8826
+CGTTTAAAGGTGATGTCTACACTGGCTTGCAGGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8827
+AATGTTCCCTCGCACAGCTTTATAAAGAACGTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8828
+CGCAGCGCACGATAAGCTACGGCAGCGTGCGGCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8829
+TCCGGCTTGTATGGCGTACTGCGCCCGCTCGATTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8830
+GCGAGTCCCGTCAGAAGTTCGGCAAAAATAAGTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8831
+CGGAGTAGTCGGAACCGTTGCGTCCCAGAACCACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8832
+GTGTATCATTCTGCTTAACGAGACTGTTTAAACGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8833
+GGTTATGCAGCCGTGGATGATGAAACCACGCAACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8834
+CTTCGGTCTGAATGCTGCAACCACTTCCGGTGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8835
+AGCCCGAACCGATCGGCATATTCTTTTCCAGAGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8836
+ACCCCAGGAACCCATTAGCACCCGCATCGCCTTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8837
+TTCCAGGATTTCCTGCGGGATTTCATCACCAATAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8838
+CAATAAAATTTTAATTTACTCACGGCAGGTAACCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8839
+TATTGAATTTGCACGATTTTGTAGGCCGGATAAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8840
+GTTAGCCAGCCAAACAACTGGCCGCGTGTGGAAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8841
+ATTTCGATTTTGCCCAACAGCATTTGCGAATGCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8842
+ACTGGAAAACTAAATGAAACTCTACAATCTGAAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8843
+CGGGCAATGACGTTACAGCTGCCGGTGTCTTTGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8844
+AGGGATGCCTTTATCCTGATAAACGCCGCTGGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8845
+ATCGACATTTTCTCGCCACGGCAAATCAGCGCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8846
+GTATGCAGTTGATGATCGAAGAAAACGACATCATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8847
+AGCCCTGAGTTTTTCTTTTGATTTTCCCCCGCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8848
+TCGATAACCTGATCGGTATTGAACAGCATCTGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8849
+CCCAGCTCTTTCAGTTGCCAGATTTTGCGGCGGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8850
+TGGCGCAGATTTGTTATTACTTTGAGGCTGTCGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8851
+ATCCTGCGGTTGATACAGCTTCATTGCCGCGATGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8852
+CCGCAGACACGTAAGTCGATATGTTTATTCTTCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8853
+TCGATCGCCATTATGGCCGGCGTGTTAGAAGCGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8854
+TCAGTACCCAGATTATCGCCATCAACGGGACAAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8855
+CATGGCATCAGTTTGTTGGGGCAGTGCCCGGATAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8856
+TGCTCACCACGGGCGGAACTGGCCCTGCGCGTCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8857
+CTTTCCCTGGTTCTGGTCGCTCCCATGGCAGCGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8858
+CAATGGTATGAACCACAGGCGAGAGCAGTAATATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8859
+TAGAGGCCCAATTCGCTGCGTTGATATCGCCCGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8860
+ACTCTGGAAAAGAATATGCCGATCGGTTCGGGCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8861
+TTCGCCCAGGCGACAGCATCATCAATCAACTTACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8862
+AATTTGCTTGCCAAGCTCCTGGCAAAAACGCTCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8863
+CTCGCACACAGTCGCTTTGCGGAACGCAGAAACTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8864
+CCGACATCGCTTTCAACATTGGCGACCGGAGCCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8865
+GCTTTCATGACTGGCAGCCAAATTTCACACCGGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8866
+TACCATTGCCAGTGATTATCTACGCCAGCGTAAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8867
+GTGTGGTCGCCTCGGAGAAACTCATGCCTTCGTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8868
+GAGTCTGACATGGTTAAAGTTTATGCCCCGGCTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8869
+ACAGGCGAGAGCAGTAATATGGCGGTCAAATTGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8870
+GGCAACGCGCTGGGCGGTATCCGGCTTGTCACACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8871
+TGCGGTTGATACAGCTTCATTGCCGCGATGTCCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8872
+ACAGGTAACGGTGCGGGCTGACGCGTACAGGAAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8873
+CTTTCAGCAGTGCCGGTGCGATGGTCAGACGGTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8874
+GAGCGGCAGTGGCTCATGCTTTCTACGGTTTACCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8875
+CTGTCTTACACTGGTGAAGTGAAAGCGCGTCCGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8876
+CTGCCAGTTTTCCAGATTAAGGCCATGTACATTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8877
+ACGCCCCCGCAGATTAGCTCCCTGATGCGCATCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8878
+AACAGTCTCGTTAAGCAGAATGATACACTGCGAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8879
+TTGACCGGGTAAGTTAAGGATCAGCGCCTGTTTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8880
+AGTTCAGAAGCTGCTATCAGACACTCTTTTTTTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8881
+AGTTTTTCTTGCAGTGGACTGATTTTGCCTCGTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8882
+ACAACTATCGATCAACTCATTCTCTTTTTTTGCTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8883
+CAGATTGGAAATGCCCTTGACCGGTAATTCGTCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8884
+CTGTTCACCAAAGCCTGGCATCTCGCGGTCCGCTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8885
+GCCAGTTCTTCCTGCCAGTTTTCCAGATTAAGGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8886
+CTATTTTTAAGACTTTTGCCAAACTGGCGGATGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8887
+TTATGGGCGCAAGCTTCCGTAACATCGGCGAAATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8888
+AGCTGATCCATGAAGCGCGGAAACTGACGCCCCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8889
+GGCGCGCGGGCTGGGGATGCGCTGGATGGGCGTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8890
+TGATGGCGATAATCTGGGTACTGACCAGCCTGGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8891
+CACAGAAAAAAGCCCGCACCTGACAGTGCGGGCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8892
+CTGCCGGAGCTGTTAGACAACGCCCAGCAGCTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8893
+CCGCACCTGACAGTGCGGGCTTTTTTTTCGACCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8894
+GGGGCAGGTGGCCACCGTCCTCTCTGCCCCCGCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8895
+GTGGAAGCGATTCTCGGTGAAACGTTGGATCTGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8896
+TGTTTGGCTGGCTAACATCCATCGCATTGGATAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8897
+CCGGAAGTGGTTGCAGCATTCAGACCGAAGAGTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8898
+TGACTACAAACTTAACGTTGTTCGTAGCGTTTAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8899
+TGCCTTTATCCTGATAAACGCCGCTGGATGCGCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8900
+ACCTGGAACTGAAAGAAGGCTTACTGGAGCCGTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8901
+TTGATATTGCTGAATCCACCCGCCGTATTGCGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8902
+TCACCAATAAACGCCGAGAGGATCTTCGCACTGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8903
+GATGACAAACGCAAAACTGCCTGATGCGCTACGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8904
+CTTATCCCTTCGAGCGGGGGGAGCTTAACAATTAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8905
+TGTCGTAATGAATGCTGCCGGAGATACGCCCTTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8906
+TCGAAGGGATAAGATTGTTAACAACGTGCGCTTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8907
+CATCCACTTCGGCAATCTTCACGCGGCAGACGCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8908
+TAATGATCCGCTGTTCAAAGTGAAAAATGGCGAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8909
+GATCCCTGAGCAATGGCGACAATGTTGATATTGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8910
+GTTTATTCTTCAACCAGCTTTGCTGACGCTTCAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8911
+GCTGATCCATGAAGCGCGGAAACTGACGCCCCCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8912
+TATTCTTTCACGAGGCGAATTAAGCGCCCGAGATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8913
+CTTAGGTCACTAAATACTTTAACCAATATAGGCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8914
+CACCACAACGTTACCCTCAGCGTCCTTCACACCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8915
+CGACCAGAACCAGGGAAAGTGCGAGTACGATAGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8916
+TAGCACCCGCATCGCCTTCTGGATAAGCTGAATAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8917
+TGGCAAAAACGCTCCCAGCACTGATAAACGATATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8918
+TGTTACGCCGAACAAAAAGGCCAACACCTCGTCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8919
+CGCAAATCACCAGGCTGGTCAGTACCCAGATTATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8920
+TTTCGCAGGAGTAATCACAACTATCGATCAACTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8921
+GTGTTTAAACGCTACGAACAACGTTAAGTTTGTAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8922
+GCATTGCTCGGAGATGTAGTCACGGTTGAGGCGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8923
+ATTGCCAACATAGCGCAAAACTTTTCCTTCATCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8924
+CGTGAGTAAATTAAAATTTTATTGACTTAGGTCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8925
+GCCGGAAACGCTGAACATTGCCATGTTATTCAGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8926
+CGTATGGCCCTTCCAGCAACTGAATGCAGTACGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8927
+CCAGATCTCGCAACAATCGGCGCGTAAACAGGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8928
+CGGGTATCAACGCCGCTCGCTTTCATGACTGGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8929
+CCGGACGATGATCGCCACGATGATCATTGTGCTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8930
+TGCCCCCGCCAAAATCACCAACCATCTGGTAGCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8931
+GTCTCTTTAATAGACTTCGGTTGACCGGGTAAGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8932
+CCGCTTAATGACACTCGTTTGCTGGCTTTGATGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8933
+GCTGGGGCTGAATTCTGCTAACTCCATCAACATCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8934
+GCGCACCGCCAACGCCACCGACGCCAATCACAAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8935
+CGCACGTTGTTAACAATCTTATCCCTTCGAGCGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8936
+TCCGCTGCGGTGCTGGCGGCCTGTTTACGCGCCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8937
+GGCAGACCGAGTGACTTCGCCAGCAGACCCGCCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8938
+TACAGCTGCCGGTGTCTTTGCTGATCTGCTACGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8939
+ATCAGCTTCTACGCTAAGAAAGCACGCGGTCTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8940
+AGGTAACGGTGCGGGCTGACGCGTACAGGAAACAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8941
+AGGTGCCCGATGCGAGGTTGTTGAAGTCGATGTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8942
+ATACGGCGGGTGGATTCAGCAATATCAACGGTAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8943
+AACGTTACCAATTGTTTACGAAGTATATAACGCTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8944
+GTTCACCAAAGCCTGGCATCTCGCGGTCCGCTACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8945
+GTCGGTCACGCTACCTCTTCTGAAACCTGTCTGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8946
+AATGGGTTCCTGGGGTGCGGAGTTTGTTACCCTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8947
+CGGATGCGGCGTGAACGCCTTATCCGGCCTACAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8948
+CAGTCATTGTGTACCAGTCTTGCAGCGCGCGTGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8949
+CGCGACCGGCAATAAGAGGGATATGCATGCCAGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8950
+AAACTCTACAACGATGCAGGTATTAGCAACGATCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8951
+CGAGGGAACATTCGGCAAACGAGGTCGCCATGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8952
+CGATTTTGCCCAACAGCATTTGCGAATGCTTTCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8953
+CAAAAATACCGTGCACCACAACGTTACCCTCAGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8954
+TTGCTCCAGCAGCGCACCGCCAACGCCACCGACGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8955
+GAGGTACTTGGATAACTTCTGCGTAGCATACATGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8956
+GGAGCGTACTCTTTCTTATCGGTATTCGCTTTGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8957
+ATCATCAATCAACTTACGGTATTCCGGAATCTGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8958
+AGTACTGGAAAACTAAATGAAACTCTACAATCTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8959
+GAGCGTCGGGTTTGATGTGCTCGGGGCGGCGGTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8960
+GCATTCTTTCAGGTTCGCTTTCTTATATCTTCGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8961
+TCTGGCGTCAGATGAGTATTTTAAATCGGTGAAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8962
+TCCTGGCGGCGATACTGCGCCGGTAAAATAGCCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8963
+ATTATCACGATCGCCTATCTGTAATTTTACTGACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8964
+GATTCTTATTTCACCTGCGAAAACGCTTGATTACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8965
+AAGAAGAGATTGTTTTCGGCATAAATGTAGTTGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8966
+TATCCAGCCGGCAAATATGAACAAAACCTTCCTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8967
+CAATCATCTGGACAATTCCTTGCGCTGCCGGATGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8968
+TATCACTGAGTCCGAGTTCCTGTGGCAGCACAACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8969
+TAATCAGGCAAGGGATCTGGAACTGGGCGATGGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8970
+GTGTGGAAGAGTTGTTCCGCCGCAAAATCTGGCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8971
+GCGATTGCCTCGCCATTCATAATGTTGTTTCCACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8972
+CTGCCAGCAGTTTTTCGACCGGATCGATAACGGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8973
+TATTGGCTTAGTTTCCATCTCTGATCGCGCATCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8974
+AAACTTTTCCTTCATCACGGGCCTTCGCCACACGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8975
+GCCGAAATCTTTAAATGCCAGCGTTGGCCCGTGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8976
+CGAAAACAATCTCTTCTTTTTACGCCTGAACAACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8977
+AGGCATAGCGCACAGACAGATAAAAATTACAGAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8978
+TCATCAATCAACTTACGGTATTCCGGAATCTGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8979
+AACAGAACGCCCATCCAGCGCATCCCCAGCCCGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8980
+TTACTGATGATTCATCATCAATTTACGCAACGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8981
+GCATAACGCAACTGATGGTAGTAATCCATCGACGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8982
+GAAGAACTTTAGCGCCGAAGTAAGAAAGCTCCATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8983
+CCACGGCTGCATAACCCAGCTCTTTCAGTTGCCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8984
+CCACGGCTGCATAACCCAGCTCTTTCAGTTGCCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8985
+TTCCTGCCAGCCAAAAGCACTCTCAAAAATAGACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8986
+CCCGGGCCGGAAACGCTGAACATTGCCATGTTATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8987
+CCATGTGGGTGCCAGCGATTGCCTCGCCATTCATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8988
+ACGTTCGATAGCCCCTTCGCTCTCCGCCAGCTCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8989
+AACCGTGACTACATCTCCGAGCAATGCACCATCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8990
+TGAAATGAGTTGCCATCTGGTGCTCACCACGGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8991
+TGCTGAAAGAGCTGGCGGAGAGCGAAGGGGCTATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8992
+TAACGCCCGATGCGACGCTGGCAGTAGCGGACCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8993
+CCGCGCGTGTGGCGAAGGCCCGTGATGAAGGAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8994
+CCGAGTGACTTCGCCAGCAGACCCGCCGTCAAATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8995
+AATGAATAGATGTTACTGATGATTCATCATCAATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8996
+AGATGGTTGGTGATTTTGGCGGGGGCAGAGAGGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8997
+GGAGGTCAATTTGTCCGTCATGATAGTATTTCTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8998
+TCGCAGCCTGCCAGTTCCAGAATTTCGCCGATGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8999
+TATACGAAACCTCATGTATGCTACGCAGAAGTTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9000
+ATGAATCATCAGTAACATCTATTCATTATCTCAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9001
+GTGTTTAAACGCTACGAACAACGTTAAGTTTGTAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9002
+ACCTTTGGTCGAAAAAAAAGCCCGCACTGTCAGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9003
+TTCAGTTGCCAGATTTTGCGGCGGAACAACTCTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9004
+GGAAGTACAGTCAACAATGACCGGGTTCAGCAGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9005
+CACCCACAGCCACTCATCAAACCCTGGCACTTGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9006
+TGCGTAATGAATATCGGGCAACTTCCCCACGTCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9007
+GCTGAATTCCGGCAGGTCGTGCGGAAAAAACAGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9008
+TACCGGAAATCCCCAAGCACCAGGTACGCTCATTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9009
+TCGACCCCATTCCCGCCTCATTGGAAAACATACTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9010
+TTTATCTACTGCCATTGGATCCTGGTTGTGCTGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9011
+ATGGCCAGCCGTTCCGTCACCGCCAACGGCTCCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9012
+ATGATCATTGTGCTTGTTATGGCGCGGCGATGACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9013
+CTGTTACCAGCGGGGGAAAATCAAAAGAAAAACTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9014
+TAACTTAGAGATTAGGATTGCGGAGAATAACAACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9015
+ATTGGGTAAAGCATCCTGACCGCTAATGGTTTTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9016
+TAAAGCGATCTGGTGTCTGCGGATCTGCACCTTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9017
+ATGTCAGACTCCTAACTTCCATGGGAGGGTACGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9018
+GCATTGCGCACGGGCGACATCTGGCAGGCTTCATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9019
+GCCGCTTTTATGGCGAATCTGTCACAGCTCGACGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9020
+AAATACGGGCGCGTGACATCGCTGCAAAGACGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9021
+TCGGGCTTAGGCTCCAGCGCCTGTTCAGTGGTCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9022
+CCTGCTTCACCAGCGCCTGACAGGCATCGAAATCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9023
+AGTGGCTCATGCTTTCTACGGTTTACCGAATGTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9024
+TTTCCCTCGGGCATTCTCAAGACGTATCCCCATTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9025
+GCAAGGGATCTGGAACTGGGCGATGGGGGTAATGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9026
+CCTGTTTGCGAATCACCCCCACCTGACGCGAAAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9027
+GCTGCGCTGATTTGCCGTGGCGAGAAAATGTCGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9028
+TGCTTTCGCATAACCTGCCCGCCGATTTTGCTGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9029
+CAGCCTGGCTGGAAGTACAGTCAACAATGACCGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9030
+GCCCGCTCGATTTAATGCAGCCTTATCGTCTGGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9031
+GGCGGTCAAATTGGTAATAGCCATGCAGGCCATAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9032
+AGAGAGCGTGGAAGCGATTCTCGGTGAAACGTTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9033
+GACCACACTGGCGCGGGAAATGGGTTATACCGAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9034
+AAACGAGTGTCATTAAGCGGCTTGCCGCAGTGTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9035
+CTTATCCCTTCGAGCGGGGGGAGCTTAACAATTAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9036
+AGTTGATGATCGAAGAAAACGACATCATCAGCCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9037
+TTCGCGCAGGAAGTCGGCATATTGATCTGCCACAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9038
+TCCTGGTCAACAGCAAACTTACGGATACCTTCCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9039
+GAATTTGCTTGCCAAGCTCCTGGCAAAAACGCTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9040
+TTGCCGGCTGGATACGGCGGGCGCACGAGTACTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9041
+GCAATATTGATGAAGATGGCGTCTGCCGCGTGAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9042
+CGCGAGATGCCAGGCTTTGGTGAACAGATGCGCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9043
+AGACAGCGAGAATAATACCTGTTACCAGCGGGGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9044
+TCCCGGCTCCGGTCGCCAATGTTGAAAGCGATGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9045
+CGGCAGTGAAACCAGCCATCAGCACCATGTGGTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9046
+AGTTTCCACTCGGTACCGAGACAACCAACTGGTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9047
+CATGGCAGCGCAGGCTGCGGAAATTACGCTAGTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9048
+AACTCGCCCATCAAAGCCAGCAAACGAGTGTCATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9049
+GCGTACGTGCGGCGTTTGCCTTCCCGGCTCCGGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9050
+AGATACAGAAACCACGCCCGGATCTTCTGCCGGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9051
+GCGGGGGGATCAGACTGATGACAAACGCAAAACTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9052
+GCGCAGTATCGCCGCCAGGATTGCATTGCGCACGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9053
+CAAGCTGAACGAGGCGCTCGCAGCACAAGGCGATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9054
+TAGCAGAATTCAGCCCCAGCGCCACTTTCAGTTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9055
+GCAGGTAACCAGTTCAGAAGCTGCTATCAGACACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9056
+CTCATTTCATCCACCAGTTCACACAACGTTTGCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9057
+AAAGGTAACGAGGTAACAACCATGCGAGTGTTGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9058
+TTCGTCTAACTTGCCGAAGATATAAGAAAGCGAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9059
+TCGAGCGGGCGCAGTACGCCATACAAGCCGGAAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9060
+CTTCGATCATCAACTGCATACCACCAAGAAAACAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9061
+CTTCATCACGGGCCTTCGCCACACGCGCGGCAAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9062
+CACGGCAAATCAGCGCAGCGTTGATGCTATCCGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9063
+AGCCAGGGCTATTTTACCGGCGCAGTATCGCCGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9064
+TTACATCCCCCTAACAAGCTGTTTAAAGAGAAATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9065
+TCAAGATTTTTCCGTTTAAACAGTCTCGTTAAGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9066
+CGCAACGCCGGCCAGGTTGCCGCTACCCACGCGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9067
+AGATAATGGCCAGCCGTTCCGTCACCGCCAACGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9068
+ATAGACCAAATGACGTGGGGAAGTTGCCCGATATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9069
+CAGTGTAGACATCACCTTTAAACGCCAGAATTGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9070
+CCCAGCAGCTGATCCATGAAGCGCGGAAACTGACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9071
+CCGGAGAACTTCATCAATTCATCACCAGCATTGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9072
+ACTACAAAGAGCATGGTTATGAAACCGTGGTTATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9073
+ATGAATATCGGGCAACTTCCCCACGTCATTTGGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9074
+TCTGTGCGCTATGCCTATATTGGTTAAAGTATTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9075
+TTTGTTCGCTCTGTGTGACAAGCCGGATACCGCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9076
+GTCCTTGCAGGAAATTTATGCCGACTTTAGCAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9077
+CTACAATCTGAAAGATCACAATGAGCAGGTCAGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9078
+CTTGTTAAGTTTTCCGCTGATGTGGCAACTGGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9079
+GTATCTCCGGCTCCGGCCCGACTTTGTTCGCTCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9080
+GTCACAACGTTACCGTTATCGATCCGGTCGAAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9081
+CTTCGTAAACAATTGGTAACGTTTACACAGGAAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9082
+GGGATGTAACCGGTCTGCCCTGATGATATCACAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9083
+GTAATCCATCGACGAGGTGTTGGCCTTTTTGTTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9084
+ATTCATCGCCATCAGCGCCGCGACCACTGAACAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9085
+TGAGTTGCCATCTGGTGCTCACCACGGGCGGAACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9086
+CCTGTCAGGCGCTGGTGAAGCAGGCGTTTGATGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9087
+TACCAGTCTTGCAGCGCGCGTGGGTAGCGGCAACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9088
+CAACCATCTGGTAGCGATGATTGAAAAAACCATTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9089
+TTGGTGATTTTGGCGGGGGCAGAGAGGACGGTGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9090
+GCCATGCAGGACATGTTTTATTTGGGCAAATTCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9091
+GATCTGCACCTTCGCAACGGTCATCGGCGGCACCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9092
+CAGGTGTCACCGCCGCCCCGAGCACATCAAACCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9093
+AAAAGAAGAGATTGTTTTCGGCATAAATGTAGTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9094
+GAATTCAGCCTGACTGAAATTGATGAGATGCTGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9095
+GATGCCGAACTTATTTTTGCCGAACTTCTGACGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9096
+CGTGGTGAGCACCAGATGGCAACTCATTTCATCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9097
+TGGTTTGGTCAGCCGATTTTCAATAATGAAACGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9098
+GTCAGGATGCTTTACCCAATATCAGCGATGCCGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9099
+GCCAACGCCACCGACGCCAATCACAAACACTTCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9100
+TCAGGTTCGCTTTCTTATATCTTCGGCAAGTTAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9101
+TGCGCTGGAAGAATGGCTGACATCGGCGCTAACCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9102
+TCTGCTGTAATCATACTTAGCGTGACCGGGAAGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9103
+ATCAGTCAAGAATACGGCCAACAAACGGCGAGATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9104
+AAGGGCGAATTCTGCAGATATCCATCACACTGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9105
+GTCGGGTTTGATGTGCTCGGGGCGGCGGTGACACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9106
+ATTTAAAATACTCATCTGACGCCAGATTTATCACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9107
+GTGGACGCGACCGACAAACTGGCAGTAAATATTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9108
+ATCCACTTCGGCAATCTTCACGCGGCAGACGCCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9109
+GGCGATTTGACGGCGGGTCTGCTGGCGAAGTCACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9110
+TACCGATCAGGTTATCGAAGTGTTTGTGATTGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9111
+CCTGCCGTGAGTAAATTAAAATTTTATTGACTTAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9112
+TCTCCGGTGTGAAATTTGGCTGCCAGTCATGAAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9113
+GGGCCGGAAACGCTGAACATTGCCATGTTATTCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9114
+ACTGACGCCCCCGCAGATTAGCTCCCTGATGCGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9115
+TAATAGCCATGCAGGCCATAATGATATCTGCCAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9116
+GATGATTGAAAAAACCATTAGCGGTCAGGATGCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9117
+CCGCCTGGCTGTGGATGAATGCTATTTTTAAGACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9118
+GAAGTTAGGAGTCTGACATGGTTAAAGTTTATGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9119
+GCAACACCGCAGACACGTAAGTCGATATGTTTATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9120
+ATATGTTTATTCTTCAACCAGCTTTGCTGACGCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9121
+AGAACCTGCAAAATCTGCTCAATGCTGGTGATGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9122
+ACAACCTACATGCCGCTGGAAGGTATTCAGCTTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9123
+GGCGTTTTCGCCATTTTTCACTTTGAACAGCGGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9124
+CTCGTGAAAGAATATCATCTGCTGAACCCGGTCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9125
+AAAGAGCTGGCAGAACGTGCTGATTTACCCTTGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9126
+AAAATACCGGAAATCCCCAAGCACCAGGTACGCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9127
+TTTATAAAGAACGTGATGCCAATGGGCAGTTTCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9128
+TTCCTGCCAGCCAAAAGCACTCTCAAAAATAGACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9129
+TCTGCGGATCTGCACCTTCGCAACGGTCATCGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9130
+CGCCGAAGTTTCCACTCGGTACCGAGACAACCAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9131
+TCAATTTGTCCGTCATGATAGTATTTCTCTTTAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9132
+TACCTCTTCTGAAACCTGTCTGTCACTCCCTTCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9133
+TCAGCCGGAATGCGGCTTGCCGCAATACGGCGGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9134
+CTCTCTTTAAATTTCGCCGGATGCGCGGTGCCGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9135
+GCGGCGATGACGGCGGTCCATGTGGGTGCCAGCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9136
+TTAATCCACACAGAGACATATTGCCCGTTGCAGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9137
+ATTTGGGCAAATTCCTGGTCGACGAAAGTTTTCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9138
+CGCCGTATTGCGGCAAGCCGCATTCCGGCTGACCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9139
+GTCGCCCCAATGACCGCCATCCCAGTAATAGCCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9140
+GGGCCAGTTCCGCCCGTGGTGAGCACCAGATGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9141
+CTTCCAGTGCCAATATGAGCGTCGGGTTTGATGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9142
+TCATCGTTATTGACCACGACAGAGATTGAGCGTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9143
+TTTATTTGGGCAAATTCCTGGTCGACGAAAGTTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9144
+GTCGGTGGCGTTGGCGGTGCGCTGCTGGAGCAACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9145
+ACGCAGCGCACGATAAGCTACGGCAGCGTGCGGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9146
+AAAAATAAGTTCGGCATCGCTGATATTGGGTAAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9147
+CGCACAGCTTTATAAAGAACGTGATGCCAATGGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9148
+GGTACGAAAAGTGAACCAACAACCTGCGCCGAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9149
+TGTAAACGTTACCAATTGTTTACGAAGTATATAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9150
+GCCGGCTGGATACGGCGGGCGCACGAGTACTGGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9151
+GATGAAGCTTCCTCCAGCAATGGCGAACTGGTGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9152
+CAAAGACAGCGAGAATAATACCTGTTACCAGCGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9153
+TACCCTCAGCGTCCTTCACACCTTCCAGCGTCTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9154
+TCAGAATACGATCGTTGCTAATACCTGCATCGTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9155
+AAAGACAGCGAGAATAATACCTGTTACCAGCGGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9156
+AGCGTTCAGAAGATCCCTGAGCAATGGCGACAATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9157
+ATGAGCGTACCTGGTGCTTGGGGATTTCCGGTATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9158
+TGATGGCGATGAATGAACACTGCGGCAAGCCGCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9159
+TGCAGCCGTGGATGATGAAACCACGCAACAGACAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9160
+TGCCAGCGATTGCCTCGCCATTCATAATGTTGTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9161
+GAACGCCCATCCAGCGCATCCCCAGCCCGCGCGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9162
+ATGCAGGAAGAGTTCTACCTGGAACTGAAAGAAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9163
+CCCGAGATTAAACGGCTCTTTGGCTTGCGCCAGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9164
+TTATCGTCTGGAAATGGGGATACGTCTTGAGAATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9165
+CTTACGTGTCTGCGGTGTTGCTAACTCGAAGGCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9166
+AAATACTCATCTGACGCCAGATTTATCACCACATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9167
+ATATCCGCCAGCTCCAGTTCACGTCCCGTTTCACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9168
+CAGGTGAAATAAGAATCAGCATATCCAGTCCTTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9169
+CGGCGTTTGCCTTCCCGGCTCCGGTCGCCAATGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9170
+GCAGAAGCCAGGGCTATTTTACCGGCGCAGTATCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9171
+CGGCGATCTGCTGTAATCATACTTAGCGTGACCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9172
+ATTTGTGCAGTTTCGCTACATCCGCCAGTTTGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9173
+AAAGGCGAGCTGGTGGTTCTGGGACGCAACGGTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9174
+TTTCCACGTTGTTACGCCGAACAAAAAGGCCAACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9175
+GCCGAACAAAAAGGCCAACACCTCGTCGATGGATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9176
+AGGAGAAAAAATCTGGCATGCATATCCCTCTTATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9177
+TACGTTGAAACGGCACCGGAAGTGGTTGCAGCATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9178
+CCCGCCGCGCCGCCTGCAGCTTCCTGCCAGCCAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9179
+TTCCACGCTCTCTTTAAATTTCGCCGGATGCGCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9180
+GATGATTGAAAAAACCATTAGCGGTCAGGATGCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9181
+ATAATGTTGTTTCCACCAGCCGTGGTCGCCCCAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9182
+CCCAGGAACCCATTAGCACCCGCATCGCCTTCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9183
+CGTAAATTCCTCTATGACACCAACGTTGGGGCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9184
+ATCCCCCCAGGCGGGGGGATCAGACTGATGACAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9185
+TATAAAAATGGCGGGCGATATCAACGCAGCGAATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9186
+ATAATTTTCAGCGGAGTTCAGGCGAACGCCGTTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9187
+CTCGAATCTACCGTTGATATTGCTGAATCCACCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9188
+CTGCAAAATCAGGAAGGTTTTGTTCATATTTGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9189
+GGCTCGTGCTTGTGCGGAAGCGGGCGTGTTCCTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9190
+GATCTTTCAGATTGTAGAGTTTCATTTAGTTTTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9191
+TTATCGCCTTGTGCTGCGAGCGCCTCGTTCAGCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9192
+CGTGACTACATCTCCGAGCAATGCACCATCAACAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9193
+CGGCGCGGTAGCGAGCGGTATCTCCGGCTCCGGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9194
+CGCGCTATACGCTGCCGGAGCTGTTAGACAACGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9195
+AGCAAACGTTGTGTGAACTGGTGGATGAAATGAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9196
+CGGGCAATGCAGGAAGAGTTCTACCTGGAACTGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9197
+GCGCAGGGCCAGTTCCGCCCGTGGTGAGCACCAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9198
+AACTTTTCCTTCATCACGGGCCTTCGCCACACGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9199
+ACGAAAAGTGAACCAACAACCTGCGCCGAAAAGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9200
+ATGTTGAAAGCGATGTCGGTTGTCTGGAATTGTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9201
+CGTTCACGTTGGTCGCAGCAATAAAACGTTTTACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9202
+CGATCATCGTCCGGGGCCTGACAAACATCATCGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9203
+AAACCTGTCTGTCACTCCCTTCGCAGTGTATCATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9204
+GCGGCGCGGCGGGATATACCTTAAGCCAGGCGATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9205
+TAATTCGTCTTCATCACGGCTGGCACCAATGAGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9206
+GGATTCAACTGGTCACGCAGCGCACGATAAGCTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9207
+TTTCTCCATATTTTCTTCATAAAAAAAGCCGGGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9208
+CAAACTTACGGATACCTTCCGCCAGTTTATCTACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9209
+CGTGGAACAATTCCAGACAACCGACATCGCTTTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9210
+CCCCATTCCCGCCTCATTGGAAAACATACTGCGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9211
+GAACCAGTTTCAGGATTTCCAGACCAATATTTACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9212
+CGGCGGGTGGATTCAGCAATATCAACGGTAGATTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9213
+TCGTGACGTAACGCCCGATGCGACGCTGGCAGTAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9214
+TTTCATTATTGAAAATCGGCTGACCAAACCAGAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9215
+AAATATTGGTCTGGAAATCCTGAAACTGGTTCCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9216
+TTCCAGTTCAAACGGCGTGGTTAGCGCCGATGTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9217
+CGCCTGAACTCCGCTGAAAATTATGCCGTAGGCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9218
+CCCTTCTCTCATTCTTAACGCAGCGCAGATTCCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9219
+TGTTACCTCGTTACCTTTGGTCGAAAAAAAAGCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9220
+TCGTCGACCAGGAATTTGCCCAAATAAAACATGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9221
+CGTTCTCATCGCGTAATCTCCGGATATCGACCCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9222
+CAACCATCCCTTTCATCCCCGGGCCGGAAACGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9223
+GAAGCCGAAGAAATTGAATGCCGAGATTATCAAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9224
+ACCCATAACGGGCAATGATAAAAGGAGTAACCTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9225
+CGGAATACCGTAAGTTGATTGATGATGCTGTCGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9226
+ATCACCACATTATCGCCTTGTGCTGCGAGCGCCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9227
+GGCGACATCTGGCAGGCTTCATTCACGCCTGCTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9228
+ATTTGGTCTATTTTTGAGAGTGCTTTTGGCTGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9229
+CAGGAAATTTATGCCGACTTTAGCAAAAAAAGAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9230
+GATGATGTTTCGCAGGAGTAATCACAACTATCGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9231
+AACAACTGCCGTTCTCATCGCGTAATCTCCGGATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9232
+GTTGAAGTTCGGCGGTACATCAGTGGCAAATGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9233
+GGCAGCATTCATTACGACAACGTGGCACCGTGTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9234
+AGTGTTTGTGATTGGCGTCGGTGGCGTTGGCGGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9235
+CAGGCCATAATGATATCTGCCAGTTGCCACATCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9236
+CGCCCGCAATATGGGTCAGCATTTGTGCCATAAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9237
+AATCACCAACCATCTGGTAGCGATGATTGAAAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9238
+ACAAACTGGCAGTAAATATTGGTCTGGAAATCCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9239
+ACCGACAAACTGGCAGTAAATATTGGTCTGGAAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9240
+AGTTCACGTCCCGTTTCACGAGCGAGAATCAATAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9241
+TCAGAATACGATCGTTGCTAATACCTGCATCGTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9242
+GTACTGCGCCCGCTCGATTTAATGCAGCCTTATCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9243
+CCAGCGCAACGCCGGCCAGGTTGCCGCTACCCACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9244
+AATGGGCAGTTTCGTGGCGGACCGGCATGGTATAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9245
+CTTTCAGGTTCGCTTTCTTATATCTTCGGCAAGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9246
+CATTGCCCGTTCAGCTCGCACACAGTCGCTTTGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9247
+GGCATGAGTTTCTCCGAGGCGACCACACTGGCGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9248
+CAGCGTATAGCGCGTGGTGGTCAACGGGCTTTGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9249
+TCGCTTTAGGGTTGTTCAGGCGTAAAAAGAAGAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9250
+TATCACAAGGGCGAATTCTGCAGATATCCATCACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9251
+GGCGTAAAAAGAAGAGATTGTTTTCGGCATAAATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9252
+GGATCGGTAATGATTTACCTGCTTTTCGGCGCAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9253
+TACAGAGTACACAACATCCATGAAACGCATTAGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9254
+CCGCCTGGGGGGATTTTTTTATTCGCTAACTTCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9255
+TCAATTTCAATATCCGCCAGCTCCAGTTCACGTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9256
+CGGTGACGGAACGGCTGGCCATTATCTCGGTGGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9257
+GCGCCTGTTCAGTGGTCGCGGCGCTGATGGCGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9258
+ACAGTCTCGTTAAGCAGAATGATACACTGCGAAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9259
+CAGATGATTGGCATTTTTATCGACACCCTGGTCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9260
+ATTATGCCGTAGGCGATGAGCAAAAAGACGGCGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9261
+TAATGAATGCTGCCGGAGATACGCCCTTCCAACTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9262
+GCAAAGCGTCCGAGGTTGTTGAGACTGAATGTCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9263
+GCCACTCATCAAACCCTGGCACTTGCTGGCTGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9264
+CAAATATGAACAAAACCTTCCTGATTTTGCAGGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9265
+GCATCCGGCATAAACAAAGCGCACGTTGTTAACAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9266
+TTAAATCGAGCGGGCGCAGTACGCCATACAAGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9267
+GTTTACGCTGGCGTAGATAATCACTGGCAATGGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9268
+TACACAACATCCATGAAACGCATTAGCACCACCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9269
+GATCCTGGTTGTGCTGCCACAGGAACTCGGACTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9270
+GGGATCTCGGCGAAATTCTTTGCCGCGCTGGCCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9271
+TGCGTGACCAGTTGAATCCAGGCGAATATGGCTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9272
+TCAGGCTCGTGCTTGTGCGGAAGCGGGCGTGTTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9273
+TGCTGGCTGATGATGTCGTTTTCTTCGATCATCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9274
+TCGCTGCAAAGACGCGCGCCGCCATGCCAACCATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9275
+CTTAAGGTATATCCCGCCGCGCCGCCTGCAGCTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9276
+CGCTAAGAAAGCACGCGGTCTGATGAGTCGTTTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9277
+CCACCACCATCACCATTACCACAGGTAACGGTGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9278
+CGCCGCATAACGCAACTGATGGTAGTAATCCATCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9279
+GCCGAACTTATTTTTGCCGAACTTCTGACGGGACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9280
+AGCGTAGCGCATCAGGCAGTTTTGCGTTTGTCATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9281
+CCGGGCGCACGCCGAGTTTACGCTGGCGTAGATAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9282
+TGCCGCGAAGCTGATGAAAGATGTTATCGCTGAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9283
+AACGGCGAGATCAGGAACACGCCCGCTTCCGCACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9284
+ACACTGGCTTGCAGGCCGAAACCTTCAGCGAAGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9285
+AACGCTTGATTACCAAAGCCCGTTGACCACCACGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9286
+ACGATTATCACGATCGCCTATCTGTAATTTTACTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9287
+AAAACATACTGCGCTGAAAACCGTTAGTAATCGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9288
+CCGATCAGGTTATCGAAGTGTTTGTGATTGGCGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9289
+CGCACAGTTGCCGCAAGAAGCACGTAACCAGTTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9290
+CCGCTGGAAGGTATTCAGCTTATCCAGAAGGCGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9291
+CCACTCGGTACCGAGACAACCAACTGGTTACGTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9292
+TGACGAAGGGAGGTCAATTTGTCCGTCATGATAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9293
+TGGCGACCTCGTTTGCCGAATGTTCCCTCGCACAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9294
+CCGTATTGCGGCAAGCCGCATTCCGGCTGACCACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9295
+CATCTATTCATTATCTCAATCAGGCCGGGTTTGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9296
+CTCATTGGTGCCAGCCGTGATGAAGACGAATTACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9297
+TTAAACGGAAAAATCTTGATGAATACTTTACGTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9298
+TCGCCTTTTTCATTACCGGCAGTGAAACCAGCCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9299
+CCTGACGCGGATCGCAGGTATAAACACCGTCAACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9300
+GGCGAGGCAATCGCTGGCACCCACATGGACCGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9301
+AGTAGTCGGAACCGTTGCGTCCCAGAACCACCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9302
+CTGGGCGATGGGGGTAATGGTGCGGGGGTGAAGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9303
+CTTCAACAACCTCGCATCGGGCACCTGACGCGGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9304
+TGTTTACGCGCCGATTGTTGCGAGATCTGGACGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9305
+AAGGAGAACAGCAGGGTCAGGTTACAGTTAATACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9306
+CTTCTGCCGTCGAGACTTTAATCCCCGGATACGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9307
+TTGTTCAGGCGTAAAAAGAAGAGATTGTTTTCGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9308
+TTTTCTGCGGGTTGCCGATATTCTGGAAAGCAATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9309
+CGCCATTATGGCCGGCGTGTTAGAAGCGCGTGGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9310
+CGGGCGCGTGACATCGCTGCAAAGACGCGCGCCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9311
+GCCCGAGATTAAACGGCTCTTTGGCTTGCGCCAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9312
+CTTACCCAACCAGTCGGCAACGCGCTGGGCGGTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9313
+AGAGCGAACAAAGTCGGGCCGGAGCCGGAGATACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9314
+CTGCGCTGCCATGGGAGCGACCAGAACCAGGGAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9315
+ATAGAGGATAACCACTTTCACATTCGGTAAACCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9316
+CTTAACGCAGCGCAGATTCCGGAATACCGTAAGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9317
+GATCGGTAATGATTTACCTGCTTTTCGGCGCAGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9318
+AGAAATTGAATGCCGAGATTATCAAGCCAGTGTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9319
+GAAAAAGAAGGTATTAACTGTAACCTGACCCTGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9320
+GCCCCAACAAACTGATGCCATGCAGGACATGTTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9321
+GGTAACAGGTATTATTCTCGCTGTCTTTGCTCTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9322
+CTCTCGCCTGTGGTTCATACCATTGCCAGTGATTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9323
+GCAGACCCGCCGTCAAATCGCCGAAGTTTCCACTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9324
+GTATTATTCTCGCTGTCTTTGCTCTGCTGGCGATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9325
+GGCCACTACGGTGGTGTACTGACGAAGGGAGGTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9326
+AGACAGCGAGAATAATACCTGTTACCAGCGGGGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9327
+TTAATCAGGCAAGGGATCTGGAACTGGGCGATGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9328
+CAAAATCCAGCTTCAGCATCTCATCAATTTCAGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9329
+ACTATCATGACGGACAAATTGACCTCCCTTCGTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9330
+AAACCAGTCAGTTGCTCTGGTTTGGTCAGCCGATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9331
+CTGCCAGTCATGAAAGCGAGCGGCGTTGATACCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9332
+TGAAAGATCACAATGAGCAGGTCAGCTTTGCGCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9333
+GAAGGACGCTGAGGGTAACGTTGTGGTGCACGGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9334
+GCCACGATGATCATTGTGCTTGTTATGGCGCGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9335
+CAACCAGGATCCAATGGCAGTAGATAAACTGGCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9336
+CGCCACCGACGCCAATCACAAACACTTCGATAACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9337
+AGACTCCTAACTTCCATGGGAGGGTACGTAGCAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9338
+AGTTGCCACATCAGCGGAAAACTTAACAAGGTGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9339
+CCGTTATGGGTCGATATCCGGAGATTACGCGATGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9340
+AAACTCTGCGGGCAGCACAGGTTCAATTTCAATAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9341
+GGCCTTCGCCACACGCGCGGCAAAGAGATCGTCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9342
+AATTCTGGCGTTTAAAGGTGATGTCTACACTGGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9343
+AAGTCTCGACGGCAGAAGCCAGGGCTATTTTACCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9344
+AAGTAAGAAAGCTCCATCGCTTCCTGATAGGACAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9345
+AAACAACATTATGAATGGCGAGGCAATCGCTGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9346
+GTGCGCTATGCCTATATTGGTTAAAGTATTTAGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9347
+AGCTGCCGCTGCCGCGTTTGGCGTCGACCCCATTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9348
+TGTACATTGGTGAGCAGTGCCTTCGAGTTAGCAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9349
+GCAGCATTCAGACCGAAGAGTGCAAGACGCGAAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9350
+TACGCTCATTGGTGCCAGCCGTGATGAAGACGAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9351
+CTAACTTCGCGTCTTGCACTCTTCGGTCTGAATGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9352
+TTTCCGTGGTGCTGATTACGCAATCATCTTCCGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9353
+CGGCTGGCACCAATGAGCGTACCTGGTGCTTGGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9354
+AGACATCACCTTTAAACGCCAGAATTGCCTGGCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9355
+TATTCCGGAATCTGCGCTGCGTTAAGAATGAGAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9356
+AATTTCAATATCCGCCAGCTCCAGTTCACGTCCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9357
+GGCCGCCAGCACCGCAGCGGAGTAGTCGGAACCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9358
+AGGGTTCAGCGATAACATCTTTCATCAGCTTCGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9359
+TCACCCCCGCACCATTACCCCCATCGCCCAGTTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9360
+TATCAAGCCAGTGTTCCTCGATGAGAAGAACGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9361
+CCCTTTCATCCCCGGGCCGGAAACGCTGAACATTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9362
+TCTTTAAACAGCTTGTTAGGGGGATGTAACCGGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9363
+AGAATGCCCGCCAGGCAATTCTGGCGTTTAAAGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9364
+TCATCCCCGGGCCGGAAACGCTGAACATTGCCATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9365
+GGCCCGACTTTGTTCGCTCTGTGTGACAAGCCGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9366
+GCAAAGACAGCGAGAATAATACCTGTTACCAGCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9367
+CTGGAGCAACTGAAGCGTCAGCAAAGCTGGTTGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9368
+CCTTCTTTTTCCAGCTGTTCTGCAGCACGGATACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9369
+ATGAGCAGGCGATCATCGAGCAAACGTTGTGTGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9370
+TCCACGTTGTTACGCCGAACAAAAAGGCCAACACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9371
+ATCACCAACAAGCTGAACGAGGCGCTCGCAGCACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9372
+ATGAGCAAAAAGACGGCGAACAGAACGCCCATCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9373
+ACCAGAGCAACTGACTGGTTTTAATAGCGAAGGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9374
+CAATGGGCAGTTTCGTGGCGGACCGGCATGGTATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9375
+ACATTATGAATGGCGAGGCAATCGCTGGCACCCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9376
+TACGGTACGCTGGCAAAAATACCGTGCACCACAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9377
+AGACACGTAAGTCGATATGTTTATTCTTCAACCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9378
+TGAGGTTAAACCGCCTGGCTGTGGATGAATGCTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9379
+CTGCGGGTTGCCGATATTCTGGAAAGCAATGCCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9380
+TGGAGAAAGCTGGCGACCGATCTCCGGATAACGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9381
+GAGCGGCAGTGGCTCATGCTTTCTACGGTTTACCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9382
+ACCTGCAAAATCAGGAAGGTTTTGTTCATATTTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9383
+GAAAAAGGAGAAATTCTCAATAAATGCGGTAACTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9384
+CAGAACCAGGGAAAGTGCGAGTACGATAGATTGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9385
+GAAAACACGGTGCCACGTTGTCGTAATGAATGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9386
+CGTGAGTTAAAAGAACTGGGCTATACCTCGGAGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9387
+CCAGTTGGTTGTCTCGGTACCGAGTGGAAACTTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9388
+TTCGCTTTCTTATATCTTCGGCAAGTTAGACGAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9389
+AACGTTGTGTGAACTGGTGGATGAAATGAGTTGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9390
+GACAACGTGGCACCGTGTTTTCTTGGTGGTATGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9391
+GCTTCATCAAAGAAGTAACCTTCGCTATTAAAACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9392
+CTCGTGGATAGAGGATAACCACTTTCACATTCGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9393
+ATAGCCCTGGCTTCTGCCGTCGAGACTTTAATCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9394
+GTATTGAACAGCATCTGATGAGTAACGCGCACGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9395
+CCGCCTGCCGCGCCTGCCGGAAGCCTGGCAGTAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9396
+GGCATTTAAAGATTTCGGCGGTCGCTTTATGGCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9397
+GGAATCTGCGCTGCGTTAAGAATGAGAGAAGGGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9398
+ACGCCGCATCCGGCATAAACAAAGCGCACGTTGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9399
+TTCACTTTGAACAGCGGATCATTACCATCCACTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9400
+GCGGTCAGGATGCTTTACCCAATATCAGCGATGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9401
+CAACTGCCGTTCTCATCGCGTAATCTCCGGATATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9402
+GTAATTGCCAGCGCAACGCCGGCCAGGTTGCCGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9403
+TGGGTTACGGCTTGCGCAAAGCTGACCTGCTCATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9404
+CACTGGCTTGCAGGCCGAAACCTTCAGCGAAGACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9405
+ATCTCCCCAGAATTGATACAGATCTTTCCCTCGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9406
+GAAACTGTTGCCATCGACGGCGATTTCGATGCCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9407
+GCGCATCCGGCGAAATTTAAAGAGAGCGTGGAAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9408
+CCCGTCAGTAAAATTACAGATAGGCGATCGTGATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9409
+GCCAAGCTCCTGGCAAAAACGCTCCCAGCACTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9410
+GCATCATCAATCAACTTACGGTATTCCGGAATCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9411
+AGCCGTTGGCGGTGACGGAACGGCTGGCCATTATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9412
+GATGCTTTACCCAATATCAGCGATGCCGAACTTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9413
+GATATGGTGCGGGCAATGACGTTACAGCTGCCGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9414
+GCCGAAGAAATTGAATGCCGAGATTATCAAGCCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9415
+TCGTGAAAGAATATCATCTGCTGAACCCGGTCATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9416
+GTGACAAAATCCAGCTTCAGCATCTCATCAATTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9417
+TCCTGTGTAAACGTTACCAATTGTTTACGAAGTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9418
+GCGCCGCGACCACTGAACAGGCGCTGGAGCCTAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9419
+GGTTGTCTGGAATTGTTCCACGGGCCAACGCTGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9420
+TGGAACTGGGCGATGGGGGTAATGGTGCGGGGGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9421
+GGCGATGGGGGTAATGGTGCGGGGGTGAAGAACTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9422
+ATAACCACTTTCACATTCGGTAAACCGTAGAAAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9423
+ATCCATGAAACGCATTAGCACCACCATTACCACCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9424
+GTCAGAAGTTCGGCAAAAATAAGTTCGGCATCGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9425
+GAGCGTCGGGTTTGATGTGCTCGGGGCGGCGGTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9426
+TTCAGCGAAGACGATTTCGATTTTGCCCAACAGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9427
+AAATCAGGGGCTGTTTTTTCCGCACGACCTGCCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9428
+GCAGGGGCAGGTGGCCACCGTCCTCTCTGCCCCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9429
+CCGGGGATTAAAGTCTCGACGGCAGAAGCCAGGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9430
+ACCGTCGTGCAGGAAACGTGGTACGGTATCGTTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9431
+CGGTGCGATGGTCAGACGGTCGCAGCCTGCCAGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9432
+TAAGTTACCGCATTTATTGAGAATTTCTCCTTTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9433
+TTGGCAATATTGATGAAGATGGCGTCTGCCGCGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9434
+TTTAACTCACGCATTGTCTGTTGCGTGGTTTCATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9435
+TCGTGCGCCCGCCGTATCCAGCCGGCAAATATGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9436
+TGCACCATCAACAGGTGTCACCGCCGCCCCGAGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9437
+AATTGCCAGCGCAACGCCGGCCAGGTTGCCGCTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9438
+TCTCAAAAATAGACCAAATGACGTGGGGAAGTTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9439
+TTGATGTGCTCGGGGCGGCGGTGACACCTGTTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9440
+CGCCGTATCCAGCCGGCAAATATGAACAAAACCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9441
+TATCATTCTGCTTAACGAGACTGTTTAAACGGAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9442
+TCATTCTCTTTTTTTGCTAAAGTCGGCATAAATTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9443
+TTGTGCTGCCACAGGAACTCGGACTCAGTGATACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9444
+AAAATCTGCTCAATGCTGGTGATGAATTGATGAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9445
+CGCTAAGAAAGCACGCGGTCTGATGAGTCGTTTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9446
+TCGAAAAAAAAGCCCGCACTGTCAGGTGCGGGCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9447
+CCCTCTTATTGCCGGTCGCGATGACTTTCCTGTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9448
+CCGGCCAGGTTGCCGCTACCCACGCGCGCTGCAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9449
+AACAACGTGCGCTTTGTTTATGCCGGATGCGGCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9450
+TTCCAATGAGGCGGGAATGGGGTCGACGCCAAACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9451
+CGATACCGTACCACGTTTCCTGCACGACGGTCAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9452
+GTATCTCAACTGAAGTTGATGCGCGTCTTTCCTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9453
+TTTTCTTCGATCATCAACTGCATACCACCAAGAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9454
+GAAAACGCCCTGGCCTTCTATAGCCACTATTATCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9455
+TAAGTTAAGGATCAGCGCCTGTTTGCGAATCACCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9456
+GGGAGGTCAATTTGTCCGTCATGATAGTATTTCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9457
+CTTTGTAGTACTGGTAGATTTCAGATACAGAAACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9458
+ATGATATCACAAGGGCGAATTCTGCAGATATCCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9459
+GTTCTGCATTTGCCACTGATGTACCGCCGAACTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9460
+GCTGCCGTTGGTACTGCGCGGATATGGTGCGGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9461
+GCCGGTAAAATAGCCCTGGCTTCTGCCGTCGAGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9462
+CGATAAAAATGCCAATCATCTGGACAATTCCTTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9463
+TGCGTGGTTTCATCATCCACGGCTGCATAACCCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9464
+GCGATATCAACGCAGCGAATTGGGCCTCTAGATGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9465
+GGCACTTGCTGGCTGATGATGTCGTTTTCTTCGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9466
+GAATCTGCGCTGCGTTAAGAATGAGAGAAGGGTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9467
+AGACGGCTCCAGGTCCACCGGCGGTAATTGCCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9468
+TGCAAGGACTGGATATGCTGATTCTTATTTCACCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9469
+TCTTTTTCCAGCTGTTCTGCAGCACGGATACCCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9470
+CAACCGAAGTCTATTAAAGAGACGCTGGAAGGTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9471
+TGCGACCACTGGCGTGCGCGTTACTCATCAGATGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9472
+GATCCTTTCGCGTCAGGTGGGGGTGATTCGCAAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9473
+CTGGCAGAACGTGCTGATTTACCCTTGCTTTCGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9474
+GGAAACTTCGGCGATTTGACGGCGGGTCTGCTGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9475
+CTTATTTTTGCCGAACTTCTGACGGGACTCGCCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9476
+TAGCATTCATCCACAGCCAGGCGGTTTAACCTCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9477
+GATCAAACACCGGGCGCACGCCGAGTTTACGCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9478
+CGAGCTGAACGGGCAATGCAGGAAGAGTTCTACCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9479
+CACAACCAACCCTTCTCTCATTCTTAACGCAGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9480
+TTCATCACCAGCATTGAGCAGATTTTGCAGGTTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9481
+GGCAACTTCCCCACGTCATTTGGTCTATTTTTGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9482
+GTCAGTTGCTCTGGTTTGGTCAGCCGATTTTCAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9483
+GCCTGGGGGGATTTTTTTATTCGCTAACTTCGCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9484
+AGTGGTCACCCAAAGCGACTCAGGCGACGTTATCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9485
+CTGGATACGGCGGGCGCACGAGTACTGGAAAACTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9486
+TTAGGAGTCTGACATGGTTAAAGTTTATGCCCCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9487
+CCGTAAGTTGATTGATGATGCTGTCGCCTGGGCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9488
+CGGTAATCCAGCCCCAACGTTGGTGTCATAGAGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9489
+GTTTTCGCCATTTTTCACTTTGAACAGCGGATCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9490
+ACCAATGAGCGTACCTGGTGCTTGGGGATTTCCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9491
+AACGGATCAAACACCGGGCGCACGCCGAGTTTACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9492
+GCGTGAATGAAGCCTGCCAGATGTCGCCCGTGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9493
+GCGAAGGCCCGTGATGAAGGAAAAGTTTTGCGCTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9494
+GTTACCCGCCAGTAATATCAGCATGGCGCTTGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9495
+CGGCAGCTGCGTCCTGGCCTCCGCATCCGGCAGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9496
+GCTTCCGCACAAGCACGAGCCTGAGCGAAGGAGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9497
+GAGAACTTCATCAATTCATCACCAGCATTGAGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9498
+TCCTGTGTAAACGTTACCAATTGTTTACGAAGTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9499
+CTACTGCCATTGGATCCTGGTTGTGCTGCCACAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9500
+AGTGCGGGCTTTTTTTTCGACCAAAGGTAACGAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9501
+TTCTTTTCCAGAGTCATCGCCACTGGAATTTGCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9502
+ATTTGTTATTACTTTGAGGCTGTCGCACAGTTGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9503
+GCTGTTTAAAGAGAAATACTATCATGACGGACAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9504
+GCCCGGCTCATGCAGGGGTTTGTCCCGTTGATGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9505
+GATGAATTGATGAAGTTCTCCGGCATTCTTTCAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9506
+GCACTGTCAGGTGCGGGCTTTTTTCTGTGTTTCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9507
+CTAATTGTTAAGCTCCCCCCGCTCGAAGGGATAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9508
+CGACAGCCTCAAAGTAATAACAAATCTGCGCCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9509
+TCCACGCTCTCTTTAAATTTCGCCGGATGCGCGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9510
+CGCTGGAAGGTGTGAAGGACGCTGAGGGTAACGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9511
+TCTCTTCTTTTTACGCCTGAACAACCCTAAAGCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9512
+AGAATACGGCCAACAAACGGCGAGATCAGGAACAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9513
+TCTCCGCCAGCTCTTTCAGCAGTGCCGGTGCGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9514
+ATTCCGGCTGACCACATGGTGCTGATGGCTGGTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9515
+TTCCACCAGCCGTGGTCGCCCCAATGACCGCCATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9516
+CCCAATATCAGCGATGCCGAACTTATTTTTGCCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9517
+GATACGCCAGCACCCACAGCCACTCATCAAACCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9518
+TCTACACTGGCTTGCAGGCCGAAACCTTCAGCGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9519
+GCTTTCTACGGTTTACCGAATGTGAAAGTGGTTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9520
+AAGCCAGTTTGATCAGAATACGATCGTTGCTAATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9521
+GGATCGATAACGGTAACGTTGTGACCACGCGCTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9522
+ATGAAGAAAATATGGAGAAAAACGACAGGGAAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9523
+ATGGTTATGAAACCGTGGTTATGGGCGCAAGCTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9524
+CGGGCATTCTCAAGACGTATCCCCATTTCCAGACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9525
+CTGGCAGGAAGCTGCAGGCGGCGCGGCGGGATATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9526
+CGACTTACGTGTCTGCGGTGTTGCTAACTCGAAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9527
+CCGGCAGGTCGTGCGGAAAAAACAGCCCCTGATTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9528
+GCCGATCATTTTTTCCAGTTTTTCCTGGTCAACAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9529
+AATCCTGGCGGCGATACTGCGCCGGTAAAATAGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9530
+CCAGCGGCATGTAGGTTGTGCCGTTACCCGCCAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9531
+CGCAAGCCGTAACCCAGGGGTTAGGCAAAAATCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9532
+ATCGCTGAACCCTACCGTGAACGGTTACTGCCAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9533
+TCAAGAATACGGCCAACAAACGGCGAGATCAGGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9534
+AATATGGCTTGTTCCTCGGCACCGCGCATCCGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9535
+GGAAAACTGGCAGGAAGAACTGGCGCAAGCCAAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9536
+AAACGGAAAAATCTTGATGAATACTTTACGTATTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9537
+AGCCATATTCGCCTGGATTCAACTGGTCACGCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9538
+GGGCCATACGTTGAAACGGCACCGGAAGTGGTTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9539
+CCAGCTTTCTCCAGACGCGTGGGATGATGTTTCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9540
+CCGGCTTGTCACACAGAGCGAACAAAGTCGGGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9541
+CAATTACCGCCGGTGGACCTGGAGCCGTCTTCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9542
+CACTCTTTTTTTAATCCACACAGAGACATATTGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9543
+AGGAGAACAGCAGGGTCAGGTTACAGTTAATACCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9544
+GTTGGCAACGATGGAGCTGAAGGCAAACAGAATAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9545
+AATAGCCACGATTATCACGATCGCCTATCTGTAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9546
+ATCGCCGCCAGGATTGCATTGCGCACGGGCGACAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9547
+GCAACGGCGTTCGCCTGAACTCCGCTGAAAATTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9548
+CATAGCGCAAAACTTTTCCTTCATCACGGGCCTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9549
+GCTACCTCTTCTGAAACCTGTCTGTCACTCCCTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9550
+TTCTCATCGCGTAATCTCCGGATATCGACCCATAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9551
+TGGCAGGCTTCATTCACGCCTGCTATTCCCGTCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9552
+CTTATCCCTTCGAGCGGGGGGAGCTTAACAATTAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9553
+GGCGCGCGTCTTTGCAGCGATGTCACGCGCCCGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9554
+GGTAAAACGTTTTATTGCTGCGACCAACGTGAACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9555
+GGGGATGTAACCGGTCTGCCCTGATGATATCACAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9556
+GTTCTGCATTTGCCACTGATGTACCGCCGAACTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9557
+CTGCGGGGGCGTCAGTTTCCGCGCTTCATGGATCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9558
+CGGCACCGGAAGTGGTTGCAGCATTCAGACCGAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9559
+TGATAATCTCGGCATTCAATTTCTTCGGCTTCACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9560
+GTTCAGTGGTCGCGGCGCTGATGGCGATGAATGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9561
+TTTATTGACTTAGGTCACTAAATACTTTAACCAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9562
+CATTATGGCCTGCATGGCTATTACCAATTTGACCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9563
+GTTGCTGGAAGGGCCATACGTTGAAACGGCACCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9564
+GATGACAAACGCAAAACTGCCTGATGCGCTACGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9565
+AAAAATCTTGATGAATACTTTACGTATTGGCTTAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9566
+AAACTGCCTGATGCGCTACGCTTATCAGGCCTACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9567
+CGCCGAACAAAAAGGCCAACACCTCGTCGATGGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9568
+GCGGAAATCGGCGCGGTAGCGAGCGGTATCTCCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9569
+TTGGTGATGATATCTCCCCAGAATTGATACAGATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9570
+CCGTTACCTGTGGTAATGGTGATGGTGGTGGTAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9571
+TTTACGTTCGATAGCCCCTTCGCTCTCCGCCAGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9572
+GCGCCCGCTCGATTTAATGCAGCCTTATCGTCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9573
+TAGTCGGAACCGTTGCGTCCCAGAACCACCAGCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9574
+ACGCGCTATACGCTGCCGGAGCTGTTAGACAACGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9575
+CTGTTCTGCAGCACGGATACCCTGCCAGGTAGAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9576
+CTGATTTTGCCTCGTGGATAGAGGATAACCACTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9577
+TGCTCAATGCTGGTGATGAATTGATGAAGTTCTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9578
+GCAAGCTTCCGTAACATCGGCGAAATTCTGGAACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9579
+GGACTCAGTGATACGCGCCGGACGCGCTTTCACTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9580
+CCTGGCTTAAGGTATATCCCGCCGCGCCGCCTGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9581
+GACTGGATATGCTGATTCTTATTTCACCTGCGAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9582
+ACATCTTTCATCAGCTTCGCGGCAAGCTCAAGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9583
+TCGCGGTCCGCTACTGCCAGCGTCGCATCGGGCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9584
+CCGAGTGACTTCGCCAGCAGACCCGCCGTCAAATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9585
+ATGATTTACCTGCTTTTCGGCGCAGGTTGTTGGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9586
+TGCCGACTTCCTGCGCGAAGGTTTCCACGTTGTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9587
+GGGAGCGACCAGAACCAGGGAAAGTGCGAGTACGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9588
+GAGGTCAATTTGTCCGTCATGATAGTATTTCTCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9589
+AAAGAGAATGAGTTGATCGATAGTTGTGATTACTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9590
+GATGCCTTTATCCTGATAAACGCCGCTGGATGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9591
+CTGGAGAAAGCTGGCGACCGATCTCCGGATAACGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9592
+GCCGCATCCGGCATAAACAAAGCGCACGTTGTTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9593
+GGCTGATGATGTCGTTTTCTTCGATCATCAACTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9594
+ATCGAAGAAAACGACATCATCAGCCAGCAAGTGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9595
+TTAATTTACTCACGGCAGGTAACCAGTTCAGAAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9596
+CTAAAGCGATCTGGTGTCTGCGGATCTGCACCTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9597
+TTCTTATTTCACCTGCGAAAACGCTTGATTACCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9598
+CCATTACCCCCATCGCCCAGTTCCAGATCCCTTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9599
+GTTCACGGTAGGGTTCAGCGATAACATCTTTCATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9600
+TTCAGTCAGGCTGAATTCCGGCAGGTCGTGCGGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9601
+GAAGGTGCAGATCCGCAGACACCAGATCGCTTTAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9602
+CATCGAAATCGCCGTCGATGGCAACAGTTTCGATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9603
+TGGTATGAACCACAGGCGAGAGCAGTAATATGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9604
+GATTCAGCAATATCAACGGTAGATTCGAGGTAATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9605
+GGCAGTAGCGGACCGCGAGATGCCAGGCTTTGGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9606
+GATATTGCCGCCCAATGTACAGAACAGTTTTTCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9607
+CCAGTTTGTCGCTGATGCGCATCAGGGAGCTAATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9608
+GGAGTAGTCGGAACCGTTGCGTCCCAGAACCACCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9609
+ATCGCGCATCCAGCGGCGTTTATCAGGATAAAGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9610
+CCACGACAGAGATTGAGCGTTCAGAAGATCCCTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9611
+TTCATTACCGGCAGTGAAACCAGCCATCAGCACCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9612
+ACGCCGAACAAAAAGGCCAACACCTCGTCGATGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9613
+GCGCACGATAAGCTACGGCAGCGTGCGGCTCCGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9614
+CCGTTTGAACTGGAAACCCGCTTAATCCCCGATGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9615
+GCCCGTTATGGGTCGATATCCGGAGATTACGCGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9616
+GCGCTCGCAGCACAAGGCGATAATGTGGTGATAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9617
+TTACTCATCAGATGCTGTTCAATACCGATCAGGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9618
+TTTAACCAATATAGGCATAGCGCACAGACAGATAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9619
+TACTCCTTTTATCATTGCCCGTTATGGGTCGATAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9620
+CGCAGTGCGAAGATCCTCTCGGCGTTTATTGGTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9621
+TCAGGGCTCGCGCAACGGCGTTCGCCTGAACTCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9622
+CGCAAGGAATTGTCCAGATGATTGGCATTTTTATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9623
+CTCGTGCTTGTGCGGAAGCGGGCGTGTTCCTGATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9624
+CTGCTCATCGGGGATTAAGCGGGTTTCCAGTTCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9625
+AATCCATCGACGAGGTGTTGGCCTTTTTGTTCGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9626
+GGCGCGGCAGGCGGTTGCGGAAATCGGCGCGGTAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9627
+TTTGATGAAGCTTCCTCCAGCAATGGCGAACTGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9628
+CTACGCCAGCGTAAACTCGGCGTGCGCCCGGTGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9629
+GAAACCGTGGTTATGGGCGCAAGCTTCCGTAACAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9630
+GCGTTGCGTAAATTGATGATGAATCATCAGTAACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9631
+ATCACACTGGCGGCCGCTCGAGCATGCATCTAGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9632
+CACGGATACCCTGCCAGGTAGAAGCCAGTTTGATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9633
+AACAAAACCTTCCTGATTTTGCAGGTAGTTCTTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9634
+GTTGATGCTATCCGGGCACTGCCCCAACAAACTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9635
+AGCCTTATCGTCTGGAAATGGGGATACGTCTTGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9636
+GCAAATTCAATATATTGCAAGAAGATCGTAGGCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9637
+TTTCCACCAGCCGTGGTCGCCCCAATGACCGCCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9638
+CCACCTGACGCGAAAGGATCGCAGTTGGTACAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9639
+GTGTTTATACCTGCGATCCGCGTCAGGTGCCCGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9640
+AATGAGAGAAGGGTTGGTTGTGGCATCCTGCGGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9641
+GCCTTCGCCACACGCGCGGCAAAGAGATCGTCGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9642
+TTCTCGCTCGTGAAACGGGACGTGAACTGGAGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9643
+CAGGCGAACGCCGTTGCGCGAGCCCTGAGTTTTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9644
+CCCAAGCACCAGGTACGCTCATTGGTGCCAGCCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9645
+AATGAGCAGGTCAGCTTTGCGCAAGCCGTAACCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9646
+TAAACAGTCTCGTTAAGCAGAATGATACACTGCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9647
+ACCGGCGCAGTATCGCCGCCAGGATTGCATTGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9648
+AGGAGAAAAAATCTGGCATGCATATCCCTCTTATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9649
+ACCATATCCGCGCAGTACCAACGGCAGCGGCTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9650
+GGTCAGGTTACAGTTAATACCTTCTTTTTCCAGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9651
+TGTTCCTCGATGAGAAGAACGGCAAATTTAAGATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9652
+GGATGTTAGCCAGCCAAACAACTGGCCGCGTGTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9653
+TTGCCGCGCTGGCCCGCGCCAATATCAACATTGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9654
+AACGGCTCCAGTAAGCCTTCTTTCAGTTCCAGGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9655
+GCAACTCATTTCATCCACCAGTTCACACAACGTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9656
+CACGTTGTTACGCCGAACAAAAAGGCCAACACCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9657
+GTGCGAGCTGAACGGGCAATGCAGGAAGAGTTCTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9658
+GCCGCTGCCGTTGGTACTGCGCGGATATGGTGCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9659
+CTATTGATTCTCGCTCGTGAAACGGGACGTGAACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9660
+GCCAGCGCAACGCCGGCCAGGTTGCCGCTACCCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9661
+CTCCAGACGCGTGGGATGATGTTTCGCAGGAGTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9662
+CTGACAGGCATCGAAATCGCCGTCGATGGCAACAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9663
+CGGTAGATTCGAGGTAATGACCCACTGCCAGCAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9664
+TGCTGCGAGCGCCTCGTTCAGCTTGTTGGTGATGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9665
+ATCCCCGGATACGCCAGCACCCACAGCCACTCATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9666
+ACCTGCATCGTTGTAGAGTTTGATCAGGCGTTTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9667
+CGCCGCTGGATGCGCGATCAGAGATGGAAACTAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9668
+ACCTGTTGATGGTGCATTGCTCGGAGATGTAGTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9669
+TTCTTACCCAACCAGTCGGCAACGCGCTGGGCGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9670
+TGGCGGGCATTCTCCGGTGTGAAATTTGGCTGCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9671
+ACCGCCGAAATCTTTAAATGCCAGCGTTGGCCCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9672
+ATCCAGAAGACGGCTCCAGGTCCACCGGCGGTAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9673
+TCACGATCGCCTATCTGTAATTTTACTGACGGGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9674
+TGGCACAATTGAAAACTTTCGTCGACCAGGAATTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9675
+AGTTCGGCATCGCTGATATTGGGTAAAGCATCCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9676
+AAACGCATTAGCACCACCATTACCACCACCATCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9677
+GACTGAAATGAGGTTAAACCGCCTGGCTGTGGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9678
+TGGCTTGATAATCTCGGCATTCAATTTCTTCGGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9679
+ATAAAGGCATCCCTGCGCTGGAAGAATGGCTGACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9680
+GATGCTGTCGCCTGGGCGAAACAGCAGAGCAACGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9681
+TCACCTTTAAACGCCAGAATTGCCTGGCGGGCATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9682
+TCGCTGCGTTGATATCGCCCGCCATTTTTATACGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9683
+TGATCCATGAAGCGCGGAAACTGACGCCCCCGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9684
+GGAACTGGCAGGCTGCGACCGTCTGACCATCGCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9685
+CCGAGATCCCACGTAAGGTGCGCATACCATCACCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9686
+TTAAACGGAAAAATCTTGATGAATACTTTACGTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9687
+CACTGCGGCAAGCCGCTTAATGACACTCGTTTGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9688
+TCTGTTCGCCGTCTTTTTGCTCATCGCCTACGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9689
+AGTATGTTTTCCAATGAGGCGGGAATGGGGTCGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9690
+ACAGCTCGACGATCTCTTTGCCGCGCGTGTGGCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9691
+TGGCGGAGAGCGAAGGGGCTATCGAACGTAAACTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9692
+TCCGCAACCGCCTGCCGCGCCTGCCGGAAGCCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9693
+AAATTCAATATATTGCAAGAAGATCGTAGGCCTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9694
+TGCCAAACTGGCGGATGTAGCGAAACTGCACAAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9695
+GCGTAAACAGGCCGCCAGCACCGCAGCGGAGTAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9696
+TGATGATATCACAAGGGCGAATTCTGCAGATATCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9697
+AACCTGTCTGTCACTCCCTTCGCAGTGTATCATTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9698
+AATATGGAGAAAAACGACAGGGAAAAAGGAGAAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9699
+CGCAAACAGGCGCTGATCCTTAACTTACCCGGTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9700
+ACCCATAACGGGCAATGATAAAAGGAGTAACCTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9701
+GGAAAGTGCGAGTACGATAGATTGCATCTTTTTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9702
+ATCCGCAGACACCAGATCGCTTTAGGGTTGTTCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9703
+GAATGTTCCCTCGCACAGCTTTATAAAGAACGTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9704
+CTGCATTTTGTACCAACTGCGATCCTTTCGCGTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9705
+GTATCTCAACTGAAGTTGATGCGCGTCTTTCCTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9706
+GCGGCTCCGAGGTATAGCCCAGTTCTTTTAACTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9707
+CCCATCCAGCGCATCCCCAGCCCGCGCGCCATATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9708
+GCGAGAGCAGTAATATGGCGGTCAAATTGGTAATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9709
+CGCGCTCTTCCAGGATTTCCTGCGGGATTTCATCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9710
+ATGTCAGACTCCTAACTTCCATGGGAGGGTACGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9711
+CTGGAATTTGCTTGCCAAGCTCCTGGCAAAAACGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9712
+ACTCTTCCACACGCGGCCAGTTGTTTGGCTGGCTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9713
+AGGGCGTATCTCCGGCAGCATTCATTACGACAACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9714
+ACCTGTGGTAATGGTGATGGTGGTGGTAATGGTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9715
+CTTATCCCTTCGAGCGGGGGGAGCTTAACAATTAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9716
+CCGAGAGGATCTTCGCACTGCGGGTGACAAAATCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9717
+ACGCCGCTCGCTTTCATGACTGGCAGCCAAATTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9718
+CAACGGGCTTTGGTAATCAAGCGTTTTCGCAGGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9719
+CGCGCCGATTGTTGCGAGATCTGGACGGATGTTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9720
+ACTCGGTCTGCCGGTAAAACGTTTTATTGCTGCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9721
+GTACAGAACAGTTTTTCTTGCAGTGGACTGATTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9722
+CAGGGCCAGTTCCGCCCGTGGTGAGCACCAGATGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9723
+TTTTTCTGTGTTTCCTGTACGCGTCAGCCCGCACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9724
+ATTGACCACGACAGAGATTGAGCGTTCAGAAGATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9725
+GATATTTTCCCGTGGCTCTGACGGCAGCTTATCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9726
+TGGTGGAAACAACATTATGAATGGCGAGGCAATCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9727
+GATCTCGGCGAAATTCTTTGCCGCGCTGGCCCGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9728
+GGTGGATTCAGCAATATCAACGGTAGATTCGAGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9729
+CAAATTTCACACCGGAGAATGCCCGCCAGGCAATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9730
+GTACGCGTCAGCCCGCACCGTTACCTGTGGTAATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9731
+TCCCATGGAAGTTAGGAGTCTGACATGGTTAAAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9732
+CAGCATTTGTGCCATAAAGCGACCGCCGAAATCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9733
+TGATCTTTCAGATTGTAGAGTTTCATTTAGTTTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9734
+TGCGCTGCCATGGGAGCGACCAGAACCAGGGAAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9735
+GGCCCGTGATGAAGGAAAAGTTTTGCGCTATGTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9736
+CAGGAACCCATTAGCACCCGCATCGCCTTCTGGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9737
+TGATAGTATTTCTCTTTAAACAGCTTGTTAGGGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9738
+AGACAATGCGTGAGTTAAAAGAACTGGGCTATACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9739
+AGCTGTTCTGCAGCACGGATACCCTGCCAGGTAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9740
+CGATCTCTTTGCCGCGCGTGTGGCGAAGGCCCGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9741
+TAACCGTTCACGGTAGGGTTCAGCGATAACATCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9742
+AAAAATTACAGAGTACACAACATCCATGAAACGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9743
+GGCGCTGGTGAAGCAGGCGTTTGATGATGAAGAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9744
+TCGACGATCTCTTTGCCGCGCGTGTGGCGAAGGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9745
+TGGACGCGACCGACAAACTGGCAGTAAATATTGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9746
+TATCCTGATAAACGCCGCTGGATGCGCGATCAGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9747
+TGTTGGTGATGATATCTCCCCAGAATTGATACAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9748
+GCCGGTGTCTTTGCTGATCTGCTACGTACCCTCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9749
+CTAATTGTTAAGCTCCCCCCGCTCGAAGGGATAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9750
+GCATCAACGCTGCGCTGATTTGCCGTGGCGAGAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9751
+CATGCCGCTGGAAGGTATTCAGCTTATCCAGAAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9752
+AGAAGTAACCTTCGCTATTAAAACCAGTCAGTTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9753
+TCTTTCAGATTGTAGAGTTTCATTTAGTTTTCCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9754
+CAGCACCCACAGCCACTCATCAAACCCTGGCACTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9755
+GCGACGCTGGCAGTAGCGGACCGCGAGATGCCAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9756
+TTTATGCCCCGGCTTCCAGTGCCAATATGAGCGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9757
+TAGCAGCTTCTGAACTGGTTACCTGCCGTGAGTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9758
+AAAGTGGCGCTGGGGCTGAATTCTGCTAACTCCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9759
+ATGGTTGTTACCTCGTTACCTTTGGTCGAAAAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9760
+CCCGCACCATTACCCCCATCGCCCAGTTCCAGATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9761
+ACAAACGGCGAGATCAGGAACACGCCCGCTTCCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9762
+ATGTCGCCGCTTTTATGGCGAATCTGTCACAGCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9763
+TCCACACAGAGACATATTGCCCGTTGCAGTCAGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9764
+TCAGGATGCTTTACCCAATATCAGCGATGCCGAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9765
+CTTTCCCTCGGGCATTCTCAAGACGTATCCCCATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9766
+GCAATCTATCGTACTCGCACTTTCCCTGGTTCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9767
+AAAAAAAGCCGGGCTGCATAAAAGCAAACCCGGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9768
+TTATGGCACAAATGCTGACCCATATTGCGGGCGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9769
+GCAGCGCGCGTGGGTAGCGGCAACCTGGCCGGCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9770
+GAAAACTAAATGAAACTCTACAATCTGAAAGATCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9771
+TGCGCCAGATCAGCCTGCATTTTGTACCAACTGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9772
+AGCAAAGACACCGGCAGCTGTAACGTCATTGCCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9773
+CACATTATCGCCTTGTGCTGCGAGCGCCTCGTTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9774
+GAAATCCTGGAAGAGCGCGTACGTGCGGCGTTTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9775
+CTGATAAACGATATTTTCCCGTGGCTCTGACGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9776
+CTGTGCGAGGGAACATTCGGCAAACGAGGTCGCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9777
+CGTAAGTCGATATGTTTATTCTTCAACCAGCTTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9778
+CAAAGAGATCGTCGAGCTGTGACAGATTCGCCATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9779
+ACTGTTGCCATCGACGGCGATTTCGATGCCTGTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9780
+GTCGCAGCAATAAAACGTTTTACCGGCAGACCGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9781
+CCGAACTTATTTTTGCCGAACTTCTGACGGGACTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9782
+TGGTTTGGTCAGCCGATTTTCAATAATGAAACGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9783
+TCGACGCCAAACGCGGCAGCGGCAGCTGCGTCCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9784
+ACATTTTCTCGCCACGGCAAATCAGCGCAGCGTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9785
+TGCTTTTGGCTGGCAGGAAGCTGCAGGCGGCGCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9786
+GCAGATTTGTTATTACTTTGAGGCTGTCGCACAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9787
+AACAAAACCTTCCTGATTTTGCAGGTAGTTCTTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9788
+CAGTTTGTCGCTGATGCGCATCAGGGAGCTAATCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9789
+GCCGAACTTATTTTTGCCGAACTTCTGACGGGACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9790
+AAATATTGGTCTGGAAATCCTGAAACTGGTTCCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9791
+CGCACCTTACGTGGGATCTCGGCGAAATTCTTTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9792
+CCTTCTTTCAGTTCCAGGTAGAACTCTTCCTGCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9793
+GGAGAACAGCAGGGTCAGGTTACAGTTAATACCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9794
+ATCCCTCTTATTGCCGGTCGCGATGACTTTCCTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9795
+TGAAGGACGCTGAGGGTAACGTTGTGGTGCACGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9796
+AGTGTTCCTCGATGAGAAGAACGGCAAATTTAAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9797
+TACGATCGTTGCTAATACCTGCATCGTTGTAGAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9798
+CATCAGTTGCGTTATGCGGCGGAAAAATCGCGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9799
+GCTTGGGGATTTCCGGTATTTTTAATCAGGCAAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9800
+CATCCCACGCGTCTGGAGAAAGCTGGCGACCGATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9801
+TATGCCGGATGCGGCGTGAACGCCTTATCCGGCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9802
+AGACGAATTACCGGTCAAGGGCATTTCCAATCTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9803
+CAGTTTGTTGGGGCAGTGCCCGGATAGCATCAACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9804
+GCGCTGGAGCCTAAGCCCGAACCGATCGGCATATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9805
+GCGTACAGGAAACACAGAAAAAAGCCCGCACCTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9806
+GACTTCAACAACCTCGCATCGGGCACCTGACGCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9807
+AATATGTCTCTGTGTGGATTAAAAAAAGAGTGTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9808
+CTCTTATTGCCGGTCGCGATGACTTTCCTGTGTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9809
+GTTAAGCAGAATGATACACTGCGAAGGGAGTGACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9810
+CATGCTTTCTACGGTTTACCGAATGTGAAAGTGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9811
+GTTGGTTGTCTCGGTACCGAGTGGAAACTTCGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9812
+CGTATCACTGAGTCCGAGTTCCTGTGGCAGCACAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9813
+AATACGGGCGCGTGACATCGCTGCAAAGACGCGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9814
+TGGGCTATACCTCGGAGCCGCACGCTGCCGTAGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9815
+ATTTGACCGCCATATTACTGCTCTCGCCTGTGGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9816
+GAAAGATGTTATCGCTGAACCCTACCGTGAACGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9817
+GCTTTCTTACTTCGGCGCTAAAGTTCTTCACCCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9818
+TGCAACGGGCAATATGTCTCTGTGTGGATTAAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9819
+GGCTTGTTCCTCGGCACCGCGCATCCGGCGAAATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9820
+GGCGCTAACCACGCCGTTTGAACTGGAAACCCGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9821
+CAGAGCGAACAAAGTCGGGCCGGAGCCGGAGATAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9822
+AGTCTATTAAAGAGACGCTGGAAGGTGTGAAGGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9823
+AATCTTGATGAATACTTTACGTATTGGCTTAGTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9824
+GTTAATACCTTCTTTTTCCAGCTGTTCTGCAGCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9825
+CGCGTCAGGTGGGGGTGATTCGCAAACAGGCGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9826
+ACCGTTCACGGTAGGGTTCAGCGATAACATCTTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9827
+CGCCATTTTTCACTTTGAACAGCGGATCATTACCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9828
+GACGCTGAGGGTAACGTTGTGGTGCACGGTATTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9829
+CTGATGCGCATCAGGGAGCTAATCTGCGGGGGCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9830
+CAATCCGGCATTGATATTTAGCGATGATGTTTGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9831
+TAACCCAGCTCTTTCAGTTGCCAGATTTTGCGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9832
+AAACGCTACGAACAACGTTAAGTTTGTAGTCAATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9833
+TGTTTCGCAGGAGTAATCACAACTATCGATCAACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9834
+TTCATCACCAATAAACGCCGAGAGGATCTTCGCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9835
+TTCGGAAGATGATTGCGTAATCAGCACCACGGAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9836
+TCATTGCCCGCACCATATCCGCGCAGTACCAACGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9837
+GGATGCGGCGTGAACGCCTTATCCGGCCTACAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9838
+CGTGGAAGCGATTCTCGGTGAAACGTTGGATCTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9839
+CGAATCTGTCACAGCTCGACGATCTCTTTGCCGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9840
+AAAAAACAGCCCCTGATTTTTGCCTAACCCCTGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9841
+CGGGCCTTCGCCACACGCGCGGCAAAGAGATCGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9842
+TCTGAAATCTACCAGTACTACAAAGAGCATGGTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9843
+CGAAATCGTCTTCGCTGAAGGTTTCGGCCTGCAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9844
+AGTCGATATGTTTATTCTTCAACCAGCTTTGCTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9845
+TTCCTGCCAGTTTTCCAGATTAAGGCCATGTACAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9846
+ACGCGCCCGTATTTCCGTGGTGCTGATTACGCAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9847
+ATACCTTCCGCCAGTTTATCTACTGCCATTGGATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9848
+CAATCAGGCCGGGTTTGCTTTTATGCAGCCCGGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9849
+ACCGTCTGACCATCGCACCGGCACTGCTGAAAGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9850
+AAGGTGCCGCCGATGACCGTTGCGAAGGTGCAGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9851
+CAAACTCTACAACGATGCAGGTATTAGCAACGATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9852
+ACAGGAAAGTCATCGCGACCGGCAATAAGAGGGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9853
+AAATCTGCGCCAGCAAGCGACTGATGTTGATGGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9854
+AAACTGCCCATTGGCATCACGTTCTTTATAAAGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9855
+AGTTTGTCGCTGATGCGCATCAGGGAGCTAATCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9856
+CGCACTTTCCCTGGTTCTGGTCGCTCCCATGGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9857
+TTATTCAGATTGGAAATGCCCTTGACCGGTAATTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9858
+ATCCATGAAACGCATTAGCACCACCATTACCACCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9859
+TACCTGGAACTGAAAGAAGGCTTACTGGAGCCGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9860
+CTGTATCAATTCTGGGGAGATATCATCACCAACAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9861
+ATCTGCCACAGCCTGGCTGGAAGTACAGTCAACAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9862
+CCGCGCTTCATGGATCAGCTGCTGGGCGTTGTCTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9863
+GGTTTACCGAATGTGAAAGTGGTTATCCTCTATCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9864
+AACTATCGATCAACTCATTCTCTTTTTTTGCTAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9865
+ACAGGCGAGAGCAGTAATATGGCGGTCAAATTGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9866
+ACTTACCCGGTCAACCGAAGTCTATTAAAGAGACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9867
+GAAAAACGACAGGGAAAAAGGAGAAATTCTCAATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9868
+GCTCAAGCTGACGGGAATAGCAGGCGTGAATGAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9869
+GAACCACAGGCGAGAGCAGTAATATGGCGGTCAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9870
+TACCAACGGCAGCGGCTGATAATAGTGGCTATAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9871
+GATTGGAAATGCCCTTGACCGGTAATTCGTCTTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9872
+AGCGTCCTTTGGGGATCGGTAATGATTTACCTGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9873
+AACAACTGGCCGCGTGTGGAAGAGTTGTTCCGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9874
+GGGGGGATTTTTTTATTCGCTAACTTCGCGTCTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9875
+GATAAACTGGCGGAAGGTATCCGTAAGTTTGCTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9876
+GCATCTCGCGGTCCGCTACTGCCAGCGTCGCATCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9877
+GTCAGCCATTCTTCCAGCGCAGGGATGCCTTTATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9878
+CGCGCAGCAGATCGTGGACGCGACCGACAAACTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9879
+TTTTGCCAGCGTACCGTACTGCATTCAGTTGCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9880
+TGCCCCGGCTTCCAGTGCCAATATGAGCGTCGGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9881
+CAGAAGGCGATGCGGGTGCTAATGGGTTCCTGGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9882
+GTTGCCGCTACCCACGCGCGCTGCAAGACTGGTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9883
+GCGGCAGACGCCATCTTCATCAATATTGCCAACAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9884
+GACTTTTGCCAAACTGGCGGATGTAGCGAAACTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9885
+AGTTGCCAGATTTTGCGGCGGAACAACTCTTCCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9886
+TCAACCGCAGGATGCCACAACCAACCCTTCTCTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9887
+CATCGGGCACCTGACGCGGATCGCAGGTATAAACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9888
+TGATGAAACCACGCAACAGACAATGCGTGAGTTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9889
+CACCAGATCGCTTTAGGGTTGTTCAGGCGTAAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9890
+AAAGCTGGTTGAAGAATAAACATATCGACTTACGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9891
+CATTGCCAGTGATTATCTACGCCAGCGTAAACTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9892
+CTGGTGCTCACCACGGGCGGAACTGGCCCTGCGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9893
+CATACAAGCCGGAAAGCATTCGCAAATGCTGTTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9894
+GAGCCGTTTAATCTCGGGCGCTTAATTCGCCTCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9895
+AACTGCCGTTCTCATCGCGTAATCTCCGGATATCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9896
+CAGGCGACAGCATCATCAATCAACTTACGGTATTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9897
+TGCCGGAAGCCTGGCAGTAACCGTTCACGGTAGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9898
+ATTGGTAATAGCCATGCAGGCCATAATGATATCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9899
+GTTGTGGTGCACGGTATTTTTGCCAGCGTACCGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9900
+GGTAGGTGATGGTATGCGCACCTTACGTGGGATCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9901
+CGATGAGCAAAAAGACGGCGAACAGAACGCCCATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9902
+TATGGCCTGCATGGCTATTACCAATTTGACCGCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9903
+ATAGAGGAATTTACGCCGCGATTTTTCCGCCGCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9904
+TCACCGGATGTCGCGGTCAGAATGGTCACTGGCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9905
+ATTAGCAACGATCGTATTCTGATCAAACTGGCTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9906
+CCGCATTCCGGCTGACCACATGGTGCTGATGGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9907
+GAGCTAATCTGCGGGGGCGTCAGTTTCCGCGCTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9908
+GAACGGTTACTGCCAGGCTTCCGGCAGGCGCGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9909
+GCTTCTAACACGCCGGCCATAATGGCGATCGACAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9910
+CCAAGTACCTCGTAGCGTTATATACTTCGTAAACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9911
+ATTGCCAGTGATTATCTACGCCAGCGTAAACTCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9912
+CTCGCCGCCGCCCAGCCGGGATTTCCGCTGGCACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9913
+TCCTATGACACCGAAGCGTCAATTGCGAAAGCAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9914
+CGGATATTGAAATTGAACCTGTGCTGCCCGCAGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9915
+CCGATCCCCAAAGGACGCTGTTAATAAAGGAGAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9916
+TTGCGCCCATAACCACGGTTTCATAACCATGCTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9917
+AGATTGTAGAGTTTCATTTAGTTTTCCAGTACTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9918
+GCCGACTGGTTGGGTAAGAACTACCTGCAAAATCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9919
+TCATCAGCTTCTACGCTAAGAAAGCACGCGGTCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9920
+TCAACATCCGTCCAGATCTCGCAACAATCGGCGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9921
+GAATCAGCATATCCAGTCCTTGCAGGAAATTTATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9922
+GTAGCGTTTAAACACCAGTTCGCCATTGCTGGAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9923
+GATGCGCGGTGCCGAGGAACAAGCCATATTCGCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9924
+AGCCGCACGCTGCCGTAGCTTATCGTGCGCTGCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9925
+GGCTGACCACATGGTGCTGATGGCTGGTTTCACTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9926
+TTTGGGGATCGGTAATGATTTACCTGCTTTTCGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9927
+CTTTGCCGCGCTGGCCCGCGCCAATATCAACATTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9928
+GAAAGATCACAATGAGCAGGTCAGCTTTGCGCAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9929
+CTGCTCACCAATGTACATGGCCTTAATCTGGAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9930
+ACCGTTGATATTGCTGAATCCACCCGCCGTATTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9931
+GCAACGGATCAAACACCGGGCGCACGCCGAGTTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9932
+AAGAGAGCGTGGAAGCGATTCTCGGTGAAACGTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9933
+CCAGGCGGTTTAACCTCATTTCAGTCATTGTGTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9934
+ACTGGTAGATTTCAGATACAGAAACCACGCCCGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9935
+GGTTGTGCTGCCACAGGAACTCGGACTCAGTGATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9936
+CGGGAAGGCAAACGCCGCACGTACGCGCTCTTCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9937
+CGATTTCGATGCCTGTCAGGCGCTGGTGAAGCAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9938
+GTTTACACAGGAAAGTCATCGCGACCGGCAATAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9939
+GTCTTTGCAGCGATGTCACGCGCCCGTATTTCCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9940
+CTCATCGCCTACGGCATAATTTTCAGCGGAGTTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9941
+TGATGGATATCTGCAGAATTCGCCCTTGTGATATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9942
+CGGTTCGGTATAACCCATTTCCCGCGCCAGTGTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9943
+CCTACGATCTTCTTGCAATATATTGAATTTGCACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9944
+GCAGTACGCCATACAAGCCGGAAAGCATTCGCAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9945
+ATGCGAAAGCAAGGGTAAATCAGCACGTTCTGCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9946
+AAACTGCACAAATCCGGTACGAAAAGTGAACCAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9947
+ATAAACTTTAACCATGTCAGACTCCTAACTTCCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9948
+GATGATGAAGAACTGAAAGTGGCGCTGGGGCTGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9949
+CAGCTTCAGCATCTCATCAATTTCAGTCAGGCTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9950
+TGACACCTGTTGATGGTGCATTGCTCGGAGATGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9951
+ATCGTGGCGATCATCGTCCGGGGCCTGACAAACAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9952
+CCGCCGTCAAATCGCCGAAGTTTCCACTCGGTACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9953
+AAAACTGGAAAAAATGATCGGCGATCTGCTGTAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9954
+AATGGCGACAATGTTGATATTGGCGCGGGCCAGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9955
+TAAACCGCCTGGCTGTGGATGAATGCTATTTTTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9956
+TACGCTAGTCCCGTCAGTAAAATTACAGATAGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9957
+GACCGCTAATGGTTTTTTCAATCATCGCTACCAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9958
+CTGTTCAATACCGATCAGGTTATCGAAGTGTTTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9959
+GAAATTTATGCCGACTTTAGCAAAAAAAGAGAATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9960
+GAACTGGGCTATACCTCGGAGCCGCACGCTGCCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9961
+CTGCATGAGCCGGGCGACGCCATGAAGACCGCGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9962
+GTCACGCTAAGTATGATTACAGCAGATCGCCGATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9963
+CAATAAGAGGGATATGCATGCCAGATTTTTTCTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9964
+GGATCGCAGTTGGTACAAAATGCAGGCTGATCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9965
+TCATATTGGCACTGGAAGCCGGGGCATAAACTTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9966
+ATGGCGATAATCTGGGTACTGACCAGCCTGGTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9967
+CCGGCATTATCCGGCATTGACTACAAACTTAACGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9968
+TACGTGCTTCTTGCGGCAACTGTGCGACAGCCTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9969
+ACGCCTGAACAACCCTAAAGCGATCTGGTGTCTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9970
+ACGCGCCCGTATTTCCGTGGTGCTGATTACGCAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9971
+ATCGCTGCAAAGACGCGCGCCGCCATGCCAACCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9972
+TCATATTGGCACTGGAAGCCGGGGCATAAACTTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9973
+GATGCGGAGGCCAGGACGCAGCTGCCGCTGCCGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9974
+CCTGATCAAACTCTACAACGATGCAGGTATTAGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9975
+GCGAAAGCAAGGGTAAATCAGCACGTTCTGCCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9976
+GATCTGGACGGATGTTGACGGTGTTTATACCTGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9977
+ATCAGTTGCGTTATGCGGCGGAAAAATCGCGGCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9978
+CGATTCTCGGTGAAACGTTGGATCTGCCAAAAGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9979
+CGTTGATACCCGCCAGTTTGTCGCTGATGCGCATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9980
+TATAAAAATGGCGGGCGATATCAACGCAGCGAATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9981
+GAGGGTAACAAACTCCGCACCCCAGGAACCCATTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9982
+CTTATCCCTTCGAGCGGGGGGAGCTTAACAATTAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9983
+CTGCCGGAGATACGCCCTTCCAACTCGCCCATCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9984
+TGAGTGGCTGTGGGTGCTGGCGTATCCGGGGATTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9985
+AGCGCCTGTTCAGTGGTCGCGGCGCTGATGGCGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9986
+ATTTCCGCTGGCACAATTGAAAACTTTCGTCGACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9987
+GCCGAAATCTTTAAATGCCAGCGTTGGCCCGTGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9988
+GAAGGAAAAGTTTTGCGCTATGTTGGCAATATTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9989
+GCAATATCGAAACTGTTGCCATCGACGGCGATTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9990
+GGGATATACCTTAAGCCAGGCGATTACTAACGGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9991
+GCGCTGCCGGATGCGGAGGCCAGGACGCAGCTGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9992
+CATCCGCCAGTTTGGCAAAAGTCTTAAAAATAGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9993
+ATTGCGGCAAGCCGCATTCCGGCTGACCACATGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9994
+ACCGACGCCAATCACAAACACTTCGATAACCTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9995
+ATCCTGGCGGCGATACTGCGCCGGTAAAATAGCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9996
+GCATGGATGTGGCGCGTAAGCTATTGATTCTCGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9997
+CACATCCAGAAGACGGCTCCAGGTCCACCGGCGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9998
+TTTCACAGGTTACTCCTTTTATCATTGCCCGTTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9999
+CCACTGAACAGGCGCTGGAGCCTAAGCCCGAACCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
diff --git a/reads/e_coli_1000_1.fa b/reads/e_coli_1000_1.fa
new file mode 100644 (file)
index 0000000..379979d
--- /dev/null
@@ -0,0 +1,2000 @@
+>r0/1
+TATTCTTCCGCATCCTTCATACTCCTGCCGGTCAG
+>r1/1
+TGATAGATCTCTTTTTTCGCGCCGACATCTACGCC
+>r2/1
+CACGCCCTTTGTAAGTGGACATCACGCCCTGAGCG
+>r3/1
+CGATGCAGATGCGTACCACCTGGACCAGGCCTTTC
+>r4/1
+TGACTTTGCTGGTGCCAGAAGTGGCGGCTGAAGTG
+>r5/1
+CGGGGATTTAGCTTCGCCTTTGGCGACAGCAGCCA
+>r6/1
+GCGTATACGGCGCTGACCCAGGCTTTTTATCTGTT
+>r7/1
+GTATCGCTGTTTTCCAGTTGTTCAAGATAAGAAAA
+>r8/1
+CCACGGTTGATGCTGGCATCGCTGATTGGTGCGTT
+>r9/1
+GCGCCTTAATGCGCTACTCCACCAGCAATTACGTA
+>r10/1
+CGCGGCAGCCTATGACGAATCCTACGCTGATACCC
+>r11/1
+TTATGAATGTAAGCAGCACGTACACCGTTACGTTC
+>r12/1
+TGCTCCGGCAGCGGCTGCTCCGGCGGCGCAACCGA
+>r13/1
+CGCCGGGAGTCTGTTATTCGTCAGCTATGAAATCT
+>r14/1
+GTAATTTGAGTAATGCCCACCAGTTCCATCACGAT
+>r15/1
+ACGGATTGGCCAGGGTTTCAAAATCCTGCGCCCAC
+>r16/1
+CTATTTCTTGTTGGAGCATGGTTATCCGCCGCAGG
+>r17/1
+TGTCGCCATCTTTAATGGCTGGCAGGTAATTTTGC
+>r18/1
+TCCGTAAATTCACCATGAAACTTGCCCGGATGCAG
+>r19/1
+GCAAGACTTTGCAGTGTCATCAGCGGATCGGTCAG
+>r20/1
+TCTTTATTTTTCCCAGAGCCTAACGACTTGCCATG
+>r21/1
+ATCGAGATATTTTATATACTGATTTTTTTATTATT
+>r22/1
+ATGACTCGCTCAACGTTCTGCTCGTTGATCTCGCC
+>r23/1
+ACTCAGTCTTGGGGGACTCAGCCCGGTAGAATACC
+>r24/1
+TCAAAGAGTGCTTGTTCGATACCGAACTGAAAGCG
+>r25/1
+GCCCTGTGCCGCGCTGCCGGAACGTACCCATTCGG
+>r26/1
+CGAGGAAGGACGTGGCGAGGGCTAAATCAGCAAAT
+>r27/1
+CCTGCCGTCGAAATTTGTTCGGAGATATCCGCCGC
+>r28/1
+GGAATATTTGCGATTTGCCATTTTCTCTCAAGAGT
+>r29/1
+GCTGCCGCCAGATGCCAGATAGCTCCGGTGCCTGA
+>r30/1
+GCAGAGAAAGGAACATCCTGACAACACCTTCCATC
+>r31/1
+AAGGGTATATCACCCAATGGATTGCCCTGCGCATC
+>r32/1
+CTATGAGAGCATGGTATGCTAGTTACTATCATATT
+>r33/1
+CAGCGGCTCGTTGAGCATACCGTCGCCGAGGTTTT
+>r34/1
+TCGGCAAGCGAAGTGAGTTTGTTTTTCTCTGCCAC
+>r35/1
+ATTCTTCCGCATAACTCACTATCCTTCTGTCATAT
+>r36/1
+TGAGCCATACGCGCAATTGCTGAGCATCCAGCGCA
+>r37/1
+ATAGCGCGTTACGCATGGGATATGAGGCGGTACAG
+>r38/1
+ATGATCGGTAACGCAAAAAGCCTCGCCCTGAGGAA
+>r39/1
+ACGCGCCAATCAGCACGCCTCCGACAAATCAAAAT
+>r40/1
+GCTACGGGGTGTACCTCTGACAGTAAATCCGGCTC
+>r41/1
+GCAGATCTGCTCGATGCTGGTTTCCGACAGCATAT
+>r42/1
+AACGCGCCCTGGCCGTTATGGATATGTTGCAGCGG
+>r43/1
+CCCTTCCAGACTGGCATGAGTAACAACGATATCCG
+>r44/1
+GAACTTAAGACCTCTTTTCTGAAGCTCACAATGGA
+>r45/1
+AGCAAAAGGCTTTTTCGCTATCGGTTTCACCGACC
+>r46/1
+GGTCTTTAAAACGAATTCAACCTCTGTAGTGACGT
+>r47/1
+AAAACCACTGGTGACGGGTTTCATAATGCCATCCA
+>r48/1
+TACCGATCATGCACTGTTTGATAAAGGCGCATATG
+>r49/1
+TTTTCAATAAAAGTAGTTATGTTTTTATCTTTTTG
+>r50/1
+AATGCTTTTTAGCTTATTTTTATTTGTCTCTATTA
+>r51/1
+CTCACTGAAACGTAACCCGTTCCACCCTTTCGCCA
+>r52/1
+GGTTATGCGATGACAATTGCGCTCACTATTGGCGT
+>r53/1
+ATCGCCCACCAGCGTTTTCAGCAGCGTTGATTTAC
+>r54/1
+CCGACCTGAATATCCGGATTGCGGATCACCTGGCT
+>r55/1
+CCCTTCTTCTACTGCGCGCGCCACTTTTTGCTCAA
+>r56/1
+TGGCGGCGAAAACGCGAATTACACCGGAAGATCTC
+>r57/1
+TGGCCTTGTAAAATGCGTCATAGGCGGGTGTGTGG
+>r58/1
+TTCCGGCAGAAGAACAGGTACGTATCCTGCGTAAA
+>r59/1
+TAACCGTCACAGCATTGGCTGCGGAAATTGCATCA
+>r60/1
+CATCGCCACGCAGTGGGCCAGAGCAGCTCTCGAAA
+>r61/1
+TGGTGGTGGTCGATAAGCTGACCTACGCCGGAAAC
+>r62/1
+AGCGCGGTTAGTTCGTTGCTGCAATATACAATGCT
+>r63/1
+GATTTGCCGAATATATTGTCGTTAAGCGAAACAAT
+>r64/1
+AGAAAGTACGTGAGTTGCTGCTGAGCAACCCGAAC
+>r65/1
+TAAACCGTTTGTGTGAAACAGGGGTGGCTTATGCC
+>r66/1
+AGGCCGATACCGGTTCTATCGGCGGTAGCGCCTCT
+>r67/1
+ATGCTATGACTCACCCGGACGGTATGCAAATCAAA
+>r68/1
+TCGTCAACATGAATATATAAGAGTAGGGGACTACT
+>r69/1
+AAAGCGCCACTGCCAGACCGACAAGCCCTACAGTC
+>r70/1
+GGGTGAAAGTTGAAACCCGTGGTTCTGTTGGCGCG
+>r71/1
+CAGCTTTATTGGTATCGCGCAAACGCAGACCACTA
+>r72/1
+ACGTGCGGTAGAAATGGCTTCTTCATTGGTGATGC
+>r73/1
+GTACATGCATTAATTATCTGTCCATACAATTGCGG
+>r74/1
+GGACACTCATCACGCGCAAGGGCCCGGTAAAAGCG
+>r75/1
+GCAGGCAAAGCTGCCAACAGGCTGGTGAGCATGGG
+>r76/1
+TTAGGACATACCTTGACTCTAAAGCTTATCAATTG
+>r77/1
+GTCAATGGTCGTTGCGGCTTACCCGTAAAAAAACA
+>r78/1
+AATGTTATGTCATATATAAAGAATAAAACAGAGGC
+>r79/1
+ACGCGGTTAATACTCCCCACCAGCATCATTAATCC
+>r80/1
+CTGCTGAAAGAGCAGCTCGAAGAGATGGGGCTTAT
+>r81/1
+ACCGTATTCGTCAGGCGATTCGTGGGATTAAAGCG
+>r82/1
+ATGAGTTTTATGCCGAGTGCGAGAAAGTCGGCGTC
+>r83/1
+CATAAGGAGCGGATTAATAAAGCCTTTGAGTGAAA
+>r84/1
+GCGAGCCGAGGTAAAACCCAGCGAAACTGGCGTCT
+>r85/1
+TCACAACCCAGCAACGACGAGAATGCCGCGGCGAT
+>r86/1
+GCAGATGCAGCAGTATGAAGAAGAGCAGCTGGCGC
+>r87/1
+GGCGCACATCTTTCACGCCGGCATAAAGCATAATT
+>r88/1
+CAAGGTCAAAAGTTCGGGCAAAAAAGCCGTTCCAG
+>r89/1
+GATGCCCAAAACAAGTAATAGTTCGAGTAGTGAGA
+>r90/1
+AGCAGCATTACGACAACTTCCGCGACCGTTTCGCC
+>r91/1
+CAACGCCATTACGACCACGCTGTAAGCCCCATGGA
+>r92/1
+CGGGCCGAGAGAGGCCAACATCATAGTGCCAAACA
+>r93/1
+TTAATTCGTCTTTGCTCTCTTCATCAAGACTCACC
+>r94/1
+TGCCTACCGGGCAGGATGCGCCGTGACGTGGCAGA
+>r95/1
+ACGCCGCCCGCCAGCGGATGCAAAACCGTGCGCGT
+>r96/1
+GATGGCGGTCGTTCCAGCCACCAATATGTGGGTGG
+>r97/1
+AAACGAACTATCGCTGCGCTGACTCTGGCAGCGTT
+>r98/1
+CGACCCGAAAGAATTGCTTGAGGCGAACTGGTATC
+>r99/1
+CTTGAGTCTATGCCATTTTGCGTAATTTTCAGCCA
+>r100/1
+TCAGATCAGAGAATGGTTTGGAGAGAACACACTTA
+>r101/1
+ACAGCACCGCAGAAGGTAAGGCGCAAAACCGCCGT
+>r102/1
+ATGCCCGCCGCTTTGGCGACATTACGGCTAAGGCC
+>r103/1
+GCGGTAGATAACGCGCAGCTGCGTGATGTAAATGA
+>r104/1
+CGGCAATTCATCTCTGCATGTAACAAAATAATGCA
+>r105/1
+TAAAAACCACAGACAAAACAATACAGTGTAAAGCT
+>r106/1
+ACTTTGTCATCTTTAATCTTCAGCCATACCGGTGA
+>r107/1
+TCATCCCCCCTTCAACGCCAGGCACCATTTCATTA
+>r108/1
+GCCCAACTGGCGCTGGTGGGCACGTTGCATCAGGA
+>r109/1
+CTCGGCGCAACTGGACTTCGCCAGTAAAGAACAAA
+>r110/1
+ACGAGAGTATCCTGCTGCTGGATAAAAATTTGGCA
+>r111/1
+GTAACCGCCCGACTAACTCCATCCTGCTGCGTGAA
+>r112/1
+CAATCTCTTCGAGAGTCGGGAAGAAGTCATCCCAG
+>r113/1
+AGGTTGACGGTGCCGTTGAAGACACTTTTATCTGC
+>r114/1
+TCCAGGTGCAGAGTGTCACGCACCGGACGAACGTC
+>r115/1
+TGTCTGAGCTGGGCCTGAATGCCAGCGCCAAATTT
+>r116/1
+TGAACGCACAGATTCGCCGTAACTTGCCGATCGAA
+>r117/1
+TACCGAGACGTTTATGGTCAACGGAGGTCAGCCAC
+>r118/1
+ACCGGATTTGTGCGTAATCCTGGTCTGTATGGCGG
+>r119/1
+GACGCTAGGGCCAACTCTGGGGGGCTGGATCACTG
+>r120/1
+CCCACGCCCGACGTACGGCTGATGGCATCTTTCAT
+>r121/1
+TACCTTCATAACAGTAGCAGAGCACCTGATTTGCA
+>r122/1
+CGTGGGGGCCACACGCAAAACTGAAACTTGACCAT
+>r123/1
+AACATCGTCCACGTCGGTTAACACCTCGTGAATGC
+>r124/1
+TAATTTGCTGATTATGCGCGGCAATCTGCCCTTGT
+>r125/1
+CTGGCTGGGTGGTTGAAACCGCAGGGGACATCTCG
+>r126/1
+TCTATAATGAATATAATGTTGAGGTATCTATGCGT
+>r127/1
+TTCTGCTGCCGCTATCGGCATGGTGCATCTGTCGC
+>r128/1
+GATCCTCAAGCAACAGCCGCGCCCGGTCATCATGA
+>r129/1
+CCGCCACCGCCGTAATAATCGGTACAAAGCGTTTT
+>r130/1
+GCCATGCCGTGGAATACCTGTACCGATCCGCCAGT
+>r131/1
+GCACTATTGTTGGATGAACGCTTAACGGGTCTGCA
+>r132/1
+CCCCATAATGGCGTTGAGATCCGGCGTGGAGATAA
+>r133/1
+CTGACATCAAGAGCGCGGTAGCCTTTTTTAATATT
+>r134/1
+CGACGGCGATGCACGTTGCGGCACTACTGGCGCTG
+>r135/1
+CATAAAAAATTGTCGACTGGAGGGAGTTAAATCCT
+>r136/1
+ATTCTGGTGCCATCATTATCACCGGTGAAAGCGCA
+>r137/1
+TGACGAAAATCCTCGGAGAACGGATTTAGTGAGCA
+>r138/1
+GTACGCCTGCCGTCAACGACATCCAGTGACGCTTA
+>r139/1
+AGTGCGTGGGCGATAAAAAACGCCACCGAAAAGGT
+>r140/1
+CGGGTTTGACATCGCGTTTTGGCTGCTCCACCTTT
+>r141/1
+ATTCTGTCTGTGTCATGGGATTTACTGCGAAAGTT
+>r142/1
+CAGAGAGGTGATCGCCTGTTTACCGTGAATGAAAG
+>r143/1
+GGTCCCAAATCTGTCCCAATCAAAAAATAAGGAAG
+>r144/1
+TGGTACGCGCCAGCGCACTGCCATTTTGCGCCAGT
+>r145/1
+GTACAGACGCGCCATAACGCTGAGCAACGATATTC
+>r146/1
+GGACATAATTGTTTTTCCCCCGCGTTCATATGAAT
+>r147/1
+TGCGCCCAGCTCGTTGATCCCTTCCTGCAGAATCT
+>r148/1
+CATCGCCGCCTCACCGCCCGGCATGTCCGGCGTAC
+>r149/1
+TCGAATTACGACGAATTACTTAGTTTTCAGATCAT
+>r150/1
+GTCTATCTCCCACCAAAAGCCGAGAATGAAAAATT
+>r151/1
+ACCACGCTGGCCGCAGCCGCAGCCAGCCCGTGGAA
+>r152/1
+TATTCCGGGTTGGGTTTGTTTGGTCTTGCAACGCT
+>r153/1
+TGATTACCTGGCGTTTAATTACGGTATTCAGTGAC
+>r154/1
+TCATCACGCAGACCTTGTTGCACATCGAGTAACAA
+>r155/1
+GAATTCTAACACAAGACGAGATCGATATTCGAATA
+>r156/1
+CGTTAGTCATAAATGGGGCAGGGTAGTAAACGCGT
+>r157/1
+ACATCACTTTGACCTTGCCGCTTTTACCTTTCATT
+>r158/1
+TTGTGCAGCGCAGAACGGATTCTGGAGGTTGGCGC
+>r159/1
+TTTTGCGCCAGATACTGTAGATGTGTTTCGGACGG
+>r160/1
+CGGCTTCGGGATGCCGGCGTTCAACAACGACGAAA
+>r161/1
+TCGCCGTTAGCGCATTTCCCCAGTGAGATTTGCGC
+>r162/1
+TTCCGGTAAGGAAGAGGAGTTAAAAATTTCAGTAA
+>r163/1
+GATCGCCAAGCGGTGCCAGTAACGGCATGGTTAAC
+>r164/1
+GGGTATCGCTTTTCATCCGCGAGTTATCCAGTAAA
+>r165/1
+ACCCGGCAGCCAGCTCTTTCTCGCGTTATGCGCAG
+>r166/1
+AGCGCTCTTCATGCTGTTTGTAGATGGAAGGCAGT
+>r167/1
+AATTACCTTCACTTGTTAAGCATTCCGGGCGGGCA
+>r168/1
+TGCTGTCGATCCGTATCGATCCTGAACACCATACC
+>r169/1
+GCAGGAACAGCTGGATAATCTGGTCAAACGTCATT
+>r170/1
+GGTGACCTGGTGATTGTCACCCAGGGCGACGTGAT
+>r171/1
+ACAATGCGCAAATTCAGGCGCAATCCGTTTAGCGC
+>r172/1
+CATCGGACGCGGGAAGACAAAGCGCCCGGCAGTAC
+>r173/1
+GGCGATTTACATGACCTACCAGTGGTGGATTGGTG
+>r174/1
+CGAACTCATCGCCAGCGAAATGGCGTATGTGAATG
+>r175/1
+TGCGTTAGCCATTTATCACCTCATTGCGAGTGTTT
+>r176/1
+TGGAAGCTTGTCTGTCTCTGGGCCTTGATATTCCT
+>r177/1
+CTTCGGTTTCTCATAGGTGGAGAAATCGCGCAGCA
+>r178/1
+AAAACCAGTTTATACTGTACACAATAACAGTAATG
+>r179/1
+GCGTACAGGAAGTGACTGCCAGCCTCAGTGGTGTC
+>r180/1
+TAGGTTGTGAATGAGAGTACGTTCACTTTTCTTCT
+>r181/1
+ATGTTTCGACCTGCAAGAAAGTGCTCTTCGCATAA
+>r182/1
+AGCCCCTGCACGTGATCCATATGGTAGTGCGTCAG
+>r183/1
+GTCTGGCTCTACGGTGCCCCTGGCACAGGACGGAT
+>r184/1
+TCGTTAATGTCATTTCGTTGATACCGTGCGACCTG
+>r185/1
+ATTACTAAGTGGTATTGTCATCGCGTACCTTACAT
+>r186/1
+GTAATCCATTAACTTATGGAACACACGCATGGTCG
+>r187/1
+CTCTTATCAACTTACCCGGAAGTGCGCTCGGTTCT
+>r188/1
+TTGCCTGATGCGACGCTAACGCGTCTTATCAGGCC
+>r189/1
+GCAGCTTAAACAGCAACTGCATTCCCAGACGCCAC
+>r190/1
+GCATATTCATCTAACCATCATTTTCTATAAGATGG
+>r191/1
+TACCAATCTTCGCGTACTCTTCCGATGGCGTTTTG
+>r192/1
+CCTTGAGAGGATCAGTGCTGTCGGTCCGTTGTGGC
+>r193/1
+CTCGCAGGAACGTACATTTTCATTATCGATTGCAG
+>r194/1
+ATCACGCTTGTTCAGCTCTTCTGCCGCACGTTTTT
+>r195/1
+GGTTAAATTCCCAGTGGTGTCAATATAAAGTTTAG
+>r196/1
+TTAAACAGCGGCAGCTTAAATTTTGGTCTGCTATT
+>r197/1
+TTACTAAAGTTAAAATGTAATCCGATTTAAATATC
+>r198/1
+CTCAATTTTTAATGTTGGTTAAATCAGATTAATCC
+>r199/1
+TGCCAGTTCATGACATTTTTGCAGGGCGAAGGCAA
+>r200/1
+GGAGGAATTGGGGATTAGCGAACGTTTGCAGCAGG
+>r201/1
+GGTGCGCTCAACAACGCTTGTTCGATTTCGCACAG
+>r202/1
+CGTAATCAGCCAAATCGCGTTAAGCGGAGAGATTT
+>r203/1
+GCCATGTGACAAATCTGCCAAAAGCTGGACAAATG
+>r204/1
+GCGGAATGACCAATAAATTACCCGGACGAGTTGGC
+>r205/1
+CCATACGCTTGCGCCAACGCCATTTCATCGCCATC
+>r206/1
+ACTGGCAATCCAATATGACCCGCGAGCAGTACGGC
+>r207/1
+TGTTCCATTTGCAGGTACGCCCGCGCATTACCAAT
+>r208/1
+CGGCAACTTTGCGCTCAGATTTGCTCAAATGTTCC
+>r209/1
+AAGAATAGCCTTGCGCGACTCAATACCCAACTCAA
+>r210/1
+GCGGCGCGCCAGCCGGATTCCGATCCGACCTGCGA
+>r211/1
+CTCCGCATGAGCTACCGGCATTGTTGGCGCGTATT
+>r212/1
+GGGCCAAAGTAGATGACGAAGCGAAAGAAGAAACC
+>r213/1
+TCCCTGATAATAAAAACTTTCTTTGTCATACTCTG
+>r214/1
+CAAGAGGCGCAAACCAGCGAGAGCAGGACTTTCCT
+>r215/1
+ACGCTCGAGTAGCGGCAGCAAATCAGCATGCAGCC
+>r216/1
+ATCACGGTAAACAGCAGAAAACAGAGCAGCAGCAG
+>r217/1
+AACTGGATGCGGTGCTTCTCTCCTCACGGCAGAAC
+>r218/1
+ACGCCGTATCCGCGTTATGGGGAAAGTGATGCCTC
+>r219/1
+GTTCCATCAGCTCCATTGCTTCACCGGTACTTTTA
+>r220/1
+ATGTTGCCGTCGCGACAACCGGAATATGAAAGCAA
+>r221/1
+GGCCGTTAAAGATGACCCCGATTTCTCTATTTCTC
+>r222/1
+GACGCTTTTTCATCATAGCGCGCATTACCGCTTTT
+>r223/1
+GAGCATTAACGAATCTTTGCTCACCACTTTGCCAT
+>r224/1
+CGGTGGCCTGTTATTGCTGATTATCAGTGCCATTA
+>r225/1
+GATGACGAAGGTCAGGTCATTGGCTATGTGGCATT
+>r226/1
+TTAACTTCAAACCCATAGCTGGAGAATGCCCTGAG
+>r227/1
+GGCTTGCGGAGAATCTTCAGTCATGAATTCACTAC
+>r228/1
+ATACAGGTTAACAACCACCATATCGATAGGCTGGA
+>r229/1
+GCTGTCGTAAGAGATGCCAGTCAGCATTAAAAAAG
+>r230/1
+GGCATTAACCCGAACGGCAGCATTGAGTTTGGTAT
+>r231/1
+GTAAGGCAGCCAGAAAAAACTAGTCTAATTTGCTG
+>r232/1
+AAAAGAACGACAAATACGTCATGAAAATCACCGGC
+>r233/1
+CCACCCGTCAGCACCCTTTGCTGCATTCGCCATTT
+>r234/1
+GACCGCCACAACTCCTTCTCCTGCCCGGGCAAAGT
+>r235/1
+CTGATCGGCCTTGTGCTGCTGGCGAGTAACAATCT
+>r236/1
+ATGGGTGAAGTAAATACGCGGACCGAACTGCTTGA
+>r237/1
+TTAGTATCTTGAAAATCGGGTAATTACGACGCTAA
+>r238/1
+TATTAATGACTCAGGGTTCTGGATTGTGACCAAAT
+>r239/1
+GGATAATCGGATTGCTTGTGCCCATGCGCAAAGCG
+>r240/1
+AGGCCAACAAACATCGCGCCGCCGGTCAGCGTCAC
+>r241/1
+ACGCGCAATTTTTAGTCGAGTTTATGGCGAAGCTC
+>r242/1
+ACTCGTCTTCGCACGACCGTTTCACCTACGGCTCA
+>r243/1
+CGGGAATAATCCCTACCGGGTTGACCAGCGCAAAT
+>r244/1
+TCAGGATCGCACCCGACACCGAAAACGGCTTCCGT
+>r245/1
+GATAATACTTGCACCTTTCGGTAGCAGGGGGATCG
+>r246/1
+GGTCGGCGAGAGAGGATTCGAACCTCCGACCCACT
+>r247/1
+CAAGTAACTGTTCGGGTGTGACGGCGGGATACCCC
+>r248/1
+GCTTTAGTGGTTTGGTGAAGTTGTAATGAATGCTA
+>r249/1
+TCGGGATAAAGCGTCGCAGGTAAAGCATCCCCTGC
+>r250/1
+GGACACTGTTCAACGAAATAACTTAAATCGTTCAA
+>r251/1
+CCGTCACTACTCGAATATACCAAAGTGATTATCGA
+>r252/1
+AGCATTGACCTGCTCTGCGGATGCCTCGGCAATCT
+>r253/1
+CAATCAGGCTCAGGTGAGCGGCGAGATTAAACATG
+>r254/1
+CGATGAATCGCTTCGATGGCGCAAAACAAAATGTC
+>r255/1
+GCAGTAACAGGCGCATTAACATCGCCAGCAGGAGC
+>r256/1
+AAGTTCGTCAACTGCAACAAAACGCGACGCAGGCG
+>r257/1
+AATAACAAAACGCTAAACAAGGTAATAAATAAAAT
+>r258/1
+TAACTCAAGCGGCGCACCAATGTCTATTGAACATA
+>r259/1
+TTTCACCCGCCAGTGTGGAAGACGCGCTGTCCAGC
+>r260/1
+TGTCGCAGGCTGATATCGCCTGTTATGCCTCCAAA
+>r261/1
+CCAGCATAACGCAGCCACTGCTTGTTCACTTTGTA
+>r262/1
+CACGCATCATCTCAGGTATTAGCCATGGCGAAATC
+>r263/1
+TCAGCAATACCCCCACCATTGCGATGGCCGCCAGC
+>r264/1
+ATAGCTAACAGTTCATCAGCGTGGCGGCGGTGATA
+>r265/1
+GAACTGTTGTTGGGTGATATACCCTTCATCCAGCA
+>r266/1
+ACCAGCTCGATGGTTTCGCCCGCGCCAACCAGCAG
+>r267/1
+ATGCTTTCTACGGTTTACCGAATGTGAAAGTGGTT
+>r268/1
+CGCTTCGTCTATTTTAGGATGGCTATTAACGTTGG
+>r269/1
+AGTATTTTGCTGATCAGCTGCCCGCCATTCCAGCT
+>r270/1
+CGTTGCCCATGAATGGACTTTATCACCTATATAAG
+>r271/1
+CTGGCACTGGCTGTGCTCTGTGAAGGAGTGGATAA
+>r272/1
+CCAACCGGCACCAGAGTGATATCGCCATCGCTTGC
+>r273/1
+ATGCCCGCCATCCACAAGCCCATCAGCAGCAGTTT
+>r274/1
+TCGGATGCAGGTGCCCGGTATTGAGCACCGCAATC
+>r275/1
+ACCGCGCCATTAACTATAAAAATATGTATGACCCG
+>r276/1
+CGTCACCAGCAACGCCACGGCTTTCGCCGCATCCA
+>r277/1
+GCGCGGTGTCTGCGCGTGCTGGTCAATATGGAATT
+>r278/1
+CAGAAGTATGACATCAGAATTAATAATCGCTTCTT
+>r279/1
+CCGCTTTACGCATGATCGGATCTTCAATTTGCTGA
+>r280/1
+AAAAACTTAACCGGAGGATGCCATGTCGACTCCTG
+>r281/1
+GCGGTATCATCCAGCGCCATTAACACCGCTTTCCA
+>r282/1
+AAATACTTTTAATTAATGTGCGTTAGACGCTGTGT
+>r283/1
+GTATCGACATCGACATGCACATCGACGCCGCCAGC
+>r284/1
+CCCATGCCGAGTAGCGCCTTTTTAATCAAGCATTT
+>r285/1
+GGCCCTCAGATTAAATTAAATATTGAGCGCCTGAT
+>r286/1
+ATCCGTCGCCGGAAAACGTTGTAGTGTCAGTGAAC
+>r287/1
+CAGTCGCTGCAAAGCGTGATTGAACAACTGGATAT
+>r288/1
+CCGCCTTCACCGTAGCCGACATAACCCGGAGGAGA
+>r289/1
+AATGAAGACCATTCTACCTGCAGTATTGTTTGCCG
+>r290/1
+GTATCACTTAAAGGTATTAAAAACAACTTTTTGTC
+>r291/1
+CAAACCGGCAACCGCCAGCACCATCAGGAGAAAGC
+>r292/1
+GGTGCCCGCGCCACCGGAGGCAATCAGCGGGACGT
+>r293/1
+CTTCAGTGCTGATAACCAGCACCACGGCATCTTTG
+>r294/1
+AACAGTTTGATCATCATCTCTTCGCACTCTTTTAC
+>r295/1
+CCCGCGGATAAGCGGACCAAAAATTGAGGTCATAG
+>r296/1
+TCGGCGCTCGATCCTGAGATGGTGAAAGAGGTGCT
+>r297/1
+ACTGTTTCGTTAGGCGCGATAGATGAGTGGGTGGC
+>r298/1
+TGGCGTTGCGGATTAATGGCTGGATTAATATCGCT
+>r299/1
+AGCCGATGGCGACCCCCACTCCACCCGCCACTAGT
+>r300/1
+GCAGTTCGCCGACGTTCACCGCAAATCCCAGCTCT
+>r301/1
+TAGGCTACGACATGGCAAACTAAGAATAAAAAAAT
+>r302/1
+TGCGTGAGCTGCGTGAACGTACTGAATTGCCGATT
+>r303/1
+CGATGGCCGCGACATGGGAACGGTGGTATTCCCTG
+>r304/1
+GTGCAGATCCGTGGATACCGAGTTGAACTGGGCGA
+>r305/1
+AGCGGACAAACACAGCCCGACCCGTACGAAAGGGT
+>r306/1
+TCCAGGAGTCGTCGCCACCAATCCCCATATGGAAA
+>r307/1
+TAGCCTTATGACGTGCAGCTTTGTTTTTGTGGATC
+>r308/1
+TGAACGTGGTCTGAACATCCCGCAGGATATTTCAC
+>r309/1
+TTCGGCACAGTAATTTCTTTCTCCAAACTTGGTTT
+>r310/1
+ATGAATACTCTCCCTACCTGGATTGCCAGTGATAG
+>r311/1
+GGGTGCGGATCAAACTGATCATTCAGGGCGAACCG
+>r312/1
+GCGAGGCTCGCGACCAACGGCGTTTTTACACCAGG
+>r313/1
+AGACTTTTTAAAGGGAGACATTTACACACAATAAT
+>r314/1
+TTTCTGTATCGCATCCCAGTATATCAGCACCCCGA
+>r315/1
+GGCGAGTATATGACCGCGTTTGAAGATGAGCACGG
+>r316/1
+GAAATCGGCGCTCACTATCCGGGCTTTGAAACCGA
+>r317/1
+GATGTTATACGTATGGCATCGCTAATGTTTATGGT
+>r318/1
+TTATGAAGAAAAAGACAGCAAATATGGAGGCTATA
+>r319/1
+GGCCGTGTTTGCTGAACGCCGTAAGGACAGTTTTG
+>r320/1
+TATAAAAATGGCTTATTAATTATGCGGTTTATTTG
+>r321/1
+CCATTCTCAGGGCATTCATTCGTTCTCTCTCGGTT
+>r322/1
+TCCGGAAAGCGCTCTCGGATTCCTTACCGAATCCA
+>r323/1
+CAACTACGTTGTACTGTCTGACATTTTGGGCGACG
+>r324/1
+TGCAGCAAAGTGTAAAAGATCTGACTCAGGCTGCG
+>r325/1
+GTCCCGACACGTAAACACCAGTTTGCCCAGTCTCT
+>r326/1
+GGCTTATCTTCGGCGAAACGGCGGTCAATTTCGTC
+>r327/1
+CCCTGCCGCAATCGGTATGGTCGAAGCTGAATCTG
+>r328/1
+GCATCAGTAACCCCAGACCTCTGACCAAAATGGCC
+>r329/1
+GAGATACAGCAGGTAGCCGGTGTAAAACAGCGCCA
+>r330/1
+TTGAACAACATTGTGAAACATGCCGATGCCAGCGC
+>r331/1
+ATGGCTAATCCAGCCAAACTACGCGCGCGAATTAT
+>r332/1
+GTAATACTTGTTCAGTCTGGCAGTCGCGCACCGGA
+>r333/1
+CGCACGAGAACATTTCGCGATTTATAAAGATTAAG
+>r334/1
+CAATGCGCGAGTGATTGTGGAATGGCGCGGCTGGC
+>r335/1
+TCGGAGAACGAAGATAAGGCAAGTCAATCAAAACA
+>r336/1
+CCGATCTGCCAACGCAGACAATGACCGCATGGATG
+>r337/1
+CAGGCGTTTTTACAAGCCGTGGCGCGCTATCCTGA
+>r338/1
+TTGATGGCGATATATCCCGCATAGGCATAGATTTT
+>r339/1
+AGATCCAACCGAGCTTCCGGGTCGCACCAGTGCCT
+>r340/1
+ATGGACGTCCAGTTAACTACGCCAGTGATTCATTA
+>r341/1
+GTAATAAGTTGCCATCTGGCGCAGGTTTACGCAAA
+>r342/1
+GGTTCATAAAATGGACGCCGACTACATTCTCCGGA
+>r343/1
+CAAATGGTTAAATCGGCTTTGTAACCGGCTTCCAG
+>r344/1
+TCGCCCGGCGCGGAACTAAAACTAAAGATTTCTCT
+>r345/1
+CTCTTCCCGCGTCGCCCATTTGGTCACCGGCGCAC
+>r346/1
+TAGGGAAAGAGATGCCCTTTCACCTGAGCAACCAG
+>r347/1
+TTACGCTCGTGGAAAAGCTGATTCGAAGTATAACG
+>r348/1
+CACTGCGCCAACGTTCTGCGGCAATTTCACACACC
+>r349/1
+TGTTTAGTTTTTTCATCTCGTAGTGGTATGGCTGA
+>r350/1
+AGTTTTGTTGATTGACGGAGAGCTGGCGTTCATTA
+>r351/1
+AAATTGATGTGCTCGTAGACTTCATCGCTAATGAC
+>r352/1
+GCGCCTGCGCTCCAGCCAATATACAGCGCGCCACG
+>r353/1
+TGCCGACGAACATCGTGGCGTCGATGGCGAAAGGC
+>r354/1
+TTAGCGGCCTGGTAAAACTCGGCATCCTGAAAGGT
+>r355/1
+CTTACGCCGTGAATTGAAGGCGCGTCACCTGACGA
+>r356/1
+CTCGTTGCAAAACGTGGCACGTACGGACTGAACAC
+>r357/1
+GTTGACGCTGTCCAGTACCTTCCTGCTGGCTTGCT
+>r358/1
+CGATATTCGCGCCGACTTCGCCCTCGGCGGTATTA
+>r359/1
+TTGCCAAGATTTATGGCGATCGCCAGGCGATGGCT
+>r360/1
+AAATCAGGAATTATCGGGAACGTTAACGCTGTATT
+>r361/1
+TATCGACCATACCTTTGAATGCATCGGTAACGTCA
+>r362/1
+TGCATGGCAACTGTATTATATTTTTAAAGCCAATG
+>r363/1
+GGATAACTTTGAACAGCTGGGCTATCAGGCCGAGT
+>r364/1
+GGTAATGCTCATGACATGAGCGTCTACTTTGTGAA
+>r365/1
+CCTGCCCCGAGATCTTCCAGCGAGGCAATCGCTTC
+>r366/1
+TGTTTGATCCAGCGACGTGGGGTAATACCGTTGGT
+>r367/1
+GTGCTCTTCATCATGCTGAAGAAGCATTAGCGACA
+>r368/1
+ATAAGGGACGTAAGCACACCTTACCACTGCGGCGT
+>r369/1
+GAACTCGTCGAATATGACCATACATTTCTGATGGG
+>r370/1
+CGTACCGCGATAAACGCCTTGATAACCACCATGCG
+>r371/1
+CCAGGGCATGGCCTTTCGACACGCCGCCCGCCATC
+>r372/1
+TGGCGGCAAAGAAGGTCTGAACGGTGCCGTCGCAC
+>r373/1
+TGGTTGCCCGCAATCCCGACACCGCCCAGCACCTG
+>r374/1
+TCCGGCCCCTGCAGCCAGTCACGAAAGTGGTTTGA
+>r375/1
+TCTACCACATCTGCCGCTACCAGCAGATCAACGCC
+>r376/1
+TAACGGTTCATATCACCTTACCGACGCTTATCGCA
+>r377/1
+CGTTTGGCGGCGCGGAAATTTACTACGGCACTAAC
+>r378/1
+CCTAACACAATGGTTTTCGGTTTGAGAAATTCGCC
+>r379/1
+AGCGTCGAGCTGTTCTTGCATGATGTCCTTCGTTT
+>r380/1
+ATATCTAAAGATTTAACGTTAAATGCTCAGGTCAT
+>r381/1
+CTTTGACTCAGGCACTACTGGATCTGGAATATACC
+>r382/1
+AACCTGCCGCTTTGTTGATCGGGCCACCAAGGTCG
+>r383/1
+CCGCAATCCGGTACCGGTGTCATCTTCGCCTGGAT
+>r384/1
+CGGTTATTTGTGCCTGTTTGACGTCGATAAATTCA
+>r385/1
+TGGCTGGTTGGCCGATGCAGGGTAATTTCTACTGG
+>r386/1
+GCCGCTGGTGGAAGGTGTCGATTTCTTCAACGAAC
+>r387/1
+AATAAAAGTCAGAAGTCATGCCCGTTTGCAAACAA
+>r388/1
+CCAGAATCATGGTCAACGTTTCACACAACATGCCG
+>r389/1
+TCGCATCTTCCATACCAACATCATACCAGTCGGTG
+>r390/1
+AATCCCCGACACCGCAATAGTCATACTCAATCGAT
+>r391/1
+TTATACCGGTTTTACGTCAGTTGGGATTCAGTGGT
+>r392/1
+TCATCCTTACAAAATCCCGGCAACGGTAATCGCTC
+>r393/1
+ATCCGGCATTATGCAAAACACCATCCAGACGCGGA
+>r394/1
+TCATTTTCGCTCCCCGTTTCACTAAAGCGCGCAAC
+>r395/1
+CGGCAACATCTGACGCCTGGCTAATGGCCGCCTTC
+>r396/1
+ACGTTGTAACGCGTGACACCATCAAAGCGAAAGGT
+>r397/1
+TGACCATGGGCTGGTTCCTGAAAGAGAAACAGCTG
+>r398/1
+TTCCCGTAACATTTACGGCACCACCAAAGGGCAGC
+>r399/1
+ACAAAGCAGGCATCACCGTTTTACCCATCCCCGGT
+>r400/1
+AATATCGGTTACTTTAACACTAAGTTGAGGATGAT
+>r401/1
+TGGCAAAGCCCACATCGCCCTGTTCCATCATTCCT
+>r402/1
+CACCGGAGCCGATTCCCCGGTGATGGCGCTTTCAT
+>r403/1
+TTTCAGAATGTATCTGAAGAGGAAGTACTGCGTTT
+>r404/1
+AGCGGATATCTGGCATTACCTGCATTATAAAGTCA
+>r405/1
+GTTGTGCTGGCGGGCGGTAAAGCCAGACGAATGGG
+>r406/1
+AAAAATCTCCTGAAACCACTTCGTGAAACCGCGCA
+>r407/1
+ATCCCCACTATCGCCGGGAATCTGGGCTCATCGCT
+>r408/1
+GCTGACCACGACCGATTGGGATCATGGAGTCAACG
+>r409/1
+GAGTTGAAGGAGACTGGCTTTTTCTCTCCCGGAAA
+>r410/1
+GGTCTGATGGATGCGAATAGCGCGATCAACTTCGC
+>r411/1
+CCAGGTCAGGCTGCTATCCAGTTTCTCGTCAACAT
+>r412/1
+TTGTCTTGAAGATTTAAAGCCATTAGCTTTGCTCC
+>r413/1
+CGACCACCGGGTGGATCATCGGCTCAGCAATCACT
+>r414/1
+AACGACCTTAAACGTCCTGTATTTTACCGTGGGCA
+>r415/1
+GTGACGGTTTACGTTGCTGTACAAACCCCAACGCC
+>r416/1
+CCATTTTCTTACTCCTTTCACCCAAAAAAAGCGCA
+>r417/1
+CCGATTTTCACTTTGCACCAGGCATTTTTCCAGTA
+>r418/1
+ACCATTCGGTTACAGGAGCAAGCGTAAACTCGACG
+>r419/1
+GACAATCGCCGCGTATTTCTGATCTCGCAGAACAA
+>r420/1
+AAGCAATTTCTCGTAGATTTTGATCTCTTCGGAAA
+>r421/1
+ACGTGACGAAGGGACTTTAATGGAAGCCGGAGTAA
+>r422/1
+CAGCACGGAAAACCCGGACCTGTTGGTGCTCGAAT
+>r423/1
+GCCCAGTCACGCGATGTCTGGGAACGCTCGCCGCA
+>r424/1
+CGGCGCAGCGCGGGGTGGATGTCAGTATTATCCTT
+>r425/1
+GTGTTCCAGAGATGATAAAAAAGGAGTTAGTCATG
+>r426/1
+TGAACGTAGCTAAAAATAAAAGGCATCACGGTGGT
+>r427/1
+GGATGAACCGCAGTTTGGCGCGCAAAGTACGCCGC
+>r428/1
+ACCTAATTTTAAAGCAGATAAAATTCATAAAGTTC
+>r429/1
+GGCGGGCTTCAAGTGTGAAATCGTCGCCTTCCCGC
+>r430/1
+CTGGATCTCGAAAAAGAGGCGCAGTCTCAGGGTTT
+>r431/1
+TACGTCTTTATGTTTATCGAAGCGATGGCCGACGC
+>r432/1
+CTGCTTTACCCCCTGCCTGAATGGGAAATTATCGA
+>r433/1
+AATAATATGATGGCGATACTCTTGCGCATCAGGAA
+>r434/1
+CGCAGCAACTGCTTTTAGGTATGCAAGGTTCGTGC
+>r435/1
+GTCATTTATTCGGTATTAACCGTAGCGTTTATTAC
+>r436/1
+CGCATACTTCAGCCGTTCACGGGGCACTTTCACTT
+>r437/1
+CTGACACCGGTTGATGTGATTAACCAGTTGAAGGT
+>r438/1
+TTTATGACGCTTGAGCAGGAGCAGCAGGTTAAAAC
+>r439/1
+TCGGTTTTGGCCCTGGTAAAGAACCGGAAGCGCAC
+>r440/1
+TCCTTGTCGATATGGGCATAGATATCGTTCTTCAC
+>r441/1
+TCTGCCATTGATATGGCGTTGTGGGATATCAAAGC
+>r442/1
+TGGTCTGGAAAGCGATCACGTTTCCTATAACGCGG
+>r443/1
+GAACGCATGCAGGATGAGATTCTTCAGGAGCAAAT
+>r444/1
+ACCGCTGTTTCACGTCTCCGGTCAGGGAATTATGT
+>r445/1
+GTTTTCGCCGTGCGCACCACGGGTATCTTTTGCCG
+>r446/1
+CATCACGACAGCACCACTGGCGATATTGCCGCGAT
+>r447/1
+CGCCCGGAAGCCATCAAGATGGCGCCGTTGGTGCA
+>r448/1
+GAAGTCATCAAGCAGTTTGCCGAAGAAGTTCAAAC
+>r449/1
+GGTCACCACAAATGCGCCAATGTACGGAATAAGTA
+>r450/1
+GGCTGACCGTTTTGTGCGTCGATAAGCTGATGCTC
+>r451/1
+ATTTATCACTCTGGAACATGTAATTACCACACCAC
+>r452/1
+TTTTGGCGGGCTGTTCGGGTAGCAAATCATCCGAT
+>r453/1
+AATTTTCGGCTGGTCAATTTTGTTGGCAATAAAAT
+>r454/1
+GCCGCGCCTGTGCGAACACTGTCTGAACCCGGCAT
+>r455/1
+GGTGATGAACGACGCTCCGGCAGTGGCATCTACCG
+>r456/1
+CACGGCCTCGAGGTTAAAAGATTTATATCCAAGCT
+>r457/1
+CTTACCGCAGCTGCCACTGCCCTGGCGGGGCCAAT
+>r458/1
+TTACGGGAAACGATCAGGTTCACACCAAACCAACG
+>r459/1
+CCTCTTCTAAATCGTACCAGCGAAACGCAAAACCC
+>r460/1
+TTTCGTTCATCGCCGGGCTGAAGAACTGCCAGCCG
+>r461/1
+GCGCCCTGCCAGTCGGTTTTATCGAACAGCAGCGC
+>r462/1
+TGCGGTTGGTGCGCTCGATTATCGCCGCCGTTTTT
+>r463/1
+GTACGTTGCCAGCAAGTCACGCGTCCGGTAGCTTC
+>r464/1
+CTGGCAAGCCAACCACAACCTGACGGTCGAAACGG
+>r465/1
+AAATCCCACAGATCGGTGTGGCTGTAGCGATCTTC
+>r466/1
+GTATGTCAAACGATTTGAAAGGCGGCATGACCAAC
+>r467/1
+TCCAGCCCCTCTTCGAGACGTCGAATCGCCTCCGG
+>r468/1
+GCCATTCTGGCGAGCGAAATTGCCAAAGAATATCA
+>r469/1
+TGGCACAGTACTAAAGAGGCCACCATCACCACCAT
+>r470/1
+TGTTTTGGTTGGGATACAGCCGATATTAATACAGG
+>r471/1
+AATACCATACCGGATTTTTGAATTGCTGAACGTAA
+>r472/1
+ATTGCTGAATTATCGCTGGCCGGGAAATATACGTG
+>r473/1
+CGGCGGCTTCAATATCCGACCAGGAAAGCGAACAG
+>r474/1
+CCTGCCGTGAAAGGGAAAGAGGTGGCGGTGGATGA
+>r475/1
+GAATGGCTGCGTTAAATATTTCTCTTCTGCTGTTT
+>r476/1
+GTGGTGGTTTTTCGAACGGTTTGTGTGATGAGGGG
+>r477/1
+ACCCATGACCGGCGTGCAGGCCTTGCGTGAGGCGA
+>r478/1
+CGGCGCTGGGTTTCATCTCTGCGATTGGCGCGATT
+>r479/1
+AACGCCCACGCGCCACCAGCTCCTGCACGGTGATA
+>r480/1
+GGCGATAAAACGCCACCATCATGATGGACGTCGGG
+>r481/1
+ATGCAGCGCAGGTAAGAGAGATCAAAAGCGCCCTG
+>r482/1
+GAAAAATGCGGTTGATCAGCAAGCTGAGCGTGATT
+>r483/1
+TTGCTGGAGTTTGGTACGTTGCTACGGTGGTAGCT
+>r484/1
+TTGGCGACTGGATTGCCCACGGTCTTGCTCCGCTG
+>r485/1
+GAAGTGCTGGAACTCGAATACCAGCCAGAAGCTGC
+>r486/1
+AGCAGGTCAGAAAGATGCTGTACCTGAGTGGCGTT
+>r487/1
+CCGTTAGCCGCAGTGGTATGGATGAAGTCAACGCT
+>r488/1
+CTGGAGTCTGTTTAACGGTGCGCTTTCTGCCAAGC
+>r489/1
+GCTACCGGACATAAAGGCAAAGGCTTCCATCAGAC
+>r490/1
+GCTATTATCGTGTTCTGCAAAGTGATTTAGGTAAA
+>r491/1
+AGTCTGAATGATGTGGTCAGCGGCGTCACCGGAAT
+>r492/1
+TTAATGCGCCCGTCACGTACAGCTTCATCCAGCGC
+>r493/1
+ACATACAGCGCCAACATAAACGGAATTAAACGCGC
+>r494/1
+GATGGACTGTGTGCGTACTGCGCTGCGCCACGGCG
+>r495/1
+GCCAGTTATAATCAATAAGAATGGAATGACGAATC
+>r496/1
+CATCAATGAACAACCGCTGAACCTCGGGCAGGGTA
+>r497/1
+GCCAGTAACCAGCCAGAAATGATCGCGGGCATGAT
+>r498/1
+TAACGTCATTCCCCCCGCCAAAATGCCTGCAAACT
+>r499/1
+TCGGGTTGAGGTCAATCAGATCCTGAGGCGGATTG
+>r500/1
+TAACGCTGTAATCTTTTTCCAGACGACGCGCCAGC
+>r501/1
+GTCAACCACGTCAATGGCATTACCCTGCTCATCCA
+>r502/1
+CAACGGTACACTGACCGATAACAACGGACGCAAAG
+>r503/1
+CTGTGCCAACGGGTTCCCCTCACCCTAACCCCAGA
+>r504/1
+AGGTTGATCACCGGACGCAGCGCGCTCTGCGCCTC
+>r505/1
+CTTGCGGCGTGTTTAATCCCGGTCGCATGTACGCG
+>r506/1
+GGAACTGTTTGGTTTGGGGGATTATTTTGAGTTTG
+>r507/1
+GGTCGAAACGCGGTAGAGTTTTTATGCCAGAAAGG
+>r508/1
+CGTACTGACCGTTAAATTTGCCGTTATTATCCAGC
+>r509/1
+CGATAACGCCATAAATTTGTCCAGCTGGCACATGC
+>r510/1
+TCTGCAAGCGGTTTGACGCCCCGAGGCAGATTAAA
+>r511/1
+GGCAATGGCTGCCCGTTTTTATTTTCTCCGCACAT
+>r512/1
+ACGGCAACCCGAACGTCACTGCCGATATCACCCGC
+>r513/1
+TTGGGCATATCGCCATCGTGGCAATACCGAGACGT
+>r514/1
+GATTGAGGATCTTCCCTGGCTGCGTTTCGAACTGG
+>r515/1
+ACATCCTTCGAGAGGGACGGTTACCATGAAGATTT
+>r516/1
+TTTTATCTTCGGCGTGGATATTTGTGATGCTCTCT
+>r517/1
+GCGGGCATTGATGAACGGCGGTCAGGTAATTCTTG
+>r518/1
+TGTTAAGGGTCTACCATTCCAATCGTCTGGACGTG
+>r519/1
+GCAAGAAAGCTGGGTGGCATTCAGCACAAAAATAT
+>r520/1
+TTGTTTTTTGTTCTTGGGGGGCCGATAGTTGCTCA
+>r521/1
+GCGGATTGTTGATGTGCAGCGGCTGGCTAACACGT
+>r522/1
+TTCCGCGCAACTTTCGCGGCAGCATAACGACACCA
+>r523/1
+AAAGGTGCGGACGCCCCAGGGATTGCGCTGACTGA
+>r524/1
+AAGCGGCAGAGAGCGGCGTTTCTCGCCCTGTTCCG
+>r525/1
+GTTTGTTATTGCAAGTACTGACAGACGAGAAGCGT
+>r526/1
+TAAAACGTTGGCGCAGATTGGTATCACGACCGATC
+>r527/1
+TTTATCTGGCCTGCGCAGAATCCGGAATTAATGCA
+>r528/1
+CTATACAGAACGAAATGCCTGGTTACAACGAAATG
+>r529/1
+AGAACGACGTCGGCAAACGCAGGAACAGGAACACC
+>r530/1
+CGGTAACCCGTTCATGAAACAGGGTCACCAGATGC
+>r531/1
+GAGAGAGGATCACGCGGGTCAGACCCATTTGCTGC
+>r532/1
+GGAAAAGCGACCAATTTGGGGTTGGTCGGAGAACG
+>r533/1
+GGCCAGCACTTGTTCGCCCTTGCCGAGAACGTGCA
+>r534/1
+GTAAAGTACGCGGGAAAGCGGCCATAAGCGGCTAC
+>r535/1
+TTCATTCTGGAAGCTGCGCAGCGCCGGATGATAAT
+>r536/1
+TATGGCGTGGCGCGCAGGCTGCCGGATTGCCAATC
+>r537/1
+CGCTGTCGTTACTGTTTAACGCCGCTTTCTGGTGG
+>r538/1
+AGCAGCACGGCTTGCAGTTAAACAGCCGCGAATTG
+>r539/1
+ATGATAATCAATTACCGAAAATCCATCATCAGATG
+>r540/1
+CATCCCTTTAAATACTAGCCGCTTTTACCGTTTCC
+>r541/1
+GTGGTGTTGACAGAAGAAGAACGCCGGGCGGTGAA
+>r542/1
+AGGAAATCCTTATAACCAACTGTAATTTGAGAAGA
+>r543/1
+ATTCGGCGGCAAGCGCACGACAGCACTTTATTTCG
+>r544/1
+GGCCTGCCTGCTGTTGGTGCTGACATTAGGGCTGA
+>r545/1
+GTGACAGGTGCCCCATCAACACAAAATAACGGCCT
+>r546/1
+ACTGGCTCAACATGGACTGGAAGTTCCACTGGCAC
+>r547/1
+AAAGATTTCGACGACGCCGTTGCCTACTGGAAAAC
+>r548/1
+CGTTTCCAGTTGCTGTTGTAGCACGCTCAGCACGC
+>r549/1
+TGCAGCATGGCGGCCCATCGCAGTAGCGCCTCCAG
+>r550/1
+TTATCAACGCCAAACAGGCAGTTCATCAGTTCAGT
+>r551/1
+GATACTAAACTGGCCGCCGGTATCACACGATTTTT
+>r552/1
+TAGGTCGAAAAATCTTCCCCTTCTTCCATATCCTG
+>r553/1
+GATTGGGTGGTGGTCGGCAGTACGCCACAGGAGAT
+>r554/1
+ACGAACGCTTTATGGAACGCGCTATCCGCCGTGTC
+>r555/1
+ACCCCATCCGGGCCTCTGTTCTTTCCGCCTGTTAC
+>r556/1
+GAACTGCATGTCACCGCTTTCGCTGCTGCCCGGCG
+>r557/1
+GGTACGAGGCAGTTTTATTGATGTCACCCGTACGG
+>r558/1
+AGATGTGAATGATGTAGAGAACCGGAGCTGCAAAC
+>r559/1
+GCAAGGGCAATCACTGAGCAACATTCTGCCACCGC
+>r560/1
+GTTAGCAGGATGTATGTTTTGGGACCCATCACGTT
+>r561/1
+GCCCGCGGTGGGTACAGTGATACTTAACGATAGCC
+>r562/1
+CAGCGACATGTTCTCTTTTACTGACATGCCCAGCA
+>r563/1
+GGTCGCGTTGTTTGCGCTCGGCAAACCAGGCTTGA
+>r564/1
+CGCCCCCGCAACCGCCAGATCGGATTTATGTGTCG
+>r565/1
+ACAATCAGTATTACACCAATGACGACAGAAAAAAT
+>r566/1
+AGGTGCCTACAACGCCAGCCATGATGGCAATGCCA
+>r567/1
+GACGACCCTGCCACCACCGCACCAGAAGCGTTTCG
+>r568/1
+TCCAGGCCCGTCCCTGCGATCGCTGGCTCGAAGAG
+>r569/1
+GAATGGTGATTGTTAGTGTGCCCATCCACGTTACT
+>r570/1
+GAACAAGTTAAGGCACTGGTTCAGCACAACAAAGC
+>r571/1
+CCGACCATGCCCCAGATAAAGGTATAAGCTTTGGT
+>r572/1
+TGAACTGGCGAAAGAACCCTTTGTCTTTTTTGATC
+>r573/1
+AAAATCCCGGCGCGAAGATCATCCACGATCCACGT
+>r574/1
+TTAACATGAATCATGGATGCCTGTGAAAAAGCGGC
+>r575/1
+TGAGTCTGGACAAGAACAGCATCTTAAAACAGATA
+>r576/1
+CGTTACGGCAAACTCTGGTTTACCATCCTCGACTT
+>r577/1
+CCCTGTAGTTCTCGCGTAAATATCACTTCACTTTC
+>r578/1
+CTGGCACTCGGCAGCGCCATTGTTCCACCTCTGTT
+>r579/1
+AAGACCGGCACCTCGTTTGCCATTATCGAGCGTGC
+>r580/1
+GGCGTGACGGGCCATACAGTGCTGAGAAGTACGGC
+>r581/1
+GGCATTCAACACCGCCAAACCGCCGCTAAATAATC
+>r582/1
+GATTGATTTTTGAAGAAATTGTAGGTTTTTATGGG
+>r583/1
+CATCAGCAGGTGCGTCGTTATAGTCTGCAACGGTA
+>r584/1
+GCAGAAGCGAAGAAAGAGAACATCATTGCTGCGGC
+>r585/1
+CGGCAAACGCTTTTCTTTTTGCGCTCCTGTCCGCC
+>r586/1
+GCAAAAGCTAACTTGCCTACTCAGCAGGAAACTCT
+>r587/1
+CGCTTCATGCGAAGGATTTAACTGTCACTGCAGGC
+>r588/1
+TTGATTGAGTAAACCGGAGCGCATGGCCCCGGTTT
+>r589/1
+TTTGAACGCTTTAATGCGCTGTAAATGCGGGGAGA
+>r590/1
+CAATATTCAGCCCGCTGGTCATTAAGATCATTCGG
+>r591/1
+GTTTGCGTCACCGGTTTGGTGCCGACTTCAAAACG
+>r592/1
+CGATTGTCATTATTATGATTTTTTTATAGCTTGCA
+>r593/1
+CTACCATCCTCTGCATAGGGCGTCAGTGCCAGCTA
+>r594/1
+ACCTGGTCGGTTCCGTCTTCGTTGCCATGCTTTAT
+>r595/1
+CTGTCCCGTGTATCACGGGCCTGCGAATTCATCAA
+>r596/1
+CTGGGTATTAAAAAGAAGATCTATTTATTTAGAGA
+>r597/1
+GATGGCCGACCATACCGTTACCGATAATTGCGAGT
+>r598/1
+CATCATGTCGACTATAACGTGCTGGTCTGCGTCAA
+>r599/1
+GGGGTTGTGTGCAGCAAACACTGGAGCAGGGTTTT
+>r600/1
+TACAACGGGGAAAAAACGACAAACAGAAATTTCAC
+>r601/1
+CACCTCAACGGGAACAGGCTCGCTATACCACTACG
+>r602/1
+TCACTATCTGTCTGCTATCGAAGAAGGCAACTACG
+>r603/1
+GGAGGAAAGGCAGGAGGTAAGACAGGAGGTAAGAC
+>r604/1
+CAGCGACAGTTCAAAGCGGAAGCTCCCTGTGAGAA
+>r605/1
+TAATTTGTGGTGATCTACACTGATACTCTGTTGCA
+>r606/1
+TGCTCTCTTCGACAATTTCCACATAAACCATCGGT
+>r607/1
+GCTAAAGGCCATGATATCGACGCGCCGGGCCTGAA
+>r608/1
+AAAAAAGTACGTATTGACGGCTTCCGTAAAGGCAA
+>r609/1
+GGTTTAACCGCATTTACCGCCGCGTTAATCCATCT
+>r610/1
+CGCACTGCGCTCATCACCCTCTGCGGCTCACGCAG
+>r611/1
+CCTCGCCATTTTATCTCAGTGATGTAGTGACTTCT
+>r612/1
+TGCCGCCAGCCAGATTTTGTTGCTCGACGAGCCAA
+>r613/1
+GGACGGGCGTCGATCATTGATGAATCCAACGGTCG
+>r614/1
+TGGTGTCTGCCGTTGATAGCGGTGTGCTGAATATT
+>r615/1
+ATACCGTCGGCAATACCTGACATTAATACTTCACA
+>r616/1
+GTAATTTCGCGAACGTGAGCGAAAAAGGCATCGCC
+>r617/1
+CTGATGGCCTGGTCGATTGCTGCCGTACTGCGTAT
+>r618/1
+TGCTAAGCCCGGATGCCGGTGCTAAACCGGGTCAT
+>r619/1
+CAGGCGCTGGATGCCGAACACCGCACCTGGGCGCG
+>r620/1
+GACTTCAATATATTCAATGCCGCCACGTAACAACG
+>r621/1
+CATCAATTTCTGGTATTCGATTTAGGTGGTGGTAC
+>r622/1
+CATTCCTTTTGCCCACCTTAATGGTGGGCTTTTTT
+>r623/1
+CCGTTCAGTTAGGGCAGGTTCGTACCGCATCGCTG
+>r624/1
+TGAGTGAGGGTATGCCATGTCAACGATTATTATGG
+>r625/1
+AATTATCCGGGAGACGAAAATGTCAGCGATACAGG
+>r626/1
+AGATAACCGGTCAGCATGTGCCTGAAATTATTCTG
+>r627/1
+TGGAATTCTTCCCTCGTCCGATGGATAAGTCTTAG
+>r628/1
+GAGCTGCCTACCTGTCCCAGAGACCTCGGTTGTCC
+>r629/1
+CCCAACTATGCCATTCATCCGTACCGGAGTCGTTG
+>r630/1
+TTTGGGCGCTGGCATTAACGCAGTTTGGTGGCACG
+>r631/1
+ACTTTACGCTCCCCGAAAACAGTGAGGGCGTCATT
+>r632/1
+GCATGGCGACCAGCTGATCGGGGCGTTCATCGGTG
+>r633/1
+TCGAGGAAGAAATCCAGCAGTTCGGCAACAATGGT
+>r634/1
+ATGAAGGGTATATCAGCGATAGCGGCGACGCCGAA
+>r635/1
+CCCAAGGTGATTCGGGATAGTGACATGTTCACGAC
+>r636/1
+GTTGATGTGTTGTCAACGTCAGGTCCGTATAGATC
+>r637/1
+CCATTGATCAGACCCGCAGACAGCAGCCAGTCAGA
+>r638/1
+AAATTCCTGCGCAATATGTCGCAGCGTGCCGCCGA
+>r639/1
+GTTCGCCATCACGGTGACGTGGATTTCGTTGTTTA
+>r640/1
+AAGAATAGCTAACAGGCTTTTACGCATTGCTCACT
+>r641/1
+CCAGCCGGTTATCAGCGACAAAGGTGTTGTTGGTC
+>r642/1
+CGGCGAGCCTGTTCAATAGCAATTTTCGCCTGTTC
+>r643/1
+GTGCATAATCAGCATTACTCAGAAAATTAACGTTA
+>r644/1
+ACTGTACGTAAAGTGATTTACGTACCAGGTAAACT
+>r645/1
+GTTGATGGACTAATGCCTGTAACCAGGTCACCAGG
+>r646/1
+GATATCACCGGTAATAATGAACTGATCTTCCCCGG
+>r647/1
+TTCTTACGCCAGTTTATGTACACTAAATTTGTGAT
+>r648/1
+ACTCCTGGACTTTCTACTATGTTCGCAAGCATCCA
+>r649/1
+AAAAAGAAATGATCGCCCGCCTGCAAAGCCACCCG
+>r650/1
+TTCAATCCTGGAAGAGAACCTGGAGCGTCGCTTCC
+>r651/1
+CATTTTCTCTCAAGAGTATTAAGTGGCATTTTTTG
+>r652/1
+TGTTTATCTCCTGGGCTTTAAACATCATCATGCAA
+>r653/1
+CCCGATTATATTTCCTGCTACGGGAAGCCAGAAAC
+>r654/1
+GGAGTATGGAGATTATTCATAACGCCTGGACTCAT
+>r655/1
+ACATACGACGCTTCAGTTCGGCGATATCCAGCGAT
+>r656/1
+AATCGCTGGTGCTATTTCTGGTGAGTCTGGTGATG
+>r657/1
+TTTTAATTAACGCGCGAATATTCAGCGGGAGAGTC
+>r658/1
+ACGCTCGCCGTTCAGCGTGGCAACCGCCAGCAGAA
+>r659/1
+CGATACCACGACCGGTGGTGCCGATCGCTTTCGCG
+>r660/1
+CAGGCGATGGAAGAGTAGGTCGGATAAGGCGCTCG
+>r661/1
+AAAACGCTGGCGATCCGGCTTATCGTCCGATGGCG
+>r662/1
+AAAACGAAATATTAGCGCTGGTCGAGGTGTTACAG
+>r663/1
+GCTTATCATCAGCAGTCTTGGTTTTGGCGGTACCT
+>r664/1
+AATATGCTTACCGAAAAGAAGAACAGTAAACCATC
+>r665/1
+AAGGGGTGAGCGCCGAATCTCACCCGCTGTTTAAC
+>r666/1
+CTGTAGCTGCGCCATATTCATATTCTGCAACTGGC
+>r667/1
+GCTGGTCGTTTTATCCTTTGAGTTAAAAAGCTCCG
+>r668/1
+ATGCTGGTTTTTGGCTTCGCAATGTACGGTGCCTG
+>r669/1
+TAAATCCATTATGCCTCTCCCGTGAGCAACACTGT
+>r670/1
+ACCTGGTTGCTCAGGGGCGTCGTCCACCTTCCAGT
+>r671/1
+ACGCGCTTTTGATATTGTGATACAACCCACGATTC
+>r672/1
+GTGGGTGTTTCGTCATCCGGGCGGCAATCGTAATG
+>r673/1
+TTTGGAGGAGTGAAGTGAGTTCCAGAGATTTTCTC
+>r674/1
+CCGCGTTGATTTCGTTGAGATCGAGCGTACTTAAC
+>r675/1
+CGTTCACGCCGCATCCGGCATGAACAAAGTGTACG
+>r676/1
+TTAAACGCAGCTCCGGGCTCATGCTGTCGAGGTTA
+>r677/1
+ACTTCCTTAACATGGTTTGTACCCACATGGCGGAT
+>r678/1
+TCTGAGTCTCTACCCCGGGTAGCTGCCCGGTTTAA
+>r679/1
+GATCCGATGAATGTCATCGACTGGATCAACATGTA
+>r680/1
+ATCGCGTAGCGCATCAAGGATAAACGCAAAAAAGC
+>r681/1
+CCGCTGCCGCGTTTGGCGTCGACCCCATTCCCGCC
+>r682/1
+TTATCTTGTCTCATTGAATAAAGATAAGTATCTAT
+>r683/1
+ATTTCCGGCGACATAATCCCGGCGCGTGGTTTTAC
+>r684/1
+CGCCACTGGTTACCGGTGTGGTTATTACTTCTATC
+>r685/1
+GCGTAGAAATGGCGCAAAAAGAACAGACCCGACAA
+>r686/1
+AGAAAGTACTGATTGATTGCGACAAGCTCATTTCC
+>r687/1
+GGATTGTTTTGTGATGGTGACTGTCGGGAAGATTA
+>r688/1
+TGGGGTCGATGACGCGCCCTTCCTGACTGATGTAA
+>r689/1
+TGATGGTGGCCTTGATGCCTTTGTTTTTTATATTC
+>r690/1
+AGCTGACCACGGTCGTAAAGGCCCGCTCAATCTGC
+>r691/1
+CCTGCTCTTTCGCATTCGCTGAACGTGAGCTGATG
+>r692/1
+CCTCACTTGATAATGTCTATTGGCAGAAAAATTTC
+>r693/1
+TTTCGTCGGCCTTTTTCATCAGGATCGCCACGCGG
+>r694/1
+CACCGAGTTAAACCAGCCGGTAGCAGAAAGTCGAC
+>r695/1
+GCTTTATCCGTTCTGGACTTCCCCTGCCAACCAAC
+>r696/1
+AACGGCCCGGCGTTGCCACGATAATATGCGGCGCA
+>r697/1
+TTCTCGTCAATCTGCTCCATTAGCCCGAGATCTTT
+>r698/1
+ATCTTCCATGGCGTCAAGAAACAGCGATTTGTCGT
+>r699/1
+ATCAATAGGGTGAATTCTTCGGCGATAATTTGTTC
+>r700/1
+GATCTCCGGATTGTACTGAAAGAAAATATCCCGCC
+>r701/1
+TTTCTCCTCCCTGCTGATGCTTGCCGAACGCGATG
+>r702/1
+CACTGGCGAGGCGATAACCCGCCCGTTGCCAGGCT
+>r703/1
+GACACCAGCACGTTTCCCCTTTCCTCCTGACACCC
+>r704/1
+TTATTCGTACTGTCAGAACGAATAAATTATTCATA
+>r705/1
+AACGTTTCGAGCGTGACTTGCTCAACTCTGGCATG
+>r706/1
+AAAGCAACGGCGGCAAATTTGCCTTCGCCAGCGTC
+>r707/1
+AAAATAGATATGTCCGCCAGGGAAGATCAAATGTG
+>r708/1
+CCTTGCTTCCGGTGACTTTGACCTTTCTGTCGCCT
+>r709/1
+TTGAGCGATGGCCCTTCCATTCAGAACCACCGGAT
+>r710/1
+CGACATCGTCGACCACTACACCTACGCCTTCATGG
+>r711/1
+TACTGCCGGTGAAGCGAAGAATCCGCAGGTGACGC
+>r712/1
+CCCAGGGCTTTCCAGCTAAAAAGGGGTTTAGCCTG
+>r713/1
+CACCAGGGGGATATTGCTCGGGCAAACCCACGCGC
+>r714/1
+AATTTGATTATTTACACCACGGTAACAGGAACAAC
+>r715/1
+TCCTCTTACTTCCGGTCGTACTACAGCGCCAGCCC
+>r716/1
+ACATATCTGTTCTACTCGCTTGGTAATGGTCGTAT
+>r717/1
+ATAAAACAAAATAACCATACAAACCAAACACACAA
+>r718/1
+GCAACACCGGTTTATCTGGAAACAGCACGTAACCC
+>r719/1
+TGGGCGTTGTCAACAAAATATGACGCTAACAATGT
+>r720/1
+GGTTGACTCGATGTTGGGATTGAGCGGCAGACGTA
+>r721/1
+AACGCCTAATGCCAGCGATATCGCGATGGAAAACA
+>r722/1
+TGCTTCTAAGCCAACATCCTGGCTGTCTGGGCCTT
+>r723/1
+GTGCTGGCGAAACCAGAATGTAAAATTATGCTCCT
+>r724/1
+CAACTGCCCAGCTTCTTGATTTGCGCATTTTCCTT
+>r725/1
+ATTATCGCGTAAGCTGGCATCAGAAGGTGGCGAAC
+>r726/1
+TCTGTACATCCCTTCTCCTTCAGACAGGATTTGGC
+>r727/1
+GCTCCTTCAACTGGGCAAACAGAGATTCGTAGCGT
+>r728/1
+TTTTCTGTCACGCAGACCGCTGTCACCATGTGTCT
+>r729/1
+AACCTCGTTAATCTGCTGAAACTGTTGTGCAAAGA
+>r730/1
+CGTGGTGGGCTTCTCCGACAGCGCCAATACATCAC
+>r731/1
+CGGTATCTTTCATTGATTCTTTATGGCCGATTTGT
+>r732/1
+GGATGGTGAAACTCTGGTTGGTCAGCCGGCTAAAC
+>r733/1
+AGGTATTGACGGAGAAACCGAACTTGATCTGTGCG
+>r734/1
+CAGAGCATTGCTTACAACCACCCGGATTGTGTGCT
+>r735/1
+ATGTCGCGCTGTTTGTCCTGATCATCGGTGGATTT
+>r736/1
+GGGCAGATTATTCTGCTGATCAGAGAAGCCATGCT
+>r737/1
+ACCAGTCAGACCGAAACTGAAATCATCGCTTTCGA
+>r738/1
+GGAGGGTTATGCCATCATCATGGAAACGACGCCAC
+>r739/1
+TCTGTCCCTCATGACCAGGCGCGACAAAACCGATT
+>r740/1
+TCCGTAAGCAAACCAGGTTAACGATTGCGTGAAAA
+>r741/1
+TCTTTTGGCTTGGCAGTGTCTATTTGACGGGCATT
+>r742/1
+GGTGGTTTCCATTGTCGTGGTGGGCGACGCCGCCA
+>r743/1
+TTTTTCCCTGGCAGATCCGTAATCAGCAGCCTGAC
+>r744/1
+GGGGATATTCTTTGGCTATGCTGCTTACTATTTGG
+>r745/1
+GTTGTTACTGATAAAACCGGTTTCGACCAGTACTG
+>r746/1
+CATATACTGCGTTATCGGTTCGGCTACGGAGAAGA
+>r747/1
+CCCAGCCAGGTCATCGCCCAGCGCATTCCCGCCCA
+>r748/1
+TTCACCATCTCAGGATCGAGCGCCGACGTTGGCTC
+>r749/1
+TTTCCCATTTTTATATCTGCATATCAGGAAAATCT
+>r750/1
+ACTCTCTGCCCGCCAGCAGATTTGGCAGCGAGACA
+>r751/1
+TGATTACTGGCGTGCCGTTCGATATGGCCACTTCT
+>r752/1
+GTGATACCCGAAGCCACCTGTTGCGTGCCACAGAC
+>r753/1
+CATGAGATTTCCTTAACAAACAGAGCAGAAAAAAA
+>r754/1
+AGCCACTACCGATACCCCCGCAGATACTGCATCGA
+>r755/1
+GAAACAAGAGAACGGCAAAGCCAAAGTGTCGCTGA
+>r756/1
+TAATGCCAGGTTTTACCATGCGTAGCGCCAGGTAC
+>r757/1
+TTAATAAACAGCCGGTTATAGCTCCGAAAGCGAGT
+>r758/1
+TTATCCCACCGTTGAATGCCGCATAGATACTGTCA
+>r759/1
+GCTGGCGCTGGCTGGTGGCGATCTGGAACAGGCTC
+>r760/1
+TCTCCTTCTTGGTGCCGAAGTGGATAGCCCCGGTC
+>r761/1
+GAACAGTATGAAATATTTGATTATCCGGGAAGGTT
+>r762/1
+GAGCACCTGTAGCGGGTCATCAGTGGTCGTTGTGC
+>r763/1
+ATTTGATGTTGCTGGCGGCGGTATATCAGATTTCT
+>r764/1
+CCGCTACTCCGTGGGTGTGAAGAGGGCTGACCTGT
+>r765/1
+TCCGGGAATGCCATCAAAAGTCACACGCACCCGGG
+>r766/1
+TTTAATCTTGAAGAGTTGCCGGTAAAACACTGGGC
+>r767/1
+ACTAGCTGCGTTTCTTGGAGCAAAGAATATCTACT
+>r768/1
+GCTGTTTTCCGGAATATCACCGGCCCAGGCGCTGG
+>r769/1
+GAAAGACGGTTTAAATGAGGCGCTTATGTTTGATT
+>r770/1
+GAATATCTTCCAGCAGGCTGGCGGCACGTTCTTCA
+>r771/1
+GAGGCCGCCCACAAGTAACTTGCGGCTGTGATTTG
+>r772/1
+GTTGATTTATGCGACTTCATTTGAAGCGAATGCGT
+>r773/1
+TATCCAAAGCGGTAGGTGATGCCGAATCCGGAAGG
+>r774/1
+GTCGATGGCTGCTTTCGCGTCAGACTGTGCTTTCG
+>r775/1
+CGCCATGAGAGTGGATCCCTCTGGCATCGGCGTAA
+>r776/1
+AGCACCTGCTCACATTGTTGAAAGTTCCTCAGCAC
+>r777/1
+TGCCGCAGGTGACCGCGTAAACCGTCAGTGCGTGG
+>r778/1
+ATTTCAACCACTTCTTCGGTTGGTACCATGACTTC
+>r779/1
+CCACTGCCTTTGGTAGAGGAAAGTGCTAAATAATA
+>r780/1
+AAGACCATCAAAATGAAATTTGGTCACCACGGCGG
+>r781/1
+CAGCGCGGCGTGCTGTTTAATGCAGTAACCCGATG
+>r782/1
+TTCCTTCGCCAATTCCCTGCAATGCGCCCGTAATC
+>r783/1
+CACCAACATACCGAGATGTTTTTTGCTCTCCACCT
+>r784/1
+GAGGTGTCTGCCAGCTTTAATTACAACTATATCGG
+>r785/1
+TATCAATGCTAAAGGTGGTATCAAAGGCAACAAAC
+>r786/1
+GATAACCGCACCAGCTGCCGGACGCTCTTCTGGCG
+>r787/1
+CGTGACTGGGATATAAACTCGCCAAACCATTGTTT
+>r788/1
+TATGACGCCAGCGACATTTGGCGTTCCTGCTTCCA
+>r789/1
+ACTTTGTCGCGCAGATTGTGGATATGCACTTCCAG
+>r790/1
+CGTTCCCGTTTGTTTTATTTTTGTTAACATTTAAT
+>r791/1
+ATTTATTGCTGATTGTGCGGGGAGAGATAGATTGA
+>r792/1
+CAGAGCGTGCGCCGATGAAGCAGTTATCTTCAATA
+>r793/1
+CAATCATCGCGAACAGGATACCAATTGACGCAATC
+>r794/1
+TCGAAGAATAGGGCGCATGGGGCATTGCCAGACCA
+>r795/1
+TCCAGCAATCACTGAACCAACATTTAAAGCTCTGC
+>r796/1
+ATCAGAGTGCAGATTCAATTTTGCAGCATTCGTCA
+>r797/1
+GATGCGGGAAAACTGGCGGTCGGGATGCCAATTCG
+>r798/1
+TGCCACAATGACAAAAAGAATCACAATAACGAAGA
+>r799/1
+CGTCAGCGCGGATTTGCGCAGCCATCCCCTTGAGC
+>r800/1
+TAACACCGCTACGTACGGGGTTTTACTGCGGTTGA
+>r801/1
+GTCAGAGAATCCTCTTTTTCCATAAAGCGACGCAG
+>r802/1
+CCACCAGGGACAGCTGTATGCCTTTATCACTGCCG
+>r803/1
+TAAGTGATCATCGGCCCGACCAGCTTCGCCAGCGT
+>r804/1
+TTCAGGTAAACTTCTTCGATATCTTTGATGCCGTT
+>r805/1
+CGGAATCCATCGCCTGATTCACCTGCTGAGAATAA
+>r806/1
+GGGAGACACAGTGCACTGGCAAACTCACACCGTTT
+>r807/1
+GGGTACGGGTTGCGAGGAAACACTCTTCACGGCTA
+>r808/1
+TGCGTCAGCTCTTTAATCTGATTGGTCAAAGTATT
+>r809/1
+CACAAGATATAAAGAGCGTGAGGATGTTATGGATC
+>r810/1
+ATTTTTACTTCTTCTGCCAGCACATTACGCTCATC
+>r811/1
+GTTATCAATATACAGCCGCATTCCTGTGCCGAGTT
+>r812/1
+GTGTTCCGCCATTACGTTAAAACGCACCTTATAAC
+>r813/1
+GCTCCCGTCAGCAGGAGAATCAGCAGTAAGAACAG
+>r814/1
+GATGGAACCAGACCAATTAACCCATGCGGGACTGT
+>r815/1
+ACCGTTCATCAACATCACTTCATTTCCGCGCGTGA
+>r816/1
+GATACCACTTTTGCACTGCGTAATATCTCCTTTCG
+>r817/1
+CGTTGCTGTGAATTGCCAGTCGACGCATCGCACTG
+>r818/1
+GTCGGATTTTTTAGTTCGCAGCGCCCGACCAACCT
+>r819/1
+ACAATCTTTTCCGCGTTATTCGTGAACTGCGAAAA
+>r820/1
+ACCGCTTAATAATGCAGCACATGCCAGAGCGCCTG
+>r821/1
+GAATATGTAGCAGAACACCTGGCTGAAAAGCTGGA
+>r822/1
+TCTGCCGAACGCCCCACTAACTCCGCGTCAGGATA
+>r823/1
+CCATTGCCGATATGGATCAATCGCAGTTATCGAAC
+>r824/1
+TTGTTTACCATCACCAAGCAGGGATGAGAGCAGAC
+>r825/1
+GTCAGAGGAGCCAAATTTTAGTTTTGAGACATCTC
+>r826/1
+CATCACATTATTGCTTGCCAACAGTGACCATCCCC
+>r827/1
+CCTGAGAAGAGGCCCATCCACGTGCTATGTTTGCC
+>r828/1
+ATCATTCCCAGATAGCTGCCGCCGACCTGCACGCT
+>r829/1
+GGTCAATACTGTTCTTCTTTAATACTGTTTCATCG
+>r830/1
+CGACTCGTATGGCAGCGCGATGGCGGAGAGCATCA
+>r831/1
+GCGCATGTGCCGCGCTCACCCAGTGAATAACACCT
+>r832/1
+CTTTTTCCGTTTCGAGGTCGGCGGTCGCTTCGTAA
+>r833/1
+AGCGGTGGTTGGTGATCTTCAACAGCCATCGTCAT
+>r834/1
+GGAGTGTCGTCTGAATCATCATCAGGTGGAGTTGG
+>r835/1
+GCAGGGTGTTATCAGCCGTACACATGGCGGTGTGA
+>r836/1
+CGCTGGCTAAACTACAAGATGCTCTCGGCGATCGC
+>r837/1
+CCAGCATCCGGGAATTCTGTTTAACTACATGTCGC
+>r838/1
+AGTTGAACCGCGATTCGGCTGGCTATGGAACGAAA
+>r839/1
+CGGGAATTTCGTGCGGAAGAACTCTCATCGTTGAT
+>r840/1
+TTGGCGGTACGGTGTTGGGTTCGATTTTAGGTCTT
+>r841/1
+AGCAGGTTTACGCTTACGGGCTGTACCTCTCCGGT
+>r842/1
+ATGTACATGGCGGCATGGGGATCATGATTGACGAT
+>r843/1
+CGATGTAATCAATACCCAGACGTTGCAAGCTGGCT
+>r844/1
+ACCCTGCTCGGTCAACATGACGCCGTTGCAGGCGT
+>r845/1
+GTTGTTTATCGCCCACGACAATACTCATTAACCCG
+>r846/1
+GACGGTTGAAACCATCAGCCGTCTGCTGGGTCGCT
+>r847/1
+CGTTTTATCGAACGTTTAGGGCTGCCCGCGGTGCG
+>r848/1
+AAATCACGCCAAATTGCATCAATGACGCCATCAAA
+>r849/1
+CTCCAGGGCTCCCCTTTTTTCAGGGTGAACCACAT
+>r850/1
+TGAGCAACTTCAGAGCGCACCTGCTGCGCAATCGT
+>r851/1
+TTAAGGCAGCCAGGAGACGTTACCGGGTCATGGCA
+>r852/1
+CCTTTCGCAGCCATACCCAGGTGAGTTTCGAGGAT
+>r853/1
+TGAAATGAAAGACGTTACGATCGCCGATCTTTTTG
+>r854/1
+CGCATCCCGCCAGATACCCCAGACCAAAAAAGAGC
+>r855/1
+CGCCTTCCGCGCCGTTGGCAAACGCGCCTGGGGCT
+>r856/1
+GCGCGTCCTCCTTGCATTCCCACAACAGCTCGTCC
+>r857/1
+TCGTAGTACGCATCGGTACGCCAACGAAGGATGGA
+>r858/1
+CAAGGATGAACATATGCTAACAGTACCGGGATTAT
+>r859/1
+ATTTTTAAATGCCGGAATAATACTGTTGCGAATAA
+>r860/1
+ATCTCCGTACCGGAAAACCGTGAGTATGTTTACGG
+>r861/1
+AATCTTTTGTAGATTGCACATGCTAAAAATCCCGC
+>r862/1
+CCGGTACTGGTCAACTGACCGGTTGCCGAAGCAGT
+>r863/1
+ACCGTGAAGAAGAAAAAGATTAATCCAGTGTGAGA
+>r864/1
+TTCAGGCACAGTAAACGCCGGTGAGCGCAGAAATG
+>r865/1
+GAGGCTTGCACTTCGACAAGCTGATAAGAGGATTG
+>r866/1
+ATCCAGCAAACTGGCGGTTACGAAAGCGCGGCGAC
+>r867/1
+TTGGAAGTCACAGTAATTTCAGAAGTGAAGCCCTT
+>r868/1
+ACCAAAGAAACGTTGCCGACGACCGCCGCCGCGAC
+>r869/1
+CCACAAGTCGATGGATTGCTGGCCCCAACTGATAA
+>r870/1
+AGCCTGATGCCAAATCCTTTTGCAGTGGATTCACT
+>r871/1
+CGCCTGCAGCAGGATAGCATCCAGCAGTTCATCAA
+>r872/1
+CACACCAGCACGCTGATAATCAACAAAGCGATCGG
+>r873/1
+TACAGCTCATTGAAGAAACACTTAAAGAACTCGAG
+>r874/1
+ACTTGTTCTCCGTCTTGATCCGGCAAGCTAAATTT
+>r875/1
+CGAAAGTGAAAGCGATTGTTCTGCGTGTTAATAGT
+>r876/1
+CATTCGCTTCGATGGTAATGCTTGTGTTCTTCTGA
+>r877/1
+ATCGGGCGCATCGCCACCGGTACGCGGCTGAGCGA
+>r878/1
+CAGATTAATACCAATACCATTGATTTACGCTATAA
+>r879/1
+TTCTCCGGGGTTGATTCCGCCTTGCGGAAATTGCC
+>r880/1
+CCCTGAATTCGGTGATATCTGTCACCCATTTCTCA
+>r881/1
+GCGCCTGGAAACTAAACCAGATACCAATAGAACAG
+>r882/1
+ATCCCTATAAACAAGAATACTTACATATCCTTACA
+>r883/1
+CTCGATGATCGCCTGCTCATCGGGGATTAAGCGGG
+>r884/1
+AACGAACAGATTGAACTGCTTGAGGCGTTGCTGGA
+>r885/1
+TGGCGCTATGGCAAACAGATATTCTCGCTCGCAAA
+>r886/1
+GTTACCTGAACCGGCAACGGGGATCACTCAGCCGA
+>r887/1
+ACCAGACGGTGAAAGCGATTCAGGAAGCGGAAGCG
+>r888/1
+TTCGTGTTACGGATAATCTTCTTAATGCGCGGGAT
+>r889/1
+AACGTGTCGCCCAACCGTTTAAAACCGTTGCCAGT
+>r890/1
+GATAGTCAGGGCAATCAGGAGAATGGTCAGGGCAA
+>r891/1
+GAAACGCTGTCTGCCGTGGCGGATGACGGTATCGA
+>r892/1
+CCAGTTGCCTGGGGAAAATCCTCACTAAGCTTCAT
+>r893/1
+AGATCGTTGGTCGGTTCGTCAAGAATCAATAAGTT
+>r894/1
+TAGCCGATCAATACGTGAAATCTGGGGCGGTGAAG
+>r895/1
+AACTGCTGGAAATCTTTTTCCTGCTTTTTCCACTC
+>r896/1
+TTATGCGTTTTGCCCTAATATTTATTCTTCTTGTC
+>r897/1
+GCCCTTTTTCTTTCAGGGCGGTTTTGAATTTCTCT
+>r898/1
+GACGGAGGTGATTGGCCCCAGCATTTTCGCCCCGT
+>r899/1
+CTGCAGAGCGGTCTGGCACACAAAGGTGATGTCGT
+>r900/1
+TGACAATGTTGTGTGTAACACATGAGATGGGGTTT
+>r901/1
+CATTCCCGTGCGTGTTGCGATACATCATAATAAGG
+>r902/1
+CGACGGTACGGGCATCAATGTGTTCGTGCAGTTTT
+>r903/1
+TCTCACAGAATGTGCGGATTACTGGCAGATAACGG
+>r904/1
+TTTCTGCTGTCAATGTACATTATCTGGCATAAAAA
+>r905/1
+TCCTCCTTCATGTTGTGCTGGCGATGGAGCGCAGT
+>r906/1
+ATCTGAGTGAAACTATTGAAAATCTGTTATATATC
+>r907/1
+GCATACGGCGCGGTAGAAGGCGGTAAAGAGTACAA
+>r908/1
+GTTATCACTGCGTTCGTTAGCTTGATGGAGTTGCT
+>r909/1
+GAATCGCTATTTTCTCCGCGCCACACCAGGGCCTG
+>r910/1
+CTGGGGCTAAAACTGTTCCGCCGCCGTAATCGTTC
+>r911/1
+AATGCGCTGCAGGAGCTGATCATCGACGGTATCAA
+>r912/1
+AGAAATGCCAGATAAGCAGTCCTGTTACCGATGCC
+>r913/1
+GCAGTTATGCCGAGCGTGGACAGGCATCACTGGAT
+>r914/1
+AATAGCGAAGATACTTTCGTTATTTTAGAGGGCGT
+>r915/1
+GTTACAAGGGATTATAATGAAATTAAATATATTTA
+>r916/1
+GTGGGAGCCTCTTAATGGGGTGACTGCGTACCTTT
+>r917/1
+GGACTCACTATGTTTTCCGCATTGCGCCACCGTAC
+>r918/1
+AATGGTCGTCACTGCCTGCGCATTTGCCATTAAAG
+>r919/1
+TTCGATCAGGCGGCGAATTAAGGCATCGATGTGTC
+>r920/1
+TAATGGCGATTTCGGGAATAATCATATAGGTGGCG
+>r921/1
+TCGCCGCTGCGGTACGTTTCGGGCAACTCAGAGCA
+>r922/1
+CCTGCCGGAGCCAGCTTCTGTGTGGCGGTGCCGTA
+>r923/1
+CGCCGGAAGGTTATGCCTCCGGTTCTCTTGGCCCA
+>r924/1
+CTGCGAAGGAAAACTCACCGATCAATTTGGCCAAA
+>r925/1
+TCCATCCTTCGTTGGCGTACCGATGCGTACTACGA
+>r926/1
+TAAAATTCCCCCATTCTATAAATAAATTTTTTAAT
+>r927/1
+CGGTGCAACCAGGCCAATAAAGCCAATTGGCCCCA
+>r928/1
+TACAAACCAGGCGCTGGATGCCTCGCTGTTTAGCG
+>r929/1
+ACAGATGACGTAAATGCATGACGACTCCCTTTGAT
+>r930/1
+AACTCATCAAGGTTATTGGAATAGATCCCCAGGAA
+>r931/1
+CTAAGCGAACGCGGCGTTAATTTCATGCAAGGCTA
+>r932/1
+AACACGCCAGAAGAACGCCAGCCATAAGATCCGGC
+>r933/1
+TTTGCCCGGCAGGCCAGCTAAGTCGAGCGCACCTT
+>r934/1
+ACGATGGTCAGAACTTCGCTGTAGAATTCAGCTTT
+>r935/1
+GCAGGCTGTATGTTGCGGTGACTTTTTCCAGTCCA
+>r936/1
+CGTTACGTTGCAGCACTCAAAAGTGAGCGATTCTG
+>r937/1
+CCATGGACTGAAAACCGACATGCTTTTCATCCTGC
+>r938/1
+AGTAGCGTTAGCCAGAACATCGCATCGCCAATCCC
+>r939/1
+TAAATGCCTTTTGCCCGGTGCCGCAGAGAAAATCA
+>r940/1
+TATATTAAATATAAATGATAAAACAATACATTCAC
+>r941/1
+GATACCGATGTTGAGATTGTCAAAGGGCTGGAAGC
+>r942/1
+GCACGCCGACTTCGGTGGTGAAGTTGAACGTGTAA
+>r943/1
+CTCAGGAGTTGTGGACGCAGATTGATAACGGTCAG
+>r944/1
+CGTTCGTTGAGCAAGCTACGGCAACCTGGCTGAAA
+>r945/1
+TCTGCACGATAAGCATTTTCACTGCGCAGGTACCA
+>r946/1
+TTCTGACAGATCGGGAGAGGCCGCGATAATGGCAC
+>r947/1
+AATTATCCGGATGGTGTGTTACGGCCGGGATTCGC
+>r948/1
+AGGCCTGTGTGTTTGATAAATTTCTCTGCCATGGT
+>r949/1
+ACCACGGGCACGCGCCTTGCTCTTTCGCCAGCTCA
+>r950/1
+CGGCACGCGTTGCGCATGACCTTTCAGTTTGCCGC
+>r951/1
+CCGTACAACAACTGGCTGTATCCCATCACTTCCAT
+>r952/1
+CATCATTAAATACTTTAAGAAGGGATCTGCACACA
+>r953/1
+TCGGTTTCATTATTTACGCAGTCCAACTTGCAGGT
+>r954/1
+GCTGGGGTAAAACGTTGCCTTGATATCGGCGCGGG
+>r955/1
+CCATTCCGTTCCATGACATCACTTTGCCGGAATGT
+>r956/1
+ATCCCAACCCTGATTCGCCGCCCAGTGTTTAGCAA
+>r957/1
+ACATCGATGCCGAATTTGCCGTGCTGGTTCGCTCG
+>r958/1
+CGCGGGGAATCAGGCAGGCGGCGCGGATGCGGCGA
+>r959/1
+GAAATCCCGCAGGAAATCCTGGAAGAGCGCGTACG
+>r960/1
+AGGCAATACGAAAAGCTCCTCACTTACGGCTGACA
+>r961/1
+GTAAGGACCCACAAGGATGACGCACGATAATATCG
+>r962/1
+TATTATCGCCATCTTATTTGCGATGAGATTTTGCA
+>r963/1
+ATTACTAAGATAAAATCAACTTGCAAGAGATTGTA
+>r964/1
+ACCTTCTTTCGCTGCGATTTCACGCACCTGGTCAA
+>r965/1
+TAACCTCGACGACCGTGAATTCTCCGGTTCGCTGG
+>r966/1
+ATTTCTTACGTGGGAAATCGAGCAGGTGCTGCAAC
+>r967/1
+GGCTGTGATCCATCCCGGCCATCGCCTGATCGCCA
+>r968/1
+CCTGATGGATGAAATGAAGACGTTTATTGCCTGAG
+>r969/1
+AACATCCATTTAATCGCTTTTAAAGGCACACCTGG
+>r970/1
+GGCCTGCGACCAGTCGGGTGCGACAGGAGCCGCAG
+>r971/1
+GCAGGGATGGCTCCGGGCAGGGCGGGAGACTTATT
+>r972/1
+CTTCACCACGGGTGATGATTTTCATGAGAATAGTC
+>r973/1
+AAGAAAACGGGCCAGATGTGTCCAAGACAGGCGGC
+>r974/1
+GTTACACCAAAATCCCAACCTGGATCATGCAAGGC
+>r975/1
+TAGGAATGCTGCTGCTAAAACGTCTGGACGACGCG
+>r976/1
+CACCGAAGCCAAATATTCATGGTAATACTCGCTGC
+>r977/1
+GATACTGACTCACCTCCAGCCAAAGGGTATCGGTG
+>r978/1
+AAAATCAGGCCGATGACGTTACTGTTAATCAGAAT
+>r979/1
+ACATCATGCGGCTGAGCATATTAGAGCTTAATCCG
+>r980/1
+AACACGCCGTCGCCTGCCAGCTCTTGTGGATCGCT
+>r981/1
+CACCAGCTCGGCAAGGTTATCTTCCAGCAGCGAAA
+>r982/1
+TCGCCCGGTTAGTTTTAACCTTGTCCACCGTGATT
+>r983/1
+TTTACTTAGCGGATCGTTTAACTTCACGGTCCCCT
+>r984/1
+CCTGACATTTAACGGTCATTTATGGTTGATTTCAC
+>r985/1
+CGACATGGTCGGTCACACCGGGGTGATGGAAGCGG
+>r986/1
+GTGTATCATAATAGTTTATTTTATCTCCTACACAA
+>r987/1
+GAGCACGTTAGAGCTGGAGTCGTTTTTAACCGCCT
+>r988/1
+ATTTTGTGCCTTAAGATTACTCTCCAGGTTTTCAC
+>r989/1
+TTGAGCGAGGTGGTCATGGTGTTGATTGCGCCAGA
+>r990/1
+AACAATCGCCGATGCGCCGCTATCGTTAAGCTGAT
+>r991/1
+CCCTTCTCGGTATAGCGGAAAGTAACGCCTGCACG
+>r992/1
+CCAATCCGGAGCTGACCCAACGCGGTTATCAATAC
+>r993/1
+GCCGGAGTGCGTCGCTGCACCAAAAGTTCGTAGTA
+>r994/1
+TCAGTGTTGGCTATCGCATTGCCCTCTGTATCAGC
+>r995/1
+AGTTCAAAGGTACCGGGTGTTGCGGGGATCGGACC
+>r996/1
+TCAGCGCATCGGGGTTAGCCAGCGGCTCATCCATC
+>r997/1
+CTTACGATTTTTGAGAGCCAGCGCAACATGTTCAG
+>r998/1
+TGTAGGTCTGATAAGCATAGCGCATCAGGCAATTT
+>r999/1
+ATCTTCCTCGCCCGCATCTCCCGTGGTCGTACCGT
diff --git a/reads/e_coli_1000_1.fq b/reads/e_coli_1000_1.fq
new file mode 100644 (file)
index 0000000..1f1724b
--- /dev/null
@@ -0,0 +1,4000 @@
+@r0/1
+TATTCTTCCGCATCCTTCATACTCCTGCCGGTCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r1/1
+TGATAGATCTCTTTTTTCGCGCCGACATCTACGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r2/1
+CACGCCCTTTGTAAGTGGACATCACGCCCTGAGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r3/1
+CGATGCAGATGCGTACCACCTGGACCAGGCCTTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r4/1
+TGACTTTGCTGGTGCCAGAAGTGGCGGCTGAAGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r5/1
+CGGGGATTTAGCTTCGCCTTTGGCGACAGCAGCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r6/1
+GCGTATACGGCGCTGACCCAGGCTTTTTATCTGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r7/1
+GTATCGCTGTTTTCCAGTTGTTCAAGATAAGAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r8/1
+CCACGGTTGATGCTGGCATCGCTGATTGGTGCGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r9/1
+GCGCCTTAATGCGCTACTCCACCAGCAATTACGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r10/1
+CGCGGCAGCCTATGACGAATCCTACGCTGATACCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r11/1
+TTATGAATGTAAGCAGCACGTACACCGTTACGTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r12/1
+TGCTCCGGCAGCGGCTGCTCCGGCGGCGCAACCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r13/1
+CGCCGGGAGTCTGTTATTCGTCAGCTATGAAATCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r14/1
+GTAATTTGAGTAATGCCCACCAGTTCCATCACGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r15/1
+ACGGATTGGCCAGGGTTTCAAAATCCTGCGCCCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r16/1
+CTATTTCTTGTTGGAGCATGGTTATCCGCCGCAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r17/1
+TGTCGCCATCTTTAATGGCTGGCAGGTAATTTTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r18/1
+TCCGTAAATTCACCATGAAACTTGCCCGGATGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r19/1
+GCAAGACTTTGCAGTGTCATCAGCGGATCGGTCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r20/1
+TCTTTATTTTTCCCAGAGCCTAACGACTTGCCATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r21/1
+ATCGAGATATTTTATATACTGATTTTTTTATTATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r22/1
+ATGACTCGCTCAACGTTCTGCTCGTTGATCTCGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r23/1
+ACTCAGTCTTGGGGGACTCAGCCCGGTAGAATACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r24/1
+TCAAAGAGTGCTTGTTCGATACCGAACTGAAAGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r25/1
+GCCCTGTGCCGCGCTGCCGGAACGTACCCATTCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r26/1
+CGAGGAAGGACGTGGCGAGGGCTAAATCAGCAAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r27/1
+CCTGCCGTCGAAATTTGTTCGGAGATATCCGCCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r28/1
+GGAATATTTGCGATTTGCCATTTTCTCTCAAGAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r29/1
+GCTGCCGCCAGATGCCAGATAGCTCCGGTGCCTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r30/1
+GCAGAGAAAGGAACATCCTGACAACACCTTCCATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r31/1
+AAGGGTATATCACCCAATGGATTGCCCTGCGCATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r32/1
+CTATGAGAGCATGGTATGCTAGTTACTATCATATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r33/1
+CAGCGGCTCGTTGAGCATACCGTCGCCGAGGTTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r34/1
+TCGGCAAGCGAAGTGAGTTTGTTTTTCTCTGCCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r35/1
+ATTCTTCCGCATAACTCACTATCCTTCTGTCATAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r36/1
+TGAGCCATACGCGCAATTGCTGAGCATCCAGCGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r37/1
+ATAGCGCGTTACGCATGGGATATGAGGCGGTACAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r38/1
+ATGATCGGTAACGCAAAAAGCCTCGCCCTGAGGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r39/1
+ACGCGCCAATCAGCACGCCTCCGACAAATCAAAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r40/1
+GCTACGGGGTGTACCTCTGACAGTAAATCCGGCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r41/1
+GCAGATCTGCTCGATGCTGGTTTCCGACAGCATAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r42/1
+AACGCGCCCTGGCCGTTATGGATATGTTGCAGCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r43/1
+CCCTTCCAGACTGGCATGAGTAACAACGATATCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r44/1
+GAACTTAAGACCTCTTTTCTGAAGCTCACAATGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r45/1
+AGCAAAAGGCTTTTTCGCTATCGGTTTCACCGACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r46/1
+GGTCTTTAAAACGAATTCAACCTCTGTAGTGACGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r47/1
+AAAACCACTGGTGACGGGTTTCATAATGCCATCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r48/1
+TACCGATCATGCACTGTTTGATAAAGGCGCATATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r49/1
+TTTTCAATAAAAGTAGTTATGTTTTTATCTTTTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r50/1
+AATGCTTTTTAGCTTATTTTTATTTGTCTCTATTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r51/1
+CTCACTGAAACGTAACCCGTTCCACCCTTTCGCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r52/1
+GGTTATGCGATGACAATTGCGCTCACTATTGGCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r53/1
+ATCGCCCACCAGCGTTTTCAGCAGCGTTGATTTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r54/1
+CCGACCTGAATATCCGGATTGCGGATCACCTGGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r55/1
+CCCTTCTTCTACTGCGCGCGCCACTTTTTGCTCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r56/1
+TGGCGGCGAAAACGCGAATTACACCGGAAGATCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r57/1
+TGGCCTTGTAAAATGCGTCATAGGCGGGTGTGTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r58/1
+TTCCGGCAGAAGAACAGGTACGTATCCTGCGTAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r59/1
+TAACCGTCACAGCATTGGCTGCGGAAATTGCATCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r60/1
+CATCGCCACGCAGTGGGCCAGAGCAGCTCTCGAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r61/1
+TGGTGGTGGTCGATAAGCTGACCTACGCCGGAAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r62/1
+AGCGCGGTTAGTTCGTTGCTGCAATATACAATGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r63/1
+GATTTGCCGAATATATTGTCGTTAAGCGAAACAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r64/1
+AGAAAGTACGTGAGTTGCTGCTGAGCAACCCGAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r65/1
+TAAACCGTTTGTGTGAAACAGGGGTGGCTTATGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r66/1
+AGGCCGATACCGGTTCTATCGGCGGTAGCGCCTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r67/1
+ATGCTATGACTCACCCGGACGGTATGCAAATCAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r68/1
+TCGTCAACATGAATATATAAGAGTAGGGGACTACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r69/1
+AAAGCGCCACTGCCAGACCGACAAGCCCTACAGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r70/1
+GGGTGAAAGTTGAAACCCGTGGTTCTGTTGGCGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r71/1
+CAGCTTTATTGGTATCGCGCAAACGCAGACCACTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r72/1
+ACGTGCGGTAGAAATGGCTTCTTCATTGGTGATGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r73/1
+GTACATGCATTAATTATCTGTCCATACAATTGCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r74/1
+GGACACTCATCACGCGCAAGGGCCCGGTAAAAGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r75/1
+GCAGGCAAAGCTGCCAACAGGCTGGTGAGCATGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r76/1
+TTAGGACATACCTTGACTCTAAAGCTTATCAATTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r77/1
+GTCAATGGTCGTTGCGGCTTACCCGTAAAAAAACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r78/1
+AATGTTATGTCATATATAAAGAATAAAACAGAGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r79/1
+ACGCGGTTAATACTCCCCACCAGCATCATTAATCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r80/1
+CTGCTGAAAGAGCAGCTCGAAGAGATGGGGCTTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r81/1
+ACCGTATTCGTCAGGCGATTCGTGGGATTAAAGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r82/1
+ATGAGTTTTATGCCGAGTGCGAGAAAGTCGGCGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r83/1
+CATAAGGAGCGGATTAATAAAGCCTTTGAGTGAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r84/1
+GCGAGCCGAGGTAAAACCCAGCGAAACTGGCGTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r85/1
+TCACAACCCAGCAACGACGAGAATGCCGCGGCGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r86/1
+GCAGATGCAGCAGTATGAAGAAGAGCAGCTGGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r87/1
+GGCGCACATCTTTCACGCCGGCATAAAGCATAATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r88/1
+CAAGGTCAAAAGTTCGGGCAAAAAAGCCGTTCCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r89/1
+GATGCCCAAAACAAGTAATAGTTCGAGTAGTGAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r90/1
+AGCAGCATTACGACAACTTCCGCGACCGTTTCGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r91/1
+CAACGCCATTACGACCACGCTGTAAGCCCCATGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r92/1
+CGGGCCGAGAGAGGCCAACATCATAGTGCCAAACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r93/1
+TTAATTCGTCTTTGCTCTCTTCATCAAGACTCACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r94/1
+TGCCTACCGGGCAGGATGCGCCGTGACGTGGCAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r95/1
+ACGCCGCCCGCCAGCGGATGCAAAACCGTGCGCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r96/1
+GATGGCGGTCGTTCCAGCCACCAATATGTGGGTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r97/1
+AAACGAACTATCGCTGCGCTGACTCTGGCAGCGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r98/1
+CGACCCGAAAGAATTGCTTGAGGCGAACTGGTATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r99/1
+CTTGAGTCTATGCCATTTTGCGTAATTTTCAGCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r100/1
+TCAGATCAGAGAATGGTTTGGAGAGAACACACTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r101/1
+ACAGCACCGCAGAAGGTAAGGCGCAAAACCGCCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r102/1
+ATGCCCGCCGCTTTGGCGACATTACGGCTAAGGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r103/1
+GCGGTAGATAACGCGCAGCTGCGTGATGTAAATGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r104/1
+CGGCAATTCATCTCTGCATGTAACAAAATAATGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r105/1
+TAAAAACCACAGACAAAACAATACAGTGTAAAGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r106/1
+ACTTTGTCATCTTTAATCTTCAGCCATACCGGTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r107/1
+TCATCCCCCCTTCAACGCCAGGCACCATTTCATTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r108/1
+GCCCAACTGGCGCTGGTGGGCACGTTGCATCAGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r109/1
+CTCGGCGCAACTGGACTTCGCCAGTAAAGAACAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r110/1
+ACGAGAGTATCCTGCTGCTGGATAAAAATTTGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r111/1
+GTAACCGCCCGACTAACTCCATCCTGCTGCGTGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r112/1
+CAATCTCTTCGAGAGTCGGGAAGAAGTCATCCCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r113/1
+AGGTTGACGGTGCCGTTGAAGACACTTTTATCTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r114/1
+TCCAGGTGCAGAGTGTCACGCACCGGACGAACGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r115/1
+TGTCTGAGCTGGGCCTGAATGCCAGCGCCAAATTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r116/1
+TGAACGCACAGATTCGCCGTAACTTGCCGATCGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r117/1
+TACCGAGACGTTTATGGTCAACGGAGGTCAGCCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r118/1
+ACCGGATTTGTGCGTAATCCTGGTCTGTATGGCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r119/1
+GACGCTAGGGCCAACTCTGGGGGGCTGGATCACTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r120/1
+CCCACGCCCGACGTACGGCTGATGGCATCTTTCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r121/1
+TACCTTCATAACAGTAGCAGAGCACCTGATTTGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r122/1
+CGTGGGGGCCACACGCAAAACTGAAACTTGACCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r123/1
+AACATCGTCCACGTCGGTTAACACCTCGTGAATGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r124/1
+TAATTTGCTGATTATGCGCGGCAATCTGCCCTTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r125/1
+CTGGCTGGGTGGTTGAAACCGCAGGGGACATCTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r126/1
+TCTATAATGAATATAATGTTGAGGTATCTATGCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r127/1
+TTCTGCTGCCGCTATCGGCATGGTGCATCTGTCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r128/1
+GATCCTCAAGCAACAGCCGCGCCCGGTCATCATGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r129/1
+CCGCCACCGCCGTAATAATCGGTACAAAGCGTTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r130/1
+GCCATGCCGTGGAATACCTGTACCGATCCGCCAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r131/1
+GCACTATTGTTGGATGAACGCTTAACGGGTCTGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r132/1
+CCCCATAATGGCGTTGAGATCCGGCGTGGAGATAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r133/1
+CTGACATCAAGAGCGCGGTAGCCTTTTTTAATATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r134/1
+CGACGGCGATGCACGTTGCGGCACTACTGGCGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r135/1
+CATAAAAAATTGTCGACTGGAGGGAGTTAAATCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r136/1
+ATTCTGGTGCCATCATTATCACCGGTGAAAGCGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r137/1
+TGACGAAAATCCTCGGAGAACGGATTTAGTGAGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r138/1
+GTACGCCTGCCGTCAACGACATCCAGTGACGCTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r139/1
+AGTGCGTGGGCGATAAAAAACGCCACCGAAAAGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r140/1
+CGGGTTTGACATCGCGTTTTGGCTGCTCCACCTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r141/1
+ATTCTGTCTGTGTCATGGGATTTACTGCGAAAGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r142/1
+CAGAGAGGTGATCGCCTGTTTACCGTGAATGAAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r143/1
+GGTCCCAAATCTGTCCCAATCAAAAAATAAGGAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r144/1
+TGGTACGCGCCAGCGCACTGCCATTTTGCGCCAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r145/1
+GTACAGACGCGCCATAACGCTGAGCAACGATATTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r146/1
+GGACATAATTGTTTTTCCCCCGCGTTCATATGAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r147/1
+TGCGCCCAGCTCGTTGATCCCTTCCTGCAGAATCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r148/1
+CATCGCCGCCTCACCGCCCGGCATGTCCGGCGTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r149/1
+TCGAATTACGACGAATTACTTAGTTTTCAGATCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r150/1
+GTCTATCTCCCACCAAAAGCCGAGAATGAAAAATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r151/1
+ACCACGCTGGCCGCAGCCGCAGCCAGCCCGTGGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r152/1
+TATTCCGGGTTGGGTTTGTTTGGTCTTGCAACGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r153/1
+TGATTACCTGGCGTTTAATTACGGTATTCAGTGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r154/1
+TCATCACGCAGACCTTGTTGCACATCGAGTAACAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r155/1
+GAATTCTAACACAAGACGAGATCGATATTCGAATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r156/1
+CGTTAGTCATAAATGGGGCAGGGTAGTAAACGCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r157/1
+ACATCACTTTGACCTTGCCGCTTTTACCTTTCATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r158/1
+TTGTGCAGCGCAGAACGGATTCTGGAGGTTGGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r159/1
+TTTTGCGCCAGATACTGTAGATGTGTTTCGGACGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r160/1
+CGGCTTCGGGATGCCGGCGTTCAACAACGACGAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r161/1
+TCGCCGTTAGCGCATTTCCCCAGTGAGATTTGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r162/1
+TTCCGGTAAGGAAGAGGAGTTAAAAATTTCAGTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r163/1
+GATCGCCAAGCGGTGCCAGTAACGGCATGGTTAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r164/1
+GGGTATCGCTTTTCATCCGCGAGTTATCCAGTAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r165/1
+ACCCGGCAGCCAGCTCTTTCTCGCGTTATGCGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r166/1
+AGCGCTCTTCATGCTGTTTGTAGATGGAAGGCAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r167/1
+AATTACCTTCACTTGTTAAGCATTCCGGGCGGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r168/1
+TGCTGTCGATCCGTATCGATCCTGAACACCATACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r169/1
+GCAGGAACAGCTGGATAATCTGGTCAAACGTCATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r170/1
+GGTGACCTGGTGATTGTCACCCAGGGCGACGTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r171/1
+ACAATGCGCAAATTCAGGCGCAATCCGTTTAGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r172/1
+CATCGGACGCGGGAAGACAAAGCGCCCGGCAGTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r173/1
+GGCGATTTACATGACCTACCAGTGGTGGATTGGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r174/1
+CGAACTCATCGCCAGCGAAATGGCGTATGTGAATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r175/1
+TGCGTTAGCCATTTATCACCTCATTGCGAGTGTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r176/1
+TGGAAGCTTGTCTGTCTCTGGGCCTTGATATTCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r177/1
+CTTCGGTTTCTCATAGGTGGAGAAATCGCGCAGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r178/1
+AAAACCAGTTTATACTGTACACAATAACAGTAATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r179/1
+GCGTACAGGAAGTGACTGCCAGCCTCAGTGGTGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r180/1
+TAGGTTGTGAATGAGAGTACGTTCACTTTTCTTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r181/1
+ATGTTTCGACCTGCAAGAAAGTGCTCTTCGCATAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r182/1
+AGCCCCTGCACGTGATCCATATGGTAGTGCGTCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r183/1
+GTCTGGCTCTACGGTGCCCCTGGCACAGGACGGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r184/1
+TCGTTAATGTCATTTCGTTGATACCGTGCGACCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r185/1
+ATTACTAAGTGGTATTGTCATCGCGTACCTTACAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r186/1
+GTAATCCATTAACTTATGGAACACACGCATGGTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r187/1
+CTCTTATCAACTTACCCGGAAGTGCGCTCGGTTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r188/1
+TTGCCTGATGCGACGCTAACGCGTCTTATCAGGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r189/1
+GCAGCTTAAACAGCAACTGCATTCCCAGACGCCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r190/1
+GCATATTCATCTAACCATCATTTTCTATAAGATGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r191/1
+TACCAATCTTCGCGTACTCTTCCGATGGCGTTTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r192/1
+CCTTGAGAGGATCAGTGCTGTCGGTCCGTTGTGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r193/1
+CTCGCAGGAACGTACATTTTCATTATCGATTGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r194/1
+ATCACGCTTGTTCAGCTCTTCTGCCGCACGTTTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r195/1
+GGTTAAATTCCCAGTGGTGTCAATATAAAGTTTAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r196/1
+TTAAACAGCGGCAGCTTAAATTTTGGTCTGCTATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r197/1
+TTACTAAAGTTAAAATGTAATCCGATTTAAATATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r198/1
+CTCAATTTTTAATGTTGGTTAAATCAGATTAATCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r199/1
+TGCCAGTTCATGACATTTTTGCAGGGCGAAGGCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r200/1
+GGAGGAATTGGGGATTAGCGAACGTTTGCAGCAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r201/1
+GGTGCGCTCAACAACGCTTGTTCGATTTCGCACAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r202/1
+CGTAATCAGCCAAATCGCGTTAAGCGGAGAGATTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r203/1
+GCCATGTGACAAATCTGCCAAAAGCTGGACAAATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r204/1
+GCGGAATGACCAATAAATTACCCGGACGAGTTGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r205/1
+CCATACGCTTGCGCCAACGCCATTTCATCGCCATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r206/1
+ACTGGCAATCCAATATGACCCGCGAGCAGTACGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r207/1
+TGTTCCATTTGCAGGTACGCCCGCGCATTACCAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r208/1
+CGGCAACTTTGCGCTCAGATTTGCTCAAATGTTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r209/1
+AAGAATAGCCTTGCGCGACTCAATACCCAACTCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r210/1
+GCGGCGCGCCAGCCGGATTCCGATCCGACCTGCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r211/1
+CTCCGCATGAGCTACCGGCATTGTTGGCGCGTATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r212/1
+GGGCCAAAGTAGATGACGAAGCGAAAGAAGAAACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r213/1
+TCCCTGATAATAAAAACTTTCTTTGTCATACTCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r214/1
+CAAGAGGCGCAAACCAGCGAGAGCAGGACTTTCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r215/1
+ACGCTCGAGTAGCGGCAGCAAATCAGCATGCAGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r216/1
+ATCACGGTAAACAGCAGAAAACAGAGCAGCAGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r217/1
+AACTGGATGCGGTGCTTCTCTCCTCACGGCAGAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r218/1
+ACGCCGTATCCGCGTTATGGGGAAAGTGATGCCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r219/1
+GTTCCATCAGCTCCATTGCTTCACCGGTACTTTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r220/1
+ATGTTGCCGTCGCGACAACCGGAATATGAAAGCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r221/1
+GGCCGTTAAAGATGACCCCGATTTCTCTATTTCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r222/1
+GACGCTTTTTCATCATAGCGCGCATTACCGCTTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r223/1
+GAGCATTAACGAATCTTTGCTCACCACTTTGCCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r224/1
+CGGTGGCCTGTTATTGCTGATTATCAGTGCCATTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r225/1
+GATGACGAAGGTCAGGTCATTGGCTATGTGGCATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r226/1
+TTAACTTCAAACCCATAGCTGGAGAATGCCCTGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r227/1
+GGCTTGCGGAGAATCTTCAGTCATGAATTCACTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r228/1
+ATACAGGTTAACAACCACCATATCGATAGGCTGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r229/1
+GCTGTCGTAAGAGATGCCAGTCAGCATTAAAAAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r230/1
+GGCATTAACCCGAACGGCAGCATTGAGTTTGGTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r231/1
+GTAAGGCAGCCAGAAAAAACTAGTCTAATTTGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r232/1
+AAAAGAACGACAAATACGTCATGAAAATCACCGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r233/1
+CCACCCGTCAGCACCCTTTGCTGCATTCGCCATTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r234/1
+GACCGCCACAACTCCTTCTCCTGCCCGGGCAAAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r235/1
+CTGATCGGCCTTGTGCTGCTGGCGAGTAACAATCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r236/1
+ATGGGTGAAGTAAATACGCGGACCGAACTGCTTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r237/1
+TTAGTATCTTGAAAATCGGGTAATTACGACGCTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r238/1
+TATTAATGACTCAGGGTTCTGGATTGTGACCAAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r239/1
+GGATAATCGGATTGCTTGTGCCCATGCGCAAAGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r240/1
+AGGCCAACAAACATCGCGCCGCCGGTCAGCGTCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r241/1
+ACGCGCAATTTTTAGTCGAGTTTATGGCGAAGCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r242/1
+ACTCGTCTTCGCACGACCGTTTCACCTACGGCTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r243/1
+CGGGAATAATCCCTACCGGGTTGACCAGCGCAAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r244/1
+TCAGGATCGCACCCGACACCGAAAACGGCTTCCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r245/1
+GATAATACTTGCACCTTTCGGTAGCAGGGGGATCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r246/1
+GGTCGGCGAGAGAGGATTCGAACCTCCGACCCACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r247/1
+CAAGTAACTGTTCGGGTGTGACGGCGGGATACCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r248/1
+GCTTTAGTGGTTTGGTGAAGTTGTAATGAATGCTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r249/1
+TCGGGATAAAGCGTCGCAGGTAAAGCATCCCCTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r250/1
+GGACACTGTTCAACGAAATAACTTAAATCGTTCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r251/1
+CCGTCACTACTCGAATATACCAAAGTGATTATCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r252/1
+AGCATTGACCTGCTCTGCGGATGCCTCGGCAATCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r253/1
+CAATCAGGCTCAGGTGAGCGGCGAGATTAAACATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r254/1
+CGATGAATCGCTTCGATGGCGCAAAACAAAATGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r255/1
+GCAGTAACAGGCGCATTAACATCGCCAGCAGGAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r256/1
+AAGTTCGTCAACTGCAACAAAACGCGACGCAGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r257/1
+AATAACAAAACGCTAAACAAGGTAATAAATAAAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r258/1
+TAACTCAAGCGGCGCACCAATGTCTATTGAACATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r259/1
+TTTCACCCGCCAGTGTGGAAGACGCGCTGTCCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r260/1
+TGTCGCAGGCTGATATCGCCTGTTATGCCTCCAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r261/1
+CCAGCATAACGCAGCCACTGCTTGTTCACTTTGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r262/1
+CACGCATCATCTCAGGTATTAGCCATGGCGAAATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r263/1
+TCAGCAATACCCCCACCATTGCGATGGCCGCCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r264/1
+ATAGCTAACAGTTCATCAGCGTGGCGGCGGTGATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r265/1
+GAACTGTTGTTGGGTGATATACCCTTCATCCAGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r266/1
+ACCAGCTCGATGGTTTCGCCCGCGCCAACCAGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r267/1
+ATGCTTTCTACGGTTTACCGAATGTGAAAGTGGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r268/1
+CGCTTCGTCTATTTTAGGATGGCTATTAACGTTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r269/1
+AGTATTTTGCTGATCAGCTGCCCGCCATTCCAGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r270/1
+CGTTGCCCATGAATGGACTTTATCACCTATATAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r271/1
+CTGGCACTGGCTGTGCTCTGTGAAGGAGTGGATAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r272/1
+CCAACCGGCACCAGAGTGATATCGCCATCGCTTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r273/1
+ATGCCCGCCATCCACAAGCCCATCAGCAGCAGTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r274/1
+TCGGATGCAGGTGCCCGGTATTGAGCACCGCAATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r275/1
+ACCGCGCCATTAACTATAAAAATATGTATGACCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r276/1
+CGTCACCAGCAACGCCACGGCTTTCGCCGCATCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r277/1
+GCGCGGTGTCTGCGCGTGCTGGTCAATATGGAATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r278/1
+CAGAAGTATGACATCAGAATTAATAATCGCTTCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r279/1
+CCGCTTTACGCATGATCGGATCTTCAATTTGCTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r280/1
+AAAAACTTAACCGGAGGATGCCATGTCGACTCCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r281/1
+GCGGTATCATCCAGCGCCATTAACACCGCTTTCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r282/1
+AAATACTTTTAATTAATGTGCGTTAGACGCTGTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r283/1
+GTATCGACATCGACATGCACATCGACGCCGCCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r284/1
+CCCATGCCGAGTAGCGCCTTTTTAATCAAGCATTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r285/1
+GGCCCTCAGATTAAATTAAATATTGAGCGCCTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r286/1
+ATCCGTCGCCGGAAAACGTTGTAGTGTCAGTGAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r287/1
+CAGTCGCTGCAAAGCGTGATTGAACAACTGGATAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r288/1
+CCGCCTTCACCGTAGCCGACATAACCCGGAGGAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r289/1
+AATGAAGACCATTCTACCTGCAGTATTGTTTGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r290/1
+GTATCACTTAAAGGTATTAAAAACAACTTTTTGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r291/1
+CAAACCGGCAACCGCCAGCACCATCAGGAGAAAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r292/1
+GGTGCCCGCGCCACCGGAGGCAATCAGCGGGACGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r293/1
+CTTCAGTGCTGATAACCAGCACCACGGCATCTTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r294/1
+AACAGTTTGATCATCATCTCTTCGCACTCTTTTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r295/1
+CCCGCGGATAAGCGGACCAAAAATTGAGGTCATAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r296/1
+TCGGCGCTCGATCCTGAGATGGTGAAAGAGGTGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r297/1
+ACTGTTTCGTTAGGCGCGATAGATGAGTGGGTGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r298/1
+TGGCGTTGCGGATTAATGGCTGGATTAATATCGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r299/1
+AGCCGATGGCGACCCCCACTCCACCCGCCACTAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r300/1
+GCAGTTCGCCGACGTTCACCGCAAATCCCAGCTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r301/1
+TAGGCTACGACATGGCAAACTAAGAATAAAAAAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r302/1
+TGCGTGAGCTGCGTGAACGTACTGAATTGCCGATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r303/1
+CGATGGCCGCGACATGGGAACGGTGGTATTCCCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r304/1
+GTGCAGATCCGTGGATACCGAGTTGAACTGGGCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r305/1
+AGCGGACAAACACAGCCCGACCCGTACGAAAGGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r306/1
+TCCAGGAGTCGTCGCCACCAATCCCCATATGGAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r307/1
+TAGCCTTATGACGTGCAGCTTTGTTTTTGTGGATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r308/1
+TGAACGTGGTCTGAACATCCCGCAGGATATTTCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r309/1
+TTCGGCACAGTAATTTCTTTCTCCAAACTTGGTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r310/1
+ATGAATACTCTCCCTACCTGGATTGCCAGTGATAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r311/1
+GGGTGCGGATCAAACTGATCATTCAGGGCGAACCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r312/1
+GCGAGGCTCGCGACCAACGGCGTTTTTACACCAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r313/1
+AGACTTTTTAAAGGGAGACATTTACACACAATAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r314/1
+TTTCTGTATCGCATCCCAGTATATCAGCACCCCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r315/1
+GGCGAGTATATGACCGCGTTTGAAGATGAGCACGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r316/1
+GAAATCGGCGCTCACTATCCGGGCTTTGAAACCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r317/1
+GATGTTATACGTATGGCATCGCTAATGTTTATGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r318/1
+TTATGAAGAAAAAGACAGCAAATATGGAGGCTATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r319/1
+GGCCGTGTTTGCTGAACGCCGTAAGGACAGTTTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r320/1
+TATAAAAATGGCTTATTAATTATGCGGTTTATTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r321/1
+CCATTCTCAGGGCATTCATTCGTTCTCTCTCGGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r322/1
+TCCGGAAAGCGCTCTCGGATTCCTTACCGAATCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r323/1
+CAACTACGTTGTACTGTCTGACATTTTGGGCGACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r324/1
+TGCAGCAAAGTGTAAAAGATCTGACTCAGGCTGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r325/1
+GTCCCGACACGTAAACACCAGTTTGCCCAGTCTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r326/1
+GGCTTATCTTCGGCGAAACGGCGGTCAATTTCGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r327/1
+CCCTGCCGCAATCGGTATGGTCGAAGCTGAATCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r328/1
+GCATCAGTAACCCCAGACCTCTGACCAAAATGGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r329/1
+GAGATACAGCAGGTAGCCGGTGTAAAACAGCGCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r330/1
+TTGAACAACATTGTGAAACATGCCGATGCCAGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r331/1
+ATGGCTAATCCAGCCAAACTACGCGCGCGAATTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r332/1
+GTAATACTTGTTCAGTCTGGCAGTCGCGCACCGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r333/1
+CGCACGAGAACATTTCGCGATTTATAAAGATTAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r334/1
+CAATGCGCGAGTGATTGTGGAATGGCGCGGCTGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r335/1
+TCGGAGAACGAAGATAAGGCAAGTCAATCAAAACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r336/1
+CCGATCTGCCAACGCAGACAATGACCGCATGGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r337/1
+CAGGCGTTTTTACAAGCCGTGGCGCGCTATCCTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r338/1
+TTGATGGCGATATATCCCGCATAGGCATAGATTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r339/1
+AGATCCAACCGAGCTTCCGGGTCGCACCAGTGCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r340/1
+ATGGACGTCCAGTTAACTACGCCAGTGATTCATTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r341/1
+GTAATAAGTTGCCATCTGGCGCAGGTTTACGCAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r342/1
+GGTTCATAAAATGGACGCCGACTACATTCTCCGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r343/1
+CAAATGGTTAAATCGGCTTTGTAACCGGCTTCCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r344/1
+TCGCCCGGCGCGGAACTAAAACTAAAGATTTCTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r345/1
+CTCTTCCCGCGTCGCCCATTTGGTCACCGGCGCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r346/1
+TAGGGAAAGAGATGCCCTTTCACCTGAGCAACCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r347/1
+TTACGCTCGTGGAAAAGCTGATTCGAAGTATAACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r348/1
+CACTGCGCCAACGTTCTGCGGCAATTTCACACACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r349/1
+TGTTTAGTTTTTTCATCTCGTAGTGGTATGGCTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r350/1
+AGTTTTGTTGATTGACGGAGAGCTGGCGTTCATTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r351/1
+AAATTGATGTGCTCGTAGACTTCATCGCTAATGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r352/1
+GCGCCTGCGCTCCAGCCAATATACAGCGCGCCACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r353/1
+TGCCGACGAACATCGTGGCGTCGATGGCGAAAGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r354/1
+TTAGCGGCCTGGTAAAACTCGGCATCCTGAAAGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r355/1
+CTTACGCCGTGAATTGAAGGCGCGTCACCTGACGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r356/1
+CTCGTTGCAAAACGTGGCACGTACGGACTGAACAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r357/1
+GTTGACGCTGTCCAGTACCTTCCTGCTGGCTTGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r358/1
+CGATATTCGCGCCGACTTCGCCCTCGGCGGTATTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r359/1
+TTGCCAAGATTTATGGCGATCGCCAGGCGATGGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r360/1
+AAATCAGGAATTATCGGGAACGTTAACGCTGTATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r361/1
+TATCGACCATACCTTTGAATGCATCGGTAACGTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r362/1
+TGCATGGCAACTGTATTATATTTTTAAAGCCAATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r363/1
+GGATAACTTTGAACAGCTGGGCTATCAGGCCGAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r364/1
+GGTAATGCTCATGACATGAGCGTCTACTTTGTGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r365/1
+CCTGCCCCGAGATCTTCCAGCGAGGCAATCGCTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r366/1
+TGTTTGATCCAGCGACGTGGGGTAATACCGTTGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r367/1
+GTGCTCTTCATCATGCTGAAGAAGCATTAGCGACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r368/1
+ATAAGGGACGTAAGCACACCTTACCACTGCGGCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r369/1
+GAACTCGTCGAATATGACCATACATTTCTGATGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r370/1
+CGTACCGCGATAAACGCCTTGATAACCACCATGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r371/1
+CCAGGGCATGGCCTTTCGACACGCCGCCCGCCATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r372/1
+TGGCGGCAAAGAAGGTCTGAACGGTGCCGTCGCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r373/1
+TGGTTGCCCGCAATCCCGACACCGCCCAGCACCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r374/1
+TCCGGCCCCTGCAGCCAGTCACGAAAGTGGTTTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r375/1
+TCTACCACATCTGCCGCTACCAGCAGATCAACGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r376/1
+TAACGGTTCATATCACCTTACCGACGCTTATCGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r377/1
+CGTTTGGCGGCGCGGAAATTTACTACGGCACTAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r378/1
+CCTAACACAATGGTTTTCGGTTTGAGAAATTCGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r379/1
+AGCGTCGAGCTGTTCTTGCATGATGTCCTTCGTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r380/1
+ATATCTAAAGATTTAACGTTAAATGCTCAGGTCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r381/1
+CTTTGACTCAGGCACTACTGGATCTGGAATATACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r382/1
+AACCTGCCGCTTTGTTGATCGGGCCACCAAGGTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r383/1
+CCGCAATCCGGTACCGGTGTCATCTTCGCCTGGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r384/1
+CGGTTATTTGTGCCTGTTTGACGTCGATAAATTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r385/1
+TGGCTGGTTGGCCGATGCAGGGTAATTTCTACTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r386/1
+GCCGCTGGTGGAAGGTGTCGATTTCTTCAACGAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r387/1
+AATAAAAGTCAGAAGTCATGCCCGTTTGCAAACAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r388/1
+CCAGAATCATGGTCAACGTTTCACACAACATGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r389/1
+TCGCATCTTCCATACCAACATCATACCAGTCGGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r390/1
+AATCCCCGACACCGCAATAGTCATACTCAATCGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r391/1
+TTATACCGGTTTTACGTCAGTTGGGATTCAGTGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r392/1
+TCATCCTTACAAAATCCCGGCAACGGTAATCGCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r393/1
+ATCCGGCATTATGCAAAACACCATCCAGACGCGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r394/1
+TCATTTTCGCTCCCCGTTTCACTAAAGCGCGCAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r395/1
+CGGCAACATCTGACGCCTGGCTAATGGCCGCCTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r396/1
+ACGTTGTAACGCGTGACACCATCAAAGCGAAAGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r397/1
+TGACCATGGGCTGGTTCCTGAAAGAGAAACAGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r398/1
+TTCCCGTAACATTTACGGCACCACCAAAGGGCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r399/1
+ACAAAGCAGGCATCACCGTTTTACCCATCCCCGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r400/1
+AATATCGGTTACTTTAACACTAAGTTGAGGATGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r401/1
+TGGCAAAGCCCACATCGCCCTGTTCCATCATTCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r402/1
+CACCGGAGCCGATTCCCCGGTGATGGCGCTTTCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r403/1
+TTTCAGAATGTATCTGAAGAGGAAGTACTGCGTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r404/1
+AGCGGATATCTGGCATTACCTGCATTATAAAGTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r405/1
+GTTGTGCTGGCGGGCGGTAAAGCCAGACGAATGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r406/1
+AAAAATCTCCTGAAACCACTTCGTGAAACCGCGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r407/1
+ATCCCCACTATCGCCGGGAATCTGGGCTCATCGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r408/1
+GCTGACCACGACCGATTGGGATCATGGAGTCAACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r409/1
+GAGTTGAAGGAGACTGGCTTTTTCTCTCCCGGAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r410/1
+GGTCTGATGGATGCGAATAGCGCGATCAACTTCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r411/1
+CCAGGTCAGGCTGCTATCCAGTTTCTCGTCAACAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r412/1
+TTGTCTTGAAGATTTAAAGCCATTAGCTTTGCTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r413/1
+CGACCACCGGGTGGATCATCGGCTCAGCAATCACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r414/1
+AACGACCTTAAACGTCCTGTATTTTACCGTGGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r415/1
+GTGACGGTTTACGTTGCTGTACAAACCCCAACGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r416/1
+CCATTTTCTTACTCCTTTCACCCAAAAAAAGCGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r417/1
+CCGATTTTCACTTTGCACCAGGCATTTTTCCAGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r418/1
+ACCATTCGGTTACAGGAGCAAGCGTAAACTCGACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r419/1
+GACAATCGCCGCGTATTTCTGATCTCGCAGAACAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r420/1
+AAGCAATTTCTCGTAGATTTTGATCTCTTCGGAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r421/1
+ACGTGACGAAGGGACTTTAATGGAAGCCGGAGTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r422/1
+CAGCACGGAAAACCCGGACCTGTTGGTGCTCGAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r423/1
+GCCCAGTCACGCGATGTCTGGGAACGCTCGCCGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r424/1
+CGGCGCAGCGCGGGGTGGATGTCAGTATTATCCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r425/1
+GTGTTCCAGAGATGATAAAAAAGGAGTTAGTCATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r426/1
+TGAACGTAGCTAAAAATAAAAGGCATCACGGTGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r427/1
+GGATGAACCGCAGTTTGGCGCGCAAAGTACGCCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r428/1
+ACCTAATTTTAAAGCAGATAAAATTCATAAAGTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r429/1
+GGCGGGCTTCAAGTGTGAAATCGTCGCCTTCCCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r430/1
+CTGGATCTCGAAAAAGAGGCGCAGTCTCAGGGTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r431/1
+TACGTCTTTATGTTTATCGAAGCGATGGCCGACGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r432/1
+CTGCTTTACCCCCTGCCTGAATGGGAAATTATCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r433/1
+AATAATATGATGGCGATACTCTTGCGCATCAGGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r434/1
+CGCAGCAACTGCTTTTAGGTATGCAAGGTTCGTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r435/1
+GTCATTTATTCGGTATTAACCGTAGCGTTTATTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r436/1
+CGCATACTTCAGCCGTTCACGGGGCACTTTCACTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r437/1
+CTGACACCGGTTGATGTGATTAACCAGTTGAAGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r438/1
+TTTATGACGCTTGAGCAGGAGCAGCAGGTTAAAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r439/1
+TCGGTTTTGGCCCTGGTAAAGAACCGGAAGCGCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r440/1
+TCCTTGTCGATATGGGCATAGATATCGTTCTTCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r441/1
+TCTGCCATTGATATGGCGTTGTGGGATATCAAAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r442/1
+TGGTCTGGAAAGCGATCACGTTTCCTATAACGCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r443/1
+GAACGCATGCAGGATGAGATTCTTCAGGAGCAAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r444/1
+ACCGCTGTTTCACGTCTCCGGTCAGGGAATTATGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r445/1
+GTTTTCGCCGTGCGCACCACGGGTATCTTTTGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r446/1
+CATCACGACAGCACCACTGGCGATATTGCCGCGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r447/1
+CGCCCGGAAGCCATCAAGATGGCGCCGTTGGTGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r448/1
+GAAGTCATCAAGCAGTTTGCCGAAGAAGTTCAAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r449/1
+GGTCACCACAAATGCGCCAATGTACGGAATAAGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r450/1
+GGCTGACCGTTTTGTGCGTCGATAAGCTGATGCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r451/1
+ATTTATCACTCTGGAACATGTAATTACCACACCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r452/1
+TTTTGGCGGGCTGTTCGGGTAGCAAATCATCCGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r453/1
+AATTTTCGGCTGGTCAATTTTGTTGGCAATAAAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r454/1
+GCCGCGCCTGTGCGAACACTGTCTGAACCCGGCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r455/1
+GGTGATGAACGACGCTCCGGCAGTGGCATCTACCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r456/1
+CACGGCCTCGAGGTTAAAAGATTTATATCCAAGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r457/1
+CTTACCGCAGCTGCCACTGCCCTGGCGGGGCCAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r458/1
+TTACGGGAAACGATCAGGTTCACACCAAACCAACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r459/1
+CCTCTTCTAAATCGTACCAGCGAAACGCAAAACCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r460/1
+TTTCGTTCATCGCCGGGCTGAAGAACTGCCAGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r461/1
+GCGCCCTGCCAGTCGGTTTTATCGAACAGCAGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r462/1
+TGCGGTTGGTGCGCTCGATTATCGCCGCCGTTTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r463/1
+GTACGTTGCCAGCAAGTCACGCGTCCGGTAGCTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r464/1
+CTGGCAAGCCAACCACAACCTGACGGTCGAAACGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r465/1
+AAATCCCACAGATCGGTGTGGCTGTAGCGATCTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r466/1
+GTATGTCAAACGATTTGAAAGGCGGCATGACCAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r467/1
+TCCAGCCCCTCTTCGAGACGTCGAATCGCCTCCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r468/1
+GCCATTCTGGCGAGCGAAATTGCCAAAGAATATCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r469/1
+TGGCACAGTACTAAAGAGGCCACCATCACCACCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r470/1
+TGTTTTGGTTGGGATACAGCCGATATTAATACAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r471/1
+AATACCATACCGGATTTTTGAATTGCTGAACGTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r472/1
+ATTGCTGAATTATCGCTGGCCGGGAAATATACGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r473/1
+CGGCGGCTTCAATATCCGACCAGGAAAGCGAACAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r474/1
+CCTGCCGTGAAAGGGAAAGAGGTGGCGGTGGATGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r475/1
+GAATGGCTGCGTTAAATATTTCTCTTCTGCTGTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r476/1
+GTGGTGGTTTTTCGAACGGTTTGTGTGATGAGGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r477/1
+ACCCATGACCGGCGTGCAGGCCTTGCGTGAGGCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r478/1
+CGGCGCTGGGTTTCATCTCTGCGATTGGCGCGATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r479/1
+AACGCCCACGCGCCACCAGCTCCTGCACGGTGATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r480/1
+GGCGATAAAACGCCACCATCATGATGGACGTCGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r481/1
+ATGCAGCGCAGGTAAGAGAGATCAAAAGCGCCCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r482/1
+GAAAAATGCGGTTGATCAGCAAGCTGAGCGTGATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r483/1
+TTGCTGGAGTTTGGTACGTTGCTACGGTGGTAGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r484/1
+TTGGCGACTGGATTGCCCACGGTCTTGCTCCGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r485/1
+GAAGTGCTGGAACTCGAATACCAGCCAGAAGCTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r486/1
+AGCAGGTCAGAAAGATGCTGTACCTGAGTGGCGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r487/1
+CCGTTAGCCGCAGTGGTATGGATGAAGTCAACGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r488/1
+CTGGAGTCTGTTTAACGGTGCGCTTTCTGCCAAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r489/1
+GCTACCGGACATAAAGGCAAAGGCTTCCATCAGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r490/1
+GCTATTATCGTGTTCTGCAAAGTGATTTAGGTAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r491/1
+AGTCTGAATGATGTGGTCAGCGGCGTCACCGGAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r492/1
+TTAATGCGCCCGTCACGTACAGCTTCATCCAGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r493/1
+ACATACAGCGCCAACATAAACGGAATTAAACGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r494/1
+GATGGACTGTGTGCGTACTGCGCTGCGCCACGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r495/1
+GCCAGTTATAATCAATAAGAATGGAATGACGAATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r496/1
+CATCAATGAACAACCGCTGAACCTCGGGCAGGGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r497/1
+GCCAGTAACCAGCCAGAAATGATCGCGGGCATGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r498/1
+TAACGTCATTCCCCCCGCCAAAATGCCTGCAAACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r499/1
+TCGGGTTGAGGTCAATCAGATCCTGAGGCGGATTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r500/1
+TAACGCTGTAATCTTTTTCCAGACGACGCGCCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r501/1
+GTCAACCACGTCAATGGCATTACCCTGCTCATCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r502/1
+CAACGGTACACTGACCGATAACAACGGACGCAAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r503/1
+CTGTGCCAACGGGTTCCCCTCACCCTAACCCCAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r504/1
+AGGTTGATCACCGGACGCAGCGCGCTCTGCGCCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r505/1
+CTTGCGGCGTGTTTAATCCCGGTCGCATGTACGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r506/1
+GGAACTGTTTGGTTTGGGGGATTATTTTGAGTTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r507/1
+GGTCGAAACGCGGTAGAGTTTTTATGCCAGAAAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r508/1
+CGTACTGACCGTTAAATTTGCCGTTATTATCCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r509/1
+CGATAACGCCATAAATTTGTCCAGCTGGCACATGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r510/1
+TCTGCAAGCGGTTTGACGCCCCGAGGCAGATTAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r511/1
+GGCAATGGCTGCCCGTTTTTATTTTCTCCGCACAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r512/1
+ACGGCAACCCGAACGTCACTGCCGATATCACCCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r513/1
+TTGGGCATATCGCCATCGTGGCAATACCGAGACGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r514/1
+GATTGAGGATCTTCCCTGGCTGCGTTTCGAACTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r515/1
+ACATCCTTCGAGAGGGACGGTTACCATGAAGATTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r516/1
+TTTTATCTTCGGCGTGGATATTTGTGATGCTCTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r517/1
+GCGGGCATTGATGAACGGCGGTCAGGTAATTCTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r518/1
+TGTTAAGGGTCTACCATTCCAATCGTCTGGACGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r519/1
+GCAAGAAAGCTGGGTGGCATTCAGCACAAAAATAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r520/1
+TTGTTTTTTGTTCTTGGGGGGCCGATAGTTGCTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r521/1
+GCGGATTGTTGATGTGCAGCGGCTGGCTAACACGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r522/1
+TTCCGCGCAACTTTCGCGGCAGCATAACGACACCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r523/1
+AAAGGTGCGGACGCCCCAGGGATTGCGCTGACTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r524/1
+AAGCGGCAGAGAGCGGCGTTTCTCGCCCTGTTCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r525/1
+GTTTGTTATTGCAAGTACTGACAGACGAGAAGCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r526/1
+TAAAACGTTGGCGCAGATTGGTATCACGACCGATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r527/1
+TTTATCTGGCCTGCGCAGAATCCGGAATTAATGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r528/1
+CTATACAGAACGAAATGCCTGGTTACAACGAAATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r529/1
+AGAACGACGTCGGCAAACGCAGGAACAGGAACACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r530/1
+CGGTAACCCGTTCATGAAACAGGGTCACCAGATGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r531/1
+GAGAGAGGATCACGCGGGTCAGACCCATTTGCTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r532/1
+GGAAAAGCGACCAATTTGGGGTTGGTCGGAGAACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r533/1
+GGCCAGCACTTGTTCGCCCTTGCCGAGAACGTGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r534/1
+GTAAAGTACGCGGGAAAGCGGCCATAAGCGGCTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r535/1
+TTCATTCTGGAAGCTGCGCAGCGCCGGATGATAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r536/1
+TATGGCGTGGCGCGCAGGCTGCCGGATTGCCAATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r537/1
+CGCTGTCGTTACTGTTTAACGCCGCTTTCTGGTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r538/1
+AGCAGCACGGCTTGCAGTTAAACAGCCGCGAATTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r539/1
+ATGATAATCAATTACCGAAAATCCATCATCAGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r540/1
+CATCCCTTTAAATACTAGCCGCTTTTACCGTTTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r541/1
+GTGGTGTTGACAGAAGAAGAACGCCGGGCGGTGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r542/1
+AGGAAATCCTTATAACCAACTGTAATTTGAGAAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r543/1
+ATTCGGCGGCAAGCGCACGACAGCACTTTATTTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r544/1
+GGCCTGCCTGCTGTTGGTGCTGACATTAGGGCTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r545/1
+GTGACAGGTGCCCCATCAACACAAAATAACGGCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r546/1
+ACTGGCTCAACATGGACTGGAAGTTCCACTGGCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r547/1
+AAAGATTTCGACGACGCCGTTGCCTACTGGAAAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r548/1
+CGTTTCCAGTTGCTGTTGTAGCACGCTCAGCACGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r549/1
+TGCAGCATGGCGGCCCATCGCAGTAGCGCCTCCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r550/1
+TTATCAACGCCAAACAGGCAGTTCATCAGTTCAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r551/1
+GATACTAAACTGGCCGCCGGTATCACACGATTTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r552/1
+TAGGTCGAAAAATCTTCCCCTTCTTCCATATCCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r553/1
+GATTGGGTGGTGGTCGGCAGTACGCCACAGGAGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r554/1
+ACGAACGCTTTATGGAACGCGCTATCCGCCGTGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r555/1
+ACCCCATCCGGGCCTCTGTTCTTTCCGCCTGTTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r556/1
+GAACTGCATGTCACCGCTTTCGCTGCTGCCCGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r557/1
+GGTACGAGGCAGTTTTATTGATGTCACCCGTACGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r558/1
+AGATGTGAATGATGTAGAGAACCGGAGCTGCAAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r559/1
+GCAAGGGCAATCACTGAGCAACATTCTGCCACCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r560/1
+GTTAGCAGGATGTATGTTTTGGGACCCATCACGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r561/1
+GCCCGCGGTGGGTACAGTGATACTTAACGATAGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r562/1
+CAGCGACATGTTCTCTTTTACTGACATGCCCAGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r563/1
+GGTCGCGTTGTTTGCGCTCGGCAAACCAGGCTTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r564/1
+CGCCCCCGCAACCGCCAGATCGGATTTATGTGTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r565/1
+ACAATCAGTATTACACCAATGACGACAGAAAAAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r566/1
+AGGTGCCTACAACGCCAGCCATGATGGCAATGCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r567/1
+GACGACCCTGCCACCACCGCACCAGAAGCGTTTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r568/1
+TCCAGGCCCGTCCCTGCGATCGCTGGCTCGAAGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r569/1
+GAATGGTGATTGTTAGTGTGCCCATCCACGTTACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r570/1
+GAACAAGTTAAGGCACTGGTTCAGCACAACAAAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r571/1
+CCGACCATGCCCCAGATAAAGGTATAAGCTTTGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r572/1
+TGAACTGGCGAAAGAACCCTTTGTCTTTTTTGATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r573/1
+AAAATCCCGGCGCGAAGATCATCCACGATCCACGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r574/1
+TTAACATGAATCATGGATGCCTGTGAAAAAGCGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r575/1
+TGAGTCTGGACAAGAACAGCATCTTAAAACAGATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r576/1
+CGTTACGGCAAACTCTGGTTTACCATCCTCGACTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r577/1
+CCCTGTAGTTCTCGCGTAAATATCACTTCACTTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r578/1
+CTGGCACTCGGCAGCGCCATTGTTCCACCTCTGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r579/1
+AAGACCGGCACCTCGTTTGCCATTATCGAGCGTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r580/1
+GGCGTGACGGGCCATACAGTGCTGAGAAGTACGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r581/1
+GGCATTCAACACCGCCAAACCGCCGCTAAATAATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r582/1
+GATTGATTTTTGAAGAAATTGTAGGTTTTTATGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r583/1
+CATCAGCAGGTGCGTCGTTATAGTCTGCAACGGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r584/1
+GCAGAAGCGAAGAAAGAGAACATCATTGCTGCGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r585/1
+CGGCAAACGCTTTTCTTTTTGCGCTCCTGTCCGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r586/1
+GCAAAAGCTAACTTGCCTACTCAGCAGGAAACTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r587/1
+CGCTTCATGCGAAGGATTTAACTGTCACTGCAGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r588/1
+TTGATTGAGTAAACCGGAGCGCATGGCCCCGGTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r589/1
+TTTGAACGCTTTAATGCGCTGTAAATGCGGGGAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r590/1
+CAATATTCAGCCCGCTGGTCATTAAGATCATTCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r591/1
+GTTTGCGTCACCGGTTTGGTGCCGACTTCAAAACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r592/1
+CGATTGTCATTATTATGATTTTTTTATAGCTTGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r593/1
+CTACCATCCTCTGCATAGGGCGTCAGTGCCAGCTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r594/1
+ACCTGGTCGGTTCCGTCTTCGTTGCCATGCTTTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r595/1
+CTGTCCCGTGTATCACGGGCCTGCGAATTCATCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r596/1
+CTGGGTATTAAAAAGAAGATCTATTTATTTAGAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r597/1
+GATGGCCGACCATACCGTTACCGATAATTGCGAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r598/1
+CATCATGTCGACTATAACGTGCTGGTCTGCGTCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r599/1
+GGGGTTGTGTGCAGCAAACACTGGAGCAGGGTTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r600/1
+TACAACGGGGAAAAAACGACAAACAGAAATTTCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r601/1
+CACCTCAACGGGAACAGGCTCGCTATACCACTACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r602/1
+TCACTATCTGTCTGCTATCGAAGAAGGCAACTACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r603/1
+GGAGGAAAGGCAGGAGGTAAGACAGGAGGTAAGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r604/1
+CAGCGACAGTTCAAAGCGGAAGCTCCCTGTGAGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r605/1
+TAATTTGTGGTGATCTACACTGATACTCTGTTGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r606/1
+TGCTCTCTTCGACAATTTCCACATAAACCATCGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r607/1
+GCTAAAGGCCATGATATCGACGCGCCGGGCCTGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r608/1
+AAAAAAGTACGTATTGACGGCTTCCGTAAAGGCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r609/1
+GGTTTAACCGCATTTACCGCCGCGTTAATCCATCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r610/1
+CGCACTGCGCTCATCACCCTCTGCGGCTCACGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r611/1
+CCTCGCCATTTTATCTCAGTGATGTAGTGACTTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r612/1
+TGCCGCCAGCCAGATTTTGTTGCTCGACGAGCCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r613/1
+GGACGGGCGTCGATCATTGATGAATCCAACGGTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r614/1
+TGGTGTCTGCCGTTGATAGCGGTGTGCTGAATATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r615/1
+ATACCGTCGGCAATACCTGACATTAATACTTCACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r616/1
+GTAATTTCGCGAACGTGAGCGAAAAAGGCATCGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r617/1
+CTGATGGCCTGGTCGATTGCTGCCGTACTGCGTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r618/1
+TGCTAAGCCCGGATGCCGGTGCTAAACCGGGTCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r619/1
+CAGGCGCTGGATGCCGAACACCGCACCTGGGCGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r620/1
+GACTTCAATATATTCAATGCCGCCACGTAACAACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r621/1
+CATCAATTTCTGGTATTCGATTTAGGTGGTGGTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r622/1
+CATTCCTTTTGCCCACCTTAATGGTGGGCTTTTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r623/1
+CCGTTCAGTTAGGGCAGGTTCGTACCGCATCGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r624/1
+TGAGTGAGGGTATGCCATGTCAACGATTATTATGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r625/1
+AATTATCCGGGAGACGAAAATGTCAGCGATACAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r626/1
+AGATAACCGGTCAGCATGTGCCTGAAATTATTCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r627/1
+TGGAATTCTTCCCTCGTCCGATGGATAAGTCTTAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r628/1
+GAGCTGCCTACCTGTCCCAGAGACCTCGGTTGTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r629/1
+CCCAACTATGCCATTCATCCGTACCGGAGTCGTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r630/1
+TTTGGGCGCTGGCATTAACGCAGTTTGGTGGCACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r631/1
+ACTTTACGCTCCCCGAAAACAGTGAGGGCGTCATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r632/1
+GCATGGCGACCAGCTGATCGGGGCGTTCATCGGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r633/1
+TCGAGGAAGAAATCCAGCAGTTCGGCAACAATGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r634/1
+ATGAAGGGTATATCAGCGATAGCGGCGACGCCGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r635/1
+CCCAAGGTGATTCGGGATAGTGACATGTTCACGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r636/1
+GTTGATGTGTTGTCAACGTCAGGTCCGTATAGATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r637/1
+CCATTGATCAGACCCGCAGACAGCAGCCAGTCAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r638/1
+AAATTCCTGCGCAATATGTCGCAGCGTGCCGCCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r639/1
+GTTCGCCATCACGGTGACGTGGATTTCGTTGTTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r640/1
+AAGAATAGCTAACAGGCTTTTACGCATTGCTCACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r641/1
+CCAGCCGGTTATCAGCGACAAAGGTGTTGTTGGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r642/1
+CGGCGAGCCTGTTCAATAGCAATTTTCGCCTGTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r643/1
+GTGCATAATCAGCATTACTCAGAAAATTAACGTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r644/1
+ACTGTACGTAAAGTGATTTACGTACCAGGTAAACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r645/1
+GTTGATGGACTAATGCCTGTAACCAGGTCACCAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r646/1
+GATATCACCGGTAATAATGAACTGATCTTCCCCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r647/1
+TTCTTACGCCAGTTTATGTACACTAAATTTGTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r648/1
+ACTCCTGGACTTTCTACTATGTTCGCAAGCATCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r649/1
+AAAAAGAAATGATCGCCCGCCTGCAAAGCCACCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r650/1
+TTCAATCCTGGAAGAGAACCTGGAGCGTCGCTTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r651/1
+CATTTTCTCTCAAGAGTATTAAGTGGCATTTTTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r652/1
+TGTTTATCTCCTGGGCTTTAAACATCATCATGCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r653/1
+CCCGATTATATTTCCTGCTACGGGAAGCCAGAAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r654/1
+GGAGTATGGAGATTATTCATAACGCCTGGACTCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r655/1
+ACATACGACGCTTCAGTTCGGCGATATCCAGCGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r656/1
+AATCGCTGGTGCTATTTCTGGTGAGTCTGGTGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r657/1
+TTTTAATTAACGCGCGAATATTCAGCGGGAGAGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r658/1
+ACGCTCGCCGTTCAGCGTGGCAACCGCCAGCAGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r659/1
+CGATACCACGACCGGTGGTGCCGATCGCTTTCGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r660/1
+CAGGCGATGGAAGAGTAGGTCGGATAAGGCGCTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r661/1
+AAAACGCTGGCGATCCGGCTTATCGTCCGATGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r662/1
+AAAACGAAATATTAGCGCTGGTCGAGGTGTTACAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r663/1
+GCTTATCATCAGCAGTCTTGGTTTTGGCGGTACCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r664/1
+AATATGCTTACCGAAAAGAAGAACAGTAAACCATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r665/1
+AAGGGGTGAGCGCCGAATCTCACCCGCTGTTTAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r666/1
+CTGTAGCTGCGCCATATTCATATTCTGCAACTGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r667/1
+GCTGGTCGTTTTATCCTTTGAGTTAAAAAGCTCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r668/1
+ATGCTGGTTTTTGGCTTCGCAATGTACGGTGCCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r669/1
+TAAATCCATTATGCCTCTCCCGTGAGCAACACTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r670/1
+ACCTGGTTGCTCAGGGGCGTCGTCCACCTTCCAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r671/1
+ACGCGCTTTTGATATTGTGATACAACCCACGATTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r672/1
+GTGGGTGTTTCGTCATCCGGGCGGCAATCGTAATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r673/1
+TTTGGAGGAGTGAAGTGAGTTCCAGAGATTTTCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r674/1
+CCGCGTTGATTTCGTTGAGATCGAGCGTACTTAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r675/1
+CGTTCACGCCGCATCCGGCATGAACAAAGTGTACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r676/1
+TTAAACGCAGCTCCGGGCTCATGCTGTCGAGGTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r677/1
+ACTTCCTTAACATGGTTTGTACCCACATGGCGGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r678/1
+TCTGAGTCTCTACCCCGGGTAGCTGCCCGGTTTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r679/1
+GATCCGATGAATGTCATCGACTGGATCAACATGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r680/1
+ATCGCGTAGCGCATCAAGGATAAACGCAAAAAAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r681/1
+CCGCTGCCGCGTTTGGCGTCGACCCCATTCCCGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r682/1
+TTATCTTGTCTCATTGAATAAAGATAAGTATCTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r683/1
+ATTTCCGGCGACATAATCCCGGCGCGTGGTTTTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r684/1
+CGCCACTGGTTACCGGTGTGGTTATTACTTCTATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r685/1
+GCGTAGAAATGGCGCAAAAAGAACAGACCCGACAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r686/1
+AGAAAGTACTGATTGATTGCGACAAGCTCATTTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r687/1
+GGATTGTTTTGTGATGGTGACTGTCGGGAAGATTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r688/1
+TGGGGTCGATGACGCGCCCTTCCTGACTGATGTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r689/1
+TGATGGTGGCCTTGATGCCTTTGTTTTTTATATTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r690/1
+AGCTGACCACGGTCGTAAAGGCCCGCTCAATCTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r691/1
+CCTGCTCTTTCGCATTCGCTGAACGTGAGCTGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r692/1
+CCTCACTTGATAATGTCTATTGGCAGAAAAATTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r693/1
+TTTCGTCGGCCTTTTTCATCAGGATCGCCACGCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r694/1
+CACCGAGTTAAACCAGCCGGTAGCAGAAAGTCGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r695/1
+GCTTTATCCGTTCTGGACTTCCCCTGCCAACCAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r696/1
+AACGGCCCGGCGTTGCCACGATAATATGCGGCGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r697/1
+TTCTCGTCAATCTGCTCCATTAGCCCGAGATCTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r698/1
+ATCTTCCATGGCGTCAAGAAACAGCGATTTGTCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r699/1
+ATCAATAGGGTGAATTCTTCGGCGATAATTTGTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r700/1
+GATCTCCGGATTGTACTGAAAGAAAATATCCCGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r701/1
+TTTCTCCTCCCTGCTGATGCTTGCCGAACGCGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r702/1
+CACTGGCGAGGCGATAACCCGCCCGTTGCCAGGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r703/1
+GACACCAGCACGTTTCCCCTTTCCTCCTGACACCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r704/1
+TTATTCGTACTGTCAGAACGAATAAATTATTCATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r705/1
+AACGTTTCGAGCGTGACTTGCTCAACTCTGGCATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r706/1
+AAAGCAACGGCGGCAAATTTGCCTTCGCCAGCGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r707/1
+AAAATAGATATGTCCGCCAGGGAAGATCAAATGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r708/1
+CCTTGCTTCCGGTGACTTTGACCTTTCTGTCGCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r709/1
+TTGAGCGATGGCCCTTCCATTCAGAACCACCGGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r710/1
+CGACATCGTCGACCACTACACCTACGCCTTCATGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r711/1
+TACTGCCGGTGAAGCGAAGAATCCGCAGGTGACGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r712/1
+CCCAGGGCTTTCCAGCTAAAAAGGGGTTTAGCCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r713/1
+CACCAGGGGGATATTGCTCGGGCAAACCCACGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r714/1
+AATTTGATTATTTACACCACGGTAACAGGAACAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r715/1
+TCCTCTTACTTCCGGTCGTACTACAGCGCCAGCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r716/1
+ACATATCTGTTCTACTCGCTTGGTAATGGTCGTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r717/1
+ATAAAACAAAATAACCATACAAACCAAACACACAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r718/1
+GCAACACCGGTTTATCTGGAAACAGCACGTAACCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r719/1
+TGGGCGTTGTCAACAAAATATGACGCTAACAATGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r720/1
+GGTTGACTCGATGTTGGGATTGAGCGGCAGACGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r721/1
+AACGCCTAATGCCAGCGATATCGCGATGGAAAACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r722/1
+TGCTTCTAAGCCAACATCCTGGCTGTCTGGGCCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r723/1
+GTGCTGGCGAAACCAGAATGTAAAATTATGCTCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r724/1
+CAACTGCCCAGCTTCTTGATTTGCGCATTTTCCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r725/1
+ATTATCGCGTAAGCTGGCATCAGAAGGTGGCGAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r726/1
+TCTGTACATCCCTTCTCCTTCAGACAGGATTTGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r727/1
+GCTCCTTCAACTGGGCAAACAGAGATTCGTAGCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r728/1
+TTTTCTGTCACGCAGACCGCTGTCACCATGTGTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r729/1
+AACCTCGTTAATCTGCTGAAACTGTTGTGCAAAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r730/1
+CGTGGTGGGCTTCTCCGACAGCGCCAATACATCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r731/1
+CGGTATCTTTCATTGATTCTTTATGGCCGATTTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r732/1
+GGATGGTGAAACTCTGGTTGGTCAGCCGGCTAAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r733/1
+AGGTATTGACGGAGAAACCGAACTTGATCTGTGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r734/1
+CAGAGCATTGCTTACAACCACCCGGATTGTGTGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r735/1
+ATGTCGCGCTGTTTGTCCTGATCATCGGTGGATTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r736/1
+GGGCAGATTATTCTGCTGATCAGAGAAGCCATGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r737/1
+ACCAGTCAGACCGAAACTGAAATCATCGCTTTCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r738/1
+GGAGGGTTATGCCATCATCATGGAAACGACGCCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r739/1
+TCTGTCCCTCATGACCAGGCGCGACAAAACCGATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r740/1
+TCCGTAAGCAAACCAGGTTAACGATTGCGTGAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r741/1
+TCTTTTGGCTTGGCAGTGTCTATTTGACGGGCATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r742/1
+GGTGGTTTCCATTGTCGTGGTGGGCGACGCCGCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r743/1
+TTTTTCCCTGGCAGATCCGTAATCAGCAGCCTGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r744/1
+GGGGATATTCTTTGGCTATGCTGCTTACTATTTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r745/1
+GTTGTTACTGATAAAACCGGTTTCGACCAGTACTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r746/1
+CATATACTGCGTTATCGGTTCGGCTACGGAGAAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r747/1
+CCCAGCCAGGTCATCGCCCAGCGCATTCCCGCCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r748/1
+TTCACCATCTCAGGATCGAGCGCCGACGTTGGCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r749/1
+TTTCCCATTTTTATATCTGCATATCAGGAAAATCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r750/1
+ACTCTCTGCCCGCCAGCAGATTTGGCAGCGAGACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r751/1
+TGATTACTGGCGTGCCGTTCGATATGGCCACTTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r752/1
+GTGATACCCGAAGCCACCTGTTGCGTGCCACAGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r753/1
+CATGAGATTTCCTTAACAAACAGAGCAGAAAAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r754/1
+AGCCACTACCGATACCCCCGCAGATACTGCATCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r755/1
+GAAACAAGAGAACGGCAAAGCCAAAGTGTCGCTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r756/1
+TAATGCCAGGTTTTACCATGCGTAGCGCCAGGTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r757/1
+TTAATAAACAGCCGGTTATAGCTCCGAAAGCGAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r758/1
+TTATCCCACCGTTGAATGCCGCATAGATACTGTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r759/1
+GCTGGCGCTGGCTGGTGGCGATCTGGAACAGGCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r760/1
+TCTCCTTCTTGGTGCCGAAGTGGATAGCCCCGGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r761/1
+GAACAGTATGAAATATTTGATTATCCGGGAAGGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r762/1
+GAGCACCTGTAGCGGGTCATCAGTGGTCGTTGTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r763/1
+ATTTGATGTTGCTGGCGGCGGTATATCAGATTTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r764/1
+CCGCTACTCCGTGGGTGTGAAGAGGGCTGACCTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r765/1
+TCCGGGAATGCCATCAAAAGTCACACGCACCCGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r766/1
+TTTAATCTTGAAGAGTTGCCGGTAAAACACTGGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r767/1
+ACTAGCTGCGTTTCTTGGAGCAAAGAATATCTACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r768/1
+GCTGTTTTCCGGAATATCACCGGCCCAGGCGCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r769/1
+GAAAGACGGTTTAAATGAGGCGCTTATGTTTGATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r770/1
+GAATATCTTCCAGCAGGCTGGCGGCACGTTCTTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r771/1
+GAGGCCGCCCACAAGTAACTTGCGGCTGTGATTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r772/1
+GTTGATTTATGCGACTTCATTTGAAGCGAATGCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r773/1
+TATCCAAAGCGGTAGGTGATGCCGAATCCGGAAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r774/1
+GTCGATGGCTGCTTTCGCGTCAGACTGTGCTTTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r775/1
+CGCCATGAGAGTGGATCCCTCTGGCATCGGCGTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r776/1
+AGCACCTGCTCACATTGTTGAAAGTTCCTCAGCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r777/1
+TGCCGCAGGTGACCGCGTAAACCGTCAGTGCGTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r778/1
+ATTTCAACCACTTCTTCGGTTGGTACCATGACTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r779/1
+CCACTGCCTTTGGTAGAGGAAAGTGCTAAATAATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r780/1
+AAGACCATCAAAATGAAATTTGGTCACCACGGCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r781/1
+CAGCGCGGCGTGCTGTTTAATGCAGTAACCCGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r782/1
+TTCCTTCGCCAATTCCCTGCAATGCGCCCGTAATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r783/1
+CACCAACATACCGAGATGTTTTTTGCTCTCCACCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r784/1
+GAGGTGTCTGCCAGCTTTAATTACAACTATATCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r785/1
+TATCAATGCTAAAGGTGGTATCAAAGGCAACAAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r786/1
+GATAACCGCACCAGCTGCCGGACGCTCTTCTGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r787/1
+CGTGACTGGGATATAAACTCGCCAAACCATTGTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r788/1
+TATGACGCCAGCGACATTTGGCGTTCCTGCTTCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r789/1
+ACTTTGTCGCGCAGATTGTGGATATGCACTTCCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r790/1
+CGTTCCCGTTTGTTTTATTTTTGTTAACATTTAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r791/1
+ATTTATTGCTGATTGTGCGGGGAGAGATAGATTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r792/1
+CAGAGCGTGCGCCGATGAAGCAGTTATCTTCAATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r793/1
+CAATCATCGCGAACAGGATACCAATTGACGCAATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r794/1
+TCGAAGAATAGGGCGCATGGGGCATTGCCAGACCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r795/1
+TCCAGCAATCACTGAACCAACATTTAAAGCTCTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r796/1
+ATCAGAGTGCAGATTCAATTTTGCAGCATTCGTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r797/1
+GATGCGGGAAAACTGGCGGTCGGGATGCCAATTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r798/1
+TGCCACAATGACAAAAAGAATCACAATAACGAAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r799/1
+CGTCAGCGCGGATTTGCGCAGCCATCCCCTTGAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r800/1
+TAACACCGCTACGTACGGGGTTTTACTGCGGTTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r801/1
+GTCAGAGAATCCTCTTTTTCCATAAAGCGACGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r802/1
+CCACCAGGGACAGCTGTATGCCTTTATCACTGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r803/1
+TAAGTGATCATCGGCCCGACCAGCTTCGCCAGCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r804/1
+TTCAGGTAAACTTCTTCGATATCTTTGATGCCGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r805/1
+CGGAATCCATCGCCTGATTCACCTGCTGAGAATAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r806/1
+GGGAGACACAGTGCACTGGCAAACTCACACCGTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r807/1
+GGGTACGGGTTGCGAGGAAACACTCTTCACGGCTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r808/1
+TGCGTCAGCTCTTTAATCTGATTGGTCAAAGTATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r809/1
+CACAAGATATAAAGAGCGTGAGGATGTTATGGATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r810/1
+ATTTTTACTTCTTCTGCCAGCACATTACGCTCATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r811/1
+GTTATCAATATACAGCCGCATTCCTGTGCCGAGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r812/1
+GTGTTCCGCCATTACGTTAAAACGCACCTTATAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r813/1
+GCTCCCGTCAGCAGGAGAATCAGCAGTAAGAACAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r814/1
+GATGGAACCAGACCAATTAACCCATGCGGGACTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r815/1
+ACCGTTCATCAACATCACTTCATTTCCGCGCGTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r816/1
+GATACCACTTTTGCACTGCGTAATATCTCCTTTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r817/1
+CGTTGCTGTGAATTGCCAGTCGACGCATCGCACTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r818/1
+GTCGGATTTTTTAGTTCGCAGCGCCCGACCAACCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r819/1
+ACAATCTTTTCCGCGTTATTCGTGAACTGCGAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r820/1
+ACCGCTTAATAATGCAGCACATGCCAGAGCGCCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r821/1
+GAATATGTAGCAGAACACCTGGCTGAAAAGCTGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r822/1
+TCTGCCGAACGCCCCACTAACTCCGCGTCAGGATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r823/1
+CCATTGCCGATATGGATCAATCGCAGTTATCGAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r824/1
+TTGTTTACCATCACCAAGCAGGGATGAGAGCAGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r825/1
+GTCAGAGGAGCCAAATTTTAGTTTTGAGACATCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r826/1
+CATCACATTATTGCTTGCCAACAGTGACCATCCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r827/1
+CCTGAGAAGAGGCCCATCCACGTGCTATGTTTGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r828/1
+ATCATTCCCAGATAGCTGCCGCCGACCTGCACGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r829/1
+GGTCAATACTGTTCTTCTTTAATACTGTTTCATCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r830/1
+CGACTCGTATGGCAGCGCGATGGCGGAGAGCATCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r831/1
+GCGCATGTGCCGCGCTCACCCAGTGAATAACACCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r832/1
+CTTTTTCCGTTTCGAGGTCGGCGGTCGCTTCGTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r833/1
+AGCGGTGGTTGGTGATCTTCAACAGCCATCGTCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r834/1
+GGAGTGTCGTCTGAATCATCATCAGGTGGAGTTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r835/1
+GCAGGGTGTTATCAGCCGTACACATGGCGGTGTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r836/1
+CGCTGGCTAAACTACAAGATGCTCTCGGCGATCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r837/1
+CCAGCATCCGGGAATTCTGTTTAACTACATGTCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r838/1
+AGTTGAACCGCGATTCGGCTGGCTATGGAACGAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r839/1
+CGGGAATTTCGTGCGGAAGAACTCTCATCGTTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r840/1
+TTGGCGGTACGGTGTTGGGTTCGATTTTAGGTCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r841/1
+AGCAGGTTTACGCTTACGGGCTGTACCTCTCCGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r842/1
+ATGTACATGGCGGCATGGGGATCATGATTGACGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r843/1
+CGATGTAATCAATACCCAGACGTTGCAAGCTGGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r844/1
+ACCCTGCTCGGTCAACATGACGCCGTTGCAGGCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r845/1
+GTTGTTTATCGCCCACGACAATACTCATTAACCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r846/1
+GACGGTTGAAACCATCAGCCGTCTGCTGGGTCGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r847/1
+CGTTTTATCGAACGTTTAGGGCTGCCCGCGGTGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r848/1
+AAATCACGCCAAATTGCATCAATGACGCCATCAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r849/1
+CTCCAGGGCTCCCCTTTTTTCAGGGTGAACCACAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r850/1
+TGAGCAACTTCAGAGCGCACCTGCTGCGCAATCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r851/1
+TTAAGGCAGCCAGGAGACGTTACCGGGTCATGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r852/1
+CCTTTCGCAGCCATACCCAGGTGAGTTTCGAGGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r853/1
+TGAAATGAAAGACGTTACGATCGCCGATCTTTTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r854/1
+CGCATCCCGCCAGATACCCCAGACCAAAAAAGAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r855/1
+CGCCTTCCGCGCCGTTGGCAAACGCGCCTGGGGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r856/1
+GCGCGTCCTCCTTGCATTCCCACAACAGCTCGTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r857/1
+TCGTAGTACGCATCGGTACGCCAACGAAGGATGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r858/1
+CAAGGATGAACATATGCTAACAGTACCGGGATTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r859/1
+ATTTTTAAATGCCGGAATAATACTGTTGCGAATAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r860/1
+ATCTCCGTACCGGAAAACCGTGAGTATGTTTACGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r861/1
+AATCTTTTGTAGATTGCACATGCTAAAAATCCCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r862/1
+CCGGTACTGGTCAACTGACCGGTTGCCGAAGCAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r863/1
+ACCGTGAAGAAGAAAAAGATTAATCCAGTGTGAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r864/1
+TTCAGGCACAGTAAACGCCGGTGAGCGCAGAAATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r865/1
+GAGGCTTGCACTTCGACAAGCTGATAAGAGGATTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r866/1
+ATCCAGCAAACTGGCGGTTACGAAAGCGCGGCGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r867/1
+TTGGAAGTCACAGTAATTTCAGAAGTGAAGCCCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r868/1
+ACCAAAGAAACGTTGCCGACGACCGCCGCCGCGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r869/1
+CCACAAGTCGATGGATTGCTGGCCCCAACTGATAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r870/1
+AGCCTGATGCCAAATCCTTTTGCAGTGGATTCACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r871/1
+CGCCTGCAGCAGGATAGCATCCAGCAGTTCATCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r872/1
+CACACCAGCACGCTGATAATCAACAAAGCGATCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r873/1
+TACAGCTCATTGAAGAAACACTTAAAGAACTCGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r874/1
+ACTTGTTCTCCGTCTTGATCCGGCAAGCTAAATTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r875/1
+CGAAAGTGAAAGCGATTGTTCTGCGTGTTAATAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r876/1
+CATTCGCTTCGATGGTAATGCTTGTGTTCTTCTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r877/1
+ATCGGGCGCATCGCCACCGGTACGCGGCTGAGCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r878/1
+CAGATTAATACCAATACCATTGATTTACGCTATAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r879/1
+TTCTCCGGGGTTGATTCCGCCTTGCGGAAATTGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r880/1
+CCCTGAATTCGGTGATATCTGTCACCCATTTCTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r881/1
+GCGCCTGGAAACTAAACCAGATACCAATAGAACAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r882/1
+ATCCCTATAAACAAGAATACTTACATATCCTTACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r883/1
+CTCGATGATCGCCTGCTCATCGGGGATTAAGCGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r884/1
+AACGAACAGATTGAACTGCTTGAGGCGTTGCTGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r885/1
+TGGCGCTATGGCAAACAGATATTCTCGCTCGCAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r886/1
+GTTACCTGAACCGGCAACGGGGATCACTCAGCCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r887/1
+ACCAGACGGTGAAAGCGATTCAGGAAGCGGAAGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r888/1
+TTCGTGTTACGGATAATCTTCTTAATGCGCGGGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r889/1
+AACGTGTCGCCCAACCGTTTAAAACCGTTGCCAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r890/1
+GATAGTCAGGGCAATCAGGAGAATGGTCAGGGCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r891/1
+GAAACGCTGTCTGCCGTGGCGGATGACGGTATCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r892/1
+CCAGTTGCCTGGGGAAAATCCTCACTAAGCTTCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r893/1
+AGATCGTTGGTCGGTTCGTCAAGAATCAATAAGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r894/1
+TAGCCGATCAATACGTGAAATCTGGGGCGGTGAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r895/1
+AACTGCTGGAAATCTTTTTCCTGCTTTTTCCACTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r896/1
+TTATGCGTTTTGCCCTAATATTTATTCTTCTTGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r897/1
+GCCCTTTTTCTTTCAGGGCGGTTTTGAATTTCTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r898/1
+GACGGAGGTGATTGGCCCCAGCATTTTCGCCCCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r899/1
+CTGCAGAGCGGTCTGGCACACAAAGGTGATGTCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r900/1
+TGACAATGTTGTGTGTAACACATGAGATGGGGTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r901/1
+CATTCCCGTGCGTGTTGCGATACATCATAATAAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r902/1
+CGACGGTACGGGCATCAATGTGTTCGTGCAGTTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r903/1
+TCTCACAGAATGTGCGGATTACTGGCAGATAACGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r904/1
+TTTCTGCTGTCAATGTACATTATCTGGCATAAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r905/1
+TCCTCCTTCATGTTGTGCTGGCGATGGAGCGCAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r906/1
+ATCTGAGTGAAACTATTGAAAATCTGTTATATATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r907/1
+GCATACGGCGCGGTAGAAGGCGGTAAAGAGTACAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r908/1
+GTTATCACTGCGTTCGTTAGCTTGATGGAGTTGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r909/1
+GAATCGCTATTTTCTCCGCGCCACACCAGGGCCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r910/1
+CTGGGGCTAAAACTGTTCCGCCGCCGTAATCGTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r911/1
+AATGCGCTGCAGGAGCTGATCATCGACGGTATCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r912/1
+AGAAATGCCAGATAAGCAGTCCTGTTACCGATGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r913/1
+GCAGTTATGCCGAGCGTGGACAGGCATCACTGGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r914/1
+AATAGCGAAGATACTTTCGTTATTTTAGAGGGCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r915/1
+GTTACAAGGGATTATAATGAAATTAAATATATTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r916/1
+GTGGGAGCCTCTTAATGGGGTGACTGCGTACCTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r917/1
+GGACTCACTATGTTTTCCGCATTGCGCCACCGTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r918/1
+AATGGTCGTCACTGCCTGCGCATTTGCCATTAAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r919/1
+TTCGATCAGGCGGCGAATTAAGGCATCGATGTGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r920/1
+TAATGGCGATTTCGGGAATAATCATATAGGTGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r921/1
+TCGCCGCTGCGGTACGTTTCGGGCAACTCAGAGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r922/1
+CCTGCCGGAGCCAGCTTCTGTGTGGCGGTGCCGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r923/1
+CGCCGGAAGGTTATGCCTCCGGTTCTCTTGGCCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r924/1
+CTGCGAAGGAAAACTCACCGATCAATTTGGCCAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r925/1
+TCCATCCTTCGTTGGCGTACCGATGCGTACTACGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r926/1
+TAAAATTCCCCCATTCTATAAATAAATTTTTTAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r927/1
+CGGTGCAACCAGGCCAATAAAGCCAATTGGCCCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r928/1
+TACAAACCAGGCGCTGGATGCCTCGCTGTTTAGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r929/1
+ACAGATGACGTAAATGCATGACGACTCCCTTTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r930/1
+AACTCATCAAGGTTATTGGAATAGATCCCCAGGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r931/1
+CTAAGCGAACGCGGCGTTAATTTCATGCAAGGCTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r932/1
+AACACGCCAGAAGAACGCCAGCCATAAGATCCGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r933/1
+TTTGCCCGGCAGGCCAGCTAAGTCGAGCGCACCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r934/1
+ACGATGGTCAGAACTTCGCTGTAGAATTCAGCTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r935/1
+GCAGGCTGTATGTTGCGGTGACTTTTTCCAGTCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r936/1
+CGTTACGTTGCAGCACTCAAAAGTGAGCGATTCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r937/1
+CCATGGACTGAAAACCGACATGCTTTTCATCCTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r938/1
+AGTAGCGTTAGCCAGAACATCGCATCGCCAATCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r939/1
+TAAATGCCTTTTGCCCGGTGCCGCAGAGAAAATCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r940/1
+TATATTAAATATAAATGATAAAACAATACATTCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r941/1
+GATACCGATGTTGAGATTGTCAAAGGGCTGGAAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r942/1
+GCACGCCGACTTCGGTGGTGAAGTTGAACGTGTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r943/1
+CTCAGGAGTTGTGGACGCAGATTGATAACGGTCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r944/1
+CGTTCGTTGAGCAAGCTACGGCAACCTGGCTGAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r945/1
+TCTGCACGATAAGCATTTTCACTGCGCAGGTACCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r946/1
+TTCTGACAGATCGGGAGAGGCCGCGATAATGGCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r947/1
+AATTATCCGGATGGTGTGTTACGGCCGGGATTCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r948/1
+AGGCCTGTGTGTTTGATAAATTTCTCTGCCATGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r949/1
+ACCACGGGCACGCGCCTTGCTCTTTCGCCAGCTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r950/1
+CGGCACGCGTTGCGCATGACCTTTCAGTTTGCCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r951/1
+CCGTACAACAACTGGCTGTATCCCATCACTTCCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r952/1
+CATCATTAAATACTTTAAGAAGGGATCTGCACACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r953/1
+TCGGTTTCATTATTTACGCAGTCCAACTTGCAGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r954/1
+GCTGGGGTAAAACGTTGCCTTGATATCGGCGCGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r955/1
+CCATTCCGTTCCATGACATCACTTTGCCGGAATGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r956/1
+ATCCCAACCCTGATTCGCCGCCCAGTGTTTAGCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r957/1
+ACATCGATGCCGAATTTGCCGTGCTGGTTCGCTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r958/1
+CGCGGGGAATCAGGCAGGCGGCGCGGATGCGGCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r959/1
+GAAATCCCGCAGGAAATCCTGGAAGAGCGCGTACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r960/1
+AGGCAATACGAAAAGCTCCTCACTTACGGCTGACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r961/1
+GTAAGGACCCACAAGGATGACGCACGATAATATCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r962/1
+TATTATCGCCATCTTATTTGCGATGAGATTTTGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r963/1
+ATTACTAAGATAAAATCAACTTGCAAGAGATTGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r964/1
+ACCTTCTTTCGCTGCGATTTCACGCACCTGGTCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r965/1
+TAACCTCGACGACCGTGAATTCTCCGGTTCGCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r966/1
+ATTTCTTACGTGGGAAATCGAGCAGGTGCTGCAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r967/1
+GGCTGTGATCCATCCCGGCCATCGCCTGATCGCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r968/1
+CCTGATGGATGAAATGAAGACGTTTATTGCCTGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r969/1
+AACATCCATTTAATCGCTTTTAAAGGCACACCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r970/1
+GGCCTGCGACCAGTCGGGTGCGACAGGAGCCGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r971/1
+GCAGGGATGGCTCCGGGCAGGGCGGGAGACTTATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r972/1
+CTTCACCACGGGTGATGATTTTCATGAGAATAGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r973/1
+AAGAAAACGGGCCAGATGTGTCCAAGACAGGCGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r974/1
+GTTACACCAAAATCCCAACCTGGATCATGCAAGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r975/1
+TAGGAATGCTGCTGCTAAAACGTCTGGACGACGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r976/1
+CACCGAAGCCAAATATTCATGGTAATACTCGCTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r977/1
+GATACTGACTCACCTCCAGCCAAAGGGTATCGGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r978/1
+AAAATCAGGCCGATGACGTTACTGTTAATCAGAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r979/1
+ACATCATGCGGCTGAGCATATTAGAGCTTAATCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r980/1
+AACACGCCGTCGCCTGCCAGCTCTTGTGGATCGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r981/1
+CACCAGCTCGGCAAGGTTATCTTCCAGCAGCGAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r982/1
+TCGCCCGGTTAGTTTTAACCTTGTCCACCGTGATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r983/1
+TTTACTTAGCGGATCGTTTAACTTCACGGTCCCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r984/1
+CCTGACATTTAACGGTCATTTATGGTTGATTTCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r985/1
+CGACATGGTCGGTCACACCGGGGTGATGGAAGCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r986/1
+GTGTATCATAATAGTTTATTTTATCTCCTACACAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r987/1
+GAGCACGTTAGAGCTGGAGTCGTTTTTAACCGCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r988/1
+ATTTTGTGCCTTAAGATTACTCTCCAGGTTTTCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r989/1
+TTGAGCGAGGTGGTCATGGTGTTGATTGCGCCAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r990/1
+AACAATCGCCGATGCGCCGCTATCGTTAAGCTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r991/1
+CCCTTCTCGGTATAGCGGAAAGTAACGCCTGCACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r992/1
+CCAATCCGGAGCTGACCCAACGCGGTTATCAATAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r993/1
+GCCGGAGTGCGTCGCTGCACCAAAAGTTCGTAGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r994/1
+TCAGTGTTGGCTATCGCATTGCCCTCTGTATCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r995/1
+AGTTCAAAGGTACCGGGTGTTGCGGGGATCGGACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r996/1
+TCAGCGCATCGGGGTTAGCCAGCGGCTCATCCATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r997/1
+CTTACGATTTTTGAGAGCCAGCGCAACATGTTCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r998/1
+TGTAGGTCTGATAAGCATAGCGCATCAGGCAATTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
+@r999/1
+ATCTTCCTCGCCCGCATCTCCCGTGGTCGTACCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776554
diff --git a/reads/e_coli_1000_2.fa b/reads/e_coli_1000_2.fa
new file mode 100644 (file)
index 0000000..524ee65
--- /dev/null
@@ -0,0 +1,2000 @@
+>r0/2
+GAATACTGGCGGATTACCGGGGAAGCTGGAGC
+>r1/2
+AATGTGAAAACGCCATCGATGGAACAGGCAAT
+>r2/2
+AACGCGCGTTATCGTGCCGGTCCATTACGCGG
+>r3/2
+TTTCGGGCGTCGGATAAACAGCCAGATAAACG
+>r4/2
+GCACAACATCGGGAGGGTAAGATTTGTGACGA
+>r5/2
+ATGGCCGCACTTGTAGAGCTGCTGAAAAACCC
+>r6/2
+CCCATTTCCGCGTCTCAAATAATTTGCTGGAG
+>r7/2
+ATTTAACACGGTTGCACAAAGTTGCAACATCA
+>r8/2
+TCGTTCACCTTCATATCCGGCGCGCTAATGCT
+>r9/2
+TCGCGTGGCATCTGGCGGTGAGGGCCAGTTGA
+>r10/2
+TCACCTACTTTATAGAAGGCGATACCGATATA
+>r11/2
+CCAATCAGTGAAAATACTGTAAATAAAGCCCT
+>r12/2
+ATGTTGACTTCGTTGAACGTGGTCAGCATGGC
+>r13/2
+CAGTTGGTTTTCTGACCATTAAACAGAATGGC
+>r14/2
+GGCGGCGCTGGCAGCACTGCATAAAGTGCGTG
+>r15/2
+AAAACCAGCGTGGCGTTAACCGATTCACCAGG
+>r16/2
+TGGTCGGCGGCAGAAGATATCAGCAGACGTAT
+>r17/2
+CAGCGACATCATTCTTAAGCCGCTGGACGGTA
+>r18/2
+TAATGTTCATCAACGACAGACAACGGACGTCT
+>r19/2
+GAGGGGAACAATGGCAAATCGTAAACGTGACG
+>r20/2
+AAGCTGCCACAAAGTTATTGGCGGTGGTCCAT
+>r21/2
+TTCACGTGTTAACGCCGATCGCATCTGTACGT
+>r22/2
+TTCTTGACGATGCCCGCTTCACCTCCCCTGCC
+>r23/2
+CGGCGTAAACTGAACTGAACCCCAAAACCTGG
+>r24/2
+TTGTCTTTGTGCTTGCGGTAAAAGTGGAAGTA
+>r25/2
+AAGACGAAGTGCTGCACTCTCTGCTGCCGCGT
+>r26/2
+TGGCGACCCTTGGCAGCATTGATTCAACAACC
+>r27/2
+AGGCTGATCGCGTACCGCGCGTCTTCCTCTTT
+>r28/2
+CCCCGTCGCCACTGCGAACCGTGATTTAAAGG
+>r29/2
+AAACCCATTGCCCGTCTGAATGCGGATCCGGC
+>r30/2
+TGAAGCCAATGAGTTGTTAACTGGCAAGACAG
+>r31/2
+GTTTATGTCAGTTGCCTGACGACGGCTAACAA
+>r32/2
+ATCGTTTCTTGCCACAAACTCCAAGGGCGGTG
+>r33/2
+TTCCTCGGTATCGAACTGATCTCTTTGCCGCT
+>r34/2
+GCGAGCTGGATATCTATCCGGAATATACTGGC
+>r35/2
+TGTAAATAAACAGCTCGCCGCAATGCTGGTTG
+>r36/2
+TTGGGCAACCGACGGGATGTTGTTCTATCTCG
+>r37/2
+TCTACCTGATCCGCCACCATATGTGCCTGAAC
+>r38/2
+GCAGGTCAAAGTCGGAGGATATCGCATCGAGC
+>r39/2
+GCTGAGAGGCAATGGTTTACCGTCTGGCAAGG
+>r40/2
+AAATCGTATGCAATGTAGCCTGTCTGTCAAGA
+>r41/2
+AAACGCTGTGCAAACTGGCGCAGCAGATGAAA
+>r42/2
+GGCTGCTGGTGAGAAACTGTTCGACTGGGGCG
+>r43/2
+CCTTCCGTAAACGTCTGGAAAAAGCGGGGCTG
+>r44/2
+AGAGCCTGAGGTACGGACACTGCCAGTCTGAC
+>r45/2
+CTAATCGGGGCGAGGTGGCGCTGGAAAATACT
+>r46/2
+TCTGGTTATTATCAGTGCCTGTCAGTTCACCA
+>r47/2
+CTCAATTTTGTCGCCTGCGGTCTGCAAAGTGC
+>r48/2
+ATCTGCCACTGGCTCACCCAATATTTGCGCGC
+>r49/2
+CCCTTATATTTTCTCAATAATTAAAATTTTAC
+>r50/2
+CTTCTGTGAGGTTTAATGGTGGTGCATCTTCT
+>r51/2
+GGCGGCAGGTAGCGGCCAGCCTCCCAGACGTT
+>r52/2
+AAACCAGGCTTTCAGCACGGTAGCAAAAACGG
+>r53/2
+CCGTTTTGAACAGGATAAGAAACTGTTCCGTA
+>r54/2
+TCTATGACCGGGTGCTGCGCGAAAAACAGCGG
+>r55/2
+TATGTACAGAAAAGCATTTATGATCAGTTCGT
+>r56/2
+GCGGCAACCATCTGAATCAACAATAAGGTGTT
+>r57/2
+ATACACGGCGTGTTTGGCTACAGCCGCTGGAA
+>r58/2
+CGCGACGAACGGCGTCGGTTTGTTGGTGACCA
+>r59/2
+TGGATGTTAGCGGTTATGTTCCTGACTGCGTG
+>r60/2
+CTGGCAACCATCGCCCGGCCATCGCACCTGAA
+>r61/2
+GGCCGTCAATAGAACGGTCAACATGGCTTTCG
+>r62/2
+AACAACACGCCGATAATCAACAAACCAAAACC
+>r63/2
+GCTCCCAGCGCGACAGCGCACTGAATTGCCAG
+>r64/2
+AGGCGAGCATATGCCGGGCGACGGGATGTTGA
+>r65/2
+CGGCGTGTGACCGATAGTCAGCGAGTTATCTT
+>r66/2
+CCAGTTCCGCGATGGTTTTCGCGTTCGGCGTA
+>r67/2
+TATCGGGGTGATAAATCAGTCTGCGCCACATC
+>r68/2
+ACAATTGAAGCCAGAGTCTTATTTTTTATATT
+>r69/2
+TTCTGCAAAACATTAGCGATCCGACGCTAGCC
+>r70/2
+CACTTCGATATCTGCCGCCACAATCACCAGAT
+>r71/2
+TGGCGTGCAAATACGTTATAGATAACGACCGC
+>r72/2
+CTGGCGGTACGCTGACTGGCGTCAGCCGCTAC
+>r73/2
+ATAAAATGGCATTCATTAGGTATCTTTAGTTG
+>r74/2
+AGCACCATCAGGCTCATAAGACCAAATGCAGC
+>r75/2
+TTCTGTAATGCATGGCAGTTTTTACTGAAAAC
+>r76/2
+CCCCTCTTGCTAAACCTTGACCAAATTTAACA
+>r77/2
+CATTGATATCAACCAAAAATTCGCGACGCTAC
+>r78/2
+CAAACTATTGATCCACGACTCATTAATGAAAT
+>r79/2
+CGCTGAAAAATTATCAGTATAAAGATCACGGT
+>r80/2
+ATCGCCGATACCCAGCGCAATATCGCCACCGC
+>r81/2
+AACAGGAGCCATCAGGCTCCTGTTTGCATTTT
+>r82/2
+CGACCGTAAGAGGCTATCTGGCGCAGCAAATC
+>r83/2
+TGAGAAATAATGTGTTAGTGTTTTTTGTACAT
+>r84/2
+GGCATGTCGCTGGTTGCGATGGGAGTCGGTGG
+>r85/2
+ATCAGGTCTGCCGTTGGATACCAGCGCATTAC
+>r86/2
+TTCGGTGCGCCCATCAGCACGTTCATGCCATG
+>r87/2
+TCGACACCAACGAAGTGGAAAGCGAACCGCTG
+>r88/2
+TTCCGCTTCGGCGCCGATGTGCGTGCTGGCGA
+>r89/2
+TGTTTTTAAATCTCCCGGAAGGCAAAGAGAAA
+>r90/2
+TCAGAATATCGATTTTCCCTTCCGCCACTTCC
+>r91/2
+GGTGCGCACAGGAGTGACGAATGATCTCCAGA
+>r92/2
+GGTCGCGAAGGTGCGATGATTCTTTTAGCTGC
+>r93/2
+ACCCAGGCCTATGCACAAATTGGCGTCGAAAG
+>r94/2
+TGAACTGCCGACGGAAGGGAACGAACATGGTC
+>r95/2
+ATGCTGGCGCAGCGCCCTTCTGCTTTTGGCAT
+>r96/2
+TAAATATCGGTGGTGATGGTGACCGGCTGACC
+>r97/2
+AACCCCGCTGCGGCGACAGGGCCTGGATGCGG
+>r98/2
+GGCGGTCAGTGTATCATCACTCATACTCTGCC
+>r99/2
+CAGCGGGACAACGTTCAAAACATTTTGTCTTC
+>r100/2
+CACATAACCCATCTTCGCCTATCGGGCAAGCA
+>r101/2
+ATGATGAAGGAAAACTGAAGAATGCCAGGTGA
+>r102/2
+TTAACATCGCCCGTAACGCGGCACTGTTGGCT
+>r103/2
+AACTCTGAATCGCTATTAACCCGCAACAGCAA
+>r104/2
+CGTGCTCAGCCGTAGCTAAGCCGCGAACAAAA
+>r105/2
+ATGGCTTTCCTCTCTTGCCTGCTGCTGCCCGC
+>r106/2
+TCGATGAAGCGAATAAATTAGTTTTTGCTACC
+>r107/2
+CGATATCTACAAGGTCGGGGTGTTGAGCGGAA
+>r108/2
+AAGGGCTGGAGTAGTTCATCCAACTGCCGATA
+>r109/2
+ATTTTGATTTGTCGGAGGCGTGCTGATTGGCG
+>r110/2
+CGAATATTTTGTAAGTAATGGCAAACTGTCAG
+>r111/2
+GGCAGAATACGGTTCGCCAGTTGTTTACCCAG
+>r112/2
+AAGATCTGGAAGCATATGACATTCTGCTGCTG
+>r113/2
+AGATAACTCCAGCGTCACGCTGGGCGACAGTC
+>r114/2
+TACGAAGATGCTGAAACTGTTACCGGTGTTAT
+>r115/2
+ATTGCCGCGAACGATTTCGGATCGTCCGGCGC
+>r116/2
+GGCGTGAGTACCGCCACACAGCTCGGTGGAGA
+>r117/2
+AGGAAGAATAAAGATGTTCGGAAAATTATCAC
+>r118/2
+GAACTGCGAAAGCCCCAGTTTACCGTTCAGCA
+>r119/2
+TCGGATAATCAGCAACTTTCAGTAAAGAGAGA
+>r120/2
+TGCAGTTGGCGATGCCGTTGCTGCCACAAGAA
+>r121/2
+CGATCTACTGTTGATCGTCCGCGGTAATAAAT
+>r122/2
+TGACCGGTCACTTTGGTCGGAATACCGCCCAT
+>r123/2
+AGTTACCGAACTGGCGATAGGCCTGAGTGTCC
+>r124/2
+CGATATTCAACCGTGGCTAGATGCACAAGATG
+>r125/2
+ACCCGGCAGAAGATGCCAAAGCGGGAGATCGC
+>r126/2
+TTTACCGCTTGGCAGGCGAAAACCGGGACCGC
+>r127/2
+CGACCGCATTTACCGCGAATCAGCTCCAGCGC
+>r128/2
+TCTCGATAAGGCGCTGAAGGCACAGAAAAATA
+>r129/2
+CCGACGTTACAAACGGGAGTGTTTGGCGGTTT
+>r130/2
+GCCGCAGGTGGCGCGGAGTCCGTCGCGGTGTA
+>r131/2
+GCAGACGCACAGAGTGCTGGCATCACATTCTG
+>r132/2
+GAAGAAGTATTAAAAACCCGCGTTCCCGGCGC
+>r133/2
+GCCTCTCCGATAACACCAGAACAAATCGAAAT
+>r134/2
+TTTGACGATATCGGCAAATGCGCGGGATTTTT
+>r135/2
+TGCGGAAGATGGAATCATCGTTGATAGCGAAG
+>r136/2
+CGCCCCGGCACCGTGTCCGGCGATCACGGATT
+>r137/2
+CTTACCCCGCAACAAGCCACAGAAATCACCGC
+>r138/2
+ATGCTGCTGGTTTTTGGCAATATTTCCTGGCA
+>r139/2
+GAAGCGAAGGCGCTGCGCAAACTGCGTCACCC
+>r140/2
+TAGAGCCAGAACCGGAACCTGAGCCGATCCCT
+>r141/2
+TCGCGGATGAATATGACCAGCCGACGTCCGAT
+>r142/2
+AGCGCCAACGAAATTAATCAAATTATTAACGC
+>r143/2
+TTGCTTTACAACTAAATCTGGGGGTATCTAAT
+>r144/2
+ACCTAATCGTTTAGTTTCGGGTGAGGGGCGTC
+>r145/2
+AGTTGAAACCACTCAAGGCCTTGGCCGCCGTG
+>r146/2
+TTTACCCAGTGACTGTACTCAGCGTTACAAAG
+>r147/2
+TCGATCAAAGATCGTCTGGTACCGATCATCGC
+>r148/2
+AACGTATTGGTTATCTTTCTTCCAGCCACGGC
+>r149/2
+TGAAGGGCTACGCGGGTGACACCGCCACCACC
+>r150/2
+GACTGCCTCGCGGACTGGTGTCCGGCGCAACA
+>r151/2
+TTAATCTACGGGCCGATGGCAGACAGCTTCGG
+>r152/2
+CGCATGCTACTACACCACGCAAACCATAAGAG
+>r153/2
+GGCTTAATATGCACCAATAAGCCATCATATAA
+>r154/2
+GATGCGTGCGCAAAACTGCGTCGGGCCGAATA
+>r155/2
+ATGGGCGAATCAGACGGGCCGATATTGGCATG
+>r156/2
+CATATACAACCAGAATCTCCAGGCGGTTCCGC
+>r157/2
+TTGTTCCAGACAACAATCTGTTTTATTCAATG
+>r158/2
+AAATCCAGCGGCTGGTTGATGTCGAACAAGGC
+>r159/2
+GGATTGGGCAACTGAAATGGGAGCTGGAAGAT
+>r160/2
+TCACGACCACCTTCCAGCGCCGCCAGCATCAC
+>r161/2
+AACGAACGCCTGCGGAGGTTGTCCTCTTTCCT
+>r162/2
+AATACACTTTCATAAACCGCCAGATATCCCGC
+>r163/2
+CGTGTTAAATACCATCCTCAACAGCATTGCCA
+>r164/2
+GATCAATAACCATAATGCCAACGAAGCCATAA
+>r165/2
+ATACCAAAAGCGGTCACATCGGCGATGGCGAC
+>r166/2
+TGCGCGAAAATGGCGTAGTGCCGGAAAAATGC
+>r167/2
+GTGAGGAAACCAACGATGTCATTACAAATTAC
+>r168/2
+AACAGCCACTCTTAACGCCACTCGCCCCTTGT
+>r169/2
+CACTTCCGCCATATCGCTGAATTCATACATTC
+>r170/2
+ATAAGCGCAAAGATCTTTATCCCATCAAATAA
+>r171/2
+TGTATTAAGTGTAGCGGGAGTCACGCCAGCAA
+>r172/2
+GTACGAGCTGCTCGGTGAGTCTATTGATGATG
+>r173/2
+GCGGCGCGCTGATCGGCGATCGGCTCGACGCG
+>r174/2
+TTTACCTTGCTTTCGTTGTCGAGAATCAGGAG
+>r175/2
+TGGCATAGGAATTTTATATCTTTGGTGAATAA
+>r176/2
+GTGCCATCGGAAGCCGGTGTCATACAGGACAT
+>r177/2
+ACTTTTCCGCTGTGGCATCGCATTTTCAATTG
+>r178/2
+CCAGTTATTACGGTCATGCCGCTATGAAAATC
+>r179/2
+CACTGCTTCTTTTGCCCACGCATCCGCACGGA
+>r180/2
+GCGGCGTCACTGGCGTAACGATACCTGGTTTG
+>r181/2
+TATCGTCATTAAGTTAGTCGTGGCATTTCGAA
+>r182/2
+GCAGTATCGCCGCCAGCCATGCAGCGGCGTCG
+>r183/2
+AAATCATTAAGCTGTGGTGCATTGTCTGGTGT
+>r184/2
+ATGGAGGAAAATCGCCCCCGTTTGCAGGGGAC
+>r185/2
+ATGGCACAAACCACGCGCCCCAGATAAACCAT
+>r186/2
+GGCAGAATTCCTGCAGCGCGCGGTGGAAGAGA
+>r187/2
+GATGGCCGTTAATCCAAGAGTGGACAGCCAGA
+>r188/2
+AAATCCGCCGTTATGCCGAGCGCTGGAAACCC
+>r189/2
+CAGGAACGGTTCAACCAGTTCTTCTGGCTCTG
+>r190/2
+ATGCATCTAAATTAATTATCAGATAATAACAA
+>r191/2
+TTCTTCTTTCCTGCAAGGAAAACCAACGTCGC
+>r192/2
+TGGTCCGACGCACCAGGCTGTTGAGCAACTGG
+>r193/2
+TAAGCATCTTTTATGATTGCTGCTGAACGTTT
+>r194/2
+TGACGTGGTGCAGGCGCTGAACCTGATGAGCG
+>r195/2
+AGTTGAAATTGGTAGCACAAAGCAGGATGTTG
+>r196/2
+TGCCAGCATATCTGGAGAGTTGATGTACTCTT
+>r197/2
+TCCGGGTTCATTTTTTTGCAACTGGCGTTGAT
+>r198/2
+TATGCAGTACAGAACGGTATCCCGGTTCCGAC
+>r199/2
+CCGAGAAATATGCGCAAATTAAGGACATTGTC
+>r200/2
+TATTCAGCATATACGACGCCCACTTTAGCCTG
+>r201/2
+TATCGATGCGCCGCAACAAACGGCCGCCGCCT
+>r202/2
+CGGCGCGGTGGGTAGCCTGTATACGGCAGCCG
+>r203/2
+TTTGTAATATCAGTACAAAAATGCGATCCGCC
+>r204/2
+GATATCATATGCCGCCAGCGCGCGGATGAAGA
+>r205/2
+TTGCGTAAACATGGTTGCCGATCTGTGGCATG
+>r206/2
+TTAAAATCGTGCCTTGTTCAAGGCGTAAAAAA
+>r207/2
+TGAAACTGACAGTAAAAAACTGTTCGAAATGA
+>r208/2
+TGTTATGAAAAAAAATAACAACTTTTTTATCT
+>r209/2
+AGGCGCGTTTTTGCCCGCATAAGCGTTTGAAT
+>r210/2
+CCCTATGTGGAAACGCTTACTTGTAGTCTCTG
+>r211/2
+TCGCGGTTTTACATTGATAGCCTAACGATCCC
+>r212/2
+AACTTGTTTACCGGGGCGGCACTCTCTTTCGC
+>r213/2
+TGAATACACATTGACTTACATTAAGCAGGATG
+>r214/2
+GGGTATCCTGCAAGCCTGTCCTGGACTATCCT
+>r215/2
+ATCATCATGCTGGATAACAGTGCGCGTAGCCT
+>r216/2
+TGCTTGTGTGCTGTCGATTGGTGATTTTGGCG
+>r217/2
+CTCATCGGCAATGATTTGTCTGACGATGGTGG
+>r218/2
+AATGCACAATCCAGCGCATTACGTGCTGCGCC
+>r219/2
+ATGATATCGGCGACTGGTATGTTCGTGCTGCT
+>r220/2
+ACGGGCATAATAACTGTCCGCGACCGTTTCCA
+>r221/2
+AACTGCTCAACAAGATACTGGCGATTACGTAA
+>r222/2
+TAGGTGCCAACGGCAAAGGTCTGATGTTGAAT
+>r223/2
+TAATAGCGGTCTGGCTTCACAGGTCATTTCGC
+>r224/2
+CATTCGCGCCGATATGGGTCATGTAAGCGGCA
+>r225/2
+CCGAACTCATTAAGCGAATCGAGTCCTTCATA
+>r226/2
+AGGCGATGACACGTTCTTCATTGAGGACATCT
+>r227/2
+CATGACTGATTTCCGGGACGTTGCCATTTTCC
+>r228/2
+TGTGGAGCTGCTGTCTACAGGGGGCACTGCCC
+>r229/2
+GGCGAATATCTGGTGGTCATTACCGCTGACGT
+>r230/2
+CCGCACACGGTTGAAATCAGTAATAAACAGCG
+>r231/2
+GTGGGAATCCAGCGCCTCATCGATAGATGAAT
+>r232/2
+ACTACCAGTTTGCAGGTTTTAGCATCCACACC
+>r233/2
+CGCCAGACGGACTGATAAACACTGACCACAGC
+>r234/2
+CAAAAGAATAATGATTCTTGCAGATGTGTTTT
+>r235/2
+TACAAGCCGTGGCGCGCTATCCTGAGCGTCCA
+>r236/2
+TCCAGTTGCTGAAGAAGTTGGCGTGCGTATGG
+>r237/2
+CAGAAAGTCTGGCATTTGGCGGCGGTGCTTTA
+>r238/2
+GATGACGAGCCATACGCACCAGGTAATTAAGA
+>r239/2
+AGCCGACGCGCAAGAAACCAATAACGTCATTC
+>r240/2
+GCGCAGTATTCCTCGCTCGTTTTATCTCAATT
+>r241/2
+TACTGATATATTTTCCTGCATAGATTTAACCG
+>r242/2
+GCGTCATGCTCCTGATTGGCAGGTGGCATGTT
+>r243/2
+AAAAATGCTGTCAAAAGGCGTATTGTCAGCGC
+>r244/2
+CACTTTTGTGCCAGTAAACAATGTGGAAAGCC
+>r245/2
+CCAGCGAACAGTTTCAAAAGACCTTTGCCATT
+>r246/2
+AATTGAACTAAAAATTCAAAAAGCAGTATTTC
+>r247/2
+GTGTTATGCCGTACCGTCACCGAAAGATATGC
+>r248/2
+ACGGTTGATTTTTTCACCGTTACAGCTGATGG
+>r249/2
+TGCGCAGAGCAGTGATGAGAATCTGAACTTGC
+>r250/2
+AAAATCAGATGGAGCTGGCGTTACGCACCAGC
+>r251/2
+ACGTTGTTCGGCAGTTCCATCGACACCAGCGT
+>r252/2
+GGAATATGCTATGCAACATAAGTTACTGATTA
+>r253/2
+GGATTCAAGCTCGGCAAAACGCAGCGTAAAGT
+>r254/2
+GTGTGTAAATACACTTAGCGCCGGGCAGGAGT
+>r255/2
+TCGAATTGTGACATTTGTCATACAACGAATAG
+>r256/2
+CGCCCCTGACTTTGCTGTTGTAAACGGTCATC
+>r257/2
+ATGGCGGCTTTATTTTAATGCTGGTGATGATT
+>r258/2
+TGGGTTGATATCAGTAGATGTAAGTGTTGACC
+>r259/2
+TACACTCGAAAACCGCGGCAGACTTGTCAGCG
+>r260/2
+TTAAGTGAAATCAGCCACAAATTACTTGCTTC
+>r261/2
+TCAGGTCACTCCGAATCCGGATGGTTCTTACA
+>r262/2
+GCAATGGTTGCATCGTCGACATCATCAAAAGT
+>r263/2
+AGCAGACTGGCGATCGCCCAGCGTGCCAGTCC
+>r264/2
+ATATGTACAGACCAGACATTAGGCACGGGATT
+>r265/2
+ACCTCGGTTACCGCGCCTATGGTGTCGGTGCT
+>r266/2
+CAGAAATCTTTCTCTGTCGCGAAACGCGTTCG
+>r267/2
+AATTCAGCCCCAGCGCCACTTTCAGTTCTTCA
+>r268/2
+ATCTGGGGTCGAGTATTGCCGGGACGCTGGGT
+>r269/2
+TTTGTTAACTGCGACCGATAAACCAAAGACAG
+>r270/2
+GCAGGCAGAATTAATTGCTATTGGTTCACTTG
+>r271/2
+GGATTTGCAACCAGTAGCCTCTGTTGCCCGTA
+>r272/2
+CCGCAGCCCATTATGCGTCAACAAATTGTTGC
+>r273/2
+ATCCATTTTTTGCAGCAGCGCCAGATGTTGCG
+>r274/2
+TCACCCGATTTTCGCTGACCGCGCGGAAAACT
+>r275/2
+TCTCTTCATTGTTCATCAAACGGGTGAGCAGT
+>r276/2
+TGAAACATCTGTTCGTGATGGCAGACAGCTTT
+>r277/2
+ACGGCACTCCACATGCGCGGTGGCACGGATTT
+>r278/2
+AAGTAGGTACAGATCACTTTAGTGATTATGCG
+>r279/2
+GCCCTGAGTATTTAATTGGTGCTGACGTGAGT
+>r280/2
+ACAGGCGGCGCAGTCCATACCGCTGACTTTCC
+>r281/2
+TTATGAAACCATCTCGATGGCGATCAGCAGTA
+>r282/2
+CGCTGATGGGCGCAAGCTCCTTCGAGCTGGCA
+>r283/2
+GGTAGTCAACGTTGAACACCAGTTCCTGCGGC
+>r284/2
+CGTGGTAACCAGACCCGTGCTGCTCTGATGAT
+>r285/2
+CCGGGGGAAGTTTTCGGCTATGATAACAGTGA
+>r286/2
+GTATACTCACGCACCCTTTTCAGGGGCAACGT
+>r287/2
+GCCTGAGAAATGGCTGCACCCAGCGTGCCAAT
+>r288/2
+AACTGGCGGAACTGCTCTATGGCGGACGTCAA
+>r289/2
+GCTTCATGCCTTTTTCAGCTTGTGGATAAGGT
+>r290/2
+GGTTGCTCCGGGCTATGAAATAGAAAAATGAA
+>r291/2
+TTGTCACCGGGATGGTGATGGGAAATATCGCC
+>r292/2
+ACCTGGTACGACGCCGAAACCGGTAAATATCA
+>r293/2
+GCATTAGGTATGCGCGTGCTGGGTAATCCGTA
+>r294/2
+CCGCGATGTGGTATGTCGGCGCGACCTGCGCC
+>r295/2
+GACGTTACTGTTTTACTCCACTTACGGTGCGC
+>r296/2
+CTCTGATTTAGGATGCGCAAAAAATTCATCAG
+>r297/2
+CCTGCTCGTTCAGCGATTTCACCGTCACAAAT
+>r298/2
+TAGCGAAAAAATAGACCAGGCACAAAAGACTT
+>r299/2
+ACTATTTTTACCACCGCATATCGTTTCAACGG
+>r300/2
+AAGGCTATTTGCTGGCGCTGGCCTACTCCACC
+>r301/2
+TATTGCCTGCATGGAAAGTAAATATGAATCTG
+>r302/2
+GCCAAATCCAGCGCAAAGTAGCTGAAAATCAG
+>r303/2
+AGCCCTTCTCCTGCAACTGTAGCATGCGGCGA
+>r304/2
+CACTAGTAGCGGCGTTGCCGCCGCATTGCGTC
+>r305/2
+CAGAGGCTGTTCCGGCTTTCTGGGATGATCAC
+>r306/2
+ACGGTCTGCGCTGCGGGACGCGCGAATTGAAT
+>r307/2
+TATCGAAGCTGGCGACAAAGCTGCTGCACAGA
+>r308/2
+ACTAGCAGCGGCAGCGCGCGACCATCGCGAGC
+>r309/2
+TCTACAGCGAGCGTGAAGGGATGAAAGGCTGG
+>r310/2
+GAAAATAGCGTTTGCCGCTTGCTGGACTTCAT
+>r311/2
+TTGCTTCGAGATTCAGTGACAAACTGAGCGGA
+>r312/2
+ACCACCGCGACGGAATATCGTGGTACTACCGA
+>r313/2
+ATCGATAATTCTTTATTTTATTCATTTTTAAA
+>r314/2
+ATCAATTGAGCCAGCGATGCGATGCCTGGCAA
+>r315/2
+GTTTCCAGCAGGCTGGTATCGAACGGTTTGCC
+>r316/2
+GCTAATTATTTTTTGCTTTCTTCTTTCAATAC
+>r317/2
+GACAAATGAACCGTTGTACCGAACTCTTGCAG
+>r318/2
+GATGATTCTGGTGCTTCCGGGTGCATTCTCCT
+>r319/2
+GGTAGCCCCCACCAGGGGCGGTCGTGATTGTC
+>r320/2
+TTGCGCCAGCGACCAGTGAGTATGCCCCGACG
+>r321/2
+AAGAAGCGGAACGCATTACGATGGCAGGTCTC
+>r322/2
+TCAATTTCAAAAACCTGTGTGTATATTGTTCG
+>r323/2
+CGCGGCGCGTTGATCGCCTGTTCCATTACCCC
+>r324/2
+ATTCTTCACAACACCGATATCAGCGTGATTTC
+>r325/2
+ACGCTCTTTCAGCTGTTCCGGGGTGTCAGTGC
+>r326/2
+ACGGCTTTAAAAACGACGTCTTTTTTGCTCAG
+>r327/2
+AGGCCAAAGACTTTAAAGTTGACCCAAATATT
+>r328/2
+CGCTGGAAATGCAAAAGTAGCTGAAGCTACGG
+>r329/2
+TGTCTTGTTTTACGGCGTTATGCTGGCTGGGG
+>r330/2
+AATGTGCCACCCAGCGCCGTTACGCGCTCGCG
+>r331/2
+TCTCTCTTCAACATTCCACGCCATCAGAATGG
+>r332/2
+TTCCTGTCAGGAATGCCAGAAAATGTGGCAAC
+>r333/2
+TGGTTACGCGAAAGAGTTGTCCAATTGTGTTT
+>r334/2
+GCTGCCGACGCGATTGCATCCCGCCACATACG
+>r335/2
+CCCGGCGGTAAACGGAAGCACGGGAGCGTGAA
+>r336/2
+TGACCGACGCATTGACGCTGAAGCCATGACCT
+>r337/2
+TACGTCGGCGTTCCGCCGCCCCAGTGCAATTG
+>r338/2
+GAAGGTTTGATCAACCGTATGGGCTTTAATAA
+>r339/2
+ATTTCTGATAACGATTCACCGTCAATTGCGCG
+>r340/2
+ATGGGGACCGGGACACGAATGGTTTCAGGATA
+>r341/2
+GAATGCCGATGAACAGATAATTAATCTTTAAT
+>r342/2
+AAAAAAATGCACTATACACACGGATGAATACG
+>r343/2
+TTAAACATCGCGATGCGGGTGGCCCGCTGTGG
+>r344/2
+CCACGCATATTGCTGAACCTGTGGCATCACAG
+>r345/2
+GCAAAACTCACCGAGATGCTGCGTGGTCTGGC
+>r346/2
+GGGTCTTATTACAAAAAAGGCCCAGGGAAGGC
+>r347/2
+ACTGATACCGGTTGTTTTCTGGTGAATTCTGG
+>r348/2
+ATGCGTATTTAAATCCACCACAAGAAGCCCCA
+>r349/2
+AATTAGATTATGTGCTTTATAATTTTCAATTT
+>r350/2
+CGACGCATCATTATTAGCGAAGAACAAGGCTC
+>r351/2
+CGACTGGTGATCCTCAACACCCCGCATAACCC
+>r352/2
+TTACACAGCGAAAACGGCTGCGGTTCTCGCTT
+>r353/2
+GCGTCGCGGGCAGGGATGAAAGCCCCAGACCA
+>r354/2
+ATCCAGACCTAACCAGTGGCTAAGGCCATGCA
+>r355/2
+TGGTCATCAGGAAGTAAACCATCAGGCCAATC
+>r356/2
+GAAGAACAGTAGCAGTGATATTCATGACAACG
+>r357/2
+TGGCTTCTGCTTTCACTACCGGCTCAGTCGCC
+>r358/2
+CACGTCGAGACGATCAACCGCTGCGCCTTTCG
+>r359/2
+AGACTGGTTGTGGATTACCGCGTGGCGGTGGA
+>r360/2
+TTGCAAATTGACATTGTCATTACCGGTGAGCA
+>r361/2
+TGACCAACTGGAATGGACGGGTGGAGATTTCC
+>r362/2
+GAAAAGCGACTGCCAGATTATTTTTTATTGCT
+>r363/2
+TCCGGGGAACCGGTGGTGCCGTGGCTGAACTT
+>r364/2
+CATGGAGTTGAGGAAGCTCAGGCTAAACGTGG
+>r365/2
+AGTTACGCGGTCGCGTCGGACGTTCGCATCAT
+>r366/2
+TGGCGAACCTGTGTGTGGTTGGCGGTTTCGCG
+>r367/2
+ACAAATTCATTTTTACAAAAACTTAAACATGA
+>r368/2
+GTCTCAATATGCTGACAGTTGCTGAAGGGGTC
+>r369/2
+AAGCAATGCTTTGGCTCATGATGGGTTGATCG
+>r370/2
+CTGTTGCCGGGAGCAGTCAGAGGACGGTGCCT
+>r371/2
+TTCCCATGAACAACTGCTGCCACTGGAGCAAG
+>r372/2
+GGATCCGTTGTATCAGATATAGAGTGAATTCA
+>r373/2
+CACCTCTGGCGATGCAGCGATGTGCAAATACT
+>r374/2
+CCGTCAGGATTCACACACAGCACCACATGATG
+>r375/2
+AATCACCGTGACCGGCAACAAATATGTGGTTG
+>r376/2
+TGATGAATCGAAAGAAACATCTTCGGGTTGTG
+>r377/2
+ACGGATCGGTTGTTGGTGCACCGTTTTTATCG
+>r378/2
+GAGTTTACCCTGCTTTAAAGCCTATGATATTC
+>r379/2
+GGGGCAGGAACCTTTGGCTTCAGCGTTTTGCA
+>r380/2
+CATATGAAATCTCCATCCCTATTGCCGTTTGA
+>r381/2
+TGAAACACTTCCCCTTTGAGAATATCAGCACG
+>r382/2
+CCGCCATTTTTGTCATGCTGGCGATGTACTAC
+>r383/2
+TGAAGGGAGAAAAACAATGTCTCATTTAAAAG
+>r384/2
+TTTACCTTTATCTACCGGGATCTGTGATTTAA
+>r385/2
+TTATCGTCGAATCATAGCTGCCCGGCGTCAGT
+>r386/2
+CTTTCCAGCCATCGTAGACGATATCGGCATAG
+>r387/2
+GTTGATTTTCCGGCAGAAGTCATCCAGGCATG
+>r388/2
+TATTCACCGTTATTTAATTGACATCGGCGGCG
+>r389/2
+TATTCGCGCTTTTTCCCCTTATTTCTGTATAA
+>r390/2
+ACCAGTTCTGGCACTATATCAGCAATGCTGTG
+>r391/2
+GCACTTTGCCATCCAGCGTATCGGCAGATGGC
+>r392/2
+CGATGTACAGCATTCGGCTGTATCCGAGAACA
+>r393/2
+ATTACGTCAGGTAGCCAGCCACATAAACGAAG
+>r394/2
+CCCGACTGCTCCAACATGTGCCATGAACCGAC
+>r395/2
+ACTTAAGTACGTGAGGATTTCGAGCACTGCCC
+>r396/2
+TTGCACTGCTCAACGCAGAGCTTCATGATCAG
+>r397/2
+TTTCGACAGCAATACCGCCAATCTCATCCAGC
+>r398/2
+CATGTTGTCGCTCACACCTTTTGCTTCTGCCG
+>r399/2
+TTTGTTTTCCATGATCTCTTCCTTAGATACCG
+>r400/2
+GCTTTTTTATTTTTATCCCTGTCAGGCTGTAA
+>r401/2
+TGGCGCTCTCCGCCGTGCTGGGCTGGTCGTTA
+>r402/2
+GTAAAGGTGACATCGTGCTGGTAGAAGCTGGC
+>r403/2
+TTCTTATCCAGATTCAGTTCTTTTTGATACTT
+>r404/2
+GCGGTTGCCAGGACTTCCGGCAGTTCGAAGAG
+>r405/2
+TTTCCTGATGACGATTAGCATTAACCACGACG
+>r406/2
+CACTCCTTTGCACTAAAACAGCAGAGTGCCAG
+>r407/2
+ACACGCCCACGACGCAATAGCAAAGGCGATGG
+>r408/2
+CTCTGGGTGCACCAATCGACGGTAAAGGTCCG
+>r409/2
+AGATAATCCTGAAGTAGTCGGGTATCGACACC
+>r410/2
+TCAACAGGATAAAGCGGTAGACCTGTTTCTCG
+>r411/2
+TGGCAAGAAGCGCGTAAAGCTCGCATTATCCT
+>r412/2
+AATCCCCTGCGTAGACGGTGACAGAACGCTAA
+>r413/2
+ACGCTCGACCAGCTTGCCCGCGCGCTGGGCCA
+>r414/2
+GGTTTTTTCCTTCGCTGAATCTCTAATTATTA
+>r415/2
+TCCAGGACTACGCGCTATTTCCGCATATGTCG
+>r416/2
+CAGGAAGATTACGTAGAAAGGGTATCCTGCAA
+>r417/2
+GGAGAGGCATTTCTGTTTGGCGCTAACATCAC
+>r418/2
+ATTAATACCGGTACCAATCTGCCCTCCGTCGC
+>r419/2
+GTTTAATCAGGTCTTCTTTAGTGACTTCATTC
+>r420/2
+GTCACTTTCCGTAATAACAAAAACAACGAAGC
+>r421/2
+CTGGAAGAACGTCGACTGATGCTACAGTGGTG
+>r422/2
+CACACTCAACCGGCACCATATCCAGCTTTTTC
+>r423/2
+AACCGGCAACCGAGGTGATAGAAAGCGTCACA
+>r424/2
+TACGCATATCAAGGTTAACGGTGCCAACCAGA
+>r425/2
+GCAGTTAGACAGCGCAAAGTCGATAATGCGGA
+>r426/2
+TGGCGGCCGCGGGATTAGGGGAGGTTGCGCAC
+>r427/2
+TTGCCGCACGTTCTTTGGCATCAATATGACCA
+>r428/2
+CTGGCGCGTTAATTCATTCCTCTTACTTTTAT
+>r429/2
+TCAACACTGGTCGGGTCCAGCCCGCCGACGTA
+>r430/2
+ATTTCGCGCATCAGCAGGCGCCCGCCCGGCTT
+>r431/2
+GCGGAGCCCATTACCGCCTGAGCGGCAAATTT
+>r432/2
+GGTTGTTTCATCCCACAGCTCAAACTTGTTGA
+>r433/2
+TGGCGACCCTGCGTGAAACCGAAGATAAGCTG
+>r434/2
+ACCAGAGTGTGACGTAATTCTCATTGAGGCAG
+>r435/2
+CCCGGCTACCGGCTGCGCCACGACTGAGAGCA
+>r436/2
+AAGGCCAGTCTTTCTGGTGTACCGGATACATT
+>r437/2
+CGGATTTTTTAACCGCGTCTGAGCAATAATCG
+>r438/2
+GCTCTGCTTCCCGACGACGCTCGGCCTCAAAA
+>r439/2
+GCAAATCCTGCTTCGCCTGTCCATCTGCATTA
+>r440/2
+CGACGCGCCTGCGGTGTTCCGCAAGGGCGTAC
+>r441/2
+CGCCAGTCCTTTGCCCTTCGCCAGACCATAGG
+>r442/2
+CCCATTTCTGGTGCGGCGTCAGGAAGTTAAGG
+>r443/2
+CCGGAAATTCAATGACCGAAAGGGCGTTAATT
+>r444/2
+CAACTCGACCGGGATAGCCGCGCCGCCAAGTA
+>r445/2
+GGATTGGCTTTGTCTGGCTGACAACGTTTGCA
+>r446/2
+TTCCAGCAGGTTGTATTACCGTAGTAATGCAA
+>r447/2
+CCTGTCCTGGCTGCATTATGTTGAGATCGTAG
+>r448/2
+ACAGACTTTGCTTCCAGCTATTCCACAGTGTT
+>r449/2
+GTTCGCCGGGTGCTGCCGCGCAACCGTGGACT
+>r450/2
+AATGGCACGTCAGCGATGCCAGCAATTATCTG
+>r451/2
+GTCCAGTGCTGTTAAGACGTAATGACTTTCTG
+>r452/2
+TTCGCCCCACCCAGTTTTAGTTTCTGACCTAC
+>r453/2
+AAAAGGGTGTCGATAAATATGTCTCGGCATAT
+>r454/2
+ATCCGGTGATGCACATACGCCAGCCACGGCAT
+>r455/2
+GAAGCCATCAGTACCCAGTACGCGGTAGTCGT
+>r456/2
+TTAGGGTTATCTGGTTATGTGTGGTACCACGA
+>r457/2
+TTAGCCCCCAGCGAGCGGTGCCACTGATGCGG
+>r458/2
+CCTGAAAGAGATCGCGATGTTTGCCTGGATGC
+>r459/2
+GAACAATTTGCCCATACACTGGGTCATGCGCT
+>r460/2
+GATTGACGATAAACCATTCCCGCTCACCTTGA
+>r461/2
+AAGCGCTGTCCGTGGCTGACTTTATAATGCAG
+>r462/2
+GTAACATAATCCACCTCGCCAGTGACCACGAC
+>r463/2
+CCCGCAATACGCGCCGGAGTCGCCAGCATTAA
+>r464/2
+GGTCTGGGCGGTGGTCACGATGAACGTGAACA
+>r465/2
+TCCACCGTCTGGAAAAAGCATTGTTTGGCGAT
+>r466/2
+GACTGTAACCGACATTCGTATTACCGTAAGCT
+>r467/2
+TAAGTACGACGAGTAAAATTACATACCTGCCC
+>r468/2
+CCAGTAAACCCGGCGTCAGCGCCAGGTTTTGG
+>r469/2
+TAAAAGCAGTGTTGAATAACCAGGTCCAGCGC
+>r470/2
+CGTTTCGACAGGAAATCATCATGAATAAATAT
+>r471/2
+GCGAAAACCAACTCACCTTTTTTACCGTTTGA
+>r472/2
+TCGCGTAAATCCAGTGGCAGCGTCGGAAGCGA
+>r473/2
+AACGCAGCGGCAACCGTTGCGGCGACGGGTGG
+>r474/2
+CCCCCCAGCAAACTCCCCAACATCCCGCGTAC
+>r475/2
+ATATTAAGCGCTAAAAAAATGTCAAAAAACAC
+>r476/2
+TGCTCTAGGTAGTAATATTAAGCCACCACAAT
+>r477/2
+CGGTTATCGCCGCGTATAACGCCTCCGTCGCC
+>r478/2
+GCGATATAGAAAATCAAAAATACTTTCATTGC
+>r479/2
+GCAATTATCGGGCCAAATGGCTGCGGTAAATC
+>r480/2
+CGCTGCTTCACCTGGTCAGTTTAGGTTTAGTC
+>r481/2
+TGGCAATTGCCGAGCAACACGCAGTGACCTTT
+>r482/2
+AATGCGTCCTGGTTCTTTCTTAACTGCTGCCA
+>r483/2
+TGAGTTTAGCCGCGCCATGCGCCACAAGGATT
+>r484/2
+CGCCAATCAATACGCCGATAACCTGTGCGATA
+>r485/2
+AGTTCAGATTAGAATGCTGCGCTTAAGAGCAA
+>r486/2
+GTTCTTTTGAAGCGCGCGGCAAAAAGCTGGGT
+>r487/2
+TAACTGGAACAGATAAAATGCCTGGCAAGCCT
+>r488/2
+GGCGCTTAACCACAGCATCATCAGGTTGTTGG
+>r489/2
+ACGCTATTGTGTGGAGTGATCTCTGTGGCTTT
+>r490/2
+GCTAAATCTTCAGGTTTTGTAATCGGTTTATT
+>r491/2
+TCCGGGGGCAAGTCCACCAGCACCACGTCGTC
+>r492/2
+TCGGCATGTCGATGGACAATGTCGTGGTGACG
+>r493/2
+CGGGCGTTGCTGTGACAACGGTAACGCCCACA
+>r494/2
+GTTCTTCACCTCTTTCTTCGAGCCTGGCATGT
+>r495/2
+TGGCAATGTGCAAAATGCCAGCGCTGGTATTG
+>r496/2
+TAAGAACCGCGATGGGCTGATCGTCATTCATC
+>r497/2
+CCATCTGGCTGGCGCATGTCACTTTCTGTACG
+>r498/2
+TGGCTGGGATTTGTGCTGGATAATCGGATTGC
+>r499/2
+TTCATGGCTGTCGCTGCCAACAAACGTTCGGT
+>r500/2
+GAACATATGCCACATATCGATACTCGTGTGGC
+>r501/2
+CACCGTACCTGGCAGATTGCGATGGACGGCAG
+>r502/2
+GATGGATCACGTCGGTTGACAGATGATCGAAC
+>r503/2
+AACGGCGTGGGTGTCTGCGGTAAAGAAGGGCA
+>r504/2
+TTTCTTTGCGTGATACTTATGGTCACACCCGC
+>r505/2
+GCCCGTCCAGTTCATCGCCCAGGAGCTGATAG
+>r506/2
+GTGAGATCGTCCCCGACATGTAAGATCTCGCC
+>r507/2
+GAGTGGCACGAACGTTAGCCAGATCGAAAGCC
+>r508/2
+GCACCGGTGAAAGGGGCAAGTGCGGTGCCGCT
+>r509/2
+TTGATTTAGACGTCTGGATGCCTTAACATCCA
+>r510/2
+CGCTTCGGTGAATGGTGCTCAGAAGACGGTCA
+>r511/2
+CATAAGCGGAAGCGGGATCTGAAAGGGCATGA
+>r512/2
+TCGCCAACCAGCGCCAGCAGTTCAGGGGTGGC
+>r513/2
+GCGGTGGAAGTCGTACTGGTGGCAAATTCGGT
+>r514/2
+GTGCAGAGAAATTTGCCATCCCGGTACCAAAA
+>r515/2
+TTTTAGTAATTCCAACTGCTCTGAAAATAATT
+>r516/2
+CGATAAGTCTGTAGAAGCTAAAGAGACGTTCA
+>r517/2
+GCCGTCGCGAATTTCGATCACCCGCTCGGCCT
+>r518/2
+CCGGTAATACCCGGACGAACATATCCCAGATA
+>r519/2
+TTTTTTGTATGTAAATGAGAAATGATTTCTGC
+>r520/2
+GCTTTCCAAACCACCTGACCATTTTCATTGGT
+>r521/2
+CACGGGCCATCGTCCCGGACAGCCAGGCCATT
+>r522/2
+GCCCAGCCACGCATCGACAATCATTTTTGCCA
+>r523/2
+CGTAGTTCCAGGTCATGTTCAGCACCTGGTCC
+>r524/2
+AGAGACAAGTGTTGACCAGTTCTCTGAATAAG
+>r525/2
+ATGACGGTGCGCTACCAGGCTGCGCTACGTGC
+>r526/2
+ATCAATGCACCTACGCCGCTGGCATCTTTTTT
+>r527/2
+TGATTTGTCCGGTAAAGAAGCGCCCAAATTCA
+>r528/2
+AGCGGCAGCCATGAGCTGTCATCGTTACCGCC
+>r529/2
+GATGTTTAACCGCAACGCCGAACGCTACGAAA
+>r530/2
+ATCACGGCAGCAGCGACGTTAACGTCGATATG
+>r531/2
+GGAAAAAGTTTTATGTCGTGGTCAACATTGCA
+>r532/2
+GTCAACTTTGGTAATCGACAGTGGGCGATAAA
+>r533/2
+TTCTGATGCAGGCTGCCAATACAGGCCTGACC
+>r534/2
+GCAGGGATTCGTCAGGCGCTCCTGCTGCCCAA
+>r535/2
+TGGGGCGCATCTCGGCGCTCACCTTTGACCTG
+>r536/2
+CAGTTCGCCACGCTCATCAAAATCGGGCATAA
+>r537/2
+AGAGAAATAGCTGAACAACATCAGCCAGACAA
+>r538/2
+AATTTTTTCCGCCACTTTGTCGCTGTCGATTG
+>r539/2
+AATTTCACAGTAATGATTTAAAGCCACTACCC
+>r540/2
+ATCATAACATTGCCAACGGCGAGGGGAAGTGG
+>r541/2
+AGAAAATTATCCATTGCCCCCTCCCTCGCGCT
+>r542/2
+GCTGATGGCATTGGGGATTGAATTTATCGTTA
+>r543/2
+AATATTATCCCTGCGAGAATCATAGCATCGGT
+>r544/2
+AGGCTACGCACCATGCGTGCATACCACGCCCA
+>r545/2
+GAACAGGAAGTCTGTAACATCTGTTCGAATCC
+>r546/2
+TGGAAACGGCGACACCTGTATTCATCTCCACA
+>r547/2
+AACGAAGCCGGATCGGGAATATTGTCGTTCAC
+>r548/2
+GGTCGCATGATGCGCGATCGCCTGATCAATCA
+>r549/2
+AGCGAACAGGCCCGACGGGTGCTGGATACCAC
+>r550/2
+CGTGACAGAAAAAAGGTCCGGGATATCTCATT
+>r551/2
+GCACCTTGTGCTGCTTTTTGCAGCAACAGGTT
+>r552/2
+TTATATAGATGAGGTAAGAAAACCGTCCGGGC
+>r553/2
+AGCGCATACTCTTCATGCGTTTGCGGATGCAG
+>r554/2
+TAGTAGCCGTCTTTCAGTTCGCCTTCCAGCAG
+>r555/2
+CTCATATGAGAATAATAATTATTAACAATTGG
+>r556/2
+CATCGCCGAGTTTGCCGCCCTGCAGGCTACCC
+>r557/2
+GATAGTCGCGCACGCGAATGGTGTCAGGAATT
+>r558/2
+GCCGCGTTGGCGATGTATCAGGAAGCAAAACC
+>r559/2
+TTAATCAGCCAGTCTAACTGTGAGAGCGTACG
+>r560/2
+ACGAAAGCCCACGCCGTGAATCACACCAGCAC
+>r561/2
+CCGGCGGCGTGAAATCGGTAGCACTGGCAACG
+>r562/2
+AAAGGCGAAATTCTTGGCGTCTCTGGTTTGAT
+>r563/2
+ATCAAGTTTGCTGATCCAGACTGGAGCCAACG
+>r564/2
+TTCGCGACGGTAAACCCGTTGCTGAACTGGAA
+>r565/2
+CCTGCTACAAAGATGAAGAAGTGCATAAATGT
+>r566/2
+ACGTACATAGTTAATACTCGCACCGTTATCTT
+>r567/2
+GGATCGGGGCTTTGCGCATTTTTTCGCCGCTT
+>r568/2
+GGTGTTTGTCGAAGTTCACCAGATTTTCACTA
+>r569/2
+ACCAGACCACAACTTGCTTTGCCAGGCTACCG
+>r570/2
+GCCTGGCTAATCGGGTCACGACCGGAACGGCT
+>r571/2
+GAGCTGGCTCCAGGTAACTTGTGGAACACCAT
+>r572/2
+TCCTCTTCAGCAATCGGCACCCAGCGCATTTC
+>r573/2
+GTTCGGCGACCAGCAGCCACGGGATCATGCCG
+>r574/2
+ACATCTGGATGTAAAATCTATTCATTTTGATT
+>r575/2
+GTCAGCGAGAAAACGCGCGATGCCAATCCCCC
+>r576/2
+CCTGTTACCTGTTCGTCGTCATGTTCGCTGAT
+>r577/2
+GTCATCTTTAATCTTCAGCCATACCGGTGATT
+>r578/2
+AGCAGCGACTCAAAAAGCAACCGTGGGTTGCG
+>r579/2
+CATATCAAAACCCGCAGAACTACCAAGACCGC
+>r580/2
+CGCGCGCAAAAACGCCGTCGATGAAGAGATCG
+>r581/2
+AGTAATTTTAGCCTCGTTGTCATAGGCCCACG
+>r582/2
+TCAATTTCAGAACACGATCACATAAGCTAAAA
+>r583/2
+GTGAAGCAATGAACGATGCGTTCTGGGACGAG
+>r584/2
+GCGTCAGGCTGCCGATGCGCGCAATGATATCG
+>r585/2
+TGAAGGTAAACACCAGCGCAATCCCAAACAGC
+>r586/2
+CATTATTCAAAAAGCAACCCAATTAGTGCATT
+>r587/2
+TTTCCGGCACTGCTCAGTATGATATCGCCATC
+>r588/2
+TGAACTGCCAAGCCCGCTGAATCCACCGCCAG
+>r589/2
+AGATTGATCGCCCGGAAGAGTATGCCGATATT
+>r590/2
+GGCGCAGGATATGATCCTCGCCGCCATTCCTG
+>r591/2
+ACTGAGCGATAACACGCTGGCCCTGTACGCGC
+>r592/2
+AAAGATATTTTGAAATAAGATTAATTGAAAGT
+>r593/2
+GGAGCGATTCCTGACAGGAGAGTTATAGTGCG
+>r594/2
+ACACAATGCGCCTTTGAAGAATAATACCATTG
+>r595/2
+AGAAAACGCTGATGACTAAACAGCCCTGGGCT
+>r596/2
+TGTTGATCTTAAAAGCCGGATCCTTGTTATCC
+>r597/2
+ATCTATTTCTATAAATCCGTTCAATTTGTCTG
+>r598/2
+AACTGGATGAACTCAACACCTGCATCACACAG
+>r599/2
+GCCGTGACTCATTGGCACATGGCCCATATGCT
+>r600/2
+TGATATTATTCTCGCCCAGCGTCAGGTTTGCC
+>r601/2
+AGTTCAGTAAAACCATTACCAATCTGCTCTGG
+>r602/2
+GCCTTTGCTACGGCAAGTTACCAGGTCTTCTA
+>r603/2
+CAATAACAATTATCTGGCTATAACTGATAATG
+>r604/2
+TATCCGGTAATGCCATCCTTGATCACTGTGGA
+>r605/2
+GCAAATGTGGCATGAATATTGATGTGAGCAAA
+>r606/2
+GATCAACAGCATTATCCATTTTGTTCTTCCCG
+>r607/2
+GGGTCGATGGCATAGCTACGACCGGTGGAATC
+>r608/2
+ATGATGGCGTCAATGAAGTTACGGCTCATCAG
+>r609/2
+ATATCGATTTAGCCAACGGACATTGCCGTCGC
+>r610/2
+TTACGGATATCGAGCTTGCCGGTGCTGAGCGA
+>r611/2
+TGAGCATTGGTCCCTCCCAGCCCAAACGAACT
+>r612/2
+AGAATGGCGGACATCAGCTCATCCACATTGAC
+>r613/2
+CAACACGGCTGAAAGCGATGGGTTCGCTACCG
+>r614/2
+ACCATCACCACCAAAACGCAGAGCTGCCAGAC
+>r615/2
+CGAAATACCGTGGTCGTCTGGATAACGTGTTT
+>r616/2
+CCATTGGCGCATTTAATGTGGCGGATAACTGT
+>r617/2
+TAGTCAGGTTAAAGTACTCTTTGAACAGCCAG
+>r618/2
+CCGCCCAGAATTTATGTGATTTTTCGTCCTGA
+>r619/2
+TCGGGAAACATCGAGGAGCGTTTTACTTCTGG
+>r620/2
+CAGCAACGTGCTGCAGATTGAAAACGAACTGT
+>r621/2
+CAGGAAGATCCCGACGTGAGCAATATGCATCG
+>r622/2
+GCAGGGAAACACCGGACCAAACCAATCAGCTG
+>r623/2
+AGGATGATTTCCATCAATTGCGGTACCAAGGA
+>r624/2
+CTCATTAATAAACACCACTGAAGGGCGCTGTG
+>r625/2
+GCGATCGAGCGCGGCGTGCAGCTGCCCGGCAA
+>r626/2
+GACCAGGCCATTGGTGCAGATGGCACGAAAAT
+>r627/2
+CAGGATGTGATTCGACCGAAGAGGAAGGCGAT
+>r628/2
+TGTAACAGGAAGTGGTAATACTGTATTCGCAA
+>r629/2
+ACATGCTTTAACCAACCAGGTAATTAACCTTC
+>r630/2
+AAGCTTCAACGCCCATATAACTCAAAATGAAG
+>r631/2
+CTCGAAGCAGGGCTTTGGTAACATTTCATAGG
+>r632/2
+GAGCACACGGCCCCGAGTCAGCCGTCTCGGGG
+>r633/2
+CCCGGAAGCGGCAGAAATTGTCTTCCAGTCAG
+>r634/2
+TTGAATTTGCAGATCATGGTAGGCCGAATAAG
+>r635/2
+TCAGAATGGGGCGCTGGCTTGCCGGCAGACTC
+>r636/2
+TCCGCGCGGCGCGGCACTGATTATTGCGCCTT
+>r637/2
+AGGGTCTGCATGTCGATCTCGTACATGGTAAA
+>r638/2
+TTTCTGTTCGTTTTCCACCTGCGACAGACGCA
+>r639/2
+CATCAATGCGGTCAGCACAAAATCCAGCCCCA
+>r640/2
+AGTAAAAAACTGGCGCGACCTGCCGCGCTATA
+>r641/2
+GCAGATGCTCAAGCTGCAAATCATCCGTACAA
+>r642/2
+TGGAACAACAGGCGTTAATGAAAGAGTCTGAT
+>r643/2
+TCCGCCGTGCGCCGGGTGCGTCCTAAATCGCT
+>r644/2
+AGCCACACCCGGCGGTGATTAACACCGCCAGA
+>r645/2
+CATCTCGTTCATGCGCTCTCCTACCCGTTAGG
+>r646/2
+CGCACTGCATGCCATTGCCCGGAAGCCGTGAC
+>r647/2
+CCAGCCCGGAGACAGGCGAGGCAAAATCCAGA
+>r648/2
+ACGTAATAGGTATCGTCTTTTTCTTCGTAAAT
+>r649/2
+GTAATGTGCGGCAAGGGGAGCCTGTAAACGTT
+>r650/2
+AAATCGAGATCGTGCAGTAATTTTTGCAGCGT
+>r651/2
+GCGAACCGTGATTTAAAGGAAGTCACTGCATG
+>r652/2
+GTGAAGCAACTCTGGCTCCGTCTCTGGACCTG
+>r653/2
+CGGCCAGGTATTGAGGGAAGCGGGTTCAGTGA
+>r654/2
+AAACGGTTTCATTACCAACATGCCCTAATTCC
+>r655/2
+GGTTCGGTTGGGGCTATTATTGCCGCGTTGAT
+>r656/2
+TCTTAAAAATTGATGGCGTTGGGATTCCAGCC
+>r657/2
+TTTATTACAGATTTAATAAATTACCACATTTT
+>r658/2
+AACGCGTTATTGCCGTCAGGAACCGTATATTA
+>r659/2
+ATCCCCGTTCGTGAGCGTCTGCTGCTGTCCGA
+>r660/2
+TCAGGCATCTGCGCATGGTGTCGGATGCGGCG
+>r661/2
+GCCGTTTGGCTGTTTCACGCCGAGGAAGATTA
+>r662/2
+ACTTAACAAAATCGCATGGGCGAGAATAAACC
+>r663/2
+ATGCCGTAAATGAGCGTCACAAAGCCTAAAAG
+>r664/2
+GGGGAATTACGTCGATATTACGAAGGCTGGGA
+>r665/2
+AACTTGCCATAACCGGCCTCGGTAATCACGCG
+>r666/2
+CGATCCCGGCGACAGCACCTGGCAGCAATTTA
+>r667/2
+TAAGGTAAAGCAACACCTTCGTCAGCTTTGGA
+>r668/2
+GCCCTGAACGGCGAGCATTGCAGTGGCACTGA
+>r669/2
+ACACCGGTCATGCTATCGGTATTGAAGTCCAT
+>r670/2
+CTCCCGCAAGGTTATTGCCATGCGTAAATCTT
+>r671/2
+CCTCTAACTCTTCTTCCAGCGTCGCGATAAAT
+>r672/2
+GCAGCTCGTCACGTCGGGTGTCAGGGTTATAG
+>r673/2
+TTACGAACAACACGCATGTATACGCCAGCTTC
+>r674/2
+CATGGTATTGGCTACACATTAGGTGAGAAATG
+>r675/2
+AGGGTTATAATCTCTTTTGAGCTTTAAGCTGA
+>r676/2
+TATCGATATTATGAACACCTCTGGCTGGACGG
+>r677/2
+GCAACTCAGCAATCTGCGCTTTCTTCTTGGCG
+>r678/2
+CTCGTTTTCATGGGTATCATCAGAACGGGTCA
+>r679/2
+TGACCGCTCATTTACCGGACGACGGAACTTAT
+>r680/2
+GCTGGCGGTTTGTTGCTGGCGGGGCATACCGA
+>r681/2
+ATGCAGGGGTTTGTCCCGTTGATGGCGATAAT
+>r682/2
+TTTGCTTCTGCAACAGTTGTTCTTTTCATAAT
+>r683/2
+ATCTCTCGCCTCAAAACTGCACTGTTTGCCAA
+>r684/2
+ACGTTGGACATAAATCCTTTCGCATAGCGAGT
+>r685/2
+GTTCAGGAGTGTATCGGGCTGCATACCGCTGG
+>r686/2
+TTTAAGGAGTCCGCATAAACGGAGTGTGTTTT
+>r687/2
+CCACCATGCTCAGAGCTGCGTATTACCGTGAA
+>r688/2
+CGTGACGATGCTGCTGCTGGCTGCCTTTAGTG
+>r689/2
+TGCTCGTTGCTGGTTGGTTGCATTATGTCATT
+>r690/2
+GAAATATCCCCACTCAAACAGAACCGGGACAC
+>r691/2
+TCTTCGGCAATTTCCGCCATCTCCGGATCATC
+>r692/2
+TACTGTATTCAGGAGTAAATGGACGGCGATGT
+>r693/2
+GCTGGAAGGTAATCAACAGATCATTCTCACCT
+>r694/2
+TTATTTCGATAGCGAATTTACCAAAGCACAGC
+>r695/2
+TTGCTGATTTTACGTTGCTCTTCCCGCAGAGT
+>r696/2
+CGGCTTTTGGCCTCGGCTTGTTACAGCAAATT
+>r697/2
+CCGCGCGCCTGCGTGCGTTCGATGGCGGTCGT
+>r698/2
+GTATAAAATGCCCCGCCTGCGCAGATACTCAC
+>r699/2
+GTTGGTTCAACGCAAAACTGACCTGGCAATTA
+>r700/2
+TCTGTAACAGAAATATCACAGTACAGAAATCG
+>r701/2
+AATCCCCCTCATCCCCACGGTCGGCGCGAGGC
+>r702/2
+ACGCTGAATTATCCTCGTCAGTCTTTCGATAC
+>r703/2
+TTTTCAGTTTTTCCTGGCCTTGAATCCTGACT
+>r704/2
+AAAACAAAAGTCCTACGCAGGAATTATTTACG
+>r705/2
+TCGGTAACCAGTTCACTGGTATCAAACCGCCC
+>r706/2
+ACACCGAATCGAAATTACCGATGCGGGTTGAT
+>r707/2
+ATTCTAATCTGGTGGTCAAATGTTCGTGTGCT
+>r708/2
+GCCCAGCAACAAACCCGCTGCCACGCCAATCC
+>r709/2
+CCTCCTAAAGAGTAACGGAGGAGCACGAAGGT
+>r710/2
+AACGCAATCAGTTTACCCAGCTTCAGCGTACC
+>r711/2
+GGGCTACCGTTGCTGCCTATTTCATTCCACGG
+>r712/2
+AAAATCTGGATATCCCTTCAGATATCCTTAAG
+>r713/2
+CTGCGGATCTTTTGCCGCAACAGCTGTACTGG
+>r714/2
+CCTGCCAACAATCCGATCACCAGACCGCCAGC
+>r715/2
+CAGCACCCCGACAGCATGCGTTTCCCGGTTAT
+>r716/2
+ACGGTAGCAAAACGCATAAACTCCTGAATCGC
+>r717/2
+TTAAGTGTTAAAAATAGCTGGTAGCTGAAAAA
+>r718/2
+AACTGAATCACAGCGAGGCGGAACGGACGCGC
+>r719/2
+GGACGCAGACCAAAGTCGAACTGATATTGCAG
+>r720/2
+CTAAACCCAGGACAGGAATCCGCAATGAACAG
+>r721/2
+CTATTGATTTGCCGACAGCAATCAGCAAAGCG
+>r722/2
+CCCGACTTACCAACCCGATGCAAACTGCGAAT
+>r723/2
+ATCCCGACGTTAGCAACGCCCAGTCTCCGCGC
+>r724/2
+ACGGTCCTGGTCGCAACTTTTATTTAGCACGG
+>r725/2
+CGCCTTAAAGGTATGTTGATACTCGACGCCGA
+>r726/2
+TGGCCTTTTCTGCTGGCTATAATAGCTTATTT
+>r727/2
+GGCCCATGCGCTGAAAATGATGCGCGAAAATC
+>r728/2
+TGCGTAAAAGAGGTAATATCTATCAAAGTGAT
+>r729/2
+TTTGTGCCGCCTGCGGCTGAGCTGATACCTGA
+>r730/2
+CTCGGTGGCCAGGCGCGCTGCACCTTCCTGCG
+>r731/2
+TCGGTAAAAACATTGCGTTGATTTTTGAAAAA
+>r732/2
+GCATGATGGAAACATCACGCTGTACTTCTTCG
+>r733/2
+CAACATGCCGTCGTTACCGGTCACTGGCAGGA
+>r734/2
+TAACGTCTTTCTTGTGCTCAACCAGGCGTTTC
+>r735/2
+TACCGCCAGCAGCGAAGAGCGCCATCAGGATC
+>r736/2
+CGCCAGTCTGTGCCGAGAACATCCGTTTAATG
+>r737/2
+CCTTCTGTCTATTTTAATGCCGCCAACGGGCC
+>r738/2
+TGAAATTGTTGATTCCCCTGGTGCAAGCGCAA
+>r739/2
+GCAGAAGTCAGGCTACTTCTGTCAACAGGGCA
+>r740/2
+GGGGTGAGGGAACCCAATACGTACGACACGTC
+>r741/2
+ATTCTAACGTCTCCCCAAGTCTACTCAAGTAT
+>r742/2
+AACATTGTTATAACGCAGGCGCAGGTTTTGCG
+>r743/2
+CTGGTGATTTCATCCAGCAATAAAACCTTCGG
+>r744/2
+CAAACCTGCGGGCAGGAAAACGCGCGGATTCG
+>r745/2
+GCGACCAGTATGATCAGTCAGTTGCAACGCAT
+>r746/2
+GGATTGGCCGCACGCTGGACTGGGTCTCTAAA
+>r747/2
+TGCGACGCAAACCGTTTGTCCCTCCCGTGCTC
+>r748/2
+ACGCAAGATGCCAAAGAAAGAGGCTGAAGCTC
+>r749/2
+GTAGTGCTGGTCCAGCAGTCGGGACAGCAGTA
+>r750/2
+GACCTGTCGGTTCATTTGCTGGATGGAATGGG
+>r751/2
+ATCTCACGGGCATCGCCGAAGGCATATACCAG
+>r752/2
+GCTGTCGCCCGGCCAACGCCCGACTAAACGCG
+>r753/2
+GGTTACATATATTTCAGATACGTAAAATTAGG
+>r754/2
+GGATACTGGGCGACGGGCAATTGTAGGATCGC
+>r755/2
+TGTGATCCGGGTTCGGGAAGATAGCGCGTAGG
+>r756/2
+GTGGTGTGCCACGGTATCCCGGACGACGCCAA
+>r757/2
+TCAGATAATGAACTGGCGGTATTTTACTCAGC
+>r758/2
+TGGATATCGATGTCCCCCAGGCATGGATTATG
+>r759/2
+CGTTTGCAGGCAGCGATAATAATTGGCGCGTT
+>r760/2
+TGCAATCATTCAGTACGCTAACGGGATTGTTG
+>r761/2
+CCTGACAGAATGCTCTGTACCACCTGCCATTC
+>r762/2
+TGAATTTTATTTCTCCCGCTTAAGCCACCTGC
+>r763/2
+ATCCAGAAGCCTGCTGGCCCCATAGGTTCAAC
+>r764/2
+GTACCGCGAAAAATATAGGTAAATAACCAGAT
+>r765/2
+ATGCCTGGCAGGAAATTGATATGGGAACCACG
+>r766/2
+TTCACATACTCATCTTCCGGGCAACAATCGCT
+>r767/2
+GCAAATAAGGTCTTAAAAGAGAATTTTTTGAG
+>r768/2
+CCGGCTTGTCCATTGCGATAACCTGCCCGTCG
+>r769/2
+ATTTTCTAAAAGTTTTCTTTGCAAAAGAATAG
+>r770/2
+CAGCTAACCGATGTGCTGGCGGAGTTTGAGCA
+>r771/2
+TTATTATGATCCGTGGCCTCGACGTGCTGATG
+>r772/2
+TGATAAGCCACCAGATCAATCGCTGACACACT
+>r773/2
+CACATTGTTCCAGCTGACTCCGTTGAGCGCCA
+>r774/2
+GAAGGCCTGGTCACCGGTAAAAAAGCCATCGT
+>r775/2
+GGAAGACAGATGAAAATCAGTCGGGAAACACT
+>r776/2
+TGACGTGAGCATGGGGATTCTTACTATCCAAG
+>r777/2
+ATGATGAACGCCACATAGACGAAGCCCTGCCA
+>r778/2
+TCACTGATCCTGTGGGGACTGGATGGTATTCT
+>r779/2
+TCCATGTCTTAACAAACATCTTTTAATTCAAT
+>r780/2
+TCGAACAGGGATTTATGTGTGACACGCAGGTT
+>r781/2
+AAAGGCAAACCATCTCAATTTCACTTCTTCTA
+>r782/2
+TGTGATGTCACTGAAAATGATTGCGCGCTGAC
+>r783/2
+ACCTCCGCAACCTTGCGTTCGCTGAACAGTTT
+>r784/2
+ACTCTTTTTCACCACTGCTGATCTCAAGTGTA
+>r785/2
+TGTCAGACGCTGGCTGCGTTGATGAAGAGCAG
+>r786/2
+TCTCGCAGAACTGGTTGCCAGTGCGAAGGCGG
+>r787/2
+CGTGAACTGGGCGGCAACTACTACAGCGATCC
+>r788/2
+TTCTATGCTTTTTCAGGTCACAAACTGTATGG
+>r789/2
+TGAATATGGGTCGCCGTCAGGTATGGATGGGC
+>r790/2
+ATAATCAAAATTAACGAAAAAATGCCCTCTAT
+>r791/2
+GAAGGATGGTCGGCGTATTGTTATCGGCTGGA
+>r792/2
+AGGCACCATGGTTGATACCTGGGCGACCGTCG
+>r793/2
+GTTCTGCATCAACGTGGTCGTGATGCTGATGA
+>r794/2
+AGCTAGCCGACAAGCCCTGGAAGCTGGACTGG
+>r795/2
+TGTGTTCTTCACCAGATGTATGTGAAGTAGGA
+>r796/2
+CGTTTTTATAATGTCTGGCCATGCGGTAAAAC
+>r797/2
+TTCGACGTTGATATACGGCTGGAGGATAGTAT
+>r798/2
+TGCACATTACGGGATTTCTCCGCGTTAAGGAT
+>r799/2
+TGCGCGTCTGGCCTGCGTCCAGCTACACCCGC
+>r800/2
+CCGTGGAATATGCCAGGGCTGAAAGCCGTTGG
+>r801/2
+TGCCAGGGAATGGTGATGGTAGAAGACGCAGA
+>r802/2
+CATACGTTGGATAACCTCTTGAACCATTGCCG
+>r803/2
+ATTAACAAAAAACCTCGGGCTTCCAGCCTGCG
+>r804/2
+GCGGTATGCGTTCCGGCACTCTGCCTGTTCAC
+>r805/2
+TAGCGGTGAACGTCTACCAACCCTGACTGCCG
+>r806/2
+CGCCAGCCGCCCCAGCTCAAGGGATTCAGCCG
+>r807/2
+GTCAGGCGCTGGATATTCCCTGGTCATGCGTA
+>r808/2
+AATACTAATGCTCATTAAGCGGGGAAGTCCTG
+>r809/2
+TGACATAATCCCATTCAATAGATATTTGTTGA
+>r810/2
+TGCAGTAGATCAAGGGGTTCGAAACCAGCGAC
+>r811/2
+TCTCCCCGCACAATCAGCAATAAATATGTTTT
+>r812/2
+CTCGCGTTTTGTAATACTTTTTGCCGCCTGAA
+>r813/2
+ATTAAGCATGAGATTTTACTCATTATGTTTTA
+>r814/2
+GGTTATGGGCAGTTCAGCGGACAACTCTTTCA
+>r815/2
+TAACCAAAATGATGTCGCAGCTATCCCAGCCA
+>r816/2
+CCTTCCGACGGTGGCTGGTGACGACCAAGCAT
+>r817/2
+TCACTCTTTCAGAGCGCAAGGTACTGCGGCTA
+>r818/2
+CATATTCCGCACGGTCTGGCGAACGCCATGTT
+>r819/2
+CCGCTCCTCGCCATAACTACGCGGTTGCCAGC
+>r820/2
+TGCTGGTCAGCGAAGACGAAATCAGAAACAGT
+>r821/2
+GAATATCTCCGGCACCGTGGGTTGAGCTGATA
+>r822/2
+CGACGTTGCCCGACAATTGCATTCACCACGCC
+>r823/2
+TGGCGTCCGGCGAGGACATCACGCTGAAAATT
+>r824/2
+AGGTGATGTTTAATAAAACAGTTGTCTCTCGT
+>r825/2
+AGGCATTTTTCTCTTTATCTTTGTACGGTACT
+>r826/2
+CCGGTTCAGGGCAAAGTGAATATTTCGTTGCA
+>r827/2
+AACAGATAGCCAGTACTTCACAGCTAATTGGA
+>r828/2
+CGCAGCGATTGGCTGGTTTGGGCGAGAAGGGG
+>r829/2
+ATTACTATGTCTTTATCTCGCGTAGCGATTGT
+>r830/2
+GAGTGTTTTATCTTTGAACTCAGGCTGCCAGC
+>r831/2
+ACAAGCAGTACAAACGTCTGGTGCTGGGTAAA
+>r832/2
+CACCCACTCGTCAAACACAAGCTGGGACTGAT
+>r833/2
+GATTGTAGTGAACAAGTGGGACGGCCTGAGCC
+>r834/2
+TGCCATGGCTTGTCACAGGTGCTGCTACTGCG
+>r835/2
+GGCATGTTTTTCCGCCAGGCTGCGCTGCATTT
+>r836/2
+TTGTCTTCTGGCGTGACGTCTCCGGTCCAGTC
+>r837/2
+CGGTTTCGGCGTGGTTACGCACGAACTCATCG
+>r838/2
+GCCAGTATTTCCCGCCGTCATGGTGGCACCGG
+>r839/2
+TTATGCAAACCATACGCCAGTGCAGCGGCGGT
+>r840/2
+CATCGCCGCTTCGCCATAACGCCGTATCAATT
+>r841/2
+CGGTTTCCAGCACCTGATCGTTTTGCAGTCGA
+>r842/2
+ATGCAGGCCTGATGAGACGTGACAAGCGTCAC
+>r843/2
+TCTGGGAACGAAAAGGGAGTTTATTCAACAAA
+>r844/2
+CGTAATCTTTCGCGCTGTTTTCATCTTCCAGT
+>r845/2
+CGTGATTTACCGCGACTCTGGATGCAGCCTGA
+>r846/2
+ATGAAACAGTGATGAACCTTCTGTCAGATCAA
+>r847/2
+TGTCGTGGCACCGCGCCAGCCGTACCGCCGCC
+>r848/2
+GTCCTTCCAATCCGTTAATGAAACTGGTGGCA
+>r849/2
+CACTCATGCTAATGACACTTTTGTGCAGGTGA
+>r850/2
+GCAAACCAACGACGGTTATCATGATAGGTGTG
+>r851/2
+GGTTTGGCATGGTGTATAACGAAGTTCTGAAC
+>r852/2
+TCAACCCGATCGAAGATATGCCTTACGATGAA
+>r853/2
+CCAGAGAACATCGACTTAATCGCGCCCGCCAG
+>r854/2
+ATGATGTTCTACGGCATCGTTCAGGATAAACT
+>r855/2
+CAGCTGGCCTATTCCCGTGATAAAAAGCGTAT
+>r856/2
+TGAACGCAACGGCTGCGGTTTTACCTTTGGCG
+>r857/2
+TTTCCGACTAACTGTACTTTGCATAATCACAT
+>r858/2
+TACGGGCGGCGCGAGAGCAGACCGAACAAATC
+>r859/2
+TAGTGGTTGAAACAACGGGCGATGAAACCATC
+>r860/2
+CCAGTACCATCGACAGCGGTTTGCCGCCGAAG
+>r861/2
+AGTAACATCCGTATCGGTGTTTTCCACGAAAC
+>r862/2
+ACCGCAGGGACCACGCAGGGACAGAATATCAC
+>r863/2
+CATTCATTTGAAGTAAAACTTGCCGCTGTAAA
+>r864/2
+TAAATCGGCTAAACTACAGTTTTTCTGATTTT
+>r865/2
+CGGCTAATTTGTTCTGGCGGAAGGGCAACGTA
+>r866/2
+AACCATTCTGCTTTATAGCGCCTCGGATATTG
+>r867/2
+GCCAGGCTAGACTTTAGTTCCACAACACTAAA
+>r868/2
+TAAATTAGATATATCTAATTAAGCAAAAGGAG
+>r869/2
+CAGGCGATAAATTGCAGGCCAACCTGTTACGC
+>r870/2
+GAGGTAAAATTGACATACACCTACAATGCCCG
+>r871/2
+AGCCGATCCGGATCGCGTTAAGAACGAACTCT
+>r872/2
+TCAGCATCTGCTTAACGATCTGGACAACGATG
+>r873/2
+GCACACCATATCTTTTTATCATCATCATTGAT
+>r874/2
+CATCTGCGGACGCAGCAAATATTGAGCAAGCG
+>r875/2
+CCAGACTATTTTCTACGGTGGTGATCACGCCG
+>r876/2
+TACCTTTATCTTTACCGGTTAACACGATAACT
+>r877/2
+GATAAACCGTGTCCCGTATTATTATGCTGATC
+>r878/2
+GCTTTCATTTGCTGAGACATAACGACCGCTCA
+>r879/2
+TAACTGTGAGTTATTCAATTGTTATTAGTGTG
+>r880/2
+CTGAAGTCTCCTGTGCGCCTGAAGAAATACCG
+>r881/2
+TACAAAAACTGGAGTATCTGCCGGAAGCGCAT
+>r882/2
+AAACAAAGAACAACTTGATATGTTGATATCAT
+>r883/2
+CCATCTCTGATCGCGCATCCAGCGGCGTTTAT
+>r884/2
+CCCTTCAACGACGGGGTTACTCAAGATTGAGG
+>r885/2
+ATTTGATCAATCTGTTGCAGTTCTGCGAAGTG
+>r886/2
+CGATTAGCAGCGGGCTGTGTGGGCGCAGCAGG
+>r887/2
+GGCACGACGAGGATCGAAGCGATATAACGGCC
+>r888/2
+TGGTGAGCTTGCTGGCGATGAACGTGCTACAC
+>r889/2
+CGGGTGGATATGACCATGGCGCTGGGGCTTTC
+>r890/2
+GGTGATTTTGCCTCCGTCACTGGCGGCACGCG
+>r891/2
+GCGATGGAATATTTAGCAGCAGTAAACGGCGA
+>r892/2
+TCACCACATCACTGCCGACGGTTACTACCGCG
+>r893/2
+AGGTGATGGTTAACGGCAAGCCACGTCATGTT
+>r894/2
+TGGATTCACACGGTCAGCATTAGGCAGCGTCA
+>r895/2
+CTATAAAGCCATTGATCAGGTTCGTGCCGAAG
+>r896/2
+CAGCATTGAGCTTAATACCAGCGCGGTGAGTG
+>r897/2
+CGTGTGGTGGCCTGTCAGGGCGACCCGGACGC
+>r898/2
+GGTTCGTAAACCTGTTCTTTTTCACCTCGTTG
+>r899/2
+TCTTAGATAAAGTGAGATTATATAGTGAAATC
+>r900/2
+TCAAGCGAAAGGCCATCCGAAAGGATGGCCTT
+>r901/2
+TAACGGCATTATTAACCATAATGAGCCGCAAG
+>r902/2
+TGAAATTGATGGCCATCCAGGAGCAGGCGCGC
+>r903/2
+GTGATTAAGTAATTTTTGCGATGACGCAAGAG
+>r904/2
+CTCATGAAGGTTTGGGGGTGAGGTAACGCTAT
+>r905/2
+GTTGCACATCGTCTGACCACCGCGCAACGCTG
+>r906/2
+GCTTCGCTGGTTTTTCCTGCATAAAAGGCACA
+>r907/2
+TCACCGCACCGCTGCCTGCGTCCAGCCCCGCT
+>r908/2
+TATCTTCTGTTGCAGGGAAGTAGATACCCGGA
+>r909/2
+GGCTCACAGCTATCCTGACAGCGGCGGCATTC
+>r910/2
+GAGTTTACGCGTCGCTTCGGTTAATTGCGAAA
+>r911/2
+TTTCTCCAGATAGTGGATGTTAGTGCCACCAT
+>r912/2
+GCTTATGATTTCTTAACTGGAGTATCTTACGT
+>r913/2
+TGATACAAACGTGTAACACGTTCTGCCTTGAT
+>r914/2
+CGTACAGTTTCCTTCTGATATTAATTTGTATG
+>r915/2
+TTCCATGCTTCCATTGCCAATGCTGGCAGAGC
+>r916/2
+TAAGACTCGGTTTCCCTTCGGCTCCCCTATTC
+>r917/2
+AACTGTTGGCGAATATAATCGGCAGATAACAT
+>r918/2
+TTTCCCTCGCCCGCGCCGTCACCGCCTTGTCA
+>r919/2
+CCGGAAATTGCAACTCGGCATGTCATTGATGA
+>r920/2
+GATTTAGAAAATCATCCGGTCATTACCGGGCA
+>r921/2
+GCTGGCGGCCTGGTATTATGGGGCTTTAGATG
+>r922/2
+CGCCCCATTCAGCTTGTCGTTTTCCTGGCTGA
+>r923/2
+CCGGACCACCGATACTGCCGAGGTAGAAGCCG
+>r924/2
+CAAATATCGAGTTGCAGAAAGTCGGCAAATAA
+>r925/2
+GGCTTGTTGGTGGCGCAACGACTGCTGGAGGG
+>r926/2
+CTCATGATCTGCGTAGAAGTGTTGCGACTGGA
+>r927/2
+TCGGCGAAGAGCGGGCGATGAGTTTTGGCATT
+>r928/2
+ACCGCCACCGGTGTAATCACCGTTTACCGTCA
+>r929/2
+ACGGCACAATACGTTAAGTAATTGAGAAAATT
+>r930/2
+TTTTCTGGCATAGTTGGACATCTGCCAATATT
+>r931/2
+ATCATTAGCCGCAATCCGGCATGCTTTCACTA
+>r932/2
+GTGAAAGGTCGTGGCGAAGATACCTATGTACA
+>r933/2
+CTTCTGAGGTGAAATCGGCGGTTGAACAGCAG
+>r934/2
+TAATTTAAGAGAGAAAGAAATGTTTACTATCA
+>r935/2
+TAAGGAAACATTTATGCGCCTGCTCCCTCTCG
+>r936/2
+ATGGTATTAATATGCTGTGGCTGGGTGAGATC
+>r937/2
+TGAACCCTAACTTTGGCGGCGAAGTAATGGTG
+>r938/2
+CATGAAGGGGCATATGGGTTTCTTCAATACCC
+>r939/2
+TGGCGGCTTTTCGCGACAAGTTTAATGACAAA
+>r940/2
+TTAAAAGCTTGTGGTGCTGTGGATTATTTCTG
+>r941/2
+CTTTAATTCGAGCAAGGGCGTCATTGCGCAGC
+>r942/2
+AAGCGCGTTTGCGGCATCGGGCCGTCAAATGC
+>r943/2
+TGCACTCTGGTCTTCCAGTTTCTTATTGACGG
+>r944/2
+CATTGCTGGCTTTCGGCGTCAGAACAAAGTCA
+>r945/2
+GGTGGTCAGGCAACCGGCAAAACCTGGCTTGC
+>r946/2
+CGCTTATCAGGCGGGAGTGGTTAAGGCACTGG
+>r947/2
+CGGTGAAATTGTGCAAAACCTGTACCGACGGG
+>r948/2
+TGCGCCTCCACCAGCAACCGTAACTTTGAAGG
+>r949/2
+GCTGCTGGATTATCAGGATTACCCGATCCCGG
+>r950/2
+ACGATGACAACCATTCATGCCTATACCGGCAC
+>r951/2
+TGCGATTCGCGCGATCCCGGAAGGTCAATGGC
+>r952/2
+TTTGATATCGAAAGGGAATCAAACTCGGGGTC
+>r953/2
+TTGCCAGGCTTAGCATCCAGAAAATAACCGGA
+>r954/2
+CGTTAATCCGCTCTGCCCACGGGGACTGGTTG
+>r955/2
+CGATTTTGCCCGTCCCCGCACCGTTCAAATTT
+>r956/2
+TCTTCAACAAAGAACCGTCTCGTAAGGCGCTG
+>r957/2
+GGCCAGCGCCACCATGCCACGATTGTTTGGCA
+>r958/2
+ATCATCCGGCTCGTCCACTTTCACCATCTGGA
+>r959/2
+TCACCGGATGTCGCGGTCAGAATGGTCACTGG
+>r960/2
+CAGTTAAATTAAAACGGCTACGCCCGCCCGCC
+>r961/2
+CGTTATAGCCCCAGCCGCGCAGCAAAGCCTGC
+>r962/2
+TAATGGCGATATCGTCTGGCGCAATGGCAACG
+>r963/2
+GTAGCAGACGGTCTGAAAACCTGGACAGTGTT
+>r964/2
+GCTGGCGGTACTGGAAAAATGCCTGCCCCAGC
+>r965/2
+AACCAGCGGTGCGCCAATCATCATGTTCCACA
+>r966/2
+GAACTTGAACTCGACGAAAGCCTGCTGGAAGC
+>r967/2
+AGCCGCATCCGGTAATGCGGATTCAGCCGATT
+>r968/2
+AGATGACCAGGGAACGCATTTCCGGCTGGTTA
+>r969/2
+GAGGTCACCGTCATTGATCGGGAGCCGGGGGC
+>r970/2
+GACGCGGAAGTGGACACCGACGATTTGAGTAA
+>r971/2
+CGCATTAAGCAACATGTCCGTTTTGGTAGTGT
+>r972/2
+GGCAGACCGGCTTATCACCGAACGTCTGGTAC
+>r973/2
+TGCCGCTTGTGTGGGCTGCCCGATCCGCGAAC
+>r974/2
+CACCGACACCGGCTTGCAGCAGAACGTGTGTC
+>r975/2
+TCACCCAGCACCGTACCGGTGCCGTGCGCTTC
+>r976/2
+TCGCCAGCTGCTCGACGCAGCGTTTCGGGTAC
+>r977/2
+AGAATGGCGGCGTTCACAGGGGCTACCCTTGT
+>r978/2
+TGTTTGTCCAGCCGGTGATGGGCTTGCTGAGT
+>r979/2
+GGCTATTTCCTCTCCTCTGGATTTGGGGGAGA
+>r980/2
+TGCCGCGTCGATGATCCCGGTGACGCAACGGC
+>r981/2
+CTTGCCGATGTGCCGCCGGAGCCGTTCACACG
+>r982/2
+AAAATCGATGCGATTATAAGTCGCAATGGCAC
+>r983/2
+TATGCCGATCATATTTTTTACGGCAGCGGTGC
+>r984/2
+CAGTAAACCTAATGCCAGATTCAGGGTCAGCA
+>r985/2
+CCGCTTTCACGTTCTTATCACCAACGTAAATC
+>r986/2
+ATTAAGCCAGCATCTTTCTTTAGCCGGACACT
+>r987/2
+ACCCGGATACCAACGGCGATCTCTCCACGCTC
+>r988/2
+TATGGCAATGCACTGAAAGATAAGGTTATTGC
+>r989/2
+CTTAAACCACGTAAAATCGTTTTTTTAAGCGT
+>r990/2
+TTTGCAACAAGGGTTGGGGCTGAAGAAAGGCG
+>r991/2
+AGCTCTGGCGCTTTCCGATGAGCTGATTGCCG
+>r992/2
+ACCGAACGTGCCAGCCCTTCGCCATACTGTTG
+>r993/2
+TTCAGGCAAAACTGGCGTAATTGCGCAATCGC
+>r994/2
+TGAACTATGTGCCGAACGTCACGAATGCTGAA
+>r995/2
+TACCAACCGCAATTGCTGTAAATTGCCGTCGA
+>r996/2
+CGCACGCTGCGACGTATTATGGCGATGAATAT
+>r997/2
+CGACCGATCCCCGCGATTCACTACATGATTGC
+>r998/2
+CACAAATAGTAGAAAAAAACGCATAATTTCTC
+>r999/2
+AACAGCAGAGTGTTACTACCGAGTACAGTCCA
diff --git a/reads/e_coli_1000_2.fq b/reads/e_coli_1000_2.fq
new file mode 100644 (file)
index 0000000..6cdf3ad
--- /dev/null
@@ -0,0 +1,4000 @@
+@r0/2
+GAATACTGGCGGATTACCGGGGAAGCTGGAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r1/2
+AATGTGAAAACGCCATCGATGGAACAGGCAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r2/2
+AACGCGCGTTATCGTGCCGGTCCATTACGCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r3/2
+TTTCGGGCGTCGGATAAACAGCCAGATAAACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r4/2
+GCACAACATCGGGAGGGTAAGATTTGTGACGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r5/2
+ATGGCCGCACTTGTAGAGCTGCTGAAAAACCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r6/2
+CCCATTTCCGCGTCTCAAATAATTTGCTGGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r7/2
+ATTTAACACGGTTGCACAAAGTTGCAACATCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r8/2
+TCGTTCACCTTCATATCCGGCGCGCTAATGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r9/2
+TCGCGTGGCATCTGGCGGTGAGGGCCAGTTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r10/2
+TCACCTACTTTATAGAAGGCGATACCGATATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r11/2
+CCAATCAGTGAAAATACTGTAAATAAAGCCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r12/2
+ATGTTGACTTCGTTGAACGTGGTCAGCATGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r13/2
+CAGTTGGTTTTCTGACCATTAAACAGAATGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r14/2
+GGCGGCGCTGGCAGCACTGCATAAAGTGCGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r15/2
+AAAACCAGCGTGGCGTTAACCGATTCACCAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r16/2
+TGGTCGGCGGCAGAAGATATCAGCAGACGTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r17/2
+CAGCGACATCATTCTTAAGCCGCTGGACGGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r18/2
+TAATGTTCATCAACGACAGACAACGGACGTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r19/2
+GAGGGGAACAATGGCAAATCGTAAACGTGACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r20/2
+AAGCTGCCACAAAGTTATTGGCGGTGGTCCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r21/2
+TTCACGTGTTAACGCCGATCGCATCTGTACGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r22/2
+TTCTTGACGATGCCCGCTTCACCTCCCCTGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r23/2
+CGGCGTAAACTGAACTGAACCCCAAAACCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r24/2
+TTGTCTTTGTGCTTGCGGTAAAAGTGGAAGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r25/2
+AAGACGAAGTGCTGCACTCTCTGCTGCCGCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r26/2
+TGGCGACCCTTGGCAGCATTGATTCAACAACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r27/2
+AGGCTGATCGCGTACCGCGCGTCTTCCTCTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r28/2
+CCCCGTCGCCACTGCGAACCGTGATTTAAAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r29/2
+AAACCCATTGCCCGTCTGAATGCGGATCCGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r30/2
+TGAAGCCAATGAGTTGTTAACTGGCAAGACAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r31/2
+GTTTATGTCAGTTGCCTGACGACGGCTAACAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r32/2
+ATCGTTTCTTGCCACAAACTCCAAGGGCGGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r33/2
+TTCCTCGGTATCGAACTGATCTCTTTGCCGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r34/2
+GCGAGCTGGATATCTATCCGGAATATACTGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r35/2
+TGTAAATAAACAGCTCGCCGCAATGCTGGTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r36/2
+TTGGGCAACCGACGGGATGTTGTTCTATCTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r37/2
+TCTACCTGATCCGCCACCATATGTGCCTGAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r38/2
+GCAGGTCAAAGTCGGAGGATATCGCATCGAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r39/2
+GCTGAGAGGCAATGGTTTACCGTCTGGCAAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r40/2
+AAATCGTATGCAATGTAGCCTGTCTGTCAAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r41/2
+AAACGCTGTGCAAACTGGCGCAGCAGATGAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r42/2
+GGCTGCTGGTGAGAAACTGTTCGACTGGGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r43/2
+CCTTCCGTAAACGTCTGGAAAAAGCGGGGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r44/2
+AGAGCCTGAGGTACGGACACTGCCAGTCTGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r45/2
+CTAATCGGGGCGAGGTGGCGCTGGAAAATACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r46/2
+TCTGGTTATTATCAGTGCCTGTCAGTTCACCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r47/2
+CTCAATTTTGTCGCCTGCGGTCTGCAAAGTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r48/2
+ATCTGCCACTGGCTCACCCAATATTTGCGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r49/2
+CCCTTATATTTTCTCAATAATTAAAATTTTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r50/2
+CTTCTGTGAGGTTTAATGGTGGTGCATCTTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r51/2
+GGCGGCAGGTAGCGGCCAGCCTCCCAGACGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r52/2
+AAACCAGGCTTTCAGCACGGTAGCAAAAACGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r53/2
+CCGTTTTGAACAGGATAAGAAACTGTTCCGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r54/2
+TCTATGACCGGGTGCTGCGCGAAAAACAGCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r55/2
+TATGTACAGAAAAGCATTTATGATCAGTTCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r56/2
+GCGGCAACCATCTGAATCAACAATAAGGTGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r57/2
+ATACACGGCGTGTTTGGCTACAGCCGCTGGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r58/2
+CGCGACGAACGGCGTCGGTTTGTTGGTGACCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r59/2
+TGGATGTTAGCGGTTATGTTCCTGACTGCGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r60/2
+CTGGCAACCATCGCCCGGCCATCGCACCTGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r61/2
+GGCCGTCAATAGAACGGTCAACATGGCTTTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r62/2
+AACAACACGCCGATAATCAACAAACCAAAACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r63/2
+GCTCCCAGCGCGACAGCGCACTGAATTGCCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r64/2
+AGGCGAGCATATGCCGGGCGACGGGATGTTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r65/2
+CGGCGTGTGACCGATAGTCAGCGAGTTATCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r66/2
+CCAGTTCCGCGATGGTTTTCGCGTTCGGCGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r67/2
+TATCGGGGTGATAAATCAGTCTGCGCCACATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r68/2
+ACAATTGAAGCCAGAGTCTTATTTTTTATATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r69/2
+TTCTGCAAAACATTAGCGATCCGACGCTAGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r70/2
+CACTTCGATATCTGCCGCCACAATCACCAGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r71/2
+TGGCGTGCAAATACGTTATAGATAACGACCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r72/2
+CTGGCGGTACGCTGACTGGCGTCAGCCGCTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r73/2
+ATAAAATGGCATTCATTAGGTATCTTTAGTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r74/2
+AGCACCATCAGGCTCATAAGACCAAATGCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r75/2
+TTCTGTAATGCATGGCAGTTTTTACTGAAAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r76/2
+CCCCTCTTGCTAAACCTTGACCAAATTTAACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r77/2
+CATTGATATCAACCAAAAATTCGCGACGCTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r78/2
+CAAACTATTGATCCACGACTCATTAATGAAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r79/2
+CGCTGAAAAATTATCAGTATAAAGATCACGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r80/2
+ATCGCCGATACCCAGCGCAATATCGCCACCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r81/2
+AACAGGAGCCATCAGGCTCCTGTTTGCATTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r82/2
+CGACCGTAAGAGGCTATCTGGCGCAGCAAATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r83/2
+TGAGAAATAATGTGTTAGTGTTTTTTGTACAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r84/2
+GGCATGTCGCTGGTTGCGATGGGAGTCGGTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r85/2
+ATCAGGTCTGCCGTTGGATACCAGCGCATTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r86/2
+TTCGGTGCGCCCATCAGCACGTTCATGCCATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r87/2
+TCGACACCAACGAAGTGGAAAGCGAACCGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r88/2
+TTCCGCTTCGGCGCCGATGTGCGTGCTGGCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r89/2
+TGTTTTTAAATCTCCCGGAAGGCAAAGAGAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r90/2
+TCAGAATATCGATTTTCCCTTCCGCCACTTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r91/2
+GGTGCGCACAGGAGTGACGAATGATCTCCAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r92/2
+GGTCGCGAAGGTGCGATGATTCTTTTAGCTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r93/2
+ACCCAGGCCTATGCACAAATTGGCGTCGAAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r94/2
+TGAACTGCCGACGGAAGGGAACGAACATGGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r95/2
+ATGCTGGCGCAGCGCCCTTCTGCTTTTGGCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r96/2
+TAAATATCGGTGGTGATGGTGACCGGCTGACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r97/2
+AACCCCGCTGCGGCGACAGGGCCTGGATGCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r98/2
+GGCGGTCAGTGTATCATCACTCATACTCTGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r99/2
+CAGCGGGACAACGTTCAAAACATTTTGTCTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r100/2
+CACATAACCCATCTTCGCCTATCGGGCAAGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r101/2
+ATGATGAAGGAAAACTGAAGAATGCCAGGTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r102/2
+TTAACATCGCCCGTAACGCGGCACTGTTGGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r103/2
+AACTCTGAATCGCTATTAACCCGCAACAGCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r104/2
+CGTGCTCAGCCGTAGCTAAGCCGCGAACAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r105/2
+ATGGCTTTCCTCTCTTGCCTGCTGCTGCCCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r106/2
+TCGATGAAGCGAATAAATTAGTTTTTGCTACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r107/2
+CGATATCTACAAGGTCGGGGTGTTGAGCGGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r108/2
+AAGGGCTGGAGTAGTTCATCCAACTGCCGATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r109/2
+ATTTTGATTTGTCGGAGGCGTGCTGATTGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r110/2
+CGAATATTTTGTAAGTAATGGCAAACTGTCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r111/2
+GGCAGAATACGGTTCGCCAGTTGTTTACCCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r112/2
+AAGATCTGGAAGCATATGACATTCTGCTGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r113/2
+AGATAACTCCAGCGTCACGCTGGGCGACAGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r114/2
+TACGAAGATGCTGAAACTGTTACCGGTGTTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r115/2
+ATTGCCGCGAACGATTTCGGATCGTCCGGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r116/2
+GGCGTGAGTACCGCCACACAGCTCGGTGGAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r117/2
+AGGAAGAATAAAGATGTTCGGAAAATTATCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r118/2
+GAACTGCGAAAGCCCCAGTTTACCGTTCAGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r119/2
+TCGGATAATCAGCAACTTTCAGTAAAGAGAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r120/2
+TGCAGTTGGCGATGCCGTTGCTGCCACAAGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r121/2
+CGATCTACTGTTGATCGTCCGCGGTAATAAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r122/2
+TGACCGGTCACTTTGGTCGGAATACCGCCCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r123/2
+AGTTACCGAACTGGCGATAGGCCTGAGTGTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r124/2
+CGATATTCAACCGTGGCTAGATGCACAAGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r125/2
+ACCCGGCAGAAGATGCCAAAGCGGGAGATCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r126/2
+TTTACCGCTTGGCAGGCGAAAACCGGGACCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r127/2
+CGACCGCATTTACCGCGAATCAGCTCCAGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r128/2
+TCTCGATAAGGCGCTGAAGGCACAGAAAAATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r129/2
+CCGACGTTACAAACGGGAGTGTTTGGCGGTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r130/2
+GCCGCAGGTGGCGCGGAGTCCGTCGCGGTGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r131/2
+GCAGACGCACAGAGTGCTGGCATCACATTCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r132/2
+GAAGAAGTATTAAAAACCCGCGTTCCCGGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r133/2
+GCCTCTCCGATAACACCAGAACAAATCGAAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r134/2
+TTTGACGATATCGGCAAATGCGCGGGATTTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r135/2
+TGCGGAAGATGGAATCATCGTTGATAGCGAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r136/2
+CGCCCCGGCACCGTGTCCGGCGATCACGGATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r137/2
+CTTACCCCGCAACAAGCCACAGAAATCACCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r138/2
+ATGCTGCTGGTTTTTGGCAATATTTCCTGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r139/2
+GAAGCGAAGGCGCTGCGCAAACTGCGTCACCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r140/2
+TAGAGCCAGAACCGGAACCTGAGCCGATCCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r141/2
+TCGCGGATGAATATGACCAGCCGACGTCCGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r142/2
+AGCGCCAACGAAATTAATCAAATTATTAACGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r143/2
+TTGCTTTACAACTAAATCTGGGGGTATCTAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r144/2
+ACCTAATCGTTTAGTTTCGGGTGAGGGGCGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r145/2
+AGTTGAAACCACTCAAGGCCTTGGCCGCCGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r146/2
+TTTACCCAGTGACTGTACTCAGCGTTACAAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r147/2
+TCGATCAAAGATCGTCTGGTACCGATCATCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r148/2
+AACGTATTGGTTATCTTTCTTCCAGCCACGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r149/2
+TGAAGGGCTACGCGGGTGACACCGCCACCACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r150/2
+GACTGCCTCGCGGACTGGTGTCCGGCGCAACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r151/2
+TTAATCTACGGGCCGATGGCAGACAGCTTCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r152/2
+CGCATGCTACTACACCACGCAAACCATAAGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r153/2
+GGCTTAATATGCACCAATAAGCCATCATATAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r154/2
+GATGCGTGCGCAAAACTGCGTCGGGCCGAATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r155/2
+ATGGGCGAATCAGACGGGCCGATATTGGCATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r156/2
+CATATACAACCAGAATCTCCAGGCGGTTCCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r157/2
+TTGTTCCAGACAACAATCTGTTTTATTCAATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r158/2
+AAATCCAGCGGCTGGTTGATGTCGAACAAGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r159/2
+GGATTGGGCAACTGAAATGGGAGCTGGAAGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r160/2
+TCACGACCACCTTCCAGCGCCGCCAGCATCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r161/2
+AACGAACGCCTGCGGAGGTTGTCCTCTTTCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r162/2
+AATACACTTTCATAAACCGCCAGATATCCCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r163/2
+CGTGTTAAATACCATCCTCAACAGCATTGCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r164/2
+GATCAATAACCATAATGCCAACGAAGCCATAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r165/2
+ATACCAAAAGCGGTCACATCGGCGATGGCGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r166/2
+TGCGCGAAAATGGCGTAGTGCCGGAAAAATGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r167/2
+GTGAGGAAACCAACGATGTCATTACAAATTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r168/2
+AACAGCCACTCTTAACGCCACTCGCCCCTTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r169/2
+CACTTCCGCCATATCGCTGAATTCATACATTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r170/2
+ATAAGCGCAAAGATCTTTATCCCATCAAATAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r171/2
+TGTATTAAGTGTAGCGGGAGTCACGCCAGCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r172/2
+GTACGAGCTGCTCGGTGAGTCTATTGATGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r173/2
+GCGGCGCGCTGATCGGCGATCGGCTCGACGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r174/2
+TTTACCTTGCTTTCGTTGTCGAGAATCAGGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r175/2
+TGGCATAGGAATTTTATATCTTTGGTGAATAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r176/2
+GTGCCATCGGAAGCCGGTGTCATACAGGACAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r177/2
+ACTTTTCCGCTGTGGCATCGCATTTTCAATTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r178/2
+CCAGTTATTACGGTCATGCCGCTATGAAAATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r179/2
+CACTGCTTCTTTTGCCCACGCATCCGCACGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r180/2
+GCGGCGTCACTGGCGTAACGATACCTGGTTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r181/2
+TATCGTCATTAAGTTAGTCGTGGCATTTCGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r182/2
+GCAGTATCGCCGCCAGCCATGCAGCGGCGTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r183/2
+AAATCATTAAGCTGTGGTGCATTGTCTGGTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r184/2
+ATGGAGGAAAATCGCCCCCGTTTGCAGGGGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r185/2
+ATGGCACAAACCACGCGCCCCAGATAAACCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r186/2
+GGCAGAATTCCTGCAGCGCGCGGTGGAAGAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r187/2
+GATGGCCGTTAATCCAAGAGTGGACAGCCAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r188/2
+AAATCCGCCGTTATGCCGAGCGCTGGAAACCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r189/2
+CAGGAACGGTTCAACCAGTTCTTCTGGCTCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r190/2
+ATGCATCTAAATTAATTATCAGATAATAACAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r191/2
+TTCTTCTTTCCTGCAAGGAAAACCAACGTCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r192/2
+TGGTCCGACGCACCAGGCTGTTGAGCAACTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r193/2
+TAAGCATCTTTTATGATTGCTGCTGAACGTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r194/2
+TGACGTGGTGCAGGCGCTGAACCTGATGAGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r195/2
+AGTTGAAATTGGTAGCACAAAGCAGGATGTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r196/2
+TGCCAGCATATCTGGAGAGTTGATGTACTCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r197/2
+TCCGGGTTCATTTTTTTGCAACTGGCGTTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r198/2
+TATGCAGTACAGAACGGTATCCCGGTTCCGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r199/2
+CCGAGAAATATGCGCAAATTAAGGACATTGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r200/2
+TATTCAGCATATACGACGCCCACTTTAGCCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r201/2
+TATCGATGCGCCGCAACAAACGGCCGCCGCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r202/2
+CGGCGCGGTGGGTAGCCTGTATACGGCAGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r203/2
+TTTGTAATATCAGTACAAAAATGCGATCCGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r204/2
+GATATCATATGCCGCCAGCGCGCGGATGAAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r205/2
+TTGCGTAAACATGGTTGCCGATCTGTGGCATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r206/2
+TTAAAATCGTGCCTTGTTCAAGGCGTAAAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r207/2
+TGAAACTGACAGTAAAAAACTGTTCGAAATGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r208/2
+TGTTATGAAAAAAAATAACAACTTTTTTATCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r209/2
+AGGCGCGTTTTTGCCCGCATAAGCGTTTGAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r210/2
+CCCTATGTGGAAACGCTTACTTGTAGTCTCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r211/2
+TCGCGGTTTTACATTGATAGCCTAACGATCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r212/2
+AACTTGTTTACCGGGGCGGCACTCTCTTTCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r213/2
+TGAATACACATTGACTTACATTAAGCAGGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r214/2
+GGGTATCCTGCAAGCCTGTCCTGGACTATCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r215/2
+ATCATCATGCTGGATAACAGTGCGCGTAGCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r216/2
+TGCTTGTGTGCTGTCGATTGGTGATTTTGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r217/2
+CTCATCGGCAATGATTTGTCTGACGATGGTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r218/2
+AATGCACAATCCAGCGCATTACGTGCTGCGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r219/2
+ATGATATCGGCGACTGGTATGTTCGTGCTGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r220/2
+ACGGGCATAATAACTGTCCGCGACCGTTTCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r221/2
+AACTGCTCAACAAGATACTGGCGATTACGTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r222/2
+TAGGTGCCAACGGCAAAGGTCTGATGTTGAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r223/2
+TAATAGCGGTCTGGCTTCACAGGTCATTTCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r224/2
+CATTCGCGCCGATATGGGTCATGTAAGCGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r225/2
+CCGAACTCATTAAGCGAATCGAGTCCTTCATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r226/2
+AGGCGATGACACGTTCTTCATTGAGGACATCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r227/2
+CATGACTGATTTCCGGGACGTTGCCATTTTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r228/2
+TGTGGAGCTGCTGTCTACAGGGGGCACTGCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r229/2
+GGCGAATATCTGGTGGTCATTACCGCTGACGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r230/2
+CCGCACACGGTTGAAATCAGTAATAAACAGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r231/2
+GTGGGAATCCAGCGCCTCATCGATAGATGAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r232/2
+ACTACCAGTTTGCAGGTTTTAGCATCCACACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r233/2
+CGCCAGACGGACTGATAAACACTGACCACAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r234/2
+CAAAAGAATAATGATTCTTGCAGATGTGTTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r235/2
+TACAAGCCGTGGCGCGCTATCCTGAGCGTCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r236/2
+TCCAGTTGCTGAAGAAGTTGGCGTGCGTATGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r237/2
+CAGAAAGTCTGGCATTTGGCGGCGGTGCTTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r238/2
+GATGACGAGCCATACGCACCAGGTAATTAAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r239/2
+AGCCGACGCGCAAGAAACCAATAACGTCATTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r240/2
+GCGCAGTATTCCTCGCTCGTTTTATCTCAATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r241/2
+TACTGATATATTTTCCTGCATAGATTTAACCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r242/2
+GCGTCATGCTCCTGATTGGCAGGTGGCATGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r243/2
+AAAAATGCTGTCAAAAGGCGTATTGTCAGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r244/2
+CACTTTTGTGCCAGTAAACAATGTGGAAAGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r245/2
+CCAGCGAACAGTTTCAAAAGACCTTTGCCATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r246/2
+AATTGAACTAAAAATTCAAAAAGCAGTATTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r247/2
+GTGTTATGCCGTACCGTCACCGAAAGATATGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r248/2
+ACGGTTGATTTTTTCACCGTTACAGCTGATGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r249/2
+TGCGCAGAGCAGTGATGAGAATCTGAACTTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r250/2
+AAAATCAGATGGAGCTGGCGTTACGCACCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r251/2
+ACGTTGTTCGGCAGTTCCATCGACACCAGCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r252/2
+GGAATATGCTATGCAACATAAGTTACTGATTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r253/2
+GGATTCAAGCTCGGCAAAACGCAGCGTAAAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r254/2
+GTGTGTAAATACACTTAGCGCCGGGCAGGAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r255/2
+TCGAATTGTGACATTTGTCATACAACGAATAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r256/2
+CGCCCCTGACTTTGCTGTTGTAAACGGTCATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r257/2
+ATGGCGGCTTTATTTTAATGCTGGTGATGATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r258/2
+TGGGTTGATATCAGTAGATGTAAGTGTTGACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r259/2
+TACACTCGAAAACCGCGGCAGACTTGTCAGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r260/2
+TTAAGTGAAATCAGCCACAAATTACTTGCTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r261/2
+TCAGGTCACTCCGAATCCGGATGGTTCTTACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r262/2
+GCAATGGTTGCATCGTCGACATCATCAAAAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r263/2
+AGCAGACTGGCGATCGCCCAGCGTGCCAGTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r264/2
+ATATGTACAGACCAGACATTAGGCACGGGATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r265/2
+ACCTCGGTTACCGCGCCTATGGTGTCGGTGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r266/2
+CAGAAATCTTTCTCTGTCGCGAAACGCGTTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r267/2
+AATTCAGCCCCAGCGCCACTTTCAGTTCTTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r268/2
+ATCTGGGGTCGAGTATTGCCGGGACGCTGGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r269/2
+TTTGTTAACTGCGACCGATAAACCAAAGACAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r270/2
+GCAGGCAGAATTAATTGCTATTGGTTCACTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r271/2
+GGATTTGCAACCAGTAGCCTCTGTTGCCCGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r272/2
+CCGCAGCCCATTATGCGTCAACAAATTGTTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r273/2
+ATCCATTTTTTGCAGCAGCGCCAGATGTTGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r274/2
+TCACCCGATTTTCGCTGACCGCGCGGAAAACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r275/2
+TCTCTTCATTGTTCATCAAACGGGTGAGCAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r276/2
+TGAAACATCTGTTCGTGATGGCAGACAGCTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r277/2
+ACGGCACTCCACATGCGCGGTGGCACGGATTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r278/2
+AAGTAGGTACAGATCACTTTAGTGATTATGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r279/2
+GCCCTGAGTATTTAATTGGTGCTGACGTGAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r280/2
+ACAGGCGGCGCAGTCCATACCGCTGACTTTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r281/2
+TTATGAAACCATCTCGATGGCGATCAGCAGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r282/2
+CGCTGATGGGCGCAAGCTCCTTCGAGCTGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r283/2
+GGTAGTCAACGTTGAACACCAGTTCCTGCGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r284/2
+CGTGGTAACCAGACCCGTGCTGCTCTGATGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r285/2
+CCGGGGGAAGTTTTCGGCTATGATAACAGTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r286/2
+GTATACTCACGCACCCTTTTCAGGGGCAACGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r287/2
+GCCTGAGAAATGGCTGCACCCAGCGTGCCAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r288/2
+AACTGGCGGAACTGCTCTATGGCGGACGTCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r289/2
+GCTTCATGCCTTTTTCAGCTTGTGGATAAGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r290/2
+GGTTGCTCCGGGCTATGAAATAGAAAAATGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r291/2
+TTGTCACCGGGATGGTGATGGGAAATATCGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r292/2
+ACCTGGTACGACGCCGAAACCGGTAAATATCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r293/2
+GCATTAGGTATGCGCGTGCTGGGTAATCCGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r294/2
+CCGCGATGTGGTATGTCGGCGCGACCTGCGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r295/2
+GACGTTACTGTTTTACTCCACTTACGGTGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r296/2
+CTCTGATTTAGGATGCGCAAAAAATTCATCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r297/2
+CCTGCTCGTTCAGCGATTTCACCGTCACAAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r298/2
+TAGCGAAAAAATAGACCAGGCACAAAAGACTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r299/2
+ACTATTTTTACCACCGCATATCGTTTCAACGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r300/2
+AAGGCTATTTGCTGGCGCTGGCCTACTCCACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r301/2
+TATTGCCTGCATGGAAAGTAAATATGAATCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r302/2
+GCCAAATCCAGCGCAAAGTAGCTGAAAATCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r303/2
+AGCCCTTCTCCTGCAACTGTAGCATGCGGCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r304/2
+CACTAGTAGCGGCGTTGCCGCCGCATTGCGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r305/2
+CAGAGGCTGTTCCGGCTTTCTGGGATGATCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r306/2
+ACGGTCTGCGCTGCGGGACGCGCGAATTGAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r307/2
+TATCGAAGCTGGCGACAAAGCTGCTGCACAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r308/2
+ACTAGCAGCGGCAGCGCGCGACCATCGCGAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r309/2
+TCTACAGCGAGCGTGAAGGGATGAAAGGCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r310/2
+GAAAATAGCGTTTGCCGCTTGCTGGACTTCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r311/2
+TTGCTTCGAGATTCAGTGACAAACTGAGCGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r312/2
+ACCACCGCGACGGAATATCGTGGTACTACCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r313/2
+ATCGATAATTCTTTATTTTATTCATTTTTAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r314/2
+ATCAATTGAGCCAGCGATGCGATGCCTGGCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r315/2
+GTTTCCAGCAGGCTGGTATCGAACGGTTTGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r316/2
+GCTAATTATTTTTTGCTTTCTTCTTTCAATAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r317/2
+GACAAATGAACCGTTGTACCGAACTCTTGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r318/2
+GATGATTCTGGTGCTTCCGGGTGCATTCTCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r319/2
+GGTAGCCCCCACCAGGGGCGGTCGTGATTGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r320/2
+TTGCGCCAGCGACCAGTGAGTATGCCCCGACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r321/2
+AAGAAGCGGAACGCATTACGATGGCAGGTCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r322/2
+TCAATTTCAAAAACCTGTGTGTATATTGTTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r323/2
+CGCGGCGCGTTGATCGCCTGTTCCATTACCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r324/2
+ATTCTTCACAACACCGATATCAGCGTGATTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r325/2
+ACGCTCTTTCAGCTGTTCCGGGGTGTCAGTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r326/2
+ACGGCTTTAAAAACGACGTCTTTTTTGCTCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r327/2
+AGGCCAAAGACTTTAAAGTTGACCCAAATATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r328/2
+CGCTGGAAATGCAAAAGTAGCTGAAGCTACGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r329/2
+TGTCTTGTTTTACGGCGTTATGCTGGCTGGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r330/2
+AATGTGCCACCCAGCGCCGTTACGCGCTCGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r331/2
+TCTCTCTTCAACATTCCACGCCATCAGAATGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r332/2
+TTCCTGTCAGGAATGCCAGAAAATGTGGCAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r333/2
+TGGTTACGCGAAAGAGTTGTCCAATTGTGTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r334/2
+GCTGCCGACGCGATTGCATCCCGCCACATACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r335/2
+CCCGGCGGTAAACGGAAGCACGGGAGCGTGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r336/2
+TGACCGACGCATTGACGCTGAAGCCATGACCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r337/2
+TACGTCGGCGTTCCGCCGCCCCAGTGCAATTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r338/2
+GAAGGTTTGATCAACCGTATGGGCTTTAATAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r339/2
+ATTTCTGATAACGATTCACCGTCAATTGCGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r340/2
+ATGGGGACCGGGACACGAATGGTTTCAGGATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r341/2
+GAATGCCGATGAACAGATAATTAATCTTTAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r342/2
+AAAAAAATGCACTATACACACGGATGAATACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r343/2
+TTAAACATCGCGATGCGGGTGGCCCGCTGTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r344/2
+CCACGCATATTGCTGAACCTGTGGCATCACAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r345/2
+GCAAAACTCACCGAGATGCTGCGTGGTCTGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r346/2
+GGGTCTTATTACAAAAAAGGCCCAGGGAAGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r347/2
+ACTGATACCGGTTGTTTTCTGGTGAATTCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r348/2
+ATGCGTATTTAAATCCACCACAAGAAGCCCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r349/2
+AATTAGATTATGTGCTTTATAATTTTCAATTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r350/2
+CGACGCATCATTATTAGCGAAGAACAAGGCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r351/2
+CGACTGGTGATCCTCAACACCCCGCATAACCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r352/2
+TTACACAGCGAAAACGGCTGCGGTTCTCGCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r353/2
+GCGTCGCGGGCAGGGATGAAAGCCCCAGACCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r354/2
+ATCCAGACCTAACCAGTGGCTAAGGCCATGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r355/2
+TGGTCATCAGGAAGTAAACCATCAGGCCAATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r356/2
+GAAGAACAGTAGCAGTGATATTCATGACAACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r357/2
+TGGCTTCTGCTTTCACTACCGGCTCAGTCGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r358/2
+CACGTCGAGACGATCAACCGCTGCGCCTTTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r359/2
+AGACTGGTTGTGGATTACCGCGTGGCGGTGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r360/2
+TTGCAAATTGACATTGTCATTACCGGTGAGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r361/2
+TGACCAACTGGAATGGACGGGTGGAGATTTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r362/2
+GAAAAGCGACTGCCAGATTATTTTTTATTGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r363/2
+TCCGGGGAACCGGTGGTGCCGTGGCTGAACTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r364/2
+CATGGAGTTGAGGAAGCTCAGGCTAAACGTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r365/2
+AGTTACGCGGTCGCGTCGGACGTTCGCATCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r366/2
+TGGCGAACCTGTGTGTGGTTGGCGGTTTCGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r367/2
+ACAAATTCATTTTTACAAAAACTTAAACATGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r368/2
+GTCTCAATATGCTGACAGTTGCTGAAGGGGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r369/2
+AAGCAATGCTTTGGCTCATGATGGGTTGATCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r370/2
+CTGTTGCCGGGAGCAGTCAGAGGACGGTGCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r371/2
+TTCCCATGAACAACTGCTGCCACTGGAGCAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r372/2
+GGATCCGTTGTATCAGATATAGAGTGAATTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r373/2
+CACCTCTGGCGATGCAGCGATGTGCAAATACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r374/2
+CCGTCAGGATTCACACACAGCACCACATGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r375/2
+AATCACCGTGACCGGCAACAAATATGTGGTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r376/2
+TGATGAATCGAAAGAAACATCTTCGGGTTGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r377/2
+ACGGATCGGTTGTTGGTGCACCGTTTTTATCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r378/2
+GAGTTTACCCTGCTTTAAAGCCTATGATATTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r379/2
+GGGGCAGGAACCTTTGGCTTCAGCGTTTTGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r380/2
+CATATGAAATCTCCATCCCTATTGCCGTTTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r381/2
+TGAAACACTTCCCCTTTGAGAATATCAGCACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r382/2
+CCGCCATTTTTGTCATGCTGGCGATGTACTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r383/2
+TGAAGGGAGAAAAACAATGTCTCATTTAAAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r384/2
+TTTACCTTTATCTACCGGGATCTGTGATTTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r385/2
+TTATCGTCGAATCATAGCTGCCCGGCGTCAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r386/2
+CTTTCCAGCCATCGTAGACGATATCGGCATAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r387/2
+GTTGATTTTCCGGCAGAAGTCATCCAGGCATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r388/2
+TATTCACCGTTATTTAATTGACATCGGCGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r389/2
+TATTCGCGCTTTTTCCCCTTATTTCTGTATAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r390/2
+ACCAGTTCTGGCACTATATCAGCAATGCTGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r391/2
+GCACTTTGCCATCCAGCGTATCGGCAGATGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r392/2
+CGATGTACAGCATTCGGCTGTATCCGAGAACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r393/2
+ATTACGTCAGGTAGCCAGCCACATAAACGAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r394/2
+CCCGACTGCTCCAACATGTGCCATGAACCGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r395/2
+ACTTAAGTACGTGAGGATTTCGAGCACTGCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r396/2
+TTGCACTGCTCAACGCAGAGCTTCATGATCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r397/2
+TTTCGACAGCAATACCGCCAATCTCATCCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r398/2
+CATGTTGTCGCTCACACCTTTTGCTTCTGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r399/2
+TTTGTTTTCCATGATCTCTTCCTTAGATACCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r400/2
+GCTTTTTTATTTTTATCCCTGTCAGGCTGTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r401/2
+TGGCGCTCTCCGCCGTGCTGGGCTGGTCGTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r402/2
+GTAAAGGTGACATCGTGCTGGTAGAAGCTGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r403/2
+TTCTTATCCAGATTCAGTTCTTTTTGATACTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r404/2
+GCGGTTGCCAGGACTTCCGGCAGTTCGAAGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r405/2
+TTTCCTGATGACGATTAGCATTAACCACGACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r406/2
+CACTCCTTTGCACTAAAACAGCAGAGTGCCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r407/2
+ACACGCCCACGACGCAATAGCAAAGGCGATGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r408/2
+CTCTGGGTGCACCAATCGACGGTAAAGGTCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r409/2
+AGATAATCCTGAAGTAGTCGGGTATCGACACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r410/2
+TCAACAGGATAAAGCGGTAGACCTGTTTCTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r411/2
+TGGCAAGAAGCGCGTAAAGCTCGCATTATCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r412/2
+AATCCCCTGCGTAGACGGTGACAGAACGCTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r413/2
+ACGCTCGACCAGCTTGCCCGCGCGCTGGGCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r414/2
+GGTTTTTTCCTTCGCTGAATCTCTAATTATTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r415/2
+TCCAGGACTACGCGCTATTTCCGCATATGTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r416/2
+CAGGAAGATTACGTAGAAAGGGTATCCTGCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r417/2
+GGAGAGGCATTTCTGTTTGGCGCTAACATCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r418/2
+ATTAATACCGGTACCAATCTGCCCTCCGTCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r419/2
+GTTTAATCAGGTCTTCTTTAGTGACTTCATTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r420/2
+GTCACTTTCCGTAATAACAAAAACAACGAAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r421/2
+CTGGAAGAACGTCGACTGATGCTACAGTGGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r422/2
+CACACTCAACCGGCACCATATCCAGCTTTTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r423/2
+AACCGGCAACCGAGGTGATAGAAAGCGTCACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r424/2
+TACGCATATCAAGGTTAACGGTGCCAACCAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r425/2
+GCAGTTAGACAGCGCAAAGTCGATAATGCGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r426/2
+TGGCGGCCGCGGGATTAGGGGAGGTTGCGCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r427/2
+TTGCCGCACGTTCTTTGGCATCAATATGACCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r428/2
+CTGGCGCGTTAATTCATTCCTCTTACTTTTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r429/2
+TCAACACTGGTCGGGTCCAGCCCGCCGACGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r430/2
+ATTTCGCGCATCAGCAGGCGCCCGCCCGGCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r431/2
+GCGGAGCCCATTACCGCCTGAGCGGCAAATTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r432/2
+GGTTGTTTCATCCCACAGCTCAAACTTGTTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r433/2
+TGGCGACCCTGCGTGAAACCGAAGATAAGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r434/2
+ACCAGAGTGTGACGTAATTCTCATTGAGGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r435/2
+CCCGGCTACCGGCTGCGCCACGACTGAGAGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r436/2
+AAGGCCAGTCTTTCTGGTGTACCGGATACATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r437/2
+CGGATTTTTTAACCGCGTCTGAGCAATAATCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r438/2
+GCTCTGCTTCCCGACGACGCTCGGCCTCAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r439/2
+GCAAATCCTGCTTCGCCTGTCCATCTGCATTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r440/2
+CGACGCGCCTGCGGTGTTCCGCAAGGGCGTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r441/2
+CGCCAGTCCTTTGCCCTTCGCCAGACCATAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r442/2
+CCCATTTCTGGTGCGGCGTCAGGAAGTTAAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r443/2
+CCGGAAATTCAATGACCGAAAGGGCGTTAATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r444/2
+CAACTCGACCGGGATAGCCGCGCCGCCAAGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r445/2
+GGATTGGCTTTGTCTGGCTGACAACGTTTGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r446/2
+TTCCAGCAGGTTGTATTACCGTAGTAATGCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r447/2
+CCTGTCCTGGCTGCATTATGTTGAGATCGTAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r448/2
+ACAGACTTTGCTTCCAGCTATTCCACAGTGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r449/2
+GTTCGCCGGGTGCTGCCGCGCAACCGTGGACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r450/2
+AATGGCACGTCAGCGATGCCAGCAATTATCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r451/2
+GTCCAGTGCTGTTAAGACGTAATGACTTTCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r452/2
+TTCGCCCCACCCAGTTTTAGTTTCTGACCTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r453/2
+AAAAGGGTGTCGATAAATATGTCTCGGCATAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r454/2
+ATCCGGTGATGCACATACGCCAGCCACGGCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r455/2
+GAAGCCATCAGTACCCAGTACGCGGTAGTCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r456/2
+TTAGGGTTATCTGGTTATGTGTGGTACCACGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r457/2
+TTAGCCCCCAGCGAGCGGTGCCACTGATGCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r458/2
+CCTGAAAGAGATCGCGATGTTTGCCTGGATGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r459/2
+GAACAATTTGCCCATACACTGGGTCATGCGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r460/2
+GATTGACGATAAACCATTCCCGCTCACCTTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r461/2
+AAGCGCTGTCCGTGGCTGACTTTATAATGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r462/2
+GTAACATAATCCACCTCGCCAGTGACCACGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r463/2
+CCCGCAATACGCGCCGGAGTCGCCAGCATTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r464/2
+GGTCTGGGCGGTGGTCACGATGAACGTGAACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r465/2
+TCCACCGTCTGGAAAAAGCATTGTTTGGCGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r466/2
+GACTGTAACCGACATTCGTATTACCGTAAGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r467/2
+TAAGTACGACGAGTAAAATTACATACCTGCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r468/2
+CCAGTAAACCCGGCGTCAGCGCCAGGTTTTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r469/2
+TAAAAGCAGTGTTGAATAACCAGGTCCAGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r470/2
+CGTTTCGACAGGAAATCATCATGAATAAATAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r471/2
+GCGAAAACCAACTCACCTTTTTTACCGTTTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r472/2
+TCGCGTAAATCCAGTGGCAGCGTCGGAAGCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r473/2
+AACGCAGCGGCAACCGTTGCGGCGACGGGTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r474/2
+CCCCCCAGCAAACTCCCCAACATCCCGCGTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r475/2
+ATATTAAGCGCTAAAAAAATGTCAAAAAACAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r476/2
+TGCTCTAGGTAGTAATATTAAGCCACCACAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r477/2
+CGGTTATCGCCGCGTATAACGCCTCCGTCGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r478/2
+GCGATATAGAAAATCAAAAATACTTTCATTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r479/2
+GCAATTATCGGGCCAAATGGCTGCGGTAAATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r480/2
+CGCTGCTTCACCTGGTCAGTTTAGGTTTAGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r481/2
+TGGCAATTGCCGAGCAACACGCAGTGACCTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r482/2
+AATGCGTCCTGGTTCTTTCTTAACTGCTGCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r483/2
+TGAGTTTAGCCGCGCCATGCGCCACAAGGATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r484/2
+CGCCAATCAATACGCCGATAACCTGTGCGATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r485/2
+AGTTCAGATTAGAATGCTGCGCTTAAGAGCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r486/2
+GTTCTTTTGAAGCGCGCGGCAAAAAGCTGGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r487/2
+TAACTGGAACAGATAAAATGCCTGGCAAGCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r488/2
+GGCGCTTAACCACAGCATCATCAGGTTGTTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r489/2
+ACGCTATTGTGTGGAGTGATCTCTGTGGCTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r490/2
+GCTAAATCTTCAGGTTTTGTAATCGGTTTATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r491/2
+TCCGGGGGCAAGTCCACCAGCACCACGTCGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r492/2
+TCGGCATGTCGATGGACAATGTCGTGGTGACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r493/2
+CGGGCGTTGCTGTGACAACGGTAACGCCCACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r494/2
+GTTCTTCACCTCTTTCTTCGAGCCTGGCATGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r495/2
+TGGCAATGTGCAAAATGCCAGCGCTGGTATTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r496/2
+TAAGAACCGCGATGGGCTGATCGTCATTCATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r497/2
+CCATCTGGCTGGCGCATGTCACTTTCTGTACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r498/2
+TGGCTGGGATTTGTGCTGGATAATCGGATTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r499/2
+TTCATGGCTGTCGCTGCCAACAAACGTTCGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r500/2
+GAACATATGCCACATATCGATACTCGTGTGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r501/2
+CACCGTACCTGGCAGATTGCGATGGACGGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r502/2
+GATGGATCACGTCGGTTGACAGATGATCGAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r503/2
+AACGGCGTGGGTGTCTGCGGTAAAGAAGGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r504/2
+TTTCTTTGCGTGATACTTATGGTCACACCCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r505/2
+GCCCGTCCAGTTCATCGCCCAGGAGCTGATAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r506/2
+GTGAGATCGTCCCCGACATGTAAGATCTCGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r507/2
+GAGTGGCACGAACGTTAGCCAGATCGAAAGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r508/2
+GCACCGGTGAAAGGGGCAAGTGCGGTGCCGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r509/2
+TTGATTTAGACGTCTGGATGCCTTAACATCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r510/2
+CGCTTCGGTGAATGGTGCTCAGAAGACGGTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r511/2
+CATAAGCGGAAGCGGGATCTGAAAGGGCATGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r512/2
+TCGCCAACCAGCGCCAGCAGTTCAGGGGTGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r513/2
+GCGGTGGAAGTCGTACTGGTGGCAAATTCGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r514/2
+GTGCAGAGAAATTTGCCATCCCGGTACCAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r515/2
+TTTTAGTAATTCCAACTGCTCTGAAAATAATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r516/2
+CGATAAGTCTGTAGAAGCTAAAGAGACGTTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r517/2
+GCCGTCGCGAATTTCGATCACCCGCTCGGCCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r518/2
+CCGGTAATACCCGGACGAACATATCCCAGATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r519/2
+TTTTTTGTATGTAAATGAGAAATGATTTCTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r520/2
+GCTTTCCAAACCACCTGACCATTTTCATTGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r521/2
+CACGGGCCATCGTCCCGGACAGCCAGGCCATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r522/2
+GCCCAGCCACGCATCGACAATCATTTTTGCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r523/2
+CGTAGTTCCAGGTCATGTTCAGCACCTGGTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r524/2
+AGAGACAAGTGTTGACCAGTTCTCTGAATAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r525/2
+ATGACGGTGCGCTACCAGGCTGCGCTACGTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r526/2
+ATCAATGCACCTACGCCGCTGGCATCTTTTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r527/2
+TGATTTGTCCGGTAAAGAAGCGCCCAAATTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r528/2
+AGCGGCAGCCATGAGCTGTCATCGTTACCGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r529/2
+GATGTTTAACCGCAACGCCGAACGCTACGAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r530/2
+ATCACGGCAGCAGCGACGTTAACGTCGATATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r531/2
+GGAAAAAGTTTTATGTCGTGGTCAACATTGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r532/2
+GTCAACTTTGGTAATCGACAGTGGGCGATAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r533/2
+TTCTGATGCAGGCTGCCAATACAGGCCTGACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r534/2
+GCAGGGATTCGTCAGGCGCTCCTGCTGCCCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r535/2
+TGGGGCGCATCTCGGCGCTCACCTTTGACCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r536/2
+CAGTTCGCCACGCTCATCAAAATCGGGCATAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r537/2
+AGAGAAATAGCTGAACAACATCAGCCAGACAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r538/2
+AATTTTTTCCGCCACTTTGTCGCTGTCGATTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r539/2
+AATTTCACAGTAATGATTTAAAGCCACTACCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r540/2
+ATCATAACATTGCCAACGGCGAGGGGAAGTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r541/2
+AGAAAATTATCCATTGCCCCCTCCCTCGCGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r542/2
+GCTGATGGCATTGGGGATTGAATTTATCGTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r543/2
+AATATTATCCCTGCGAGAATCATAGCATCGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r544/2
+AGGCTACGCACCATGCGTGCATACCACGCCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r545/2
+GAACAGGAAGTCTGTAACATCTGTTCGAATCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r546/2
+TGGAAACGGCGACACCTGTATTCATCTCCACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r547/2
+AACGAAGCCGGATCGGGAATATTGTCGTTCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r548/2
+GGTCGCATGATGCGCGATCGCCTGATCAATCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r549/2
+AGCGAACAGGCCCGACGGGTGCTGGATACCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r550/2
+CGTGACAGAAAAAAGGTCCGGGATATCTCATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r551/2
+GCACCTTGTGCTGCTTTTTGCAGCAACAGGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r552/2
+TTATATAGATGAGGTAAGAAAACCGTCCGGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r553/2
+AGCGCATACTCTTCATGCGTTTGCGGATGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r554/2
+TAGTAGCCGTCTTTCAGTTCGCCTTCCAGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r555/2
+CTCATATGAGAATAATAATTATTAACAATTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r556/2
+CATCGCCGAGTTTGCCGCCCTGCAGGCTACCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r557/2
+GATAGTCGCGCACGCGAATGGTGTCAGGAATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r558/2
+GCCGCGTTGGCGATGTATCAGGAAGCAAAACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r559/2
+TTAATCAGCCAGTCTAACTGTGAGAGCGTACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r560/2
+ACGAAAGCCCACGCCGTGAATCACACCAGCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r561/2
+CCGGCGGCGTGAAATCGGTAGCACTGGCAACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r562/2
+AAAGGCGAAATTCTTGGCGTCTCTGGTTTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r563/2
+ATCAAGTTTGCTGATCCAGACTGGAGCCAACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r564/2
+TTCGCGACGGTAAACCCGTTGCTGAACTGGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r565/2
+CCTGCTACAAAGATGAAGAAGTGCATAAATGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r566/2
+ACGTACATAGTTAATACTCGCACCGTTATCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r567/2
+GGATCGGGGCTTTGCGCATTTTTTCGCCGCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r568/2
+GGTGTTTGTCGAAGTTCACCAGATTTTCACTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r569/2
+ACCAGACCACAACTTGCTTTGCCAGGCTACCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r570/2
+GCCTGGCTAATCGGGTCACGACCGGAACGGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r571/2
+GAGCTGGCTCCAGGTAACTTGTGGAACACCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r572/2
+TCCTCTTCAGCAATCGGCACCCAGCGCATTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r573/2
+GTTCGGCGACCAGCAGCCACGGGATCATGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r574/2
+ACATCTGGATGTAAAATCTATTCATTTTGATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r575/2
+GTCAGCGAGAAAACGCGCGATGCCAATCCCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r576/2
+CCTGTTACCTGTTCGTCGTCATGTTCGCTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r577/2
+GTCATCTTTAATCTTCAGCCATACCGGTGATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r578/2
+AGCAGCGACTCAAAAAGCAACCGTGGGTTGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r579/2
+CATATCAAAACCCGCAGAACTACCAAGACCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r580/2
+CGCGCGCAAAAACGCCGTCGATGAAGAGATCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r581/2
+AGTAATTTTAGCCTCGTTGTCATAGGCCCACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r582/2
+TCAATTTCAGAACACGATCACATAAGCTAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r583/2
+GTGAAGCAATGAACGATGCGTTCTGGGACGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r584/2
+GCGTCAGGCTGCCGATGCGCGCAATGATATCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r585/2
+TGAAGGTAAACACCAGCGCAATCCCAAACAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r586/2
+CATTATTCAAAAAGCAACCCAATTAGTGCATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r587/2
+TTTCCGGCACTGCTCAGTATGATATCGCCATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r588/2
+TGAACTGCCAAGCCCGCTGAATCCACCGCCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r589/2
+AGATTGATCGCCCGGAAGAGTATGCCGATATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r590/2
+GGCGCAGGATATGATCCTCGCCGCCATTCCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r591/2
+ACTGAGCGATAACACGCTGGCCCTGTACGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r592/2
+AAAGATATTTTGAAATAAGATTAATTGAAAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r593/2
+GGAGCGATTCCTGACAGGAGAGTTATAGTGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r594/2
+ACACAATGCGCCTTTGAAGAATAATACCATTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r595/2
+AGAAAACGCTGATGACTAAACAGCCCTGGGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r596/2
+TGTTGATCTTAAAAGCCGGATCCTTGTTATCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r597/2
+ATCTATTTCTATAAATCCGTTCAATTTGTCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r598/2
+AACTGGATGAACTCAACACCTGCATCACACAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r599/2
+GCCGTGACTCATTGGCACATGGCCCATATGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r600/2
+TGATATTATTCTCGCCCAGCGTCAGGTTTGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r601/2
+AGTTCAGTAAAACCATTACCAATCTGCTCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r602/2
+GCCTTTGCTACGGCAAGTTACCAGGTCTTCTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r603/2
+CAATAACAATTATCTGGCTATAACTGATAATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r604/2
+TATCCGGTAATGCCATCCTTGATCACTGTGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r605/2
+GCAAATGTGGCATGAATATTGATGTGAGCAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r606/2
+GATCAACAGCATTATCCATTTTGTTCTTCCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r607/2
+GGGTCGATGGCATAGCTACGACCGGTGGAATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r608/2
+ATGATGGCGTCAATGAAGTTACGGCTCATCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r609/2
+ATATCGATTTAGCCAACGGACATTGCCGTCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r610/2
+TTACGGATATCGAGCTTGCCGGTGCTGAGCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r611/2
+TGAGCATTGGTCCCTCCCAGCCCAAACGAACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r612/2
+AGAATGGCGGACATCAGCTCATCCACATTGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r613/2
+CAACACGGCTGAAAGCGATGGGTTCGCTACCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r614/2
+ACCATCACCACCAAAACGCAGAGCTGCCAGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r615/2
+CGAAATACCGTGGTCGTCTGGATAACGTGTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r616/2
+CCATTGGCGCATTTAATGTGGCGGATAACTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r617/2
+TAGTCAGGTTAAAGTACTCTTTGAACAGCCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r618/2
+CCGCCCAGAATTTATGTGATTTTTCGTCCTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r619/2
+TCGGGAAACATCGAGGAGCGTTTTACTTCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r620/2
+CAGCAACGTGCTGCAGATTGAAAACGAACTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r621/2
+CAGGAAGATCCCGACGTGAGCAATATGCATCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r622/2
+GCAGGGAAACACCGGACCAAACCAATCAGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r623/2
+AGGATGATTTCCATCAATTGCGGTACCAAGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r624/2
+CTCATTAATAAACACCACTGAAGGGCGCTGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r625/2
+GCGATCGAGCGCGGCGTGCAGCTGCCCGGCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r626/2
+GACCAGGCCATTGGTGCAGATGGCACGAAAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r627/2
+CAGGATGTGATTCGACCGAAGAGGAAGGCGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r628/2
+TGTAACAGGAAGTGGTAATACTGTATTCGCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r629/2
+ACATGCTTTAACCAACCAGGTAATTAACCTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r630/2
+AAGCTTCAACGCCCATATAACTCAAAATGAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r631/2
+CTCGAAGCAGGGCTTTGGTAACATTTCATAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r632/2
+GAGCACACGGCCCCGAGTCAGCCGTCTCGGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r633/2
+CCCGGAAGCGGCAGAAATTGTCTTCCAGTCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r634/2
+TTGAATTTGCAGATCATGGTAGGCCGAATAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r635/2
+TCAGAATGGGGCGCTGGCTTGCCGGCAGACTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r636/2
+TCCGCGCGGCGCGGCACTGATTATTGCGCCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r637/2
+AGGGTCTGCATGTCGATCTCGTACATGGTAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r638/2
+TTTCTGTTCGTTTTCCACCTGCGACAGACGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r639/2
+CATCAATGCGGTCAGCACAAAATCCAGCCCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r640/2
+AGTAAAAAACTGGCGCGACCTGCCGCGCTATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r641/2
+GCAGATGCTCAAGCTGCAAATCATCCGTACAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r642/2
+TGGAACAACAGGCGTTAATGAAAGAGTCTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r643/2
+TCCGCCGTGCGCCGGGTGCGTCCTAAATCGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r644/2
+AGCCACACCCGGCGGTGATTAACACCGCCAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r645/2
+CATCTCGTTCATGCGCTCTCCTACCCGTTAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r646/2
+CGCACTGCATGCCATTGCCCGGAAGCCGTGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r647/2
+CCAGCCCGGAGACAGGCGAGGCAAAATCCAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r648/2
+ACGTAATAGGTATCGTCTTTTTCTTCGTAAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r649/2
+GTAATGTGCGGCAAGGGGAGCCTGTAAACGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r650/2
+AAATCGAGATCGTGCAGTAATTTTTGCAGCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r651/2
+GCGAACCGTGATTTAAAGGAAGTCACTGCATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r652/2
+GTGAAGCAACTCTGGCTCCGTCTCTGGACCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r653/2
+CGGCCAGGTATTGAGGGAAGCGGGTTCAGTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r654/2
+AAACGGTTTCATTACCAACATGCCCTAATTCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r655/2
+GGTTCGGTTGGGGCTATTATTGCCGCGTTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r656/2
+TCTTAAAAATTGATGGCGTTGGGATTCCAGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r657/2
+TTTATTACAGATTTAATAAATTACCACATTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r658/2
+AACGCGTTATTGCCGTCAGGAACCGTATATTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r659/2
+ATCCCCGTTCGTGAGCGTCTGCTGCTGTCCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r660/2
+TCAGGCATCTGCGCATGGTGTCGGATGCGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r661/2
+GCCGTTTGGCTGTTTCACGCCGAGGAAGATTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r662/2
+ACTTAACAAAATCGCATGGGCGAGAATAAACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r663/2
+ATGCCGTAAATGAGCGTCACAAAGCCTAAAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r664/2
+GGGGAATTACGTCGATATTACGAAGGCTGGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r665/2
+AACTTGCCATAACCGGCCTCGGTAATCACGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r666/2
+CGATCCCGGCGACAGCACCTGGCAGCAATTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r667/2
+TAAGGTAAAGCAACACCTTCGTCAGCTTTGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r668/2
+GCCCTGAACGGCGAGCATTGCAGTGGCACTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r669/2
+ACACCGGTCATGCTATCGGTATTGAAGTCCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r670/2
+CTCCCGCAAGGTTATTGCCATGCGTAAATCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r671/2
+CCTCTAACTCTTCTTCCAGCGTCGCGATAAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r672/2
+GCAGCTCGTCACGTCGGGTGTCAGGGTTATAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r673/2
+TTACGAACAACACGCATGTATACGCCAGCTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r674/2
+CATGGTATTGGCTACACATTAGGTGAGAAATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r675/2
+AGGGTTATAATCTCTTTTGAGCTTTAAGCTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r676/2
+TATCGATATTATGAACACCTCTGGCTGGACGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r677/2
+GCAACTCAGCAATCTGCGCTTTCTTCTTGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r678/2
+CTCGTTTTCATGGGTATCATCAGAACGGGTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r679/2
+TGACCGCTCATTTACCGGACGACGGAACTTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r680/2
+GCTGGCGGTTTGTTGCTGGCGGGGCATACCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r681/2
+ATGCAGGGGTTTGTCCCGTTGATGGCGATAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r682/2
+TTTGCTTCTGCAACAGTTGTTCTTTTCATAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r683/2
+ATCTCTCGCCTCAAAACTGCACTGTTTGCCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r684/2
+ACGTTGGACATAAATCCTTTCGCATAGCGAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r685/2
+GTTCAGGAGTGTATCGGGCTGCATACCGCTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r686/2
+TTTAAGGAGTCCGCATAAACGGAGTGTGTTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r687/2
+CCACCATGCTCAGAGCTGCGTATTACCGTGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r688/2
+CGTGACGATGCTGCTGCTGGCTGCCTTTAGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r689/2
+TGCTCGTTGCTGGTTGGTTGCATTATGTCATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r690/2
+GAAATATCCCCACTCAAACAGAACCGGGACAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r691/2
+TCTTCGGCAATTTCCGCCATCTCCGGATCATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r692/2
+TACTGTATTCAGGAGTAAATGGACGGCGATGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r693/2
+GCTGGAAGGTAATCAACAGATCATTCTCACCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r694/2
+TTATTTCGATAGCGAATTTACCAAAGCACAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r695/2
+TTGCTGATTTTACGTTGCTCTTCCCGCAGAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r696/2
+CGGCTTTTGGCCTCGGCTTGTTACAGCAAATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r697/2
+CCGCGCGCCTGCGTGCGTTCGATGGCGGTCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r698/2
+GTATAAAATGCCCCGCCTGCGCAGATACTCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r699/2
+GTTGGTTCAACGCAAAACTGACCTGGCAATTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r700/2
+TCTGTAACAGAAATATCACAGTACAGAAATCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r701/2
+AATCCCCCTCATCCCCACGGTCGGCGCGAGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r702/2
+ACGCTGAATTATCCTCGTCAGTCTTTCGATAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r703/2
+TTTTCAGTTTTTCCTGGCCTTGAATCCTGACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r704/2
+AAAACAAAAGTCCTACGCAGGAATTATTTACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r705/2
+TCGGTAACCAGTTCACTGGTATCAAACCGCCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r706/2
+ACACCGAATCGAAATTACCGATGCGGGTTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r707/2
+ATTCTAATCTGGTGGTCAAATGTTCGTGTGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r708/2
+GCCCAGCAACAAACCCGCTGCCACGCCAATCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r709/2
+CCTCCTAAAGAGTAACGGAGGAGCACGAAGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r710/2
+AACGCAATCAGTTTACCCAGCTTCAGCGTACC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r711/2
+GGGCTACCGTTGCTGCCTATTTCATTCCACGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r712/2
+AAAATCTGGATATCCCTTCAGATATCCTTAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r713/2
+CTGCGGATCTTTTGCCGCAACAGCTGTACTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r714/2
+CCTGCCAACAATCCGATCACCAGACCGCCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r715/2
+CAGCACCCCGACAGCATGCGTTTCCCGGTTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r716/2
+ACGGTAGCAAAACGCATAAACTCCTGAATCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r717/2
+TTAAGTGTTAAAAATAGCTGGTAGCTGAAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r718/2
+AACTGAATCACAGCGAGGCGGAACGGACGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r719/2
+GGACGCAGACCAAAGTCGAACTGATATTGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r720/2
+CTAAACCCAGGACAGGAATCCGCAATGAACAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r721/2
+CTATTGATTTGCCGACAGCAATCAGCAAAGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r722/2
+CCCGACTTACCAACCCGATGCAAACTGCGAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r723/2
+ATCCCGACGTTAGCAACGCCCAGTCTCCGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r724/2
+ACGGTCCTGGTCGCAACTTTTATTTAGCACGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r725/2
+CGCCTTAAAGGTATGTTGATACTCGACGCCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r726/2
+TGGCCTTTTCTGCTGGCTATAATAGCTTATTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r727/2
+GGCCCATGCGCTGAAAATGATGCGCGAAAATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r728/2
+TGCGTAAAAGAGGTAATATCTATCAAAGTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r729/2
+TTTGTGCCGCCTGCGGCTGAGCTGATACCTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r730/2
+CTCGGTGGCCAGGCGCGCTGCACCTTCCTGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r731/2
+TCGGTAAAAACATTGCGTTGATTTTTGAAAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r732/2
+GCATGATGGAAACATCACGCTGTACTTCTTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r733/2
+CAACATGCCGTCGTTACCGGTCACTGGCAGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r734/2
+TAACGTCTTTCTTGTGCTCAACCAGGCGTTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r735/2
+TACCGCCAGCAGCGAAGAGCGCCATCAGGATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r736/2
+CGCCAGTCTGTGCCGAGAACATCCGTTTAATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r737/2
+CCTTCTGTCTATTTTAATGCCGCCAACGGGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r738/2
+TGAAATTGTTGATTCCCCTGGTGCAAGCGCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r739/2
+GCAGAAGTCAGGCTACTTCTGTCAACAGGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r740/2
+GGGGTGAGGGAACCCAATACGTACGACACGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r741/2
+ATTCTAACGTCTCCCCAAGTCTACTCAAGTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r742/2
+AACATTGTTATAACGCAGGCGCAGGTTTTGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r743/2
+CTGGTGATTTCATCCAGCAATAAAACCTTCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r744/2
+CAAACCTGCGGGCAGGAAAACGCGCGGATTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r745/2
+GCGACCAGTATGATCAGTCAGTTGCAACGCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r746/2
+GGATTGGCCGCACGCTGGACTGGGTCTCTAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r747/2
+TGCGACGCAAACCGTTTGTCCCTCCCGTGCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r748/2
+ACGCAAGATGCCAAAGAAAGAGGCTGAAGCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r749/2
+GTAGTGCTGGTCCAGCAGTCGGGACAGCAGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r750/2
+GACCTGTCGGTTCATTTGCTGGATGGAATGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r751/2
+ATCTCACGGGCATCGCCGAAGGCATATACCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r752/2
+GCTGTCGCCCGGCCAACGCCCGACTAAACGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r753/2
+GGTTACATATATTTCAGATACGTAAAATTAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r754/2
+GGATACTGGGCGACGGGCAATTGTAGGATCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r755/2
+TGTGATCCGGGTTCGGGAAGATAGCGCGTAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r756/2
+GTGGTGTGCCACGGTATCCCGGACGACGCCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r757/2
+TCAGATAATGAACTGGCGGTATTTTACTCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r758/2
+TGGATATCGATGTCCCCCAGGCATGGATTATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r759/2
+CGTTTGCAGGCAGCGATAATAATTGGCGCGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r760/2
+TGCAATCATTCAGTACGCTAACGGGATTGTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r761/2
+CCTGACAGAATGCTCTGTACCACCTGCCATTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r762/2
+TGAATTTTATTTCTCCCGCTTAAGCCACCTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r763/2
+ATCCAGAAGCCTGCTGGCCCCATAGGTTCAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r764/2
+GTACCGCGAAAAATATAGGTAAATAACCAGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r765/2
+ATGCCTGGCAGGAAATTGATATGGGAACCACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r766/2
+TTCACATACTCATCTTCCGGGCAACAATCGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r767/2
+GCAAATAAGGTCTTAAAAGAGAATTTTTTGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r768/2
+CCGGCTTGTCCATTGCGATAACCTGCCCGTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r769/2
+ATTTTCTAAAAGTTTTCTTTGCAAAAGAATAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r770/2
+CAGCTAACCGATGTGCTGGCGGAGTTTGAGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r771/2
+TTATTATGATCCGTGGCCTCGACGTGCTGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r772/2
+TGATAAGCCACCAGATCAATCGCTGACACACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r773/2
+CACATTGTTCCAGCTGACTCCGTTGAGCGCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r774/2
+GAAGGCCTGGTCACCGGTAAAAAAGCCATCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r775/2
+GGAAGACAGATGAAAATCAGTCGGGAAACACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r776/2
+TGACGTGAGCATGGGGATTCTTACTATCCAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r777/2
+ATGATGAACGCCACATAGACGAAGCCCTGCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r778/2
+TCACTGATCCTGTGGGGACTGGATGGTATTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r779/2
+TCCATGTCTTAACAAACATCTTTTAATTCAAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r780/2
+TCGAACAGGGATTTATGTGTGACACGCAGGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r781/2
+AAAGGCAAACCATCTCAATTTCACTTCTTCTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r782/2
+TGTGATGTCACTGAAAATGATTGCGCGCTGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r783/2
+ACCTCCGCAACCTTGCGTTCGCTGAACAGTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r784/2
+ACTCTTTTTCACCACTGCTGATCTCAAGTGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r785/2
+TGTCAGACGCTGGCTGCGTTGATGAAGAGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r786/2
+TCTCGCAGAACTGGTTGCCAGTGCGAAGGCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r787/2
+CGTGAACTGGGCGGCAACTACTACAGCGATCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r788/2
+TTCTATGCTTTTTCAGGTCACAAACTGTATGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r789/2
+TGAATATGGGTCGCCGTCAGGTATGGATGGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r790/2
+ATAATCAAAATTAACGAAAAAATGCCCTCTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r791/2
+GAAGGATGGTCGGCGTATTGTTATCGGCTGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r792/2
+AGGCACCATGGTTGATACCTGGGCGACCGTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r793/2
+GTTCTGCATCAACGTGGTCGTGATGCTGATGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r794/2
+AGCTAGCCGACAAGCCCTGGAAGCTGGACTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r795/2
+TGTGTTCTTCACCAGATGTATGTGAAGTAGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r796/2
+CGTTTTTATAATGTCTGGCCATGCGGTAAAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r797/2
+TTCGACGTTGATATACGGCTGGAGGATAGTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r798/2
+TGCACATTACGGGATTTCTCCGCGTTAAGGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r799/2
+TGCGCGTCTGGCCTGCGTCCAGCTACACCCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r800/2
+CCGTGGAATATGCCAGGGCTGAAAGCCGTTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r801/2
+TGCCAGGGAATGGTGATGGTAGAAGACGCAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r802/2
+CATACGTTGGATAACCTCTTGAACCATTGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r803/2
+ATTAACAAAAAACCTCGGGCTTCCAGCCTGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r804/2
+GCGGTATGCGTTCCGGCACTCTGCCTGTTCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r805/2
+TAGCGGTGAACGTCTACCAACCCTGACTGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r806/2
+CGCCAGCCGCCCCAGCTCAAGGGATTCAGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r807/2
+GTCAGGCGCTGGATATTCCCTGGTCATGCGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r808/2
+AATACTAATGCTCATTAAGCGGGGAAGTCCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r809/2
+TGACATAATCCCATTCAATAGATATTTGTTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r810/2
+TGCAGTAGATCAAGGGGTTCGAAACCAGCGAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r811/2
+TCTCCCCGCACAATCAGCAATAAATATGTTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r812/2
+CTCGCGTTTTGTAATACTTTTTGCCGCCTGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r813/2
+ATTAAGCATGAGATTTTACTCATTATGTTTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r814/2
+GGTTATGGGCAGTTCAGCGGACAACTCTTTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r815/2
+TAACCAAAATGATGTCGCAGCTATCCCAGCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r816/2
+CCTTCCGACGGTGGCTGGTGACGACCAAGCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r817/2
+TCACTCTTTCAGAGCGCAAGGTACTGCGGCTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r818/2
+CATATTCCGCACGGTCTGGCGAACGCCATGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r819/2
+CCGCTCCTCGCCATAACTACGCGGTTGCCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r820/2
+TGCTGGTCAGCGAAGACGAAATCAGAAACAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r821/2
+GAATATCTCCGGCACCGTGGGTTGAGCTGATA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r822/2
+CGACGTTGCCCGACAATTGCATTCACCACGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r823/2
+TGGCGTCCGGCGAGGACATCACGCTGAAAATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r824/2
+AGGTGATGTTTAATAAAACAGTTGTCTCTCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r825/2
+AGGCATTTTTCTCTTTATCTTTGTACGGTACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r826/2
+CCGGTTCAGGGCAAAGTGAATATTTCGTTGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r827/2
+AACAGATAGCCAGTACTTCACAGCTAATTGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r828/2
+CGCAGCGATTGGCTGGTTTGGGCGAGAAGGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r829/2
+ATTACTATGTCTTTATCTCGCGTAGCGATTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r830/2
+GAGTGTTTTATCTTTGAACTCAGGCTGCCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r831/2
+ACAAGCAGTACAAACGTCTGGTGCTGGGTAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r832/2
+CACCCACTCGTCAAACACAAGCTGGGACTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r833/2
+GATTGTAGTGAACAAGTGGGACGGCCTGAGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r834/2
+TGCCATGGCTTGTCACAGGTGCTGCTACTGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r835/2
+GGCATGTTTTTCCGCCAGGCTGCGCTGCATTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r836/2
+TTGTCTTCTGGCGTGACGTCTCCGGTCCAGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r837/2
+CGGTTTCGGCGTGGTTACGCACGAACTCATCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r838/2
+GCCAGTATTTCCCGCCGTCATGGTGGCACCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r839/2
+TTATGCAAACCATACGCCAGTGCAGCGGCGGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r840/2
+CATCGCCGCTTCGCCATAACGCCGTATCAATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r841/2
+CGGTTTCCAGCACCTGATCGTTTTGCAGTCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r842/2
+ATGCAGGCCTGATGAGACGTGACAAGCGTCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r843/2
+TCTGGGAACGAAAAGGGAGTTTATTCAACAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r844/2
+CGTAATCTTTCGCGCTGTTTTCATCTTCCAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r845/2
+CGTGATTTACCGCGACTCTGGATGCAGCCTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r846/2
+ATGAAACAGTGATGAACCTTCTGTCAGATCAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r847/2
+TGTCGTGGCACCGCGCCAGCCGTACCGCCGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r848/2
+GTCCTTCCAATCCGTTAATGAAACTGGTGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r849/2
+CACTCATGCTAATGACACTTTTGTGCAGGTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r850/2
+GCAAACCAACGACGGTTATCATGATAGGTGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r851/2
+GGTTTGGCATGGTGTATAACGAAGTTCTGAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r852/2
+TCAACCCGATCGAAGATATGCCTTACGATGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r853/2
+CCAGAGAACATCGACTTAATCGCGCCCGCCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r854/2
+ATGATGTTCTACGGCATCGTTCAGGATAAACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r855/2
+CAGCTGGCCTATTCCCGTGATAAAAAGCGTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r856/2
+TGAACGCAACGGCTGCGGTTTTACCTTTGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r857/2
+TTTCCGACTAACTGTACTTTGCATAATCACAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r858/2
+TACGGGCGGCGCGAGAGCAGACCGAACAAATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r859/2
+TAGTGGTTGAAACAACGGGCGATGAAACCATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r860/2
+CCAGTACCATCGACAGCGGTTTGCCGCCGAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r861/2
+AGTAACATCCGTATCGGTGTTTTCCACGAAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r862/2
+ACCGCAGGGACCACGCAGGGACAGAATATCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r863/2
+CATTCATTTGAAGTAAAACTTGCCGCTGTAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r864/2
+TAAATCGGCTAAACTACAGTTTTTCTGATTTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r865/2
+CGGCTAATTTGTTCTGGCGGAAGGGCAACGTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r866/2
+AACCATTCTGCTTTATAGCGCCTCGGATATTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r867/2
+GCCAGGCTAGACTTTAGTTCCACAACACTAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r868/2
+TAAATTAGATATATCTAATTAAGCAAAAGGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r869/2
+CAGGCGATAAATTGCAGGCCAACCTGTTACGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r870/2
+GAGGTAAAATTGACATACACCTACAATGCCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r871/2
+AGCCGATCCGGATCGCGTTAAGAACGAACTCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r872/2
+TCAGCATCTGCTTAACGATCTGGACAACGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r873/2
+GCACACCATATCTTTTTATCATCATCATTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r874/2
+CATCTGCGGACGCAGCAAATATTGAGCAAGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r875/2
+CCAGACTATTTTCTACGGTGGTGATCACGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r876/2
+TACCTTTATCTTTACCGGTTAACACGATAACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r877/2
+GATAAACCGTGTCCCGTATTATTATGCTGATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r878/2
+GCTTTCATTTGCTGAGACATAACGACCGCTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r879/2
+TAACTGTGAGTTATTCAATTGTTATTAGTGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r880/2
+CTGAAGTCTCCTGTGCGCCTGAAGAAATACCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r881/2
+TACAAAAACTGGAGTATCTGCCGGAAGCGCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r882/2
+AAACAAAGAACAACTTGATATGTTGATATCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r883/2
+CCATCTCTGATCGCGCATCCAGCGGCGTTTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r884/2
+CCCTTCAACGACGGGGTTACTCAAGATTGAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r885/2
+ATTTGATCAATCTGTTGCAGTTCTGCGAAGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r886/2
+CGATTAGCAGCGGGCTGTGTGGGCGCAGCAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r887/2
+GGCACGACGAGGATCGAAGCGATATAACGGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r888/2
+TGGTGAGCTTGCTGGCGATGAACGTGCTACAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r889/2
+CGGGTGGATATGACCATGGCGCTGGGGCTTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r890/2
+GGTGATTTTGCCTCCGTCACTGGCGGCACGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r891/2
+GCGATGGAATATTTAGCAGCAGTAAACGGCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r892/2
+TCACCACATCACTGCCGACGGTTACTACCGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r893/2
+AGGTGATGGTTAACGGCAAGCCACGTCATGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r894/2
+TGGATTCACACGGTCAGCATTAGGCAGCGTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r895/2
+CTATAAAGCCATTGATCAGGTTCGTGCCGAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r896/2
+CAGCATTGAGCTTAATACCAGCGCGGTGAGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r897/2
+CGTGTGGTGGCCTGTCAGGGCGACCCGGACGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r898/2
+GGTTCGTAAACCTGTTCTTTTTCACCTCGTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r899/2
+TCTTAGATAAAGTGAGATTATATAGTGAAATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r900/2
+TCAAGCGAAAGGCCATCCGAAAGGATGGCCTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r901/2
+TAACGGCATTATTAACCATAATGAGCCGCAAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r902/2
+TGAAATTGATGGCCATCCAGGAGCAGGCGCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r903/2
+GTGATTAAGTAATTTTTGCGATGACGCAAGAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r904/2
+CTCATGAAGGTTTGGGGGTGAGGTAACGCTAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r905/2
+GTTGCACATCGTCTGACCACCGCGCAACGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r906/2
+GCTTCGCTGGTTTTTCCTGCATAAAAGGCACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r907/2
+TCACCGCACCGCTGCCTGCGTCCAGCCCCGCT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r908/2
+TATCTTCTGTTGCAGGGAAGTAGATACCCGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r909/2
+GGCTCACAGCTATCCTGACAGCGGCGGCATTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r910/2
+GAGTTTACGCGTCGCTTCGGTTAATTGCGAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r911/2
+TTTCTCCAGATAGTGGATGTTAGTGCCACCAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r912/2
+GCTTATGATTTCTTAACTGGAGTATCTTACGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r913/2
+TGATACAAACGTGTAACACGTTCTGCCTTGAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r914/2
+CGTACAGTTTCCTTCTGATATTAATTTGTATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r915/2
+TTCCATGCTTCCATTGCCAATGCTGGCAGAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r916/2
+TAAGACTCGGTTTCCCTTCGGCTCCCCTATTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r917/2
+AACTGTTGGCGAATATAATCGGCAGATAACAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r918/2
+TTTCCCTCGCCCGCGCCGTCACCGCCTTGTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r919/2
+CCGGAAATTGCAACTCGGCATGTCATTGATGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r920/2
+GATTTAGAAAATCATCCGGTCATTACCGGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r921/2
+GCTGGCGGCCTGGTATTATGGGGCTTTAGATG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r922/2
+CGCCCCATTCAGCTTGTCGTTTTCCTGGCTGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r923/2
+CCGGACCACCGATACTGCCGAGGTAGAAGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r924/2
+CAAATATCGAGTTGCAGAAAGTCGGCAAATAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r925/2
+GGCTTGTTGGTGGCGCAACGACTGCTGGAGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r926/2
+CTCATGATCTGCGTAGAAGTGTTGCGACTGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r927/2
+TCGGCGAAGAGCGGGCGATGAGTTTTGGCATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r928/2
+ACCGCCACCGGTGTAATCACCGTTTACCGTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r929/2
+ACGGCACAATACGTTAAGTAATTGAGAAAATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r930/2
+TTTTCTGGCATAGTTGGACATCTGCCAATATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r931/2
+ATCATTAGCCGCAATCCGGCATGCTTTCACTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r932/2
+GTGAAAGGTCGTGGCGAAGATACCTATGTACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r933/2
+CTTCTGAGGTGAAATCGGCGGTTGAACAGCAG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r934/2
+TAATTTAAGAGAGAAAGAAATGTTTACTATCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r935/2
+TAAGGAAACATTTATGCGCCTGCTCCCTCTCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r936/2
+ATGGTATTAATATGCTGTGGCTGGGTGAGATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r937/2
+TGAACCCTAACTTTGGCGGCGAAGTAATGGTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r938/2
+CATGAAGGGGCATATGGGTTTCTTCAATACCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r939/2
+TGGCGGCTTTTCGCGACAAGTTTAATGACAAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r940/2
+TTAAAAGCTTGTGGTGCTGTGGATTATTTCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r941/2
+CTTTAATTCGAGCAAGGGCGTCATTGCGCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r942/2
+AAGCGCGTTTGCGGCATCGGGCCGTCAAATGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r943/2
+TGCACTCTGGTCTTCCAGTTTCTTATTGACGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r944/2
+CATTGCTGGCTTTCGGCGTCAGAACAAAGTCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r945/2
+GGTGGTCAGGCAACCGGCAAAACCTGGCTTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r946/2
+CGCTTATCAGGCGGGAGTGGTTAAGGCACTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r947/2
+CGGTGAAATTGTGCAAAACCTGTACCGACGGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r948/2
+TGCGCCTCCACCAGCAACCGTAACTTTGAAGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r949/2
+GCTGCTGGATTATCAGGATTACCCGATCCCGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r950/2
+ACGATGACAACCATTCATGCCTATACCGGCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r951/2
+TGCGATTCGCGCGATCCCGGAAGGTCAATGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r952/2
+TTTGATATCGAAAGGGAATCAAACTCGGGGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r953/2
+TTGCCAGGCTTAGCATCCAGAAAATAACCGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r954/2
+CGTTAATCCGCTCTGCCCACGGGGACTGGTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r955/2
+CGATTTTGCCCGTCCCCGCACCGTTCAAATTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r956/2
+TCTTCAACAAAGAACCGTCTCGTAAGGCGCTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r957/2
+GGCCAGCGCCACCATGCCACGATTGTTTGGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r958/2
+ATCATCCGGCTCGTCCACTTTCACCATCTGGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r959/2
+TCACCGGATGTCGCGGTCAGAATGGTCACTGG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r960/2
+CAGTTAAATTAAAACGGCTACGCCCGCCCGCC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r961/2
+CGTTATAGCCCCAGCCGCGCAGCAAAGCCTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r962/2
+TAATGGCGATATCGTCTGGCGCAATGGCAACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r963/2
+GTAGCAGACGGTCTGAAAACCTGGACAGTGTT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r964/2
+GCTGGCGGTACTGGAAAAATGCCTGCCCCAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r965/2
+AACCAGCGGTGCGCCAATCATCATGTTCCACA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r966/2
+GAACTTGAACTCGACGAAAGCCTGCTGGAAGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r967/2
+AGCCGCATCCGGTAATGCGGATTCAGCCGATT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r968/2
+AGATGACCAGGGAACGCATTTCCGGCTGGTTA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r969/2
+GAGGTCACCGTCATTGATCGGGAGCCGGGGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r970/2
+GACGCGGAAGTGGACACCGACGATTTGAGTAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r971/2
+CGCATTAAGCAACATGTCCGTTTTGGTAGTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r972/2
+GGCAGACCGGCTTATCACCGAACGTCTGGTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r973/2
+TGCCGCTTGTGTGGGCTGCCCGATCCGCGAAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r974/2
+CACCGACACCGGCTTGCAGCAGAACGTGTGTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r975/2
+TCACCCAGCACCGTACCGGTGCCGTGCGCTTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r976/2
+TCGCCAGCTGCTCGACGCAGCGTTTCGGGTAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r977/2
+AGAATGGCGGCGTTCACAGGGGCTACCCTTGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r978/2
+TGTTTGTCCAGCCGGTGATGGGCTTGCTGAGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r979/2
+GGCTATTTCCTCTCCTCTGGATTTGGGGGAGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r980/2
+TGCCGCGTCGATGATCCCGGTGACGCAACGGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r981/2
+CTTGCCGATGTGCCGCCGGAGCCGTTCACACG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r982/2
+AAAATCGATGCGATTATAAGTCGCAATGGCAC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r983/2
+TATGCCGATCATATTTTTTACGGCAGCGGTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r984/2
+CAGTAAACCTAATGCCAGATTCAGGGTCAGCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r985/2
+CCGCTTTCACGTTCTTATCACCAACGTAAATC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r986/2
+ATTAAGCCAGCATCTTTCTTTAGCCGGACACT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r987/2
+ACCCGGATACCAACGGCGATCTCTCCACGCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r988/2
+TATGGCAATGCACTGAAAGATAAGGTTATTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r989/2
+CTTAAACCACGTAAAATCGTTTTTTTAAGCGT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r990/2
+TTTGCAACAAGGGTTGGGGCTGAAGAAAGGCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r991/2
+AGCTCTGGCGCTTTCCGATGAGCTGATTGCCG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r992/2
+ACCGAACGTGCCAGCCCTTCGCCATACTGTTG
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r993/2
+TTCAGGCAAAACTGGCGTAATTGCGCAATCGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r994/2
+TGAACTATGTGCCGAACGTCACGAATGCTGAA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r995/2
+TACCAACCGCAATTGCTGTAAATTGCCGTCGA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r996/2
+CGCACGCTGCGACGTATTATGGCGATGAATAT
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r997/2
+CGACCGATCCCCGCGATTCACTACATGATTGC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r998/2
+CACAAATAGTAGAAAAAAACGCATAATTTCTC
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
+@r999/2
+AACAGCAGAGTGTTACTACCGAGTACAGTCCA
++
+EDCCCBAAAA@@@@?>===<;;9:99987776
diff --git a/ref_aligner.cpp b/ref_aligner.cpp
new file mode 100644 (file)
index 0000000..39ed9f6
--- /dev/null
@@ -0,0 +1,65 @@
+/*
+ * ref_aligner.cpp
+ */
+
+/**
+ * Maps an octet representing the XOR of two two-bit-per-base-encoded
+ * DNA sequences to the number of bases that mismatch between the two.
+ *
+ * Generated with this perl:
+ *
+ * print "const unsigned char u8toMms[] = {\n";
+ * for(my $i = 0; $i < 256; $i++) {
+ *     if(($i & 7) == 0) {
+ *             print "\t";
+ *     }
+ *     my $c = $i;
+ *     my $mms = 0;
+ *     for(my $j = 0; $j < 4; $j++) {
+ *             if(($c & 3) != 0) {
+ *                     $mms++;
+ *             }
+ *             $c >>= 2;
+ *     }
+ *     print "$mms, ";
+ *     if(($i & 7) == 7) {
+ *             print "\n";
+ *     }
+ * }
+ * print "};\n";
+ *
+ */
+unsigned char u8toMms[] = {
+       0, 1, 1, 1, 1, 2, 2, 2,
+       1, 2, 2, 2, 1, 2, 2, 2,
+       1, 2, 2, 2, 2, 3, 3, 3,
+       2, 3, 3, 3, 2, 3, 3, 3,
+       1, 2, 2, 2, 2, 3, 3, 3,
+       2, 3, 3, 3, 2, 3, 3, 3,
+       1, 2, 2, 2, 2, 3, 3, 3,
+       2, 3, 3, 3, 2, 3, 3, 3,
+       1, 2, 2, 2, 2, 3, 3, 3,
+       2, 3, 3, 3, 2, 3, 3, 3,
+       2, 3, 3, 3, 3, 4, 4, 4,
+       3, 4, 4, 4, 3, 4, 4, 4,
+       2, 3, 3, 3, 3, 4, 4, 4,
+       3, 4, 4, 4, 3, 4, 4, 4,
+       2, 3, 3, 3, 3, 4, 4, 4,
+       3, 4, 4, 4, 3, 4, 4, 4,
+       1, 2, 2, 2, 2, 3, 3, 3,
+       2, 3, 3, 3, 2, 3, 3, 3,
+       2, 3, 3, 3, 3, 4, 4, 4,
+       3, 4, 4, 4, 3, 4, 4, 4,
+       2, 3, 3, 3, 3, 4, 4, 4,
+       3, 4, 4, 4, 3, 4, 4, 4,
+       2, 3, 3, 3, 3, 4, 4, 4,
+       3, 4, 4, 4, 3, 4, 4, 4,
+       1, 2, 2, 2, 2, 3, 3, 3,
+       2, 3, 3, 3, 2, 3, 3, 3,
+       2, 3, 3, 3, 3, 4, 4, 4,
+       3, 4, 4, 4, 3, 4, 4, 4,
+       2, 3, 3, 3, 3, 4, 4, 4,
+       3, 4, 4, 4, 3, 4, 4, 4,
+       2, 3, 3, 3, 3, 4, 4, 4,
+       3, 4, 4, 4, 3, 4, 4, 4,
+};
diff --git a/ref_aligner.h b/ref_aligner.h
new file mode 100644 (file)
index 0000000..c85beec
--- /dev/null
@@ -0,0 +1,5119 @@
+/*
+ * ref_aligner.h
+ */
+
+#ifndef REF_ALIGNER_H_
+#define REF_ALIGNER_H_
+
+#include <stdint.h>
+#include <iostream>
+#include <vector>
+#include <stdexcept>
+#include "seqan/sequence.h"
+#include "alphabet.h"
+#include "range.h"
+#include "reference.h"
+
+// Let the reference-aligner buffer size be 16K by default.  If more
+// room is required, a new buffer must be allocated from the heap.
+const static int REF_ALIGNER_BUFSZ = 16 * 1024;
+
+/**
+ * Abstract parent class for classes that look for alignments by
+ * matching against the reference sequence directly.  This is useful
+ * both for sanity-checking results from the Bowtie index and for
+ * finding mates when the reference location of the opposite mate is
+ * known.
+ */
+template<typename TStr>
+class RefAligner {
+
+       typedef seqan::String<seqan::Dna5> TDna5Str;
+       typedef seqan::String<char> TCharStr;
+       typedef std::vector<uint32_t> TU32Vec;
+       typedef std::vector<Range> TRangeVec;
+       typedef std::pair<uint64_t, uint64_t> TU64Pair;
+       typedef std::set<TU64Pair> TSetPairs;
+
+public:
+       RefAligner(bool color,
+                  bool verbose = false,
+                  bool quiet = false,
+                  uint32_t seedLen = 0,
+                  uint32_t qualMax = 0xffffffff,
+                  bool maqPenalty = false) :
+               color_(color), verbose_(verbose), seedLen_(seedLen),
+               qualMax_(qualMax), maqPenalty_(maqPenalty), refbuf_(buf_),
+               refbufSz_(REF_ALIGNER_BUFSZ), freeRefbuf_(false)
+               { }
+
+       /**
+        * Free the reference-space alignment buffer if this object
+        * allocated it.
+        */
+       virtual ~RefAligner() {
+               if(freeRefbuf_) {
+                       delete[] refbuf_;
+               }
+       }
+
+       /**
+        * Find one alignment of qry:quals in the range begin-end in
+        * reference string ref.  Store the alignment details in range.
+        */
+       virtual void find(uint32_t numToFind,
+                         const uint32_t tidx,
+                         const BitPairReference *refs,
+                         const TDna5Str& qry,
+                         const TCharStr& quals,
+                         uint32_t begin,
+                         uint32_t end,
+                         TRangeVec& ranges,
+                         TU32Vec& results,
+                         TSetPairs* pairs = NULL,
+                         uint32_t aoff = 0xffffffff,
+                         bool seedOnLeft = false)
+       {
+               assert_gt(numToFind, 0);
+               assert_gt(end, begin);
+               uint32_t spread = end - begin + (color_ ? 1 : 0);
+               uint32_t spreadPlus = spread + 12;
+               // Make sure the buffer is large enough to accommodate the spread
+               if(spreadPlus > this->refbufSz_) {
+                       this->newBuf(spreadPlus);
+               }
+               // Read in the relevant stretch of the reference string
+               int offset = refs->getStretch(this->refbuf_, tidx, begin, spread);
+               uint8_t *buf = ((uint8_t*)this->refbuf_) + offset;
+               if(color_) {
+                       // Colorize buffer
+                       for(size_t i = 0; i < (end-begin); i++) {
+                               assert_leq((int)buf[i], 4);
+                               buf[i] = dinuc2color[(int)buf[i]][(int)buf[i+1]];
+                       }
+               }
+               // Look for alignments
+               ASSERT_ONLY(uint32_t irsz = ranges.size());
+               anchor64Find(numToFind, tidx, buf, qry, quals, begin,
+                            end, ranges, results, pairs, aoff, seedOnLeft);
+#ifndef NDEBUG
+               for(size_t i = irsz; i < results.size(); i++) {
+                       assert_eq(ranges[i].numMms, ranges[i].mms.size());
+                       assert_eq(ranges[i].numMms, ranges[i].refcs.size());
+               }
+#endif
+       }
+
+       /**
+        * Find one alignment of qry:quals in the range begin-end in
+        * reference string ref.  Store the alignment details in range.
+        * Uses a combination of the anchor bases and 64-bit arithmetic to
+        * find anchors quickly.
+        */
+       virtual void anchor64Find(uint32_t numToFind,
+                       uint32_t tidx,
+                       uint8_t* ref,
+                    const TDna5Str& qry,
+                    const TCharStr& quals,
+                    uint32_t begin,
+                    uint32_t end,
+                       TRangeVec& ranges,
+                       TU32Vec& results,
+                       TSetPairs* pairs = NULL,
+                       uint32_t aoff = 0xffffffff,
+                       bool seedOnLeft = false) const = 0;
+
+       /**
+        * Set a new reference-sequence buffer.
+        */
+       void setBuf(uint32_t *newbuf, uint32_t newsz) {
+               if(freeRefbuf_) {
+                       delete[] refbuf_;
+                       freeRefbuf_ = false;
+               }
+               refbuf_ = newbuf;
+               refbufSz_ = newsz;
+       }
+
+       /**
+        * Set a new reference-sequence buffer.
+        */
+       void newBuf(uint32_t newsz) {
+               if(freeRefbuf_) {
+                       delete[] refbuf_;
+               }
+               try {
+                       refbuf_ = new uint32_t[(newsz + 3) / 4];
+                       if(refbuf_ == NULL) throw std::bad_alloc();
+               } catch(std::bad_alloc& e) {
+                       cerr << "Error: Could not allocate reference-space alignment buffer of " << newsz << "B" << endl;
+                       throw 1;
+               }
+               refbufSz_ = newsz;
+               freeRefbuf_ = true;
+       }
+
+protected:
+       bool      color_;     /// whether to colorize reference buffers before handing off
+       bool      verbose_;   /// be talkative
+       uint32_t  seedLen_;   /// length of seed region for read
+       uint32_t  qualMax_;   /// maximum sum of quality penalties
+       bool      maqPenalty_;/// whether to round as in Maq
+       uint32_t *refbuf_;    /// pointer to current reference buffer
+       uint32_t  refbufSz_;  /// size of current reference buffer
+       uint32_t  buf_[REF_ALIGNER_BUFSZ / 4]; /// built-in reference buffer (may be superseded)
+       bool      freeRefbuf_; /// whether refbuf_ points to something we should delete
+};
+
+/**
+ * Concrete RefAligner for finding nearby exact hits given an anchor
+ * hit.
+ */
+template<typename TStr>
+class ExactRefAligner : public RefAligner<TStr> {
+
+       typedef seqan::String<seqan::Dna5> TDna5Str;
+       typedef seqan::String<char> TCharStr;
+       typedef std::vector<uint32_t> TU32Vec;
+       typedef std::vector<Range> TRangeVec;
+       typedef std::pair<uint64_t, uint64_t> TU64Pair;
+       typedef std::set<TU64Pair> TSetPairs;
+
+public:
+
+       ExactRefAligner(bool color, bool verbose, bool quiet) :
+               RefAligner<TStr>(color, verbose, quiet) { }
+
+       virtual ~ExactRefAligner() { }
+
+protected:
+       /**
+        * Because we're doing end-to-end exact, we don't care which end of
+        * 'qry' is the 5' end.
+        */
+       void naiveFind(uint32_t numToFind,
+                      uint32_t tidx,
+                      uint8_t* ref,
+                   const TDna5Str& qry,
+                   const TCharStr& quals,
+                   uint32_t begin,
+                   uint32_t end,
+                      TRangeVec& ranges,
+                      TU32Vec& results,
+                      TSetPairs* pairs,
+                      uint32_t aoff,
+                      bool seedOnLeft) const
+       {
+               assert_gt(numToFind, 0);
+               const uint32_t qlen = seqan::length(qry);
+               assert_geq(end - begin, qlen); // caller should have checked this
+               assert_gt(end, begin);
+               assert_gt(qlen, 0);
+               uint32_t qend = end - qlen;
+               uint32_t lim = qend - begin;
+               uint32_t halfway = begin + (lim >> 1);
+               bool hi = false;
+               for(uint32_t i = 1; i <= lim+1; i++) {
+                       uint32_t ri;  // leftmost position in candidate alignment
+                       uint32_t rir; // same, minus begin; for indexing into ref[]
+                       if(hi) {
+                               ri = halfway + (i >> 1); rir = ri - begin;
+                               assert_leq(ri, qend);
+                       } else {
+                               ri = halfway - (i >> 1); rir = ri - begin;
+                               assert_geq(ri, begin);
+                       }
+                       hi = !hi;
+                       // Do the naive comparison
+                       bool match = true;
+                       for(uint32_t j = 0; j < qlen; j++) {
+#if 0
+                               // Count Ns in the reference as mismatches
+                               const int q = (int)qry[j];
+                               const int r = (int)ref[rir + j];
+                               assert_leq(q, 4);
+                               assert_leq(r, 4);
+                               if(q == 4 || r == 4 || q != r) {
+                                       // Mismatch
+                                       match = false;
+                                       break;
+                               }
+                               // Match; continue
+#else
+                               // Disallow alignments that involve an N in the
+                               // reference
+                               const int r = (int)ref[rir + j];
+                               if(r & 4) {
+                                       // N in reference; bail
+                                       match = false;
+                                       break;
+                               }
+                               const int q = (int)qry[j];
+                               assert_leq(q, 4);
+                               assert_lt(r, 4);
+                               if(q != r) {
+                                       // Mismatch
+                                       match = false;
+                                       break;
+                               }
+                               // Match; continue
+#endif
+                       }
+                       if(match) {
+                               ranges.resize(ranges.size()+1);
+                               Range& range = ranges.back();
+                               range.stratum = 0;
+                               range.numMms = 0;
+                               assert_eq(0, range.mms.size());
+                               assert_eq(0, range.refcs.size());
+                               results.push_back(ri);
+                       }
+               }
+               return; // no match
+       }
+
+       /**
+        * Because we're doing end-to-end exact, we don't care which end of
+        * 'qry' is the 5' end.
+        */
+       virtual void anchor64Find(uint32_t numToFind,
+                    uint32_t tidx,
+                       uint8_t *ref,
+                    const TDna5Str& qry,
+                    const TCharStr& quals,
+                    uint32_t begin,
+                    uint32_t end,
+                       TRangeVec& ranges,
+                       TU32Vec& results,
+                       TSetPairs* pairs,
+                       uint32_t aoff, // offset of anchor mate
+                       bool seedOnLeft) const
+       {
+               assert_gt(numToFind, 0);
+               ASSERT_ONLY(const uint32_t rangesInitSz = ranges.size());
+               ASSERT_ONLY(uint32_t duplicates = 0);
+               ASSERT_ONLY(uint32_t r2i = 0);
+               const uint32_t qlen = seqan::length(qry);
+               assert_geq(end - begin, qlen); // caller should have checked this
+               assert_gt(end, begin);
+               assert_gt(qlen, 0);
+#ifndef NDEBUG
+               // Get all naive hits
+               TRangeVec r2; TU32Vec re2;
+               naiveFind(numToFind, tidx, ref, qry, quals, begin, end, r2,
+                         re2, pairs, aoff, seedOnLeft);
+#endif
+               const uint32_t anchorBitPairs = min<int>(qlen, 32);
+               // anchorOverhang = # read bases not included in the anchor
+               const uint32_t anchorOverhang = qlen <= 32 ? 0 : qlen - 32;
+               const uint32_t lim = end - qlen - begin;
+               const uint32_t halfway = begin + (lim >> 1);
+               uint64_t anchor = 0llu;
+               uint64_t buffw = 0llu;
+               // Set up a mask that we'll apply to the two bufs every round
+               // to discard bits that were rotated out of the anchor area
+               uint64_t clearMask = 0xffffffffffffffffllu;
+               bool useMask = false;
+               if(anchorBitPairs < 32) {
+                       clearMask >>= ((32-anchorBitPairs) << 1);
+                       useMask = true;
+               }
+               const int lhsShift = ((anchorBitPairs - 1) << 1);
+               // Build the contents of the 'anchor' dword and the initial
+               // contents of the 'buffw' dword.  If there are fewer than 32
+               // anchorBitPairs, the content will be packed into the least
+               // significant bits of the word.
+               uint32_t skipLeftToRights = 0;
+               uint32_t skipRightToLefts = 0;
+               for(uint32_t i = 0; i < anchorBitPairs; i++) {
+                       int c = (int)qry[i]; // next query character
+                       assert_leq(c, 4);
+                       if(c & 4) {
+                               assert_eq(r2.size(), ranges.size() - rangesInitSz);
+                               return; // can't match if query has Ns
+                       }
+                       int r = (int)ref[halfway - begin + i]; // next reference character
+                       if(r & 4) {
+                               r = 0;
+                               // The right-to-left direction absorbs the candidate
+                               // alignment based at 'halfway'; so skipLeftToRights is
+                               // i, not i+1
+                               skipLeftToRights = max(skipLeftToRights, i);
+                               skipRightToLefts = max(skipRightToLefts, anchorBitPairs - i);
+                       }
+                       assert_lt(r, 4);
+                       assert_lt(c, 4);
+                       anchor  = ((anchor  << 2llu) | c);
+                       buffw = ((buffw << 2llu) | r);
+               }
+               // Check whether read is disqualified by Ns outside of the anchor
+               // region
+               for(uint32_t i = anchorBitPairs; i < qlen; i++) {
+                       if((int)qry[i] == 4) {
+                               assert_eq(r2.size(), ranges.size() - rangesInitSz);
+                               return; // can't match if query has Ns
+                       }
+               }
+               uint64_t bufbw = buffw;
+               // We're moving the right-hand edge of the anchor along until
+               // it's 'anchorOverhang' chars from the end of the target region.
+               // Note that we're not making a 3'/5' distinction here; if we
+               // were, we might need to make the 'anchorOverhang' adjustment on
+               // the left end of the range rather than the right.
+               bool hi = false;
+               uint32_t riHi  = halfway;
+               uint32_t rirHi = halfway - begin;
+               uint32_t rirHiAnchor = rirHi + anchorBitPairs - 1;
+               uint32_t riLo  = halfway + 1;
+               uint32_t rirLo = halfway - begin + 1;
+               for(uint32_t i = 1; i <= lim + 1; i++) {
+                       int r;       // new reference char
+                       assert_lt(skipLeftToRights, qlen);
+                       assert_leq(skipRightToLefts, qlen);
+                       if(hi) {
+                               hi = false;
+                               // Moving left-to-right
+                               riHi++; rirHi++; rirHiAnchor++;
+                               r = (int)ref[rirHiAnchor];
+                               if(r & 4) {
+                                       r = 0;
+                                       skipLeftToRights = anchorBitPairs;
+                               }
+                               assert_lt(r, 4);
+                               // Bring in new base pair at the least significant
+                               // position
+                               buffw = ((buffw << 2llu) | r);
+                               if(useMask) buffw &= clearMask;
+                               if(skipLeftToRights > 0) {
+                                       skipLeftToRights--;
+                                       continue;
+                               }
+                               if(buffw != anchor) {
+                                       continue;
+                               }
+                       } else {
+                               hi = true;
+                               // Moving right-to-left
+                               riLo--; rirLo--;
+                               r = (int)ref[rirLo];
+                               if(r & 4) {
+                                       r = 0;
+                                       skipRightToLefts = qlen;
+                               }
+                               assert_lt(r, 4);
+                               if(i >= 2) {
+                                       bufbw >>= 2llu;
+                                       // Bring in new base pair at the most significant
+                                       // position
+                                       bufbw |= ((uint64_t)r << lhsShift);
+                               }
+                               if(skipRightToLefts > 0) {
+                                       skipRightToLefts--;
+                                       continue;
+                               }
+                               if(bufbw != anchor) {
+                                       continue;
+                               }
+                       }
+                       // Seed hit!
+                       bool foundHit = true;
+                       uint32_t ri = hi ? riLo : riHi;
+                       uint32_t rir = hi ? rirLo : rirHi;
+                       if(anchorOverhang > 0) {
+                               // Does the non-anchor part of the alignment (the
+                               // "overhang") ruin it?
+                               bool skipCandidate = false;
+                               for(uint32_t j = 0; j < anchorOverhang; j++) {
+                                       assert_lt(ri + anchorBitPairs + j, end);
+                                       int rc = (int)ref[rir + anchorBitPairs + j];
+                                       if(rc == 4) {
+                                               // Oops, encountered an N in the reference in
+                                               // the overhang portion of the candidate
+                                               // alignment
+                                               // (Note that we inverted hi earlier)
+                                               if(hi) {
+                                                       // Right-to-left
+                                                       skipRightToLefts = anchorOverhang - j - 1;
+                                               } else {
+                                                       // Left-to-right
+                                                       skipLeftToRights = anchorBitPairs + j;
+                                               }
+                                               skipCandidate = true;
+                                               break; // Skip this candidate
+                                       }
+                                       if((int)qry[32 + j] != rc) {
+                                               // Yes, overhang ruins it
+                                               foundHit = false;
+                                               break;
+                                       }
+                               }
+                               if(skipCandidate) continue;
+                       }
+                       if(foundHit) {
+                               if(pairs != NULL) {
+                                       TU64Pair p;
+                                       if(ri < aoff) {
+                                               // By convention, the upstream mate's
+                                               // coordinates go in the 'first' field
+                                               p.first  = ((uint64_t)tidx << 32) | (uint64_t)ri;
+                                               p.second = ((uint64_t)tidx << 32) | (uint64_t)aoff;
+                                       } else {
+                                               p.first  = ((uint64_t)tidx << 32) | (uint64_t)aoff;
+                                               p.second = ((uint64_t)tidx << 32) | (uint64_t)ri;
+                                       }
+                                       if(pairs->find(p) != pairs->end()) {
+                                               // We already found this hit!  Continue.
+                                               ASSERT_ONLY(duplicates++);
+                                               ASSERT_ONLY(r2i++);
+                                               continue;
+                                       } else {
+                                               // Record this hit
+                                               pairs->insert(p);
+                                       }
+                               }
+                               assert_lt(r2i, r2.size());
+                               assert_eq(re2[r2i], ri);
+                               ranges.resize(ranges.size()+1);
+                               Range& range = ranges.back();
+                               range.stratum = 0;
+                               range.numMms = 0;
+                               assert_eq(0, range.mms.size());
+                               assert_eq(0, range.refcs.size());
+                               ASSERT_ONLY(r2i++);
+                               results.push_back(ri);
+                               if(--numToFind == 0) return;
+                       } else {
+                               // Keep scanning
+                       }
+               }
+               assert_leq(duplicates, r2.size());
+               assert_geq(r2.size() - duplicates, ranges.size() - rangesInitSz);
+               return; // no hit
+       }
+};
+
+/**
+ * Defined in ref_aligner.cpp.  Maps an octet representing the XOR of
+ * two two-bit-per-base-encoded DNA sequences to the number of bases
+ * that mismatch between the two.
+ */
+extern unsigned char u8toMms[];
+
+/**
+ * Concrete RefAligner for finding nearby 1-mismatch hits given an
+ * anchor hit.
+ */
+template<typename TStr>
+class OneMMRefAligner : public RefAligner<TStr> {
+
+       typedef seqan::String<seqan::Dna5> TDna5Str;
+       typedef seqan::String<char> TCharStr;
+       typedef std::vector<Range> TRangeVec;
+       typedef std::vector<uint32_t> TU32Vec;
+       typedef std::pair<uint64_t, uint64_t> TU64Pair;
+       typedef std::set<TU64Pair> TSetPairs;
+
+public:
+
+       OneMMRefAligner(bool color, bool verbose, bool quiet) :
+               RefAligner<TStr>(color, verbose, quiet) { }
+
+       virtual ~OneMMRefAligner() { }
+
+protected:
+       /**
+        * Because we're doing end-to-end exact, we don't care which end of
+        * 'qry' is the 5' end.
+        */
+       void naiveFind(uint32_t numToFind,
+                      uint32_t tidx,
+                      uint8_t* ref,
+                   const TDna5Str& qry,
+                   const TCharStr& quals,
+                   uint32_t begin,
+                   uint32_t end,
+                      TRangeVec& ranges,
+                      TU32Vec& results,
+                      TSetPairs* pairs,
+                      uint32_t aoff,
+                      bool seedOnLeft) const
+       {
+               assert_gt(numToFind, 0);
+               const uint32_t qlen = seqan::length(qry);
+               assert_geq(end - begin, qlen); // caller should have checked this
+               assert_gt(end, begin);
+               assert_gt(qlen, 0);
+               uint32_t qend = end - qlen;
+               uint32_t lim = qend - begin;
+               uint32_t halfway = begin + (lim >> 1);
+               bool hi = false;
+               for(uint32_t i = 1; i <= lim+1; i++) {
+                       uint32_t ri;  // leftmost position in candidate alignment
+                       uint32_t rir; // same, minus begin; for indexing into ref[]
+                       if(hi) {
+                               ri = halfway + (i >> 1); rir = ri - begin;
+                               assert_leq(ri, qend);
+                       } else {
+                               ri = halfway - (i >> 1); rir = ri - begin;
+                               assert_geq(ri, begin);
+                       }
+                       hi = !hi;
+                       // Do the naive comparison
+                       bool match = true;
+                       int refc = -1;
+                       uint32_t mmOff = 0xffffffff;
+                       int mms = 0;
+                       for(uint32_t j = 0; j < qlen; j++) {
+#if 0
+                               // Count Ns in the reference as mismatches
+                               const int q = (int)qry[j];
+                               const int r = (int)ref[rir + j];
+                               assert_leq(q, 4);
+                               assert_leq(r, 4);
+                               if(q == 4 || r == 4 || q != r) {
+#else
+                               // Disallow alignments that involve an N in the
+                               // reference
+                               const int r = (int)ref[rir + j];
+                               if(r & 4) {
+                                       // N in reference; bail
+                                       match = false;
+                                       break;
+                               }
+                               const int q = (int)qry[j];
+                               assert_leq(q, 4);
+                               assert_lt(r, 4);
+                               if(q != r) {
+#endif
+                                       // Mismatch!
+                                       if(++mms > 1) {
+                                               // Too many; reject this alignment
+                                               match = false;
+                                               break;
+                                       } else {
+                                               // First one; remember offset and ref char
+                                               refc = "ACGTN"[r];
+                                               mmOff = j;
+                                       }
+                               }
+                       }
+                       if(match) {
+                               assert_leq(mms, 1);
+                               ranges.resize(ranges.size()+1);
+                               Range& range = ranges.back();
+                               range.stratum = mms;
+                               range.numMms = mms;
+                               assert_eq(0, range.mms.size());
+                               assert_eq(0, range.refcs.size());
+                               if(mms == 1) {
+                                       assert_lt(mmOff, qlen);
+                                       range.mms.push_back(mmOff);
+                                       range.refcs.push_back(refc);
+                               }
+                               results.push_back(ri);
+                       }
+               }
+               return;
+       }
+
+       /**
+        * Because we're doing end-to-end exact, we don't care which end of
+        * 'qry' is the 5' end.
+        */
+       virtual void anchor64Find(uint32_t numToFind,
+                       uint32_t tidx,
+                       uint8_t* ref,
+                    const TDna5Str& qry,
+                    const TCharStr& quals,
+                    uint32_t begin,
+                    uint32_t end,
+                       TRangeVec& ranges,
+                       TU32Vec& results,
+                       TSetPairs* pairs = NULL,
+                       uint32_t aoff = 0xffffffff,
+                       bool seedOnLeft = false) const
+       {
+               assert_gt(numToFind, 0);
+               ASSERT_ONLY(const uint32_t rangesInitSz = ranges.size());
+               ASSERT_ONLY(uint32_t duplicates = 0);
+               ASSERT_ONLY(uint32_t r2i = 0);
+               const uint32_t qlen = seqan::length(qry);
+               assert_geq(end - begin, qlen); // caller should have checked this
+               assert_gt(end, begin);
+               assert_gt(qlen, 0);
+#ifndef NDEBUG
+               // Get results from the naive matcher for sanity-checking
+               TRangeVec r2; TU32Vec re2;
+               naiveFind(numToFind, tidx, ref, qry, quals, begin, end, r2,
+                         re2, pairs, aoff, seedOnLeft);
+#endif
+               const uint32_t anchorBitPairs = min<int>(qlen, 32);
+               const int lhsShift = ((anchorBitPairs - 1) << 1);
+               const uint32_t anchorCushion  = 32 - anchorBitPairs;
+               // anchorOverhang = # read bases not included in the anchor
+               const uint32_t anchorOverhang = (qlen <= 32 ? 0 : (qlen - 32));
+               const uint32_t lim = end - qlen - begin;
+               const uint32_t halfway = begin + (lim >> 1);
+               uint64_t anchor = 0llu;
+               uint64_t buffw = 0llu;  // rotating ref sequence buffer
+               // OR the 'diff' buffer with this so that we can always count
+               // 'N's as mismatches
+               uint64_t diffMask = 0llu;
+               // Set up a mask that we'll apply to the two bufs every round
+               // to discard bits that were rotated out of the anchor area
+               uint64_t clearMask = 0xffffffffffffffffllu;
+               bool useMask = false;
+               if(anchorBitPairs < 32) {
+                       clearMask >>= ((32-anchorBitPairs) << 1);
+                       useMask = true;
+               }
+               int nsInAnchor = 0;
+               int nPos = -1;
+               uint32_t skipLeftToRights = 0;
+               uint32_t skipRightToLefts = 0;
+               // Construct the 'anchor' 64-bit buffer so that it holds all of
+               // the first 'anchorBitPairs' bit pairs of the query.
+               for(uint32_t i = 0; i < anchorBitPairs; i++) {
+                       int c = (int)qry[i]; // next query character
+                       int r = (int)ref[halfway - begin + i]; // next reference character
+                       if(r & 4) {
+                               r = 0;
+                               // The right-to-left direction absorbs the candidate
+                               // alignment based at 'halfway'; so skipLeftToRights is
+                               // i, not i+1
+                               skipLeftToRights = max(skipLeftToRights, i);
+                               skipRightToLefts = max(skipRightToLefts, anchorBitPairs - i);
+                       }
+                       assert_leq(c, 4);
+                       assert_lt(r, 4);
+                       // Special case: query has an 'N'
+                       if(c == 4) {
+                               if(++nsInAnchor > 1) {
+                                       // More than one 'N' in the anchor region; can't
+                                       // possibly have a 1-mismatch hit anywhere
+                                       assert_eq(r2.size(), ranges.size() - rangesInitSz);
+                                       return;   // can't match if query has Ns
+                               }
+                               nPos = (int)i;
+                               // Make it look like an 'A' in the anchor
+                               c = 0;
+                               diffMask = (diffMask << 2llu) | 1llu;
+                       } else {
+                               diffMask <<= 2llu;
+                       }
+                       anchor  = ((anchor  << 2llu) | c);
+                       buffw = ((buffw << 2llu) | r);
+               }
+               // Check whether read is disqualified by Ns outside of the anchor
+               // region
+               for(uint32_t i = anchorBitPairs; i < qlen; i++) {
+                       if((int)qry[i] == 4) {
+                               if(++nsInAnchor > 1) {
+                                       assert_eq(r2.size(), ranges.size() - rangesInitSz);
+                                       return; // can't match if query has Ns
+                               }
+                       }
+               }
+               uint64_t bufbw = buffw;
+               // We're moving the right-hand edge of the anchor along until
+               // it's 'anchorOverhang' chars from the end of the target region.
+               // Note that we're not making a 3'/5' distinction here; if we
+               // were, we might need to make the 'anchorOverhang' adjustment on
+               // the left end of the range rather than the right.
+               bool hi = false;
+               uint32_t riHi  = halfway;
+               uint32_t rirHi = halfway - begin;
+               uint32_t rirHiAnchor = rirHi + anchorBitPairs - 1;
+               uint32_t riLo  = halfway + 1;
+               uint32_t rirLo = halfway - begin + 1;
+               for(uint32_t i = 1; i <= lim + 1; i++) {
+                       int r;       // new reference char
+                       uint64_t diff;
+                       assert_lt(skipLeftToRights, qlen);
+                       assert_leq(skipRightToLefts, qlen);
+                       if(hi) {
+                               hi = false;
+                               // Moving left-to-right
+                               riHi++;
+                               rirHi++;
+                               rirHiAnchor++;
+                               r = (int)ref[rirHiAnchor];
+                               if(r & 4) {
+                                       r = 0;
+                                       skipLeftToRights = anchorBitPairs;
+                               }
+                               assert_lt(r, 4);
+                               // Bring in new base pair at the least significant
+                               // position
+                               buffw = ((buffw << 2llu) | r);
+                               if(useMask) buffw &= clearMask;
+                               if(skipLeftToRights > 0) {
+                                       skipLeftToRights--;
+                                       continue;
+                               }
+                               diff = (buffw ^ anchor) | diffMask;
+                       } else {
+                               hi = true;
+                               // Moving right-to-left
+                               riLo--;
+                               rirLo--;
+                               r = (int)ref[rirLo];
+                               if(r & 4) {
+                                       r = 0;
+                                       skipRightToLefts = qlen;
+                               }
+                               assert_lt(r, 4);
+                               if(i >= 2) {
+                                       bufbw >>= 2llu;
+                                       // Bring in new base pair at the most significant
+                                       // position
+                                       bufbw |= ((uint64_t)r << lhsShift);
+                               }
+                               if(skipRightToLefts > 0) {
+                                       skipRightToLefts--;
+                                       continue;
+                               }
+                               diff = (bufbw ^ anchor) | diffMask;
+                       }
+                       if((diff & 0xffffffff00000000llu) &&
+                          (diff & 0x00000000ffffffffllu)) continue;
+                       uint32_t ri  = hi ? riLo  : riHi;
+                       uint32_t rir = hi ? rirLo : rirHi;
+                       // Could use pop count
+                       uint8_t *diff8 = reinterpret_cast<uint8_t*>(&diff);
+                       // As a first cut, see if there are too many mismatches in
+                       // the first and last parts of the anchor
+                       uint32_t diffs = u8toMms[(int)diff8[0]] + u8toMms[(int)diff8[7]];
+                       if(diffs > 1) continue;
+                       diffs += u8toMms[(int)diff8[1]] +
+                                u8toMms[(int)diff8[2]] +
+                                u8toMms[(int)diff8[3]] +
+                                u8toMms[(int)diff8[4]] +
+                                u8toMms[(int)diff8[5]] +
+                                u8toMms[(int)diff8[6]];
+                       uint32_t mmpos = 0xffffffff;
+                       int refc = -1;
+                       if(diffs > 1) {
+                               // Too many differences
+                               continue;
+                       } else if(diffs == 1 && nPos != -1) {
+                               // There was one difference, but there was also one N,
+                               // so we already know where the difference is
+                               mmpos = nPos;
+                               refc = "ACGT"[(int)ref[rir + nPos]];
+                       } else if(diffs == 1) {
+                               // Figure out which position mismatched
+                               mmpos = 31;
+                               if((diff & 0xffffffffllu) == 0) { diff >>= 32llu; mmpos -= 16; }
+                               assert_neq(0, diff);
+                               if((diff & 0xffffllu) == 0)     { diff >>= 16llu; mmpos -=  8; }
+                               assert_neq(0, diff);
+                               if((diff & 0xffllu) == 0)       { diff >>= 8llu;  mmpos -=  4; }
+                               assert_neq(0, diff);
+                               if((diff & 0xfllu) == 0)        { diff >>= 4llu;  mmpos -=  2; }
+                               assert_neq(0, diff);
+                               if((diff & 0x3llu) == 0)        { mmpos--; }
+                               assert_neq(0, diff);
+                               assert_geq(mmpos, 0);
+                               assert_lt(mmpos, 32);
+                               mmpos -= anchorCushion;
+                               refc = "ACGT"[(int)ref[rir + mmpos]];
+                       }
+                       // Now extend the anchor into a longer alignment
+                       bool foundHit = true;
+                       if(anchorOverhang > 0) {
+                               assert_leq(ri + anchorBitPairs + anchorOverhang, end);
+                               bool skipCandidate = false;
+                               for(uint32_t j = 0; j < anchorOverhang; j++) {
+                                       int rc = (int)ref[rir + 32 + j];
+                                       if(rc == 4) {
+                                               // Oops, encountered an N in the reference in
+                                               // the overhang portion of the candidate
+                                               // alignment
+                                               // (Note that we inverted hi earlier)
+                                               if(hi) {
+                                                       // Right-to-left
+                                                       skipRightToLefts = anchorOverhang - j - 1;
+                                               } else {
+                                                       // Left-to-right
+                                                       skipLeftToRights = anchorBitPairs + j;
+                                               }
+                                               skipCandidate = true; // Skip this candidate
+                                               break;
+                                       }
+                                       if((int)qry[32 + j] != rc) {
+                                               if(++diffs > 1) {
+                                                       foundHit = false;
+                                                       break;
+                                               } else {
+                                                       mmpos = 32 + j;
+                                                       refc = "ACGT"[(int)ref[rir + 32 + j]];
+                                               }
+                                       }
+                               }
+                               if(skipCandidate) continue;
+                       }
+                       if(!foundHit) continue;
+                       if(pairs != NULL) {
+                               TU64Pair p;
+                               if(ri < aoff) {
+                                       // By convention, the upstream mate's
+                                       // coordinates go in the 'first' field
+                                       p.first  = ((uint64_t)tidx << 32) | (uint64_t)ri;
+                                       p.second = ((uint64_t)tidx << 32) | (uint64_t)aoff;
+                               } else {
+                                       p.second = ((uint64_t)tidx << 32) | (uint64_t)ri;
+                                       p.first  = ((uint64_t)tidx << 32) | (uint64_t)aoff;
+                               }
+                               if(pairs->find(p) != pairs->end()) {
+                                       // We already found this hit!  Continue.
+                                       ASSERT_ONLY(duplicates++);
+                                       ASSERT_ONLY(r2i++);
+                                       continue;
+                               } else {
+                                       // Record this hit
+                                       pairs->insert(p);
+                               }
+                       }
+                       assert_leq(diffs, 1);
+                       assert_lt(r2i, r2.size());
+                       assert_eq(re2[r2i], ri);
+                       ranges.resize(ranges.size()+1);
+                       Range& range = ranges.back();
+                       assert_eq(diffs, r2[r2i].numMms);
+                       range.stratum = diffs;
+                       range.numMms = diffs;
+                       assert_eq(0, range.mms.size());
+                       assert_eq(0, range.refcs.size());
+                       if(diffs == 1) {
+                               assert_neq(mmpos, 0xffffffff);
+                               assert_eq(mmpos, r2[r2i].mms[0]);
+                               assert_neq(-1, refc);
+                               assert_eq(refc, r2[r2i].refcs[0]);
+                               range.mms.push_back(mmpos);
+                               range.refcs.push_back(refc);
+                       }
+                       ASSERT_ONLY(r2i++);
+                       results.push_back(ri);
+                       if(--numToFind == 0) return;
+               }
+               assert_leq(duplicates, r2.size());
+               assert_geq(r2.size() - duplicates, ranges.size() - rangesInitSz);
+               return; // no hit
+       }
+};
+
+/**
+ * Concrete RefAligner for finding nearby 2-mismatch hits given an
+ * anchor hit.
+ */
+template<typename TStr>
+class TwoMMRefAligner : public RefAligner<TStr> {
+
+       typedef seqan::String<seqan::Dna5> TDna5Str;
+       typedef seqan::String<char> TCharStr;
+       typedef std::vector<Range> TRangeVec;
+       typedef std::vector<uint32_t> TU32Vec;
+       typedef std::pair<uint64_t, uint64_t> TU64Pair;
+       typedef std::set<TU64Pair> TSetPairs;
+
+public:
+
+       TwoMMRefAligner(bool color, bool verbose, bool quiet) :
+               RefAligner<TStr>(color, verbose, quiet) { }
+
+       virtual ~TwoMMRefAligner() { }
+
+protected:
+       /**
+        * Because we're doing end-to-end exact, we don't care which end of
+        * 'qry' is the 5' end.
+        */
+       void naiveFind(uint32_t numToFind,
+                                  uint32_t tidx,
+                                  uint8_t* ref,
+                                  const TDna5Str& qry,
+                                  const TCharStr& quals,
+                                  uint32_t begin,
+                                  uint32_t end,
+                                  TRangeVec& ranges,
+                                  TU32Vec& results,
+                                  TSetPairs* pairs,
+                                  uint32_t aoff,
+                                  bool seedOnLeft) const
+       {
+               assert_gt(numToFind, 0);
+               const uint32_t qlen = seqan::length(qry);
+               assert_geq(end - begin, qlen); // caller should have checked this
+               assert_gt(end, begin);
+               assert_gt(qlen, 0);
+               uint32_t qend = end - qlen;
+               uint32_t lim = qend - begin;
+               uint32_t halfway = begin + (lim >> 1);
+               bool hi = false;
+               for(uint32_t i = 1; i <= lim+1; i++) {
+                       uint32_t ri;  // leftmost position in candidate alignment
+                       uint32_t rir; // same, minus begin; for indexing into ref[]
+                       if(hi) {
+                               ri = halfway + (i >> 1); rir = ri - begin;
+                               assert_leq(ri, qend);
+                       } else {
+                               ri = halfway - (i >> 1); rir = ri - begin;
+                               assert_geq(ri, begin);
+                       }
+                       hi = !hi;
+                       // Do the naive comparison
+                       bool match = true;
+                       int refc1 = -1;
+                       uint32_t mmOff1 = 0xffffffff;
+                       int refc2 = -1;
+                       uint32_t mmOff2 = 0xffffffff;
+                       int mms = 0;
+                       for(uint32_t j = 0; j < qlen; j++) {
+#if 0
+                               // Count Ns in the reference as mismatches
+                               const int q = (int)qry[j];
+                               const int r = (int)ref[rir + j];
+                               assert_leq(q, 4);
+                               assert_leq(r, 4);
+                               if(q == 4 || r == 4 || q != r) {
+#else
+                               // Disallow alignments that involve an N in the
+                               // reference
+                               const int r = (int)ref[rir + j];
+                               if(r & 4) {
+                                       // N in reference; bail
+                                       match = false;
+                                       break;
+                               }
+                               const int q = (int)qry[j];
+                               assert_leq(q, 4);
+                               assert_lt(r, 4);
+                               if(q != r) {
+#endif
+                                       // Mismatch!
+                                       if(++mms > 2) {
+                                               // Too many; reject this alignment
+                                               match = false;
+                                               break;
+                                       } else if(mms == 2) {
+                                               // Second one; remember offset and ref char
+                                               refc2 = "ACGTN"[r];
+                                               mmOff2 = j;
+                                       } else {
+                                               assert_eq(1, mms);
+                                               // First one; remember offset and ref char
+                                               refc1 = "ACGTN"[r];
+                                               mmOff1 = j;
+                                       }
+                               }
+                       }
+                       if(match) {
+                               assert_leq(mms, 2);
+                               ranges.resize(ranges.size()+1);
+                               Range& range = ranges.back();
+                               range.stratum = mms;
+                               range.numMms = mms;
+                               assert_eq(0, range.mms.size());
+                               assert_eq(0, range.refcs.size());
+                               if(mms > 0) {
+                                       assert_lt(mmOff1, qlen);
+                                       assert(refc1 == 'A' || refc1 == 'C' || refc1 == 'G' || refc1 == 'T');
+                                       range.mms.push_back(mmOff1);
+                                       range.refcs.push_back(refc1);
+                                       if(mms > 1) {
+                                               assert_eq(2, mms);
+                                               assert_lt(mmOff2, qlen);
+                                               assert(refc2 == 'A' || refc2 == 'C' || refc2 == 'G' || refc2 == 'T');
+                                               range.mms.push_back(mmOff2);
+                                               range.refcs.push_back(refc2);
+                                       }
+                               }
+                               results.push_back(ri);
+                       }
+               }
+               return;
+       }
+
+       /**
+        * Because we're doing end-to-end exact, we don't care which end of
+        * 'qry' is the 5' end.
+        */
+       virtual void anchor64Find(uint32_t numToFind,
+                                       uint32_t tidx,
+                                       uint8_t* ref,
+                                       const TDna5Str& qry,
+                                       const TCharStr& quals,
+                                       uint32_t begin,
+                                       uint32_t end,
+                                       TRangeVec& ranges,
+                                       TU32Vec& results,
+                                       TSetPairs* pairs = NULL,
+                                       uint32_t aoff = 0xffffffff,
+                                       bool seedOnLeft = false) const
+       {
+               assert_gt(numToFind, 0);
+               ASSERT_ONLY(const uint32_t rangesInitSz = ranges.size());
+               ASSERT_ONLY(uint32_t duplicates = 0);
+               ASSERT_ONLY(uint32_t r2i = 0);
+               const uint32_t qlen = seqan::length(qry);
+               assert_geq(end - begin, qlen); // caller should have checked this
+               assert_gt(end, begin);
+               assert_gt(qlen, 0);
+#ifndef NDEBUG
+               // Get results from the naive matcher for sanity-checking
+               TRangeVec r2; TU32Vec re2;
+               naiveFind(numToFind, tidx, ref, qry, quals, begin, end, r2,
+                                 re2, pairs, aoff, seedOnLeft);
+#endif
+               const uint32_t anchorBitPairs = min<int>(qlen, 32);
+               const int lhsShift = ((anchorBitPairs - 1) << 1);
+               const uint32_t anchorCushion  = 32 - anchorBitPairs;
+               // anchorOverhang = # read bases not included in the anchor
+               const uint32_t anchorOverhang = (qlen <= 32 ? 0 : (qlen - 32));
+               const uint32_t lim = end - qlen - begin;
+               const uint32_t halfway = begin + (lim >> 1);
+               uint64_t anchor = 0llu;
+               uint64_t buffw = 0llu;  // rotating ref sequence buffer
+               // OR the 'diff' buffer with this so that we can always count
+               // 'N's as mismatches
+               uint64_t diffMask = 0llu;
+               // Set up a mask that we'll apply to the two bufs every round
+               // to discard bits that were rotated out of the anchor area
+               uint64_t clearMask = 0xffffffffffffffffllu;
+               bool useMask = false;
+               if(anchorBitPairs < 32) {
+                       clearMask >>= ((32-anchorBitPairs) << 1);
+                       useMask = true;
+               }
+               int nsInAnchor = 0;
+               uint32_t nPoss = 0;
+               int nPos1 = -1;
+               int nPos2 = -1;
+               uint32_t skipLeftToRights = 0;
+               uint32_t skipRightToLefts = 0;
+               // Construct the 'anchor' 64-bit buffer so that it holds all of
+               // the first 'anchorBitPairs' bit pairs of the query.
+               for(uint32_t i = 0; i < anchorBitPairs; i++) {
+                       int c = (int)qry[i]; // next query character
+                       int r = (int)ref[halfway - begin + i]; // next reference character
+                       if(r & 4) {
+                               r = 0;
+                               // The right-to-left direction absorbs the candidate
+                               // alignment based at 'halfway'; so skipLeftToRights is
+                               // i, not i+1
+                               skipLeftToRights = max(skipLeftToRights, i);
+                               skipRightToLefts = max(skipRightToLefts, anchorBitPairs - i);
+                       }
+                       assert_leq(c, 4);
+                       assert_lt(r, 4);
+                       // Special case: query has an 'N'
+                       if(c == 4) {
+                               if(++nsInAnchor > 2) {
+                                       // More than two 'N's in the anchor region; can't
+                                       // possibly have a 2-mismatch hit anywhere
+                                       return;   // can't match if query has Ns
+                               } else if(nsInAnchor == 2) {
+                                       nPos2 = (int)i;
+                                       nPoss++;
+                               } else {
+                                       assert_eq(1, nsInAnchor);
+                                       nPos1 = (int)i;
+                                       nPoss++;
+                               }
+                               // Make it look like an 'A' in the anchor
+                               c = 0;
+                               diffMask = (diffMask << 2llu) | 1llu;
+                       } else {
+                               diffMask <<= 2llu;
+                       }
+                       anchor  = ((anchor  << 2llu) | c);
+                       buffw = ((buffw << 2llu) | r);
+               }
+               assert_leq(nPoss, 2);
+               // Check whether read is disqualified by Ns outside of the anchor
+               // region
+               for(uint32_t i = anchorBitPairs; i < qlen; i++) {
+                       if((int)qry[i] == 4) {
+                               if(++nsInAnchor > 2) {
+                                       return; // can't match if query has Ns
+                               }
+                       }
+               }
+               uint64_t bufbw = buffw;
+               // We're moving the right-hand edge of the anchor along until
+               // it's 'anchorOverhang' chars from the end of the target region.
+               // Note that we're not making a 3'/5' distinction here; if we
+               // were, we might need to make the 'anchorOverhang' adjustment on
+               // the left end of the range rather than the right.
+               bool hi = false;
+               uint32_t riHi  = halfway;
+               uint32_t rirHi = halfway - begin;
+               uint32_t rirHiAnchor = rirHi + anchorBitPairs - 1;
+               uint32_t riLo  = halfway + 1;
+               uint32_t rirLo = halfway - begin + 1;
+               uint32_t i;
+               for(i = 1; i <= lim + 1; i++) {
+                       int r;       // new reference char
+                       uint64_t diff;
+                       assert_lt(skipLeftToRights, qlen);
+                       assert_leq(skipRightToLefts, qlen);
+                       if(hi) {
+                               hi = false;
+                               // Moving left-to-right
+                               riHi++;
+                               rirHi++;
+                               rirHiAnchor++;
+                               r = (int)ref[rirHiAnchor];
+                               if(r & 4) {
+                                       r = 0;
+                                       skipLeftToRights = anchorBitPairs;
+                               }
+                               assert_lt(r, 4);
+                               // Bring in new base pair at the least significant
+                               // position
+                               buffw = ((buffw << 2llu) | r);
+                               if(useMask) buffw &= clearMask;
+                               if(skipLeftToRights > 0) {
+                                       skipLeftToRights--;
+                                       continue;
+                               }
+                               diff = (buffw ^ anchor) | diffMask;
+                       } else {
+                               hi = true;
+                               // Moving right-to-left
+                               riLo--;
+                               rirLo--;
+                               r = (int)ref[rirLo];
+                               if(r & 4) {
+                                       r = 0;
+                                       skipRightToLefts = qlen;
+                               }
+                               assert_lt(r, 4);
+                               if(i >= 2) {
+                                       bufbw >>= 2llu;
+                                       // Bring in new base pair at the most significant
+                                       // position
+                                       bufbw |= ((uint64_t)r << lhsShift);
+                               }
+                               if(skipRightToLefts > 0) {
+                                       skipRightToLefts--;
+                                       continue;
+                               }
+                               diff = (bufbw ^ anchor) | diffMask;
+                       }
+                       if((diff & 0xfffff00000000000llu) &&
+                          (diff & 0x00000ffffff00000llu) &&
+                          (diff & 0x00000000000fffffllu)) continue;
+                       uint32_t ri  = hi ? riLo  : riHi;
+                       uint32_t rir = hi ? rirLo : rirHi;
+                       // Could use pop count
+                       uint8_t *diff8 = reinterpret_cast<uint8_t*>(&diff);
+                       // As a first cut, see if there are too many mismatches in
+                       // the first and last parts of the anchor
+                       uint32_t diffs = u8toMms[(int)diff8[0]] + u8toMms[(int)diff8[7]];
+                       if(diffs > 2) continue;
+                       diffs += u8toMms[(int)diff8[1]] +
+                                        u8toMms[(int)diff8[2]] +
+                                        u8toMms[(int)diff8[3]] +
+                                        u8toMms[(int)diff8[4]] +
+                                        u8toMms[(int)diff8[5]] +
+                                        u8toMms[(int)diff8[6]];
+                       uint32_t mmpos1 = 0xffffffff;
+                       int refc1 = -1;
+                       uint32_t mmpos2 = 0xffffffff;
+                       int refc2 = -1;
+                       if(diffs > 2) {
+                               // Too many differences
+                               continue;
+                       } else if(nPoss > 1 && diffs == nPoss) {
+                               // There was one difference, but there was also one N,
+                               // so we already know where the difference is
+                               mmpos1 = nPos1;
+                               refc1 = "ACGT"[(int)ref[rir + nPos1]];
+                               if(nPoss == 2) {
+                                       mmpos2 = nPos2;
+                                       refc2 = "ACGT"[(int)ref[rir + nPos2]];
+                               }
+                       } else if(diffs > 0) {
+                               // Figure out which position mismatched
+                               uint64_t diff2 = diff;
+                               mmpos1 = 31;
+                               if((diff & 0xffffffffllu) == 0) { diff >>= 32llu; mmpos1 -= 16; }
+                               assert_neq(0, diff);
+                               if((diff & 0xffffllu) == 0)     { diff >>= 16llu; mmpos1 -=  8; }
+                               assert_neq(0, diff);
+                               if((diff & 0xffllu) == 0)       { diff >>= 8llu;  mmpos1 -=  4; }
+                               assert_neq(0, diff);
+                               if((diff & 0xfllu) == 0)        { diff >>= 4llu;  mmpos1 -=  2; }
+                               assert_neq(0, diff);
+                               if((diff & 0x3llu) == 0)        { mmpos1--; }
+                               assert_neq(0, diff);
+                               assert_geq(mmpos1, 0);
+                               assert_lt(mmpos1, 32);
+                               mmpos1 -= anchorCushion;
+                               refc1 = "ACGT"[(int)ref[rir + mmpos1]];
+                               if(diffs > 1) {
+                                       // Figure out the second mismatched position
+                                       ASSERT_ONLY(uint64_t origDiff2 = diff2);
+                                       diff2 &= ~(0xc000000000000000llu >> (uint64_t)((mmpos1+anchorCushion) << 1));
+                                       assert_neq(diff2, origDiff2);
+                                       mmpos2 = 31;
+                                       if((diff2 & 0xffffffffllu) == 0) { diff2 >>= 32llu; mmpos2 -= 16; }
+                                       assert_neq(0, diff2);
+                                       if((diff2 & 0xffffllu) == 0)     { diff2 >>= 16llu; mmpos2 -=  8; }
+                                       assert_neq(0, diff2);
+                                       if((diff2 & 0xffllu) == 0)       { diff2 >>= 8llu;  mmpos2 -=  4; }
+                                       assert_neq(0, diff2);
+                                       if((diff2 & 0xfllu) == 0)        { diff2 >>= 4llu;  mmpos2 -=  2; }
+                                       assert_neq(0, diff2);
+                                       if((diff2 & 0x3llu) == 0)        { mmpos2--; }
+                                       assert_neq(0, diff2);
+                                       assert_geq(mmpos2, 0);
+                                       assert_lt(mmpos2, 32);
+                                       mmpos2 -= anchorCushion;
+                                       assert_neq(mmpos1, mmpos2);
+                                       refc2 = "ACGT"[(int)ref[rir + mmpos2]];
+                                       if(mmpos2 < mmpos1) {
+                                               uint32_t mmtmp = mmpos1;
+                                               mmpos1 = mmpos2;
+                                               mmpos2 = mmtmp;
+                                               int refctmp = refc1;
+                                               refc1 = refc2;
+                                               refc2 = refctmp;
+                                       }
+                                       assert_lt(mmpos1, mmpos2);
+                               }
+                       }
+                       // Now extend the anchor into a longer alignment
+                       bool foundHit = true;
+                       if(anchorOverhang > 0) {
+                               assert_leq(ri + anchorBitPairs + anchorOverhang, end);
+                               bool skipCandidate = false;
+                               for(uint32_t j = 0; j < anchorOverhang; j++) {
+                                       int rc = (int)ref[rir + 32 + j];
+                                       if(rc == 4) {
+                                               // Oops, encountered an N in the reference in
+                                               // the overhang portion of the candidate
+                                               // alignment
+                                               // (Note that we inverted hi earlier)
+                                               if(hi) {
+                                                       // Right-to-left
+                                                       skipRightToLefts = anchorOverhang - j - 1;
+                                               } else {
+                                                       // Left-to-right
+                                                       skipLeftToRights = anchorBitPairs + j;
+                                               }
+                                               skipCandidate = true; // Skip this candidate
+                                               break;
+                                       }
+                                       if((int)qry[32 + j] != rc) {
+                                               if(++diffs > 2) {
+                                                       foundHit = false;
+                                                       break;
+                                               } else if(diffs == 2) {
+                                                       mmpos2 = 32 + j;
+                                                       refc2 = "ACGT"[(int)ref[rir + 32 + j]];
+                                               } else {
+                                                       assert_eq(1, diffs);
+                                                       mmpos1 = 32 + j;
+                                                       refc1 = "ACGT"[(int)ref[rir + 32 + j]];
+                                               }
+                                       }
+                               }
+                               if(skipCandidate) continue;
+                       }
+                       if(!foundHit) continue;
+                       if(pairs != NULL) {
+                               TU64Pair p;
+                               if(ri < aoff) {
+                                       // By convention, the upstream mate's
+                                       // coordinates go in the 'first' field
+                                       p.first  = ((uint64_t)tidx << 32) | (uint64_t)ri;
+                                       p.second = ((uint64_t)tidx << 32) | (uint64_t)aoff;
+                               } else {
+                                       p.second = ((uint64_t)tidx << 32) | (uint64_t)ri;
+                                       p.first  = ((uint64_t)tidx << 32) | (uint64_t)aoff;
+                               }
+                               if(pairs->find(p) != pairs->end()) {
+                                       // We already found this hit!  Continue.
+                                       ASSERT_ONLY(duplicates++);
+                                       ASSERT_ONLY(r2i++);
+                                       continue;
+                               } else {
+                                       // Record this hit
+                                       pairs->insert(p);
+                               }
+                       }
+                       assert_leq(diffs, 2);
+                       assert_lt(r2i, r2.size());
+                       assert_eq(re2[r2i], ri);
+                       ranges.resize(ranges.size()+1);
+                       Range& range = ranges.back();
+                       assert_eq(diffs, r2[r2i].numMms);
+                       range.stratum = diffs;
+                       range.numMms = diffs;
+                       assert_eq(0, range.mms.size());
+                       assert_eq(0, range.refcs.size());
+                       if(diffs > 0) {
+                               assert_neq(mmpos1, 0xffffffff);
+                               assert_eq(mmpos1, r2[r2i].mms[0]);
+                               assert_neq(-1, refc1);
+                               assert_eq(refc1, r2[r2i].refcs[0]);
+                               range.mms.push_back(mmpos1);
+                               range.refcs.push_back(refc1);
+                               if(diffs > 1) {
+                                       assert_neq(mmpos2, 0xffffffff);
+                                       assert_eq(mmpos2, r2[r2i].mms[1]);
+                                       assert_neq(-1, refc2);
+                                       assert_eq(refc2, r2[r2i].refcs[1]);
+                                       range.mms.push_back(mmpos2);
+                                       range.refcs.push_back(refc2);
+                               }
+                       }
+                       ASSERT_ONLY(r2i++);
+                       results.push_back(ri);
+                       if(--numToFind == 0) return;
+               }
+               assert_leq(duplicates, r2.size());
+               assert_geq(r2.size() - duplicates, ranges.size() - rangesInitSz);
+               return; // no hit
+       }
+};
+
+/**
+ * Concrete RefAligner for finding nearby 2-mismatch hits given an
+ * anchor hit.
+ */
+template<typename TStr>
+class ThreeMMRefAligner : public RefAligner<TStr> {
+
+       typedef seqan::String<seqan::Dna5> TDna5Str;
+       typedef seqan::String<char> TCharStr;
+       typedef std::vector<Range> TRangeVec;
+       typedef std::vector<uint32_t> TU32Vec;
+       typedef std::pair<uint64_t, uint64_t> TU64Pair;
+       typedef std::set<TU64Pair> TSetPairs;
+
+public:
+
+       ThreeMMRefAligner(bool color, bool verbose, bool quiet) :
+               RefAligner<TStr>(color, verbose, quiet) { }
+
+       virtual ~ThreeMMRefAligner() { }
+
+protected:
+       /**
+        * Because we're doing end-to-end exact, we don't care which end of
+        * 'qry' is the 5' end.
+        */
+       void naiveFind(uint32_t numToFind,
+                                  uint32_t tidx,
+                                  uint8_t* ref,
+                                  const TDna5Str& qry,
+                                  const TCharStr& quals,
+                                  uint32_t begin,
+                                  uint32_t end,
+                                  TRangeVec& ranges,
+                                  TU32Vec& results,
+                                  TSetPairs* pairs,
+                                  uint32_t aoff,
+                                  bool seedOnLeft) const
+       {
+               assert_gt(numToFind, 0);
+               const uint32_t qlen = seqan::length(qry);
+               assert_geq(end - begin, qlen); // caller should have checked this
+               assert_gt(end, begin);
+               assert_gt(qlen, 0);
+               uint32_t qend = end - qlen;
+               uint32_t lim = qend - begin;
+               uint32_t halfway = begin + (lim >> 1);
+               bool hi = false;
+               for(uint32_t i = 1; i <= lim+1; i++) {
+                       uint32_t ri;  // leftmost position in candidate alignment
+                       uint32_t rir; // same, minus begin; for indexing into ref[]
+                       if(hi) {
+                               ri = halfway + (i >> 1); rir = ri - begin;
+                               assert_leq(ri, qend);
+                       } else {
+                               ri = halfway - (i >> 1); rir = ri - begin;
+                               assert_geq(ri, begin);
+                       }
+                       hi = !hi;
+                       // Do the naive comparison
+                       bool match = true;
+                       int refc1 = -1;
+                       uint32_t mmOff1 = 0xffffffff;
+                       int refc2 = -1;
+                       uint32_t mmOff2 = 0xffffffff;
+                       int refc3 = -1;
+                       uint32_t mmOff3 = 0xffffffff;
+                       int mms = 0;
+                       for(uint32_t j = 0; j < qlen; j++) {
+#if 0
+                               // Count Ns in the reference as mismatches
+                               const int q = (int)qry[j];
+                               const int r = (int)ref[rir + j];
+                               assert_leq(q, 4);
+                               assert_leq(r, 4);
+                               if(q == 4 || r == 4 || q != r) {
+#else
+                               // Disallow alignments that involve an N in the
+                               // reference
+                               const int r = (int)ref[rir + j];
+                               if(r & 4) {
+                                       // N in reference; bail
+                                       match = false;
+                                       break;
+                               }
+                               const int q = (int)qry[j];
+                               assert_leq(q, 4);
+                               assert_lt(r, 4);
+                               if(q != r) {
+#endif
+                                       // Mismatch!
+                                       if(++mms > 3) {
+                                               // Too many; reject this alignment
+                                               match = false;
+                                               break;
+                                       } else if(mms == 3) {
+                                               // Second one; remember offset and ref char
+                                               refc3 = "ACGTN"[r];
+                                               mmOff3 = j;
+                                       } else if(mms == 2) {
+                                               // Second one; remember offset and ref char
+                                               refc2 = "ACGTN"[r];
+                                               mmOff2 = j;
+                                       } else {
+                                               assert_eq(1, mms);
+                                               // First one; remember offset and ref char
+                                               refc1 = "ACGTN"[r];
+                                               mmOff1 = j;
+                                       }
+                               }
+                       }
+                       if(match) {
+                               assert_leq(mms, 3);
+                               ranges.resize(ranges.size()+1);
+                               Range& range = ranges.back();
+                               range.stratum = mms;
+                               range.numMms = mms;
+                               assert_eq(0, range.mms.size());
+                               assert_eq(0, range.refcs.size());
+                               if(mms > 0) {
+                                       assert_lt(mmOff1, qlen);
+                                       assert(refc1 == 'A' || refc1 == 'C' || refc1 == 'G' || refc1 == 'T');
+                                       range.mms.push_back(mmOff1);
+                                       range.refcs.push_back(refc1);
+                                       if(mms > 1) {
+                                               assert_lt(mmOff2, qlen);
+                                               assert(refc2 == 'A' || refc2 == 'C' || refc2 == 'G' || refc2 == 'T');
+                                               range.mms.push_back(mmOff2);
+                                               range.refcs.push_back(refc2);
+                                               if(mms > 2) {
+                                                       assert_eq(3, mms);
+                                                       assert_lt(mmOff3, qlen);
+                                                       assert(refc3 == 'A' || refc3 == 'C' || refc3 == 'G' || refc3 == 'T');
+                                                       range.mms.push_back(mmOff3);
+                                                       range.refcs.push_back(refc3);
+                                               }
+                                       }
+                               }
+                               results.push_back(ri);
+                       }
+               }
+               return;
+       }
+
+       /**
+        * Because we're doing end-to-end exact, we don't care which end of
+        * 'qry' is the 5' end.
+        */
+       virtual void anchor64Find(uint32_t numToFind,
+                                       uint32_t tidx,
+                                       uint8_t* ref,
+                                       const TDna5Str& qry,
+                                       const TCharStr& quals,
+                                       uint32_t begin,
+                                       uint32_t end,
+                                       TRangeVec& ranges,
+                                       TU32Vec& results,
+                                       TSetPairs* pairs = NULL,
+                                       uint32_t aoff = 0xffffffff,
+                                       bool seedOnLeft = false) const
+       {
+               assert_gt(numToFind, 0);
+               ASSERT_ONLY(const uint32_t rangesInitSz = ranges.size());
+               ASSERT_ONLY(uint32_t duplicates = 0);
+               ASSERT_ONLY(uint32_t r2i = 0);
+               const uint32_t qlen = seqan::length(qry);
+               assert_geq(end - begin, qlen); // caller should have checked this
+               assert_gt(end, begin);
+               assert_gt(qlen, 0);
+#ifndef NDEBUG
+               // Get results from the naive matcher for sanity-checking
+               TRangeVec r2; TU32Vec re2;
+               naiveFind(numToFind, tidx, ref, qry, quals, begin, end, r2,
+                                 re2, pairs, aoff, seedOnLeft);
+#endif
+               const uint32_t anchorBitPairs = min<int>(qlen, 32);
+               const int lhsShift = ((anchorBitPairs - 1) << 1);
+               const uint32_t anchorCushion  = 32 - anchorBitPairs;
+               // anchorOverhang = # read bases not included in the anchor
+               const uint32_t anchorOverhang = (qlen <= 32 ? 0 : (qlen - 32));
+               const uint32_t lim = end - qlen - begin;
+               const uint32_t halfway = begin + (lim >> 1);
+               uint64_t anchor = 0llu;
+               uint64_t buffw = 0llu;  // rotating ref sequence buffer
+               // OR the 'diff' buffer with this so that we can always count
+               // 'N's as mismatches
+               uint64_t diffMask = 0llu;
+               // Set up a mask that we'll apply to the two bufs every round
+               // to discard bits that were rotated out of the anchor area
+               uint64_t clearMask = 0xffffffffffffffffllu;
+               bool useMask = false;
+               if(anchorBitPairs < 32) {
+                       clearMask >>= ((32-anchorBitPairs) << 1);
+                       useMask = true;
+               }
+               int nsInAnchor = 0;
+               uint32_t nPoss = 0;
+               int nPos1 = -1;
+               int nPos2 = -1;
+               int nPos3 = -1;
+               uint32_t skipLeftToRights = 0;
+               uint32_t skipRightToLefts = 0;
+               // Construct the 'anchor' 64-bit buffer so that it holds all of
+               // the first 'anchorBitPairs' bit pairs of the query.
+               for(uint32_t i = 0; i < anchorBitPairs; i++) {
+                       int c = (int)qry[i]; // next query character
+                       int r = (int)ref[halfway - begin + i]; // next reference character
+                       if(r & 4) {
+                               r = 0;
+                               // The right-to-left direction absorbs the candidate
+                               // alignment based at 'halfway'; so skipLeftToRights is
+                               // i, not i+1
+                               skipLeftToRights = max(skipLeftToRights, i);
+                               skipRightToLefts = max(skipRightToLefts, anchorBitPairs - i);
+                       }
+                       assert_leq(c, 4);
+                       assert_lt(r, 4);
+                       // Special case: query has an 'N'
+                       if(c == 4) {
+                               if(++nsInAnchor > 3) {
+                                       // More than two 'N's in the anchor region; can't
+                                       // possibly have a 2-mismatch hit anywhere
+                                       assert_eq(r2.size(), ranges.size() - rangesInitSz);
+                                       return;   // can't match if query has Ns
+                               } else if(nsInAnchor == 3) {
+                                       nPos3 = (int)i;
+                                       nPoss++;
+                               } else if(nsInAnchor == 2) {
+                                       nPos2 = (int)i;
+                                       nPoss++;
+                               } else {
+                                       assert_eq(1, nsInAnchor);
+                                       nPos1 = (int)i;
+                                       nPoss++;
+                               }
+                               // Make it look like an 'A' in the anchor
+                               c = 0;
+                               diffMask = (diffMask << 2llu) | 1llu;
+                       } else {
+                               diffMask <<= 2llu;
+                       }
+                       anchor  = ((anchor  << 2llu) | c);
+                       buffw = ((buffw << 2llu) | r);
+               }
+               assert_leq(nPoss, 3);
+               // Check whether read is disqualified by Ns outside of the anchor
+               // region
+               for(uint32_t i = anchorBitPairs; i < qlen; i++) {
+                       if((int)qry[i] == 4) {
+                               if(++nsInAnchor > 3) {
+                                       assert_eq(r2.size(), ranges.size() - rangesInitSz);
+                                       return; // can't match if query has Ns
+                               }
+                       }
+               }
+               uint64_t bufbw = buffw;
+               // We're moving the right-hand edge of the anchor along until
+               // it's 'anchorOverhang' chars from the end of the target region.
+               // Note that we're not making a 3'/5' distinction here; if we
+               // were, we might need to make the 'anchorOverhang' adjustment on
+               // the left end of the range rather than the right.
+               bool hi = false;
+               uint32_t riHi  = halfway;
+               uint32_t rirHi = halfway - begin;
+               uint32_t rirHiAnchor = rirHi + anchorBitPairs - 1;
+               uint32_t riLo  = halfway + 1;
+               uint32_t rirLo = halfway - begin + 1;
+               for(uint32_t i = 1; i <= lim + 1; i++) {
+                       int r;       // new reference char
+                       uint64_t diff;
+                       assert_lt(skipLeftToRights, qlen);
+                       assert_leq(skipRightToLefts, qlen);
+                       if(hi) {
+                               hi = false;
+                               // Moving left-to-right
+                               riHi++;
+                               rirHi++;
+                               rirHiAnchor++;
+                               r = (int)ref[rirHiAnchor];
+                               if(r & 4) {
+                                       r = 0;
+                                       skipLeftToRights = anchorBitPairs;
+                               }
+                               assert_lt(r, 4);
+                               // Bring in new base pair at the least significant
+                               // position
+                               buffw = ((buffw << 2llu) | r);
+                               if(useMask) buffw &= clearMask;
+                               if(skipLeftToRights > 0) {
+                                       skipLeftToRights--;
+                                       continue;
+                               }
+                               diff = (buffw ^ anchor) | diffMask;
+                       } else {
+                               hi = true;
+                               // Moving right-to-left
+                               riLo--;
+                               rirLo--;
+                               r = (int)ref[rirLo];
+                               if(r & 4) {
+                                       r = 0;
+                                       skipRightToLefts = qlen;
+                               }
+                               assert_lt(r, 4);
+                               if(i >= 2) {
+                                       bufbw >>= 2llu;
+                                       // Bring in new base pair at the most significant
+                                       // position
+                                       bufbw |= ((uint64_t)r << lhsShift);
+                               }
+                               if(skipRightToLefts > 0) {
+                                       skipRightToLefts--;
+                                       continue;
+                               }
+                               diff = (bufbw ^ anchor) | diffMask;
+                       }
+                       if((diff & 0xffff000000000000llu) &&
+                          (diff & 0x0000ffff00000000llu) &&
+                          (diff & 0x00000000ffff0000llu) &&
+                          (diff & 0x000000000000ffffllu)) continue;
+                       uint32_t ri  = hi ? riLo  : riHi;
+                       uint32_t rir = hi ? rirLo : rirHi;
+                       // Could use pop count
+                       uint8_t *diff8 = reinterpret_cast<uint8_t*>(&diff);
+                       // As a first cut, see if there are too many mismatches in
+                       // the first and last parts of the anchor
+                       uint32_t diffs = u8toMms[(int)diff8[0]] + u8toMms[(int)diff8[7]];
+                       if(diffs > 3) continue;
+                       diffs += u8toMms[(int)diff8[1]] +
+                                        u8toMms[(int)diff8[2]] +
+                                        u8toMms[(int)diff8[3]] +
+                                        u8toMms[(int)diff8[4]] +
+                                        u8toMms[(int)diff8[5]] +
+                                        u8toMms[(int)diff8[6]];
+                       uint32_t mmpos1 = 0xffffffff;
+                       int refc1 = -1;
+                       uint32_t mmpos2 = 0xffffffff;
+                       int refc2 = -1;
+                       uint32_t mmpos3 = 0xffffffff;
+                       int refc3 = -1;
+                       if(diffs > 3) {
+                               // Too many differences
+                               continue;
+                       } else if(nPoss > 1 && diffs == nPoss) {
+                               // There was one difference, but there was also one N,
+                               // so we already know where the difference is
+                               mmpos1 = nPos1;
+                               refc1 = "ACGT"[(int)ref[rir + nPos1]];
+                               if(nPoss > 1) {
+                                       mmpos2 = nPos2;
+                                       refc2 = "ACGT"[(int)ref[rir + nPos2]];
+                                       if(nPoss > 2) {
+                                               mmpos3 = nPos3;
+                                               refc3 = "ACGT"[(int)ref[rir + nPos3]];
+                                       }
+                               }
+                       } else if(diffs > 0) {
+                               // Figure out which position mismatched
+                               uint64_t diff2 = diff;
+                               mmpos1 = 31;
+                               if((diff & 0xffffffffllu) == 0) { diff >>= 32llu; mmpos1 -= 16; }
+                               assert_neq(0, diff);
+                               if((diff & 0xffffllu) == 0)     { diff >>= 16llu; mmpos1 -=  8; }
+                               assert_neq(0, diff);
+                               if((diff & 0xffllu) == 0)       { diff >>= 8llu;  mmpos1 -=  4; }
+                               assert_neq(0, diff);
+                               if((diff & 0xfllu) == 0)        { diff >>= 4llu;  mmpos1 -=  2; }
+                               assert_neq(0, diff);
+                               if((diff & 0x3llu) == 0)        { mmpos1--; }
+                               assert_neq(0, diff);
+                               assert_geq(mmpos1, 0);
+                               assert_lt(mmpos1, 32);
+                               mmpos1 -= anchorCushion;
+                               refc1 = "ACGT"[(int)ref[rir + mmpos1]];
+                               if(diffs > 1) {
+                                       // Figure out the second mismatched position
+                                       diff2 &= ~(0xc000000000000000llu >> (uint64_t)((mmpos1 + anchorCushion) << 1));
+                                       uint64_t diff3 = diff2;
+                                       mmpos2 = 31;
+                                       if((diff2 & 0xffffffffllu) == 0) { diff2 >>= 32llu; mmpos2 -= 16; }
+                                       assert_neq(0, diff2);
+                                       if((diff2 & 0xffffllu) == 0)     { diff2 >>= 16llu; mmpos2 -=  8; }
+                                       assert_neq(0, diff2);
+                                       if((diff2 & 0xffllu) == 0)       { diff2 >>= 8llu;  mmpos2 -=  4; }
+                                       assert_neq(0, diff2);
+                                       if((diff2 & 0xfllu) == 0)        { diff2 >>= 4llu;  mmpos2 -=  2; }
+                                       assert_neq(0, diff2);
+                                       if((diff2 & 0x3llu) == 0)        { mmpos2--; }
+                                       assert_neq(0, diff2);
+                                       mmpos2 -= anchorCushion;
+                                       assert_geq(mmpos2, 0);
+                                       assert_lt(mmpos2, 32);
+                                       assert_neq(mmpos1, mmpos2);
+                                       refc2 = "ACGT"[(int)ref[rir + mmpos2]];
+                                       uint32_t mmpos2orig = mmpos2;
+                                       if(mmpos2 < mmpos1) {
+                                               uint32_t mmtmp = mmpos1;
+                                               mmpos1 = mmpos2;
+                                               mmpos2 = mmtmp;
+                                               int refctmp = refc1;
+                                               refc1 = refc2;
+                                               refc2 = refctmp;
+                                       }
+                                       assert_lt(mmpos1, mmpos2);
+                                       if(diffs > 2) {
+                                               // Figure out the second mismatched position
+                                               diff3 &= ~(0xc000000000000000llu >> (uint64_t)((mmpos2orig + anchorCushion) << 1));
+                                               mmpos3 = 31;
+                                               if((diff3 & 0xffffffffllu) == 0) { diff3 >>= 32llu; mmpos3 -= 16; }
+                                               assert_neq(0, diff3);
+                                               if((diff3 & 0xffffllu) == 0)     { diff3 >>= 16llu; mmpos3 -=  8; }
+                                               assert_neq(0, diff3);
+                                               if((diff3 & 0xffllu) == 0)       { diff3 >>= 8llu;  mmpos3 -=  4; }
+                                               assert_neq(0, diff3);
+                                               if((diff3 & 0xfllu) == 0)        { diff3 >>= 4llu;  mmpos3 -=  2; }
+                                               assert_neq(0, diff3);
+                                               if((diff3 & 0x3llu) == 0)        { mmpos3--; }
+                                               assert_neq(0, diff3);
+                                               mmpos3 -= anchorCushion;
+                                               assert_geq(mmpos3, 0);
+                                               assert_lt(mmpos3, 32);
+                                               assert_neq(mmpos1, mmpos3);
+                                               assert_neq(mmpos2, mmpos3);
+                                               refc3 = "ACGT"[(int)ref[rir + mmpos3]];
+                                               if(mmpos3 < mmpos1) {
+                                                       uint32_t mmtmp = mmpos1;
+                                                       mmpos1 = mmpos3;
+                                                       mmpos3 = mmpos2;
+                                                       mmpos2 = mmtmp;
+                                                       int refctmp = refc1;
+                                                       refc1 = refc3;
+                                                       refc3 = refc2;
+                                                       refc2 = refctmp;
+                                               } else if(mmpos3 < mmpos2) {
+                                                       uint32_t mmtmp = mmpos2;
+                                                       mmpos2 = mmpos3;
+                                                       mmpos3 = mmtmp;
+                                                       int refctmp = refc2;
+                                                       refc2 = refc3;
+                                                       refc3 = refctmp;
+                                               }
+                                               assert_lt(mmpos1, mmpos2);
+                                               assert_lt(mmpos2, mmpos3);
+                                       }
+                               }
+                       }
+                       // Now extend the anchor into a longer alignment
+                       bool foundHit = true;
+                       if(anchorOverhang > 0) {
+                               assert_leq(ri + anchorBitPairs + anchorOverhang, end);
+                               bool skipCandidate = false;
+                               for(uint32_t j = 0; j < anchorOverhang; j++) {
+                                       int rc = (int)ref[rir + 32 + j];
+                                       if(rc == 4) {
+                                               // Oops, encountered an N in the reference in
+                                               // the overhang portion of the candidate
+                                               // alignment
+                                               // (Note that we inverted hi earlier)
+                                               if(hi) {
+                                                       // Right-to-left
+                                                       skipRightToLefts = anchorOverhang - j - 1;
+                                               } else {
+                                                       // Left-to-right
+                                                       skipLeftToRights = anchorBitPairs + j;
+                                               }
+                                               skipCandidate = true; // Skip this candidate
+                                               break;
+                                       }
+                                       if((int)qry[32 + j] != rc) {
+                                               if(++diffs > 3) {
+                                                       foundHit = false;
+                                                       break;
+                                               } else if(diffs == 3) {
+                                                       mmpos3 = 32 + j;
+                                                       refc3 = "ACGT"[(int)ref[rir + 32 + j]];
+                                               } else if(diffs == 2) {
+                                                       mmpos2 = 32 + j;
+                                                       refc2 = "ACGT"[(int)ref[rir + 32 + j]];
+                                               } else {
+                                                       assert_eq(1, diffs);
+                                                       mmpos1 = 32 + j;
+                                                       refc1 = "ACGT"[(int)ref[rir + 32 + j]];
+                                               }
+                                       }
+                               }
+                               if(skipCandidate) continue;
+                       }
+                       if(!foundHit) continue;
+                       if(pairs != NULL) {
+                               TU64Pair p;
+                               if(ri < aoff) {
+                                       // By convention, the upstream mate's
+                                       // coordinates go in the 'first' field
+                                       p.first  = ((uint64_t)tidx << 32) | (uint64_t)ri;
+                                       p.second = ((uint64_t)tidx << 32) | (uint64_t)aoff;
+                               } else {
+                                       p.second = ((uint64_t)tidx << 32) | (uint64_t)ri;
+                                       p.first  = ((uint64_t)tidx << 32) | (uint64_t)aoff;
+                               }
+                               if(pairs->find(p) != pairs->end()) {
+                                       // We already found this hit!  Continue.
+                                       ASSERT_ONLY(duplicates++);
+                                       ASSERT_ONLY(r2i++);
+                                       continue;
+                               } else {
+                                       // Record this hit
+                                       pairs->insert(p);
+                               }
+                       }
+                       assert_leq(diffs, 3);
+                       assert_lt(r2i, r2.size());
+                       assert_eq(re2[r2i], ri);
+                       ranges.resize(ranges.size()+1);
+                       Range& range = ranges.back();
+                       assert_eq(diffs, r2[r2i].numMms);
+                       range.stratum = diffs;
+                       range.numMms = diffs;
+                       assert_eq(0, range.mms.size());
+                       assert_eq(0, range.refcs.size());
+                       if(diffs > 0) {
+                               assert_neq(mmpos1, 0xffffffff);
+                               assert_eq(mmpos1, r2[r2i].mms[0]);
+                               assert_neq(-1, refc1);
+                               assert_eq(refc1, r2[r2i].refcs[0]);
+                               range.mms.push_back(mmpos1);
+                               range.refcs.push_back(refc1);
+                               if(diffs > 1) {
+                                       assert_neq(mmpos2, 0xffffffff);
+                                       assert_eq(mmpos2, r2[r2i].mms[1]);
+                                       assert_neq(-1, refc2);
+                                       assert_eq(refc2, r2[r2i].refcs[1]);
+                                       range.mms.push_back(mmpos2);
+                                       range.refcs.push_back(refc2);
+                                       if(diffs > 2) {
+                                               assert_neq(mmpos3, 0xffffffff);
+                                               assert_eq(mmpos3, r2[r2i].mms[2]);
+                                               assert_neq(-1, refc3);
+                                               assert_eq(refc3, r2[r2i].refcs[2]);
+                                               range.mms.push_back(mmpos3);
+                                               range.refcs.push_back(refc3);
+                                       }
+                               }
+                       }
+                       ASSERT_ONLY(r2i++);
+                       results.push_back(ri);
+                       if(--numToFind == 0) return;
+               }
+               assert_leq(duplicates, r2.size());
+               assert_geq(r2.size() - duplicates, ranges.size() - rangesInitSz);
+               return; // no hit
+       }
+};
+
+/**
+ * Concrete RefAligner for finding nearby 1-mismatch hits given an
+ * anchor hit.
+ */
+template<typename TStr>
+class Seed0RefAligner : public RefAligner<TStr> {
+
+       typedef seqan::String<seqan::Dna5> TDna5Str;
+       typedef seqan::String<char> TCharStr;
+       typedef std::vector<Range> TRangeVec;
+       typedef std::vector<uint32_t> TU32Vec;
+       typedef std::pair<uint64_t, uint64_t> TU64Pair;
+       typedef std::set<TU64Pair> TSetPairs;
+
+public:
+
+       Seed0RefAligner(bool color, bool verbose, bool quiet, uint32_t seedLen, uint32_t qualMax, bool maqPenalty) :
+               RefAligner<TStr>(color, verbose, quiet, seedLen, qualMax, maqPenalty) { }
+
+       virtual ~Seed0RefAligner() { }
+
+protected:
+       /**
+        * This schematic shows the roles played by the begin, qbegin, end,
+        * qend, halfway, slen, qlen, and lim variables:
+        *
+        * seedOnLeft == true:
+        *
+        * |<                   lim                   >|<     qlen       >|
+        *  --------------------------------------------------------------
+        * |                     | slen | qlen-slen |  | slen | qlen-slen |
+        *  --------------------------------------------------------------
+        * ^                     ^                     ^                  ^
+        * begin & qbegin     halfway                qend               end
+        *
+        * seedOnLeft == false:
+        *
+        * |<     qlen       >|<                   lim                   >|
+        *  --------------------------------------------------------------
+        * | qlen-slen | slen |  | qlen-slen | slen |                     |
+        *  --------------------------------------------------------------
+        * ^                  ^                     ^                     ^
+        * begin            qbegin             halfway           qend & end
+        *
+        * Note that, for seeds longer than 32 base-pairs, the seed is
+        * further subdivided into a 32-bit anchor and a seed overhang of
+        * length > 0.
+        */
+       void naiveFind(uint32_t numToFind,
+                                  uint32_t tidx,
+                                  uint8_t* ref,
+                                  const TDna5Str& qry,
+                                  const TCharStr& quals,
+                                  uint32_t begin,
+                                  uint32_t end,
+                                  TRangeVec& ranges,
+                                  TU32Vec& results,
+                                  TSetPairs* pairs,
+                                  uint32_t aoff,
+                                  bool seedOnLeft) const
+       {
+               assert_gt(numToFind, 0);
+               assert_gt(end, begin);
+               const uint32_t qlen = seqan::length(qry);
+               assert_gt(qlen, 0);
+               assert_geq(end - begin, qlen); // caller should have checked this
+               assert_gt(this->seedLen_, 0);
+               const uint32_t slen = min(qlen, this->seedLen_);
+               uint32_t qend = end;
+               uint32_t qbegin = begin;
+               // If the seed is on the left-hand side of the alignment, then
+               // leave a gap at the right-hand side of the interval;
+               // otherwise, do the opposite
+               if(seedOnLeft) {
+                       // Leave gap on right-hand side of the interval
+                       qend -= qlen;
+               } else {
+                       // Leave gap on left-hand side of the interval
+                       qbegin += qlen;
+               }
+               // lim = number of alignments to try
+               const uint32_t lim = qend - qbegin;
+               // halfway = position in the reference to start at (and then
+               // we work our way out to the right and to the left).
+               const uint32_t halfway = qbegin + (lim >> 1);
+               // Vectors for holding edit information
+               std::vector<uint32_t> nonSeedMms;
+               std::vector<uint8_t> nonSeedRefcs;
+               bool hi = false;
+               for(uint32_t i = 1; i <= lim+1; i++) {
+                       uint32_t ri;  // leftmost position in candidate alignment
+                       uint32_t rir; // same, minus begin; for indexing into ref[]
+                       if(hi) {
+                               ri = halfway + (i >> 1); rir = ri - begin;
+                               assert_leq(ri, qend);
+                       } else {
+                               ri = halfway - (i >> 1); rir = ri - begin;
+                               assert_geq(ri, begin);
+                       }
+                       hi = !hi;
+                       // Do the naive comparison
+                       bool match = true;
+                       int mms = 0;
+                       unsigned int ham = 0;
+                       nonSeedMms.clear();
+                       nonSeedRefcs.clear();
+                       // Walk through each position of the alignment
+                       for(uint32_t jj = 0; jj < qlen; jj++) {
+                               uint32_t j = jj;
+                               if(!seedOnLeft) {
+                                       // If seed is on the right, scan right-to-left
+                                       j = qlen - jj - 1;
+                               } else {
+                                       // Go left-to-right
+                               }
+                               uint32_t rirj = rir + j;
+                               if(!seedOnLeft) {
+                                       assert_geq(rir, jj);
+                                       rirj = rir - jj - 1;
+                               }
+#if 0
+                               // Count Ns in the reference as mismatches
+                               const int q = (int)qry[j];
+                               const int r = (int)ref[rirj];
+                               assert_leq(q, 4);
+                               assert_leq(r, 4);
+                               if(q == 4 || r == 4 || q != r) {
+#else
+                               // Disallow alignments that involve an N in the
+                               // reference
+                               const int r = (int)ref[rirj];
+                               if(r & 4) {
+                                       // N in reference; bail on this alignment
+                                       match = false;
+                                       break;
+                               }
+                               const int q = (int)qry[j];
+                               assert_leq(q, 4);
+                               assert_lt(r, 4);
+                               if(q != r) {
+#endif
+                                       // Mismatch!
+                                       if(jj < slen) {
+                                               // More than one mismatch in the anchor; reject
+                                               match = false;
+                                               break;
+                                       }
+                                       uint8_t qual = phredCharToPhredQual(quals[j]);
+                                       ham += mmPenalty(this->maqPenalty_, qual);
+                                       if(ham > this->qualMax_) {
+                                               // Exceeded quality ceiling; reject
+                                               match = false;
+                                               break;
+                                       } else {
+                                               // Legal mismatch outside of the anchor; record it
+                                               mms++;
+                                               nonSeedMms.push_back(j);
+                                               assert_leq(nonSeedMms.size(), (size_t)mms);
+                                               nonSeedRefcs.push_back("ACGTN"[r]);
+                                       }
+                               }
+                       }
+                       if(match) {
+                               ranges.resize(ranges.size()+1);
+                               Range& range = ranges.back();
+                               range.stratum = 0;
+                               range.numMms = mms;
+                               assert_eq(0, range.mms.size());
+                               assert_eq(0, range.refcs.size());
+                               if(mms >= 1) {
+                                       // Be careful to add edits in left-to-right order
+                                       // with respect to the read/alignment
+                                       const size_t nonSeedMmsSz = nonSeedMms.size();
+                                       if(nonSeedMmsSz > 0) {
+                                               if(seedOnLeft) {
+                                                       for(size_t k = 0; k < nonSeedMmsSz; k++) {
+                                                               range.mms.push_back(nonSeedMms[k]);
+                                                               range.refcs.push_back(nonSeedRefcs[k]);
+                                                       }
+                                               } else {
+                                                       for(size_t k = nonSeedMmsSz; k > 0; k--) {
+                                                               range.mms.push_back(nonSeedMms[k-1]);
+                                                               range.refcs.push_back(nonSeedRefcs[k-1]);
+                                                       }
+                                               }
+                                       }
+                               }
+                               assert_eq((size_t)mms, range.mms.size());
+                               assert_eq((size_t)mms, range.refcs.size());
+                               if(seedOnLeft) {
+                                       results.push_back(ri);
+                               } else {
+                                       results.push_back(ri - qlen);
+                               }
+                       }
+               }
+               return;
+       }
+
+       /**
+        * This schematic shows the roles played by the begin, qbegin, end,
+        * qend, halfway, slen, qlen, and lim variables:
+        *
+        * seedOnLeft == true:
+        *
+        * |<                   lim                   >|<     qlen       >|
+        *  --------------------------------------------------------------
+        * |                     | slen | qlen-slen |  | slen | qlen-slen |
+        *  --------------------------------------------------------------
+        * ^                     ^                     ^                  ^
+        * begin & qbegin     halfway                qend               end
+        *
+        * seedOnLeft == false:
+        *
+        *             |<                   lim                   >|
+        *  --------------------------------------------------------------
+        * | qlen-slen |         | qlen-slen | slen |              | slen |
+        *  --------------------------------------------------------------
+        * ^           ^                     ^                     ^      ^
+        * begin       qbegin             halfway                qend   end
+        *
+        * Note that, for seeds longer than 32 base-pairs, the seed is
+        * further subdivided into a 32-bit anchor and a seed overhang of
+        * length > 0.
+        */
+       virtual void anchor64Find(uint32_t numToFind,
+                                       uint32_t tidx,
+                                       uint8_t* ref,
+                                       const TDna5Str& qry,
+                                       const TCharStr& quals,
+                                       uint32_t begin,
+                                       uint32_t end,
+                                       TRangeVec& ranges,
+                                       TU32Vec& results,
+                                       TSetPairs* pairs = NULL,
+                                       uint32_t aoff = 0xffffffff,
+                                       bool seedOnLeft = false) const
+       {
+               assert_gt(numToFind, 0);
+               ASSERT_ONLY(const uint32_t rangesInitSz = ranges.size());
+               ASSERT_ONLY(uint32_t duplicates = 0);
+               ASSERT_ONLY(uint32_t r2i = 0);
+               const uint32_t qlen = seqan::length(qry);
+               assert_gt(qlen, 0);
+               assert_gt(end, begin);
+               assert_geq(end - begin, qlen); // caller should have checked this
+               assert_gt(this->seedLen_, 0);
+               uint32_t slen = min(qlen, this->seedLen_);
+#ifndef NDEBUG
+               // Get results from the naive matcher for sanity-checking
+               TRangeVec r2; TU32Vec re2;
+               naiveFind(numToFind, tidx, ref, qry, quals, begin, end, r2,
+                                 re2, pairs, aoff, seedOnLeft);
+#endif
+               const uint32_t anchorBitPairs = min<int>(slen, 32);
+               const int lhsShift = ((anchorBitPairs - 1) << 1);
+               ASSERT_ONLY(const uint32_t anchorCushion  = 32 - anchorBitPairs);
+               // seedAnchorOverhang = # seed bases not included in the anchor
+               const uint32_t seedAnchorOverhang = (slen <= anchorBitPairs ? 0 : (slen - anchorBitPairs));
+               // seedAnchorOverhang = # seed bases not included in the anchor
+               const uint32_t readSeedOverhang = (slen == qlen ? 0 : (qlen - slen));
+               assert(anchorCushion == 0 || seedAnchorOverhang == 0);
+               assert_eq(qlen, readSeedOverhang + slen);
+               uint32_t qend = end;
+               uint32_t qbegin = begin;
+               if(seedOnLeft) {
+                       // Leave read-sized gap on right-hand side of the interval
+                       qend -= qlen;
+               } else {
+                       // Leave seed-sized gap on right-hand side and
+                       // non-seed-sized gap on the left-hand side
+                       qbegin += readSeedOverhang;
+                       qend -= slen;
+               }
+               // lim = # possible alignments in the range
+               const uint32_t lim = qend - qbegin;
+               // halfway = point on the genome to radiate out from
+               const uint32_t halfway = qbegin + (lim >> 1);
+               uint64_t anchor = 0llu;
+               uint64_t buffw = 0llu;  // rotating ref sequence buffer
+               // Set up a mask that we'll apply to the two bufs every round
+               // to discard bits that were rotated out of the anchor area
+               uint64_t clearMask = 0xffffffffffffffffllu;
+               bool useMask = false;
+               if(anchorBitPairs < 32) {
+                       clearMask >>= ((32-anchorBitPairs) << 1);
+                       useMask = true;
+               }
+               uint32_t skipLeftToRights = 0;
+               uint32_t skipRightToLefts = 0;
+               const uint32_t halfwayRi = halfway - begin;
+               // Construct the 'anchor' 64-bit buffer so that it holds all of
+               // the first 'anchorBitPairs' bit pairs of the query.
+               for(uint32_t ii = 0; ii < anchorBitPairs; ii++) {
+                       uint32_t i = ii;
+                       if(!seedOnLeft) {
+                               // Fill in the anchor using characters from the right-
+                               // hand side of the query (but take the characters in
+                               // left-to-right order)
+                               i = qlen - slen + ii;
+                       }
+                       int c = (int)qry[i]; // next query character
+                       int r = (int)ref[halfwayRi + ii]; // next reference character
+                       if(r & 4) {
+                               // The reference character is an N; to mimic the
+                               // behavior of BW alignment, we have to skip all
+                               // alignments that involve an N in the reference.  Set
+                               // the skip* variables accordingly.
+                               r = 0;
+                               uint32_t lrSkips = ii;
+                               uint32_t rlSkips = qlen - ii;
+                               if(!seedOnLeft && readSeedOverhang) {
+                                       lrSkips += readSeedOverhang;
+                                       assert_geq(rlSkips, readSeedOverhang);
+                                       rlSkips -= readSeedOverhang;
+                               }
+                               // The right-to-left direction absorbs the candidate
+                               // alignment based at 'halfway'
+                               skipLeftToRights = max(skipLeftToRights, lrSkips);
+                               skipRightToLefts = max(skipRightToLefts, rlSkips);
+                               assert_leq(skipLeftToRights, qlen);
+                               assert_leq(skipRightToLefts, qlen);
+                       }
+                       assert_leq(c, 4);
+                       assert_lt(r, 4);
+                       // Special case: query has an 'N'
+                       if(c == 4) {
+                               // One or more 'N's in the anchor region; can't
+                               // possibly have a 0-mismatch hit anywhere
+                               assert_eq(r2.size(), ranges.size() - rangesInitSz);
+                               return;   // can't match if query has Ns
+                       }
+                       anchor = ((anchor << 2llu) | c);
+                       buffw = ((buffw << 2llu) | r);
+               }
+               // Check whether read is disqualified by Ns inside the seed
+               // region but outside the anchor region
+               if(seedAnchorOverhang) {
+                       assert_lt(anchorBitPairs, slen);
+                       for(uint32_t ii = anchorBitPairs; ii < slen; ii++) {
+                               uint32_t i = ii;
+                               if(!seedOnLeft) {
+                                       i = qlen - slen + ii;
+                               }
+                               if((int)qry[i] == 4) {
+                                       assert_eq(r2.size(), ranges.size() - rangesInitSz);
+                                       return; // can't match if query has Ns
+                               }
+                       }
+               } else {
+                       assert_eq(anchorBitPairs, slen);
+               }
+               uint64_t bufbw = buffw;
+               // Slide the anchor out in either direction, alternating
+               // between right-to-left and left-to-right shifts, until all of
+               // the positions from qbegin to qend have been covered.
+               bool hi = false;
+               uint32_t riHi  = halfway;
+               uint32_t rirHi = halfway - begin;
+               uint32_t rirHiAnchor = rirHi + anchorBitPairs - 1;
+               uint32_t riLo  = halfway + 1;
+               uint32_t rirLo = halfway - begin + 1;
+               uint32_t lrSkips = anchorBitPairs;
+               uint32_t rlSkips = qlen;
+               if(!seedOnLeft && readSeedOverhang) {
+                       lrSkips += readSeedOverhang;
+                       assert_geq(rlSkips, readSeedOverhang);
+                       rlSkips -= readSeedOverhang;
+               }
+               for(uint32_t i = 1; i <= lim + 1; i++) {
+                       int r;       // new reference char
+                       uint64_t diff;
+                       assert_leq(skipLeftToRights, qlen);
+                       assert_leq(skipRightToLefts, qlen);
+                       if(hi) {
+                               hi = false;
+                               // Moving left-to-right
+                               riHi++;
+                               rirHi++;
+                               rirHiAnchor++;
+                               r = (int)ref[rirHiAnchor];
+                               if(r & 4) {
+                                       r = 0;
+                                       skipLeftToRights = lrSkips;
+                               }
+                               assert_lt(r, 4);
+                               // Bring in new base pair at the least significant
+                               // position
+                               buffw = ((buffw << 2llu) | r);
+                               if(useMask) buffw &= clearMask;
+                               if(skipLeftToRights > 0) {
+                                       skipLeftToRights--;
+                                       continue;
+                               }
+                               diff = buffw ^ anchor;
+                       } else {
+                               hi = true;
+                               // Moving right-to-left
+                               riLo--;
+                               rirLo--;
+                               r = (int)ref[rirLo];
+                               if(r & 4) {
+                                       r = 0;
+                                       skipRightToLefts = rlSkips;
+                               }
+                               assert_lt(r, 4);
+                               if(i >= 2) {
+                                       bufbw >>= 2llu;
+                                       // Bring in new base pair at the most significant
+                                       // position
+                                       bufbw |= ((uint64_t)r << lhsShift);
+                               }
+                               if(skipRightToLefts > 0) {
+                                       skipRightToLefts--;
+                                       continue;
+                               }
+                               diff = bufbw ^ anchor;
+                       }
+                       if(diff) continue;
+                       uint32_t ri  = hi ? riLo  : riHi;
+                       uint32_t rir = hi ? rirLo : rirHi;
+                       unsigned int ham = 0;
+                       // If the seed is longer than the anchor, then scan the
+                       // rest of the seed characters
+                       bool foundHit = true;
+                       if(seedAnchorOverhang) {
+                               for(uint32_t j = 0; j < seedAnchorOverhang; j++) {
+                                       int rc = (int)ref[rir + anchorBitPairs + j];
+                                       if(rc == 4) {
+                                               // Oops, encountered an N in the reference in
+                                               // the overhang portion of the candidate
+                                               // alignment
+                                               // (Note that we inverted hi earlier)
+                                               if(hi) {
+                                                       // Right-to-left
+                                                       // Skip out of the seedAnchorOverhang
+                                                       assert_eq(0, skipRightToLefts);
+                                                       skipRightToLefts = seedAnchorOverhang - j - 1;
+                                                       if(seedOnLeft) {
+                                                               // ...and skip out of the rest of the read
+                                                               skipRightToLefts += readSeedOverhang;
+                                                       }
+                                               } else {
+                                                       // Left-to-right
+                                                       // Skip out of the seedAnchorOverhang
+                                                       assert_eq(0, skipLeftToRights);
+                                                       skipLeftToRights = anchorBitPairs + j;
+                                                       if(!seedOnLeft) {
+                                                               // ...and skip out of the rest of the read
+                                                               skipLeftToRights += readSeedOverhang;
+                                                       }
+                                               }
+                                               foundHit = false; // Skip this candidate
+                                               break;
+                                       }
+                                       uint32_t qoff = anchorBitPairs + j;
+                                       if(!seedOnLeft) {
+                                               qoff += readSeedOverhang;
+                                       }
+                                       assert_lt(qoff, qlen);
+                                       if((int)qry[qoff] != rc) {
+                                               foundHit = false;
+                                               break;
+                                       }
+                               }
+                               if(!foundHit) continue;
+                       }
+                       // If the read is longer than the seed, then scan the rest
+                       // of the read characters; mismatches no longer count
+                       // toward the stratum or the 1-mm limit.
+                       // Vectors for holding edit information
+                       std::vector<uint32_t> nonSeedMms;
+                       std::vector<uint8_t> nonSeedRefcs;
+                       int mms = 0; // start counting total mismatches
+                       if((qlen - slen) > 0) {
+                               // Going left-to-right
+                               for(uint32_t j = 0; j < readSeedOverhang; j++) {
+                                       uint32_t roff = rir + slen + j;
+                                       uint32_t qoff = slen + j;
+                                       if(!seedOnLeft) {
+                                               assert_geq(roff, qlen);
+                                               roff -= qlen;
+                                               qoff = j;
+                                       }
+                                       int rc = (int)ref[roff];
+                                       if(rc == 4) {
+                                               // Oops, encountered an N in the reference in
+                                               // the overhang portion of the candidate
+                                               // alignment
+                                               // (Note that we inverted hi earlier)
+                                               if(hi) {
+                                                       // Right-to-left
+                                                       // Skip what's left of the readSeedOverhang
+                                                       skipRightToLefts = readSeedOverhang - j - 1;
+                                                       if(!seedOnLeft) {
+                                                               // ...and skip the seed if it's on the right
+                                                               skipRightToLefts += slen;
+                                                       }
+                                               } else {
+                                                       // Left-to-right
+                                                       // Skip what we've matched of the overhang
+                                                       skipLeftToRights = j;
+                                                       if(seedOnLeft) {
+                                                               // ...and skip the seed if it's on the left
+                                                               skipLeftToRights += slen;
+                                                       }
+                                               }
+                                               foundHit = false; // Skip this candidate
+                                               break;
+                                       }
+                                       if((int)qry[qoff] != rc) {
+                                               // Calculate quality of mismatched base
+                                               char q = phredCharToPhredQual(quals[qoff]);
+                                               ham += mmPenalty(this->maqPenalty_, q);
+                                               if(ham > this->qualMax_) {
+                                                       // Exceeded quality limit
+                                                       foundHit = false;
+                                                       break;
+                                               }
+                                               // Legal mismatch outside of the anchor; record it
+                                               mms++;
+                                               nonSeedMms.push_back(qoff);
+                                               assert_leq(nonSeedMms.size(), (size_t)mms);
+                                               nonSeedRefcs.push_back("ACGTN"[rc]);
+                                       }
+                               }
+                               if(!foundHit) continue;
+                       }
+                       assert(foundHit);
+                       // Adjust ri if seed is on the right-hand side
+                       if(!seedOnLeft) {
+                               ri -= readSeedOverhang;
+                               rir -= readSeedOverhang;
+                       }
+                       if(pairs != NULL) {
+                               TU64Pair p;
+                               if(ri < aoff) {
+                                       // By convention, the upstream mate's
+                                       // coordinates go in the 'first' field
+                                       p.first  = ((uint64_t)tidx << 32) | (uint64_t)ri;
+                                       p.second = ((uint64_t)tidx << 32) | (uint64_t)aoff;
+                               } else {
+                                       p.second = ((uint64_t)tidx << 32) | (uint64_t)ri;
+                                       p.first  = ((uint64_t)tidx << 32) | (uint64_t)aoff;
+                               }
+                               if(pairs->find(p) != pairs->end()) {
+                                       // We already found this hit!  Continue.
+                                       ASSERT_ONLY(duplicates++);
+                                       ASSERT_ONLY(r2i++);
+                                       continue;
+                               } else {
+                                       // Record this hit
+                                       pairs->insert(p);
+                               }
+                       }
+                       if(this->verbose_) {
+                               cout << "About to report seed0:" << endl;
+                               cout << "  ";
+                               for(size_t i = 0; i < qlen; i++) {
+                                       cout << (char)qry[i];
+                               }
+                               cout << endl;
+                               cout << "  ";
+                               for(size_t i = 0; i < qlen; i++) {
+                                       cout << "ACGT"[ref[rir+i]];
+                               }
+                               cout << endl;
+                       }
+                       assert_lt(r2i, r2.size());
+                       assert_eq(re2[r2i], ri);
+                       ranges.resize(ranges.size()+1);
+                       Range& range = ranges.back();
+                       assert_eq((size_t)mms, r2[r2i].numMms);
+                       range.stratum = 0;
+                       range.numMms = mms;
+                       assert_eq(0, range.mms.size());
+                       assert_eq(0, range.refcs.size());
+                       if(mms > 0) {
+                               ASSERT_ONLY(size_t mmcur = 0);
+                               const size_t nonSeedMmsSz = nonSeedMms.size();
+                               for(size_t i = 0; i < nonSeedMmsSz; i++) {
+                                       assert_neq(0xffffffff, nonSeedMms[i]);
+                                       assert_lt(mmcur, (size_t)mms);
+                                       assert_eq(nonSeedMms[i], r2[r2i].mms[mmcur]);
+                                       range.mms.push_back(nonSeedMms[i]);
+                                       assert_eq(nonSeedRefcs[i], r2[r2i].refcs[mmcur]);
+                                       ASSERT_ONLY(mmcur++);
+                                       range.refcs.push_back(nonSeedRefcs[i]);
+                               }
+                               assert_eq(mmcur, r2[r2i].mms.size());
+                       }
+                       assert_eq((size_t)mms, range.mms.size());
+                       assert_eq((size_t)mms, range.refcs.size());
+                       ASSERT_ONLY(r2i++);
+                       results.push_back(ri);
+                       if(--numToFind == 0) return;
+               }
+               assert_leq(duplicates, r2.size());
+               assert_geq(r2.size() - duplicates, ranges.size() - rangesInitSz);
+               return; // no hit
+       }
+};
+
+/**
+ * Concrete RefAligner for finding nearby 1-mismatch hits given an
+ * anchor hit.
+ */
+template<typename TStr>
+class Seed1RefAligner : public RefAligner<TStr> {
+
+       typedef seqan::String<seqan::Dna5> TDna5Str;
+       typedef seqan::String<char> TCharStr;
+       typedef std::vector<Range> TRangeVec;
+       typedef std::vector<uint32_t> TU32Vec;
+       typedef std::pair<uint64_t, uint64_t> TU64Pair;
+       typedef std::set<TU64Pair> TSetPairs;
+
+public:
+
+       Seed1RefAligner(bool color, bool verbose, bool quiet, uint32_t seedLen, uint32_t qualMax, bool maqPenalty) :
+               RefAligner<TStr>(color, verbose, quiet, seedLen, qualMax, maqPenalty) { }
+
+       virtual ~Seed1RefAligner() { }
+
+protected:
+       /**
+        * This schematic shows the roles played by the begin, qbegin, end,
+        * qend, halfway, slen, qlen, and lim variables:
+        *
+        * seedOnLeft == true:
+        *
+        * |<                   lim                   >|<     qlen       >|
+        *  --------------------------------------------------------------
+        * |                     | slen | qlen-slen |  | slen | qlen-slen |
+        *  --------------------------------------------------------------
+        * ^                     ^                     ^                  ^
+        * begin & qbegin     halfway                qend               end
+        *
+        * seedOnLeft == false:
+        *
+        * |<     qlen       >|<                   lim                   >|
+        *  --------------------------------------------------------------
+        * | qlen-slen | slen |  | qlen-slen | slen |                     |
+        *  --------------------------------------------------------------
+        * ^                  ^                     ^                     ^
+        * begin            qbegin             halfway           qend & end
+        *
+        * Note that, for seeds longer than 32 base-pairs, the seed is
+        * further subdivided into a 32-bit anchor and a seed overhang of
+        * length > 0.
+        */
+       void naiveFind(uint32_t numToFind,
+                                  uint32_t tidx,
+                                  uint8_t* ref,
+                                  const TDna5Str& qry,
+                                  const TCharStr& quals,
+                                  uint32_t begin,
+                                  uint32_t end,
+                                  TRangeVec& ranges,
+                                  TU32Vec& results,
+                                  TSetPairs* pairs,
+                                  uint32_t aoff,
+                                  bool seedOnLeft) const
+       {
+               assert_gt(numToFind, 0);
+               assert_gt(end, begin);
+               const uint32_t qlen = seqan::length(qry);
+               assert_gt(qlen, 0);
+               assert_geq(end - begin, qlen); // caller should have checked this
+               assert_gt(this->seedLen_, 0);
+               const uint32_t slen = min(qlen, this->seedLen_);
+               uint32_t qend = end;
+               uint32_t qbegin = begin;
+               // If the seed is on the left-hand side of the alignment, then
+               // leave a gap at the right-hand side of the interval;
+               // otherwise, do the opposite
+               if(seedOnLeft) {
+                       // Leave gap on right-hand side of the interval
+                       qend -= qlen;
+               } else {
+                       // Leave gap on left-hand side of the interval
+                       qbegin += qlen;
+               }
+               // lim = number of alignments to try
+               const uint32_t lim = qend - qbegin;
+               // halfway = position in the reference to start at (and then
+               // we work our way out to the right and to the left).
+               const uint32_t halfway = qbegin + (lim >> 1);
+               // Vectors for holding edit information
+               std::vector<uint32_t> nonSeedMms;
+               assert_eq(0, nonSeedMms.size());
+               std::vector<uint8_t> nonSeedRefcs;
+               assert_eq(0, nonSeedRefcs.size());
+               bool hi = false;
+               for(uint32_t i = 1; i <= lim+1; i++) {
+                       uint32_t ri;  // leftmost position in candidate alignment
+                       uint32_t rir; // same, minus begin; for indexing into ref[]
+                       if(hi) {
+                               ri = halfway + (i >> 1); rir = ri - begin;
+                               assert_leq(ri, qend);
+                       } else {
+                               ri = halfway - (i >> 1); rir = ri - begin;
+                               assert_geq(ri, begin);
+                       }
+                       hi = !hi;
+                       // Do the naive comparison
+                       bool match = true;
+                       int refc = -1;
+                       uint32_t mmOff = 0xffffffff;
+                       int mms = 0;
+                       int seedMms = 0;
+                       unsigned int ham = 0;
+                       nonSeedMms.clear();
+                       nonSeedRefcs.clear();
+                       // Walk through each position of the alignment
+                       for(uint32_t jj = 0; jj < qlen; jj++) {
+                               uint32_t j = jj;
+                               if(!seedOnLeft) {
+                                       // If seed is on the right, scan right-to-left
+                                       j = qlen - jj - 1;
+                               } else {
+                                       // Go left-to-right
+                               }
+                               uint32_t rirj = rir + j;
+                               if(!seedOnLeft) {
+                                       assert_geq(rir, jj);
+                                       rirj = rir - jj - 1;
+                               }
+#if 0
+                               // Count Ns in the reference as mismatches
+                               const int q = (int)qry[j];
+                               const int r = (int)ref[rirj];
+                               assert_leq(q, 4);
+                               assert_leq(r, 4);
+                               if(q == 4 || r == 4 || q != r) {
+#else
+                               // Disallow alignments that involve an N in the
+                               // reference
+                               const int r = (int)ref[rirj];
+                               if(r & 4) {
+                                       // N in reference; bail on this alignment
+                                       match = false;
+                                       break;
+                               }
+                               const int q = (int)qry[j];
+                               assert_leq(q, 4);
+                               assert_lt(r, 4);
+                               if(q != r) {
+#endif
+                                       // Mismatch!
+                                       mms++;
+                                       if(mms > 1 && jj < slen) {
+                                               // More than one mismatch in the anchor; reject
+                                               match = false;
+                                               break;
+                                       }
+                                       uint8_t qual = phredCharToPhredQual(quals[j]);
+                                       ham += mmPenalty(this->maqPenalty_, qual);
+                                       if(ham > this->qualMax_) {
+                                               // Exceeded quality ceiling; reject
+                                               match = false;
+                                               break;
+                                       } else if(jj < slen) {
+                                               // First mismatch in the anchor; remember offset
+                                               // and ref char
+                                               refc = "ACGTN"[r];
+                                               mmOff = j;
+                                               seedMms = 1;
+                                       } else {
+                                               // Legal mismatch outside of the anchor; record it
+                                               nonSeedMms.push_back(j);
+                                               assert_leq(nonSeedMms.size(), (size_t)mms);
+                                               nonSeedRefcs.push_back("ACGTN"[r]);
+                                       }
+                               }
+                       }
+                       if(match) {
+                               ranges.resize(ranges.size()+1);
+                               Range& range = ranges.back();
+                               assert_leq(seedMms, mms);
+                               range.stratum = seedMms;
+                               range.numMms = mms;
+                               assert_eq(0, range.mms.size());
+                               assert_eq(0, range.refcs.size());
+                               if(mms >= 1) {
+                                       // Be careful to add edits in left-to-right order
+                                       // with respect to the read/alignment
+                                       if(seedOnLeft && seedMms) {
+                                               assert_lt(mmOff, qlen);
+                                               range.mms.push_back(mmOff);
+                                               range.refcs.push_back(refc);
+                                       }
+                                       const size_t nonSeedMmsSz = nonSeedMms.size();
+                                       if(nonSeedMmsSz > 0) {
+                                               if(seedOnLeft) {
+                                                       for(size_t k = 0; k < nonSeedMmsSz; k++) {
+                                                               range.mms.push_back(nonSeedMms[k]);
+                                                               range.refcs.push_back(nonSeedRefcs[k]);
+                                                       }
+                                               } else {
+                                                       for(size_t k = nonSeedMmsSz; k > 0; k--) {
+                                                               range.mms.push_back(nonSeedMms[k-1]);
+                                                               range.refcs.push_back(nonSeedRefcs[k-1]);
+                                                       }
+                                               }
+                                       }
+                                       if(!seedOnLeft && seedMms) {
+                                               assert_lt(mmOff, qlen);
+                                               range.mms.push_back(mmOff);
+                                               range.refcs.push_back(refc);
+                                       }
+                               }
+                               assert_eq((size_t)mms, range.mms.size());
+                               assert_eq((size_t)mms, range.refcs.size());
+                               if(seedOnLeft) {
+                                       results.push_back(ri);
+                               } else {
+                                       results.push_back(ri - qlen);
+                               }
+                       }
+               }
+               return;
+       }
+
+       /**
+        * This schematic shows the roles played by the begin, qbegin, end,
+        * qend, halfway, slen, qlen, and lim variables:
+        *
+        * seedOnLeft == true:
+        *
+        * |<                   lim                   >|<     qlen       >|
+        *  --------------------------------------------------------------
+        * |                     | slen | qlen-slen |  | slen | qlen-slen |
+        *  --------------------------------------------------------------
+        * ^                     ^                     ^                  ^
+        * begin & qbegin     halfway                qend               end
+        *
+        * seedOnLeft == false:
+        *
+        *             |<                   lim                   >|
+        *  --------------------------------------------------------------
+        * | qlen-slen |         | qlen-slen | slen |              | slen |
+        *  --------------------------------------------------------------
+        * ^           ^                     ^                     ^      ^
+        * begin       qbegin             halfway                qend   end
+        *
+        * Note that, for seeds longer than 32 base-pairs, the seed is
+        * further subdivided into a 32-bit anchor and a seed overhang of
+        * length > 0.
+        */
+       virtual void anchor64Find(uint32_t numToFind,
+                                       uint32_t tidx,
+                                       uint8_t* ref,
+                                       const TDna5Str& qry,
+                                       const TCharStr& quals,
+                                       uint32_t begin,
+                                       uint32_t end,
+                                       TRangeVec& ranges,
+                                       TU32Vec& results,
+                                       TSetPairs* pairs = NULL,
+                                       uint32_t aoff = 0xffffffff,
+                                       bool seedOnLeft = false) const
+       {
+               assert_gt(numToFind, 0);
+               ASSERT_ONLY(const uint32_t rangesInitSz = ranges.size());
+               ASSERT_ONLY(uint32_t duplicates = 0);
+               ASSERT_ONLY(uint32_t r2i = 0);
+               const uint32_t qlen = seqan::length(qry);
+               assert_gt(qlen, 0);
+               assert_gt(end, begin);
+               assert_geq(end - begin, qlen); // caller should have checked this
+               assert_gt(this->seedLen_, 0);
+               uint32_t slen = min(qlen, this->seedLen_);
+#ifndef NDEBUG
+               // Get results from the naive matcher for sanity-checking
+               TRangeVec r2; TU32Vec re2;
+               naiveFind(numToFind, tidx, ref, qry, quals, begin, end, r2,
+                                 re2, pairs, aoff, seedOnLeft);
+#endif
+               const uint32_t anchorBitPairs = min<int>(slen, 32);
+               const int lhsShift = ((anchorBitPairs - 1) << 1);
+               const uint32_t anchorCushion  = 32 - anchorBitPairs;
+               // seedAnchorOverhang = # seed bases not included in the anchor
+               const uint32_t seedAnchorOverhang = (slen <= anchorBitPairs ? 0 : (slen - anchorBitPairs));
+               // seedAnchorOverhang = # seed bases not included in the anchor
+               const uint32_t readSeedOverhang = (slen == qlen ? 0 : (qlen - slen));
+               assert(anchorCushion == 0 || seedAnchorOverhang == 0);
+               assert_eq(qlen, readSeedOverhang + slen);
+               uint32_t qend = end;
+               uint32_t qbegin = begin;
+               if(seedOnLeft) {
+                       // Leave read-sized gap on right-hand side of the interval
+                       qend -= qlen;
+               } else {
+                       // Leave seed-sized gap on right-hand side and
+                       // non-seed-sized gap on the left-hand side
+                       qbegin += readSeedOverhang;
+                       qend -= slen;
+               }
+               // lim = # possible alignments in the range
+               const uint32_t lim = qend - qbegin;
+               // halfway = point on the genome to radiate out from
+               const uint32_t halfway = qbegin + (lim >> 1);
+               uint64_t anchor = 0llu;
+               uint64_t buffw = 0llu;  // rotating ref sequence buffer
+               // OR the 'diff' buffer with this so that we can always count
+               // 'N's as mismatches
+               uint64_t diffMask = 0llu;
+               // Set up a mask that we'll apply to the two bufs every round
+               // to discard bits that were rotated out of the anchor area
+               uint64_t clearMask = 0xffffffffffffffffllu;
+               bool useMask = false;
+               if(anchorBitPairs < 32) {
+                       clearMask >>= ((32-anchorBitPairs) << 1);
+                       useMask = true;
+               }
+               int nsInSeed = 0;
+               int nPos = -1;
+               uint32_t skipLeftToRights = 0;
+               uint32_t skipRightToLefts = 0;
+               const uint32_t halfwayRi = halfway - begin;
+               // Construct the 'anchor' 64-bit buffer so that it holds all of
+               // the first 'anchorBitPairs' bit pairs of the query.
+               for(uint32_t ii = 0; ii < anchorBitPairs; ii++) {
+                       uint32_t i = ii;
+                       if(!seedOnLeft) {
+                               // Fill in the anchor using characters from the right-
+                               // hand side of the query (but take the characters in
+                               // left-to-right order)
+                               i = qlen - slen + ii;
+                       }
+                       int c = (int)qry[i]; // next query character
+                       int r = (int)ref[halfwayRi + ii]; // next reference character
+                       if(r & 4) {
+                               // The reference character is an N; to mimic the
+                               // behavior of BW alignment, we have to skip all
+                               // alignments that involve an N in the reference.  Set
+                               // the skip* variables accordingly.
+                               r = 0;
+                               uint32_t lrSkips = ii;
+                               uint32_t rlSkips = qlen - ii;
+                               if(!seedOnLeft && readSeedOverhang) {
+                                       lrSkips += readSeedOverhang;
+                                       assert_geq(rlSkips, readSeedOverhang);
+                                       rlSkips -= readSeedOverhang;
+                               }
+                               // The right-to-left direction absorbs the candidate
+                               // alignment based at 'halfway'
+                               skipLeftToRights = max(skipLeftToRights, lrSkips);
+                               skipRightToLefts = max(skipRightToLefts, rlSkips);
+                               assert_leq(skipLeftToRights, qlen);
+                               assert_leq(skipRightToLefts, qlen);
+                       }
+                       assert_leq(c, 4);
+                       assert_lt(r, 4);
+                       // Special case: query has an 'N'
+                       if(c == 4) {
+                               if(++nsInSeed > 1) {
+                                       // More than one 'N' in the anchor region; can't
+                                       // possibly have a 1-mismatch hit anywhere
+                                       assert_eq(r2.size(), ranges.size() - rangesInitSz);
+                                       return;   // can't match if query has Ns
+                               }
+                               nPos = (int)ii; // w/r/t LHS of anchor
+                               // Make it look like an 'A' in the anchor
+                               c = 0;
+                               diffMask = (diffMask << 2llu) | 1llu;
+                       } else {
+                               diffMask <<= 2llu;
+                       }
+                       anchor = ((anchor << 2llu) | c);
+                       buffw = ((buffw << 2llu) | r);
+               }
+               // Check whether read is disqualified by Ns inside the seed
+               // region but outside the anchor region
+               if(seedAnchorOverhang) {
+                       assert_lt(anchorBitPairs, slen);
+                       for(uint32_t ii = anchorBitPairs; ii < slen; ii++) {
+                               uint32_t i = ii;
+                               if(!seedOnLeft) {
+                                       i = qlen - slen + ii;
+                               }
+                               if((int)qry[i] == 4) {
+                                       if(++nsInSeed > 1) {
+                                               assert_eq(r2.size(), ranges.size() - rangesInitSz);
+                                               return; // can't match if query has Ns
+                                       }
+                               }
+                       }
+               } else {
+                       assert_eq(anchorBitPairs, slen);
+               }
+               uint64_t bufbw = buffw;
+               // Slide the anchor out in either direction, alternating
+               // between right-to-left and left-to-right shifts, until all of
+               // the positions from qbegin to qend have been covered.
+               bool hi = false;
+               uint32_t riHi  = halfway;
+               uint32_t rirHi = halfway - begin;
+               uint32_t rirHiAnchor = rirHi + anchorBitPairs - 1;
+               uint32_t riLo  = halfway + 1;
+               uint32_t rirLo = halfway - begin + 1;
+               uint32_t lrSkips = anchorBitPairs;
+               uint32_t rlSkips = qlen;
+               if(!seedOnLeft && readSeedOverhang) {
+                       lrSkips += readSeedOverhang;
+                       assert_geq(rlSkips, readSeedOverhang);
+                       rlSkips -= readSeedOverhang;
+               }
+               for(uint32_t i = 1; i <= lim + 1; i++) {
+                       int r;       // new reference char
+                       uint64_t diff;
+                       assert_leq(skipLeftToRights, qlen);
+                       assert_leq(skipRightToLefts, qlen);
+                       if(hi) {
+                               hi = false;
+                               // Moving left-to-right
+                               riHi++;
+                               rirHi++;
+                               rirHiAnchor++;
+                               r = (int)ref[rirHiAnchor];
+                               if(r & 4) {
+                                       r = 0;
+                                       skipLeftToRights = lrSkips;
+                               }
+                               assert_lt(r, 4);
+                               // Bring in new base pair at the least significant
+                               // position
+                               buffw = ((buffw << 2llu) | r);
+                               if(useMask) buffw &= clearMask;
+                               if(skipLeftToRights > 0) {
+                                       skipLeftToRights--;
+                                       continue;
+                               }
+                               diff = (buffw ^ anchor) | diffMask;
+                       } else {
+                               hi = true;
+                               // Moving right-to-left
+                               riLo--;
+                               rirLo--;
+                               r = (int)ref[rirLo];
+                               if(r & 4) {
+                                       r = 0;
+                                       skipRightToLefts = rlSkips;
+                               }
+                               assert_lt(r, 4);
+                               if(i >= 2) {
+                                       bufbw >>= 2llu;
+                                       // Bring in new base pair at the most significant
+                                       // position
+                                       bufbw |= ((uint64_t)r << lhsShift);
+                               }
+                               if(skipRightToLefts > 0) {
+                                       skipRightToLefts--;
+                                       continue;
+                               }
+                               diff = (bufbw ^ anchor) | diffMask;
+                       }
+                       if((diff & 0xffffffff00000000llu) &&
+                          (diff & 0x00000000ffffffffllu)) continue;
+                       uint32_t ri  = hi ? riLo  : riHi;
+                       uint32_t rir = hi ? rirLo : rirHi;
+                       // Could use pop count
+                       uint8_t *diff8 = reinterpret_cast<uint8_t*>(&diff);
+                       // As a first cut, see if there are too many mismatches in
+                       // the first and last parts of the anchor
+                       uint32_t diffs = u8toMms[(int)diff8[0]] + u8toMms[(int)diff8[7]];
+                       if(diffs > 1) continue;
+                       diffs += u8toMms[(int)diff8[1]] +
+                                        u8toMms[(int)diff8[2]] +
+                                        u8toMms[(int)diff8[3]] +
+                                        u8toMms[(int)diff8[4]] +
+                                        u8toMms[(int)diff8[5]] +
+                                        u8toMms[(int)diff8[6]];
+                       uint32_t mmpos = 0xffffffff;
+                       int refc = -1;
+                       unsigned int ham = 0;
+                       if(diffs > 1) {
+                               // Too many differences in the seed; stop
+                               continue;
+                       } else if(diffs == 1 && nPos != -1) {
+                               // There was one difference, but there was also one N,
+                               // so we already know where the difference is
+                               mmpos = nPos;
+                               assert_lt(mmpos, anchorBitPairs);
+                               refc = "ACGT"[(int)ref[rir + nPos]];
+                               if(!seedOnLeft) {
+                                       mmpos += readSeedOverhang;
+                               }
+                               char q = quals[mmpos];
+                               ham += mmPenalty(this->maqPenalty_, phredCharToPhredQual(q));
+                               if(ham > this->qualMax_) {
+                                       // Exceeded quality limit
+                                       continue;
+                               }
+                       } else if(diffs == 1) {
+                               // Figure out which position mismatched
+                               mmpos = 31;
+                               if((diff & 0xffffffffllu) == 0) { diff >>= 32llu; mmpos -= 16; }
+                               assert_neq(0, diff);
+                               if((diff & 0xffffllu) == 0)     { diff >>= 16llu; mmpos -=  8; }
+                               assert_neq(0, diff);
+                               if((diff & 0xffllu) == 0)       { diff >>= 8llu;  mmpos -=  4; }
+                               assert_neq(0, diff);
+                               if((diff & 0xfllu) == 0)        { diff >>= 4llu;  mmpos -=  2; }
+                               assert_neq(0, diff);
+                               if((diff & 0x3llu) == 0)        { mmpos--; }
+                               assert_neq(0, diff);
+                               assert_geq(mmpos, 0);
+                               assert_lt(mmpos, 32);
+                               mmpos -= anchorCushion;
+                               assert_lt(mmpos, anchorBitPairs);
+                               refc = "ACGT"[(int)ref[rir + mmpos]];
+                               if(!seedOnLeft) {
+                                       mmpos += readSeedOverhang;
+                               }
+                               char q = quals[mmpos];
+                               ham += mmPenalty(this->maqPenalty_, phredCharToPhredQual(q));
+                               if(ham > this->qualMax_) {
+                                       // Exceeded quality limit
+                                       continue;
+                               }
+                       }
+                       // If the seed is longer than the anchor, then scan the
+                       // rest of the seed characters
+                       bool foundHit = true;
+                       if(seedAnchorOverhang) {
+                               for(uint32_t j = 0; j < seedAnchorOverhang; j++) {
+                                       int rc = (int)ref[rir + anchorBitPairs + j];
+                                       if(rc == 4) {
+                                               // Oops, encountered an N in the reference in
+                                               // the overhang portion of the candidate
+                                               // alignment
+                                               // (Note that we inverted hi earlier)
+                                               if(hi) {
+                                                       // Right-to-left
+                                                       // Skip out of the seedAnchorOverhang
+                                                       assert_eq(0, skipRightToLefts);
+                                                       skipRightToLefts = seedAnchorOverhang - j - 1;
+                                                       if(seedOnLeft) {
+                                                               // ...and skip out of the rest of the read
+                                                               skipRightToLefts += readSeedOverhang;
+                                                       }
+                                               } else {
+                                                       // Left-to-right
+                                                       // Skip out of the seedAnchorOverhang
+                                                       assert_eq(0, skipLeftToRights);
+                                                       skipLeftToRights = anchorBitPairs + j;
+                                                       if(!seedOnLeft) {
+                                                               // ...and skip out of the rest of the read
+                                                               skipLeftToRights += readSeedOverhang;
+                                                       }
+                                               }
+                                               foundHit = false; // Skip this candidate
+                                               break;
+                                       }
+                                       uint32_t qoff = anchorBitPairs + j;
+                                       if(!seedOnLeft) {
+                                               qoff += readSeedOverhang;
+                                       }
+                                       assert_lt(qoff, qlen);
+                                       if((int)qry[qoff] != rc) {
+                                               if(++diffs > 1) {
+                                                       foundHit = false;
+                                                       break;
+                                               } else {
+                                                       assert_eq(0xffffffff, mmpos);
+                                                       mmpos = qoff;
+                                                       assert_eq(-1, refc);
+                                                       refc = "ACGT"[(int)ref[rir + anchorBitPairs + j]];
+                                                       char q = phredCharToPhredQual(quals[qoff]);
+                                                       ham += mmPenalty(this->maqPenalty_, q);
+                                                       if(ham > this->qualMax_) {
+                                                               // Exceeded quality limit
+                                                               foundHit = false;
+                                                               break;
+                                                       }
+                                               }
+                                       }
+                               }
+                               if(!foundHit) continue;
+                       }
+                       // If the read is longer than the seed, then scan the rest
+                       // of the read characters; mismatches no longer count
+                       // toward the stratum or the 1-mm limit.
+                       // Vectors for holding edit information
+                       std::vector<uint32_t> nonSeedMms;
+                       std::vector<uint8_t> nonSeedRefcs;
+                       int mms = diffs; // start counting total mismatches
+                       if((qlen - slen) > 0) {
+                               // Going left-to-right
+                               for(uint32_t j = 0; j < readSeedOverhang; j++) {
+                                       uint32_t roff = rir + slen + j;
+                                       uint32_t qoff = slen + j;
+                                       if(!seedOnLeft) {
+                                               assert_geq(roff, qlen);
+                                               roff -= qlen;
+                                               qoff = j;
+                                       }
+                                       int rc = (int)ref[roff];
+                                       if(rc == 4) {
+                                               // Oops, encountered an N in the reference in
+                                               // the overhang portion of the candidate
+                                               // alignment
+                                               // (Note that we inverted hi earlier)
+                                               if(hi) {
+                                                       // Right-to-left
+                                                       // Skip what's left of the readSeedOverhang
+                                                       skipRightToLefts = readSeedOverhang - j - 1;
+                                                       if(!seedOnLeft) {
+                                                               // ...and skip the seed if it's on the right
+                                                               skipRightToLefts += slen;
+                                                       }
+                                               } else {
+                                                       // Left-to-right
+                                                       // Skip what we've matched of the overhang
+                                                       skipLeftToRights = j;
+                                                       if(seedOnLeft) {
+                                                               // ...and skip the seed if it's on the left
+                                                               skipLeftToRights += slen;
+                                                       }
+                                               }
+                                               foundHit = false; // Skip this candidate
+                                               break;
+                                       }
+                                       if((int)qry[qoff] != rc) {
+                                               // Calculate quality of mismatched base
+                                               char q = phredCharToPhredQual(quals[qoff]);
+                                               ham += mmPenalty(this->maqPenalty_, q);
+                                               if(ham > this->qualMax_) {
+                                                       // Exceeded quality limit
+                                                       foundHit = false;
+                                                       break;
+                                               }
+                                               // Legal mismatch outside of the anchor; record it
+                                               mms++;
+                                               nonSeedMms.push_back(qoff);
+                                               assert_leq(nonSeedMms.size(), (size_t)mms);
+                                               nonSeedRefcs.push_back("ACGTN"[rc]);
+                                       }
+                               }
+                               if(!foundHit) continue;
+                       }
+                       assert(foundHit);
+                       // Adjust ri if seed is on the right-hand side
+                       if(!seedOnLeft) {
+                               ri -= readSeedOverhang;
+                               rir -= readSeedOverhang;
+                       }
+                       if(pairs != NULL) {
+                               TU64Pair p;
+                               if(ri < aoff) {
+                                       // By convention, the upstream mate's
+                                       // coordinates go in the 'first' field
+                                       p.first  = ((uint64_t)tidx << 32) | (uint64_t)ri;
+                                       p.second = ((uint64_t)tidx << 32) | (uint64_t)aoff;
+                               } else {
+                                       p.second = ((uint64_t)tidx << 32) | (uint64_t)ri;
+                                       p.first  = ((uint64_t)tidx << 32) | (uint64_t)aoff;
+                               }
+                               if(pairs->find(p) != pairs->end()) {
+                                       // We already found this hit!  Continue.
+                                       ASSERT_ONLY(duplicates++);
+                                       ASSERT_ONLY(r2i++);
+                                       continue;
+                               } else {
+                                       // Record this hit
+                                       pairs->insert(p);
+                               }
+                       }
+                       if(this->verbose_) {
+                               cout << "About to report:" << endl;
+                               cout << "  ";
+                               for(size_t i = 0; i < qlen; i++) {
+                                       cout << (char)qry[i];
+                               }
+                               cout << endl;
+                               cout << "  ";
+                               for(size_t i = 0; i < qlen; i++) {
+                                       cout << "ACGT"[ref[rir+i]];
+                               }
+                               cout << endl;
+                       }
+                       assert_leq(diffs, 1);
+                       assert_geq((size_t)mms, diffs);
+                       assert_lt(r2i, r2.size());
+                       assert_eq(re2[r2i], ri);
+                       ranges.resize(ranges.size()+1);
+                       Range& range = ranges.back();
+                       assert_eq((size_t)mms, r2[r2i].numMms);
+                       range.stratum = diffs;
+                       range.numMms = mms;
+                       assert_eq(0, range.mms.size());
+                       assert_eq(0, range.refcs.size());
+                       if(mms > 0) {
+                               ASSERT_ONLY(size_t mmcur = 0);
+                               if(seedOnLeft && diffs > 0) {
+                                       assert_neq(mmpos, 0xffffffff);
+                                       assert_lt(mmpos, qlen);
+                                       assert_lt(mmcur, (size_t)mms);
+                                       assert_eq(mmpos, r2[r2i].mms[mmcur]);
+                                       assert_neq(-1, refc);
+                                       assert_eq(refc, r2[r2i].refcs[mmcur]);
+                                       ASSERT_ONLY(mmcur++);
+                                       range.mms.push_back(mmpos);
+                                       range.refcs.push_back(refc);
+                               }
+                               const size_t nonSeedMmsSz = nonSeedMms.size();
+                               for(size_t i = 0; i < nonSeedMmsSz; i++) {
+                                       assert_neq(0xffffffff, nonSeedMms[i]);
+                                       assert_lt(mmcur, (size_t)mms);
+                                       assert_eq(nonSeedMms[i], r2[r2i].mms[mmcur]);
+                                       range.mms.push_back(nonSeedMms[i]);
+                                       assert_eq(nonSeedRefcs[i], r2[r2i].refcs[mmcur]);
+                                       ASSERT_ONLY(mmcur++);
+                                       range.refcs.push_back(nonSeedRefcs[i]);
+                               }
+                               if(!seedOnLeft && diffs > 0) {
+                                       assert_neq(mmpos, 0xffffffff);
+                                       assert_lt(mmpos, qlen);
+                                       assert_lt(mmcur, (size_t)mms);
+                                       assert_eq(mmpos, r2[r2i].mms[mmcur]);
+                                       assert_neq(-1, refc);
+                                       assert_eq(refc, r2[r2i].refcs[mmcur]);
+                                       ASSERT_ONLY(mmcur++);
+                                       range.mms.push_back(mmpos);
+                                       range.refcs.push_back(refc);
+                               }
+                               assert_eq(mmcur, r2[r2i].mms.size());
+                       }
+                       assert_eq((size_t)mms, range.mms.size());
+                       assert_eq((size_t)mms, range.refcs.size());
+                       ASSERT_ONLY(r2i++);
+                       results.push_back(ri);
+                       if(--numToFind == 0) return;
+               }
+               assert_leq(duplicates, r2.size());
+               assert_geq(r2.size() - duplicates, ranges.size() - rangesInitSz);
+               return; // no hit
+       }
+};
+
+/**
+ * Concrete RefAligner for finding nearby 2-mismatch hits given an
+ * anchor hit.
+ */
+template<typename TStr>
+class Seed2RefAligner : public RefAligner<TStr> {
+
+       typedef seqan::String<seqan::Dna5> TDna5Str;
+       typedef seqan::String<char> TCharStr;
+       typedef std::vector<Range> TRangeVec;
+       typedef std::vector<uint32_t> TU32Vec;
+       typedef std::pair<uint64_t, uint64_t> TU64Pair;
+       typedef std::set<TU64Pair> TSetPairs;
+
+public:
+
+       Seed2RefAligner(bool color, bool verbose, bool quiet, uint32_t seedLen, uint32_t qualMax, bool maqPenalty) :
+               RefAligner<TStr>(color, verbose, quiet, seedLen, qualMax, maqPenalty) { }
+
+       virtual ~Seed2RefAligner() { }
+
+protected:
+       /**
+        * This schematic shows the roles played by the begin, qbegin, end,
+        * qend, halfway, slen, qlen, and lim variables:
+        *
+        * seedOnLeft == true:
+        *
+        * |<                   lim                   >|<     qlen       >|
+        *  --------------------------------------------------------------
+        * |                     | slen | qlen-slen |  | slen | qlen-slen |
+        *  --------------------------------------------------------------
+        * ^                     ^                     ^                  ^
+        * begin & qbegin     halfway                qend               end
+        *
+        * seedOnLeft == false:
+        *
+        * |<     qlen       >|<                   lim                   >|
+        *  --------------------------------------------------------------
+        * | qlen-slen | slen |  | qlen-slen | slen |                     |
+        *  --------------------------------------------------------------
+        * ^                  ^                     ^                     ^
+        * begin            qbegin             halfway           qend & end
+        *
+        * Note that, for seeds longer than 32 base-pairs, the seed is
+        * further subdivided into a 32-bit anchor and a seed overhang of
+        * length > 0.
+        */
+       void naiveFind(uint32_t numToFind,
+                                  uint32_t tidx,
+                                  uint8_t* ref,
+                                  const TDna5Str& qry,
+                                  const TCharStr& quals,
+                                  uint32_t begin,
+                                  uint32_t end,
+                                  TRangeVec& ranges,
+                                  TU32Vec& results,
+                                  TSetPairs* pairs,
+                                  uint32_t aoff,
+                                  bool seedOnLeft) const
+       {
+               assert_gt(numToFind, 0);
+               assert_gt(end, begin);
+               const uint32_t qlen = seqan::length(qry);
+               assert_gt(qlen, 0);
+               assert_geq(end - begin, qlen); // caller should have checked this
+               assert_gt(this->seedLen_, 0);
+               const uint32_t slen = min(qlen, this->seedLen_);
+               uint32_t qend = end;
+               uint32_t qbegin = begin;
+               // If the seed is on the left-hand side of the alignment, then
+               // leave a gap at the right-hand side of the interval;
+               // otherwise, do the opposite
+               if(seedOnLeft) {
+                       // Leave gap on right-hand side of the interval
+                       qend -= qlen;
+               } else {
+                       // Leave gap on left-hand side of the interval
+                       qbegin += qlen;
+               }
+               // lim = number of alignments to try
+               const uint32_t lim = qend - qbegin;
+               // halfway = position in the reference to start at (and then
+               // we work our way out to the right and to the left).
+               const uint32_t halfway = qbegin + (lim >> 1);
+               // Vectors for holding edit information
+               std::vector<uint32_t> nonSeedMms;
+               std::vector<uint8_t> nonSeedRefcs;
+               bool hi = false;
+               for(uint32_t i = 1; i <= lim+1; i++) {
+                       uint32_t ri;  // leftmost position in candidate alignment
+                       uint32_t rir; // same, minus begin; for indexing into ref[]
+                       if(hi) {
+                               ri = halfway + (i >> 1); rir = ri - begin;
+                               assert_leq(ri, qend);
+                       } else {
+                               ri = halfway - (i >> 1); rir = ri - begin;
+                               assert_geq(ri, begin);
+                       }
+                       hi = !hi;
+                       // Do the naive comparison
+                       bool match = true;
+                       int refc1 = -1;
+                       uint32_t mmOff1 = 0xffffffff;
+                       int refc2 = -1;
+                       uint32_t mmOff2 = 0xffffffff;
+                       int mms = 0;
+                       int seedMms = 0;
+                       unsigned int ham = 0;
+                       nonSeedMms.clear();
+                       nonSeedRefcs.clear();
+                       // Walk through each position of the alignment
+                       for(uint32_t jj = 0; jj < qlen; jj++) {
+                               uint32_t j = jj;
+                               if(!seedOnLeft) {
+                                       // If seed is on the right, scan right-to-left
+                                       j = qlen - jj - 1;
+                               } else {
+                                       // Go left-to-right
+                               }
+                               uint32_t rirj = rir + j;
+                               if(!seedOnLeft) {
+                                       assert_geq(rir, jj);
+                                       rirj = rir - jj - 1;
+                               }
+#if 0
+                               // Count Ns in the reference as mismatches
+                               const int q = (int)qry[j];
+                               const int r = (int)ref[rirj];
+                               assert_leq(q, 4);
+                               assert_leq(r, 4);
+                               if(q == 4 || r == 4 || q != r) {
+#else
+                               // Disallow alignments that involve an N in the
+                               // reference
+                               const int r = (int)ref[rirj];
+                               if(r & 4) {
+                                       // N in reference; bail on this alignment
+                                       match = false;
+                                       break;
+                               }
+                               const int q = (int)qry[j];
+                               assert_leq(q, 4);
+                               assert_lt(r, 4);
+                               if(q != r) {
+#endif
+                                       // Mismatch!
+                                       mms++;
+                                       if(mms > 2 && jj < slen) {
+                                               // More than one mismatch in the anchor; reject
+                                               match = false;
+                                               break;
+                                       }
+                                       uint8_t qual = phredCharToPhredQual(quals[j]);
+                                       ham += mmPenalty(this->maqPenalty_, qual);
+                                       if(ham > this->qualMax_) {
+                                               // Exceeded quality ceiling; reject
+                                               match = false;
+                                               break;
+                                       } else if(mms == 1 && jj < slen) {
+                                               // First mismatch in the anchor; remember offset
+                                               // and ref char
+                                               refc1 = "ACGTN"[r];
+                                               mmOff1 = j;
+                                               seedMms = 1;
+                                       } else if(mms == 2 && jj < slen) {
+                                               // Second mismatch in the anchor; remember offset
+                                               // and ref char
+                                               refc2 = "ACGTN"[r];
+                                               mmOff2 = j;
+                                               seedMms = 2;
+                                       } else {
+                                               // Legal mismatch outside of the anchor; record it
+                                               nonSeedMms.push_back(j);
+                                               assert_leq(nonSeedMms.size(), (size_t)mms);
+                                               nonSeedRefcs.push_back("ACGTN"[r]);
+                                       }
+                               }
+                       }
+                       if(match) {
+                               ranges.resize(ranges.size()+1);
+                               Range& range = ranges.back();
+                               assert_leq(seedMms, mms);
+                               range.stratum = seedMms;
+                               range.numMms = mms;
+                               assert_eq(0, range.mms.size());
+                               assert_eq(0, range.refcs.size());
+                               if(mms >= 1) {
+                                       // Be careful to add edits in left-to-right order
+                                       // with respect to the read/alignment
+                                       if(seedOnLeft && seedMms) {
+                                               assert_lt(mmOff1, qlen);
+                                               range.mms.push_back(mmOff1);
+                                               range.refcs.push_back(refc1);
+                                               if(seedMms > 1) {
+                                                       assert_lt(mmOff1, mmOff2);
+                                                       assert_lt(mmOff2, qlen);
+                                                       range.mms.push_back(mmOff2);
+                                                       range.refcs.push_back(refc2);
+                                               }
+                                       }
+                                       const size_t nonSeedMmsSz = nonSeedMms.size();
+                                       if(nonSeedMmsSz > 0) {
+                                               if(seedOnLeft) {
+                                                       for(size_t k = 0; k < nonSeedMmsSz; k++) {
+                                                               range.mms.push_back(nonSeedMms[k]);
+                                                               range.refcs.push_back(nonSeedRefcs[k]);
+                                                       }
+                                               } else {
+                                                       for(size_t k = nonSeedMmsSz; k > 0; k--) {
+                                                               range.mms.push_back(nonSeedMms[k-1]);
+                                                               range.refcs.push_back(nonSeedRefcs[k-1]);
+                                                       }
+                                               }
+                                       }
+                                       if(!seedOnLeft && seedMms) {
+                                               if(seedMms > 1) {
+                                                       assert_lt(mmOff2, mmOff1);
+                                                       assert_lt(mmOff2, qlen);
+                                                       range.mms.push_back(mmOff2);
+                                                       range.refcs.push_back(refc2);
+                                               }
+                                               assert_lt(mmOff1, qlen);
+                                               range.mms.push_back(mmOff1);
+                                               range.refcs.push_back(refc1);
+                                       }
+                               }
+                               assert_eq((size_t)mms, range.mms.size());
+                               assert_eq((size_t)mms, range.refcs.size());
+                               if(seedOnLeft) {
+                                       results.push_back(ri);
+                               } else {
+                                       results.push_back(ri - qlen);
+                               }
+                       }
+               }
+               return;
+       }
+
+       /**
+        * This schematic shows the roles played by the begin, qbegin, end,
+        * qend, halfway, slen, qlen, and lim variables:
+        *
+        * seedOnLeft == true:
+        *
+        * |<                   lim                   >|<     qlen       >|
+        *  --------------------------------------------------------------
+        * |                     | slen | qlen-slen |  | slen | qlen-slen |
+        *  --------------------------------------------------------------
+        * ^                     ^                     ^                  ^
+        * begin & qbegin     halfway                qend               end
+        *
+        * seedOnLeft == false:
+        *
+        *             |<                   lim                   >|
+        *  --------------------------------------------------------------
+        * | qlen-slen |         | qlen-slen | slen |              | slen |
+        *  --------------------------------------------------------------
+        * ^           ^                     ^                     ^      ^
+        * begin       qbegin             halfway                qend   end
+        *
+        * Note that, for seeds longer than 32 base-pairs, the seed is
+        * further subdivided into a 32-bit anchor and a seed overhang of
+        * length > 0.
+        */
+       virtual void anchor64Find(uint32_t numToFind,
+                                       uint32_t tidx,
+                                       uint8_t* ref,
+                                       const TDna5Str& qry,
+                                       const TCharStr& quals,
+                                       uint32_t begin,
+                                       uint32_t end,
+                                       TRangeVec& ranges,
+                                       TU32Vec& results,
+                                       TSetPairs* pairs = NULL,
+                                       uint32_t aoff = 0xffffffff,
+                                       bool seedOnLeft = false) const
+       {
+               assert_gt(numToFind, 0);
+               ASSERT_ONLY(const uint32_t rangesInitSz = ranges.size());
+               ASSERT_ONLY(uint32_t duplicates = 0);
+               ASSERT_ONLY(uint32_t r2i = 0);
+               const uint32_t qlen = seqan::length(qry);
+               assert_gt(qlen, 0);
+               assert_gt(end, begin);
+               assert_geq(end - begin, qlen); // caller should have checked this
+               assert_gt(this->seedLen_, 0);
+               uint32_t slen = min(qlen, this->seedLen_);
+#ifndef NDEBUG
+               // Get results from the naive matcher for sanity-checking
+               TRangeVec r2; TU32Vec re2;
+               naiveFind(numToFind, tidx, ref, qry, quals, begin, end, r2,
+                                 re2, pairs, aoff, seedOnLeft);
+#endif
+               const uint32_t anchorBitPairs = min<int>(slen, 32);
+               const int lhsShift = ((anchorBitPairs - 1) << 1);
+               const uint32_t anchorCushion  = 32 - anchorBitPairs;
+               // seedAnchorOverhang = # seed bases not included in the anchor
+               const uint32_t seedAnchorOverhang = (slen <= anchorBitPairs ? 0 : (slen - anchorBitPairs));
+               // seedAnchorOverhang = # seed bases not included in the anchor
+               const uint32_t readSeedOverhang = (slen == qlen ? 0 : (qlen - slen));
+               assert(anchorCushion == 0 || seedAnchorOverhang == 0);
+               assert_eq(qlen, readSeedOverhang + slen);
+               uint32_t qend = end;
+               uint32_t qbegin = begin;
+               if(seedOnLeft) {
+                       // Leave read-sized gap on right-hand side of the interval
+                       qend -= qlen;
+               } else {
+                       // Leave seed-sized gap on right-hand side and
+                       // non-seed-sized gap on the left-hand side
+                       qbegin += readSeedOverhang;
+                       qend -= slen;
+               }
+               // lim = # possible alignments in the range
+               const uint32_t lim = qend - qbegin;
+               // halfway = point on the genome to radiate out from
+               const uint32_t halfway = qbegin + (lim >> 1);
+               uint64_t anchor = 0llu;
+               uint64_t buffw = 0llu;  // rotating ref sequence buffer
+               // OR the 'diff' buffer with this so that we can always count
+               // 'N's as mismatches
+               uint64_t diffMask = 0llu;
+               // Set up a mask that we'll apply to the two bufs every round
+               // to discard bits that were rotated out of the anchor area
+               uint64_t clearMask = 0xffffffffffffffffllu;
+               bool useMask = false;
+               if(anchorBitPairs < 32) {
+                       clearMask >>= ((32-anchorBitPairs) << 1);
+                       useMask = true;
+               }
+               int nsInSeed = 0;
+               uint32_t nPoss = 0;
+               int nPos1 = -1;
+               int nPos2 = -1;
+               uint32_t skipLeftToRights = 0;
+               uint32_t skipRightToLefts = 0;
+               const uint32_t halfwayRi = halfway - begin;
+               assert_leq(anchorBitPairs, slen);
+               // Construct the 'anchor' 64-bit buffer so that it holds all of
+               // the first 'anchorBitPairs' bit pairs of the query.
+               for(uint32_t ii = 0; ii < anchorBitPairs; ii++) {
+                       uint32_t i = ii;
+                       if(!seedOnLeft) {
+                               // Fill in the anchor using characters from the seed
+                               // portion of the read, starting at the left.  Note
+                               // that we're subtracting by slen rather than
+                               // anchorBitPairs because we want the seed anchor
+                               // overhang to be on the right-hand side
+                               i = qlen - slen + ii;
+                       }
+                       int c = (int)qry[i]; // next query character
+                       int r = (int)ref[halfwayRi + ii]; // next reference character
+                       if(r & 4) {
+                               // The reference character is an N; to mimic the
+                               // behavior of BW alignment, we have to skip all
+                               // alignments that involve an N in the reference.  Set
+                               // the skip* variables accordingly.
+                               r = 0;
+                               uint32_t lrSkips = ii;
+                               uint32_t rlSkips = qlen - ii;
+                               if(!seedOnLeft && readSeedOverhang) {
+                                       lrSkips += readSeedOverhang;
+                                       assert_geq(rlSkips, readSeedOverhang);
+                                       rlSkips -= readSeedOverhang;
+                               }
+                               // The right-to-left direction absorbs the candidate
+                               // alignment based at 'halfway'
+                               skipLeftToRights = max(skipLeftToRights, lrSkips);
+                               skipRightToLefts = max(skipRightToLefts, rlSkips);
+                               assert_leq(skipLeftToRights, qlen);
+                               assert_leq(skipRightToLefts, qlen);
+                       }
+                       assert_leq(c, 4);
+                       assert_lt(r, 4);
+                       // Special case: query has an 'N'
+                       if(c == 4) {
+                               if(++nsInSeed > 2) {
+                                       // More than one 'N' in the anchor region; can't
+                                       // possibly have a 1-mismatch hit anywhere
+                                       assert_eq(r2.size(), ranges.size() - rangesInitSz);
+                                       return;   // can't match if query has Ns
+                               }
+                               if(nsInSeed == 1) {
+                                       nPos1 = (int)ii; // w/r/t LHS of anchor
+                               } else {
+                                       assert_eq(2, nsInSeed);
+                                       nPos2 = (int)ii; // w/r/t LHS of anchor
+                                       assert_gt(nPos2, nPos1);
+                               }
+                               // Make it look like an 'A' in the anchor
+                               c = 0;
+                               diffMask = (diffMask << 2llu) | 1llu;
+                       } else {
+                               diffMask <<= 2llu;
+                       }
+                       anchor = ((anchor << 2llu) | c);
+                       buffw = ((buffw << 2llu) | r);
+               }
+               // Check whether read is disqualified by Ns inside the seed
+               // region but outside the anchor region
+               if(seedAnchorOverhang) {
+                       assert_lt(anchorBitPairs, slen);
+                       for(uint32_t ii = anchorBitPairs; ii < slen; ii++) {
+                               uint32_t i = ii;
+                               if(!seedOnLeft) {
+                                       i = qlen - slen + ii;
+                               }
+                               if((int)qry[i] == 4) {
+                                       if(++nsInSeed > 2) {
+                                               assert_eq(r2.size(), ranges.size() - rangesInitSz);
+                                               return; // can't match if query has Ns
+                                       }
+                               }
+                       }
+               } else {
+                       assert_eq(anchorBitPairs, slen);
+               }
+               uint64_t bufbw = buffw;
+               // Slide the anchor out in either direction, alternating
+               // between right-to-left and left-to-right shifts, until all of
+               // the positions from qbegin to qend have been covered.
+               bool hi = false;
+               uint32_t riHi  = halfway;
+               uint32_t rirHi = halfway - begin;
+               uint32_t rirHiAnchor = rirHi + anchorBitPairs - 1;
+               uint32_t riLo  = halfway + 1;
+               uint32_t rirLo = halfway - begin + 1;
+               uint32_t lrSkips = anchorBitPairs;
+               uint32_t rlSkips = qlen;
+               if(!seedOnLeft && readSeedOverhang) {
+                       lrSkips += readSeedOverhang;
+                       assert_geq(rlSkips, readSeedOverhang);
+                       rlSkips -= readSeedOverhang;
+               }
+               for(uint32_t i = 1; i <= lim + 1; i++) {
+                       int r;       // new reference char
+                       uint64_t diff;
+                       assert_leq(skipLeftToRights, qlen);
+                       assert_leq(skipRightToLefts, qlen);
+                       if(hi) {
+                               hi = false;
+                               // Moving left-to-right
+                               riHi++;
+                               rirHi++;
+                               rirHiAnchor++;
+                               r = (int)ref[rirHiAnchor];
+                               if(r & 4) {
+                                       r = 0;
+                                       skipLeftToRights = lrSkips;
+                               }
+                               assert_lt(r, 4);
+                               // Bring in new base pair at the least significant
+                               // position
+                               buffw = ((buffw << 2llu) | r);
+                               if(useMask) buffw &= clearMask;
+                               if(skipLeftToRights > 0) {
+                                       skipLeftToRights--;
+                                       continue;
+                               }
+                               diff = (buffw ^ anchor) | diffMask;
+                       } else {
+                               hi = true;
+                               // Moving right-to-left
+                               riLo--;
+                               rirLo--;
+                               r = (int)ref[rirLo];
+                               if(r & 4) {
+                                       r = 0;
+                                       skipRightToLefts = rlSkips;
+                               }
+                               assert_lt(r, 4);
+                               if(i >= 2) {
+                                       bufbw >>= 2llu;
+                                       // Bring in new base pair at the most significant
+                                       // position
+                                       bufbw |= ((uint64_t)r << lhsShift);
+                               }
+                               if(skipRightToLefts > 0) {
+                                       skipRightToLefts--;
+                                       continue;
+                               }
+                               diff = (bufbw ^ anchor) | diffMask;
+                       }
+                       if((diff & 0xf00f00f00f00f00fllu) &&
+                          (diff & 0x0f00f00f00f00f00llu) &&
+                          (diff & 0x00f00f00f00f00f0llu)) continue;
+                       if((diff & 0xc30c30c30c30c30cllu) &&
+                          (diff & 0x30c30c30c30c30c3llu) &&
+                          (diff & 0x0c30c30c30c30c30llu)) continue;
+                       uint32_t ri  = hi ? riLo  : riHi;
+                       uint32_t rir = hi ? rirLo : rirHi;
+                       // Could use pop count
+                       uint8_t *diff8 = reinterpret_cast<uint8_t*>(&diff);
+                       // As a first cut, see if there are too many mismatches in
+                       // the first and last parts of the anchor
+                       uint32_t diffs = u8toMms[(int)diff8[0]] + u8toMms[(int)diff8[7]];
+                       if(diffs > 2) continue;
+                       diffs += u8toMms[(int)diff8[1]] +
+                                        u8toMms[(int)diff8[2]] +
+                                        u8toMms[(int)diff8[3]] +
+                                        u8toMms[(int)diff8[4]] +
+                                        u8toMms[(int)diff8[5]] +
+                                        u8toMms[(int)diff8[6]];
+                       uint32_t mmpos1 = 0xffffffff;
+                       int refc1 = -1;
+                       uint32_t mmpos2 = 0xffffffff;
+                       int refc2 = -1;
+                       unsigned int ham = 0;
+                       if(diffs > 2) {
+                               // Too many differences in the seed; stop
+                               continue;
+                       } else if(nPoss > 1 && diffs == nPoss) {
+                               // There was one difference, but there was also one N,
+                               // so we already know where the difference is
+                               mmpos1 = nPos1;
+                               refc1 = "ACGT"[(int)ref[rir + nPos1]];
+                               if(!seedOnLeft) {
+                                       mmpos1 += readSeedOverhang;
+                               }
+                               char q = quals[mmpos1];
+                               ham += mmPenalty(this->maqPenalty_, phredCharToPhredQual(q));
+                               if(ham > this->qualMax_) {
+                                       // Exceeded quality limit
+                                       continue;
+                               }
+                               if(nPoss == 2) {
+                                       mmpos2 = nPos2;
+                                       refc2 = "ACGT"[(int)ref[rir + nPos2]];
+                                       if(!seedOnLeft) {
+                                               mmpos2 += readSeedOverhang;
+                                       }
+                                       q = quals[mmpos2];
+                                       ham += mmPenalty(this->maqPenalty_, phredCharToPhredQual(q));
+                                       if(ham > this->qualMax_) {
+                                               // Exceeded quality limit
+                                               continue;
+                                       }
+                               }
+
+                       } else if(diffs > 0) {
+                               // Figure out which position mismatched
+                               uint64_t diff2 = diff;
+                               mmpos1 = 31;
+                               if((diff & 0xffffffffllu) == 0) { diff >>= 32llu; mmpos1 -= 16; }
+                               assert_neq(0, diff);
+                               if((diff & 0xffffllu) == 0)     { diff >>= 16llu; mmpos1 -=  8; }
+                               assert_neq(0, diff);
+                               if((diff & 0xffllu) == 0)       { diff >>= 8llu;  mmpos1 -=  4; }
+                               assert_neq(0, diff);
+                               if((diff & 0xfllu) == 0)        { diff >>= 4llu;  mmpos1 -=  2; }
+                               assert_neq(0, diff);
+                               if((diff & 0x3llu) == 0)        { mmpos1--; }
+                               assert_neq(0, diff);
+                               assert_geq(mmpos1, 0);
+                               assert_lt(mmpos1, 32);
+                               uint32_t savedMmpos1 = mmpos1;
+                               mmpos1 -= anchorCushion;
+                               assert_lt(mmpos1, anchorBitPairs);
+                               refc1 = "ACGT"[(int)ref[rir + mmpos1]];
+                               if(!seedOnLeft) {
+                                       mmpos1 += readSeedOverhang;
+                               }
+                               char q = quals[mmpos1];
+                               ham += mmPenalty(this->maqPenalty_, phredCharToPhredQual(q));
+                               if(ham > this->qualMax_) {
+                                       // Exceeded quality limit
+                                       continue;
+                               }
+                               if(diffs > 1) {
+                                       // Figure out the second mismatched position
+                                       ASSERT_ONLY(uint64_t origDiff2 = diff2);
+                                       diff2 &= ~(0xc000000000000000llu >> (uint64_t)((savedMmpos1) << 1));
+                                       assert_neq(diff2, origDiff2);
+                                       mmpos2 = 31;
+                                       if((diff2 & 0xffffffffllu) == 0) { diff2 >>= 32llu; mmpos2 -= 16; }
+                                       assert_neq(0, diff2);
+                                       if((diff2 & 0xffffllu) == 0)     { diff2 >>= 16llu; mmpos2 -=  8; }
+                                       assert_neq(0, diff2);
+                                       if((diff2 & 0xffllu) == 0)       { diff2 >>= 8llu;  mmpos2 -=  4; }
+                                       assert_neq(0, diff2);
+                                       if((diff2 & 0xfllu) == 0)        { diff2 >>= 4llu;  mmpos2 -=  2; }
+                                       assert_neq(0, diff2);
+                                       if((diff2 & 0x3llu) == 0)        { mmpos2--; }
+                                       assert_neq(0, diff2);
+                                       assert_geq(mmpos2, 0);
+                                       assert_lt(mmpos2, 32);
+                                       mmpos2 -= anchorCushion;
+                                       assert_neq(mmpos1, mmpos2);
+                                       refc2 = "ACGT"[(int)ref[rir + mmpos2]];
+                                       if(!seedOnLeft) {
+                                               mmpos2 += readSeedOverhang;
+                                       }
+                                       q = quals[mmpos2];
+                                       ham += mmPenalty(this->maqPenalty_, phredCharToPhredQual(q));
+                                       if(ham > this->qualMax_) {
+                                               // Exceeded quality limit
+                                               continue;
+                                       }
+                                       if(mmpos2 < mmpos1) {
+                                               uint32_t mmtmp = mmpos1;
+                                               mmpos1 = mmpos2;
+                                               mmpos2 = mmtmp;
+                                               int refctmp = refc1;
+                                               refc1 = refc2;
+                                               refc2 = refctmp;
+                                       }
+                                       assert_lt(mmpos1, mmpos2);
+                               }
+                       }
+                       // If the seed is longer than the anchor, then scan the
+                       // rest of the seed characters
+                       bool foundHit = true;
+                       if(seedAnchorOverhang) {
+                               for(uint32_t j = 0; j < seedAnchorOverhang; j++) {
+                                       int rc = (int)ref[rir + anchorBitPairs + j];
+                                       if(rc == 4) {
+                                               // Oops, encountered an N in the reference in
+                                               // the overhang portion of the candidate
+                                               // alignment
+                                               // (Note that we inverted hi earlier)
+                                               if(hi) {
+                                                       // Right-to-left
+                                                       // Skip out of the seedAnchorOverhang
+                                                       assert_eq(0, skipRightToLefts);
+                                                       skipRightToLefts = seedAnchorOverhang - j - 1;
+                                                       if(seedOnLeft) {
+                                                               // ...and skip out of the rest of the read
+                                                               skipRightToLefts += readSeedOverhang;
+                                                       }
+                                               } else {
+                                                       // Left-to-right
+                                                       // Skip out of the seedAnchorOverhang
+                                                       assert_eq(0, skipLeftToRights);
+                                                       skipLeftToRights = anchorBitPairs + j;
+                                                       if(!seedOnLeft) {
+                                                               // ...and skip out of the rest of the read
+                                                               skipLeftToRights += readSeedOverhang;
+                                                       }
+                                               }
+                                               foundHit = false; // Skip this candidate
+                                               break;
+                                       }
+                                       uint32_t qoff = anchorBitPairs + j;
+                                       if(!seedOnLeft) {
+                                               qoff += readSeedOverhang;
+                                       }
+                                       assert_lt(qoff, qlen);
+                                       if((int)qry[qoff] != rc) {
+                                               diffs++;
+                                               if(diffs > 2) {
+                                                       foundHit = false;
+                                                       break;
+                                               } else if(diffs == 2) {
+                                                       assert_eq(0xffffffff, mmpos2);
+                                                       mmpos2 = qoff;
+                                                       assert_eq(-1, refc2);
+                                                       refc2 = "ACGT"[(int)ref[rir + anchorBitPairs + j]];
+                                               } else {
+                                                       assert_eq(1, diffs);
+                                                       assert_eq(0xffffffff, mmpos1);
+                                                       mmpos1 = qoff;
+                                                       assert_eq(-1, refc1);
+                                                       refc1 = "ACGT"[(int)ref[rir + anchorBitPairs + j]];
+                                               }
+                                               char q = phredCharToPhredQual(quals[qoff]);
+                                               ham += mmPenalty(this->maqPenalty_, q);
+                                               if(ham > this->qualMax_) {
+                                                       // Exceeded quality limit
+                                                       foundHit = false;
+                                                       break;
+                                               }
+                                       }
+                               }
+                               if(!foundHit) continue;
+                       }
+                       // If the read is longer than the seed, then scan the rest
+                       // of the read characters; mismatches no longer count
+                       // toward the stratum or the 1-mm limit.
+                       // Vectors for holding edit information
+                       std::vector<uint32_t> nonSeedMms;
+                       std::vector<uint8_t> nonSeedRefcs;
+                       int mms = diffs; // start counting total mismatches
+                       if((qlen - slen) > 0) {
+                               // Going left-to-right
+                               for(uint32_t j = 0; j < readSeedOverhang; j++) {
+                                       uint32_t roff = rir + slen + j;
+                                       uint32_t qoff = slen + j;
+                                       if(!seedOnLeft) {
+                                               assert_geq(roff, qlen);
+                                               roff -= qlen;
+                                               qoff = j;
+                                       }
+                                       int rc = (int)ref[roff];
+                                       if(rc == 4) {
+                                               // Oops, encountered an N in the reference in
+                                               // the overhang portion of the candidate
+                                               // alignment
+                                               // (Note that we inverted hi earlier)
+                                               if(hi) {
+                                                       // Right-to-left
+                                                       // Skip what's left of the readSeedOverhang
+                                                       skipRightToLefts = readSeedOverhang - j - 1;
+                                                       if(!seedOnLeft) {
+                                                               // ...and skip the seed if it's on the right
+                                                               skipRightToLefts += slen;
+                                                       }
+                                               } else {
+                                                       // Left-to-right
+                                                       // Skip what we've matched of the overhang
+                                                       skipLeftToRights = j;
+                                                       if(seedOnLeft) {
+                                                               // ...and skip the seed if it's on the left
+                                                               skipLeftToRights += slen;
+                                                       }
+                                               }
+                                               foundHit = false; // Skip this candidate
+                                               break;
+                                       }
+                                       if((int)qry[qoff] != rc) {
+                                               // Calculate quality of mismatched base
+                                               char q = phredCharToPhredQual(quals[qoff]);
+                                               ham += mmPenalty(this->maqPenalty_, q);
+                                               if(ham > this->qualMax_) {
+                                                       // Exceeded quality limit
+                                                       foundHit = false;
+                                                       break;
+                                               }
+                                               // Legal mismatch outside of the anchor; record it
+                                               mms++;
+                                               nonSeedMms.push_back(qoff);
+                                               assert_leq(nonSeedMms.size(), (size_t)mms);
+                                               nonSeedRefcs.push_back("ACGTN"[rc]);
+                                       }
+                               }
+                               if(!foundHit) continue;
+                       }
+                       assert(foundHit);
+                       // Adjust ri if seed is on the right-hand side
+                       if(!seedOnLeft) {
+                               ri -= readSeedOverhang;
+                               rir -= readSeedOverhang;
+                       }
+                       if(pairs != NULL) {
+                               TU64Pair p;
+                               if(ri < aoff) {
+                                       // By convention, the upstream mate's
+                                       // coordinates go in the 'first' field
+                                       p.first  = ((uint64_t)tidx << 32) | (uint64_t)ri;
+                                       p.second = ((uint64_t)tidx << 32) | (uint64_t)aoff;
+                               } else {
+                                       p.second = ((uint64_t)tidx << 32) | (uint64_t)ri;
+                                       p.first  = ((uint64_t)tidx << 32) | (uint64_t)aoff;
+                               }
+                               if(pairs->find(p) != pairs->end()) {
+                                       // We already found this hit!  Continue.
+                                       ASSERT_ONLY(duplicates++);
+                                       ASSERT_ONLY(r2i++);
+                                       continue;
+                               } else {
+                                       // Record this hit
+                                       pairs->insert(p);
+                               }
+                       }
+                       if(this->verbose_) {
+                               cout << "About to report:" << endl;
+                               cout << "  ";
+                               for(size_t i = 0; i < qlen; i++) {
+                                       cout << (char)qry[i];
+                               }
+                               cout << endl;
+                               cout << "  ";
+                               for(size_t i = 0; i < qlen; i++) {
+                                       cout << "ACGT"[ref[rir+i]];
+                               }
+                               cout << endl;
+                       }
+                       assert_leq(diffs, 2);
+                       assert_geq((size_t)mms, diffs);
+                       assert_lt(r2i, r2.size());
+                       assert_eq(re2[r2i], ri);
+                       ranges.resize(ranges.size()+1);
+                       Range& range = ranges.back();
+                       assert_eq((size_t)mms, r2[r2i].numMms);
+                       range.stratum = diffs;
+                       range.numMms = mms;
+                       assert_eq(0, range.mms.size());
+                       assert_eq(0, range.refcs.size());
+                       if(mms > 0) {
+                               ASSERT_ONLY(size_t mmcur = 0);
+                               if(seedOnLeft && diffs > 0) {
+                                       assert_neq(mmpos1, 0xffffffff);
+                                       assert_lt(mmpos1, qlen);
+                                       assert_lt(mmcur, (size_t)mms);
+                                       assert_eq(mmpos1, r2[r2i].mms[mmcur]);
+                                       assert_neq(-1, refc1);
+                                       assert_eq(refc1, r2[r2i].refcs[mmcur]);
+                                       ASSERT_ONLY(mmcur++);
+                                       range.mms.push_back(mmpos1);
+                                       range.refcs.push_back(refc1);
+                                       if(diffs > 1) {
+                                               assert_eq(2, diffs);
+                                               assert_neq(mmpos2, 0xffffffff);
+                                               assert_lt(mmpos2, qlen);
+                                               assert_lt(mmcur, (size_t)mms);
+                                               assert_eq(mmpos2, r2[r2i].mms[mmcur]);
+                                               assert_neq(-1, refc2);
+                                               assert_eq(refc2, r2[r2i].refcs[mmcur]);
+                                               ASSERT_ONLY(mmcur++);
+                                               range.mms.push_back(mmpos2);
+                                               range.refcs.push_back(refc2);
+                                       }
+                               }
+                               const size_t nonSeedMmsSz = nonSeedMms.size();
+                               for(size_t i = 0; i < nonSeedMmsSz; i++) {
+                                       assert_neq(0xffffffff, nonSeedMms[i]);
+                                       assert_lt(mmcur, (size_t)mms);
+                                       assert_eq(nonSeedMms[i], r2[r2i].mms[mmcur]);
+                                       range.mms.push_back(nonSeedMms[i]);
+                                       assert_eq(nonSeedRefcs[i], r2[r2i].refcs[mmcur]);
+                                       ASSERT_ONLY(mmcur++);
+                                       range.refcs.push_back(nonSeedRefcs[i]);
+                               }
+                               if(!seedOnLeft && diffs > 0) {
+                                       assert_neq(mmpos1, 0xffffffff);
+                                       assert_lt(mmpos1, qlen);
+                                       assert_lt(mmcur, (size_t)mms);
+                                       assert_eq(mmpos1, r2[r2i].mms[mmcur]);
+                                       assert_neq(-1, refc1);
+                                       assert_eq(refc1, r2[r2i].refcs[mmcur]);
+                                       ASSERT_ONLY(mmcur++);
+                                       range.mms.push_back(mmpos1);
+                                       range.refcs.push_back(refc1);
+                                       if(diffs > 1) {
+                                               assert_eq(2, diffs);
+                                               assert_neq(mmpos2, 0xffffffff);
+                                               assert_lt(mmpos2, qlen);
+                                               assert_lt(mmcur, (size_t)mms);
+                                               assert_eq(mmpos2, r2[r2i].mms[mmcur]);
+                                               assert_neq(-1, refc2);
+                                               assert_eq(refc2, r2[r2i].refcs[mmcur]);
+                                               ASSERT_ONLY(mmcur++);
+                                               range.mms.push_back(mmpos2);
+                                               range.refcs.push_back(refc2);
+                                       }
+                               }
+                               assert_eq(mmcur, r2[r2i].mms.size());
+                       }
+                       assert_eq((size_t)mms, range.mms.size());
+                       assert_eq((size_t)mms, range.refcs.size());
+                       ASSERT_ONLY(r2i++);
+                       results.push_back(ri);
+                       if(--numToFind == 0) return;
+               }
+               assert_leq(duplicates, r2.size());
+               assert_geq(r2.size() - duplicates, ranges.size() - rangesInitSz);
+               return; // no hit
+       }
+};
+
+/**
+ * Concrete RefAligner for finding nearby 3-mismatch hits given an
+ * anchor hit.
+ */
+template<typename TStr>
+class Seed3RefAligner : public RefAligner<TStr> {
+
+       typedef seqan::String<seqan::Dna5> TDna5Str;
+       typedef seqan::String<char> TCharStr;
+       typedef std::vector<Range> TRangeVec;
+       typedef std::vector<uint32_t> TU32Vec;
+       typedef std::pair<uint64_t, uint64_t> TU64Pair;
+       typedef std::set<TU64Pair> TSetPairs;
+
+public:
+
+       Seed3RefAligner(bool color, bool verbose, bool quiet, uint32_t seedLen, uint32_t qualMax, bool maqPenalty) :
+               RefAligner<TStr>(color, verbose, quiet, seedLen, qualMax, maqPenalty) { }
+
+       virtual ~Seed3RefAligner() { }
+
+protected:
+       /**
+        * This schematic shows the roles played by the begin, qbegin, end,
+        * qend, halfway, slen, qlen, and lim variables:
+        *
+        * seedOnLeft == true:
+        *
+        * |<                   lim                   >|<     qlen       >|
+        *  --------------------------------------------------------------
+        * |                     | slen | qlen-slen |  | slen | qlen-slen |
+        *  --------------------------------------------------------------
+        * ^                     ^                     ^                  ^
+        * begin & qbegin     halfway                qend               end
+        *
+        * seedOnLeft == false:
+        *
+        * |<     qlen       >|<                   lim                   >|
+        *  --------------------------------------------------------------
+        * | qlen-slen | slen |  | qlen-slen | slen |                     |
+        *  --------------------------------------------------------------
+        * ^                  ^                     ^                     ^
+        * begin            qbegin             halfway           qend & end
+        *
+        * Note that, for seeds longer than 32 base-pairs, the seed is
+        * further subdivided into a 32-bit anchor and a seed overhang of
+        * length > 0.
+        */
+       void naiveFind(uint32_t numToFind,
+                                  uint32_t tidx,
+                                  uint8_t* ref,
+                                  const TDna5Str& qry,
+                                  const TCharStr& quals,
+                                  uint32_t begin,
+                                  uint32_t end,
+                                  TRangeVec& ranges,
+                                  TU32Vec& results,
+                                  TSetPairs* pairs,
+                                  uint32_t aoff,
+                                  bool seedOnLeft) const
+       {
+               assert_gt(numToFind, 0);
+               assert_gt(end, begin);
+               const uint32_t qlen = seqan::length(qry);
+               assert_gt(qlen, 0);
+               assert_geq(end - begin, qlen); // caller should have checked this
+               assert_gt(this->seedLen_, 0);
+               const uint32_t slen = min(qlen, this->seedLen_);
+               uint32_t qend = end;
+               uint32_t qbegin = begin;
+               // If the seed is on the left-hand side of the alignment, then
+               // leave a gap at the right-hand side of the interval;
+               // otherwise, do the opposite
+               if(seedOnLeft) {
+                       // Leave gap on right-hand side of the interval
+                       qend -= qlen;
+               } else {
+                       // Leave gap on left-hand side of the interval
+                       qbegin += qlen;
+               }
+               // lim = number of alignments to try
+               const uint32_t lim = qend - qbegin;
+               // halfway = position in the reference to start at (and then
+               // we work our way out to the right and to the left).
+               const uint32_t halfway = qbegin + (lim >> 1);
+               // Vectors for holding edit information
+               std::vector<uint32_t> nonSeedMms;
+               std::vector<uint8_t> nonSeedRefcs;
+               bool hi = false;
+               for(uint32_t i = 1; i <= lim+1; i++) {
+                       uint32_t ri;  // leftmost position in candidate alignment
+                       uint32_t rir; // same, minus begin; for indexing into ref[]
+                       if(hi) {
+                               ri = halfway + (i >> 1); rir = ri - begin;
+                               assert_leq(ri, qend);
+                       } else {
+                               ri = halfway - (i >> 1); rir = ri - begin;
+                               assert_geq(ri, begin);
+                       }
+                       hi = !hi;
+                       // Do the naive comparison
+                       bool match = true;
+                       int refc1 = -1;
+                       uint32_t mmOff1 = 0xffffffff;
+                       int refc2 = -1;
+                       uint32_t mmOff2 = 0xffffffff;
+                       int refc3 = -1;
+                       uint32_t mmOff3 = 0xffffffff;
+                       int mms = 0;
+                       int seedMms = 0;
+                       unsigned int ham = 0;
+                       nonSeedMms.clear();
+                       nonSeedRefcs.clear();
+                       // Walk through each position of the alignment
+                       for(uint32_t jj = 0; jj < qlen; jj++) {
+                               uint32_t j = jj;
+                               if(!seedOnLeft) {
+                                       // If seed is on the right, scan right-to-left
+                                       j = qlen - jj - 1;
+                               } else {
+                                       // Go left-to-right
+                               }
+                               uint32_t rirj = rir + j;
+                               if(!seedOnLeft) {
+                                       assert_geq(rir, jj);
+                                       rirj = rir - jj - 1;
+                               }
+#if 0
+                               // Count Ns in the reference as mismatches
+                               const int q = (int)qry[j];
+                               const int r = (int)ref[rirj];
+                               assert_leq(q, 4);
+                               assert_leq(r, 4);
+                               if(q == 4 || r == 4 || q != r) {
+#else
+                               // Disallow alignments that involve an N in the
+                               // reference
+                               const int r = (int)ref[rirj];
+                               if(r & 4) {
+                                       // N in reference; bail on this alignment
+                                       match = false;
+                                       break;
+                               }
+                               const int q = (int)qry[j];
+                               assert_leq(q, 4);
+                               assert_lt(r, 4);
+                               if(q != r) {
+#endif
+                                       // Mismatch!
+                                       mms++;
+                                       if(mms > 3 && jj < slen) {
+                                               // More than one mismatch in the anchor; reject
+                                               match = false;
+                                               break;
+                                       }
+                                       uint8_t qual = phredCharToPhredQual(quals[j]);
+                                       ham += mmPenalty(this->maqPenalty_, qual);
+                                       if(ham > this->qualMax_) {
+                                               // Exceeded quality ceiling; reject
+                                               match = false;
+                                               break;
+                                       } else if(mms == 1 && jj < slen) {
+                                               // First mismatch in the anchor; remember offset
+                                               // and ref char
+                                               refc1 = "ACGTN"[r];
+                                               mmOff1 = j;
+                                               seedMms = 1;
+                                       } else if(mms == 2 && jj < slen) {
+                                               // Second mismatch in the anchor; remember offset
+                                               // and ref char
+                                               refc2 = "ACGTN"[r];
+                                               mmOff2 = j;
+                                               seedMms = 2;
+                                       } else if(mms == 3 && jj < slen) {
+                                               // Third mismatch in the anchor; remember offset
+                                               // and ref char
+                                               refc3 = "ACGTN"[r];
+                                               mmOff3 = j;
+                                               seedMms = 3;
+                                       } else {
+                                               // Legal mismatch outside of the anchor; record it
+                                               nonSeedMms.push_back(j);
+                                               assert_leq(nonSeedMms.size(), (size_t)mms);
+                                               nonSeedRefcs.push_back("ACGTN"[r]);
+                                       }
+                               }
+                       }
+                       if(match) {
+                               ranges.resize(ranges.size()+1);
+                               Range& range = ranges.back();
+                               assert_leq(seedMms, mms);
+                               range.stratum = seedMms;
+                               range.numMms = mms;
+                               assert_eq(0, range.mms.size());
+                               assert_eq(0, range.refcs.size());
+                               if(mms >= 1) {
+                                       // Be careful to add edits in left-to-right order
+                                       // with respect to the read/alignment
+                                       if(seedOnLeft && seedMms) {
+                                               assert_lt(mmOff1, qlen);
+                                               range.mms.push_back(mmOff1);
+                                               range.refcs.push_back(refc1);
+                                               if(seedMms > 1) {
+                                                       assert_lt(mmOff1, mmOff2);
+                                                       assert_lt(mmOff2, qlen);
+                                                       range.mms.push_back(mmOff2);
+                                                       range.refcs.push_back(refc2);
+                                                       if(seedMms > 2) {
+                                                               assert_lt(mmOff2, mmOff3);
+                                                               assert_lt(mmOff3, qlen);
+                                                               range.mms.push_back(mmOff3);
+                                                               range.refcs.push_back(refc3);
+                                                       }
+                                               }
+                                       }
+                                       const size_t nonSeedMmsSz = nonSeedMms.size();
+                                       if(nonSeedMmsSz > 0) {
+                                               if(seedOnLeft) {
+                                                       for(size_t k = 0; k < nonSeedMmsSz; k++) {
+                                                               range.mms.push_back(nonSeedMms[k]);
+                                                               range.refcs.push_back(nonSeedRefcs[k]);
+                                                       }
+                                               } else {
+                                                       for(size_t k = nonSeedMmsSz; k > 0; k--) {
+                                                               range.mms.push_back(nonSeedMms[k-1]);
+                                                               range.refcs.push_back(nonSeedRefcs[k-1]);
+                                                       }
+                                               }
+                                       }
+                                       if(!seedOnLeft && seedMms) {
+                                               if(seedMms > 1) {
+                                                       if(seedMms > 2) {
+                                                               assert_lt(mmOff3, mmOff2);
+                                                               assert_lt(mmOff3, qlen);
+                                                               range.mms.push_back(mmOff3);
+                                                               range.refcs.push_back(refc3);
+                                                       }
+                                                       assert_lt(mmOff2, mmOff1);
+                                                       assert_lt(mmOff2, qlen);
+                                                       range.mms.push_back(mmOff2);
+                                                       range.refcs.push_back(refc2);
+                                               }
+                                               assert_lt(mmOff1, qlen);
+                                               range.mms.push_back(mmOff1);
+                                               range.refcs.push_back(refc1);
+                                       }
+                               }
+                               assert_eq((size_t)mms, range.mms.size());
+                               assert_eq((size_t)mms, range.refcs.size());
+                               if(seedOnLeft) {
+                                       results.push_back(ri);
+                               } else {
+                                       results.push_back(ri - qlen);
+                               }
+                       }
+               }
+               return;
+       }
+
+       /**
+        * This schematic shows the roles played by the begin, qbegin, end,
+        * qend, halfway, slen, qlen, and lim variables:
+        *
+        * seedOnLeft == true:
+        *
+        * |<                   lim                   >|<     qlen       >|
+        *  --------------------------------------------------------------
+        * |                     | slen | qlen-slen |  | slen | qlen-slen |
+        *  --------------------------------------------------------------
+        * ^                     ^                     ^                  ^
+        * begin & qbegin     halfway                qend               end
+        *
+        * seedOnLeft == false:
+        *
+        *             |<                   lim                   >|
+        *  --------------------------------------------------------------
+        * | qlen-slen |         | qlen-slen | slen |              | slen |
+        *  --------------------------------------------------------------
+        * ^           ^                     ^                     ^      ^
+        * begin       qbegin             halfway                qend   end
+        *
+        * Note that, for seeds longer than 32 base-pairs, the seed is
+        * further subdivided into a 32-bit anchor and a seed overhang of
+        * length > 0.
+        */
+       virtual void anchor64Find(uint32_t numToFind,
+                                       uint32_t tidx,
+                                       uint8_t* ref,
+                                       const TDna5Str& qry,
+                                       const TCharStr& quals,
+                                       uint32_t begin,
+                                       uint32_t end,
+                                       TRangeVec& ranges,
+                                       TU32Vec& results,
+                                       TSetPairs* pairs = NULL,
+                                       uint32_t aoff = 0xffffffff,
+                                       bool seedOnLeft = false) const
+       {
+               assert_gt(numToFind, 0);
+               ASSERT_ONLY(const uint32_t rangesInitSz = ranges.size());
+               ASSERT_ONLY(uint32_t duplicates = 0);
+               ASSERT_ONLY(uint32_t r2i = 0);
+               const uint32_t qlen = seqan::length(qry);
+               assert_gt(qlen, 0);
+               assert_gt(end, begin);
+               assert_geq(end - begin, qlen); // caller should have checked this
+               assert_gt(this->seedLen_, 0);
+               uint32_t slen = min(qlen, this->seedLen_);
+#ifndef NDEBUG
+               // Get results from the naive matcher for sanity-checking
+               TRangeVec r2; TU32Vec re2;
+               naiveFind(numToFind, tidx, ref, qry, quals, begin, end, r2,
+                                 re2, pairs, aoff, seedOnLeft);
+#endif
+               const uint32_t anchorBitPairs = min<int>(slen, 32);
+               const int lhsShift = ((anchorBitPairs - 1) << 1);
+               const uint32_t anchorCushion  = 32 - anchorBitPairs;
+               // seedAnchorOverhang = # seed bases not included in the anchor
+               const uint32_t seedAnchorOverhang = (slen <= anchorBitPairs ? 0 : (slen - anchorBitPairs));
+               // seedAnchorOverhang = # seed bases not included in the anchor
+               const uint32_t readSeedOverhang = (slen == qlen ? 0 : (qlen - slen));
+               assert(anchorCushion == 0 || seedAnchorOverhang == 0);
+               assert_eq(qlen, readSeedOverhang + slen);
+               uint32_t qend = end;
+               uint32_t qbegin = begin;
+               if(seedOnLeft) {
+                       // Leave read-sized gap on right-hand side of the interval
+                       qend -= qlen;
+               } else {
+                       // Leave seed-sized gap on right-hand side and
+                       // non-seed-sized gap on the left-hand side
+                       qbegin += readSeedOverhang;
+                       qend -= slen;
+               }
+               // lim = # possible alignments in the range
+               const uint32_t lim = qend - qbegin;
+               // halfway = point on the genome to radiate out from
+               const uint32_t halfway = qbegin + (lim >> 1);
+               uint64_t anchor = 0llu;
+               uint64_t buffw = 0llu;  // rotating ref sequence buffer
+               // OR the 'diff' buffer with this so that we can always count
+               // 'N's as mismatches
+               uint64_t diffMask = 0llu;
+               // Set up a mask that we'll apply to the two bufs every round
+               // to discard bits that were rotated out of the anchor area
+               uint64_t clearMask = 0xffffffffffffffffllu;
+               bool useMask = false;
+               if(anchorBitPairs < 32) {
+                       clearMask >>= ((32-anchorBitPairs) << 1);
+                       useMask = true;
+               }
+               int nsInSeed = 0;
+               uint32_t nPoss = 0;
+               int nPos1 = -1;
+               int nPos2 = -1;
+               int nPos3 = -1;
+               uint32_t skipLeftToRights = 0;
+               uint32_t skipRightToLefts = 0;
+               const uint32_t halfwayRi = halfway - begin;
+               // Construct the 'anchor' 64-bit buffer so that it holds all of
+               // the first 'anchorBitPairs' bit pairs of the query.
+               for(uint32_t ii = 0; ii < anchorBitPairs; ii++) {
+                       uint32_t i = ii;
+                       if(!seedOnLeft) {
+                               // Fill in the anchor using characters from the right-
+                               // hand side of the query (but take the characters in
+                               // left-to-right order).  Be sure to subtract slen from
+                               // qlen; not anchorBitPairs from qlen.  We want the
+                               // characters in the seedAnchorOverhang region to be to
+                               // the right of the characters in the anchor.
+                               i = qlen - slen + ii;
+                       }
+                       int c = (int)qry[i]; // next query character
+                       int r = (int)ref[halfwayRi + ii]; // next reference character
+                       if(r & 4) {
+                               // The reference character is an N; to mimic the
+                               // behavior of BW alignment, we have to skip all
+                               // alignments that involve an N in the reference.  Set
+                               // the skip* variables accordingly.
+                               r = 0;
+                               uint32_t lrSkips = ii;
+                               uint32_t rlSkips = qlen - ii;
+                               if(!seedOnLeft && readSeedOverhang) {
+                                       lrSkips += readSeedOverhang;
+                                       assert_geq(rlSkips, readSeedOverhang);
+                                       rlSkips -= readSeedOverhang;
+                               }
+                               // The right-to-left direction absorbs the candidate
+                               // alignment based at 'halfway'
+                               skipLeftToRights = max(skipLeftToRights, lrSkips);
+                               skipRightToLefts = max(skipRightToLefts, rlSkips);
+                               assert_leq(skipLeftToRights, qlen);
+                               assert_leq(skipRightToLefts, qlen);
+                       }
+                       assert_leq(c, 4);
+                       assert_lt(r, 4);
+                       // Special case: query has an 'N'
+                       if(c == 4) {
+                               if(++nsInSeed > 3) {
+                                       // More than one 'N' in the anchor region; can't
+                                       // possibly have a 1-mismatch hit anywhere
+                                       assert_eq(r2.size(), ranges.size() - rangesInitSz);
+                                       return;   // can't match if query has Ns
+                               }
+                               if(nsInSeed == 1) {
+                                       nPos1 = (int)ii; // w/r/t LHS of anchor
+                               } else if(nsInSeed == 2) {
+                                       nPos2 = (int)ii; // w/r/t LHS of anchor
+                                       assert_gt(nPos2, nPos1);
+                               } else {
+                                       assert_eq(3, nsInSeed);
+                                       nPos3 = (int)ii; // w/r/t LHS of anchor
+                                       assert_gt(nPos3, nPos2);
+                               }
+                               // Make it look like an 'A' in the anchor
+                               c = 0;
+                               diffMask = (diffMask << 2llu) | 1llu;
+                       } else {
+                               diffMask <<= 2llu;
+                       }
+                       anchor = ((anchor << 2llu) | c);
+                       buffw = ((buffw << 2llu) | r);
+               }
+               // Check whether read is disqualified by Ns inside the seed
+               // region but outside the anchor region
+               if(seedAnchorOverhang) {
+                       assert_lt(anchorBitPairs, slen);
+                       for(uint32_t ii = anchorBitPairs; ii < slen; ii++) {
+                               uint32_t i = ii;
+                               if(!seedOnLeft) {
+                                       i = qlen - slen + ii;
+                               }
+                               if((int)qry[i] == 4) {
+                                       if(++nsInSeed > 3) {
+                                               assert_eq(r2.size(), ranges.size() - rangesInitSz);
+                                               return; // can't match if query has Ns
+                                       }
+                               }
+                       }
+               } else {
+                       assert_eq(anchorBitPairs, slen);
+               }
+               uint64_t bufbw = buffw;
+               // Slide the anchor out in either direction, alternating
+               // between right-to-left and left-to-right shifts, until all of
+               // the positions from qbegin to qend have been covered.
+               bool hi = false;
+               uint32_t riHi  = halfway;
+               uint32_t rirHi = halfway - begin;
+               uint32_t rirHiAnchor = rirHi + anchorBitPairs - 1;
+               uint32_t riLo  = halfway + 1;
+               uint32_t rirLo = halfway - begin + 1;
+               uint32_t lrSkips = anchorBitPairs;
+               uint32_t rlSkips = qlen;
+               if(!seedOnLeft && readSeedOverhang) {
+                       lrSkips += readSeedOverhang;
+                       assert_geq(rlSkips, readSeedOverhang);
+                       rlSkips -= readSeedOverhang;
+               }
+               for(uint32_t i = 1; i <= lim + 1; i++) {
+                       int r;       // new reference char
+                       uint64_t diff;
+                       assert_leq(skipLeftToRights, qlen);
+                       assert_leq(skipRightToLefts, qlen);
+                       if(hi) {
+                               hi = false;
+                               // Moving left-to-right
+                               riHi++;
+                               rirHi++;
+                               rirHiAnchor++;
+                               r = (int)ref[rirHiAnchor];
+                               if(r & 4) {
+                                       r = 0;
+                                       skipLeftToRights = lrSkips;
+                               }
+                               assert_lt(r, 4);
+                               // Bring in new base pair at the least significant
+                               // position
+                               buffw = ((buffw << 2llu) | r);
+                               if(useMask) buffw &= clearMask;
+                               if(skipLeftToRights > 0) {
+                                       skipLeftToRights--;
+                                       continue;
+                               }
+                               diff = (buffw ^ anchor) | diffMask;
+                       } else {
+                               hi = true;
+                               // Moving right-to-left
+                               riLo--;
+                               rirLo--;
+                               r = (int)ref[rirLo];
+                               if(r & 4) {
+                                       r = 0;
+                                       skipRightToLefts = rlSkips;
+                               }
+                               assert_lt(r, 4);
+                               if(i >= 2) {
+                                       bufbw >>= 2llu;
+                                       // Bring in new base pair at the most significant
+                                       // position
+                                       bufbw |= ((uint64_t)r << lhsShift);
+                               }
+                               if(skipRightToLefts > 0) {
+                                       skipRightToLefts--;
+                                       continue;
+                               }
+                               diff = (bufbw ^ anchor) | diffMask;
+                       }
+                       if((diff & 0xf000f000f000f000llu) &&
+                          (diff & 0x0f000f000f000f00llu) &&
+                          (diff & 0x00f000f000f000f0llu) &&
+                          (diff & 0x000f000f000f000fllu)) continue;
+                       if((diff & 0xc003c003c003c003llu) &&
+                          (diff & 0x3c003c003c003c00llu) &&
+                          (diff & 0x03c003c003c003c0llu) &&
+                          (diff & 0x003c003c003c003cllu)) continue;
+                       uint32_t ri  = hi ? riLo  : riHi;
+                       uint32_t rir = hi ? rirLo : rirHi;
+                       // Could use pop count
+                       uint8_t *diff8 = reinterpret_cast<uint8_t*>(&diff);
+                       // As a first cut, see if there are too many mismatches in
+                       // the first and last parts of the anchor
+                       uint32_t diffs = u8toMms[(int)diff8[0]] + u8toMms[(int)diff8[7]];
+                       if(diffs > 3) continue;
+                       diffs += u8toMms[(int)diff8[1]] +
+                                        u8toMms[(int)diff8[2]] +
+                                        u8toMms[(int)diff8[3]] +
+                                        u8toMms[(int)diff8[4]] +
+                                        u8toMms[(int)diff8[5]] +
+                                        u8toMms[(int)diff8[6]];
+                       uint32_t mmpos1 = 0xffffffff;
+                       int refc1 = -1;
+                       uint32_t mmpos2 = 0xffffffff;
+                       int refc2 = -1;
+                       uint32_t mmpos3 = 0xffffffff;
+                       int refc3 = -1;
+                       unsigned int ham = 0;
+                       if(diffs > 3) {
+                               // Too many differences in the seed; stop
+                               continue;
+                       } else if(nPoss > 1 && diffs == nPoss) {
+                               // There was one difference, but there was also one N,
+                               // so we already know where the difference is
+                               mmpos1 = nPos1;
+                               refc1 = "ACGT"[(int)ref[rir + nPos1]];
+                               if(!seedOnLeft) {
+                                       mmpos1 += readSeedOverhang;
+                               }
+                               char q = quals[mmpos1];
+                               ham += mmPenalty(this->maqPenalty_, phredCharToPhredQual(q));
+                               if(ham > this->qualMax_) {
+                                       // Exceeded quality limit
+                                       continue;
+                               }
+                               if(nPoss > 1) {
+                                       mmpos2 = nPos2;
+                                       refc2 = "ACGT"[(int)ref[rir + nPos2]];
+                                       if(!seedOnLeft) {
+                                               mmpos2 += readSeedOverhang;
+                                       }
+                                       q = quals[mmpos2];
+                                       ham += mmPenalty(this->maqPenalty_, phredCharToPhredQual(q));
+                                       if(ham > this->qualMax_) {
+                                               // Exceeded quality limit
+                                               continue;
+                                       }
+                                       if(nPoss > 3) {
+                                               mmpos3 = nPos3;
+                                               refc3 = "ACGT"[(int)ref[rir + nPos3]];
+                                               if(!seedOnLeft) {
+                                                       mmpos3 += readSeedOverhang;
+                                               }
+                                               q = quals[mmpos3];
+                                               ham += mmPenalty(this->maqPenalty_, phredCharToPhredQual(q));
+                                               if(ham > this->qualMax_) {
+                                                       // Exceeded quality limit
+                                                       continue;
+                                               }
+                                       }
+                               }
+                       } else if(diffs > 0) {
+                               // Figure out which position mismatched
+                               uint64_t diff2 = diff;
+                               mmpos1 = 31;
+                               if((diff & 0xffffffffllu) == 0) { diff >>= 32llu; mmpos1 -= 16; }
+                               assert_neq(0, diff);
+                               if((diff & 0xffffllu) == 0)     { diff >>= 16llu; mmpos1 -=  8; }
+                               assert_neq(0, diff);
+                               if((diff & 0xffllu) == 0)       { diff >>= 8llu;  mmpos1 -=  4; }
+                               assert_neq(0, diff);
+                               if((diff & 0xfllu) == 0)        { diff >>= 4llu;  mmpos1 -=  2; }
+                               assert_neq(0, diff);
+                               if((diff & 0x3llu) == 0)        { mmpos1--; }
+                               assert_neq(0, diff);
+                               assert_geq(mmpos1, 0);
+                               assert_lt(mmpos1, 32);
+                               uint32_t savedMmpos1 = mmpos1;
+                               mmpos1 -= anchorCushion;
+                               assert_lt(mmpos1, anchorBitPairs);
+                               refc1 = "ACGT"[(int)ref[rir + mmpos1]];
+                               if(!seedOnLeft) {
+                                       mmpos1 += readSeedOverhang;
+                               }
+                               char q = quals[mmpos1];
+                               ham += mmPenalty(this->maqPenalty_, phredCharToPhredQual(q));
+                               if(ham > this->qualMax_) {
+                                       // Exceeded quality limit
+                                       continue;
+                               }
+                               if(diffs > 1) {
+                                       // Figure out the second mismatched position
+                                       ASSERT_ONLY(uint64_t origDiff2 = diff2);
+                                       diff2 &= ~(0xc000000000000000llu >> (uint64_t)((savedMmpos1) << 1));
+                                       uint64_t diff3 = diff2;
+                                       assert_neq(diff2, origDiff2);
+                                       mmpos2 = 31;
+                                       if((diff2 & 0xffffffffllu) == 0) { diff2 >>= 32llu; mmpos2 -= 16; }
+                                       assert_neq(0, diff2);
+                                       if((diff2 & 0xffffllu) == 0)     { diff2 >>= 16llu; mmpos2 -=  8; }
+                                       assert_neq(0, diff2);
+                                       if((diff2 & 0xffllu) == 0)       { diff2 >>= 8llu;  mmpos2 -=  4; }
+                                       assert_neq(0, diff2);
+                                       if((diff2 & 0xfllu) == 0)        { diff2 >>= 4llu;  mmpos2 -=  2; }
+                                       assert_neq(0, diff2);
+                                       if((diff2 & 0x3llu) == 0)        { mmpos2--; }
+                                       assert_neq(0, diff2);
+                                       assert_geq(mmpos2, 0);
+                                       assert_lt(mmpos2, 32);
+                                       uint32_t savedMmpos2 = mmpos2;
+                                       mmpos2 -= anchorCushion;
+                                       assert_neq(mmpos1, mmpos2);
+                                       refc2 = "ACGT"[(int)ref[rir + mmpos2]];
+                                       if(!seedOnLeft) {
+                                               mmpos2 += readSeedOverhang;
+                                       }
+                                       q = quals[mmpos2];
+                                       ham += mmPenalty(this->maqPenalty_, phredCharToPhredQual(q));
+                                       if(ham > this->qualMax_) {
+                                               // Exceeded quality limit
+                                               continue;
+                                       }
+                                       if(mmpos2 < mmpos1) {
+                                               uint32_t mmtmp = mmpos1;
+                                               mmpos1 = mmpos2;
+                                               mmpos2 = mmtmp;
+                                               int refctmp = refc1;
+                                               refc1 = refc2;
+                                               refc2 = refctmp;
+                                       }
+                                       assert_lt(mmpos1, mmpos2);
+                                       if(diffs > 2) {
+                                               // Figure out the second mismatched position
+                                               ASSERT_ONLY(uint32_t origDiff3 = diff3);
+                                               diff3 &= ~(0xc000000000000000llu >> (uint64_t)((savedMmpos2) << 1));
+                                               assert_neq(diff3, origDiff3);
+                                               mmpos3 = 31;
+                                               if((diff3 & 0xffffffffllu) == 0) { diff3 >>= 32llu; mmpos3 -= 16; }
+                                               assert_neq(0, diff3);
+                                               if((diff3 & 0xffffllu) == 0)     { diff3 >>= 16llu; mmpos3 -=  8; }
+                                               assert_neq(0, diff3);
+                                               if((diff3 & 0xffllu) == 0)       { diff3 >>= 8llu;  mmpos3 -=  4; }
+                                               assert_neq(0, diff3);
+                                               if((diff3 & 0xfllu) == 0)        { diff3 >>= 4llu;  mmpos3 -=  2; }
+                                               assert_neq(0, diff3);
+                                               if((diff3 & 0x3llu) == 0)        { mmpos3--; }
+                                               assert_neq(0, diff3);
+                                               assert_geq(mmpos3, 0);
+                                               assert_lt(mmpos3, 32);
+                                               mmpos3 -= anchorCushion;
+                                               assert_neq(mmpos2, mmpos3);
+                                               assert_neq(mmpos1, mmpos3);
+                                               refc3 = "ACGT"[(int)ref[rir + mmpos3]];
+                                               if(!seedOnLeft) {
+                                                       mmpos3 += readSeedOverhang;
+                                               }
+                                               q = quals[mmpos3];
+                                               ham += mmPenalty(this->maqPenalty_, phredCharToPhredQual(q));
+                                               if(ham > this->qualMax_) {
+                                                       // Exceeded quality limit
+                                                       continue;
+                                               }
+                                               if(mmpos3 < mmpos1) {
+                                                       uint32_t mmtmp = mmpos1;
+                                                       mmpos1 = mmpos3;
+                                                       mmpos3 = mmpos2;
+                                                       mmpos2 = mmtmp;
+                                                       int refctmp = refc1;
+                                                       refc1 = refc3;
+                                                       refc3 = refc2;
+                                                       refc2 = refctmp;
+                                               } else if(mmpos3 < mmpos2) {
+                                                       uint32_t mmtmp = mmpos2;
+                                                       mmpos2 = mmpos3;
+                                                       mmpos3 = mmtmp;
+                                                       int refctmp = refc2;
+                                                       refc2 = refc3;
+                                                       refc3 = refctmp;
+                                               }
+                                               assert_lt(mmpos1, mmpos2);
+                                               assert_lt(mmpos2, mmpos3);
+                                       }
+                               }
+                       }
+                       // If the seed is longer than the anchor, then scan the
+                       // rest of the seed characters
+                       bool foundHit = true;
+                       if(seedAnchorOverhang) {
+                               for(uint32_t j = 0; j < seedAnchorOverhang; j++) {
+                                       int rc = (int)ref[rir + anchorBitPairs + j];
+                                       if(rc == 4) {
+                                               // Oops, encountered an N in the reference in
+                                               // the overhang portion of the candidate
+                                               // alignment
+                                               // (Note that we inverted hi earlier)
+                                               if(hi) {
+                                                       // Right-to-left
+                                                       // Skip out of the seedAnchorOverhang
+                                                       assert_eq(0, skipRightToLefts);
+                                                       skipRightToLefts = seedAnchorOverhang - j - 1;
+                                                       if(seedOnLeft) {
+                                                               // ...and skip out of the rest of the read
+                                                               skipRightToLefts += readSeedOverhang;
+                                                       }
+                                               } else {
+                                                       // Left-to-right
+                                                       // Skip out of the seedAnchorOverhang
+                                                       assert_eq(0, skipLeftToRights);
+                                                       skipLeftToRights = anchorBitPairs + j;
+                                                       if(!seedOnLeft) {
+                                                               // ...and skip out of the rest of the read
+                                                               skipLeftToRights += readSeedOverhang;
+                                                       }
+                                               }
+                                               foundHit = false; // Skip this candidate
+                                               break;
+                                       }
+                                       uint32_t qoff = anchorBitPairs + j;
+                                       if(!seedOnLeft) {
+                                               qoff += readSeedOverhang;
+                                       }
+                                       assert_lt(qoff, qlen);
+                                       if((int)qry[qoff] != rc) {
+                                               diffs++;
+                                               if(diffs > 3) {
+                                                       foundHit = false;
+                                                       break;
+                                               } else if(diffs == 3) {
+                                                       assert_eq(0xffffffff, mmpos3);
+                                                       mmpos3 = qoff;
+                                                       assert_eq(-1, refc3);
+                                                       refc3 = "ACGT"[(int)ref[rir + anchorBitPairs + j]];
+                                               } else if(diffs == 2) {
+                                                       assert_eq(0xffffffff, mmpos2);
+                                                       mmpos2 = qoff;
+                                                       assert_eq(-1, refc2);
+                                                       refc2 = "ACGT"[(int)ref[rir + anchorBitPairs + j]];
+                                               } else {
+                                                       assert_eq(1, diffs);
+                                                       assert_eq(0xffffffff, mmpos1);
+                                                       mmpos1 = qoff;
+                                                       assert_eq(-1, refc1);
+                                                       refc1 = "ACGT"[(int)ref[rir + anchorBitPairs + j]];
+                                               }
+                                               char q = phredCharToPhredQual(quals[qoff]);
+                                               ham += mmPenalty(this->maqPenalty_, q);
+                                               if(ham > this->qualMax_) {
+                                                       // Exceeded quality limit
+                                                       foundHit = false;
+                                                       break;
+                                               }
+                                       }
+                               }
+                               if(!foundHit) continue;
+                       }
+                       // If the read is longer than the seed, then scan the rest
+                       // of the read characters; mismatches no longer count
+                       // toward the stratum or the 1-mm limit.
+                       // Vectors for holding edit information
+                       std::vector<uint32_t> nonSeedMms;
+                       std::vector<uint8_t> nonSeedRefcs;
+                       int mms = diffs; // start counting total mismatches
+                       if((qlen - slen) > 0) {
+                               // Going left-to-right
+                               for(uint32_t j = 0; j < readSeedOverhang; j++) {
+                                       uint32_t roff = rir + slen + j;
+                                       uint32_t qoff = slen + j;
+                                       if(!seedOnLeft) {
+                                               assert_geq(roff, qlen);
+                                               roff -= qlen;
+                                               qoff = j;
+                                       }
+                                       int rc = (int)ref[roff];
+                                       if(rc == 4) {
+                                               // Oops, encountered an N in the reference in
+                                               // the overhang portion of the candidate
+                                               // alignment
+                                               // (Note that we inverted hi earlier)
+                                               if(hi) {
+                                                       // Right-to-left
+                                                       // Skip what's left of the readSeedOverhang
+                                                       skipRightToLefts = readSeedOverhang - j - 1;
+                                                       if(!seedOnLeft) {
+                                                               // ...and skip the seed if it's on the right
+                                                               skipRightToLefts += slen;
+                                                       }
+                                               } else {
+                                                       // Left-to-right
+                                                       // Skip what we've matched of the overhang
+                                                       skipLeftToRights = j;
+                                                       if(seedOnLeft) {
+                                                               // ...and skip the seed if it's on the left
+                                                               skipLeftToRights += slen;
+                                                       }
+                                               }
+                                               foundHit = false; // Skip this candidate
+                                               break;
+                                       }
+                                       if((int)qry[qoff] != rc) {
+                                               // Calculate quality of mismatched base
+                                               char q = phredCharToPhredQual(quals[qoff]);
+                                               ham += mmPenalty(this->maqPenalty_, q);
+                                               if(ham > this->qualMax_) {
+                                                       // Exceeded quality limit
+                                                       foundHit = false;
+                                                       break;
+                                               }
+                                               // Legal mismatch outside of the anchor; record it
+                                               mms++;
+                                               nonSeedMms.push_back(qoff);
+                                               assert_leq(nonSeedMms.size(), (size_t)mms);
+                                               nonSeedRefcs.push_back("ACGTN"[rc]);
+                                       }
+                               }
+                               if(!foundHit) continue;
+                       }
+                       assert(foundHit);
+                       // Adjust ri if seed is on the right-hand side
+                       if(!seedOnLeft) {
+                               ri -= readSeedOverhang;
+                               rir -= readSeedOverhang;
+                       }
+                       if(pairs != NULL) {
+                               TU64Pair p;
+                               if(ri < aoff) {
+                                       // By convention, the upstream mate's
+                                       // coordinates go in the 'first' field
+                                       p.first  = ((uint64_t)tidx << 32) | (uint64_t)ri;
+                                       p.second = ((uint64_t)tidx << 32) | (uint64_t)aoff;
+                               } else {
+                                       p.second = ((uint64_t)tidx << 32) | (uint64_t)ri;
+                                       p.first  = ((uint64_t)tidx << 32) | (uint64_t)aoff;
+                               }
+                               if(pairs->find(p) != pairs->end()) {
+                                       // We already found this hit!  Continue.
+                                       ASSERT_ONLY(duplicates++);
+                                       ASSERT_ONLY(r2i++);
+                                       continue;
+                               } else {
+                                       // Record this hit
+                                       pairs->insert(p);
+                               }
+                       }
+                       if(this->verbose_) {
+                               cout << "About to report:" << endl;
+                               cout << "  ";
+                               for(size_t i = 0; i < qlen; i++) {
+                                       cout << (char)qry[i];
+                               }
+                               cout << endl;
+                               cout << "  ";
+                               for(size_t i = 0; i < qlen; i++) {
+                                       cout << "ACGT"[ref[rir+i]];
+                               }
+                               cout << endl;
+                       }
+                       assert_leq(diffs, 3);
+                       assert_geq((size_t)mms, diffs);
+                       assert_lt(r2i, r2.size());
+                       assert_eq(re2[r2i], ri);
+                       ranges.resize(ranges.size()+1);
+                       Range& range = ranges.back();
+                       assert_eq((size_t)mms, r2[r2i].numMms);
+                       range.stratum = diffs;
+                       range.numMms = mms;
+                       assert_eq(0, range.mms.size());
+                       assert_eq(0, range.refcs.size());
+                       if(mms > 0) {
+                               ASSERT_ONLY(size_t mmcur = 0);
+                               if(seedOnLeft && diffs > 0) {
+                                       assert_neq(mmpos1, 0xffffffff);
+                                       assert_lt(mmpos1, qlen);
+                                       assert_lt(mmcur, (size_t)mms);
+                                       assert_eq(mmpos1, r2[r2i].mms[mmcur]);
+                                       assert_neq(-1, refc1);
+                                       assert_eq(refc1, r2[r2i].refcs[mmcur]);
+                                       ASSERT_ONLY(mmcur++);
+                                       range.mms.push_back(mmpos1);
+                                       range.refcs.push_back(refc1);
+                                       if(diffs > 1) {
+                                               assert_neq(mmpos2, 0xffffffff);
+                                               assert_lt(mmpos2, qlen);
+                                               assert_lt(mmcur, (size_t)mms);
+                                               assert_eq(mmpos2, r2[r2i].mms[mmcur]);
+                                               assert_neq(-1, refc2);
+                                               assert_eq(refc2, r2[r2i].refcs[mmcur]);
+                                               ASSERT_ONLY(mmcur++);
+                                               range.mms.push_back(mmpos2);
+                                               range.refcs.push_back(refc2);
+                                               if(diffs > 2) {
+                                                       assert_eq(3, diffs);
+                                                       assert_neq(mmpos3, 0xffffffff);
+                                                       assert_lt(mmpos3, qlen);
+                                                       assert_lt(mmcur, (size_t)mms);
+                                                       assert_eq(mmpos3, r2[r2i].mms[mmcur]);
+                                                       assert_neq(-1, refc3);
+                                                       assert_eq(refc3, r2[r2i].refcs[mmcur]);
+                                                       ASSERT_ONLY(mmcur++);
+                                                       range.mms.push_back(mmpos3);
+                                                       range.refcs.push_back(refc3);
+                                               }
+                                       }
+                               }
+                               const size_t nonSeedMmsSz = nonSeedMms.size();
+                               for(size_t i = 0; i < nonSeedMmsSz; i++) {
+                                       assert_neq(0xffffffff, nonSeedMms[i]);
+                                       assert_lt(mmcur, (size_t)mms);
+                                       assert_eq(nonSeedMms[i], r2[r2i].mms[mmcur]);
+                                       range.mms.push_back(nonSeedMms[i]);
+                                       assert_eq(nonSeedRefcs[i], r2[r2i].refcs[mmcur]);
+                                       ASSERT_ONLY(mmcur++);
+                                       range.refcs.push_back(nonSeedRefcs[i]);
+                               }
+                               if(!seedOnLeft && diffs > 0) {
+                                       assert_neq(mmpos1, 0xffffffff);
+                                       assert_lt(mmpos1, qlen);
+                                       assert_lt(mmcur, (size_t)mms);
+                                       assert_eq(mmpos1, r2[r2i].mms[mmcur]);
+                                       assert_neq(-1, refc1);
+                                       assert_eq(refc1, r2[r2i].refcs[mmcur]);
+                                       ASSERT_ONLY(mmcur++);
+                                       range.mms.push_back(mmpos1);
+                                       range.refcs.push_back(refc1);
+                                       if(diffs > 1) {
+                                               assert_neq(mmpos2, 0xffffffff);
+                                               assert_lt(mmpos2, qlen);
+                                               assert_lt(mmcur, (size_t)mms);
+                                               assert_eq(mmpos2, r2[r2i].mms[mmcur]);
+                                               assert_neq(-1, refc2);
+                                               assert_eq(refc2, r2[r2i].refcs[mmcur]);
+                                               ASSERT_ONLY(mmcur++);
+                                               range.mms.push_back(mmpos2);
+                                               range.refcs.push_back(refc2);
+                                               if(diffs > 2) {
+                                                       assert_eq(3, diffs);
+                                                       assert_neq(mmpos3, 0xffffffff);
+                                                       assert_lt(mmpos3, qlen);
+                                                       assert_lt(mmcur, (size_t)mms);
+                                                       assert_eq(mmpos3, r2[r2i].mms[mmcur]);
+                                                       assert_neq(-1, refc3);
+                                                       assert_eq(refc3, r2[r2i].refcs[mmcur]);
+                                                       ASSERT_ONLY(mmcur++);
+                                                       range.mms.push_back(mmpos3);
+                                                       range.refcs.push_back(refc3);
+                                               }
+                                       }
+                               }
+                               assert_eq(mmcur, r2[r2i].mms.size());
+                       }
+                       assert_eq((size_t)mms, range.mms.size());
+                       assert_eq((size_t)mms, range.refcs.size());
+                       ASSERT_ONLY(r2i++);
+                       results.push_back(ri);
+                       if(--numToFind == 0) return;
+               }
+               assert_leq(duplicates, r2.size());
+               assert_geq(r2.size() - duplicates, ranges.size() - rangesInitSz);
+               return; // no hit
+       }
+};
+
+#endif /* REF_ALIGNER_H_ */
diff --git a/ref_read.cpp b/ref_read.cpp
new file mode 100644 (file)
index 0000000..f83b9a7
--- /dev/null
@@ -0,0 +1,298 @@
+#include "ref_read.h"
+
+/**
+ * Reads past the next ambiguous or unambiguous stretch of sequence
+ * from the given FASTA file and returns its length.  Does not do
+ * anything with the sequence characters themselves; this is purely for
+ * measuring lengths.
+ */
+RefRecord fastaRefReadSize(FileBuf& in,
+                           const RefReadInParams& rparms,
+                           bool first,
+                           BitpairOutFileBuf* bpout)
+{
+       int c;
+       static int lastc = '>'; // last character seen
+
+       // RefRecord params
+       size_t len = 0; // 'len' counts toward total length
+       // 'off' counts number of ambiguous characters before first
+       // unambiguous character
+       size_t off = 0;
+
+       // Pick off the first carat and any preceding whitespace
+       if(first) {
+               assert(!in.eof());
+               lastc = '>';
+               c = in.getPastWhitespace();
+               if(in.eof()) {
+                       // Got eof right away; emit warning
+                       cerr << "Warning: Empty input file" << endl;
+                       lastc = -1;
+                       return RefRecord(0, 0, true);
+               }
+               assert(c == '>');
+       }
+
+       first = true;
+       // Skip to the end of the id line; if the next line is either
+       // another id line or a comment line, keep skipping
+       if(lastc == '>') {
+               // Skip to the end of the name line
+               do {
+                       if((c = in.getPastNewline()) == -1) {
+                               // No more input
+                               cerr << "Warning: Encountered empty reference sequence" << endl;
+                               lastc = -1;
+                               return RefRecord(0, 0, true);
+                       }
+                       if(c == '>') {
+                               cerr << "Warning: Encountered empty reference sequence" << endl;
+                       }
+                       // continue until a non-name, non-comment line
+               } while (c == '>');
+       } else {
+               first = false; // not the first in a sequence
+               off = 1; // The gap has already been consumed, so count it
+               if((c = in.get()) == -1) {
+                       // Don't emit a warning, since this might legitimately be
+                       // a gap on the end of the final sequence in the file
+                       lastc = -1;
+                       return RefRecord(off, len, first);
+               }
+       }
+
+       // Now skip to the first DNA character, counting gap characters
+       // as we go
+       int lc = -1; // last-DNA char variable for color conversion
+       while(true) {
+               int cat = dna4Cat[c];
+               if(rparms.nsToAs && cat == 2) c = 'A';
+               if(cat == 1) {
+                       // This is a DNA character
+                       if(rparms.color) {
+                               if(lc != -1) {
+                                       // Got two consecutive unambiguous DNAs
+                                       break; // to read-in loop
+                               }
+                               // Keep going; we need two consecutive unambiguous DNAs
+                               lc = charToDna5[(int)c];
+                               // The 'if(off > 0)' takes care of the case where
+                               // the reference is entirely unambiguous and we don't
+                               // want to incorrectly increment off.
+                               if(off > 0) off++;
+                       } else {
+                               break; // to read-in loop
+                       }
+               } else if(cat == 2) {
+                       if(lc != -1 && off == 0) off++;
+                       lc = -1;
+                       off++; // skip over gap character and increment
+               } else if(c == '>') {
+                       if(off > 0 && lastc == '>') {
+                               cerr << "Warning: Encountered reference sequence with only gaps" << endl;
+                       } else if(lastc == '>') {
+                               cerr << "Warning: Encountered empty reference sequence" << endl;
+                       }
+                       lastc = '>';
+                       return RefRecord(off, 0, first);
+               }
+               c = in.get();
+               if(c == -1) {
+                       // End-of-file
+                       if(off > 0 && lastc == '>') {
+                               cerr << "Warning: Encountered reference sequence with only gaps" << endl;
+                       } else if(lastc == '>') {
+                               cerr << "Warning: Encountered empty reference sequence" << endl;
+                       }
+                       lastc = -1;
+                       return RefRecord(off, 0, first);
+               }
+       }
+       assert(!rparms.color || (lc != -1));
+       assert_eq(1, dna4Cat[c]); // C must be unambiguous base
+       if(off > 0 && rparms.color && first) {
+               // Handle the case where the first record has ambiguous
+               // characters but we're in color space; one of those counts is
+               // spurious
+               off--;
+       }
+
+       // in now points just past the first character of a sequence
+       // line, and c holds the first character
+       while(c != -1 && c != '>') {
+               if(rparms.nsToAs && dna4Cat[c] == 2) c = 'A';
+               uint8_t cat = dna4Cat[c];
+               int cc = toupper(c);
+               if(rparms.bisulfite && cc == 'C') c = cc = 'T';
+               if(cat == 1) {
+                       // It's a DNA character
+                       assert(cc == 'A' || cc == 'C' || cc == 'G' || cc == 'T');
+                       // Consume it
+                       len++;
+                       // Output it
+                       if(bpout != NULL) {
+                               if(rparms.color) {
+                                       // output color
+                                       bpout->write(dinuc2color[charToDna5[(int)c]][lc]);
+                               } else if(!rparms.color) {
+                                       // output nucleotide
+                                       bpout->write(charToDna5[c]);
+                               }
+                       }
+                       lc = charToDna5[(int)c];
+               } else if(cat == 2) {
+                       // It's an N or a gap
+                       lastc = c;
+                       assert(cc != 'A' && cc != 'C' && cc != 'G' && cc != 'T');
+                       return RefRecord(off, len, first);
+               } else {
+                       // Not DNA and not a gap, ignore it
+#ifndef NDEBUG
+                       if(!isspace(c)) {
+                               cerr << "Unexpected character in sequence: ";
+                               if(isprint(c)) {
+                                       cerr << ((char)c) << endl;
+                               } else {
+                                       cerr << "(" << c << ")" << endl;
+                               }
+                       }
+#endif
+               }
+               c = in.get();
+       }
+       lastc = c;
+       return RefRecord(off, len, first);
+}
+
+static void
+printRecords(ostream& os, const vector<RefRecord>& l) {
+       for(size_t i = 0; i < l.size(); i++) {
+               os << l[i].first << ", " << l[i].off << ", " << l[i].len << endl;
+       }
+}
+
+/**
+ * Reverse the 'src' list of RefRecords into the 'dst' list.  Don't
+ * modify 'src'.
+ */
+void reverseRefRecords(const vector<RefRecord>& src,
+                                          vector<RefRecord>& dst,
+                                          bool recursive,
+                                          bool verbose)
+{
+       dst.clear();
+       {
+               vector<RefRecord> cur;
+               for(int i = src.size()-1; i >= 0; i--) {
+                       bool first = (i == (int)src.size()-1 || src[i+1].first);
+                       if(src[i].len) {
+                               cur.push_back(RefRecord(0, src[i].len, first));
+                               first = false;
+                       }
+                       if(src[i].off) cur.push_back(RefRecord(src[i].off, 0, first));
+               }
+               bool mergedLast;
+               for(int i = 0; i < (int)cur.size(); i++) {
+                       mergedLast = false;
+                       assert(cur[i].off == 0 || cur[i].len == 0);
+                       if(i < (int)cur.size()-1 && cur[i].off != 0 && !cur[i+1].first) {
+                               dst.push_back(RefRecord(cur[i].off, cur[i+1].len, cur[i].first));
+                               i++;
+                               mergedLast = true;
+                       } else {
+                               dst.push_back(cur[i]);
+                       }
+               }
+       }
+       if(verbose) {
+               cout << "Source: " << endl;
+               printRecords(cout, src);
+               cout << "Dest: " << endl;
+               printRecords(cout, dst);
+       }
+#ifndef NDEBUG
+       if(!recursive) {
+               vector<RefRecord> tmp;
+               reverseRefRecords(dst, tmp, true);
+               assert_eq(tmp.size(), src.size());
+               for(size_t i = 0; i < src.size(); i++) {
+                       assert_eq(src[i].len, tmp[i].len);
+                       assert_eq(src[i].off, tmp[i].off);
+                       assert_eq(src[i].first, tmp[i].first);
+               }
+       }
+#endif
+}
+
+/**
+ * Calculate a vector containing the sizes of all of the patterns in
+ * all of the given input files, in order.  Returns the total size of
+ * all references combined.  Rewinds each istream before returning.
+ */
+std::pair<size_t, size_t>
+fastaRefReadSizes(vector<FileBuf*>& in,
+                  vector<RefRecord>& recs,
+                  vector<uint32_t>& plens,
+                  const RefReadInParams& rparms,
+                  BitpairOutFileBuf* bpout,
+                  int& numSeqs)
+{
+       uint32_t unambigTot = 0;
+       uint32_t bothTot = 0;
+       RefReadInParams rpcp = rparms;
+       assert_gt(in.size(), 0);
+       uint32_t both = 0, unambig = 0;
+       // For each input istream
+       for(size_t i = 0; i < in.size(); i++) {
+               bool first = true;
+               assert(!in[i]->eof());
+               // For each pattern in this istream
+               while(!in[i]->eof()) {
+                       RefRecord rec = fastaRefReadSize(*in[i], rparms, first, bpout);
+                       // Update plens
+                       if(rec.first) {
+                               if(unambig > 0) {
+                                       plens.push_back(both);
+                               }
+                               both = 0;
+                               unambig = 0;
+                       }
+#ifndef ACCOUNT_FOR_ALL_GAP_REFS
+                       if(rec.len == 0) rec.first = false;
+#endif
+                       if((unambigTot + rec.len) < unambigTot) {
+                               cerr << "Error: Reference sequence has more than 2^32-1 characters!  Please divide the" << endl
+                                    << "reference into batches or chunks of about 3.6 billion characters or less each" << endl
+                                    << "and index each independently." << endl;
+                               throw 1;
+                       }
+                       // Add the length of this record.
+                       if(rec.first) numSeqs++;
+                       unambigTot += rec.len; unambig += rec.len;
+                       bothTot += rec.len;    both += rec.len;
+                       bothTot += rec.off;    both += rec.off;
+                       first = false;
+                       if(rec.len == 0 && rec.off == 0 && !rec.first) continue;
+                       recs.push_back(rec);
+               }
+               // Reset the input stream
+               in[i]->reset();
+               assert(!in[i]->eof());
+#ifndef NDEBUG
+               // Check that it's really reset
+               int c = in[i]->get();
+               assert_eq('>', c);
+               in[i]->reset();
+               assert(!in[i]->eof());
+#endif
+       }
+       assert_geq(bothTot, 0);
+       assert_geq(unambigTot, 0);
+       if(unambig > 0) {
+               plens.push_back(both);
+       }
+       return make_pair(
+               unambigTot, // total number of unambiguous DNA characters read
+               bothTot); // total number of DNA characters read, incl. ambiguous ones
+}
diff --git a/ref_read.h b/ref_read.h
new file mode 100644 (file)
index 0000000..4da766e
--- /dev/null
@@ -0,0 +1,285 @@
+#ifndef REF_READ_H_
+#define REF_READ_H_
+
+#include <iostream>
+#include <cassert>
+#include <vector>
+#include <string>
+#include <ctype.h>
+#include <fstream>
+#include <stdexcept>
+#include <seqan/sequence.h>
+#include "alphabet.h"
+#include "assert_helpers.h"
+#include "filebuf.h"
+#include "word_io.h"
+
+using namespace std;
+using namespace seqan;
+
+/**
+ * Encapsulates a stretch of the reference containing only unambiguous
+ * characters.  From an ordered list of RefRecords, one can (almost)
+ * deduce the "shape" of the reference sequences (almost because we
+ * lose information about stretches of ambiguous characters at the end
+ * of reference sequences).
+ */
+struct RefRecord {
+       RefRecord() : off(), len(), first() { }
+       RefRecord(uint32_t _off, uint32_t _len, bool _first) :
+               off(_off), len(_len), first(_first)
+       { }
+
+       RefRecord(FILE *in, bool swap) {
+               assert(in != NULL);
+               if(!fread(&off, 4, 1, in)) {
+                       cerr << "Error reading RefRecord offset from FILE" << endl;
+                       throw 1;
+               }
+               if(swap) off = endianSwapU32(off);
+               if(!fread(&len, 4, 1, in)) {
+                       cerr << "Error reading RefRecord offset from FILE" << endl;
+                       throw 1;
+               }
+               if(swap) len = endianSwapU32(len);
+               first = fgetc(in) ? true : false;
+       }
+
+       RefRecord(int in, bool swap) {
+               off = readU32(in, swap);
+               len = readU32(in, swap);
+               char c;
+               if(!read(in, &c, 1)) {
+                       cerr << "Error reading RefRecord 'first' flag" << endl;
+                       throw 1;
+               }
+               first = (c ? true : false);
+       }
+
+       void write(std::ostream& out, bool be) {
+               writeU32(out, off, be);
+               writeU32(out, len, be);
+               out.put(first ? 1 : 0);
+       }
+
+       uint32_t off; /// Offset of the first character in the record
+       uint32_t len; /// Length of the record
+       bool   first; /// Whether this record is the first for a reference sequence
+};
+
+enum {
+       REF_READ_FORWARD = 0, // don't reverse reference sequence
+       REF_READ_REVERSE,     // reverse entire reference sequence
+       REF_READ_REVERSE_EACH // reverse each unambiguous stretch of reference
+};
+
+/**
+ * Parameters governing treatment of references as they're read in.
+ */
+struct RefReadInParams {
+       RefReadInParams(bool col, int r, bool nsToA, bool bisulf) :
+               color(col), reverse(r), nsToAs(nsToA), bisulfite(bisulf) { }
+       // extract colors from reference
+       bool color;
+       // reverse each reference sequence before passing it along
+       int reverse;
+       // convert ambiguous characters to As
+       bool nsToAs;
+       // bisulfite-convert the reference
+       bool bisulfite;
+};
+
+extern RefRecord
+fastaRefReadSize(
+       FileBuf& in,
+       const RefReadInParams& rparms,
+       bool first,
+       BitpairOutFileBuf* bpout = NULL);
+
+extern std::pair<size_t, size_t>
+fastaRefReadSizes(
+       vector<FileBuf*>& in,
+       vector<RefRecord>& recs,
+       vector<uint32_t>& plens,
+       const RefReadInParams& rparms,
+       BitpairOutFileBuf* bpout,
+       int& numSeqs);
+
+extern void
+reverseRefRecords(
+       const vector<RefRecord>& src,
+       vector<RefRecord>& dst,
+       bool recursive = false,
+       bool verbose = false);
+
+/**
+ * Reads the next sequence from the given FASTA file and appends it to
+ * the end of dst, optionally reversing it.
+ */
+template <typename TStr>
+static RefRecord fastaRefReadAppend(FileBuf& in,
+                                    bool first,
+                                    TStr& dst,
+                                    RefReadInParams& rparms,
+                                    string* name = NULL)
+{
+       typedef typename Value<TStr>::Type TVal;
+       int c;
+       static int lastc = '>';
+       if(first) {
+               c = in.getPastWhitespace();
+               if(c != '>') {
+                       cerr << "Reference file does not seem to be a FASTA file" << endl;
+                       throw 1;
+               }
+               lastc = c;
+       }
+       assert_neq(-1, lastc);
+
+       // RefRecord params
+       size_t len = 0;
+       size_t off = 0;
+       first = true;
+
+       size_t ilen = length(dst);
+
+       // Chew up the id line; if the next line is either
+       // another id line or a comment line, keep chewing
+       int lc = -1; // last-DNA char variable for color conversion
+       c = lastc;
+       if(c == '>' || c == '#') {
+               do {
+                       while (c == '#') {
+                               if((c = in.getPastNewline()) == -1) {
+                                       lastc = -1;
+                                       goto bail;
+                               }
+                       }
+                       assert_eq('>', c);
+                       while(true) {
+                               c = in.get();
+                               if(c == -1) {
+                                       lastc = -1;
+                                       goto bail;
+                               }
+                               if(c == '\n' || c == '\r') {
+                                       while(c == '\r' || c == '\n') c = in.get();
+                                       if(c == -1) {
+                                               lastc = -1;
+                                               goto bail;
+                                       }
+                                       break;
+                               }
+                               if (name) name->push_back(c);
+                       }
+                       // c holds the first character on the line after the name
+                       // line
+               } while (c == '>' || c == '#');
+       } else {
+               ASSERT_ONLY(int cc = toupper(c));
+               assert(cc != 'A' && cc != 'C' && cc != 'G' && cc != 'T');
+               first = false;
+       }
+
+       // Skip over an initial stretch of gaps or ambiguous characters.
+       // For colorspace we skip until we see two consecutive unambiguous
+       // characters (i.e. the first unambiguous color).
+       while(true) {
+               int cat = dna4Cat[c];
+               if(rparms.nsToAs && cat == 2) {
+                       c = 'A';
+               }
+               int cc = toupper(c);
+               if(rparms.bisulfite && cc == 'C') c = cc = 'T';
+               if(cat == 1) {
+                       // This is a DNA character
+                       if(rparms.color) {
+                               if(lc != -1) {
+                                       // Got two consecutive unambiguous DNAs
+                                       break; // to read-in loop
+                               }
+                               // Keep going; we need two consecutive unambiguous DNAs
+                               lc = charToDna5[(int)c];
+                               // The 'if(off > 0)' takes care of the case where
+                               // the reference is entirely unambiguous and we don't
+                               // want to incorrectly increment off.
+                               if(off > 0) off++;
+                       } else {
+                               break; // to read-in loop
+                       }
+               } else if(cat == 2) {
+                       if(lc != -1 && off == 0) {
+                               off++;
+                       }
+                       lc = -1;
+                       off++; // skip it
+               } else if(c == '>') {
+                       lastc = '>';
+                       goto bail;
+               }
+               c = in.get();
+               if(c == -1) {
+                       lastc = -1;
+                       goto bail;
+               }
+       }
+       if(first && rparms.color && off > 0) {
+               // Handle the case where the first record has ambiguous
+               // characters but we're in color space; one of those counts is
+               // spurious
+               off--;
+       }
+       assert(!rparms.color || lc != -1);
+       assert_eq(1, dna4Cat[c]);
+
+       // in now points just past the first character of a sequence
+       // line, and c holds the first character
+       while(true) {
+               // Note: can't have a comment in the middle of a sequence,
+               // though a comment can end a sequence
+               int cat = dna4Cat[c];
+               assert_neq(2, cat);
+               if(cat == 1) {
+                       // Consume it
+                       if(!rparms.color || lc != -1) len++;
+                       // Add it to referenece buffer
+                       if(rparms.color) {
+                               appendValue(dst, (Dna)dinuc2color[charToDna5[(int)c]][lc]);
+                       } else if(!rparms.color) {
+                               appendValue(dst, (Dna)(char)c);
+                       }
+                       assert_lt((uint8_t)(Dna)dst[length(dst)-1], 4);
+                       lc = charToDna5[(int)c];
+               }
+               c = in.get();
+               if(rparms.nsToAs && dna4Cat[c] == 2) c = 'A';
+               if (c == -1 || c == '>' || c == '#' || dna4Cat[c] == 2) {
+                       lastc = c;
+                       break;
+               }
+               if(rparms.bisulfite && toupper(c) == 'C') c = 'T';
+       }
+
+  bail:
+       // Optionally reverse the portion that we just appended.
+       // ilen = length of buffer before this last sequence was appended.
+       if(rparms.reverse == REF_READ_REVERSE_EACH) {
+               // Find limits of the portion we just appended
+               size_t nlen = length(dst);
+               assert_eq(nlen - ilen, len);
+               if(len > 0) {
+                       size_t halfway =  ilen + (len>>1);
+                       // Reverse it in-place
+                       for(size_t i = ilen; i < halfway; i++) {
+                               size_t diff = i-ilen;
+                               size_t j = nlen-diff-1;
+                               TVal tmp = dst[i];
+                               dst[i] = dst[j];
+                               dst[j] = tmp;
+                       }
+               }
+       }
+       return RefRecord(off, len, first);
+}
+
+#endif /*ndef REF_READ_H_*/
diff --git a/reference.h b/reference.h
new file mode 100644 (file)
index 0000000..7425801
--- /dev/null
@@ -0,0 +1,724 @@
+#ifndef REFERENCE_H_
+#define REFERENCE_H_
+
+#include <stdexcept>
+#include "endian_swap.h"
+#include "mm.h"
+#include "shmem.h"
+#include "timer.h"
+
+/**
+ * Concrete reference representation that bulk-loads the reference from
+ * the bit-pair-compacted binary file and stores it in memory also in
+ * bit-pair-compacted format.  The user may request reference
+ * characters either on a per-character bases or by "stretch" using
+ * getBase(...) and getStretch(...) respectively.
+ *
+ * Most of the complexity in this class is due to the fact that we want
+ * to represent references with ambiguous (non-A/C/G/T) characters but
+ * we don't want to use more than two bits per base.  This means we
+ * need a way to encode the ambiguous stretches of the reference in a
+ * way that is external to the bitpair sequence.  To accomplish this,
+ * we use the RefRecords vector, which is stored in the .3.ebwt index
+ * file.  The bitpairs themselves are stored in the .4.ebwt index file.
+ *
+ * Once it has been loaded, a BitPairReference is read-only, and is
+ * safe for many threads to access at once.
+ */
+class BitPairReference {
+
+public:
+       /**
+        * Load from .3.ebwt/.4.ebwt Bowtie index files.
+        */
+       BitPairReference(const string& in,
+                        bool color,
+                        bool sanity,
+                        std::vector<string>* infiles,
+                        std::vector<String<Dna5> >* origs,
+                        bool infilesSeq,
+                        bool loadSequence, // as opposed to just records
+                        bool useMm,
+                        bool useShmem,
+                        bool mmSweep,
+                        bool verbose,
+                        bool startVerbose) :
+       buf_(NULL),
+       sanityBuf_(NULL),
+       loaded_(true),
+       sanity_(sanity),
+       useMm_(useMm),
+       useShmem_(useShmem),
+       verbose_(verbose)
+       {
+               string s3 = in + ".3.ebwt";
+               string s4 = in + ".4.ebwt";
+
+#ifdef BOWTIE_MM
+               int f3, f4;
+               if((f3 = open(s3.c_str(), O_RDONLY)) < 0) {
+                       cerr << "Could not open reference-string index file " << s3 << " for reading." << endl;
+                       cerr << "This is most likely because your index was built with an older version" << endl
+                            << "(<= 0.9.8.1) of bowtie-build.  Please re-run bowtie-build to generate a new" << endl
+                            << "index (or download one from the Bowtie website) and try again." << endl;
+                       loaded_ = false;
+                       return;
+               }
+               if((f4 = open(s4.c_str(), O_RDONLY)) < 0) {
+                       cerr << "Could not open reference-string index file " << s4 << " for reading." << endl;
+                       loaded_ = false;
+                       return;
+               }
+               char *mmFile = NULL;
+               if(useMm_) {
+                       if(verbose_ || startVerbose) {
+                               cerr << "  Memory-mapping reference index file " << s4 << ": ";
+                               logTime(cerr);
+                       }
+                       struct stat sbuf;
+                       if (stat(s4.c_str(), &sbuf) == -1) {
+                               perror("stat");
+                               cerr << "Error: Could not stat index file " << s4.c_str() << " prior to memory-mapping" << endl;
+                               throw 1;
+                       }
+                       mmFile = (char*)mmap((void *)0, sbuf.st_size,
+                                            PROT_READ, MAP_SHARED, f4, 0);
+                       if(mmFile == (void *)(-1) || mmFile == NULL) {
+                               perror("mmap");
+                               cerr << "Error: Could not memory-map the index file " << s4.c_str() << endl;
+                               throw 1;
+                       }
+                       if(mmSweep) {
+                               int sum = 0;
+                               for(off_t i = 0; i < sbuf.st_size; i += 1024) {
+                                       sum += (int) mmFile[i];
+                               }
+                               if(startVerbose) {
+                                       cerr << "  Swept the memory-mapped ref index file; checksum: " << sum << ": ";
+                                       logTime(cerr);
+                               }
+                       }
+               }
+#else
+               FILE *f3, *f4;
+               if((f3 = fopen(s3.c_str(), "rb")) == NULL) {
+                       cerr << "Could not open reference-string index file " << s3 << " for reading." << endl;
+                       cerr << "This is most likely because your index was built with an older version" << endl
+                            << "(<= 0.9.8.1) of bowtie-build.  Please re-run bowtie-build to generate a new" << endl
+                            << "index (or download one from the Bowtie website) and try again." << endl;
+                       loaded_ = false;
+                       return;
+               }
+               if((f4 = fopen(s4.c_str(), "rb"))  == NULL) {
+                       cerr << "Could not open reference-string index file " << s4 << " for reading." << endl;
+                       loaded_ = false;
+                       return;
+               }
+#endif
+
+               // Read endianness sentinel, set 'swap'
+               uint32_t one;
+               bool swap = false;
+               one = readU32(f3, swap);
+               if(one != 1) {
+                       if(useMm_) {
+                               cerr << "Error: Can't use memory-mapped files when the index is the opposite endianness" << endl;
+                               throw 1;
+                       }
+                       assert_eq(0x1000000, one);
+                       swap = true; // have to endian swap U32s
+               }
+
+               // Read # records
+               uint32_t sz;
+               sz = readU32(f3, swap);
+               if(sz == 0) {
+                       cerr << "Error: number of reference records is 0 in " << s3 << endl;
+                       throw 1;
+               }
+
+               // Read records
+               nrefs_ = 0;
+               nNoGapRefs_ = 0;
+
+               // Cumulative count of all unambiguous characters on a per-
+               // stretch 8-bit alignment (i.e. count of bytes we need to
+               // allocate in buf_)
+               uint32_t cumsz = 0;
+               uint32_t cumlen = 0;
+               uint32_t unambiglen = 0;
+               uint32_t maxlen = 0;
+               // For each unambiguous stretch...
+               for(uint32_t i = 0; i < sz; i++) {
+                       recs_.push_back(RefRecord(f3, swap));
+               }
+               for(uint32_t i = 0; i < sz; i++) {
+                       if(recs_[i].first) {
+                               if(nrefs_ > 0) {
+                                       refLens_.push_back(cumlen);
+                               }
+                               // Stupid hack to get around the fact that, for
+                               // colorspace Ebwts, not only do we omit reference
+                               // sequences that are *all* gaps from
+                               // nPat/plen/refnames, but we also omit reference
+                               // sequences that never have a stretch of more than 1
+                               // unambiguous character.
+                               if(unambiglen > 0 && (!color || maxlen > 1)) {
+                                       refApproxLens_.push_back(cumlen);
+                               }
+                               // More hackery to detect references that won't be
+                               // in the Ebwt even though they have non-zero length
+                               bool willBeInEbwt = true;
+                               if(recs_[i].len > 0 && color) {
+                                       // Omit until we prove it should be kept
+                                       willBeInEbwt = false;
+                                       for(uint32_t j = i; j < sz; j++) {
+                                               if(j > i && recs_[j].first) break;
+                                               if(recs_[j].len >= 2) {
+                                                       willBeInEbwt = true;
+                                                       break;
+                                               }
+                                       }
+                               }
+                               if(recs_[i].len > 0 && willBeInEbwt) {
+                                       // Remember that this is the first record for this
+                                       // reference sequence (and the last record for the one
+                                       // before)
+                                       refRecOffs_.push_back(i);
+                                       refOffs_.push_back(cumsz);
+                                       expandIdx_.push_back(nrefs_);
+                                       shrinkIdx_.push_back(nNoGapRefs_);
+                                       nNoGapRefs_++;
+                                       isGaps_.push_back(false);
+                               } else {
+                                       shrinkIdx_.push_back(nNoGapRefs_);
+                                       isGaps_.push_back(true);
+                               }
+                               cumlen = 0;
+                               unambiglen = 0;
+                               maxlen = 0;
+                               nrefs_++;
+                               assert_eq(nNoGapRefs_, expandIdx_.size());
+                               assert_eq(nrefs_, shrinkIdx_.size());
+                       } else if(i == 0) {
+                               //cerr << "First record in reference index file was not marked as 'first'" << endl;
+                               //throw 1;
+                       }
+                       cumsz += recs_[i].len;
+#ifdef ACCOUNT_FOR_ALL_GAP_REFS
+                       cumlen += recs_[i].off;
+                       cumlen += recs_[i].len;
+#else
+                       if(recs_[i].len > 0) {
+                               cumlen += recs_[i].off;
+                               cumlen += recs_[i].len;
+                       }
+#endif
+                       unambiglen += recs_[i].len;
+                       if(recs_[i].len > maxlen) maxlen = recs_[i].len;
+               }
+               if(verbose_ || startVerbose) {
+                       cerr << "Read " << nrefs_ << " reference strings (" << nNoGapRefs_ << " non-empty) from " << sz << " records: ";
+                       logTime(cerr);
+               }
+               // Store a cap entry for the end of the last reference seq
+               refRecOffs_.push_back(recs_.size());
+               refOffs_.push_back(cumsz);
+               if(unambiglen > 0 && (!color || maxlen > 1)) {
+                       refApproxLens_.push_back(cumlen);
+               }
+               refLens_.push_back(cumlen);
+               bufSz_ = cumsz;
+               assert_eq(nNoGapRefs_, refApproxLens_.size());
+               assert_eq(sz, recs_.size());
+               MM_FILE_CLOSE(f3); // done with .3.ebwt file
+               // Round cumsz up to nearest byte boundary
+               if((cumsz & 3) != 0) {
+                       cumsz += (4 - (cumsz & 3));
+               }
+               bufAllocSz_ = cumsz >> 2;
+               assert_eq(0, cumsz & 3); // should be rounded up to nearest 4
+               if(!loadSequence) return;
+               if(useMm_) {
+#ifdef BOWTIE_MM
+                       buf_ = (uint8_t*)mmFile;
+                       if(sanity_) {
+                               FILE *ftmp = fopen(s4.c_str(), "rb");
+                               sanityBuf_ = new uint8_t[cumsz >> 2];
+                               size_t ret = fread(sanityBuf_, 1, cumsz >> 2, ftmp);
+                               if(ret != (cumsz >> 2)) {
+                                       cerr << "Only read " << ret << " bytes (out of " << (cumsz >> 2) << ") from reference index file " << s4 << endl;
+                                       throw 1;
+                               }
+                               fclose(ftmp);
+                               for(size_t i = 0; i < (cumsz >> 2); i++) {
+                                       assert_eq(sanityBuf_[i], buf_[i]);
+                               }
+                       }
+#else
+                       cerr << "Shouldn't be at " << __FILE__ << ":" << __LINE__ << " without BOWTIE_MM defined" << endl;
+                       throw 1;
+#endif
+               } else {
+                       bool shmemLeader = true;
+                       if(!useShmem_) {
+                               // Allocate a buffer to hold the reference string
+                               try {
+                                       buf_ = new uint8_t[cumsz >> 2];
+                                       if(buf_ == NULL) throw std::bad_alloc();
+                               } catch(std::bad_alloc& e) {
+                                       cerr << "Error: Ran out of memory allocating space for the bitpacked reference.  Please" << endl
+                                                << "re-run on a computer with more memory." << endl;
+                                       throw 1;
+                               }
+                       } else {
+                               shmemLeader = ALLOC_SHARED_U8(
+                                       (s4 + "[ref]"), (cumsz >> 2), &buf_,
+                                       "ref", (verbose_ || startVerbose));
+                       }
+                       if(shmemLeader) {
+                               // Open the bitpair-encoded reference file
+                               FILE *f4 = fopen(s4.c_str(), "rb");
+                               if(f4 == NULL) {
+                                       cerr << "Could not open reference-string index file " << s4 << " for reading." << endl;
+                                       cerr << "This is most likely because your index was built with an older version" << endl
+                                                << "(<= 0.9.8.1) of bowtie-build.  Please re-run bowtie-build to generate a new" << endl
+                                                << "index (or download one from the Bowtie website) and try again." << endl;
+                                       loaded_ = false;
+                                       return;
+                               }
+                               // Read the whole thing in
+                               size_t ret = fread(buf_, 1, cumsz >> 2, f4);
+                               // Didn't read all of it?
+                               if(ret != (cumsz >> 2)) {
+                                       cerr << "Only read " << ret << " bytes (out of " << (cumsz >> 2) << ") from reference index file " << s4 << endl;
+                                       throw 1;
+                               }
+                               // Make sure there's no more
+                               char c;
+                               ret = fread(&c, 1, 1, f4);
+                               assert_eq(0, ret); // should have failed
+                               fclose(f4);
+                               if(useShmem_) NOTIFY_SHARED(buf_, (cumsz >> 2));
+                       } else {
+                               if(useShmem_) WAIT_SHARED(buf_, (cumsz >> 2));
+                       }
+               }
+
+               // Populate byteToU32_
+               bool big = currentlyBigEndian();
+               for(int i = 0; i < 256; i++) {
+                       uint32_t word = 0;
+                       if(big) {
+                               word |= ((i >> 0) & 3) << 24;
+                               word |= ((i >> 2) & 3) << 16;
+                               word |= ((i >> 4) & 3) << 8;
+                               word |= ((i >> 6) & 3) << 0;
+                       } else {
+                               word |= ((i >> 0) & 3) << 0;
+                               word |= ((i >> 2) & 3) << 8;
+                               word |= ((i >> 4) & 3) << 16;
+                               word |= ((i >> 6) & 3) << 24;
+                       }
+                       byteToU32_[i] = word;
+               }
+
+#ifndef NDEBUG
+               if(sanity_) {
+                       // Compare the sequence we just read from the compact index
+                       // file to the true reference sequence.
+                       std::vector<seqan::String<seqan::Dna5> > *os; // for holding references
+                       std::vector<seqan::String<seqan::Dna5> > osv; // for holding references
+                       if(infiles != NULL) {
+                               if(infilesSeq) {
+                                       for(size_t i = 0; i < infiles->size(); i++) {
+                                               // Remove initial backslash; that's almost
+                                               // certainly being used to protect the first
+                                               // character of the sequence from getopts (e.g.,
+                                               // when the first char is -)
+                                               if((*infiles)[i].at(0) == '\\') {
+                                                       (*infiles)[i].erase(0, 1);
+                                               }
+                                               osv.push_back(String<Dna5>((*infiles)[i]));
+                                       }
+                               } else {
+                                       readSequenceFiles<seqan::String<seqan::Dna5>, seqan::Fasta>(*infiles, osv);
+                               }
+                               os = &osv;
+                       } else {
+                               assert(origs != NULL);
+                               os = origs;
+                       }
+
+                       // Never mind; reference is always letters, even if index
+                       // and alignment run are colorspace
+
+                       // If we're building a colorspace index, we need to convert
+                       // osv to colors first
+//                     if(color) {
+//                             for(size_t i = 0; i < os->size(); i++) {
+//                                     size_t olen = seqan::length((*os)[i]);
+//                                     for(size_t j = 0; j < olen-1; j++) {
+//                                             int b1 = (int)(*os)[i][j];
+//                                             assert_geq(b1, 0); assert_leq(b1, 4);
+//                                             int b2 = (int)(*os)[i][j+1];
+//                                             assert_geq(b2, 0); assert_leq(b2, 4);
+//                                             (*os)[i][j] = (Dna5)dinuc2color[b1][b2];
+//                                             assert((b1 != 4 && b2 != 4) || (int)(*os)[i][j] == 4);
+//                                     }
+//                                     seqan::resize((*os)[i], olen-1);
+//                             }
+//                     }
+                       // Go through the loaded reference files base-by-base and
+                       // sanity check against what we get by calling getBase and
+                       // getStretch
+                       size_t refi = 0;
+                       int longestStretch = 0;
+                       int curStretch = 0;
+                       for(size_t i = 0; i < os->size(); i++) {
+                               size_t olen = seqan::length((*os)[i]);
+                               for(size_t j = 0; j < olen; j++) {
+                                       if((int)(*os)[i][j] < 4) {
+                                               curStretch++;
+                                               if(curStretch > longestStretch) longestStretch = curStretch;
+                                       } else {
+                                               curStretch = 0;
+                                       }
+                               }
+                               if(longestStretch == 0 || (color && longestStretch == 1)) {
+                                       continue;
+                               }
+                               longestStretch = 0;
+                               size_t olenU32 = (olen + 12) / 4;
+                               uint32_t *buf = new uint32_t[olenU32];
+                               uint8_t *bufadj = (uint8_t*)buf;
+                               bufadj += getStretch(buf, refi, 0, olen);
+                               for(size_t j = 0; j < olen; j++) {
+                                       assert_eq((int)(*os)[i][j], (int)bufadj[j]);
+                                       assert_eq((int)(*os)[i][j], (int)getBase(refi, j));
+                               }
+                               refi++;
+                               delete[] buf;
+                       }
+               }
+#endif
+       }
+
+       ~BitPairReference() {
+               if(buf_ != NULL && !useMm_ && !useShmem_) delete[] buf_;
+               if(sanityBuf_ != NULL) delete[] sanityBuf_;
+       }
+
+       /**
+        * Return a single base of the reference.  Calling this repeatedly
+        * is not an efficient way to retrieve bases from the reference;
+        * use loadStretch() instead.
+        *
+        * This implementation scans linearly through the records for the
+        * unambiguous stretches of the target reference sequence.  When
+        * there are many records, binary search would be more appropriate.
+        */
+       int getBase(uint32_t tidx, uint32_t toff) const {
+               uint32_t reci = refRecOffs_[tidx];   // first record for target reference sequence
+               uint32_t recf = refRecOffs_[tidx+1]; // last record (exclusive) for target seq
+               assert_gt(recf, reci);
+               uint32_t bufOff = refOffs_[tidx];
+               uint32_t off = 0;
+               // For all records pertaining to the target reference sequence...
+               for(uint32_t i = reci; i < recf; i++) {
+                       assert_geq(toff, off);
+                       off += recs_[i].off;
+                       if(toff < off) {
+                               return 4;
+                       }
+                       assert_geq(toff, off);
+                       uint32_t recOff = off + recs_[i].len;
+                       if(toff < recOff) {
+                               toff -= off;
+                               bufOff += toff;
+                               assert_lt(bufOff, bufSz_);
+                               const uint32_t bufElt = (bufOff) >> 2;
+                               const uint32_t shift = (bufOff & 3) << 1;
+                               return ((buf_[bufElt] >> shift) & 3);
+                       }
+                       bufOff += recs_[i].len;
+                       off = recOff;
+                       assert_geq(toff, off);
+               } // end for loop over records
+               return 4;
+       }
+
+       /**
+        * Load a stretch of the reference string into memory at 'dest'.
+        *
+        * This implementation scans linearly through the records for the
+        * unambiguous stretches of the target reference sequence.  When
+        * there are many records, binary search would be more appropriate.
+        */
+       int getStretchNaive(uint32_t *destU32,
+                           uint32_t tidx,
+                           uint32_t toff,
+                           uint32_t count) const
+       {
+               uint8_t *dest = (uint8_t*)destU32;
+               uint32_t reci = refRecOffs_[tidx];   // first record for target reference sequence
+               uint32_t recf = refRecOffs_[tidx+1]; // last record (exclusive) for target seq
+               assert_gt(recf, reci);
+               uint32_t cur = 0;
+               uint32_t bufOff = refOffs_[tidx];
+               uint32_t off = 0;
+               // For all records pertaining to the target reference sequence...
+               for(uint32_t i = reci; i < recf; i++) {
+                       assert_geq(toff, off);
+                       off += recs_[i].off;
+                       for(; toff < off && count > 0; toff++) {
+                               dest[cur++] = 4;
+                               count--;
+                       }
+                       if(count == 0) break;
+                       assert_geq(toff, off);
+                       if(toff < off + recs_[i].len) {
+                               bufOff += (toff - off); // move bufOff pointer forward
+                       } else {
+                               bufOff += recs_[i].len;
+                       }
+                       off += recs_[i].len;
+                       for(; toff < off && count > 0; toff++) {
+                               assert_lt(bufOff, bufSz_);
+                               const uint32_t bufElt = (bufOff) >> 2;
+                               const uint32_t shift = (bufOff & 3) << 1;
+                               dest[cur++] = (buf_[bufElt] >> shift) & 3;
+                               bufOff++;
+                               count--;
+                       }
+                       if(count == 0) break;
+                       assert_geq(toff, off);
+               } // end for loop over records
+               // In any chars are left after scanning all the records,
+               // they must be ambiguous
+               while(count > 0) {
+                       count--;
+                       dest[cur++] = 4;
+               }
+               assert_eq(0, count);
+               return 0;
+       }
+
+       /**
+        * Load a stretch of the reference string into memory at 'dest'.
+        *
+        * This implementation scans linearly through the records for the
+        * unambiguous stretches of the target reference sequence.  When
+        * there are many records, binary search would be more appropriate.
+        */
+       int getStretch(uint32_t *destU32,
+                      uint32_t tidx,
+                      uint32_t toff,
+                      uint32_t count) const
+       {
+               ASSERT_ONLY(uint32_t origCount = count);
+               ASSERT_ONLY(uint32_t origToff = toff);
+               if(count == 0) return 0;
+               uint8_t *dest = (uint8_t*)destU32;
+#ifndef NDEBUG
+               uint32_t *destU32_2 = new uint32_t[(origCount >> 2) + 2];
+               int off2 = getStretchNaive(destU32_2, tidx, origToff, origCount);
+               uint8_t *dest_2 = ((uint8_t*)destU32_2) + off2;
+#endif
+               destU32[0] = 0x04040404; // Add Ns, which we might end up using later
+               uint32_t reci = refRecOffs_[tidx];   // first record for target reference sequence
+               uint32_t recf = refRecOffs_[tidx+1]; // last record (exclusive) for target seq
+               assert_gt(recf, reci);
+               uint32_t cur = 4; // keep a cushion of 4 bases at the beginning
+               uint32_t bufOff = refOffs_[tidx];
+               uint32_t off = 0;
+               int offset = 4;
+               bool firstStretch = true;
+               // For all records pertaining to the target reference sequence...
+               for(uint32_t i = reci; i < recf; i++) {
+                       ASSERT_ONLY(uint32_t origBufOff = bufOff);
+                       assert_geq(toff, off);
+                       off += recs_[i].off;
+                       assert_gt(count, 0);
+                       if(toff < off) {
+                               uint32_t cpycnt = min(off - toff, count);
+                               memset(&dest[cur], 4, cpycnt);
+                               count -= cpycnt;
+                               toff += cpycnt;
+                               cur += cpycnt;
+                               if(count == 0) break;
+                       }
+                       assert_geq(toff, off);
+                       if(toff < off + recs_[i].len) {
+                               bufOff += (toff - off); // move bufOff pointer forward
+                       } else {
+                               bufOff += recs_[i].len;
+                       }
+                       off += recs_[i].len;
+                       if(toff < off) {
+                               if(firstStretch) {
+                                       if(toff + 8 < off && count > 8) {
+                                               // We already added some Ns, so we have to do
+                                               // a fixup at the beginning of the buffer so
+                                               // that we can start clobbering at cur >> 2
+                                               if(cur & 3) {
+                                                       offset -= (cur & 3);
+                                               }
+                                               uint32_t curU32 = cur >> 2;
+                                               // Do the initial few bases
+                                               if(bufOff & 3) {
+                                                       const uint32_t bufElt = (bufOff) >> 2;
+                                                       const int low2 = bufOff & 3;
+                                                       destU32[curU32] = byteToU32_[buf_[bufElt]];
+                                                       for(int j = 0; j < low2; j++) {
+                                                               ((char *)(&destU32[curU32]))[j] = 4;
+                                                       }
+                                                       curU32++;
+                                                       offset += low2;
+                                                       const int chars = 4 - low2;
+                                                       count -= chars;
+                                                       bufOff += chars;
+                                                       toff += chars;
+                                               }
+                                               assert_eq(0, bufOff & 3);
+                                               uint32_t bufOffU32 = bufOff >> 2;
+                                               uint32_t countLim = count >> 2;
+                                               uint32_t offLim = (off - (toff + 4)) >> 2;
+                                               uint32_t lim = min(countLim, offLim);
+                                               // Do the fast thing for as far as possible
+                                               for(uint32_t j = 0; j < lim; j++) {
+                                                       destU32[curU32] = byteToU32_[buf_[bufOffU32++]];
+                                                       assert_eq(dest[(curU32 << 2) + 0], dest_2[(curU32 << 2) - offset + 0]);
+                                                       assert_eq(dest[(curU32 << 2) + 1], dest_2[(curU32 << 2) - offset + 1]);
+                                                       assert_eq(dest[(curU32 << 2) + 2], dest_2[(curU32 << 2) - offset + 2]);
+                                                       assert_eq(dest[(curU32 << 2) + 3], dest_2[(curU32 << 2) - offset + 3]);
+                                                       curU32++;
+                                               }
+                                               toff += (lim << 2);
+                                               assert_leq(toff, off);
+                                               assert_leq((lim << 2), count);
+                                               count -= (lim << 2);
+                                               bufOff = bufOffU32 << 2;
+                                               cur = curU32 << 2;
+                                       }
+                                       // Do the slow thing for the rest
+                                       for(; toff < off && count > 0; toff++) {
+                                               assert_lt(bufOff, bufSz_);
+                                               const uint32_t bufElt = (bufOff) >> 2;
+                                               const uint32_t shift = (bufOff & 3) << 1;
+                                               dest[cur++] = (buf_[bufElt] >> shift) & 3;
+                                               bufOff++;
+                                               count--;
+                                       }
+                                       firstStretch = false;
+                               } else {
+                                       // Do the slow thing
+                                       for(; toff < off && count > 0; toff++) {
+                                               assert_lt(bufOff, bufSz_);
+                                               const uint32_t bufElt = (bufOff) >> 2;
+                                               const uint32_t shift = (bufOff & 3) << 1;
+                                               dest[cur++] = (buf_[bufElt] >> shift) & 3;
+                                               bufOff++;
+                                               count--;
+                                       }
+                               }
+                       }
+                       if(count == 0) break;
+                       assert_eq(recs_[i].len, bufOff - origBufOff);
+                       assert_geq(toff, off);
+               } // end for loop over records
+               // In any chars are left after scanning all the records,
+               // they must be ambiguous
+               while(count > 0) {
+                       count--;
+                       dest[cur++] = 4;
+               }
+               assert_eq(0, count);
+#ifndef NDEBUG
+               delete[] destU32_2;
+#endif
+               return offset;
+       }
+
+       /// Return the number of reference sequences.
+       uint32_t numRefs() const {
+               return nrefs_;
+       }
+
+       /// Return the number of reference sequences that don't consist
+       /// entirely of stretches of ambiguous characters.
+       uint32_t numNonGapRefs() const {
+               return nNoGapRefs_;
+       }
+
+       /**
+        *
+        */
+       uint32_t shrinkIdx(uint32_t idx) const {
+               assert_lt(idx, shrinkIdx_.size());
+               return shrinkIdx_[idx];
+       }
+
+       /**
+        *
+        */
+       uint32_t expandIdx(uint32_t idx) const {
+               assert_lt(idx, expandIdx_.size());
+               return expandIdx_[idx];
+       }
+
+       /// Return the lengths of reference sequences.
+       uint32_t approxLen(uint32_t elt) const {
+               assert_lt(elt, nrefs_);
+               return refApproxLens_[elt];
+       }
+
+       /// Return the lengths of reference sequences.
+       uint32_t len(uint32_t elt) const {
+               assert_lt(elt, nrefs_);
+               return refLens_[elt];
+       }
+
+       /// Return true iff ref 'elt' is all gaps
+       bool isAllGaps(uint32_t elt) const {
+               assert_lt(elt, nrefs_);
+               assert_eq(isGaps_.size(), nrefs_);
+               return isGaps_[elt];
+       }
+
+       /// Return true iff buf_ and all the vectors are populated.
+       bool loaded() const {
+               return loaded_;
+       }
+
+       /**
+        * Return constant reference to the RefRecord list.
+        */
+       const std::vector<RefRecord>& refRecords() const { return recs_; }
+
+protected:
+
+       uint32_t byteToU32_[256];
+
+       std::vector<RefRecord> recs_;       /// records describing unambiguous stretches
+       std::vector<uint32_t>  refApproxLens_; /// approx lens of ref seqs (excludes trailing ambig chars)
+       std::vector<uint32_t>  refLens_;    /// approx lens of ref seqs (excludes trailing ambig chars)
+       std::vector<uint32_t>  refOffs_;    /// buf_ begin offsets per ref seq
+       std::vector<uint32_t>  refRecOffs_; /// record begin/end offsets per ref seq
+       std::vector<uint32_t>  expandIdx_; /// map from small idxs (e.g. w/r/t plen) to large ones (w/r/t refnames)
+       std::vector<uint32_t>  shrinkIdx_; /// map from large idxs to small
+       std::vector<bool>      isGaps_;    /// ref i is all gaps?
+       uint8_t *buf_;      /// the whole reference as a big bitpacked byte array
+       uint8_t *sanityBuf_;/// for sanity-checking buf_
+       uint32_t bufSz_;    /// size of buf_
+       uint32_t bufAllocSz_;
+       uint32_t nrefs_;      /// the number of reference sequences
+       uint32_t nNoGapRefs_; /// the number of reference sequences that aren't totally ambiguous
+       bool     loaded_;   /// whether it's loaded
+       bool     sanity_;   /// do sanity checking
+       bool     useMm_;    /// load the reference as a memory-mapped file
+       bool     useShmem_; /// load the reference into shared memory
+       bool     verbose_;
+};
+
+#endif
diff --git a/refmap.cpp b/refmap.cpp
new file mode 100644 (file)
index 0000000..025d563
--- /dev/null
@@ -0,0 +1,64 @@
+/*
+ * refmap.cpp
+ *
+ *  Created on: Aug 3, 2009
+ *      Author: Ben Langmead
+ */
+
+#include <stdexcept>
+#include "refmap.h"
+#include "assert_helpers.h"
+
+using namespace std;
+
+/**
+ * Given a refid,offset pair in the index space, transform it into the
+ * reference coordinate space according to the reference mappings
+ * provided by the user.
+ */
+void ReferenceMap::map(U32Pair& h) const {
+       if(h.first >= map_.size()) {
+               cerr << "Could not find a reference-map entry for reference "
+                                 << h.first << " in map file \"" << fname_ << "\""
+                                 << endl;
+               throw 1;
+       }
+       h.second += map_[h.first].second;
+       h.first = map_[h.first].first;
+}
+
+/**
+ * Parse a reference-map file.
+ */
+void ReferenceMap::parse() {
+       ifstream in(fname_);
+       if(!in.good() || !in.is_open()) {
+               cerr << "Could not open reference map file " << fname_ << endl;
+               throw 1;
+       }
+       int c;
+       while((c = in.peek()) != EOF) {
+               if(c == '>') {
+                       // This appears to be a name line
+                       in.get(); // chop off the initial '>'
+                       uint32_t off;
+                       in >> off;
+                       in.get(); // chop off tab
+                       char buf[1024];
+                       in.getline(buf, 1023);
+                       if(parseNames_) {
+                               if(names_.size() <= off) names_.resize(off+1);
+                               names_[off] = string(buf);
+                       }
+                       continue;
+               }
+               uint32_t id, off;
+               in >> id >> off;
+               map_.resize(map_.size()+1);
+               map_.back().first = id;
+               map_.back().second = off;
+               while(isspace(in.peek())) in.get();
+       }
+       assert_eq(EOF, c);
+       in.close();
+}
diff --git a/refmap.h b/refmap.h
new file mode 100644 (file)
index 0000000..1fadd46
--- /dev/null
+++ b/refmap.h
@@ -0,0 +1,64 @@
+/*
+ * refmap.h
+ *
+ *  Created on: Aug 3, 2009
+ *      Author: Ben Langmead
+ */
+
+#ifndef REFMAP_H_
+#define REFMAP_H_
+
+#include <stdint.h>
+#include <cassert>
+#include <vector>
+#include <iostream>
+#include <fstream>
+
+class ReferenceMap {
+       typedef std::pair<uint32_t, uint32_t> U32Pair;
+
+public:
+       ReferenceMap(const char *fname, bool parseNames) {
+               fname_ = fname;
+               parseNames_ = parseNames;
+               parse();
+       }
+
+       /**
+        * Give a reference coordinate in the index, translate it into a
+        * new reference coordinate via the reference map supplied by the
+        * user.
+        */
+       void map(U32Pair& h) const;
+
+       /**
+        * Return true iff we have a name for reference with id 'i'.
+        */
+       bool hasName(size_t i) const {
+               if(!parseNames_) return false;
+               return !names_[i].empty();
+       }
+
+       /**
+        * Get the name for reference with id 'i'.
+        */
+       const std::string& getName(size_t i) const {
+               assert(parseNames_);
+               assert(hasName(i));
+               return names_[i];
+       }
+
+protected:
+
+       /**
+        * Parse a reference-map file.
+        */
+       void parse();
+
+       const char *fname_;
+       std::vector<U32Pair> map_;
+       bool parseNames_;
+       std::vector<std::string> names_;
+};
+
+#endif /* REFMAP_H_ */
diff --git a/row_chaser.h b/row_chaser.h
new file mode 100644 (file)
index 0000000..e6fbad0
--- /dev/null
@@ -0,0 +1,187 @@
+/*
+ * row_chaser.h
+ */
+
+#ifndef ROW_CHASER_H_
+#define ROW_CHASER_H_
+
+#include <iostream>
+#include "seqan/sequence.h"
+#include "ebwt.h"
+#include "aligner_metrics.h"
+
+/**
+ * A class that statefully converts a row index to a reference
+ * location.  There is a large memory-latency penalty usually
+ * associated with calling the Ebwt object's mapLF method, which this
+ * object does repeatedly in order to resolve the reference offset.
+ * The "statefulness" in how the computation is organized here allows
+ * some or all of that penalty to be hidden using prefetching.
+ */
+template<typename TStr>
+class RowChaser {
+
+       typedef std::pair<uint32_t,uint32_t> U32Pair;
+       typedef Ebwt<TStr> TEbwt;
+
+public:
+       RowChaser(AlignerMetrics *metrics = NULL) :
+               done(false),
+               prepped_(false),
+               ebwt_(NULL),
+               qlen_(0),
+               eh_(NULL),
+               row_(0xffffffff),
+               jumps_(0),
+               sideloc_(),
+               off_(0xffffffff),
+               tlen_(0),
+               metrics_(metrics)
+       { }
+
+       /**
+        * Convert a row to a joined reference offset.  This has to be
+        * converted to understand where it is w/r/t the reference hit and
+        * offset within it.
+        */
+       static uint32_t toFlatRefOff(const TEbwt* ebwt, uint32_t qlen, uint32_t row) {
+               RowChaser rc;
+               rc.setRow(row, qlen, ebwt);
+               while(!rc.done) {
+                       rc.advance();
+               }
+               return rc.flatOff();
+       }
+
+       /**
+        * Convert a row to a reference offset.
+        */
+       static U32Pair toRefOff(const TEbwt* ebwt, uint32_t qlen, uint32_t row) {
+               RowChaser rc;
+               rc.setRow(row, qlen, ebwt);
+               while(!rc.done) {
+                       rc.advance();
+               }
+               return rc.off();
+       }
+
+       /**
+        * Set the next row for us to "chase" (i.e. map to a reference
+        * location using the BWT step-left operation).
+        */
+       void setRow(uint32_t row, uint32_t qlen, const TEbwt* ebwt) {
+               assert_neq(0xffffffff, row);
+               assert_gt(qlen, 0);
+               assert(ebwt != NULL);
+               ebwt_ = ebwt;
+               eh_ = &ebwt->_eh;
+               row_ = row;
+               qlen_ = qlen;
+               ASSERT_ONLY(sideloc_.invalidate());
+               if(row_ == ebwt_->_zOff) {
+                       // We arrived at the extreme left-hand end of the reference
+                       off_ = 0;
+                       done = true;
+                       return;
+               } else if((row_ & eh_->_offMask) == row_) {
+                       // We arrived at a marked row
+                       off_ = ebwt_->_offs[row_ >> eh_->_offRate];
+                       done = true;
+                       return;
+               }
+               done = false;
+               jumps_ = 0;
+               off_ = 0xffffffff;
+               prepped_ = false;
+               prep();
+       }
+
+       /**
+        * Advance the step-left process by one step.  Check if we're done.
+        */
+       void advance() {
+               // Advance by 1
+               assert(!done);
+               while(!done) {
+                       assert(prepped_);
+                       prepped_ = false;
+                       if(metrics_ != NULL) metrics_->curBwtOps_++;
+                       uint32_t newrow = ebwt_->mapLF(sideloc_);
+                       ASSERT_ONLY(sideloc_.invalidate());
+                       jumps_++;
+                       assert_neq(newrow, row_);
+                       // Update row_ field
+                       row_ = newrow;
+                       if(row_ == ebwt_->_zOff) {
+                               // We arrived at the extreme left-hand end of the reference
+                               off_ = jumps_;
+                               done = true;
+                       } else if((row_ & eh_->_offMask) == row_) {
+                               // We arrived at a marked row
+                               off_ = ebwt_->_offs[row_ >> eh_->_offRate] + jumps_;
+                               done = true;
+                       }
+                       prep();
+               }
+       }
+
+       /**
+        * Prepare for the next call to advance() by prefetching the
+        * appropriate portions of the index.  The caller should make sure
+        * that the
+        */
+       void prep() {
+               if(!done) {
+                       assert(!prepped_);
+                       assert(!sideloc_.valid());
+                       assert_leq(row_, eh_->_len);
+                       sideloc_.initFromRow(row_, *eh_, (const uint8_t*)ebwt_->_ebwt);
+                       assert(sideloc_.valid());
+               }
+               prepped_ = true;
+       }
+
+       /**
+        * Get the calculated offset.  This has to be converted with a call
+        * to Ebwt::joinedToTextOff() to understand where it is w/r/t the
+        * reference hit and offset within it.
+        */
+       uint32_t flatOff() const {
+               return off_;
+       }
+
+       /**
+        * Get the calculated offset.
+        */
+       U32Pair off() {
+               uint32_t off = flatOff();
+               assert_neq(0xffffffff, off);
+               uint32_t tidx;
+               uint32_t textoff = 0xffffffff;
+               ebwt_->joinedToTextOff(qlen_, off, tidx, textoff, tlen_);
+               // Note: tidx may be 0xffffffff, if alignment overlaps a
+               // reference boundary
+               return make_pair(tidx, textoff);
+       }
+
+       uint32_t tlen() const {
+               return tlen_;
+       }
+
+       bool done;               /// true = chase is done & answer is in off_
+       bool prepped_; /// true = prefetch is issued and it's OK to call advance()
+
+protected:
+
+       const TEbwt* ebwt_;      /// index to resolve row in
+       uint32_t qlen_;          /// length of read; needed to convert to ref. coordinates
+       const EbwtParams* eh_;   /// eh field from index
+       uint32_t row_;           /// current row
+       uint32_t jumps_;         /// # steps so far
+       SideLocus sideloc_;      /// current side locus
+       uint32_t off_;           /// calculated offset (0xffffffff if not done)
+       uint32_t tlen_;          /// hit text length
+       AlignerMetrics *metrics_;
+};
+
+#endif /* ROW_CHASER_H_ */
diff --git a/sam.cpp b/sam.cpp
new file mode 100644 (file)
index 0000000..8db6f3c
--- /dev/null
+++ b/sam.cpp
@@ -0,0 +1,359 @@
+/*
+ * sam.cpp
+ *
+ *  Created on: Sep 23, 2009
+ *      Author: Ben Langmead
+ */
+
+#include <vector>
+#include <string>
+#include <iostream>
+#include "pat.h"
+#include "hit.h"
+#include "sam.h"
+
+using namespace std;
+
+/**
+ * Write the SAM header lines.
+ */
+void SAMHitSink::appendHeaders(OutFileBuf& os,
+                               size_t numRefs,
+                               const vector<string>& refnames,
+                               bool color,
+                               bool nosq,
+                               ReferenceMap *rmap,
+                               const uint32_t* plen,
+                               bool fullRef,
+                               const char *cmdline,
+                               const char *rgline)
+{
+       ostringstream ss;
+       ss << "@HD\tVN:1.0\tSO:unsorted" << endl;
+       if(!nosq) {
+               for(size_t i = 0; i < numRefs; i++) {
+                       // RNAME
+                       ss << "@SQ\tSN:";
+                       if(!refnames.empty() && rmap != NULL) {
+                               printUptoWs(ss, rmap->getName(i), !fullRef);
+                       } else if(i < refnames.size()) {
+                               printUptoWs(ss, refnames[i], !fullRef);
+                       } else {
+                               ss << i;
+                       }
+                       ss << "\tLN:" << (plen[i] + (color ? 1 : 0)) << endl;
+               }
+       }
+       if(rgline != NULL) {
+               ss << "@RG\t" << rgline << endl;
+       }
+       ss << "@PG\tID:Bowtie\tVN:" << BOWTIE_VERSION << "\tCL:\"" << cmdline << "\"" << endl;
+       os.writeString(ss.str());
+}
+
+/**
+ * Append a SAM output record for an unaligned read.
+ */
+void SAMHitSink::appendAligned(ostream& ss,
+                               const Hit& h,
+                               int mapq,
+                               int xms, // value for XM:I field
+                               const vector<string>* refnames,
+                               ReferenceMap *rmap,
+                               AnnotationMap *amap,
+                               bool fullRef,
+                               int offBase)
+{
+       // QNAME
+       if(h.mate > 0) {
+               // truncate final 2 chars
+               for(int i = 0; i < (int)seqan::length(h.patName)-2; i++) {
+                       if(isspace(h.patName[i])) break;
+                       ss << h.patName[i];
+               }
+       } else {
+               for(int i = 0; i < (int)seqan::length(h.patName); i++) {
+                       if(isspace(h.patName[i])) break;
+                       ss << h.patName[i];
+               }
+       }
+       ss << '\t';
+       // FLAG
+       int flags = 0;
+       if(h.mate == 1) {
+               flags |= SAM_FLAG_PAIRED | SAM_FLAG_FIRST_IN_PAIR | SAM_FLAG_MAPPED_PAIRED;
+       } else if(h.mate == 2) {
+               flags |= SAM_FLAG_PAIRED | SAM_FLAG_SECOND_IN_PAIR | SAM_FLAG_MAPPED_PAIRED;
+       }
+       if(!h.fw) flags |= SAM_FLAG_QUERY_STRAND;
+       if(h.mate > 0 && !h.mfw) flags |= SAM_FLAG_MATE_STRAND;
+       ss << flags << "\t";
+       // RNAME
+       if(refnames != NULL && rmap != NULL) {
+               printUptoWs(ss, rmap->getName(h.h.first), !fullRef);
+       } else if(refnames != NULL && h.h.first < refnames->size()) {
+               printUptoWs(ss, (*refnames)[h.h.first], !fullRef);
+       } else {
+               ss << h.h.first;
+       }
+       // POS
+       ss << '\t' << (h.h.second + 1);
+       // MAPQ
+       ss << "\t" << mapq;
+       // CIGAR
+       ss << '\t' << h.length() << 'M';
+       // MRNM
+       if(h.mate > 0) {
+               ss << "\t=";
+       } else {
+               ss << "\t*";
+       }
+       // MPOS
+       if(h.mate > 0) {
+               ss << '\t' << (h.mh.second + 1);
+       } else {
+               ss << "\t0";
+       }
+       // ISIZE
+       ss << '\t';
+       if(h.mate > 0) {
+               assert_eq(h.h.first, h.mh.first);
+               int64_t inslen = 0;
+               if(h.h.second > h.mh.second) {
+                       inslen = (int64_t)h.h.second - (int64_t)h.mh.second + (int64_t)h.length();
+                       inslen = -inslen;
+               } else {
+                       inslen = (int64_t)h.mh.second - (int64_t)h.h.second + (int64_t)h.mlen;
+               }
+               ss << inslen;
+       } else {
+               ss << '0';
+       }
+       // SEQ
+       ss << '\t' << h.patSeq;
+       // QUAL
+       ss << '\t' << h.quals;
+       //
+       // Optional fields
+       //
+       // Always output stratum
+       ss << "\tXA:i:" << (int)h.stratum;
+       // Always output cost
+       //ss << "\tXC:i:" << (int)h.cost;
+       // Look for SNP annotations falling within the alignment
+       // Output MD field
+       size_t len = length(h.patSeq);
+       int nm = 0;
+       int run = 0;
+       ss << "\tMD:Z:";
+       const FixedBitset<1024> *mms = &h.mms;
+       const String<Dna5>* pat = &h.patSeq;
+       const vector<char>* refcs = &h.refcs;
+       if(h.color && false) {
+               // Disabled: print MD:Z string w/r/t to colors, not letters
+               mms = &h.cmms;
+               pat = &h.colSeq;
+               assert_eq(length(h.colSeq), len+1);
+               len = length(h.colSeq);
+               refcs = &h.crefcs;
+       }
+       if(h.fw) {
+               for (int i = 0; i < (int)len; ++ i) {
+                       if(mms->test(i)) {
+                               nm++;
+                               // There's a mismatch at this position
+                               assert_gt((int)refcs->size(), i);
+                               char refChar = toupper((*refcs)[i]);
+                               ASSERT_ONLY(char qryChar = (h.fw ? (*pat)[i] : (*pat)[len-i-1]));
+                               assert_neq(refChar, qryChar);
+                               ss << run << refChar;
+                               run = 0;
+                       } else {
+                               run++;
+                       }
+               }
+       } else {
+               for (int i = len-1; i >= 0; -- i) {
+                       if(mms->test(i)) {
+                               nm++;
+                               // There's a mismatch at this position
+                               assert_gt((int)refcs->size(), i);
+                               char refChar = toupper((*refcs)[i]);
+                               ASSERT_ONLY(char qryChar = (h.fw ? (*pat)[i] : (*pat)[len-i-1]));
+                               assert_neq(refChar, qryChar);
+                               ss << run << refChar;
+                               run = 0;
+                       } else {
+                               run++;
+                       }
+               }
+       }
+       ss << run;
+       // Add optional edit distance field
+       ss << "\tNM:i:" << nm;
+       if(h.color) ss << "\tCM:i:" << h.cmms.count();
+       if(xms > 0)  ss << "\tXM:i:" << xms;
+       ss << endl;
+}
+
+/**
+ * Report a verbose, human-readable alignment to the appropriate
+ * output stream.
+ */
+void SAMHitSink::reportHit(const Hit& h, int mapq, int xms) {
+       if(xms == 0) {
+               // Otherwise, this is actually a sampled read and belongs in
+               // the same category as maxed reads
+               HitSink::reportHit(h);
+       }
+       ostringstream ss;
+       append(ss, h, mapq, xms);
+       // Make sure to grab lock before writing to output stream
+       lock(h.h.first);
+       out(h.h.first).writeString(ss.str());
+       unlock(h.h.first);
+}
+
+/**
+ * Report a batch of hits from a vector, perhaps subsetting it.
+ */
+void SAMHitSink::reportHits(vector<Hit>& hs,
+                            size_t start, size_t end,
+                            int mapq, int xms)
+{
+       assert_geq(end, start);
+       if(end-start == 0) return;
+       assert_gt(hs[start].mate, 0);
+       char buf[4096];
+       lock(0);
+       for(size_t i = start; i < end; i++) {
+               ostringstream ss(ssmode_);
+               ss.rdbuf()->pubsetbuf(buf, 4096);
+               append(ss, hs[i], mapq, xms);
+               out(0).writeChars(buf, ss.tellp());
+       }
+       unlock(0);
+       mainlock();
+       commitHits(hs);
+       first_ = false;
+       numAligned_++;
+       numReportedPaired_ += (end-start);
+       mainunlock();
+}
+
+/**
+ * Report either an unaligned read or a read that exceeded the -m
+ * ceiling.  We output placeholders for most of the fields in this
+ * case.
+ */
+void SAMHitSink::reportUnOrMax(PatternSourcePerThread& p,
+                               vector<Hit>* hs,
+                               bool un) // lower bound on number of other hits
+{
+       if(un) HitSink::reportUnaligned(p);
+       else   HitSink::reportMaxed(*hs, p);
+       ostringstream ss;
+       bool paired = !p.bufb().empty();
+       assert(paired || p.bufa().mate == 0);
+       assert(!paired || p.bufa().mate > 0);
+       assert(un || hs->size() > 0);
+       assert(!un || hs == NULL || hs->size() == 0);
+       size_t hssz = 0;
+       if(hs != NULL) hssz = hs->size();
+       if(paired) {
+               // truncate final 2 chars
+               for(int i = 0; i < (int)seqan::length(p.bufa().name)-2; i++) {
+                       ss << p.bufa().name[i];
+               }
+       } else {
+               ss << p.bufa().name;
+       }
+       ss << "\t"
+          << (SAM_FLAG_UNMAPPED | (paired ? (SAM_FLAG_PAIRED | SAM_FLAG_FIRST_IN_PAIR | SAM_FLAG_MATE_UNMAPPED) : 0)) << "\t*"
+          << "\t0\t0\t*\t*\t0\t0\t"
+          << p.bufa().patFw << "\t" << p.bufa().qual << "\tXM:i:"
+          << (paired ? (hssz+1)/2 : hssz) << endl;
+       if(paired) {
+               // truncate final 2 chars
+               for(int i = 0; i < (int)seqan::length(p.bufb().name)-2; i++) {
+                       ss << p.bufb().name[i];
+               }
+               ss << "\t"
+                  << (SAM_FLAG_UNMAPPED | (paired ? (SAM_FLAG_PAIRED | SAM_FLAG_SECOND_IN_PAIR | SAM_FLAG_MATE_UNMAPPED) : 0)) << "\t*"
+                  << "\t0\t0\t*\t*\t0\t0\t"
+                  << p.bufb().patFw << "\t" << p.bufb().qual << "\tXM:i:"
+                  << (hssz+1)/2 << endl;
+       }
+       lock(0);
+       out(0).writeString(ss.str());
+       unlock(0);
+}
+
+/**
+ * Append a SAM alignment to the given output stream.
+ */
+void SAMHitSink::append(ostream& ss,
+                        const Hit& h,
+                        int mapq,
+                        int xms,
+                        const vector<string>* refnames,
+                        ReferenceMap *rmap,
+                        AnnotationMap *amap,
+                        bool fullRef,
+                        int offBase)
+{
+       appendAligned(ss, h, mapq, xms, refnames, rmap, amap, fullRef, offBase);
+}
+
+/**
+ * Report maxed-out read; if sampleMax_ is set, then report 1 alignment
+ * at random.
+ */
+void SAMHitSink::reportMaxed(vector<Hit>& hs, PatternSourcePerThread& p) {
+       if(sampleMax_) {
+               HitSink::reportMaxed(hs, p);
+               RandomSource rand;
+               rand.init(p.bufa().seed);
+               assert_gt(hs.size(), 0);
+               bool paired = hs.front().mate > 0;
+               size_t num = 1;
+               if(paired) {
+                       num = 0;
+                       int bestStratum = 999;
+                       for(size_t i = 0; i < hs.size()-1; i += 2) {
+                               int strat = min(hs[i].stratum, hs[i+1].stratum);
+                               if(strat < bestStratum) {
+                                       bestStratum = strat;
+                                       num = 1;
+                               } else if(strat == bestStratum) {
+                                       num++;
+                               }
+                       }
+                       assert_leq(num, hs.size());
+                       uint32_t r = rand.nextU32() % num;
+                       num = 0;
+                       for(size_t i = 0; i < hs.size()-1; i += 2) {
+                               int strat = min(hs[i].stratum, hs[i+1].stratum);
+                               if(strat == bestStratum) {
+                                       if(num == r) {
+                                               reportHits(hs, i, i+2, 0, hs.size()/2+1);
+                                               break;
+                                       }
+                                       num++;
+                               }
+                       }
+                       assert_eq(num, r);
+               } else {
+                       for(size_t i = 1; i < hs.size(); i++) {
+                               assert_geq(hs[i].stratum, hs[i-1].stratum);
+                               if(hs[i].stratum == hs[i-1].stratum) num++;
+                               else break;
+                       }
+                       assert_leq(num, hs.size());
+                       uint32_t r = rand.nextU32() % num;
+                       reportHit(hs[r], /*MAPQ*/0, /*XM:I*/hs.size()+1);
+               }
+       } else {
+               reportUnOrMax(p, &hs, false);
+       }
+}
diff --git a/sam.h b/sam.h
new file mode 100644 (file)
index 0000000..72baa6c
--- /dev/null
+++ b/sam.h
@@ -0,0 +1,181 @@
+/*
+ * sam.h
+ *
+ *  Created on: Sep 23, 2009
+ *      Author: Ben Langmead
+ */
+
+#ifndef SAM_H_
+#define SAM_H_
+
+#include "refmap.h"
+#include "annot.h"
+#include "pat.h"
+#include "random_source.h"
+
+class ReferenceMap;
+class AnnotationMap;
+class PatternSourcePerThread;
+
+enum {
+       SAM_FLAG_PAIRED = 1,
+       SAM_FLAG_MAPPED_PAIRED = 2,
+       SAM_FLAG_UNMAPPED = 4,
+       SAM_FLAG_MATE_UNMAPPED = 8,
+       SAM_FLAG_QUERY_STRAND = 16,
+       SAM_FLAG_MATE_STRAND = 32,
+       SAM_FLAG_FIRST_IN_PAIR = 64,
+       SAM_FLAG_SECOND_IN_PAIR = 128,
+       SAM_FLAG_NOT_PRIMARY = 256,
+       SAM_FLAG_FAILS_CHECKS = 512,
+       SAM_FLAG_DUPLICATE = 1024
+};
+
+/**
+ * Sink that prints lines in SAM format:
+ */
+class SAMHitSink : public HitSink {
+public:
+       /**
+        * Construct a single-stream VerboseHitSink (default)
+        */
+       SAMHitSink(OutFileBuf* out,
+                  int offBase,
+                  ReferenceMap *rmap,
+                  AnnotationMap *amap,
+                  bool fullRef,
+                  int defaultMapq,
+                  DECL_HIT_DUMPS2) :
+       HitSink(out, PASS_HIT_DUMPS2),
+       offBase_(offBase), defaultMapq_(defaultMapq),
+       rmap_(rmap), amap_(amap), fullRef_(fullRef) { }
+
+       /**
+        * Construct a multi-stream VerboseHitSink with one stream per
+        * reference string (see --refout)
+        */
+       SAMHitSink(size_t numOuts,
+                  int offBase,
+                  ReferenceMap *rmap,
+                  AnnotationMap *amap,
+                  bool fullRef,
+                  int defaultMapq,
+                  DECL_HIT_DUMPS2) :
+       HitSink(numOuts, PASS_HIT_DUMPS2),
+       offBase_(offBase), defaultMapq_(defaultMapq),
+       rmap_(rmap), amap_(amap), fullRef_(fullRef) { }
+
+       /**
+        * Append a SAM alignment to the given output stream.
+        */
+       static void append(ostream& ss,
+                          const Hit& h,
+                          int mapq,
+                          int xms,
+                          const vector<string>* refnames,
+                          ReferenceMap *rmap,
+                          AnnotationMap *amap,
+                          bool fullRef,
+                          int offBase);
+
+       /**
+        * Append a SAM alignment for an aligned read to the given output
+        * stream.
+        */
+       static void appendAligned(ostream& ss,
+                                 const Hit& h,
+                                 int mapq,
+                                 int xms,
+                                 const vector<string>* refnames,
+                                 ReferenceMap *rmap,
+                                 AnnotationMap *amap,
+                                 bool fullRef,
+                                 int offBase);
+
+       /**
+        * Append a verbose, readable hit to the output stream
+        * corresponding to the hit.
+        */
+       virtual void append(ostream& ss, const Hit& h) {
+               SAMHitSink::append(ss, h, defaultMapq_, 0, _refnames, rmap_, amap_, fullRef_, offBase_);
+       }
+
+       /**
+        * Append a verbose, readable hit to the output stream
+        * corresponding to the hit.
+        */
+       virtual void append(ostream& ss, const Hit& h, int mapq, int xms) {
+               SAMHitSink::append(ss, h, mapq, xms, _refnames, rmap_, amap_, fullRef_, offBase_);
+       }
+
+       /**
+        * Write the SAM header lines.
+        */
+       void appendHeaders(OutFileBuf& os,
+                          size_t numRefs,
+                          const vector<string>& refnames,
+                          bool color,
+                          bool nosq,
+                          ReferenceMap *rmap,
+                          const uint32_t* plen,
+                          bool fullRef,
+                          const char *cmdline,
+                          const char *rgline);
+
+protected:
+
+       /**
+        *
+        */
+       void reportUnOrMax(PatternSourcePerThread& p,
+                          vector<Hit>* hs,
+                          bool un);
+
+       /**
+        * Report a verbose, human-readable alignment to the appropriate
+        * output stream.
+        */
+       virtual void reportHit(const Hit& h) {
+               reportHit(h, defaultMapq_, 0);
+       }
+
+       /**
+        * Report a SAM alignment with the given mapping quality and XM
+        * field.
+        */
+       virtual void reportHit(const Hit& h, int mapq, int xms);
+
+       /**
+        * Report a batch of SAM alignments (e.g. two mates that should be
+        * printed together) with the given mapping quality and XM field.
+        */
+       virtual void reportHits(vector<Hit>& hs,
+                               size_t start,
+                               size_t end,
+                               int mapq,
+                               int xms);
+
+       /**
+        * See sam.cpp
+        */
+       virtual void reportMaxed(vector<Hit>& hs, PatternSourcePerThread& p);
+
+       /**
+        * See sam.cpp
+        */
+       virtual void reportUnaligned(PatternSourcePerThread& p) {
+               reportUnOrMax(p, NULL, true);
+       }
+
+private:
+       int  offBase_;        /// Add this to reference offsets before outputting.
+                             /// (An easy way to make things 1-based instead of
+                             /// 0-based)
+       int  defaultMapq_;    /// Default mapping quality to report when one is
+                             /// not specified
+       ReferenceMap *rmap_;  /// mapping to reference coordinate system.
+       AnnotationMap *amap_; ///
+       bool fullRef_;        /// print full reference name, not just up to whitespace
+};
+
+#endif /* SAM_H_ */
diff --git a/scripts/best_verify.pl b/scripts/best_verify.pl
new file mode 100755 (executable)
index 0000000..b7874c6
--- /dev/null
@@ -0,0 +1,198 @@
+#!/usr/bin/perl -w
+
+#
+# Verifies that Bowtie's --better and --best alignment modes really
+# produce alignments that are the best possible in terms of score.
+#
+# Run this from the Bowtie directory.
+#
+# E.g.: perl ../scripts/best_verify.pl -v 0
+#       perl ../scripts/best_verify.pl -v 0 e_coli genomes/NC_008253.fna reads/e_coli_1000.fq
+#
+
+use warnings;
+use strict;
+use Getopt::Long;
+
+my %options=();
+my $varg;
+my $narg;
+my $g = undef;
+my $l = undef;
+my $e = undef;
+my $C = undef;
+my $debug = 0;
+my $round = "";
+my $best = undef;
+my $nomaqround = 0;
+my $result = GetOptions(
+       "v=i" => \$varg,
+       "n=i" => \$narg,
+       "l=i" => \$l,
+       "e=i" => \$e,
+       "d"   => \$debug,
+       "g"   => \$g,
+       "best"=> \$best,
+       "C"   => \$C,
+       "nomaqround" => \$nomaqround) || die "Bad options";
+my $match_mode = "-n 2";
+$match_mode  = " -v " . $varg if defined($varg);
+$match_mode  = " -n " . $narg if defined($narg);
+$match_mode .= " -l $l " if defined($l);
+$match_mode .= " -e $e " if defined($e);
+$match_mode .= " -g " if defined($g);
+$match_mode .= " -C " if defined($C);
+$match_mode .= " --cost ";
+$round = "--nomaqround" if $nomaqround;
+my $seedLen = 28;
+$seedLen = $l if defined($l);
+
+print "Maq-like rounding is: ".($nomaqround ? "off" : "on") . "\n";
+print "Using match mode: $match_mode\n";
+
+if(defined($C)) {
+       print "Aborting with exitlevel 0 because colorspace alignment was selected\n";
+       exit 0;
+}
+
+my $bowtie_dir = ".";
+my $bowtie_exe = "bowtie";
+$bowtie_exe .= "-debug" if $debug;
+
+my $index  = "e_coli";
+$index = $ARGV[0] if defined($ARGV[0]);
+my $reads = "reads/e_coli_1000.fq";
+$reads = $ARGV[1] if defined($ARGV[1]);
+
+if($reads =~ /\.fa$/) {
+       $reads = " -f $reads ";
+} elsif($reads =~ /\.raw$/) {
+       $reads = " -r $reads ";
+} elsif($reads =~ /\.integer.fq$/) {
+       $reads = " -q --integer-quals $reads ";
+} elsif($reads =~ /\.fq$/) {
+       $reads = " -q $reads ";
+} else {
+       $reads = " -c $reads ";
+}
+
+my $vmode = ($match_mode =~ /[-]v/);
+
+system("make -C $bowtie_dir $bowtie_exe") == 0 || die;
+
+# Run Bowtie to get best alignments
+my $bowtie_best_cmd = "$bowtie_dir/$bowtie_exe -y $round $match_mode --best --refidx $index $reads";
+
+# Run Bowtie to get all alignments
+my $bowtie_all_cmd = "$bowtie_dir/$bowtie_exe -y $round $match_mode -a --refidx $index $reads";
+
+print "$bowtie_best_cmd\n";
+open BOWTIE_BEST, "$bowtie_best_cmd |";
+my %nameToBestScore = ();
+my %nameToBestAlignment = ();
+my $bestAls = 0;
+while(<BOWTIE_BEST>) {
+       next if /^Reported/;
+       chomp;
+       my $line = $_;
+       my @ls = split(/[\t]/, $line);
+       my $btcost = $ls[-1];
+       $#ls >= 5 || die "Alignment not formatted correctly: $line";
+       my $name = $ls[0];
+       defined($nameToBestAlignment{$name}) && die "Read with name $name appeared more than once in best-hit output";
+       defined($nameToBestScore{$name}) && die "Read with name $name appeared more than once in best-hit output";
+       my $len = length($ls[4]);
+       my $quals = $ls[5];
+       my $mmstr = "";
+       $mmstr = $ls[7] if defined($ls[7]);
+       my $cost = 0;
+       my $fw = $ls[1] eq "+";
+       $seedLen = $len if $vmode;
+       if($mmstr ne "-") {
+               my @mms = split(/,/, $mmstr);
+               for my $mm (@mms) {
+                       my @mmss = split(/:/, $mm);
+                       my $mmoff = int($mmss[0]);
+                       if($mmoff < $seedLen) {
+                               $cost += (1 << 14);
+                       }
+                       if(!$fw) {
+                               $mmoff = $len - $mmoff - 1;
+                       }
+                       my $q = substr($quals, $mmoff, 1);
+                       $q = int(ord($q) - 33);
+                       if(!$nomaqround) {
+                               $q = int(int($q + 5) / 10);
+                               $q = 3 if $q > 3;
+                               $q *= 10;
+                       }
+                       my $qcost += $q;
+                       $cost += $qcost;
+               }
+       }
+       print "$line: $cost\n";
+       $cost == $btcost || die "script-calculated cost $cost doesn't match bowtie-calculated cost $btcost\n";
+       $nameToBestAlignment{$name} = $line;
+       $nameToBestScore{$name} = $cost;
+       $bestAls++;
+}
+close(BOWTIE_BEST);
+if($? != 0) {
+       die "bowtie --best process failed with exitlevel $?\n";
+}
+
+print "$bowtie_all_cmd\n";
+open BOWTIE_ALL, "$bowtie_all_cmd |";
+my $allAls = 0;
+while(<BOWTIE_ALL>) {
+       next if /^Reported/;
+       chomp;
+       my $line = $_;
+       my @ls = split(/[\t]/, $line);
+       my $btcost = $ls[-1];
+       $#ls >= 5 || die "Alignment not formatted correctly: $line";
+       my $name = $ls[0];
+       my $len = length($ls[4]);
+       my $quals = $ls[5];
+       my $mmstr = "";
+       $mmstr = $ls[7] if defined($ls[7]);
+       my $cost = 0;
+       my $fw = $ls[1] eq "+";
+       $seedLen = $len if $vmode;
+       if($mmstr ne "-") {
+               my @mms = split(/,/, $mmstr);
+               for my $mm (@mms) {
+                       my @mmss = split(/:/, $mm);
+                       my $mmoff = int($mmss[0]);
+                       if($mmoff < $seedLen) {
+                               $cost += (1 << 14);
+                       }
+                       if(!$fw) {
+                               $mmoff = $len - $mmoff - 1;
+                       }
+                       my $q = substr($quals, $mmoff, 1);
+                       $q = int(ord($q) - 33);
+                       if(!$nomaqround) {
+                               $q = int(int($q + 5) / 10);
+                               $q = 3 if $q > 3;
+                               $q *= 10;
+                       }
+                       my $qcost += $q;
+                       $cost += $qcost;
+               }
+       }
+       print "$line: $cost\n";
+       $cost == $btcost || die "script-calculated cost $cost doesn't match bowtie-calculated cost $btcost\n";
+       defined($nameToBestAlignment{$name}) ||
+               die "Read with alignment:\n$line\nhas no corresponding alignment in best-hit mode\n";
+       int($cost) >= int($nameToBestScore{$name}) ||
+               die "Alignment:\n$line\n$cost\nis better than:\n$nameToBestAlignment{$name}\n$nameToBestScore{$name}\n";
+       $allAls++;
+}
+close(BOWTIE_ALL);
+if($? != 0) {
+       die "bowtie -a process failed with exitlevel $?\n";
+}
+
+print "Checked $bestAls best-alignments against $allAls all-alignments\n";
+print "PASSED\n";
diff --git a/scripts/bs_mapability.pl b/scripts/bs_mapability.pl
new file mode 100755 (executable)
index 0000000..0477037
--- /dev/null
@@ -0,0 +1,222 @@
+#!/usr/bin/perl -w
+
+##
+# mapability.pl
+#
+# Calculate mapability of each reference position assuming reference is
+# bisulfite treated.
+#
+
+use strict;
+use warnings;
+use Getopt::Long;
+
+my $fa = "";
+my $win = 50;
+my $freq = 1;
+my $bowtie = "";
+my $bowtie_arg = "";
+my $pol = "-v 3";
+my $fwidx = "";
+my $rcidx = "";
+my $btargs = "-t --norc -S --sam-nohead -M 1 --mm";
+my $debug = 0;
+
+if(defined($ENV{BOWTIE_HOME})) {
+       $bowtie = "$ENV{BOWTIE_HOME}/bowtie";
+       unless(-x $bowtie) { $bowtie = "" };
+}
+if($bowtie eq "") {
+       $bowtie = `which bowtie 2>/dev/null`;
+       chomp($bowtie);
+       unless(-x $bowtie) { $bowtie = "" };
+}
+$bowtie = "./bowtie" if ($bowtie eq "" && -x "./bowtie");
+
+GetOptions(
+       "fasta=s"     => \$fa,
+       "window=i"    => \$win,
+       "frequency=i" => \$freq,
+       "bowtie=s"    => \$bowtie_arg,
+       "policy=s"    => \$pol,
+       "fwidx=s"     => \$fwidx,
+       "rcidx=s"     => \$rcidx,
+       "debug"       => \$debug
+) || die;
+
+print STDERR "Bowtie: found: $bowtie; given: $bowtie_arg\n";
+print STDERR "Input fasta: $fa\n";
+print STDERR "FW index: $fwidx\n";
+print STDERR "RC index: $rcidx\n";
+print STDERR "Alignment policy: $pol\n";
+print STDERR "Window size: $win\n";
+print STDERR "Frequency: $freq\n";
+
+$fa ne "" || die "Must specify -fasta\n";
+$fwidx ne "" || die "Must specify -fwidx\n";
+$rcidx ne "" || die "Must specify -rcidx\n";
+-f "$fwidx.1.ebwt" || die "Could not find -fwidx index file $fwidx.1.ebwt\n";
+-f "$rcidx.1.ebwt" || die "Could not find -rcidx index file $rcidx.1.ebwt\n";
+
+$bowtie = $bowtie_arg if $bowtie_arg ne "";
+unless(-x $bowtie) {
+       # No bowtie? die
+       if($bowtie_arg ne "") {
+               die "Specified -bowtie, \"$bowtie\" doesn't exist or isn't executable\n";
+       } else {
+               die "bowtie couldn't be found in BOWTIE_HOME, PATH, or current directory; please specify -bowtie\n";
+       }
+}
+
+my $running = 0;
+my $name = ""; # name of sequence currently being processed
+my %lens = ();
+my @names = ();
+my $totlen = 0;
+
+##
+# Read lengths of all the entries in all the input fasta files.
+#
+sub readLens($) {
+       my $ins = shift;
+       my @is = split(/[,]/, $ins);
+       for my $i (@is) {
+               open IN, "$i" || die "Could not open $i\n";
+               my $name = "";
+               while(<IN>) {
+                       chomp;
+                       if(substr($_, 0, 1) eq '>') {
+                               next if /\?[0-9]*$/; # Skip >?50000 lines
+                               $name = $_;
+                               $name = substr($name, 1); # Chop off >
+                               if($name =~ /^FW:/ || $name =~ /^RC:/) {
+                                       $name = substr($name, 3); # Chop off FW:/RC:
+                               }
+                               my @ns = split(/\s+/, $name);
+                               $name = $ns[0]; # Get short name
+                               push @names, $name;
+                               print STDERR "Saw name $name\n";
+                       } else {
+                               $name ne "" || die;
+                               $lens{$name} += length($_); # Update length
+                               $totlen += length($_);
+                       }
+               }
+               close(IN);
+       }
+}
+print STDERR "Reading fasta lengths\n";
+readLens($fa);
+print STDERR "  read ".scalar(keys %lens)." sequences with total length $totlen\n";
+
+my @last;
+for(my $i = 0; $i < $win; $i++) { push @last, 0 };
+sub clearLast {
+       for(my $i = 0; $i < $win; $i++) { $last[$i] = 0 };
+}
+
+print STDERR "Opening bowtie pipes\n";
+my $fwcmd = "$bowtie -F $win,$freq $btargs $pol $fwidx $fa";
+my $rccmd = "$bowtie -F $win,$freq $btargs $pol $rcidx $fa";
+print STDERR "Forward command: $fwcmd\n";
+print STDERR "Reverse comp command: $rccmd\n";
+open BTFW, "$fwcmd |" || die "Couldn't open pipe '$fwcmd |'\n";
+open BTRC, "$rccmd |" || die "Couldn't open pipe '$rccmd |'\n";
+
+# 10_554  4       *       0       0       *       *       0       0       NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN      IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII      XM:i:0
+# 10_555  4       *       0       0       *       *       0       0       NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN      IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII      XM:i:0
+# 10_556  4       *       0       0       *       *       0       0       NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN      IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII      XM:i:0
+# 10_557  4       *       0       0       *       *       0       0       NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN      IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII      XM:i:0
+# 10_558  4       *       0       0       *       *       0       0       NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN      IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII      XM:i:0
+# 10_559  4       *       0       0       *       *       0       0       NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN      IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII      XM:i:0
+
+print STDERR "Reading...\n";
+my $ln = 0;
+my $cur = 0;
+my $lastc = "\n";
+while(1) {
+       my $fwl = <BTFW>;
+       my $rcl = <BTRC>;
+       
+       last unless defined($fwl) && defined($rcl);
+       $ln++;
+
+       my @fws = split(/\t/, $fwl);
+       my @fws1 = split(/_/, $fws[0]);
+       my @rcs = split(/\t/, $rcl);
+       my @rcs1 = split(/_/, $rcs[0]);
+       
+       my $cname = join("_", @fws1[0..$#fws1-1]);
+       $cname eq join("_", @fws1[0..$#fws1-1]) || die "Name mismatch on line $ln:\n$fwl\n$rcl\n";
+       my $off = $fws1[-1];
+       $off eq $rcs1[-1] || die "Offset mismatch on line $ln:\n$fwl\n$rcl\n";
+       # If a read aligns, XM:i is not printed
+       # If a read fails to align, XM:i:0 is printed
+       # If a read aligns multiple places, XM:i:N is printed where N>0
+       my $fwxm0 = $fws[-1] =~ /XM:i:0/;
+       my $rcxm0 = $rcs[-1] =~ /XM:i:0/;
+       my $fwxm  = $fws[-1] =~ /XM:i:/;
+       my $rcxm  = $rcs[-1] =~ /XM:i:/;
+       # For mapable to be true, we need the read to have failed to align
+       # in one index and aligned uniquely in the other
+       my $mapable = (($fwxm0 && !$rcxm) || ($rcxm0 && !$fwxm)) ? 1 : 0;
+       
+       $cname =~ s/\s.*//; # trim everything after first whitespace to get short name
+       if($cname =~ /^FW:/ || $cname =~ /^RC:/) {
+               $cname = substr($cname, 3);
+       }
+       if($name ne $cname) {
+               if($name ne "") {
+                       # Flush remaining characters from previous name
+                       defined($lens{$name}) || die;
+                       $cur == $lens{$name} - $win + 1 || die "name is $name, cur is $cur, len is $lens{$name}, win is $win\n";
+                       for(; $cur < $lens{$name}; $cur++) {
+                               $running -= $last[$cur % $win];
+                               $last[$cur % $win] = 0;
+                               $lastc = chr($running + 64);
+                               print $lastc;
+                               if((($cur+1) % 60) == 0) {
+                                       $lastc = "\n";
+                                       print $lastc;
+                               }
+                       }
+               }
+               $name = $cname;
+               defined($lens{$name}) || die "No such name as \"$name\"\n";
+               print "\n" unless $lastc eq "\n";
+               print ">$name\n";
+               $lastc = "\n";
+               $cur = 0;
+               $running = 0;
+               clearLast();
+       }
+       
+       $running -= $last[$cur % $win];
+       $last[$cur % $win] = $mapable;
+       $running += $last[$cur % $win];
+
+       $running <= $win || die "running counter $running got higher than window size $win\n";
+       $lastc = chr($running + 64);
+       print $lastc;
+       if((($cur+1) % 60) == 0) {
+               $lastc = "\n";
+               print $lastc;
+       }
+
+       $cur++;
+}
+defined($lens{$name}) || die;
+for(; $cur < $lens{$name}; $cur++) {
+       $running -= $last[$cur % $win];
+       $last[$cur % $win] = 0;
+       $lastc = chr($running + 64);
+       print $lastc;
+       if((($cur+1) % 60) == 0) {
+               $lastc = "\n";
+               print $lastc;
+       }
+}
+close(BTFW);
+$? == 0 || die "Bad exitlevel from forward bowtie: $?\n";
+close(BTRC);
+$? == 0 || die "Bad exitlevel from reverse-comp bowtie: $?\n";
diff --git a/scripts/build_test.sh b/scripts/build_test.sh
new file mode 100755 (executable)
index 0000000..ae0a620
--- /dev/null
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+#
+# Run this from the bowtie directory to sanity-check the bowtie index
+# builder
+#
+
+make bowtie-build-debug
+if ./bowtie-build-debug -s -v genomes/NC_008253.fna .build_test ; then
+       echo Build test PASSED
+else
+       echo Build test FAILED
+fi
+rm -f .tmp*.ebwt
diff --git a/scripts/colorize_fasta.pl b/scripts/colorize_fasta.pl
new file mode 100755 (executable)
index 0000000..0f00176
--- /dev/null
@@ -0,0 +1,46 @@
+#!/usr/bin/perl -w
+
+##
+# colorize_fasta.pl
+#
+# Convert nucleotide FASTA input to colorspace FASTA output.
+# Colorspace versions of nucleotide sequnences are 1 character shorter.
+# Names are unchanged.  No primer base is given.
+#
+
+##
+# Given a string in nucleotide space, convert to colorspace.
+#
+sub colorize($$) {
+       my ($s, $nucs) = @_;
+       defined($s) || die;
+       my %cmap = (
+               "AA" => "0", "CC" => "0", "GG" => "0", "TT" => "0",
+               "AC" => "1", "CA" => "1", "GT" => "1", "TG" => "1",
+               "AG" => "2", "GA" => "2", "CT" => "2", "TC" => "2",
+               "AT" => "3", "TA" => "3", "CG" => "3", "GC" => "3",
+               "NA" => ".", "NC" => ".", "NG" => ".", "NT" => ".",
+               "AN" => ".", "CN" => ".", "GN" => ".", "TN" => ".",
+               "NN" => "."
+       );
+       my %nmap = ("0" => "A", "1" => "C", "2" => "G", "3" => "T", "." => "N");
+       my $ret = "";
+       for(my $i = 0; $i < length($s)-1; $i++) {
+               my $di = uc substr($s, $i, 2);
+               $di =~ tr/-NnMmRrWwSsYyKkVvHhDdBbXx/N/;
+               defined($cmap{$di}) || die "Bad dinuc: $di\n";
+               $ret .= ($nucs ? $nmap{$cmap{$di}} : $cmap{$di});
+       }
+       return $ret;
+}
+
+while(<>) {
+       next if /^;/;
+       next if /^#/;
+       if(/^>/) {
+               print $_;
+       } else {
+               chomp;
+               print colorize($_, 0)."\n";
+       }
+}
diff --git a/scripts/colorize_fastq.pl b/scripts/colorize_fastq.pl
new file mode 100755 (executable)
index 0000000..93a8b9a
--- /dev/null
@@ -0,0 +1,45 @@
+#!/usr/bin/perl -w
+
+##
+# colorize_fastq.pl
+#
+# Convert nucleotide FASTQ input to colorspace CSFASTQ output.
+# Colorspace versions of nucleotide sequnences are 1 character shorter.
+# Names are unchanged.  No primer base is given.
+#
+
+##
+# Given a string in nucleotide space, convert to colorspace.
+#
+sub colorize($$) {
+       my ($s, $nucs) = @_;
+       defined($s) || die;
+       my %cmap = (
+               "AA" => "0", "CC" => "0", "GG" => "0", "TT" => "0",
+               "AC" => "1", "CA" => "1", "GT" => "1", "TG" => "1",
+               "AG" => "2", "GA" => "2", "CT" => "2", "TC" => "2",
+               "AT" => "3", "TA" => "3", "CG" => "3", "GC" => "3",
+               "NA" => ".", "NC" => ".", "NG" => ".", "NT" => ".",
+               "AN" => ".", "CN" => ".", "GN" => ".", "TN" => ".",
+               "NN" => "."
+       );
+       my %nmap = ("0" => "A", "1" => "C", "2" => "G", "3" => "T", "." => "N");
+       my $ret = "";
+       for(my $i = 0; $i < length($s)-1; $i++) {
+               my $di = uc substr($s, $i, 2);
+               $di =~ tr/-NnMmRrWwSsYyKkVvHhDdBbXx/N/;
+               defined($cmap{$di}) || die "Bad dinuc: $di\n";
+               $ret .= ($nucs ? $nmap{$cmap{$di}} : $cmap{$di});
+       }
+       return $ret;
+}
+
+while(<>) {
+       next if /^[;#]/;
+       my $name  = $_;
+       my $seq   = <>;
+       my $name2 = <>;
+       my $qual  = <>;
+       chomp($seq);
+       print $name.colorize($seq, 0)."\n$name2$qual";
+}
diff --git a/scripts/convert_quals.pl b/scripts/convert_quals.pl
new file mode 100755 (executable)
index 0000000..b9d8eb2
--- /dev/null
@@ -0,0 +1,114 @@
+#!/usr/bin/perl -w
+
+#
+# convert_quals.pl
+#
+# Modify scale/encoding of quality values in a FASTQ file.
+#
+# Author: Ben Langmead
+#   Date: 5/5/2009
+#
+# p = probability that base is miscalled
+# Qphred = -10 * log10 (p)
+# Qsolexa = -10 * log10 (p / (1 - p))
+# See: http://en.wikipedia.org/wiki/FASTQ_format
+#
+
+use strict;
+use warnings;
+use Getopt::Long;
+
+my $inphred   = 33;
+my $insolexa  = 0;
+my $outphred  = 0;
+my $outsolexa = 64;
+
+# Default: convert 33-based Phred quals into 64-based Solexa qualss
+
+my $result =
+       GetOptions ("inphred=i"   => \$inphred,
+                   "insolexa=i"  => \$insolexa,
+                   "outphred=i"  => \$outphred,
+                   "outsolexa=i" => \$outsolexa);
+$result == 1 || die "One or more errors parsing script arguments";
+
+if($inphred > 0) {
+       $inphred >= 33 || die "Input base must be >= 33, was $inphred";
+} else {
+       $insolexa >= 33 || die "Input base must be >= 33, was $insolexa";
+}
+
+sub log10($) {
+       return log(shift) / log(10.0);
+}
+
+sub round {
+    my($number) = shift;
+    return int($number + .5 * ($number <=> 0));
+}
+
+# Convert from phred qual to probability of miscall
+sub phredToP($) {
+       my $phred = shift;
+       my $p = (10.0 ** (($phred) / -10.0));
+       ($p >= 0.0 && $p <= 1.0) || die "Bad prob: $p, from sol $phred";
+       return $p;
+}
+
+# Convert from solexa qual to probability of miscall
+sub solToP($) {
+       my $sol = shift;
+       my $x = (10.0 ** (($sol) / -10.0));
+       my $p = $x / (1.0 + $x);
+       ($p >= 0.0 && $p <= 1.0) || die "Bad prob: $p, from x $x, phred $sol";
+       return $p;
+}
+
+# Convert from probability of miscall to phred qual
+sub pToPhred($) {
+       my $p = shift;
+       ($p >= 0.0 && $p <= 1.0) || die "Bad prob: $p";
+       return round(-10.0 * log10($p));
+}
+
+# Convert from probability of miscall to solexa qual
+sub pToSol($) {
+       my $p = shift;
+       ($p >= 0.0 && $p <= 1.0) || die "Bad prob: $p";
+       return 0.0 if $p == 1.0;
+       return round(-10.0 * log10($p / (1.0 - $p)));
+}
+
+while(<>) {
+       my $name = $_;  print $name;
+       my $seq = <>;   print $seq;
+       my $name2 = <>; print $name2;
+       my $quals = <>;
+       chomp($quals);
+       my @qual = split(//, $quals);
+       for(my $i = 0; $i <= $#qual; $i++) {
+               my $co = ord($qual[$i]);
+               my $p;
+               # Convert input qual to p
+               if($inphred > 0) {
+                       $co -= $inphred;
+                       $co >= 0 || die "Bad Phred input quality: $co";
+                       $p = phredToP($co);
+               } else {
+                       $co -= $insolexa;
+                       $p = solToP($co);
+               }
+               # Convert p to output qual
+               if($outphred > 0) {
+                       $co = pToPhred($p);
+                       $co >= 0 || die "Bad Phred output quality: $co";
+                       $co += $outphred;
+               } else {
+                       $co = pToSol($p);
+                       $co += $outsolexa;
+               }
+               $co >= 33 || die "Error: Output qual " . $co . " char is less than 33.  Try a larger output base.";
+               print chr($co);
+       }
+       print "\n";
+}
diff --git a/scripts/fastq_to_tabbed.pl b/scripts/fastq_to_tabbed.pl
new file mode 100755 (executable)
index 0000000..938355f
--- /dev/null
@@ -0,0 +1,112 @@
+#!/usr/bin/perl -w
+
+##
+# fastq_to_tabbed.pl
+#
+# Convert a pair of FASTQ files to a single file in a one-pair-per-line
+# format, where each line has these five tab-delimited fields:
+#
+# 1. Pair name
+# 2. Sequence of mate 1
+# 3. Qualities of mate 1
+# 4. Sequence of mate 2
+# 5. Qualities of mate 2
+#
+# This script comes in handy if (a) you'd just like to store your
+# paired-end data in a less awkward format than the usual pair of
+# parallel FASTQ files, or (b) you'd like to use Bowtie with gzipped
+# paired-end input without unzipping it first.  In that case, you can
+# pipe the output of this script (which handles gzipped inputs by
+# piping them through gzip -dc) to Bowtie and use '--12 -'.
+#
+# Note that this script can also handle unpaired input (with -u), which
+# Bowtie handles approrpaitely in --12 mode even when it's intermingled
+# with paired-end input.
+#
+
+use strict;
+use warnings;
+use Getopt::Long;
+
+# Courtesy: http://www.perlmonks.org/?node_id=625977
+sub shuffle (@) {
+       my @a = \(@_);
+       my $n;
+       my $i = @_;
+       map {
+               $n = rand($i--);
+               (${$a[$n]}, $a[$n] = $a[$i])[0];
+       } @_;
+}
+
+my $unpaired = "";
+my $mate1 = "";
+my $mate2 = "";
+my $shuffle = 0;
+
+GetOptions ("u=s"     => \$unpaired,
+            "1=s"     => \$mate1,
+            "2=s"     => \$mate2,
+            "shuffle" => \$shuffle) || die "Bad option";
+
+my @output;
+my @unpaireds = split(/,/, $unpaired);
+
+for my $f (@unpaireds) {
+       open UNP, "$f" || die;
+       while(<UNP>) {
+               chomp;
+               my $name = $_;
+               $name = substr($name, 1);
+               my $seq = <UNP>;
+               chomp($seq);
+               my $name2 = <UNP>;
+               my $qual = <UNP>;
+               chomp($qual);
+               push @output, "$name\t$seq\t$qual\n";
+       }
+       close(UNP);
+}
+
+my @mate1s = split(/,/, $mate1);
+my @mate2s = split(/,/, $mate2);
+
+for(my $i = 0; $i <= $#mate1s; $i++) {
+       if($mate1s[$i] =~ /\.gz$/) {
+               open M1, "gzip -dc $mate1s[$i] |" || die;
+       } else {
+               open M1, "$mate1s[$i]" || die;
+       }
+       if($mate2s[$i] =~ /\.gz$/) {
+               open M2, "gzip -dc $mate2s[$i] |" || die;
+       } else {
+               open M2, "$mate2s[$i]" || die;
+       }
+       while(<M1>) {
+               my $name1 = $_;
+               chomp($name1);
+               $name1 = substr($name1, 1, -2);
+               my $name2 = <M2>;
+               chomp($name2);
+               $name2 = substr($name2, 1);
+               my $seq1 = <M1>;
+               chomp($seq1);
+               my $seq2 = <M2>;
+               chomp($seq2);
+               my $tmp = <M1>;
+               $tmp = <M2>;
+               my $qual1 = <M1>;
+               chomp($qual1);
+               my $qual2 = <M2>;
+               chomp($qual2);
+               print "$name1\t$seq1\t$qual1\t$seq2\t$qual2\n" unless $shuffle;
+               push @output, "$name1\t$seq1\t$qual1\t$seq2\t$qual2\n" if $shuffle;
+       }
+       close(M1);
+       close(M2);
+}
+
+if($shuffle) {
+       @output = shuffle(@output);
+       print join("", @output);
+}
diff --git a/scripts/gen_2b_occ_lookup.pl b/scripts/gen_2b_occ_lookup.pl
new file mode 100755 (executable)
index 0000000..b398d75
--- /dev/null
@@ -0,0 +1,87 @@
+#!/usr/bin/perl -w
+
+#
+# Generate lookup table that, given two packed DNA bytes (eight bases)
+# and a character (A, C, G or T), returns how many times that character
+# occurs in that packed pair of bytes.  Useful for quickly counting
+# character occurrences in long strings.  The LUT is indexed first by
+# character (0 - 3) then by byte (0 - 2^16-1).
+#
+# See ebwt.h. 
+#
+
+my @as = ();
+my @cs = ();
+my @gs = ();
+my @ts = ();
+
+# Compile character arrays
+my $i;
+for($i = 0; $i < (256*256); $i++) {
+       
+       my $b01   = ($i >> 0) & 3;
+       my $b23   = ($i >> 2) & 3;
+       my $b45   = ($i >> 4) & 3;
+       my $b67   = ($i >> 6) & 3;
+       my $b89   = ($i >> 8) & 3;
+       my $b1011 = ($i >> 10) & 3;
+       my $b1213 = ($i >> 12) & 3;
+       my $b1415 = ($i >> 14) & 3;
+
+       my $a = ($b01 == 0) + ($b23 == 0) + ($b45 == 0) + ($b67 == 0) +
+               ($b89 == 0) + ($b1011 == 0) + ($b1213 == 0) + ($b1415 == 0);
+       my $c = ($b01 == 1) + ($b23 == 1) + ($b45 == 1) + ($b67 == 1) +
+               ($b89 == 1) + ($b1011 == 1) + ($b1213 == 1) + ($b1415 == 1);
+       my $g = ($b01 == 2) + ($b23 == 2) + ($b45 == 2) + ($b67 == 2) +
+               ($b89 == 2) + ($b1011 == 2) + ($b1213 == 2) + ($b1415 == 2);
+       my $t = ($b01 == 3) + ($b23 == 3) + ($b45 == 3) + ($b67 == 3) +
+               ($b89 == 3) + ($b1011 == 3) + ($b1213 == 3) + ($b1415 == 3);
+
+       push @as, $a;
+       push @cs, $c;
+       push @gs, $g;
+       push @ts, $t;
+}
+
+my $entsPerLine = 16;
+
+# Count occurrences in all 4 bit pairs 
+
+print "uint8_t cCntLUT_16b_4[4][256*256] = {\n";
+
+# Print As array
+print "\t/* As */ {\n";
+for($i = 0; $i < (256*256); $i++) {
+       print "\t\t" if(($i % $entsPerLine) == 0);
+       print "$as[$i], ";
+       print "\n" if(($i % $entsPerLine) == ($entsPerLine-1));
+}
+print "\t},\n";
+
+# Print Cs array
+print "\t/* Cs */ {\n";
+for($i = 0; $i < (256*256); $i++) {
+       print "\t\t" if(($i % $entsPerLine) == 0);
+       print "$cs[$i], ";
+       print "\n" if(($i % $entsPerLine) == ($entsPerLine-1));
+}
+print "\t},\n";
+
+# Print Gs array
+print "\t/* Gs */ {\n";
+for($i = 0; $i < (256*256); $i++) {
+       print "\t\t" if(($i % $entsPerLine) == 0);
+       print "$gs[$i], ";
+       print "\n" if(($i % $entsPerLine) == ($entsPerLine-1));
+}
+print "\t},\n";
+
+# Print Ts array
+print "\t/* Ts */ {\n";
+for($i = 0; $i < (256*256); $i++) {
+       print "\t\t" if(($i % $entsPerLine) == 0);
+       print "$ts[$i], ";
+       print "\n" if(($i % $entsPerLine) == ($entsPerLine-1));
+}
+print "\t}\n";
+print "};\n";
diff --git a/scripts/gen_dnamasks2colormask.pl b/scripts/gen_dnamasks2colormask.pl
new file mode 100755 (executable)
index 0000000..40e0ec8
--- /dev/null
@@ -0,0 +1,31 @@
+print "uint8_t dnamasks2colormask[16][16] = {\n";
+print "\t         /* 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15 */\n";
+my %color = (
+       "0,0" => 0, "0,1" => 1, "0,2" => 2, "0,3" => 3,
+       "1,0" => 1, "1,1" => 0, "1,2" => 3, "1,3" => 2,
+       "2,0" => 2, "2,1" => 3, "2,2" => 0, "2,3" => 1,
+       "3,0" => 3, "3,1" => 2, "3,2" => 1, "3,3" => 0
+);
+for(my $i = 0; $i < 16; $i++) {
+       printf "\t/* %2d */ { ", $i;
+       for(my $j = 0; $j < 16; $j++) {
+               my $mask = 0;
+               for(my $x = 0 ; $x < 4; $x++) {
+                       for(my $y = 0 ; $y < 4; $y++) {
+                               if(($i & (1<<$x)) != 0 && ($j & (1<<$y)) != 0) {
+                                       $mask |= (1 << $color{"$x,$y"});
+                               }
+                       }
+               }
+               $mask >= 0 || die;
+               printf "%2d", $mask;
+               if($j == 15) {
+                       print " }";
+                       print "," if $i < 15;
+                       print "\n";
+               } else {
+                       print ", ";
+               }
+       }
+}
+print "};\n";
diff --git a/scripts/gen_occ_lookup.pl b/scripts/gen_occ_lookup.pl
new file mode 100755 (executable)
index 0000000..e0f7626
--- /dev/null
@@ -0,0 +1,238 @@
+#!/usr/bin/perl -w
+
+#
+# Generate lookup table that, given a packed DNA byte (four bases) and
+# a character (A, C, G or T), returns how many times that character
+# occurs in that packed byte.  Useful for quickly counting character
+# occurrences in long strings.  The LUT is indexed first by character
+# (0-3) then by byte (0-255).
+#
+# Larger lookup tables are also possible, though they seem
+# counterproductive.  E.g., looking up eight bases at a time yields a
+# 256K LUT, which doesn't fit in L1.  A four-base LUT is 1KB, easily
+# fitting in L1.
+#
+# See ebwt.h. 
+#
+
+my @as4 = (), @as3 = (), @as2 = (), @as1 = ();
+my @cs4 = (), @cs3 = (), @cs2 = (), @cs1 = ();
+my @gs4 = (), @gs3 = (), @gs2 = (), @gs1 = ();
+my @ts4 = (), @ts3 = (), @ts2 = (), @ts1 = ();
+
+# Compile character arrays
+my $i;
+for($i = 0; $i < 256; $i++) {
+       my $b01 = ($i >> 0) & 3;
+       my $b23 = ($i >> 2) & 3;
+       my $b45 = ($i >> 4) & 3;
+       my $b67 = ($i >> 6) & 3;
+       
+       my $a4 = ($b01 == 0) + ($b23 == 0) + ($b45 == 0) + ($b67 == 0);
+       my $c4 = ($b01 == 1) + ($b23 == 1) + ($b45 == 1) + ($b67 == 1);
+       my $g4 = ($b01 == 2) + ($b23 == 2) + ($b45 == 2) + ($b67 == 2);
+       my $t4 = ($b01 == 3) + ($b23 == 3) + ($b45 == 3) + ($b67 == 3);
+
+       push @as4, $a4;
+       push @cs4, $c4;
+       push @gs4, $g4;
+       push @ts4, $t4;
+
+       my $a3 = ($b01 == 0) + ($b23 == 0) + ($b45 == 0);
+       my $c3 = ($b01 == 1) + ($b23 == 1) + ($b45 == 1);
+       my $g3 = ($b01 == 2) + ($b23 == 2) + ($b45 == 2);
+       my $t3 = ($b01 == 3) + ($b23 == 3) + ($b45 == 3);
+
+       push @as3, $a3;
+       push @cs3, $c3;
+       push @gs3, $g3;
+       push @ts3, $t3;
+
+       my $a2 = ($b01 == 0) + ($b23 == 0);
+       my $c2 = ($b01 == 1) + ($b23 == 1);
+       my $g2 = ($b01 == 2) + ($b23 == 2);
+       my $t2 = ($b01 == 3) + ($b23 == 3);
+
+       push @as2, $a2;
+       push @cs2, $c2;
+       push @gs2, $g2;
+       push @ts2, $t2;
+
+       my $a1 = ($b01 == 0) + 0;
+       my $c1 = ($b01 == 1) + 0;
+       my $g1 = ($b01 == 2) + 0;
+       my $t1 = ($b01 == 3) + 0;
+
+       push @as1, $a1;
+       push @cs1, $c1;
+       push @gs1, $g1;
+       push @ts1, $t1;
+}
+
+my $entsPerLine = 16;
+
+print "#include <stdint.h>\n\n";
+print "/* Generated by gen_lookup_tables.pl */\n\n";
+
+# Count occurrences in all 4 bit pairs 
+
+print "uint8_t cCntLUT_4[4][4][256] = {\n";
+print "\t/* All 4 bit pairs */ {\n";
+
+# Print As array
+print "\t\t/* As */ {\n";
+for($i = 0; $i < 256; $i++) {
+       print "\t\t\t" if(($i % $entsPerLine) == 0);
+       print "$as4[$i], ";
+       print "\n" if(($i % $entsPerLine) == ($entsPerLine-1));
+}
+print "\t\t},\n";
+
+# Print Cs array
+print "\t\t/* Cs */ {\n";
+for($i = 0; $i < 256; $i++) {
+       print "\t\t\t" if(($i % $entsPerLine) == 0);
+       print "$cs4[$i], ";
+       print "\n" if(($i % $entsPerLine) == ($entsPerLine-1));
+}
+print "\t\t},\n";
+
+# Print Gs array
+print "\t\t/* Gs */ {\n";
+for($i = 0; $i < 256; $i++) {
+       print "\t\t\t" if(($i % $entsPerLine) == 0);
+       print "$gs4[$i], ";
+       print "\n" if(($i % $entsPerLine) == ($entsPerLine-1));
+}
+print "\t\t},\n";
+
+# Print Ts array
+print "\t\t/* Ts */ {\n";
+for($i = 0; $i < 256; $i++) {
+       print "\t\t\t" if(($i % $entsPerLine) == 0);
+       print "$ts4[$i], ";
+       print "\n" if(($i % $entsPerLine) == ($entsPerLine-1));
+}
+print "\t\t}\n\t},\n";
+
+# Count occurrences in low 1 bit pair
+
+print "\t/* Least significant 1 bit pair */ {\n";
+
+# Print As array
+print "\t\t/* As */ {\n";
+for($i = 0; $i < 256; $i++) {
+       print "\t\t\t" if(($i % $entsPerLine) == 0);
+       print "$as1[$i], ";
+       print "\n" if(($i % $entsPerLine) == ($entsPerLine-1));
+}
+print "\t\t},\n";
+
+# Print Cs array
+print "\t\t/* Cs */ {\n";
+for($i = 0; $i < 256; $i++) {
+       print "\t\t\t" if(($i % $entsPerLine) == 0);
+       print "$cs1[$i], ";
+       print "\n" if(($i % $entsPerLine) == ($entsPerLine-1));
+}
+print "\t\t},\n";
+
+# Print Gs array
+print "\t\t/* Gs */ {\n";
+for($i = 0; $i < 256; $i++) {
+       print "\t\t\t" if(($i % $entsPerLine) == 0);
+       print "$gs1[$i], ";
+       print "\n" if(($i % $entsPerLine) == ($entsPerLine-1));
+}
+print "\t\t},\n";
+
+# Print Ts array
+print "\t\t/* Ts */ {\n";
+for($i = 0; $i < 256; $i++) {
+       print "\t\t\t" if(($i % $entsPerLine) == 0);
+       print "$ts1[$i], ";
+       print "\n" if(($i % $entsPerLine) == ($entsPerLine-1));
+}
+print "\t\t}\n\t},\n";
+
+# Count occurrences in low 2 bit pairs
+
+print "\t/* Least significant 2 bit pairs */ {\n";
+
+# Print As array
+print "\t\t/* As */ {\n";
+for($i = 0; $i < 256; $i++) {
+       print "\t\t\t" if(($i % $entsPerLine) == 0);
+       print "$as2[$i], ";
+       print "\n" if(($i % $entsPerLine) == ($entsPerLine-1));
+}
+print "\t\t},\n";
+
+# Print Cs array
+print "\t\t/* Cs */ {\n";
+for($i = 0; $i < 256; $i++) {
+       print "\t\t\t" if(($i % $entsPerLine) == 0);
+       print "$cs2[$i], ";
+       print "\n" if(($i % $entsPerLine) == ($entsPerLine-1));
+}
+print "\t\t},\n";
+
+# Print Gs array
+print "\t\t/* Gs */ {\n";
+for($i = 0; $i < 256; $i++) {
+       print "\t\t\t" if(($i % $entsPerLine) == 0);
+       print "$gs2[$i], ";
+       print "\n" if(($i % $entsPerLine) == ($entsPerLine-1));
+}
+print "\t\t},\n";
+
+# Print Ts array
+print "\t\t/* Ts */ {\n";
+for($i = 0; $i < 256; $i++) {
+       print "\t\t\t" if(($i % $entsPerLine) == 0);
+       print "$ts2[$i], ";
+       print "\n" if(($i % $entsPerLine) == ($entsPerLine-1));
+}
+print "\t\t}\n\t},\n";
+
+# Count occurrences in low 3 bit pairs
+
+print "\t/* Least significant 3 bit pairs */ {\n";
+
+# Print As array
+print "\t\t/* As */ {\n";
+for($i = 0; $i < 256; $i++) {
+       print "\t\t\t" if(($i % $entsPerLine) == 0);
+       print "$as3[$i], ";
+       print "\n" if(($i % $entsPerLine) == ($entsPerLine-1));
+}
+print "\t\t},\n";
+
+# Print Cs array
+print "\t\t/* Cs */ {\n";
+for($i = 0; $i < 256; $i++) {
+       print "\t\t\t" if(($i % $entsPerLine) == 0);
+       print "$cs3[$i], ";
+       print "\n" if(($i % $entsPerLine) == ($entsPerLine-1));
+}
+print "\t\t},\n";
+
+# Print Gs array
+print "\t\t/* Gs */ {\n";
+for($i = 0; $i < 256; $i++) {
+       print "\t\t\t" if(($i % $entsPerLine) == 0);
+       print "$gs3[$i], ";
+       print "\n" if(($i % $entsPerLine) == ($entsPerLine-1));
+}
+print "\t\t},\n";
+
+# Print Ts array
+print "\t\t/* Ts */ {\n";
+for($i = 0; $i < 256; $i++) {
+       print "\t\t\t" if(($i % $entsPerLine) == 0);
+       print "$ts3[$i], ";
+       print "\n" if(($i % $entsPerLine) == ($entsPerLine-1));
+}
+print "\t\t}\n\t}\n";
+
+print "};\n";
diff --git a/scripts/gen_solqual_lookup.pl b/scripts/gen_solqual_lookup.pl
new file mode 100755 (executable)
index 0000000..a076edb
--- /dev/null
@@ -0,0 +1,61 @@
+#!/usr/bin/perl -w
+
+use warnings;
+use strict;
+
+sub log10($) {
+       return log(shift) / log(10.0);
+}
+
+sub round {
+    my($number) = shift;
+    return int($number + .5 * ($number <=> 0));
+}
+
+# Convert from solexa qual to probability of miscall
+sub phredToP($) {
+       my $sol = shift;
+       my $p = (10.0 ** (($sol) / -10.0));
+       ($p >= 0.0 && $p <= 1.0) || die "Bad prob: $p, from sol $sol";
+       return $p;
+}
+
+# Convert from phred qual to probability of miscall
+sub solToP($) {
+       my $phred = shift;
+       my $x = (10.0 ** (($phred) / -10.0));
+       my $p = $x / (1.0 + $x);
+       ($p >= 0.0 && $p <= 1.0) || die "Bad prob: $p, from x $x, phred $phred";
+       return $p;
+}
+
+# Convert from probability of miscall to phred qual
+sub pToPhred($) {
+       my $p = shift;
+       ($p >= 0.0 && $p <= 1.0) || die "Bad prob: $p";
+       return round(-10.0 * log10($p));
+}
+
+# Convert from probability of miscall to solexa qual
+sub pToSol($) {
+       my $p = shift;
+       ($p >= 0.0 && $p <= 1.0) || die "Bad prob: $p";
+       return 0 if($p == 1.0);
+       return round(-10.0 * log10($p / (1.0 - $p)));
+}
+
+# Print conversion table from Phred to Solexa
+print "uint8_t solToPhred[] = {";
+my $cols = 10;
+my $cnt = 0;
+for(my $i = -10; $i < 256; $i++) {
+       # Solexa qual = $i
+       my $p = solToP($i);
+       my $ph = pToPhred($p);
+       print "\n\t/* $i */ " if($cnt == 0);
+       $cnt++;
+       $cnt = 0 if($cnt == 10);
+       print "$ph";
+       print ", " if($i < 255);
+}
+print "\n};\n";
diff --git a/scripts/make_a_thaliana_tair.sh b/scripts/make_a_thaliana_tair.sh
new file mode 100755 (executable)
index 0000000..b4502b8
--- /dev/null
@@ -0,0 +1,54 @@
+#!/bin/sh
+
+#
+# Downloads sequence for A. thaliana from TAIR.  This script was used
+# to build the Bowtie index for A. thaliana.  The downloaded version
+# was TAIR9.
+#
+
+GENOMES_MIRROR=ftp://ftp.arabidopsis.org/home/tair
+
+get() {
+       file=$1
+       if ! wget --version >/dev/null 2>/dev/null ; then
+               if ! curl --version >/dev/null 2>/dev/null ; then
+                       echo "Please install wget or curl somewhere in your PATH"
+                       exit 1
+               fi
+               curl -o `basename $1` $1
+               return $?
+       else
+               wget $1
+               return $?
+       fi
+}
+
+BOWTIE_BUILD_EXE=./bowtie-build
+if [ ! -x "$BOWTIE_BUILD_EXE" ] ; then
+       if ! which bowtie-build ; then
+               echo "Could not find bowtie-build in current directory or in PATH"
+               exit 1
+       else
+               BOWTIE_BUILD_EXE=`which bowtie-build`
+       fi
+fi
+
+for c in 1 2 3 4 5 C M ; do
+       if [ ! -f chr$c.fas ] ; then
+               F=${GENOMES_MIRROR}/Sequences/whole_chromosomes/chr$c.fas
+               get $F || (echo "Error getting $F" && exit 1)
+       fi
+       
+       if [ ! -f chr$c.fas ] ; then
+               echo "Could not find chr$c.fas file!"
+               exit 2
+       fi
+done
+
+CMD="${BOWTIE_BUILD_EXE} $* chr1.fas,chr2.fas,chr3.fas,chr4.fas,chr5.fas,chrC.fas,chrM.fas  a_thaliana"
+echo $CMD
+if $CMD ; then
+       echo "a_thaliana index built; you may remove fasta files"
+else
+       echo "Index building failed; see error message"
+fi
diff --git a/scripts/make_b_taurus_UMD3.sh b/scripts/make_b_taurus_UMD3.sh
new file mode 100755 (executable)
index 0000000..3b92bb6
--- /dev/null
@@ -0,0 +1,89 @@
+#!/bin/sh
+
+#
+# Builds an index from UMD Freeze 3.0 of the Bos Taurus (cow) genome.
+#
+
+BASE_CHRS="\
+Chr1 \
+Chr2 \
+Chr3 \
+Chr4 \
+Chr5 \
+Chr6 \
+Chr7 \
+Chr8 \
+Chr9 \
+Chr10 \
+Chr11 \
+Chr12 \
+Chr13 \
+Chr14 \
+Chr15 \
+Chr16 \
+Chr17 \
+Chr18 \
+Chr19 \
+Chr20 \
+Chr21 \
+Chr22 \
+Chr23 \
+Chr24 \
+Chr25 \
+Chr26 \
+Chr27 \
+Chr28 \
+Chr29 \
+ChrX \
+ChrU \
+ChrY-contigs \
+ChrY-contigs.SHOTGUN_ONLY"
+
+CHRS_TO_INDEX=$BASE_CHRS
+
+get() {
+       file=$1
+       if ! wget --version >/dev/null 2>/dev/null ; then
+               if ! curl --version >/dev/null 2>/dev/null ; then
+                       echo "Please install wget or curl somewhere in your PATH"
+                       exit 1
+               fi
+               curl -o `basename $1` $1
+               return $?
+       else
+               wget $1
+               return $?
+       fi
+}
+
+BOWTIE_BUILD_EXE=./bowtie-build
+if [ ! -x "$BOWTIE_BUILD_EXE" ] ; then
+       if ! which bowtie-build ; then
+               echo "Could not find bowtie-build in current directory or in PATH"
+               exit 1
+       else
+               BOWTIE_BUILD_EXE=`which bowtie-build`
+       fi
+fi
+
+FTP_BASE=ftp://ftp.cbcb.umd.edu/pub/data/Bos_taurus/Bos_taurus_UMD_3.0
+OUTPUT=b_taurus
+
+INPUTS=
+for c in $CHRS_TO_INDEX ; do
+       if [ ! -f ${c}.fa ] ; then
+               F=${c}.fa.gz
+               get ${FTP_BASE}/$F || (echo "Error getting $F" && exit 1)
+               gunzip $F || (echo "Error unzipping $F" && exit 1)
+       fi
+       [ -n "$INPUTS" ] && INPUTS=$INPUTS,${c}.fa
+       [ -z "$INPUTS" ] && INPUTS=${c}.fa
+done
+
+CMD="$BOWTIE_BUILD_EXE $* $INPUTS $OUTPUT"
+echo $CMD
+if $CMD ; then
+       echo "$OUTPUT index built; you may remove fasta files"
+else
+       echo "Index building failed; see error message"
+fi
diff --git a/scripts/make_c_elegans_ws200.sh b/scripts/make_c_elegans_ws200.sh
new file mode 100755 (executable)
index 0000000..bae1b87
--- /dev/null
@@ -0,0 +1,48 @@
+#!/bin/sh
+
+#
+# Downloads sequence and builds Bowtie index for for C. elegans
+# versions WS200 from wormbase.
+#
+
+GENOMES_MIRROR=ftp://ftp.gramene.org/pub/wormbase/genomes/c_elegans/sequences/dna
+
+BOWTIE_BUILD_EXE=./bowtie-build
+if [ ! -x "$BOWTIE_BUILD_EXE" ] ; then
+       if ! which bowtie-build ; then
+               echo "Could not find bowtie-build in current directory or in PATH"
+               exit 1
+       else
+               BOWTIE_BUILD_EXE=`which bowtie-build`
+       fi
+fi
+
+get() {
+       file=$1
+       if ! wget --version >/dev/null 2>/dev/null ; then
+               if ! curl --version >/dev/null 2>/dev/null ; then
+                       echo "Please install wget or curl somewhere in your PATH"
+                       exit 1
+               fi
+               curl -o `basename $1` $1
+               return $?
+       else
+               wget $1
+               return $?
+       fi
+}
+
+F=c_elegans.WS200.dna.fa
+if [ ! -f $F ] ; then
+       FGZ=c_elegans.WS200.dna.fa.gz
+       wget ${GENOMES_MIRROR}/$FGZ || (echo "Error getting $F" && exit 1)
+       gunzip $FGZ || (echo "Error unzipping $F" && exit 1)
+fi
+
+CMD="${BOWTIE_BUILD_EXE} $* $F c_elegans_ws200"
+echo "Running $CMD"
+if $CMD ; then
+       echo "c_elegans_ws200 index built; you may remove fasta files"
+else
+       echo "Index building failed; see error message"
+fi
diff --git a/scripts/make_canFam2.sh b/scripts/make_canFam2.sh
new file mode 100755 (executable)
index 0000000..405a30e
--- /dev/null
@@ -0,0 +1,61 @@
+#!/bin/sh
+
+#
+# Downloads sequence for the canFam2 version of C. familiaris (dog)
+# from UCSC.
+#
+
+i=2
+BASE_CHRS=chr1
+while [ $i -lt 39 ] ; do
+       BASE_CHRS="$BASE_CHRS chr$i"
+       i=`expr $i + 1`
+done
+BASE_CHRS="$BASE_CHRS chrX chrM chrUn"
+CHRS_TO_INDEX=$BASE_CHRS
+
+CANFAM2_BASE=ftp://hgdownload.cse.ucsc.edu/goldenPath/canFam2/chromosomes
+
+get() {
+       file=$1
+       if ! wget --version >/dev/null 2>/dev/null ; then
+               if ! curl --version >/dev/null 2>/dev/null ; then
+                       echo "Please install wget or curl somewhere in your PATH"
+                       exit 1
+               fi
+               curl -o `basename $1` $1
+               return $?
+       else
+               wget $1
+               return $?
+       fi
+}
+
+BOWTIE_BUILD_EXE=./bowtie-build
+if [ ! -x "$BOWTIE_BUILD_EXE" ] ; then
+       if ! which bowtie-build ; then
+               echo "Could not find bowtie-build in current directory or in PATH"
+               exit 1
+       else
+               BOWTIE_BUILD_EXE=`which bowtie-build`
+       fi
+fi
+
+INPUTS=
+for c in $CHRS_TO_INDEX ; do
+       if [ ! -f ${c}.fa ] ; then
+               F=${c}.fa.gz
+               get ${CANFAM2_BASE}/$F || (echo "Error getting $F" && exit 1)
+               gunzip $F || (echo "Error unzipping $F" && exit 1)
+       fi
+       [ -n "$INPUTS" ] && INPUTS=$INPUTS,${c}.fa
+       [ -z "$INPUTS" ] && INPUTS=${c}.fa
+done
+
+CMD="${BOWTIE_BUILD_EXE} $* ${INPUTS} canFam2"
+echo Running $CMD
+if $CMD ; then
+       echo "canFam2 index built; you may remove fasta files"
+else
+       echo "Index building failed; see error message"
+fi
diff --git a/scripts/make_d_melanogaster_fb5_22.sh b/scripts/make_d_melanogaster_fb5_22.sh
new file mode 100755 (executable)
index 0000000..acab1be
--- /dev/null
@@ -0,0 +1,52 @@
+#!/bin/sh
+
+#
+# Downloads sequence for a D. melanogaster from flybase.  Currently set
+# to download 5.22, but F, REL, and IDX_NAME can be edited to reflect a
+# different version number.  (But note that you will usually also have
+# to change the date in REL.)
+#
+
+GENOMES_MIRROR=ftp://ftp.flybase.net/genomes/Drosophila_melanogaster
+F=dmel-all-chromosome-r5.22.fasta
+REL=dmel_r5.22_FB2009_09
+IDX_NAME=d_melanogaster_fb5_22
+
+get() {
+       file=$1
+       if ! wget --version >/dev/null 2>/dev/null ; then
+               if ! curl --version >/dev/null 2>/dev/null ; then
+                       echo "Please install wget or curl somewhere in your PATH"
+                       exit 1
+               fi
+               curl -o `basename $1` $1
+               return $?
+       else
+               wget -O `basename $1` $1
+               return $?
+       fi
+}
+
+BOWTIE_BUILD_EXE=./bowtie-build
+if [ ! -x "$BOWTIE_BUILD_EXE" ] ; then
+       if ! which bowtie-build ; then
+               echo "Could not find bowtie-build in current directory or in PATH"
+               exit 1
+       else
+               BOWTIE_BUILD_EXE=`which bowtie-build`
+       fi
+fi
+
+if [ ! -f $F ] ; then
+       FGZ=$F.gz
+       get ${GENOMES_MIRROR}/$REL/fasta/$FGZ || (echo "Error getting $FGZ" && exit 1)
+       gunzip $FGZ || (echo "Error unzipping $FGZ" && exit 1)
+fi
+
+CMD="${BOWTIE_BUILD_EXE} $* $F $IDX_NAME"
+echo "Running $CMD"
+if $CMD ; then
+       echo "$IDX_NAME index built; you may remove fasta files"
+else
+       echo "Index building failed; see error message"
+fi
diff --git a/scripts/make_e_coli.sh b/scripts/make_e_coli.sh
new file mode 100755 (executable)
index 0000000..8a3aec4
--- /dev/null
@@ -0,0 +1,46 @@
+#!/bin/sh
+
+#
+# Downloads the sequence for a strain of e. coli from NCBI and builds a
+# Bowtie index for it
+#
+
+GENOMES_MIRROR=ftp://ftp.ncbi.nlm.nih.gov/genomes
+
+BOWTIE_BUILD_EXE=./bowtie-build
+if [ ! -x "$BOWTIE_BUILD_EXE" ] ; then
+       if ! which bowtie-build ; then
+               echo "Could not find bowtie-build in current directory or in PATH"
+               exit 1
+       else
+               BOWTIE_BUILD_EXE=`which bowtie-build`
+       fi
+fi
+
+if [ ! -f NC_008253.fna ] ; then
+       if ! which wget > /dev/null ; then
+               echo wget not found, looking for curl...
+               if ! which curl > /dev/null ; then
+                       echo curl not found either, aborting...
+               else
+                       # Use curl
+                       curl ${GENOMES_MIRROR}/Bacteria/Escherichia_coli_536/NC_008253.fna -o NC_008253.fna
+               fi
+       else
+               # Use wget
+               wget ${GENOMES_MIRROR}/Bacteria/Escherichia_coli_536/NC_008253.fna
+       fi
+fi
+
+if [ ! -f NC_008253.fna ] ; then
+       echo "Could not find NC_008253.fna file!"
+       exit 2
+fi
+
+CMD="${BOWTIE_BUILD_EXE} $* -t 8 NC_008253.fna e_coli"
+echo $CMD
+if $CMD ; then
+       echo "e_coli index built; you may remove fasta files"
+else
+       echo "Index building failed; see error message"
+fi
diff --git a/scripts/make_galGal3.sh b/scripts/make_galGal3.sh
new file mode 100755 (executable)
index 0000000..c899277
--- /dev/null
@@ -0,0 +1,74 @@
+#!/bin/sh
+
+#
+# Downloads sequence for the galGal3 version of G. gallus (chicken)
+# from UCSC.
+#
+
+BASE_CHRS=chr1
+# Add autosomes 2-24
+i=2
+while [ $i -lt 25 ] ; do
+       BASE_CHRS="$BASE_CHRS chr$i"
+       i=`expr $i + 1`
+done
+# Add autosomes 26-28
+BASE_CHRS="$BASE_CHRS chr26 chr27 chr28 chr32"
+# Add sex chromosomes
+BASE_CHRS="$BASE_CHRS chrW chrZ"
+# Add mitochondrial
+BASE_CHRS="$BASE_CHRS chrM"
+# Add other unplaced, but autosome-associated
+BASE_CHRS="$BASE_CHRS chr1_random chr2_random chr4_random chr5_random chr6_random chr7_random chr8_random chr10_random chr11_random chr12_random chr13_random chr16_random chr17_random chr18_random chr20_random chr22_random chr25_random chr28_random"
+# Add other unplaced, but sex-chromosome-associated
+BASE_CHRS="$BASE_CHRS chrW_random chrZ_random"
+# Add totally unplaced
+BASE_CHRS="$BASE_CHRS chrUn_random"
+
+CHRS_TO_INDEX=$BASE_CHRS
+
+FTP_BASE=ftp://hgdownload.cse.ucsc.edu/goldenPath/galGal3/chromosomes
+
+get() {
+       file=$1
+       if ! wget --version >/dev/null 2>/dev/null ; then
+               if ! curl --version >/dev/null 2>/dev/null ; then
+                       echo "Please install wget or curl somewhere in your PATH"
+                       exit 1
+               fi
+               curl -o `basename $1` $1
+               return $?
+       else
+               wget $1
+               return $?
+       fi
+}
+
+BOWTIE_BUILD_EXE=./bowtie-build
+if [ ! -x "$BOWTIE_BUILD_EXE" ] ; then
+       if ! which bowtie-build ; then
+               echo "Could not find bowtie-build in current directory or in PATH"
+               exit 1
+       else
+               BOWTIE_BUILD_EXE=`which bowtie-build`
+       fi
+fi
+
+INPUTS=
+for c in $CHRS_TO_INDEX ; do
+       if [ ! -f ${c}.fa ] ; then
+               F=${c}.fa.gz
+               get ${FTP_BASE}/$F || (echo "Error getting $F" && exit 1)
+               gunzip $F || (echo "Error unzipping $F" && exit 1)
+       fi
+       [ -n "$INPUTS" ] && INPUTS=$INPUTS,${c}.fa
+       [ -z "$INPUTS" ] && INPUTS=${c}.fa
+done
+
+CMD="${BOWTIE_BUILD_EXE} $* ${INPUTS} galGal3"
+echo Running $CMD
+if $CMD ; then
+       echo "galGal3 index built; you may remove fasta files"
+else
+       echo "Index building failed; see error message"
+fi
diff --git a/scripts/make_h_sapiens_ncbi36.sh b/scripts/make_h_sapiens_ncbi36.sh
new file mode 100755 (executable)
index 0000000..be19fc4
--- /dev/null
@@ -0,0 +1,80 @@
+#!/bin/sh
+
+#
+# Downloads sequence for H. sapiens (human) from NCBI.  This script was
+# used to build the Bowtie index for H. sapiens.
+#
+# From README_CURRENT_BUILD:
+#  Organism: Homo sapiens (human)
+#  NCBI Build Number: 36
+#  Version: 3
+#  Release date: 24 March 2008
+#
+
+GENOMES_MIRROR=ftp://ftp.ncbi.nih.gov/genomes
+FILE_PATH=${GENOMES_MIRROR}/H_sapiens/ARCHIVE/BUILD.36.3/Assembled_chromosomes
+
+BOWTIE_BUILD_EXE=./bowtie-build
+if [ ! -x "$BOWTIE_BUILD_EXE" ] ; then
+       if ! which bowtie-build ; then
+               echo "Could not find bowtie-build in current directory or in PATH"
+               exit 1
+       else
+               BOWTIE_BUILD_EXE=`which bowtie-build`
+       fi
+fi
+
+for c in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 X Y ; do
+       if [ ! -f hs_ref_chr$c.fa ] ; then
+               if ! which wget > /dev/null ; then
+                       echo wget not found, looking for curl...
+                       if ! which curl > /dev/null ; then
+                               echo curl not found either, aborting...
+                       else
+                               # Use curl
+                               curl ${FILE_PATH}/hs_ref_chr$c.fa.gz
+                       fi
+               else
+                       # Use wget
+                       wget ${FILE_PATH}/hs_ref_chr$c.fa.gz
+               fi
+               gunzip hs_ref_chr$c.fa.gz
+       fi
+       
+       if [ ! -f hs_ref_chr$c.fa ] ; then
+               echo "Could not find hs_ref_chr$c.fa file!"
+               exit 2
+       fi
+done
+
+# Special case: get mitochondrial DNA from its home
+if [ ! -f hs_ref_chrMT.fa ] ; then
+       if ! which wget > /dev/null ; then
+               echo wget not found, looking for curl...
+               if ! which curl > /dev/null ; then
+                       echo curl not found either, aborting...
+               else
+                       # Use curl
+                       curl ${GENOMES_MIRROR}/H_sapiens/CHR_MT/hs_ref_chrMT.fa.gz
+               fi
+       else
+               # Use wget
+               wget ${GENOMES_MIRROR}/H_sapiens/CHR_MT/hs_ref_chrMT.fa.gz
+       fi
+       gunzip hs_ref_chrMT.fa.gz
+fi
+
+INPUTS=hs_ref_chr1.fa,hs_ref_chr2.fa,hs_ref_chr3.fa,hs_ref_chr4.fa,hs_ref_chr5.fa,hs_ref_chr6.fa,hs_ref_chr7.fa,hs_ref_chr8.fa,hs_ref_chr9.fa,hs_ref_chr10.fa,hs_ref_chr11.fa,hs_ref_chr12.fa,hs_ref_chr13.fa,hs_ref_chr14.fa,hs_ref_chr15.fa,hs_ref_chr16.fa,hs_ref_chr17.fa,hs_ref_chr18.fa,hs_ref_chr19.fa,hs_ref_chr20.fa,hs_ref_chr21.fa,hs_ref_chr22.fa,hs_ref_chrMT.fa,hs_ref_chrX.fa,hs_ref_chrY.fa
+
+echo Running ${BOWTIE_BUILD_EXE} $* ${INPUTS} h_sapiens_asm
+${BOWTIE_BUILD_EXE} $* ${INPUTS} h_sapiens_asm
+
+if [ "$?" = "0" ] ; then
+       echo "h_sapiens_asm index built:"
+       echo "   h_sapiens_asm.1.ebwt h_sapiens_asm.2.ebwt"
+       echo "   h_sapiens_asm.3.ebwt h_sapiens_asm.4.ebwt"
+       echo "   h_sapiens_asm.rev.1.ebwt h_sapiens_asm.rev.2.ebwt"
+       echo "You may remove hs_ref_chr*.fa"
+else
+       echo "Index building failed; see error message"
+fi
diff --git a/scripts/make_h_sapiens_ncbi37.sh b/scripts/make_h_sapiens_ncbi37.sh
new file mode 100755 (executable)
index 0000000..fbd01d3
--- /dev/null
@@ -0,0 +1,104 @@
+#!/bin/sh
+
+#
+# Downloads sequence for H. sapiens (human) from NCBI.  This script was
+# used to build the Bowtie index for H. sapiens 37.
+#
+# From README_CURRENT_BUILD:
+# Organism: Homo sapiens (human)
+# NCBI Build Number: 37    
+# Version: 1
+# Release date: 04 August 2009
+#
+
+BASE_CHRS="\
+chr1 \
+chr2 \
+chr3 \
+chr4 \
+chr5 \
+chr6 \
+chr7 \
+chr8 \
+chr9 \
+chr10 \
+chr11 \
+chr12 \
+chr13 \
+chr14 \
+chr15 \
+chr16 \
+chr17 \
+chr18 \
+chr19 \
+chr20 \
+chr21 \
+chr22 \
+chrX \
+chrY"
+
+CHRS_TO_INDEX=$BASE_CHRS
+
+FTP_BASE=ftp://ftp.ncbi.nih.gov/genomes/H_sapiens
+FTP_ASM_BASE=$FTP_BASE/Assembled_chromosomes
+FTP_MT_BASE=$FTP_BASE/CHR_MT
+
+get() {
+       file=$1
+       if ! wget --version >/dev/null 2>/dev/null ; then
+               if ! curl --version >/dev/null 2>/dev/null ; then
+                       echo "Please install wget or curl somewhere in your PATH"
+                       exit 1
+               fi
+               curl -o `basename $1` $1
+               return $?
+       else
+               wget $1
+               return $?
+       fi
+}
+
+BOWTIE_BUILD_EXE=./bowtie-build
+if [ ! -x "$BOWTIE_BUILD_EXE" ] ; then
+       if ! which bowtie-build ; then
+               echo "Could not find bowtie-build in current directory or in PATH"
+               exit 1
+       else
+               BOWTIE_BUILD_EXE=`which bowtie-build`
+       fi
+fi
+
+INPUTS=
+BASE_NAME=hs_ref_GRCh37_
+for c in $CHRS_TO_INDEX ; do
+       c=${BASE_NAME}${c}
+       if [ ! -f $c.fa ] ; then
+               F=$c.fa.gz
+               get ${FTP_ASM_BASE}/$F || (echo "Error getting $F" && exit 1)
+               gunzip $F || (echo "Error unzipping $F" && exit 1)
+       fi
+       [ -n "$INPUTS" ] && INPUTS=$INPUTS,$c.fa
+       [ -z "$INPUTS" ] && INPUTS=$c.fa
+done
+
+# Special case: get mitochondrial DNA from its home
+if [ ! -f hs_ref_chrMT.fa ] ; then
+       F=hs_ref_chrMT.fa.gz
+       get ${FTP_MT_BASE}/$F || (echo "Error getting $F" && exit 1)
+       gunzip $F || (echo "Error unzipping $F" && exit 1)
+fi
+
+INPUTS=$INPUTS,hs_ref_chrMT.fa
+
+echo Running ${BOWTIE_BUILD_EXE} $* ${INPUTS} h_sapiens_37_asm
+${BOWTIE_BUILD_EXE} $* ${INPUTS} h_sapiens_37_asm
+
+if [ "$?" = "0" ] ; then
+       echo "h_sapiens_37_asm index built:"
+       echo "   h_sapiens_37_asm.1.ebwt h_sapiens_37_asm.2.ebwt"
+       echo "   h_sapiens_37_asm.3.ebwt h_sapiens_37_asm.4.ebwt"
+       echo "   h_sapiens_37_asm.rev.1.ebwt h_sapiens_37_asm.rev.2.ebwt"
+       echo "You may remove hs_ref_chr*.fa"
+else
+       echo "Index building failed; see error message"
+fi
diff --git a/scripts/make_hg18.sh b/scripts/make_hg18.sh
new file mode 100755 (executable)
index 0000000..7ee58d7
--- /dev/null
@@ -0,0 +1,121 @@
+#!/bin/sh
+
+#
+# Downloads sequence for the hg18 version of H. spiens (human) from
+# UCSC.
+#
+# Note that UCSC's hg18 build has three categories of compressed fasta
+# files:
+#
+# 1. The base files, named chr??.fa.gz
+# 2. The unplaced-sequence files, named chr??_random.fa.gz
+# 3. The alternative-haplotype files, named chr??_???_hap?.fa.gz
+#
+# By default, this script builds and index for just the base files,
+# since alignments to those sequences are the most useful.  To change
+# which categories are built by this script, edit the CHRS_TO_INDEX
+# variable below.
+#
+
+BASE_CHRS="\
+chr1 \
+chr2 \
+chr3 \
+chr4 \
+chr5 \
+chr6 \
+chr7 \
+chr8 \
+chr9 \
+chr10 \
+chr11 \
+chr12 \
+chr13 \
+chr14 \
+chr15 \
+chr16 \
+chr17 \
+chr18 \
+chr19 \
+chr20 \
+chr21 \
+chr22 \
+chrX \
+chrY \
+chrM"
+
+RANDOM_CHRS="\
+chr1_random \
+chr2_random \
+chr3_random \
+chr4_random \
+chr5_random \
+chr6_random \
+chr7_random \
+chr8_random \
+chr9_random \
+chr10_random \
+chr11_random \
+chr13_random \
+chr15_random \
+chr16_random \
+chr17_random \
+chr18_random \
+chr19_random \
+chr21_random \
+chr22_random \
+chrX_random"
+
+ALT_HAP_CHRS="\
+chr22_h2_hap1 \
+chr5_h2_hap1 \
+chr6_cox_hap1 \
+chr6_qbl_hap2"
+
+CHRS_TO_INDEX=$BASE_CHRS
+
+UCSC_HG18_BASE=ftp://hgdownload.cse.ucsc.edu/goldenPath/hg18/chromosomes
+
+get() {
+       file=$1
+       if ! wget --version >/dev/null 2>/dev/null ; then
+               if ! curl --version >/dev/null 2>/dev/null ; then
+                       echo "Please install wget or curl somewhere in your PATH"
+                       exit 1
+               fi
+               curl -o `basename $1` $1
+               return $?
+       else
+               wget $1
+               return $?
+       fi
+}
+
+BOWTIE_BUILD_EXE=./bowtie-build
+if [ ! -x "$BOWTIE_BUILD_EXE" ] ; then
+       if ! which bowtie-build ; then
+               echo "Could not find bowtie-build in current directory or in PATH"
+               exit 1
+       else
+               BOWTIE_BUILD_EXE=`which bowtie-build`
+       fi
+fi
+
+INPUTS=
+for c in $CHRS_TO_INDEX ; do
+       if [ ! -f ${c}.fa ] ; then
+               F=${c}.fa.gz
+               get ${UCSC_HG18_BASE}/$F || (echo "Error getting $F" && exit 1)
+               gunzip $F || (echo "Error unzipping $F" && exit 1)
+       fi
+       [ -n "$INPUTS" ] && INPUTS=$INPUTS,${c}.fa
+       [ -z "$INPUTS" ] && INPUTS=${c}.fa
+done
+
+CMD="${BOWTIE_BUILD_EXE} $* ${INPUTS} hg18"
+echo Running $CMD
+if $CMD ; then
+       echo "hg18 index built; you may remove fasta files"
+else
+       echo "Index building failed; see error message"
+fi
diff --git a/scripts/make_hg19.sh b/scripts/make_hg19.sh
new file mode 100755 (executable)
index 0000000..0b2a07b
--- /dev/null
@@ -0,0 +1,165 @@
+#!/bin/sh
+
+#
+# Downloads sequence for the hg19 version of H. spiens (human) from
+# UCSC.
+#
+# Note that UCSC's hg19 build has three categories of compressed fasta
+# files:
+#
+# 1. The base files, named chr??.fa.gz
+# 2. The unplaced-sequence files, named chr??_gl??????_random.fa.gz
+# 3. The alternative-haplotype files, named chr??_?????_hap?.fa.gz
+#
+# By default, this script builds and index for just the base files,
+# since alignments to those sequences are the most useful.  To change
+# which categories are built by this script, edit the CHRS_TO_INDEX
+# variable below.
+#
+
+BASE_CHRS="\
+chr1 \
+chr2 \
+chr3 \
+chr4 \
+chr5 \
+chr6 \
+chr7 \
+chr8 \
+chr9 \
+chr10 \
+chr11 \
+chr12 \
+chr13 \
+chr14 \
+chr15 \
+chr16 \
+chr17 \
+chr18 \
+chr19 \
+chr20 \
+chr21 \
+chr22 \
+chrX \
+chrY \
+chrM"
+
+RANDOM_CHRS="\
+chr1_gl000191_random \
+chr1_gl000192_random \
+chr4_gl000193_random \
+chr4_gl000194_random \
+chr7_gl000195_random \
+chr8_gl000196_random \
+chr8_gl000197_random \
+chr9_gl000198_random \
+chr9_gl000199_random \
+chr9_gl000200_random \
+chr9_gl000201_random \
+chr11_gl000202_random \
+chr17_gl000203_random \
+chr17_gl000204_random \
+chr17_gl000205_random \
+chr17_gl000206_random \
+chr18_gl000207_random \
+chr19_gl000208_random \
+chr19_gl000209_random \
+chr21_gl000210_random \
+chrUn_gl000211 \
+chrUn_gl000212 \
+chrUn_gl000213 \
+chrUn_gl000214 \
+chrUn_gl000215 \
+chrUn_gl000216 \
+chrUn_gl000217 \
+chrUn_gl000218 \
+chrUn_gl000219 \
+chrUn_gl000220 \
+chrUn_gl000221 \
+chrUn_gl000222 \
+chrUn_gl000223 \
+chrUn_gl000224 \
+chrUn_gl000225 \
+chrUn_gl000226 \
+chrUn_gl000227 \
+chrUn_gl000228 \
+chrUn_gl000229 \
+chrUn_gl000230 \
+chrUn_gl000231 \
+chrUn_gl000232 \
+chrUn_gl000233 \
+chrUn_gl000234 \
+chrUn_gl000235 \
+chrUn_gl000236 \
+chrUn_gl000237 \
+chrUn_gl000238 \
+chrUn_gl000239 \
+chrUn_gl000240 \
+chrUn_gl000241 \
+chrUn_gl000242 \
+chrUn_gl000243 \
+chrUn_gl000244 \
+chrUn_gl000245 \
+chrUn_gl000246 \
+chrUn_gl000247 \
+chrUn_gl000248 \
+chrUn_gl000249"
+
+ALT_HAP_CHRS="\
+chr4_ctg9_hap1 \
+chr6_apd_hap1 \
+chr6_cox_hap2 \
+chr6_dbb_hap3 \
+chr6_mann_hap4 \
+chr6_mcf_hap5 \
+chr6_qbl_hap6 \
+chr6_ssto_hap7 \
+chr17_ctg5_hap1"
+
+CHRS_TO_INDEX=$BASE_CHRS
+
+UCSC_HG19_BASE=ftp://hgdownload.cse.ucsc.edu/goldenPath/hg19/chromosomes
+
+get() {
+       file=$1
+       if ! wget --version >/dev/null 2>/dev/null ; then
+               if ! curl --version >/dev/null 2>/dev/null ; then
+                       echo "Please install wget or curl somewhere in your PATH"
+                       exit 1
+               fi
+               curl -o `basename $1` $1
+               return $?
+       else
+               wget $1
+               return $?
+       fi
+}
+
+BOWTIE_BUILD_EXE=./bowtie-build
+if [ ! -x "$BOWTIE_BUILD_EXE" ] ; then
+       if ! which bowtie-build ; then
+               echo "Could not find bowtie-build in current directory or in PATH"
+               exit 1
+       else
+               BOWTIE_BUILD_EXE=`which bowtie-build`
+       fi
+fi
+
+INPUTS=
+for c in $CHRS_TO_INDEX ; do
+       if [ ! -f ${c}.fa ] ; then
+               F=${c}.fa.gz
+               get ${UCSC_HG19_BASE}/$F || (echo "Error getting $F" && exit 1)
+               gunzip $F || (echo "Error unzipping $F" && exit 1)
+       fi
+       [ -n "$INPUTS" ] && INPUTS=$INPUTS,${c}.fa
+       [ -z "$INPUTS" ] && INPUTS=${c}.fa
+done
+
+CMD="${BOWTIE_BUILD_EXE} $* ${INPUTS} hg19"
+echo Running $CMD
+if $CMD ; then
+       echo "hg19 index built; you may remove fasta files"
+else
+       echo "Index building failed; see error message"
+fi
diff --git a/scripts/make_m_musculus_ncbi37.sh b/scripts/make_m_musculus_ncbi37.sh
new file mode 100755 (executable)
index 0000000..8b88ee9
--- /dev/null
@@ -0,0 +1,72 @@
+#!/bin/sh
+
+#
+# Downloads assembled sequence for M. musculus (mouse) from NCBI.
+#
+# From README_CURRENT_BUILD:
+#  Organism: Mus musculus (mouse)
+#  NCBI Build Number: 37
+#  Version: 1
+#  Release date: 05 July 2007
+#
+
+M_MUS_FTP=ftp://ftp.ncbi.nih.gov/genomes/M_musculus/Assembled_chromosomes
+M_MUS_MT_FTP=ftp://ftp.ncbi.nih.gov/genomes/M_musculus/CHR_MT
+OUTPUT=m_musculus_ncbi37
+
+get() {
+       file=$1
+       if ! wget --version >/dev/null 2>/dev/null ; then
+               if ! curl --version >/dev/null 2>/dev/null ; then
+                       echo "Please install wget or curl somewhere in your PATH"
+                       exit 1
+               fi
+               curl -o `basename $1` $1
+               return $?
+       else
+               wget $1
+               return $?
+       fi
+}
+
+BOWTIE_BUILD_EXE=./bowtie-build
+if [ ! -x "$BOWTIE_BUILD_EXE" ] ; then
+       if ! which bowtie-build ; then
+               echo "Could not find bowtie-build in current directory or in PATH"
+               exit 1
+       else
+               BOWTIE_BUILD_EXE=`which bowtie-build`
+       fi
+fi
+
+INPUTS=
+append() {
+       [ -n "$INPUTS" ] && INPUTS=$INPUTS,$1
+       [ -z "$INPUTS" ] && INPUTS=$1
+}
+
+for c in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 X Y ; do
+       F=mm_ref_chr$c.fa
+       if [ ! -f mm_ref_chr$c.fa ] ; then
+               FGZ=$F.gz
+               get $M_MUS_FTP/$FGZ || (echo "Error getting $FGZ" && exit 1)
+               gunzip $FGZ || (echo "Error unzipping $FGZ" && exit 1)
+       fi
+       append $F
+done
+
+F=mm_ref_chrMT.fa
+if [ ! -f mm_ref_chrMT.fa ] ; then
+       FGZ=$F.gz
+       get $M_MUS_MT_FTP/$FGZ  || (echo "Error getting $FGZ" && exit 1)
+       gunzip $FGZ || (echo "Error unzipping $FGZ" && exit 1)
+fi
+append $F
+
+CMD="$BOWTIE_BUILD_EXE $* $INPUTS $OUTPUT"
+echo $CMD
+if $CMD ; then
+       echo "$OUTPUT index built; you may remove fasta files"
+else
+       echo "Index building failed; see error message"
+fi
diff --git a/scripts/make_mm8.sh b/scripts/make_mm8.sh
new file mode 100755 (executable)
index 0000000..774eae2
--- /dev/null
@@ -0,0 +1,103 @@
+#!/bin/sh
+
+#
+# Downloads sequence for the mm8 version of M. musculus (mouse) from
+# UCSC.
+#
+# Note that UCSC's mm8 build has two categories of compressed fasta
+# files:
+#
+# 1. The base files, named chr??.fa.gz
+# 2. The unplaced-sequence files, named chr??_random.fa.gz
+#
+# By default, this script builds and index for just the base files,
+# since alignments to those sequences are the most useful.  To change
+# which categories are built by this script, edit the CHRS_TO_INDEX
+# variable below.
+#
+
+BASE_CHRS="\
+chr1 \
+chr2 \
+chr3 \
+chr4 \
+chr5 \
+chr6 \
+chr7 \
+chr8 \
+chr9 \
+chr10 \
+chr11 \
+chr12 \
+chr13 \
+chr14 \
+chr15 \
+chr16 \
+chr17 \
+chr18 \
+chr19 \
+chrX \
+chrY \
+chrM"
+
+RANDOM_CHRS="\
+1_random \
+5_random \
+7_random \
+8_random \
+9_random \
+10_random \
+13_random \
+15_random \
+17_random \
+X_random \
+Y_random \
+Un_random"
+
+CHRS_TO_INDEX=$BASE_CHRS
+
+UCSC_MM8_BASE=ftp://hgdownload.cse.ucsc.edu/goldenPath/mm8/chromosomes
+
+get() {
+       file=$1
+       if ! wget --version >/dev/null 2>/dev/null ; then
+               if ! curl --version >/dev/null 2>/dev/null ; then
+                       echo "Please install wget or curl somewhere in your PATH"
+                       exit 1
+               fi
+               curl -o `basename $1` $1
+               return $?
+       else
+               wget $1
+               return $?
+       fi
+}
+
+BOWTIE_BUILD_EXE=./bowtie-build
+if [ ! -x "$BOWTIE_BUILD_EXE" ] ; then
+       if ! which bowtie-build ; then
+               echo "Could not find bowtie-build in current directory or in PATH"
+               exit 1
+       else
+               BOWTIE_BUILD_EXE=`which bowtie-build`
+       fi
+fi
+
+INPUTS=
+for c in $CHRS_TO_INDEX ; do
+       if [ ! -f ${c}.fa ] ; then
+               F=${c}.fa.gz
+               get ${UCSC_MM8_BASE}/$F || (echo "Error getting $F" && exit 1)
+               gunzip $F || (echo "Error unzipping $F" && exit 1)
+       fi
+       [ -n "$INPUTS" ] && INPUTS=$INPUTS,${c}.fa
+       [ -z "$INPUTS" ] && INPUTS=${c}.fa
+done
+
+CMD="${BOWTIE_BUILD_EXE} $* ${INPUTS} mm8"
+echo Running $CMD
+if $CMD ; then
+       echo "mm8 index built; you may remove fasta files"
+else
+       echo "Index building failed; see error message"
+fi
diff --git a/scripts/make_mm9.sh b/scripts/make_mm9.sh
new file mode 100755 (executable)
index 0000000..5ebba0b
--- /dev/null
@@ -0,0 +1,104 @@
+#!/bin/sh
+
+#
+# Downloads sequence for the mm9 version of M. musculus (mouse) from
+# UCSC.
+#
+# Note that UCSC's mm9 build has two categories of compressed fasta
+# files:
+#
+# 1. The base files, named chr??.fa.gz
+# 2. The unplaced-sequence files, named chr??_random.fa.gz
+#
+# By default, this script builds and index for just the base files,
+# since alignments to those sequences are the most useful.  To change
+# which categories are built by this script, edit the CHRS_TO_INDEX
+# variable below.
+#
+
+BASE_CHRS="\
+chr1 \
+chr2 \
+chr3 \
+chr4 \
+chr5 \
+chr6 \
+chr7 \
+chr8 \
+chr9 \
+chr10 \
+chr11 \
+chr12 \
+chr13 \
+chr14 \
+chr15 \
+chr16 \
+chr17 \
+chr18 \
+chr19 \
+chrX \
+chrY \
+chrM"
+
+RANDOM_CHRS="\
+1_random \
+3_random \
+4_random \
+5_random \
+7_random \
+8_random \
+9_random \
+13_random \
+16_random \
+17_random \
+X_random \
+Y_random \
+Un_random"
+
+CHRS_TO_INDEX=$BASE_CHRS
+
+UCSC_MM9_BASE=ftp://hgdownload.cse.ucsc.edu/goldenPath/mm9/chromosomes
+
+get() {
+       file=$1
+       if ! wget --version >/dev/null 2>/dev/null ; then
+               if ! curl --version >/dev/null 2>/dev/null ; then
+                       echo "Please install wget or curl somewhere in your PATH"
+                       exit 1
+               fi
+               curl -o `basename $1` $1
+               return $?
+       else
+               wget $1
+               return $?
+       fi
+}
+
+BOWTIE_BUILD_EXE=./bowtie-build
+if [ ! -x "$BOWTIE_BUILD_EXE" ] ; then
+       if ! which bowtie-build ; then
+               echo "Could not find bowtie-build in current directory or in PATH"
+               exit 1
+       else
+               BOWTIE_BUILD_EXE=`which bowtie-build`
+       fi
+fi
+
+INPUTS=
+for c in $CHRS_TO_INDEX ; do
+       if [ ! -f ${c}.fa ] ; then
+               F=${c}.fa.gz
+               get ${UCSC_MM9_BASE}/$F || (echo "Error getting $F" && exit 1)
+               gunzip $F || (echo "Error unzipping $F" && exit 1)
+       fi
+       [ -n "$INPUTS" ] && INPUTS=$INPUTS,${c}.fa
+       [ -z "$INPUTS" ] && INPUTS=${c}.fa
+done
+
+CMD="${BOWTIE_BUILD_EXE} $* ${INPUTS} mm9"
+echo Running $CMD
+if $CMD ; then
+       echo "mm9 index built; you may remove fasta files"
+else
+       echo "Index building failed; see error message"
+fi
diff --git a/scripts/make_rn4.sh b/scripts/make_rn4.sh
new file mode 100755 (executable)
index 0000000..3c52934
--- /dev/null
@@ -0,0 +1,97 @@
+#!/bin/sh
+
+#
+# Downloads sequence for the rn4 version of R. norvegicus (rat) from
+# UCSC.
+#
+# Note that UCSC's rn4 build has two categories of compressed fasta
+# files:
+#
+# 1. The base files, named chr??.fa.gz
+# 2. The unplaced-sequence files, named chr??_random.fa.gz
+#
+# By default, this script builds and index for just the base files,
+# since alignments to those sequences are the most useful.  To change
+# which categories are built by this script, edit the CHRS_TO_INDEX
+# variable below.
+#
+
+i=2
+BASE_CHRS=chr1
+while [ $i -lt 21 ] ; do
+       BASE_CHRS="$BASE_CHRS chr$i"
+       i=`expr $i + 1`
+done
+BASE_CHRS="$BASE_CHRS chrX chrM chrUn"
+
+RANDOM_CHRS="\
+chr1_random \
+chr2_random \
+chr3_random \
+chr4_random \
+chr5_random \
+chr6_random \
+chr7_random \
+chr8_random \
+chr9_random \
+chr10_random \
+chr11_random \
+chr12_random \
+chr13_random \
+chr14_random \
+chr15_random \
+chr16_random \
+chr17_random \
+chr18_random \
+chr19_random \
+chr20_random \
+chrX_random \
+chrUn_random"
+
+CHRS_TO_INDEX=$BASE_CHRS
+
+RN4_BASE=ftp://hgdownload.cse.ucsc.edu/goldenPath/rn4/chromosomes
+
+get() {
+       file=$1
+       if ! wget --version >/dev/null 2>/dev/null ; then
+               if ! curl --version >/dev/null 2>/dev/null ; then
+                       echo "Please install wget or curl somewhere in your PATH"
+                       exit 1
+               fi
+               curl -o `basename $1` $1
+               return $?
+       else
+               wget $1
+               return $?
+       fi
+}
+
+BOWTIE_BUILD_EXE=./bowtie-build
+if [ ! -x "$BOWTIE_BUILD_EXE" ] ; then
+       if ! which bowtie-build ; then
+               echo "Could not find bowtie-build in current directory or in PATH"
+               exit 1
+       else
+               BOWTIE_BUILD_EXE=`which bowtie-build`
+       fi
+fi
+
+INPUTS=
+for c in $CHRS_TO_INDEX ; do
+       if [ ! -f ${c}.fa ] ; then
+               F=${c}.fa.gz
+               get ${RN4_BASE}/$F || (echo "Error getting $F" && exit 1)
+               gunzip $F || (echo "Error unzipping $F" && exit 1)
+       fi
+       [ -n "$INPUTS" ] && INPUTS=$INPUTS,${c}.fa
+       [ -z "$INPUTS" ] && INPUTS=${c}.fa
+done
+
+CMD="${BOWTIE_BUILD_EXE} $* ${INPUTS} rn4"
+echo Running $CMD
+if $CMD ; then
+       echo "rn4 index built; you may remove fasta files"
+else
+       echo "Index building failed; see error message"
+fi
diff --git a/scripts/make_s_cerevisiae.sh b/scripts/make_s_cerevisiae.sh
new file mode 100755 (executable)
index 0000000..61fd994
--- /dev/null
@@ -0,0 +1,47 @@
+#!/bin/sh
+
+#
+# Downloads sequence for a S. cerevisiae from CYGD.  This script
+# was used to build the Bowtie index for S. cerevisiae.
+#
+
+GENOMES_MIRROR=ftp://ftpmips.gsf.de/yeast/sequences 
+
+BOWTIE_BUILD_EXE=./bowtie-build
+if [ ! -x "$BOWTIE_BUILD_EXE" ] ; then
+       if ! which bowtie-build ; then
+               echo "Could not find bowtie-build in current directory or in PATH"
+               exit 1
+       else
+               BOWTIE_BUILD_EXE=`which bowtie-build`
+       fi
+fi
+
+if [ ! -f Scerevisiae_chr.fna ] ; then
+       if ! which wget > /dev/null ; then
+               echo wget not found, looking for curl...
+               if ! which curl > /dev/null ; then
+                       echo curl not found either, aborting...
+               else
+                       # Use curl
+                       curl ${GENOMES_MIRROR}/Scerevisiae_chr -o Scerevisiae_chr.fna
+               fi
+       else
+               # Use wget
+               wget ${GENOMES_MIRROR}/Scerevisiae_chr
+               mv Scerevisiae_chr Scerevisiae_chr.fna
+       fi
+fi
+
+if [ ! -f Scerevisiae_chr.fna ] ; then
+       echo "Could not find Scerevisiae_chr.fna file!"
+       exit 2
+fi
+
+CMD="$BOWTIE_BUILD_EXE $* Scerevisiae_chr.fna s_cerevisiae"
+echo $CMD
+if $CMD ; then
+       echo "s_cerevisiae index built; you may remove fasta files"
+else
+       echo "Index building failed; see error message"
+fi
diff --git a/scripts/mapability.pl b/scripts/mapability.pl
new file mode 100755 (executable)
index 0000000..4550821
--- /dev/null
@@ -0,0 +1,191 @@
+#!/usr/bin/perl -w
+
+##
+# mapability.pl
+#
+# Calculate mapability of each reference position assuming reference is
+# bisulfite treated.
+#
+
+use strict;
+use warnings;
+use Getopt::Long;
+
+my $fa = "";
+my $win = 50;
+my $freq = 1;
+my $bowtie = "";
+my $bowtie_arg = "";
+my $pol = "-v 3";
+my $idx = "";
+my $btargs = "-t -S --sam-nohead -M 1 --mm";
+my $debug = 0;
+
+if(defined($ENV{BOWTIE_HOME})) {
+       $bowtie = "$ENV{BOWTIE_HOME}/bowtie";
+       unless(-x $bowtie) { $bowtie = "" };
+}
+if($bowtie eq "") {
+       $bowtie = `which bowtie 2>/dev/null`;
+       chomp($bowtie);
+       unless(-x $bowtie) { $bowtie = "" };
+}
+$bowtie = "./bowtie" if ($bowtie eq "" && -x "./bowtie");
+
+GetOptions(
+       "fasta=s"     => \$fa,
+       "window=i"    => \$win,
+       "frequency=i" => \$freq,
+       "bowtie=s"    => \$bowtie_arg,
+       "policy=s"    => \$pol,
+       "idx=s"       => \$idx,
+       "debug"       => \$debug
+) || die;
+
+print STDERR "Bowtie: found: $bowtie; given: $bowtie_arg\n";
+print STDERR "Input fasta: $fa\n";
+print STDERR "Index: $idx\n";
+print STDERR "Alignment policy: $pol\n";
+print STDERR "Window size: $win\n";
+print STDERR "Frequency: $freq\n";
+
+$fa ne "" || die "Must specify -fasta\n";
+$idx ne "" || die "Must specify -idx\n";
+-f "$idx.1.ebwt" || die "Could not find -idx index file $idx.1.ebwt\n";
+
+$bowtie = $bowtie_arg if $bowtie_arg ne "";
+unless(-x $bowtie) {
+       # No bowtie? die
+       if($bowtie_arg ne "") {
+               die "Specified -bowtie, \"$bowtie\" doesn't exist or isn't executable\n";
+       } else {
+               die "bowtie couldn't be found in BOWTIE_HOME, PATH, or current directory; please specify -bowtie\n";
+       }
+}
+
+my $running = 0;
+my $name = ""; # name of sequence currently being processed
+my %lens = ();
+my @names = ();
+my $totlen = 0;
+
+##
+# Read lengths of all the entries in all the input fasta files.
+#
+sub readLens($) {
+       my $ins = shift;
+       my @is = split(/[,]/, $ins);
+       for my $i (@is) {
+               open IN, "$i" || die "Could not open $i\n";
+               my $name = "";
+               while(<IN>) {
+                       chomp;
+                       if(substr($_, 0, 1) eq '>') {
+                               next if /\?[0-9]*$/; # Skip >?50000 lines
+                               $name = $_;
+                               $name = substr($name, 1); # Chop off >
+                               if($name =~ /^FW:/ || $name =~ /^RC:/) {
+                                       $name = substr($name, 3); # Chop off FW:/RC:
+                               }
+                               my @ns = split(/\s+/, $name);
+                               $name = $ns[0]; # Get short name
+                               push @names, $name;
+                               print STDERR "Saw name $name\n";
+                       } else {
+                               $name ne "" || die;
+                               $lens{$name} += length($_); # Update length
+                               $totlen += length($_);
+                       }
+               }
+               close(IN);
+       }
+}
+print STDERR "Reading fasta lengths\n";
+readLens($fa);
+print STDERR "  read ".scalar(keys %lens)." fasta sequences with total length $totlen\n";
+
+my @last;
+for(my $i = 0; $i < $win; $i++) { push @last, 0 };
+sub clearLast {
+       for(my $i = 0; $i < $win; $i++) { $last[$i] = 0 };
+}
+
+print STDERR "Opening bowtie pipe\n";
+my $cmd = "$bowtie -F $win,$freq $btargs $pol $idx $fa";
+print STDERR "Forward command: $cmd\n";
+open BT, "$cmd |" || die "Couldn't open pipe '$cmd |'\n";
+
+print STDERR "Reading...\n";
+my $ln = 0;
+my $cur = 0;
+my $lastc = "\n";
+while(<BT>) {
+       $ln++;
+
+       my @s = split(/\t/, $_);
+       my @s1 = split(/_/, $s[0]);
+       
+       my $cname = join("_", @s1[0..$#s1-1]);
+       my $off = $s1[-1];
+       # If a read aligns, XM:i is not printed
+       # If a read fails to align, XM:i:0 is printed
+       # If a read aligns multiple places, XM:i:N is printed where N>0
+       my $mapable = ($s[-1] =~ /XM:i:/ ? 0 : 1);
+       
+       $cname =~ s/\s.*//; # trim everything after first whitespace to get short name
+       if($cname =~ /^FW:/ || $cname =~ /^RC:/) {
+               $cname = substr($cname, 3);
+       }
+       if($name ne $cname) {
+               if($name ne "") {
+                       # Flush remaining characters from previous name
+                       defined($lens{$name}) || die;
+                       $cur == $lens{$name} - $win + 1 || die "name is $name, cur is $cur, len is $lens{$name}, win is $win\n";
+                       for(; $cur < $lens{$name}; $cur++) {
+                               $running -= $last[$cur % $win];
+                               $last[$cur % $win] = 0;
+                               $lastc = chr($running + 64);
+                               print $lastc;
+                               if((($cur+1) % 60) == 0) {
+                                       $lastc = "\n";
+                                       print $lastc;
+                               }
+                       }
+               }
+               $name = $cname;
+               defined($lens{$name}) || die "No such name as \"$name\"\n";
+               print "\n" unless $lastc eq "\n";
+               print ">$name\n";
+               $lastc = "\n";
+               $cur = 0;
+               $running = 0;
+               clearLast();
+       }
+       
+       $running -= $last[$cur % $win];
+       $last[$cur % $win] = $mapable;
+       $running += $last[$cur % $win];
+
+       $running <= $win || die "running counter $running got higher than window size $win\n";
+       $lastc = chr($running + 64);
+       print $lastc;
+       if((($cur+1) % 60) == 0) {
+               $lastc = "\n";
+               print $lastc;
+       }
+
+       $cur++;
+}
+defined($lens{$name}) || die;
+for(; $cur < $lens{$name}; $cur++) {
+       $running -= $last[$cur % $win];
+       $last[$cur % $win] = 0;
+       $lastc = chr($running + 64);
+       print $lastc;
+       if((($cur+1) % 60) == 0) {
+               $lastc = "\n";
+               print $lastc;
+       }
+}
+close(BT);
+$? == 0 || die "Bad exitlevel from forward bowtie: $?\n";
diff --git a/scripts/pe_verify.pl b/scripts/pe_verify.pl
new file mode 100755 (executable)
index 0000000..7e9a8ed
--- /dev/null
@@ -0,0 +1,356 @@
+#!/usr/bin/perl -w
+
+#
+# Verifies that Bowtie's paired-end mode gives alignments that are
+# consistent with the alignments produced in single-end mode with -a
+# and --nostrata options.
+#
+# Run this from the Bowtie directory.
+#
+# Usage: perl ../scripts/pe_verify.pl [mode] [index] [mates1] [nates2]
+#
+# Defaults are:
+#  [mode] = -n 2
+#  [index] = e_coli
+#  [mates1] = reads/e_coli_1000_1.fq
+#  [mates2] = reads/e_coli_1000_2.fq
+#
+# E.g.: perl ../scripts/pe_verify.pl -v 0
+#       perl ../scripts/pe_verify.pl -v 0 e_coli reads/e_coli_1000_1.fq reads/e_coli_100000_e1_2.fq
+#
+
+use warnings;
+use strict;
+use List::Util qw[min max];
+use Getopt::Long;
+Getopt::Long::Configure ("no_ignore_case");
+
+my $l = undef;
+my $n = undef;
+my $e = undef;
+my $v = undef;
+my $I = undef;
+my $X = undef;
+my $d = undef;
+my $C = undef;
+my $g = undef;
+my $colCseq = undef;
+my $colCqual = undef;
+my $args = "";
+my $verbose = undef;
+my $m1fw = 1;
+my $m2fw = 0;
+
+GetOptions ("I=i" => \$I,
+            "X=i" => \$X,
+            "v=i" => \$v,
+            "n=i" => \$n,
+            "e=i" => \$e,
+            "l=i" => \$l,
+            "d"   => \$d,
+            "g"   => \$g,
+            "C"   => \$C,
+            "verbose" => \$verbose,
+            "col-cseq" => \$colCseq,
+            "col-cqual" => \$colCqual,
+            "args:s" => \$args,
+            ) || die "One or more errors parsing script arguments";
+
+my $inner = 0;
+my $outer = 250;
+$inner = $I if ${I};
+$outer = $X if ${X};
+
+my $extra_args = "";
+$extra_args = $e if defined($e);
+my $match_mode = "-n 2";
+$match_mode = "-v " . $v if defined($v);
+$match_mode = "-n " . $n if defined($n);
+$match_mode .= " -l " . $l if defined($l);
+$match_mode .= " -e " . $e if defined($e);
+$match_mode .= " -C" if defined($C);
+$match_mode .= " -g" if defined($g);
+$match_mode .= " --col-cseq" if defined($colCseq);
+$m2fw = 1 if $C;
+
+print "Using match mode: $match_mode\n";
+
+my $bowtie_dir = ".";
+my $bowtie_exe = "bowtie";
+$bowtie_exe .= "-debug" if $d;
+
+my $index  = "e_coli";
+$index = $ARGV[0] if defined($ARGV[0]);
+my $reads1 = "reads/e_coli_1000_1.fq";
+$reads1 = $ARGV[1] if (defined($ARGV[1]));
+my $reads2 = "reads/e_coli_1000_2.fq";
+$reads2 = $ARGV[2] if (defined($ARGV[2]));
+
+# Infer input type so we can provide Bowtie with appropriate option
+if($reads1 =~ /\.fa/) {
+       $reads2 =~ /\.fa/ || die "Reads files $reads1 and $reads2 have different extensions";
+       $extra_args .= " -f ";
+} elsif($reads1 =~ /\.raw/) {
+       $reads2 =~ /\.raw/ || die "Reads files $reads1 and $reads2 have different extensions";
+       $extra_args .= " -r ";
+} elsif(!($reads1 =~ /\.fq/)) {
+       (!($reads2 =~ /\.fq/)) || die "Reads files $reads1 and $reads2 have different extensions";
+       $extra_args .= " -c ";
+}
+
+my $sesMustHavePes = 0; # force se pairs to have corresponding pe pairs 
+
+system("make -C $bowtie_dir $bowtie_exe") == 0 || die;
+
+# Run Bowtie not in paired-end mode for first mate file
+my $bowtie_se_cmd1 = "$bowtie_dir/$bowtie_exe $match_mode $args -y $extra_args -a --refidx $index $reads1";
+
+# Run Bowtie not in paired-end mode for second mate file
+my $bowtie_se_cmd2 = "$bowtie_dir/$bowtie_exe $match_mode $args -y $extra_args -a --refidx $index $reads2";
+
+# Run Bowtie in paired-end mode
+my $bowtie_pe_cmd = "$bowtie_dir/$bowtie_exe $match_mode $args -I $inner -X $outer -y $extra_args -a --refidx $index -1 $reads1 -2 $reads2";
+print "$bowtie_pe_cmd\n";
+open BOWTIE_PE, "$bowtie_pe_cmd |";
+
+if($C) {
+       $inner = max(0, $inner-1);
+       $outer = max(0, $outer-1);
+}
+
+my $pes = 0;
+my $pesFw = 0;
+my $pesRc = 0;
+my %peHash = ();
+while(<BOWTIE_PE>) {
+       chomp;
+       my $l1 = $_;
+       my $l2 = <BOWTIE_PE>;
+       chomp($l2);
+       print "$l1\n$l2\n";
+       my @l1s = split(/[\t]/, $l1);
+       my @l2s = split(/[\t]/, $l2);
+       $#l1s >= 5 || die "Paired-end alignment not formatted correctly: $l1";
+       $#l2s >= 5 || die "Paired-end alignment not formatted correctly: $l2";
+       # Split the read name
+       my @l1rs = split(/\//, $l1s[0]);
+       my @l2rs = split(/\//, $l2s[0]);
+       $#l1rs >= 1 || die "Read not formatted correctly: $l1s[0]";
+       $#l2rs >= 1 || die "Read not formatted correctly: $l2s[0]";
+       $l1rs[0] eq $l2rs[0] || die "Before-/ parts of read names don't match: $l1rs[0], $l2rs[0]";
+       my $mate1 = ($l1rs[$#l1rs] eq "1");
+       my $mate1str = $mate1 ? "1" : "0";
+       my $basename = $l1rs[0];
+       my $loff = int($l1s[3]);
+       my $roff = int($l2s[3]);
+       my $insLen = $roff - $loff + length($l2s[4]);
+       $insLen > length($l1s[4]) || die "Insert length did not exceed first mate length";
+       $insLen > length($l1s[5]) || die "Insert length did not exceed first mate length";
+       $insLen >= $inner || die "Insert length was $insLen < $inner\n";
+       $insLen <= $outer || die "Insert length was $insLen > $outer\n";
+       my $read1Short = $l1s[4];
+       my $qual1Short = $l1s[5];
+       my $read2Short = $l2s[4];
+       my $qual2Short = $l2s[5];
+       my $read1Mms = "";
+       $read1Mms = $l1s[7] if defined($l1s[7]);
+       $read1Mms = "-" if $read1Mms eq "";
+       my $read2Mms = "";
+       $read2Mms = $l2s[7] if defined($l2s[7]);
+       $read2Mms = "-" if $read2Mms eq "";
+       my $content = "$read1Short:$qual1Short $read2Short:$qual2Short";
+       $content = "" if $C && !$colCseq;
+       my $mcont = "$read1Mms $read2Mms";
+       $mcont = "" if $C;
+       my $val = "$basename $mate1str $l1s[2] $l1s[3] $l2s[3] $content $mcont";
+       #defined ($peHash{$basename}) && die "Already saw paired-end alignment for basename $basename";
+       $peHash{$basename} = $val;
+       if($mate1) { $pesFw++; } else { $pesRc++; }
+       $pes++;
+}
+close(BOWTIE_PE);
+
+my $ses = 0;
+my %seHash = ();
+my %seMatedHash = ();
+my %unmatchedSe = ();
+my $unmatchedSes = 0;
+my $unmatchedSeReads = 0;
+
+print "$bowtie_se_cmd1\n";
+open BOWTIE_SE1, "$bowtie_se_cmd1 |";
+while(<BOWTIE_SE1>) {
+       print "$_";
+       chomp;
+       $ses++;
+       my @ls = split(/[\t]/, $_);
+       my @lrs = split(/\//, $ls[0]);
+       my $basename = $lrs[0];
+       my $ref = $ls[2];
+       my $off = int($ls[3]);
+       my $len = length($ls[4]);
+       my $readShort = $ls[4];
+       my $qualShort = $ls[5];
+       my $mms = "";
+       $mms = $ls[7] if defined($ls[7]);
+       $mms = "-" if $mms eq "";
+       my $content = "$readShort $qualShort $mms";
+       my $key = "$ref $ls[1] $off $len $content";
+       push @{ $seHash{$basename}{$ref} }, $key;
+}
+close(BOWTIE_SE1);
+
+print "$bowtie_se_cmd2\n";
+open BOWTIE_SE2, "$bowtie_se_cmd2 |";
+open UNMATCHED_SE, ">.unmatched.se";
+while(<BOWTIE_SE2>) {
+       print "$_";
+       chomp;
+       $ses++;
+       my @ls = split(/[\t]/, $_);
+       my @lrs = split(/\//, $ls[0]);
+       my $basename = $lrs[0];
+       my $ref = $ls[2];
+       my $off = int($ls[3]);
+       my $len = length($ls[4]);
+       my $fw = $ls[1] eq "+" ? 1 : 0;
+       my $readShort = $ls[4];
+       my $qualShort = $ls[5];
+       my $mms = "";
+       $mms = $ls[7] if defined($ls[7]);
+       $mms = "-" if $mms eq "";
+       my $content = "$readShort $qualShort";
+       my $mcont = "$mms";
+       my $key = "$ref $ls[1] $off $len $content $mcont";
+       # Is the other mate already aligned?
+       if(defined($seHash{$basename}{$ref})) {
+               # Get all of the alignments for the mate
+               for my $om (@{ $seHash{$basename}{$ref} }) {
+                       my @oms = split(/ /, $om);
+                       $#oms == 6 || die "Wrong number of elements for oms: $#oms";
+                       my $oref = $oms[0];
+                       my $ofw = $oms[1] eq "+" ? 1 : 0;
+                       my $ooff = int($oms[2]);
+                       my $olen = int($oms[3]);
+                       my $oreadShort = $oms[4];
+                       my $oqualShort = $oms[5];
+                       my $omms = "";
+                       print "Trying $ref:$off and $oref:$ooff\n" if $verbose;
+                       $omms = $oms[6] if defined($oms[6]);
+                       $oref eq $ref || die "Refs don't match: $oref, $ref";
+                       my $diff;
+                       my $peKey = "$basename ";
+                       if($ooff > $off) {
+                               # The #1 mate is on the right
+                               my $my_m1fw = $m1fw ? 0 : 1;
+                               my $my_m2fw = $m2fw ? 0 : 1;
+                               $diff = $ooff - $off + $olen;
+                               if ($diff <= $olen || $diff <= $len) {
+                                       print "diff $diff is <= $olen and $len\n" if $verbose;
+                                       next;
+                               }
+                               # upstream mate contains downstream one?
+                               #next if $off + $len >= $ooff + $olen;
+                               # mates are at the same position?
+                               if($ooff == $off) {
+                                       print "overlapping offsets: $ooff, $off\n" if $verbose;
+                                       next;
+                               }
+                               if ($diff < $inner || $diff > $outer) {
+                                       print "diff $diff is outside of inner/outer: [$inner, $outer]\n" if $verbose;
+                                       next;
+                               }
+                               if($ofw != $my_m1fw) {
+                                       print "orientation of other $ofw doesn't match expected $my_m1fw\n" if $verbose;
+                                       next;
+                               }
+                               if($fw != $my_m2fw) {
+                                       print "orientation of anchor $fw doesn't match expected $my_m2fw\n" if $verbose;
+                                       next;
+                               }
+                               $content = "$readShort:$qualShort $oreadShort:$oqualShort";
+                               $content = "" if $C && !$colCseq;
+                               $mcont = "$mms $omms";
+                               $mcont = "" if $C;
+                               $peKey .= "0 $ref $off $ooff $content $mcont";
+                       } else {
+                               # The #1 mate is on the left
+                               $diff = $off - $ooff + $len;
+                               if ($diff <= $olen || $diff <= $len) {
+                                       print "diff $diff is <= $olen and $len\n" if $verbose;
+                                       next;
+                               }
+                               # upstream mate contains downstream one?
+                               #next if $ooff + $olen >= $off + $len;
+                               # mates are at the same position?
+                               if($ooff == $off) {
+                                       print "overlapping offsets: $ooff, $off\n" if $verbose;
+                                       next;
+                               }
+                               if ($diff < $inner || $diff > $outer) {
+                                       print "diff $diff is outside of inner/outer: [$inner, $outer]\n" if $verbose;
+                                       next;
+                               }
+                               if($ofw != $m1fw) {
+                                       print "orientation of other $ofw doesn't match expected $m1fw\n" if $verbose;
+                                       next;
+                               }
+                               if($fw != $m2fw) {
+                                       print "orientation of anchor $fw doesn't match expected $m2fw\n" if $verbose;
+                                       next;
+                               }
+                               $content = "$oreadShort:$oqualShort $readShort:$qualShort";
+                               $content = "" if $C && !$colCseq;
+                               $mcont = "$omms $mms";
+                               $mcont = "" if $C;
+                               $peKey .= "1 $ref $ooff $off $content $mcont";
+                       }
+                       # Found a legitimate paired-end alignment using a pair of
+                       # single-end alignments
+                       if($seMatedHash{$basename}) {
+                               print "already found corresponding paired-end\n" if $verbose;
+                               next;
+                       }
+                       if($sesMustHavePes) {
+                               defined($peHash{$basename}) ||
+                                       die "Found single-end alignment for $basename, but no paired-end";
+                       } else {
+                               if(!defined($peHash{$basename})) {
+                                       if(!defined($unmatchedSe{$basename})) {
+                                               $unmatchedSe{$basename} = 0;
+                                               $unmatchedSeReads++;
+                                       }
+                                       $unmatchedSe{$basename}++;
+                                       $unmatchedSes++;
+                                       print UNMATCHED_SE "Read $basename:\n$om\n$key\n";
+                               }
+                       }
+                       if(defined($peHash{$basename}) && $peHash{$basename} eq $peKey) {
+                               delete $peHash{$basename};
+                               $seMatedHash{$basename} = 1;
+                       } else {
+                               print "No matchup:\n$peHash{$basename}\n$peKey\n" if $verbose;
+                       }
+                       #print "Found alignment for mate $otherMate of $ls[0]; diff: $diff\n";
+               }
+       }
+}
+close(BOWTIE_SE2);
+close(UNMATCHED_SE);
+
+my $die = 0;
+for my $peKey (keys %peHash) {
+       print "Paired-end $peKey has a paired-end alignment without single-end support\n";
+       print "[ $peHash{$peKey} ]\n";
+       $die++;
+}
+$die && die "Found $die paired-end reads with no corresponding single-end mates";
+
+if($unmatchedSes > 0) {
+       print "Total of $unmatchedSes unmatched single-end alignments found for $unmatchedSes distinct pairs\n";
+       print "Ref orientation off len seq quals mms\n";
+       system("cat .unmatched.se");
+       die;
+}
+
+print "PASSED; analyzed $pes paired-end ($pesFw fw, $pesRc rc) and $ses single-end alignments\n";
diff --git a/scripts/random_bowtie_tests.pl b/scripts/random_bowtie_tests.pl
new file mode 100755 (executable)
index 0000000..fee7920
--- /dev/null
@@ -0,0 +1,1197 @@
+#!/usr/bin/perl -w
+
+#
+# Generate and run a series of random (but non-trivial) test cases for
+# the Bowtie suite of tools, including bowtie, bowtie-build and
+# bowtie-inspect.  Most of the problems turned up this way are in the
+# form of assertions in the tools.  However, we also do some sanity-
+# checking of the results; e.g. we use the pe_verify.pl script to
+# verify that paired-end alignments are consistent with matched-up
+# single-end alignments.
+#
+# Usage: perl random_tester.pl [rand seed] \
+#                              [# outer iters] \
+#                              [# inner iters] \
+#                              [min # text bases] \
+#                              [max text bases to add to min] \
+#                              [min # read bases] \
+#                              [max read bases to add to min]
+#
+# Options:
+#   -n         don't attempt to compile binaries; use existing binaries
+#   -p "<pol>" use only the specified alignment policy (e.g. "-n 3")
+#
+
+use List::Util qw[min max];
+use Getopt::Long;
+use FindBin qw($Bin); 
+
+my $setPolicy;
+my $help = 0;
+my $noCompile = 0;
+my $bowtie = "./bowtie";                 # path to version of 'bowtie' binary to use
+my $bowtie_build = "./bowtie-build";     # path to version of 'bowtie-build' binary to use
+my $bowtie_build_old = "./bowtie-build"; # path to old version of 'bowtie-build' binary to use (for inspect.pl)
+my $bowtie_inspect = "./bowtie-inspect"; # path to version of 'bowtie-build' binary to use
+
+GetOptions(
+       "bowtie=s"           => \$bowtie,
+       "bowtie-build=s"     => \$bowtie_build,
+       "bowtie-build-old=s" => \$bowtie_build_old,
+       "bowtie-inspect=s"   => \$bowtie_inspect,
+       "h|help"             => \$help,
+       "n|no-compile"       => \$noCompile,
+       "p|policy"           => \$setPolicy, # overrides pickPolicy()
+       "e|pairs-only"       => \$pairedEndOnly) || die "Bad arguments";
+
+if($help) {
+       print "Usage: perl random_bowtie_tests.pl [options]* seed outer inner tbase trand pbase prand\n";
+       exit 0;
+}
+
+my $seed = 0;
+$seed = int $ARGV[0] if defined($ARGV[0]);
+srand $seed;
+
+# make all the relevant binaries, unless we were asked not to
+unless($noCompile) {
+       run("make bowtie bowtie-debug bowtie-build-debug ".
+              "bowtie-inspect-debug bowtie-inspect bowtie-build") == 0 || die "Error building";
+}
+
+# Alignment policies
+my @policies = (
+       "-n 3", "-n 2", "-n 1", "-n 0",
+       "-v 3", "-v 2", "-v 1", "-v 0"
+);
+
+sub pickPolicy {
+       my $pe = shift;
+       my $r = int(rand($#policies + 1));
+       my $pol = $policies[$r];
+       $pol = $setPolicy if defined($setPolicy);
+       if($pe && int(rand(2)) == 0) {
+               my $min = int(rand(200))+10;
+               $pol .= " -I $min";
+               $pol .= " -X ".int(rand(30)+$min);
+       }
+       if(!$pe && int(rand(2)) == 0) {
+               # Possibly ask for best alignments
+               $pol .= " --best";
+       }
+       if($pol =~ /-n/ && int(rand(2)) == 0) {
+               $pol .= " --nomaqround";
+       }
+       if($pol =~ /-n/ && int(rand(2)) == 0) {
+               $pol .= " -l ".int(rand(30)+8);
+       }
+       if($pol =~ /-n/ && int(rand(2)) == 0) {
+               $pol .= " -e ".int(rand(120)+40);
+       }
+       return $pol;
+}
+
+my $outer = 5000;
+$outer = int $ARGV[1] if defined($ARGV[1]);
+my $limit = $outer;
+
+my $inner = 100;
+$inner = int $ARGV[2] if defined($ARGV[2]);
+
+my $tbase = 100;
+$tbase = int $ARGV[3] if defined($ARGV[3]);
+my $trand = 300;
+$trand = int $ARGV[4] if defined($ARGV[4]);
+
+my $pbase = 10;
+$pbase = int $ARGV[5] if defined($ARGV[5]);
+my $prand = 30;
+$prand = int $ARGV[6] if defined($ARGV[6]);
+
+my $ibase = 50;
+$ibase = int $ARGV[7] if defined($ARGV[7]);
+my $irand = 250;
+$irand = int $ARGV[8] if defined($ARGV[8]);
+
+my $verbose = 0;
+my $exitOnFail = 1;
+my @dnaMap = ('A', 'T', 'C', 'G',
+              'N',
+              'M', 'R', 'W', 'S', 'Y', 'K', 'V', 'H', 'D', 'B');
+
+sub nonACGTtoN {
+       my $t = shift;
+       $t =~ tr/-NnMmRrWwSsYyKkVvHhDdBbXx/N/;
+       $t =~ /[ACGTN]+/ || die "Bad N-ized DNA string: $t";
+       return $t;
+}
+
+sub randGap() {
+       my $or = int(rand(4));
+       my $gap = "";
+       if($or == 0) {
+               my $ir = int(rand(100))+1;
+               if(($ir & 1) == 1) {
+                       for(my $i = 0; $i < $ir; $i++) {
+                               $gap .= 'N';
+                       }
+               } else {
+                       for(my $i = 0; $i < $ir; $i++) {
+                               $gap .= '-';
+                       }
+               }
+       }
+       return $gap;
+}
+
+# Generates a random DNA string of the given length
+sub randDna($) {
+       my $num = shift;
+       my $i;
+       my $t = '';
+       my $noAmbigs = int(rand(3)) == 0;
+       for($i = 0; $i < $num; $i++) {
+               my $or = int(rand(50));
+               if($or == 0 && !$noAmbigs) {
+                       # Add a random, possibly ambiguous character
+                       $t .= $dnaMap[int(rand($#dnaMap+1))];
+               } elsif($or == 1 && !$noAmbigs) {
+                       # Add a random-length streak of Ns (max: 20)
+                       my $streak = int(rand(20))+1;
+                       for(my $j = $i; $j < $num && $j < $streak; $j++) {
+                               $t .= 'N';
+                       }
+               } else {
+                       # Add a random non-ambiguous character
+                       $t .= $dnaMap[int(rand(4))];
+               }
+       }
+       return $t;
+}
+
+sub randColor($) {
+       my %cmap = ("A" => "0", "C" => "1", "G" => "2", "T" => "3", "N" => ".");
+       my $s = nonACGTtoN(randDna(shift));
+       for(my $i = 0; $i < length($s); $i++) {
+               defined($cmap{substr($s, $i, 1)}) || die "No entry for \"".substr($s, $i, 1)."\"\n";
+               substr($s, $i, 1) = $cmap{substr($s, $i, 1)};
+       }
+       return $s;
+}
+
+# Utility function that returns the reverse complement of its argument
+sub revcomp {
+       my $r = shift;
+       my $c = shift; # may be undef
+       $r = reverse($r);
+       $r =~ tr/aAcCgGtT/tTgGcCaA/ unless (defined($c) && $c);
+       return $r;
+}
+
+# Utility function that returns the complement of its argument
+sub comp {
+       my $r = shift;
+       my $c = shift;
+       $r =~ tr/aAcCgGtT/tTgGcCaA/ unless (defined($c) && $c);
+       return $r;
+}
+
+# Insert $src just before the $off'th character of $dst
+sub ins {
+       my ($dst, $src, $off) = @_;
+       $off < length($dst) || die "ins offset $off is not less than dst length ".length($dst)."\n";
+       my $s = substr($dst, 0, $off) . $src . substr($dst, $off);
+       return $s;
+}
+
+# Delete the $off'th character of $dst
+sub del {
+       my ($dst, $off) = @_;
+       my $s = substr($dst, 0, $off).substr($dst, $off+1);
+       return $s;
+}
+
+# Substitute $src for the $off'th character of $dst
+sub subst {
+       my ($dst, $src, $off) = @_;
+       my $s = substr($dst, 0, $off).$src.substr($dst, $off+1);
+       return $s;
+}
+
+##
+# Sanity check whether a read and a list of edits corresponds correctly
+# to a substring of the reference.
+#
+sub checkAlignmentRef {
+       my ($ref, $read, $fw, $off, $edits, $alnuc) = @_;
+       return unless $alnuc;
+       my $orig = $read;
+       $off-- unless $alnuc;
+       if($edits ne '-' && $edits ne "") {
+               my $adjust = 0;
+               my @es = split(/[,]/, $edits);
+               for my $e (@es) {
+                       my $colonoff = index($e, ":");
+                       my $caratoff = index($e, ">");
+                       my $pos = substr($e, 0, $colonoff);
+                       my $ref = substr($e, $colonoff+1, $caratoff-$colonoff-1);
+                       my $qry = substr($e, $caratoff+1);
+                       length($qry) == 1 || die "Query char in edit $e, \"$qry\", isn't 1 char\n";
+                       $ref = comp($ref, $alnuc) unless $fw;
+                       if($qry eq "-") {
+                               # insertion
+                               #my $inspos = ($fw ? $pos + $adjust : length($read) - $pos - $adjust);
+                               my $inspos = $pos + $adjust;
+                               $read = ins($read, $ref, $inspos);
+                               $adjust += length($ref);
+                       } elsif($ref eq "-") {
+                               # deletion
+                               #my $delpos = ($fw ? $pos + $adjust : length($read) - $pos - $adjust);
+                               my $delpos = $pos + $adjust;
+                               $read = del($read, $delpos);
+                               $adjust--;
+                       } else {
+                               # mismatch
+                               #my $mmpos = ($fw ? $pos + $adjust : length($read) - $pos - $adjust);
+                               my $mmpos = $pos + $adjust;
+                               $read = subst($read, $ref, $mmpos);
+                       }
+               }
+       }
+       $read = revcomp($read, $alnuc) unless $fw;
+       my $rstr = substr($ref, $off, length($read));
+       $fw = $fw ? '+' : '-';
+       $read eq $rstr || die "\n\nAlignment failed to pass sanity check:\n".
+                             "FW: $fw, Off: $off, Edits: $edits\n".
+                             "Orig: $orig\n".
+                             "Qry:  $read\n".
+                             "Ref:  $rstr\n";
+}
+
+##
+# Given a string in nucleotide space, convert to colorspace.
+#
+sub colorize($$) {
+       my ($s, $nucs) = @_;
+       defined($s) || die;
+       my %cmap = (
+               "AA" => "0", "CC" => "0", "GG" => "0", "TT" => "0",
+               "AC" => "1", "CA" => "1", "GT" => "1", "TG" => "1",
+               "AG" => "2", "GA" => "2", "CT" => "2", "TC" => "2",
+               "AT" => "3", "TA" => "3", "CG" => "3", "GC" => "3",
+               "NA" => ".", "NC" => ".", "NG" => ".", "NT" => ".",
+               "AN" => ".", "CN" => ".", "GN" => ".", "TN" => ".",
+               "NN" => "."
+       );
+       my %nmap = ("0" => "A", "1" => "C", "2" => "G", "3" => "T", "." => "N");
+       my $ret = "";
+       for(my $i = 0; $i < length($s)-1; $i++) {
+               my $di = uc substr($s, $i, 2);
+               $di =~ tr/-NnMmRrWwSsYyKkVvHhDdBbXx/N/;
+               defined($cmap{$di}) || die "Bad dinuc: $di\n";
+               $ret .= ($nucs ? $nmap{$cmap{$di}} : $cmap{$di});
+       }
+       return $ret;
+}
+
+##
+# Encode colors as proxy nucleotides
+#
+sub nucencode($) {
+       my $s = shift;
+       my %nmap = ("0" => "A", "1" => "C", "2" => "G", "3" => "T", "." => "N",
+                   "A" => "A", "C" => "C", "G" => "G", "T" => "T", "N" => "N");
+       my $ret = "";
+       for(my $i = 0; $i < length($s); $i++) {
+               my $c = uc substr($s, $i, 1);
+               defined($nmap{$c}) || die;
+               $ret .= $nmap{$c};
+       }
+       return $ret;
+}
+
+# Add some random quality values to encourage excercising the
+# backtracking code
+sub addQual($) {
+       my $r = shift;
+       my $len = length($r);
+       $r .= ":";
+       for(my $i = 0; $i < $len; $i++) {
+               my $c = "-";
+               while(not $c =~ /[0-9A-Z\/=@%]/) {
+                       $c = chr(33 + int(rand(41)));
+               }
+               $r .= $c;
+       }
+       return $r;
+}
+
+# Trim whitespace from a string argument
+sub trim($) {
+       my $string = shift;
+       $string =~ s/^\s+//;
+       $string =~ s/\s+$//;
+       return $string;
+}
+
+sub run {
+       my $cmd = shift;
+       open CMDTMP, ">.randtmp$seed.cmd" || die;
+       print CMDTMP "$cmd\n";
+       close(CMDTMP);
+       return system($cmd);
+}
+
+sub runBacktick {
+       my $cmd = shift;
+       open CMDTMP, ">.randtmp$seed.cmd" || die;
+       print CMDTMP "$cmd\n";
+       close(CMDTMP);
+       return `$cmd`;
+}
+
+# Build an Ebwt based on given arguments
+sub build {
+       my($t, $color, $offRate, $ftabChars) = @_;
+       my $ret = 0;
+       
+       my $file1 = "-c";
+       my $file2 = "\"$t\"";
+       if(substr($t, 0, 1) eq '-') {
+               # Add backslash to escape first dash
+               $file2 = "\"\\$t\"";
+       }
+       
+       $color = ($color ? "-C" : "");
+       
+       # Write reference sequences to a FASTA file
+       open FA, ">.randtmp$seed.fa" || die "Could not open temporary fasta file";
+       my @seqs = split(/,/, $t);
+       for(my $i = 0; $i <= $#seqs; $i++) {
+               print FA ">$i\n";
+               print FA "$seqs[$i]\n";
+       }
+       close(FA);
+       
+       $cmd = "perl $Bin/test/inspect.pl --debug --seed $seed --bowtie-build2=$bowtie_build_old --ref=.randtmp$seed.fa";
+       print "$cmd\n";
+       system($cmd) == 0
+               || die "inspect.pl died with exitlevel $?";
+       
+       # Make a version of the FASTA file where all non-A/C/G/T characters
+       # are Ns.  This is useful if we'd like to compare to the output of
+       # bowtie-inspect.
+       #
+       # We make one version (FAN) that's colorized when the index is
+       # colorspace so that we can compare the output of bowtie-inspect -e,
+       # and another version (FANO) that's always in nucleotide space, so
+       # we can test default bowtie-inspect.
+       #
+       open FAN, ">.randtmp$seed.ns.fa" || die "Could not open temporary fasta file";
+       open FANO, ">.randtmp$seed.ns.orig.fa" || die "Could not open temporary fasta file";
+       for(my $i = 0; $i <= $#seqs; $i++) {
+               print FAN ">$i\n";
+               print FANO ">$i\n";
+               my $t = nonACGTtoN($seqs[$i]);
+               defined($t) || die;
+               print FANO "$t\n";
+               $t = colorize($t, 1) if $color;
+               print FAN "$t\n";
+       }
+       close(FAN);
+       close(FANO);
+       
+       my $fasta = int(rand(2)) == 0;
+       if($fasta) {
+               # Use the FASTA file as input
+               $file1 = "-f";
+               $file2 = ".randtmp$seed.fa";
+       }
+       
+       my $bucketArg = "";
+       my $bucketRand = int(rand(3));
+       if($bucketRand == 0) {
+               $bucketArg = "--bmaxdivn ";
+               $bucketArg .= (int(rand(30))+1);
+       } elsif($bucketRand == 1) {
+               $bucketArg = "-a ";
+       }
+
+       $offRate   = "--offrate $offRate"   if $offRate ne "";
+       $ftabChars = "--ftabchars $ftabChars" if $ftabChars ne "";
+       my $noauto = "";
+       $noauto = "-a" if $offRate eq "" && $ftabChars eq "";
+       my $args = "-q --sanity $color $file1 $noauto $offRate $ftabChars $bucketArg $file2";
+       
+       # Do unpacked version
+       my $cmd = "${bowtie_build}-debug $args .tmp$seed";
+       run("echo \"$cmd\" > .tmp$seed.cmd");
+       print "$cmd\n";
+       my $out = trim(runBacktick("$cmd 2>&1"));
+       $out =~ s/Warning: Encountered reference sequence with only gaps//g;
+       $out = trim($out);
+       if($out eq "") {
+               $ret++;
+       } else {
+               print "Expected no output, got:\n$out\n";
+               if($exitOnFail) {
+                       exit 1;
+               }
+       }
+       
+       # Do packed version and assert that it matches unpacked version
+       # (sometimes, but not all the time because it takes a while)
+       if(int(rand(4)) == 0) {
+               $cmd = "${bowtie_build}-debug -a -p $args .tmp$seed.packed";
+               print "$cmd\n";
+               $out = trim(runBacktick("$cmd 2>&1"));
+               $out =~ s/Warning: Encountered reference sequence with only gaps//g;
+               $out = trim($out);
+               if($out eq "") {
+                       if(run("diff .tmp$seed.1.ebwt .tmp$seed.packed.1.ebwt") != 0) {
+                               die if $exitOnFail;
+                       } elsif(run("diff .tmp$seed.2.ebwt .tmp$seed.packed.2.ebwt") != 0) {
+                               die if $exitOnFail;
+                       } else {
+                               $ret++;
+                       }
+               } else {
+                       print "Expected no output, got:\n$out\n";
+                       if($exitOnFail) {
+                               exit 1;
+                       }
+               }
+       }
+       
+       return $ret;
+}
+
+sub deleteReadParts {
+       run("rm -f .tmp.un$seed". ".* .tmp.un$seed". "_1.* .tmp.un$seed". "_2.*");
+       run("rm -f .tmp.max$seed".".* .tmp.max$seed"."_1.* .tmp.max$seed"."_2.*");
+       run("rm -f .tmp.al$seed". ".* .tmp.al$seed". "_1.* .tmp.al$seed". "_2.*");
+}
+
+sub search($$$$$$$$$$) {
+       my($tstr, $cstr, $pe, $color, $p1, $p2, $policy, $oneHit, $requireResult, $offRate) = @_;
+       my $ret = doSearch($tstr, $cstr, $pe, $color, $p1, $p2, $policy, $oneHit, $requireResult, $offRate);
+       deleteReadParts();
+       return $ret;
+}
+
+##
+# Make sure that a verbose alignment is consistent with the content of
+# the reference
+#
+# $alnuc: Alignments are in nucleotides (not colors, as with -C --col-cseq)
+#
+sub checkRefVerbose($$$$) {
+       my ($l, $textsr, $ctextsr, $alnuc) = @_;
+       my @texts = @{$textsr};
+       my @ctexts = @{$ctextsr};
+       scalar(@texts) > 0 || die;
+       my @ls = split(/\t/, $l);
+       my ($fw, $ref, $off, $seq, $mms) = ($ls[1] eq '+', $ls[2], $ls[3], $ls[4], $ls[7]);
+       $mms = "-" unless(defined($mms));
+       defined($ref) || die "Malformed verbose output line: $l\n";
+       $ref == int($ref) || die;
+       $ref <= $#texts || die "Ref idx $ref exceeds number of texts ".($#texts+1)."\n";
+       my $orig = $seq;
+       $orig = revcomp($orig, $alnuc) unless $fw;
+       print STDERR "Checking alignemnt: $l\n";
+       checkAlignmentRef($alnuc ? $texts[$ref] : $ctexts[$ref],
+                         $orig, $fw, $off, $mms, $alnuc);
+       return 1;
+}
+
+# Search for a pattern in an existing Ebwt
+sub doSearch($$$$$$$$$$) {
+       my($nstr, $cstr, $pe, $color, $p1, $p2, $policy, $oneHit, $requireResult, $offRate) = @_;
+       
+       my @nts = split(/,/, $nstr); # nucleotide texts
+       my @cts = split(/,/, $cstr); # color texts
+       
+       my $patarg = "-c";
+       my $patstr = "\"$p1\"";
+       $patstr = "-1 \"$p1\" -2 \"$p2\"" if $pe;
+       my $outfile = ".tmp$seed.out";
+
+       my $alnuc = 1;
+       if($color) {
+               $color = "-C";
+               if(int(rand(3))) {
+                       $color .= " --col-cseq ";
+                       $alnuc = 0;
+               }
+               $color .= " --col-cqual" if int(rand(3)) == 0;
+       }
+       
+       my $ext = ".fq";
+       my $format = int(rand(5));
+       if($format == 0) {
+               # FASTA
+               open FA, ">.randread$seed.fa" || die "Could not open temporary fasta file";
+               $ext = ".fa";
+               my @cs = split /[,]/, $p1;
+               my $idx = 0;
+               foreach my $c (@cs) {
+                       my @cms = split /[:]/, $c;
+                       print FA ">$idx\n$cms[0]\n";
+                       $idx++;
+               }
+               close FA;
+               $patarg = "-f";
+               $patstr = ".randread$seed.fa";
+               if($pe) {
+                       run("mv .randread$seed.fa .randread$seed"."_1.fa");
+                       $patstr = "-1 .randread$seed"."_1.fa";
+                       open FA, ">.randread$seed"."_2.fa" || die "Could not open temporary fasta file";
+                       @cs = split /[,]/, $p2;
+                       my $idx = 0;
+                       foreach my $c (@cs) {
+                               my @cms = split /[:]/, $c;
+                               print FA ">$idx\n$cms[0]\n";
+                               $idx++;
+                       }
+                       close FA;
+                       $patstr .= " -2 .randread$seed"."_2.fa";
+               }
+       } elsif($format == 1) {
+               # FASTQ with ASCII qualities
+               open FQ, ">.randread$seed.fq" || die "Could not open temporary fastq file";
+               $ext = ".fq";
+               my @cs = split /[,]/, $p1;
+               my $idx = 0;
+               foreach my $c (@cs) {
+                       my @cms = split /[:]/, $c;
+                       $#cms == 1 || die "Should be pair with : separating seq from quals: $c\n$p1\n";
+                       print FQ "\@$idx\n$cms[0]\n+\n$cms[1]\n";
+                       $idx++;
+               }
+               close FQ;
+               $patarg = "-q";
+               $patstr = ".randread$seed.fq";
+               if($pe) {
+                       run("mv .randread$seed.fq .randread$seed"."_1.fq");
+                       $patstr = "-1 .randread$seed"."_1.fq";
+                       open FQ, ">.randread$seed"."_2.fq" || die "Could not open temporary fastq file";
+                       @cs = split /[,]/, $p2;
+                       my $idx = 0;
+                       foreach my $c (@cs) {
+                               my @cms = split /[:]/, $c;
+                               $#cms == 1 || die "Should be pair with : separating seq from quals: $c\n$p2\n";
+                               print FQ "\@$idx\n$cms[0]\n+\n$cms[1]\n";
+                               $idx++;
+                       }
+                       close FQ;
+                       $patstr .= " -2 .randread$seed"."_2.fq";
+               }
+       } elsif($format == 2) {
+               # FASTQ with integer qualities
+               open FQ, ">.randread$seed.integer.fq" || die "Could not open temporary solexa fastq file";              my $ext = ".fa";
+               $ext = ".fq";
+               my @cs = split /[,]/, $p1;
+               my $idx = 0;
+               foreach my $c (@cs) {
+                       my @cms = split /[:]/, $c;
+                       print FQ "\@$idx\n$cms[0]\n+\n";
+                       for(my $i = 0; $i < length($cms[1]); $i++) {
+                               my $q = substr($cms[1], $i, 1);
+                               $q = ord($q) - 33;
+                               print FQ "$q ";
+                       }
+                       print FQ "\n";
+                       $idx++;
+               }
+               close FQ;
+               $patarg = "-q --integer-quals";
+               $patstr = ".randread$seed.integer.fq";
+               if($pe) {
+                       run("mv .randread$seed.integer.fq .randread$seed.integer_1.fq");
+                       $patstr = "-1 .randread$seed.integer_1.fq";
+                       open FQ, ">.randread$seed.integer_2.fq" || die "Could not open temporary fastq file";
+                       @cs = split /[,]/, $p2;
+                       my $idx = 0;
+                       foreach my $c (@cs) {
+                               my @cms = split /[:]/, $c;
+                               print FQ "\@$idx\n$cms[0]\n+\n";
+                               for(my $i = 0; $i < length($cms[1]); $i++) {
+                                       my $q = substr($cms[1], $i, 1);
+                                       $q = ord($q) - 33;
+                                       print FQ "$q ";
+                               }
+                               $idx++;
+                               print FQ "\n";
+                       }
+                       close FQ;
+                       $patstr .= " -2 .randread$seed.integer_2.fq";
+               }
+       } elsif($format == 3) {
+               # Raw
+               open RAW, ">.randread$seed.raw" || die "Could not open temporary raw file";
+               $ext = ".raw";
+               my @cs = split /[,]/, $p1;
+               foreach my $c (@cs) {
+                       my @cms = split /[:]/, $c;
+                       print RAW "$cms[0]\n";
+               }
+               close RAW;
+               $patarg = "-r";
+               $patstr = ".randread$seed.raw";
+               if($pe) {
+                       run("mv .randread$seed.raw .randread$seed"."_1.raw");
+                       $patstr = "-1 .randread$seed"."_1.raw";
+                       open RAW, ">.randread$seed"."_2.raw" || die "Could not open temporary fastq file";
+                       @cs = split /[,]/, $p2;
+                       foreach my $c (@cs) {
+                               my @cms = split /[:]/, $c;
+                               print RAW "$cms[0]\n";
+                       }
+                       close RAW;
+                       $patstr .= " -2 .randread$seed"."_2.raw";
+               }
+       }
+       
+       # Perhaps dump unaligned reads using --un argument
+       my $unalignArg = "";
+       my $unalignReconArg = "";
+       my $unalign = int(rand(5));
+       if($unalign == 0 || $unalign == 2) {
+               $unalignArg .= "--un .tmp.un$seed$ext ";
+               if($pe) {
+                       $unalignReconArg .= " .tmp.un$seed"."_1$ext .tmp.un$seed"."_2$ext";
+               } else {
+                       $unalignReconArg .= " .tmp.un$seed$ext";
+               }
+       }
+       if($unalign == 1 || $unalign == 2) {
+               $unalignArg .= "--max .tmp.max$seed$ext ";
+               if($unalign == 2) {
+                       if($pe) {
+                               $unalignReconArg .= " .tmp.max$seed"."_1$ext .tmp.max$seed"."_2$ext";
+                       } else {
+                               $unalignReconArg .= " .tmp.max$seed$ext";
+                       }
+               }
+       }
+       if($unalign == 2 || $unalign == 3) {
+               $unalignArg .= "--al .tmp.al$seed$ext ";
+               if($unalign == 2) {
+                       if($pe) {
+                               $unalignReconArg .= " .tmp.al$seed"."_1$ext .tmp.al$seed"."_2$ext";
+                       } else {
+                               $unalignReconArg .= " .tmp.al$seed$ext";
+                       }
+               }
+       }
+       
+       my $khits = "-k 1";
+       my $mhits = 0;
+       if(int(rand(2)) == 0) {
+               $khits = "-a";
+       } else {
+               $khits = "-k " . (int(rand(20))+2);
+       }
+       if(int(rand(3)) == 0) {
+               $khits .= " --strata --best";
+       }
+       if(int(rand(2)) == 0) {
+               $requireResult = 0;
+               $mhits = (int(rand(20))+2);
+       }
+       
+       if($mhits > 0) {
+               if(int(rand(2)) == 0) {
+                       $khits .= " -m $mhits";
+               } else {
+                       $khits .= " -M $mhits";
+               }
+       }
+       
+       my $strand = "";
+       if(int(rand(4)) == 0) {
+               if(int(rand(2)) == 0) {
+                       # Reverse-complement reference strand only
+                       $strand = "--nofw";
+               } else {
+                       # Forward reference strand only
+                       $strand = "--norc";
+               }
+       }
+       
+       if($oneHit || 1) {
+               $oneHit = "";
+       } else {
+               $oneHit = "-a";
+       }
+       my $offRateStr = "";
+       if($offRate ne "" && int(rand(3)) == 0) {
+               $offRate == int($offRate) || die "Bad offrate: $offRate\n";
+               $offRateStr = "--offrate " . ($offRate + 1 + int(rand(4)));
+       }
+       defined($policy) || die;
+       defined($color) || die;
+       defined($strand) || die;
+       defined($unalignArg) || die;
+       defined($khits) || die;
+       defined($offRateStr) || die;
+       defined($nstr) || die;
+       my $cmd = "${bowtie}-debug $policy $color $strand $unalignArg $khits $offRateStr --cost --orig \"$nstr\" $oneHit --sanity $patarg .tmp$seed $patstr";
+       print "$cmd\n";
+       my $out = trim(runBacktick("$cmd 2>.tmp$seed.stderr | tee .tmp$seed.stdout"));
+       
+       # Bad exitlevel?
+       if($? != 0) {
+               print "Exitlevel: $?\n";
+               if($exitOnFail) {
+                       my $err = `cat .tmp$seed.stderr 2> /dev/null`;
+                       print "Stdout:\n$out\nStderr:\n$err\n";
+                       exit 1;
+               }
+               return 0;
+       }
+       my $err = `cat .tmp$seed.stderr 2> /dev/null`;
+
+       # No output?
+       if($out eq "" && $requireResult) {
+               print "Expected results but got \"No Results\"\n";
+               if($exitOnFail) {
+                       print "Stdout:\n$out\nStderr:\n$err\n";
+                       exit 1;
+               }
+               return 0;
+       }
+       
+       # Parse output to see if any of it is bad
+       print $out;
+       my @outlines = split(/[\r\n]+/, $out);
+       my %outhash = ();
+       my %readcount = ();
+       my %readStratum = (); # for unpaired reads
+       my %readStratum1 = (); # for mate 1
+       my %readStratum2 = (); # for mate 2
+       my $lastread = "";
+       
+       for(my $i = 0; $i <= $#outlines; $i++) {
+               # Get the alignment for the first mate (or the unpaired read)
+               my $l = $outlines[$i];
+               chomp($l);
+               checkRefVerbose($l, \@nts, \@cts, $alnuc);
+               my $key = "$l";
+               my $l2 = "";
+               if($pe) {
+                       # Get the alignment for the second mate
+                       $l2 = $outlines[++$i];
+                       defined($l2) || die "Odd number of output lines";
+                       chomp($l2);
+                       checkRefVerbose($l2, \@nts, \@cts, $alnuc);
+                       $key .= ", $l2";
+               }
+               print "$key\n";
+               # No two results should be the same
+               if(!$pe) {
+                       !defined($outhash{$key}) || die "Result $key appears in output twice";
+               }
+               $outhash{$key} = 1;
+               # Parse out the read id
+               my @ls = split(/[\t]/, $l);
+               my ($mate1, $fw1, $stratum1) = ($ls[0], $ls[1], $ls[8]);
+               my ($mate2, $fw2, $stratum2) = (undef, undef, undef);
+               if($pe) {
+                       my @l2s = split(/[\t]/, $l2);
+                       ($mate2, $fw2, $stratum2) = ($l2s[0], $l2s[1], $l2s[8]);
+               }
+               my $peor = ($color ? "ff" : "fr");
+               my $m1fw = ($peor eq 'fr' || $peor eq 'ff') ? '+' : '-';
+               my $m2fw = ($peor eq 'ff') ? '+' : '-';
+               if($pe && $peor eq 'ff') {
+                       $fw1 eq $fw2 || die "Saw different orientations for mates\n";
+               } elsif($pe) {
+                       $fw1 ne $fw2 || die "Saw same orientation for mates\n";
+               }
+               if($strand =~ /nofw/) {
+                       if($pe) {
+                               my $m = substr($mate1, index($mate1, "/")+1);
+                               if($peor eq 'ff') {
+                                       ($fw1 eq '-' && $fw2 eq '-') ||
+                                               die "Saw non-rc alignment with --nofw specified\n";
+                               } else {
+                                       "$m$fw1" eq "2+" ||
+                                               die "Saw a forward alignment on line ".($i+1)." when --nofw was specified";
+                               }
+                       } else {
+                               $fw1 eq "-" ||
+                                       die "Saw a forward alignment on line ".($i+1)." when --nofw was specified";
+                       }
+               } elsif($strand =~ /norc/) {
+                       if($pe) {
+                               if($peor eq 'ff') {
+                                       ($fw1 eq '+' && $fw2 eq '+') ||
+                                               die "Saw non-fw alignment with --nofw specified\n";
+                               } else {
+                                       my $m = substr($mate1, index($mate1, "/")+1);
+                                       "$m$fw1" eq "1+" ||
+                                               die "Saw a rev-comp alignment on line ".($i+1)." when --norc was specified";
+                               }
+                       } else {
+                               $fw1 eq "+" ||
+                                       die "Saw a rev-comp alignment on line ".($i+1)." when --norc was specified";
+                       }
+               }
+               if($mate1 ne $lastread && !$pe) {
+                       die "Read $mate1 appears multiple times non-consecutively" if defined($readcount{$mate1});
+               }
+               if(!$pe && $policy =~ /--strata /) {
+                       !defined($readStratum{$mate1}) ||
+                               $readStratum{$mate1} == $stratum1 ||
+                               die "Incompatible strata: old: $readStratum{$mate1}, cur: $stratum1";
+                       $readStratum{$mate1} = $stratum1;
+               } elsif($policy =~ /--strata /) {
+                       # Paired-end case; use minimum of 2 mates
+                       if($mate2 =~ /\/1$/) {
+                               # Swticheroo
+                               my $tmp = $mate1; $mate1 = $mate2; $mate2 = $tmp;
+                               $tmp = $stratum1; $stratum1 = $stratum2; $stratum2 = $tmp;
+                       }
+                       if(defined($readStratum1{$mate1})) {
+                               # One or ther other mate has to have the same stratum as we recorded previously
+                               defined($readStratum2{$mate2}) || die "$mate1 was seen before, but not $mate2";
+                               $readStratum1{$mate1} == $stratum1 ||
+                               $readStratum2{$mate2} == $stratum2 ||
+                               $readStratum1{$mate1} == $stratum2 ||
+                               $readStratum2{$mate2} == $stratum1 ||
+                                       die "Incompatible strata: old: <$readStratum1{$mate1}, $readStratum2{$mate2}> cur: <$stratum1, $stratum2>";
+                       }
+                       $readStratum1{$mate1} = $stratum1;
+                       $readStratum2{$mate2} = $stratum2;
+               }
+               $lastread = $mate1;
+               $readcount{$mate1}++;
+               if($mhits > 0) {
+                       $readcount{$mate1} <= $mhits || die "Read $mate1 matched more than $mhits times";
+               }
+       }
+
+       {
+               $cmd = "${bowtie} $policy $color $strand $unalignArg $khits $offRateStr --cost --orig \"$nstr\" $oneHit --sanity $patarg .tmp$seed $patstr";
+               print "$cmd\n";
+               my $out2 = trim(runBacktick("$cmd 2>.tmp$seed.stderr"));
+               $out2 eq $out || die "Normal bowtie output did not match debug bowtie output";
+
+               $cmd = "${bowtie} $policy $color $strand $unalignArg $khits --orig \"$nstr\" $oneHit --sanity $patarg .tmp$seed $patstr $outfile";
+               print "$cmd\n";
+               my $out3 = trim(runBacktick("$cmd 2>.tmp$seed.stderr"));
+
+               $cmd = "${bowtie} --mm $policy $color $strand $unalignArg $khits --orig \"$nstr\" $oneHit --sanity $patarg .tmp$seed $patstr $outfile";
+               print "$cmd\n";
+               my $out4 = trim(runBacktick("$cmd 2>.tmp$seed.stderr"));
+               $out3 eq $out4 || die "Normal bowtie output did not match memory-mapped bowtie output";
+       }
+       
+       # Now do another run with verbose output so that we can check the
+       # mismatch strings
+       $cmd = "${bowtie}-debug $policy $color $strand $unalignArg $khits $offRateStr --orig \"$nstr\" $oneHit --sanity $patarg .tmp$seed $patstr";
+       print "$cmd\n";
+       $out = trim(runBacktick("$cmd 2>.tmp$seed.stderr"));
+       # Parse output to see if any of it is bad
+       @outlines = split('\n', $out);
+       for my $l (@outlines) {
+               checkRefVerbose($l, \@nts, \@cts, $alnuc);
+       }
+       
+       if($pe) {
+               # If search was for paired-end alignments, then verify the
+               # outcome using pe_verify.pl
+               my $pol = $policy;
+               $pol =~ s/--.*//;
+               my $patstr2 = $patstr;
+               $patstr2 =~ s/-1//;
+               $patstr2 =~ s/-2//;
+               my $col = ($color ? "-C" : "");
+               open TMP, ">.tmp$seed.pe_verify.cmd" || die;
+               $cmd = "perl scripts/pe_verify.pl --args=\"--quiet\" $col -d $pol .tmp$seed $patstr2";
+               print "$cmd\n";
+               print TMP "$cmd\n";
+               $out = trim(runBacktick("$cmd 2>.tmp$seed.pe_verify.stderr"));
+               close(TMP);
+               # Bad exitlevel?
+               if($? != 0) {
+                       print "scripts/pe_verify.pl exitlevel: $?\n";
+                       if($exitOnFail) {
+                               my $err = `cat .tmp$seed.pe_verify.stderr 2> /dev/null`;
+                               print "Stdout:\n$out\nStderr:\n$err\n";
+                               exit 1;
+                       }
+                       return 0;
+               }
+       }
+       
+       if(!$pe && $policy =~ /--best/) {
+               my $col = ($color ? "-C" : "");
+               $cmd = "perl scripts/best_verify.pl -d $policy $col .tmp$seed $patstr";
+               print "$cmd\n";
+               $out = trim(runBacktick("$cmd 2>.tmp$seed.best_verify.stderr"));
+               
+               if($? != 0) {
+                       print "scripts/best_verify.pl exitlevel: $?\n";
+                       if($exitOnFail) {
+                               my $err = `cat .tmp$seed.best_verify.stderr 2> /dev/null`;
+                               print "Stdout:\n$out\nStderr:\n$err\n";
+                               exit 1;
+                       }
+                       return 0;
+               }
+       }
+               
+       # Run the reconciler to ensure that --un, --max, and --al had
+       # sane output
+       # .tmp$seed.verbose.out
+       if($format >= 0 && $format <= 2 && $unalignReconArg ne "") {
+               deleteReadParts();
+               my $cmd = "${bowtie} $policy $color $strand $unalignArg $khits $offRateStr --orig \"$nstr\" $oneHit --sanity $patarg .tmp$seed $patstr .tmp$seed.verbose.out";
+               print "$cmd\n";
+               run($cmd) == 0 || die "Error performing reconciler run\n";
+               $khits =~ s/--strata --best//;
+               $patarg =~ s/--integer-quals//;
+               $unalignReconArg =~ /\.tmp\.un/ || die;
+               if($pe) {
+                       $patstr =~ s/-1//;
+                       $patstr =~ s/-2//;
+                       $cmd = "perl scripts/reconcile_alignments_pe.pl $color $patarg $khits $patstr .tmp$seed.verbose.out $unalignReconArg";
+                       print "$cmd\n";
+                       run($cmd) == 0 || die "Failed to reconcile";
+               } else {
+                       $cmd = "perl scripts/reconcile_alignments.pl $color $patarg $khits $patstr .tmp$seed.verbose.out $unalignReconArg";
+                       print "$cmd\n";
+                       run($cmd) == 0 || die "Failed to reconcile";
+               }
+       }
+       
+       # Success
+       return 1;
+}
+
+my $pass = 0;
+my $tests = 0;
+my $fail = 0;
+
+for(; $outer > 0; $outer--) {
+
+       # Generate random parameters
+       my $offRate = "";
+       if(int(rand(2)) == 0) {
+               $offRate = int(rand(16));
+       }
+       my $ftabChars = "";
+       if(int(rand(2)) == 0) {
+               $ftabChars = 1 + int(rand(8));
+       }
+
+       # Generate random text(s)
+       my $nt = int(rand(10)) + 1;
+       my $tstr = '', $cstr = '';
+       my @nts;
+       my @cts;
+       
+       # For each reference sequence...
+       for(my $i = 0; $i < $nt; $i++) {
+               my $tlen = $tbase + int(rand($trand));
+               # Add some all-gap references to try to confuse bowtie-build
+               # and bowtie-inspect
+               my $tt;
+               if(rand() < 0.15) {
+                       $tt = 'N' x $tlen;
+                       push(@nts, $tt);
+                       push(@cts, colorize($tt, 1));
+                       my $newt = randGap() . $tt . randGap();
+                       $tstr .= $newt;
+                       $cstr .= colorize($newt, 1);
+                       $tstr .= ",";
+                       $cstr .= ",";
+               }
+               $tt = randDna($tlen); # add text meat
+               push(@nts, $tt);
+               push(@cts, colorize($tt, 1));
+               my $newt = randGap() . $tt . randGap();
+               $tstr .= $newt;
+               $cstr .= colorize($newt, 1);
+               if($i < $nt-1) {
+                       $tstr .= ",";
+                       $cstr .= ",";
+               }
+       }
+       
+       my $color = (int(rand(2)) == 0);
+       
+       # Run the command to build the Ebwt from the random text
+       $pass += build($tstr, $color, $offRate, $ftabChars);
+       last if(++$tests > $limit);
+
+       my $in = $inner;
+       for(; $in >= 0; $in--) {
+               # Paired-end?
+               my $pe = (int(rand(2)) == 0);
+               $pe = 1 if $pairedEndOnly;
+               # Generate random pattern(s) based on text
+               my $pfinal1 = '';
+               my $pfinal2 = '';
+               # Decide number of patterns to generate
+               my $np = int(rand(30)) + 1;
+               for(my $i = 0; $i < $np; $i++) {
+                       # Pick a text
+                       my $tt = $nts[int(rand($#nts))];
+                       # Pick a length
+                       my $pl;
+                       my $plen;
+                       my $pr;
+                       my $p1;
+                       my $p2;
+                       if($pe) {
+                               # Pick a left-hand offset for the insert
+                               my $il = int(rand(length($tt))) - 10;
+                               # Pick a length for the insert
+                               my $ilen = int(rand($irand)) + $ibase;
+                               $il = min($il, length($tt)-$ilen);
+                               my $ir = min($il + $ilen, length($tt));
+                               my $is = substr $tt, $il, $ir - $il;
+                               # Pick a length for the #1 mate
+                               my $plen1 = int(rand($prand)) + $pbase;
+                               # Pick a length for the #2 mate
+                               my $plen2 = int(rand($prand)) + $pbase;
+                               $p1 = substr $is, 0, $plen1;
+                               $is = reverse $is;
+                               $p2 = substr $is, 0, $plen2;
+                               $p2 = reverse $p2;
+                               $p2 = revcomp($p2);
+                       } else {
+                               # Pick a length for the read
+                               $plen = int(rand($prand)) + $pbase;
+                               $pl = int(rand(length($tt))) - 10;
+                               $pl = max($pl, $color ? 5 : 4);
+                               $pl = min($pl, length($tt));
+                               $pr = min($pl + $plen, length($tt));
+                               $p1 = substr $tt, $pl, $pr - $pl;
+                       }
+                       # Check for empty pattern or pattern that spans a comma
+                       if(length($p1) < ($color ? 5 : 4) || index($p1, ",") != -1) {
+                               $i--; next;
+                       }
+                       if($pe && (length($p2) < ($color ? 5 : 4) || index($p2, ",") != -1)) {
+                               $i--; next;
+                       }
+                       # Optionally add nucleotide changes to pattern
+                       if($i > 0) {
+                               my $nummms = int(rand($color ? 3 : 5));
+                               for(my $j = 0; $j < $nummms; $j++) {
+                                       substr($p1, int(rand(length($p1))), 1) = randDna(1);
+                               }
+                               if($pe) {
+                                       $nummms = int(rand(4));
+                                       for(my $j = 0; $j < $nummms; $j++) {
+                                               substr($p2, int(rand(length($p2))), 1) = randDna(1);
+                                       }
+                               }
+                       }
+                       # Possibly reverse complement it
+                       if((int(rand(2)) == 0)) {
+                               $p1 = revcomp($p1);
+                               if($pe) {
+                                       $p2 = revcomp($p2);
+                                       my $ptmp = $p1;
+                                       $p1 = $p2;
+                                       $p2 = $ptmp;
+                               }
+                       }
+                       $p1 =~ tr/MRWSYKVHDBX/N/;
+                       if($color) {
+                               defined($p1) || die;
+                               !$pe || defined($p2) || die;
+                               my ($nize1, $nize2) = (int(rand(2)) == 0, int(rand(2)) == 0);
+                               $p1 = colorize($p1, $nize1);
+                               $p2 = colorize($p2, $nize2) if $pe;
+                               # Optionally add color changes to pattern
+                               if($i > 0) {
+                                       my $nummms = int(rand(3));
+                                       for(my $j = 0; $j < $nummms; $j++) {
+                                               my $r = randColor(1);
+                                               $r = nucencode($r) if $nize1;
+                                               substr($p1, int(rand(length($p1))), 1) = $r;
+                                       }
+                                       if($pe) {
+                                               $nummms = int(rand(4));
+                                               for(my $j = 0; $j < $nummms; $j++) {
+                                                       my $r = randColor(1);
+                                                       $r = nucencode($r) if $nize2;
+                                                       substr($p2, int(rand(length($p2))), 1) = $r;
+                                               }
+                                       }
+                               }
+                       }
+                       # Add valid random quality values
+                       $p1 = addQual($p1);
+                       $pfinal1 .= $p1;
+                       $pfinal1 .= "," if($i < $np-1);
+                       if($pe) {
+                               $p2 =~ tr/MRWSYKVHDBX/N/;
+                               $p2 = addQual($p2);
+                               $pfinal2 .= $p2;
+                               $pfinal2 .= "," if($i < $np-1);
+                       }
+               }
+               
+               # Run the command to search for the pattern from the Ebwt
+               my $oneHit = (int(rand(3)) == 0);
+               my $policy = pickPolicy($pe);
+               my $expectResult = 1;
+               if(!$pe) {
+                       for(my $i = 0; $i < length($pfinal1); $i++) {
+                               my $c = substr($pfinal1, $i, 1);
+                               last if($c eq ',');
+                               if($c ne 'A' && $c ne 'C' && $c ne 'G' && $c ne 'T') {
+                                       $expectResult = 0;
+                                       last;
+                               }
+                       }
+               } else {
+                       $expectResult = 0;
+               }
+               $pass += search($tstr, $cstr, $pe, $color, $pfinal1, $pfinal2, $policy, $oneHit, $expectResult, $offRate); # require 1 or more results
+               last if(++$tests > $limit);
+       }
+
+       $in = $inner;
+       for(; $in >= 0; $in--) {
+               my $pe = (int(rand(2)) == 0);
+               # Generate random pattern *not* based on text
+               my $pfinal1 = '';
+               my $pfinal2 = '';
+               my $np = int(rand(10)) + 1;
+               for(my $i = 0; $i < $np; $i++) {
+                       my $plen = int(rand($prand)) + $pbase;
+                       my $p1 = randDna($plen);
+                       $plen = int(rand($prand)) + $pbase;
+                       my $p2 = randDna($plen);
+                       $p1 =~ tr/MRWSYKVHDBX/N/;
+                       $p1 = colorize($p1, int(rand(2)) == 0) if $color;
+                       $p1 = addQual($p1);
+                       $p2 =~ tr/MRWSYKVHDBX/N/ if $pe;
+                       $p2 = colorize($p2, int(rand(2)) == 0) if $color && $pe;
+                       $p2 = addQual($p2) if $pe;
+                       $pfinal1 .= $p1;
+                       $pfinal2 .= $p2 if $pe;
+                       if($i < $np-1) {
+                               $pfinal1 .= ",";
+                               $pfinal2 .= "," if $pe;
+                       }
+               }
+
+               # Run the command to search for the pattern from the Ebwt
+               my $oneHit = (int(rand(3)) == 0);
+               my $policy = pickPolicy($pe);
+               $pass += search($tstr, $cstr, $pe, $color, $pfinal1, $pfinal2, $policy, $oneHit, 0, $offRate); # do not require any results
+               last if(++$tests > $limit);
+       }
+}
+
+print "$pass tests passed, $fail failed\n";
+exit 1 if $fail > 0;
diff --git a/scripts/random_bowtie_tests.sh b/scripts/random_bowtie_tests.sh
new file mode 100755 (executable)
index 0000000..7bde992
--- /dev/null
@@ -0,0 +1,37 @@
+#!/bin/sh
+
+SEED="$1"
+if [ -z "$SEED" ] ; then
+       SEED=77
+else
+       shift
+fi
+
+if [ "$1" == "-c" ] ; then
+       rm -f bowtie bowtie-debug bowtie-build-debug bowtie-inspect-debug
+       shift
+fi
+
+make $* bowtie bowtie-debug bowtie-build-debug bowtie-inspect-debug
+
+# Args: seed, outer, inner, tbase, trand, pbase, prand
+
+echo "Short test emphasizing searching..."
+perl scripts/random_bowtie_tests.pl $SEED 1000 200 300 200 8 30
+if [ "$?" != "0" ] ; then echo "Error!" ; exit 1 ; fi
+echo "Short test emphasizing searching with short patterns..."
+perl scripts/random_bowtie_tests.pl $SEED 1000 200 300 200 6 6
+if [ "$?" != "0" ] ; then echo "Error!" ; exit 1 ; fi
+echo "Short test emphasizing searching with long patterns..."
+perl scripts/random_bowtie_tests.pl $SEED 1000 200 300 200 30 20
+if [ "$?" != "0" ] ; then echo "Error!" ; exit 1 ; fi
+echo "Short test emphasizing building..."
+perl scripts/random_bowtie_tests.pl $SEED 1200 10 300 200 8 30
+if [ "$?" != "0" ] ; then echo "Error!" ; exit 1 ; fi
+
+echo "Long test emphasizing searching..."
+perl scripts/random_bowtie_tests.pl $SEED 5000 200 300 200 8 30
+if [ "$?" != "0" ] ; then echo "Error!" ; exit 1 ; fi
+echo "Long test emphasizing building..."
+perl scripts/random_bowtie_tests.pl $SEED 6000 10 300 200 8 30
+if [ "$?" != "0" ] ; then echo "Error!" ; exit 1 ; fi
diff --git a/scripts/random_bowtie_tests_p.sh b/scripts/random_bowtie_tests_p.sh
new file mode 100755 (executable)
index 0000000..76e2585
--- /dev/null
@@ -0,0 +1,28 @@
+#!/bin/sh
+
+# Spawn a bunch of parallel processes running random_bowtie_tests.sh
+# and dumping results into text files.  Run from the bowtie dir.
+
+NUM=$1
+if [ -z "$NUM" ] ; then
+       NUM=4
+fi
+
+make bowtie bowtie-debug bowtie-build-debug bowtie-inspect-debug
+if [ "$?" != "0" ] ; then
+       echo "Error during build"
+       exit 1
+fi
+
+echo > .randpids
+while [ $NUM -gt 0 ] ; do
+       echo "Spawning: sh scripts/random_bowtie_tests.sh $NUM > .randstdout.$NUM 2> .randstderr.$NUM &"
+       sh scripts/random_bowtie_tests.sh $NUM > .randstdout.$NUM 2> .randstderr.$NUM &
+       echo $! >> .randpids
+       NUM=`expr $NUM - 1`
+done
+
+for p in `cat .randpids` ; do
+       echo "Waiting for pid $p"
+       wait $p
+done
diff --git a/scripts/reconcile_alignments.pl b/scripts/reconcile_alignments.pl
new file mode 100755 (executable)
index 0000000..44ad030
--- /dev/null
@@ -0,0 +1,330 @@
+#!/usr/bin/perl -w
+
+# 
+# reconcile_alignments.pl
+#
+#  Author: Ben Langmead
+#    Date: 6/14/2009
+#
+# Reconcile and sanity-check an input read file, an output hits file
+# (the default, verbose kind), and an output unaligned-read file
+# (generated with the --un option) to be sure they're consistent with
+# each other.  If the --max option was used during alignment, then the
+# --max file should also be specified.  If the --al option was also
+# used, specify the --al file as the last argument to include it in the
+# sanity check.
+#
+# Usage: perl reconcile_alignments.pl \
+#            [-k <int>] [-a] [-m <int>] \
+#            [-u <int>] [-f|-q|-r] \
+#            <input read file> \
+#            <hits file> \
+#            <--un file> \
+#            <--max file> \
+#            <--al file>
+#
+
+use strict;
+use warnings;
+use Getopt::Long;
+Getopt::Long::Configure ("no_ignore_case");
+
+my $k = undef;
+my $m = undef;
+my $M = undef;
+my $u = undef;
+my $f = undef;
+my $r = undef;
+my $a = undef;
+my $q = undef;
+my $C = undef;
+my $colCseq = undef;
+my $colCqual = undef;
+my $colCedit = undef;
+
+GetOptions ("k=i" => \$k,
+            "m=i" => \$m,
+            "M=i" => \$M,
+            "u=i" => \$u,
+            "q"   => \$q,
+            "f"   => \$f,
+            "a"   => \$a,
+            "C"   => \$C,
+            "col-cseq" => \$colCseq,
+            "col-cedit" => \$colCedit,
+            "col-cqual" => \$colCqual,
+            "r"   => \$r) || die "One or more errors parsing script arguments";
+
+my $khits = 1;
+$khits = int($k) if defined($k);
+$khits = 999999 if $a;
+my $maxhits = 999999;
+$maxhits = int($m) if defined($m);
+$maxhits = int($M) if defined($M);
+my $num_reads = -1;
+$num_reads = $u if defined($u);
+
+my $format = "fastq";
+$format = "fasta" if $f;
+$format = "raw" if $r;
+
+# Utility function that returns the reverse complement of its argument
+sub reverseComp($) {
+       my $r = shift;
+       $r = reverse($r);
+       $r =~ tr/aAcCgGtT/tTgGcCaA/;
+       return $r;
+}
+
+##
+# Encode colors as proxy nucleotides
+#
+sub nucencode($) {
+       my $s = shift;
+       my %nmap = ("0" => "A", "1" => "C", "2" => "G", "3" => "T", "." => "N",
+                   "A" => "A", "C" => "C", "G" => "G", "T" => "T", "N" => "N");
+       my $ret = "";
+       for(my $i = 0; $i < length($s); $i++) {
+               my $c = uc substr($s, $i, 1);
+               defined($nmap{$c}) || die;
+               $ret .= $nmap{$c};
+       }
+       return $ret;
+}
+
+defined($ARGV[0]) || die "Must specify input read file as first arg";
+defined($ARGV[1]) || die "Must specify alignment file as second arg";
+defined($ARGV[2]) || die "Must specify unaligned-read file as third arg";
+
+my $read_files  = $ARGV[0];
+my $algn_file   = $ARGV[1];
+my $un_file     = $ARGV[2];
+my $max_file    = "";
+$max_file = $ARGV[3] if defined($ARGV[3]);
+my $al_file     = "";
+$al_file = $ARGV[4] if defined($ARGV[4]);
+
+my %hits_hash = ();
+my %al_hash = ();
+my %un_hash = ();
+my %max_hash = ();
+
+# Go through Bowtie-produced alignments
+my $hits = 0;
+my $distinctHits = 0;
+if(-f $algn_file) {
+       open(ALGN, $algn_file) || die "Could not open alignment file $algn_file\n";
+       my %num_hash = (); # for checking -k/-m
+       while(<ALGN>) {
+               my @s = split /\t/;
+               my $name = $s[0];
+               my $add_read = 1;
+               $hits++;
+               if($khits > 1) {
+                       if(defined($num_hash{$name})) {
+                               $num_hash{$name}++;
+                               $add_read = 0; # already added this one
+                       } else {
+                               $num_hash{$name} = 1;
+                       $distinctHits++;
+                       }
+                       if($num_hash{$name} > $khits) {
+                               die "Number of alignments for read $name exceeds -k limit of $khits";
+                       } elsif($num_hash{$name} > $maxhits) {
+                               die "Number of alignments for read $name exceeds -m limit of $maxhits";
+                       }
+               } else {
+                       defined($hits_hash{$name}{seq}) && 
+                               die "Read w/ name $name appears twice in alignment file";
+                       $distinctHits++;
+               }
+               if($add_read) {
+                       my $fw = ($s[1] eq "+");
+                       my $seq = $s[4];
+                       my $qual = $s[5];
+                       if(!$fw) {
+                               # Reverse / reverse-comp
+                               if($C && $colCseq) {
+                                       $seq = reverse $seq;
+                               } else {
+                                       $seq = reverseComp($seq);
+                               }
+                               $qual = reverse $qual;
+                       }
+                       $hits_hash{$name}{seq} = $seq;
+                       $hits_hash{$name}{qual} = (($format eq "fasta")? "" : $qual);
+               }
+       }
+       close(ALGN);
+}
+
+sub get_read($) {
+       my $fh = shift;
+       my ($name, $seq, $qual) = ("", "", "");
+       if($format eq "fastq") {
+               $name = <$fh>;
+               return ("", "", "") unless defined($name);
+               chomp($name);
+               $name = substr($name, 1);
+               $seq = <$fh>;
+               chomp($seq);
+               my $tmp = <$fh>;
+               $qual = <$fh>;
+               chomp($qual);
+       } elsif($format eq "fasta") {
+               $name = <$fh>;
+               return ("", "", "") unless defined($name);
+               chomp($name);
+               $name = substr($name, 1);
+               $seq = <$fh>;
+               chomp($seq);
+       } else {
+               $format eq "raw" || die;
+               die "Raw format not supported in reconcile_alignment.pl; read names required";
+       }
+       return ($name, $seq, $qual);
+}
+
+# Go through entries of the FASTQ file for the unaligned reads
+my $uns = 0;
+if(-f $un_file) {
+       my $UN;
+       open $UN, $un_file || die "Could not open unaligned-read file $un_file\n";
+       while(1) {
+               my ($name, $seq, $qual) = get_read($UN);
+               last if $name eq "";
+               $uns++;
+               unless($M) {
+                       defined($hits_hash{$name}) &&
+                               die "Read $name appears both in hits file $algn_file and in --un file $un_file";
+               } elsif(defined($hits_hash{$name})) {
+                       $distinctHits--;
+                       delete $hits_hash{$name};
+               }
+               defined($un_hash{$name}) &&
+                       die "Read $name appears more than once in --un file $un_file";
+               $un_hash{$name}{seq} = $seq;
+               $un_hash{$name}{qual} = $qual;
+       }
+       close($UN);
+}
+
+my $maxs = 0;
+if($max_file ne "" && -f $max_file) {
+       my $MAX;
+       open $MAX, $max_file || die "Could not open maxed-read file $max_file\n";
+       # Go through entries of the MAX file for the unaligned reads
+       while(1) {
+               my ($name, $seq, $qual) = get_read($MAX);
+               last if $name eq "";
+               $maxs++;
+               if($M) {
+                       defined($hits_hash{$name}) ||
+                               die "Read $name appears in --max file $max_file but not in alignment file $algn_file";
+                       $distinctHits--;
+                       delete $hits_hash{$name};
+               } else {
+                       defined($hits_hash{$name}) &&
+                               die "Read $name appears both in hits file $algn_file and in --max file $max_file";
+               }
+               defined($un_hash{$name})   &&
+                       die "Read $name appears both in --un file $un_file and in --max file $max_file";
+               defined($max_hash{$name})  &&
+                       die "Read $name appears in --max file $max_file more than once";
+               $max_hash{$name}{seq} = $seq;
+               $max_hash{$name}{qual} = $qual;
+       }
+       close($MAX);
+}
+
+my $als = 0;
+if($al_file ne "") {
+       my $AL;
+       open $AL, $al_file;
+       # Go through entries of the MAX file for the unaligned reads
+       while(1) {
+               my ($name, $seq, $qual) = get_read($AL);
+               last if $name eq "";
+               $als++;
+               defined($hits_hash{$name}) ||
+                       die "Read $name appears --al file $al_file but not in hits file $algn_file";
+               defined($un_hash{$name})   &&
+                       die "Read $name appears both in --un file $un_file and in --al file $al_file";
+               defined($max_hash{$name})  &&
+                       die "Read $name appears both in --max file $max_file and in --al file $al_file";
+               defined($al_hash{$name})  &&
+                       die "Read $name appears in --al file $al_file more than once";
+               $al_hash{$name}{seq} = $seq;
+               $al_hash{$name}{qual} = $qual;
+       }
+       close($AL);
+}
+
+my @read_list = split(/,/, $read_files);
+my $reads = 0;
+for my $read_file (@read_list) {
+       # Go through entries of the FASTQ file for the input reads and make
+       # sure that each entry is mirrored by an entry either in the alignment
+       # file or in the unaligned-read file.
+       my $READ;
+       open $READ, $read_file;
+       my $patid = 0;
+       while(1) {
+               my ($name, $seq, $qual) = get_read($READ);
+               last if $name eq "";
+               $reads++;
+               if(defined($hits_hash{$name})) {
+                       my $alseq = $seq;
+                       if($C && $colCseq) {
+                               $alseq = nucencode($seq);
+                       }
+                       if(!$C || $colCseq) {
+                               $hits_hash{$name}{seq} eq $alseq ||
+                                       die "Read $name in hits file $algn_file has different sequence ".
+                                           "from input read.\nHit: \"$hits_hash{$name}{seq}\"\nInput: \"$alseq\"";
+                       }
+                       # Qualities can be legitimately different
+                       #$hits_hash{$name}{qual} eq $qual ||
+                       #       die "Read $name in hits file $algn_file has different sequence ".
+                       #           "from input read.\nHit: $hits_hash{$name}{qual}\nInput: $qual";
+               }
+               elsif(defined($un_hash{$name})) {
+                       $un_hash{$name}{seq} eq $seq ||
+                               die "Read $name in --un file $un_file has different sequence ".
+                                   "from input read.\nHit: \"$un_hash{$name}{seq}\"\nInput: \"$seq\"";
+                       $un_hash{$name}{qual} eq $qual ||
+                               die "Read $name in --un file $un_file has different sequence ".
+                                   "from input read.\nHit: \"$un_hash{$name}{qual}\"\nInput: \"$qual\"";
+               }
+               elsif(defined($max_hash{$name})) {
+                       $max_hash{$name}{seq} eq $seq ||
+                               die "Read $name in --max file $max_file has different sequence ".
+                                   "from input read.\nHit: \"$max_hash{$name}{seq}\"\nInput: \"$seq\"";
+                       $max_hash{$name}{qual} eq $qual ||
+                               die "Read $name in --max file $max_file has different sequence ".
+                                   "from input read.\nHit: \"$max_hash{$name}{qual}\"\nInput: \"$qual\"";
+               }
+               else {
+                       die "Read with name $name appears in input, but not in any of the output files";
+               }
+               if(defined($al_hash{$name})) {
+                       $al_hash{$name}{seq} eq $seq ||
+                               die "Read $name in --al file $al_file has different sequence ".
+                                   "from input read.\nHit: \"$al_hash{$name}{seq}\"\nInput: \"$seq\"";
+                       $al_hash{$name}{qual} eq $qual ||
+                               die "Read $name in --al file $al_file has different sequence ".
+                                   "from input read.\nHit: \"$al_hash{$name}{qual}\"\nInput: \"$qual\"";
+               }
+               $patid++;
+               last if $patid == $num_reads;
+       }
+       close($READ);
+}
+
+if($al_file ne "") {
+       $als == $distinctHits || die "number of --al $als does not match number of distinct hits $distinctHits";
+}
+$distinctHits + $uns + $maxs == $reads ||
+       die "distinct hits $distinctHits, --un $uns, --max $maxs doesn't add to reads $reads";
+
+print "PASSED; processed $hits hits, $reads reads, $uns --un, $maxs --max, $als --al\n";
diff --git a/scripts/reconcile_alignments_pe.pl b/scripts/reconcile_alignments_pe.pl
new file mode 100755 (executable)
index 0000000..cef3347
--- /dev/null
@@ -0,0 +1,482 @@
+#!/usr/bin/perl -w
+
+# 
+# reconcile_alignments_pe.pl
+#
+#  Author: Ben Langmead
+#    Date: 6/14/2009
+#
+# Reconcile and sanity-check an pair of input files, an output
+# alignment file (the default, verbose kind), and a pair of output
+# unaligned-read files (generated with the --un option) to be sure
+# they're consistent with each other.  If the --max option was used
+# during alignment, then the --max files should also be specified.  If
+# the --al option was also used, specify the --al files as the last
+# arguments to include it in the sanity check.
+#
+# Usage: perl reconcile_alignments_pe.pl \
+#            [-k <int>] [-a] [-m <int>] \
+#            [-u <int>] [-v] [-q | -f | -r] \
+#            <input mate1 file> \
+#            <input mate2 file> \
+#            <alignment-file> \
+#            <--un file 1> \
+#            <--un file 2> \
+#            <--max file 1> \
+#            <--max file 2> \
+#            <--al file 1> \
+#            <--al file 2>
+#
+
+use strict;
+use warnings;
+use Getopt::Long;
+Getopt::Long::Configure ("no_ignore_case");
+
+my $khits = 1;
+my $allHits = 0;
+my $m = 999999;
+my $M = undef;
+my $u = -1;
+my $verbose = 0;
+my $fastq = 0;
+my $fasta = 0;
+my $raw = 0;
+my $C = undef;
+my $colCseq = undef;
+my $colCqual = undef;
+my $colCedit = undef;
+
+GetOptions("m=i" => \$m,
+           "M=i" => \$M,
+           "k=i" => \$khits,
+           "u=i" => \$u,
+           "a"   => \$allHits,
+           "v"   => \$verbose,
+           "q"   => \$fastq,
+           "f"   => \$fasta,
+           "C"   => \$C,
+           "col-cseq" => \$colCseq,
+           "col-cedit" => \$colCedit,
+           "col-cqual" => \$colCqual,
+           "e"   => \$raw) || die "Bad arguments";
+
+$m = $M if $M;
+
+$fastq = 1 if ($fastq + $fasta + $raw == 0);
+
+$khits = 999999 if $allHits;
+
+print "khits: $khits\nmaxhits: $m\nnum_reads: $u\n" if $verbose;
+
+# Utility function that returns the reverse complement of its argument
+sub reverseComp($) {
+       my $r = shift;
+       $r = reverse($r);
+       $r =~ tr/aAcCgGtT/tTgGcCaA/;
+       return $r;
+}
+
+defined($ARGV[0]) || die "Must specify input read file 1 as first arg";
+defined($ARGV[1]) || die "Must specify input read file 2 as first arg";
+defined($ARGV[2]) || die "Must specify alignment file as second arg";
+defined($ARGV[3]) || die "Must specify unaligned-read file 1 as third arg";
+defined($ARGV[4]) || die "Must specify unaligned-read file 2 as third arg";
+
+my $read1_file   = $ARGV[0];
+my $read2_file   = $ARGV[1];
+my $hits_file    = $ARGV[2];
+my $un1_file = $ARGV[3];
+my $un2_file = $ARGV[4];
+my $max1_file = "";
+$max1_file = $ARGV[5] if defined($ARGV[5]);
+my $max2_file = "";
+$max2_file = $ARGV[6] if defined($ARGV[6]);
+my $al1_file = "";
+$al1_file  = $ARGV[7] if defined($ARGV[7]);
+my $al2_file = "";
+$al2_file = $ARGV[8] if defined($ARGV[8]);
+
+if($verbose) {
+       print "read1: $read1_file\nread2: $read2_file\nalignments: $hits_file\n";
+       print "unaligned reads 1: $un1_file\nunaligned reads 2: $un2_file\n";
+       print "max reads 1: $max1_file\nmax reads 2: $max2_file\n";
+}
+
+sub get_read($) {
+       my $fh = shift;
+       my ($name, $seq, $qual) = ("", "", "");
+       if($fastq) {
+               $name = <$fh>;
+               return ("", "", "") unless defined($name);
+               chomp($name);
+               $name = substr($name, 1);
+               $seq = <$fh>;
+               chomp($seq);
+               my $tmp = <$fh>;
+               $qual = <$fh>;
+               chomp($qual);
+       } elsif($fasta) {
+               $name = <$fh>;
+               return ("", "", "") unless defined($name);
+               chomp($name);
+               $name = substr($name, 1);
+               $seq = <$fh>;
+               chomp($seq);
+       } else {
+               $raw || die;
+               die "Raw format not supported in reconcile_alignment_pe.pl; read names required";
+       }
+       return ($name, $seq, $qual);
+}
+
+##
+# Encode colors as proxy nucleotides
+#
+sub nucencode($) {
+       my $s = shift;
+       my %nmap = ("0" => "A", "1" => "C", "2" => "G", "3" => "T", "." => "N",
+                   "A" => "A", "C" => "C", "G" => "G", "T" => "T", "N" => "N");
+       my $ret = "";
+       for(my $i = 0; $i < length($s); $i++) {
+               my $c = uc substr($s, $i, 1);
+               defined($nmap{$c}) || die;
+               $ret .= $nmap{$c};
+       }
+       return $ret;
+}
+
+my %hits_hash = ();
+my %un_hash = ();
+my %max_hash = ();
+my %al_hash = ();
+
+# Go through Bowtie-produced paired-end alignments
+my $hits = 0;
+my $distinctHits = 0;
+open(HITS, $hits_file);
+{
+       my %num_hash = ();
+       while(<HITS>) {
+               # Read two alignments at a time, cleave off the trailing /1 or
+               # /2 and assert that they have the same base name.
+               my $l1 = $_;
+               chomp($l1);
+               my @s1 = split(/[\t]/, $l1);
+               my $l2 = <HITS>;
+               chomp($l2);
+               my @s2 = split(/[\t]/, $l2);
+               my $name1 = $s1[0];
+               my $name2 = $s2[0];
+               $hits++;
+               my @name1s = split(/\//, $name1);
+               my @name2s = split(/\//, $name2);
+               $#name1s == $#name2s || die "Read names formatted differently: $name1, $name2";
+               $name1s[$#name1s] eq "1" || $name1s[$#name1s] eq "2" || die "Bad suffix on read name: $name1";
+               $name2s[$#name2s] eq "1" || $name2s[$#name2s] eq "2" || die "Bad suffix on read name: $name2";
+               $name1s[$#name1s] ne $name2s[$#name2s] || die "Read names have same suffix: $name1, $name2";
+               $name1s[0] eq $name2s[0] || die "Names don't match: $name1,$name2";
+               my $swap = 0;
+               $swap = 1 if $name1s[$#name1s] eq "2";
+               my $read_name = $name1s[0];
+               my $add_read = 1;
+               # Check that the number of times that the basename has appeared
+               # in a paired alignment does not violate the -k or -m policies.
+               if($khits > 1) {
+                       # Update num_hash
+                       if(defined($num_hash{$read_name})) {
+                               $num_hash{$read_name}++;
+                               $add_read = 0; # already added this one
+                       } else {
+                               $num_hash{$read_name} = 1;
+                               $distinctHits++;
+                       }
+                       # Check whether num_hash violates -k
+                       if($num_hash{$read_name} > $khits) {
+                               die "Number of alignments for read $read_name exceeds -k limit of $khits";
+                       }
+                       # Check whether num_hash violates -m
+                       if($num_hash{$read_name} > $m) {
+                               die "Number of alignments for read $read_name exceeds -m limit of $m";
+                       }
+               } else {
+                       defined($hits_hash{$read_name}) &&
+                               die "Read w/ name $read_name appears twice in alignment file";
+                       $distinctHits++;
+               }
+               if($add_read) {
+                       my $fw1 = ($s1[1] eq "+");
+                       my $seq1 = $s1[4];
+                       my $qual1 = $s1[5];
+                       if(!$fw1) {
+                               # Reverse / reverse-comp
+                               if($C && $colCseq) {
+                                       $seq1 = reverse $seq1;
+                               } else {
+                                       $seq1 = reverseComp($seq1);
+                               }
+                               $qual1 = reverse $qual1;
+                       }
+                       my $fw2 = ($s2[1] eq "+");
+                       my $seq2 = $s2[4];
+                       my $qual2 = $s2[5];
+                       if(!$fw2) {
+                               # Reverse / reverse-comp
+                               if($C && $colCseq) {
+                                       $seq2 = reverse $seq2;
+                               } else {
+                                       $seq2 = reverseComp($seq2);
+                               }
+                               $qual2 = reverse $qual2;
+                       }
+                       if(!$swap) {
+                               $hits_hash{$read_name}{seq1} = $seq1;
+                               $hits_hash{$read_name}{qual1} = $fasta ? "" : $qual1;
+                               $hits_hash{$read_name}{seq2} = $seq2;
+                               $hits_hash{$read_name}{qual2} = $fasta ? "" : $qual2;
+                       } else {
+                               $hits_hash{$read_name}{seq1} = $seq2;
+                               $hits_hash{$read_name}{qual1} = $fasta ? "" : $qual2;
+                               $hits_hash{$read_name}{seq2} = $seq1;
+                               $hits_hash{$read_name}{qual2} = $fasta ? "" : $qual1;
+                       }
+               }
+       }
+       # Drop %num_hash - don't need it anymore
+}
+close(HITS);
+
+# Go through entries of the FASTQ file for the unaligned reads
+my $uns = 0;
+my ($UN1, $UN2);
+open $UN1, $un1_file;
+open $UN2, $un2_file;
+while(1) {
+       my ($name1, $seq1, $qual1) = get_read($UN1);
+       my ($name2, $seq2, $qual2) = get_read($UN2);
+       if($name1 eq "") {
+               $name2 eq "" || die;
+               last;
+       }
+       my @ls1 = split(/\//, $name1);
+       my @ls2 = split(/\//, $name2);
+       $uns++;
+       $#ls1 == $#ls2 || die "Differently-formatted names: $name1, $name2";
+       $ls1[0] eq $ls2[0] || die "Different names for paired alignments: $ls1[0], $ls2[0]";
+       my $name = $ls1[0];
+       # Where have we seen it before?  Nowhere, hopefully
+       if($M) {
+               if(defined($hits_hash{$name})) {
+                       delete $hits_hash{$name};
+                       $distinctHits--;
+               }
+       } else {
+               defined($hits_hash{$name}) &&
+                       die "Read $name appears both in hits file $hits_file and in --un file $un1_file/$un2_file";
+       }
+       defined($un_hash{$name}) &&
+               die "Read $name appears in --un file $un1_file/$un2_file more than once";
+       # Insert summary of the pair that didn't align
+       $un_hash{$name}{seq1} = $seq1;
+       $un_hash{$name}{qual1} = $qual1;
+       $un_hash{$name}{seq2} = $seq2;
+       $un_hash{$name}{qual2} = $qual2;
+}
+close($UN1);
+close($UN2);
+
+#
+# Go through entries of the FASTQ file for the reads with a number of
+# reportable alignments that exceeded the -m limit.
+#
+my $maxs = 0;
+if($max1_file ne "") {
+       $max2_file ne "" || die;
+       my ($MAX1, $MAX2);
+       my $bad = 0;
+       open ($MAX1, $max1_file) || ($bad = 1);
+       open ($MAX2, $max2_file) || ($bad = 1);
+       while(!$bad) {
+               my ($name1, $seq1, $qual1) = get_read($MAX1);
+               my ($name2, $seq2, $qual2) = get_read($MAX2);
+               if($name1 eq "") {
+                       $name2 eq "" || die;
+                       last;
+               }
+               $maxs++;
+               my @ls1 = split(/\//, $name1);
+               my @ls2 = split(/\//, $name2);
+               $#ls1 == $#ls2 || die "Differently-formatted names: $name1, $name2";
+               $ls1[0] eq $ls2[0] || die "Different names for paired alignments: $ls1[0], $ls2[0]";
+               my $name = $ls1[0];
+               # Where have we seen it before?  Nowhere, hopefully
+               if($M) {
+                       defined($hits_hash{$name}) ||
+                               die "Read $name appears in --max file $max1_file/$max2_file but not in hits file $hits_file in -M mode";
+                       delete $hits_hash{$name};
+                       $distinctHits--;
+               } else {
+                       defined($hits_hash{$name}) &&
+                               die "Read $name appears in hits file $hits_file and in --max file $max1_file/$max2_file";
+               }
+               defined($un_hash{$name}) &&
+                       die "Read $name appears in --un file $un1_file/$un2_file and in --max file $max1_file/$max2_file";
+               defined($max_hash{$name}) &&
+                       die "Read $name appears in --max file $max1_file/$max2_file more than once";
+               # Insert summary of the pair that didn't align
+               $max_hash{$name}{seq1} = $seq1;
+               $max_hash{$name}{qual1} = $qual1;
+               $max_hash{$name}{seq2} = $seq2;
+               $max_hash{$name}{qual2} = $qual2;
+       }
+       close($MAX1);
+       close($MAX2);
+}
+
+#
+# Go through entries of the 
+#
+my $als = 0;
+if($al1_file ne "") {
+       $al2_file ne "" || die;
+       my ($AL1, $AL2);
+       my $bad = 0;
+       open ($AL1, $al1_file) || ($bad = 1);
+       open ($AL2, $al2_file) || ($bad = 1);
+       while(!$bad) {
+               my ($name1, $seq1, $qual1) = get_read($AL1);
+               my ($name2, $seq2, $qual2) = get_read($AL2);
+               if($name1 eq "") {
+                       $name2 eq "" || die;
+                       last;
+               }
+               $als++;
+               my @ls1 = split(/\//, $name1);
+               my @ls2 = split(/\//, $name2);
+               $#ls1 == $#ls2 || die "Differently-formatted names: $name1, $name2";
+               $ls1[0] eq $ls2[0] || die "Different names for paired alignments: $ls1[0], $ls2[0]";
+               my $name = $ls1[0];
+               defined($hits_hash{$name}) ||
+                       die "Read $name appears in --al file $al1_file/$al2_file but not in hits file $hits_file";
+               defined($un_hash{$name}) &&
+                       die "Read $name appears in --un file $un1_file/$un2_file and in --al file $al1_file/$al2_file";
+               defined($max_hash{$name}) &&
+                       die "Read $name appears in --max file $max1_file/$max2_file and in --al file $al1_file/$al2_file";
+               defined($al_hash{$name}) &&
+                       die "Read $name appears in --al file $al1_file/$al2_file more than once";
+               # Insert summary of the pair that didn't align
+               $al_hash{$name}{seq1} = $seq1;
+               $al_hash{$name}{qual1} = $qual1;
+               $al_hash{$name}{seq2} = $seq2;
+               $al_hash{$name}{qual2} = $qual2;
+       }
+       close($AL1);
+       close($AL2);
+}
+
+# Go through entries of the FASTQ file for the input reads and make
+# sure that each entry is mirrored by an entry either in the alignment
+# file or in the unaligned-read file.
+my ($READ1, $READ2);
+open $READ1, $read1_file;
+open $READ2, $read2_file;
+my $patid = 0;
+my $reads = 0;
+while(1) {
+       my ($name1, $seq1, $qual1) = get_read($READ1);
+       my ($name2, $seq2, $qual2) = get_read($READ2);
+       if($name1 eq "") {
+               $name2 eq "" || die;
+               last;
+       }
+       $reads++;
+       my @ls1 = split(/\//, $name1);
+       my @ls2 = split(/\//, $name2);
+       $#ls1 == $#ls2 || die "Differently-formatted names: $name1, $name2";
+       $ls1[0] eq $ls2[0] || die "Different names for paired alignments: $ls1[0], $ls2[0]";
+       my $name = $ls1[0];
+       if(defined($hits_hash{$name})) {
+               my $alseq1 = $seq1;
+               my $alseq2 = $seq2;
+               if($C && $colCseq) {
+                       $alseq1 = nucencode($seq1);
+                       $alseq2 = nucencode($seq2);
+               }
+               if(!$C || $colCseq) {
+                       $hits_hash{$name}{seq1} eq $alseq1 ||
+                               die "Read $name in alignment file has different _1 sequence than in ".
+                                   "input read file.\nAlgn: \"$hits_hash{$name}{seq1}\"\nInput: \"$alseq1\"";
+               }
+               # Qualities can be legitimately different
+               #$hits_hash{$name}{qual1} eq $qual1 ||
+               #       die "Read $name in alignment file has different _1 quals than in ".
+               #           "input read file.\nAlgn: $hits_hash{$name}{qual1}\nInput: $qual1";
+               if(!$C || $colCseq) {
+                       $hits_hash{$name}{seq2} eq $alseq2 ||
+                               die "Read $name in alignment file has different _2 sequence than in ".
+                                   "input read file.\nAlgn: \"$hits_hash{$name}{seq2}\"\nInput: \"$alseq2\"";
+               }
+               #$hits_hash{$name}{qual2} eq $qual2 ||
+               #       die "Read $name in alignment file has different _2 quals than in ".
+               #           "input read file.\nAlgn: $hits_hash{$name}{qual2}\nInput: $seq2";
+       }
+       elsif(defined($un_hash{$name})) {
+               $un_hash{$name}{seq1} eq $seq1 ||
+                       die "Read $name in --un file has different _1 sequence than in ".
+                           "input read file.\nAlgn: $un_hash{$name}{seq1}\nInput: $seq1";
+               $un_hash{$name}{qual1} eq $qual1 ||
+                       die "Read $name in --un file has different _1 quals than in ".
+                           "input read file.\nAlgn: $un_hash{$name}{qual1}\nInput: $qual1";
+               $un_hash{$name}{seq2} eq $seq2 ||
+                       die "Read $name in --un file has different _2 sequence than in ".
+                           "input read file.\nAlgn: $un_hash{$name}{seq2}\nInput: $seq2";
+               $un_hash{$name}{qual2} eq $qual2 ||
+                       die "Read $name in --un file has different _2 quals than in ".
+                           "input read file.\nAlgn: $un_hash{$name}{qual2}\nInput: $seq2";
+       }
+       elsif(defined($max_hash{$name})) {
+               $max_hash{$name}{seq1} eq $seq1 ||
+                       die "Read $name in --max file has different _1 sequence than in ".
+                           "input read file.\nAlgn: $max_hash{$name}{seq1}\nInput: $seq1";
+               $max_hash{$name}{qual1} eq $qual1 ||
+                       die "Read $name in --max file has different _1 quals than in ".
+                           "input read file.\nAlgn: $max_hash{$name}{qual1}\nInput: $qual1";
+               $max_hash{$name}{seq2} eq $seq2 ||
+                       die "Read $name in --max file has different _2 sequence than in ".
+                           "input read file.\nAlgn: $max_hash{$name}{seq2}\nInput: $seq2";
+               $max_hash{$name}{qual2} eq $qual2 ||
+                       die "Read $name in --max file has different _2 quals than in ".
+                           "input read file.\nAlgn: $max_hash{$name}{qual2}\nInput: $seq2";
+       }
+       else {
+               die "Read $name does not appear in hits, --un or ---max file";
+       }
+       
+       if(defined($al_hash{$name})) {
+               $al_hash{$name}{seq1} eq $seq1 ||
+                       die "Read $name in --al file has different _1 sequence than in ".
+                           "input read file.\nAlgn: $al_hash{$name}{seq1}\nInput: $seq1";
+               $al_hash{$name}{qual1} eq $qual1 ||
+                       die "Read $name in --al file has different _1 quals than in ".
+                           "input read file.\nAlgn: $al_hash{$name}{qual1}\nInput: $qual1";
+               $al_hash{$name}{seq2} eq $seq2 ||
+                       die "Read $name in --al file has different _2 sequence than in ".
+                           "input read file.\nAlgn: $al_hash{$name}{seq2}\nInput: $seq2";
+               $al_hash{$name}{qual2} eq $qual2 ||
+                       die "Read $name in --al file has different _2 quals than in ".
+                           "input read file.\nAlgn: $al_hash{$name}{qual2}\nInput: $seq2";
+       }
+       
+       $patid++;
+       last if $patid == $u;
+}
+close($READ1);
+close($READ2);
+
+if($al1_file ne "") {
+       $als == $distinctHits || die "number of --al $als does not match number of distinct hits $distinctHits";
+}
+$distinctHits + $uns + $maxs == $reads ||
+       die "distinct hits $distinctHits, --un $uns, --max $maxs doesn't add to reads $reads";
+
+print "PASSED; processed $hits hits, $reads reads, $uns --un, $maxs --max, $als --al\n";
diff --git a/search_1mm_phase1.c b/search_1mm_phase1.c
new file mode 100644 (file)
index 0000000..8614947
--- /dev/null
@@ -0,0 +1,67 @@
+/*
+ * This is a fragment, included from multiple places in ebwt_search.cpp.
+ * It implements the logic of the first phase of the 1-mismatch search
+ * routine.  It is implemented as a code fragment so that it can be
+ * reused in both the half-index-in-memory and full-index-in-memory
+ * situations.
+ */
+{
+       bt.setEbwt(&ebwtFw);
+       bt.setReportExacts(true);
+
+       if(plen < 2) {
+               cerr << "Error: Reads must be at least 2 characters long in 1-mismatch mode" << endl;
+               throw 1;
+       }
+
+       if(!nofw) {
+               // First, try exact hits for the forward-oriented read
+               params.setFw(true);
+               bt.setQuery(patsrc->bufa());
+               bt.setOffs(0, 0, s, s, s, s);
+               if(bt.backtrack()) {
+                       DONEMASK_SET(patid);
+                       continue;
+               }
+       }
+
+       if(!norc) {
+               params.setFw(false);
+
+               // Next, try exact hits for the reverse-complement read
+               bt.setQuery(patsrc->bufa());
+               bt.setOffs(0, 0, s, s, s, s);
+               if(bt.backtrack()) {
+                       DONEMASK_SET(patid);
+                       continue;
+               }
+       }
+
+       if(sink->finishedWithStratum(0)) { // no more exact hits are possible
+               // the sink tells us we needn't try 1-mismatch alignments
+               DONEMASK_SET(patid);
+               continue;
+       }
+       bt.setReportExacts(false);
+
+       if(!norc) {
+               // Next, try hits with one mismatch on the 3' end for the reverse-complement read
+               bt.setQuery(patsrc->bufa());
+               bt.setOffs(0, 0, s5, s, s, s); // 1 mismatch allowed in 3' half
+               if(bt.backtrack()) {
+                       DONEMASK_SET(patid);
+                       continue;
+               }
+       }
+
+       if(!nofw) {
+               params.setFw(true);
+               // Next, try hits with one mismatch on the 3' end for the reverse-complement read
+               bt.setQuery(patsrc->bufa());
+               bt.setOffs(0, 0, s5, s, s, s); // 1 mismatch allowed in 3' half
+               if(bt.backtrack()) {
+                       DONEMASK_SET(patid);
+                       continue;
+               }
+       }
+}
diff --git a/search_1mm_phase2.c b/search_1mm_phase2.c
new file mode 100644 (file)
index 0000000..1da6a59
--- /dev/null
@@ -0,0 +1,31 @@
+/*
+ * This is a fragment, included from multiple places in ebwt_search.cpp.
+ * It implements the logic of the second phase of the 1-mismatch search
+ * routine.  It is implemented as a code fragment so that it can be
+ * reused in both the half-index-in-memory and full-index-in-memory
+ * situations.
+ */
+{
+       bt.setEbwt(&ebwtBw);
+       bt.setReportExacts(false);
+
+       if(!norc) {
+               params.setFw(false);
+               // Next, try hits with one mismatch on the 3' end for the reverse-complement read
+               bt.setQuery(patsrc->bufa());
+               bt.setOffs(0, 0, s3, s, s, s); // 1 mismatch allowed in 3' half
+               if(bt.backtrack()) {
+                       continue;
+               }
+       }
+
+       if(!nofw) {
+               params.setFw(true);
+               // Next, try hits with one mismatch on the 3' end for the reverse-complement read
+               bt.setQuery(patsrc->bufa());
+               bt.setOffs(0, 0, s3, s, s, s); // 1 mismatch allowed in 3' half
+               if(bt.backtrack()) {
+                       continue;
+               }
+       }
+}
diff --git a/search_23mm_phase1.c b/search_23mm_phase1.c
new file mode 100644 (file)
index 0000000..494d920
--- /dev/null
@@ -0,0 +1,47 @@
+/*
+ * This is a fragment, included from multiple places in ebwt_search.cpp.
+ * It implements the logic of the first phase of the 2/3-mismatch search
+ * routine.  It is implemented as a code fragment so that it can be
+ * reused in both the half-index-in-memory and full-index-in-memory
+ * situations.
+ */
+{
+       // If requested, check that this read has the same length
+       // as all the previous ones
+       btr1.setReportExacts(true);
+
+       if(plen < 3 && two) {
+               cerr << "Error: Read (" << name << ") is less than 3 characters long" << endl;
+               throw 1;
+       }
+       else if(plen < 4) {
+               cerr << "Error: Read (" << name << ") is less than 4 characters long" << endl;
+               throw 1;
+       }
+       if(!nofw) {
+               // Do an exact-match search on the forward pattern, just in
+               // case we can pick it off early here
+               params.setFw(true);
+               btr1.setQuery(patsrc->bufa());
+               btr1.setOffs(0, 0, plen, plen, plen, plen);
+               if(btr1.backtrack()) {
+                       DONEMASK_SET(patid);
+                       continue;
+               }
+       }
+       if(!norc) {
+               // Set up backtracker with reverse complement
+               params.setFw(false);
+               // Set up the revisitability of the halves
+               btr1.setQuery(patsrc->bufa());
+               btr1.setOffs(0, 0, s5, s5, two ? s : s5, s);
+               if(btr1.backtrack()) {
+                       DONEMASK_SET(patid);
+                       continue;
+               }
+       }
+       if(nofw && sink->finishedWithStratum(0)) { // no more exact hits are possible
+               DONEMASK_SET(patid);
+               continue;
+       }
+}
diff --git a/search_23mm_phase2.c b/search_23mm_phase2.c
new file mode 100644 (file)
index 0000000..d388e07
--- /dev/null
@@ -0,0 +1,43 @@
+/*
+ * This is a fragment, included from multiple places in ebwt_search.cpp.
+ * It implements the logic of the second phase of the 2/3-mismatch
+ * search routine.  It is implemented as a code fragment so that it can
+ * be reused in both the half-index-in-memory and full-index-in-memory
+ * situations.
+ */
+{
+       bt2.setReportExacts(false);
+
+       if(!nofw) {
+               // Set up the revisitability of the halves
+               params.setFw(true);
+               bt2.setQuery(patsrc->bufa());
+               bt2.setOffs(0, 0, s5, s5, two? s : s5, s);
+               if(bt2.backtrack()) {
+                       DONEMASK_SET(patid);
+                       continue;
+               }
+               // if nofw is true, then we already did this
+               if(sink->finishedWithStratum(0)) { // no more exact hits are possible
+                       DONEMASK_SET(patid);
+                       continue;
+               }
+       }
+
+       if(!norc) {
+               // Try 2/3 backtracks in the 3' half of the reverse complement read
+               params.setFw(false);  // looking at reverse complement
+               // Set up the revisitability of the halves
+               bt2.setQuery(patsrc->bufa());
+               bt2.setOffs(0, 0, s3, s3, two? s : s3, s);
+               if(bt2.backtrack()) {
+                       DONEMASK_SET(patid);
+                       continue;
+               }
+       }
+
+       if(nofw && sink->finishedWithStratum(1)) {
+               DONEMASK_SET(patid);
+               continue;
+       }
+}
diff --git a/search_23mm_phase3.c b/search_23mm_phase3.c
new file mode 100644 (file)
index 0000000..4c3ff1f
--- /dev/null
@@ -0,0 +1,67 @@
+/*
+ * This is a fragment, included from multiple places in ebwt_search.cpp.
+ * It implements the logic of the third phase of the 2/3-mismatch
+ * search routine.  It is implemented as a code fragment so that it can
+ * be reused in both the half-index-in-memory and full-index-in-memory
+ * situations.
+ */
+{
+       if(!nofw) {
+               // Try 2/3 backtracks in the 3' half of the forward read
+               params.setFw(true);
+               bt3.setReportExacts(false);
+               bt3.setQuery(patsrc->bufa());
+               bt3.setOffs(0, 0,
+                                       s3,
+                                       s3,
+                                       two? s : s3,
+                                       s);
+               bool done = bt3.backtrack();
+               if(done) continue;
+               // no more 1-mismatch hits are possible after this point
+               if(sink->finishedWithStratum(1)) {
+                       continue;
+               }
+
+               // Try a half-and-half on the forward read
+               bool gaveUp = false;
+               bthh3.setQuery(patsrc->bufa());
+               // Processing the forward pattern with the forward index;
+               // s3 ("lo") half is on the right
+               bthh3.setOffs(s3, s,
+                             0,
+                             two ? s3 : 0,
+                             two ? s  : s3,
+                             s);
+               done = bthh3.backtrack();
+               if(bthh3.numBacktracks() == bthh3.maxBacktracks()) {
+                       gaveUp = true;
+               }
+               bthh3.resetNumBacktracks();
+               if(done) {
+                       continue;
+               }
+       }
+
+       if(!norc) {
+               // Try a half-and-half on the reverse complement read
+               bool gaveUp = false;
+               params.setFw(false);
+               bthh3.setQuery(patsrc->bufa());
+               // Processing the forward pattern with the forward index;
+               // s5 ("hi") half is on the right
+               bthh3.setOffs(s5, s,
+                                         0,
+                                         two ? s5 : 0,
+                                         two ? s  : s5,
+                                         s);
+               bool done = bthh3.backtrack();
+               if(bthh3.numBacktracks() == bthh3.maxBacktracks()) {
+                       gaveUp = true;
+               }
+               bthh3.resetNumBacktracks();
+               if(done) {
+                       continue;
+               }
+       }
+}
diff --git a/search_exact.c b/search_exact.c
new file mode 100644 (file)
index 0000000..ca0fad2
--- /dev/null
@@ -0,0 +1,27 @@
+/*
+ * This is a fragment, included from multiple places in ebwt_search.cpp.
+ * It implements the logic of the exact-search routine.  It is
+ * implemented as a code fragment so that it can be reused in both
+ * paired and unpaired alignment.
+ */
+{
+       uint32_t plen = length(patsrc->bufa().patFw);
+       if(!nofw) {
+               // Match against forward strand
+               params.setFw(true);
+               bt.setQuery(patsrc->bufa());
+               bt.setOffs(0, 0, plen, plen, plen, plen);
+               // If we matched on the forward strand, ignore the reverse-
+               // complement strand
+               if(bt.backtrack()) {
+                       continue;
+               }
+       }
+       if(!norc) {
+               // Process reverse-complement read
+               params.setFw(false);
+               bt.setQuery(patsrc->bufa());
+               bt.setOffs(0, 0, plen, plen, plen, plen);
+               bt.backtrack();
+       }
+}
diff --git a/search_globals.h b/search_globals.h
new file mode 100644 (file)
index 0000000..2fa5917
--- /dev/null
@@ -0,0 +1,24 @@
+/*
+ * search_globals.h
+ *
+ *  Created on: Dec 5, 2009
+ *      Author: Ben Langmead
+ */
+
+#ifndef SEARCH_GLOBALS_H_
+#define SEARCH_GLOBALS_H_
+
+#include "threading.h"
+
+// declared in ebwt_search.cpp
+extern bool color;
+extern bool colorExEnds;
+extern bool colorSeq;
+extern bool colorQual;
+extern int  snpPhred;
+extern bool showSeed;
+extern bool quiet;
+
+extern MUTEX_T gLock;
+
+#endif /* SEARCH_GLOBALS_H_ */
diff --git a/search_seeded_phase1.c b/search_seeded_phase1.c
new file mode 100644 (file)
index 0000000..5f82cbc
--- /dev/null
@@ -0,0 +1,89 @@
+/*
+ * This is a fragment, included from multiple places in ebwt_search.cpp.
+ * It implements the logic of the first phase of the seeded, quality-
+ * aware search routine.  It is implemented as a code fragment so that
+ * it can be reused in both the half-index-in-memory and full-index-in-
+ * memory situations.
+ */
+{
+       btf1.setReportExacts(true);
+       bt1.setReportExacts(true);
+
+       if(verbose) {
+               cout << patFw << ":" << qual << ", " << patRc << ":" << qualRev << endl;
+       }
+
+       bool done = false;
+       if(plen < 4) {
+               if(!quiet) {
+                       cerr << "Warning: Skipping read (" << name << ") because it is less than 4 characters long" << endl;
+               }
+               done = true;
+       } else {
+               // Check and see if the distribution of Ns disqualifies
+               // this read right off the bat
+               size_t slen = min<size_t>(plen, seedLen);
+               int ns = 0;
+               for(size_t i = 0; i < slen; i++) {
+                       if((int)(Dna5)patFw[i] == 4) {
+                               if(++ns > seedMms) {
+                                       // Set 'done' so that
+                                       done = true;
+                                       break;
+                               }
+                       }
+               }
+       }
+       if(done) {
+               ASSERT_NO_HITS_FW(true);
+               ASSERT_NO_HITS_RC(true);
+               DONEMASK_SET(patid);
+               skipped = true;
+               sink->finishRead(*patsrc, true, true);
+               continue;
+       }
+
+       if(!nofw) {
+               // Do an exact-match search on the forward pattern, just in
+               // case we can pick it off early here
+               params.setFw(true);
+               btf1.setQuery(patsrc->bufa());
+               btf1.setOffs(0, plen, plen, plen, plen, plen);
+               if(btf1.backtrack()) {
+                       DONEMASK_SET(patid);
+                       continue;
+               }
+       }
+
+       if(!norc) {
+               // Set up backtracker with reverse complement
+               params.setFw(false);
+               // Set up special seed bounds
+               if(qs < s) {
+                       bt1.setOffs(0, 0, (seedMms > 0)? qs5 : qs,
+                                                         (seedMms > 1)? qs5 : qs,
+                                                         (seedMms > 2)? qs5 : qs,
+                                                         (seedMms > 3)? qs5 : qs);
+               } else {
+                       bt1.setOffs(0, 0, (seedMms > 0)? s5 : s,
+                                                         (seedMms > 1)? s5 : s,
+                                                         (seedMms > 2)? s5 : s,
+                                                         (seedMms > 3)? s5 : s);
+               }
+               bt1.setQuery(patsrc->bufa());
+               if(bt1.backtrack()) {
+                       // If we reach here, then we obtained a hit for case
+                       // 1R, 2R or 3R and can stop considering this read
+                       DONEMASK_SET(patid);
+                       continue;
+               }
+               // If we reach here, then cases 1R, 2R, and 3R have
+               // been eliminated and the read needs further
+               // examination
+       }
+
+       if(nofw && sink->finishedWithStratum(0)) { // no more exact hits are possible
+               DONEMASK_SET(patid);
+               continue;
+       }
+}
diff --git a/search_seeded_phase2.c b/search_seeded_phase2.c
new file mode 100644 (file)
index 0000000..f659bf1
--- /dev/null
@@ -0,0 +1,99 @@
+/*
+ * This is a fragment, included from multiple places in ebwt_search.cpp.
+ * It implements the logic of the second phase of the seeded, quality-
+ * aware search routine.  It is implemented as a code fragment so that
+ * it can be reused in both the half-index-in-memory and full-index-in-
+ * memory situations.
+ */
+{
+       if(!nofw) {
+               // If we reach here, then cases 1R, 2R, and 3R have been
+               // eliminated.  The next most likely cases are 1F, 2F and
+               // 3F...
+               params.setFw(true);  // looking at forward strand
+               btf2.setReportExacts(false);
+               btr2.setReportExacts(false);
+               btf2.setQuery(patsrc->bufa());
+               // Set up seed bounds
+               if(qs < s) {
+                       btf2.setOffs(0, 0,
+                                               (seedMms > 0)? qs5 : qs,
+                                               (seedMms > 1)? qs5 : qs,
+                                               (seedMms > 2)? qs5 : qs,
+                                               (seedMms > 3)? qs5 : qs);
+               } else {
+                       btf2.setOffs(0, 0,
+                                               (seedMms > 0)? s5 : s,
+                                               (seedMms > 1)? s5 : s,
+                                               (seedMms > 2)? s5 : s,
+                                               (seedMms > 3)? s5 : s);
+               }
+               // Do a 12/24 backtrack on the forward-strand read using
+               // the mirror index.  This will find all case 1F, 2F
+               // and 3F hits.
+               if(btf2.backtrack()) {
+                       // The reverse complement hit, so we're done with this
+                       // read
+                       DONEMASK_SET(patid);
+                       continue;
+               }
+
+               if(sink->finishedWithStratum(0)) { // no more exact hits are possible
+                       DONEMASK_SET(patid);
+                       continue;
+               }
+       }
+
+       // No need to collect partial alignments if we're not
+       // allowing mismatches in the 5' seed half
+       if(seedMms == 0) continue;
+
+       if(!norc) {
+               // If we reach here, then cases 1F, 2F, 3F, 1R, 2R, and 3R
+               // have been eliminated, leaving us with cases 4F and 4R
+               // (the cases with 1 mismatch in the 5' half of the seed)
+               params.setFw(false);  // looking at reverse-comp strand
+               // Set up seed bounds
+               if(qs < s) {
+                       btr2.setOffs(0, 0,
+                                               qs3,
+                                               (seedMms > 1)? qs3 : qs,
+                                               (seedMms > 2)? qs3 : qs,
+                                               (seedMms > 3)? qs3 : qs);
+               } else {
+                       btr2.setOffs(0, 0,
+                                               s3,
+                                               (seedMms > 1)? s3 : s,
+                                               (seedMms > 2)? s3 : s,
+                                               (seedMms > 3)? s3 : s);
+               }
+               btr2.setQuery(patsrc->bufa());
+               btr2.setQlen(s); // just look at the seed
+               // Find partial alignments for case 4R
+               ASSERT_ONLY(bool done =) btr2.backtrack();
+#ifndef NDEBUG
+               vector<PartialAlignment> partials;
+               assert(pamRc != NULL);
+               pamRc->getPartials(patid, partials);
+               if(done) assert_gt(partials.size(), 0);
+               for(size_t i = 0; i < partials.size(); i++) {
+                       uint32_t pos0 = partials[i].entry.pos0;
+                       assert_lt(pos0, s5);
+                       uint8_t oldChar = (uint8_t)patRcRev[pos0];
+                       assert_neq(oldChar, partials[i].entry.char0);
+                       if(partials[i].entry.pos1 != 0xffff) {
+                               uint32_t pos1 = partials[i].entry.pos1;
+                               assert_lt(pos1, s5);
+                               oldChar = (uint8_t)patRcRev[pos1];
+                               assert_neq(oldChar, partials[i].entry.char1);
+                               if(partials[i].entry.pos2 != 0xffff) {
+                                       uint32_t pos2 = partials[i].entry.pos2;
+                                       assert_lt(pos2, s5);
+                                       oldChar = (uint8_t)patRcRev[pos2];
+                                       assert_neq(oldChar, partials[i].entry.char2);
+                               }
+                       }
+               }
+#endif
+       }
+}
diff --git a/search_seeded_phase3.c b/search_seeded_phase3.c
new file mode 100644 (file)
index 0000000..f620edb
--- /dev/null
@@ -0,0 +1,144 @@
+/*
+ * This is a fragment, included from multiple places in ebwt_search.cpp.
+ * It implements the logic of the third phase of the seeded, quality-
+ * aware search routine.  It is implemented as a code fragment so that
+ * it can be reused in both the half-index-in-memory and full-index-in-
+ * memory situations.
+ */
+{
+       if(!norc) {
+               params.setFw(false);
+               btr3.setReportExacts(true);
+
+               btr3.setQuery(patsrc->bufa());
+               // Get all partial alignments for this read's reverse
+               // complement
+               pals.clear();
+               if(pamRc != NULL && pamRc->size() > 0) {
+                       // We can get away with an unsynchronized call because there
+                       // are no writers for pamRc in this phase
+                       pamRc->getPartialsUnsync(patid, pals);
+                       pamRc->clear(patid);
+                       assert_eq(0, pamRc->size());
+               }
+               bool done = false;
+               if(pals.size() > 0) {
+                       // Partial alignments exist - extend them
+                       // Set up seed bounds
+                       if(qs < s) {
+                               btr3.setOffs(0, 0, qs, qs, qs, qs);
+                       } else {
+                               btr3.setOffs(0, 0, s, s, s, s);
+                       }
+                       for(size_t i = 0; i < pals.size(); i++) {
+                               seqan::clear(muts);
+                               uint8_t oldQuals =
+                                       PartialAlignmentManager::toMutsString(
+                                               pals[i], patRc, qualRev, muts, !noMaqRound);
+
+                               // Set the backtracking thresholds appropriately
+                               // Now begin the backtracking, treating the first
+                               // 24 bases as unrevisitable
+                               ASSERT_ONLY(String<Dna5> tmp = patRc);
+                               btr3.setMuts(&muts);
+                               done = btr3.backtrack(oldQuals);
+                               btr3.setMuts(NULL);
+                               assert_eq(tmp, patRc); // assert mutations were undone
+                               if(done) {
+                                       // The reverse complement hit, so we're done with this
+                                       // read
+                                       DONEMASK_SET(patid);
+                                       // Got a hit; stop processing partial
+                                       // alignments
+                                       break;
+                               }
+                       } // Loop over partial alignments
+               }
+               seqan::clear(muts);
+               // Case 4R yielded a hit continue to next pattern
+               if(done) continue;
+               // If we're in two-mismatch mode, then now is the time to
+               // try the final case that might apply to the reverse
+               // complement pattern: 1 mismatch in each of the 3' and 5'
+               // halves of the seed.
+               bool gaveUp = false;
+               if(seedMms >= 2) {
+                       btr23.setQuery(patsrc->bufa());
+                       // Set up special seed bounds
+                       if(qs < s) {
+                               btr23.setOffs(qs5, qs,
+                                                         0,                         // unrevOff
+                                                         (seedMms <= 2)? qs5 : 0,   // 1revOff
+                                                         (seedMms < 3 )? qs  : qs5, // 2revOff
+                                                         qs);                       // 3revOff
+                       } else {
+                               btr23.setOffs(s5, s,
+                                                         0,                       // unrevOff
+                                                         (seedMms <= 2)? s5 : 0,  // 1revOff
+                                                         (seedMms < 3 )? s  : s5, // 2revOff
+                                                         s);                      // 3revOff
+                       }
+                       done = btr23.backtrack();
+                       if(btr23.numBacktracks() == btr23.maxBacktracks()) {
+                               gaveUp = true;
+                       }
+                       if(done) {
+                               DONEMASK_SET(patid);
+                               btr23.resetNumBacktracks();
+                               continue;
+                       }
+                       btr23.resetNumBacktracks();
+               }
+       }
+
+       if(nofw) { // no more 1-mm-in-seed hits are possible
+               //DONEMASK_SET(patid);
+               continue;
+       }
+
+       // If we reach here, then cases 1F, 2F, 3F, 1R, 2R, 3R and
+       // 4R have been eliminated leaving only 4F.
+       params.setFw(true);  // looking at forward strand
+       btf3.setQuery(patsrc->bufa());
+       btf3.setQlen(seedLen); // just look at the seed
+       // Set up seed bounds
+       if(qs < s) {
+               btf3.setOffs(0, 0,
+                            qs3,
+                            (seedMms > 1)? qs3 : qs,
+                            (seedMms > 2)? qs3 : qs,
+                            (seedMms > 3)? qs3 : qs);
+       } else {
+               btf3.setOffs(0, 0,
+                            s3,
+                            (seedMms > 1)? s3 : s,
+                            (seedMms > 2)? s3 : s,
+                            (seedMms > 3)? s3 : s);
+       }
+       // Do a 12/24 seedling backtrack on the forward read
+       // using the normal index.  This will find seedlings
+       // for case 4F
+       btf3.backtrack();
+#ifndef NDEBUG
+       vector<PartialAlignment> partials;
+       pamFw->getPartials(patid, partials);
+       for(size_t i = 0; i < partials.size(); i++) {
+               uint32_t pos0 = partials[i].entry.pos0;
+               assert_lt(pos0, s5);
+               uint8_t oldChar = (uint8_t)patFw[pos0];
+               assert_neq(oldChar, partials[i].entry.char0);
+               if(partials[i].entry.pos1 != 0xffff) {
+                       uint32_t pos1 = partials[i].entry.pos1;
+                       assert_lt(pos1, s5);
+                       oldChar = (uint8_t)patFw[pos1];
+                       assert_neq(oldChar, partials[i].entry.char1);
+                       if(partials[i].entry.pos2 != 0xffff) {
+                               uint32_t pos2 = partials[i].entry.pos2;
+                               assert_lt(pos2, s5);
+                               oldChar = (uint8_t)patFw[pos2];
+                               assert_neq(oldChar, partials[i].entry.char2);
+                       }
+               }
+       }
+#endif
+}
diff --git a/search_seeded_phase4.c b/search_seeded_phase4.c
new file mode 100644 (file)
index 0000000..141f34b
--- /dev/null
@@ -0,0 +1,94 @@
+/*
+ * This is a fragment, included from multiple places in ebwt_search.cpp.
+ * It implements the logic of the fourth phase of the seeded, quality-
+ * aware search routine.  It is implemented as a code fragment so that
+ * it can be reused in both the half-index-in-memory and full-index-in-
+ * memory situations.
+ */
+{
+       if(!nofw) {
+               params.setFw(true);
+               btf4.setReportExacts(true);
+               btf4.setQuery(patsrc->bufa());
+               // Get all partial alignments for this read's reverse
+               // complement
+               pals.clear();
+               if(pamFw != NULL && pamFw->size() > 0) {
+                       // We can get away with an unsynchronized call because there
+                       // are no writers for pamFw in this phase
+                       pamFw->getPartialsUnsync(patid, pals);
+                       pamFw->clear(patid);
+                       assert_eq(0, pamFw->size());
+               }
+               bool done = false;
+               if(pals.size() > 0) {
+                       // Partial alignments exist - extend them
+                       // Set up seed bounds
+                       if(qs < s) {
+                               btf4.setOffs(0, 0, qs, qs, qs, qs);
+                       } else {
+                               btf4.setOffs(0, 0, s, s, s, s);
+                       }
+                       for(size_t i = 0; i < pals.size(); i++) {
+                               seqan::clear(muts);
+                               uint8_t oldQuals =
+                                       PartialAlignmentManager::toMutsString(
+                                               pals[i], patFwRev, qualRev, muts, !noMaqRound);
+                               assert_leq(oldQuals, qualThresh);
+                               // Set the backtracking thresholds appropriately
+                               // Now begin the backtracking, treating the first
+                               // 24 bases as unrevisitable
+                               ASSERT_ONLY(String<Dna5> tmp = patFwRev);
+                               btf4.setMuts(&muts);
+                               done = btf4.backtrack(oldQuals);
+                               btf4.setMuts(NULL);
+                               assert_eq(tmp, patFwRev); // assert mutations were undone
+                               if(done) {
+                                       // Got a hit; stop processing partial
+                                       // alignments
+                                       break;
+                               }
+                       } // Loop over partial alignments
+               }
+               seqan::clear(muts);
+
+               // Case 4F yielded a hit; continue to next pattern
+               if(done) continue;
+
+               if(sink->finishedWithStratum(1)) { // no more exact hits are possible
+                       continue;
+               }
+
+               // If we're in two-mismatch mode, then now is the time to
+               // try the final case that might apply to the forward
+               // pattern: 1 mismatch in each of the 3' and 5' halves of
+               // the seed.
+               bool gaveUp = false;
+               if(seedMms >= 2) {
+                       btf24.setQuery(patsrc->bufa());
+                       // Set up seed bounds
+                       if(qs < s) {
+                               btf24.setOffs(qs5, qs,
+                                                        0,                        // unrevOff
+                                                        (seedMms <= 2)? qs5 : 0,  // 1revOff
+                                                        (seedMms < 3)? qs : qs5,  // 2revOff
+                                                        qs);                      // 3revOff
+                       } else {
+                               btf24.setOffs(s5, s,
+                                                         0,                       // unrevOff
+                                                         (seedMms <= 2)? s5 : 0,  // 1revOff
+                                                         (seedMms < 3)?  s : s5,  // 2revOff
+                                                         s);                      // 3revOff
+                       }
+                       done = btf24.backtrack();
+                       if(btf24.numBacktracks() == btf24.maxBacktracks()) {
+                               gaveUp = true;
+                       }
+                       if(done) {
+                               btf24.resetNumBacktracks();
+                               continue;
+                       }
+                       btf24.resetNumBacktracks();
+               }
+       }
+}
diff --git a/sequence_io.h b/sequence_io.h
new file mode 100644 (file)
index 0000000..09b4366
--- /dev/null
@@ -0,0 +1,174 @@
+#ifndef SEQUENCE_IO_H_
+#define SEQUENCE_IO_H_
+
+#include <string>
+#include <vector>
+#include <stdexcept>
+#include <fstream>
+#include <stdio.h>
+#include <seqan/sequence.h>
+#include <seqan/file.h>
+#include "assert_helpers.h"
+#include "pat.h"
+
+/**
+ * Read a sequence file of the given format and alphabet type.  Store
+ * all of the extracted sequences in vector ss.  Note that SeqAn's
+ * policy for when it encounters characters not from the specified
+ * alphabet is to convert them to the lexicographically smallest
+ * character in the alphabet.
+ */
+template <typename TStr, typename TFile>
+static void readSequenceFile(const std::string& infile,
+                             std::vector<TStr>& ss,
+                             int64_t& baseCutoff, // limit for total bases
+                             int seqCutoff = -1,  // limit for sequences
+                             bool reverse = false)
+{
+       typedef typename Value<TStr>::Type TVal;
+       static char buf[256 * 1024]; // fairly large input buffer
+       if(baseCutoff <= 0) return;
+       FILE *in = fopen(infile.c_str(), "r");
+       if(in == NULL) {
+               cerr << "Could not open sequence file" << endl;
+               throw 1;
+       }
+       // Associate large input buffer with FILE *in
+       if(setvbuf(in, buf, _IOFBF, 256 * 1024) != 0) {
+               cerr << "Could not create input buffer for sequence file" << endl;
+               throw 1;
+       }
+       // Read entries using SeqAn
+       int cnt = 0;
+       while(!feof(in)) {
+               while(true) {
+                       ss.push_back(TStr()); // add a new empty string to the end
+                       // Fill the new empty string with the next sequence from
+                       // the file.  SeqAn allocates just enough mem for it (at
+                       // the expense of lots of file seeks, which can add up)
+                       seqan::read(in, ss.back(), TFile()); 
+                       if(seqan::empty(ss.back())) {
+                               ss.pop_back();
+                               break;
+                       }
+                       // Enforce the base cutoff
+                       if((int64_t)length(ss.back()) > baseCutoff) {
+                               resize(ss.back(), baseCutoff);
+                               baseCutoff = 0;
+                       } else {
+                               baseCutoff -= length(ss.back());
+                       }
+                       // Reverse the newly-read sequence in-place if desired
+                       if(reverse) {
+                               size_t len = length(ss.back());
+                               for(size_t i = 0; i < len/2; i++) {
+                                       TVal t = ss.back()[i];
+                                       ss.back()[i] = ss.back()[len-i-1];
+                                       ss.back()[len-i-1] = t;
+                               }
+                       }
+                       #ifndef NDEBUG
+                       // Sanity check that all (int) values are in range
+                       for(size_t i = 0; i < length(ss.back()); i++) {
+                               assert_lt(ss.back()[i], (int)(ValueSize<TVal>::VALUE));
+                               assert_geq(ss.back()[i], 0);
+                       }
+                       #endif
+                       cnt++;
+                       // Enforce the sequence cutoff
+                       if(seqCutoff != -1 && cnt >= seqCutoff) {
+                               fclose(in);
+                               return;
+                       }
+               }
+       }
+       fclose(in);
+}
+
+/**
+ * Read a set of sequence files of the given format and alphabet type.
+ * Store all of the extracted sequences in vector ss.
+ */
+template <typename TStr, typename TFile>
+static void readSequenceFiles(const std::vector<std::string>& infiles,
+                              std::vector<TStr>& ss,
+                              int64_t& baseCutoff,
+                              int seqCutoff = -1,
+                              bool reverse = false)
+{
+       for(size_t i = 0; i < infiles.size() && baseCutoff > 0; i++) {
+               readSequenceFile<TStr,TFile>(infiles[i], ss, baseCutoff, seqCutoff, reverse);
+               if(baseCutoff <= 0) break;
+       }
+}
+
+/**
+ * Read a set of sequence files of the given format and alphabet type.
+ * Store all of the extracted sequences in vector ss.
+ */
+template <typename TStr, typename TFile>
+static void readSequenceFiles(const std::vector<std::string>& infiles,
+                              std::vector<TStr>& ss,
+                              int seqCutoff = -1,
+                              bool reverse = false)
+{
+       int64_t i = 0xffffffffll;
+       readSequenceFiles<TStr,TFile>(infiles, ss, i, seqCutoff, reverse);
+}
+
+/**
+ * Parse a comma-delimited list of strings of type T into a vector. 
+ */
+template <typename T>
+void readSequenceString(const std::string& s,
+                        std::vector<T>& ss,
+                        int64_t& baseCutoff,
+                        int seqCutoff = -1,
+                        bool reverse = false)
+{
+       // Split string s using comma as a delimiter.  Borrowed from C++
+       // Programming HOWTO 7.3
+       std::string::size_type lastPos = s.find_first_not_of(",", 0);
+       std::string::size_type pos = s.find_first_of(",", lastPos);
+       while (baseCutoff > 0 && (std::string::npos != pos || std::string::npos != lastPos)) {
+               string stmp = s.substr(lastPos, pos - lastPos);
+               if((int64_t)stmp.length() < baseCutoff) {
+                       baseCutoff -= stmp.length();
+               } else {
+                       stmp = stmp.substr(0, baseCutoff);
+                       baseCutoff = 0;
+               }
+               if(reverse) {
+                       size_t len = stmp.length();
+                       for(size_t i = 0; i < len/2; i++) {
+                               char tmp = stmp[i];
+                               stmp[i] = stmp[len-i-1];
+                               stmp[len-i-1] = tmp;
+                       }
+                       ss.push_back(T(stmp.c_str()));
+               } else {
+                       ss.push_back(T(stmp.c_str()));
+               }
+               if(seqCutoff != -1 && ss.size() >= (size_t)seqCutoff) {
+                       return;
+               }
+           lastPos = s.find_first_not_of(",", pos);
+           pos = s.find_first_of(",", lastPos);
+       }
+}
+
+/**
+ * Parse a comma-delimited list of strings of type T into a vector. 
+ * Doesn't require callee to supply a baseCutoff.
+ */
+template <typename T>
+void readSequenceString(const std::string& s,
+                        std::vector<T>& ss,
+                        int seqCutoff = -1,
+                        bool reverse = false)
+{
+       int64_t i = 0xffffffffll;
+       readSequenceString(s, ss, i, seqCutoff, reverse);
+}
+
+#endif /*SEQUENCE_IO_H_*/
diff --git a/shmem.cpp b/shmem.cpp
new file mode 100644 (file)
index 0000000..4b76a61
--- /dev/null
+++ b/shmem.cpp
@@ -0,0 +1,37 @@
+/*
+ * shmem.cpp
+ *
+ *  Created on: August 13, 2009
+ *      Author: Ben Langmead
+ */
+
+#ifdef BOWTIE_SHARED_MEM
+
+#include <iostream>
+#include <string>
+#include <unistd.h>
+#include <sys/shm.h>
+#include <errno.h>
+#include "shmem.h"
+
+using namespace std;
+
+/**
+ * Notify other users of a shared-memory chunk that the leader has
+ * finished initializing it.
+ */
+void notifySharedMem(void *mem, size_t len) {
+       ((volatile uint32_t*)((char*)mem + len))[0] = SHMEM_INIT;
+}
+
+/**
+ * Wait until the leader of a shared-memory chunk has finished
+ * initializing it.
+ */
+void waitSharedMem(void *mem, size_t len) {
+       while(((volatile uint32_t*)((char*)mem + len))[0] != SHMEM_INIT) {
+               sleep(1);
+       }
+}
+
+#endif
diff --git a/shmem.h b/shmem.h
new file mode 100644 (file)
index 0000000..1765d15
--- /dev/null
+++ b/shmem.h
@@ -0,0 +1,146 @@
+/*
+ * shmem.h
+ *
+ *  Created on: Aug 13, 2009
+ *      Author: Ben Langmead
+ */
+
+#ifndef SHMEM_H_
+#define SHMEM_H_
+
+#ifdef BOWTIE_SHARED_MEM
+
+#include <string>
+#include <sys/shm.h>
+#include <unistd.h>
+#include <sys/shm.h>
+#include <errno.h>
+#include <stdint.h>
+#include <stdexcept>
+#include "str_util.h"
+
+extern void notifySharedMem(void *mem, size_t len);
+
+extern void waitSharedMem(void *mem, size_t len);
+
+#define ALLOC_SHARED_U8 allocSharedMem<uint8_t>
+#define ALLOC_SHARED_U32 allocSharedMem<uint32_t>
+#define FREE_SHARED shmdt
+#define NOTIFY_SHARED notifySharedMem
+#define WAIT_SHARED waitSharedMem
+
+#define SHMEM_UNINIT  0xafba4242
+#define SHMEM_INIT    0xffaa6161
+
+/**
+ * Tries to allocate a shared-memory chunk for a given file of a given size.
+ */
+template <typename T>
+bool allocSharedMem(std::string fname,
+                    size_t len,
+                    T ** dst,
+                    const char *memName,
+                    bool verbose)
+{
+       using namespace std;
+       int shmid = -1;
+       // Calculate key given string
+       key_t key = (key_t)hash_string(fname);
+       shmid_ds ds;
+       int ret;
+       // Reserve 4 bytes at the end for silly synchronization
+       size_t shmemLen = len + 4;
+       if(verbose) {
+               cerr << "Reading " << len << "+4 bytes into shared memory for " << memName << endl;
+       }
+       T *ptr = NULL;
+       while(true) {
+               // Create the shrared-memory block
+               if((shmid = shmget(key, shmemLen, IPC_CREAT | 0666)) < 0) {
+                       if(errno == ENOMEM) {
+                               cerr << "Out of memory allocating shared area " << memName << endl;
+                       } else if(errno == EACCES) {
+                               cerr << "EACCES" << endl;
+                       } else if(errno == EEXIST) {
+                               cerr << "EEXIST" << endl;
+                       } else if(errno == EINVAL) {
+                               cerr << "Warning: shared-memory chunk's segment size doesn't match expected size (" << (shmemLen) << ")" << endl
+                                        << "Deleteing old shared memory block and trying again." << endl;
+                               shmid = shmget(key, 0, 0);
+                               if((ret = shmctl(shmid, IPC_RMID, &ds)) < 0) {
+                                       cerr << "shmctl returned " << ret
+                                                << " for IPC_RMID, errno is " << errno
+                                                << ", shmid is " << shmid << endl;
+                                       throw 1;
+                               } else {
+                                       cerr << "Deleted shared mem chunk with shmid " << shmid << endl;
+                               }
+                               continue;
+                       } else if(errno == ENOENT) {
+                               cerr << "ENOENT" << endl;
+                       } else if(errno == ENOSPC) {
+                               cerr << "ENOSPC" << endl;
+                       } else {
+                               cerr << "shmget returned " << shmid << " for and errno is " << errno << endl;
+                       }
+                       throw 1;
+               }
+               ptr = (T*)shmat(shmid, 0, 0);
+               if(ptr == (void*)-1) {
+                       cerr << "Failed to attach " << memName << " to shared memory with shmat()." << endl;
+                       throw 1;
+               }
+               if(ptr == NULL) {
+                       cerr << memName << " pointer returned by shmat() was NULL." << endl;
+                       throw 1;
+               }
+               // Did I create it, or did I just attach to one created by
+               // another process?
+               if((ret = shmctl(shmid, IPC_STAT, &ds)) < 0) {
+                       cerr << "shmctl returned " << ret << " for IPC_STAT and errno is " << errno << endl;
+                       throw 1;
+               }
+               if(ds.shm_segsz != shmemLen) {
+                       cerr << "Warning: shared-memory chunk's segment size (" << ds.shm_segsz
+                                << ") doesn't match expected size (" << shmemLen << ")" << endl
+                                << "Deleteing old shared memory block and trying again." << endl;
+                       if((ret = shmctl(shmid, IPC_RMID, &ds)) < 0) {
+                               cerr << "shmctl returned " << ret << " for IPC_RMID and errno is " << errno << endl;
+                               throw 1;
+                       }
+               } else {
+                       break;
+               }
+       } // while(true)
+       *dst = ptr;
+       bool initid = (((volatile uint32_t*)((char*)ptr + len))[0] == SHMEM_INIT);
+       if(ds.shm_cpid == getpid() && !initid) {
+               if(verbose) {
+                       cerr << "  I (pid = " << getpid() << ") created the "
+                            << "shared memory for " << memName << endl;
+               }
+               // Set this value just off the end of the chunk to
+               // indicate that the data hasn't been read yet.
+               ((volatile uint32_t*)((char*)ptr + len))[0] = SHMEM_UNINIT;
+               return true;
+       } else {
+               if(verbose) {
+                       cerr << "  I (pid = " << getpid()
+                            << ") did not create the shared memory for "
+                            << memName << ".  Pid " << ds.shm_cpid << " did." << endl;
+               }
+               return false;
+       }
+}
+
+#else
+
+#define ALLOC_SHARED_U8(...) 0
+#define ALLOC_SHARED_U32(...) 0
+#define FREE_SHARED(...)
+#define NOTIFY_SHARED(...)
+#define WAIT_SHARED(...)
+
+#endif /*BOWTIE_SHARED_MEM*/
+
+#endif /* SHMEM_H_ */
diff --git a/spinlock.h b/spinlock.h
new file mode 100644 (file)
index 0000000..2424349
--- /dev/null
@@ -0,0 +1,127 @@
+#ifndef SPINLOCK_H_
+#define SPINLOCK_H_
+
+/**
+ * This non-reentrant spinlock implementation for i386 and x86_64 is
+ * based on free code by Gert Boddaert:
+ *
+ * http://www.codeproject.com/KB/threads/spinlocks.aspx
+ *
+ * Using spinlocks instead of the heavier pthreads mutexes can, in some
+ * cases, help Bowtie perform better for large numbers of threads.
+ */
+
+// (If the user hasn't specified this, then there's no need for any
+// kind of locking, so we skip this header)
+#ifdef BOWTIE_PTHREADS
+
+#if defined(__GNUC__)
+#if defined(__x86_64__) || defined(__i386__)
+#define USE_SPINLOCK
+#endif
+#endif
+
+#ifdef USE_SPINLOCK
+
+#if defined(__x86_64__)
+#define SPINLOCK_WORD long
+#else
+#define SPINLOCK_WORD int
+#endif
+
+class SpinLock {
+  public:    // inlined constructor
+
+    // inlined NON-virtual destructor
+    inline SpinLock() : m_s(1) {}
+    inline ~SpinLock() {}
+
+    // enter the lock, spinlocks (with/without Sleep)
+    // when mutex is already locked
+    inline void Enter(void)
+    {
+       SPINLOCK_WORD prev_s;
+        do
+        {
+            prev_s = TestAndSet(&m_s, 0);
+            if (m_s == 0 && prev_s == 1)
+            {
+               // The lock and was unlocked and we grabbed it
+                break;
+            }
+            // reluinquish current timeslice (can only
+            // be used when OS available and
+            // we do NOT want to 'spin')
+            // HWSleep(0);
+        }
+        while (true);
+    }
+    // Tries to enter the lock, returns 0
+    // when mutex is already locked,
+    // returns != 0 when success
+    inline int TryEnter(void)
+    {
+       SPINLOCK_WORD prev_s = TestAndSet(&m_s, 0);
+        if (m_s == 0 && prev_s == 1)
+        {
+            return 1;
+        }
+        return 0;
+    }
+
+    // Leaves or unlocks the mutex
+    // (should only be called by lock owner)
+    inline void Leave(void)
+    {
+        TestAndSet(&m_s, 1);
+    }
+
+  protected:
+    // sets BIT value and returns previous
+    // value.in 1 atomic un-interruptable operation
+         SPINLOCK_WORD TestAndSet(SPINLOCK_WORD* pTargetAddress, SPINLOCK_WORD nValue);
+
+  private:
+       SPINLOCK_WORD m_s;
+};
+
+// This part is Platform dependent!
+
+/* The following piece of code can be found
+ in function AtomicExchange of file atomicops-internals-x86.h
+ under http://google-perftools.googlecode.com/svn/trunk/src/base/
+*/
+#if defined(__x86_64__)
+#define TAS(_lw, _res) \
+ asm volatile("xchgq %1,%0":"=r"(_res):"m"(*_lw),"0"(_res):"memory")
+#elif defined(__i386__)
+#define TAS(_lw, _res) \
+ asm volatile("xchgl %1,%0":"=r"(_res):"m"(*_lw),"0"(_res):"memory")
+#else
+#error "Architecture is neither x86_64 nor i386 (see spinlock.h)"
+#endif
+/* TAS is only defined for GNUC on x86_64 and i386,
+ that is where GNUC x86 inline assembly can be used */
+
+inline SPINLOCK_WORD SpinLock::TestAndSet(SPINLOCK_WORD* pTargetAddress, SPINLOCK_WORD nValue) {
+
+#if 0
+    __asm
+    {
+        mov edx, dword ptr [pTargetAddress]
+        mov eax, nValue
+        lock xchg eax, dword ptr [edx]
+    }
+#else
+    TAS(pTargetAddress, nValue);
+    return nValue;
+#endif
+    // mov = 1 CPU cycle
+    // lock = 1 CPU cycle
+    // xchg = 3 CPU cycles
+}
+#endif /*USE_SPINLOCK*/
+
+#endif /*BOWTIE_PTHREADS*/
+
+#endif /*SPINLOCK_H_*/
diff --git a/str_util.h b/str_util.h
new file mode 100644 (file)
index 0000000..8587ff1
--- /dev/null
@@ -0,0 +1,28 @@
+#ifndef STR_UTIL_H_
+#define STR_UTIL_H_
+
+#include <string>
+
+/**
+ * Given a string, return an int hash for it.
+ */
+static inline int
+hash_string(const std::string& s) {
+       int ret = 0;
+       int a = 63689;
+       int b = 378551;
+       for(size_t i = 0; i < s.length(); i++) {
+               ret = (ret * a) + (int)s[i];
+               if(a == 0) {
+                       a += b;
+               } else {
+                       a *= b;
+               }
+               if(a == 0) {
+                       a += b;
+               }
+       }
+       return ret;
+}
+
+#endif /* STR_UTIL_H_ */
diff --git a/threading.h b/threading.h
new file mode 100644 (file)
index 0000000..b6b5e0b
--- /dev/null
@@ -0,0 +1,74 @@
+#ifndef THREADING_H_
+#define THREADING_H_
+
+#include <iostream>
+#include "spinlock.h"
+
+// Note that USE_SPINLOCK trumps BOWTIE_PTHREADS
+
+#ifdef BOWTIE_PTHREADS
+#include <pthread.h>
+#endif
+
+#ifdef USE_SPINLOCK
+#  include "spinlock.h"
+#  define MUTEX_T SpinLock
+#  define MUTEX_INIT(l)
+#  define MUTEX_LOCK(l) (l).Enter()
+#  define MUTEX_UNLOCK(l) (l).Leave()
+#else
+#  ifdef BOWTIE_PTHREADS
+#    define MUTEX_T pthread_mutex_t
+#    define MUTEX_INIT(l) pthread_mutex_init(&l, NULL)
+#    define MUTEX_LOCK(l) pthread_mutex_lock(&l)
+#    define MUTEX_UNLOCK(l) pthread_mutex_unlock(&l)
+#  else
+#    define MUTEX_T int
+#    define MUTEX_INIT(l) l = 0
+#    define MUTEX_LOCK(l) l = 1
+#    define MUTEX_UNLOCK(l) l = 0
+#  endif /* BOWTIE_PTHREADS */
+#endif /* USE_SPINLOCK */
+
+#ifdef BOWTIE_PTHREADS
+static inline void joinThread(pthread_t th) {
+       int ret, *tmp;
+       if((ret = pthread_join(th, (void**)(int**)&tmp)) != 0) {
+               std::cerr << "Error: pthread_join returned non-zero status: "
+                         << ret << std::endl;
+               throw 1;
+       }
+}
+
+static inline void createThread(pthread_t* th,
+                                void *(*start_routine) (void *),
+                                void *arg)
+{
+       int ret;
+       pthread_attr_t pt_attr;
+       pthread_attr_init(&pt_attr);
+       pthread_attr_setdetachstate(&pt_attr, PTHREAD_CREATE_JOINABLE);
+       pthread_attr_setstacksize(&pt_attr, 2 << 20);
+       if((ret = pthread_create(th, &pt_attr, start_routine, arg)) != 0) {
+               std::cerr << "Error: pthread_create returned non-zero status: "
+                         << ret << std::endl;
+               throw 1;
+       }
+}
+#endif
+
+/**
+ * Wrap a lock; obtain lock upon construction, release upon destruction.
+ */
+class ThreadSafe {
+public:
+       ThreadSafe(MUTEX_T* lock) {
+               lock_ = lock;
+               MUTEX_LOCK(*lock_);
+       }
+       ~ThreadSafe() { MUTEX_UNLOCK(*lock_); }
+private:
+       MUTEX_T *lock_;
+};
+
+#endif
diff --git a/timer.h b/timer.h
new file mode 100644 (file)
index 0000000..c2db053
--- /dev/null
+++ b/timer.h
@@ -0,0 +1,63 @@
+#ifndef TIMER_H_
+#define TIMER_H_
+
+#include <ctime>
+#include <iostream>
+#include <iomanip>
+
+using namespace std;
+
+/**
+ * Use time() call to keep track of elapsed time between creation and
+ * destruction.  If verbose is true, Timer will print a message showing
+ * elapsed time to the given output stream upon destruction.
+ */
+class Timer {
+public:
+       Timer(ostream& out = cout, const char *msg = "", bool verbose = true) :
+               _t(time(0)), _out(out), _msg(msg), _verbose(verbose) { }
+
+       /// Optionally print message
+       ~Timer() {
+               if(_verbose) write(_out);
+       }
+       
+       /// Return elapsed time since Timer object was created
+       time_t elapsed() const {
+               return time(0) - _t;
+       }
+       
+       void write(ostream& out) {
+               time_t passed = elapsed();
+               // Print the message supplied at construction time followed
+               // by time elapsed formatted HH:MM:SS 
+               unsigned int hours   = (passed / 60) / 60;
+               unsigned int minutes = (passed / 60) % 60;
+               unsigned int seconds = (passed % 60);
+               out << _msg << setfill ('0') << setw (2) << hours << ":"
+                           << setfill ('0') << setw (2) << minutes << ":"
+                           << setfill ('0') << setw (2) << seconds << endl;
+       }
+       
+private:
+       time_t      _t;
+       ostream&    _out;
+       const char *_msg;
+       bool        _verbose;
+};
+
+static inline void logTime(std::ostream& os, bool nl = true) {
+       struct tm *current;
+       time_t now;
+       time(&now);
+       current = localtime(&now);
+       os << setfill('0') << setw(2)
+           << current->tm_hour << ":"
+           << setfill('0') << setw(2)
+           << current->tm_min << ":"
+           << setfill('0') << setw(2)
+           << current->tm_sec;
+       if(nl) os << std::endl;
+}
+
+#endif /*TIMER_H_*/
diff --git a/tokenize.h b/tokenize.h
new file mode 100644 (file)
index 0000000..605dd9f
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ * tokenize.h
+ *
+ *  Created on: Jul 21, 2009
+ *      Author: Ben Langmead
+ */
+
+#ifndef TOKENIZE_H_
+#define TOKENIZE_H_
+
+#include <string>
+#include <sstream>
+#include <vector>
+
+using namespace std;
+
+/**
+ * Split string s according to given delimiters.  Mostly borrowed
+ * from C++ Programming HOWTO 7.3.
+ */
+static inline void tokenize(const string& s,
+                            const string& delims,
+                            vector<string>& ss,
+                            size_t max = 9999)
+{
+       string::size_type lastPos = s.find_first_not_of(delims, 0);
+       string::size_type pos = s.find_first_of(delims, lastPos);
+       while (string::npos != pos || string::npos != lastPos) {
+               ss.push_back(s.substr(lastPos, pos - lastPos));
+               lastPos = s.find_first_not_of(delims, pos);
+               pos = s.find_first_of(delims, lastPos);
+               if(ss.size() == (max - 1)) {
+                       pos = string::npos;
+               }
+       }
+}
+
+static inline void tokenize(
+       const std::string& s,
+    char delim,
+    std::vector<std::string>& ss)
+{
+       std::string token;
+       std::istringstream iss(s);
+       while(getline(iss, token, delim)) {
+               ss.push_back(token);
+       }
+}
+
+#endif /*TOKENIZE_H_*/
diff --git a/word_io.h b/word_io.h
new file mode 100644 (file)
index 0000000..7e58422
--- /dev/null
+++ b/word_io.h
@@ -0,0 +1,142 @@
+#ifndef WORD_IO_H_
+#define WORD_IO_H_
+
+#include <stdint.h>
+#include <iostream>
+#include <fstream>
+#include "assert_helpers.h"
+#include "endian_swap.h"
+
+/**
+ * Write a 32-bit unsigned to an output stream being careful to
+ * re-endianize if caller-requested endianness differs from current
+ * host.
+ */
+static inline void writeU32(std::ostream& out, uint32_t x, bool toBigEndian) {
+       uint32_t y = endianizeU32(x, toBigEndian);
+       out.write((const char*)&y, 4);
+}
+
+/**
+ * Write a 32-bit unsigned to an output stream using the native
+ * endianness.
+ */
+static inline void writeU32(std::ostream& out, uint32_t x) {
+       out.write((const char*)&x, 4);
+}
+
+/**
+ * Write a 32-bit signed int to an output stream being careful to
+ * re-endianize if caller-requested endianness differs from current
+ * host.
+ */
+static inline void writeI32(std::ostream& out, int32_t x, bool toBigEndian) {
+       int32_t y = endianizeI32(x, toBigEndian);
+       out.write((const char*)&y, 4);
+}
+
+/**
+ * Write a 32-bit unsigned to an output stream using the native
+ * endianness.
+ */
+static inline void writeI32(std::ostream& out, int32_t x) {
+       out.write((const char*)&x, 4);
+}
+
+/**
+ * Read a 32-bit unsigned from an input stream, inverting endianness
+ * if necessary.
+ */
+static inline uint32_t readU32(std::istream& in, bool swap) {
+       uint32_t x;
+       in.read((char *)&x, 4);
+       assert_eq(4, in.gcount());
+       if(swap) {
+               return endianSwapU32(x);
+       } else {
+               return x;
+       }
+}
+
+/**
+ * Read a 32-bit unsigned from a file descriptor, optionally inverting
+ * endianness.
+ */
+static inline uint32_t readU32(int in, bool swap) {
+       uint32_t x;
+       if(read(in, (void *)&x, 4) != 4) {
+               assert(false);
+       }
+       if(swap) {
+               return endianSwapU32(x);
+       } else {
+               return x;
+       }
+}
+
+/**
+ * Read a 32-bit unsigned from a FILE*, optionally inverting
+ * endianness.
+ */
+static inline uint32_t readU32(FILE* in, bool swap) {
+       uint32_t x;
+       if(fread((void *)&x, 1, 4, in) != 4) {
+               assert(false);
+       }
+       if(swap) {
+               return endianSwapU32(x);
+       } else {
+               return x;
+       }
+}
+
+
+/**
+ * Read a 32-bit signed from an input stream, inverting endianness
+ * if necessary.
+ */
+static inline int32_t readI32(std::istream& in, bool swap) {
+       int32_t x;
+       in.read((char *)&x, 4);
+       assert_eq(4, in.gcount());
+       if(swap) {
+               return endianSwapI32(x);
+       } else {
+               return x;
+       }
+}
+
+/**
+ * Read a 32-bit unsigned from a file descriptor, optionally inverting
+ * endianness.
+ */
+static inline uint32_t readI32(int in, bool swap) {
+       int32_t x;
+       if(read(in, (void *)&x, 4) != 4) {
+               assert(false);
+       }
+       if(swap) {
+               return endianSwapI32(x);
+       } else {
+               return x;
+       }
+}
+
+/**
+ * Read a 32-bit unsigned from a FILE*, optionally inverting
+ * endianness.
+ */
+static inline uint32_t readI32(FILE* in, bool swap) {
+       int32_t x;
+       if(fread((void *)&x, 1, 4, in) != 4) {
+               assert(false);
+       }
+       if(swap) {
+               return endianSwapI32(x);
+       } else {
+               return x;
+       }
+}
+
+
+#endif /*WORD_IO_H_*/
diff --git a/zbox.h b/zbox.h
new file mode 100644 (file)
index 0000000..6f175dd
--- /dev/null
+++ b/zbox.h
@@ -0,0 +1,76 @@
+#ifndef ZBOX_H_
+#define ZBOX_H_
+
+/**
+ * Fill z with Z-box information for s.  String z will not be resized
+ * and will only be filled up to its size cap.  This is the linear-time
+ * algorithm from Gusfield.  An optional sanity-check uses a naive
+ * algorithm to double-check results.
+ */
+template<typename T>
+void calcZ(const T& s,
+           uint32_t off,
+           String<uint32_t>& z,
+           bool verbose = false,
+           bool sanityCheck = false)
+{
+       size_t lCur = 0, rCur = 0;
+       size_t zlen = length(z);
+       size_t slen = length(s);
+       assert_gt(zlen, 0);
+       assert_eq(z[0], 0);
+       //assert_leq(zlen, slen);
+       for (size_t k = 1; k < zlen && k+off < slen; k++) {
+               assert_lt(lCur, k);
+               assert(z[lCur] == 0 || z[lCur] == rCur - lCur + 1);
+               if(k > rCur) {
+                       // compare starting at k with prefix starting at 0
+                       size_t ki = k;
+                       while(off+ki < length(s) && s[off+ki] == s[off+ki-k]) ki++;
+                       z[k] = ki - k;
+                       assert_lt(off+z[k], slen);
+                       if(z[k] > 0) {
+                               lCur = k;
+                               rCur = k + z[k] - 1;
+                       }
+               } else {
+                       // position k is contained in a Z-box
+                       size_t betaLen = rCur - k + 1;
+                       size_t kPrime = k - lCur;
+                       assert_eq(s[off+k], s[off+kPrime]);
+                       if(z[kPrime] < betaLen) {
+                               z[k] = z[kPrime];
+                               assert_lt(off+z[k], slen);
+                               // lCur, rCur unchanged
+                       } else if (z[kPrime] > 0) {
+                               int q = 0;
+                               while (off+q+rCur+1 < length(s) && s[off+q+rCur+1] == s[off+betaLen+q]) q++;
+                               z[k] = betaLen + q;
+                               assert_lt(off+z[k], slen);
+                               rCur = rCur + q;
+                               assert_geq(k, lCur);
+                               lCur = k;
+                       } else {
+                               z[k] = 0;
+                               assert_lt(off+z[k], slen);
+                               // lCur, rCur unchanged
+                       }
+               }
+       }
+#ifndef NDEBUG
+       if(sanityCheck) {
+               // Recalculate Z-boxes using naive quadratic-time algorithm and
+               // compare to linear-time result
+               assert_eq(0, z[0]);
+               for(size_t i = 1; i < length(z); i++) {
+                       size_t j;
+                       for(j = i; off+j < length(s); j++) {
+                               if(s[off+j] != s[off+j-i]) break;
+                       }
+                       assert_eq(j-i, z[i]);
+               }
+       }
+#endif
+}
+
+#endif /*ZBOX_H_*/